From xen-devel-bounces@lists.xen.org Tue May 01 06:41:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 06:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SP6kt-0002ab-6s; Tue, 01 May 2012 06:40:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SP6kr-0002aT-Hc
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 06:40:09 +0000
Received: from [193.109.254.147:5751] by server-3.bemta-14.messagelabs.com id
	40/63-23274-7458F9F4; Tue, 01 May 2012 06:40:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1335854406!7060702!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26030 invoked from network); 1 May 2012 06:40:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 06:40:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,508,1330905600"; d="scan'208";a="12216430"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 06:40:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 07:40:06 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SP6kn-0006OX-Q1;
	Tue, 01 May 2012 06:40:05 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SP6kn-0005wR-MA;
	Tue, 01 May 2012 07:40:05 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12767-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 07:40:05 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12767: tolerable trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12767 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12767/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)           broken pass in 12765
 test-amd64-amd64-pair        16 guest-start                 fail pass in 12765
 test-i386-i386-xl-win         7 windows-install             fail pass in 12765
 test-i386-i386-pv             3 host-install(3)  broken in 12765 pass in 12767
 test-amd64-amd64-pv           3 host-install(3)  broken in 12765 pass in 12767
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12765 pass in 12767

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-xl-credit2    3 host-install(3)              broken like 12765
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)        broken like 12765

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop            fail in 12765 never pass

version targeted for testing:
 xen                  9dda0efd8ce1
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 06:41:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 06:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SP6kt-0002ab-6s; Tue, 01 May 2012 06:40:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SP6kr-0002aT-Hc
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 06:40:09 +0000
Received: from [193.109.254.147:5751] by server-3.bemta-14.messagelabs.com id
	40/63-23274-7458F9F4; Tue, 01 May 2012 06:40:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1335854406!7060702!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26030 invoked from network); 1 May 2012 06:40:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 06:40:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,508,1330905600"; d="scan'208";a="12216430"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 06:40:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 07:40:06 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SP6kn-0006OX-Q1;
	Tue, 01 May 2012 06:40:05 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SP6kn-0005wR-MA;
	Tue, 01 May 2012 07:40:05 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12767-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 07:40:05 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12767: tolerable trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12767 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12767/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)           broken pass in 12765
 test-amd64-amd64-pair        16 guest-start                 fail pass in 12765
 test-i386-i386-xl-win         7 windows-install             fail pass in 12765
 test-i386-i386-pv             3 host-install(3)  broken in 12765 pass in 12767
 test-amd64-amd64-pv           3 host-install(3)  broken in 12765 pass in 12767
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12765 pass in 12767

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-xl-credit2    3 host-install(3)              broken like 12765
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)        broken like 12765

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop            fail in 12765 never pass

version targeted for testing:
 xen                  9dda0efd8ce1
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 10:29:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 10:29:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPAKS-0005JN-M9; Tue, 01 May 2012 10:29:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPAKR-0005JI-HA
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 10:29:07 +0000
Received: from [193.109.254.147:9562] by server-9.bemta-14.messagelabs.com id
	D0/34-05787-2FABF9F4; Tue, 01 May 2012 10:29:06 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1335868145!1425006!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10263 invoked from network); 1 May 2012 10:29:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 10:29:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,509,1330905600"; d="scan'208";a="12219493"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 10:29:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	11:29:05 +0100
Message-ID: <1335868144.6038.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 1 May 2012 11:29:04 +0100
In-Reply-To: <20120430093811.GC5414@redhat.com>
References: <20120429101019.GA21165@redhat.com>
	<20120430084319.GE15413@redhat.com> <20120430093811.GC5414@redhat.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-04-30 at 10:38 +0100, Michael S. Tsirkin wrote:
> On Mon, Apr 30, 2012 at 11:43:19AM +0300, Gleb Natapov wrote:
> > On Sun, Apr 29, 2012 at 01:10:21PM +0300, Michael S. Tsirkin wrote:
> > > The following makes 'x86info -r' dump kvm cpu ids
> > > (signature+features) when running in a vm.
> > > 
> > > On the guest we see the signature and the features:
> > > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > > 
> > > On the host it just adds a couple of zero lines:
> > > eax in: 0x40000000, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > eax in: 0x40000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > 
> > This is too KVM specific.
> 
> That's what I have. I scratch my own itch.
> 
> > Other hypervisors may use more cpuid leafs.
> 
> But not less so no harm's done.
> 
> > As far as I see Hyper-V uses 5 and use cpuid.0x40000000.eax as max cpuid
> > leaf available. Haven't checked Xen or VMWare.

Xen does the same, documentation in the Xen public interfaces header:
http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html.

If compat mode for another h/v is enabled then those leaves will appear
at 0x40000000 and Xen's will be bumped up, so a fully Xen aware set of
drivers (or detection routine, etc) should check at 0x100 intervals
until 0x40010000 for the appropriate signatures (I realise that the docs
are somewhat lacking in this regard, I should cook up a patch).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 10:29:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 10:29:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPAKS-0005JN-M9; Tue, 01 May 2012 10:29:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPAKR-0005JI-HA
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 10:29:07 +0000
Received: from [193.109.254.147:9562] by server-9.bemta-14.messagelabs.com id
	D0/34-05787-2FABF9F4; Tue, 01 May 2012 10:29:06 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1335868145!1425006!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10263 invoked from network); 1 May 2012 10:29:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 10:29:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,509,1330905600"; d="scan'208";a="12219493"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 10:29:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	11:29:05 +0100
Message-ID: <1335868144.6038.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 1 May 2012 11:29:04 +0100
In-Reply-To: <20120430093811.GC5414@redhat.com>
References: <20120429101019.GA21165@redhat.com>
	<20120430084319.GE15413@redhat.com> <20120430093811.GC5414@redhat.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-04-30 at 10:38 +0100, Michael S. Tsirkin wrote:
> On Mon, Apr 30, 2012 at 11:43:19AM +0300, Gleb Natapov wrote:
> > On Sun, Apr 29, 2012 at 01:10:21PM +0300, Michael S. Tsirkin wrote:
> > > The following makes 'x86info -r' dump kvm cpu ids
> > > (signature+features) when running in a vm.
> > > 
> > > On the guest we see the signature and the features:
> > > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > > 
> > > On the host it just adds a couple of zero lines:
> > > eax in: 0x40000000, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > eax in: 0x40000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > 
> > This is too KVM specific.
> 
> That's what I have. I scratch my own itch.
> 
> > Other hypervisors may use more cpuid leafs.
> 
> But not less so no harm's done.
> 
> > As far as I see Hyper-V uses 5 and use cpuid.0x40000000.eax as max cpuid
> > leaf available. Haven't checked Xen or VMWare.

Xen does the same, documentation in the Xen public interfaces header:
http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html.

If compat mode for another h/v is enabled then those leaves will appear
at 0x40000000 and Xen's will be bumped up, so a fully Xen aware set of
drivers (or detection routine, etc) should check at 0x100 intervals
until 0x40010000 for the appropriate signatures (I realise that the docs
are somewhat lacking in this regard, I should cook up a patch).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 10:51:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 10:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPAfI-0005WV-On; Tue, 01 May 2012 10:50:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SPAfH-0005WQ-Lf
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 10:50:39 +0000
Received: from [85.158.143.99:46976] by server-2.bemta-4.messagelabs.com id
	E1/AF-17550-EFFBF9F4; Tue, 01 May 2012 10:50:38 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1335869437!25653433!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE0MDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24048 invoked from network); 1 May 2012 10:50:38 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-216.messagelabs.com with SMTP;
	1 May 2012 10:50:38 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q41AoQrC028218
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 06:50:26 -0400
Received: from redhat.com (dhcp-4-60.tlv.redhat.com [10.35.4.60])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q41AoNPm026991; Tue, 1 May 2012 06:50:23 -0400
Date: Tue, 1 May 2012 13:50:32 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120501105032.GA6654@redhat.com>
References: <20120429101019.GA21165@redhat.com>
	<20120430084319.GE15413@redhat.com>
	<20120430093811.GC5414@redhat.com>
	<1335868144.6038.89.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335868144.6038.89.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 11:29:04AM +0100, Ian Campbell wrote:
> On Mon, 2012-04-30 at 10:38 +0100, Michael S. Tsirkin wrote:
> > On Mon, Apr 30, 2012 at 11:43:19AM +0300, Gleb Natapov wrote:
> > > On Sun, Apr 29, 2012 at 01:10:21PM +0300, Michael S. Tsirkin wrote:
> > > > The following makes 'x86info -r' dump kvm cpu ids
> > > > (signature+features) when running in a vm.
> > > > 
> > > > On the guest we see the signature and the features:
> > > > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > > > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > 
> > > > On the host it just adds a couple of zero lines:
> > > > eax in: 0x40000000, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > eax in: 0x40000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > 
> > > This is too KVM specific.
> > 
> > That's what I have. I scratch my own itch.
> > 
> > > Other hypervisors may use more cpuid leafs.
> > 
> > But not less so no harm's done.
> > 
> > > As far as I see Hyper-V uses 5 and use cpuid.0x40000000.eax as max cpuid
> > > leaf available. Haven't checked Xen or VMWare.
> 
> Xen does the same, documentation in the Xen public interfaces header:
> http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html.

So ack to my patch?

> If compat mode for another h/v is enabled then those leaves will appear
> at 0x40000000 and Xen's will be bumped up, so a fully Xen aware set of
> drivers (or detection routine, etc) should check at 0x100 intervals
> until 0x40010000 for the appropriate signatures (I realise that the docs
> are somewhat lacking in this regard, I should cook up a patch).
> 
> Ian.

How does guest know that the data at 0x40000100 makes sense?

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 10:51:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 10:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPAfI-0005WV-On; Tue, 01 May 2012 10:50:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SPAfH-0005WQ-Lf
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 10:50:39 +0000
Received: from [85.158.143.99:46976] by server-2.bemta-4.messagelabs.com id
	E1/AF-17550-EFFBF9F4; Tue, 01 May 2012 10:50:38 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1335869437!25653433!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE0MDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24048 invoked from network); 1 May 2012 10:50:38 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-216.messagelabs.com with SMTP;
	1 May 2012 10:50:38 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q41AoQrC028218
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 06:50:26 -0400
Received: from redhat.com (dhcp-4-60.tlv.redhat.com [10.35.4.60])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q41AoNPm026991; Tue, 1 May 2012 06:50:23 -0400
Date: Tue, 1 May 2012 13:50:32 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120501105032.GA6654@redhat.com>
References: <20120429101019.GA21165@redhat.com>
	<20120430084319.GE15413@redhat.com>
	<20120430093811.GC5414@redhat.com>
	<1335868144.6038.89.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335868144.6038.89.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 11:29:04AM +0100, Ian Campbell wrote:
> On Mon, 2012-04-30 at 10:38 +0100, Michael S. Tsirkin wrote:
> > On Mon, Apr 30, 2012 at 11:43:19AM +0300, Gleb Natapov wrote:
> > > On Sun, Apr 29, 2012 at 01:10:21PM +0300, Michael S. Tsirkin wrote:
> > > > The following makes 'x86info -r' dump kvm cpu ids
> > > > (signature+features) when running in a vm.
> > > > 
> > > > On the guest we see the signature and the features:
> > > > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > > > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > 
> > > > On the host it just adds a couple of zero lines:
> > > > eax in: 0x40000000, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > eax in: 0x40000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > 
> > > This is too KVM specific.
> > 
> > That's what I have. I scratch my own itch.
> > 
> > > Other hypervisors may use more cpuid leafs.
> > 
> > But not less so no harm's done.
> > 
> > > As far as I see Hyper-V uses 5 and use cpuid.0x40000000.eax as max cpuid
> > > leaf available. Haven't checked Xen or VMWare.
> 
> Xen does the same, documentation in the Xen public interfaces header:
> http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html.

So ack to my patch?

> If compat mode for another h/v is enabled then those leaves will appear
> at 0x40000000 and Xen's will be bumped up, so a fully Xen aware set of
> drivers (or detection routine, etc) should check at 0x100 intervals
> until 0x40010000 for the appropriate signatures (I realise that the docs
> are somewhat lacking in this regard, I should cook up a patch).
> 
> Ian.

How does guest know that the data at 0x40000100 makes sense?

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 12:18:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 12:18:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPC1T-0006Ao-4j; Tue, 01 May 2012 12:17:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPC1S-0006Aj-HE
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:17:38 +0000
Received: from [85.158.143.35:53879] by server-1.bemta-4.messagelabs.com id
	F3/F0-20925-164DF9F4; Tue, 01 May 2012 12:17:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335874657!13735389!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7682 invoked from network); 1 May 2012 12:17:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 12:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330905600"; d="scan'208";a="12221118"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 12:17:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	13:17:16 +0100
Message-ID: <1335874635.6038.95.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 1 May 2012 13:17:15 +0100
In-Reply-To: <20120501105032.GA6654@redhat.com>
References: <20120429101019.GA21165@redhat.com>
	<20120430084319.GE15413@redhat.com> <20120430093811.GC5414@redhat.com>
	<1335868144.6038.89.camel@zakaz.uk.xensource.com>
	<20120501105032.GA6654@redhat.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-01 at 11:50 +0100, Michael S. Tsirkin wrote:
> On Tue, May 01, 2012 at 11:29:04AM +0100, Ian Campbell wrote:
> > On Mon, 2012-04-30 at 10:38 +0100, Michael S. Tsirkin wrote:
> > > On Mon, Apr 30, 2012 at 11:43:19AM +0300, Gleb Natapov wrote:
> > > > On Sun, Apr 29, 2012 at 01:10:21PM +0300, Michael S. Tsirkin wrote:
> > > > > The following makes 'x86info -r' dump kvm cpu ids
> > > > > (signature+features) when running in a vm.
> > > > > 
> > > > > On the guest we see the signature and the features:
> > > > > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > > > > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > > 
> > > > > On the host it just adds a couple of zero lines:
> > > > > eax in: 0x40000000, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > > eax in: 0x40000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > > 
> > > > This is too KVM specific.
> > > 
> > > That's what I have. I scratch my own itch.
> > > 
> > > > Other hypervisors may use more cpuid leafs.
> > > 
> > > But not less so no harm's done.
> > > 
> > > > As far as I see Hyper-V uses 5 and use cpuid.0x40000000.eax as max cpuid
> > > > leaf available. Haven't checked Xen or VMWare.
> > 
> > Xen does the same, documentation in the Xen public interfaces header:
> > http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html.
> 
> So ack to my patch?

I didn't see the patch, where should I be looking?

> > If compat mode for another h/v is enabled then those leaves will appear
> > at 0x40000000 and Xen's will be bumped up, so a fully Xen aware set of
> > drivers (or detection routine, etc) should check at 0x100 intervals
> > until 0x40010000 for the appropriate signatures (I realise that the docs
> > are somewhat lacking in this regard, I should cook up a patch).
> > 
> > Ian.
> 
> How does guest know that the data at 0x40000100 makes sense?

http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html
EBX, ECX and EDX contain a signature "XenVMMXenVMM". I'm fairly certain
that hyperv has it's own magic number here.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 12:18:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 12:18:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPC1T-0006Ao-4j; Tue, 01 May 2012 12:17:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPC1S-0006Aj-HE
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:17:38 +0000
Received: from [85.158.143.35:53879] by server-1.bemta-4.messagelabs.com id
	F3/F0-20925-164DF9F4; Tue, 01 May 2012 12:17:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335874657!13735389!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7682 invoked from network); 1 May 2012 12:17:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 12:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330905600"; d="scan'208";a="12221118"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 12:17:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	13:17:16 +0100
Message-ID: <1335874635.6038.95.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 1 May 2012 13:17:15 +0100
In-Reply-To: <20120501105032.GA6654@redhat.com>
References: <20120429101019.GA21165@redhat.com>
	<20120430084319.GE15413@redhat.com> <20120430093811.GC5414@redhat.com>
	<1335868144.6038.89.camel@zakaz.uk.xensource.com>
	<20120501105032.GA6654@redhat.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-01 at 11:50 +0100, Michael S. Tsirkin wrote:
> On Tue, May 01, 2012 at 11:29:04AM +0100, Ian Campbell wrote:
> > On Mon, 2012-04-30 at 10:38 +0100, Michael S. Tsirkin wrote:
> > > On Mon, Apr 30, 2012 at 11:43:19AM +0300, Gleb Natapov wrote:
> > > > On Sun, Apr 29, 2012 at 01:10:21PM +0300, Michael S. Tsirkin wrote:
> > > > > The following makes 'x86info -r' dump kvm cpu ids
> > > > > (signature+features) when running in a vm.
> > > > > 
> > > > > On the guest we see the signature and the features:
> > > > > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > > > > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > > 
> > > > > On the host it just adds a couple of zero lines:
> > > > > eax in: 0x40000000, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > > eax in: 0x40000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > > > 
> > > > This is too KVM specific.
> > > 
> > > That's what I have. I scratch my own itch.
> > > 
> > > > Other hypervisors may use more cpuid leafs.
> > > 
> > > But not less so no harm's done.
> > > 
> > > > As far as I see Hyper-V uses 5 and use cpuid.0x40000000.eax as max cpuid
> > > > leaf available. Haven't checked Xen or VMWare.
> > 
> > Xen does the same, documentation in the Xen public interfaces header:
> > http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html.
> 
> So ack to my patch?

I didn't see the patch, where should I be looking?

> > If compat mode for another h/v is enabled then those leaves will appear
> > at 0x40000000 and Xen's will be bumped up, so a fully Xen aware set of
> > drivers (or detection routine, etc) should check at 0x100 intervals
> > until 0x40010000 for the appropriate signatures (I realise that the docs
> > are somewhat lacking in this regard, I should cook up a patch).
> > 
> > Ian.
> 
> How does guest know that the data at 0x40000100 makes sense?

http://xenbits.xen.org/docs/unstable/hypercall/include,public,arch-x86,cpuid.h.html
EBX, ECX and EDX contain a signature "XenVMMXenVMM". I'm fairly certain
that hyperv has it's own magic number here.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 12:28:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 12:28:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPCAt-0006Kv-Au; Tue, 01 May 2012 12:27:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ijc@hellion.org.uk>) id 1SPCAr-0006Kq-Nm
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:27:21 +0000
Received: from [85.158.143.99:50933] by server-3.bemta-4.messagelabs.com id
	2D/CF-05853-9A6DF9F4; Tue, 01 May 2012 12:27:21 +0000
X-Env-Sender: ijc@hellion.org.uk
X-Msg-Ref: server-12.tower-216.messagelabs.com!1335875240!20749180!1
X-Originating-IP: [80.68.92.230]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6452 invoked from network); 1 May 2012 12:27:20 -0000
Received: from aaar.vm.bytemark.co.uk (HELO aaar.vm.bytemark.co.uk)
	(80.68.92.230) by server-12.tower-216.messagelabs.com with SMTP;
	1 May 2012 12:27:20 -0000
Received: from localhost (unknown [127.0.0.1])
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 39216148710;
	Tue,  1 May 2012 12:27:16 +0000 (UTC)
Received: from aaar.vm.bytemark.co.uk ([127.0.0.1])
	by localhost (aaar.vm.bytemark.co.uk [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id Qc4JUjM5MwMs; Tue,  1 May 2012 13:27:14 +0100 (BST)
Received: from hopkins.hellion.org.uk
	(cpc22-cmbg14-2-0-cust482.5-4.cable.virginmedia.com [86.6.25.227])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id D041A1407F8;
	Tue,  1 May 2012 13:27:14 +0100 (BST)
Received: from firewall.ctxuk.citrix.com ([62.200.22.2] helo=[10.80.2.42])
	by hopkins.hellion.org.uk with esmtpsa (SSL3.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <ijc@hellion.org.uk>)
	id 1SPCAh-0006Af-I8; Tue, 01 May 2012 13:27:14 +0100
Message-ID: <1335875225.6038.98.camel@zakaz.uk.xensource.com>
From: Ian Campbell <ijc@hellion.org.uk>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 01 May 2012 13:27:05 +0100
In-Reply-To: <20120430143835.GA10190@redhat.com>
References: <20120430143835.GA10190@redhat.com>
X-Mailer: Evolution 3.2.2-1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 62.200.22.2
X-SA-Exim-Mail-From: ijc@hellion.org.uk
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on hopkins.hellion.org.uk)
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-04-30 at 17:38 +0300, Michael S. Tsirkin wrote:
> The following makes 'x86info -r' dump hypervisor leaf cpu ids
> (for kvm this is signature+features) when running in a vm.
> 
> On the guest we see the signature and the features:
> eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> 
> Hypervisor flag is checked to avoid output changes when not
> running on a VM.
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Changes from v1:
> 	Make work on non KVM hypervisors (only KVM was tested).
> 	Avi Kivity said kvm will in the future report
> 	max HV leaf in eax. For now it reports eax = 0
>         so add a work around for that.
> 
> ---
> 
> diff --git a/identify.c b/identify.c
> index 33f35de..a4a3763 100644
> --- a/identify.c
> +++ b/identify.c
> @@ -9,8 +9,8 @@
>  
>  void get_cpu_info_basics(struct cpudata *cpu)
>  {
> -	unsigned int maxi, maxei, vendor, address_bits;
> -	unsigned int eax;
> +	unsigned int maxi, maxei, maxhv, vendor, address_bits;
> +	unsigned int eax, ebx, ecx;
>  
>  	cpuid(cpu->number, 0, &maxi, &vendor, NULL, NULL);
>  	maxi &= 0xffff;		/* The high-order word is non-zero on some Cyrix CPUs */
> @@ -19,7 +19,7 @@ void get_cpu_info_basics(struct cpudata *cpu)
>  		return;
>  
>  	/* Everything that supports cpuid supports these. */
> -	cpuid(cpu->number, 1, &eax, NULL, NULL, NULL);
> +	cpuid(cpu->number, 1, &eax, &ebx, &ecx, NULL);

You probably want to check ebx, ecx, edx for the signatures of the
hypervisor's you are willing to support and which you know do something
sane with eax? Also it would be something worth reporting in its own
right?

BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
a signature too 'KVMKVMKVM'.

>  	cpu->stepping = eax & 0xf;
>  	cpu->model = (eax >> 4) & 0xf;
>  	cpu->family = (eax >> 8) & 0xf;
> @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
>  
>  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
>  	cpu->maxei2 = maxei;
> +	if (ecx & 0x80000000) {
> +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> +		/*
> +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> +		 * where it really means 0x40000001.

This is something where I definitely think you want to check the
signature first.

Ian.

> +		 * Most (all?) hypervisors have at least one CPUID besides
> +		 * the vendor ID so assume that.
> +		 */
> +		cpu->maxhv = maxhv ? maxhv : 0x40000001;
> +	} else {
> +		/* Suppress hypervisor cpuid unless running on a hypervisor */
> +		cpu->maxhv = 0;
> +	}
>  
>  	cpuid(cpu->number, 0x80000008,&address_bits, NULL, NULL, NULL);
>  	cpu->phyaddr_bits = address_bits & 0xFF;
> diff --git a/x86info.c b/x86info.c
> index 22c4734..80cae36 100644
> --- a/x86info.c
> +++ b/x86info.c
> @@ -44,6 +44,10 @@ static void display_detailed_info(struct cpudata *cpu)
>  
>  		if (cpu->maxei2 >=0xC0000000)
>  			dump_raw_cpuid(cpu->number, 0xC0000000, cpu->maxei2);
> +
> +		if (cpu->maxhv >= 0x40000000)
> +			dump_raw_cpuid(cpu->number, 0x40000000, cpu->maxhv);
> +
>  	}
>  
>  	if (show_cacheinfo) {
> diff --git a/x86info.h b/x86info.h
> index 7d2a455..c4f5d81 100644
> --- a/x86info.h
> +++ b/x86info.h
> @@ -84,7 +84,7 @@ struct cpudata {
>  	unsigned int cachesize_trace;
>  	unsigned int phyaddr_bits;
>  	unsigned int viraddr_bits;
> -	unsigned int cpuid_level, maxei, maxei2;
> +	unsigned int cpuid_level, maxei, maxei2, maxhv;
>  	char name[CPU_NAME_LEN];
>  	enum connector connector;
>  	unsigned int flags_ecx;
> _______________________________________________
> Virtualization mailing list
> Virtualization@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/virtualization
> 

-- 
Ian Campbell

Your own qualities will help prevent your advancement in the world.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 12:28:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 12:28:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPCAt-0006Kv-Au; Tue, 01 May 2012 12:27:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ijc@hellion.org.uk>) id 1SPCAr-0006Kq-Nm
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:27:21 +0000
Received: from [85.158.143.99:50933] by server-3.bemta-4.messagelabs.com id
	2D/CF-05853-9A6DF9F4; Tue, 01 May 2012 12:27:21 +0000
X-Env-Sender: ijc@hellion.org.uk
X-Msg-Ref: server-12.tower-216.messagelabs.com!1335875240!20749180!1
X-Originating-IP: [80.68.92.230]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6452 invoked from network); 1 May 2012 12:27:20 -0000
Received: from aaar.vm.bytemark.co.uk (HELO aaar.vm.bytemark.co.uk)
	(80.68.92.230) by server-12.tower-216.messagelabs.com with SMTP;
	1 May 2012 12:27:20 -0000
Received: from localhost (unknown [127.0.0.1])
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 39216148710;
	Tue,  1 May 2012 12:27:16 +0000 (UTC)
Received: from aaar.vm.bytemark.co.uk ([127.0.0.1])
	by localhost (aaar.vm.bytemark.co.uk [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id Qc4JUjM5MwMs; Tue,  1 May 2012 13:27:14 +0100 (BST)
Received: from hopkins.hellion.org.uk
	(cpc22-cmbg14-2-0-cust482.5-4.cable.virginmedia.com [86.6.25.227])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id D041A1407F8;
	Tue,  1 May 2012 13:27:14 +0100 (BST)
Received: from firewall.ctxuk.citrix.com ([62.200.22.2] helo=[10.80.2.42])
	by hopkins.hellion.org.uk with esmtpsa (SSL3.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <ijc@hellion.org.uk>)
	id 1SPCAh-0006Af-I8; Tue, 01 May 2012 13:27:14 +0100
Message-ID: <1335875225.6038.98.camel@zakaz.uk.xensource.com>
From: Ian Campbell <ijc@hellion.org.uk>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 01 May 2012 13:27:05 +0100
In-Reply-To: <20120430143835.GA10190@redhat.com>
References: <20120430143835.GA10190@redhat.com>
X-Mailer: Evolution 3.2.2-1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 62.200.22.2
X-SA-Exim-Mail-From: ijc@hellion.org.uk
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on hopkins.hellion.org.uk)
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-04-30 at 17:38 +0300, Michael S. Tsirkin wrote:
> The following makes 'x86info -r' dump hypervisor leaf cpu ids
> (for kvm this is signature+features) when running in a vm.
> 
> On the guest we see the signature and the features:
> eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> 
> Hypervisor flag is checked to avoid output changes when not
> running on a VM.
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Changes from v1:
> 	Make work on non KVM hypervisors (only KVM was tested).
> 	Avi Kivity said kvm will in the future report
> 	max HV leaf in eax. For now it reports eax = 0
>         so add a work around for that.
> 
> ---
> 
> diff --git a/identify.c b/identify.c
> index 33f35de..a4a3763 100644
> --- a/identify.c
> +++ b/identify.c
> @@ -9,8 +9,8 @@
>  
>  void get_cpu_info_basics(struct cpudata *cpu)
>  {
> -	unsigned int maxi, maxei, vendor, address_bits;
> -	unsigned int eax;
> +	unsigned int maxi, maxei, maxhv, vendor, address_bits;
> +	unsigned int eax, ebx, ecx;
>  
>  	cpuid(cpu->number, 0, &maxi, &vendor, NULL, NULL);
>  	maxi &= 0xffff;		/* The high-order word is non-zero on some Cyrix CPUs */
> @@ -19,7 +19,7 @@ void get_cpu_info_basics(struct cpudata *cpu)
>  		return;
>  
>  	/* Everything that supports cpuid supports these. */
> -	cpuid(cpu->number, 1, &eax, NULL, NULL, NULL);
> +	cpuid(cpu->number, 1, &eax, &ebx, &ecx, NULL);

You probably want to check ebx, ecx, edx for the signatures of the
hypervisor's you are willing to support and which you know do something
sane with eax? Also it would be something worth reporting in its own
right?

BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
a signature too 'KVMKVMKVM'.

>  	cpu->stepping = eax & 0xf;
>  	cpu->model = (eax >> 4) & 0xf;
>  	cpu->family = (eax >> 8) & 0xf;
> @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
>  
>  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
>  	cpu->maxei2 = maxei;
> +	if (ecx & 0x80000000) {
> +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> +		/*
> +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> +		 * where it really means 0x40000001.

This is something where I definitely think you want to check the
signature first.

Ian.

> +		 * Most (all?) hypervisors have at least one CPUID besides
> +		 * the vendor ID so assume that.
> +		 */
> +		cpu->maxhv = maxhv ? maxhv : 0x40000001;
> +	} else {
> +		/* Suppress hypervisor cpuid unless running on a hypervisor */
> +		cpu->maxhv = 0;
> +	}
>  
>  	cpuid(cpu->number, 0x80000008,&address_bits, NULL, NULL, NULL);
>  	cpu->phyaddr_bits = address_bits & 0xFF;
> diff --git a/x86info.c b/x86info.c
> index 22c4734..80cae36 100644
> --- a/x86info.c
> +++ b/x86info.c
> @@ -44,6 +44,10 @@ static void display_detailed_info(struct cpudata *cpu)
>  
>  		if (cpu->maxei2 >=0xC0000000)
>  			dump_raw_cpuid(cpu->number, 0xC0000000, cpu->maxei2);
> +
> +		if (cpu->maxhv >= 0x40000000)
> +			dump_raw_cpuid(cpu->number, 0x40000000, cpu->maxhv);
> +
>  	}
>  
>  	if (show_cacheinfo) {
> diff --git a/x86info.h b/x86info.h
> index 7d2a455..c4f5d81 100644
> --- a/x86info.h
> +++ b/x86info.h
> @@ -84,7 +84,7 @@ struct cpudata {
>  	unsigned int cachesize_trace;
>  	unsigned int phyaddr_bits;
>  	unsigned int viraddr_bits;
> -	unsigned int cpuid_level, maxei, maxei2;
> +	unsigned int cpuid_level, maxei, maxei2, maxhv;
>  	char name[CPU_NAME_LEN];
>  	enum connector connector;
>  	unsigned int flags_ecx;
> _______________________________________________
> Virtualization mailing list
> Virtualization@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/virtualization
> 

-- 
Ian Campbell

Your own qualities will help prevent your advancement in the world.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 12:36:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 12:36:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPCIb-0006W6-9H; Tue, 01 May 2012 12:35:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SPCIZ-0006W1-Sb
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:35:20 +0000
Received: from [85.158.138.51:60115] by server-11.bemta-3.messagelabs.com id
	C0/C3-18894-788DF9F4; Tue, 01 May 2012 12:35:19 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335875717!13634601!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE0MDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 741 invoked from network); 1 May 2012 12:35:18 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-13.tower-174.messagelabs.com with SMTP;
	1 May 2012 12:35:18 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q41CZAHx020386
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 08:35:10 -0400
Received: from redhat.com (dhcp-4-60.tlv.redhat.com [10.35.4.60])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q41CZ4xD021636; Tue, 1 May 2012 08:35:06 -0400
Date: Tue, 1 May 2012 15:35:13 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <ijc@hellion.org.uk>
Message-ID: <20120501123513.GA8019@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335875225.6038.98.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 01:27:05PM +0100, Ian Campbell wrote:
> On Mon, 2012-04-30 at 17:38 +0300, Michael S. Tsirkin wrote:
> > The following makes 'x86info -r' dump hypervisor leaf cpu ids
> > (for kvm this is signature+features) when running in a vm.
> > 
> > On the guest we see the signature and the features:
> > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > 
> > Hypervisor flag is checked to avoid output changes when not
> > running on a VM.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > 
> > Changes from v1:
> > 	Make work on non KVM hypervisors (only KVM was tested).
> > 	Avi Kivity said kvm will in the future report
> > 	max HV leaf in eax. For now it reports eax = 0
> >         so add a work around for that.
> > 
> > ---
> > 
> > diff --git a/identify.c b/identify.c
> > index 33f35de..a4a3763 100644
> > --- a/identify.c
> > +++ b/identify.c
> > @@ -9,8 +9,8 @@
> >  
> >  void get_cpu_info_basics(struct cpudata *cpu)
> >  {
> > -	unsigned int maxi, maxei, vendor, address_bits;
> > -	unsigned int eax;
> > +	unsigned int maxi, maxei, maxhv, vendor, address_bits;
> > +	unsigned int eax, ebx, ecx;
> >  
> >  	cpuid(cpu->number, 0, &maxi, &vendor, NULL, NULL);
> >  	maxi &= 0xffff;		/* The high-order word is non-zero on some Cyrix CPUs */
> > @@ -19,7 +19,7 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  		return;
> >  
> >  	/* Everything that supports cpuid supports these. */
> > -	cpuid(cpu->number, 1, &eax, NULL, NULL, NULL);
> > +	cpuid(cpu->number, 1, &eax, &ebx, &ecx, NULL);
> 
> You probably want to check ebx, ecx, edx for the signatures of the
> hypervisor's you are willing to support and which you know do something
> sane with eax?

Everyone puts the max leaf in eax - this is what hardware
CPUs do. So I think we can just interpret eax as such.
If someone wants to put broken info in cpuid,
send a patch to blacklist it.

> Also it would be something worth reporting in its own
> right?
> 
> BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> a signature too 'KVMKVMKVM'.
> 
> >  	cpu->stepping = eax & 0xf;
> >  	cpu->model = (eax >> 4) & 0xf;
> >  	cpu->family = (eax >> 8) & 0xf;
> > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  
> >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> >  	cpu->maxei2 = maxei;
> > +	if (ecx & 0x80000000) {
> > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > +		/*
> > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > +		 * where it really means 0x40000001.
> 
> This is something where I definitely think you want to check the
> signature first.
> 
> Ian.

kvm lets users change the signature.
But worst case we print one useless line.
Better than not printing something potentially useful.

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 12:36:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 12:36:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPCIb-0006W6-9H; Tue, 01 May 2012 12:35:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SPCIZ-0006W1-Sb
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:35:20 +0000
Received: from [85.158.138.51:60115] by server-11.bemta-3.messagelabs.com id
	C0/C3-18894-788DF9F4; Tue, 01 May 2012 12:35:19 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335875717!13634601!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE0MDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 741 invoked from network); 1 May 2012 12:35:18 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-13.tower-174.messagelabs.com with SMTP;
	1 May 2012 12:35:18 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q41CZAHx020386
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 08:35:10 -0400
Received: from redhat.com (dhcp-4-60.tlv.redhat.com [10.35.4.60])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q41CZ4xD021636; Tue, 1 May 2012 08:35:06 -0400
Date: Tue, 1 May 2012 15:35:13 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <ijc@hellion.org.uk>
Message-ID: <20120501123513.GA8019@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335875225.6038.98.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 01:27:05PM +0100, Ian Campbell wrote:
> On Mon, 2012-04-30 at 17:38 +0300, Michael S. Tsirkin wrote:
> > The following makes 'x86info -r' dump hypervisor leaf cpu ids
> > (for kvm this is signature+features) when running in a vm.
> > 
> > On the guest we see the signature and the features:
> > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > 
> > Hypervisor flag is checked to avoid output changes when not
> > running on a VM.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > 
> > Changes from v1:
> > 	Make work on non KVM hypervisors (only KVM was tested).
> > 	Avi Kivity said kvm will in the future report
> > 	max HV leaf in eax. For now it reports eax = 0
> >         so add a work around for that.
> > 
> > ---
> > 
> > diff --git a/identify.c b/identify.c
> > index 33f35de..a4a3763 100644
> > --- a/identify.c
> > +++ b/identify.c
> > @@ -9,8 +9,8 @@
> >  
> >  void get_cpu_info_basics(struct cpudata *cpu)
> >  {
> > -	unsigned int maxi, maxei, vendor, address_bits;
> > -	unsigned int eax;
> > +	unsigned int maxi, maxei, maxhv, vendor, address_bits;
> > +	unsigned int eax, ebx, ecx;
> >  
> >  	cpuid(cpu->number, 0, &maxi, &vendor, NULL, NULL);
> >  	maxi &= 0xffff;		/* The high-order word is non-zero on some Cyrix CPUs */
> > @@ -19,7 +19,7 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  		return;
> >  
> >  	/* Everything that supports cpuid supports these. */
> > -	cpuid(cpu->number, 1, &eax, NULL, NULL, NULL);
> > +	cpuid(cpu->number, 1, &eax, &ebx, &ecx, NULL);
> 
> You probably want to check ebx, ecx, edx for the signatures of the
> hypervisor's you are willing to support and which you know do something
> sane with eax?

Everyone puts the max leaf in eax - this is what hardware
CPUs do. So I think we can just interpret eax as such.
If someone wants to put broken info in cpuid,
send a patch to blacklist it.

> Also it would be something worth reporting in its own
> right?
> 
> BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> a signature too 'KVMKVMKVM'.
> 
> >  	cpu->stepping = eax & 0xf;
> >  	cpu->model = (eax >> 4) & 0xf;
> >  	cpu->family = (eax >> 8) & 0xf;
> > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  
> >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> >  	cpu->maxei2 = maxei;
> > +	if (ecx & 0x80000000) {
> > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > +		/*
> > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > +		 * where it really means 0x40000001.
> 
> This is something where I definitely think you want to check the
> signature first.
> 
> Ian.

kvm lets users change the signature.
But worst case we print one useless line.
Better than not printing something potentially useful.

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:05:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:05:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPClE-0006uh-Iy; Tue, 01 May 2012 13:04:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gleb@redhat.com>) id 1SPClD-0006uc-6T
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 13:04:55 +0000
Received: from [85.158.143.99:47268] by server-3.bemta-4.messagelabs.com id
	CE/F4-05853-67FDF9F4; Tue, 01 May 2012 13:04:54 +0000
X-Env-Sender: gleb@redhat.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1335877475!16370936!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE0MDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25918 invoked from network); 1 May 2012 13:04:36 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-14.tower-216.messagelabs.com with SMTP;
	1 May 2012 13:04:36 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q41D4LIf008180
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 09:04:21 -0400
Received: from dhcp-1-237.tlv.redhat.com (dhcp-4-26.tlv.redhat.com
	[10.35.4.26])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q41D4K22016265; Tue, 1 May 2012 09:04:20 -0400
Received: by dhcp-1-237.tlv.redhat.com (Postfix, from userid 13519)
	id 03C8B18D495; Tue,  1 May 2012 16:04:19 +0300 (IDT)
Date: Tue, 1 May 2012 16:04:19 +0300
From: Gleb Natapov <gleb@redhat.com>
To: Ian Campbell <ijc@hellion.org.uk>
Message-ID: <20120501130419.GJ22191@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335875225.6038.98.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 01:27:05PM +0100, Ian Campbell wrote:
> On Mon, 2012-04-30 at 17:38 +0300, Michael S. Tsirkin wrote:
> > The following makes 'x86info -r' dump hypervisor leaf cpu ids
> > (for kvm this is signature+features) when running in a vm.
> > 
> > On the guest we see the signature and the features:
> > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > 
> > Hypervisor flag is checked to avoid output changes when not
> > running on a VM.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > 
> > Changes from v1:
> > 	Make work on non KVM hypervisors (only KVM was tested).
> > 	Avi Kivity said kvm will in the future report
> > 	max HV leaf in eax. For now it reports eax = 0
> >         so add a work around for that.
> > 
> > ---
> > 
> > diff --git a/identify.c b/identify.c
> > index 33f35de..a4a3763 100644
> > --- a/identify.c
> > +++ b/identify.c
> > @@ -9,8 +9,8 @@
> >  
> >  void get_cpu_info_basics(struct cpudata *cpu)
> >  {
> > -	unsigned int maxi, maxei, vendor, address_bits;
> > -	unsigned int eax;
> > +	unsigned int maxi, maxei, maxhv, vendor, address_bits;
> > +	unsigned int eax, ebx, ecx;
> >  
> >  	cpuid(cpu->number, 0, &maxi, &vendor, NULL, NULL);
> >  	maxi &= 0xffff;		/* The high-order word is non-zero on some Cyrix CPUs */
> > @@ -19,7 +19,7 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  		return;
> >  
> >  	/* Everything that supports cpuid supports these. */
> > -	cpuid(cpu->number, 1, &eax, NULL, NULL, NULL);
> > +	cpuid(cpu->number, 1, &eax, &ebx, &ecx, NULL);
> 
> You probably want to check ebx, ecx, edx for the signatures of the
> hypervisor's you are willing to support and which you know do something
> sane with eax? Also it would be something worth reporting in its own
> right?
> 
Yes, but this is for -r option which only dumps raw cpuid info.
Decoding hypervisor specific info is useful thing, but should not be
pre-request for that patch.

> BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> a signature too 'KVMKVMKVM'.
> 
> >  	cpu->stepping = eax & 0xf;
> >  	cpu->model = (eax >> 4) & 0xf;
> >  	cpu->family = (eax >> 8) & 0xf;
> > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  
> >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> >  	cpu->maxei2 = maxei;
> > +	if (ecx & 0x80000000) {
> > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > +		/*
> > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > +		 * where it really means 0x40000001.
> 
> This is something where I definitely think you want to check the
> signature first.
In theory yes, but in practice what will this break?

> 
> Ian.
> 
> > +		 * Most (all?) hypervisors have at least one CPUID besides
> > +		 * the vendor ID so assume that.
> > +		 */
> > +		cpu->maxhv = maxhv ? maxhv : 0x40000001;
> > +	} else {
> > +		/* Suppress hypervisor cpuid unless running on a hypervisor */
> > +		cpu->maxhv = 0;
> > +	}
> >  
> >  	cpuid(cpu->number, 0x80000008,&address_bits, NULL, NULL, NULL);
> >  	cpu->phyaddr_bits = address_bits & 0xFF;
> > diff --git a/x86info.c b/x86info.c
> > index 22c4734..80cae36 100644
> > --- a/x86info.c
> > +++ b/x86info.c
> > @@ -44,6 +44,10 @@ static void display_detailed_info(struct cpudata *cpu)
> >  
> >  		if (cpu->maxei2 >=0xC0000000)
> >  			dump_raw_cpuid(cpu->number, 0xC0000000, cpu->maxei2);
> > +
> > +		if (cpu->maxhv >= 0x40000000)
> > +			dump_raw_cpuid(cpu->number, 0x40000000, cpu->maxhv);
> > +
> >  	}
> >  
> >  	if (show_cacheinfo) {
> > diff --git a/x86info.h b/x86info.h
> > index 7d2a455..c4f5d81 100644
> > --- a/x86info.h
> > +++ b/x86info.h
> > @@ -84,7 +84,7 @@ struct cpudata {
> >  	unsigned int cachesize_trace;
> >  	unsigned int phyaddr_bits;
> >  	unsigned int viraddr_bits;
> > -	unsigned int cpuid_level, maxei, maxei2;
> > +	unsigned int cpuid_level, maxei, maxei2, maxhv;
> >  	char name[CPU_NAME_LEN];
> >  	enum connector connector;
> >  	unsigned int flags_ecx;
> > _______________________________________________
> > Virtualization mailing list
> > Virtualization@lists.linux-foundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/virtualization
> > 
> 
> -- 
> Ian Campbell
> 
> Your own qualities will help prevent your advancement in the world.
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
			Gleb.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:05:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:05:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPClE-0006uh-Iy; Tue, 01 May 2012 13:04:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gleb@redhat.com>) id 1SPClD-0006uc-6T
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 13:04:55 +0000
Received: from [85.158.143.99:47268] by server-3.bemta-4.messagelabs.com id
	CE/F4-05853-67FDF9F4; Tue, 01 May 2012 13:04:54 +0000
X-Env-Sender: gleb@redhat.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1335877475!16370936!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE0MDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25918 invoked from network); 1 May 2012 13:04:36 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-14.tower-216.messagelabs.com with SMTP;
	1 May 2012 13:04:36 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q41D4LIf008180
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 09:04:21 -0400
Received: from dhcp-1-237.tlv.redhat.com (dhcp-4-26.tlv.redhat.com
	[10.35.4.26])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q41D4K22016265; Tue, 1 May 2012 09:04:20 -0400
Received: by dhcp-1-237.tlv.redhat.com (Postfix, from userid 13519)
	id 03C8B18D495; Tue,  1 May 2012 16:04:19 +0300 (IDT)
Date: Tue, 1 May 2012 16:04:19 +0300
From: Gleb Natapov <gleb@redhat.com>
To: Ian Campbell <ijc@hellion.org.uk>
Message-ID: <20120501130419.GJ22191@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335875225.6038.98.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 01:27:05PM +0100, Ian Campbell wrote:
> On Mon, 2012-04-30 at 17:38 +0300, Michael S. Tsirkin wrote:
> > The following makes 'x86info -r' dump hypervisor leaf cpu ids
> > (for kvm this is signature+features) when running in a vm.
> > 
> > On the guest we see the signature and the features:
> > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > 
> > Hypervisor flag is checked to avoid output changes when not
> > running on a VM.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > 
> > Changes from v1:
> > 	Make work on non KVM hypervisors (only KVM was tested).
> > 	Avi Kivity said kvm will in the future report
> > 	max HV leaf in eax. For now it reports eax = 0
> >         so add a work around for that.
> > 
> > ---
> > 
> > diff --git a/identify.c b/identify.c
> > index 33f35de..a4a3763 100644
> > --- a/identify.c
> > +++ b/identify.c
> > @@ -9,8 +9,8 @@
> >  
> >  void get_cpu_info_basics(struct cpudata *cpu)
> >  {
> > -	unsigned int maxi, maxei, vendor, address_bits;
> > -	unsigned int eax;
> > +	unsigned int maxi, maxei, maxhv, vendor, address_bits;
> > +	unsigned int eax, ebx, ecx;
> >  
> >  	cpuid(cpu->number, 0, &maxi, &vendor, NULL, NULL);
> >  	maxi &= 0xffff;		/* The high-order word is non-zero on some Cyrix CPUs */
> > @@ -19,7 +19,7 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  		return;
> >  
> >  	/* Everything that supports cpuid supports these. */
> > -	cpuid(cpu->number, 1, &eax, NULL, NULL, NULL);
> > +	cpuid(cpu->number, 1, &eax, &ebx, &ecx, NULL);
> 
> You probably want to check ebx, ecx, edx for the signatures of the
> hypervisor's you are willing to support and which you know do something
> sane with eax? Also it would be something worth reporting in its own
> right?
> 
Yes, but this is for -r option which only dumps raw cpuid info.
Decoding hypervisor specific info is useful thing, but should not be
pre-request for that patch.

> BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> a signature too 'KVMKVMKVM'.
> 
> >  	cpu->stepping = eax & 0xf;
> >  	cpu->model = (eax >> 4) & 0xf;
> >  	cpu->family = (eax >> 8) & 0xf;
> > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> >  
> >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> >  	cpu->maxei2 = maxei;
> > +	if (ecx & 0x80000000) {
> > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > +		/*
> > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > +		 * where it really means 0x40000001.
> 
> This is something where I definitely think you want to check the
> signature first.
In theory yes, but in practice what will this break?

> 
> Ian.
> 
> > +		 * Most (all?) hypervisors have at least one CPUID besides
> > +		 * the vendor ID so assume that.
> > +		 */
> > +		cpu->maxhv = maxhv ? maxhv : 0x40000001;
> > +	} else {
> > +		/* Suppress hypervisor cpuid unless running on a hypervisor */
> > +		cpu->maxhv = 0;
> > +	}
> >  
> >  	cpuid(cpu->number, 0x80000008,&address_bits, NULL, NULL, NULL);
> >  	cpu->phyaddr_bits = address_bits & 0xFF;
> > diff --git a/x86info.c b/x86info.c
> > index 22c4734..80cae36 100644
> > --- a/x86info.c
> > +++ b/x86info.c
> > @@ -44,6 +44,10 @@ static void display_detailed_info(struct cpudata *cpu)
> >  
> >  		if (cpu->maxei2 >=0xC0000000)
> >  			dump_raw_cpuid(cpu->number, 0xC0000000, cpu->maxei2);
> > +
> > +		if (cpu->maxhv >= 0x40000000)
> > +			dump_raw_cpuid(cpu->number, 0x40000000, cpu->maxhv);
> > +
> >  	}
> >  
> >  	if (show_cacheinfo) {
> > diff --git a/x86info.h b/x86info.h
> > index 7d2a455..c4f5d81 100644
> > --- a/x86info.h
> > +++ b/x86info.h
> > @@ -84,7 +84,7 @@ struct cpudata {
> >  	unsigned int cachesize_trace;
> >  	unsigned int phyaddr_bits;
> >  	unsigned int viraddr_bits;
> > -	unsigned int cpuid_level, maxei, maxei2;
> > +	unsigned int cpuid_level, maxei, maxei2, maxhv;
> >  	char name[CPU_NAME_LEN];
> >  	enum connector connector;
> >  	unsigned int flags_ecx;
> > _______________________________________________
> > Virtualization mailing list
> > Virtualization@lists.linux-foundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/virtualization
> > 
> 
> -- 
> Ian Campbell
> 
> Your own qualities will help prevent your advancement in the world.
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
			Gleb.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:19:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPCzA-00076O-2k; Tue, 01 May 2012 13:19:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SPCz8-00076J-I6
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:19:18 +0000
Received: from [193.109.254.147:30348] by server-4.bemta-14.messagelabs.com id
	55/7A-11570-5D2EF9F4; Tue, 01 May 2012 13:19:17 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335878356!282416!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22080 invoked from network); 1 May 2012 13:19:16 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:19:16 -0000
Received: by eeit10 with SMTP id t10so937709eei.32
	for <xen-devel@lists.xen.org>; Tue, 01 May 2012 06:19:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=Q9KLQR+hEAI7Mx/pMcTXg8eNP89fbU889cPFdVLhSnI=;
	b=SunlOy6HtpNlO8n1duAVT3ZDYFPdaDMqaarIsi43aZfFhXWWPUnfU31qQD8+1WgvWW
	VxhdeC0zfNFLS7H/HKXbYR5mzD45pbjmb2G2Zp+6OunRswUSNM6s45FqU0H00mVv5UuO
	4U97nrMVQwZOFt1m9XRyFJsIDVTSkmJOMXCJ/kir/0Dh5kdiYHmVE/BHuJXKceEUQ0zG
	nqde9/P/Ub+Y3ipXY7SaViROQN5cAU2j3L4uGaY0CkRlKR9ZOkO6FaWlD6e+98GmR5FL
	GITHQmUGp88uWOVggJAuwVm2HCxSdrpy0ZBYL6fE7HgztEHOKogvVQmz0SV+ocyGdonI
	+3jw==
Received: by 10.14.130.202 with SMTP id k50mr3278845eei.113.1335878355585;
	Tue, 01 May 2012 06:19:15 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id n56sm90797561eeb.4.2012.05.01.06.19.14
	(version=SSLv3 cipher=OTHER); Tue, 01 May 2012 06:19:15 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 01 May 2012 14:19:12 +0100
From: Keir Fraser <keir@xen.org>
To: Malcolm Crossley <malcolm.crossley@citrix.com>, <xen-devel@lists.xen.org>
Message-ID: <CBC5A160.3F784%keir@xen.org>
Thread-Topic: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
	releases
Thread-Index: Ac0nnP+VDYFinh8bFEa3dtC/G+tPOg==
In-Reply-To: <4F99617F.8000002@citrix.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
 releases
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 26/04/2012 15:53, "Malcolm Crossley" <malcolm.crossley@citrix.com> wrote:

> On 12/04/12 17:30, Ian Campbell wrote:
>> The time has come for another round of stable releases.
>> 
>> Please send (or resend) any outstanding backport requests for 4.0.4 and
>> 4.1.3 before Friday 20 April.
>> 
>> Note that 4.0.4 will likely be the last release in the 4.0.x branch.
>> 
>> Ian.
> Can 25242:b7ce6a88bebb, 24990:322300fd2ebd and 25058:f47d91cb0faa be
> backported to 4.0 and 4.1?

Done.

 -- Keir

> Thanks,
> 
> Malcolm
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:19:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPCzA-00076O-2k; Tue, 01 May 2012 13:19:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SPCz8-00076J-I6
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:19:18 +0000
Received: from [193.109.254.147:30348] by server-4.bemta-14.messagelabs.com id
	55/7A-11570-5D2EF9F4; Tue, 01 May 2012 13:19:17 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335878356!282416!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22080 invoked from network); 1 May 2012 13:19:16 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:19:16 -0000
Received: by eeit10 with SMTP id t10so937709eei.32
	for <xen-devel@lists.xen.org>; Tue, 01 May 2012 06:19:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=Q9KLQR+hEAI7Mx/pMcTXg8eNP89fbU889cPFdVLhSnI=;
	b=SunlOy6HtpNlO8n1duAVT3ZDYFPdaDMqaarIsi43aZfFhXWWPUnfU31qQD8+1WgvWW
	VxhdeC0zfNFLS7H/HKXbYR5mzD45pbjmb2G2Zp+6OunRswUSNM6s45FqU0H00mVv5UuO
	4U97nrMVQwZOFt1m9XRyFJsIDVTSkmJOMXCJ/kir/0Dh5kdiYHmVE/BHuJXKceEUQ0zG
	nqde9/P/Ub+Y3ipXY7SaViROQN5cAU2j3L4uGaY0CkRlKR9ZOkO6FaWlD6e+98GmR5FL
	GITHQmUGp88uWOVggJAuwVm2HCxSdrpy0ZBYL6fE7HgztEHOKogvVQmz0SV+ocyGdonI
	+3jw==
Received: by 10.14.130.202 with SMTP id k50mr3278845eei.113.1335878355585;
	Tue, 01 May 2012 06:19:15 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id n56sm90797561eeb.4.2012.05.01.06.19.14
	(version=SSLv3 cipher=OTHER); Tue, 01 May 2012 06:19:15 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 01 May 2012 14:19:12 +0100
From: Keir Fraser <keir@xen.org>
To: Malcolm Crossley <malcolm.crossley@citrix.com>, <xen-devel@lists.xen.org>
Message-ID: <CBC5A160.3F784%keir@xen.org>
Thread-Topic: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
	releases
Thread-Index: Ac0nnP+VDYFinh8bFEa3dtC/G+tPOg==
In-Reply-To: <4F99617F.8000002@citrix.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
 releases
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 26/04/2012 15:53, "Malcolm Crossley" <malcolm.crossley@citrix.com> wrote:

> On 12/04/12 17:30, Ian Campbell wrote:
>> The time has come for another round of stable releases.
>> 
>> Please send (or resend) any outstanding backport requests for 4.0.4 and
>> 4.1.3 before Friday 20 April.
>> 
>> Note that 4.0.4 will likely be the last release in the 4.0.x branch.
>> 
>> Ian.
> Can 25242:b7ce6a88bebb, 24990:322300fd2ebd and 25058:f47d91cb0faa be
> backported to 4.0 and 4.1?

Done.

 -- Keir

> Thanks,
> 
> Malcolm
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVn-0007Qj-Dr; Tue, 01 May 2012 13:53:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVm-0007Px-2K
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:02 +0000
Received: from [85.158.138.51:28429] by server-5.bemta-3.messagelabs.com id
	3F/07-17113-DBAEF9F4; Tue, 01 May 2012 13:53:01 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!5
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2365 invoked from network); 1 May 2012 13:53:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:53:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825480"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Hr;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:41 +0100
Message-ID: <1335880366-9873-3-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 2/7] vgabios: Does not define cur_mode if not
	required
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3fc786d..3d42216 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -761,7 +761,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
         Bit16u            status;
         Bit16u            result;
         Bit16u            vbe2_info;
+#ifdef DEBUG
         Bit16u            cur_mode=0;
+#endif
         Bit16u            cur_ptr=34;
         ModeInfoListItem  *cur_info=&mode_info_list;
         
@@ -849,9 +851,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                     (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
+                  cur_mode++;
 #endif
                   write_word(ES, DI + cur_ptr, cur_info->mode);
-                  cur_mode++;
                   cur_ptr+=2;
                 } else {
 #ifdef DEBUG
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVn-0007Qj-Dr; Tue, 01 May 2012 13:53:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVm-0007Px-2K
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:02 +0000
Received: from [85.158.138.51:28429] by server-5.bemta-3.messagelabs.com id
	3F/07-17113-DBAEF9F4; Tue, 01 May 2012 13:53:01 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!5
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2365 invoked from network); 1 May 2012 13:53:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:53:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825480"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Hr;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:41 +0100
Message-ID: <1335880366-9873-3-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 2/7] vgabios: Does not define cur_mode if not
	required
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3fc786d..3d42216 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -761,7 +761,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
         Bit16u            status;
         Bit16u            result;
         Bit16u            vbe2_info;
+#ifdef DEBUG
         Bit16u            cur_mode=0;
+#endif
         Bit16u            cur_ptr=34;
         ModeInfoListItem  *cur_info=&mode_info_list;
         
@@ -849,9 +851,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                     (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
+                  cur_mode++;
 #endif
                   write_word(ES, DI + cur_ptr, cur_info->mode);
-                  cur_mode++;
                   cur_ptr+=2;
                 } else {
 #ifdef DEBUG
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVn-0007QX-22; Tue, 01 May 2012 13:53:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVl-0007Pn-H7
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:01 +0000
Received: from [85.158.143.35:60252] by server-1.bemta-4.messagelabs.com id
	18/81-20925-CBAEF9F4; Tue, 01 May 2012 13:53:00 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335880378!13643321!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11558 invoked from network); 1 May 2012 13:52:59 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825478"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-JI;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:44 +0100
Message-ID: <1335880366-9873-6-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 5/7] vgabios: Reduce stack usage getting mode
	informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index fff314e..0b8b736 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -914,9 +914,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
         // error by default is 0x014f which means supported but error
         Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
-        ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
         Boolean           using_lfb;
+        ModeInfoBlockCompact   info;
 
 #ifdef DEBUG
         printf("VBE vbe_biosfn_return_mode_information ES%x DI%x CX%x\n",ES,DI,CX);
@@ -933,7 +933,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
-                memsetb(ss, &info, 0, sizeof(ModeInfoBlock));
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
@@ -950,6 +949,10 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 info.PhysBasePtr |= inw(VBE_DISPI_IOPORT_DATA);
 #endif 							
                 result = 0x4f;
+
+                // copy updates in mode_info_block back
+                memsetb(ES, DI, 0, sizeof(ModeInfoBlock));
+                memcpyb(ES, DI, ss, &info, sizeof(info));
         }
         else
         {
@@ -957,12 +960,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
         }
-        
-        if (result == 0x4f)
-        {
-                // copy updates in mode_info_block back
-                memcpyb(ES, DI, ss, &info, sizeof(info));
-        }
 
         write_word(ss, AX, result);
 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVm-0007QN-Ka; Tue, 01 May 2012 13:53:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVl-0007PN-1m
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:01 +0000
Received: from [85.158.138.51:28349] by server-11.bemta-3.messagelabs.com id
	1D/B2-18894-BBAEF9F4; Tue, 01 May 2012 13:52:59 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2284 invoked from network); 1 May 2012 13:52:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825477"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-IL;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:42 +0100
Message-ID: <1335880366-9873-4-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3d42216..35d9866 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -742,6 +742,29 @@ no_vbe_flag:
   jmp  _display_string
 ASM_END  
 
+ASM_START
+_size64:
+  push bp
+  mov  bp, sp
+  push dx
+
+; multiply bbp by yres first as results fit in 16bits
+; then multiply by xres
+  mov  ax, 8[bp]
+  mul  word 6[bp]
+  mul  word 4[bp]
+; divide by 2^19 ceiling result
+  add  ax, #0xffff
+  adc  dx, #7
+  mov  ax, dx
+  shr  ax, #3
+
+  pop  dx
+  pop  bp
+  ret
+ASM_END
+
+
 /** Function 00h - Return VBE Controller Information
  * 
  * Input:
@@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                 
         do
         {
+                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
+                Bit16u max_bpp = dispi_get_max_bpp();
+
                 if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
-                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
-                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
+                    (cur_info->info.BitsPerPixel <= max_bpp) &&
+                    (size_64k <= vbe_info_block.TotalMemory)) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
                   cur_mode++;
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVn-0007QX-22; Tue, 01 May 2012 13:53:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVl-0007Pn-H7
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:01 +0000
Received: from [85.158.143.35:60252] by server-1.bemta-4.messagelabs.com id
	18/81-20925-CBAEF9F4; Tue, 01 May 2012 13:53:00 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335880378!13643321!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11558 invoked from network); 1 May 2012 13:52:59 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825478"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-JI;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:44 +0100
Message-ID: <1335880366-9873-6-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 5/7] vgabios: Reduce stack usage getting mode
	informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index fff314e..0b8b736 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -914,9 +914,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
         // error by default is 0x014f which means supported but error
         Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
-        ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
         Boolean           using_lfb;
+        ModeInfoBlockCompact   info;
 
 #ifdef DEBUG
         printf("VBE vbe_biosfn_return_mode_information ES%x DI%x CX%x\n",ES,DI,CX);
@@ -933,7 +933,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
-                memsetb(ss, &info, 0, sizeof(ModeInfoBlock));
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
@@ -950,6 +949,10 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 info.PhysBasePtr |= inw(VBE_DISPI_IOPORT_DATA);
 #endif 							
                 result = 0x4f;
+
+                // copy updates in mode_info_block back
+                memsetb(ES, DI, 0, sizeof(ModeInfoBlock));
+                memcpyb(ES, DI, ss, &info, sizeof(info));
         }
         else
         {
@@ -957,12 +960,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
         }
-        
-        if (result == 0x4f)
-        {
-                // copy updates in mode_info_block back
-                memcpyb(ES, DI, ss, &info, sizeof(info));
-        }
 
         write_word(ss, AX, result);
 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVo-0007RC-Qk; Tue, 01 May 2012 13:53:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVn-0007QJ-1Z
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:03 +0000
Received: from [85.158.143.35:63248] by server-3.bemta-4.messagelabs.com id
	FB/6A-05853-EBAEF9F4; Tue, 01 May 2012 13:53:02 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335880379!13643323!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11642 invoked from network); 1 May 2012 13:53:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:53:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825482"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Kz;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:46 +0100
Message-ID: <1335880366-9873-8-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 7/7] vgabios: Make Windows 8 support greater
	resolutions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index a7b06b9..9131721 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -946,9 +946,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                     (size_64k > totalMemory))
                   info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
 
-                if (using_lfb) {
-                  info.NumberOfBanks = 1;
-                }
+                /* Windows 8 require this to be 1! */
+                info.NumberOfBanks = 1;
+
                 if (info.WinAAttributes & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) {
                   info.WinFuncPtr = 0xC0000000UL;
                   *(Bit16u *)&(info.WinFuncPtr) = (Bit16u)(dispi_set_bank_farcall);
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVm-0007QN-Ka; Tue, 01 May 2012 13:53:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVl-0007PN-1m
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:01 +0000
Received: from [85.158.138.51:28349] by server-11.bemta-3.messagelabs.com id
	1D/B2-18894-BBAEF9F4; Tue, 01 May 2012 13:52:59 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2284 invoked from network); 1 May 2012 13:52:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825477"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-IL;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:42 +0100
Message-ID: <1335880366-9873-4-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3d42216..35d9866 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -742,6 +742,29 @@ no_vbe_flag:
   jmp  _display_string
 ASM_END  
 
+ASM_START
+_size64:
+  push bp
+  mov  bp, sp
+  push dx
+
+; multiply bbp by yres first as results fit in 16bits
+; then multiply by xres
+  mov  ax, 8[bp]
+  mul  word 6[bp]
+  mul  word 4[bp]
+; divide by 2^19 ceiling result
+  add  ax, #0xffff
+  adc  dx, #7
+  mov  ax, dx
+  shr  ax, #3
+
+  pop  dx
+  pop  bp
+  ret
+ASM_END
+
+
 /** Function 00h - Return VBE Controller Information
  * 
  * Input:
@@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                 
         do
         {
+                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
+                Bit16u max_bpp = dispi_get_max_bpp();
+
                 if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
-                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
-                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
+                    (cur_info->info.BitsPerPixel <= max_bpp) &&
+                    (size_64k <= vbe_info_block.TotalMemory)) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
                   cur_mode++;
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVo-0007RC-Qk; Tue, 01 May 2012 13:53:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVn-0007QJ-1Z
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:03 +0000
Received: from [85.158.143.35:63248] by server-3.bemta-4.messagelabs.com id
	FB/6A-05853-EBAEF9F4; Tue, 01 May 2012 13:53:02 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335880379!13643323!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11642 invoked from network); 1 May 2012 13:53:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:53:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825482"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Kz;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:46 +0100
Message-ID: <1335880366-9873-8-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 7/7] vgabios: Make Windows 8 support greater
	resolutions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index a7b06b9..9131721 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -946,9 +946,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                     (size_64k > totalMemory))
                   info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
 
-                if (using_lfb) {
-                  info.NumberOfBanks = 1;
-                }
+                /* Windows 8 require this to be 1! */
+                info.NumberOfBanks = 1;
+
                 if (info.WinAAttributes & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) {
                   info.WinFuncPtr = 0xC0000000UL;
                   *(Bit16u *)&(info.WinFuncPtr) = (Bit16u)(dispi_set_bank_farcall);
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVk-0007PO-B3; Tue, 01 May 2012 13:53:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVi-0007PD-PC
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:52:58 +0000
Received: from [85.158.138.51:28142] by server-3.bemta-3.messagelabs.com id
	4D/9A-04048-9BAEF9F4; Tue, 01 May 2012 13:52:57 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2209 invoked from network); 1 May 2012 13:52:57 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825475"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Ff;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:39 +0100
Message-ID: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
MIME-Version: 1.0
Subject: [Xen-devel] VGABIOS patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Couple of patches to fix an overflow, optimize a bit and support bigger
resolutions using Windows 8.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVk-0007PO-B3; Tue, 01 May 2012 13:53:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVi-0007PD-PC
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:52:58 +0000
Received: from [85.158.138.51:28142] by server-3.bemta-3.messagelabs.com id
	4D/9A-04048-9BAEF9F4; Tue, 01 May 2012 13:52:57 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2209 invoked from network); 1 May 2012 13:52:57 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825475"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Ff;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:39 +0100
Message-ID: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
MIME-Version: 1.0
Subject: [Xen-devel] VGABIOS patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Couple of patches to fix an overflow, optimize a bit and support bigger
resolutions using Windows 8.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVm-0007Q9-8O; Tue, 01 May 2012 13:53:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVk-0007PE-GO
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:00 +0000
Received: from [85.158.138.51:28360] by server-1.bemta-3.messagelabs.com id
	5B/BC-11491-CBAEF9F4; Tue, 01 May 2012 13:53:00 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2344 invoked from network); 1 May 2012 13:52:59 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825479"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Io;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:43 +0100
Message-ID: <1335880366-9873-5-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 4/7] vgabios: Report mode not supported getting
	mode informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 35d9866..fff314e 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -911,7 +911,8 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
 void vbe_biosfn_return_mode_information(AX, CX, ES, DI)
 Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 {
-        Bit16u            result=0x0100;
+        // error by default is 0x014f which means supported but error
+        Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
         ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
@@ -955,7 +956,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
-                result = 0x100;
         }
         
         if (result == 0x4f)
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVm-0007Q9-8O; Tue, 01 May 2012 13:53:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVk-0007PE-GO
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:00 +0000
Received: from [85.158.138.51:28360] by server-1.bemta-3.messagelabs.com id
	5B/BC-11491-CBAEF9F4; Tue, 01 May 2012 13:53:00 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2344 invoked from network); 1 May 2012 13:52:59 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825479"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Io;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:43 +0100
Message-ID: <1335880366-9873-5-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 4/7] vgabios: Report mode not supported getting
	mode informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 35d9866..fff314e 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -911,7 +911,8 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
 void vbe_biosfn_return_mode_information(AX, CX, ES, DI)
 Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 {
-        Bit16u            result=0x0100;
+        // error by default is 0x014f which means supported but error
+        Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
         ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
@@ -955,7 +956,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
-                result = 0x100;
         }
         
         if (result == 0x4f)
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVp-0007RO-6t; Tue, 01 May 2012 13:53:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVn-0007Qg-Pq
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:03 +0000
Received: from [85.158.143.35:60330] by server-2.bemta-4.messagelabs.com id
	1A/28-17550-FBAEF9F4; Tue, 01 May 2012 13:53:03 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335880378!13643321!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11593 invoked from network); 1 May 2012 13:53:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:53:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825481"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Jk;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:45 +0100
Message-ID: <1335880366-9873-7-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 6/7] vgabios: Check if mode is currently
	supported as vesa specifications
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 0b8b736..a7b06b9 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -930,10 +930,22 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 
         if (cur_info != 0)
         {
+                Bit16u max_bpp = dispi_get_max_bpp();
+                Bit16u size_64k;
+                Bit16u totalMemory;
+
+                outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_VIDEO_MEMORY_64K);
+                totalMemory = inw(VBE_DISPI_IOPORT_DATA);
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
+                size_64k = size64(info.XResolution, info.YResolution, info.BitsPerPixel);
+                if ((info.XResolution > dispi_get_max_xres()) ||
+                    (info.BitsPerPixel > max_bpp) ||
+                    (size_64k > totalMemory))
+                  info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
+
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
                 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVp-0007RO-6t; Tue, 01 May 2012 13:53:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVn-0007Qg-Pq
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:53:03 +0000
Received: from [85.158.143.35:60330] by server-2.bemta-4.messagelabs.com id
	1A/28-17550-FBAEF9F4; Tue, 01 May 2012 13:53:03 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335880378!13643321!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11593 invoked from network); 1 May 2012 13:53:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:53:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825481"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:53 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-Jk;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:45 +0100
Message-ID: <1335880366-9873-7-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 6/7] vgabios: Check if mode is currently
	supported as vesa specifications
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 0b8b736..a7b06b9 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -930,10 +930,22 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 
         if (cur_info != 0)
         {
+                Bit16u max_bpp = dispi_get_max_bpp();
+                Bit16u size_64k;
+                Bit16u totalMemory;
+
+                outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_VIDEO_MEMORY_64K);
+                totalMemory = inw(VBE_DISPI_IOPORT_DATA);
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
+                size_64k = size64(info.XResolution, info.YResolution, info.BitsPerPixel);
+                if ((info.XResolution > dispi_get_max_xres()) ||
+                    (info.BitsPerPixel > max_bpp) ||
+                    (size_64k > totalMemory))
+                  info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
+
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
                 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVk-0007Ph-SB; Tue, 01 May 2012 13:53:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVj-0007PE-Jz
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:52:59 +0000
Received: from [85.158.138.51:28230] by server-1.bemta-3.messagelabs.com id
	29/AC-11491-ABAEF9F4; Tue, 01 May 2012 13:52:58 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2252 invoked from network); 1 May 2012 13:52:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825476"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-HP;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:40 +0100
Message-ID: <1335880366-9873-2-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port instead
	of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vgabios.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vgabios.c b/tools/firmware/vgabios/vgabios.c
index a9dbe00..e0b1ed9 100644
--- a/tools/firmware/vgabios/vgabios.c
+++ b/tools/firmware/vgabios/vgabios.c
@@ -3811,9 +3811,9 @@ void printf(s)
         for (i=0; i<format_width; i++) {
           nibble = (arg >> (4 * digit)) & 0x000f;
           if (nibble <= 9)
-            outb(0xe9, nibble + '0');
+            outb(0x12, nibble + '0');
           else
-            outb(0xe9, (nibble - 10) + 'A');
+            outb(0x12, (nibble - 10) + 'A');
           digit--;
           }
         in_format = 0;
@@ -3823,7 +3823,7 @@ void printf(s)
       //  }
       }
     else {
-      outb(0xe9, c);
+      outb(0x12, c);
       }
     s ++;
     }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 13:53:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 13:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDVk-0007Ph-SB; Tue, 01 May 2012 13:53:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SPDVj-0007PE-Jz
	for xen-devel@lists.xen.org; Tue, 01 May 2012 13:52:59 +0000
Received: from [85.158.138.51:28230] by server-1.bemta-3.messagelabs.com id
	29/AC-11491-ABAEF9F4; Tue, 01 May 2012 13:52:58 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335880374!13647345!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg0ODc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2252 invoked from network); 1 May 2012 13:52:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 13:52:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="192825476"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 09:52:52 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SPDVc-0003ot-HP;
	Tue, 01 May 2012 14:52:52 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	xen-devel@lists.xen.org
Date: Tue, 1 May 2012 14:52:40 +0100
Message-ID: <1335880366-9873-2-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port instead
	of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vgabios.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vgabios.c b/tools/firmware/vgabios/vgabios.c
index a9dbe00..e0b1ed9 100644
--- a/tools/firmware/vgabios/vgabios.c
+++ b/tools/firmware/vgabios/vgabios.c
@@ -3811,9 +3811,9 @@ void printf(s)
         for (i=0; i<format_width; i++) {
           nibble = (arg >> (4 * digit)) & 0x000f;
           if (nibble <= 9)
-            outb(0xe9, nibble + '0');
+            outb(0x12, nibble + '0');
           else
-            outb(0xe9, (nibble - 10) + 'A');
+            outb(0x12, (nibble - 10) + 'A');
           digit--;
           }
         in_format = 0;
@@ -3823,7 +3823,7 @@ void printf(s)
       //  }
       }
     else {
-      outb(0xe9, c);
+      outb(0x12, c);
       }
     s ++;
     }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 14:04:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 14:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDgR-0000A8-DB; Tue, 01 May 2012 14:04:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Paul.Durrant@citrix.com>) id 1SPDgP-00009Z-JI
	for xen-devel@lists.xen.org; Tue, 01 May 2012 14:04:01 +0000
Received: from [85.158.143.99:33928] by server-1.bemta-4.messagelabs.com id
	3F/7D-20925-05DEF9F4; Tue, 01 May 2012 14:04:00 +0000
X-Env-Sender: Paul.Durrant@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335881040!22638988!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7809 invoked from network); 1 May 2012 14:04:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 14:04:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330905600"; d="scan'208";a="12224199"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 14:04:00 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Tue, 1 May 2012
	15:04:00 +0100
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>, Frediano Ziglio
	<frediano.ziglio@citrix.com>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>
Date: Tue, 1 May 2012 15:03:58 +0100
Thread-Topic: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port
	instead	of using Bochs one
Thread-Index: Ac0noevW2A+vxiocRLyiHWXThF3fFwAARQdQ
Message-ID: <291EDFCB1E9E224A99088639C4762022C82E7FA337@LONPMAILBOX01.citrite.net>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
	<1335880366-9873-2-git-send-email-frediano.ziglio@citrix.com>
In-Reply-To: <1335880366-9873-2-git-send-email-frediano.ziglio@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port
 instead	of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I'm confused. Last time I looked 0xE9 was the xen debug port. 

  Paul

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org [mailto:xen-devel-
> bounces@lists.xen.org] On Behalf Of Frediano Ziglio
> Sent: 01 May 2012 14:53
> To: Frediano Ziglio; xen-devel@lists.xen.org
> Subject: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port instead
> of using Bochs one
> 
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vgabios.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vgabios.c
> b/tools/firmware/vgabios/vgabios.c
> index a9dbe00..e0b1ed9 100644
> --- a/tools/firmware/vgabios/vgabios.c
> +++ b/tools/firmware/vgabios/vgabios.c
> @@ -3811,9 +3811,9 @@ void printf(s)
>          for (i=0; i<format_width; i++) {
>            nibble = (arg >> (4 * digit)) & 0x000f;
>            if (nibble <= 9)
> -            outb(0xe9, nibble + '0');
> +            outb(0x12, nibble + '0');
>            else
> -            outb(0xe9, (nibble - 10) + 'A');
> +            outb(0x12, (nibble - 10) + 'A');
>            digit--;
>            }
>          in_format = 0;
> @@ -3823,7 +3823,7 @@ void printf(s)
>        //  }
>        }
>      else {
> -      outb(0xe9, c);
> +      outb(0x12, c);
>        }
>      s ++;
>      }
> --
> 1.7.5.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 14:04:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 14:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPDgR-0000A8-DB; Tue, 01 May 2012 14:04:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Paul.Durrant@citrix.com>) id 1SPDgP-00009Z-JI
	for xen-devel@lists.xen.org; Tue, 01 May 2012 14:04:01 +0000
Received: from [85.158.143.99:33928] by server-1.bemta-4.messagelabs.com id
	3F/7D-20925-05DEF9F4; Tue, 01 May 2012 14:04:00 +0000
X-Env-Sender: Paul.Durrant@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335881040!22638988!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7809 invoked from network); 1 May 2012 14:04:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 14:04:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330905600"; d="scan'208";a="12224199"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 14:04:00 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Tue, 1 May 2012
	15:04:00 +0100
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>, Frediano Ziglio
	<frediano.ziglio@citrix.com>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>
Date: Tue, 1 May 2012 15:03:58 +0100
Thread-Topic: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port
	instead	of using Bochs one
Thread-Index: Ac0noevW2A+vxiocRLyiHWXThF3fFwAARQdQ
Message-ID: <291EDFCB1E9E224A99088639C4762022C82E7FA337@LONPMAILBOX01.citrite.net>
References: <1335880366-9873-1-git-send-email-frediano.ziglio@citrix.com>
	<1335880366-9873-2-git-send-email-frediano.ziglio@citrix.com>
In-Reply-To: <1335880366-9873-2-git-send-email-frediano.ziglio@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port
 instead	of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I'm confused. Last time I looked 0xE9 was the xen debug port. 

  Paul

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org [mailto:xen-devel-
> bounces@lists.xen.org] On Behalf Of Frediano Ziglio
> Sent: 01 May 2012 14:53
> To: Frediano Ziglio; xen-devel@lists.xen.org
> Subject: [Xen-devel] [PATCH 1/7] vgabios: Output to Xen debug port instead
> of using Bochs one
> 
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vgabios.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vgabios.c
> b/tools/firmware/vgabios/vgabios.c
> index a9dbe00..e0b1ed9 100644
> --- a/tools/firmware/vgabios/vgabios.c
> +++ b/tools/firmware/vgabios/vgabios.c
> @@ -3811,9 +3811,9 @@ void printf(s)
>          for (i=0; i<format_width; i++) {
>            nibble = (arg >> (4 * digit)) & 0x000f;
>            if (nibble <= 9)
> -            outb(0xe9, nibble + '0');
> +            outb(0x12, nibble + '0');
>            else
> -            outb(0xe9, (nibble - 10) + 'A');
> +            outb(0x12, (nibble - 10) + 'A');
>            digit--;
>            }
>          in_format = 0;
> @@ -3823,7 +3823,7 @@ void printf(s)
>        //  }
>        }
>      else {
> -      outb(0xe9, c);
> +      outb(0x12, c);
>        }
>      s ++;
>      }
> --
> 1.7.5.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 15:47:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 15:47:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPFHt-0000iC-Ip; Tue, 01 May 2012 15:46:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPFHr-0000i6-Be
	for xen-devel@lists.xen.org; Tue, 01 May 2012 15:46:47 +0000
Received: from [85.158.139.83:65193] by server-8.bemta-5.messagelabs.com id
	5A/FB-26964-66500AF4; Tue, 01 May 2012 15:46:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1335887204!26196711!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDExMjc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25516 invoked from network); 1 May 2012 15:46:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 15:46:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="24723395"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 11:46:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 11:46:42 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPFHl-0005fp-W1;
	Tue, 01 May 2012 16:46:41 +0100
Message-ID: <4FA0051F.6020909@eu.citrix.com>
Date: Tue, 1 May 2012 16:45:35 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
In-Reply-To: <31163f014d8a2da9375f.1334150275@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hey Dario,

Thanks for the work on this -- this is obviously a very complicated area 
to try to make sense of.  Of course, that makes it even more complicated 
to review -- sorry this has taken so long.  (comments inline)

On 11/04/12 14:17, Dario Faggioli wrote:
> +
> +=item B<auto>
> +
> +use a not better specified (xl-implementation dependant) algorithm
> +to try automatically fitting the guest on the host's NUMA nodes
Uum, you mean, "Use the default placement algorithm"? :-)  We should 
specify which one this will be here.
> +
> +/* Automatic placement policies symbols, with the following meaning:
> + *  NONE   : no automatic placement at all;
> + *  STATIC : explicit nodes specification.
> + *  FFIT   : use the First Fit algorithm for automatic placement;
> + *  AUTO   : an not better specified automatic placement, likely
> + *           to be implemented as a short circuit to (one of)
> + *           the above(s);
> + */
> +#define NODES_POLICY_NONE    0
> +#define NODES_POLICY_STATIC  1
> +#define NODES_POLICY_FFIT    2
> +#define NODES_POLICY_AUTO    3
This is minor, but it seems like "auto" should be 1, so if we add 
another policy, the policies are all together, without having to move 
AUTO around every time.
> +
> +/* Store the policy for the domain while parsing */
> +static int nodes_policy = NODES_POLICY_DEFAULT;
> +
> +/* Store the number of nodes to be used while parsing */
> +static int num_nodes_policy = 0;
Why are "nodes_policy" and "num_nodes_policy" not passed in along with 
b_info?
> +static int nodes_policy_parse(const char *pol, long int *policy)
> +{
> +    int i;
> +    const char *n;
> +
> +    for (i = 0; i<  sizeof(nodes_policy_names) / sizeof(nodes_policy_names[0]); i++) {
I personally prefer an explicit NODES_POLICY_MAX, but I'll let the libxl 
maintainers decide on that.
> +
> +        /* Determine how much free memory we want on each of the nodes
> +         * that will end up in suitable_nodes. Either adding or ignoring
> +         * the modulus of the integer division should be fine (the total
> +         * number of nodes should be in the order of tens of them), so
> +         * let's add it as it should be more safe.
> +         */
> +        memb_node = (memb / (*nodes)) + (memb % (*nodes));
Wouldn't it just be easier to do a "round-up" function here, like this:
  memb_node = ( (memb + *nodes -1) / (*nodes) )

Also, is it really necessary for a VM to have an equal amount of memory 
on every node? It seems like it would be better to have 75% on one node 
and 25% on a second node than to have 25% on four nodes, for example.  
Furthermore, insisting on an even amount fragments the node memory 
further -- i.e., if we chose to have 25% on four nodes instead of 75% on 
one and 25% on another, that will make it harder for another VM to fit 
on a single node as well.

The need for NODES_POLICY_RETRY_DEC is an artifact of the above; if 
nodes were allowed to be assymetric, you wouldn't need to *decrease* the 
number of nodes to find *more* memory.
> +        /* Apply the asked retry policy for the next round. Notice
> +         * that it would be pointless to increase nodes without also
> +         * adding some nodes to the map! */
> +        *nodes += retry;
> +        if (retry == NODES_POLICY_RETRY_INC)
> +            __add_nodes_to_nodemap(nodemap, numa, nr_nodes, retry);
Hmm -- if I'm reading this right, the only time the nodemap won't be all 
nodes is if (1) the user specified nodes, or (2) there's a cpumask in 
effect.  If we're going to override that setting, wouldn't it make sense 
to just expand to all numa nodes?

Hmm -- though I suppose what you'd really want to try is adding each 
node in turn, rather than one at a time (i.e., if the cpus are pinned to 
nodes 2 and 3, and [2,3] doesn't work, try [1,2,3] and [2,3,4] before 
trying [1,2,3,4].  But that's starting to get really complicated -- I 
wonder if it's better to just fail and let the user change the pinnings 
/ configuration node mapping.
> +
> +    /* If a nodemap has been specified, just comply with that.
> +     * OTOH, if there's no nodemap, rely on cpumap (if any), and
> +     * fallback to all node if even that is empty. Also consider
> +     * all the nodes to be valid if only the number (i.e., _how_
> +     * _many_ of them instead of _which_ of them) of nodes the
> +     * domain wants is provided.
I feel like this comment could be made more clear...
> +     *
> +     * Concering retries, if a specific set of nodes is specified,
> +     * just try that and give up if we fail. If, instead, a set of
> +     * CPUs onto which to pin the domain is specified, try first
> +     * the exact nodes those CPUs belongs to, then also try both
> +     * a smaller and a bigger number of nodes. The same happens if
> +     * we just have the number of nodes to be used. Finally, if
> +     * there is no node-affinity, no cpu-pinning, no number of nodes,
> +     * start trying with one node and increase at the configured
> +     * rate (considering all the nodes to be suitable).
This should be above the "do {} while()" loop below.  (Also, see comment 
on increasing node map above.)
> +
> +        if (use_cpus>= b_info->max_vcpus) {
> +            rc = 0;
> +            break;
> +        }
Hmm -- there's got to be a better way to find out the minimum number of 
nodes to house a given number of vcpus than just starting at 1 and 
re-trying until we have enough.
> +        /* Add one more node and retry fitting the domain */
> +        __add_nodes_to_nodemap(&new_nodemap, numa, nr_nodes, 1);
Same comment as above.
>
> +    ret = place_domain(&d_config.b_info);
> +    if (ret == ESRCH || ret == ENOSPC) {
> +        fprintf(stderr, "failed to place the domain, fallback to all nodes\n");
> +        libxl_nodemap_set_any(&d_config.b_info.nodemap);
Hmm -- is this the right fallback?  I think in general, if the user asks 
for X to be done, and X cannot be done for whatever reason, the right 
thing is to tell the user that X cannot be done and let them sort it 
out, rather than resorting to Y (unless that's been set).

Is it the case that if any node placement fails, then they'll all fail?  
Or to put it the other way, is it the case that if there is *some* 
placement, that any placement algorithm will eventually find it?  If so, 
then I think this fallback may make sense, as there's nothing for the 
user to really do.
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -365,10 +365,11 @@ static void dump_numa(unsigned char key)
>
>          for_each_online_node(i) {
>                  paddr_t pa = (paddr_t)(NODE_DATA(i)->node_start_pfn + 1)<<  PAGE_SHIFT;
> -               printk("idx%d ->  NODE%d start->%lu size->%lu\n",
> +               printk("idx%d ->  NODE%d start->%lu size->%lu free->%lu\n",
>                            i, NODE_DATA(i)->node_id,
>                            NODE_DATA(i)->node_start_pfn,
> -                         NODE_DATA(i)->node_spanned_pages);
> +                         NODE_DATA(i)->node_spanned_pages,
> +                          avail_node_heap_pages(i));
>                  /* sanity check phys_to_nid() */
>                  printk("phys_to_nid(%"PRIpaddr") ->  %d should be %d\n", pa, phys_to_nid(pa),
>                            NODE_DATA(i)->node_id);
This should be in its own patch.

   -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 15:47:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 15:47:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPFHt-0000iC-Ip; Tue, 01 May 2012 15:46:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPFHr-0000i6-Be
	for xen-devel@lists.xen.org; Tue, 01 May 2012 15:46:47 +0000
Received: from [85.158.139.83:65193] by server-8.bemta-5.messagelabs.com id
	5A/FB-26964-66500AF4; Tue, 01 May 2012 15:46:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1335887204!26196711!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDExMjc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25516 invoked from network); 1 May 2012 15:46:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 15:46:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330923600"; d="scan'208";a="24723395"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 11:46:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 1 May 2012 11:46:42 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPFHl-0005fp-W1;
	Tue, 01 May 2012 16:46:41 +0100
Message-ID: <4FA0051F.6020909@eu.citrix.com>
Date: Tue, 1 May 2012 16:45:35 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
In-Reply-To: <31163f014d8a2da9375f.1334150275@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hey Dario,

Thanks for the work on this -- this is obviously a very complicated area 
to try to make sense of.  Of course, that makes it even more complicated 
to review -- sorry this has taken so long.  (comments inline)

On 11/04/12 14:17, Dario Faggioli wrote:
> +
> +=item B<auto>
> +
> +use a not better specified (xl-implementation dependant) algorithm
> +to try automatically fitting the guest on the host's NUMA nodes
Uum, you mean, "Use the default placement algorithm"? :-)  We should 
specify which one this will be here.
> +
> +/* Automatic placement policies symbols, with the following meaning:
> + *  NONE   : no automatic placement at all;
> + *  STATIC : explicit nodes specification.
> + *  FFIT   : use the First Fit algorithm for automatic placement;
> + *  AUTO   : an not better specified automatic placement, likely
> + *           to be implemented as a short circuit to (one of)
> + *           the above(s);
> + */
> +#define NODES_POLICY_NONE    0
> +#define NODES_POLICY_STATIC  1
> +#define NODES_POLICY_FFIT    2
> +#define NODES_POLICY_AUTO    3
This is minor, but it seems like "auto" should be 1, so if we add 
another policy, the policies are all together, without having to move 
AUTO around every time.
> +
> +/* Store the policy for the domain while parsing */
> +static int nodes_policy = NODES_POLICY_DEFAULT;
> +
> +/* Store the number of nodes to be used while parsing */
> +static int num_nodes_policy = 0;
Why are "nodes_policy" and "num_nodes_policy" not passed in along with 
b_info?
> +static int nodes_policy_parse(const char *pol, long int *policy)
> +{
> +    int i;
> +    const char *n;
> +
> +    for (i = 0; i<  sizeof(nodes_policy_names) / sizeof(nodes_policy_names[0]); i++) {
I personally prefer an explicit NODES_POLICY_MAX, but I'll let the libxl 
maintainers decide on that.
> +
> +        /* Determine how much free memory we want on each of the nodes
> +         * that will end up in suitable_nodes. Either adding or ignoring
> +         * the modulus of the integer division should be fine (the total
> +         * number of nodes should be in the order of tens of them), so
> +         * let's add it as it should be more safe.
> +         */
> +        memb_node = (memb / (*nodes)) + (memb % (*nodes));
Wouldn't it just be easier to do a "round-up" function here, like this:
  memb_node = ( (memb + *nodes -1) / (*nodes) )

Also, is it really necessary for a VM to have an equal amount of memory 
on every node? It seems like it would be better to have 75% on one node 
and 25% on a second node than to have 25% on four nodes, for example.  
Furthermore, insisting on an even amount fragments the node memory 
further -- i.e., if we chose to have 25% on four nodes instead of 75% on 
one and 25% on another, that will make it harder for another VM to fit 
on a single node as well.

The need for NODES_POLICY_RETRY_DEC is an artifact of the above; if 
nodes were allowed to be assymetric, you wouldn't need to *decrease* the 
number of nodes to find *more* memory.
> +        /* Apply the asked retry policy for the next round. Notice
> +         * that it would be pointless to increase nodes without also
> +         * adding some nodes to the map! */
> +        *nodes += retry;
> +        if (retry == NODES_POLICY_RETRY_INC)
> +            __add_nodes_to_nodemap(nodemap, numa, nr_nodes, retry);
Hmm -- if I'm reading this right, the only time the nodemap won't be all 
nodes is if (1) the user specified nodes, or (2) there's a cpumask in 
effect.  If we're going to override that setting, wouldn't it make sense 
to just expand to all numa nodes?

Hmm -- though I suppose what you'd really want to try is adding each 
node in turn, rather than one at a time (i.e., if the cpus are pinned to 
nodes 2 and 3, and [2,3] doesn't work, try [1,2,3] and [2,3,4] before 
trying [1,2,3,4].  But that's starting to get really complicated -- I 
wonder if it's better to just fail and let the user change the pinnings 
/ configuration node mapping.
> +
> +    /* If a nodemap has been specified, just comply with that.
> +     * OTOH, if there's no nodemap, rely on cpumap (if any), and
> +     * fallback to all node if even that is empty. Also consider
> +     * all the nodes to be valid if only the number (i.e., _how_
> +     * _many_ of them instead of _which_ of them) of nodes the
> +     * domain wants is provided.
I feel like this comment could be made more clear...
> +     *
> +     * Concering retries, if a specific set of nodes is specified,
> +     * just try that and give up if we fail. If, instead, a set of
> +     * CPUs onto which to pin the domain is specified, try first
> +     * the exact nodes those CPUs belongs to, then also try both
> +     * a smaller and a bigger number of nodes. The same happens if
> +     * we just have the number of nodes to be used. Finally, if
> +     * there is no node-affinity, no cpu-pinning, no number of nodes,
> +     * start trying with one node and increase at the configured
> +     * rate (considering all the nodes to be suitable).
This should be above the "do {} while()" loop below.  (Also, see comment 
on increasing node map above.)
> +
> +        if (use_cpus>= b_info->max_vcpus) {
> +            rc = 0;
> +            break;
> +        }
Hmm -- there's got to be a better way to find out the minimum number of 
nodes to house a given number of vcpus than just starting at 1 and 
re-trying until we have enough.
> +        /* Add one more node and retry fitting the domain */
> +        __add_nodes_to_nodemap(&new_nodemap, numa, nr_nodes, 1);
Same comment as above.
>
> +    ret = place_domain(&d_config.b_info);
> +    if (ret == ESRCH || ret == ENOSPC) {
> +        fprintf(stderr, "failed to place the domain, fallback to all nodes\n");
> +        libxl_nodemap_set_any(&d_config.b_info.nodemap);
Hmm -- is this the right fallback?  I think in general, if the user asks 
for X to be done, and X cannot be done for whatever reason, the right 
thing is to tell the user that X cannot be done and let them sort it 
out, rather than resorting to Y (unless that's been set).

Is it the case that if any node placement fails, then they'll all fail?  
Or to put it the other way, is it the case that if there is *some* 
placement, that any placement algorithm will eventually find it?  If so, 
then I think this fallback may make sense, as there's nothing for the 
user to really do.
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -365,10 +365,11 @@ static void dump_numa(unsigned char key)
>
>          for_each_online_node(i) {
>                  paddr_t pa = (paddr_t)(NODE_DATA(i)->node_start_pfn + 1)<<  PAGE_SHIFT;
> -               printk("idx%d ->  NODE%d start->%lu size->%lu\n",
> +               printk("idx%d ->  NODE%d start->%lu size->%lu free->%lu\n",
>                            i, NODE_DATA(i)->node_id,
>                            NODE_DATA(i)->node_start_pfn,
> -                         NODE_DATA(i)->node_spanned_pages);
> +                         NODE_DATA(i)->node_spanned_pages,
> +                          avail_node_heap_pages(i));
>                  /* sanity check phys_to_nid() */
>                  printk("phys_to_nid(%"PRIpaddr") ->  %d should be %d\n", pa, phys_to_nid(pa),
>                            NODE_DATA(i)->node_id);
This should be in its own patch.

   -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 16:43:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 16:43:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGAD-0001P6-VE; Tue, 01 May 2012 16:42:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPGAC-0001P1-RD
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 16:42:57 +0000
Received: from [85.158.138.51:8122] by server-5.bemta-3.messagelabs.com id
	4E/16-17113-09210AF4; Tue, 01 May 2012 16:42:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1335890573!24648901!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13265 invoked from network); 1 May 2012 16:42:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 16:42:55 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41Ggoqq021917
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 16:42:51 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41Ggnrw023621
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 16:42:50 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41GgntM018261; Tue, 1 May 2012 11:42:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 09:42:48 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A3B7A40357; Tue,  1 May 2012 12:37:07 -0400 (EDT)
Date: Tue, 1 May 2012 12:37:07 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com, JBeulich@suse.com
Message-ID: <20120501163707.GA8741@phenom.dumpdata.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
> Changelog v5 [since v4]:
>  - used populate_physmap, fixed bugs.
> [v2-v4: not posted]
>  - reworked the code in setup.c to work properly.
> [v1: https://lkml.org/lkml/2012/3/30/492]
>  - initial patchset

One bug I found was that with 'dom0_mem=max:1G' (with and without these
patches) I would get a bunch of

(XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)

where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
I ran on it. I figured it out that the difference was in the ACPI tables
that are allocated - and that those regions - even though are returned
back to the hypervisor, cannot be repopulated. I can't find the actual
exact piece of code in the hypervisor to pin-point and say "Aha".

What I did was use the same metrix that the hypervisor uses to figure
out whether to deny the guest ballooning up - checking the d->tot_pages
against t->max_pages. For that the XENMEM_current_reservation is used.


>From e4568b678455f68d374277319fb5cc41f11b6c4f Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 26 Apr 2012 22:11:08 -0400
Subject: [PATCH] xen/setup: Cap amount to populate based on current tot_pages
 count.

Previous to this patch we would try to populate exactly up to
xen_released_pages number (so the ones that we released), but
that is incorrect as there are some pages that we thought were
released but in actuality were shared. Depending on the platform
it could be small amounts - 2 pages, but some had much higher - 17.

As such, lets use the XENMEM_current_reservation to get the exact
count of pages we are using, subtract it from nr_pages and use the
lesser of this and xen_released_pages to populate back.

This fixes errors such as:

(XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/setup.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 506a3e6..8e7dcfd 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -287,7 +287,15 @@ static unsigned long __init xen_get_max_pages(void)
 
 	return min(max_pages, MAX_DOMAIN_PAGES);
 }
-
+static unsigned long xen_get_current_pages(void)
+{
+	domid_t domid = DOMID_SELF;
+	int ret;
+	ret = HYPERVISOR_memory_op(XENMEM_current_reservation, &domid);
+	if (ret > 0)
+		return ret;
+	return 0;
+}
 static void xen_align_and_add_e820_region(u64 start, u64 size, int type)
 {
 	u64 end = start + size;
@@ -358,7 +366,11 @@ char * __init xen_memory_setup(void)
 
 	/*
 	 * Populate back the non-RAM pages and E820 gaps that had been
-	 * released. */
+	 * released. But cap it as certain regions cannot be repopulated.
+	 */
+	if (xen_get_current_pages())
+		xen_released_pages = min(max_pfn - xen_get_current_pages(),
+				xen_released_pages);
 	populated = xen_populate_chunk(map, memmap.nr_entries,
 			max_pfn, &last_pfn, xen_released_pages);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 16:43:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 16:43:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGAD-0001P6-VE; Tue, 01 May 2012 16:42:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPGAC-0001P1-RD
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 16:42:57 +0000
Received: from [85.158.138.51:8122] by server-5.bemta-3.messagelabs.com id
	4E/16-17113-09210AF4; Tue, 01 May 2012 16:42:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1335890573!24648901!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13265 invoked from network); 1 May 2012 16:42:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 16:42:55 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41Ggoqq021917
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 16:42:51 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41Ggnrw023621
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 16:42:50 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41GgntM018261; Tue, 1 May 2012 11:42:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 09:42:48 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A3B7A40357; Tue,  1 May 2012 12:37:07 -0400 (EDT)
Date: Tue, 1 May 2012 12:37:07 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com, JBeulich@suse.com
Message-ID: <20120501163707.GA8741@phenom.dumpdata.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
> Changelog v5 [since v4]:
>  - used populate_physmap, fixed bugs.
> [v2-v4: not posted]
>  - reworked the code in setup.c to work properly.
> [v1: https://lkml.org/lkml/2012/3/30/492]
>  - initial patchset

One bug I found was that with 'dom0_mem=max:1G' (with and without these
patches) I would get a bunch of

(XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)

where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
I ran on it. I figured it out that the difference was in the ACPI tables
that are allocated - and that those regions - even though are returned
back to the hypervisor, cannot be repopulated. I can't find the actual
exact piece of code in the hypervisor to pin-point and say "Aha".

What I did was use the same metrix that the hypervisor uses to figure
out whether to deny the guest ballooning up - checking the d->tot_pages
against t->max_pages. For that the XENMEM_current_reservation is used.


>From e4568b678455f68d374277319fb5cc41f11b6c4f Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 26 Apr 2012 22:11:08 -0400
Subject: [PATCH] xen/setup: Cap amount to populate based on current tot_pages
 count.

Previous to this patch we would try to populate exactly up to
xen_released_pages number (so the ones that we released), but
that is incorrect as there are some pages that we thought were
released but in actuality were shared. Depending on the platform
it could be small amounts - 2 pages, but some had much higher - 17.

As such, lets use the XENMEM_current_reservation to get the exact
count of pages we are using, subtract it from nr_pages and use the
lesser of this and xen_released_pages to populate back.

This fixes errors such as:

(XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/setup.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 506a3e6..8e7dcfd 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -287,7 +287,15 @@ static unsigned long __init xen_get_max_pages(void)
 
 	return min(max_pages, MAX_DOMAIN_PAGES);
 }
-
+static unsigned long xen_get_current_pages(void)
+{
+	domid_t domid = DOMID_SELF;
+	int ret;
+	ret = HYPERVISOR_memory_op(XENMEM_current_reservation, &domid);
+	if (ret > 0)
+		return ret;
+	return 0;
+}
 static void xen_align_and_add_e820_region(u64 start, u64 size, int type)
 {
 	u64 end = start + size;
@@ -358,7 +366,11 @@ char * __init xen_memory_setup(void)
 
 	/*
 	 * Populate back the non-RAM pages and E820 gaps that had been
-	 * released. */
+	 * released. But cap it as certain regions cannot be repopulated.
+	 */
+	if (xen_get_current_pages())
+		xen_released_pages = min(max_pfn - xen_get_current_pages(),
+				xen_released_pages);
 	populated = xen_populate_chunk(map, memmap.nr_entries,
 			max_pfn, &last_pfn, xen_released_pages);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 16:53:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 16:53:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGJv-0001cl-Ej; Tue, 01 May 2012 16:52:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SPGJu-0001cg-2k
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 16:52:58 +0000
Received: from [193.109.254.147:22711] by server-6.bemta-14.messagelabs.com id
	E9/AF-04960-9E410AF4; Tue, 01 May 2012 16:52:57 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1335891175!323939!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7703 invoked from network); 1 May 2012 16:52:56 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 16:52:56 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41GqruA031126
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 16:52:54 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41Gqqw6020140
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 16:52:52 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41Gqq00024483; Tue, 1 May 2012 11:52:52 -0500
MIME-Version: 1.0
Message-ID: <d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
Date: Tue, 1 May 2012 09:52:40 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Jana Saout <jana@saout.de>, xen-devel@lists.xensource.com
References: <1335728058.4574.18.camel@localhost>
In-Reply-To: <1335728058.4574.18.camel@localhost>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Jana Saout [mailto:jana@saout.de]
> Subject: [Xen-devel] Self-ballooning question / cache issue
> 
> Hello,
> 
> I have been testing autoballooning on a production Xen system today
> (with cleancache + frontswap on Xen-provided tmem).  For most of the
> idle or CPU-centric VMs it seems to work just fine.
> 
> However, on one of the web-serving VMs, there is also a cron job running
> every few minutes which runs over a rather large directory (plus, this
> directory is on OCFS2 so this is a rather time-consuming process).  Now,
> if the dcache/inode cache is large enough (which it was before, since
> the VM got allocated 4 GB and is only using 1-2 most of the time), this
> was not a problem.
> 
> Now, with self-ballooning, the memory gets reduced to somewhat between 1
> and 2 GB and after a few minutes the load is going through the ceiling.
> Jobs reading through said directories are piling up (stuck in D state,
> waiting for the FS).  And most of the time kswapd is spinning at 100%.
> If I deactivate self-ballooning and assign the VM 3 GB, everything goes
> back to normal after a few minutes. (and, "ls -l" on said directory is
> served from the cache again).
> 
> Now, I am aware that said problem is a self-made one.  The directory was
> not actually supposed to contain that many files and the next job not
> waiting for the previous job to terminate is cause for trouble - but
> still, I would consider this a possible regression since it seems
> self-ballooning is constantly thrashing the VM's caches.  Not all caches
> can be saved in cleancache.
> 
> What about an additional tunable: a user-specified amount of pages that
> is added on top of the computed target number of pages?  This way, one
> could manually reserve a bit more room for other types of caches. (in
> fact, I might try this myself, since it shouldn't be too hard to do so)
> 
> Any opinions on this?

Hi Jana --

Thanks for doing this analysis.  While your workload is a bit
unusual, I agree that you have exposed a problem that will need
to be resolved.  It was observed three years ago that the next
"frontend" for tmem could handle a cleancache-like mechanism
for the dcache.  Until now, I had thought that this was purely
optional and would yield only a small performance improvement.
But with your workload, I think the combination of the facts that
selfballooning is forcing out dcache entries and they aren't
being saved in tmem is resulting in the problem you are seeing.

I think the best solution for this will be a "cleandcache"
patch in the Linux guest... but given how long it has taken
to get cleancache and frontswap into the kernel (and the fact
that a working cleandcache patch doesn't even exist yet), I
wouldn't hold my breath ;-)  I will put it on the "to do"
list though.

Your idea of the tunable is interesting (and patches are always
welcome!) but I am skeptical that it will solve the problem
since I would guess the Linux kernel is shrinking dcache
proportional to the size of the page cache.  So adding more
RAM with your "user-specified amount of pages that is
added on top of the computed target number of pages",
the RAM will still be shared across all caches and only
some small portion of the added RAM will likely be used
for dcache.

However, if you have a chance to try it, I would be interested
in your findings.  Note that you already can set a
permanent floor for selfballooning ("min_usable_mb") or,
of course, just turn off selfballooning altogether.

Thanks,
Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 16:53:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 16:53:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGJv-0001cl-Ej; Tue, 01 May 2012 16:52:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SPGJu-0001cg-2k
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 16:52:58 +0000
Received: from [193.109.254.147:22711] by server-6.bemta-14.messagelabs.com id
	E9/AF-04960-9E410AF4; Tue, 01 May 2012 16:52:57 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1335891175!323939!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7703 invoked from network); 1 May 2012 16:52:56 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 16:52:56 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41GqruA031126
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 16:52:54 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41Gqqw6020140
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 16:52:52 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41Gqq00024483; Tue, 1 May 2012 11:52:52 -0500
MIME-Version: 1.0
Message-ID: <d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
Date: Tue, 1 May 2012 09:52:40 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Jana Saout <jana@saout.de>, xen-devel@lists.xensource.com
References: <1335728058.4574.18.camel@localhost>
In-Reply-To: <1335728058.4574.18.camel@localhost>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Jana Saout [mailto:jana@saout.de]
> Subject: [Xen-devel] Self-ballooning question / cache issue
> 
> Hello,
> 
> I have been testing autoballooning on a production Xen system today
> (with cleancache + frontswap on Xen-provided tmem).  For most of the
> idle or CPU-centric VMs it seems to work just fine.
> 
> However, on one of the web-serving VMs, there is also a cron job running
> every few minutes which runs over a rather large directory (plus, this
> directory is on OCFS2 so this is a rather time-consuming process).  Now,
> if the dcache/inode cache is large enough (which it was before, since
> the VM got allocated 4 GB and is only using 1-2 most of the time), this
> was not a problem.
> 
> Now, with self-ballooning, the memory gets reduced to somewhat between 1
> and 2 GB and after a few minutes the load is going through the ceiling.
> Jobs reading through said directories are piling up (stuck in D state,
> waiting for the FS).  And most of the time kswapd is spinning at 100%.
> If I deactivate self-ballooning and assign the VM 3 GB, everything goes
> back to normal after a few minutes. (and, "ls -l" on said directory is
> served from the cache again).
> 
> Now, I am aware that said problem is a self-made one.  The directory was
> not actually supposed to contain that many files and the next job not
> waiting for the previous job to terminate is cause for trouble - but
> still, I would consider this a possible regression since it seems
> self-ballooning is constantly thrashing the VM's caches.  Not all caches
> can be saved in cleancache.
> 
> What about an additional tunable: a user-specified amount of pages that
> is added on top of the computed target number of pages?  This way, one
> could manually reserve a bit more room for other types of caches. (in
> fact, I might try this myself, since it shouldn't be too hard to do so)
> 
> Any opinions on this?

Hi Jana --

Thanks for doing this analysis.  While your workload is a bit
unusual, I agree that you have exposed a problem that will need
to be resolved.  It was observed three years ago that the next
"frontend" for tmem could handle a cleancache-like mechanism
for the dcache.  Until now, I had thought that this was purely
optional and would yield only a small performance improvement.
But with your workload, I think the combination of the facts that
selfballooning is forcing out dcache entries and they aren't
being saved in tmem is resulting in the problem you are seeing.

I think the best solution for this will be a "cleandcache"
patch in the Linux guest... but given how long it has taken
to get cleancache and frontswap into the kernel (and the fact
that a working cleandcache patch doesn't even exist yet), I
wouldn't hold my breath ;-)  I will put it on the "to do"
list though.

Your idea of the tunable is interesting (and patches are always
welcome!) but I am skeptical that it will solve the problem
since I would guess the Linux kernel is shrinking dcache
proportional to the size of the page cache.  So adding more
RAM with your "user-specified amount of pages that is
added on top of the computed target number of pages",
the RAM will still be shared across all caches and only
some small portion of the added RAM will likely be used
for dcache.

However, if you have a chance to try it, I would be interested
in your findings.  Note that you already can set a
permanent floor for selfballooning ("min_usable_mb") or,
of course, just turn off selfballooning altogether.

Thanks,
Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 17:10:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 17:10:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGaD-0001qi-6b; Tue, 01 May 2012 17:09:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPGaB-0001qd-OC
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 17:09:48 +0000
Received: from [85.158.143.35:64782] by server-3.bemta-4.messagelabs.com id
	A4/02-05853-BD810AF4; Tue, 01 May 2012 17:09:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1335892184!9405690!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8961 invoked from network); 1 May 2012 17:09:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 17:09:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,512,1330905600"; d="scan'208";a="12228609"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 17:09:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 18:09:42 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPGa6-0001X9-IN;
	Tue, 01 May 2012 17:09:42 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPGa6-0007Uj-Bo;
	Tue, 01 May 2012 18:09:42 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12768-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 18:09:42 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12768: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12768 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12768/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-xl             5 xen-boot         fail in 12764 REGR. vs. 12694
 test-amd64-i386-pv            5 xen-boot         fail in 12764 REGR. vs. 12694
 test-amd64-i386-xl-multivcpu  5 xen-boot         fail in 12764 REGR. vs. 12694
 test-amd64-i386-rhel6hvm-amd  5 xen-boot         fail in 12764 REGR. vs. 12694
 test-i386-i386-pv             5 xen-boot         fail in 12762 REGR. vs. 12694

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             3 host-install(3)           broken pass in 12764
 test-i386-i386-pv             3 host-install(3)           broken pass in 12762
 test-amd64-i386-xl            3 host-install(3)           broken pass in 12764
 test-amd64-i386-pv            3 host-install(3)           broken pass in 12764
 test-amd64-i386-xl-multivcpu  3 host-install(3)           broken pass in 12764
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)           broken pass in 12764
 test-amd64-i386-xl-winxpsp3-vcpus1 3 host-install(3) broken in 12764 pass in 12768
 test-amd64-amd64-xl-sedf    12 guest-saverestore.2 fail in 12762 pass in 12768

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471
baseline version:
 linux                0527fde0639955203ad48a9fd83bd6fc35e82e07

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           broken  
 test-i386-i386-xl                                            broken  
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 broken  
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 17:10:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 17:10:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGaD-0001qi-6b; Tue, 01 May 2012 17:09:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPGaB-0001qd-OC
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 17:09:48 +0000
Received: from [85.158.143.35:64782] by server-3.bemta-4.messagelabs.com id
	A4/02-05853-BD810AF4; Tue, 01 May 2012 17:09:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1335892184!9405690!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8961 invoked from network); 1 May 2012 17:09:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 17:09:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,512,1330905600"; d="scan'208";a="12228609"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 17:09:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 18:09:42 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPGa6-0001X9-IN;
	Tue, 01 May 2012 17:09:42 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPGa6-0007Uj-Bo;
	Tue, 01 May 2012 18:09:42 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12768-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 18:09:42 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12768: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12768 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12768/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-xl             5 xen-boot         fail in 12764 REGR. vs. 12694
 test-amd64-i386-pv            5 xen-boot         fail in 12764 REGR. vs. 12694
 test-amd64-i386-xl-multivcpu  5 xen-boot         fail in 12764 REGR. vs. 12694
 test-amd64-i386-rhel6hvm-amd  5 xen-boot         fail in 12764 REGR. vs. 12694
 test-i386-i386-pv             5 xen-boot         fail in 12762 REGR. vs. 12694

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             3 host-install(3)           broken pass in 12764
 test-i386-i386-pv             3 host-install(3)           broken pass in 12762
 test-amd64-i386-xl            3 host-install(3)           broken pass in 12764
 test-amd64-i386-pv            3 host-install(3)           broken pass in 12764
 test-amd64-i386-xl-multivcpu  3 host-install(3)           broken pass in 12764
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)           broken pass in 12764
 test-amd64-i386-xl-winxpsp3-vcpus1 3 host-install(3) broken in 12764 pass in 12768
 test-amd64-amd64-xl-sedf    12 guest-saverestore.2 fail in 12762 pass in 12768

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471
baseline version:
 linux                0527fde0639955203ad48a9fd83bd6fc35e82e07

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           broken  
 test-i386-i386-xl                                            broken  
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 broken  
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 17:31:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 17:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGuY-00026g-RN; Tue, 01 May 2012 17:30:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPGuX-00026T-AG
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 17:30:49 +0000
Received: from [85.158.143.35:14480] by server-3.bemta-4.messagelabs.com id
	A9/FB-05853-8CD10AF4; Tue, 01 May 2012 17:30:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1335893446!14364519!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27343 invoked from network); 1 May 2012 17:30:48 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 17:30:48 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41HUgIN009509
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 17:30:43 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41HUgTb015994
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 17:30:42 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41HUfZl001493; Tue, 1 May 2012 12:30:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 10:30:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5BCD040357; Tue,  1 May 2012 13:25:00 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: lenb@kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Date: Tue,  1 May 2012 13:24:53 -0400
Message-Id: <1335893094-6904-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/2] Export acpi_processor_set_pdc to modules.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The Xen ACPI module calls acpi_processor_set_pdc for ACPI IDs
for CPUs that are not visible to an instance of a running Linux
kernel. Meaning it calls them on the ones that the generic
code has no control over. But without this being exported
the module will fail to compile.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/acpi/processor_core.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index c850de4..7c7c2d9 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -352,6 +352,7 @@ void __cpuinit acpi_processor_set_pdc(acpi_handle handle)
 	kfree(obj_list->pointer);
 	kfree(obj_list);
 }
+EXPORT_SYMBOL_GPL(acpi_processor_set_pdc);
 
 static acpi_status __init
 early_init_pdc(acpi_handle handle, u32 lvl, void *context, void **rv)
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 17:31:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 17:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGuY-00026g-RN; Tue, 01 May 2012 17:30:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPGuX-00026T-AG
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 17:30:49 +0000
Received: from [85.158.143.35:14480] by server-3.bemta-4.messagelabs.com id
	A9/FB-05853-8CD10AF4; Tue, 01 May 2012 17:30:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1335893446!14364519!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27343 invoked from network); 1 May 2012 17:30:48 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 17:30:48 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41HUgIN009509
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 17:30:43 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41HUgTb015994
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 17:30:42 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41HUfZl001493; Tue, 1 May 2012 12:30:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 10:30:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5BCD040357; Tue,  1 May 2012 13:25:00 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: lenb@kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Date: Tue,  1 May 2012 13:24:53 -0400
Message-Id: <1335893094-6904-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/2] Export acpi_processor_set_pdc to modules.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The Xen ACPI module calls acpi_processor_set_pdc for ACPI IDs
for CPUs that are not visible to an instance of a running Linux
kernel. Meaning it calls them on the ones that the generic
code has no control over. But without this being exported
the module will fail to compile.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/acpi/processor_core.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index c850de4..7c7c2d9 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -352,6 +352,7 @@ void __cpuinit acpi_processor_set_pdc(acpi_handle handle)
 	kfree(obj_list->pointer);
 	kfree(obj_list);
 }
+EXPORT_SYMBOL_GPL(acpi_processor_set_pdc);
 
 static acpi_status __init
 early_init_pdc(acpi_handle handle, u32 lvl, void *context, void **rv)
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 17:31:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 17:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGuY-00026Y-Ew; Tue, 01 May 2012 17:30:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPGuW-00026O-GJ
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 17:30:48 +0000
Received: from [85.158.143.99:9237] by server-1.bemta-4.messagelabs.com id
	02/ED-20925-7CD10AF4; Tue, 01 May 2012 17:30:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1335893445!25126566!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26538 invoked from network); 1 May 2012 17:30:47 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 17:30:47 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41HUgtU003012
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 17:30:43 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41HUg8W013180
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 17:30:42 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41HUfSJ016959; Tue, 1 May 2012 12:30:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 10:30:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6454C4032C; Tue,  1 May 2012 13:25:00 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: lenb@kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Date: Tue,  1 May 2012 13:24:54 -0400
Message-Id: <1335893094-6904-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1335893094-6904-1-git-send-email-konrad.wilk@oracle.com>
References: <1335893094-6904-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/2] xen/acpi: Execute _PDC on CPUs past the
	ones seen to the guest.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

acpi_early_processor_set_pdc does this (executes _PDC), but it
cannot do it for vCPUS that are past the currently available vCPUS
(so dom0_max_vcpus=X is used). We can easily find if that is
the case by seeing if we get the same failure as the generic code
and if so run _PDC ourselves. We also (by doing some other hypercalls)
know how many physical CPUs there are - which the acpi_get_cpuid
can't - as it bands the amount of CPUs up to 'cpu_possible()'
which has been influenced by 'dom0_max_vcpus=X' flag.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/xen/xen-acpi-processor.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index 0b48579..bb9f711 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -323,7 +323,7 @@ static unsigned int __init get_max_acpi_id(void)
 /*
  * The read_acpi_id and check_acpi_ids are there to support the Xen
  * oddity of virtual CPUs != physical CPUs in the initial domain.
- * The user can supply 'xen_max_vcpus=X' on the Xen hypervisor line
+ * The user can supply 'dom0_max_vcps=X' on the Xen hypervisor line
  * which will band the amount of CPUs the initial domain can see.
  * In general that is OK, except it plays havoc with any of the
  * for_each_[present|online]_cpu macros which are banded to the virtual
@@ -374,6 +374,14 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	pr_debug(DRV_NAME "ACPI CPU%u w/ PBLK:0x%lx\n", acpi_id,
 		 (unsigned long)pblk);
 
+	/* acpi_early_processor_set_pdc does this, but it cannot do it for vCPUS
+	 * that are past the currently available vCPUS (so dom0_max_vcpus=X is
+	 * used). We can easily find if that is the case by seeing if we get the
+	 * same failure as the generic code and if so run _PDC ourselves.
+	 */
+	if (acpi_get_cpuid(handle, (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0, acpi_id) == -1)
+		acpi_processor_set_pdc(handle);
+
 	status = acpi_evaluate_object(handle, "_CST", NULL, &buffer);
 	if (ACPI_FAILURE(status)) {
 		if (!pblk)
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 17:31:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 17:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPGuY-00026Y-Ew; Tue, 01 May 2012 17:30:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPGuW-00026O-GJ
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 17:30:48 +0000
Received: from [85.158.143.99:9237] by server-1.bemta-4.messagelabs.com id
	02/ED-20925-7CD10AF4; Tue, 01 May 2012 17:30:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1335893445!25126566!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26538 invoked from network); 1 May 2012 17:30:47 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 17:30:47 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41HUgtU003012
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 17:30:43 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41HUg8W013180
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 17:30:42 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41HUfSJ016959; Tue, 1 May 2012 12:30:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 10:30:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6454C4032C; Tue,  1 May 2012 13:25:00 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: lenb@kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Date: Tue,  1 May 2012 13:24:54 -0400
Message-Id: <1335893094-6904-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1335893094-6904-1-git-send-email-konrad.wilk@oracle.com>
References: <1335893094-6904-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/2] xen/acpi: Execute _PDC on CPUs past the
	ones seen to the guest.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

acpi_early_processor_set_pdc does this (executes _PDC), but it
cannot do it for vCPUS that are past the currently available vCPUS
(so dom0_max_vcpus=X is used). We can easily find if that is
the case by seeing if we get the same failure as the generic code
and if so run _PDC ourselves. We also (by doing some other hypercalls)
know how many physical CPUs there are - which the acpi_get_cpuid
can't - as it bands the amount of CPUs up to 'cpu_possible()'
which has been influenced by 'dom0_max_vcpus=X' flag.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/xen/xen-acpi-processor.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index 0b48579..bb9f711 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -323,7 +323,7 @@ static unsigned int __init get_max_acpi_id(void)
 /*
  * The read_acpi_id and check_acpi_ids are there to support the Xen
  * oddity of virtual CPUs != physical CPUs in the initial domain.
- * The user can supply 'xen_max_vcpus=X' on the Xen hypervisor line
+ * The user can supply 'dom0_max_vcps=X' on the Xen hypervisor line
  * which will band the amount of CPUs the initial domain can see.
  * In general that is OK, except it plays havoc with any of the
  * for_each_[present|online]_cpu macros which are banded to the virtual
@@ -374,6 +374,14 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	pr_debug(DRV_NAME "ACPI CPU%u w/ PBLK:0x%lx\n", acpi_id,
 		 (unsigned long)pblk);
 
+	/* acpi_early_processor_set_pdc does this, but it cannot do it for vCPUS
+	 * that are past the currently available vCPUS (so dom0_max_vcpus=X is
+	 * used). We can easily find if that is the case by seeing if we get the
+	 * same failure as the generic code and if so run _PDC ourselves.
+	 */
+	if (acpi_get_cpuid(handle, (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0, acpi_id) == -1)
+		acpi_processor_set_pdc(handle);
+
 	status = acpi_evaluate_object(handle, "_CST", NULL, &buffer);
 	if (ACPI_FAILURE(status)) {
 		if (!pblk)
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:04:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPIMa-0002iz-9q; Tue, 01 May 2012 19:03:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <julian.pidancet@gmail.com>) id 1SPIMY-0002iu-Cg
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:03:50 +0000
Received: from [85.158.143.35:14375] by server-3.bemta-4.messagelabs.com id
	D8/E2-05853-59330AF4; Tue, 01 May 2012 19:03:49 +0000
X-Env-Sender: julian.pidancet@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1335899028!13327530!1
X-Originating-IP: [74.125.83.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30570 invoked from network); 1 May 2012 19:03:48 -0000
Received: from mail-ee0-f43.google.com (HELO mail-ee0-f43.google.com)
	(74.125.83.43)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 19:03:48 -0000
Received: by eekc13 with SMTP id c13so1514669eek.30
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 12:03:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=NRjGXFIBRzr//FKnK+wWXqLXrfosykHomrujGASfT4Q=;
	b=dqEglME1WDRbA7QZ0y6aFbsFl514fcRPwVRrbWXnAu56QKEBqjqFLcUTKJgm3iINeh
	uf3FpsGUyVO2SIDfrnUh4qU7Gy0+r372PWaQANiYWWQRzVrMf7v/cB0dGIsT6634KvHv
	+WLD3VVYJUjV3KgfNNOVBJgzBOttzQwfsq7NVF6t7OE5ub4zMh2eu8cPhSGoCL6w5WX9
	6+IlGA5yKbOhFll+sv3oRK3Ldb6WY+4PM56oZMM9vdDUTkR8OMGFq4aNOEhB2dBz6ef2
	5P+k486ppw9d67SdwE7ZYCIElIfmqtIdyrDxmWSlrAB7MJh2EIM/XX+ocykEQsxc9fWk
	sgXA==
Received: by 10.213.29.2 with SMTP id o2mr593730ebc.53.1335899028028;
	Tue, 01 May 2012 12:03:48 -0700 (PDT)
Received: from [192.168.1.110] (188-223-88-44.zone14.bethere.co.uk.
	[188.223.88.44])
	by mx.google.com with ESMTPS id r44sm94748423eef.2.2012.05.01.12.03.45
	(version=SSLv3 cipher=OTHER); Tue, 01 May 2012 12:03:47 -0700 (PDT)
Message-ID: <4FA03DC8.6040204@gmail.com>
Date: Tue, 01 May 2012 20:47:20 +0100
From: Julian Pidancet <julian.pidancet@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120402 Thunderbird/10.0.3
MIME-Version: 1.0
To: Tim Deegan <tim@xen.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
In-Reply-To: <20120322112612.GG37468@ocelot.phlegethon.org>
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/22/12 11:26, Tim Deegan wrote:
> Hi, 
> 
> At 09:24 +0000 on 20 Mar (1332235452), Tim Deegan wrote:
>> My impression from the earlier discussions is that we're pasing largish
>> blobs of binary BIOS goop around, which aren't suitable to go into
>> xenstore.  Dropping them in memory where HVMloader can pick them up
>> seems reasonable.
>>
>> All the control-path stuff - what the blobs are, where they are &c,
>> should go through Xenstore, though.
> 
> So having looked at the code, I think the module system is really
> overkill - AIUI all the things you're talking about passing through are
> ACPI tables, which have their own length fields internally.  So all
> you'd need to do is have a type code and an address in xenstore
> somewhere, the same way we pass a type code and a string for the other
> BIOS customizations.
> 
> Cheers,
> 
> Tim.

Hi,

I don't think ACPI and SMBIOS firmware passthrough are the only use
cases here.

The module architecture could also be used to pass the BIOS and Option
ROMs to hvmloader. The toolstack could load them from dom0's filesystem
dynamically and pass them to hvmloader, instead of having them
compiled-in statically in hvmloader.

Would we still be able to do that with the simplifications you're
suggesting here ?

-- 
Julian

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:04:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPIMa-0002iz-9q; Tue, 01 May 2012 19:03:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <julian.pidancet@gmail.com>) id 1SPIMY-0002iu-Cg
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:03:50 +0000
Received: from [85.158.143.35:14375] by server-3.bemta-4.messagelabs.com id
	D8/E2-05853-59330AF4; Tue, 01 May 2012 19:03:49 +0000
X-Env-Sender: julian.pidancet@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1335899028!13327530!1
X-Originating-IP: [74.125.83.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30570 invoked from network); 1 May 2012 19:03:48 -0000
Received: from mail-ee0-f43.google.com (HELO mail-ee0-f43.google.com)
	(74.125.83.43)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 19:03:48 -0000
Received: by eekc13 with SMTP id c13so1514669eek.30
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 12:03:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=NRjGXFIBRzr//FKnK+wWXqLXrfosykHomrujGASfT4Q=;
	b=dqEglME1WDRbA7QZ0y6aFbsFl514fcRPwVRrbWXnAu56QKEBqjqFLcUTKJgm3iINeh
	uf3FpsGUyVO2SIDfrnUh4qU7Gy0+r372PWaQANiYWWQRzVrMf7v/cB0dGIsT6634KvHv
	+WLD3VVYJUjV3KgfNNOVBJgzBOttzQwfsq7NVF6t7OE5ub4zMh2eu8cPhSGoCL6w5WX9
	6+IlGA5yKbOhFll+sv3oRK3Ldb6WY+4PM56oZMM9vdDUTkR8OMGFq4aNOEhB2dBz6ef2
	5P+k486ppw9d67SdwE7ZYCIElIfmqtIdyrDxmWSlrAB7MJh2EIM/XX+ocykEQsxc9fWk
	sgXA==
Received: by 10.213.29.2 with SMTP id o2mr593730ebc.53.1335899028028;
	Tue, 01 May 2012 12:03:48 -0700 (PDT)
Received: from [192.168.1.110] (188-223-88-44.zone14.bethere.co.uk.
	[188.223.88.44])
	by mx.google.com with ESMTPS id r44sm94748423eef.2.2012.05.01.12.03.45
	(version=SSLv3 cipher=OTHER); Tue, 01 May 2012 12:03:47 -0700 (PDT)
Message-ID: <4FA03DC8.6040204@gmail.com>
Date: Tue, 01 May 2012 20:47:20 +0100
From: Julian Pidancet <julian.pidancet@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120402 Thunderbird/10.0.3
MIME-Version: 1.0
To: Tim Deegan <tim@xen.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
In-Reply-To: <20120322112612.GG37468@ocelot.phlegethon.org>
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/22/12 11:26, Tim Deegan wrote:
> Hi, 
> 
> At 09:24 +0000 on 20 Mar (1332235452), Tim Deegan wrote:
>> My impression from the earlier discussions is that we're pasing largish
>> blobs of binary BIOS goop around, which aren't suitable to go into
>> xenstore.  Dropping them in memory where HVMloader can pick them up
>> seems reasonable.
>>
>> All the control-path stuff - what the blobs are, where they are &c,
>> should go through Xenstore, though.
> 
> So having looked at the code, I think the module system is really
> overkill - AIUI all the things you're talking about passing through are
> ACPI tables, which have their own length fields internally.  So all
> you'd need to do is have a type code and an address in xenstore
> somewhere, the same way we pass a type code and a string for the other
> BIOS customizations.
> 
> Cheers,
> 
> Tim.

Hi,

I don't think ACPI and SMBIOS firmware passthrough are the only use
cases here.

The module architecture could also be used to pass the BIOS and Option
ROMs to hvmloader. The toolstack could load them from dom0's filesystem
dynamically and pass them to hvmloader, instead of having them
compiled-in statically in hvmloader.

Would we still be able to do that with the simplifications you're
suggesting here ?

-- 
Julian

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:48:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:48:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJ3A-0002xI-RY; Tue, 01 May 2012 19:47:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJ3A-0002xD-2S
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:47:52 +0000
Received: from [193.109.254.147:25818] by server-8.bemta-14.messagelabs.com id
	88/41-23244-7ED30AF4; Tue, 01 May 2012 19:47:51 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1335901669!338155!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30493 invoked from network); 1 May 2012 19:47:50 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 19:47:50 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41JlkRE004884
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 19:47:47 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41JlgOr014514
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 19:47:43 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41JleWi025508; Tue, 1 May 2012 14:47:40 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 12:47:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1019740357; Tue,  1 May 2012 15:41:58 -0400 (EDT)
Date: Tue, 1 May 2012 15:41:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lin Ming <mlin@ss.pku.edu.cn>
Message-ID: <20120501194158.GA15164@phenom.dumpdata.com>
References: <1335802587.4746.2.camel@chief-river-32>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335802587.4746.2.camel@chief-river-32>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH v2] xen/apic: implement io apic read with
 hypercall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 12:16:27AM +0800, Lin Ming wrote:
> Implements xen_io_apic_read with hypercall, so it returns proper
> IO-APIC information instead of fabricated one.

Looks good. I queued it up and sending the git pull to Ingo shortly.
> 
> Fallback to return an emulated IO_APIC values if hypercall fails.
> 
> Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn>
> ---
> 
> v2: fallback to return an emulated IO_APIC values if hypercall fails
> 
>  arch/x86/xen/apic.c |   15 ++++++++++++++-
>  1 files changed, 14 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/xen/apic.c b/arch/x86/xen/apic.c
> index aee16ab..1913bf2 100644
> --- a/arch/x86/xen/apic.c
> +++ b/arch/x86/xen/apic.c
> @@ -1,14 +1,27 @@
>  #include <linux/init.h>
>  #include <asm/x86_init.h>
> +#include <asm/apic.h>
> +#include <xen/interface/physdev.h>
> +#include <asm/xen/hypercall.h>
>  
>  unsigned int xen_io_apic_read(unsigned apic, unsigned reg)
>  {
> +	struct physdev_apic apic_op;
> +	int ret;
> +
> +	apic_op.apic_physbase = mpc_ioapic_addr(apic);
> +	apic_op.reg = reg;
> +	ret = HYPERVISOR_physdev_op(PHYSDEVOP_apic_read, &apic_op);
> +	if (!ret)
> +		return apic_op.value;
> +
> +	/* fallback to return an emulated IO_APIC values */
>  	if (reg == 0x1)
>  		return 0x00170020;
>  	else if (reg == 0x0)
>  		return apic << 24;
>  
> -	return 0xff;
> +	return 0xfd;
>  }
>  
>  void __init xen_init_apic(void)
> -- 
> 1.7.9
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:48:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:48:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJ3A-0002xI-RY; Tue, 01 May 2012 19:47:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJ3A-0002xD-2S
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:47:52 +0000
Received: from [193.109.254.147:25818] by server-8.bemta-14.messagelabs.com id
	88/41-23244-7ED30AF4; Tue, 01 May 2012 19:47:51 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1335901669!338155!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30493 invoked from network); 1 May 2012 19:47:50 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 19:47:50 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41JlkRE004884
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 19:47:47 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41JlgOr014514
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 19:47:43 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41JleWi025508; Tue, 1 May 2012 14:47:40 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 12:47:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1019740357; Tue,  1 May 2012 15:41:58 -0400 (EDT)
Date: Tue, 1 May 2012 15:41:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lin Ming <mlin@ss.pku.edu.cn>
Message-ID: <20120501194158.GA15164@phenom.dumpdata.com>
References: <1335802587.4746.2.camel@chief-river-32>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335802587.4746.2.camel@chief-river-32>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH v2] xen/apic: implement io apic read with
 hypercall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 12:16:27AM +0800, Lin Ming wrote:
> Implements xen_io_apic_read with hypercall, so it returns proper
> IO-APIC information instead of fabricated one.

Looks good. I queued it up and sending the git pull to Ingo shortly.
> 
> Fallback to return an emulated IO_APIC values if hypercall fails.
> 
> Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn>
> ---
> 
> v2: fallback to return an emulated IO_APIC values if hypercall fails
> 
>  arch/x86/xen/apic.c |   15 ++++++++++++++-
>  1 files changed, 14 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/xen/apic.c b/arch/x86/xen/apic.c
> index aee16ab..1913bf2 100644
> --- a/arch/x86/xen/apic.c
> +++ b/arch/x86/xen/apic.c
> @@ -1,14 +1,27 @@
>  #include <linux/init.h>
>  #include <asm/x86_init.h>
> +#include <asm/apic.h>
> +#include <xen/interface/physdev.h>
> +#include <asm/xen/hypercall.h>
>  
>  unsigned int xen_io_apic_read(unsigned apic, unsigned reg)
>  {
> +	struct physdev_apic apic_op;
> +	int ret;
> +
> +	apic_op.apic_physbase = mpc_ioapic_addr(apic);
> +	apic_op.reg = reg;
> +	ret = HYPERVISOR_physdev_op(PHYSDEVOP_apic_read, &apic_op);
> +	if (!ret)
> +		return apic_op.value;
> +
> +	/* fallback to return an emulated IO_APIC values */
>  	if (reg == 0x1)
>  		return 0x00170020;
>  	else if (reg == 0x0)
>  		return apic << 24;
>  
> -	return 0xff;
> +	return 0xfd;
>  }
>  
>  void __init xen_init_apic(void)
> -- 
> 1.7.9
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:49:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJ3p-0002yu-9x; Tue, 01 May 2012 19:48:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJ3n-0002yl-PA
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:48:32 +0000
Received: from [85.158.138.51:48709] by server-1.bemta-3.messagelabs.com id
	6F/A3-11491-F0E30AF4; Tue, 01 May 2012 19:48:31 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1335901707!24695455!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18868 invoked from network); 1 May 2012 19:48:29 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 19:48:29 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41JmNFO005366
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 19:48:23 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41JmM9I015590
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 19:48:22 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41JmMIU024478; Tue, 1 May 2012 14:48:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 12:48:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C5BFB40357; Tue,  1 May 2012 15:42:40 -0400 (EDT)
Date: Tue, 1 May 2012 15:42:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	mingo@kernel.org
Message-ID: <20120501194240.GA15237@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn
Subject: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC abstraction
 (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hey Ingo,

Please git pull the following branch for v3.5:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-ingo-v3.5

It has the proper fix for the IO-APIC having 0xfdfdfd... contents when booting
under Xen. It also abstracts the IO-APIC in a different layer allowing for re-using
of the generic code.

Compared to the patch you have already in the tree
(136d249ef7dbf0fefa292082cc40be1ea864cbd6 x86/ioapic: Add io_apic_ops driver
layer to allow interception) it does four things:

 1) Exposes the io_apic baremetal functions and uses the x86_io_apic_ops
    function table instead of keeping it in the io_apic. This makes the code fit
    within the rest of x86_ops functions.
 2) Use the x86_io_apic_ops to re-direct the (*read) to the Xen emulated one.
 3) Removes the work-around.
 4) Implements a read hypercall to get the contents of the IOAPIC. Note:
    There is no (*write) as it is not needed.

With these patches, this is what we end up seeing (for Xen):

 ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
-IOAPIC[0]: apic_id 0, version 253, address 0xfec00000, GSI 0-253
+IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
 ACPI: IOAPIC (id[0x01] address[0xfec3f000] gsi_base[24])
-IOAPIC[1]: apic_id 1, version 253, address 0xfec3f000, GSI 24-277
+IOAPIC[1]: apic_id 1, version 32, address 0xfec3f000, GSI 24-47
 ACPI: IOAPIC (id[0x02] address[0xfec7f000] gsi_base[48])
-IOAPIC[2]: apic_id 2, version 253, address 0xfec7f000, GSI 48-301
+IOAPIC[2]: apic_id 2, version 32, address 0xfec7f000, GSI 48-71

for baremetal - there is no change in the output or functionality.

Please pull!

 arch/x86/include/asm/io_apic.h  |   35 +++++++++++++++++++----------
 arch/x86/include/asm/x86_init.h |    9 ++++++-
 arch/x86/kernel/apic/io_apic.c  |   46 +++-----------------------------------
 arch/x86/kernel/setup.c         |    2 +-
 arch/x86/kernel/x86_init.c      |    8 ++++++
 arch/x86/xen/Makefile           |    2 +-
 arch/x86/xen/apic.c             |   30 +++++++++++++++++++++++++
 arch/x86/xen/enlighten.c        |    2 +
 arch/x86/xen/mmu.c              |    4 +--
 arch/x86/xen/xen-ops.h          |    4 +++
 10 files changed, 82 insertions(+), 60 deletions(-)

Konrad Rzeszutek Wilk (3):
      x86/apic: Replace io_apic_ops with x86_io_apic_ops.
      xen/x86: Implement x86_apic_ops
      Revert "xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'"

Lin Ming (1):
      xen/apic: implement io apic read with hypercall

And the full diff.

diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index 2c4943d..73d8c53 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -5,7 +5,7 @@
 #include <asm/mpspec.h>
 #include <asm/apicdef.h>
 #include <asm/irq_vectors.h>
-
+#include <asm/x86_init.h>
 /*
  * Intel IO-APIC support for SMP and UP systems.
  *
@@ -21,15 +21,6 @@
 #define IO_APIC_REDIR_LEVEL_TRIGGER	(1 << 15)
 #define IO_APIC_REDIR_MASKED		(1 << 16)
 
-struct io_apic_ops {
-	void		(*init)  (void);
-	unsigned int	(*read)  (unsigned int apic, unsigned int reg);
-	void		(*write) (unsigned int apic, unsigned int reg, unsigned int value);
-	void		(*modify)(unsigned int apic, unsigned int reg, unsigned int value);
-};
-
-void __init set_io_apic_ops(const struct io_apic_ops *);
-
 /*
  * The structure of the IO-APIC:
  */
@@ -156,7 +147,6 @@ struct io_apic_irq_attr;
 extern int io_apic_set_pci_routing(struct device *dev, int irq,
 		 struct io_apic_irq_attr *irq_attr);
 void setup_IO_APIC_irq_extra(u32 gsi);
-extern void ioapic_and_gsi_init(void);
 extern void ioapic_insert_resources(void);
 
 int io_apic_setup_irq_pin_once(unsigned int irq, int node, struct io_apic_irq_attr *attr);
@@ -185,12 +175,29 @@ extern void mp_save_irq(struct mpc_intsrc *m);
 
 extern void disable_ioapic_support(void);
 
+extern void __init native_io_apic_init_mappings(void);
+extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
+extern void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int val);
+extern void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
+
+static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
+{
+	return x86_io_apic_ops.read(apic, reg);
+}
+
+static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
+{
+	x86_io_apic_ops.write(apic, reg, value);
+}
+static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
+{
+	x86_io_apic_ops.modify(apic, reg, value);
+}
 #else  /* !CONFIG_X86_IO_APIC */
 
 #define io_apic_assign_pci_irqs 0
 #define setup_ioapic_ids_from_mpc x86_init_noop
 static const int timer_through_8259 = 0;
-static inline void ioapic_and_gsi_init(void) { }
 static inline void ioapic_insert_resources(void) { }
 #define gsi_top (NR_IRQS_LEGACY)
 static inline int mp_find_ioapic(u32 gsi) { return 0; }
@@ -212,6 +219,10 @@ static inline int restore_ioapic_entries(void)
 
 static inline void mp_save_irq(struct mpc_intsrc *m) { };
 static inline void disable_ioapic_support(void) { }
+#define native_io_apic_init_mappings	NULL
+#define native_io_apic_read		NULL
+#define native_io_apic_write		NULL
+#define native_io_apic_modify		NULL
 #endif
 
 #endif /* _ASM_X86_IO_APIC_H */
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 764b66a..c090af1 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -188,11 +188,18 @@ struct x86_msi_ops {
 	void (*restore_msi_irqs)(struct pci_dev *dev, int irq);
 };
 
+struct x86_io_apic_ops {
+	void		(*init)  (void);
+	unsigned int	(*read)  (unsigned int apic, unsigned int reg);
+	void		(*write) (unsigned int apic, unsigned int reg, unsigned int value);
+	void		(*modify)(unsigned int apic, unsigned int reg, unsigned int value);
+};
+
 extern struct x86_init_ops x86_init;
 extern struct x86_cpuinit_ops x86_cpuinit;
 extern struct x86_platform_ops x86_platform;
 extern struct x86_msi_ops x86_msi;
-
+extern struct x86_io_apic_ops x86_io_apic_ops;
 extern void x86_init_noop(void);
 extern void x86_init_uint_noop(unsigned int unused);
 
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index e88300d..973539c 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -68,24 +68,6 @@
 #define for_each_irq_pin(entry, head) \
 	for (entry = head; entry; entry = entry->next)
 
-static void		__init __ioapic_init_mappings(void);
-
-static unsigned int	__io_apic_read  (unsigned int apic, unsigned int reg);
-static void		__io_apic_write (unsigned int apic, unsigned int reg, unsigned int val);
-static void		__io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
-
-static struct io_apic_ops io_apic_ops = {
-	.init	= __ioapic_init_mappings,
-	.read	= __io_apic_read,
-	.write	= __io_apic_write,
-	.modify = __io_apic_modify,
-};
-
-void __init set_io_apic_ops(const struct io_apic_ops *ops)
-{
-	io_apic_ops = *ops;
-}
-
 /*
  *      Is the SiS APIC rmw bug present ?
  *      -1 = don't know, 0 = no, 1 = yes
@@ -313,21 +295,6 @@ static void free_irq_at(unsigned int at, struct irq_cfg *cfg)
 	irq_free_desc(at);
 }
 
-static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
-{
-	return io_apic_ops.read(apic, reg);
-}
-
-static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
-{
-	io_apic_ops.write(apic, reg, value);
-}
-
-static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
-{
-	io_apic_ops.modify(apic, reg, value);
-}
-
 
 struct io_apic {
 	unsigned int index;
@@ -349,14 +316,14 @@ static inline void io_apic_eoi(unsigned int apic, unsigned int vector)
 	writel(vector, &io_apic->eoi);
 }
 
-static unsigned int __io_apic_read(unsigned int apic, unsigned int reg)
+unsigned int native_io_apic_read(unsigned int apic, unsigned int reg)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 	writel(reg, &io_apic->index);
 	return readl(&io_apic->data);
 }
 
-static void __io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
+void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 
@@ -370,7 +337,7 @@ static void __io_apic_write(unsigned int apic, unsigned int reg, unsigned int va
  *
  * Older SiS APIC requires we rewrite the index register
  */
-static void __io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
+void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 
@@ -3931,12 +3898,7 @@ static struct resource * __init ioapic_setup_resources(int nr_ioapics)
 	return res;
 }
 
-void __init ioapic_and_gsi_init(void)
-{
-	io_apic_ops.init();
-}
-
-static void __init __ioapic_init_mappings(void)
+void __init native_io_apic_init_mappings(void)
 {
 	unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0;
 	struct resource *ioapic_res;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 1a29015..8526317 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
 	init_cpu_to_node();
 
 	init_apic_mappings();
-	ioapic_and_gsi_init();
+	x86_io_apic_ops.init();
 
 	kvm_guest_init();
 
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 9cf71d0..35c5e54 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -18,6 +18,7 @@
 #include <asm/e820.h>
 #include <asm/time.h>
 #include <asm/irq.h>
+#include <asm/io_apic.h>
 #include <asm/pat.h>
 #include <asm/tsc.h>
 #include <asm/iommu.h>
@@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi = {
 	.teardown_msi_irqs = default_teardown_msi_irqs,
 	.restore_msi_irqs = default_restore_msi_irqs,
 };
+
+struct x86_io_apic_ops x86_io_apic_ops = {
+	.init	= native_io_apic_init_mappings,
+	.read	= native_io_apic_read,
+	.write	= native_io_apic_write,
+	.modify	= native_io_apic_modify,
+};
diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index add2c2d..96ab2c0 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -20,5 +20,5 @@ obj-$(CONFIG_EVENT_TRACING) += trace.o
 obj-$(CONFIG_SMP)		+= smp.o
 obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o
 obj-$(CONFIG_XEN_DEBUG_FS)	+= debugfs.o
-obj-$(CONFIG_XEN_DOM0)		+= vga.o
+obj-$(CONFIG_XEN_DOM0)		+= apic.o vga.o
 obj-$(CONFIG_SWIOTLB_XEN)	+= pci-swiotlb-xen.o
diff --git a/arch/x86/xen/apic.c b/arch/x86/xen/apic.c
new file mode 100644
index 0000000..1913bf2
--- /dev/null
+++ b/arch/x86/xen/apic.c
@@ -0,0 +1,30 @@
+#include <linux/init.h>
+#include <asm/x86_init.h>
+#include <asm/apic.h>
+#include <xen/interface/physdev.h>
+#include <asm/xen/hypercall.h>
+
+unsigned int xen_io_apic_read(unsigned apic, unsigned reg)
+{
+	struct physdev_apic apic_op;
+	int ret;
+
+	apic_op.apic_physbase = mpc_ioapic_addr(apic);
+	apic_op.reg = reg;
+	ret = HYPERVISOR_physdev_op(PHYSDEVOP_apic_read, &apic_op);
+	if (!ret)
+		return apic_op.value;
+
+	/* fallback to return an emulated IO_APIC values */
+	if (reg == 0x1)
+		return 0x00170020;
+	else if (reg == 0x0)
+		return apic << 24;
+
+	return 0xfd;
+}
+
+void __init xen_init_apic(void)
+{
+	x86_io_apic_ops.read = xen_io_apic_read;
+}
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..c2ea9e9 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1362,6 +1362,8 @@ asmlinkage void __init xen_start_kernel(void)
 		xen_start_info->console.domU.mfn = 0;
 		xen_start_info->console.domU.evtchn = 0;
 
+		xen_init_apic();
+
 		/* Make sure ACS will be enabled */
 		pci_request_acs();
 	}
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index b8e2794..988828b 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1859,7 +1859,6 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
 #endif	/* CONFIG_X86_64 */
 
 static unsigned char dummy_mapping[PAGE_SIZE] __page_aligned_bss;
-static unsigned char fake_ioapic_mapping[PAGE_SIZE] __page_aligned_bss;
 
 static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
 {
@@ -1900,7 +1899,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
 		 * We just don't map the IO APIC - all access is via
 		 * hypercalls.  Keep the address in the pte for reference.
 		 */
-		pte = pfn_pte(PFN_DOWN(__pa(fake_ioapic_mapping)), PAGE_KERNEL);
+		pte = pfn_pte(PFN_DOWN(__pa(dummy_mapping)), PAGE_KERNEL);
 		break;
 #endif
 
@@ -2065,7 +2064,6 @@ void __init xen_init_mmu_ops(void)
 	pv_mmu_ops = xen_mmu_ops;
 
 	memset(dummy_mapping, 0xff, PAGE_SIZE);
-	memset(fake_ioapic_mapping, 0xfd, PAGE_SIZE);
 }
 
 /* Protected by xen_reservation_lock. */
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index b095739..45c0c06 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -92,11 +92,15 @@ struct dom0_vga_console_info;
 
 #ifdef CONFIG_XEN_DOM0
 void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size);
+void __init xen_init_apic(void);
 #else
 static inline void __init xen_init_vga(const struct dom0_vga_console_info *info,
 				       size_t size)
 {
 }
+static inline void __init xen_init_apic(void)
+{
+}
 #endif
 
 /* Declare an asm function, along with symbols needed to make it

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:49:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJ3p-0002yu-9x; Tue, 01 May 2012 19:48:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJ3n-0002yl-PA
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:48:32 +0000
Received: from [85.158.138.51:48709] by server-1.bemta-3.messagelabs.com id
	6F/A3-11491-F0E30AF4; Tue, 01 May 2012 19:48:31 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1335901707!24695455!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18868 invoked from network); 1 May 2012 19:48:29 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 19:48:29 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41JmNFO005366
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 19:48:23 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41JmM9I015590
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 19:48:22 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41JmMIU024478; Tue, 1 May 2012 14:48:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 12:48:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C5BFB40357; Tue,  1 May 2012 15:42:40 -0400 (EDT)
Date: Tue, 1 May 2012 15:42:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	mingo@kernel.org
Message-ID: <20120501194240.GA15237@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn
Subject: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC abstraction
 (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hey Ingo,

Please git pull the following branch for v3.5:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-ingo-v3.5

It has the proper fix for the IO-APIC having 0xfdfdfd... contents when booting
under Xen. It also abstracts the IO-APIC in a different layer allowing for re-using
of the generic code.

Compared to the patch you have already in the tree
(136d249ef7dbf0fefa292082cc40be1ea864cbd6 x86/ioapic: Add io_apic_ops driver
layer to allow interception) it does four things:

 1) Exposes the io_apic baremetal functions and uses the x86_io_apic_ops
    function table instead of keeping it in the io_apic. This makes the code fit
    within the rest of x86_ops functions.
 2) Use the x86_io_apic_ops to re-direct the (*read) to the Xen emulated one.
 3) Removes the work-around.
 4) Implements a read hypercall to get the contents of the IOAPIC. Note:
    There is no (*write) as it is not needed.

With these patches, this is what we end up seeing (for Xen):

 ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
-IOAPIC[0]: apic_id 0, version 253, address 0xfec00000, GSI 0-253
+IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
 ACPI: IOAPIC (id[0x01] address[0xfec3f000] gsi_base[24])
-IOAPIC[1]: apic_id 1, version 253, address 0xfec3f000, GSI 24-277
+IOAPIC[1]: apic_id 1, version 32, address 0xfec3f000, GSI 24-47
 ACPI: IOAPIC (id[0x02] address[0xfec7f000] gsi_base[48])
-IOAPIC[2]: apic_id 2, version 253, address 0xfec7f000, GSI 48-301
+IOAPIC[2]: apic_id 2, version 32, address 0xfec7f000, GSI 48-71

for baremetal - there is no change in the output or functionality.

Please pull!

 arch/x86/include/asm/io_apic.h  |   35 +++++++++++++++++++----------
 arch/x86/include/asm/x86_init.h |    9 ++++++-
 arch/x86/kernel/apic/io_apic.c  |   46 +++-----------------------------------
 arch/x86/kernel/setup.c         |    2 +-
 arch/x86/kernel/x86_init.c      |    8 ++++++
 arch/x86/xen/Makefile           |    2 +-
 arch/x86/xen/apic.c             |   30 +++++++++++++++++++++++++
 arch/x86/xen/enlighten.c        |    2 +
 arch/x86/xen/mmu.c              |    4 +--
 arch/x86/xen/xen-ops.h          |    4 +++
 10 files changed, 82 insertions(+), 60 deletions(-)

Konrad Rzeszutek Wilk (3):
      x86/apic: Replace io_apic_ops with x86_io_apic_ops.
      xen/x86: Implement x86_apic_ops
      Revert "xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'"

Lin Ming (1):
      xen/apic: implement io apic read with hypercall

And the full diff.

diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index 2c4943d..73d8c53 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -5,7 +5,7 @@
 #include <asm/mpspec.h>
 #include <asm/apicdef.h>
 #include <asm/irq_vectors.h>
-
+#include <asm/x86_init.h>
 /*
  * Intel IO-APIC support for SMP and UP systems.
  *
@@ -21,15 +21,6 @@
 #define IO_APIC_REDIR_LEVEL_TRIGGER	(1 << 15)
 #define IO_APIC_REDIR_MASKED		(1 << 16)
 
-struct io_apic_ops {
-	void		(*init)  (void);
-	unsigned int	(*read)  (unsigned int apic, unsigned int reg);
-	void		(*write) (unsigned int apic, unsigned int reg, unsigned int value);
-	void		(*modify)(unsigned int apic, unsigned int reg, unsigned int value);
-};
-
-void __init set_io_apic_ops(const struct io_apic_ops *);
-
 /*
  * The structure of the IO-APIC:
  */
@@ -156,7 +147,6 @@ struct io_apic_irq_attr;
 extern int io_apic_set_pci_routing(struct device *dev, int irq,
 		 struct io_apic_irq_attr *irq_attr);
 void setup_IO_APIC_irq_extra(u32 gsi);
-extern void ioapic_and_gsi_init(void);
 extern void ioapic_insert_resources(void);
 
 int io_apic_setup_irq_pin_once(unsigned int irq, int node, struct io_apic_irq_attr *attr);
@@ -185,12 +175,29 @@ extern void mp_save_irq(struct mpc_intsrc *m);
 
 extern void disable_ioapic_support(void);
 
+extern void __init native_io_apic_init_mappings(void);
+extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
+extern void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int val);
+extern void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
+
+static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
+{
+	return x86_io_apic_ops.read(apic, reg);
+}
+
+static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
+{
+	x86_io_apic_ops.write(apic, reg, value);
+}
+static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
+{
+	x86_io_apic_ops.modify(apic, reg, value);
+}
 #else  /* !CONFIG_X86_IO_APIC */
 
 #define io_apic_assign_pci_irqs 0
 #define setup_ioapic_ids_from_mpc x86_init_noop
 static const int timer_through_8259 = 0;
-static inline void ioapic_and_gsi_init(void) { }
 static inline void ioapic_insert_resources(void) { }
 #define gsi_top (NR_IRQS_LEGACY)
 static inline int mp_find_ioapic(u32 gsi) { return 0; }
@@ -212,6 +219,10 @@ static inline int restore_ioapic_entries(void)
 
 static inline void mp_save_irq(struct mpc_intsrc *m) { };
 static inline void disable_ioapic_support(void) { }
+#define native_io_apic_init_mappings	NULL
+#define native_io_apic_read		NULL
+#define native_io_apic_write		NULL
+#define native_io_apic_modify		NULL
 #endif
 
 #endif /* _ASM_X86_IO_APIC_H */
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 764b66a..c090af1 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -188,11 +188,18 @@ struct x86_msi_ops {
 	void (*restore_msi_irqs)(struct pci_dev *dev, int irq);
 };
 
+struct x86_io_apic_ops {
+	void		(*init)  (void);
+	unsigned int	(*read)  (unsigned int apic, unsigned int reg);
+	void		(*write) (unsigned int apic, unsigned int reg, unsigned int value);
+	void		(*modify)(unsigned int apic, unsigned int reg, unsigned int value);
+};
+
 extern struct x86_init_ops x86_init;
 extern struct x86_cpuinit_ops x86_cpuinit;
 extern struct x86_platform_ops x86_platform;
 extern struct x86_msi_ops x86_msi;
-
+extern struct x86_io_apic_ops x86_io_apic_ops;
 extern void x86_init_noop(void);
 extern void x86_init_uint_noop(unsigned int unused);
 
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index e88300d..973539c 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -68,24 +68,6 @@
 #define for_each_irq_pin(entry, head) \
 	for (entry = head; entry; entry = entry->next)
 
-static void		__init __ioapic_init_mappings(void);
-
-static unsigned int	__io_apic_read  (unsigned int apic, unsigned int reg);
-static void		__io_apic_write (unsigned int apic, unsigned int reg, unsigned int val);
-static void		__io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
-
-static struct io_apic_ops io_apic_ops = {
-	.init	= __ioapic_init_mappings,
-	.read	= __io_apic_read,
-	.write	= __io_apic_write,
-	.modify = __io_apic_modify,
-};
-
-void __init set_io_apic_ops(const struct io_apic_ops *ops)
-{
-	io_apic_ops = *ops;
-}
-
 /*
  *      Is the SiS APIC rmw bug present ?
  *      -1 = don't know, 0 = no, 1 = yes
@@ -313,21 +295,6 @@ static void free_irq_at(unsigned int at, struct irq_cfg *cfg)
 	irq_free_desc(at);
 }
 
-static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
-{
-	return io_apic_ops.read(apic, reg);
-}
-
-static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
-{
-	io_apic_ops.write(apic, reg, value);
-}
-
-static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
-{
-	io_apic_ops.modify(apic, reg, value);
-}
-
 
 struct io_apic {
 	unsigned int index;
@@ -349,14 +316,14 @@ static inline void io_apic_eoi(unsigned int apic, unsigned int vector)
 	writel(vector, &io_apic->eoi);
 }
 
-static unsigned int __io_apic_read(unsigned int apic, unsigned int reg)
+unsigned int native_io_apic_read(unsigned int apic, unsigned int reg)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 	writel(reg, &io_apic->index);
 	return readl(&io_apic->data);
 }
 
-static void __io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
+void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 
@@ -370,7 +337,7 @@ static void __io_apic_write(unsigned int apic, unsigned int reg, unsigned int va
  *
  * Older SiS APIC requires we rewrite the index register
  */
-static void __io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
+void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 
@@ -3931,12 +3898,7 @@ static struct resource * __init ioapic_setup_resources(int nr_ioapics)
 	return res;
 }
 
-void __init ioapic_and_gsi_init(void)
-{
-	io_apic_ops.init();
-}
-
-static void __init __ioapic_init_mappings(void)
+void __init native_io_apic_init_mappings(void)
 {
 	unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0;
 	struct resource *ioapic_res;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 1a29015..8526317 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
 	init_cpu_to_node();
 
 	init_apic_mappings();
-	ioapic_and_gsi_init();
+	x86_io_apic_ops.init();
 
 	kvm_guest_init();
 
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 9cf71d0..35c5e54 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -18,6 +18,7 @@
 #include <asm/e820.h>
 #include <asm/time.h>
 #include <asm/irq.h>
+#include <asm/io_apic.h>
 #include <asm/pat.h>
 #include <asm/tsc.h>
 #include <asm/iommu.h>
@@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi = {
 	.teardown_msi_irqs = default_teardown_msi_irqs,
 	.restore_msi_irqs = default_restore_msi_irqs,
 };
+
+struct x86_io_apic_ops x86_io_apic_ops = {
+	.init	= native_io_apic_init_mappings,
+	.read	= native_io_apic_read,
+	.write	= native_io_apic_write,
+	.modify	= native_io_apic_modify,
+};
diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index add2c2d..96ab2c0 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -20,5 +20,5 @@ obj-$(CONFIG_EVENT_TRACING) += trace.o
 obj-$(CONFIG_SMP)		+= smp.o
 obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o
 obj-$(CONFIG_XEN_DEBUG_FS)	+= debugfs.o
-obj-$(CONFIG_XEN_DOM0)		+= vga.o
+obj-$(CONFIG_XEN_DOM0)		+= apic.o vga.o
 obj-$(CONFIG_SWIOTLB_XEN)	+= pci-swiotlb-xen.o
diff --git a/arch/x86/xen/apic.c b/arch/x86/xen/apic.c
new file mode 100644
index 0000000..1913bf2
--- /dev/null
+++ b/arch/x86/xen/apic.c
@@ -0,0 +1,30 @@
+#include <linux/init.h>
+#include <asm/x86_init.h>
+#include <asm/apic.h>
+#include <xen/interface/physdev.h>
+#include <asm/xen/hypercall.h>
+
+unsigned int xen_io_apic_read(unsigned apic, unsigned reg)
+{
+	struct physdev_apic apic_op;
+	int ret;
+
+	apic_op.apic_physbase = mpc_ioapic_addr(apic);
+	apic_op.reg = reg;
+	ret = HYPERVISOR_physdev_op(PHYSDEVOP_apic_read, &apic_op);
+	if (!ret)
+		return apic_op.value;
+
+	/* fallback to return an emulated IO_APIC values */
+	if (reg == 0x1)
+		return 0x00170020;
+	else if (reg == 0x0)
+		return apic << 24;
+
+	return 0xfd;
+}
+
+void __init xen_init_apic(void)
+{
+	x86_io_apic_ops.read = xen_io_apic_read;
+}
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..c2ea9e9 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1362,6 +1362,8 @@ asmlinkage void __init xen_start_kernel(void)
 		xen_start_info->console.domU.mfn = 0;
 		xen_start_info->console.domU.evtchn = 0;
 
+		xen_init_apic();
+
 		/* Make sure ACS will be enabled */
 		pci_request_acs();
 	}
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index b8e2794..988828b 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1859,7 +1859,6 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
 #endif	/* CONFIG_X86_64 */
 
 static unsigned char dummy_mapping[PAGE_SIZE] __page_aligned_bss;
-static unsigned char fake_ioapic_mapping[PAGE_SIZE] __page_aligned_bss;
 
 static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
 {
@@ -1900,7 +1899,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
 		 * We just don't map the IO APIC - all access is via
 		 * hypercalls.  Keep the address in the pte for reference.
 		 */
-		pte = pfn_pte(PFN_DOWN(__pa(fake_ioapic_mapping)), PAGE_KERNEL);
+		pte = pfn_pte(PFN_DOWN(__pa(dummy_mapping)), PAGE_KERNEL);
 		break;
 #endif
 
@@ -2065,7 +2064,6 @@ void __init xen_init_mmu_ops(void)
 	pv_mmu_ops = xen_mmu_ops;
 
 	memset(dummy_mapping, 0xff, PAGE_SIZE);
-	memset(fake_ioapic_mapping, 0xfd, PAGE_SIZE);
 }
 
 /* Protected by xen_reservation_lock. */
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index b095739..45c0c06 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -92,11 +92,15 @@ struct dom0_vga_console_info;
 
 #ifdef CONFIG_XEN_DOM0
 void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size);
+void __init xen_init_apic(void);
 #else
 static inline void __init xen_init_vga(const struct dom0_vga_console_info *info,
 				       size_t size)
 {
 }
+static inline void __init xen_init_apic(void)
+{
+}
 #endif
 
 /* Declare an asm function, along with symbols needed to make it

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:49:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:49:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJ4O-00033K-Sb; Tue, 01 May 2012 19:49:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPJ4N-00032z-49
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:49:07 +0000
Received: from [193.109.254.147:26405] by server-11.bemta-14.messagelabs.com
	id 98/A3-05858-23E30AF4; Tue, 01 May 2012 19:49:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1335901745!7156902!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1733 invoked from network); 1 May 2012 19:49:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 19:49:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,512,1330905600"; d="scan'208";a="12231845"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 19:49:05 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 20:49:05 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPJ4L-0002WY-7F;
	Tue, 01 May 2012 19:49:05 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPJ4L-0000Hd-3W;
	Tue, 01 May 2012 20:49:05 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12769-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 20:49:05 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12769: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12769 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12769/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-winxpsp3  5 xen-boot                  fail REGR. vs. 12707
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12707
 test-amd64-amd64-pv           3 host-install(3)         broken REGR. vs. 12707
 test-i386-i386-pv             3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12707

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-xl-credit2    3 host-install(3)         broken REGR. vs. 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf     15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          broken  
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 19:49:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 19:49:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJ4O-00033K-Sb; Tue, 01 May 2012 19:49:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPJ4N-00032z-49
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 19:49:07 +0000
Received: from [193.109.254.147:26405] by server-11.bemta-14.messagelabs.com
	id 98/A3-05858-23E30AF4; Tue, 01 May 2012 19:49:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1335901745!7156902!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1733 invoked from network); 1 May 2012 19:49:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 19:49:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,512,1330905600"; d="scan'208";a="12231845"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 19:49:05 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 20:49:05 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPJ4L-0002WY-7F;
	Tue, 01 May 2012 19:49:05 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPJ4L-0000Hd-3W;
	Tue, 01 May 2012 20:49:05 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12769-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 20:49:05 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12769: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12769 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12769/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-winxpsp3  5 xen-boot                  fail REGR. vs. 12707
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12707
 test-amd64-amd64-pv           3 host-install(3)         broken REGR. vs. 12707
 test-i386-i386-pv             3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12707

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-xl-credit2    3 host-install(3)         broken REGR. vs. 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf     15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          broken  
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:08:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:08:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJMd-0003VT-MV; Tue, 01 May 2012 20:07:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJMb-0003VO-Pk
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:07:58 +0000
Received: from [193.109.254.147:23379] by server-6.bemta-14.messagelabs.com id
	C3/7A-04960-C9240AF4; Tue, 01 May 2012 20:07:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1335902874!7127794!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4201 invoked from network); 1 May 2012 20:07:56 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 20:07:56 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41K7ovb023154
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 20:07:51 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41K7nW9011091
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 20:07:50 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41K7neu021358; Tue, 1 May 2012 15:07:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 13:07:49 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1213640357; Tue,  1 May 2012 16:02:08 -0400 (EDT)
Date: Tue, 1 May 2012 16:02:07 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefan Bader <stefan.bader@canonical.com>
Message-ID: <20120501200207.GA15313@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4F9976F8.8040502@canonical.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> > On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> >> Since there have been requests about that driver to get backported into 3.2, I
> >> was interested to find out what or how much would be gained by that.
> >>
> >> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
> >> was not very successful as the drivers bail out of the init function because the
> >> first call to acpi_processor_register_performance() returns -ENODEV. There is
> >> some frequency scaling when running without Xen, so I need to do some more
> >> debugging there.
> > 
> > Did you back-port the other components - the ones that turn off the native
> > frequency scalling?
> > 
> >       provide disable_cpufreq() function to disable the API.
> > 	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> >       xen/cpufreq: Disable the cpu frequency scaling drivers from loading
> >>
> 
> Yes, here is the full set for reference:
> 
> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
> * xen/acpi: Remove the WARN's as they just create noise.
> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> * xen/acpi-processor: C and P-state driver that uploads said data to hyper
> * provide disable_cpufreq() function to disable the API.

And (Linus just pulled it), you also need this one:
 df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded.)

> 
> >> The second system was an Intel one (4 core i7 920@2.67GHz) which was
> >> successfully loading the driver. Via xenpm I can see the various frequencies and
> >> also see them being changed. However the cpuidle data out of xenpm looks a bit odd:
> >>
> >> #> xenpm get-cpuidle-states 0
> >> Max C-state: C7
> >>
> >> cpu id               : 0
> >> total C-states       : 2
> >> idle time(ms)        : 10819311
> >> C0                   : transition [00000000000000000001]
> >>                        residency  [00000000000000005398 ms]
> >> C1                   : transition [00000000000000000001]
> >>                        residency  [00000000000010819311 ms]
> >> pc3                  : [00000000000000000000 ms]
> >> pc6                  : [00000000000000000000 ms]
> >> pc7                  : [00000000000000000000 ms]
> >> cc3                  : [00000000000000000000 ms]
> >> cc6                  : [00000000000000000000 ms]
> >>
> >> Also gathering samples over 30s does look like only C0 and C1 are used. This
> > 
> > Yes. 
> >> might be because C1E support is enabled in BIOS but when looking at the
> >> intel_idle data in sysfs when running without a hypervisor will show C3 and C6
> >> for the cores. That could have been just a wrong output, so I plugged in a power
> >> meter and compared a kernel running natively and running as dom0 (with and
> >> without the acpi-processor driver).
> >>
> >> Native: 175W
> >> dom0:   183W (with only marginal difference between with or without the
> >>               processor driver)
> >> [yes, the system has a somewhat high base consumption which I attribute to a
> >> ridiculously dimensioned graphics subsystem to be running a text console]
> >>
> >> This I would take as C3 and C6 really not being used and the frequency scaling

So the other thing I forgot to note is that C3->C6 have a detrimental
effect on some Intel boxes with Xen. We haven't figured out exactly which ones
and the bug is definitly in the hypervisor. The bug is that when the CPU goes in
those states the NIC ends up being unresponsive. Its like the interrupts stopped
being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.

> > 
> > To go in deeper modes there is also a need to backport a Xen unstable
> > hypercall which will allow the kernel to detect the other states besides
> > C0-C2.
> > 
> > "XEN_SET_PDC query was implemented in c/s 23783:
> >     "ACPI: add _PDC input override mechanism".
> >     
> 
> I see. There is a kernel patch about enabling MWAIT that refers to that...

Were there any special things you ran when checking the output? Just plugging
and looking at the results?
> 
> > 
> >> having no impact on the idle system is not that much surprising. But if that was
> >> true it would also limit the usefulness of the turbo mode which I understand
> >> would also be limited by the c-state of the other cores.
> > 
> > Hm, I should double-check that - but somehow I thought that Xen independetly
> > checks for TurboMode and if the P-states are in, then they are activated.

I did a bit of checking around and it does seem that is the case. From what
I have gathered the TurboMode kicks in when the CPU is C0 mode (which should
be obvious), and when the other cores are in anything but C0 mode. And sure
enough that seems to be the case. But I can't get the concrete details whether
the "but C0 mode" means that TurboMode will work better if the C mode is legacy
C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out from
Len Brown more details..
> > 
> Turbo mode should be enabled. I had been only looking at a generic overview
> about it on Intel site which sounded like it  would make more of a difference on
> how much one core could get overclocked related to how many cores are active
> (and I translated active or not into deeper c-states or not).
> Looking at the verbose output of turbostat it seems not to make that much
> difference whether 2-4 cores are running. A single core alone could get one more
> increment in clock stepping. That does not immediately sound a lot. And of
> course how much or long the higher clock is used depends on other factors as
> well and is not under OS control.
> 
> In the end it is probably quite dynamic and hard to come up with hard facts to
> prove its value. Though if I can lower the idle power usage by reaching a bit
> further, that would greatly help to justify the effort and potential risk of
> backporting...

I understand. I wish I could give you the exact percentage points by which
the power usage will drop. But I think the more substantial reason benefit of
these patches is performance gains. The ones that Ian Campbell ran and were
posted on Phorenix site paint that they are beneficial.

> 
> >>
> >> Do I misread the data I see? Or maybe its a known limitation? In case it is
> >> worth doing more research I'll gladly try things and gather more data.
> > 
> > Just missing some patches. 
> > 
> > Oh, and this one:
> >       xen/acpi: Fix Kconfig dependency on CPU_FREQ
> > 
> > Hmm.. I think a patch disappeared somewhere.

That was the one I referenced at the beginning of this email.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:08:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:08:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJMd-0003VT-MV; Tue, 01 May 2012 20:07:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJMb-0003VO-Pk
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:07:58 +0000
Received: from [193.109.254.147:23379] by server-6.bemta-14.messagelabs.com id
	C3/7A-04960-C9240AF4; Tue, 01 May 2012 20:07:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1335902874!7127794!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4201 invoked from network); 1 May 2012 20:07:56 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 20:07:56 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41K7ovb023154
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 20:07:51 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41K7nW9011091
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 20:07:50 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41K7neu021358; Tue, 1 May 2012 15:07:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 13:07:49 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1213640357; Tue,  1 May 2012 16:02:08 -0400 (EDT)
Date: Tue, 1 May 2012 16:02:07 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefan Bader <stefan.bader@canonical.com>
Message-ID: <20120501200207.GA15313@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4F9976F8.8040502@canonical.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> > On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> >> Since there have been requests about that driver to get backported into 3.2, I
> >> was interested to find out what or how much would be gained by that.
> >>
> >> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
> >> was not very successful as the drivers bail out of the init function because the
> >> first call to acpi_processor_register_performance() returns -ENODEV. There is
> >> some frequency scaling when running without Xen, so I need to do some more
> >> debugging there.
> > 
> > Did you back-port the other components - the ones that turn off the native
> > frequency scalling?
> > 
> >       provide disable_cpufreq() function to disable the API.
> > 	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> >       xen/cpufreq: Disable the cpu frequency scaling drivers from loading
> >>
> 
> Yes, here is the full set for reference:
> 
> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
> * xen/acpi: Remove the WARN's as they just create noise.
> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> * xen/acpi-processor: C and P-state driver that uploads said data to hyper
> * provide disable_cpufreq() function to disable the API.

And (Linus just pulled it), you also need this one:
 df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded.)

> 
> >> The second system was an Intel one (4 core i7 920@2.67GHz) which was
> >> successfully loading the driver. Via xenpm I can see the various frequencies and
> >> also see them being changed. However the cpuidle data out of xenpm looks a bit odd:
> >>
> >> #> xenpm get-cpuidle-states 0
> >> Max C-state: C7
> >>
> >> cpu id               : 0
> >> total C-states       : 2
> >> idle time(ms)        : 10819311
> >> C0                   : transition [00000000000000000001]
> >>                        residency  [00000000000000005398 ms]
> >> C1                   : transition [00000000000000000001]
> >>                        residency  [00000000000010819311 ms]
> >> pc3                  : [00000000000000000000 ms]
> >> pc6                  : [00000000000000000000 ms]
> >> pc7                  : [00000000000000000000 ms]
> >> cc3                  : [00000000000000000000 ms]
> >> cc6                  : [00000000000000000000 ms]
> >>
> >> Also gathering samples over 30s does look like only C0 and C1 are used. This
> > 
> > Yes. 
> >> might be because C1E support is enabled in BIOS but when looking at the
> >> intel_idle data in sysfs when running without a hypervisor will show C3 and C6
> >> for the cores. That could have been just a wrong output, so I plugged in a power
> >> meter and compared a kernel running natively and running as dom0 (with and
> >> without the acpi-processor driver).
> >>
> >> Native: 175W
> >> dom0:   183W (with only marginal difference between with or without the
> >>               processor driver)
> >> [yes, the system has a somewhat high base consumption which I attribute to a
> >> ridiculously dimensioned graphics subsystem to be running a text console]
> >>
> >> This I would take as C3 and C6 really not being used and the frequency scaling

So the other thing I forgot to note is that C3->C6 have a detrimental
effect on some Intel boxes with Xen. We haven't figured out exactly which ones
and the bug is definitly in the hypervisor. The bug is that when the CPU goes in
those states the NIC ends up being unresponsive. Its like the interrupts stopped
being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.

> > 
> > To go in deeper modes there is also a need to backport a Xen unstable
> > hypercall which will allow the kernel to detect the other states besides
> > C0-C2.
> > 
> > "XEN_SET_PDC query was implemented in c/s 23783:
> >     "ACPI: add _PDC input override mechanism".
> >     
> 
> I see. There is a kernel patch about enabling MWAIT that refers to that...

Were there any special things you ran when checking the output? Just plugging
and looking at the results?
> 
> > 
> >> having no impact on the idle system is not that much surprising. But if that was
> >> true it would also limit the usefulness of the turbo mode which I understand
> >> would also be limited by the c-state of the other cores.
> > 
> > Hm, I should double-check that - but somehow I thought that Xen independetly
> > checks for TurboMode and if the P-states are in, then they are activated.

I did a bit of checking around and it does seem that is the case. From what
I have gathered the TurboMode kicks in when the CPU is C0 mode (which should
be obvious), and when the other cores are in anything but C0 mode. And sure
enough that seems to be the case. But I can't get the concrete details whether
the "but C0 mode" means that TurboMode will work better if the C mode is legacy
C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out from
Len Brown more details..
> > 
> Turbo mode should be enabled. I had been only looking at a generic overview
> about it on Intel site which sounded like it  would make more of a difference on
> how much one core could get overclocked related to how many cores are active
> (and I translated active or not into deeper c-states or not).
> Looking at the verbose output of turbostat it seems not to make that much
> difference whether 2-4 cores are running. A single core alone could get one more
> increment in clock stepping. That does not immediately sound a lot. And of
> course how much or long the higher clock is used depends on other factors as
> well and is not under OS control.
> 
> In the end it is probably quite dynamic and hard to come up with hard facts to
> prove its value. Though if I can lower the idle power usage by reaching a bit
> further, that would greatly help to justify the effort and potential risk of
> backporting...

I understand. I wish I could give you the exact percentage points by which
the power usage will drop. But I think the more substantial reason benefit of
these patches is performance gains. The ones that Ian Campbell ran and were
posted on Phorenix site paint that they are beneficial.

> 
> >>
> >> Do I misread the data I see? Or maybe its a known limitation? In case it is
> >> worth doing more research I'll gladly try things and gather more data.
> > 
> > Just missing some patches. 
> > 
> > Oh, and this one:
> >       xen/acpi: Fix Kconfig dependency on CPU_FREQ
> > 
> > Hmm.. I think a patch disappeared somewhere.

That was the one I referenced at the beginning of this email.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:13:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:13:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJRR-0003dS-Ff; Tue, 01 May 2012 20:12:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SPJRQ-0003dN-60
	for xen-devel@lists.xen.org; Tue, 01 May 2012 20:12:56 +0000
Received: from [193.109.254.147:52152] by server-2.bemta-14.messagelabs.com id
	76/EF-19409-7C340AF4; Tue, 01 May 2012 20:12:55 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1335903173!1496371!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5823 invoked from network); 1 May 2012 20:12:54 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 20:12:54 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q41KCq2E029974
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Tue, 1 May 2012 16:12:52 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q41KCqsQ029972;
	Tue, 1 May 2012 16:12:52 -0400
Date: Tue, 1 May 2012 16:12:52 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120501201252.GA29872@andromeda.dapyr.net>
References: <20120427023439.GB26931@phenom.dumpdata.com>
	<4F9AA4C602000078000806F2@nat28.tlf.novell.com>
	<20120427143122.GD9186@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120427143122.GD9186@phenom.dumpdata.com>
User-Agent: Mutt/1.5.9i
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] (XEN) page_alloc.c:1148:d0 Over-allocation for
	domain 0: 694017 > 694016
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Apr 27, 2012 at 10:31:22AM -0400, Konrad Rzeszutek Wilk wrote:
> > How would that be? 2711MiB = 2776064kiB, which 446k off the value
> > above. And apart from that, the value above isn't even divisible by 4
> 
> I messed up on that. Redid the numbers and I was off.
> 
> > (i.e. not an even number of pages).
> 
> To make this a bit easier I used 'dom0_max=max:3G', which means
> (with this swiss-cheese type E820 on this Intel box):
> 
> [    0.000000] Released 75745 pages of unused memory
> 
> so I should have 75745 pages left to play with. But what I found is that
> I can only go up to 786415 which is 17 pages short of the 786432 goal.
> 
> Here are the steps:
> 
> $cat `find /sys -name current_kb`
> 2842816
> $echo $((3*1024*1024))
> 3145728
> $echo "3145728" > `find /sys -name target_kb`
> $cat `find /sys -name current_kb`
> 3145660
> $xl dmesg | tail
> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 786433 (786432) > 786432
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)
> 
> > > Any ideas of what that might be? Could it be the shared_info, hypercall page,
> > > start_info, xenconsole and some other ones are the magic 6 pages which
> > > inhibit how much we can balloon up to?
> > 
> > Not likely: The hypercall page is in kernel (image) memory, and there's
> > no console page at all fro Dom0.
> 
> 17 pages.. Hmm

I am still not exactly sure what the problem is, but by running this on
various machines I found that I can be off by 1,2,3, 4 or 17 pages. It
looked to vary based on the amount of ACPI tables that showed up in MADT.

So I think what is happening is that the initial domain gets the ACPI
regions (which are shared) accounted in its d->tot_pages. I can't
pinpoint the exact piece of code in the hypervisor for this.

But what I did do on the Linux side was using the current_reservation
hypercall (so d->tot_pages) and based on that would populate exactly
up to start_info->nr_pages - d->tot_pages pages and did not get any of
those errors.

> > 
> > Jan
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:13:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:13:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJRR-0003dS-Ff; Tue, 01 May 2012 20:12:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SPJRQ-0003dN-60
	for xen-devel@lists.xen.org; Tue, 01 May 2012 20:12:56 +0000
Received: from [193.109.254.147:52152] by server-2.bemta-14.messagelabs.com id
	76/EF-19409-7C340AF4; Tue, 01 May 2012 20:12:55 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-6.tower-27.messagelabs.com!1335903173!1496371!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5823 invoked from network); 1 May 2012 20:12:54 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 20:12:54 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q41KCq2E029974
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Tue, 1 May 2012 16:12:52 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q41KCqsQ029972;
	Tue, 1 May 2012 16:12:52 -0400
Date: Tue, 1 May 2012 16:12:52 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120501201252.GA29872@andromeda.dapyr.net>
References: <20120427023439.GB26931@phenom.dumpdata.com>
	<4F9AA4C602000078000806F2@nat28.tlf.novell.com>
	<20120427143122.GD9186@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120427143122.GD9186@phenom.dumpdata.com>
User-Agent: Mutt/1.5.9i
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] (XEN) page_alloc.c:1148:d0 Over-allocation for
	domain 0: 694017 > 694016
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Apr 27, 2012 at 10:31:22AM -0400, Konrad Rzeszutek Wilk wrote:
> > How would that be? 2711MiB = 2776064kiB, which 446k off the value
> > above. And apart from that, the value above isn't even divisible by 4
> 
> I messed up on that. Redid the numbers and I was off.
> 
> > (i.e. not an even number of pages).
> 
> To make this a bit easier I used 'dom0_max=max:3G', which means
> (with this swiss-cheese type E820 on this Intel box):
> 
> [    0.000000] Released 75745 pages of unused memory
> 
> so I should have 75745 pages left to play with. But what I found is that
> I can only go up to 786415 which is 17 pages short of the 786432 goal.
> 
> Here are the steps:
> 
> $cat `find /sys -name current_kb`
> 2842816
> $echo $((3*1024*1024))
> 3145728
> $echo "3145728" > `find /sys -name target_kb`
> $cat `find /sys -name current_kb`
> 3145660
> $xl dmesg | tail
> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 786433 (786432) > 786432
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)
> 
> > > Any ideas of what that might be? Could it be the shared_info, hypercall page,
> > > start_info, xenconsole and some other ones are the magic 6 pages which
> > > inhibit how much we can balloon up to?
> > 
> > Not likely: The hypercall page is in kernel (image) memory, and there's
> > no console page at all fro Dom0.
> 
> 17 pages.. Hmm

I am still not exactly sure what the problem is, but by running this on
various machines I found that I can be off by 1,2,3, 4 or 17 pages. It
looked to vary based on the amount of ACPI tables that showed up in MADT.

So I think what is happening is that the initial domain gets the ACPI
regions (which are shared) accounted in its d->tot_pages. I can't
pinpoint the exact piece of code in the hypervisor for this.

But what I did do on the Linux side was using the current_reservation
hypercall (so d->tot_pages) and based on that would populate exactly
up to start_info->nr_pages - d->tot_pages pages and did not get any of
those errors.

> > 
> > Jan
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJYs-0003oe-FR; Tue, 01 May 2012 20:20:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPJYr-0003oZ-G3
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:20:37 +0000
Received: from [85.158.143.99:44922] by server-3.bemta-4.messagelabs.com id
	C3/90-05853-49540AF4; Tue, 01 May 2012 20:20:36 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335903632!22674242!1
X-Originating-IP: [202.81.31.148]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0OCA9PiAyNzkzNzY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21588 invoked from network); 1 May 2012 20:20:35 -0000
Received: from e23smtp06.au.ibm.com (HELO e23smtp06.au.ibm.com) (202.81.31.148)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 20:20:35 -0000
Received: from /spool/local
	by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 1 May 2012 20:15:16 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 1 May 2012 20:15:12 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q41KDXIH1544248
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 06:13:35 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q41KKMAV019561
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 06:20:23 +1000
Received: from [9.79.246.105] ([9.79.246.105])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q41KKFNH019511; Wed, 2 May 2012 06:20:16 +1000
Message-ID: <4FA04576.6030405@linux.vnet.ibm.com>
Date: Wed, 02 May 2012 01:50:06 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120423095937.30893.14776.sendpatchset@codeblue.in.ibm.com>
	<20120423095947.30893.84029.sendpatchset@codeblue.in.ibm.com>
	<4F9D415B.7010103@redhat.com> <4F9E42F6.8050108@linux.vnet.ibm.com>
In-Reply-To: <4F9E42F6.8050108@linux.vnet.ibm.com>
x-cbid: 12050110-7014-0000-0000-000001031971
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	Alexander Graf <agraf@suse.de>, Gleb Natapov <gleb@redhat.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, Randy Dunlap <rdunlap@xenotime.net>,
	Ingo Molnar <mingo@redhat.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Sasha Levin <levinsasha928@gmail.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Xen <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH RFC V6 1/5] kvm hypervisor : Add a hypercall
 to KVM hypervisor to support pv-ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/30/2012 01:14 PM, Raghavendra K T wrote:

>>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>>> index 4044ce0..7fc9be6 100644
>>> --- a/arch/x86/kvm/x86.c
>>> +++ b/arch/x86/kvm/x86.c
>>> @@ -2147,6 +2147,7 @@ int kvm_dev_ioctl_check_extension(long ext)
>>> case KVM_CAP_ASYNC_PF:
>>> case KVM_CAP_GET_TSC_KHZ:
>>> case KVM_CAP_PCI_2_3:
>>> + case KVM_CAP_PV_UNHALT:
>>> r = 1;
>>> break;
>>> case KVM_CAP_COALESCED_MMIO:
>>
>> Redundant, since we can infer this from KVM_GET_SUPPORTED_CPUID. But
>> please indicate this in the documentation.
>>
>
> Ok. will mention that in documentation added for KVM_CAP_PV_UNHALT.
>

I think it is better to remove  KVM_CAP_PV_UNHALT itself and avoid
spamming CAP.. will do that in coming version.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJYs-0003oe-FR; Tue, 01 May 2012 20:20:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPJYr-0003oZ-G3
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:20:37 +0000
Received: from [85.158.143.99:44922] by server-3.bemta-4.messagelabs.com id
	C3/90-05853-49540AF4; Tue, 01 May 2012 20:20:36 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335903632!22674242!1
X-Originating-IP: [202.81.31.148]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0OCA9PiAyNzkzNzY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21588 invoked from network); 1 May 2012 20:20:35 -0000
Received: from e23smtp06.au.ibm.com (HELO e23smtp06.au.ibm.com) (202.81.31.148)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 20:20:35 -0000
Received: from /spool/local
	by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 1 May 2012 20:15:16 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 1 May 2012 20:15:12 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q41KDXIH1544248
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 06:13:35 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q41KKMAV019561
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 06:20:23 +1000
Received: from [9.79.246.105] ([9.79.246.105])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q41KKFNH019511; Wed, 2 May 2012 06:20:16 +1000
Message-ID: <4FA04576.6030405@linux.vnet.ibm.com>
Date: Wed, 02 May 2012 01:50:06 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120423095937.30893.14776.sendpatchset@codeblue.in.ibm.com>
	<20120423095947.30893.84029.sendpatchset@codeblue.in.ibm.com>
	<4F9D415B.7010103@redhat.com> <4F9E42F6.8050108@linux.vnet.ibm.com>
In-Reply-To: <4F9E42F6.8050108@linux.vnet.ibm.com>
x-cbid: 12050110-7014-0000-0000-000001031971
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	Alexander Graf <agraf@suse.de>, Gleb Natapov <gleb@redhat.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, Randy Dunlap <rdunlap@xenotime.net>,
	Ingo Molnar <mingo@redhat.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Sasha Levin <levinsasha928@gmail.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Xen <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH RFC V6 1/5] kvm hypervisor : Add a hypercall
 to KVM hypervisor to support pv-ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/30/2012 01:14 PM, Raghavendra K T wrote:

>>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>>> index 4044ce0..7fc9be6 100644
>>> --- a/arch/x86/kvm/x86.c
>>> +++ b/arch/x86/kvm/x86.c
>>> @@ -2147,6 +2147,7 @@ int kvm_dev_ioctl_check_extension(long ext)
>>> case KVM_CAP_ASYNC_PF:
>>> case KVM_CAP_GET_TSC_KHZ:
>>> case KVM_CAP_PCI_2_3:
>>> + case KVM_CAP_PV_UNHALT:
>>> r = 1;
>>> break;
>>> case KVM_CAP_COALESCED_MMIO:
>>
>> Redundant, since we can infer this from KVM_GET_SUPPORTED_CPUID. But
>> please indicate this in the documentation.
>>
>
> Ok. will mention that in documentation added for KVM_CAP_PV_UNHALT.
>

I think it is better to remove  KVM_CAP_PV_UNHALT itself and avoid
spamming CAP.. will do that in coming version.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:33:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJkQ-0003yB-Oj; Tue, 01 May 2012 20:32:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJkP-0003y6-C1
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:32:33 +0000
Received: from [85.158.139.83:13495] by server-10.bemta-5.messagelabs.com id
	A5/A3-08260-06840AF4; Tue, 01 May 2012 20:32:32 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1335904349!23586558!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20552 invoked from network); 1 May 2012 20:32:30 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 20:32:30 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41KWNNK015434
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 20:32:24 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41KWM6l015414
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 20:32:23 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41KWLBl021170; Tue, 1 May 2012 15:32:21 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 13:32:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id ABE3040357; Tue,  1 May 2012 16:26:40 -0400 (EDT)
Date: Tue, 1 May 2012 16:26:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Josh Boyer <jwboyer@gmail.com>
Message-ID: <20120501202640.GB16209@phenom.dumpdata.com>
References: <20120501194240.GA15237@phenom.dumpdata.com>
	<CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	mingo@kernel.org
Subject: Re: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC
 abstraction (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 04:08:19PM -0400, Josh Boyer wrote:
> On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > -static void __init __ioapic_init_mappings(void)
> > +void __init native_io_apic_init_mappings(void)
> > =A0{
> > =A0 =A0 =A0 =A0unsigned long ioapic_phys, idx =3D FIX_IO_APIC_BASE_0;
> > =A0 =A0 =A0 =A0struct resource *ioapic_res;
> > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> > index 1a29015..8526317 100644
> > --- a/arch/x86/kernel/setup.c
> > +++ b/arch/x86/kernel/setup.c
> > @@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
> > =A0 =A0 =A0 =A0init_cpu_to_node();
> >
> > =A0 =A0 =A0 =A0init_apic_mappings();
> > - =A0 =A0 =A0 ioapic_and_gsi_init();
> > + =A0 =A0 =A0 x86_io_apic_ops.init();
> >
> > =A0 =A0 =A0 =A0kvm_guest_init();
> >
> > diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> > index 9cf71d0..35c5e54 100644
> > --- a/arch/x86/kernel/x86_init.c
> > +++ b/arch/x86/kernel/x86_init.c
> > @@ -18,6 +18,7 @@
> > =A0#include <asm/e820.h>
> > =A0#include <asm/time.h>
> > =A0#include <asm/irq.h>
> > +#include <asm/io_apic.h>
> > =A0#include <asm/pat.h>
> > =A0#include <asm/tsc.h>
> > =A0#include <asm/iommu.h>
> > @@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi =3D {
> > =A0 =A0 =A0 =A0.teardown_msi_irqs =3D default_teardown_msi_irqs,
> > =A0 =A0 =A0 =A0.restore_msi_irqs =3D default_restore_msi_irqs,
> > =A0};
> > +
> > +struct x86_io_apic_ops x86_io_apic_ops =3D {
> > + =A0 =A0 =A0 .init =A0 =3D native_io_apic_init_mappings,
> > + =A0 =A0 =A0 .read =A0 =3D native_io_apic_read,
> > + =A0 =A0 =A0 .write =A0=3D native_io_apic_write,
> > + =A0 =A0 =A0 .modify =3D native_io_apic_modify,
> > +};
> =

> You'll get a section mismatch warning on this struct.  It's not a huge
> deal, but native_io_apic_init_mappings is annotated as __init whereas
> this struct isn't.  In practice it doesn't seem to matter as
> x86_io_apic_ops.init is only called in setup_arch, but it's still a
> valid warning.

I think that the mismatch disappears if the structure has the word
_ops in it. At least that is what I saw (when I ran with the MODULE_SECTION=
=3Dy
with the initial implementation of this and then fixed it up).

However, let me double check - I might have seen that with something
else and misremebered it.

> =

> (First noticed in https://bugzilla.redhat.com/show_bug.cgi?id=3D817645 )
> =

> josh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 20:33:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 20:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPJkQ-0003yB-Oj; Tue, 01 May 2012 20:32:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPJkP-0003y6-C1
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:32:33 +0000
Received: from [85.158.139.83:13495] by server-10.bemta-5.messagelabs.com id
	A5/A3-08260-06840AF4; Tue, 01 May 2012 20:32:32 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1335904349!23586558!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTAzMTQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20552 invoked from network); 1 May 2012 20:32:30 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 20:32:30 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41KWNNK015434
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 20:32:24 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41KWM6l015414
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 20:32:23 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41KWLBl021170; Tue, 1 May 2012 15:32:21 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 13:32:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id ABE3040357; Tue,  1 May 2012 16:26:40 -0400 (EDT)
Date: Tue, 1 May 2012 16:26:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Josh Boyer <jwboyer@gmail.com>
Message-ID: <20120501202640.GB16209@phenom.dumpdata.com>
References: <20120501194240.GA15237@phenom.dumpdata.com>
	<CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	mingo@kernel.org
Subject: Re: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC
 abstraction (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 04:08:19PM -0400, Josh Boyer wrote:
> On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > -static void __init __ioapic_init_mappings(void)
> > +void __init native_io_apic_init_mappings(void)
> > =A0{
> > =A0 =A0 =A0 =A0unsigned long ioapic_phys, idx =3D FIX_IO_APIC_BASE_0;
> > =A0 =A0 =A0 =A0struct resource *ioapic_res;
> > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> > index 1a29015..8526317 100644
> > --- a/arch/x86/kernel/setup.c
> > +++ b/arch/x86/kernel/setup.c
> > @@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
> > =A0 =A0 =A0 =A0init_cpu_to_node();
> >
> > =A0 =A0 =A0 =A0init_apic_mappings();
> > - =A0 =A0 =A0 ioapic_and_gsi_init();
> > + =A0 =A0 =A0 x86_io_apic_ops.init();
> >
> > =A0 =A0 =A0 =A0kvm_guest_init();
> >
> > diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> > index 9cf71d0..35c5e54 100644
> > --- a/arch/x86/kernel/x86_init.c
> > +++ b/arch/x86/kernel/x86_init.c
> > @@ -18,6 +18,7 @@
> > =A0#include <asm/e820.h>
> > =A0#include <asm/time.h>
> > =A0#include <asm/irq.h>
> > +#include <asm/io_apic.h>
> > =A0#include <asm/pat.h>
> > =A0#include <asm/tsc.h>
> > =A0#include <asm/iommu.h>
> > @@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi =3D {
> > =A0 =A0 =A0 =A0.teardown_msi_irqs =3D default_teardown_msi_irqs,
> > =A0 =A0 =A0 =A0.restore_msi_irqs =3D default_restore_msi_irqs,
> > =A0};
> > +
> > +struct x86_io_apic_ops x86_io_apic_ops =3D {
> > + =A0 =A0 =A0 .init =A0 =3D native_io_apic_init_mappings,
> > + =A0 =A0 =A0 .read =A0 =3D native_io_apic_read,
> > + =A0 =A0 =A0 .write =A0=3D native_io_apic_write,
> > + =A0 =A0 =A0 .modify =3D native_io_apic_modify,
> > +};
> =

> You'll get a section mismatch warning on this struct.  It's not a huge
> deal, but native_io_apic_init_mappings is annotated as __init whereas
> this struct isn't.  In practice it doesn't seem to matter as
> x86_io_apic_ops.init is only called in setup_arch, but it's still a
> valid warning.

I think that the mismatch disappears if the structure has the word
_ops in it. At least that is what I saw (when I ran with the MODULE_SECTION=
=3Dy
with the initial implementation of this and then fixed it up).

However, let me double check - I might have seen that with something
else and misremebered it.

> =

> (First noticed in https://bugzilla.redhat.com/show_bug.cgi?id=3D817645 )
> =

> josh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 22:18:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 22:18:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPLOU-0004Xg-7W; Tue, 01 May 2012 22:18:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPLOS-0004Xb-7x
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 22:18:00 +0000
Received: from [193.109.254.147:55830] by server-9.bemta-14.messagelabs.com id
	87/CF-05787-71160AF4; Tue, 01 May 2012 22:17:59 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1335910678!7167329!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5986 invoked from network); 1 May 2012 22:17:58 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 22:17:58 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPLOO-000I4a-Uf; Tue, 01 May 2012 22:17:56 +0000
Date: Tue, 1 May 2012 23:17:56 +0100
From: Tim Deegan <tim@xen.org>
To: Julian Pidancet <julian.pidancet@gmail.com>
Message-ID: <20120501221756.GA69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA03DC8.6040204@gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 20:47 +0100 on 01 May (1335905240), Julian Pidancet wrote:
> I don't think ACPI and SMBIOS firmware passthrough are the only use
> cases here.
> 
> The module architecture could also be used to pass the BIOS and Option
> ROMs to hvmloader. The toolstack could load them from dom0's filesystem
> dynamically and pass them to hvmloader, instead of having them
> compiled-in statically in hvmloader.

AFAIK the BIOS can already load option ROMs from real or emulated
hardware, the way a real BIOS does, and I think that's a good interface.

Is loading a custom BIOS (as opposed to option ROM) something you
actually want to do, BTW?

> Would we still be able to do that with the simplifications you're
> suggesting here ?

Yes, you could definitely do it without all this module stuff.  Passing
an address and length in Xenstore would work.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 22:18:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 22:18:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPLOU-0004Xg-7W; Tue, 01 May 2012 22:18:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPLOS-0004Xb-7x
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 22:18:00 +0000
Received: from [193.109.254.147:55830] by server-9.bemta-14.messagelabs.com id
	87/CF-05787-71160AF4; Tue, 01 May 2012 22:17:59 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1335910678!7167329!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5986 invoked from network); 1 May 2012 22:17:58 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 22:17:58 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPLOO-000I4a-Uf; Tue, 01 May 2012 22:17:56 +0000
Date: Tue, 1 May 2012 23:17:56 +0100
From: Tim Deegan <tim@xen.org>
To: Julian Pidancet <julian.pidancet@gmail.com>
Message-ID: <20120501221756.GA69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA03DC8.6040204@gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 20:47 +0100 on 01 May (1335905240), Julian Pidancet wrote:
> I don't think ACPI and SMBIOS firmware passthrough are the only use
> cases here.
> 
> The module architecture could also be used to pass the BIOS and Option
> ROMs to hvmloader. The toolstack could load them from dom0's filesystem
> dynamically and pass them to hvmloader, instead of having them
> compiled-in statically in hvmloader.

AFAIK the BIOS can already load option ROMs from real or emulated
hardware, the way a real BIOS does, and I think that's a good interface.

Is loading a custom BIOS (as opposed to option ROM) something you
actually want to do, BTW?

> Would we still be able to do that with the simplifications you're
> suggesting here ?

Yes, you could definitely do it without all this module stuff.  Passing
an address and length in Xenstore would work.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 22:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 22:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPLfq-0004jK-TE; Tue, 01 May 2012 22:35:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPLfp-0004jF-5u
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 22:35:57 +0000
Received: from [85.158.138.51:6406] by server-9.bemta-3.messagelabs.com id
	79/4F-26691-C4560AF4; Tue, 01 May 2012 22:35:56 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1335911753!24701702!1
X-Originating-IP: [65.55.88.11]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27306 invoked from network); 1 May 2012 22:35:54 -0000
Received: from tx2ehsobe001.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.11)
	by server-4.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	1 May 2012 22:35:54 -0000
Received: from mail129-tx2-R.bigfish.com (10.9.14.242) by
	TX2EHSOBE003.bigfish.com (10.9.40.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 1 May 2012 22:35:45 +0000
Received: from mail129-tx2 (localhost [127.0.0.1])	by
	mail129-tx2-R.bigfish.com (Postfix) with ESMTP id 7F509440191;
	Tue,  1 May 2012 22:35:45 +0000 (UTC)
X-SpamScore: -17
X-BigFish: VPS-17(zzbb2dI9371I1432N98dK179dNzz1202hzz8275dhz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail129-tx2 (localhost.localdomain [127.0.0.1]) by mail129-tx2
	(MessageSwitch) id 133591174360014_24320;
	Tue,  1 May 2012 22:35:43 +0000 (UTC)
Received: from TX2EHSMHS023.bigfish.com (unknown [10.9.14.246])	by
	mail129-tx2.bigfish.com (Postfix) with ESMTP id 0883DC0059;
	Tue,  1 May 2012 22:35:43 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS023.bigfish.com (10.9.99.123) with Microsoft SMTP Server id
	14.1.225.23; Tue, 1 May 2012 22:35:42 +0000
X-WSS-ID: 0M3D83L-02-DOY-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 282B3C80F8;	Tue,  1 May 2012 17:35:44 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 1 May 2012 17:35:55 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	17:35:46 -0500
Message-ID: <4FA06541.7050607@amd.com>
Date: Tue, 1 May 2012 18:35:45 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Stefan Bader
	<stefan.bader@canonical.com>
References: <4F97F58A.8090409@canonical.com>	<20120426155033.GE26830@phenom.dumpdata.com>	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
In-Reply-To: <20120501200207.GA15313@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>> Since there have been requests about that driver to get backported into 3.2, I
>>>> was interested to find out what or how much would be gained by that.
>>>>
>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
>>>> was not very successful as the drivers bail out of the init function because the
>>>> first call to acpi_processor_register_performance() returns -ENODEV. There is
>>>> some frequency scaling when running without Xen, so I need to do some more
>>>> debugging there.

I believe this is caused by the somewhat under-enlightened xen_apic_read():

static u32 xen_apic_read(u32 reg)
{
         return 0;
}

This results in some data, most importantly boot_cpu_physical_apicid, 
not being set correctly and, in turn, causes x86_cpu_to_apicid to be 
broken.

On larger AMD systems boot processor is typically APICID=0x20 (I don't 
have Intel system handy to see how it looks there).

As a quick and dirty test you can try:

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index edc2448..1f78998 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long 
address)
         }
         if (boot_cpu_physical_apicid == -1U) {
                 boot_cpu_physical_apicid  = read_apic_id();
+               boot_cpu_physical_apicid = 32;
                 apic_version[boot_cpu_physical_apicid] =
                          GET_APIC_VERSION(apic_read(APIC_LVR));
         }


(Set it to whatever APICID on core0 is, I suspect it won't be zero).

-boris


>>>
>>> Did you back-port the other components - the ones that turn off the native
>>> frequency scalling?
>>>
>>>        provide disable_cpufreq() function to disable the API.
>>> 	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>>>        xen/cpufreq: Disable the cpu frequency scaling drivers from loading
>>>>
>>
>> Yes, here is the full set for reference:
>>
>> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
>> * xen/acpi: Remove the WARN's as they just create noise.
>> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
>> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>> * xen/acpi-processor: C and P-state driver that uploads said data to hyper
>> * provide disable_cpufreq() function to disable the API.
>
> And (Linus just pulled it), you also need this one:
>   df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded.)
>
>>
>>>> The second system was an Intel one (4 core i7 920@2.67GHz) which was
>>>> successfully loading the driver. Via xenpm I can see the various frequencies and
>>>> also see them being changed. However the cpuidle data out of xenpm looks a bit odd:
>>>>
>>>> #>  xenpm get-cpuidle-states 0
>>>> Max C-state: C7
>>>>
>>>> cpu id               : 0
>>>> total C-states       : 2
>>>> idle time(ms)        : 10819311
>>>> C0                   : transition [00000000000000000001]
>>>>                         residency  [00000000000000005398 ms]
>>>> C1                   : transition [00000000000000000001]
>>>>                         residency  [00000000000010819311 ms]
>>>> pc3                  : [00000000000000000000 ms]
>>>> pc6                  : [00000000000000000000 ms]
>>>> pc7                  : [00000000000000000000 ms]
>>>> cc3                  : [00000000000000000000 ms]
>>>> cc6                  : [00000000000000000000 ms]
>>>>
>>>> Also gathering samples over 30s does look like only C0 and C1 are used. This
>>>
>>> Yes.
>>>> might be because C1E support is enabled in BIOS but when looking at the
>>>> intel_idle data in sysfs when running without a hypervisor will show C3 and C6
>>>> for the cores. That could have been just a wrong output, so I plugged in a power
>>>> meter and compared a kernel running natively and running as dom0 (with and
>>>> without the acpi-processor driver).
>>>>
>>>> Native: 175W
>>>> dom0:   183W (with only marginal difference between with or without the
>>>>                processor driver)
>>>> [yes, the system has a somewhat high base consumption which I attribute to a
>>>> ridiculously dimensioned graphics subsystem to be running a text console]
>>>>
>>>> This I would take as C3 and C6 really not being used and the frequency scaling
>
> So the other thing I forgot to note is that C3->C6 have a detrimental
> effect on some Intel boxes with Xen. We haven't figured out exactly which ones
> and the bug is definitly in the hypervisor. The bug is that when the CPU goes in
> those states the NIC ends up being unresponsive. Its like the interrupts stopped
> being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
>
>>>
>>> To go in deeper modes there is also a need to backport a Xen unstable
>>> hypercall which will allow the kernel to detect the other states besides
>>> C0-C2.
>>>
>>> "XEN_SET_PDC query was implemented in c/s 23783:
>>>      "ACPI: add _PDC input override mechanism".
>>>
>>
>> I see. There is a kernel patch about enabling MWAIT that refers to that...
>
> Were there any special things you ran when checking the output? Just plugging
> and looking at the results?
>>
>>>
>>>> having no impact on the idle system is not that much surprising. But if that was
>>>> true it would also limit the usefulness of the turbo mode which I understand
>>>> would also be limited by the c-state of the other cores.
>>>
>>> Hm, I should double-check that - but somehow I thought that Xen independetly
>>> checks for TurboMode and if the P-states are in, then they are activated.
>
> I did a bit of checking around and it does seem that is the case. From what
> I have gathered the TurboMode kicks in when the CPU is C0 mode (which should
> be obvious), and when the other cores are in anything but C0 mode. And sure
> enough that seems to be the case. But I can't get the concrete details whether
> the "but C0 mode" means that TurboMode will work better if the C mode is legacy
> C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out from
> Len Brown more details..
>>>
>> Turbo mode should be enabled. I had been only looking at a generic overview
>> about it on Intel site which sounded like it  would make more of a difference on
>> how much one core could get overclocked related to how many cores are active
>> (and I translated active or not into deeper c-states or not).
>> Looking at the verbose output of turbostat it seems not to make that much
>> difference whether 2-4 cores are running. A single core alone could get one more
>> increment in clock stepping. That does not immediately sound a lot. And of
>> course how much or long the higher clock is used depends on other factors as
>> well and is not under OS control.
>>
>> In the end it is probably quite dynamic and hard to come up with hard facts to
>> prove its value. Though if I can lower the idle power usage by reaching a bit
>> further, that would greatly help to justify the effort and potential risk of
>> backporting...
>
> I understand. I wish I could give you the exact percentage points by which
> the power usage will drop. But I think the more substantial reason benefit of
> these patches is performance gains. The ones that Ian Campbell ran and were
> posted on Phorenix site paint that they are beneficial.
>
>>
>>>>
>>>> Do I misread the data I see? Or maybe its a known limitation? In case it is
>>>> worth doing more research I'll gladly try things and gather more data.
>>>
>>> Just missing some patches.
>>>
>>> Oh, and this one:
>>>        xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>>
>>> Hmm.. I think a patch disappeared somewhere.
>
> That was the one I referenced at the beginning of this email.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 22:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 22:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPLfq-0004jK-TE; Tue, 01 May 2012 22:35:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPLfp-0004jF-5u
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 22:35:57 +0000
Received: from [85.158.138.51:6406] by server-9.bemta-3.messagelabs.com id
	79/4F-26691-C4560AF4; Tue, 01 May 2012 22:35:56 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1335911753!24701702!1
X-Originating-IP: [65.55.88.11]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27306 invoked from network); 1 May 2012 22:35:54 -0000
Received: from tx2ehsobe001.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.11)
	by server-4.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	1 May 2012 22:35:54 -0000
Received: from mail129-tx2-R.bigfish.com (10.9.14.242) by
	TX2EHSOBE003.bigfish.com (10.9.40.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 1 May 2012 22:35:45 +0000
Received: from mail129-tx2 (localhost [127.0.0.1])	by
	mail129-tx2-R.bigfish.com (Postfix) with ESMTP id 7F509440191;
	Tue,  1 May 2012 22:35:45 +0000 (UTC)
X-SpamScore: -17
X-BigFish: VPS-17(zzbb2dI9371I1432N98dK179dNzz1202hzz8275dhz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail129-tx2 (localhost.localdomain [127.0.0.1]) by mail129-tx2
	(MessageSwitch) id 133591174360014_24320;
	Tue,  1 May 2012 22:35:43 +0000 (UTC)
Received: from TX2EHSMHS023.bigfish.com (unknown [10.9.14.246])	by
	mail129-tx2.bigfish.com (Postfix) with ESMTP id 0883DC0059;
	Tue,  1 May 2012 22:35:43 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS023.bigfish.com (10.9.99.123) with Microsoft SMTP Server id
	14.1.225.23; Tue, 1 May 2012 22:35:42 +0000
X-WSS-ID: 0M3D83L-02-DOY-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 282B3C80F8;	Tue,  1 May 2012 17:35:44 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 1 May 2012 17:35:55 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	17:35:46 -0500
Message-ID: <4FA06541.7050607@amd.com>
Date: Tue, 1 May 2012 18:35:45 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Stefan Bader
	<stefan.bader@canonical.com>
References: <4F97F58A.8090409@canonical.com>	<20120426155033.GE26830@phenom.dumpdata.com>	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
In-Reply-To: <20120501200207.GA15313@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>> Since there have been requests about that driver to get backported into 3.2, I
>>>> was interested to find out what or how much would be gained by that.
>>>>
>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
>>>> was not very successful as the drivers bail out of the init function because the
>>>> first call to acpi_processor_register_performance() returns -ENODEV. There is
>>>> some frequency scaling when running without Xen, so I need to do some more
>>>> debugging there.

I believe this is caused by the somewhat under-enlightened xen_apic_read():

static u32 xen_apic_read(u32 reg)
{
         return 0;
}

This results in some data, most importantly boot_cpu_physical_apicid, 
not being set correctly and, in turn, causes x86_cpu_to_apicid to be 
broken.

On larger AMD systems boot processor is typically APICID=0x20 (I don't 
have Intel system handy to see how it looks there).

As a quick and dirty test you can try:

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index edc2448..1f78998 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long 
address)
         }
         if (boot_cpu_physical_apicid == -1U) {
                 boot_cpu_physical_apicid  = read_apic_id();
+               boot_cpu_physical_apicid = 32;
                 apic_version[boot_cpu_physical_apicid] =
                          GET_APIC_VERSION(apic_read(APIC_LVR));
         }


(Set it to whatever APICID on core0 is, I suspect it won't be zero).

-boris


>>>
>>> Did you back-port the other components - the ones that turn off the native
>>> frequency scalling?
>>>
>>>        provide disable_cpufreq() function to disable the API.
>>> 	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>>>        xen/cpufreq: Disable the cpu frequency scaling drivers from loading
>>>>
>>
>> Yes, here is the full set for reference:
>>
>> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
>> * xen/acpi: Remove the WARN's as they just create noise.
>> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
>> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>> * xen/acpi-processor: C and P-state driver that uploads said data to hyper
>> * provide disable_cpufreq() function to disable the API.
>
> And (Linus just pulled it), you also need this one:
>   df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded.)
>
>>
>>>> The second system was an Intel one (4 core i7 920@2.67GHz) which was
>>>> successfully loading the driver. Via xenpm I can see the various frequencies and
>>>> also see them being changed. However the cpuidle data out of xenpm looks a bit odd:
>>>>
>>>> #>  xenpm get-cpuidle-states 0
>>>> Max C-state: C7
>>>>
>>>> cpu id               : 0
>>>> total C-states       : 2
>>>> idle time(ms)        : 10819311
>>>> C0                   : transition [00000000000000000001]
>>>>                         residency  [00000000000000005398 ms]
>>>> C1                   : transition [00000000000000000001]
>>>>                         residency  [00000000000010819311 ms]
>>>> pc3                  : [00000000000000000000 ms]
>>>> pc6                  : [00000000000000000000 ms]
>>>> pc7                  : [00000000000000000000 ms]
>>>> cc3                  : [00000000000000000000 ms]
>>>> cc6                  : [00000000000000000000 ms]
>>>>
>>>> Also gathering samples over 30s does look like only C0 and C1 are used. This
>>>
>>> Yes.
>>>> might be because C1E support is enabled in BIOS but when looking at the
>>>> intel_idle data in sysfs when running without a hypervisor will show C3 and C6
>>>> for the cores. That could have been just a wrong output, so I plugged in a power
>>>> meter and compared a kernel running natively and running as dom0 (with and
>>>> without the acpi-processor driver).
>>>>
>>>> Native: 175W
>>>> dom0:   183W (with only marginal difference between with or without the
>>>>                processor driver)
>>>> [yes, the system has a somewhat high base consumption which I attribute to a
>>>> ridiculously dimensioned graphics subsystem to be running a text console]
>>>>
>>>> This I would take as C3 and C6 really not being used and the frequency scaling
>
> So the other thing I forgot to note is that C3->C6 have a detrimental
> effect on some Intel boxes with Xen. We haven't figured out exactly which ones
> and the bug is definitly in the hypervisor. The bug is that when the CPU goes in
> those states the NIC ends up being unresponsive. Its like the interrupts stopped
> being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
>
>>>
>>> To go in deeper modes there is also a need to backport a Xen unstable
>>> hypercall which will allow the kernel to detect the other states besides
>>> C0-C2.
>>>
>>> "XEN_SET_PDC query was implemented in c/s 23783:
>>>      "ACPI: add _PDC input override mechanism".
>>>
>>
>> I see. There is a kernel patch about enabling MWAIT that refers to that...
>
> Were there any special things you ran when checking the output? Just plugging
> and looking at the results?
>>
>>>
>>>> having no impact on the idle system is not that much surprising. But if that was
>>>> true it would also limit the usefulness of the turbo mode which I understand
>>>> would also be limited by the c-state of the other cores.
>>>
>>> Hm, I should double-check that - but somehow I thought that Xen independetly
>>> checks for TurboMode and if the P-states are in, then they are activated.
>
> I did a bit of checking around and it does seem that is the case. From what
> I have gathered the TurboMode kicks in when the CPU is C0 mode (which should
> be obvious), and when the other cores are in anything but C0 mode. And sure
> enough that seems to be the case. But I can't get the concrete details whether
> the "but C0 mode" means that TurboMode will work better if the C mode is legacy
> C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out from
> Len Brown more details..
>>>
>> Turbo mode should be enabled. I had been only looking at a generic overview
>> about it on Intel site which sounded like it  would make more of a difference on
>> how much one core could get overclocked related to how many cores are active
>> (and I translated active or not into deeper c-states or not).
>> Looking at the verbose output of turbostat it seems not to make that much
>> difference whether 2-4 cores are running. A single core alone could get one more
>> increment in clock stepping. That does not immediately sound a lot. And of
>> course how much or long the higher clock is used depends on other factors as
>> well and is not under OS control.
>>
>> In the end it is probably quite dynamic and hard to come up with hard facts to
>> prove its value. Though if I can lower the idle power usage by reaching a bit
>> further, that would greatly help to justify the effort and potential risk of
>> backporting...
>
> I understand. I wish I could give you the exact percentage points by which
> the power usage will drop. But I think the more substantial reason benefit of
> these patches is performance gains. The ones that Ian Campbell ran and were
> posted on Phorenix site paint that they are beneficial.
>
>>
>>>>
>>>> Do I misread the data I see? Or maybe its a known limitation? In case it is
>>>> worth doing more research I'll gladly try things and gather more data.
>>>
>>> Just missing some patches.
>>>
>>> Oh, and this one:
>>>        xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>>
>>> Hmm.. I think a patch disappeared somewhere.
>
> That was the one I referenced at the beginning of this email.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 22:53:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 22:53:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPLwS-000575-7X; Tue, 01 May 2012 22:53:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPLwQ-000570-Gm
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 22:53:06 +0000
Received: from [85.158.143.99:11451] by server-3.bemta-4.messagelabs.com id
	52/5F-05853-15960AF4; Tue, 01 May 2012 22:53:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1335912785!26073361!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28668 invoked from network); 1 May 2012 22:53:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 22:53:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,512,1330905600"; d="scan'208";a="12233556"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 22:53:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 23:53:04 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPLwO-0003Tm-Ij;
	Tue, 01 May 2012 22:53:04 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPLwL-0003Qc-AF;
	Tue, 01 May 2012 23:53:04 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12770-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 23:53:01 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12770: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12770 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12770/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl            9 guest-start               fail REGR. vs. 12746
 test-amd64-i386-xl-credit2    3 host-install(3)         broken REGR. vs. 12746
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12746
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12746
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12746

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 22:53:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 22:53:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPLwS-000575-7X; Tue, 01 May 2012 22:53:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPLwQ-000570-Gm
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 22:53:06 +0000
Received: from [85.158.143.99:11451] by server-3.bemta-4.messagelabs.com id
	52/5F-05853-15960AF4; Tue, 01 May 2012 22:53:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1335912785!26073361!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28668 invoked from network); 1 May 2012 22:53:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 22:53:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,512,1330905600"; d="scan'208";a="12233556"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 22:53:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 1 May 2012 23:53:04 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPLwO-0003Tm-Ij;
	Tue, 01 May 2012 22:53:04 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPLwL-0003Qc-AF;
	Tue, 01 May 2012 23:53:04 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12770-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 1 May 2012 23:53:01 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12770: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12770 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12770/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl            9 guest-start               fail REGR. vs. 12746
 test-amd64-i386-xl-credit2    3 host-install(3)         broken REGR. vs. 12746
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12746
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12746
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12746

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 23:00:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:00:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPM39-0005L4-4D; Tue, 01 May 2012 23:00:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <swaplinker@gmail.com>) id 1SPM37-0005J5-K5
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:00:01 +0000
Received: from [85.158.143.99:24348] by server-1.bemta-4.messagelabs.com id
	30/61-20925-0FA60AF4; Tue, 01 May 2012 23:00:00 +0000
X-Env-Sender: swaplinker@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1335913198!25148236!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12209 invoked from network); 1 May 2012 23:00:00 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 23:00:00 -0000
Received: by obfk16 with SMTP id k16so76391obf.30
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 15:59:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=tYX+utWqZbNLAC4RQ6FZLXpiZ3ZKPlcP71oHmbaK+aA=;
	b=UHXjafgKJ6eGQ4OXd4zFh2AngBIG9MzGcyjnuVCu3P+WsVL/ut5oxdHp4d/t2vUnyF
	5NhKLZtIbR4Hf9Y+9MRMV9BwfRD58NbGgtRNRcsqL2R9sauFU8ynigmtnPWW/YBfTPxa
	+1VgxvGjf0LAE5s9uGgk1GlNqGwylHfVkWhKQV272zejZ+EBqGMCq2euOKzZs27W77yb
	7iEyteFmSnmqXaxCXHkQds5hVaXDK1eU4hOSBKjzvzlJEkGLdR8FwlTXSHvXUNhHGUJc
	DuZe6h+muEQZNwoQBtGJl0AqAyliNyd3dCUQJSPnd/KtDModInxLCPlucDEznsHRnobm
	s7pg==
Received: by 10.60.20.38 with SMTP id k6mr36624246oee.26.1335913198578; Tue,
	01 May 2012 15:59:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.60.168.172 with HTTP; Tue, 1 May 2012 15:59:38 -0700 (PDT)
In-Reply-To: <20120501221756.GA69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
	<20120501221756.GA69356@ocelot.phlegethon.org>
From: Julian Pidancet <julian.pidancet@gmail.com>
Date: Tue, 1 May 2012 23:59:38 +0100
X-Google-Sender-Auth: MTKZeNgPf4CxcxNBXY5o0ktc4zA
Message-ID: <CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
To: Tim Deegan <tim@xen.org>
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCBNYXkgMSwgMjAxMiBhdCAxMToxNyBQTSwgVGltIERlZWdhbiA8dGltQHhlbi5vcmc+
IHdyb3RlOgo+IEF0IDIwOjQ3ICswMTAwIG9uIDAxIE1heSAoMTMzNTkwNTI0MCksIEp1bGlhbiBQ
aWRhbmNldCB3cm90ZToKPj4gSSBkb24ndCB0aGluayBBQ1BJIGFuZCBTTUJJT1MgZmlybXdhcmUg
cGFzc3Rocm91Z2ggYXJlIHRoZSBvbmx5IHVzZQo+PiBjYXNlcyBoZXJlLgo+Pgo+PiBUaGUgbW9k
dWxlIGFyY2hpdGVjdHVyZSBjb3VsZCBhbHNvIGJlIHVzZWQgdG8gcGFzcyB0aGUgQklPUyBhbmQg
T3B0aW9uCj4+IFJPTXMgdG8gaHZtbG9hZGVyLiBUaGUgdG9vbHN0YWNrIGNvdWxkIGxvYWQgdGhl
bSBmcm9tIGRvbTAncyBmaWxlc3lzdGVtCj4+IGR5bmFtaWNhbGx5IGFuZCBwYXNzIHRoZW0gdG8g
aHZtbG9hZGVyLCBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtCj4+IGNvbXBpbGVkLWluIHN0YXRpY2Fs
bHkgaW4gaHZtbG9hZGVyLgo+Cj4gQUZBSUsgdGhlIEJJT1MgY2FuIGFscmVhZHkgbG9hZCBvcHRp
b24gUk9NcyBmcm9tIHJlYWwgb3IgZW11bGF0ZWQKPiBoYXJkd2FyZSwgdGhlIHdheSBhIHJlYWwg
QklPUyBkb2VzLCBhbmQgSSB0aGluayB0aGF0J3MgYSBnb29kIGludGVyZmFjZS4KPgoKVGhhdCdz
IHRydWUgZm9yIFNlYUJJT1MsIGJ1dCB3aGVuIHVzaW5nIHJvbWJpb3MsIGh2bWxvYWRlciBsb2Fk
cyB0aGUKVkdBIG9wdGlvbiBST00gYW5kIGV0aGVyYm9vdCBpbnRvIHRoZSBWTSdzIGFkZHJlc3Mg
c3BhY2UgYmVmb3JlCmV4ZWN1dGluZyB0aGUgQklPUy4KCj4gSXMgbG9hZGluZyBhIGN1c3RvbSBC
SU9TIChhcyBvcHBvc2VkIHRvIG9wdGlvbiBST00pIHNvbWV0aGluZyB5b3UKPiBhY3R1YWxseSB3
YW50IHRvIGRvLCBCVFc/Cj4KClllcy4KCj4+IFdvdWxkIHdlIHN0aWxsIGJlIGFibGUgdG8gZG8g
dGhhdCB3aXRoIHRoZSBzaW1wbGlmaWNhdGlvbnMgeW91J3JlCj4+IHN1Z2dlc3RpbmcgaGVyZSA/
Cj4KPiBZZXMsIHlvdSBjb3VsZCBkZWZpbml0ZWx5IGRvIGl0IHdpdGhvdXQgYWxsIHRoaXMgbW9k
dWxlIHN0dWZmLiDCoFBhc3NpbmcKPiBhbiBhZGRyZXNzIGFuZCBsZW5ndGggaW4gWGVuc3RvcmUg
d291bGQgd29yay4KPgoKSXNuJ3QgaXQga2luZCBvZiB0aGUgc2FtZSB0aGluZyA/IEkgbWVhbiwg
dGhlIEJJT1Mgb3IgYW4gT3B0aW9uIFJPTSB0bwpwcmUtbG9hZCBjb3VsZCBiZSBzZWVuIGJ5IGh2
bWxvYWRlciBhcyAibW9kdWxlcyIgYmVjYXVzZSB0aGV5IHdvdWxkCmhhdmUgdG8gYmUgcGFzc2Vk
IGJ5IHRoZSB0b29sc3RhY2sgdGhlIHNhbWUgd2F5IGFzIEFDUEkgb3IgU01CSU9TCnRhYmxlcy4K
Ci0tIApKdWxpYW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 01 23:00:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:00:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPM39-0005L4-4D; Tue, 01 May 2012 23:00:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <swaplinker@gmail.com>) id 1SPM37-0005J5-K5
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:00:01 +0000
Received: from [85.158.143.99:24348] by server-1.bemta-4.messagelabs.com id
	30/61-20925-0FA60AF4; Tue, 01 May 2012 23:00:00 +0000
X-Env-Sender: swaplinker@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1335913198!25148236!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12209 invoked from network); 1 May 2012 23:00:00 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 23:00:00 -0000
Received: by obfk16 with SMTP id k16so76391obf.30
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 15:59:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=tYX+utWqZbNLAC4RQ6FZLXpiZ3ZKPlcP71oHmbaK+aA=;
	b=UHXjafgKJ6eGQ4OXd4zFh2AngBIG9MzGcyjnuVCu3P+WsVL/ut5oxdHp4d/t2vUnyF
	5NhKLZtIbR4Hf9Y+9MRMV9BwfRD58NbGgtRNRcsqL2R9sauFU8ynigmtnPWW/YBfTPxa
	+1VgxvGjf0LAE5s9uGgk1GlNqGwylHfVkWhKQV272zejZ+EBqGMCq2euOKzZs27W77yb
	7iEyteFmSnmqXaxCXHkQds5hVaXDK1eU4hOSBKjzvzlJEkGLdR8FwlTXSHvXUNhHGUJc
	DuZe6h+muEQZNwoQBtGJl0AqAyliNyd3dCUQJSPnd/KtDModInxLCPlucDEznsHRnobm
	s7pg==
Received: by 10.60.20.38 with SMTP id k6mr36624246oee.26.1335913198578; Tue,
	01 May 2012 15:59:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.60.168.172 with HTTP; Tue, 1 May 2012 15:59:38 -0700 (PDT)
In-Reply-To: <20120501221756.GA69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
	<20120501221756.GA69356@ocelot.phlegethon.org>
From: Julian Pidancet <julian.pidancet@gmail.com>
Date: Tue, 1 May 2012 23:59:38 +0100
X-Google-Sender-Auth: MTKZeNgPf4CxcxNBXY5o0ktc4zA
Message-ID: <CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
To: Tim Deegan <tim@xen.org>
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCBNYXkgMSwgMjAxMiBhdCAxMToxNyBQTSwgVGltIERlZWdhbiA8dGltQHhlbi5vcmc+
IHdyb3RlOgo+IEF0IDIwOjQ3ICswMTAwIG9uIDAxIE1heSAoMTMzNTkwNTI0MCksIEp1bGlhbiBQ
aWRhbmNldCB3cm90ZToKPj4gSSBkb24ndCB0aGluayBBQ1BJIGFuZCBTTUJJT1MgZmlybXdhcmUg
cGFzc3Rocm91Z2ggYXJlIHRoZSBvbmx5IHVzZQo+PiBjYXNlcyBoZXJlLgo+Pgo+PiBUaGUgbW9k
dWxlIGFyY2hpdGVjdHVyZSBjb3VsZCBhbHNvIGJlIHVzZWQgdG8gcGFzcyB0aGUgQklPUyBhbmQg
T3B0aW9uCj4+IFJPTXMgdG8gaHZtbG9hZGVyLiBUaGUgdG9vbHN0YWNrIGNvdWxkIGxvYWQgdGhl
bSBmcm9tIGRvbTAncyBmaWxlc3lzdGVtCj4+IGR5bmFtaWNhbGx5IGFuZCBwYXNzIHRoZW0gdG8g
aHZtbG9hZGVyLCBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtCj4+IGNvbXBpbGVkLWluIHN0YXRpY2Fs
bHkgaW4gaHZtbG9hZGVyLgo+Cj4gQUZBSUsgdGhlIEJJT1MgY2FuIGFscmVhZHkgbG9hZCBvcHRp
b24gUk9NcyBmcm9tIHJlYWwgb3IgZW11bGF0ZWQKPiBoYXJkd2FyZSwgdGhlIHdheSBhIHJlYWwg
QklPUyBkb2VzLCBhbmQgSSB0aGluayB0aGF0J3MgYSBnb29kIGludGVyZmFjZS4KPgoKVGhhdCdz
IHRydWUgZm9yIFNlYUJJT1MsIGJ1dCB3aGVuIHVzaW5nIHJvbWJpb3MsIGh2bWxvYWRlciBsb2Fk
cyB0aGUKVkdBIG9wdGlvbiBST00gYW5kIGV0aGVyYm9vdCBpbnRvIHRoZSBWTSdzIGFkZHJlc3Mg
c3BhY2UgYmVmb3JlCmV4ZWN1dGluZyB0aGUgQklPUy4KCj4gSXMgbG9hZGluZyBhIGN1c3RvbSBC
SU9TIChhcyBvcHBvc2VkIHRvIG9wdGlvbiBST00pIHNvbWV0aGluZyB5b3UKPiBhY3R1YWxseSB3
YW50IHRvIGRvLCBCVFc/Cj4KClllcy4KCj4+IFdvdWxkIHdlIHN0aWxsIGJlIGFibGUgdG8gZG8g
dGhhdCB3aXRoIHRoZSBzaW1wbGlmaWNhdGlvbnMgeW91J3JlCj4+IHN1Z2dlc3RpbmcgaGVyZSA/
Cj4KPiBZZXMsIHlvdSBjb3VsZCBkZWZpbml0ZWx5IGRvIGl0IHdpdGhvdXQgYWxsIHRoaXMgbW9k
dWxlIHN0dWZmLiDCoFBhc3NpbmcKPiBhbiBhZGRyZXNzIGFuZCBsZW5ndGggaW4gWGVuc3RvcmUg
d291bGQgd29yay4KPgoKSXNuJ3QgaXQga2luZCBvZiB0aGUgc2FtZSB0aGluZyA/IEkgbWVhbiwg
dGhlIEJJT1Mgb3IgYW4gT3B0aW9uIFJPTSB0bwpwcmUtbG9hZCBjb3VsZCBiZSBzZWVuIGJ5IGh2
bWxvYWRlciBhcyAibW9kdWxlcyIgYmVjYXVzZSB0aGV5IHdvdWxkCmhhdmUgdG8gYmUgcGFzc2Vk
IGJ5IHRoZSB0b29sc3RhY2sgdGhlIHNhbWUgd2F5IGFzIEFDUEkgb3IgU01CSU9TCnRhYmxlcy4K
Ci0tIApKdWxpYW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 01 23:01:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPM3t-0005Ni-I4; Tue, 01 May 2012 23:00:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPM3r-0005NT-NQ
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:00:48 +0000
Received: from [85.158.138.51:17896] by server-6.bemta-3.messagelabs.com id
	60/D8-05145-E1B60AF4; Tue, 01 May 2012 23:00:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1335913244!24622322!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17254 invoked from network); 1 May 2012 23:00:45 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 23:00:45 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41N0dsY030559
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 23:00:40 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41N0coG000320
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 23:00:38 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41N0bxp023387; Tue, 1 May 2012 18:00:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 16:00:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5352C40357; Tue,  1 May 2012 18:54:56 -0400 (EDT)
Date: Tue, 1 May 2012 18:54:56 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120501225456.GA13757@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA06541.7050607@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 06:35:45PM -0400, Boris Ostrovsky wrote:
> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> >On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> >>On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> >>>On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> >>>>Since there have been requests about that driver to get backported into 3.2, I
> >>>>was interested to find out what or how much would be gained by that.
> >>>>
> >>>>The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
> >>>>was not very successful as the drivers bail out of the init function because the
> >>>>first call to acpi_processor_register_performance() returns -ENODEV. There is
> >>>>some frequency scaling when running without Xen, so I need to do some more
> >>>>debugging there.
> 
> I believe this is caused by the somewhat under-enlightened xen_apic_read():
> 
> static u32 xen_apic_read(u32 reg)
> {
>         return 0;
> }
> 
> This results in some data, most importantly
> boot_cpu_physical_apicid, not being set correctly and, in turn,
> causes x86_cpu_to_apicid to be broken.

What is the involvment of x86_cpu_to_apicid to acpi_processor_register_performance?
Or is this more of a stab in the dark?

Stefan, one way to debug this is to make the driver be a module and then
configure the /sys/../acpi/debug_level and debug_layer to be 0xffffffff
and try loading the module. It should print out tons of data (And the reason
it returned -Exxx).
> 
> On larger AMD systems boot processor is typically APICID=0x20 (I
> don't have Intel system handy to see how it looks there).
> 
> As a quick and dirty test you can try:
> 
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index edc2448..1f78998 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned
> long address)
>         }
>         if (boot_cpu_physical_apicid == -1U) {
>                 boot_cpu_physical_apicid  = read_apic_id();
> +               boot_cpu_physical_apicid = 32;
>                 apic_version[boot_cpu_physical_apicid] =
>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>         }
> 
> 
> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
> 
> -boris
> 
> 
> >>>
> >>>Did you back-port the other components - the ones that turn off the native
> >>>frequency scalling?
> >>>
> >>>       provide disable_cpufreq() function to disable the API.
> >>>	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> >>>       xen/cpufreq: Disable the cpu frequency scaling drivers from loading
> >>>>
> >>
> >>Yes, here is the full set for reference:
> >>
> >>* xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
> >>* xen/acpi: Remove the WARN's as they just create noise.
> >>* xen/acpi: Fix Kconfig dependency on CPU_FREQ
> >>* xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> >>* xen/acpi-processor: C and P-state driver that uploads said data to hyper
> >>* provide disable_cpufreq() function to disable the API.
> >
> >And (Linus just pulled it), you also need this one:
> >  df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded.)
> >
> >>
> >>>>The second system was an Intel one (4 core i7 920@2.67GHz) which was
> >>>>successfully loading the driver. Via xenpm I can see the various frequencies and
> >>>>also see them being changed. However the cpuidle data out of xenpm looks a bit odd:
> >>>>
> >>>>#>  xenpm get-cpuidle-states 0
> >>>>Max C-state: C7
> >>>>
> >>>>cpu id               : 0
> >>>>total C-states       : 2
> >>>>idle time(ms)        : 10819311
> >>>>C0                   : transition [00000000000000000001]
> >>>>                        residency  [00000000000000005398 ms]
> >>>>C1                   : transition [00000000000000000001]
> >>>>                        residency  [00000000000010819311 ms]
> >>>>pc3                  : [00000000000000000000 ms]
> >>>>pc6                  : [00000000000000000000 ms]
> >>>>pc7                  : [00000000000000000000 ms]
> >>>>cc3                  : [00000000000000000000 ms]
> >>>>cc6                  : [00000000000000000000 ms]
> >>>>
> >>>>Also gathering samples over 30s does look like only C0 and C1 are used. This
> >>>
> >>>Yes.
> >>>>might be because C1E support is enabled in BIOS but when looking at the
> >>>>intel_idle data in sysfs when running without a hypervisor will show C3 and C6
> >>>>for the cores. That could have been just a wrong output, so I plugged in a power
> >>>>meter and compared a kernel running natively and running as dom0 (with and
> >>>>without the acpi-processor driver).
> >>>>
> >>>>Native: 175W
> >>>>dom0:   183W (with only marginal difference between with or without the
> >>>>               processor driver)
> >>>>[yes, the system has a somewhat high base consumption which I attribute to a
> >>>>ridiculously dimensioned graphics subsystem to be running a text console]
> >>>>
> >>>>This I would take as C3 and C6 really not being used and the frequency scaling
> >
> >So the other thing I forgot to note is that C3->C6 have a detrimental
> >effect on some Intel boxes with Xen. We haven't figured out exactly which ones
> >and the bug is definitly in the hypervisor. The bug is that when the CPU goes in
> >those states the NIC ends up being unresponsive. Its like the interrupts stopped
> >being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
> >
> >>>
> >>>To go in deeper modes there is also a need to backport a Xen unstable
> >>>hypercall which will allow the kernel to detect the other states besides
> >>>C0-C2.
> >>>
> >>>"XEN_SET_PDC query was implemented in c/s 23783:
> >>>     "ACPI: add _PDC input override mechanism".
> >>>
> >>
> >>I see. There is a kernel patch about enabling MWAIT that refers to that...
> >
> >Were there any special things you ran when checking the output? Just plugging
> >and looking at the results?
> >>
> >>>
> >>>>having no impact on the idle system is not that much surprising. But if that was
> >>>>true it would also limit the usefulness of the turbo mode which I understand
> >>>>would also be limited by the c-state of the other cores.
> >>>
> >>>Hm, I should double-check that - but somehow I thought that Xen independetly
> >>>checks for TurboMode and if the P-states are in, then they are activated.
> >
> >I did a bit of checking around and it does seem that is the case. From what
> >I have gathered the TurboMode kicks in when the CPU is C0 mode (which should
> >be obvious), and when the other cores are in anything but C0 mode. And sure
> >enough that seems to be the case. But I can't get the concrete details whether
> >the "but C0 mode" means that TurboMode will work better if the C mode is legacy
> >C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out from
> >Len Brown more details..
> >>>
> >>Turbo mode should be enabled. I had been only looking at a generic overview
> >>about it on Intel site which sounded like it  would make more of a difference on
> >>how much one core could get overclocked related to how many cores are active
> >>(and I translated active or not into deeper c-states or not).
> >>Looking at the verbose output of turbostat it seems not to make that much
> >>difference whether 2-4 cores are running. A single core alone could get one more
> >>increment in clock stepping. That does not immediately sound a lot. And of
> >>course how much or long the higher clock is used depends on other factors as
> >>well and is not under OS control.
> >>
> >>In the end it is probably quite dynamic and hard to come up with hard facts to
> >>prove its value. Though if I can lower the idle power usage by reaching a bit
> >>further, that would greatly help to justify the effort and potential risk of
> >>backporting...
> >
> >I understand. I wish I could give you the exact percentage points by which
> >the power usage will drop. But I think the more substantial reason benefit of
> >these patches is performance gains. The ones that Ian Campbell ran and were
> >posted on Phorenix site paint that they are beneficial.
> >
> >>
> >>>>
> >>>>Do I misread the data I see? Or maybe its a known limitation? In case it is
> >>>>worth doing more research I'll gladly try things and gather more data.
> >>>
> >>>Just missing some patches.
> >>>
> >>>Oh, and this one:
> >>>       xen/acpi: Fix Kconfig dependency on CPU_FREQ
> >>>
> >>>Hmm.. I think a patch disappeared somewhere.
> >
> >That was the one I referenced at the beginning of this email.
> >
> >_______________________________________________
> >Xen-devel mailing list
> >Xen-devel@lists.xen.org
> >http://lists.xen.org/xen-devel
> >
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 23:01:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPM3t-0005Ni-I4; Tue, 01 May 2012 23:00:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPM3r-0005NT-NQ
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:00:48 +0000
Received: from [85.158.138.51:17896] by server-6.bemta-3.messagelabs.com id
	60/D8-05145-E1B60AF4; Tue, 01 May 2012 23:00:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1335913244!24622322!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17254 invoked from network); 1 May 2012 23:00:45 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 23:00:45 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q41N0dsY030559
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 1 May 2012 23:00:40 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q41N0coG000320
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 1 May 2012 23:00:38 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q41N0bxp023387; Tue, 1 May 2012 18:00:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 16:00:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5352C40357; Tue,  1 May 2012 18:54:56 -0400 (EDT)
Date: Tue, 1 May 2012 18:54:56 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120501225456.GA13757@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA06541.7050607@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 06:35:45PM -0400, Boris Ostrovsky wrote:
> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> >On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> >>On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> >>>On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> >>>>Since there have been requests about that driver to get backported into 3.2, I
> >>>>was interested to find out what or how much would be gained by that.
> >>>>
> >>>>The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
> >>>>was not very successful as the drivers bail out of the init function because the
> >>>>first call to acpi_processor_register_performance() returns -ENODEV. There is
> >>>>some frequency scaling when running without Xen, so I need to do some more
> >>>>debugging there.
> 
> I believe this is caused by the somewhat under-enlightened xen_apic_read():
> 
> static u32 xen_apic_read(u32 reg)
> {
>         return 0;
> }
> 
> This results in some data, most importantly
> boot_cpu_physical_apicid, not being set correctly and, in turn,
> causes x86_cpu_to_apicid to be broken.

What is the involvment of x86_cpu_to_apicid to acpi_processor_register_performance?
Or is this more of a stab in the dark?

Stefan, one way to debug this is to make the driver be a module and then
configure the /sys/../acpi/debug_level and debug_layer to be 0xffffffff
and try loading the module. It should print out tons of data (And the reason
it returned -Exxx).
> 
> On larger AMD systems boot processor is typically APICID=0x20 (I
> don't have Intel system handy to see how it looks there).
> 
> As a quick and dirty test you can try:
> 
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index edc2448..1f78998 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned
> long address)
>         }
>         if (boot_cpu_physical_apicid == -1U) {
>                 boot_cpu_physical_apicid  = read_apic_id();
> +               boot_cpu_physical_apicid = 32;
>                 apic_version[boot_cpu_physical_apicid] =
>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>         }
> 
> 
> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
> 
> -boris
> 
> 
> >>>
> >>>Did you back-port the other components - the ones that turn off the native
> >>>frequency scalling?
> >>>
> >>>       provide disable_cpufreq() function to disable the API.
> >>>	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> >>>       xen/cpufreq: Disable the cpu frequency scaling drivers from loading
> >>>>
> >>
> >>Yes, here is the full set for reference:
> >>
> >>* xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
> >>* xen/acpi: Remove the WARN's as they just create noise.
> >>* xen/acpi: Fix Kconfig dependency on CPU_FREQ
> >>* xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
> >>* xen/acpi-processor: C and P-state driver that uploads said data to hyper
> >>* provide disable_cpufreq() function to disable the API.
> >
> >And (Linus just pulled it), you also need this one:
> >  df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT_LEAF so that acpi-pad won't be loaded.)
> >
> >>
> >>>>The second system was an Intel one (4 core i7 920@2.67GHz) which was
> >>>>successfully loading the driver. Via xenpm I can see the various frequencies and
> >>>>also see them being changed. However the cpuidle data out of xenpm looks a bit odd:
> >>>>
> >>>>#>  xenpm get-cpuidle-states 0
> >>>>Max C-state: C7
> >>>>
> >>>>cpu id               : 0
> >>>>total C-states       : 2
> >>>>idle time(ms)        : 10819311
> >>>>C0                   : transition [00000000000000000001]
> >>>>                        residency  [00000000000000005398 ms]
> >>>>C1                   : transition [00000000000000000001]
> >>>>                        residency  [00000000000010819311 ms]
> >>>>pc3                  : [00000000000000000000 ms]
> >>>>pc6                  : [00000000000000000000 ms]
> >>>>pc7                  : [00000000000000000000 ms]
> >>>>cc3                  : [00000000000000000000 ms]
> >>>>cc6                  : [00000000000000000000 ms]
> >>>>
> >>>>Also gathering samples over 30s does look like only C0 and C1 are used. This
> >>>
> >>>Yes.
> >>>>might be because C1E support is enabled in BIOS but when looking at the
> >>>>intel_idle data in sysfs when running without a hypervisor will show C3 and C6
> >>>>for the cores. That could have been just a wrong output, so I plugged in a power
> >>>>meter and compared a kernel running natively and running as dom0 (with and
> >>>>without the acpi-processor driver).
> >>>>
> >>>>Native: 175W
> >>>>dom0:   183W (with only marginal difference between with or without the
> >>>>               processor driver)
> >>>>[yes, the system has a somewhat high base consumption which I attribute to a
> >>>>ridiculously dimensioned graphics subsystem to be running a text console]
> >>>>
> >>>>This I would take as C3 and C6 really not being used and the frequency scaling
> >
> >So the other thing I forgot to note is that C3->C6 have a detrimental
> >effect on some Intel boxes with Xen. We haven't figured out exactly which ones
> >and the bug is definitly in the hypervisor. The bug is that when the CPU goes in
> >those states the NIC ends up being unresponsive. Its like the interrupts stopped
> >being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
> >
> >>>
> >>>To go in deeper modes there is also a need to backport a Xen unstable
> >>>hypercall which will allow the kernel to detect the other states besides
> >>>C0-C2.
> >>>
> >>>"XEN_SET_PDC query was implemented in c/s 23783:
> >>>     "ACPI: add _PDC input override mechanism".
> >>>
> >>
> >>I see. There is a kernel patch about enabling MWAIT that refers to that...
> >
> >Were there any special things you ran when checking the output? Just plugging
> >and looking at the results?
> >>
> >>>
> >>>>having no impact on the idle system is not that much surprising. But if that was
> >>>>true it would also limit the usefulness of the turbo mode which I understand
> >>>>would also be limited by the c-state of the other cores.
> >>>
> >>>Hm, I should double-check that - but somehow I thought that Xen independetly
> >>>checks for TurboMode and if the P-states are in, then they are activated.
> >
> >I did a bit of checking around and it does seem that is the case. From what
> >I have gathered the TurboMode kicks in when the CPU is C0 mode (which should
> >be obvious), and when the other cores are in anything but C0 mode. And sure
> >enough that seems to be the case. But I can't get the concrete details whether
> >the "but C0 mode" means that TurboMode will work better if the C mode is legacy
> >C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out from
> >Len Brown more details..
> >>>
> >>Turbo mode should be enabled. I had been only looking at a generic overview
> >>about it on Intel site which sounded like it  would make more of a difference on
> >>how much one core could get overclocked related to how many cores are active
> >>(and I translated active or not into deeper c-states or not).
> >>Looking at the verbose output of turbostat it seems not to make that much
> >>difference whether 2-4 cores are running. A single core alone could get one more
> >>increment in clock stepping. That does not immediately sound a lot. And of
> >>course how much or long the higher clock is used depends on other factors as
> >>well and is not under OS control.
> >>
> >>In the end it is probably quite dynamic and hard to come up with hard facts to
> >>prove its value. Though if I can lower the idle power usage by reaching a bit
> >>further, that would greatly help to justify the effort and potential risk of
> >>backporting...
> >
> >I understand. I wish I could give you the exact percentage points by which
> >the power usage will drop. But I think the more substantial reason benefit of
> >these patches is performance gains. The ones that Ian Campbell ran and were
> >posted on Phorenix site paint that they are beneficial.
> >
> >>
> >>>>
> >>>>Do I misread the data I see? Or maybe its a known limitation? In case it is
> >>>>worth doing more research I'll gladly try things and gather more data.
> >>>
> >>>Just missing some patches.
> >>>
> >>>Oh, and this one:
> >>>       xen/acpi: Fix Kconfig dependency on CPU_FREQ
> >>>
> >>>Hmm.. I think a patch disappeared somewhere.
> >
> >That was the one I referenced at the beginning of this email.
> >
> >_______________________________________________
> >Xen-devel mailing list
> >Xen-devel@lists.xen.org
> >http://lists.xen.org/xen-devel
> >
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 23:22:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:22:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPMOM-00064N-9C; Tue, 01 May 2012 23:21:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPMOK-00064I-Hp
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:21:56 +0000
Received: from [85.158.139.83:21173] by server-4.bemta-5.messagelabs.com id
	F9/6C-10788-31070AF4; Tue, 01 May 2012 23:21:55 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-4.tower-182.messagelabs.com!1335914514!23597314!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8096 invoked from network); 1 May 2012 23:21:55 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 23:21:55 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPMOG-000IDs-A2; Tue, 01 May 2012 23:21:52 +0000
Date: Wed, 2 May 2012 00:21:52 +0100
From: Tim Deegan <tim@xen.org>
To: Julian Pidancet <julian.pidancet@gmail.com>
Message-ID: <20120501232152.GB69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
	<20120501221756.GA69356@ocelot.phlegethon.org>
	<CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 23:59 +0100 on 01 May (1335916778), Julian Pidancet wrote:
> >> Would we still be able to do that with the simplifications you're
> >> suggesting here ?
> >
> > Yes, you could definitely do it without all this module stuff. =A0Passi=
ng
> > an address and length in Xenstore would work.
> =

> Isn't it kind of the same thing ? I mean, the BIOS or an Option ROM to
> pre-load could be seen by hvmloader as "modules" because they would
> have to be passed by the toolstack the same way as ACPI or SMBIOS
> tables.

Yes, it's similar.  But the new module marshalling/unmarshalling code
isn't necessary for any of them.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 23:22:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:22:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPMOM-00064N-9C; Tue, 01 May 2012 23:21:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPMOK-00064I-Hp
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:21:56 +0000
Received: from [85.158.139.83:21173] by server-4.bemta-5.messagelabs.com id
	F9/6C-10788-31070AF4; Tue, 01 May 2012 23:21:55 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-4.tower-182.messagelabs.com!1335914514!23597314!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8096 invoked from network); 1 May 2012 23:21:55 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 1 May 2012 23:21:55 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPMOG-000IDs-A2; Tue, 01 May 2012 23:21:52 +0000
Date: Wed, 2 May 2012 00:21:52 +0100
From: Tim Deegan <tim@xen.org>
To: Julian Pidancet <julian.pidancet@gmail.com>
Message-ID: <20120501232152.GB69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
	<20120501221756.GA69356@ocelot.phlegethon.org>
	<CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 23:59 +0100 on 01 May (1335916778), Julian Pidancet wrote:
> >> Would we still be able to do that with the simplifications you're
> >> suggesting here ?
> >
> > Yes, you could definitely do it without all this module stuff. =A0Passi=
ng
> > an address and length in Xenstore would work.
> =

> Isn't it kind of the same thing ? I mean, the BIOS or an Option ROM to
> pre-load could be seen by hvmloader as "modules" because they would
> have to be passed by the toolstack the same way as ACPI or SMBIOS
> tables.

Yes, it's similar.  But the new module marshalling/unmarshalling code
isn't necessary for any of them.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 23:57:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPMvk-0006vd-F5; Tue, 01 May 2012 23:56:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPMvi-0006vY-NN
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:56:27 +0000
Received: from [193.109.254.147:47266] by server-6.bemta-14.messagelabs.com id
	30/92-04960-92870AF4; Tue, 01 May 2012 23:56:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1335916585!7180220!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7914 invoked from network); 1 May 2012 23:56:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 23:56:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,513,1330905600"; d="scan'208";a="12233934"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 23:56:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 00:56:24 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPMvg-0003nu-7F;
	Tue, 01 May 2012 23:56:24 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPMvf-0006r8-VE;
	Wed, 02 May 2012 00:56:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12771-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 00:56:23 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12771: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12771 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12771/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-pvops              2 host-install(2)         broken REGR. vs. 12767

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 01 23:57:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 01 May 2012 23:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPMvk-0006vd-F5; Tue, 01 May 2012 23:56:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPMvi-0006vY-NN
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 23:56:27 +0000
Received: from [193.109.254.147:47266] by server-6.bemta-14.messagelabs.com id
	30/92-04960-92870AF4; Tue, 01 May 2012 23:56:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1335916585!7180220!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7914 invoked from network); 1 May 2012 23:56:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 23:56:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,513,1330905600"; d="scan'208";a="12233934"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 23:56:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 00:56:24 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPMvg-0003nu-7F;
	Tue, 01 May 2012 23:56:24 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPMvf-0006r8-VE;
	Wed, 02 May 2012 00:56:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12771-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 00:56:23 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12771: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12771 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12771/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-pvops              2 host-install(2)         broken REGR. vs. 12767

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 00:53:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 00:53:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPNoZ-0007fL-5k; Wed, 02 May 2012 00:53:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPNoX-0007fG-CG
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 00:53:05 +0000
Received: from [85.158.143.99:22290] by server-3.bemta-4.messagelabs.com id
	37/CF-05853-07580AF4; Wed, 02 May 2012 00:53:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1335919982!26080313!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20748 invoked from network); 2 May 2012 00:53:03 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 00:53:03 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q420quhb031600
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 00:52:57 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q420qsjE009177
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 00:52:55 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q420qsRl025627; Tue, 1 May 2012 19:52:54 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 17:52:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B0B1040357; Tue,  1 May 2012 20:47:12 -0400 (EDT)
Date: Tue, 1 May 2012 20:47:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120502004712.GA15950@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120501225456.GA13757@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 06:54:56PM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, May 01, 2012 at 06:35:45PM -0400, Boris Ostrovsky wrote:
> > On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> > >On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> > >>On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> > >>>On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> > >>>>Since there have been requests about that driver to get backported into 3.2, I
> > >>>>was interested to find out what or how much would be gained by that.
> > >>>>
> > >>>>The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
> > >>>>was not very successful as the drivers bail out of the init function because the
> > >>>>first call to acpi_processor_register_performance() returns -ENODEV. There is
> > >>>>some frequency scaling when running without Xen, so I need to do some more
> > >>>>debugging there.
> > 
> > I believe this is caused by the somewhat under-enlightened xen_apic_read():
> > 
> > static u32 xen_apic_read(u32 reg)
> > {
> >         return 0;
> > }
> > 
> > This results in some data, most importantly
> > boot_cpu_physical_apicid, not being set correctly and, in turn,
> > causes x86_cpu_to_apicid to be broken.
> 
> What is the involvment of x86_cpu_to_apicid to acpi_processor_register_performance?
> Or is this more of a stab in the dark?

Ah, it is the acpi_get_cpuid that gets called by acpi_processor_add->acpi_processor_get_info.

And this one:
201 #ifdef CONFIG_SMP
202         for_each_possible_cpu(i) {
203                 if (cpu_physical_id(i) == apic_id)
204                         return i;
205         }               
206 #else   

where the cpu_physical_id(i) is per_cpu(x86_cpu_to_apicid, i).

But it is curious that it has been working for me on AMD and Intel machines.
Granted the only server boxes I've are Intel - don't have AMD server boxes at all.

Stefan, can you send the full dmesg output too please?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 00:53:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 00:53:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPNoZ-0007fL-5k; Wed, 02 May 2012 00:53:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPNoX-0007fG-CG
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 00:53:05 +0000
Received: from [85.158.143.99:22290] by server-3.bemta-4.messagelabs.com id
	37/CF-05853-07580AF4; Wed, 02 May 2012 00:53:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1335919982!26080313!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNTQ5OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20748 invoked from network); 2 May 2012 00:53:03 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 00:53:03 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q420quhb031600
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 00:52:57 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q420qsjE009177
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 00:52:55 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q420qsRl025627; Tue, 1 May 2012 19:52:54 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 01 May 2012 17:52:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B0B1040357; Tue,  1 May 2012 20:47:12 -0400 (EDT)
Date: Tue, 1 May 2012 20:47:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120502004712.GA15950@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120501225456.GA13757@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 01, 2012 at 06:54:56PM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, May 01, 2012 at 06:35:45PM -0400, Boris Ostrovsky wrote:
> > On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> > >On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> > >>On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> > >>>On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> > >>>>Since there have been requests about that driver to get backported into 3.2, I
> > >>>>was interested to find out what or how much would be gained by that.
> > >>>>
> > >>>>The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
> > >>>>was not very successful as the drivers bail out of the init function because the
> > >>>>first call to acpi_processor_register_performance() returns -ENODEV. There is
> > >>>>some frequency scaling when running without Xen, so I need to do some more
> > >>>>debugging there.
> > 
> > I believe this is caused by the somewhat under-enlightened xen_apic_read():
> > 
> > static u32 xen_apic_read(u32 reg)
> > {
> >         return 0;
> > }
> > 
> > This results in some data, most importantly
> > boot_cpu_physical_apicid, not being set correctly and, in turn,
> > causes x86_cpu_to_apicid to be broken.
> 
> What is the involvment of x86_cpu_to_apicid to acpi_processor_register_performance?
> Or is this more of a stab in the dark?

Ah, it is the acpi_get_cpuid that gets called by acpi_processor_add->acpi_processor_get_info.

And this one:
201 #ifdef CONFIG_SMP
202         for_each_possible_cpu(i) {
203                 if (cpu_physical_id(i) == apic_id)
204                         return i;
205         }               
206 #else   

where the cpu_physical_id(i) is per_cpu(x86_cpu_to_apicid, i).

But it is curious that it has been working for me on AMD and Intel machines.
Granted the only server boxes I've are Intel - don't have AMD server boxes at all.

Stefan, can you send the full dmesg output too please?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 01:12:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 01:12:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPO6m-0005MF-3X; Wed, 02 May 2012 01:11:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPO6j-0005MA-T1
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 01:11:54 +0000
Received: from [85.158.138.51:37015] by server-2.bemta-3.messagelabs.com id
	92/55-09269-8D980AF4; Wed, 02 May 2012 01:11:52 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1335921111!24760776!1
X-Originating-IP: [216.32.180.14]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8875 invoked from network); 2 May 2012 01:11:52 -0000
Received: from va3ehsobe004.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.14)
	by server-5.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 01:11:52 -0000
Received: from mail195-va3-R.bigfish.com (10.7.14.252) by
	VA3EHSOBE010.bigfish.com (10.7.40.12) with Microsoft SMTP Server id
	14.1.225.22; Wed, 2 May 2012 01:11:43 +0000
Received: from mail195-va3 (localhost [127.0.0.1])	by
	mail195-va3-R.bigfish.com (Postfix) with ESMTP id 01A5E2404EB;
	Wed,  2 May 2012 01:11:43 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail195-va3 (localhost.localdomain [127.0.0.1]) by mail195-va3
	(MessageSwitch) id 133592108598449_9490;
	Wed,  2 May 2012 01:11:25 +0000 (UTC)
Received: from VA3EHSMHS023.bigfish.com (unknown [10.7.14.237])	by
	mail195-va3.bigfish.com (Postfix) with ESMTP id 0168C2206D8;
	Wed,  2 May 2012 01:11:25 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS023.bigfish.com (10.7.99.33) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 01:11:23 +0000
X-WSS-ID: 0M3DFB4-01-8QO-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2429E10280D5;	Tue,  1 May 2012 20:11:28 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 1 May 2012 20:11:38 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	20:11:28 -0500
Message-ID: <4FA089C0.9050203@amd.com>
Date: Tue, 1 May 2012 21:11:28 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com> <20120502004712
In-Reply-To: <20120502004712.GA15950@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/01/2012 08:47 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 01, 2012 at 06:54:56PM -0400, Konrad Rzeszutek Wilk wrote:
>> On Tue, May 01, 2012 at 06:35:45PM -0400, Boris Ostrovsky wrote:
>>> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>>>> Since there have been requests about that driver to get backported into 3.2, I
>>>>>>> was interested to find out what or how much would be gained by that.
>>>>>>>
>>>>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
>>>>>>> was not very successful as the drivers bail out of the init function because the
>>>>>>> first call to acpi_processor_register_performance() returns -ENODEV. There is
>>>>>>> some frequency scaling when running without Xen, so I need to do some more
>>>>>>> debugging there.
>>>
>>> I believe this is caused by the somewhat under-enlightened xen_apic_read():
>>>
>>> static u32 xen_apic_read(u32 reg)
>>> {
>>>          return 0;
>>> }
>>>
>>> This results in some data, most importantly
>>> boot_cpu_physical_apicid, not being set correctly and, in turn,
>>> causes x86_cpu_to_apicid to be broken.
>>
>> What is the involvment of x86_cpu_to_apicid to acpi_processor_register_performance?
>> Or is this more of a stab in the dark?
>
> Ah, it is the acpi_get_cpuid that gets called by acpi_processor_add->acpi_processor_get_info.
>
> And this one:
> 201 #ifdef CONFIG_SMP
> 202         for_each_possible_cpu(i) {
> 203                 if (cpu_physical_id(i) == apic_id)
> 204                         return i;
> 205         }
> 206 #else
>
> where the cpu_physical_id(i) is per_cpu(x86_cpu_to_apicid, i).

Right. This and the fact that 'if (apicid == boot_cpu_physical_apicid)' 
in generic_processor_info() is never true.

In the end, 'processors' per-cpu variable is not initialized for cpu 0 
and that's what causes acpi_processor_register_performance() to fail.

>
> But it is curious that it has been working for me on AMD and Intel machines.
> Granted the only server boxes I've are Intel - don't have AMD server boxes at all.

I am also surprised that aside from some power inefficiencies and "BIOS 
bug" warnings the system appeared reasonably OK. I'd think that with 
APIC IDs messed up it would not run.

If Intel processors number cores starting with APICID=0 then you 
wouldn't see any issues.

-boris

>
> Stefan, can you send the full dmesg output too please?
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 01:12:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 01:12:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPO6m-0005MF-3X; Wed, 02 May 2012 01:11:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPO6j-0005MA-T1
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 01:11:54 +0000
Received: from [85.158.138.51:37015] by server-2.bemta-3.messagelabs.com id
	92/55-09269-8D980AF4; Wed, 02 May 2012 01:11:52 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1335921111!24760776!1
X-Originating-IP: [216.32.180.14]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8875 invoked from network); 2 May 2012 01:11:52 -0000
Received: from va3ehsobe004.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.14)
	by server-5.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 01:11:52 -0000
Received: from mail195-va3-R.bigfish.com (10.7.14.252) by
	VA3EHSOBE010.bigfish.com (10.7.40.12) with Microsoft SMTP Server id
	14.1.225.22; Wed, 2 May 2012 01:11:43 +0000
Received: from mail195-va3 (localhost [127.0.0.1])	by
	mail195-va3-R.bigfish.com (Postfix) with ESMTP id 01A5E2404EB;
	Wed,  2 May 2012 01:11:43 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail195-va3 (localhost.localdomain [127.0.0.1]) by mail195-va3
	(MessageSwitch) id 133592108598449_9490;
	Wed,  2 May 2012 01:11:25 +0000 (UTC)
Received: from VA3EHSMHS023.bigfish.com (unknown [10.7.14.237])	by
	mail195-va3.bigfish.com (Postfix) with ESMTP id 0168C2206D8;
	Wed,  2 May 2012 01:11:25 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS023.bigfish.com (10.7.99.33) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 01:11:23 +0000
X-WSS-ID: 0M3DFB4-01-8QO-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2429E10280D5;	Tue,  1 May 2012 20:11:28 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 1 May 2012 20:11:38 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	20:11:28 -0500
Message-ID: <4FA089C0.9050203@amd.com>
Date: Tue, 1 May 2012 21:11:28 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com> <20120502004712
In-Reply-To: <20120502004712.GA15950@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/01/2012 08:47 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 01, 2012 at 06:54:56PM -0400, Konrad Rzeszutek Wilk wrote:
>> On Tue, May 01, 2012 at 06:35:45PM -0400, Boris Ostrovsky wrote:
>>> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>>>> Since there have been requests about that driver to get backported into 3.2, I
>>>>>>> was interested to find out what or how much would be gained by that.
>>>>>>>
>>>>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz). Which
>>>>>>> was not very successful as the drivers bail out of the init function because the
>>>>>>> first call to acpi_processor_register_performance() returns -ENODEV. There is
>>>>>>> some frequency scaling when running without Xen, so I need to do some more
>>>>>>> debugging there.
>>>
>>> I believe this is caused by the somewhat under-enlightened xen_apic_read():
>>>
>>> static u32 xen_apic_read(u32 reg)
>>> {
>>>          return 0;
>>> }
>>>
>>> This results in some data, most importantly
>>> boot_cpu_physical_apicid, not being set correctly and, in turn,
>>> causes x86_cpu_to_apicid to be broken.
>>
>> What is the involvment of x86_cpu_to_apicid to acpi_processor_register_performance?
>> Or is this more of a stab in the dark?
>
> Ah, it is the acpi_get_cpuid that gets called by acpi_processor_add->acpi_processor_get_info.
>
> And this one:
> 201 #ifdef CONFIG_SMP
> 202         for_each_possible_cpu(i) {
> 203                 if (cpu_physical_id(i) == apic_id)
> 204                         return i;
> 205         }
> 206 #else
>
> where the cpu_physical_id(i) is per_cpu(x86_cpu_to_apicid, i).

Right. This and the fact that 'if (apicid == boot_cpu_physical_apicid)' 
in generic_processor_info() is never true.

In the end, 'processors' per-cpu variable is not initialized for cpu 0 
and that's what causes acpi_processor_register_performance() to fail.

>
> But it is curious that it has been working for me on AMD and Intel machines.
> Granted the only server boxes I've are Intel - don't have AMD server boxes at all.

I am also surprised that aside from some power inefficiencies and "BIOS 
bug" warnings the system appeared reasonably OK. I'd think that with 
APIC IDs messed up it would not run.

If Intel processors number cores starting with APICID=0 then you 
wouldn't see any issues.

-boris

>
> Stefan, can you send the full dmesg output too please?
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 03:20:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 03:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPQ6H-0006q8-35; Wed, 02 May 2012 03:19:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPQ6F-0006q3-LU
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 03:19:31 +0000
Received: from [85.158.143.35:7475] by server-2.bemta-4.messagelabs.com id
	78/E3-17550-2C7A0AF4; Wed, 02 May 2012 03:19:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1335928766!14759689!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28839 invoked from network); 2 May 2012 03:19:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 03:19:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,514,1330905600"; d="scan'208";a="12234490"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 03:19:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 04:19:24 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPQ68-00059q-5X;
	Wed, 02 May 2012 03:19:24 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPQ68-0004Wl-1e;
	Wed, 02 May 2012 04:19:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12772-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 04:19:24 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12772: regressions - trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12772 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12772/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pv             3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12707
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12707
 build-amd64-pvops             2 host-install(2)         broken REGR. vs. 12707
 build-amd64-oldkern           2 host-install(2)         broken REGR. vs. 12707
 test-amd64-amd64-xl-winxpsp3  5 xen-boot         fail in 12769 REGR. vs. 12707
 test-amd64-amd64-pv          3 host-install(3) broken in 12769 REGR. vs. 12707

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             9 guest-start                 fail pass in 12769
 test-amd64-i386-xl-credit2    3 host-install(3)  broken in 12769 pass in 12772
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)  broken in 12769 pass in 12772

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup       fail in 12769 never pass
 test-i386-i386-xl            15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl          15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl-sedf     15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 8 guest-saverestore fail in 12769 never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore   fail in 12769 never pass
 test-amd64-amd64-win         16 leak-check/check      fail in 12769 never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install fail in 12769 never pass
 test-amd64-amd64-xl-win       7 windows-install       fail in 12769 never pass

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          broken  
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            broken  
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 03:20:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 03:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPQ6H-0006q8-35; Wed, 02 May 2012 03:19:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPQ6F-0006q3-LU
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 03:19:31 +0000
Received: from [85.158.143.35:7475] by server-2.bemta-4.messagelabs.com id
	78/E3-17550-2C7A0AF4; Wed, 02 May 2012 03:19:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1335928766!14759689!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28839 invoked from network); 2 May 2012 03:19:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 03:19:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,514,1330905600"; d="scan'208";a="12234490"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 03:19:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 04:19:24 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPQ68-00059q-5X;
	Wed, 02 May 2012 03:19:24 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPQ68-0004Wl-1e;
	Wed, 02 May 2012 04:19:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12772-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 04:19:24 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12772: regressions - trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12772 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12772/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pv             3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12707
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12707
 build-amd64-pvops             2 host-install(2)         broken REGR. vs. 12707
 build-amd64-oldkern           2 host-install(2)         broken REGR. vs. 12707
 test-amd64-amd64-xl-winxpsp3  5 xen-boot         fail in 12769 REGR. vs. 12707
 test-amd64-amd64-pv          3 host-install(3) broken in 12769 REGR. vs. 12707

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             9 guest-start                 fail pass in 12769
 test-amd64-i386-xl-credit2    3 host-install(3)  broken in 12769 pass in 12772
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)  broken in 12769 pass in 12772

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup       fail in 12769 never pass
 test-i386-i386-xl            15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl          15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl-sedf     15 guest-stop            fail in 12769 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 8 guest-saverestore fail in 12769 never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore   fail in 12769 never pass
 test-amd64-amd64-win         16 leak-check/check      fail in 12769 never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install fail in 12769 never pass
 test-amd64-amd64-xl-win       7 windows-install       fail in 12769 never pass

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          broken  
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            broken  
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 04:05:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 04:05:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPQo3-0007Bu-1t; Wed, 02 May 2012 04:04:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPQo1-0007Bp-NV
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 04:04:46 +0000
Received: from [85.158.139.83:49073] by server-10.bemta-5.messagelabs.com id
	65/8C-08260-C52B0AF4; Wed, 02 May 2012 04:04:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1335931484!26324518!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23953 invoked from network); 2 May 2012 04:04:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 04:04:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,514,1330905600"; d="scan'208";a="12234634"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 04:04:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 05:04:43 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPQnz-0005RH-BW;
	Wed, 02 May 2012 04:04:43 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPQnz-0002Uh-9g;
	Wed, 02 May 2012 05:04:43 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12774-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 05:04:43 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12774: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12774 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12774/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-pvops              2 host-install(2)         broken REGR. vs. 12746
 build-i386-oldkern            2 host-install(2)         broken REGR. vs. 12746
 build-i386                    2 host-install(2)         broken REGR. vs. 12746

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           broken  
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 04:05:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 04:05:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPQo3-0007Bu-1t; Wed, 02 May 2012 04:04:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPQo1-0007Bp-NV
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 04:04:46 +0000
Received: from [85.158.139.83:49073] by server-10.bemta-5.messagelabs.com id
	65/8C-08260-C52B0AF4; Wed, 02 May 2012 04:04:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1335931484!26324518!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23953 invoked from network); 2 May 2012 04:04:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 04:04:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,514,1330905600"; d="scan'208";a="12234634"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 04:04:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 05:04:43 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPQnz-0005RH-BW;
	Wed, 02 May 2012 04:04:43 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPQnz-0002Uh-9g;
	Wed, 02 May 2012 05:04:43 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12774-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 05:04:43 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12774: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12774 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12774/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-pvops              2 host-install(2)         broken REGR. vs. 12746
 build-i386-oldkern            2 host-install(2)         broken REGR. vs. 12746
 build-i386                    2 host-install(2)         broken REGR. vs. 12746

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           broken  
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 05:38:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 05:38:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPSGT-0008Rw-BB; Wed, 02 May 2012 05:38:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPSGS-0008Rr-51
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 05:38:12 +0000
Received: from [85.158.143.35:14087] by server-3.bemta-4.messagelabs.com id
	74/8D-05853-348C0AF4; Wed, 02 May 2012 05:38:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335937089!13810641!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10996 invoked from network); 2 May 2012 05:38:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 05:38:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,514,1330905600"; d="scan'208";a="12235377"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 05:38:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 06:38:09 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPSGO-0006I3-S7;
	Wed, 02 May 2012 05:38:08 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPSGO-0007hK-RR;
	Wed, 02 May 2012 06:38:08 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12775-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 06:38:08 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12775: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12775 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12775/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386                    2 host-install(2)         broken REGR. vs. 12767

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-pv           3 host-install(3)              broken like 12765

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          broken  
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 05:38:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 05:38:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPSGT-0008Rw-BB; Wed, 02 May 2012 05:38:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPSGS-0008Rr-51
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 05:38:12 +0000
Received: from [85.158.143.35:14087] by server-3.bemta-4.messagelabs.com id
	74/8D-05853-348C0AF4; Wed, 02 May 2012 05:38:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335937089!13810641!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10996 invoked from network); 2 May 2012 05:38:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 05:38:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,514,1330905600"; d="scan'208";a="12235377"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 05:38:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 06:38:09 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPSGO-0006I3-S7;
	Wed, 02 May 2012 05:38:08 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPSGO-0007hK-RR;
	Wed, 02 May 2012 06:38:08 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12775-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 06:38:08 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12775: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12775 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12775/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386                    2 host-install(2)         broken REGR. vs. 12767

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-pv           3 host-install(3)              broken like 12765

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          broken  
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:19:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:19:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPUmL-0001L6-1r; Wed, 02 May 2012 08:19:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPUmJ-0001L1-6e
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:19:15 +0000
Received: from [85.158.143.99:27574] by server-1.bemta-4.messagelabs.com id
	23/43-20925-20EE0AF4; Wed, 02 May 2012 08:19:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1335946727!25195340!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1329 invoked from network); 2 May 2012 08:18:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 08:18:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330905600"; d="scan'208";a="12237947"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 08:18:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 09:18:47 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPUlr-0007np-1o;
	Wed, 02 May 2012 08:18:47 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPUlq-00039Y-OX;
	Wed, 02 May 2012 09:18:46 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12776-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 09:18:46 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12776: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12776 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12776/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pv           3 host-install(3)         broken REGR. vs. 12707
 build-i386                    2 host-install(2)         broken REGR. vs. 12707

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          broken  
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:19:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:19:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPUmL-0001L6-1r; Wed, 02 May 2012 08:19:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPUmJ-0001L1-6e
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:19:15 +0000
Received: from [85.158.143.99:27574] by server-1.bemta-4.messagelabs.com id
	23/43-20925-20EE0AF4; Wed, 02 May 2012 08:19:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1335946727!25195340!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzIzMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1329 invoked from network); 2 May 2012 08:18:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 08:18:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330905600"; d="scan'208";a="12237947"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 08:18:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 09:18:47 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPUlr-0007np-1o;
	Wed, 02 May 2012 08:18:47 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPUlq-00039Y-OX;
	Wed, 02 May 2012 09:18:46 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12776-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 09:18:46 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12776: trouble:
	blocked/broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12776 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12776/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pv           3 host-install(3)         broken REGR. vs. 12707
 build-i386                    2 host-install(2)         broken REGR. vs. 12707

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          broken  
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:21:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPUo9-0001OQ-IJ; Wed, 02 May 2012 08:21:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPUo7-0001OJ-Mw
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:21:07 +0000
Received: from [85.158.139.83:21200] by server-12.bemta-5.messagelabs.com id
	A6/46-01344-27EE0AF4; Wed, 02 May 2012 08:21:06 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-16.tower-182.messagelabs.com!1335946864!19009684!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5840 invoked from network); 2 May 2012 08:21:05 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-16.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	2 May 2012 08:21:05 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPUo3-0008SK-KA
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 01:21:03 -0700
Date: Wed, 2 May 2012 01:21:03 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1335946863612-5679908.post@n5.nabble.com>
In-Reply-To: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Zhou Peng wrote
> 
> Hi Fantu,
> 
> Thanks for your response.
> 
> xl doesn't support qxl-related option at the moment.
> I will test upstream-qemu-xen these days, and if it works well
> with qxl device, I will be glad to add qxl support to xl.
> 
Hello, any news about this?
Thanks in advance


--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5679908.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:21:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPUo9-0001OQ-IJ; Wed, 02 May 2012 08:21:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPUo7-0001OJ-Mw
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:21:07 +0000
Received: from [85.158.139.83:21200] by server-12.bemta-5.messagelabs.com id
	A6/46-01344-27EE0AF4; Wed, 02 May 2012 08:21:06 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-16.tower-182.messagelabs.com!1335946864!19009684!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5840 invoked from network); 2 May 2012 08:21:05 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-16.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	2 May 2012 08:21:05 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPUo3-0008SK-KA
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 01:21:03 -0700
Date: Wed, 2 May 2012 01:21:03 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1335946863612-5679908.post@n5.nabble.com>
In-Reply-To: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Zhou Peng wrote
> 
> Hi Fantu,
> 
> Thanks for your response.
> 
> xl doesn't support qxl-related option at the moment.
> I will test upstream-qemu-xen these days, and if it works well
> with qxl device, I will be glad to add qxl support to xl.
> 
Hello, any news about this?
Thanks in advance


--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5679908.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:23:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPUpx-0001U8-2O; Wed, 02 May 2012 08:23:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPUpv-0001Tz-QQ
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:23:00 +0000
Received: from [85.158.143.35:12722] by server-2.bemta-4.messagelabs.com id
	EE/1F-17550-2EEE0AF4; Wed, 02 May 2012 08:22:58 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1335946977!14787921!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12004 invoked from network); 2 May 2012 08:22:57 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-11.tower-21.messagelabs.com with SMTP;
	2 May 2012 08:22:57 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPUps-0001Lm-FI; Wed, 02 May 2012 08:22:56 +0000
Message-ID: <4FA0EED5.8040009@canonical.com>
Date: Wed, 02 May 2012 10:22:45 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
In-Reply-To: <20120501200207.GA15313@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6383696628749017196=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6383696628749017196==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig8FC035EE44599C0D30620CF6"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig8FC035EE44599C0D30620CF6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Sorry for not responding sooner, there was a good opportunity for a long =
week
end here I could not miss. Also I had been moving the power meter over to=
 the
other machine.

On 01.05.2012 22:02, Konrad Rzeszutek Wilk wrote:
> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>> Since there have been requests about that driver to get backported i=
nto 3.2, I
>>>> was interested to find out what or how much would be gained by that.=

>>>>
>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2=
GHz). Which
>>>> was not very successful as the drivers bail out of the init function=
 because the
>>>> first call to acpi_processor_register_performance() returns -ENODEV.=
 There is
>>>> some frequency scaling when running without Xen, so I need to do som=
e more
>>>> debugging there.
>>>
>>> Did you back-port the other components - the ones that turn off the n=
ative
>>> frequency scalling?
>>>
>>>       provide disable_cpufreq() function to disable the API.
>>> 	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>>>       xen/cpufreq: Disable the cpu frequency scaling drivers from loa=
ding
>>>>
>>
>> Yes, here is the full set for reference:
>>
>> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading.=

>> * xen/acpi: Remove the WARN's as they just create noise.
>> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
>> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>> * xen/acpi-processor: C and P-state driver that uploads said data to h=
yper
>> * provide disable_cpufreq() function to disable the API.
>=20
> And (Linus just pulled it), you also need this one:
>  df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT=
_LEAF so that acpi-pad won't be loaded.)

I suspect that one only if I would have

commit 73c154c60be106b47f15d1111fc2d75cc7a436f2
xen/enlighten: Expose MWAIT and MWAIT_LEAF if hypervisor OKs it.

and the change in the hypervisor to implement XEN_SET_PDC.

>=20
>>
>>>> The second system was an Intel one (4 core i7 920@2.67GHz) which was=

>>>> successfully loading the driver. Via xenpm I can see the various fre=
quencies and
>>>> also see them being changed. However the cpuidle data out of xenpm l=
ooks a bit odd:
>>>>
>>>> #> xenpm get-cpuidle-states 0
>>>> Max C-state: C7
>>>>
>>>> cpu id               : 0
>>>> total C-states       : 2
>>>> idle time(ms)        : 10819311
>>>> C0                   : transition [00000000000000000001]
>>>>                        residency  [00000000000000005398 ms]
>>>> C1                   : transition [00000000000000000001]
>>>>                        residency  [00000000000010819311 ms]
>>>> pc3                  : [00000000000000000000 ms]
>>>> pc6                  : [00000000000000000000 ms]
>>>> pc7                  : [00000000000000000000 ms]
>>>> cc3                  : [00000000000000000000 ms]
>>>> cc6                  : [00000000000000000000 ms]
>>>>
>>>> Also gathering samples over 30s does look like only C0 and C1 are us=
ed. This
>>>
>>> Yes.=20
>>>> might be because C1E support is enabled in BIOS but when looking at =
the
>>>> intel_idle data in sysfs when running without a hypervisor will show=
 C3 and C6
>>>> for the cores. That could have been just a wrong output, so I plugge=
d in a power
>>>> meter and compared a kernel running natively and running as dom0 (wi=
th and
>>>> without the acpi-processor driver).
>>>>
>>>> Native: 175W
>>>> dom0:   183W (with only marginal difference between with or without =
the
>>>>               processor driver)
>>>> [yes, the system has a somewhat high base consumption which I attrib=
ute to a
>>>> ridiculously dimensioned graphics subsystem to be running a text con=
sole]
>>>>
>>>> This I would take as C3 and C6 really not being used and the frequen=
cy scaling
>=20
> So the other thing I forgot to note is that C3->C6 have a detrimental
> effect on some Intel boxes with Xen. We haven't figured out exactly whi=
ch ones
> and the bug is definitly in the hypervisor. The bug is that when the CP=
U goes in
> those states the NIC ends up being unresponsive. Its like the interrupt=
s stopped
> being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
>=20

I think I saw weird behavior not only under Xen with that. One netbook I =
got has
the nasty tendency to go into undetermined sleeps and you had to hit some=
 keys
to keep it running. In that case I found out that the intel gfx card was =
one
which does not cause interrupts on vsync and other sources seemed not abl=
e to
wake up from deeper c-states when being msi. So the wonder cure there is =
to
force interrupts not being msi.

That aside, I was also comparing power usage in idle on the AMD box. And =
that
shows an even bigger difference between running natively and running dom0=
 under
the hypervisor (103W against 127W). As that is AMD there never are other
c-states than c1(e) which xenpm shows as being used (got the feeling that=
 with
AMD CPUs it is quite hard to find out the c1 residency nowadays (only int=
el_idle
keeps statistics). I think I got some data now but still need to parse it=
 (if I
am not wrong one needs to use power trace now).
But regardless it would hint that having the deeper c-states may not be t=
he real
solution.

>>>
>>> To go in deeper modes there is also a need to backport a Xen unstable=

>>> hypercall which will allow the kernel to detect the other states besi=
des
>>> C0-C2.
>>>
>>> "XEN_SET_PDC query was implemented in c/s 23783:
>>>     "ACPI: add _PDC input override mechanism".
>>>    =20
>>
>> I see. There is a kernel patch about enabling MWAIT that refers to tha=
t...
>=20
> Were there any special things you ran when checking the output? Just pl=
ugging
> and looking at the results?

In the first step it only was the idle power usage. But as you say the re=
al
target for the patches were a better overall performance under use. So I =
need to
think of something to quantify the difference.

>>
>>>
>>>> having no impact on the idle system is not that much surprising. But=
 if that was
>>>> true it would also limit the usefulness of the turbo mode which I un=
derstand
>>>> would also be limited by the c-state of the other cores.
>>>
>>> Hm, I should double-check that - but somehow I thought that Xen indep=
endetly
>>> checks for TurboMode and if the P-states are in, then they are activa=
ted.
>=20
> I did a bit of checking around and it does seem that is the case. From =
what
> I have gathered the TurboMode kicks in when the CPU is C0 mode (which s=
hould
> be obvious), and when the other cores are in anything but C0 mode. And =
sure
> enough that seems to be the case. But I can't get the concrete details =
whether
> the "but C0 mode" means that TurboMode will work better if the C mode i=
s legacy
> C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out f=
rom
> Len Brown more details..
>>>

Right, that is how I understood things, too. Depending on how many cores =
are
"active" (which does not really say what active means) the frequency can =
go up
in steps of 133Mhz (or was that 200) up to a certain upper limit. The upp=
er
limit depends on how many cores are active but for my CPU seems just one =
more
step between 2-4 cores active and 1 core active.
The rest is not under OS control beside the CPU to go up in frequency nee=
d to be
in P0 mode. From the looks other cores can be in P0 as well and can go up=
 a bit
as well.

>> Turbo mode should be enabled. I had been only looking at a generic ove=
rview
>> about it on Intel site which sounded like it  would make more of a dif=
ference on
>> how much one core could get overclocked related to how many cores are =
active
>> (and I translated active or not into deeper c-states or not).
>> Looking at the verbose output of turbostat it seems not to make that m=
uch
>> difference whether 2-4 cores are running. A single core alone could ge=
t one more
>> increment in clock stepping. That does not immediately sound a lot. An=
d of
>> course how much or long the higher clock is used depends on other fact=
ors as
>> well and is not under OS control.
>>
>> In the end it is probably quite dynamic and hard to come up with hard =
facts to
>> prove its value. Though if I can lower the idle power usage by reachin=
g a bit
>> further, that would greatly help to justify the effort and potential r=
isk of
>> backporting...
>=20
> I understand. I wish I could give you the exact percentage points by wh=
ich
> the power usage will drop. But I think the more substantial reason bene=
fit of
> these patches is performance gains. The ones that Ian Campbell ran and =
were
> posted on Phorenix site paint that they are beneficial.

I probably should ask Ian (or check on that post) what tests he was using=
 to
measure the difference.

>=20
>>
>>>>
>>>> Do I misread the data I see? Or maybe its a known limitation? In cas=
e it is
>>>> worth doing more research I'll gladly try things and gather more dat=
a.
>>>
>>> Just missing some patches.=20
>>>
>>> Oh, and this one:
>>>       xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>>
>>> Hmm.. I think a patch disappeared somewhere.
>=20
> That was the one I referenced at the beginning of this email.
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



--------------enig8FC035EE44599C0D30620CF6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoO7eAAoJEOhnXe7L7s6jZr0P/jEA3z3rnrIRzMAb9k58kV1i
DiowtaYpKKNtlYG6RSVLtC5Hwcedw06C3EJmYg5jVGyJ5BlrQW4p/2fX+ozIPs8q
phaqCmSMagPnIrUAauj0jGZzo16VnMnawSOrNmOIqLdVPkC5vwGIx+y+f8otGseo
j2weShe2Fws6W/IrtyRdLgrAjZ4ROfTKaaHddv/H+Z4ua6t15P6VAuYd1FFRmw1G
82YmikwpaDO+W2l2Xo6eOylDrkFD1J2puKrVcx0/yon3ec6jQquWVhf+mbZi9kzx
EK31sHCtCtpWnLmg2FSirkOCMeC8UxFx+Md37yw8wv0q0cCEgNpTjwvBQPAI4GeI
u3P/Hi1GcfUDX8OecQwLcd3Wlsa5q0HP7ga/NfL0HAXrBEg3ilcJ+Zfi/m06cVZJ
oAor+RknjZQXo+fHKMTfrnHQ0Kr7nO8Am9LzURyO0N+92rmNE62HYArQk60fQ1TR
k6EZNa4UvK2MooWin6cx/BFvjA+Ahpbp0tpC07G7X/9XVKqEmlyBKl02LsZcixYz
YOy19EoOdm3ewkKTVVxyd/G4RqR7oRgUBKG+3wHU6VjrA9uLr4qUMiKHZf5iLsDH
zstEEcaDKLCTvPxYidCfgACmio2/5zlwPlDEiRbbXA3zGnVn/X3m0HZEXXOUkpSf
wo4fA1jPQ5Ql3nAmSpYa
=eQpr
-----END PGP SIGNATURE-----

--------------enig8FC035EE44599C0D30620CF6--


--===============6383696628749017196==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6383696628749017196==--


From xen-devel-bounces@lists.xen.org Wed May 02 08:23:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPUpx-0001U8-2O; Wed, 02 May 2012 08:23:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPUpv-0001Tz-QQ
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:23:00 +0000
Received: from [85.158.143.35:12722] by server-2.bemta-4.messagelabs.com id
	EE/1F-17550-2EEE0AF4; Wed, 02 May 2012 08:22:58 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1335946977!14787921!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12004 invoked from network); 2 May 2012 08:22:57 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-11.tower-21.messagelabs.com with SMTP;
	2 May 2012 08:22:57 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPUps-0001Lm-FI; Wed, 02 May 2012 08:22:56 +0000
Message-ID: <4FA0EED5.8040009@canonical.com>
Date: Wed, 02 May 2012 10:22:45 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
In-Reply-To: <20120501200207.GA15313@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6383696628749017196=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6383696628749017196==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig8FC035EE44599C0D30620CF6"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig8FC035EE44599C0D30620CF6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Sorry for not responding sooner, there was a good opportunity for a long =
week
end here I could not miss. Also I had been moving the power meter over to=
 the
other machine.

On 01.05.2012 22:02, Konrad Rzeszutek Wilk wrote:
> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>> Since there have been requests about that driver to get backported i=
nto 3.2, I
>>>> was interested to find out what or how much would be gained by that.=

>>>>
>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2=
GHz). Which
>>>> was not very successful as the drivers bail out of the init function=
 because the
>>>> first call to acpi_processor_register_performance() returns -ENODEV.=
 There is
>>>> some frequency scaling when running without Xen, so I need to do som=
e more
>>>> debugging there.
>>>
>>> Did you back-port the other components - the ones that turn off the n=
ative
>>> frequency scalling?
>>>
>>>       provide disable_cpufreq() function to disable the API.
>>> 	xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>>>       xen/cpufreq: Disable the cpu frequency scaling drivers from loa=
ding
>>>>
>>
>> Yes, here is the full set for reference:
>>
>> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading.=

>> * xen/acpi: Remove the WARN's as they just create noise.
>> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
>> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
>> * xen/acpi-processor: C and P-state driver that uploads said data to h=
yper
>> * provide disable_cpufreq() function to disable the API.
>=20
> And (Linus just pulled it), you also need this one:
>  df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWAIT=
_LEAF so that acpi-pad won't be loaded.)

I suspect that one only if I would have

commit 73c154c60be106b47f15d1111fc2d75cc7a436f2
xen/enlighten: Expose MWAIT and MWAIT_LEAF if hypervisor OKs it.

and the change in the hypervisor to implement XEN_SET_PDC.

>=20
>>
>>>> The second system was an Intel one (4 core i7 920@2.67GHz) which was=

>>>> successfully loading the driver. Via xenpm I can see the various fre=
quencies and
>>>> also see them being changed. However the cpuidle data out of xenpm l=
ooks a bit odd:
>>>>
>>>> #> xenpm get-cpuidle-states 0
>>>> Max C-state: C7
>>>>
>>>> cpu id               : 0
>>>> total C-states       : 2
>>>> idle time(ms)        : 10819311
>>>> C0                   : transition [00000000000000000001]
>>>>                        residency  [00000000000000005398 ms]
>>>> C1                   : transition [00000000000000000001]
>>>>                        residency  [00000000000010819311 ms]
>>>> pc3                  : [00000000000000000000 ms]
>>>> pc6                  : [00000000000000000000 ms]
>>>> pc7                  : [00000000000000000000 ms]
>>>> cc3                  : [00000000000000000000 ms]
>>>> cc6                  : [00000000000000000000 ms]
>>>>
>>>> Also gathering samples over 30s does look like only C0 and C1 are us=
ed. This
>>>
>>> Yes.=20
>>>> might be because C1E support is enabled in BIOS but when looking at =
the
>>>> intel_idle data in sysfs when running without a hypervisor will show=
 C3 and C6
>>>> for the cores. That could have been just a wrong output, so I plugge=
d in a power
>>>> meter and compared a kernel running natively and running as dom0 (wi=
th and
>>>> without the acpi-processor driver).
>>>>
>>>> Native: 175W
>>>> dom0:   183W (with only marginal difference between with or without =
the
>>>>               processor driver)
>>>> [yes, the system has a somewhat high base consumption which I attrib=
ute to a
>>>> ridiculously dimensioned graphics subsystem to be running a text con=
sole]
>>>>
>>>> This I would take as C3 and C6 really not being used and the frequen=
cy scaling
>=20
> So the other thing I forgot to note is that C3->C6 have a detrimental
> effect on some Intel boxes with Xen. We haven't figured out exactly whi=
ch ones
> and the bug is definitly in the hypervisor. The bug is that when the CP=
U goes in
> those states the NIC ends up being unresponsive. Its like the interrupt=
s stopped
> being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
>=20

I think I saw weird behavior not only under Xen with that. One netbook I =
got has
the nasty tendency to go into undetermined sleeps and you had to hit some=
 keys
to keep it running. In that case I found out that the intel gfx card was =
one
which does not cause interrupts on vsync and other sources seemed not abl=
e to
wake up from deeper c-states when being msi. So the wonder cure there is =
to
force interrupts not being msi.

That aside, I was also comparing power usage in idle on the AMD box. And =
that
shows an even bigger difference between running natively and running dom0=
 under
the hypervisor (103W against 127W). As that is AMD there never are other
c-states than c1(e) which xenpm shows as being used (got the feeling that=
 with
AMD CPUs it is quite hard to find out the c1 residency nowadays (only int=
el_idle
keeps statistics). I think I got some data now but still need to parse it=
 (if I
am not wrong one needs to use power trace now).
But regardless it would hint that having the deeper c-states may not be t=
he real
solution.

>>>
>>> To go in deeper modes there is also a need to backport a Xen unstable=

>>> hypercall which will allow the kernel to detect the other states besi=
des
>>> C0-C2.
>>>
>>> "XEN_SET_PDC query was implemented in c/s 23783:
>>>     "ACPI: add _PDC input override mechanism".
>>>    =20
>>
>> I see. There is a kernel patch about enabling MWAIT that refers to tha=
t...
>=20
> Were there any special things you ran when checking the output? Just pl=
ugging
> and looking at the results?

In the first step it only was the idle power usage. But as you say the re=
al
target for the patches were a better overall performance under use. So I =
need to
think of something to quantify the difference.

>>
>>>
>>>> having no impact on the idle system is not that much surprising. But=
 if that was
>>>> true it would also limit the usefulness of the turbo mode which I un=
derstand
>>>> would also be limited by the c-state of the other cores.
>>>
>>> Hm, I should double-check that - but somehow I thought that Xen indep=
endetly
>>> checks for TurboMode and if the P-states are in, then they are activa=
ted.
>=20
> I did a bit of checking around and it does seem that is the case. From =
what
> I have gathered the TurboMode kicks in when the CPU is C0 mode (which s=
hould
> be obvious), and when the other cores are in anything but C0 mode. And =
sure
> enough that seems to be the case. But I can't get the concrete details =
whether
> the "but C0 mode" means that TurboMode will work better if the C mode i=
s legacy
> C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out f=
rom
> Len Brown more details..
>>>

Right, that is how I understood things, too. Depending on how many cores =
are
"active" (which does not really say what active means) the frequency can =
go up
in steps of 133Mhz (or was that 200) up to a certain upper limit. The upp=
er
limit depends on how many cores are active but for my CPU seems just one =
more
step between 2-4 cores active and 1 core active.
The rest is not under OS control beside the CPU to go up in frequency nee=
d to be
in P0 mode. From the looks other cores can be in P0 as well and can go up=
 a bit
as well.

>> Turbo mode should be enabled. I had been only looking at a generic ove=
rview
>> about it on Intel site which sounded like it  would make more of a dif=
ference on
>> how much one core could get overclocked related to how many cores are =
active
>> (and I translated active or not into deeper c-states or not).
>> Looking at the verbose output of turbostat it seems not to make that m=
uch
>> difference whether 2-4 cores are running. A single core alone could ge=
t one more
>> increment in clock stepping. That does not immediately sound a lot. An=
d of
>> course how much or long the higher clock is used depends on other fact=
ors as
>> well and is not under OS control.
>>
>> In the end it is probably quite dynamic and hard to come up with hard =
facts to
>> prove its value. Though if I can lower the idle power usage by reachin=
g a bit
>> further, that would greatly help to justify the effort and potential r=
isk of
>> backporting...
>=20
> I understand. I wish I could give you the exact percentage points by wh=
ich
> the power usage will drop. But I think the more substantial reason bene=
fit of
> these patches is performance gains. The ones that Ian Campbell ran and =
were
> posted on Phorenix site paint that they are beneficial.

I probably should ask Ian (or check on that post) what tests he was using=
 to
measure the difference.

>=20
>>
>>>>
>>>> Do I misread the data I see? Or maybe its a known limitation? In cas=
e it is
>>>> worth doing more research I'll gladly try things and gather more dat=
a.
>>>
>>> Just missing some patches.=20
>>>
>>> Oh, and this one:
>>>       xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>>
>>> Hmm.. I think a patch disappeared somewhere.
>=20
> That was the one I referenced at the beginning of this email.
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



--------------enig8FC035EE44599C0D30620CF6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoO7eAAoJEOhnXe7L7s6jZr0P/jEA3z3rnrIRzMAb9k58kV1i
DiowtaYpKKNtlYG6RSVLtC5Hwcedw06C3EJmYg5jVGyJ5BlrQW4p/2fX+ozIPs8q
phaqCmSMagPnIrUAauj0jGZzo16VnMnawSOrNmOIqLdVPkC5vwGIx+y+f8otGseo
j2weShe2Fws6W/IrtyRdLgrAjZ4ROfTKaaHddv/H+Z4ua6t15P6VAuYd1FFRmw1G
82YmikwpaDO+W2l2Xo6eOylDrkFD1J2puKrVcx0/yon3ec6jQquWVhf+mbZi9kzx
EK31sHCtCtpWnLmg2FSirkOCMeC8UxFx+Md37yw8wv0q0cCEgNpTjwvBQPAI4GeI
u3P/Hi1GcfUDX8OecQwLcd3Wlsa5q0HP7ga/NfL0HAXrBEg3ilcJ+Zfi/m06cVZJ
oAor+RknjZQXo+fHKMTfrnHQ0Kr7nO8Am9LzURyO0N+92rmNE62HYArQk60fQ1TR
k6EZNa4UvK2MooWin6cx/BFvjA+Ahpbp0tpC07G7X/9XVKqEmlyBKl02LsZcixYz
YOy19EoOdm3ewkKTVVxyd/G4RqR7oRgUBKG+3wHU6VjrA9uLr4qUMiKHZf5iLsDH
zstEEcaDKLCTvPxYidCfgACmio2/5zlwPlDEiRbbXA3zGnVn/X3m0HZEXXOUkpSf
wo4fA1jPQ5Ql3nAmSpYa
=eQpr
-----END PGP SIGNATURE-----

--------------enig8FC035EE44599C0D30620CF6--


--===============6383696628749017196==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6383696628749017196==--


From xen-devel-bounces@lists.xen.org Wed May 02 08:37:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:37:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPV3c-0001pg-NT; Wed, 02 May 2012 08:37:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPV3a-0001pb-LV
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:37:06 +0000
Received: from [193.109.254.147:13652] by server-9.bemta-14.messagelabs.com id
	14/2B-05787-132F0AF4; Wed, 02 May 2012 08:37:05 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1335947822!7248237!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32127 invoked from network); 2 May 2012 08:37:02 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-8.tower-27.messagelabs.com with SMTP;
	2 May 2012 08:37:02 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPV3U-0001t7-Nm; Wed, 02 May 2012 08:37:00 +0000
Message-ID: <4FA0F22B.1030505@canonical.com>
Date: Wed, 02 May 2012 10:36:59 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>	<20120426155033.GE26830@phenom.dumpdata.com>	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
In-Reply-To: <4FA06541.7050607@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8138260408291714200=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============8138260408291714200==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig2D59051F8CC116A8C0E01A61"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2D59051F8CC116A8C0E01A61
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 00:35, Boris Ostrovsky wrote:
> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>> Since there have been requests about that driver to get backported =
into 3.2, I
>>>>> was interested to find out what or how much would be gained by that=
=2E
>>>>>
>>>>> The first system I tried was an AMD based one (8 core Opteron 6128@=
2GHz).
>>>>> Which
>>>>> was not very successful as the drivers bail out of the init functio=
n
>>>>> because the
>>>>> first call to acpi_processor_register_performance() returns -ENODEV=
=2E There is
>>>>> some frequency scaling when running without Xen, so I need to do so=
me more
>>>>> debugging there.
>=20
> I believe this is caused by the somewhat under-enlightened xen_apic_rea=
d():
>=20
> static u32 xen_apic_read(u32 reg)
> {
>         return 0;
> }
>=20
> This results in some data, most importantly boot_cpu_physical_apicid, n=
ot being
> set correctly and, in turn, causes x86_cpu_to_apicid to be broken.

Ah ok. I check what my box say and try the change below and gathering mor=
e data
as suggested in the follow-ups (including to turn on the acpi debugging a=
nd
debugging in the xen acpi processor driver). The latter I had done but th=
at only
would print "max acpi id: 16" (or so) before the failure. No wonder missi=
ng the
acpi debugging.

>=20
> On larger AMD systems boot processor is typically APICID=3D0x20 (I don'=
t have
> Intel system handy to see how it looks there).
>=20
> As a quick and dirty test you can try:
>=20
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index edc2448..1f78998 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long =
address)
>         }
>         if (boot_cpu_physical_apicid =3D=3D -1U) {
>                 boot_cpu_physical_apicid  =3D read_apic_id();
> +               boot_cpu_physical_apicid =3D 32;
>                 apic_version[boot_cpu_physical_apicid] =3D
>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>         }
>=20
>=20
> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
>=20
> -boris
>=20
>=20
>>>>
>>>> Did you back-port the other components - the ones that turn off the =
native
>>>> frequency scalling?
>>>>
>>>>        provide disable_cpufreq() function to disable the API.
>>>>     xen/acpi-processor: Do not depend on CPU frequency scaling drive=
rs.
>>>>        xen/cpufreq: Disable the cpu frequency scaling drivers from l=
oading
>>>>>
>>>
>>> Yes, here is the full set for reference:
>>>
>>> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading=
=2E
>>> * xen/acpi: Remove the WARN's as they just create noise.
>>> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.=

>>> * xen/acpi-processor: C and P-state driver that uploads said data to =
hyper
>>> * provide disable_cpufreq() function to disable the API.
>>
>> And (Linus just pulled it), you also need this one:
>>   df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWA=
IT_LEAF
>> so that acpi-pad won't be loaded.)
>>
>>>
>>>>> The second system was an Intel one (4 core i7 920@2.67GHz) which wa=
s
>>>>> successfully loading the driver. Via xenpm I can see the various
>>>>> frequencies and
>>>>> also see them being changed. However the cpuidle data out of xenpm =
looks a
>>>>> bit odd:
>>>>>
>>>>> #>  xenpm get-cpuidle-states 0
>>>>> Max C-state: C7
>>>>>
>>>>> cpu id               : 0
>>>>> total C-states       : 2
>>>>> idle time(ms)        : 10819311
>>>>> C0                   : transition [00000000000000000001]
>>>>>                         residency  [00000000000000005398 ms]
>>>>> C1                   : transition [00000000000000000001]
>>>>>                         residency  [00000000000010819311 ms]
>>>>> pc3                  : [00000000000000000000 ms]
>>>>> pc6                  : [00000000000000000000 ms]
>>>>> pc7                  : [00000000000000000000 ms]
>>>>> cc3                  : [00000000000000000000 ms]
>>>>> cc6                  : [00000000000000000000 ms]
>>>>>
>>>>> Also gathering samples over 30s does look like only C0 and C1 are u=
sed. This
>>>>
>>>> Yes.
>>>>> might be because C1E support is enabled in BIOS but when looking at=
 the
>>>>> intel_idle data in sysfs when running without a hypervisor will sho=
w C3 and C6
>>>>> for the cores. That could have been just a wrong output, so I plugg=
ed in a
>>>>> power
>>>>> meter and compared a kernel running natively and running as dom0 (w=
ith and
>>>>> without the acpi-processor driver).
>>>>>
>>>>> Native: 175W
>>>>> dom0:   183W (with only marginal difference between with or without=
 the
>>>>>                processor driver)
>>>>> [yes, the system has a somewhat high base consumption which I attri=
bute to a
>>>>> ridiculously dimensioned graphics subsystem to be running a text co=
nsole]
>>>>>
>>>>> This I would take as C3 and C6 really not being used and the freque=
ncy scaling
>>
>> So the other thing I forgot to note is that C3->C6 have a detrimental
>> effect on some Intel boxes with Xen. We haven't figured out exactly wh=
ich ones
>> and the bug is definitly in the hypervisor. The bug is that when the C=
PU goes in
>> those states the NIC ends up being unresponsive. Its like the interrup=
ts stopped
>> being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
>>
>>>>
>>>> To go in deeper modes there is also a need to backport a Xen unstabl=
e
>>>> hypercall which will allow the kernel to detect the other states bes=
ides
>>>> C0-C2.
>>>>
>>>> "XEN_SET_PDC query was implemented in c/s 23783:
>>>>      "ACPI: add _PDC input override mechanism".
>>>>
>>>
>>> I see. There is a kernel patch about enabling MWAIT that refers to th=
at...
>>
>> Were there any special things you ran when checking the output? Just p=
lugging
>> and looking at the results?
>>>
>>>>
>>>>> having no impact on the idle system is not that much surprising. Bu=
t if
>>>>> that was
>>>>> true it would also limit the usefulness of the turbo mode which I u=
nderstand
>>>>> would also be limited by the c-state of the other cores.
>>>>
>>>> Hm, I should double-check that - but somehow I thought that Xen inde=
pendetly
>>>> checks for TurboMode and if the P-states are in, then they are activ=
ated.
>>
>> I did a bit of checking around and it does seem that is the case. From=
 what
>> I have gathered the TurboMode kicks in when the CPU is C0 mode (which =
should
>> be obvious), and when the other cores are in anything but C0 mode. And=
 sure
>> enough that seems to be the case. But I can't get the concrete details=
 whether
>> the "but C0 mode" means that TurboMode will work better if the C mode =
is legacy
>> C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out =
from
>> Len Brown more details..
>>>>
>>> Turbo mode should be enabled. I had been only looking at a generic ov=
erview
>>> about it on Intel site which sounded like it  would make more of a di=
fference on
>>> how much one core could get overclocked related to how many cores are=
 active
>>> (and I translated active or not into deeper c-states or not).
>>> Looking at the verbose output of turbostat it seems not to make that =
much
>>> difference whether 2-4 cores are running. A single core alone could g=
et one more
>>> increment in clock stepping. That does not immediately sound a lot. A=
nd of
>>> course how much or long the higher clock is used depends on other fac=
tors as
>>> well and is not under OS control.
>>>
>>> In the end it is probably quite dynamic and hard to come up with hard=
 facts to
>>> prove its value. Though if I can lower the idle power usage by reachi=
ng a bit
>>> further, that would greatly help to justify the effort and potential =
risk of
>>> backporting...
>>
>> I understand. I wish I could give you the exact percentage points by w=
hich
>> the power usage will drop. But I think the more substantial reason ben=
efit of
>> these patches is performance gains. The ones that Ian Campbell ran and=
 were
>> posted on Phorenix site paint that they are beneficial.
>>
>>>
>>>>>
>>>>> Do I misread the data I see? Or maybe its a known limitation? In ca=
se it is
>>>>> worth doing more research I'll gladly try things and gather more da=
ta.
>>>>
>>>> Just missing some patches.
>>>>
>>>> Oh, and this one:
>>>>        xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>>>
>>>> Hmm.. I think a patch disappeared somewhere.
>>
>> That was the one I referenced at the beginning of this email.
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>
>=20
>=20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



--------------enig2D59051F8CC116A8C0E01A61
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoPIrAAoJEOhnXe7L7s6jTaEQAIOVbD8Jg5dFXXuVemYHgRkf
+gGbuI+u0kWWaYjmAzyjhstqP1ut28ePcLU1t7VJVZjyVWLgi7IgakeHPddjIFMa
UkBHueFtcdqIT5HWvXhTGKuxYkxDfsnIt6Cr1TGCqEEdtYo2W5NoqvUsw31S8yeQ
z974yjim2pEkUuYQXhFi5ddmTF9JH5497gOdEw0TIOeY/AuHWPHGL5RWS7zVt6y5
mChWb2aiG3C9SLgih92fcA34iQ/Tj+F+5o82LeMG6tXOkJMNRH0NGDsw36On6m+x
ouXsgkfARbMSRtB3y7xdDWJIhKOSN8yQZNWfqSNnhGqfRzTHD99NjmT233OVi832
dMSricUWEHqcrxrD9xkHn0MJZSmDRiUGygw8MktOTrxI+wIvb/GzghXyPWI+zuUV
au0wFKKr/9hEz+7pSQRU1Mc9Csx3copskQmnwoJOY69LBAY9fW2zNA/SStBDnRfp
8ol3AlEkle+hu8M91SJl32TmABh5HNN+wMMGzkkPsy5z06Eac1YJ045ynhxaigR8
OBga8/0CI9LNa8fVCMKCNpqgIXImiz9BBKSdPF3MXjhq1sk4BjSj6v+KMfGV3RzQ
Tdqx7Wt+fE5FomKy8UwJDXa1FW0tRmN5esbE+F6Y+YlJZxlZOm5ZDaiU/RyUB33Y
vGHYvJSOmyA62lNRQXzH
=7eSy
-----END PGP SIGNATURE-----

--------------enig2D59051F8CC116A8C0E01A61--


--===============8138260408291714200==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8138260408291714200==--


From xen-devel-bounces@lists.xen.org Wed May 02 08:37:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:37:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPV3c-0001pg-NT; Wed, 02 May 2012 08:37:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPV3a-0001pb-LV
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 08:37:06 +0000
Received: from [193.109.254.147:13652] by server-9.bemta-14.messagelabs.com id
	14/2B-05787-132F0AF4; Wed, 02 May 2012 08:37:05 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1335947822!7248237!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32127 invoked from network); 2 May 2012 08:37:02 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-8.tower-27.messagelabs.com with SMTP;
	2 May 2012 08:37:02 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPV3U-0001t7-Nm; Wed, 02 May 2012 08:37:00 +0000
Message-ID: <4FA0F22B.1030505@canonical.com>
Date: Wed, 02 May 2012 10:36:59 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>	<20120426155033.GE26830@phenom.dumpdata.com>	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
In-Reply-To: <4FA06541.7050607@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8138260408291714200=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============8138260408291714200==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig2D59051F8CC116A8C0E01A61"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2D59051F8CC116A8C0E01A61
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 00:35, Boris Ostrovsky wrote:
> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>> Since there have been requests about that driver to get backported =
into 3.2, I
>>>>> was interested to find out what or how much would be gained by that=
=2E
>>>>>
>>>>> The first system I tried was an AMD based one (8 core Opteron 6128@=
2GHz).
>>>>> Which
>>>>> was not very successful as the drivers bail out of the init functio=
n
>>>>> because the
>>>>> first call to acpi_processor_register_performance() returns -ENODEV=
=2E There is
>>>>> some frequency scaling when running without Xen, so I need to do so=
me more
>>>>> debugging there.
>=20
> I believe this is caused by the somewhat under-enlightened xen_apic_rea=
d():
>=20
> static u32 xen_apic_read(u32 reg)
> {
>         return 0;
> }
>=20
> This results in some data, most importantly boot_cpu_physical_apicid, n=
ot being
> set correctly and, in turn, causes x86_cpu_to_apicid to be broken.

Ah ok. I check what my box say and try the change below and gathering mor=
e data
as suggested in the follow-ups (including to turn on the acpi debugging a=
nd
debugging in the xen acpi processor driver). The latter I had done but th=
at only
would print "max acpi id: 16" (or so) before the failure. No wonder missi=
ng the
acpi debugging.

>=20
> On larger AMD systems boot processor is typically APICID=3D0x20 (I don'=
t have
> Intel system handy to see how it looks there).
>=20
> As a quick and dirty test you can try:
>=20
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index edc2448..1f78998 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long =
address)
>         }
>         if (boot_cpu_physical_apicid =3D=3D -1U) {
>                 boot_cpu_physical_apicid  =3D read_apic_id();
> +               boot_cpu_physical_apicid =3D 32;
>                 apic_version[boot_cpu_physical_apicid] =3D
>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>         }
>=20
>=20
> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
>=20
> -boris
>=20
>=20
>>>>
>>>> Did you back-port the other components - the ones that turn off the =
native
>>>> frequency scalling?
>>>>
>>>>        provide disable_cpufreq() function to disable the API.
>>>>     xen/acpi-processor: Do not depend on CPU frequency scaling drive=
rs.
>>>>        xen/cpufreq: Disable the cpu frequency scaling drivers from l=
oading
>>>>>
>>>
>>> Yes, here is the full set for reference:
>>>
>>> * xen/cpufreq: Disable the cpu frequency scaling drivers from loading=
=2E
>>> * xen/acpi: Remove the WARN's as they just create noise.
>>> * xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>> * xen/acpi-processor: Do not depend on CPU frequency scaling drivers.=

>>> * xen/acpi-processor: C and P-state driver that uploads said data to =
hyper
>>> * provide disable_cpufreq() function to disable the API.
>>
>> And (Linus just pulled it), you also need this one:
>>   df88b2d96e36d9a9e325bfcd12eb45671cbbc937 (xen/enlighten: Disable MWA=
IT_LEAF
>> so that acpi-pad won't be loaded.)
>>
>>>
>>>>> The second system was an Intel one (4 core i7 920@2.67GHz) which wa=
s
>>>>> successfully loading the driver. Via xenpm I can see the various
>>>>> frequencies and
>>>>> also see them being changed. However the cpuidle data out of xenpm =
looks a
>>>>> bit odd:
>>>>>
>>>>> #>  xenpm get-cpuidle-states 0
>>>>> Max C-state: C7
>>>>>
>>>>> cpu id               : 0
>>>>> total C-states       : 2
>>>>> idle time(ms)        : 10819311
>>>>> C0                   : transition [00000000000000000001]
>>>>>                         residency  [00000000000000005398 ms]
>>>>> C1                   : transition [00000000000000000001]
>>>>>                         residency  [00000000000010819311 ms]
>>>>> pc3                  : [00000000000000000000 ms]
>>>>> pc6                  : [00000000000000000000 ms]
>>>>> pc7                  : [00000000000000000000 ms]
>>>>> cc3                  : [00000000000000000000 ms]
>>>>> cc6                  : [00000000000000000000 ms]
>>>>>
>>>>> Also gathering samples over 30s does look like only C0 and C1 are u=
sed. This
>>>>
>>>> Yes.
>>>>> might be because C1E support is enabled in BIOS but when looking at=
 the
>>>>> intel_idle data in sysfs when running without a hypervisor will sho=
w C3 and C6
>>>>> for the cores. That could have been just a wrong output, so I plugg=
ed in a
>>>>> power
>>>>> meter and compared a kernel running natively and running as dom0 (w=
ith and
>>>>> without the acpi-processor driver).
>>>>>
>>>>> Native: 175W
>>>>> dom0:   183W (with only marginal difference between with or without=
 the
>>>>>                processor driver)
>>>>> [yes, the system has a somewhat high base consumption which I attri=
bute to a
>>>>> ridiculously dimensioned graphics subsystem to be running a text co=
nsole]
>>>>>
>>>>> This I would take as C3 and C6 really not being used and the freque=
ncy scaling
>>
>> So the other thing I forgot to note is that C3->C6 have a detrimental
>> effect on some Intel boxes with Xen. We haven't figured out exactly wh=
ich ones
>> and the bug is definitly in the hypervisor. The bug is that when the C=
PU goes in
>> those states the NIC ends up being unresponsive. Its like the interrup=
ts stopped
>> being ACKed. If I run 'xenpm set-max-cstate 2' the issue disappears.
>>
>>>>
>>>> To go in deeper modes there is also a need to backport a Xen unstabl=
e
>>>> hypercall which will allow the kernel to detect the other states bes=
ides
>>>> C0-C2.
>>>>
>>>> "XEN_SET_PDC query was implemented in c/s 23783:
>>>>      "ACPI: add _PDC input override mechanism".
>>>>
>>>
>>> I see. There is a kernel patch about enabling MWAIT that refers to th=
at...
>>
>> Were there any special things you ran when checking the output? Just p=
lugging
>> and looking at the results?
>>>
>>>>
>>>>> having no impact on the idle system is not that much surprising. Bu=
t if
>>>>> that was
>>>>> true it would also limit the usefulness of the turbo mode which I u=
nderstand
>>>>> would also be limited by the c-state of the other cores.
>>>>
>>>> Hm, I should double-check that - but somehow I thought that Xen inde=
pendetly
>>>> checks for TurboMode and if the P-states are in, then they are activ=
ated.
>>
>> I did a bit of checking around and it does seem that is the case. From=
 what
>> I have gathered the TurboMode kicks in when the CPU is C0 mode (which =
should
>> be obvious), and when the other cores are in anything but C0 mode. And=
 sure
>> enough that seems to be the case. But I can't get the concrete details=
 whether
>> the "but C0 mode" means that TurboMode will work better if the C mode =
is legacy
>> C1, C2, C3 or the CPU C-states (so MWAIT enabled). Trying to find out =
from
>> Len Brown more details..
>>>>
>>> Turbo mode should be enabled. I had been only looking at a generic ov=
erview
>>> about it on Intel site which sounded like it  would make more of a di=
fference on
>>> how much one core could get overclocked related to how many cores are=
 active
>>> (and I translated active or not into deeper c-states or not).
>>> Looking at the verbose output of turbostat it seems not to make that =
much
>>> difference whether 2-4 cores are running. A single core alone could g=
et one more
>>> increment in clock stepping. That does not immediately sound a lot. A=
nd of
>>> course how much or long the higher clock is used depends on other fac=
tors as
>>> well and is not under OS control.
>>>
>>> In the end it is probably quite dynamic and hard to come up with hard=
 facts to
>>> prove its value. Though if I can lower the idle power usage by reachi=
ng a bit
>>> further, that would greatly help to justify the effort and potential =
risk of
>>> backporting...
>>
>> I understand. I wish I could give you the exact percentage points by w=
hich
>> the power usage will drop. But I think the more substantial reason ben=
efit of
>> these patches is performance gains. The ones that Ian Campbell ran and=
 were
>> posted on Phorenix site paint that they are beneficial.
>>
>>>
>>>>>
>>>>> Do I misread the data I see? Or maybe its a known limitation? In ca=
se it is
>>>>> worth doing more research I'll gladly try things and gather more da=
ta.
>>>>
>>>> Just missing some patches.
>>>>
>>>> Oh, and this one:
>>>>        xen/acpi: Fix Kconfig dependency on CPU_FREQ
>>>>
>>>> Hmm.. I think a patch disappeared somewhere.
>>
>> That was the one I referenced at the beginning of this email.
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>
>=20
>=20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



--------------enig2D59051F8CC116A8C0E01A61
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoPIrAAoJEOhnXe7L7s6jTaEQAIOVbD8Jg5dFXXuVemYHgRkf
+gGbuI+u0kWWaYjmAzyjhstqP1ut28ePcLU1t7VJVZjyVWLgi7IgakeHPddjIFMa
UkBHueFtcdqIT5HWvXhTGKuxYkxDfsnIt6Cr1TGCqEEdtYo2W5NoqvUsw31S8yeQ
z974yjim2pEkUuYQXhFi5ddmTF9JH5497gOdEw0TIOeY/AuHWPHGL5RWS7zVt6y5
mChWb2aiG3C9SLgih92fcA34iQ/Tj+F+5o82LeMG6tXOkJMNRH0NGDsw36On6m+x
ouXsgkfARbMSRtB3y7xdDWJIhKOSN8yQZNWfqSNnhGqfRzTHD99NjmT233OVi832
dMSricUWEHqcrxrD9xkHn0MJZSmDRiUGygw8MktOTrxI+wIvb/GzghXyPWI+zuUV
au0wFKKr/9hEz+7pSQRU1Mc9Csx3copskQmnwoJOY69LBAY9fW2zNA/SStBDnRfp
8ol3AlEkle+hu8M91SJl32TmABh5HNN+wMMGzkkPsy5z06Eac1YJ045ynhxaigR8
OBga8/0CI9LNa8fVCMKCNpqgIXImiz9BBKSdPF3MXjhq1sk4BjSj6v+KMfGV3RzQ
Tdqx7Wt+fE5FomKy8UwJDXa1FW0tRmN5esbE+F6Y+YlJZxlZOm5ZDaiU/RyUB33Y
vGHYvJSOmyA62lNRQXzH
=7eSy
-----END PGP SIGNATURE-----

--------------enig2D59051F8CC116A8C0E01A61--


--===============8138260408291714200==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8138260408291714200==--


From xen-devel-bounces@lists.xen.org Wed May 02 08:53:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:53:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVJM-00020Q-9l; Wed, 02 May 2012 08:53:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPVJL-00020L-8Q
	for xen-devel@lists.xen.org; Wed, 02 May 2012 08:53:23 +0000
Received: from [85.158.143.35:61654] by server-3.bemta-4.messagelabs.com id
	62/C0-05853-206F0AF4; Wed, 02 May 2012 08:53:22 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1335948800!11233892!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI2NDIw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25027 invoked from network); 2 May 2012 08:53:21 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-21.messagelabs.com with SMTP;
	2 May 2012 08:53:21 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 02 May 2012 01:53:20 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="137850565"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 02 May 2012 01:53:19 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 2 May 2012 01:53:19 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Wed, 2 May 2012 16:53:17 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Jan Beulich <JBeulich@suse.com>, Aravindh Puthiyaparambil
	<aravindh@virtuata.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA
Date: Wed, 2 May 2012 08:53:16 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
In-Reply-To: <4F914060020000780007EC9D@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Dong, Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> Jun, Eddie - I further wonder why #OF is not being handled according
> to the documentation here either (should also result in
> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
> should be annotated with a comment saying why fall-through is
> intended here). Nor does the documentation state that TRAP_debug
> should ever result in X86_EVENTTYPE_SW_EXCEPTION.

Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF & #BP, 
It seems we are slightly different here. Let me check w/ internal person.

> 
> Finally, the whole injection logic (including the patch here) doesn't
> appear to cope with INT nn being used by a guest with nn < 32, nor

The original code path works for the privilege violation introduced exceptions,
It seems we probbaly need a new code for INT n emulation for both interrupt & exceptions. 

> with any (pointless) prefixes used on INT3 or INT nn.
> 
What specific prefix do u mean here?

Thx, Eddie


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:53:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:53:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVJM-00020Q-9l; Wed, 02 May 2012 08:53:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPVJL-00020L-8Q
	for xen-devel@lists.xen.org; Wed, 02 May 2012 08:53:23 +0000
Received: from [85.158.143.35:61654] by server-3.bemta-4.messagelabs.com id
	62/C0-05853-206F0AF4; Wed, 02 May 2012 08:53:22 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1335948800!11233892!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI2NDIw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25027 invoked from network); 2 May 2012 08:53:21 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-21.messagelabs.com with SMTP;
	2 May 2012 08:53:21 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 02 May 2012 01:53:20 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="137850565"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 02 May 2012 01:53:19 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 2 May 2012 01:53:19 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Wed, 2 May 2012 16:53:17 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Jan Beulich <JBeulich@suse.com>, Aravindh Puthiyaparambil
	<aravindh@virtuata.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA
Date: Wed, 2 May 2012 08:53:16 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
In-Reply-To: <4F914060020000780007EC9D@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Dong, Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> Jun, Eddie - I further wonder why #OF is not being handled according
> to the documentation here either (should also result in
> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
> should be annotated with a comment saying why fall-through is
> intended here). Nor does the documentation state that TRAP_debug
> should ever result in X86_EVENTTYPE_SW_EXCEPTION.

Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF & #BP, 
It seems we are slightly different here. Let me check w/ internal person.

> 
> Finally, the whole injection logic (including the patch here) doesn't
> appear to cope with INT nn being used by a guest with nn < 32, nor

The original code path works for the privilege violation introduced exceptions,
It seems we probbaly need a new code for INT n emulation for both interrupt & exceptions. 

> with any (pointless) prefixes used on INT3 or INT nn.
> 
What specific prefix do u mean here?

Thx, Eddie


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:55:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:55:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVLF-00024v-Qe; Wed, 02 May 2012 08:55:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVLF-00024o-2s
	for xen-devel@lists.xen.org; Wed, 02 May 2012 08:55:21 +0000
Received: from [85.158.139.83:34339] by server-12.bemta-5.messagelabs.com id
	0A/A8-01344-876F0AF4; Wed, 02 May 2012 08:55:20 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1335948919!22411814!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19924 invoked from network); 2 May 2012 08:55:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 08:55:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 09:55:18 +0100
Message-Id: <4FA1129502000078000810B9@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 09:55:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
References: <4F99617F.8000002@citrix.com> <CBC5A160.3F784%keir@xen.org>
In-Reply-To: <CBC5A160.3F784%keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
 releases
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 01.05.12 at 15:19, Keir Fraser <keir@xen.org> wrote:
> On 26/04/2012 15:53, "Malcolm Crossley" <malcolm.crossley@citrix.com> wrote:
> 
>> On 12/04/12 17:30, Ian Campbell wrote:
>>> The time has come for another round of stable releases.
>>> 
>>> Please send (or resend) any outstanding backport requests for 4.0.4 and
>>> 4.1.3 before Friday 20 April.
>>> 
>>> Note that 4.0.4 will likely be the last release in the 4.0.x branch.
>>> 
>>> Ian.
>> Can 25242:b7ce6a88bebb, 24990:322300fd2ebd and 25058:f47d91cb0faa be
>> backported to 4.0 and 4.1?
> 
> Done.

Any plan then to tag RC1-s on both trees?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 08:55:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 08:55:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVLF-00024v-Qe; Wed, 02 May 2012 08:55:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVLF-00024o-2s
	for xen-devel@lists.xen.org; Wed, 02 May 2012 08:55:21 +0000
Received: from [85.158.139.83:34339] by server-12.bemta-5.messagelabs.com id
	0A/A8-01344-876F0AF4; Wed, 02 May 2012 08:55:20 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1335948919!22411814!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19924 invoked from network); 2 May 2012 08:55:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 08:55:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 09:55:18 +0100
Message-Id: <4FA1129502000078000810B9@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 09:55:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
References: <4F99617F.8000002@citrix.com> <CBC5A160.3F784%keir@xen.org>
In-Reply-To: <CBC5A160.3F784%keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
 releases
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 01.05.12 at 15:19, Keir Fraser <keir@xen.org> wrote:
> On 26/04/2012 15:53, "Malcolm Crossley" <malcolm.crossley@citrix.com> wrote:
> 
>> On 12/04/12 17:30, Ian Campbell wrote:
>>> The time has come for another round of stable releases.
>>> 
>>> Please send (or resend) any outstanding backport requests for 4.0.4 and
>>> 4.1.3 before Friday 20 April.
>>> 
>>> Note that 4.0.4 will likely be the last release in the 4.0.x branch.
>>> 
>>> Ian.
>> Can 25242:b7ce6a88bebb, 24990:322300fd2ebd and 25058:f47d91cb0faa be
>> backported to 4.0 and 4.1?
> 
> Done.

Any plan then to tag RC1-s on both trees?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:00:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:00:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVQ5-0002J7-JY; Wed, 02 May 2012 09:00:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVQ4-0002J2-3t
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:00:20 +0000
Received: from [85.158.143.35:62586] by server-3.bemta-4.messagelabs.com id
	4D/AD-05853-3A7F0AF4; Wed, 02 May 2012 09:00:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1335949217!15643714!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19834 invoked from network); 2 May 2012 09:00:18 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:00:18 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:00:16 +0100
Message-Id: <4FA113B902000078000810C3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:00:09 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
In-Reply-To: <20120430193713.GA12817@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> I somehow thought that this has been fixed but I've been
> getting reports that people are running into this.

"this" being what? I too thought that all xsave related issues were
sorted out by now.

Jan

> What kind of fix do I need the in the kernel? I see this:
>  255         xen_cpuid(&ax, &bx, &cx, &dx);
>  256 
>  257         xsave_mask =
>  258                 (1 << (X86_FEATURE_XSAVE % 32)) |
>  259                 (1 << (X86_FEATURE_OSXSAVE % 32));
>  260 
>  261         /* Xen will set CR4.OSXSAVE if supported and not disabled by 
> force */
>  262         if ((cx & xsave_mask) != xsave_mask)
>  263                 cpuid_leaf1_ecx_mask &= ~xsave_mask; /* disable XSAVE & 
> OSXSAVE */
>  264 }
> 
> But do I need some other one?




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:00:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:00:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVQ5-0002J7-JY; Wed, 02 May 2012 09:00:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVQ4-0002J2-3t
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:00:20 +0000
Received: from [85.158.143.35:62586] by server-3.bemta-4.messagelabs.com id
	4D/AD-05853-3A7F0AF4; Wed, 02 May 2012 09:00:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1335949217!15643714!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19834 invoked from network); 2 May 2012 09:00:18 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:00:18 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:00:16 +0100
Message-Id: <4FA113B902000078000810C3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:00:09 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
In-Reply-To: <20120430193713.GA12817@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> I somehow thought that this has been fixed but I've been
> getting reports that people are running into this.

"this" being what? I too thought that all xsave related issues were
sorted out by now.

Jan

> What kind of fix do I need the in the kernel? I see this:
>  255         xen_cpuid(&ax, &bx, &cx, &dx);
>  256 
>  257         xsave_mask =
>  258                 (1 << (X86_FEATURE_XSAVE % 32)) |
>  259                 (1 << (X86_FEATURE_OSXSAVE % 32));
>  260 
>  261         /* Xen will set CR4.OSXSAVE if supported and not disabled by 
> force */
>  262         if ((cx & xsave_mask) != xsave_mask)
>  263                 cpuid_leaf1_ecx_mask &= ~xsave_mask; /* disable XSAVE & 
> OSXSAVE */
>  264 }
> 
> But do I need some other one?




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:05:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:05:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVV4-0002RL-BA; Wed, 02 May 2012 09:05:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVV2-0002RG-Tr
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:05:29 +0000
Received: from [85.158.143.35:16366] by server-2.bemta-4.messagelabs.com id
	BA/08-17550-8D8F0AF4; Wed, 02 May 2012 09:05:28 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1335949526!13392119!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15874 invoked from network); 2 May 2012 09:05:26 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:05:26 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:05:25 +0100
Message-Id: <4FA114F402000078000810D4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:05:24 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
In-Reply-To: <20120501163707.GA8741@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: linux-kernel@vger.kernel.org, david.vrabel@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 01.05.12 at 18:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
>> Changelog v5 [since v4]:
>>  - used populate_physmap, fixed bugs.
>> [v2-v4: not posted]
>>  - reworked the code in setup.c to work properly.
>> [v1: https://lkml.org/lkml/2012/3/30/492]
>>  - initial patchset
> 
> One bug I found was that with 'dom0_mem=max:1G' (with and without these
> patches) I would get a bunch of
> 
> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 
> of 17)
> 
> where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
> I ran on it. I figured it out that the difference was in the ACPI tables
> that are allocated - and that those regions - even though are returned
> back to the hypervisor, cannot be repopulated. I can't find the actual
> exact piece of code in the hypervisor to pin-point and say "Aha".

Are you sure about this? For one, given that you wrote that you saw this
with as little as a single page off, I doubt there's any half way modern
system where ACPI tables all fit into a single page (2 would even seem to
be a theoretical minimum, as there ought to be one NVS region along with
the "normal" tables).

Second, the ability to repopulate shouldn't really depend on the nature of
the corresponding machine pages.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:05:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:05:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVV4-0002RL-BA; Wed, 02 May 2012 09:05:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVV2-0002RG-Tr
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:05:29 +0000
Received: from [85.158.143.35:16366] by server-2.bemta-4.messagelabs.com id
	BA/08-17550-8D8F0AF4; Wed, 02 May 2012 09:05:28 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1335949526!13392119!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15874 invoked from network); 2 May 2012 09:05:26 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:05:26 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:05:25 +0100
Message-Id: <4FA114F402000078000810D4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:05:24 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
In-Reply-To: <20120501163707.GA8741@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: linux-kernel@vger.kernel.org, david.vrabel@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 01.05.12 at 18:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
>> Changelog v5 [since v4]:
>>  - used populate_physmap, fixed bugs.
>> [v2-v4: not posted]
>>  - reworked the code in setup.c to work properly.
>> [v1: https://lkml.org/lkml/2012/3/30/492]
>>  - initial patchset
> 
> One bug I found was that with 'dom0_mem=max:1G' (with and without these
> patches) I would get a bunch of
> 
> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 
> of 17)
> 
> where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
> I ran on it. I figured it out that the difference was in the ACPI tables
> that are allocated - and that those regions - even though are returned
> back to the hypervisor, cannot be repopulated. I can't find the actual
> exact piece of code in the hypervisor to pin-point and say "Aha".

Are you sure about this? For one, given that you wrote that you saw this
with as little as a single page off, I doubt there's any half way modern
system where ACPI tables all fit into a single page (2 would even seem to
be a theoretical minimum, as there ought to be one NVS region along with
the "normal" tables).

Second, the ability to repopulate shouldn't really depend on the nature of
the corresponding machine pages.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:19:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVij-00030Z-Kj; Wed, 02 May 2012 09:19:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVih-00030S-JO
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:19:35 +0000
Received: from [193.109.254.147:44800] by server-2.bemta-14.messagelabs.com id
	BF/36-19409-62CF0AF4; Wed, 02 May 2012 09:19:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1335950374!7233706!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16389 invoked from network); 2 May 2012 09:19:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:19:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:19:33 +0100
Message-Id: <4FA1184002000078000810E3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:19:28 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Boris Ostrovsky" <boris.ostrovsky@amd.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com> <4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com>
	<20120502004712<20120502004712.GA15950@phenom.dumpdata.com>
	<4FA089C0.9050203@amd.com>
In-Reply-To: <4FA089C0.9050203@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 03:11, Boris Ostrovsky <boris.ostrovsky@amd.com> wrote:
> On 05/01/2012 08:47 PM, Konrad Rzeszutek Wilk wrote:
>> But it is curious that it has been working for me on AMD and Intel machines.
>> Granted the only server boxes I've are Intel - don't have AMD server boxes at 
> all.
> 
> I am also surprised that aside from some power inefficiencies and "BIOS 
> bug" warnings the system appeared reasonably OK. I'd think that with 
> APIC IDs messed up it would not run.

That's not suprising at all to me, given that the entire LAPIC and
interrupt management happens in Xen and not in Dom0. Hence
P- and C-state management code is likely the only consumer of
this (always going to be bogus under Xen) data.

(In our kernels, I specifically removed all traces of these, as any
use of them can only have bad effects. In pv-ops this not being
an option, the only alternative appears to be to find and adjust
each one individually, now and forever.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:19:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVij-00030Z-Kj; Wed, 02 May 2012 09:19:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVih-00030S-JO
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:19:35 +0000
Received: from [193.109.254.147:44800] by server-2.bemta-14.messagelabs.com id
	BF/36-19409-62CF0AF4; Wed, 02 May 2012 09:19:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1335950374!7233706!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16389 invoked from network); 2 May 2012 09:19:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:19:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:19:33 +0100
Message-Id: <4FA1184002000078000810E3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:19:28 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Boris Ostrovsky" <boris.ostrovsky@amd.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com> <4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com>
	<20120502004712<20120502004712.GA15950@phenom.dumpdata.com>
	<4FA089C0.9050203@amd.com>
In-Reply-To: <4FA089C0.9050203@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 03:11, Boris Ostrovsky <boris.ostrovsky@amd.com> wrote:
> On 05/01/2012 08:47 PM, Konrad Rzeszutek Wilk wrote:
>> But it is curious that it has been working for me on AMD and Intel machines.
>> Granted the only server boxes I've are Intel - don't have AMD server boxes at 
> all.
> 
> I am also surprised that aside from some power inefficiencies and "BIOS 
> bug" warnings the system appeared reasonably OK. I'd think that with 
> APIC IDs messed up it would not run.

That's not suprising at all to me, given that the entire LAPIC and
interrupt management happens in Xen and not in Dom0. Hence
P- and C-state management code is likely the only consumer of
this (always going to be bogus under Xen) data.

(In our kernels, I specifically removed all traces of these, as any
use of them can only have bad effects. In pv-ops this not being
an option, the only alternative appears to be to find and adjust
each one individually, now and forever.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:24:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVmn-00039L-D1; Wed, 02 May 2012 09:23:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVml-000399-7p
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:23:47 +0000
Received: from [85.158.143.99:29108] by server-1.bemta-4.messagelabs.com id
	6C/71-20925-22DF0AF4; Wed, 02 May 2012 09:23:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1335950624!25784433!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30642 invoked from network); 2 May 2012 09:23:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:23:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:23:43 +0100
Message-Id: <4FA1193D02000078000810EC@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:23:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Eddie Dong" <eddie.dong@intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Jun Nakajima <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 10:53, "Dong, Eddie" <eddie.dong@intel.com> wrote:
>>  
>> Jun, Eddie - I further wonder why #OF is not being handled according
>> to the documentation here either (should also result in
>> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
>> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
>> should be annotated with a comment saying why fall-through is
>> intended here). Nor does the documentation state that TRAP_debug
>> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
> 
> Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF & #BP, 
> It seems we are slightly different here. Let me check w/ internal person.

Thanks.

>> Finally, the whole injection logic (including the patch here) doesn't
>> appear to cope with INT nn being used by a guest with nn < 32, nor
> 
> The original code path works for the privilege violation introduced 
> exceptions,
> It seems we probbaly need a new code for INT n emulation for both interrupt & 
> exceptions. 

Indeed.

>> with any (pointless) prefixes used on INT3 or INT nn.
>> 
> What specific prefix do u mean here?

Anyone except perhaps LOCK - none of them should have any effect
other than making the instruction longer.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:24:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPVmn-00039L-D1; Wed, 02 May 2012 09:23:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPVml-000399-7p
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:23:47 +0000
Received: from [85.158.143.99:29108] by server-1.bemta-4.messagelabs.com id
	6C/71-20925-22DF0AF4; Wed, 02 May 2012 09:23:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1335950624!25784433!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30642 invoked from network); 2 May 2012 09:23:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 09:23:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 02 May 2012 10:23:43 +0100
Message-Id: <4FA1193D02000078000810EC@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 02 May 2012 10:23:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Eddie Dong" <eddie.dong@intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Jun Nakajima <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 10:53, "Dong, Eddie" <eddie.dong@intel.com> wrote:
>>  
>> Jun, Eddie - I further wonder why #OF is not being handled according
>> to the documentation here either (should also result in
>> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
>> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
>> should be annotated with a comment saying why fall-through is
>> intended here). Nor does the documentation state that TRAP_debug
>> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
> 
> Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF & #BP, 
> It seems we are slightly different here. Let me check w/ internal person.

Thanks.

>> Finally, the whole injection logic (including the patch here) doesn't
>> appear to cope with INT nn being used by a guest with nn < 32, nor
> 
> The original code path works for the privilege violation introduced 
> exceptions,
> It seems we probbaly need a new code for INT n emulation for both interrupt & 
> exceptions. 

Indeed.

>> with any (pointless) prefixes used on INT3 or INT nn.
>> 
> What specific prefix do u mean here?

Anyone except perhaps LOCK - none of them should have any effect
other than making the instruction longer.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:45:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:45:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPW75-0003Rz-GN; Wed, 02 May 2012 09:44:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SPW74-0003Rt-6U
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:44:46 +0000
Received: from [193.109.254.147:10825] by server-12.bemta-14.messagelabs.com
	id 9B/CE-05898-D0201AF4; Wed, 02 May 2012 09:44:45 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1335951883!7209081!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE0NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32126 invoked from network); 2 May 2012 09:44:44 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 09:44:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330923600"; d="scan'208";a="24759726"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 05:44:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 05:44:41 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SPW6z-0004lD-D0;
	Wed, 02 May 2012 10:44:41 +0100
Message-ID: <4FA10208.6060908@citrix.com>
Date: Wed, 2 May 2012 10:44:40 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1334928211-29856-1-git-send-email-roger.pau@citrix.com>
	<1334928211-29856-3-git-send-email-roger.pau@citrix.com>
	<20373.35017.147406.379559@mariner.uk.xensource.com>
In-Reply-To: <20373.35017.147406.379559@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3 2/5] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH v3 2/5] libxl: add libxl__xs_=
path_cleanup"):
>> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
>> index c7e057d..36d58cd 100644
>> --- a/tools/libxl/libxl_device.c
>> +++ b/tools/libxl/libxl_device.c
>> @@ -356,7 +356,6 @@ int libxl__device_disk_dev_number(const char *virtpa=
th, int *pdisk,
>>       return -1;
>>   }
>>
>> -
>
> Unrelated whitespace change.
>
>> +/*
>> + * Perfrom recursive cleanup of xenstore path, from top to bottom
>> + * just like xenstore-rm -t
>> + */
>> +_hidden int libxl__xs_path_cleanup(libxl__gc *gc, char *path);
>
> I think, following my confusion, that this needs some better
> documentation comment.
>
>> diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
>> index 3ea8d08..0b1b844 100644
>> --- a/tools/libxl/libxl_xshelp.c
>> +++ b/tools/libxl/libxl_xshelp.c
>> @@ -135,6 +135,28 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t =
domid)
>>       return s;
>>   }
>>
>> +int libxl__xs_path_cleanup(libxl__gc *gc, char *path)
>> +{
>> +    libxl_ctx *ctx =3D libxl__gc_owner(gc);
>> +    unsigned int nb =3D 0;
>> +    char *last;
>> +
>> +    if (!path)
>> +        return 0;
>> +
>> +    xs_rm(ctx->xsh, XBT_NULL, path);
>> +
>> +    for (last =3D strrchr(path, '/'); last !=3D NULL; last =3D strrchr(=
path, '/')) {
>
> If the path is relative, this won't work correctly.
>
> Also this whole thing needs to take place in a transaction, or it is
> racy.  Probably a transaction supplied by the caller, in which case
> you should assert it.

This cannot be done inside of a transaction, because we cannot check =

that the directory is empty if the remove has not actually taken place, =

and checking that there are zero or one elements (the one we 'had' =

removed) can lead to unexpected results, as someone might be deleting =

elements on our back and we might actually delete a directory that still =

has valid entries.

>
>> +        *last =3D '\0';
>> +        if (!libxl__xs_directory(gc, XBT_NULL, path,&nb))
>> +            continue;
>
> If this fails, it should be a fatal error; we should not just blunder
> on.
>
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:45:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:45:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPW75-0003Rz-GN; Wed, 02 May 2012 09:44:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SPW74-0003Rt-6U
	for xen-devel@lists.xen.org; Wed, 02 May 2012 09:44:46 +0000
Received: from [193.109.254.147:10825] by server-12.bemta-14.messagelabs.com
	id 9B/CE-05898-D0201AF4; Wed, 02 May 2012 09:44:45 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1335951883!7209081!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE0NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32126 invoked from network); 2 May 2012 09:44:44 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 09:44:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330923600"; d="scan'208";a="24759726"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 05:44:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 05:44:41 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SPW6z-0004lD-D0;
	Wed, 02 May 2012 10:44:41 +0100
Message-ID: <4FA10208.6060908@citrix.com>
Date: Wed, 2 May 2012 10:44:40 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1334928211-29856-1-git-send-email-roger.pau@citrix.com>
	<1334928211-29856-3-git-send-email-roger.pau@citrix.com>
	<20373.35017.147406.379559@mariner.uk.xensource.com>
In-Reply-To: <20373.35017.147406.379559@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3 2/5] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH v3 2/5] libxl: add libxl__xs_=
path_cleanup"):
>> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
>> index c7e057d..36d58cd 100644
>> --- a/tools/libxl/libxl_device.c
>> +++ b/tools/libxl/libxl_device.c
>> @@ -356,7 +356,6 @@ int libxl__device_disk_dev_number(const char *virtpa=
th, int *pdisk,
>>       return -1;
>>   }
>>
>> -
>
> Unrelated whitespace change.
>
>> +/*
>> + * Perfrom recursive cleanup of xenstore path, from top to bottom
>> + * just like xenstore-rm -t
>> + */
>> +_hidden int libxl__xs_path_cleanup(libxl__gc *gc, char *path);
>
> I think, following my confusion, that this needs some better
> documentation comment.
>
>> diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
>> index 3ea8d08..0b1b844 100644
>> --- a/tools/libxl/libxl_xshelp.c
>> +++ b/tools/libxl/libxl_xshelp.c
>> @@ -135,6 +135,28 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t =
domid)
>>       return s;
>>   }
>>
>> +int libxl__xs_path_cleanup(libxl__gc *gc, char *path)
>> +{
>> +    libxl_ctx *ctx =3D libxl__gc_owner(gc);
>> +    unsigned int nb =3D 0;
>> +    char *last;
>> +
>> +    if (!path)
>> +        return 0;
>> +
>> +    xs_rm(ctx->xsh, XBT_NULL, path);
>> +
>> +    for (last =3D strrchr(path, '/'); last !=3D NULL; last =3D strrchr(=
path, '/')) {
>
> If the path is relative, this won't work correctly.
>
> Also this whole thing needs to take place in a transaction, or it is
> racy.  Probably a transaction supplied by the caller, in which case
> you should assert it.

This cannot be done inside of a transaction, because we cannot check =

that the directory is empty if the remove has not actually taken place, =

and checking that there are zero or one elements (the one we 'had' =

removed) can lead to unexpected results, as someone might be deleting =

elements on our back and we might actually delete a directory that still =

has valid entries.

>
>> +        *last =3D '\0';
>> +        if (!libxl__xs_directory(gc, XBT_NULL, path,&nb))
>> +            continue;
>
> If this fails, it should be a fatal error; we should not just blunder
> on.
>
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:46:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:46:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPW84-0003Ud-Ub; Wed, 02 May 2012 09:45:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ijc@hellion.org.uk>) id 1SPW83-0003UR-62
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:45:47 +0000
Received: from [85.158.138.51:51799] by server-11.bemta-3.messagelabs.com id
	61/04-18894-A4201AF4; Wed, 02 May 2012 09:45:46 +0000
X-Env-Sender: ijc@hellion.org.uk
X-Msg-Ref: server-10.tower-174.messagelabs.com!1335951945!20712493!1
X-Originating-IP: [80.68.92.230]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29381 invoked from network); 2 May 2012 09:45:45 -0000
Received: from aaar.vm.bytemark.co.uk (HELO aaar.vm.bytemark.co.uk)
	(80.68.92.230) by server-10.tower-174.messagelabs.com with SMTP;
	2 May 2012 09:45:45 -0000
Received: from localhost (unknown [127.0.0.1])
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 29D77148849;
	Wed,  2 May 2012 09:45:44 +0000 (UTC)
Received: from aaar.vm.bytemark.co.uk ([127.0.0.1])
	by localhost (aaar.vm.bytemark.co.uk [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id XwYoL5UN9naB; Wed,  2 May 2012 10:45:39 +0100 (BST)
Received: from hopkins.hellion.org.uk
	(cpc22-cmbg14-2-0-cust482.5-4.cable.virginmedia.com [86.6.25.227])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 70852131684;
	Wed,  2 May 2012 10:45:39 +0100 (BST)
Received: from firewall.ctxuk.citrix.com ([62.200.22.2] helo=[10.80.2.42])
	by hopkins.hellion.org.uk with esmtpsa (SSL3.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <ijc@hellion.org.uk>)
	id 1SPW7p-0006RG-Hw; Wed, 02 May 2012 10:45:39 +0100
Message-ID: <1335951927.26758.24.camel@zakaz.uk.xensource.com>
From: Ian Campbell <ijc@hellion.org.uk>
To: Gleb Natapov <gleb@redhat.com>
Date: Wed, 02 May 2012 10:45:27 +0100
In-Reply-To: <20120501130419.GJ22191@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
	<20120501130419.GJ22191@redhat.com>
X-Mailer: Evolution 3.2.2-1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 62.200.22.2
X-SA-Exim-Mail-From: ijc@hellion.org.uk
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on hopkins.hellion.org.uk)
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-01 at 16:04 +0300, Gleb Natapov wrote:
> > BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> > a signature too 'KVMKVMKVM'.
> > 
> > >  	cpu->stepping = eax & 0xf;
> > >  	cpu->model = (eax >> 4) & 0xf;
> > >  	cpu->family = (eax >> 8) & 0xf;
> > > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> > >  
> > >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> > >  	cpu->maxei2 = maxei;
> > > +	if (ecx & 0x80000000) {
> > > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > > +		/*
> > > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > > +		 * where it really means 0x40000001.
> > 
> > This is something where I definitely think you want to check the
> > signature first.
> In theory yes, but in practice what will this break?

I've got no idea -- but what's the harm in checking?

Ian.

-- 
Ian Campbell
Current Noise: Hypocrisy - Roswell 47

Angels we have heard on High
Tell us to go out and Buy.
		-- Tom Lehrer


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:46:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:46:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPW84-0003Ud-Ub; Wed, 02 May 2012 09:45:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ijc@hellion.org.uk>) id 1SPW83-0003UR-62
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:45:47 +0000
Received: from [85.158.138.51:51799] by server-11.bemta-3.messagelabs.com id
	61/04-18894-A4201AF4; Wed, 02 May 2012 09:45:46 +0000
X-Env-Sender: ijc@hellion.org.uk
X-Msg-Ref: server-10.tower-174.messagelabs.com!1335951945!20712493!1
X-Originating-IP: [80.68.92.230]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29381 invoked from network); 2 May 2012 09:45:45 -0000
Received: from aaar.vm.bytemark.co.uk (HELO aaar.vm.bytemark.co.uk)
	(80.68.92.230) by server-10.tower-174.messagelabs.com with SMTP;
	2 May 2012 09:45:45 -0000
Received: from localhost (unknown [127.0.0.1])
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 29D77148849;
	Wed,  2 May 2012 09:45:44 +0000 (UTC)
Received: from aaar.vm.bytemark.co.uk ([127.0.0.1])
	by localhost (aaar.vm.bytemark.co.uk [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id XwYoL5UN9naB; Wed,  2 May 2012 10:45:39 +0100 (BST)
Received: from hopkins.hellion.org.uk
	(cpc22-cmbg14-2-0-cust482.5-4.cable.virginmedia.com [86.6.25.227])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 70852131684;
	Wed,  2 May 2012 10:45:39 +0100 (BST)
Received: from firewall.ctxuk.citrix.com ([62.200.22.2] helo=[10.80.2.42])
	by hopkins.hellion.org.uk with esmtpsa (SSL3.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <ijc@hellion.org.uk>)
	id 1SPW7p-0006RG-Hw; Wed, 02 May 2012 10:45:39 +0100
Message-ID: <1335951927.26758.24.camel@zakaz.uk.xensource.com>
From: Ian Campbell <ijc@hellion.org.uk>
To: Gleb Natapov <gleb@redhat.com>
Date: Wed, 02 May 2012 10:45:27 +0100
In-Reply-To: <20120501130419.GJ22191@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
	<20120501130419.GJ22191@redhat.com>
X-Mailer: Evolution 3.2.2-1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 62.200.22.2
X-SA-Exim-Mail-From: ijc@hellion.org.uk
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on hopkins.hellion.org.uk)
Cc: xen-devel@lists.xensource.com, kvm@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-01 at 16:04 +0300, Gleb Natapov wrote:
> > BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> > a signature too 'KVMKVMKVM'.
> > 
> > >  	cpu->stepping = eax & 0xf;
> > >  	cpu->model = (eax >> 4) & 0xf;
> > >  	cpu->family = (eax >> 8) & 0xf;
> > > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> > >  
> > >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> > >  	cpu->maxei2 = maxei;
> > > +	if (ecx & 0x80000000) {
> > > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > > +		/*
> > > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > > +		 * where it really means 0x40000001.
> > 
> > This is something where I definitely think you want to check the
> > signature first.
> In theory yes, but in practice what will this break?

I've got no idea -- but what's the harm in checking?

Ian.

-- 
Ian Campbell
Current Noise: Hypocrisy - Roswell 47

Angels we have heard on High
Tell us to go out and Buy.
		-- Tom Lehrer


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:51:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:51:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWDD-0003kp-Q4; Wed, 02 May 2012 09:51:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SPWDD-0003ki-A0
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:51:07 +0000
Received: from [85.158.138.51:38550] by server-4.bemta-3.messagelabs.com id
	24/A6-15341-A8301AF4; Wed, 02 May 2012 09:51:06 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1335952264!24789145!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE1NjA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4435 invoked from network); 2 May 2012 09:51:05 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-2.tower-174.messagelabs.com with SMTP;
	2 May 2012 09:51:05 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q429on39016216
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 05:50:49 -0400
Received: from redhat.com (vpn-202-148.tlv.redhat.com [10.35.202.148])
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q429ojhl008052; Wed, 2 May 2012 05:50:46 -0400
Date: Wed, 2 May 2012 12:50:55 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <ijc@hellion.org.uk>
Message-ID: <20120502095053.GA31543@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
	<20120501130419.GJ22191@redhat.com>
	<1335951927.26758.24.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335951927.26758.24.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: xen-devel@lists.xensource.com, Gleb Natapov <gleb@redhat.com>,
	kvm@vger.kernel.org, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 10:45:27AM +0100, Ian Campbell wrote:
> On Tue, 2012-05-01 at 16:04 +0300, Gleb Natapov wrote:
> > > BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> > > a signature too 'KVMKVMKVM'.
> > > 
> > > >  	cpu->stepping = eax & 0xf;
> > > >  	cpu->model = (eax >> 4) & 0xf;
> > > >  	cpu->family = (eax >> 8) & 0xf;
> > > > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> > > >  
> > > >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> > > >  	cpu->maxei2 = maxei;
> > > > +	if (ecx & 0x80000000) {
> > > > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > > > +		/*
> > > > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > > > +		 * where it really means 0x40000001.
> > > 
> > > This is something where I definitely think you want to check the
> > > signature first.
> > In theory yes, but in practice what will this break?
> 
> I've got no idea -- but what's the harm in checking?
> 
> Ian.

Users can set kvm signature to anything, if they do
debugging will be a bit harder for them.

> -- 
> Ian Campbell
> Current Noise: Hypocrisy - Roswell 47
> 
> Angels we have heard on High
> Tell us to go out and Buy.
> 		-- Tom Lehrer

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:51:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:51:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWDD-0003kp-Q4; Wed, 02 May 2012 09:51:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SPWDD-0003ki-A0
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:51:07 +0000
Received: from [85.158.138.51:38550] by server-4.bemta-3.messagelabs.com id
	24/A6-15341-A8301AF4; Wed, 02 May 2012 09:51:06 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1335952264!24789145!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE1NjA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4435 invoked from network); 2 May 2012 09:51:05 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-2.tower-174.messagelabs.com with SMTP;
	2 May 2012 09:51:05 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q429on39016216
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 05:50:49 -0400
Received: from redhat.com (vpn-202-148.tlv.redhat.com [10.35.202.148])
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q429ojhl008052; Wed, 2 May 2012 05:50:46 -0400
Date: Wed, 2 May 2012 12:50:55 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <ijc@hellion.org.uk>
Message-ID: <20120502095053.GA31543@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
	<20120501130419.GJ22191@redhat.com>
	<1335951927.26758.24.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1335951927.26758.24.camel@zakaz.uk.xensource.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: xen-devel@lists.xensource.com, Gleb Natapov <gleb@redhat.com>,
	kvm@vger.kernel.org, pv-drivers@vmware.com,
	virtualization@lists.linux-foundation.org,
	devel@linuxdriverproject.org, davej@redhat.com
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 10:45:27AM +0100, Ian Campbell wrote:
> On Tue, 2012-05-01 at 16:04 +0300, Gleb Natapov wrote:
> > > BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> > > a signature too 'KVMKVMKVM'.
> > > 
> > > >  	cpu->stepping = eax & 0xf;
> > > >  	cpu->model = (eax >> 4) & 0xf;
> > > >  	cpu->family = (eax >> 8) & 0xf;
> > > > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> > > >  
> > > >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> > > >  	cpu->maxei2 = maxei;
> > > > +	if (ecx & 0x80000000) {
> > > > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > > > +		/*
> > > > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > > > +		 * where it really means 0x40000001.
> > > 
> > > This is something where I definitely think you want to check the
> > > signature first.
> > In theory yes, but in practice what will this break?
> 
> I've got no idea -- but what's the harm in checking?
> 
> Ian.

Users can set kvm signature to anything, if they do
debugging will be a bit harder for them.

> -- 
> Ian Campbell
> Current Noise: Hypocrisy - Roswell 47
> 
> Angels we have heard on High
> Tell us to go out and Buy.
> 		-- Tom Lehrer

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWEO-0003rE-8g; Wed, 02 May 2012 09:52:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPWEM-0003r2-ML
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:52:18 +0000
Received: from [85.158.138.51:55356] by server-10.bemta-3.messagelabs.com id
	C9/DE-29478-1D301AF4; Wed, 02 May 2012 09:52:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1335952337!20714042!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29662 invoked from network); 2 May 2012 09:52:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 09:52:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330905600"; d="scan'208";a="12240610"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 09:51:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	10:51:56 +0100
Message-ID: <1335952315.26758.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Wed, 2 May 2012 10:51:55 +0100
In-Reply-To: <20120501232152.GB69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
	<20120501221756.GA69356@ocelot.phlegethon.org>
	<CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
	<20120501232152.GB69356@ocelot.phlegethon.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Julian Pidancet <julian.pidancet@gmail.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 00:21 +0100, Tim Deegan wrote:
> At 23:59 +0100 on 01 May (1335916778), Julian Pidancet wrote:
> > >> Would we still be able to do that with the simplifications you're
> > >> suggesting here ?
> > >
> > > Yes, you could definitely do it without all this module stuff.  Passing
> > > an address and length in Xenstore would work.
> > 
> > Isn't it kind of the same thing ? I mean, the BIOS or an Option ROM to
> > pre-load could be seen by hvmloader as "modules" because they would
> > have to be passed by the toolstack the same way as ACPI or SMBIOS
> > tables.
> 
> Yes, it's similar.  But the new module marshalling/unmarshalling code
> isn't necessary for any of them.

Agreed, if necessary then there should be specific fields in
xc_hvm_build_args to provide these overrides.

I'm not totally convinced about adding new features (specifically Option
ROM deployment support) for ROMBIOS+qemu-xen-traditional. By the time
this stuff hits the tree (i.e. 4.3 at this point) we should have
switched to SEABIOS+qemu-xen-upstream as our default BIOS+ioemu pair. It
is already the case that we have been refusing new features to
qemu-xen-traditional but we haven't yet extended this to ROMBIOS (I
don't think). I suppose the flip side is that the code ought to be small
and relatively self contained under if(rombios) conditionals in
hvmloader, so long as we make it clear in the xc interface that those
ROMs only apply if you are using ROMBIOS.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWEO-0003rE-8g; Wed, 02 May 2012 09:52:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPWEM-0003r2-ML
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:52:18 +0000
Received: from [85.158.138.51:55356] by server-10.bemta-3.messagelabs.com id
	C9/DE-29478-1D301AF4; Wed, 02 May 2012 09:52:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1335952337!20714042!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29662 invoked from network); 2 May 2012 09:52:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 09:52:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330905600"; d="scan'208";a="12240610"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 09:51:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	10:51:56 +0100
Message-ID: <1335952315.26758.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Wed, 2 May 2012 10:51:55 +0100
In-Reply-To: <20120501232152.GB69356@ocelot.phlegethon.org>
References: <831D55AF5A11D64C9B4B43F59EEBF720724FB1BAA8@FTLPMAILBOX02.citrite.net>
	<CB8D757A.2EB53%keir.xen@gmail.com>
	<20120320092412.GA3544@ocelot.phlegethon.org>
	<20120322112612.GG37468@ocelot.phlegethon.org>
	<4FA03DC8.6040204@gmail.com>
	<20120501221756.GA69356@ocelot.phlegethon.org>
	<CAKZ=5EVYipDU5JZGwyByGG+Zu7UK=WDcjBkWwL8SCswyVc6hvA@mail.gmail.com>
	<20120501232152.GB69356@ocelot.phlegethon.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Keir Fraser <keir.xen@gmail.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Julian Pidancet <julian.pidancet@gmail.com>
Subject: Re: [Xen-devel] [PATCH 00/07] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 00:21 +0100, Tim Deegan wrote:
> At 23:59 +0100 on 01 May (1335916778), Julian Pidancet wrote:
> > >> Would we still be able to do that with the simplifications you're
> > >> suggesting here ?
> > >
> > > Yes, you could definitely do it without all this module stuff.  Passing
> > > an address and length in Xenstore would work.
> > 
> > Isn't it kind of the same thing ? I mean, the BIOS or an Option ROM to
> > pre-load could be seen by hvmloader as "modules" because they would
> > have to be passed by the toolstack the same way as ACPI or SMBIOS
> > tables.
> 
> Yes, it's similar.  But the new module marshalling/unmarshalling code
> isn't necessary for any of them.

Agreed, if necessary then there should be specific fields in
xc_hvm_build_args to provide these overrides.

I'm not totally convinced about adding new features (specifically Option
ROM deployment support) for ROMBIOS+qemu-xen-traditional. By the time
this stuff hits the tree (i.e. 4.3 at this point) we should have
switched to SEABIOS+qemu-xen-upstream as our default BIOS+ioemu pair. It
is already the case that we have been refusing new features to
qemu-xen-traditional but we haven't yet extended this to ROMBIOS (I
don't think). I suppose the flip side is that the code ought to be small
and relatively self contained under if(rombios) conditionals in
hvmloader, so long as we make it clear in the xc interface that those
ROMs only apply if you are using ROMBIOS.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:59:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWKx-00046V-4l; Wed, 02 May 2012 09:59:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ijc@hellion.org.uk>) id 1SPWKv-00046Q-9I
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:59:05 +0000
Received: from [85.158.143.99:14370] by server-2.bemta-4.messagelabs.com id
	C0/11-17550-86501AF4; Wed, 02 May 2012 09:59:04 +0000
X-Env-Sender: ijc@hellion.org.uk
X-Msg-Ref: server-11.tower-216.messagelabs.com!1335952742!18592971!1
X-Originating-IP: [80.68.92.230]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27197 invoked from network); 2 May 2012 09:59:02 -0000
Received: from aaar.vm.bytemark.co.uk (HELO aaar.vm.bytemark.co.uk)
	(80.68.92.230) by server-11.tower-216.messagelabs.com with SMTP;
	2 May 2012 09:59:02 -0000
Received: from localhost (unknown [127.0.0.1])
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 2645E148849;
	Wed,  2 May 2012 09:59:00 +0000 (UTC)
Received: from aaar.vm.bytemark.co.uk ([127.0.0.1])
	by localhost (aaar.vm.bytemark.co.uk [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id eFSRfM+jwsfi; Wed,  2 May 2012 10:58:55 +0100 (BST)
Received: from hopkins.hellion.org.uk
	(cpc22-cmbg14-2-0-cust482.5-4.cable.virginmedia.com [86.6.25.227])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 884BD13FE39;
	Wed,  2 May 2012 10:58:55 +0100 (BST)
Received: from firewall.ctxuk.citrix.com ([62.200.22.2] helo=[10.80.2.42])
	by hopkins.hellion.org.uk with esmtpsa (SSL3.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <ijc@hellion.org.uk>)
	id 1SPWKi-0006UQ-Ms; Wed, 02 May 2012 10:58:54 +0100
Message-ID: <1335952726.26758.34.camel@zakaz.uk.xensource.com>
From: Ian Campbell <ijc@hellion.org.uk>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Wed, 02 May 2012 10:58:46 +0100
In-Reply-To: <20120502095053.GA31543@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
	<20120501130419.GJ22191@redhat.com>
	<1335951927.26758.24.camel@zakaz.uk.xensource.com>
	<20120502095053.GA31543@redhat.com>
X-Mailer: Evolution 3.2.2-1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 62.200.22.2
X-SA-Exim-Mail-From: ijc@hellion.org.uk
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on hopkins.hellion.org.uk)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 10:50 +0100, Michael S. Tsirkin wrote:
> On Wed, May 02, 2012 at 10:45:27AM +0100, Ian Campbell wrote:
> > On Tue, 2012-05-01 at 16:04 +0300, Gleb Natapov wrote:
> > > > BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> > > > a signature too 'KVMKVMKVM'.
> > > > 
> > > > >  	cpu->stepping = eax & 0xf;
> > > > >  	cpu->model = (eax >> 4) & 0xf;
> > > > >  	cpu->family = (eax >> 8) & 0xf;
> > > > > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> > > > >  
> > > > >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> > > > >  	cpu->maxei2 = maxei;
> > > > > +	if (ecx & 0x80000000) {
> > > > > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > > > > +		/*
> > > > > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > > > > +		 * where it really means 0x40000001.
> > > > 
> > > > This is something where I definitely think you want to check the
> > > > signature first.
> > > In theory yes, but in practice what will this break?
> > 
> > I've got no idea -- but what's the harm in checking?
> > 
> > Ian.
> 
> Users can set kvm signature to anything, if they do
> debugging will be a bit harder for them.

Ah, right, someone already mentioned that and I forgot, sorry.

And, just to complete my train of thought, cpuid just returns reserved
values for requests for non-existent leaves (rather than #GP for
example) so it's safe enough even if you do end up trying to read an
eax=0x40000001 when it doesn't exist.

Seems fine to me then.

Ian.

-- 
Ian Campbell
Current Noise: Hypocrisy - Buried

He's like a function -- he returns a value, in the form of his opinion.
It's up to you to cast it into a void or not.
		-- Phil Lapsley


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 09:59:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 09:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWKx-00046V-4l; Wed, 02 May 2012 09:59:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ijc@hellion.org.uk>) id 1SPWKv-00046Q-9I
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 09:59:05 +0000
Received: from [85.158.143.99:14370] by server-2.bemta-4.messagelabs.com id
	C0/11-17550-86501AF4; Wed, 02 May 2012 09:59:04 +0000
X-Env-Sender: ijc@hellion.org.uk
X-Msg-Ref: server-11.tower-216.messagelabs.com!1335952742!18592971!1
X-Originating-IP: [80.68.92.230]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27197 invoked from network); 2 May 2012 09:59:02 -0000
Received: from aaar.vm.bytemark.co.uk (HELO aaar.vm.bytemark.co.uk)
	(80.68.92.230) by server-11.tower-216.messagelabs.com with SMTP;
	2 May 2012 09:59:02 -0000
Received: from localhost (unknown [127.0.0.1])
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 2645E148849;
	Wed,  2 May 2012 09:59:00 +0000 (UTC)
Received: from aaar.vm.bytemark.co.uk ([127.0.0.1])
	by localhost (aaar.vm.bytemark.co.uk [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id eFSRfM+jwsfi; Wed,  2 May 2012 10:58:55 +0100 (BST)
Received: from hopkins.hellion.org.uk
	(cpc22-cmbg14-2-0-cust482.5-4.cable.virginmedia.com [86.6.25.227])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by aaar.vm.bytemark.co.uk (Postfix) with ESMTP id 884BD13FE39;
	Wed,  2 May 2012 10:58:55 +0100 (BST)
Received: from firewall.ctxuk.citrix.com ([62.200.22.2] helo=[10.80.2.42])
	by hopkins.hellion.org.uk with esmtpsa (SSL3.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <ijc@hellion.org.uk>)
	id 1SPWKi-0006UQ-Ms; Wed, 02 May 2012 10:58:54 +0100
Message-ID: <1335952726.26758.34.camel@zakaz.uk.xensource.com>
From: Ian Campbell <ijc@hellion.org.uk>
To: "Michael S. Tsirkin" <mst@redhat.com>
Date: Wed, 02 May 2012 10:58:46 +0100
In-Reply-To: <20120502095053.GA31543@redhat.com>
References: <20120430143835.GA10190@redhat.com>
	<1335875225.6038.98.camel@zakaz.uk.xensource.com>
	<20120501130419.GJ22191@redhat.com>
	<1335951927.26758.24.camel@zakaz.uk.xensource.com>
	<20120502095053.GA31543@redhat.com>
X-Mailer: Evolution 3.2.2-1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 62.200.22.2
X-SA-Exim-Mail-From: ijc@hellion.org.uk
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on hopkins.hellion.org.uk)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"davej@redhat.com" <davej@redhat.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [Xen-devel] [PATCHv2] x86info: dump kvm cpuid's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 10:50 +0100, Michael S. Tsirkin wrote:
> On Wed, May 02, 2012 at 10:45:27AM +0100, Ian Campbell wrote:
> > On Tue, 2012-05-01 at 16:04 +0300, Gleb Natapov wrote:
> > > > BTW, according to arch/x86/include/asm/kvm_para.h unsurprisingly KVM has
> > > > a signature too 'KVMKVMKVM'.
> > > > 
> > > > >  	cpu->stepping = eax & 0xf;
> > > > >  	cpu->model = (eax >> 4) & 0xf;
> > > > >  	cpu->family = (eax >> 8) & 0xf;
> > > > > @@ -29,6 +29,19 @@ void get_cpu_info_basics(struct cpudata *cpu)
> > > > >  
> > > > >  	cpuid(cpu->number, 0xC0000000, &maxei, NULL, NULL, NULL);
> > > > >  	cpu->maxei2 = maxei;
> > > > > +	if (ecx & 0x80000000) {
> > > > > +		cpuid(cpu->number, 0x40000000, &maxhv, NULL, NULL, NULL);
> > > > > +		/*
> > > > > +		 * KVM up to linux 3.4 reports 0 as the max hypervisor leaf,
> > > > > +		 * where it really means 0x40000001.
> > > > 
> > > > This is something where I definitely think you want to check the
> > > > signature first.
> > > In theory yes, but in practice what will this break?
> > 
> > I've got no idea -- but what's the harm in checking?
> > 
> > Ian.
> 
> Users can set kvm signature to anything, if they do
> debugging will be a bit harder for them.

Ah, right, someone already mentioned that and I forgot, sorry.

And, just to complete my train of thought, cpuid just returns reserved
values for requests for non-existent leaves (rather than #GP for
example) so it's safe enough even if you do end up trying to read an
eax=0x40000001 when it doesn't exist.

Seems fine to me then.

Ian.

-- 
Ian Campbell
Current Noise: Hypocrisy - Buried

He's like a function -- he returns a value, in the form of his opinion.
It's up to you to cast it into a void or not.
		-- Phil Lapsley


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 10:03:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 10:03:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWPI-0004I6-RM; Wed, 02 May 2012 10:03:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPWPH-0004Hy-43
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:03:35 +0000
Received: from [85.158.143.99:49071] by server-3.bemta-4.messagelabs.com id
	F5/AE-05853-67601AF4; Wed, 02 May 2012 10:03:34 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335953013!22753142!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2911 invoked from network); 2 May 2012 10:03:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 10:03:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330905600"; d="scan'208";a="12241278"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 10:03:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 11:03:32 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPWPE-000080-Fe;
	Wed, 02 May 2012 10:03:32 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPWPE-0002Yo-Aw;
	Wed, 02 May 2012 11:03:32 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12777-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 11:03:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12777: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12777 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12777/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12746
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12746

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             3 host-install(3)           broken pass in 12770
 test-amd64-i386-xl            9 guest-start        fail in 12770 pass in 12777
 test-amd64-i386-xl-credit2    3 host-install(3)  broken in 12770 pass in 12777
 test-amd64-i386-pv            3 host-install(3)  broken in 12770 pass in 12777

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            broken  
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 10:03:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 10:03:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPWPI-0004I6-RM; Wed, 02 May 2012 10:03:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPWPH-0004Hy-43
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:03:35 +0000
Received: from [85.158.143.99:49071] by server-3.bemta-4.messagelabs.com id
	F5/AE-05853-67601AF4; Wed, 02 May 2012 10:03:34 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335953013!22753142!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2911 invoked from network); 2 May 2012 10:03:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 10:03:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,515,1330905600"; d="scan'208";a="12241278"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 10:03:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 11:03:32 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPWPE-000080-Fe;
	Wed, 02 May 2012 10:03:32 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPWPE-0002Yo-Aw;
	Wed, 02 May 2012 11:03:32 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12777-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 11:03:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12777: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12777 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12777/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12746
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12746

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             3 host-install(3)           broken pass in 12770
 test-amd64-i386-xl            9 guest-start        fail in 12770 pass in 12777
 test-amd64-i386-xl-credit2    3 host-install(3)  broken in 12770 pass in 12777
 test-amd64-i386-pv            3 host-install(3)  broken in 12770 pass in 12777

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            broken  
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 10:59:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 10:59:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPXGi-0004uP-Ff; Wed, 02 May 2012 10:58:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SPXGg-0004uJ-Vj
	for xen-devel@lists.xen.org; Wed, 02 May 2012 10:58:47 +0000
Received: from [193.109.254.147:14072] by server-9.bemta-14.messagelabs.com id
	0D/BA-05787-66311AF4; Wed, 02 May 2012 10:58:46 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335956325!424171!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32260 invoked from network); 2 May 2012 10:58:45 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 10:58:45 -0000
Received: by eaaf11 with SMTP id f11so136143eaa.32
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 03:58:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=iEM2Sghzvtarvt6+mj6ET22m+w6lrLvQQn4wuFMnFuE=;
	b=efFBPHzU+jBIJm8EpDR0BOvJVVA/oC51ovbSkvkB+5KVBI5k1GI1tQbG+RY5zNi+r6
	709TDnUmPrn/fiFA/M1gn/SwL7XLQnJ6DzEJX1o6MBltZkn0cYR7f2OAkjMJHUkVOMzI
	VjtEmW7bmsLb99YPumxZXHVOY+E5CcbWm/u/5hywhXgYn9Mq28lhC4Wu7gzPT7m4HSmm
	mCbndWdsNbjEy17k2PEEiAYSUnVjaXUhTsTp0KxUH+XXLtvOeoaBkNzZLwfclzdeTZhP
	2fCwIq0qz0jwq+Zm7yBwokoMthL54G71Hj5gqS/NfSGwBEQo19rt0fOah4lVNIH0RSBS
	b7yA==
Received: by 10.14.28.65 with SMTP id f41mr5382363eea.23.1335956324901;
	Wed, 02 May 2012 03:58:44 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z47sm7346332een.5.2012.05.02.03.58.43
	(version=SSLv3 cipher=OTHER); Wed, 02 May 2012 03:58:44 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 02 May 2012 11:58:35 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC6D1EB.321E2%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
	releases
Thread-Index: Ac0oUoUnHQPh90UXlkyKt5XxPiX+Fg==
In-Reply-To: <4FA1129502000078000810B9@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
 releases
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02/05/2012 09:55, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 01.05.12 at 15:19, Keir Fraser <keir@xen.org> wrote:
>> On 26/04/2012 15:53, "Malcolm Crossley" <malcolm.crossley@citrix.com> wrote:
>> 
>>> On 12/04/12 17:30, Ian Campbell wrote:
>>>> The time has come for another round of stable releases.
>>>> 
>>>> Please send (or resend) any outstanding backport requests for 4.0.4 and
>>>> 4.1.3 before Friday 20 April.
>>>> 
>>>> Note that 4.0.4 will likely be the last release in the 4.0.x branch.
>>>> 
>>>> Ian.
>>> Can 25242:b7ce6a88bebb, 24990:322300fd2ebd and 25058:f47d91cb0faa be
>>> backported to 4.0 and 4.1?
>> 
>> Done.
> 
> Any plan then to tag RC1-s on both trees?

Yes, we could do that this week I think.

 -- Keir

> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 10:59:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 10:59:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPXGi-0004uP-Ff; Wed, 02 May 2012 10:58:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SPXGg-0004uJ-Vj
	for xen-devel@lists.xen.org; Wed, 02 May 2012 10:58:47 +0000
Received: from [193.109.254.147:14072] by server-9.bemta-14.messagelabs.com id
	0D/BA-05787-66311AF4; Wed, 02 May 2012 10:58:46 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335956325!424171!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32260 invoked from network); 2 May 2012 10:58:45 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 10:58:45 -0000
Received: by eaaf11 with SMTP id f11so136143eaa.32
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 03:58:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=iEM2Sghzvtarvt6+mj6ET22m+w6lrLvQQn4wuFMnFuE=;
	b=efFBPHzU+jBIJm8EpDR0BOvJVVA/oC51ovbSkvkB+5KVBI5k1GI1tQbG+RY5zNi+r6
	709TDnUmPrn/fiFA/M1gn/SwL7XLQnJ6DzEJX1o6MBltZkn0cYR7f2OAkjMJHUkVOMzI
	VjtEmW7bmsLb99YPumxZXHVOY+E5CcbWm/u/5hywhXgYn9Mq28lhC4Wu7gzPT7m4HSmm
	mCbndWdsNbjEy17k2PEEiAYSUnVjaXUhTsTp0KxUH+XXLtvOeoaBkNzZLwfclzdeTZhP
	2fCwIq0qz0jwq+Zm7yBwokoMthL54G71Hj5gqS/NfSGwBEQo19rt0fOah4lVNIH0RSBS
	b7yA==
Received: by 10.14.28.65 with SMTP id f41mr5382363eea.23.1335956324901;
	Wed, 02 May 2012 03:58:44 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z47sm7346332een.5.2012.05.02.03.58.43
	(version=SSLv3 cipher=OTHER); Wed, 02 May 2012 03:58:44 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 02 May 2012 11:58:35 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC6D1EB.321E2%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
	releases
Thread-Index: Ac0oUoUnHQPh90UXlkyKt5XxPiX+Fg==
In-Reply-To: <4FA1129502000078000810B9@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] backports for 4.0.4 and 4.1.3 stable
 releases
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02/05/2012 09:55, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 01.05.12 at 15:19, Keir Fraser <keir@xen.org> wrote:
>> On 26/04/2012 15:53, "Malcolm Crossley" <malcolm.crossley@citrix.com> wrote:
>> 
>>> On 12/04/12 17:30, Ian Campbell wrote:
>>>> The time has come for another round of stable releases.
>>>> 
>>>> Please send (or resend) any outstanding backport requests for 4.0.4 and
>>>> 4.1.3 before Friday 20 April.
>>>> 
>>>> Note that 4.0.4 will likely be the last release in the 4.0.x branch.
>>>> 
>>>> Ian.
>>> Can 25242:b7ce6a88bebb, 24990:322300fd2ebd and 25058:f47d91cb0faa be
>>> backported to 4.0 and 4.1?
>> 
>> Done.
> 
> Any plan then to tag RC1-s on both trees?

Yes, we could do that this week I think.

 -- Keir

> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 12:40:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 12:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPYqm-0005fQ-2z; Wed, 02 May 2012 12:40:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPYqk-0005fL-9h
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 12:40:06 +0000
Received: from [85.158.143.35:30606] by server-2.bemta-4.messagelabs.com id
	E6/76-17550-52B21AF4; Wed, 02 May 2012 12:40:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1335962404!15307913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3923 invoked from network); 2 May 2012 12:40:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 12:40:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12245724"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 12:40:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 13:40:03 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPYqg-0001Y1-Tr;
	Wed, 02 May 2012 12:40:02 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPYqg-0003OA-Oc;
	Wed, 02 May 2012 13:40:02 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12781-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 13:40:02 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12781: trouble: blocked/broken/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12781 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12781/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-pvops              2 host-install(2)         broken REGR. vs. 12694
 build-amd64-pvops             2 host-install(2)         broken REGR. vs. 12694
 build-i386                    2 host-install(2)         broken REGR. vs. 12694

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471
baseline version:
 linux                0527fde0639955203ad48a9fd83bd6fc35e82e07

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 12:40:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 12:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPYqm-0005fQ-2z; Wed, 02 May 2012 12:40:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPYqk-0005fL-9h
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 12:40:06 +0000
Received: from [85.158.143.35:30606] by server-2.bemta-4.messagelabs.com id
	E6/76-17550-52B21AF4; Wed, 02 May 2012 12:40:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1335962404!15307913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3923 invoked from network); 2 May 2012 12:40:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 12:40:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12245724"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 12:40:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 13:40:03 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPYqg-0001Y1-Tr;
	Wed, 02 May 2012 12:40:02 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPYqg-0003OA-Oc;
	Wed, 02 May 2012 13:40:02 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12781-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 13:40:02 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12781: trouble: blocked/broken/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12781 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12781/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-pvops              2 host-install(2)         broken REGR. vs. 12694
 build-amd64-pvops             2 host-install(2)         broken REGR. vs. 12694
 build-i386                    2 host-install(2)         broken REGR. vs. 12694

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471
baseline version:
 linux                0527fde0639955203ad48a9fd83bd6fc35e82e07

jobs:
 build-amd64                                                  pass    
 build-i386                                                   broken  
 build-amd64-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:12:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:12:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZLJ-00068j-GN; Wed, 02 May 2012 13:11:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPZLI-00068Y-DG
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:11:40 +0000
Received: from [85.158.138.51:45830] by server-3.bemta-3.messagelabs.com id
	C1/95-04048-B8231AF4; Wed, 02 May 2012 13:11:39 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-8.tower-174.messagelabs.com!1335964298!24751403!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12984 invoked from network); 2 May 2012 13:11:39 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-8.tower-174.messagelabs.com with SMTP;
	2 May 2012 13:11:39 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id D7CB91AC1DB;
	Wed,  2 May 2012 15:11:37 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id er5bIiq7sDsN; Wed,  2 May 2012 15:11:37 +0200 (CEST)
Received: from [10.0.0.1] (p5794633D.dip.t-dialin.net [87.148.99.61])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Wed,  2 May 2012 15:11:37 +0200 (CEST)
Message-ID: <4FA1328B.6070602@hfp.de>
Date: Wed, 02 May 2012 15:11:39 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: xen-devel@lists.xensource.com, Jeremy Fitzhardinge <jeremy@goop.org>, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Jeremy + Konrad + all kernel devs,

while it is great to see that vanilla dom0 seems to work, the 
performance breakdown compared to xenified 2.6.34 (from opensuse) is 
huge. Here are my benchmarks:

Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs

time emerge apache:

		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
	real    1m0.560s	0m59.971s	0m47.689s
	user    0m40.939s	0m40.619s	0m41.355s
	sys     0m18.865s	0m18.305s	0m11.441s

time make -j4 (3.2.12 linux compile):

		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
	real    5m8.793s	5m4.888s	4m20.576s
	user    8m1.746s	7m59.726s	7m10.375s
	sys     1m39.010s	1m32.994s	0m56.304s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:12:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:12:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZLJ-00068j-GN; Wed, 02 May 2012 13:11:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPZLI-00068Y-DG
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:11:40 +0000
Received: from [85.158.138.51:45830] by server-3.bemta-3.messagelabs.com id
	C1/95-04048-B8231AF4; Wed, 02 May 2012 13:11:39 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-8.tower-174.messagelabs.com!1335964298!24751403!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12984 invoked from network); 2 May 2012 13:11:39 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-8.tower-174.messagelabs.com with SMTP;
	2 May 2012 13:11:39 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id D7CB91AC1DB;
	Wed,  2 May 2012 15:11:37 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id er5bIiq7sDsN; Wed,  2 May 2012 15:11:37 +0200 (CEST)
Received: from [10.0.0.1] (p5794633D.dip.t-dialin.net [87.148.99.61])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Wed,  2 May 2012 15:11:37 +0200 (CEST)
Message-ID: <4FA1328B.6070602@hfp.de>
Date: Wed, 02 May 2012 15:11:39 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: xen-devel@lists.xensource.com, Jeremy Fitzhardinge <jeremy@goop.org>, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Jeremy + Konrad + all kernel devs,

while it is great to see that vanilla dom0 seems to work, the 
performance breakdown compared to xenified 2.6.34 (from opensuse) is 
huge. Here are my benchmarks:

Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs

time emerge apache:

		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
	real    1m0.560s	0m59.971s	0m47.689s
	user    0m40.939s	0m40.619s	0m41.355s
	sys     0m18.865s	0m18.305s	0m11.441s

time make -j4 (3.2.12 linux compile):

		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
	real    5m8.793s	5m4.888s	4m20.576s
	user    8m1.746s	7m59.726s	7m10.375s
	sys     1m39.010s	1m32.994s	0m56.304s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:26:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:26:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZYn-0006RP-Ta; Wed, 02 May 2012 13:25:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPZYl-0006RK-SZ
	for xen-devel@lists.xen.org; Wed, 02 May 2012 13:25:36 +0000
Received: from [85.158.143.35:19967] by server-2.bemta-4.messagelabs.com id
	9F/D2-17550-FC531AF4; Wed, 02 May 2012 13:25:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1335965133!7276025!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12730 invoked from network); 2 May 2012 13:25:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:25:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12247262"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 13:25:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 14:25:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SPZYj-0001t6-3Y; Wed, 02 May 2012 13:25:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SPZYi-0007hL-Ur;
	Wed, 02 May 2012 14:25:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20385.13772.941848.617576@mariner.uk.xensource.com>
Date: Wed, 2 May 2012 14:25:32 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1335550569.4881.74.camel@dagon.hellion.org.uk>
References: <CAMVU=Qi2yNqA3X9HqMgsm8NUUnNm7qgctm_t4Jtgawa0dudBnQ@mail.gmail.com>
	<1335529430.28015.194.camel@zakaz.uk.xensource.com>
	<CAMVU=QiHFJLmwCTU_d1avwfORvjfJrMahJrY+kXS2S5jgzgfyw@mail.gmail.com>
	<1335543062.28015.234.camel@zakaz.uk.xensource.com>
	<CAMVU=Qg3+fConXymt3OiwprrC0uJkz+Y0=thfykVsWratSYRfw@mail.gmail.com>
	<1335550569.4881.74.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: misiu godfrey <misiu.godfrey@gmail.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen-4.1-testing fails to "make tools"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] Xen-4.1-testing fails to "make tools""):
> I've just thought to actually check the staging vs. regular trees:
> http://xenbits.xen.org/gitweb/?p=staging/qemu-xen-4.1-testing.git;a=summary
> http://xenbits.xen.org/gitweb/?p=qemu-xen-4.1-testing.git;a=summary
> and it turns out that the regular tree is lagging behind the staging
> one, including the very commits in question, sorry for not looking at
> this sooner.

This is a snafu of some kind on my part.

The qemu-xen-* trees aren't supposed to have separate push gates and
the staging trees for them are a leftover wart.  However I seem to
have accidentally pushed some changesets to staging instead of main.

I have now fixed this by pushing the missing changesets.  In the
future I think I will try to retire the staging trees entirely.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:26:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:26:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZYn-0006RP-Ta; Wed, 02 May 2012 13:25:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPZYl-0006RK-SZ
	for xen-devel@lists.xen.org; Wed, 02 May 2012 13:25:36 +0000
Received: from [85.158.143.35:19967] by server-2.bemta-4.messagelabs.com id
	9F/D2-17550-FC531AF4; Wed, 02 May 2012 13:25:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1335965133!7276025!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12730 invoked from network); 2 May 2012 13:25:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:25:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12247262"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 13:25:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 14:25:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SPZYj-0001t6-3Y; Wed, 02 May 2012 13:25:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SPZYi-0007hL-Ur;
	Wed, 02 May 2012 14:25:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20385.13772.941848.617576@mariner.uk.xensource.com>
Date: Wed, 2 May 2012 14:25:32 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1335550569.4881.74.camel@dagon.hellion.org.uk>
References: <CAMVU=Qi2yNqA3X9HqMgsm8NUUnNm7qgctm_t4Jtgawa0dudBnQ@mail.gmail.com>
	<1335529430.28015.194.camel@zakaz.uk.xensource.com>
	<CAMVU=QiHFJLmwCTU_d1avwfORvjfJrMahJrY+kXS2S5jgzgfyw@mail.gmail.com>
	<1335543062.28015.234.camel@zakaz.uk.xensource.com>
	<CAMVU=Qg3+fConXymt3OiwprrC0uJkz+Y0=thfykVsWratSYRfw@mail.gmail.com>
	<1335550569.4881.74.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: misiu godfrey <misiu.godfrey@gmail.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen-4.1-testing fails to "make tools"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] Xen-4.1-testing fails to "make tools""):
> I've just thought to actually check the staging vs. regular trees:
> http://xenbits.xen.org/gitweb/?p=staging/qemu-xen-4.1-testing.git;a=summary
> http://xenbits.xen.org/gitweb/?p=qemu-xen-4.1-testing.git;a=summary
> and it turns out that the regular tree is lagging behind the staging
> one, including the very commits in question, sorry for not looking at
> this sooner.

This is a snafu of some kind on my part.

The qemu-xen-* trees aren't supposed to have separate push gates and
the staging trees for them are a leftover wart.  However I seem to
have accidentally pushed some changesets to staging instead of main.

I have now fixed this by pushing the missing changesets.  In the
future I think I will try to retire the staging trees entirely.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:31:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:31:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZdx-0006ZB-LZ; Wed, 02 May 2012 13:30:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPZdw-0006Z5-M0
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:30:56 +0000
Received: from [85.158.138.51:35661] by server-10.bemta-3.messagelabs.com id
	FE/69-29478-F0731AF4; Wed, 02 May 2012 13:30:55 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1335965453!24810724!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7408 invoked from network); 2 May 2012 13:30:55 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:30:55 -0000
Received: by yenl11 with SMTP id l11so900287yen.30
	for <xen-devel@lists.xensource.com>;
	Wed, 02 May 2012 06:30:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=4kvOTNT3ZVTTDmqZexiGXD8VyBwaafldufNy2PtLA88=;
	b=NNhonxDAMsNblvxn72b1Pj9V/K/mGZQzAtWfqweUma6dG0dfGybabaUT1U6i6ZU7TB
	4G+kkQ5/rwjrd0DHOEU7QRP2tOs5Nyj3WCsu0vcnj5oiIm4A+wi+yedNOSejGFwrraR5
	iKl63dO+/C9jqp+aVL0iRHdGhl0rNnKyWw/C+5TIimBLXKL5xOehzpKZXPzLwcsXjGWH
	ITstrCzlZksZLnLVv5vi+bjhRO9sQv3JQkrKgSqRqNZ791ef7lzk5qs+p79SLG38wBT2
	i4i7g58UqySQ2rtP1vqiaBr7pfDxmVR3mtZ50PptXNyAoJok2zh7fJQJnmoZyKGt+xnm
	uWTA==
Received: by 10.236.79.195 with SMTP id i43mr31067264yhe.53.1335965453601;
	Wed, 02 May 2012 06:30:53 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id p3sm2679135and.4.2012.05.02.06.30.49
	(version=SSLv3 cipher=OTHER); Wed, 02 May 2012 06:30:51 -0700 (PDT)
Message-ID: <4FA13708.4050202@cantab.net>
Date: Wed, 02 May 2012 14:30:48 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Andreas Kinzler <ml-xen-devel@hfp.de>
References: <4FA1328B.6070602@hfp.de>
In-Reply-To: <4FA1328B.6070602@hfp.de>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02/05/12 14:11, Andreas Kinzler wrote:
> Hello Jeremy + Konrad + all kernel devs,
> 
> while it is great to see that vanilla dom0 seems to work, the
> performance breakdown compared to xenified 2.6.34 (from opensuse) is
> huge. Here are my benchmarks:
> 
> Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs
> 
> time emerge apache:
> 
>         3.2.12-dom0    3.3.4-dom0    2.6.34.10-dom0
>     real    1m0.560s    0m59.971s    0m47.689s
>     user    0m40.939s    0m40.619s    0m41.355s
>     sys     0m18.865s    0m18.305s    0m11.441s

Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
check for pending events when restoring irq flags"[1] and see how much
it helps?

This patch is in 3.4-rc5 and is queued for 3.3.5.

David

[1]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=7eb7ce4d2e8991aff4ecb71a81949a907ca755ac

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:31:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:31:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZdx-0006ZB-LZ; Wed, 02 May 2012 13:30:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPZdw-0006Z5-M0
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:30:56 +0000
Received: from [85.158.138.51:35661] by server-10.bemta-3.messagelabs.com id
	FE/69-29478-F0731AF4; Wed, 02 May 2012 13:30:55 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1335965453!24810724!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7408 invoked from network); 2 May 2012 13:30:55 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:30:55 -0000
Received: by yenl11 with SMTP id l11so900287yen.30
	for <xen-devel@lists.xensource.com>;
	Wed, 02 May 2012 06:30:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=4kvOTNT3ZVTTDmqZexiGXD8VyBwaafldufNy2PtLA88=;
	b=NNhonxDAMsNblvxn72b1Pj9V/K/mGZQzAtWfqweUma6dG0dfGybabaUT1U6i6ZU7TB
	4G+kkQ5/rwjrd0DHOEU7QRP2tOs5Nyj3WCsu0vcnj5oiIm4A+wi+yedNOSejGFwrraR5
	iKl63dO+/C9jqp+aVL0iRHdGhl0rNnKyWw/C+5TIimBLXKL5xOehzpKZXPzLwcsXjGWH
	ITstrCzlZksZLnLVv5vi+bjhRO9sQv3JQkrKgSqRqNZ791ef7lzk5qs+p79SLG38wBT2
	i4i7g58UqySQ2rtP1vqiaBr7pfDxmVR3mtZ50PptXNyAoJok2zh7fJQJnmoZyKGt+xnm
	uWTA==
Received: by 10.236.79.195 with SMTP id i43mr31067264yhe.53.1335965453601;
	Wed, 02 May 2012 06:30:53 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id p3sm2679135and.4.2012.05.02.06.30.49
	(version=SSLv3 cipher=OTHER); Wed, 02 May 2012 06:30:51 -0700 (PDT)
Message-ID: <4FA13708.4050202@cantab.net>
Date: Wed, 02 May 2012 14:30:48 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Andreas Kinzler <ml-xen-devel@hfp.de>
References: <4FA1328B.6070602@hfp.de>
In-Reply-To: <4FA1328B.6070602@hfp.de>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02/05/12 14:11, Andreas Kinzler wrote:
> Hello Jeremy + Konrad + all kernel devs,
> 
> while it is great to see that vanilla dom0 seems to work, the
> performance breakdown compared to xenified 2.6.34 (from opensuse) is
> huge. Here are my benchmarks:
> 
> Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs
> 
> time emerge apache:
> 
>         3.2.12-dom0    3.3.4-dom0    2.6.34.10-dom0
>     real    1m0.560s    0m59.971s    0m47.689s
>     user    0m40.939s    0m40.619s    0m41.355s
>     sys     0m18.865s    0m18.305s    0m11.441s

Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
check for pending events when restoring irq flags"[1] and see how much
it helps?

This patch is in 3.4-rc5 and is queued for 3.3.5.

David

[1]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=7eb7ce4d2e8991aff4ecb71a81949a907ca755ac

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:31:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:31:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZeF-0006a8-1U; Wed, 02 May 2012 13:31:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPZeD-0006a0-FR
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:31:13 +0000
Received: from [85.158.138.51:14783] by server-11.bemta-3.messagelabs.com id
	1B/CC-18894-02731AF4; Wed, 02 May 2012 13:31:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1335965471!24810808!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9195 invoked from network); 2 May 2012 13:31:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:31:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12247450"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 13:31:11 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	14:31:11 +0100
Message-ID: <1335965470.26758.58.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andreas Kinzler <ml-xen-devel@hfp.de>
Date: Wed, 2 May 2012 14:31:10 +0100
In-Reply-To: <4FA1328B.6070602@hfp.de>
References: <4FA1328B.6070602@hfp.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 14:11 +0100, Andreas Kinzler wrote:
> Hello Jeremy + Konrad + all kernel devs,
> 
> while it is great to see that vanilla dom0 seems to work, the 
> performance breakdown compared to xenified 2.6.34 (from opensuse) is 
> huge. Here are my benchmarks:

There were a couple of performance fixes posted recently, one of them
was "xen: correctly check for pending events when restoring irq flags"
from David Vrabel, which is now in mainline as 7eb7ce4d2e89 and marked
for stable backport. The other was something to do with blk i/o
performance from Stefano Stabellini which I don't have a handy reference
too or status on (hopefully Konrad does though).

I think those will undoubtedly help although I think performance tuning
of the upstream dom0 kernel is still something we need to do more of in
the short term.

> Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs
> 
> time emerge apache:
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    1m0.560s	0m59.971s	0m47.689s
> 	user    0m40.939s	0m40.619s	0m41.355s
> 	sys     0m18.865s	0m18.305s	0m11.441s
> 
> time make -j4 (3.2.12 linux compile):
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    5m8.793s	5m4.888s	4m20.576s
> 	user    8m1.746s	7m59.726s	7m10.375s
> 	sys     1m39.010s	1m32.994s	0m56.304s

Did you happen to also compare 3.2.12 and 2.6.34.10 running these
workloads natively?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:31:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:31:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZeF-0006a8-1U; Wed, 02 May 2012 13:31:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPZeD-0006a0-FR
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:31:13 +0000
Received: from [85.158.138.51:14783] by server-11.bemta-3.messagelabs.com id
	1B/CC-18894-02731AF4; Wed, 02 May 2012 13:31:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1335965471!24810808!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9195 invoked from network); 2 May 2012 13:31:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:31:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12247450"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 13:31:11 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	14:31:11 +0100
Message-ID: <1335965470.26758.58.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andreas Kinzler <ml-xen-devel@hfp.de>
Date: Wed, 2 May 2012 14:31:10 +0100
In-Reply-To: <4FA1328B.6070602@hfp.de>
References: <4FA1328B.6070602@hfp.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 14:11 +0100, Andreas Kinzler wrote:
> Hello Jeremy + Konrad + all kernel devs,
> 
> while it is great to see that vanilla dom0 seems to work, the 
> performance breakdown compared to xenified 2.6.34 (from opensuse) is 
> huge. Here are my benchmarks:

There were a couple of performance fixes posted recently, one of them
was "xen: correctly check for pending events when restoring irq flags"
from David Vrabel, which is now in mainline as 7eb7ce4d2e89 and marked
for stable backport. The other was something to do with blk i/o
performance from Stefano Stabellini which I don't have a handy reference
too or status on (hopefully Konrad does though).

I think those will undoubtedly help although I think performance tuning
of the upstream dom0 kernel is still something we need to do more of in
the short term.

> Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs
> 
> time emerge apache:
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    1m0.560s	0m59.971s	0m47.689s
> 	user    0m40.939s	0m40.619s	0m41.355s
> 	sys     0m18.865s	0m18.305s	0m11.441s
> 
> time make -j4 (3.2.12 linux compile):
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    5m8.793s	5m4.888s	4m20.576s
> 	user    8m1.746s	7m59.726s	7m10.375s
> 	sys     1m39.010s	1m32.994s	0m56.304s

Did you happen to also compare 3.2.12 and 2.6.34.10 running these
workloads natively?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:37:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZjm-0006sS-Qe; Wed, 02 May 2012 13:36:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPZjk-0006sM-W1
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:36:57 +0000
Received: from [85.158.143.35:47013] by server-3.bemta-4.messagelabs.com id
	5E/D7-05853-87831AF4; Wed, 02 May 2012 13:36:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1335965814!14478084!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30173 invoked from network); 2 May 2012 13:36:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:36:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12247793"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 13:36:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 14:36:54 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPZji-0001wx-9Z;
	Wed, 02 May 2012 13:36:54 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPZji-0000ES-4n;
	Wed, 02 May 2012 14:36:54 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12778-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 14:36:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12778: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12778 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12778/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12767
 build-i386                   2 host-install(2) broken in 12775 REGR. vs. 12767

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl           3 host-install(3)           broken pass in 12775
 test-amd64-amd64-xl-sedf      3 host-install(3)           broken pass in 12775

Regressions which are regarded as allowable (not blocking):
 test-i386-i386-pv             3 host-install(3)              broken like 12765
 test-amd64-i386-xl-credit2    3 host-install(3)              broken like 12767
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)        broken like 12767
 test-amd64-amd64-pv           3 host-install(3)     broken in 12775 like 12765

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-pv             1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-xl             1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-xl            1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-qemuu-rhel6hvm-intel 1 xen-build-check(1) blocked in 12775 n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)    blocked in 12775 n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)  blocked in 12775 n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)       blocked in 12775 n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)       blocked in 12775 n/a
 test-amd64-i386-pv            1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-pair          1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)      blocked in 12775 n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)       blocked in 12775 n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)  blocked in 12775 n/a
 test-amd64-i386-win           1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-pair           1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-win            1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-xl-win         1 xen-build-check(1)        blocked in 12775 n/a

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          broken  
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     broken  
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 13:37:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 13:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPZjm-0006sS-Qe; Wed, 02 May 2012 13:36:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPZjk-0006sM-W1
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 13:36:57 +0000
Received: from [85.158.143.35:47013] by server-3.bemta-4.messagelabs.com id
	5E/D7-05853-87831AF4; Wed, 02 May 2012 13:36:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1335965814!14478084!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30173 invoked from network); 2 May 2012 13:36:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 13:36:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12247793"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 13:36:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 14:36:54 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPZji-0001wx-9Z;
	Wed, 02 May 2012 13:36:54 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPZji-0000ES-4n;
	Wed, 02 May 2012 14:36:54 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12778-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 14:36:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12778: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12778 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12778/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12767
 build-i386                   2 host-install(2) broken in 12775 REGR. vs. 12767

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl           3 host-install(3)           broken pass in 12775
 test-amd64-amd64-xl-sedf      3 host-install(3)           broken pass in 12775

Regressions which are regarded as allowable (not blocking):
 test-i386-i386-pv             3 host-install(3)              broken like 12765
 test-amd64-i386-xl-credit2    3 host-install(3)              broken like 12767
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)        broken like 12767
 test-amd64-amd64-pv           3 host-install(3)     broken in 12775 like 12765

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-pv             1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-xl             1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-xl            1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-qemuu-rhel6hvm-intel 1 xen-build-check(1) blocked in 12775 n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)    blocked in 12775 n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)  blocked in 12775 n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)       blocked in 12775 n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)       blocked in 12775 n/a
 test-amd64-i386-pv            1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-pair          1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)      blocked in 12775 n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)        blocked in 12775 n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)       blocked in 12775 n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)  blocked in 12775 n/a
 test-amd64-i386-win           1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-pair           1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-win            1 xen-build-check(1)        blocked in 12775 n/a
 test-i386-i386-xl-win         1 xen-build-check(1)        blocked in 12775 n/a

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          broken  
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   broken  
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     broken  
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 14:57:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 14:57:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPazU-0007cj-Uy; Wed, 02 May 2012 14:57:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPazS-0007cb-IN
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 14:57:15 +0000
Received: from [85.158.143.35:58217] by server-1.bemta-4.messagelabs.com id
	CD/80-20925-94B41AF4; Wed, 02 May 2012 14:57:13 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1335970623!9531231!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3159 invoked from network); 2 May 2012 14:57:03 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-4.tower-21.messagelabs.com with SMTP;
	2 May 2012 14:57:03 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPazC-0003oe-Ny; Wed, 02 May 2012 14:57:00 +0000
Message-ID: <4FA14B38.8080804@canonical.com>
Date: Wed, 02 May 2012 16:56:56 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com>
In-Reply-To: <20120501225456.GA13757@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8154349337432514550=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============8154349337432514550==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig8743CEE041A746E466A979FC"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig8743CEE041A746E466A979FC
Content-Type: multipart/mixed;
 boundary="------------060902080104000706080807"

This is a multi-part message in MIME format.
--------------060902080104000706080807
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 00:54, Konrad Rzeszutek Wilk wrote:

> What is the involvment of x86_cpu_to_apicid to acpi_processor_register_=
performance?
> Or is this more of a stab in the dark?
>=20
> Stefan, one way to debug this is to make the driver be a module and the=
n
> configure the /sys/../acpi/debug_level and debug_layer to be 0xffffffff=

> and try loading the module. It should print out tons of data (And the r=
eason
> it returned -Exxx).

For completeness here the run without the modification Boris had suggeste=
d.



--------------060902080104000706080807
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.2"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.2"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (smb@gomeisa) (gcc version =
4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg1 SMP Wed May 2 10:10:23=
 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg1-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 2/0x11, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 2: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 3/0x12, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 3: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 4/0x13, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 4: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 5/0x14, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 5: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 6/0x15, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 6: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 7/0x16, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 7: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 8/0x17, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 8: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.196 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.39 BogoMIPS (lpj=3D8000784)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.007701] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.016613] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019176] Mount-cache hash table entries: 256
[    0.019421] Initializing cgroup subsys cpuacct
[    0.019432] Initializing cgroup subsys memory
[    0.019452] Initializing cgroup subsys devices
[    0.019458] Initializing cgroup subsys freezer
[    0.019463] Initializing cgroup subsys blkio
[    0.019479] Initializing cgroup subsys perf_event
[    0.019582] tseg: 00dff00000
[    0.019590] CPU: Physical Processor ID: 0
[    0.019594] CPU: Processor Core ID: 0
[    0.022490] ACPI: Core revision 20110623
[    0.038531] ftrace: allocating 27102 entries in 107 pages
[    0.040132] cpu 0 spinlock event irq 273
[    0.040233] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040497] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040627] installing Xen timer for CPU 1
[    0.040645] cpu 1 spinlock event irq 279
[    0.040850] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040972] installing Xen timer for CPU 2
[    0.040990] cpu 2 spinlock event irq 285
[    0.041148] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041262] installing Xen timer for CPU 3
[    0.041277] cpu 3 spinlock event irq 291
[    0.041438] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041555] installing Xen timer for CPU 4
[    0.041570] cpu 4 spinlock event irq 297
[    0.041752] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041877] installing Xen timer for CPU 5
[    0.041893] cpu 5 spinlock event irq 303
[    0.042051] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042166] installing Xen timer for CPU 6
[    0.042182] cpu 6 spinlock event irq 309
[    0.042337] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042452] installing Xen timer for CPU 7
[    0.042468] cpu 7 spinlock event irq 315
[    0.042628] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042660] Brought up 8 CPUs
[    0.042889] devtmpfs: initialized
[    0.045526] EVM: security.selinux
[    0.045531] EVM: security.SMACK64
[    0.045535] EVM: security.capability
[    0.045610] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045610] Grant table initialized
[    0.045610] print_constraints: dummy:=20
[    0.045610] RTC time: 13:16:01, date: 05/02/12
[    0.045610] NET: Registered protocol family 16
[    0.045610] Trying to unpack rootfs image as initramfs...
[    0.060275] node 0 link 0: io port [1000, ffffff]
[    0.060290] TOM: 00000000e0000000 aka 3584M
[    0.060296] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060307] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060315] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060324] node 0 link 0: mmio [a0000, bffff]
[    0.060332] TOM2: 0000000820000000 aka 33280M
[    0.060337] bus: [00, 1f] on node 0 link 0
[    0.060341] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060346] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060351] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060356] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060376] Extended Config Space enabled on 2 nodes
[    0.060550] ACPI: bus type pci registered
[    0.060654] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060663] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.175090] Freeing initrd memory: 40072k freed
[    0.219594] PCI: Using configuration type 1 for base access
[    0.221163] bio: create slab <bio-0> at 0
[    0.221163] ACPI: Added _OSI(Module Device)
[    0.221163] ACPI: Added _OSI(Processor Device)
[    0.221163] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221163] ACPI: Added _OSI(Processor Aggregator Device)
[    0.224162] ACPI: EC: Look up EC in DSDT
[    0.228609] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253661] ACPI: Interpreter enabled
[    0.253670] ACPI: (supports S0 S1 S4 S5)
[    0.253715] ACPI: Using IOAPIC for interrupt routing
[    0.267198] ACPI: No dock devices found.
[    0.267261] HEST: Table parsing has been initialized.
[    0.267268] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267573] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268134] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268141] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268147] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268153] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268160] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268201] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268398] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268634] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268757] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268766] pci 0000:00:09.0: PME# disabled
[    0.268808] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.268924] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.268932] pci 0000:00:0a.0: PME# disabled
[    0.268995] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269033] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269053] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269073] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269093] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269113] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269133] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269241] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269268] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269392] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269419] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269553] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269591] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269749] pci 0000:00:12.2: supports D1 D2
[    0.269754] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269763] pci 0000:00:12.2: PME# disabled
[    0.269803] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269862] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.269986] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270013] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270149] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270187] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270345] pci 0000:00:13.2: supports D1 D2
[    0.270350] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270360] pci 0000:00:13.2: PME# disabled
[    0.270406] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270596] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270741] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270822] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270849] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.270992] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271121] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271182] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271282] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271372] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271485] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271602] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271665] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271732] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271825] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272045] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272090] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272115] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272294] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272305] pci 0000:03:00.0: PME# disabled
[    0.280056] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280070] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280079] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280204] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280239] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280284] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280308] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280489] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280501] pci 0000:02:00.0: PME# disabled
[    0.288055] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288068] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288077] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288144] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288183] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288206] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288228] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288437] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288451] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288461] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288467] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288473] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288480] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288487] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288493] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288529] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288940] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289045] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289157] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289332]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289340]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289346] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307515] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307653] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307787] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.307917] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.308023] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.308156] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308321] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308456] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308527] xen/balloon: Initialising balloon driver.
[    0.351974] xen-balloon: Initialising balloon driver.
[    0.352005] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.352140] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.352140] vgaarb: loaded
[    0.352140] vgaarb: bridge control possible 0000:01:04.0
[    0.352232] i2c-core: driver [aat2870] using legacy suspend method
[    0.352237] i2c-core: driver [aat2870] using legacy resume method
[    0.352330] SCSI subsystem initialized
[    0.352403] libata version 3.00 loaded.
[    0.352403] usbcore: registered new interface driver usbfs
[    0.352403] usbcore: registered new interface driver hub
[    0.352403] usbcore: registered new device driver usb
[    0.352403] PCI: Using ACPI for IRQ routing
[    0.360021] PCI: pci_cache_line_size set to 64 bytes
[    0.360021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.360021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.360021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.360114] NetLabel: Initializing
[    0.360119] NetLabel:  domain hash size =3D 128
[    0.360123] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.360140] NetLabel:  unlabeled traffic allowed by default
[    0.360216] Switching to clocksource xen
[    0.369450] AppArmor: AppArmor Filesystem Enabled
[    0.369488] pnp: PnP ACPI init
[    0.369509] ACPI: bus type pnp registered
[    0.369871] pnp 00:00: [bus 00-ff]
[    0.369876] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.369882] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.369887] pnp 00:00: [io  0x0d00-0xffff window]
[    0.369892] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.369897] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.369902] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.369941] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.370062] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.370336] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.370343] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.370426] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370605] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.370667] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.370674] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.371348] pnp 00:03: [dma 4]
[    0.371353] pnp 00:03: [io  0x0000-0x000f]
[    0.371358] pnp 00:03: [io  0x0081-0x0083]
[    0.371362] pnp 00:03: [io  0x0087]
[    0.371366] pnp 00:03: [io  0x0089-0x008b]
[    0.371371] pnp 00:03: [io  0x008f]
[    0.371375] pnp 00:03: [io  0x00c0-0x00df]
[    0.371432] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.371459] pnp 00:04: [io  0x0070-0x0071]
[    0.371466] xen: registering gsi 8 triggering 1 polarity 0
[    0.371475] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.371480] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.371502] pnp 00:04: [irq 8]
[    0.371559] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.371629] pnp 00:05: [io  0x0060]
[    0.371634] pnp 00:05: [io  0x0064]
[    0.371638] xen: registering gsi 1 triggering 1 polarity 0
[    0.371643] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.371648] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.371661] pnp 00:05: [irq 1]
[    0.371717] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.371831] xen: registering gsi 12 triggering 1 polarity 0
[    0.371837] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.371842] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.371855] pnp 00:06: [irq 12]
[    0.371915] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.371936] pnp 00:07: [io  0x0061]
[    0.371995] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.372016] pnp 00:08: [io  0x00f0-0x00ff]
[    0.372021] xen: registering gsi 13 triggering 1 polarity 0
[    0.372026] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.372031] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.372044] pnp 00:08: [irq 13]
[    0.372112] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.372312] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.372318] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.372324] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.372407] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.372414] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372501] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.372563] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.372889] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.372894] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.372977] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.372984] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.372991] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.373482] pnp 00:0c: [io  0x0010-0x001f]
[    0.373487] pnp 00:0c: [io  0x0022-0x003f]
[    0.373491] pnp 00:0c: [io  0x0062-0x0063]
[    0.373496] pnp 00:0c: [io  0x0065-0x006f]
[    0.373500] pnp 00:0c: [io  0x0072-0x007f]
[    0.373505] pnp 00:0c: [io  0x0080]
[    0.373509] pnp 00:0c: [io  0x0084-0x0086]
[    0.373513] pnp 00:0c: [io  0x0088]
[    0.373517] pnp 00:0c: [io  0x008c-0x008e]
[    0.373522] pnp 00:0c: [io  0x0090-0x009f]
[    0.373526] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.373531] pnp 00:0c: [io  0x00b1]
[    0.373535] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.373539] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.373544] pnp 00:0c: [io  0x0550-0x0551]
[    0.373548] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.373553] pnp 00:0c: [io  0x040b]
[    0.373557] pnp 00:0c: [io  0x04d6]
[    0.373561] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.373565] pnp 00:0c: [io  0x0c14]
[    0.373570] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.373574] pnp 00:0c: [io  0x0c52]
[    0.373578] pnp 00:0c: [io  0x0c6c]
[    0.373582] pnp 00:0c: [io  0x0c6f]
[    0.373586] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.373591] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.373595] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.373600] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.373604] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.373608] pnp 00:0c: [io  0x0800-0x089f]
[    0.373613] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.373619] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.373623] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.373627] pnp 00:0c: [io  0x0900-0x090f]
[    0.373632] pnp 00:0c: [io  0x0910-0x091f]
[    0.373636] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.373641] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.373646] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.373651] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.373659] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.373770] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.373777] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.373783] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.373788] system 00:0c: [io  0x040b] has been reserved
[    0.373794] system 00:0c: [io  0x04d6] has been reserved
[    0.373799] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.373805] system 00:0c: [io  0x0c14] has been reserved
[    0.373811] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.373817] system 00:0c: [io  0x0c52] has been reserved
[    0.373822] system 00:0c: [io  0x0c6c] has been reserved
[    0.373827] system 00:0c: [io  0x0c6f] has been reserved
[    0.373833] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.373839] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.373845] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.373850] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.373856] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.373865] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.373871] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.373877] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.373883] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.373889] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.373895] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.373902] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.373908] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.373915] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.374487] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.374493] xen: registering gsi 4 triggering 1 polarity 0
[    0.374498] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.374503] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.374519] pnp 00:0d: [irq 4]
[    0.374524] pnp 00:0d: [dma 0 disabled]
[    0.374648] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.375186] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.375191] xen: registering gsi 3 triggering 1 polarity 0
[    0.375197] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.375201] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.375206] Already setup the GSI :3
[    0.375211] pnp 00:0e: [irq 3]
[    0.375215] pnp 00:0e: [dma 0 disabled]
[    0.375334] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.375508] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.375590] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.375598] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.376526] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.376532] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.376537] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.376542] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.376551] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.376650] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.376656] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.376663] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.376669] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.376676] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.376683] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.377012] pnp: PnP ACPI: found 17 devices
[    0.377017] ACPI: ACPI bus type pnp unregistered
[    0.384322] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.384348] PCI: max bus depth: 1 pci_try_num: 2
[    0.384387] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.384394] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.384404] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.384419] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.384425] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.384435] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.384449] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.384464] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.384474] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.384497] xen: registering gsi 17 triggering 0 polarity 1
[    0.384517] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.384532] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.384542] pci 0000:00:09.0: setting latency timer to 64
[    0.384553] xen: registering gsi 18 triggering 0 polarity 1
[    0.384563] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.384576] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.384584] pci 0000:00:0a.0: setting latency timer to 64
[    0.384600] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.384606] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.384611] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.384617] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.384622] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.384628] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.384634] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.384640] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.384646] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.384652] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.384658] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.384664] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.384670] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.384676] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.384681] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.384687] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.384745] NET: Registered protocol family 2
[    0.386858] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.392197] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.395428] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.395775] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.395782] TCP reno registered
[    0.395912] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.396171] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.396454] NET: Registered protocol family 1
[    0.396513] xen: registering gsi 16 triggering 0 polarity 1
[    0.396535] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.396556] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.124169] pci 0000:00:12.0: PCI INT A disabled
[    1.124201] xen: registering gsi 16 triggering 0 polarity 1
[    1.124216] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.124221] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.124226] Already setup the GSI :16
[    1.124233] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.208174] pci 0000:00:12.1: PCI INT A disabled
[    1.208207] xen: registering gsi 17 triggering 0 polarity 1
[    1.208220] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.208225] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.208231] Already setup the GSI :17
[    1.208237] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.208370] pci 0000:00:12.2: PCI INT B disabled
[    1.208386] xen: registering gsi 18 triggering 0 polarity 1
[    1.208392] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.208397] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.208401] Already setup the GSI :18
[    1.208406] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.292207] pci 0000:00:13.0: PCI INT A disabled
[    1.292238] xen: registering gsi 18 triggering 0 polarity 1
[    1.292251] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.292256] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.292262] Already setup the GSI :18
[    1.292267] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.376173] pci 0000:00:13.1: PCI INT A disabled
[    1.376207] xen: registering gsi 19 triggering 0 polarity 1
[    1.376234] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.376252] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.376388] pci 0000:00:13.2: PCI INT B disabled
[    1.376414] xen: registering gsi 18 triggering 0 polarity 1
[    1.376419] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.376424] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.376429] Already setup the GSI :18
[    1.376433] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.460176] pci 0000:00:14.5: PCI INT C disabled
[    1.460263] pci 0000:01:04.0: Boot video device
[    1.460271] PCI: CLS 64 bytes, default 64
[    1.461342] audit: initializing netlink socket (disabled)
[    1.461361] type=3D2000 audit(1335964562.601:1): initialized
[    1.489601] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.491852] VFS: Disk quotas dquot_6.5.2
[    1.491932] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.492683] fuse init (API version 7.17)
[    1.492825] msgmni has been set to 1479
[    1.493529] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.493586] io scheduler noop registered
[    1.493591] io scheduler deadline registered
[    1.493633] io scheduler cfq registered (default)
[    1.494114] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.494148] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.494341] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.494351] ACPI: Power Button [PWRB]
[    1.494412] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.494420] ACPI: Power Button [PWRF]
[    1.676958] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.677083] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.677259] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.677679] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.681442] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.800115] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.820418] hpet_acpi_add: no address or irqs in _CRS
[    1.820439] Linux agpgart interface v0.103
[    1.824231] brd: module loaded
[    1.825115] loop: module loaded
[    1.825527] ahci 0000:00:11.0: version 3.0
[    1.825555] xen: registering gsi 22 triggering 0 polarity 1
[    1.825578] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.825596] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.825826] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.825836] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.826774] scsi0 : ahci
[    1.826926] scsi1 : ahci
[    1.827024] scsi2 : ahci
[    1.827120] scsi3 : ahci
[    1.827224] scsi4 : ahci
[    1.827320] scsi5 : ahci
[    1.828266] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.828274] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.828281] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.828288] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.828295] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.828303] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.828836] Fixed MDIO Bus: probed
[    1.828864] tun: Universal TUN/TAP device driver, 1.6
[    1.828870] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.828931] PPP generic driver version 2.4.2
[    1.829048] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.829138] xen: registering gsi 17 triggering 0 polarity 1
[    1.829148] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.829153] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.829158] Already setup the GSI :17
[    1.829164] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.829198] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.829284] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.829301] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.829398] ehci_hcd 0000:00:12.2: debug port 1
[    1.829447] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.840124] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.840320] hub 1-0:1.0: USB hub found
[    1.840328] hub 1-0:1.0: 6 ports detected
[    1.840513] xen: registering gsi 19 triggering 0 polarity 1
[    1.840521] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.840526] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.840531] Already setup the GSI :19
[    1.840536] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.840570] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.840647] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.840663] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.840755] ehci_hcd 0000:00:13.2: debug port 1
[    1.840808] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.852099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.852310] hub 2-0:1.0: USB hub found
[    1.852317] hub 2-0:1.0: 6 ports detected
[    1.852441] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.852530] xen: registering gsi 16 triggering 0 polarity 1
[    1.852538] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.852543] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.852548] Already setup the GSI :16
[    1.852553] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.852587] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.852654] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.852724] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.912279] hub 3-0:1.0: USB hub found
[    1.912294] hub 3-0:1.0: 3 ports detected
[    1.912446] xen: registering gsi 16 triggering 0 polarity 1
[    1.912454] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.912459] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.912463] Already setup the GSI :16
[    1.912469] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.912504] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.912572] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.912614] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    1.972294] hub 4-0:1.0: USB hub found
[    1.972308] hub 4-0:1.0: 3 ports detected
[    1.972473] xen: registering gsi 18 triggering 0 polarity 1
[    1.972481] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.972486] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.972490] Already setup the GSI :18
[    1.972496] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.972524] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    1.972593] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    1.972660] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.032273] hub 5-0:1.0: USB hub found
[    2.032287] hub 5-0:1.0: 3 ports detected
[    2.032436] xen: registering gsi 18 triggering 0 polarity 1
[    2.032443] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.032448] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.032453] Already setup the GSI :18
[    2.032458] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.032493] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.032565] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.032604] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.092304] hub 6-0:1.0: USB hub found
[    2.092318] hub 6-0:1.0: 3 ports detected
[    2.092475] xen: registering gsi 18 triggering 0 polarity 1
[    2.092483] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.092487] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.092492] Already setup the GSI :18
[    2.092497] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.092532] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.092605] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.092656] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.148125] ata5: SATA link down (SStatus 0 SControl 300)
[    2.152407] hub 7-0:1.0: USB hub found
[    2.152421] hub 7-0:1.0: 2 ports detected
[    2.152520] uhci_hcd: USB Universal Host Controller Interface driver
[    2.152616] usbcore: registered new interface driver libusual
[    2.152672] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.155612] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.155624] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.155785] mousedev: PS/2 mouse device common for all mice
[    2.155992] rtc_cmos 00:04: RTC can wake from S4
[    2.156199] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.156254] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.156356] device-mapper: uevent: version 1.0.3
[    2.156451] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.156463] EFI Variables Facility v0.08 2004-May-17
[    2.156791] TCP cubic registered
[    2.156956] NET: Registered protocol family 10
[    2.157654] NET: Registered protocol family 17
[    2.157678] Registering the dns_resolver key type
[    2.157881] PM: Hibernation image not present or could not be loaded.
[    2.157899] registered taskstats version 1
[    2.164100] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.175372]   Magic number: 12:240:280
[    2.175417] tty tty17: hash matches
[    2.175565] rtc_cmos 00:04: setting system clock to 2012-05-02 13:16:0=
3 UTC (1335964563)
[    2.175696] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.175793] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.175798] EDD information not available.
[    2.188032] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.302043] Initializing USB Mass Storage driver...
[    2.302431] scsi6 : usb-storage 2-2:1.0
[    2.302547] usbcore: registered new interface driver usb-storage
[    2.302553] USB Mass Storage support registered.
[    2.320117] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320155] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320193] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320223] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.320254] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320786] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.321220] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321227] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321248] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321256] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321275] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321282] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321435] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321443] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321598] ata6.00: configured for UDMA/100
[    2.322467] ata4.00: configured for UDMA/133
[    2.322500] ata1.00: configured for UDMA/133
[    2.322651] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.322825] ata2.00: configured for UDMA/133
[    2.322871] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.322885] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.322945] ata3.00: configured for UDMA/133
[    2.322997] sd 0:0:0:0: [sda] Write Protect is off
[    2.323004] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.323071] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.323104] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.323340] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.323393] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.323539] sd 1:0:0:0: [sdb] Write Protect is off
[    2.323545] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.323586] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.323648] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.323877] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.323920] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.324039] sd 2:0:0:0: [sdc] Write Protect is off
[    2.324046] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.324102] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.324171] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.324392] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.324411] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.324510] sd 3:0:0:0: [sdd] Write Protect is off
[    2.324517] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.324557] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.325174] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.328738] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.328747] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.328923] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.329015] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.337560]  sdb: sdb1 sdb2
[    2.337987] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.338935]  sdd: unknown partition table
[    2.339234] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.341070]  sdc: unknown partition table
[    2.341349] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.444044]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.445275] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.445944] Freeing unused kernel memory: 920k freed
[    2.446270] Write protecting the kernel read-only data: 12288k
[    2.453350] Freeing unused kernel memory: 1520k freed
[    2.454493] Freeing unused kernel memory: 1140k freed
[    2.520146] udevd[165]: starting version 175
[    2.603325] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.603337] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.603495] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.603528] xen: registering gsi 17 triggering 0 polarity 1
[    2.603541] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.603549] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.603591] Already setup the GSI :17
[    2.603598] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.603631] e1000e 0000:03:00.0: setting latency timer to 64
[    2.676127] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.714484] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.714493] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.714578] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.714808] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.714834] xen: registering gsi 18 triggering 0 polarity 1
[    2.714846] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.714852] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.714857] Already setup the GSI :18
[    2.714863] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.714895] e1000e 0000:02:00.0: setting latency timer to 64
[    2.829330] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.829339] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.829437] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.854463] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.854692] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.858390] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.858585] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.858611] usbcore: registered new interface driver usbhid
[    2.858616] usbhid: USB HID core driver
[    3.301039] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.301664] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.302434] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.303153] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.304656] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.304975] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.305358] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.305921] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.310865] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.311491] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    3.312213] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.314371] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    8.935827] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.783346] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.783361] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.812254] udevd[719]: starting version 175
[   15.924609] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.940804] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.941886] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.942029] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.944124] MCE: In-kernel MCE decoding enabled.
[   15.945779] EDAC MC: Ver: 2.1.0
[   15.947575] lp: driver loaded but no devices found
[   15.951215] AMD64 EDAC driver v3.4.0
[   15.952459] Bridge firewalling registered
[   15.953066] type=3D1400 audit(1335964577.273:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D825 comm=3D"appar=
mor_parser"
[   15.953754] type=3D1400 audit(1335964577.273:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D825 comm=3D"apparmor_parser"
[   15.953834] EDAC amd64: DRAM ECC enabled.
[   15.953905] EDAC amd64: F10h detected (node 0).
[   15.953981] EDAC MC: DCT0 chip selects:
[   15.953986] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.953989] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.953992] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.953995] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.953997] EDAC MC: DCT1 chip selects:
[   15.954000] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.954003] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.954006] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.954009] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.954012] EDAC amd64: using x8 syndromes.
[   15.954014] EDAC amd64: MCT channel count: 2
[   15.954064] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.954068] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.954073] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.954077] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.954164] type=3D1400 audit(1335964577.273:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D825 comm=3D"apparmor_parser"
[   15.954191] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.957544] ipmi message handler version 39.2
[   15.958325] ipmi device interface
[   15.961741] EDAC amd64: DRAM ECC enabled.
[   15.961751] EDAC amd64: F10h detected (node 1).
[   15.961831] EDAC MC: DCT0 chip selects:
[   15.961835] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.961838] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.961841] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.961844] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.961847] EDAC MC: DCT1 chip selects:
[   15.961850] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.961853] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.961856] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.961859] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.961862] EDAC amd64: using x8 syndromes.
[   15.961865] EDAC amd64: MCT channel count: 2
[   15.961904] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.961908] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.961911] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.961914] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.961988] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.962103] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.963866] IPMI System Interface driver.
[   15.963946] ipmi_si: probing via SMBIOS
[   15.963950] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.963954] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.963965] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.964506] device-mapper: multipath: version 1.3.0 loaded
[   15.981254] device eth0 entered promiscuous mode
[   16.036101] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   16.043255] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   16.043367] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.085117] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   16.177926] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   16.179422] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.187558] ADDRCONF(NETDEV_UP): br0: link is not ready
[   17.107889] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.362235] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   19.157089] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   19.159695] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.159833] br0: port 1(eth0) entering forwarding state
[   19.159851] br0: port 1(eth0) entering forwarding state
[   19.162058] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   19.505855] init: udev-fallback-graphics main process (1834) terminate=
d with status 1
[   19.658903] init: failsafe main process (1723) killed by TERM signal
[   19.770924] type=3D1400 audit(1335964581.089:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1932 comm=3D"apparmor_parser"
[   19.771034] type=3D1400 audit(1335964581.089:6): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1933 comm=3D"=
apparmor_parser"
[   19.771113] type=3D1400 audit(1335964581.089:7): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1930 comm=3D"a=
pparmor_parser"
[   19.771751] type=3D1400 audit(1335964581.089:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1930 comm=3D"apparmor_parser"
[   19.772152] type=3D1400 audit(1335964581.093:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1930 comm=3D"apparmor_parser"
[   19.772188] type=3D1400 audit(1335964581.093:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1934 c=
omm=3D"apparmor_parser"
[   19.772544] type=3D1400 audit(1335964581.093:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1934 comm=3D"apparmor_parser"
[   20.049999] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   20.271564] ip_tables: (C) 2000-2006 Netfilter Core Team
[   20.373030] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   20.424289] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   20.654948] Event-channel device installed.
[   20.718822] XENBUS: Unable to read cpu state
[   20.719070] XENBUS: Unable to read cpu state
[   20.719271] XENBUS: Unable to read cpu state
[   20.719477] XENBUS: Unable to read cpu state
[   20.719666] XENBUS: Unable to read cpu state
[   20.719810] XENBUS: Unable to read cpu state
[   20.719955] XENBUS: Unable to read cpu state
[   20.720132] XENBUS: Unable to read cpu state
[   21.183395] Ebtables v2.0 registered
[   21.213618] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.236526] br0: no IPv6 routers present
[  245.817700]=20
[  245.817701] **** Context Switch from TID 0 to TID 49125104 ****
[  245.817703]=20
[  245.817707] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.817718]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.817727]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.817737]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.817746]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.817754]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.817763]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.817772]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.817781]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.817791]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.817801]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.817819] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.817827]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.817836]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.817845] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P001] (ffff880027d50e88)
[  245.817855] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.817863]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.817878] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.817887] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.817895]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50e88
[  245.817904]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.817913] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P001 (ffff880027d50e88) For [_PSD] (Untyped)
[  245.817923]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.817931]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.817940] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d438 found in scope [P001] ffff880027d50e88=

[  245.817950] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.817958] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.817967] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.817975]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.817984]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.817993]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.818002]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.818010]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.818019] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d438
[  245.818028] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d709d8
[  245.818037]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d438] Value ffff880027d709d8
[  245.818046]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.818054]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.818063]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.818072]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.818081]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.818090]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.818108]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.818116] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.818124] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d438
[  245.818132] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d709d8
[  245.818141]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.818149]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.818157] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d438 SourceDesc=3Dffff880027d709d8 [Package]
[  245.818167]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d709d8
[  245.818175]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.818184] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d709d8
[  245.818193] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d709d8 Current Refs=3D1 [To Be Incremented]
[  245.818202] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d709d8
[  245.818211]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250c7f30
[  245.818224]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.818233]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818241]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818249] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d709d8 Refs=3D2, [Incremented]
[  245.818258]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818266]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.818274]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818282]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818290]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250c7f78
[  245.818298]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.818307]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818315]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818322]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff880027d716c0
[  245.818331]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.818339]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818347]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818354]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff880027d71a68
[  245.818363]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.818371]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818379]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818386]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d0000
[  245.818395]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.818403]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818411]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818419]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d0048
[  245.818427]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.818435]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818443]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818451] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250c7f30 Refs=3D2, [Incremented]
[  245.818459]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818467]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.818475]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818483]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818491] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d0048 Refs=3D2, [Incremented]
[  245.818499]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818507]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.818515]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818523]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818531] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d0000 Refs=3D2, [Incremented]
[  245.818539]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818547]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.818555]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818563]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818571] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d71a68 Refs=3D2, [Incremented]
[  245.818580]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818587]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.818596]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818603]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818611] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d716c0 Refs=3D2, [Incremented]
[  245.818620]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818628]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.818636]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818644]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818651] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250c7f78 Refs=3D2, [Incremented]
[  245.818660] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.818668] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.818676] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.818684]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.818692]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.818701]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.818710]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.818718]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d709d8 [Package]
[  245.818728]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d438
[  245.818736]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.818746] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P001._PSD Validating return Package of Type 5, Count 1
[  245.818757]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.818766]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.818775] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d709d8
[  245.818783]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.818791]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  245.818799]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.818808]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.818816]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.818823]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250c7f30
[  245.818832]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.818840] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250c7f78
[  245.818848] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818856] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff880027d716c0
[  245.818864] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818872] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff880027d71a68
[  245.818881] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818889] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d0000
[  245.818897] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818905] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d0048
[  245.818913] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818921]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.818929]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.818936]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.818944]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.818952]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.818960]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.818968]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.818976]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.818984]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.818992] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.819001]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.819009]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.819017]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.819025]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  245.819033]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.819042]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.819050]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.819057]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250c7f30
[  245.819066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.819074]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819082]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819090]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819098]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819106]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819113]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819122]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819129]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819137]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819145]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819153]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.819161]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.819169]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.819176]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.819185]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.819192]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.819200]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.819208]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.819216]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.819224]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.819232]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.819241]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.819249]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.819258]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.819267]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.819284]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.819292] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d709d8
[  245.819300] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d709d8 Current Refs=3D2 [To Be Decremented]
[  245.819310] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d709d8
[  245.819318]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250c7f30
[  245.819326]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.819334]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819342]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819350] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d709d8 Refs=3D1, [Decremented]
[  245.819359]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819367]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.819375]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819383]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819390]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250c7f78
[  245.819399]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.819407]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819415]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819423]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff880027d716c0
[  245.819431]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.819439]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819447]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819455]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff880027d71a68
[  245.819463]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.819471]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819479]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819487]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d0000
[  245.819495]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.819503]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819511]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819519]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d0048
[  245.819527]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.819535]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819543]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819551] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250c7f30 Refs=3D1, [Decremented]
[  245.819559]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819567]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.819575]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819583]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819591] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d0048 Refs=3D1, [Decremented]
[  245.819599]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819607]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.819615]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819623]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819631] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d0000 Refs=3D1, [Decremented]
[  245.819640]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819647]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.819656]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819663]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819671] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71a68 Refs=3D1, [Decremented]
[  245.819680]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819687]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.819696]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819703]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819711] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d716c0 Refs=3D1, [Decremented]
[  245.819720]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819728]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.819736]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819744]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819751] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250c7f78 Refs=3D1, [Decremented]
[  245.819760] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.819768] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.819776]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.819784]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.819793]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.819802]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.819810] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.819820] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.819828]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.819836]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.819844]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.819852]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.819860]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.819868]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.819876]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.819884]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.819894]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.819903]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.819920] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.819927]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.819935]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.819944] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P002] (ffff880027d50eb0)
[  245.819953] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.819961]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.819975] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.819983] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.819991]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50eb0
[  245.819999]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.820007] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P002 (ffff880027d50eb0) For [_PSD] (Untyped)
[  245.820017]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.820025]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.820033] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d500 found in scope [P002] ffff880027d50eb0=

[  245.820043] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.820072] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.820081] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.820089]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.820098]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.820111]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.820129]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.820148]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.820167] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d500
[  245.820189] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70b40
[  245.820211]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d500] Value ffff880027d70b40
[  245.820232]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.820249]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.820265]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.820283]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.820306]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.820326]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.820361]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.820381] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.820400] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d500
[  245.820419] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70b40
[  245.820436]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.820455]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.820472] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d500 SourceDesc=3Dffff880027d70b40 [Package]
[  245.820492]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70b40
[  245.820508]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.820525] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70b40
[  245.820543] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70b40 Current Refs=3D1 [To Be Incremented]
[  245.820562] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70b40
[  245.820582]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1d38
[  245.820598]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.820619]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820637]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820651] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70b40 Refs=3D2, [Incremented]
[  245.820671]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.820693]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.820710]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.820730]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.820751]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1d80
[  245.820769]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.820785]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820807]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820824]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1dc8
[  245.820841]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.820861]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820878]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820896]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1e10
[  245.820911]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.820928]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820943]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820960]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1e58
[  245.820981]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.820997]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.821019]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.821036]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1ea0
[  245.821056]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.821075]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.821094]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.821112] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1d38 Refs=3D2, [Incremented]
[  245.821125]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821133]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.821141]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821149]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821161] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1ea0 Refs=3D2, [Incremented]
[  245.821169]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821177]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.821186]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821194]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821202] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1e58 Refs=3D2, [Incremented]
[  245.821211]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821219]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.821227]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821236]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821243] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1e10 Refs=3D2, [Incremented]
[  245.821252]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821260]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.821269]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821277]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821285] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1dc8 Refs=3D2, [Incremented]
[  245.821294]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821302]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.821310]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821318]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821326] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1d80 Refs=3D2, [Incremented]
[  245.821335] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.821344] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.821352] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.821363]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.821379]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.821399]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.821417]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.821436]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70b40 [Package]
[  245.821456]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d500
[  245.821476]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.821498] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P002._PSD Validating return Package of Type 5, Count 1
[  245.821519]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.821539]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.821556] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70b40
[  245.821575]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.821593]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  245.821611]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.821630]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.821647]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.821667]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d1d38
[  245.821686]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.821705] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1d80
[  245.821725] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821745] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1dc8
[  245.821763] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821780] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1e10
[  245.821798] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821815] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1e58
[  245.821832] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821851] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1ea0
[  245.821867] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821883]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.821898]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.821916]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.821938]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.821957]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.821974]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.821991]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.822011]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.822030]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.822047] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.822067]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.822085]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.822104]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.822120]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  245.822138]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.822153]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.822173]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.822190]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d1d38
[  245.822209]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.822228]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822247]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822264]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822282]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822297]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822312]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822331]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822349]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822368]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822382]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822391]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.822399]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.822407]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.822415]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.822423]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.822432]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.822440]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.822448]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.822456]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.822465]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.822473]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.822482]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.822490]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.822499]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.822509]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.822526]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.822539] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70b40
[  245.822560] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70b40 Current Refs=3D2 [To Be Decremented]
[  245.822579] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70b40
[  245.822598]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1d38
[  245.822615]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.822633]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822647]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822666] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70b40 Refs=3D1, [Decremented]
[  245.822686]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.822704]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.822725]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.822743]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.822762]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1d80
[  245.822782]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.822799]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822820]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822840]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1dc8
[  245.822856]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.822874]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822892]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822911]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1e10
[  245.822927]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.822943]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822960]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822978]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1e58
[  245.822996]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.823014]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.823029]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.823046]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1ea0
[  245.823065]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.823085]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.823106]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.823124] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1d38 Refs=3D1, [Decremented]
[  245.823144]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823161]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.823178]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823195]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823215] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1ea0 Refs=3D1, [Decremented]
[  245.823233]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823253]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.823270]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823285]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823302] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1e58 Refs=3D1, [Decremented]
[  245.823321]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823341]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.823359]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823379]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823397] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1e10 Refs=3D1, [Decremented]
[  245.823418]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823437]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.823455]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823470]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823487] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1dc8 Refs=3D1, [Decremented]
[  245.823509]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823531]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.823549]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823567]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823575] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1d80 Refs=3D1, [Decremented]
[  245.823585] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.823593] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.823601]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.823609]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.823619]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.823628]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.823636] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.823645] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.823653]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.823662]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.823672]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.823680]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.823688]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.823697]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.823705]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.823713]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.823723]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.823732]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.823764] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.823786]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.823806]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.823825] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P003] (ffff880027d50ed8)
[  245.823846] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.823866]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.823904] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.823918] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.823935]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50ed8
[  245.823953]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.823973] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P003 (ffff880027d50ed8) For [_PSD] (Untyped)
[  245.823992]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824011]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824027] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d5c8 found in scope [P003] ffff880027d50ed8=

[  245.824047] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d5c8
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70ca8
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d5c8] Value ffff880027d70ca8
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d5c8
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70ca8
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d5c8 SourceDesc=3Dffff880027d70ca8 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70ca8
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70ca8
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70ca8 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70ca8
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70ca8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70ca8 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d5c8
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P003._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70ca8
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70ca8
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70ca8 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70ca8
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70ca8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P004] (ffff880027d50f00)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f00
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P004 (ffff880027d50f00) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d690 found in scope [P004] ffff880027d50f00=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d690
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70e10
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d690] Value ffff880027d70e10
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d690
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70e10
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d690 SourceDesc=3Dffff880027d70e10 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70e10
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70e10
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70e10 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70e10
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70e10 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d690
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P004._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70e10
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70e10
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70e10 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70e10
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P005] (ffff880027d50f28)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f28
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P005 (ffff880027d50f28) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d758 found in scope [P005] ffff880027d50f28=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d758
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70f78
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d758] Value ffff880027d70f78
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d758
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70f78
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d758 SourceDesc=3Dffff880027d70f78 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70f78
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70f78
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70f78 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70f78
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70f78 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70f78 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d758
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P005._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70f78
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70f78
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70f78 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70f78
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70f78 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P006] (ffff880027d50f50)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f50
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P006 (ffff880027d50f50) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d820 found in scope [P006] ffff880027d50f50=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d820
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d710d8
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d820] Value ffff880027d710d8
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d820
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d710d8
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d820 SourceDesc=3Dffff880027d710d8 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d710d8
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d710d8
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d710d8 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d710d8
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d710d8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d710d8 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d820
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P006._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d710d8
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d710d8
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d710d8 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d710d8
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d710d8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P007] (ffff880027d50f78)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f78
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P007 (ffff880027d50f78) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d8e8 found in scope [P007] ffff880027d50f78=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d8e8
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d71288
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d8e8] Value ffff880027d71288
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d8e8
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d71288
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d8e8 SourceDesc=3Dffff880027d71288 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d71288
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d71288
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d71288 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d71288
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d71288 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbd80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbdc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbe10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbe58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbd38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbe58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbe10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbdc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbd80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d71288 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d8e8
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P007._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d71288
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbd80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbdc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbe10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbe58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d71288
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d71288 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d71288
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71288 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbd80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbdc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbe10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbe58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbd38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbe58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbe10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbdc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbd80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK

--------------060902080104000706080807--

--------------enig8743CEE041A746E466A979FC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoUs4AAoJEOhnXe7L7s6jmCEP/3UXK4/2N1k6JhAQydGpfVUk
vIoOZEWxahe9ovF5WVQcp1wpz+syaqt6i7SVh/+BjzspHcjBEka3iOith1A0sd9E
N7BJFyyyVTa7VJiGsKc1eIDzEcpnbujEpapSPRDjnkU1v9ggn9z5JV+KjalXDx4j
felEcDb5nHnNXJqt0uToYOlGwQ301nMOtTCMSEz2oPkiCH3KnWo2McRAdt6ppdRX
52jElzJgDMOOFYg/ZWJHfI0EyLhNJZOf1u9/VYuyd8ZEk70QUNj1a6LkxFpxw3hc
NxYPG2ElCxWSqT0P1pFFU2msgdvyoYTMTDMImFF61JCT/vY/ZXxtvyfNpd1c8pUZ
JAn0vbVn7bO2IsOahwUnsxFXPiYdwG9vbjnYtHw5hGYwZpxLHfLNTZolPlhyNeV+
8duSBLlcA/RDSEWTv1XxGQ4e5ZQKWF8c7sBkRacTfjgF+QhE9WA2lMfOkPkNzwO5
oaEPjuKfyyelNzi+I3vSC5+UGfQ3jeAVWPRuATysIsg2m4m7/gYseXg0ahcoifV2
E75IHAD5lWp9gAnxDB+2aClqrnhNLRj0jMt/BHO4mzcRbQJnIgYMZJwO2Siph5Mv
6z1b5sxioRUu8G/Nf2O8xTy/Fo4FHnzxBRz9go2nSOhgFZ2LQwUxT6LrJt4JnDtz
58hs1bzZaDKj63NLFdOn
=fxD4
-----END PGP SIGNATURE-----

--------------enig8743CEE041A746E466A979FC--


--===============8154349337432514550==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8154349337432514550==--


From xen-devel-bounces@lists.xen.org Wed May 02 14:57:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 14:57:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPazU-0007cj-Uy; Wed, 02 May 2012 14:57:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPazS-0007cb-IN
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 14:57:15 +0000
Received: from [85.158.143.35:58217] by server-1.bemta-4.messagelabs.com id
	CD/80-20925-94B41AF4; Wed, 02 May 2012 14:57:13 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1335970623!9531231!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3159 invoked from network); 2 May 2012 14:57:03 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-4.tower-21.messagelabs.com with SMTP;
	2 May 2012 14:57:03 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPazC-0003oe-Ny; Wed, 02 May 2012 14:57:00 +0000
Message-ID: <4FA14B38.8080804@canonical.com>
Date: Wed, 02 May 2012 16:56:56 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
	<20120501225456.GA13757@phenom.dumpdata.com>
In-Reply-To: <20120501225456.GA13757@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8154349337432514550=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============8154349337432514550==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig8743CEE041A746E466A979FC"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig8743CEE041A746E466A979FC
Content-Type: multipart/mixed;
 boundary="------------060902080104000706080807"

This is a multi-part message in MIME format.
--------------060902080104000706080807
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 00:54, Konrad Rzeszutek Wilk wrote:

> What is the involvment of x86_cpu_to_apicid to acpi_processor_register_=
performance?
> Or is this more of a stab in the dark?
>=20
> Stefan, one way to debug this is to make the driver be a module and the=
n
> configure the /sys/../acpi/debug_level and debug_layer to be 0xffffffff=

> and try loading the module. It should print out tons of data (And the r=
eason
> it returned -Exxx).

For completeness here the run without the modification Boris had suggeste=
d.



--------------060902080104000706080807
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.2"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.2"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (smb@gomeisa) (gcc version =
4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg1 SMP Wed May 2 10:10:23=
 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg1-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 2/0x11, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 2: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 3/0x12, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 3: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 4/0x13, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 4: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 5/0x14, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 5: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 6/0x15, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 6: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 7/0x16, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 7: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 8/0x17, fixing up to 0=
x10
[    0.000000] BIOS bug: APIC version mismatch, boot CPU: 0, CPU 8: versi=
on 10
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.196 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.39 BogoMIPS (lpj=3D8000784)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.007701] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.016613] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019176] Mount-cache hash table entries: 256
[    0.019421] Initializing cgroup subsys cpuacct
[    0.019432] Initializing cgroup subsys memory
[    0.019452] Initializing cgroup subsys devices
[    0.019458] Initializing cgroup subsys freezer
[    0.019463] Initializing cgroup subsys blkio
[    0.019479] Initializing cgroup subsys perf_event
[    0.019582] tseg: 00dff00000
[    0.019590] CPU: Physical Processor ID: 0
[    0.019594] CPU: Processor Core ID: 0
[    0.022490] ACPI: Core revision 20110623
[    0.038531] ftrace: allocating 27102 entries in 107 pages
[    0.040132] cpu 0 spinlock event irq 273
[    0.040233] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040497] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040627] installing Xen timer for CPU 1
[    0.040645] cpu 1 spinlock event irq 279
[    0.040850] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040972] installing Xen timer for CPU 2
[    0.040990] cpu 2 spinlock event irq 285
[    0.041148] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041262] installing Xen timer for CPU 3
[    0.041277] cpu 3 spinlock event irq 291
[    0.041438] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041555] installing Xen timer for CPU 4
[    0.041570] cpu 4 spinlock event irq 297
[    0.041752] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041877] installing Xen timer for CPU 5
[    0.041893] cpu 5 spinlock event irq 303
[    0.042051] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042166] installing Xen timer for CPU 6
[    0.042182] cpu 6 spinlock event irq 309
[    0.042337] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042452] installing Xen timer for CPU 7
[    0.042468] cpu 7 spinlock event irq 315
[    0.042628] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042660] Brought up 8 CPUs
[    0.042889] devtmpfs: initialized
[    0.045526] EVM: security.selinux
[    0.045531] EVM: security.SMACK64
[    0.045535] EVM: security.capability
[    0.045610] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045610] Grant table initialized
[    0.045610] print_constraints: dummy:=20
[    0.045610] RTC time: 13:16:01, date: 05/02/12
[    0.045610] NET: Registered protocol family 16
[    0.045610] Trying to unpack rootfs image as initramfs...
[    0.060275] node 0 link 0: io port [1000, ffffff]
[    0.060290] TOM: 00000000e0000000 aka 3584M
[    0.060296] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060307] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060315] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060324] node 0 link 0: mmio [a0000, bffff]
[    0.060332] TOM2: 0000000820000000 aka 33280M
[    0.060337] bus: [00, 1f] on node 0 link 0
[    0.060341] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060346] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060351] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060356] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060376] Extended Config Space enabled on 2 nodes
[    0.060550] ACPI: bus type pci registered
[    0.060654] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060663] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.175090] Freeing initrd memory: 40072k freed
[    0.219594] PCI: Using configuration type 1 for base access
[    0.221163] bio: create slab <bio-0> at 0
[    0.221163] ACPI: Added _OSI(Module Device)
[    0.221163] ACPI: Added _OSI(Processor Device)
[    0.221163] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221163] ACPI: Added _OSI(Processor Aggregator Device)
[    0.224162] ACPI: EC: Look up EC in DSDT
[    0.228609] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253661] ACPI: Interpreter enabled
[    0.253670] ACPI: (supports S0 S1 S4 S5)
[    0.253715] ACPI: Using IOAPIC for interrupt routing
[    0.267198] ACPI: No dock devices found.
[    0.267261] HEST: Table parsing has been initialized.
[    0.267268] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267573] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268134] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268141] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268147] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268153] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268160] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268201] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268398] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268634] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268757] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268766] pci 0000:00:09.0: PME# disabled
[    0.268808] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.268924] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.268932] pci 0000:00:0a.0: PME# disabled
[    0.268995] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269033] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269053] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269073] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269093] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269113] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269133] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269241] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269268] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269392] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269419] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269553] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269591] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269749] pci 0000:00:12.2: supports D1 D2
[    0.269754] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269763] pci 0000:00:12.2: PME# disabled
[    0.269803] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269862] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.269986] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270013] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270149] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270187] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270345] pci 0000:00:13.2: supports D1 D2
[    0.270350] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270360] pci 0000:00:13.2: PME# disabled
[    0.270406] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270596] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270741] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270822] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270849] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.270992] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271121] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271182] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271282] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271372] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271485] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271602] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271665] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271732] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271825] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272045] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272090] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272115] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272294] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272305] pci 0000:03:00.0: PME# disabled
[    0.280056] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280070] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280079] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280204] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280239] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280284] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280308] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280489] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280501] pci 0000:02:00.0: PME# disabled
[    0.288055] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288068] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288077] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288144] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288183] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288206] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288228] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288437] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288451] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288461] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288467] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288473] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288480] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288487] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288493] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288529] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288940] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289045] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289157] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289332]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289340]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289346] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307515] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307653] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307787] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.307917] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.308023] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.308156] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308321] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308456] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308527] xen/balloon: Initialising balloon driver.
[    0.351974] xen-balloon: Initialising balloon driver.
[    0.352005] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.352140] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.352140] vgaarb: loaded
[    0.352140] vgaarb: bridge control possible 0000:01:04.0
[    0.352232] i2c-core: driver [aat2870] using legacy suspend method
[    0.352237] i2c-core: driver [aat2870] using legacy resume method
[    0.352330] SCSI subsystem initialized
[    0.352403] libata version 3.00 loaded.
[    0.352403] usbcore: registered new interface driver usbfs
[    0.352403] usbcore: registered new interface driver hub
[    0.352403] usbcore: registered new device driver usb
[    0.352403] PCI: Using ACPI for IRQ routing
[    0.360021] PCI: pci_cache_line_size set to 64 bytes
[    0.360021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.360021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.360021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.360114] NetLabel: Initializing
[    0.360119] NetLabel:  domain hash size =3D 128
[    0.360123] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.360140] NetLabel:  unlabeled traffic allowed by default
[    0.360216] Switching to clocksource xen
[    0.369450] AppArmor: AppArmor Filesystem Enabled
[    0.369488] pnp: PnP ACPI init
[    0.369509] ACPI: bus type pnp registered
[    0.369871] pnp 00:00: [bus 00-ff]
[    0.369876] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.369882] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.369887] pnp 00:00: [io  0x0d00-0xffff window]
[    0.369892] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.369897] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.369902] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.369941] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.370062] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.370336] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.370343] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.370426] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370605] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.370667] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.370674] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.371348] pnp 00:03: [dma 4]
[    0.371353] pnp 00:03: [io  0x0000-0x000f]
[    0.371358] pnp 00:03: [io  0x0081-0x0083]
[    0.371362] pnp 00:03: [io  0x0087]
[    0.371366] pnp 00:03: [io  0x0089-0x008b]
[    0.371371] pnp 00:03: [io  0x008f]
[    0.371375] pnp 00:03: [io  0x00c0-0x00df]
[    0.371432] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.371459] pnp 00:04: [io  0x0070-0x0071]
[    0.371466] xen: registering gsi 8 triggering 1 polarity 0
[    0.371475] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.371480] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.371502] pnp 00:04: [irq 8]
[    0.371559] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.371629] pnp 00:05: [io  0x0060]
[    0.371634] pnp 00:05: [io  0x0064]
[    0.371638] xen: registering gsi 1 triggering 1 polarity 0
[    0.371643] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.371648] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.371661] pnp 00:05: [irq 1]
[    0.371717] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.371831] xen: registering gsi 12 triggering 1 polarity 0
[    0.371837] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.371842] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.371855] pnp 00:06: [irq 12]
[    0.371915] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.371936] pnp 00:07: [io  0x0061]
[    0.371995] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.372016] pnp 00:08: [io  0x00f0-0x00ff]
[    0.372021] xen: registering gsi 13 triggering 1 polarity 0
[    0.372026] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.372031] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.372044] pnp 00:08: [irq 13]
[    0.372112] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.372312] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.372318] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.372324] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.372407] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.372414] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372501] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.372563] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.372889] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.372894] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.372977] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.372984] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.372991] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.373482] pnp 00:0c: [io  0x0010-0x001f]
[    0.373487] pnp 00:0c: [io  0x0022-0x003f]
[    0.373491] pnp 00:0c: [io  0x0062-0x0063]
[    0.373496] pnp 00:0c: [io  0x0065-0x006f]
[    0.373500] pnp 00:0c: [io  0x0072-0x007f]
[    0.373505] pnp 00:0c: [io  0x0080]
[    0.373509] pnp 00:0c: [io  0x0084-0x0086]
[    0.373513] pnp 00:0c: [io  0x0088]
[    0.373517] pnp 00:0c: [io  0x008c-0x008e]
[    0.373522] pnp 00:0c: [io  0x0090-0x009f]
[    0.373526] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.373531] pnp 00:0c: [io  0x00b1]
[    0.373535] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.373539] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.373544] pnp 00:0c: [io  0x0550-0x0551]
[    0.373548] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.373553] pnp 00:0c: [io  0x040b]
[    0.373557] pnp 00:0c: [io  0x04d6]
[    0.373561] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.373565] pnp 00:0c: [io  0x0c14]
[    0.373570] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.373574] pnp 00:0c: [io  0x0c52]
[    0.373578] pnp 00:0c: [io  0x0c6c]
[    0.373582] pnp 00:0c: [io  0x0c6f]
[    0.373586] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.373591] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.373595] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.373600] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.373604] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.373608] pnp 00:0c: [io  0x0800-0x089f]
[    0.373613] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.373619] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.373623] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.373627] pnp 00:0c: [io  0x0900-0x090f]
[    0.373632] pnp 00:0c: [io  0x0910-0x091f]
[    0.373636] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.373641] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.373646] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.373651] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.373659] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.373770] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.373777] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.373783] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.373788] system 00:0c: [io  0x040b] has been reserved
[    0.373794] system 00:0c: [io  0x04d6] has been reserved
[    0.373799] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.373805] system 00:0c: [io  0x0c14] has been reserved
[    0.373811] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.373817] system 00:0c: [io  0x0c52] has been reserved
[    0.373822] system 00:0c: [io  0x0c6c] has been reserved
[    0.373827] system 00:0c: [io  0x0c6f] has been reserved
[    0.373833] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.373839] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.373845] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.373850] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.373856] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.373865] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.373871] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.373877] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.373883] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.373889] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.373895] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.373902] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.373908] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.373915] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.374487] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.374493] xen: registering gsi 4 triggering 1 polarity 0
[    0.374498] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.374503] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.374519] pnp 00:0d: [irq 4]
[    0.374524] pnp 00:0d: [dma 0 disabled]
[    0.374648] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.375186] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.375191] xen: registering gsi 3 triggering 1 polarity 0
[    0.375197] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.375201] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.375206] Already setup the GSI :3
[    0.375211] pnp 00:0e: [irq 3]
[    0.375215] pnp 00:0e: [dma 0 disabled]
[    0.375334] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.375508] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.375590] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.375598] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.376526] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.376532] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.376537] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.376542] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.376551] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.376650] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.376656] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.376663] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.376669] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.376676] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.376683] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.377012] pnp: PnP ACPI: found 17 devices
[    0.377017] ACPI: ACPI bus type pnp unregistered
[    0.384322] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.384348] PCI: max bus depth: 1 pci_try_num: 2
[    0.384387] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.384394] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.384404] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.384419] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.384425] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.384435] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.384449] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.384464] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.384474] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.384497] xen: registering gsi 17 triggering 0 polarity 1
[    0.384517] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.384532] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.384542] pci 0000:00:09.0: setting latency timer to 64
[    0.384553] xen: registering gsi 18 triggering 0 polarity 1
[    0.384563] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.384576] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.384584] pci 0000:00:0a.0: setting latency timer to 64
[    0.384600] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.384606] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.384611] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.384617] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.384622] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.384628] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.384634] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.384640] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.384646] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.384652] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.384658] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.384664] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.384670] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.384676] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.384681] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.384687] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.384745] NET: Registered protocol family 2
[    0.386858] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.392197] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.395428] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.395775] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.395782] TCP reno registered
[    0.395912] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.396171] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.396454] NET: Registered protocol family 1
[    0.396513] xen: registering gsi 16 triggering 0 polarity 1
[    0.396535] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.396556] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.124169] pci 0000:00:12.0: PCI INT A disabled
[    1.124201] xen: registering gsi 16 triggering 0 polarity 1
[    1.124216] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.124221] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.124226] Already setup the GSI :16
[    1.124233] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.208174] pci 0000:00:12.1: PCI INT A disabled
[    1.208207] xen: registering gsi 17 triggering 0 polarity 1
[    1.208220] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.208225] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.208231] Already setup the GSI :17
[    1.208237] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.208370] pci 0000:00:12.2: PCI INT B disabled
[    1.208386] xen: registering gsi 18 triggering 0 polarity 1
[    1.208392] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.208397] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.208401] Already setup the GSI :18
[    1.208406] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.292207] pci 0000:00:13.0: PCI INT A disabled
[    1.292238] xen: registering gsi 18 triggering 0 polarity 1
[    1.292251] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.292256] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.292262] Already setup the GSI :18
[    1.292267] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.376173] pci 0000:00:13.1: PCI INT A disabled
[    1.376207] xen: registering gsi 19 triggering 0 polarity 1
[    1.376234] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.376252] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.376388] pci 0000:00:13.2: PCI INT B disabled
[    1.376414] xen: registering gsi 18 triggering 0 polarity 1
[    1.376419] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.376424] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.376429] Already setup the GSI :18
[    1.376433] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.460176] pci 0000:00:14.5: PCI INT C disabled
[    1.460263] pci 0000:01:04.0: Boot video device
[    1.460271] PCI: CLS 64 bytes, default 64
[    1.461342] audit: initializing netlink socket (disabled)
[    1.461361] type=3D2000 audit(1335964562.601:1): initialized
[    1.489601] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.491852] VFS: Disk quotas dquot_6.5.2
[    1.491932] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.492683] fuse init (API version 7.17)
[    1.492825] msgmni has been set to 1479
[    1.493529] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.493586] io scheduler noop registered
[    1.493591] io scheduler deadline registered
[    1.493633] io scheduler cfq registered (default)
[    1.494114] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.494148] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.494341] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.494351] ACPI: Power Button [PWRB]
[    1.494412] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.494420] ACPI: Power Button [PWRF]
[    1.676958] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.677083] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.677259] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.677679] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.681442] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.800115] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.820418] hpet_acpi_add: no address or irqs in _CRS
[    1.820439] Linux agpgart interface v0.103
[    1.824231] brd: module loaded
[    1.825115] loop: module loaded
[    1.825527] ahci 0000:00:11.0: version 3.0
[    1.825555] xen: registering gsi 22 triggering 0 polarity 1
[    1.825578] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.825596] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.825826] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.825836] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.826774] scsi0 : ahci
[    1.826926] scsi1 : ahci
[    1.827024] scsi2 : ahci
[    1.827120] scsi3 : ahci
[    1.827224] scsi4 : ahci
[    1.827320] scsi5 : ahci
[    1.828266] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.828274] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.828281] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.828288] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.828295] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.828303] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.828836] Fixed MDIO Bus: probed
[    1.828864] tun: Universal TUN/TAP device driver, 1.6
[    1.828870] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.828931] PPP generic driver version 2.4.2
[    1.829048] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.829138] xen: registering gsi 17 triggering 0 polarity 1
[    1.829148] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.829153] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.829158] Already setup the GSI :17
[    1.829164] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.829198] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.829284] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.829301] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.829398] ehci_hcd 0000:00:12.2: debug port 1
[    1.829447] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.840124] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.840320] hub 1-0:1.0: USB hub found
[    1.840328] hub 1-0:1.0: 6 ports detected
[    1.840513] xen: registering gsi 19 triggering 0 polarity 1
[    1.840521] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.840526] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.840531] Already setup the GSI :19
[    1.840536] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.840570] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.840647] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.840663] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.840755] ehci_hcd 0000:00:13.2: debug port 1
[    1.840808] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.852099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.852310] hub 2-0:1.0: USB hub found
[    1.852317] hub 2-0:1.0: 6 ports detected
[    1.852441] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.852530] xen: registering gsi 16 triggering 0 polarity 1
[    1.852538] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.852543] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.852548] Already setup the GSI :16
[    1.852553] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.852587] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.852654] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.852724] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.912279] hub 3-0:1.0: USB hub found
[    1.912294] hub 3-0:1.0: 3 ports detected
[    1.912446] xen: registering gsi 16 triggering 0 polarity 1
[    1.912454] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.912459] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.912463] Already setup the GSI :16
[    1.912469] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.912504] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.912572] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.912614] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    1.972294] hub 4-0:1.0: USB hub found
[    1.972308] hub 4-0:1.0: 3 ports detected
[    1.972473] xen: registering gsi 18 triggering 0 polarity 1
[    1.972481] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.972486] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.972490] Already setup the GSI :18
[    1.972496] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.972524] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    1.972593] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    1.972660] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.032273] hub 5-0:1.0: USB hub found
[    2.032287] hub 5-0:1.0: 3 ports detected
[    2.032436] xen: registering gsi 18 triggering 0 polarity 1
[    2.032443] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.032448] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.032453] Already setup the GSI :18
[    2.032458] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.032493] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.032565] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.032604] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.092304] hub 6-0:1.0: USB hub found
[    2.092318] hub 6-0:1.0: 3 ports detected
[    2.092475] xen: registering gsi 18 triggering 0 polarity 1
[    2.092483] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.092487] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.092492] Already setup the GSI :18
[    2.092497] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.092532] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.092605] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.092656] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.148125] ata5: SATA link down (SStatus 0 SControl 300)
[    2.152407] hub 7-0:1.0: USB hub found
[    2.152421] hub 7-0:1.0: 2 ports detected
[    2.152520] uhci_hcd: USB Universal Host Controller Interface driver
[    2.152616] usbcore: registered new interface driver libusual
[    2.152672] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.155612] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.155624] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.155785] mousedev: PS/2 mouse device common for all mice
[    2.155992] rtc_cmos 00:04: RTC can wake from S4
[    2.156199] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.156254] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.156356] device-mapper: uevent: version 1.0.3
[    2.156451] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.156463] EFI Variables Facility v0.08 2004-May-17
[    2.156791] TCP cubic registered
[    2.156956] NET: Registered protocol family 10
[    2.157654] NET: Registered protocol family 17
[    2.157678] Registering the dns_resolver key type
[    2.157881] PM: Hibernation image not present or could not be loaded.
[    2.157899] registered taskstats version 1
[    2.164100] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.175372]   Magic number: 12:240:280
[    2.175417] tty tty17: hash matches
[    2.175565] rtc_cmos 00:04: setting system clock to 2012-05-02 13:16:0=
3 UTC (1335964563)
[    2.175696] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.175793] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.175798] EDD information not available.
[    2.188032] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.302043] Initializing USB Mass Storage driver...
[    2.302431] scsi6 : usb-storage 2-2:1.0
[    2.302547] usbcore: registered new interface driver usb-storage
[    2.302553] USB Mass Storage support registered.
[    2.320117] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320155] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320193] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320223] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.320254] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.320786] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.321220] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321227] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321248] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321256] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321275] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321282] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321435] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.321443] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.321598] ata6.00: configured for UDMA/100
[    2.322467] ata4.00: configured for UDMA/133
[    2.322500] ata1.00: configured for UDMA/133
[    2.322651] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.322825] ata2.00: configured for UDMA/133
[    2.322871] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.322885] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.322945] ata3.00: configured for UDMA/133
[    2.322997] sd 0:0:0:0: [sda] Write Protect is off
[    2.323004] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.323071] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.323104] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.323340] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.323393] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.323539] sd 1:0:0:0: [sdb] Write Protect is off
[    2.323545] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.323586] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.323648] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.323877] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.323920] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.324039] sd 2:0:0:0: [sdc] Write Protect is off
[    2.324046] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.324102] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.324171] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.324392] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.324411] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.324510] sd 3:0:0:0: [sdd] Write Protect is off
[    2.324517] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.324557] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.325174] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.328738] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.328747] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.328923] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.329015] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.337560]  sdb: sdb1 sdb2
[    2.337987] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.338935]  sdd: unknown partition table
[    2.339234] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.341070]  sdc: unknown partition table
[    2.341349] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.444044]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.445275] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.445944] Freeing unused kernel memory: 920k freed
[    2.446270] Write protecting the kernel read-only data: 12288k
[    2.453350] Freeing unused kernel memory: 1520k freed
[    2.454493] Freeing unused kernel memory: 1140k freed
[    2.520146] udevd[165]: starting version 175
[    2.603325] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.603337] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.603495] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.603528] xen: registering gsi 17 triggering 0 polarity 1
[    2.603541] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.603549] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.603591] Already setup the GSI :17
[    2.603598] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.603631] e1000e 0000:03:00.0: setting latency timer to 64
[    2.676127] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.714484] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.714493] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.714578] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.714808] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.714834] xen: registering gsi 18 triggering 0 polarity 1
[    2.714846] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.714852] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.714857] Already setup the GSI :18
[    2.714863] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.714895] e1000e 0000:02:00.0: setting latency timer to 64
[    2.829330] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.829339] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.829437] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.854463] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.854692] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.858390] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.858585] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.858611] usbcore: registered new interface driver usbhid
[    2.858616] usbhid: USB HID core driver
[    3.301039] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.301664] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.302434] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.303153] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.304656] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.304975] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.305358] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.305921] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.310865] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.311491] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    3.312213] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.314371] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    8.935827] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.783346] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.783361] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.812254] udevd[719]: starting version 175
[   15.924609] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.940804] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.941886] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.942029] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.944124] MCE: In-kernel MCE decoding enabled.
[   15.945779] EDAC MC: Ver: 2.1.0
[   15.947575] lp: driver loaded but no devices found
[   15.951215] AMD64 EDAC driver v3.4.0
[   15.952459] Bridge firewalling registered
[   15.953066] type=3D1400 audit(1335964577.273:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D825 comm=3D"appar=
mor_parser"
[   15.953754] type=3D1400 audit(1335964577.273:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D825 comm=3D"apparmor_parser"
[   15.953834] EDAC amd64: DRAM ECC enabled.
[   15.953905] EDAC amd64: F10h detected (node 0).
[   15.953981] EDAC MC: DCT0 chip selects:
[   15.953986] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.953989] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.953992] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.953995] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.953997] EDAC MC: DCT1 chip selects:
[   15.954000] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.954003] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.954006] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.954009] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.954012] EDAC amd64: using x8 syndromes.
[   15.954014] EDAC amd64: MCT channel count: 2
[   15.954064] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.954068] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.954073] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.954077] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.954164] type=3D1400 audit(1335964577.273:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D825 comm=3D"apparmor_parser"
[   15.954191] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.957544] ipmi message handler version 39.2
[   15.958325] ipmi device interface
[   15.961741] EDAC amd64: DRAM ECC enabled.
[   15.961751] EDAC amd64: F10h detected (node 1).
[   15.961831] EDAC MC: DCT0 chip selects:
[   15.961835] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.961838] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.961841] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.961844] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.961847] EDAC MC: DCT1 chip selects:
[   15.961850] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.961853] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.961856] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.961859] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.961862] EDAC amd64: using x8 syndromes.
[   15.961865] EDAC amd64: MCT channel count: 2
[   15.961904] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.961908] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.961911] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.961914] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.961988] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.962103] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.963866] IPMI System Interface driver.
[   15.963946] ipmi_si: probing via SMBIOS
[   15.963950] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.963954] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.963965] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.964506] device-mapper: multipath: version 1.3.0 loaded
[   15.981254] device eth0 entered promiscuous mode
[   16.036101] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   16.043255] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   16.043367] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.085117] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   16.177926] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   16.179422] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.187558] ADDRCONF(NETDEV_UP): br0: link is not ready
[   17.107889] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.362235] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   19.157089] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   19.159695] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.159833] br0: port 1(eth0) entering forwarding state
[   19.159851] br0: port 1(eth0) entering forwarding state
[   19.162058] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   19.505855] init: udev-fallback-graphics main process (1834) terminate=
d with status 1
[   19.658903] init: failsafe main process (1723) killed by TERM signal
[   19.770924] type=3D1400 audit(1335964581.089:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1932 comm=3D"apparmor_parser"
[   19.771034] type=3D1400 audit(1335964581.089:6): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1933 comm=3D"=
apparmor_parser"
[   19.771113] type=3D1400 audit(1335964581.089:7): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1930 comm=3D"a=
pparmor_parser"
[   19.771751] type=3D1400 audit(1335964581.089:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1930 comm=3D"apparmor_parser"
[   19.772152] type=3D1400 audit(1335964581.093:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1930 comm=3D"apparmor_parser"
[   19.772188] type=3D1400 audit(1335964581.093:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1934 c=
omm=3D"apparmor_parser"
[   19.772544] type=3D1400 audit(1335964581.093:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1934 comm=3D"apparmor_parser"
[   20.049999] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   20.271564] ip_tables: (C) 2000-2006 Netfilter Core Team
[   20.373030] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   20.424289] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   20.654948] Event-channel device installed.
[   20.718822] XENBUS: Unable to read cpu state
[   20.719070] XENBUS: Unable to read cpu state
[   20.719271] XENBUS: Unable to read cpu state
[   20.719477] XENBUS: Unable to read cpu state
[   20.719666] XENBUS: Unable to read cpu state
[   20.719810] XENBUS: Unable to read cpu state
[   20.719955] XENBUS: Unable to read cpu state
[   20.720132] XENBUS: Unable to read cpu state
[   21.183395] Ebtables v2.0 registered
[   21.213618] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.236526] br0: no IPv6 routers present
[  245.817700]=20
[  245.817701] **** Context Switch from TID 0 to TID 49125104 ****
[  245.817703]=20
[  245.817707] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.817718]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.817727]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.817737]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.817746]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.817754]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.817763]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.817772]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.817781]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.817791]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.817801]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.817819] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.817827]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.817836]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.817845] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P001] (ffff880027d50e88)
[  245.817855] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.817863]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.817878] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.817887] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.817895]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50e88
[  245.817904]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.817913] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P001 (ffff880027d50e88) For [_PSD] (Untyped)
[  245.817923]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.817931]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.817940] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d438 found in scope [P001] ffff880027d50e88=

[  245.817950] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.817958] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.817967] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.817975]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.817984]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.817993]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.818002]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.818010]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.818019] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d438
[  245.818028] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d709d8
[  245.818037]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d438] Value ffff880027d709d8
[  245.818046]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.818054]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.818063]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.818072]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.818081]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.818090]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.818108]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.818116] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.818124] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d438
[  245.818132] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d709d8
[  245.818141]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.818149]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.818157] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d438 SourceDesc=3Dffff880027d709d8 [Package]
[  245.818167]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d709d8
[  245.818175]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.818184] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d709d8
[  245.818193] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d709d8 Current Refs=3D1 [To Be Incremented]
[  245.818202] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d709d8
[  245.818211]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250c7f30
[  245.818224]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.818233]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818241]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818249] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d709d8 Refs=3D2, [Incremented]
[  245.818258]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818266]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.818274]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818282]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818290]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250c7f78
[  245.818298]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.818307]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818315]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818322]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff880027d716c0
[  245.818331]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.818339]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818347]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818354]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff880027d71a68
[  245.818363]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.818371]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818379]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818386]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d0000
[  245.818395]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.818403]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818411]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818419]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d0048
[  245.818427]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.818435]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.818443]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.818451] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250c7f30 Refs=3D2, [Incremented]
[  245.818459]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818467]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.818475]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818483]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818491] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d0048 Refs=3D2, [Incremented]
[  245.818499]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818507]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.818515]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818523]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818531] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d0000 Refs=3D2, [Incremented]
[  245.818539]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818547]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.818555]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818563]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818571] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d71a68 Refs=3D2, [Incremented]
[  245.818580]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818587]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.818596]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818603]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818611] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d716c0 Refs=3D2, [Incremented]
[  245.818620]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.818628]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.818636]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.818644]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.818651] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250c7f78 Refs=3D2, [Incremented]
[  245.818660] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.818668] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.818676] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.818684]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.818692]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.818701]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.818710]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.818718]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d709d8 [Package]
[  245.818728]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d438
[  245.818736]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.818746] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P001._PSD Validating return Package of Type 5, Count 1
[  245.818757]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.818766]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.818775] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d709d8
[  245.818783]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.818791]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  245.818799]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.818808]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.818816]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.818823]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250c7f30
[  245.818832]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.818840] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250c7f78
[  245.818848] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818856] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff880027d716c0
[  245.818864] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818872] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff880027d71a68
[  245.818881] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818889] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d0000
[  245.818897] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818905] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d0048
[  245.818913] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.818921]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.818929]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.818936]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.818944]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.818952]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.818960]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.818968]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.818976]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.818984]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.818992] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.819001]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.819009]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.819017]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.819025]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  245.819033]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.819042]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.819050]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.819057]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250c7f30
[  245.819066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.819074]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819082]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819090]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819098]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819106]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819113]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819122]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819129]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819137]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.819145]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.819153]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.819161]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.819169]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.819176]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.819185]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.819192]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.819200]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.819208]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.819216]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.819224]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.819232]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.819241]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.819249]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.819258]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.819267]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.819284]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.819292] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d709d8
[  245.819300] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d709d8 Current Refs=3D2 [To Be Decremented]
[  245.819310] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d709d8
[  245.819318]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250c7f30
[  245.819326]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.819334]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819342]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819350] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d709d8 Refs=3D1, [Decremented]
[  245.819359]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819367]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.819375]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819383]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819390]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250c7f78
[  245.819399]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.819407]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819415]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819423]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff880027d716c0
[  245.819431]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.819439]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819447]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819455]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff880027d71a68
[  245.819463]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.819471]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819479]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819487]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d0000
[  245.819495]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.819503]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819511]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819519]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d0048
[  245.819527]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.819535]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.819543]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.819551] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250c7f30 Refs=3D1, [Decremented]
[  245.819559]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819567]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.819575]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819583]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819591] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d0048 Refs=3D1, [Decremented]
[  245.819599]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819607]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.819615]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819623]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819631] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d0000 Refs=3D1, [Decremented]
[  245.819640]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819647]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.819656]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819663]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819671] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71a68 Refs=3D1, [Decremented]
[  245.819680]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819687]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.819696]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819703]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819711] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d716c0 Refs=3D1, [Decremented]
[  245.819720]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.819728]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.819736]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.819744]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.819751] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250c7f78 Refs=3D1, [Decremented]
[  245.819760] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.819768] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.819776]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.819784]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.819793]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.819802]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.819810] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.819820] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.819828]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.819836]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.819844]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.819852]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.819860]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.819868]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.819876]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.819884]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.819894]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.819903]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.819920] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.819927]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.819935]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.819944] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P002] (ffff880027d50eb0)
[  245.819953] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.819961]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.819975] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.819983] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.819991]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50eb0
[  245.819999]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.820007] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P002 (ffff880027d50eb0) For [_PSD] (Untyped)
[  245.820017]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.820025]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.820033] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d500 found in scope [P002] ffff880027d50eb0=

[  245.820043] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.820072] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.820081] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.820089]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.820098]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.820111]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.820129]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.820148]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.820167] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d500
[  245.820189] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70b40
[  245.820211]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d500] Value ffff880027d70b40
[  245.820232]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.820249]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.820265]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.820283]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.820306]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.820326]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.820361]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.820381] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.820400] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d500
[  245.820419] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70b40
[  245.820436]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.820455]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.820472] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d500 SourceDesc=3Dffff880027d70b40 [Package]
[  245.820492]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70b40
[  245.820508]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.820525] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70b40
[  245.820543] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70b40 Current Refs=3D1 [To Be Incremented]
[  245.820562] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70b40
[  245.820582]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1d38
[  245.820598]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.820619]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820637]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820651] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70b40 Refs=3D2, [Incremented]
[  245.820671]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.820693]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.820710]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.820730]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.820751]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1d80
[  245.820769]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.820785]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820807]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820824]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1dc8
[  245.820841]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.820861]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820878]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820896]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1e10
[  245.820911]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.820928]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.820943]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.820960]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1e58
[  245.820981]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.820997]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.821019]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.821036]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d1ea0
[  245.821056]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.821075]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.821094]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.821112] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1d38 Refs=3D2, [Incremented]
[  245.821125]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821133]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.821141]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821149]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821161] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1ea0 Refs=3D2, [Incremented]
[  245.821169]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821177]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.821186]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821194]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821202] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1e58 Refs=3D2, [Incremented]
[  245.821211]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821219]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.821227]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821236]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821243] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1e10 Refs=3D2, [Incremented]
[  245.821252]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821260]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.821269]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821277]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821285] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1dc8 Refs=3D2, [Incremented]
[  245.821294]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.821302]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.821310]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.821318]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.821326] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d1d80 Refs=3D2, [Incremented]
[  245.821335] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.821344] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.821352] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.821363]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.821379]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.821399]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.821417]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.821436]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70b40 [Package]
[  245.821456]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d500
[  245.821476]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.821498] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P002._PSD Validating return Package of Type 5, Count 1
[  245.821519]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.821539]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.821556] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70b40
[  245.821575]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.821593]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  245.821611]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.821630]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.821647]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.821667]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d1d38
[  245.821686]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.821705] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1d80
[  245.821725] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821745] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1dc8
[  245.821763] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821780] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1e10
[  245.821798] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821815] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1e58
[  245.821832] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821851] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d1ea0
[  245.821867] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.821883]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.821898]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.821916]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.821938]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.821957]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.821974]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.821991]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.822011]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.822030]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.822047] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.822067]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.822085]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.822104]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.822120]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  245.822138]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.822153]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.822173]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.822190]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d1d38
[  245.822209]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.822228]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822247]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822264]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822282]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822297]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822312]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822331]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822349]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822368]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.822382]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.822391]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.822399]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.822407]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.822415]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.822423]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.822432]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.822440]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.822448]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.822456]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.822465]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.822473]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.822482]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.822490]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.822499]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.822509]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.822526]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.822539] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70b40
[  245.822560] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70b40 Current Refs=3D2 [To Be Decremented]
[  245.822579] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70b40
[  245.822598]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1d38
[  245.822615]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.822633]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822647]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822666] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70b40 Refs=3D1, [Decremented]
[  245.822686]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.822704]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.822725]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.822743]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.822762]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1d80
[  245.822782]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.822799]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822820]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822840]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1dc8
[  245.822856]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.822874]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822892]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822911]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1e10
[  245.822927]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.822943]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.822960]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.822978]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1e58
[  245.822996]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.823014]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.823029]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.823046]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d1ea0
[  245.823065]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.823085]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.823106]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.823124] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1d38 Refs=3D1, [Decremented]
[  245.823144]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823161]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.823178]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823195]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823215] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1ea0 Refs=3D1, [Decremented]
[  245.823233]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823253]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.823270]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823285]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823302] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1e58 Refs=3D1, [Decremented]
[  245.823321]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823341]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.823359]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823379]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823397] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1e10 Refs=3D1, [Decremented]
[  245.823418]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823437]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.823455]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823470]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823487] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1dc8 Refs=3D1, [Decremented]
[  245.823509]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.823531]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.823549]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.823567]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.823575] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d1d80 Refs=3D1, [Decremented]
[  245.823585] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.823593] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.823601]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.823609]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.823619]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.823628]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.823636] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.823645] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.823653]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.823662]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.823672]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.823680]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.823688]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.823697]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.823705]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.823713]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.823723]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.823732]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.823764] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.823786]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.823806]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.823825] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P003] (ffff880027d50ed8)
[  245.823846] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.823866]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.823904] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.823918] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.823935]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50ed8
[  245.823953]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.823973] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P003 (ffff880027d50ed8) For [_PSD] (Untyped)
[  245.823992]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824011]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824027] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d5c8 found in scope [P003] ffff880027d50ed8=

[  245.824047] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d5c8
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70ca8
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d5c8] Value ffff880027d70ca8
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d5c8
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70ca8
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d5c8 SourceDesc=3Dffff880027d70ca8 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70ca8
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70ca8
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70ca8 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70ca8
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70ca8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d4d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70ca8 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d5c8
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P003._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70ca8
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70ca8
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70ca8 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70ca8
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70ca8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P004] (ffff880027d50f00)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f00
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P004 (ffff880027d50f00) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d690 found in scope [P004] ffff880027d50f00=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d690
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70e10
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d690] Value ffff880027d70e10
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d690
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70e10
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d690 SourceDesc=3Dffff880027d70e10 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70e10
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70e10
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70e10 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70e10
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d6d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70e10 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d690
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P004._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70e10
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70e10
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70e10 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70e10
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P005] (ffff880027d50f28)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f28
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P005 (ffff880027d50f28) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d758 found in scope [P005] ffff880027d50f28=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d758
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70f78
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d758] Value ffff880027d70f78
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d758
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d70f78
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d758 SourceDesc=3Dffff880027d70f78 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d70f78
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d70f78
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d70f78 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d70f78
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d70f78 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d8ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d8d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70f78 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d758
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P005._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70f78
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d8ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70f78
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d70f78 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70f78
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70f78 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d8ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d8d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P006] (ffff880027d50f50)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f50
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P006 (ffff880027d50f50) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d820 found in scope [P006] ffff880027d50f50=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d820
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d710d8
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d820] Value ffff880027d710d8
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d820
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d710d8
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d820 SourceDesc=3Dffff880027d710d8 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d710d8
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d710d8
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d710d8 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d710d8
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d710d8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9d38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9ea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9e58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9e10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9dc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250d9d80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d710d8 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d820
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P006._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d710d8
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9d80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9dc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9ea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d710d8
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d710d8 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d710d8
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d710d8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9ea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9dc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  245.824066] nsxfeval-0181 [49125104] [4294967293] evaluate_object     =
  : ----Entry
[  245.824066]   nseval-0090 [49125104] [4294967294] ns_evaluate         =
  : ----Entry
[  245.824066]  nsutils-0707 [49125104] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  245.824066]  nsutils-0391 [49125104] [00] ns_internalize_name   : ----=
Entry
[  245.824066]  nsutils-0280 [49125104] [01] ns_build_internal_name: ----=
Entry
[  245.824066]  nsutils-0363 [49125104] [01] ns_build_internal_name: Retu=
rning [ffff880002e0dfc0] (rel) "_PSD"
[  245.824066]  nsutils-0366 [49125104] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  245.824066]  nsutils-0419 [49125104] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Namespace]
[  245.824066] nsaccess-0301 [49125104] [00] ns_lookup             : ----=
Entry
[  245.824066]  nsutils-0663 [49125104] [01] ns_opens_scope        : ----=
Entry Processor
[  245.824066]  nsutils-0673 [49125104] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  245.824066] nsaccess-0398 [49125104] [00] ns_lookup             : Sear=
ching relative to prefix scope [P007] (ffff880027d50f78)
[  245.824066] nsaccess-0510 [49125104] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  245.824066]   nsdump-0087 [49125104] [00] ns_print_pathname     : [_PS=
D]
[  245.824066] nssearch-0297 [49125104] [01] ns_search_and_enter   : ----=
Entry
[  245.824066] nssearch-0102 [49125104] [02] ns_search_one_scope   : ----=
Entry
[  245.824066]  nsnames-0139 [49125104] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f78
[  245.824066]  nsnames-0164 [49125104] [03] ns_get_external_pathna: ----=
Exit- ffff880002e4eae0
[  245.824066] nssearch-0114 [49125104] [02] ns_search_one_scope   : Sear=
ching \_PR_.P007 (ffff880027d50f78) For [_PSD] (Untyped)
[  245.824066]  nsutils-0150 [49125104] [03] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] nssearch-0149 [49125104] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d8e8 found in scope [P007] ffff880027d50f78=

[  245.824066] nssearch-0152 [49125104] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  245.824066] nssearch-0349 [49125104] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  245.824066] nsaccess-0670 [49125104] [00] ns_lookup             : ----=
Exit- AE_OK
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Namespace]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  245.824066]  nsutils-0750 [49125104] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066] nsobject-0266 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d8e8
[  245.824066] nsobject-0281 [49125104] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d71288
[  245.824066]   nseval-0127 [49125104] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d8e8] Value ffff880027d71288
[  245.824066]  nsutils-0150 [49125104] [4294967295] ns_get_type         =
  : ----Entry
[  245.824066]  nsutils-0157 [49125104] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  245.824066]  exutils-0091 [49125104] [4294967295] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967295] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967295] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  245.824066] exresnte-0089 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  245.824066] nsobject-0266 [49125104] [00] ns_get_attached_object: ----=
Entry ffff880027d6d8e8
[  245.824066] nsobject-0281 [49125104] [00] ns_get_attached_object: ----=
Exit- ffff880027d71288
[  245.824066]  nsutils-0150 [49125104] [00] ns_get_type           : ----=
Entry
[  245.824066]  nsutils-0157 [49125104] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  245.824066] exresnte-0101 [49125104] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d8e8 SourceDesc=3Dffff880027d71288 [Package]
[  245.824066]   dsargs-0318 [49125104] [00] ds_get_package_argumen: ----=
Entry ffff880027d71288
[  245.824066]   dsargs-0321 [49125104] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  245.824066] utdelete-0642 [49125104] [00] ut_add_reference      : ----=
Entry ffff880027d71288
[  245.824066] utdelete-0652 [49125104] [00] ut_add_reference      : Obj =
ffff880027d71288 Current Refs=3D1 [To Be Incremented]
[  245.824066] utdelete-0483 [49125104] [01] ut_update_object_refer: ----=
Entry ffff880027d71288
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff880027d71288 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbd80
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbdc8
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbe10
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbe58
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [02] ut_create_update_state: ----=
Entry ffff8800250dbea0
[  245.824066]  utstate-0248 [49125104] [02] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [02] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [02] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbd38 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbea0 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbe58 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbe10 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbdc8 Refs=3D2, [Incremented]
[  245.824066]  utstate-0127 [49125104] [02] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [02] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [02] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [02] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0393 [49125104] [01] ut_update_ref_count   : Obj =
ffff8800250dbd80 Refs=3D2, [Incremented]
[  245.824066] utdelete-0609 [49125104] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  245.824066] utdelete-0657 [49125104] [00] ut_add_reference      : ----=
Exit-
[  245.824066] exresnte-0277 [49125104] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  245.824066]  exutils-0151 [49125104] [4294967295] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967295] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  245.824066]   nseval-0247 [49125104] [4294967294] ns_evaluate         =
  : Returning object ffff880027d71288 [Package]
[  245.824066]  nsnames-0139 [49125104] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d8e8
[  245.824066]  nsnames-0164 [49125104] [4294967295] ns_get_external_path=
na: ----Exit- ffff880002e4eae0
[  245.824066] nspredef-0445 [49125104] [4294967294] ns_check_package    =
  : \_PR_.P007._PSD Validating return Package of Type 5, Count 1
[  245.824066]   nseval-0277 [49125104] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  245.824066]   nseval-0283 [49125104] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  245.824066] utobject-0645 [49125104] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d71288
[  245.824066]   utmisc-0941 [49125104] [4294967295] ut_walk_package_tree=
  : ----Entry
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [00] ut_create_pkg_state   : ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0287 [49125104] [00] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbd80
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbdc8
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbe10
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbe58
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066] utobject-0460 [49125104] [00] ut_get_simple_object_s: ----=
Entry ffff8800250dbea0
[  245.824066] utobject-0562 [49125104] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  245.824066] utobject-0668 [49125104] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  245.824066]   utcopy-0400 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  245.824066]   utcopy-0342 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  245.824066]   utmisc-0941 [49125104] [00] ut_walk_package_tree  : ----=
Entry
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [01] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [01] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0270 [49125104] [01] ut_create_pkg_state   : ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0287 [49125104] [01] ut_create_pkg_state   : ----=
Exit- ffff880002906050
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]   utcopy-0118 [49125104] [01] ut_copy_isimple_to_esi: ----=
Entry
[  245.824066]   utcopy-0231 [49125104] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [01] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [01] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0127 [49125104] [01] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  245.824066]   utmisc-0996 [49125104] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  245.824066]   utcopy-0377 [49125104] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  245.824066]   utcopy-0434 [49125104] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  245.824066]  exutils-0091 [49125104] [4294967294] ex_enter_interpreter=
  : ----Entry
[  245.824066]  utmutex-0261 [49125104] [4294967294] ut_acquire_mutex    =
  : Thread 49125104 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-0981 [49125104] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  245.824066]      osl-1000 [49125104] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [49125104] =
[4294967294] ut_acquire_mutex      : Thread 49125104 acquired Mutex [ACPI=
_MTX_Interpreter]
[  245.824066]  exutils-0099 [49125104] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  245.824066] utdelete-0675 [49125104] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d71288
[  245.824066] utdelete-0695 [49125104] [4294967294] ut_remove_reference =
  : Obj ffff880027d71288 Current Refs=3D2 [To Be Decremented]
[  245.824066] utdelete-0483 [49125104] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d71288
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbd38
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71288 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbd80
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906000
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbdc8
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906050
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbe10
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbe58
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066]  utstate-0233 [49125104] [00] ut_create_update_state: ----=
Entry ffff8800250dbea0
[  245.824066]  utstate-0248 [49125104] [00] ut_create_update_state: ----=
Exit- ffff880002906140
[  245.824066]  utstate-0100 [49125104] [00] ut_push_generic_state : ----=
Entry
[  245.824066]  utstate-0107 [49125104] [00] ut_push_generic_state : ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbd38 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906140
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbea0 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060f0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbe58 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff8800029060a0
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbe10 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906050
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbdc8 Refs=3D1, [Decremented]
[  245.824066]  utstate-0127 [49125104] [00] ut_pop_generic_state  : ----=
Entry
[  245.824066]  utstate-0139 [49125104] [00] ut_pop_generic_state  : ----=
Exit- ffff880002906000
[  245.824066]  utstate-0339 [49125104] [00] ut_delete_generic_stat: ----=
Entry
[  245.824066]  utstate-0346 [49125104] [00] ut_delete_generic_stat: ----=
Exit-
[  245.824066] utdelete-0409 [49125104] [4294967295] ut_update_ref_count =
  : Obj ffff8800250dbd80 Refs=3D1, [Decremented]
[  245.824066] utdelete-0609 [49125104] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  245.824066] utdelete-0703 [49125104] [4294967294] ut_remove_reference =
  : ----Exit-
[  245.824066]  exutils-0151 [49125104] [4294967294] ex_exit_interpreter =
  : ----Entry
[  245.824066]  utmutex-0304 [49125104] [4294967294] ut_release_mutex    =
  : Thread 49125104 releasing Mutex [ACPI_MTX_Interpreter]
[  245.824066]      osl-1020 [49125104] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  245.824066]  exutils-0159 [49125104] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  245.824066] nsxfeval-0358 [49125104] [4294967293] evaluate_object     =
  : ----Exit- AE_OK

--------------060902080104000706080807--

--------------enig8743CEE041A746E466A979FC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoUs4AAoJEOhnXe7L7s6jmCEP/3UXK4/2N1k6JhAQydGpfVUk
vIoOZEWxahe9ovF5WVQcp1wpz+syaqt6i7SVh/+BjzspHcjBEka3iOith1A0sd9E
N7BJFyyyVTa7VJiGsKc1eIDzEcpnbujEpapSPRDjnkU1v9ggn9z5JV+KjalXDx4j
felEcDb5nHnNXJqt0uToYOlGwQ301nMOtTCMSEz2oPkiCH3KnWo2McRAdt6ppdRX
52jElzJgDMOOFYg/ZWJHfI0EyLhNJZOf1u9/VYuyd8ZEk70QUNj1a6LkxFpxw3hc
NxYPG2ElCxWSqT0P1pFFU2msgdvyoYTMTDMImFF61JCT/vY/ZXxtvyfNpd1c8pUZ
JAn0vbVn7bO2IsOahwUnsxFXPiYdwG9vbjnYtHw5hGYwZpxLHfLNTZolPlhyNeV+
8duSBLlcA/RDSEWTv1XxGQ4e5ZQKWF8c7sBkRacTfjgF+QhE9WA2lMfOkPkNzwO5
oaEPjuKfyyelNzi+I3vSC5+UGfQ3jeAVWPRuATysIsg2m4m7/gYseXg0ahcoifV2
E75IHAD5lWp9gAnxDB+2aClqrnhNLRj0jMt/BHO4mzcRbQJnIgYMZJwO2Siph5Mv
6z1b5sxioRUu8G/Nf2O8xTy/Fo4FHnzxBRz9go2nSOhgFZ2LQwUxT6LrJt4JnDtz
58hs1bzZaDKj63NLFdOn
=fxD4
-----END PGP SIGNATURE-----

--------------enig8743CEE041A746E466A979FC--


--===============8154349337432514550==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8154349337432514550==--


From xen-devel-bounces@lists.xen.org Wed May 02 15:01:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPb3Y-0007lD-5z; Wed, 02 May 2012 15:01:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPb3V-0007l3-NW
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:01:26 +0000
Received: from [193.109.254.147:32130] by server-8.bemta-14.messagelabs.com id
	A5/C2-23244-54C41AF4; Wed, 02 May 2012 15:01:25 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1335970864!7276618!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14845 invoked from network); 2 May 2012 15:01:05 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-2.tower-27.messagelabs.com with SMTP;
	2 May 2012 15:01:05 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPb38-0003xy-Qh; Wed, 02 May 2012 15:01:03 +0000
Message-ID: <4FA14C2C.5030104@canonical.com>
Date: Wed, 02 May 2012 17:01:00 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>	<20120426155033.GE26830@phenom.dumpdata.com>	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
In-Reply-To: <4FA06541.7050607@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6456103616454136699=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6456103616454136699==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig72814478D7B52B9E326357CB"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig72814478D7B52B9E326357CB
Content-Type: multipart/mixed;
 boundary="------------020809070207090105090201"

This is a multi-part message in MIME format.
--------------020809070207090105090201
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 00:35, Boris Ostrovsky wrote:
> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>> Since there have been requests about that driver to get backported =
into 3.2, I
>>>>> was interested to find out what or how much would be gained by that=
=2E
>>>>>
>>>>> The first system I tried was an AMD based one (8 core Opteron 6128@=
2GHz).
>>>>> Which
>>>>> was not very successful as the drivers bail out of the init functio=
n
>>>>> because the
>>>>> first call to acpi_processor_register_performance() returns -ENODEV=
=2E There is
>>>>> some frequency scaling when running without Xen, so I need to do so=
me more
>>>>> debugging there.
>=20
> I believe this is caused by the somewhat under-enlightened xen_apic_rea=
d():
>=20
> static u32 xen_apic_read(u32 reg)
> {
>         return 0;
> }
>=20
> This results in some data, most importantly boot_cpu_physical_apicid, n=
ot being
> set correctly and, in turn, causes x86_cpu_to_apicid to be broken.
>=20
> On larger AMD systems boot processor is typically APICID=3D0x20 (I don'=
t have
> Intel system handy to see how it looks there).
>=20
> As a quick and dirty test you can try:
>=20
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index edc2448..1f78998 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long =
address)
>         }
>         if (boot_cpu_physical_apicid =3D=3D -1U) {
>                 boot_cpu_physical_apicid  =3D read_apic_id();
> +               boot_cpu_physical_apicid =3D 32;
>                 apic_version[boot_cpu_physical_apicid] =3D
>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>         }
>=20
>=20
> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
>=20

Indeed, when I hack the above id to be 0x10 (as my dmesg tells) most of t=
he BIOS
bug messages are gone and the xen-acpi-processor driver successfully load=
s and
seems to be switching frequencies ok (just a quick tight loop which made =
one cpu
go from P4 to P0).

-Stefan


--------------020809070207090105090201
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.3"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.3"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (smb@gomeisa) (gcc version =
4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg2 SMP Wed May 2 13:46:26=
 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg2-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 0/0x10, fixing up to 0=
x10
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.194 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.38 BogoMIPS (lpj=3D8000776)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.008042] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.017234] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019934] Mount-cache hash table entries: 256
[    0.020139] Initializing cgroup subsys cpuacct
[    0.020151] Initializing cgroup subsys memory
[    0.020169] Initializing cgroup subsys devices
[    0.020175] Initializing cgroup subsys freezer
[    0.020181] Initializing cgroup subsys blkio
[    0.020197] Initializing cgroup subsys perf_event
[    0.020269] tseg: 00dff00000
[    0.020276] CPU: Physical Processor ID: 0
[    0.020281] CPU: Processor Core ID: 0
[    0.023239] ACPI: Core revision 20110623
[    0.039296] ftrace: allocating 27102 entries in 107 pages
[    0.040130] cpu 0 spinlock event irq 273
[    0.040230] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040496] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040627] installing Xen timer for CPU 1
[    0.040646] cpu 1 spinlock event irq 279
[    0.040849] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040971] installing Xen timer for CPU 2
[    0.040989] cpu 2 spinlock event irq 285
[    0.041147] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041260] installing Xen timer for CPU 3
[    0.041275] cpu 3 spinlock event irq 291
[    0.041438] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041555] installing Xen timer for CPU 4
[    0.041570] cpu 4 spinlock event irq 297
[    0.041750] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041875] installing Xen timer for CPU 5
[    0.041891] cpu 5 spinlock event irq 303
[    0.042052] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042166] installing Xen timer for CPU 6
[    0.042183] cpu 6 spinlock event irq 309
[    0.042338] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042455] installing Xen timer for CPU 7
[    0.042470] cpu 7 spinlock event irq 315
[    0.042631] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042664] Brought up 8 CPUs
[    0.042893] devtmpfs: initialized
[    0.045288] EVM: security.selinux
[    0.045292] EVM: security.SMACK64
[    0.045296] EVM: security.capability
[    0.045372] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045372] Grant table initialized
[    0.045372] print_constraints: dummy:=20
[    0.045372] RTC time: 14:45:52, date: 05/02/12
[    0.045372] NET: Registered protocol family 16
[    0.045372] Trying to unpack rootfs image as initramfs...
[    0.060269] node 0 link 0: io port [1000, ffffff]
[    0.060283] TOM: 00000000e0000000 aka 3584M
[    0.060290] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060301] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060309] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060317] node 0 link 0: mmio [a0000, bffff]
[    0.060325] TOM2: 0000000820000000 aka 33280M
[    0.060330] bus: [00, 1f] on node 0 link 0
[    0.060335] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060340] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060345] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060350] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060374] Extended Config Space enabled on 2 nodes
[    0.060542] ACPI: bus type pci registered
[    0.060651] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060660] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.180907] Freeing initrd memory: 40072k freed
[    0.219808] PCI: Using configuration type 1 for base access
[    0.221344] bio: create slab <bio-0> at 0
[    0.221344] ACPI: Added _OSI(Module Device)
[    0.221344] ACPI: Added _OSI(Processor Device)
[    0.221344] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221344] ACPI: Added _OSI(Processor Aggregator Device)
[    0.225715] ACPI: EC: Look up EC in DSDT
[    0.230192] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253658] ACPI: Interpreter enabled
[    0.253667] ACPI: (supports S0 S1 S4 S5)
[    0.253712] ACPI: Using IOAPIC for interrupt routing
[    0.267237] ACPI: No dock devices found.
[    0.267301] HEST: Table parsing has been initialized.
[    0.267309] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267617] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268211] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268218] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268224] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268230] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268237] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268279] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268473] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268677] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268795] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268804] pci 0000:00:09.0: PME# disabled
[    0.268845] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.268962] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.268970] pci 0000:00:0a.0: PME# disabled
[    0.269065] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269102] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269125] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269145] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269165] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269185] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269205] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269314] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269341] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269465] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269492] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269625] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269663] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269821] pci 0000:00:12.2: supports D1 D2
[    0.269826] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269836] pci 0000:00:12.2: PME# disabled
[    0.269875] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269902] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.270026] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270053] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270190] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270228] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270418] pci 0000:00:13.2: supports D1 D2
[    0.270423] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270432] pci 0000:00:13.2: PME# disabled
[    0.270477] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270668] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270812] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270893] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270921] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.271063] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271193] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271254] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271322] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271412] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271526] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271644] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271707] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271806] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271900] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272016] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272016] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272016] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272031] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272042] pci 0000:03:00.0: PME# disabled
[    0.280056] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280069] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280079] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280203] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280237] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280282] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280307] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280487] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280499] pci 0000:02:00.0: PME# disabled
[    0.288054] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288068] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288077] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288143] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288182] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288205] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288228] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288436] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288451] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288461] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288467] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288473] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288480] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288487] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288493] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288541] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288954] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289027] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289138] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289344]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289352]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289358] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307234] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307382] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307517] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.307650] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.307782] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.307924] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308030] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308163] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308239] xen/balloon: Initialising balloon driver.
[    0.351878] xen-balloon: Initialising balloon driver.
[    0.351910] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.352081] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.352089] vgaarb: loaded
[    0.352092] vgaarb: bridge control possible 0000:01:04.0
[    0.352233] i2c-core: driver [aat2870] using legacy suspend method
[    0.352239] i2c-core: driver [aat2870] using legacy resume method
[    0.352360] SCSI subsystem initialized
[    0.352432] libata version 3.00 loaded.
[    0.352432] usbcore: registered new interface driver usbfs
[    0.352432] usbcore: registered new interface driver hub
[    0.352432] usbcore: registered new device driver usb
[    0.352432] PCI: Using ACPI for IRQ routing
[    0.356021] PCI: pci_cache_line_size set to 64 bytes
[    0.356021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.356021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.356021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.356114] NetLabel: Initializing
[    0.356119] NetLabel:  domain hash size =3D 128
[    0.356123] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.356140] NetLabel:  unlabeled traffic allowed by default
[    0.356221] Switching to clocksource xen
[    0.365468] AppArmor: AppArmor Filesystem Enabled
[    0.365506] pnp: PnP ACPI init
[    0.365528] ACPI: bus type pnp registered
[    0.365887] pnp 00:00: [bus 00-ff]
[    0.365893] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.365898] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.365903] pnp 00:00: [io  0x0d00-0xffff window]
[    0.365908] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.365913] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.365919] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.365924] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.366046] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.366320] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366327] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366410] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.366622] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.366683] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.366690] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.367338] pnp 00:03: [dma 4]
[    0.367343] pnp 00:03: [io  0x0000-0x000f]
[    0.367347] pnp 00:03: [io  0x0081-0x0083]
[    0.367352] pnp 00:03: [io  0x0087]
[    0.367356] pnp 00:03: [io  0x0089-0x008b]
[    0.367361] pnp 00:03: [io  0x008f]
[    0.367365] pnp 00:03: [io  0x00c0-0x00df]
[    0.367422] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.367449] pnp 00:04: [io  0x0070-0x0071]
[    0.367457] xen: registering gsi 8 triggering 1 polarity 0
[    0.367466] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.367471] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.367490] pnp 00:04: [irq 8]
[    0.367547] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.367616] pnp 00:05: [io  0x0060]
[    0.367621] pnp 00:05: [io  0x0064]
[    0.367625] xen: registering gsi 1 triggering 1 polarity 0
[    0.367631] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.367636] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.367652] pnp 00:05: [irq 1]
[    0.367708] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.367822] xen: registering gsi 12 triggering 1 polarity 0
[    0.367829] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.367833] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.367847] pnp 00:06: [irq 12]
[    0.367907] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.367928] pnp 00:07: [io  0x0061]
[    0.368018] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.368039] pnp 00:08: [io  0x00f0-0x00ff]
[    0.368044] xen: registering gsi 13 triggering 1 polarity 0
[    0.368051] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.368056] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.368081] pnp 00:08: [irq 13]
[    0.368137] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.368338] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368344] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368350] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.368433] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.368440] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.368533] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.368595] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.368897] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.368902] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.368985] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.368992] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.368999] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.369529] pnp 00:0c: [io  0x0010-0x001f]
[    0.369534] pnp 00:0c: [io  0x0022-0x003f]
[    0.369539] pnp 00:0c: [io  0x0062-0x0063]
[    0.369543] pnp 00:0c: [io  0x0065-0x006f]
[    0.369548] pnp 00:0c: [io  0x0072-0x007f]
[    0.369552] pnp 00:0c: [io  0x0080]
[    0.369556] pnp 00:0c: [io  0x0084-0x0086]
[    0.369561] pnp 00:0c: [io  0x0088]
[    0.369565] pnp 00:0c: [io  0x008c-0x008e]
[    0.369569] pnp 00:0c: [io  0x0090-0x009f]
[    0.369574] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.369578] pnp 00:0c: [io  0x00b1]
[    0.369582] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.369587] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.369591] pnp 00:0c: [io  0x0550-0x0551]
[    0.369596] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.369600] pnp 00:0c: [io  0x040b]
[    0.369604] pnp 00:0c: [io  0x04d6]
[    0.369608] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.369613] pnp 00:0c: [io  0x0c14]
[    0.369617] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.369621] pnp 00:0c: [io  0x0c52]
[    0.369626] pnp 00:0c: [io  0x0c6c]
[    0.369630] pnp 00:0c: [io  0x0c6f]
[    0.369634] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.369638] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.369643] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.369647] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.369652] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.369656] pnp 00:0c: [io  0x0800-0x089f]
[    0.369661] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.369666] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.369670] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.369675] pnp 00:0c: [io  0x0900-0x090f]
[    0.369679] pnp 00:0c: [io  0x0910-0x091f]
[    0.369684] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.369688] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.369693] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.369698] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.369706] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.369818] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.369824] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.369830] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.369836] system 00:0c: [io  0x040b] has been reserved
[    0.369842] system 00:0c: [io  0x04d6] has been reserved
[    0.369847] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.369853] system 00:0c: [io  0x0c14] has been reserved
[    0.369858] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.369864] system 00:0c: [io  0x0c52] has been reserved
[    0.369870] system 00:0c: [io  0x0c6c] has been reserved
[    0.369875] system 00:0c: [io  0x0c6f] has been reserved
[    0.369881] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.369887] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.369893] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.369898] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.369904] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.369913] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.369919] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.369925] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.369931] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.369937] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.369943] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.369950] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.369956] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.369963] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370520] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.370526] xen: registering gsi 4 triggering 1 polarity 0
[    0.370531] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.370536] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.370552] pnp 00:0d: [irq 4]
[    0.370557] pnp 00:0d: [dma 0 disabled]
[    0.370681] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371255] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.371260] xen: registering gsi 3 triggering 1 polarity 0
[    0.371266] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.371270] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.371275] Already setup the GSI :3
[    0.371279] pnp 00:0e: [irq 3]
[    0.371284] pnp 00:0e: [dma 0 disabled]
[    0.371404] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371547] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.371630] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.371637] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372610] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.372615] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.372620] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.372625] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.372635] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.372734] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.372741] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.372747] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.372753] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.372760] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.372767] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.373080] pnp: PnP ACPI: found 17 devices
[    0.373085] ACPI: ACPI bus type pnp unregistered
[    0.380388] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.380414] PCI: max bus depth: 1 pci_try_num: 2
[    0.380485] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.380492] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.380502] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.380516] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.380523] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.380533] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.380547] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.380558] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.380568] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.380592] xen: registering gsi 17 triggering 0 polarity 1
[    0.380611] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.380626] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.380636] pci 0000:00:09.0: setting latency timer to 64
[    0.380648] xen: registering gsi 18 triggering 0 polarity 1
[    0.380658] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.380670] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.380679] pci 0000:00:0a.0: setting latency timer to 64
[    0.380695] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.380700] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.380706] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380711] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380717] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380723] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.380728] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.380734] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.380740] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.380746] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.380752] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.380759] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.380764] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.380770] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380776] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380782] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380840] NET: Registered protocol family 2
[    0.382874] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.388164] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.391394] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.391772] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.391779] TCP reno registered
[    0.391903] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.392172] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.392420] NET: Registered protocol family 1
[    0.392475] xen: registering gsi 16 triggering 0 polarity 1
[    0.392498] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.392519] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.120175] pci 0000:00:12.0: PCI INT A disabled
[    1.120207] xen: registering gsi 16 triggering 0 polarity 1
[    1.120221] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.120227] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.120232] Already setup the GSI :16
[    1.120238] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.204177] pci 0000:00:12.1: PCI INT A disabled
[    1.204211] xen: registering gsi 17 triggering 0 polarity 1
[    1.204224] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.204230] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.204235] Already setup the GSI :17
[    1.204241] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.204378] pci 0000:00:12.2: PCI INT B disabled
[    1.204393] xen: registering gsi 18 triggering 0 polarity 1
[    1.204399] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.204404] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.204408] Already setup the GSI :18
[    1.204413] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.288202] pci 0000:00:13.0: PCI INT A disabled
[    1.288233] xen: registering gsi 18 triggering 0 polarity 1
[    1.288246] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.288251] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.288256] Already setup the GSI :18
[    1.288262] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.372182] pci 0000:00:13.1: PCI INT A disabled
[    1.372216] xen: registering gsi 19 triggering 0 polarity 1
[    1.372243] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.372262] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.372397] pci 0000:00:13.2: PCI INT B disabled
[    1.372424] xen: registering gsi 18 triggering 0 polarity 1
[    1.372430] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.372434] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.372439] Already setup the GSI :18
[    1.372444] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.456175] pci 0000:00:14.5: PCI INT C disabled
[    1.456261] pci 0000:01:04.0: Boot video device
[    1.456269] PCI: CLS 64 bytes, default 64
[    1.457352] audit: initializing netlink socket (disabled)
[    1.457372] type=3D2000 audit(1335969953.923:1): initialized
[    1.485603] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.487841] VFS: Disk quotas dquot_6.5.2
[    1.487923] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.488634] fuse init (API version 7.17)
[    1.488808] msgmni has been set to 1479
[    1.489519] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.489578] io scheduler noop registered
[    1.489583] io scheduler deadline registered
[    1.489627] io scheduler cfq registered (default)
[    1.490108] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.490142] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.490330] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.490341] ACPI: Power Button [PWRB]
[    1.490401] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.490409] ACPI: Power Button [PWRF]
[    1.716979] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.717094] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.717274] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.717857] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.721834] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.746263] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.852428] hpet_acpi_add: no address or irqs in _CRS
[    1.852449] Linux agpgart interface v0.103
[    1.856352] brd: module loaded
[    1.857407] loop: module loaded
[    1.857802] ahci 0000:00:11.0: version 3.0
[    1.857824] xen: registering gsi 22 triggering 0 polarity 1
[    1.857845] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.857864] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.858086] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.858095] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.859054] scsi0 : ahci
[    1.859169] scsi1 : ahci
[    1.859262] scsi2 : ahci
[    1.859362] scsi3 : ahci
[    1.859468] scsi4 : ahci
[    1.859560] scsi5 : ahci
[    1.860509] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.860517] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.860525] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.860532] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.860539] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.860546] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.861047] Fixed MDIO Bus: probed
[    1.861071] tun: Universal TUN/TAP device driver, 1.6
[    1.861076] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.861162] PPP generic driver version 2.4.2
[    1.861314] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.861402] xen: registering gsi 17 triggering 0 polarity 1
[    1.861411] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.861416] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.861420] Already setup the GSI :17
[    1.861426] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.861460] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.861523] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.861540] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.861636] ehci_hcd 0000:00:12.2: debug port 1
[    1.861720] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.872106] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.872298] hub 1-0:1.0: USB hub found
[    1.872307] hub 1-0:1.0: 6 ports detected
[    1.872556] xen: registering gsi 19 triggering 0 polarity 1
[    1.872564] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.872569] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.872574] Already setup the GSI :19
[    1.872579] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.872614] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.872700] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.872716] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.872808] ehci_hcd 0000:00:13.2: debug port 1
[    1.872857] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.884099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.884311] hub 2-0:1.0: USB hub found
[    1.884319] hub 2-0:1.0: 6 ports detected
[    1.884438] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.884590] xen: registering gsi 16 triggering 0 polarity 1
[    1.884598] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.884603] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.884608] Already setup the GSI :16
[    1.884613] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.884648] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.884743] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.884809] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.944281] hub 3-0:1.0: USB hub found
[    1.944296] hub 3-0:1.0: 3 ports detected
[    1.944511] xen: registering gsi 16 triggering 0 polarity 1
[    1.944519] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.944524] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.944528] Already setup the GSI :16
[    1.944534] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.944569] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.944667] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.944707] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    2.004294] hub 4-0:1.0: USB hub found
[    2.004308] hub 4-0:1.0: 3 ports detected
[    2.004528] xen: registering gsi 18 triggering 0 polarity 1
[    2.004535] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.004540] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.004545] Already setup the GSI :18
[    2.004550] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.004585] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    2.004671] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    2.004738] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.064268] hub 5-0:1.0: USB hub found
[    2.064282] hub 5-0:1.0: 3 ports detected
[    2.064494] xen: registering gsi 18 triggering 0 polarity 1
[    2.064502] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.064506] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.064511] Already setup the GSI :18
[    2.064516] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.064551] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.064620] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.064659] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.124279] hub 6-0:1.0: USB hub found
[    2.124293] hub 6-0:1.0: 3 ports detected
[    2.124502] xen: registering gsi 18 triggering 0 polarity 1
[    2.124509] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.124514] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.124519] Already setup the GSI :18
[    2.124524] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.124559] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.124626] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.124666] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.184191] ata5: SATA link down (SStatus 0 SControl 300)
[    2.184261] hub 7-0:1.0: USB hub found
[    2.184272] hub 7-0:1.0: 2 ports detected
[    2.184358] uhci_hcd: USB Universal Host Controller Interface driver
[    2.184440] usbcore: registered new interface driver libusual
[    2.184498] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.187405] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.187418] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.187601] mousedev: PS/2 mouse device common for all mice
[    2.187775] rtc_cmos 00:04: RTC can wake from S4
[    2.187934] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.187989] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.188106] device-mapper: uevent: version 1.0.3
[    2.188194] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.188207] EFI Variables Facility v0.08 2004-May-17
[    2.188532] TCP cubic registered
[    2.188663] NET: Registered protocol family 10
[    2.189387] NET: Registered protocol family 17
[    2.189411] Registering the dns_resolver key type
[    2.189546] PM: Hibernation image not present or could not be loaded.
[    2.189563] registered taskstats version 1
[    2.196092] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.207113]   Magic number: 12:861:787
[    2.207307] rtc_cmos 00:04: setting system clock to 2012-05-02 14:45:5=
4 UTC (1335969954)
[    2.207436] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.207544] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.207549] EDD information not available.
[    2.220637] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.334785] Initializing USB Mass Storage driver...
[    2.335007] scsi6 : usb-storage 2-2:1.0
[    2.335086] usbcore: registered new interface driver usb-storage
[    2.335092] USB Mass Storage support registered.
[    2.360141] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360175] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360201] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360225] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360250] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.360796] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.361200] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361208] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361277] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361285] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361334] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361340] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361354] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361360] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361505] ata6.00: configured for UDMA/100
[    2.362391] ata4.00: configured for UDMA/133
[    2.362421] ata2.00: configured for UDMA/133
[    2.362599] ata1.00: configured for UDMA/133
[    2.362749] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.362951] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.363055] sd 0:0:0:0: [sda] Write Protect is off
[    2.363061] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.363118] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.363162] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.363312] ata3.00: configured for UDMA/133
[    2.363439] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.363609] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.363669] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.363762] sd 1:0:0:0: [sdb] Write Protect is off
[    2.363769] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.363808] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.363950] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.364143] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.364168] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.364238] sd 2:0:0:0: [sdc] Write Protect is off
[    2.364245] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.364291] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.364333] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.364513] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.364564] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.364735] sd 3:0:0:0: [sdd] Write Protect is off
[    2.364741] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.364780] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.365239] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.368276]  sdb: sdb1 sdb2
[    2.368691] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.368760] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.368768] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.368876] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.368945] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.376384]  sdd: unknown partition table
[    2.376666] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.379373]  sdc: unknown partition table
[    2.379649] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.483103]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.484090] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.484841] Freeing unused kernel memory: 920k freed
[    2.485162] Write protecting the kernel read-only data: 12288k
[    2.492276] Freeing unused kernel memory: 1520k freed
[    2.493426] Freeing unused kernel memory: 1140k freed
[    2.559332] udevd[165]: starting version 175
[    2.620594] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.620604] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.623802] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.623832] xen: registering gsi 17 triggering 0 polarity 1
[    2.623845] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.623850] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.623856] Already setup the GSI :17
[    2.623862] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.623894] e1000e 0000:03:00.0: setting latency timer to 64
[    2.704179] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.737702] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.737713] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.737798] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.738025] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.738052] xen: registering gsi 18 triggering 0 polarity 1
[    2.738096] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.738102] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.738107] Already setup the GSI :18
[    2.738113] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.738145] e1000e 0000:02:00.0: setting latency timer to 64
[    2.853363] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.853372] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.853456] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.882463] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.882615] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.886373] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.886517] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.886542] usbcore: registered new interface driver usbhid
[    2.886547] usbhid: USB HID core driver
[    3.333153] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.333827] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.334481] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.335199] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.336131] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.336366] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.336599] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.336822] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.342133] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.346546] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.347264] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.348092] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    8.966388] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.562527] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.562539] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.593024] udevd[718]: starting version 175
[   15.695773] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.717924] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.718899] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.719044] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.723681] lp: driver loaded but no devices found
[   15.734573] ipmi message handler version 39.2
[   15.735953] ipmi device interface
[   15.739772] Bridge firewalling registered
[   15.741834] IPMI System Interface driver.
[   15.741948] ipmi_si: probing via SMBIOS
[   15.741953] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.741960] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.741973] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.751212] device-mapper: multipath: version 1.3.0 loaded
[   15.756221] device eth0 entered promiscuous mode
[   15.784153] type=3D1400 audit(1335969968.074:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D842 comm=3D"appar=
mor_parser"
[   15.784732] type=3D1400 audit(1335969968.074:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D842 comm=3D"apparmor_parser"
[   15.785117] type=3D1400 audit(1335969968.074:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D842 comm=3D"apparmor_parser"
[   15.802699] MCE: In-kernel MCE decoding enabled.
[   15.804165] EDAC MC: Ver: 2.1.0
[   15.807771] AMD64 EDAC driver v3.4.0
[   15.808823] EDAC amd64: DRAM ECC enabled.
[   15.808852] EDAC amd64: F10h detected (node 0).
[   15.808916] EDAC MC: DCT0 chip selects:
[   15.808920] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.808924] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.808927] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.808930] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.808933] EDAC MC: DCT1 chip selects:
[   15.808939] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.808942] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.808948] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.808951] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.808954] EDAC amd64: using x8 syndromes.
[   15.808960] EDAC amd64: MCT channel count: 2
[   15.809009] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.809012] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.809015] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.809018] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.809112] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.809275] EDAC amd64: DRAM ECC enabled.
[   15.809280] EDAC amd64: F10h detected (node 1).
[   15.809345] EDAC MC: DCT0 chip selects:
[   15.809349] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.809352] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.809355] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.809358] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.809360] EDAC MC: DCT1 chip selects:
[   15.809363] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.809366] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.809369] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.809372] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.809375] EDAC amd64: using x8 syndromes.
[   15.809377] EDAC amd64: MCT channel count: 2
[   15.809404] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.809407] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.809413] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.809416] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.809583] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.809909] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.842927] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.855258] ADDRCONF(NETDEV_UP): br0: link is not ready
[   15.856181] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   15.898626] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   15.899311] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.032526] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   16.123208] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.868146] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.205624] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   19.069087] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   19.071434] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.071572] br0: port 1(eth0) entering forwarding state
[   19.071587] br0: port 1(eth0) entering forwarding state
[   19.073722] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   19.861816] init: udev-fallback-graphics main process (1853) terminate=
d with status 1
[   19.990334] init: failsafe main process (1730) killed by TERM signal
[   20.102020] type=3D1400 audit(1335969972.390:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1942 comm=3D"apparmor_parser"
[   20.102328] type=3D1400 audit(1335969972.390:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1940 comm=3D"a=
pparmor_parser"
[   20.102359] type=3D1400 audit(1335969972.390:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1943 comm=3D"=
apparmor_parser"
[   20.102975] type=3D1400 audit(1335969972.390:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1940 comm=3D"apparmor_parser"
[   20.103332] type=3D1400 audit(1335969972.390:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1940 comm=3D"apparmor_parser"
[   20.103432] type=3D1400 audit(1335969972.390:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1944 c=
omm=3D"apparmor_parser"
[   20.103792] type=3D1400 audit(1335969972.390:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1944 comm=3D"apparmor_parser"
[   20.392238] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   20.626333] ip_tables: (C) 2000-2006 Netfilter Core Team
[   20.728136] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   20.779431] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   21.005464] Event-channel device installed.
[   21.069011] XENBUS: Unable to read cpu state
[   21.069219] XENBUS: Unable to read cpu state
[   21.069422] XENBUS: Unable to read cpu state
[   21.069607] XENBUS: Unable to read cpu state
[   21.069825] XENBUS: Unable to read cpu state
[   21.069962] XENBUS: Unable to read cpu state
[   21.070115] XENBUS: Unable to read cpu state
[   21.070284] XENBUS: Unable to read cpu state
[   21.940360] Ebtables v2.0 registered
[   21.974059] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.888084] br0: no IPv6 routers present
[  230.463540] xen-acpi-processor: Max ACPI ID: 16
[  230.465802] ACPI CPU1 - P-states uploaded.
[  230.465812]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465816]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465819]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465822]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465825]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465839] ACPI CPU2 - P-states uploaded.
[  230.465843]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465846]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465850]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465853]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465856]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465871] ACPI CPU3 - P-states uploaded.
[  230.465876]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465881]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465886]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465892]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465897]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465911] ACPI CPU4 - P-states uploaded.
[  230.465921]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465927]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465932]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465937]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465942]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465963] ACPI CPU5 - P-states uploaded.
[  230.465968]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465978]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465983]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465988]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465993]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466006] ACPI CPU6 - P-states uploaded.
[  230.466013]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.466018]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.466023]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.466028]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.466032]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466045] ACPI CPU7 - P-states uploaded.
[  230.466051]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.466056]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.466060]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.466065]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.466073]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466083] ACPI CPU8 - P-states uploaded.
[  230.466088]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.466093]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.466098]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.466103]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.466108]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466134] xen-acpi-processor: ACPI CPU1 w/ PBLK:0x810
[  230.466150] xen-acpi-processor: ACPI CPU2 w/ PBLK:0x0
[  230.466161] xen-acpi-processor: ACPI CPU3 w/ PBLK:0x0
[  230.466172] xen-acpi-processor: ACPI CPU4 w/ PBLK:0x0
[  230.466182] xen-acpi-processor: ACPI CPU5 w/ PBLK:0x0
[  230.466193] xen-acpi-processor: ACPI CPU6 w/ PBLK:0x0
[  230.466203] xen-acpi-processor: ACPI CPU7 w/ PBLK:0x0
[  230.466213] xen-acpi-processor: ACPI CPU8 w/ PBLK:0x0
[  230.466227] xen-acpi-processor: ACPI CPU9 w/ PBLK:0x0
[  230.466237] xen-acpi-processor: ACPI CPU10 w/ PBLK:0x0
[  230.466247] xen-acpi-processor: ACPI CPU11 w/ PBLK:0x0
[  230.466258] xen-acpi-processor: ACPI CPU12 w/ PBLK:0x0

--------------020809070207090105090201--

--------------enig72814478D7B52B9E326357CB
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoUwtAAoJEOhnXe7L7s6jIlgP/j8edSHPl/UjIYzv+MYr8AMq
+sC0ud3CvBbxQdBN5guBTV8BhSNQCLPPiAHj251D+MZa8BT3J6qbAJ5w5KMMyXn+
AyPJvdiUm5g4n4Nqj1VjXjrlsLHeIGSHYsrmiGJalyWQDXtUOnEVfKqS6d+CGZWz
qc/yPUfozlj+r3NY5IcSaWSZGIWqWa+U9Kb7eUmwz1Vuc4lKdaQyzEIApLskjpHc
pGlC/c5L0g7opAh+aJTe6Xq5avZRydKgJbK2fTHe5tRFUEFNDh7Yfx0lhl1FQ6jl
kiSXz7ddn59aNCr440HlKeXwGl9XfMX+RjIHPAmbDIM2CluSKIemNgPEYEZZMlsQ
2YDwYbztudrBZBHoBDI/E/Ii890IgVf7/W8Bb1DRVHTfbGn0DxR0A4uiRh/lKKec
k7T5akVIobaKQJhIC22HsOxeD8MpvOlfCNXjGPL36xBcNLSKTPzSuYVHHq/S/wsw
Jh+apvrVbsUpj4KnW8kB5j4TkI0awm+64ixoM/rJdrfTxolO1Pua+nvfxR598Fqa
Mz/RQsZV7WycrwGv5gYHZTcNOBEbHBgrLvdjQzaomwEiRJ009ypOSfRJ6VYiY0dw
GSTCdGAMEloUOfnqDMELJuOyDjwAgAcQIXevoZPG33s33cH5f6xMYhD6fJsP7gSZ
qjFRCv/fEyTYtLcTDFoc
=wuT/
-----END PGP SIGNATURE-----

--------------enig72814478D7B52B9E326357CB--


--===============6456103616454136699==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6456103616454136699==--


From xen-devel-bounces@lists.xen.org Wed May 02 15:01:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPb3Y-0007lD-5z; Wed, 02 May 2012 15:01:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPb3V-0007l3-NW
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:01:26 +0000
Received: from [193.109.254.147:32130] by server-8.bemta-14.messagelabs.com id
	A5/C2-23244-54C41AF4; Wed, 02 May 2012 15:01:25 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1335970864!7276618!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14845 invoked from network); 2 May 2012 15:01:05 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-2.tower-27.messagelabs.com with SMTP;
	2 May 2012 15:01:05 -0000
Received: from p5b2e3387.dip.t-dialin.net ([91.46.51.135] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPb38-0003xy-Qh; Wed, 02 May 2012 15:01:03 +0000
Message-ID: <4FA14C2C.5030104@canonical.com>
Date: Wed, 02 May 2012 17:01:00 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>	<20120426155033.GE26830@phenom.dumpdata.com>	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com>
In-Reply-To: <4FA06541.7050607@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6456103616454136699=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6456103616454136699==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig72814478D7B52B9E326357CB"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig72814478D7B52B9E326357CB
Content-Type: multipart/mixed;
 boundary="------------020809070207090105090201"

This is a multi-part message in MIME format.
--------------020809070207090105090201
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 00:35, Boris Ostrovsky wrote:
> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>> Since there have been requests about that driver to get backported =
into 3.2, I
>>>>> was interested to find out what or how much would be gained by that=
=2E
>>>>>
>>>>> The first system I tried was an AMD based one (8 core Opteron 6128@=
2GHz).
>>>>> Which
>>>>> was not very successful as the drivers bail out of the init functio=
n
>>>>> because the
>>>>> first call to acpi_processor_register_performance() returns -ENODEV=
=2E There is
>>>>> some frequency scaling when running without Xen, so I need to do so=
me more
>>>>> debugging there.
>=20
> I believe this is caused by the somewhat under-enlightened xen_apic_rea=
d():
>=20
> static u32 xen_apic_read(u32 reg)
> {
>         return 0;
> }
>=20
> This results in some data, most importantly boot_cpu_physical_apicid, n=
ot being
> set correctly and, in turn, causes x86_cpu_to_apicid to be broken.
>=20
> On larger AMD systems boot processor is typically APICID=3D0x20 (I don'=
t have
> Intel system handy to see how it looks there).
>=20
> As a quick and dirty test you can try:
>=20
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index edc2448..1f78998 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long =
address)
>         }
>         if (boot_cpu_physical_apicid =3D=3D -1U) {
>                 boot_cpu_physical_apicid  =3D read_apic_id();
> +               boot_cpu_physical_apicid =3D 32;
>                 apic_version[boot_cpu_physical_apicid] =3D
>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>         }
>=20
>=20
> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
>=20

Indeed, when I hack the above id to be 0x10 (as my dmesg tells) most of t=
he BIOS
bug messages are gone and the xen-acpi-processor driver successfully load=
s and
seems to be switching frequencies ok (just a quick tight loop which made =
one cpu
go from P4 to P0).

-Stefan


--------------020809070207090105090201
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.3"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.3"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (smb@gomeisa) (gcc version =
4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg2 SMP Wed May 2 13:46:26=
 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg2-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] BIOS bug: APIC version is 0 for CPU 0/0x10, fixing up to 0=
x10
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.194 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.38 BogoMIPS (lpj=3D8000776)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.008042] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.017234] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019934] Mount-cache hash table entries: 256
[    0.020139] Initializing cgroup subsys cpuacct
[    0.020151] Initializing cgroup subsys memory
[    0.020169] Initializing cgroup subsys devices
[    0.020175] Initializing cgroup subsys freezer
[    0.020181] Initializing cgroup subsys blkio
[    0.020197] Initializing cgroup subsys perf_event
[    0.020269] tseg: 00dff00000
[    0.020276] CPU: Physical Processor ID: 0
[    0.020281] CPU: Processor Core ID: 0
[    0.023239] ACPI: Core revision 20110623
[    0.039296] ftrace: allocating 27102 entries in 107 pages
[    0.040130] cpu 0 spinlock event irq 273
[    0.040230] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040496] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040627] installing Xen timer for CPU 1
[    0.040646] cpu 1 spinlock event irq 279
[    0.040849] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040971] installing Xen timer for CPU 2
[    0.040989] cpu 2 spinlock event irq 285
[    0.041147] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041260] installing Xen timer for CPU 3
[    0.041275] cpu 3 spinlock event irq 291
[    0.041438] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041555] installing Xen timer for CPU 4
[    0.041570] cpu 4 spinlock event irq 297
[    0.041750] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041875] installing Xen timer for CPU 5
[    0.041891] cpu 5 spinlock event irq 303
[    0.042052] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042166] installing Xen timer for CPU 6
[    0.042183] cpu 6 spinlock event irq 309
[    0.042338] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042455] installing Xen timer for CPU 7
[    0.042470] cpu 7 spinlock event irq 315
[    0.042631] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042664] Brought up 8 CPUs
[    0.042893] devtmpfs: initialized
[    0.045288] EVM: security.selinux
[    0.045292] EVM: security.SMACK64
[    0.045296] EVM: security.capability
[    0.045372] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045372] Grant table initialized
[    0.045372] print_constraints: dummy:=20
[    0.045372] RTC time: 14:45:52, date: 05/02/12
[    0.045372] NET: Registered protocol family 16
[    0.045372] Trying to unpack rootfs image as initramfs...
[    0.060269] node 0 link 0: io port [1000, ffffff]
[    0.060283] TOM: 00000000e0000000 aka 3584M
[    0.060290] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060301] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060309] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060317] node 0 link 0: mmio [a0000, bffff]
[    0.060325] TOM2: 0000000820000000 aka 33280M
[    0.060330] bus: [00, 1f] on node 0 link 0
[    0.060335] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060340] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060345] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060350] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060374] Extended Config Space enabled on 2 nodes
[    0.060542] ACPI: bus type pci registered
[    0.060651] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060660] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.180907] Freeing initrd memory: 40072k freed
[    0.219808] PCI: Using configuration type 1 for base access
[    0.221344] bio: create slab <bio-0> at 0
[    0.221344] ACPI: Added _OSI(Module Device)
[    0.221344] ACPI: Added _OSI(Processor Device)
[    0.221344] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221344] ACPI: Added _OSI(Processor Aggregator Device)
[    0.225715] ACPI: EC: Look up EC in DSDT
[    0.230192] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253658] ACPI: Interpreter enabled
[    0.253667] ACPI: (supports S0 S1 S4 S5)
[    0.253712] ACPI: Using IOAPIC for interrupt routing
[    0.267237] ACPI: No dock devices found.
[    0.267301] HEST: Table parsing has been initialized.
[    0.267309] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267617] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268211] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268218] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268224] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268230] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268237] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268279] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268473] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268677] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268795] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268804] pci 0000:00:09.0: PME# disabled
[    0.268845] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.268962] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.268970] pci 0000:00:0a.0: PME# disabled
[    0.269065] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269102] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269125] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269145] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269165] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269185] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269205] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269314] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269341] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269465] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269492] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269625] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269663] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269821] pci 0000:00:12.2: supports D1 D2
[    0.269826] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269836] pci 0000:00:12.2: PME# disabled
[    0.269875] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269902] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.270026] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270053] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270190] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270228] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270418] pci 0000:00:13.2: supports D1 D2
[    0.270423] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270432] pci 0000:00:13.2: PME# disabled
[    0.270477] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270668] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270812] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270893] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270921] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.271063] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271193] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271254] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271322] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271412] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271526] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271644] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271707] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271806] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271900] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272016] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272016] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272016] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272031] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272042] pci 0000:03:00.0: PME# disabled
[    0.280056] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280069] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280079] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280203] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280237] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280282] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280307] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280487] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280499] pci 0000:02:00.0: PME# disabled
[    0.288054] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288068] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288077] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288143] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288182] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288205] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288228] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288436] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288451] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288461] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288467] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288473] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288480] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288487] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288493] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288541] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288954] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289027] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289138] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289344]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289352]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289358] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307234] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307382] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307517] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.307650] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.307782] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.307924] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308030] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308163] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308239] xen/balloon: Initialising balloon driver.
[    0.351878] xen-balloon: Initialising balloon driver.
[    0.351910] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.352081] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.352089] vgaarb: loaded
[    0.352092] vgaarb: bridge control possible 0000:01:04.0
[    0.352233] i2c-core: driver [aat2870] using legacy suspend method
[    0.352239] i2c-core: driver [aat2870] using legacy resume method
[    0.352360] SCSI subsystem initialized
[    0.352432] libata version 3.00 loaded.
[    0.352432] usbcore: registered new interface driver usbfs
[    0.352432] usbcore: registered new interface driver hub
[    0.352432] usbcore: registered new device driver usb
[    0.352432] PCI: Using ACPI for IRQ routing
[    0.356021] PCI: pci_cache_line_size set to 64 bytes
[    0.356021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.356021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.356021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.356114] NetLabel: Initializing
[    0.356119] NetLabel:  domain hash size =3D 128
[    0.356123] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.356140] NetLabel:  unlabeled traffic allowed by default
[    0.356221] Switching to clocksource xen
[    0.365468] AppArmor: AppArmor Filesystem Enabled
[    0.365506] pnp: PnP ACPI init
[    0.365528] ACPI: bus type pnp registered
[    0.365887] pnp 00:00: [bus 00-ff]
[    0.365893] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.365898] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.365903] pnp 00:00: [io  0x0d00-0xffff window]
[    0.365908] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.365913] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.365919] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.365924] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.366046] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.366320] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366327] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366410] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.366622] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.366683] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.366690] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.367338] pnp 00:03: [dma 4]
[    0.367343] pnp 00:03: [io  0x0000-0x000f]
[    0.367347] pnp 00:03: [io  0x0081-0x0083]
[    0.367352] pnp 00:03: [io  0x0087]
[    0.367356] pnp 00:03: [io  0x0089-0x008b]
[    0.367361] pnp 00:03: [io  0x008f]
[    0.367365] pnp 00:03: [io  0x00c0-0x00df]
[    0.367422] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.367449] pnp 00:04: [io  0x0070-0x0071]
[    0.367457] xen: registering gsi 8 triggering 1 polarity 0
[    0.367466] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.367471] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.367490] pnp 00:04: [irq 8]
[    0.367547] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.367616] pnp 00:05: [io  0x0060]
[    0.367621] pnp 00:05: [io  0x0064]
[    0.367625] xen: registering gsi 1 triggering 1 polarity 0
[    0.367631] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.367636] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.367652] pnp 00:05: [irq 1]
[    0.367708] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.367822] xen: registering gsi 12 triggering 1 polarity 0
[    0.367829] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.367833] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.367847] pnp 00:06: [irq 12]
[    0.367907] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.367928] pnp 00:07: [io  0x0061]
[    0.368018] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.368039] pnp 00:08: [io  0x00f0-0x00ff]
[    0.368044] xen: registering gsi 13 triggering 1 polarity 0
[    0.368051] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.368056] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.368081] pnp 00:08: [irq 13]
[    0.368137] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.368338] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368344] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368350] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.368433] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.368440] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.368533] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.368595] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.368897] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.368902] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.368985] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.368992] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.368999] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.369529] pnp 00:0c: [io  0x0010-0x001f]
[    0.369534] pnp 00:0c: [io  0x0022-0x003f]
[    0.369539] pnp 00:0c: [io  0x0062-0x0063]
[    0.369543] pnp 00:0c: [io  0x0065-0x006f]
[    0.369548] pnp 00:0c: [io  0x0072-0x007f]
[    0.369552] pnp 00:0c: [io  0x0080]
[    0.369556] pnp 00:0c: [io  0x0084-0x0086]
[    0.369561] pnp 00:0c: [io  0x0088]
[    0.369565] pnp 00:0c: [io  0x008c-0x008e]
[    0.369569] pnp 00:0c: [io  0x0090-0x009f]
[    0.369574] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.369578] pnp 00:0c: [io  0x00b1]
[    0.369582] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.369587] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.369591] pnp 00:0c: [io  0x0550-0x0551]
[    0.369596] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.369600] pnp 00:0c: [io  0x040b]
[    0.369604] pnp 00:0c: [io  0x04d6]
[    0.369608] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.369613] pnp 00:0c: [io  0x0c14]
[    0.369617] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.369621] pnp 00:0c: [io  0x0c52]
[    0.369626] pnp 00:0c: [io  0x0c6c]
[    0.369630] pnp 00:0c: [io  0x0c6f]
[    0.369634] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.369638] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.369643] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.369647] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.369652] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.369656] pnp 00:0c: [io  0x0800-0x089f]
[    0.369661] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.369666] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.369670] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.369675] pnp 00:0c: [io  0x0900-0x090f]
[    0.369679] pnp 00:0c: [io  0x0910-0x091f]
[    0.369684] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.369688] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.369693] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.369698] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.369706] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.369818] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.369824] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.369830] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.369836] system 00:0c: [io  0x040b] has been reserved
[    0.369842] system 00:0c: [io  0x04d6] has been reserved
[    0.369847] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.369853] system 00:0c: [io  0x0c14] has been reserved
[    0.369858] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.369864] system 00:0c: [io  0x0c52] has been reserved
[    0.369870] system 00:0c: [io  0x0c6c] has been reserved
[    0.369875] system 00:0c: [io  0x0c6f] has been reserved
[    0.369881] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.369887] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.369893] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.369898] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.369904] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.369913] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.369919] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.369925] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.369931] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.369937] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.369943] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.369950] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.369956] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.369963] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370520] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.370526] xen: registering gsi 4 triggering 1 polarity 0
[    0.370531] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.370536] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.370552] pnp 00:0d: [irq 4]
[    0.370557] pnp 00:0d: [dma 0 disabled]
[    0.370681] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371255] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.371260] xen: registering gsi 3 triggering 1 polarity 0
[    0.371266] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.371270] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.371275] Already setup the GSI :3
[    0.371279] pnp 00:0e: [irq 3]
[    0.371284] pnp 00:0e: [dma 0 disabled]
[    0.371404] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371547] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.371630] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.371637] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372610] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.372615] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.372620] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.372625] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.372635] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.372734] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.372741] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.372747] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.372753] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.372760] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.372767] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.373080] pnp: PnP ACPI: found 17 devices
[    0.373085] ACPI: ACPI bus type pnp unregistered
[    0.380388] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.380414] PCI: max bus depth: 1 pci_try_num: 2
[    0.380485] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.380492] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.380502] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.380516] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.380523] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.380533] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.380547] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.380558] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.380568] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.380592] xen: registering gsi 17 triggering 0 polarity 1
[    0.380611] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.380626] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.380636] pci 0000:00:09.0: setting latency timer to 64
[    0.380648] xen: registering gsi 18 triggering 0 polarity 1
[    0.380658] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.380670] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.380679] pci 0000:00:0a.0: setting latency timer to 64
[    0.380695] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.380700] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.380706] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380711] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380717] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380723] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.380728] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.380734] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.380740] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.380746] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.380752] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.380759] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.380764] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.380770] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380776] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380782] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380840] NET: Registered protocol family 2
[    0.382874] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.388164] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.391394] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.391772] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.391779] TCP reno registered
[    0.391903] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.392172] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.392420] NET: Registered protocol family 1
[    0.392475] xen: registering gsi 16 triggering 0 polarity 1
[    0.392498] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.392519] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.120175] pci 0000:00:12.0: PCI INT A disabled
[    1.120207] xen: registering gsi 16 triggering 0 polarity 1
[    1.120221] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.120227] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.120232] Already setup the GSI :16
[    1.120238] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.204177] pci 0000:00:12.1: PCI INT A disabled
[    1.204211] xen: registering gsi 17 triggering 0 polarity 1
[    1.204224] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.204230] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.204235] Already setup the GSI :17
[    1.204241] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.204378] pci 0000:00:12.2: PCI INT B disabled
[    1.204393] xen: registering gsi 18 triggering 0 polarity 1
[    1.204399] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.204404] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.204408] Already setup the GSI :18
[    1.204413] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.288202] pci 0000:00:13.0: PCI INT A disabled
[    1.288233] xen: registering gsi 18 triggering 0 polarity 1
[    1.288246] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.288251] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.288256] Already setup the GSI :18
[    1.288262] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.372182] pci 0000:00:13.1: PCI INT A disabled
[    1.372216] xen: registering gsi 19 triggering 0 polarity 1
[    1.372243] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.372262] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.372397] pci 0000:00:13.2: PCI INT B disabled
[    1.372424] xen: registering gsi 18 triggering 0 polarity 1
[    1.372430] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.372434] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.372439] Already setup the GSI :18
[    1.372444] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.456175] pci 0000:00:14.5: PCI INT C disabled
[    1.456261] pci 0000:01:04.0: Boot video device
[    1.456269] PCI: CLS 64 bytes, default 64
[    1.457352] audit: initializing netlink socket (disabled)
[    1.457372] type=3D2000 audit(1335969953.923:1): initialized
[    1.485603] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.487841] VFS: Disk quotas dquot_6.5.2
[    1.487923] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.488634] fuse init (API version 7.17)
[    1.488808] msgmni has been set to 1479
[    1.489519] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.489578] io scheduler noop registered
[    1.489583] io scheduler deadline registered
[    1.489627] io scheduler cfq registered (default)
[    1.490108] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.490142] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.490330] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.490341] ACPI: Power Button [PWRB]
[    1.490401] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.490409] ACPI: Power Button [PWRF]
[    1.716979] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.717094] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.717274] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.717857] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.721834] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.746263] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.852428] hpet_acpi_add: no address or irqs in _CRS
[    1.852449] Linux agpgart interface v0.103
[    1.856352] brd: module loaded
[    1.857407] loop: module loaded
[    1.857802] ahci 0000:00:11.0: version 3.0
[    1.857824] xen: registering gsi 22 triggering 0 polarity 1
[    1.857845] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.857864] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.858086] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.858095] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.859054] scsi0 : ahci
[    1.859169] scsi1 : ahci
[    1.859262] scsi2 : ahci
[    1.859362] scsi3 : ahci
[    1.859468] scsi4 : ahci
[    1.859560] scsi5 : ahci
[    1.860509] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.860517] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.860525] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.860532] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.860539] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.860546] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.861047] Fixed MDIO Bus: probed
[    1.861071] tun: Universal TUN/TAP device driver, 1.6
[    1.861076] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.861162] PPP generic driver version 2.4.2
[    1.861314] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.861402] xen: registering gsi 17 triggering 0 polarity 1
[    1.861411] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.861416] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.861420] Already setup the GSI :17
[    1.861426] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.861460] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.861523] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.861540] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.861636] ehci_hcd 0000:00:12.2: debug port 1
[    1.861720] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.872106] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.872298] hub 1-0:1.0: USB hub found
[    1.872307] hub 1-0:1.0: 6 ports detected
[    1.872556] xen: registering gsi 19 triggering 0 polarity 1
[    1.872564] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.872569] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.872574] Already setup the GSI :19
[    1.872579] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.872614] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.872700] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.872716] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.872808] ehci_hcd 0000:00:13.2: debug port 1
[    1.872857] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.884099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.884311] hub 2-0:1.0: USB hub found
[    1.884319] hub 2-0:1.0: 6 ports detected
[    1.884438] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.884590] xen: registering gsi 16 triggering 0 polarity 1
[    1.884598] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.884603] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.884608] Already setup the GSI :16
[    1.884613] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.884648] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.884743] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.884809] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.944281] hub 3-0:1.0: USB hub found
[    1.944296] hub 3-0:1.0: 3 ports detected
[    1.944511] xen: registering gsi 16 triggering 0 polarity 1
[    1.944519] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.944524] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.944528] Already setup the GSI :16
[    1.944534] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.944569] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.944667] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.944707] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    2.004294] hub 4-0:1.0: USB hub found
[    2.004308] hub 4-0:1.0: 3 ports detected
[    2.004528] xen: registering gsi 18 triggering 0 polarity 1
[    2.004535] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.004540] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.004545] Already setup the GSI :18
[    2.004550] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.004585] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    2.004671] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    2.004738] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.064268] hub 5-0:1.0: USB hub found
[    2.064282] hub 5-0:1.0: 3 ports detected
[    2.064494] xen: registering gsi 18 triggering 0 polarity 1
[    2.064502] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.064506] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.064511] Already setup the GSI :18
[    2.064516] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.064551] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.064620] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.064659] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.124279] hub 6-0:1.0: USB hub found
[    2.124293] hub 6-0:1.0: 3 ports detected
[    2.124502] xen: registering gsi 18 triggering 0 polarity 1
[    2.124509] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.124514] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.124519] Already setup the GSI :18
[    2.124524] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.124559] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.124626] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.124666] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.184191] ata5: SATA link down (SStatus 0 SControl 300)
[    2.184261] hub 7-0:1.0: USB hub found
[    2.184272] hub 7-0:1.0: 2 ports detected
[    2.184358] uhci_hcd: USB Universal Host Controller Interface driver
[    2.184440] usbcore: registered new interface driver libusual
[    2.184498] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.187405] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.187418] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.187601] mousedev: PS/2 mouse device common for all mice
[    2.187775] rtc_cmos 00:04: RTC can wake from S4
[    2.187934] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.187989] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.188106] device-mapper: uevent: version 1.0.3
[    2.188194] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.188207] EFI Variables Facility v0.08 2004-May-17
[    2.188532] TCP cubic registered
[    2.188663] NET: Registered protocol family 10
[    2.189387] NET: Registered protocol family 17
[    2.189411] Registering the dns_resolver key type
[    2.189546] PM: Hibernation image not present or could not be loaded.
[    2.189563] registered taskstats version 1
[    2.196092] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.207113]   Magic number: 12:861:787
[    2.207307] rtc_cmos 00:04: setting system clock to 2012-05-02 14:45:5=
4 UTC (1335969954)
[    2.207436] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.207544] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.207549] EDD information not available.
[    2.220637] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.334785] Initializing USB Mass Storage driver...
[    2.335007] scsi6 : usb-storage 2-2:1.0
[    2.335086] usbcore: registered new interface driver usb-storage
[    2.335092] USB Mass Storage support registered.
[    2.360141] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360175] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360201] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360225] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.360250] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.360796] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.361200] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361208] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361277] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361285] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361334] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361340] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361354] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361360] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.361505] ata6.00: configured for UDMA/100
[    2.362391] ata4.00: configured for UDMA/133
[    2.362421] ata2.00: configured for UDMA/133
[    2.362599] ata1.00: configured for UDMA/133
[    2.362749] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.362951] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.363055] sd 0:0:0:0: [sda] Write Protect is off
[    2.363061] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.363118] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.363162] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.363312] ata3.00: configured for UDMA/133
[    2.363439] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.363609] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.363669] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.363762] sd 1:0:0:0: [sdb] Write Protect is off
[    2.363769] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.363808] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.363950] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.364143] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.364168] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.364238] sd 2:0:0:0: [sdc] Write Protect is off
[    2.364245] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.364291] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.364333] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.364513] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.364564] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.364735] sd 3:0:0:0: [sdd] Write Protect is off
[    2.364741] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.364780] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.365239] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.368276]  sdb: sdb1 sdb2
[    2.368691] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.368760] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.368768] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.368876] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.368945] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.376384]  sdd: unknown partition table
[    2.376666] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.379373]  sdc: unknown partition table
[    2.379649] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.483103]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.484090] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.484841] Freeing unused kernel memory: 920k freed
[    2.485162] Write protecting the kernel read-only data: 12288k
[    2.492276] Freeing unused kernel memory: 1520k freed
[    2.493426] Freeing unused kernel memory: 1140k freed
[    2.559332] udevd[165]: starting version 175
[    2.620594] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.620604] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.623802] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.623832] xen: registering gsi 17 triggering 0 polarity 1
[    2.623845] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.623850] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.623856] Already setup the GSI :17
[    2.623862] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.623894] e1000e 0000:03:00.0: setting latency timer to 64
[    2.704179] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.737702] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.737713] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.737798] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.738025] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.738052] xen: registering gsi 18 triggering 0 polarity 1
[    2.738096] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.738102] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.738107] Already setup the GSI :18
[    2.738113] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.738145] e1000e 0000:02:00.0: setting latency timer to 64
[    2.853363] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.853372] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.853456] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.882463] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.882615] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.886373] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.886517] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.886542] usbcore: registered new interface driver usbhid
[    2.886547] usbhid: USB HID core driver
[    3.333153] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.333827] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.334481] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.335199] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.336131] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.336366] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.336599] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.336822] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.342133] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.346546] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.347264] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.348092] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    8.966388] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.562527] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.562539] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.593024] udevd[718]: starting version 175
[   15.695773] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.717924] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.718899] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.719044] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.723681] lp: driver loaded but no devices found
[   15.734573] ipmi message handler version 39.2
[   15.735953] ipmi device interface
[   15.739772] Bridge firewalling registered
[   15.741834] IPMI System Interface driver.
[   15.741948] ipmi_si: probing via SMBIOS
[   15.741953] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.741960] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.741973] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.751212] device-mapper: multipath: version 1.3.0 loaded
[   15.756221] device eth0 entered promiscuous mode
[   15.784153] type=3D1400 audit(1335969968.074:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D842 comm=3D"appar=
mor_parser"
[   15.784732] type=3D1400 audit(1335969968.074:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D842 comm=3D"apparmor_parser"
[   15.785117] type=3D1400 audit(1335969968.074:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D842 comm=3D"apparmor_parser"
[   15.802699] MCE: In-kernel MCE decoding enabled.
[   15.804165] EDAC MC: Ver: 2.1.0
[   15.807771] AMD64 EDAC driver v3.4.0
[   15.808823] EDAC amd64: DRAM ECC enabled.
[   15.808852] EDAC amd64: F10h detected (node 0).
[   15.808916] EDAC MC: DCT0 chip selects:
[   15.808920] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.808924] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.808927] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.808930] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.808933] EDAC MC: DCT1 chip selects:
[   15.808939] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.808942] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.808948] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.808951] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.808954] EDAC amd64: using x8 syndromes.
[   15.808960] EDAC amd64: MCT channel count: 2
[   15.809009] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.809012] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.809015] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.809018] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.809112] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.809275] EDAC amd64: DRAM ECC enabled.
[   15.809280] EDAC amd64: F10h detected (node 1).
[   15.809345] EDAC MC: DCT0 chip selects:
[   15.809349] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.809352] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.809355] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.809358] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.809360] EDAC MC: DCT1 chip selects:
[   15.809363] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.809366] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.809369] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.809372] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.809375] EDAC amd64: using x8 syndromes.
[   15.809377] EDAC amd64: MCT channel count: 2
[   15.809404] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.809407] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.809413] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.809416] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.809583] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.809909] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.842927] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.855258] ADDRCONF(NETDEV_UP): br0: link is not ready
[   15.856181] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   15.898626] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   15.899311] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.032526] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   16.123208] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.868146] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.205624] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   19.069087] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   19.071434] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.071572] br0: port 1(eth0) entering forwarding state
[   19.071587] br0: port 1(eth0) entering forwarding state
[   19.073722] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   19.861816] init: udev-fallback-graphics main process (1853) terminate=
d with status 1
[   19.990334] init: failsafe main process (1730) killed by TERM signal
[   20.102020] type=3D1400 audit(1335969972.390:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1942 comm=3D"apparmor_parser"
[   20.102328] type=3D1400 audit(1335969972.390:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1940 comm=3D"a=
pparmor_parser"
[   20.102359] type=3D1400 audit(1335969972.390:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1943 comm=3D"=
apparmor_parser"
[   20.102975] type=3D1400 audit(1335969972.390:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1940 comm=3D"apparmor_parser"
[   20.103332] type=3D1400 audit(1335969972.390:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1940 comm=3D"apparmor_parser"
[   20.103432] type=3D1400 audit(1335969972.390:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1944 c=
omm=3D"apparmor_parser"
[   20.103792] type=3D1400 audit(1335969972.390:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1944 comm=3D"apparmor_parser"
[   20.392238] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   20.626333] ip_tables: (C) 2000-2006 Netfilter Core Team
[   20.728136] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   20.779431] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   21.005464] Event-channel device installed.
[   21.069011] XENBUS: Unable to read cpu state
[   21.069219] XENBUS: Unable to read cpu state
[   21.069422] XENBUS: Unable to read cpu state
[   21.069607] XENBUS: Unable to read cpu state
[   21.069825] XENBUS: Unable to read cpu state
[   21.069962] XENBUS: Unable to read cpu state
[   21.070115] XENBUS: Unable to read cpu state
[   21.070284] XENBUS: Unable to read cpu state
[   21.940360] Ebtables v2.0 registered
[   21.974059] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.888084] br0: no IPv6 routers present
[  230.463540] xen-acpi-processor: Max ACPI ID: 16
[  230.465802] ACPI CPU1 - P-states uploaded.
[  230.465812]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465816]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465819]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465822]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465825]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465839] ACPI CPU2 - P-states uploaded.
[  230.465843]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465846]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465850]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465853]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465856]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465871] ACPI CPU3 - P-states uploaded.
[  230.465876]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465881]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465886]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465892]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465897]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465911] ACPI CPU4 - P-states uploaded.
[  230.465921]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465927]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465932]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465937]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465942]       P4: 800 MHz, 4777 mW, 4 uS
[  230.465963] ACPI CPU5 - P-states uploaded.
[  230.465968]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.465978]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.465983]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.465988]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.465993]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466006] ACPI CPU6 - P-states uploaded.
[  230.466013]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.466018]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.466023]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.466028]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.466032]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466045] ACPI CPU7 - P-states uploaded.
[  230.466051]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.466056]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.466060]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.466065]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.466073]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466083] ACPI CPU8 - P-states uploaded.
[  230.466088]      *P0: 2000 MHz, 10580 mW, 4 uS
[  230.466093]       P1: 1500 MHz, 8265 mW, 4 uS
[  230.466098]       P2: 1200 MHz, 6825 mW, 4 uS
[  230.466103]       P3: 1000 MHz, 5600 mW, 4 uS
[  230.466108]       P4: 800 MHz, 4777 mW, 4 uS
[  230.466134] xen-acpi-processor: ACPI CPU1 w/ PBLK:0x810
[  230.466150] xen-acpi-processor: ACPI CPU2 w/ PBLK:0x0
[  230.466161] xen-acpi-processor: ACPI CPU3 w/ PBLK:0x0
[  230.466172] xen-acpi-processor: ACPI CPU4 w/ PBLK:0x0
[  230.466182] xen-acpi-processor: ACPI CPU5 w/ PBLK:0x0
[  230.466193] xen-acpi-processor: ACPI CPU6 w/ PBLK:0x0
[  230.466203] xen-acpi-processor: ACPI CPU7 w/ PBLK:0x0
[  230.466213] xen-acpi-processor: ACPI CPU8 w/ PBLK:0x0
[  230.466227] xen-acpi-processor: ACPI CPU9 w/ PBLK:0x0
[  230.466237] xen-acpi-processor: ACPI CPU10 w/ PBLK:0x0
[  230.466247] xen-acpi-processor: ACPI CPU11 w/ PBLK:0x0
[  230.466258] xen-acpi-processor: ACPI CPU12 w/ PBLK:0x0

--------------020809070207090105090201--

--------------enig72814478D7B52B9E326357CB
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoUwtAAoJEOhnXe7L7s6jIlgP/j8edSHPl/UjIYzv+MYr8AMq
+sC0ud3CvBbxQdBN5guBTV8BhSNQCLPPiAHj251D+MZa8BT3J6qbAJ5w5KMMyXn+
AyPJvdiUm5g4n4Nqj1VjXjrlsLHeIGSHYsrmiGJalyWQDXtUOnEVfKqS6d+CGZWz
qc/yPUfozlj+r3NY5IcSaWSZGIWqWa+U9Kb7eUmwz1Vuc4lKdaQyzEIApLskjpHc
pGlC/c5L0g7opAh+aJTe6Xq5avZRydKgJbK2fTHe5tRFUEFNDh7Yfx0lhl1FQ6jl
kiSXz7ddn59aNCr440HlKeXwGl9XfMX+RjIHPAmbDIM2CluSKIemNgPEYEZZMlsQ
2YDwYbztudrBZBHoBDI/E/Ii890IgVf7/W8Bb1DRVHTfbGn0DxR0A4uiRh/lKKec
k7T5akVIobaKQJhIC22HsOxeD8MpvOlfCNXjGPL36xBcNLSKTPzSuYVHHq/S/wsw
Jh+apvrVbsUpj4KnW8kB5j4TkI0awm+64ixoM/rJdrfTxolO1Pua+nvfxR598Fqa
Mz/RQsZV7WycrwGv5gYHZTcNOBEbHBgrLvdjQzaomwEiRJ009ypOSfRJ6VYiY0dw
GSTCdGAMEloUOfnqDMELJuOyDjwAgAcQIXevoZPG33s33cH5f6xMYhD6fJsP7gSZ
qjFRCv/fEyTYtLcTDFoc
=wuT/
-----END PGP SIGNATURE-----

--------------enig72814478D7B52B9E326357CB--


--===============6456103616454136699==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6456103616454136699==--


From xen-devel-bounces@lists.xen.org Wed May 02 15:03:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPb4s-0007rV-1T; Wed, 02 May 2012 15:02:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPb4r-0007rG-19
	for xen-devel@lists.xen.org; Wed, 02 May 2012 15:02:49 +0000
Received: from [193.109.254.147:61079] by server-5.bemta-14.messagelabs.com id
	A0/06-30733-89C41AF4; Wed, 02 May 2012 15:02:48 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335970967!476347!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4810 invoked from network); 2 May 2012 15:02:47 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-27.messagelabs.com with SMTP;
	2 May 2012 15:02:47 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77551064; Wed, 02 May 2012 17:02:46 +0200
Message-ID: <1335970965.2961.51.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 02 May 2012 17:02:45 +0200
In-Reply-To: <1335272011.4347.108.camel@zakaz.uk.xensource.com>
References: <1335272011.4347.108.camel@zakaz.uk.xensource.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 Release Plan / TODO
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2882401088892209699=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2882401088892209699==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-20KBDmv7Ssxa/nnVbDr6"


--=-20KBDmv7Ssxa/nnVbDr6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-04-24 at 13:53 +0100, Ian Campbell wrote:=20
> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
>=20
> The time line is as follows:
>=20
> 19 March        -- TODO list locked down
> 2 April         -- Feature Freeze
> 						<< WE ARE HERE
>
I'm guessing we're still here and hence I'm proposing the following.

> The updated TODO list follows. Per the release plan a strong case will
> now have to be made as to why new items should be added to the list,
> especially as a blocker, rather than deferred to 4.3.
>=20
As it is probably known and has been repeatedly stated in various
threads, xm/xend has some kind of NUMA placement policy when a new guest
is being created. On the opposite hand, xl/libxl does absolutely
nothing, and that looks like an issue for the xl-xend feature parity
we're aiming at.

What xend basically does is trying to figure out where to put a guest
(according to some heuristics) and it then pins its vcpus there. The
NUMA series I posted also introduces some placement heuristics into xl,
and I can easily take the scheduling/affinity modification apart and do
pin vcpus basing on the outcome of the heuristics, just like xend.

Yes, I noticed this for the first time way earlier than now, but it's
only now that it came to my mind that this could be quite a serious
feature parity issue, and that I can (try to!) fix with a reasonably
small effort.

Therefore, I'm officially proposing to add "automatic NUMA placement and
vcpu pinning in xl" here below:

> tools, blockers:
> ...=20
> * xl compatibility with xm:
>               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
>                 reported by Fabio Fantoni in
>                 <4F9672DD.2080902@tiscali.it>
>               * [BUG] does not honour scheduler weight params, reported
>                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
>                 Dieter has posted a patch.
                * does not automatically try to select a (set of)=20
                  node(s) on which to create a VM and pin its vcpus
                  there.

The strong case I'm making is that not having this is a regression wrt
default xend behaviour, and it could upset and break stuff for people
expecting the toolstack tacking care about NUMA, at least in some rough
way (which btw is what xend is doing).

I'm not far from having the patches so, if the proposal is accepted, I
can post them next week, I'm quite sure.

Thoughts?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-20KBDmv7Ssxa/nnVbDr6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+hTJUACgkQk4XaBE3IOsS/xwCeOVHWpKdbOkCcCPSZds0mzsZq
fVwAoKF9dak6B9s2iK/JgEFGG8kRCZYf
=FN6c
-----END PGP SIGNATURE-----

--=-20KBDmv7Ssxa/nnVbDr6--



--===============2882401088892209699==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2882401088892209699==--



From xen-devel-bounces@lists.xen.org Wed May 02 15:03:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPb4s-0007rV-1T; Wed, 02 May 2012 15:02:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPb4r-0007rG-19
	for xen-devel@lists.xen.org; Wed, 02 May 2012 15:02:49 +0000
Received: from [193.109.254.147:61079] by server-5.bemta-14.messagelabs.com id
	A0/06-30733-89C41AF4; Wed, 02 May 2012 15:02:48 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335970967!476347!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4810 invoked from network); 2 May 2012 15:02:47 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-27.messagelabs.com with SMTP;
	2 May 2012 15:02:47 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77551064; Wed, 02 May 2012 17:02:46 +0200
Message-ID: <1335970965.2961.51.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 02 May 2012 17:02:45 +0200
In-Reply-To: <1335272011.4347.108.camel@zakaz.uk.xensource.com>
References: <1335272011.4347.108.camel@zakaz.uk.xensource.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 Release Plan / TODO
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2882401088892209699=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2882401088892209699==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-20KBDmv7Ssxa/nnVbDr6"


--=-20KBDmv7Ssxa/nnVbDr6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-04-24 at 13:53 +0100, Ian Campbell wrote:=20
> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
>=20
> The time line is as follows:
>=20
> 19 March        -- TODO list locked down
> 2 April         -- Feature Freeze
> 						<< WE ARE HERE
>
I'm guessing we're still here and hence I'm proposing the following.

> The updated TODO list follows. Per the release plan a strong case will
> now have to be made as to why new items should be added to the list,
> especially as a blocker, rather than deferred to 4.3.
>=20
As it is probably known and has been repeatedly stated in various
threads, xm/xend has some kind of NUMA placement policy when a new guest
is being created. On the opposite hand, xl/libxl does absolutely
nothing, and that looks like an issue for the xl-xend feature parity
we're aiming at.

What xend basically does is trying to figure out where to put a guest
(according to some heuristics) and it then pins its vcpus there. The
NUMA series I posted also introduces some placement heuristics into xl,
and I can easily take the scheduling/affinity modification apart and do
pin vcpus basing on the outcome of the heuristics, just like xend.

Yes, I noticed this for the first time way earlier than now, but it's
only now that it came to my mind that this could be quite a serious
feature parity issue, and that I can (try to!) fix with a reasonably
small effort.

Therefore, I'm officially proposing to add "automatic NUMA placement and
vcpu pinning in xl" here below:

> tools, blockers:
> ...=20
> * xl compatibility with xm:
>               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
>                 reported by Fabio Fantoni in
>                 <4F9672DD.2080902@tiscali.it>
>               * [BUG] does not honour scheduler weight params, reported
>                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
>                 Dieter has posted a patch.
                * does not automatically try to select a (set of)=20
                  node(s) on which to create a VM and pin its vcpus
                  there.

The strong case I'm making is that not having this is a regression wrt
default xend behaviour, and it could upset and break stuff for people
expecting the toolstack tacking care about NUMA, at least in some rough
way (which btw is what xend is doing).

I'm not far from having the patches so, if the proposal is accepted, I
can post them next week, I'm quite sure.

Thoughts?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-20KBDmv7Ssxa/nnVbDr6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+hTJUACgkQk4XaBE3IOsS/xwCeOVHWpKdbOkCcCPSZds0mzsZq
fVwAoKF9dak6B9s2iK/JgEFGG8kRCZYf
=FN6c
-----END PGP SIGNATURE-----

--=-20KBDmv7Ssxa/nnVbDr6--



--===============2882401088892209699==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2882401088892209699==--



From xen-devel-bounces@lists.xen.org Wed May 02 15:13:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:13:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbEf-0008A0-9F; Wed, 02 May 2012 15:12:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPbEd-00089v-91
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:12:55 +0000
Received: from [85.158.139.83:22061] by server-9.bemta-5.messagelabs.com id
	D3/AF-09826-6FE41AF4; Wed, 02 May 2012 15:12:54 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1335971571!26436367!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE0NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10146 invoked from network); 2 May 2012 15:12:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:12:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330923600"; d="scan'208";a="24773803"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 11:12:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 11:12:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPbEX-0001gf-BR;
	Wed, 02 May 2012 16:12:49 +0100
MIME-Version: 1.0
X-Mercurial-Node: c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
Message-ID: <c3eda4333f1562d68c8b.1335971422@kodo2>
In-Reply-To: <patchbomb.1335971421@kodo2>
References: <patchbomb.1335971421@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 2 May 2012 16:10:22 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 2] libxlu: Rename filename to config_source
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User George Dunlap <george.dunlap@eu.citrix.com>
# Date 1335971126 -3600
# Node ID c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
# Parent  c9f97681552fd9aaf3157f30e1f502d9db17f395
libxlu: Rename filename to config_source

The "filename" is a bit of a misnomer, as it's only used during error
messages, and in most instances cases is actually set to "command
line".

Rename it to "config_source" to make it clear that it's not used to
actually open any files.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r c9f97681552f -r c3eda4333f15 tools/libxl/libxlu_cfg.c
--- a/tools/libxl/libxlu_cfg.c	Wed May 02 14:52:55 2012 +0100
+++ b/tools/libxl/libxlu_cfg.c	Wed May 02 16:05:26 2012 +0100
@@ -25,15 +25,15 @@
 #include "libxlu_cfg_l.h"
 #include "libxlu_cfg_i.h"
 
-XLU_Config *xlu_cfg_init(FILE *report, const char *report_filename) {
+XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
 
     cfg= malloc(sizeof(*cfg));
     if (!cfg) return 0;
 
     cfg->report= report;
-    cfg->filename= strdup(report_filename);
-    if (!cfg->filename) { free(cfg); return 0; }
+    cfg->config_source= strdup(report_source);
+    if (!cfg->config_source) { free(cfg); return 0; }
 
     cfg->settings= 0;
     return cfg;
@@ -51,7 +51,7 @@ static int ctx_prep(CfgParseContext *ctx
     e= xlu__cfg_yylex_init_extra(ctx, &ctx->scanner);
     if (e) {
         fprintf(cfg->report,"%s: unable to create scanner: %s\n",
-                cfg->filename, strerror(e));
+                cfg->config_source, strerror(e));
         return e;
     }
     return 0;
@@ -117,7 +117,7 @@ int xlu_cfg_readdata(XLU_Config *cfg, co
     buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
     if (!buf) {
         fprintf(cfg->report,"%s: unable to allocate scanner buffer\n",
-                cfg->filename);
+                cfg->config_source);
         ctx.err= ENOMEM;
         goto xe;
     }
@@ -151,7 +151,7 @@ void xlu_cfg_destroy(XLU_Config *cfg) {
         set_next= set->next;
         xlu__cfg_set_free(set);
     }
-    free(cfg->filename);
+    free(cfg->config_source);
     free(cfg);
 }
 
@@ -178,7 +178,7 @@ static int find_atom(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is"
                     " a list but should be a single value\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *set_r= set;
@@ -223,14 +223,14 @@ int xlu_cfg_get_long(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' could not be parsed"
                     " as a number: %s\n",
-                    cfg->filename, set->lineno, n, strerror(e));
+                    cfg->config_source, set->lineno, n, strerror(e));
         return e;
     }
     if (*ep || ep==set->values[0]) {
         if (!dont_warn)
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is not a valid number\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *value_r= l;
@@ -258,7 +258,7 @@ int xlu_cfg_get_list(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is a single value"
                     " but should be a list\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         }
         return EINVAL;
     }
@@ -467,7 +467,7 @@ void xlu__cfg_yyerror(YYLTYPE *loc, CfgP
 
     fprintf(ctx->cfg->report,
             "%s:%d: config parsing error near %s%.*s%s%s: %s\n",
-            ctx->cfg->filename, lineno,
+            ctx->cfg->config_source, lineno,
             len?"`":"", len, text, len?"'":"", newline,
             msg);
     if (!ctx->err) ctx->err= EINVAL;
diff -r c9f97681552f -r c3eda4333f15 tools/libxl/libxlu_disk.c
--- a/tools/libxl/libxlu_disk.c	Wed May 02 14:52:55 2012 +0100
+++ b/tools/libxl/libxlu_disk.c	Wed May 02 16:05:26 2012 +0100
@@ -10,7 +10,7 @@ void xlu__disk_err(DiskParseContext *dpc
             "%s: config parsing error in disk specification: %s"
             "%s%s%s"
             " in `%s'\n",
-            dpc->cfg->filename, message,
+            dpc->cfg->config_source, message,
             erroneous?": near `":"", erroneous?erroneous:"", erroneous?"'":"",
             dpc->spec);
     if (!dpc->err) dpc->err= EINVAL;
diff -r c9f97681552f -r c3eda4333f15 tools/libxl/libxlu_internal.h
--- a/tools/libxl/libxlu_internal.h	Wed May 02 14:52:55 2012 +0100
+++ b/tools/libxl/libxlu_internal.h	Wed May 02 16:05:26 2012 +0100
@@ -38,7 +38,7 @@ struct XLU_ConfigSetting { /* transparen
 struct XLU_Config {
     XLU_ConfigSetting *settings;
     FILE *report;
-    char *filename;
+    char *config_source;
 };
 
 typedef struct {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 15:13:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:13:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbEf-0008A0-9F; Wed, 02 May 2012 15:12:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPbEd-00089v-91
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:12:55 +0000
Received: from [85.158.139.83:22061] by server-9.bemta-5.messagelabs.com id
	D3/AF-09826-6FE41AF4; Wed, 02 May 2012 15:12:54 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1335971571!26436367!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE0NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10146 invoked from network); 2 May 2012 15:12:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:12:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330923600"; d="scan'208";a="24773803"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 11:12:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 11:12:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPbEX-0001gf-BR;
	Wed, 02 May 2012 16:12:49 +0100
MIME-Version: 1.0
X-Mercurial-Node: c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
Message-ID: <c3eda4333f1562d68c8b.1335971422@kodo2>
In-Reply-To: <patchbomb.1335971421@kodo2>
References: <patchbomb.1335971421@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 2 May 2012 16:10:22 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 2] libxlu: Rename filename to config_source
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User George Dunlap <george.dunlap@eu.citrix.com>
# Date 1335971126 -3600
# Node ID c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
# Parent  c9f97681552fd9aaf3157f30e1f502d9db17f395
libxlu: Rename filename to config_source

The "filename" is a bit of a misnomer, as it's only used during error
messages, and in most instances cases is actually set to "command
line".

Rename it to "config_source" to make it clear that it's not used to
actually open any files.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r c9f97681552f -r c3eda4333f15 tools/libxl/libxlu_cfg.c
--- a/tools/libxl/libxlu_cfg.c	Wed May 02 14:52:55 2012 +0100
+++ b/tools/libxl/libxlu_cfg.c	Wed May 02 16:05:26 2012 +0100
@@ -25,15 +25,15 @@
 #include "libxlu_cfg_l.h"
 #include "libxlu_cfg_i.h"
 
-XLU_Config *xlu_cfg_init(FILE *report, const char *report_filename) {
+XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
 
     cfg= malloc(sizeof(*cfg));
     if (!cfg) return 0;
 
     cfg->report= report;
-    cfg->filename= strdup(report_filename);
-    if (!cfg->filename) { free(cfg); return 0; }
+    cfg->config_source= strdup(report_source);
+    if (!cfg->config_source) { free(cfg); return 0; }
 
     cfg->settings= 0;
     return cfg;
@@ -51,7 +51,7 @@ static int ctx_prep(CfgParseContext *ctx
     e= xlu__cfg_yylex_init_extra(ctx, &ctx->scanner);
     if (e) {
         fprintf(cfg->report,"%s: unable to create scanner: %s\n",
-                cfg->filename, strerror(e));
+                cfg->config_source, strerror(e));
         return e;
     }
     return 0;
@@ -117,7 +117,7 @@ int xlu_cfg_readdata(XLU_Config *cfg, co
     buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
     if (!buf) {
         fprintf(cfg->report,"%s: unable to allocate scanner buffer\n",
-                cfg->filename);
+                cfg->config_source);
         ctx.err= ENOMEM;
         goto xe;
     }
@@ -151,7 +151,7 @@ void xlu_cfg_destroy(XLU_Config *cfg) {
         set_next= set->next;
         xlu__cfg_set_free(set);
     }
-    free(cfg->filename);
+    free(cfg->config_source);
     free(cfg);
 }
 
@@ -178,7 +178,7 @@ static int find_atom(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is"
                     " a list but should be a single value\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *set_r= set;
@@ -223,14 +223,14 @@ int xlu_cfg_get_long(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' could not be parsed"
                     " as a number: %s\n",
-                    cfg->filename, set->lineno, n, strerror(e));
+                    cfg->config_source, set->lineno, n, strerror(e));
         return e;
     }
     if (*ep || ep==set->values[0]) {
         if (!dont_warn)
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is not a valid number\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *value_r= l;
@@ -258,7 +258,7 @@ int xlu_cfg_get_list(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is a single value"
                     " but should be a list\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         }
         return EINVAL;
     }
@@ -467,7 +467,7 @@ void xlu__cfg_yyerror(YYLTYPE *loc, CfgP
 
     fprintf(ctx->cfg->report,
             "%s:%d: config parsing error near %s%.*s%s%s: %s\n",
-            ctx->cfg->filename, lineno,
+            ctx->cfg->config_source, lineno,
             len?"`":"", len, text, len?"'":"", newline,
             msg);
     if (!ctx->err) ctx->err= EINVAL;
diff -r c9f97681552f -r c3eda4333f15 tools/libxl/libxlu_disk.c
--- a/tools/libxl/libxlu_disk.c	Wed May 02 14:52:55 2012 +0100
+++ b/tools/libxl/libxlu_disk.c	Wed May 02 16:05:26 2012 +0100
@@ -10,7 +10,7 @@ void xlu__disk_err(DiskParseContext *dpc
             "%s: config parsing error in disk specification: %s"
             "%s%s%s"
             " in `%s'\n",
-            dpc->cfg->filename, message,
+            dpc->cfg->config_source, message,
             erroneous?": near `":"", erroneous?erroneous:"", erroneous?"'":"",
             dpc->spec);
     if (!dpc->err) dpc->err= EINVAL;
diff -r c9f97681552f -r c3eda4333f15 tools/libxl/libxlu_internal.h
--- a/tools/libxl/libxlu_internal.h	Wed May 02 14:52:55 2012 +0100
+++ b/tools/libxl/libxlu_internal.h	Wed May 02 16:05:26 2012 +0100
@@ -38,7 +38,7 @@ struct XLU_ConfigSetting { /* transparen
 struct XLU_Config {
     XLU_ConfigSetting *settings;
     FILE *report;
-    char *filename;
+    char *config_source;
 };
 
 typedef struct {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 15:13:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:13:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbEt-0008Ah-Lu; Wed, 02 May 2012 15:13:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPbEr-0008AV-Sh
	for xen-devel@lists.xen.org; Wed, 02 May 2012 15:13:10 +0000
Received: from [85.158.143.99:43053] by server-1.bemta-4.messagelabs.com id
	18/98-20925-50F41AF4; Wed, 02 May 2012 15:13:09 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335971587!22812349!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21272 invoked from network); 2 May 2012 15:13:07 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-216.messagelabs.com with SMTP;
	2 May 2012 15:13:07 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77551965; Wed, 02 May 2012 17:13:07 +0200
Message-ID: <1335971586.2961.60.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 02 May 2012 17:13:06 +0200
In-Reply-To: <4F9AB0F8.10102@eu.citrix.com>
References: <patchbomb.1334150267@Solace>
	<1f4b55806de9e7109ff6.1334150274@Solace> <4F9AB0F8.10102@eu.citrix.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 07 of 10 [RFC]] sched_credit: Let the
 scheduler know about `node affinity`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6757133835761434034=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6757133835761434034==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-3n48E9qaqULvGKFci6NW"


--=-3n48E9qaqULvGKFci6NW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-04-27 at 15:45 +0100, George Dunlap wrote:=20
> Hey Dario,
>=20
Hi!

> Sorry for the long delay in reviewing this.
>=20
No problem, thanks to you for taking the time to look at the patches so
thoroughly!

> Overall I think the approach is good. =20
>
That's nice to hear. :-)

> >   /*
> > + * Node Balancing
> > + */
> > +#define CSCHED_BALANCE_NODE_AFFINITY    1
> > +#define CSCHED_BALANCE_CPU_AFFINITY     0
> > +#define CSCHED_BALANCE_START_STEP       CSCHED_BALANCE_NODE_AFFINITY
> > +#define CSCHED_BALANCE_END_STEP         CSCHED_BALANCE_CPU_AFFINITY
> > +
> > +
> This thing of defining "START_STEP" and "END_STEP" seems a bit fragile. =
=20
> I think it would be better to always start at 0, and go until=20
> CSCHED_BALANCE_MAX.
>
Ok, I agree that this is fragile and probably also a bit overkill. I'll
make it simpler as you're suggesting.

> > +    /*
> > +     * Let's cache domain's dom->node_affinity here as an
> > +     * optimization for a couple of hot paths. In fact,
> > +     * knowing  whether or not dom->node_affinity has changed
> > +     * would allow us to avoid rebuilding node_affinity_cpumask
> > +     * (below) duing node balancing and/or scheduling.
> > +     */
> > +    nodemask_t node_affinity_cache;
> > +    /* Basing on what dom->node_affinity says,
> > +     * on what CPUs would we like to run most? */
> > +    cpumask_t node_affinity_cpumask;
> I think the comments here need to be more clear.  The main points are:
> * node_affinity_cpumask is the dom->node_affinity translated from a=20
> nodemask into a cpumask
> * Because doing the nodemask -> cpumask translation may be expensive,=20
> node_affinity_cache stores the last translated value, so we can avoid=20
> doing the translation if nothing has changed.
>=20
Ok, will do.

> > +/*
> > + * Sort-of conversion between node-affinity and vcpu-affinity for the =
domain,
> > + * i.e., a cpumask containing all the cpus from all the set nodes in t=
he
> > + * node-affinity mask of the domain.
> This needs to be clearer -- vcpu-affinity doesn't have anything to do=20
> with this function, and there's nothing "sort-of" about the conversion. :=
-)
>=20
> I think you mean to say, "Create a cpumask from the node affinity mask."
>
Exactly, I'll try to clarify.

> >   static inline void
> > +__cpumask_tickle(cpumask_t *mask, const cpumask_t *idle_mask)
> > +{
> > +    CSCHED_STAT_CRANK(tickle_idlers_some);
> > +    if ( opt_tickle_one_idle )
> > +    {
> > +        this_cpu(last_tickle_cpu) =3D
> > +            cpumask_cycle(this_cpu(last_tickle_cpu), idle_mask);
> > +        cpumask_set_cpu(this_cpu(last_tickle_cpu), mask);
> > +    }
> > +    else
> > +        cpumask_or(mask, mask, idle_mask);
> > +}
> I don't see any reason to make this into a function -- it's only called=
=20
> once, and it's not that long.  Unless you're concerned about too many=20
> indentations making the lines too short?
>
That was part of it, but I'll put it back and see if I can have it
looking good enough. :-)

> >      sdom->dom =3D dom;
> > +    /*
> > +     *XXX This would be 'The Right Thing', but as it is still too
> > +     *    early and d->node_affinity has not settled yet, maybe we
> > +     *    can just init the two masks with something like all-nodes
> > +     *    and all-cpus and rely on the first balancing call for
> > +     *    having them updated?
> > +     */
> > +    csched_build_balance_cpumask(sdom);
> We might as well do what you've got here, unless it's likely to produce=
=20
> garbage.  This isn't exactly a hot path. :-)
>=20
Well, I won't call it garbage, so that's probably fine. I was concerned
about be thing be clear and meaningful enough. Having this here could
make us (and or future coders :-D) think that they can rely on the
balance mask somehow, while that is not entirely true. I'll re-check the
code and see how I can make it something better for next posting...

> Other than that, looks good -- Thanks!
>=20
Good to know, thanks to you!

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-3n48E9qaqULvGKFci6NW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+hTwIACgkQk4XaBE3IOsRNNQCfUIlnas4XtpqnUqw2WEOvRW/I
Rf8An3EXgE+Pbp3A8g6SYbb887q5kviV
=1Ao3
-----END PGP SIGNATURE-----

--=-3n48E9qaqULvGKFci6NW--



--===============6757133835761434034==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6757133835761434034==--



From xen-devel-bounces@lists.xen.org Wed May 02 15:13:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:13:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbEt-0008Ah-Lu; Wed, 02 May 2012 15:13:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPbEr-0008AV-Sh
	for xen-devel@lists.xen.org; Wed, 02 May 2012 15:13:10 +0000
Received: from [85.158.143.99:43053] by server-1.bemta-4.messagelabs.com id
	18/98-20925-50F41AF4; Wed, 02 May 2012 15:13:09 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-216.messagelabs.com!1335971587!22812349!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21272 invoked from network); 2 May 2012 15:13:07 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-216.messagelabs.com with SMTP;
	2 May 2012 15:13:07 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77551965; Wed, 02 May 2012 17:13:07 +0200
Message-ID: <1335971586.2961.60.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 02 May 2012 17:13:06 +0200
In-Reply-To: <4F9AB0F8.10102@eu.citrix.com>
References: <patchbomb.1334150267@Solace>
	<1f4b55806de9e7109ff6.1334150274@Solace> <4F9AB0F8.10102@eu.citrix.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 07 of 10 [RFC]] sched_credit: Let the
 scheduler know about `node affinity`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6757133835761434034=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6757133835761434034==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-3n48E9qaqULvGKFci6NW"


--=-3n48E9qaqULvGKFci6NW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-04-27 at 15:45 +0100, George Dunlap wrote:=20
> Hey Dario,
>=20
Hi!

> Sorry for the long delay in reviewing this.
>=20
No problem, thanks to you for taking the time to look at the patches so
thoroughly!

> Overall I think the approach is good. =20
>
That's nice to hear. :-)

> >   /*
> > + * Node Balancing
> > + */
> > +#define CSCHED_BALANCE_NODE_AFFINITY    1
> > +#define CSCHED_BALANCE_CPU_AFFINITY     0
> > +#define CSCHED_BALANCE_START_STEP       CSCHED_BALANCE_NODE_AFFINITY
> > +#define CSCHED_BALANCE_END_STEP         CSCHED_BALANCE_CPU_AFFINITY
> > +
> > +
> This thing of defining "START_STEP" and "END_STEP" seems a bit fragile. =
=20
> I think it would be better to always start at 0, and go until=20
> CSCHED_BALANCE_MAX.
>
Ok, I agree that this is fragile and probably also a bit overkill. I'll
make it simpler as you're suggesting.

> > +    /*
> > +     * Let's cache domain's dom->node_affinity here as an
> > +     * optimization for a couple of hot paths. In fact,
> > +     * knowing  whether or not dom->node_affinity has changed
> > +     * would allow us to avoid rebuilding node_affinity_cpumask
> > +     * (below) duing node balancing and/or scheduling.
> > +     */
> > +    nodemask_t node_affinity_cache;
> > +    /* Basing on what dom->node_affinity says,
> > +     * on what CPUs would we like to run most? */
> > +    cpumask_t node_affinity_cpumask;
> I think the comments here need to be more clear.  The main points are:
> * node_affinity_cpumask is the dom->node_affinity translated from a=20
> nodemask into a cpumask
> * Because doing the nodemask -> cpumask translation may be expensive,=20
> node_affinity_cache stores the last translated value, so we can avoid=20
> doing the translation if nothing has changed.
>=20
Ok, will do.

> > +/*
> > + * Sort-of conversion between node-affinity and vcpu-affinity for the =
domain,
> > + * i.e., a cpumask containing all the cpus from all the set nodes in t=
he
> > + * node-affinity mask of the domain.
> This needs to be clearer -- vcpu-affinity doesn't have anything to do=20
> with this function, and there's nothing "sort-of" about the conversion. :=
-)
>=20
> I think you mean to say, "Create a cpumask from the node affinity mask."
>
Exactly, I'll try to clarify.

> >   static inline void
> > +__cpumask_tickle(cpumask_t *mask, const cpumask_t *idle_mask)
> > +{
> > +    CSCHED_STAT_CRANK(tickle_idlers_some);
> > +    if ( opt_tickle_one_idle )
> > +    {
> > +        this_cpu(last_tickle_cpu) =3D
> > +            cpumask_cycle(this_cpu(last_tickle_cpu), idle_mask);
> > +        cpumask_set_cpu(this_cpu(last_tickle_cpu), mask);
> > +    }
> > +    else
> > +        cpumask_or(mask, mask, idle_mask);
> > +}
> I don't see any reason to make this into a function -- it's only called=
=20
> once, and it's not that long.  Unless you're concerned about too many=20
> indentations making the lines too short?
>
That was part of it, but I'll put it back and see if I can have it
looking good enough. :-)

> >      sdom->dom =3D dom;
> > +    /*
> > +     *XXX This would be 'The Right Thing', but as it is still too
> > +     *    early and d->node_affinity has not settled yet, maybe we
> > +     *    can just init the two masks with something like all-nodes
> > +     *    and all-cpus and rely on the first balancing call for
> > +     *    having them updated?
> > +     */
> > +    csched_build_balance_cpumask(sdom);
> We might as well do what you've got here, unless it's likely to produce=
=20
> garbage.  This isn't exactly a hot path. :-)
>=20
Well, I won't call it garbage, so that's probably fine. I was concerned
about be thing be clear and meaningful enough. Having this here could
make us (and or future coders :-D) think that they can rely on the
balance mask somehow, while that is not entirely true. I'll re-check the
code and see how I can make it something better for next posting...

> Other than that, looks good -- Thanks!
>=20
Good to know, thanks to you!

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-3n48E9qaqULvGKFci6NW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+hTwIACgkQk4XaBE3IOsRNNQCfUIlnas4XtpqnUqw2WEOvRW/I
Rf8An3EXgE+Pbp3A8g6SYbb887q5kviV
=1Ao3
-----END PGP SIGNATURE-----

--=-3n48E9qaqULvGKFci6NW--



--===============6757133835761434034==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6757133835761434034==--



From xen-devel-bounces@lists.xen.org Wed May 02 15:25:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbQu-0008Tl-54; Wed, 02 May 2012 15:25:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPbQs-0008Tb-Dv
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:25:34 +0000
Received: from [85.158.138.51:31008] by server-6.bemta-3.messagelabs.com id
	1B/E6-05145-DE151AF4; Wed, 02 May 2012 15:25:33 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1335972331!24894587!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg4MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27098 invoked from network); 2 May 2012 15:25:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:25:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330923600"; d="scan'208";a="193045681"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 11:12:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 11:12:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPbEX-0001gf-Au;
	Wed, 02 May 2012 16:12:49 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1335971421@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 2 May 2012 16:10:21 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 2] libxl cleanup: distinguish filenames
	from sources
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 15:25:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbQu-0008Tl-54; Wed, 02 May 2012 15:25:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPbQs-0008Tb-Dv
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:25:34 +0000
Received: from [85.158.138.51:31008] by server-6.bemta-3.messagelabs.com id
	1B/E6-05145-DE151AF4; Wed, 02 May 2012 15:25:33 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1335972331!24894587!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg4MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27098 invoked from network); 2 May 2012 15:25:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:25:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330923600"; d="scan'208";a="193045681"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 11:12:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 11:12:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPbEX-0001gf-Au;
	Wed, 02 May 2012 16:12:49 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1335971421@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 2 May 2012 16:10:21 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 2] libxl cleanup: distinguish filenames
	from sources
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 15:25:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbQv-0008Tu-HN; Wed, 02 May 2012 15:25:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPbQt-0008Tg-IZ
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:25:35 +0000
Received: from [85.158.138.51:31149] by server-9.bemta-3.messagelabs.com id
	D1/21-26691-EE151AF4; Wed, 02 May 2012 15:25:34 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1335972331!24894587!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg4MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27156 invoked from network); 2 May 2012 15:25:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:25:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330923600"; d="scan'208";a="193045682"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 11:12:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 11:12:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPbEX-0001gf-Bt;
	Wed, 02 May 2012 16:12:49 +0100
MIME-Version: 1.0
X-Mercurial-Node: 60013c9b8d62e39988db3c5b22c0510f5557756b
Message-ID: <60013c9b8d62e39988db.1335971423@kodo2>
In-Reply-To: <patchbomb.1335971421@kodo2>
References: <patchbomb.1335971421@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 2 May 2012 16:10:23 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User George Dunlap <george.dunlap@eu.citrix.com>
# Date 1335971129 -3600
# Node ID 60013c9b8d62e39988db3c5b22c0510f5557756b
# Parent  c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
xl: Make clear distinction between "filename" and "data source"

Many places in xl there's a variable or element named "filename" which
does not contain a filename, but the source of the data for reporting
purposes.  Worse, there are variables which are sometimes actually
used or interpreted as a filename depending on what other variables
are set.  This makes it difficult to tell when a string is purely
cosmetic, and when another bit of code may actually attempt to call
"open" with the string.

This patch makes a consistent distinction between "filename" (which
always refers to the name of an actual file, and may be interpreted as
such at some point) and "source" (which may be a filename, or may be
another data source such as a migration stream or saved data).

This does add some variables and reshuffle where assignments happen;
most notably, the "restore_filename" element of struct domain_create
is now only set when restoring from a file.

But at a high level, there should be no funcitonal changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c	Wed May 02 16:05:26 2012 +0100
+++ b/tools/libxl/libxl_utils.c	Wed May 02 16:05:29 2012 +0100
@@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
                                                                           \
   int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
                            constdata void *data, ssize_t sz,              \
-                           const char *filename, const char *what) {      \
+                           const char *source, const char *what) {      \
       ssize_t got;                                                        \
                                                                           \
       while (sz > 0) {                                                    \
@@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
               if (errno == EINTR) continue;                               \
               if (!ctx) return errno;                                     \
               LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
-                           what?what:"", what?" from ":"", filename);     \
+                           what?what:"", what?" from ":"", source);       \
               return errno;                                               \
           }                                                               \
           if (got == 0) {                                                 \
@@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
                      zero_is_eof                                          \
                      ? "file/stream truncated reading %s%s%s"             \
                      : "file/stream write returned 0! writing %s%s%s",    \
-                     what?what:"", what?" from ":"", filename);           \
+                     what?what:"", what?" from ":"", source);             \
               return EPROTO;                                              \
           }                                                               \
           sz -= got;                                                      \
diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 02 16:05:26 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 02 16:05:29 2012 +0100
@@ -520,9 +520,9 @@ vcpp_out:
     return rc;
 }
 
-static void parse_config_data(const char *configfile_filename_report,
-                              const char *configfile_data,
-                              int configfile_len,
+static void parse_config_data(const char *config_source,
+                              const char *config_data,
+                              int config_len,
                               libxl_domain_config *d_config)
 {
     const char *buf;
@@ -537,15 +537,15 @@ static void parse_config_data(const char
     libxl_domain_create_info *c_info = &d_config->c_info;
     libxl_domain_build_info *b_info = &d_config->b_info;
 
-    config= xlu_cfg_init(stderr, configfile_filename_report);
+    config= xlu_cfg_init(stderr, config_source);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
         exit(1);
     }
 
-    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
+    e= xlu_cfg_readdata(config, config_data, config_len);
     if (e) {
-        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
+        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
         exit(1);
     }
 
@@ -1522,6 +1522,8 @@ static int create_domain(struct domain_c
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
+    const char *config_source = NULL;
+    const char *restore_source = NULL;
     int migrate_fd = dom_info->migrate_fd;
 
     int i;
@@ -1537,24 +1539,28 @@ static int create_domain(struct domain_c
     pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
+    int restoring = (restore_file || (migrate_fd >= 0));
+
     libxl_domain_config_init(&d_config);
 
-    if (restore_file) {
+    if (restoring) {
         uint8_t *optdata_begin = 0;
         const uint8_t *optdata_here = 0;
         union { uint32_t u32; char b[4]; } u32buf;
         uint32_t badflags;
 
         if (migrate_fd >= 0) {
+            restore_source = "<incoming migration stream>"
             restore_fd = migrate_fd;
         } else {
+            restore_source = restore_file;
             restore_fd = open(restore_file, O_RDONLY);
             rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
             if (rc) return rc;
         }
 
         CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
-                   sizeof(hdr), restore_file, "header") );
+                   sizeof(hdr), restore_source, "header") );
         if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
             fprintf(stderr, "File has wrong magic number -"
                     " corrupt or for a different tool?\n");
@@ -1567,7 +1573,7 @@ static int create_domain(struct domain_c
         fprintf(stderr, "Loading new save file %s"
                 " (new xl fmt info"
                 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-                restore_file, hdr.mandatory_flags, hdr.optional_flags,
+                restore_source, hdr.mandatory_flags, hdr.optional_flags,
                 hdr.optional_data_len);
 
         badflags = hdr.mandatory_flags & ~( 0 /* none understood yet */ );
@@ -1580,7 +1586,7 @@ static int create_domain(struct domain_c
         if (hdr.optional_data_len) {
             optdata_begin = xmalloc(hdr.optional_data_len);
             CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
-                   hdr.optional_data_len, restore_file, "optdata") );
+                   hdr.optional_data_len, restore_source, "optdata") );
         }
 
 #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
@@ -1615,7 +1621,7 @@ static int create_domain(struct domain_c
                                        &config_data, &config_len);
         if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
                            config_file, strerror(errno)); return ERROR_FAIL; }
-        if (!restore_file && extra_config && strlen(extra_config)) {
+        if (!restoring && extra_config && strlen(extra_config)) {
             if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
                 fprintf(stderr, "Failed to attach extra configration\n");
                 return ERROR_FAIL;
@@ -1630,19 +1636,20 @@ static int create_domain(struct domain_c
             config_len += sprintf(config_data + config_len, "\n%s\n",
                 extra_config);
         }
+        config_source=config_file;
     } else {
         if (!config_data) {
             fprintf(stderr, "Config file not specified and"
                     " none in save file\n");
             return ERROR_INVAL;
         }
-        config_file = "<saved>";
+        config_source = "<saved>";
     }
 
     if (!dom_info->quiet)
-        printf("Parsing config file %s\n", config_file);
-
-    parse_config_data(config_file, config_data, config_len, &d_config);
+        printf("Parsing config from %s\n", config_source);
+
+    parse_config_data(config_source, config_data, config_len, &d_config);
 
     if (migrate_fd >= 0) {
         if (d_config.c_info.name) {
@@ -1693,7 +1700,7 @@ start:
         cb = NULL;
     }
 
-    if ( restore_file ) {
+    if ( restoring ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
                                             cb, &child_console_pid,
                                             &domid, restore_fd);
@@ -2469,7 +2476,7 @@ static void list_domains_details(const l
 {
     libxl_domain_config d_config;
 
-    char *config_file;
+    char *config_source;
     uint8_t *data;
     int i, len, rc;
 
@@ -2480,13 +2487,13 @@ static void list_domains_details(const l
         rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl", &data, &len);
         if (rc)
             continue;
-        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
+        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
         libxl_domain_config_init(&d_config);
-        parse_config_data(config_file, (char *)data, len, &d_config);
+        parse_config_data(config_source, (char *)data, len, &d_config);
         printf_info(default_output_format, info[i].domid, &d_config);
         libxl_domain_config_dispose(&d_config);
         free(data);
-        free(config_file);
+        free(config_source);
     }
 }
 
@@ -2589,7 +2596,7 @@ static void save_domain_core_begin(const
     }
 }
 
-static void save_domain_core_writeconfig(int fd, const char *filename,
+static void save_domain_core_writeconfig(int fd, const char *source,
                                   const uint8_t *config_data, int config_len)
 {
     struct save_file_header hdr;
@@ -2618,13 +2625,13 @@ static void save_domain_core_writeconfig
     /* that's the optional data */
 
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        &hdr, sizeof(hdr), filename, "header") );
+        &hdr, sizeof(hdr), source, "header") );
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        optdata_begin, hdr.optional_data_len, filename, "header") );
+        optdata_begin, hdr.optional_data_len, source, "header") );
 
     fprintf(stderr, "Saving to %s new xl format (info"
             " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-            filename, hdr.mandatory_flags, hdr.optional_flags,
+            source, hdr.mandatory_flags, hdr.optional_flags,
             hdr.optional_data_len);
 }
 
@@ -2950,7 +2957,6 @@ static void migrate_receive(int debug, i
     dom_info.daemonize = daemonize;
     dom_info.monitor = monitor;
     dom_info.paused = 1;
-    dom_info.restore_file = "incoming migration stream";
     dom_info.migrate_fd = 0; /* stdin */
     dom_info.migration_domname_r = &migration_domname;
     dom_info.incr_generationid = 0;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 15:25:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbQv-0008Tu-HN; Wed, 02 May 2012 15:25:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPbQt-0008Tg-IZ
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 15:25:35 +0000
Received: from [85.158.138.51:31149] by server-9.bemta-3.messagelabs.com id
	D1/21-26691-EE151AF4; Wed, 02 May 2012 15:25:34 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1335972331!24894587!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDg4MTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27156 invoked from network); 2 May 2012 15:25:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:25:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330923600"; d="scan'208";a="193045682"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 11:12:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 2 May 2012 11:12:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPbEX-0001gf-Bt;
	Wed, 02 May 2012 16:12:49 +0100
MIME-Version: 1.0
X-Mercurial-Node: 60013c9b8d62e39988db3c5b22c0510f5557756b
Message-ID: <60013c9b8d62e39988db.1335971423@kodo2>
In-Reply-To: <patchbomb.1335971421@kodo2>
References: <patchbomb.1335971421@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 2 May 2012 16:10:23 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User George Dunlap <george.dunlap@eu.citrix.com>
# Date 1335971129 -3600
# Node ID 60013c9b8d62e39988db3c5b22c0510f5557756b
# Parent  c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
xl: Make clear distinction between "filename" and "data source"

Many places in xl there's a variable or element named "filename" which
does not contain a filename, but the source of the data for reporting
purposes.  Worse, there are variables which are sometimes actually
used or interpreted as a filename depending on what other variables
are set.  This makes it difficult to tell when a string is purely
cosmetic, and when another bit of code may actually attempt to call
"open" with the string.

This patch makes a consistent distinction between "filename" (which
always refers to the name of an actual file, and may be interpreted as
such at some point) and "source" (which may be a filename, or may be
another data source such as a migration stream or saved data).

This does add some variables and reshuffle where assignments happen;
most notably, the "restore_filename" element of struct domain_create
is now only set when restoring from a file.

But at a high level, there should be no funcitonal changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c	Wed May 02 16:05:26 2012 +0100
+++ b/tools/libxl/libxl_utils.c	Wed May 02 16:05:29 2012 +0100
@@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
                                                                           \
   int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
                            constdata void *data, ssize_t sz,              \
-                           const char *filename, const char *what) {      \
+                           const char *source, const char *what) {      \
       ssize_t got;                                                        \
                                                                           \
       while (sz > 0) {                                                    \
@@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
               if (errno == EINTR) continue;                               \
               if (!ctx) return errno;                                     \
               LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
-                           what?what:"", what?" from ":"", filename);     \
+                           what?what:"", what?" from ":"", source);       \
               return errno;                                               \
           }                                                               \
           if (got == 0) {                                                 \
@@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
                      zero_is_eof                                          \
                      ? "file/stream truncated reading %s%s%s"             \
                      : "file/stream write returned 0! writing %s%s%s",    \
-                     what?what:"", what?" from ":"", filename);           \
+                     what?what:"", what?" from ":"", source);             \
               return EPROTO;                                              \
           }                                                               \
           sz -= got;                                                      \
diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 02 16:05:26 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 02 16:05:29 2012 +0100
@@ -520,9 +520,9 @@ vcpp_out:
     return rc;
 }
 
-static void parse_config_data(const char *configfile_filename_report,
-                              const char *configfile_data,
-                              int configfile_len,
+static void parse_config_data(const char *config_source,
+                              const char *config_data,
+                              int config_len,
                               libxl_domain_config *d_config)
 {
     const char *buf;
@@ -537,15 +537,15 @@ static void parse_config_data(const char
     libxl_domain_create_info *c_info = &d_config->c_info;
     libxl_domain_build_info *b_info = &d_config->b_info;
 
-    config= xlu_cfg_init(stderr, configfile_filename_report);
+    config= xlu_cfg_init(stderr, config_source);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
         exit(1);
     }
 
-    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
+    e= xlu_cfg_readdata(config, config_data, config_len);
     if (e) {
-        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
+        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
         exit(1);
     }
 
@@ -1522,6 +1522,8 @@ static int create_domain(struct domain_c
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
+    const char *config_source = NULL;
+    const char *restore_source = NULL;
     int migrate_fd = dom_info->migrate_fd;
 
     int i;
@@ -1537,24 +1539,28 @@ static int create_domain(struct domain_c
     pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
+    int restoring = (restore_file || (migrate_fd >= 0));
+
     libxl_domain_config_init(&d_config);
 
-    if (restore_file) {
+    if (restoring) {
         uint8_t *optdata_begin = 0;
         const uint8_t *optdata_here = 0;
         union { uint32_t u32; char b[4]; } u32buf;
         uint32_t badflags;
 
         if (migrate_fd >= 0) {
+            restore_source = "<incoming migration stream>"
             restore_fd = migrate_fd;
         } else {
+            restore_source = restore_file;
             restore_fd = open(restore_file, O_RDONLY);
             rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
             if (rc) return rc;
         }
 
         CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
-                   sizeof(hdr), restore_file, "header") );
+                   sizeof(hdr), restore_source, "header") );
         if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
             fprintf(stderr, "File has wrong magic number -"
                     " corrupt or for a different tool?\n");
@@ -1567,7 +1573,7 @@ static int create_domain(struct domain_c
         fprintf(stderr, "Loading new save file %s"
                 " (new xl fmt info"
                 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-                restore_file, hdr.mandatory_flags, hdr.optional_flags,
+                restore_source, hdr.mandatory_flags, hdr.optional_flags,
                 hdr.optional_data_len);
 
         badflags = hdr.mandatory_flags & ~( 0 /* none understood yet */ );
@@ -1580,7 +1586,7 @@ static int create_domain(struct domain_c
         if (hdr.optional_data_len) {
             optdata_begin = xmalloc(hdr.optional_data_len);
             CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
-                   hdr.optional_data_len, restore_file, "optdata") );
+                   hdr.optional_data_len, restore_source, "optdata") );
         }
 
 #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
@@ -1615,7 +1621,7 @@ static int create_domain(struct domain_c
                                        &config_data, &config_len);
         if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
                            config_file, strerror(errno)); return ERROR_FAIL; }
-        if (!restore_file && extra_config && strlen(extra_config)) {
+        if (!restoring && extra_config && strlen(extra_config)) {
             if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
                 fprintf(stderr, "Failed to attach extra configration\n");
                 return ERROR_FAIL;
@@ -1630,19 +1636,20 @@ static int create_domain(struct domain_c
             config_len += sprintf(config_data + config_len, "\n%s\n",
                 extra_config);
         }
+        config_source=config_file;
     } else {
         if (!config_data) {
             fprintf(stderr, "Config file not specified and"
                     " none in save file\n");
             return ERROR_INVAL;
         }
-        config_file = "<saved>";
+        config_source = "<saved>";
     }
 
     if (!dom_info->quiet)
-        printf("Parsing config file %s\n", config_file);
-
-    parse_config_data(config_file, config_data, config_len, &d_config);
+        printf("Parsing config from %s\n", config_source);
+
+    parse_config_data(config_source, config_data, config_len, &d_config);
 
     if (migrate_fd >= 0) {
         if (d_config.c_info.name) {
@@ -1693,7 +1700,7 @@ start:
         cb = NULL;
     }
 
-    if ( restore_file ) {
+    if ( restoring ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
                                             cb, &child_console_pid,
                                             &domid, restore_fd);
@@ -2469,7 +2476,7 @@ static void list_domains_details(const l
 {
     libxl_domain_config d_config;
 
-    char *config_file;
+    char *config_source;
     uint8_t *data;
     int i, len, rc;
 
@@ -2480,13 +2487,13 @@ static void list_domains_details(const l
         rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl", &data, &len);
         if (rc)
             continue;
-        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
+        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
         libxl_domain_config_init(&d_config);
-        parse_config_data(config_file, (char *)data, len, &d_config);
+        parse_config_data(config_source, (char *)data, len, &d_config);
         printf_info(default_output_format, info[i].domid, &d_config);
         libxl_domain_config_dispose(&d_config);
         free(data);
-        free(config_file);
+        free(config_source);
     }
 }
 
@@ -2589,7 +2596,7 @@ static void save_domain_core_begin(const
     }
 }
 
-static void save_domain_core_writeconfig(int fd, const char *filename,
+static void save_domain_core_writeconfig(int fd, const char *source,
                                   const uint8_t *config_data, int config_len)
 {
     struct save_file_header hdr;
@@ -2618,13 +2625,13 @@ static void save_domain_core_writeconfig
     /* that's the optional data */
 
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        &hdr, sizeof(hdr), filename, "header") );
+        &hdr, sizeof(hdr), source, "header") );
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        optdata_begin, hdr.optional_data_len, filename, "header") );
+        optdata_begin, hdr.optional_data_len, source, "header") );
 
     fprintf(stderr, "Saving to %s new xl format (info"
             " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-            filename, hdr.mandatory_flags, hdr.optional_flags,
+            source, hdr.mandatory_flags, hdr.optional_flags,
             hdr.optional_data_len);
 }
 
@@ -2950,7 +2957,6 @@ static void migrate_receive(int debug, i
     dom_info.daemonize = daemonize;
     dom_info.monitor = monitor;
     dom_info.paused = 1;
-    dom_info.restore_file = "incoming migration stream";
     dom_info.migrate_fd = 0; /* stdin */
     dom_info.migration_domname_r = &migration_domname;
     dom_info.incr_generationid = 0;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 15:30:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbVZ-0000Eg-9T; Wed, 02 May 2012 15:30:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPbVX-0000EX-LK
	for xen-devel@lists.xen.org; Wed, 02 May 2012 15:30:23 +0000
Received: from [85.158.138.51:16420] by server-6.bemta-3.messagelabs.com id
	B1/F0-05145-E0351AF4; Wed, 02 May 2012 15:30:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1335972621!18482943!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22941 invoked from network); 2 May 2012 15:30:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:30:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12252901"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 15:30:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	16:30:20 +0100
Message-ID: <1335972619.26758.67.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Wed, 2 May 2012 16:30:19 +0100
In-Reply-To: <1335970965.2961.51.camel@Abyss>
References: <1335272011.4347.108.camel@zakaz.uk.xensource.com>
	<1335970965.2961.51.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 Release Plan / TODO
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 16:02 +0100, Dario Faggioli wrote:
> [...]
> Therefore, I'm officially proposing to add "automatic NUMA placement and
> vcpu pinning in xl" here below:
> 
> > tools, blockers:
> > ... 
> > * xl compatibility with xm:
> >               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
> >                 reported by Fabio Fantoni in
> >                 <4F9672DD.2080902@tiscali.it>
> >               * [BUG] does not honour scheduler weight params, reported
> >                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
> >                 Dieter has posted a patch.
>                 * does not automatically try to select a (set of) 
>                   node(s) on which to create a VM and pin its vcpus
>                   there.
> 
> The strong case I'm making is that not having this is a regression wrt
> default xend behaviour, and it could upset and break stuff for people
> expecting the toolstack tacking care about NUMA, at least in some rough
> way (which btw is what xend is doing).
> 
> I'm not far from having the patches so, if the proposal is accepted, I
> can post them next week, I'm quite sure.
> 
> Thoughts?

I think this is a reasonable thing to accept for 4.2.

BTW, I missed my regular TODO list update this week. Since it is now
Wednesday I'm not going to bother this week and will pick up again on
Tuesday (Monday is a UK public holiday).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 15:30:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 15:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPbVZ-0000Eg-9T; Wed, 02 May 2012 15:30:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPbVX-0000EX-LK
	for xen-devel@lists.xen.org; Wed, 02 May 2012 15:30:23 +0000
Received: from [85.158.138.51:16420] by server-6.bemta-3.messagelabs.com id
	B1/F0-05145-E0351AF4; Wed, 02 May 2012 15:30:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1335972621!18482943!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22941 invoked from network); 2 May 2012 15:30:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 15:30:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,516,1330905600"; d="scan'208";a="12252901"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 15:30:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	16:30:20 +0100
Message-ID: <1335972619.26758.67.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Wed, 2 May 2012 16:30:19 +0100
In-Reply-To: <1335970965.2961.51.camel@Abyss>
References: <1335272011.4347.108.camel@zakaz.uk.xensource.com>
	<1335970965.2961.51.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 Release Plan / TODO
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 16:02 +0100, Dario Faggioli wrote:
> [...]
> Therefore, I'm officially proposing to add "automatic NUMA placement and
> vcpu pinning in xl" here below:
> 
> > tools, blockers:
> > ... 
> > * xl compatibility with xm:
> >               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
> >                 reported by Fabio Fantoni in
> >                 <4F9672DD.2080902@tiscali.it>
> >               * [BUG] does not honour scheduler weight params, reported
> >                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
> >                 Dieter has posted a patch.
>                 * does not automatically try to select a (set of) 
>                   node(s) on which to create a VM and pin its vcpus
>                   there.
> 
> The strong case I'm making is that not having this is a regression wrt
> default xend behaviour, and it could upset and break stuff for people
> expecting the toolstack tacking care about NUMA, at least in some rough
> way (which btw is what xend is doing).
> 
> I'm not far from having the patches so, if the proposal is accepted, I
> can post them next week, I'm quite sure.
> 
> Thoughts?

I think this is a reasonable thing to accept for 4.2.

BTW, I missed my regular TODO list update this week. Since it is now
Wednesday I'm not going to bother this week and will pick up again on
Tuesday (Monday is a UK public holiday).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 16:14:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 16:14:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPcBp-000108-V5; Wed, 02 May 2012 16:14:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPcBp-000103-0a
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 16:14:05 +0000
Received: from [85.158.143.35:8442] by server-1.bemta-4.messagelabs.com id
	05/34-20925-C4D51AF4; Wed, 02 May 2012 16:14:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335975241!13898608!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA1MjU1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3975 invoked from network); 2 May 2012 16:14:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 16:14:03 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42GDsEA016427
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 16:13:55 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42GDswa007445
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 16:13:54 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42GDrNO013447; Wed, 2 May 2012 11:13:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 02 May 2012 09:13:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 84D3240357; Wed,  2 May 2012 12:08:12 -0400 (EDT)
Date: Wed, 2 May 2012 12:08:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefan Bader <stefan.bader@canonical.com>
Message-ID: <20120502160812.GA6611@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA14C2C.5030104@canonical.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 05:01:00PM +0200, Stefan Bader wrote:
> On 02.05.2012 00:35, Boris Ostrovsky wrote:
> > On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> >> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> >>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> >>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> >>>>> Since there have been requests about that driver to get backported into 3.2, I
> >>>>> was interested to find out what or how much would be gained by that.
> >>>>>
> >>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz).
> >>>>> Which
> >>>>> was not very successful as the drivers bail out of the init function
> >>>>> because the
> >>>>> first call to acpi_processor_register_performance() returns -ENODEV. There is
> >>>>> some frequency scaling when running without Xen, so I need to do some more
> >>>>> debugging there.
> > 
> > I believe this is caused by the somewhat under-enlightened xen_apic_read():
> > 
> > static u32 xen_apic_read(u32 reg)
> > {
> >         return 0;
> > }
> > 
> > This results in some data, most importantly boot_cpu_physical_apicid, not being
> > set correctly and, in turn, causes x86_cpu_to_apicid to be broken.
> > 
> > On larger AMD systems boot processor is typically APICID=0x20 (I don't have
> > Intel system handy to see how it looks there).
> > 
> > As a quick and dirty test you can try:
> > 
> > diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> > index edc2448..1f78998 100644
> > --- a/arch/x86/kernel/apic/apic.c
> > +++ b/arch/x86/kernel/apic/apic.c
> > @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long address)
> >         }
> >         if (boot_cpu_physical_apicid == -1U) {
> >                 boot_cpu_physical_apicid  = read_apic_id();
> > +               boot_cpu_physical_apicid = 32;
> >                 apic_version[boot_cpu_physical_apicid] =
> >                          GET_APIC_VERSION(apic_read(APIC_LVR));
> >         }
> > 
> > 
> > (Set it to whatever APICID on core0 is, I suspect it won't be zero).
> > 
> 
> Indeed, when I hack the above id to be 0x10 (as my dmesg tells) most of the BIOS
> bug messages are gone and the xen-acpi-processor driver successfully loads and
> seems to be switching frequencies ok (just a quick tight loop which made one cpu
> go from P4 to P0).

OK.  Can you try the attached patch pls? It should do the same thing
as what the debug patch does - get the _real_ APIC ID from the hypervisor.
(And as bonus it also removes the annoying:

BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10


diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..d816448 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -811,7 +811,29 @@ static void xen_io_delay(void)
 #ifdef CONFIG_X86_LOCAL_APIC
 static u32 xen_apic_read(u32 reg)
 {
-	return 0;
+	struct xen_platform_op op = {
+		.cmd = XENPF_get_cpuinfo,
+		.interface_version = XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid = 0,
+	};
+	int ret = 0;
+
+	/* Shouldn't need this as APIC is turned off for PV, and we only
+	 * get called on the bootup processor. But just in case. */
+	if (!xen_initial_domain() || smp_processor_id())
+		return 0;
+
+	if (reg == APIC_LVR)
+		return 0x10;
+
+	if (reg != APIC_ID)
+		return 0;
+
+	ret = HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return 0;
+
+	return op.u.pcpu_info.apic_id;
 }
 
 static void xen_apic_write(u32 reg, u32 val)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 16:14:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 16:14:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPcBp-000108-V5; Wed, 02 May 2012 16:14:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPcBp-000103-0a
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 16:14:05 +0000
Received: from [85.158.143.35:8442] by server-1.bemta-4.messagelabs.com id
	05/34-20925-C4D51AF4; Wed, 02 May 2012 16:14:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335975241!13898608!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA1MjU1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3975 invoked from network); 2 May 2012 16:14:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 16:14:03 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42GDsEA016427
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 16:13:55 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42GDswa007445
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 16:13:54 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42GDrNO013447; Wed, 2 May 2012 11:13:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 02 May 2012 09:13:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 84D3240357; Wed,  2 May 2012 12:08:12 -0400 (EDT)
Date: Wed, 2 May 2012 12:08:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefan Bader <stefan.bader@canonical.com>
Message-ID: <20120502160812.GA6611@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA14C2C.5030104@canonical.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 05:01:00PM +0200, Stefan Bader wrote:
> On 02.05.2012 00:35, Boris Ostrovsky wrote:
> > On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
> >> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
> >>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
> >>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
> >>>>> Since there have been requests about that driver to get backported into 3.2, I
> >>>>> was interested to find out what or how much would be gained by that.
> >>>>>
> >>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz).
> >>>>> Which
> >>>>> was not very successful as the drivers bail out of the init function
> >>>>> because the
> >>>>> first call to acpi_processor_register_performance() returns -ENODEV. There is
> >>>>> some frequency scaling when running without Xen, so I need to do some more
> >>>>> debugging there.
> > 
> > I believe this is caused by the somewhat under-enlightened xen_apic_read():
> > 
> > static u32 xen_apic_read(u32 reg)
> > {
> >         return 0;
> > }
> > 
> > This results in some data, most importantly boot_cpu_physical_apicid, not being
> > set correctly and, in turn, causes x86_cpu_to_apicid to be broken.
> > 
> > On larger AMD systems boot processor is typically APICID=0x20 (I don't have
> > Intel system handy to see how it looks there).
> > 
> > As a quick and dirty test you can try:
> > 
> > diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> > index edc2448..1f78998 100644
> > --- a/arch/x86/kernel/apic/apic.c
> > +++ b/arch/x86/kernel/apic/apic.c
> > @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long address)
> >         }
> >         if (boot_cpu_physical_apicid == -1U) {
> >                 boot_cpu_physical_apicid  = read_apic_id();
> > +               boot_cpu_physical_apicid = 32;
> >                 apic_version[boot_cpu_physical_apicid] =
> >                          GET_APIC_VERSION(apic_read(APIC_LVR));
> >         }
> > 
> > 
> > (Set it to whatever APICID on core0 is, I suspect it won't be zero).
> > 
> 
> Indeed, when I hack the above id to be 0x10 (as my dmesg tells) most of the BIOS
> bug messages are gone and the xen-acpi-processor driver successfully loads and
> seems to be switching frequencies ok (just a quick tight loop which made one cpu
> go from P4 to P0).

OK.  Can you try the attached patch pls? It should do the same thing
as what the debug patch does - get the _real_ APIC ID from the hypervisor.
(And as bonus it also removes the annoying:

BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10


diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..d816448 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -811,7 +811,29 @@ static void xen_io_delay(void)
 #ifdef CONFIG_X86_LOCAL_APIC
 static u32 xen_apic_read(u32 reg)
 {
-	return 0;
+	struct xen_platform_op op = {
+		.cmd = XENPF_get_cpuinfo,
+		.interface_version = XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid = 0,
+	};
+	int ret = 0;
+
+	/* Shouldn't need this as APIC is turned off for PV, and we only
+	 * get called on the bootup processor. But just in case. */
+	if (!xen_initial_domain() || smp_processor_id())
+		return 0;
+
+	if (reg == APIC_LVR)
+		return 0x10;
+
+	if (reg != APIC_ID)
+		return 0;
+
+	ret = HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return 0;
+
+	return op.u.pcpu_info.apic_id;
 }
 
 static void xen_apic_write(u32 reg, u32 val)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 16:31:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 16:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPcSP-0001Bf-Ge; Wed, 02 May 2012 16:31:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPcSM-0001BX-73
	for xen-devel@lists.xen.org; Wed, 02 May 2012 16:31:11 +0000
Received: from [193.109.254.147:30100] by server-9.bemta-14.messagelabs.com id
	C9/DE-05787-D4161AF4; Wed, 02 May 2012 16:31:09 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-5.tower-27.messagelabs.com!1335976258!4882192!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16893 invoked from network); 2 May 2012 16:30:59 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-5.tower-27.messagelabs.com with SMTP;
	2 May 2012 16:30:59 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77554134; Wed, 02 May 2012 18:30:57 +0200
Message-ID: <1335976251.2961.123.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 02 May 2012 18:30:51 +0200
In-Reply-To: <4FA0051F.6020909@eu.citrix.com>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6837791055166636165=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6837791055166636165==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-VITkHo9S8QdJpmzIjUfZ"


--=-VITkHo9S8QdJpmzIjUfZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-01 at 16:45 +0100, George Dunlap wrote:=20
> Hey Dario,
>=20
Hi again,

> Thanks for the work on this -- this is obviously a very complicated area=
=20
> to try to make sense of.  Of course, that makes it even more complicated=
=20
> to review -- sorry this has taken so long.  (comments inline)
>
Again, no problem at all!

> > +
> > +=3Ditem B<auto>
> > +
> > +use a not better specified (xl-implementation dependant) algorithm
> > +to try automatically fitting the guest on the host's NUMA nodes
> Uum, you mean, "Use the default placement algorithm"? :-)  We should=20
> specify which one this will be here.
> > +
> > +/* Automatic placement policies symbols, with the following meaning:
> > + *  NONE   : no automatic placement at all;
> > + *  STATIC : explicit nodes specification.
> > + *  FFIT   : use the First Fit algorithm for automatic placement;
> > + *  AUTO   : an not better specified automatic placement, likely
> > + *           to be implemented as a short circuit to (one of)
> > + *           the above(s);
> > + */
> > +#define NODES_POLICY_NONE    0
> > +#define NODES_POLICY_STATIC  1
> > +#define NODES_POLICY_FFIT    2
> > +#define NODES_POLICY_AUTO    3
> This is minor, but it seems like "auto" should be 1, so if we add=20
> another policy, the policies are all together, without having to move=20
> AUTO around every time.
>
Ok, I'll reorganize this bit to be more sensible, which also includes
changing the names of the policies and some others cleanups.

> > +
> > +/* Store the policy for the domain while parsing */
> > +static int nodes_policy =3D NODES_POLICY_DEFAULT;
> > +
> > +/* Store the number of nodes to be used while parsing */
> > +static int num_nodes_policy =3D 0;
> Why are "nodes_policy" and "num_nodes_policy" not passed in along with=
=20
> b_info?
>
That was my first implementation. Then I figured out that I want to do
the placement in _xl_, not in _libxl_, so I really don't need to muck up
build info with placement related stuff. Should I use b_info anyway,
even if I don't need these fields while in libxl?

> > +static int nodes_policy_parse(const char *pol, long int *policy)
> > +{
> > +    int i;
> > +    const char *n;
> > +
> > +    for (i =3D 0; i<  sizeof(nodes_policy_names) / sizeof(nodes_policy=
_names[0]); i++) {
> I personally prefer an explicit NODES_POLICY_MAX, but I'll let the libxl=
=20
> maintainers decide on that.
>
Sounds definitely nicer. I just did it like that because I found a very
similar example in xl itself, but I'm open about changing this to
whatever you and libxl maintainers reach a consensus on. :-)

> > +
> > +        /* Determine how much free memory we want on each of the nodes
> > +         * that will end up in suitable_nodes. Either adding or ignori=
ng
> > +         * the modulus of the integer division should be fine (the tot=
al
> > +         * number of nodes should be in the order of tens of them), so
> > +         * let's add it as it should be more safe.
> > +         */
> > +        memb_node =3D (memb / (*nodes)) + (memb % (*nodes));
> Wouldn't it just be easier to do a "round-up" function here, like this:
>   memb_node =3D ( (memb + *nodes -1) / (*nodes) )
>=20
Yep, it probably is, thanks. :-)

> Also, is it really necessary for a VM to have an equal amount of memory=
=20
> on every node? It seems like it would be better to have 75% on one node=
=20
> and 25% on a second node than to have 25% on four nodes, for example. =
=20
> Furthermore, insisting on an even amount fragments the node memory=20
> further -- i.e., if we chose to have 25% on four nodes instead of 75% on=
=20
> one and 25% on another, that will make it harder for another VM to fit=
=20
> on a single node as well.
>=20
Ok, that is something quite important to discuss. What you propose makes
a lot of sense, although some issues comes to my mind:

- which percent should I try, and in what order? I mean, 75%/25%
   sounds reasonable, but maybe also 80%/20% or even 60%/40% helps your=20
   point. So, should I just decide an asymmetrical layout and try it=20
   (instead of 50%/50%) or do you have some sort of "trial and error"
   approach, with different layouts being attempted one after the other,
   in mind? The problem is very complex and finding a (good) solution
   will easily start depending on which layout we try first, in which
   order we try the other ones (if at all) and on the free memory we
   have on the various nodes... We can probably state it as an integer
   optimization problem, but I'm not sure we want to put a GLPK (GNU
   Linear Programming Kit) solver within xl! :-O

- suppose I go for 75%/25%, what about the scheduling oof the VM?=20
   Right now, with 50%/50% I can set node affinity to both the nodes and
   rest ensured things won't be that bad. I'll be getting something
   in the middle between best and worst performances, as the
   benchmarks show. Doing the same with 75%/25% means I can be
   instructing the scheduler to run the VM on a node where it has far
   fewer probability of accessing local memory than the other one. OTOH,
   if setting node affinity to just the node with 75% of the mem, I'm
   risking always generating 25% of remote accesses, which will keep us
   apart from the best case performance, isn't it?

- what about the asymmetrical layout of choice (let's stick to 75%/25%)
   does not fit anywhere and I really need one more (or one less)
   node... I mean, how do I partition memory in that case?

Please, don't get me wrong, I see your point and really think it makes
sense. I've actually thought along the same line for a while, but then I
couldn't find an answers to the questions above.

That's why, kind of falling back with Xen's default "striped" approach
(although on as less nodes as possible, which is _much_ better than the
actual Xen's default!). It looked simple enough to write, read and
understand, while still providing statistically consistent performances.

If we, together, manage in sorting out the issues, I'm all for
asymmetrical placement myself! :-D

> The need for NODES_POLICY_RETRY_DEC is an artifact of the above; if=20
> nodes were allowed to be assymetric, you wouldn't need to *decrease* the=
=20
> number of nodes to find *more* memory.
>
I agree, let's try figure out how we think the heuristics should look
like, ok? That being done, I'll be happy to kill RETRY_DEC if it turns
out to be useless! :-P

> > +        /* Apply the asked retry policy for the next round. Notice
> > +         * that it would be pointless to increase nodes without also
> > +         * adding some nodes to the map! */
> > +        *nodes +=3D retry;
> > +        if (retry =3D=3D NODES_POLICY_RETRY_INC)
> > +            __add_nodes_to_nodemap(nodemap, numa, nr_nodes, retry);
> Hmm -- if I'm reading this right, the only time the nodemap won't be all=
=20
> nodes is if (1) the user specified nodes, or (2) there's a cpumask in=20
> effect.  If we're going to override that setting, wouldn't it make sense=
=20
> to just expand to all numa nodes?
>=20
As you wish, the whole "what to do if what I've been provided with
doesn't work" is in the *wild guess* status, meaning I tried to figure
out what would be best to do, but I might well be far from the actual
correct solution, provided there is one.

Trying to enlarge the nodemap step by step is potentially yielding
better performances, but is probably not so near to the "least surprise"
principle one should use when designing UIs. :-(

> Hmm -- though I suppose what you'd really want to try is adding each=20
> node in turn, rather than one at a time (i.e., if the cpus are pinned to=
=20
> nodes 2 and 3, and [2,3] doesn't work, try [1,2,3] and [2,3,4] before=20
> trying [1,2,3,4]. =20
>
Yep, that makes a real lot of sense, thanks! I can definitely try doing
that, although it will complicate the code a bit...

> But that's starting to get really complicated -- I=20
> wonder if it's better to just fail and let the user change the pinnings=
=20
> / configuration node mapping.
>
Well, that will probably be the least surprising behaviour.

Again, just let me know what you think it's best among the various
alternatives and I'll go for it.

> > +
> > +        if (use_cpus>=3D b_info->max_vcpus) {
> > +            rc =3D 0;
> > +            break;
> > +        }
> Hmm -- there's got to be a better way to find out the minimum number of=
=20
> nodes to house a given number of vcpus than just starting at 1 and=20
> re-trying until we have enough.
> > +        /* Add one more node and retry fitting the domain */
> > +        __add_nodes_to_nodemap(&new_nodemap, numa, nr_nodes, 1);
> Same comment as above.
>
I'm not sure I'm getting this. The whole point here is let's consider
free memory on the various nodes first, and then adjust the result if
some other constraints are being violated.

However, if what you mean is I could check beforehand whether or not the
user provided configuration will give us enough CPUs and avoid testing
scenarios that are guaranteed to fail, then I agree and I'll reshape the
code to look like that. This triggers the heuristics re-designing stuff
from above again, as one have to decide what to do if user asks for
"nodes=3D[1,3]" and I discover (earlier) that I need one more node for
having enough CPUs (I mean, what node should I try first?).

> >
> > +    ret =3D place_domain(&d_config.b_info);
> > +    if (ret =3D=3D ESRCH || ret =3D=3D ENOSPC) {
> > +        fprintf(stderr, "failed to place the domain, fallback to all n=
odes\n");
> > +        libxl_nodemap_set_any(&d_config.b_info.nodemap);
> Hmm -- is this the right fallback?  I think in general, if the user asks=
=20
> for X to be done, and X cannot be done for whatever reason, the right=20
> thing is to tell the user that X cannot be done and let them sort it=20
> out, rather than resorting to Y (unless that's been set).
>=20
I agree and I will go for this.

> Is it the case that if any node placement fails, then they'll all fail? =
=20
> Or to put it the other way, is it the case that if there is *some*=20
> placement, that any placement algorithm will eventually find it?  If so,=
=20
> then I think this fallback may make sense, as there's nothing for the=20
> user to really do.
>
Well, that's tricky. I  mean, if we were only talking about fitting all
the VM's memory on one single node, then yes, no matter how you order
the list of nodes, if there is at least one with enough space for the
VM, you'll find it. However, we might be dealing with "fit the VM in
multiple nodes" scenarios, which is a completely different thing, and
changing the number of nodes onto which you're trying to fit the VM will
change pretty much everything.

So, I'm not entirely sure I answered your question but the point is your
idea above is the best one: if you ask something and we don't manage in
getting it done, just stop and let you figure things out.
I've only one question about this approach, what if the automatic
placement is/becomes the default? I mean, avoiding any kind of fallback
(which again, makes sense to me in case the user is explicitly asking
something specific) would mean a completely NUMA-unaware VM creation can
be aborted even if the user did not say anything... How do we deal with
this?

> > diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> > --- a/xen/arch/x86/numa.c
> > +++ b/xen/arch/x86/numa.c
> > ...
> >=20
> This should be in its own patch.
>=20
Ok.

Thanks  lot again for taking a look!

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-VITkHo9S8QdJpmzIjUfZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+hYTsACgkQk4XaBE3IOsQcaQCeOwhFzvuKoNeM2IXEgAhh9TNC
7CoAn3AnzYx4y7K/bzJf1GskruO6Ygaq
=etUB
-----END PGP SIGNATURE-----

--=-VITkHo9S8QdJpmzIjUfZ--



--===============6837791055166636165==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6837791055166636165==--



From xen-devel-bounces@lists.xen.org Wed May 02 16:31:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 16:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPcSP-0001Bf-Ge; Wed, 02 May 2012 16:31:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPcSM-0001BX-73
	for xen-devel@lists.xen.org; Wed, 02 May 2012 16:31:11 +0000
Received: from [193.109.254.147:30100] by server-9.bemta-14.messagelabs.com id
	C9/DE-05787-D4161AF4; Wed, 02 May 2012 16:31:09 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-5.tower-27.messagelabs.com!1335976258!4882192!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16893 invoked from network); 2 May 2012 16:30:59 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-5.tower-27.messagelabs.com with SMTP;
	2 May 2012 16:30:59 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77554134; Wed, 02 May 2012 18:30:57 +0200
Message-ID: <1335976251.2961.123.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 02 May 2012 18:30:51 +0200
In-Reply-To: <4FA0051F.6020909@eu.citrix.com>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6837791055166636165=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6837791055166636165==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-VITkHo9S8QdJpmzIjUfZ"


--=-VITkHo9S8QdJpmzIjUfZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-01 at 16:45 +0100, George Dunlap wrote:=20
> Hey Dario,
>=20
Hi again,

> Thanks for the work on this -- this is obviously a very complicated area=
=20
> to try to make sense of.  Of course, that makes it even more complicated=
=20
> to review -- sorry this has taken so long.  (comments inline)
>
Again, no problem at all!

> > +
> > +=3Ditem B<auto>
> > +
> > +use a not better specified (xl-implementation dependant) algorithm
> > +to try automatically fitting the guest on the host's NUMA nodes
> Uum, you mean, "Use the default placement algorithm"? :-)  We should=20
> specify which one this will be here.
> > +
> > +/* Automatic placement policies symbols, with the following meaning:
> > + *  NONE   : no automatic placement at all;
> > + *  STATIC : explicit nodes specification.
> > + *  FFIT   : use the First Fit algorithm for automatic placement;
> > + *  AUTO   : an not better specified automatic placement, likely
> > + *           to be implemented as a short circuit to (one of)
> > + *           the above(s);
> > + */
> > +#define NODES_POLICY_NONE    0
> > +#define NODES_POLICY_STATIC  1
> > +#define NODES_POLICY_FFIT    2
> > +#define NODES_POLICY_AUTO    3
> This is minor, but it seems like "auto" should be 1, so if we add=20
> another policy, the policies are all together, without having to move=20
> AUTO around every time.
>
Ok, I'll reorganize this bit to be more sensible, which also includes
changing the names of the policies and some others cleanups.

> > +
> > +/* Store the policy for the domain while parsing */
> > +static int nodes_policy =3D NODES_POLICY_DEFAULT;
> > +
> > +/* Store the number of nodes to be used while parsing */
> > +static int num_nodes_policy =3D 0;
> Why are "nodes_policy" and "num_nodes_policy" not passed in along with=
=20
> b_info?
>
That was my first implementation. Then I figured out that I want to do
the placement in _xl_, not in _libxl_, so I really don't need to muck up
build info with placement related stuff. Should I use b_info anyway,
even if I don't need these fields while in libxl?

> > +static int nodes_policy_parse(const char *pol, long int *policy)
> > +{
> > +    int i;
> > +    const char *n;
> > +
> > +    for (i =3D 0; i<  sizeof(nodes_policy_names) / sizeof(nodes_policy=
_names[0]); i++) {
> I personally prefer an explicit NODES_POLICY_MAX, but I'll let the libxl=
=20
> maintainers decide on that.
>
Sounds definitely nicer. I just did it like that because I found a very
similar example in xl itself, but I'm open about changing this to
whatever you and libxl maintainers reach a consensus on. :-)

> > +
> > +        /* Determine how much free memory we want on each of the nodes
> > +         * that will end up in suitable_nodes. Either adding or ignori=
ng
> > +         * the modulus of the integer division should be fine (the tot=
al
> > +         * number of nodes should be in the order of tens of them), so
> > +         * let's add it as it should be more safe.
> > +         */
> > +        memb_node =3D (memb / (*nodes)) + (memb % (*nodes));
> Wouldn't it just be easier to do a "round-up" function here, like this:
>   memb_node =3D ( (memb + *nodes -1) / (*nodes) )
>=20
Yep, it probably is, thanks. :-)

> Also, is it really necessary for a VM to have an equal amount of memory=
=20
> on every node? It seems like it would be better to have 75% on one node=
=20
> and 25% on a second node than to have 25% on four nodes, for example. =
=20
> Furthermore, insisting on an even amount fragments the node memory=20
> further -- i.e., if we chose to have 25% on four nodes instead of 75% on=
=20
> one and 25% on another, that will make it harder for another VM to fit=
=20
> on a single node as well.
>=20
Ok, that is something quite important to discuss. What you propose makes
a lot of sense, although some issues comes to my mind:

- which percent should I try, and in what order? I mean, 75%/25%
   sounds reasonable, but maybe also 80%/20% or even 60%/40% helps your=20
   point. So, should I just decide an asymmetrical layout and try it=20
   (instead of 50%/50%) or do you have some sort of "trial and error"
   approach, with different layouts being attempted one after the other,
   in mind? The problem is very complex and finding a (good) solution
   will easily start depending on which layout we try first, in which
   order we try the other ones (if at all) and on the free memory we
   have on the various nodes... We can probably state it as an integer
   optimization problem, but I'm not sure we want to put a GLPK (GNU
   Linear Programming Kit) solver within xl! :-O

- suppose I go for 75%/25%, what about the scheduling oof the VM?=20
   Right now, with 50%/50% I can set node affinity to both the nodes and
   rest ensured things won't be that bad. I'll be getting something
   in the middle between best and worst performances, as the
   benchmarks show. Doing the same with 75%/25% means I can be
   instructing the scheduler to run the VM on a node where it has far
   fewer probability of accessing local memory than the other one. OTOH,
   if setting node affinity to just the node with 75% of the mem, I'm
   risking always generating 25% of remote accesses, which will keep us
   apart from the best case performance, isn't it?

- what about the asymmetrical layout of choice (let's stick to 75%/25%)
   does not fit anywhere and I really need one more (or one less)
   node... I mean, how do I partition memory in that case?

Please, don't get me wrong, I see your point and really think it makes
sense. I've actually thought along the same line for a while, but then I
couldn't find an answers to the questions above.

That's why, kind of falling back with Xen's default "striped" approach
(although on as less nodes as possible, which is _much_ better than the
actual Xen's default!). It looked simple enough to write, read and
understand, while still providing statistically consistent performances.

If we, together, manage in sorting out the issues, I'm all for
asymmetrical placement myself! :-D

> The need for NODES_POLICY_RETRY_DEC is an artifact of the above; if=20
> nodes were allowed to be assymetric, you wouldn't need to *decrease* the=
=20
> number of nodes to find *more* memory.
>
I agree, let's try figure out how we think the heuristics should look
like, ok? That being done, I'll be happy to kill RETRY_DEC if it turns
out to be useless! :-P

> > +        /* Apply the asked retry policy for the next round. Notice
> > +         * that it would be pointless to increase nodes without also
> > +         * adding some nodes to the map! */
> > +        *nodes +=3D retry;
> > +        if (retry =3D=3D NODES_POLICY_RETRY_INC)
> > +            __add_nodes_to_nodemap(nodemap, numa, nr_nodes, retry);
> Hmm -- if I'm reading this right, the only time the nodemap won't be all=
=20
> nodes is if (1) the user specified nodes, or (2) there's a cpumask in=20
> effect.  If we're going to override that setting, wouldn't it make sense=
=20
> to just expand to all numa nodes?
>=20
As you wish, the whole "what to do if what I've been provided with
doesn't work" is in the *wild guess* status, meaning I tried to figure
out what would be best to do, but I might well be far from the actual
correct solution, provided there is one.

Trying to enlarge the nodemap step by step is potentially yielding
better performances, but is probably not so near to the "least surprise"
principle one should use when designing UIs. :-(

> Hmm -- though I suppose what you'd really want to try is adding each=20
> node in turn, rather than one at a time (i.e., if the cpus are pinned to=
=20
> nodes 2 and 3, and [2,3] doesn't work, try [1,2,3] and [2,3,4] before=20
> trying [1,2,3,4]. =20
>
Yep, that makes a real lot of sense, thanks! I can definitely try doing
that, although it will complicate the code a bit...

> But that's starting to get really complicated -- I=20
> wonder if it's better to just fail and let the user change the pinnings=
=20
> / configuration node mapping.
>
Well, that will probably be the least surprising behaviour.

Again, just let me know what you think it's best among the various
alternatives and I'll go for it.

> > +
> > +        if (use_cpus>=3D b_info->max_vcpus) {
> > +            rc =3D 0;
> > +            break;
> > +        }
> Hmm -- there's got to be a better way to find out the minimum number of=
=20
> nodes to house a given number of vcpus than just starting at 1 and=20
> re-trying until we have enough.
> > +        /* Add one more node and retry fitting the domain */
> > +        __add_nodes_to_nodemap(&new_nodemap, numa, nr_nodes, 1);
> Same comment as above.
>
I'm not sure I'm getting this. The whole point here is let's consider
free memory on the various nodes first, and then adjust the result if
some other constraints are being violated.

However, if what you mean is I could check beforehand whether or not the
user provided configuration will give us enough CPUs and avoid testing
scenarios that are guaranteed to fail, then I agree and I'll reshape the
code to look like that. This triggers the heuristics re-designing stuff
from above again, as one have to decide what to do if user asks for
"nodes=3D[1,3]" and I discover (earlier) that I need one more node for
having enough CPUs (I mean, what node should I try first?).

> >
> > +    ret =3D place_domain(&d_config.b_info);
> > +    if (ret =3D=3D ESRCH || ret =3D=3D ENOSPC) {
> > +        fprintf(stderr, "failed to place the domain, fallback to all n=
odes\n");
> > +        libxl_nodemap_set_any(&d_config.b_info.nodemap);
> Hmm -- is this the right fallback?  I think in general, if the user asks=
=20
> for X to be done, and X cannot be done for whatever reason, the right=20
> thing is to tell the user that X cannot be done and let them sort it=20
> out, rather than resorting to Y (unless that's been set).
>=20
I agree and I will go for this.

> Is it the case that if any node placement fails, then they'll all fail? =
=20
> Or to put it the other way, is it the case that if there is *some*=20
> placement, that any placement algorithm will eventually find it?  If so,=
=20
> then I think this fallback may make sense, as there's nothing for the=20
> user to really do.
>
Well, that's tricky. I  mean, if we were only talking about fitting all
the VM's memory on one single node, then yes, no matter how you order
the list of nodes, if there is at least one with enough space for the
VM, you'll find it. However, we might be dealing with "fit the VM in
multiple nodes" scenarios, which is a completely different thing, and
changing the number of nodes onto which you're trying to fit the VM will
change pretty much everything.

So, I'm not entirely sure I answered your question but the point is your
idea above is the best one: if you ask something and we don't manage in
getting it done, just stop and let you figure things out.
I've only one question about this approach, what if the automatic
placement is/becomes the default? I mean, avoiding any kind of fallback
(which again, makes sense to me in case the user is explicitly asking
something specific) would mean a completely NUMA-unaware VM creation can
be aborted even if the user did not say anything... How do we deal with
this?

> > diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> > --- a/xen/arch/x86/numa.c
> > +++ b/xen/arch/x86/numa.c
> > ...
> >=20
> This should be in its own patch.
>=20
Ok.

Thanks  lot again for taking a look!

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-VITkHo9S8QdJpmzIjUfZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+hYTsACgkQk4XaBE3IOsQcaQCeOwhFzvuKoNeM2IXEgAhh9TNC
7CoAn3AnzYx4y7K/bzJf1GskruO6Ygaq
=etUB
-----END PGP SIGNATURE-----

--=-VITkHo9S8QdJpmzIjUfZ--



--===============6837791055166636165==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6837791055166636165==--



From xen-devel-bounces@lists.xen.org Wed May 02 17:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPcvv-0001TD-Cc; Wed, 02 May 2012 17:01:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPcvt-0001T8-Ew
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:01:41 +0000
Received: from [85.158.143.35:40931] by server-3.bemta-4.messagelabs.com id
	A6/A2-05853-47861AF4; Wed, 02 May 2012 17:01:40 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-8.tower-21.messagelabs.com!1335978100!15715991!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8508 invoked from network); 2 May 2012 17:01:40 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-8.tower-21.messagelabs.com with SMTP;
	2 May 2012 17:01:40 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id DA2DB1AC1A2;
	Wed,  2 May 2012 19:01:38 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id wq9A1_GwdMQj; Wed,  2 May 2012 19:01:38 +0200 (CEST)
Received: from [10.0.0.1] (p5794633D.dip.t-dialin.net [87.148.99.61])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Wed,  2 May 2012 19:01:38 +0200 (CEST)
Message-ID: <4FA16875.5020801@hfp.de>
Date: Wed, 02 May 2012 19:01:41 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <dvrabel@cantab.net>
References: <4FA1328B.6070602@hfp.de> <4FA13708.4050202@cantab.net>
In-Reply-To: <4FA13708.4050202@cantab.net>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02.05.2012 15:30, David Vrabel wrote:
> Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
> check for pending events when restoring irq flags"[1] and see how much
> it helps?

There is some minor improvement - but it is still far away from xenified 
2.6.34.10.

time emerge apache:

		3.2.12-dom0	3.3.4-dom0 (w. patch)	2.6.34.10-dom0
	real    1m0.560s	0m59.971s (0m58.029s)	0m47.689s
	user    0m40.939s	0m40.619s (0m40.291s)	0m41.355s
	sys     0m18.865s	0m18.305s (0m16.837s)	0m11.441s

time make -j4 (3.2.12 linux compile):

		3.2.12-dom0	3.3.4-dom0 (w. patch)	2.6.34.10-dom0
	real    5m8.793s	5m4.888s  (5m1.408s)	4m20.576s
	user    8m1.746s	7m59.726s (7m57.534s)	7m10.375s
	sys     1m39.010s	1m32.994s (1m29.518s)	0m56.304s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 17:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPcvv-0001TD-Cc; Wed, 02 May 2012 17:01:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPcvt-0001T8-Ew
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:01:41 +0000
Received: from [85.158.143.35:40931] by server-3.bemta-4.messagelabs.com id
	A6/A2-05853-47861AF4; Wed, 02 May 2012 17:01:40 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-8.tower-21.messagelabs.com!1335978100!15715991!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8508 invoked from network); 2 May 2012 17:01:40 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-8.tower-21.messagelabs.com with SMTP;
	2 May 2012 17:01:40 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id DA2DB1AC1A2;
	Wed,  2 May 2012 19:01:38 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id wq9A1_GwdMQj; Wed,  2 May 2012 19:01:38 +0200 (CEST)
Received: from [10.0.0.1] (p5794633D.dip.t-dialin.net [87.148.99.61])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Wed,  2 May 2012 19:01:38 +0200 (CEST)
Message-ID: <4FA16875.5020801@hfp.de>
Date: Wed, 02 May 2012 19:01:41 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <dvrabel@cantab.net>
References: <4FA1328B.6070602@hfp.de> <4FA13708.4050202@cantab.net>
In-Reply-To: <4FA13708.4050202@cantab.net>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02.05.2012 15:30, David Vrabel wrote:
> Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
> check for pending events when restoring irq flags"[1] and see how much
> it helps?

There is some minor improvement - but it is still far away from xenified 
2.6.34.10.

time emerge apache:

		3.2.12-dom0	3.3.4-dom0 (w. patch)	2.6.34.10-dom0
	real    1m0.560s	0m59.971s (0m58.029s)	0m47.689s
	user    0m40.939s	0m40.619s (0m40.291s)	0m41.355s
	sys     0m18.865s	0m18.305s (0m16.837s)	0m11.441s

time make -j4 (3.2.12 linux compile):

		3.2.12-dom0	3.3.4-dom0 (w. patch)	2.6.34.10-dom0
	real    5m8.793s	5m4.888s  (5m1.408s)	4m20.576s
	user    8m1.746s	7m59.726s (7m57.534s)	7m10.375s
	sys     1m39.010s	1m32.994s (1m29.518s)	0m56.304s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 17:07:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:07:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPd0s-0001aW-3m; Wed, 02 May 2012 17:06:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPd0q-0001aQ-Ur
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:06:49 +0000
Received: from [85.158.143.35:58615] by server-3.bemta-4.messagelabs.com id
	F9/27-05853-8A961AF4; Wed, 02 May 2012 17:06:48 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335978405!13804607!1
X-Originating-IP: [216.32.180.12]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29689 invoked from network); 2 May 2012 17:06:46 -0000
Received: from va3ehsobe002.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.12)
	by server-6.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 17:06:46 -0000
Received: from mail144-va3-R.bigfish.com (10.7.14.252) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 17:06:36 +0000
Received: from mail144-va3 (localhost [127.0.0.1])	by
	mail144-va3-R.bigfish.com (Postfix) with ESMTP id 68E0D120319;
	Wed,  2 May 2012 17:06:36 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail144-va3 (localhost.localdomain [127.0.0.1]) by mail144-va3
	(MessageSwitch) id 1335978394589923_5152;
	Wed,  2 May 2012 17:06:34 +0000 (UTC)
Received: from VA3EHSMHS001.bigfish.com (unknown [10.7.14.240])	by
	mail144-va3.bigfish.com (Postfix) with ESMTP id 80B8820083;
	Wed,  2 May 2012 17:06:34 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS001.bigfish.com (10.7.99.11) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 17:06:32 +0000
X-WSS-ID: 0M3ENJ0-02-8QT-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 22F97C8102;	Wed,  2 May 2012 12:06:36 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 2 May 2012 12:06:48 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	12:06:36 -0500
Message-ID: <4FA1699A.9070405@amd.com>
Date: Wed, 2 May 2012 13:06:34 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
In-Reply-To: <20120502160812.GA6611@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..d816448 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>   #ifdef CONFIG_X86_LOCAL_APIC
>   static u32 xen_apic_read(u32 reg)
>   {
> -	return 0;
> +	struct xen_platform_op op = {
> +		.cmd = XENPF_get_cpuinfo,
> +		.interface_version = XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid = 0,


Is this always zero? This will probably solve the current problem but I 
am wondering whether in the future we might hit another bug because this 
routine will return the same APICID for all VCPUs.

-boris


> +	};
> +	int ret = 0;
> +
> +	/* Shouldn't need this as APIC is turned off for PV, and we only
> +	 * get called on the bootup processor. But just in case. */
> +	if (!xen_initial_domain() || smp_processor_id())
> +		return 0;
> +
> +	if (reg == APIC_LVR)
> +		return 0x10;
> +
> +	if (reg != APIC_ID)
> +		return 0;
> +
> +	ret = HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return 0;
> +
> +	return op.u.pcpu_info.apic_id;
>   }
>
>   static void xen_apic_write(u32 reg, u32 val)
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 17:07:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:07:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPd0s-0001aW-3m; Wed, 02 May 2012 17:06:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPd0q-0001aQ-Ur
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:06:49 +0000
Received: from [85.158.143.35:58615] by server-3.bemta-4.messagelabs.com id
	F9/27-05853-8A961AF4; Wed, 02 May 2012 17:06:48 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1335978405!13804607!1
X-Originating-IP: [216.32.180.12]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29689 invoked from network); 2 May 2012 17:06:46 -0000
Received: from va3ehsobe002.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.12)
	by server-6.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 17:06:46 -0000
Received: from mail144-va3-R.bigfish.com (10.7.14.252) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 17:06:36 +0000
Received: from mail144-va3 (localhost [127.0.0.1])	by
	mail144-va3-R.bigfish.com (Postfix) with ESMTP id 68E0D120319;
	Wed,  2 May 2012 17:06:36 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail144-va3 (localhost.localdomain [127.0.0.1]) by mail144-va3
	(MessageSwitch) id 1335978394589923_5152;
	Wed,  2 May 2012 17:06:34 +0000 (UTC)
Received: from VA3EHSMHS001.bigfish.com (unknown [10.7.14.240])	by
	mail144-va3.bigfish.com (Postfix) with ESMTP id 80B8820083;
	Wed,  2 May 2012 17:06:34 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS001.bigfish.com (10.7.99.11) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 17:06:32 +0000
X-WSS-ID: 0M3ENJ0-02-8QT-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 22F97C8102;	Wed,  2 May 2012 12:06:36 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 2 May 2012 12:06:48 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	12:06:36 -0500
Message-ID: <4FA1699A.9070405@amd.com>
Date: Wed, 2 May 2012 13:06:34 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
In-Reply-To: <20120502160812.GA6611@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..d816448 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>   #ifdef CONFIG_X86_LOCAL_APIC
>   static u32 xen_apic_read(u32 reg)
>   {
> -	return 0;
> +	struct xen_platform_op op = {
> +		.cmd = XENPF_get_cpuinfo,
> +		.interface_version = XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid = 0,


Is this always zero? This will probably solve the current problem but I 
am wondering whether in the future we might hit another bug because this 
routine will return the same APICID for all VCPUs.

-boris


> +	};
> +	int ret = 0;
> +
> +	/* Shouldn't need this as APIC is turned off for PV, and we only
> +	 * get called on the bootup processor. But just in case. */
> +	if (!xen_initial_domain() || smp_processor_id())
> +		return 0;
> +
> +	if (reg == APIC_LVR)
> +		return 0x10;
> +
> +	if (reg != APIC_ID)
> +		return 0;
> +
> +	ret = HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return 0;
> +
> +	return op.u.pcpu_info.apic_id;
>   }
>
>   static void xen_apic_write(u32 reg, u32 val)
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 17:21:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:21:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPdEk-0001mI-Ht; Wed, 02 May 2012 17:21:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPdEj-0001mA-0Z
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:21:09 +0000
Received: from [85.158.138.51:12115] by server-8.bemta-3.messagelabs.com id
	7B/54-24428-40D61AF4; Wed, 02 May 2012 17:21:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1335979266!24845324!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNzY0OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 835 invoked from network); 2 May 2012 17:21:07 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 17:21:07 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42HL1in010033
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 17:21:01 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42HL0OZ015786
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 17:21:00 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42HL0FR000510; Wed, 2 May 2012 12:21:00 -0500
Received: from phenom.dumpdata.com (/209.6.85.33) by default (Oracle Beehive
	Gateway v4.0) with ESMTP ; Wed, 02 May 2012 10:19:56 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000) id 5380940357;
	Wed,  2 May 2012 13:14:15 -0400 (EDT)
USER-AGENT: Mutt/1.5.21 (2010-09-15)
MIME-Version: 1.0
Message-ID: <20120502171415.GA17477@phenom.dumpdata.com>
Date: Wed, 2 May 2012 10:14:15 -0700 (PDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com> <4FA06541.7050607@amd.com>
	<4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
In-Reply-To: <4FA1699A.9070405@amd.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> >diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >index a8f8844..d816448 100644
> >--- a/arch/x86/xen/enlighten.c
> >+++ b/arch/x86/xen/enlighten.c
> >@@ -811,7 +811,29 @@ static void xen_io_delay(void)
> >  #ifdef CONFIG_X86_LOCAL_APIC
> >  static u32 xen_apic_read(u32 reg)
> >  {
> >-	return 0;
> >+	struct xen_platform_op op = {
> >+		.cmd = XENPF_get_cpuinfo,
> >+		.interface_version = XENPF_INTERFACE_VERSION,
> >+		.u.pcpu_info.xen_cpuid = 0,
> 
> 
> Is this always zero? This will probably solve the current problem

Its a CPU number (not tied in to APIC or ACPI IDs).

> but I am wondering whether in the future we might hit another bug
> because this routine will return the same APICID for all VCPUs.

 Later on it does a check for 'smp_processor_id()' - and if
that is anything but zero it will bail out.

So this shoudl solve the problem for the bootup processor.
> 
> -boris
> 
> 
> >+	};
> >+	int ret = 0;
> >+
> >+	/* Shouldn't need this as APIC is turned off for PV, and we only
> >+	 * get called on the bootup processor. But just in case. */
> >+	if (!xen_initial_domain() || smp_processor_id())
> >+		return 0;
> >+
> >+	if (reg == APIC_LVR)
> >+		return 0x10;
> >+
> >+	if (reg != APIC_ID)
> >+		return 0;
> >+
> >+	ret = HYPERVISOR_dom0_op(&op);
> >+	if (ret)
> >+		return 0;
> >+
> >+	return op.u.pcpu_info.apic_id;
> >  }
> >
> >  static void xen_apic_write(u32 reg, u32 val)
> >
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 17:21:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:21:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPdEk-0001mI-Ht; Wed, 02 May 2012 17:21:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPdEj-0001mA-0Z
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:21:09 +0000
Received: from [85.158.138.51:12115] by server-8.bemta-3.messagelabs.com id
	7B/54-24428-40D61AF4; Wed, 02 May 2012 17:21:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1335979266!24845324!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUwNzY0OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 835 invoked from network); 2 May 2012 17:21:07 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 17:21:07 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42HL1in010033
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 17:21:01 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42HL0OZ015786
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 17:21:00 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42HL0FR000510; Wed, 2 May 2012 12:21:00 -0500
Received: from phenom.dumpdata.com (/209.6.85.33) by default (Oracle Beehive
	Gateway v4.0) with ESMTP ; Wed, 02 May 2012 10:19:56 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000) id 5380940357;
	Wed,  2 May 2012 13:14:15 -0400 (EDT)
USER-AGENT: Mutt/1.5.21 (2010-09-15)
MIME-Version: 1.0
Message-ID: <20120502171415.GA17477@phenom.dumpdata.com>
Date: Wed, 2 May 2012 10:14:15 -0700 (PDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com> <4FA06541.7050607@amd.com>
	<4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
In-Reply-To: <4FA1699A.9070405@amd.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> >diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >index a8f8844..d816448 100644
> >--- a/arch/x86/xen/enlighten.c
> >+++ b/arch/x86/xen/enlighten.c
> >@@ -811,7 +811,29 @@ static void xen_io_delay(void)
> >  #ifdef CONFIG_X86_LOCAL_APIC
> >  static u32 xen_apic_read(u32 reg)
> >  {
> >-	return 0;
> >+	struct xen_platform_op op = {
> >+		.cmd = XENPF_get_cpuinfo,
> >+		.interface_version = XENPF_INTERFACE_VERSION,
> >+		.u.pcpu_info.xen_cpuid = 0,
> 
> 
> Is this always zero? This will probably solve the current problem

Its a CPU number (not tied in to APIC or ACPI IDs).

> but I am wondering whether in the future we might hit another bug
> because this routine will return the same APICID for all VCPUs.

 Later on it does a check for 'smp_processor_id()' - and if
that is anything but zero it will bail out.

So this shoudl solve the problem for the bootup processor.
> 
> -boris
> 
> 
> >+	};
> >+	int ret = 0;
> >+
> >+	/* Shouldn't need this as APIC is turned off for PV, and we only
> >+	 * get called on the bootup processor. But just in case. */
> >+	if (!xen_initial_domain() || smp_processor_id())
> >+		return 0;
> >+
> >+	if (reg == APIC_LVR)
> >+		return 0x10;
> >+
> >+	if (reg != APIC_ID)
> >+		return 0;
> >+
> >+	ret = HYPERVISOR_dom0_op(&op);
> >+	if (ret)
> >+		return 0;
> >+
> >+	return op.u.pcpu_info.apic_id;
> >  }
> >
> >  static void xen_apic_write(u32 reg, u32 val)
> >
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 17:52:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:52:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPdi9-00020P-34; Wed, 02 May 2012 17:51:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SPdi6-00020K-Um
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:51:31 +0000
Received: from [193.109.254.147:46082] by server-9.bemta-14.messagelabs.com id
	B0/6C-05787-22471AF4; Wed, 02 May 2012 17:51:30 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1335981088!7317755!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA1MjU1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3453 invoked from network); 2 May 2012 17:51:29 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 17:51:29 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42HpQYD014390
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 17:51:27 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42HpPid007934
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 17:51:26 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42HpPDv023440; Wed, 2 May 2012 12:51:25 -0500
MIME-Version: 1.0
Message-ID: <3a2da977-299d-4200-8f31-542b8a4fcb34@default>
Date: Wed, 2 May 2012 10:51:12 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Jana Saout <jana@saout.de>
References: <1335728058.4574.18.camel@localhost>
	<d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
	<1335953632.3599.16.camel@localhost>
In-Reply-To: <1335953632.3599.16.camel@localhost>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com, Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Jana Saout [mailto:jana@saout.de]
> Subject: Re: [Xen-devel] Self-ballooning question / cache issue
> 

Hi Jana --

Since you have tested this patch and have found it useful, and
since its use is entirely optional, it is OK with me for it to
be upstreamed at the next window.  Konrad cc'ed.

You will need to add a Signed-off-by line to the patch
but other than that you can consider it

Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>

> > Your idea of the tunable is interesting (and patches are always
> > welcome!) but I am skeptical that it will solve the problem
> > since I would guess the Linux kernel is shrinking dcache
> > proportional to the size of the page cache.  So adding more
> > RAM with your "user-specified amount of pages that is
> > added on top of the computed target number of pages",
> > the RAM will still be shared across all caches and only
> > some small portion of the added RAM will likely be used
> > for dcache.
> 
> That's true.  In fact, I have to add about 1 GB of memory in order to
> keep the relevant dcache / inode cache entries to stay in the cache.
> When I do that the largest portion of memory is still eaten up by the
> regular page cache.  So this is more of a workaround than a solution,
> but for now it works.
> 
> I've attached the simple patch I've whipped up below.
> 
> > However, if you have a chance to try it, I would be interested
> > in your findings.  Note that you already can set a
> > permanent floor for selfballooning ("min_usable_mb") or,
> > of course, just turn off selfballooning altogether.
> 
> Sure, that's always a possibility.  However, the VM already had an
> overly large amount of memory before to avoid the problem.  Now it runs
> with less memory (still a bit more than required), and when a load spike
> comes, it can quickly balloon up, which is exactly what I was looking
> for.
> 
> 	Jana
> 
> ----
> Author: Jana Saout <jana@saout.de>
> Date:   Sun Apr 29 22:09:29 2012 +0200
> 
>     Add selfballoning memory reservation tunable.
> 
> diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
> index 146c948..7d041cb 100644
> --- a/drivers/xen/xen-selfballoon.c
> +++ b/drivers/xen/xen-selfballoon.c
> @@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
>   */
>  static unsigned int selfballoon_min_usable_mb;
> 
> +/*
> + * Amount of RAM in MB to add to the target number of pages.
> + * Can be used to reserve some more room for caches and the like.
> + */
> +static unsigned int selfballoon_reserved_mb;
> +
>  static void selfballoon_process(struct work_struct *work);
>  static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
> 
> @@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
>  		cur_pages = totalram_pages;
>  		tgt_pages = cur_pages; /* default is no change */
>  		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
> -				totalreserve_pages;
> +				totalreserve_pages +
> +				MB2PAGES(selfballoon_reserved_mb);
>  #ifdef CONFIG_FRONTSWAP
>  		/* allow space for frontswap pages to be repatriated */
>  		if (frontswap_selfshrinking && frontswap_enabled)
> @@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
>  		   show_selfballoon_min_usable_mb,
>  		   store_selfballoon_min_usable_mb);
> 
> +SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
> +				selfballoon_reserved_mb);
> +
> +static ssize_t store_selfballoon_reserved_mb(struct device *dev,
> +					     struct device_attribute *attr,
> +					     const char *buf,
> +					     size_t count)
> +{
> +	unsigned long val;
> +	int err;
> +
> +	if (!capable(CAP_SYS_ADMIN))
> +		return -EPERM;
> +	err = strict_strtoul(buf, 10, &val);
> +	if (err)
> +		return -EINVAL;
> +	selfballoon_reserved_mb = val;
> +	return count;
> +}
> +
> +static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
> +		   show_selfballoon_reserved_mb,
> +		   store_selfballoon_reserved_mb);
> +
> 
>  #ifdef CONFIG_FRONTSWAP
>  SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
> @@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
>  	&dev_attr_selfballoon_downhysteresis.attr,
>  	&dev_attr_selfballoon_uphysteresis.attr,
>  	&dev_attr_selfballoon_min_usable_mb.attr,
> +	&dev_attr_selfballoon_reserved_mb.attr,
>  #ifdef CONFIG_FRONTSWAP
>  	&dev_attr_frontswap_selfshrinking.attr,
>  	&dev_attr_frontswap_hysteresis.attr,
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 17:52:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 17:52:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPdi9-00020P-34; Wed, 02 May 2012 17:51:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SPdi6-00020K-Um
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 17:51:31 +0000
Received: from [193.109.254.147:46082] by server-9.bemta-14.messagelabs.com id
	B0/6C-05787-22471AF4; Wed, 02 May 2012 17:51:30 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1335981088!7317755!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA1MjU1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3453 invoked from network); 2 May 2012 17:51:29 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 17:51:29 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42HpQYD014390
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 17:51:27 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42HpPid007934
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 17:51:26 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42HpPDv023440; Wed, 2 May 2012 12:51:25 -0500
MIME-Version: 1.0
Message-ID: <3a2da977-299d-4200-8f31-542b8a4fcb34@default>
Date: Wed, 2 May 2012 10:51:12 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Jana Saout <jana@saout.de>
References: <1335728058.4574.18.camel@localhost>
	<d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
	<1335953632.3599.16.camel@localhost>
In-Reply-To: <1335953632.3599.16.camel@localhost>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com, Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Jana Saout [mailto:jana@saout.de]
> Subject: Re: [Xen-devel] Self-ballooning question / cache issue
> 

Hi Jana --

Since you have tested this patch and have found it useful, and
since its use is entirely optional, it is OK with me for it to
be upstreamed at the next window.  Konrad cc'ed.

You will need to add a Signed-off-by line to the patch
but other than that you can consider it

Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>

> > Your idea of the tunable is interesting (and patches are always
> > welcome!) but I am skeptical that it will solve the problem
> > since I would guess the Linux kernel is shrinking dcache
> > proportional to the size of the page cache.  So adding more
> > RAM with your "user-specified amount of pages that is
> > added on top of the computed target number of pages",
> > the RAM will still be shared across all caches and only
> > some small portion of the added RAM will likely be used
> > for dcache.
> 
> That's true.  In fact, I have to add about 1 GB of memory in order to
> keep the relevant dcache / inode cache entries to stay in the cache.
> When I do that the largest portion of memory is still eaten up by the
> regular page cache.  So this is more of a workaround than a solution,
> but for now it works.
> 
> I've attached the simple patch I've whipped up below.
> 
> > However, if you have a chance to try it, I would be interested
> > in your findings.  Note that you already can set a
> > permanent floor for selfballooning ("min_usable_mb") or,
> > of course, just turn off selfballooning altogether.
> 
> Sure, that's always a possibility.  However, the VM already had an
> overly large amount of memory before to avoid the problem.  Now it runs
> with less memory (still a bit more than required), and when a load spike
> comes, it can quickly balloon up, which is exactly what I was looking
> for.
> 
> 	Jana
> 
> ----
> Author: Jana Saout <jana@saout.de>
> Date:   Sun Apr 29 22:09:29 2012 +0200
> 
>     Add selfballoning memory reservation tunable.
> 
> diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
> index 146c948..7d041cb 100644
> --- a/drivers/xen/xen-selfballoon.c
> +++ b/drivers/xen/xen-selfballoon.c
> @@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
>   */
>  static unsigned int selfballoon_min_usable_mb;
> 
> +/*
> + * Amount of RAM in MB to add to the target number of pages.
> + * Can be used to reserve some more room for caches and the like.
> + */
> +static unsigned int selfballoon_reserved_mb;
> +
>  static void selfballoon_process(struct work_struct *work);
>  static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
> 
> @@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
>  		cur_pages = totalram_pages;
>  		tgt_pages = cur_pages; /* default is no change */
>  		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
> -				totalreserve_pages;
> +				totalreserve_pages +
> +				MB2PAGES(selfballoon_reserved_mb);
>  #ifdef CONFIG_FRONTSWAP
>  		/* allow space for frontswap pages to be repatriated */
>  		if (frontswap_selfshrinking && frontswap_enabled)
> @@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
>  		   show_selfballoon_min_usable_mb,
>  		   store_selfballoon_min_usable_mb);
> 
> +SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
> +				selfballoon_reserved_mb);
> +
> +static ssize_t store_selfballoon_reserved_mb(struct device *dev,
> +					     struct device_attribute *attr,
> +					     const char *buf,
> +					     size_t count)
> +{
> +	unsigned long val;
> +	int err;
> +
> +	if (!capable(CAP_SYS_ADMIN))
> +		return -EPERM;
> +	err = strict_strtoul(buf, 10, &val);
> +	if (err)
> +		return -EINVAL;
> +	selfballoon_reserved_mb = val;
> +	return count;
> +}
> +
> +static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
> +		   show_selfballoon_reserved_mb,
> +		   store_selfballoon_reserved_mb);
> +
> 
>  #ifdef CONFIG_FRONTSWAP
>  SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
> @@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
>  	&dev_attr_selfballoon_downhysteresis.attr,
>  	&dev_attr_selfballoon_uphysteresis.attr,
>  	&dev_attr_selfballoon_min_usable_mb.attr,
> +	&dev_attr_selfballoon_reserved_mb.attr,
>  #ifdef CONFIG_FRONTSWAP
>  	&dev_attr_frontswap_selfshrinking.attr,
>  	&dev_attr_frontswap_hysteresis.attr,
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 18:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 18:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPeVL-0002PC-M9; Wed, 02 May 2012 18:42:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SPeVK-0002P7-1G
	for xen-devel@lists.xen.org; Wed, 02 May 2012 18:42:22 +0000
Received: from [85.158.139.83:11251] by server-8.bemta-5.messagelabs.com id
	9A/81-26964-D0081AF4; Wed, 02 May 2012 18:42:21 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1335984137!26463529!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3888 invoked from network); 2 May 2012 18:42:19 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 18:42:19 -0000
Received: by qafl39 with SMTP id l39so927004qaf.16
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 11:42:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=ezmfeRlos+NC8jw2DmcgqdI9f44gl0Fd981ysoQ4OGA=;
	b=SA9O6QYHLCvo7FCrjTIQn367CoRTvaTBg+GmNHWEfwuXD6WEPlp25HcMkZCfOaY1+b
	Ph+TUzRz3fPOJP3fgfBEUHy2Zj53IGW3TnLsPmwQ+OR8GIFf8lFPEUCw/NT9zpLYCSox
	rMr4E07PlMV8ZxTus1dvXTzcaLi74Q+wRc2h8YfDMusXdDjJWDwKbHlI5Lsk4AtAbQHp
	XSqYq+ye8c0dnXuimWyTibgrHesXzphbnb+kqFccefqdJdK0fd+G4cczV8wylXlX91a+
	WgzUiFotYkDTaJKiPhpjxg69T1e8zIO/5tcBQN2Rmf63O7u8IZJBtvZWR6kJ30roBwsH
	PoiA==
MIME-Version: 1.0
Received: by 10.224.100.71 with SMTP id x7mr25973331qan.92.1335984136470; Wed,
	02 May 2012 11:42:16 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Wed, 2 May 2012 11:42:16 -0700 (PDT)
In-Reply-To: <4FA113B902000078000810C3@nat28.tlf.novell.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
Date: Wed, 2 May 2012 11:42:16 -0700
Message-ID: <CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xen.org>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> w=
rote:
>> I somehow thought that this has been fixed but I've been
>> getting reports that people are running into this.
>
> "this" being what? I too thought that all xsave related issues were
> sorted out by now.

I see the following crash if I run without xsave=3D0 with Ubuntu 11.10
3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.

[    7.509303] invalid opcode: 0000 [#1] SMP
[    7.509319] CPU 0
[    7.509325] Modules linked in:
[    7.509337]
[    7.509347] Pid: 0, comm: swapper Not tainted 3.0.0-17-generic
#30-Ubuntu LENOVO 4286CTO/4286CTO
[    7.509371] RIP: e030:[<ffffffff810140ec>]  [<ffffffff810140ec>]
xstate_enable+0x3c/0x50
[    7.509399] RSP: e02b:ffffffff81c01e58  EFLAGS: 00010046
[    7.509409] RAX: 0000000000000007 RBX: ffffffff81c01e94 RCX: 00000000000=
00000
[    7.509419] RDX: 0000000000000000 RSI: 0000000000000007 RDI: 00000000000=
02660
[    7.509430] RBP: ffffffff81c01e58 R08: ffffffff81c01e90 R09: ffffffff81c=
01e94
[    7.509440] R10: 00000000ffffffff R11: 00000000ffffffff R12: ffffffff81c=
01e90
[    7.509501] R13: ffffffff81c01e8c R14: ffffffff81c01e88 R15: ffff8801e97=
ecd00
[    7.509519] FS:  0000000000000000(0000) GS:ffff8801e97e0000(0000)
knlGS:0000000000000000
[    7.509530] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    7.509539] CR2: 0000000000000000 CR3: 0000000001c03000 CR4: 00000000000=
02660
[    7.509550] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000000=
00000
[    7.509561] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 00000000000=
00400
[    7.509573] Process swapper (pid: 0, threadinfo ffffffff81c00000,
task ffffffff81c0b020)
[    7.509582] Stack:
[    7.509589]  ffffffff81c01ec8 ffffffff81cd97ac 0000000000000040
0000000000000000
[    7.509613]  ffffffff81007b4f ffffffff81004057 0000024000000007
0000000000000340
[    7.509637]  ffff8801e97eb100 0000000000000008 0000000000000004
0000000000000000
[    7.509660] Call Trace:
[    7.509679]  [<ffffffff81cd97ac>] xstate_enable_boot_cpu+0xa9/0x174
[    7.509698]  [<ffffffff81007b4f>] ? xen_restore_fl_direct_reloc+0x4/0x4
[    7.509712]  [<ffffffff81004057>] ? xen_write_cr0+0x77/0x90
[    7.509730]  [<ffffffff815d06eb>] xsave_init+0x26/0x28
[    7.509744]  [<ffffffff815d2932>] cpu_init+0x2bb/0x2d8
[    7.509759]  [<ffffffff81cd5ff4>] trap_init+0x169/0x171
[    7.509774]  [<ffffffff81cd0a27>] start_kernel+0x1d0/0x3df
[    7.509789]  [<ffffffff81cd0388>] x86_64_start_reservations+0x132/0x136
[    7.509805]  [<ffffffff81cd3ec6>] xen_start_kernel+0x5ac/0x5b3
[    7.509814] Code: 00 04 00 ff 14 25 10 33 c1 81 48 89 c7 48 81 cf
00 00 04 00 ff 14 25 18 33 c1 81 48 8b 05 0d 15 db 00 31 c9 48 89 c2
48 c1 ea 20 <0f> 01 d1 5d c3 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00
00 55
[    7.510045] RIP  [<ffffffff810140ec>] xstate_enable+0x3c/0x50
[    7.510062]  RSP <ffffffff81c01e58>
[    7.510086] ---[ end trace a7919e7f17c0a725 ]---
[    7.510097] Kernel panic - not syncing: Attempted to kill the idle task!
[    7.510109] Pid: 0, comm: swapper Tainted: G      D
3.0.0-17-generic #30-Ubuntu
[    7.510119] Call Trace:
[    7.510134]  [<ffffffff815dca66>] panic+0x91/0x194
[    7.510151]  [<ffffffff8106344b>] do_exit+0x40b/0x440
[    7.510168]  [<ffffffff815f4350>] oops_end+0xb0/0xf0
[    7.510181]  [<ffffffff8100d938>] die+0x58/0x90
[    7.510195]  [<ffffffff815f3a34>] do_trap+0xc4/0x170
[    7.510211]  [<ffffffff8100af25>] do_invalid_op+0x95/0xb0
[    7.510226]  [<ffffffff810140ec>] ? xstate_enable+0x3c/0x50
[    7.510240]  [<ffffffff81007b62>] ? check_events+0x12/0x20
[    7.510255]  [<ffffffff81008239>] ? get_phys_to_machine+0x9/0x70
[    7.510269]  [<ffffffff81005c69>] ? pte_mfn_to_pfn+0x89/0xf0
[    7.510283]  [<ffffffff8100743d>] ? xen_force_evtchn_callback+0xd/0x10
[    7.510299]  [<ffffffff815fc2db>] invalid_op+0x1b/0x20
[    7.510315]  [<ffffffff810140ec>] ? xstate_enable+0x3c/0x50
[    7.510329]  [<ffffffff810140dc>] ? xstate_enable+0x2c/0x50
[    7.510343]  [<ffffffff81cd97ac>] xstate_enable_boot_cpu+0xa9/0x174
[    7.510358]  [<ffffffff81007b4f>] ? xen_restore_fl_direct_reloc+0x4/0x4
[    7.510371]  [<ffffffff81004057>] ? xen_write_cr0+0x77/0x90
[    7.510385]  [<ffffffff815d06eb>] xsave_init+0x26/0x28
[    7.510399]  [<ffffffff815d2932>] cpu_init+0x2bb/0x2d8
[    7.510413]  [<ffffffff81cd5ff4>] trap_init+0x169/0x171
[    7.510427]  [<ffffffff81cd0a27>] start_kernel+0x1d0/0x3df
[    7.510441]  [<ffffffff81cd0388>] x86_64_start_reservations+0x132/0x136
[    7.510457]  [<ffffffff81cd3ec6>] xen_start_kernel+0x5ac/0x5b3
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
(XEN) Resetting with ACPI MEMORY or I/O RESET_REG.


>> What kind of fix do I need the in the kernel? I see this:
>> =A0255 =A0 =A0 =A0 =A0 xen_cpuid(&ax, &bx, &cx, &dx);
>> =A0256
>> =A0257 =A0 =A0 =A0 =A0 xsave_mask =3D
>> =A0258 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (1 << (X86_FEATURE_XSAVE % 32)) |
>> =A0259 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (1 << (X86_FEATURE_OSXSAVE % 32));
>> =A0260
>> =A0261 =A0 =A0 =A0 =A0 /* Xen will set CR4.OSXSAVE if supported and not =
disabled by
>> force */
>> =A0262 =A0 =A0 =A0 =A0 if ((cx & xsave_mask) !=3D xsave_mask)
>> =A0263 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 cpuid_leaf1_ecx_mask &=3D ~xsave_=
mask; /* disable XSAVE &
>> OSXSAVE */
>> =A0264 }
>>
>> But do I need some other one?
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 18:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 18:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPeVL-0002PC-M9; Wed, 02 May 2012 18:42:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SPeVK-0002P7-1G
	for xen-devel@lists.xen.org; Wed, 02 May 2012 18:42:22 +0000
Received: from [85.158.139.83:11251] by server-8.bemta-5.messagelabs.com id
	9A/81-26964-D0081AF4; Wed, 02 May 2012 18:42:21 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1335984137!26463529!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3888 invoked from network); 2 May 2012 18:42:19 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 18:42:19 -0000
Received: by qafl39 with SMTP id l39so927004qaf.16
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 11:42:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=ezmfeRlos+NC8jw2DmcgqdI9f44gl0Fd981ysoQ4OGA=;
	b=SA9O6QYHLCvo7FCrjTIQn367CoRTvaTBg+GmNHWEfwuXD6WEPlp25HcMkZCfOaY1+b
	Ph+TUzRz3fPOJP3fgfBEUHy2Zj53IGW3TnLsPmwQ+OR8GIFf8lFPEUCw/NT9zpLYCSox
	rMr4E07PlMV8ZxTus1dvXTzcaLi74Q+wRc2h8YfDMusXdDjJWDwKbHlI5Lsk4AtAbQHp
	XSqYq+ye8c0dnXuimWyTibgrHesXzphbnb+kqFccefqdJdK0fd+G4cczV8wylXlX91a+
	WgzUiFotYkDTaJKiPhpjxg69T1e8zIO/5tcBQN2Rmf63O7u8IZJBtvZWR6kJ30roBwsH
	PoiA==
MIME-Version: 1.0
Received: by 10.224.100.71 with SMTP id x7mr25973331qan.92.1335984136470; Wed,
	02 May 2012 11:42:16 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Wed, 2 May 2012 11:42:16 -0700 (PDT)
In-Reply-To: <4FA113B902000078000810C3@nat28.tlf.novell.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
Date: Wed, 2 May 2012 11:42:16 -0700
Message-ID: <CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xen.org>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> w=
rote:
>> I somehow thought that this has been fixed but I've been
>> getting reports that people are running into this.
>
> "this" being what? I too thought that all xsave related issues were
> sorted out by now.

I see the following crash if I run without xsave=3D0 with Ubuntu 11.10
3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.

[    7.509303] invalid opcode: 0000 [#1] SMP
[    7.509319] CPU 0
[    7.509325] Modules linked in:
[    7.509337]
[    7.509347] Pid: 0, comm: swapper Not tainted 3.0.0-17-generic
#30-Ubuntu LENOVO 4286CTO/4286CTO
[    7.509371] RIP: e030:[<ffffffff810140ec>]  [<ffffffff810140ec>]
xstate_enable+0x3c/0x50
[    7.509399] RSP: e02b:ffffffff81c01e58  EFLAGS: 00010046
[    7.509409] RAX: 0000000000000007 RBX: ffffffff81c01e94 RCX: 00000000000=
00000
[    7.509419] RDX: 0000000000000000 RSI: 0000000000000007 RDI: 00000000000=
02660
[    7.509430] RBP: ffffffff81c01e58 R08: ffffffff81c01e90 R09: ffffffff81c=
01e94
[    7.509440] R10: 00000000ffffffff R11: 00000000ffffffff R12: ffffffff81c=
01e90
[    7.509501] R13: ffffffff81c01e8c R14: ffffffff81c01e88 R15: ffff8801e97=
ecd00
[    7.509519] FS:  0000000000000000(0000) GS:ffff8801e97e0000(0000)
knlGS:0000000000000000
[    7.509530] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    7.509539] CR2: 0000000000000000 CR3: 0000000001c03000 CR4: 00000000000=
02660
[    7.509550] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000000=
00000
[    7.509561] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 00000000000=
00400
[    7.509573] Process swapper (pid: 0, threadinfo ffffffff81c00000,
task ffffffff81c0b020)
[    7.509582] Stack:
[    7.509589]  ffffffff81c01ec8 ffffffff81cd97ac 0000000000000040
0000000000000000
[    7.509613]  ffffffff81007b4f ffffffff81004057 0000024000000007
0000000000000340
[    7.509637]  ffff8801e97eb100 0000000000000008 0000000000000004
0000000000000000
[    7.509660] Call Trace:
[    7.509679]  [<ffffffff81cd97ac>] xstate_enable_boot_cpu+0xa9/0x174
[    7.509698]  [<ffffffff81007b4f>] ? xen_restore_fl_direct_reloc+0x4/0x4
[    7.509712]  [<ffffffff81004057>] ? xen_write_cr0+0x77/0x90
[    7.509730]  [<ffffffff815d06eb>] xsave_init+0x26/0x28
[    7.509744]  [<ffffffff815d2932>] cpu_init+0x2bb/0x2d8
[    7.509759]  [<ffffffff81cd5ff4>] trap_init+0x169/0x171
[    7.509774]  [<ffffffff81cd0a27>] start_kernel+0x1d0/0x3df
[    7.509789]  [<ffffffff81cd0388>] x86_64_start_reservations+0x132/0x136
[    7.509805]  [<ffffffff81cd3ec6>] xen_start_kernel+0x5ac/0x5b3
[    7.509814] Code: 00 04 00 ff 14 25 10 33 c1 81 48 89 c7 48 81 cf
00 00 04 00 ff 14 25 18 33 c1 81 48 8b 05 0d 15 db 00 31 c9 48 89 c2
48 c1 ea 20 <0f> 01 d1 5d c3 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00
00 55
[    7.510045] RIP  [<ffffffff810140ec>] xstate_enable+0x3c/0x50
[    7.510062]  RSP <ffffffff81c01e58>
[    7.510086] ---[ end trace a7919e7f17c0a725 ]---
[    7.510097] Kernel panic - not syncing: Attempted to kill the idle task!
[    7.510109] Pid: 0, comm: swapper Tainted: G      D
3.0.0-17-generic #30-Ubuntu
[    7.510119] Call Trace:
[    7.510134]  [<ffffffff815dca66>] panic+0x91/0x194
[    7.510151]  [<ffffffff8106344b>] do_exit+0x40b/0x440
[    7.510168]  [<ffffffff815f4350>] oops_end+0xb0/0xf0
[    7.510181]  [<ffffffff8100d938>] die+0x58/0x90
[    7.510195]  [<ffffffff815f3a34>] do_trap+0xc4/0x170
[    7.510211]  [<ffffffff8100af25>] do_invalid_op+0x95/0xb0
[    7.510226]  [<ffffffff810140ec>] ? xstate_enable+0x3c/0x50
[    7.510240]  [<ffffffff81007b62>] ? check_events+0x12/0x20
[    7.510255]  [<ffffffff81008239>] ? get_phys_to_machine+0x9/0x70
[    7.510269]  [<ffffffff81005c69>] ? pte_mfn_to_pfn+0x89/0xf0
[    7.510283]  [<ffffffff8100743d>] ? xen_force_evtchn_callback+0xd/0x10
[    7.510299]  [<ffffffff815fc2db>] invalid_op+0x1b/0x20
[    7.510315]  [<ffffffff810140ec>] ? xstate_enable+0x3c/0x50
[    7.510329]  [<ffffffff810140dc>] ? xstate_enable+0x2c/0x50
[    7.510343]  [<ffffffff81cd97ac>] xstate_enable_boot_cpu+0xa9/0x174
[    7.510358]  [<ffffffff81007b4f>] ? xen_restore_fl_direct_reloc+0x4/0x4
[    7.510371]  [<ffffffff81004057>] ? xen_write_cr0+0x77/0x90
[    7.510385]  [<ffffffff815d06eb>] xsave_init+0x26/0x28
[    7.510399]  [<ffffffff815d2932>] cpu_init+0x2bb/0x2d8
[    7.510413]  [<ffffffff81cd5ff4>] trap_init+0x169/0x171
[    7.510427]  [<ffffffff81cd0a27>] start_kernel+0x1d0/0x3df
[    7.510441]  [<ffffffff81cd0388>] x86_64_start_reservations+0x132/0x136
[    7.510457]  [<ffffffff81cd3ec6>] xen_start_kernel+0x5ac/0x5b3
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
(XEN) Resetting with ACPI MEMORY or I/O RESET_REG.


>> What kind of fix do I need the in the kernel? I see this:
>> =A0255 =A0 =A0 =A0 =A0 xen_cpuid(&ax, &bx, &cx, &dx);
>> =A0256
>> =A0257 =A0 =A0 =A0 =A0 xsave_mask =3D
>> =A0258 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (1 << (X86_FEATURE_XSAVE % 32)) |
>> =A0259 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (1 << (X86_FEATURE_OSXSAVE % 32));
>> =A0260
>> =A0261 =A0 =A0 =A0 =A0 /* Xen will set CR4.OSXSAVE if supported and not =
disabled by
>> force */
>> =A0262 =A0 =A0 =A0 =A0 if ((cx & xsave_mask) !=3D xsave_mask)
>> =A0263 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 cpuid_leaf1_ecx_mask &=3D ~xsave_=
mask; /* disable XSAVE &
>> OSXSAVE */
>> =A0264 }
>>
>> But do I need some other one?
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 19:09:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 19:09:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPeuY-0002ea-1F; Wed, 02 May 2012 19:08:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPeuX-0002eV-1n
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 19:08:25 +0000
Received: from [85.158.138.51:65211] by server-4.bemta-3.messagelabs.com id
	B3/9E-15341-72681AF4; Wed, 02 May 2012 19:08:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1335985703!16964106!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15509 invoked from network); 2 May 2012 19:08:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 19:08:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,518,1330905600"; d="scan'208";a="12257829"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 19:08:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 20:08:22 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPeuU-0003v5-6m;
	Wed, 02 May 2012 19:08:22 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPeuT-0005sT-VM;
	Wed, 02 May 2012 20:08:22 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12779-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 20:08:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12779: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12779 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12779/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pv             3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12707
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12707
 build-i386                   2 host-install(2) broken in 12776 REGR. vs. 12707

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot            fail pass in 12776
 test-amd64-amd64-pv           3 host-install(3)  broken in 12776 pass in 12779

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-xl             1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-pv             1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)  blocked in 12776 n/a
 test-amd64-i386-pv            1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl            1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-pair           1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 8 guest-saverestore fail in 12776 never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-pair          1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)       blocked in 12776 n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)      blocked in 12776 n/a
 test-amd64-i386-qemuu-rhel6hvm-intel 1 xen-build-check(1) blocked in 12776 n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-win            1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-win           1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)       blocked in 12776 n/a
 test-i386-i386-xl-win         1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)    blocked in 12776 n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)  blocked in 12776 n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)       blocked in 12776 n/a

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 19:09:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 19:09:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPeuY-0002ea-1F; Wed, 02 May 2012 19:08:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPeuX-0002eV-1n
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 19:08:25 +0000
Received: from [85.158.138.51:65211] by server-4.bemta-3.messagelabs.com id
	B3/9E-15341-72681AF4; Wed, 02 May 2012 19:08:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1335985703!16964106!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15509 invoked from network); 2 May 2012 19:08:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 19:08:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,518,1330905600"; d="scan'208";a="12257829"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 19:08:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 20:08:22 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPeuU-0003v5-6m;
	Wed, 02 May 2012 19:08:22 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPeuT-0005sT-VM;
	Wed, 02 May 2012 20:08:22 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12779-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 20:08:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12779: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12779 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12779/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pv             3 host-install(3)         broken REGR. vs. 12707
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12707
 test-amd64-i386-pv            3 host-install(3)         broken REGR. vs. 12707
 build-i386                   2 host-install(2) broken in 12776 REGR. vs. 12707

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot            fail pass in 12776
 test-amd64-amd64-pv           3 host-install(3)  broken in 12776 pass in 12779

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-xl             1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-pv             1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)  blocked in 12776 n/a
 test-amd64-i386-pv            1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl            1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-pair           1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 8 guest-saverestore fail in 12776 never pass
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-pair          1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)       blocked in 12776 n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)      blocked in 12776 n/a
 test-amd64-i386-qemuu-rhel6hvm-intel 1 xen-build-check(1) blocked in 12776 n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-win            1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-win           1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)       blocked in 12776 n/a
 test-i386-i386-xl-win         1 xen-build-check(1)        blocked in 12776 n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)    blocked in 12776 n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)  blocked in 12776 n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)        blocked in 12776 n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)       blocked in 12776 n/a

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           broken  
 test-i386-i386-pv                                            broken  
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 19:57:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 19:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPffl-0003Eo-Sy; Wed, 02 May 2012 19:57:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPffk-0003Ef-6I
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 19:57:12 +0000
Received: from [85.158.143.35:9958] by server-2.bemta-4.messagelabs.com id
	D6/02-17550-79191AF4; Wed, 02 May 2012 19:57:11 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1335988629!15173219!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA1MjU1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27680 invoked from network); 2 May 2012 19:57:10 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-12.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 19:57:10 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42JuLDh012039
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 19:56:21 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42JuIif027857
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 19:56:19 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42JuHat032166; Wed, 2 May 2012 14:56:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 02 May 2012 12:56:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B68BB40357; Wed,  2 May 2012 15:50:36 -0400 (EDT)
Date: Wed, 2 May 2012 15:50:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Message-ID: <20120502195035.GA31755@phenom.dumpdata.com>
References: <20120313173239.GA27920@eire.uk.xensource.com>
	<20120313173504.GB13033@phenom.dumpdata.com>
	<20120313180422.GA28716@eire.uk.xensource.com>
	<20120313190917.GA31144@eire.uk.xensource.com>
	<20120313192541.GA4969@phenom.dumpdata.com>
	<20120313223437.GA5180@eire.uk.xensource.com>
	<20120313234503.GA18924@phenom.dumpdata.com>
	<20120316191127.GA6668@eire.uk.xensource.com>
	<20120316195907.GA6228@phenom.dumpdata.com>
	<20120318155034.GA24315@eire.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120318155034.GA24315@eire.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"dave.mccracken@oracle.com" <dave.mccracken@oracle.com>
Subject: Re: [Xen-devel] crash in is_xen_swiotlb_buffer
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, Mar 18, 2012 at 03:50:35PM +0000, Goncalo Gomes wrote:
> On Fri, 16 Mar 2012, Konrad Rzeszutek Wilk wrote:
> 
> > On Fri, Mar 16, 2012 at 07:11:27PM +0000, Goncalo Gomes wrote:
> > > Any luck with this one? :)
> > 
> > Can you try with a 64-bit hypervisor please?
> 
> I tried and I can still trigger the bug.
> 
> I've attached the log.
> 
> Goncalo

.. snip..
> [    0.000000] No NUMA configuration found
> [    0.000000] Faking a node at 0000000000000000-0000000240000000
> (XEN) mm.c:943:d0 Attempt to map superpage without allowsuperpage flag in hypervisor
> [    0.000000] ------------[ cut here ]------------
> [    0.000000] WARNING: at arch/x86/xen/multicalls.c:129 xen_mc_issue+0x34/0x62()
> [    0.000000] Hardware name: PowerEdge R310
> [    0.000000] Modules linked in:
> [    0.000000] Pid: 0, comm: swapper Not tainted 3.2.9 #9
> [    0.000000] Call Trace:
> [    0.000000]  [<c104236b>] ? warn_slowpath_common+0x6a/0x7b
> [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> [    0.000000]  [<c1042389>] ? warn_slowpath_null+0xd/0x10
> [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> [    0.000000]  [<c1005f3b>] ? xen_set_pmd_hyper+0x3c/0x42
> [    0.000000]  [<c102edbe>] ? set_pmd_pfn+0xde/0xf9
> [    0.000000]  [<c168b652>] ? init_alloc_remap+0x1b3/0x216
> [    0.000000]  [<c168aa48>] ? setup_node_data+0x4c/0x22f
> [    0.000000]  [<c168b203>] ? T.744+0x290/0x2c2
> [    0.000000]  [<c168b2ac>] ? T.743+0x77/0x1a1
> [    0.000000]  [<c1025290>] ? default_get_apic_id+0x14/0x33
> [    0.000000]  [<c168b3ed>] ? initmem_init+0x5/0xb7
> [    0.000000]  [<c167cef4>] ? setup_arch+0x5bf/0x694
> [    0.000000]  [<c100b840>] ? __spin_time_accum+0x26/0x36
> [    0.000000]  [<c167852c>] ? start_kernel+0x81/0x34d
> [    0.000000]  [<c167a258>] ? xen_start_kernel+0x554/0x55b
> [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---

So I've been able to reproduce this and it is due to CONFIG_NUMA=y
set on 32-bit builds.

>From a brief look, it looks as this is happening:

        /* perform actual remap */
        for (pfn = 0; pfn < size >> PAGE_SHIFT; pfn += PTRS_PER_PTE)
                set_pmd_pfn((unsigned long)remap_va + (pfn << PAGE_SHIFT),
                            (node_pa >> PAGE_SHIFT) + pfn,
                            PAGE_KERNEL_LARGE);

The PAGE_KERNEL_LARGE means that the PSE bit (so the 2MB) is set
which is a no-no. What is weird is that acpi_numa is disabled when booting
under Xen, but somehow this (which in my case was the 'fake_numa' code)
still gets turned on. Even doing 'numa=off' on the command line causes
this to appear.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 19:57:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 19:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPffl-0003Eo-Sy; Wed, 02 May 2012 19:57:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPffk-0003Ef-6I
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 19:57:12 +0000
Received: from [85.158.143.35:9958] by server-2.bemta-4.messagelabs.com id
	D6/02-17550-79191AF4; Wed, 02 May 2012 19:57:11 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1335988629!15173219!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA1MjU1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27680 invoked from network); 2 May 2012 19:57:10 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-12.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 19:57:10 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42JuLDh012039
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 19:56:21 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42JuIif027857
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 19:56:19 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42JuHat032166; Wed, 2 May 2012 14:56:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 02 May 2012 12:56:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B68BB40357; Wed,  2 May 2012 15:50:36 -0400 (EDT)
Date: Wed, 2 May 2012 15:50:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Message-ID: <20120502195035.GA31755@phenom.dumpdata.com>
References: <20120313173239.GA27920@eire.uk.xensource.com>
	<20120313173504.GB13033@phenom.dumpdata.com>
	<20120313180422.GA28716@eire.uk.xensource.com>
	<20120313190917.GA31144@eire.uk.xensource.com>
	<20120313192541.GA4969@phenom.dumpdata.com>
	<20120313223437.GA5180@eire.uk.xensource.com>
	<20120313234503.GA18924@phenom.dumpdata.com>
	<20120316191127.GA6668@eire.uk.xensource.com>
	<20120316195907.GA6228@phenom.dumpdata.com>
	<20120318155034.GA24315@eire.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120318155034.GA24315@eire.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"dave.mccracken@oracle.com" <dave.mccracken@oracle.com>
Subject: Re: [Xen-devel] crash in is_xen_swiotlb_buffer
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, Mar 18, 2012 at 03:50:35PM +0000, Goncalo Gomes wrote:
> On Fri, 16 Mar 2012, Konrad Rzeszutek Wilk wrote:
> 
> > On Fri, Mar 16, 2012 at 07:11:27PM +0000, Goncalo Gomes wrote:
> > > Any luck with this one? :)
> > 
> > Can you try with a 64-bit hypervisor please?
> 
> I tried and I can still trigger the bug.
> 
> I've attached the log.
> 
> Goncalo

.. snip..
> [    0.000000] No NUMA configuration found
> [    0.000000] Faking a node at 0000000000000000-0000000240000000
> (XEN) mm.c:943:d0 Attempt to map superpage without allowsuperpage flag in hypervisor
> [    0.000000] ------------[ cut here ]------------
> [    0.000000] WARNING: at arch/x86/xen/multicalls.c:129 xen_mc_issue+0x34/0x62()
> [    0.000000] Hardware name: PowerEdge R310
> [    0.000000] Modules linked in:
> [    0.000000] Pid: 0, comm: swapper Not tainted 3.2.9 #9
> [    0.000000] Call Trace:
> [    0.000000]  [<c104236b>] ? warn_slowpath_common+0x6a/0x7b
> [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> [    0.000000]  [<c1042389>] ? warn_slowpath_null+0xd/0x10
> [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> [    0.000000]  [<c1005f3b>] ? xen_set_pmd_hyper+0x3c/0x42
> [    0.000000]  [<c102edbe>] ? set_pmd_pfn+0xde/0xf9
> [    0.000000]  [<c168b652>] ? init_alloc_remap+0x1b3/0x216
> [    0.000000]  [<c168aa48>] ? setup_node_data+0x4c/0x22f
> [    0.000000]  [<c168b203>] ? T.744+0x290/0x2c2
> [    0.000000]  [<c168b2ac>] ? T.743+0x77/0x1a1
> [    0.000000]  [<c1025290>] ? default_get_apic_id+0x14/0x33
> [    0.000000]  [<c168b3ed>] ? initmem_init+0x5/0xb7
> [    0.000000]  [<c167cef4>] ? setup_arch+0x5bf/0x694
> [    0.000000]  [<c100b840>] ? __spin_time_accum+0x26/0x36
> [    0.000000]  [<c167852c>] ? start_kernel+0x81/0x34d
> [    0.000000]  [<c167a258>] ? xen_start_kernel+0x554/0x55b
> [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---

So I've been able to reproduce this and it is due to CONFIG_NUMA=y
set on 32-bit builds.

>From a brief look, it looks as this is happening:

        /* perform actual remap */
        for (pfn = 0; pfn < size >> PAGE_SHIFT; pfn += PTRS_PER_PTE)
                set_pmd_pfn((unsigned long)remap_va + (pfn << PAGE_SHIFT),
                            (node_pa >> PAGE_SHIFT) + pfn,
                            PAGE_KERNEL_LARGE);

The PAGE_KERNEL_LARGE means that the PSE bit (so the 2MB) is set
which is a no-no. What is weird is that acpi_numa is disabled when booting
under Xen, but somehow this (which in my case was the 'fake_numa' code)
still gets turned on. Even doing 'numa=off' on the command line causes
this to appear.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 20:16:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 20:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPfxe-0003og-8w; Wed, 02 May 2012 20:15:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPfxc-0003ob-Uz
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 20:15:41 +0000
Received: from [85.158.139.83:13037] by server-6.bemta-5.messagelabs.com id
	DB/7B-13222-CE591AF4; Wed, 02 May 2012 20:15:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1335989737!22201486!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26851 invoked from network); 2 May 2012 20:15:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 20:15:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,518,1330905600"; d="scan'208";a="12259267"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 20:15:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 21:15:35 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPfxX-0004GM-SB;
	Wed, 02 May 2012 20:15:35 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPfxX-0000wY-Mg;
	Wed, 02 May 2012 21:15:35 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12780-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 21:15:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12780: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12780 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12780/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12746
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12746

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl           3 host-install(3)           broken pass in 12777
 test-i386-i386-xl             3 host-install(3)  broken in 12777 pass in 12780

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          broken  
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 20:16:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 20:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPfxe-0003og-8w; Wed, 02 May 2012 20:15:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPfxc-0003ob-Uz
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 20:15:41 +0000
Received: from [85.158.139.83:13037] by server-6.bemta-5.messagelabs.com id
	DB/7B-13222-CE591AF4; Wed, 02 May 2012 20:15:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1335989737!22201486!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26851 invoked from network); 2 May 2012 20:15:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	2 May 2012 20:15:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,518,1330905600"; d="scan'208";a="12259267"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	02 May 2012 20:15:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 2 May 2012 21:15:35 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPfxX-0004GM-SB;
	Wed, 02 May 2012 20:15:35 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPfxX-0000wY-Mg;
	Wed, 02 May 2012 21:15:35 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12780-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 2 May 2012 21:15:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12780: trouble: broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12780 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12780/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  3 host-install(3)   broken REGR. vs. 12746
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)         broken REGR. vs. 12746

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl           3 host-install(3)           broken pass in 12777
 test-i386-i386-xl             3 host-install(3)  broken in 12777 pass in 12780

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  3 host-install(3)         broken REGR. vs. 12746
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          broken  
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 broken  
 test-amd64-i386-qemuu-rhel6hvm-amd                           broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 broken  
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 21:30:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 21:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPh7T-0004pD-C4; Wed, 02 May 2012 21:29:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPh7R-0004p8-6p
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 21:29:53 +0000
Received: from [193.109.254.147:38218] by server-6.bemta-14.messagelabs.com id
	BA/2C-04960-057A1AF4; Wed, 02 May 2012 21:29:52 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1335994188!4912202!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6707 invoked from network); 2 May 2012 21:29:48 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-5.tower-27.messagelabs.com with SMTP;
	2 May 2012 21:29:48 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPh7K-0004iD-KC; Wed, 02 May 2012 21:29:47 +0000
Message-ID: <4FA1A747.5080909@canonical.com>
Date: Wed, 02 May 2012 23:29:43 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
In-Reply-To: <20120502160812.GA6611@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8639842970269748413=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============8639842970269748413==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig2E4FEB681D5F888C5BCE183E"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2E4FEB681D5F888C5BCE183E
Content-Type: multipart/mixed;
 boundary="------------040008000906090802060103"

This is a multi-part message in MIME format.
--------------040008000906090802060103
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 18:08, Konrad Rzeszutek Wilk wrote:
> On Wed, May 02, 2012 at 05:01:00PM +0200, Stefan Bader wrote:
>> On 02.05.2012 00:35, Boris Ostrovsky wrote:
>>> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>>>> Since there have been requests about that driver to get backporte=
d into 3.2, I
>>>>>>> was interested to find out what or how much would be gained by th=
at.
>>>>>>>
>>>>>>> The first system I tried was an AMD based one (8 core Opteron 612=
8@2GHz).
>>>>>>> Which
>>>>>>> was not very successful as the drivers bail out of the init funct=
ion
>>>>>>> because the
>>>>>>> first call to acpi_processor_register_performance() returns -ENOD=
EV. There is
>>>>>>> some frequency scaling when running without Xen, so I need to do =
some more
>>>>>>> debugging there.
>>>
>>> I believe this is caused by the somewhat under-enlightened xen_apic_r=
ead():
>>>
>>> static u32 xen_apic_read(u32 reg)
>>> {
>>>         return 0;
>>> }
>>>
>>> This results in some data, most importantly boot_cpu_physical_apicid,=
 not being
>>> set correctly and, in turn, causes x86_cpu_to_apicid to be broken.
>>>
>>> On larger AMD systems boot processor is typically APICID=3D0x20 (I do=
n't have
>>> Intel system handy to see how it looks there).
>>>
>>> As a quick and dirty test you can try:
>>>
>>> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.=
c
>>> index edc2448..1f78998 100644
>>> --- a/arch/x86/kernel/apic/apic.c
>>> +++ b/arch/x86/kernel/apic/apic.c
>>> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned lon=
g address)
>>>         }
>>>         if (boot_cpu_physical_apicid =3D=3D -1U) {
>>>                 boot_cpu_physical_apicid  =3D read_apic_id();
>>> +               boot_cpu_physical_apicid =3D 32;
>>>                 apic_version[boot_cpu_physical_apicid] =3D
>>>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>>>         }
>>>
>>>
>>> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
>>>
>>
>> Indeed, when I hack the above id to be 0x10 (as my dmesg tells) most o=
f the BIOS
>> bug messages are gone and the xen-acpi-processor driver successfully l=
oads and
>> seems to be switching frequencies ok (just a quick tight loop which ma=
de one cpu
>> go from P4 to P0).
>=20
> OK.  Can you try the attached patch pls? It should do the same thing
> as what the debug patch does - get the _real_ APIC ID from the hypervis=
or.
> (And as bonus it also removes the annoying:
>=20
> BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10

All the BIOS bug messages are gone from the Intel and the AMD box. Just t=
he AMD
box again fails to load the xen-acpi-processor driver. Though it must be =
a
different exit. I had enabled acpi debugging for the modprobe call but th=
is time
there is no trace of any acpi messages.

>=20
>=20
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..d816448 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>  #ifdef CONFIG_X86_LOCAL_APIC
>  static u32 xen_apic_read(u32 reg)
>  {
> -	return 0;
> +	struct xen_platform_op op =3D {
> +		.cmd =3D XENPF_get_cpuinfo,
> +		.interface_version =3D XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid =3D 0,
> +	};
> +	int ret =3D 0;
> +
> +	/* Shouldn't need this as APIC is turned off for PV, and we only
> +	 * get called on the bootup processor. But just in case. */
> +	if (!xen_initial_domain() || smp_processor_id())
> +		return 0;
> +
> +	if (reg =3D=3D APIC_LVR)
> +		return 0x10;
> +
> +	if (reg !=3D APIC_ID)
> +		return 0;
> +
> +	ret =3D HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return 0;
> +
> +	return op.u.pcpu_info.apic_id;
>  }
> =20
>  static void xen_apic_write(u32 reg, u32 val)
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


--------------040008000906090802060103
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.4"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.4"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (smb@gomeisa) (gcc version =
4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg3 SMP Wed May 2 20:48:57=
 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg3-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.172 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.34 BogoMIPS (lpj=3D8000688)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.008000] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.016990] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019592] Mount-cache hash table entries: 256
[    0.019840] Initializing cgroup subsys cpuacct
[    0.019852] Initializing cgroup subsys memory
[    0.019871] Initializing cgroup subsys devices
[    0.019877] Initializing cgroup subsys freezer
[    0.019882] Initializing cgroup subsys blkio
[    0.019898] Initializing cgroup subsys perf_event
[    0.019972] tseg: 00dff00000
[    0.019980] CPU: Physical Processor ID: 0
[    0.019984] CPU: Processor Core ID: 0
[    0.022918] ACPI: Core revision 20110623
[    0.038976] ftrace: allocating 27102 entries in 107 pages
[    0.040132] cpu 0 spinlock event irq 273
[    0.040233] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040500] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040631] installing Xen timer for CPU 1
[    0.040649] cpu 1 spinlock event irq 279
[    0.040855] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040978] installing Xen timer for CPU 2
[    0.040996] cpu 2 spinlock event irq 285
[    0.041153] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041269] installing Xen timer for CPU 3
[    0.041284] cpu 3 spinlock event irq 291
[    0.041445] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041562] installing Xen timer for CPU 4
[    0.041577] cpu 4 spinlock event irq 297
[    0.041759] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041885] installing Xen timer for CPU 5
[    0.041901] cpu 5 spinlock event irq 303
[    0.042060] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042175] installing Xen timer for CPU 6
[    0.042191] cpu 6 spinlock event irq 309
[    0.042346] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042463] installing Xen timer for CPU 7
[    0.042479] cpu 7 spinlock event irq 315
[    0.042636] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042669] Brought up 8 CPUs
[    0.042898] devtmpfs: initialized
[    0.045573] EVM: security.selinux
[    0.045578] EVM: security.SMACK64
[    0.045582] EVM: security.capability
[    0.045658] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045658] Grant table initialized
[    0.045658] print_constraints: dummy:=20
[    0.045658] RTC time: 21:13:53, date: 05/02/12
[    0.045658] NET: Registered protocol family 16
[    0.045658] Trying to unpack rootfs image as initramfs...
[    0.060236] node 0 link 0: io port [1000, ffffff]
[    0.060252] TOM: 00000000e0000000 aka 3584M
[    0.060258] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060269] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060278] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060285] node 0 link 0: mmio [a0000, bffff]
[    0.060293] TOM2: 0000000820000000 aka 33280M
[    0.060298] bus: [00, 1f] on node 0 link 0
[    0.060303] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060307] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060312] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060317] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060338] Extended Config Space enabled on 2 nodes
[    0.060506] ACPI: bus type pci registered
[    0.060613] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060622] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.116338] Freeing initrd memory: 40072k freed
[    0.147622] PCI: Using configuration type 1 for base access
[    0.149637] bio: create slab <bio-0> at 0
[    0.149637] ACPI: Added _OSI(Module Device)
[    0.149637] ACPI: Added _OSI(Processor Device)
[    0.149637] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.149637] ACPI: Added _OSI(Processor Aggregator Device)
[    0.152152] ACPI: EC: Look up EC in DSDT
[    0.156136] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.177614] ACPI: Interpreter enabled
[    0.177623] ACPI: (supports S0 S1 S4 S5)
[    0.177668] ACPI: Using IOAPIC for interrupt routing
[    0.190794] ACPI: No dock devices found.
[    0.190868] HEST: Table parsing has been initialized.
[    0.190875] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.191175] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.191767] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.191774] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.191780] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.191786] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.191793] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.191834] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.192011] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.192087] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.192205] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.192214] pci 0000:00:09.0: PME# disabled
[    0.192256] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.192372] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.192380] pci 0000:00:0a.0: PME# disabled
[    0.192440] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.192477] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.192498] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.192517] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.192537] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.192557] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.192577] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.192685] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.192712] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.192839] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.192866] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.193000] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.193037] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.193195] pci 0000:00:12.2: supports D1 D2
[    0.193200] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.193210] pci 0000:00:12.2: PME# disabled
[    0.193249] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.193276] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.193400] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.193429] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.193571] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.193609] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.193767] pci 0000:00:13.2: supports D1 D2
[    0.193772] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.193781] pci 0000:00:13.2: PME# disabled
[    0.193826] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.194017] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.194160] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.194245] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.194273] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.194416] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.194545] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.194606] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.194671] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.194761] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.194873] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.194990] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.195056] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.195123] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.195215] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.195431] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.195464] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.195509] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.195534] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.195712] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.195723] pci 0000:03:00.0: PME# disabled
[    0.204050] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.204064] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.204074] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.204196] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.204231] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.204275] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.204300] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.204486] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.204498] pci 0000:02:00.0: PME# disabled
[    0.212049] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.212063] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.212071] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.212139] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.212178] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.212201] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.212224] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.212432] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.212446] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.212457] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.212463] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.212469] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.212475] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.212482] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.212488] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.212546] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.212959] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.213031] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.213142] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.213317]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.213325]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.213331] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.231035] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.231173] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.231307] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.231444] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.231577] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.231709] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.231843] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.231976] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.232013] xen/balloon: Initialising balloon driver.
[    0.272380] xen-balloon: Initialising balloon driver.
[    0.272411] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.272584] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.272591] vgaarb: loaded
[    0.272594] vgaarb: bridge control possible 0000:01:04.0
[    0.272737] i2c-core: driver [aat2870] using legacy suspend method
[    0.272742] i2c-core: driver [aat2870] using legacy resume method
[    0.272839] SCSI subsystem initialized
[    0.275640] libata version 3.00 loaded.
[    0.275640] usbcore: registered new interface driver usbfs
[    0.275640] usbcore: registered new interface driver hub
[    0.275640] usbcore: registered new device driver usb
[    0.275640] PCI: Using ACPI for IRQ routing
[    0.276016] PCI: pci_cache_line_size set to 64 bytes
[    0.276016] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.276016] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.276016] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.288133] NetLabel: Initializing
[    0.288138] NetLabel:  domain hash size =3D 128
[    0.288142] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.288162] NetLabel:  unlabeled traffic allowed by default
[    0.288279] Switching to clocksource xen
[    0.297286] AppArmor: AppArmor Filesystem Enabled
[    0.297330] pnp: PnP ACPI init
[    0.297351] ACPI: bus type pnp registered
[    0.297714] pnp 00:00: [bus 00-ff]
[    0.297720] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.297729] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.297734] pnp 00:00: [io  0x0d00-0xffff window]
[    0.297740] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.297745] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.297750] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.297756] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.297874] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.298146] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.298152] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.298227] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.298413] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.298478] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.298485] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.299138] pnp 00:03: [dma 4]
[    0.299143] pnp 00:03: [io  0x0000-0x000f]
[    0.299148] pnp 00:03: [io  0x0081-0x0083]
[    0.299152] pnp 00:03: [io  0x0087]
[    0.299157] pnp 00:03: [io  0x0089-0x008b]
[    0.299161] pnp 00:03: [io  0x008f]
[    0.299165] pnp 00:03: [io  0x00c0-0x00df]
[    0.299223] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.299250] pnp 00:04: [io  0x0070-0x0071]
[    0.299257] xen: registering gsi 8 triggering 1 polarity 0
[    0.299267] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.299272] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.299290] pnp 00:04: [irq 8]
[    0.299344] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.299415] pnp 00:05: [io  0x0060]
[    0.299419] pnp 00:05: [io  0x0064]
[    0.299424] xen: registering gsi 1 triggering 1 polarity 0
[    0.299429] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.299434] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.299450] pnp 00:05: [irq 1]
[    0.299509] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.299623] xen: registering gsi 12 triggering 1 polarity 0
[    0.299630] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.299634] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.299648] pnp 00:06: [irq 12]
[    0.299707] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.299729] pnp 00:07: [io  0x0061]
[    0.299783] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.299804] pnp 00:08: [io  0x00f0-0x00ff]
[    0.299809] xen: registering gsi 13 triggering 1 polarity 0
[    0.299815] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.299819] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.299836] pnp 00:08: [irq 13]
[    0.299895] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.300116] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.300123] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.300129] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.300213] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.300220] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.300302] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.300364] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.300662] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.300667] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.300747] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.300754] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.300761] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.301257] pnp 00:0c: [io  0x0010-0x001f]
[    0.301262] pnp 00:0c: [io  0x0022-0x003f]
[    0.301267] pnp 00:0c: [io  0x0062-0x0063]
[    0.301298] pnp 00:0c: [io  0x0065-0x006f]
[    0.301302] pnp 00:0c: [io  0x0072-0x007f]
[    0.301307] pnp 00:0c: [io  0x0080]
[    0.301311] pnp 00:0c: [io  0x0084-0x0086]
[    0.301315] pnp 00:0c: [io  0x0088]
[    0.301320] pnp 00:0c: [io  0x008c-0x008e]
[    0.301324] pnp 00:0c: [io  0x0090-0x009f]
[    0.301329] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.301336] pnp 00:0c: [io  0x00b1]
[    0.301341] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.301345] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.301350] pnp 00:0c: [io  0x0550-0x0551]
[    0.301354] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.301359] pnp 00:0c: [io  0x040b]
[    0.301363] pnp 00:0c: [io  0x04d6]
[    0.301367] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.301372] pnp 00:0c: [io  0x0c14]
[    0.301376] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.301380] pnp 00:0c: [io  0x0c52]
[    0.301384] pnp 00:0c: [io  0x0c6c]
[    0.301389] pnp 00:0c: [io  0x0c6f]
[    0.301393] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.301397] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.301402] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.301406] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.301411] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.301415] pnp 00:0c: [io  0x0800-0x089f]
[    0.301420] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.301425] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.301430] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.301434] pnp 00:0c: [io  0x0900-0x090f]
[    0.301439] pnp 00:0c: [io  0x0910-0x091f]
[    0.301443] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.301448] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.301453] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.301458] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.301463] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.301575] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.301582] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.301588] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.301594] system 00:0c: [io  0x040b] has been reserved
[    0.301599] system 00:0c: [io  0x04d6] has been reserved
[    0.301605] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.301610] system 00:0c: [io  0x0c14] has been reserved
[    0.301616] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.301622] system 00:0c: [io  0x0c52] has been reserved
[    0.301627] system 00:0c: [io  0x0c6c] has been reserved
[    0.301633] system 00:0c: [io  0x0c6f] has been reserved
[    0.301638] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.301644] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.301650] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.301659] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.301665] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.301671] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.301677] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.301683] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.301689] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.301695] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.301701] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.301708] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.301714] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.301721] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.302275] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.302280] xen: registering gsi 4 triggering 1 polarity 0
[    0.302286] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.302291] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.302304] pnp 00:0d: [irq 4]
[    0.302308] pnp 00:0d: [dma 0 disabled]
[    0.302436] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.302979] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.302984] xen: registering gsi 3 triggering 1 polarity 0
[    0.302990] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.302995] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.302999] Already setup the GSI :3
[    0.303004] pnp 00:0e: [irq 3]
[    0.303008] pnp 00:0e: [dma 0 disabled]
[    0.303124] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.303267] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.303358] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.303365] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.304306] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.304311] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.304316] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.304322] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.304327] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.304426] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.304433] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.304439] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.304445] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.304452] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.304459] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.304761] pnp: PnP ACPI: found 17 devices
[    0.304766] ACPI: ACPI bus type pnp unregistered
[    0.310401] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.310428] PCI: max bus depth: 1 pci_try_num: 2
[    0.310470] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.310478] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.310487] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.310502] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.310508] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.310518] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.310532] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.310543] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.310553] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.310576] xen: registering gsi 17 triggering 0 polarity 1
[    0.310598] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.310614] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.310624] pci 0000:00:09.0: setting latency timer to 64
[    0.310636] xen: registering gsi 18 triggering 0 polarity 1
[    0.310646] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.310659] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.310667] pci 0000:00:0a.0: setting latency timer to 64
[    0.310683] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.310689] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.310694] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.310700] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.310705] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.310711] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.310717] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.310723] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.310728] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.310735] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.310741] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.310747] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.310752] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.310758] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.310764] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.310770] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.310826] NET: Registered protocol family 2
[    0.312885] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.318088] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.321255] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.321597] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.321604] TCP reno registered
[    0.321733] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.321994] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.322246] NET: Registered protocol family 1
[    0.322302] xen: registering gsi 16 triggering 0 polarity 1
[    0.322326] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.322347] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.052170] pci 0000:00:12.0: PCI INT A disabled
[    1.052202] xen: registering gsi 16 triggering 0 polarity 1
[    1.052216] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.052221] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.052227] Already setup the GSI :16
[    1.052233] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.136169] pci 0000:00:12.1: PCI INT A disabled
[    1.136202] xen: registering gsi 17 triggering 0 polarity 1
[    1.136216] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.136221] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.136227] Already setup the GSI :17
[    1.136233] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.136369] pci 0000:00:12.2: PCI INT B disabled
[    1.136385] xen: registering gsi 18 triggering 0 polarity 1
[    1.136391] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.136396] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.136400] Already setup the GSI :18
[    1.136405] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.220155] pci 0000:00:13.0: PCI INT A disabled
[    1.220185] xen: registering gsi 18 triggering 0 polarity 1
[    1.220199] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.220204] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.220209] Already setup the GSI :18
[    1.220215] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.304177] pci 0000:00:13.1: PCI INT A disabled
[    1.304210] xen: registering gsi 19 triggering 0 polarity 1
[    1.304236] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.304255] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.304390] pci 0000:00:13.2: PCI INT B disabled
[    1.304416] xen: registering gsi 18 triggering 0 polarity 1
[    1.304422] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.304426] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.304431] Already setup the GSI :18
[    1.304436] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.388174] pci 0000:00:14.5: PCI INT C disabled
[    1.388260] pci 0000:01:04.0: Boot video device
[    1.388268] PCI: CLS 64 bytes, default 64
[    1.389229] audit: initializing netlink socket (disabled)
[    1.389247] type=3D2000 audit(1335993234.672:1): initialized
[    1.416904] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.419035] VFS: Disk quotas dquot_6.5.2
[    1.419116] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.419802] fuse init (API version 7.17)
[    1.419911] msgmni has been set to 1479
[    1.420488] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.420542] io scheduler noop registered
[    1.420547] io scheduler deadline registered
[    1.420586] io scheduler cfq registered (default)
[    1.421042] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.421075] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.421261] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.421272] ACPI: Power Button [PWRB]
[    1.421332] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.421340] ACPI: Power Button [PWRF]
[    1.613187] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.613304] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.613478] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.613901] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.617658] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.736114] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.756421] hpet_acpi_add: no address or irqs in _CRS
[    1.756442] Linux agpgart interface v0.103
[    1.760267] brd: module loaded
[    1.761149] loop: module loaded
[    1.761542] ahci 0000:00:11.0: version 3.0
[    1.761570] xen: registering gsi 22 triggering 0 polarity 1
[    1.761594] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.761614] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.761875] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.761884] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.762820] scsi0 : ahci
[    1.762940] scsi1 : ahci
[    1.763038] scsi2 : ahci
[    1.763137] scsi3 : ahci
[    1.763272] scsi4 : ahci
[    1.763366] scsi5 : ahci
[    1.764294] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.764303] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.764310] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.764318] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.764325] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.764332] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.764857] Fixed MDIO Bus: probed
[    1.764883] tun: Universal TUN/TAP device driver, 1.6
[    1.764888] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.764952] PPP generic driver version 2.4.2
[    1.765084] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.765170] xen: registering gsi 17 triggering 0 polarity 1
[    1.765179] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.765184] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.765189] Already setup the GSI :17
[    1.765195] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.765229] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.765321] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.765339] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.765438] ehci_hcd 0000:00:12.2: debug port 1
[    1.765487] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.776123] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.776313] hub 1-0:1.0: USB hub found
[    1.776322] hub 1-0:1.0: 6 ports detected
[    1.776504] xen: registering gsi 19 triggering 0 polarity 1
[    1.776512] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.776517] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.776522] Already setup the GSI :19
[    1.776527] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.776562] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.776635] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.776650] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.776725] ehci_hcd 0000:00:13.2: debug port 1
[    1.776777] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.788099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.788340] hub 2-0:1.0: USB hub found
[    1.788347] hub 2-0:1.0: 6 ports detected
[    1.788477] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.788566] xen: registering gsi 16 triggering 0 polarity 1
[    1.788575] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.788580] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.788584] Already setup the GSI :16
[    1.788590] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.788624] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.788695] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.788763] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.848304] hub 3-0:1.0: USB hub found
[    1.848319] hub 3-0:1.0: 3 ports detected
[    1.848475] xen: registering gsi 16 triggering 0 polarity 1
[    1.848483] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.848487] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.848492] Already setup the GSI :16
[    1.848497] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.848532] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.848614] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.848653] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    1.908303] hub 4-0:1.0: USB hub found
[    1.908318] hub 4-0:1.0: 3 ports detected
[    1.908470] xen: registering gsi 18 triggering 0 polarity 1
[    1.908477] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.908482] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.908487] Already setup the GSI :18
[    1.908492] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.908527] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    1.908596] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    1.908665] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    1.968287] hub 5-0:1.0: USB hub found
[    1.968308] hub 5-0:1.0: 3 ports detected
[    1.968501] xen: registering gsi 18 triggering 0 polarity 1
[    1.968508] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.968513] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.968518] Already setup the GSI :18
[    1.968523] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.968558] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    1.968631] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    1.968670] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.028317] hub 6-0:1.0: USB hub found
[    2.028331] hub 6-0:1.0: 3 ports detected
[    2.028487] xen: registering gsi 18 triggering 0 polarity 1
[    2.028494] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.028499] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.028504] Already setup the GSI :18
[    2.028509] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.028544] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.028615] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.028669] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.084219] ata5: SATA link down (SStatus 0 SControl 300)
[    2.088443] hub 7-0:1.0: USB hub found
[    2.088456] hub 7-0:1.0: 2 ports detected
[    2.088560] uhci_hcd: USB Universal Host Controller Interface driver
[    2.088655] usbcore: registered new interface driver libusual
[    2.088719] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.091633] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.091646] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.091822] mousedev: PS/2 mouse device common for all mice
[    2.092082] rtc_cmos 00:04: RTC can wake from S4
[    2.092261] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.092312] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.092417] device-mapper: uevent: version 1.0.3
[    2.092508] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.092521] EFI Variables Facility v0.08 2004-May-17
[    2.092838] TCP cubic registered
[    2.092964] NET: Registered protocol family 10
[    2.093679] NET: Registered protocol family 17
[    2.093706] Registering the dns_resolver key type
[    2.093911] PM: Hibernation image not present or could not be loaded.
[    2.093929] registered taskstats version 1
[    2.100091] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.111457]   Magic number: 12:538:246
[    2.111644] rtc_cmos 00:04: setting system clock to 2012-05-02 21:13:5=
5 UTC (1335993235)
[    2.111775] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.111880] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.111885] EDD information not available.
[    2.124184] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.238732] Initializing USB Mass Storage driver...
[    2.239162] scsi6 : usb-storage 2-2:1.0
[    2.239275] usbcore: registered new interface driver usb-storage
[    2.239280] USB Mass Storage support registered.
[    2.256136] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256171] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256200] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256224] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256247] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.256783] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.257232] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257240] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257267] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257275] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257295] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257302] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257315] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257323] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257541] ata6.00: configured for UDMA/100
[    2.258423] ata4.00: configured for UDMA/133
[    2.258588] ata1.00: configured for UDMA/133
[    2.258739] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.258905] ata2.00: configured for UDMA/133
[    2.258926] ata3.00: configured for UDMA/133
[    2.258971] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.259009] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.259202] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.259382] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.259406] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.259438] sd 0:0:0:0: [sda] Write Protect is off
[    2.259444] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.259477] sd 1:0:0:0: [sdb] Write Protect is off
[    2.259484] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.259539] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.259546] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.259685] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.259907] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.259999] sd 2:0:0:0: [sdc] Write Protect is off
[    2.260006] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.260045] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.260158] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.260424] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.260574] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.260604] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.260664] sd 3:0:0:0: [sdd] Write Protect is off
[    2.260671] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.260767] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.261308] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.264878] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.264887] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.265053] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.265146] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.272079]  sdd: unknown partition table
[    2.272315]  sdc: unknown partition table
[    2.272574] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.272677] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.273624]  sdb: sdb1 sdb2
[    2.274072] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.379876]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.381137] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.381861] Freeing unused kernel memory: 920k freed
[    2.382200] Write protecting the kernel read-only data: 12288k
[    2.389556] Freeing unused kernel memory: 1520k freed
[    2.390733] Freeing unused kernel memory: 1140k freed
[    2.455991] udevd[165]: starting version 175
[    2.507331] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.507341] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.510219] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.510250] xen: registering gsi 17 triggering 0 polarity 1
[    2.510266] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.510276] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.510282] Already setup the GSI :17
[    2.510288] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.510322] e1000e 0000:03:00.0: setting latency timer to 64
[    2.608120] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.618454] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.618464] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.618549] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.618727] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.618753] xen: registering gsi 18 triggering 0 polarity 1
[    2.618765] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.618771] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.618808] Already setup the GSI :18
[    2.618815] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.618846] e1000e 0000:02:00.0: setting latency timer to 64
[    2.732995] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.733004] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.733089] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.786470] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.786696] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.790396] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.790549] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.790575] usbcore: registered new interface driver usbhid
[    2.790581] usbhid: USB HID core driver
[    3.237118] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.237728] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.238358] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.238989] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.240411] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.240716] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.241062] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.241431] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.247202] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.248706] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.249442] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.256349] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    8.779984] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.660572] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.660584] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.681388] udevd[720]: starting version 175
[   15.783292] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.805250] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.806887] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.807066] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.811003] lp: driver loaded but no devices found
[   15.816683] device-mapper: multipath: version 1.3.0 loaded
[   15.822147] Bridge firewalling registered
[   15.824789] ipmi message handler version 39.2
[   15.826134] ipmi device interface
[   15.831918] IPMI System Interface driver.
[   15.832013] ipmi_si: probing via SMBIOS
[   15.832018] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.832022] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.832029] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.840762] device eth0 entered promiscuous mode
[   15.847580] type=3D1400 audit(1335993249.231:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D864 comm=3D"appar=
mor_parser"
[   15.848208] type=3D1400 audit(1335993249.235:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D864 comm=3D"apparmor_parser"
[   15.848556] type=3D1400 audit(1335993249.235:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D864 comm=3D"apparmor_parser"
[   15.884399] MCE: In-kernel MCE decoding enabled.
[   15.885625] EDAC MC: Ver: 2.1.0
[   15.892212] AMD64 EDAC driver v3.4.0
[   15.893098] EDAC amd64: DRAM ECC enabled.
[   15.893140] EDAC amd64: F10h detected (node 0).
[   15.893209] EDAC MC: DCT0 chip selects:
[   15.893213] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.893216] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.893220] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.893223] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.893228] EDAC MC: DCT1 chip selects:
[   15.893231] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.893234] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.893237] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.893240] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.893243] EDAC amd64: using x8 syndromes.
[   15.893246] EDAC amd64: MCT channel count: 2
[   15.893295] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.893302] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.893305] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.893308] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.893378] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.894468] EDAC amd64: DRAM ECC enabled.
[   15.894474] EDAC amd64: F10h detected (node 1).
[   15.894543] EDAC MC: DCT0 chip selects:
[   15.894547] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.894550] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.894553] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.894556] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.894559] EDAC MC: DCT1 chip selects:
[   15.894562] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.894565] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.894569] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.894572] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.894575] EDAC amd64: using x8 syndromes.
[   15.894578] EDAC amd64: MCT channel count: 2
[   15.894604] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.894607] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.894610] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.894613] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.894673] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.894979] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.935526] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.936109] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   15.984439] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   15.984585] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.013572] ADDRCONF(NETDEV_UP): br0: link is not ready
[   16.061669] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   16.123574] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.967731] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.073284] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   18.985096] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   18.987513] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   18.987651] br0: port 1(eth0) entering forwarding state
[   18.987668] br0: port 1(eth0) entering forwarding state
[   18.990136] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   21.841738] init: udev-fallback-graphics main process (1843) terminate=
d with status 1
[   21.982235] init: failsafe main process (1722) killed by TERM signal
[   22.095449] type=3D1400 audit(1335993255.479:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1935 comm=3D"apparmor_parser"
[   22.095590] type=3D1400 audit(1335993255.479:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1933 comm=3D"a=
pparmor_parser"
[   22.095641] type=3D1400 audit(1335993255.479:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1936 comm=3D"=
apparmor_parser"
[   22.096279] type=3D1400 audit(1335993255.483:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1933 comm=3D"apparmor_parser"
[   22.096619] type=3D1400 audit(1335993255.483:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1933 comm=3D"apparmor_parser"
[   22.096934] type=3D1400 audit(1335993255.483:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1937 c=
omm=3D"apparmor_parser"
[   22.097294] type=3D1400 audit(1335993255.483:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1937 comm=3D"apparmor_parser"
[   22.097727] type=3D1400 audit(1335993255.483:12): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/tcpdump" pid=3D1939 comm=3D"=
apparmor_parser"
[   22.375521] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   22.603449] ip_tables: (C) 2000-2006 Netfilter Core Team
[   22.705577] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   22.759236] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   23.067948] Event-channel device installed.
[   23.131264] XENBUS: Unable to read cpu state
[   23.131474] XENBUS: Unable to read cpu state
[   23.131666] XENBUS: Unable to read cpu state
[   23.131850] XENBUS: Unable to read cpu state
[   23.132087] XENBUS: Unable to read cpu state
[   23.132254] XENBUS: Unable to read cpu state
[   23.132396] XENBUS: Unable to read cpu state
[   23.132515] XENBUS: Unable to read cpu state
[   24.071993] Ebtables v2.0 registered
[   24.102932] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.788091] br0: no IPv6 routers present
[   46.145335] xen-acpi-processor: Max ACPI ID: 16
[  126.303979] xen-acpi-processor: Max ACPI ID: 16

--------------040008000906090802060103--

--------------enig2E4FEB681D5F888C5BCE183E
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoadIAAoJEOhnXe7L7s6jE5EP/jOjpEj2FTAmJYez3SVK5mMo
nPq51jkZx4e/aC7DtSvwBgt1CuOQsxqlh8F7Pm9k9GTd4oOwCt9QX/0RnysB5xY3
f/GRF7oyxkfpmuU3+uso5DLuUGma7VXPrGG1CCz2Bm87OIueo7lnycyZmL2fqCX7
3YfDytjcvA9woiAxkGpASq+4gBlwnog7SM5iGifjfaxS2T/7YfPP5bJzFHAxg/bd
jWJ0Iwf4kRKySjhNp0Q7QYUHeOHeZzp3fYQ74UHpnLxjCpSbKlLMIszV7NL3Tdnv
8R40fJJgtclVh8WtzDVJFf6HBfuMh5xKigngPuwqToCvBHwrHf8H9E6W9nn9alt2
cBuWwCNfcb8ktdOuYjpRj3RE5/8lbTTBMLmTY/VhLlATq6UwoTF61UzzGoNFnILR
Fba9zdmwpwa0YcolYiLgKSAcSroEwOIrv8tMeehOSrcsJMvXxxsuOFzQXo3sxrFv
MCalqAs22nTeCHnE/W96e+1zRux3B/mb1+znaSOsnP4rfB/nC5lAuZU6KZmXNCdA
NvhwZ45g4bxf6LyjgaiDroYmoGVXPGp4PznXayz8nHvhfAl6dHi0FXK+fQtHKGiE
yJGTDh7yFbtv7wheyAcgZDBsozLo0t9XlnJYrePp+vlfylze4EKlqMnsx4oT8eUQ
6rQ6/tNXxVVsxJcdVH8l
=cu2N
-----END PGP SIGNATURE-----

--------------enig2E4FEB681D5F888C5BCE183E--


--===============8639842970269748413==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8639842970269748413==--


From xen-devel-bounces@lists.xen.org Wed May 02 21:30:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 21:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPh7T-0004pD-C4; Wed, 02 May 2012 21:29:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPh7R-0004p8-6p
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 21:29:53 +0000
Received: from [193.109.254.147:38218] by server-6.bemta-14.messagelabs.com id
	BA/2C-04960-057A1AF4; Wed, 02 May 2012 21:29:52 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1335994188!4912202!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6707 invoked from network); 2 May 2012 21:29:48 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-5.tower-27.messagelabs.com with SMTP;
	2 May 2012 21:29:48 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPh7K-0004iD-KC; Wed, 02 May 2012 21:29:47 +0000
Message-ID: <4FA1A747.5080909@canonical.com>
Date: Wed, 02 May 2012 23:29:43 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
In-Reply-To: <20120502160812.GA6611@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8639842970269748413=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============8639842970269748413==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig2E4FEB681D5F888C5BCE183E"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2E4FEB681D5F888C5BCE183E
Content-Type: multipart/mixed;
 boundary="------------040008000906090802060103"

This is a multi-part message in MIME format.
--------------040008000906090802060103
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02.05.2012 18:08, Konrad Rzeszutek Wilk wrote:
> On Wed, May 02, 2012 at 05:01:00PM +0200, Stefan Bader wrote:
>> On 02.05.2012 00:35, Boris Ostrovsky wrote:
>>> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>>>> Since there have been requests about that driver to get backporte=
d into 3.2, I
>>>>>>> was interested to find out what or how much would be gained by th=
at.
>>>>>>>
>>>>>>> The first system I tried was an AMD based one (8 core Opteron 612=
8@2GHz).
>>>>>>> Which
>>>>>>> was not very successful as the drivers bail out of the init funct=
ion
>>>>>>> because the
>>>>>>> first call to acpi_processor_register_performance() returns -ENOD=
EV. There is
>>>>>>> some frequency scaling when running without Xen, so I need to do =
some more
>>>>>>> debugging there.
>>>
>>> I believe this is caused by the somewhat under-enlightened xen_apic_r=
ead():
>>>
>>> static u32 xen_apic_read(u32 reg)
>>> {
>>>         return 0;
>>> }
>>>
>>> This results in some data, most importantly boot_cpu_physical_apicid,=
 not being
>>> set correctly and, in turn, causes x86_cpu_to_apicid to be broken.
>>>
>>> On larger AMD systems boot processor is typically APICID=3D0x20 (I do=
n't have
>>> Intel system handy to see how it looks there).
>>>
>>> As a quick and dirty test you can try:
>>>
>>> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.=
c
>>> index edc2448..1f78998 100644
>>> --- a/arch/x86/kernel/apic/apic.c
>>> +++ b/arch/x86/kernel/apic/apic.c
>>> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned lon=
g address)
>>>         }
>>>         if (boot_cpu_physical_apicid =3D=3D -1U) {
>>>                 boot_cpu_physical_apicid  =3D read_apic_id();
>>> +               boot_cpu_physical_apicid =3D 32;
>>>                 apic_version[boot_cpu_physical_apicid] =3D
>>>                          GET_APIC_VERSION(apic_read(APIC_LVR));
>>>         }
>>>
>>>
>>> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
>>>
>>
>> Indeed, when I hack the above id to be 0x10 (as my dmesg tells) most o=
f the BIOS
>> bug messages are gone and the xen-acpi-processor driver successfully l=
oads and
>> seems to be switching frequencies ok (just a quick tight loop which ma=
de one cpu
>> go from P4 to P0).
>=20
> OK.  Can you try the attached patch pls? It should do the same thing
> as what the debug patch does - get the _real_ APIC ID from the hypervis=
or.
> (And as bonus it also removes the annoying:
>=20
> BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10

All the BIOS bug messages are gone from the Intel and the AMD box. Just t=
he AMD
box again fails to load the xen-acpi-processor driver. Though it must be =
a
different exit. I had enabled acpi debugging for the modprobe call but th=
is time
there is no trace of any acpi messages.

>=20
>=20
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..d816448 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>  #ifdef CONFIG_X86_LOCAL_APIC
>  static u32 xen_apic_read(u32 reg)
>  {
> -	return 0;
> +	struct xen_platform_op op =3D {
> +		.cmd =3D XENPF_get_cpuinfo,
> +		.interface_version =3D XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid =3D 0,
> +	};
> +	int ret =3D 0;
> +
> +	/* Shouldn't need this as APIC is turned off for PV, and we only
> +	 * get called on the bootup processor. But just in case. */
> +	if (!xen_initial_domain() || smp_processor_id())
> +		return 0;
> +
> +	if (reg =3D=3D APIC_LVR)
> +		return 0x10;
> +
> +	if (reg !=3D APIC_ID)
> +		return 0;
> +
> +	ret =3D HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return 0;
> +
> +	return op.u.pcpu_info.apic_id;
>  }
> =20
>  static void xen_apic_write(u32 reg, u32 val)
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


--------------040008000906090802060103
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.4"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.4"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (smb@gomeisa) (gcc version =
4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg3 SMP Wed May 2 20:48:57=
 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg3-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.172 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.34 BogoMIPS (lpj=3D8000688)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.008000] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.016990] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019592] Mount-cache hash table entries: 256
[    0.019840] Initializing cgroup subsys cpuacct
[    0.019852] Initializing cgroup subsys memory
[    0.019871] Initializing cgroup subsys devices
[    0.019877] Initializing cgroup subsys freezer
[    0.019882] Initializing cgroup subsys blkio
[    0.019898] Initializing cgroup subsys perf_event
[    0.019972] tseg: 00dff00000
[    0.019980] CPU: Physical Processor ID: 0
[    0.019984] CPU: Processor Core ID: 0
[    0.022918] ACPI: Core revision 20110623
[    0.038976] ftrace: allocating 27102 entries in 107 pages
[    0.040132] cpu 0 spinlock event irq 273
[    0.040233] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040500] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040631] installing Xen timer for CPU 1
[    0.040649] cpu 1 spinlock event irq 279
[    0.040855] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040978] installing Xen timer for CPU 2
[    0.040996] cpu 2 spinlock event irq 285
[    0.041153] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041269] installing Xen timer for CPU 3
[    0.041284] cpu 3 spinlock event irq 291
[    0.041445] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041562] installing Xen timer for CPU 4
[    0.041577] cpu 4 spinlock event irq 297
[    0.041759] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041885] installing Xen timer for CPU 5
[    0.041901] cpu 5 spinlock event irq 303
[    0.042060] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042175] installing Xen timer for CPU 6
[    0.042191] cpu 6 spinlock event irq 309
[    0.042346] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042463] installing Xen timer for CPU 7
[    0.042479] cpu 7 spinlock event irq 315
[    0.042636] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042669] Brought up 8 CPUs
[    0.042898] devtmpfs: initialized
[    0.045573] EVM: security.selinux
[    0.045578] EVM: security.SMACK64
[    0.045582] EVM: security.capability
[    0.045658] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045658] Grant table initialized
[    0.045658] print_constraints: dummy:=20
[    0.045658] RTC time: 21:13:53, date: 05/02/12
[    0.045658] NET: Registered protocol family 16
[    0.045658] Trying to unpack rootfs image as initramfs...
[    0.060236] node 0 link 0: io port [1000, ffffff]
[    0.060252] TOM: 00000000e0000000 aka 3584M
[    0.060258] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060269] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060278] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060285] node 0 link 0: mmio [a0000, bffff]
[    0.060293] TOM2: 0000000820000000 aka 33280M
[    0.060298] bus: [00, 1f] on node 0 link 0
[    0.060303] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060307] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060312] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060317] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060338] Extended Config Space enabled on 2 nodes
[    0.060506] ACPI: bus type pci registered
[    0.060613] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060622] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.116338] Freeing initrd memory: 40072k freed
[    0.147622] PCI: Using configuration type 1 for base access
[    0.149637] bio: create slab <bio-0> at 0
[    0.149637] ACPI: Added _OSI(Module Device)
[    0.149637] ACPI: Added _OSI(Processor Device)
[    0.149637] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.149637] ACPI: Added _OSI(Processor Aggregator Device)
[    0.152152] ACPI: EC: Look up EC in DSDT
[    0.156136] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.177614] ACPI: Interpreter enabled
[    0.177623] ACPI: (supports S0 S1 S4 S5)
[    0.177668] ACPI: Using IOAPIC for interrupt routing
[    0.190794] ACPI: No dock devices found.
[    0.190868] HEST: Table parsing has been initialized.
[    0.190875] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.191175] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.191767] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.191774] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.191780] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.191786] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.191793] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.191834] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.192011] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.192087] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.192205] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.192214] pci 0000:00:09.0: PME# disabled
[    0.192256] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.192372] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.192380] pci 0000:00:0a.0: PME# disabled
[    0.192440] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.192477] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.192498] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.192517] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.192537] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.192557] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.192577] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.192685] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.192712] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.192839] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.192866] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.193000] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.193037] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.193195] pci 0000:00:12.2: supports D1 D2
[    0.193200] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.193210] pci 0000:00:12.2: PME# disabled
[    0.193249] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.193276] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.193400] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.193429] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.193571] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.193609] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.193767] pci 0000:00:13.2: supports D1 D2
[    0.193772] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.193781] pci 0000:00:13.2: PME# disabled
[    0.193826] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.194017] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.194160] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.194245] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.194273] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.194416] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.194545] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.194606] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.194671] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.194761] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.194873] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.194990] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.195056] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.195123] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.195215] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.195431] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.195464] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.195509] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.195534] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.195712] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.195723] pci 0000:03:00.0: PME# disabled
[    0.204050] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.204064] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.204074] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.204196] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.204231] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.204275] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.204300] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.204486] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.204498] pci 0000:02:00.0: PME# disabled
[    0.212049] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.212063] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.212071] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.212139] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.212178] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.212201] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.212224] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.212432] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.212446] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.212457] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.212463] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.212469] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.212475] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.212482] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.212488] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.212546] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.212959] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.213031] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.213142] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.213317]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.213325]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.213331] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.231035] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.231173] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.231307] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.231444] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.231577] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.231709] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.231843] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.231976] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.232013] xen/balloon: Initialising balloon driver.
[    0.272380] xen-balloon: Initialising balloon driver.
[    0.272411] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.272584] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.272591] vgaarb: loaded
[    0.272594] vgaarb: bridge control possible 0000:01:04.0
[    0.272737] i2c-core: driver [aat2870] using legacy suspend method
[    0.272742] i2c-core: driver [aat2870] using legacy resume method
[    0.272839] SCSI subsystem initialized
[    0.275640] libata version 3.00 loaded.
[    0.275640] usbcore: registered new interface driver usbfs
[    0.275640] usbcore: registered new interface driver hub
[    0.275640] usbcore: registered new device driver usb
[    0.275640] PCI: Using ACPI for IRQ routing
[    0.276016] PCI: pci_cache_line_size set to 64 bytes
[    0.276016] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.276016] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.276016] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.288133] NetLabel: Initializing
[    0.288138] NetLabel:  domain hash size =3D 128
[    0.288142] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.288162] NetLabel:  unlabeled traffic allowed by default
[    0.288279] Switching to clocksource xen
[    0.297286] AppArmor: AppArmor Filesystem Enabled
[    0.297330] pnp: PnP ACPI init
[    0.297351] ACPI: bus type pnp registered
[    0.297714] pnp 00:00: [bus 00-ff]
[    0.297720] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.297729] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.297734] pnp 00:00: [io  0x0d00-0xffff window]
[    0.297740] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.297745] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.297750] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.297756] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.297874] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.298146] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.298152] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.298227] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.298413] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.298478] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.298485] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.299138] pnp 00:03: [dma 4]
[    0.299143] pnp 00:03: [io  0x0000-0x000f]
[    0.299148] pnp 00:03: [io  0x0081-0x0083]
[    0.299152] pnp 00:03: [io  0x0087]
[    0.299157] pnp 00:03: [io  0x0089-0x008b]
[    0.299161] pnp 00:03: [io  0x008f]
[    0.299165] pnp 00:03: [io  0x00c0-0x00df]
[    0.299223] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.299250] pnp 00:04: [io  0x0070-0x0071]
[    0.299257] xen: registering gsi 8 triggering 1 polarity 0
[    0.299267] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.299272] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.299290] pnp 00:04: [irq 8]
[    0.299344] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.299415] pnp 00:05: [io  0x0060]
[    0.299419] pnp 00:05: [io  0x0064]
[    0.299424] xen: registering gsi 1 triggering 1 polarity 0
[    0.299429] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.299434] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.299450] pnp 00:05: [irq 1]
[    0.299509] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.299623] xen: registering gsi 12 triggering 1 polarity 0
[    0.299630] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.299634] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.299648] pnp 00:06: [irq 12]
[    0.299707] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.299729] pnp 00:07: [io  0x0061]
[    0.299783] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.299804] pnp 00:08: [io  0x00f0-0x00ff]
[    0.299809] xen: registering gsi 13 triggering 1 polarity 0
[    0.299815] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.299819] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.299836] pnp 00:08: [irq 13]
[    0.299895] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.300116] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.300123] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.300129] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.300213] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.300220] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.300302] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.300364] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.300662] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.300667] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.300747] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.300754] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.300761] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.301257] pnp 00:0c: [io  0x0010-0x001f]
[    0.301262] pnp 00:0c: [io  0x0022-0x003f]
[    0.301267] pnp 00:0c: [io  0x0062-0x0063]
[    0.301298] pnp 00:0c: [io  0x0065-0x006f]
[    0.301302] pnp 00:0c: [io  0x0072-0x007f]
[    0.301307] pnp 00:0c: [io  0x0080]
[    0.301311] pnp 00:0c: [io  0x0084-0x0086]
[    0.301315] pnp 00:0c: [io  0x0088]
[    0.301320] pnp 00:0c: [io  0x008c-0x008e]
[    0.301324] pnp 00:0c: [io  0x0090-0x009f]
[    0.301329] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.301336] pnp 00:0c: [io  0x00b1]
[    0.301341] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.301345] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.301350] pnp 00:0c: [io  0x0550-0x0551]
[    0.301354] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.301359] pnp 00:0c: [io  0x040b]
[    0.301363] pnp 00:0c: [io  0x04d6]
[    0.301367] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.301372] pnp 00:0c: [io  0x0c14]
[    0.301376] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.301380] pnp 00:0c: [io  0x0c52]
[    0.301384] pnp 00:0c: [io  0x0c6c]
[    0.301389] pnp 00:0c: [io  0x0c6f]
[    0.301393] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.301397] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.301402] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.301406] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.301411] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.301415] pnp 00:0c: [io  0x0800-0x089f]
[    0.301420] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.301425] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.301430] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.301434] pnp 00:0c: [io  0x0900-0x090f]
[    0.301439] pnp 00:0c: [io  0x0910-0x091f]
[    0.301443] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.301448] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.301453] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.301458] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.301463] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.301575] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.301582] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.301588] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.301594] system 00:0c: [io  0x040b] has been reserved
[    0.301599] system 00:0c: [io  0x04d6] has been reserved
[    0.301605] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.301610] system 00:0c: [io  0x0c14] has been reserved
[    0.301616] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.301622] system 00:0c: [io  0x0c52] has been reserved
[    0.301627] system 00:0c: [io  0x0c6c] has been reserved
[    0.301633] system 00:0c: [io  0x0c6f] has been reserved
[    0.301638] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.301644] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.301650] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.301659] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.301665] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.301671] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.301677] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.301683] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.301689] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.301695] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.301701] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.301708] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.301714] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.301721] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.302275] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.302280] xen: registering gsi 4 triggering 1 polarity 0
[    0.302286] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.302291] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.302304] pnp 00:0d: [irq 4]
[    0.302308] pnp 00:0d: [dma 0 disabled]
[    0.302436] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.302979] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.302984] xen: registering gsi 3 triggering 1 polarity 0
[    0.302990] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.302995] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.302999] Already setup the GSI :3
[    0.303004] pnp 00:0e: [irq 3]
[    0.303008] pnp 00:0e: [dma 0 disabled]
[    0.303124] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.303267] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.303358] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.303365] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.304306] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.304311] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.304316] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.304322] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.304327] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.304426] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.304433] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.304439] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.304445] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.304452] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.304459] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.304761] pnp: PnP ACPI: found 17 devices
[    0.304766] ACPI: ACPI bus type pnp unregistered
[    0.310401] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.310428] PCI: max bus depth: 1 pci_try_num: 2
[    0.310470] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.310478] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.310487] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.310502] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.310508] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.310518] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.310532] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.310543] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.310553] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.310576] xen: registering gsi 17 triggering 0 polarity 1
[    0.310598] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.310614] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.310624] pci 0000:00:09.0: setting latency timer to 64
[    0.310636] xen: registering gsi 18 triggering 0 polarity 1
[    0.310646] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.310659] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.310667] pci 0000:00:0a.0: setting latency timer to 64
[    0.310683] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.310689] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.310694] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.310700] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.310705] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.310711] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.310717] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.310723] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.310728] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.310735] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.310741] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.310747] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.310752] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.310758] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.310764] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.310770] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.310826] NET: Registered protocol family 2
[    0.312885] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.318088] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.321255] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.321597] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.321604] TCP reno registered
[    0.321733] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.321994] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.322246] NET: Registered protocol family 1
[    0.322302] xen: registering gsi 16 triggering 0 polarity 1
[    0.322326] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.322347] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.052170] pci 0000:00:12.0: PCI INT A disabled
[    1.052202] xen: registering gsi 16 triggering 0 polarity 1
[    1.052216] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.052221] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.052227] Already setup the GSI :16
[    1.052233] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.136169] pci 0000:00:12.1: PCI INT A disabled
[    1.136202] xen: registering gsi 17 triggering 0 polarity 1
[    1.136216] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.136221] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.136227] Already setup the GSI :17
[    1.136233] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.136369] pci 0000:00:12.2: PCI INT B disabled
[    1.136385] xen: registering gsi 18 triggering 0 polarity 1
[    1.136391] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.136396] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.136400] Already setup the GSI :18
[    1.136405] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.220155] pci 0000:00:13.0: PCI INT A disabled
[    1.220185] xen: registering gsi 18 triggering 0 polarity 1
[    1.220199] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.220204] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.220209] Already setup the GSI :18
[    1.220215] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.304177] pci 0000:00:13.1: PCI INT A disabled
[    1.304210] xen: registering gsi 19 triggering 0 polarity 1
[    1.304236] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.304255] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.304390] pci 0000:00:13.2: PCI INT B disabled
[    1.304416] xen: registering gsi 18 triggering 0 polarity 1
[    1.304422] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.304426] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.304431] Already setup the GSI :18
[    1.304436] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.388174] pci 0000:00:14.5: PCI INT C disabled
[    1.388260] pci 0000:01:04.0: Boot video device
[    1.388268] PCI: CLS 64 bytes, default 64
[    1.389229] audit: initializing netlink socket (disabled)
[    1.389247] type=3D2000 audit(1335993234.672:1): initialized
[    1.416904] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.419035] VFS: Disk quotas dquot_6.5.2
[    1.419116] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.419802] fuse init (API version 7.17)
[    1.419911] msgmni has been set to 1479
[    1.420488] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.420542] io scheduler noop registered
[    1.420547] io scheduler deadline registered
[    1.420586] io scheduler cfq registered (default)
[    1.421042] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.421075] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.421261] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.421272] ACPI: Power Button [PWRB]
[    1.421332] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.421340] ACPI: Power Button [PWRF]
[    1.613187] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.613304] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.613478] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.613901] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.617658] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.736114] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.756421] hpet_acpi_add: no address or irqs in _CRS
[    1.756442] Linux agpgart interface v0.103
[    1.760267] brd: module loaded
[    1.761149] loop: module loaded
[    1.761542] ahci 0000:00:11.0: version 3.0
[    1.761570] xen: registering gsi 22 triggering 0 polarity 1
[    1.761594] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.761614] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.761875] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.761884] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.762820] scsi0 : ahci
[    1.762940] scsi1 : ahci
[    1.763038] scsi2 : ahci
[    1.763137] scsi3 : ahci
[    1.763272] scsi4 : ahci
[    1.763366] scsi5 : ahci
[    1.764294] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.764303] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.764310] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.764318] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.764325] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.764332] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.764857] Fixed MDIO Bus: probed
[    1.764883] tun: Universal TUN/TAP device driver, 1.6
[    1.764888] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.764952] PPP generic driver version 2.4.2
[    1.765084] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.765170] xen: registering gsi 17 triggering 0 polarity 1
[    1.765179] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.765184] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.765189] Already setup the GSI :17
[    1.765195] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.765229] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.765321] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.765339] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.765438] ehci_hcd 0000:00:12.2: debug port 1
[    1.765487] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.776123] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.776313] hub 1-0:1.0: USB hub found
[    1.776322] hub 1-0:1.0: 6 ports detected
[    1.776504] xen: registering gsi 19 triggering 0 polarity 1
[    1.776512] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.776517] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.776522] Already setup the GSI :19
[    1.776527] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.776562] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.776635] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.776650] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.776725] ehci_hcd 0000:00:13.2: debug port 1
[    1.776777] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.788099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.788340] hub 2-0:1.0: USB hub found
[    1.788347] hub 2-0:1.0: 6 ports detected
[    1.788477] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.788566] xen: registering gsi 16 triggering 0 polarity 1
[    1.788575] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.788580] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.788584] Already setup the GSI :16
[    1.788590] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.788624] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.788695] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.788763] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.848304] hub 3-0:1.0: USB hub found
[    1.848319] hub 3-0:1.0: 3 ports detected
[    1.848475] xen: registering gsi 16 triggering 0 polarity 1
[    1.848483] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.848487] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.848492] Already setup the GSI :16
[    1.848497] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.848532] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.848614] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.848653] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    1.908303] hub 4-0:1.0: USB hub found
[    1.908318] hub 4-0:1.0: 3 ports detected
[    1.908470] xen: registering gsi 18 triggering 0 polarity 1
[    1.908477] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.908482] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.908487] Already setup the GSI :18
[    1.908492] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.908527] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    1.908596] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    1.908665] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    1.968287] hub 5-0:1.0: USB hub found
[    1.968308] hub 5-0:1.0: 3 ports detected
[    1.968501] xen: registering gsi 18 triggering 0 polarity 1
[    1.968508] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.968513] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.968518] Already setup the GSI :18
[    1.968523] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.968558] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    1.968631] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    1.968670] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.028317] hub 6-0:1.0: USB hub found
[    2.028331] hub 6-0:1.0: 3 ports detected
[    2.028487] xen: registering gsi 18 triggering 0 polarity 1
[    2.028494] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.028499] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.028504] Already setup the GSI :18
[    2.028509] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.028544] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.028615] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.028669] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.084219] ata5: SATA link down (SStatus 0 SControl 300)
[    2.088443] hub 7-0:1.0: USB hub found
[    2.088456] hub 7-0:1.0: 2 ports detected
[    2.088560] uhci_hcd: USB Universal Host Controller Interface driver
[    2.088655] usbcore: registered new interface driver libusual
[    2.088719] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.091633] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.091646] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.091822] mousedev: PS/2 mouse device common for all mice
[    2.092082] rtc_cmos 00:04: RTC can wake from S4
[    2.092261] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.092312] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.092417] device-mapper: uevent: version 1.0.3
[    2.092508] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.092521] EFI Variables Facility v0.08 2004-May-17
[    2.092838] TCP cubic registered
[    2.092964] NET: Registered protocol family 10
[    2.093679] NET: Registered protocol family 17
[    2.093706] Registering the dns_resolver key type
[    2.093911] PM: Hibernation image not present or could not be loaded.
[    2.093929] registered taskstats version 1
[    2.100091] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.111457]   Magic number: 12:538:246
[    2.111644] rtc_cmos 00:04: setting system clock to 2012-05-02 21:13:5=
5 UTC (1335993235)
[    2.111775] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.111880] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.111885] EDD information not available.
[    2.124184] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.238732] Initializing USB Mass Storage driver...
[    2.239162] scsi6 : usb-storage 2-2:1.0
[    2.239275] usbcore: registered new interface driver usb-storage
[    2.239280] USB Mass Storage support registered.
[    2.256136] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256171] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256200] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256224] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.256247] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.256783] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.257232] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257240] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257267] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257275] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257295] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257302] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257315] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.257323] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.257541] ata6.00: configured for UDMA/100
[    2.258423] ata4.00: configured for UDMA/133
[    2.258588] ata1.00: configured for UDMA/133
[    2.258739] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.258905] ata2.00: configured for UDMA/133
[    2.258926] ata3.00: configured for UDMA/133
[    2.258971] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.259009] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.259202] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.259382] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.259406] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.259438] sd 0:0:0:0: [sda] Write Protect is off
[    2.259444] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.259477] sd 1:0:0:0: [sdb] Write Protect is off
[    2.259484] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.259539] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.259546] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.259685] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.259907] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.259999] sd 2:0:0:0: [sdc] Write Protect is off
[    2.260006] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.260045] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.260158] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.260424] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.260574] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.260604] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.260664] sd 3:0:0:0: [sdd] Write Protect is off
[    2.260671] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.260767] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.261308] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.264878] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.264887] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.265053] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.265146] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.272079]  sdd: unknown partition table
[    2.272315]  sdc: unknown partition table
[    2.272574] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.272677] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.273624]  sdb: sdb1 sdb2
[    2.274072] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.379876]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.381137] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.381861] Freeing unused kernel memory: 920k freed
[    2.382200] Write protecting the kernel read-only data: 12288k
[    2.389556] Freeing unused kernel memory: 1520k freed
[    2.390733] Freeing unused kernel memory: 1140k freed
[    2.455991] udevd[165]: starting version 175
[    2.507331] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.507341] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.510219] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.510250] xen: registering gsi 17 triggering 0 polarity 1
[    2.510266] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.510276] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.510282] Already setup the GSI :17
[    2.510288] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.510322] e1000e 0000:03:00.0: setting latency timer to 64
[    2.608120] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.618454] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.618464] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.618549] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.618727] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.618753] xen: registering gsi 18 triggering 0 polarity 1
[    2.618765] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.618771] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.618808] Already setup the GSI :18
[    2.618815] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.618846] e1000e 0000:02:00.0: setting latency timer to 64
[    2.732995] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.733004] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.733089] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.786470] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.786696] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.790396] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.790549] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.790575] usbcore: registered new interface driver usbhid
[    2.790581] usbhid: USB HID core driver
[    3.237118] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.237728] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.238358] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.238989] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.240411] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.240716] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.241062] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.241431] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.247202] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.248706] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.249442] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.256349] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    8.779984] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.660572] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.660584] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.681388] udevd[720]: starting version 175
[   15.783292] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.805250] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.806887] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.807066] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.811003] lp: driver loaded but no devices found
[   15.816683] device-mapper: multipath: version 1.3.0 loaded
[   15.822147] Bridge firewalling registered
[   15.824789] ipmi message handler version 39.2
[   15.826134] ipmi device interface
[   15.831918] IPMI System Interface driver.
[   15.832013] ipmi_si: probing via SMBIOS
[   15.832018] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.832022] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.832029] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.840762] device eth0 entered promiscuous mode
[   15.847580] type=3D1400 audit(1335993249.231:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D864 comm=3D"appar=
mor_parser"
[   15.848208] type=3D1400 audit(1335993249.235:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D864 comm=3D"apparmor_parser"
[   15.848556] type=3D1400 audit(1335993249.235:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D864 comm=3D"apparmor_parser"
[   15.884399] MCE: In-kernel MCE decoding enabled.
[   15.885625] EDAC MC: Ver: 2.1.0
[   15.892212] AMD64 EDAC driver v3.4.0
[   15.893098] EDAC amd64: DRAM ECC enabled.
[   15.893140] EDAC amd64: F10h detected (node 0).
[   15.893209] EDAC MC: DCT0 chip selects:
[   15.893213] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.893216] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.893220] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.893223] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.893228] EDAC MC: DCT1 chip selects:
[   15.893231] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.893234] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.893237] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.893240] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.893243] EDAC amd64: using x8 syndromes.
[   15.893246] EDAC amd64: MCT channel count: 2
[   15.893295] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.893302] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.893305] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.893308] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.893378] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.894468] EDAC amd64: DRAM ECC enabled.
[   15.894474] EDAC amd64: F10h detected (node 1).
[   15.894543] EDAC MC: DCT0 chip selects:
[   15.894547] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.894550] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.894553] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.894556] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.894559] EDAC MC: DCT1 chip selects:
[   15.894562] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.894565] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.894569] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.894572] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.894575] EDAC amd64: using x8 syndromes.
[   15.894578] EDAC amd64: MCT channel count: 2
[   15.894604] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.894607] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.894610] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.894613] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.894673] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.894979] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.935526] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.936109] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   15.984439] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   15.984585] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.013572] ADDRCONF(NETDEV_UP): br0: link is not ready
[   16.061669] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   16.123574] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.967731] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.073284] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   18.985096] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   18.987513] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   18.987651] br0: port 1(eth0) entering forwarding state
[   18.987668] br0: port 1(eth0) entering forwarding state
[   18.990136] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   21.841738] init: udev-fallback-graphics main process (1843) terminate=
d with status 1
[   21.982235] init: failsafe main process (1722) killed by TERM signal
[   22.095449] type=3D1400 audit(1335993255.479:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1935 comm=3D"apparmor_parser"
[   22.095590] type=3D1400 audit(1335993255.479:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1933 comm=3D"a=
pparmor_parser"
[   22.095641] type=3D1400 audit(1335993255.479:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1936 comm=3D"=
apparmor_parser"
[   22.096279] type=3D1400 audit(1335993255.483:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1933 comm=3D"apparmor_parser"
[   22.096619] type=3D1400 audit(1335993255.483:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1933 comm=3D"apparmor_parser"
[   22.096934] type=3D1400 audit(1335993255.483:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1937 c=
omm=3D"apparmor_parser"
[   22.097294] type=3D1400 audit(1335993255.483:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1937 comm=3D"apparmor_parser"
[   22.097727] type=3D1400 audit(1335993255.483:12): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/tcpdump" pid=3D1939 comm=3D"=
apparmor_parser"
[   22.375521] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   22.603449] ip_tables: (C) 2000-2006 Netfilter Core Team
[   22.705577] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   22.759236] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   23.067948] Event-channel device installed.
[   23.131264] XENBUS: Unable to read cpu state
[   23.131474] XENBUS: Unable to read cpu state
[   23.131666] XENBUS: Unable to read cpu state
[   23.131850] XENBUS: Unable to read cpu state
[   23.132087] XENBUS: Unable to read cpu state
[   23.132254] XENBUS: Unable to read cpu state
[   23.132396] XENBUS: Unable to read cpu state
[   23.132515] XENBUS: Unable to read cpu state
[   24.071993] Ebtables v2.0 registered
[   24.102932] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.788091] br0: no IPv6 routers present
[   46.145335] xen-acpi-processor: Max ACPI ID: 16
[  126.303979] xen-acpi-processor: Max ACPI ID: 16

--------------040008000906090802060103--

--------------enig2E4FEB681D5F888C5BCE183E
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoadIAAoJEOhnXe7L7s6jE5EP/jOjpEj2FTAmJYez3SVK5mMo
nPq51jkZx4e/aC7DtSvwBgt1CuOQsxqlh8F7Pm9k9GTd4oOwCt9QX/0RnysB5xY3
f/GRF7oyxkfpmuU3+uso5DLuUGma7VXPrGG1CCz2Bm87OIueo7lnycyZmL2fqCX7
3YfDytjcvA9woiAxkGpASq+4gBlwnog7SM5iGifjfaxS2T/7YfPP5bJzFHAxg/bd
jWJ0Iwf4kRKySjhNp0Q7QYUHeOHeZzp3fYQ74UHpnLxjCpSbKlLMIszV7NL3Tdnv
8R40fJJgtclVh8WtzDVJFf6HBfuMh5xKigngPuwqToCvBHwrHf8H9E6W9nn9alt2
cBuWwCNfcb8ktdOuYjpRj3RE5/8lbTTBMLmTY/VhLlATq6UwoTF61UzzGoNFnILR
Fba9zdmwpwa0YcolYiLgKSAcSroEwOIrv8tMeehOSrcsJMvXxxsuOFzQXo3sxrFv
MCalqAs22nTeCHnE/W96e+1zRux3B/mb1+znaSOsnP4rfB/nC5lAuZU6KZmXNCdA
NvhwZ45g4bxf6LyjgaiDroYmoGVXPGp4PznXayz8nHvhfAl6dHi0FXK+fQtHKGiE
yJGTDh7yFbtv7wheyAcgZDBsozLo0t9XlnJYrePp+vlfylze4EKlqMnsx4oT8eUQ
6rQ6/tNXxVVsxJcdVH8l
=cu2N
-----END PGP SIGNATURE-----

--------------enig2E4FEB681D5F888C5BCE183E--


--===============8639842970269748413==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8639842970269748413==--


From xen-devel-bounces@lists.xen.org Wed May 02 21:31:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 21:31:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPh8p-0004tS-5f; Wed, 02 May 2012 21:31:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPh8m-0004tI-Pm
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 21:31:17 +0000
Received: from [85.158.139.83:35941] by server-7.bemta-5.messagelabs.com id
	44/94-16195-4A7A1AF4; Wed, 02 May 2012 21:31:16 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1335994273!19249391!1
X-Originating-IP: [65.55.88.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32243 invoked from network); 2 May 2012 21:31:15 -0000
Received: from tx2ehsobe001.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.11)
	by server-11.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 21:31:15 -0000
Received: from mail146-tx2-R.bigfish.com (10.9.14.244) by
	TX2EHSOBE004.bigfish.com (10.9.40.24) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 21:31:04 +0000
Received: from mail146-tx2 (localhost [127.0.0.1])	by
	mail146-tx2-R.bigfish.com (Postfix) with ESMTP id 79D9E4E03C9;
	Wed,  2 May 2012 21:31:04 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail146-tx2 (localhost.localdomain [127.0.0.1]) by mail146-tx2
	(MessageSwitch) id 1335994262590893_6156;
	Wed,  2 May 2012 21:31:02 +0000 (UTC)
Received: from TX2EHSMHS009.bigfish.com (unknown [10.9.14.238])	by
	mail146-tx2.bigfish.com (Postfix) with ESMTP id 7FB1F2202AF;
	Wed,  2 May 2012 21:31:02 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS009.bigfish.com (10.9.99.109) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 21:31:02 +0000
X-WSS-ID: 0M3EZRV-01-CGM-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26F8410281A2;	Wed,  2 May 2012 16:31:07 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 2 May 2012 16:31:20 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	16:31:07 -0500
Message-ID: <4FA1A79B.5040701@amd.com>
Date: Wed, 2 May 2012 17:31:07 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
In-Reply-To: <20120502171415.GA17477@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>> index a8f8844..d816448 100644
>>> --- a/arch/x86/xen/enlighten.c
>>> +++ b/arch/x86/xen/enlighten.c
>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>   static u32 xen_apic_read(u32 reg)
>>>   {
>>> -	return 0;
>>> +	struct xen_platform_op op = {
>>> +		.cmd = XENPF_get_cpuinfo,
>>> +		.interface_version = XENPF_INTERFACE_VERSION,
>>> +		.u.pcpu_info.xen_cpuid = 0,
>>
>>
>> Is this always zero? This will probably solve the current problem
>
> Its a CPU number (not tied in to APIC or ACPI IDs).

Why not use CPU number instead of zero here?

>
>> but I am wondering whether in the future we might hit another bug
>> because this routine will return the same APICID for all VCPUs.
>
>   Later on it does a check for 'smp_processor_id()' - and if
> that is anything but zero it will bail out.

Can you point me to the check you are referring to?

-boris


>
> So this shoudl solve the problem for the bootup processor.
>>
>> -boris
>>
>>
>>> +	};
>>> +	int ret = 0;
>>> +
>>> +	/* Shouldn't need this as APIC is turned off for PV, and we only
>>> +	 * get called on the bootup processor. But just in case. */
>>> +	if (!xen_initial_domain() || smp_processor_id())
>>> +		return 0;
>>> +
>>> +	if (reg == APIC_LVR)
>>> +		return 0x10;
>>> +
>>> +	if (reg != APIC_ID)
>>> +		return 0;
>>> +
>>> +	ret = HYPERVISOR_dom0_op(&op);
>>> +	if (ret)
>>> +		return 0;
>>> +
>>> +	return op.u.pcpu_info.apic_id;
>>>   }
>>>
>>>   static void xen_apic_write(u32 reg, u32 val)
>>>
>>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 21:31:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 21:31:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPh8p-0004tS-5f; Wed, 02 May 2012 21:31:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPh8m-0004tI-Pm
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 21:31:17 +0000
Received: from [85.158.139.83:35941] by server-7.bemta-5.messagelabs.com id
	44/94-16195-4A7A1AF4; Wed, 02 May 2012 21:31:16 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1335994273!19249391!1
X-Originating-IP: [65.55.88.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32243 invoked from network); 2 May 2012 21:31:15 -0000
Received: from tx2ehsobe001.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.11)
	by server-11.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 21:31:15 -0000
Received: from mail146-tx2-R.bigfish.com (10.9.14.244) by
	TX2EHSOBE004.bigfish.com (10.9.40.24) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 21:31:04 +0000
Received: from mail146-tx2 (localhost [127.0.0.1])	by
	mail146-tx2-R.bigfish.com (Postfix) with ESMTP id 79D9E4E03C9;
	Wed,  2 May 2012 21:31:04 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail146-tx2 (localhost.localdomain [127.0.0.1]) by mail146-tx2
	(MessageSwitch) id 1335994262590893_6156;
	Wed,  2 May 2012 21:31:02 +0000 (UTC)
Received: from TX2EHSMHS009.bigfish.com (unknown [10.9.14.238])	by
	mail146-tx2.bigfish.com (Postfix) with ESMTP id 7FB1F2202AF;
	Wed,  2 May 2012 21:31:02 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS009.bigfish.com (10.9.99.109) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 21:31:02 +0000
X-WSS-ID: 0M3EZRV-01-CGM-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26F8410281A2;	Wed,  2 May 2012 16:31:07 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 2 May 2012 16:31:20 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	16:31:07 -0500
Message-ID: <4FA1A79B.5040701@amd.com>
Date: Wed, 2 May 2012 17:31:07 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
In-Reply-To: <20120502171415.GA17477@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>> index a8f8844..d816448 100644
>>> --- a/arch/x86/xen/enlighten.c
>>> +++ b/arch/x86/xen/enlighten.c
>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>   static u32 xen_apic_read(u32 reg)
>>>   {
>>> -	return 0;
>>> +	struct xen_platform_op op = {
>>> +		.cmd = XENPF_get_cpuinfo,
>>> +		.interface_version = XENPF_INTERFACE_VERSION,
>>> +		.u.pcpu_info.xen_cpuid = 0,
>>
>>
>> Is this always zero? This will probably solve the current problem
>
> Its a CPU number (not tied in to APIC or ACPI IDs).

Why not use CPU number instead of zero here?

>
>> but I am wondering whether in the future we might hit another bug
>> because this routine will return the same APICID for all VCPUs.
>
>   Later on it does a check for 'smp_processor_id()' - and if
> that is anything but zero it will bail out.

Can you point me to the check you are referring to?

-boris


>
> So this shoudl solve the problem for the bootup processor.
>>
>> -boris
>>
>>
>>> +	};
>>> +	int ret = 0;
>>> +
>>> +	/* Shouldn't need this as APIC is turned off for PV, and we only
>>> +	 * get called on the bootup processor. But just in case. */
>>> +	if (!xen_initial_domain() || smp_processor_id())
>>> +		return 0;
>>> +
>>> +	if (reg == APIC_LVR)
>>> +		return 0x10;
>>> +
>>> +	if (reg != APIC_ID)
>>> +		return 0;
>>> +
>>> +	ret = HYPERVISOR_dom0_op(&op);
>>> +	if (ret)
>>> +		return 0;
>>> +
>>> +	return op.u.pcpu_info.apic_id;
>>>   }
>>>
>>>   static void xen_apic_write(u32 reg, u32 val)
>>>
>>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 21:48:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 21:48:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPhOc-0005G1-6i; Wed, 02 May 2012 21:47:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPhOb-0005Fw-4P
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 21:47:37 +0000
Received: from [85.158.143.35:39914] by server-1.bemta-4.messagelabs.com id
	A1/AE-20925-87BA1AF4; Wed, 02 May 2012 21:47:36 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1335995254!15365222!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA2NjYw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27667 invoked from network); 2 May 2012 21:47:35 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 21:47:35 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42LlT5S031186
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 21:47:30 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42LlSa2009964
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 21:47:29 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42LlSiY028665; Wed, 2 May 2012 16:47:28 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 02 May 2012 14:47:28 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9C41D40357; Wed,  2 May 2012 17:41:47 -0400 (EDT)
Date: Wed, 2 May 2012 17:41:47 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120502214147.GA7670@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA1A79B.5040701@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
> >On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
> >>On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> >>>diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >>>index a8f8844..d816448 100644
> >>>--- a/arch/x86/xen/enlighten.c
> >>>+++ b/arch/x86/xen/enlighten.c
> >>>@@ -811,7 +811,29 @@ static void xen_io_delay(void)
> >>>  #ifdef CONFIG_X86_LOCAL_APIC
> >>>  static u32 xen_apic_read(u32 reg)
> >>>  {
> >>>-	return 0;
> >>>+	struct xen_platform_op op = {
> >>>+		.cmd = XENPF_get_cpuinfo,
> >>>+		.interface_version = XENPF_INTERFACE_VERSION,
> >>>+		.u.pcpu_info.xen_cpuid = 0,
> >>
> >>
> >>Is this always zero? This will probably solve the current problem
> >
> >Its a CPU number (not tied in to APIC or ACPI IDs).
> 
> Why not use CPU number instead of zero here?

The issue was only with the bootup CPU - so was using the Xen's 
bootup CPU number - which is zero (as is Linux's).

> 
> >
> >>but I am wondering whether in the future we might hit another bug
> >>because this routine will return the same APICID for all VCPUs.
> >
> >  Later on it does a check for 'smp_processor_id()' - and if
> >that is anything but zero it will bail out.
> 
> Can you point me to the check you are referring to?

if (!xen_initial_domain() || smp_processor_id())


> 
> -boris
> 
> 
> >
> >So this shoudl solve the problem for the bootup processor.
> >>
> >>-boris
> >>
> >>
> >>>+	};
> >>>+	int ret = 0;
> >>>+
> >>>+	/* Shouldn't need this as APIC is turned off for PV, and we only
> >>>+	 * get called on the bootup processor. But just in case. */
> >>>+	if (!xen_initial_domain() || smp_processor_id())
> >>>+		return 0;
> >>>+
> >>>+	if (reg == APIC_LVR)
> >>>+		return 0x10;
> >>>+
> >>>+	if (reg != APIC_ID)
> >>>+		return 0;
> >>>+
> >>>+	ret = HYPERVISOR_dom0_op(&op);
> >>>+	if (ret)
> >>>+		return 0;
> >>>+
> >>>+	return op.u.pcpu_info.apic_id;
> >>>  }
> >>>
> >>>  static void xen_apic_write(u32 reg, u32 val)
> >>>
> >>
> >
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 21:48:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 21:48:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPhOc-0005G1-6i; Wed, 02 May 2012 21:47:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPhOb-0005Fw-4P
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 21:47:37 +0000
Received: from [85.158.143.35:39914] by server-1.bemta-4.messagelabs.com id
	A1/AE-20925-87BA1AF4; Wed, 02 May 2012 21:47:36 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1335995254!15365222!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA2NjYw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27667 invoked from network); 2 May 2012 21:47:35 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 21:47:35 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q42LlT5S031186
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 2 May 2012 21:47:30 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q42LlSa2009964
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 2 May 2012 21:47:29 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q42LlSiY028665; Wed, 2 May 2012 16:47:28 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 02 May 2012 14:47:28 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9C41D40357; Wed,  2 May 2012 17:41:47 -0400 (EDT)
Date: Wed, 2 May 2012 17:41:47 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120502214147.GA7670@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA1A79B.5040701@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
> >On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
> >>On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> >>>diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >>>index a8f8844..d816448 100644
> >>>--- a/arch/x86/xen/enlighten.c
> >>>+++ b/arch/x86/xen/enlighten.c
> >>>@@ -811,7 +811,29 @@ static void xen_io_delay(void)
> >>>  #ifdef CONFIG_X86_LOCAL_APIC
> >>>  static u32 xen_apic_read(u32 reg)
> >>>  {
> >>>-	return 0;
> >>>+	struct xen_platform_op op = {
> >>>+		.cmd = XENPF_get_cpuinfo,
> >>>+		.interface_version = XENPF_INTERFACE_VERSION,
> >>>+		.u.pcpu_info.xen_cpuid = 0,
> >>
> >>
> >>Is this always zero? This will probably solve the current problem
> >
> >Its a CPU number (not tied in to APIC or ACPI IDs).
> 
> Why not use CPU number instead of zero here?

The issue was only with the bootup CPU - so was using the Xen's 
bootup CPU number - which is zero (as is Linux's).

> 
> >
> >>but I am wondering whether in the future we might hit another bug
> >>because this routine will return the same APICID for all VCPUs.
> >
> >  Later on it does a check for 'smp_processor_id()' - and if
> >that is anything but zero it will bail out.
> 
> Can you point me to the check you are referring to?

if (!xen_initial_domain() || smp_processor_id())


> 
> -boris
> 
> 
> >
> >So this shoudl solve the problem for the bootup processor.
> >>
> >>-boris
> >>
> >>
> >>>+	};
> >>>+	int ret = 0;
> >>>+
> >>>+	/* Shouldn't need this as APIC is turned off for PV, and we only
> >>>+	 * get called on the bootup processor. But just in case. */
> >>>+	if (!xen_initial_domain() || smp_processor_id())
> >>>+		return 0;
> >>>+
> >>>+	if (reg == APIC_LVR)
> >>>+		return 0x10;
> >>>+
> >>>+	if (reg != APIC_ID)
> >>>+		return 0;
> >>>+
> >>>+	ret = HYPERVISOR_dom0_op(&op);
> >>>+	if (ret)
> >>>+		return 0;
> >>>+
> >>>+	return op.u.pcpu_info.apic_id;
> >>>  }
> >>>
> >>>  static void xen_apic_write(u32 reg, u32 val)
> >>>
> >>
> >
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 22:10:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 22:10:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPhkh-0005qH-G3; Wed, 02 May 2012 22:10:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPhkg-0005qB-AA
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 22:10:26 +0000
Received: from [85.158.143.35:30052] by server-1.bemta-4.messagelabs.com id
	C9/C7-20925-1D0B1AF4; Wed, 02 May 2012 22:10:25 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1335996621!9568974!1
X-Originating-IP: [65.55.88.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23762 invoked from network); 2 May 2012 22:10:23 -0000
Received: from tx2ehsobe003.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.13)
	by server-4.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 22:10:23 -0000
Received: from mail35-tx2-R.bigfish.com (10.9.14.238) by
	TX2EHSOBE005.bigfish.com (10.9.40.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 22:10:12 +0000
Received: from mail35-tx2 (localhost [127.0.0.1])	by mail35-tx2-R.bigfish.com
	(Postfix) with ESMTP id 8D53F1C0364;
	Wed,  2 May 2012 22:10:12 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275dhz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail35-tx2 (localhost.localdomain [127.0.0.1]) by mail35-tx2
	(MessageSwitch) id 1335996609468322_5465;
	Wed,  2 May 2012 22:10:09 +0000 (UTC)
Received: from TX2EHSMHS006.bigfish.com (unknown [10.9.14.242])	by
	mail35-tx2.bigfish.com (Postfix) with ESMTP id 603AD4E007F;
	Wed,  2 May 2012 22:10:09 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS006.bigfish.com (10.9.99.106) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 22:10:07 +0000
X-WSS-ID: 0M3F1L1-02-30P-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26853C8105;	Wed,  2 May 2012 17:10:12 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 2 May 2012 17:10:27 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	17:09:27 -0500
Message-ID: <4FA1B096.5010009@amd.com>
Date: Wed, 2 May 2012 18:09:26 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
In-Reply-To: <20120502214147.GA7670@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>> index a8f8844..d816448 100644
>>>>> --- a/arch/x86/xen/enlighten.c
>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>   {
>>>>> -	return 0;
>>>>> +	struct xen_platform_op op = {
>>>>> +		.cmd = XENPF_get_cpuinfo,
>>>>> +		.interface_version = XENPF_INTERFACE_VERSION,
>>>>> +		.u.pcpu_info.xen_cpuid = 0,
>>>>
>>>>
>>>> Is this always zero? This will probably solve the current problem
>>>
>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>
>> Why not use CPU number instead of zero here?
>
> The issue was only with the bootup CPU - so was using the Xen's
> bootup CPU number - which is zero (as is Linux's).

I agree that for this particular problem this may be sufficient.

My concern is that in the future someone may decide to use 
apic_read(APIC_ID) or read_apic_id() for some other purpose and they 
won't get expected result (i.e. on all CPUs they will get the same answer).

>
>>
>>>
>>>> but I am wondering whether in the future we might hit another bug
>>>> because this routine will return the same APICID for all VCPUs.
>>>
>>>   Later on it does a check for 'smp_processor_id()' - and if
>>> that is anything but zero it will bail out.
>>
>> Can you point me to the check you are referring to?
>
> if (!xen_initial_domain() || smp_processor_id())

I don't see this line --- neither in the mainline nor in your kernel. 
Which kernel and which routine is this in?

BTW, this patch doesn't quite work, xen-acpi-processor driver fails to 
load with the same error as before. I'll look at this tomorrow more 
carefully.


-boris

>
>
>>
>> -boris
>>
>>
>>>
>>> So this shoudl solve the problem for the bootup processor.
>>>>
>>>> -boris
>>>>
>>>>
>>>>> +	};
>>>>> +	int ret = 0;
>>>>> +
>>>>> +	/* Shouldn't need this as APIC is turned off for PV, and we only
>>>>> +	 * get called on the bootup processor. But just in case. */
>>>>> +	if (!xen_initial_domain() || smp_processor_id())
>>>>> +		return 0;
>>>>> +
>>>>> +	if (reg == APIC_LVR)
>>>>> +		return 0x10;
>>>>> +
>>>>> +	if (reg != APIC_ID)
>>>>> +		return 0;
>>>>> +
>>>>> +	ret = HYPERVISOR_dom0_op(&op);
>>>>> +	if (ret)
>>>>> +		return 0;
>>>>> +
>>>>> +	return op.u.pcpu_info.apic_id;
>>>>>   }
>>>>>
>>>>>   static void xen_apic_write(u32 reg, u32 val)
>>>>>
>>>>
>>>
>>
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 02 22:10:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 02 May 2012 22:10:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPhkh-0005qH-G3; Wed, 02 May 2012 22:10:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPhkg-0005qB-AA
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 22:10:26 +0000
Received: from [85.158.143.35:30052] by server-1.bemta-4.messagelabs.com id
	C9/C7-20925-1D0B1AF4; Wed, 02 May 2012 22:10:25 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1335996621!9568974!1
X-Originating-IP: [65.55.88.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23762 invoked from network); 2 May 2012 22:10:23 -0000
Received: from tx2ehsobe003.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.13)
	by server-4.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	2 May 2012 22:10:23 -0000
Received: from mail35-tx2-R.bigfish.com (10.9.14.238) by
	TX2EHSOBE005.bigfish.com (10.9.40.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 22:10:12 +0000
Received: from mail35-tx2 (localhost [127.0.0.1])	by mail35-tx2-R.bigfish.com
	(Postfix) with ESMTP id 8D53F1C0364;
	Wed,  2 May 2012 22:10:12 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275dhz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail35-tx2 (localhost.localdomain [127.0.0.1]) by mail35-tx2
	(MessageSwitch) id 1335996609468322_5465;
	Wed,  2 May 2012 22:10:09 +0000 (UTC)
Received: from TX2EHSMHS006.bigfish.com (unknown [10.9.14.242])	by
	mail35-tx2.bigfish.com (Postfix) with ESMTP id 603AD4E007F;
	Wed,  2 May 2012 22:10:09 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS006.bigfish.com (10.9.99.106) with Microsoft SMTP Server id
	14.1.225.23; Wed, 2 May 2012 22:10:07 +0000
X-WSS-ID: 0M3F1L1-02-30P-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26853C8105;	Wed,  2 May 2012 17:10:12 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 2 May 2012 17:10:27 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server id 8.3.213.0; Wed, 2 May 2012
	17:09:27 -0500
Message-ID: <4FA1B096.5010009@amd.com>
Date: Wed, 2 May 2012 18:09:26 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
In-Reply-To: <20120502214147.GA7670@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>> index a8f8844..d816448 100644
>>>>> --- a/arch/x86/xen/enlighten.c
>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>   {
>>>>> -	return 0;
>>>>> +	struct xen_platform_op op = {
>>>>> +		.cmd = XENPF_get_cpuinfo,
>>>>> +		.interface_version = XENPF_INTERFACE_VERSION,
>>>>> +		.u.pcpu_info.xen_cpuid = 0,
>>>>
>>>>
>>>> Is this always zero? This will probably solve the current problem
>>>
>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>
>> Why not use CPU number instead of zero here?
>
> The issue was only with the bootup CPU - so was using the Xen's
> bootup CPU number - which is zero (as is Linux's).

I agree that for this particular problem this may be sufficient.

My concern is that in the future someone may decide to use 
apic_read(APIC_ID) or read_apic_id() for some other purpose and they 
won't get expected result (i.e. on all CPUs they will get the same answer).

>
>>
>>>
>>>> but I am wondering whether in the future we might hit another bug
>>>> because this routine will return the same APICID for all VCPUs.
>>>
>>>   Later on it does a check for 'smp_processor_id()' - and if
>>> that is anything but zero it will bail out.
>>
>> Can you point me to the check you are referring to?
>
> if (!xen_initial_domain() || smp_processor_id())

I don't see this line --- neither in the mainline nor in your kernel. 
Which kernel and which routine is this in?

BTW, this patch doesn't quite work, xen-acpi-processor driver fails to 
load with the same error as before. I'll look at this tomorrow more 
carefully.


-boris

>
>
>>
>> -boris
>>
>>
>>>
>>> So this shoudl solve the problem for the bootup processor.
>>>>
>>>> -boris
>>>>
>>>>
>>>>> +	};
>>>>> +	int ret = 0;
>>>>> +
>>>>> +	/* Shouldn't need this as APIC is turned off for PV, and we only
>>>>> +	 * get called on the bootup processor. But just in case. */
>>>>> +	if (!xen_initial_domain() || smp_processor_id())
>>>>> +		return 0;
>>>>> +
>>>>> +	if (reg == APIC_LVR)
>>>>> +		return 0x10;
>>>>> +
>>>>> +	if (reg != APIC_ID)
>>>>> +		return 0;
>>>>> +
>>>>> +	ret = HYPERVISOR_dom0_op(&op);
>>>>> +	if (ret)
>>>>> +		return 0;
>>>>> +
>>>>> +	return op.u.pcpu_info.apic_id;
>>>>>   }
>>>>>
>>>>>   static void xen_apic_write(u32 reg, u32 val)
>>>>>
>>>>
>>>
>>
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 00:26:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 00:26:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPjrv-0007YY-O0; Thu, 03 May 2012 00:26:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPjru-0007YT-6A
	for xen-devel@lists.xen.org; Thu, 03 May 2012 00:26:02 +0000
Received: from [85.158.139.83:31903] by server-10.bemta-5.messagelabs.com id
	77/9F-08260-990D1AF4; Thu, 03 May 2012 00:26:01 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336004757!25811814!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjcyODk2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4704 invoked from network); 3 May 2012 00:26:00 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-9.tower-182.messagelabs.com with SMTP;
	3 May 2012 00:26:00 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 02 May 2012 17:25:56 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="138206145"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 02 May 2012 17:25:53 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 2 May 2012 17:25:53 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Thu, 3 May 2012 08:25:51 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsA==
Date: Thu, 3 May 2012 00:25:51 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
In-Reply-To: <4FA1193D02000078000810EC@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima, Jun" <jun.nakajima@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >>
> >> Jun, Eddie - I further wonder why #OF is not being handled according
> >> to the documentation here either (should also result in
> >> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
> >> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
> >> should be annotated with a comment saying why fall-through is
> >> intended here). Nor does the documentation state that TRAP_debug
> >> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
> >
> > Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF &
> #BP,
> > It seems we are slightly different here. Let me check w/ internal person.
> 
> Thanks.

The TRAP_debug should not use SW_EXCEPTION, it should use HW_EXCEPTION
Per SDM and confirmation from our HW guys. We will send fixes soon.


> 
> >> Finally, the whole injection logic (including the patch here) doesn't
> >> appear to cope with INT nn being used by a guest with nn < 32, nor
> >
> > The original code path works for the privilege violation introduced
> > exceptions,
> > It seems we probbaly need a new code for INT n emulation for both
> interrupt &
> > exceptions.
> 
> Indeed.

This API vmx_inject_hw_exception is never intended to be used for INT nn emulation,
Rather it is designed for the exceptions generated by processor-detected program-error exceptions and machine check exceptions.

If the purpose of Aravindh's patch is for INT nn emulation (CD nn), it is incorrect. We need a new API for that purpose, and use software interrupt.
Of course, for INTO & INT 3 (CE & CC), we should use SW_EXCEPTION as SDM mentioned.

> 
> >> with any (pointless) prefixes used on INT3 or INT nn.
> >>
> > What specific prefix do u mean here?
> 
> Anyone except perhaps LOCK - none of them should have any effect
> other than making the instruction longer.
> 
LOCK can never be used as prefix of INT nn instruction, nor can REPx prefix.
Can you provide more details as for this concern?

Thx, Eddie


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 00:26:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 00:26:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPjrv-0007YY-O0; Thu, 03 May 2012 00:26:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPjru-0007YT-6A
	for xen-devel@lists.xen.org; Thu, 03 May 2012 00:26:02 +0000
Received: from [85.158.139.83:31903] by server-10.bemta-5.messagelabs.com id
	77/9F-08260-990D1AF4; Thu, 03 May 2012 00:26:01 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336004757!25811814!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjcyODk2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4704 invoked from network); 3 May 2012 00:26:00 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-9.tower-182.messagelabs.com with SMTP;
	3 May 2012 00:26:00 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 02 May 2012 17:25:56 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="138206145"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 02 May 2012 17:25:53 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 2 May 2012 17:25:53 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Thu, 3 May 2012 08:25:51 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsA==
Date: Thu, 3 May 2012 00:25:51 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
In-Reply-To: <4FA1193D02000078000810EC@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima, Jun" <jun.nakajima@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >>
> >> Jun, Eddie - I further wonder why #OF is not being handled according
> >> to the documentation here either (should also result in
> >> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
> >> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
> >> should be annotated with a comment saying why fall-through is
> >> intended here). Nor does the documentation state that TRAP_debug
> >> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
> >
> > Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF &
> #BP,
> > It seems we are slightly different here. Let me check w/ internal person.
> 
> Thanks.

The TRAP_debug should not use SW_EXCEPTION, it should use HW_EXCEPTION
Per SDM and confirmation from our HW guys. We will send fixes soon.


> 
> >> Finally, the whole injection logic (including the patch here) doesn't
> >> appear to cope with INT nn being used by a guest with nn < 32, nor
> >
> > The original code path works for the privilege violation introduced
> > exceptions,
> > It seems we probbaly need a new code for INT n emulation for both
> interrupt &
> > exceptions.
> 
> Indeed.

This API vmx_inject_hw_exception is never intended to be used for INT nn emulation,
Rather it is designed for the exceptions generated by processor-detected program-error exceptions and machine check exceptions.

If the purpose of Aravindh's patch is for INT nn emulation (CD nn), it is incorrect. We need a new API for that purpose, and use software interrupt.
Of course, for INTO & INT 3 (CE & CC), we should use SW_EXCEPTION as SDM mentioned.

> 
> >> with any (pointless) prefixes used on INT3 or INT nn.
> >>
> > What specific prefix do u mean here?
> 
> Anyone except perhaps LOCK - none of them should have any effect
> other than making the instruction longer.
> 
LOCK can never be used as prefix of INT nn instruction, nor can REPx prefix.
Can you provide more details as for this concern?

Thx, Eddie


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 00:47:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 00:47:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPkBo-0007nj-S9; Thu, 03 May 2012 00:46:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPkBn-0007ne-8S
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 00:46:35 +0000
Received: from [85.158.138.51:40589] by server-4.bemta-3.messagelabs.com id
	3B/05-15341-A65D1AF4; Thu, 03 May 2012 00:46:34 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336005993!13924649!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10364 invoked from network); 3 May 2012 00:46:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 00:46:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,519,1330905600"; d="scan'208";a="12261218"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 00:46:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 01:46:32 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPkBk-0005iQ-5R;
	Thu, 03 May 2012 00:46:32 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPkBk-0003D0-4G;
	Thu, 03 May 2012 01:46:32 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12782-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 01:46:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12782: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12782 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12782/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl           9 guest-start                  fail   like 12763
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12763

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=98fe3b2a572d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 98fe3b2a572d
+ branch=xen-unstable
+ revision=98fe3b2a572d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 98fe3b2a572d ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 00:47:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 00:47:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPkBo-0007nj-S9; Thu, 03 May 2012 00:46:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPkBn-0007ne-8S
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 00:46:35 +0000
Received: from [85.158.138.51:40589] by server-4.bemta-3.messagelabs.com id
	3B/05-15341-A65D1AF4; Thu, 03 May 2012 00:46:34 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336005993!13924649!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10364 invoked from network); 3 May 2012 00:46:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 00:46:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,519,1330905600"; d="scan'208";a="12261218"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 00:46:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 01:46:32 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPkBk-0005iQ-5R;
	Thu, 03 May 2012 00:46:32 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPkBk-0003D0-4G;
	Thu, 03 May 2012 01:46:32 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12782-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 01:46:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12782: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12782 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12782/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl           9 guest-start                  fail   like 12763
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12763

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  9dda0efd8ce1

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=98fe3b2a572d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 98fe3b2a572d
+ branch=xen-unstable
+ revision=98fe3b2a572d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 98fe3b2a572d ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 01:04:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 01:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPkT2-0003PL-UZ; Thu, 03 May 2012 01:04:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dario.faggioli@citrix.com>) id 1SPkT1-0003PG-Pm
	for xen-devel@lists.xen.org; Thu, 03 May 2012 01:04:24 +0000
Received: from [85.158.139.83:40051] by server-9.bemta-5.messagelabs.com id
	64/57-09826-799D1AF4; Thu, 03 May 2012 01:04:23 +0000
X-Env-Sender: dario.faggioli@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336007061!26486648!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11846 invoked from network); 3 May 2012 01:04:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 01:04:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,519,1330905600"; 
   d="scan'";a="12261349"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 01:04:20 +0000
Received: from [IPv6:::1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	02:04:20 +0100
Message-ID: <1336007032.874.12.camel@Abyss>
From: Dario Faggioli <dario.faggioli@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 3 May 2012 03:03:52 +0200
In-Reply-To: <1335976251.2961.123.camel@Abyss>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com> <1335976251.2961.123.camel@Abyss>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
MIME-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4423668689322008657=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4423668689322008657==
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="=-uB28wXrkYJTtVrwE9IKW"

--=-uB28wXrkYJTtVrwE9IKW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-02 at 18:30 +0200, Dario Faggioli wrote:
> > > +
> > > +        if (use_cpus>=3D b_info->max_vcpus) {
> > > +            rc =3D 0;
> > > +            break;
> > > +        }
> > Hmm -- there's got to be a better way to find out the minimum number
> > of nodes to house a given number of vcpus than just starting at 1
> > and re-trying until we have enough.
>
> ...
>
> However, if what you mean is I could check beforehand whether or not
> the
> user provided configuration will give us enough CPUs and avoid testing
> scenarios that are guaranteed to fail, then I agree and I'll reshape
> the
> code to look like that.=20
>
Actually, thinking more about this, I'm not even sure I can do what I
stated above. In fact, I don't think I can assume the number of CPUs
each node is made up of to be known, without actually checking it for
the specific node(s) I want to try using. What if some CPUs are off-line
and stuff like that?

I might have to recheck, but reading topology information takes
on/offline-ness into account, which is something I lose if I assume some
static x number of CPUs in each node. Also, are we sure archs with
different number of CPUs in different nodes won't ever exist? :-P
Finally, consider this is likely going to change when we will have some
mechanism for taking the actual load on the CPUs into account, so maybe
it's not worth spending much time on it right now.

So, given what we currently export wrt topology, and all the above, I'm
not sure I can see any cleverer way of figuring our how many CPUs/nodes
I need than explicitly counting them (for what it counts, xend is also
doing the same AFAIUI :-) ).

Thoughts?

Thanks and Regards,
Dario
--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-uB28wXrkYJTtVrwE9IKW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+h2XgACgkQk4XaBE3IOsSn5QCgnUx6OC+vLD7DOqKAHOrZL3OD
UIMAn2Ai6wzfWz8j6IlpKs3bSOKKHhOA
=ce2H
-----END PGP SIGNATURE-----

--=-uB28wXrkYJTtVrwE9IKW--


--===============4423668689322008657==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4423668689322008657==--


From xen-devel-bounces@lists.xen.org Thu May 03 01:04:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 01:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPkT2-0003PL-UZ; Thu, 03 May 2012 01:04:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dario.faggioli@citrix.com>) id 1SPkT1-0003PG-Pm
	for xen-devel@lists.xen.org; Thu, 03 May 2012 01:04:24 +0000
Received: from [85.158.139.83:40051] by server-9.bemta-5.messagelabs.com id
	64/57-09826-799D1AF4; Thu, 03 May 2012 01:04:23 +0000
X-Env-Sender: dario.faggioli@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336007061!26486648!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjQxMg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11846 invoked from network); 3 May 2012 01:04:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 01:04:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,519,1330905600"; 
   d="scan'";a="12261349"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 01:04:20 +0000
Received: from [IPv6:::1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	02:04:20 +0100
Message-ID: <1336007032.874.12.camel@Abyss>
From: Dario Faggioli <dario.faggioli@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 3 May 2012 03:03:52 +0200
In-Reply-To: <1335976251.2961.123.camel@Abyss>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com> <1335976251.2961.123.camel@Abyss>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
MIME-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4423668689322008657=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4423668689322008657==
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="=-uB28wXrkYJTtVrwE9IKW"

--=-uB28wXrkYJTtVrwE9IKW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-02 at 18:30 +0200, Dario Faggioli wrote:
> > > +
> > > +        if (use_cpus>=3D b_info->max_vcpus) {
> > > +            rc =3D 0;
> > > +            break;
> > > +        }
> > Hmm -- there's got to be a better way to find out the minimum number
> > of nodes to house a given number of vcpus than just starting at 1
> > and re-trying until we have enough.
>
> ...
>
> However, if what you mean is I could check beforehand whether or not
> the
> user provided configuration will give us enough CPUs and avoid testing
> scenarios that are guaranteed to fail, then I agree and I'll reshape
> the
> code to look like that.=20
>
Actually, thinking more about this, I'm not even sure I can do what I
stated above. In fact, I don't think I can assume the number of CPUs
each node is made up of to be known, without actually checking it for
the specific node(s) I want to try using. What if some CPUs are off-line
and stuff like that?

I might have to recheck, but reading topology information takes
on/offline-ness into account, which is something I lose if I assume some
static x number of CPUs in each node. Also, are we sure archs with
different number of CPUs in different nodes won't ever exist? :-P
Finally, consider this is likely going to change when we will have some
mechanism for taking the actual load on the CPUs into account, so maybe
it's not worth spending much time on it right now.

So, given what we currently export wrt topology, and all the above, I'm
not sure I can see any cleverer way of figuring our how many CPUs/nodes
I need than explicitly counting them (for what it counts, xend is also
doing the same AFAIUI :-) ).

Thoughts?

Thanks and Regards,
Dario
--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-uB28wXrkYJTtVrwE9IKW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+h2XgACgkQk4XaBE3IOsSn5QCgnUx6OC+vLD7DOqKAHOrZL3OD
UIMAn2Ai6wzfWz8j6IlpKs3bSOKKHhOA
=ce2H
-----END PGP SIGNATURE-----

--=-uB28wXrkYJTtVrwE9IKW--


--===============4423668689322008657==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4423668689322008657==--


From xen-devel-bounces@lists.xen.org Thu May 03 01:56:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 01:56:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPlGQ-0004Il-D4; Thu, 03 May 2012 01:55:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SPlGO-0004Ig-Pm
	for xen-devel@lists.xen.org; Thu, 03 May 2012 01:55:25 +0000
Received: from [85.158.143.99:26677] by server-3.bemta-4.messagelabs.com id
	C7/DA-05853-C85E1AF4; Thu, 03 May 2012 01:55:24 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336010122!16611588!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17588 invoked from network); 3 May 2012 01:55:23 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 01:55:23 -0000
Received: by lbok6 with SMTP id k6so1155155lbo.32
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 18:55:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=0ZHu6zYM1WOLSQezIiKW1v0SKdE2xyGssa2WirOd/Z8=;
	b=l/710XNv3sKZ24T2bts31UBwVwZzQKaUelqBWkDpPuXg50B3KQ/MGfZUCr7I55M8J8
	4lHL6SaqFqQog289SFSjKiS3HjjuV5LcJ0lnl1tPMwrxe1pIRnLcc17GkY7Kt5MvrYV6
	yZZ1EcSGUnJqKxMbwdBUVUz0KhFvQlj3XY5kg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=0ZHu6zYM1WOLSQezIiKW1v0SKdE2xyGssa2WirOd/Z8=;
	b=Wi7wYcOAlytmBz2AOkB/MDwriWiVSaGr2ZsqvnBGgaYy6rJ6Co3Kx8ie7uYC7SJK0w
	0ljSk7FwCMN5BkldO9HQgIBhzWP+NxewzjJXRUmYTSW1NWC3odOI1sx6r9YiXAM70vmK
	4gC4EEQ8OM+lIjyri1IOPY9l0q2ySWRQid9dNAuyHzHOfMYoeZ5aZDfFiFSGc6e26jbB
	n1N/3edBmdjW3SCtuzS++4EDT/NniA86dWsJZ9ruoPTNYVYswKM9IT8ZZnp3RgtmVzaq
	cmtUa4lDSe6kyOJnz9Ms0PVCvwZArDlZFg4k2T3lYy0JeaVaWeASMnIn4UjRLcils0+Z
	cSBw==
MIME-Version: 1.0
Received: by 10.112.36.133 with SMTP id q5mr156323lbj.37.1336010121743; Wed,
	02 May 2012 18:55:21 -0700 (PDT)
Received: by 10.112.25.135 with HTTP; Wed, 2 May 2012 18:55:21 -0700 (PDT)
X-Originating-IP: [108.92.21.169]
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
Date: Wed, 2 May 2012 18:55:21 -0700
Message-ID: <CAB10MZDbHqdYNsoi+wSiFF=DxQGK+6gtRAi6XQ1iY8z3-pxpzw@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Dong, Eddie" <eddie.dong@intel.com>
X-Gm-Message-State: ALoCoQm6THpst73N+1NkmVxDEb0159quQ6vdatGn+oTfTQFSxOptj/R9O6r/KQSCELY8tIL4Pe+O
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 5:25 PM, Dong, Eddie <eddie.dong@intel.com> wrote:
>> >>
>> >> Jun, Eddie - I further wonder why #OF is not being handled according
>> >> to the documentation here either (should also result in
>> >> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
>> >> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
>> >> should be annotated with a comment saying why fall-through is
>> >> intended here). Nor does the documentation state that TRAP_debug
>> >> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
>> >
>> > Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF &
>> #BP,
>> > It seems we are slightly different here. Let me check w/ internal person.
>>
>> Thanks.
>
> The TRAP_debug should not use SW_EXCEPTION, it should use HW_EXCEPTION
> Per SDM and confirmation from our HW guys. We will send fixes soon.
>
>
>>
>> >> Finally, the whole injection logic (including the patch here) doesn't
>> >> appear to cope with INT nn being used by a guest with nn < 32, nor
>> >
>> > The original code path works for the privilege violation introduced
>> > exceptions,
>> > It seems we probbaly need a new code for INT n emulation for both
>> interrupt &
>> > exceptions.
>>
>> Indeed.
>
> This API vmx_inject_hw_exception is never intended to be used for INT nn emulation,
> Rather it is designed for the exceptions generated by processor-detected program-error exceptions and machine check exceptions.
>
> If the purpose of Aravindh's patch is for INT nn emulation (CD nn), it is incorrect. We need a new API for that purpose, and use software interrupt.
> Of course, for INTO & INT 3 (CE & CC), we should use SW_EXCEPTION as SDM mentioned.
>

The reason I submitted the patch was, calling xc_hvm_inject_trap() on
a software interrupt caused the guest to crash with a vmentry failure
because the interrupt was injected as a hardware interrupt. The patch
allowed me to inject a software interrupt successfully.

However I do agree that it is better if we have a separate API that
does not overload vmx_inject_hw_exception().

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 01:56:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 01:56:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPlGQ-0004Il-D4; Thu, 03 May 2012 01:55:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SPlGO-0004Ig-Pm
	for xen-devel@lists.xen.org; Thu, 03 May 2012 01:55:25 +0000
Received: from [85.158.143.99:26677] by server-3.bemta-4.messagelabs.com id
	C7/DA-05853-C85E1AF4; Thu, 03 May 2012 01:55:24 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336010122!16611588!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17588 invoked from network); 3 May 2012 01:55:23 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 01:55:23 -0000
Received: by lbok6 with SMTP id k6so1155155lbo.32
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 18:55:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=0ZHu6zYM1WOLSQezIiKW1v0SKdE2xyGssa2WirOd/Z8=;
	b=l/710XNv3sKZ24T2bts31UBwVwZzQKaUelqBWkDpPuXg50B3KQ/MGfZUCr7I55M8J8
	4lHL6SaqFqQog289SFSjKiS3HjjuV5LcJ0lnl1tPMwrxe1pIRnLcc17GkY7Kt5MvrYV6
	yZZ1EcSGUnJqKxMbwdBUVUz0KhFvQlj3XY5kg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=0ZHu6zYM1WOLSQezIiKW1v0SKdE2xyGssa2WirOd/Z8=;
	b=Wi7wYcOAlytmBz2AOkB/MDwriWiVSaGr2ZsqvnBGgaYy6rJ6Co3Kx8ie7uYC7SJK0w
	0ljSk7FwCMN5BkldO9HQgIBhzWP+NxewzjJXRUmYTSW1NWC3odOI1sx6r9YiXAM70vmK
	4gC4EEQ8OM+lIjyri1IOPY9l0q2ySWRQid9dNAuyHzHOfMYoeZ5aZDfFiFSGc6e26jbB
	n1N/3edBmdjW3SCtuzS++4EDT/NniA86dWsJZ9ruoPTNYVYswKM9IT8ZZnp3RgtmVzaq
	cmtUa4lDSe6kyOJnz9Ms0PVCvwZArDlZFg4k2T3lYy0JeaVaWeASMnIn4UjRLcils0+Z
	cSBw==
MIME-Version: 1.0
Received: by 10.112.36.133 with SMTP id q5mr156323lbj.37.1336010121743; Wed,
	02 May 2012 18:55:21 -0700 (PDT)
Received: by 10.112.25.135 with HTTP; Wed, 2 May 2012 18:55:21 -0700 (PDT)
X-Originating-IP: [108.92.21.169]
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
Date: Wed, 2 May 2012 18:55:21 -0700
Message-ID: <CAB10MZDbHqdYNsoi+wSiFF=DxQGK+6gtRAi6XQ1iY8z3-pxpzw@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Dong, Eddie" <eddie.dong@intel.com>
X-Gm-Message-State: ALoCoQm6THpst73N+1NkmVxDEb0159quQ6vdatGn+oTfTQFSxOptj/R9O6r/KQSCELY8tIL4Pe+O
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 5:25 PM, Dong, Eddie <eddie.dong@intel.com> wrote:
>> >>
>> >> Jun, Eddie - I further wonder why #OF is not being handled according
>> >> to the documentation here either (should also result in
>> >> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
>> >> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
>> >> should be annotated with a comment saying why fall-through is
>> >> intended here). Nor does the documentation state that TRAP_debug
>> >> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
>> >
>> > Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF &
>> #BP,
>> > It seems we are slightly different here. Let me check w/ internal person.
>>
>> Thanks.
>
> The TRAP_debug should not use SW_EXCEPTION, it should use HW_EXCEPTION
> Per SDM and confirmation from our HW guys. We will send fixes soon.
>
>
>>
>> >> Finally, the whole injection logic (including the patch here) doesn't
>> >> appear to cope with INT nn being used by a guest with nn < 32, nor
>> >
>> > The original code path works for the privilege violation introduced
>> > exceptions,
>> > It seems we probbaly need a new code for INT n emulation for both
>> interrupt &
>> > exceptions.
>>
>> Indeed.
>
> This API vmx_inject_hw_exception is never intended to be used for INT nn emulation,
> Rather it is designed for the exceptions generated by processor-detected program-error exceptions and machine check exceptions.
>
> If the purpose of Aravindh's patch is for INT nn emulation (CD nn), it is incorrect. We need a new API for that purpose, and use software interrupt.
> Of course, for INTO & INT 3 (CE & CC), we should use SW_EXCEPTION as SDM mentioned.
>

The reason I submitted the patch was, calling xc_hvm_inject_trap() on
a software interrupt caused the guest to crash with a vmentry failure
because the interrupt was injected as a hardware interrupt. The patch
allowed me to inject a software interrupt successfully.

However I do agree that it is better if we have a separate API that
does not overload vmx_inject_hw_exception().

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 03:29:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 03:29:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPmiM-000554-IX; Thu, 03 May 2012 03:28:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <christian.limpach@gmail.com>) id 1SPmiK-00054z-70
	for xen-devel@lists.xen.org; Thu, 03 May 2012 03:28:20 +0000
Received: from [85.158.139.83:26902] by server-6.bemta-5.messagelabs.com id
	FE/2D-13222-35BF1AF4; Thu, 03 May 2012 03:28:19 +0000
X-Env-Sender: christian.limpach@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336015696!19274545!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1272 invoked from network); 3 May 2012 03:28:17 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 03:28:17 -0000
Received: by qcsc20 with SMTP id c20so1107077qcs.32
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 20:28:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:in-reply-to:references:date:message-id
	:subject:from:to:cc:content-type:content-transfer-encoding;
	bh=s8+kNWluStyoSwTbJ/RKa3f65DyTiwfS2DQ6i9Z3GdQ=;
	b=XDWO0iewBSEoGQX6tcVUPuyhmlGWcApkobAan8vggo5NjJM5lybCHsrAMa8c/Xkruv
	dEv0spOMPrQLTBnb+HJNcmXUxhJOoQcvIr3QrFnmmdVzx+NGtslsOFsBD3ZpSOl2kUit
	jVxzyzpn8bzfP6V+dFMKmXsVF8gF3L6eaA8POuT9A3PBxXVL2fWBQLR+aNjHhzVkMe9N
	dG5aNy9Otojt4J+27s6W350u/cJeLtqHKA1GTn2DOk0nGC4tFsYflxXRHjTntN2TC8tb
	rUIH3uMb0hD+yjCXgs3ctP7guILQwTUKsY1lHu7YkGVWJ7R28ZQC+GuA8KrxsukUhclh
	2d0g==
MIME-Version: 1.0
Received: by 10.224.34.9 with SMTP id j9mr1609255qad.14.1336015695456; Wed, 02
	May 2012 20:28:15 -0700 (PDT)
Received: by 10.229.184.11 with HTTP; Wed, 2 May 2012 20:28:15 -0700 (PDT)
In-Reply-To: <CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
References: <patchbomb.1335465209@vollum>
	<CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
Date: Wed, 2 May 2012 20:28:15 -0700
Message-ID: <CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
From: Christian Limpach <christian.limpach@gmail.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Cc: tim@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
 type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Christian.Limpach@gmail.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Apr 27, 2012 at 9:22 PM, Aravindh Puthiyaparambil
<aravindh@virtuata.com> wrote:
>>> Let me re-iterate:
>>> - if it's a leaf entry, then there's no need to call ept_free_entry
>>> - if you don't need to call ept_free_entry, then you can defer
>>> ept_sync_domain (subject to the iommu case)
>>> - you could pass in a pointer to a bool to indicate to the caller that
>>> ept_sync_domain was deferred and that the caller needs to do it, with
>>> a NULL pointer indicating that the caller doesn't support defer
>
> How does this look?

It's missing the "leaf entry" part of my description of how I think
things should work.  Without that, you're effectively ignoring the
following comment at the end of ept_set_entry:
    /* Release the old intermediate tables, if any.  This has to be the
       last thing we do, after the ept_sync_domain() and removal
       from the iommu tables, so as to avoid a potential
       use-after-free. */

See inline comments in your patch below for how I'd change this, untested...

    christian

> @@ -293,6 +296,7 @@ ept_set_entry(struct p2m_domain *p2m, un
> =A0 =A0 int needs_sync =3D 1;
> =A0 =A0 struct domain *d =3D p2m->domain;
> =A0 =A0 ept_entry_t old_entry =3D { .epte =3D 0 };
> + =A0 =A0bool_t _sync_deferred =3D 0;

don't need that

> =A0 =A0 /*
> =A0 =A0 =A0* the caller must make sure:
> @@ -309,6 +313,9 @@ ept_set_entry(struct p2m_domain *p2m, un
> =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 1 && hvm_hap_has_2mb(d)) ||
> =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 0));
>
> + =A0 =A0if (sync_deferred)
> + =A0 =A0 =A0 =A0*sync_deferred =3D 1;
> +
> =A0 =A0 table =3D map_domain_page(ept_get_asr(d));
>
> =A0 =A0 for ( i =3D ept_get_wl(d); i > target; i-- )
> @@ -346,7 +353,11 @@ ept_set_entry(struct p2m_domain *p2m, un
>
> =A0 =A0 =A0 =A0 /* No need to flush if the old entry wasn't valid */
> =A0 =A0 =A0 =A0 if ( !is_epte_present(ept_entry) )
>             needs_sync =3D 0;

This should be:
        if ( !is_epte_present(ept_entry) ||
             (!target && sync_deferred) ) {
            needs_sync =3D 0;
            if (sync_deferred)
                *sync_deferred =3D 0;
        }

This expresses the notion that we're going to skip the call to
ept_free_entry since it's a leaf entry (target =3D=3D 0) and that the
caller will make the ept_sync_domain call (sync_deferred !=3D NULL).

>
> =A0 =A0 =A0 =A0 /* If we're replacing a non-leaf entry with a leaf entry
> (1GiB or 2MiB),
> =A0 =A0 =A0 =A0 =A0* the intermediate tables will be freed below after th=
e ept flush
> @@ -385,6 +396,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>
> =A0 =A0 =A0 =A0 ASSERT(is_epte_superpage(ept_entry));
>
> + =A0 =A0 =A0 =A0if ( sync_deferred )
> + =A0 =A0 =A0 =A0 =A0 =A0_sync_deferred =3D 1;
> +

don't need that

> =A0 =A0 =A0 =A0 split_ept_entry =3D atomic_read_ept_entry(ept_entry);
>
> =A0 =A0 =A0 =A0 if ( !ept_split_super_page(p2m, &split_ept_entry, i, targ=
et) )
> @@ -438,7 +452,7 @@ ept_set_entry(struct p2m_domain *p2m, un
> =A0out:
> =A0 =A0 unmap_domain_page(table);
>
> - =A0 =A0if ( needs_sync )
> + =A0 =A0if ( needs_sync && !_sync_deferred )
> =A0 =A0 =A0 =A0 ept_sync_domain(p2m->domain);

don't need that change, test on needs_sync is sufficient

>
> =A0 =A0 if ( rv && iommu_enabled && need_iommu(p2m->domain) &&
> need_modify_vtd_table )

Then at the end of ept_set_pte add the test for non-leaf, which is
more like an optimization/clarification since ept_free_entry has the
same test already.

    if ( target && is_epte_present(&old_entry) )
        ept_free_entry(p2m, &old_entry, target);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 03:29:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 03:29:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPmiM-000554-IX; Thu, 03 May 2012 03:28:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <christian.limpach@gmail.com>) id 1SPmiK-00054z-70
	for xen-devel@lists.xen.org; Thu, 03 May 2012 03:28:20 +0000
Received: from [85.158.139.83:26902] by server-6.bemta-5.messagelabs.com id
	FE/2D-13222-35BF1AF4; Thu, 03 May 2012 03:28:19 +0000
X-Env-Sender: christian.limpach@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336015696!19274545!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1272 invoked from network); 3 May 2012 03:28:17 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 03:28:17 -0000
Received: by qcsc20 with SMTP id c20so1107077qcs.32
	for <xen-devel@lists.xen.org>; Wed, 02 May 2012 20:28:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:in-reply-to:references:date:message-id
	:subject:from:to:cc:content-type:content-transfer-encoding;
	bh=s8+kNWluStyoSwTbJ/RKa3f65DyTiwfS2DQ6i9Z3GdQ=;
	b=XDWO0iewBSEoGQX6tcVUPuyhmlGWcApkobAan8vggo5NjJM5lybCHsrAMa8c/Xkruv
	dEv0spOMPrQLTBnb+HJNcmXUxhJOoQcvIr3QrFnmmdVzx+NGtslsOFsBD3ZpSOl2kUit
	jVxzyzpn8bzfP6V+dFMKmXsVF8gF3L6eaA8POuT9A3PBxXVL2fWBQLR+aNjHhzVkMe9N
	dG5aNy9Otojt4J+27s6W350u/cJeLtqHKA1GTn2DOk0nGC4tFsYflxXRHjTntN2TC8tb
	rUIH3uMb0hD+yjCXgs3ctP7guILQwTUKsY1lHu7YkGVWJ7R28ZQC+GuA8KrxsukUhclh
	2d0g==
MIME-Version: 1.0
Received: by 10.224.34.9 with SMTP id j9mr1609255qad.14.1336015695456; Wed, 02
	May 2012 20:28:15 -0700 (PDT)
Received: by 10.229.184.11 with HTTP; Wed, 2 May 2012 20:28:15 -0700 (PDT)
In-Reply-To: <CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
References: <patchbomb.1335465209@vollum>
	<CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
Date: Wed, 2 May 2012 20:28:15 -0700
Message-ID: <CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
From: Christian Limpach <christian.limpach@gmail.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Cc: tim@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
 type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Christian.Limpach@gmail.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Apr 27, 2012 at 9:22 PM, Aravindh Puthiyaparambil
<aravindh@virtuata.com> wrote:
>>> Let me re-iterate:
>>> - if it's a leaf entry, then there's no need to call ept_free_entry
>>> - if you don't need to call ept_free_entry, then you can defer
>>> ept_sync_domain (subject to the iommu case)
>>> - you could pass in a pointer to a bool to indicate to the caller that
>>> ept_sync_domain was deferred and that the caller needs to do it, with
>>> a NULL pointer indicating that the caller doesn't support defer
>
> How does this look?

It's missing the "leaf entry" part of my description of how I think
things should work.  Without that, you're effectively ignoring the
following comment at the end of ept_set_entry:
    /* Release the old intermediate tables, if any.  This has to be the
       last thing we do, after the ept_sync_domain() and removal
       from the iommu tables, so as to avoid a potential
       use-after-free. */

See inline comments in your patch below for how I'd change this, untested...

    christian

> @@ -293,6 +296,7 @@ ept_set_entry(struct p2m_domain *p2m, un
> =A0 =A0 int needs_sync =3D 1;
> =A0 =A0 struct domain *d =3D p2m->domain;
> =A0 =A0 ept_entry_t old_entry =3D { .epte =3D 0 };
> + =A0 =A0bool_t _sync_deferred =3D 0;

don't need that

> =A0 =A0 /*
> =A0 =A0 =A0* the caller must make sure:
> @@ -309,6 +313,9 @@ ept_set_entry(struct p2m_domain *p2m, un
> =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 1 && hvm_hap_has_2mb(d)) ||
> =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 0));
>
> + =A0 =A0if (sync_deferred)
> + =A0 =A0 =A0 =A0*sync_deferred =3D 1;
> +
> =A0 =A0 table =3D map_domain_page(ept_get_asr(d));
>
> =A0 =A0 for ( i =3D ept_get_wl(d); i > target; i-- )
> @@ -346,7 +353,11 @@ ept_set_entry(struct p2m_domain *p2m, un
>
> =A0 =A0 =A0 =A0 /* No need to flush if the old entry wasn't valid */
> =A0 =A0 =A0 =A0 if ( !is_epte_present(ept_entry) )
>             needs_sync =3D 0;

This should be:
        if ( !is_epte_present(ept_entry) ||
             (!target && sync_deferred) ) {
            needs_sync =3D 0;
            if (sync_deferred)
                *sync_deferred =3D 0;
        }

This expresses the notion that we're going to skip the call to
ept_free_entry since it's a leaf entry (target =3D=3D 0) and that the
caller will make the ept_sync_domain call (sync_deferred !=3D NULL).

>
> =A0 =A0 =A0 =A0 /* If we're replacing a non-leaf entry with a leaf entry
> (1GiB or 2MiB),
> =A0 =A0 =A0 =A0 =A0* the intermediate tables will be freed below after th=
e ept flush
> @@ -385,6 +396,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>
> =A0 =A0 =A0 =A0 ASSERT(is_epte_superpage(ept_entry));
>
> + =A0 =A0 =A0 =A0if ( sync_deferred )
> + =A0 =A0 =A0 =A0 =A0 =A0_sync_deferred =3D 1;
> +

don't need that

> =A0 =A0 =A0 =A0 split_ept_entry =3D atomic_read_ept_entry(ept_entry);
>
> =A0 =A0 =A0 =A0 if ( !ept_split_super_page(p2m, &split_ept_entry, i, targ=
et) )
> @@ -438,7 +452,7 @@ ept_set_entry(struct p2m_domain *p2m, un
> =A0out:
> =A0 =A0 unmap_domain_page(table);
>
> - =A0 =A0if ( needs_sync )
> + =A0 =A0if ( needs_sync && !_sync_deferred )
> =A0 =A0 =A0 =A0 ept_sync_domain(p2m->domain);

don't need that change, test on needs_sync is sufficient

>
> =A0 =A0 if ( rv && iommu_enabled && need_iommu(p2m->domain) &&
> need_modify_vtd_table )

Then at the end of ept_set_pte add the test for non-leaf, which is
more like an optimization/clarification since ept_free_entry has the
same test already.

    if ( target && is_epte_present(&old_entry) )
        ept_free_entry(p2m, &old_entry, target);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 05:03:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 05:03:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPoBk-0005jE-SK; Thu, 03 May 2012 05:02:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPoBj-0005j7-4s
	for xen-devel@lists.xen.org; Thu, 03 May 2012 05:02:47 +0000
Received: from [85.158.143.99:33688] by server-3.bemta-4.messagelabs.com id
	57/A5-05853-67112AF4; Thu, 03 May 2012 05:02:46 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336021365!20938815!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI3NTUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20892 invoked from network); 3 May 2012 05:02:45 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-216.messagelabs.com with SMTP;
	3 May 2012 05:02:45 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 02 May 2012 22:02:44 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="95817198"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 02 May 2012 22:02:42 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 2 May 2012 22:02:42 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Thu, 3 May 2012 13:02:39 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsP//l2GAgAC6JAA=
Date: Thu, 3 May 2012 05:02:39 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B4A11E@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<CAB10MZDbHqdYNsoi+wSiFF=DxQGK+6gtRAi6XQ1iY8z3-pxpzw@mail.gmail.com>
In-Reply-To: <CAB10MZDbHqdYNsoi+wSiFF=DxQGK+6gtRAi6XQ1iY8z3-pxpzw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Dong, Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> The reason I submitted the patch was, calling xc_hvm_inject_trap() on
> a software interrupt caused the guest to crash with a vmentry failure

That should use SW_INTERRUPT, not SW_EXCEPTION.

> because the interrupt was injected as a hardware interrupt. The patch
> allowed me to inject a software interrupt successfully.
> 
> However I do agree that it is better if we have a separate API that
> does not overload vmx_inject_hw_exception().
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 05:03:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 05:03:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPoBk-0005jE-SK; Thu, 03 May 2012 05:02:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPoBj-0005j7-4s
	for xen-devel@lists.xen.org; Thu, 03 May 2012 05:02:47 +0000
Received: from [85.158.143.99:33688] by server-3.bemta-4.messagelabs.com id
	57/A5-05853-67112AF4; Thu, 03 May 2012 05:02:46 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336021365!20938815!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI3NTUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20892 invoked from network); 3 May 2012 05:02:45 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-216.messagelabs.com with SMTP;
	3 May 2012 05:02:45 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 02 May 2012 22:02:44 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="95817198"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 02 May 2012 22:02:42 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 2 May 2012 22:02:42 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Thu, 3 May 2012 13:02:39 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsP//l2GAgAC6JAA=
Date: Thu, 3 May 2012 05:02:39 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B4A11E@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<CAB10MZDbHqdYNsoi+wSiFF=DxQGK+6gtRAi6XQ1iY8z3-pxpzw@mail.gmail.com>
In-Reply-To: <CAB10MZDbHqdYNsoi+wSiFF=DxQGK+6gtRAi6XQ1iY8z3-pxpzw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Dong, Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> The reason I submitted the patch was, calling xc_hvm_inject_trap() on
> a software interrupt caused the guest to crash with a vmentry failure

That should use SW_INTERRUPT, not SW_EXCEPTION.

> because the interrupt was injected as a hardware interrupt. The patch
> allowed me to inject a software interrupt successfully.
> 
> However I do agree that it is better if we have a separate API that
> does not overload vmx_inject_hw_exception().
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 06:15:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 06:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPpIm-00068M-F1; Thu, 03 May 2012 06:14:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPpIk-00068H-Rm
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 06:14:07 +0000
Received: from [85.158.138.51:16099] by server-9.bemta-3.messagelabs.com id
	81/C6-26691-E2222AF4; Thu, 03 May 2012 06:14:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336025645!24831248!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6207 invoked from network); 3 May 2012 06:14:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 06:14:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,520,1330905600"; d="scan'208";a="12263851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 06:14:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 07:14:04 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPpIi-0007dF-48;
	Thu, 03 May 2012 06:14:04 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPpIh-0007tp-R4;
	Thu, 03 May 2012 07:14:03 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12784-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 07:14:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12784: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12784 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12784/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-win-vcpus1  5 xen-boot                   fail pass in 12779
 test-i386-i386-pv             3 host-install(3)  broken in 12779 pass in 12784
 test-amd64-i386-pv            3 host-install(3)  broken in 12779 pass in 12784
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot   fail in 12779 pass in 12784
 test-amd64-i386-qemuu-rhel6hvm-amd 3 host-install(3) broken in 12779 pass in 12784

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install      fail in 12779 never pass

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.0-testing
+ revision=d8fd425b60d3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.0-testing d8fd425b60d3
+ branch=xen-4.0-testing
+ revision=d8fd425b60d3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.0-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.0-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.0-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.0-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.0-testing.git
++ : daily-cron.xen-4.0-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.0-testing.git
+ info_linux_tree xen-4.0-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.0-testing.hg
+ hg push -r d8fd425b60d3 ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 06:15:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 06:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPpIm-00068M-F1; Thu, 03 May 2012 06:14:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPpIk-00068H-Rm
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 06:14:07 +0000
Received: from [85.158.138.51:16099] by server-9.bemta-3.messagelabs.com id
	81/C6-26691-E2222AF4; Thu, 03 May 2012 06:14:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336025645!24831248!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6207 invoked from network); 3 May 2012 06:14:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 06:14:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,520,1330905600"; d="scan'208";a="12263851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 06:14:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 07:14:04 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPpIi-0007dF-48;
	Thu, 03 May 2012 06:14:04 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPpIh-0007tp-R4;
	Thu, 03 May 2012 07:14:03 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12784-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 07:14:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12784: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12784 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12784/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-win-vcpus1  5 xen-boot                   fail pass in 12779
 test-i386-i386-pv             3 host-install(3)  broken in 12779 pass in 12784
 test-amd64-i386-pv            3 host-install(3)  broken in 12779 pass in 12784
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot   fail in 12779 pass in 12784
 test-amd64-i386-qemuu-rhel6hvm-amd 3 host-install(3) broken in 12779 pass in 12784

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install      fail in 12779 never pass

version targeted for testing:
 xen                  d8fd425b60d3
baseline version:
 xen                  4e446ac2c6de

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.0-testing
+ revision=d8fd425b60d3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.0-testing d8fd425b60d3
+ branch=xen-4.0-testing
+ revision=d8fd425b60d3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.0-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.0-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.0-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.0-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.0-testing.git
++ : daily-cron.xen-4.0-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.0-testing.git
+ info_linux_tree xen-4.0-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.0-testing.hg
+ hg push -r d8fd425b60d3 ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 06:56:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 06:56:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPpxO-0006Ol-3k; Thu, 03 May 2012 06:56:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPpxM-0006Og-RS
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 06:56:05 +0000
Received: from [85.158.139.83:64813] by server-9.bemta-5.messagelabs.com id
	23/CB-09826-40C22AF4; Thu, 03 May 2012 06:56:04 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336028163!25987757!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8134 invoked from network); 3 May 2012 06:56:03 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-13.tower-182.messagelabs.com with SMTP;
	3 May 2012 06:56:03 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPpxJ-0007fj-Dg; Thu, 03 May 2012 06:56:01 +0000
Message-ID: <4FA22BF8.2050409@canonical.com>
Date: Thu, 03 May 2012 08:55:52 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com>
In-Reply-To: <4FA1B096.5010009@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4098233777693533906=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============4098233777693533906==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enigE4D7DB7D964CF58A0ADBFBFA"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigE4D7DB7D964CF58A0ADBFBFA
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 00:09, Boris Ostrovsky wrote:
> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>>> index a8f8844..d816448 100644
>>>>>> --- a/arch/x86/xen/enlighten.c
>>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>>   {
>>>>>> -    return 0;
>>>>>> +    struct xen_platform_op op =3D {
>>>>>> +        .cmd =3D XENPF_get_cpuinfo,
>>>>>> +        .interface_version =3D XENPF_INTERFACE_VERSION,
>>>>>> +        .u.pcpu_info.xen_cpuid =3D 0,
>>>>>
>>>>>
>>>>> Is this always zero? This will probably solve the current problem
>>>>
>>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>>
>>> Why not use CPU number instead of zero here?
>>
>> The issue was only with the bootup CPU - so was using the Xen's
>> bootup CPU number - which is zero (as is Linux's).
>=20
> I agree that for this particular problem this may be sufficient.
>=20
> My concern is that in the future someone may decide to use apic_read(AP=
IC_ID) or
> read_apic_id() for some other purpose and they won't get expected resul=
t (i.e.
> on all CPUs they will get the same answer).
>=20
>>
>>>
>>>>
>>>>> but I am wondering whether in the future we might hit another bug
>>>>> because this routine will return the same APICID for all VCPUs.
>>>>
>>>>   Later on it does a check for 'smp_processor_id()' - and if
>>>> that is anything but zero it will bail out.
>>>
>>> Can you point me to the check you are referring to?
>>
>> if (!xen_initial_domain() || smp_processor_id())
>=20
> I don't see this line --- neither in the mainline nor in your kernel. W=
hich
> kernel and which routine is this in?

This is in the inline patch Konrad asked me to check.
>=20
> BTW, this patch doesn't quite work, xen-acpi-processor driver fails to =
load with
> the same error as before. I'll look at this tomorrow more carefully.

It does fail but at least for me it seems slightly different. I do the mo=
dprobe
after turning on all acpi debugging levels and layers. And without any ch=
ange
there are queries visible. With that patch the driver just fails but ther=
e are
no queries. I plan to have another go with messages sprinkled to all exit=
 paths
today, too (was just a bit too late and two pints later yesterday).


-Stefan
>=20
>=20
> -boris
>=20
>>
>>
>>>
>>> -boris
>>>
>>>
>>>>
>>>> So this shoudl solve the problem for the bootup processor.
>>>>>
>>>>> -boris
>>>>>
>>>>>
>>>>>> +    };
>>>>>> +    int ret =3D 0;
>>>>>> +
>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we o=
nly
>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>> +        return 0x10;
>>>>>> +
>>>>>> +    if (reg !=3D APIC_ID)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>> +    if (ret)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>   }
>>>>>>
>>>>>>   static void xen_apic_write(u32 reg, u32 val)
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>
>=20
>=20



--------------enigE4D7DB7D964CF58A0ADBFBFA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoiv/AAoJEOhnXe7L7s6j6Z0P/1gvbeEvQMj5VA+TgaDC8yH6
jQ6Z/walWWrge3LCQR8coUo66JSq7yQFy9FQTCEDSPYG4gHJJTicabVtni6aeXkv
bjfOWIQcFiUmzzR6/mzDM1CSeZ0ICoRQ8QJOPq7RnEtP2BZOUCD/M3JUOEn8A1rg
06aU6Yw2v2wJNfb3PIgovGnPpu8GMcBbRPS9r9THqVDSis8fK0JRtD6NqtWz5koc
uTLapvKP+Fys4qTZeseeAtptnzaR/M8qviJJ+1Upm0XU3Sl6yBF0K/Spczf9HgLT
g5neXdz/CfhHqkYtGpphBzZaCS02olrevGRZlAgbo3EtfNiQhqqfFIgbB9cVz3Yb
x5zD3tXoqA23w0kVp/zuRnHz7CEm61OSBDgLEsP9TcK0zXZZf24mcxGSyPY6J6py
PRdW9ubQeuQQy1ei19we3rRy9A69jHQC6Cw26ZAd/CRhH4taBpWfIYKQlZUJQp+T
ZVWN5RJjt7tefGRVFgQEuVdWyl0QlPvqcbEuEkEe2ff5cUBi7OkiJtbyxEzhOBk0
t4sU+OOR6a+t5EkVYGZeq70yViNZEYaMvRxUO6sv/FRj8i6bFZT414nmR0bxmzov
9KzsGKsIGoCcEzEU9za3Vem3LM/0CnijdSqeMsBmdvUwiX8SwQZEua68UtDGPIbx
xQuBf7PU9xg2Jzw+gT5V
=3DmT
-----END PGP SIGNATURE-----

--------------enigE4D7DB7D964CF58A0ADBFBFA--


--===============4098233777693533906==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4098233777693533906==--


From xen-devel-bounces@lists.xen.org Thu May 03 06:56:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 06:56:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPpxO-0006Ol-3k; Thu, 03 May 2012 06:56:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPpxM-0006Og-RS
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 06:56:05 +0000
Received: from [85.158.139.83:64813] by server-9.bemta-5.messagelabs.com id
	23/CB-09826-40C22AF4; Thu, 03 May 2012 06:56:04 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336028163!25987757!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8134 invoked from network); 3 May 2012 06:56:03 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-13.tower-182.messagelabs.com with SMTP;
	3 May 2012 06:56:03 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPpxJ-0007fj-Dg; Thu, 03 May 2012 06:56:01 +0000
Message-ID: <4FA22BF8.2050409@canonical.com>
Date: Thu, 03 May 2012 08:55:52 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com>
In-Reply-To: <4FA1B096.5010009@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4098233777693533906=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============4098233777693533906==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enigE4D7DB7D964CF58A0ADBFBFA"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigE4D7DB7D964CF58A0ADBFBFA
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 00:09, Boris Ostrovsky wrote:
> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>>> index a8f8844..d816448 100644
>>>>>> --- a/arch/x86/xen/enlighten.c
>>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>>   {
>>>>>> -    return 0;
>>>>>> +    struct xen_platform_op op =3D {
>>>>>> +        .cmd =3D XENPF_get_cpuinfo,
>>>>>> +        .interface_version =3D XENPF_INTERFACE_VERSION,
>>>>>> +        .u.pcpu_info.xen_cpuid =3D 0,
>>>>>
>>>>>
>>>>> Is this always zero? This will probably solve the current problem
>>>>
>>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>>
>>> Why not use CPU number instead of zero here?
>>
>> The issue was only with the bootup CPU - so was using the Xen's
>> bootup CPU number - which is zero (as is Linux's).
>=20
> I agree that for this particular problem this may be sufficient.
>=20
> My concern is that in the future someone may decide to use apic_read(AP=
IC_ID) or
> read_apic_id() for some other purpose and they won't get expected resul=
t (i.e.
> on all CPUs they will get the same answer).
>=20
>>
>>>
>>>>
>>>>> but I am wondering whether in the future we might hit another bug
>>>>> because this routine will return the same APICID for all VCPUs.
>>>>
>>>>   Later on it does a check for 'smp_processor_id()' - and if
>>>> that is anything but zero it will bail out.
>>>
>>> Can you point me to the check you are referring to?
>>
>> if (!xen_initial_domain() || smp_processor_id())
>=20
> I don't see this line --- neither in the mainline nor in your kernel. W=
hich
> kernel and which routine is this in?

This is in the inline patch Konrad asked me to check.
>=20
> BTW, this patch doesn't quite work, xen-acpi-processor driver fails to =
load with
> the same error as before. I'll look at this tomorrow more carefully.

It does fail but at least for me it seems slightly different. I do the mo=
dprobe
after turning on all acpi debugging levels and layers. And without any ch=
ange
there are queries visible. With that patch the driver just fails but ther=
e are
no queries. I plan to have another go with messages sprinkled to all exit=
 paths
today, too (was just a bit too late and two pints later yesterday).


-Stefan
>=20
>=20
> -boris
>=20
>>
>>
>>>
>>> -boris
>>>
>>>
>>>>
>>>> So this shoudl solve the problem for the bootup processor.
>>>>>
>>>>> -boris
>>>>>
>>>>>
>>>>>> +    };
>>>>>> +    int ret =3D 0;
>>>>>> +
>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we o=
nly
>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>> +        return 0x10;
>>>>>> +
>>>>>> +    if (reg !=3D APIC_ID)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>> +    if (ret)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>   }
>>>>>>
>>>>>>   static void xen_apic_write(u32 reg, u32 val)
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>
>=20
>=20



--------------enigE4D7DB7D964CF58A0ADBFBFA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoiv/AAoJEOhnXe7L7s6j6Z0P/1gvbeEvQMj5VA+TgaDC8yH6
jQ6Z/walWWrge3LCQR8coUo66JSq7yQFy9FQTCEDSPYG4gHJJTicabVtni6aeXkv
bjfOWIQcFiUmzzR6/mzDM1CSeZ0ICoRQ8QJOPq7RnEtP2BZOUCD/M3JUOEn8A1rg
06aU6Yw2v2wJNfb3PIgovGnPpu8GMcBbRPS9r9THqVDSis8fK0JRtD6NqtWz5koc
uTLapvKP+Fys4qTZeseeAtptnzaR/M8qviJJ+1Upm0XU3Sl6yBF0K/Spczf9HgLT
g5neXdz/CfhHqkYtGpphBzZaCS02olrevGRZlAgbo3EtfNiQhqqfFIgbB9cVz3Yb
x5zD3tXoqA23w0kVp/zuRnHz7CEm61OSBDgLEsP9TcK0zXZZf24mcxGSyPY6J6py
PRdW9ubQeuQQy1ei19we3rRy9A69jHQC6Cw26ZAd/CRhH4taBpWfIYKQlZUJQp+T
ZVWN5RJjt7tefGRVFgQEuVdWyl0QlPvqcbEuEkEe2ff5cUBi7OkiJtbyxEzhOBk0
t4sU+OOR6a+t5EkVYGZeq70yViNZEYaMvRxUO6sv/FRj8i6bFZT414nmR0bxmzov
9KzsGKsIGoCcEzEU9za3Vem3LM/0CnijdSqeMsBmdvUwiX8SwQZEua68UtDGPIbx
xQuBf7PU9xg2Jzw+gT5V
=3DmT
-----END PGP SIGNATURE-----

--------------enigE4D7DB7D964CF58A0ADBFBFA--


--===============4098233777693533906==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4098233777693533906==--


From xen-devel-bounces@lists.xen.org Thu May 03 07:22:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 07:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPqMR-0006rS-8Y; Thu, 03 May 2012 07:21:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPqMP-0006rN-Lv
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 07:21:57 +0000
Received: from [193.109.254.147:2081] by server-11.bemta-14.messagelabs.com id
	F0/0D-05858-41232AF4; Thu, 03 May 2012 07:21:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336029690!7390286!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18510 invoked from network); 3 May 2012 07:21:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 07:21:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,521,1330905600"; d="scan'208";a="12264767"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 07:21:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 08:21:30 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPqLy-0008Ek-1B;
	Thu, 03 May 2012 07:21:30 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPqLx-0000AO-VD;
	Thu, 03 May 2012 08:21:29 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12785-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 08:21:29 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12785: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12785 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12785/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=a21938b58fc4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing a21938b58fc4
+ branch=xen-4.1-testing
+ revision=a21938b58fc4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r a21938b58fc4 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 07:22:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 07:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPqMR-0006rS-8Y; Thu, 03 May 2012 07:21:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPqMP-0006rN-Lv
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 07:21:57 +0000
Received: from [193.109.254.147:2081] by server-11.bemta-14.messagelabs.com id
	F0/0D-05858-41232AF4; Thu, 03 May 2012 07:21:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336029690!7390286!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18510 invoked from network); 3 May 2012 07:21:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 07:21:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,521,1330905600"; d="scan'208";a="12264767"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 07:21:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 08:21:30 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPqLy-0008Ek-1B;
	Thu, 03 May 2012 07:21:30 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPqLx-0000AO-VD;
	Thu, 03 May 2012 08:21:29 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12785-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 08:21:29 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12785: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12785 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12785/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  a21938b58fc4
baseline version:
 xen                  99517f769cc8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=a21938b58fc4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing a21938b58fc4
+ branch=xen-4.1-testing
+ revision=a21938b58fc4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r a21938b58fc4 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 08:11:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 08:11:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPr7u-0007oT-DO; Thu, 03 May 2012 08:11:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPr7t-0007oK-C7
	for xen-devel@lists.xen.org; Thu, 03 May 2012 08:11:01 +0000
Received: from [85.158.138.51:63362] by server-8.bemta-3.messagelabs.com id
	01/AF-24428-49D32AF4; Thu, 03 May 2012 08:11:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336032659!24944201!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23488 invoked from network); 3 May 2012 08:11:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 08:11:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,521,1330905600"; d="scan'208";a="12265812"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 08:10:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	09:10:59 +0100
Message-ID: <1336032658.6367.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <dario.faggioli@citrix.com>
Date: Thu, 3 May 2012 09:10:58 +0100
In-Reply-To: <1336007032.874.12.camel@Abyss>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com>
	<1335976251.2961.123.camel@Abyss> <1336007032.874.12.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 02:03 +0100, Dario Faggioli wrote:
> On Wed, 2012-05-02 at 18:30 +0200, Dario Faggioli wrote:
> > > > +
> > > > +        if (use_cpus>= b_info->max_vcpus) {
> > > > +            rc = 0;
> > > > +            break;
> > > > +        }
> > > Hmm -- there's got to be a better way to find out the minimum number
> > > of nodes to house a given number of vcpus than just starting at 1
> > > and re-trying until we have enough.
> >
> > ...
> >
> > However, if what you mean is I could check beforehand whether or not
> > the
> > user provided configuration will give us enough CPUs and avoid testing
> > scenarios that are guaranteed to fail, then I agree and I'll reshape
> > the
> > code to look like that. 
> >
> Actually, thinking more about this, I'm not even sure I can do what I
> stated above. In fact, I don't think I can assume the number of CPUs
> each node is made up of to be known, without actually checking it for
> the specific node(s) I want to try using. What if some CPUs are off-line
> and stuff like that?
> 
> I might have to recheck, but reading topology information takes
> on/offline-ness into account, which is something I lose if I assume some
> static x number of CPUs in each node. Also, are we sure archs with
> different number of CPUs in different nodes won't ever exist? :-P
> Finally, consider this is likely going to change when we will have some
> mechanism for taking the actual load on the CPUs into account, so maybe
> it's not worth spending much time on it right now.
> 
> So, given what we currently export wrt topology, and all the above, I'm
> not sure I can see any cleverer way of figuring our how many CPUs/nodes
> I need than explicitly counting them (for what it counts, xend is also
> doing the same AFAIUI :-) ).

If xend does it this way then this is IMHO also appropriate for (lib)xl
in 4.2 at this stage in the release. For 4.3 we can figure out the right
way to do it.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 08:11:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 08:11:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPr7u-0007oT-DO; Thu, 03 May 2012 08:11:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPr7t-0007oK-C7
	for xen-devel@lists.xen.org; Thu, 03 May 2012 08:11:01 +0000
Received: from [85.158.138.51:63362] by server-8.bemta-3.messagelabs.com id
	01/AF-24428-49D32AF4; Thu, 03 May 2012 08:11:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336032659!24944201!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NjY0MA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23488 invoked from network); 3 May 2012 08:11:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 08:11:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,521,1330905600"; d="scan'208";a="12265812"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 08:10:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	09:10:59 +0100
Message-ID: <1336032658.6367.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <dario.faggioli@citrix.com>
Date: Thu, 3 May 2012 09:10:58 +0100
In-Reply-To: <1336007032.874.12.camel@Abyss>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com>
	<1335976251.2961.123.camel@Abyss> <1336007032.874.12.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 02:03 +0100, Dario Faggioli wrote:
> On Wed, 2012-05-02 at 18:30 +0200, Dario Faggioli wrote:
> > > > +
> > > > +        if (use_cpus>= b_info->max_vcpus) {
> > > > +            rc = 0;
> > > > +            break;
> > > > +        }
> > > Hmm -- there's got to be a better way to find out the minimum number
> > > of nodes to house a given number of vcpus than just starting at 1
> > > and re-trying until we have enough.
> >
> > ...
> >
> > However, if what you mean is I could check beforehand whether or not
> > the
> > user provided configuration will give us enough CPUs and avoid testing
> > scenarios that are guaranteed to fail, then I agree and I'll reshape
> > the
> > code to look like that. 
> >
> Actually, thinking more about this, I'm not even sure I can do what I
> stated above. In fact, I don't think I can assume the number of CPUs
> each node is made up of to be known, without actually checking it for
> the specific node(s) I want to try using. What if some CPUs are off-line
> and stuff like that?
> 
> I might have to recheck, but reading topology information takes
> on/offline-ness into account, which is something I lose if I assume some
> static x number of CPUs in each node. Also, are we sure archs with
> different number of CPUs in different nodes won't ever exist? :-P
> Finally, consider this is likely going to change when we will have some
> mechanism for taking the actual load on the CPUs into account, so maybe
> it's not worth spending much time on it right now.
> 
> So, given what we currently export wrt topology, and all the above, I'm
> not sure I can see any cleverer way of figuring our how many CPUs/nodes
> I need than explicitly counting them (for what it counts, xend is also
> doing the same AFAIUI :-) ).

If xend does it this way then this is IMHO also appropriate for (lib)xl
in 4.2 at this stage in the release. For 4.3 we can figure out the right
way to do it.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 08:33:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 08:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPrSy-00007Z-0S; Thu, 03 May 2012 08:32:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SPrSw-00007I-7C
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 08:32:46 +0000
Received: from [85.158.143.99:31326] by server-2.bemta-4.messagelabs.com id
	51/76-17550-DA242AF4; Thu, 03 May 2012 08:32:45 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336033962!25952904!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19634 invoked from network); 3 May 2012 08:32:43 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 08:32:43 -0000
Received: by qady23 with SMTP id y23so88222qad.7
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 01:32:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=FQULWGCoJHd2IzhRNcF8z0Zq5f7ByYcbC9UIwLCxNAs=;
	b=vVqX1g2eDXPkQF54fcDfJLn6T0gm/FTtoAFlPmzKWyFCpmp2BQ6q/CbJlidGm+LMfC
	dsMG3Z13qsh4kKO7AygEvGl01lgOk2OA8C9tBPI78DVfDAjMLN6JfBLEAqyUd9cj56SV
	s9w/YaIUlUF1/TpIEJkRSCvgwPyzC6WE70glDRg2BSSRJKMK5IFUxlR+dDFaHgjijack
	tgP36e19NY1aCKwQrft6ugRB7Fi4iiDp/bjsbZJfl4oiZlA4CP6eg+vMNmGMOKsyVrLj
	x2HcWG+J4LqkR4rTvLKm6pUe65IwvkkkjOSFW5marO06Ct5H7vddNQilaGb9Tt5wPlnT
	CH5g==
MIME-Version: 1.0
Received: by 10.224.193.8 with SMTP id ds8mr2647094qab.1.1336033962085; Thu,
	03 May 2012 01:32:42 -0700 (PDT)
Received: by 10.229.44.145 with HTTP; Thu, 3 May 2012 01:32:41 -0700 (PDT)
In-Reply-To: <4FA16875.5020801@hfp.de>
References: <4FA1328B.6070602@hfp.de> <4FA13708.4050202@cantab.net>
	<4FA16875.5020801@hfp.de>
Date: Thu, 3 May 2012 09:32:41 +0100
X-Google-Sender-Auth: hvN19bY-67Q9Bt4Hlw-1VvA3zlY
Message-ID: <CAFLBxZZbgx=kGBQm-y682kmtW5ytOSeac4m_AedGU-a8JLUfeg@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Andreas Kinzler <ml-xen-devel@hfp.de>
Cc: David Vrabel <dvrabel@cantab.net>, Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 6:01 PM, Andreas Kinzler <ml-xen-devel@hfp.de> wrote:
> On 02.05.2012 15:30, David Vrabel wrote:
>>
>> Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
>> check for pending events when restoring irq flags"[1] and see how much
>> it helps?
>
>
> There is some minor improvement - but it is still far away from xenified
> 2.6.34.10.

Just FYI, the reason Ian suggested making the same comparison for
native is that the performance of linux overall on bare-metal has also
suffered since 2.6.34.  It's likely that a non-trivial amount of the
performance regression is due to moving from 2.6.34 to 3.{2,3}, over
and above whatever regressions may have happened when moving from
xenified to pvops.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 08:33:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 08:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPrSy-00007Z-0S; Thu, 03 May 2012 08:32:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SPrSw-00007I-7C
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 08:32:46 +0000
Received: from [85.158.143.99:31326] by server-2.bemta-4.messagelabs.com id
	51/76-17550-DA242AF4; Thu, 03 May 2012 08:32:45 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336033962!25952904!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19634 invoked from network); 3 May 2012 08:32:43 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 08:32:43 -0000
Received: by qady23 with SMTP id y23so88222qad.7
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 01:32:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=FQULWGCoJHd2IzhRNcF8z0Zq5f7ByYcbC9UIwLCxNAs=;
	b=vVqX1g2eDXPkQF54fcDfJLn6T0gm/FTtoAFlPmzKWyFCpmp2BQ6q/CbJlidGm+LMfC
	dsMG3Z13qsh4kKO7AygEvGl01lgOk2OA8C9tBPI78DVfDAjMLN6JfBLEAqyUd9cj56SV
	s9w/YaIUlUF1/TpIEJkRSCvgwPyzC6WE70glDRg2BSSRJKMK5IFUxlR+dDFaHgjijack
	tgP36e19NY1aCKwQrft6ugRB7Fi4iiDp/bjsbZJfl4oiZlA4CP6eg+vMNmGMOKsyVrLj
	x2HcWG+J4LqkR4rTvLKm6pUe65IwvkkkjOSFW5marO06Ct5H7vddNQilaGb9Tt5wPlnT
	CH5g==
MIME-Version: 1.0
Received: by 10.224.193.8 with SMTP id ds8mr2647094qab.1.1336033962085; Thu,
	03 May 2012 01:32:42 -0700 (PDT)
Received: by 10.229.44.145 with HTTP; Thu, 3 May 2012 01:32:41 -0700 (PDT)
In-Reply-To: <4FA16875.5020801@hfp.de>
References: <4FA1328B.6070602@hfp.de> <4FA13708.4050202@cantab.net>
	<4FA16875.5020801@hfp.de>
Date: Thu, 3 May 2012 09:32:41 +0100
X-Google-Sender-Auth: hvN19bY-67Q9Bt4Hlw-1VvA3zlY
Message-ID: <CAFLBxZZbgx=kGBQm-y682kmtW5ytOSeac4m_AedGU-a8JLUfeg@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Andreas Kinzler <ml-xen-devel@hfp.de>
Cc: David Vrabel <dvrabel@cantab.net>, Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 6:01 PM, Andreas Kinzler <ml-xen-devel@hfp.de> wrote:
> On 02.05.2012 15:30, David Vrabel wrote:
>>
>> Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
>> check for pending events when restoring irq flags"[1] and see how much
>> it helps?
>
>
> There is some minor improvement - but it is still far away from xenified
> 2.6.34.10.

Just FYI, the reason Ian suggested making the same comparison for
native is that the performance of linux overall on bare-metal has also
suffered since 2.6.34.  It's likely that a non-trivial amount of the
performance regression is due to moving from 2.6.34 to 3.{2,3}, over
and above whatever regressions may have happened when moving from
xenified to pvops.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 08:49:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 08:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPriN-0000Qf-Gx; Thu, 03 May 2012 08:48:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SPriM-0000Qa-KN
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 08:48:43 +0000
Received: from [85.158.139.83:41586] by server-9.bemta-5.messagelabs.com id
	EB/8C-09826-96642AF4; Thu, 03 May 2012 08:48:41 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336034920!22274343!1
X-Originating-IP: [209.85.217.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16211 invoked from network); 3 May 2012 08:48:41 -0000
Received: from mail-lb0-f171.google.com (HELO mail-lb0-f171.google.com)
	(209.85.217.171)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 08:48:41 -0000
Received: by lbom4 with SMTP id m4so1253718lbo.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 01:48:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=6MU+KoSbg6NjK9Top2TCxcQOKcjtwPRkAlFuArLIR5c=;
	b=IDOGX/9QSWQl4mwYnM/2Lb+kuHYP6FP0oT9zt88c5K6JkRS103EoOkVP9bxlFXQgn4
	iNDVd2Ykwf9h2CqziFkhL3IboJXiXzLzG/5zrLB4Ub6PYKMeXxeNB7oJ3/8JA+OPiFHq
	tHtDdiCpwtguhq4371iAVM1Xrq/Xnd6WBlqEkYDj0craqSSyebvWcN4C0I5vi7+w+tZS
	u1XELX33PBbtBTOkOI9pHIMlKgrCGx1V24y7l7h85YLjLN0zfswTMN6xohwqCSTg70zz
	XjioGGX6Aosy3/t451RB7Y1FCQgz2EkVxOuOWe4iVh5DhGbnnstz2dXZSgRdkMPMHPk1
	51WA==
Received: by 10.112.85.39 with SMTP id e7mr614831lbz.56.1336034920079; Thu, 03
	May 2012 01:48:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.112.45.194 with HTTP; Thu, 3 May 2012 01:48:19 -0700 (PDT)
In-Reply-To: <20120131145142.GB23556@spongy.cam.xci-test.com>
References: <1326372062-20905-1-git-send-email-jean.guyader@eu.citrix.com>
	<20120112124254.GB11262@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201121416200.3150@kaball-desktop>
	<CAEBdQ90KcOi6RvbUYcyXKZPpsKWvu2ERg35eBZosKNuUrCGabQ@mail.gmail.com>
	<alpine.DEB.2.00.1201171447450.3150@kaball-desktop>
	<20120117162414.GA25281@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201171634300.3150@kaball-desktop>
	<20120131145142.GB23556@spongy.cam.xci-test.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 3 May 2012 09:48:19 +0100
Message-ID: <CAEBdQ92HBWPnKSS=iAm3jeesz-kzjGdTjCU4DtssOhYZbb0PNA@mail.gmail.com>
To: Jean Guyader <jean.guyader@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"allen.m.kay@intel.com" <allen.m.kay@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Jean Guyader <Jean.Guyader@citrix.com>,
	"konrad@darnok.org" <konrad@darnok.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping. (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31 January 2012 14:51, Jean Guyader <jean.guyader@eu.citrix.com> wrote:
>
> On 17/01 04:34, Stefano Stabellini wrote:
> > On Tue, 17 Jan 2012, Jean Guyader wrote:
> > > On 17/01 02:51, Stefano Stabellini wrote:
> > > > On Mon, 16 Jan 2012, Jean Guyader wrote:
> > > > > On 12 January 2012 14:34, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > On Thu, 12 Jan 2012, Jean Guyader wrote:
> > > > > >> On 12/01 12:41, Jean Guyader wrote:
> > > > > >> > The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> > can't be used in the guest directly.
> > > > > >> >
> > > > > >> > This patch traps read and write access to the opregion of the Intel
> > > > > >> > GPU config space (offset 0xfc).
> > > > > >> >
> > > > > >> > To work correctly this patch needs a change in hvmloader.
> > > > > >> >
> > > > > >> > HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> > on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> > OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> > any effect. Any read of this config space offset will return the address
> > > > > >> > in the guest.
> > > > > >> >
> > > > > >> > Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> commit a6036bee23bb338e6cf48e9f0d75ff0845f8cfe3
> > > > > >> Author: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> Date: ?? Wed Nov 23 07:53:30 2011 +0000
> > > > > >>
> > > > > >> ?? ?? qemu-xen: Intel GPU passthrough, fix OpRegion mapping.
> > > > > >>
> > > > > >> ?? ?? The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> ?? ?? can't be used in the guest directly.
> > > > > >>
> > > > > >> ?? ?? This patch traps read and write access to the opregion of the Intel
> > > > > >> ?? ?? GPU config space (offset 0xfc).
> > > > > >>
> > > > > >> ?? ?? To work correctly this patch needs a change in hvmloader.
> > > > > >>
> > > > > >> ?? ?? HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> ?? ?? on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> ?? ?? OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> ?? ?? any effect. Any read of this config space offset will return the address
> > > > > >> ?? ?? in the guest.
> > > > > >>
> > > > > >> diff --git a/hw/pass-through.c b/hw/pass-through.c
> > > > > >> index dbe8804..7ee3c61 100644
> > > > > >> --- a/hw/pass-through.c
> > > > > >> +++ b/hw/pass-through.c
> > > > > >> @@ -238,6 +238,14 @@ static int pt_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ??static int pt_exp_rom_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> ?? ?? ??uint32_t real_offset, uint32_t dev_value, uint32_t *value);
> > > > > >> +static int pt_intel_opregion_read(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t valid_mask);
> > > > > >> +static int pt_intel_opregion_write(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t dev_value, uint32_t valid_mask);
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset);
> > > > > >>
> > > > > >> ??/* pt_reg_info_tbl declaration
> > > > > >> ?? * - only for emulated register (either a part or whole bit).
> > > > > >> @@ -444,6 +452,16 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.u.dw.write = pt_exp_rom_bar_reg_write,
> > > > > >> ?? ?? ?? ?? ??.u.dw.restore = pt_exp_rom_bar_reg_restore,
> > > > > >> ?? ?? ??},
> > > > > >> + ?? ??/* Intel IGFX OpRegion reg */
> > > > > >> + ?? ??{
> > > > > >> + ?? ?? ?? ??.offset ?? ?? = PCI_INTEL_OPREGION,
> > > > > >> + ?? ?? ?? ??.size ?? ?? ?? = 4,
> > > > > >> + ?? ?? ?? ??.init_val ?? = 0,
> > > > > >> + ?? ?? ?? ??.no_wb ?? ?? ??= 1,
> > > > > >> + ?? ?? ?? ??.u.dw.read ?? = pt_intel_opregion_read,
> > > > > >> + ?? ?? ?? ??.u.dw.write ??= pt_intel_opregion_write,
> > > > > >> + ?? ?? ?? ??.u.dw.restore ??= NULL,
> > > > > >> + ?? ??},
> > > > > >> ?? ?? ??{
> > > > > >> ?? ?? ?? ?? ??.size = 0,
> > > > > >> ?? ?? ??},
> > > > > >> @@ -737,7 +755,7 @@ static const struct pt_reg_grp_info_tbl pt_emu_reg_grp_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.grp_id ?? ?? = 0xFF,
> > > > > >> ?? ?? ?? ?? ??.grp_type ?? = GRP_TYPE_EMU,
> > > > > >> ?? ?? ?? ?? ??.grp_size ?? = 0x40,
> > > > > >> - ?? ?? ?? ??.size_init ??= pt_reg_grp_size_init,
> > > > > >> + ?? ?? ?? ??.size_init ??= pt_reg_grp_header0_size_init,
> > > > > >> ?? ?? ?? ?? ??.emu_reg_tbl= pt_emu_reg_header0_tbl,
> > > > > >> ?? ?? ??},
> > > > > >> ?? ?? ??/* PCI PowerManagement Capability reg group */
> > > > > >> @@ -3006,6 +3024,19 @@ static uint32_t pt_msixctrl_reg_init(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??return reg->init_val;
> > > > > >> ??}
> > > > > >>
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset)
> > > > > >> +{
> > > > > >> + ?? ??/*
> > > > > >> + ?? ??** By default we will trap up to 0x40 in the cfg space.
> > > > > >> + ?? ??** If an intel device is pass through we need to trap 0xfc,
> > > > > >> + ?? ??** therefore the size should be 0xff.
> > > > > >> + ?? ??*/
> > > > > >> + ?? ??if (igd_passthru)
> > > > > >> + ?? ?? ?? ??return 0xFF;
> > > > > >> + ?? ??return grp_reg->grp_size;
> > > > > >> +}
> > > > > >
> > > > > > Apart from the trivial code style error in the comment above, is this
> > > > > > going to have the unintended side effect of initializing as 0 all the
> > > > > > emulated registers between 0x40 and 0xff, that previously were probably
> > > > > > passed through?
> > > > > >
> > > > >
> > > > > Based on how pt_find_reg_grp is implemented that doesn't make any difference.
> > > >
> > > > actually there is a small change in behaviour: before your patch
> > > > pt_find_reg_grp would return NULL for any cfg register between 0x40 and
> > > > 0xff. Now if igd_passthru is set pt_find_reg_grp would return the
> > > > reg_grp_entry corresponding to "Header Type0 reg group" and then
> > > > pt_find_reg would return NULL.
> > > > This case seems to be handled correctly and bring to the same results
> > > > in both pt_pci_write_config and pt_pci_read_config.
> > > >
> > > > In any case PCI_INTEL_OPREGION should be part of "Header Type0 reg
> > > > group" only it if really is part of this group otherwise it should be in
> > > > its own separate group.
> > >
> > > The pci pass through groups have been designed to pass through pci capabilities
> > > from the device. You can't really create a group for something which isn't a pci
> > > capability.
> > >
> > > I have noted the change of behavior but that doesn't have any impact on what we
> > > will return to the guest so I think it fine.
> >
> > in that case, ack
>
> Ian,
>
> Could you apply this patch please?
>

Hi Ian,

I was going through my email and it seems that this patch didn't make
it into qemu-xen-unstable.

Thanks,
Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 08:49:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 08:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPriN-0000Qf-Gx; Thu, 03 May 2012 08:48:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SPriM-0000Qa-KN
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 08:48:43 +0000
Received: from [85.158.139.83:41586] by server-9.bemta-5.messagelabs.com id
	EB/8C-09826-96642AF4; Thu, 03 May 2012 08:48:41 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336034920!22274343!1
X-Originating-IP: [209.85.217.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16211 invoked from network); 3 May 2012 08:48:41 -0000
Received: from mail-lb0-f171.google.com (HELO mail-lb0-f171.google.com)
	(209.85.217.171)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 08:48:41 -0000
Received: by lbom4 with SMTP id m4so1253718lbo.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 01:48:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=6MU+KoSbg6NjK9Top2TCxcQOKcjtwPRkAlFuArLIR5c=;
	b=IDOGX/9QSWQl4mwYnM/2Lb+kuHYP6FP0oT9zt88c5K6JkRS103EoOkVP9bxlFXQgn4
	iNDVd2Ykwf9h2CqziFkhL3IboJXiXzLzG/5zrLB4Ub6PYKMeXxeNB7oJ3/8JA+OPiFHq
	tHtDdiCpwtguhq4371iAVM1Xrq/Xnd6WBlqEkYDj0craqSSyebvWcN4C0I5vi7+w+tZS
	u1XELX33PBbtBTOkOI9pHIMlKgrCGx1V24y7l7h85YLjLN0zfswTMN6xohwqCSTg70zz
	XjioGGX6Aosy3/t451RB7Y1FCQgz2EkVxOuOWe4iVh5DhGbnnstz2dXZSgRdkMPMHPk1
	51WA==
Received: by 10.112.85.39 with SMTP id e7mr614831lbz.56.1336034920079; Thu, 03
	May 2012 01:48:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.112.45.194 with HTTP; Thu, 3 May 2012 01:48:19 -0700 (PDT)
In-Reply-To: <20120131145142.GB23556@spongy.cam.xci-test.com>
References: <1326372062-20905-1-git-send-email-jean.guyader@eu.citrix.com>
	<20120112124254.GB11262@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201121416200.3150@kaball-desktop>
	<CAEBdQ90KcOi6RvbUYcyXKZPpsKWvu2ERg35eBZosKNuUrCGabQ@mail.gmail.com>
	<alpine.DEB.2.00.1201171447450.3150@kaball-desktop>
	<20120117162414.GA25281@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201171634300.3150@kaball-desktop>
	<20120131145142.GB23556@spongy.cam.xci-test.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 3 May 2012 09:48:19 +0100
Message-ID: <CAEBdQ92HBWPnKSS=iAm3jeesz-kzjGdTjCU4DtssOhYZbb0PNA@mail.gmail.com>
To: Jean Guyader <jean.guyader@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"allen.m.kay@intel.com" <allen.m.kay@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Jean Guyader <Jean.Guyader@citrix.com>,
	"konrad@darnok.org" <konrad@darnok.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping. (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31 January 2012 14:51, Jean Guyader <jean.guyader@eu.citrix.com> wrote:
>
> On 17/01 04:34, Stefano Stabellini wrote:
> > On Tue, 17 Jan 2012, Jean Guyader wrote:
> > > On 17/01 02:51, Stefano Stabellini wrote:
> > > > On Mon, 16 Jan 2012, Jean Guyader wrote:
> > > > > On 12 January 2012 14:34, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > On Thu, 12 Jan 2012, Jean Guyader wrote:
> > > > > >> On 12/01 12:41, Jean Guyader wrote:
> > > > > >> > The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> > can't be used in the guest directly.
> > > > > >> >
> > > > > >> > This patch traps read and write access to the opregion of the Intel
> > > > > >> > GPU config space (offset 0xfc).
> > > > > >> >
> > > > > >> > To work correctly this patch needs a change in hvmloader.
> > > > > >> >
> > > > > >> > HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> > on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> > OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> > any effect. Any read of this config space offset will return the address
> > > > > >> > in the guest.
> > > > > >> >
> > > > > >> > Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> commit a6036bee23bb338e6cf48e9f0d75ff0845f8cfe3
> > > > > >> Author: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> Date: ?? Wed Nov 23 07:53:30 2011 +0000
> > > > > >>
> > > > > >> ?? ?? qemu-xen: Intel GPU passthrough, fix OpRegion mapping.
> > > > > >>
> > > > > >> ?? ?? The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> ?? ?? can't be used in the guest directly.
> > > > > >>
> > > > > >> ?? ?? This patch traps read and write access to the opregion of the Intel
> > > > > >> ?? ?? GPU config space (offset 0xfc).
> > > > > >>
> > > > > >> ?? ?? To work correctly this patch needs a change in hvmloader.
> > > > > >>
> > > > > >> ?? ?? HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> ?? ?? on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> ?? ?? OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> ?? ?? any effect. Any read of this config space offset will return the address
> > > > > >> ?? ?? in the guest.
> > > > > >>
> > > > > >> diff --git a/hw/pass-through.c b/hw/pass-through.c
> > > > > >> index dbe8804..7ee3c61 100644
> > > > > >> --- a/hw/pass-through.c
> > > > > >> +++ b/hw/pass-through.c
> > > > > >> @@ -238,6 +238,14 @@ static int pt_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ??static int pt_exp_rom_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> ?? ?? ??uint32_t real_offset, uint32_t dev_value, uint32_t *value);
> > > > > >> +static int pt_intel_opregion_read(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t valid_mask);
> > > > > >> +static int pt_intel_opregion_write(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t dev_value, uint32_t valid_mask);
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset);
> > > > > >>
> > > > > >> ??/* pt_reg_info_tbl declaration
> > > > > >> ?? * - only for emulated register (either a part or whole bit).
> > > > > >> @@ -444,6 +452,16 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.u.dw.write = pt_exp_rom_bar_reg_write,
> > > > > >> ?? ?? ?? ?? ??.u.dw.restore = pt_exp_rom_bar_reg_restore,
> > > > > >> ?? ?? ??},
> > > > > >> + ?? ??/* Intel IGFX OpRegion reg */
> > > > > >> + ?? ??{
> > > > > >> + ?? ?? ?? ??.offset ?? ?? = PCI_INTEL_OPREGION,
> > > > > >> + ?? ?? ?? ??.size ?? ?? ?? = 4,
> > > > > >> + ?? ?? ?? ??.init_val ?? = 0,
> > > > > >> + ?? ?? ?? ??.no_wb ?? ?? ??= 1,
> > > > > >> + ?? ?? ?? ??.u.dw.read ?? = pt_intel_opregion_read,
> > > > > >> + ?? ?? ?? ??.u.dw.write ??= pt_intel_opregion_write,
> > > > > >> + ?? ?? ?? ??.u.dw.restore ??= NULL,
> > > > > >> + ?? ??},
> > > > > >> ?? ?? ??{
> > > > > >> ?? ?? ?? ?? ??.size = 0,
> > > > > >> ?? ?? ??},
> > > > > >> @@ -737,7 +755,7 @@ static const struct pt_reg_grp_info_tbl pt_emu_reg_grp_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.grp_id ?? ?? = 0xFF,
> > > > > >> ?? ?? ?? ?? ??.grp_type ?? = GRP_TYPE_EMU,
> > > > > >> ?? ?? ?? ?? ??.grp_size ?? = 0x40,
> > > > > >> - ?? ?? ?? ??.size_init ??= pt_reg_grp_size_init,
> > > > > >> + ?? ?? ?? ??.size_init ??= pt_reg_grp_header0_size_init,
> > > > > >> ?? ?? ?? ?? ??.emu_reg_tbl= pt_emu_reg_header0_tbl,
> > > > > >> ?? ?? ??},
> > > > > >> ?? ?? ??/* PCI PowerManagement Capability reg group */
> > > > > >> @@ -3006,6 +3024,19 @@ static uint32_t pt_msixctrl_reg_init(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??return reg->init_val;
> > > > > >> ??}
> > > > > >>
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset)
> > > > > >> +{
> > > > > >> + ?? ??/*
> > > > > >> + ?? ??** By default we will trap up to 0x40 in the cfg space.
> > > > > >> + ?? ??** If an intel device is pass through we need to trap 0xfc,
> > > > > >> + ?? ??** therefore the size should be 0xff.
> > > > > >> + ?? ??*/
> > > > > >> + ?? ??if (igd_passthru)
> > > > > >> + ?? ?? ?? ??return 0xFF;
> > > > > >> + ?? ??return grp_reg->grp_size;
> > > > > >> +}
> > > > > >
> > > > > > Apart from the trivial code style error in the comment above, is this
> > > > > > going to have the unintended side effect of initializing as 0 all the
> > > > > > emulated registers between 0x40 and 0xff, that previously were probably
> > > > > > passed through?
> > > > > >
> > > > >
> > > > > Based on how pt_find_reg_grp is implemented that doesn't make any difference.
> > > >
> > > > actually there is a small change in behaviour: before your patch
> > > > pt_find_reg_grp would return NULL for any cfg register between 0x40 and
> > > > 0xff. Now if igd_passthru is set pt_find_reg_grp would return the
> > > > reg_grp_entry corresponding to "Header Type0 reg group" and then
> > > > pt_find_reg would return NULL.
> > > > This case seems to be handled correctly and bring to the same results
> > > > in both pt_pci_write_config and pt_pci_read_config.
> > > >
> > > > In any case PCI_INTEL_OPREGION should be part of "Header Type0 reg
> > > > group" only it if really is part of this group otherwise it should be in
> > > > its own separate group.
> > >
> > > The pci pass through groups have been designed to pass through pci capabilities
> > > from the device. You can't really create a group for something which isn't a pci
> > > capability.
> > >
> > > I have noted the change of behavior but that doesn't have any impact on what we
> > > will return to the guest so I think it fine.
> >
> > in that case, ack
>
> Ian,
>
> Could you apply this patch please?
>

Hi Ian,

I was going through my email and it seems that this patch didn't make
it into qemu-xen-unstable.

Thanks,
Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 09:16:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 09:16:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPs8M-00013N-Nt; Thu, 03 May 2012 09:15:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPs8K-00013I-KT
	for xen-devel@lists.xen.org; Thu, 03 May 2012 09:15:32 +0000
Received: from [85.158.143.35:61919] by server-3.bemta-4.messagelabs.com id
	D5/AF-05853-3BC42AF4; Thu, 03 May 2012 09:15:31 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336036529!15238303!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29146 invoked from network); 3 May 2012 09:15:30 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 09:15:30 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 10:15:28 +0100
Message-Id: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 10:15:25 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
In-Reply-To: <CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 20:42, AP <apxeng@gmail.com> wrote:
> On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>>> I somehow thought that this has been fixed but I've been
>>> getting reports that people are running into this.
>>
>> "this" being what? I too thought that all xsave related issues were
>> sorted out by now.
> 
> I see the following crash if I run without xsave=0 with Ubuntu 11.10
> 3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
> Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.

And in the thread starting at
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00426.html
I gave debugging instructions that apparently no-one followed so
far. Without someone seeing the problem doing so I don't think we
will ever get anywhere with this (unless, as also indicated there,
someone can spot something wrong with the code that non-obvious
to everyone else).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 09:16:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 09:16:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPs8M-00013N-Nt; Thu, 03 May 2012 09:15:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPs8K-00013I-KT
	for xen-devel@lists.xen.org; Thu, 03 May 2012 09:15:32 +0000
Received: from [85.158.143.35:61919] by server-3.bemta-4.messagelabs.com id
	D5/AF-05853-3BC42AF4; Thu, 03 May 2012 09:15:31 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336036529!15238303!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29146 invoked from network); 3 May 2012 09:15:30 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 09:15:30 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 10:15:28 +0100
Message-Id: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 10:15:25 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
In-Reply-To: <CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 20:42, AP <apxeng@gmail.com> wrote:
> On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>>> I somehow thought that this has been fixed but I've been
>>> getting reports that people are running into this.
>>
>> "this" being what? I too thought that all xsave related issues were
>> sorted out by now.
> 
> I see the following crash if I run without xsave=0 with Ubuntu 11.10
> 3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
> Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.

And in the thread starting at
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00426.html
I gave debugging instructions that apparently no-one followed so
far. Without someone seeing the problem doing so I don't think we
will ever get anywhere with this (unless, as also indicated there,
someone can spot something wrong with the code that non-obvious
to everyone else).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 09:27:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 09:27:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPsJN-0001D2-0n; Thu, 03 May 2012 09:26:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPsJL-0001Cx-Rg
	for xen-devel@lists.xen.org; Thu, 03 May 2012 09:26:56 +0000
Received: from [85.158.139.83:51408] by server-11.bemta-5.messagelabs.com id
	FB/A1-12959-F5F42AF4; Thu, 03 May 2012 09:26:55 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336037213!22685336!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24421 invoked from network); 3 May 2012 09:26:54 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 09:26:54 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 10:26:52 +0100
Message-Id: <4FA26B7C0200007800081502@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 10:26:52 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Eddie Dong" <eddie.dong@intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Jun Nakajima <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 02:25, "Dong, Eddie" <eddie.dong@intel.com> wrote:
>> >>
>> >> Jun, Eddie - I further wonder why #OF is not being handled according
>> >> to the documentation here either (should also result in
>> >> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
>> >> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
>> >> should be annotated with a comment saying why fall-through is
>> >> intended here). Nor does the documentation state that TRAP_debug
>> >> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
>> >
>> > Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF &
>> #BP,
>> > It seems we are slightly different here. Let me check w/ internal person.
>> 
>> Thanks.
> 
> The TRAP_debug should not use SW_EXCEPTION, it should use HW_EXCEPTION
> Per SDM and confirmation from our HW guys. We will send fixes soon.

Please also have the opcode 0xF1 generated #DB addressed in
whatever is the appropriate way.

>> >> Finally, the whole injection logic (including the patch here) doesn't
>> >> appear to cope with INT nn being used by a guest with nn < 32, nor
>> >
>> > The original code path works for the privilege violation introduced
>> > exceptions,
>> > It seems we probbaly need a new code for INT n emulation for both
>> interrupt &
>> > exceptions.
>> 
>> Indeed.
> 
> This API vmx_inject_hw_exception is never intended to be used for INT nn 
> emulation,
> Rather it is designed for the exceptions generated by processor-detected 
> program-error exceptions and machine check exceptions.
> 
> If the purpose of Aravindh's patch is for INT nn emulation (CD nn), it is 
> incorrect. We need a new API for that purpose, and use software interrupt.
> Of course, for INTO & INT 3 (CE & CC), we should use SW_EXCEPTION as SDM 
> mentioned.

I'm sure he took it to be the correct one because it previously
handled #BP too.

>> >> with any (pointless) prefixes used on INT3 or INT nn.
>> >>
>> > What specific prefix do u mean here?
>> 
>> Anyone except perhaps LOCK - none of them should have any effect
>> other than making the instruction longer.
>> 
> LOCK can never be used as prefix of INT nn instruction, nor can REPx prefix.
> Can you provide more details as for this concern?

The only prefix that is documented to cause #UD here is LOCK. All
other prefixes should consequently be considered ignored, and so
should the emulation do (and properly handle resulting instruction
lengths).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 09:27:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 09:27:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPsJN-0001D2-0n; Thu, 03 May 2012 09:26:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPsJL-0001Cx-Rg
	for xen-devel@lists.xen.org; Thu, 03 May 2012 09:26:56 +0000
Received: from [85.158.139.83:51408] by server-11.bemta-5.messagelabs.com id
	FB/A1-12959-F5F42AF4; Thu, 03 May 2012 09:26:55 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336037213!22685336!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24421 invoked from network); 3 May 2012 09:26:54 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 09:26:54 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 10:26:52 +0100
Message-Id: <4FA26B7C0200007800081502@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 10:26:52 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Eddie Dong" <eddie.dong@intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Jun Nakajima <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 02:25, "Dong, Eddie" <eddie.dong@intel.com> wrote:
>> >>
>> >> Jun, Eddie - I further wonder why #OF is not being handled according
>> >> to the documentation here either (should also result in
>> >> X86_EVENTTYPE_SW_EXCEPTION). And the fall-through from
>> >> TRAP_debug to TRAP_int3 is suspicious too (at the very minimum it
>> >> should be annotated with a comment saying why fall-through is
>> >> intended here). Nor does the documentation state that TRAP_debug
>> >> should ever result in X86_EVENTTYPE_SW_EXCEPTION.
>> >
>> > Mmm, SDM requires us to use X86_EVENTTYPE_SW_EXCEPTION for #OF &
>> #BP,
>> > It seems we are slightly different here. Let me check w/ internal person.
>> 
>> Thanks.
> 
> The TRAP_debug should not use SW_EXCEPTION, it should use HW_EXCEPTION
> Per SDM and confirmation from our HW guys. We will send fixes soon.

Please also have the opcode 0xF1 generated #DB addressed in
whatever is the appropriate way.

>> >> Finally, the whole injection logic (including the patch here) doesn't
>> >> appear to cope with INT nn being used by a guest with nn < 32, nor
>> >
>> > The original code path works for the privilege violation introduced
>> > exceptions,
>> > It seems we probbaly need a new code for INT n emulation for both
>> interrupt &
>> > exceptions.
>> 
>> Indeed.
> 
> This API vmx_inject_hw_exception is never intended to be used for INT nn 
> emulation,
> Rather it is designed for the exceptions generated by processor-detected 
> program-error exceptions and machine check exceptions.
> 
> If the purpose of Aravindh's patch is for INT nn emulation (CD nn), it is 
> incorrect. We need a new API for that purpose, and use software interrupt.
> Of course, for INTO & INT 3 (CE & CC), we should use SW_EXCEPTION as SDM 
> mentioned.

I'm sure he took it to be the correct one because it previously
handled #BP too.

>> >> with any (pointless) prefixes used on INT3 or INT nn.
>> >>
>> > What specific prefix do u mean here?
>> 
>> Anyone except perhaps LOCK - none of them should have any effect
>> other than making the instruction longer.
>> 
> LOCK can never be used as prefix of INT nn instruction, nor can REPx prefix.
> Can you provide more details as for this concern?

The only prefix that is documented to cause #UD here is LOCK. All
other prefixes should consequently be considered ignored, and so
should the emulation do (and properly handle resulting instruction
lengths).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:01:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:01:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPsqc-0001VJ-3h; Thu, 03 May 2012 10:01:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPsqY-0001VE-Uk
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:01:15 +0000
Received: from [85.158.143.35:9429] by server-1.bemta-4.messagelabs.com id
	42/1E-20925-A6752AF4; Thu, 03 May 2012 10:01:14 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336039263!14560293!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4994 invoked from network); 3 May 2012 10:01:04 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-13.tower-21.messagelabs.com with SMTP;
	3 May 2012 10:01:04 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPsqK-0005l8-Ec; Thu, 03 May 2012 10:01:02 +0000
Message-ID: <4FA25752.8010807@canonical.com>
Date: Thu, 03 May 2012 12:00:50 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA22BF8.2050409@canonical.com>
In-Reply-To: <4FA22BF8.2050409@canonical.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4024771420858992763=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============4024771420858992763==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig44CE6C0905155E36B06E265B"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig44CE6C0905155E36B06E265B
Content-Type: multipart/mixed;
 boundary="------------060305080106050804080206"

This is a multi-part message in MIME format.
--------------060305080106050804080206
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 08:55, Stefan Bader wrote:
> On 03.05.2012 00:09, Boris Ostrovsky wrote:
>> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
>>> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>>>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>>>> index a8f8844..d816448 100644
>>>>>>> --- a/arch/x86/xen/enlighten.c
>>>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>>>   {
>>>>>>> -    return 0;
>>>>>>> +    struct xen_platform_op op =3D {
>>>>>>> +        .cmd =3D XENPF_get_cpuinfo,
>>>>>>> +        .interface_version =3D XENPF_INTERFACE_VERSION,
>>>>>>> +        .u.pcpu_info.xen_cpuid =3D 0,
>>>>>>
>>>>>>
>>>>>> Is this always zero? This will probably solve the current problem
>>>>>
>>>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>>>
>>>> Why not use CPU number instead of zero here?
>>>
>>> The issue was only with the bootup CPU - so was using the Xen's
>>> bootup CPU number - which is zero (as is Linux's).
>>
>> I agree that for this particular problem this may be sufficient.
>>
>> My concern is that in the future someone may decide to use apic_read(A=
PIC_ID) or
>> read_apic_id() for some other purpose and they won't get expected resu=
lt (i.e.
>> on all CPUs they will get the same answer).
>>
>>>
>>>>
>>>>>
>>>>>> but I am wondering whether in the future we might hit another bug
>>>>>> because this routine will return the same APICID for all VCPUs.
>>>>>
>>>>>   Later on it does a check for 'smp_processor_id()' - and if
>>>>> that is anything but zero it will bail out.
>>>>
>>>> Can you point me to the check you are referring to?
>>>
>>> if (!xen_initial_domain() || smp_processor_id())
>>
>> I don't see this line --- neither in the mainline nor in your kernel. =
Which
>> kernel and which routine is this in?
>=20
> This is in the inline patch Konrad asked me to check.
>>
>> BTW, this patch doesn't quite work, xen-acpi-processor driver fails to=
 load with
>> the same error as before. I'll look at this tomorrow more carefully.
>=20
> It does fail but at least for me it seems slightly different. I do the =
modprobe
> after turning on all acpi debugging levels and layers. And without any =
change
> there are queries visible. With that patch the driver just fails but th=
ere are
> no queries. I plan to have another go with messages sprinkled to all ex=
it paths
> today, too (was just a bit too late and two pints later yesterday).

Gah! Once you do it right... It *does* fail the exactly same way and ther=
e are
some acpi debug messages...

>=20
>=20
> -Stefan
>>
>>
>> -boris
>>
>>>
>>>
>>>>
>>>> -boris
>>>>
>>>>
>>>>>
>>>>> So this shoudl solve the problem for the bootup processor.
>>>>>>
>>>>>> -boris
>>>>>>
>>>>>>
>>>>>>> +    };
>>>>>>> +    int ret =3D 0;
>>>>>>> +
>>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we =
only
>>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>>> +        return 0x10;
>>>>>>> +
>>>>>>> +    if (reg !=3D APIC_ID)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>>> +    if (ret)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>>   }
>>>>>>>
>>>>>>>   static void xen_apic_write(u32 reg, u32 val)
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Xen-devel mailing list
>>>> Xen-devel@lists.xen.org
>>>> http://lists.xen.org/xen-devel
>>>
>>
>>
>=20
>=20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


--------------060305080106050804080206
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.4"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.4"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (root@gomeisa) (gcc version=
 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg4 SMP Thu May 3 09:28:4=
7 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg4-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.196 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.39 BogoMIPS (lpj=3D8000784)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.007694] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.016580] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019111] Mount-cache hash table entries: 256
[    0.019360] Initializing cgroup subsys cpuacct
[    0.019372] Initializing cgroup subsys memory
[    0.019391] Initializing cgroup subsys devices
[    0.019397] Initializing cgroup subsys freezer
[    0.019402] Initializing cgroup subsys blkio
[    0.019419] Initializing cgroup subsys perf_event
[    0.019493] tseg: 00dff00000
[    0.019500] CPU: Physical Processor ID: 0
[    0.019504] CPU: Processor Core ID: 0
[    0.022409] ACPI: Core revision 20110623
[    0.038591] ftrace: allocating 27102 entries in 107 pages
[    0.040131] cpu 0 spinlock event irq 273
[    0.040232] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040494] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040624] installing Xen timer for CPU 1
[    0.040642] cpu 1 spinlock event irq 279
[    0.040844] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040967] installing Xen timer for CPU 2
[    0.040986] cpu 2 spinlock event irq 285
[    0.041142] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041258] installing Xen timer for CPU 3
[    0.041273] cpu 3 spinlock event irq 291
[    0.041435] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041552] installing Xen timer for CPU 4
[    0.041568] cpu 4 spinlock event irq 297
[    0.041752] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041878] installing Xen timer for CPU 5
[    0.041894] cpu 5 spinlock event irq 303
[    0.042056] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042171] installing Xen timer for CPU 6
[    0.042188] cpu 6 spinlock event irq 309
[    0.042343] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042459] installing Xen timer for CPU 7
[    0.042474] cpu 7 spinlock event irq 315
[    0.042633] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042665] Brought up 8 CPUs
[    0.042894] devtmpfs: initialized
[    0.045534] EVM: security.selinux
[    0.045539] EVM: security.SMACK64
[    0.045543] EVM: security.capability
[    0.045619] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045619] Grant table initialized
[    0.045619] print_constraints: dummy:=20
[    0.045619] RTC time:  9:53:40, date: 05/03/12
[    0.045619] NET: Registered protocol family 16
[    0.045619] Trying to unpack rootfs image as initramfs...
[    0.060271] node 0 link 0: io port [1000, ffffff]
[    0.060287] TOM: 00000000e0000000 aka 3584M
[    0.060294] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060304] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060313] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060321] node 0 link 0: mmio [a0000, bffff]
[    0.060329] TOM2: 0000000820000000 aka 33280M
[    0.060334] bus: [00, 1f] on node 0 link 0
[    0.060339] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060344] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060348] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060353] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060380] Extended Config Space enabled on 2 nodes
[    0.060554] ACPI: bus type pci registered
[    0.060657] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060666] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.175327] Freeing initrd memory: 40072k freed
[    0.220228] PCI: Using configuration type 1 for base access
[    0.221784] bio: create slab <bio-0> at 0
[    0.221784] ACPI: Added _OSI(Module Device)
[    0.221784] ACPI: Added _OSI(Processor Device)
[    0.221784] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221784] ACPI: Added _OSI(Processor Aggregator Device)
[    0.226175] ACPI: EC: Look up EC in DSDT
[    0.230647] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253676] ACPI: Interpreter enabled
[    0.253686] ACPI: (supports S0 S1 S4 S5)
[    0.253731] ACPI: Using IOAPIC for interrupt routing
[    0.267252] ACPI: No dock devices found.
[    0.267315] HEST: Table parsing has been initialized.
[    0.267323] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267657] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268216] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268223] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268230] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268236] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268242] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268283] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268477] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268684] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268800] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268809] pci 0000:00:09.0: PME# disabled
[    0.268851] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.268998] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.269006] pci 0000:00:0a.0: PME# disabled
[    0.269066] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269103] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269123] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269143] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269163] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269183] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269203] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269312] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269339] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269463] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269490] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269625] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269662] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269820] pci 0000:00:12.2: supports D1 D2
[    0.269825] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269835] pci 0000:00:12.2: PME# disabled
[    0.269874] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269901] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.270024] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270052] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270188] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270225] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270416] pci 0000:00:13.2: supports D1 D2
[    0.270421] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270431] pci 0000:00:13.2: PME# disabled
[    0.270476] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270666] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270810] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270891] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270918] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.271060] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271188] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271250] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271317] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271407] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271520] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271637] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271700] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271798] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271891] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272016] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272016] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272016] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272031] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272042] pci 0000:03:00.0: PME# disabled
[    0.280057] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280071] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280080] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280205] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280240] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280285] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280309] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280490] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280501] pci 0000:02:00.0: PME# disabled
[    0.288056] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288069] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288078] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288145] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288184] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288207] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288229] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288438] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288452] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288463] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288469] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288475] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288482] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288489] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288495] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288542] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288960] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289033] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289146] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289355]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289363]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289369] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307491] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307629] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307762] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.307900] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.308018] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.308121] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308256] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308427] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308499] xen/balloon: Initialising balloon driver.
[    0.351637] xen-balloon: Initialising balloon driver.
[    0.351668] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.351833] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.351833] vgaarb: loaded
[    0.351833] vgaarb: bridge control possible 0000:01:04.0
[    0.351833] i2c-core: driver [aat2870] using legacy suspend method
[    0.351833] i2c-core: driver [aat2870] using legacy resume method
[    0.352090] SCSI subsystem initialized
[    0.352162] libata version 3.00 loaded.
[    0.352162] usbcore: registered new interface driver usbfs
[    0.352166] usbcore: registered new interface driver hub
[    0.352203] usbcore: registered new device driver usb
[    0.352203] PCI: Using ACPI for IRQ routing
[    0.356021] PCI: pci_cache_line_size set to 64 bytes
[    0.356021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.356021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.356021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.356116] NetLabel: Initializing
[    0.356120] NetLabel:  domain hash size =3D 128
[    0.356125] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.356142] NetLabel:  unlabeled traffic allowed by default
[    0.356221] Switching to clocksource xen
[    0.365440] AppArmor: AppArmor Filesystem Enabled
[    0.365478] pnp: PnP ACPI init
[    0.365499] ACPI: bus type pnp registered
[    0.365890] pnp 00:00: [bus 00-ff]
[    0.365895] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.365901] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.365906] pnp 00:00: [io  0x0d00-0xffff window]
[    0.365911] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.365916] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.365922] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.365927] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.366052] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.366323] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366330] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366407] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.366585] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.366646] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.366654] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.367333] pnp 00:03: [dma 4]
[    0.367337] pnp 00:03: [io  0x0000-0x000f]
[    0.367342] pnp 00:03: [io  0x0081-0x0083]
[    0.367347] pnp 00:03: [io  0x0087]
[    0.367351] pnp 00:03: [io  0x0089-0x008b]
[    0.367356] pnp 00:03: [io  0x008f]
[    0.367360] pnp 00:03: [io  0x00c0-0x00df]
[    0.367418] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.367445] pnp 00:04: [io  0x0070-0x0071]
[    0.367452] xen: registering gsi 8 triggering 1 polarity 0
[    0.367462] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.367467] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.367485] pnp 00:04: [irq 8]
[    0.367541] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.367612] pnp 00:05: [io  0x0060]
[    0.367617] pnp 00:05: [io  0x0064]
[    0.367621] xen: registering gsi 1 triggering 1 polarity 0
[    0.367627] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.367632] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.367645] pnp 00:05: [irq 1]
[    0.367700] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.367814] xen: registering gsi 12 triggering 1 polarity 0
[    0.367820] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.367825] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.367842] pnp 00:06: [irq 12]
[    0.367901] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.367922] pnp 00:07: [io  0x0061]
[    0.367979] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.368001] pnp 00:08: [io  0x00f0-0x00ff]
[    0.368006] xen: registering gsi 13 triggering 1 polarity 0
[    0.368011] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.368016] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.368029] pnp 00:08: [irq 13]
[    0.368059] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.368059] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368059] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368059] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.368394] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.368402] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.368494] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.368555] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.368856] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.368862] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.368944] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.368951] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.368958] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.369454] pnp 00:0c: [io  0x0010-0x001f]
[    0.369460] pnp 00:0c: [io  0x0022-0x003f]
[    0.369464] pnp 00:0c: [io  0x0062-0x0063]
[    0.369469] pnp 00:0c: [io  0x0065-0x006f]
[    0.369473] pnp 00:0c: [io  0x0072-0x007f]
[    0.369477] pnp 00:0c: [io  0x0080]
[    0.369482] pnp 00:0c: [io  0x0084-0x0086]
[    0.369486] pnp 00:0c: [io  0x0088]
[    0.369490] pnp 00:0c: [io  0x008c-0x008e]
[    0.369495] pnp 00:0c: [io  0x0090-0x009f]
[    0.369499] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.369503] pnp 00:0c: [io  0x00b1]
[    0.369508] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.369512] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.369517] pnp 00:0c: [io  0x0550-0x0551]
[    0.369521] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.369526] pnp 00:0c: [io  0x040b]
[    0.369530] pnp 00:0c: [io  0x04d6]
[    0.369534] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.369538] pnp 00:0c: [io  0x0c14]
[    0.369542] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.369547] pnp 00:0c: [io  0x0c52]
[    0.369551] pnp 00:0c: [io  0x0c6c]
[    0.369555] pnp 00:0c: [io  0x0c6f]
[    0.369559] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.369564] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.369568] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.369573] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.369577] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.369581] pnp 00:0c: [io  0x0800-0x089f]
[    0.369586] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.369591] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.369596] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.369600] pnp 00:0c: [io  0x0900-0x090f]
[    0.369605] pnp 00:0c: [io  0x0910-0x091f]
[    0.369609] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.369614] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.369619] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.369624] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.369631] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.369775] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.369781] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.369787] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.369793] system 00:0c: [io  0x040b] has been reserved
[    0.369798] system 00:0c: [io  0x04d6] has been reserved
[    0.369804] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.369810] system 00:0c: [io  0x0c14] has been reserved
[    0.369815] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.369821] system 00:0c: [io  0x0c52] has been reserved
[    0.369826] system 00:0c: [io  0x0c6c] has been reserved
[    0.369832] system 00:0c: [io  0x0c6f] has been reserved
[    0.369837] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.369843] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.369849] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.369855] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.369861] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.369870] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.369876] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.369882] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.369888] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.369893] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.369900] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.369906] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.369913] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.369920] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370470] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.370475] xen: registering gsi 4 triggering 1 polarity 0
[    0.370481] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.370486] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.370499] pnp 00:0d: [irq 4]
[    0.370503] pnp 00:0d: [dma 0 disabled]
[    0.370627] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371202] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.371207] xen: registering gsi 3 triggering 1 polarity 0
[    0.371212] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.371217] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.371221] Already setup the GSI :3
[    0.371226] pnp 00:0e: [irq 3]
[    0.371230] pnp 00:0e: [dma 0 disabled]
[    0.371350] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371492] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.371574] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.371582] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372549] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.372555] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.372560] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.372565] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.372573] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.372673] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.372679] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.372686] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.372692] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.372698] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.372706] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.373005] pnp: PnP ACPI: found 17 devices
[    0.373009] ACPI: ACPI bus type pnp unregistered
[    0.380350] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.380377] PCI: max bus depth: 1 pci_try_num: 2
[    0.380428] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.380436] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.380446] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.380460] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.380467] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.380477] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.380491] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.380502] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.380512] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.380536] xen: registering gsi 17 triggering 0 polarity 1
[    0.380554] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.380569] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.380579] pci 0000:00:09.0: setting latency timer to 64
[    0.380590] xen: registering gsi 18 triggering 0 polarity 1
[    0.380600] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.380613] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.380622] pci 0000:00:0a.0: setting latency timer to 64
[    0.380638] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.380643] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.380648] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380654] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380660] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380665] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.380671] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.380677] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.380683] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.380689] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.380696] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.380702] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.380707] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.380713] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380719] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380725] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380782] NET: Registered protocol family 2
[    0.382871] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.388135] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.391365] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.391707] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.391714] TCP reno registered
[    0.391839] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.392140] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.392395] NET: Registered protocol family 1
[    0.392455] xen: registering gsi 16 triggering 0 polarity 1
[    0.392478] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.392499] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.120169] pci 0000:00:12.0: PCI INT A disabled
[    1.120201] xen: registering gsi 16 triggering 0 polarity 1
[    1.120215] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.120220] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.120225] Already setup the GSI :16
[    1.120232] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.204174] pci 0000:00:12.1: PCI INT A disabled
[    1.204207] xen: registering gsi 17 triggering 0 polarity 1
[    1.204221] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.204226] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.204231] Already setup the GSI :17
[    1.204237] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.204371] pci 0000:00:12.2: PCI INT B disabled
[    1.204387] xen: registering gsi 18 triggering 0 polarity 1
[    1.204392] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.204397] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.204401] Already setup the GSI :18
[    1.204406] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.288185] pci 0000:00:13.0: PCI INT A disabled
[    1.288216] xen: registering gsi 18 triggering 0 polarity 1
[    1.288229] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.288234] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.288239] Already setup the GSI :18
[    1.288245] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.372178] pci 0000:00:13.1: PCI INT A disabled
[    1.372211] xen: registering gsi 19 triggering 0 polarity 1
[    1.372237] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.372256] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.372390] pci 0000:00:13.2: PCI INT B disabled
[    1.372416] xen: registering gsi 18 triggering 0 polarity 1
[    1.372422] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.372426] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.372431] Already setup the GSI :18
[    1.372435] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.456173] pci 0000:00:14.5: PCI INT C disabled
[    1.456259] pci 0000:01:04.0: Boot video device
[    1.456267] PCI: CLS 64 bytes, default 64
[    1.457343] audit: initializing netlink socket (disabled)
[    1.457362] type=3D2000 audit(1336038821.847:1): initialized
[    1.485577] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.487788] VFS: Disk quotas dquot_6.5.2
[    1.487868] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.488563] fuse init (API version 7.17)
[    1.488737] msgmni has been set to 1479
[    1.489458] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.489514] io scheduler noop registered
[    1.489519] io scheduler deadline registered
[    1.489561] io scheduler cfq registered (default)
[    1.490010] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.490046] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.490266] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.490277] ACPI: Power Button [PWRB]
[    1.490337] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.490345] ACPI: Power Button [PWRF]
[    1.688912] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.689037] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.689211] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.689634] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.693393] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.812124] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.832536] hpet_acpi_add: no address or irqs in _CRS
[    1.832555] Linux agpgart interface v0.103
[    1.836328] brd: module loaded
[    1.837212] loop: module loaded
[    1.837590] ahci 0000:00:11.0: version 3.0
[    1.837625] xen: registering gsi 22 triggering 0 polarity 1
[    1.837648] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.837666] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.837891] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.837900] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.838864] scsi0 : ahci
[    1.838982] scsi1 : ahci
[    1.839077] scsi2 : ahci
[    1.839173] scsi3 : ahci
[    1.839275] scsi4 : ahci
[    1.839371] scsi5 : ahci
[    1.840311] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.840319] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.840327] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.840334] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.840341] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.840348] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.840881] Fixed MDIO Bus: probed
[    1.840909] tun: Universal TUN/TAP device driver, 1.6
[    1.840918] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.840983] PPP generic driver version 2.4.2
[    1.841100] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.841193] xen: registering gsi 17 triggering 0 polarity 1
[    1.841202] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.841207] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.841212] Already setup the GSI :17
[    1.841218] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.841252] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.841336] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.841353] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.841452] ehci_hcd 0000:00:12.2: debug port 1
[    1.841502] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.852094] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.852291] hub 1-0:1.0: USB hub found
[    1.852299] hub 1-0:1.0: 6 ports detected
[    1.852485] xen: registering gsi 19 triggering 0 polarity 1
[    1.852493] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.852498] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.852503] Already setup the GSI :19
[    1.852508] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.852542] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.852618] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.852633] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.852708] ehci_hcd 0000:00:13.2: debug port 1
[    1.852763] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.864098] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.864308] hub 2-0:1.0: USB hub found
[    1.864316] hub 2-0:1.0: 6 ports detected
[    1.864439] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.864560] xen: registering gsi 16 triggering 0 polarity 1
[    1.864569] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.864574] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.864578] Already setup the GSI :16
[    1.864584] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.864618] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.864685] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.864754] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.924286] hub 3-0:1.0: USB hub found
[    1.924301] hub 3-0:1.0: 3 ports detected
[    1.924456] xen: registering gsi 16 triggering 0 polarity 1
[    1.924464] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.924468] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.924473] Already setup the GSI :16
[    1.924478] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.924513] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.924582] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.924626] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    1.984287] hub 4-0:1.0: USB hub found
[    1.984301] hub 4-0:1.0: 3 ports detected
[    1.984451] xen: registering gsi 18 triggering 0 polarity 1
[    1.984458] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.984463] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.984468] Already setup the GSI :18
[    1.984473] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.984508] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    1.984579] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    1.984646] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.044274] hub 5-0:1.0: USB hub found
[    2.044288] hub 5-0:1.0: 3 ports detected
[    2.044439] xen: registering gsi 18 triggering 0 polarity 1
[    2.044447] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.044452] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.044456] Already setup the GSI :18
[    2.044462] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.044496] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.044569] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.044609] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.104298] hub 6-0:1.0: USB hub found
[    2.104314] hub 6-0:1.0: 3 ports detected
[    2.104504] xen: registering gsi 18 triggering 0 polarity 1
[    2.104512] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.104517] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.104522] Already setup the GSI :18
[    2.104527] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.104561] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.104633] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.104684] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.160242] ata5: SATA link down (SStatus 0 SControl 300)
[    2.164415] hub 7-0:1.0: USB hub found
[    2.164430] hub 7-0:1.0: 2 ports detected
[    2.164530] uhci_hcd: USB Universal Host Controller Interface driver
[    2.164625] usbcore: registered new interface driver libusual
[    2.164682] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.167602] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.167614] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.167777] mousedev: PS/2 mouse device common for all mice
[    2.167985] rtc_cmos 00:04: RTC can wake from S4
[    2.168223] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.168275] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.168379] device-mapper: uevent: version 1.0.3
[    2.168474] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.168487] EFI Variables Facility v0.08 2004-May-17
[    2.168807] TCP cubic registered
[    2.168939] NET: Registered protocol family 10
[    2.169670] NET: Registered protocol family 17
[    2.169694] Registering the dns_resolver key type
[    2.169917] PM: Hibernation image not present or could not be loaded.
[    2.169934] registered taskstats version 1
[    2.176089] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.187946]   Magic number: 12:509:878
[    2.188144] rtc_cmos 00:04: setting system clock to 2012-05-03 09:53:4=
2 UTC (1336038822)
[    2.188276] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.188374] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.188379] EDD information not available.
[    2.200605] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.314893] Initializing USB Mass Storage driver...
[    2.315113] scsi6 : usb-storage 2-2:1.0
[    2.315224] usbcore: registered new interface driver usb-storage
[    2.315230] USB Mass Storage support registered.
[    2.332119] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.332156] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332191] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332222] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332246] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332694] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.333246] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333255] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333273] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333281] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333299] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333309] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333413] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333420] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333543] ata6.00: configured for UDMA/100
[    2.334451] ata1.00: configured for UDMA/133
[    2.334636] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.334792] ata4.00: configured for UDMA/133
[    2.334824] ata3.00: configured for UDMA/133
[    2.334866] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.334915] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.334938] ata2.00: configured for UDMA/133
[    2.335015] sd 0:0:0:0: [sda] Write Protect is off
[    2.335024] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.335061] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.335194] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.335396] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.335416] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.335501] sd 1:0:0:0: [sdb] Write Protect is off
[    2.335509] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.335557] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.335702] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.335883] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.335917] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.335981] sd 2:0:0:0: [sdc] Write Protect is off
[    2.335987] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.336106] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.336258] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.336265] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.336355] sd 3:0:0:0: [sdd] Write Protect is off
[    2.336362] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.336367] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.336408] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.337308] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.340918] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.340927] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.341087] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.341196] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.341647]  sdb: sdb1 sdb2
[    2.342067] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.347291]  sdd: unknown partition table
[    2.347568] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.350641]  sdc: unknown partition table
[    2.350926] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.455361]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.457499] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.458052] Freeing unused kernel memory: 920k freed
[    2.458379] Write protecting the kernel read-only data: 12288k
[    2.465974] Freeing unused kernel memory: 1520k freed
[    2.467147] Freeing unused kernel memory: 1140k freed
[    2.532778] udevd[166]: starting version 175
[    2.586556] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.586566] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.586899] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.586929] xen: registering gsi 17 triggering 0 polarity 1
[    2.586979] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.586985] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.586991] Already setup the GSI :17
[    2.586997] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.587033] e1000e 0000:03:00.0: setting latency timer to 64
[    2.684119] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.711875] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.711884] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.711969] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.712119] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.712148] xen: registering gsi 18 triggering 0 polarity 1
[    2.712159] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.712164] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.712170] Already setup the GSI :18
[    2.712176] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.712208] e1000e 0000:02:00.0: setting latency timer to 64
[    2.826232] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.826241] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.826326] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.862464] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.862705] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.866427] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.866568] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.866595] usbcore: registered new interface driver usbhid
[    2.866601] usbhid: USB HID core driver
[    3.313116] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.313858] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.314481] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.315095] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.315995] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.316209] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.316399] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.316566] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.321554] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.325956] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.327301] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    3.328099] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    8.680452] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.378393] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.378413] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.406855] udevd[718]: starting version 175
[   15.516929] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.541315] lp: driver loaded but no devices found
[   15.543010] Bridge firewalling registered
[   15.543528] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.545436] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.545583] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.548417] device-mapper: multipath: version 1.3.0 loaded
[   15.554115] ipmi message handler version 39.2
[   15.554771] device eth0 entered promiscuous mode
[   15.554947] ipmi device interface
[   15.561242] IPMI System Interface driver.
[   15.561305] ipmi_si: probing via SMBIOS
[   15.561309] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.561313] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.561321] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.565782] MCE: In-kernel MCE decoding enabled.
[   15.567534] EDAC MC: Ver: 2.1.0
[   15.568886] AMD64 EDAC driver v3.4.0
[   15.569069] EDAC amd64: DRAM ECC enabled.
[   15.569102] EDAC amd64: F10h detected (node 0).
[   15.569180] EDAC MC: DCT0 chip selects:
[   15.569187] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.569190] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.569197] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.569203] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.569206] EDAC MC: DCT1 chip selects:
[   15.569209] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.569212] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.569215] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.569218] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.569221] EDAC amd64: using x8 syndromes.
[   15.569224] EDAC amd64: MCT channel count: 2
[   15.569278] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.569285] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.569288] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.569291] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.569422] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.571018] EDAC amd64: DRAM ECC enabled.
[   15.571030] EDAC amd64: F10h detected (node 1).
[   15.571107] EDAC MC: DCT0 chip selects:
[   15.571111] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.571114] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.571117] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.571120] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.571123] EDAC MC: DCT1 chip selects:
[   15.571126] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.571129] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.571132] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.571135] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.571138] EDAC amd64: using x8 syndromes.
[   15.571141] EDAC amd64: MCT channel count: 2
[   15.571176] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.571179] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.571183] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.571186] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.571257] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.571424] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.606210] type=3D1400 audit(1336038835.913:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D818 comm=3D"appar=
mor_parser"
[   15.606825] type=3D1400 audit(1336038835.913:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D818 comm=3D"apparmor_parser"
[   15.607175] type=3D1400 audit(1336038835.913:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D818 comm=3D"apparmor_parser"
[   15.643062] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.655321] ADDRCONF(NETDEV_UP): br0: link is not ready
[   15.672109] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   15.712684] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   15.713196] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   15.852353] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   15.919391] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.672650] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.200817] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   18.745090] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   18.747436] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   18.747574] br0: port 1(eth0) entering forwarding state
[   18.747591] br0: port 1(eth0) entering forwarding state
[   18.749725] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   21.937790] init: udev-fallback-graphics main process (1840) terminate=
d with status 1
[   22.085550] init: failsafe main process (1723) killed by TERM signal
[   22.198011] type=3D1400 audit(1336038842.505:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1936 comm=3D"apparmor_parser"
[   22.198271] type=3D1400 audit(1336038842.505:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1934 comm=3D"a=
pparmor_parser"
[   22.198526] type=3D1400 audit(1336038842.505:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1937 comm=3D"=
apparmor_parser"
[   22.198897] type=3D1400 audit(1336038842.505:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1934 comm=3D"apparmor_parser"
[   22.199271] type=3D1400 audit(1336038842.505:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1934 comm=3D"apparmor_parser"
[   22.199376] type=3D1400 audit(1336038842.505:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1938 c=
omm=3D"apparmor_parser"
[   22.199727] type=3D1400 audit(1336038842.505:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1938 comm=3D"apparmor_parser"
[   22.200161] type=3D1400 audit(1336038842.509:12): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/tcpdump" pid=3D1940 comm=3D"=
apparmor_parser"
[   22.477708] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   22.722258] ip_tables: (C) 2000-2006 Netfilter Core Team
[   22.823823] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   22.877126] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   23.122997] Event-channel device installed.
[   23.185712] XENBUS: Unable to read cpu state
[   23.185922] XENBUS: Unable to read cpu state
[   23.186113] XENBUS: Unable to read cpu state
[   23.186295] XENBUS: Unable to read cpu state
[   23.186508] XENBUS: Unable to read cpu state
[   23.186669] XENBUS: Unable to read cpu state
[   23.186807] XENBUS: Unable to read cpu state
[   23.186979] XENBUS: Unable to read cpu state
[   23.944659] Ebtables v2.0 registered
[   23.976417] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.644090] br0: no IPv6 routers present
[  205.760461] xen-acpi-processor: Max ACPI ID: 16
[  205.760479]=20
[  205.760480] **** Context Switch from TID 0 to TID 42768112 ****
[  205.760481]=20
[  205.760485] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.760495]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.760504]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.760514]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.760522]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.760530]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.760540]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.760548]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.760557]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.760567]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.760577]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.760595] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.760604]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.760613]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.760622] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P001] (ffff880027d50e88)
[  205.760631] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.760640]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.760656] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.760664] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.760672]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50e88
[  205.760682]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.760690] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P001 (ffff880027d50e88) For [_PSD] (Untyped)
[  205.760701]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.760708]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.760717] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d438 found in scope [P001] ffff880027d50e88=

[  205.760727] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.760736] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.760744] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.760752]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.760762]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.760772]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.760780]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.760788]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.760797] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d438
[  205.760806] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d709d8
[  205.760814]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d438] Value ffff880027d709d8
[  205.760824]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.760832]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.760841]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.760849]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.760859]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.760868]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.760885]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.760894] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.760902] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d438
[  205.760912] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d709d8
[  205.760920]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.760928]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.760937] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d438 SourceDesc=3Dffff880027d709d8 [Package]
[  205.760947]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d709d8
[  205.760955]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.760964] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d709d8
[  205.760973] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d709d8 Current Refs=3D1 [To Be Incremented]
[  205.760982] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d709d8
[  205.760991]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cdf30
[  205.761001]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.761009]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761017]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761025] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d709d8 Refs=3D2, [Incremented]
[  205.761034]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761042]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761050]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761058]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761067]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cdf78
[  205.761075]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.761083]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761091]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761099]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff880027d716c0
[  205.761107]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.761115]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761123]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761131]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff880027d71a68
[  205.761139]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.761148]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761155]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761163]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250ce000
[  205.761171]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.761180]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761187]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761195]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250ce048
[  205.761204]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.761212]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761220]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761228] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cdf30 Refs=3D2, [Incremented]
[  205.761236]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761244]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.761252]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761260]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761268] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250ce048 Refs=3D2, [Incremented]
[  205.761276]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761284]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.761293]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761300]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761308] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250ce000 Refs=3D2, [Incremented]
[  205.761317]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761324]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.761333]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761341]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761349] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d71a68 Refs=3D2, [Incremented]
[  205.761358]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761365]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.761373]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761381]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761389] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d716c0 Refs=3D2, [Incremented]
[  205.761398]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761405]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761414]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761421]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761429] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cdf78 Refs=3D2, [Incremented]
[  205.761438] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.761446] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.761454] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.761462]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.761470]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.761479]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.761488]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.761495]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d709d8 [Package]
[  205.761506]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d438
[  205.761514]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.761524] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P001._PSD Validating return Package of Type 5, Count 1
[  205.761535]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.761544]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.761552] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d709d8
[  205.761561]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.761569]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  205.761577]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.761586]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.761593]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.761601]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250cdf30
[  205.761609]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.761618] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cdf78
[  205.761626] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761634] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff880027d716c0
[  205.761642] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761650] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff880027d71a68
[  205.761658] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761666] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250ce000
[  205.761674] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761682] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250ce048
[  205.761691] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761699]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.761706]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.761714]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.761722]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761730]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.761738]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.761745]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.761753]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.761762]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.761770] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.761779]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.761787]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.761795]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.761803]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  205.761811]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.761819]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.761827]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.761835]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250cdf30
[  205.761843]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.761851]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761859]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761867]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761875]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761883]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761891]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761899]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761907]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761914]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761922]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761930]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.761938]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.761946]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.761953]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761962]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.761969]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.761977]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.761985]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.761993]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.762001]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.762010]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.762018]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.762026]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.762035]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.762044]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.762061]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.762069] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d709d8
[  205.762077] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d709d8 Current Refs=3D2 [To Be Decremented]
[  205.762087] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d709d8
[  205.762095]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cdf30
[  205.762103]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.762112]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762119]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762127] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d709d8 Refs=3D1, [Decremented]
[  205.762136]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762144]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.762152]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762159]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762167]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cdf78
[  205.762175]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.762184]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762192]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762199]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff880027d716c0
[  205.762208]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.762216]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762223]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762231]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff880027d71a68
[  205.762239]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.762248]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762255]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762263]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250ce000
[  205.762271]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.762279]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762287]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762295]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250ce048
[  205.762303]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.762311]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762319]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762327] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cdf30 Refs=3D1, [Decremented]
[  205.762336]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762343]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.762352]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762359]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762367] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250ce048 Refs=3D1, [Decremented]
[  205.762376]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762383]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.762391]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762399]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762407] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250ce000 Refs=3D1, [Decremented]
[  205.762416]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762423]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.762431]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762439]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762447] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71a68 Refs=3D1, [Decremented]
[  205.762455]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762463]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.762471]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762479]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762487] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d716c0 Refs=3D1, [Decremented]
[  205.762495]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762503]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.762511]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762519]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762527] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cdf78 Refs=3D1, [Decremented]
[  205.762535] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.762554] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.762562]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.762570]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.762579]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.762588]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.762596] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.762605] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.762613]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.762621]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.762630]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.762637]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.762645]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.762654]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.762662]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.762670]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.762679]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.762688]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.762705] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.762713]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.762721]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.762729] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P002] (ffff880027d50eb0)
[  205.762738] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.762746]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.762760] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.762768] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.762776]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50eb0
[  205.762784]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.762792] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P002 (ffff880027d50eb0) For [_PSD] (Untyped)
[  205.762802]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.762810]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.762818] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d500 found in scope [P002] ffff880027d50eb0=

[  205.762828] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.762836] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.762844] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.762852]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.762861]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.762870]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.762878]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.762886]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.762894] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d500
[  205.762903] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70b40
[  205.762911]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d500] Value ffff880027d70b40
[  205.762920]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.762928]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.762936]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.762944]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.762953]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.762962]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.762979]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.762987] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.762995] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d500
[  205.763003] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70b40
[  205.763012]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.763019]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.763028] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d500 SourceDesc=3Dffff880027d70b40 [Package]
[  205.763037]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70b40
[  205.763045]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.763053] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70b40
[  205.763061] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70b40 Current Refs=3D1 [To Be Incremented]
[  205.763070] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70b40
[  205.763078]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfd38
[  205.763086]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.763095]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763102]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763110] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70b40 Refs=3D2, [Incremented]
[  205.763119]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763126]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.763134]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763142]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763150]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfd80
[  205.763158]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.763167]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763174]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763182]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfdc8
[  205.763190]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.763199]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763206]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763214]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfe10
[  205.763222]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.763230]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763238]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763246]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfe58
[  205.763254]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.763262]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763270]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763278]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfea0
[  205.763286]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.763294]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763302]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763310] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfd38 Refs=3D2, [Incremented]
[  205.763318]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763326]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.763334]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763342]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763350] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfea0 Refs=3D2, [Incremented]
[  205.763358]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763366]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.763375]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763382]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763390] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfe58 Refs=3D2, [Incremented]
[  205.763399]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763406]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.763415]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763422]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763430] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfe10 Refs=3D2, [Incremented]
[  205.763439]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763446]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.763455]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763462]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763470] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfdc8 Refs=3D2, [Incremented]
[  205.763479]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763487]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.763495]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763503]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763510] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfd80 Refs=3D2, [Incremented]
[  205.763519] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.763527] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.763535] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.763543]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.763551]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.763560]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.763568]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.763576]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70b40 [Package]
[  205.763586]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d500
[  205.763594]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.763603] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P002._PSD Validating return Package of Type 5, Count 1
[  205.763612]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.763620]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.763629] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70b40
[  205.763637]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.763645]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  205.763653]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.763661]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.763669]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.763677]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250cfd38
[  205.763685]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.763693] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfd80
[  205.763701] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763709] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfdc8
[  205.763718] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763726] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfe10
[  205.763734] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763742] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfe58
[  205.763750] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763758] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfea0
[  205.763766] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763774]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.763782]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.763789]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.763797]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.763805]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.763813]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.763821]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.763828]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.763837]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.763845] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.763853]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.763861]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.763869]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.763877]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  205.763885]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.763893]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.763901]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.763909]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250cfd38
[  205.763917]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.763925]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763933]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763941]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763949]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763957]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763964]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763972]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763980]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763988]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763996]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764004]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764012]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764019]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764027]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764035]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764043]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764056]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70b40
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70b40 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70b40
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfd38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70b40 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfd80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfdc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfe10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfe58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfd38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfe58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfe10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfdc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfd80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P003] (ffff880027d50ed8)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50ed8
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P003 (ffff880027d50ed8) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d5c8 found in scope [P003] ffff880027d50ed8=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d5c8
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70ca8
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d5c8] Value ffff880027d70ca8
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d5c8
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70ca8
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d5c8 SourceDesc=3Dffff880027d70ca8 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70ca8
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70ca8
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70ca8 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70ca8
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70ca8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70ca8 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d5c8
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P003._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70ca8
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70ca8
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70ca8 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70ca8
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70ca8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P004] (ffff880027d50f00)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f00
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P004 (ffff880027d50f00) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d690 found in scope [P004] ffff880027d50f00=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d690
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70e10
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d690] Value ffff880027d70e10
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d690
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70e10
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d690 SourceDesc=3Dffff880027d70e10 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70e10
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70e10
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70e10 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70e10
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70e10 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d690
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P004._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70e10
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70e10
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70e10 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70e10
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P005] (ffff880027d50f28)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f28
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P005 (ffff880027d50f28) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d758 found in scope [P005] ffff880027d50f28=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d758
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70f78
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d758] Value ffff880027d70f78
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d758
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70f78
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d758 SourceDesc=3Dffff880027d70f78 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70f78
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70f78
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70f78 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70f78
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70f78 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70f78 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d758
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P005._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70f78
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70f78
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70f78 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70f78
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70f78 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P006] (ffff880027d50f50)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f50
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P006 (ffff880027d50f50) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d820 found in scope [P006] ffff880027d50f50=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d820
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d710d8
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d820] Value ffff880027d710d8
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d820
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d710d8
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d820 SourceDesc=3Dffff880027d710d8 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d710d8
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d710d8
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d710d8 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d710d8
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d710d8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d710d8 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d820
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P006._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d710d8
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d710d8
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d710d8 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d710d8
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d710d8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P007] (ffff880027d50f78)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f78
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P007 (ffff880027d50f78) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d8e8 found in scope [P007] ffff880027d50f78=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d8e8
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d71288
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d8e8] Value ffff880027d71288
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d8e8
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d71288
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.772639]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.772647] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d8e8 SourceDesc=3Dffff880027d71288 [Package]
[  205.772657]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d71288
[  205.772665]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.772673] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d71288
[  205.772682] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d71288 Current Refs=3D1 [To Be Incremented]
[  205.772692] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d71288
[  205.772712]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  205.772731]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.772752]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.772770]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.772790] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d71288 Refs=3D2, [Incremented]
[  205.772811]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.772828]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.772846]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.772863]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.772881]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  205.772901]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.772919]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.772937]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.772956]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  205.772973]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.772990]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773007]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773027]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  205.773044]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.773064]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773083]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773103]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  205.773122]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.773144]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773160]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773176]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  205.773195]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.773212]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773230]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773245] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9d38 Refs=3D2, [Incremented]
[  205.773269]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773287]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.773305]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773321]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773339] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9ea0 Refs=3D2, [Incremented]
[  205.773359]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773378]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.773394]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773413]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773430] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9e58 Refs=3D2, [Incremented]
[  205.773448]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773465]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.773486]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773503]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773517] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9e10 Refs=3D2, [Incremented]
[  205.773539]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773558]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.773575]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773592]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773610] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9dc8 Refs=3D2, [Incremented]
[  205.773629]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773647]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.773665]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773681]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773697] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9d80 Refs=3D2, [Incremented]
[  205.773705] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.773713] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.773721] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.773730]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.773738]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.773747]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.773757]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.773765]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d71288 [Package]
[  205.773775]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d8e8
[  205.773783]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.773792] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P007._PSD Validating return Package of Type 5, Count 1
[  205.773802]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.773811]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.773819] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d71288
[  205.773828]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.773836]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  205.773845]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.773853]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.773861]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.773869]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  205.773878]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.773886] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9d80
[  205.773895] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.773904] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9dc8
[  205.773912] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.773921] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e10
[  205.773935] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.773958] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e58
[  205.773982] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.774004] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9ea0
[  205.774028] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.774051]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.774076]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.774093]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.774113]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.774130]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.774148]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.774164]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.774183]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.774201]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.774215] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.774236]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.774253]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.774272]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.774289]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  205.774310]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.774327]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.774342]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.774363]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  205.774382]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.774399]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774418]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774435]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774453]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774470]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774486]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774505]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774524]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774538]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774559]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774579]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.774598]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.774614]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.774629]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.774647]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.774665]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.774683]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.774703]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.774720]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.774740]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.774757]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.774776]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.774792]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.774812]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.774831]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.774870]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.774889] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d71288
[  205.774907] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d71288 Current Refs=3D2 [To Be Decremented]
[  205.774928] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d71288
[  205.774944]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  205.774953]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.774961]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.774969]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.774977] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71288 Refs=3D1, [Decremented]
[  205.774987]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.774994]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.775003]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775011]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775019]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  205.775028]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.775036]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775044]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775052]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  205.775061]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.775069]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775077]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775085]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  205.775094]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.775110]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775127]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775145]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  205.775165]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.775186]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775205]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775221]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  205.775236]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.775253]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775269]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775284] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d38 Refs=3D1, [Decremented]
[  205.775309]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775328]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.775345]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775365]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775381] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9ea0 Refs=3D1, [Decremented]
[  205.775400]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775416]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.775434]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775455]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775475] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e58 Refs=3D1, [Decremented]
[  205.775494]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775512]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.775528]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775548]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775566] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e10 Refs=3D1, [Decremented]
[  205.775587]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775603]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.775620]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775638]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775655] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9dc8 Refs=3D1, [Decremented]
[  205.775674]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775691]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.775709]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775728]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775744] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d80 Refs=3D1, [Decremented]
[  205.775764] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.775784] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.775805]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.775824]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.775841]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.775861]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.775881] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.775900] xen-acpi-processor: register_performance(0) =3D -19

--------------060305080106050804080206--

--------------enig44CE6C0905155E36B06E265B
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoldaAAoJEOhnXe7L7s6jjBAQAKFCK1qzxw0UjU51NEfoD5g1
f5bXe9KdgtRUqDIUs/dEVv0jBH4595SOn8ghksziBeKiIV2lh4ocZVtfP3U6pJdt
+fq7Wxtp2yhcmSFXHHXmLIHkcI+WwMcZMSYKliruybBM+oYRGiq7/BxanaGwBK7A
j2n/+7M28b3pjjI2X/Yi97ArSPN15HseasuglUZL03bbUV0KG/MdZsxZHRNp1tor
sHeIS9PfscZfTobxLnPrY54x7HQSUvpIoU9eiZVRwQv318jQWNhyzf0kZcQiFwoG
3HHoJ/KASTIplmiR9bkCDJon0p/8dry/8XPZQdRB4MrwVfEeOFQ6qPiYWROgbonj
6vZPfDpa62mhdYIfcRf4ebcJuYpAIblzVdRuRpkBotYVcJ+lTAOWem7bEcKBuXcl
e2d2/uA/pQveBuMQAapECG7e8LUaLrffJfx5jrpow++RtoSgiFKKpEUSqU7Hc6fk
rBoVzaCII3M9Psn1cZLiLMUHRRubgjf54HpSLP2i8NUxPJ0lraemUnk6lrhYQLmI
etH2rtedVDws5hSmT9AoEag8zStceyzpxB8+P4gAP5+cdIIXzA1bZA51QakLaz6Y
Uc1F6Q0yEcEUxEdnR2BLZk2rJE+CBCTSEaDcceNIF9ruDVPXoluy04We5gmiNRVY
N2q8M50EaMTVgEONU+YH
=UqC/
-----END PGP SIGNATURE-----

--------------enig44CE6C0905155E36B06E265B--


--===============4024771420858992763==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4024771420858992763==--


From xen-devel-bounces@lists.xen.org Thu May 03 10:01:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:01:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPsqc-0001VJ-3h; Thu, 03 May 2012 10:01:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPsqY-0001VE-Uk
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:01:15 +0000
Received: from [85.158.143.35:9429] by server-1.bemta-4.messagelabs.com id
	42/1E-20925-A6752AF4; Thu, 03 May 2012 10:01:14 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336039263!14560293!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4994 invoked from network); 3 May 2012 10:01:04 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-13.tower-21.messagelabs.com with SMTP;
	3 May 2012 10:01:04 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPsqK-0005l8-Ec; Thu, 03 May 2012 10:01:02 +0000
Message-ID: <4FA25752.8010807@canonical.com>
Date: Thu, 03 May 2012 12:00:50 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA22BF8.2050409@canonical.com>
In-Reply-To: <4FA22BF8.2050409@canonical.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4024771420858992763=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============4024771420858992763==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig44CE6C0905155E36B06E265B"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig44CE6C0905155E36B06E265B
Content-Type: multipart/mixed;
 boundary="------------060305080106050804080206"

This is a multi-part message in MIME format.
--------------060305080106050804080206
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 08:55, Stefan Bader wrote:
> On 03.05.2012 00:09, Boris Ostrovsky wrote:
>> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
>>> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>>>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>>>> index a8f8844..d816448 100644
>>>>>>> --- a/arch/x86/xen/enlighten.c
>>>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>>>   {
>>>>>>> -    return 0;
>>>>>>> +    struct xen_platform_op op =3D {
>>>>>>> +        .cmd =3D XENPF_get_cpuinfo,
>>>>>>> +        .interface_version =3D XENPF_INTERFACE_VERSION,
>>>>>>> +        .u.pcpu_info.xen_cpuid =3D 0,
>>>>>>
>>>>>>
>>>>>> Is this always zero? This will probably solve the current problem
>>>>>
>>>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>>>
>>>> Why not use CPU number instead of zero here?
>>>
>>> The issue was only with the bootup CPU - so was using the Xen's
>>> bootup CPU number - which is zero (as is Linux's).
>>
>> I agree that for this particular problem this may be sufficient.
>>
>> My concern is that in the future someone may decide to use apic_read(A=
PIC_ID) or
>> read_apic_id() for some other purpose and they won't get expected resu=
lt (i.e.
>> on all CPUs they will get the same answer).
>>
>>>
>>>>
>>>>>
>>>>>> but I am wondering whether in the future we might hit another bug
>>>>>> because this routine will return the same APICID for all VCPUs.
>>>>>
>>>>>   Later on it does a check for 'smp_processor_id()' - and if
>>>>> that is anything but zero it will bail out.
>>>>
>>>> Can you point me to the check you are referring to?
>>>
>>> if (!xen_initial_domain() || smp_processor_id())
>>
>> I don't see this line --- neither in the mainline nor in your kernel. =
Which
>> kernel and which routine is this in?
>=20
> This is in the inline patch Konrad asked me to check.
>>
>> BTW, this patch doesn't quite work, xen-acpi-processor driver fails to=
 load with
>> the same error as before. I'll look at this tomorrow more carefully.
>=20
> It does fail but at least for me it seems slightly different. I do the =
modprobe
> after turning on all acpi debugging levels and layers. And without any =
change
> there are queries visible. With that patch the driver just fails but th=
ere are
> no queries. I plan to have another go with messages sprinkled to all ex=
it paths
> today, too (was just a bit too late and two pints later yesterday).

Gah! Once you do it right... It *does* fail the exactly same way and ther=
e are
some acpi debug messages...

>=20
>=20
> -Stefan
>>
>>
>> -boris
>>
>>>
>>>
>>>>
>>>> -boris
>>>>
>>>>
>>>>>
>>>>> So this shoudl solve the problem for the bootup processor.
>>>>>>
>>>>>> -boris
>>>>>>
>>>>>>
>>>>>>> +    };
>>>>>>> +    int ret =3D 0;
>>>>>>> +
>>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we =
only
>>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>>> +        return 0x10;
>>>>>>> +
>>>>>>> +    if (reg !=3D APIC_ID)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>>> +    if (ret)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>>   }
>>>>>>>
>>>>>>>   static void xen_apic_write(u32 reg, u32 val)
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Xen-devel mailing list
>>>> Xen-devel@lists.xen.org
>>>> http://lists.xen.org/xen-devel
>>>
>>
>>
>=20
>=20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


--------------060305080106050804080206
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.xen.4"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.xen.4"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (root@gomeisa) (gcc version=
 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg4 SMP Thu May 3 09:28:4=
7 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg4-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10 earlyp=
rintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug console=3Dhvc0 loglevel=3D10=
 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.196 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.39 BogoMIPS (lpj=3D8000784)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.007694] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.016580] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019111] Mount-cache hash table entries: 256
[    0.019360] Initializing cgroup subsys cpuacct
[    0.019372] Initializing cgroup subsys memory
[    0.019391] Initializing cgroup subsys devices
[    0.019397] Initializing cgroup subsys freezer
[    0.019402] Initializing cgroup subsys blkio
[    0.019419] Initializing cgroup subsys perf_event
[    0.019493] tseg: 00dff00000
[    0.019500] CPU: Physical Processor ID: 0
[    0.019504] CPU: Processor Core ID: 0
[    0.022409] ACPI: Core revision 20110623
[    0.038591] ftrace: allocating 27102 entries in 107 pages
[    0.040131] cpu 0 spinlock event irq 273
[    0.040232] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040494] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040624] installing Xen timer for CPU 1
[    0.040642] cpu 1 spinlock event irq 279
[    0.040844] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040967] installing Xen timer for CPU 2
[    0.040986] cpu 2 spinlock event irq 285
[    0.041142] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041258] installing Xen timer for CPU 3
[    0.041273] cpu 3 spinlock event irq 291
[    0.041435] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041552] installing Xen timer for CPU 4
[    0.041568] cpu 4 spinlock event irq 297
[    0.041752] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041878] installing Xen timer for CPU 5
[    0.041894] cpu 5 spinlock event irq 303
[    0.042056] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042171] installing Xen timer for CPU 6
[    0.042188] cpu 6 spinlock event irq 309
[    0.042343] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042459] installing Xen timer for CPU 7
[    0.042474] cpu 7 spinlock event irq 315
[    0.042633] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042665] Brought up 8 CPUs
[    0.042894] devtmpfs: initialized
[    0.045534] EVM: security.selinux
[    0.045539] EVM: security.SMACK64
[    0.045543] EVM: security.capability
[    0.045619] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045619] Grant table initialized
[    0.045619] print_constraints: dummy:=20
[    0.045619] RTC time:  9:53:40, date: 05/03/12
[    0.045619] NET: Registered protocol family 16
[    0.045619] Trying to unpack rootfs image as initramfs...
[    0.060271] node 0 link 0: io port [1000, ffffff]
[    0.060287] TOM: 00000000e0000000 aka 3584M
[    0.060294] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060304] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060313] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060321] node 0 link 0: mmio [a0000, bffff]
[    0.060329] TOM2: 0000000820000000 aka 33280M
[    0.060334] bus: [00, 1f] on node 0 link 0
[    0.060339] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060344] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060348] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060353] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060380] Extended Config Space enabled on 2 nodes
[    0.060554] ACPI: bus type pci registered
[    0.060657] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060666] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.175327] Freeing initrd memory: 40072k freed
[    0.220228] PCI: Using configuration type 1 for base access
[    0.221784] bio: create slab <bio-0> at 0
[    0.221784] ACPI: Added _OSI(Module Device)
[    0.221784] ACPI: Added _OSI(Processor Device)
[    0.221784] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221784] ACPI: Added _OSI(Processor Aggregator Device)
[    0.226175] ACPI: EC: Look up EC in DSDT
[    0.230647] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253676] ACPI: Interpreter enabled
[    0.253686] ACPI: (supports S0 S1 S4 S5)
[    0.253731] ACPI: Using IOAPIC for interrupt routing
[    0.267252] ACPI: No dock devices found.
[    0.267315] HEST: Table parsing has been initialized.
[    0.267323] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267657] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268216] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268223] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268230] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268236] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268242] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268283] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268477] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268684] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268800] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268809] pci 0000:00:09.0: PME# disabled
[    0.268851] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.268998] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.269006] pci 0000:00:0a.0: PME# disabled
[    0.269066] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269103] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269123] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269143] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269163] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269183] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269203] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269312] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269339] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269463] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269490] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269625] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269662] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269820] pci 0000:00:12.2: supports D1 D2
[    0.269825] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269835] pci 0000:00:12.2: PME# disabled
[    0.269874] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269901] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.270024] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270052] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270188] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270225] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270416] pci 0000:00:13.2: supports D1 D2
[    0.270421] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270431] pci 0000:00:13.2: PME# disabled
[    0.270476] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270666] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270810] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270891] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270918] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.271060] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271188] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271250] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271317] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271407] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271520] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271637] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271700] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271798] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271891] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272016] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272016] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272016] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272031] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272042] pci 0000:03:00.0: PME# disabled
[    0.280057] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280071] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280080] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280205] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280240] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280285] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280309] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280490] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280501] pci 0000:02:00.0: PME# disabled
[    0.288056] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288069] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288078] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288145] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288184] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288207] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288229] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288438] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288452] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288463] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288469] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288475] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288482] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288489] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288495] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288542] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288960] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289033] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289146] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289355]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289363]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289369] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307491] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307629] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307762] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.307900] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.308018] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.308121] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308256] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308427] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308499] xen/balloon: Initialising balloon driver.
[    0.351637] xen-balloon: Initialising balloon driver.
[    0.351668] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.351833] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.351833] vgaarb: loaded
[    0.351833] vgaarb: bridge control possible 0000:01:04.0
[    0.351833] i2c-core: driver [aat2870] using legacy suspend method
[    0.351833] i2c-core: driver [aat2870] using legacy resume method
[    0.352090] SCSI subsystem initialized
[    0.352162] libata version 3.00 loaded.
[    0.352162] usbcore: registered new interface driver usbfs
[    0.352166] usbcore: registered new interface driver hub
[    0.352203] usbcore: registered new device driver usb
[    0.352203] PCI: Using ACPI for IRQ routing
[    0.356021] PCI: pci_cache_line_size set to 64 bytes
[    0.356021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.356021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.356021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.356116] NetLabel: Initializing
[    0.356120] NetLabel:  domain hash size =3D 128
[    0.356125] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.356142] NetLabel:  unlabeled traffic allowed by default
[    0.356221] Switching to clocksource xen
[    0.365440] AppArmor: AppArmor Filesystem Enabled
[    0.365478] pnp: PnP ACPI init
[    0.365499] ACPI: bus type pnp registered
[    0.365890] pnp 00:00: [bus 00-ff]
[    0.365895] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.365901] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.365906] pnp 00:00: [io  0x0d00-0xffff window]
[    0.365911] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.365916] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.365922] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.365927] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.366052] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.366323] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366330] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366407] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.366585] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.366646] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.366654] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.367333] pnp 00:03: [dma 4]
[    0.367337] pnp 00:03: [io  0x0000-0x000f]
[    0.367342] pnp 00:03: [io  0x0081-0x0083]
[    0.367347] pnp 00:03: [io  0x0087]
[    0.367351] pnp 00:03: [io  0x0089-0x008b]
[    0.367356] pnp 00:03: [io  0x008f]
[    0.367360] pnp 00:03: [io  0x00c0-0x00df]
[    0.367418] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.367445] pnp 00:04: [io  0x0070-0x0071]
[    0.367452] xen: registering gsi 8 triggering 1 polarity 0
[    0.367462] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.367467] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.367485] pnp 00:04: [irq 8]
[    0.367541] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.367612] pnp 00:05: [io  0x0060]
[    0.367617] pnp 00:05: [io  0x0064]
[    0.367621] xen: registering gsi 1 triggering 1 polarity 0
[    0.367627] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.367632] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.367645] pnp 00:05: [irq 1]
[    0.367700] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.367814] xen: registering gsi 12 triggering 1 polarity 0
[    0.367820] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.367825] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.367842] pnp 00:06: [irq 12]
[    0.367901] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.367922] pnp 00:07: [io  0x0061]
[    0.367979] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.368001] pnp 00:08: [io  0x00f0-0x00ff]
[    0.368006] xen: registering gsi 13 triggering 1 polarity 0
[    0.368011] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.368016] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.368029] pnp 00:08: [irq 13]
[    0.368059] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.368059] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368059] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368059] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.368394] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.368402] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.368494] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.368555] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.368856] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.368862] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.368944] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.368951] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.368958] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.369454] pnp 00:0c: [io  0x0010-0x001f]
[    0.369460] pnp 00:0c: [io  0x0022-0x003f]
[    0.369464] pnp 00:0c: [io  0x0062-0x0063]
[    0.369469] pnp 00:0c: [io  0x0065-0x006f]
[    0.369473] pnp 00:0c: [io  0x0072-0x007f]
[    0.369477] pnp 00:0c: [io  0x0080]
[    0.369482] pnp 00:0c: [io  0x0084-0x0086]
[    0.369486] pnp 00:0c: [io  0x0088]
[    0.369490] pnp 00:0c: [io  0x008c-0x008e]
[    0.369495] pnp 00:0c: [io  0x0090-0x009f]
[    0.369499] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.369503] pnp 00:0c: [io  0x00b1]
[    0.369508] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.369512] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.369517] pnp 00:0c: [io  0x0550-0x0551]
[    0.369521] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.369526] pnp 00:0c: [io  0x040b]
[    0.369530] pnp 00:0c: [io  0x04d6]
[    0.369534] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.369538] pnp 00:0c: [io  0x0c14]
[    0.369542] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.369547] pnp 00:0c: [io  0x0c52]
[    0.369551] pnp 00:0c: [io  0x0c6c]
[    0.369555] pnp 00:0c: [io  0x0c6f]
[    0.369559] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.369564] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.369568] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.369573] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.369577] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.369581] pnp 00:0c: [io  0x0800-0x089f]
[    0.369586] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.369591] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.369596] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.369600] pnp 00:0c: [io  0x0900-0x090f]
[    0.369605] pnp 00:0c: [io  0x0910-0x091f]
[    0.369609] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.369614] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.369619] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.369624] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.369631] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.369775] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.369781] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.369787] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.369793] system 00:0c: [io  0x040b] has been reserved
[    0.369798] system 00:0c: [io  0x04d6] has been reserved
[    0.369804] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.369810] system 00:0c: [io  0x0c14] has been reserved
[    0.369815] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.369821] system 00:0c: [io  0x0c52] has been reserved
[    0.369826] system 00:0c: [io  0x0c6c] has been reserved
[    0.369832] system 00:0c: [io  0x0c6f] has been reserved
[    0.369837] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.369843] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.369849] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.369855] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.369861] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.369870] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.369876] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.369882] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.369888] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.369893] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.369900] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.369906] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.369913] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.369920] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370470] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.370475] xen: registering gsi 4 triggering 1 polarity 0
[    0.370481] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.370486] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.370499] pnp 00:0d: [irq 4]
[    0.370503] pnp 00:0d: [dma 0 disabled]
[    0.370627] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371202] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.371207] xen: registering gsi 3 triggering 1 polarity 0
[    0.371212] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.371217] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.371221] Already setup the GSI :3
[    0.371226] pnp 00:0e: [irq 3]
[    0.371230] pnp 00:0e: [dma 0 disabled]
[    0.371350] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371492] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.371574] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.371582] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372549] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.372555] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.372560] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.372565] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.372573] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.372673] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.372679] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.372686] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.372692] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.372698] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.372706] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.373005] pnp: PnP ACPI: found 17 devices
[    0.373009] ACPI: ACPI bus type pnp unregistered
[    0.380350] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.380377] PCI: max bus depth: 1 pci_try_num: 2
[    0.380428] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.380436] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.380446] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.380460] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.380467] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.380477] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.380491] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.380502] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.380512] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.380536] xen: registering gsi 17 triggering 0 polarity 1
[    0.380554] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.380569] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.380579] pci 0000:00:09.0: setting latency timer to 64
[    0.380590] xen: registering gsi 18 triggering 0 polarity 1
[    0.380600] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.380613] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.380622] pci 0000:00:0a.0: setting latency timer to 64
[    0.380638] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.380643] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.380648] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380654] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380660] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380665] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.380671] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.380677] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.380683] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.380689] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.380696] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.380702] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.380707] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.380713] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380719] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380725] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380782] NET: Registered protocol family 2
[    0.382871] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.388135] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.391365] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.391707] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.391714] TCP reno registered
[    0.391839] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.392140] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.392395] NET: Registered protocol family 1
[    0.392455] xen: registering gsi 16 triggering 0 polarity 1
[    0.392478] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.392499] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.120169] pci 0000:00:12.0: PCI INT A disabled
[    1.120201] xen: registering gsi 16 triggering 0 polarity 1
[    1.120215] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.120220] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.120225] Already setup the GSI :16
[    1.120232] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.204174] pci 0000:00:12.1: PCI INT A disabled
[    1.204207] xen: registering gsi 17 triggering 0 polarity 1
[    1.204221] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.204226] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.204231] Already setup the GSI :17
[    1.204237] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.204371] pci 0000:00:12.2: PCI INT B disabled
[    1.204387] xen: registering gsi 18 triggering 0 polarity 1
[    1.204392] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.204397] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.204401] Already setup the GSI :18
[    1.204406] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.288185] pci 0000:00:13.0: PCI INT A disabled
[    1.288216] xen: registering gsi 18 triggering 0 polarity 1
[    1.288229] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.288234] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.288239] Already setup the GSI :18
[    1.288245] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.372178] pci 0000:00:13.1: PCI INT A disabled
[    1.372211] xen: registering gsi 19 triggering 0 polarity 1
[    1.372237] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.372256] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.372390] pci 0000:00:13.2: PCI INT B disabled
[    1.372416] xen: registering gsi 18 triggering 0 polarity 1
[    1.372422] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.372426] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.372431] Already setup the GSI :18
[    1.372435] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.456173] pci 0000:00:14.5: PCI INT C disabled
[    1.456259] pci 0000:01:04.0: Boot video device
[    1.456267] PCI: CLS 64 bytes, default 64
[    1.457343] audit: initializing netlink socket (disabled)
[    1.457362] type=3D2000 audit(1336038821.847:1): initialized
[    1.485577] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.487788] VFS: Disk quotas dquot_6.5.2
[    1.487868] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.488563] fuse init (API version 7.17)
[    1.488737] msgmni has been set to 1479
[    1.489458] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.489514] io scheduler noop registered
[    1.489519] io scheduler deadline registered
[    1.489561] io scheduler cfq registered (default)
[    1.490010] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.490046] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.490266] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.490277] ACPI: Power Button [PWRB]
[    1.490337] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.490345] ACPI: Power Button [PWRF]
[    1.688912] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.689037] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.689211] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.689634] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.693393] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.812124] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.832536] hpet_acpi_add: no address or irqs in _CRS
[    1.832555] Linux agpgart interface v0.103
[    1.836328] brd: module loaded
[    1.837212] loop: module loaded
[    1.837590] ahci 0000:00:11.0: version 3.0
[    1.837625] xen: registering gsi 22 triggering 0 polarity 1
[    1.837648] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.837666] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.837891] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.837900] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.838864] scsi0 : ahci
[    1.838982] scsi1 : ahci
[    1.839077] scsi2 : ahci
[    1.839173] scsi3 : ahci
[    1.839275] scsi4 : ahci
[    1.839371] scsi5 : ahci
[    1.840311] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.840319] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.840327] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.840334] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.840341] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.840348] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.840881] Fixed MDIO Bus: probed
[    1.840909] tun: Universal TUN/TAP device driver, 1.6
[    1.840918] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.840983] PPP generic driver version 2.4.2
[    1.841100] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.841193] xen: registering gsi 17 triggering 0 polarity 1
[    1.841202] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.841207] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.841212] Already setup the GSI :17
[    1.841218] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.841252] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.841336] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.841353] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.841452] ehci_hcd 0000:00:12.2: debug port 1
[    1.841502] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.852094] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.852291] hub 1-0:1.0: USB hub found
[    1.852299] hub 1-0:1.0: 6 ports detected
[    1.852485] xen: registering gsi 19 triggering 0 polarity 1
[    1.852493] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.852498] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.852503] Already setup the GSI :19
[    1.852508] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.852542] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.852618] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.852633] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.852708] ehci_hcd 0000:00:13.2: debug port 1
[    1.852763] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.864098] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.864308] hub 2-0:1.0: USB hub found
[    1.864316] hub 2-0:1.0: 6 ports detected
[    1.864439] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.864560] xen: registering gsi 16 triggering 0 polarity 1
[    1.864569] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.864574] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.864578] Already setup the GSI :16
[    1.864584] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.864618] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.864685] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.864754] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.924286] hub 3-0:1.0: USB hub found
[    1.924301] hub 3-0:1.0: 3 ports detected
[    1.924456] xen: registering gsi 16 triggering 0 polarity 1
[    1.924464] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.924468] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.924473] Already setup the GSI :16
[    1.924478] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.924513] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.924582] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.924626] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    1.984287] hub 4-0:1.0: USB hub found
[    1.984301] hub 4-0:1.0: 3 ports detected
[    1.984451] xen: registering gsi 18 triggering 0 polarity 1
[    1.984458] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.984463] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.984468] Already setup the GSI :18
[    1.984473] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    1.984508] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    1.984579] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    1.984646] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.044274] hub 5-0:1.0: USB hub found
[    2.044288] hub 5-0:1.0: 3 ports detected
[    2.044439] xen: registering gsi 18 triggering 0 polarity 1
[    2.044447] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.044452] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.044456] Already setup the GSI :18
[    2.044462] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.044496] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.044569] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.044609] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.104298] hub 6-0:1.0: USB hub found
[    2.104314] hub 6-0:1.0: 3 ports detected
[    2.104504] xen: registering gsi 18 triggering 0 polarity 1
[    2.104512] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.104517] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.104522] Already setup the GSI :18
[    2.104527] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.104561] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.104633] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.104684] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.160242] ata5: SATA link down (SStatus 0 SControl 300)
[    2.164415] hub 7-0:1.0: USB hub found
[    2.164430] hub 7-0:1.0: 2 ports detected
[    2.164530] uhci_hcd: USB Universal Host Controller Interface driver
[    2.164625] usbcore: registered new interface driver libusual
[    2.164682] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.167602] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.167614] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.167777] mousedev: PS/2 mouse device common for all mice
[    2.167985] rtc_cmos 00:04: RTC can wake from S4
[    2.168223] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.168275] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.168379] device-mapper: uevent: version 1.0.3
[    2.168474] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.168487] EFI Variables Facility v0.08 2004-May-17
[    2.168807] TCP cubic registered
[    2.168939] NET: Registered protocol family 10
[    2.169670] NET: Registered protocol family 17
[    2.169694] Registering the dns_resolver key type
[    2.169917] PM: Hibernation image not present or could not be loaded.
[    2.169934] registered taskstats version 1
[    2.176089] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.187946]   Magic number: 12:509:878
[    2.188144] rtc_cmos 00:04: setting system clock to 2012-05-03 09:53:4=
2 UTC (1336038822)
[    2.188276] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.188374] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.188379] EDD information not available.
[    2.200605] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.314893] Initializing USB Mass Storage driver...
[    2.315113] scsi6 : usb-storage 2-2:1.0
[    2.315224] usbcore: registered new interface driver usb-storage
[    2.315230] USB Mass Storage support registered.
[    2.332119] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.332156] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332191] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332222] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332246] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.332694] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.333246] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333255] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333273] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333281] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333299] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333309] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333413] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.333420] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.333543] ata6.00: configured for UDMA/100
[    2.334451] ata1.00: configured for UDMA/133
[    2.334636] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.334792] ata4.00: configured for UDMA/133
[    2.334824] ata3.00: configured for UDMA/133
[    2.334866] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.334915] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.334938] ata2.00: configured for UDMA/133
[    2.335015] sd 0:0:0:0: [sda] Write Protect is off
[    2.335024] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.335061] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.335194] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.335396] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.335416] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.335501] sd 1:0:0:0: [sdb] Write Protect is off
[    2.335509] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.335557] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.335702] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.335883] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.335917] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.335981] sd 2:0:0:0: [sdc] Write Protect is off
[    2.335987] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.336106] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.336258] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.336265] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.336355] sd 3:0:0:0: [sdd] Write Protect is off
[    2.336362] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.336367] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.336408] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.337308] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.340918] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.340927] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.341087] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.341196] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.341647]  sdb: sdb1 sdb2
[    2.342067] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.347291]  sdd: unknown partition table
[    2.347568] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.350641]  sdc: unknown partition table
[    2.350926] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.455361]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.457499] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.458052] Freeing unused kernel memory: 920k freed
[    2.458379] Write protecting the kernel read-only data: 12288k
[    2.465974] Freeing unused kernel memory: 1520k freed
[    2.467147] Freeing unused kernel memory: 1140k freed
[    2.532778] udevd[166]: starting version 175
[    2.586556] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.586566] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.586899] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.586929] xen: registering gsi 17 triggering 0 polarity 1
[    2.586979] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.586985] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.586991] Already setup the GSI :17
[    2.586997] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.587033] e1000e 0000:03:00.0: setting latency timer to 64
[    2.684119] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.711875] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.711884] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.711969] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.712119] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.712148] xen: registering gsi 18 triggering 0 polarity 1
[    2.712159] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.712164] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.712170] Already setup the GSI :18
[    2.712176] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.712208] e1000e 0000:02:00.0: setting latency timer to 64
[    2.826232] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.826241] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.826326] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.862464] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.862705] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.866427] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.866568] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.866595] usbcore: registered new interface driver usbhid
[    2.866601] usbhid: USB HID core driver
[    3.313116] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.313858] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.314481] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.315095] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.315995] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.316209] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.316399] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.316566] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.321554] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.325956] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.327301] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    3.328099] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    8.680452] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.378393] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.378413] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.406855] udevd[718]: starting version 175
[   15.516929] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.541315] lp: driver loaded but no devices found
[   15.543010] Bridge firewalling registered
[   15.543528] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.545436] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.545583] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.548417] device-mapper: multipath: version 1.3.0 loaded
[   15.554115] ipmi message handler version 39.2
[   15.554771] device eth0 entered promiscuous mode
[   15.554947] ipmi device interface
[   15.561242] IPMI System Interface driver.
[   15.561305] ipmi_si: probing via SMBIOS
[   15.561309] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   15.561313] ipmi_si: Adding SMBIOS-specified kcs state machine
[   15.561321] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   15.565782] MCE: In-kernel MCE decoding enabled.
[   15.567534] EDAC MC: Ver: 2.1.0
[   15.568886] AMD64 EDAC driver v3.4.0
[   15.569069] EDAC amd64: DRAM ECC enabled.
[   15.569102] EDAC amd64: F10h detected (node 0).
[   15.569180] EDAC MC: DCT0 chip selects:
[   15.569187] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.569190] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.569197] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.569203] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.569206] EDAC MC: DCT1 chip selects:
[   15.569209] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.569212] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.569215] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.569218] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.569221] EDAC amd64: using x8 syndromes.
[   15.569224] EDAC amd64: MCT channel count: 2
[   15.569278] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.569285] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.569288] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.569291] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.569422] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   15.571018] EDAC amd64: DRAM ECC enabled.
[   15.571030] EDAC amd64: F10h detected (node 1).
[   15.571107] EDAC MC: DCT0 chip selects:
[   15.571111] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.571114] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.571117] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.571120] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.571123] EDAC MC: DCT1 chip selects:
[   15.571126] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   15.571129] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   15.571132] EDAC amd64: MC: 4:     0MB 5:     0MB
[   15.571135] EDAC amd64: MC: 6:     0MB 7:     0MB
[   15.571138] EDAC amd64: using x8 syndromes.
[   15.571141] EDAC amd64: MCT channel count: 2
[   15.571176] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   15.571179] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   15.571183] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   15.571186] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   15.571257] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   15.571424] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   15.606210] type=3D1400 audit(1336038835.913:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D818 comm=3D"appar=
mor_parser"
[   15.606825] type=3D1400 audit(1336038835.913:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D818 comm=3D"apparmor_parser"
[   15.607175] type=3D1400 audit(1336038835.913:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D818 comm=3D"apparmor_parser"
[   15.643062] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.655321] ADDRCONF(NETDEV_UP): br0: link is not ready
[   15.672109] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   15.712684] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   15.713196] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   15.852353] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   15.919391] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.672650] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.200817] EXT4-fs (dm-33): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   18.745090] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   18.747436] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   18.747574] br0: port 1(eth0) entering forwarding state
[   18.747591] br0: port 1(eth0) entering forwarding state
[   18.749725] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   21.937790] init: udev-fallback-graphics main process (1840) terminate=
d with status 1
[   22.085550] init: failsafe main process (1723) killed by TERM signal
[   22.198011] type=3D1400 audit(1336038842.505:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1936 comm=3D"apparmor_parser"
[   22.198271] type=3D1400 audit(1336038842.505:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1934 comm=3D"a=
pparmor_parser"
[   22.198526] type=3D1400 audit(1336038842.505:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1937 comm=3D"=
apparmor_parser"
[   22.198897] type=3D1400 audit(1336038842.505:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1934 comm=3D"apparmor_parser"
[   22.199271] type=3D1400 audit(1336038842.505:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1934 comm=3D"apparmor_parser"
[   22.199376] type=3D1400 audit(1336038842.505:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1938 c=
omm=3D"apparmor_parser"
[   22.199727] type=3D1400 audit(1336038842.505:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1938 comm=3D"apparmor_parser"
[   22.200161] type=3D1400 audit(1336038842.509:12): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/tcpdump" pid=3D1940 comm=3D"=
apparmor_parser"
[   22.477708] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   22.722258] ip_tables: (C) 2000-2006 Netfilter Core Team
[   22.823823] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   22.877126] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   23.122997] Event-channel device installed.
[   23.185712] XENBUS: Unable to read cpu state
[   23.185922] XENBUS: Unable to read cpu state
[   23.186113] XENBUS: Unable to read cpu state
[   23.186295] XENBUS: Unable to read cpu state
[   23.186508] XENBUS: Unable to read cpu state
[   23.186669] XENBUS: Unable to read cpu state
[   23.186807] XENBUS: Unable to read cpu state
[   23.186979] XENBUS: Unable to read cpu state
[   23.944659] Ebtables v2.0 registered
[   23.976417] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.644090] br0: no IPv6 routers present
[  205.760461] xen-acpi-processor: Max ACPI ID: 16
[  205.760479]=20
[  205.760480] **** Context Switch from TID 0 to TID 42768112 ****
[  205.760481]=20
[  205.760485] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.760495]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.760504]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.760514]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.760522]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.760530]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.760540]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.760548]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.760557]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.760567]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.760577]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.760595] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.760604]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.760613]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.760622] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P001] (ffff880027d50e88)
[  205.760631] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.760640]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.760656] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.760664] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.760672]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50e88
[  205.760682]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.760690] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P001 (ffff880027d50e88) For [_PSD] (Untyped)
[  205.760701]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.760708]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.760717] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d438 found in scope [P001] ffff880027d50e88=

[  205.760727] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.760736] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.760744] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.760752]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.760762]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.760772]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.760780]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.760788]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.760797] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d438
[  205.760806] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d709d8
[  205.760814]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d438] Value ffff880027d709d8
[  205.760824]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.760832]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.760841]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.760849]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.760859]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.760868]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.760885]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.760894] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.760902] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d438
[  205.760912] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d709d8
[  205.760920]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.760928]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.760937] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d438 SourceDesc=3Dffff880027d709d8 [Package]
[  205.760947]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d709d8
[  205.760955]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.760964] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d709d8
[  205.760973] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d709d8 Current Refs=3D1 [To Be Incremented]
[  205.760982] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d709d8
[  205.760991]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cdf30
[  205.761001]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.761009]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761017]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761025] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d709d8 Refs=3D2, [Incremented]
[  205.761034]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761042]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761050]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761058]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761067]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cdf78
[  205.761075]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.761083]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761091]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761099]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff880027d716c0
[  205.761107]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.761115]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761123]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761131]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff880027d71a68
[  205.761139]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.761148]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761155]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761163]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250ce000
[  205.761171]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.761180]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761187]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761195]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250ce048
[  205.761204]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.761212]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.761220]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.761228] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cdf30 Refs=3D2, [Incremented]
[  205.761236]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761244]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.761252]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761260]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761268] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250ce048 Refs=3D2, [Incremented]
[  205.761276]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761284]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.761293]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761300]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761308] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250ce000 Refs=3D2, [Incremented]
[  205.761317]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761324]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.761333]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761341]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761349] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d71a68 Refs=3D2, [Incremented]
[  205.761358]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761365]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.761373]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761381]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761389] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d716c0 Refs=3D2, [Incremented]
[  205.761398]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.761405]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761414]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.761421]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.761429] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cdf78 Refs=3D2, [Incremented]
[  205.761438] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.761446] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.761454] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.761462]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.761470]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.761479]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.761488]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.761495]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d709d8 [Package]
[  205.761506]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d438
[  205.761514]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.761524] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P001._PSD Validating return Package of Type 5, Count 1
[  205.761535]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.761544]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.761552] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d709d8
[  205.761561]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.761569]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  205.761577]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.761586]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.761593]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.761601]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250cdf30
[  205.761609]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.761618] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cdf78
[  205.761626] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761634] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff880027d716c0
[  205.761642] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761650] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff880027d71a68
[  205.761658] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761666] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250ce000
[  205.761674] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761682] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250ce048
[  205.761691] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.761699]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.761706]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.761714]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.761722]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761730]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.761738]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.761745]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.761753]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.761762]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.761770] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.761779]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.761787]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.761795]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.761803]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d709d8
[  205.761811]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.761819]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.761827]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.761835]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250cdf30
[  205.761843]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.761851]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761859]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761867]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761875]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761883]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761891]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761899]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761907]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761914]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.761922]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.761930]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.761938]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.761946]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.761953]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.761962]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.761969]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.761977]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.761985]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.761993]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.762001]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.762010]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.762018]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.762026]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.762035]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.762044]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.762061]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.762069] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d709d8
[  205.762077] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d709d8 Current Refs=3D2 [To Be Decremented]
[  205.762087] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d709d8
[  205.762095]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cdf30
[  205.762103]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.762112]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762119]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762127] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d709d8 Refs=3D1, [Decremented]
[  205.762136]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762144]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.762152]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762159]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762167]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cdf78
[  205.762175]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.762184]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762192]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762199]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff880027d716c0
[  205.762208]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.762216]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762223]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762231]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff880027d71a68
[  205.762239]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.762248]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762255]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762263]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250ce000
[  205.762271]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.762279]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762287]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762295]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250ce048
[  205.762303]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.762311]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.762319]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.762327] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cdf30 Refs=3D1, [Decremented]
[  205.762336]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762343]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.762352]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762359]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762367] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250ce048 Refs=3D1, [Decremented]
[  205.762376]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762383]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.762391]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762399]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762407] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250ce000 Refs=3D1, [Decremented]
[  205.762416]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762423]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.762431]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762439]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762447] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71a68 Refs=3D1, [Decremented]
[  205.762455]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762463]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.762471]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762479]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762487] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d716c0 Refs=3D1, [Decremented]
[  205.762495]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.762503]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.762511]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.762519]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.762527] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cdf78 Refs=3D1, [Decremented]
[  205.762535] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.762554] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.762562]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.762570]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.762579]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.762588]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.762596] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.762605] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.762613]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.762621]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.762630]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.762637]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.762645]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.762654]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.762662]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.762670]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.762679]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.762688]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.762705] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.762713]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.762721]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.762729] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P002] (ffff880027d50eb0)
[  205.762738] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.762746]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.762760] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.762768] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.762776]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50eb0
[  205.762784]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.762792] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P002 (ffff880027d50eb0) For [_PSD] (Untyped)
[  205.762802]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.762810]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.762818] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d500 found in scope [P002] ffff880027d50eb0=

[  205.762828] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.762836] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.762844] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.762852]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.762861]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.762870]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.762878]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.762886]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.762894] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d500
[  205.762903] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70b40
[  205.762911]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d500] Value ffff880027d70b40
[  205.762920]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.762928]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.762936]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.762944]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.762953]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.762962]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.762979]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.762987] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.762995] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d500
[  205.763003] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70b40
[  205.763012]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.763019]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.763028] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d500 SourceDesc=3Dffff880027d70b40 [Package]
[  205.763037]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70b40
[  205.763045]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.763053] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70b40
[  205.763061] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70b40 Current Refs=3D1 [To Be Incremented]
[  205.763070] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70b40
[  205.763078]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfd38
[  205.763086]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.763095]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763102]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763110] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70b40 Refs=3D2, [Incremented]
[  205.763119]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763126]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.763134]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763142]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763150]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfd80
[  205.763158]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.763167]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763174]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763182]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfdc8
[  205.763190]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.763199]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763206]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763214]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfe10
[  205.763222]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.763230]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763238]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763246]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfe58
[  205.763254]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.763262]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763270]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763278]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250cfea0
[  205.763286]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.763294]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.763302]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.763310] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfd38 Refs=3D2, [Incremented]
[  205.763318]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763326]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.763334]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763342]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763350] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfea0 Refs=3D2, [Incremented]
[  205.763358]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763366]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.763375]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763382]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763390] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfe58 Refs=3D2, [Incremented]
[  205.763399]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763406]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.763415]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763422]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763430] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfe10 Refs=3D2, [Incremented]
[  205.763439]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763446]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.763455]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763462]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763470] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfdc8 Refs=3D2, [Incremented]
[  205.763479]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.763487]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.763495]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.763503]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.763510] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250cfd80 Refs=3D2, [Incremented]
[  205.763519] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.763527] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.763535] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.763543]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.763551]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.763560]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.763568]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.763576]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70b40 [Package]
[  205.763586]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d500
[  205.763594]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.763603] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P002._PSD Validating return Package of Type 5, Count 1
[  205.763612]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.763620]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.763629] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70b40
[  205.763637]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.763645]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  205.763653]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.763661]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.763669]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.763677]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250cfd38
[  205.763685]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.763693] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfd80
[  205.763701] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763709] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfdc8
[  205.763718] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763726] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfe10
[  205.763734] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763742] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfe58
[  205.763750] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763758] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250cfea0
[  205.763766] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.763774]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.763782]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.763789]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.763797]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.763805]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.763813]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.763821]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.763828]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.763837]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.763845] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.763853]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.763861]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.763869]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.763877]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70b40
[  205.763885]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.763893]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.763901]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.763909]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250cfd38
[  205.763917]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.763925]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763933]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763941]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763949]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763957]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763964]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763972]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763980]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.763988]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.763996]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764004]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764012]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764019]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764027]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764035]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764043]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764056]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70b40
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70b40 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70b40
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfd38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70b40 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfd80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfdc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfe10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfe58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250cfea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfd38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfe58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfe10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfdc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250cfd80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P003] (ffff880027d50ed8)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50ed8
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P003 (ffff880027d50ed8) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d5c8 found in scope [P003] ffff880027d50ed8=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d5c8
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70ca8
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d5c8] Value ffff880027d70ca8
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d5c8
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70ca8
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d5c8 SourceDesc=3Dffff880027d70ca8 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70ca8
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70ca8
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70ca8 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70ca8
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70ca8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d2ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d2d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70ca8 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d5c8
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P003._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70ca8
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d2ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70ca8
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70ca8
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70ca8 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70ca8
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70ca8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d2ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d2d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P004] (ffff880027d50f00)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f00
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P004 (ffff880027d50f00) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d690 found in scope [P004] ffff880027d50f00=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d690
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70e10
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d690] Value ffff880027d70e10
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d690
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70e10
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d690 SourceDesc=3Dffff880027d70e10 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70e10
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70e10
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70e10 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70e10
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d4d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70e10 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d690
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P004._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70e10
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d4ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70e10
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70e10
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70e10 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70e10
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d4ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d4d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P005] (ffff880027d50f28)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f28
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P005 (ffff880027d50f28) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d758 found in scope [P005] ffff880027d50f28=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d758
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d70f78
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d758] Value ffff880027d70f78
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d758
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d70f78
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d758 SourceDesc=3Dffff880027d70f78 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d70f78
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d70f78
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d70f78 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d70f78
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d70f78 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d6d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d70f78 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d758
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P005._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d70f78
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d6ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d70f78
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d70f78
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d70f78 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d70f78
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d70f78 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d6ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d6d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P006] (ffff880027d50f50)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f50
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P006 (ffff880027d50f50) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d820 found in scope [P006] ffff880027d50f50=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d820
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d710d8
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d820] Value ffff880027d710d8
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d820
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d710d8
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d820 SourceDesc=3Dffff880027d710d8 [Package]
[  205.764063]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d710d8
[  205.764063]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.764063] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d710d8
[  205.764063] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d710d8 Current Refs=3D1 [To Be Incremented]
[  205.764063] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d710d8
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d710d8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7d80
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7dc8
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7e10
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7e58
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d7ea0
[  205.764063]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7d38 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7ea0 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7e58 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7e10 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7dc8 Refs=3D2, [Incremented]
[  205.764063]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d7d80 Refs=3D2, [Incremented]
[  205.764063] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.764063] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.764063] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.764063]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.764063]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d710d8 [Package]
[  205.764063]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d820
[  205.764063]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.764063] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P006._PSD Validating return Package of Type 5, Count 1
[  205.764063]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.764063]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.764063] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d710d8
[  205.764063]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7d80
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7dc8
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7e10
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7e58
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d7ea0
[  205.764063] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.764063] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.764063]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.764063]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.764063]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d710d8
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.764063]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.764063]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.764063]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.764063]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.764063]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.764063] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d710d8
[  205.764063] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d710d8 Current Refs=3D2 [To Be Decremented]
[  205.764063] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d710d8
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7d38
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d710d8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7d80
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7dc8
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7e10
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7e58
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d7ea0
[  205.764063]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.764063]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7d38 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7ea0 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7e58 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7e10 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7dc8 Refs=3D1, [Decremented]
[  205.764063]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.764063]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.764063]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.764063]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.764063] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d7d80 Refs=3D1, [Decremented]
[  205.764063] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.764063] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.764063]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.764063]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.764063]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.764063] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.764063] nsxfeval-0181 [42768112] [4294967293] evaluate_object     =
  : ----Entry
[  205.764063]   nseval-0090 [42768112] [4294967294] ns_evaluate         =
  : ----Entry
[  205.764063]  nsutils-0707 [42768112] [4294967295] ns_get_node         =
  : ----Entry ffffffff81a4c82f
[  205.764063]  nsutils-0391 [42768112] [00] ns_internalize_name   : ----=
Entry
[  205.764063]  nsutils-0280 [42768112] [01] ns_build_internal_name: ----=
Entry
[  205.764063]  nsutils-0363 [42768112] [01] ns_build_internal_name: Retu=
rning [ffff88001b1a1870] (rel) "_PSD"
[  205.764063]  nsutils-0366 [42768112] [01] ns_build_internal_name: ----=
Exit- AE_OK
[  205.764063]  nsutils-0419 [42768112] [00] ns_internalize_name   : ----=
Exit- AE_OK
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404360|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404360|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Namespace]
[  205.764063] nsaccess-0301 [42768112] [00] ns_lookup             : ----=
Entry
[  205.764063]  nsutils-0663 [42768112] [01] ns_opens_scope        : ----=
Entry Processor
[  205.764063]  nsutils-0673 [42768112] [01] ns_opens_scope        : ----=
Exit- 0000000000000001
[  205.764063] nsaccess-0398 [42768112] [00] ns_lookup             : Sear=
ching relative to prefix scope [P007] (ffff880027d50f78)
[  205.764063] nsaccess-0510 [42768112] [00] ns_lookup             : Simp=
le Pathname (1 segment, Flags=3D2)
[  205.764063]   nsdump-0087 [42768112] [00] ns_print_pathname     : [_PS=
D]
[  205.764063] nssearch-0297 [42768112] [01] ns_search_and_enter   : ----=
Entry
[  205.764063] nssearch-0102 [42768112] [02] ns_search_one_scope   : ----=
Entry
[  205.764063]  nsnames-0139 [42768112] [03] ns_get_external_pathna: ----=
Entry ffff880027d50f78
[  205.764063]  nsnames-0164 [42768112] [03] ns_get_external_pathna: ----=
Exit- ffff88001cfbd2d0
[  205.764063] nssearch-0114 [42768112] [02] ns_search_one_scope   : Sear=
ching \_PR_.P007 (ffff880027d50f78) For [_PSD] (Untyped)
[  205.764063]  nsutils-0150 [42768112] [03] ns_get_type           : ----=
Entry
[  205.764063]  nsutils-0157 [42768112] [03] ns_get_type           : ----=
Exit- 0000000000000004
[  205.764063] nssearch-0149 [42768112] [02] ns_search_one_scope   : Name=
 [_PSD] (Package) ffff880027d6d8e8 found in scope [P007] ffff880027d50f78=

[  205.764063] nssearch-0152 [42768112] [02] ns_search_one_scope   : ----=
Exit- AE_OK
[  205.764063] nssearch-0349 [42768112] [01] ns_search_and_enter   : ----=
Exit- AE_OK
[  205.764063] nsaccess-0670 [42768112] [00] ns_lookup             : ----=
Exit- AE_OK
[  205.764063]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Namespace]
[  205.764063]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404360|1]
[  205.764063]  nsutils-0750 [42768112] [4294967295] ns_get_node         =
  : ----Exit- AE_OK
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063] nsobject-0266 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Entry ffff880027d6d8e8
[  205.764063] nsobject-0281 [42768112] [4294967295] ns_get_attached_obje=
ct: ----Exit- ffff880027d71288
[  205.764063]   nseval-0127 [42768112] [4294967294] ns_evaluate         =
  : _PSD [ffff880027d6d8e8] Value ffff880027d71288
[  205.764063]  nsutils-0150 [42768112] [4294967295] ns_get_type         =
  : ----Entry
[  205.764063]  nsutils-0157 [42768112] [4294967295] ns_get_type         =
  : ----Exit- 0000000000000004
[  205.764063]  exutils-0091 [42768112] [4294967295] ex_enter_interpreter=
  : ----Entry
[  205.764063]  utmutex-0261 [42768112] [4294967295] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.764063]      osl-0981 [42768112] [4294967295] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.764063]      osl-1000 [42768112] [4294967295] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967295] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.764063]  exutils-0099 [42768112] [4294967295] ex_enter_interpreter=
  : ----Exit-
[  205.764063] exresnte-0089 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Entry
[  205.764063] nsobject-0266 [42768112] [00] ns_get_attached_object: ----=
Entry ffff880027d6d8e8
[  205.764063] nsobject-0281 [42768112] [00] ns_get_attached_object: ----=
Exit- ffff880027d71288
[  205.764063]  nsutils-0150 [42768112] [00] ns_get_type           : ----=
Entry
[  205.772639]  nsutils-0157 [42768112] [00] ns_get_type           : ----=
Exit- 0000000000000004
[  205.772647] exresnte-0101 [42768112] [4294967295] ex_resolve_node_to_v=
al: Entry=3Dffff880027d6d8e8 SourceDesc=3Dffff880027d71288 [Package]
[  205.772657]   dsargs-0318 [42768112] [00] ds_get_package_argumen: ----=
Entry ffff880027d71288
[  205.772665]   dsargs-0321 [42768112] [00] ds_get_package_argumen: ----=
Exit- AE_OK
[  205.772673] utdelete-0642 [42768112] [00] ut_add_reference      : ----=
Entry ffff880027d71288
[  205.772682] utdelete-0652 [42768112] [00] ut_add_reference      : Obj =
ffff880027d71288 Current Refs=3D1 [To Be Incremented]
[  205.772692] utdelete-0483 [42768112] [01] ut_update_object_refer: ----=
Entry ffff880027d71288
[  205.772712]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  205.772731]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.772752]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.772770]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.772790] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff880027d71288 Refs=3D2, [Incremented]
[  205.772811]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.772828]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.772846]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.772863]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.772881]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  205.772901]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.772919]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.772937]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.772956]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  205.772973]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.772990]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773007]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773027]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  205.773044]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.773064]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773083]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773103]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  205.773122]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.773144]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773160]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773176]  utstate-0233 [42768112] [02] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  205.773195]  utstate-0248 [42768112] [02] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.773212]  utstate-0100 [42768112] [02] ut_push_generic_state : ----=
Entry
[  205.773230]  utstate-0107 [42768112] [02] ut_push_generic_state : ----=
Exit-
[  205.773245] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9d38 Refs=3D2, [Incremented]
[  205.773269]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773287]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.773305]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773321]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773339] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9ea0 Refs=3D2, [Incremented]
[  205.773359]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773378]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.773394]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773413]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773430] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9e58 Refs=3D2, [Incremented]
[  205.773448]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773465]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.773486]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773503]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773517] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9e10 Refs=3D2, [Incremented]
[  205.773539]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773558]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.773575]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773592]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773610] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9dc8 Refs=3D2, [Incremented]
[  205.773629]  utstate-0127 [42768112] [02] ut_pop_generic_state  : ----=
Entry
[  205.773647]  utstate-0139 [42768112] [02] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.773665]  utstate-0339 [42768112] [02] ut_delete_generic_stat: ----=
Entry
[  205.773681]  utstate-0346 [42768112] [02] ut_delete_generic_stat: ----=
Exit-
[  205.773697] utdelete-0393 [42768112] [01] ut_update_ref_count   : Obj =
ffff8800250d9d80 Refs=3D2, [Incremented]
[  205.773705] utdelete-0609 [42768112] [01] ut_update_object_refer: ----=
Exit- AE_OK
[  205.773713] utdelete-0657 [42768112] [00] ut_add_reference      : ----=
Exit-
[  205.773721] exresnte-0277 [42768112] [4294967295] ex_resolve_node_to_v=
al: ----Exit- AE_OK
[  205.773730]  exutils-0151 [42768112] [4294967295] ex_exit_interpreter =
  : ----Entry
[  205.773738]  utmutex-0304 [42768112] [4294967295] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.773747]      osl-1020 [42768112] [4294967295] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.773757]  exutils-0159 [42768112] [4294967295] ex_exit_interpreter =
  : ----Exit-
[  205.773765]   nseval-0247 [42768112] [4294967294] ns_evaluate         =
  : Returning object ffff880027d71288 [Package]
[  205.773775]  nsnames-0139 [42768112] [4294967295] ns_get_external_path=
na: ----Entry ffff880027d6d8e8
[  205.773783]  nsnames-0164 [42768112] [4294967295] ns_get_external_path=
na: ----Exit- ffff88001cfbd2d0
[  205.773792] nspredef-0445 [42768112] [4294967294] ns_check_package    =
  : \_PR_.P007._PSD Validating return Package of Type 5, Count 1
[  205.773802]   nseval-0277 [42768112] [4294967294] ns_evaluate         =
  : *** Completed evaluation of object _PSD ***
[  205.773811]   nseval-0283 [42768112] [4294967294] ns_evaluate         =
  : ----Exit- AE_OK
[  205.773819] utobject-0645 [42768112] [4294967294] ut_get_package_objec=
t_: ----Entry ffff880027d71288
[  205.773828]   utmisc-0941 [42768112] [4294967295] ut_walk_package_tree=
  : ----Entry
[  205.773836]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  205.773845]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.773853]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.773861]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.773869]  utstate-0270 [42768112] [00] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  205.773878]  utstate-0287 [42768112] [00] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.773886] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9d80
[  205.773895] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.773904] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9dc8
[  205.773912] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.773921] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e10
[  205.773935] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.773958] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9e58
[  205.773982] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.774004] utobject-0460 [42768112] [00] ut_get_simple_object_s: ----=
Entry ffff8800250d9ea0
[  205.774028] utobject-0562 [42768112] [00] ut_get_simple_object_s: ----=
Exit- AE_OK
[  205.774051]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.774076]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.774093]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.774113]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.774130]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.774148]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.774164]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.774183]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.774201]   utmisc-0996 [42768112] [4294967295] ut_walk_package_tree=
  : ----Exit- AE_OK
[  205.774215] utobject-0668 [42768112] [4294967294] ut_get_package_objec=
t_: ----Exit- AE_OK
[  205.774236]   utcopy-0400 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Entry
[  205.774253]   utcopy-0342 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Entry
[  205.774272]   utmisc-0941 [42768112] [00] ut_walk_package_tree  : ----=
Entry
[  205.774289]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff880027d71288
[  205.774310]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f000
[  205.774327]  utstate-0100 [42768112] [01] ut_push_generic_state : ----=
Entry
[  205.774342]  utstate-0107 [42768112] [01] ut_push_generic_state : ----=
Exit-
[  205.774363]  utstate-0270 [42768112] [01] ut_create_pkg_state   : ----=
Entry ffff8800250d9d38
[  205.774382]  utstate-0287 [42768112] [01] ut_create_pkg_state   : ----=
Exit- ffff88000282f050
[  205.774399]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774418]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774435]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774453]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774470]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774486]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774505]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774524]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774538]   utcopy-0118 [42768112] [01] ut_copy_isimple_to_esi: ----=
Entry
[  205.774559]   utcopy-0231 [42768112] [01] ut_copy_isimple_to_esi: ----=
Exit- AE_OK
[  205.774579]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.774598]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.774614]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.774629]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.774647]  utstate-0339 [42768112] [01] ut_delete_generic_stat: ----=
Entry
[  205.774665]  utstate-0346 [42768112] [01] ut_delete_generic_stat: ----=
Exit-
[  205.774683]  utstate-0127 [42768112] [01] ut_pop_generic_state  : ----=
Entry
[  205.774703]  utstate-0139 [42768112] [01] ut_pop_generic_state  : ----=
Exit-           (null)
[  205.774720]   utmisc-0996 [42768112] [00] ut_walk_package_tree  : ----=
Exit- AE_OK
[  205.774740]   utcopy-0377 [42768112] [4294967295] ut_copy_ipackage_to_=
ep: ----Exit- AE_OK
[  205.774757]   utcopy-0434 [42768112] [4294967294] ut_copy_iobject_to_e=
ob: ----Exit- AE_OK
[  205.774776]  exutils-0091 [42768112] [4294967294] ex_enter_interpreter=
  : ----Entry
[  205.774792]  utmutex-0261 [42768112] [4294967294] ut_acquire_mutex    =
  : Thread 42768112 attempting to acquire Mutex [ACPI_MTX_Interpreter]
[  205.774812]      osl-0981 [42768112] [4294967294] os_wait_semaphore   =
  : Waiting for semaphore[ffff88003e404340|1|65535]
[  205.774831]      osl-1000 [42768112] [4294967294] os_wait_semaphore   =
  : Acquired semaphore[ffff88003e404340|1|65535] utmutex-0269 [42768112] =
[4294967294] ut_acquire_mutex      : Thread 42768112 acquired Mutex [ACPI=
_MTX_Interpreter]
[  205.774870]  exutils-0099 [42768112] [4294967294] ex_enter_interpreter=
  : ----Exit-
[  205.774889] utdelete-0675 [42768112] [4294967294] ut_remove_reference =
  : ----Entry ffff880027d71288
[  205.774907] utdelete-0695 [42768112] [4294967294] ut_remove_reference =
  : Obj ffff880027d71288 Current Refs=3D2 [To Be Decremented]
[  205.774928] utdelete-0483 [42768112] [4294967295] ut_update_object_ref=
er: ----Entry ffff880027d71288
[  205.774944]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9d38
[  205.774953]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.774961]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.774969]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.774977] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff880027d71288 Refs=3D1, [Decremented]
[  205.774987]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.774994]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.775003]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775011]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775019]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9d80
[  205.775028]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f000
[  205.775036]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775044]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775052]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9dc8
[  205.775061]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f050
[  205.775069]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775077]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775085]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9e10
[  205.775094]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0a0
[  205.775110]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775127]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775145]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9e58
[  205.775165]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f0f0
[  205.775186]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775205]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775221]  utstate-0233 [42768112] [00] ut_create_update_state: ----=
Entry ffff8800250d9ea0
[  205.775236]  utstate-0248 [42768112] [00] ut_create_update_state: ----=
Exit- ffff88000282f140
[  205.775253]  utstate-0100 [42768112] [00] ut_push_generic_state : ----=
Entry
[  205.775269]  utstate-0107 [42768112] [00] ut_push_generic_state : ----=
Exit-
[  205.775284] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d38 Refs=3D1, [Decremented]
[  205.775309]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775328]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f140
[  205.775345]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775365]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775381] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9ea0 Refs=3D1, [Decremented]
[  205.775400]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775416]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0f0
[  205.775434]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775455]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775475] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e58 Refs=3D1, [Decremented]
[  205.775494]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775512]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f0a0
[  205.775528]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775548]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775566] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9e10 Refs=3D1, [Decremented]
[  205.775587]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775603]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f050
[  205.775620]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775638]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775655] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9dc8 Refs=3D1, [Decremented]
[  205.775674]  utstate-0127 [42768112] [00] ut_pop_generic_state  : ----=
Entry
[  205.775691]  utstate-0139 [42768112] [00] ut_pop_generic_state  : ----=
Exit- ffff88000282f000
[  205.775709]  utstate-0339 [42768112] [00] ut_delete_generic_stat: ----=
Entry
[  205.775728]  utstate-0346 [42768112] [00] ut_delete_generic_stat: ----=
Exit-
[  205.775744] utdelete-0409 [42768112] [4294967295] ut_update_ref_count =
  : Obj ffff8800250d9d80 Refs=3D1, [Decremented]
[  205.775764] utdelete-0609 [42768112] [4294967295] ut_update_object_ref=
er: ----Exit- AE_OK
[  205.775784] utdelete-0703 [42768112] [4294967294] ut_remove_reference =
  : ----Exit-
[  205.775805]  exutils-0151 [42768112] [4294967294] ex_exit_interpreter =
  : ----Entry
[  205.775824]  utmutex-0304 [42768112] [4294967294] ut_release_mutex    =
  : Thread 42768112 releasing Mutex [ACPI_MTX_Interpreter]
[  205.775841]      osl-1020 [42768112] [4294967294] os_signal_semaphore =
  : Signaling semaphore[ffff88003e404340|1]
[  205.775861]  exutils-0159 [42768112] [4294967294] ex_exit_interpreter =
  : ----Exit-
[  205.775881] nsxfeval-0358 [42768112] [4294967293] evaluate_object     =
  : ----Exit- AE_OK
[  205.775900] xen-acpi-processor: register_performance(0) =3D -19

--------------060305080106050804080206--

--------------enig44CE6C0905155E36B06E265B
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPoldaAAoJEOhnXe7L7s6jjBAQAKFCK1qzxw0UjU51NEfoD5g1
f5bXe9KdgtRUqDIUs/dEVv0jBH4595SOn8ghksziBeKiIV2lh4ocZVtfP3U6pJdt
+fq7Wxtp2yhcmSFXHHXmLIHkcI+WwMcZMSYKliruybBM+oYRGiq7/BxanaGwBK7A
j2n/+7M28b3pjjI2X/Yi97ArSPN15HseasuglUZL03bbUV0KG/MdZsxZHRNp1tor
sHeIS9PfscZfTobxLnPrY54x7HQSUvpIoU9eiZVRwQv318jQWNhyzf0kZcQiFwoG
3HHoJ/KASTIplmiR9bkCDJon0p/8dry/8XPZQdRB4MrwVfEeOFQ6qPiYWROgbonj
6vZPfDpa62mhdYIfcRf4ebcJuYpAIblzVdRuRpkBotYVcJ+lTAOWem7bEcKBuXcl
e2d2/uA/pQveBuMQAapECG7e8LUaLrffJfx5jrpow++RtoSgiFKKpEUSqU7Hc6fk
rBoVzaCII3M9Psn1cZLiLMUHRRubgjf54HpSLP2i8NUxPJ0lraemUnk6lrhYQLmI
etH2rtedVDws5hSmT9AoEag8zStceyzpxB8+P4gAP5+cdIIXzA1bZA51QakLaz6Y
Uc1F6Q0yEcEUxEdnR2BLZk2rJE+CBCTSEaDcceNIF9ruDVPXoluy04We5gmiNRVY
N2q8M50EaMTVgEONU+YH
=UqC/
-----END PGP SIGNATURE-----

--------------enig44CE6C0905155E36B06E265B--


--===============4024771420858992763==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4024771420858992763==--


From xen-devel-bounces@lists.xen.org Thu May 03 10:15:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPt3r-0001hp-W2; Thu, 03 May 2012 10:14:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <codinggeek16@gmail.com>) id 1SPt3q-0001hk-5X
	for xen-devel@lists.xen.org; Thu, 03 May 2012 10:14:58 +0000
Received: from [85.158.143.99:8012] by server-2.bemta-4.messagelabs.com id
	EF/DF-17550-1AA52AF4; Thu, 03 May 2012 10:14:57 +0000
X-Env-Sender: codinggeek16@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336040095!16536617!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11609 invoked from network); 3 May 2012 10:14:56 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:14:56 -0000
Received: by vbbfs19 with SMTP id fs19so1425886vbb.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 03:14:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=xHVNdccwE87pt2ZhX7NuLYL1lZkhzrGM4EPs3WVBahw=;
	b=ijcD074lkMpRnfBpTOZLBt9l22UeDogaiQIi/B5m0Jiju/dVOArrX63l1PO6TTT3qE
	3QaT3Jylb3IcDVHxYEMYgj6lYIec18IkH2C6rl5e0DiHJrNFRnPDqwsHee/28Dp1EFlC
	0Pw1fT2CiRteNJPbFpQR/U9YeL9KdndBqWFQmJwTO/AXCimHHBFM8/LfwD0LOtuAb/vT
	zG/BCX8u3h3uER8kBTnLBXWt+4y92x9QiLa8+Q0u10XzLq23K7o2XNpSxuqqcWCsql1i
	yAR2/WViqpt2NgvFg8gDYF9vEJjiCarJ7YW9Br+Q/ieNcMB4uoTBlYfacyr3J+8/HfBC
	m9XA==
MIME-Version: 1.0
Received: by 10.52.175.138 with SMTP id ca10mr676067vdc.114.1336040095540;
	Thu, 03 May 2012 03:14:55 -0700 (PDT)
Received: by 10.52.94.41 with HTTP; Thu, 3 May 2012 03:14:55 -0700 (PDT)
In-Reply-To: <CADKnxgHGr+aQu9jqfeJA9Uv+E58ZJWqfgFKyvm7f4V6pC168sg@mail.gmail.com>
References: <CADKnxgHGr+aQu9jqfeJA9Uv+E58ZJWqfgFKyvm7f4V6pC168sg@mail.gmail.com>
Date: Thu, 3 May 2012 15:44:55 +0530
Message-ID: <CADKnxgGD0eAHCvkG+oJOcWh8msRQgn-jiDQJ+dJA5JPa4_6ZFA@mail.gmail.com>
From: Coding Geek <codinggeek16@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] Fwd: Does xen implement VIR_MIGRATE_PERSIST_DEST flag
 while migrating live using xen+ssh
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4185954824579471014=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4185954824579471014==
Content-Type: multipart/alternative; boundary=bcaec50fe05b4ce4f104bf1f13d1

--bcaec50fe05b4ce4f104bf1f13d1
Content-Type: text/plain; charset=ISO-8859-1

Hello
I am working with 3 host machines each running xen with shared NFS storage.
I am working on automatic load balancing if one host is over utilized and
another is under utilized by measuring the utilization from xentop. I am
facing a problem after migration of VM. I am setting the flags ( 1| 8| 16)
in order to do live migration, persist VM on destination, undefine host
from source. After migration if I shut off the migrated VM on destination
host it does not persist. I am using the migrateToURI() API for migration.

Please help how to make VM persist on destination.

Thank you,
Tasvinder Singh

--bcaec50fe05b4ce4f104bf1f13d1
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote"><div class=3D"gmail_quote"><div class=3D"gmail_e=
xtra"><div class=3D"gmail_quote"><div class=3D"gmail_extra">Hello<br>I am w=
orking with 3 host machines each running xen with shared NFS storage. I am =
working on automatic load balancing if one host is over utilized and anothe=
r is under utilized by measuring the utilization from xentop. I am facing a=
 problem after migration of VM. I am setting the flags ( 1| 8| 16) in order=
 to do live migration, persist VM on destination, undefine host from source=
. After migration if I shut off the migrated VM on destination host it does=
 not persist. I am using the migrateToURI() API for migration.<br>




<br>Please help how to make VM persist on destination.<br><br>Thank you,<br=
>Tasvinder Singh<br><br><div style=3D"color:rgb(136,136,136);font-size:13px=
;font-family:arial,sans-serif"><span style=3D"font-size:12pt;line-height:18=
px;font-family:&#39;Times New Roman&#39;,serif"></span></div>



</div>
</div>
</div>
</div><br>
</div><br>

--bcaec50fe05b4ce4f104bf1f13d1--


--===============4185954824579471014==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4185954824579471014==--


From xen-devel-bounces@lists.xen.org Thu May 03 10:15:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPt3r-0001hp-W2; Thu, 03 May 2012 10:14:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <codinggeek16@gmail.com>) id 1SPt3q-0001hk-5X
	for xen-devel@lists.xen.org; Thu, 03 May 2012 10:14:58 +0000
Received: from [85.158.143.99:8012] by server-2.bemta-4.messagelabs.com id
	EF/DF-17550-1AA52AF4; Thu, 03 May 2012 10:14:57 +0000
X-Env-Sender: codinggeek16@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336040095!16536617!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11609 invoked from network); 3 May 2012 10:14:56 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:14:56 -0000
Received: by vbbfs19 with SMTP id fs19so1425886vbb.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 03:14:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=xHVNdccwE87pt2ZhX7NuLYL1lZkhzrGM4EPs3WVBahw=;
	b=ijcD074lkMpRnfBpTOZLBt9l22UeDogaiQIi/B5m0Jiju/dVOArrX63l1PO6TTT3qE
	3QaT3Jylb3IcDVHxYEMYgj6lYIec18IkH2C6rl5e0DiHJrNFRnPDqwsHee/28Dp1EFlC
	0Pw1fT2CiRteNJPbFpQR/U9YeL9KdndBqWFQmJwTO/AXCimHHBFM8/LfwD0LOtuAb/vT
	zG/BCX8u3h3uER8kBTnLBXWt+4y92x9QiLa8+Q0u10XzLq23K7o2XNpSxuqqcWCsql1i
	yAR2/WViqpt2NgvFg8gDYF9vEJjiCarJ7YW9Br+Q/ieNcMB4uoTBlYfacyr3J+8/HfBC
	m9XA==
MIME-Version: 1.0
Received: by 10.52.175.138 with SMTP id ca10mr676067vdc.114.1336040095540;
	Thu, 03 May 2012 03:14:55 -0700 (PDT)
Received: by 10.52.94.41 with HTTP; Thu, 3 May 2012 03:14:55 -0700 (PDT)
In-Reply-To: <CADKnxgHGr+aQu9jqfeJA9Uv+E58ZJWqfgFKyvm7f4V6pC168sg@mail.gmail.com>
References: <CADKnxgHGr+aQu9jqfeJA9Uv+E58ZJWqfgFKyvm7f4V6pC168sg@mail.gmail.com>
Date: Thu, 3 May 2012 15:44:55 +0530
Message-ID: <CADKnxgGD0eAHCvkG+oJOcWh8msRQgn-jiDQJ+dJA5JPa4_6ZFA@mail.gmail.com>
From: Coding Geek <codinggeek16@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] Fwd: Does xen implement VIR_MIGRATE_PERSIST_DEST flag
 while migrating live using xen+ssh
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4185954824579471014=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4185954824579471014==
Content-Type: multipart/alternative; boundary=bcaec50fe05b4ce4f104bf1f13d1

--bcaec50fe05b4ce4f104bf1f13d1
Content-Type: text/plain; charset=ISO-8859-1

Hello
I am working with 3 host machines each running xen with shared NFS storage.
I am working on automatic load balancing if one host is over utilized and
another is under utilized by measuring the utilization from xentop. I am
facing a problem after migration of VM. I am setting the flags ( 1| 8| 16)
in order to do live migration, persist VM on destination, undefine host
from source. After migration if I shut off the migrated VM on destination
host it does not persist. I am using the migrateToURI() API for migration.

Please help how to make VM persist on destination.

Thank you,
Tasvinder Singh

--bcaec50fe05b4ce4f104bf1f13d1
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote"><div class=3D"gmail_quote"><div class=3D"gmail_e=
xtra"><div class=3D"gmail_quote"><div class=3D"gmail_extra">Hello<br>I am w=
orking with 3 host machines each running xen with shared NFS storage. I am =
working on automatic load balancing if one host is over utilized and anothe=
r is under utilized by measuring the utilization from xentop. I am facing a=
 problem after migration of VM. I am setting the flags ( 1| 8| 16) in order=
 to do live migration, persist VM on destination, undefine host from source=
. After migration if I shut off the migrated VM on destination host it does=
 not persist. I am using the migrateToURI() API for migration.<br>




<br>Please help how to make VM persist on destination.<br><br>Thank you,<br=
>Tasvinder Singh<br><br><div style=3D"color:rgb(136,136,136);font-size:13px=
;font-family:arial,sans-serif"><span style=3D"font-size:12pt;line-height:18=
px;font-family:&#39;Times New Roman&#39;,serif"></span></div>



</div>
</div>
</div>
</div><br>
</div><br>

--bcaec50fe05b4ce4f104bf1f13d1--


--===============4185954824579471014==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4185954824579471014==--


From xen-devel-bounces@lists.xen.org Thu May 03 10:17:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPt6G-0001nG-K9; Thu, 03 May 2012 10:17:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPt6F-0001n7-2e
	for xen-devel@lists.xen.org; Thu, 03 May 2012 10:17:27 +0000
Received: from [193.109.254.147:51017] by server-2.bemta-14.messagelabs.com id
	95/58-19409-63B52AF4; Thu, 03 May 2012 10:17:26 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336040244!2274508!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16832 invoked from network); 3 May 2012 10:17:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:17:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330923600"; d="scan'208";a="193200670"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 06:17:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 06:17:23 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPt6B-0007Am-JR;
	Thu, 03 May 2012 11:17:23 +0100
Message-ID: <4FA25AEF.8010403@eu.citrix.com>
Date: Thu, 3 May 2012 11:16:15 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <dario.faggioli@citrix.com>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com> <1335976251.2961.123.camel@Abyss>
	<1336007032.874.12.camel@Abyss>
In-Reply-To: <1336007032.874.12.camel@Abyss>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/12 02:03, Dario Faggioli wrote:
> Actually, thinking more about this, I'm not even sure I can do what I
> stated above. In fact, I don't think I can assume the number of CPUs
> each node is made up of to be known, without actually checking it for
> the specific node(s) I want to try using. What if some CPUs are off-line
> and stuff like that?
Hmm, yeah, off-line cpus are certainly going to be an issue.  If each 
node has an equal number of cores, we should at least be able to find a 
*minimum* number of nodes, and then increase it from there; then in the 
common case (where there are no offline cpus), we'll only have a single 
pass.

But I think the priority right now is getting something useable for the 
4.2 release; so I think getting to a reasonable functionality quickly 
(i.e., with a minimum amount of effort from you) makes sense.  If that 
means leaving it as is for the moment, that's fine.  This won't be a hot 
path, so a little bit of inefficiency should be acceptable.  We can 
always come back and revisit it later.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:17:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPt6G-0001nG-K9; Thu, 03 May 2012 10:17:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPt6F-0001n7-2e
	for xen-devel@lists.xen.org; Thu, 03 May 2012 10:17:27 +0000
Received: from [193.109.254.147:51017] by server-2.bemta-14.messagelabs.com id
	95/58-19409-63B52AF4; Thu, 03 May 2012 10:17:26 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336040244!2274508!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16832 invoked from network); 3 May 2012 10:17:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:17:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330923600"; d="scan'208";a="193200670"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 06:17:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 06:17:23 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPt6B-0007Am-JR;
	Thu, 03 May 2012 11:17:23 +0100
Message-ID: <4FA25AEF.8010403@eu.citrix.com>
Date: Thu, 3 May 2012 11:16:15 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <dario.faggioli@citrix.com>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com> <1335976251.2961.123.camel@Abyss>
	<1336007032.874.12.camel@Abyss>
In-Reply-To: <1336007032.874.12.camel@Abyss>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/12 02:03, Dario Faggioli wrote:
> Actually, thinking more about this, I'm not even sure I can do what I
> stated above. In fact, I don't think I can assume the number of CPUs
> each node is made up of to be known, without actually checking it for
> the specific node(s) I want to try using. What if some CPUs are off-line
> and stuff like that?
Hmm, yeah, off-line cpus are certainly going to be an issue.  If each 
node has an equal number of cores, we should at least be able to find a 
*minimum* number of nodes, and then increase it from there; then in the 
common case (where there are no offline cpus), we'll only have a single 
pass.

But I think the priority right now is getting something useable for the 
4.2 release; so I think getting to a reasonable functionality quickly 
(i.e., with a minimum amount of effort from you) makes sense.  If that 
means leaving it as is for the moment, that's fine.  This won't be a hot 
path, so a little bit of inefficiency should be acceptable.  We can 
always come back and revisit it later.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:24:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:24:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtCF-00024k-LT; Thu, 03 May 2012 10:23:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SPtCD-00024e-QJ
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:23:38 +0000
Received: from [85.158.138.51:20473] by server-8.bemta-3.messagelabs.com id
	81/BC-24428-9AC52AF4; Thu, 03 May 2012 10:23:37 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336040615!24994846!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26345 invoked from network); 3 May 2012 10:23:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:23:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12269564"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 10:23:34 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 11:23:34 +0100
Date: Thu, 3 May 2012 11:20:34 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120503102034.GA11043@eire.uk.xensource.com>
References: <20120313173504.GB13033@phenom.dumpdata.com>
	<20120313180422.GA28716@eire.uk.xensource.com>
	<20120313190917.GA31144@eire.uk.xensource.com>
	<20120313192541.GA4969@phenom.dumpdata.com>
	<20120313223437.GA5180@eire.uk.xensource.com>
	<20120313234503.GA18924@phenom.dumpdata.com>
	<20120316191127.GA6668@eire.uk.xensource.com>
	<20120316195907.GA6228@phenom.dumpdata.com>
	<20120318155034.GA24315@eire.uk.xensource.com>
	<20120502195035.GA31755@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120502195035.GA31755@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"dave.mccracken@oracle.com" <dave.mccracken@oracle.com>
Subject: Re: [Xen-devel] crash in is_xen_swiotlb_buffer
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 02 May 2012, Konrad Rzeszutek Wilk wrote:
...snip...
> > [    0.000000] Hardware name: PowerEdge R310
> > [    0.000000] Modules linked in:
> > [    0.000000] Pid: 0, comm: swapper Not tainted 3.2.9 #9
> > [    0.000000] Call Trace:
> > [    0.000000]  [<c104236b>] ? warn_slowpath_common+0x6a/0x7b
> > [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> > [    0.000000]  [<c1042389>] ? warn_slowpath_null+0xd/0x10
> > [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> > [    0.000000]  [<c1005f3b>] ? xen_set_pmd_hyper+0x3c/0x42
> > [    0.000000]  [<c102edbe>] ? set_pmd_pfn+0xde/0xf9
> > [    0.000000]  [<c168b652>] ? init_alloc_remap+0x1b3/0x216
> > [    0.000000]  [<c168aa48>] ? setup_node_data+0x4c/0x22f
> > [    0.000000]  [<c168b203>] ? T.744+0x290/0x2c2
> > [    0.000000]  [<c168b2ac>] ? T.743+0x77/0x1a1
> > [    0.000000]  [<c1025290>] ? default_get_apic_id+0x14/0x33
> > [    0.000000]  [<c168b3ed>] ? initmem_init+0x5/0xb7
> > [    0.000000]  [<c167cef4>] ? setup_arch+0x5bf/0x694
> > [    0.000000]  [<c100b840>] ? __spin_time_accum+0x26/0x36
> > [    0.000000]  [<c167852c>] ? start_kernel+0x81/0x34d
> > [    0.000000]  [<c167a258>] ? xen_start_kernel+0x554/0x55b
> > [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---
> 
> So I've been able to reproduce this and it is due to CONFIG_NUMA=y
> set on 32-bit builds.
> 
> From a brief look, it looks as this is happening:
> 
>         /* perform actual remap */
>         for (pfn = 0; pfn < size >> PAGE_SHIFT; pfn += PTRS_PER_PTE)
>                 set_pmd_pfn((unsigned long)remap_va + (pfn << PAGE_SHIFT),
>                             (node_pa >> PAGE_SHIFT) + pfn,
>                             PAGE_KERNEL_LARGE);
> 
> The PAGE_KERNEL_LARGE means that the PSE bit (so the 2MB) is set
> which is a no-no. What is weird is that acpi_numa is disabled when booting
> under Xen, but somehow this (which in my case was the 'fake_numa' code)
> still gets turned on. Even doing 'numa=off' on the command line causes
> this to appear.

Thanks for the investigation, I'll turn off NUMA in my config. 

Goncalo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:24:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:24:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtCF-00024k-LT; Thu, 03 May 2012 10:23:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SPtCD-00024e-QJ
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:23:38 +0000
Received: from [85.158.138.51:20473] by server-8.bemta-3.messagelabs.com id
	81/BC-24428-9AC52AF4; Thu, 03 May 2012 10:23:37 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336040615!24994846!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26345 invoked from network); 3 May 2012 10:23:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:23:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12269564"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 10:23:34 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 11:23:34 +0100
Date: Thu, 3 May 2012 11:20:34 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120503102034.GA11043@eire.uk.xensource.com>
References: <20120313173504.GB13033@phenom.dumpdata.com>
	<20120313180422.GA28716@eire.uk.xensource.com>
	<20120313190917.GA31144@eire.uk.xensource.com>
	<20120313192541.GA4969@phenom.dumpdata.com>
	<20120313223437.GA5180@eire.uk.xensource.com>
	<20120313234503.GA18924@phenom.dumpdata.com>
	<20120316191127.GA6668@eire.uk.xensource.com>
	<20120316195907.GA6228@phenom.dumpdata.com>
	<20120318155034.GA24315@eire.uk.xensource.com>
	<20120502195035.GA31755@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120502195035.GA31755@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"dave.mccracken@oracle.com" <dave.mccracken@oracle.com>
Subject: Re: [Xen-devel] crash in is_xen_swiotlb_buffer
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 02 May 2012, Konrad Rzeszutek Wilk wrote:
...snip...
> > [    0.000000] Hardware name: PowerEdge R310
> > [    0.000000] Modules linked in:
> > [    0.000000] Pid: 0, comm: swapper Not tainted 3.2.9 #9
> > [    0.000000] Call Trace:
> > [    0.000000]  [<c104236b>] ? warn_slowpath_common+0x6a/0x7b
> > [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> > [    0.000000]  [<c1042389>] ? warn_slowpath_null+0xd/0x10
> > [    0.000000]  [<c1005442>] ? xen_mc_issue+0x34/0x62
> > [    0.000000]  [<c1005f3b>] ? xen_set_pmd_hyper+0x3c/0x42
> > [    0.000000]  [<c102edbe>] ? set_pmd_pfn+0xde/0xf9
> > [    0.000000]  [<c168b652>] ? init_alloc_remap+0x1b3/0x216
> > [    0.000000]  [<c168aa48>] ? setup_node_data+0x4c/0x22f
> > [    0.000000]  [<c168b203>] ? T.744+0x290/0x2c2
> > [    0.000000]  [<c168b2ac>] ? T.743+0x77/0x1a1
> > [    0.000000]  [<c1025290>] ? default_get_apic_id+0x14/0x33
> > [    0.000000]  [<c168b3ed>] ? initmem_init+0x5/0xb7
> > [    0.000000]  [<c167cef4>] ? setup_arch+0x5bf/0x694
> > [    0.000000]  [<c100b840>] ? __spin_time_accum+0x26/0x36
> > [    0.000000]  [<c167852c>] ? start_kernel+0x81/0x34d
> > [    0.000000]  [<c167a258>] ? xen_start_kernel+0x554/0x55b
> > [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---
> 
> So I've been able to reproduce this and it is due to CONFIG_NUMA=y
> set on 32-bit builds.
> 
> From a brief look, it looks as this is happening:
> 
>         /* perform actual remap */
>         for (pfn = 0; pfn < size >> PAGE_SHIFT; pfn += PTRS_PER_PTE)
>                 set_pmd_pfn((unsigned long)remap_va + (pfn << PAGE_SHIFT),
>                             (node_pa >> PAGE_SHIFT) + pfn,
>                             PAGE_KERNEL_LARGE);
> 
> The PAGE_KERNEL_LARGE means that the PSE bit (so the 2MB) is set
> which is a no-no. What is weird is that acpi_numa is disabled when booting
> under Xen, but somehow this (which in my case was the 'fake_numa' code)
> still gets turned on. Even doing 'numa=off' on the command line causes
> this to appear.

Thanks for the investigation, I'll turn off NUMA in my config. 

Goncalo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:44:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:44:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtVf-0002HZ-G4; Thu, 03 May 2012 10:43:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPtVe-0002HU-EP
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:43:42 +0000
Received: from [85.158.143.99:56752] by server-2.bemta-4.messagelabs.com id
	69/CC-17550-D5162AF4; Thu, 03 May 2012 10:43:41 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336041820!26292210!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11288 invoked from network); 3 May 2012 10:43:41 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-15.tower-216.messagelabs.com with SMTP;
	3 May 2012 10:43:41 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id A9E7B1AC290;
	Thu,  3 May 2012 12:43:38 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id VMlrWUOAcFYB; Thu,  3 May 2012 12:43:38 +0200 (CEST)
Received: from [10.0.0.1] (p579469B6.dip.t-dialin.net [87.148.105.182])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Thu,  3 May 2012 12:43:38 +0200 (CEST)
Message-ID: <4FA2615C.1000301@hfp.de>
Date: Thu, 03 May 2012 12:43:40 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
In-Reply-To: <1335965470.26758.58.camel@zakaz.uk.xensource.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02.05.2012 15:31, Ian Campbell wrote:
> Did you happen to also compare 3.2.12 and 2.6.34.10 running these
> workloads natively?

Yes, I tested against 2.6.32.x. Differences exist, but are minor.

time emerge apache:

		2.6.32.36	3.2.12		3.3.4
	real    0m31.419s	0m34.770s	0m35.210s
	user    0m45.479s	0m38.994s	0m39.750s
	sys     0m6.488s	0m4.584s	0m4.928s

make -j4:

		2.6.32.36	3.2.12		3.3.4
	real    2m3.531s	2m4.423s	2m2.348s
	user    7m45.817s	7m21.456s	7m18.291s
	sys     0m35.194s	0m28.758s	0m28.974s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:44:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:44:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtVf-0002HZ-G4; Thu, 03 May 2012 10:43:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPtVe-0002HU-EP
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:43:42 +0000
Received: from [85.158.143.99:56752] by server-2.bemta-4.messagelabs.com id
	69/CC-17550-D5162AF4; Thu, 03 May 2012 10:43:41 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336041820!26292210!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11288 invoked from network); 3 May 2012 10:43:41 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-15.tower-216.messagelabs.com with SMTP;
	3 May 2012 10:43:41 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id A9E7B1AC290;
	Thu,  3 May 2012 12:43:38 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id VMlrWUOAcFYB; Thu,  3 May 2012 12:43:38 +0200 (CEST)
Received: from [10.0.0.1] (p579469B6.dip.t-dialin.net [87.148.105.182])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Thu,  3 May 2012 12:43:38 +0200 (CEST)
Message-ID: <4FA2615C.1000301@hfp.de>
Date: Thu, 03 May 2012 12:43:40 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
In-Reply-To: <1335965470.26758.58.camel@zakaz.uk.xensource.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02.05.2012 15:31, Ian Campbell wrote:
> Did you happen to also compare 3.2.12 and 2.6.34.10 running these
> workloads natively?

Yes, I tested against 2.6.32.x. Differences exist, but are minor.

time emerge apache:

		2.6.32.36	3.2.12		3.3.4
	real    0m31.419s	0m34.770s	0m35.210s
	user    0m45.479s	0m38.994s	0m39.750s
	sys     0m6.488s	0m4.584s	0m4.928s

make -j4:

		2.6.32.36	3.2.12		3.3.4
	real    2m3.531s	2m4.423s	2m2.348s
	user    7m45.817s	7m21.456s	7m18.291s
	sys     0m35.194s	0m28.758s	0m28.974s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:47:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:47:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtYo-0002QH-Ge; Thu, 03 May 2012 10:46:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPtYn-0002Q6-6j
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:46:57 +0000
Received: from [85.158.138.51:34307] by server-12.bemta-3.messagelabs.com id
	32/FF-29760-02262AF4; Thu, 03 May 2012 10:46:56 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336042015!25000696!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26889 invoked from network); 3 May 2012 10:46:55 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-3.tower-174.messagelabs.com with SMTP;
	3 May 2012 10:46:55 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id D78B41AC290;
	Thu,  3 May 2012 12:46:54 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id Ac5UyBH5UB9k; Thu,  3 May 2012 12:46:54 +0200 (CEST)
Received: from [10.0.0.1] (p579469B6.dip.t-dialin.net [87.148.105.182])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Thu,  3 May 2012 12:46:54 +0200 (CEST)
Message-ID: <4FA26220.40205@hfp.de>
Date: Thu, 03 May 2012 12:46:56 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: George Dunlap <dunlapg@umich.edu>
References: <4FA1328B.6070602@hfp.de> <4FA13708.4050202@cantab.net>
	<4FA16875.5020801@hfp.de>
	<CAFLBxZZbgx=kGBQm-y682kmtW5ytOSeac4m_AedGU-a8JLUfeg@mail.gmail.com>
In-Reply-To: <CAFLBxZZbgx=kGBQm-y682kmtW5ytOSeac4m_AedGU-a8JLUfeg@mail.gmail.com>
Cc: David Vrabel <dvrabel@cantab.net>, Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03.05.2012 10:32, George Dunlap wrote:
>>> Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
>>> check for pending events when restoring irq flags"[1] and see how much
>>> it helps?
>> There is some minor improvement - but it is still far away from xenified
>> 2.6.34.10.
> Just FYI, the reason Ian suggested making the same comparison for
> native is that the performance of linux overall on bare-metal has also
> suffered since 2.6.34.  It's likely that a non-trivial amount of the
> performance regression is due to moving from 2.6.34 to 3.{2,3}, over
> and above whatever regressions may have happened when moving from
> xenified to pvops.

I took his suggestion serious - and actually I had performed these tests 
(see my other post). Unfortunately, the minor loss on bare-metal and the 
huge loss on xenified 2.6.34 vs pvops 3.x show that the problem is 
clearly with the Xen changes and not the bare-metal changes.

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:47:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:47:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtYo-0002QH-Ge; Thu, 03 May 2012 10:46:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SPtYn-0002Q6-6j
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:46:57 +0000
Received: from [85.158.138.51:34307] by server-12.bemta-3.messagelabs.com id
	32/FF-29760-02262AF4; Thu, 03 May 2012 10:46:56 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336042015!25000696!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26889 invoked from network); 3 May 2012 10:46:55 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-3.tower-174.messagelabs.com with SMTP;
	3 May 2012 10:46:55 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id D78B41AC290;
	Thu,  3 May 2012 12:46:54 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id Ac5UyBH5UB9k; Thu,  3 May 2012 12:46:54 +0200 (CEST)
Received: from [10.0.0.1] (p579469B6.dip.t-dialin.net [87.148.105.182])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Thu,  3 May 2012 12:46:54 +0200 (CEST)
Message-ID: <4FA26220.40205@hfp.de>
Date: Thu, 03 May 2012 12:46:56 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: George Dunlap <dunlapg@umich.edu>
References: <4FA1328B.6070602@hfp.de> <4FA13708.4050202@cantab.net>
	<4FA16875.5020801@hfp.de>
	<CAFLBxZZbgx=kGBQm-y682kmtW5ytOSeac4m_AedGU-a8JLUfeg@mail.gmail.com>
In-Reply-To: <CAFLBxZZbgx=kGBQm-y682kmtW5ytOSeac4m_AedGU-a8JLUfeg@mail.gmail.com>
Cc: David Vrabel <dvrabel@cantab.net>, Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03.05.2012 10:32, George Dunlap wrote:
>>> Can you apply 7eb7ce4d2e8991aff4ecb71a81949a907ca755ac "xen: correctly
>>> check for pending events when restoring irq flags"[1] and see how much
>>> it helps?
>> There is some minor improvement - but it is still far away from xenified
>> 2.6.34.10.
> Just FYI, the reason Ian suggested making the same comparison for
> native is that the performance of linux overall on bare-metal has also
> suffered since 2.6.34.  It's likely that a non-trivial amount of the
> performance regression is due to moving from 2.6.34 to 3.{2,3}, over
> and above whatever regressions may have happened when moving from
> xenified to pvops.

I took his suggestion serious - and actually I had performed these tests 
(see my other post). Unfortunately, the minor loss on bare-metal and the 
huge loss on xenified 2.6.34 vs pvops 3.x show that the problem is 
clearly with the Xen changes and not the bare-metal changes.

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:52:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:52:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtdi-0002gv-8H; Thu, 03 May 2012 10:52:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPtdg-0002go-Ni
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:52:00 +0000
Received: from [85.158.139.83:53236] by server-1.bemta-5.messagelabs.com id
	45/FB-28458-F4362AF4; Thu, 03 May 2012 10:51:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336042319!19344778!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28325 invoked from network); 3 May 2012 10:51:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:51:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12270344"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 10:51:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	11:51:59 +0100
Message-ID: <1336042317.20716.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andreas Kinzler <ml-xen-devel@hfp.de>
Date: Thu, 3 May 2012 11:51:57 +0100
In-Reply-To: <4FA2615C.1000301@hfp.de>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
	<4FA2615C.1000301@hfp.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 11:43 +0100, Andreas Kinzler wrote:
> On 02.05.2012 15:31, Ian Campbell wrote:
> > Did you happen to also compare 3.2.12 and 2.6.34.10 running these
> > workloads natively?
> 
> Yes, I tested against 2.6.32.x. Differences exist, but are minor.

Good to know, thanks for testing

The other potential Xen perf thing which just occurred to to me is the
ACPI power management stuff which the xen-acpi-processor patches in
3.4-rcN are fixing. These are necessary to enable things like turbo mode
so have a pretty large perf impact.

Are you able to try the latest 3.4-rc kernel?

I'm not sure if backports to the kernels you are running exist or not,
Konrad? 

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 10:52:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 10:52:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPtdi-0002gv-8H; Thu, 03 May 2012 10:52:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPtdg-0002go-Ni
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 10:52:00 +0000
Received: from [85.158.139.83:53236] by server-1.bemta-5.messagelabs.com id
	45/FB-28458-F4362AF4; Thu, 03 May 2012 10:51:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336042319!19344778!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28325 invoked from network); 3 May 2012 10:51:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 10:51:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12270344"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 10:51:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	11:51:59 +0100
Message-ID: <1336042317.20716.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andreas Kinzler <ml-xen-devel@hfp.de>
Date: Thu, 3 May 2012 11:51:57 +0100
In-Reply-To: <4FA2615C.1000301@hfp.de>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
	<4FA2615C.1000301@hfp.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 11:43 +0100, Andreas Kinzler wrote:
> On 02.05.2012 15:31, Ian Campbell wrote:
> > Did you happen to also compare 3.2.12 and 2.6.34.10 running these
> > workloads natively?
> 
> Yes, I tested against 2.6.32.x. Differences exist, but are minor.

Good to know, thanks for testing

The other potential Xen perf thing which just occurred to to me is the
ACPI power management stuff which the xen-acpi-processor patches in
3.4-rcN are fixing. These are necessary to enable things like turbo mode
so have a pretty large perf impact.

Are you able to try the latest 3.4-rc kernel?

I'm not sure if backports to the kernels you are running exist or not,
Konrad? 

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:24:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPu8Y-00035N-CJ; Thu, 03 May 2012 11:23:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPu8X-00035I-5Z
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:23:53 +0000
Received: from [85.158.143.99:55092] by server-3.bemta-4.messagelabs.com id
	14/7E-05853-8CA62AF4; Thu, 03 May 2012 11:23:52 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336044231!16690530!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30133 invoked from network); 3 May 2012 11:23:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:23:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12271079"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:23:46 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 12:23:46 +0100
Date: Thu, 3 May 2012 12:31:14 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Andreas Kinzler <ml-xen-devel@hfp.de>
In-Reply-To: <4FA1328B.6070602@hfp.de>
Message-ID: <alpine.DEB.2.00.1205031227330.26786@kaball-desktop>
References: <4FA1328B.6070602@hfp.de>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2 May 2012, Andreas Kinzler wrote:
> Hello Jeremy + Konrad + all kernel devs,
> 
> while it is great to see that vanilla dom0 seems to work, the 
> performance breakdown compared to xenified 2.6.34 (from opensuse) is 
> huge. Here are my benchmarks:
> 

Thanks for running benchmarks!


> Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs
> 
> time emerge apache:
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    1m0.560s	0m59.971s	0m47.689s
> 	user    0m40.939s	0m40.619s	0m41.355s
> 	sys     0m18.865s	0m18.305s	0m11.441s
> 
> time make -j4 (3.2.12 linux compile):
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    5m8.793s	5m4.888s	4m20.576s
> 	user    8m1.746s	7m59.726s	7m10.375s
> 	sys     1m39.010s	1m32.994s	0m56.304s

Just for clarity, are you running this in dom0 (not in a VM), correct?

If you are running the test in a VM, is it a PV or an HVM guest? What is
the guest kernel version? What is the vcpu and memory configuration?
And finally, what are you using as the disk image (file or LVM)?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:24:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPu8Y-00035N-CJ; Thu, 03 May 2012 11:23:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPu8X-00035I-5Z
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:23:53 +0000
Received: from [85.158.143.99:55092] by server-3.bemta-4.messagelabs.com id
	14/7E-05853-8CA62AF4; Thu, 03 May 2012 11:23:52 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336044231!16690530!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30133 invoked from network); 3 May 2012 11:23:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:23:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12271079"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:23:46 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 12:23:46 +0100
Date: Thu, 3 May 2012 12:31:14 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Andreas Kinzler <ml-xen-devel@hfp.de>
In-Reply-To: <4FA1328B.6070602@hfp.de>
Message-ID: <alpine.DEB.2.00.1205031227330.26786@kaball-desktop>
References: <4FA1328B.6070602@hfp.de>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2 May 2012, Andreas Kinzler wrote:
> Hello Jeremy + Konrad + all kernel devs,
> 
> while it is great to see that vanilla dom0 seems to work, the 
> performance breakdown compared to xenified 2.6.34 (from opensuse) is 
> huge. Here are my benchmarks:
> 

Thanks for running benchmarks!


> Xen 4.1.1, Xeon E5620, Supermicro X8DTi-F, 12 GB RAM, dom0 2 VCPUs
> 
> time emerge apache:
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    1m0.560s	0m59.971s	0m47.689s
> 	user    0m40.939s	0m40.619s	0m41.355s
> 	sys     0m18.865s	0m18.305s	0m11.441s
> 
> time make -j4 (3.2.12 linux compile):
> 
> 		3.2.12-dom0	3.3.4-dom0	2.6.34.10-dom0
> 	real    5m8.793s	5m4.888s	4m20.576s
> 	user    8m1.746s	7m59.726s	7m10.375s
> 	sys     1m39.010s	1m32.994s	0m56.304s

Just for clarity, are you running this in dom0 (not in a VM), correct?

If you are running the test in a VM, is it a PV or an HVM guest? What is
the guest kernel version? What is the vcpu and memory configuration?
And finally, what are you using as the disk image (file or LVM)?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:26:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:26:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuAf-00039y-TD; Thu, 03 May 2012 11:26:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPuAe-00039m-JB
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:26:04 +0000
Received: from [85.158.139.83:64291] by server-5.bemta-5.messagelabs.com id
	A5/9A-13566-B4B62AF4; Thu, 03 May 2012 11:26:03 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336044363!22710715!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31190 invoked from network); 3 May 2012 11:26:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:26:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12271139"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:26:03 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 12:26:03 +0100
Date: Thu, 3 May 2012 12:33:31 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1335965470.26758.58.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205031232070.26786@kaball-desktop>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Andreas Kinzler <ml-xen-devel@hfp.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2 May 2012, Ian Campbell wrote:
> On Wed, 2012-05-02 at 14:11 +0100, Andreas Kinzler wrote:
> > Hello Jeremy + Konrad + all kernel devs,
> > 
> > while it is great to see that vanilla dom0 seems to work, the 
> > performance breakdown compared to xenified 2.6.34 (from opensuse) is 
> > huge. Here are my benchmarks:
> 
> There were a couple of performance fixes posted recently, one of them
> was "xen: correctly check for pending events when restoring irq flags"
> from David Vrabel, which is now in mainline as 7eb7ce4d2e89 and marked
> for stable backport. The other was something to do with blk i/o
> performance from Stefano Stabellini which I don't have a handy reference
> too or status on (hopefully Konrad does though).

It is this one:

http://marc.info/?l=xen-devel&m=133526478318742&w=2

but it is only relevant if you are running the benchmark in a VM, with
the disk image stored in a file.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:26:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:26:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuAf-00039y-TD; Thu, 03 May 2012 11:26:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPuAe-00039m-JB
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:26:04 +0000
Received: from [85.158.139.83:64291] by server-5.bemta-5.messagelabs.com id
	A5/9A-13566-B4B62AF4; Thu, 03 May 2012 11:26:03 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336044363!22710715!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31190 invoked from network); 3 May 2012 11:26:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:26:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12271139"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:26:03 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 12:26:03 +0100
Date: Thu, 3 May 2012 12:33:31 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1335965470.26758.58.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205031232070.26786@kaball-desktop>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Andreas Kinzler <ml-xen-devel@hfp.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2 May 2012, Ian Campbell wrote:
> On Wed, 2012-05-02 at 14:11 +0100, Andreas Kinzler wrote:
> > Hello Jeremy + Konrad + all kernel devs,
> > 
> > while it is great to see that vanilla dom0 seems to work, the 
> > performance breakdown compared to xenified 2.6.34 (from opensuse) is 
> > huge. Here are my benchmarks:
> 
> There were a couple of performance fixes posted recently, one of them
> was "xen: correctly check for pending events when restoring irq flags"
> from David Vrabel, which is now in mainline as 7eb7ce4d2e89 and marked
> for stable backport. The other was something to do with blk i/o
> performance from Stefano Stabellini which I don't have a handy reference
> too or status on (hopefully Konrad does though).

It is this one:

http://marc.info/?l=xen-devel&m=133526478318742&w=2

but it is only relevant if you are running the benchmark in a VM, with
the disk image stored in a file.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:32:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:32:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuGT-0003Oe-B3; Thu, 03 May 2012 11:32:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPuGR-0003OY-V9
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:32:04 +0000
Received: from [193.109.254.147:56918] by server-3.bemta-14.messagelabs.com id
	D9/09-23274-3BC62AF4; Thu, 03 May 2012 11:32:03 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336044712!7467015!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17685 invoked from network); 3 May 2012 11:31:53 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:31:53 -0000
Received: by obfk16 with SMTP id k16so3279951obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:31:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=5/AcnEhiYv2fLKjx6zlUFhCjpiX/QRy2Oc0muvZvVFA=;
	b=Wde4MxrrFhEqs2rmGzca5gPTbxqtpxN6HCj9YT1GhvHgHw9XVwb93EAzellgcVVbDq
	Y5ah2CPqgWbMAfygTMsZZCur8YSY1fS4LuzrTY8NyPCgBaF88pKc6XtQ5wa6diRnNYla
	PzwnFm87D5Y56CIxXzE9cXqDhYl+m+u6O2jztk29+jUgy1zDB32zYh9m5D3K92gM0Tr+
	BBsAZdBTv95a7JezECxifNHOdacq3F3hYXoY0KlozaNEQYsyVybEBE3g00ZIeRL9ECp+
	JbQKib2ssNSEPlaM1T7IHNVDIT8boRMlj4EXFieBlinXLC1LJ6kD1l12zag4LZLfIpZG
	4ePQ==
MIME-Version: 1.0
Received: by 10.182.51.9 with SMTP id g9mr2293580obo.56.1336044711809; Thu, 03
	May 2012 04:31:51 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 04:31:51 -0700 (PDT)
In-Reply-To: <1335946863612-5679908.post@n5.nabble.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
Date: Thu, 3 May 2012 19:31:51 +0800
Message-ID: <CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Fantu <fantonifabio@tiscali.it>, Ian Campbell <Ian.Campbell@citrix.com>, 
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
>
> Zhou Peng wrote
>>
>> Hi Fantu,
>>
>> Thanks for your response.
>>
>> xl doesn't support qxl-related option at the moment.
>> I will test upstream-qemu-xen these days, and if it works well
>> with qxl device, I will be glad to add qxl support to xl.
>>
> Hello, any news about this?
> Thanks in advance

It seems you are using the upstream-qemu.
There are some special patches for upstream-qemu-xen(I don't track if all the
patches have been accepted by qemu)

The git repos for upstream-qemu-xen:
  Stefano Stabellini's tree:
git://xenbits.xen.org/people/sstabellini/qemu-dm.git
  Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git

I am watching upstream-qemu-xen's progress too, but I have not tracked
it for months.

I was plan to test the latest upstream-qemu-xen and response to you,
but I encounter a problem when preparing the environment using the upstream xen:
  # xl list
  libxl: error: libxl.c:506:libxl_list_domain: geting domain info
list: Operation not permitted
  libxl_domain_infolist failed.

So I suggest you  to have a try of upstream-qemu-xen if not yet.
In my test many months ago, it didn't support graphic, and spice was tested
with linux-hvm disabling graphic.

How to configure upstream-qemu-xen:
./configure --target-list=i386-softmmu --enable-spice
   --enable-xen --extra-cflags=-I${path-to-xen}/dist/install/usr/include
   --extra-ldflags=-L${path-to-xen}/dist/install/usr/lib

CCing to Stefano, who may help you on upstream-qemu-xen.
>
> --
> View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5679908.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:32:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:32:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuGT-0003Oe-B3; Thu, 03 May 2012 11:32:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPuGR-0003OY-V9
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:32:04 +0000
Received: from [193.109.254.147:56918] by server-3.bemta-14.messagelabs.com id
	D9/09-23274-3BC62AF4; Thu, 03 May 2012 11:32:03 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336044712!7467015!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17685 invoked from network); 3 May 2012 11:31:53 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:31:53 -0000
Received: by obfk16 with SMTP id k16so3279951obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:31:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=5/AcnEhiYv2fLKjx6zlUFhCjpiX/QRy2Oc0muvZvVFA=;
	b=Wde4MxrrFhEqs2rmGzca5gPTbxqtpxN6HCj9YT1GhvHgHw9XVwb93EAzellgcVVbDq
	Y5ah2CPqgWbMAfygTMsZZCur8YSY1fS4LuzrTY8NyPCgBaF88pKc6XtQ5wa6diRnNYla
	PzwnFm87D5Y56CIxXzE9cXqDhYl+m+u6O2jztk29+jUgy1zDB32zYh9m5D3K92gM0Tr+
	BBsAZdBTv95a7JezECxifNHOdacq3F3hYXoY0KlozaNEQYsyVybEBE3g00ZIeRL9ECp+
	JbQKib2ssNSEPlaM1T7IHNVDIT8boRMlj4EXFieBlinXLC1LJ6kD1l12zag4LZLfIpZG
	4ePQ==
MIME-Version: 1.0
Received: by 10.182.51.9 with SMTP id g9mr2293580obo.56.1336044711809; Thu, 03
	May 2012 04:31:51 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 04:31:51 -0700 (PDT)
In-Reply-To: <1335946863612-5679908.post@n5.nabble.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
Date: Thu, 3 May 2012 19:31:51 +0800
Message-ID: <CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Fantu <fantonifabio@tiscali.it>, Ian Campbell <Ian.Campbell@citrix.com>, 
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
>
> Zhou Peng wrote
>>
>> Hi Fantu,
>>
>> Thanks for your response.
>>
>> xl doesn't support qxl-related option at the moment.
>> I will test upstream-qemu-xen these days, and if it works well
>> with qxl device, I will be glad to add qxl support to xl.
>>
> Hello, any news about this?
> Thanks in advance

It seems you are using the upstream-qemu.
There are some special patches for upstream-qemu-xen(I don't track if all the
patches have been accepted by qemu)

The git repos for upstream-qemu-xen:
  Stefano Stabellini's tree:
git://xenbits.xen.org/people/sstabellini/qemu-dm.git
  Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git

I am watching upstream-qemu-xen's progress too, but I have not tracked
it for months.

I was plan to test the latest upstream-qemu-xen and response to you,
but I encounter a problem when preparing the environment using the upstream xen:
  # xl list
  libxl: error: libxl.c:506:libxl_list_domain: geting domain info
list: Operation not permitted
  libxl_domain_infolist failed.

So I suggest you  to have a try of upstream-qemu-xen if not yet.
In my test many months ago, it didn't support graphic, and spice was tested
with linux-hvm disabling graphic.

How to configure upstream-qemu-xen:
./configure --target-list=i386-softmmu --enable-spice
   --enable-xen --extra-cflags=-I${path-to-xen}/dist/install/usr/include
   --extra-ldflags=-L${path-to-xen}/dist/install/usr/lib

CCing to Stefano, who may help you on upstream-qemu-xen.
>
> --
> View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5679908.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:48:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuWK-0003cV-Uu; Thu, 03 May 2012 11:48:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SPuWJ-0003cQ-In
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:48:27 +0000
Received: from [85.158.143.99:39257] by server-2.bemta-4.messagelabs.com id
	C5/81-17550-A8072AF4; Thu, 03 May 2012 11:48:26 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336045703!16694993!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3843 invoked from network); 3 May 2012 11:48:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:48:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330923600"; d="scan'208";a="193210476"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 07:48:22 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	07:48:22 -0400
Message-ID: <4FA27084.4030005@citrix.com>
Date: Thu, 3 May 2012 12:48:20 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
In-Reply-To: <20120501163707.GA8741@phenom.dumpdata.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 01/05/12 17:37, Konrad Rzeszutek Wilk wrote:
> On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
>> Changelog v5 [since v4]:
>>  - used populate_physmap, fixed bugs.
>> [v2-v4: not posted]
>>  - reworked the code in setup.c to work properly.
>> [v1: https://lkml.org/lkml/2012/3/30/492]
>>  - initial patchset
> 
> One bug I found was that with 'dom0_mem=max:1G' (with and without these
> patches) I would get a bunch of
> 
> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)
> 
> where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
> I ran on it. I figured it out that the difference was in the ACPI tables
> that are allocated - and that those regions - even though are returned
> back to the hypervisor, cannot be repopulated. I can't find the actual
> exact piece of code in the hypervisor to pin-point and say "Aha".

It was tricky to track down what is going here but I think I see what's
happening.

The problem pages (on the system I looked at) were located just before
the ISA memory region (so PFN < a0) and so they are mapped in the
bootstrap page tables and have an additional ref so are not immediately
freed when the page is released.  They do get freed later on, presumably
when the page tables are swapped over.

I think the mapping needs to be removed with
HYPERVISOR_update_va_mapping() before releasing the page.  This is
already done for the ISA region in xen_ident_map_ISA().

I may be easier to avoid doing anything with the PFNs < 0x100 and take
the minimal lose of memory.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:48:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuWK-0003cV-Uu; Thu, 03 May 2012 11:48:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SPuWJ-0003cQ-In
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:48:27 +0000
Received: from [85.158.143.99:39257] by server-2.bemta-4.messagelabs.com id
	C5/81-17550-A8072AF4; Thu, 03 May 2012 11:48:26 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336045703!16694993!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3843 invoked from network); 3 May 2012 11:48:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:48:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330923600"; d="scan'208";a="193210476"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 07:48:22 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	07:48:22 -0400
Message-ID: <4FA27084.4030005@citrix.com>
Date: Thu, 3 May 2012 12:48:20 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
In-Reply-To: <20120501163707.GA8741@phenom.dumpdata.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 01/05/12 17:37, Konrad Rzeszutek Wilk wrote:
> On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
>> Changelog v5 [since v4]:
>>  - used populate_physmap, fixed bugs.
>> [v2-v4: not posted]
>>  - reworked the code in setup.c to work properly.
>> [v1: https://lkml.org/lkml/2012/3/30/492]
>>  - initial patchset
> 
> One bug I found was that with 'dom0_mem=max:1G' (with and without these
> patches) I would get a bunch of
> 
> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)
> 
> where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
> I ran on it. I figured it out that the difference was in the ACPI tables
> that are allocated - and that those regions - even though are returned
> back to the hypervisor, cannot be repopulated. I can't find the actual
> exact piece of code in the hypervisor to pin-point and say "Aha".

It was tricky to track down what is going here but I think I see what's
happening.

The problem pages (on the system I looked at) were located just before
the ISA memory region (so PFN < a0) and so they are mapped in the
bootstrap page tables and have an additional ref so are not immediately
freed when the page is released.  They do get freed later on, presumably
when the page tables are swapped over.

I think the mapping needs to be removed with
HYPERVISOR_update_va_mapping() before releasing the page.  This is
already done for the ISA region in xen_ident_map_ISA().

I may be easier to avoid doing anything with the PFNs < 0x100 and take
the minimal lose of memory.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:55:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:55:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPucn-0003m3-P7; Thu, 03 May 2012 11:55:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPucl-0003lw-T2
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:55:08 +0000
Received: from [85.158.139.83:49663] by server-10.bemta-5.messagelabs.com id
	2B/75-08260-B1272AF4; Thu, 03 May 2012 11:55:07 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336046105!22633573!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1107 invoked from network); 3 May 2012 11:55:06 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:55:06 -0000
Received: by yhkk6 with SMTP id k6so877047yhk.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:55:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=pWb3IU55y99pZeoazkofEnS85kSaxUVkg+qsIoDtlds=;
	b=CedNjf+HrICoMqL2ukqEK+++a7zDYOh/RY30ht3yMzVIuY01PmDQfPaZeKfWMlCLGT
	mifs33nfR69m/XFGPe+8kFhZUzY9nlaAQLJ4F4tdrteJg+k1d6DWYAlHpJkrv/z2gzlL
	bIc7Ni602V98XAu499Si7gg2I5/N2OyAo0llmumjh60cfsDTSkWDqh3qSPET9S5GTyfx
	vDBs8U2IcdavALpHaZ3PrQPbcHxAa7jbcLKQ+leWjhNOVISn3dSYPjh/OJuyCeFzUB5x
	ztJZ2rBTk1msZHuaZMvEBbib5n32i4TaE8+qKmqD6yDpF847Q1bAFjGgfYTCeJrqhvQA
	bf9Q==
Received: by 10.236.109.66 with SMTP id r42mr2557248yhg.39.1336046104852;
	Thu, 03 May 2012 04:55:04 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id a35sm22643150yhh.13.2012.05.03.04.55.00
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 04:55:03 -0700 (PDT)
Message-ID: <4FA27212.9060403@cantab.net>
Date: Thu, 03 May 2012 12:54:58 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-7-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-7-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	JBeulich@suse.com, david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH 6/8] xen/setup: Work properly with
 'dom0_mem=X' or with not dom0_mem.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> We ignored the X value and ended up populating up to
> max(MAX_DOMAIN_PAGES, last E820_RAM entry).
> 
> This fixes it by figuring out how many RAM nr_pages the
> hypervisor wanted to provide to us and cap the populate
> hypercalls up to that.

I don't think we should change the behavior again, particularly as the
dom0_mem documentation doesn't describe this proposed behaviour.

I would drop this patch.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:55:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:55:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPucn-0003m3-P7; Thu, 03 May 2012 11:55:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPucl-0003lw-T2
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:55:08 +0000
Received: from [85.158.139.83:49663] by server-10.bemta-5.messagelabs.com id
	2B/75-08260-B1272AF4; Thu, 03 May 2012 11:55:07 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336046105!22633573!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1107 invoked from network); 3 May 2012 11:55:06 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:55:06 -0000
Received: by yhkk6 with SMTP id k6so877047yhk.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:55:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=pWb3IU55y99pZeoazkofEnS85kSaxUVkg+qsIoDtlds=;
	b=CedNjf+HrICoMqL2ukqEK+++a7zDYOh/RY30ht3yMzVIuY01PmDQfPaZeKfWMlCLGT
	mifs33nfR69m/XFGPe+8kFhZUzY9nlaAQLJ4F4tdrteJg+k1d6DWYAlHpJkrv/z2gzlL
	bIc7Ni602V98XAu499Si7gg2I5/N2OyAo0llmumjh60cfsDTSkWDqh3qSPET9S5GTyfx
	vDBs8U2IcdavALpHaZ3PrQPbcHxAa7jbcLKQ+leWjhNOVISn3dSYPjh/OJuyCeFzUB5x
	ztJZ2rBTk1msZHuaZMvEBbib5n32i4TaE8+qKmqD6yDpF847Q1bAFjGgfYTCeJrqhvQA
	bf9Q==
Received: by 10.236.109.66 with SMTP id r42mr2557248yhg.39.1336046104852;
	Thu, 03 May 2012 04:55:04 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id a35sm22643150yhh.13.2012.05.03.04.55.00
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 04:55:03 -0700 (PDT)
Message-ID: <4FA27212.9060403@cantab.net>
Date: Thu, 03 May 2012 12:54:58 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-7-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-7-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	JBeulich@suse.com, david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH 6/8] xen/setup: Work properly with
 'dom0_mem=X' or with not dom0_mem.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> We ignored the X value and ended up populating up to
> max(MAX_DOMAIN_PAGES, last E820_RAM entry).
> 
> This fixes it by figuring out how many RAM nr_pages the
> hypervisor wanted to provide to us and cap the populate
> hypercalls up to that.

I don't think we should change the behavior again, particularly as the
dom0_mem documentation doesn't describe this proposed behaviour.

I would drop this patch.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:56:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:56:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPue5-0003pm-7Q; Thu, 03 May 2012 11:56:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPue4-0003pe-5J
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:56:28 +0000
Received: from [193.109.254.147:65106] by server-3.bemta-14.messagelabs.com id
	2C/CA-23274-B6272AF4; Thu, 03 May 2012 11:56:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336046185!7489955!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14489 invoked from network); 3 May 2012 11:56:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:56:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12271888"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:56:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 12:56:25 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPue0-0001SZ-Qz;
	Thu, 03 May 2012 11:56:24 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPue0-0001hz-Qc;
	Thu, 03 May 2012 12:56:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12786-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 12:56:24 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12786: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12786 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12786/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12782

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  98fe3b2a572d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:56:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:56:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPue5-0003pm-7Q; Thu, 03 May 2012 11:56:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPue4-0003pe-5J
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:56:28 +0000
Received: from [193.109.254.147:65106] by server-3.bemta-14.messagelabs.com id
	2C/CA-23274-B6272AF4; Thu, 03 May 2012 11:56:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336046185!7489955!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14489 invoked from network); 3 May 2012 11:56:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:56:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330905600"; d="scan'208";a="12271888"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:56:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 12:56:25 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPue0-0001SZ-Qz;
	Thu, 03 May 2012 11:56:24 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPue0-0001hz-Qc;
	Thu, 03 May 2012 12:56:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12786-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 12:56:24 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12786: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12786 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12786/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12782

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  98fe3b2a572d
baseline version:
 xen                  98fe3b2a572d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:56:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:56:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPueF-0003qV-JZ; Thu, 03 May 2012 11:56:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPueE-0003qO-Go
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:56:38 +0000
Received: from [85.158.143.99:23725] by server-2.bemta-4.messagelabs.com id
	AC/1E-17550-57272AF4; Thu, 03 May 2012 11:56:37 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336046195!26306386!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2029 invoked from network); 3 May 2012 11:56:36 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:56:36 -0000
Received: by yenq11 with SMTP id q11so683136yen.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:56:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=Prp7vUaG6BGyTpIpue6Iemae/4Bo54A03x1oyhjFGMM=;
	b=LD+CTQMy19d9Ms0iAeqsTx/AgEW8jBWM7IXd/aQQ5hS7rGvuItdoG/Gl/Jh0BEsWp7
	PoAvPWEq8f7UdEDCpt35GEF+vCA0zraycYfK9D5/gdfnD7O2qIlgSvvchQ0Rb+5YCWDT
	EJ6jDMfXpoSTuBj+J5BWc7RYI5/ksDeuap28yCzkpc8OZYjPCKSfAr8tGO3WpfoF4SjY
	Ghw27HgNm3TM+YEAHSf0ISK40Yf/vOAbZ31mp+Q6Q56Mo0d5TYEHU2Bh3mIFVzPZnvIh
	s77uqLPd1TVY0nu37FdKwUivUn/muVO584L4W+15WxAgZNEz+UkK5K2OGuOThaqqiIyv
	UsyA==
Received: by 10.236.181.133 with SMTP id l5mr2545572yhm.71.1336046195047;
	Thu, 03 May 2012 04:56:35 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id p6sm7633837ani.8.2012.05.03.04.56.33
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 04:56:34 -0700 (PDT)
Message-ID: <4FA27270.5070905@cantab.net>
Date: Thu, 03 May 2012 12:56:32 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-8-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-8-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	JBeulich@suse.com, david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH 7/8] xen/setup: Populate freed MFNs from
 non-RAM E820 entries and gaps to E820 RAM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> 
> 
> This patch, implements the populate hypercall (XENMEM_populate_physmap)
> which increases the the domain with the same amount of pages that
> were released.

Provided the problem with the unreclaimable pages are resolved:

Acked-by: David Vrabel <david.vrabel@citrix.com>

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:56:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:56:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPueF-0003qV-JZ; Thu, 03 May 2012 11:56:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPueE-0003qO-Go
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:56:38 +0000
Received: from [85.158.143.99:23725] by server-2.bemta-4.messagelabs.com id
	AC/1E-17550-57272AF4; Thu, 03 May 2012 11:56:37 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336046195!26306386!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2029 invoked from network); 3 May 2012 11:56:36 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:56:36 -0000
Received: by yenq11 with SMTP id q11so683136yen.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:56:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=Prp7vUaG6BGyTpIpue6Iemae/4Bo54A03x1oyhjFGMM=;
	b=LD+CTQMy19d9Ms0iAeqsTx/AgEW8jBWM7IXd/aQQ5hS7rGvuItdoG/Gl/Jh0BEsWp7
	PoAvPWEq8f7UdEDCpt35GEF+vCA0zraycYfK9D5/gdfnD7O2qIlgSvvchQ0Rb+5YCWDT
	EJ6jDMfXpoSTuBj+J5BWc7RYI5/ksDeuap28yCzkpc8OZYjPCKSfAr8tGO3WpfoF4SjY
	Ghw27HgNm3TM+YEAHSf0ISK40Yf/vOAbZ31mp+Q6Q56Mo0d5TYEHU2Bh3mIFVzPZnvIh
	s77uqLPd1TVY0nu37FdKwUivUn/muVO584L4W+15WxAgZNEz+UkK5K2OGuOThaqqiIyv
	UsyA==
Received: by 10.236.181.133 with SMTP id l5mr2545572yhm.71.1336046195047;
	Thu, 03 May 2012 04:56:35 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id p6sm7633837ani.8.2012.05.03.04.56.33
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 04:56:34 -0700 (PDT)
Message-ID: <4FA27270.5070905@cantab.net>
Date: Thu, 03 May 2012 12:56:32 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-8-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-8-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	JBeulich@suse.com, david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH 7/8] xen/setup: Populate freed MFNs from
 non-RAM E820 entries and gaps to E820 RAM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> 
> 
> This patch, implements the populate hypercall (XENMEM_populate_physmap)
> which increases the the domain with the same amount of pages that
> were released.

Provided the problem with the unreclaimable pages are resolved:

Acked-by: David Vrabel <david.vrabel@citrix.com>

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:58:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:58:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPufk-0003zh-4M; Thu, 03 May 2012 11:58:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPufi-0003zX-Cd
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:58:10 +0000
Received: from [85.158.143.35:16772] by server-3.bemta-4.messagelabs.com id
	44/C4-05853-1D272AF4; Thu, 03 May 2012 11:58:09 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336046287!13908693!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6256 invoked from network); 3 May 2012 11:58:08 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:58:08 -0000
Received: by yenq11 with SMTP id q11so684994yen.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:58:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=QP8Z0oKVuuq8i3lKVn9eSDM2bT4JaJ3T5XN7PadzCuo=;
	b=XWhNfkPSGa0hVx9nFX0PXq4SKymeOAkhoDC5WL5hloWFWmC0TEEF1ZNha8ls38F12j
	/qiQZnefrDJuCq/oZWF25PVuUHI/rYhuKC0iunRvDIQkOYcnYWD5sZQTu0JmwZmGy6iF
	wwLGtsMrFM++DbpHMkvmRqNfjszB89xJVyEky0Le7fVXUfAxC+ZVMdT126WK5ORWn1WL
	Qd95yt40W5XxPC+btnNJp/Z73bPakaYSeGRj2M/CPb+PgOAu7Xz4FkhNCf5TQYTdINn3
	mBkX2jcyNuseKEj+SKZucU8nZuWQz9Esv/Xtl5DjSxIrYi4bqNCkycs7LBdSOF4TLM8Y
	J4pA==
Received: by 10.236.109.66 with SMTP id r42mr2568838yhg.39.1336046287545;
	Thu, 03 May 2012 04:58:07 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id d25sm22741812yhe.4.2012.05.03.04.58.05
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 04:58:06 -0700 (PDT)
Message-ID: <4FA272CD.90808@cantab.net>
Date: Thu, 03 May 2012 12:58:05 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-9-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-9-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	JBeulich@suse.com, david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH 8/8] xen/setup: Combine the two hypercall
 functions - since they are quite similar.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> They use the same set of arguments, so it is just the matter
> of using the proper hypercall.
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: David Vrabel <david.vrabel@citrix.com>

But would it be better to fold this into the previous patch?

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 11:58:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 11:58:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPufk-0003zh-4M; Thu, 03 May 2012 11:58:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPufi-0003zX-Cd
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 11:58:10 +0000
Received: from [85.158.143.35:16772] by server-3.bemta-4.messagelabs.com id
	44/C4-05853-1D272AF4; Thu, 03 May 2012 11:58:09 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336046287!13908693!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6256 invoked from network); 3 May 2012 11:58:08 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 11:58:08 -0000
Received: by yenq11 with SMTP id q11so684994yen.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 04:58:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=QP8Z0oKVuuq8i3lKVn9eSDM2bT4JaJ3T5XN7PadzCuo=;
	b=XWhNfkPSGa0hVx9nFX0PXq4SKymeOAkhoDC5WL5hloWFWmC0TEEF1ZNha8ls38F12j
	/qiQZnefrDJuCq/oZWF25PVuUHI/rYhuKC0iunRvDIQkOYcnYWD5sZQTu0JmwZmGy6iF
	wwLGtsMrFM++DbpHMkvmRqNfjszB89xJVyEky0Le7fVXUfAxC+ZVMdT126WK5ORWn1WL
	Qd95yt40W5XxPC+btnNJp/Z73bPakaYSeGRj2M/CPb+PgOAu7Xz4FkhNCf5TQYTdINn3
	mBkX2jcyNuseKEj+SKZucU8nZuWQz9Esv/Xtl5DjSxIrYi4bqNCkycs7LBdSOF4TLM8Y
	J4pA==
Received: by 10.236.109.66 with SMTP id r42mr2568838yhg.39.1336046287545;
	Thu, 03 May 2012 04:58:07 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id d25sm22741812yhe.4.2012.05.03.04.58.05
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 04:58:06 -0700 (PDT)
Message-ID: <4FA272CD.90808@cantab.net>
Date: Thu, 03 May 2012 12:58:05 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-9-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-9-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	JBeulich@suse.com, david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH 8/8] xen/setup: Combine the two hypercall
 functions - since they are quite similar.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> They use the same set of arguments, so it is just the matter
> of using the proper hypercall.
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: David Vrabel <david.vrabel@citrix.com>

But would it be better to fold this into the previous patch?

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:00:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:00:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuha-0004Cy-93; Thu, 03 May 2012 12:00:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SPuhX-0004CK-Q7
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:00:04 +0000
Received: from [85.158.143.99:43185] by server-2.bemta-4.messagelabs.com id
	4A/13-17550-34372AF4; Thu, 03 May 2012 12:00:03 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336046397!15124185!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8046 invoked from network); 3 May 2012 12:00:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:00:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330923600"; d="scan'208";a="193211676"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 07:59:26 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	07:59:26 -0400
Message-ID: <4FA2731C.2050204@citrix.com>
Date: Thu, 3 May 2012 12:59:24 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-6-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-6-git-send-email-konrad.wilk@oracle.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 5/8] xen/setup: Only print "Freeing XXX-YYY
 pfn range: Z pages freed" if Z > 0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> Otherwise we can get these meaningless:
> Freeing  bad80-badf4 pfn range: 0 pages freed
> 
> We also can do this for the summary ones - no point of printing
> "Set 0 page(s) to 1-1 mapping"
> 
> [v1: Extended to the summary printks]
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: David Vrabel <david.vrabel@citrix.com>

David

> ---
>  arch/x86/xen/setup.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 1ba8dff..7b0ab77 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -114,8 +114,9 @@ static unsigned long __init xen_release_chunk(unsigned long start,
>  			len++;
>  		}
>  	}
> -	printk(KERN_INFO "Freeing  %lx-%lx pfn range: %lu pages freed\n",
> -	       start, end, len);
> +	if (len)
> +		printk(KERN_INFO "Freeing  %lx-%lx pfn range: %lu pages freed\n",
> +		       start, end, len);
>  
>  	return len;
>  }
> @@ -162,8 +163,10 @@ static unsigned long __init xen_set_identity_and_release(
>  		}
>  	}
>  
> -	printk(KERN_INFO "Released %lu pages of unused memory\n", released);
> -	printk(KERN_INFO "Set %ld page(s) to 1-1 mapping\n", identity);
> +	if (released)
> +		printk(KERN_INFO "Released %lu pages of unused memory\n", released);
> +	if (identity)
> +		printk(KERN_INFO "Set %ld page(s) to 1-1 mapping\n", identity);
>  
>  	return released;
>  }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:00:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:00:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPuha-0004Cy-93; Thu, 03 May 2012 12:00:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SPuhX-0004CK-Q7
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:00:04 +0000
Received: from [85.158.143.99:43185] by server-2.bemta-4.messagelabs.com id
	4A/13-17550-34372AF4; Thu, 03 May 2012 12:00:03 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336046397!15124185!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8046 invoked from network); 3 May 2012 12:00:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:00:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,522,1330923600"; d="scan'208";a="193211676"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 07:59:26 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	07:59:26 -0400
Message-ID: <4FA2731C.2050204@citrix.com>
Date: Thu, 3 May 2012 12:59:24 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-6-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1334596539-18172-6-git-send-email-konrad.wilk@oracle.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 5/8] xen/setup: Only print "Freeing XXX-YYY
 pfn range: Z pages freed" if Z > 0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> Otherwise we can get these meaningless:
> Freeing  bad80-badf4 pfn range: 0 pages freed
> 
> We also can do this for the summary ones - no point of printing
> "Set 0 page(s) to 1-1 mapping"
> 
> [v1: Extended to the summary printks]
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: David Vrabel <david.vrabel@citrix.com>

David

> ---
>  arch/x86/xen/setup.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 1ba8dff..7b0ab77 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -114,8 +114,9 @@ static unsigned long __init xen_release_chunk(unsigned long start,
>  			len++;
>  		}
>  	}
> -	printk(KERN_INFO "Freeing  %lx-%lx pfn range: %lu pages freed\n",
> -	       start, end, len);
> +	if (len)
> +		printk(KERN_INFO "Freeing  %lx-%lx pfn range: %lu pages freed\n",
> +		       start, end, len);
>  
>  	return len;
>  }
> @@ -162,8 +163,10 @@ static unsigned long __init xen_set_identity_and_release(
>  		}
>  	}
>  
> -	printk(KERN_INFO "Released %lu pages of unused memory\n", released);
> -	printk(KERN_INFO "Set %ld page(s) to 1-1 mapping\n", identity);
> +	if (released)
> +		printk(KERN_INFO "Released %lu pages of unused memory\n", released);
> +	if (identity)
> +		printk(KERN_INFO "Set %ld page(s) to 1-1 mapping\n", identity);
>  
>  	return released;
>  }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:29:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:29:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPv9N-0004hy-TC; Thu, 03 May 2012 12:28:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPv9M-0004hq-9s
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:28:48 +0000
Received: from [193.109.254.147:28432] by server-2.bemta-14.messagelabs.com id
	3F/C1-19409-FF972AF4; Thu, 03 May 2012 12:28:47 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336048125!7465237!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16645 invoked from network); 3 May 2012 12:28:46 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	3 May 2012 12:28:46 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPv9I-0001F1-Jy
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 05:28:44 -0700
Date: Thu, 3 May 2012 05:28:44 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336048124596-5683034.post@n5.nabble.com>
In-Reply-To: <CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

upstream-qemu-xen extra patches are included in upstream-qemu unstable (now
at 1.1-rc0)
I can run hvm domU correctly, on xen-unstable with xl, also with spice.
Some info about my last test system:
Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.15-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25249:a4e7fce6ee2b)
vi Makefile # removed dist-kernel to not compile kernel
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb

One domU xl configuration file:
---------------------------------
XP.cfg
-------------
name='XP'
builder="hvm"
memory=1024
vcpus=2
hap=1
pae=1
acpi=1
apic=1
nx=1
vif=['bridge=xenbr0']
#vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
disk=['/mnt/vm/disks/XP.disk1.xm,raw,hda,rw']
boot='cd'
xen_platform_pci=1
viridian=1
device_model_version="qemu-xen"
#vnc=1
#vncunused=1
#vnclisten="0.0.0.0"
#keymap="it"
spice=1
spicehost="0.0.0.0"
spiceport=6000
spicedisable_ticketing=1
on_poweroff="destroy"
on_reboot="restart"
on_crash="destroy"
stdvga=1
---------------------------------

About QXL I tried to add:
stdvga=0
videoram=128
device_model_args=["-device","qxl-vga"]

About qxl there are problems about videoram not allocated or not used over 4
mb (same as default cirrus vga).
At the moment I haven't found solution for this problem, probably some
bugfix and/or change are needed on xen.

--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5683034.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:29:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:29:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPv9N-0004hy-TC; Thu, 03 May 2012 12:28:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPv9M-0004hq-9s
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:28:48 +0000
Received: from [193.109.254.147:28432] by server-2.bemta-14.messagelabs.com id
	3F/C1-19409-FF972AF4; Thu, 03 May 2012 12:28:47 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336048125!7465237!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16645 invoked from network); 3 May 2012 12:28:46 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	3 May 2012 12:28:46 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPv9I-0001F1-Jy
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 05:28:44 -0700
Date: Thu, 3 May 2012 05:28:44 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336048124596-5683034.post@n5.nabble.com>
In-Reply-To: <CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

upstream-qemu-xen extra patches are included in upstream-qemu unstable (now
at 1.1-rc0)
I can run hvm domU correctly, on xen-unstable with xl, also with spice.
Some info about my last test system:
Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.15-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25249:a4e7fce6ee2b)
vi Makefile # removed dist-kernel to not compile kernel
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb

One domU xl configuration file:
---------------------------------
XP.cfg
-------------
name='XP'
builder="hvm"
memory=1024
vcpus=2
hap=1
pae=1
acpi=1
apic=1
nx=1
vif=['bridge=xenbr0']
#vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
disk=['/mnt/vm/disks/XP.disk1.xm,raw,hda,rw']
boot='cd'
xen_platform_pci=1
viridian=1
device_model_version="qemu-xen"
#vnc=1
#vncunused=1
#vnclisten="0.0.0.0"
#keymap="it"
spice=1
spicehost="0.0.0.0"
spiceport=6000
spicedisable_ticketing=1
on_poweroff="destroy"
on_reboot="restart"
on_crash="destroy"
stdvga=1
---------------------------------

About QXL I tried to add:
stdvga=0
videoram=128
device_model_args=["-device","qxl-vga"]

About qxl there are problems about videoram not allocated or not used over 4
mb (same as default cirrus vga).
At the moment I haven't found solution for this problem, probably some
bugfix and/or change are needed on xen.

--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5683034.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:31:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvBt-0004nc-Jb; Thu, 03 May 2012 12:31:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SPvBs-0004nU-Jn
	for xen-devel@lists.xen.org; Thu, 03 May 2012 12:31:24 +0000
Received: from [85.158.138.51:61720] by server-10.bemta-3.messagelabs.com id
	B9/59-29478-B9A72AF4; Thu, 03 May 2012 12:31:23 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336048281!25047547!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE5MTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11625 invoked from network); 3 May 2012 12:31:22 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:31:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330923600"; d="scan'208";a="24813808"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 08:31:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 08:31:20 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SPvBo-0000nA-CE;
	Thu, 03 May 2012 13:31:20 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 3 May 2012 13:31:17 +0100
Message-ID: <1336048277-39554-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: fix dm destruction when there is no pid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix qemu dm model destruction if the pid in xenstore is 0 (or is not
present).

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_dm.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 11de03f..b2bae68 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1081,6 +1081,11 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
     if (!pid) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    if (!atoi(pid)) {
         int stubdomid = libxl_get_stubdom_id(ctx, domid);
         const char *savefile;
 
@@ -1122,10 +1127,10 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
             goto out;
         }
     }
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
 out:
+    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
+    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
     return ret;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:31:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvBt-0004nc-Jb; Thu, 03 May 2012 12:31:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SPvBs-0004nU-Jn
	for xen-devel@lists.xen.org; Thu, 03 May 2012 12:31:24 +0000
Received: from [85.158.138.51:61720] by server-10.bemta-3.messagelabs.com id
	B9/59-29478-B9A72AF4; Thu, 03 May 2012 12:31:23 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336048281!25047547!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE5MTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11625 invoked from network); 3 May 2012 12:31:22 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:31:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330923600"; d="scan'208";a="24813808"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 08:31:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 08:31:20 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SPvBo-0000nA-CE;
	Thu, 03 May 2012 13:31:20 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 3 May 2012 13:31:17 +0100
Message-ID: <1336048277-39554-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: fix dm destruction when there is no pid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix qemu dm model destruction if the pid in xenstore is 0 (or is not
present).

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_dm.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 11de03f..b2bae68 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1081,6 +1081,11 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
     if (!pid) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    if (!atoi(pid)) {
         int stubdomid = libxl_get_stubdom_id(ctx, domid);
         const char *savefile;
 
@@ -1122,10 +1127,10 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
             goto out;
         }
     }
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
 out:
+    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
+    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
     return ret;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:39:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:39:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvJH-00051I-HJ; Thu, 03 May 2012 12:39:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPvJG-00051D-8k
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:39:02 +0000
Received: from [85.158.143.35:52356] by server-1.bemta-4.messagelabs.com id
	D7/48-20925-56C72AF4; Thu, 03 May 2012 12:39:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336048740!14013155!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12379 invoked from network); 3 May 2012 12:39:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:39:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12272980"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 12:38:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 13:38:48 +0100
Date: Thu, 3 May 2012 13:46:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 3 May 2012, ZhouPeng wrote:
> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
> >
> > Zhou Peng wrote
> >>
> >> Hi Fantu,
> >>
> >> Thanks for your response.
> >>
> >> xl doesn't support qxl-related option at the moment.
> >> I will test upstream-qemu-xen these days, and if it works well
> >> with qxl device, I will be glad to add qxl support to xl.
> >>
> > Hello, any news about this?
> > Thanks in advance
> 
> It seems you are using the upstream-qemu.
> There are some special patches for upstream-qemu-xen(I don't track if all the
> patches have been accepted by qemu)
> 
> The git repos for upstream-qemu-xen:
>   Stefano Stabellini's tree:
> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
>   Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
> 
> I am watching upstream-qemu-xen's progress too, but I have not tracked
> it for months.

That is my personal tree. Now upstream QEMU is integrated in
xen-unstable, so the tree that should be used
is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git


> I was plan to test the latest upstream-qemu-xen and response to you,
> but I encounter a problem when preparing the environment using the upstream xen:
>   # xl list
>   libxl: error: libxl.c:506:libxl_list_domain: geting domain info
> list: Operation not permitted
>   libxl_domain_infolist failed.

This looks like a basic setup issue.


> So I suggest you  to have a try of upstream-qemu-xen if not yet.
> In my test many months ago, it didn't support graphic, and spice was tested
> with linux-hvm disabling graphic.

What do you mean by "disabling graphic"? Do you mean disabling the vga
card?


> How to configure upstream-qemu-xen:
> ./configure --target-list=i386-softmmu --enable-spice
>    --enable-xen --extra-cflags=-I${path-to-xen}/dist/install/usr/include
>    --extra-ldflags=-L${path-to-xen}/dist/install/usr/lib
> 
> CCing to Stefano, who may help you on upstream-qemu-xen.

Yes, it is true that you need to add --enable-spice to the configure
command line options.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:39:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:39:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvJH-00051I-HJ; Thu, 03 May 2012 12:39:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPvJG-00051D-8k
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:39:02 +0000
Received: from [85.158.143.35:52356] by server-1.bemta-4.messagelabs.com id
	D7/48-20925-56C72AF4; Thu, 03 May 2012 12:39:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336048740!14013155!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12379 invoked from network); 3 May 2012 12:39:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:39:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12272980"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 12:38:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 13:38:48 +0100
Date: Thu, 3 May 2012 13:46:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 3 May 2012, ZhouPeng wrote:
> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
> >
> > Zhou Peng wrote
> >>
> >> Hi Fantu,
> >>
> >> Thanks for your response.
> >>
> >> xl doesn't support qxl-related option at the moment.
> >> I will test upstream-qemu-xen these days, and if it works well
> >> with qxl device, I will be glad to add qxl support to xl.
> >>
> > Hello, any news about this?
> > Thanks in advance
> 
> It seems you are using the upstream-qemu.
> There are some special patches for upstream-qemu-xen(I don't track if all the
> patches have been accepted by qemu)
> 
> The git repos for upstream-qemu-xen:
>   Stefano Stabellini's tree:
> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
>   Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
> 
> I am watching upstream-qemu-xen's progress too, but I have not tracked
> it for months.

That is my personal tree. Now upstream QEMU is integrated in
xen-unstable, so the tree that should be used
is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git


> I was plan to test the latest upstream-qemu-xen and response to you,
> but I encounter a problem when preparing the environment using the upstream xen:
>   # xl list
>   libxl: error: libxl.c:506:libxl_list_domain: geting domain info
> list: Operation not permitted
>   libxl_domain_infolist failed.

This looks like a basic setup issue.


> So I suggest you  to have a try of upstream-qemu-xen if not yet.
> In my test many months ago, it didn't support graphic, and spice was tested
> with linux-hvm disabling graphic.

What do you mean by "disabling graphic"? Do you mean disabling the vga
card?


> How to configure upstream-qemu-xen:
> ./configure --target-list=i386-softmmu --enable-spice
>    --enable-xen --extra-cflags=-I${path-to-xen}/dist/install/usr/include
>    --extra-ldflags=-L${path-to-xen}/dist/install/usr/lib
> 
> CCing to Stefano, who may help you on upstream-qemu-xen.

Yes, it is true that you need to add --enable-spice to the configure
command line options.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:50:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:50:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvU0-0005Bw-MC; Thu, 03 May 2012 12:50:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SPvTz-0005Br-RL
	for xen-devel@lists.xen.org; Thu, 03 May 2012 12:50:08 +0000
Received: from [193.109.254.147:11273] by server-2.bemta-14.messagelabs.com id
	99/1B-19409-FFE72AF4; Thu, 03 May 2012 12:50:07 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336049405!599226!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7087 invoked from network); 3 May 2012 12:50:05 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:50:05 -0000
Received: by wgbed3 with SMTP id ed3so1273423wgb.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 05:50:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=n0V3UFk4+6PCToG+h8keJvO6Be+f2RgxBskCwFL/knM=;
	b=p37ROYNsULP1TakyCG/aOBZSUTltuA/WtJE/BZb4NGmbb9NG5acJ2GlDaATHFchx/O
	wEoYxrzeHpZI7IEN+3V8UpgdsCV6BqHVQDkP88LzwD98eKveqE55qQEu+ZK/gnoXDGUR
	nALdyn/kqRgClqCv9GiRtmDYKF0jJBb/RBMMLs7tv9jQKQBZVlfht2+wXLjDuKBOFCmi
	sZba8x0faViKS8RAjlzW39vYzYb9tLGiv1D2d5K/sB9vyDnG6m039QkPhOSSKf59uAKT
	ufXOlPiL0cKB06+8ba5/1JJusXoFMl3tZH4hzxD/UiEtrDS5k2Ts3us1/aLW5+nQkBb1
	EKPA==
MIME-Version: 1.0
Received: by 10.180.84.4 with SMTP id u4mr3161798wiy.2.1336049405092; Thu, 03
	May 2012 05:50:05 -0700 (PDT)
Received: by 10.223.157.129 with HTTP; Thu, 3 May 2012 05:50:04 -0700 (PDT)
Date: Thu, 3 May 2012 20:50:04 +0800
Message-ID: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Xen unstable make install-tools error
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1196300607551140119=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1196300607551140119==
Content-Type: multipart/alternative; boundary=f46d044303f431625704bf213e2b

--f46d044303f431625704bf213e2b
Content-Type: text/plain; charset=ISO-8859-1

Hi,

When I make install-tools in Xen unstable source code directory, there is
an error. The output is as the following. Please help me figure out this
problem. Thank you very much.

root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools
make -C tools install
make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make -C include install
make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include'
make -C xen-foreign
make[4]: Entering directory
`/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
./checker > tmp.size
diff -u reference.size tmp.size
rm tmp.size
make[4]: Leaving directory
`/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-ia64
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-ia64/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-x86
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-x86/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/foreign
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/io
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/sys
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/xsm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/COPYING //usr/include/xen
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/*.h //usr/include/xen
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-ia64/*.h //usr/include/xen/arch-ia64
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-x86/*.h //usr/include/xen/arch-x86
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/foreign/*.h //usr/include/xen/foreign
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/hvm/*.h //usr/include/xen/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/io/*.h //usr/include/xen/io
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/sys/*.h //usr/include/xen/sys
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/xsm/*.h //usr/include/xen/xsm
make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include'
make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make -C libxc install
make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
make libs
make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
make[4]: Nothing to be done for `libs'.
make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755
-p //usr/lib64
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755
-p //usr/include
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
libxenctrl.so.4.2.0 //usr/lib64
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
libxenctrl.a //usr/lib64
ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2
ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
xenctrl.h xenctrlosdep.h xentoollog.h //usr/include
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
libxenguest.so.4.2.0 //usr/lib64
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
libxenguest.a //usr/lib64
ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2
ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
xenguest.h //usr/include
make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make -C flask install
make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
make -C utils install
make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
gcc     loadpolicy.o
 /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so
-o flask-loadpolicy
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_key_create'
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_once'
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_getspecific'
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_setspecific'
collect2: ld returned 1 exit status
make[5]: *** [flask-loadpolicy] Error 1
make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
make[4]: *** [subdir-install-utils] Error 2
make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
make[3]: *** [subdirs-install] Error 2
make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
make[2]: *** [subdir-install-flask] Error 2
make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make: *** [install-tools] Error 2





-- 
Best Regards,
Bei Guan

--f46d044303f431625704bf213e2b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Hi,</div><div><br></div><div>When I make install-tools in Xen unstable=
 source code directory, there is an error. The output is as the following. =
Please help me figure out this problem. Thank you very much.</div><div><br>
</div><div>root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools</div=
><div>make -C tools install</div><div>make[1]: Entering directory `/root/Xe=
n/xen-unstable.hg/tools&#39;</div><div>make[2]: Entering directory `/root/X=
en/xen-unstable.hg/tools&#39;</div>
<div>make -C include install</div><div>make[3]: Entering directory `/root/X=
en/xen-unstable.hg/tools/include&#39;</div><div>make -C xen-foreign</div><d=
iv>make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/include/xen=
-foreign&#39;</div>
<div>./checker &gt; tmp.size</div><div>diff -u reference.size tmp.size</div=
><div>rm tmp.size</div><div>make[4]: Leaving directory `/root/Xen/xen-unsta=
ble.hg/tools/include/xen-foreign&#39;</div><div>/root/Xen/xen-unstable.hg/t=
ools/include/../../tools/cross-install -d -m0755 -p //usr/include/xen/arch-=
ia64</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/arch-ia64/hvm</div><div>/root/Xen/xen-unstable.h=
g/tools/include/../../tools/cross-install -d -m0755 -p //usr/include/xen/ar=
ch-x86</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/arch-x86/hvm</div><div>/root/Xen/xen-unstable.hg=
/tools/include/../../tools/cross-install -d -m0755 -p //usr/include/xen/for=
eign</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/hvm</div><div>/root/Xen/xen-unstable.hg/tools/in=
clude/../../tools/cross-install -d -m0755 -p //usr/include/xen/io</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/sys</div><div>/root/Xen/xen-unstable.hg/tools/in=
clude/../../tools/cross-install -d -m0755 -p //usr/include/xen/xsm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/COPYING //usr/include/xen</div><div>/root/Xen/xen-unstable.hg/too=
ls/include/../../tools/cross-install -m0644 -p xen/*.h //usr/include/xen</d=
iv>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/arch-ia64/*.h //usr/include/xen/arch-ia64</div><div>/root/Xen/xen=
-unstable.hg/tools/include/../../tools/cross-install -m0644 -p xen/arch-ia6=
4/hvm/*.h //usr/include/xen/arch-ia64/hvm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/arch-x86/*.h //usr/include/xen/arch-x86</div><div>/root/Xen/xen-u=
nstable.hg/tools/include/../../tools/cross-install -m0644 -p xen/arch-x86/h=
vm/*.h //usr/include/xen/arch-x86/hvm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/foreign/*.h //usr/include/xen/foreign</div><div>/root/Xen/xen-uns=
table.hg/tools/include/../../tools/cross-install -m0644 -p xen/hvm/*.h //us=
r/include/xen/hvm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/io/*.h //usr/include/xen/io</div><div>/root/Xen/xen-unstable.hg/t=
ools/include/../../tools/cross-install -m0644 -p xen/sys/*.h //usr/include/=
xen/sys</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/xsm/*.h //usr/include/xen/xsm</div><div>make[3]: Leaving director=
y `/root/Xen/xen-unstable.hg/tools/include&#39;</div><div>make[2]: Leaving =
directory `/root/Xen/xen-unstable.hg/tools&#39;</div>
<div>make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;</div=
><div>make -C libxc install</div><div>make[3]: Entering directory `/root/Xe=
n/xen-unstable.hg/tools/libxc&#39;</div><div>make libs</div><div>make[4]: E=
ntering directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;</div>
<div>make[4]: Nothing to be done for `libs&#39;.</div><div>make[4]: Leaving=
 directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;</div><div>/root/Xen/=
xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755 -p //usr/li=
b64</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0=
755 -p //usr/include</div><div>/root/Xen/xen-unstable.hg/tools/libxc/../../=
tools/cross-install -m0755 -p libxenctrl.so.4.2.0 //usr/lib64</div><div>
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p l=
ibxenctrl.a //usr/lib64</div><div>ln -sf libxenctrl.so.4.2.0 //usr/lib64/li=
bxenctrl.so.4.2</div><div>ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.s=
o</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p xenctrl.h xenctrlosdep.h xentoollog.h //usr/include</div><div>/root/Xen=
/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p libxengues=
t.so.4.2.0 //usr/lib64</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p libxenguest.a //usr/lib64</div><div>ln -sf libxenguest.so.4.2.0 //usr/l=
ib64/libxenguest.so.4.2</div><div>ln -sf libxenguest.so.4.2 //usr/lib64/lib=
xenguest.so</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p xenguest.h //usr/include</div><div>make[3]: Leaving directory `/root/Xe=
n/xen-unstable.hg/tools/libxc&#39;</div><div>make[2]: Leaving directory `/r=
oot/Xen/xen-unstable.hg/tools&#39;</div>
<div>make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;</div=
><div>make -C flask install</div><div>make[3]: Entering directory `/root/Xe=
n/xen-unstable.hg/tools/flask&#39;</div><div>make[4]: Entering directory `/=
root/Xen/xen-unstable.hg/tools/flask&#39;</div>
<div>make -C utils install</div><div>make[5]: Entering directory `/root/Xen=
/xen-unstable.hg/tools/flask/utils&#39;</div><div>gcc =A0 =A0 loadpolicy.o =
=A0/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenc=
trl.so -o flask-loadpolicy</div>
<div>/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so: undefined reference to `pthread_key_create&#39;</div><div>/root/X=
en/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so: un=
defined reference to `pthread_once&#39;</div>
<div>/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so: undefined reference to `pthread_getspecific&#39;</div><div>/root/=
Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so: u=
ndefined reference to `pthread_setspecific&#39;</div>
<div>collect2: ld returned 1 exit status</div><div>make[5]: *** [flask-load=
policy] Error 1</div><div>make[5]: Leaving directory `/root/Xen/xen-unstabl=
e.hg/tools/flask/utils&#39;</div><div>make[4]: *** [subdir-install-utils] E=
rror 2</div>
<div>make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask&#39;=
</div><div>make[3]: *** [subdirs-install] Error 2</div><div>make[3]: Leavin=
g directory `/root/Xen/xen-unstable.hg/tools/flask&#39;</div><div>make[2]: =
*** [subdir-install-flask] Error 2</div>
<div>make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;</div>=
<div>make[1]: *** [subdirs-install] Error 2</div><div>make[1]: Leaving dire=
ctory `/root/Xen/xen-unstable.hg/tools&#39;</div><div>make: *** [install-to=
ols] Error 2</div>
<div><br></div><div>=A0</div><div><br></div><br clear=3D"all"><div><br></di=
v>-- <br>Best Regards,<div>Bei Guan</div><br>

--f46d044303f431625704bf213e2b--


--===============1196300607551140119==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1196300607551140119==--


From xen-devel-bounces@lists.xen.org Thu May 03 12:50:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:50:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvU0-0005Bw-MC; Thu, 03 May 2012 12:50:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SPvTz-0005Br-RL
	for xen-devel@lists.xen.org; Thu, 03 May 2012 12:50:08 +0000
Received: from [193.109.254.147:11273] by server-2.bemta-14.messagelabs.com id
	99/1B-19409-FFE72AF4; Thu, 03 May 2012 12:50:07 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336049405!599226!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7087 invoked from network); 3 May 2012 12:50:05 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:50:05 -0000
Received: by wgbed3 with SMTP id ed3so1273423wgb.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 05:50:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=n0V3UFk4+6PCToG+h8keJvO6Be+f2RgxBskCwFL/knM=;
	b=p37ROYNsULP1TakyCG/aOBZSUTltuA/WtJE/BZb4NGmbb9NG5acJ2GlDaATHFchx/O
	wEoYxrzeHpZI7IEN+3V8UpgdsCV6BqHVQDkP88LzwD98eKveqE55qQEu+ZK/gnoXDGUR
	nALdyn/kqRgClqCv9GiRtmDYKF0jJBb/RBMMLs7tv9jQKQBZVlfht2+wXLjDuKBOFCmi
	sZba8x0faViKS8RAjlzW39vYzYb9tLGiv1D2d5K/sB9vyDnG6m039QkPhOSSKf59uAKT
	ufXOlPiL0cKB06+8ba5/1JJusXoFMl3tZH4hzxD/UiEtrDS5k2Ts3us1/aLW5+nQkBb1
	EKPA==
MIME-Version: 1.0
Received: by 10.180.84.4 with SMTP id u4mr3161798wiy.2.1336049405092; Thu, 03
	May 2012 05:50:05 -0700 (PDT)
Received: by 10.223.157.129 with HTTP; Thu, 3 May 2012 05:50:04 -0700 (PDT)
Date: Thu, 3 May 2012 20:50:04 +0800
Message-ID: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Xen unstable make install-tools error
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1196300607551140119=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1196300607551140119==
Content-Type: multipart/alternative; boundary=f46d044303f431625704bf213e2b

--f46d044303f431625704bf213e2b
Content-Type: text/plain; charset=ISO-8859-1

Hi,

When I make install-tools in Xen unstable source code directory, there is
an error. The output is as the following. Please help me figure out this
problem. Thank you very much.

root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools
make -C tools install
make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make -C include install
make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include'
make -C xen-foreign
make[4]: Entering directory
`/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
./checker > tmp.size
diff -u reference.size tmp.size
rm tmp.size
make[4]: Leaving directory
`/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-ia64
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-ia64/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-x86
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/arch-x86/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/foreign
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/io
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/sys
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m0755
-p //usr/include/xen/xsm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/COPYING //usr/include/xen
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/*.h //usr/include/xen
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-ia64/*.h //usr/include/xen/arch-ia64
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-x86/*.h //usr/include/xen/arch-x86
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/foreign/*.h //usr/include/xen/foreign
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/hvm/*.h //usr/include/xen/hvm
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/io/*.h //usr/include/xen/io
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/sys/*.h //usr/include/xen/sys
/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 -p
xen/xsm/*.h //usr/include/xen/xsm
make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include'
make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make -C libxc install
make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
make libs
make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
make[4]: Nothing to be done for `libs'.
make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755
-p //usr/lib64
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755
-p //usr/include
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
libxenctrl.so.4.2.0 //usr/lib64
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
libxenctrl.a //usr/lib64
ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2
ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
xenctrl.h xenctrlosdep.h xentoollog.h //usr/include
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
libxenguest.so.4.2.0 //usr/lib64
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
libxenguest.a //usr/lib64
ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2
ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
xenguest.h //usr/include
make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
make -C flask install
make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
make -C utils install
make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
gcc     loadpolicy.o
 /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so
-o flask-loadpolicy
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_key_create'
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_once'
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_getspecific'
/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so:
undefined reference to `pthread_setspecific'
collect2: ld returned 1 exit status
make[5]: *** [flask-loadpolicy] Error 1
make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
make[4]: *** [subdir-install-utils] Error 2
make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
make[3]: *** [subdirs-install] Error 2
make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
make[2]: *** [subdir-install-flask] Error 2
make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
make: *** [install-tools] Error 2





-- 
Best Regards,
Bei Guan

--f46d044303f431625704bf213e2b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Hi,</div><div><br></div><div>When I make install-tools in Xen unstable=
 source code directory, there is an error. The output is as the following. =
Please help me figure out this problem. Thank you very much.</div><div><br>
</div><div>root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools</div=
><div>make -C tools install</div><div>make[1]: Entering directory `/root/Xe=
n/xen-unstable.hg/tools&#39;</div><div>make[2]: Entering directory `/root/X=
en/xen-unstable.hg/tools&#39;</div>
<div>make -C include install</div><div>make[3]: Entering directory `/root/X=
en/xen-unstable.hg/tools/include&#39;</div><div>make -C xen-foreign</div><d=
iv>make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/include/xen=
-foreign&#39;</div>
<div>./checker &gt; tmp.size</div><div>diff -u reference.size tmp.size</div=
><div>rm tmp.size</div><div>make[4]: Leaving directory `/root/Xen/xen-unsta=
ble.hg/tools/include/xen-foreign&#39;</div><div>/root/Xen/xen-unstable.hg/t=
ools/include/../../tools/cross-install -d -m0755 -p //usr/include/xen/arch-=
ia64</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/arch-ia64/hvm</div><div>/root/Xen/xen-unstable.h=
g/tools/include/../../tools/cross-install -d -m0755 -p //usr/include/xen/ar=
ch-x86</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/arch-x86/hvm</div><div>/root/Xen/xen-unstable.hg=
/tools/include/../../tools/cross-install -d -m0755 -p //usr/include/xen/for=
eign</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/hvm</div><div>/root/Xen/xen-unstable.hg/tools/in=
clude/../../tools/cross-install -d -m0755 -p //usr/include/xen/io</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755 -p //usr/include/xen/sys</div><div>/root/Xen/xen-unstable.hg/tools/in=
clude/../../tools/cross-install -d -m0755 -p //usr/include/xen/xsm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/COPYING //usr/include/xen</div><div>/root/Xen/xen-unstable.hg/too=
ls/include/../../tools/cross-install -m0644 -p xen/*.h //usr/include/xen</d=
iv>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/arch-ia64/*.h //usr/include/xen/arch-ia64</div><div>/root/Xen/xen=
-unstable.hg/tools/include/../../tools/cross-install -m0644 -p xen/arch-ia6=
4/hvm/*.h //usr/include/xen/arch-ia64/hvm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/arch-x86/*.h //usr/include/xen/arch-x86</div><div>/root/Xen/xen-u=
nstable.hg/tools/include/../../tools/cross-install -m0644 -p xen/arch-x86/h=
vm/*.h //usr/include/xen/arch-x86/hvm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/foreign/*.h //usr/include/xen/foreign</div><div>/root/Xen/xen-uns=
table.hg/tools/include/../../tools/cross-install -m0644 -p xen/hvm/*.h //us=
r/include/xen/hvm</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/io/*.h //usr/include/xen/io</div><div>/root/Xen/xen-unstable.hg/t=
ools/include/../../tools/cross-install -m0644 -p xen/sys/*.h //usr/include/=
xen/sys</div>
<div>/root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p xen/xsm/*.h //usr/include/xen/xsm</div><div>make[3]: Leaving director=
y `/root/Xen/xen-unstable.hg/tools/include&#39;</div><div>make[2]: Leaving =
directory `/root/Xen/xen-unstable.hg/tools&#39;</div>
<div>make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;</div=
><div>make -C libxc install</div><div>make[3]: Entering directory `/root/Xe=
n/xen-unstable.hg/tools/libxc&#39;</div><div>make libs</div><div>make[4]: E=
ntering directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;</div>
<div>make[4]: Nothing to be done for `libs&#39;.</div><div>make[4]: Leaving=
 directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;</div><div>/root/Xen/=
xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755 -p //usr/li=
b64</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0=
755 -p //usr/include</div><div>/root/Xen/xen-unstable.hg/tools/libxc/../../=
tools/cross-install -m0755 -p libxenctrl.so.4.2.0 //usr/lib64</div><div>
/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p l=
ibxenctrl.a //usr/lib64</div><div>ln -sf libxenctrl.so.4.2.0 //usr/lib64/li=
bxenctrl.so.4.2</div><div>ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.s=
o</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p xenctrl.h xenctrlosdep.h xentoollog.h //usr/include</div><div>/root/Xen=
/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p libxengues=
t.so.4.2.0 //usr/lib64</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p libxenguest.a //usr/lib64</div><div>ln -sf libxenguest.so.4.2.0 //usr/l=
ib64/libxenguest.so.4.2</div><div>ln -sf libxenguest.so.4.2 //usr/lib64/lib=
xenguest.so</div>
<div>/root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p xenguest.h //usr/include</div><div>make[3]: Leaving directory `/root/Xe=
n/xen-unstable.hg/tools/libxc&#39;</div><div>make[2]: Leaving directory `/r=
oot/Xen/xen-unstable.hg/tools&#39;</div>
<div>make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;</div=
><div>make -C flask install</div><div>make[3]: Entering directory `/root/Xe=
n/xen-unstable.hg/tools/flask&#39;</div><div>make[4]: Entering directory `/=
root/Xen/xen-unstable.hg/tools/flask&#39;</div>
<div>make -C utils install</div><div>make[5]: Entering directory `/root/Xen=
/xen-unstable.hg/tools/flask/utils&#39;</div><div>gcc =A0 =A0 loadpolicy.o =
=A0/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenc=
trl.so -o flask-loadpolicy</div>
<div>/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so: undefined reference to `pthread_key_create&#39;</div><div>/root/X=
en/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so: un=
defined reference to `pthread_once&#39;</div>
<div>/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so: undefined reference to `pthread_getspecific&#39;</div><div>/root/=
Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenctrl.so: u=
ndefined reference to `pthread_setspecific&#39;</div>
<div>collect2: ld returned 1 exit status</div><div>make[5]: *** [flask-load=
policy] Error 1</div><div>make[5]: Leaving directory `/root/Xen/xen-unstabl=
e.hg/tools/flask/utils&#39;</div><div>make[4]: *** [subdir-install-utils] E=
rror 2</div>
<div>make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask&#39;=
</div><div>make[3]: *** [subdirs-install] Error 2</div><div>make[3]: Leavin=
g directory `/root/Xen/xen-unstable.hg/tools/flask&#39;</div><div>make[2]: =
*** [subdir-install-flask] Error 2</div>
<div>make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;</div>=
<div>make[1]: *** [subdirs-install] Error 2</div><div>make[1]: Leaving dire=
ctory `/root/Xen/xen-unstable.hg/tools&#39;</div><div>make: *** [install-to=
ols] Error 2</div>
<div><br></div><div>=A0</div><div><br></div><br clear=3D"all"><div><br></di=
v>-- <br>Best Regards,<div>Bei Guan</div><br>

--f46d044303f431625704bf213e2b--


--===============1196300607551140119==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1196300607551140119==--


From xen-devel-bounces@lists.xen.org Thu May 03 12:57:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:57:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvaR-0005M4-PG; Thu, 03 May 2012 12:56:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPvaQ-0005Lx-4u
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:56:46 +0000
Received: from [85.158.143.99:48170] by server-1.bemta-4.messagelabs.com id
	85/C3-20925-D8082AF4; Thu, 03 May 2012 12:56:45 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336049802!26355222!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3427 invoked from network); 3 May 2012 12:56:43 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:56:43 -0000
Received: by obfk16 with SMTP id k16so3404216obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 05:56:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=sXvIBMtWaWAEXmh3KTx27Fhi/54s/j4S//fAjmbYxKI=;
	b=ZAd0evSHsYSV9HuGJ+RYmh13EqoSdTDNGGR4EdLZeOX/M3OgHpLvOtT5rUmxgzls3g
	w8UR38v5R/Iqomz/RpPJ3oJ3Nfs8izqYEgAjs1c+OcgbkMeAmbKMQSsOuDo3skpaKVNn
	1Bhoek/FNPctPyjDKUJ5lXvS3qFykerCtWoU2FnbTXUaOaNVabh0IWpOgWpKWXz9jwHB
	r0cXr2+hHHOs8rOBcWWPZujlD04modQcTs3zA6rZeIYqbto1V1JLoT5Xd7i1g1Yv4XQV
	FmSo4iLStFXEj86r4ugMAG8yTXMIZsmmfiAmTi3S28jc2DXlx1X2rsUesI1QW2VI4Plu
	737A==
MIME-Version: 1.0
Received: by 10.182.38.1 with SMTP id c1mr2782927obk.18.1336049801199; Thu, 03
	May 2012 05:56:41 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 05:56:41 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
Date: Thu, 3 May 2012 20:56:41 +0800
Message-ID: <CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 8:46 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 3 May 2012, ZhouPeng wrote:
>> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
>> >
>> > Zhou Peng wrote
>> >>
>> >> Hi Fantu,
>> >>
>> >> Thanks for your response.
>> >>
>> >> xl doesn't support qxl-related option at the moment.
>> >> I will test upstream-qemu-xen these days, and if it works well
>> >> with qxl device, I will be glad to add qxl support to xl.
>> >>
>> > Hello, any news about this?
>> > Thanks in advance
>>
>> It seems you are using the upstream-qemu.
>> There are some special patches for upstream-qemu-xen(I don't track if al=
l the
>> patches have been accepted by qemu)
>>
>> The git repos for upstream-qemu-xen:
>> =A0 Stefano Stabellini's tree:
>> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
>> =A0 Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
>>
>> I am watching upstream-qemu-xen's progress too, but I have not tracked
>> it for months.
>
> That is my personal tree. Now upstream QEMU is integrated in
> xen-unstable, so the tree that should be used
> is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
>
>
>> I was plan to test the latest upstream-qemu-xen and response to you,
>> but I encounter a problem when preparing the environment using the upstr=
eam xen:
>> =A0 # xl list
>> =A0 libxl: error: libxl.c:506:libxl_list_domain: geting domain info
>> list: Operation not permitted
>> =A0 libxl_domain_infolist failed.
>
> This looks like a basic setup issue.
>
>
>> So I suggest you =A0to have a try of upstream-qemu-xen if not yet.
>> In my test many months ago, it didn't support graphic, and spice was tes=
ted
>> with linux-hvm disabling graphic.
>
> What do you mean by "disabling graphic"? Do you mean disabling the vga
> card?
No, not disable the vga card.
But booting in Text mode.
>
>> How to configure upstream-qemu-xen:
>> ./configure --target-list=3Di386-softmmu --enable-spice
>> =A0 =A0--enable-xen --extra-cflags=3D-I${path-to-xen}/dist/install/usr/i=
nclude
>> =A0 =A0--extra-ldflags=3D-L${path-to-xen}/dist/install/usr/lib
>>
>> CCing to Stefano, who may help you on upstream-qemu-xen.
>
> Yes, it is true that you need to add --enable-spice to the configure
> command line options.



-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:57:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:57:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvaR-0005M4-PG; Thu, 03 May 2012 12:56:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPvaQ-0005Lx-4u
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:56:46 +0000
Received: from [85.158.143.99:48170] by server-1.bemta-4.messagelabs.com id
	85/C3-20925-D8082AF4; Thu, 03 May 2012 12:56:45 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336049802!26355222!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3427 invoked from network); 3 May 2012 12:56:43 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:56:43 -0000
Received: by obfk16 with SMTP id k16so3404216obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 05:56:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=sXvIBMtWaWAEXmh3KTx27Fhi/54s/j4S//fAjmbYxKI=;
	b=ZAd0evSHsYSV9HuGJ+RYmh13EqoSdTDNGGR4EdLZeOX/M3OgHpLvOtT5rUmxgzls3g
	w8UR38v5R/Iqomz/RpPJ3oJ3Nfs8izqYEgAjs1c+OcgbkMeAmbKMQSsOuDo3skpaKVNn
	1Bhoek/FNPctPyjDKUJ5lXvS3qFykerCtWoU2FnbTXUaOaNVabh0IWpOgWpKWXz9jwHB
	r0cXr2+hHHOs8rOBcWWPZujlD04modQcTs3zA6rZeIYqbto1V1JLoT5Xd7i1g1Yv4XQV
	FmSo4iLStFXEj86r4ugMAG8yTXMIZsmmfiAmTi3S28jc2DXlx1X2rsUesI1QW2VI4Plu
	737A==
MIME-Version: 1.0
Received: by 10.182.38.1 with SMTP id c1mr2782927obk.18.1336049801199; Thu, 03
	May 2012 05:56:41 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 05:56:41 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
Date: Thu, 3 May 2012 20:56:41 +0800
Message-ID: <CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 8:46 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 3 May 2012, ZhouPeng wrote:
>> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
>> >
>> > Zhou Peng wrote
>> >>
>> >> Hi Fantu,
>> >>
>> >> Thanks for your response.
>> >>
>> >> xl doesn't support qxl-related option at the moment.
>> >> I will test upstream-qemu-xen these days, and if it works well
>> >> with qxl device, I will be glad to add qxl support to xl.
>> >>
>> > Hello, any news about this?
>> > Thanks in advance
>>
>> It seems you are using the upstream-qemu.
>> There are some special patches for upstream-qemu-xen(I don't track if al=
l the
>> patches have been accepted by qemu)
>>
>> The git repos for upstream-qemu-xen:
>> =A0 Stefano Stabellini's tree:
>> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
>> =A0 Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
>>
>> I am watching upstream-qemu-xen's progress too, but I have not tracked
>> it for months.
>
> That is my personal tree. Now upstream QEMU is integrated in
> xen-unstable, so the tree that should be used
> is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
>
>
>> I was plan to test the latest upstream-qemu-xen and response to you,
>> but I encounter a problem when preparing the environment using the upstr=
eam xen:
>> =A0 # xl list
>> =A0 libxl: error: libxl.c:506:libxl_list_domain: geting domain info
>> list: Operation not permitted
>> =A0 libxl_domain_infolist failed.
>
> This looks like a basic setup issue.
>
>
>> So I suggest you =A0to have a try of upstream-qemu-xen if not yet.
>> In my test many months ago, it didn't support graphic, and spice was tes=
ted
>> with linux-hvm disabling graphic.
>
> What do you mean by "disabling graphic"? Do you mean disabling the vga
> card?
No, not disable the vga card.
But booting in Text mode.
>
>> How to configure upstream-qemu-xen:
>> ./configure --target-list=3Di386-softmmu --enable-spice
>> =A0 =A0--enable-xen --extra-cflags=3D-I${path-to-xen}/dist/install/usr/i=
nclude
>> =A0 =A0--extra-ldflags=3D-L${path-to-xen}/dist/install/usr/lib
>>
>> CCing to Stefano, who may help you on upstream-qemu-xen.
>
> Yes, it is true that you need to add --enable-spice to the configure
> command line options.



-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 12:58:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:58:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvbe-0005Pu-8H; Thu, 03 May 2012 12:58:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPvbc-0005Pj-2O
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:58:00 +0000
Received: from [85.158.138.51:21067] by server-8.bemta-3.messagelabs.com id
	FD/33-24428-7D082AF4; Thu, 03 May 2012 12:57:59 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336049878!25060096!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2913 invoked from network); 3 May 2012 12:57:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:57:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12273540"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 12:57:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 13:57:58 +0100
Date: Thu, 3 May 2012 14:05:26 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-963175513-1336050342=:26786"
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-963175513-1336050342=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT

On Thu, 3 May 2012, ZhouPeng wrote:
> On Thu, May 3, 2012 at 8:46 PM, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> > On Thu, 3 May 2012, ZhouPeng wrote:
> >> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
> >> >
> >> > Zhou Peng wrote
> >> >>
> >> >> Hi Fantu,
> >> >>
> >> >> Thanks for your response.
> >> >>
> >> >> xl doesn't support qxl-related option at the moment.
> >> >> I will test upstream-qemu-xen these days, and if it works well
> >> >> with qxl device, I will be glad to add qxl support to xl.
> >> >>
> >> > Hello, any news about this?
> >> > Thanks in advance
> >>
> >> It seems you are using the upstream-qemu.
> >> There are some special patches for upstream-qemu-xen(I don't track if all the
> >> patches have been accepted by qemu)
> >>
> >> The git repos for upstream-qemu-xen:
> >> Â  Stefano Stabellini's tree:
> >> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
> >> Â  Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
> >>
> >> I am watching upstream-qemu-xen's progress too, but I have not tracked
> >> it for months.
> >
> > That is my personal tree. Now upstream QEMU is integrated in
> > xen-unstable, so the tree that should be used
> > is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
> >
> >
> >> I was plan to test the latest upstream-qemu-xen and response to you,
> >> but I encounter a problem when preparing the environment using the upstream xen:
> >> Â  # xl list
> >> Â  libxl: error: libxl.c:506:libxl_list_domain: geting domain info
> >> list: Operation not permitted
> >> Â  libxl_domain_infolist failed.
> >
> > This looks like a basic setup issue.
> >
> >
> >> So I suggest you Â to have a try of upstream-qemu-xen if not yet.
> >> In my test many months ago, it didn't support graphic, and spice was tested
> >> with linux-hvm disabling graphic.
> >
> > What do you mean by "disabling graphic"? Do you mean disabling the vga
> > card?
> No, not disable the vga card.
> But booting in Text mode.

Then you are manually starting X11 with the spice driver?
--8323329-963175513-1336050342=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-963175513-1336050342=:26786--


From xen-devel-bounces@lists.xen.org Thu May 03 12:58:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:58:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvbe-0005Pu-8H; Thu, 03 May 2012 12:58:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPvbc-0005Pj-2O
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:58:00 +0000
Received: from [85.158.138.51:21067] by server-8.bemta-3.messagelabs.com id
	FD/33-24428-7D082AF4; Thu, 03 May 2012 12:57:59 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336049878!25060096!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2913 invoked from network); 3 May 2012 12:57:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 12:57:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12273540"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 12:57:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 13:57:58 +0100
Date: Thu, 3 May 2012 14:05:26 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-963175513-1336050342=:26786"
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-963175513-1336050342=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT

On Thu, 3 May 2012, ZhouPeng wrote:
> On Thu, May 3, 2012 at 8:46 PM, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> > On Thu, 3 May 2012, ZhouPeng wrote:
> >> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
> >> >
> >> > Zhou Peng wrote
> >> >>
> >> >> Hi Fantu,
> >> >>
> >> >> Thanks for your response.
> >> >>
> >> >> xl doesn't support qxl-related option at the moment.
> >> >> I will test upstream-qemu-xen these days, and if it works well
> >> >> with qxl device, I will be glad to add qxl support to xl.
> >> >>
> >> > Hello, any news about this?
> >> > Thanks in advance
> >>
> >> It seems you are using the upstream-qemu.
> >> There are some special patches for upstream-qemu-xen(I don't track if all the
> >> patches have been accepted by qemu)
> >>
> >> The git repos for upstream-qemu-xen:
> >> Â  Stefano Stabellini's tree:
> >> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
> >> Â  Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
> >>
> >> I am watching upstream-qemu-xen's progress too, but I have not tracked
> >> it for months.
> >
> > That is my personal tree. Now upstream QEMU is integrated in
> > xen-unstable, so the tree that should be used
> > is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
> >
> >
> >> I was plan to test the latest upstream-qemu-xen and response to you,
> >> but I encounter a problem when preparing the environment using the upstream xen:
> >> Â  # xl list
> >> Â  libxl: error: libxl.c:506:libxl_list_domain: geting domain info
> >> list: Operation not permitted
> >> Â  libxl_domain_infolist failed.
> >
> > This looks like a basic setup issue.
> >
> >
> >> So I suggest you Â to have a try of upstream-qemu-xen if not yet.
> >> In my test many months ago, it didn't support graphic, and spice was tested
> >> with linux-hvm disabling graphic.
> >
> > What do you mean by "disabling graphic"? Do you mean disabling the vga
> > card?
> No, not disable the vga card.
> But booting in Text mode.

Then you are manually starting X11 with the spice driver?
--8323329-963175513-1336050342=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-963175513-1336050342=:26786--


From xen-devel-bounces@lists.xen.org Thu May 03 12:58:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:58:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvc2-0005Rz-Pd; Thu, 03 May 2012 12:58:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPvc1-0005Rn-Lo
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:58:25 +0000
Received: from [193.109.254.147:42633] by server-10.bemta-14.messagelabs.com
	id AB/44-05847-0F082AF4; Thu, 03 May 2012 12:58:24 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336049886!643055!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32233 invoked from network); 3 May 2012 12:58:06 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-15.tower-27.messagelabs.com with SMTP;
	3 May 2012 12:58:06 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPvbg-0000U7-O8; Thu, 03 May 2012 12:58:04 +0000
Message-ID: <4FA280DA.9080505@canonical.com>
Date: Thu, 03 May 2012 14:58:02 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com>
In-Reply-To: <4FA1B096.5010009@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7483904360065399984=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============7483904360065399984==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enigC439D14FE923CC3E0AE06D48"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigC439D14FE923CC3E0AE06D48
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 00:09, Boris Ostrovsky wrote:
> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>>> index a8f8844..d816448 100644
>>>>>> --- a/arch/x86/xen/enlighten.c
>>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>>   {
>>>>>> -    return 0;
>>>>>> +    struct xen_platform_op op =3D {
>>>>>> +        .cmd =3D XENPF_get_cpuinfo,
>>>>>> +        .interface_version =3D XENPF_INTERFACE_VERSION,
>>>>>> +        .u.pcpu_info.xen_cpuid =3D 0,
>>>>>
>>>>>
>>>>> Is this always zero? This will probably solve the current problem
>>>>
>>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>>
>>> Why not use CPU number instead of zero here?
>>
>> The issue was only with the bootup CPU - so was using the Xen's
>> bootup CPU number - which is zero (as is Linux's).
>=20
> I agree that for this particular problem this may be sufficient.
>=20
> My concern is that in the future someone may decide to use apic_read(AP=
IC_ID) or
> read_apic_id() for some other purpose and they won't get expected resul=
t (i.e.
> on all CPUs they will get the same answer).
>=20
>>
>>>
>>>>
>>>>> but I am wondering whether in the future we might hit another bug
>>>>> because this routine will return the same APICID for all VCPUs.
>>>>
>>>>   Later on it does a check for 'smp_processor_id()' - and if
>>>> that is anything but zero it will bail out.
>>>
>>> Can you point me to the check you are referring to?
>>
>> if (!xen_initial_domain() || smp_processor_id())
>=20
> I don't see this line --- neither in the mainline nor in your kernel. W=
hich
> kernel and which routine is this in?
>=20
> BTW, this patch doesn't quite work, xen-acpi-processor driver fails to =
load with
> the same error as before. I'll look at this tomorrow more carefully.
>=20
>=20
> -boris
>=20
>>
>>
>>>
>>> -boris
>>>
>>>
>>>>
>>>> So this shoudl solve the problem for the bootup processor.
>>>>>
>>>>> -boris
>>>>>
>>>>>
>>>>>> +    };
>>>>>> +    int ret =3D 0;
>>>>>> +
>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we o=
nly
>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>> +        return 0x10;
>>>>>> +
>>>>>> +    if (reg !=3D APIC_ID)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>> +    if (ret)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>   }
>>>>>>
>>>>>>   static void xen_apic_write(u32 reg, u32 val)

I added debugging to all exit paths that could return 0 (which is what th=
e
boot_cpu_physical_apicid is set to with that patch. Which would only leav=
e the
case of the HV call returning the wrong value somehow...

>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>
>=20
>=20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



--------------enigC439D14FE923CC3E0AE06D48
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPooDaAAoJEOhnXe7L7s6jqgYQAINa5QM4Mko8dQqD0gUMSxwf
+GZdh31C3o/yY1z9lIIFSSOqUlgwCHy9+dYv+yrIY1LvcE7tw4XhtAdxCWDDU1fg
leB0beMdPK9fbAKx0VWCfiwuZCrwHo+5VT62z/PQ3M2/LQVaoTXWBEQDRtntEzXY
i0LqTjPFcBN0EVGhnCXFkqO0+P5XWseTwnh2/6o+iKlaTAzI2/M+ntx27h7w3Pgl
nox25mxXCrHGkE+7s5LsbD/C5rMmZuhk8CNst7aG9Xm3fMcPn2KtnGjt/uK4tNSU
BA8hcStTJoD42dF3kqYIDMvnpc3OSdptcMgbsS3Wo2zCC83kf8OgKR3RiY9F1hiE
CpjEHfMLJQyGV10qe9uAC5oZnonpMAtUSlgKZsXmyCtqlbT/HOy/lkXAuLnsnaf1
q8S7c5mtCHlkN6r+zVzjNZoTCVxRWvHkol5Nbix2IRNENeUvPgF3x1xfya9ymQhT
hNjwkZakjt9CFjoLsfD7QFZ0nN5HQQy0Txp5k3tSKc6croSWS2/CLM/hRMec563/
xcFVlxgv8MIRNJtMsWfTnJY9FZBzCVbRuKPOy72b9yuzrueJBwpq9Bcfw04FpAiB
/NNUZnhIVicMizUUdC+/62d+9627FRvz7fF8paOwSVqY31GHf1535C5NZsfcF47x
foNqJfqdOMpoUh/9sea6
=FQCk
-----END PGP SIGNATURE-----

--------------enigC439D14FE923CC3E0AE06D48--


--===============7483904360065399984==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7483904360065399984==--


From xen-devel-bounces@lists.xen.org Thu May 03 12:58:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 12:58:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvc2-0005Rz-Pd; Thu, 03 May 2012 12:58:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPvc1-0005Rn-Lo
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 12:58:25 +0000
Received: from [193.109.254.147:42633] by server-10.bemta-14.messagelabs.com
	id AB/44-05847-0F082AF4; Thu, 03 May 2012 12:58:24 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336049886!643055!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32233 invoked from network); 3 May 2012 12:58:06 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-15.tower-27.messagelabs.com with SMTP;
	3 May 2012 12:58:06 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPvbg-0000U7-O8; Thu, 03 May 2012 12:58:04 +0000
Message-ID: <4FA280DA.9080505@canonical.com>
Date: Thu, 03 May 2012 14:58:02 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com>
In-Reply-To: <4FA1B096.5010009@amd.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7483904360065399984=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============7483904360065399984==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enigC439D14FE923CC3E0AE06D48"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigC439D14FE923CC3E0AE06D48
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 00:09, Boris Ostrovsky wrote:
> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>>> index a8f8844..d816448 100644
>>>>>> --- a/arch/x86/xen/enlighten.c
>>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>>   {
>>>>>> -    return 0;
>>>>>> +    struct xen_platform_op op =3D {
>>>>>> +        .cmd =3D XENPF_get_cpuinfo,
>>>>>> +        .interface_version =3D XENPF_INTERFACE_VERSION,
>>>>>> +        .u.pcpu_info.xen_cpuid =3D 0,
>>>>>
>>>>>
>>>>> Is this always zero? This will probably solve the current problem
>>>>
>>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>>
>>> Why not use CPU number instead of zero here?
>>
>> The issue was only with the bootup CPU - so was using the Xen's
>> bootup CPU number - which is zero (as is Linux's).
>=20
> I agree that for this particular problem this may be sufficient.
>=20
> My concern is that in the future someone may decide to use apic_read(AP=
IC_ID) or
> read_apic_id() for some other purpose and they won't get expected resul=
t (i.e.
> on all CPUs they will get the same answer).
>=20
>>
>>>
>>>>
>>>>> but I am wondering whether in the future we might hit another bug
>>>>> because this routine will return the same APICID for all VCPUs.
>>>>
>>>>   Later on it does a check for 'smp_processor_id()' - and if
>>>> that is anything but zero it will bail out.
>>>
>>> Can you point me to the check you are referring to?
>>
>> if (!xen_initial_domain() || smp_processor_id())
>=20
> I don't see this line --- neither in the mainline nor in your kernel. W=
hich
> kernel and which routine is this in?
>=20
> BTW, this patch doesn't quite work, xen-acpi-processor driver fails to =
load with
> the same error as before. I'll look at this tomorrow more carefully.
>=20
>=20
> -boris
>=20
>>
>>
>>>
>>> -boris
>>>
>>>
>>>>
>>>> So this shoudl solve the problem for the bootup processor.
>>>>>
>>>>> -boris
>>>>>
>>>>>
>>>>>> +    };
>>>>>> +    int ret =3D 0;
>>>>>> +
>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we o=
nly
>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>> +        return 0x10;
>>>>>> +
>>>>>> +    if (reg !=3D APIC_ID)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>> +    if (ret)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>   }
>>>>>>
>>>>>>   static void xen_apic_write(u32 reg, u32 val)

I added debugging to all exit paths that could return 0 (which is what th=
e
boot_cpu_physical_apicid is set to with that patch. Which would only leav=
e the
case of the HV call returning the wrong value somehow...

>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>
>=20
>=20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



--------------enigC439D14FE923CC3E0AE06D48
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPooDaAAoJEOhnXe7L7s6jqgYQAINa5QM4Mko8dQqD0gUMSxwf
+GZdh31C3o/yY1z9lIIFSSOqUlgwCHy9+dYv+yrIY1LvcE7tw4XhtAdxCWDDU1fg
leB0beMdPK9fbAKx0VWCfiwuZCrwHo+5VT62z/PQ3M2/LQVaoTXWBEQDRtntEzXY
i0LqTjPFcBN0EVGhnCXFkqO0+P5XWseTwnh2/6o+iKlaTAzI2/M+ntx27h7w3Pgl
nox25mxXCrHGkE+7s5LsbD/C5rMmZuhk8CNst7aG9Xm3fMcPn2KtnGjt/uK4tNSU
BA8hcStTJoD42dF3kqYIDMvnpc3OSdptcMgbsS3Wo2zCC83kf8OgKR3RiY9F1hiE
CpjEHfMLJQyGV10qe9uAC5oZnonpMAtUSlgKZsXmyCtqlbT/HOy/lkXAuLnsnaf1
q8S7c5mtCHlkN6r+zVzjNZoTCVxRWvHkol5Nbix2IRNENeUvPgF3x1xfya9ymQhT
hNjwkZakjt9CFjoLsfD7QFZ0nN5HQQy0Txp5k3tSKc6croSWS2/CLM/hRMec563/
xcFVlxgv8MIRNJtMsWfTnJY9FZBzCVbRuKPOy72b9yuzrueJBwpq9Bcfw04FpAiB
/NNUZnhIVicMizUUdC+/62d+9627FRvz7fF8paOwSVqY31GHf1535C5NZsfcF47x
foNqJfqdOMpoUh/9sea6
=FQCk
-----END PGP SIGNATURE-----

--------------enigC439D14FE923CC3E0AE06D48--


--===============7483904360065399984==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7483904360065399984==--


From xen-devel-bounces@lists.xen.org Thu May 03 13:05:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPviB-0005u1-Av; Thu, 03 May 2012 13:04:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SPvi9-0005to-P9
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:04:46 +0000
Received: from [85.158.138.51:26136] by server-11.bemta-3.messagelabs.com id
	69/B1-18894-D6282AF4; Thu, 03 May 2012 13:04:45 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336050282!25019216!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR, RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5758 invoked from network); 3 May 2012 13:04:44 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:04:44 -0000
Received: by qcsc20 with SMTP id c20so1385340qcs.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 06:04:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=uhsZDRGWEP6Cjr4/sUiZMoz3YGlsj5G92KwqClLbhIw=;
	b=Tv2HwPAvi+NGzMSk9dJiNAbnu2QarD3Cz+oUEDdC7wpRThqKrwpdEvl5oDhpPuzW7j
	qnCnXSG0iw+ZZugOBhierg46Lgwa0GSATX18rWd5YjtKVjZuq9OhD+wBkdN7I9+riWfX
	6VmFrUmHvi5LeMIHMEI/kPXtbI3k0obZMlldzsTVYWoFLEylsO1YZ3lK0aGbX9P7an3u
	2JtDwA4WxOju5C8dPaoSyN+WQTXW/DjjLCXGluFbnVr0ryHvahKxlzofaM0pwgLKa9lY
	um4BftlUUQwsNCcoVQ6CRDcPh2bxOnSvO8kjq71TkCF5eLBMtEBbTfurVBmUIc7ap5Yr
	ieCA==
MIME-Version: 1.0
Received: by 10.224.212.1 with SMTP id gq1mr3666917qab.79.1336050282602; Thu,
	03 May 2012 06:04:42 -0700 (PDT)
Received: by 10.229.44.145 with HTTP; Thu, 3 May 2012 06:04:42 -0700 (PDT)
In-Reply-To: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
References: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
Date: Thu, 3 May 2012 14:04:42 +0100
X-Google-Sender-Auth: kb7lWEB7xnoTeq_8godi53KdLB0
Message-ID: <CAFLBxZawT6dzgOXL8dAgZvQHbqWhjfkNbuJX3S=BVnxo3GCcsQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Bei Guan <gbtju85@gmail.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen unstable make install-tools error
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 1:50 PM, Bei Guan <gbtju85@gmail.com> wrote:
> Hi,
>
> When I make install-tools in Xen unstable source code directory, there is=
 an
> error. The output is as the following. Please help me figure out this
> problem. Thank you very much.

Did you try doing "make clean ; ./configure ; make tools"?  That's the
first thing to do when you encounter a random error like this after
pulling from trunk.

This looks like it was made by a change to the way libraries were
included a week or two ago.  Try the above steps and let us know if
that doesn't fix it.

 -George

>
> root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools
> make -C tools install
> make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make -C include install
> make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include'
> make -C xen-foreign
> make[4]: Entering directory
> `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> ./checker > tmp.size
> diff -u reference.size tmp.size
> rm tmp.size
> make[4]: Leaving directory
> `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-ia64
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-ia64/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-x86
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-x86/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/foreign
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/io
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/sys
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/xsm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/COPYING //usr/include/xen
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/*.h //usr/include/xen
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-ia64/*.h //usr/include/xen/arch-ia64
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-x86/*.h //usr/include/xen/arch-x86
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/foreign/*.h //usr/include/xen/foreign
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/hvm/*.h //usr/include/xen/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/io/*.h //usr/include/xen/io
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/sys/*.h //usr/include/xen/sys
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/xsm/*.h //usr/include/xen/xsm
> make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include'
> make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make -C libxc install
> make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> make libs
> make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> make[4]: Nothing to be done for `libs'.
> make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755=
 -p
> //usr/lib64
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755=
 -p
> //usr/include
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
> libxenctrl.so.4.2.0 //usr/lib64
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> libxenctrl.a //usr/lib64
> ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2
> ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> xenctrl.h xenctrlosdep.h xentoollog.h //usr/include
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
> libxenguest.so.4.2.0 //usr/lib64
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> libxenguest.a //usr/lib64
> ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2
> ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> xenguest.h //usr/include
> make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make -C flask install
> make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> make -C utils install
> make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
> gcc =A0 =A0 loadpolicy.o
> =A0/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so
> -o flask-loadpolicy
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_key_create'
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_once'
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_getspecific'
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_setspecific'
> collect2: ld returned 1 exit status
> make[5]: *** [flask-loadpolicy] Error 1
> make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
> make[4]: *** [subdir-install-utils] Error 2
> make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> make[3]: *** [subdirs-install] Error 2
> make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> make[2]: *** [subdir-install-flask] Error 2
> make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make[1]: *** [subdirs-install] Error 2
> make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make: *** [install-tools] Error 2
>
>
>
>
>
> --
> Best Regards,
> Bei Guan
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:05:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPviB-0005u1-Av; Thu, 03 May 2012 13:04:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SPvi9-0005to-P9
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:04:46 +0000
Received: from [85.158.138.51:26136] by server-11.bemta-3.messagelabs.com id
	69/B1-18894-D6282AF4; Thu, 03 May 2012 13:04:45 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336050282!25019216!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR, RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5758 invoked from network); 3 May 2012 13:04:44 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:04:44 -0000
Received: by qcsc20 with SMTP id c20so1385340qcs.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 06:04:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=uhsZDRGWEP6Cjr4/sUiZMoz3YGlsj5G92KwqClLbhIw=;
	b=Tv2HwPAvi+NGzMSk9dJiNAbnu2QarD3Cz+oUEDdC7wpRThqKrwpdEvl5oDhpPuzW7j
	qnCnXSG0iw+ZZugOBhierg46Lgwa0GSATX18rWd5YjtKVjZuq9OhD+wBkdN7I9+riWfX
	6VmFrUmHvi5LeMIHMEI/kPXtbI3k0obZMlldzsTVYWoFLEylsO1YZ3lK0aGbX9P7an3u
	2JtDwA4WxOju5C8dPaoSyN+WQTXW/DjjLCXGluFbnVr0ryHvahKxlzofaM0pwgLKa9lY
	um4BftlUUQwsNCcoVQ6CRDcPh2bxOnSvO8kjq71TkCF5eLBMtEBbTfurVBmUIc7ap5Yr
	ieCA==
MIME-Version: 1.0
Received: by 10.224.212.1 with SMTP id gq1mr3666917qab.79.1336050282602; Thu,
	03 May 2012 06:04:42 -0700 (PDT)
Received: by 10.229.44.145 with HTTP; Thu, 3 May 2012 06:04:42 -0700 (PDT)
In-Reply-To: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
References: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
Date: Thu, 3 May 2012 14:04:42 +0100
X-Google-Sender-Auth: kb7lWEB7xnoTeq_8godi53KdLB0
Message-ID: <CAFLBxZawT6dzgOXL8dAgZvQHbqWhjfkNbuJX3S=BVnxo3GCcsQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Bei Guan <gbtju85@gmail.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen unstable make install-tools error
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 1:50 PM, Bei Guan <gbtju85@gmail.com> wrote:
> Hi,
>
> When I make install-tools in Xen unstable source code directory, there is=
 an
> error. The output is as the following. Please help me figure out this
> problem. Thank you very much.

Did you try doing "make clean ; ./configure ; make tools"?  That's the
first thing to do when you encounter a random error like this after
pulling from trunk.

This looks like it was made by a change to the way libraries were
included a week or two ago.  Try the above steps and let us know if
that doesn't fix it.

 -George

>
> root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools
> make -C tools install
> make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make -C include install
> make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include'
> make -C xen-foreign
> make[4]: Entering directory
> `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> ./checker > tmp.size
> diff -u reference.size tmp.size
> rm tmp.size
> make[4]: Leaving directory
> `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-ia64
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-ia64/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-x86
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/arch-x86/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/foreign
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/io
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/sys
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -m07=
55
> -p //usr/include/xen/xsm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/COPYING //usr/include/xen
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/*.h //usr/include/xen
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-ia64/*.h //usr/include/xen/arch-ia64
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-x86/*.h //usr/include/xen/arch-x86
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/foreign/*.h //usr/include/xen/foreign
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/hvm/*.h //usr/include/xen/hvm
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/io/*.h //usr/include/xen/io
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/sys/*.h //usr/include/xen/sys
> /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m0644 =
-p
> xen/xsm/*.h //usr/include/xen/xsm
> make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include'
> make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make -C libxc install
> make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> make libs
> make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> make[4]: Nothing to be done for `libs'.
> make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755=
 -p
> //usr/lib64
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0755=
 -p
> //usr/include
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
> libxenctrl.so.4.2.0 //usr/lib64
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> libxenctrl.a //usr/lib64
> ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2
> ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> xenctrl.h xenctrlosdep.h xentoollog.h //usr/include
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 -p
> libxenguest.so.4.2.0 //usr/lib64
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> libxenguest.a //usr/lib64
> ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2
> ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so
> /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 -p
> xenguest.h //usr/include
> make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> make -C flask install
> make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> make -C utils install
> make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
> gcc =A0 =A0 loadpolicy.o
> =A0/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so
> -o flask-loadpolicy
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_key_create'
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_once'
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_getspecific'
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> undefined reference to `pthread_setspecific'
> collect2: ld returned 1 exit status
> make[5]: *** [flask-loadpolicy] Error 1
> make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/utils'
> make[4]: *** [subdir-install-utils] Error 2
> make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> make[3]: *** [subdirs-install] Error 2
> make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> make[2]: *** [subdir-install-flask] Error 2
> make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make[1]: *** [subdirs-install] Error 2
> make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> make: *** [install-tools] Error 2
>
>
>
>
>
> --
> Best Regards,
> Bei Guan
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:06:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:06:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvjS-00060d-Rh; Thu, 03 May 2012 13:06:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPvjR-00060P-CV
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:06:05 +0000
Received: from [193.109.254.147:6523] by server-4.bemta-14.messagelabs.com id
	9E/97-11570-CB282AF4; Thu, 03 May 2012 13:06:04 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336050360!2309344!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22009 invoked from network); 3 May 2012 13:06:02 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:06:02 -0000
Received: by obfk16 with SMTP id k16so3417102obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 06:06:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=iIcNtAQwlYQv4NO9ZKT7NIdBvs/S7f+qplzaThTKgWU=;
	b=WNkusemOLarPQZ0ZtGpWpee1tUgsWzkOm1gmypI+z6FHnSIRLjSxhicYXicEp5h/ag
	c4EDBBVvb2BPCtmHU3QqhW/fQIr2g704k44rjBq+O+r6LkkXmJKjIm/II9/F47zC+o0v
	OKs17frnNiLC/qDOZUFVxCIx+vPIIzHSXTj8KbS9WYPwmD+H1SvfaiGc9xkVoukvR3mH
	/r1sJFnEfNHBkFADZjNK3ZgXVyNQKC2wADu7/vCcLcSZVkcai6ORsouI5yE8QwwFyPc0
	Abb7wReBeXyAJPVxLJS5/EstbinYP17THFh4eDAhWlf0VwoUt94bEjRxwF3pBGxWRaUj
	WpTg==
MIME-Version: 1.0
Received: by 10.60.26.231 with SMTP id o7mr2730253oeg.31.1336050359895; Thu,
	03 May 2012 06:05:59 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 06:05:59 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
Date: Thu, 3 May 2012 21:05:59 +0800
Message-ID: <CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 9:05 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 3 May 2012, ZhouPeng wrote:
>> On Thu, May 3, 2012 at 8:46 PM, Stefano Stabellini
>> <stefano.stabellini@eu.citrix.com> wrote:
>> > On Thu, 3 May 2012, ZhouPeng wrote:
>> >> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
>> >> >
>> >> > Zhou Peng wrote
>> >> >>
>> >> >> Hi Fantu,
>> >> >>
>> >> >> Thanks for your response.
>> >> >>
>> >> >> xl doesn't support qxl-related option at the moment.
>> >> >> I will test upstream-qemu-xen these days, and if it works well
>> >> >> with qxl device, I will be glad to add qxl support to xl.
>> >> >>
>> >> > Hello, any news about this?
>> >> > Thanks in advance
>> >>
>> >> It seems you are using the upstream-qemu.
>> >> There are some special patches for upstream-qemu-xen(I don't track if=
 all the
>> >> patches have been accepted by qemu)
>> >>
>> >> The git repos for upstream-qemu-xen:
>> >> =A0 Stefano Stabellini's tree:
>> >> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
>> >> =A0 Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
>> >>
>> >> I am watching upstream-qemu-xen's progress too, but I have not tracked
>> >> it for months.
>> >
>> > That is my personal tree. Now upstream QEMU is integrated in
>> > xen-unstable, so the tree that should be used
>> > is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
>> >
>> >
>> >> I was plan to test the latest upstream-qemu-xen and response to you,
>> >> but I encounter a problem when preparing the environment using the up=
stream xen:
>> >> =A0 # xl list
>> >> =A0 libxl: error: libxl.c:506:libxl_list_domain: geting domain info
>> >> list: Operation not permitted
>> >> =A0 libxl_domain_infolist failed.
>> >
>> > This looks like a basic setup issue.
>> >
>> >
>> >> So I suggest you =A0to have a try of upstream-qemu-xen if not yet.
>> >> In my test many months ago, it didn't support graphic, and spice was =
tested
>> >> with linux-hvm disabling graphic.
>> >
>> > What do you mean by "disabling graphic"? Do you mean disabling the vga
>> > card?
>> No, not disable the vga card.
>> But booting in Text mode.
>
> Then you are manually starting X11 with the spice driver?
Always in text mode.
Never start X11.
Using stdard vga but not qxl-vga.
-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:06:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:06:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvjS-00060d-Rh; Thu, 03 May 2012 13:06:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPvjR-00060P-CV
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:06:05 +0000
Received: from [193.109.254.147:6523] by server-4.bemta-14.messagelabs.com id
	9E/97-11570-CB282AF4; Thu, 03 May 2012 13:06:04 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336050360!2309344!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22009 invoked from network); 3 May 2012 13:06:02 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:06:02 -0000
Received: by obfk16 with SMTP id k16so3417102obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 06:06:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=iIcNtAQwlYQv4NO9ZKT7NIdBvs/S7f+qplzaThTKgWU=;
	b=WNkusemOLarPQZ0ZtGpWpee1tUgsWzkOm1gmypI+z6FHnSIRLjSxhicYXicEp5h/ag
	c4EDBBVvb2BPCtmHU3QqhW/fQIr2g704k44rjBq+O+r6LkkXmJKjIm/II9/F47zC+o0v
	OKs17frnNiLC/qDOZUFVxCIx+vPIIzHSXTj8KbS9WYPwmD+H1SvfaiGc9xkVoukvR3mH
	/r1sJFnEfNHBkFADZjNK3ZgXVyNQKC2wADu7/vCcLcSZVkcai6ORsouI5yE8QwwFyPc0
	Abb7wReBeXyAJPVxLJS5/EstbinYP17THFh4eDAhWlf0VwoUt94bEjRxwF3pBGxWRaUj
	WpTg==
MIME-Version: 1.0
Received: by 10.60.26.231 with SMTP id o7mr2730253oeg.31.1336050359895; Thu,
	03 May 2012 06:05:59 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 06:05:59 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
Date: Thu, 3 May 2012 21:05:59 +0800
Message-ID: <CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 9:05 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 3 May 2012, ZhouPeng wrote:
>> On Thu, May 3, 2012 at 8:46 PM, Stefano Stabellini
>> <stefano.stabellini@eu.citrix.com> wrote:
>> > On Thu, 3 May 2012, ZhouPeng wrote:
>> >> On Wed, May 2, 2012 at 4:21 PM, Fantu <fantonifabio@tiscali.it> wrote:
>> >> >
>> >> > Zhou Peng wrote
>> >> >>
>> >> >> Hi Fantu,
>> >> >>
>> >> >> Thanks for your response.
>> >> >>
>> >> >> xl doesn't support qxl-related option at the moment.
>> >> >> I will test upstream-qemu-xen these days, and if it works well
>> >> >> with qxl device, I will be glad to add qxl support to xl.
>> >> >>
>> >> > Hello, any news about this?
>> >> > Thanks in advance
>> >>
>> >> It seems you are using the upstream-qemu.
>> >> There are some special patches for upstream-qemu-xen(I don't track if=
 all the
>> >> patches have been accepted by qemu)
>> >>
>> >> The git repos for upstream-qemu-xen:
>> >> =A0 Stefano Stabellini's tree:
>> >> git://xenbits.xen.org/people/sstabellini/qemu-dm.git
>> >> =A0 Anthony's tree: git://xenbits.xen.org/people/aperard/qemu-dm.git
>> >>
>> >> I am watching upstream-qemu-xen's progress too, but I have not tracked
>> >> it for months.
>> >
>> > That is my personal tree. Now upstream QEMU is integrated in
>> > xen-unstable, so the tree that should be used
>> > is: http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
>> >
>> >
>> >> I was plan to test the latest upstream-qemu-xen and response to you,
>> >> but I encounter a problem when preparing the environment using the up=
stream xen:
>> >> =A0 # xl list
>> >> =A0 libxl: error: libxl.c:506:libxl_list_domain: geting domain info
>> >> list: Operation not permitted
>> >> =A0 libxl_domain_infolist failed.
>> >
>> > This looks like a basic setup issue.
>> >
>> >
>> >> So I suggest you =A0to have a try of upstream-qemu-xen if not yet.
>> >> In my test many months ago, it didn't support graphic, and spice was =
tested
>> >> with linux-hvm disabling graphic.
>> >
>> > What do you mean by "disabling graphic"? Do you mean disabling the vga
>> > card?
>> No, not disable the vga card.
>> But booting in Text mode.
>
> Then you are manually starting X11 with the spice driver?
Always in text mode.
Never start X11.
Using stdard vga but not qxl-vga.
-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:13:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvqM-0006PH-VC; Thu, 03 May 2012 13:13:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPvqK-0006PB-Rb
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:13:12 +0000
Received: from [193.109.254.147:34581] by server-8.bemta-14.messagelabs.com id
	00/8E-23244-86482AF4; Thu, 03 May 2012 13:13:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336050790!604137!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23045 invoked from network); 3 May 2012 13:13:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:13:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12274023"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 13:13:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	14:13:10 +0100
Message-ID: <1336050788.20716.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Thu, 3 May 2012 14:13:08 +0100
In-Reply-To: <CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Fantu <fantonifabio@tiscali.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 14:05 +0100, ZhouPeng wrote:
> > Then you are manually starting X11 with the spice driver?
> Always in text mode.
> Never start X11.
> Using stdard vga but not qxl-vga.

How is spice being used when you do this?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:13:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPvqM-0006PH-VC; Thu, 03 May 2012 13:13:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPvqK-0006PB-Rb
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:13:12 +0000
Received: from [193.109.254.147:34581] by server-8.bemta-14.messagelabs.com id
	00/8E-23244-86482AF4; Thu, 03 May 2012 13:13:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336050790!604137!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23045 invoked from network); 3 May 2012 13:13:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:13:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12274023"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 13:13:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	14:13:10 +0100
Message-ID: <1336050788.20716.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Thu, 3 May 2012 14:13:08 +0100
In-Reply-To: <CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Fantu <fantonifabio@tiscali.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 14:05 +0100, ZhouPeng wrote:
> > Then you are manually starting X11 with the spice driver?
> Always in text mode.
> Never start X11.
> Using stdard vga but not qxl-vga.

How is spice being used when you do this?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:27:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPw47-0006gg-IB; Thu, 03 May 2012 13:27:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPw45-0006gb-VO
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:27:26 +0000
Received: from [85.158.139.83:4117] by server-5.bemta-5.messagelabs.com id
	09/E8-13566-DB782AF4; Thu, 03 May 2012 13:27:25 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336051642!15341742!1
X-Originating-IP: [209.85.160.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2848 invoked from network); 3 May 2012 13:27:24 -0000
Received: from mail-gy0-f171.google.com (HELO mail-gy0-f171.google.com)
	(209.85.160.171)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:27:24 -0000
Received: by ghbz17 with SMTP id z17so2330831ghb.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 06:27:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=XWEixCUZhGuREEPP6jQJt0KqTiItKGPXvy586vOu7WQ=;
	b=JYC6mj+hPuEAMIs56HNhJqIHlgQ8M5CZom8QnCWDIDsUbmZVicGTs6QVkYKJnfzHh2
	DyXPPn8EHSCR9Zb7AikIS+ir49t6kThBRpbc/MERQ+Bui3lZO2w2ltcbem1P7e3/tY5m
	jApqOm1Z+XcjlGyGxel22sGBknloJZ5etxEIoNg9C5amNCbzfBL5r7YbV/UiuSDCNOli
	MnbnXKXCDKGp5Sl3RJJIXCDujfyU/vOj7usAYpgf4lnhc4yW6HVjaPj65Jf0c+i4tbYi
	gRvn5kpaVAoCwirxUTNLMGktlFTD8pSHi9xzwdkxf8SdGhC54VEWRVWVpZjzUcc7r3D+
	9MZg==
MIME-Version: 1.0
Received: by 10.60.4.1 with SMTP id g1mr2756599oeg.55.1336051641940; Thu, 03
	May 2012 06:27:21 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 06:27:21 -0700 (PDT)
In-Reply-To: <1336050788.20716.76.camel@zakaz.uk.xensource.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<1336050788.20716.76.camel@zakaz.uk.xensource.com>
Date: Thu, 3 May 2012 21:27:21 +0800
Message-ID: <CAAh7U5Ogf4yEcTV9rfJESMidii2YV0ATmYSQc-65_TprgtFE8Q@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Fantu <fantonifabio@tiscali.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 9:13 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Thu, 2012-05-03 at 14:05 +0100, ZhouPeng wrote:
>> > Then you are manually starting X11 with the spice driver?
>> Always in text mode.
>> Never start X11.
>> Using stdard vga but not qxl-vga.
>
> How is spice being used when you do this?
>
> Ian.
>
building upstream-qemu-xen (enable spice and xen)

Add this options in hvm-cfg to enable spice protocal
spice=1
spiceport=6000
spicehost='192.168.1.187'
spicedisable_ticketing = 1

There is some info in
http://code.google.com/p/spice4xen/wiki/Using_Upstream_Qemu

ps:
Two ways to disable graphic boot.
* install a new linux-hvm  without  graphic in install period
* set runlevel in text mode

If boot in graphic, the hvm-windows and hvm-linux will crash down
before booting completely.
-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:27:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPw47-0006gg-IB; Thu, 03 May 2012 13:27:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SPw45-0006gb-VO
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:27:26 +0000
Received: from [85.158.139.83:4117] by server-5.bemta-5.messagelabs.com id
	09/E8-13566-DB782AF4; Thu, 03 May 2012 13:27:25 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336051642!15341742!1
X-Originating-IP: [209.85.160.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2848 invoked from network); 3 May 2012 13:27:24 -0000
Received: from mail-gy0-f171.google.com (HELO mail-gy0-f171.google.com)
	(209.85.160.171)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:27:24 -0000
Received: by ghbz17 with SMTP id z17so2330831ghb.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 06:27:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=XWEixCUZhGuREEPP6jQJt0KqTiItKGPXvy586vOu7WQ=;
	b=JYC6mj+hPuEAMIs56HNhJqIHlgQ8M5CZom8QnCWDIDsUbmZVicGTs6QVkYKJnfzHh2
	DyXPPn8EHSCR9Zb7AikIS+ir49t6kThBRpbc/MERQ+Bui3lZO2w2ltcbem1P7e3/tY5m
	jApqOm1Z+XcjlGyGxel22sGBknloJZ5etxEIoNg9C5amNCbzfBL5r7YbV/UiuSDCNOli
	MnbnXKXCDKGp5Sl3RJJIXCDujfyU/vOj7usAYpgf4lnhc4yW6HVjaPj65Jf0c+i4tbYi
	gRvn5kpaVAoCwirxUTNLMGktlFTD8pSHi9xzwdkxf8SdGhC54VEWRVWVpZjzUcc7r3D+
	9MZg==
MIME-Version: 1.0
Received: by 10.60.4.1 with SMTP id g1mr2756599oeg.55.1336051641940; Thu, 03
	May 2012 06:27:21 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 06:27:21 -0700 (PDT)
In-Reply-To: <1336050788.20716.76.camel@zakaz.uk.xensource.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<1336050788.20716.76.camel@zakaz.uk.xensource.com>
Date: Thu, 3 May 2012 21:27:21 +0800
Message-ID: <CAAh7U5Ogf4yEcTV9rfJESMidii2YV0ATmYSQc-65_TprgtFE8Q@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Fantu <fantonifabio@tiscali.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 9:13 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Thu, 2012-05-03 at 14:05 +0100, ZhouPeng wrote:
>> > Then you are manually starting X11 with the spice driver?
>> Always in text mode.
>> Never start X11.
>> Using stdard vga but not qxl-vga.
>
> How is spice being used when you do this?
>
> Ian.
>
building upstream-qemu-xen (enable spice and xen)

Add this options in hvm-cfg to enable spice protocal
spice=1
spiceport=6000
spicehost='192.168.1.187'
spicedisable_ticketing = 1

There is some info in
http://code.google.com/p/spice4xen/wiki/Using_Upstream_Qemu

ps:
Two ways to disable graphic boot.
* install a new linux-hvm  without  graphic in install period
* set runlevel in text mode

If boot in graphic, the hvm-windows and hvm-linux will crash down
before booting completely.
-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:34:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:34:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwAM-0006qP-FY; Thu, 03 May 2012 13:33:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SPwAK-0006qK-Ft
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:33:52 +0000
Received: from [85.158.138.51:54748] by server-1.bemta-3.messagelabs.com id
	83/D8-11491-F3982AF4; Thu, 03 May 2012 13:33:51 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336052029!25109775!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.5 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	MAILTO_TO_SPAM_ADDR,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 491 invoked from network); 3 May 2012 13:33:50 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:33:50 -0000
Received: by wgbed3 with SMTP id ed3so1304145wgb.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 06:33:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=mvAGdjODQXAO/fiINLIP6s+e+cs4PWZU4V5nlgxqfYM=;
	b=la13Pos2kEJjewnyOM2VSCRvJs/G6t8CQ1JN/q6GMcxijJk53yuFSdWRkG7qjtPBI5
	0DUcKV2H+stC812HVLOf03AHO1FfOLwK4dmlBobaCPo19lwIx36nYM4aEmxuQkHxo2ag
	+Dsi8CSeYDBlxJfPmSlt2A6rLokoXQ4zRW5CN+s9NHY/I7PpQmzASAqsnDvk3RDa+u8b
	UcWjv+hQpNTKDS+DzED/dJFGIpwNhxJv3csnuf1eCFq0vRl/Ry8f89qLYhq9pM3/aHOO
	8gKen7pxaQDSBORDclW+TPIAjiQ/eHQylv01ud2QIdtB3ISqG/kyf7r4HLFKSgLV79fL
	yzGg==
MIME-Version: 1.0
Received: by 10.180.88.169 with SMTP id bh9mr3512047wib.5.1336052029762; Thu,
	03 May 2012 06:33:49 -0700 (PDT)
Received: by 10.223.157.129 with HTTP; Thu, 3 May 2012 06:33:49 -0700 (PDT)
In-Reply-To: <CAFLBxZawT6dzgOXL8dAgZvQHbqWhjfkNbuJX3S=BVnxo3GCcsQ@mail.gmail.com>
References: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
	<CAFLBxZawT6dzgOXL8dAgZvQHbqWhjfkNbuJX3S=BVnxo3GCcsQ@mail.gmail.com>
Date: Thu, 3 May 2012 21:33:49 +0800
Message-ID: <CAEQjb-QRapSB2o3V-Bv+N_0duoCg0qfNtOfaNLGvqZKUQ0bLhA@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen unstable make install-tools error
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5690367443359018707=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5690367443359018707==
Content-Type: multipart/alternative; boundary=f46d04182570a2ad6504bf21da58

--f46d04182570a2ad6504bf21da58
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi George,

I didn't do the =93./configure=94 before.
But when I do the steps as you said, I can compile the Xen tools
successfully. Thanks a lot.



2012/5/3 George Dunlap <George.Dunlap@eu.citrix.com>

> On Thu, May 3, 2012 at 1:50 PM, Bei Guan <gbtju85@gmail.com> wrote:
> > Hi,
> >
> > When I make install-tools in Xen unstable source code directory, there
> is an
> > error. The output is as the following. Please help me figure out this
> > problem. Thank you very much.
>
> Did you try doing "make clean ; ./configure ; make tools"?  That's the
> first thing to do when you encounter a random error like this after
> pulling from trunk.
>
> This looks like it was made by a change to the way libraries were
> included a week or two ago.  Try the above steps and let us know if
> that doesn't fix it.
>
>  -George
>
> >
> > root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools
> > make -C tools install
> > make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make -C include install
> > make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include'
> > make -C xen-foreign
> > make[4]: Entering directory
> > `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> > ./checker > tmp.size
> > diff -u reference.size tmp.size
> > rm tmp.size
> > make[4]: Leaving directory
> > `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-ia64
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-ia64/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-x86
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-x86/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/foreign
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/io
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/sys
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/xsm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/COPYING //usr/include/xen
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/*.h //usr/include/xen
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-ia64/*.h //usr/include/xen/arch-ia64
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-x86/*.h //usr/include/xen/arch-x86
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/foreign/*.h //usr/include/xen/foreign
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/hvm/*.h //usr/include/xen/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/io/*.h //usr/include/xen/io
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/sys/*.h //usr/include/xen/sys
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/xsm/*.h //usr/include/xen/xsm
> > make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include'
> > make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make -C libxc install
> > make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > make libs
> > make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > make[4]: Nothing to be done for `libs'.
> > make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d
> -m0755 -p
> > //usr/lib64
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d
> -m0755 -p
> > //usr/include
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 =
-p
> > libxenctrl.so.4.2.0 //usr/lib64
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > libxenctrl.a //usr/lib64
> > ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2
> > ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > xenctrl.h xenctrlosdep.h xentoollog.h //usr/include
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 =
-p
> > libxenguest.so.4.2.0 //usr/lib64
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > libxenguest.a //usr/lib64
> > ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2
> > ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > xenguest.h //usr/include
> > make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make -C flask install
> > make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make -C utils install
> > make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/util=
s'
> > gcc     loadpolicy.o
> >
>  /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenc=
trl.so
> > -o flask-loadpolicy
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_key_create'
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_once'
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_getspecific'
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_setspecific'
> > collect2: ld returned 1 exit status
> > make[5]: *** [flask-loadpolicy] Error 1
> > make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/utils=
'
> > make[4]: *** [subdir-install-utils] Error 2
> > make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make[3]: *** [subdirs-install] Error 2
> > make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make[2]: *** [subdir-install-flask] Error 2
> > make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make[1]: *** [subdirs-install] Error 2
> > make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make: *** [install-tools] Error 2
> >
> >
> >
> >
> >
> > --
> > Best Regards,
> > Bei Guan
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> >
>



--=20
Best Regards,
Bei Guan

--f46d04182570a2ad6504bf21da58
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi George,<div><br></div><div>I didn&#39;t do the =93./configure=94 before.=
=A0</div><div>But when I do the steps as you said, I can compile the Xen to=
ols successfully.=A0Thanks a lot.</div><div><br></div><div><br><br><div cla=
ss=3D"gmail_quote">
2012/5/3 George Dunlap <span dir=3D"ltr">&lt;<a href=3D"mailto:George.Dunla=
p@eu.citrix.com" target=3D"_blank">George.Dunlap@eu.citrix.com</a>&gt;</spa=
n><br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On Thu, May 3, 2012 at 1:50 PM, Bei Guan &lt;<a href=3D"m=
ailto:gbtju85@gmail.com">gbtju85@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; When I make install-tools in Xen unstable source code directory, there=
 is an<br>
&gt; error. The output is as the following. Please help me figure out this<=
br>
&gt; problem. Thank you very much.<br>
<br>
</div>Did you try doing &quot;make clean ; ./configure ; make tools&quot;? =
=A0That&#39;s the<br>
first thing to do when you encounter a random error like this after<br>
pulling from trunk.<br>
<br>
This looks like it was made by a change to the way libraries were<br>
included a week or two ago. =A0Try the above steps and let us know if<br>
that doesn&#39;t fix it.<br>
<br>
=A0-George<br>
<div><div class=3D"h5"><br>
&gt;<br>
&gt; root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools<br>
&gt; make -C tools install<br>
&gt; make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make -C include install<br>
&gt; make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include&#=
39;<br>
&gt; make -C xen-foreign<br>
&gt; make[4]: Entering directory<br>
&gt; `/root/Xen/xen-unstable.hg/tools/include/xen-foreign&#39;<br>
&gt; ./checker &gt; tmp.size<br>
&gt; diff -u reference.size tmp.size<br>
&gt; rm tmp.size<br>
&gt; make[4]: Leaving directory<br>
&gt; `/root/Xen/xen-unstable.hg/tools/include/xen-foreign&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-ia64<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-ia64/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-x86<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-x86/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/foreign<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/io<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/sys<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/xsm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/COPYING //usr/include/xen<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/*.h //usr/include/xen<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-ia64/*.h //usr/include/xen/arch-ia64<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-x86/*.h //usr/include/xen/arch-x86<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/foreign/*.h //usr/include/xen/foreign<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/hvm/*.h //usr/include/xen/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/io/*.h //usr/include/xen/io<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/sys/*.h //usr/include/xen/sys<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/xsm/*.h //usr/include/xen/xsm<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include&#3=
9;<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make -C libxc install<br>
&gt; make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc&#39=
;<br>
&gt; make libs<br>
&gt; make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc&#39=
;<br>
&gt; make[4]: Nothing to be done for `libs&#39;.<br>
&gt; make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;=
<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0=
755 -p<br>
&gt; //usr/lib64<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0=
755 -p<br>
&gt; //usr/include<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755=
 -p<br>
&gt; libxenctrl.so.4.2.0 //usr/lib64<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; libxenctrl.a //usr/lib64<br>
&gt; ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2<br>
&gt; ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; xenctrl.h xenctrlosdep.h xentoollog.h //usr/include<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755=
 -p<br>
&gt; libxenguest.so.4.2.0 //usr/lib64<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; libxenguest.a //usr/lib64<br>
&gt; ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2<br>
&gt; ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; xenguest.h //usr/include<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;=
<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make -C flask install<br>
&gt; make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask&#39=
;<br>
&gt; make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask&#39=
;<br>
&gt; make -C utils install<br>
&gt; make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/uti=
ls&#39;<br>
&gt; gcc =A0 =A0 loadpolicy.o<br>
&gt; =A0/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/li=
bxenctrl.so<br>
&gt; -o flask-loadpolicy<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_key_create&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_once&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_getspecific&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_setspecific&#39;<br>
&gt; collect2: ld returned 1 exit status<br>
&gt; make[5]: *** [flask-loadpolicy] Error 1<br>
&gt; make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/util=
s&#39;<br>
&gt; make[4]: *** [subdir-install-utils] Error 2<br>
&gt; make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask&#39;=
<br>
&gt; make[3]: *** [subdirs-install] Error 2<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask&#39;=
<br>
&gt; make[2]: *** [subdir-install-flask] Error 2<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[1]: *** [subdirs-install] Error 2<br>
&gt; make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make: *** [install-tools] Error 2<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Best Regards,<br>
&gt; Bei Guan<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Xen-devel mailing list<br>
&gt; <a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a>=
<br>
&gt; <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://li=
sts.xen.org/xen-devel</a><br>
&gt;<br>
</blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Best Regards=
,<div>Bei Guan</div><br>
</div>

--f46d04182570a2ad6504bf21da58--


--===============5690367443359018707==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5690367443359018707==--


From xen-devel-bounces@lists.xen.org Thu May 03 13:34:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:34:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwAM-0006qP-FY; Thu, 03 May 2012 13:33:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SPwAK-0006qK-Ft
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:33:52 +0000
Received: from [85.158.138.51:54748] by server-1.bemta-3.messagelabs.com id
	83/D8-11491-F3982AF4; Thu, 03 May 2012 13:33:51 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336052029!25109775!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.5 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	MAILTO_TO_SPAM_ADDR,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 491 invoked from network); 3 May 2012 13:33:50 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:33:50 -0000
Received: by wgbed3 with SMTP id ed3so1304145wgb.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 06:33:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=mvAGdjODQXAO/fiINLIP6s+e+cs4PWZU4V5nlgxqfYM=;
	b=la13Pos2kEJjewnyOM2VSCRvJs/G6t8CQ1JN/q6GMcxijJk53yuFSdWRkG7qjtPBI5
	0DUcKV2H+stC812HVLOf03AHO1FfOLwK4dmlBobaCPo19lwIx36nYM4aEmxuQkHxo2ag
	+Dsi8CSeYDBlxJfPmSlt2A6rLokoXQ4zRW5CN+s9NHY/I7PpQmzASAqsnDvk3RDa+u8b
	UcWjv+hQpNTKDS+DzED/dJFGIpwNhxJv3csnuf1eCFq0vRl/Ry8f89qLYhq9pM3/aHOO
	8gKen7pxaQDSBORDclW+TPIAjiQ/eHQylv01ud2QIdtB3ISqG/kyf7r4HLFKSgLV79fL
	yzGg==
MIME-Version: 1.0
Received: by 10.180.88.169 with SMTP id bh9mr3512047wib.5.1336052029762; Thu,
	03 May 2012 06:33:49 -0700 (PDT)
Received: by 10.223.157.129 with HTTP; Thu, 3 May 2012 06:33:49 -0700 (PDT)
In-Reply-To: <CAFLBxZawT6dzgOXL8dAgZvQHbqWhjfkNbuJX3S=BVnxo3GCcsQ@mail.gmail.com>
References: <CAEQjb-TQe=2wtVujpwR3S-k=R8VR74sjnAMaSnfYEj_TwbLyuA@mail.gmail.com>
	<CAFLBxZawT6dzgOXL8dAgZvQHbqWhjfkNbuJX3S=BVnxo3GCcsQ@mail.gmail.com>
Date: Thu, 3 May 2012 21:33:49 +0800
Message-ID: <CAEQjb-QRapSB2o3V-Bv+N_0duoCg0qfNtOfaNLGvqZKUQ0bLhA@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen unstable make install-tools error
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5690367443359018707=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5690367443359018707==
Content-Type: multipart/alternative; boundary=f46d04182570a2ad6504bf21da58

--f46d04182570a2ad6504bf21da58
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi George,

I didn't do the =93./configure=94 before.
But when I do the steps as you said, I can compile the Xen tools
successfully. Thanks a lot.



2012/5/3 George Dunlap <George.Dunlap@eu.citrix.com>

> On Thu, May 3, 2012 at 1:50 PM, Bei Guan <gbtju85@gmail.com> wrote:
> > Hi,
> >
> > When I make install-tools in Xen unstable source code directory, there
> is an
> > error. The output is as the following. Please help me figure out this
> > problem. Thank you very much.
>
> Did you try doing "make clean ; ./configure ; make tools"?  That's the
> first thing to do when you encounter a random error like this after
> pulling from trunk.
>
> This looks like it was made by a change to the way libraries were
> included a week or two ago.  Try the above steps and let us know if
> that doesn't fix it.
>
>  -George
>
> >
> > root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools
> > make -C tools install
> > make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make -C include install
> > make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include'
> > make -C xen-foreign
> > make[4]: Entering directory
> > `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> > ./checker > tmp.size
> > diff -u reference.size tmp.size
> > rm tmp.size
> > make[4]: Leaving directory
> > `/root/Xen/xen-unstable.hg/tools/include/xen-foreign'
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-ia64
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-ia64/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-x86
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/arch-x86/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/foreign
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/io
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/sys
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d
> -m0755
> > -p //usr/include/xen/xsm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/COPYING //usr/include/xen
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/*.h //usr/include/xen
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-ia64/*.h //usr/include/xen/arch-ia64
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-x86/*.h //usr/include/xen/arch-x86
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/foreign/*.h //usr/include/xen/foreign
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/hvm/*.h //usr/include/xen/hvm
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/io/*.h //usr/include/xen/io
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/sys/*.h //usr/include/xen/sys
> > /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m064=
4
> -p
> > xen/xsm/*.h //usr/include/xen/xsm
> > make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include'
> > make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make -C libxc install
> > make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > make libs
> > make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > make[4]: Nothing to be done for `libs'.
> > make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d
> -m0755 -p
> > //usr/lib64
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d
> -m0755 -p
> > //usr/include
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 =
-p
> > libxenctrl.so.4.2.0 //usr/lib64
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > libxenctrl.a //usr/lib64
> > ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2
> > ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > xenctrl.h xenctrlosdep.h xentoollog.h //usr/include
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755 =
-p
> > libxenguest.so.4.2.0 //usr/lib64
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > libxenguest.a //usr/lib64
> > ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2
> > ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so
> > /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644 =
-p
> > xenguest.h //usr/include
> > make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc'
> > make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools'
> > make -C flask install
> > make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make -C utils install
> > make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/util=
s'
> > gcc     loadpolicy.o
> >
>  /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenc=
trl.so
> > -o flask-loadpolicy
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_key_create'
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_once'
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_getspecific'
> >
> /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxenct=
rl.so:
> > undefined reference to `pthread_setspecific'
> > collect2: ld returned 1 exit status
> > make[5]: *** [flask-loadpolicy] Error 1
> > make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/utils=
'
> > make[4]: *** [subdir-install-utils] Error 2
> > make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make[3]: *** [subdirs-install] Error 2
> > make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask'
> > make[2]: *** [subdir-install-flask] Error 2
> > make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make[1]: *** [subdirs-install] Error 2
> > make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools'
> > make: *** [install-tools] Error 2
> >
> >
> >
> >
> >
> > --
> > Best Regards,
> > Bei Guan
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> >
>



--=20
Best Regards,
Bei Guan

--f46d04182570a2ad6504bf21da58
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi George,<div><br></div><div>I didn&#39;t do the =93./configure=94 before.=
=A0</div><div>But when I do the steps as you said, I can compile the Xen to=
ols successfully.=A0Thanks a lot.</div><div><br></div><div><br><br><div cla=
ss=3D"gmail_quote">
2012/5/3 George Dunlap <span dir=3D"ltr">&lt;<a href=3D"mailto:George.Dunla=
p@eu.citrix.com" target=3D"_blank">George.Dunlap@eu.citrix.com</a>&gt;</spa=
n><br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On Thu, May 3, 2012 at 1:50 PM, Bei Guan &lt;<a href=3D"m=
ailto:gbtju85@gmail.com">gbtju85@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; When I make install-tools in Xen unstable source code directory, there=
 is an<br>
&gt; error. The output is as the following. Please help me figure out this<=
br>
&gt; problem. Thank you very much.<br>
<br>
</div>Did you try doing &quot;make clean ; ./configure ; make tools&quot;? =
=A0That&#39;s the<br>
first thing to do when you encounter a random error like this after<br>
pulling from trunk.<br>
<br>
This looks like it was made by a change to the way libraries were<br>
included a week or two ago. =A0Try the above steps and let us know if<br>
that doesn&#39;t fix it.<br>
<br>
=A0-George<br>
<div><div class=3D"h5"><br>
&gt;<br>
&gt; root@gavin-laptop:~/Xen/xen-unstable.hg# make install-tools<br>
&gt; make -C tools install<br>
&gt; make[1]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make -C include install<br>
&gt; make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/include&#=
39;<br>
&gt; make -C xen-foreign<br>
&gt; make[4]: Entering directory<br>
&gt; `/root/Xen/xen-unstable.hg/tools/include/xen-foreign&#39;<br>
&gt; ./checker &gt; tmp.size<br>
&gt; diff -u reference.size tmp.size<br>
&gt; rm tmp.size<br>
&gt; make[4]: Leaving directory<br>
&gt; `/root/Xen/xen-unstable.hg/tools/include/xen-foreign&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-ia64<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-ia64/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-x86<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/arch-x86/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/foreign<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/io<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/sys<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -d -=
m0755<br>
&gt; -p //usr/include/xen/xsm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/COPYING //usr/include/xen<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/*.h //usr/include/xen<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-ia64/*.h //usr/include/xen/arch-ia64<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-ia64/hvm/*.h //usr/include/xen/arch-ia64/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-x86/*.h //usr/include/xen/arch-x86<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/arch-x86/hvm/*.h //usr/include/xen/arch-x86/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/foreign/*.h //usr/include/xen/foreign<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/hvm/*.h //usr/include/xen/hvm<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/io/*.h //usr/include/xen/io<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/sys/*.h //usr/include/xen/sys<br>
&gt; /root/Xen/xen-unstable.hg/tools/include/../../tools/cross-install -m06=
44 -p<br>
&gt; xen/xsm/*.h //usr/include/xen/xsm<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/include&#3=
9;<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make -C libxc install<br>
&gt; make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc&#39=
;<br>
&gt; make libs<br>
&gt; make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/libxc&#39=
;<br>
&gt; make[4]: Nothing to be done for `libs&#39;.<br>
&gt; make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;=
<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0=
755 -p<br>
&gt; //usr/lib64<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -d -m0=
755 -p<br>
&gt; //usr/include<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755=
 -p<br>
&gt; libxenctrl.so.4.2.0 //usr/lib64<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; libxenctrl.a //usr/lib64<br>
&gt; ln -sf libxenctrl.so.4.2.0 //usr/lib64/libxenctrl.so.4.2<br>
&gt; ln -sf libxenctrl.so.4.2 //usr/lib64/libxenctrl.so<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; xenctrl.h xenctrlosdep.h xentoollog.h //usr/include<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0755=
 -p<br>
&gt; libxenguest.so.4.2.0 //usr/lib64<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; libxenguest.a //usr/lib64<br>
&gt; ln -sf libxenguest.so.4.2.0 //usr/lib64/libxenguest.so.4.2<br>
&gt; ln -sf libxenguest.so.4.2 //usr/lib64/libxenguest.so<br>
&gt; /root/Xen/xen-unstable.hg/tools/libxc/../../tools/cross-install -m0644=
 -p<br>
&gt; xenguest.h //usr/include<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/libxc&#39;=
<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[2]: Entering directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make -C flask install<br>
&gt; make[3]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask&#39=
;<br>
&gt; make[4]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask&#39=
;<br>
&gt; make -C utils install<br>
&gt; make[5]: Entering directory `/root/Xen/xen-unstable.hg/tools/flask/uti=
ls&#39;<br>
&gt; gcc =A0 =A0 loadpolicy.o<br>
&gt; =A0/root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/li=
bxenctrl.so<br>
&gt; -o flask-loadpolicy<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_key_create&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_once&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_getspecific&#39;<br>
&gt; /root/Xen/xen-unstable.hg/tools/flask/utils/../../../tools/libxc/libxe=
nctrl.so:<br>
&gt; undefined reference to `pthread_setspecific&#39;<br>
&gt; collect2: ld returned 1 exit status<br>
&gt; make[5]: *** [flask-loadpolicy] Error 1<br>
&gt; make[5]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask/util=
s&#39;<br>
&gt; make[4]: *** [subdir-install-utils] Error 2<br>
&gt; make[4]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask&#39;=
<br>
&gt; make[3]: *** [subdirs-install] Error 2<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-unstable.hg/tools/flask&#39;=
<br>
&gt; make[2]: *** [subdir-install-flask] Error 2<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make[1]: *** [subdirs-install] Error 2<br>
&gt; make[1]: Leaving directory `/root/Xen/xen-unstable.hg/tools&#39;<br>
&gt; make: *** [install-tools] Error 2<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Best Regards,<br>
&gt; Bei Guan<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Xen-devel mailing list<br>
&gt; <a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a>=
<br>
&gt; <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://li=
sts.xen.org/xen-devel</a><br>
&gt;<br>
</blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Best Regards=
,<div>Bei Guan</div><br>
</div>

--f46d04182570a2ad6504bf21da58--


--===============5690367443359018707==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5690367443359018707==--


From xen-devel-bounces@lists.xen.org Thu May 03 13:42:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:42:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwIN-00071x-Eo; Thu, 03 May 2012 13:42:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPwIM-00071s-0M
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:42:10 +0000
Received: from [85.158.138.51:31077] by server-5.bemta-3.messagelabs.com id
	42/5E-17113-13B82AF4; Thu, 03 May 2012 13:42:09 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336052527!14059966!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI4MTEx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1176 invoked from network); 3 May 2012 13:42:08 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-13.tower-174.messagelabs.com with SMTP;
	3 May 2012 13:42:08 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 03 May 2012 06:42:07 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="138445595"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 03 May 2012 06:42:07 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 3 May 2012 06:42:06 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Thu, 3 May 2012 21:42:04 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsIAAFYgAgADJ91A=
Date: Thu, 3 May 2012 13:42:03 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<4FA26B7C0200007800081502@nat28.tlf.novell.com>
In-Reply-To: <4FA26B7C0200007800081502@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima, Jun" <jun.nakajima@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > The TRAP_debug should not use SW_EXCEPTION, it should use
> HW_EXCEPTION
> > Per SDM and confirmation from our HW guys. We will send fixes soon.
> 
> Please also have the opcode 0xF1 generated #DB addressed in
> whatever is the appropriate way.

Opcode 0xf1 should use " privileged software exception".

What we can do probably include:
1: A patch to fix the mistake of #BP & #OF, plus additional comments to state the usage of the API.
2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have real usage case to test so far.

We will provide #1 quickly, but for #2, can Aravindh provide test if we get the patch ready?

> 
> >>
> >> Anyone except perhaps LOCK - none of them should have any effect
> >> other than making the instruction longer.
> >>
> > LOCK can never be used as prefix of INT nn instruction, nor can REPx
> prefix.
> > Can you provide more details as for this concern?
> 
> The only prefix that is documented to cause #UD here is LOCK. All

In #UD case (fault), the guest RIP is not advanced per SDM, and therefore guest will either 
spin in the previous LOCK instruction, or advance the IP to next instruction by guest #UD handler.
I didn't see emulator could advance IP to the next instruction (INT nn) for LOCK prefix.
Do I miss something?

> other prefixes should consequently be considered ignored, and so
> should the emulation do (and properly handle resulting instruction
> lengths).
> 
The behavior is un-defined per SDM in this case, so either solution should be fine :)

Thx, Eddie

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:42:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:42:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwIN-00071x-Eo; Thu, 03 May 2012 13:42:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1SPwIM-00071s-0M
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:42:10 +0000
Received: from [85.158.138.51:31077] by server-5.bemta-3.messagelabs.com id
	42/5E-17113-13B82AF4; Thu, 03 May 2012 13:42:09 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336052527!14059966!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI4MTEx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1176 invoked from network); 3 May 2012 13:42:08 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-13.tower-174.messagelabs.com with SMTP;
	3 May 2012 13:42:08 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 03 May 2012 06:42:07 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="138445595"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 03 May 2012 06:42:07 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 3 May 2012 06:42:06 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Thu, 3 May 2012 21:42:04 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsIAAFYgAgADJ91A=
Date: Thu, 3 May 2012 13:42:03 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<4FA26B7C0200007800081502@nat28.tlf.novell.com>
In-Reply-To: <4FA26B7C0200007800081502@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima, Jun" <jun.nakajima@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > The TRAP_debug should not use SW_EXCEPTION, it should use
> HW_EXCEPTION
> > Per SDM and confirmation from our HW guys. We will send fixes soon.
> 
> Please also have the opcode 0xF1 generated #DB addressed in
> whatever is the appropriate way.

Opcode 0xf1 should use " privileged software exception".

What we can do probably include:
1: A patch to fix the mistake of #BP & #OF, plus additional comments to state the usage of the API.
2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have real usage case to test so far.

We will provide #1 quickly, but for #2, can Aravindh provide test if we get the patch ready?

> 
> >>
> >> Anyone except perhaps LOCK - none of them should have any effect
> >> other than making the instruction longer.
> >>
> > LOCK can never be used as prefix of INT nn instruction, nor can REPx
> prefix.
> > Can you provide more details as for this concern?
> 
> The only prefix that is documented to cause #UD here is LOCK. All

In #UD case (fault), the guest RIP is not advanced per SDM, and therefore guest will either 
spin in the previous LOCK instruction, or advance the IP to next instruction by guest #UD handler.
I didn't see emulator could advance IP to the next instruction (INT nn) for LOCK prefix.
Do I miss something?

> other prefixes should consequently be considered ignored, and so
> should the emulation do (and properly handle resulting instruction
> lengths).
> 
The behavior is un-defined per SDM in this case, so either solution should be fine :)

Thx, Eddie

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:43:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwJU-00076K-2V; Thu, 03 May 2012 13:43:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPwJS-000768-OL
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:43:19 +0000
Received: from [85.158.138.51:46760] by server-11.bemta-3.messagelabs.com id
	47/22-18894-57B82AF4; Thu, 03 May 2012 13:43:17 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336052595!25028931!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2084 invoked from network); 3 May 2012 13:43:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:43:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330923600"; d="scan'208";a="193230372"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 09:42:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 09:42:56 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPwJ6-0001mm-41;
	Thu, 03 May 2012 14:42:56 +0100
Message-ID: <4FA28B1B.8040205@eu.citrix.com>
Date: Thu, 3 May 2012 14:41:47 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com> <1335976251.2961.123.camel@Abyss>
In-Reply-To: <1335976251.2961.123.camel@Abyss>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02/05/12 17:30, Dario Faggioli wrote:
>>> +
>>> +/* Store the policy for the domain while parsing */
>>> +static int nodes_policy = NODES_POLICY_DEFAULT;
>>> +
>>> +/* Store the number of nodes to be used while parsing */
>>> +static int num_nodes_policy = 0;
>> Why are "nodes_policy" and "num_nodes_policy" not passed in along with
>> b_info?
>>
> That was my first implementation. Then I figured out that I want to do
> the placement in _xl_, not in _libxl_, so I really don't need to muck up
> build info with placement related stuff. Should I use b_info anyway,
> even if I don't need these fields while in libxl?
Ah right -- yeah, probably since b_info is a libxl structure, you 
shouldn't add it in there.  But in that case you should probably add 
another xl-specific structure and pass it through, rather than having 
global variables, I think.  It's only used in the handful of placement 
functions, right?
> Sounds definitely nicer. I just did it like that because I found a very
> similar example in xl itself, but I'm open about changing this to
> whatever you and libxl maintainers reach a consensus on. :-)
Right.  This is always a bit tricky, balancing your own taste for how to 
do things, and following the style of the code that you're modifying.
>> Also, is it really necessary for a VM to have an equal amount of memory
>> on every node? It seems like it would be better to have 75% on one node
>> and 25% on a second node than to have 25% on four nodes, for example.
>> Furthermore, insisting on an even amount fragments the node memory
>> further -- i.e., if we chose to have 25% on four nodes instead of 75% on
>> one and 25% on another, that will make it harder for another VM to fit
>> on a single node as well.
>>
> Ok, that is something quite important to discuss. What you propose makes
> a lot of sense, although some issues comes to my mind:
>
> - which percent should I try, and in what order? I mean, 75%/25%
>     sounds reasonable, but maybe also 80%/20% or even 60%/40% helps your
>     point.
I had in mind no constraints at all on the ratios -- basically, if you 
can find N nodes such that the sum of free memory is enough to create 
the VM, even 99%/1%, then go for that rather than looking for N+1.  
Obviously finding a more balanced option would be better. One option 
would be to scan through finding all sets of N nodes that will satisfy 
the criteria, and then choose the most "balanced" one.  That might be 
more than we need for 4.2, so another option would be to look for evenly 
balanced nodes first, then if we don't find a set, look for any set.  
(That certainly fits with the "first fit" description!)
> - suppose I go for 75%/25%, what about the scheduling oof the VM?
Haha -- yeah, for a research paper, you'd probably implement some kind 
of lottery scheduling algorithm that would schedule it on one node 75% 
of the time and another node 25% of the time. :-)  But I think that just 
making the node affinity equal to both of them will be good enough for 
now.  There will be some variability in performance, but there will be 
some of that anyway depending on what node's memory the guest happens to 
use more.

This actually kind of a different issue, but I'll bring it up now 
because it's related.  (Something to toss in for thinking about in 4.3 
really.)  Suppose there are 4 cores and 16GiB per node, and a VM has 8 
vcpus and 8GiB of RAM.  The algorithm you have here will attempt to put 
4GiB on each of two nodes (since it will take 2 nodes to get 8 cores).  
However, it's pretty common for larger VMs to have way more vcpus than 
they actually use at any one time.  So it might actually have better 
performance to put all 8GiB on one node, and set the node affinity 
accordingly.  In the rare event that more than 4 vcpus are active, a 
handful of vcpus will have all remote accesses, but the majority of the 
time, all of the cpus will have local accesses.  (OTOH, maybe that 
should be only a policy thing that we should recommend in the 
documentation...)

> Please, don't get me wrong, I see your point and really think it makes
> sense. I've actually thought along the same line for a while, but then I
> couldn't find an answers to the questions above.
>
> That's why, kind of falling back with Xen's default "striped" approach
> (although on as less nodes as possible, which is _much_ better than the
> actual Xen's default!). It looked simple enough to write, read and
> understand, while still providing statistically consistent performances.
Dude, this is open source.  Be opinionated. ;-)

What do you think of my suggestions above?
>> Hmm -- if I'm reading this right, the only time the nodemap won't be 
>> all nodes is if (1) the user specified nodes, or (2) there's a 
>> cpumask in effect. If we're going to override that setting, wouldn't 
>> it make sense to just expand to all numa nodes? 
> As you wish, the whole "what to do if what I've been provided with
> doesn't work" is in the *wild guess* status, meaning I tried to figure
> out what would be best to do, but I might well be far from the actual
> correct solution, provided there is one.
>
> Trying to enlarge the nodemap step by step is potentially yielding
> better performances, but is probably not so near to the "least surprise"
> principle one should use when designing UIs. :-(
>
>> Hmm -- though I suppose what you'd really want to try is adding each
>> node in turn, rather than one at a time (i.e., if the cpus are pinned to
>> nodes 2 and 3, and [2,3] doesn't work, try [1,2,3] and [2,3,4] before
>> trying [1,2,3,4].
>>
> Yep, that makes a real lot of sense, thanks! I can definitely try doing
> that, although it will complicate the code a bit...
>
>> But that's starting to get really complicated -- I
>> wonder if it's better to just fail and let the user change the pinnings
>> / configuration node mapping.
>>
> Well, that will probably be the least surprising behaviour.
>
> Again, just let me know what you think it's best among the various
> alternatives and I'll go for it.
I think if the user specifies a nodemap, and that nodemap doesn't have 
enough memory, we should throw an error.

If there's a node_affinity set, no memory on that node, but memory on a 
*different* node, what will Xen do?  It will allocate memory on some 
other node, right?

So ATM even if you specify a cpumask, you'll get memory on the masked 
nodes first, and then memory elsewhere (probably in a fairly random 
manner); but as much of the memory as possible will be on the masked 
nodes.  I wonder then if we shouldnt' just keep that behavior -- i.e., 
if there's a cpumask specified, just return the nodemask from that mask, 
and let Xen put as much as possible on that node and let the rest fall 
where it may.

What do you think?
>>> +
>>> +        if (use_cpus>= b_info->max_vcpus) {
>>> +            rc = 0;
>>> +            break;
>>> +        }
>> Hmm -- there's got to be a better way to find out the minimum number of
>> nodes to house a given number of vcpus than just starting at 1 and
>> re-trying until we have enough.
>>> +        /* Add one more node and retry fitting the domain */
>>> +        __add_nodes_to_nodemap(&new_nodemap, numa, nr_nodes, 1);
>> Same comment as above.
>>
> I'm not sure I'm getting this. The whole point here is let's consider
> free memory on the various nodes first, and then adjust the result if
> some other constraints are being violated.
Sorry, wrong above -- I meant the other comment about 
__add_nodes_to_nodemap(). :-)
> However, if what you mean is I could check beforehand whether or not the
> user provided configuration will give us enough CPUs and avoid testing
> scenarios that are guaranteed to fail, then I agree and I'll reshape the
> code to look like that. This triggers the heuristics re-designing stuff
> from above again, as one have to decide what to do if user asks for
> "nodes=[1,3]" and I discover (earlier) that I need one more node for
> having enough CPUs (I mean, what node should I try first?).
No, that's not exactly what I meant.  Suppose there are 4 cores per 
node, and a VM has 16 vcpus, and NUMA is just set to auto, with no other 
parameters.  If I'm reading your code right, what it will do is first 
try to find a set of 1 node that will satisfy the constraints, then 2 
nodes, then 3, nodes, then 4, &c.  Since there are at most 4 cores per 
node, we know that 1, 2, and 3 nodes are going to fail, regardless of 
how much memory there is or how many cpus are offline.  So why not just 
start with 4, if the user hasn't specified anything?  Then if 4 doesn't 
work (either because there's not enough memory, or some of the cpus are 
offline), then we can start bumping it up to 5, 6, &c.

That's what I was getting at -- but again, if it makes it too 
complicated, trading a bit of extra passes for a significant chunk of 
your debugging time is OK. :-)

> So, I'm not entirely sure I answered your question but the point is your
> idea above is the best one: if you ask something and we don't manage in
> getting it done, just stop and let you figure things out.
> I've only one question about this approach, what if the automatic
> placement is/becomes the default? I mean, avoiding any kind of fallback
> (which again, makes sense to me in case the user is explicitly asking
> something specific) would mean a completely NUMA-unaware VM creation can
> be aborted even if the user did not say anything... How do we deal with
> this?
Well, if the user didn't specify anything, then we can't contradict 
anything he specified, right? :-)  If the user doesn't specify anything, 
and the default is "numa=auto", then I think we're free to do whatever 
we think is best regarding NUMA placement; in fact, I think we should 
try to avoid failing VM creation if it's at all possible.  I just meant 
what I think we should do if the user asked for specific NUMA nodes or a 
specific number of nodes.  (I think that cpu masks should probably 
behave as it does now -- set the numa_affinity, but not fail domain 
creation if there's not enough memory on those nodes.)

It seems like we have a number of issues here that would be good for 
more people to come in on -- what if I attempt to summarize the 
high-level decisions we're talking about so that it's easier for more 
people to comment on them?

  -George

>
>>> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
>>> --- a/xen/arch/x86/numa.c
>>> +++ b/xen/arch/x86/numa.c
>>> ...
>>>
>> This should be in its own patch.
>>
> Ok.
>
> Thanks  lot again for taking a look!
>
> Regards,
> Dario
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:43:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwJU-00076K-2V; Thu, 03 May 2012 13:43:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SPwJS-000768-OL
	for xen-devel@lists.xen.org; Thu, 03 May 2012 13:43:19 +0000
Received: from [85.158.138.51:46760] by server-11.bemta-3.messagelabs.com id
	47/22-18894-57B82AF4; Thu, 03 May 2012 13:43:17 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336052595!25028931!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2084 invoked from network); 3 May 2012 13:43:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:43:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330923600"; d="scan'208";a="193230372"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 09:42:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 3 May 2012 09:42:56 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SPwJ6-0001mm-41;
	Thu, 03 May 2012 14:42:56 +0100
Message-ID: <4FA28B1B.8040205@eu.citrix.com>
Date: Thu, 3 May 2012 14:41:47 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com> <1335976251.2961.123.camel@Abyss>
In-Reply-To: <1335976251.2961.123.camel@Abyss>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 02/05/12 17:30, Dario Faggioli wrote:
>>> +
>>> +/* Store the policy for the domain while parsing */
>>> +static int nodes_policy = NODES_POLICY_DEFAULT;
>>> +
>>> +/* Store the number of nodes to be used while parsing */
>>> +static int num_nodes_policy = 0;
>> Why are "nodes_policy" and "num_nodes_policy" not passed in along with
>> b_info?
>>
> That was my first implementation. Then I figured out that I want to do
> the placement in _xl_, not in _libxl_, so I really don't need to muck up
> build info with placement related stuff. Should I use b_info anyway,
> even if I don't need these fields while in libxl?
Ah right -- yeah, probably since b_info is a libxl structure, you 
shouldn't add it in there.  But in that case you should probably add 
another xl-specific structure and pass it through, rather than having 
global variables, I think.  It's only used in the handful of placement 
functions, right?
> Sounds definitely nicer. I just did it like that because I found a very
> similar example in xl itself, but I'm open about changing this to
> whatever you and libxl maintainers reach a consensus on. :-)
Right.  This is always a bit tricky, balancing your own taste for how to 
do things, and following the style of the code that you're modifying.
>> Also, is it really necessary for a VM to have an equal amount of memory
>> on every node? It seems like it would be better to have 75% on one node
>> and 25% on a second node than to have 25% on four nodes, for example.
>> Furthermore, insisting on an even amount fragments the node memory
>> further -- i.e., if we chose to have 25% on four nodes instead of 75% on
>> one and 25% on another, that will make it harder for another VM to fit
>> on a single node as well.
>>
> Ok, that is something quite important to discuss. What you propose makes
> a lot of sense, although some issues comes to my mind:
>
> - which percent should I try, and in what order? I mean, 75%/25%
>     sounds reasonable, but maybe also 80%/20% or even 60%/40% helps your
>     point.
I had in mind no constraints at all on the ratios -- basically, if you 
can find N nodes such that the sum of free memory is enough to create 
the VM, even 99%/1%, then go for that rather than looking for N+1.  
Obviously finding a more balanced option would be better. One option 
would be to scan through finding all sets of N nodes that will satisfy 
the criteria, and then choose the most "balanced" one.  That might be 
more than we need for 4.2, so another option would be to look for evenly 
balanced nodes first, then if we don't find a set, look for any set.  
(That certainly fits with the "first fit" description!)
> - suppose I go for 75%/25%, what about the scheduling oof the VM?
Haha -- yeah, for a research paper, you'd probably implement some kind 
of lottery scheduling algorithm that would schedule it on one node 75% 
of the time and another node 25% of the time. :-)  But I think that just 
making the node affinity equal to both of them will be good enough for 
now.  There will be some variability in performance, but there will be 
some of that anyway depending on what node's memory the guest happens to 
use more.

This actually kind of a different issue, but I'll bring it up now 
because it's related.  (Something to toss in for thinking about in 4.3 
really.)  Suppose there are 4 cores and 16GiB per node, and a VM has 8 
vcpus and 8GiB of RAM.  The algorithm you have here will attempt to put 
4GiB on each of two nodes (since it will take 2 nodes to get 8 cores).  
However, it's pretty common for larger VMs to have way more vcpus than 
they actually use at any one time.  So it might actually have better 
performance to put all 8GiB on one node, and set the node affinity 
accordingly.  In the rare event that more than 4 vcpus are active, a 
handful of vcpus will have all remote accesses, but the majority of the 
time, all of the cpus will have local accesses.  (OTOH, maybe that 
should be only a policy thing that we should recommend in the 
documentation...)

> Please, don't get me wrong, I see your point and really think it makes
> sense. I've actually thought along the same line for a while, but then I
> couldn't find an answers to the questions above.
>
> That's why, kind of falling back with Xen's default "striped" approach
> (although on as less nodes as possible, which is _much_ better than the
> actual Xen's default!). It looked simple enough to write, read and
> understand, while still providing statistically consistent performances.
Dude, this is open source.  Be opinionated. ;-)

What do you think of my suggestions above?
>> Hmm -- if I'm reading this right, the only time the nodemap won't be 
>> all nodes is if (1) the user specified nodes, or (2) there's a 
>> cpumask in effect. If we're going to override that setting, wouldn't 
>> it make sense to just expand to all numa nodes? 
> As you wish, the whole "what to do if what I've been provided with
> doesn't work" is in the *wild guess* status, meaning I tried to figure
> out what would be best to do, but I might well be far from the actual
> correct solution, provided there is one.
>
> Trying to enlarge the nodemap step by step is potentially yielding
> better performances, but is probably not so near to the "least surprise"
> principle one should use when designing UIs. :-(
>
>> Hmm -- though I suppose what you'd really want to try is adding each
>> node in turn, rather than one at a time (i.e., if the cpus are pinned to
>> nodes 2 and 3, and [2,3] doesn't work, try [1,2,3] and [2,3,4] before
>> trying [1,2,3,4].
>>
> Yep, that makes a real lot of sense, thanks! I can definitely try doing
> that, although it will complicate the code a bit...
>
>> But that's starting to get really complicated -- I
>> wonder if it's better to just fail and let the user change the pinnings
>> / configuration node mapping.
>>
> Well, that will probably be the least surprising behaviour.
>
> Again, just let me know what you think it's best among the various
> alternatives and I'll go for it.
I think if the user specifies a nodemap, and that nodemap doesn't have 
enough memory, we should throw an error.

If there's a node_affinity set, no memory on that node, but memory on a 
*different* node, what will Xen do?  It will allocate memory on some 
other node, right?

So ATM even if you specify a cpumask, you'll get memory on the masked 
nodes first, and then memory elsewhere (probably in a fairly random 
manner); but as much of the memory as possible will be on the masked 
nodes.  I wonder then if we shouldnt' just keep that behavior -- i.e., 
if there's a cpumask specified, just return the nodemask from that mask, 
and let Xen put as much as possible on that node and let the rest fall 
where it may.

What do you think?
>>> +
>>> +        if (use_cpus>= b_info->max_vcpus) {
>>> +            rc = 0;
>>> +            break;
>>> +        }
>> Hmm -- there's got to be a better way to find out the minimum number of
>> nodes to house a given number of vcpus than just starting at 1 and
>> re-trying until we have enough.
>>> +        /* Add one more node and retry fitting the domain */
>>> +        __add_nodes_to_nodemap(&new_nodemap, numa, nr_nodes, 1);
>> Same comment as above.
>>
> I'm not sure I'm getting this. The whole point here is let's consider
> free memory on the various nodes first, and then adjust the result if
> some other constraints are being violated.
Sorry, wrong above -- I meant the other comment about 
__add_nodes_to_nodemap(). :-)
> However, if what you mean is I could check beforehand whether or not the
> user provided configuration will give us enough CPUs and avoid testing
> scenarios that are guaranteed to fail, then I agree and I'll reshape the
> code to look like that. This triggers the heuristics re-designing stuff
> from above again, as one have to decide what to do if user asks for
> "nodes=[1,3]" and I discover (earlier) that I need one more node for
> having enough CPUs (I mean, what node should I try first?).
No, that's not exactly what I meant.  Suppose there are 4 cores per 
node, and a VM has 16 vcpus, and NUMA is just set to auto, with no other 
parameters.  If I'm reading your code right, what it will do is first 
try to find a set of 1 node that will satisfy the constraints, then 2 
nodes, then 3, nodes, then 4, &c.  Since there are at most 4 cores per 
node, we know that 1, 2, and 3 nodes are going to fail, regardless of 
how much memory there is or how many cpus are offline.  So why not just 
start with 4, if the user hasn't specified anything?  Then if 4 doesn't 
work (either because there's not enough memory, or some of the cpus are 
offline), then we can start bumping it up to 5, 6, &c.

That's what I was getting at -- but again, if it makes it too 
complicated, trading a bit of extra passes for a significant chunk of 
your debugging time is OK. :-)

> So, I'm not entirely sure I answered your question but the point is your
> idea above is the best one: if you ask something and we don't manage in
> getting it done, just stop and let you figure things out.
> I've only one question about this approach, what if the automatic
> placement is/becomes the default? I mean, avoiding any kind of fallback
> (which again, makes sense to me in case the user is explicitly asking
> something specific) would mean a completely NUMA-unaware VM creation can
> be aborted even if the user did not say anything... How do we deal with
> this?
Well, if the user didn't specify anything, then we can't contradict 
anything he specified, right? :-)  If the user doesn't specify anything, 
and the default is "numa=auto", then I think we're free to do whatever 
we think is best regarding NUMA placement; in fact, I think we should 
try to avoid failing VM creation if it's at all possible.  I just meant 
what I think we should do if the user asked for specific NUMA nodes or a 
specific number of nodes.  (I think that cpu masks should probably 
behave as it does now -- set the numa_affinity, but not fail domain 
creation if there's not enough memory on those nodes.)

It seems like we have a number of issues here that would be good for 
more people to come in on -- what if I attempt to summarize the 
high-level decisions we're talking about so that it's easier for more 
people to comment on them?

  -George

>
>>> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
>>> --- a/xen/arch/x86/numa.c
>>> +++ b/xen/arch/x86/numa.c
>>> ...
>>>
>> This should be in its own patch.
>>
> Ok.
>
> Thanks  lot again for taking a look!
>
> Regards,
> Dario
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:49:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:49:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwPG-0007KQ-SG; Thu, 03 May 2012 13:49:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPwPF-0007KK-11
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:49:17 +0000
Received: from [85.158.143.35:13662] by server-2.bemta-4.messagelabs.com id
	4B/95-17550-CDC82AF4; Thu, 03 May 2012 13:49:16 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336052955!13925213!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4553 invoked from network); 3 May 2012 13:49:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:49:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12274937"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 13:49:15 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 14:49:15 +0100
Date: Thu, 3 May 2012 14:56:44 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 3 May 2012, ZhouPeng wrote:
> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
> >> > card?
> >> No, not disable the vga card.
> >> But booting in Text mode.
> >
> > Then you are manually starting X11 with the spice driver?
> Always in text mode.
> Never start X11.
> Using stdard vga but not qxl-vga.

so you didn't actually test qxl at all, did you?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 13:49:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 13:49:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwPG-0007KQ-SG; Thu, 03 May 2012 13:49:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SPwPF-0007KK-11
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 13:49:17 +0000
Received: from [85.158.143.35:13662] by server-2.bemta-4.messagelabs.com id
	4B/95-17550-CDC82AF4; Thu, 03 May 2012 13:49:16 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336052955!13925213!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4553 invoked from network); 3 May 2012 13:49:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 13:49:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12274937"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 13:49:15 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 14:49:15 +0100
Date: Thu, 3 May 2012 14:56:44 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 3 May 2012, ZhouPeng wrote:
> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
> >> > card?
> >> No, not disable the vga card.
> >> But booting in Text mode.
> >
> > Then you are manually starting X11 with the spice driver?
> Always in text mode.
> Never start X11.
> Using stdard vga but not qxl-vga.

so you didn't actually test qxl at all, did you?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:01:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwaR-0007Ye-5K; Thu, 03 May 2012 14:00:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SPwaP-0007YZ-Vo
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:00:50 +0000
Received: from [85.158.143.99:25944] by server-1.bemta-4.messagelabs.com id
	0D/CE-20925-09F82AF4; Thu, 03 May 2012 14:00:48 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336053647!22978438!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzMzNTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8892 invoked from network); 3 May 2012 14:00:47 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 14:00:47 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id A96861FCE;
	Thu,  3 May 2012 17:00:46 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id B82BA2005D; Thu,  3 May 2012 17:00:45 +0300 (EEST)
Date: Thu, 3 May 2012 17:00:45 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Fantu <fantonifabio@tiscali.it>
Message-ID: <20120503140045.GP2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336048124596-5683034.post@n5.nabble.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 05:28:44AM -0700, Fantu wrote:
> 
> About qxl there are problems about videoram not allocated or not used over 4
> mb (same as default cirrus vga).
> At the moment I haven't found solution for this problem, probably some
> bugfix and/or change are needed on xen.
> 

Is this a regression in xen-unstable compared to xen 4.1 ? 

afaik you can get at least 16 MB of video memory for HVM guest with Xen 4.1.

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:01:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwaR-0007Ye-5K; Thu, 03 May 2012 14:00:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SPwaP-0007YZ-Vo
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:00:50 +0000
Received: from [85.158.143.99:25944] by server-1.bemta-4.messagelabs.com id
	0D/CE-20925-09F82AF4; Thu, 03 May 2012 14:00:48 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336053647!22978438!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzMzNTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8892 invoked from network); 3 May 2012 14:00:47 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 14:00:47 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id A96861FCE;
	Thu,  3 May 2012 17:00:46 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id B82BA2005D; Thu,  3 May 2012 17:00:45 +0300 (EEST)
Date: Thu, 3 May 2012 17:00:45 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Fantu <fantonifabio@tiscali.it>
Message-ID: <20120503140045.GP2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336048124596-5683034.post@n5.nabble.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 05:28:44AM -0700, Fantu wrote:
> 
> About qxl there are problems about videoram not allocated or not used over 4
> mb (same as default cirrus vga).
> At the moment I haven't found solution for this problem, probably some
> bugfix and/or change are needed on xen.
> 

Is this a regression in xen-unstable compared to xen 4.1 ? 

afaik you can get at least 16 MB of video memory for HVM guest with Xen 4.1.

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:17:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:17:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwq9-00084O-D7; Thu, 03 May 2012 14:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPwq8-00084J-4D
	for xen-devel@lists.xen.org; Thu, 03 May 2012 14:17:04 +0000
Received: from [85.158.138.51:25574] by server-1.bemta-3.messagelabs.com id
	B4/33-11491-F5392AF4; Thu, 03 May 2012 14:17:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336054622!23271568!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3231 invoked from network); 3 May 2012 14:17:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 14:17:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 15:17:01 +0100
Message-Id: <4FA2AF7C0200007800081649@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 15:17:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Eddie Dong" <eddie.dong@intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<4FA26B7C0200007800081502@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Jun Nakajima <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 15:42, "Dong, Eddie" <eddie.dong@intel.com> wrote:
>> > The TRAP_debug should not use SW_EXCEPTION, it should use
>> HW_EXCEPTION
>> > Per SDM and confirmation from our HW guys. We will send fixes soon.
>> 
>> Please also have the opcode 0xF1 generated #DB addressed in
>> whatever is the appropriate way.
> 
> Opcode 0xf1 should use " privileged software exception".
> 
> What we can do probably include:
> 1: A patch to fix the mistake of #BP & #OF, plus additional comments to state 
> the usage of the API.
> 2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have 
> real usage case to test so far.
> 
> We will provide #1 quickly, but for #2, can Aravindh provide test if we get 
> the patch ready?
> 
>> 
>> >>
>> >> Anyone except perhaps LOCK - none of them should have any effect
>> >> other than making the instruction longer.
>> >>
>> > LOCK can never be used as prefix of INT nn instruction, nor can REPx
>> prefix.
>> > Can you provide more details as for this concern?
>> 
>> The only prefix that is documented to cause #UD here is LOCK. All
> 
> In #UD case (fault), the guest RIP is not advanced per SDM, and therefore 
> guest will either 
> spin in the previous LOCK instruction, or advance the IP to next instruction 
> by guest #UD handler.
> I didn't see emulator could advance IP to the next instruction (INT nn) for 
> LOCK prefix.
> Do I miss something?

I'm sure you misunderstand me. I was saying that LOCK is the only
prefix we can validly assume was not present on the original
instruction.

Any other prefix could be present, and should count towards the
instruction length. Note the

        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */

and (after the recent change for INT nn)

            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */

which both use hard coded values.

Furthermore, for Aravindh's use case where there might not even
be an "original instruction" (i.e. injecting an interrupt/exception for
reasons other than emulating a respective instruction), advancing IP
seems bogus to me altogether.

>> other prefixes should consequently be considered ignored, and so
>> should the emulation do (and properly handle resulting instruction
>> lengths).
>> 
> The behavior is un-defined per SDM in this case, so either solution should be 
> fine :)

Can you please point me to where this is being stated? I particularly
doubt that for operand and address size prefixes as well as on 64-bit
- since they are documented to be ignored there - CS, DS, ES, and SS
segment prefixes...

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:17:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:17:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwq9-00084O-D7; Thu, 03 May 2012 14:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPwq8-00084J-4D
	for xen-devel@lists.xen.org; Thu, 03 May 2012 14:17:04 +0000
Received: from [85.158.138.51:25574] by server-1.bemta-3.messagelabs.com id
	B4/33-11491-F5392AF4; Thu, 03 May 2012 14:17:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336054622!23271568!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3231 invoked from network); 3 May 2012 14:17:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 14:17:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 15:17:01 +0100
Message-Id: <4FA2AF7C0200007800081649@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 15:17:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Eddie Dong" <eddie.dong@intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<4FA26B7C0200007800081502@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Jun Nakajima <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 15:42, "Dong, Eddie" <eddie.dong@intel.com> wrote:
>> > The TRAP_debug should not use SW_EXCEPTION, it should use
>> HW_EXCEPTION
>> > Per SDM and confirmation from our HW guys. We will send fixes soon.
>> 
>> Please also have the opcode 0xF1 generated #DB addressed in
>> whatever is the appropriate way.
> 
> Opcode 0xf1 should use " privileged software exception".
> 
> What we can do probably include:
> 1: A patch to fix the mistake of #BP & #OF, plus additional comments to state 
> the usage of the API.
> 2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have 
> real usage case to test so far.
> 
> We will provide #1 quickly, but for #2, can Aravindh provide test if we get 
> the patch ready?
> 
>> 
>> >>
>> >> Anyone except perhaps LOCK - none of them should have any effect
>> >> other than making the instruction longer.
>> >>
>> > LOCK can never be used as prefix of INT nn instruction, nor can REPx
>> prefix.
>> > Can you provide more details as for this concern?
>> 
>> The only prefix that is documented to cause #UD here is LOCK. All
> 
> In #UD case (fault), the guest RIP is not advanced per SDM, and therefore 
> guest will either 
> spin in the previous LOCK instruction, or advance the IP to next instruction 
> by guest #UD handler.
> I didn't see emulator could advance IP to the next instruction (INT nn) for 
> LOCK prefix.
> Do I miss something?

I'm sure you misunderstand me. I was saying that LOCK is the only
prefix we can validly assume was not present on the original
instruction.

Any other prefix could be present, and should count towards the
instruction length. Note the

        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */

and (after the recent change for INT nn)

            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */

which both use hard coded values.

Furthermore, for Aravindh's use case where there might not even
be an "original instruction" (i.e. injecting an interrupt/exception for
reasons other than emulating a respective instruction), advancing IP
seems bogus to me altogether.

>> other prefixes should consequently be considered ignored, and so
>> should the emulation do (and properly handle resulting instruction
>> lengths).
>> 
> The behavior is un-defined per SDM in this case, so either solution should be 
> fine :)

Can you please point me to where this is being stated? I particularly
doubt that for operand and address size prefixes as well as on 64-bit
- since they are documented to be ignored there - CS, DS, ES, and SS
segment prefixes...

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwzy-0008FO-HW; Thu, 03 May 2012 14:27:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPwzy-0008FJ-40
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:27:14 +0000
Received: from [85.158.143.35:41645] by server-1.bemta-4.messagelabs.com id
	4D/9A-20925-1C592AF4; Thu, 03 May 2012 14:27:13 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336055231!14031336!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8716 invoked from network); 3 May 2012 14:27:12 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	3 May 2012 14:27:12 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPwzv-0005pg-75
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 07:27:11 -0700
Date: Thu, 3 May 2012 07:27:11 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336055231213-5683345.post@n5.nabble.com>
In-Reply-To: <20120503140045.GP2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

ClBhc2kgS8Okcmtrw6RpbmVuIHdyb3RlCj4gCj4gT24gVGh1LCBNYXkgMDMsIDIwMTIgYXQgMDU6
Mjg6NDRBTSAtMDcwMCwgRmFudHUgd3JvdGU6Cj4+IAo+PiBBYm91dCBxeGwgdGhlcmUgYXJlIHBy
b2JsZW1zIGFib3V0IHZpZGVvcmFtIG5vdCBhbGxvY2F0ZWQgb3Igbm90IHVzZWQKPj4gb3ZlciA0
Cj4+IG1iIChzYW1lIGFzIGRlZmF1bHQgY2lycnVzIHZnYSkuCj4+IEF0IHRoZSBtb21lbnQgSSBo
YXZlbid0IGZvdW5kIHNvbHV0aW9uIGZvciB0aGlzIHByb2JsZW0sIHByb2JhYmx5IHNvbWUKPj4g
YnVnZml4IGFuZC9vciBjaGFuZ2UgYXJlIG5lZWRlZCBvbiB4ZW4uCj4+IAo+IAo+IElzIHRoaXMg
YSByZWdyZXNzaW9uIGluIHhlbi11bnN0YWJsZSBjb21wYXJlZCB0byB4ZW4gNC4xID8gCj4gCj4g
YWZhaWsgeW91IGNhbiBnZXQgYXQgbGVhc3QgMTYgTUIgb2YgdmlkZW8gbWVtb3J5IGZvciBIVk0g
Z3Vlc3Qgd2l0aCBYZW4KPiA0LjEuCj4gCj4gLS0gUGFzaQo+IAo+IAo+IF9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gWGVuLWRldmVsIG1haWxpbmcgbGlz
dAo+IFhlbi1kZXZlbEAueGVuCj4gaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCj4gClRo
YW5rcyBmb3IgcmVwbHkKUHJvYmFibHkgeGVuLXVuc3RhYmxlIHdpdGggcWVtdSB1cHN0cmVhbSBk
b2Vzbid0IHN1cHBvcnQgdmlkZW9yYW0gc2V0dGluZy4KcXhsIGRlZmF1bHQgdmlkZW9yYW0gaXMg
NjQgbWIgYnV0IEkgYWxzbyB0cmllZCB0byBzZXQgMTYgbWIgd2l0aG91dCByZXN1bHQsCml0IGFs
d2F5cyBzZWUgb25seSA0IG1iLCBub3QgZW5vdWdoIGZvciBjb3JyZWN0IHdvcmtpbmcgcXhsLgoK
LS0KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogaHR0cDovL3hlbi4xMDQ1NzEyLm41Lm5h
YmJsZS5jb20vVW5hYmxlLXRvLWdldC1RWEwtdmdhLXdvcmtpbmctdHA1NjY3OTE5cDU2ODMzNDUu
aHRtbApTZW50IGZyb20gdGhlIFhlbiAtIERldiBtYWlsaW5nIGxpc3QgYXJjaGl2ZSBhdCBOYWJi
bGUuY29tLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 03 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPwzy-0008FO-HW; Thu, 03 May 2012 14:27:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPwzy-0008FJ-40
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:27:14 +0000
Received: from [85.158.143.35:41645] by server-1.bemta-4.messagelabs.com id
	4D/9A-20925-1C592AF4; Thu, 03 May 2012 14:27:13 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336055231!14031336!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8716 invoked from network); 3 May 2012 14:27:12 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	3 May 2012 14:27:12 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SPwzv-0005pg-75
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 07:27:11 -0700
Date: Thu, 3 May 2012 07:27:11 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336055231213-5683345.post@n5.nabble.com>
In-Reply-To: <20120503140045.GP2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

ClBhc2kgS8Okcmtrw6RpbmVuIHdyb3RlCj4gCj4gT24gVGh1LCBNYXkgMDMsIDIwMTIgYXQgMDU6
Mjg6NDRBTSAtMDcwMCwgRmFudHUgd3JvdGU6Cj4+IAo+PiBBYm91dCBxeGwgdGhlcmUgYXJlIHBy
b2JsZW1zIGFib3V0IHZpZGVvcmFtIG5vdCBhbGxvY2F0ZWQgb3Igbm90IHVzZWQKPj4gb3ZlciA0
Cj4+IG1iIChzYW1lIGFzIGRlZmF1bHQgY2lycnVzIHZnYSkuCj4+IEF0IHRoZSBtb21lbnQgSSBo
YXZlbid0IGZvdW5kIHNvbHV0aW9uIGZvciB0aGlzIHByb2JsZW0sIHByb2JhYmx5IHNvbWUKPj4g
YnVnZml4IGFuZC9vciBjaGFuZ2UgYXJlIG5lZWRlZCBvbiB4ZW4uCj4+IAo+IAo+IElzIHRoaXMg
YSByZWdyZXNzaW9uIGluIHhlbi11bnN0YWJsZSBjb21wYXJlZCB0byB4ZW4gNC4xID8gCj4gCj4g
YWZhaWsgeW91IGNhbiBnZXQgYXQgbGVhc3QgMTYgTUIgb2YgdmlkZW8gbWVtb3J5IGZvciBIVk0g
Z3Vlc3Qgd2l0aCBYZW4KPiA0LjEuCj4gCj4gLS0gUGFzaQo+IAo+IAo+IF9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gWGVuLWRldmVsIG1haWxpbmcgbGlz
dAo+IFhlbi1kZXZlbEAueGVuCj4gaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCj4gClRo
YW5rcyBmb3IgcmVwbHkKUHJvYmFibHkgeGVuLXVuc3RhYmxlIHdpdGggcWVtdSB1cHN0cmVhbSBk
b2Vzbid0IHN1cHBvcnQgdmlkZW9yYW0gc2V0dGluZy4KcXhsIGRlZmF1bHQgdmlkZW9yYW0gaXMg
NjQgbWIgYnV0IEkgYWxzbyB0cmllZCB0byBzZXQgMTYgbWIgd2l0aG91dCByZXN1bHQsCml0IGFs
d2F5cyBzZWUgb25seSA0IG1iLCBub3QgZW5vdWdoIGZvciBjb3JyZWN0IHdvcmtpbmcgcXhsLgoK
LS0KVmlldyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogaHR0cDovL3hlbi4xMDQ1NzEyLm41Lm5h
YmJsZS5jb20vVW5hYmxlLXRvLWdldC1RWEwtdmdhLXdvcmtpbmctdHA1NjY3OTE5cDU2ODMzNDUu
aHRtbApTZW50IGZyb20gdGhlIFhlbiAtIERldiBtYWlsaW5nIGxpc3QgYXJjaGl2ZSBhdCBOYWJi
bGUuY29tLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 03 14:30:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPx2s-0008Kf-4f; Thu, 03 May 2012 14:30:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SPx2q-0008Ka-KL
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:30:12 +0000
Received: from [85.158.139.83:9238] by server-1.bemta-5.messagelabs.com id
	4D/7A-28458-37692AF4; Thu, 03 May 2012 14:30:11 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336055410!26618675!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32479 invoked from network); 3 May 2012 14:30:11 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-12.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	3 May 2012 14:30:11 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SPx2i-0003GK-Fj
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:30:06 +0200
Received: from static.bangaore.mp.59.90.239.152/21.bsnl.in
	([static.bangaore.mp.59.90.239.152/21.bsnl.in])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Thu, 03 May 2012 16:30:04 +0200
Received: from vinaya.ms by static.bangaore.mp.59.90.239.152/21.bsnl.in with
	local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Thu, 03 May 2012 16:30:04 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Vinaya M S <vinaya.ms@iiitb.org>
Date: Thu, 3 May 2012 14:23:20 +0000 (UTC)
Lines: 24
Message-ID: <loom.20120503T161144-497@post.gmane.org>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 59.90.239.152 (Mozilla/5.0 (X11; Linux x86_64;
	rv:2.0) Gecko/20100101 Firefox/4.0)
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Stefano,

  I'm also using ubuntu 11.04 HVM domain with xen 4.1.0.
If I enable xen_platform_pci then I get busybox error.
If I say xen_platform_pci=0 then it boots fine.

I make passthrough devices available by using pci-stub 
module as pci_back is ntworking for me.
[CONFIG_XEN_PCIDEV_BACKEND=y instead of m]

When I provide these pci devices either by 
config file or by pci-attach my system turns blank.
I read your post and tried with ubuntu 10.04 as guest.
But I run into same problem.

Should I have to create a kernel image inside d guest 
wid al configurations enabled in domu as
mentioned in http://wiki.xensource.com/xenwiki/XenParavirtOps

Let me know where I'm going wrong or else 
let me know the solution to get it working on 11.04.
FYI: PCI devices are nvidia graphics card




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:30:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPx2s-0008Kf-4f; Thu, 03 May 2012 14:30:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SPx2q-0008Ka-KL
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:30:12 +0000
Received: from [85.158.139.83:9238] by server-1.bemta-5.messagelabs.com id
	4D/7A-28458-37692AF4; Thu, 03 May 2012 14:30:11 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336055410!26618675!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32479 invoked from network); 3 May 2012 14:30:11 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-12.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	3 May 2012 14:30:11 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SPx2i-0003GK-Fj
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:30:06 +0200
Received: from static.bangaore.mp.59.90.239.152/21.bsnl.in
	([static.bangaore.mp.59.90.239.152/21.bsnl.in])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Thu, 03 May 2012 16:30:04 +0200
Received: from vinaya.ms by static.bangaore.mp.59.90.239.152/21.bsnl.in with
	local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Thu, 03 May 2012 16:30:04 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Vinaya M S <vinaya.ms@iiitb.org>
Date: Thu, 3 May 2012 14:23:20 +0000 (UTC)
Lines: 24
Message-ID: <loom.20120503T161144-497@post.gmane.org>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 59.90.239.152 (Mozilla/5.0 (X11; Linux x86_64;
	rv:2.0) Gecko/20100101 Firefox/4.0)
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Stefano,

  I'm also using ubuntu 11.04 HVM domain with xen 4.1.0.
If I enable xen_platform_pci then I get busybox error.
If I say xen_platform_pci=0 then it boots fine.

I make passthrough devices available by using pci-stub 
module as pci_back is ntworking for me.
[CONFIG_XEN_PCIDEV_BACKEND=y instead of m]

When I provide these pci devices either by 
config file or by pci-attach my system turns blank.
I read your post and tried with ubuntu 10.04 as guest.
But I run into same problem.

Should I have to create a kernel image inside d guest 
wid al configurations enabled in domu as
mentioned in http://wiki.xensource.com/xenwiki/XenParavirtOps

Let me know where I'm going wrong or else 
let me know the solution to get it working on 11.04.
FYI: PCI devices are nvidia graphics card




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:36:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPx8D-0000Aq-Mq; Thu, 03 May 2012 14:35:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SPx8C-0000Ah-S2
	for xen-devel@lists.xen.org; Thu, 03 May 2012 14:35:45 +0000
Received: from [85.158.143.99:58258] by server-1.bemta-4.messagelabs.com id
	30/38-20925-0C792AF4; Thu, 03 May 2012 14:35:44 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336055742!26375563!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30837 invoked from network); 3 May 2012 14:35:43 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 14:35:43 -0000
Received: by eaaf11 with SMTP id f11so598648eaa.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 07:35:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=yoHj7sNbE0cpQxrP38J6WjNDXfUya56GlanqxJGAk5k=;
	b=E/XoUStrhByfQEpcsC4CCc6eLebSu35Dx/4gqVtLMO59BEZyu2MWwwwSMpZF1JUZI5
	KDYvDVE9a76IP0hqbvk1GSxcROsZCVl+oEIEbXtd32eIjcfzHdV6Z2vdhESeCP/0uAZN
	sVddlqAEhJf/sFZhJPacDHBiMNcBm8jx51izQTfNlh4Z6Cp1Wq09BP8nEU6ixleRHK6e
	nlf+rd1yqVJMMPYwIZJ3W5Y6AgdOZxCjQeWtRsP03r3MUjH838ua0AexLUqOXMknbYJ0
	yD1Kr2lGf5btg0I6KYo83xrB/o5JFxzBsIs3/kvNMyMUZFSb6BndjwThedwPYfACYPy3
	G3BA==
Received: by 10.213.25.220 with SMTP id a28mr336268ebc.88.1336055742197;
	Thu, 03 May 2012 07:35:42 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id p57sm26279129eei.8.2012.05.03.07.35.39
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 07:35:41 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Thu, 03 May 2012 15:35:36 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Dong, Eddie" <eddie.dong@intel.com>,
	Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC85648.323C3%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsIAAFYgAgADJ91CAABJnmw==
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/2012 14:42, "Dong, Eddie" <eddie.dong@intel.com> wrote:

>>> The TRAP_debug should not use SW_EXCEPTION, it should use
>> HW_EXCEPTION
>>> Per SDM and confirmation from our HW guys. We will send fixes soon.
>> 
>> Please also have the opcode 0xF1 generated #DB addressed in
>> whatever is the appropriate way.
> 
> Opcode 0xf1 should use " privileged software exception".
> 
> What we can do probably include:
> 1: A patch to fix the mistake of #BP & #OF, plus additional comments to state
> the usage of the API.
> 2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have real
> usage case to test so far.

Yes, this sounds great.

 -- Keir

> We will provide #1 quickly, but for #2, can Aravindh provide test if we get
> the patch ready?
> 
>> 
>>>> 
>>>> Anyone except perhaps LOCK - none of them should have any effect
>>>> other than making the instruction longer.
>>>> 
>>> LOCK can never be used as prefix of INT nn instruction, nor can REPx
>> prefix.
>>> Can you provide more details as for this concern?
>> 
>> The only prefix that is documented to cause #UD here is LOCK. All
> 
> In #UD case (fault), the guest RIP is not advanced per SDM, and therefore
> guest will either
> spin in the previous LOCK instruction, or advance the IP to next instruction
> by guest #UD handler.
> I didn't see emulator could advance IP to the next instruction (INT nn) for
> LOCK prefix.
> Do I miss something?
> 
>> other prefixes should consequently be considered ignored, and so
>> should the emulation do (and properly handle resulting instruction
>> lengths).
>> 
> The behavior is un-defined per SDM in this case, so either solution should be
> fine :)
> 
> Thx, Eddie
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:36:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPx8D-0000Aq-Mq; Thu, 03 May 2012 14:35:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SPx8C-0000Ah-S2
	for xen-devel@lists.xen.org; Thu, 03 May 2012 14:35:45 +0000
Received: from [85.158.143.99:58258] by server-1.bemta-4.messagelabs.com id
	30/38-20925-0C792AF4; Thu, 03 May 2012 14:35:44 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336055742!26375563!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30837 invoked from network); 3 May 2012 14:35:43 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 14:35:43 -0000
Received: by eaaf11 with SMTP id f11so598648eaa.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 07:35:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=yoHj7sNbE0cpQxrP38J6WjNDXfUya56GlanqxJGAk5k=;
	b=E/XoUStrhByfQEpcsC4CCc6eLebSu35Dx/4gqVtLMO59BEZyu2MWwwwSMpZF1JUZI5
	KDYvDVE9a76IP0hqbvk1GSxcROsZCVl+oEIEbXtd32eIjcfzHdV6Z2vdhESeCP/0uAZN
	sVddlqAEhJf/sFZhJPacDHBiMNcBm8jx51izQTfNlh4Z6Cp1Wq09BP8nEU6ixleRHK6e
	nlf+rd1yqVJMMPYwIZJ3W5Y6AgdOZxCjQeWtRsP03r3MUjH838ua0AexLUqOXMknbYJ0
	yD1Kr2lGf5btg0I6KYo83xrB/o5JFxzBsIs3/kvNMyMUZFSb6BndjwThedwPYfACYPy3
	G3BA==
Received: by 10.213.25.220 with SMTP id a28mr336268ebc.88.1336055742197;
	Thu, 03 May 2012 07:35:42 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id p57sm26279129eei.8.2012.05.03.07.35.39
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 07:35:41 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Thu, 03 May 2012 15:35:36 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Dong, Eddie" <eddie.dong@intel.com>,
	Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC85648.323C3%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] vmx: Allow software (user defined)
	interrupts to be injected in to the guest
Thread-Index: AQHNHtM0VD+ni7wmHU+wvDQuwY5bFZa2QflA//+EyoCAAX2xsIAAFYgAgADJ91CAABJnmw==
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/2012 14:42, "Dong, Eddie" <eddie.dong@intel.com> wrote:

>>> The TRAP_debug should not use SW_EXCEPTION, it should use
>> HW_EXCEPTION
>>> Per SDM and confirmation from our HW guys. We will send fixes soon.
>> 
>> Please also have the opcode 0xF1 generated #DB addressed in
>> whatever is the appropriate way.
> 
> Opcode 0xf1 should use " privileged software exception".
> 
> What we can do probably include:
> 1: A patch to fix the mistake of #BP & #OF, plus additional comments to state
> the usage of the API.
> 2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have real
> usage case to test so far.

Yes, this sounds great.

 -- Keir

> We will provide #1 quickly, but for #2, can Aravindh provide test if we get
> the patch ready?
> 
>> 
>>>> 
>>>> Anyone except perhaps LOCK - none of them should have any effect
>>>> other than making the instruction longer.
>>>> 
>>> LOCK can never be used as prefix of INT nn instruction, nor can REPx
>> prefix.
>>> Can you provide more details as for this concern?
>> 
>> The only prefix that is documented to cause #UD here is LOCK. All
> 
> In #UD case (fault), the guest RIP is not advanced per SDM, and therefore
> guest will either
> spin in the previous LOCK instruction, or advance the IP to next instruction
> by guest #UD handler.
> I didn't see emulator could advance IP to the next instruction (INT nn) for
> LOCK prefix.
> Do I miss something?
> 
>> other prefixes should consequently be considered ignored, and so
>> should the emulation do (and properly handle resulting instruction
>> lengths).
>> 
> The behavior is un-defined per SDM in this case, so either solution should be
> fine :)
> 
> Thx, Eddie
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:48:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:48:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxJw-0000hU-7F; Thu, 03 May 2012 14:47:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPxJu-0000hP-QT
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:47:51 +0000
Received: from [85.158.143.35:51243] by server-1.bemta-4.messagelabs.com id
	7A/2B-20925-69A92AF4; Thu, 03 May 2012 14:47:50 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336056468!14999466!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1867 invoked from network); 3 May 2012 14:47:48 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-11.tower-21.messagelabs.com with SMTP;
	3 May 2012 14:47:48 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPxJs-0004Xh-0M; Thu, 03 May 2012 14:47:48 +0000
Message-ID: <4FA29A92.2040601@canonical.com>
Date: Thu, 03 May 2012 16:47:46 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
In-Reply-To: <4FA280DA.9080505@canonical.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6660960853952199437=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6660960853952199437==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig2866F1A5A83D44748554318C"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2866F1A5A83D44748554318C
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 14:58, Stefan Bader wrote:

>>>>> So this shoudl solve the problem for the bootup processor.
>>>>>>
>>>>>> -boris
>>>>>>
>>>>>>
>>>>>>> +    };
>>>>>>> +    int ret =3D 0;
>>>>>>> +
>>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we =
only
>>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>>> +        return 0x10;
>>>>>>> +
>>>>>>> +    if (reg !=3D APIC_ID)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>>> +    if (ret)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>>   }
>>>>>>>
>>>>>>>   static void xen_apic_write(u32 reg, u32 val)
>=20
> I added debugging to all exit paths that could return 0 (which is what =
the
> boot_cpu_physical_apicid is set to with that patch. Which would only le=
ave the
> case of the HV call returning the wrong value somehow...
>=20
Hmmm, so xen_apic_read is still correct...

[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] xxx xen_apic_read(20)
[    0.000000] xxx xen_apic_read -> 10
[    0.000000] boot_cpu_physical_apicid =3D 0
[    0.000000] xxx xen_apic_read(30)
[    0.000000] +- apic version =3D 10

there seems to be a slightly strange tweak (at least for me) in read_apic=
_id...

static inline unsigned int read_apic_id(void)
{
        unsigned int reg;

        reg =3D apic_read(APIC_ID); // calls apic->read(reg)

        return apic->get_apic_id(reg);
}



--------------enig2866F1A5A83D44748554318C
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPopqSAAoJEOhnXe7L7s6jg2YQANpYYYt5zNi03Av89bRO6fNJ
VDnDV03oTDNUR9cbra7OgjsQ3GkQSVwLTySa3LtSj7OEgwLQN0R8aeKgW5ONMsA/
DPYfUfDtlZAom4iuXv+GsDtFoaB9kv6CIewhgJGE2ySFLg1Dm2INsjPRXrigAPNH
aj5IEO3CDDi2x8BMDCXQ7RMUwuu1dIKd4ZOAGdq7k4U3QDwbYZW5mCGVHQOXj3Rc
h7YdQwzyrJekTD/0aiGE8YgpOt2BUtq7mUtUVTJHtI2OzPYDhsdtHhzq/g6yBnBc
5Tgg2t18l1jV14PuM8goKVYwuu+XWhrrCVvht4zRJpZuvH8eTElr6CeJlYC5oAbd
+B8hwP1/+liUxhFwq1WK6QGF5kU+uGT6F5stIsFr6dUJxWY8CRQ6NtG9arqxaCD+
+83zOukaUNBKtNoFjsKt6tR/aBK+6tdAtXkanKXu6samTwD0E1id8vlM4hIZBZTe
qa5kg8GbiGyovOrPEtTpyZ5RrxGURQ3UgydOdCOK9K3qwVWW3d0z8fMEGLVUomYv
4fFQNk864QkrMpG8+HawwvhXt705v90r9FPDJlamVfbWzgDgaF6NIJlxUloHPsTQ
91pCnWgeWYfZufu8BcBDcF3kSH6q6/tYzZOr0sM6XnuBJFzThcHqc+h8WrOArhd/
yXD++4Ml8e3f6iO1tF5o
=oDlt
-----END PGP SIGNATURE-----

--------------enig2866F1A5A83D44748554318C--


--===============6660960853952199437==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6660960853952199437==--


From xen-devel-bounces@lists.xen.org Thu May 03 14:48:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:48:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxJw-0000hU-7F; Thu, 03 May 2012 14:47:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SPxJu-0000hP-QT
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 14:47:51 +0000
Received: from [85.158.143.35:51243] by server-1.bemta-4.messagelabs.com id
	7A/2B-20925-69A92AF4; Thu, 03 May 2012 14:47:50 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336056468!14999466!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1867 invoked from network); 3 May 2012 14:47:48 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-11.tower-21.messagelabs.com with SMTP;
	3 May 2012 14:47:48 -0000
Received: from p5b2e479b.dip.t-dialin.net ([91.46.71.155] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SPxJs-0004Xh-0M; Thu, 03 May 2012 14:47:48 +0000
Message-ID: <4FA29A92.2040601@canonical.com>
Date: Thu, 03 May 2012 16:47:46 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
In-Reply-To: <4FA280DA.9080505@canonical.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6660960853952199437=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6660960853952199437==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enig2866F1A5A83D44748554318C"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2866F1A5A83D44748554318C
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 14:58, Stefan Bader wrote:

>>>>> So this shoudl solve the problem for the bootup processor.
>>>>>>
>>>>>> -boris
>>>>>>
>>>>>>
>>>>>>> +    };
>>>>>>> +    int ret =3D 0;
>>>>>>> +
>>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we =
only
>>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    if (reg =3D=3D APIC_LVR)
>>>>>>> +        return 0x10;
>>>>>>> +
>>>>>>> +    if (reg !=3D APIC_ID)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    ret =3D HYPERVISOR_dom0_op(&op);
>>>>>>> +    if (ret)
>>>>>>> +        return 0;
>>>>>>> +
>>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>>   }
>>>>>>>
>>>>>>>   static void xen_apic_write(u32 reg, u32 val)
>=20
> I added debugging to all exit paths that could return 0 (which is what =
the
> boot_cpu_physical_apicid is set to with that patch. Which would only le=
ave the
> case of the HV call returning the wrong value somehow...
>=20
Hmmm, so xen_apic_read is still correct...

[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] xxx xen_apic_read(20)
[    0.000000] xxx xen_apic_read -> 10
[    0.000000] boot_cpu_physical_apicid =3D 0
[    0.000000] xxx xen_apic_read(30)
[    0.000000] +- apic version =3D 10

there seems to be a slightly strange tweak (at least for me) in read_apic=
_id...

static inline unsigned int read_apic_id(void)
{
        unsigned int reg;

        reg =3D apic_read(APIC_ID); // calls apic->read(reg)

        return apic->get_apic_id(reg);
}



--------------enig2866F1A5A83D44748554318C
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPopqSAAoJEOhnXe7L7s6jg2YQANpYYYt5zNi03Av89bRO6fNJ
VDnDV03oTDNUR9cbra7OgjsQ3GkQSVwLTySa3LtSj7OEgwLQN0R8aeKgW5ONMsA/
DPYfUfDtlZAom4iuXv+GsDtFoaB9kv6CIewhgJGE2ySFLg1Dm2INsjPRXrigAPNH
aj5IEO3CDDi2x8BMDCXQ7RMUwuu1dIKd4ZOAGdq7k4U3QDwbYZW5mCGVHQOXj3Rc
h7YdQwzyrJekTD/0aiGE8YgpOt2BUtq7mUtUVTJHtI2OzPYDhsdtHhzq/g6yBnBc
5Tgg2t18l1jV14PuM8goKVYwuu+XWhrrCVvht4zRJpZuvH8eTElr6CeJlYC5oAbd
+B8hwP1/+liUxhFwq1WK6QGF5kU+uGT6F5stIsFr6dUJxWY8CRQ6NtG9arqxaCD+
+83zOukaUNBKtNoFjsKt6tR/aBK+6tdAtXkanKXu6samTwD0E1id8vlM4hIZBZTe
qa5kg8GbiGyovOrPEtTpyZ5RrxGURQ3UgydOdCOK9K3qwVWW3d0z8fMEGLVUomYv
4fFQNk864QkrMpG8+HawwvhXt705v90r9FPDJlamVfbWzgDgaF6NIJlxUloHPsTQ
91pCnWgeWYfZufu8BcBDcF3kSH6q6/tYzZOr0sM6XnuBJFzThcHqc+h8WrOArhd/
yXD++4Ml8e3f6iO1tF5o
=oDlt
-----END PGP SIGNATURE-----

--------------enig2866F1A5A83D44748554318C--


--===============6660960853952199437==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6660960853952199437==--


From xen-devel-bounces@lists.xen.org Thu May 03 14:55:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxRD-0000tL-55; Thu, 03 May 2012 14:55:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPxRC-0000tG-Jy
	for xen-devel@lists.xen.org; Thu, 03 May 2012 14:55:22 +0000
Received: from [85.158.143.35:63945] by server-1.bemta-4.messagelabs.com id
	5C/A6-20925-95C92AF4; Thu, 03 May 2012 14:55:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336056917!13597098!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31444 invoked from network); 3 May 2012 14:55:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 14:55:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12277354"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 14:55:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	15:55:16 +0100
Message-ID: <1336056915.20716.96.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Date: Thu, 3 May 2012 15:55:15 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Alexander Duyck <alexander.h.duyck@intel.com>,
	Bart Van Assche <bvanassche@acm.org>,
	Eric Dumazet <eric.dumazet@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, David VomLehn <dvomlehn@cisco.com>,
	xen-devel <xen-devel@lists.xen.org>, David Miller <davem@davemloft.net>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v5 0/9] skb paged fragment destructors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The following series makes use of the skb fragment API (which is in 3.2
+) to add a per-paged-fragment destructor callback. This can be used by
creators of skbs who are interested in the lifecycle of the pages
included in that skb after they have handed it off to the network stack.

The mail at [0] contains some more background and rationale but
basically the completed series will allow entities which inject pages
into the networking stack to receive a notification when the stack has
really finished with those pages (i.e. including retransmissions,
clones, pull-ups etc) and not just when the original skb is finished
with, which is beneficial to many subsystems which wish to inject pages
into the network stack without giving up full ownership of those page's
lifecycle. It implements something broadly along the lines of what was
described in [1].

I have also included a patch to the RPC subsystem which uses this API to
fix the bug which I describe at [2].

I've also had some interest from David VemLehn and Bart Van Assche
regarding using this functionality in the context of vmsplice and iSCSI
targets respectively (I think).

Changes since last time:

      * The big change is that the patches now explicitly align the
        "nr_frags" member of the shinfo, as suggested by Alexander
        Duyck. This ensures that the placement is optimal irrespective
        of page size (in particular the variation of MAX_SKB_FRAGS). It
        is still the case that for 4k pages a maximum MTU frame +
        SKB_PAD + shinfo, still fit within 2048k.
              * As part of the preceeding I squashed the patches
                manipulating the shinfo layout and alignment into a
                single patch (which is far more coherent than the
                piecemeal approach used previously)
      * I crushed "net: only allow paged fragments with the same
        destructor to be coalesced." into the baseline patch (Ben
        Hutchings)
      * Added and used skb_shinfo_init to centralise several copies of
        that code.
      * Reduced CC list on "net: add paged frag destructor support to
        kernel_sendpage", it was rather long and seemed a bit overly
        spammy on the non-netdev recipients.

Changes since time before:

      * Added skb_orphan_frags API for the use of recipients of SKBs who
        may hold onto the SKB for a long time (this is analogous to
        skb_orphan). This was pointed out by Michael. The TUN driver is
        currently the only user.
              * I can't for the life of me get anything to actually hit
                this code path. I've been trying with an NFS server
                running in a Xen HVM domain with emulated (e.g. tap)
                networking and a client in domain 0, using the NFS fix
                in this series which generates SKBs with destructors
                set, so far -- nothing. I suspect that lack of TSO/GSO
                etc on the TAP interface is causing the frags to be
                copied to normal pages during skb_segment().
      * Various fixups related to the change of alignment/padding in
        shinfo, in particular to build_skb as pointed out by Eric.
      * Tweaked ordering of shinfo members to ensure that all hotpath
        variables up to and including the first frag fit within (and are
        aligned to) a single 64 byte cache line. (Eric again)

I ran a monothread UDP benchmark (similar to that described by Eric in
e52fcb2462ac) and don't see any difference in pps throughput, it was
~810,000 pps both before and after.

Cheers,
Ian.

[0] http://marc.info/?l=linux-netdev&m=131072801125521&w=2
[1] http://marc.info/?l=linux-netdev&m=130925719513084&w=2
[2] http://marc.info/?l=linux-nfs&m=122424132729720&w=2







_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 14:55:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 14:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxRD-0000tL-55; Thu, 03 May 2012 14:55:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPxRC-0000tG-Jy
	for xen-devel@lists.xen.org; Thu, 03 May 2012 14:55:22 +0000
Received: from [85.158.143.35:63945] by server-1.bemta-4.messagelabs.com id
	5C/A6-20925-95C92AF4; Thu, 03 May 2012 14:55:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336056917!13597098!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31444 invoked from network); 3 May 2012 14:55:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 14:55:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12277354"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 14:55:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	15:55:16 +0100
Message-ID: <1336056915.20716.96.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Date: Thu, 3 May 2012 15:55:15 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Alexander Duyck <alexander.h.duyck@intel.com>,
	Bart Van Assche <bvanassche@acm.org>,
	Eric Dumazet <eric.dumazet@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, David VomLehn <dvomlehn@cisco.com>,
	xen-devel <xen-devel@lists.xen.org>, David Miller <davem@davemloft.net>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v5 0/9] skb paged fragment destructors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The following series makes use of the skb fragment API (which is in 3.2
+) to add a per-paged-fragment destructor callback. This can be used by
creators of skbs who are interested in the lifecycle of the pages
included in that skb after they have handed it off to the network stack.

The mail at [0] contains some more background and rationale but
basically the completed series will allow entities which inject pages
into the networking stack to receive a notification when the stack has
really finished with those pages (i.e. including retransmissions,
clones, pull-ups etc) and not just when the original skb is finished
with, which is beneficial to many subsystems which wish to inject pages
into the network stack without giving up full ownership of those page's
lifecycle. It implements something broadly along the lines of what was
described in [1].

I have also included a patch to the RPC subsystem which uses this API to
fix the bug which I describe at [2].

I've also had some interest from David VemLehn and Bart Van Assche
regarding using this functionality in the context of vmsplice and iSCSI
targets respectively (I think).

Changes since last time:

      * The big change is that the patches now explicitly align the
        "nr_frags" member of the shinfo, as suggested by Alexander
        Duyck. This ensures that the placement is optimal irrespective
        of page size (in particular the variation of MAX_SKB_FRAGS). It
        is still the case that for 4k pages a maximum MTU frame +
        SKB_PAD + shinfo, still fit within 2048k.
              * As part of the preceeding I squashed the patches
                manipulating the shinfo layout and alignment into a
                single patch (which is far more coherent than the
                piecemeal approach used previously)
      * I crushed "net: only allow paged fragments with the same
        destructor to be coalesced." into the baseline patch (Ben
        Hutchings)
      * Added and used skb_shinfo_init to centralise several copies of
        that code.
      * Reduced CC list on "net: add paged frag destructor support to
        kernel_sendpage", it was rather long and seemed a bit overly
        spammy on the non-netdev recipients.

Changes since time before:

      * Added skb_orphan_frags API for the use of recipients of SKBs who
        may hold onto the SKB for a long time (this is analogous to
        skb_orphan). This was pointed out by Michael. The TUN driver is
        currently the only user.
              * I can't for the life of me get anything to actually hit
                this code path. I've been trying with an NFS server
                running in a Xen HVM domain with emulated (e.g. tap)
                networking and a client in domain 0, using the NFS fix
                in this series which generates SKBs with destructors
                set, so far -- nothing. I suspect that lack of TSO/GSO
                etc on the TAP interface is causing the frags to be
                copied to normal pages during skb_segment().
      * Various fixups related to the change of alignment/padding in
        shinfo, in particular to build_skb as pointed out by Eric.
      * Tweaked ordering of shinfo members to ensure that all hotpath
        variables up to and including the first frag fit within (and are
        aligned to) a single 64 byte cache line. (Eric again)

I ran a monothread UDP benchmark (similar to that described by Eric in
e52fcb2462ac) and don't see any difference in pps throughput, it was
~810,000 pps both before and after.

Cheers,
Ian.

[0] http://marc.info/?l=linux-netdev&m=131072801125521&w=2
[1] http://marc.info/?l=linux-netdev&m=130925719513084&w=2
[2] http://marc.info/?l=linux-nfs&m=122424132729720&w=2







_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:00:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:00:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxVh-00013S-So; Thu, 03 May 2012 15:00:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SPxVg-00011U-DD
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:00:00 +0000
Received: from [85.158.143.35:28626] by server-2.bemta-4.messagelabs.com id
	67/78-17550-F6D92AF4; Thu, 03 May 2012 14:59:59 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336057197!14638339!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22630 invoked from network); 3 May 2012 14:59:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 14:59:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330923600"; d="scan'208";a="193248991"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 10:57:08 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.210]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi;
	Thu, 3 May 2012 10:57:08 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Thu, 3 May 2012 10:57:11 -0400
Thread-Topic: vTPM patch does not apply
Thread-Index: Ac0pPJox2vZ9uU+/T6OBjCEOOX+bkA==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


I was trying to build the vtpm bits in unstable and the patch for the vtpm was failing to apply. It worked fine before this commit.

http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/c5b7d49ca3ee

Since it is a patch file, maybe the change should read something more like:

+-LDFLAGS += -lgmp
++LDLIBS  += -lgmp

Thanks


Ross Philipson
Senior Software Engineer
Citrix Systems, Inc
14 Crosby Drive
Bedford, MA 01730
781-301-7949
ross.philipson@citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:00:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:00:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxVh-00013S-So; Thu, 03 May 2012 15:00:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SPxVg-00011U-DD
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:00:00 +0000
Received: from [85.158.143.35:28626] by server-2.bemta-4.messagelabs.com id
	67/78-17550-F6D92AF4; Thu, 03 May 2012 14:59:59 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336057197!14638339!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22630 invoked from network); 3 May 2012 14:59:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 14:59:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330923600"; d="scan'208";a="193248991"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 10:57:08 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.210]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi;
	Thu, 3 May 2012 10:57:08 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Thu, 3 May 2012 10:57:11 -0400
Thread-Topic: vTPM patch does not apply
Thread-Index: Ac0pPJox2vZ9uU+/T6OBjCEOOX+bkA==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


I was trying to build the vtpm bits in unstable and the patch for the vtpm was failing to apply. It worked fine before this commit.

http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/c5b7d49ca3ee

Since it is a patch file, maybe the change should read something more like:

+-LDFLAGS += -lgmp
++LDLIBS  += -lgmp

Thanks


Ross Philipson
Senior Software Engineer
Citrix Systems, Inc
14 Crosby Drive
Bedford, MA 01730
781-301-7949
ross.philipson@citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:16:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxl4-0001Jb-E4; Thu, 03 May 2012 15:15:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPxl2-0001JW-JC
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:15:52 +0000
Received: from [85.158.143.35:46016] by server-3.bemta-4.messagelabs.com id
	E1/9C-05853-721A2AF4; Thu, 03 May 2012 15:15:51 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336058147!15003606!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23521 invoked from network); 3 May 2012 15:15:49 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 15:15:49 -0000
Received: by yhkk6 with SMTP id k6so1166601yhk.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 08:15:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=Iiv+AHyHWzuEm02mR6L4U4Cu86X753LOvTdFUFVxoOA=;
	b=D2r0d0Wbt5D/qAnx/zV6C7F4RHFUuhh7BliR11AOiy4cO00o1rF7djizWs7ItDKH3o
	6qVzQ9xe8VIJhp3dNmoTcUOfHJF7yvxJgrwu/Dj9+LcLCnUgIMvL07hH7HUaKK2ZswUE
	uU8o9HT6WS+nXNT+E+5r2LgVscRL37cytTVrRBvQjphdUT9xTedYHUTbyQZ+gcLeLxdQ
	wxEvRbiq8gJAMTXZIscRoC+adWTi36zMbU4rQJYn30HMooJO8oQWBZw87Jpx37g05/Hu
	xBagwz2sGt34pQT9yL6G4RCQsLl1VB1tGzBJgpp/ZzronjGkHcrkqmqriSxJjg+xPe4i
	9GPg==
Received: by 10.236.76.226 with SMTP id b62mr3509795yhe.13.1336058146967;
	Thu, 03 May 2012 08:15:46 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id d63sm24671089yhh.17.2012.05.03.08.15.43
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 08:15:46 -0700 (PDT)
Message-ID: <4FA2A11E.1060907@cantab.net>
Date: Thu, 03 May 2012 16:15:42 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com>
In-Reply-To: <4FA27084.4030005@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/12 12:48, David Vrabel wrote:
> On 01/05/12 17:37, Konrad Rzeszutek Wilk wrote:
>> On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
>>> Changelog v5 [since v4]:
>>>  - used populate_physmap, fixed bugs.
>>> [v2-v4: not posted]
>>>  - reworked the code in setup.c to work properly.
>>> [v1: https://lkml.org/lkml/2012/3/30/492]
>>>  - initial patchset
>>
>> One bug I found was that with 'dom0_mem=max:1G' (with and without these
>> patches) I would get a bunch of
>>
>> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
>> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)
>>
>> where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
>> I ran on it. I figured it out that the difference was in the ACPI tables
>> that are allocated - and that those regions - even though are returned
>> back to the hypervisor, cannot be repopulated. I can't find the actual
>> exact piece of code in the hypervisor to pin-point and say "Aha".
> 
> It was tricky to track down what is going here but I think I see what's
> happening.
> 
> The problem pages (on the system I looked at) were located just before
> the ISA memory region (so PFN < a0) and so they are mapped in the
> bootstrap page tables and have an additional ref so are not immediately
> freed when the page is released.  They do get freed later on, presumably
> when the page tables are swapped over.

It's not the bootstrap page tables but those constructed in
xen_setup_kernel_pagetable() but this has the same effect.

> I think the mapping needs to be removed with
> HYPERVISOR_update_va_mapping() before releasing the page.  This is
> already done for the ISA region in xen_ident_map_ISA().

And here's a patch that does this.  I've not given it a lot of testing.

This is on top of your 8/8 patch and your "xen/setup: Cap amount to
populate based on current tot_pages count." patch is no longer needed.

David

8<---------------------
>From 17900ce942ed34ccc85b8e6fbce392118d95d9d3 Mon Sep 17 00:00:00 2001
From: David Vrabel <david.vrabel@citrix.com>
Date: Thu, 3 May 2012 15:57:00 +0100
Subject: [PATCH] xen: update VA mapping when releasing memory during setup

In xen_memory_setup(), if a page that is being released has a VA
mapping this must also be updated.  Otherwise, the page will be not
released completely -- it will still be referenced in Xen and won't be
freed util the mapping is removed and this prevents it from being
reallocated at a different PFN.

This was already being done for the ISA memory region in
xen_ident_map_ISA() but on many systems this was omitting a few pages
as many systems marked a few pages below the ISA memory region as
reserved in the e820 map.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 arch/x86/xen/enlighten.c |    1 -
 arch/x86/xen/mmu.c       |   23 -----------------------
 arch/x86/xen/setup.c     |   41 ++++++++++++++++++++++++++++++++++-------
 arch/x86/xen/xen-ops.h   |    1 -
 4 files changed, 34 insertions(+), 32 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..ff9a20a 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1306,7 +1306,6 @@ asmlinkage void __init xen_start_kernel(void)
 
 	xen_raw_console_write("mapping kernel into physical memory\n");
 	pgd = xen_setup_kernel_pagetable(pgd, xen_start_info->nr_pages);
-	xen_ident_map_ISA();
 
 	/* Allocate and initialize top and mid mfn levels for p2m structure */
 	xen_build_mfn_list_list();
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index b8e2794..b756d8c 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
 #endif
 }
 
-void __init xen_ident_map_ISA(void)
-{
-	unsigned long pa;
-
-	/*
-	 * If we're dom0, then linear map the ISA machine addresses into
-	 * the kernel's address space.
-	 */
-	if (!xen_initial_domain())
-		return;
-
-	xen_raw_printk("Xen: setup ISA identity maps\n");
-
-	for (pa = ISA_START_ADDRESS; pa < ISA_END_ADDRESS; pa += PAGE_SIZE) {
-		pte_t pte = mfn_pte(PFN_DOWN(pa), PAGE_KERNEL_IO);
-
-		if (HYPERVISOR_update_va_mapping(PAGE_OFFSET + pa, pte, 0))
-			BUG();
-	}
-
-	xen_flush_tlb();
-}
-
 static void __init xen_post_allocator_init(void)
 {
 	pv_mmu_ops.set_pte = xen_set_pte;
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 506a3e6..d5f8714 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -139,6 +139,13 @@ static unsigned long __init xen_do_chunk(unsigned long start,
 
 	return len;
 }
+
+static unsigned long __init xen_release_chunk(unsigned long start,
+					      unsigned long end)
+{
+	return xen_do_chunk(start, end, true);
+}
+
 static unsigned long __init xen_populate_chunk(
 	const struct e820entry *list, size_t map_size,
 	unsigned long max_pfn, unsigned long *last_pfn,
@@ -197,6 +204,29 @@ static unsigned long __init xen_populate_chunk(
 	}
 	return done;
 }
+
+static void __init xen_set_identity_and_release_chunk(
+	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
+	unsigned long *released, unsigned long *identity)
+{
+	unsigned long pfn;
+
+	/*
+	 * If the PFNs are currently mapped, the VA mapping also needs
+	 * to be updated to be 1:1.
+	 */
+	for (pfn = start_pfn; pfn <= max_pfn_mapped && pfn < end_pfn; pfn++)
+		(void)HYPERVISOR_update_va_mapping(
+			(unsigned long)__va(pfn << PAGE_SHIFT),
+			mfn_pte(pfn, PAGE_KERNEL_IO), 0);
+
+	if (start_pfn < nr_pages)
+		*released += xen_release_chunk(
+			start_pfn, min(end_pfn, nr_pages));
+
+	*identity += set_phys_range_identity(start_pfn, end_pfn);
+}
+
 static unsigned long __init xen_set_identity_and_release(
 	const struct e820entry *list, size_t map_size, unsigned long nr_pages)
 {
@@ -226,14 +256,11 @@ static unsigned long __init xen_set_identity_and_release(
 			if (entry->type == E820_RAM)
 				end_pfn = PFN_UP(entry->addr);
 
-			if (start_pfn < end_pfn) {
-				if (start_pfn < nr_pages)
-					released += xen_do_chunk(
-						start_pfn, min(end_pfn, nr_pages), true);
+			if (start_pfn < end_pfn)
+				xen_set_identity_and_release_chunk(
+					start_pfn, end_pfn, nr_pages,
+					&released, &identity);
 
-				identity += set_phys_range_identity(
-					start_pfn, end_pfn);
-			}
 			start = end;
 		}
 	}
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index b095739..506fa08 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -28,7 +28,6 @@ void xen_setup_shared_info(void);
 void xen_build_mfn_list_list(void);
 void xen_setup_machphys_mapping(void);
 pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
-void xen_ident_map_ISA(void);
 void xen_reserve_top(void);
 extern unsigned long xen_max_p2m_pfn;
 
-- 
1.7.2.5

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:16:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxl4-0001Jb-E4; Thu, 03 May 2012 15:15:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SPxl2-0001JW-JC
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:15:52 +0000
Received: from [85.158.143.35:46016] by server-3.bemta-4.messagelabs.com id
	E1/9C-05853-721A2AF4; Thu, 03 May 2012 15:15:51 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336058147!15003606!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23521 invoked from network); 3 May 2012 15:15:49 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 15:15:49 -0000
Received: by yhkk6 with SMTP id k6so1166601yhk.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 08:15:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=Iiv+AHyHWzuEm02mR6L4U4Cu86X753LOvTdFUFVxoOA=;
	b=D2r0d0Wbt5D/qAnx/zV6C7F4RHFUuhh7BliR11AOiy4cO00o1rF7djizWs7ItDKH3o
	6qVzQ9xe8VIJhp3dNmoTcUOfHJF7yvxJgrwu/Dj9+LcLCnUgIMvL07hH7HUaKK2ZswUE
	uU8o9HT6WS+nXNT+E+5r2LgVscRL37cytTVrRBvQjphdUT9xTedYHUTbyQZ+gcLeLxdQ
	wxEvRbiq8gJAMTXZIscRoC+adWTi36zMbU4rQJYn30HMooJO8oQWBZw87Jpx37g05/Hu
	xBagwz2sGt34pQT9yL6G4RCQsLl1VB1tGzBJgpp/ZzronjGkHcrkqmqriSxJjg+xPe4i
	9GPg==
Received: by 10.236.76.226 with SMTP id b62mr3509795yhe.13.1336058146967;
	Thu, 03 May 2012 08:15:46 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id d63sm24671089yhh.17.2012.05.03.08.15.43
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 08:15:46 -0700 (PDT)
Message-ID: <4FA2A11E.1060907@cantab.net>
Date: Thu, 03 May 2012 16:15:42 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com>
In-Reply-To: <4FA27084.4030005@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/12 12:48, David Vrabel wrote:
> On 01/05/12 17:37, Konrad Rzeszutek Wilk wrote:
>> On Mon, Apr 16, 2012 at 01:15:31PM -0400, Konrad Rzeszutek Wilk wrote:
>>> Changelog v5 [since v4]:
>>>  - used populate_physmap, fixed bugs.
>>> [v2-v4: not posted]
>>>  - reworked the code in setup.c to work properly.
>>> [v1: https://lkml.org/lkml/2012/3/30/492]
>>>  - initial patchset
>>
>> One bug I found was that with 'dom0_mem=max:1G' (with and without these
>> patches) I would get a bunch of
>>
>> (XEN) page_alloc.c:1148:d0 Over-allocation for domain 0: 2097153 > 2097152
>> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (0 of 17)
>>
>> where the (0 of X), sometimes was 1, 2,3,4 or 17 -depending on the machine
>> I ran on it. I figured it out that the difference was in the ACPI tables
>> that are allocated - and that those regions - even though are returned
>> back to the hypervisor, cannot be repopulated. I can't find the actual
>> exact piece of code in the hypervisor to pin-point and say "Aha".
> 
> It was tricky to track down what is going here but I think I see what's
> happening.
> 
> The problem pages (on the system I looked at) were located just before
> the ISA memory region (so PFN < a0) and so they are mapped in the
> bootstrap page tables and have an additional ref so are not immediately
> freed when the page is released.  They do get freed later on, presumably
> when the page tables are swapped over.

It's not the bootstrap page tables but those constructed in
xen_setup_kernel_pagetable() but this has the same effect.

> I think the mapping needs to be removed with
> HYPERVISOR_update_va_mapping() before releasing the page.  This is
> already done for the ISA region in xen_ident_map_ISA().

And here's a patch that does this.  I've not given it a lot of testing.

This is on top of your 8/8 patch and your "xen/setup: Cap amount to
populate based on current tot_pages count." patch is no longer needed.

David

8<---------------------
>From 17900ce942ed34ccc85b8e6fbce392118d95d9d3 Mon Sep 17 00:00:00 2001
From: David Vrabel <david.vrabel@citrix.com>
Date: Thu, 3 May 2012 15:57:00 +0100
Subject: [PATCH] xen: update VA mapping when releasing memory during setup

In xen_memory_setup(), if a page that is being released has a VA
mapping this must also be updated.  Otherwise, the page will be not
released completely -- it will still be referenced in Xen and won't be
freed util the mapping is removed and this prevents it from being
reallocated at a different PFN.

This was already being done for the ISA memory region in
xen_ident_map_ISA() but on many systems this was omitting a few pages
as many systems marked a few pages below the ISA memory region as
reserved in the e820 map.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 arch/x86/xen/enlighten.c |    1 -
 arch/x86/xen/mmu.c       |   23 -----------------------
 arch/x86/xen/setup.c     |   41 ++++++++++++++++++++++++++++++++++-------
 arch/x86/xen/xen-ops.h   |    1 -
 4 files changed, 34 insertions(+), 32 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..ff9a20a 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1306,7 +1306,6 @@ asmlinkage void __init xen_start_kernel(void)
 
 	xen_raw_console_write("mapping kernel into physical memory\n");
 	pgd = xen_setup_kernel_pagetable(pgd, xen_start_info->nr_pages);
-	xen_ident_map_ISA();
 
 	/* Allocate and initialize top and mid mfn levels for p2m structure */
 	xen_build_mfn_list_list();
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index b8e2794..b756d8c 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
 #endif
 }
 
-void __init xen_ident_map_ISA(void)
-{
-	unsigned long pa;
-
-	/*
-	 * If we're dom0, then linear map the ISA machine addresses into
-	 * the kernel's address space.
-	 */
-	if (!xen_initial_domain())
-		return;
-
-	xen_raw_printk("Xen: setup ISA identity maps\n");
-
-	for (pa = ISA_START_ADDRESS; pa < ISA_END_ADDRESS; pa += PAGE_SIZE) {
-		pte_t pte = mfn_pte(PFN_DOWN(pa), PAGE_KERNEL_IO);
-
-		if (HYPERVISOR_update_va_mapping(PAGE_OFFSET + pa, pte, 0))
-			BUG();
-	}
-
-	xen_flush_tlb();
-}
-
 static void __init xen_post_allocator_init(void)
 {
 	pv_mmu_ops.set_pte = xen_set_pte;
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 506a3e6..d5f8714 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -139,6 +139,13 @@ static unsigned long __init xen_do_chunk(unsigned long start,
 
 	return len;
 }
+
+static unsigned long __init xen_release_chunk(unsigned long start,
+					      unsigned long end)
+{
+	return xen_do_chunk(start, end, true);
+}
+
 static unsigned long __init xen_populate_chunk(
 	const struct e820entry *list, size_t map_size,
 	unsigned long max_pfn, unsigned long *last_pfn,
@@ -197,6 +204,29 @@ static unsigned long __init xen_populate_chunk(
 	}
 	return done;
 }
+
+static void __init xen_set_identity_and_release_chunk(
+	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
+	unsigned long *released, unsigned long *identity)
+{
+	unsigned long pfn;
+
+	/*
+	 * If the PFNs are currently mapped, the VA mapping also needs
+	 * to be updated to be 1:1.
+	 */
+	for (pfn = start_pfn; pfn <= max_pfn_mapped && pfn < end_pfn; pfn++)
+		(void)HYPERVISOR_update_va_mapping(
+			(unsigned long)__va(pfn << PAGE_SHIFT),
+			mfn_pte(pfn, PAGE_KERNEL_IO), 0);
+
+	if (start_pfn < nr_pages)
+		*released += xen_release_chunk(
+			start_pfn, min(end_pfn, nr_pages));
+
+	*identity += set_phys_range_identity(start_pfn, end_pfn);
+}
+
 static unsigned long __init xen_set_identity_and_release(
 	const struct e820entry *list, size_t map_size, unsigned long nr_pages)
 {
@@ -226,14 +256,11 @@ static unsigned long __init xen_set_identity_and_release(
 			if (entry->type == E820_RAM)
 				end_pfn = PFN_UP(entry->addr);
 
-			if (start_pfn < end_pfn) {
-				if (start_pfn < nr_pages)
-					released += xen_do_chunk(
-						start_pfn, min(end_pfn, nr_pages), true);
+			if (start_pfn < end_pfn)
+				xen_set_identity_and_release_chunk(
+					start_pfn, end_pfn, nr_pages,
+					&released, &identity);
 
-				identity += set_phys_range_identity(
-					start_pfn, end_pfn);
-			}
 			start = end;
 		}
 	}
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index b095739..506fa08 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -28,7 +28,6 @@ void xen_setup_shared_info(void);
 void xen_build_mfn_list_list(void);
 void xen_setup_machphys_mapping(void);
 pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
-void xen_ident_map_ISA(void);
 void xen_reserve_top(void);
 extern unsigned long xen_max_p2m_pfn;
 
-- 
1.7.2.5

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:18:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:18:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxnX-0001Pb-5R; Thu, 03 May 2012 15:18:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPxnV-0001PV-Mt
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:18:25 +0000
Received: from [193.109.254.147:22460] by server-1.bemta-14.messagelabs.com id
	BF/B9-29372-0C1A2AF4; Thu, 03 May 2012 15:18:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336058304!1844450!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27599 invoked from network); 3 May 2012 15:18:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 15:18:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12278192"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 15:18:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	16:18:23 +0100
Message-ID: <1336058302.20716.100.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ross Philipson <Ross.Philipson@citrix.com>
Date: Thu, 3 May 2012 16:18:22 +0100
In-Reply-To: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


On Thu, 2012-05-03 at 15:57 +0100, Ross Philipson wrote:
> I was trying to build the vtpm bits in unstable and the patch for the vtpm was failing to apply. It worked fine before this commit.
> 
> http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/c5b7d49ca3ee

CCing the author.

> Since it is a patch file, maybe the change should read something more like:
> 
> +-LDFLAGS += -lgmp
> ++LDLIBS  += -lgmp

Quite possibly. Certainly patching the context of the patch seems like a
very odd thing to do given the patch description and unless the patch
invocation is allowing loads of fuzz I don't see how it could ever work.
Olaf did you actually test this change with vtpm enabled in the build?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:18:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:18:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxnX-0001Pb-5R; Thu, 03 May 2012 15:18:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPxnV-0001PV-Mt
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:18:25 +0000
Received: from [193.109.254.147:22460] by server-1.bemta-14.messagelabs.com id
	BF/B9-29372-0C1A2AF4; Thu, 03 May 2012 15:18:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336058304!1844450!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27599 invoked from network); 3 May 2012 15:18:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 15:18:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,523,1330905600"; d="scan'208";a="12278192"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 15:18:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	16:18:23 +0100
Message-ID: <1336058302.20716.100.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ross Philipson <Ross.Philipson@citrix.com>
Date: Thu, 3 May 2012 16:18:22 +0100
In-Reply-To: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


On Thu, 2012-05-03 at 15:57 +0100, Ross Philipson wrote:
> I was trying to build the vtpm bits in unstable and the patch for the vtpm was failing to apply. It worked fine before this commit.
> 
> http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/c5b7d49ca3ee

CCing the author.

> Since it is a patch file, maybe the change should read something more like:
> 
> +-LDFLAGS += -lgmp
> ++LDLIBS  += -lgmp

Quite possibly. Certainly patching the context of the patch seems like a
very odd thing to do given the patch description and unless the patch
invocation is allowing loads of fuzz I don't see how it could ever work.
Olaf did you actually test this change with vtpm enabled in the build?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:29:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:29:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxxj-0001dR-D7; Thu, 03 May 2012 15:28:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPxxh-0001dM-A2
	for xen-devel@lists.xen.org; Thu, 03 May 2012 15:28:57 +0000
Received: from [85.158.138.51:24532] by server-6.bemta-3.messagelabs.com id
	93/01-05145-834A2AF4; Thu, 03 May 2012 15:28:56 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336058934!18709631!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31160 invoked from network); 3 May 2012 15:28:54 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-174.messagelabs.com with SMTP;
	3 May 2012 15:28:54 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77585255; Thu, 03 May 2012 16:58:53 +0200
Message-ID: <1336057131.2313.82.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 03 May 2012 16:58:51 +0200
In-Reply-To: <4FA28B1B.8040205@eu.citrix.com>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com>
	<1335976251.2961.123.camel@Abyss> <4FA28B1B.8040205@eu.citrix.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3055614114624587010=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3055614114624587010==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-6C60f7a+kgUahT5xki3b"


--=-6C60f7a+kgUahT5xki3b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-03 at 14:41 +0100, George Dunlap wrote:=20
> >> Why are "nodes_policy" and "num_nodes_policy" not passed in along with
> >> b_info?
> > That was my first implementation. Then I figured out that I want to do
> > the placement in _xl_, not in _libxl_, so I really don't need to muck u=
p
> > build info with placement related stuff. Should I use b_info anyway,
> > even if I don't need these fields while in libxl?
> Ah right -- yeah, probably since b_info is a libxl structure, you=20
> shouldn't add it in there.  But in that case you should probably add=20
> another xl-specific structure and pass it through, rather than having=20
> global variables, I think.  It's only used in the handful of placement=
=20
> functions, right?
>
It is and yes, I can and will try to "pack" it better. Thanks.

> > - which percent should I try, and in what order? I mean, 75%/25%
> >     sounds reasonable, but maybe also 80%/20% or even 60%/40% helps you=
r
> >     point.
> I had in mind no constraints at all on the ratios -- basically, if you=
=20
> can find N nodes such that the sum of free memory is enough to create=20
> the VM, even 99%/1%, then go for that rather than looking for N+1. =20
> Obviously finding a more balanced option would be better.=20
>
I see, and this looks both reasonable and doable with reasonable
effort. :-)

> One option=20
> would be to scan through finding all sets of N nodes that will satisfy=
=20
> the criteria, and then choose the most "balanced" one.  That might be=20
> more than we need for 4.2, so another option would be to look for evenly=
=20
> balanced nodes first, then if we don't find a set, look for any set. =20
> (That certainly fits with the "first fit" description!)
>
Yep, that would need some extra effort that we might want to postpone. I
like what you proposed above and I'll look into putting it together
without turning xl too much into a set-theory processing machine. ;-D

> > - suppose I go for 75%/25%, what about the scheduling oof the VM?
> Haha -- yeah, for a research paper, you'd probably implement some kind=
=20
> of lottery scheduling algorithm that would schedule it on one node 75%=
=20
> of the time and another node 25% of the time. :-) =20
>
That would be awesome. I know a bunch of people that would manage in
getting at leat 3 or 4 publications out of this idea (one about the
idea, one about the implementation, one about the statistical
guarantees, etc.). :-P :-P

> But I think that just=20
> making the node affinity equal to both of them will be good enough for=
=20
> now.  There will be some variability in performance, but there will be=
=20
> some of that anyway depending on what node's memory the guest happens to=
=20
> use more.
>
Agreed. I'm really thinking about taking your suggestion about keeping
thee layout "fluid" and then set the affinity to all of the involved
nodes. Thanks again.

> This actually kind of a different issue, but I'll bring it up now=20
> because it's related.  (Something to toss in for thinking about in 4.3=
=20
> really.)  Suppose there are 4 cores and 16GiB per node, and a VM has 8=
=20
> vcpus and 8GiB of RAM.  The algorithm you have here will attempt to put=
=20
> 4GiB on each of two nodes (since it will take 2 nodes to get 8 cores). =
=20
> However, it's pretty common for larger VMs to have way more vcpus than=
=20
> they actually use at any one time.  So it might actually have better=20
> performance to put all 8GiB on one node, and set the node affinity=20
> accordingly.  In the rare event that more than 4 vcpus are active, a=20
> handful of vcpus will have all remote accesses, but the majority of the=
=20
> time, all of the cpus will have local accesses.  (OTOH, maybe that=20
> should be only a policy thing that we should recommend in the=20
> documentation...)
>=20
That makes a lot of sense, and I was also thinking along the very same
line. Once we'll have a proper mechanism to account for CPU load we
could put another policing re this thing, i.e., once we've got all the
information about the memory, what should we do with respect to (v)cpus?
Should we spread the load or prefer some more "packed" placement? Again,
I think we can both add more tunables and also make things dynamic
(e.g., have all the 8 vcpus on the 4 cpus of a node and, if they're
generating too much remote accesses, expand the node affinity and move
some of the memory) when we'll have more of the mechanism in place.

> Dude, this is open source.  Be opinionated. ;-)
>=20
Thanks for the advice... From now on, I'll do my best! :-)

> What do you think of my suggestions above?
>
As I said, I actually like it.

> I think if the user specifies a nodemap, and that nodemap doesn't have=
=20
> enough memory, we should throw an error.
>=20
Agreed.

> If there's a node_affinity set, no memory on that node, but memory on a=
=20
> *different* node, what will Xen do?  It will allocate memory on some=20
> other node, right?
>=20
Yep.

> So ATM even if you specify a cpumask, you'll get memory on the masked=20
> nodes first, and then memory elsewhere (probably in a fairly random=20
> manner); but as much of the memory as possible will be on the masked=20
> nodes.  I wonder then if we shouldnt' just keep that behavior -- i.e.,=
=20
> if there's a cpumask specified, just return the nodemask from that mask,=
=20
> and let Xen put as much as possible on that node and let the rest fall=
=20
> where it may.
>=20
Well, sounds reasonable after all, and I'm pretty sure it would simplify
the code a bit, which is something not bad at all. So yes, I'm inclined
to agree on this.

> > However, if what you mean is I could check beforehand whether or not th=
e
> > user provided configuration will give us enough CPUs and avoid testing
> > scenarios that are guaranteed to fail, then I agree and I'll reshape th=
e
> > code to look like that. This triggers the heuristics re-designing stuff
> > from above again, as one have to decide what to do if user asks for
> > "nodes=3D[1,3]" and I discover (earlier) that I need one more node for
> > having enough CPUs (I mean, what node should I try first?).
> No, that's not exactly what I meant.  Suppose there are 4 cores per=20
> node, and a VM has 16 vcpus, and NUMA is just set to auto, with no other=
=20
> parameters.  If I'm reading your code right, what it will do is first=20
> try to find a set of 1 node that will satisfy the constraints, then 2=20
> nodes, then 3, nodes, then 4, &c.  Since there are at most 4 cores per=
=20
> node, we know that 1, 2, and 3 nodes are going to fail, regardless of=20
> how much memory there is or how many cpus are offline.  So why not just=
=20
> start with 4, if the user hasn't specified anything?  Then if 4 doesn't=
=20
> work (either because there's not enough memory, or some of the cpus are=
=20
> offline), then we can start bumping it up to 5, 6, &c.
>=20
Fine, I got it now, thanks for clarifying (both here and in the other
e-mail). I'll look into that and, if it doesn't cost too much
thinking/coding/debugging time, I'll go for it.

> That's what I was getting at -- but again, if it makes it too=20
> complicated, trading a bit of extra passes for a significant chunk of=20
> your debugging time is OK. :-)
>=20
I'll sure act like this. I really want this thing out ASAP.

> Well, if the user didn't specify anything, then we can't contradict=20
> anything he specified, right? :-)  If the user doesn't specify anything,=
=20
> and the default is "numa=3Dauto", then I think we're free to do whatever=
=20
> we think is best regarding NUMA placement; in fact, I think we should=20
> try to avoid failing VM creation if it's at all possible.  I just meant=
=20
> what I think we should do if the user asked for specific NUMA nodes or a=
=20
> specific number of nodes.
>
I agree, and it should be easy enough to discern in which of these two
situations we are and act accordingly.

> It seems like we have a number of issues here that would be good for=20
> more people to come in on --=20
>
This is something I really would enjoy a lot!

> what if I attempt to summarize the=20
> high-level decisions we're talking about so that it's easier for more=20
> people to comment on them?
>=20
That would be very helpful, indeed.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-6C60f7a+kgUahT5xki3b
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+inSsACgkQk4XaBE3IOsSuFgCfaAf0x++ZGvjHfMIDIRJto3J5
AyIAn0La1PbL7QsWSLOZSGK+8xBc8hXI
=DeiO
-----END PGP SIGNATURE-----

--=-6C60f7a+kgUahT5xki3b--



--===============3055614114624587010==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3055614114624587010==--



From xen-devel-bounces@lists.xen.org Thu May 03 15:29:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:29:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPxxj-0001dR-D7; Thu, 03 May 2012 15:28:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SPxxh-0001dM-A2
	for xen-devel@lists.xen.org; Thu, 03 May 2012 15:28:57 +0000
Received: from [85.158.138.51:24532] by server-6.bemta-3.messagelabs.com id
	93/01-05145-834A2AF4; Thu, 03 May 2012 15:28:56 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336058934!18709631!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31160 invoked from network); 3 May 2012 15:28:54 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-174.messagelabs.com with SMTP;
	3 May 2012 15:28:54 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77585255; Thu, 03 May 2012 16:58:53 +0200
Message-ID: <1336057131.2313.82.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 03 May 2012 16:58:51 +0200
In-Reply-To: <4FA28B1B.8040205@eu.citrix.com>
References: <patchbomb.1334150267@Solace>
	<31163f014d8a2da9375f.1334150275@Solace>
	<4FA0051F.6020909@eu.citrix.com>
	<1335976251.2961.123.camel@Abyss> <4FA28B1B.8040205@eu.citrix.com>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAA3NCSVQICAjb4U/gAAAVx0lEQVRYwzWY6a/d953XP9/tt51zfme/+37t692OtzhxtzTuJFPaTDVt0cDQeTIajToSKBJICBASQkI8Q1Q8ACQEhUGgCsF0OrSkaRLaxknqOl7i9dq++3727bd/Vx5k+CNe7+WFvvkvbvoywAZF1BMYOFNFbqWEW1gho42yB9jJq1QihEGVCh7BxrXpeNlxbJZmcmNvkArIhAIMJd+drlmA0aiXuBbN5x3Pxq6NS6X85l5/rxNnGtJYgAYhgVCa8UxqAwgQIABAGGMD1JWtS7/48Vy0W1k5GxXnmh41br1y6fxXv3LCEPXLu3vv3N3t2kXPAi0EIjTjnDGcKawzHceZl3N0mIExrmfnGS1iSij2pxgDxJhlsOFID8LUsVjecXvNPiJg2ZYySiODGUVcAwBCCAAMAIAhNc82C2xvuLG8uX422VvZfHrx9Mz5P7kRR51wby188YD+8metqQWBLa00F1JIlQk5imIhle+XBsHI9/PVUoFCBp7JOZbSjGiS92mx7IE0SICRkC/Yw2GSZECpIsYYwEmWGkDGIAAAAIQAY4QMEA6Nvc7G6aaYzKQlUs/x/O99VywsZcZd33w++l9/NbN6Z905MSqPGYO10QDYGCI1EIQQGMdzkzCo+G4pb5eY7blWKhKadiZ92yYsFWoYpwhRv0A4h/4oK5Zcl9nGAMLUgEYYMAZAmhBkM6KkoYpVIRjU47SRRUuVlXRlUZ08nxDyi50na+2jV1r9tTjK/DwYqgFRLHMuYdhCMou1bg64a0M15yKiCyCcLJlJspl+e6x3QNtuv1TbKIwHxpHIZDEYorGFh32eK3h+yc06XYqA2MyyLCmk0lobAFC04NsTyCGjOAbrp5svrs/N1sqeRegKscrF2aiz1ZfJweZPjLzojB0fdPcqFcv481592Y15KiKOLBDyd
	OPw1b37JZ3Qosdspk2Eh71iZ3MmJafLE/2l4w/pjBiiRMVJKjOtLItypb18LkxCmSilAIAorQCA0nLl0lGSqY5kyCP55bFpOwvW1vo79+7vb+z5yjSF1Wg9RaNNjKxRlObPnd/c+UurPFMZPzO5cPpcIt/c/HApaZp+Jzoa6FKhcu4kogzZFGmEGgczG6v1O+8uLp1eQ0VdOrXuLFqu0mAwwZkUCBOMmJAKDAIgAJq88f1/NucwtbZqaXP9pfNnFxY++ujmI4OZVzoYHfKtxnrY2PFAS46yuJTPNzvNYXvbDJsvTfr/5PSJl3/676cbhzvPV4ccbN9KTCoHHYa5xQoZRPpglw1SEim5tzN58KSc4b1LFzEmFiMEYwCSca01MsYAAoyRUYrGgjXOXfgbg8aE5hPV8vsPPr7XHJaPn4x6MY0GjsUWvnxy+dLSB7+43W6zN77y9Q/e/3ENvMvI/dO4WftX/xzidDvrO7Mnxqt+P0kshcCyRj2pe89zKSKxVjrWWKs4balUO/s26MwgqZU2JsmkUhjAAPpr0ACA3vjKydHuAa56B2u7Hz59qDFOkD149x1n9VkW81LevvCH54b5ztiY/+rLr7zxu1+TwdEr99deD0Ln1tMw4ixVhVpuemZGYT5W8JQCgyAMR1whY1IGqRI8E1ks0m2pnqq0k6ogUpgRroBLDQgjDBgTjAEUUgDUJI16Se7sbcWdfoxdzrRUwj7aV1I7165Mnjhx+oLz2+CTyclL3/2D74ApfOFr3w4Hf7778/dmSclIzoXKTy6n2QBrjRQyBPdGQ6RVlCQ8TXScMGk8iwWErsV8Z/58J9KZ0IgbBJgQiok2BghBCCFjMACQlesvrzjY/tWtOM0EoZwCU0Ym2ag+VZ5fLOf9xZXph61s8dibtdpYnApmFe3JmX6372UByfg+wKNOt+hYSgHBNjiesW3H9SyhqEKJlE2ZHiSjrVS2c8Xm639nhEoACAzGhDCGKSVKGQ
	AwBgECxQXNuz7uD1QvQFJEeeOm0iiFBbDu/uEzwW8O+P826hu/d6v0/PTx5Y8/ee/l66/lFqdqb9xQ//pRJ+KBwfmp8U1tmkgnXqaxbPd6/V4fJ1kJ6JQhderZ1OvE/aYSfeKBAYSQQVgbI5Q2UgMgBMgYAxgBAE1U6uQKuS9e7310qzwQ2pDUghR4JU3UZji07BfFamHtIF00O839zx7ceeXaFxGY/J1Hz1sHPEGHDlnTreLkyeNXrpQLDgjtBHF+GI6i4VEYfnpwpAejvNBnUdG2qkBdw4w2Bhv0eXeZzwMfIYQ+7zKgc7VynCux73176ktXV//ix6Onq67RxIhEGTDSHybQH4Xt6LU3317f2pycmGJUVxudOZ+o6Zn764dB0YHx6dCwp88eIYSIxpLLIIziLJbSOAKEW9QlZ7Posijv5awsSw1yDMIAGMAgZBBCGGNjDEJGAdCJnI9thwHLFr3pt9+e3Wl2W41fbj1NlD51sHvmxeP1YfqMya9fvfaf//E/3T/cfPP6K8vv3Wz/3w/SxiBPaDFUeGZ6V2Sd7UOtACmkpeRSaI0wMogZYzNk05KfG5Z8q5a9bBeaA90P0kRixGyuPqddY4wwQgKAFosVQjEANjF1lFIz4/1x50g0kyR+uVi79jtf/vmHL4LKhZ7WreYWMbH5b/8zu3vHGkUZlxjrSOkzy/Px/n5fYxAxNUCNIdhIojEhmDFM3By2sWdJNlajeKmUnqiwQNuRZJ0I398LDVBkABPABgEA7o/CMEhlplzHKlZL1WJVY4LB5Ci6+p2rvRv1uxm8evba/Qe/UaPuDUEXP/kNTdJewqtV/+zlK9yQnfWtdrsVp+koEWEmpQELUwcTqrGMVZpEiUqVU43PflUzLR2pbFqkenncKniZsRNjcaAcocRmGQBQh1kIISmllJLrbG/3oCujE7PHahYo8eDu46fUqawsLzx4+vEZN/eHQcJHyVBjz5DqsYWOwDm/nmP52TF
	vY79x1O4bKcp5b7JWIQoNklRhYhvKjBkfCrf3xJ7+ijVKo+TAsQuO4wKlDsMGpRRjlYm8U+wBp57jWrYlpFRKGa7G56b/4i//x0Hj4OKU9/03Tj3e3BuvFvP1QhJmf2Zcuz/UhGiNWK3a7US8Ovvaq7/zcXenmfWqrmdKpTRLGCO9KELGhJmIOHcZLY9XGo3BBTrUJxuzCtJ8refnuDY6EwRjbaRnA3OxjQ0AUK2U4EIZrYw2gIYyzVQyNV48e9wzRt6729p5sl+2ci8/+Gy80x5hMFIBsZOyf4TIrC4Uld05bChP+kpZNo4RywAERgyTPCJgO1bBmfALzb3B5msXrg0UqxaG5QJgy0UMrIxYjAhHZ4HtJVW3uAaCUkYNGAxGKYkBd/pNC2AizxYq/LPHn9hWfb4eFxob59cakhpXmIaCnGu9u7td9MdajTsvnbxAmY94YEFojOEGEcYQAYSY4VEx79J8QQ+yiPlBFq/aE1Gt7BmTwwo7jh5wjDlxGDWKMGKMAgBsW45t2TazGWHI0hs7G1oJIgavXjmTCKcXwJeuXsv+zwexyhLmxoRix3rEUAv0++3tDweHdzafvlZfxH6RS8cYAkAPW/0Xe612t2sAwNC0nz67t+rmcgEPW82+yEgqdZImo2Gnfbge9p6AaliuGsUj5lAAoJQxKYUCDYAEhkEYFPzCXA0q9eLme0m7K6auTgUf3ynYrCzprhJHBSdYnLX3jvSoNwrMzfbW7Y9aIaCwQMHlOS83XvWTRGDLihCkoyTujpiiBAOSYTKAOAjdXAFjLGTWae0/W3skwa3WJiYnpse9BQCgwyhCCAhBwOgoDErVCd1tLc2ge4+fBKHDjJk/fsrR76BhHBoIy6VoeSlFEmxKHNpN0rGJqbDbV9KwgWj3IlWQhGGlTXuUacvKMxtJhA3oLGZJL+Nht1M/eeZaq90wGDtu7tj8cYUsIU3J8yzKAAQVimdSICmlUQ93Xxw1W8cnxhYW
	wkKhY/C8X+ufq891Wy3P4Nsg26eWolx9dLC9P+wpZBKbNnv9AiGWlipNXEP1gGNKjJIFg0lmLJOWmS2UylMU91qWXw663X4nUAYjkNRxX9zd0oj4lclykTNCAIDatqORMVpJhNY21raP9lS0+bdeWd7ePXr8wlqaXiK//qDX3P20Nr41tZASRtSwhSRCUHVsZkO3F9qkgFKJDC4QprRSmcgTSjHFBjEwjtR5hEm7xxzmunkZhL1Od2F5th+2DQJDqF2ezo8vAcbUpABAkyTjUhjJRzrRQe9CsXj9st0ZbDVeDK8M7b+Nk+7qnaevfvVAC8G5ATTx2mtLRt7+d/+WpKHrWEnRO2gPxqUtMU4UV0bbzMKISCmBIKAUAGyAzvZWrmjZ1SJS/OHde/MzE2OVeqHgX3n5qnLHO/3UIO55GAAoF0pppbTuBoOEGkqsGqPXotlLvUp1pto8ffGdXuPFbz+lsSL5YovoW+++c2q8rmyLaocinCN6VLaToZFcYoM0xpHiHFAOU8aIBpAAgFEmZNLpmFpJsk5hciYeDmsTi/fuf7bX2auWx0rjc47v7j2+BXCRUoK4QQDQaB0Zg7SRhVSxx0NfzHWPrzxfXlj76EObxxqhv1p7fOLiJd8Ujp890z46HG5tGNAIKdtloRCJUjnMMAKsMEK4RbhCAhuMElkkdozAjIb5YZToZiDM5XNntQ2u5VKtGzsbe/tbpXye1SbBvkgJAMVYEzIajTyEj83YQ7/104Xhb37WvLGwEm3shUnAMhUiM1AZz9KjVmtydrpFCAeFMaYWtQBpn0mtBpkCpZAFiGLm2KAhHaY5REEjhJUDhAcxx05hLBcnaa1UKjALE+aVqpHIJienbBAAgEt+frxURBZRBkOuNF2lC2P4fif7JXa2uD7Y3+VxQlO5GwfMyecK+Xq1WB8b6yaBJEhqhRBGGGML56s+rnhW3XeqBavoEERFkFmAkdIIQR4wjlMRxx5zUgG3769qo
	U7MzLS7w04QGcs2zPbLPgDg3qAXh8PV7fXEoPm5xWIt543nRe585djS1vN7+MXDwfZGe9Dc63XSRBwcNOIoAgQjkQqGhdGAkNEaaUW0ylnUw9g1BIdKdsK8op4hNiUSa8VFvVI5ff6sSFOG2YOnG0kii26+6BeJxbjRSZpg1wMAbDMgFjxZvb+/u/X81ntJZysYos7hcNbLjy1MPtp6gkbdqD+oF6vFSs3NeTNT04NePwQtsNZAldYGIaUUaIkkRxrCME0GSQk7HmCiDQWEAQMCGcYXjh2zjQShohiGcXb1pQvH5ueLOafgOkaK2bEiAFDFZTcc2CpayMPSWO3kUn5zbXtwNNjfffTW3/9Hd29+mISBkWRhYf7333xzZqKUBaNOp9/ziqUgwSBSJGxqy0xrYUAZLkUUpXVs5zHJQEstkAFsMGNOOgiS++s05AiACp7G8Vi1xMPk5LFjbrGUQzA3UYOHQA1mz7e3D1qDAtNTp+cZNd2B+NaXvtjvqGrRs4pETXuHR73NezcDHTsMX7n2ansYzc2drnO7K5+vzEwqrtf3okAbkxgeZyCMTy0bUY1U9v/FmMUoaHPc5LOZY7/urk9Yo3H2eu+ou1ir/urxqtHZialp98wUAGAA9XhrPaH+SJPKhB+lfL2de//uemblk0hcml34g7feOHN+5eyZk6eXpoP2YaXsdzdXv3ugb9SXSi75va9d+4f/4I+/89aNotb9ILYFnrYLHsYUAUMYGQAD1CCCSd0tfPrg/hwH0ttctgN7dDjGu0sOdqmZKlvnj88SpAGAPtnYyESKVFTP8Zw16rUOW116FOPr5fqz7b2fP36hP+7zWAkplxdmEUEF1748O/7wg59MaOv7J065NzcOnrW8nKeo48lwxStSLi3QgCkiaATYGMMMgNG1QmlfxxO9Xtn1Ro2+UnDz5z+LgzTP0Hgtl7MhzmIAwI/XVgNBAqNXTh2v5Mwwg3Z3wEfJ7OxyHHPb9SNuEi
	64Ed1RmAjm58rbHz85qdCfzi2fHfH67sj+6EX6s0/hoPvW5Mmq5MwimlCikUXtIYOYIYWUz1impU75ve6WzeHK+OKf/+AHYchVKuJRsLrTfHHY6A77AEAnZ6bBXc6ePj+1UOmPntxfkx3t5yzI5Uu7e3sYEDKmXirisisJnqxPH7Q68aD3rYVllkQJF6GUsRQmiE4j9/Wpkz9tHhGtDSUKACgOmcmQdhS1LDvLMoOwjJJ4d/ir4cfP0qaA23pxWc5N0FKhnQiLMQCgFceSFl24dPwLF4s/efe2P3llmoAbB5ZLw3gYxFE/jkdZNl8udA47KyunB72jb1Qn7c5gmGVcqJTzkVbAzY1TV89fvHR398nBYMgNikD5mhSQHWJuXM/OFaJhKLHhowAIWfjGl7b3nwbx8Nw3f9cCEDJjXAeDEQCQOGjFRzsny8FkRe43i0+fH2jIn5qZkxG/fft+rlDNlSYzxOanZxuj/hfPnLu+erCyvquSmKd6oOORkoMw+VTEb37hm6oXzdq5o2DU0akUMnbJhhgUHHeCelRBnGXDLAGDLMcrvHJ58dtvfXC4tdntCQG+bU/MTPl8sD5cIlMztSAOvvX6ceJEO3tHn7z3JG20XJleu3w1ToPdvQ0j+GS9/vWv3Xjl1Onru935W59ClnZGQ4sxi7FA8N+OBs8QOZqvD20z7fpoGDbikIMwMiNSlRG1DVWZiHiCCHUtG1vW+T/6fXDtrfZRnGSDqN8bdMbLpaS909EXaYBYKafPXl367PH9nd0gzTRRoWPnKWJ/81vfPnNy5Yc//OGt28/nHHhjoz03AD4cZdgUixULcJylFnZ7AOlYuXjj5R/9x//033cPr1VnRjKyLUtkkRYyFIJDUsv5DsWI0ZFUr/2977Gx+iCJDnu9IAgRNYVqaTjomFEEOaA2QV//8qLD0t2do62dWChIs2R8cqbgl0DJ4/NLb//dtzvd7kub2xceHQUqjJDqRmHQjQuOqyn
	ZiaKpyoRz4wuXzr70/MTyi8bR+72NEqPVTGL4a1NvIQRK5Cw3MDBz+RI6tpAAhJIzy65WEGOEYEhF5iv6+VE0F05P+f7Ui61Od4iV1hb1p6amM5USQFoh368t5IvjP/m1ylIuJAhFCGXMotQyjGCbbzX39p88Pvyv/8V2XZT3yED2sHYskteYCcIwBg0DwTVzZLkQ1XyTSuvzgUCpEglFVGMMmNSrzpEAim310sWX7j5ZI9Zc5/ARF6w651dqVSllKIWJhxF3is9XaaPNNOQsBkAdLRLCNMbNLBYGIbcgbdJu7iEpjO+aOE45fxIPl73SuFeORBpgaSwmPUp8ZutU89S1LRwazKgyFkLYY7bHnIXp4sNtoCtLtYnx8n/40Y+2d5U21PfL/+YH/5JqY7v5Ti950DksKlV4+CQnpaY441xzJUBigjMpM6N247ANOGKUKAnaOPliRILBsJ8geDDq1ZhjuzatFsMoKlBdMUbE8aDfY5S5tnvp8pWUZzzL0iR2bdbpHALA/wMUjQteOh3xIgAAAABJRU5ErkJggg==
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 08 of 10 [RFC]] xl: Introduce First Fit
 memory-wise placement of guests on nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3055614114624587010=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3055614114624587010==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-6C60f7a+kgUahT5xki3b"


--=-6C60f7a+kgUahT5xki3b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-03 at 14:41 +0100, George Dunlap wrote:=20
> >> Why are "nodes_policy" and "num_nodes_policy" not passed in along with
> >> b_info?
> > That was my first implementation. Then I figured out that I want to do
> > the placement in _xl_, not in _libxl_, so I really don't need to muck u=
p
> > build info with placement related stuff. Should I use b_info anyway,
> > even if I don't need these fields while in libxl?
> Ah right -- yeah, probably since b_info is a libxl structure, you=20
> shouldn't add it in there.  But in that case you should probably add=20
> another xl-specific structure and pass it through, rather than having=20
> global variables, I think.  It's only used in the handful of placement=
=20
> functions, right?
>
It is and yes, I can and will try to "pack" it better. Thanks.

> > - which percent should I try, and in what order? I mean, 75%/25%
> >     sounds reasonable, but maybe also 80%/20% or even 60%/40% helps you=
r
> >     point.
> I had in mind no constraints at all on the ratios -- basically, if you=
=20
> can find N nodes such that the sum of free memory is enough to create=20
> the VM, even 99%/1%, then go for that rather than looking for N+1. =20
> Obviously finding a more balanced option would be better.=20
>
I see, and this looks both reasonable and doable with reasonable
effort. :-)

> One option=20
> would be to scan through finding all sets of N nodes that will satisfy=
=20
> the criteria, and then choose the most "balanced" one.  That might be=20
> more than we need for 4.2, so another option would be to look for evenly=
=20
> balanced nodes first, then if we don't find a set, look for any set. =20
> (That certainly fits with the "first fit" description!)
>
Yep, that would need some extra effort that we might want to postpone. I
like what you proposed above and I'll look into putting it together
without turning xl too much into a set-theory processing machine. ;-D

> > - suppose I go for 75%/25%, what about the scheduling oof the VM?
> Haha -- yeah, for a research paper, you'd probably implement some kind=
=20
> of lottery scheduling algorithm that would schedule it on one node 75%=
=20
> of the time and another node 25% of the time. :-) =20
>
That would be awesome. I know a bunch of people that would manage in
getting at leat 3 or 4 publications out of this idea (one about the
idea, one about the implementation, one about the statistical
guarantees, etc.). :-P :-P

> But I think that just=20
> making the node affinity equal to both of them will be good enough for=
=20
> now.  There will be some variability in performance, but there will be=
=20
> some of that anyway depending on what node's memory the guest happens to=
=20
> use more.
>
Agreed. I'm really thinking about taking your suggestion about keeping
thee layout "fluid" and then set the affinity to all of the involved
nodes. Thanks again.

> This actually kind of a different issue, but I'll bring it up now=20
> because it's related.  (Something to toss in for thinking about in 4.3=
=20
> really.)  Suppose there are 4 cores and 16GiB per node, and a VM has 8=
=20
> vcpus and 8GiB of RAM.  The algorithm you have here will attempt to put=
=20
> 4GiB on each of two nodes (since it will take 2 nodes to get 8 cores). =
=20
> However, it's pretty common for larger VMs to have way more vcpus than=
=20
> they actually use at any one time.  So it might actually have better=20
> performance to put all 8GiB on one node, and set the node affinity=20
> accordingly.  In the rare event that more than 4 vcpus are active, a=20
> handful of vcpus will have all remote accesses, but the majority of the=
=20
> time, all of the cpus will have local accesses.  (OTOH, maybe that=20
> should be only a policy thing that we should recommend in the=20
> documentation...)
>=20
That makes a lot of sense, and I was also thinking along the very same
line. Once we'll have a proper mechanism to account for CPU load we
could put another policing re this thing, i.e., once we've got all the
information about the memory, what should we do with respect to (v)cpus?
Should we spread the load or prefer some more "packed" placement? Again,
I think we can both add more tunables and also make things dynamic
(e.g., have all the 8 vcpus on the 4 cpus of a node and, if they're
generating too much remote accesses, expand the node affinity and move
some of the memory) when we'll have more of the mechanism in place.

> Dude, this is open source.  Be opinionated. ;-)
>=20
Thanks for the advice... From now on, I'll do my best! :-)

> What do you think of my suggestions above?
>
As I said, I actually like it.

> I think if the user specifies a nodemap, and that nodemap doesn't have=
=20
> enough memory, we should throw an error.
>=20
Agreed.

> If there's a node_affinity set, no memory on that node, but memory on a=
=20
> *different* node, what will Xen do?  It will allocate memory on some=20
> other node, right?
>=20
Yep.

> So ATM even if you specify a cpumask, you'll get memory on the masked=20
> nodes first, and then memory elsewhere (probably in a fairly random=20
> manner); but as much of the memory as possible will be on the masked=20
> nodes.  I wonder then if we shouldnt' just keep that behavior -- i.e.,=
=20
> if there's a cpumask specified, just return the nodemask from that mask,=
=20
> and let Xen put as much as possible on that node and let the rest fall=
=20
> where it may.
>=20
Well, sounds reasonable after all, and I'm pretty sure it would simplify
the code a bit, which is something not bad at all. So yes, I'm inclined
to agree on this.

> > However, if what you mean is I could check beforehand whether or not th=
e
> > user provided configuration will give us enough CPUs and avoid testing
> > scenarios that are guaranteed to fail, then I agree and I'll reshape th=
e
> > code to look like that. This triggers the heuristics re-designing stuff
> > from above again, as one have to decide what to do if user asks for
> > "nodes=3D[1,3]" and I discover (earlier) that I need one more node for
> > having enough CPUs (I mean, what node should I try first?).
> No, that's not exactly what I meant.  Suppose there are 4 cores per=20
> node, and a VM has 16 vcpus, and NUMA is just set to auto, with no other=
=20
> parameters.  If I'm reading your code right, what it will do is first=20
> try to find a set of 1 node that will satisfy the constraints, then 2=20
> nodes, then 3, nodes, then 4, &c.  Since there are at most 4 cores per=
=20
> node, we know that 1, 2, and 3 nodes are going to fail, regardless of=20
> how much memory there is or how many cpus are offline.  So why not just=
=20
> start with 4, if the user hasn't specified anything?  Then if 4 doesn't=
=20
> work (either because there's not enough memory, or some of the cpus are=
=20
> offline), then we can start bumping it up to 5, 6, &c.
>=20
Fine, I got it now, thanks for clarifying (both here and in the other
e-mail). I'll look into that and, if it doesn't cost too much
thinking/coding/debugging time, I'll go for it.

> That's what I was getting at -- but again, if it makes it too=20
> complicated, trading a bit of extra passes for a significant chunk of=20
> your debugging time is OK. :-)
>=20
I'll sure act like this. I really want this thing out ASAP.

> Well, if the user didn't specify anything, then we can't contradict=20
> anything he specified, right? :-)  If the user doesn't specify anything,=
=20
> and the default is "numa=3Dauto", then I think we're free to do whatever=
=20
> we think is best regarding NUMA placement; in fact, I think we should=20
> try to avoid failing VM creation if it's at all possible.  I just meant=
=20
> what I think we should do if the user asked for specific NUMA nodes or a=
=20
> specific number of nodes.
>
I agree, and it should be easy enough to discern in which of these two
situations we are and act accordingly.

> It seems like we have a number of issues here that would be good for=20
> more people to come in on --=20
>
This is something I really would enjoy a lot!

> what if I attempt to summarize the=20
> high-level decisions we're talking about so that it's easier for more=20
> people to comment on them?
>=20
That would be very helpful, indeed.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-6C60f7a+kgUahT5xki3b
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+inSsACgkQk4XaBE3IOsSuFgCfaAf0x++ZGvjHfMIDIRJto3J5
AyIAn0La1PbL7QsWSLOZSGK+8xBc8hXI
=DeiO
-----END PGP SIGNATURE-----

--=-6C60f7a+kgUahT5xki3b--



--===============3055614114624587010==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3055614114624587010==--



From xen-devel-bounces@lists.xen.org Thu May 03 15:37:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:37:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPy5K-0001pI-Q3; Thu, 03 May 2012 15:36:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SPy5K-0001pD-3U
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:36:50 +0000
Received: from [85.158.143.35:19028] by server-2.bemta-4.messagelabs.com id
	83/2F-17550-116A2AF4; Thu, 03 May 2012 15:36:49 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336059377!11409831!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTY5MjQ=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTY5MjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6591 invoked from network); 3 May 2012 15:36:18 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 15:36:18 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGjy0GEL8=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-081-083.pools.arcor-ip.net [88.65.81.83])
	by smtp.strato.de (joses mo60) (RZmta 28.16 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id x02e32o43CqZZS ;
	Thu, 3 May 2012 17:36:17 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id C190918637; Thu,  3 May 2012 17:36:16 +0200 (CEST)
Date: Thu, 3 May 2012 17:36:16 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120503153616.GA10918@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336058302.20716.100.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, Ian Campbell wrote:

> Olaf did you actually test this change with vtpm enabled in the build?

Yes, I did.
However, after leaving for vacation I wondered myself if this change is
the right approach given that it changes the context of a patch.
Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
disabled for some reason. I will double check.

In any case, the Makefiles in the vtpm directory need some more changes.
Ross, do you actually run the vtpm code? I did just compile tests.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:37:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:37:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPy5K-0001pI-Q3; Thu, 03 May 2012 15:36:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SPy5K-0001pD-3U
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:36:50 +0000
Received: from [85.158.143.35:19028] by server-2.bemta-4.messagelabs.com id
	83/2F-17550-116A2AF4; Thu, 03 May 2012 15:36:49 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336059377!11409831!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTY5MjQ=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTY5MjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6591 invoked from network); 3 May 2012 15:36:18 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 15:36:18 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGjy0GEL8=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-081-083.pools.arcor-ip.net [88.65.81.83])
	by smtp.strato.de (joses mo60) (RZmta 28.16 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id x02e32o43CqZZS ;
	Thu, 3 May 2012 17:36:17 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id C190918637; Thu,  3 May 2012 17:36:16 +0200 (CEST)
Date: Thu, 3 May 2012 17:36:16 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120503153616.GA10918@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336058302.20716.100.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, Ian Campbell wrote:

> Olaf did you actually test this change with vtpm enabled in the build?

Yes, I did.
However, after leaving for vacation I wondered myself if this change is
the right approach given that it changes the context of a patch.
Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
disabled for some reason. I will double check.

In any case, the Makefiles in the vtpm directory need some more changes.
Ross, do you actually run the vtpm code? I did just compile tests.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:37:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:37:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPy5x-0001rq-7X; Thu, 03 May 2012 15:37:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SPy5v-0001rd-FQ
	for xen-devel@lists.xen.org; Thu, 03 May 2012 15:37:27 +0000
Received: from [85.158.143.35:23068] by server-2.bemta-4.messagelabs.com id
	F5/00-17550-636A2AF4; Thu, 03 May 2012 15:37:26 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336059441!13603031!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15315 invoked from network); 3 May 2012 15:37:23 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 15:37:23 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 800B410211D74;
	Thu,  3 May 2012 08:37:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id kyGZSFFXa-XP; Thu,  3 May 2012 08:37:17 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id D0FA310211D6F;
	Thu,  3 May 2012 08:37:16 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
Date: Thu, 3 May 2012 08:37:16 -0700
Message-Id: <7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
References: <0DC43CA6-6F9A-4C8D-BB7C-785D646C5474@tacomatelematics.com>
	<alpine.DEB.2.00.1204241128400.26786@kaball-desktop>
	<9AE360C4-B0F2-4672-9C5D-CF9CD1E1C4AA@tacomatelematics.com>
	<alpine.DEB.2.00.1204241356300.26786@kaball-desktop>
	<FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
To: xen-devel@lists.xen.org
X-Mailer: Apple Mail (2.1084)
Cc: great.potato@gmail.com
Subject: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Hey folks...

This is with the same packages and such that I've been work on with Arch, and I encountered an odd crash.   If I need to move this thread to Xen-users or whatnot, apologies and please let me know.

The packages that I've been working with functioned great in the desktop VM, and worked wonderfully in PV and HVM on my test hardware (an HP server with Intel Xeons), but crashes right out of the gate on my production server (Tyan motherboard with Opteron 8356s).   When I move the kernel back to a 2.6.32.18 pvops kernel I had been using, I can boot and run VMs without trouble.

Incidentally, I can now boot as many VMs as I like as long as the memory holds out, so the initial trouble that got all of this started looks like it's been fixed.


Everything looks normal until Xen hands off to the kernel, then I get this:

[    0.000000] Cannot find 20480 bytes in node 1
[    0.000000] BUG: unable to handle kernel NULL pointer dereference at           (null)
[    0.000000] IP: [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
[    0.000000] PGD 0 
[    0.000000] Oops: 0000 [#1] PREEMPT SMP 
[    0.000000] CPU 0 
[    0.000000] Modules linked in:
[    0.000000] 
[    0.000000] Pid: 0, comm: swapper Not tainted 3.3.4-1-ARCH #1 empty empty/S3992
[    0.000000] RIP: e030:[<ffffffff818d5704>]  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
[    0.000000] RSP: e02b:ffffffff81801de8  EFLAGS: 00010046
[    0.000000] RAX: 0000000000000000 RBX: 0000000000000378 RCX: 0000000000000000
[    0.000000] RDX: 0000000000000040 RSI: 0000000000000378 RDI: 0000000000000000
[    0.000000] RBP: ffffffff81801e08 R08: 0000000000000000 R09: ffffffff81801d98
[    0.000000] R10: ffffffff81801d88 R11: ffffffff81801d90 R12: 0000000000000040
[    0.000000] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001
[    0.000000] FS:  0000000000000000(0000) GS:ffffffff8189f000(0000) knlGS:0000000000000000
[    0.000000] CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.000000] CR2: 0000000000000000 CR3: 0000000001805000 CR4: 0000000000000660
[    0.000000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    0.000000] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
[    0.000000] Process swapper (pid: 0, threadinfo ffffffff81800000, task ffffffff8180d020)
[    0.000000] Stack:
[    0.000000]  0000000000080000 0000000000000378 000000000000003c ffff88003fbfa000
[    0.000000]  ffffffff81801e68 ffffffff818d63f0 ffffffff81801e48 00000001818d53bc
[    0.000000]  ffff88003fbf9fe0 0000000000000000 000000000282c000 ffff88003fbfa000
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff818d63f0>] sparse_early_usemaps_alloc_node+0x63/0x1c4
[    0.000000]  [<ffffffff818d677b>] sparse_init+0xf8/0x2c8
[    0.000000]  [<ffffffff818ca4d2>] paging_init+0x13/0x22
[    0.000000]  [<ffffffff818b9dca>] setup_arch+0x9f2/0xac0
[    0.000000]  [<ffffffff814562d2>] ? printk+0x41/0x43
[    0.000000]  [<ffffffff818b491b>] start_kernel+0xd4/0x3d1
[    0.000000]  [<ffffffff818b4346>] x86_64_start_reservations+0x131/0x135
[    0.000000]  [<ffffffff818b69c9>] xen_start_kernel+0x598/0x59f
[    0.000000] Code: 4c 89 e9 4c 89 e2 48 89 de bf 40 00 00 00 e8 0f fc ff ff eb 34 41 8b 96 a0 40 00 00 be 00 80 00 00 48 89 d 
[    0.000000] RIP  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
[    0.000000]  RSP <ffffffff81801de8>
[    0.000000] CR2: 0000000000000000
[    0.000000] ---[ end trace a7919e7f17c0a725 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.

----

This is the same kernel I've been using in the two testing machines.    The server is, incidentally, the same server that houses the mail server I'm on, so I'm cc'ing a gmail address, if you could include it in your replies, I'd appreciate it.

Thanks!

-- 
Sam Mulvey
Tacoma Telematics
sam@tacomatelematics.com
(253) 883-3030 x110





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:37:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:37:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPy5x-0001rq-7X; Thu, 03 May 2012 15:37:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SPy5v-0001rd-FQ
	for xen-devel@lists.xen.org; Thu, 03 May 2012 15:37:27 +0000
Received: from [85.158.143.35:23068] by server-2.bemta-4.messagelabs.com id
	F5/00-17550-636A2AF4; Thu, 03 May 2012 15:37:26 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336059441!13603031!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15315 invoked from network); 3 May 2012 15:37:23 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 15:37:23 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 800B410211D74;
	Thu,  3 May 2012 08:37:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id kyGZSFFXa-XP; Thu,  3 May 2012 08:37:17 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id D0FA310211D6F;
	Thu,  3 May 2012 08:37:16 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
Date: Thu, 3 May 2012 08:37:16 -0700
Message-Id: <7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
References: <0DC43CA6-6F9A-4C8D-BB7C-785D646C5474@tacomatelematics.com>
	<alpine.DEB.2.00.1204241128400.26786@kaball-desktop>
	<9AE360C4-B0F2-4672-9C5D-CF9CD1E1C4AA@tacomatelematics.com>
	<alpine.DEB.2.00.1204241356300.26786@kaball-desktop>
	<FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
To: xen-devel@lists.xen.org
X-Mailer: Apple Mail (2.1084)
Cc: great.potato@gmail.com
Subject: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Hey folks...

This is with the same packages and such that I've been work on with Arch, and I encountered an odd crash.   If I need to move this thread to Xen-users or whatnot, apologies and please let me know.

The packages that I've been working with functioned great in the desktop VM, and worked wonderfully in PV and HVM on my test hardware (an HP server with Intel Xeons), but crashes right out of the gate on my production server (Tyan motherboard with Opteron 8356s).   When I move the kernel back to a 2.6.32.18 pvops kernel I had been using, I can boot and run VMs without trouble.

Incidentally, I can now boot as many VMs as I like as long as the memory holds out, so the initial trouble that got all of this started looks like it's been fixed.


Everything looks normal until Xen hands off to the kernel, then I get this:

[    0.000000] Cannot find 20480 bytes in node 1
[    0.000000] BUG: unable to handle kernel NULL pointer dereference at           (null)
[    0.000000] IP: [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
[    0.000000] PGD 0 
[    0.000000] Oops: 0000 [#1] PREEMPT SMP 
[    0.000000] CPU 0 
[    0.000000] Modules linked in:
[    0.000000] 
[    0.000000] Pid: 0, comm: swapper Not tainted 3.3.4-1-ARCH #1 empty empty/S3992
[    0.000000] RIP: e030:[<ffffffff818d5704>]  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
[    0.000000] RSP: e02b:ffffffff81801de8  EFLAGS: 00010046
[    0.000000] RAX: 0000000000000000 RBX: 0000000000000378 RCX: 0000000000000000
[    0.000000] RDX: 0000000000000040 RSI: 0000000000000378 RDI: 0000000000000000
[    0.000000] RBP: ffffffff81801e08 R08: 0000000000000000 R09: ffffffff81801d98
[    0.000000] R10: ffffffff81801d88 R11: ffffffff81801d90 R12: 0000000000000040
[    0.000000] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001
[    0.000000] FS:  0000000000000000(0000) GS:ffffffff8189f000(0000) knlGS:0000000000000000
[    0.000000] CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.000000] CR2: 0000000000000000 CR3: 0000000001805000 CR4: 0000000000000660
[    0.000000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    0.000000] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
[    0.000000] Process swapper (pid: 0, threadinfo ffffffff81800000, task ffffffff8180d020)
[    0.000000] Stack:
[    0.000000]  0000000000080000 0000000000000378 000000000000003c ffff88003fbfa000
[    0.000000]  ffffffff81801e68 ffffffff818d63f0 ffffffff81801e48 00000001818d53bc
[    0.000000]  ffff88003fbf9fe0 0000000000000000 000000000282c000 ffff88003fbfa000
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff818d63f0>] sparse_early_usemaps_alloc_node+0x63/0x1c4
[    0.000000]  [<ffffffff818d677b>] sparse_init+0xf8/0x2c8
[    0.000000]  [<ffffffff818ca4d2>] paging_init+0x13/0x22
[    0.000000]  [<ffffffff818b9dca>] setup_arch+0x9f2/0xac0
[    0.000000]  [<ffffffff814562d2>] ? printk+0x41/0x43
[    0.000000]  [<ffffffff818b491b>] start_kernel+0xd4/0x3d1
[    0.000000]  [<ffffffff818b4346>] x86_64_start_reservations+0x131/0x135
[    0.000000]  [<ffffffff818b69c9>] xen_start_kernel+0x598/0x59f
[    0.000000] Code: 4c 89 e9 4c 89 e2 48 89 de bf 40 00 00 00 e8 0f fc ff ff eb 34 41 8b 96 a0 40 00 00 be 00 80 00 00 48 89 d 
[    0.000000] RIP  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
[    0.000000]  RSP <ffffffff81801de8>
[    0.000000] CR2: 0000000000000000
[    0.000000] ---[ end trace a7919e7f17c0a725 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.

----

This is the same kernel I've been using in the two testing machines.    The server is, incidentally, the same server that houses the mail server I'm on, so I'm cc'ing a gmail address, if you could include it in your replies, I'd appreciate it.

Thanks!

-- 
Sam Mulvey
Tacoma Telematics
sam@tacomatelematics.com
(253) 883-3030 x110





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:38:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:38:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPy6V-0001vF-Pk; Thu, 03 May 2012 15:38:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SPy6T-0001v0-Jm
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:38:01 +0000
Received: from [85.158.143.35:24813] by server-1.bemta-4.messagelabs.com id
	EC/35-20925-856A2AF4; Thu, 03 May 2012 15:38:00 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336059476!11431520!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2380 invoked from network); 3 May 2012 15:37:58 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 15:37:58 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q43Fbhq9003870
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 3 May 2012 11:37:43 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q43Fbhco003868;
	Thu, 3 May 2012 11:37:43 -0400
Date: Thu, 3 May 2012 11:37:43 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: David Vrabel <dvrabel@cantab.net>
Message-ID: <20120503153743.GA3464@andromeda.dapyr.net>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-9-git-send-email-konrad.wilk@oracle.com>
	<4FA272CD.90808@cantab.net>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA272CD.90808@cantab.net>
User-Agent: Mutt/1.5.9i
Cc: david.vrabel@citrix.com, xen-devel@lists.xensource.com,
	linux-kernel@vger.kernel.org, JBeulich@suse.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 8/8] xen/setup: Combine the two hypercall
	functions - since they are quite similar.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 12:58:05PM +0100, David Vrabel wrote:
> On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> > They use the same set of arguments, so it is just the matter
> > of using the proper hypercall.
> > 
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> Acked-by: David Vrabel <david.vrabel@citrix.com>
> 
> But would it be better to fold this into the previous patch?

Nah, one logical change per patch.
> 
> David
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:38:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:38:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPy6V-0001vF-Pk; Thu, 03 May 2012 15:38:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SPy6T-0001v0-Jm
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:38:01 +0000
Received: from [85.158.143.35:24813] by server-1.bemta-4.messagelabs.com id
	EC/35-20925-856A2AF4; Thu, 03 May 2012 15:38:00 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336059476!11431520!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2380 invoked from network); 3 May 2012 15:37:58 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 15:37:58 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q43Fbhq9003870
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 3 May 2012 11:37:43 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q43Fbhco003868;
	Thu, 3 May 2012 11:37:43 -0400
Date: Thu, 3 May 2012 11:37:43 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: David Vrabel <dvrabel@cantab.net>
Message-ID: <20120503153743.GA3464@andromeda.dapyr.net>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<1334596539-18172-9-git-send-email-konrad.wilk@oracle.com>
	<4FA272CD.90808@cantab.net>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA272CD.90808@cantab.net>
User-Agent: Mutt/1.5.9i
Cc: david.vrabel@citrix.com, xen-devel@lists.xensource.com,
	linux-kernel@vger.kernel.org, JBeulich@suse.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 8/8] xen/setup: Combine the two hypercall
	functions - since they are quite similar.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 12:58:05PM +0100, David Vrabel wrote:
> On 16/04/12 18:15, Konrad Rzeszutek Wilk wrote:
> > They use the same set of arguments, so it is just the matter
> > of using the proper hypercall.
> > 
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> Acked-by: David Vrabel <david.vrabel@citrix.com>
> 
> But would it be better to fold this into the previous patch?

Nah, one logical change per patch.
> 
> David
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:46:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:46:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyEh-0002JB-Sf; Thu, 03 May 2012 15:46:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SPyEg-0002J1-RS
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:46:31 +0000
Received: from [85.158.138.51:6403] by server-10.bemta-3.messagelabs.com id
	FE/3B-29478-658A2AF4; Thu, 03 May 2012 15:46:30 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336059987!14091335!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18524 invoked from network); 3 May 2012 15:46:28 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 15:46:28 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q43FkLel004214
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 3 May 2012 11:46:21 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q43FkKG8004212;
	Thu, 3 May 2012 11:46:20 -0400
Date: Thu, 3 May 2012 11:46:20 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Stefan Bader <stefan.bader@canonical.com>
Message-ID: <20120503154620.GB3464@andromeda.dapyr.net>
References: <4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA29A92.2040601@canonical.com>
User-Agent: Mutt/1.5.9i
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
	driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 04:47:46PM +0200, Stefan Bader wrote:
> On 03.05.2012 14:58, Stefan Bader wrote:
> 
> >>>>> So this shoudl solve the problem for the bootup processor.
> >>>>>>
> >>>>>> -boris
> >>>>>>
> >>>>>>
> >>>>>>> +    };
> >>>>>>> +    int ret = 0;
> >>>>>>> +
> >>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we only
> >>>>>>> +     * get called on the bootup processor. But just in case. */
> >>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
> >>>>>>> +        return 0;
> >>>>>>> +
> >>>>>>> +    if (reg == APIC_LVR)
> >>>>>>> +        return 0x10;
> >>>>>>> +
> >>>>>>> +    if (reg != APIC_ID)
> >>>>>>> +        return 0;
> >>>>>>> +
> >>>>>>> +    ret = HYPERVISOR_dom0_op(&op);
> >>>>>>> +    if (ret)
> >>>>>>> +        return 0;
> >>>>>>> +
> >>>>>>> +    return op.u.pcpu_info.apic_id;
> >>>>>>>   }
> >>>>>>>
> >>>>>>>   static void xen_apic_write(u32 reg, u32 val)
> > 
> > I added debugging to all exit paths that could return 0 (which is what the
> > boot_cpu_physical_apicid is set to with that patch. Which would only leave the
> > case of the HV call returning the wrong value somehow...
> > 
> Hmmm, so xen_apic_read is still correct...
> 
> [    0.000000] ACPI: Local APIC address 0xfee00000
> [    0.000000] xxx xen_apic_read(20)
> [    0.000000] xxx xen_apic_read -> 10
> [    0.000000] boot_cpu_physical_apicid = 0
> [    0.000000] xxx xen_apic_read(30)
> [    0.000000] +- apic version = 10
> 
> there seems to be a slightly strange tweak (at least for me) in read_apic_id...
> 
> static inline unsigned int read_apic_id(void)
> {
>         unsigned int reg;
> 
>         reg = apic_read(APIC_ID); // calls apic->read(reg)
> 
>         return apic->get_apic_id(reg);

Duh!! Let me spin out a new patch that will do this.
> }
> 
> 



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:46:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:46:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyEh-0002JB-Sf; Thu, 03 May 2012 15:46:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SPyEg-0002J1-RS
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:46:31 +0000
Received: from [85.158.138.51:6403] by server-10.bemta-3.messagelabs.com id
	FE/3B-29478-658A2AF4; Thu, 03 May 2012 15:46:30 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336059987!14091335!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18524 invoked from network); 3 May 2012 15:46:28 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 15:46:28 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q43FkLel004214
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Thu, 3 May 2012 11:46:21 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q43FkKG8004212;
	Thu, 3 May 2012 11:46:20 -0400
Date: Thu, 3 May 2012 11:46:20 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Stefan Bader <stefan.bader@canonical.com>
Message-ID: <20120503154620.GB3464@andromeda.dapyr.net>
References: <4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA29A92.2040601@canonical.com>
User-Agent: Mutt/1.5.9i
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
	driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 04:47:46PM +0200, Stefan Bader wrote:
> On 03.05.2012 14:58, Stefan Bader wrote:
> 
> >>>>> So this shoudl solve the problem for the bootup processor.
> >>>>>>
> >>>>>> -boris
> >>>>>>
> >>>>>>
> >>>>>>> +    };
> >>>>>>> +    int ret = 0;
> >>>>>>> +
> >>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we only
> >>>>>>> +     * get called on the bootup processor. But just in case. */
> >>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
> >>>>>>> +        return 0;
> >>>>>>> +
> >>>>>>> +    if (reg == APIC_LVR)
> >>>>>>> +        return 0x10;
> >>>>>>> +
> >>>>>>> +    if (reg != APIC_ID)
> >>>>>>> +        return 0;
> >>>>>>> +
> >>>>>>> +    ret = HYPERVISOR_dom0_op(&op);
> >>>>>>> +    if (ret)
> >>>>>>> +        return 0;
> >>>>>>> +
> >>>>>>> +    return op.u.pcpu_info.apic_id;
> >>>>>>>   }
> >>>>>>>
> >>>>>>>   static void xen_apic_write(u32 reg, u32 val)
> > 
> > I added debugging to all exit paths that could return 0 (which is what the
> > boot_cpu_physical_apicid is set to with that patch. Which would only leave the
> > case of the HV call returning the wrong value somehow...
> > 
> Hmmm, so xen_apic_read is still correct...
> 
> [    0.000000] ACPI: Local APIC address 0xfee00000
> [    0.000000] xxx xen_apic_read(20)
> [    0.000000] xxx xen_apic_read -> 10
> [    0.000000] boot_cpu_physical_apicid = 0
> [    0.000000] xxx xen_apic_read(30)
> [    0.000000] +- apic version = 10
> 
> there seems to be a slightly strange tweak (at least for me) in read_apic_id...
> 
> static inline unsigned int read_apic_id(void)
> {
>         unsigned int reg;
> 
>         reg = apic_read(APIC_ID); // calls apic->read(reg)
> 
>         return apic->get_apic_id(reg);

Duh!! Let me spin out a new patch that will do this.
> }
> 
> 



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:48:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:48:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyGp-0002Nx-Do; Thu, 03 May 2012 15:48:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SPyGn-0002Nn-F1
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:48:41 +0000
Received: from [85.158.143.99:5557] by server-3.bemta-4.messagelabs.com id
	FF/3B-05853-8D8A2AF4; Thu, 03 May 2012 15:48:40 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336060116!25459355!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE5MTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22236 invoked from network); 3 May 2012 15:48:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 15:48:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,524,1330923600"; d="scan'208";a="24824778"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:48:34 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.210]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi;
	Thu, 3 May 2012 11:48:34 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: Olaf Hering <olaf@aepfle.de>, Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 3 May 2012 11:48:37 -0400
Thread-Topic: [Xen-devel] vTPM patch does not apply
Thread-Index: Ac0pQtWkz1aloVS/TIe8xzqSV1FbUQAAQoGg
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DE6@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
In-Reply-To: <20120503153616.GA10918@aepfle.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Olaf Hering [mailto:olaf@aepfle.de]
> Sent: Thursday, May 03, 2012 11:36 AM
> To: Ian Campbell
> Cc: Ross Philipson; xen-devel@lists.xensource.com; Ian Jackson
> Subject: Re: [Xen-devel] vTPM patch does not apply
> 
> On Thu, May 03, Ian Campbell wrote:
> 
> > Olaf did you actually test this change with vtpm enabled in the build?
> 
> Yes, I did.
> However, after leaving for vacation I wondered myself if this change is
> the right approach given that it changes the context of a patch.
> Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> disabled for some reason. I will double check.
> 
> In any case, the Makefiles in the vtpm directory need some more changes.
> Ross, do you actually run the vtpm code? I did just compile tests.
> 
> Olaf

Olaf,

We are about to do some work with the vtpm code in our project. That is when I noticed it failed to build. When I reverted to a previous version of the vtpm patch it applied without issues. So no, we have not gotten it running but we are working on it. I can post the results on xen-devel once we know more if folks would like.

Thanks
Ross
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:48:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:48:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyGp-0002Nx-Do; Thu, 03 May 2012 15:48:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SPyGn-0002Nn-F1
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:48:41 +0000
Received: from [85.158.143.99:5557] by server-3.bemta-4.messagelabs.com id
	FF/3B-05853-8D8A2AF4; Thu, 03 May 2012 15:48:40 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336060116!25459355!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDE5MTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22236 invoked from network); 3 May 2012 15:48:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 15:48:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,524,1330923600"; d="scan'208";a="24824778"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 11:48:34 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.210]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi;
	Thu, 3 May 2012 11:48:34 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: Olaf Hering <olaf@aepfle.de>, Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 3 May 2012 11:48:37 -0400
Thread-Topic: [Xen-devel] vTPM patch does not apply
Thread-Index: Ac0pQtWkz1aloVS/TIe8xzqSV1FbUQAAQoGg
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DE6@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
In-Reply-To: <20120503153616.GA10918@aepfle.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Olaf Hering [mailto:olaf@aepfle.de]
> Sent: Thursday, May 03, 2012 11:36 AM
> To: Ian Campbell
> Cc: Ross Philipson; xen-devel@lists.xensource.com; Ian Jackson
> Subject: Re: [Xen-devel] vTPM patch does not apply
> 
> On Thu, May 03, Ian Campbell wrote:
> 
> > Olaf did you actually test this change with vtpm enabled in the build?
> 
> Yes, I did.
> However, after leaving for vacation I wondered myself if this change is
> the right approach given that it changes the context of a patch.
> Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> disabled for some reason. I will double check.
> 
> In any case, the Makefiles in the vtpm directory need some more changes.
> Ross, do you actually run the vtpm code? I did just compile tests.
> 
> Olaf

Olaf,

We are about to do some work with the vtpm code in our project. That is when I noticed it failed to build. When I reverted to a previous version of the vtpm patch it applied without issues. So no, we have not gotten it running but we are working on it. I can post the results on xen-devel once we know more if folks would like.

Thanks
Ross
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:57:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:57:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyPB-0002aw-G1; Thu, 03 May 2012 15:57:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SPyP9-0002ar-Mi
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:57:19 +0000
Received: from [85.158.143.35:46468] by server-2.bemta-4.messagelabs.com id
	D7/F8-17550-EDAA2AF4; Thu, 03 May 2012 15:57:18 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336060637!7441636!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODIzNjE=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODIzNjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16204 invoked from network); 3 May 2012 15:57:18 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 15:57:18 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGjy0GEL8=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-081-083.pools.arcor-ip.net [88.65.81.83])
	by smtp.strato.de (jored mo81) (RZmta 29.1 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id K036a0o43FhF1Q ;
	Thu, 3 May 2012 17:57:17 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id DECF518637; Thu,  3 May 2012 17:57:16 +0200 (CEST)
Date: Thu, 3 May 2012 17:57:16 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120503155716.GA14354@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120503153616.GA10918@aepfle.de>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, Olaf Hering wrote:

> Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> disabled for some reason. I will double check.

While preparing the patch I accidently disabled vtpm in my rpm spec
file, so the code was not exectued anymore.
Sorry for that.


I see some nice patch handing in tools/firmware/etherboot/Makefile,
which could be copied to tools/vtpm/Makefile. However, this would make
the make targets updatepatches and orig in tools/vtpm/Makefile obsolete.
Would that be an acceptable approach to maintain a stack of patches for
vtpm?

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 15:57:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 15:57:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyPB-0002aw-G1; Thu, 03 May 2012 15:57:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SPyP9-0002ar-Mi
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 15:57:19 +0000
Received: from [85.158.143.35:46468] by server-2.bemta-4.messagelabs.com id
	D7/F8-17550-EDAA2AF4; Thu, 03 May 2012 15:57:18 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336060637!7441636!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODIzNjE=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODIzNjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16204 invoked from network); 3 May 2012 15:57:18 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 15:57:18 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGjy0GEL8=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-081-083.pools.arcor-ip.net [88.65.81.83])
	by smtp.strato.de (jored mo81) (RZmta 29.1 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id K036a0o43FhF1Q ;
	Thu, 3 May 2012 17:57:17 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id DECF518637; Thu,  3 May 2012 17:57:16 +0200 (CEST)
Date: Thu, 3 May 2012 17:57:16 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120503155716.GA14354@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120503153616.GA10918@aepfle.de>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, Olaf Hering wrote:

> Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> disabled for some reason. I will double check.

While preparing the patch I accidently disabled vtpm in my rpm spec
file, so the code was not exectued anymore.
Sorry for that.


I see some nice patch handing in tools/firmware/etherboot/Makefile,
which could be copied to tools/vtpm/Makefile. However, this would make
the make targets updatepatches and orig in tools/vtpm/Makefile obsolete.
Would that be an acceptable approach to maintain a stack of patches for
vtpm?

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyUU-00038p-7s; Thu, 03 May 2012 16:02:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SPyUT-00038h-8O
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:02:49 +0000
Received: from [85.158.143.99:30758] by server-1.bemta-4.messagelabs.com id
	76/55-20925-82CA2AF4; Thu, 03 May 2012 16:02:48 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336060966!18843505!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzMzNTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9851 invoked from network); 3 May 2012 16:02:47 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:02:47 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 1C56E165E;
	Thu,  3 May 2012 19:02:44 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 5E91A2005D; Thu,  3 May 2012 19:02:44 +0300 (EEST)
Date: Thu, 3 May 2012 19:02:44 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Fantu <fantonifabio@tiscali.it>
Message-ID: <20120503160244.GQ2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336055231213-5683345.post@n5.nabble.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 07:27:11AM -0700, Fantu wrote:
> =

> Pasi K=E4rkk=E4inen wrote
> > =

> > On Thu, May 03, 2012 at 05:28:44AM -0700, Fantu wrote:
> >> =

> >> About qxl there are problems about videoram not allocated or not used
> >> over 4
> >> mb (same as default cirrus vga).
> >> At the moment I haven't found solution for this problem, probably some
> >> bugfix and/or change are needed on xen.
> >> =

> > =

> > Is this a regression in xen-unstable compared to xen 4.1 ? =

> > =

> > afaik you can get at least 16 MB of video memory for HVM guest with Xen
> > 4.1.
> > =

> > -- Pasi
> > =

> > =

> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> > =

> Thanks for reply
> Probably xen-unstable with qemu upstream doesn't support videoram setting.
> qxl default videoram is 64 mb but I also tried to set 16 mb without resul=
t,
> it always see only 4 mb, not enough for correct working qxl.
> =


Ok. If you use qemu-upstream and cirrus/stdvga (without qxl), does videomem=
 >4MB work then ?

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyUU-00038p-7s; Thu, 03 May 2012 16:02:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SPyUT-00038h-8O
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:02:49 +0000
Received: from [85.158.143.99:30758] by server-1.bemta-4.messagelabs.com id
	76/55-20925-82CA2AF4; Thu, 03 May 2012 16:02:48 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336060966!18843505!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzMzNTU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9851 invoked from network); 3 May 2012 16:02:47 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:02:47 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 1C56E165E;
	Thu,  3 May 2012 19:02:44 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 5E91A2005D; Thu,  3 May 2012 19:02:44 +0300 (EEST)
Date: Thu, 3 May 2012 19:02:44 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Fantu <fantonifabio@tiscali.it>
Message-ID: <20120503160244.GQ2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336055231213-5683345.post@n5.nabble.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 07:27:11AM -0700, Fantu wrote:
> =

> Pasi K=E4rkk=E4inen wrote
> > =

> > On Thu, May 03, 2012 at 05:28:44AM -0700, Fantu wrote:
> >> =

> >> About qxl there are problems about videoram not allocated or not used
> >> over 4
> >> mb (same as default cirrus vga).
> >> At the moment I haven't found solution for this problem, probably some
> >> bugfix and/or change are needed on xen.
> >> =

> > =

> > Is this a regression in xen-unstable compared to xen 4.1 ? =

> > =

> > afaik you can get at least 16 MB of video memory for HVM guest with Xen
> > 4.1.
> > =

> > -- Pasi
> > =

> > =

> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> > =

> Thanks for reply
> Probably xen-unstable with qemu upstream doesn't support videoram setting.
> qxl default videoram is 64 mb but I also tried to set 16 mb without resul=
t,
> it always see only 4 mb, not enough for correct working qxl.
> =


Ok. If you use qemu-upstream and cirrus/stdvga (without qxl), does videomem=
 >4MB work then ?

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:07:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:07:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyYf-0003Jp-21; Thu, 03 May 2012 16:07:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPyYd-0003Jh-Sy
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:07:07 +0000
Received: from [85.158.143.99:55026] by server-2.bemta-4.messagelabs.com id
	1A/85-17550-B2DA2AF4; Thu, 03 May 2012 16:07:07 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336061224!26039551!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32491 invoked from network); 3 May 2012 16:07:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:07:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 17:07:03 +0100
Message-Id: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 17:07:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] reading IOPL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Both Linux and Xen offer only ways to set the IOPL. While on native Linux
this is not a problem since user mode code can read the IOPL by inspecting
EFLAGS, on Xen this would always yield zero.

Now X folks appear to be using save-modify-restore cycles in some newer
code, and this obviously breaks under Xen, as they would restore IOPL 0
even when IOPL 3 was in effect before.

Since the only way to read the IOPL is xc_vcpu_getcontext() (i.e.
XEN_DOMCTL_getvcpucontext), I wonder whether we shouldn't add
e.g. a "get" counterpart to PHYSDEVOP_set_iopl.

Or am I overlooking some other access mechanism?

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:07:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:07:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyYf-0003Jp-21; Thu, 03 May 2012 16:07:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SPyYd-0003Jh-Sy
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:07:07 +0000
Received: from [85.158.143.99:55026] by server-2.bemta-4.messagelabs.com id
	1A/85-17550-B2DA2AF4; Thu, 03 May 2012 16:07:07 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336061224!26039551!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32491 invoked from network); 3 May 2012 16:07:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:07:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 03 May 2012 17:07:03 +0100
Message-Id: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 03 May 2012 17:07:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] reading IOPL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Both Linux and Xen offer only ways to set the IOPL. While on native Linux
this is not a problem since user mode code can read the IOPL by inspecting
EFLAGS, on Xen this would always yield zero.

Now X folks appear to be using save-modify-restore cycles in some newer
code, and this obviously breaks under Xen, as they would restore IOPL 0
even when IOPL 3 was in effect before.

Since the only way to read the IOPL is xc_vcpu_getcontext() (i.e.
XEN_DOMCTL_getvcpucontext), I wonder whether we shouldn't add
e.g. a "get" counterpart to PHYSDEVOP_set_iopl.

Or am I overlooking some other access mechanism?

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:19:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:19:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPykU-0003Xe-9t; Thu, 03 May 2012 16:19:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPykS-0003XZ-B5
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:19:20 +0000
Received: from [85.158.143.99:55336] by server-3.bemta-4.messagelabs.com id
	8B/81-05853-700B2AF4; Thu, 03 May 2012 16:19:19 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336061958!15172409!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20387 invoked from network); 3 May 2012 16:19:18 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:19:18 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPykM-000Oma-4V; Thu, 03 May 2012 16:19:14 +0000
Date: Thu, 3 May 2012 17:19:14 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120503161914.GD90833@ocelot.phlegethon.org>
References: <patchbomb.1335561377@xdev.gridcentric.ca>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <patchbomb.1335561377@xdev.gridcentric.ca>
User-Agent: Mutt/1.4.2.1i
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>, andres@gridcentric.ca,
	keir@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 4] RFC top up to experimental p2m
	rwlock patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 17:16 -0400 on 27 Apr (1335546977), Andres Lagar-Cavilla wrote:
> Extending the core idea form Tim's patch, and bug fixing galore.
> 
> Our testing works quite smoothly with this in place.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla>

Thanks very much for that.  I had intended to merge this into a
cleaned-up series based on the previous patch today, but other things
came up, so I'm afraid it will have to wait until next week.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:19:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:19:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPykU-0003Xe-9t; Thu, 03 May 2012 16:19:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPykS-0003XZ-B5
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:19:20 +0000
Received: from [85.158.143.99:55336] by server-3.bemta-4.messagelabs.com id
	8B/81-05853-700B2AF4; Thu, 03 May 2012 16:19:19 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336061958!15172409!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20387 invoked from network); 3 May 2012 16:19:18 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:19:18 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPykM-000Oma-4V; Thu, 03 May 2012 16:19:14 +0000
Date: Thu, 3 May 2012 17:19:14 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120503161914.GD90833@ocelot.phlegethon.org>
References: <patchbomb.1335561377@xdev.gridcentric.ca>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <patchbomb.1335561377@xdev.gridcentric.ca>
User-Agent: Mutt/1.4.2.1i
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>, andres@gridcentric.ca,
	keir@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 4] RFC top up to experimental p2m
	rwlock patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 17:16 -0400 on 27 Apr (1335546977), Andres Lagar-Cavilla wrote:
> Extending the core idea form Tim's patch, and bug fixing galore.
> 
> Our testing works quite smoothly with this in place.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla>

Thanks very much for that.  I had intended to merge this into a
cleaned-up series based on the previous patch today, but other things
came up, so I'm afraid it will have to wait until next week.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:20:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:20:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyl6-0003ai-NU; Thu, 03 May 2012 16:20:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPyl5-0003aL-Ve
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:20:00 +0000
Received: from [193.109.254.147:33921] by server-5.bemta-14.messagelabs.com id
	BC/A2-30733-F20B2AF4; Thu, 03 May 2012 16:19:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336061997!7526726!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA4MjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28248 invoked from network); 3 May 2012 16:19:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 16:19:58 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43GJrJ5032516
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 16:19:53 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43GJq5b022537
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 16:19:52 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43GJpi6016671; Thu, 3 May 2012 11:19:51 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 09:19:51 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B6BFE40357; Thu,  3 May 2012 12:14:09 -0400 (EDT)
Date: Thu, 3 May 2012 12:14:09 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120503161409.GB9992@phenom.dumpdata.com>
References: <4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA1B096.5010009@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 06:09:26PM -0400, Boris Ostrovsky wrote:
> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
> >On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
> >>On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
> >>>On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
> >>>>On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> >>>>>diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >>>>>index a8f8844..d816448 100644
> >>>>>--- a/arch/x86/xen/enlighten.c
> >>>>>+++ b/arch/x86/xen/enlighten.c
> >>>>>@@ -811,7 +811,29 @@ static void xen_io_delay(void)
> >>>>>  #ifdef CONFIG_X86_LOCAL_APIC
> >>>>>  static u32 xen_apic_read(u32 reg)
> >>>>>  {
> >>>>>-	return 0;
> >>>>>+	struct xen_platform_op op = {
> >>>>>+		.cmd = XENPF_get_cpuinfo,
> >>>>>+		.interface_version = XENPF_INTERFACE_VERSION,
> >>>>>+		.u.pcpu_info.xen_cpuid = 0,
> >>>>
> >>>>
> >>>>Is this always zero? This will probably solve the current problem
> >>>
> >>>Its a CPU number (not tied in to APIC or ACPI IDs).
> >>
> >>Why not use CPU number instead of zero here?
> >
> >The issue was only with the bootup CPU - so was using the Xen's
> >bootup CPU number - which is zero (as is Linux's).
> 
> I agree that for this particular problem this may be sufficient.
> 
> My concern is that in the future someone may decide to use
> apic_read(APIC_ID) or read_apic_id() for some other purpose and they
> won't get expected result (i.e. on all CPUs they will get the same
> answer).

Good point. Let's get this particular bug fixed for v3.5, and then will
do a more comprehensive fix for v3.6.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:20:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:20:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyl6-0003ai-NU; Thu, 03 May 2012 16:20:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPyl5-0003aL-Ve
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:20:00 +0000
Received: from [193.109.254.147:33921] by server-5.bemta-14.messagelabs.com id
	BC/A2-30733-F20B2AF4; Thu, 03 May 2012 16:19:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336061997!7526726!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA4MjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28248 invoked from network); 3 May 2012 16:19:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 16:19:58 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43GJrJ5032516
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 16:19:53 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43GJq5b022537
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 16:19:52 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43GJpi6016671; Thu, 3 May 2012 11:19:51 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 09:19:51 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B6BFE40357; Thu,  3 May 2012 12:14:09 -0400 (EDT)
Date: Thu, 3 May 2012 12:14:09 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Message-ID: <20120503161409.GB9992@phenom.dumpdata.com>
References: <4F9976F8.8040502@canonical.com>
	<20120501200207.GA15313@phenom.dumpdata.com>
	<4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA1B096.5010009@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 06:09:26PM -0400, Boris Ostrovsky wrote:
> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
> >On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
> >>On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
> >>>On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
> >>>>On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
> >>>>>diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >>>>>index a8f8844..d816448 100644
> >>>>>--- a/arch/x86/xen/enlighten.c
> >>>>>+++ b/arch/x86/xen/enlighten.c
> >>>>>@@ -811,7 +811,29 @@ static void xen_io_delay(void)
> >>>>>  #ifdef CONFIG_X86_LOCAL_APIC
> >>>>>  static u32 xen_apic_read(u32 reg)
> >>>>>  {
> >>>>>-	return 0;
> >>>>>+	struct xen_platform_op op = {
> >>>>>+		.cmd = XENPF_get_cpuinfo,
> >>>>>+		.interface_version = XENPF_INTERFACE_VERSION,
> >>>>>+		.u.pcpu_info.xen_cpuid = 0,
> >>>>
> >>>>
> >>>>Is this always zero? This will probably solve the current problem
> >>>
> >>>Its a CPU number (not tied in to APIC or ACPI IDs).
> >>
> >>Why not use CPU number instead of zero here?
> >
> >The issue was only with the bootup CPU - so was using the Xen's
> >bootup CPU number - which is zero (as is Linux's).
> 
> I agree that for this particular problem this may be sufficient.
> 
> My concern is that in the future someone may decide to use
> apic_read(APIC_ID) or read_apic_id() for some other purpose and they
> won't get expected result (i.e. on all CPUs they will get the same
> answer).

Good point. Let's get this particular bug fixed for v3.5, and then will
do a more comprehensive fix for v3.6.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:24:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:24:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPypB-0003oY-Ei; Thu, 03 May 2012 16:24:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPyp9-0003oN-P9
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:24:11 +0000
Received: from [85.158.143.35:57558] by server-2.bemta-4.messagelabs.com id
	B5/68-17550-A21B2AF4; Thu, 03 May 2012 16:24:10 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336062249!11415149!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18432 invoked from network); 3 May 2012 16:24:10 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:24:10 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPyp7-000Ons-HG; Thu, 03 May 2012 16:24:09 +0000
Date: Thu, 3 May 2012 17:24:09 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120503162409.GE90833@ocelot.phlegethon.org>
References: <patchbomb.1335561377@xdev.gridcentric.ca>
	<00034349414ec903179d.1335561378@xdev.gridcentric.ca>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <00034349414ec903179d.1335561378@xdev.gridcentric.ca>
User-Agent: Mutt/1.4.2.1i
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>, andres@gridcentric.ca,
	keir@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1 of 4] x86/mm: Eliminate
	_shadow_mode_refcounts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 17:16 -0400 on 27 Apr (1335546978), Andres Lagar-Cavilla wrote:
>  xen/arch/x86/mm.c               |  2 +-
>  xen/arch/x86/mm/shadow/common.c |  5 -----
>  xen/include/asm-x86/mm.h        |  1 -
>  3 files changed, 1 insertions(+), 7 deletions(-)
> 
> 
> Replace it with the proper paging_mode_refcounts. This was causing spurious
> and abundant verbiage from Xen for the
> 
>  !get_page(page, d) && !get_page(page, dom_cow)
> 
> sequence in get_page_from_gfn
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

Applied, thanks.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:24:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:24:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPypB-0003oY-Ei; Thu, 03 May 2012 16:24:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SPyp9-0003oN-P9
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:24:11 +0000
Received: from [85.158.143.35:57558] by server-2.bemta-4.messagelabs.com id
	B5/68-17550-A21B2AF4; Thu, 03 May 2012 16:24:10 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336062249!11415149!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18432 invoked from network); 3 May 2012 16:24:10 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 16:24:10 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SPyp7-000Ons-HG; Thu, 03 May 2012 16:24:09 +0000
Date: Thu, 3 May 2012 17:24:09 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120503162409.GE90833@ocelot.phlegethon.org>
References: <patchbomb.1335561377@xdev.gridcentric.ca>
	<00034349414ec903179d.1335561378@xdev.gridcentric.ca>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <00034349414ec903179d.1335561378@xdev.gridcentric.ca>
User-Agent: Mutt/1.4.2.1i
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>, andres@gridcentric.ca,
	keir@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1 of 4] x86/mm: Eliminate
	_shadow_mode_refcounts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 17:16 -0400 on 27 Apr (1335546978), Andres Lagar-Cavilla wrote:
>  xen/arch/x86/mm.c               |  2 +-
>  xen/arch/x86/mm/shadow/common.c |  5 -----
>  xen/include/asm-x86/mm.h        |  1 -
>  3 files changed, 1 insertions(+), 7 deletions(-)
> 
> 
> Replace it with the proper paging_mode_refcounts. This was causing spurious
> and abundant verbiage from Xen for the
> 
>  !get_page(page, d) && !get_page(page, dom_cow)
> 
> sequence in get_page_from_gfn
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

Applied, thanks.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:27:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:27:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPysQ-0003zu-8Y; Thu, 03 May 2012 16:27:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SPysP-0003zm-DQ
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:27:33 +0000
Received: from [85.158.143.35:48494] by server-3.bemta-4.messagelabs.com id
	9B/E9-05853-4F1B2AF4; Thu, 03 May 2012 16:27:32 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336062450!14649829!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27747 invoked from network); 3 May 2012 16:27:31 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 16:27:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,524,1330923600"; d="scan'208";a="193271122"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 12:27:29 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	12:27:28 -0400
Message-ID: <4FA2B1EF.8080900@citrix.com>
Date: Thu, 3 May 2012 17:27:27 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com> <4FA2A11E.1060907@cantab.net>
In-Reply-To: <4FA2A11E.1060907@cantab.net>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/12 16:15, David Vrabel wrote:
> 
> xen: update VA mapping when releasing memory during setup
> 
> In xen_memory_setup(), if a page that is being released has a VA
> mapping this must also be updated.  Otherwise, the page will be not
> released completely -- it will still be referenced in Xen and won't be
> freed util the mapping is removed and this prevents it from being
> reallocated at a different PFN.
> 
> This was already being done for the ISA memory region in
> xen_ident_map_ISA() but on many systems this was omitting a few pages
> as many systems marked a few pages below the ISA memory region as
> reserved in the e820 map.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
[...]
> --- a/arch/x86/xen/mmu.c
> +++ b/arch/x86/xen/mmu.c
> @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
>  #endif
>  }
>  
> -void __init xen_ident_map_ISA(void)
> -{
> -	unsigned long pa;
> -
> -	/*
> -	 * If we're dom0, then linear map the ISA machine addresses into
> -	 * the kernel's address space.
> -	 */
> -	if (!xen_initial_domain())
> -		return;

It might look like this test has gone, however the new code which
updates the VA mapping uses the e820 map and for a domU its map will not
have a ISA region so there's no mapping to be updated.

David

> -
> -	xen_raw_printk("Xen: setup ISA identity maps\n");
> -
> -	for (pa = ISA_START_ADDRESS; pa < ISA_END_ADDRESS; pa += PAGE_SIZE) {
> -		pte_t pte = mfn_pte(PFN_DOWN(pa), PAGE_KERNEL_IO);
> -
> -		if (HYPERVISOR_update_va_mapping(PAGE_OFFSET + pa, pte, 0))
> -			BUG();
> -	}
> -
> -	xen_flush_tlb();
> -}
> -
>  static void __init xen_post_allocator_init(void)
>  {
>  	pv_mmu_ops.set_pte = xen_set_pte;
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 506a3e6..d5f8714 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -139,6 +139,13 @@ static unsigned long __init xen_do_chunk(unsigned long start,
>  
>  	return len;
>  }
> +
> +static unsigned long __init xen_release_chunk(unsigned long start,
> +					      unsigned long end)
> +{
> +	return xen_do_chunk(start, end, true);
> +}
> +
>  static unsigned long __init xen_populate_chunk(
>  	const struct e820entry *list, size_t map_size,
>  	unsigned long max_pfn, unsigned long *last_pfn,
> @@ -197,6 +204,29 @@ static unsigned long __init xen_populate_chunk(
>  	}
>  	return done;
>  }
> +
> +static void __init xen_set_identity_and_release_chunk(
> +	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
> +	unsigned long *released, unsigned long *identity)
> +{
> +	unsigned long pfn;
> +
> +	/*
> +	 * If the PFNs are currently mapped, the VA mapping also needs
> +	 * to be updated to be 1:1.
> +	 */
> +	for (pfn = start_pfn; pfn <= max_pfn_mapped && pfn < end_pfn; pfn++)
> +		(void)HYPERVISOR_update_va_mapping(
> +			(unsigned long)__va(pfn << PAGE_SHIFT),
> +			mfn_pte(pfn, PAGE_KERNEL_IO), 0);
> +
> +	if (start_pfn < nr_pages)
> +		*released += xen_release_chunk(
> +			start_pfn, min(end_pfn, nr_pages));
> +
> +	*identity += set_phys_range_identity(start_pfn, end_pfn);
> +}
> +
>  static unsigned long __init xen_set_identity_and_release(
>  	const struct e820entry *list, size_t map_size, unsigned long nr_pages)
>  {
> @@ -226,14 +256,11 @@ static unsigned long __init xen_set_identity_and_release(
>  			if (entry->type == E820_RAM)
>  				end_pfn = PFN_UP(entry->addr);
>  
> -			if (start_pfn < end_pfn) {
> -				if (start_pfn < nr_pages)
> -					released += xen_do_chunk(
> -						start_pfn, min(end_pfn, nr_pages), true);
> +			if (start_pfn < end_pfn)
> +				xen_set_identity_and_release_chunk(
> +					start_pfn, end_pfn, nr_pages,
> +					&released, &identity);
>  
> -				identity += set_phys_range_identity(
> -					start_pfn, end_pfn);
> -			}
>  			start = end;
>  		}
>  	}
> diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
> index b095739..506fa08 100644
> --- a/arch/x86/xen/xen-ops.h
> +++ b/arch/x86/xen/xen-ops.h
> @@ -28,7 +28,6 @@ void xen_setup_shared_info(void);
>  void xen_build_mfn_list_list(void);
>  void xen_setup_machphys_mapping(void);
>  pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
> -void xen_ident_map_ISA(void);
>  void xen_reserve_top(void);
>  extern unsigned long xen_max_p2m_pfn;
>  


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:27:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:27:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPysQ-0003zu-8Y; Thu, 03 May 2012 16:27:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SPysP-0003zm-DQ
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 16:27:33 +0000
Received: from [85.158.143.35:48494] by server-3.bemta-4.messagelabs.com id
	9B/E9-05853-4F1B2AF4; Thu, 03 May 2012 16:27:32 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336062450!14649829!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDkzMTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27747 invoked from network); 3 May 2012 16:27:31 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 16:27:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,524,1330923600"; d="scan'208";a="193271122"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 12:27:29 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	12:27:28 -0400
Message-ID: <4FA2B1EF.8080900@citrix.com>
Date: Thu, 3 May 2012 17:27:27 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com> <4FA2A11E.1060907@cantab.net>
In-Reply-To: <4FA2A11E.1060907@cantab.net>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03/05/12 16:15, David Vrabel wrote:
> 
> xen: update VA mapping when releasing memory during setup
> 
> In xen_memory_setup(), if a page that is being released has a VA
> mapping this must also be updated.  Otherwise, the page will be not
> released completely -- it will still be referenced in Xen and won't be
> freed util the mapping is removed and this prevents it from being
> reallocated at a different PFN.
> 
> This was already being done for the ISA memory region in
> xen_ident_map_ISA() but on many systems this was omitting a few pages
> as many systems marked a few pages below the ISA memory region as
> reserved in the e820 map.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
[...]
> --- a/arch/x86/xen/mmu.c
> +++ b/arch/x86/xen/mmu.c
> @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
>  #endif
>  }
>  
> -void __init xen_ident_map_ISA(void)
> -{
> -	unsigned long pa;
> -
> -	/*
> -	 * If we're dom0, then linear map the ISA machine addresses into
> -	 * the kernel's address space.
> -	 */
> -	if (!xen_initial_domain())
> -		return;

It might look like this test has gone, however the new code which
updates the VA mapping uses the e820 map and for a domU its map will not
have a ISA region so there's no mapping to be updated.

David

> -
> -	xen_raw_printk("Xen: setup ISA identity maps\n");
> -
> -	for (pa = ISA_START_ADDRESS; pa < ISA_END_ADDRESS; pa += PAGE_SIZE) {
> -		pte_t pte = mfn_pte(PFN_DOWN(pa), PAGE_KERNEL_IO);
> -
> -		if (HYPERVISOR_update_va_mapping(PAGE_OFFSET + pa, pte, 0))
> -			BUG();
> -	}
> -
> -	xen_flush_tlb();
> -}
> -
>  static void __init xen_post_allocator_init(void)
>  {
>  	pv_mmu_ops.set_pte = xen_set_pte;
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 506a3e6..d5f8714 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -139,6 +139,13 @@ static unsigned long __init xen_do_chunk(unsigned long start,
>  
>  	return len;
>  }
> +
> +static unsigned long __init xen_release_chunk(unsigned long start,
> +					      unsigned long end)
> +{
> +	return xen_do_chunk(start, end, true);
> +}
> +
>  static unsigned long __init xen_populate_chunk(
>  	const struct e820entry *list, size_t map_size,
>  	unsigned long max_pfn, unsigned long *last_pfn,
> @@ -197,6 +204,29 @@ static unsigned long __init xen_populate_chunk(
>  	}
>  	return done;
>  }
> +
> +static void __init xen_set_identity_and_release_chunk(
> +	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
> +	unsigned long *released, unsigned long *identity)
> +{
> +	unsigned long pfn;
> +
> +	/*
> +	 * If the PFNs are currently mapped, the VA mapping also needs
> +	 * to be updated to be 1:1.
> +	 */
> +	for (pfn = start_pfn; pfn <= max_pfn_mapped && pfn < end_pfn; pfn++)
> +		(void)HYPERVISOR_update_va_mapping(
> +			(unsigned long)__va(pfn << PAGE_SHIFT),
> +			mfn_pte(pfn, PAGE_KERNEL_IO), 0);
> +
> +	if (start_pfn < nr_pages)
> +		*released += xen_release_chunk(
> +			start_pfn, min(end_pfn, nr_pages));
> +
> +	*identity += set_phys_range_identity(start_pfn, end_pfn);
> +}
> +
>  static unsigned long __init xen_set_identity_and_release(
>  	const struct e820entry *list, size_t map_size, unsigned long nr_pages)
>  {
> @@ -226,14 +256,11 @@ static unsigned long __init xen_set_identity_and_release(
>  			if (entry->type == E820_RAM)
>  				end_pfn = PFN_UP(entry->addr);
>  
> -			if (start_pfn < end_pfn) {
> -				if (start_pfn < nr_pages)
> -					released += xen_do_chunk(
> -						start_pfn, min(end_pfn, nr_pages), true);
> +			if (start_pfn < end_pfn)
> +				xen_set_identity_and_release_chunk(
> +					start_pfn, end_pfn, nr_pages,
> +					&released, &identity);
>  
> -				identity += set_phys_range_identity(
> -					start_pfn, end_pfn);
> -			}
>  			start = end;
>  		}
>  	}
> diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
> index b095739..506fa08 100644
> --- a/arch/x86/xen/xen-ops.h
> +++ b/arch/x86/xen/xen-ops.h
> @@ -28,7 +28,6 @@ void xen_setup_shared_info(void);
>  void xen_build_mfn_list_list(void);
>  void xen_setup_machphys_mapping(void);
>  pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
> -void xen_ident_map_ISA(void);
>  void xen_reserve_top(void);
>  extern unsigned long xen_max_p2m_pfn;
>  


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:31:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyvZ-00047s-48; Thu, 03 May 2012 16:30:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SPyvX-00047L-R4
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:30:47 +0000
Received: from [85.158.143.35:33433] by server-2.bemta-4.messagelabs.com id
	C5/FE-17550-6B2B2AF4; Thu, 03 May 2012 16:30:46 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336062645!14921320!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30537 invoked from network); 3 May 2012 16:30:45 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 16:30:45 -0000
Received: by eekc4 with SMTP id c4so95309eek.32
	for <multiple recipients>; Thu, 03 May 2012 09:30:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=ue9NJDg+1BM0CPGjQm3nShJ1RX89uNTmlIklzjpBq8k=;
	b=V28QjH2OW/4e1jV4Rr6Dj/JWxfaUK1ysRbFNjCccDpL8IQzEZjvJXZOXJDHsVdXUXP
	vbk6dcVd4pTHa/73B7QU/kVrxwsP2nnYDTnTRo+TfVfq6hEAEQETt1cCAXG3Hjbdgp83
	acz+BZoRQkPu87I+ocyBPWyURMEVWMisUd5e8clR80l6QQ75blmzP0AkKorqrlTTPBPC
	cZUw3FjrEh3u7CJWT6p5Dgy8faZi2l63AOcufLCW3mAZbD7OIg6y36OkohWNYIYCC4Sh
	RxutUrBWByvc8uAFG/Eeg0MpOCGBH5pO2wm/SdunlyUTER7LMgrFr8dvtC51myv3+FiB
	+Whg==
Received: by 10.14.99.137 with SMTP id x9mr606262eef.15.1336062645127;
	Thu, 03 May 2012 09:30:45 -0700 (PDT)
Received: from [172.16.25.10] (b0fb6237.bb.sky.com. [176.251.98.55])
	by mx.google.com with ESMTPS id n52sm20834382eef.6.2012.05.03.09.30.42
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 09:30:43 -0700 (PDT)
Message-ID: <4FA2B2B1.3040901@xen.org>
Date: Thu, 03 May 2012 17:30:41 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org, xen-api@lists.xen.org, 
 xen-arm@lists.xen.org
Subject: [Xen-devel] [Proposal] Minor additions and clarification to Xen
	Project Governance
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dear Developers,

we have had the original Xen project governance document (see 
http://xen.org/projects/governance.html 
<http://www.xen.org/projects/governance.html>) in effect now since July 
last year. The last minor review was in October 2011.

Since then I had feedback on two items:

a) Our governance does not specify how friction in the community is 
resolved. The role definitions cover the concept of Committers and 
Project leads acting as Referees, without being specific. In essence, 
the proposal reflects what happens informally in practice today and has 
happened in the past.

b) There also was a bug in the definition of Project Lead: "Xen.org 
projects are managed by a Project Lead, who also is a maintainer" should 
be "..., who also is a committer". I clarified this and added a sentence 
that a project lead can also act as referee (which was implied before as 
a project lead is a committer).

Please find a proposal for a new revision of the process at 
http://xen.org/projects/governance_v1_2.html which fixes these two 
issues. Changes are marked in italics and are in sections "Conflict 
Resolution" and "Project Lead".

Timetable:

1) Open review with feedback until 11th May (a bit more than a week from 
today)

2) Lars to incorporate any feedback and publish a revision.

3) Lars to set up a private poll via a form, the week of May 14th which 
will be open for a week. Community members that can vote are maintainers 
(including committers and maintainers)of any mature project in Xen (aka 
Xen and XCP).

Best Regards
Lars


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 16:31:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 16:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPyvZ-00047s-48; Thu, 03 May 2012 16:30:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SPyvX-00047L-R4
	for xen-devel@lists.xen.org; Thu, 03 May 2012 16:30:47 +0000
Received: from [85.158.143.35:33433] by server-2.bemta-4.messagelabs.com id
	C5/FE-17550-6B2B2AF4; Thu, 03 May 2012 16:30:46 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336062645!14921320!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30537 invoked from network); 3 May 2012 16:30:45 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 16:30:45 -0000
Received: by eekc4 with SMTP id c4so95309eek.32
	for <multiple recipients>; Thu, 03 May 2012 09:30:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=ue9NJDg+1BM0CPGjQm3nShJ1RX89uNTmlIklzjpBq8k=;
	b=V28QjH2OW/4e1jV4Rr6Dj/JWxfaUK1ysRbFNjCccDpL8IQzEZjvJXZOXJDHsVdXUXP
	vbk6dcVd4pTHa/73B7QU/kVrxwsP2nnYDTnTRo+TfVfq6hEAEQETt1cCAXG3Hjbdgp83
	acz+BZoRQkPu87I+ocyBPWyURMEVWMisUd5e8clR80l6QQ75blmzP0AkKorqrlTTPBPC
	cZUw3FjrEh3u7CJWT6p5Dgy8faZi2l63AOcufLCW3mAZbD7OIg6y36OkohWNYIYCC4Sh
	RxutUrBWByvc8uAFG/Eeg0MpOCGBH5pO2wm/SdunlyUTER7LMgrFr8dvtC51myv3+FiB
	+Whg==
Received: by 10.14.99.137 with SMTP id x9mr606262eef.15.1336062645127;
	Thu, 03 May 2012 09:30:45 -0700 (PDT)
Received: from [172.16.25.10] (b0fb6237.bb.sky.com. [176.251.98.55])
	by mx.google.com with ESMTPS id n52sm20834382eef.6.2012.05.03.09.30.42
	(version=SSLv3 cipher=OTHER); Thu, 03 May 2012 09:30:43 -0700 (PDT)
Message-ID: <4FA2B2B1.3040901@xen.org>
Date: Thu, 03 May 2012 17:30:41 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org, xen-api@lists.xen.org, 
 xen-arm@lists.xen.org
Subject: [Xen-devel] [Proposal] Minor additions and clarification to Xen
	Project Governance
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dear Developers,

we have had the original Xen project governance document (see 
http://xen.org/projects/governance.html 
<http://www.xen.org/projects/governance.html>) in effect now since July 
last year. The last minor review was in October 2011.

Since then I had feedback on two items:

a) Our governance does not specify how friction in the community is 
resolved. The role definitions cover the concept of Committers and 
Project leads acting as Referees, without being specific. In essence, 
the proposal reflects what happens informally in practice today and has 
happened in the past.

b) There also was a bug in the definition of Project Lead: "Xen.org 
projects are managed by a Project Lead, who also is a maintainer" should 
be "..., who also is a committer". I clarified this and added a sentence 
that a project lead can also act as referee (which was implied before as 
a project lead is a committer).

Please find a proposal for a new revision of the process at 
http://xen.org/projects/governance_v1_2.html which fixes these two 
issues. Changes are marked in italics and are in sections "Conflict 
Resolution" and "Project Lead".

Timetable:

1) Open review with feedback until 11th May (a bit more than a week from 
today)

2) Lars to incorporate any feedback and publish a revision.

3) Lars to set up a private poll via a form, the week of May 14th which 
will be open for a week. Community members that can vote are maintainers 
(including committers and maintainers)of any mature project in Xen (aka 
Xen and XCP).

Best Regards
Lars


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:03:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:03:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzQk-00059w-7Z; Thu, 03 May 2012 17:03:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPzQi-00059o-Lm
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:03:00 +0000
Received: from [85.158.143.35:49219] by server-1.bemta-4.messagelabs.com id
	CC/93-20925-44AB2AF4; Thu, 03 May 2012 17:03:00 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336064577!11418843!1
X-Originating-IP: [216.32.180.16]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12521 invoked from network); 3 May 2012 17:02:58 -0000
Received: from va3ehsobe006.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.16)
	by server-8.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	3 May 2012 17:02:58 -0000
Received: from mail197-va3-R.bigfish.com (10.7.14.250) by
	VA3EHSOBE008.bigfish.com (10.7.40.28) with Microsoft SMTP Server id
	14.1.225.23; Thu, 3 May 2012 17:02:47 +0000
Received: from mail197-va3 (localhost [127.0.0.1])	by
	mail197-va3-R.bigfish.com (Postfix) with ESMTP id 818DC3A06D3;
	Thu,  3 May 2012 17:02:47 +0000 (UTC)
X-SpamScore: -14
X-BigFish: VPS-14(zzbb2dI9371I1432N98dK179dN853kzz1202hzz8275dhz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail197-va3 (localhost.localdomain [127.0.0.1]) by mail197-va3
	(MessageSwitch) id 1336064565227670_23297;
	Thu,  3 May 2012 17:02:45 +0000 (UTC)
Received: from VA3EHSMHS021.bigfish.com (unknown [10.7.14.252])	by
	mail197-va3.bigfish.com (Postfix) with ESMTP id 24C79C02A6;
	Thu,  3 May 2012 17:02:45 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS021.bigfish.com (10.7.99.31) with Microsoft SMTP Server id
	14.1.225.23; Thu, 3 May 2012 17:02:43 +0000
X-WSS-ID: 0M3GI0R-01-GB5-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 25253D10019;	Thu,  3 May 2012 12:02:51 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 3 May 2012 12:03:06 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	12:02:50 -0500
Message-ID: <4FA2BA3A.7070100@amd.com>
Date: Thu, 3 May 2012 13:02:50 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
	<20120503154620.GB3464@andromeda.dapyr.net>
In-Reply-To: <20120503154620.GB3464@andromeda.dapyr.net>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/03/2012 11:46 AM, Konrad Rzeszutek Wilk wrote:
> On Thu, May 03, 2012 at 04:47:46PM +0200, Stefan Bader wrote:
>> On 03.05.2012 14:58, Stefan Bader wrote:
>>
>>>>>>> So this shoudl solve the problem for the bootup processor.
>>>>>>>>
>>>>>>>> -boris
>>>>>>>>
>>>>>>>>
>>>>>>>>> +    };
>>>>>>>>> +    int ret = 0;
>>>>>>>>> +
>>>>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we only
>>>>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>>>>> +        return 0;
>>>>>>>>> +
>>>>>>>>> +    if (reg == APIC_LVR)
>>>>>>>>> +        return 0x10;
>>>>>>>>> +
>>>>>>>>> +    if (reg != APIC_ID)
>>>>>>>>> +        return 0;
>>>>>>>>> +
>>>>>>>>> +    ret = HYPERVISOR_dom0_op(&op);
>>>>>>>>> +    if (ret)
>>>>>>>>> +        return 0;
>>>>>>>>> +
>>>>>>>>> +    return op.u.pcpu_info.apic_id;


	return (op.u.pcpu_info.apic_id << 24);

indeed fixes the problem.

-boris


>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>    static void xen_apic_write(u32 reg, u32 val)
>>>
>>> I added debugging to all exit paths that could return 0 (which is what the
>>> boot_cpu_physical_apicid is set to with that patch. Which would only leave the
>>> case of the HV call returning the wrong value somehow...
>>>
>> Hmmm, so xen_apic_read is still correct...
>>
>> [    0.000000] ACPI: Local APIC address 0xfee00000
>> [    0.000000] xxx xen_apic_read(20)
>> [    0.000000] xxx xen_apic_read ->  10
>> [    0.000000] boot_cpu_physical_apicid = 0
>> [    0.000000] xxx xen_apic_read(30)
>> [    0.000000] +- apic version = 10
>>
>> there seems to be a slightly strange tweak (at least for me) in read_apic_id...
>>
>> static inline unsigned int read_apic_id(void)
>> {
>>          unsigned int reg;
>>
>>          reg = apic_read(APIC_ID); // calls apic->read(reg)
>>
>>          return apic->get_apic_id(reg);
>
> Duh!! Let me spin out a new patch that will do this.
>> }
>>
>>
>
>
>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:03:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:03:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzQk-00059w-7Z; Thu, 03 May 2012 17:03:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SPzQi-00059o-Lm
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:03:00 +0000
Received: from [85.158.143.35:49219] by server-1.bemta-4.messagelabs.com id
	CC/93-20925-44AB2AF4; Thu, 03 May 2012 17:03:00 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336064577!11418843!1
X-Originating-IP: [216.32.180.16]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12521 invoked from network); 3 May 2012 17:02:58 -0000
Received: from va3ehsobe006.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.16)
	by server-8.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	3 May 2012 17:02:58 -0000
Received: from mail197-va3-R.bigfish.com (10.7.14.250) by
	VA3EHSOBE008.bigfish.com (10.7.40.28) with Microsoft SMTP Server id
	14.1.225.23; Thu, 3 May 2012 17:02:47 +0000
Received: from mail197-va3 (localhost [127.0.0.1])	by
	mail197-va3-R.bigfish.com (Postfix) with ESMTP id 818DC3A06D3;
	Thu,  3 May 2012 17:02:47 +0000 (UTC)
X-SpamScore: -14
X-BigFish: VPS-14(zzbb2dI9371I1432N98dK179dN853kzz1202hzz8275dhz2dh668h839hd25he5bh)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail197-va3 (localhost.localdomain [127.0.0.1]) by mail197-va3
	(MessageSwitch) id 1336064565227670_23297;
	Thu,  3 May 2012 17:02:45 +0000 (UTC)
Received: from VA3EHSMHS021.bigfish.com (unknown [10.7.14.252])	by
	mail197-va3.bigfish.com (Postfix) with ESMTP id 24C79C02A6;
	Thu,  3 May 2012 17:02:45 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS021.bigfish.com (10.7.99.31) with Microsoft SMTP Server id
	14.1.225.23; Thu, 3 May 2012 17:02:43 +0000
X-WSS-ID: 0M3GI0R-01-GB5-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 25253D10019;	Thu,  3 May 2012 12:02:51 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 3 May 2012 12:03:06 -0500
Received: from [10.234.222.67] (10.234.222.67) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server id 8.3.213.0; Thu, 3 May 2012
	12:02:50 -0500
Message-ID: <4FA2BA3A.7070100@amd.com>
Date: Thu, 3 May 2012 13:02:50 -0400
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <4FA06541.7050607@amd.com> <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
	<20120503154620.GB3464@andromeda.dapyr.net>
In-Reply-To: <20120503154620.GB3464@andromeda.dapyr.net>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/03/2012 11:46 AM, Konrad Rzeszutek Wilk wrote:
> On Thu, May 03, 2012 at 04:47:46PM +0200, Stefan Bader wrote:
>> On 03.05.2012 14:58, Stefan Bader wrote:
>>
>>>>>>> So this shoudl solve the problem for the bootup processor.
>>>>>>>>
>>>>>>>> -boris
>>>>>>>>
>>>>>>>>
>>>>>>>>> +    };
>>>>>>>>> +    int ret = 0;
>>>>>>>>> +
>>>>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we only
>>>>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>>>>> +        return 0;
>>>>>>>>> +
>>>>>>>>> +    if (reg == APIC_LVR)
>>>>>>>>> +        return 0x10;
>>>>>>>>> +
>>>>>>>>> +    if (reg != APIC_ID)
>>>>>>>>> +        return 0;
>>>>>>>>> +
>>>>>>>>> +    ret = HYPERVISOR_dom0_op(&op);
>>>>>>>>> +    if (ret)
>>>>>>>>> +        return 0;
>>>>>>>>> +
>>>>>>>>> +    return op.u.pcpu_info.apic_id;


	return (op.u.pcpu_info.apic_id << 24);

indeed fixes the problem.

-boris


>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>    static void xen_apic_write(u32 reg, u32 val)
>>>
>>> I added debugging to all exit paths that could return 0 (which is what the
>>> boot_cpu_physical_apicid is set to with that patch. Which would only leave the
>>> case of the HV call returning the wrong value somehow...
>>>
>> Hmmm, so xen_apic_read is still correct...
>>
>> [    0.000000] ACPI: Local APIC address 0xfee00000
>> [    0.000000] xxx xen_apic_read(20)
>> [    0.000000] xxx xen_apic_read ->  10
>> [    0.000000] boot_cpu_physical_apicid = 0
>> [    0.000000] xxx xen_apic_read(30)
>> [    0.000000] +- apic version = 10
>>
>> there seems to be a slightly strange tweak (at least for me) in read_apic_id...
>>
>> static inline unsigned int read_apic_id(void)
>> {
>>          unsigned int reg;
>>
>>          reg = apic_read(APIC_ID); // calls apic->read(reg)
>>
>>          return apic->get_apic_id(reg);
>
> Duh!! Let me spin out a new patch that will do this.
>> }
>>
>>
>
>
>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:12:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:12:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzZy-0005UP-Cl; Thu, 03 May 2012 17:12:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPzZw-0005UK-Lo
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:12:33 +0000
Received: from [193.109.254.147:56342] by server-8.bemta-14.messagelabs.com id
	FB/25-23244-08CB2AF4; Thu, 03 May 2012 17:12:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336065151!702356!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7655 invoked from network); 3 May 2012 17:12:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 17:12:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,524,1330905600"; d="scan'208";a="12281168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 17:12:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 18:12:30 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPzZu-0003Mb-LT;
	Thu, 03 May 2012 17:12:30 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPzZu-00044Q-Iq;
	Thu, 03 May 2012 18:12:30 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12787-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 18:12:30 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12787: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12787 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12787/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-win         12 guest-localmigrate/x10      fail pass in 12768
 test-i386-i386-xl             3 host-install(3)  broken in 12768 pass in 12787
 test-i386-i386-pv             3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-xl            3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-pv            3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-xl-multivcpu  3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)  broken in 12768 pass in 12787

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check      fail in 12768 never pass

version targeted for testing:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471
baseline version:
 linux                0527fde0639955203ad48a9fd83bd6fc35e82e07

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=linux-3.0
+ revision=f1c84a5cb52ee2915457b481c756fcc1dfe6a471
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push linux-3.0 f1c84a5cb52ee2915457b481c756fcc1dfe6a471
+ branch=linux-3.0
+ revision=f1c84a5cb52ee2915457b481c756fcc1dfe6a471
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=linux
+ xenbranch=xen-unstable
+ '[' xlinux = xlinux ']'
+ linuxbranch=linux-3.0
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.linux-3.0
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.linux-3.0
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree linux-3.0
+ case $1 in
+ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+ : linux-3.0.y
+ : linux-3.0.y
+ : git
+ : git
+ : git://xenbits.xen.org/linux-pvops.git
+ : xen@xenbits.xensource.com:git/linux-pvops.git
+ : tested/linux-3.0
+ : tested/linux-3.0
+ return 0
+ cd /export/home/osstest/repos/linux
+ git push xen@xenbits.xensource.com:git/linux-pvops.git f1c84a5cb52ee2915457b481c756fcc1dfe6a471:tested/linux-3.0
Counting objects: 1   
Counting objects: 932, done.
Compressing objects:   0% (1/153)   
Compressing objects:   1% (2/153)   
Compressing objects:   2% (4/153)   
Compressing objects:   3% (5/153)   
Compressing objects:   4% (7/153)   
Compressing objects:   5% (8/153)   
Compressing objects:   6% (10/153)   
Compressing objects:   7% (11/153)   
Compressing objects:   8% (13/153)   
Compressing objects:   9% (14/153)   
Compressing objects:  10% (16/153)   
Compressing objects:  11% (17/153)   
Compressing objects:  12% (19/153)   
Compressing objects:  13% (20/153)   
Compressing objects:  14% (22/153)   
Compressing objects:  15% (23/153)   
Compressing objects:  16% (25/153)   
Compressing objects:  17% (27/153)   
Compressing objects:  18% (28/153)   
Compressing objects:  19% (30/153)   
Compressing objects:  20% (31/153)   
Compressing objects:  21% (33/153)   
Compressing objects:  22% (34/153)   
Compressing objects:  23% (36/153)   
Compressing objects:  24% (37/153)   
Compressing objects:  25% (39/153)   
Compressing objects:  26% (40/153)   
Compressing objects:  27% (42/153)   
Compressing objects:  28% (43/153)   
Compressing objects:  29% (45/153)   
Compressing objects:  30% (46/153)   
Compressing objects:  31% (48/153)   
Compressing objects:  32% (49/153)   
Compressing objects:  33% (51/153)   
Compressing objects:  34% (53/153)   
Compressing objects:  35% (54/153)   
Compressing objects:  36% (56/153)   
Compressing objects:  37% (57/153)   
Compressing objects:  38% (59/153)   
Compressing objects:  39% (60/153)   
Compressing objects:  40% (62/153)   
Compressing objects:  41% (63/153)   
Compressing objects:  42% (65/153)   
Compressing objects:  43% (66/153)   
Compressing objects:  44% (68/153)   
Compressing objects:  45% (69/153)   
Compressing objects:  46% (71/153)   
Compressing objects:  47% (72/153)   
Compressing objects:  48% (74/153)   
Compressing objects:  49% (75/153)   
Compressing objects:  50% (77/153)   
Compressing objects:  51% (79/153)   
Compressing objects:  52% (80/153)   
Compressing objects:  53% (82/153)   
Compressing objects:  54% (83/153)   
Compressing objects:  55% (85/153)   
Compressing objects:  56% (86/153)   
Compressing objects:  57% (88/153)   
Compressing objects:  58% (89/153)   
Compressing objects:  59% (91/153)   
Compressing objects:  60% (92/153)   
Compressing objects:  61% (94/153)   
Compressing objects:  62% (95/153)   
Compressing objects:  63% (97/153)   
Compressing objects:  64% (98/153)   
Compressing objects:  65% (100/153)   
Compressing objects:  66% (101/153)   
Compressing objects:  67% (103/153)   
Compressing objects:  68% (105/153)   
Compressing objects:  69% (106/153)   
Compressing objects:  70% (108/153)   
Compressing objects:  71% (109/153)   
Compressing objects:  72% (111/153)   
Compressing objects:  73% (112/153)   
Compressing objects:  74% (114/153)   
Compressing objects:  75% (115/153)   
Compressing objects:  76% (117/153)   
Compressing objects:  77% (118/153)   
Compressing objects:  78% (120/153)   
Compressing objects:  79% (121/153)   
Compressing objects:  80% (123/153)   
Compressing objects:  81% (124/153)   
Compressing objects:  82% (126/153)   
Compressing objects:  83% (127/153)   
Compressing objects:  84% (129/153)   
Compressing objects:  85% (131/153)   
Compressing objects:  86% (132/153)   
Compressing objects:  87% (134/153)   
Compressing objects:  88% (135/153)   
Compressing objects:  89% (137/153)   
Compressing objects:  90% (138/153)   
Compressing objects:  91% (140/153)   
Compressing objects:  92% (141/153)   
Compressing objects:  93% (143/153)   
Compressing objects:  94% (144/153)   
Compressing objects:  95% (146/153)   
Compressing objects:  96% (147/153)   
Compressing objects:  97% (149/153)   
Compressing objects:  98% (150/153)   
Compressing objects:  99% (152/153)   
Compressing objects: 100% (153/153)   
Compressing objects: 100% (153/153), done.
Writing objects:   0% (1/727)   
Writing objects:   1% (8/727)   
Writing objects:   2% (15/727)   
Writing objects:   3% (22/727)   
Writing objects:   4% (30/727)   
Writing objects:   5% (37/727)   
Writing objects:   6% (44/727)   
Writing objects:   7% (51/727)   
Writing objects:   8% (59/727)   
Writing objects:   9% (66/727)   
Writing objects:  10% (73/727)   
Writing objects:  11% (80/727)   
Writing objects:  12% (88/727)   
Writing objects:  13% (95/727)   
Writing objects:  14% (102/727)   
Writing objects:  15% (110/727)   
Writing objects:  16% (117/727)   
Writing objects:  17% (124/727)   
Writing objects:  18% (131/727)   
Writing objects:  19% (139/727)   
Writing objects:  20% (146/727)   
Writing objects:  21% (154/727)   
Writing objects:  22% (160/727)   
Writing objects:  23% (168/727)   
Writing objects:  24% (175/727)   
Writing objects:  25% (182/727)   
Writing objects:  26% (190/727)   
Writing objects:  27% (197/727)   
Writing objects:  28% (204/727)   
Writing objects:  29% (211/727)   
Writing objects:  30% (219/727)   
Writing objects:  31% (226/727)   
Writing objects:  32% (233/727)   
Writing objects:  33% (240/727)   
Writing objects:  34% (248/727)   
Writing objects:  35% (255/727)   
Writing objects:  36% (263/727)   
Writing objects:  37% (269/727)   
Writing objects:  38% (277/727)   
Writing objects:  39% (284/727)   
Writing objects:  40% (291/727)   
Writing objects:  41% (299/727)   
Writing objects:  42% (306/727)   
Writing objects:  43% (314/727)   
Writing objects:  44% (320/727)   
Writing objects:  45% (328/727)   
Writing objects:  46% (335/727)   
Writing objects:  47% (342/727)   
Writing objects:  48% (349/727)   
Writing objects:  49% (357/727)   
Writing objects:  50% (364/727)   
Writing objects:  51% (371/727)   
Writing objects:  52% (379/727)   
Writing objects:  53% (386/727)   
Writing objects:  54% (393/727)   
Writing objects:  55% (400/727)   
Writing objects:  56% (408/727)   
Writing objects:  57% (415/727)   
Writing objects:  58% (422/727)   
Writing objects:  59% (429/727)   
Writing objects:  60% (437/727)   
Writing objects:  61% (444/727)   
Writing objects:  62% (451/727)   
Writing objects:  63% (459/727)   
Writing objects:  64% (466/727)   
Writing objects:  65% (473/727)   
Writing objects:  66% (480/727)   
Writing objects:  67% (488/727)   
Writing objects:  68% (495/727)   
Writing objects:  69% (502/727)   
Writing objects:  70% (509/727)   
Writing objects:  71% (517/727)   
Writing objects:  72% (524/727)   
Writing objects:  73% (531/727)   
Writing objects:  74% (538/727)   
Writing objects:  75% (546/727)   
Writing objects:  76% (553/727)   
Writing objects:  77% (560/727)   
Writing objects:  78% (568/727)   
Writing objects:  79% (575/727)   
Writing objects:  80% (582/727)   
Writing objects:  81% (589/727)   
Writing objects:  82% (597/727)   
Writing objects:  83% (604/727)   
Writing objects:  84% (611/727)   
Writing objects:  85% (618/727)   
Writing objects:  86% (626/727)   
Writing objects:  87% (633/727)   
Writing objects:  88% (640/727)   
Writing objects:  89% (648/727)   
Writing objects:  90% (655/727)   
Writing objects:  91% (662/727)   
Writing objects:  92% (669/727)   
Writing objects:  93% (677/727)   
Writing objects:  94% (684/727)   
Writing objects:  95% (691/727)   
Writing objects:  96% (698/727)   
Writing objects:  97% (706/727)   
Writing objects:  98% (713/727)   
Writing objects:  99% (720/727)   
Writing objects: 100% (727/727)   
Writing objects: 100% (727/727), 126.51 KiB, done.
Total 727 (delta 597), reused 702 (delta 572)
To xen@xenbits.xensource.com:git/linux-pvops.git
   0527fde..f1c84a5  f1c84a5cb52ee2915457b481c756fcc1dfe6a471 -> tested/linux-3.0
+ exit 0

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:12:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:12:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzZy-0005UP-Cl; Thu, 03 May 2012 17:12:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SPzZw-0005UK-Lo
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:12:33 +0000
Received: from [193.109.254.147:56342] by server-8.bemta-14.messagelabs.com id
	FB/25-23244-08CB2AF4; Thu, 03 May 2012 17:12:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336065151!702356!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7655 invoked from network); 3 May 2012 17:12:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 17:12:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,524,1330905600"; d="scan'208";a="12281168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 17:12:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 18:12:30 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SPzZu-0003Mb-LT;
	Thu, 03 May 2012 17:12:30 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SPzZu-00044Q-Iq;
	Thu, 03 May 2012 18:12:30 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12787-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 3 May 2012 18:12:30 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12787: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12787 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12787/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-win         12 guest-localmigrate/x10      fail pass in 12768
 test-i386-i386-xl             3 host-install(3)  broken in 12768 pass in 12787
 test-i386-i386-pv             3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-xl            3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-pv            3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-xl-multivcpu  3 host-install(3)  broken in 12768 pass in 12787
 test-amd64-i386-rhel6hvm-amd  3 host-install(3)  broken in 12768 pass in 12787

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check      fail in 12768 never pass

version targeted for testing:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471
baseline version:
 linux                0527fde0639955203ad48a9fd83bd6fc35e82e07

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=linux-3.0
+ revision=f1c84a5cb52ee2915457b481c756fcc1dfe6a471
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push linux-3.0 f1c84a5cb52ee2915457b481c756fcc1dfe6a471
+ branch=linux-3.0
+ revision=f1c84a5cb52ee2915457b481c756fcc1dfe6a471
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=linux
+ xenbranch=xen-unstable
+ '[' xlinux = xlinux ']'
+ linuxbranch=linux-3.0
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.linux-3.0
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.linux-3.0
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree linux-3.0
+ case $1 in
+ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+ : linux-3.0.y
+ : linux-3.0.y
+ : git
+ : git
+ : git://xenbits.xen.org/linux-pvops.git
+ : xen@xenbits.xensource.com:git/linux-pvops.git
+ : tested/linux-3.0
+ : tested/linux-3.0
+ return 0
+ cd /export/home/osstest/repos/linux
+ git push xen@xenbits.xensource.com:git/linux-pvops.git f1c84a5cb52ee2915457b481c756fcc1dfe6a471:tested/linux-3.0
Counting objects: 1   
Counting objects: 932, done.
Compressing objects:   0% (1/153)   
Compressing objects:   1% (2/153)   
Compressing objects:   2% (4/153)   
Compressing objects:   3% (5/153)   
Compressing objects:   4% (7/153)   
Compressing objects:   5% (8/153)   
Compressing objects:   6% (10/153)   
Compressing objects:   7% (11/153)   
Compressing objects:   8% (13/153)   
Compressing objects:   9% (14/153)   
Compressing objects:  10% (16/153)   
Compressing objects:  11% (17/153)   
Compressing objects:  12% (19/153)   
Compressing objects:  13% (20/153)   
Compressing objects:  14% (22/153)   
Compressing objects:  15% (23/153)   
Compressing objects:  16% (25/153)   
Compressing objects:  17% (27/153)   
Compressing objects:  18% (28/153)   
Compressing objects:  19% (30/153)   
Compressing objects:  20% (31/153)   
Compressing objects:  21% (33/153)   
Compressing objects:  22% (34/153)   
Compressing objects:  23% (36/153)   
Compressing objects:  24% (37/153)   
Compressing objects:  25% (39/153)   
Compressing objects:  26% (40/153)   
Compressing objects:  27% (42/153)   
Compressing objects:  28% (43/153)   
Compressing objects:  29% (45/153)   
Compressing objects:  30% (46/153)   
Compressing objects:  31% (48/153)   
Compressing objects:  32% (49/153)   
Compressing objects:  33% (51/153)   
Compressing objects:  34% (53/153)   
Compressing objects:  35% (54/153)   
Compressing objects:  36% (56/153)   
Compressing objects:  37% (57/153)   
Compressing objects:  38% (59/153)   
Compressing objects:  39% (60/153)   
Compressing objects:  40% (62/153)   
Compressing objects:  41% (63/153)   
Compressing objects:  42% (65/153)   
Compressing objects:  43% (66/153)   
Compressing objects:  44% (68/153)   
Compressing objects:  45% (69/153)   
Compressing objects:  46% (71/153)   
Compressing objects:  47% (72/153)   
Compressing objects:  48% (74/153)   
Compressing objects:  49% (75/153)   
Compressing objects:  50% (77/153)   
Compressing objects:  51% (79/153)   
Compressing objects:  52% (80/153)   
Compressing objects:  53% (82/153)   
Compressing objects:  54% (83/153)   
Compressing objects:  55% (85/153)   
Compressing objects:  56% (86/153)   
Compressing objects:  57% (88/153)   
Compressing objects:  58% (89/153)   
Compressing objects:  59% (91/153)   
Compressing objects:  60% (92/153)   
Compressing objects:  61% (94/153)   
Compressing objects:  62% (95/153)   
Compressing objects:  63% (97/153)   
Compressing objects:  64% (98/153)   
Compressing objects:  65% (100/153)   
Compressing objects:  66% (101/153)   
Compressing objects:  67% (103/153)   
Compressing objects:  68% (105/153)   
Compressing objects:  69% (106/153)   
Compressing objects:  70% (108/153)   
Compressing objects:  71% (109/153)   
Compressing objects:  72% (111/153)   
Compressing objects:  73% (112/153)   
Compressing objects:  74% (114/153)   
Compressing objects:  75% (115/153)   
Compressing objects:  76% (117/153)   
Compressing objects:  77% (118/153)   
Compressing objects:  78% (120/153)   
Compressing objects:  79% (121/153)   
Compressing objects:  80% (123/153)   
Compressing objects:  81% (124/153)   
Compressing objects:  82% (126/153)   
Compressing objects:  83% (127/153)   
Compressing objects:  84% (129/153)   
Compressing objects:  85% (131/153)   
Compressing objects:  86% (132/153)   
Compressing objects:  87% (134/153)   
Compressing objects:  88% (135/153)   
Compressing objects:  89% (137/153)   
Compressing objects:  90% (138/153)   
Compressing objects:  91% (140/153)   
Compressing objects:  92% (141/153)   
Compressing objects:  93% (143/153)   
Compressing objects:  94% (144/153)   
Compressing objects:  95% (146/153)   
Compressing objects:  96% (147/153)   
Compressing objects:  97% (149/153)   
Compressing objects:  98% (150/153)   
Compressing objects:  99% (152/153)   
Compressing objects: 100% (153/153)   
Compressing objects: 100% (153/153), done.
Writing objects:   0% (1/727)   
Writing objects:   1% (8/727)   
Writing objects:   2% (15/727)   
Writing objects:   3% (22/727)   
Writing objects:   4% (30/727)   
Writing objects:   5% (37/727)   
Writing objects:   6% (44/727)   
Writing objects:   7% (51/727)   
Writing objects:   8% (59/727)   
Writing objects:   9% (66/727)   
Writing objects:  10% (73/727)   
Writing objects:  11% (80/727)   
Writing objects:  12% (88/727)   
Writing objects:  13% (95/727)   
Writing objects:  14% (102/727)   
Writing objects:  15% (110/727)   
Writing objects:  16% (117/727)   
Writing objects:  17% (124/727)   
Writing objects:  18% (131/727)   
Writing objects:  19% (139/727)   
Writing objects:  20% (146/727)   
Writing objects:  21% (154/727)   
Writing objects:  22% (160/727)   
Writing objects:  23% (168/727)   
Writing objects:  24% (175/727)   
Writing objects:  25% (182/727)   
Writing objects:  26% (190/727)   
Writing objects:  27% (197/727)   
Writing objects:  28% (204/727)   
Writing objects:  29% (211/727)   
Writing objects:  30% (219/727)   
Writing objects:  31% (226/727)   
Writing objects:  32% (233/727)   
Writing objects:  33% (240/727)   
Writing objects:  34% (248/727)   
Writing objects:  35% (255/727)   
Writing objects:  36% (263/727)   
Writing objects:  37% (269/727)   
Writing objects:  38% (277/727)   
Writing objects:  39% (284/727)   
Writing objects:  40% (291/727)   
Writing objects:  41% (299/727)   
Writing objects:  42% (306/727)   
Writing objects:  43% (314/727)   
Writing objects:  44% (320/727)   
Writing objects:  45% (328/727)   
Writing objects:  46% (335/727)   
Writing objects:  47% (342/727)   
Writing objects:  48% (349/727)   
Writing objects:  49% (357/727)   
Writing objects:  50% (364/727)   
Writing objects:  51% (371/727)   
Writing objects:  52% (379/727)   
Writing objects:  53% (386/727)   
Writing objects:  54% (393/727)   
Writing objects:  55% (400/727)   
Writing objects:  56% (408/727)   
Writing objects:  57% (415/727)   
Writing objects:  58% (422/727)   
Writing objects:  59% (429/727)   
Writing objects:  60% (437/727)   
Writing objects:  61% (444/727)   
Writing objects:  62% (451/727)   
Writing objects:  63% (459/727)   
Writing objects:  64% (466/727)   
Writing objects:  65% (473/727)   
Writing objects:  66% (480/727)   
Writing objects:  67% (488/727)   
Writing objects:  68% (495/727)   
Writing objects:  69% (502/727)   
Writing objects:  70% (509/727)   
Writing objects:  71% (517/727)   
Writing objects:  72% (524/727)   
Writing objects:  73% (531/727)   
Writing objects:  74% (538/727)   
Writing objects:  75% (546/727)   
Writing objects:  76% (553/727)   
Writing objects:  77% (560/727)   
Writing objects:  78% (568/727)   
Writing objects:  79% (575/727)   
Writing objects:  80% (582/727)   
Writing objects:  81% (589/727)   
Writing objects:  82% (597/727)   
Writing objects:  83% (604/727)   
Writing objects:  84% (611/727)   
Writing objects:  85% (618/727)   
Writing objects:  86% (626/727)   
Writing objects:  87% (633/727)   
Writing objects:  88% (640/727)   
Writing objects:  89% (648/727)   
Writing objects:  90% (655/727)   
Writing objects:  91% (662/727)   
Writing objects:  92% (669/727)   
Writing objects:  93% (677/727)   
Writing objects:  94% (684/727)   
Writing objects:  95% (691/727)   
Writing objects:  96% (698/727)   
Writing objects:  97% (706/727)   
Writing objects:  98% (713/727)   
Writing objects:  99% (720/727)   
Writing objects: 100% (727/727)   
Writing objects: 100% (727/727), 126.51 KiB, done.
Total 727 (delta 597), reused 702 (delta 572)
To xen@xenbits.xensource.com:git/linux-pvops.git
   0527fde..f1c84a5  f1c84a5cb52ee2915457b481c756fcc1dfe6a471 -> tested/linux-3.0
+ exit 0

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:15:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:15:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzcu-0005bj-4R; Thu, 03 May 2012 17:15:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPzcs-0005bc-TF
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:15:35 +0000
Received: from [85.158.139.83:61562] by server-5.bemta-5.messagelabs.com id
	4B/C5-13566-63DB2AF4; Thu, 03 May 2012 17:15:34 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336065332!19298903!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA4MjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5672 invoked from network); 3 May 2012 17:15:33 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 17:15:33 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43HEiI3031816
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 17:14:45 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43HEhnq000249
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 17:14:44 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43HEf9f029307; Thu, 3 May 2012 12:14:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 10:14:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 180A94031D; Thu,  3 May 2012 13:08:59 -0400 (EDT)
Date: Thu, 3 May 2012 13:08:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
Message-ID: <20120503170858.GC9992@phenom.dumpdata.com>
References: <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
	<20120503154620.GB3464@andromeda.dapyr.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120503154620.GB3464@andromeda.dapyr.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > Hmmm, so xen_apic_read is still correct...
> > 
> > [    0.000000] ACPI: Local APIC address 0xfee00000
> > [    0.000000] xxx xen_apic_read(20)
> > [    0.000000] xxx xen_apic_read -> 10
> > [    0.000000] boot_cpu_physical_apicid = 0
> > [    0.000000] xxx xen_apic_read(30)
> > [    0.000000] +- apic version = 10
> > 
> > there seems to be a slightly strange tweak (at least for me) in read_apic_id...
> > 
> > static inline unsigned int read_apic_id(void)
> > {
> >         unsigned int reg;
> > 
> >         reg = apic_read(APIC_ID); // calls apic->read(reg)
> > 
> >         return apic->get_apic_id(reg);
> 
> Duh!! Let me spin out a new patch that will do this.

Meaning bit-shift it. We ended up doing 10 >> 24 (get_apic_id does that)
which results in zero. So lets be a bit more cautious and over-write
the get_apic_id and set_apic_id and as well do the proper bit-shifting.

commit 4bb450ea9dca1b8d845f1b53ab6476615a32badf
Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date:   Wed May 2 15:04:51 2012 -0400

    xen/apic: Return the APIC ID (and version) for CPU 0.
    
    On x86_64 on AMD machines where the first APIC_ID is not zero, we get:
    
    ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
    BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0x10
    BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: version 10
    
    which means that when the ACPI processor driver loads and
    tries to parse the _Pxx states it fails to do as, as it
    ends up calling acpi_get_cpuid which does this:
    
    for_each_possible_cpu(i) {
            if (cpu_physical_id(i) == apic_id)
                    return i;
    }
    
    And the bootup CPU, has not been found so it fails and returns -1
    for the first CPU - which then subsequently in the loop that
    "acpi_processor_get_info" does results in returning an error, which
    means that "acpi_processor_add" failing and per_cpu(processor)
    is never set (and is NULL).
    
    That means that when xen-acpi-processor tries to load (much much
    later on) and parse the P-states it gets -ENODEV from
    acpi_processor_register_performance() (which tries to read
    the per_cpu(processor)) and fails to parse the data.
    
    Reported-by:  Stefan Bader <stefan.bader@canonical.com>
    Suggested-by:  Boris Ostrovsky <boris.ostrovsky@amd.com>
    [v2: Bit-shift APIC ID by 24 bits]
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..63d6c22 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -53,6 +53,9 @@
 #include <asm/processor.h>
 #include <asm/proto.h>
 #include <asm/msr-index.h>
+#ifdef CONFIG_NUMA
+#include <asm/numa.h>
+#endif
 #include <asm/traps.h>
 #include <asm/setup.h>
 #include <asm/desc.h>
@@ -809,9 +812,40 @@ static void xen_io_delay(void)
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
+static unsigned long xen_set_apic_id(unsigned int x)
+{
+	WARN_ON(1);
+	return x;
+}
+static unsigned int xen_get_apic_id(unsigned long x)
+{
+	return (((x)>>24) & 0xFFu);
+}
 static u32 xen_apic_read(u32 reg)
 {
-	return 0;
+	struct xen_platform_op op = {
+		.cmd = XENPF_get_cpuinfo,
+		.interface_version = XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid = 0,
+	};
+	int ret = 0;
+
+	/* Shouldn't need this as APIC is turned off for PV, and we only
+	 * get called on the bootup processor. But just in case. */
+	if (!xen_initial_domain() || smp_processor_id())
+		return 0;
+
+	if (reg == APIC_LVR)
+		return 0x10;
+
+	if (reg != APIC_ID)
+		return 0;
+
+	ret = HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return 0;
+
+	return op.u.pcpu_info.apic_id << 24;
 }
 
 static void xen_apic_write(u32 reg, u32 val)
@@ -849,6 +883,8 @@ static void set_xen_basic_apic_ops(void)
 	apic->icr_write = xen_apic_icr_write;
 	apic->wait_icr_idle = xen_apic_wait_icr_idle;
 	apic->safe_wait_icr_idle = xen_safe_apic_wait_icr_idle;
+	apic->set_apic_id = xen_set_apic_id;
+	apic->get_apic_id = xen_get_apic_id;
 }
 
 #endif
@@ -1294,6 +1330,9 @@ asmlinkage void __init xen_start_kernel(void)
 	 */
 	acpi_numa = -1;
 #endif
+#if defined(CONFIG_NUMA) && defined(CONFIG_X86_32)
+	numa_off = 1;
+#endif
 
 	pgd = (pgd_t *)xen_start_info->pt_base;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:15:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:15:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzcu-0005bj-4R; Thu, 03 May 2012 17:15:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPzcs-0005bc-TF
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:15:35 +0000
Received: from [85.158.139.83:61562] by server-5.bemta-5.messagelabs.com id
	4B/C5-13566-63DB2AF4; Thu, 03 May 2012 17:15:34 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336065332!19298903!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA4MjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5672 invoked from network); 3 May 2012 17:15:33 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 17:15:33 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43HEiI3031816
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 17:14:45 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43HEhnq000249
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 17:14:44 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43HEf9f029307; Thu, 3 May 2012 12:14:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 10:14:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 180A94031D; Thu,  3 May 2012 13:08:59 -0400 (EDT)
Date: Thu, 3 May 2012 13:08:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
Message-ID: <20120503170858.GC9992@phenom.dumpdata.com>
References: <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
	<20120503154620.GB3464@andromeda.dapyr.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120503154620.GB3464@andromeda.dapyr.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Boris Ostrovsky <boris.ostrovsky@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > Hmmm, so xen_apic_read is still correct...
> > 
> > [    0.000000] ACPI: Local APIC address 0xfee00000
> > [    0.000000] xxx xen_apic_read(20)
> > [    0.000000] xxx xen_apic_read -> 10
> > [    0.000000] boot_cpu_physical_apicid = 0
> > [    0.000000] xxx xen_apic_read(30)
> > [    0.000000] +- apic version = 10
> > 
> > there seems to be a slightly strange tweak (at least for me) in read_apic_id...
> > 
> > static inline unsigned int read_apic_id(void)
> > {
> >         unsigned int reg;
> > 
> >         reg = apic_read(APIC_ID); // calls apic->read(reg)
> > 
> >         return apic->get_apic_id(reg);
> 
> Duh!! Let me spin out a new patch that will do this.

Meaning bit-shift it. We ended up doing 10 >> 24 (get_apic_id does that)
which results in zero. So lets be a bit more cautious and over-write
the get_apic_id and set_apic_id and as well do the proper bit-shifting.

commit 4bb450ea9dca1b8d845f1b53ab6476615a32badf
Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date:   Wed May 2 15:04:51 2012 -0400

    xen/apic: Return the APIC ID (and version) for CPU 0.
    
    On x86_64 on AMD machines where the first APIC_ID is not zero, we get:
    
    ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
    BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0x10
    BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: version 10
    
    which means that when the ACPI processor driver loads and
    tries to parse the _Pxx states it fails to do as, as it
    ends up calling acpi_get_cpuid which does this:
    
    for_each_possible_cpu(i) {
            if (cpu_physical_id(i) == apic_id)
                    return i;
    }
    
    And the bootup CPU, has not been found so it fails and returns -1
    for the first CPU - which then subsequently in the loop that
    "acpi_processor_get_info" does results in returning an error, which
    means that "acpi_processor_add" failing and per_cpu(processor)
    is never set (and is NULL).
    
    That means that when xen-acpi-processor tries to load (much much
    later on) and parse the P-states it gets -ENODEV from
    acpi_processor_register_performance() (which tries to read
    the per_cpu(processor)) and fails to parse the data.
    
    Reported-by:  Stefan Bader <stefan.bader@canonical.com>
    Suggested-by:  Boris Ostrovsky <boris.ostrovsky@amd.com>
    [v2: Bit-shift APIC ID by 24 bits]
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..63d6c22 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -53,6 +53,9 @@
 #include <asm/processor.h>
 #include <asm/proto.h>
 #include <asm/msr-index.h>
+#ifdef CONFIG_NUMA
+#include <asm/numa.h>
+#endif
 #include <asm/traps.h>
 #include <asm/setup.h>
 #include <asm/desc.h>
@@ -809,9 +812,40 @@ static void xen_io_delay(void)
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
+static unsigned long xen_set_apic_id(unsigned int x)
+{
+	WARN_ON(1);
+	return x;
+}
+static unsigned int xen_get_apic_id(unsigned long x)
+{
+	return (((x)>>24) & 0xFFu);
+}
 static u32 xen_apic_read(u32 reg)
 {
-	return 0;
+	struct xen_platform_op op = {
+		.cmd = XENPF_get_cpuinfo,
+		.interface_version = XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid = 0,
+	};
+	int ret = 0;
+
+	/* Shouldn't need this as APIC is turned off for PV, and we only
+	 * get called on the bootup processor. But just in case. */
+	if (!xen_initial_domain() || smp_processor_id())
+		return 0;
+
+	if (reg == APIC_LVR)
+		return 0x10;
+
+	if (reg != APIC_ID)
+		return 0;
+
+	ret = HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return 0;
+
+	return op.u.pcpu_info.apic_id << 24;
 }
 
 static void xen_apic_write(u32 reg, u32 val)
@@ -849,6 +883,8 @@ static void set_xen_basic_apic_ops(void)
 	apic->icr_write = xen_apic_icr_write;
 	apic->wait_icr_idle = xen_apic_wait_icr_idle;
 	apic->safe_wait_icr_idle = xen_safe_apic_wait_icr_idle;
+	apic->set_apic_id = xen_set_apic_id;
+	apic->get_apic_id = xen_get_apic_id;
 }
 
 #endif
@@ -1294,6 +1330,9 @@ asmlinkage void __init xen_start_kernel(void)
 	 */
 	acpi_numa = -1;
 #endif
+#if defined(CONFIG_NUMA) && defined(CONFIG_X86_32)
+	numa_off = 1;
+#endif
 
 	pgd = (pgd_t *)xen_start_info->pt_base;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:28:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzow-0005oL-Dx; Thu, 03 May 2012 17:28:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPzou-0005oG-Kg
	for xen-devel@lists.xen.org; Thu, 03 May 2012 17:28:00 +0000
Received: from [85.158.143.99:53034] by server-1.bemta-4.messagelabs.com id
	A3/67-20925-020C2AF4; Thu, 03 May 2012 17:28:00 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336066077!16754083!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMDYxNQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15409 invoked from network); 3 May 2012 17:27:59 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 17:27:59 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43HRtLK028709
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 17:27:55 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43HRri1023633
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 17:27:54 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43HRrRp017890; Thu, 3 May 2012 12:27:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 10:27:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D71854031D; Thu,  3 May 2012 13:22:11 -0400 (EDT)
Date: Thu, 3 May 2012 13:22:11 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120503172211.GE9992@phenom.dumpdata.com>
References: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] reading IOPL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 05:07:04PM +0100, Jan Beulich wrote:
> Both Linux and Xen offer only ways to set the IOPL. While on native Linux
> this is not a problem since user mode code can read the IOPL by inspecting
> EFLAGS, on Xen this would always yield zero.
> 
> Now X folks appear to be using save-modify-restore cycles in some newer
> code, and this obviously breaks under Xen, as they would restore IOPL 0

This is in the KMS drivers or in the user-land Xorg?

> even when IOPL 3 was in effect before.
> 
> Since the only way to read the IOPL is xc_vcpu_getcontext() (i.e.
> XEN_DOMCTL_getvcpucontext), I wonder whether we shouldn't add
> e.g. a "get" counterpart to PHYSDEVOP_set_iopl.
> 
> Or am I overlooking some other access mechanism?
> 
> Jan
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:28:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzow-0005oL-Dx; Thu, 03 May 2012 17:28:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPzou-0005oG-Kg
	for xen-devel@lists.xen.org; Thu, 03 May 2012 17:28:00 +0000
Received: from [85.158.143.99:53034] by server-1.bemta-4.messagelabs.com id
	A3/67-20925-020C2AF4; Thu, 03 May 2012 17:28:00 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336066077!16754083!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMDYxNQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15409 invoked from network); 3 May 2012 17:27:59 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 17:27:59 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43HRtLK028709
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 17:27:55 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43HRri1023633
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 17:27:54 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43HRrRp017890; Thu, 3 May 2012 12:27:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 10:27:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D71854031D; Thu,  3 May 2012 13:22:11 -0400 (EDT)
Date: Thu, 3 May 2012 13:22:11 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120503172211.GE9992@phenom.dumpdata.com>
References: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] reading IOPL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 05:07:04PM +0100, Jan Beulich wrote:
> Both Linux and Xen offer only ways to set the IOPL. While on native Linux
> this is not a problem since user mode code can read the IOPL by inspecting
> EFLAGS, on Xen this would always yield zero.
> 
> Now X folks appear to be using save-modify-restore cycles in some newer
> code, and this obviously breaks under Xen, as they would restore IOPL 0

This is in the KMS drivers or in the user-land Xorg?

> even when IOPL 3 was in effect before.
> 
> Since the only way to read the IOPL is xc_vcpu_getcontext() (i.e.
> XEN_DOMCTL_getvcpucontext), I wonder whether we shouldn't add
> e.g. a "get" counterpart to PHYSDEVOP_set_iopl.
> 
> Or am I overlooking some other access mechanism?
> 
> Jan
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:30:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzr5-0005tE-VY; Thu, 03 May 2012 17:30:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPzr4-0005t6-Hi
	for xen-devel@lists.xen.org; Thu, 03 May 2012 17:30:14 +0000
Received: from [85.158.139.83:10278] by server-4.bemta-5.messagelabs.com id
	7F/FD-10788-5A0C2AF4; Thu, 03 May 2012 17:30:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336066211!26571604!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMDYxNQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28893 invoked from network); 3 May 2012 17:30:12 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 17:30:12 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43HU85V031096
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 17:30:09 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43HU8E5026051
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 17:30:08 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43HU8ot008536; Thu, 3 May 2012 12:30:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 10:30:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7422E4031D; Thu,  3 May 2012 13:24:26 -0400 (EDT)
Date: Thu, 3 May 2012 13:24:26 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Sam Mulvey <sam@tacomatelematics.com>
Message-ID: <20120503172426.GF9992@phenom.dumpdata.com>
References: <9AE360C4-B0F2-4672-9C5D-CF9CD1E1C4AA@tacomatelematics.com>
	<alpine.DEB.2.00.1204241356300.26786@kaball-desktop>
	<FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: great.potato@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 08:37:16AM -0700, Sam Mulvey wrote:
> 
> Hey folks...
> 
> This is with the same packages and such that I've been work on with Arch, and I encountered an odd crash.   If I need to move this thread to Xen-users or whatnot, apologies and please let me know.
> 
> The packages that I've been working with functioned great in the desktop VM, and worked wonderfully in PV and HVM on my test hardware (an HP server with Intel Xeons), but crashes right out of the gate on my production server (Tyan motherboard with Opteron 8356s).   When I move the kernel back to a 2.6.32.18 pvops kernel I had been using, I can boot and run VMs without trouble.
> 
> Incidentally, I can now boot as many VMs as I like as long as the memory holds out, so the initial trouble that got all of this started looks like it's been fixed.
> 
> 
> Everything looks normal until Xen hands off to the kernel, then I get this:

This looks like an E820 alignment issue. Can you provide the full serial output please.


> 
> [    0.000000] Cannot find 20480 bytes in node 1
> [    0.000000] BUG: unable to handle kernel NULL pointer dereference at           (null)
> [    0.000000] IP: [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
> [    0.000000] PGD 0 
> [    0.000000] Oops: 0000 [#1] PREEMPT SMP 
> [    0.000000] CPU 0 
> [    0.000000] Modules linked in:
> [    0.000000] 
> [    0.000000] Pid: 0, comm: swapper Not tainted 3.3.4-1-ARCH #1 empty empty/S3992
> [    0.000000] RIP: e030:[<ffffffff818d5704>]  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
> [    0.000000] RSP: e02b:ffffffff81801de8  EFLAGS: 00010046
> [    0.000000] RAX: 0000000000000000 RBX: 0000000000000378 RCX: 0000000000000000
> [    0.000000] RDX: 0000000000000040 RSI: 0000000000000378 RDI: 0000000000000000
> [    0.000000] RBP: ffffffff81801e08 R08: 0000000000000000 R09: ffffffff81801d98
> [    0.000000] R10: ffffffff81801d88 R11: ffffffff81801d90 R12: 0000000000000040
> [    0.000000] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001
> [    0.000000] FS:  0000000000000000(0000) GS:ffffffff8189f000(0000) knlGS:0000000000000000
> [    0.000000] CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    0.000000] CR2: 0000000000000000 CR3: 0000000001805000 CR4: 0000000000000660
> [    0.000000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [    0.000000] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
> [    0.000000] Process swapper (pid: 0, threadinfo ffffffff81800000, task ffffffff8180d020)
> [    0.000000] Stack:
> [    0.000000]  0000000000080000 0000000000000378 000000000000003c ffff88003fbfa000
> [    0.000000]  ffffffff81801e68 ffffffff818d63f0 ffffffff81801e48 00000001818d53bc
> [    0.000000]  ffff88003fbf9fe0 0000000000000000 000000000282c000 ffff88003fbfa000
> [    0.000000] Call Trace:
> [    0.000000]  [<ffffffff818d63f0>] sparse_early_usemaps_alloc_node+0x63/0x1c4
> [    0.000000]  [<ffffffff818d677b>] sparse_init+0xf8/0x2c8
> [    0.000000]  [<ffffffff818ca4d2>] paging_init+0x13/0x22
> [    0.000000]  [<ffffffff818b9dca>] setup_arch+0x9f2/0xac0
> [    0.000000]  [<ffffffff814562d2>] ? printk+0x41/0x43
> [    0.000000]  [<ffffffff818b491b>] start_kernel+0xd4/0x3d1
> [    0.000000]  [<ffffffff818b4346>] x86_64_start_reservations+0x131/0x135
> [    0.000000]  [<ffffffff818b69c9>] xen_start_kernel+0x598/0x59f
> [    0.000000] Code: 4c 89 e9 4c 89 e2 48 89 de bf 40 00 00 00 e8 0f fc ff ff eb 34 41 8b 96 a0 40 00 00 be 00 80 00 00 48 89 d 
> [    0.000000] RIP  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
> [    0.000000]  RSP <ffffffff81801de8>
> [    0.000000] CR2: 0000000000000000
> [    0.000000] ---[ end trace a7919e7f17c0a725 ]---
> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
> (XEN) Domain 0 crashed: rebooting machine in 5 seconds.
> 
> ----
> 
> This is the same kernel I've been using in the two testing machines.    The server is, incidentally, the same server that houses the mail server I'm on, so I'm cc'ing a gmail address, if you could include it in your replies, I'd appreciate it.
> 
> Thanks!
> 
> -- 
> Sam Mulvey
> Tacoma Telematics
> sam@tacomatelematics.com
> (253) 883-3030 x110
> 
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 17:30:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 17:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SPzr5-0005tE-VY; Thu, 03 May 2012 17:30:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SPzr4-0005t6-Hi
	for xen-devel@lists.xen.org; Thu, 03 May 2012 17:30:14 +0000
Received: from [85.158.139.83:10278] by server-4.bemta-5.messagelabs.com id
	7F/FD-10788-5A0C2AF4; Thu, 03 May 2012 17:30:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336066211!26571604!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMDYxNQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28893 invoked from network); 3 May 2012 17:30:12 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 17:30:12 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43HU85V031096
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 17:30:09 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43HU8E5026051
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 17:30:08 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43HU8ot008536; Thu, 3 May 2012 12:30:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 10:30:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7422E4031D; Thu,  3 May 2012 13:24:26 -0400 (EDT)
Date: Thu, 3 May 2012 13:24:26 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Sam Mulvey <sam@tacomatelematics.com>
Message-ID: <20120503172426.GF9992@phenom.dumpdata.com>
References: <9AE360C4-B0F2-4672-9C5D-CF9CD1E1C4AA@tacomatelematics.com>
	<alpine.DEB.2.00.1204241356300.26786@kaball-desktop>
	<FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: great.potato@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 08:37:16AM -0700, Sam Mulvey wrote:
> 
> Hey folks...
> 
> This is with the same packages and such that I've been work on with Arch, and I encountered an odd crash.   If I need to move this thread to Xen-users or whatnot, apologies and please let me know.
> 
> The packages that I've been working with functioned great in the desktop VM, and worked wonderfully in PV and HVM on my test hardware (an HP server with Intel Xeons), but crashes right out of the gate on my production server (Tyan motherboard with Opteron 8356s).   When I move the kernel back to a 2.6.32.18 pvops kernel I had been using, I can boot and run VMs without trouble.
> 
> Incidentally, I can now boot as many VMs as I like as long as the memory holds out, so the initial trouble that got all of this started looks like it's been fixed.
> 
> 
> Everything looks normal until Xen hands off to the kernel, then I get this:

This looks like an E820 alignment issue. Can you provide the full serial output please.


> 
> [    0.000000] Cannot find 20480 bytes in node 1
> [    0.000000] BUG: unable to handle kernel NULL pointer dereference at           (null)
> [    0.000000] IP: [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
> [    0.000000] PGD 0 
> [    0.000000] Oops: 0000 [#1] PREEMPT SMP 
> [    0.000000] CPU 0 
> [    0.000000] Modules linked in:
> [    0.000000] 
> [    0.000000] Pid: 0, comm: swapper Not tainted 3.3.4-1-ARCH #1 empty empty/S3992
> [    0.000000] RIP: e030:[<ffffffff818d5704>]  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
> [    0.000000] RSP: e02b:ffffffff81801de8  EFLAGS: 00010046
> [    0.000000] RAX: 0000000000000000 RBX: 0000000000000378 RCX: 0000000000000000
> [    0.000000] RDX: 0000000000000040 RSI: 0000000000000378 RDI: 0000000000000000
> [    0.000000] RBP: ffffffff81801e08 R08: 0000000000000000 R09: ffffffff81801d98
> [    0.000000] R10: ffffffff81801d88 R11: ffffffff81801d90 R12: 0000000000000040
> [    0.000000] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001
> [    0.000000] FS:  0000000000000000(0000) GS:ffffffff8189f000(0000) knlGS:0000000000000000
> [    0.000000] CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    0.000000] CR2: 0000000000000000 CR3: 0000000001805000 CR4: 0000000000000660
> [    0.000000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [    0.000000] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
> [    0.000000] Process swapper (pid: 0, threadinfo ffffffff81800000, task ffffffff8180d020)
> [    0.000000] Stack:
> [    0.000000]  0000000000080000 0000000000000378 000000000000003c ffff88003fbfa000
> [    0.000000]  ffffffff81801e68 ffffffff818d63f0 ffffffff81801e48 00000001818d53bc
> [    0.000000]  ffff88003fbf9fe0 0000000000000000 000000000282c000 ffff88003fbfa000
> [    0.000000] Call Trace:
> [    0.000000]  [<ffffffff818d63f0>] sparse_early_usemaps_alloc_node+0x63/0x1c4
> [    0.000000]  [<ffffffff818d677b>] sparse_init+0xf8/0x2c8
> [    0.000000]  [<ffffffff818ca4d2>] paging_init+0x13/0x22
> [    0.000000]  [<ffffffff818b9dca>] setup_arch+0x9f2/0xac0
> [    0.000000]  [<ffffffff814562d2>] ? printk+0x41/0x43
> [    0.000000]  [<ffffffff818b491b>] start_kernel+0xd4/0x3d1
> [    0.000000]  [<ffffffff818b4346>] x86_64_start_reservations+0x131/0x135
> [    0.000000]  [<ffffffff818b69c9>] xen_start_kernel+0x598/0x59f
> [    0.000000] Code: 4c 89 e9 4c 89 e2 48 89 de bf 40 00 00 00 e8 0f fc ff ff eb 34 41 8b 96 a0 40 00 00 be 00 80 00 00 48 89 d 
> [    0.000000] RIP  [<ffffffff818d5704>] __alloc_bootmem_node+0x72/0x99
> [    0.000000]  RSP <ffffffff81801de8>
> [    0.000000] CR2: 0000000000000000
> [    0.000000] ---[ end trace a7919e7f17c0a725 ]---
> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
> (XEN) Domain 0 crashed: rebooting machine in 5 seconds.
> 
> ----
> 
> This is the same kernel I've been using in the two testing machines.    The server is, incidentally, the same server that houses the mail server I'm on, so I'm cc'ing a gmail address, if you could include it in your replies, I'd appreciate it.
> 
> Thanks!
> 
> -- 
> Sam Mulvey
> Tacoma Telematics
> sam@tacomatelematics.com
> (253) 883-3030 x110
> 
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:02:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:02:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0M1-0006IO-Or; Thu, 03 May 2012 18:02:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SQ0M0-0006IG-8H
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:02:12 +0000
Received: from [85.158.143.35:5141] by server-3.bemta-4.messagelabs.com id
	DA/C9-05853-328C2AF4; Thu, 03 May 2012 18:02:11 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336068128!7454152!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9329 invoked from network); 3 May 2012 18:02:09 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 18:02:09 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id EE19A10211FC6;
	Thu,  3 May 2012 10:50:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id t03I563Yfjwt; Thu,  3 May 2012 10:49:57 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id 8DDAF10211FC2;
	Thu,  3 May 2012 10:49:57 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <20120503172426.GF9992@phenom.dumpdata.com>
Date: Thu, 3 May 2012 11:02:02 -0700
Message-Id: <8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
References: <9AE360C4-B0F2-4672-9C5D-CF9CD1E1C4AA@tacomatelematics.com>
	<alpine.DEB.2.00.1204241356300.26786@kaball-desktop>
	<FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
	<20120503172426.GF9992@phenom.dumpdata.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen-devel@lists.xen.org, great.potato@gmail.com
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ck9uIE1heSAzLCAyMDEyLCBhdCAxMDoyNCBBTSwgS29ucmFkIFJ6ZXN6dXRlayBXaWxrIHdyb3Rl
Ogo+IAo+IFRoaXMgbG9va3MgbGlrZSBhbiBFODIwIGFsaWdubWVudCBpc3N1ZS4gQ2FuIHlvdSBw
cm92aWRlIHRoZSBmdWxsIHNlcmlhbCBvdXRwdXQgcGxlYXNlLgoKQ29taW5nIHJpZ2h0IHVwIQoK
X18gIF9fICAgICAgICAgICAgXyAgXyAgICBfICAgX19fXyAgCiBcIFwvIC9fX18gXyBfXyAgIHwg
fHwgfCAgLyB8IHxfX18gXCAKICBcICAvLyBfIFwgJ18gXCAgfCB8fCB8XyB8IHwgICBfXykgfAog
IC8gIFwgIF9fLyB8IHwgfCB8X18gICBffHwgfF8gLyBfXy8gCiAvXy9cX1xfX198X3wgfF98ICAg
IHxffChfKV8oXylfX19fX3wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoo
WEVOKSBYZW4gdmVyc2lvbiA0LjEuMiAoc2FtQGxvY2FsZG9tYWluKSAoZ2NjIHZlcnNpb24gNC43
LjAgMjAxMjA0MTQgKHByZXJlbGVhc2UpIChHQ0MpICkgV2VkIE1heSAgMiAxOTo1MToyMSBQRFQg
MjAxMgooWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiB1bmF2YWlsYWJsZQooWEVOKSBCb290bG9hZGVy
OiBHTlUgR1JVQiAwLjk3CihYRU4pIENvbW1hbmQgbGluZTogZG9tMF9tZW09MUcgbG9nbHZsPWFs
bCBndWVzdF9sb2dsdmw9YWxsIGNvbTE9MTE1MjAwLDhuMSBjb25zb2xlPWNvbTEKKFhFTikgVmlk
ZW8gaW5mb3JtYXRpb246CihYRU4pICBWR0EgaXMgdGV4dCBtb2RlIDgweDI1LCBmb250IDh4MTYK
KFhFTikgIFZCRS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMiBzZWNvbmRz
CihYRU4pIERpc2MgaW5mb3JtYXRpb246CihYRU4pICBGb3VuZCAzIE1CUiBzaWduYXR1cmVzCihY
RU4pICBGb3VuZCAzIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCihYRU4pIFhlbi1lODIwIFJB
TSBtYXA6CihYRU4pICAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5ZDAwMCAodXNhYmxl
KQooWEVOKSAgMDAwMDAwMDAwMDA5ZDAwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVkKQoo
WEVOKSAgMDAwMDAwMDAwMDBlMDAwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQooWEVO
KSAgMDAwMDAwMDAwMDEwMDAwMCAtIDAwMDAwMDAwYmZmZjAwMDAgKHVzYWJsZSkKKFhFTikgIDAw
MDAwMDAwYmZmZjAwMDAgLSAwMDAwMDAwMGJmZmZlMDAwIChBQ1BJIGRhdGEpCihYRU4pICAwMDAw
MDAwMGJmZmZlMDAwIC0gMDAwMDAwMDBjMDAwMDAwMCAoQUNQSSBOVlMpCihYRU4pICAwMDAwMDAw
MGZlYzAwMDAwIC0gMDAwMDAwMDBmZWMwMzAwMCAocmVzZXJ2ZWQpCihYRU4pICAwMDAwMDAwMGZl
ZTAwMDAwIC0gMDAwMDAwMDBmZWUwMTAwMCAocmVzZXJ2ZWQpCihYRU4pICAwMDAwMDAwMTAwMDAw
MDAwIC0gMDAwMDAwMDM4MDAwMDAwMCAodXNhYmxlKQooWEVOKSBBQ1BJOiBSU0RQIDAwMEY4M0Mw
LCAwMDI0IChyMiBBQ1BJQU0pCihYRU4pIEFDUEk6IFhTRFQgQkZGRjAxMDAsIDAwNEMgKHIxIDA3
MTAwOCBYU0RUMDk0OCAyMDA4MDcxMCBNU0ZUICAgICAgIDk3KQooWEVOKSBBQ1BJOiBGQUNQIEJG
RkYwMjkwLCAwMEY0IChyMyAwNzEwMDggRkFDUDA5NDggMjAwODA3MTAgTVNGVCAgICAgICA5NykK
KFhFTikgQUNQSTogRFNEVCBCRkZGMDRBMCwgM0I2OCAocjEgIDBBQUFBIDBBQUFBMDAwICAgICAg
ICAwIElOVEwgIDIwMDIwMjYpCihYRU4pIEFDUEk6IEZBQ1MgQkZGRkUwMDAsIDAwNDAKKFhFTikg
QUNQSTogQVBJQyBCRkZGMDM5MCwgMDBDQSAocjEgMDcxMDA4IEFQSUMwOTQ4IDIwMDgwNzEwIE1T
RlQgICAgICAgOTcpCihYRU4pIEFDUEk6IE1DRkcgQkZGRjA0NjAsIDAwM0MgKHIxIDA3MTAwOCBP
RU1NQ0ZHICAyMDA4MDcxMCBNU0ZUICAgICAgIDk3KQooWEVOKSBBQ1BJOiBPRU1CIEJGRkZFMDQw
LCAwMDU2IChyMSAwNzEwMDggT0VNQjA5NDggMjAwODA3MTAgTVNGVCAgICAgICA5NykKKFhFTikg
QUNQSTogU1JBVCBCRkZGNDAxMCwgMDE1MCAocjEgQU1EICAgIEhBTU1FUiAgICAgICAgICAxIEFN
RCAgICAgICAgIDEpCihYRU4pIFN5c3RlbSBSQU06IDEzMzExTUIgKDEzNjMxMDI4a0IpCihYRU4p
IFNSQVQ6IFBYTSAwIC0+IEFQSUMgMCAtPiBOb2RlIDAKKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJ
QyAxIC0+IE5vZGUgMAooWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDIgLT4gTm9kZSAwCihYRU4p
IFNSQVQ6IFBYTSAwIC0+IEFQSUMgMyAtPiBOb2RlIDAKKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJ
QyA0IC0+IE5vZGUgMQooWEVOKSBTUkFUOiBQWE0gMSAtPiBBUElDIDUgLT4gTm9kZSAxCihYRU4p
IFNSQVQ6IFBYTSAxIC0+IEFQSUMgNiAtPiBOb2RlIDEKKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJ
QyA3IC0+IE5vZGUgMQooWEVOKSBTUkFUOiBOb2RlIDAgUFhNIDAgMC1hMDAwMAooWEVOKSBTUkFU
OiBOb2RlIDAgUFhNIDAgMTAwMDAwLWMwMDAwMDAwCihYRU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAx
MDAwMDAwMDAtMWUwMDAwMDAwCihYRU4pIFNSQVQ6IE5vZGUgMSBQWE0gMSAxZTAwMDAwMDAtMzgw
MDAwMDAwCihYRU4pIE5VTUE6IEFsbG9jYXRlZCBtZW1ub2RlbWFwIGZyb20gMzdlNWY1MDAwIC0g
MzdlNWY5MDAwCihYRU4pIE5VTUE6IFVzaW5nIDggZm9yIHRoZSBoYXNoIHNoaWZ0LgooWEVOKSBE
b21haW4gaGVhcCBpbml0aWFsaXNlZCBETUEgd2lkdGggMzAgYml0cwooWEVOKSBmb3VuZCBTTVAg
TVAtdGFibGUgYXQgMDAwZmY3ODAKKFhFTikgRE1JIDIuMyBwcmVzZW50LgooWEVOKSBVc2luZyBB
UElDIGRyaXZlciBkZWZhdWx0CihYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4NTA4CihY
RU4pIEFDUEk6IEFDUEkgU0xFRVAgSU5GTzogcG0xeF9jbnRbNTQ0LDUwNF0sIHBtMXhfZXZ0WzU0
MCw1MDBdCihYRU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tiZmZmZTAwY10s
IHZlY19zaXplWzIwXQooWEVOKSBBQ1BJOiBMb2NhbCBBUElDIGFkZHJlc3MgMHhmZWUwMDAwMAoo
WEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAwXSBlbmFibGVkKQoo
WEVOKSBQcm9jZXNzb3IgIzAgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQyAo
YWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzEg
MDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAzXSBsYXBp
Y19pZFsweDAyXSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzIgMDoyIEFQSUMgdmVyc2lvbiAx
NgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA0XSBsYXBpY19pZFsweDAzXSBlbmFibGVk
KQooWEVOKSBQcm9jZXNzb3IgIzMgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJ
QyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3Ig
IzQgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2XSBs
YXBpY19pZFsweDA1XSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzUgMDoyIEFQSUMgdmVyc2lv
biAxNgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA3XSBsYXBpY19pZFsweDA2XSBlbmFi
bGVkKQooWEVOKSBQcm9jZXNzb3IgIzYgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBM
QVBJQyAoYWNwaV9pZFsweDA4XSBsYXBpY19pZFsweDA3XSBlbmFibGVkKQooWEVOKSBQcm9jZXNz
b3IgIzcgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRb
MHgwMV0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChhY3BpX2lk
WzB4MDJdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9p
ZFsweDAzXSBoaWdoIGVkZ2UgbGludFsweDFdKQooWEVOKSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlf
aWRbMHgwNF0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChhY3Bp
X2lkWzB4MDVdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05NSSAoYWNw
aV9pZFsweDA2XSBoaWdoIGVkZ2UgbGludFsweDFdKQooWEVOKSBBQ1BJOiBMQVBJQ19OTUkgKGFj
cGlfaWRbMHgwN10gaGlnaCBlZGdlIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChh
Y3BpX2lkWzB4MDhdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IElPQVBJQyAoaWRb
MHgwOF0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKKFhFTikgSU9BUElDWzBdOiBh
cGljX2lkIDgsIHZlcnNpb24gMTcsIGFkZHJlc3MgMHhmZWMwMDAwMCwgR1NJIDAtMTUKKFhFTikg
QUNQSTogSU9BUElDIChpZFsweDA5XSBhZGRyZXNzWzB4ZmVjMDEwMDBdIGdzaV9iYXNlWzE2XSkK
KFhFTikgSU9BUElDWzFdOiBhcGljX2lkIDksIHZlcnNpb24gMTcsIGFkZHJlc3MgMHhmZWMwMTAw
MCwgR1NJIDE2LTMxCihYRU4pIEFDUEk6IElPQVBJQyAoaWRbMHgwYV0gYWRkcmVzc1sweGZlYzAy
MDAwXSBnc2lfYmFzZVszMl0pCihYRU4pIElPQVBJQ1syXTogYXBpY19pZCAxMCwgdmVyc2lvbiAx
NywgYWRkcmVzcyAweGZlYzAyMDAwLCBHU0kgMzItNDcKKFhFTikgQUNQSTogSU5UX1NSQ19PVlIg
KGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkKKFhFTikgQUNQSTogSVJRMCB1
c2VkIGJ5IG92ZXJyaWRlLgooWEVOKSBBQ1BJOiBJUlEyIHVzZWQgYnkgb3ZlcnJpZGUuCihYRU4p
IEVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAzIEkvTyBBUElDcwooWEVOKSBQQ0k6
IE1DRkcgY29uZmlndXJhdGlvbiAwOiBiYXNlIGUwMDAwMDAwIHNlZ21lbnQgMCBidXNlcyAwIC0g
MjU1CihYRU4pIFBDSTogTm90IHVzaW5nIE1NQ09ORklHLgooWEVOKSBUYWJsZSBpcyBub3QgZm91
bmQhCihYRU4pIFVzaW5nIEFDUEkgKE1BRFQpIGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1h
dGlvbgooWEVOKSBJUlEgbGltaXRzOiA0OCBHU0ksIDE1MDQgTVNJL01TSS1YCihYRU4pIFVzaW5n
IHNjaGVkdWxlcjogU01QIENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKKFhFTikgRGV0ZWN0ZWQg
MjI5NC4zMDggTUh6IHByb2Nlc3Nvci4KKFhFTikgSW5pdGluZyBtZW1vcnkgc2hhcmluZy4KKFhF
TikgQU1EIEZhbTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCihYRU4pIEFNRC1W
aTogSU9NTVUgbm90IGZvdW5kIQooWEVOKSBJL08gdmlydHVhbGlzYXRpb24gZGlzYWJsZWQKKFhF
TikgRU5BQkxJTkcgSU8tQVBJQyBJUlFzCihYRU4pICAtPiBVc2luZyBuZXcgQUNLIG1ldGhvZAoo
WEVOKSAuLlRJTUVSOiB2ZWN0b3I9MHhGMCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0x
CihYRU4pIFBsYXRmb3JtIHRpbWVyIGFwcGVhcnMgdG8gaGF2ZSB1bmV4cGVjdGVkbHkgd3JhcHBl
ZCAxMCBvciBtb3JlIHRpbWVzLgooWEVOKSBQbGF0Zm9ybSB0aW1lciBpcyAzLjU3OU1IeiBBQ1BJ
IFBNIFRpbWVyCsuHKFhFTikgQWxsb2NhdGVkIGNvbnNvbGUgcmluZyBvZiA2NCBLaUIuCihYRU4p
IEhWTTogQVNJRHMgZW5hYmxlZC4KKFhFTikgU1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVy
ZXM6CihYRU4pICAtIE5lc3RlZCBQYWdlIFRhYmxlcyAoTlBUKQooWEVOKSAgLSBMYXN0IEJyYW5j
aCBSZWNvcmQgKExCUikgVmlydHVhbGlzYXRpb24KKFhFTikgSFZNOiBTVk0gZW5hYmxlZAooWEVO
KSBIVk06IEhhcmR3YXJlIEFzc2lzdGVkIFBhZ2luZyBkZXRlY3RlZC4KKFhFTikgQnJvdWdodCB1
cCA4IENQVXMKKFhFTikgQ1BVSURMRTogZGlzYWJsZWQgZHVlIHRvIG5vIEhQRVQuIEZvcmNlIGVu
YWJsZSB3aXRoICdjcHVpZGxlJy4KKFhFTikgQUNQSSBzbGVlcCBtb2RlczogUzMKKFhFTikgTUNB
OiBVc2UgaHcgdGhyZXNob2xkaW5nIHRvIGFkanVzdCBwb2xsaW5nIGZyZXF1ZW5jeQooWEVOKSBt
Y2hlY2tfcG9sbDogTWFjaGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCihYRU4pICoq
KiBMT0FESU5HIERPTUFJTiAwICoqKgooWEVOKSAgWGVuICBrZXJuZWw6IDY0LWJpdCwgbHNiLCBj
b21wYXQzMgooWEVOKSAgRG9tMCBrZXJuZWw6IDY0LWJpdCwgUEFFLCBsc2IsIHBhZGRyIDB4MTAw
MDAwMCAtPiAweDFlYjgwMDAKKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgooWEVO
KSAgRG9tMCBhbGxvYy46ICAgMDAwMDAwMDM3MDAwMDAwMC0+MDAwMDAwMDM3NDAwMDAwMCAoMjQz
MzQwIHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkKKFhFTikgIEluaXQuIHJhbWRpc2s6IDAwMDAwMDAz
N2Y2OGMwMDAtPjAwMDAwMDAzN2ZmZmZlMDAKKFhFTikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1F
TlQ6CihYRU4pICBMb2FkZWQga2VybmVsOiBmZmZmZmZmZjgxMDAwMDAwLT5mZmZmZmZmZjgxZWI4
MDAwCihYRU4pICBJbml0LiByYW1kaXNrOiBmZmZmZmZmZjgxZWI4MDAwLT5mZmZmZmZmZjgyODJi
ZTAwCihYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgyODJjMDAwLT5mZmZmZmZmZjgyYTJj
MDAwCihYRU4pICBTdGFydCBpbmZvOiAgICBmZmZmZmZmZjgyYTJjMDAwLT5mZmZmZmZmZjgyYTJj
NGI0CihYRU4pICBQYWdlIHRhYmxlczogICBmZmZmZmZmZjgyYTJkMDAwLT5mZmZmZmZmZjgyYTQ2
MDAwCihYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjgyYTQ2MDAwLT5mZmZmZmZmZjgyYTQ3
MDAwCihYRU4pICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgwMDAwMDAwLT5mZmZmZmZmZjgyYzAw
MDAwCihYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgxOGI0MjAwCihYRU4pIERvbTAgaGFz
IG1heGltdW0gOCBWQ1BVcwooWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uZG9uZS4K
KFhFTikgWGVuIHRyYWNlIGJ1ZmZlcnM6IGRpc2FibGVkCihYRU4pIFN0ZC4gTG9nbGV2ZWw6IEFs
bAooWEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsCihYRU4pICoqKiBTZXJpYWwgaW5wdXQgLT4gRE9N
MCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8gWGVuKQooWEVO
KSBGcmVlZCAyMjhrQiBpbml0IG1lbW9yeS4KbWFwcGluZyBrZXJuZWwgaW50byBwaHlzaWNhbCBt
ZW1vcnkKWGVuOiBzZXR1cCBJU0EgaWRlbnRpdHkgbWFwcwphYm91dCB0byBnZXQgc3RhcnRlZC4u
LgpbICAgIDAuMDAwMDAwXSBDYW5ub3QgZmluZCAyMDQ4MCBieXRlcyBpbiBub2RlIDEKWyAgICAw
LjAwMDAwMF0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZl
cmVuY2UgYXQgICAgICAgICAgIChudWxsKQpbICAgIDAuMDAwMDAwXSBJUDogWzxmZmZmZmZmZjgx
OGQ1NzA0Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHg3Mi8weDk5ClsgICAgMC4wMDAwMDBdIFBH
RCAwIApbICAgIDAuMDAwMDAwXSBPb3BzOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgClsgICAgMC4w
MDAwMDBdIENQVSAwIApbICAgIDAuMDAwMDAwXSBNb2R1bGVzIGxpbmtlZCBpbjoKWyAgICAwLjAw
MDAwMF0gClsgICAgMC4wMDAwMDBdIFBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAz
LjMuNC0yLUFSQ0ggIzEgZW1wdHkgZW1wdHkvUzM5OTIKWyAgICAwLjAwMDAwMF0gUklQOiBlMDMw
Ols8ZmZmZmZmZmY4MThkNTcwND5dICBbPGZmZmZmZmZmODE4ZDU3MDQ+XSBfX2FsbG9jX2Jvb3Rt
ZW1fbm9kZSsweDcyLzB4OTkKWyAgICAwLjAwMDAwMF0gUlNQOiBlMDJiOmZmZmZmZmZmODE4MDFk
ZTggIEVGTEFHUzogMDAwMTAwNDYKWyAgICAwLjAwMDAwMF0gUkFYOiAwMDAwMDAwMDAwMDAwMDAw
IFJCWDogMDAwMDAwMDAwMDAwMDM3OCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKWyAgICAwLjAwMDAw
MF0gUkRYOiAwMDAwMDAwMDAwMDAwMDQwIFJTSTogMDAwMDAwMDAwMDAwMDM3OCBSREk6IDAwMDAw
MDAwMDAwMDAwMDAKWyAgICAwLjAwMDAwMF0gUkJQOiBmZmZmZmZmZjgxODAxZTA4IFIwODogMDAw
MDAwMDAwMDAwMDAwMCBSMDk6IGZmZmZmZmZmODE4MDFkOTgKWyAgICAwLjAwMDAwMF0gUjEwOiBm
ZmZmZmZmZjgxODAxZDg4IFIxMTogZmZmZmZmZmY4MTgwMWQ5MCBSMTI6IDAwMDAwMDAwMDAwMDAw
NDAKWyAgICAwLjAwMDAwMF0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAw
MDAwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDEKWyAgICAwLjAwMDAwMF0gRlM6ICAwMDAwMDAwMDAw
MDAwMDAwKDAwMDApIEdTOmZmZmZmZmZmODE4OWYwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAw
MDAwMApbICAgIDAuMDAwMDAwXSBDUzogIGUwMzMgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAw
MDAwMDgwMDUwMDMzClsgICAgMC4wMDAwMDBdIENSMjogMDAwMDAwMDAwMDAwMDAwMCBDUjM6IDAw
MDAwMDAwMDE4MDUwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNjYwClsgICAgMC4wMDAwMDBdIERSMDog
MDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAw
MDAwClsgICAgMC4wMDAwMDBdIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwMDAw
MDAwMDAgRFI3OiAwMDAwMDAwMDAwMDAwMDAwClsgICAgMC4wMDAwMDBdIFByb2Nlc3Mgc3dhcHBl
ciAocGlkOiAwLCB0aHJlYWRpbmZvIGZmZmZmZmZmODE4MDAwMDAsIHRhc2sgZmZmZmZmZmY4MTgw
ZDAyMCkKWyAgICAwLjAwMDAwMF0gU3RhY2s6ClsgICAgMC4wMDAwMDBdICAwMDAwMDAwMDAwMDgw
MDAwIDAwMDAwMDAwMDAwMDAzNzggMDAwMDAwMDAwMDAwMDAzYyBmZmZmODgwMDNmYmZhMDAwClsg
ICAgMC4wMDAwMDBdICBmZmZmZmZmZjgxODAxZTY4IGZmZmZmZmZmODE4ZDYzZjAgZmZmZmZmZmY4
MTgwMWU0OCAwMDAwMDAwMTgxOGQ1M2JjClsgICAgMC4wMDAwMDBdICBmZmZmODgwMDNmYmY5ZmUw
IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMjgyYzAwMCBmZmZmODgwMDNmYmZhMDAwClsgICAg
MC4wMDAwMDBdIENhbGwgVHJhY2U6ClsgICAgMC4wMDAwMDBdICBbPGZmZmZmZmZmODE4ZDYzZjA+
XSBzcGFyc2VfZWFybHlfdXNlbWFwc19hbGxvY19ub2RlKzB4NjMvMHgxYzQKWyAgICAwLjAwMDAw
MF0gIFs8ZmZmZmZmZmY4MThkNjc3Yj5dIHNwYXJzZV9pbml0KzB4ZjgvMHgyYzgKWyAgICAwLjAw
MDAwMF0gIFs8ZmZmZmZmZmY4MThjYTRkMj5dIHBhZ2luZ19pbml0KzB4MTMvMHgyMgpbICAgIDAu
MDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI5ZGNhPl0gc2V0dXBfYXJjaCsweDlmMi8weGFjMApbICAg
IDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxNDU2MmQyPl0gPyBwcmludGsrMHg0MS8weDQzClsgICAg
MC4wMDAwMDBdICBbPGZmZmZmZmZmODE4YjQ5MWI+XSBzdGFydF9rZXJuZWwrMHhkNC8weDNkMQpb
ICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI0MzQ2Pl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0
aW9ucysweDEzMS8weDEzNQpbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI2OWM5Pl0geGVu
X3N0YXJ0X2tlcm5lbCsweDU5OC8weDU5ZgpbICAgIDAuMDAwMDAwXSBDb2RlOiA0YyA4OSBlOSA0
YyA4OSBlMiA0OCA4OSBkZSBiZiA0MCAwMCAwMCAwMCBlOCAwZiBmYyBmZiBmZiBlYiAzNCA0MSA4
YiA5NiBhMCA0MCAwMCAwMCBiZSAwMCA4MCAwMCAwMCA0OCA4OSBkZiBlOCAxZSAxMSA4OCBmZiBl
YiAxZSA8NDE+IDhiIGJlIGEwIDQwIDAwIDAwIDQ5IDgzIGM4IGZmIDRjIDg5IGU5IDRjIDg5IGUy
IDQ4IDg5IGRlIGU4IApbICAgIDAuMDAwMDAwXSBSSVAgIFs8ZmZmZmZmZmY4MThkNTcwND5dIF9f
YWxsb2NfYm9vdG1lbV9ub2RlKzB4NzIvMHg5OQpbICAgIDAuMDAwMDAwXSAgUlNQIDxmZmZmZmZm
ZjgxODAxZGU4PgpbICAgIDAuMDAwMDAwXSBDUjI6IDAwMDAwMDAwMDAwMDAwMDAKWyAgICAwLjAw
MDAwMF0gLS0tWyBlbmQgdHJhY2UgYTc5MTllN2YxN2MwYTcyNSBdLS0tClsgICAgMC4wMDAwMDBd
IEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBBdHRlbXB0ZWQgdG8ga2lsbCB0aGUgaWRsZSB0
YXNrIQooWEVOKSBEb21haW4gMCBjcmFzaGVkOiByZWJvb3RpbmcgbWFjaGluZSBpbiA1IHNlY29u
ZHMuCgoKVGhhbmtzIQoKCi0tIApTYW0gTXVsdmV5ClRhY29tYSBUZWxlbWF0aWNzCnNhbUB0YWNv
bWF0ZWxlbWF0aWNzLmNvbQooMjUzKSA4ODMtMzAzMCB4MTEwCgoKCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY
ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 03 18:02:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:02:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0M1-0006IO-Or; Thu, 03 May 2012 18:02:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SQ0M0-0006IG-8H
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:02:12 +0000
Received: from [85.158.143.35:5141] by server-3.bemta-4.messagelabs.com id
	DA/C9-05853-328C2AF4; Thu, 03 May 2012 18:02:11 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336068128!7454152!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9329 invoked from network); 3 May 2012 18:02:09 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 18:02:09 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id EE19A10211FC6;
	Thu,  3 May 2012 10:50:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id t03I563Yfjwt; Thu,  3 May 2012 10:49:57 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id 8DDAF10211FC2;
	Thu,  3 May 2012 10:49:57 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <20120503172426.GF9992@phenom.dumpdata.com>
Date: Thu, 3 May 2012 11:02:02 -0700
Message-Id: <8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
References: <9AE360C4-B0F2-4672-9C5D-CF9CD1E1C4AA@tacomatelematics.com>
	<alpine.DEB.2.00.1204241356300.26786@kaball-desktop>
	<FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
	<20120503172426.GF9992@phenom.dumpdata.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen-devel@lists.xen.org, great.potato@gmail.com
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ck9uIE1heSAzLCAyMDEyLCBhdCAxMDoyNCBBTSwgS29ucmFkIFJ6ZXN6dXRlayBXaWxrIHdyb3Rl
Ogo+IAo+IFRoaXMgbG9va3MgbGlrZSBhbiBFODIwIGFsaWdubWVudCBpc3N1ZS4gQ2FuIHlvdSBw
cm92aWRlIHRoZSBmdWxsIHNlcmlhbCBvdXRwdXQgcGxlYXNlLgoKQ29taW5nIHJpZ2h0IHVwIQoK
X18gIF9fICAgICAgICAgICAgXyAgXyAgICBfICAgX19fXyAgCiBcIFwvIC9fX18gXyBfXyAgIHwg
fHwgfCAgLyB8IHxfX18gXCAKICBcICAvLyBfIFwgJ18gXCAgfCB8fCB8XyB8IHwgICBfXykgfAog
IC8gIFwgIF9fLyB8IHwgfCB8X18gICBffHwgfF8gLyBfXy8gCiAvXy9cX1xfX198X3wgfF98ICAg
IHxffChfKV8oXylfX19fX3wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoo
WEVOKSBYZW4gdmVyc2lvbiA0LjEuMiAoc2FtQGxvY2FsZG9tYWluKSAoZ2NjIHZlcnNpb24gNC43
LjAgMjAxMjA0MTQgKHByZXJlbGVhc2UpIChHQ0MpICkgV2VkIE1heSAgMiAxOTo1MToyMSBQRFQg
MjAxMgooWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiB1bmF2YWlsYWJsZQooWEVOKSBCb290bG9hZGVy
OiBHTlUgR1JVQiAwLjk3CihYRU4pIENvbW1hbmQgbGluZTogZG9tMF9tZW09MUcgbG9nbHZsPWFs
bCBndWVzdF9sb2dsdmw9YWxsIGNvbTE9MTE1MjAwLDhuMSBjb25zb2xlPWNvbTEKKFhFTikgVmlk
ZW8gaW5mb3JtYXRpb246CihYRU4pICBWR0EgaXMgdGV4dCBtb2RlIDgweDI1LCBmb250IDh4MTYK
KFhFTikgIFZCRS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMiBzZWNvbmRz
CihYRU4pIERpc2MgaW5mb3JtYXRpb246CihYRU4pICBGb3VuZCAzIE1CUiBzaWduYXR1cmVzCihY
RU4pICBGb3VuZCAzIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCihYRU4pIFhlbi1lODIwIFJB
TSBtYXA6CihYRU4pICAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5ZDAwMCAodXNhYmxl
KQooWEVOKSAgMDAwMDAwMDAwMDA5ZDAwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVkKQoo
WEVOKSAgMDAwMDAwMDAwMDBlMDAwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQooWEVO
KSAgMDAwMDAwMDAwMDEwMDAwMCAtIDAwMDAwMDAwYmZmZjAwMDAgKHVzYWJsZSkKKFhFTikgIDAw
MDAwMDAwYmZmZjAwMDAgLSAwMDAwMDAwMGJmZmZlMDAwIChBQ1BJIGRhdGEpCihYRU4pICAwMDAw
MDAwMGJmZmZlMDAwIC0gMDAwMDAwMDBjMDAwMDAwMCAoQUNQSSBOVlMpCihYRU4pICAwMDAwMDAw
MGZlYzAwMDAwIC0gMDAwMDAwMDBmZWMwMzAwMCAocmVzZXJ2ZWQpCihYRU4pICAwMDAwMDAwMGZl
ZTAwMDAwIC0gMDAwMDAwMDBmZWUwMTAwMCAocmVzZXJ2ZWQpCihYRU4pICAwMDAwMDAwMTAwMDAw
MDAwIC0gMDAwMDAwMDM4MDAwMDAwMCAodXNhYmxlKQooWEVOKSBBQ1BJOiBSU0RQIDAwMEY4M0Mw
LCAwMDI0IChyMiBBQ1BJQU0pCihYRU4pIEFDUEk6IFhTRFQgQkZGRjAxMDAsIDAwNEMgKHIxIDA3
MTAwOCBYU0RUMDk0OCAyMDA4MDcxMCBNU0ZUICAgICAgIDk3KQooWEVOKSBBQ1BJOiBGQUNQIEJG
RkYwMjkwLCAwMEY0IChyMyAwNzEwMDggRkFDUDA5NDggMjAwODA3MTAgTVNGVCAgICAgICA5NykK
KFhFTikgQUNQSTogRFNEVCBCRkZGMDRBMCwgM0I2OCAocjEgIDBBQUFBIDBBQUFBMDAwICAgICAg
ICAwIElOVEwgIDIwMDIwMjYpCihYRU4pIEFDUEk6IEZBQ1MgQkZGRkUwMDAsIDAwNDAKKFhFTikg
QUNQSTogQVBJQyBCRkZGMDM5MCwgMDBDQSAocjEgMDcxMDA4IEFQSUMwOTQ4IDIwMDgwNzEwIE1T
RlQgICAgICAgOTcpCihYRU4pIEFDUEk6IE1DRkcgQkZGRjA0NjAsIDAwM0MgKHIxIDA3MTAwOCBP
RU1NQ0ZHICAyMDA4MDcxMCBNU0ZUICAgICAgIDk3KQooWEVOKSBBQ1BJOiBPRU1CIEJGRkZFMDQw
LCAwMDU2IChyMSAwNzEwMDggT0VNQjA5NDggMjAwODA3MTAgTVNGVCAgICAgICA5NykKKFhFTikg
QUNQSTogU1JBVCBCRkZGNDAxMCwgMDE1MCAocjEgQU1EICAgIEhBTU1FUiAgICAgICAgICAxIEFN
RCAgICAgICAgIDEpCihYRU4pIFN5c3RlbSBSQU06IDEzMzExTUIgKDEzNjMxMDI4a0IpCihYRU4p
IFNSQVQ6IFBYTSAwIC0+IEFQSUMgMCAtPiBOb2RlIDAKKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJ
QyAxIC0+IE5vZGUgMAooWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDIgLT4gTm9kZSAwCihYRU4p
IFNSQVQ6IFBYTSAwIC0+IEFQSUMgMyAtPiBOb2RlIDAKKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJ
QyA0IC0+IE5vZGUgMQooWEVOKSBTUkFUOiBQWE0gMSAtPiBBUElDIDUgLT4gTm9kZSAxCihYRU4p
IFNSQVQ6IFBYTSAxIC0+IEFQSUMgNiAtPiBOb2RlIDEKKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJ
QyA3IC0+IE5vZGUgMQooWEVOKSBTUkFUOiBOb2RlIDAgUFhNIDAgMC1hMDAwMAooWEVOKSBTUkFU
OiBOb2RlIDAgUFhNIDAgMTAwMDAwLWMwMDAwMDAwCihYRU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAx
MDAwMDAwMDAtMWUwMDAwMDAwCihYRU4pIFNSQVQ6IE5vZGUgMSBQWE0gMSAxZTAwMDAwMDAtMzgw
MDAwMDAwCihYRU4pIE5VTUE6IEFsbG9jYXRlZCBtZW1ub2RlbWFwIGZyb20gMzdlNWY1MDAwIC0g
MzdlNWY5MDAwCihYRU4pIE5VTUE6IFVzaW5nIDggZm9yIHRoZSBoYXNoIHNoaWZ0LgooWEVOKSBE
b21haW4gaGVhcCBpbml0aWFsaXNlZCBETUEgd2lkdGggMzAgYml0cwooWEVOKSBmb3VuZCBTTVAg
TVAtdGFibGUgYXQgMDAwZmY3ODAKKFhFTikgRE1JIDIuMyBwcmVzZW50LgooWEVOKSBVc2luZyBB
UElDIGRyaXZlciBkZWZhdWx0CihYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4NTA4CihY
RU4pIEFDUEk6IEFDUEkgU0xFRVAgSU5GTzogcG0xeF9jbnRbNTQ0LDUwNF0sIHBtMXhfZXZ0WzU0
MCw1MDBdCihYRU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tiZmZmZTAwY10s
IHZlY19zaXplWzIwXQooWEVOKSBBQ1BJOiBMb2NhbCBBUElDIGFkZHJlc3MgMHhmZWUwMDAwMAoo
WEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAwXSBlbmFibGVkKQoo
WEVOKSBQcm9jZXNzb3IgIzAgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQyAo
YWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzEg
MDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAzXSBsYXBp
Y19pZFsweDAyXSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzIgMDoyIEFQSUMgdmVyc2lvbiAx
NgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA0XSBsYXBpY19pZFsweDAzXSBlbmFibGVk
KQooWEVOKSBQcm9jZXNzb3IgIzMgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJ
QyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3Ig
IzQgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2XSBs
YXBpY19pZFsweDA1XSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzUgMDoyIEFQSUMgdmVyc2lv
biAxNgooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA3XSBsYXBpY19pZFsweDA2XSBlbmFi
bGVkKQooWEVOKSBQcm9jZXNzb3IgIzYgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBM
QVBJQyAoYWNwaV9pZFsweDA4XSBsYXBpY19pZFsweDA3XSBlbmFibGVkKQooWEVOKSBQcm9jZXNz
b3IgIzcgMDoyIEFQSUMgdmVyc2lvbiAxNgooWEVOKSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRb
MHgwMV0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChhY3BpX2lk
WzB4MDJdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9p
ZFsweDAzXSBoaWdoIGVkZ2UgbGludFsweDFdKQooWEVOKSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlf
aWRbMHgwNF0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChhY3Bp
X2lkWzB4MDVdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05NSSAoYWNw
aV9pZFsweDA2XSBoaWdoIGVkZ2UgbGludFsweDFdKQooWEVOKSBBQ1BJOiBMQVBJQ19OTUkgKGFj
cGlfaWRbMHgwN10gaGlnaCBlZGdlIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChh
Y3BpX2lkWzB4MDhdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IElPQVBJQyAoaWRb
MHgwOF0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKKFhFTikgSU9BUElDWzBdOiBh
cGljX2lkIDgsIHZlcnNpb24gMTcsIGFkZHJlc3MgMHhmZWMwMDAwMCwgR1NJIDAtMTUKKFhFTikg
QUNQSTogSU9BUElDIChpZFsweDA5XSBhZGRyZXNzWzB4ZmVjMDEwMDBdIGdzaV9iYXNlWzE2XSkK
KFhFTikgSU9BUElDWzFdOiBhcGljX2lkIDksIHZlcnNpb24gMTcsIGFkZHJlc3MgMHhmZWMwMTAw
MCwgR1NJIDE2LTMxCihYRU4pIEFDUEk6IElPQVBJQyAoaWRbMHgwYV0gYWRkcmVzc1sweGZlYzAy
MDAwXSBnc2lfYmFzZVszMl0pCihYRU4pIElPQVBJQ1syXTogYXBpY19pZCAxMCwgdmVyc2lvbiAx
NywgYWRkcmVzcyAweGZlYzAyMDAwLCBHU0kgMzItNDcKKFhFTikgQUNQSTogSU5UX1NSQ19PVlIg
KGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkKKFhFTikgQUNQSTogSVJRMCB1
c2VkIGJ5IG92ZXJyaWRlLgooWEVOKSBBQ1BJOiBJUlEyIHVzZWQgYnkgb3ZlcnJpZGUuCihYRU4p
IEVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAzIEkvTyBBUElDcwooWEVOKSBQQ0k6
IE1DRkcgY29uZmlndXJhdGlvbiAwOiBiYXNlIGUwMDAwMDAwIHNlZ21lbnQgMCBidXNlcyAwIC0g
MjU1CihYRU4pIFBDSTogTm90IHVzaW5nIE1NQ09ORklHLgooWEVOKSBUYWJsZSBpcyBub3QgZm91
bmQhCihYRU4pIFVzaW5nIEFDUEkgKE1BRFQpIGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1h
dGlvbgooWEVOKSBJUlEgbGltaXRzOiA0OCBHU0ksIDE1MDQgTVNJL01TSS1YCihYRU4pIFVzaW5n
IHNjaGVkdWxlcjogU01QIENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKKFhFTikgRGV0ZWN0ZWQg
MjI5NC4zMDggTUh6IHByb2Nlc3Nvci4KKFhFTikgSW5pdGluZyBtZW1vcnkgc2hhcmluZy4KKFhF
TikgQU1EIEZhbTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCihYRU4pIEFNRC1W
aTogSU9NTVUgbm90IGZvdW5kIQooWEVOKSBJL08gdmlydHVhbGlzYXRpb24gZGlzYWJsZWQKKFhF
TikgRU5BQkxJTkcgSU8tQVBJQyBJUlFzCihYRU4pICAtPiBVc2luZyBuZXcgQUNLIG1ldGhvZAoo
WEVOKSAuLlRJTUVSOiB2ZWN0b3I9MHhGMCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0x
CihYRU4pIFBsYXRmb3JtIHRpbWVyIGFwcGVhcnMgdG8gaGF2ZSB1bmV4cGVjdGVkbHkgd3JhcHBl
ZCAxMCBvciBtb3JlIHRpbWVzLgooWEVOKSBQbGF0Zm9ybSB0aW1lciBpcyAzLjU3OU1IeiBBQ1BJ
IFBNIFRpbWVyCsuHKFhFTikgQWxsb2NhdGVkIGNvbnNvbGUgcmluZyBvZiA2NCBLaUIuCihYRU4p
IEhWTTogQVNJRHMgZW5hYmxlZC4KKFhFTikgU1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVy
ZXM6CihYRU4pICAtIE5lc3RlZCBQYWdlIFRhYmxlcyAoTlBUKQooWEVOKSAgLSBMYXN0IEJyYW5j
aCBSZWNvcmQgKExCUikgVmlydHVhbGlzYXRpb24KKFhFTikgSFZNOiBTVk0gZW5hYmxlZAooWEVO
KSBIVk06IEhhcmR3YXJlIEFzc2lzdGVkIFBhZ2luZyBkZXRlY3RlZC4KKFhFTikgQnJvdWdodCB1
cCA4IENQVXMKKFhFTikgQ1BVSURMRTogZGlzYWJsZWQgZHVlIHRvIG5vIEhQRVQuIEZvcmNlIGVu
YWJsZSB3aXRoICdjcHVpZGxlJy4KKFhFTikgQUNQSSBzbGVlcCBtb2RlczogUzMKKFhFTikgTUNB
OiBVc2UgaHcgdGhyZXNob2xkaW5nIHRvIGFkanVzdCBwb2xsaW5nIGZyZXF1ZW5jeQooWEVOKSBt
Y2hlY2tfcG9sbDogTWFjaGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCihYRU4pICoq
KiBMT0FESU5HIERPTUFJTiAwICoqKgooWEVOKSAgWGVuICBrZXJuZWw6IDY0LWJpdCwgbHNiLCBj
b21wYXQzMgooWEVOKSAgRG9tMCBrZXJuZWw6IDY0LWJpdCwgUEFFLCBsc2IsIHBhZGRyIDB4MTAw
MDAwMCAtPiAweDFlYjgwMDAKKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgooWEVO
KSAgRG9tMCBhbGxvYy46ICAgMDAwMDAwMDM3MDAwMDAwMC0+MDAwMDAwMDM3NDAwMDAwMCAoMjQz
MzQwIHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkKKFhFTikgIEluaXQuIHJhbWRpc2s6IDAwMDAwMDAz
N2Y2OGMwMDAtPjAwMDAwMDAzN2ZmZmZlMDAKKFhFTikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1F
TlQ6CihYRU4pICBMb2FkZWQga2VybmVsOiBmZmZmZmZmZjgxMDAwMDAwLT5mZmZmZmZmZjgxZWI4
MDAwCihYRU4pICBJbml0LiByYW1kaXNrOiBmZmZmZmZmZjgxZWI4MDAwLT5mZmZmZmZmZjgyODJi
ZTAwCihYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgyODJjMDAwLT5mZmZmZmZmZjgyYTJj
MDAwCihYRU4pICBTdGFydCBpbmZvOiAgICBmZmZmZmZmZjgyYTJjMDAwLT5mZmZmZmZmZjgyYTJj
NGI0CihYRU4pICBQYWdlIHRhYmxlczogICBmZmZmZmZmZjgyYTJkMDAwLT5mZmZmZmZmZjgyYTQ2
MDAwCihYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjgyYTQ2MDAwLT5mZmZmZmZmZjgyYTQ3
MDAwCihYRU4pICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgwMDAwMDAwLT5mZmZmZmZmZjgyYzAw
MDAwCihYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgxOGI0MjAwCihYRU4pIERvbTAgaGFz
IG1heGltdW0gOCBWQ1BVcwooWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uZG9uZS4K
KFhFTikgWGVuIHRyYWNlIGJ1ZmZlcnM6IGRpc2FibGVkCihYRU4pIFN0ZC4gTG9nbGV2ZWw6IEFs
bAooWEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsCihYRU4pICoqKiBTZXJpYWwgaW5wdXQgLT4gRE9N
MCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8gWGVuKQooWEVO
KSBGcmVlZCAyMjhrQiBpbml0IG1lbW9yeS4KbWFwcGluZyBrZXJuZWwgaW50byBwaHlzaWNhbCBt
ZW1vcnkKWGVuOiBzZXR1cCBJU0EgaWRlbnRpdHkgbWFwcwphYm91dCB0byBnZXQgc3RhcnRlZC4u
LgpbICAgIDAuMDAwMDAwXSBDYW5ub3QgZmluZCAyMDQ4MCBieXRlcyBpbiBub2RlIDEKWyAgICAw
LjAwMDAwMF0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZl
cmVuY2UgYXQgICAgICAgICAgIChudWxsKQpbICAgIDAuMDAwMDAwXSBJUDogWzxmZmZmZmZmZjgx
OGQ1NzA0Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHg3Mi8weDk5ClsgICAgMC4wMDAwMDBdIFBH
RCAwIApbICAgIDAuMDAwMDAwXSBPb3BzOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgClsgICAgMC4w
MDAwMDBdIENQVSAwIApbICAgIDAuMDAwMDAwXSBNb2R1bGVzIGxpbmtlZCBpbjoKWyAgICAwLjAw
MDAwMF0gClsgICAgMC4wMDAwMDBdIFBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAz
LjMuNC0yLUFSQ0ggIzEgZW1wdHkgZW1wdHkvUzM5OTIKWyAgICAwLjAwMDAwMF0gUklQOiBlMDMw
Ols8ZmZmZmZmZmY4MThkNTcwND5dICBbPGZmZmZmZmZmODE4ZDU3MDQ+XSBfX2FsbG9jX2Jvb3Rt
ZW1fbm9kZSsweDcyLzB4OTkKWyAgICAwLjAwMDAwMF0gUlNQOiBlMDJiOmZmZmZmZmZmODE4MDFk
ZTggIEVGTEFHUzogMDAwMTAwNDYKWyAgICAwLjAwMDAwMF0gUkFYOiAwMDAwMDAwMDAwMDAwMDAw
IFJCWDogMDAwMDAwMDAwMDAwMDM3OCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKWyAgICAwLjAwMDAw
MF0gUkRYOiAwMDAwMDAwMDAwMDAwMDQwIFJTSTogMDAwMDAwMDAwMDAwMDM3OCBSREk6IDAwMDAw
MDAwMDAwMDAwMDAKWyAgICAwLjAwMDAwMF0gUkJQOiBmZmZmZmZmZjgxODAxZTA4IFIwODogMDAw
MDAwMDAwMDAwMDAwMCBSMDk6IGZmZmZmZmZmODE4MDFkOTgKWyAgICAwLjAwMDAwMF0gUjEwOiBm
ZmZmZmZmZjgxODAxZDg4IFIxMTogZmZmZmZmZmY4MTgwMWQ5MCBSMTI6IDAwMDAwMDAwMDAwMDAw
NDAKWyAgICAwLjAwMDAwMF0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAw
MDAwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDEKWyAgICAwLjAwMDAwMF0gRlM6ICAwMDAwMDAwMDAw
MDAwMDAwKDAwMDApIEdTOmZmZmZmZmZmODE4OWYwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAw
MDAwMApbICAgIDAuMDAwMDAwXSBDUzogIGUwMzMgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAw
MDAwMDgwMDUwMDMzClsgICAgMC4wMDAwMDBdIENSMjogMDAwMDAwMDAwMDAwMDAwMCBDUjM6IDAw
MDAwMDAwMDE4MDUwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNjYwClsgICAgMC4wMDAwMDBdIERSMDog
MDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAw
MDAwClsgICAgMC4wMDAwMDBdIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwMDAw
MDAwMDAgRFI3OiAwMDAwMDAwMDAwMDAwMDAwClsgICAgMC4wMDAwMDBdIFByb2Nlc3Mgc3dhcHBl
ciAocGlkOiAwLCB0aHJlYWRpbmZvIGZmZmZmZmZmODE4MDAwMDAsIHRhc2sgZmZmZmZmZmY4MTgw
ZDAyMCkKWyAgICAwLjAwMDAwMF0gU3RhY2s6ClsgICAgMC4wMDAwMDBdICAwMDAwMDAwMDAwMDgw
MDAwIDAwMDAwMDAwMDAwMDAzNzggMDAwMDAwMDAwMDAwMDAzYyBmZmZmODgwMDNmYmZhMDAwClsg
ICAgMC4wMDAwMDBdICBmZmZmZmZmZjgxODAxZTY4IGZmZmZmZmZmODE4ZDYzZjAgZmZmZmZmZmY4
MTgwMWU0OCAwMDAwMDAwMTgxOGQ1M2JjClsgICAgMC4wMDAwMDBdICBmZmZmODgwMDNmYmY5ZmUw
IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMjgyYzAwMCBmZmZmODgwMDNmYmZhMDAwClsgICAg
MC4wMDAwMDBdIENhbGwgVHJhY2U6ClsgICAgMC4wMDAwMDBdICBbPGZmZmZmZmZmODE4ZDYzZjA+
XSBzcGFyc2VfZWFybHlfdXNlbWFwc19hbGxvY19ub2RlKzB4NjMvMHgxYzQKWyAgICAwLjAwMDAw
MF0gIFs8ZmZmZmZmZmY4MThkNjc3Yj5dIHNwYXJzZV9pbml0KzB4ZjgvMHgyYzgKWyAgICAwLjAw
MDAwMF0gIFs8ZmZmZmZmZmY4MThjYTRkMj5dIHBhZ2luZ19pbml0KzB4MTMvMHgyMgpbICAgIDAu
MDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI5ZGNhPl0gc2V0dXBfYXJjaCsweDlmMi8weGFjMApbICAg
IDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxNDU2MmQyPl0gPyBwcmludGsrMHg0MS8weDQzClsgICAg
MC4wMDAwMDBdICBbPGZmZmZmZmZmODE4YjQ5MWI+XSBzdGFydF9rZXJuZWwrMHhkNC8weDNkMQpb
ICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI0MzQ2Pl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0
aW9ucysweDEzMS8weDEzNQpbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI2OWM5Pl0geGVu
X3N0YXJ0X2tlcm5lbCsweDU5OC8weDU5ZgpbICAgIDAuMDAwMDAwXSBDb2RlOiA0YyA4OSBlOSA0
YyA4OSBlMiA0OCA4OSBkZSBiZiA0MCAwMCAwMCAwMCBlOCAwZiBmYyBmZiBmZiBlYiAzNCA0MSA4
YiA5NiBhMCA0MCAwMCAwMCBiZSAwMCA4MCAwMCAwMCA0OCA4OSBkZiBlOCAxZSAxMSA4OCBmZiBl
YiAxZSA8NDE+IDhiIGJlIGEwIDQwIDAwIDAwIDQ5IDgzIGM4IGZmIDRjIDg5IGU5IDRjIDg5IGUy
IDQ4IDg5IGRlIGU4IApbICAgIDAuMDAwMDAwXSBSSVAgIFs8ZmZmZmZmZmY4MThkNTcwND5dIF9f
YWxsb2NfYm9vdG1lbV9ub2RlKzB4NzIvMHg5OQpbICAgIDAuMDAwMDAwXSAgUlNQIDxmZmZmZmZm
ZjgxODAxZGU4PgpbICAgIDAuMDAwMDAwXSBDUjI6IDAwMDAwMDAwMDAwMDAwMDAKWyAgICAwLjAw
MDAwMF0gLS0tWyBlbmQgdHJhY2UgYTc5MTllN2YxN2MwYTcyNSBdLS0tClsgICAgMC4wMDAwMDBd
IEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBBdHRlbXB0ZWQgdG8ga2lsbCB0aGUgaWRsZSB0
YXNrIQooWEVOKSBEb21haW4gMCBjcmFzaGVkOiByZWJvb3RpbmcgbWFjaGluZSBpbiA1IHNlY29u
ZHMuCgoKVGhhbmtzIQoKCi0tIApTYW0gTXVsdmV5ClRhY29tYSBUZWxlbWF0aWNzCnNhbUB0YWNv
bWF0ZWxlbWF0aWNzLmNvbQooMjUzKSA4ODMtMzAzMCB4MTEwCgoKCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY
ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 03 18:09:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:09:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0T1-0006Uz-Qs; Thu, 03 May 2012 18:09:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQ0Sz-0006Ut-OB
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:09:25 +0000
Received: from [85.158.139.83:9781] by server-6.bemta-5.messagelabs.com id
	E1/75-13222-5D9C2AF4; Thu, 03 May 2012 18:09:25 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336068562!26112844!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4340 invoked from network); 3 May 2012 18:09:23 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 18:09:23 -0000
Received: by qafl39 with SMTP id l39so630226qaf.16
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 11:09:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=kwoAqjhvsHueNzWrUjn1nwo/dLJC18GLC4uohsVdpjQ=;
	b=l/bslEkAhcDCGvV9OKNOk5heqGnTfSAuzZPPcrOCuk7yWqTtzPFjRsu6LHYl8nP+m9
	CzsZMGtOwTDnRu0Lj/c2ZfdSkLbVwIfwj33p4nl7h72BnUhpTdUVIBquhXNFM04CsHDX
	/qsdZiPApLV/HDutotVPSKo1taZtb2ElaDr7nSGqwfCIqDa2uereKf7gMX9ZsaxJN/Gc
	ds6aBhDvaMjcuj6qevI/C3kIyZ2G8lFulYB3D6TWI/S+r1m+pglcJVEeycA32zLoXQTW
	J5PMW2mc9bm8Zriy8IXRrRlqELcMNfkNuhAPo2qY2pbzywKwxXKJyqFwy1O6GGFbEfAP
	LKtQ==
MIME-Version: 1.0
Received: by 10.229.137.130 with SMTP id w2mr1414413qct.154.1336068561411;
	Thu, 03 May 2012 11:09:21 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Thu, 3 May 2012 11:09:21 -0700 (PDT)
In-Reply-To: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
Date: Thu, 3 May 2012 11:09:21 -0700
Message-ID: <CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 2:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 02.05.12 at 20:42, AP <apxeng@gmail.com> wrote:
>> On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>>>> I somehow thought that this has been fixed but I've been
>>>> getting reports that people are running into this.
>>>
>>> "this" being what? I too thought that all xsave related issues were
>>> sorted out by now.
>>
>> I see the following crash if I run without xsave=0 with Ubuntu 11.10
>> 3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
>> Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.
>
> And in the thread starting at
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00426.html
> I gave debugging instructions that apparently no-one followed so
> far. Without someone seeing the problem doing so I don't think we
> will ever get anywhere with this (unless, as also indicated there,
> someone can spot something wrong with the code that non-obvious
> to everyone else).

I missed that thread. I will add some debugging to
pv_guest_cr4_fixup() and the XSETBV handling in
emulate_privileged_op() and post the output.

Thanks,
AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:09:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:09:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0T1-0006Uz-Qs; Thu, 03 May 2012 18:09:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQ0Sz-0006Ut-OB
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:09:25 +0000
Received: from [85.158.139.83:9781] by server-6.bemta-5.messagelabs.com id
	E1/75-13222-5D9C2AF4; Thu, 03 May 2012 18:09:25 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336068562!26112844!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4340 invoked from network); 3 May 2012 18:09:23 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 18:09:23 -0000
Received: by qafl39 with SMTP id l39so630226qaf.16
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 11:09:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=kwoAqjhvsHueNzWrUjn1nwo/dLJC18GLC4uohsVdpjQ=;
	b=l/bslEkAhcDCGvV9OKNOk5heqGnTfSAuzZPPcrOCuk7yWqTtzPFjRsu6LHYl8nP+m9
	CzsZMGtOwTDnRu0Lj/c2ZfdSkLbVwIfwj33p4nl7h72BnUhpTdUVIBquhXNFM04CsHDX
	/qsdZiPApLV/HDutotVPSKo1taZtb2ElaDr7nSGqwfCIqDa2uereKf7gMX9ZsaxJN/Gc
	ds6aBhDvaMjcuj6qevI/C3kIyZ2G8lFulYB3D6TWI/S+r1m+pglcJVEeycA32zLoXQTW
	J5PMW2mc9bm8Zriy8IXRrRlqELcMNfkNuhAPo2qY2pbzywKwxXKJyqFwy1O6GGFbEfAP
	LKtQ==
MIME-Version: 1.0
Received: by 10.229.137.130 with SMTP id w2mr1414413qct.154.1336068561411;
	Thu, 03 May 2012 11:09:21 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Thu, 3 May 2012 11:09:21 -0700 (PDT)
In-Reply-To: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
Date: Thu, 3 May 2012 11:09:21 -0700
Message-ID: <CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 2:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 02.05.12 at 20:42, AP <apxeng@gmail.com> wrote:
>> On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>>>> I somehow thought that this has been fixed but I've been
>>>> getting reports that people are running into this.
>>>
>>> "this" being what? I too thought that all xsave related issues were
>>> sorted out by now.
>>
>> I see the following crash if I run without xsave=0 with Ubuntu 11.10
>> 3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
>> Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.
>
> And in the thread starting at
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00426.html
> I gave debugging instructions that apparently no-one followed so
> far. Without someone seeing the problem doing so I don't think we
> will ever get anywhere with this (unless, as also indicated there,
> someone can spot something wrong with the code that non-obvious
> to everyone else).

I missed that thread. I will add some debugging to
pv_guest_cr4_fixup() and the XSETBV handling in
emulate_privileged_op() and post the output.

Thanks,
AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:15:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:15:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0Ym-0006fT-Lb; Thu, 03 May 2012 18:15:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SQ0Yl-0006fO-3z
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:15:23 +0000
Received: from [85.158.143.35:5433] by server-2.bemta-4.messagelabs.com id
	33/43-17550-A3BC2AF4; Thu, 03 May 2012 18:15:22 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336068916!14630639!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17653 invoked from network); 3 May 2012 18:15:21 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 18:15:21 -0000
Received: by lahe6 with SMTP id e6so1844898lah.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 11:15:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=M3FfYz8EnhmsmFPzWoXuuITDIlgvHmMAcDUaKXxJhcg=;
	b=CxIVPy0FnOq8CJWFPcIFHqpwD9KX64kfNyfm+jkYmvQO2578s5tAv2aoCDmgVA3uw8
	cqpHyL6ZeOdpUSZxk6Q3tTBA8x8P4bN5d8d5UrZ9lxZaCi/YiW1rTlxReqKH/m+cuJCk
	VV/g1M4QUB1Xb9aRWCiOKBSfJ+jMDGjmUuU1A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=M3FfYz8EnhmsmFPzWoXuuITDIlgvHmMAcDUaKXxJhcg=;
	b=W59fikx9MnU/Dqj12ZxDmbkjFe2xlgUCsYi71u4Q+3GHjTvtMZThbpzSzcuanRxb0a
	uSZ+T46eEP5N971OFUZ0RxdHvECW9SizKNuE/zbyCz5w3gW6bB7yTB0/QJCcjnfgz2yt
	PV9P1LctiF/6OKX6gjSSC1u6b7Uw02dLrMEdtRLJve1oQf78r8ROFcp2JK4OaCLlKmdT
	1RuF+X+fPROd8NNkR4UrJ7QZBD3scokt8ec8JOfP+onqGVbmRsAzWVI7cvea7shNfLlw
	S8numiemVJ0tBclY3mh/dzyPZtJYnAw5YV6BJHZH+NAmjxNxY3E+ShCo9Yr65gppzlLK
	/0ew==
MIME-Version: 1.0
Received: by 10.112.26.233 with SMTP id o9mr1542291lbg.23.1336068916202; Thu,
	03 May 2012 11:15:16 -0700 (PDT)
Received: by 10.112.25.135 with HTTP; Thu, 3 May 2012 11:15:16 -0700 (PDT)
X-Originating-IP: [108.92.21.169]
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<4FA26B7C0200007800081502@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
Date: Thu, 3 May 2012 11:15:16 -0700
Message-ID: <CAB10MZCvmT4LLeHOrmJxZ8sWLQeiiqx1q3mWt-1uUPnSqqRfVQ@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Dong, Eddie" <eddie.dong@intel.com>
X-Gm-Message-State: ALoCoQktAaoNEY5qZUDTiVmC+ew0a7iKW2FdbsAg2BQrrkg0q9d6Q3uy8k8Loruh2lo3j44Rl6OZ
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 6:42 AM, Dong, Eddie <eddie.dong@intel.com> wrote:
>> > The TRAP_debug should not use SW_EXCEPTION, it should use
>> HW_EXCEPTION
>> > Per SDM and confirmation from our HW guys. We will send fixes soon.
>>
>> Please also have the opcode 0xF1 generated #DB addressed in
>> whatever is the appropriate way.
>
> Opcode 0xf1 should use " privileged software exception".
>
> What we can do probably include:
> 1: A patch to fix the mistake of #BP & #OF, plus additional comments to state the usage of the API.
> 2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have real usage case to test so far.
>
> We will provide #1 quickly, but for #2, can Aravindh provide test if we get the patch ready?

I will gladly debug and test #2 for you.

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:15:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:15:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0Ym-0006fT-Lb; Thu, 03 May 2012 18:15:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SQ0Yl-0006fO-3z
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:15:23 +0000
Received: from [85.158.143.35:5433] by server-2.bemta-4.messagelabs.com id
	33/43-17550-A3BC2AF4; Thu, 03 May 2012 18:15:22 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336068916!14630639!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17653 invoked from network); 3 May 2012 18:15:21 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 18:15:21 -0000
Received: by lahe6 with SMTP id e6so1844898lah.32
	for <xen-devel@lists.xen.org>; Thu, 03 May 2012 11:15:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=M3FfYz8EnhmsmFPzWoXuuITDIlgvHmMAcDUaKXxJhcg=;
	b=CxIVPy0FnOq8CJWFPcIFHqpwD9KX64kfNyfm+jkYmvQO2578s5tAv2aoCDmgVA3uw8
	cqpHyL6ZeOdpUSZxk6Q3tTBA8x8P4bN5d8d5UrZ9lxZaCi/YiW1rTlxReqKH/m+cuJCk
	VV/g1M4QUB1Xb9aRWCiOKBSfJ+jMDGjmUuU1A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=M3FfYz8EnhmsmFPzWoXuuITDIlgvHmMAcDUaKXxJhcg=;
	b=W59fikx9MnU/Dqj12ZxDmbkjFe2xlgUCsYi71u4Q+3GHjTvtMZThbpzSzcuanRxb0a
	uSZ+T46eEP5N971OFUZ0RxdHvECW9SizKNuE/zbyCz5w3gW6bB7yTB0/QJCcjnfgz2yt
	PV9P1LctiF/6OKX6gjSSC1u6b7Uw02dLrMEdtRLJve1oQf78r8ROFcp2JK4OaCLlKmdT
	1RuF+X+fPROd8NNkR4UrJ7QZBD3scokt8ec8JOfP+onqGVbmRsAzWVI7cvea7shNfLlw
	S8numiemVJ0tBclY3mh/dzyPZtJYnAw5YV6BJHZH+NAmjxNxY3E+ShCo9Yr65gppzlLK
	/0ew==
MIME-Version: 1.0
Received: by 10.112.26.233 with SMTP id o9mr1542291lbg.23.1336068916202; Thu,
	03 May 2012 11:15:16 -0700 (PDT)
Received: by 10.112.25.135 with HTTP; Thu, 3 May 2012 11:15:16 -0700 (PDT)
X-Originating-IP: [108.92.21.169]
In-Reply-To: <A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
References: <f60377584f2d62e82d62.1334898269@vollum>
	<4F914060020000780007EC9D@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4897D@SHSMSX102.ccr.corp.intel.com>
	<4FA1193D02000078000810EC@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B49881@SHSMSX102.ccr.corp.intel.com>
	<4FA26B7C0200007800081502@nat28.tlf.novell.com>
	<A12AC9D104E08D47BAF23C492F83C53B23B4A6A2@SHSMSX102.ccr.corp.intel.com>
Date: Thu, 3 May 2012 11:15:16 -0700
Message-ID: <CAB10MZCvmT4LLeHOrmJxZ8sWLQeiiqx1q3mWt-1uUPnSqqRfVQ@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Dong, Eddie" <eddie.dong@intel.com>
X-Gm-Message-State: ALoCoQktAaoNEY5qZUDTiVmC+ew0a7iKW2FdbsAg2BQrrkg0q9d6Q3uy8k8Loruh2lo3j44Rl6OZ
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] vmx: Allow software (user defined)
 interrupts to be injected in to the guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 6:42 AM, Dong, Eddie <eddie.dong@intel.com> wrote:
>> > The TRAP_debug should not use SW_EXCEPTION, it should use
>> HW_EXCEPTION
>> > Per SDM and confirmation from our HW guys. We will send fixes soon.
>>
>> Please also have the opcode 0xF1 generated #DB addressed in
>> whatever is the appropriate way.
>
> Opcode 0xf1 should use " privileged software exception".
>
> What we can do probably include:
> 1: A patch to fix the mistake of #BP & #OF, plus additional comments to state the usage of the API.
> 2: Another patch to provide a new API for 0xf1 & CD nn? But we don't have real usage case to test so far.
>
> We will provide #1 quickly, but for #2, can Aravindh provide test if we get the patch ready?

I will gladly debug and test #2 for you.

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:36:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:36:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0sU-0006t2-Kz; Thu, 03 May 2012 18:35:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQ0sT-0006sx-3r
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 18:35:45 +0000
Received: from [85.158.139.83:5090] by server-12.bemta-5.messagelabs.com id
	C0/CF-01344-000D2AF4; Thu, 03 May 2012 18:35:44 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336070143!26644968!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13684 invoked from network); 3 May 2012 18:35:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 18:35:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,526,1330905600"; d="scan'208";a="12282528"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 18:35:26 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 19:35:26 +0100
Date: Thu, 3 May 2012 19:42:57 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Vinaya M S <vinaya.ms@iiitb.org>
In-Reply-To: <loom.20120503T161144-497@post.gmane.org>
Message-ID: <alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 3 May 2012, Vinaya M S wrote:
> Hi Stefano,
> 
>   I'm also using ubuntu 11.04 HVM domain with xen 4.1.0.
> If I enable xen_platform_pci then I get busybox error.
> If I say xen_platform_pci=0 then it boots fine.

Can you post the boot logs please?


> I make passthrough devices available by using pci-stub 
> module as pci_back is ntworking for me.
> [CONFIG_XEN_PCIDEV_BACKEND=y instead of m]

Are you using xm or xl?
Why do you say that CONFIG_XEN_PCIDEV_BACKEND is not working for you?


> When I provide these pci devices either by 
> config file or by pci-attach my system turns blank.
> I read your post and tried with ubuntu 10.04 as guest.
> But I run into same problem.

Try assigning something that is not a graphic card, do you see the
device if you execute lspci?


> Should I have to create a kernel image inside d guest 
> wid al configurations enabled in domu as
> mentioned in http://wiki.xensource.com/xenwiki/XenParavirtOps

it should not be necessary


> Let me know where I'm going wrong or else 
> let me know the solution to get it working on 11.04.
> FYI: PCI devices are nvidia graphics card

Is it your primary graphic card?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:36:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:36:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ0sU-0006t2-Kz; Thu, 03 May 2012 18:35:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQ0sT-0006sx-3r
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 18:35:45 +0000
Received: from [85.158.139.83:5090] by server-12.bemta-5.messagelabs.com id
	C0/CF-01344-000D2AF4; Thu, 03 May 2012 18:35:44 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336070143!26644968!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13684 invoked from network); 3 May 2012 18:35:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 18:35:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,526,1330905600"; d="scan'208";a="12282528"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 18:35:26 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 3 May 2012 19:35:26 +0100
Date: Thu, 3 May 2012 19:42:57 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Vinaya M S <vinaya.ms@iiitb.org>
In-Reply-To: <loom.20120503T161144-497@post.gmane.org>
Message-ID: <alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 3 May 2012, Vinaya M S wrote:
> Hi Stefano,
> 
>   I'm also using ubuntu 11.04 HVM domain with xen 4.1.0.
> If I enable xen_platform_pci then I get busybox error.
> If I say xen_platform_pci=0 then it boots fine.

Can you post the boot logs please?


> I make passthrough devices available by using pci-stub 
> module as pci_back is ntworking for me.
> [CONFIG_XEN_PCIDEV_BACKEND=y instead of m]

Are you using xm or xl?
Why do you say that CONFIG_XEN_PCIDEV_BACKEND is not working for you?


> When I provide these pci devices either by 
> config file or by pci-attach my system turns blank.
> I read your post and tried with ubuntu 10.04 as guest.
> But I run into same problem.

Try assigning something that is not a graphic card, do you see the
device if you execute lspci?


> Should I have to create a kernel image inside d guest 
> wid al configurations enabled in domu as
> mentioned in http://wiki.xensource.com/xenwiki/XenParavirtOps

it should not be necessary


> Let me know where I'm going wrong or else 
> let me know the solution to get it working on 11.04.
> FYI: PCI devices are nvidia graphics card

Is it your primary graphic card?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:46:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:46:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ12V-00075x-PZ; Thu, 03 May 2012 18:46:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nruslan_devel@yahoo.com>) id 1SQ12U-00075s-EO
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:46:06 +0000
Received: from [85.158.138.51:46415] by server-1.bemta-3.messagelabs.com id
	FD/B1-11491-D62D2AF4; Thu, 03 May 2012 18:46:05 +0000
X-Env-Sender: nruslan_devel@yahoo.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336070764!25046052!1
X-Originating-IP: [98.138.229.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23761 invoked from network); 3 May 2012 18:46:04 -0000
Received: from nm39-vm2.bullet.mail.ne1.yahoo.com (HELO
	nm39-vm2.bullet.mail.ne1.yahoo.com) (98.138.229.162)
	by server-8.tower-174.messagelabs.com with SMTP;
	3 May 2012 18:46:04 -0000
Received: from [98.138.90.51] by nm39.bullet.mail.ne1.yahoo.com with NNFMP;
	03 May 2012 18:46:03 -0000
Received: from [98.138.88.237] by tm4.bullet.mail.ne1.yahoo.com with NNFMP;
	03 May 2012 18:46:03 -0000
Received: from [127.0.0.1] by omp1037.mail.ne1.yahoo.com with NNFMP;
	03 May 2012 18:46:03 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 462847.86100.bm@omp1037.mail.ne1.yahoo.com
Received: (qmail 10926 invoked by uid 60001); 3 May 2012 18:46:03 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1336070763; bh=xNMuWruphXmThpP1YxLRRbC25WfYeMV8me5ej4WbjwA=;
	h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=sFxG53oyH5UNDtDNh5zdlTQ0A81gysiXVCo7g7MWeXtAuscf9LMn+NUpwCd9obicF83HB6l6GEmHF9YNbJ87PZ0ZbAlYfch1VA5fJeP30gS2Yi7cex3y9jWSwVwwof+eP47ixjO/p1Sx6oehuw3PM0oEG3XO3X+eZymYJfIEGyM=
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com;
	h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=HRQlNSlR3mYmTtwtL7WrY7NW7BoVBIztHaIui1BqHyH4OyckdQxaqFhEBcNW9Ver+WSt4TYPVIgEUwEBNQm3ceQoycTdOeVj8nngVnIp6wbkM8J8Bqniia5RzvdoPKlOov8tUPSKfjr4gHUa2ba/SEW6HdvoOY03du5c2ErVtbs=;
X-YMail-OSG: 10BbO1QVM1l0pEGzOqAaknnwl5izOxssQqWeZVCw_AVqDcu
 KWcmwXIK6
Received: from [128.173.237.43] by web124502.mail.ne1.yahoo.com via HTTP;
	Thu, 03 May 2012 11:46:02 PDT
X-Mailer: YahooMailWebService/0.8.118.349524
Message-ID: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
Date: Thu, 3 May 2012 11:46:02 -0700 (PDT)
From: Ruslan Nikolaev <nruslan_devel@yahoo.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
MIME-Version: 1.0
Subject: [Xen-devel] Inter-domain event channel question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Ruslan Nikolaev <nruslan_devel@yahoo.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi

I want to set up an inter-domain event channel, and I want to receive interrupts in both directions (i.e. Dom1 can independently send an interrupt to Dom2 or vice versa).Do I need to have just 2 ports: one is on Dom 1 and the other one on Dom 2, and on each domain I simply bind it to the corresponding interrupt handler? Or do I need to have 4 ports: one pair is used for Dom2-to-Dom1 interrupts and the other pair for Dom1-to-Dom2 interrupts?


I would greatly appreciate if someone can explain it!


Ruslan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 18:46:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 18:46:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ12V-00075x-PZ; Thu, 03 May 2012 18:46:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nruslan_devel@yahoo.com>) id 1SQ12U-00075s-EO
	for xen-devel@lists.xen.org; Thu, 03 May 2012 18:46:06 +0000
Received: from [85.158.138.51:46415] by server-1.bemta-3.messagelabs.com id
	FD/B1-11491-D62D2AF4; Thu, 03 May 2012 18:46:05 +0000
X-Env-Sender: nruslan_devel@yahoo.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336070764!25046052!1
X-Originating-IP: [98.138.229.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23761 invoked from network); 3 May 2012 18:46:04 -0000
Received: from nm39-vm2.bullet.mail.ne1.yahoo.com (HELO
	nm39-vm2.bullet.mail.ne1.yahoo.com) (98.138.229.162)
	by server-8.tower-174.messagelabs.com with SMTP;
	3 May 2012 18:46:04 -0000
Received: from [98.138.90.51] by nm39.bullet.mail.ne1.yahoo.com with NNFMP;
	03 May 2012 18:46:03 -0000
Received: from [98.138.88.237] by tm4.bullet.mail.ne1.yahoo.com with NNFMP;
	03 May 2012 18:46:03 -0000
Received: from [127.0.0.1] by omp1037.mail.ne1.yahoo.com with NNFMP;
	03 May 2012 18:46:03 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 462847.86100.bm@omp1037.mail.ne1.yahoo.com
Received: (qmail 10926 invoked by uid 60001); 3 May 2012 18:46:03 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1336070763; bh=xNMuWruphXmThpP1YxLRRbC25WfYeMV8me5ej4WbjwA=;
	h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=sFxG53oyH5UNDtDNh5zdlTQ0A81gysiXVCo7g7MWeXtAuscf9LMn+NUpwCd9obicF83HB6l6GEmHF9YNbJ87PZ0ZbAlYfch1VA5fJeP30gS2Yi7cex3y9jWSwVwwof+eP47ixjO/p1Sx6oehuw3PM0oEG3XO3X+eZymYJfIEGyM=
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com;
	h=X-YMail-OSG:Received:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
	b=HRQlNSlR3mYmTtwtL7WrY7NW7BoVBIztHaIui1BqHyH4OyckdQxaqFhEBcNW9Ver+WSt4TYPVIgEUwEBNQm3ceQoycTdOeVj8nngVnIp6wbkM8J8Bqniia5RzvdoPKlOov8tUPSKfjr4gHUa2ba/SEW6HdvoOY03du5c2ErVtbs=;
X-YMail-OSG: 10BbO1QVM1l0pEGzOqAaknnwl5izOxssQqWeZVCw_AVqDcu
 KWcmwXIK6
Received: from [128.173.237.43] by web124502.mail.ne1.yahoo.com via HTTP;
	Thu, 03 May 2012 11:46:02 PDT
X-Mailer: YahooMailWebService/0.8.118.349524
Message-ID: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
Date: Thu, 3 May 2012 11:46:02 -0700 (PDT)
From: Ruslan Nikolaev <nruslan_devel@yahoo.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
MIME-Version: 1.0
Subject: [Xen-devel] Inter-domain event channel question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Ruslan Nikolaev <nruslan_devel@yahoo.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi

I want to set up an inter-domain event channel, and I want to receive interrupts in both directions (i.e. Dom1 can independently send an interrupt to Dom2 or vice versa).Do I need to have just 2 ports: one is on Dom 1 and the other one on Dom 2, and on each domain I simply bind it to the corresponding interrupt handler? Or do I need to have 4 ports: one pair is used for Dom2-to-Dom1 interrupts and the other pair for Dom1-to-Dom2 interrupts?


I would greatly appreciate if someone can explain it!


Ruslan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 19:02:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 19:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ1IC-0007Hi-9n; Thu, 03 May 2012 19:02:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQ1IB-0007Hd-E0
	for xen-devel@lists.xen.org; Thu, 03 May 2012 19:02:19 +0000
Received: from [85.158.139.83:62288] by server-11.bemta-5.messagelabs.com id
	A6/A8-12959-A36D2AF4; Thu, 03 May 2012 19:02:18 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336071736!22704782!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMDYxNQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24505 invoked from network); 3 May 2012 19:02:17 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 19:02:17 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43J2CFX031002
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 19:02:13 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43J2B7I021567
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 19:02:12 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43J2Bvk011415; Thu, 3 May 2012 14:02:11 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 12:02:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A52834031D; Thu,  3 May 2012 14:56:29 -0400 (EDT)
Date: Thu, 3 May 2012 14:56:29 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Sam Mulvey <sam@tacomatelematics.com>
Message-ID: <20120503185629.GA4895@phenom.dumpdata.com>
References: <FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
	<20120503172426.GF9992@phenom.dumpdata.com>
	<8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: great.potato@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCBNYXkgMDMsIDIwMTIgYXQgMTE6MDI6MDJBTSAtMDcwMCwgU2FtIE11bHZleSB3cm90
ZToKPiAKPiBPbiBNYXkgMywgMjAxMiwgYXQgMTA6MjQgQU0sIEtvbnJhZCBSemVzenV0ZWsgV2ls
ayB3cm90ZToKPiA+IAo+ID4gVGhpcyBsb29rcyBsaWtlIGFuIEU4MjAgYWxpZ25tZW50IGlzc3Vl
LiBDYW4geW91IHByb3ZpZGUgdGhlIGZ1bGwgc2VyaWFsIG91dHB1dCBwbGVhc2UuCj4gCj4gQ29t
aW5nIHJpZ2h0IHVwIQoKSG0sIHRoZXJlIGlzIG5vdGhpbmcgaGVyZSB0aGF0IGxvb2tzIHdyb25n
LCBwZXIgc2F5LiBJIHdvdWxkIHN1Z2dlc3QKeW91IGRvOiBkb20wX21lbT1tYXg6MUcgaW5zdGVh
ZCBvZiBkb20wX21lbT0xRyAob3RoZXJ3aXNlIHlvdSBlbmQgdXAKaGF2aW5nIGRvbTAgY29udGFp
biBwYWdlcyBmb3IgdGhlIGZ1bGwgMTNHQikuCgpCZXNpZGVzIHRoYXQsIGNhbiB5b3UgZG8gcmVk
byB0aGlzIHdpdGggb24gTGludXggY29tbWFuZCBsaW5lIGJlOgoKJ2Vhcmx5cHJpbnRrPXhlbiBj
b25zb2xlPWh2YzAgZGVidWcgbWVtYmxvY2s9ZGVidWcgbG9nbGV2ZWw9OCBpbml0Y2FsbF9kZWJ1
ZyIKCkFuZCBhZGQgb24gdGhlIFhlbiBsaW5lOiAic3luY19jb25zb2xlIi4KCkhvcGVmdWxseSB0
aGF0IHdpbGwgcHJvdmlkZSBzb21lIGlkZWEgb2Ygd2h5IHRoaXMgaXMgbm90IHdvcmtpbmcgcmln
aHQuCgo+IAo+IF9fICBfXyAgICAgICAgICAgIF8gIF8gICAgXyAgIF9fX18gIAo+ICBcIFwvIC9f
X18gXyBfXyAgIHwgfHwgfCAgLyB8IHxfX18gXCAKPiAgIFwgIC8vIF8gXCAnXyBcICB8IHx8IHxf
IHwgfCAgIF9fKSB8Cj4gICAvICBcICBfXy8gfCB8IHwgfF9fICAgX3x8IHxfIC8gX18vIAo+ICAv
Xy9cX1xfX198X3wgfF98ICAgIHxffChfKV8oXylfX19fX3wKPiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCj4gKFhFTikgWGVuIHZlcnNpb24gNC4xLjIgKHNhbUBsb2NhbGRv
bWFpbikgKGdjYyB2ZXJzaW9uIDQuNy4wIDIwMTIwNDE0IChwcmVyZWxlYXNlKSAoR0NDKSApIFdl
ZCBNYXkgIDIgMTk6NTE6MjEgUERUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiB1bmF2
YWlsYWJsZQo+IChYRU4pIEJvb3Rsb2FkZXI6IEdOVSBHUlVCIDAuOTcKPiAoWEVOKSBDb21tYW5k
IGxpbmU6IGRvbTBfbWVtPTFHIGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBjb20xPTExNTIw
MCw4bjEgY29uc29sZT1jb20xCj4gKFhFTikgVmlkZW8gaW5mb3JtYXRpb246Cj4gKFhFTikgIFZH
QSBpcyB0ZXh0IG1vZGUgODB4MjUsIGZvbnQgOHgxNgo+IChYRU4pICBWQkUvRERDIG1ldGhvZHM6
IFYyOyBFRElEIHRyYW5zZmVyIHRpbWU6IDIgc2Vjb25kcwo+IChYRU4pIERpc2MgaW5mb3JtYXRp
b246Cj4gKFhFTikgIEZvdW5kIDMgTUJSIHNpZ25hdHVyZXMKPiAoWEVOKSAgRm91bmQgMyBFREQg
aW5mb3JtYXRpb24gc3RydWN0dXJlcwo+IChYRU4pIFhlbi1lODIwIFJBTSBtYXA6Cj4gKFhFTikg
IDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAwMDlkMDAwICh1c2FibGUpCj4gKFhFTikgIDAw
MDAwMDAwMDAwOWQwMDAgLSAwMDAwMDAwMDAwMGEwMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAgMDAw
MDAwMDAwMDBlMDAwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAw
MDAwMDAwMTAwMDAwIC0gMDAwMDAwMDBiZmZmMDAwMCAodXNhYmxlKQo+IChYRU4pICAwMDAwMDAw
MGJmZmYwMDAwIC0gMDAwMDAwMDBiZmZmZTAwMCAoQUNQSSBkYXRhKQo+IChYRU4pICAwMDAwMDAw
MGJmZmZlMDAwIC0gMDAwMDAwMDBjMDAwMDAwMCAoQUNQSSBOVlMpCj4gKFhFTikgIDAwMDAwMDAw
ZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAzMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAgMDAwMDAwMDBm
ZWUwMDAwMCAtIDAwMDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAwMTAw
MDAwMDAwIC0gMDAwMDAwMDM4MDAwMDAwMCAodXNhYmxlKQo+IChYRU4pIEFDUEk6IFJTRFAgMDAw
RjgzQzAsIDAwMjQgKHIyIEFDUElBTSkKPiAoWEVOKSBBQ1BJOiBYU0RUIEJGRkYwMTAwLCAwMDRD
IChyMSAwNzEwMDggWFNEVDA5NDggMjAwODA3MTAgTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJ
OiBGQUNQIEJGRkYwMjkwLCAwMEY0IChyMyAwNzEwMDggRkFDUDA5NDggMjAwODA3MTAgTVNGVCAg
ICAgICA5NykKPiAoWEVOKSBBQ1BJOiBEU0RUIEJGRkYwNEEwLCAzQjY4IChyMSAgMEFBQUEgMEFB
QUEwMDAgICAgICAgIDAgSU5UTCAgMjAwMjAyNikKPiAoWEVOKSBBQ1BJOiBGQUNTIEJGRkZFMDAw
LCAwMDQwCj4gKFhFTikgQUNQSTogQVBJQyBCRkZGMDM5MCwgMDBDQSAocjEgMDcxMDA4IEFQSUMw
OTQ4IDIwMDgwNzEwIE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogTUNGRyBCRkZGMDQ2MCwg
MDAzQyAocjEgMDcxMDA4IE9FTU1DRkcgIDIwMDgwNzEwIE1TRlQgICAgICAgOTcpCj4gKFhFTikg
QUNQSTogT0VNQiBCRkZGRTA0MCwgMDA1NiAocjEgMDcxMDA4IE9FTUIwOTQ4IDIwMDgwNzEwIE1T
RlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogU1JBVCBCRkZGNDAxMCwgMDE1MCAocjEgQU1EICAg
IEhBTU1FUiAgICAgICAgICAxIEFNRCAgICAgICAgIDEpCj4gKFhFTikgU3lzdGVtIFJBTTogMTMz
MTFNQiAoMTM2MzEwMjhrQikKPiAoWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDAgLT4gTm9kZSAw
Cj4gKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJQyAxIC0+IE5vZGUgMAo+IChYRU4pIFNSQVQ6IFBY
TSAwIC0+IEFQSUMgMiAtPiBOb2RlIDAKPiAoWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDMgLT4g
Tm9kZSAwCj4gKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJQyA0IC0+IE5vZGUgMQo+IChYRU4pIFNS
QVQ6IFBYTSAxIC0+IEFQSUMgNSAtPiBOb2RlIDEKPiAoWEVOKSBTUkFUOiBQWE0gMSAtPiBBUElD
IDYgLT4gTm9kZSAxCj4gKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJQyA3IC0+IE5vZGUgMQo+IChY
RU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAwLWEwMDAwCj4gKFhFTikgU1JBVDogTm9kZSAwIFBYTSAw
IDEwMDAwMC1jMDAwMDAwMAo+IChYRU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAxMDAwMDAwMDAtMWUw
MDAwMDAwCj4gKFhFTikgU1JBVDogTm9kZSAxIFBYTSAxIDFlMDAwMDAwMC0zODAwMDAwMDAKPiAo
WEVOKSBOVU1BOiBBbGxvY2F0ZWQgbWVtbm9kZW1hcCBmcm9tIDM3ZTVmNTAwMCAtIDM3ZTVmOTAw
MAo+IChYRU4pIE5VTUE6IFVzaW5nIDggZm9yIHRoZSBoYXNoIHNoaWZ0Lgo+IChYRU4pIERvbWFp
biBoZWFwIGluaXRpYWxpc2VkIERNQSB3aWR0aCAzMCBiaXRzCj4gKFhFTikgZm91bmQgU01QIE1Q
LXRhYmxlIGF0IDAwMGZmNzgwCj4gKFhFTikgRE1JIDIuMyBwcmVzZW50Lgo+IChYRU4pIFVzaW5n
IEFQSUMgZHJpdmVyIGRlZmF1bHQKPiAoWEVOKSBBQ1BJOiBQTS1UaW1lciBJTyBQb3J0OiAweDUw
OAo+IChYRU4pIEFDUEk6IEFDUEkgU0xFRVAgSU5GTzogcG0xeF9jbnRbNTQ0LDUwNF0sIHBtMXhf
ZXZ0WzU0MCw1MDBdCj4gKFhFTikgQUNQSTogICAgICAgICAgICAgICAgICB3YWtldXBfdmVjW2Jm
ZmZlMDBjXSwgdmVjX3NpemVbMjBdCj4gKFhFTikgQUNQSTogTG9jYWwgQVBJQyBhZGRyZXNzIDB4
ZmVlMDAwMDAKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAw
XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMCAwOjIgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhF
TikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMl0gbGFwaWNfaWRbMHgwMV0gZW5hYmxlZCkKPiAo
WEVOKSBQcm9jZXNzb3IgIzEgMDoyIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29y
ICMyIDA6MiBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA0
XSBsYXBpY19pZFsweDAzXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMyAwOjIgQVBJQyB2
ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgw
NF0gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzQgMDoyIEFQSUMgdmVyc2lvbiAxNgo+IChY
RU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4g
KFhFTikgUHJvY2Vzc29yICM1IDA6MiBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJ
QyAoYWNwaV9pZFsweDA3XSBsYXBpY19pZFsweDA2XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3Nv
ciAjNiAwOjIgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgw
OF0gbGFwaWNfaWRbMHgwN10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzcgMDoyIEFQSUMg
dmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAxXSBoaWdoIGVk
Z2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAyXSBoaWdo
IGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAzXSBo
aWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDA0
XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsw
eDA1XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9p
ZFsweDA2XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNw
aV9pZFsweDA3XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAo
YWNwaV9pZFsweDA4XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IElPQVBJQyAo
aWRbMHgwOF0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKPiAoWEVOKSBJT0FQSUNb
MF06IGFwaWNfaWQgOCwgdmVyc2lvbiAxNywgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0xNQo+
IChYRU4pIEFDUEk6IElPQVBJQyAoaWRbMHgwOV0gYWRkcmVzc1sweGZlYzAxMDAwXSBnc2lfYmFz
ZVsxNl0pCj4gKFhFTikgSU9BUElDWzFdOiBhcGljX2lkIDksIHZlcnNpb24gMTcsIGFkZHJlc3Mg
MHhmZWMwMTAwMCwgR1NJIDE2LTMxCj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsweDBhXSBhZGRy
ZXNzWzB4ZmVjMDIwMDBdIGdzaV9iYXNlWzMyXSkKPiAoWEVOKSBJT0FQSUNbMl06IGFwaWNfaWQg
MTAsIHZlcnNpb24gMTcsIGFkZHJlc3MgMHhmZWMwMjAwMCwgR1NJIDMyLTQ3Cj4gKFhFTikgQUNQ
STogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkKPiAo
WEVOKSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2Vk
IGJ5IG92ZXJyaWRlLgo+IChYRU4pIEVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAz
IEkvTyBBUElDcwo+IChYRU4pIFBDSTogTUNGRyBjb25maWd1cmF0aW9uIDA6IGJhc2UgZTAwMDAw
MDAgc2VnbWVudCAwIGJ1c2VzIDAgLSAyNTUKPiAoWEVOKSBQQ0k6IE5vdCB1c2luZyBNTUNPTkZJ
Ry4KPiAoWEVOKSBUYWJsZSBpcyBub3QgZm91bmQhCj4gKFhFTikgVXNpbmcgQUNQSSAoTUFEVCkg
Zm9yIFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCj4gKFhFTikgSVJRIGxpbWl0czogNDgg
R1NJLCAxNTA0IE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01QIENyZWRpdCBT
Y2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAyMjk0LjMwOCBNSHogcHJvY2Vzc29y
Lgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1EIEZhbTEwaCBtYWNo
aW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgQU1ELVZpOiBJT01NVSBub3QgZm91
bmQhCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGRpc2FibGVkCj4gKFhFTikgRU5BQkxJTkcg
SU8tQVBJQyBJUlFzCj4gKFhFTikgIC0+IFVzaW5nIG5ldyBBQ0sgbWV0aG9kCj4gKFhFTikgLi5U
SU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBwaW4xPTIgYXBpYzI9LTEgcGluMj0tMQo+IChYRU4p
IFBsYXRmb3JtIHRpbWVyIGFwcGVhcnMgdG8gaGF2ZSB1bmV4cGVjdGVkbHkgd3JhcHBlZCAxMCBv
ciBtb3JlIHRpbWVzLgo+IChYRU4pIFBsYXRmb3JtIHRpbWVyIGlzIDMuNTc5TUh6IEFDUEkgUE0g
VGltZXIKPiDLhyhYRU4pIEFsbG9jYXRlZCBjb25zb2xlIHJpbmcgb2YgNjQgS2lCLgo+IChYRU4p
IEhWTTogQVNJRHMgZW5hYmxlZC4KPiAoWEVOKSBTVk06IFN1cHBvcnRlZCBhZHZhbmNlZCBmZWF0
dXJlczoKPiAoWEVOKSAgLSBOZXN0ZWQgUGFnZSBUYWJsZXMgKE5QVCkKPiAoWEVOKSAgLSBMYXN0
IEJyYW5jaCBSZWNvcmQgKExCUikgVmlydHVhbGlzYXRpb24KPiAoWEVOKSBIVk06IFNWTSBlbmFi
bGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Npc3RlZCBQYWdpbmcgZGV0ZWN0ZWQuCj4gKFhF
TikgQnJvdWdodCB1cCA4IENQVXMKPiAoWEVOKSBDUFVJRExFOiBkaXNhYmxlZCBkdWUgdG8gbm8g
SFBFVC4gRm9yY2UgZW5hYmxlIHdpdGggJ2NwdWlkbGUnLgo+IChYRU4pIEFDUEkgc2xlZXAgbW9k
ZXM6IFMzCj4gKFhFTikgTUNBOiBVc2UgaHcgdGhyZXNob2xkaW5nIHRvIGFkanVzdCBwb2xsaW5n
IGZyZXF1ZW5jeQo+IChYRU4pIG1jaGVja19wb2xsOiBNYWNoaW5lIGNoZWNrIHBvbGxpbmcgdGlt
ZXIgc3RhcnRlZC4KPiAoWEVOKSAqKiogTE9BRElORyBET01BSU4gMCAqKioKPiAoWEVOKSAgWGVu
ICBrZXJuZWw6IDY0LWJpdCwgbHNiLCBjb21wYXQzMgo+IChYRU4pICBEb20wIGtlcm5lbDogNjQt
Yml0LCBQQUUsIGxzYiwgcGFkZHIgMHgxMDAwMDAwIC0+IDB4MWViODAwMAo+IChYRU4pIFBIWVNJ
Q0FMIE1FTU9SWSBBUlJBTkdFTUVOVDoKPiAoWEVOKSAgRG9tMCBhbGxvYy46ICAgMDAwMDAwMDM3
MDAwMDAwMC0+MDAwMDAwMDM3NDAwMDAwMCAoMjQzMzQwIHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkK
PiAoWEVOKSAgSW5pdC4gcmFtZGlzazogMDAwMDAwMDM3ZjY4YzAwMC0+MDAwMDAwMDM3ZmZmZmUw
MAo+IChYRU4pIFZJUlRVQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgo+IChYRU4pICBMb2FkZWQga2Vy
bmVsOiBmZmZmZmZmZjgxMDAwMDAwLT5mZmZmZmZmZjgxZWI4MDAwCj4gKFhFTikgIEluaXQuIHJh
bWRpc2s6IGZmZmZmZmZmODFlYjgwMDAtPmZmZmZmZmZmODI4MmJlMDAKPiAoWEVOKSAgUGh5cy1N
YWNoIG1hcDogZmZmZmZmZmY4MjgyYzAwMC0+ZmZmZmZmZmY4MmEyYzAwMAo+IChYRU4pICBTdGFy
dCBpbmZvOiAgICBmZmZmZmZmZjgyYTJjMDAwLT5mZmZmZmZmZjgyYTJjNGI0Cj4gKFhFTikgIFBh
Z2UgdGFibGVzOiAgIGZmZmZmZmZmODJhMmQwMDAtPmZmZmZmZmZmODJhNDYwMDAKPiAoWEVOKSAg
Qm9vdCBzdGFjazogICAgZmZmZmZmZmY4MmE0NjAwMC0+ZmZmZmZmZmY4MmE0NzAwMAo+IChYRU4p
ICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgwMDAwMDAwLT5mZmZmZmZmZjgyYzAwMDAwCj4gKFhF
TikgIEVOVFJZIEFERFJFU1M6IGZmZmZmZmZmODE4YjQyMDAKPiAoWEVOKSBEb20wIGhhcyBtYXhp
bXVtIDggVkNQVXMKPiAoWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uZG9uZS4KPiAo
WEVOKSBYZW4gdHJhY2UgYnVmZmVyczogZGlzYWJsZWQKPiAoWEVOKSBTdGQuIExvZ2xldmVsOiBB
bGwKPiAoWEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsCj4gKFhFTikgKioqIFNlcmlhbCBpbnB1dCAt
PiBET00wICh0eXBlICdDVFJMLWEnIHRocmVlIHRpbWVzIHRvIHN3aXRjaCBpbnB1dCB0byBYZW4p
Cj4gKFhFTikgRnJlZWQgMjI4a0IgaW5pdCBtZW1vcnkuCj4gbWFwcGluZyBrZXJuZWwgaW50byBw
aHlzaWNhbCBtZW1vcnkKPiBYZW46IHNldHVwIElTQSBpZGVudGl0eSBtYXBzCj4gYWJvdXQgdG8g
Z2V0IHN0YXJ0ZWQuLi4KPiBbICAgIDAuMDAwMDAwXSBDYW5ub3QgZmluZCAyMDQ4MCBieXRlcyBp
biBub2RlIDEKPiBbICAgIDAuMDAwMDAwXSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5V
TEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAgICAgICAgICAgKG51bGwpCj4gWyAgICAwLjAwMDAw
MF0gSVA6IFs8ZmZmZmZmZmY4MThkNTcwND5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4NzIvMHg5
OQo+IFsgICAgMC4wMDAwMDBdIFBHRCAwIAo+IFsgICAgMC4wMDAwMDBdIE9vcHM6IDAwMDAgWyMx
XSBQUkVFTVBUIFNNUCAKPiBbICAgIDAuMDAwMDAwXSBDUFUgMCAKPiBbICAgIDAuMDAwMDAwXSBN
b2R1bGVzIGxpbmtlZCBpbjoKPiBbICAgIDAuMDAwMDAwXSAKPiBbICAgIDAuMDAwMDAwXSBQaWQ6
IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMy4zLjQtMi1BUkNIICMxIGVtcHR5IGVtcHR5
L1MzOTkyCj4gWyAgICAwLjAwMDAwMF0gUklQOiBlMDMwOls8ZmZmZmZmZmY4MThkNTcwND5dICBb
PGZmZmZmZmZmODE4ZDU3MDQ+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDcyLzB4OTkKPiBbICAg
IDAuMDAwMDAwXSBSU1A6IGUwMmI6ZmZmZmZmZmY4MTgwMWRlOCAgRUZMQUdTOiAwMDAxMDA0Ngo+
IFsgICAgMC4wMDAwMDBdIFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAz
NzggUkNYOiAwMDAwMDAwMDAwMDAwMDAwCj4gWyAgICAwLjAwMDAwMF0gUkRYOiAwMDAwMDAwMDAw
MDAwMDQwIFJTSTogMDAwMDAwMDAwMDAwMDM3OCBSREk6IDAwMDAwMDAwMDAwMDAwMDAKPiBbICAg
IDAuMDAwMDAwXSBSQlA6IGZmZmZmZmZmODE4MDFlMDggUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIw
OTogZmZmZmZmZmY4MTgwMWQ5OAo+IFsgICAgMC4wMDAwMDBdIFIxMDogZmZmZmZmZmY4MTgwMWQ4
OCBSMTE6IGZmZmZmZmZmODE4MDFkOTAgUjEyOiAwMDAwMDAwMDAwMDAwMDQwCj4gWyAgICAwLjAw
MDAwMF0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAw
MDAwMDAwMDAwMDAwMDEKPiBbICAgIDAuMDAwMDAwXSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAw
MCkgR1M6ZmZmZmZmZmY4MTg5ZjAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCj4gWyAg
ICAwLjAwMDAwMF0gQ1M6ICBlMDMzIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1
MDAzMwo+IFsgICAgMC4wMDAwMDBdIENSMjogMDAwMDAwMDAwMDAwMDAwMCBDUjM6IDAwMDAwMDAw
MDE4MDUwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNjYwCj4gWyAgICAwLjAwMDAwMF0gRFIwOiAwMDAw
MDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAK
PiBbICAgIDAuMDAwMDAwXSBEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMDAwMDAw
MDAwIERSNzogMDAwMDAwMDAwMDAwMDAwMAo+IFsgICAgMC4wMDAwMDBdIFByb2Nlc3Mgc3dhcHBl
ciAocGlkOiAwLCB0aHJlYWRpbmZvIGZmZmZmZmZmODE4MDAwMDAsIHRhc2sgZmZmZmZmZmY4MTgw
ZDAyMCkKPiBbICAgIDAuMDAwMDAwXSBTdGFjazoKPiBbICAgIDAuMDAwMDAwXSAgMDAwMDAwMDAw
MDA4MDAwMCAwMDAwMDAwMDAwMDAwMzc4IDAwMDAwMDAwMDAwMDAwM2MgZmZmZjg4MDAzZmJmYTAw
MAo+IFsgICAgMC4wMDAwMDBdICBmZmZmZmZmZjgxODAxZTY4IGZmZmZmZmZmODE4ZDYzZjAgZmZm
ZmZmZmY4MTgwMWU0OCAwMDAwMDAwMTgxOGQ1M2JjCj4gWyAgICAwLjAwMDAwMF0gIGZmZmY4ODAw
M2ZiZjlmZTAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAyODJjMDAwIGZmZmY4ODAwM2ZiZmEw
MDAKPiBbICAgIDAuMDAwMDAwXSBDYWxsIFRyYWNlOgo+IFsgICAgMC4wMDAwMDBdICBbPGZmZmZm
ZmZmODE4ZDYzZjA+XSBzcGFyc2VfZWFybHlfdXNlbWFwc19hbGxvY19ub2RlKzB4NjMvMHgxYzQK
PiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGQ2NzdiPl0gc3BhcnNlX2luaXQrMHhmOC8w
eDJjOAo+IFsgICAgMC4wMDAwMDBdICBbPGZmZmZmZmZmODE4Y2E0ZDI+XSBwYWdpbmdfaW5pdCsw
eDEzLzB4MjIKPiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI5ZGNhPl0gc2V0dXBfYXJj
aCsweDlmMi8weGFjMAo+IFsgICAgMC4wMDAwMDBdICBbPGZmZmZmZmZmODE0NTYyZDI+XSA/IHBy
aW50aysweDQxLzB4NDMKPiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI0OTFiPl0gc3Rh
cnRfa2VybmVsKzB4ZDQvMHgzZDEKPiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI0MzQ2
Pl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDEzMS8weDEzNQo+IFsgICAgMC4wMDAwMDBd
ICBbPGZmZmZmZmZmODE4YjY5Yzk+XSB4ZW5fc3RhcnRfa2VybmVsKzB4NTk4LzB4NTlmCj4gWyAg
ICAwLjAwMDAwMF0gQ29kZTogNGMgODkgZTkgNGMgODkgZTIgNDggODkgZGUgYmYgNDAgMDAgMDAg
MDAgZTggMGYgZmMgZmYgZmYgZWIgMzQgNDEgOGIgOTYgYTAgNDAgMDAgMDAgYmUgMDAgODAgMDAg
MDAgNDggODkgZGYgZTggMWUgMTEgODggZmYgZWIgMWUgPDQxPiA4YiBiZSBhMCA0MCAwMCAwMCA0
OSA4MyBjOCBmZiA0YyA4OSBlOSA0YyA4OSBlMiA0OCA4OSBkZSBlOCAKPiBbICAgIDAuMDAwMDAw
XSBSSVAgIFs8ZmZmZmZmZmY4MThkNTcwND5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4NzIvMHg5
OQo+IFsgICAgMC4wMDAwMDBdICBSU1AgPGZmZmZmZmZmODE4MDFkZTg+Cj4gWyAgICAwLjAwMDAw
MF0gQ1IyOiAwMDAwMDAwMDAwMDAwMDAwCj4gWyAgICAwLjAwMDAwMF0gLS0tWyBlbmQgdHJhY2Ug
YTc5MTllN2YxN2MwYTcyNSBdLS0tCj4gWyAgICAwLjAwMDAwMF0gS2VybmVsIHBhbmljIC0gbm90
IHN5bmNpbmc6IEF0dGVtcHRlZCB0byBraWxsIHRoZSBpZGxlIHRhc2shCj4gKFhFTikgRG9tYWlu
IDAgY3Jhc2hlZDogcmVib290aW5nIG1hY2hpbmUgaW4gNSBzZWNvbmRzLgo+IAo+IAo+IFRoYW5r
cyEKPiAKPiAKPiAtLSAKPiBTYW0gTXVsdmV5Cj4gVGFjb21hIFRlbGVtYXRpY3MKPiBzYW1AdGFj
b21hdGVsZW1hdGljcy5jb20KPiAoMjUzKSA4ODMtMzAzMCB4MTEwCj4gCj4gCj4gCj4gCj4gCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2
ZWwgbWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMu
eGVuLm9yZy94ZW4tZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Thu May 03 19:02:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 19:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ1IC-0007Hi-9n; Thu, 03 May 2012 19:02:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQ1IB-0007Hd-E0
	for xen-devel@lists.xen.org; Thu, 03 May 2012 19:02:19 +0000
Received: from [85.158.139.83:62288] by server-11.bemta-5.messagelabs.com id
	A6/A8-12959-A36D2AF4; Thu, 03 May 2012 19:02:18 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336071736!22704782!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMDYxNQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24505 invoked from network); 3 May 2012 19:02:17 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 3 May 2012 19:02:17 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q43J2CFX031002
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 3 May 2012 19:02:13 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q43J2B7I021567
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 3 May 2012 19:02:12 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q43J2Bvk011415; Thu, 3 May 2012 14:02:11 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 12:02:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A52834031D; Thu,  3 May 2012 14:56:29 -0400 (EDT)
Date: Thu, 3 May 2012 14:56:29 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Sam Mulvey <sam@tacomatelematics.com>
Message-ID: <20120503185629.GA4895@phenom.dumpdata.com>
References: <FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
	<20120503172426.GF9992@phenom.dumpdata.com>
	<8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: great.potato@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCBNYXkgMDMsIDIwMTIgYXQgMTE6MDI6MDJBTSAtMDcwMCwgU2FtIE11bHZleSB3cm90
ZToKPiAKPiBPbiBNYXkgMywgMjAxMiwgYXQgMTA6MjQgQU0sIEtvbnJhZCBSemVzenV0ZWsgV2ls
ayB3cm90ZToKPiA+IAo+ID4gVGhpcyBsb29rcyBsaWtlIGFuIEU4MjAgYWxpZ25tZW50IGlzc3Vl
LiBDYW4geW91IHByb3ZpZGUgdGhlIGZ1bGwgc2VyaWFsIG91dHB1dCBwbGVhc2UuCj4gCj4gQ29t
aW5nIHJpZ2h0IHVwIQoKSG0sIHRoZXJlIGlzIG5vdGhpbmcgaGVyZSB0aGF0IGxvb2tzIHdyb25n
LCBwZXIgc2F5LiBJIHdvdWxkIHN1Z2dlc3QKeW91IGRvOiBkb20wX21lbT1tYXg6MUcgaW5zdGVh
ZCBvZiBkb20wX21lbT0xRyAob3RoZXJ3aXNlIHlvdSBlbmQgdXAKaGF2aW5nIGRvbTAgY29udGFp
biBwYWdlcyBmb3IgdGhlIGZ1bGwgMTNHQikuCgpCZXNpZGVzIHRoYXQsIGNhbiB5b3UgZG8gcmVk
byB0aGlzIHdpdGggb24gTGludXggY29tbWFuZCBsaW5lIGJlOgoKJ2Vhcmx5cHJpbnRrPXhlbiBj
b25zb2xlPWh2YzAgZGVidWcgbWVtYmxvY2s9ZGVidWcgbG9nbGV2ZWw9OCBpbml0Y2FsbF9kZWJ1
ZyIKCkFuZCBhZGQgb24gdGhlIFhlbiBsaW5lOiAic3luY19jb25zb2xlIi4KCkhvcGVmdWxseSB0
aGF0IHdpbGwgcHJvdmlkZSBzb21lIGlkZWEgb2Ygd2h5IHRoaXMgaXMgbm90IHdvcmtpbmcgcmln
aHQuCgo+IAo+IF9fICBfXyAgICAgICAgICAgIF8gIF8gICAgXyAgIF9fX18gIAo+ICBcIFwvIC9f
X18gXyBfXyAgIHwgfHwgfCAgLyB8IHxfX18gXCAKPiAgIFwgIC8vIF8gXCAnXyBcICB8IHx8IHxf
IHwgfCAgIF9fKSB8Cj4gICAvICBcICBfXy8gfCB8IHwgfF9fICAgX3x8IHxfIC8gX18vIAo+ICAv
Xy9cX1xfX198X3wgfF98ICAgIHxffChfKV8oXylfX19fX3wKPiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCj4gKFhFTikgWGVuIHZlcnNpb24gNC4xLjIgKHNhbUBsb2NhbGRv
bWFpbikgKGdjYyB2ZXJzaW9uIDQuNy4wIDIwMTIwNDE0IChwcmVyZWxlYXNlKSAoR0NDKSApIFdl
ZCBNYXkgIDIgMTk6NTE6MjEgUERUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiB1bmF2
YWlsYWJsZQo+IChYRU4pIEJvb3Rsb2FkZXI6IEdOVSBHUlVCIDAuOTcKPiAoWEVOKSBDb21tYW5k
IGxpbmU6IGRvbTBfbWVtPTFHIGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBjb20xPTExNTIw
MCw4bjEgY29uc29sZT1jb20xCj4gKFhFTikgVmlkZW8gaW5mb3JtYXRpb246Cj4gKFhFTikgIFZH
QSBpcyB0ZXh0IG1vZGUgODB4MjUsIGZvbnQgOHgxNgo+IChYRU4pICBWQkUvRERDIG1ldGhvZHM6
IFYyOyBFRElEIHRyYW5zZmVyIHRpbWU6IDIgc2Vjb25kcwo+IChYRU4pIERpc2MgaW5mb3JtYXRp
b246Cj4gKFhFTikgIEZvdW5kIDMgTUJSIHNpZ25hdHVyZXMKPiAoWEVOKSAgRm91bmQgMyBFREQg
aW5mb3JtYXRpb24gc3RydWN0dXJlcwo+IChYRU4pIFhlbi1lODIwIFJBTSBtYXA6Cj4gKFhFTikg
IDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAwMDlkMDAwICh1c2FibGUpCj4gKFhFTikgIDAw
MDAwMDAwMDAwOWQwMDAgLSAwMDAwMDAwMDAwMGEwMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAgMDAw
MDAwMDAwMDBlMDAwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAw
MDAwMDAwMTAwMDAwIC0gMDAwMDAwMDBiZmZmMDAwMCAodXNhYmxlKQo+IChYRU4pICAwMDAwMDAw
MGJmZmYwMDAwIC0gMDAwMDAwMDBiZmZmZTAwMCAoQUNQSSBkYXRhKQo+IChYRU4pICAwMDAwMDAw
MGJmZmZlMDAwIC0gMDAwMDAwMDBjMDAwMDAwMCAoQUNQSSBOVlMpCj4gKFhFTikgIDAwMDAwMDAw
ZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAzMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAgMDAwMDAwMDBm
ZWUwMDAwMCAtIDAwMDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAwMTAw
MDAwMDAwIC0gMDAwMDAwMDM4MDAwMDAwMCAodXNhYmxlKQo+IChYRU4pIEFDUEk6IFJTRFAgMDAw
RjgzQzAsIDAwMjQgKHIyIEFDUElBTSkKPiAoWEVOKSBBQ1BJOiBYU0RUIEJGRkYwMTAwLCAwMDRD
IChyMSAwNzEwMDggWFNEVDA5NDggMjAwODA3MTAgTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJ
OiBGQUNQIEJGRkYwMjkwLCAwMEY0IChyMyAwNzEwMDggRkFDUDA5NDggMjAwODA3MTAgTVNGVCAg
ICAgICA5NykKPiAoWEVOKSBBQ1BJOiBEU0RUIEJGRkYwNEEwLCAzQjY4IChyMSAgMEFBQUEgMEFB
QUEwMDAgICAgICAgIDAgSU5UTCAgMjAwMjAyNikKPiAoWEVOKSBBQ1BJOiBGQUNTIEJGRkZFMDAw
LCAwMDQwCj4gKFhFTikgQUNQSTogQVBJQyBCRkZGMDM5MCwgMDBDQSAocjEgMDcxMDA4IEFQSUMw
OTQ4IDIwMDgwNzEwIE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogTUNGRyBCRkZGMDQ2MCwg
MDAzQyAocjEgMDcxMDA4IE9FTU1DRkcgIDIwMDgwNzEwIE1TRlQgICAgICAgOTcpCj4gKFhFTikg
QUNQSTogT0VNQiBCRkZGRTA0MCwgMDA1NiAocjEgMDcxMDA4IE9FTUIwOTQ4IDIwMDgwNzEwIE1T
RlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogU1JBVCBCRkZGNDAxMCwgMDE1MCAocjEgQU1EICAg
IEhBTU1FUiAgICAgICAgICAxIEFNRCAgICAgICAgIDEpCj4gKFhFTikgU3lzdGVtIFJBTTogMTMz
MTFNQiAoMTM2MzEwMjhrQikKPiAoWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDAgLT4gTm9kZSAw
Cj4gKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJQyAxIC0+IE5vZGUgMAo+IChYRU4pIFNSQVQ6IFBY
TSAwIC0+IEFQSUMgMiAtPiBOb2RlIDAKPiAoWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDMgLT4g
Tm9kZSAwCj4gKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJQyA0IC0+IE5vZGUgMQo+IChYRU4pIFNS
QVQ6IFBYTSAxIC0+IEFQSUMgNSAtPiBOb2RlIDEKPiAoWEVOKSBTUkFUOiBQWE0gMSAtPiBBUElD
IDYgLT4gTm9kZSAxCj4gKFhFTikgU1JBVDogUFhNIDEgLT4gQVBJQyA3IC0+IE5vZGUgMQo+IChY
RU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAwLWEwMDAwCj4gKFhFTikgU1JBVDogTm9kZSAwIFBYTSAw
IDEwMDAwMC1jMDAwMDAwMAo+IChYRU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAxMDAwMDAwMDAtMWUw
MDAwMDAwCj4gKFhFTikgU1JBVDogTm9kZSAxIFBYTSAxIDFlMDAwMDAwMC0zODAwMDAwMDAKPiAo
WEVOKSBOVU1BOiBBbGxvY2F0ZWQgbWVtbm9kZW1hcCBmcm9tIDM3ZTVmNTAwMCAtIDM3ZTVmOTAw
MAo+IChYRU4pIE5VTUE6IFVzaW5nIDggZm9yIHRoZSBoYXNoIHNoaWZ0Lgo+IChYRU4pIERvbWFp
biBoZWFwIGluaXRpYWxpc2VkIERNQSB3aWR0aCAzMCBiaXRzCj4gKFhFTikgZm91bmQgU01QIE1Q
LXRhYmxlIGF0IDAwMGZmNzgwCj4gKFhFTikgRE1JIDIuMyBwcmVzZW50Lgo+IChYRU4pIFVzaW5n
IEFQSUMgZHJpdmVyIGRlZmF1bHQKPiAoWEVOKSBBQ1BJOiBQTS1UaW1lciBJTyBQb3J0OiAweDUw
OAo+IChYRU4pIEFDUEk6IEFDUEkgU0xFRVAgSU5GTzogcG0xeF9jbnRbNTQ0LDUwNF0sIHBtMXhf
ZXZ0WzU0MCw1MDBdCj4gKFhFTikgQUNQSTogICAgICAgICAgICAgICAgICB3YWtldXBfdmVjW2Jm
ZmZlMDBjXSwgdmVjX3NpemVbMjBdCj4gKFhFTikgQUNQSTogTG9jYWwgQVBJQyBhZGRyZXNzIDB4
ZmVlMDAwMDAKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAw
XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMCAwOjIgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhF
TikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMl0gbGFwaWNfaWRbMHgwMV0gZW5hYmxlZCkKPiAo
WEVOKSBQcm9jZXNzb3IgIzEgMDoyIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29y
ICMyIDA6MiBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA0
XSBsYXBpY19pZFsweDAzXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMyAwOjIgQVBJQyB2
ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgw
NF0gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzQgMDoyIEFQSUMgdmVyc2lvbiAxNgo+IChY
RU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4g
KFhFTikgUHJvY2Vzc29yICM1IDA6MiBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJ
QyAoYWNwaV9pZFsweDA3XSBsYXBpY19pZFsweDA2XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3Nv
ciAjNiAwOjIgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgw
OF0gbGFwaWNfaWRbMHgwN10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzcgMDoyIEFQSUMg
dmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAxXSBoaWdoIGVk
Z2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAyXSBoaWdo
IGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAzXSBo
aWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDA0
XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsw
eDA1XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNwaV9p
ZFsweDA2XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAoYWNw
aV9pZFsweDA3XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IExBUElDX05NSSAo
YWNwaV9pZFsweDA4XSBoaWdoIGVkZ2UgbGludFsweDFdKQo+IChYRU4pIEFDUEk6IElPQVBJQyAo
aWRbMHgwOF0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKPiAoWEVOKSBJT0FQSUNb
MF06IGFwaWNfaWQgOCwgdmVyc2lvbiAxNywgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0xNQo+
IChYRU4pIEFDUEk6IElPQVBJQyAoaWRbMHgwOV0gYWRkcmVzc1sweGZlYzAxMDAwXSBnc2lfYmFz
ZVsxNl0pCj4gKFhFTikgSU9BUElDWzFdOiBhcGljX2lkIDksIHZlcnNpb24gMTcsIGFkZHJlc3Mg
MHhmZWMwMTAwMCwgR1NJIDE2LTMxCj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsweDBhXSBhZGRy
ZXNzWzB4ZmVjMDIwMDBdIGdzaV9iYXNlWzMyXSkKPiAoWEVOKSBJT0FQSUNbMl06IGFwaWNfaWQg
MTAsIHZlcnNpb24gMTcsIGFkZHJlc3MgMHhmZWMwMjAwMCwgR1NJIDMyLTQ3Cj4gKFhFTikgQUNQ
STogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkKPiAo
WEVOKSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2Vk
IGJ5IG92ZXJyaWRlLgo+IChYRU4pIEVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAz
IEkvTyBBUElDcwo+IChYRU4pIFBDSTogTUNGRyBjb25maWd1cmF0aW9uIDA6IGJhc2UgZTAwMDAw
MDAgc2VnbWVudCAwIGJ1c2VzIDAgLSAyNTUKPiAoWEVOKSBQQ0k6IE5vdCB1c2luZyBNTUNPTkZJ
Ry4KPiAoWEVOKSBUYWJsZSBpcyBub3QgZm91bmQhCj4gKFhFTikgVXNpbmcgQUNQSSAoTUFEVCkg
Zm9yIFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCj4gKFhFTikgSVJRIGxpbWl0czogNDgg
R1NJLCAxNTA0IE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01QIENyZWRpdCBT
Y2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAyMjk0LjMwOCBNSHogcHJvY2Vzc29y
Lgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1EIEZhbTEwaCBtYWNo
aW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgQU1ELVZpOiBJT01NVSBub3QgZm91
bmQhCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGRpc2FibGVkCj4gKFhFTikgRU5BQkxJTkcg
SU8tQVBJQyBJUlFzCj4gKFhFTikgIC0+IFVzaW5nIG5ldyBBQ0sgbWV0aG9kCj4gKFhFTikgLi5U
SU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBwaW4xPTIgYXBpYzI9LTEgcGluMj0tMQo+IChYRU4p
IFBsYXRmb3JtIHRpbWVyIGFwcGVhcnMgdG8gaGF2ZSB1bmV4cGVjdGVkbHkgd3JhcHBlZCAxMCBv
ciBtb3JlIHRpbWVzLgo+IChYRU4pIFBsYXRmb3JtIHRpbWVyIGlzIDMuNTc5TUh6IEFDUEkgUE0g
VGltZXIKPiDLhyhYRU4pIEFsbG9jYXRlZCBjb25zb2xlIHJpbmcgb2YgNjQgS2lCLgo+IChYRU4p
IEhWTTogQVNJRHMgZW5hYmxlZC4KPiAoWEVOKSBTVk06IFN1cHBvcnRlZCBhZHZhbmNlZCBmZWF0
dXJlczoKPiAoWEVOKSAgLSBOZXN0ZWQgUGFnZSBUYWJsZXMgKE5QVCkKPiAoWEVOKSAgLSBMYXN0
IEJyYW5jaCBSZWNvcmQgKExCUikgVmlydHVhbGlzYXRpb24KPiAoWEVOKSBIVk06IFNWTSBlbmFi
bGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Npc3RlZCBQYWdpbmcgZGV0ZWN0ZWQuCj4gKFhF
TikgQnJvdWdodCB1cCA4IENQVXMKPiAoWEVOKSBDUFVJRExFOiBkaXNhYmxlZCBkdWUgdG8gbm8g
SFBFVC4gRm9yY2UgZW5hYmxlIHdpdGggJ2NwdWlkbGUnLgo+IChYRU4pIEFDUEkgc2xlZXAgbW9k
ZXM6IFMzCj4gKFhFTikgTUNBOiBVc2UgaHcgdGhyZXNob2xkaW5nIHRvIGFkanVzdCBwb2xsaW5n
IGZyZXF1ZW5jeQo+IChYRU4pIG1jaGVja19wb2xsOiBNYWNoaW5lIGNoZWNrIHBvbGxpbmcgdGlt
ZXIgc3RhcnRlZC4KPiAoWEVOKSAqKiogTE9BRElORyBET01BSU4gMCAqKioKPiAoWEVOKSAgWGVu
ICBrZXJuZWw6IDY0LWJpdCwgbHNiLCBjb21wYXQzMgo+IChYRU4pICBEb20wIGtlcm5lbDogNjQt
Yml0LCBQQUUsIGxzYiwgcGFkZHIgMHgxMDAwMDAwIC0+IDB4MWViODAwMAo+IChYRU4pIFBIWVNJ
Q0FMIE1FTU9SWSBBUlJBTkdFTUVOVDoKPiAoWEVOKSAgRG9tMCBhbGxvYy46ICAgMDAwMDAwMDM3
MDAwMDAwMC0+MDAwMDAwMDM3NDAwMDAwMCAoMjQzMzQwIHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkK
PiAoWEVOKSAgSW5pdC4gcmFtZGlzazogMDAwMDAwMDM3ZjY4YzAwMC0+MDAwMDAwMDM3ZmZmZmUw
MAo+IChYRU4pIFZJUlRVQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgo+IChYRU4pICBMb2FkZWQga2Vy
bmVsOiBmZmZmZmZmZjgxMDAwMDAwLT5mZmZmZmZmZjgxZWI4MDAwCj4gKFhFTikgIEluaXQuIHJh
bWRpc2s6IGZmZmZmZmZmODFlYjgwMDAtPmZmZmZmZmZmODI4MmJlMDAKPiAoWEVOKSAgUGh5cy1N
YWNoIG1hcDogZmZmZmZmZmY4MjgyYzAwMC0+ZmZmZmZmZmY4MmEyYzAwMAo+IChYRU4pICBTdGFy
dCBpbmZvOiAgICBmZmZmZmZmZjgyYTJjMDAwLT5mZmZmZmZmZjgyYTJjNGI0Cj4gKFhFTikgIFBh
Z2UgdGFibGVzOiAgIGZmZmZmZmZmODJhMmQwMDAtPmZmZmZmZmZmODJhNDYwMDAKPiAoWEVOKSAg
Qm9vdCBzdGFjazogICAgZmZmZmZmZmY4MmE0NjAwMC0+ZmZmZmZmZmY4MmE0NzAwMAo+IChYRU4p
ICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgwMDAwMDAwLT5mZmZmZmZmZjgyYzAwMDAwCj4gKFhF
TikgIEVOVFJZIEFERFJFU1M6IGZmZmZmZmZmODE4YjQyMDAKPiAoWEVOKSBEb20wIGhhcyBtYXhp
bXVtIDggVkNQVXMKPiAoWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uZG9uZS4KPiAo
WEVOKSBYZW4gdHJhY2UgYnVmZmVyczogZGlzYWJsZWQKPiAoWEVOKSBTdGQuIExvZ2xldmVsOiBB
bGwKPiAoWEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsCj4gKFhFTikgKioqIFNlcmlhbCBpbnB1dCAt
PiBET00wICh0eXBlICdDVFJMLWEnIHRocmVlIHRpbWVzIHRvIHN3aXRjaCBpbnB1dCB0byBYZW4p
Cj4gKFhFTikgRnJlZWQgMjI4a0IgaW5pdCBtZW1vcnkuCj4gbWFwcGluZyBrZXJuZWwgaW50byBw
aHlzaWNhbCBtZW1vcnkKPiBYZW46IHNldHVwIElTQSBpZGVudGl0eSBtYXBzCj4gYWJvdXQgdG8g
Z2V0IHN0YXJ0ZWQuLi4KPiBbICAgIDAuMDAwMDAwXSBDYW5ub3QgZmluZCAyMDQ4MCBieXRlcyBp
biBub2RlIDEKPiBbICAgIDAuMDAwMDAwXSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5V
TEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAgICAgICAgICAgKG51bGwpCj4gWyAgICAwLjAwMDAw
MF0gSVA6IFs8ZmZmZmZmZmY4MThkNTcwND5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4NzIvMHg5
OQo+IFsgICAgMC4wMDAwMDBdIFBHRCAwIAo+IFsgICAgMC4wMDAwMDBdIE9vcHM6IDAwMDAgWyMx
XSBQUkVFTVBUIFNNUCAKPiBbICAgIDAuMDAwMDAwXSBDUFUgMCAKPiBbICAgIDAuMDAwMDAwXSBN
b2R1bGVzIGxpbmtlZCBpbjoKPiBbICAgIDAuMDAwMDAwXSAKPiBbICAgIDAuMDAwMDAwXSBQaWQ6
IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMy4zLjQtMi1BUkNIICMxIGVtcHR5IGVtcHR5
L1MzOTkyCj4gWyAgICAwLjAwMDAwMF0gUklQOiBlMDMwOls8ZmZmZmZmZmY4MThkNTcwND5dICBb
PGZmZmZmZmZmODE4ZDU3MDQ+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDcyLzB4OTkKPiBbICAg
IDAuMDAwMDAwXSBSU1A6IGUwMmI6ZmZmZmZmZmY4MTgwMWRlOCAgRUZMQUdTOiAwMDAxMDA0Ngo+
IFsgICAgMC4wMDAwMDBdIFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAz
NzggUkNYOiAwMDAwMDAwMDAwMDAwMDAwCj4gWyAgICAwLjAwMDAwMF0gUkRYOiAwMDAwMDAwMDAw
MDAwMDQwIFJTSTogMDAwMDAwMDAwMDAwMDM3OCBSREk6IDAwMDAwMDAwMDAwMDAwMDAKPiBbICAg
IDAuMDAwMDAwXSBSQlA6IGZmZmZmZmZmODE4MDFlMDggUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIw
OTogZmZmZmZmZmY4MTgwMWQ5OAo+IFsgICAgMC4wMDAwMDBdIFIxMDogZmZmZmZmZmY4MTgwMWQ4
OCBSMTE6IGZmZmZmZmZmODE4MDFkOTAgUjEyOiAwMDAwMDAwMDAwMDAwMDQwCj4gWyAgICAwLjAw
MDAwMF0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAw
MDAwMDAwMDAwMDAwMDEKPiBbICAgIDAuMDAwMDAwXSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAw
MCkgR1M6ZmZmZmZmZmY4MTg5ZjAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCj4gWyAg
ICAwLjAwMDAwMF0gQ1M6ICBlMDMzIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1
MDAzMwo+IFsgICAgMC4wMDAwMDBdIENSMjogMDAwMDAwMDAwMDAwMDAwMCBDUjM6IDAwMDAwMDAw
MDE4MDUwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNjYwCj4gWyAgICAwLjAwMDAwMF0gRFIwOiAwMDAw
MDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAK
PiBbICAgIDAuMDAwMDAwXSBEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMDAwMDAw
MDAwIERSNzogMDAwMDAwMDAwMDAwMDAwMAo+IFsgICAgMC4wMDAwMDBdIFByb2Nlc3Mgc3dhcHBl
ciAocGlkOiAwLCB0aHJlYWRpbmZvIGZmZmZmZmZmODE4MDAwMDAsIHRhc2sgZmZmZmZmZmY4MTgw
ZDAyMCkKPiBbICAgIDAuMDAwMDAwXSBTdGFjazoKPiBbICAgIDAuMDAwMDAwXSAgMDAwMDAwMDAw
MDA4MDAwMCAwMDAwMDAwMDAwMDAwMzc4IDAwMDAwMDAwMDAwMDAwM2MgZmZmZjg4MDAzZmJmYTAw
MAo+IFsgICAgMC4wMDAwMDBdICBmZmZmZmZmZjgxODAxZTY4IGZmZmZmZmZmODE4ZDYzZjAgZmZm
ZmZmZmY4MTgwMWU0OCAwMDAwMDAwMTgxOGQ1M2JjCj4gWyAgICAwLjAwMDAwMF0gIGZmZmY4ODAw
M2ZiZjlmZTAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAyODJjMDAwIGZmZmY4ODAwM2ZiZmEw
MDAKPiBbICAgIDAuMDAwMDAwXSBDYWxsIFRyYWNlOgo+IFsgICAgMC4wMDAwMDBdICBbPGZmZmZm
ZmZmODE4ZDYzZjA+XSBzcGFyc2VfZWFybHlfdXNlbWFwc19hbGxvY19ub2RlKzB4NjMvMHgxYzQK
PiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGQ2NzdiPl0gc3BhcnNlX2luaXQrMHhmOC8w
eDJjOAo+IFsgICAgMC4wMDAwMDBdICBbPGZmZmZmZmZmODE4Y2E0ZDI+XSBwYWdpbmdfaW5pdCsw
eDEzLzB4MjIKPiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI5ZGNhPl0gc2V0dXBfYXJj
aCsweDlmMi8weGFjMAo+IFsgICAgMC4wMDAwMDBdICBbPGZmZmZmZmZmODE0NTYyZDI+XSA/IHBy
aW50aysweDQxLzB4NDMKPiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI0OTFiPl0gc3Rh
cnRfa2VybmVsKzB4ZDQvMHgzZDEKPiBbICAgIDAuMDAwMDAwXSAgWzxmZmZmZmZmZjgxOGI0MzQ2
Pl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDEzMS8weDEzNQo+IFsgICAgMC4wMDAwMDBd
ICBbPGZmZmZmZmZmODE4YjY5Yzk+XSB4ZW5fc3RhcnRfa2VybmVsKzB4NTk4LzB4NTlmCj4gWyAg
ICAwLjAwMDAwMF0gQ29kZTogNGMgODkgZTkgNGMgODkgZTIgNDggODkgZGUgYmYgNDAgMDAgMDAg
MDAgZTggMGYgZmMgZmYgZmYgZWIgMzQgNDEgOGIgOTYgYTAgNDAgMDAgMDAgYmUgMDAgODAgMDAg
MDAgNDggODkgZGYgZTggMWUgMTEgODggZmYgZWIgMWUgPDQxPiA4YiBiZSBhMCA0MCAwMCAwMCA0
OSA4MyBjOCBmZiA0YyA4OSBlOSA0YyA4OSBlMiA0OCA4OSBkZSBlOCAKPiBbICAgIDAuMDAwMDAw
XSBSSVAgIFs8ZmZmZmZmZmY4MThkNTcwND5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4NzIvMHg5
OQo+IFsgICAgMC4wMDAwMDBdICBSU1AgPGZmZmZmZmZmODE4MDFkZTg+Cj4gWyAgICAwLjAwMDAw
MF0gQ1IyOiAwMDAwMDAwMDAwMDAwMDAwCj4gWyAgICAwLjAwMDAwMF0gLS0tWyBlbmQgdHJhY2Ug
YTc5MTllN2YxN2MwYTcyNSBdLS0tCj4gWyAgICAwLjAwMDAwMF0gS2VybmVsIHBhbmljIC0gbm90
IHN5bmNpbmc6IEF0dGVtcHRlZCB0byBraWxsIHRoZSBpZGxlIHRhc2shCj4gKFhFTikgRG9tYWlu
IDAgY3Jhc2hlZDogcmVib290aW5nIG1hY2hpbmUgaW4gNSBzZWNvbmRzLgo+IAo+IAo+IFRoYW5r
cyEKPiAKPiAKPiAtLSAKPiBTYW0gTXVsdmV5Cj4gVGFjb21hIFRlbGVtYXRpY3MKPiBzYW1AdGFj
b21hdGVsZW1hdGljcy5jb20KPiAoMjUzKSA4ODMtMzAzMCB4MTEwCj4gCj4gCj4gCj4gCj4gCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2
ZWwgbWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMu
eGVuLm9yZy94ZW4tZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Thu May 03 19:35:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 19:35:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ1nl-0007bq-Bn; Thu, 03 May 2012 19:34:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SQ1nj-0007bl-TE
	for xen-devel@lists.xen.org; Thu, 03 May 2012 19:34:56 +0000
Received: from [85.158.138.51:48038] by server-2.bemta-3.messagelabs.com id
	47/D1-09269-EDDD2AF4; Thu, 03 May 2012 19:34:54 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336073692!17197056!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21940 invoked from network); 3 May 2012 19:34:53 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 19:34:53 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 2463210211FC9;
	Thu,  3 May 2012 12:22:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.899
X-Spam-Level: 
X-Spam-Status: No, score=-2.899 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, HTML_MESSAGE=0.001]
	autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id 1hDf4XGo1U2v; Thu,  3 May 2012 12:22:43 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id 5FE3C10211FC8;
	Thu,  3 May 2012 12:22:43 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <20120503185629.GA4895@phenom.dumpdata.com>
Date: Thu, 3 May 2012 12:34:49 -0700
Message-Id: <0C708620-3906-4AFF-BA31-E4F102731B84@tacomatelematics.com>
References: <FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
	<20120503172426.GF9992@phenom.dumpdata.com>
	<8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
	<20120503185629.GA4895@phenom.dumpdata.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen-devel@lists.xen.org, great.potato@gmail.com
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5720188451857223844=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5720188451857223844==
Content-Type: multipart/alternative; boundary=Apple-Mail-7--863279643


--Apple-Mail-7--863279643
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On May 3, 2012, at 11:56 AM, Konrad Rzeszutek Wilk wrote:
>=20
> Hm, there is nothing here that looks wrong, per say. I would suggest
> you do: dom0_mem=3Dmax:1G instead of dom0_mem=3D1G (otherwise you end =
up
> having dom0 contain pages for the full 13GB).
>=20
> Besides that, can you do redo this with on Linux command line be:
>=20
> 'earlyprintk=3Dxen console=3Dhvc0 debug memblock=3Ddebug loglevel=3D8 =
initcall_debug"
>=20
> And add on the Xen line: "sync_console".
>=20
> Hopefully that will provide some idea of why this is not working =
right.


It absolutely did.  It wasn't working right because my brain is wrong.   =
Your boot flags reminded me that I was specifying my console output =
incorrectly, trying to use the serial console directly rather than going =
through hvc0.  =20

Pardon me while I go soak my head. =20

Anyway, thanks for the help, and for the information about dom0 memory =
allocation.  I'm going to nap now.


--=20
Sam Mulvey
Tacoma Telematics
sam@tacomatelematics.com
(253) 883-3030 x110





--Apple-Mail-7--863279643
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><br><div><div>On May 3, 2012, at 11:56 AM, Konrad Rzeszutek Wilk =
wrote:</div><blockquote type=3D"cite"><div><font =
class=3D"Apple-style-span" color=3D"#000000"><br></font>Hm, there is =
nothing here that looks wrong, per say. I would suggest<br>you do: =
dom0_mem=3Dmax:1G instead of dom0_mem=3D1G (otherwise you end =
up<br>having dom0 contain pages for the full 13GB).<br><br>Besides that, =
can you do redo this with on Linux command line =
be:<br><br>'earlyprintk=3Dxen console=3Dhvc0 debug memblock=3Ddebug =
loglevel=3D8 initcall_debug"<br><br>And add on the Xen line: =
"sync_console".<br><br>Hopefully that will provide some idea of why this =
is not working right.<br></div></blockquote></div><div><br></div><div>It =
absolutely did. &nbsp;It wasn't working right because my brain is wrong. =
&nbsp; Your boot flags reminded me that I was specifying my console =
output incorrectly, trying to use the serial console directly rather =
than going through hvc0. &nbsp;&nbsp;</div><div><br></div><div>Pardon me =
while I go soak my head. &nbsp;</div><div><br></div><div>Anyway, thanks =
for the help, and for the information about dom0 memory allocation. =
&nbsp;I'm going to nap now.</div><div><br></div><br><div>
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
auto; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><div><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div>--&nbsp;</div><div>Sam =
Mulvey<br>Tacoma Telematics<br><a =
href=3D"mailto:sam@tacomatelematics.com">sam@tacomatelematics.com</a><br>(=
253) 883-3030 =
x110<br></div><div><br></div></span></div></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></body></html>=

--Apple-Mail-7--863279643--


--===============5720188451857223844==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5720188451857223844==--


From xen-devel-bounces@lists.xen.org Thu May 03 19:35:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 19:35:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ1nl-0007bq-Bn; Thu, 03 May 2012 19:34:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SQ1nj-0007bl-TE
	for xen-devel@lists.xen.org; Thu, 03 May 2012 19:34:56 +0000
Received: from [85.158.138.51:48038] by server-2.bemta-3.messagelabs.com id
	47/D1-09269-EDDD2AF4; Thu, 03 May 2012 19:34:54 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336073692!17197056!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21940 invoked from network); 3 May 2012 19:34:53 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 3 May 2012 19:34:53 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 2463210211FC9;
	Thu,  3 May 2012 12:22:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.899
X-Spam-Level: 
X-Spam-Status: No, score=-2.899 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, HTML_MESSAGE=0.001]
	autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id 1hDf4XGo1U2v; Thu,  3 May 2012 12:22:43 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id 5FE3C10211FC8;
	Thu,  3 May 2012 12:22:43 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <20120503185629.GA4895@phenom.dumpdata.com>
Date: Thu, 3 May 2012 12:34:49 -0700
Message-Id: <0C708620-3906-4AFF-BA31-E4F102731B84@tacomatelematics.com>
References: <FEDDFC6D-1511-465D-B2D3-4758065CA730@tacomatelematics.com>
	<alpine.DEB.2.00.1204241751340.26786@kaball-desktop>
	<BAAC0D3A-E53E-4A81-BFFD-4B05AC86F8F8@tacomatelematics.com>
	<alpine.DEB.2.00.1204251637190.26786@kaball-desktop>
	<EADAF45F-3DFD-4E16-94CD-C6BCFCB19E81@tacomatelematics.com>
	<alpine.DEB.2.00.1204261317160.26786@kaball-desktop>
	<CB570752-6B77-4DEF-A3A0-6B904C3146F4@tacomatelematics.com>
	<7A0AFCD2-6D24-4101-A82D-72CB76D7D287@tacomatelematics.com>
	<20120503172426.GF9992@phenom.dumpdata.com>
	<8C499CDB-0D01-4AAC-84C9-A3158449BE25@tacomatelematics.com>
	<20120503185629.GA4895@phenom.dumpdata.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen-devel@lists.xen.org, great.potato@gmail.com
Subject: Re: [Xen-devel] Xen 4.2.1, Linux 3.3.4 kernel crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5720188451857223844=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5720188451857223844==
Content-Type: multipart/alternative; boundary=Apple-Mail-7--863279643


--Apple-Mail-7--863279643
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On May 3, 2012, at 11:56 AM, Konrad Rzeszutek Wilk wrote:
>=20
> Hm, there is nothing here that looks wrong, per say. I would suggest
> you do: dom0_mem=3Dmax:1G instead of dom0_mem=3D1G (otherwise you end =
up
> having dom0 contain pages for the full 13GB).
>=20
> Besides that, can you do redo this with on Linux command line be:
>=20
> 'earlyprintk=3Dxen console=3Dhvc0 debug memblock=3Ddebug loglevel=3D8 =
initcall_debug"
>=20
> And add on the Xen line: "sync_console".
>=20
> Hopefully that will provide some idea of why this is not working =
right.


It absolutely did.  It wasn't working right because my brain is wrong.   =
Your boot flags reminded me that I was specifying my console output =
incorrectly, trying to use the serial console directly rather than going =
through hvc0.  =20

Pardon me while I go soak my head. =20

Anyway, thanks for the help, and for the information about dom0 memory =
allocation.  I'm going to nap now.


--=20
Sam Mulvey
Tacoma Telematics
sam@tacomatelematics.com
(253) 883-3030 x110





--Apple-Mail-7--863279643
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><br><div><div>On May 3, 2012, at 11:56 AM, Konrad Rzeszutek Wilk =
wrote:</div><blockquote type=3D"cite"><div><font =
class=3D"Apple-style-span" color=3D"#000000"><br></font>Hm, there is =
nothing here that looks wrong, per say. I would suggest<br>you do: =
dom0_mem=3Dmax:1G instead of dom0_mem=3D1G (otherwise you end =
up<br>having dom0 contain pages for the full 13GB).<br><br>Besides that, =
can you do redo this with on Linux command line =
be:<br><br>'earlyprintk=3Dxen console=3Dhvc0 debug memblock=3Ddebug =
loglevel=3D8 initcall_debug"<br><br>And add on the Xen line: =
"sync_console".<br><br>Hopefully that will provide some idea of why this =
is not working right.<br></div></blockquote></div><div><br></div><div>It =
absolutely did. &nbsp;It wasn't working right because my brain is wrong. =
&nbsp; Your boot flags reminded me that I was specifying my console =
output incorrectly, trying to use the serial console directly rather =
than going through hvc0. &nbsp;&nbsp;</div><div><br></div><div>Pardon me =
while I go soak my head. &nbsp;</div><div><br></div><div>Anyway, thanks =
for the help, and for the information about dom0 memory allocation. =
&nbsp;I'm going to nap now.</div><div><br></div><br><div>
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
auto; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><div><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div>--&nbsp;</div><div>Sam =
Mulvey<br>Tacoma Telematics<br><a =
href=3D"mailto:sam@tacomatelematics.com">sam@tacomatelematics.com</a><br>(=
253) 883-3030 =
x110<br></div><div><br></div></span></div></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></body></html>=

--Apple-Mail-7--863279643--


--===============5720188451857223844==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5720188451857223844==--


From xen-devel-bounces@lists.xen.org Thu May 03 23:52:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 23:52:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ5o9-0001Au-V2; Thu, 03 May 2012 23:51:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQ5o8-0001Ap-Kk
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 23:51:36 +0000
Received: from [85.158.143.99:10255] by server-2.bemta-4.messagelabs.com id
	3E/83-17550-70A13AF4; Thu, 03 May 2012 23:51:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336089093!26395340!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19351 invoked from network); 3 May 2012 23:51:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 23:51:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,528,1330905600"; d="scan'208";a="12286563"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 23:51:01 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 00:51:00 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQ5nY-0005VG-Q3;
	Thu, 03 May 2012 23:51:00 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQ5nY-0002RB-L6;
	Fri, 04 May 2012 00:51:00 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12788-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 4 May 2012 00:51:00 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12788: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12788 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12788/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12786
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12786

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  8f556a70ae0b
baseline version:
 xen                  98fe3b2a572d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=8f556a70ae0b
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 8f556a70ae0b
+ branch=xen-unstable
+ revision=8f556a70ae0b
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 8f556a70ae0b ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 03 23:52:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 03 May 2012 23:52:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ5o9-0001Au-V2; Thu, 03 May 2012 23:51:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQ5o8-0001Ap-Kk
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 23:51:36 +0000
Received: from [85.158.143.99:10255] by server-2.bemta-4.messagelabs.com id
	3E/83-17550-70A13AF4; Thu, 03 May 2012 23:51:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336089093!26395340!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Njc3MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19351 invoked from network); 3 May 2012 23:51:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	3 May 2012 23:51:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,528,1330905600"; d="scan'208";a="12286563"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	03 May 2012 23:51:01 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 00:51:00 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQ5nY-0005VG-Q3;
	Thu, 03 May 2012 23:51:00 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQ5nY-0002RB-L6;
	Fri, 04 May 2012 00:51:00 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12788-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 4 May 2012 00:51:00 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12788: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12788 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12788/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12786
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12786

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  8f556a70ae0b
baseline version:
 xen                  98fe3b2a572d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=8f556a70ae0b
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 8f556a70ae0b
+ branch=xen-unstable
+ revision=8f556a70ae0b
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 8f556a70ae0b ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 00:32:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 00:32:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ6RX-0001sr-CT; Fri, 04 May 2012 00:32:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <shandivo@gmail.com>) id 1SQ6RV-0001sl-Tn
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 00:32:18 +0000
Received: from [85.158.139.83:59369] by server-1.bemta-5.messagelabs.com id
	53/0D-28458-19323AF4; Fri, 04 May 2012 00:32:17 +0000
X-Env-Sender: shandivo@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336091534!26000096!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22764 invoked from network); 4 May 2012 00:32:15 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-9.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 00:32:15 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <shandivo@gmail.com>) id 1SQ6RR-0006kH-Qn
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:32:13 -0700
Date: Thu, 3 May 2012 17:32:13 -0700 (PDT)
From: n4rC0t1C <shandivo@gmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1336091533825-5684634.post@n5.nabble.com>
In-Reply-To: <4F7B66A3.3080802@amd.com>
References: <CACC+8CS13Z8YqviP-rE0Vyi-uxSZwP5c_VUQhyCFHPo4YLB8wg@mail.gmail.com>
	<4F7B66A3.3080802@amd.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] AMD/ATI patch for xen 4.2-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Huang2, Wei wrote
> 
> I just re-spin the patch, but haven't tested it yet. You want to try it 
> (attached)? Make sure you are using AMD GPU as the primary.
> 
> -Wei
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 

Works perfectly here.
Intel i5-2500, Asrock z68 Extreme4 Gen3, AMD 6870 as primary.
Xen Unstable 25254, Ubuntu 12.04, ubuntu 3.3.3 kernel.
Gfx passthrough=0, just install ati drivers with vnc, then reboot and
monitors turn on with full 3D acceleration.

I've been using this patch (4.1 patch, 4.2 a couple of weeks) 6 months now,
not a single bsod.
Thanks everyone,
Ivo


--
View this message in context: http://xen.1045712.n5.nabble.com/AMD-ATI-patch-for-xen-4-2-unstable-tp5611297p5684634.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 00:32:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 00:32:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ6RX-0001sr-CT; Fri, 04 May 2012 00:32:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <shandivo@gmail.com>) id 1SQ6RV-0001sl-Tn
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 00:32:18 +0000
Received: from [85.158.139.83:59369] by server-1.bemta-5.messagelabs.com id
	53/0D-28458-19323AF4; Fri, 04 May 2012 00:32:17 +0000
X-Env-Sender: shandivo@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336091534!26000096!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22764 invoked from network); 4 May 2012 00:32:15 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-9.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 00:32:15 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <shandivo@gmail.com>) id 1SQ6RR-0006kH-Qn
	for xen-devel@lists.xensource.com; Thu, 03 May 2012 17:32:13 -0700
Date: Thu, 3 May 2012 17:32:13 -0700 (PDT)
From: n4rC0t1C <shandivo@gmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1336091533825-5684634.post@n5.nabble.com>
In-Reply-To: <4F7B66A3.3080802@amd.com>
References: <CACC+8CS13Z8YqviP-rE0Vyi-uxSZwP5c_VUQhyCFHPo4YLB8wg@mail.gmail.com>
	<4F7B66A3.3080802@amd.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] AMD/ATI patch for xen 4.2-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Huang2, Wei wrote
> 
> I just re-spin the patch, but haven't tested it yet. You want to try it 
> (attached)? Make sure you are using AMD GPU as the primary.
> 
> -Wei
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 

Works perfectly here.
Intel i5-2500, Asrock z68 Extreme4 Gen3, AMD 6870 as primary.
Xen Unstable 25254, Ubuntu 12.04, ubuntu 3.3.3 kernel.
Gfx passthrough=0, just install ati drivers with vnc, then reboot and
monitors turn on with full 3D acceleration.

I've been using this patch (4.1 patch, 4.2 a couple of weeks) 6 months now,
not a single bsod.
Thanks everyone,
Ivo


--
View this message in context: http://xen.1045712.n5.nabble.com/AMD-ATI-patch-for-xen-4-2-unstable-tp5611297p5684634.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 01:16:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 01:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ77C-00062f-Sl; Fri, 04 May 2012 01:15:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SQ77A-00062a-N3
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 01:15:20 +0000
Received: from [85.158.138.51:47565] by server-3.bemta-3.messagelabs.com id
	95/92-04048-6AD23AF4; Fri, 04 May 2012 01:15:18 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336094116!25032846!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4416 invoked from network); 4 May 2012 01:15:17 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 01:15:17 -0000
Received: by obfk16 with SMTP id k16so4428977obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 18:15:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=y2Z+XnCfeNrhEFPhsNehdyrYzoKzCPIqCmlZobSrD9w=;
	b=bX89NiwX11SV8Jeoc5lBQ2h7ysYnHkwAzwlURvwOgUr0hnic4VWDvDufrU8JLPIhGE
	WOIGQAs1SQ4qNaYUcJzis6rOJ2yWAMxjn0gXrPEaxdCyHFu3URYMtHIK/U8iIK82u0Vq
	l4AfDO329l+usSUTNAWxGnXBJYzqmtPPTS2e8HZEb9krm94JUTkV4asZkxDMSk4oe7VQ
	ZLs62UMVvognkhHIKFIupPZnVBwo2uE2VN1wnoxxiSbAY4uNiI9E+OIKrrywei1HEd5q
	Pdfq2gfdicwxYXU9MS1JLosskSBsR8OqEfCcn2wW8LiAmApZltK010LBAPeQsHiSwJTp
	+Zcw==
MIME-Version: 1.0
Received: by 10.60.169.174 with SMTP id af14mr5864559oec.13.1336094115566;
	Thu, 03 May 2012 18:15:15 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 18:15:15 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
Date: Fri, 4 May 2012 09:15:15 +0800
Message-ID: <CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 9:56 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 3 May 2012, ZhouPeng wrote:
>> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
>> >> > card?
>> >> No, not disable the vga card.
>> >> But booting in Text mode.
>> >
>> > Then you are manually starting X11 with the spice driver?
>> Always in text mode.
>> Never start X11.
>> Using stdard vga but not qxl-vga.
>
> so you didn't actually test qxl at all, did you?
Didn't test qxl but only spice.
-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 01:16:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 01:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ77C-00062f-Sl; Fri, 04 May 2012 01:15:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SQ77A-00062a-N3
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 01:15:20 +0000
Received: from [85.158.138.51:47565] by server-3.bemta-3.messagelabs.com id
	95/92-04048-6AD23AF4; Fri, 04 May 2012 01:15:18 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336094116!25032846!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4416 invoked from network); 4 May 2012 01:15:17 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 01:15:17 -0000
Received: by obfk16 with SMTP id k16so4428977obf.30
	for <xen-devel@lists.xensource.com>;
	Thu, 03 May 2012 18:15:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=y2Z+XnCfeNrhEFPhsNehdyrYzoKzCPIqCmlZobSrD9w=;
	b=bX89NiwX11SV8Jeoc5lBQ2h7ysYnHkwAzwlURvwOgUr0hnic4VWDvDufrU8JLPIhGE
	WOIGQAs1SQ4qNaYUcJzis6rOJ2yWAMxjn0gXrPEaxdCyHFu3URYMtHIK/U8iIK82u0Vq
	l4AfDO329l+usSUTNAWxGnXBJYzqmtPPTS2e8HZEb9krm94JUTkV4asZkxDMSk4oe7VQ
	ZLs62UMVvognkhHIKFIupPZnVBwo2uE2VN1wnoxxiSbAY4uNiI9E+OIKrrywei1HEd5q
	Pdfq2gfdicwxYXU9MS1JLosskSBsR8OqEfCcn2wW8LiAmApZltK010LBAPeQsHiSwJTp
	+Zcw==
MIME-Version: 1.0
Received: by 10.60.169.174 with SMTP id af14mr5864559oec.13.1336094115566;
	Thu, 03 May 2012 18:15:15 -0700 (PDT)
Received: by 10.182.77.134 with HTTP; Thu, 3 May 2012 18:15:15 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
Date: Fri, 4 May 2012 09:15:15 +0800
Message-ID: <CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 3, 2012 at 9:56 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 3 May 2012, ZhouPeng wrote:
>> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
>> >> > card?
>> >> No, not disable the vga card.
>> >> But booting in Text mode.
>> >
>> > Then you are manually starting X11 with the spice driver?
>> Always in text mode.
>> Never start X11.
>> Using stdard vga but not qxl-vga.
>
> so you didn't actually test qxl at all, did you?
Didn't test qxl but only spice.
-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 02:11:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 02:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ7yn-0006jb-E6; Fri, 04 May 2012 02:10:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SQ7ym-0006jW-0C
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 02:10:44 +0000
Received: from [85.158.143.35:13603] by server-3.bemta-4.messagelabs.com id
	C3/05-05853-3AA33AF4; Fri, 04 May 2012 02:10:43 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336097440!7485045!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA5NTQ4\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9107 invoked from network); 4 May 2012 02:10:41 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 02:10:41 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q442AdQV031951
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <Xen-devel@lists.xensource.com>; Fri, 4 May 2012 02:10:39 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q442AcG6027022
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <Xen-devel@lists.xensource.com>; Fri, 4 May 2012 02:10:38 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q442Ac4H031716
	for <Xen-devel@lists.xensource.com>; Thu, 3 May 2012 21:10:38 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 19:10:37 -0700
Date: Thu, 3 May 2012 19:10:25 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Message-ID: <20120503191025.7c2cec2e@mantra.us.oracle.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Subject: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi guys,

At a loss trying to figure why 
  if (has_eflag(X86_EFLAGS_ID))

returns false in my HVM domU. Standard function has_eflag() in
cpucheck.c running in real mode. Works fine on PV dom0, but fails when
guest is booting on my hybrid dom0.

LMK if any ideas. I'll keep digging in the manuals, but nothing so far.

thanks,
Mukesh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 02:11:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 02:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ7yn-0006jb-E6; Fri, 04 May 2012 02:10:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SQ7ym-0006jW-0C
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 02:10:44 +0000
Received: from [85.158.143.35:13603] by server-3.bemta-4.messagelabs.com id
	C3/05-05853-3AA33AF4; Fri, 04 May 2012 02:10:43 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336097440!7485045!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTA5NTQ4\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9107 invoked from network); 4 May 2012 02:10:41 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 02:10:41 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q442AdQV031951
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <Xen-devel@lists.xensource.com>; Fri, 4 May 2012 02:10:39 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q442AcG6027022
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <Xen-devel@lists.xensource.com>; Fri, 4 May 2012 02:10:38 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q442Ac4H031716
	for <Xen-devel@lists.xensource.com>; Thu, 3 May 2012 21:10:38 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 03 May 2012 19:10:37 -0700
Date: Thu, 3 May 2012 19:10:25 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Message-ID: <20120503191025.7c2cec2e@mantra.us.oracle.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Subject: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi guys,

At a loss trying to figure why 
  if (has_eflag(X86_EFLAGS_ID))

returns false in my HVM domU. Standard function has_eflag() in
cpucheck.c running in real mode. Works fine on PV dom0, but fails when
guest is booting on my hybrid dom0.

LMK if any ideas. I'll keep digging in the manuals, but nothing so far.

thanks,
Mukesh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 02:57:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 02:57:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ8hI-000714-6O; Fri, 04 May 2012 02:56:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SQ8hG-00070z-0M
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 02:56:42 +0000
Received: from [193.109.254.147:63334] by server-6.bemta-14.messagelabs.com id
	DF/10-04960-96543AF4; Fri, 04 May 2012 02:56:41 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336100199!7543647!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI4NjYx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27331 invoked from network); 4 May 2012 02:56:40 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-27.messagelabs.com with SMTP;
	4 May 2012 02:56:40 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 03 May 2012 19:56:39 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="138722609"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 03 May 2012 19:56:38 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 3 May 2012 19:56:38 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Fri, 4 May 2012 10:56:36 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0poYSvmJALVq5wRuSA2SJW/RtHzw==
Date: Fri, 4 May 2012 02:56:36 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User yang zhang <yang.z.zhang@intel.com>
# Date 1336099620 -28800
# Node ID b1229c22098499e677270d7b95ed0878347ac953
# Parent  c6bde42c8845439183336602a78bc07869f3651b
libxl: allow to set more than 31 vcpus

In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>

diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_create.c        Fri May 04 10:47:00 2012 +0800
@@ -112,8 +112,11 @@ int libxl__domain_build_info_setdefault(

     if (!b_info->max_vcpus)
         b_info->max_vcpus = 1;
-    if (!b_info->cur_vcpus)
-        b_info->cur_vcpus = 1;
+    if (!b_info->avail_vcpus.size) {
+        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
+            return ERROR_NOMEM;
+        libxl_cpumap_set(&b_info->avail_vcpus, 0);
+    }

     if (!b_info->cpumap.size) {
         if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c    Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_dm.c    Fri May 04 10:47:00 2012 +0800
@@ -200,10 +200,35 @@ static char ** libxl__build_device_model
                               libxl__sprintf(gc, "%d", b_info->max_vcpus),
                               NULL);
         }
-        if (b_info->cur_vcpus) {
+        if (b_info->avail_vcpus.size) {
+            int i, nr_set_cpus = 0;
+            char *s;
+
+            libxl_for_each_set_cpu(i,
+                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
+                nr_set_cpus++;
+
+            s = (char *)malloc((nr_set_cpus + 3) / 4 + 1);
+
+            memset(s + ((nr_set_cpus % 4) ? 1 : 0), 'f', nr_set_cpus / 4);
+            switch (nr_set_cpus % 4) {
+            case 1:
+                s[0] = '1';
+                break;
+            case 2:
+                s[0] = '3';
+                break;
+            case 3:
+                s[0] = '7';
+                break;
+            }
+
+            s[(nr_set_cpus + 3) / 4] = '\0';
+
             flexarray_vappend(dm_args, "-vcpu_avail",
-                              libxl__sprintf(gc, "0x%x", b_info->cur_vcpus),
+                              libxl__sprintf(gc, "0x%s", s),
                               NULL);
+            free(s);
         }
         for (i = 0; i < num_vifs; i++) {
             if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) {
@@ -437,11 +462,16 @@ static char ** libxl__build_device_model
         }
         if (b_info->max_vcpus > 1) {
             flexarray_append(dm_args, "-smp");
-            if (b_info->cur_vcpus)
+            if (b_info->avail_vcpus.size) {
+                int i, nr_set_cpus = 0;
+                libxl_for_each_set_cpu(i,
+                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
+                    nr_set_cpus++;
+
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d,maxcpus=%d",
                                                          b_info->max_vcpus,
-                                                         b_info->cur_vcpus));
-            else
+                                                         nr_set_cpus));
+            } else
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d",
                                                          b_info->max_vcpus));
         }
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
@@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
     ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
     for (i = 0; i < info->max_vcpus; i++) {
         ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
-        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
+        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
+                            && !libxl_cpumap_test(&info->avail_vcpus, i))
                             ? "offline" : "online";
     }

@@ -297,7 +298,7 @@ static int hvm_build_set_params(xc_inter
     va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET);
     va_hvm->apic_mode = libxl_defbool_val(info->u.hvm.apic);
     va_hvm->nr_vcpus = info->max_vcpus;
-    memcpy(va_hvm->vcpu_online, &info->cur_vcpus, sizeof(info->cur_vcpus));
+    memcpy(va_hvm->vcpu_online, info->avail_vcpus.map, info->avail_vcpus.size);
     for (i = 0, sum = 0; i < va_hvm->length; i++)
         sum += ((uint8_t *) va_hvm)[i];
     va_hvm->checksum -= sum;
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_types.idl       Fri May 04 10:47:00 2012 +0800
@@ -231,7 +231,7 @@ MemKB = UInt(64, init_val = "LIBXL_MEMKB
 # libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
-    ("cur_vcpus",       integer),
+    ("avail_vcpus",     libxl_cpumap),
     ("cpumap",          libxl_cpumap),
     ("tsc_mode",        libxl_tsc_mode),
     ("max_memkb",       MemKB),
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_utils.c Fri May 04 10:47:00 2012 +0800
@@ -447,6 +447,21 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
     return 0;
 }

+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
+{
+    int sz;
+
+    if (max_cpus == 0)
+        return ERROR_FAIL;
+
+    sz = (max_cpus + 7) / 8;
+    cpumap->map = calloc(sz, sizeof(*cpumap->map));
+    if (!cpumap->map)
+        return ERROR_NOMEM;
+    cpumap->size = sz;
+    return 0;
+}
+
 void libxl_cpumap_dispose(libxl_cpumap *map)
 {
     free(map->map);
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_utils.h Fri May 04 10:47:00 2012 +0800
@@ -65,6 +65,7 @@ int libxl_vdev_to_device_disk(libxl_ctx
                                libxl_device_disk *disk);

 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
 int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Fri May 04 10:47:00 2012 +0800
@@ -589,7 +589,14 @@ static void parse_config_data(const char
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
-        b_info->cur_vcpus = (1 << l) - 1;
+
+        if (libxl_cpumap_alloc_size(ctx, &b_info->avail_vcpus, l)) {
+            fprintf(stderr, "Unable to allocate cpumap\n");
+            exit(1);
+        }
+        libxl_cpumap_set_none(&b_info->avail_vcpus);
+        while (l-- > 0)
+            libxl_cpumap_set((&b_info->avail_vcpus), l);
     }

     if (!xlu_cfg_get_long (config, "maxvcpus", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 02:57:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 02:57:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQ8hI-000714-6O; Fri, 04 May 2012 02:56:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SQ8hG-00070z-0M
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 02:56:42 +0000
Received: from [193.109.254.147:63334] by server-6.bemta-14.messagelabs.com id
	DF/10-04960-96543AF4; Fri, 04 May 2012 02:56:41 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336100199!7543647!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI4NjYx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27331 invoked from network); 4 May 2012 02:56:40 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-27.messagelabs.com with SMTP;
	4 May 2012 02:56:40 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 03 May 2012 19:56:39 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="138722609"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 03 May 2012 19:56:38 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 3 May 2012 19:56:38 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Fri, 4 May 2012 10:56:36 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0poYSvmJALVq5wRuSA2SJW/RtHzw==
Date: Fri, 4 May 2012 02:56:36 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User yang zhang <yang.z.zhang@intel.com>
# Date 1336099620 -28800
# Node ID b1229c22098499e677270d7b95ed0878347ac953
# Parent  c6bde42c8845439183336602a78bc07869f3651b
libxl: allow to set more than 31 vcpus

In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>

diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_create.c        Fri May 04 10:47:00 2012 +0800
@@ -112,8 +112,11 @@ int libxl__domain_build_info_setdefault(

     if (!b_info->max_vcpus)
         b_info->max_vcpus = 1;
-    if (!b_info->cur_vcpus)
-        b_info->cur_vcpus = 1;
+    if (!b_info->avail_vcpus.size) {
+        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
+            return ERROR_NOMEM;
+        libxl_cpumap_set(&b_info->avail_vcpus, 0);
+    }

     if (!b_info->cpumap.size) {
         if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c    Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_dm.c    Fri May 04 10:47:00 2012 +0800
@@ -200,10 +200,35 @@ static char ** libxl__build_device_model
                               libxl__sprintf(gc, "%d", b_info->max_vcpus),
                               NULL);
         }
-        if (b_info->cur_vcpus) {
+        if (b_info->avail_vcpus.size) {
+            int i, nr_set_cpus = 0;
+            char *s;
+
+            libxl_for_each_set_cpu(i,
+                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
+                nr_set_cpus++;
+
+            s = (char *)malloc((nr_set_cpus + 3) / 4 + 1);
+
+            memset(s + ((nr_set_cpus % 4) ? 1 : 0), 'f', nr_set_cpus / 4);
+            switch (nr_set_cpus % 4) {
+            case 1:
+                s[0] = '1';
+                break;
+            case 2:
+                s[0] = '3';
+                break;
+            case 3:
+                s[0] = '7';
+                break;
+            }
+
+            s[(nr_set_cpus + 3) / 4] = '\0';
+
             flexarray_vappend(dm_args, "-vcpu_avail",
-                              libxl__sprintf(gc, "0x%x", b_info->cur_vcpus),
+                              libxl__sprintf(gc, "0x%s", s),
                               NULL);
+            free(s);
         }
         for (i = 0; i < num_vifs; i++) {
             if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) {
@@ -437,11 +462,16 @@ static char ** libxl__build_device_model
         }
         if (b_info->max_vcpus > 1) {
             flexarray_append(dm_args, "-smp");
-            if (b_info->cur_vcpus)
+            if (b_info->avail_vcpus.size) {
+                int i, nr_set_cpus = 0;
+                libxl_for_each_set_cpu(i,
+                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
+                    nr_set_cpus++;
+
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d,maxcpus=%d",
                                                          b_info->max_vcpus,
-                                                         b_info->cur_vcpus));
-            else
+                                                         nr_set_cpus));
+            } else
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d",
                                                          b_info->max_vcpus));
         }
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
@@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
     ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
     for (i = 0; i < info->max_vcpus; i++) {
         ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
-        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
+        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
+                            && !libxl_cpumap_test(&info->avail_vcpus, i))
                             ? "offline" : "online";
     }

@@ -297,7 +298,7 @@ static int hvm_build_set_params(xc_inter
     va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET);
     va_hvm->apic_mode = libxl_defbool_val(info->u.hvm.apic);
     va_hvm->nr_vcpus = info->max_vcpus;
-    memcpy(va_hvm->vcpu_online, &info->cur_vcpus, sizeof(info->cur_vcpus));
+    memcpy(va_hvm->vcpu_online, info->avail_vcpus.map, info->avail_vcpus.size);
     for (i = 0, sum = 0; i < va_hvm->length; i++)
         sum += ((uint8_t *) va_hvm)[i];
     va_hvm->checksum -= sum;
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_types.idl       Fri May 04 10:47:00 2012 +0800
@@ -231,7 +231,7 @@ MemKB = UInt(64, init_val = "LIBXL_MEMKB
 # libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
-    ("cur_vcpus",       integer),
+    ("avail_vcpus",     libxl_cpumap),
     ("cpumap",          libxl_cpumap),
     ("tsc_mode",        libxl_tsc_mode),
     ("max_memkb",       MemKB),
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_utils.c Fri May 04 10:47:00 2012 +0800
@@ -447,6 +447,21 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
     return 0;
 }

+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
+{
+    int sz;
+
+    if (max_cpus == 0)
+        return ERROR_FAIL;
+
+    sz = (max_cpus + 7) / 8;
+    cpumap->map = calloc(sz, sizeof(*cpumap->map));
+    if (!cpumap->map)
+        return ERROR_NOMEM;
+    cpumap->size = sz;
+    return 0;
+}
+
 void libxl_cpumap_dispose(libxl_cpumap *map)
 {
     free(map->map);
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/libxl_utils.h Fri May 04 10:47:00 2012 +0800
@@ -65,6 +65,7 @@ int libxl_vdev_to_device_disk(libxl_ctx
                                libxl_device_disk *disk);

 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
 int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
diff -r c6bde42c8845 -r b1229c220984 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Thu Apr 12 14:01:27 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Fri May 04 10:47:00 2012 +0800
@@ -589,7 +589,14 @@ static void parse_config_data(const char
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
-        b_info->cur_vcpus = (1 << l) - 1;
+
+        if (libxl_cpumap_alloc_size(ctx, &b_info->avail_vcpus, l)) {
+            fprintf(stderr, "Unable to allocate cpumap\n");
+            exit(1);
+        }
+        libxl_cpumap_set_none(&b_info->avail_vcpus);
+        while (l-- > 0)
+            libxl_cpumap_set((&b_info->avail_vcpus), l);
     }

     if (!xlu_cfg_get_long (config, "maxvcpus", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 06:39:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 06:39:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQC9p-00006L-Q4; Fri, 04 May 2012 06:38:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQC9n-00006G-Gh
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 06:38:23 +0000
Received: from [193.109.254.147:10217] by server-1.bemta-14.messagelabs.com id
	ED/93-29372-E5973AF4; Fri, 04 May 2012 06:38:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336113501!769303!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9241 invoked from network); 4 May 2012 06:38:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 06:38:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12289286"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 06:38:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 07:38:21 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQC9l-0007pY-9F;
	Fri, 04 May 2012 06:38:21 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQC9l-0000G5-58;
	Fri, 04 May 2012 07:38:21 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12789-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 4 May 2012 07:38:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12789: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12789 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12789/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12788

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  8f556a70ae0b
baseline version:
 xen                  8f556a70ae0b

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 06:39:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 06:39:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQC9p-00006L-Q4; Fri, 04 May 2012 06:38:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQC9n-00006G-Gh
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 06:38:23 +0000
Received: from [193.109.254.147:10217] by server-1.bemta-14.messagelabs.com id
	ED/93-29372-E5973AF4; Fri, 04 May 2012 06:38:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336113501!769303!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9241 invoked from network); 4 May 2012 06:38:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 06:38:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12289286"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 06:38:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 07:38:21 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQC9l-0007pY-9F;
	Fri, 04 May 2012 06:38:21 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQC9l-0000G5-58;
	Fri, 04 May 2012 07:38:21 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12789-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 4 May 2012 07:38:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12789: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12789 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12789/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12788

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  8f556a70ae0b
baseline version:
 xen                  8f556a70ae0b

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:10:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:10:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQCdt-0000Tv-VS; Fri, 04 May 2012 07:09:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQCdr-0000Tq-Px
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:09:27 +0000
Received: from [85.158.143.99:19752] by server-2.bemta-4.messagelabs.com id
	21/D9-17550-7A083AF4; Fri, 04 May 2012 07:09:27 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336115365!23076538!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12057 invoked from network); 4 May 2012 07:09:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 07:09:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 08:09:24 +0100
Message-Id: <4FA39CC202000078000817FD@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 08:09:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
	<20120503172211.GE9992@phenom.dumpdata.com>
In-Reply-To: <20120503172211.GE9992@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] reading IOPL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 19:22, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> On Thu, May 03, 2012 at 05:07:04PM +0100, Jan Beulich wrote:
>> Both Linux and Xen offer only ways to set the IOPL. While on native Linux
>> this is not a problem since user mode code can read the IOPL by inspecting
>> EFLAGS, on Xen this would always yield zero.
>> 
>> Now X folks appear to be using save-modify-restore cycles in some newer
>> code, and this obviously breaks under Xen, as they would restore IOPL 0
> 
> This is in the KMS drivers or in the user-land Xorg?

Userland code (as explained above).

Jan

>> even when IOPL 3 was in effect before.
>> 
>> Since the only way to read the IOPL is xc_vcpu_getcontext() (i.e.
>> XEN_DOMCTL_getvcpucontext), I wonder whether we shouldn't add
>> e.g. a "get" counterpart to PHYSDEVOP_set_iopl.
>> 
>> Or am I overlooking some other access mechanism?
>> 
>> Jan
>> 
>> 
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org 
>> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:10:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:10:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQCdt-0000Tv-VS; Fri, 04 May 2012 07:09:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQCdr-0000Tq-Px
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:09:27 +0000
Received: from [85.158.143.99:19752] by server-2.bemta-4.messagelabs.com id
	21/D9-17550-7A083AF4; Fri, 04 May 2012 07:09:27 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336115365!23076538!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12057 invoked from network); 4 May 2012 07:09:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 07:09:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 08:09:24 +0100
Message-Id: <4FA39CC202000078000817FD@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 08:09:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <4FA2C94802000078000816E3@nat28.tlf.novell.com>
	<20120503172211.GE9992@phenom.dumpdata.com>
In-Reply-To: <20120503172211.GE9992@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] reading IOPL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 19:22, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> On Thu, May 03, 2012 at 05:07:04PM +0100, Jan Beulich wrote:
>> Both Linux and Xen offer only ways to set the IOPL. While on native Linux
>> this is not a problem since user mode code can read the IOPL by inspecting
>> EFLAGS, on Xen this would always yield zero.
>> 
>> Now X folks appear to be using save-modify-restore cycles in some newer
>> code, and this obviously breaks under Xen, as they would restore IOPL 0
> 
> This is in the KMS drivers or in the user-land Xorg?

Userland code (as explained above).

Jan

>> even when IOPL 3 was in effect before.
>> 
>> Since the only way to read the IOPL is xc_vcpu_getcontext() (i.e.
>> XEN_DOMCTL_getvcpucontext), I wonder whether we shouldn't add
>> e.g. a "get" counterpart to PHYSDEVOP_set_iopl.
>> 
>> Or am I overlooking some other access mechanism?
>> 
>> Jan
>> 
>> 
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org 
>> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:29:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:29:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQCwP-0000i5-TJ; Fri, 04 May 2012 07:28:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQCwN-0000i0-QB
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:28:35 +0000
Received: from [85.158.138.51:36465] by server-10.bemta-3.messagelabs.com id
	C8/F9-29478-22583AF4; Fri, 04 May 2012 07:28:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336116513!17267448!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21168 invoked from network); 4 May 2012 07:28:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 07:28:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 08:28:33 +0100
Message-Id: <4FA3A1400200007800081808@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 08:28:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ruslan Nikolaev" <nruslan_devel@yahoo.com>
References: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
In-Reply-To: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Inter-domain event channel question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 20:46, Ruslan Nikolaev <nruslan_devel@yahoo.com> wrote:
> I want to set up an inter-domain event channel, and I want to receive 
> interrupts in both directions (i.e. Dom1 can independently send an interrupt 
> to Dom2 or vice versa).Do I need to have just 2 ports: one is on Dom 1 and 
> the other one on Dom 2, and on each domain I simply bind it to the 
> corresponding interrupt handler? Or do I need to have 4 ports: one pair is 
> used for Dom2-to-Dom1 interrupts and the other pair for Dom1-to-Dom2 interrupts?

One port on each end should suffice.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:29:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:29:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQCwP-0000i5-TJ; Fri, 04 May 2012 07:28:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQCwN-0000i0-QB
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:28:35 +0000
Received: from [85.158.138.51:36465] by server-10.bemta-3.messagelabs.com id
	C8/F9-29478-22583AF4; Fri, 04 May 2012 07:28:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336116513!17267448!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21168 invoked from network); 4 May 2012 07:28:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 07:28:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 08:28:33 +0100
Message-Id: <4FA3A1400200007800081808@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 08:28:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ruslan Nikolaev" <nruslan_devel@yahoo.com>
References: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
In-Reply-To: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Inter-domain event channel question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 03.05.12 at 20:46, Ruslan Nikolaev <nruslan_devel@yahoo.com> wrote:
> I want to set up an inter-domain event channel, and I want to receive 
> interrupts in both directions (i.e. Dom1 can independently send an interrupt 
> to Dom2 or vice versa).Do I need to have just 2 ports: one is on Dom 1 and 
> the other one on Dom 2, and on each domain I simply bind it to the 
> corresponding interrupt handler? Or do I need to have 4 ports: one pair is 
> used for Dom2-to-Dom1 interrupts and the other pair for Dom1-to-Dom2 interrupts?

One port on each end should suffice.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:44:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDBL-0000wa-CM; Fri, 04 May 2012 07:44:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQDBJ-0000wV-Vj
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:44:02 +0000
Received: from [85.158.139.83:59133] by server-7.bemta-5.messagelabs.com id
	D5/03-16195-0C883AF4; Fri, 04 May 2012 07:44:00 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336117440!26643431!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30848 invoked from network); 4 May 2012 07:44:00 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 07:44:00 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 08:43:59 +0100
Message-Id: <4FA3A4DE020000780008181A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 08:43:58 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Mukesh Rathor" <mukesh.rathor@oracle.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
In-Reply-To: <20120503191025.7c2cec2e@mantra.us.oracle.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 04:10, Mukesh Rathor <mukesh.rathor@oracle.com> wrote:
> At a loss trying to figure why 
>   if (has_eflag(X86_EFLAGS_ID))
> 
> returns false in my HVM domU. Standard function has_eflag() in
> cpucheck.c running in real mode. Works fine on PV dom0,

How that? This is 16-bit code. If called with a 32-bit code segment (I'm
not aware of PV setting up any 16-bit segments), it'll be touching only
the low 16 bits of all operands (as the operand size prefixes all these
instructions have will have inverted meaning).

> but fails when guest is booting on my hybrid dom0.

Unless PV works because you made this 32-bit code (and you call this
in a 16-bit code segment in your hybrid), I can't make other suggestions.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:44:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDBL-0000wa-CM; Fri, 04 May 2012 07:44:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQDBJ-0000wV-Vj
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:44:02 +0000
Received: from [85.158.139.83:59133] by server-7.bemta-5.messagelabs.com id
	D5/03-16195-0C883AF4; Fri, 04 May 2012 07:44:00 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336117440!26643431!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30848 invoked from network); 4 May 2012 07:44:00 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 07:44:00 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 08:43:59 +0100
Message-Id: <4FA3A4DE020000780008181A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 08:43:58 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Mukesh Rathor" <mukesh.rathor@oracle.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
In-Reply-To: <20120503191025.7c2cec2e@mantra.us.oracle.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 04:10, Mukesh Rathor <mukesh.rathor@oracle.com> wrote:
> At a loss trying to figure why 
>   if (has_eflag(X86_EFLAGS_ID))
> 
> returns false in my HVM domU. Standard function has_eflag() in
> cpucheck.c running in real mode. Works fine on PV dom0,

How that? This is 16-bit code. If called with a 32-bit code segment (I'm
not aware of PV setting up any 16-bit segments), it'll be touching only
the low 16 bits of all operands (as the operand size prefixes all these
instructions have will have inverted meaning).

> but fails when guest is booting on my hybrid dom0.

Unless PV works because you made this 32-bit code (and you call this
in a 16-bit code segment in your hybrid), I can't make other suggestions.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:50:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:50:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDGc-00014K-4T; Fri, 04 May 2012 07:49:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SQDGa-00014E-UQ
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 07:49:29 +0000
Received: from [85.158.143.35:53458] by server-2.bemta-4.messagelabs.com id
	85/54-17550-80A83AF4; Fri, 04 May 2012 07:49:28 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336117765!11503172!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjczODg3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28531 invoked from network); 4 May 2012 07:49:26 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-21.messagelabs.com with SMTP;
	4 May 2012 07:49:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 04 May 2012 00:49:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="96300356"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 04 May 2012 00:49:24 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 4 May 2012 00:49:23 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Fri, 4 May 2012 15:49:21 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH v2] Re-enable LTR/OBFF when device is owned by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSQ==
Date: Fri, 4 May 2012 07:49:21 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned by
	pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When PCIE device which has LTR/OBFF capabilities is owned by pciback, LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that guest with device assigned can be benefitted.

Changes from v1:
- put the variable definition at the start of function
- add error log report

Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 097e536..74fbf23 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
 	struct xen_pcibk_dev_data *dev_data;
 	int err = 0;
 
+	/* set default value */
+	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
+	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
+
 	dev_dbg(&dev->dev, "initializing...\n");
 
 	/* The PCI backend is not intended to be a module (or to work with
@@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
 	dev_dbg(&dev->dev, "reset device\n");
 	xen_pcibk_reset_device(dev);
 
+	/* Enable LTR and OBFF before do device assignment */
+	/* LTR(Latency tolerance reporting) allows devices to send
+	 * messages to the root complex indicating their latency tolerance
+	 * for snooped & unsnooped memory transactions.
+	 */
+	err = pci_enable_ltr(dev);
+	if (err)
+		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
+
+	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
+	if (err)
+		dev_err(&dev->dev, "Set LTR latency values failed.\n");
+
+	/* OBFF (optimized buffer flush/fill), where supported, can help
+	 * improve energy efficiency by giving devices information about
+	 * when interrupts and other activity will have a reduced power
+	 * impact.
+	 */
+	err = pci_enable_obff(dev, type);
+	if (err)
+		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
+
 	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
 	return 0;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:50:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:50:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDGc-00014K-4T; Fri, 04 May 2012 07:49:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SQDGa-00014E-UQ
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 07:49:29 +0000
Received: from [85.158.143.35:53458] by server-2.bemta-4.messagelabs.com id
	85/54-17550-80A83AF4; Fri, 04 May 2012 07:49:28 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336117765!11503172!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjczODg3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28531 invoked from network); 4 May 2012 07:49:26 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-21.messagelabs.com with SMTP;
	4 May 2012 07:49:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 04 May 2012 00:49:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="96300356"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 04 May 2012 00:49:24 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 4 May 2012 00:49:23 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Fri, 4 May 2012 15:49:21 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH v2] Re-enable LTR/OBFF when device is owned by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSQ==
Date: Fri, 4 May 2012 07:49:21 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned by
	pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When PCIE device which has LTR/OBFF capabilities is owned by pciback, LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that guest with device assigned can be benefitted.

Changes from v1:
- put the variable definition at the start of function
- add error log report

Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 097e536..74fbf23 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
 	struct xen_pcibk_dev_data *dev_data;
 	int err = 0;
 
+	/* set default value */
+	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
+	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
+
 	dev_dbg(&dev->dev, "initializing...\n");
 
 	/* The PCI backend is not intended to be a module (or to work with
@@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
 	dev_dbg(&dev->dev, "reset device\n");
 	xen_pcibk_reset_device(dev);
 
+	/* Enable LTR and OBFF before do device assignment */
+	/* LTR(Latency tolerance reporting) allows devices to send
+	 * messages to the root complex indicating their latency tolerance
+	 * for snooped & unsnooped memory transactions.
+	 */
+	err = pci_enable_ltr(dev);
+	if (err)
+		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
+
+	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
+	if (err)
+		dev_err(&dev->dev, "Set LTR latency values failed.\n");
+
+	/* OBFF (optimized buffer flush/fill), where supported, can help
+	 * improve energy efficiency by giving devices information about
+	 * when interrupts and other activity will have a reduced power
+	 * impact.
+	 */
+	err = pci_enable_obff(dev, type);
+	if (err)
+		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
+
 	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
 	return 0;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:57:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:57:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDNW-0001EP-0V; Fri, 04 May 2012 07:56:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tobias.geiger@vido.info>) id 1SQDNV-0001EK-0k
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:56:37 +0000
Received: from [85.158.138.51:29789] by server-6.bemta-3.messagelabs.com id
	37/C4-05145-4BB83AF4; Fri, 04 May 2012 07:56:36 +0000
X-Env-Sender: tobias.geiger@vido.info
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336118195!23402589!1
X-Originating-IP: [78.47.43.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5640 invoked from network); 4 May 2012 07:56:35 -0000
Received: from www.vido.info (HELO mail.vido.info) (78.47.43.171)
	by server-15.tower-174.messagelabs.com with SMTP;
	4 May 2012 07:56:35 -0000
Received: from localhost (ip6-localhost [127.0.0.1])
	by mail.vido.info (Postfix) with ESMTP id DB2DDD3462F;
	Fri,  4 May 2012 09:56:34 +0200 (CEST)
X-Virus-Scanned: by amavis at mail.vido.info
Received: from mail.vido.info ([127.0.0.1])
	by localhost (mail.vido.info [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id Re-FooenUwGy; Fri,  4 May 2012 09:56:30 +0200 (CEST)
Received: from lxgeigert.localnet (et-0-10.gw-nat.bs.kae.de.oneandone.net
	[212.227.35.74])
	by mail.vido.info (Postfix) with ESMTPSA id 40AD9D3472C;
	Fri,  4 May 2012 09:56:26 +0200 (CEST)
From: Tobias Geiger <tobias.geiger@vido.info>
Organization: VIDO IT-Service
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 09:56:24 +0200
User-Agent: KMail/1.13.7 (Linux/3.0.0-1-amd64; KDE/4.6.5; x86_64; ; )
References: <CACC+8CS13Z8YqviP-rE0Vyi-uxSZwP5c_VUQhyCFHPo4YLB8wg@mail.gmail.com>
	<4F7B66A3.3080802@amd.com>
	<1336091533825-5684634.post@n5.nabble.com>
In-Reply-To: <1336091533825-5684634.post@n5.nabble.com>
MIME-Version: 1.0
Message-Id: <201205040956.25283.tobias.geiger@vido.info>
Cc: n4rC0t1C <shandivo@gmail.com>, xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] AMD/ATI patch for xen 4.2-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am Freitag, 4. Mai 2012, 02:32:13 schrieb n4rC0t1C:
> Huang2, Wei wrote
> 
> > I just re-spin the patch, but haven't tested it yet. You want to try it
> > (attached)? Make sure you are using AMD GPU as the primary.
> > 
> > -Wei
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> 
> Works perfectly here.
> Intel i5-2500, Asrock z68 Extreme4 Gen3, AMD 6870 as primary.
> Xen Unstable 25254, Ubuntu 12.04, ubuntu 3.3.3 kernel.
> Gfx passthrough=0, just install ati drivers with vnc, then reboot and
> monitors turn on with full 3D acceleration.
> 

if i understand this patch and the gfx_passthrough parameter right, you don't 
need this patch for this scenario: 
with gfx_passthrough=0 this patch does not what its intended to do, i.e. 
"declare" itself as the primary gpu within the DomU which would mean you could 
also see early boot messages and windows start screen on the monitor of the 
passed-through gpu (a feature i not really need).

Greetings
Tobias


> I've been using this patch (4.1 patch, 4.2 a couple of weeks) 6 months now,
> not a single bsod.
> Thanks everyone,
> Ivo
> 
> 
> --
> View this message in context:
> http://xen.1045712.n5.nabble.com/AMD-ATI-patch-for-xen-4-2-unstable-tp5611
> 297p5684634.html Sent from the Xen - Dev mailing list archive at
> Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:57:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:57:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDNW-0001EP-0V; Fri, 04 May 2012 07:56:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tobias.geiger@vido.info>) id 1SQDNV-0001EK-0k
	for xen-devel@lists.xen.org; Fri, 04 May 2012 07:56:37 +0000
Received: from [85.158.138.51:29789] by server-6.bemta-3.messagelabs.com id
	37/C4-05145-4BB83AF4; Fri, 04 May 2012 07:56:36 +0000
X-Env-Sender: tobias.geiger@vido.info
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336118195!23402589!1
X-Originating-IP: [78.47.43.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5640 invoked from network); 4 May 2012 07:56:35 -0000
Received: from www.vido.info (HELO mail.vido.info) (78.47.43.171)
	by server-15.tower-174.messagelabs.com with SMTP;
	4 May 2012 07:56:35 -0000
Received: from localhost (ip6-localhost [127.0.0.1])
	by mail.vido.info (Postfix) with ESMTP id DB2DDD3462F;
	Fri,  4 May 2012 09:56:34 +0200 (CEST)
X-Virus-Scanned: by amavis at mail.vido.info
Received: from mail.vido.info ([127.0.0.1])
	by localhost (mail.vido.info [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id Re-FooenUwGy; Fri,  4 May 2012 09:56:30 +0200 (CEST)
Received: from lxgeigert.localnet (et-0-10.gw-nat.bs.kae.de.oneandone.net
	[212.227.35.74])
	by mail.vido.info (Postfix) with ESMTPSA id 40AD9D3472C;
	Fri,  4 May 2012 09:56:26 +0200 (CEST)
From: Tobias Geiger <tobias.geiger@vido.info>
Organization: VIDO IT-Service
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 09:56:24 +0200
User-Agent: KMail/1.13.7 (Linux/3.0.0-1-amd64; KDE/4.6.5; x86_64; ; )
References: <CACC+8CS13Z8YqviP-rE0Vyi-uxSZwP5c_VUQhyCFHPo4YLB8wg@mail.gmail.com>
	<4F7B66A3.3080802@amd.com>
	<1336091533825-5684634.post@n5.nabble.com>
In-Reply-To: <1336091533825-5684634.post@n5.nabble.com>
MIME-Version: 1.0
Message-Id: <201205040956.25283.tobias.geiger@vido.info>
Cc: n4rC0t1C <shandivo@gmail.com>, xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] AMD/ATI patch for xen 4.2-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am Freitag, 4. Mai 2012, 02:32:13 schrieb n4rC0t1C:
> Huang2, Wei wrote
> 
> > I just re-spin the patch, but haven't tested it yet. You want to try it
> > (attached)? Make sure you are using AMD GPU as the primary.
> > 
> > -Wei
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> 
> Works perfectly here.
> Intel i5-2500, Asrock z68 Extreme4 Gen3, AMD 6870 as primary.
> Xen Unstable 25254, Ubuntu 12.04, ubuntu 3.3.3 kernel.
> Gfx passthrough=0, just install ati drivers with vnc, then reboot and
> monitors turn on with full 3D acceleration.
> 

if i understand this patch and the gfx_passthrough parameter right, you don't 
need this patch for this scenario: 
with gfx_passthrough=0 this patch does not what its intended to do, i.e. 
"declare" itself as the primary gpu within the DomU which would mean you could 
also see early boot messages and windows start screen on the monitor of the 
passed-through gpu (a feature i not really need).

Greetings
Tobias


> I've been using this patch (4.1 patch, 4.2 a couple of weeks) 6 months now,
> not a single bsod.
> Thanks everyone,
> Ivo
> 
> 
> --
> View this message in context:
> http://xen.1045712.n5.nabble.com/AMD-ATI-patch-for-xen-4-2-unstable-tp5611
> 297p5684634.html Sent from the Xen - Dev mailing list archive at
> Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:57:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:57:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDNa-0001Ek-CX; Fri, 04 May 2012 07:56:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tobias.geiger@vido.info>) id 1SQDNY-0001EZ-Cv
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 07:56:40 +0000
Received: from [85.158.143.35:24884] by server-2.bemta-4.messagelabs.com id
	5F/3C-17550-7BB83AF4; Fri, 04 May 2012 07:56:39 +0000
X-Env-Sender: tobias.geiger@vido.info
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336118195!9759473!1
X-Originating-IP: [78.47.43.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7077 invoked from network); 4 May 2012 07:56:35 -0000
Received: from www.vido.info (HELO mail.vido.info) (78.47.43.171)
	by server-4.tower-21.messagelabs.com with SMTP;
	4 May 2012 07:56:35 -0000
Received: from localhost (ip6-localhost [127.0.0.1])
	by mail.vido.info (Postfix) with ESMTP id DB2DDD3462F;
	Fri,  4 May 2012 09:56:34 +0200 (CEST)
X-Virus-Scanned: by amavis at mail.vido.info
Received: from mail.vido.info ([127.0.0.1])
	by localhost (mail.vido.info [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id Re-FooenUwGy; Fri,  4 May 2012 09:56:30 +0200 (CEST)
Received: from lxgeigert.localnet (et-0-10.gw-nat.bs.kae.de.oneandone.net
	[212.227.35.74])
	by mail.vido.info (Postfix) with ESMTPSA id 40AD9D3472C;
	Fri,  4 May 2012 09:56:26 +0200 (CEST)
From: Tobias Geiger <tobias.geiger@vido.info>
Organization: VIDO IT-Service
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 09:56:24 +0200
User-Agent: KMail/1.13.7 (Linux/3.0.0-1-amd64; KDE/4.6.5; x86_64; ; )
References: <CACC+8CS13Z8YqviP-rE0Vyi-uxSZwP5c_VUQhyCFHPo4YLB8wg@mail.gmail.com>
	<4F7B66A3.3080802@amd.com>
	<1336091533825-5684634.post@n5.nabble.com>
In-Reply-To: <1336091533825-5684634.post@n5.nabble.com>
MIME-Version: 1.0
Message-Id: <201205040956.25283.tobias.geiger@vido.info>
Cc: n4rC0t1C <shandivo@gmail.com>, xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] AMD/ATI patch for xen 4.2-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am Freitag, 4. Mai 2012, 02:32:13 schrieb n4rC0t1C:
> Huang2, Wei wrote
> 
> > I just re-spin the patch, but haven't tested it yet. You want to try it
> > (attached)? Make sure you are using AMD GPU as the primary.
> > 
> > -Wei
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> 
> Works perfectly here.
> Intel i5-2500, Asrock z68 Extreme4 Gen3, AMD 6870 as primary.
> Xen Unstable 25254, Ubuntu 12.04, ubuntu 3.3.3 kernel.
> Gfx passthrough=0, just install ati drivers with vnc, then reboot and
> monitors turn on with full 3D acceleration.
> 

if i understand this patch and the gfx_passthrough parameter right, you don't 
need this patch for this scenario: 
with gfx_passthrough=0 this patch does not what its intended to do, i.e. 
"declare" itself as the primary gpu within the DomU which would mean you could 
also see early boot messages and windows start screen on the monitor of the 
passed-through gpu (a feature i not really need).

Greetings
Tobias


> I've been using this patch (4.1 patch, 4.2 a couple of weeks) 6 months now,
> not a single bsod.
> Thanks everyone,
> Ivo
> 
> 
> --
> View this message in context:
> http://xen.1045712.n5.nabble.com/AMD-ATI-patch-for-xen-4-2-unstable-tp5611
> 297p5684634.html Sent from the Xen - Dev mailing list archive at
> Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 07:57:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 07:57:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDNa-0001Ek-CX; Fri, 04 May 2012 07:56:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tobias.geiger@vido.info>) id 1SQDNY-0001EZ-Cv
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 07:56:40 +0000
Received: from [85.158.143.35:24884] by server-2.bemta-4.messagelabs.com id
	5F/3C-17550-7BB83AF4; Fri, 04 May 2012 07:56:39 +0000
X-Env-Sender: tobias.geiger@vido.info
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336118195!9759473!1
X-Originating-IP: [78.47.43.171]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7077 invoked from network); 4 May 2012 07:56:35 -0000
Received: from www.vido.info (HELO mail.vido.info) (78.47.43.171)
	by server-4.tower-21.messagelabs.com with SMTP;
	4 May 2012 07:56:35 -0000
Received: from localhost (ip6-localhost [127.0.0.1])
	by mail.vido.info (Postfix) with ESMTP id DB2DDD3462F;
	Fri,  4 May 2012 09:56:34 +0200 (CEST)
X-Virus-Scanned: by amavis at mail.vido.info
Received: from mail.vido.info ([127.0.0.1])
	by localhost (mail.vido.info [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id Re-FooenUwGy; Fri,  4 May 2012 09:56:30 +0200 (CEST)
Received: from lxgeigert.localnet (et-0-10.gw-nat.bs.kae.de.oneandone.net
	[212.227.35.74])
	by mail.vido.info (Postfix) with ESMTPSA id 40AD9D3472C;
	Fri,  4 May 2012 09:56:26 +0200 (CEST)
From: Tobias Geiger <tobias.geiger@vido.info>
Organization: VIDO IT-Service
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 09:56:24 +0200
User-Agent: KMail/1.13.7 (Linux/3.0.0-1-amd64; KDE/4.6.5; x86_64; ; )
References: <CACC+8CS13Z8YqviP-rE0Vyi-uxSZwP5c_VUQhyCFHPo4YLB8wg@mail.gmail.com>
	<4F7B66A3.3080802@amd.com>
	<1336091533825-5684634.post@n5.nabble.com>
In-Reply-To: <1336091533825-5684634.post@n5.nabble.com>
MIME-Version: 1.0
Message-Id: <201205040956.25283.tobias.geiger@vido.info>
Cc: n4rC0t1C <shandivo@gmail.com>, xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] AMD/ATI patch for xen 4.2-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am Freitag, 4. Mai 2012, 02:32:13 schrieb n4rC0t1C:
> Huang2, Wei wrote
> 
> > I just re-spin the patch, but haven't tested it yet. You want to try it
> > (attached)? Make sure you are using AMD GPU as the primary.
> > 
> > -Wei
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> 
> Works perfectly here.
> Intel i5-2500, Asrock z68 Extreme4 Gen3, AMD 6870 as primary.
> Xen Unstable 25254, Ubuntu 12.04, ubuntu 3.3.3 kernel.
> Gfx passthrough=0, just install ati drivers with vnc, then reboot and
> monitors turn on with full 3D acceleration.
> 

if i understand this patch and the gfx_passthrough parameter right, you don't 
need this patch for this scenario: 
with gfx_passthrough=0 this patch does not what its intended to do, i.e. 
"declare" itself as the primary gpu within the DomU which would mean you could 
also see early boot messages and windows start screen on the monitor of the 
passed-through gpu (a feature i not really need).

Greetings
Tobias


> I've been using this patch (4.1 patch, 4.2 a couple of weeks) 6 months now,
> not a single bsod.
> Thanks everyone,
> Ivo
> 
> 
> --
> View this message in context:
> http://xen.1045712.n5.nabble.com/AMD-ATI-patch-for-xen-4-2-unstable-tp5611
> 297p5684634.html Sent from the Xen - Dev mailing list archive at
> Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:01:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDRk-0001ui-S9; Fri, 04 May 2012 08:01:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SQDRi-0001uY-2N
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:00:59 +0000
Received: from [85.158.138.51:21612] by server-10.bemta-3.messagelabs.com id
	C6/58-29478-9BC83AF4; Fri, 04 May 2012 08:00:57 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336118450!25177657!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4361 invoked from network); 4 May 2012 08:00:50 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-3.tower-174.messagelabs.com with SMTP;
	4 May 2012 08:00:50 -0000
Received: from p5b2e1f1c.dip.t-dialin.net ([91.46.31.28] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SQDRS-0007Pq-O2; Fri, 04 May 2012 08:00:44 +0000
Message-ID: <4FA38CA0.3020601@canonical.com>
Date: Fri, 04 May 2012 10:00:32 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
	<20120503154620.GB3464@andromeda.dapyr.net>
	<20120503170858.GC9992@phenom.dumpdata.com>
In-Reply-To: <20120503170858.GC9992@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Boris Ostrovsky <boris.ostrovsky@amd.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5525228139078192454=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============5525228139078192454==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enigEB40C659F3DC487B0CD9A40F"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigEB40C659F3DC487B0CD9A40F
Content-Type: multipart/mixed;
 boundary="------------070800050300030104070507"

This is a multi-part message in MIME format.
--------------070800050300030104070507
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 19:08, Konrad Rzeszutek Wilk wrote:
>>> Hmmm, so xen_apic_read is still correct...
>>>
>>> [    0.000000] ACPI: Local APIC address 0xfee00000
>>> [    0.000000] xxx xen_apic_read(20)
>>> [    0.000000] xxx xen_apic_read -> 10
>>> [    0.000000] boot_cpu_physical_apicid =3D 0
>>> [    0.000000] xxx xen_apic_read(30)
>>> [    0.000000] +- apic version =3D 10
>>>
>>> there seems to be a slightly strange tweak (at least for me) in read_=
apic_id...
>>>
>>> static inline unsigned int read_apic_id(void)
>>> {
>>>         unsigned int reg;
>>>
>>>         reg =3D apic_read(APIC_ID); // calls apic->read(reg)
>>>
>>>         return apic->get_apic_id(reg);
>>
>> Duh!! Let me spin out a new patch that will do this.
>=20
> Meaning bit-shift it. We ended up doing 10 >> 24 (get_apic_id does that=
)
> which results in zero. So lets be a bit more cautious and over-write
> the get_apic_id and set_apic_id and as well do the proper bit-shifting.=

>=20

I can confirm that with this patch applied I can load the xen-acpi-proces=
sor
driver and see P-states changing in xenpm. No BIOS bug messages.
Also tested on the i7 and it does still work. I am attaching the dmesg ou=
tput of
both runs. On the i7 the xen apic functions are called in two places and =
for
cpu#0 only. On AMD, I see additional call later and for all cpus while en=
abling
them. apic->read bails out, but apic->get_apic_id returns 0 (though I cou=
ld see
no immediate problem from that). Maybe that info is helpful for the next =
stage.

-Stefan

> commit 4bb450ea9dca1b8d845f1b53ab6476615a32badf
> Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date:   Wed May 2 15:04:51 2012 -0400
>=20
>     xen/apic: Return the APIC ID (and version) for CPU 0.
>    =20
>     On x86_64 on AMD machines where the first APIC_ID is not zero, we g=
et:
>    =20
>     ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
>     BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0x10
>     BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: version 10
>    =20
>     which means that when the ACPI processor driver loads and
>     tries to parse the _Pxx states it fails to do as, as it
>     ends up calling acpi_get_cpuid which does this:
>    =20
>     for_each_possible_cpu(i) {
>             if (cpu_physical_id(i) =3D=3D apic_id)
>                     return i;
>     }
>    =20
>     And the bootup CPU, has not been found so it fails and returns -1
>     for the first CPU - which then subsequently in the loop that
>     "acpi_processor_get_info" does results in returning an error, which=

>     means that "acpi_processor_add" failing and per_cpu(processor)
>     is never set (and is NULL).
>    =20
>     That means that when xen-acpi-processor tries to load (much much
>     later on) and parse the P-states it gets -ENODEV from
>     acpi_processor_register_performance() (which tries to read
>     the per_cpu(processor)) and fails to parse the data.
>    =20
>     Reported-by:  Stefan Bader <stefan.bader@canonical.com>
>     Suggested-by:  Boris Ostrovsky <boris.ostrovsky@amd.com>
>     [v2: Bit-shift APIC ID by 24 bits]
>     Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Stefan Bader <stefan.bader@canonical.com>
>=20
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..63d6c22 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -53,6 +53,9 @@
>  #include <asm/processor.h>
>  #include <asm/proto.h>
>  #include <asm/msr-index.h>
> +#ifdef CONFIG_NUMA
> +#include <asm/numa.h>
> +#endif
>  #include <asm/traps.h>
>  #include <asm/setup.h>
>  #include <asm/desc.h>
> @@ -809,9 +812,40 @@ static void xen_io_delay(void)
>  }
> =20
>  #ifdef CONFIG_X86_LOCAL_APIC
> +static unsigned long xen_set_apic_id(unsigned int x)
> +{
> +	WARN_ON(1);
> +	return x;
> +}
> +static unsigned int xen_get_apic_id(unsigned long x)
> +{
> +	return (((x)>>24) & 0xFFu);
> +}
>  static u32 xen_apic_read(u32 reg)
>  {
> -	return 0;
> +	struct xen_platform_op op =3D {
> +		.cmd =3D XENPF_get_cpuinfo,
> +		.interface_version =3D XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid =3D 0,
> +	};
> +	int ret =3D 0;
> +
> +	/* Shouldn't need this as APIC is turned off for PV, and we only
> +	 * get called on the bootup processor. But just in case. */
> +	if (!xen_initial_domain() || smp_processor_id())
> +		return 0;
> +
> +	if (reg =3D=3D APIC_LVR)
> +		return 0x10;
> +
> +	if (reg !=3D APIC_ID)
> +		return 0;
> +
> +	ret =3D HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return 0;
> +
> +	return op.u.pcpu_info.apic_id << 24;
>  }
> =20
>  static void xen_apic_write(u32 reg, u32 val)
> @@ -849,6 +883,8 @@ static void set_xen_basic_apic_ops(void)
>  	apic->icr_write =3D xen_apic_icr_write;
>  	apic->wait_icr_idle =3D xen_apic_wait_icr_idle;
>  	apic->safe_wait_icr_idle =3D xen_safe_apic_wait_icr_idle;
> +	apic->set_apic_id =3D xen_set_apic_id;
> +	apic->get_apic_id =3D xen_get_apic_id;
>  }
> =20
>  #endif
> @@ -1294,6 +1330,9 @@ asmlinkage void __init xen_start_kernel(void)
>  	 */
>  	acpi_numa =3D -1;
>  #endif
> +#if defined(CONFIG_NUMA) && defined(CONFIG_X86_32)
> +	numa_off =3D 1;
> +#endif
> =20
>  	pgd =3D (pgd_t *)xen_start_info->pt_base;
> =20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


--------------070800050300030104070507
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.i7.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.i7.txt"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (root@gomeisa) (gcc version=
 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg8 SMP Thu May 3 17:40:0=
6 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg8-generic 3.2.16)
[    0.000000] Command line: placeholder root=3D/dev/mapper/rootvg-magrat=
hea ro nomodeset debug lapic=3Ddebug console=3Dhvc0 loglevel=3D10 earlypr=
intk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  97-100 pfn range: 105 pages freed
[    0.000000] 1-1 mapping on 97->100
[    0.000000] 1-1 mapping on dfee0->100000
[    0.000000] Released 105 pages of unused memory
[    0.000000] Set 131465 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000097000 (usable)
[    0.000000]  Xen: 000000000009f800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfee0000 (usable)
[    0.000000]  Xen: 00000000dfee0000 - 00000000dfee1000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee1000 - 00000000dfef0000 (ACPI data)
[    0.000000]  Xen: 00000000dfef0000 - 00000000dff00000 (reserved)
[    0.000000]  Xen: 00000000f0000000 - 00000000f4000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 0000000180120000 (usable)
[    0.000000]  Xen: 0000000180120000 - 0000000220000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.4 present.
[    0.000000] DMI: Gigabyte Technology Co., Ltd. EX58-UD3R/EX58-UD3R, BI=
OS F11 03/11/2010
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x180120 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfee0 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000f5cc0] f5cc0
[    0.000000] initial memory mapped : 0 - 047e7000
[    0.000000] Base memory trampoline at [ffff880000092000] 92000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfee0000
[    0.000000]  0000000000 - 00dfee0000 page 4k
[    0.000000] kernel direct mapping tables up to dfee0000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-0000000180120000
[    0.000000]  0100000000 - 0180120000 page 4k
[    0.000000] kernel direct mapping tables up to 180120000 @ 1f3f7000-20=
000000
[    0.000000] xen: setting RW the range 1f7fb000 - 20000000
[    0.000000] RAMDISK: 02060000 - 047e7000
[    0.000000] ACPI: RSDP 00000000000f7680 00014 (v00 GBT   )
[    0.000000] ACPI: RSDT 00000000dfee1040 00040 (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: FACP 00000000dfee10c0 00074 (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: DSDT 00000000dfee1180 04BA7 (v01 GBT    GBTUACPI 000=
01000 MSFT 0100000C)
[    0.000000] ACPI: FACS 00000000dfee0000 00040
[    0.000000] ACPI: HPET 00000000dfee5f00 00038 (v01 GBT    GBTUACPI 423=
02E31 GBTU 00000098)
[    0.000000] ACPI: MCFG 00000000dfee5f80 0003C (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: EUDS 00000000dfee5fc0 00470 (v01 GBT             000=
00000      00000000)
[    0.000000] ACPI: TAMG 00000000dfee6430 00B72 (v01 GBT    GBT   B0 545=
5312E BG?? 53450101)
[    0.000000] ACPI: APIC 00000000dfee5d80 0012C (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: SSDT 00000000dfee6fb0 02FE4 (v01  INTEL PPM RCM  800=
00001 INTL 20061109)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] xxx xen_apic_read(0x20) -> 0x0
[    0.000000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.000000] xxx xen_apic_read(0x30) -> 0x10
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-0000000180120000
[    0.000000] Initmem setup node 0 0000000000000000-0000000180120000
[    0.000000]   NODE_DATA [000000001fffb000 - 000000001fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x00180120
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000097
[    0.000000]     0: 0x00000100 -> 0x000dfee0
[    0.000000]     0: 0x00100000 -> 0x00180120
[    0.000000] On node 0 totalpages: 1441671
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2153 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896800 pages, LIFO batch:31
[    0.000000]   Normal zone: 8197 pages used for memmap
[    0.000000]   Normal zone: 516379 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x03] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x08] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x09] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x0a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x0b] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x0c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x0d] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x0e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x0f] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x08] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x09] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0a] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0b] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0c] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0d] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0e] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0f] dfl dfl lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level=
)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 16 CPUs, 8 hotplug CPUs
[    0.000000] xxx xen_apic_read(0x20) -> 0x0
[    0.000000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
00a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000d=
fee1000
[    0.000000] PM: Registered nosave memory: 00000000dfee1000 - 00000000d=
fef0000
[    0.000000] PM: Registered nosave memory: 00000000dfef0000 - 00000000d=
ff00000
[    0.000000] PM: Registered nosave memory: 00000000dff00000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
4000000
[    0.000000] PM: Registered nosave memory: 00000000f4000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at dff00000 (gap: dff000=
00:10100000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
6 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88001fdeb000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11 [0] 12 [0] 13 [0] =
14 [0] 15=20
[    2.348911] Built 1 zonelists in Node order, mobility grouping on.  To=
tal pages: 1415332
[    2.348914] Policy zone: Normal
[    2.348917] Kernel command line: placeholder root=3D/dev/mapper/rootvg=
-magrathea ro nomodeset debug lapic=3Ddebug console=3Dhvc0 loglevel=3D10 =
earlyprintk=3Dxenboot
[    2.349396] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    2.378521] Placing 64MB software IO TLB between ffff880015400000 - ff=
ff880019400000
[    2.378525] software IO TLB at phys 0x15400000 - 0x19400000
[    2.379958] Memory: 294916k/6292608k available (6654k kernel code, 525=
924k absent, 5471768k reserved, 6550k data, 920k init)
[    2.380035] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D16, Nodes=3D1
[    2.380070] Hierarchical RCU implementation.
[    2.380072] 	RCU dyntick-idle grace-period acceleration is enabled.
[    2.380083] NR_IRQS:16640 nr_irqs:4096 16
[    2.380142] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D0=

[    2.380145] xen: registering gsi 9 triggering 0 polarity 0
[    2.380154] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    2.380159] xen: acpi sci 9
[    2.380162] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    2.380166] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    2.380169] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    2.380173] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    2.380176] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    2.380179] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    2.380182] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    2.380186] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    2.380188] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    2.380190] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    2.380193] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    2.380197] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    2.380200] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    2.380204] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    2.380207] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    2.380210] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    2.382007] Console: colour VGA+ 80x25
[    2.382011] console [hvc0] enabled, bootconsole disabled
[    2.390775] allocated 47185920 bytes of page_cgroup
[    2.390779] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    2.390818] Xen: using vcpuop timer interface
[    2.390825] installing Xen timer for CPU 0
[    2.390854] Detected 2664.850 MHz processor.
[    2.390861] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 5329.70 BogoMIPS (lpj=3D10659400)
[    2.390866] pid_max: default: 32768 minimum: 301
[    2.390896] Security Framework initialized
[    2.390906] AppArmor: AppArmor initialized
[    2.390908] Yama: becoming mindful.
[    2.393465] Dentry cache hash table entries: 1048576 (order: 11, 83886=
08 bytes)
[    2.395968] Inode-cache hash table entries: 524288 (order: 10, 4194304=
 bytes)
[    2.396755] Mount-cache hash table entries: 256
[    2.396908] Initializing cgroup subsys cpuacct
[    2.396914] Initializing cgroup subsys memory
[    2.396926] Initializing cgroup subsys devices
[    2.396929] Initializing cgroup subsys freezer
[    2.396932] Initializing cgroup subsys blkio
[    2.396943] Initializing cgroup subsys perf_event
[    2.396999] CPU: Physical Processor ID: 0
[    2.397001] CPU: Processor Core ID: 0
[    2.399115] ACPI: Core revision 20110623
[    2.408066] ftrace: allocating 27104 entries in 107 pages
[    2.414834] cpu 0 spinlock event irq 273
[    2.414887] Performance Events: unsupported p6 CPU model 26 no PMU dri=
ver, software events only.
[    2.415004] NMI watchdog disabled (cpu0): hardware events not enabled
[    2.415078] installing Xen timer for CPU 1
[    2.415089] cpu 1 spinlock event irq 279
[    2.415214] NMI watchdog disabled (cpu1): hardware events not enabled
[    2.415291] installing Xen timer for CPU 2
[    2.415302] cpu 2 spinlock event irq 285
[    2.415386] NMI watchdog disabled (cpu2): hardware events not enabled
[    2.415455] installing Xen timer for CPU 3
[    2.415466] cpu 3 spinlock event irq 291
[    2.415545] NMI watchdog disabled (cpu3): hardware events not enabled
[    2.415617] installing Xen timer for CPU 4
[    2.415627] cpu 4 spinlock event irq 297
[    2.415712] NMI watchdog disabled (cpu4): hardware events not enabled
[    2.415786] installing Xen timer for CPU 5
[    2.415797] cpu 5 spinlock event irq 303
[    2.415880] NMI watchdog disabled (cpu5): hardware events not enabled
[    2.415950] installing Xen timer for CPU 6
[    2.415960] cpu 6 spinlock event irq 309
[    2.416047] NMI watchdog disabled (cpu6): hardware events not enabled
[    2.416118] installing Xen timer for CPU 7
[    2.416131] cpu 7 spinlock event irq 315
[    2.416213] NMI watchdog disabled (cpu7): hardware events not enabled
[    2.416234] Brought up 8 CPUs
[    2.416605] devtmpfs: initialized
[    2.417654] EVM: security.selinux
[    2.417657] EVM: security.SMACK64
[    2.417659] EVM: security.capability
[    2.417704] PM: Registering ACPI NVS region at dfee0000 (4096 bytes)
[    2.418293] Grant table initialized
[    2.418336] print_constraints: dummy:=20
[    2.418372] RTC time:  9:37:06, date: 05/04/12
[    2.418401] NET: Registered protocol family 16
[    2.418497] Trying to unpack rootfs image as initramfs...
[    2.423099] ACPI: bus type pci registered
[    2.423174] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf00000=
00-0xf3ffffff] (base 0xf0000000)
[    2.423178] PCI: MMCONFIG at [mem 0xf0000000-0xf3ffffff] reserved in E=
820
[    2.440460] PCI: Using configuration type 1 for base access
[    2.441457] bio: create slab <bio-0> at 0
[    2.441567] ACPI: Added _OSI(Module Device)
[    2.441570] ACPI: Added _OSI(Processor Device)
[    2.441573] ACPI: Added _OSI(3.0 _SCP Extensions)
[    2.441576] ACPI: Added _OSI(Processor Aggregator Device)
[    2.443539] ACPI: EC: Look up EC in DSDT
[    2.451390] ACPI Warning: Incorrect checksum in table [TAMG] - 0x0C, s=
hould be 0x0B (20110623/tbutils-314)
[    2.454463] ACPI: Interpreter enabled
[    2.454468] ACPI: (supports S0 S3 S4 S5)
[    2.454494] ACPI: Using IOAPIC for interrupt routing
[    2.458582] Freeing initrd memory: 40476k freed
[    2.461357] ACPI: No dock devices found.
[    2.461362] HEST: Table not found.
[    2.461366] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    2.461499] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3f])
[    2.461744] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7=
]
[    2.461748] pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff=
]
[    2.461751] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    2.461754] pci_root PNP0A03:00: host bridge window [mem 0x000c0000-0x=
000dffff]
[    2.461758] pci_root PNP0A03:00: host bridge window [mem 0xdff00000-0x=
febfffff]
[    2.461784] pci 0000:00:00.0: [8086:3405] type 0 class 0x000600
[    2.461890] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    2.461896] pci 0000:00:00.0: PME# disabled
[    2.461939] pci 0000:00:01.0: [8086:3408] type 1 class 0x000604
[    2.462052] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    2.462058] pci 0000:00:01.0: PME# disabled
[    2.462101] pci 0000:00:03.0: [8086:340a] type 1 class 0x000604
[    2.462214] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold
[    2.462220] pci 0000:00:03.0: PME# disabled
[    2.462266] pci 0000:00:07.0: [8086:340e] type 1 class 0x000604
[    2.462378] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
[    2.462384] pci 0000:00:07.0: PME# disabled
[    2.462430] pci 0000:00:10.0: [8086:3425] type 0 class 0x000800
[    2.462559] pci 0000:00:10.1: [8086:3426] type 0 class 0x000800
[    2.462672] pci 0000:00:11.0: [8086:3427] type 0 class 0x000800
[    2.462802] pci 0000:00:11.1: [8086:3428] type 0 class 0x000800
[    2.462917] pci 0000:00:13.0: [8086:342d] type 0 class 0x000800
[    2.462939] pci 0000:00:13.0: reg 10: [mem 0xfbfff000-0xfbffffff]
[    2.463037] pci 0000:00:13.0: PME# supported from D0 D3hot D3cold
[    2.463043] pci 0000:00:13.0: PME# disabled
[    2.463078] pci 0000:00:14.0: [8086:342e] type 0 class 0x000800
[    2.463209] pci 0000:00:14.1: [8086:3422] type 0 class 0x000800
[    2.463342] pci 0000:00:14.2: [8086:3423] type 0 class 0x000800
[    2.463476] pci 0000:00:15.0: [8086:342f] type 0 class 0x000800
[    2.463596] pci 0000:00:1a.0: [8086:3a37] type 0 class 0x000c03
[    2.463672] pci 0000:00:1a.0: reg 20: [io  0xff00-0xff1f]
[    2.463761] pci 0000:00:1a.1: [8086:3a38] type 0 class 0x000c03
[    2.463836] pci 0000:00:1a.1: reg 20: [io  0xfe00-0xfe1f]
[    2.463928] pci 0000:00:1a.2: [8086:3a39] type 0 class 0x000c03
[    2.464000] pci 0000:00:1a.2: reg 20: [io  0xfd00-0xfd1f]
[    2.464113] pci 0000:00:1a.7: [8086:3a3c] type 0 class 0x000c03
[    2.464148] pci 0000:00:1a.7: reg 10: [mem 0xfbffe000-0xfbffe3ff]
[    2.464305] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
[    2.464312] pci 0000:00:1a.7: PME# disabled
[    2.464357] pci 0000:00:1b.0: [8086:3a3e] type 0 class 0x000403
[    2.464384] pci 0000:00:1b.0: reg 10: [mem 0xfbff4000-0xfbff7fff 64bit=
]
[    2.464508] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    2.464515] pci 0000:00:1b.0: PME# disabled
[    2.464549] pci 0000:00:1c.0: [8086:3a40] type 1 class 0x000604
[    2.464677] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    2.464683] pci 0000:00:1c.0: PME# disabled
[    2.464721] pci 0000:00:1c.1: [8086:3a42] type 1 class 0x000604
[    2.464849] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    2.464855] pci 0000:00:1c.1: PME# disabled
[    2.464897] pci 0000:00:1c.4: [8086:3a48] type 1 class 0x000604
[    2.465026] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    2.465032] pci 0000:00:1c.4: PME# disabled
[    2.465074] pci 0000:00:1d.0: [8086:3a34] type 0 class 0x000c03
[    2.465149] pci 0000:00:1d.0: reg 20: [io  0xfc00-0xfc1f]
[    2.465238] pci 0000:00:1d.1: [8086:3a35] type 0 class 0x000c03
[    2.465313] pci 0000:00:1d.1: reg 20: [io  0xfb00-0xfb1f]
[    2.465402] pci 0000:00:1d.2: [8086:3a36] type 0 class 0x000c03
[    2.465477] pci 0000:00:1d.2: reg 20: [io  0xfa00-0xfa1f]
[    2.465582] pci 0000:00:1d.7: [8086:3a3a] type 0 class 0x000c03
[    2.465617] pci 0000:00:1d.7: reg 10: [mem 0xfbffd000-0xfbffd3ff]
[    2.465771] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    2.465779] pci 0000:00:1d.7: PME# disabled
[    2.465815] pci 0000:00:1e.0: [8086:244e] type 1 class 0x000604
[    2.465928] pci 0000:00:1f.0: [8086:3a16] type 0 class 0x000601
[    2.466059] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0800=
 (mask 000f)
[    2.466064] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0290=
 (mask 000f)
[    2.466147] pci 0000:00:1f.2: [8086:2822] type 0 class 0x000104
[    2.466182] pci 0000:00:1f.2: reg 10: [io  0xf900-0xf907]
[    2.466196] pci 0000:00:1f.2: reg 14: [io  0xf800-0xf803]
[    2.466211] pci 0000:00:1f.2: reg 18: [io  0xf700-0xf707]
[    2.466225] pci 0000:00:1f.2: reg 1c: [io  0xf600-0xf603]
[    2.466239] pci 0000:00:1f.2: reg 20: [io  0xf500-0xf51f]
[    2.466253] pci 0000:00:1f.2: reg 24: [mem 0xfbffc000-0xfbffc7ff]
[    2.466340] pci 0000:00:1f.2: PME# supported from D3hot
[    2.466346] pci 0000:00:1f.2: PME# disabled
[    2.466375] pci 0000:00:1f.3: [8086:3a30] type 0 class 0x000c05
[    2.466402] pci 0000:00:1f.3: reg 10: [mem 0xfbffb000-0xfbffb0ff 64bit=
]
[    2.466441] pci 0000:00:1f.3: reg 20: [io  0x0500-0x051f]
[    2.466557] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    2.466656] pci 0000:02:00.0: [10de:05e1] type 0 class 0x000300
[    2.466676] pci 0000:02:00.0: reg 10: [mem 0xf8000000-0xf8ffffff]
[    2.466696] pci 0000:02:00.0: reg 14: [mem 0xe0000000-0xefffffff 64bit=
 pref]
[    2.466717] pci 0000:02:00.0: reg 1c: [mem 0xf6000000-0xf7ffffff 64bit=
]
[    2.466730] pci 0000:02:00.0: reg 24: [io  0xef00-0xef7f]
[    2.466744] pci 0000:02:00.0: reg 30: [mem 0x00000000-0x0007ffff pref]=

[    2.472216] pci 0000:00:03.0: PCI bridge to [bus 02-02]
[    2.472227] pci 0000:00:03.0:   bridge window [io  0xe000-0xefff]
[    2.472237] pci 0000:00:03.0:   bridge window [mem 0xf6000000-0xf9ffff=
ff]
[    2.472251] pci 0000:00:03.0:   bridge window [mem 0xe0000000-0xefffff=
ff 64bit pref]
[    2.472331] pci 0000:00:07.0: PCI bridge to [bus 03-03]
[    2.472414] pci 0000:00:1c.0: PCI bridge to [bus 04-04]
[    2.472521] pci 0000:05:00.0: [197b:2363] type 0 class 0x000101
[    2.472649] pci 0000:05:00.0: reg 24: [mem 0xfbefe000-0xfbefffff]
[    2.472741] pci 0000:05:00.0: PME# supported from D3hot
[    2.472749] pci 0000:05:00.0: PME# disabled
[    2.472789] pci 0000:05:00.1: [197b:2363] type 0 class 0x000101
[    2.472824] pci 0000:05:00.1: reg 10: [io  0xdf00-0xdf07]
[    2.472845] pci 0000:05:00.1: reg 14: [io  0xde00-0xde03]
[    2.472864] pci 0000:05:00.1: reg 18: [io  0xdd00-0xdd07]
[    2.472884] pci 0000:05:00.1: reg 1c: [io  0xdc00-0xdc03]
[    2.472904] pci 0000:05:00.1: reg 20: [io  0xdb00-0xdb0f]
[    2.473025] pci 0000:05:00.0: disabling ASPM on pre-1.1 PCIe device.  =
You can enable it with 'pcie_aspm=3Dforce'
[    2.473045] pci 0000:00:1c.1: PCI bridge to [bus 05-05]
[    2.473051] pci 0000:00:1c.1:   bridge window [io  0xd000-0xdfff]
[    2.473057] pci 0000:00:1c.1:   bridge window [mem 0xfbe00000-0xfbefff=
ff]
[    2.473161] pci 0000:06:00.0: [10ec:8168] type 0 class 0x000200
[    2.473185] pci 0000:06:00.0: reg 10: [io  0xce00-0xceff]
[    2.473228] pci 0000:06:00.0: reg 18: [mem 0xfbbff000-0xfbbfffff 64bit=
 pref]
[    2.473256] pci 0000:06:00.0: reg 20: [mem 0xfbbf8000-0xfbbfbfff 64bit=
 pref]
[    2.473274] pci 0000:06:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]=

[    2.473374] pci 0000:06:00.0: supports D1 D2
[    2.473376] pci 0000:06:00.0: PME# supported from D0 D1 D2 D3hot D3col=
d
[    2.473384] pci 0000:06:00.0: PME# disabled
[    2.480327] pci 0000:00:1c.4: PCI bridge to [bus 06-06]
[    2.480338] pci 0000:00:1c.4:   bridge window [io  0xc000-0xcfff]
[    2.480348] pci 0000:00:1c.4:   bridge window [mem 0xfbc00000-0xfbcfff=
ff]
[    2.480363] pci 0000:00:1c.4:   bridge window [mem 0xfbb00000-0xfbbfff=
ff 64bit pref]
[    2.480446] pci 0000:07:06.0: [104c:8024] type 0 class 0x000c00
[    2.480475] pci 0000:07:06.0: reg 10: [mem 0xfbdff000-0xfbdff7ff]
[    2.480491] pci 0000:07:06.0: reg 14: [mem 0xfbdf8000-0xfbdfbfff]
[    2.480606] pci 0000:07:06.0: supports D1 D2
[    2.480608] pci 0000:07:06.0: PME# supported from D0 D1 D2 D3hot
[    2.480615] pci 0000:07:06.0: PME# disabled
[    2.480674] pci 0000:00:1e.0: PCI bridge to [bus 07-07] (subtractive d=
ecode)
[    2.480684] pci 0000:00:1e.0:   bridge window [mem 0xfbd00000-0xfbdfff=
ff]
[    2.480694] pci 0000:00:1e.0:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    2.480698] pci 0000:00:1e.0:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    2.480701] pci 0000:00:1e.0:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    2.480705] pci 0000:00:1e.0:   bridge window [mem 0x000c0000-0x000dff=
ff] (subtractive decode)
[    2.480708] pci 0000:00:1e.0:   bridge window [mem 0xdff00000-0xfebfff=
ff] (subtractive decode)
[    2.480766] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    2.481021] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT]
[    2.481077] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX1._PRT]
[    2.481158] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX4._PRT]
[    2.481215] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
[    2.481382]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    2.481387]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    2.481390] ACPI _OSC control for PCIe not granted, disabling ASPM
[    2.511626] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 9 10 11 1=
2 14 15)
[    2.511725] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 *11 1=
2 14 15)
[    2.511822] ACPI: PCI Interrupt Link [LNKC] (IRQs *3 4 5 6 7 9 10 11 1=
2 14 15)
[    2.511918] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 *10 11 1=
2 14 15)
[    2.512015] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12=
 14 15) *0, disabled.
[    2.512113] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 *9 10 11 1=
2 14 15)
[    2.512210] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 *7 9 10 11 1=
2 14 15)
[    2.512306] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 *4 5 6 7 9 10 11 1=
2 14 15)
[    2.512365] xen/balloon: Initialising balloon driver.
[    2.528500] xen-balloon: Initialising balloon driver.
[    2.528525] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    2.528652] vgaarb: device added: PCI:0000:02:00.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    2.528658] vgaarb: loaded
[    2.528659] vgaarb: bridge control possible 0000:02:00.0
[    2.528742] i2c-core: driver [aat2870] using legacy suspend method
[    2.528745] i2c-core: driver [aat2870] using legacy resume method
[    2.528802] SCSI subsystem initialized
[    2.528882] libata version 3.00 loaded.
[    2.528927] usbcore: registered new interface driver usbfs
[    2.528939] usbcore: registered new interface driver hub
[    2.528981] usbcore: registered new device driver usb
[    2.529085] PCI: Using ACPI for IRQ routing
[    2.531669] PCI: Discovered peer bus 3f
[    2.531705] pci 0000:3f:00.0: [8086:2c41] type 0 class 0x000600
[    2.531765] pci 0000:3f:00.1: [8086:2c01] type 0 class 0x000600
[    2.531826] pci 0000:3f:02.0: [8086:2c10] type 0 class 0x000600
[    2.531878] pci 0000:3f:02.1: [8086:2c11] type 0 class 0x000600
[    2.531936] pci 0000:3f:03.0: [8086:2c18] type 0 class 0x000600
[    2.531990] pci 0000:3f:03.1: [8086:2c19] type 0 class 0x000600
[    2.532044] pci 0000:3f:03.4: [8086:2c1c] type 0 class 0x000600
[    2.532100] pci 0000:3f:04.0: [8086:2c20] type 0 class 0x000600
[    2.532152] pci 0000:3f:04.1: [8086:2c21] type 0 class 0x000600
[    2.532203] pci 0000:3f:04.2: [8086:2c22] type 0 class 0x000600
[    2.532255] pci 0000:3f:04.3: [8086:2c23] type 0 class 0x000600
[    2.532312] pci 0000:3f:05.0: [8086:2c28] type 0 class 0x000600
[    2.532364] pci 0000:3f:05.1: [8086:2c29] type 0 class 0x000600
[    2.532417] pci 0000:3f:05.2: [8086:2c2a] type 0 class 0x000600
[    2.532470] pci 0000:3f:05.3: [8086:2c2b] type 0 class 0x000600
[    2.532527] pci 0000:3f:06.0: [8086:2c30] type 0 class 0x000600
[    2.532579] pci 0000:3f:06.1: [8086:2c31] type 0 class 0x000600
[    2.532631] pci 0000:3f:06.2: [8086:2c32] type 0 class 0x000600
[    2.532683] pci 0000:3f:06.3: [8086:2c33] type 0 class 0x000600
[    2.533181] PCI: pci_cache_line_size set to 64 bytes
[    2.533395] reserve RAM buffer: 0000000000097000 - 000000000009ffff=20
[    2.533399] reserve RAM buffer: 00000000dfee0000 - 00000000dfffffff=20
[    2.533402] reserve RAM buffer: 0000000180120000 - 0000000183ffffff=20
[    2.533484] NetLabel: Initializing
[    2.533487] NetLabel:  domain hash size =3D 128
[    2.533489] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    2.533498] NetLabel:  unlabeled traffic allowed by default
[    2.533578] Switching to clocksource xen
[    2.539394] AppArmor: AppArmor Filesystem Enabled
[    2.539411] pnp: PnP ACPI init
[    2.539420] ACPI: bus type pnp registered
[    2.539581] pnp 00:00: [bus 00-3f]
[    2.539585] pnp 00:00: [io  0x0cf8-0x0cff]
[    2.539587] pnp 00:00: [io  0x0000-0x0cf7 window]
[    2.539590] pnp 00:00: [io  0x0d00-0xffff window]
[    2.539593] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    2.539596] pnp 00:00: [mem 0x000c0000-0x000dffff window]
[    2.539598] pnp 00:00: [mem 0xdff00000-0xfebfffff window]
[    2.539673] pnp 00:00: Plug and Play ACPI device, IDs PNP0a03 (active)=

[    2.539822] pnp 00:01: [io  0x0010-0x001f]
[    2.539825] pnp 00:01: [io  0x0022-0x003f]
[    2.539827] pnp 00:01: [io  0x0044-0x005f]
[    2.539830] pnp 00:01: [io  0x0062-0x0063]
[    2.539832] pnp 00:01: [io  0x0065-0x006f]
[    2.539834] pnp 00:01: [io  0x0074-0x007f]
[    2.539837] pnp 00:01: [io  0x0091-0x0093]
[    2.539839] pnp 00:01: [io  0x00a2-0x00bf]
[    2.539841] pnp 00:01: [io  0x00e0-0x00ef]
[    2.539844] pnp 00:01: [io  0x04d0-0x04d1]
[    2.539846] pnp 00:01: [io  0x0290-0x029f]
[    2.539848] pnp 00:01: [io  0x0800-0x087f]
[    2.539850] pnp 00:01: [io  0x0290-0x0294]
[    2.539853] pnp 00:01: [io  0x0880-0x088f]
[    2.539927] system 00:01: [io  0x04d0-0x04d1] has been reserved
[    2.539930] system 00:01: [io  0x0290-0x029f] has been reserved
[    2.539934] system 00:01: [io  0x0800-0x087f] has been reserved
[    2.539937] system 00:01: [io  0x0290-0x0294] has been reserved
[    2.539940] system 00:01: [io  0x0880-0x088f] has been reserved
[    2.539944] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    2.539964] pnp 00:02: [dma 4]
[    2.539966] pnp 00:02: [io  0x0000-0x000f]
[    2.539968] pnp 00:02: [io  0x0080-0x0090]
[    2.539971] pnp 00:02: [io  0x0094-0x009f]
[    2.539973] pnp 00:02: [io  0x00c0-0x00df]
[    2.540007] pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)=

[    2.540105] pnp 00:03: [irq 0 disabled]
[    2.540109] xen: registering gsi 8 triggering 1 polarity 0
[    2.540114] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    2.540116] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    2.540123] pnp 00:03: [irq 8]
[    2.540125] pnp 00:03: [mem 0xfed00000-0xfed003ff]
[    2.540166] pnp 00:03: Plug and Play ACPI device, IDs PNP0103 (active)=

[    2.540220] pnp 00:04: [io  0x0070-0x0073]
[    2.540260] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    2.540276] pnp 00:05: [io  0x0061]
[    2.540313] pnp 00:05: Plug and Play ACPI device, IDs PNP0800 (active)=

[    2.540327] pnp 00:06: [io  0x00f0-0x00ff]
[    2.540330] xen: registering gsi 13 triggering 1 polarity 0
[    2.540334] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    2.540336] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    2.540341] pnp 00:06: [irq 13]
[    2.540380] pnp 00:06: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    2.540755] pnp 00:07: [io  0x0400-0x04cf]
[    2.540758] pnp 00:07: [io  0x04d2-0x04ff]
[    2.540828] system 00:07: [io  0x0400-0x04cf] has been reserved
[    2.540832] system 00:07: [io  0x04d2-0x04ff] has been reserved
[    2.540836] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    2.541231] pnp 00:08: [mem 0xf0000000-0xf3ffffff]
[    2.541316] system 00:08: [mem 0xf0000000-0xf3ffffff] has been reserve=
d
[    2.541320] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    2.541752] pnp 00:09: [mem 0x000d5200-0x000d7fff]
[    2.541756] pnp 00:09: [mem 0x000f0000-0x000f7fff]
[    2.541758] pnp 00:09: [mem 0x000f8000-0x000fbfff]
[    2.541761] pnp 00:09: [mem 0x000fc000-0x000fffff]
[    2.541764] pnp 00:09: [mem 0xdfee0000-0xdfefffff]
[    2.541766] pnp 00:09: [mem 0x00000000-0x0009ffff]
[    2.541769] pnp 00:09: [mem 0x00100000-0xdfedffff]
[    2.541771] pnp 00:09: [mem 0xfec00000-0xfec00fff]
[    2.541774] pnp 00:09: [mem 0xfed10000-0xfed1dfff]
[    2.541776] pnp 00:09: [mem 0xfed20000-0xfed8ffff]
[    2.541779] pnp 00:09: [mem 0xfee00000-0xfee00fff]
[    2.541781] pnp 00:09: [mem 0xffb00000-0xffb7ffff]
[    2.541784] pnp 00:09: [mem 0xfff00000-0xffffffff]
[    2.541786] pnp 00:09: [mem 0x000e0000-0x000effff]
[    2.541878] system 00:09: [mem 0x000d5200-0x000d7fff] could not be res=
erved
[    2.541881] system 00:09: [mem 0x000f0000-0x000f7fff] could not be res=
erved
[    2.541885] system 00:09: [mem 0x000f8000-0x000fbfff] could not be res=
erved
[    2.541888] system 00:09: [mem 0x000fc000-0x000fffff] could not be res=
erved
[    2.541891] system 00:09: [mem 0xdfee0000-0xdfefffff] could not be res=
erved
[    2.541894] system 00:09: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    2.541897] system 00:09: [mem 0x00100000-0xdfedffff] could not be res=
erved
[    2.541901] system 00:09: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    2.541904] system 00:09: [mem 0xfed10000-0xfed1dfff] has been reserve=
d
[    2.541907] system 00:09: [mem 0xfed20000-0xfed8ffff] has been reserve=
d
[    2.541910] system 00:09: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    2.541914] system 00:09: [mem 0xffb00000-0xffb7ffff] has been reserve=
d
[    2.541917] system 00:09: [mem 0xfff00000-0xffffffff] has been reserve=
d
[    2.541920] system 00:09: [mem 0x000e0000-0x000effff] could not be res=
erved
[    2.541924] system 00:09: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    2.541960] pnp 00:0a: [mem 0xffb80000-0xffbfffff]
[    2.542018] pnp 00:0a: Plug and Play ACPI device, IDs INT0800 (active)=

[    2.542028] pnp: PnP ACPI: found 11 devices
[    2.542030] ACPI: ACPI bus type pnp unregistered
[    2.548697] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    2.548723] PCI: max bus depth: 1 pci_try_num: 2
[    2.548819] pci 0000:00:1c.1: BAR 15: assigned [mem 0xf4000000-0xf41ff=
fff 64bit pref]
[    2.548824] pci 0000:00:1c.0: BAR 14: assigned [mem 0xf4200000-0xf43ff=
fff]
[    2.548827] pci 0000:00:1c.0: BAR 15: assigned [mem 0xf4400000-0xf45ff=
fff 64bit pref]
[    2.548832] pci 0000:00:1c.0: BAR 13: assigned [io  0x1000-0x1fff]
[    2.548835] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    2.548852] pci 0000:02:00.0: BAR 6: assigned [mem 0xf9000000-0xf907ff=
ff pref]
[    2.548855] pci 0000:00:03.0: PCI bridge to [bus 02-02]
[    2.548860] pci 0000:00:03.0:   bridge window [io  0xe000-0xefff]
[    2.548867] pci 0000:00:03.0:   bridge window [mem 0xf6000000-0xf9ffff=
ff]
[    2.548873] pci 0000:00:03.0:   bridge window [mem 0xe0000000-0xefffff=
ff 64bit pref]
[    2.548882] pci 0000:00:07.0: PCI bridge to [bus 03-03]
[    2.548897] pci 0000:00:1c.0: PCI bridge to [bus 04-04]
[    2.548902] pci 0000:00:1c.0:   bridge window [io  0x1000-0x1fff]
[    2.548910] pci 0000:00:1c.0:   bridge window [mem 0xf4200000-0xf43fff=
ff]
[    2.548916] pci 0000:00:1c.0:   bridge window [mem 0xf4400000-0xf45fff=
ff 64bit pref]
[    2.548926] pci 0000:00:1c.1: PCI bridge to [bus 05-05]
[    2.548930] pci 0000:00:1c.1:   bridge window [io  0xd000-0xdfff]
[    2.548938] pci 0000:00:1c.1:   bridge window [mem 0xfbe00000-0xfbefff=
ff]
[    2.548944] pci 0000:00:1c.1:   bridge window [mem 0xf4000000-0xf41fff=
ff 64bit pref]
[    2.548955] pci 0000:06:00.0: BAR 6: assigned [mem 0xfbb00000-0xfbb1ff=
ff pref]
[    2.548958] pci 0000:00:1c.4: PCI bridge to [bus 06-06]
[    2.548962] pci 0000:00:1c.4:   bridge window [io  0xc000-0xcfff]
[    2.548970] pci 0000:00:1c.4:   bridge window [mem 0xfbc00000-0xfbcfff=
ff]
[    2.548976] pci 0000:00:1c.4:   bridge window [mem 0xfbb00000-0xfbbfff=
ff 64bit pref]
[    2.548986] pci 0000:00:1e.0: PCI bridge to [bus 07-07]
[    2.548993] pci 0000:00:1e.0:   bridge window [mem 0xfbd00000-0xfbdfff=
ff]
[    2.549012] xen: registering gsi 16 triggering 0 polarity 1
[    2.549023] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549028] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549036] pci 0000:00:01.0: setting latency timer to 64
[    2.549044] xen: registering gsi 16 triggering 0 polarity 1
[    2.549047] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549050] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549052] Already setup the GSI :16
[    2.549055] pci 0000:00:03.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549061] pci 0000:00:03.0: setting latency timer to 64
[    2.549068] xen: registering gsi 16 triggering 0 polarity 1
[    2.549071] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549074] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549076] Already setup the GSI :16
[    2.549079] pci 0000:00:07.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549086] pci 0000:00:07.0: setting latency timer to 64
[    2.549096] pci 0000:00:1c.0: enabling device (0000 -> 0003)
[    2.549100] xen: registering gsi 16 triggering 0 polarity 1
[    2.549103] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549106] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549108] Already setup the GSI :16
[    2.549111] pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549119] pci 0000:00:1c.0: setting latency timer to 64
[    2.549127] xen: registering gsi 17 triggering 0 polarity 1
[    2.549133] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.549138] pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    2.549144] pci 0000:00:1c.1: setting latency timer to 64
[    2.549153] xen: registering gsi 16 triggering 0 polarity 1
[    2.549156] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549159] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549161] Already setup the GSI :16
[    2.549164] pci 0000:00:1c.4: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549170] pci 0000:00:1c.4: setting latency timer to 64
[    2.549181] pci 0000:00:1e.0: setting latency timer to 64
[    2.549186] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    2.549189] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    2.549192] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    2.549195] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000dffff]
[    2.549198] pci_bus 0000:00: resource 8 [mem 0xdff00000-0xfebfffff]
[    2.549201] pci_bus 0000:02: resource 0 [io  0xe000-0xefff]
[    2.549205] pci_bus 0000:02: resource 1 [mem 0xf6000000-0xf9ffffff]
[    2.549208] pci_bus 0000:02: resource 2 [mem 0xe0000000-0xefffffff 64b=
it pref]
[    2.549213] pci_bus 0000:04: resource 0 [io  0x1000-0x1fff]
[    2.549216] pci_bus 0000:04: resource 1 [mem 0xf4200000-0xf43fffff]
[    2.549220] pci_bus 0000:04: resource 2 [mem 0xf4400000-0xf45fffff 64b=
it pref]
[    2.549224] pci_bus 0000:05: resource 0 [io  0xd000-0xdfff]
[    2.549228] pci_bus 0000:05: resource 1 [mem 0xfbe00000-0xfbefffff]
[    2.549232] pci_bus 0000:05: resource 2 [mem 0xf4000000-0xf41fffff 64b=
it pref]
[    2.549236] pci_bus 0000:06: resource 0 [io  0xc000-0xcfff]
[    2.549239] pci_bus 0000:06: resource 1 [mem 0xfbc00000-0xfbcfffff]
[    2.549243] pci_bus 0000:06: resource 2 [mem 0xfbb00000-0xfbbfffff 64b=
it pref]
[    2.549247] pci_bus 0000:07: resource 1 [mem 0xfbd00000-0xfbdfffff]
[    2.549251] pci_bus 0000:07: resource 4 [io  0x0000-0x0cf7]
[    2.549254] pci_bus 0000:07: resource 5 [io  0x0d00-0xffff]
[    2.549258] pci_bus 0000:07: resource 6 [mem 0x000a0000-0x000bffff]
[    2.549262] pci_bus 0000:07: resource 7 [mem 0x000c0000-0x000dffff]
[    2.549265] pci_bus 0000:07: resource 8 [mem 0xdff00000-0xfebfffff]
[    2.549269] pci_bus 0000:3f: resource 0 [io  0x0000-0xffff]
[    2.549272] pci_bus 0000:3f: resource 1 [mem 0x00000000-0xfffffffff]
[    2.549307] NET: Registered protocol family 2
[    2.549520] IP route cache hash table entries: 65536 (order: 7, 524288=
 bytes)
[    2.550969] TCP established hash table entries: 262144 (order: 10, 419=
4304 bytes)
[    2.551996] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    2.552158] TCP: Hash tables configured (established 262144 bind 65536=
)
[    2.552161] TCP reno registered
[    2.552204] UDP hash table entries: 4096 (order: 5, 131072 bytes)
[    2.552268] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes)=

[    2.552352] NET: Registered protocol family 1
[    2.552399] xen: registering gsi 16 triggering 0 polarity 1
[    2.552405] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.552407] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.552410] Already setup the GSI :16
[    2.552413] pci 0000:00:1a.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.552437] pci 0000:00:1a.0: PCI INT A disabled
[    2.552446] xen: registering gsi 21 triggering 0 polarity 1
[    2.552453] xen: --> pirq=3D21 -> irq=3D21 (gsi=3D21)
[    2.552458] pci 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) -> IRQ =
21
[    2.552481] pci 0000:00:1a.1: PCI INT B disabled
[    2.552489] xen: registering gsi 18 triggering 0 polarity 1
[    2.552495] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.552500] pci 0000:00:1a.2: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    2.552523] pci 0000:00:1a.2: PCI INT C disabled
[    2.552533] xen: registering gsi 18 triggering 0 polarity 1
[    2.552536] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.552539] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.552541] Already setup the GSI :18
[    2.552544] pci 0000:00:1a.7: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    2.565694] pci 0000:00:1a.7: PCI INT C disabled
[    2.565728] xen: registering gsi 23 triggering 0 polarity 1
[    2.565736] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.565741] pci 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ =
23
[    2.565763] pci 0000:00:1d.0: PCI INT A disabled
[    2.565772] xen: registering gsi 19 triggering 0 polarity 1
[    2.565778] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    2.565782] pci 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    2.565805] pci 0000:00:1d.1: PCI INT B disabled
[    2.565813] xen: registering gsi 18 triggering 0 polarity 1
[    2.565816] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.565819] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.565821] Already setup the GSI :18
[    2.565824] pci 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    2.565846] pci 0000:00:1d.2: PCI INT C disabled
[    2.565857] xen: registering gsi 23 triggering 0 polarity 1
[    2.565860] xen_map_pirq_gsi: returning irq 23 for gsi 23
[    2.565862] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.565865] Already setup the GSI :23
[    2.565867] pci 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ =
23
[    2.581691] pci 0000:00:1d.7: PCI INT A disabled
[    2.581738] pci 0000:02:00.0: Boot video device
[    2.581791] PCI: CLS 64 bytes, default 64
[    2.582332] audit: initializing netlink socket (disabled)
[    2.582344] type=3D2000 audit(1336124227.574:1): initialized
[    2.601350] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    2.602798] VFS: Disk quotas dquot_6.5.2
[    2.602848] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.603292] fuse init (API version 7.17)
[    2.603394] msgmni has been set to 655
[    2.603880] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    2.603921] io scheduler noop registered
[    2.603925] io scheduler deadline registered
[    2.603959] io scheduler cfq registered (default)
[    2.604276] pcieport 0000:00:1c.0: setting latency timer to 64
[    2.604443] pcieport 0000:00:1c.1: setting latency timer to 64
[    2.604593] pcieport 0000:00:1c.4: setting latency timer to 64
[    2.604763] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    2.604784] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    2.604895] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    2.604901] ACPI: Power Button [PWRB]
[    2.604945] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    2.604949] ACPI: Power Button [PWRF]
[    2.609738] ERST: Table is not found!
[    2.609742] GHES: HEST is not enabled!
[    2.610105] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    2.764246] hpet_acpi_add: no address or irqs in _CRS
[    2.764262] Linux agpgart interface v0.103
[    2.765650] brd: module loaded
[    2.766434] loop: module loaded
[    2.766554] ahci 0000:00:1f.2: version 3.0
[    2.766567] xen: registering gsi 19 triggering 0 polarity 1
[    2.766572] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    2.766575] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    2.766578] Already setup the GSI :19
[    2.766581] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ=
 19
[    2.766663] ahci 0000:00:1f.2: controller can't do SNTF, turning off C=
AP_SNTF
[    2.766686] ahci: SSS flag set, parallel bus scan disabled
[    2.766725] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps =
0x3f impl RAID mode
[    2.766729] ahci 0000:00:1f.2: flags: 64bit ncq stag pm led clo pmp pi=
o slum part ccc ems=20
[    2.766736] ahci 0000:00:1f.2: setting latency timer to 64
[    2.806086] scsi0 : ahci
[    2.806164] scsi1 : ahci
[    2.806231] scsi2 : ahci
[    2.806301] scsi3 : ahci
[    2.806367] scsi4 : ahci
[    2.806433] scsi5 : ahci
[    2.806671] ata1: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
100 irq 325
[    2.806676] ata2: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
180 irq 325
[    2.806679] ata3: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
200 irq 325
[    2.806683] ata4: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
280 irq 325
[    2.806687] ata5: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
300 irq 325
[    2.806690] ata6: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
380 irq 325
[    2.806715] xen: registering gsi 17 triggering 0 polarity 1
[    2.806719] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.806722] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.806724] Already setup the GSI :17
[    2.806727] ahci 0000:05:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ=
 17
[    2.821697] ahci 0000:05:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps =
0x3 impl SATA mode
[    2.821705] ahci 0000:05:00.0: flags: 64bit ncq pm led clo pmp pio slu=
m part=20
[    2.821717] ahci 0000:05:00.0: setting latency timer to 64
[    2.821961] scsi6 : ahci
[    2.822036] scsi7 : ahci
[    2.822147] ata7: SATA max UDMA/133 abar m8192@0xfbefe000 port 0xfbefe=
100 irq 17
[    2.822152] ata8: SATA max UDMA/133 abar m8192@0xfbefe000 port 0xfbefe=
180 irq 17
[    2.822245] pata_acpi 0000:05:00.1: enabling device (0000 -> 0001)
[    2.822252] xen: registering gsi 18 triggering 0 polarity 1
[    2.822257] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.822259] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.822262] Already setup the GSI :18
[    2.822265] pata_acpi 0000:05:00.1: PCI INT B -> GSI 18 (level, low) -=
> IRQ 18
[    2.822293] pata_acpi 0000:05:00.1: setting latency timer to 64
[    2.822308] pata_acpi 0000:05:00.1: PCI INT B disabled
[    2.822536] Fixed MDIO Bus: probed
[    2.822551] tun: Universal TUN/TAP device driver, 1.6
[    2.822553] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    2.822607] PPP generic driver version 2.4.2
[    2.822704] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    2.822722] xen: registering gsi 18 triggering 0 polarity 1
[    2.822727] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.822729] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.822732] Already setup the GSI :18
[    2.822735] ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.822753] ehci_hcd 0000:00:1a.7: setting latency timer to 64
[    2.822758] ehci_hcd 0000:00:1a.7: EHCI Host Controller
[    2.822803] ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bu=
s number 1
[    2.822850] ehci_hcd 0000:00:1a.7: debug port 1
[    2.826735] ehci_hcd 0000:00:1a.7: cache line size of 64 is not suppor=
ted
[    2.826753] ehci_hcd 0000:00:1a.7: irq 18, io mem 0xfbffe000
[    2.841667] ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00
[    2.841804] hub 1-0:1.0: USB hub found
[    2.841809] hub 1-0:1.0: 6 ports detected
[    2.841884] xen: registering gsi 23 triggering 0 polarity 1
[    2.841888] xen_map_pirq_gsi: returning irq 23 for gsi 23
[    2.841891] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.841893] Already setup the GSI :23
[    2.841896] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) ->=
 IRQ 23
[    2.841914] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    2.841919] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    2.841966] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bu=
s number 2
[    2.842007] ehci_hcd 0000:00:1d.7: debug port 1
[    2.845901] ehci_hcd 0000:00:1d.7: cache line size of 64 is not suppor=
ted
[    2.845919] ehci_hcd 0000:00:1d.7: irq 23, io mem 0xfbffd000
[    2.861667] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    2.861792] hub 2-0:1.0: USB hub found
[    2.861797] hub 2-0:1.0: 6 ports detected
[    2.861871] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.861886] uhci_hcd: USB Universal Host Controller Interface driver
[    2.861905] xen: registering gsi 16 triggering 0 polarity 1
[    2.861909] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.861912] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.861914] Already setup the GSI :16
[    2.861917] uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    2.861930] uhci_hcd 0000:00:1a.0: setting latency timer to 64
[    2.861934] uhci_hcd 0000:00:1a.0: UHCI Host Controller
[    2.861981] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bu=
s number 3
[    2.862024] uhci_hcd 0000:00:1a.0: irq 16, io base 0x0000ff00
[    2.862160] hub 3-0:1.0: USB hub found
[    2.862165] hub 3-0:1.0: 2 ports detected
[    2.862233] xen: registering gsi 21 triggering 0 polarity 1
[    2.862237] xen_map_pirq_gsi: returning irq 21 for gsi 21
[    2.862240] xen: --> pirq=3D21 -> irq=3D21 (gsi=3D21)
[    2.862242] Already setup the GSI :21
[    2.862245] uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) ->=
 IRQ 21
[    2.862255] uhci_hcd 0000:00:1a.1: setting latency timer to 64
[    2.862260] uhci_hcd 0000:00:1a.1: UHCI Host Controller
[    2.862310] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bu=
s number 4
[    2.862352] uhci_hcd 0000:00:1a.1: irq 21, io base 0x0000fe00
[    2.862479] hub 4-0:1.0: USB hub found
[    2.862484] hub 4-0:1.0: 2 ports detected
[    2.862551] xen: registering gsi 18 triggering 0 polarity 1
[    2.862556] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.862559] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.862561] Already setup the GSI :18
[    2.862564] uhci_hcd 0000:00:1a.2: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.862574] uhci_hcd 0000:00:1a.2: setting latency timer to 64
[    2.862579] uhci_hcd 0000:00:1a.2: UHCI Host Controller
[    2.862626] uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bu=
s number 5
[    2.862656] uhci_hcd 0000:00:1a.2: irq 18, io base 0x0000fd00
[    2.862781] hub 5-0:1.0: USB hub found
[    2.862786] hub 5-0:1.0: 2 ports detected
[    2.862854] xen: registering gsi 23 triggering 0 polarity 1
[    2.862858] xen_map_pirq_gsi: returning irq 23 for gsi 23
[    2.862861] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.862864] Already setup the GSI :23
[    2.862867] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) ->=
 IRQ 23
[    2.862877] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    2.862881] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    2.862928] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bu=
s number 6
[    2.862959] uhci_hcd 0000:00:1d.0: irq 23, io base 0x0000fc00
[    2.863090] hub 6-0:1.0: USB hub found
[    2.863095] hub 6-0:1.0: 2 ports detected
[    2.863165] xen: registering gsi 19 triggering 0 polarity 1
[    2.863169] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    2.863172] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    2.863174] Already setup the GSI :19
[    2.863177] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    2.863187] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    2.863192] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    2.863239] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bu=
s number 7
[    2.863282] uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000fb00
[    2.863406] hub 7-0:1.0: USB hub found
[    2.863411] hub 7-0:1.0: 2 ports detected
[    2.863478] xen: registering gsi 18 triggering 0 polarity 1
[    2.863483] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.863486] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.863488] Already setup the GSI :18
[    2.863491] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.863501] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    2.863506] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    2.863556] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bu=
s number 8
[    2.863588] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000fa00
[    2.863713] hub 8-0:1.0: USB hub found
[    2.863718] hub 8-0:1.0: 2 ports detected
[    2.863832] usbcore: registered new interface driver libusual
[    2.863860] i8042: PNP: No PS/2 controller found. Probing ports direct=
ly.
[    2.864282] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.864290] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.864434] mousedev: PS/2 mouse device common for all mice
[    2.864615] rtc_cmos 00:04: RTC can wake from S4
[    2.864746] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.864778] rtc0: alarms up to one month, 242 bytes nvram
[    2.864840] device-mapper: uevent: version 1.0.3
[    2.864917] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.864924] EFI Variables Facility v0.08 2004-May-17
[    2.865139] TCP cubic registered
[    2.865218] NET: Registered protocol family 10
[    2.865693] NET: Registered protocol family 17
[    2.865709] Registering the dns_resolver key type
[    2.865853] PM: Hibernation image not present or could not be loaded.
[    2.865863] registered taskstats version 1
[    2.874865]   Magic number: 12:825:625
[    2.874953] rtc_cmos 00:04: setting system clock to 2012-05-04 09:37:0=
7 UTC (1336124227)
[    2.875310] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.875313] EDD information not available.
[    3.125677] ata1: SATA link down (SStatus 0 SControl 300)
[    3.209669] usb 1-2: new high-speed USB device number 3 using ehci_hcd=

[    3.313680] ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    3.313711] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    3.314188] ata8.00: ATAPI: TSSTcorp CDDVDW SH-S223Q, SB02, max UDMA/1=
00
[    3.314514] ata7.00: HPA detected: current 976771055, native 976773168=

[    3.314603] ata7.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    3.314610] ata7.00: 976771055 sectors, multi 16: LBA48 NCQ (depth 31/=
32), AA
[    3.314919] ata8.00: configured for UDMA/100
[    3.315569] ata7.00: configured for UDMA/133
[    3.343469] hub 1-2:1.0: USB hub found
[    3.343799] hub 1-2:1.0: 4 ports detected
[    3.445676] ata2: SATA link down (SStatus 0 SControl 300)
[    3.581676] usb 3-1: new low-speed USB device number 2 using uhci_hcd
[    3.845940] usb 1-2.1: new full-speed USB device number 4 using ehci_h=
cd
[    3.937680] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    3.938574] ata3.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    3.938581] ata3.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    3.939522] ata3.00: configured for UDMA/133
[    3.939618] scsi 2:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    3.939738] sd 2:0:0:0: [sda] 976773168 512-byte logical blocks: (500 =
GB/465 GiB)
[    3.939764] sd 2:0:0:0: Attached scsi generic sg0 type 0
[    3.939857] sd 2:0:0:0: [sda] Write Protect is off
[    3.939862] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    3.939910] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    3.952649]  sda: sda1 < >
[    3.952948] sd 2:0:0:0: [sda] Attached SCSI disk
[    4.013936] usb 1-2.3: new high-speed USB device number 5 using ehci_h=
cd
[    4.107479] hub 1-2.3:1.0: USB hub found
[    4.107808] hub 1-2.3:1.0: 4 ports detected
[    4.257672] ata4: SATA link down (SStatus 0 SControl 300)
[    4.377921] usb 1-2.3.3: new low-speed USB device number 6 using ehci_=
hcd
[    4.749671] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    4.750538] ata5.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    4.750545] ata5.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    4.751475] ata5.00: configured for UDMA/133
[    4.751552] scsi 4:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    4.751681] sd 4:0:0:0: Attached scsi generic sg1 type 0
[    4.751686] sd 4:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 =
GB/465 GiB)
[    4.751768] sd 4:0:0:0: [sdb] Write Protect is off
[    4.751772] sd 4:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    4.751797] sd 4:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    4.759298]  sdb: sdb1 < sdb5 >
[    4.759566] sd 4:0:0:0: [sdb] Attached SCSI disk
[    5.241676] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    5.242570] ata6.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    5.242577] ata6.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    5.243554] ata6.00: configured for UDMA/133
[    5.243619] scsi 5:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    5.243730] sd 5:0:0:0: [sdc] 976773168 512-byte logical blocks: (500 =
GB/465 GiB)
[    5.243742] sd 5:0:0:0: Attached scsi generic sg2 type 0
[    5.243804] sd 5:0:0:0: [sdc] Write Protect is off
[    5.243809] sd 5:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    5.243837] sd 5:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    5.243867] scsi 6:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    5.243993] sd 6:0:0:0: [sdd] 976771055 512-byte logical blocks: (500 =
GB/465 GiB)
[    5.244017] sd 6:0:0:0: Attached scsi generic sg3 type 0
[    5.244084] sd 6:0:0:0: [sdd] Write Protect is off
[    5.244089] sd 6:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    5.244155] sd 6:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    5.244645] scsi 7:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223Q  =
SB02 PQ: 0 ANSI: 5
[    5.247992] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    5.247999] cdrom: Uniform CD-ROM driver Revision: 3.20
[    5.248118] sr 7:0:0:0: Attached scsi CD-ROM sr0
[    5.248197] sr 7:0:0:0: Attached scsi generic sg4 type 5
[    5.250149]  sdc: unknown partition table
[    5.250336] sd 5:0:0:0: [sdc] Attached SCSI disk
[    5.267374]  sdd: sdd1 sdd2 sdd3 sdd4
[    5.267760] sd 6:0:0:0: [sdd] Attached SCSI disk
[    5.268071] Freeing unused kernel memory: 920k freed
[    5.268219] Write protecting the kernel read-only data: 12288k
[    5.272885] Freeing unused kernel memory: 1520k freed
[    5.273494] Freeing unused kernel memory: 1140k freed
[    5.308013] udevd[132]: starting version 175
[    5.331716] xor: automatically using best checksumming function: gener=
ic_sse
[    5.349663]    generic_sse:  2980.000 MB/sec
[    5.349671] xor: using function: generic_sse (2980.000 MB/sec)
[    5.350809] device-mapper: dm-raid45: initialized v0.2594b
[    5.390280] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    5.390312] xen: registering gsi 16 triggering 0 polarity 1
[    5.390324] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    5.390329] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    5.390335] Already setup the GSI :16
[    5.390341] r8169 0000:06:00.0: PCI INT A -> GSI 16 (level, low) -> IR=
Q 16
[    5.390390] r8169 0000:06:00.0: setting latency timer to 64
[    5.391065] r8169 0000:06:00.0: eth0: RTL8168d/8111d at 0xffffc90000c2=
a000, 00:1f:d0:dc:30:92, XID 081000c0 IRQ 326
[    5.391072] r8169 0000:06:00.0: eth0: jumbo features [frames: 9200 byt=
es, tx checksumming: ko]
[    5.400017] xen: registering gsi 18 triggering 0 polarity 1
[    5.400028] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    5.400033] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    5.400037] Already setup the GSI :18
[    5.400045] firewire_ohci 0000:07:06.0: PCI INT A -> GSI 18 (level, lo=
w) -> IRQ 18
[    5.426325] input: HID 046a:0011 as /devices/pci0000:00/0000:00:1a.0/u=
sb3/3-1/3-1:1.0/input/input2
[    5.426466] generic-usb 0003:046A:0011.0001: input,hidraw0: USB HID v1=
=2E11 Keyboard [HID 046a:0011] on usb-0000:00:1a.0-1/input0
[    5.444109] input: Microsoft SideWinder Force Feedback 2 Joystick as /=
devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2.1/1-2.1:1.0/input/input3
[    5.453759] firewire_ohci: Added fw-ohci device 0000:07:06.0, OHCI v1.=
10, 4 IR + 8 IT contexts, quirks 0x2
[    5.457035] generic-usb 0003:045E:001B.0002: device reports 0 simultan=
eous effects
[    5.466411] generic-usb 0003:045E:001B.0002: pid_block_load failed 60 =
times
[    5.466415] generic-usb 0003:045E:001B.0002: upload request failed
[    5.466422] generic-usb 0003:045E:001B.0002: input,hidraw1: USB HID v1=
=2E00 Joystick [Microsoft SideWinder Force Feedback 2 Joystick] on usb-00=
00:00:1a.7-2.1/input0
[    5.468987] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000=
:00/0000:00:1a.7/usb1/1-2/1-2.3/1-2.3.3/1-2.3.3:1.0/input/input4
[    5.469093] generic-usb 0003:046D:C03F.0003: input,hidraw2: USB HID v1=
=2E10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.7-2.3.3/i=
nput0
[    5.469114] usbcore: registered new interface driver usbhid
[    5.469116] usbhid: USB HID core driver
[    5.887488] EXT4-fs (dm-0): mounted filesystem with ordered data mode.=
 Opts: (null)
[    5.953765] firewire_core: created device fw0: GUID 00ac14fa00001fd0, =
S400
[    6.089730] device-mapper: dm-raid45: /dev/sda is raid disk 0
[    6.089735] device-mapper: dm-raid45: /dev/sdb is raid disk 1
[    6.089738] device-mapper: dm-raid45: /dev/sdc is raid disk 2
[    6.089742] device-mapper: dm-raid45: 128/128/256 sectors chunk/io/rec=
overy size, 80 stripes
[    6.089743] algorithm "xor_32", 8 chunks with 9687MB/s
[    6.089744] RAID5 (left asymmetric) set with net 2/3 devices
[   12.114699] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   12.138489] udevd[813]: starting version 175
[   12.142198] Adding 8000364k swap on /dev/sdd3.  Priority:-1 extents:1 =
across:8000364k=20
[   12.154311] lp: driver loaded but no devices found
[   12.163818] it87: Found IT8720F chip at 0x290, revision 5
[   12.163831] it87: VID is disabled (pins used for GPIO)
[   12.163850] it87: Routing internal VCCH to in7
[   12.163857] it87: Beeping is supported
[   12.180420] wmi: Mapper loaded
[   12.184995] [drm] Initialized drm 1.1.0 20060810
[   12.200678] EDAC MC: Ver: 2.1.0
[   12.202418] EDAC MC0: Giving out device to 'i7core_edac.c' 'i7 core #0=
': DEV 0000:3f:03.0
[   12.202444] EDAC PCI0: Giving out device to module 'i7core_edac' contr=
oller 'EDAC PCI controller': DEV '0000:3f:03.0' (POLLED)
[   12.202451] EDAC i7core: Driver loaded, 1 memory controller(s) found.
[   12.216439] xen: registering gsi 22 triggering 0 polarity 1
[   12.216454] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[   12.216462] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, lo=
w) -> IRQ 22
[   12.216611] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[   12.217497] xen: registering gsi 18 triggering 0 polarity 1
[   12.217502] xen_map_pirq_gsi: returning irq 18 for gsi 18
[   12.217505] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[   12.217508] Already setup the GSI :18
[   12.217512] pata_jmicron 0000:05:00.1: PCI INT B -> GSI 18 (level, low=
) -> IRQ 18
[   12.217548] pata_jmicron 0000:05:00.1: setting latency timer to 64
[   12.218032] scsi8 : pata_jmicron
[   12.218152] scsi9 : pata_jmicron
[   12.219786] ata9: PATA max UDMA/100 cmd 0xdf00 ctl 0xde00 bmdma 0xdb00=
 irq 18
[   12.219790] ata10: PATA max UDMA/100 cmd 0xdd00 ctl 0xdc00 bmdma 0xdb0=
8 irq 18
[   12.263346] device-mapper: multipath: version 1.3.0 loaded
[   12.336747] EXT4-fs (dm-0): re-mounted. Opts: errors=3Dremount-ro
[   12.542332] hda_codec: ALC888: BIOS auto-probing.
[   12.543375] Bridge firewalling registered
[   12.548962] device eth0 entered promiscuous mode
[   12.551463] input: HDA Intel Line as /devices/pci0000:00/0000:00:1b.0/=
sound/card0/input5
[   12.551572] input: HDA Intel Front Mic as /devices/pci0000:00/0000:00:=
1b.0/sound/card0/input6
[   12.551683] input: HDA Intel Rear Mic as /devices/pci0000:00/0000:00:1=
b.0/sound/card0/input7
[   12.551935] input: HDA Intel Front Headphone as /devices/pci0000:00/00=
00:00:1b.0/sound/card0/input8
[   12.552150] input: HDA Intel Line-Out Side as /devices/pci0000:00/0000=
:00:1b.0/sound/card0/input9
[   12.552297] input: HDA Intel Line-Out CLFE as /devices/pci0000:00/0000=
:00:1b.0/sound/card0/input10
[   12.552399] input: HDA Intel Line-Out Surround as /devices/pci0000:00/=
0000:00:1b.0/sound/card0/input11
[   12.552528] input: HDA Intel Line-Out Front as /devices/pci0000:00/000=
0:00:1b.0/sound/card0/input12
[   12.615063] r8169 0000:06:00.0: eth0: link down
[   12.615074] r8169 0000:06:00.0: eth0: link down
[   12.615254] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   12.620123] ADDRCONF(NETDEV_UP): br0: link is not ready
[   12.634440] kjournald starting.  Commit interval 5 seconds
[   12.634669] EXT3-fs (sdd2): using internal journal
[   12.634675] EXT3-fs (sdd2): mounted filesystem with ordered data mode
[   12.664546] type=3D1400 audit(1336117037.284:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D1318 comm=3D"appa=
rmor_parser"
[   12.664683] type=3D1400 audit(1336117037.284:3): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1330 comm=3D"a=
pparmor_parser"
[   12.664979] type=3D1400 audit(1336117037.284:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D1318 comm=3D"apparmor_parser"
[   12.664991] type=3D1400 audit(1336117037.284:5): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1330 comm=3D"apparmor_parser"
[   12.665196] type=3D1400 audit(1336117037.284:6): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D1318 comm=3D"apparmor_parser"
[   12.665259] type=3D1400 audit(1336117037.284:7): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1330 comm=3D"apparmor_parser"
[   12.982722] EXT4-fs (dm-1): mounted filesystem with ordered data mode.=
 Opts: (null)
[   13.813737] init: failsafe main process (1433) killed by TERM signal
[   13.866358] init: udev-fallback-graphics main process (1546) terminate=
d with status 1
[   13.878401] type=3D1400 audit(1336117038.500:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1589 comm=3D"a=
pparmor_parser"
[   13.878607] type=3D1400 audit(1336117038.500:9): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1591 comm=3D"=
apparmor_parser"
[   13.878617] type=3D1400 audit(1336117038.500:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1590 comm=3D"apparmor_parser"
[   13.878735] type=3D1400 audit(1336117038.500:11): apparmor=3D"STATUS" =
operation=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-cli=
ent.action" pid=3D1589 comm=3D"apparmor_parser"
[   14.084048] Event-channel device installed.
[   14.119852] XENBUS: Unable to read cpu state
[   14.119937] XENBUS: Unable to read cpu state
[   14.120029] XENBUS: Unable to read cpu state
[   14.120112] XENBUS: Unable to read cpu state
[   14.120190] XENBUS: Unable to read cpu state
[   14.120327] XENBUS: Unable to read cpu state
[   14.120421] XENBUS: Unable to read cpu state
[   14.120504] XENBUS: Unable to read cpu state
[   14.276690] ip_tables: (C) 2000-2006 Netfilter Core Team
[   14.328570] nf_conntrack version 0.5.0 (2648 buckets, 10592 max)
[   14.353742] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   15.006250] r8169 0000:06:00.0: eth0: link up
[   15.006398] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   15.007175] br0: port 1(eth0) entering forwarding state
[   15.007179] br0: port 1(eth0) entering forwarding state
[   15.007314] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   15.266765] Ebtables v2.0 registered
[   15.283111] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   25.249649] br0: no IPv6 routers present
[  140.007915] xen-acpi-processor: Max ACPI ID: 14
[  140.009899] ACPI CPU0 - P-states uploaded.
[  140.009901]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009904]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009906]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009907]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009909]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009911]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009913]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009915]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009917]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009918]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009926] ACPI CPU1 - P-states uploaded.
[  140.009928]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009930]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009932]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009934]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009935]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009937]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009939]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009941]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009943]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009945]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009950] ACPI CPU2 - P-states uploaded.
[  140.009952]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009954]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009956]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009958]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009960]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009962]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009964]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009965]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009967]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009969]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009975] ACPI CPU3 - P-states uploaded.
[  140.009977]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009979]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009981]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009983]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009984]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009986]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009988]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009990]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009992]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009994]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009999] ACPI CPU4 - P-states uploaded.
[  140.010001]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010003]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010005]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010007]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010008]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010010]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010012]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010014]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010016]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010018]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010023] ACPI CPU5 - P-states uploaded.
[  140.010025]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010027]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010029]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010031]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010033]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010035]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010036]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010038]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010040]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010042]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010046] ACPI CPU6 - P-states uploaded.
[  140.010048]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010050]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010051]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010053]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010055]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010057]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010059]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010061]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010062]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010064]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010070] ACPI CPU7 - P-states uploaded.
[  140.010072]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010074]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010075]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010077]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010079]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010081]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010083]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010085]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010086]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010088]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010095] xen-acpi-processor: ACPI CPU0 w/ PBLK:0x410
[  140.010184] xen-acpi-processor: ACPI CPU1 w/ PBLK:0x410
[  140.010269] xen-acpi-processor: ACPI CPU2 w/ PBLK:0x410
[  140.010356] xen-acpi-processor: ACPI CPU3 w/ PBLK:0x410
[  140.010441] xen-acpi-processor: ACPI CPU4 w/ PBLK:0x410
[  140.010526] xen-acpi-processor: ACPI CPU5 w/ PBLK:0x410
[  140.010611] xen-acpi-processor: ACPI CPU6 w/ PBLK:0x410
[  140.010696] xen-acpi-processor: ACPI CPU7 w/ PBLK:0x410
[  140.010781] xen-acpi-processor: ACPI CPU8 w/ PBLK:0x410
[  140.010787] xen-acpi-processor: ACPI CPU9 w/ PBLK:0x410
[  140.010793] xen-acpi-processor: ACPI CPU10 w/ PBLK:0x410
[  140.010798] xen-acpi-processor: ACPI CPU11 w/ PBLK:0x410
[  140.010804] xen-acpi-processor: ACPI CPU12 w/ PBLK:0x410
[  140.010809] xen-acpi-processor: ACPI CPU13 w/ PBLK:0x410
[  140.010815] xen-acpi-processor: ACPI CPU14 w/ PBLK:0x410
[  140.010820] xen-acpi-processor: ACPI CPU15 w/ PBLK:0x410
[  140.011061] xen-acpi-processor: No _Cx for ACPI CPU 8
[  140.011064] xen-acpi-processor: No _Cx for ACPI CPU 9
[  140.011066] xen-acpi-processor: No _Cx for ACPI CPU 10
[  140.011068] xen-acpi-processor: No _Cx for ACPI CPU 11
[  140.011070] xen-acpi-processor: No _Cx for ACPI CPU 12
[  140.011072] xen-acpi-processor: No _Cx for ACPI CPU 13
[  140.011074] xen-acpi-processor: No _Cx for ACPI CPU 14
[  183.118282] init: tty1 main process ended, respawning

--------------070800050300030104070507
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.opt.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.opt.txt"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (root@gomeisa) (gcc version=
 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg8 SMP Thu May 3 17:40:0=
6 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg8-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug lapic=3Ddebug console=3Dhvc0 loglev=
el=3D10 earlyprintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] xxx xen_apic_read(0x20) -> 0x10000000
[    0.000000] xxx xen_get_apic_id(0x10000000) -> 0x10
[    0.000000] xxx xen_apic_read(0x30) -> 0x10
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] xxx xen_apic_read(0x20) -> 0x10000000
[    0.000000] xxx xen_get_apic_id(0x10000000) -> 0x10
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug lapic=3Ddebug console=3Dhvc0=
 loglevel=3D10 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.170 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.34 BogoMIPS (lpj=3D8000680)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.008086] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.017132] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019745] Mount-cache hash table entries: 256
[    0.019990] Initializing cgroup subsys cpuacct
[    0.020001] Initializing cgroup subsys memory
[    0.020001] Initializing cgroup subsys devices
[    0.020001] Initializing cgroup subsys freezer
[    0.020001] Initializing cgroup subsys blkio
[    0.020001] Initializing cgroup subsys perf_event
[    0.020072] xxx xen_apic_read(0x20) -> 0x10000000
[    0.020077] xxx xen_get_apic_id(0x10000000) -> 0x10
[    0.020089] tseg: 00dff00000
[    0.020096] CPU: Physical Processor ID: 0
[    0.020100] CPU: Processor Core ID: 0
[    0.023042] ACPI: Core revision 20110623
[    0.039041] ftrace: allocating 27104 entries in 107 pages
[    0.040131] cpu 0 spinlock event irq 273
[    0.040231] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040494] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040626] installing Xen timer for CPU 1
[    0.040644] cpu 1 spinlock event irq 279
[    0.004000] dom0=3D1 cpuid=3D1
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.040859] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040985] installing Xen timer for CPU 2
[    0.041004] cpu 2 spinlock event irq 285
[    0.004000] dom0=3D1 cpuid=3D2
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.041173] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041291] installing Xen timer for CPU 3
[    0.041306] cpu 3 spinlock event irq 291
[    0.004000] dom0=3D1 cpuid=3D3
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.041477] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041597] installing Xen timer for CPU 4
[    0.041612] cpu 4 spinlock event irq 297
[    0.004000] dom0=3D1 cpuid=3D4
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.041808] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041935] installing Xen timer for CPU 5
[    0.041951] cpu 5 spinlock event irq 303
[    0.004000] dom0=3D1 cpuid=3D5
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.042121] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042241] installing Xen timer for CPU 6
[    0.042257] cpu 6 spinlock event irq 309
[    0.004000] dom0=3D1 cpuid=3D6
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.042422] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042541] installing Xen timer for CPU 7
[    0.042557] cpu 7 spinlock event irq 315
[    0.004000] dom0=3D1 cpuid=3D7
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.042727] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042763] Brought up 8 CPUs
[    0.042991] devtmpfs: initialized
[    0.045406] EVM: security.selinux
[    0.045410] EVM: security.SMACK64
[    0.045414] EVM: security.capability
[    0.045490] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045490] Grant table initialized
[    0.045490] print_constraints: dummy:=20
[    0.045490] RTC time:  7:45:48, date: 05/04/12
[    0.045490] NET: Registered protocol family 16
[    0.045490] Trying to unpack rootfs image as initramfs...
[    0.060265] node 0 link 0: io port [1000, ffffff]
[    0.060279] TOM: 00000000e0000000 aka 3584M
[    0.060286] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060296] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060305] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060313] node 0 link 0: mmio [a0000, bffff]
[    0.060321] TOM2: 0000000820000000 aka 33280M
[    0.060326] bus: [00, 1f] on node 0 link 0
[    0.060331] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060336] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060341] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060345] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060369] Extended Config Space enabled on 2 nodes
[    0.060539] ACPI: bus type pci registered
[    0.060643] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060652] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.181523] Freeing initrd memory: 40072k freed
[    0.219949] PCI: Using configuration type 1 for base access
[    0.221489] bio: create slab <bio-0> at 0
[    0.221489] ACPI: Added _OSI(Module Device)
[    0.221489] ACPI: Added _OSI(Processor Device)
[    0.221489] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221489] ACPI: Added _OSI(Processor Aggregator Device)
[    0.224154] ACPI: EC: Look up EC in DSDT
[    0.228666] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253662] ACPI: Interpreter enabled
[    0.253671] ACPI: (supports S0 S1 S4 S5)
[    0.253715] ACPI: Using IOAPIC for interrupt routing
[    0.267308] ACPI: No dock devices found.
[    0.267371] HEST: Table parsing has been initialized.
[    0.267379] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267684] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268245] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268252] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268258] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268265] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268271] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268344] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268542] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268745] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268862] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268871] pci 0000:00:09.0: PME# disabled
[    0.268913] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.269029] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.269038] pci 0000:00:0a.0: PME# disabled
[    0.269100] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269138] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269158] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269178] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269198] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269218] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269238] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269347] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269374] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269497] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269524] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269658] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269727] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269885] pci 0000:00:12.2: supports D1 D2
[    0.269890] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269900] pci 0000:00:12.2: PME# disabled
[    0.269940] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269967] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.270090] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270117] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270253] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270291] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270449] pci 0000:00:13.2: supports D1 D2
[    0.270454] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270464] pci 0000:00:13.2: PME# disabled
[    0.270509] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270700] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270844] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270925] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270953] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.271126] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271255] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271316] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271384] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271474] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271587] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271703] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271767] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271833] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271926] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272016] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272016] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272016] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272031] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272042] pci 0000:03:00.0: PME# disabled
[    0.280056] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280070] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280080] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280204] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280239] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280284] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280341] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280522] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280533] pci 0000:02:00.0: PME# disabled
[    0.288055] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288068] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288077] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288144] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288183] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288206] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288229] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288437] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288452] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288462] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288500] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288507] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288514] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288520] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288527] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288562] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288973] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289046] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289157] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289332]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289340]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289346] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307588] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307762] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307897] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.308018] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.308136] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.308278] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308414] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308552] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308623] xen/balloon: Initialising balloon driver.
[    0.352000] xen-balloon: Initialising balloon driver.
[    0.352021] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.352167] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.352167] vgaarb: loaded
[    0.352167] vgaarb: bridge control possible 0000:01:04.0
[    0.352240] i2c-core: driver [aat2870] using legacy suspend method
[    0.352245] i2c-core: driver [aat2870] using legacy resume method
[    0.352336] SCSI subsystem initialized
[    0.352409] libata version 3.00 loaded.
[    0.352409] usbcore: registered new interface driver usbfs
[    0.352409] usbcore: registered new interface driver hub
[    0.352409] usbcore: registered new device driver usb
[    0.352409] PCI: Using ACPI for IRQ routing
[    0.356021] PCI: pci_cache_line_size set to 64 bytes
[    0.356021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.356021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.356021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.356116] NetLabel: Initializing
[    0.356120] NetLabel:  domain hash size =3D 128
[    0.356125] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.356141] NetLabel:  unlabeled traffic allowed by default
[    0.356218] Switching to clocksource xen
[    0.365440] AppArmor: AppArmor Filesystem Enabled
[    0.365479] pnp: PnP ACPI init
[    0.365499] ACPI: bus type pnp registered
[    0.365893] pnp 00:00: [bus 00-ff]
[    0.365898] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.365904] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.365909] pnp 00:00: [io  0x0d00-0xffff window]
[    0.365914] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.365919] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.365925] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.365930] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.366054] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.366329] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366335] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366414] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.366595] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.366656] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.366664] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.367350] pnp 00:03: [dma 4]
[    0.367355] pnp 00:03: [io  0x0000-0x000f]
[    0.367360] pnp 00:03: [io  0x0081-0x0083]
[    0.367365] pnp 00:03: [io  0x0087]
[    0.367369] pnp 00:03: [io  0x0089-0x008b]
[    0.367374] pnp 00:03: [io  0x008f]
[    0.367378] pnp 00:03: [io  0x00c0-0x00df]
[    0.367436] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.367463] pnp 00:04: [io  0x0070-0x0071]
[    0.367470] xen: registering gsi 8 triggering 1 polarity 0
[    0.367480] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.367485] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.367507] pnp 00:04: [irq 8]
[    0.367564] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.367635] pnp 00:05: [io  0x0060]
[    0.367639] pnp 00:05: [io  0x0064]
[    0.367644] xen: registering gsi 1 triggering 1 polarity 0
[    0.367649] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.367654] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.367671] pnp 00:05: [irq 1]
[    0.367726] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.367842] xen: registering gsi 12 triggering 1 polarity 0
[    0.367848] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.367852] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.367869] pnp 00:06: [irq 12]
[    0.367929] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.367951] pnp 00:07: [io  0x0061]
[    0.368009] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.368030] pnp 00:08: [io  0x00f0-0x00ff]
[    0.368035] xen: registering gsi 13 triggering 1 polarity 0
[    0.368041] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.368045] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.368071] pnp 00:08: [irq 13]
[    0.368128] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.368329] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368335] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368340] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.368456] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.368463] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.368556] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.368618] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.368922] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.368927] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.369011] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.369018] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.369025] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.369526] pnp 00:0c: [io  0x0010-0x001f]
[    0.369531] pnp 00:0c: [io  0x0022-0x003f]
[    0.369536] pnp 00:0c: [io  0x0062-0x0063]
[    0.369540] pnp 00:0c: [io  0x0065-0x006f]
[    0.369545] pnp 00:0c: [io  0x0072-0x007f]
[    0.369549] pnp 00:0c: [io  0x0080]
[    0.369553] pnp 00:0c: [io  0x0084-0x0086]
[    0.369558] pnp 00:0c: [io  0x0088]
[    0.369562] pnp 00:0c: [io  0x008c-0x008e]
[    0.369566] pnp 00:0c: [io  0x0090-0x009f]
[    0.369571] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.369575] pnp 00:0c: [io  0x00b1]
[    0.369580] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.369584] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.369589] pnp 00:0c: [io  0x0550-0x0551]
[    0.369593] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.369597] pnp 00:0c: [io  0x040b]
[    0.369602] pnp 00:0c: [io  0x04d6]
[    0.369606] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.369610] pnp 00:0c: [io  0x0c14]
[    0.369615] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.369619] pnp 00:0c: [io  0x0c52]
[    0.369623] pnp 00:0c: [io  0x0c6c]
[    0.369627] pnp 00:0c: [io  0x0c6f]
[    0.369632] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.369636] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.369640] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.369645] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.369649] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.369654] pnp 00:0c: [io  0x0800-0x089f]
[    0.369659] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.369664] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.369668] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.369673] pnp 00:0c: [io  0x0900-0x090f]
[    0.369677] pnp 00:0c: [io  0x0910-0x091f]
[    0.369682] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.369686] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.369691] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.369696] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.369704] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.369849] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.369855] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.369861] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.369867] system 00:0c: [io  0x040b] has been reserved
[    0.369873] system 00:0c: [io  0x04d6] has been reserved
[    0.369878] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.369884] system 00:0c: [io  0x0c14] has been reserved
[    0.369889] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.369895] system 00:0c: [io  0x0c52] has been reserved
[    0.369901] system 00:0c: [io  0x0c6c] has been reserved
[    0.369906] system 00:0c: [io  0x0c6f] has been reserved
[    0.369912] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.369918] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.369923] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.369929] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.369935] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.369944] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.369950] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.369955] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.369961] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.369967] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.369973] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.369980] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.369986] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.369993] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370547] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.370553] xen: registering gsi 4 triggering 1 polarity 0
[    0.370558] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.370563] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.370576] pnp 00:0d: [irq 4]
[    0.370581] pnp 00:0d: [dma 0 disabled]
[    0.370705] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371284] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.371289] xen: registering gsi 3 triggering 1 polarity 0
[    0.371295] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.371300] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.371305] Already setup the GSI :3
[    0.371309] pnp 00:0e: [irq 3]
[    0.371314] pnp 00:0e: [dma 0 disabled]
[    0.371433] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371577] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.371661] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.371668] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372634] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.372640] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.372645] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.372650] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.372659] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.372759] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.372766] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.372772] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.372779] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.372785] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.372792] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.373111] pnp: PnP ACPI: found 17 devices
[    0.373116] ACPI: ACPI bus type pnp unregistered
[    0.380486] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.380513] PCI: max bus depth: 1 pci_try_num: 2
[    0.380551] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.380558] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.380568] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.380582] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.380588] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.380598] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.380612] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.380630] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.380640] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.380663] xen: registering gsi 17 triggering 0 polarity 1
[    0.380681] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.380696] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.380706] pci 0000:00:09.0: setting latency timer to 64
[    0.380717] xen: registering gsi 18 triggering 0 polarity 1
[    0.380728] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.380740] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.380749] pci 0000:00:0a.0: setting latency timer to 64
[    0.380765] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.380770] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.380775] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380781] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380786] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380792] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.380798] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.380804] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.380809] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.380816] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.380822] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.380828] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.380833] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.380839] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380877] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380883] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380940] NET: Registered protocol family 2
[    0.383015] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.388281] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.391514] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.391860] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.391866] TCP reno registered
[    0.392022] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.392296] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.392549] NET: Registered protocol family 1
[    0.392605] xen: registering gsi 16 triggering 0 polarity 1
[    0.392628] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.392649] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.120157] pci 0000:00:12.0: PCI INT A disabled
[    1.120188] xen: registering gsi 16 triggering 0 polarity 1
[    1.120202] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.120207] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.120212] Already setup the GSI :16
[    1.120218] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.204175] pci 0000:00:12.1: PCI INT A disabled
[    1.204209] xen: registering gsi 17 triggering 0 polarity 1
[    1.204223] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.204228] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.204233] Already setup the GSI :17
[    1.204239] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.204376] pci 0000:00:12.2: PCI INT B disabled
[    1.204391] xen: registering gsi 18 triggering 0 polarity 1
[    1.204397] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.204401] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.204405] Already setup the GSI :18
[    1.204410] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.288203] pci 0000:00:13.0: PCI INT A disabled
[    1.288235] xen: registering gsi 18 triggering 0 polarity 1
[    1.288248] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.288253] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.288259] Already setup the GSI :18
[    1.288264] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.372178] pci 0000:00:13.1: PCI INT A disabled
[    1.372212] xen: registering gsi 19 triggering 0 polarity 1
[    1.372238] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.372256] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.372392] pci 0000:00:13.2: PCI INT B disabled
[    1.372417] xen: registering gsi 18 triggering 0 polarity 1
[    1.372423] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.372428] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.372433] Already setup the GSI :18
[    1.372437] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.456174] pci 0000:00:14.5: PCI INT C disabled
[    1.456260] pci 0000:01:04.0: Boot video device
[    1.456268] PCI: CLS 64 bytes, default 64
[    1.457351] audit: initializing netlink socket (disabled)
[    1.457370] type=3D2000 audit(1336117549.732:1): initialized
[    1.485594] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.487850] VFS: Disk quotas dquot_6.5.2
[    1.487931] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.488646] fuse init (API version 7.17)
[    1.488820] msgmni has been set to 1479
[    1.489539] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.489597] io scheduler noop registered
[    1.489602] io scheduler deadline registered
[    1.489645] io scheduler cfq registered (default)
[    1.490128] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.490164] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.490353] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.490364] ACPI: Power Button [PWRB]
[    1.490424] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.490432] ACPI: Power Button [PWRF]
[    1.692991] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.693118] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.693300] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.693866] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.697843] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.722349] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.848430] hpet_acpi_add: no address or irqs in _CRS
[    1.848451] Linux agpgart interface v0.103
[    1.852373] brd: module loaded
[    1.853467] loop: module loaded
[    1.853824] ahci 0000:00:11.0: version 3.0
[    1.853849] xen: registering gsi 22 triggering 0 polarity 1
[    1.853871] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.853890] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.854111] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.854121] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.855082] scsi0 : ahci
[    1.855199] scsi1 : ahci
[    1.855293] scsi2 : ahci
[    1.855392] scsi3 : ahci
[    1.855498] scsi4 : ahci
[    1.855590] scsi5 : ahci
[    1.856528] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.856537] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.856544] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.856552] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.856559] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.856566] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.857062] Fixed MDIO Bus: probed
[    1.857086] tun: Universal TUN/TAP device driver, 1.6
[    1.857092] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.857178] PPP generic driver version 2.4.2
[    1.857328] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.857416] xen: registering gsi 17 triggering 0 polarity 1
[    1.857425] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.857430] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.857435] Already setup the GSI :17
[    1.857441] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.857474] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.857569] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.857582] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.857679] ehci_hcd 0000:00:12.2: debug port 1
[    1.857734] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.868101] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.868295] hub 1-0:1.0: USB hub found
[    1.868303] hub 1-0:1.0: 6 ports detected
[    1.868553] xen: registering gsi 19 triggering 0 polarity 1
[    1.868561] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.868566] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.868571] Already setup the GSI :19
[    1.868576] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.868610] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.868733] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.868749] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.868809] ehci_hcd 0000:00:13.2: debug port 1
[    1.868857] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.880099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.880312] hub 2-0:1.0: USB hub found
[    1.880320] hub 2-0:1.0: 6 ports detected
[    1.880437] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.880591] xen: registering gsi 16 triggering 0 polarity 1
[    1.880598] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.880603] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.880608] Already setup the GSI :16
[    1.880613] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.880648] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.880742] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.880808] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.940279] hub 3-0:1.0: USB hub found
[    1.940294] hub 3-0:1.0: 3 ports detected
[    1.940504] xen: registering gsi 16 triggering 0 polarity 1
[    1.940512] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.940517] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.940521] Already setup the GSI :16
[    1.940527] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.940562] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.940640] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.940680] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    2.000312] hub 4-0:1.0: USB hub found
[    2.000326] hub 4-0:1.0: 3 ports detected
[    2.000550] xen: registering gsi 18 triggering 0 polarity 1
[    2.000558] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.000562] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.000567] Already setup the GSI :18
[    2.000572] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.000607] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    2.000697] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    2.000763] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.060288] hub 5-0:1.0: USB hub found
[    2.060302] hub 5-0:1.0: 3 ports detected
[    2.060512] xen: registering gsi 18 triggering 0 polarity 1
[    2.060520] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.060525] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.060530] Already setup the GSI :18
[    2.060535] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.060569] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.060639] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.060679] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.120307] hub 6-0:1.0: USB hub found
[    2.120322] hub 6-0:1.0: 3 ports detected
[    2.120531] xen: registering gsi 18 triggering 0 polarity 1
[    2.120539] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.120544] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.120548] Already setup the GSI :18
[    2.120554] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.120589] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.120658] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.120697] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.176217] ata5: SATA link down (SStatus 0 SControl 300)
[    2.180292] hub 7-0:1.0: USB hub found
[    2.180305] hub 7-0:1.0: 2 ports detected
[    2.180389] uhci_hcd: USB Universal Host Controller Interface driver
[    2.180472] usbcore: registered new interface driver libusual
[    2.180529] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.183449] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.183462] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.183618] mousedev: PS/2 mouse device common for all mice
[    2.183827] rtc_cmos 00:04: RTC can wake from S4
[    2.184001] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.184056] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.184170] device-mapper: uevent: version 1.0.3
[    2.184272] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.184285] EFI Variables Facility v0.08 2004-May-17
[    2.184602] TCP cubic registered
[    2.184733] NET: Registered protocol family 10
[    2.185460] NET: Registered protocol family 17
[    2.185485] Registering the dns_resolver key type
[    2.185692] PM: Hibernation image not present or could not be loaded.
[    2.185709] registered taskstats version 1
[    2.192089] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.203117]   Magic number: 12:269:773
[    2.203129] hub 2-0:1.0: hash matches
[    2.203312] rtc_cmos 00:04: setting system clock to 2012-05-04 07:45:5=
0 UTC (1336117550)
[    2.203445] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.203553] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.203558] EDD information not available.
[    2.216671] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.330229] Initializing USB Mass Storage driver...
[    2.330450] scsi6 : usb-storage 2-2:1.0
[    2.330530] usbcore: registered new interface driver usb-storage
[    2.330536] USB Mass Storage support registered.
[    2.352138] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352171] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352197] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352222] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352246] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.352815] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.353565] ata6.00: configured for UDMA/100
[    2.361793] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361801] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.362506] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.362513] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.362961] ata1.00: configured for UDMA/133
[    2.363111] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.363320] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.363455] sd 0:0:0:0: [sda] Write Protect is off
[    2.363461] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.363501] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.363592] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.363707] ata4.00: configured for UDMA/133
[    2.364219] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.364226] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.364758] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.364765] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.365423] ata2.00: configured for UDMA/133
[    2.365595] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.365803] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.365808] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.365866] ata3.00: configured for UDMA/133
[    2.365956] sd 1:0:0:0: [sdb] Write Protect is off
[    2.365962] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.366002] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.366038] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.366232] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.366251] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.366340] sd 2:0:0:0: [sdc] Write Protect is off
[    2.366347] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.366389] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.366409] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.366595] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.366642] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.366810] sd 3:0:0:0: [sdd] Write Protect is off
[    2.366817] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.366855] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.367260] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.370973] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.370981] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.371158] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.371246] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.375170]  sdd: unknown partition table
[    2.375459] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.376358]  sdb: sdb1 sdb2
[    2.376797] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.377565]  sdc: unknown partition table
[    2.377850] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.480467]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.481471] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.482098] Freeing unused kernel memory: 920k freed
[    2.482415] Write protecting the kernel read-only data: 12288k
[    2.489624] Freeing unused kernel memory: 1520k freed
[    2.490773] Freeing unused kernel memory: 1140k freed
[    2.557089] udevd[165]: starting version 175
[    2.636458] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.636467] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.636601] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.636626] xen: registering gsi 17 triggering 0 polarity 1
[    2.636639] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.636644] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.636650] Already setup the GSI :17
[    2.636656] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.636687] e1000e 0000:03:00.0: setting latency timer to 64
[    2.708140] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.749851] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.749861] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.749946] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.750112] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.750137] xen: registering gsi 18 triggering 0 polarity 1
[    2.750148] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.750153] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.750159] Already setup the GSI :18
[    2.750164] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.750195] e1000e 0000:02:00.0: setting latency timer to 64
[    2.861339] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.861348] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.861432] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.890458] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.890716] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.894400] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.894568] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.894593] usbcore: registered new interface driver usbhid
[    2.894599] usbhid: USB HID core driver
[    3.329089] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.329668] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.330387] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.331105] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.332076] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.332307] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.332917] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.333248] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.337387] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.341169] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.341766] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.345257] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    9.072230] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.826798] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.826809] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.857000] udevd[690]: starting version 175
[   15.968225] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.993626] MCE: In-kernel MCE decoding enabled.
[   15.994765] lp: driver loaded but no devices found
[   15.994879] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.996578] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.996892] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.998543] type=3D1400 audit(1336117564.289:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D796 comm=3D"appar=
mor_parser"
[   15.999196] type=3D1400 audit(1336117564.289:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D796 comm=3D"apparmor_parser"
[   15.999554] type=3D1400 audit(1336117564.289:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D796 comm=3D"apparmor_parser"
[   16.006597] EDAC MC: Ver: 2.1.0
[   16.012142] ipmi message handler version 39.2
[   16.012461] device-mapper: multipath: version 1.3.0 loaded
[   16.014209] ipmi device interface
[   16.017746] AMD64 EDAC driver v3.4.0
[   16.021604] EDAC amd64: DRAM ECC enabled.
[   16.021668] EDAC amd64: F10h detected (node 0).
[   16.021752] EDAC MC: DCT0 chip selects:
[   16.021756] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.021760] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.021763] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.021766] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.021769] EDAC MC: DCT1 chip selects:
[   16.021771] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.021774] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.021777] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.021780] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.021783] EDAC amd64: using x8 syndromes.
[   16.021786] EDAC amd64: MCT channel count: 2
[   16.021829] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   16.021833] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   16.021836] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   16.021839] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   16.021916] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   16.022350] IPMI System Interface driver.
[   16.022584] ipmi_si: probing via SMBIOS
[   16.022589] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   16.022593] ipmi_si: Adding SMBIOS-specified kcs state machine
[   16.022600] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   16.022975] EDAC amd64: DRAM ECC enabled.
[   16.022981] EDAC amd64: F10h detected (node 1).
[   16.023069] EDAC MC: DCT0 chip selects:
[   16.023076] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.023080] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.023083] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.023086] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.023088] EDAC MC: DCT1 chip selects:
[   16.023091] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.023098] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.023101] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.023104] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.023107] EDAC amd64: using x8 syndromes.
[   16.023110] EDAC amd64: MCT channel count: 2
[   16.023170] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   16.023173] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   16.023180] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   16.023183] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   16.023295] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   16.023410] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   16.042005] Bridge firewalling registered
[   16.053097] device eth0 entered promiscuous mode
[   16.132100] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   16.151879] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   16.160814] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   16.160999] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.182200] ADDRCONF(NETDEV_UP): br0: link is not ready
[   16.319392] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.330234] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   17.144823] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.593397] EXT4-fs (dm-30): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   19.417104] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   19.419524] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.419662] br0: port 1(eth0) entering forwarding state
[   19.419679] br0: port 1(eth0) entering forwarding state
[   19.421850] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   23.013339] init: udev-fallback-graphics main process (1809) terminate=
d with status 1
[   23.151179] init: failsafe main process (1693) killed by TERM signal
[   23.262932] type=3D1400 audit(1336117571.553:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1907 comm=3D"apparmor_parser"
[   23.263053] type=3D1400 audit(1336117571.553:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1905 comm=3D"a=
pparmor_parser"
[   23.263150] type=3D1400 audit(1336117571.553:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1908 comm=3D"=
apparmor_parser"
[   23.263716] type=3D1400 audit(1336117571.553:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1905 comm=3D"apparmor_parser"
[   23.264106] type=3D1400 audit(1336117571.557:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1905 comm=3D"apparmor_parser"
[   23.264198] type=3D1400 audit(1336117571.557:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1909 c=
omm=3D"apparmor_parser"
[   23.264557] type=3D1400 audit(1336117571.557:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1909 comm=3D"apparmor_parser"
[   23.264863] type=3D1400 audit(1336117571.557:12): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/tcpdump" pid=3D1911 comm=3D"=
apparmor_parser"
[   23.544492] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   23.762025] ip_tables: (C) 2000-2006 Netfilter Core Team
[   23.862906] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   23.915808] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   24.143570] Event-channel device installed.
[   24.207277] XENBUS: Unable to read cpu state
[   24.207486] XENBUS: Unable to read cpu state
[   24.207676] XENBUS: Unable to read cpu state
[   24.207856] XENBUS: Unable to read cpu state
[   24.208129] XENBUS: Unable to read cpu state
[   24.208292] XENBUS: Unable to read cpu state
[   24.208467] XENBUS: Unable to read cpu state
[   24.208605] XENBUS: Unable to read cpu state
[   25.164557] Ebtables v2.0 registered
[   25.195793] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.556089] br0: no IPv6 routers present
[  112.342255] xen-acpi-processor: Max ACPI ID: 16
[  112.344764] ACPI CPU1 - P-states uploaded.
[  112.344771]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344775]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344779]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344782]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344785]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344804] ACPI CPU2 - P-states uploaded.
[  112.344809]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344817]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344823]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344829]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344834]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344856] ACPI CPU3 - P-states uploaded.
[  112.344861]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344865]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344871]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344876]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344881]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344900] ACPI CPU4 - P-states uploaded.
[  112.344905]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344910]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344915]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344920]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344925]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344937] ACPI CPU5 - P-states uploaded.
[  112.344942]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344947]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344952]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344957]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344962]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344972] ACPI CPU6 - P-states uploaded.
[  112.344979]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344984]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344991]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344995]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.345000]       P4: 800 MHz, 4777 mW, 4 uS
[  112.345013] ACPI CPU7 - P-states uploaded.
[  112.345017]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.345022]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.345028]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.345033]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.345037]       P4: 800 MHz, 4777 mW, 4 uS
[  112.345049] ACPI CPU8 - P-states uploaded.
[  112.345054]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.345059]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.345064]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.345069]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.345074]       P4: 800 MHz, 4777 mW, 4 uS
[  112.345100] xen-acpi-processor: ACPI CPU1 w/ PBLK:0x810
[  112.345116] xen-acpi-processor: ACPI CPU2 w/ PBLK:0x0
[  112.345128] xen-acpi-processor: ACPI CPU3 w/ PBLK:0x0
[  112.345140] xen-acpi-processor: ACPI CPU4 w/ PBLK:0x0
[  112.345150] xen-acpi-processor: ACPI CPU5 w/ PBLK:0x0
[  112.345163] xen-acpi-processor: ACPI CPU6 w/ PBLK:0x0
[  112.345175] xen-acpi-processor: ACPI CPU7 w/ PBLK:0x0
[  112.345188] xen-acpi-processor: ACPI CPU8 w/ PBLK:0x0
[  112.345199] xen-acpi-processor: ACPI CPU9 w/ PBLK:0x0
[  112.345208] xen-acpi-processor: ACPI CPU10 w/ PBLK:0x0
[  112.345216] xen-acpi-processor: ACPI CPU11 w/ PBLK:0x0
[  112.345225] xen-acpi-processor: ACPI CPU12 w/ PBLK:0x0

--------------070800050300030104070507--

--------------enigEB40C659F3DC487B0CD9A40F
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPo4yoAAoJEOhnXe7L7s6j0tUQAMsHymTHwqeHbTo/kiHCjxZl
1w+ktvBCCllVo2/3/bIVTVS+Pgk4DFkoGqBlryls+hPV5c8dxkKExS7coEdpEghG
ubIWV3XMjgKFBGSZME4qErtxFLLQKvzVqQc4EJW7h/6lRQX+bYVQ6tyEVp06b///
kie/HuC06wDICKt3L6NS6k3Gm3qznyvwcPnHqNJUTDVPvq9OAC3zRGKxTOI6l5W5
+stLQ8RqGbtRnsi/SXtWXo32toz+QBvEi6poMSEHIYMpAN1NkXRpt8uJkZZMRHj2
J5TINRgOMEBo5X505M1/PxOxw+yGR2bpPP3d+dTA7UYfraBWQ9ee9XhPV169urtd
MkusPYneVkaxsWcBCIRgdcARztvXK3zH6FB8uyEwYzBB9rgCReOOAYLzgOAMU7TW
UDV4RNGfboH2f2EeHCYEDpjxPSu/f8nj12Y99c1YLWl0n/BPsyEgu04VE91n5Fyn
se+TSdds1ha3lZGictiDhhGkFD1hBWaTgu4m9xYxKq4PcUKvWze/2hy8xqbhx+nk
G3EiIHBLXHPEMLZ28NUfb9/6y0j9JsocjAXALNVXJsVtn4WZpPjA2YQ5Uj1OCkEI
gqvWKKfosEk1VOhNNLUablDyuUEiNxnXtmN1RvFfEm17ykmGpiIIdivJWUIR+dOV
3NGyl7Jf4tyDokh9n1eK
=3IO6
-----END PGP SIGNATURE-----

--------------enigEB40C659F3DC487B0CD9A40F--


--===============5525228139078192454==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5525228139078192454==--


From xen-devel-bounces@lists.xen.org Fri May 04 08:01:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDRk-0001ui-S9; Fri, 04 May 2012 08:01:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <stefan.bader@canonical.com>) id 1SQDRi-0001uY-2N
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:00:59 +0000
Received: from [85.158.138.51:21612] by server-10.bemta-3.messagelabs.com id
	C6/58-29478-9BC83AF4; Fri, 04 May 2012 08:00:57 +0000
X-Env-Sender: stefan.bader@canonical.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336118450!25177657!1
X-Originating-IP: [91.189.89.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4361 invoked from network); 4 May 2012 08:00:50 -0000
Received: from youngberry.canonical.com (HELO youngberry.canonical.com)
	(91.189.89.112) by server-3.tower-174.messagelabs.com with SMTP;
	4 May 2012 08:00:50 -0000
Received: from p5b2e1f1c.dip.t-dialin.net ([91.46.31.28] helo=[192.168.2.5])
	by youngberry.canonical.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71)
	(envelope-from <stefan.bader@canonical.com>)
	id 1SQDRS-0007Pq-O2; Fri, 04 May 2012 08:00:44 +0000
Message-ID: <4FA38CA0.3020601@canonical.com>
Date: Fri, 04 May 2012 10:00:32 +0200
From: Stefan Bader <stefan.bader@canonical.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA14C2C.5030104@canonical.com>
	<20120502160812.GA6611@phenom.dumpdata.com>
	<4FA1699A.9070405@amd.com>
	<20120502171415.GA17477@phenom.dumpdata.com>
	<4FA1A79B.5040701@amd.com>
	<20120502214147.GA7670@phenom.dumpdata.com>
	<4FA1B096.5010009@amd.com> <4FA280DA.9080505@canonical.com>
	<4FA29A92.2040601@canonical.com>
	<20120503154620.GB3464@andromeda.dapyr.net>
	<20120503170858.GC9992@phenom.dumpdata.com>
In-Reply-To: <20120503170858.GC9992@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Boris Ostrovsky <boris.ostrovsky@amd.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5525228139078192454=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============5525228139078192454==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="------------enigEB40C659F3DC487B0CD9A40F"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigEB40C659F3DC487B0CD9A40F
Content-Type: multipart/mixed;
 boundary="------------070800050300030104070507"

This is a multi-part message in MIME format.
--------------070800050300030104070507
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03.05.2012 19:08, Konrad Rzeszutek Wilk wrote:
>>> Hmmm, so xen_apic_read is still correct...
>>>
>>> [    0.000000] ACPI: Local APIC address 0xfee00000
>>> [    0.000000] xxx xen_apic_read(20)
>>> [    0.000000] xxx xen_apic_read -> 10
>>> [    0.000000] boot_cpu_physical_apicid =3D 0
>>> [    0.000000] xxx xen_apic_read(30)
>>> [    0.000000] +- apic version =3D 10
>>>
>>> there seems to be a slightly strange tweak (at least for me) in read_=
apic_id...
>>>
>>> static inline unsigned int read_apic_id(void)
>>> {
>>>         unsigned int reg;
>>>
>>>         reg =3D apic_read(APIC_ID); // calls apic->read(reg)
>>>
>>>         return apic->get_apic_id(reg);
>>
>> Duh!! Let me spin out a new patch that will do this.
>=20
> Meaning bit-shift it. We ended up doing 10 >> 24 (get_apic_id does that=
)
> which results in zero. So lets be a bit more cautious and over-write
> the get_apic_id and set_apic_id and as well do the proper bit-shifting.=

>=20

I can confirm that with this patch applied I can load the xen-acpi-proces=
sor
driver and see P-states changing in xenpm. No BIOS bug messages.
Also tested on the i7 and it does still work. I am attaching the dmesg ou=
tput of
both runs. On the i7 the xen apic functions are called in two places and =
for
cpu#0 only. On AMD, I see additional call later and for all cpus while en=
abling
them. apic->read bails out, but apic->get_apic_id returns 0 (though I cou=
ld see
no immediate problem from that). Maybe that info is helpful for the next =
stage.

-Stefan

> commit 4bb450ea9dca1b8d845f1b53ab6476615a32badf
> Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date:   Wed May 2 15:04:51 2012 -0400
>=20
>     xen/apic: Return the APIC ID (and version) for CPU 0.
>    =20
>     On x86_64 on AMD machines where the first APIC_ID is not zero, we g=
et:
>    =20
>     ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
>     BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0x10
>     BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: version 10
>    =20
>     which means that when the ACPI processor driver loads and
>     tries to parse the _Pxx states it fails to do as, as it
>     ends up calling acpi_get_cpuid which does this:
>    =20
>     for_each_possible_cpu(i) {
>             if (cpu_physical_id(i) =3D=3D apic_id)
>                     return i;
>     }
>    =20
>     And the bootup CPU, has not been found so it fails and returns -1
>     for the first CPU - which then subsequently in the loop that
>     "acpi_processor_get_info" does results in returning an error, which=

>     means that "acpi_processor_add" failing and per_cpu(processor)
>     is never set (and is NULL).
>    =20
>     That means that when xen-acpi-processor tries to load (much much
>     later on) and parse the P-states it gets -ENODEV from
>     acpi_processor_register_performance() (which tries to read
>     the per_cpu(processor)) and fails to parse the data.
>    =20
>     Reported-by:  Stefan Bader <stefan.bader@canonical.com>
>     Suggested-by:  Boris Ostrovsky <boris.ostrovsky@amd.com>
>     [v2: Bit-shift APIC ID by 24 bits]
>     Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Stefan Bader <stefan.bader@canonical.com>
>=20
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..63d6c22 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -53,6 +53,9 @@
>  #include <asm/processor.h>
>  #include <asm/proto.h>
>  #include <asm/msr-index.h>
> +#ifdef CONFIG_NUMA
> +#include <asm/numa.h>
> +#endif
>  #include <asm/traps.h>
>  #include <asm/setup.h>
>  #include <asm/desc.h>
> @@ -809,9 +812,40 @@ static void xen_io_delay(void)
>  }
> =20
>  #ifdef CONFIG_X86_LOCAL_APIC
> +static unsigned long xen_set_apic_id(unsigned int x)
> +{
> +	WARN_ON(1);
> +	return x;
> +}
> +static unsigned int xen_get_apic_id(unsigned long x)
> +{
> +	return (((x)>>24) & 0xFFu);
> +}
>  static u32 xen_apic_read(u32 reg)
>  {
> -	return 0;
> +	struct xen_platform_op op =3D {
> +		.cmd =3D XENPF_get_cpuinfo,
> +		.interface_version =3D XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid =3D 0,
> +	};
> +	int ret =3D 0;
> +
> +	/* Shouldn't need this as APIC is turned off for PV, and we only
> +	 * get called on the bootup processor. But just in case. */
> +	if (!xen_initial_domain() || smp_processor_id())
> +		return 0;
> +
> +	if (reg =3D=3D APIC_LVR)
> +		return 0x10;
> +
> +	if (reg !=3D APIC_ID)
> +		return 0;
> +
> +	ret =3D HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return 0;
> +
> +	return op.u.pcpu_info.apic_id << 24;
>  }
> =20
>  static void xen_apic_write(u32 reg, u32 val)
> @@ -849,6 +883,8 @@ static void set_xen_basic_apic_ops(void)
>  	apic->icr_write =3D xen_apic_icr_write;
>  	apic->wait_icr_idle =3D xen_apic_wait_icr_idle;
>  	apic->safe_wait_icr_idle =3D xen_safe_apic_wait_icr_idle;
> +	apic->set_apic_id =3D xen_set_apic_id;
> +	apic->get_apic_id =3D xen_get_apic_id;
>  }
> =20
>  #endif
> @@ -1294,6 +1330,9 @@ asmlinkage void __init xen_start_kernel(void)
>  	 */
>  	acpi_numa =3D -1;
>  #endif
> +#if defined(CONFIG_NUMA) && defined(CONFIG_X86_32)
> +	numa_off =3D 1;
> +#endif
> =20
>  	pgd =3D (pgd_t *)xen_start_info->pt_base;
> =20
>=20
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


--------------070800050300030104070507
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.i7.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.i7.txt"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (root@gomeisa) (gcc version=
 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg8 SMP Thu May 3 17:40:0=
6 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg8-generic 3.2.16)
[    0.000000] Command line: placeholder root=3D/dev/mapper/rootvg-magrat=
hea ro nomodeset debug lapic=3Ddebug console=3Dhvc0 loglevel=3D10 earlypr=
intk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  97-100 pfn range: 105 pages freed
[    0.000000] 1-1 mapping on 97->100
[    0.000000] 1-1 mapping on dfee0->100000
[    0.000000] Released 105 pages of unused memory
[    0.000000] Set 131465 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000097000 (usable)
[    0.000000]  Xen: 000000000009f800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfee0000 (usable)
[    0.000000]  Xen: 00000000dfee0000 - 00000000dfee1000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee1000 - 00000000dfef0000 (ACPI data)
[    0.000000]  Xen: 00000000dfef0000 - 00000000dff00000 (reserved)
[    0.000000]  Xen: 00000000f0000000 - 00000000f4000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 0000000180120000 (usable)
[    0.000000]  Xen: 0000000180120000 - 0000000220000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.4 present.
[    0.000000] DMI: Gigabyte Technology Co., Ltd. EX58-UD3R/EX58-UD3R, BI=
OS F11 03/11/2010
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x180120 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfee0 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000f5cc0] f5cc0
[    0.000000] initial memory mapped : 0 - 047e7000
[    0.000000] Base memory trampoline at [ffff880000092000] 92000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfee0000
[    0.000000]  0000000000 - 00dfee0000 page 4k
[    0.000000] kernel direct mapping tables up to dfee0000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-0000000180120000
[    0.000000]  0100000000 - 0180120000 page 4k
[    0.000000] kernel direct mapping tables up to 180120000 @ 1f3f7000-20=
000000
[    0.000000] xen: setting RW the range 1f7fb000 - 20000000
[    0.000000] RAMDISK: 02060000 - 047e7000
[    0.000000] ACPI: RSDP 00000000000f7680 00014 (v00 GBT   )
[    0.000000] ACPI: RSDT 00000000dfee1040 00040 (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: FACP 00000000dfee10c0 00074 (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: DSDT 00000000dfee1180 04BA7 (v01 GBT    GBTUACPI 000=
01000 MSFT 0100000C)
[    0.000000] ACPI: FACS 00000000dfee0000 00040
[    0.000000] ACPI: HPET 00000000dfee5f00 00038 (v01 GBT    GBTUACPI 423=
02E31 GBTU 00000098)
[    0.000000] ACPI: MCFG 00000000dfee5f80 0003C (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: EUDS 00000000dfee5fc0 00470 (v01 GBT             000=
00000      00000000)
[    0.000000] ACPI: TAMG 00000000dfee6430 00B72 (v01 GBT    GBT   B0 545=
5312E BG?? 53450101)
[    0.000000] ACPI: APIC 00000000dfee5d80 0012C (v01 GBT    GBTUACPI 423=
02E31 GBTU 01010101)
[    0.000000] ACPI: SSDT 00000000dfee6fb0 02FE4 (v01  INTEL PPM RCM  800=
00001 INTL 20061109)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] xxx xen_apic_read(0x20) -> 0x0
[    0.000000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.000000] xxx xen_apic_read(0x30) -> 0x10
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-0000000180120000
[    0.000000] Initmem setup node 0 0000000000000000-0000000180120000
[    0.000000]   NODE_DATA [000000001fffb000 - 000000001fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x00180120
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000097
[    0.000000]     0: 0x00000100 -> 0x000dfee0
[    0.000000]     0: 0x00100000 -> 0x00180120
[    0.000000] On node 0 totalpages: 1441671
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2153 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896800 pages, LIFO batch:31
[    0.000000]   Normal zone: 8197 pages used for memmap
[    0.000000]   Normal zone: 516379 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x03] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x08] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x09] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x0a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x0b] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x0c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x0d] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x0e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x0f] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x08] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x09] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0a] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0b] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0c] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0d] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0e] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x0f] dfl dfl lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level=
)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 16 CPUs, 8 hotplug CPUs
[    0.000000] xxx xen_apic_read(0x20) -> 0x0
[    0.000000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
00a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000d=
fee1000
[    0.000000] PM: Registered nosave memory: 00000000dfee1000 - 00000000d=
fef0000
[    0.000000] PM: Registered nosave memory: 00000000dfef0000 - 00000000d=
ff00000
[    0.000000] PM: Registered nosave memory: 00000000dff00000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
4000000
[    0.000000] PM: Registered nosave memory: 00000000f4000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at dff00000 (gap: dff000=
00:10100000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
6 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88001fdeb000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11 [0] 12 [0] 13 [0] =
14 [0] 15=20
[    2.348911] Built 1 zonelists in Node order, mobility grouping on.  To=
tal pages: 1415332
[    2.348914] Policy zone: Normal
[    2.348917] Kernel command line: placeholder root=3D/dev/mapper/rootvg=
-magrathea ro nomodeset debug lapic=3Ddebug console=3Dhvc0 loglevel=3D10 =
earlyprintk=3Dxenboot
[    2.349396] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    2.378521] Placing 64MB software IO TLB between ffff880015400000 - ff=
ff880019400000
[    2.378525] software IO TLB at phys 0x15400000 - 0x19400000
[    2.379958] Memory: 294916k/6292608k available (6654k kernel code, 525=
924k absent, 5471768k reserved, 6550k data, 920k init)
[    2.380035] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D16, Nodes=3D1
[    2.380070] Hierarchical RCU implementation.
[    2.380072] 	RCU dyntick-idle grace-period acceleration is enabled.
[    2.380083] NR_IRQS:16640 nr_irqs:4096 16
[    2.380142] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D0=

[    2.380145] xen: registering gsi 9 triggering 0 polarity 0
[    2.380154] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    2.380159] xen: acpi sci 9
[    2.380162] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    2.380166] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    2.380169] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    2.380173] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    2.380176] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    2.380179] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    2.380182] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    2.380186] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    2.380188] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    2.380190] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    2.380193] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    2.380197] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    2.380200] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    2.380204] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    2.380207] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    2.380210] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    2.382007] Console: colour VGA+ 80x25
[    2.382011] console [hvc0] enabled, bootconsole disabled
[    2.390775] allocated 47185920 bytes of page_cgroup
[    2.390779] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    2.390818] Xen: using vcpuop timer interface
[    2.390825] installing Xen timer for CPU 0
[    2.390854] Detected 2664.850 MHz processor.
[    2.390861] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 5329.70 BogoMIPS (lpj=3D10659400)
[    2.390866] pid_max: default: 32768 minimum: 301
[    2.390896] Security Framework initialized
[    2.390906] AppArmor: AppArmor initialized
[    2.390908] Yama: becoming mindful.
[    2.393465] Dentry cache hash table entries: 1048576 (order: 11, 83886=
08 bytes)
[    2.395968] Inode-cache hash table entries: 524288 (order: 10, 4194304=
 bytes)
[    2.396755] Mount-cache hash table entries: 256
[    2.396908] Initializing cgroup subsys cpuacct
[    2.396914] Initializing cgroup subsys memory
[    2.396926] Initializing cgroup subsys devices
[    2.396929] Initializing cgroup subsys freezer
[    2.396932] Initializing cgroup subsys blkio
[    2.396943] Initializing cgroup subsys perf_event
[    2.396999] CPU: Physical Processor ID: 0
[    2.397001] CPU: Processor Core ID: 0
[    2.399115] ACPI: Core revision 20110623
[    2.408066] ftrace: allocating 27104 entries in 107 pages
[    2.414834] cpu 0 spinlock event irq 273
[    2.414887] Performance Events: unsupported p6 CPU model 26 no PMU dri=
ver, software events only.
[    2.415004] NMI watchdog disabled (cpu0): hardware events not enabled
[    2.415078] installing Xen timer for CPU 1
[    2.415089] cpu 1 spinlock event irq 279
[    2.415214] NMI watchdog disabled (cpu1): hardware events not enabled
[    2.415291] installing Xen timer for CPU 2
[    2.415302] cpu 2 spinlock event irq 285
[    2.415386] NMI watchdog disabled (cpu2): hardware events not enabled
[    2.415455] installing Xen timer for CPU 3
[    2.415466] cpu 3 spinlock event irq 291
[    2.415545] NMI watchdog disabled (cpu3): hardware events not enabled
[    2.415617] installing Xen timer for CPU 4
[    2.415627] cpu 4 spinlock event irq 297
[    2.415712] NMI watchdog disabled (cpu4): hardware events not enabled
[    2.415786] installing Xen timer for CPU 5
[    2.415797] cpu 5 spinlock event irq 303
[    2.415880] NMI watchdog disabled (cpu5): hardware events not enabled
[    2.415950] installing Xen timer for CPU 6
[    2.415960] cpu 6 spinlock event irq 309
[    2.416047] NMI watchdog disabled (cpu6): hardware events not enabled
[    2.416118] installing Xen timer for CPU 7
[    2.416131] cpu 7 spinlock event irq 315
[    2.416213] NMI watchdog disabled (cpu7): hardware events not enabled
[    2.416234] Brought up 8 CPUs
[    2.416605] devtmpfs: initialized
[    2.417654] EVM: security.selinux
[    2.417657] EVM: security.SMACK64
[    2.417659] EVM: security.capability
[    2.417704] PM: Registering ACPI NVS region at dfee0000 (4096 bytes)
[    2.418293] Grant table initialized
[    2.418336] print_constraints: dummy:=20
[    2.418372] RTC time:  9:37:06, date: 05/04/12
[    2.418401] NET: Registered protocol family 16
[    2.418497] Trying to unpack rootfs image as initramfs...
[    2.423099] ACPI: bus type pci registered
[    2.423174] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf00000=
00-0xf3ffffff] (base 0xf0000000)
[    2.423178] PCI: MMCONFIG at [mem 0xf0000000-0xf3ffffff] reserved in E=
820
[    2.440460] PCI: Using configuration type 1 for base access
[    2.441457] bio: create slab <bio-0> at 0
[    2.441567] ACPI: Added _OSI(Module Device)
[    2.441570] ACPI: Added _OSI(Processor Device)
[    2.441573] ACPI: Added _OSI(3.0 _SCP Extensions)
[    2.441576] ACPI: Added _OSI(Processor Aggregator Device)
[    2.443539] ACPI: EC: Look up EC in DSDT
[    2.451390] ACPI Warning: Incorrect checksum in table [TAMG] - 0x0C, s=
hould be 0x0B (20110623/tbutils-314)
[    2.454463] ACPI: Interpreter enabled
[    2.454468] ACPI: (supports S0 S3 S4 S5)
[    2.454494] ACPI: Using IOAPIC for interrupt routing
[    2.458582] Freeing initrd memory: 40476k freed
[    2.461357] ACPI: No dock devices found.
[    2.461362] HEST: Table not found.
[    2.461366] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    2.461499] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3f])
[    2.461744] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7=
]
[    2.461748] pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff=
]
[    2.461751] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    2.461754] pci_root PNP0A03:00: host bridge window [mem 0x000c0000-0x=
000dffff]
[    2.461758] pci_root PNP0A03:00: host bridge window [mem 0xdff00000-0x=
febfffff]
[    2.461784] pci 0000:00:00.0: [8086:3405] type 0 class 0x000600
[    2.461890] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    2.461896] pci 0000:00:00.0: PME# disabled
[    2.461939] pci 0000:00:01.0: [8086:3408] type 1 class 0x000604
[    2.462052] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    2.462058] pci 0000:00:01.0: PME# disabled
[    2.462101] pci 0000:00:03.0: [8086:340a] type 1 class 0x000604
[    2.462214] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold
[    2.462220] pci 0000:00:03.0: PME# disabled
[    2.462266] pci 0000:00:07.0: [8086:340e] type 1 class 0x000604
[    2.462378] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
[    2.462384] pci 0000:00:07.0: PME# disabled
[    2.462430] pci 0000:00:10.0: [8086:3425] type 0 class 0x000800
[    2.462559] pci 0000:00:10.1: [8086:3426] type 0 class 0x000800
[    2.462672] pci 0000:00:11.0: [8086:3427] type 0 class 0x000800
[    2.462802] pci 0000:00:11.1: [8086:3428] type 0 class 0x000800
[    2.462917] pci 0000:00:13.0: [8086:342d] type 0 class 0x000800
[    2.462939] pci 0000:00:13.0: reg 10: [mem 0xfbfff000-0xfbffffff]
[    2.463037] pci 0000:00:13.0: PME# supported from D0 D3hot D3cold
[    2.463043] pci 0000:00:13.0: PME# disabled
[    2.463078] pci 0000:00:14.0: [8086:342e] type 0 class 0x000800
[    2.463209] pci 0000:00:14.1: [8086:3422] type 0 class 0x000800
[    2.463342] pci 0000:00:14.2: [8086:3423] type 0 class 0x000800
[    2.463476] pci 0000:00:15.0: [8086:342f] type 0 class 0x000800
[    2.463596] pci 0000:00:1a.0: [8086:3a37] type 0 class 0x000c03
[    2.463672] pci 0000:00:1a.0: reg 20: [io  0xff00-0xff1f]
[    2.463761] pci 0000:00:1a.1: [8086:3a38] type 0 class 0x000c03
[    2.463836] pci 0000:00:1a.1: reg 20: [io  0xfe00-0xfe1f]
[    2.463928] pci 0000:00:1a.2: [8086:3a39] type 0 class 0x000c03
[    2.464000] pci 0000:00:1a.2: reg 20: [io  0xfd00-0xfd1f]
[    2.464113] pci 0000:00:1a.7: [8086:3a3c] type 0 class 0x000c03
[    2.464148] pci 0000:00:1a.7: reg 10: [mem 0xfbffe000-0xfbffe3ff]
[    2.464305] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
[    2.464312] pci 0000:00:1a.7: PME# disabled
[    2.464357] pci 0000:00:1b.0: [8086:3a3e] type 0 class 0x000403
[    2.464384] pci 0000:00:1b.0: reg 10: [mem 0xfbff4000-0xfbff7fff 64bit=
]
[    2.464508] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    2.464515] pci 0000:00:1b.0: PME# disabled
[    2.464549] pci 0000:00:1c.0: [8086:3a40] type 1 class 0x000604
[    2.464677] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    2.464683] pci 0000:00:1c.0: PME# disabled
[    2.464721] pci 0000:00:1c.1: [8086:3a42] type 1 class 0x000604
[    2.464849] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    2.464855] pci 0000:00:1c.1: PME# disabled
[    2.464897] pci 0000:00:1c.4: [8086:3a48] type 1 class 0x000604
[    2.465026] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    2.465032] pci 0000:00:1c.4: PME# disabled
[    2.465074] pci 0000:00:1d.0: [8086:3a34] type 0 class 0x000c03
[    2.465149] pci 0000:00:1d.0: reg 20: [io  0xfc00-0xfc1f]
[    2.465238] pci 0000:00:1d.1: [8086:3a35] type 0 class 0x000c03
[    2.465313] pci 0000:00:1d.1: reg 20: [io  0xfb00-0xfb1f]
[    2.465402] pci 0000:00:1d.2: [8086:3a36] type 0 class 0x000c03
[    2.465477] pci 0000:00:1d.2: reg 20: [io  0xfa00-0xfa1f]
[    2.465582] pci 0000:00:1d.7: [8086:3a3a] type 0 class 0x000c03
[    2.465617] pci 0000:00:1d.7: reg 10: [mem 0xfbffd000-0xfbffd3ff]
[    2.465771] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    2.465779] pci 0000:00:1d.7: PME# disabled
[    2.465815] pci 0000:00:1e.0: [8086:244e] type 1 class 0x000604
[    2.465928] pci 0000:00:1f.0: [8086:3a16] type 0 class 0x000601
[    2.466059] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0800=
 (mask 000f)
[    2.466064] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0290=
 (mask 000f)
[    2.466147] pci 0000:00:1f.2: [8086:2822] type 0 class 0x000104
[    2.466182] pci 0000:00:1f.2: reg 10: [io  0xf900-0xf907]
[    2.466196] pci 0000:00:1f.2: reg 14: [io  0xf800-0xf803]
[    2.466211] pci 0000:00:1f.2: reg 18: [io  0xf700-0xf707]
[    2.466225] pci 0000:00:1f.2: reg 1c: [io  0xf600-0xf603]
[    2.466239] pci 0000:00:1f.2: reg 20: [io  0xf500-0xf51f]
[    2.466253] pci 0000:00:1f.2: reg 24: [mem 0xfbffc000-0xfbffc7ff]
[    2.466340] pci 0000:00:1f.2: PME# supported from D3hot
[    2.466346] pci 0000:00:1f.2: PME# disabled
[    2.466375] pci 0000:00:1f.3: [8086:3a30] type 0 class 0x000c05
[    2.466402] pci 0000:00:1f.3: reg 10: [mem 0xfbffb000-0xfbffb0ff 64bit=
]
[    2.466441] pci 0000:00:1f.3: reg 20: [io  0x0500-0x051f]
[    2.466557] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    2.466656] pci 0000:02:00.0: [10de:05e1] type 0 class 0x000300
[    2.466676] pci 0000:02:00.0: reg 10: [mem 0xf8000000-0xf8ffffff]
[    2.466696] pci 0000:02:00.0: reg 14: [mem 0xe0000000-0xefffffff 64bit=
 pref]
[    2.466717] pci 0000:02:00.0: reg 1c: [mem 0xf6000000-0xf7ffffff 64bit=
]
[    2.466730] pci 0000:02:00.0: reg 24: [io  0xef00-0xef7f]
[    2.466744] pci 0000:02:00.0: reg 30: [mem 0x00000000-0x0007ffff pref]=

[    2.472216] pci 0000:00:03.0: PCI bridge to [bus 02-02]
[    2.472227] pci 0000:00:03.0:   bridge window [io  0xe000-0xefff]
[    2.472237] pci 0000:00:03.0:   bridge window [mem 0xf6000000-0xf9ffff=
ff]
[    2.472251] pci 0000:00:03.0:   bridge window [mem 0xe0000000-0xefffff=
ff 64bit pref]
[    2.472331] pci 0000:00:07.0: PCI bridge to [bus 03-03]
[    2.472414] pci 0000:00:1c.0: PCI bridge to [bus 04-04]
[    2.472521] pci 0000:05:00.0: [197b:2363] type 0 class 0x000101
[    2.472649] pci 0000:05:00.0: reg 24: [mem 0xfbefe000-0xfbefffff]
[    2.472741] pci 0000:05:00.0: PME# supported from D3hot
[    2.472749] pci 0000:05:00.0: PME# disabled
[    2.472789] pci 0000:05:00.1: [197b:2363] type 0 class 0x000101
[    2.472824] pci 0000:05:00.1: reg 10: [io  0xdf00-0xdf07]
[    2.472845] pci 0000:05:00.1: reg 14: [io  0xde00-0xde03]
[    2.472864] pci 0000:05:00.1: reg 18: [io  0xdd00-0xdd07]
[    2.472884] pci 0000:05:00.1: reg 1c: [io  0xdc00-0xdc03]
[    2.472904] pci 0000:05:00.1: reg 20: [io  0xdb00-0xdb0f]
[    2.473025] pci 0000:05:00.0: disabling ASPM on pre-1.1 PCIe device.  =
You can enable it with 'pcie_aspm=3Dforce'
[    2.473045] pci 0000:00:1c.1: PCI bridge to [bus 05-05]
[    2.473051] pci 0000:00:1c.1:   bridge window [io  0xd000-0xdfff]
[    2.473057] pci 0000:00:1c.1:   bridge window [mem 0xfbe00000-0xfbefff=
ff]
[    2.473161] pci 0000:06:00.0: [10ec:8168] type 0 class 0x000200
[    2.473185] pci 0000:06:00.0: reg 10: [io  0xce00-0xceff]
[    2.473228] pci 0000:06:00.0: reg 18: [mem 0xfbbff000-0xfbbfffff 64bit=
 pref]
[    2.473256] pci 0000:06:00.0: reg 20: [mem 0xfbbf8000-0xfbbfbfff 64bit=
 pref]
[    2.473274] pci 0000:06:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]=

[    2.473374] pci 0000:06:00.0: supports D1 D2
[    2.473376] pci 0000:06:00.0: PME# supported from D0 D1 D2 D3hot D3col=
d
[    2.473384] pci 0000:06:00.0: PME# disabled
[    2.480327] pci 0000:00:1c.4: PCI bridge to [bus 06-06]
[    2.480338] pci 0000:00:1c.4:   bridge window [io  0xc000-0xcfff]
[    2.480348] pci 0000:00:1c.4:   bridge window [mem 0xfbc00000-0xfbcfff=
ff]
[    2.480363] pci 0000:00:1c.4:   bridge window [mem 0xfbb00000-0xfbbfff=
ff 64bit pref]
[    2.480446] pci 0000:07:06.0: [104c:8024] type 0 class 0x000c00
[    2.480475] pci 0000:07:06.0: reg 10: [mem 0xfbdff000-0xfbdff7ff]
[    2.480491] pci 0000:07:06.0: reg 14: [mem 0xfbdf8000-0xfbdfbfff]
[    2.480606] pci 0000:07:06.0: supports D1 D2
[    2.480608] pci 0000:07:06.0: PME# supported from D0 D1 D2 D3hot
[    2.480615] pci 0000:07:06.0: PME# disabled
[    2.480674] pci 0000:00:1e.0: PCI bridge to [bus 07-07] (subtractive d=
ecode)
[    2.480684] pci 0000:00:1e.0:   bridge window [mem 0xfbd00000-0xfbdfff=
ff]
[    2.480694] pci 0000:00:1e.0:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    2.480698] pci 0000:00:1e.0:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    2.480701] pci 0000:00:1e.0:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    2.480705] pci 0000:00:1e.0:   bridge window [mem 0x000c0000-0x000dff=
ff] (subtractive decode)
[    2.480708] pci 0000:00:1e.0:   bridge window [mem 0xdff00000-0xfebfff=
ff] (subtractive decode)
[    2.480766] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    2.481021] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT]
[    2.481077] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX1._PRT]
[    2.481158] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX4._PRT]
[    2.481215] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
[    2.481382]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    2.481387]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    2.481390] ACPI _OSC control for PCIe not granted, disabling ASPM
[    2.511626] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 9 10 11 1=
2 14 15)
[    2.511725] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 *11 1=
2 14 15)
[    2.511822] ACPI: PCI Interrupt Link [LNKC] (IRQs *3 4 5 6 7 9 10 11 1=
2 14 15)
[    2.511918] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 *10 11 1=
2 14 15)
[    2.512015] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12=
 14 15) *0, disabled.
[    2.512113] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 *9 10 11 1=
2 14 15)
[    2.512210] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 *7 9 10 11 1=
2 14 15)
[    2.512306] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 *4 5 6 7 9 10 11 1=
2 14 15)
[    2.512365] xen/balloon: Initialising balloon driver.
[    2.528500] xen-balloon: Initialising balloon driver.
[    2.528525] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    2.528652] vgaarb: device added: PCI:0000:02:00.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    2.528658] vgaarb: loaded
[    2.528659] vgaarb: bridge control possible 0000:02:00.0
[    2.528742] i2c-core: driver [aat2870] using legacy suspend method
[    2.528745] i2c-core: driver [aat2870] using legacy resume method
[    2.528802] SCSI subsystem initialized
[    2.528882] libata version 3.00 loaded.
[    2.528927] usbcore: registered new interface driver usbfs
[    2.528939] usbcore: registered new interface driver hub
[    2.528981] usbcore: registered new device driver usb
[    2.529085] PCI: Using ACPI for IRQ routing
[    2.531669] PCI: Discovered peer bus 3f
[    2.531705] pci 0000:3f:00.0: [8086:2c41] type 0 class 0x000600
[    2.531765] pci 0000:3f:00.1: [8086:2c01] type 0 class 0x000600
[    2.531826] pci 0000:3f:02.0: [8086:2c10] type 0 class 0x000600
[    2.531878] pci 0000:3f:02.1: [8086:2c11] type 0 class 0x000600
[    2.531936] pci 0000:3f:03.0: [8086:2c18] type 0 class 0x000600
[    2.531990] pci 0000:3f:03.1: [8086:2c19] type 0 class 0x000600
[    2.532044] pci 0000:3f:03.4: [8086:2c1c] type 0 class 0x000600
[    2.532100] pci 0000:3f:04.0: [8086:2c20] type 0 class 0x000600
[    2.532152] pci 0000:3f:04.1: [8086:2c21] type 0 class 0x000600
[    2.532203] pci 0000:3f:04.2: [8086:2c22] type 0 class 0x000600
[    2.532255] pci 0000:3f:04.3: [8086:2c23] type 0 class 0x000600
[    2.532312] pci 0000:3f:05.0: [8086:2c28] type 0 class 0x000600
[    2.532364] pci 0000:3f:05.1: [8086:2c29] type 0 class 0x000600
[    2.532417] pci 0000:3f:05.2: [8086:2c2a] type 0 class 0x000600
[    2.532470] pci 0000:3f:05.3: [8086:2c2b] type 0 class 0x000600
[    2.532527] pci 0000:3f:06.0: [8086:2c30] type 0 class 0x000600
[    2.532579] pci 0000:3f:06.1: [8086:2c31] type 0 class 0x000600
[    2.532631] pci 0000:3f:06.2: [8086:2c32] type 0 class 0x000600
[    2.532683] pci 0000:3f:06.3: [8086:2c33] type 0 class 0x000600
[    2.533181] PCI: pci_cache_line_size set to 64 bytes
[    2.533395] reserve RAM buffer: 0000000000097000 - 000000000009ffff=20
[    2.533399] reserve RAM buffer: 00000000dfee0000 - 00000000dfffffff=20
[    2.533402] reserve RAM buffer: 0000000180120000 - 0000000183ffffff=20
[    2.533484] NetLabel: Initializing
[    2.533487] NetLabel:  domain hash size =3D 128
[    2.533489] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    2.533498] NetLabel:  unlabeled traffic allowed by default
[    2.533578] Switching to clocksource xen
[    2.539394] AppArmor: AppArmor Filesystem Enabled
[    2.539411] pnp: PnP ACPI init
[    2.539420] ACPI: bus type pnp registered
[    2.539581] pnp 00:00: [bus 00-3f]
[    2.539585] pnp 00:00: [io  0x0cf8-0x0cff]
[    2.539587] pnp 00:00: [io  0x0000-0x0cf7 window]
[    2.539590] pnp 00:00: [io  0x0d00-0xffff window]
[    2.539593] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    2.539596] pnp 00:00: [mem 0x000c0000-0x000dffff window]
[    2.539598] pnp 00:00: [mem 0xdff00000-0xfebfffff window]
[    2.539673] pnp 00:00: Plug and Play ACPI device, IDs PNP0a03 (active)=

[    2.539822] pnp 00:01: [io  0x0010-0x001f]
[    2.539825] pnp 00:01: [io  0x0022-0x003f]
[    2.539827] pnp 00:01: [io  0x0044-0x005f]
[    2.539830] pnp 00:01: [io  0x0062-0x0063]
[    2.539832] pnp 00:01: [io  0x0065-0x006f]
[    2.539834] pnp 00:01: [io  0x0074-0x007f]
[    2.539837] pnp 00:01: [io  0x0091-0x0093]
[    2.539839] pnp 00:01: [io  0x00a2-0x00bf]
[    2.539841] pnp 00:01: [io  0x00e0-0x00ef]
[    2.539844] pnp 00:01: [io  0x04d0-0x04d1]
[    2.539846] pnp 00:01: [io  0x0290-0x029f]
[    2.539848] pnp 00:01: [io  0x0800-0x087f]
[    2.539850] pnp 00:01: [io  0x0290-0x0294]
[    2.539853] pnp 00:01: [io  0x0880-0x088f]
[    2.539927] system 00:01: [io  0x04d0-0x04d1] has been reserved
[    2.539930] system 00:01: [io  0x0290-0x029f] has been reserved
[    2.539934] system 00:01: [io  0x0800-0x087f] has been reserved
[    2.539937] system 00:01: [io  0x0290-0x0294] has been reserved
[    2.539940] system 00:01: [io  0x0880-0x088f] has been reserved
[    2.539944] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    2.539964] pnp 00:02: [dma 4]
[    2.539966] pnp 00:02: [io  0x0000-0x000f]
[    2.539968] pnp 00:02: [io  0x0080-0x0090]
[    2.539971] pnp 00:02: [io  0x0094-0x009f]
[    2.539973] pnp 00:02: [io  0x00c0-0x00df]
[    2.540007] pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)=

[    2.540105] pnp 00:03: [irq 0 disabled]
[    2.540109] xen: registering gsi 8 triggering 1 polarity 0
[    2.540114] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    2.540116] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    2.540123] pnp 00:03: [irq 8]
[    2.540125] pnp 00:03: [mem 0xfed00000-0xfed003ff]
[    2.540166] pnp 00:03: Plug and Play ACPI device, IDs PNP0103 (active)=

[    2.540220] pnp 00:04: [io  0x0070-0x0073]
[    2.540260] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    2.540276] pnp 00:05: [io  0x0061]
[    2.540313] pnp 00:05: Plug and Play ACPI device, IDs PNP0800 (active)=

[    2.540327] pnp 00:06: [io  0x00f0-0x00ff]
[    2.540330] xen: registering gsi 13 triggering 1 polarity 0
[    2.540334] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    2.540336] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    2.540341] pnp 00:06: [irq 13]
[    2.540380] pnp 00:06: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    2.540755] pnp 00:07: [io  0x0400-0x04cf]
[    2.540758] pnp 00:07: [io  0x04d2-0x04ff]
[    2.540828] system 00:07: [io  0x0400-0x04cf] has been reserved
[    2.540832] system 00:07: [io  0x04d2-0x04ff] has been reserved
[    2.540836] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    2.541231] pnp 00:08: [mem 0xf0000000-0xf3ffffff]
[    2.541316] system 00:08: [mem 0xf0000000-0xf3ffffff] has been reserve=
d
[    2.541320] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    2.541752] pnp 00:09: [mem 0x000d5200-0x000d7fff]
[    2.541756] pnp 00:09: [mem 0x000f0000-0x000f7fff]
[    2.541758] pnp 00:09: [mem 0x000f8000-0x000fbfff]
[    2.541761] pnp 00:09: [mem 0x000fc000-0x000fffff]
[    2.541764] pnp 00:09: [mem 0xdfee0000-0xdfefffff]
[    2.541766] pnp 00:09: [mem 0x00000000-0x0009ffff]
[    2.541769] pnp 00:09: [mem 0x00100000-0xdfedffff]
[    2.541771] pnp 00:09: [mem 0xfec00000-0xfec00fff]
[    2.541774] pnp 00:09: [mem 0xfed10000-0xfed1dfff]
[    2.541776] pnp 00:09: [mem 0xfed20000-0xfed8ffff]
[    2.541779] pnp 00:09: [mem 0xfee00000-0xfee00fff]
[    2.541781] pnp 00:09: [mem 0xffb00000-0xffb7ffff]
[    2.541784] pnp 00:09: [mem 0xfff00000-0xffffffff]
[    2.541786] pnp 00:09: [mem 0x000e0000-0x000effff]
[    2.541878] system 00:09: [mem 0x000d5200-0x000d7fff] could not be res=
erved
[    2.541881] system 00:09: [mem 0x000f0000-0x000f7fff] could not be res=
erved
[    2.541885] system 00:09: [mem 0x000f8000-0x000fbfff] could not be res=
erved
[    2.541888] system 00:09: [mem 0x000fc000-0x000fffff] could not be res=
erved
[    2.541891] system 00:09: [mem 0xdfee0000-0xdfefffff] could not be res=
erved
[    2.541894] system 00:09: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    2.541897] system 00:09: [mem 0x00100000-0xdfedffff] could not be res=
erved
[    2.541901] system 00:09: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    2.541904] system 00:09: [mem 0xfed10000-0xfed1dfff] has been reserve=
d
[    2.541907] system 00:09: [mem 0xfed20000-0xfed8ffff] has been reserve=
d
[    2.541910] system 00:09: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    2.541914] system 00:09: [mem 0xffb00000-0xffb7ffff] has been reserve=
d
[    2.541917] system 00:09: [mem 0xfff00000-0xffffffff] has been reserve=
d
[    2.541920] system 00:09: [mem 0x000e0000-0x000effff] could not be res=
erved
[    2.541924] system 00:09: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    2.541960] pnp 00:0a: [mem 0xffb80000-0xffbfffff]
[    2.542018] pnp 00:0a: Plug and Play ACPI device, IDs INT0800 (active)=

[    2.542028] pnp: PnP ACPI: found 11 devices
[    2.542030] ACPI: ACPI bus type pnp unregistered
[    2.548697] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    2.548723] PCI: max bus depth: 1 pci_try_num: 2
[    2.548819] pci 0000:00:1c.1: BAR 15: assigned [mem 0xf4000000-0xf41ff=
fff 64bit pref]
[    2.548824] pci 0000:00:1c.0: BAR 14: assigned [mem 0xf4200000-0xf43ff=
fff]
[    2.548827] pci 0000:00:1c.0: BAR 15: assigned [mem 0xf4400000-0xf45ff=
fff 64bit pref]
[    2.548832] pci 0000:00:1c.0: BAR 13: assigned [io  0x1000-0x1fff]
[    2.548835] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    2.548852] pci 0000:02:00.0: BAR 6: assigned [mem 0xf9000000-0xf907ff=
ff pref]
[    2.548855] pci 0000:00:03.0: PCI bridge to [bus 02-02]
[    2.548860] pci 0000:00:03.0:   bridge window [io  0xe000-0xefff]
[    2.548867] pci 0000:00:03.0:   bridge window [mem 0xf6000000-0xf9ffff=
ff]
[    2.548873] pci 0000:00:03.0:   bridge window [mem 0xe0000000-0xefffff=
ff 64bit pref]
[    2.548882] pci 0000:00:07.0: PCI bridge to [bus 03-03]
[    2.548897] pci 0000:00:1c.0: PCI bridge to [bus 04-04]
[    2.548902] pci 0000:00:1c.0:   bridge window [io  0x1000-0x1fff]
[    2.548910] pci 0000:00:1c.0:   bridge window [mem 0xf4200000-0xf43fff=
ff]
[    2.548916] pci 0000:00:1c.0:   bridge window [mem 0xf4400000-0xf45fff=
ff 64bit pref]
[    2.548926] pci 0000:00:1c.1: PCI bridge to [bus 05-05]
[    2.548930] pci 0000:00:1c.1:   bridge window [io  0xd000-0xdfff]
[    2.548938] pci 0000:00:1c.1:   bridge window [mem 0xfbe00000-0xfbefff=
ff]
[    2.548944] pci 0000:00:1c.1:   bridge window [mem 0xf4000000-0xf41fff=
ff 64bit pref]
[    2.548955] pci 0000:06:00.0: BAR 6: assigned [mem 0xfbb00000-0xfbb1ff=
ff pref]
[    2.548958] pci 0000:00:1c.4: PCI bridge to [bus 06-06]
[    2.548962] pci 0000:00:1c.4:   bridge window [io  0xc000-0xcfff]
[    2.548970] pci 0000:00:1c.4:   bridge window [mem 0xfbc00000-0xfbcfff=
ff]
[    2.548976] pci 0000:00:1c.4:   bridge window [mem 0xfbb00000-0xfbbfff=
ff 64bit pref]
[    2.548986] pci 0000:00:1e.0: PCI bridge to [bus 07-07]
[    2.548993] pci 0000:00:1e.0:   bridge window [mem 0xfbd00000-0xfbdfff=
ff]
[    2.549012] xen: registering gsi 16 triggering 0 polarity 1
[    2.549023] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549028] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549036] pci 0000:00:01.0: setting latency timer to 64
[    2.549044] xen: registering gsi 16 triggering 0 polarity 1
[    2.549047] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549050] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549052] Already setup the GSI :16
[    2.549055] pci 0000:00:03.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549061] pci 0000:00:03.0: setting latency timer to 64
[    2.549068] xen: registering gsi 16 triggering 0 polarity 1
[    2.549071] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549074] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549076] Already setup the GSI :16
[    2.549079] pci 0000:00:07.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549086] pci 0000:00:07.0: setting latency timer to 64
[    2.549096] pci 0000:00:1c.0: enabling device (0000 -> 0003)
[    2.549100] xen: registering gsi 16 triggering 0 polarity 1
[    2.549103] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549106] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549108] Already setup the GSI :16
[    2.549111] pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549119] pci 0000:00:1c.0: setting latency timer to 64
[    2.549127] xen: registering gsi 17 triggering 0 polarity 1
[    2.549133] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.549138] pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    2.549144] pci 0000:00:1c.1: setting latency timer to 64
[    2.549153] xen: registering gsi 16 triggering 0 polarity 1
[    2.549156] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.549159] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.549161] Already setup the GSI :16
[    2.549164] pci 0000:00:1c.4: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.549170] pci 0000:00:1c.4: setting latency timer to 64
[    2.549181] pci 0000:00:1e.0: setting latency timer to 64
[    2.549186] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    2.549189] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    2.549192] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    2.549195] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000dffff]
[    2.549198] pci_bus 0000:00: resource 8 [mem 0xdff00000-0xfebfffff]
[    2.549201] pci_bus 0000:02: resource 0 [io  0xe000-0xefff]
[    2.549205] pci_bus 0000:02: resource 1 [mem 0xf6000000-0xf9ffffff]
[    2.549208] pci_bus 0000:02: resource 2 [mem 0xe0000000-0xefffffff 64b=
it pref]
[    2.549213] pci_bus 0000:04: resource 0 [io  0x1000-0x1fff]
[    2.549216] pci_bus 0000:04: resource 1 [mem 0xf4200000-0xf43fffff]
[    2.549220] pci_bus 0000:04: resource 2 [mem 0xf4400000-0xf45fffff 64b=
it pref]
[    2.549224] pci_bus 0000:05: resource 0 [io  0xd000-0xdfff]
[    2.549228] pci_bus 0000:05: resource 1 [mem 0xfbe00000-0xfbefffff]
[    2.549232] pci_bus 0000:05: resource 2 [mem 0xf4000000-0xf41fffff 64b=
it pref]
[    2.549236] pci_bus 0000:06: resource 0 [io  0xc000-0xcfff]
[    2.549239] pci_bus 0000:06: resource 1 [mem 0xfbc00000-0xfbcfffff]
[    2.549243] pci_bus 0000:06: resource 2 [mem 0xfbb00000-0xfbbfffff 64b=
it pref]
[    2.549247] pci_bus 0000:07: resource 1 [mem 0xfbd00000-0xfbdfffff]
[    2.549251] pci_bus 0000:07: resource 4 [io  0x0000-0x0cf7]
[    2.549254] pci_bus 0000:07: resource 5 [io  0x0d00-0xffff]
[    2.549258] pci_bus 0000:07: resource 6 [mem 0x000a0000-0x000bffff]
[    2.549262] pci_bus 0000:07: resource 7 [mem 0x000c0000-0x000dffff]
[    2.549265] pci_bus 0000:07: resource 8 [mem 0xdff00000-0xfebfffff]
[    2.549269] pci_bus 0000:3f: resource 0 [io  0x0000-0xffff]
[    2.549272] pci_bus 0000:3f: resource 1 [mem 0x00000000-0xfffffffff]
[    2.549307] NET: Registered protocol family 2
[    2.549520] IP route cache hash table entries: 65536 (order: 7, 524288=
 bytes)
[    2.550969] TCP established hash table entries: 262144 (order: 10, 419=
4304 bytes)
[    2.551996] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    2.552158] TCP: Hash tables configured (established 262144 bind 65536=
)
[    2.552161] TCP reno registered
[    2.552204] UDP hash table entries: 4096 (order: 5, 131072 bytes)
[    2.552268] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes)=

[    2.552352] NET: Registered protocol family 1
[    2.552399] xen: registering gsi 16 triggering 0 polarity 1
[    2.552405] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.552407] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.552410] Already setup the GSI :16
[    2.552413] pci 0000:00:1a.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    2.552437] pci 0000:00:1a.0: PCI INT A disabled
[    2.552446] xen: registering gsi 21 triggering 0 polarity 1
[    2.552453] xen: --> pirq=3D21 -> irq=3D21 (gsi=3D21)
[    2.552458] pci 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) -> IRQ =
21
[    2.552481] pci 0000:00:1a.1: PCI INT B disabled
[    2.552489] xen: registering gsi 18 triggering 0 polarity 1
[    2.552495] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.552500] pci 0000:00:1a.2: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    2.552523] pci 0000:00:1a.2: PCI INT C disabled
[    2.552533] xen: registering gsi 18 triggering 0 polarity 1
[    2.552536] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.552539] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.552541] Already setup the GSI :18
[    2.552544] pci 0000:00:1a.7: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    2.565694] pci 0000:00:1a.7: PCI INT C disabled
[    2.565728] xen: registering gsi 23 triggering 0 polarity 1
[    2.565736] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.565741] pci 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ =
23
[    2.565763] pci 0000:00:1d.0: PCI INT A disabled
[    2.565772] xen: registering gsi 19 triggering 0 polarity 1
[    2.565778] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    2.565782] pci 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    2.565805] pci 0000:00:1d.1: PCI INT B disabled
[    2.565813] xen: registering gsi 18 triggering 0 polarity 1
[    2.565816] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.565819] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.565821] Already setup the GSI :18
[    2.565824] pci 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    2.565846] pci 0000:00:1d.2: PCI INT C disabled
[    2.565857] xen: registering gsi 23 triggering 0 polarity 1
[    2.565860] xen_map_pirq_gsi: returning irq 23 for gsi 23
[    2.565862] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.565865] Already setup the GSI :23
[    2.565867] pci 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ =
23
[    2.581691] pci 0000:00:1d.7: PCI INT A disabled
[    2.581738] pci 0000:02:00.0: Boot video device
[    2.581791] PCI: CLS 64 bytes, default 64
[    2.582332] audit: initializing netlink socket (disabled)
[    2.582344] type=3D2000 audit(1336124227.574:1): initialized
[    2.601350] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    2.602798] VFS: Disk quotas dquot_6.5.2
[    2.602848] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.603292] fuse init (API version 7.17)
[    2.603394] msgmni has been set to 655
[    2.603880] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    2.603921] io scheduler noop registered
[    2.603925] io scheduler deadline registered
[    2.603959] io scheduler cfq registered (default)
[    2.604276] pcieport 0000:00:1c.0: setting latency timer to 64
[    2.604443] pcieport 0000:00:1c.1: setting latency timer to 64
[    2.604593] pcieport 0000:00:1c.4: setting latency timer to 64
[    2.604763] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    2.604784] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    2.604895] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    2.604901] ACPI: Power Button [PWRB]
[    2.604945] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    2.604949] ACPI: Power Button [PWRF]
[    2.609738] ERST: Table is not found!
[    2.609742] GHES: HEST is not enabled!
[    2.610105] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    2.764246] hpet_acpi_add: no address or irqs in _CRS
[    2.764262] Linux agpgart interface v0.103
[    2.765650] brd: module loaded
[    2.766434] loop: module loaded
[    2.766554] ahci 0000:00:1f.2: version 3.0
[    2.766567] xen: registering gsi 19 triggering 0 polarity 1
[    2.766572] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    2.766575] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    2.766578] Already setup the GSI :19
[    2.766581] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ=
 19
[    2.766663] ahci 0000:00:1f.2: controller can't do SNTF, turning off C=
AP_SNTF
[    2.766686] ahci: SSS flag set, parallel bus scan disabled
[    2.766725] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps =
0x3f impl RAID mode
[    2.766729] ahci 0000:00:1f.2: flags: 64bit ncq stag pm led clo pmp pi=
o slum part ccc ems=20
[    2.766736] ahci 0000:00:1f.2: setting latency timer to 64
[    2.806086] scsi0 : ahci
[    2.806164] scsi1 : ahci
[    2.806231] scsi2 : ahci
[    2.806301] scsi3 : ahci
[    2.806367] scsi4 : ahci
[    2.806433] scsi5 : ahci
[    2.806671] ata1: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
100 irq 325
[    2.806676] ata2: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
180 irq 325
[    2.806679] ata3: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
200 irq 325
[    2.806683] ata4: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
280 irq 325
[    2.806687] ata5: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
300 irq 325
[    2.806690] ata6: SATA max UDMA/133 abar m2048@0xfbffc000 port 0xfbffc=
380 irq 325
[    2.806715] xen: registering gsi 17 triggering 0 polarity 1
[    2.806719] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.806722] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.806724] Already setup the GSI :17
[    2.806727] ahci 0000:05:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ=
 17
[    2.821697] ahci 0000:05:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps =
0x3 impl SATA mode
[    2.821705] ahci 0000:05:00.0: flags: 64bit ncq pm led clo pmp pio slu=
m part=20
[    2.821717] ahci 0000:05:00.0: setting latency timer to 64
[    2.821961] scsi6 : ahci
[    2.822036] scsi7 : ahci
[    2.822147] ata7: SATA max UDMA/133 abar m8192@0xfbefe000 port 0xfbefe=
100 irq 17
[    2.822152] ata8: SATA max UDMA/133 abar m8192@0xfbefe000 port 0xfbefe=
180 irq 17
[    2.822245] pata_acpi 0000:05:00.1: enabling device (0000 -> 0001)
[    2.822252] xen: registering gsi 18 triggering 0 polarity 1
[    2.822257] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.822259] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.822262] Already setup the GSI :18
[    2.822265] pata_acpi 0000:05:00.1: PCI INT B -> GSI 18 (level, low) -=
> IRQ 18
[    2.822293] pata_acpi 0000:05:00.1: setting latency timer to 64
[    2.822308] pata_acpi 0000:05:00.1: PCI INT B disabled
[    2.822536] Fixed MDIO Bus: probed
[    2.822551] tun: Universal TUN/TAP device driver, 1.6
[    2.822553] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    2.822607] PPP generic driver version 2.4.2
[    2.822704] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    2.822722] xen: registering gsi 18 triggering 0 polarity 1
[    2.822727] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.822729] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.822732] Already setup the GSI :18
[    2.822735] ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.822753] ehci_hcd 0000:00:1a.7: setting latency timer to 64
[    2.822758] ehci_hcd 0000:00:1a.7: EHCI Host Controller
[    2.822803] ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bu=
s number 1
[    2.822850] ehci_hcd 0000:00:1a.7: debug port 1
[    2.826735] ehci_hcd 0000:00:1a.7: cache line size of 64 is not suppor=
ted
[    2.826753] ehci_hcd 0000:00:1a.7: irq 18, io mem 0xfbffe000
[    2.841667] ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00
[    2.841804] hub 1-0:1.0: USB hub found
[    2.841809] hub 1-0:1.0: 6 ports detected
[    2.841884] xen: registering gsi 23 triggering 0 polarity 1
[    2.841888] xen_map_pirq_gsi: returning irq 23 for gsi 23
[    2.841891] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.841893] Already setup the GSI :23
[    2.841896] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) ->=
 IRQ 23
[    2.841914] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    2.841919] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    2.841966] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bu=
s number 2
[    2.842007] ehci_hcd 0000:00:1d.7: debug port 1
[    2.845901] ehci_hcd 0000:00:1d.7: cache line size of 64 is not suppor=
ted
[    2.845919] ehci_hcd 0000:00:1d.7: irq 23, io mem 0xfbffd000
[    2.861667] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    2.861792] hub 2-0:1.0: USB hub found
[    2.861797] hub 2-0:1.0: 6 ports detected
[    2.861871] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.861886] uhci_hcd: USB Universal Host Controller Interface driver
[    2.861905] xen: registering gsi 16 triggering 0 polarity 1
[    2.861909] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    2.861912] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.861914] Already setup the GSI :16
[    2.861917] uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    2.861930] uhci_hcd 0000:00:1a.0: setting latency timer to 64
[    2.861934] uhci_hcd 0000:00:1a.0: UHCI Host Controller
[    2.861981] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bu=
s number 3
[    2.862024] uhci_hcd 0000:00:1a.0: irq 16, io base 0x0000ff00
[    2.862160] hub 3-0:1.0: USB hub found
[    2.862165] hub 3-0:1.0: 2 ports detected
[    2.862233] xen: registering gsi 21 triggering 0 polarity 1
[    2.862237] xen_map_pirq_gsi: returning irq 21 for gsi 21
[    2.862240] xen: --> pirq=3D21 -> irq=3D21 (gsi=3D21)
[    2.862242] Already setup the GSI :21
[    2.862245] uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) ->=
 IRQ 21
[    2.862255] uhci_hcd 0000:00:1a.1: setting latency timer to 64
[    2.862260] uhci_hcd 0000:00:1a.1: UHCI Host Controller
[    2.862310] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bu=
s number 4
[    2.862352] uhci_hcd 0000:00:1a.1: irq 21, io base 0x0000fe00
[    2.862479] hub 4-0:1.0: USB hub found
[    2.862484] hub 4-0:1.0: 2 ports detected
[    2.862551] xen: registering gsi 18 triggering 0 polarity 1
[    2.862556] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.862559] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.862561] Already setup the GSI :18
[    2.862564] uhci_hcd 0000:00:1a.2: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.862574] uhci_hcd 0000:00:1a.2: setting latency timer to 64
[    2.862579] uhci_hcd 0000:00:1a.2: UHCI Host Controller
[    2.862626] uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bu=
s number 5
[    2.862656] uhci_hcd 0000:00:1a.2: irq 18, io base 0x0000fd00
[    2.862781] hub 5-0:1.0: USB hub found
[    2.862786] hub 5-0:1.0: 2 ports detected
[    2.862854] xen: registering gsi 23 triggering 0 polarity 1
[    2.862858] xen_map_pirq_gsi: returning irq 23 for gsi 23
[    2.862861] xen: --> pirq=3D23 -> irq=3D23 (gsi=3D23)
[    2.862864] Already setup the GSI :23
[    2.862867] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) ->=
 IRQ 23
[    2.862877] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    2.862881] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    2.862928] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bu=
s number 6
[    2.862959] uhci_hcd 0000:00:1d.0: irq 23, io base 0x0000fc00
[    2.863090] hub 6-0:1.0: USB hub found
[    2.863095] hub 6-0:1.0: 2 ports detected
[    2.863165] xen: registering gsi 19 triggering 0 polarity 1
[    2.863169] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    2.863172] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    2.863174] Already setup the GSI :19
[    2.863177] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    2.863187] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    2.863192] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    2.863239] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bu=
s number 7
[    2.863282] uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000fb00
[    2.863406] hub 7-0:1.0: USB hub found
[    2.863411] hub 7-0:1.0: 2 ports detected
[    2.863478] xen: registering gsi 18 triggering 0 polarity 1
[    2.863483] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.863486] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.863488] Already setup the GSI :18
[    2.863491] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.863501] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    2.863506] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    2.863556] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bu=
s number 8
[    2.863588] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000fa00
[    2.863713] hub 8-0:1.0: USB hub found
[    2.863718] hub 8-0:1.0: 2 ports detected
[    2.863832] usbcore: registered new interface driver libusual
[    2.863860] i8042: PNP: No PS/2 controller found. Probing ports direct=
ly.
[    2.864282] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.864290] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.864434] mousedev: PS/2 mouse device common for all mice
[    2.864615] rtc_cmos 00:04: RTC can wake from S4
[    2.864746] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.864778] rtc0: alarms up to one month, 242 bytes nvram
[    2.864840] device-mapper: uevent: version 1.0.3
[    2.864917] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.864924] EFI Variables Facility v0.08 2004-May-17
[    2.865139] TCP cubic registered
[    2.865218] NET: Registered protocol family 10
[    2.865693] NET: Registered protocol family 17
[    2.865709] Registering the dns_resolver key type
[    2.865853] PM: Hibernation image not present or could not be loaded.
[    2.865863] registered taskstats version 1
[    2.874865]   Magic number: 12:825:625
[    2.874953] rtc_cmos 00:04: setting system clock to 2012-05-04 09:37:0=
7 UTC (1336124227)
[    2.875310] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.875313] EDD information not available.
[    3.125677] ata1: SATA link down (SStatus 0 SControl 300)
[    3.209669] usb 1-2: new high-speed USB device number 3 using ehci_hcd=

[    3.313680] ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    3.313711] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    3.314188] ata8.00: ATAPI: TSSTcorp CDDVDW SH-S223Q, SB02, max UDMA/1=
00
[    3.314514] ata7.00: HPA detected: current 976771055, native 976773168=

[    3.314603] ata7.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    3.314610] ata7.00: 976771055 sectors, multi 16: LBA48 NCQ (depth 31/=
32), AA
[    3.314919] ata8.00: configured for UDMA/100
[    3.315569] ata7.00: configured for UDMA/133
[    3.343469] hub 1-2:1.0: USB hub found
[    3.343799] hub 1-2:1.0: 4 ports detected
[    3.445676] ata2: SATA link down (SStatus 0 SControl 300)
[    3.581676] usb 3-1: new low-speed USB device number 2 using uhci_hcd
[    3.845940] usb 1-2.1: new full-speed USB device number 4 using ehci_h=
cd
[    3.937680] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    3.938574] ata3.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    3.938581] ata3.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    3.939522] ata3.00: configured for UDMA/133
[    3.939618] scsi 2:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    3.939738] sd 2:0:0:0: [sda] 976773168 512-byte logical blocks: (500 =
GB/465 GiB)
[    3.939764] sd 2:0:0:0: Attached scsi generic sg0 type 0
[    3.939857] sd 2:0:0:0: [sda] Write Protect is off
[    3.939862] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    3.939910] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    3.952649]  sda: sda1 < >
[    3.952948] sd 2:0:0:0: [sda] Attached SCSI disk
[    4.013936] usb 1-2.3: new high-speed USB device number 5 using ehci_h=
cd
[    4.107479] hub 1-2.3:1.0: USB hub found
[    4.107808] hub 1-2.3:1.0: 4 ports detected
[    4.257672] ata4: SATA link down (SStatus 0 SControl 300)
[    4.377921] usb 1-2.3.3: new low-speed USB device number 6 using ehci_=
hcd
[    4.749671] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    4.750538] ata5.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    4.750545] ata5.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    4.751475] ata5.00: configured for UDMA/133
[    4.751552] scsi 4:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    4.751681] sd 4:0:0:0: Attached scsi generic sg1 type 0
[    4.751686] sd 4:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 =
GB/465 GiB)
[    4.751768] sd 4:0:0:0: [sdb] Write Protect is off
[    4.751772] sd 4:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    4.751797] sd 4:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    4.759298]  sdb: sdb1 < sdb5 >
[    4.759566] sd 4:0:0:0: [sdb] Attached SCSI disk
[    5.241676] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    5.242570] ata6.00: ATA-8: WDC WD5002ABYS-01B1B0, 02.03B02, max UDMA/=
133
[    5.242577] ata6.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    5.243554] ata6.00: configured for UDMA/133
[    5.243619] scsi 5:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    5.243730] sd 5:0:0:0: [sdc] 976773168 512-byte logical blocks: (500 =
GB/465 GiB)
[    5.243742] sd 5:0:0:0: Attached scsi generic sg2 type 0
[    5.243804] sd 5:0:0:0: [sdc] Write Protect is off
[    5.243809] sd 5:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    5.243837] sd 5:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    5.243867] scsi 6:0:0:0: Direct-Access     ATA      WDC WD5002ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    5.243993] sd 6:0:0:0: [sdd] 976771055 512-byte logical blocks: (500 =
GB/465 GiB)
[    5.244017] sd 6:0:0:0: Attached scsi generic sg3 type 0
[    5.244084] sd 6:0:0:0: [sdd] Write Protect is off
[    5.244089] sd 6:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    5.244155] sd 6:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    5.244645] scsi 7:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223Q  =
SB02 PQ: 0 ANSI: 5
[    5.247992] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    5.247999] cdrom: Uniform CD-ROM driver Revision: 3.20
[    5.248118] sr 7:0:0:0: Attached scsi CD-ROM sr0
[    5.248197] sr 7:0:0:0: Attached scsi generic sg4 type 5
[    5.250149]  sdc: unknown partition table
[    5.250336] sd 5:0:0:0: [sdc] Attached SCSI disk
[    5.267374]  sdd: sdd1 sdd2 sdd3 sdd4
[    5.267760] sd 6:0:0:0: [sdd] Attached SCSI disk
[    5.268071] Freeing unused kernel memory: 920k freed
[    5.268219] Write protecting the kernel read-only data: 12288k
[    5.272885] Freeing unused kernel memory: 1520k freed
[    5.273494] Freeing unused kernel memory: 1140k freed
[    5.308013] udevd[132]: starting version 175
[    5.331716] xor: automatically using best checksumming function: gener=
ic_sse
[    5.349663]    generic_sse:  2980.000 MB/sec
[    5.349671] xor: using function: generic_sse (2980.000 MB/sec)
[    5.350809] device-mapper: dm-raid45: initialized v0.2594b
[    5.390280] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    5.390312] xen: registering gsi 16 triggering 0 polarity 1
[    5.390324] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    5.390329] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    5.390335] Already setup the GSI :16
[    5.390341] r8169 0000:06:00.0: PCI INT A -> GSI 16 (level, low) -> IR=
Q 16
[    5.390390] r8169 0000:06:00.0: setting latency timer to 64
[    5.391065] r8169 0000:06:00.0: eth0: RTL8168d/8111d at 0xffffc90000c2=
a000, 00:1f:d0:dc:30:92, XID 081000c0 IRQ 326
[    5.391072] r8169 0000:06:00.0: eth0: jumbo features [frames: 9200 byt=
es, tx checksumming: ko]
[    5.400017] xen: registering gsi 18 triggering 0 polarity 1
[    5.400028] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    5.400033] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    5.400037] Already setup the GSI :18
[    5.400045] firewire_ohci 0000:07:06.0: PCI INT A -> GSI 18 (level, lo=
w) -> IRQ 18
[    5.426325] input: HID 046a:0011 as /devices/pci0000:00/0000:00:1a.0/u=
sb3/3-1/3-1:1.0/input/input2
[    5.426466] generic-usb 0003:046A:0011.0001: input,hidraw0: USB HID v1=
=2E11 Keyboard [HID 046a:0011] on usb-0000:00:1a.0-1/input0
[    5.444109] input: Microsoft SideWinder Force Feedback 2 Joystick as /=
devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2.1/1-2.1:1.0/input/input3
[    5.453759] firewire_ohci: Added fw-ohci device 0000:07:06.0, OHCI v1.=
10, 4 IR + 8 IT contexts, quirks 0x2
[    5.457035] generic-usb 0003:045E:001B.0002: device reports 0 simultan=
eous effects
[    5.466411] generic-usb 0003:045E:001B.0002: pid_block_load failed 60 =
times
[    5.466415] generic-usb 0003:045E:001B.0002: upload request failed
[    5.466422] generic-usb 0003:045E:001B.0002: input,hidraw1: USB HID v1=
=2E00 Joystick [Microsoft SideWinder Force Feedback 2 Joystick] on usb-00=
00:00:1a.7-2.1/input0
[    5.468987] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000=
:00/0000:00:1a.7/usb1/1-2/1-2.3/1-2.3.3/1-2.3.3:1.0/input/input4
[    5.469093] generic-usb 0003:046D:C03F.0003: input,hidraw2: USB HID v1=
=2E10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.7-2.3.3/i=
nput0
[    5.469114] usbcore: registered new interface driver usbhid
[    5.469116] usbhid: USB HID core driver
[    5.887488] EXT4-fs (dm-0): mounted filesystem with ordered data mode.=
 Opts: (null)
[    5.953765] firewire_core: created device fw0: GUID 00ac14fa00001fd0, =
S400
[    6.089730] device-mapper: dm-raid45: /dev/sda is raid disk 0
[    6.089735] device-mapper: dm-raid45: /dev/sdb is raid disk 1
[    6.089738] device-mapper: dm-raid45: /dev/sdc is raid disk 2
[    6.089742] device-mapper: dm-raid45: 128/128/256 sectors chunk/io/rec=
overy size, 80 stripes
[    6.089743] algorithm "xor_32", 8 chunks with 9687MB/s
[    6.089744] RAID5 (left asymmetric) set with net 2/3 devices
[   12.114699] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   12.138489] udevd[813]: starting version 175
[   12.142198] Adding 8000364k swap on /dev/sdd3.  Priority:-1 extents:1 =
across:8000364k=20
[   12.154311] lp: driver loaded but no devices found
[   12.163818] it87: Found IT8720F chip at 0x290, revision 5
[   12.163831] it87: VID is disabled (pins used for GPIO)
[   12.163850] it87: Routing internal VCCH to in7
[   12.163857] it87: Beeping is supported
[   12.180420] wmi: Mapper loaded
[   12.184995] [drm] Initialized drm 1.1.0 20060810
[   12.200678] EDAC MC: Ver: 2.1.0
[   12.202418] EDAC MC0: Giving out device to 'i7core_edac.c' 'i7 core #0=
': DEV 0000:3f:03.0
[   12.202444] EDAC PCI0: Giving out device to module 'i7core_edac' contr=
oller 'EDAC PCI controller': DEV '0000:3f:03.0' (POLLED)
[   12.202451] EDAC i7core: Driver loaded, 1 memory controller(s) found.
[   12.216439] xen: registering gsi 22 triggering 0 polarity 1
[   12.216454] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[   12.216462] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, lo=
w) -> IRQ 22
[   12.216611] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[   12.217497] xen: registering gsi 18 triggering 0 polarity 1
[   12.217502] xen_map_pirq_gsi: returning irq 18 for gsi 18
[   12.217505] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[   12.217508] Already setup the GSI :18
[   12.217512] pata_jmicron 0000:05:00.1: PCI INT B -> GSI 18 (level, low=
) -> IRQ 18
[   12.217548] pata_jmicron 0000:05:00.1: setting latency timer to 64
[   12.218032] scsi8 : pata_jmicron
[   12.218152] scsi9 : pata_jmicron
[   12.219786] ata9: PATA max UDMA/100 cmd 0xdf00 ctl 0xde00 bmdma 0xdb00=
 irq 18
[   12.219790] ata10: PATA max UDMA/100 cmd 0xdd00 ctl 0xdc00 bmdma 0xdb0=
8 irq 18
[   12.263346] device-mapper: multipath: version 1.3.0 loaded
[   12.336747] EXT4-fs (dm-0): re-mounted. Opts: errors=3Dremount-ro
[   12.542332] hda_codec: ALC888: BIOS auto-probing.
[   12.543375] Bridge firewalling registered
[   12.548962] device eth0 entered promiscuous mode
[   12.551463] input: HDA Intel Line as /devices/pci0000:00/0000:00:1b.0/=
sound/card0/input5
[   12.551572] input: HDA Intel Front Mic as /devices/pci0000:00/0000:00:=
1b.0/sound/card0/input6
[   12.551683] input: HDA Intel Rear Mic as /devices/pci0000:00/0000:00:1=
b.0/sound/card0/input7
[   12.551935] input: HDA Intel Front Headphone as /devices/pci0000:00/00=
00:00:1b.0/sound/card0/input8
[   12.552150] input: HDA Intel Line-Out Side as /devices/pci0000:00/0000=
:00:1b.0/sound/card0/input9
[   12.552297] input: HDA Intel Line-Out CLFE as /devices/pci0000:00/0000=
:00:1b.0/sound/card0/input10
[   12.552399] input: HDA Intel Line-Out Surround as /devices/pci0000:00/=
0000:00:1b.0/sound/card0/input11
[   12.552528] input: HDA Intel Line-Out Front as /devices/pci0000:00/000=
0:00:1b.0/sound/card0/input12
[   12.615063] r8169 0000:06:00.0: eth0: link down
[   12.615074] r8169 0000:06:00.0: eth0: link down
[   12.615254] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   12.620123] ADDRCONF(NETDEV_UP): br0: link is not ready
[   12.634440] kjournald starting.  Commit interval 5 seconds
[   12.634669] EXT3-fs (sdd2): using internal journal
[   12.634675] EXT3-fs (sdd2): mounted filesystem with ordered data mode
[   12.664546] type=3D1400 audit(1336117037.284:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D1318 comm=3D"appa=
rmor_parser"
[   12.664683] type=3D1400 audit(1336117037.284:3): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1330 comm=3D"a=
pparmor_parser"
[   12.664979] type=3D1400 audit(1336117037.284:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D1318 comm=3D"apparmor_parser"
[   12.664991] type=3D1400 audit(1336117037.284:5): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1330 comm=3D"apparmor_parser"
[   12.665196] type=3D1400 audit(1336117037.284:6): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D1318 comm=3D"apparmor_parser"
[   12.665259] type=3D1400 audit(1336117037.284:7): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1330 comm=3D"apparmor_parser"
[   12.982722] EXT4-fs (dm-1): mounted filesystem with ordered data mode.=
 Opts: (null)
[   13.813737] init: failsafe main process (1433) killed by TERM signal
[   13.866358] init: udev-fallback-graphics main process (1546) terminate=
d with status 1
[   13.878401] type=3D1400 audit(1336117038.500:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1589 comm=3D"a=
pparmor_parser"
[   13.878607] type=3D1400 audit(1336117038.500:9): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1591 comm=3D"=
apparmor_parser"
[   13.878617] type=3D1400 audit(1336117038.500:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1590 comm=3D"apparmor_parser"
[   13.878735] type=3D1400 audit(1336117038.500:11): apparmor=3D"STATUS" =
operation=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-cli=
ent.action" pid=3D1589 comm=3D"apparmor_parser"
[   14.084048] Event-channel device installed.
[   14.119852] XENBUS: Unable to read cpu state
[   14.119937] XENBUS: Unable to read cpu state
[   14.120029] XENBUS: Unable to read cpu state
[   14.120112] XENBUS: Unable to read cpu state
[   14.120190] XENBUS: Unable to read cpu state
[   14.120327] XENBUS: Unable to read cpu state
[   14.120421] XENBUS: Unable to read cpu state
[   14.120504] XENBUS: Unable to read cpu state
[   14.276690] ip_tables: (C) 2000-2006 Netfilter Core Team
[   14.328570] nf_conntrack version 0.5.0 (2648 buckets, 10592 max)
[   14.353742] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   15.006250] r8169 0000:06:00.0: eth0: link up
[   15.006398] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   15.007175] br0: port 1(eth0) entering forwarding state
[   15.007179] br0: port 1(eth0) entering forwarding state
[   15.007314] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   15.266765] Ebtables v2.0 registered
[   15.283111] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   25.249649] br0: no IPv6 routers present
[  140.007915] xen-acpi-processor: Max ACPI ID: 14
[  140.009899] ACPI CPU0 - P-states uploaded.
[  140.009901]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009904]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009906]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009907]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009909]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009911]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009913]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009915]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009917]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009918]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009926] ACPI CPU1 - P-states uploaded.
[  140.009928]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009930]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009932]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009934]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009935]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009937]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009939]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009941]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009943]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009945]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009950] ACPI CPU2 - P-states uploaded.
[  140.009952]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009954]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009956]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009958]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009960]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009962]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009964]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009965]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009967]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009969]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009975] ACPI CPU3 - P-states uploaded.
[  140.009977]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.009979]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.009981]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.009983]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.009984]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.009986]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.009988]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.009990]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.009992]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.009994]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.009999] ACPI CPU4 - P-states uploaded.
[  140.010001]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010003]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010005]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010007]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010008]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010010]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010012]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010014]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010016]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010018]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010023] ACPI CPU5 - P-states uploaded.
[  140.010025]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010027]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010029]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010031]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010033]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010035]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010036]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010038]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010040]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010042]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010046] ACPI CPU6 - P-states uploaded.
[  140.010048]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010050]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010051]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010053]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010055]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010057]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010059]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010061]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010062]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010064]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010070] ACPI CPU7 - P-states uploaded.
[  140.010072]      *P0: 2661 MHz, 130000 mW, 10 uS
[  140.010074]       P1: 2660 MHz, 130000 mW, 10 uS
[  140.010075]       P2: 2527 MHz, 109000 mW, 10 uS
[  140.010077]       P3: 2394 MHz, 100000 mW, 10 uS
[  140.010079]       P4: 2261 MHz, 83000 mW, 10 uS
[  140.010081]       P5: 2128 MHz, 76000 mW, 10 uS
[  140.010083]       P6: 1995 MHz, 63000 mW, 10 uS
[  140.010085]       P7: 1862 MHz, 57000 mW, 10 uS
[  140.010086]       P8: 1729 MHz, 47000 mW, 10 uS
[  140.010088]       P9: 1596 MHz, 43000 mW, 10 uS
[  140.010095] xen-acpi-processor: ACPI CPU0 w/ PBLK:0x410
[  140.010184] xen-acpi-processor: ACPI CPU1 w/ PBLK:0x410
[  140.010269] xen-acpi-processor: ACPI CPU2 w/ PBLK:0x410
[  140.010356] xen-acpi-processor: ACPI CPU3 w/ PBLK:0x410
[  140.010441] xen-acpi-processor: ACPI CPU4 w/ PBLK:0x410
[  140.010526] xen-acpi-processor: ACPI CPU5 w/ PBLK:0x410
[  140.010611] xen-acpi-processor: ACPI CPU6 w/ PBLK:0x410
[  140.010696] xen-acpi-processor: ACPI CPU7 w/ PBLK:0x410
[  140.010781] xen-acpi-processor: ACPI CPU8 w/ PBLK:0x410
[  140.010787] xen-acpi-processor: ACPI CPU9 w/ PBLK:0x410
[  140.010793] xen-acpi-processor: ACPI CPU10 w/ PBLK:0x410
[  140.010798] xen-acpi-processor: ACPI CPU11 w/ PBLK:0x410
[  140.010804] xen-acpi-processor: ACPI CPU12 w/ PBLK:0x410
[  140.010809] xen-acpi-processor: ACPI CPU13 w/ PBLK:0x410
[  140.010815] xen-acpi-processor: ACPI CPU14 w/ PBLK:0x410
[  140.010820] xen-acpi-processor: ACPI CPU15 w/ PBLK:0x410
[  140.011061] xen-acpi-processor: No _Cx for ACPI CPU 8
[  140.011064] xen-acpi-processor: No _Cx for ACPI CPU 9
[  140.011066] xen-acpi-processor: No _Cx for ACPI CPU 10
[  140.011068] xen-acpi-processor: No _Cx for ACPI CPU 11
[  140.011070] xen-acpi-processor: No _Cx for ACPI CPU 12
[  140.011072] xen-acpi-processor: No _Cx for ACPI CPU 13
[  140.011074] xen-acpi-processor: No _Cx for ACPI CPU 14
[  183.118282] init: tty1 main process ended, respawning

--------------070800050300030104070507
Content-Type: text/plain; charset=UTF-8;
 name="dmesg.opt.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="dmesg.opt.txt"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-24-generic (root@gomeisa) (gcc version=
 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #38+xendbg8 SMP Thu May 3 17:40:0=
6 UTC 2012 (Ubuntu 3.2.0-24.38+xendbg8-generic 3.2.16)
[    0.000000] Command line: placeholder root=3DUUID=3Df2b75052-a98e-447a=
-bf78-51b2e1b15b8b ro nomodeset debug lapic=3Ddebug console=3Dhvc0 loglev=
el=3D10 earlyprintk=3Dxenboot
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Freeing  96-100 pfn range: 106 pages freed
[    0.000000] 1-1 mapping on 96->100
[    0.000000] 1-1 mapping on dfe90->100000
[    0.000000] Released 106 pages of unused memory
[    0.000000] Set 131546 page(s) to 1-1 mapping
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 0000000000096000 (usable)
[    0.000000]  Xen: 0000000000096800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000dfe90000 (usable)
[    0.000000]  Xen: 00000000dfe9e000 - 00000000dfea0000 type 9
[    0.000000]  Xen: 00000000dfea0000 - 00000000dfeb2000 (ACPI data)
[    0.000000]  Xen: 00000000dfeb2000 - 00000000dfee0000 (ACPI NVS)
[    0.000000]  Xen: 00000000dfee0000 - 00000000f0000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffe00000 - 0000000100000000 (reserved)
[    0.000000]  Xen: 0000000100000000 - 00000002e0170000 (usable)
[    0.000000]  Xen: 00000002e0170000 - 0000000820000000 (unusable)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: Supermicro H8SGL/H8SGL, BIOS 1.1a       02/17/11 =20
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (us=
able) =3D=3D> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (us=
able)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn =3D 0x2e0170 max_arch_pfn =3D 0x400000000
[    0.000000] last_pfn =3D 0xdfe90 max_arch_pfn =3D 0x400000000
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] initial memory mapped : 0 - 04782000
[    0.000000] Base memory trampoline at [ffff880000091000] 91000 size 20=
480
[    0.000000] init_memory_mapping: 0000000000000000-00000000dfe90000
[    0.000000]  0000000000 - 00dfe90000 page 4k
[    0.000000] kernel direct mapping tables up to dfe90000 @ 8fb000-10000=
00
[    0.000000] xen: setting RW the range fd4000 - 1000000
[    0.000000] init_memory_mapping: 0000000100000000-00000002e0170000
[    0.000000]  0100000000 - 02e0170000 page 4k
[    0.000000] kernel direct mapping tables up to 2e0170000 @ 3e8f2000-40=
000000
[    0.000000] xen: setting RW the range 3f7fb000 - 40000000
[    0.000000] RAMDISK: 02060000 - 04782000
[    0.000000] ACPI: RSDP 00000000000f9fc0 00024 (v02 ACPIAM)
[    0.000000] ACPI: XSDT 00000000dfea0100 00084 (v01 SMCI            201=
10217 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000dfea0290 000F4 (v04 021711 FACP1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000dfea0610 05A04 (v02  1A711 1A711000 000=
00000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dfeb2000 00040
[    0.000000] ACPI: APIC 00000000dfea0390 000B8 (v02 021711 APIC1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000dfea0450 0003C (v01 021711 OEMMCFG  201=
10217 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000dfeb2040 00075 (v01 021711 OEMB1552 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dfeaa610 00038 (v01 021711 OEMHPET  201=
10217 MSFT 00000097)
[    0.000000] ACPI: IVRS 00000000dfeaa650 000A8 (v01  AMD     RD890S 002=
02031 AMD  00000000)
[    0.000000] ACPI: SRAT 00000000dfeaa700 00128 (v02 AMD    F10      000=
00001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000dfeaa830 0143C (v01 A M I  POWERNOW 000=
00001 AMD  00000001)
[    0.000000] ACPI: EINJ 00000000dfeabc70 00130 (v01  AMIER AMI_EINJ 201=
10217 MSFT 00000097)
[    0.000000] ACPI: BERT 00000000dfeabe00 00030 (v01  AMIER AMI_BERT 201=
10217 MSFT 00000097)
[    0.000000] ACPI: ERST 00000000dfeabe30 001B0 (v01  AMIER AMI_ERST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: HEST 00000000dfeabfe0 000A8 (v01  AMIER ABC_HEST 201=
10217 MSFT 00000097)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] xxx xen_apic_read(0x20) -> 0x10000000
[    0.000000] xxx xen_get_apic_id(0x10000000) -> 0x10
[    0.000000] xxx xen_apic_read(0x30) -> 0x10
[    0.000000] Scanning NUMA topology in Northbridge 24
[    0.000000] Number of physical nodes 2
[    0.000000] Node 0 using interleaving mode 1/0
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-00000002e0170000
[    0.000000] Initmem setup node 0 0000000000000000-00000002e0170000
[    0.000000]   NODE_DATA [000000003fffb000 - 000000003fffffff]
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x002e0170
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[3] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000096
[    0.000000]     0: 0x00000100 -> 0x000dfe90
[    0.000000]     0: 0x00100000 -> 0x002e0170
[    0.000000] On node 0 totalpages: 2883462
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 1758 pages reserved
[    0.000000]   DMA zone: 2152 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 896720 pages, LIFO batch:31
[    0.000000]   Normal zone: 30726 pages used for memmap
[    0.000000]   Normal zone: 1935722 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x11] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x13] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x14] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x15] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x16] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x17] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 255, address 0xfec00000, GSI=
 0-255
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)=

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[    0.000000] SMP: Allowing 12 CPUs, 4 hotplug CPUs
[    0.000000] xxx xen_apic_read(0x20) -> 0x10000000
[    0.000000] xxx xen_get_apic_id(0x10000000) -> 0x10
[    0.000000] nr_irqs_gsi: 272
[    0.000000] PM: Registered nosave memory: 0000000000096000 - 000000000=
0097000
[    0.000000] PM: Registered nosave memory: 0000000000097000 - 000000000=
0100000
[    0.000000] PM: Registered nosave memory: 00000000dfe90000 - 00000000d=
fe9e000
[    0.000000] PM: Registered nosave memory: 00000000dfe9e000 - 00000000d=
fea0000
[    0.000000] PM: Registered nosave memory: 00000000dfea0000 - 00000000d=
feb2000
[    0.000000] PM: Registered nosave memory: 00000000dfeb2000 - 00000000d=
fee0000
[    0.000000] PM: Registered nosave memory: 00000000dfee0000 - 00000000f=
0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000f=
ec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000f=
ec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000f=
ee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000f=
ee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000f=
fe00000
[    0.000000] PM: Registered nosave memory: 00000000ffe00000 - 000000010=
0000000
[    0.000000] Allocating PCI resources starting at f0000000 (gap: f00000=
00:ec00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.2 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:1=
2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003fe5b000 s83072 r81=
92 d23424 u114688
[    0.000000] pcpu-alloc: s83072 r8192 d23424 u114688 alloc=3D28*4096
[    0.000000] pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] =
06 [0] 07=20
[    0.000000] pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11=20
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  To=
tal pages: 2834594
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: placeholder root=3DUUID=3Df2b75052-a9=
8e-447a-bf78-51b2e1b15b8b ro nomodeset debug lapic=3Ddebug console=3Dhvc0=
 loglevel=3D10 earlyprintk=3Dxenboot
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Placing 64MB software IO TLB between ffff88002f200000 - ff=
ff880033200000
[    0.000000] software IO TLB at phys 0x2f200000 - 0x33200000
[    0.000000] Memory: 717456k/12060096k available (6654k kernel code, 52=
6248k absent, 10816392k reserved, 6550k data, 920k init)
[    0.000000] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=
=3D0, CPUs=3D12, Nodes=3D1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:3072 16
[    0.000000] xen: sci override: global_irq=3D9 trigger=3D0 polarity=3D1=

[    0.000000] xen: registering gsi 9 triggering 0 polarity 1
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: acpi sci 9
[    0.000000] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.000000] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.000000] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.000000] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.000000] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.000000] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.000000] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.000000] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.000000] xen_map_pirq_gsi: returning irq 9 for gsi 9
[    0.000000] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.000000] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.000000] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.000000] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.000000] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.000000] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.000000] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] allocated 93323264 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=3Dmemory' option if you don't w=
ant memory cgroups
[    0.000000] Xen: using vcpuop timer interface
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2000.170 MHz processor.
[    0.004000] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4000.34 BogoMIPS (lpj=3D8000680)
[    0.004000] pid_max: default: 32768 minimum: 301
[    0.004000] Security Framework initialized
[    0.004000] AppArmor: AppArmor initialized
[    0.004000] Yama: becoming mindful.
[    0.008086] Dentry cache hash table entries: 2097152 (order: 12, 16777=
216 bytes)
[    0.017132] Inode-cache hash table entries: 1048576 (order: 11, 838860=
8 bytes)
[    0.019745] Mount-cache hash table entries: 256
[    0.019990] Initializing cgroup subsys cpuacct
[    0.020001] Initializing cgroup subsys memory
[    0.020001] Initializing cgroup subsys devices
[    0.020001] Initializing cgroup subsys freezer
[    0.020001] Initializing cgroup subsys blkio
[    0.020001] Initializing cgroup subsys perf_event
[    0.020072] xxx xen_apic_read(0x20) -> 0x10000000
[    0.020077] xxx xen_get_apic_id(0x10000000) -> 0x10
[    0.020089] tseg: 00dff00000
[    0.020096] CPU: Physical Processor ID: 0
[    0.020100] CPU: Processor Core ID: 0
[    0.023042] ACPI: Core revision 20110623
[    0.039041] ftrace: allocating 27104 entries in 107 pages
[    0.040131] cpu 0 spinlock event irq 273
[    0.040231] Performance Events: Broken PMU hardware detected, using so=
ftware events only.
[    0.040494] NMI watchdog disabled (cpu0): hardware events not enabled
[    0.040626] installing Xen timer for CPU 1
[    0.040644] cpu 1 spinlock event irq 279
[    0.004000] dom0=3D1 cpuid=3D1
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.040859] NMI watchdog disabled (cpu1): hardware events not enabled
[    0.040985] installing Xen timer for CPU 2
[    0.041004] cpu 2 spinlock event irq 285
[    0.004000] dom0=3D1 cpuid=3D2
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.041173] NMI watchdog disabled (cpu2): hardware events not enabled
[    0.041291] installing Xen timer for CPU 3
[    0.041306] cpu 3 spinlock event irq 291
[    0.004000] dom0=3D1 cpuid=3D3
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.041477] NMI watchdog disabled (cpu3): hardware events not enabled
[    0.041597] installing Xen timer for CPU 4
[    0.041612] cpu 4 spinlock event irq 297
[    0.004000] dom0=3D1 cpuid=3D4
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.041808] NMI watchdog disabled (cpu4): hardware events not enabled
[    0.041935] installing Xen timer for CPU 5
[    0.041951] cpu 5 spinlock event irq 303
[    0.004000] dom0=3D1 cpuid=3D5
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.042121] NMI watchdog disabled (cpu5): hardware events not enabled
[    0.042241] installing Xen timer for CPU 6
[    0.042257] cpu 6 spinlock event irq 309
[    0.004000] dom0=3D1 cpuid=3D6
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.042422] NMI watchdog disabled (cpu6): hardware events not enabled
[    0.042541] installing Xen timer for CPU 7
[    0.042557] cpu 7 spinlock event irq 315
[    0.004000] dom0=3D1 cpuid=3D7
[    0.004000] xxx xen_get_apic_id(0x0) -> 0x0
[    0.042727] NMI watchdog disabled (cpu7): hardware events not enabled
[    0.042763] Brought up 8 CPUs
[    0.042991] devtmpfs: initialized
[    0.045406] EVM: security.selinux
[    0.045410] EVM: security.SMACK64
[    0.045414] EVM: security.capability
[    0.045490] PM: Registering ACPI NVS region at dfeb2000 (188416 bytes)=

[    0.045490] Grant table initialized
[    0.045490] print_constraints: dummy:=20
[    0.045490] RTC time:  7:45:48, date: 05/04/12
[    0.045490] NET: Registered protocol family 16
[    0.045490] Trying to unpack rootfs image as initramfs...
[    0.060265] node 0 link 0: io port [1000, ffffff]
[    0.060279] TOM: 00000000e0000000 aka 3584M
[    0.060286] Fam 10h mmconf [mem 0xe0000000-0xefffffff]
[    0.060296] node 0 link 0: mmio [e0000000, efffffff] =3D=3D> none
[    0.060305] node 0 link 0: mmio [f0000000, ffffffff]
[    0.060313] node 0 link 0: mmio [a0000, bffff]
[    0.060321] TOM2: 0000000820000000 aka 33280M
[    0.060326] bus: [00, 1f] on node 0 link 0
[    0.060331] bus: 00 index 0 [io  0x0000-0xffff]
[    0.060336] bus: 00 index 1 [mem 0xf0000000-0xffffffff]
[    0.060341] bus: 00 index 2 [mem 0x000a0000-0x000bffff]
[    0.060345] bus: 00 index 3 [mem 0x820000000-0xfcffffffff]
[    0.060369] Extended Config Space enabled on 2 nodes
[    0.060539] ACPI: bus type pci registered
[    0.060643] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe00000=
00-0xefffffff] (base 0xe0000000)
[    0.060652] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E=
820
[    0.181523] Freeing initrd memory: 40072k freed
[    0.219949] PCI: Using configuration type 1 for base access
[    0.221489] bio: create slab <bio-0> at 0
[    0.221489] ACPI: Added _OSI(Module Device)
[    0.221489] ACPI: Added _OSI(Processor Device)
[    0.221489] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.221489] ACPI: Added _OSI(Processor Aggregator Device)
[    0.224154] ACPI: EC: Look up EC in DSDT
[    0.228666] ACPI: Executed 2 blocks of module-level executable AML cod=
e
[    0.253662] ACPI: Interpreter enabled
[    0.253671] ACPI: (supports S0 S1 S4 S5)
[    0.253715] ACPI: Using IOAPIC for interrupt routing
[    0.267308] ACPI: No dock devices found.
[    0.267371] HEST: Table parsing has been initialized.
[    0.267379] PCI: Using host bridge windows from ACPI; if necessary, us=
e "pci=3Dnocrs" and report a bug
[    0.267684] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.268245] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7=
]
[    0.268252] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff=
]
[    0.268258] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x=
000bffff]
[    0.268265] pci_root PNP0A08:00: host bridge window [mem 0x000d0000-0x=
000dffff]
[    0.268271] pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0x=
febfffff]
[    0.268344] pci 0000:00:00.0: [1002:5a13] type 0 class 0x000600
[    0.268542] pci 0000:00:00.2: [1002:5a23] type 0 class 0x000806
[    0.268745] pci 0000:00:09.0: [1002:5a1c] type 1 class 0x000604
[    0.268862] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    0.268871] pci 0000:00:09.0: PME# disabled
[    0.268913] pci 0000:00:0a.0: [1002:5a1d] type 1 class 0x000604
[    0.269029] pci 0000:00:0a.0: PME# supported from D0 D3hot D3cold
[    0.269038] pci 0000:00:0a.0: PME# disabled
[    0.269100] pci 0000:00:11.0: [1002:4391] type 0 class 0x000106
[    0.269138] pci 0000:00:11.0: reg 10: [io  0xc000-0xc007]
[    0.269158] pci 0000:00:11.0: reg 14: [io  0xb000-0xb003]
[    0.269178] pci 0000:00:11.0: reg 18: [io  0xa000-0xa007]
[    0.269198] pci 0000:00:11.0: reg 1c: [io  0x9000-0x9003]
[    0.269218] pci 0000:00:11.0: reg 20: [io  0x8000-0x800f]
[    0.269238] pci 0000:00:11.0: reg 24: [mem 0xfe9fa400-0xfe9fa7ff]
[    0.269347] pci 0000:00:12.0: [1002:4397] type 0 class 0x000c03
[    0.269374] pci 0000:00:12.0: reg 10: [mem 0xfe9f6000-0xfe9f6fff]
[    0.269497] pci 0000:00:12.1: [1002:4398] type 0 class 0x000c03
[    0.269524] pci 0000:00:12.1: reg 10: [mem 0xfe9f7000-0xfe9f7fff]
[    0.269658] pci 0000:00:12.2: [1002:4396] type 0 class 0x000c03
[    0.269727] pci 0000:00:12.2: reg 10: [mem 0xfe9fa800-0xfe9fa8ff]
[    0.269885] pci 0000:00:12.2: supports D1 D2
[    0.269890] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.269900] pci 0000:00:12.2: PME# disabled
[    0.269940] pci 0000:00:13.0: [1002:4397] type 0 class 0x000c03
[    0.269967] pci 0000:00:13.0: reg 10: [mem 0xfe9f8000-0xfe9f8fff]
[    0.270090] pci 0000:00:13.1: [1002:4398] type 0 class 0x000c03
[    0.270117] pci 0000:00:13.1: reg 10: [mem 0xfe9f9000-0xfe9f9fff]
[    0.270253] pci 0000:00:13.2: [1002:4396] type 0 class 0x000c03
[    0.270291] pci 0000:00:13.2: reg 10: [mem 0xfe9fac00-0xfe9facff]
[    0.270449] pci 0000:00:13.2: supports D1 D2
[    0.270454] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.270464] pci 0000:00:13.2: PME# disabled
[    0.270509] pci 0000:00:14.0: [1002:4385] type 0 class 0x000c05
[    0.270700] pci 0000:00:14.3: [1002:439d] type 0 class 0x000601
[    0.270844] pci 0000:00:14.4: [1002:4384] type 1 class 0x000604
[    0.270925] pci 0000:00:14.5: [1002:4399] type 0 class 0x000c03
[    0.270953] pci 0000:00:14.5: reg 10: [mem 0xfe9fb000-0xfe9fbfff]
[    0.271126] pci 0000:00:18.0: [1022:1200] type 0 class 0x000600
[    0.271255] pci 0000:00:18.1: [1022:1201] type 0 class 0x000600
[    0.271316] pci 0000:00:18.2: [1022:1202] type 0 class 0x000600
[    0.271384] pci 0000:00:18.3: [1022:1203] type 0 class 0x000600
[    0.271474] pci 0000:00:18.4: [1022:1204] type 0 class 0x000600
[    0.271587] pci 0000:00:19.0: [1022:1200] type 0 class 0x000600
[    0.271703] pci 0000:00:19.1: [1022:1201] type 0 class 0x000600
[    0.271767] pci 0000:00:19.2: [1022:1202] type 0 class 0x000600
[    0.271833] pci 0000:00:19.3: [1022:1203] type 0 class 0x000600
[    0.271926] pci 0000:00:19.4: [1022:1204] type 0 class 0x000600
[    0.272016] pci 0000:03:00.0: [8086:10d3] type 0 class 0x000200
[    0.272016] pci 0000:03:00.0: reg 10: [mem 0xfebe0000-0xfebfffff]
[    0.272016] pci 0000:03:00.0: reg 18: [io  0xe800-0xe81f]
[    0.272016] pci 0000:03:00.0: reg 1c: [mem 0xfebdc000-0xfebdffff]
[    0.272031] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.272042] pci 0000:03:00.0: PME# disabled
[    0.280056] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.280070] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.280080] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.280204] pci 0000:02:00.0: [8086:10d3] type 0 class 0x000200
[    0.280239] pci 0000:02:00.0: reg 10: [mem 0xfeae0000-0xfeafffff]
[    0.280284] pci 0000:02:00.0: reg 18: [io  0xd800-0xd81f]
[    0.280341] pci 0000:02:00.0: reg 1c: [mem 0xfeadc000-0xfeadffff]
[    0.280522] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.280533] pci 0000:02:00.0: PME# disabled
[    0.288055] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.288068] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.288077] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.288144] pci 0000:01:04.0: [102b:0532] type 0 class 0x000300
[    0.288183] pci 0000:01:04.0: reg 10: [mem 0xfc000000-0xfcffffff pref]=

[    0.288206] pci 0000:01:04.0: reg 14: [mem 0xfdffc000-0xfdffffff]
[    0.288229] pci 0000:01:04.0: reg 18: [mem 0xfe000000-0xfe7fffff]
[    0.288437] pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive d=
ecode)
[    0.288452] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.288462] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.288500] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7] (sub=
tractive decode)
[    0.288507] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (sub=
tractive decode)
[    0.288514] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bff=
ff] (subtractive decode)
[    0.288520] pci 0000:00:14.4:   bridge window [mem 0x000d0000-0x000dff=
ff] (subtractive decode)
[    0.288527] pci 0000:00:14.4:   bridge window [mem 0xf0000000-0xfebfff=
ff] (subtractive decode)
[    0.288562] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.288973] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC09._PRT]
[    0.289046] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PC0A._PRT]
[    0.289157] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    0.289332]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.289340]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), retu=
rned control mask: 0x1d
[    0.289346] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.307588] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 *7 10 11 12 14 15)=

[    0.307762] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 10 *11 12 14 15)=

[    0.307897] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 *10 11 12 14 15)=

[    0.308018] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 10 11 12 *14 15)=

[    0.308136] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 7 10 11 12 14 *15)=

[    0.308278] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308414] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 12 14 15)=

[    0.308552] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 12 14 15) =
*0, disabled.
[    0.308623] xen/balloon: Initialising balloon driver.
[    0.352000] xen-balloon: Initialising balloon driver.
[    0.352021] xen/balloon: Xen selfballooning driver disabled for domain=
0.
[    0.352167] vgaarb: device added: PCI:0000:01:04.0,decodes=3Dio+mem,ow=
ns=3Dio+mem,locks=3Dnone
[    0.352167] vgaarb: loaded
[    0.352167] vgaarb: bridge control possible 0000:01:04.0
[    0.352240] i2c-core: driver [aat2870] using legacy suspend method
[    0.352245] i2c-core: driver [aat2870] using legacy resume method
[    0.352336] SCSI subsystem initialized
[    0.352409] libata version 3.00 loaded.
[    0.352409] usbcore: registered new interface driver usbfs
[    0.352409] usbcore: registered new interface driver hub
[    0.352409] usbcore: registered new device driver usb
[    0.352409] PCI: Using ACPI for IRQ routing
[    0.356021] PCI: pci_cache_line_size set to 64 bytes
[    0.356021] reserve RAM buffer: 0000000000096000 - 000000000009ffff=20
[    0.356021] reserve RAM buffer: 00000000dfe90000 - 00000000dfffffff=20
[    0.356021] reserve RAM buffer: 00000002e0170000 - 00000002e3ffffff=20
[    0.356116] NetLabel: Initializing
[    0.356120] NetLabel:  domain hash size =3D 128
[    0.356125] NetLabel:  protocols =3D UNLABELED CIPSOv4
[    0.356141] NetLabel:  unlabeled traffic allowed by default
[    0.356218] Switching to clocksource xen
[    0.365440] AppArmor: AppArmor Filesystem Enabled
[    0.365479] pnp: PnP ACPI init
[    0.365499] ACPI: bus type pnp registered
[    0.365893] pnp 00:00: [bus 00-ff]
[    0.365898] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.365904] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.365909] pnp 00:00: [io  0x0d00-0xffff window]
[    0.365914] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.365919] pnp 00:00: [mem 0x000d0000-0x000dffff window]
[    0.365925] pnp 00:00: [mem 0xe0000000-0xdfffffff window disabled]
[    0.365930] pnp 00:00: [mem 0xf0000000-0xfebfffff window]
[    0.366054] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 =
(active)
[    0.366329] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366335] pnp 00:01: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.366414] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.366595] pnp 00:02: [mem 0xf6000000-0xf6003fff]
[    0.366656] system 00:02: [mem 0xf6000000-0xf6003fff] has been reserve=
d
[    0.366664] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.367350] pnp 00:03: [dma 4]
[    0.367355] pnp 00:03: [io  0x0000-0x000f]
[    0.367360] pnp 00:03: [io  0x0081-0x0083]
[    0.367365] pnp 00:03: [io  0x0087]
[    0.367369] pnp 00:03: [io  0x0089-0x008b]
[    0.367374] pnp 00:03: [io  0x008f]
[    0.367378] pnp 00:03: [io  0x00c0-0x00df]
[    0.367436] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)=

[    0.367463] pnp 00:04: [io  0x0070-0x0071]
[    0.367470] xen: registering gsi 8 triggering 1 polarity 0
[    0.367480] xen_map_pirq_gsi: returning irq 8 for gsi 8
[    0.367485] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.367507] pnp 00:04: [irq 8]
[    0.367564] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)=

[    0.367635] pnp 00:05: [io  0x0060]
[    0.367639] pnp 00:05: [io  0x0064]
[    0.367644] xen: registering gsi 1 triggering 1 polarity 0
[    0.367649] xen_map_pirq_gsi: returning irq 1 for gsi 1
[    0.367654] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.367671] pnp 00:05: [irq 1]
[    0.367726] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 PNP030b =
(active)
[    0.367842] xen: registering gsi 12 triggering 1 polarity 0
[    0.367848] xen_map_pirq_gsi: returning irq 12 for gsi 12
[    0.367852] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.367869] pnp 00:06: [irq 12]
[    0.367929] pnp 00:06: Plug and Play ACPI device, IDs PNP0f03 PNP0f13 =
(active)
[    0.367951] pnp 00:07: [io  0x0061]
[    0.368009] pnp 00:07: Plug and Play ACPI device, IDs PNP0800 (active)=

[    0.368030] pnp 00:08: [io  0x00f0-0x00ff]
[    0.368035] xen: registering gsi 13 triggering 1 polarity 0
[    0.368041] xen_map_pirq_gsi: returning irq 13 for gsi 13
[    0.368045] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.368071] pnp 00:08: [irq 13]
[    0.368128] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)=

[    0.368329] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368335] pnp 00:09: [io  0x0000-0xffffffffffffffff disabled]
[    0.368340] pnp 00:09: [io  0x0a10-0x0a1f]
[    0.368456] system 00:09: [io  0x0a10-0x0a1f] has been reserved
[    0.368463] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.368556] pnp 00:0a: [mem 0xfed00000-0xfed003ff]
[    0.368618] pnp 00:0a: Plug and Play ACPI device, IDs PNP0103 (active)=

[    0.368922] pnp 00:0b: [mem 0xfec00000-0xfec00fff]
[    0.368927] pnp 00:0b: [mem 0xfee00000-0xfee00fff]
[    0.369011] system 00:0b: [mem 0xfec00000-0xfec00fff] could not be res=
erved
[    0.369018] system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserve=
d
[    0.369025] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.369526] pnp 00:0c: [io  0x0010-0x001f]
[    0.369531] pnp 00:0c: [io  0x0022-0x003f]
[    0.369536] pnp 00:0c: [io  0x0062-0x0063]
[    0.369540] pnp 00:0c: [io  0x0065-0x006f]
[    0.369545] pnp 00:0c: [io  0x0072-0x007f]
[    0.369549] pnp 00:0c: [io  0x0080]
[    0.369553] pnp 00:0c: [io  0x0084-0x0086]
[    0.369558] pnp 00:0c: [io  0x0088]
[    0.369562] pnp 00:0c: [io  0x008c-0x008e]
[    0.369566] pnp 00:0c: [io  0x0090-0x009f]
[    0.369571] pnp 00:0c: [io  0x00a2-0x00bf]
[    0.369575] pnp 00:0c: [io  0x00b1]
[    0.369580] pnp 00:0c: [io  0x00e0-0x00ef]
[    0.369584] pnp 00:0c: [io  0x0ca2-0x0ca3]
[    0.369589] pnp 00:0c: [io  0x0550-0x0551]
[    0.369593] pnp 00:0c: [io  0x04d0-0x04d1]
[    0.369597] pnp 00:0c: [io  0x040b]
[    0.369602] pnp 00:0c: [io  0x04d6]
[    0.369606] pnp 00:0c: [io  0x0c00-0x0c01]
[    0.369610] pnp 00:0c: [io  0x0c14]
[    0.369615] pnp 00:0c: [io  0x0c50-0x0c51]
[    0.369619] pnp 00:0c: [io  0x0c52]
[    0.369623] pnp 00:0c: [io  0x0c6c]
[    0.369627] pnp 00:0c: [io  0x0c6f]
[    0.369632] pnp 00:0c: [io  0x0cd0-0x0cd1]
[    0.369636] pnp 00:0c: [io  0x0cd2-0x0cd3]
[    0.369640] pnp 00:0c: [io  0x0cd4-0x0cd5]
[    0.369645] pnp 00:0c: [io  0x0cd6-0x0cd7]
[    0.369649] pnp 00:0c: [io  0x0cd8-0x0cdf]
[    0.369654] pnp 00:0c: [io  0x0800-0x089f]
[    0.369659] pnp 00:0c: [io  0x0000-0xffffffffffffffff disabled]
[    0.369664] pnp 00:0c: [io  0x0b00-0x0b0f]
[    0.369668] pnp 00:0c: [io  0x0b20-0x0b3f]
[    0.369673] pnp 00:0c: [io  0x0900-0x090f]
[    0.369677] pnp 00:0c: [io  0x0910-0x091f]
[    0.369682] pnp 00:0c: [io  0xfe00-0xfefe]
[    0.369686] pnp 00:0c: [io  0x0060-0x005f disabled]
[    0.369691] pnp 00:0c: [io  0x0064-0x0063 disabled]
[    0.369696] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.369704] pnp 00:0c: [mem 0xfec10000-0xfec1001f]
[    0.369849] system 00:0c: [io  0x0ca2-0x0ca3] has been reserved
[    0.369855] system 00:0c: [io  0x0550-0x0551] has been reserved
[    0.369861] system 00:0c: [io  0x04d0-0x04d1] has been reserved
[    0.369867] system 00:0c: [io  0x040b] has been reserved
[    0.369873] system 00:0c: [io  0x04d6] has been reserved
[    0.369878] system 00:0c: [io  0x0c00-0x0c01] has been reserved
[    0.369884] system 00:0c: [io  0x0c14] has been reserved
[    0.369889] system 00:0c: [io  0x0c50-0x0c51] has been reserved
[    0.369895] system 00:0c: [io  0x0c52] has been reserved
[    0.369901] system 00:0c: [io  0x0c6c] has been reserved
[    0.369906] system 00:0c: [io  0x0c6f] has been reserved
[    0.369912] system 00:0c: [io  0x0cd0-0x0cd1] has been reserved
[    0.369918] system 00:0c: [io  0x0cd2-0x0cd3] has been reserved
[    0.369923] system 00:0c: [io  0x0cd4-0x0cd5] has been reserved
[    0.369929] system 00:0c: [io  0x0cd6-0x0cd7] has been reserved
[    0.369935] system 00:0c: [io  0x0cd8-0x0cdf] has been reserved
[    0.369944] system 00:0c: [io  0x0800-0x089f] has been reserved
[    0.369950] system 00:0c: [io  0x0b00-0x0b0f] has been reserved
[    0.369955] system 00:0c: [io  0x0b20-0x0b3f] has been reserved
[    0.369961] system 00:0c: [io  0x0900-0x090f] has been reserved
[    0.369967] system 00:0c: [io  0x0910-0x091f] has been reserved
[    0.369973] system 00:0c: [io  0xfe00-0xfefe] has been reserved
[    0.369980] system 00:0c: [mem 0xffb80000-0xffbfffff] has been reserve=
d
[    0.369986] system 00:0c: [mem 0xfec10000-0xfec1001f] has been reserve=
d
[    0.369993] system 00:0c: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.370547] pnp 00:0d: [io  0x03f8-0x03ff]
[    0.370553] xen: registering gsi 4 triggering 1 polarity 0
[    0.370558] xen_map_pirq_gsi: returning irq 4 for gsi 4
[    0.370563] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.370576] pnp 00:0d: [irq 4]
[    0.370581] pnp 00:0d: [dma 0 disabled]
[    0.370705] pnp 00:0d: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371284] pnp 00:0e: [io  0x02f8-0x02ff]
[    0.371289] xen: registering gsi 3 triggering 1 polarity 0
[    0.371295] xen_map_pirq_gsi: returning irq 3 for gsi 3
[    0.371300] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.371305] Already setup the GSI :3
[    0.371309] pnp 00:0e: [irq 3]
[    0.371314] pnp 00:0e: [dma 0 disabled]
[    0.371433] pnp 00:0e: Plug and Play ACPI device, IDs PNP0501 (active)=

[    0.371577] pnp 00:0f: [mem 0xe0000000-0xefffffff]
[    0.371661] system 00:0f: [mem 0xe0000000-0xefffffff] has been reserve=
d
[    0.371668] system 00:0f: Plug and Play ACPI device, IDs PNP0c02 (acti=
ve)
[    0.372634] pnp 00:10: [mem 0x00000000-0x0009ffff]
[    0.372640] pnp 00:10: [mem 0x000c0000-0x000cffff]
[    0.372645] pnp 00:10: [mem 0x000e0000-0x000fffff]
[    0.372650] pnp 00:10: [mem 0x00100000-0xdfffffff]
[    0.372659] pnp 00:10: [mem 0xfec00000-0xffffffff]
[    0.372759] system 00:10: [mem 0x00000000-0x0009ffff] could not be res=
erved
[    0.372766] system 00:10: [mem 0x000c0000-0x000cffff] could not be res=
erved
[    0.372772] system 00:10: [mem 0x000e0000-0x000fffff] could not be res=
erved
[    0.372779] system 00:10: [mem 0x00100000-0xdfffffff] could not be res=
erved
[    0.372785] system 00:10: [mem 0xfec00000-0xffffffff] could not be res=
erved
[    0.372792] system 00:10: Plug and Play ACPI device, IDs PNP0c01 (acti=
ve)
[    0.373111] pnp: PnP ACPI: found 17 devices
[    0.373116] ACPI: ACPI bus type pnp unregistered
[    0.380486] PM-Timer failed consistency check  (0x0xffffff) - aborting=
=2E
[    0.380513] PCI: max bus depth: 1 pci_try_num: 2
[    0.380551] pci 0000:00:09.0: PCI bridge to [bus 03-03]
[    0.380558] pci 0000:00:09.0:   bridge window [io  0xe000-0xefff]
[    0.380568] pci 0000:00:09.0:   bridge window [mem 0xfeb00000-0xfebfff=
ff]
[    0.380582] pci 0000:00:0a.0: PCI bridge to [bus 02-02]
[    0.380588] pci 0000:00:0a.0:   bridge window [io  0xd000-0xdfff]
[    0.380598] pci 0000:00:0a.0:   bridge window [mem 0xfea00000-0xfeafff=
ff]
[    0.380612] pci 0000:00:14.4: PCI bridge to [bus 01-01]
[    0.380630] pci 0000:00:14.4:   bridge window [mem 0xfdf00000-0xfe7fff=
ff]
[    0.380640] pci 0000:00:14.4:   bridge window [mem 0xfc000000-0xfcffff=
ff pref]
[    0.380663] xen: registering gsi 17 triggering 0 polarity 1
[    0.380681] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    0.380696] pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ =
17
[    0.380706] pci 0000:00:09.0: setting latency timer to 64
[    0.380717] xen: registering gsi 18 triggering 0 polarity 1
[    0.380728] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    0.380740] pci 0000:00:0a.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    0.380749] pci 0000:00:0a.0: setting latency timer to 64
[    0.380765] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.380770] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.380775] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380781] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380786] pci_bus 0000:00: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380792] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.380798] pci_bus 0000:03: resource 1 [mem 0xfeb00000-0xfebfffff]
[    0.380804] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.380809] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    0.380816] pci_bus 0000:01: resource 1 [mem 0xfdf00000-0xfe7fffff]
[    0.380822] pci_bus 0000:01: resource 2 [mem 0xfc000000-0xfcffffff pre=
f]
[    0.380828] pci_bus 0000:01: resource 4 [io  0x0000-0x0cf7]
[    0.380833] pci_bus 0000:01: resource 5 [io  0x0d00-0xffff]
[    0.380839] pci_bus 0000:01: resource 6 [mem 0x000a0000-0x000bffff]
[    0.380877] pci_bus 0000:01: resource 7 [mem 0x000d0000-0x000dffff]
[    0.380883] pci_bus 0000:01: resource 8 [mem 0xf0000000-0xfebfffff]
[    0.380940] NET: Registered protocol family 2
[    0.383015] IP route cache hash table entries: 524288 (order: 10, 4194=
304 bytes)
[    0.388281] TCP established hash table entries: 524288 (order: 11, 838=
8608 bytes)
[    0.391514] TCP bind hash table entries: 65536 (order: 8, 1048576 byte=
s)
[    0.391860] TCP: Hash tables configured (established 524288 bind 65536=
)
[    0.391866] TCP reno registered
[    0.392022] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    0.392296] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)=

[    0.392549] NET: Registered protocol family 1
[    0.392605] xen: registering gsi 16 triggering 0 polarity 1
[    0.392628] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    0.392649] pci 0000:00:12.0: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.120157] pci 0000:00:12.0: PCI INT A disabled
[    1.120188] xen: registering gsi 16 triggering 0 polarity 1
[    1.120202] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.120207] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.120212] Already setup the GSI :16
[    1.120218] pci 0000:00:12.1: PCI INT A -> GSI 16 (level, low) -> IRQ =
16
[    1.204175] pci 0000:00:12.1: PCI INT A disabled
[    1.204209] xen: registering gsi 17 triggering 0 polarity 1
[    1.204223] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.204228] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.204233] Already setup the GSI :17
[    1.204239] pci 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ =
17
[    1.204376] pci 0000:00:12.2: PCI INT B disabled
[    1.204391] xen: registering gsi 18 triggering 0 polarity 1
[    1.204397] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.204401] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.204405] Already setup the GSI :18
[    1.204410] pci 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.288203] pci 0000:00:13.0: PCI INT A disabled
[    1.288235] xen: registering gsi 18 triggering 0 polarity 1
[    1.288248] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.288253] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.288259] Already setup the GSI :18
[    1.288264] pci 0000:00:13.1: PCI INT A -> GSI 18 (level, low) -> IRQ =
18
[    1.372178] pci 0000:00:13.1: PCI INT A disabled
[    1.372212] xen: registering gsi 19 triggering 0 polarity 1
[    1.372238] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.372256] pci 0000:00:13.2: PCI INT B -> GSI 19 (level, low) -> IRQ =
19
[    1.372392] pci 0000:00:13.2: PCI INT B disabled
[    1.372417] xen: registering gsi 18 triggering 0 polarity 1
[    1.372423] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    1.372428] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.372433] Already setup the GSI :18
[    1.372437] pci 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ =
18
[    1.456174] pci 0000:00:14.5: PCI INT C disabled
[    1.456260] pci 0000:01:04.0: Boot video device
[    1.456268] PCI: CLS 64 bytes, default 64
[    1.457351] audit: initializing netlink socket (disabled)
[    1.457370] type=3D2000 audit(1336117549.732:1): initialized
[    1.485594] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.487850] VFS: Disk quotas dquot_6.5.2
[    1.487931] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.488646] fuse init (API version 7.17)
[    1.488820] msgmni has been set to 1479
[    1.489539] Block layer SCSI generic (bsg) driver version 0.4 loaded (=
major 253)
[    1.489597] io scheduler noop registered
[    1.489602] io scheduler deadline registered
[    1.489645] io scheduler cfq registered (default)
[    1.490128] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.490164] pciehp: PCI Express Hot Plug Controller Driver version: 0.=
4
[    1.490353] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0=
C0C:00/input/input0
[    1.490364] ACPI: Power Button [PWRB]
[    1.490424] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/in=
put/input1
[    1.490432] ACPI: Power Button [PWRF]
[    1.692991] APEI: Can not request iomem region <00000000dfec60ea-00000=
000dfec60ec> for GARs.
[    1.693118] [Firmware Warn]: GHES: Poll interval is 0 for generic hard=
ware error source: 1, disabled.
[    1.693300] GHES: APEI firmware first mode is enabled by WHEA _OSC.
[    1.693866] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    1.697843] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.722349] 00:0d: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.848430] hpet_acpi_add: no address or irqs in _CRS
[    1.848451] Linux agpgart interface v0.103
[    1.852373] brd: module loaded
[    1.853467] loop: module loaded
[    1.853824] ahci 0000:00:11.0: version 3.0
[    1.853849] xen: registering gsi 22 triggering 0 polarity 1
[    1.853871] xen: --> pirq=3D22 -> irq=3D22 (gsi=3D22)
[    1.853890] ahci 0000:00:11.0: PCI INT A -> GSI 22 (level, low) -> IRQ=
 22
[    1.854111] ahci 0000:00:11.0: AHCI 0001.0100 32 slots 6 ports 3 Gbps =
0x3f impl SATA mode
[    1.854121] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo p=
mp pio slum part ccc=20
[    1.855082] scsi0 : ahci
[    1.855199] scsi1 : ahci
[    1.855293] scsi2 : ahci
[    1.855392] scsi3 : ahci
[    1.855498] scsi4 : ahci
[    1.855590] scsi5 : ahci
[    1.856528] ata1: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
500 irq 22
[    1.856537] ata2: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
580 irq 22
[    1.856544] ata3: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
600 irq 22
[    1.856552] ata4: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
680 irq 22
[    1.856559] ata5: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
700 irq 22
[    1.856566] ata6: SATA max UDMA/133 abar m1024@0xfe9fa400 port 0xfe9fa=
780 irq 22
[    1.857062] Fixed MDIO Bus: probed
[    1.857086] tun: Universal TUN/TAP device driver, 1.6
[    1.857092] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    1.857178] PPP generic driver version 2.4.2
[    1.857328] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver=

[    1.857416] xen: registering gsi 17 triggering 0 polarity 1
[    1.857425] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    1.857430] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.857435] Already setup the GSI :17
[    1.857441] ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) ->=
 IRQ 17
[    1.857474] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    1.857569] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bu=
s number 1
[    1.857582] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.857679] ehci_hcd 0000:00:12.2: debug port 1
[    1.857734] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe9fa800
[    1.868101] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.868295] hub 1-0:1.0: USB hub found
[    1.868303] hub 1-0:1.0: 6 ports detected
[    1.868553] xen: registering gsi 19 triggering 0 polarity 1
[    1.868561] xen_map_pirq_gsi: returning irq 19 for gsi 19
[    1.868566] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.868571] Already setup the GSI :19
[    1.868576] ehci_hcd 0000:00:13.2: PCI INT B -> GSI 19 (level, low) ->=
 IRQ 19
[    1.868610] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    1.868733] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bu=
s number 2
[    1.868749] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3=
 EHCI dummy qh workaround
[    1.868809] ehci_hcd 0000:00:13.2: debug port 1
[    1.868857] ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe9fac00
[    1.880099] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.880312] hub 2-0:1.0: USB hub found
[    1.880320] hub 2-0:1.0: 6 ports detected
[    1.880437] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.880591] xen: registering gsi 16 triggering 0 polarity 1
[    1.880598] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.880603] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.880608] Already setup the GSI :16
[    1.880613] ohci_hcd 0000:00:12.0: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.880648] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    1.880742] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bu=
s number 3
[    1.880808] ohci_hcd 0000:00:12.0: irq 16, io mem 0xfe9f6000
[    1.940279] hub 3-0:1.0: USB hub found
[    1.940294] hub 3-0:1.0: 3 ports detected
[    1.940504] xen: registering gsi 16 triggering 0 polarity 1
[    1.940512] xen_map_pirq_gsi: returning irq 16 for gsi 16
[    1.940517] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    1.940521] Already setup the GSI :16
[    1.940527] ohci_hcd 0000:00:12.1: PCI INT A -> GSI 16 (level, low) ->=
 IRQ 16
[    1.940562] ohci_hcd 0000:00:12.1: OHCI Host Controller
[    1.940640] ohci_hcd 0000:00:12.1: new USB bus registered, assigned bu=
s number 4
[    1.940680] ohci_hcd 0000:00:12.1: irq 16, io mem 0xfe9f7000
[    2.000312] hub 4-0:1.0: USB hub found
[    2.000326] hub 4-0:1.0: 3 ports detected
[    2.000550] xen: registering gsi 18 triggering 0 polarity 1
[    2.000558] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.000562] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.000567] Already setup the GSI :18
[    2.000572] ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.000607] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    2.000697] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bu=
s number 5
[    2.000763] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe9f8000
[    2.060288] hub 5-0:1.0: USB hub found
[    2.060302] hub 5-0:1.0: 3 ports detected
[    2.060512] xen: registering gsi 18 triggering 0 polarity 1
[    2.060520] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.060525] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.060530] Already setup the GSI :18
[    2.060535] ohci_hcd 0000:00:13.1: PCI INT A -> GSI 18 (level, low) ->=
 IRQ 18
[    2.060569] ohci_hcd 0000:00:13.1: OHCI Host Controller
[    2.060639] ohci_hcd 0000:00:13.1: new USB bus registered, assigned bu=
s number 6
[    2.060679] ohci_hcd 0000:00:13.1: irq 18, io mem 0xfe9f9000
[    2.120307] hub 6-0:1.0: USB hub found
[    2.120322] hub 6-0:1.0: 3 ports detected
[    2.120531] xen: registering gsi 18 triggering 0 polarity 1
[    2.120539] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.120544] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.120548] Already setup the GSI :18
[    2.120554] ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) ->=
 IRQ 18
[    2.120589] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    2.120658] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bu=
s number 7
[    2.120697] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe9fb000
[    2.176217] ata5: SATA link down (SStatus 0 SControl 300)
[    2.180292] hub 7-0:1.0: USB hub found
[    2.180305] hub 7-0:1.0: 2 ports detected
[    2.180389] uhci_hcd: USB Universal Host Controller Interface driver
[    2.180472] usbcore: registered new interface driver libusual
[    2.180529] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at=
 0x60,0x64 irq 1,12
[    2.183449] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.183462] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.183618] mousedev: PS/2 mouse device common for all mice
[    2.183827] rtc_cmos 00:04: RTC can wake from S4
[    2.184001] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    2.184056] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    2.184170] device-mapper: uevent: version 1.0.3
[    2.184272] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialise=
d: dm-devel@redhat.com
[    2.184285] EFI Variables Facility v0.08 2004-May-17
[    2.184602] TCP cubic registered
[    2.184733] NET: Registered protocol family 10
[    2.185460] NET: Registered protocol family 17
[    2.185485] Registering the dns_resolver key type
[    2.185692] PM: Hibernation image not present or could not be loaded.
[    2.185709] registered taskstats version 1
[    2.192089] usb 2-2: new high-speed USB device number 2 using ehci_hcd=

[    2.203117]   Magic number: 12:269:773
[    2.203129] hub 2-0:1.0: hash matches
[    2.203312] rtc_cmos 00:04: setting system clock to 2012-05-04 07:45:5=
0 UTC (1336117550)
[    2.203445] powernow-k8: Found 1 AMD Opteron(tm) Processor 6128 (8 cpu=
 cores) (version 2.20.00)
[    2.203553] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    2.203558] EDD information not available.
[    2.216671] input: AT Translated Set 2 keyboard as /devices/platform/i=
8042/serio0/input/input2
[    2.330229] Initializing USB Mass Storage driver...
[    2.330450] scsi6 : usb-storage 2-2:1.0
[    2.330530] usbcore: registered new interface driver usb-storage
[    2.330536] USB Mass Storage support registered.
[    2.352138] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352171] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352197] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352222] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.352246] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.352815] ata6.00: ATAPI: TSSTcorp CDDVDW SH-S223L, SB03, max UDMA/1=
00
[    2.353565] ata6.00: configured for UDMA/100
[    2.361793] ata1.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.361801] ata1.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.362506] ata4.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.362513] ata4.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.362961] ata1.00: configured for UDMA/133
[    2.363111] scsi 0:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.363320] sd 0:0:0:0: [sda] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.363455] sd 0:0:0:0: [sda] Write Protect is off
[    2.363461] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.363501] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.363592] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.363707] ata4.00: configured for UDMA/133
[    2.364219] ata2.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.364226] ata2.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.364758] ata3.00: ATA-8: WDC WD2502ABYS-02B7A0, 02.03B03, max UDMA/=
133
[    2.364765] ata3.00: 490350672 sectors, multi 0: LBA48 NCQ (depth 31/3=
2), AA
[    2.365423] ata2.00: configured for UDMA/133
[    2.365595] scsi 1:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.365803] sd 1:0:0:0: [sdb] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.365808] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    2.365866] ata3.00: configured for UDMA/133
[    2.365956] sd 1:0:0:0: [sdb] Write Protect is off
[    2.365962] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.366002] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.366038] scsi 2:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.366232] sd 2:0:0:0: [sdc] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.366251] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    2.366340] sd 2:0:0:0: [sdc] Write Protect is off
[    2.366347] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.366389] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.366409] scsi 3:0:0:0: Direct-Access     ATA      WDC WD2502ABYS-0 =
02.0 PQ: 0 ANSI: 5
[    2.366595] sd 3:0:0:0: Attached scsi generic sg3 type 0
[    2.366642] sd 3:0:0:0: [sdd] 490350672 512-byte logical blocks: (251 =
GB/233 GiB)
[    2.366810] sd 3:0:0:0: [sdd] Write Protect is off
[    2.366817] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    2.366855] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enable=
d, doesn't support DPO or FUA
[    2.367260] scsi 5:0:0:0: CD-ROM            TSSTcorp CDDVDW SH-S223L  =
SB03 PQ: 0 ANSI: 5
[    2.370973] sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form=
2 cdda tray
[    2.370981] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.371158] sr 5:0:0:0: Attached scsi CD-ROM sr0
[    2.371246] sr 5:0:0:0: Attached scsi generic sg4 type 5
[    2.375170]  sdd: unknown partition table
[    2.375459] sd 3:0:0:0: [sdd] Attached SCSI disk
[    2.376358]  sdb: sdb1 sdb2
[    2.376797] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.377565]  sdc: unknown partition table
[    2.377850] sd 2:0:0:0: [sdc] Attached SCSI disk
[    2.480467]  sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda1=
1 sda12 sda13 sda14 sda15 sda16 >
[    2.481471] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.482098] Freeing unused kernel memory: 920k freed
[    2.482415] Write protecting the kernel read-only data: 12288k
[    2.489624] Freeing unused kernel memory: 1520k freed
[    2.490773] Freeing unused kernel memory: 1140k freed
[    2.557089] udevd[165]: starting version 175
[    2.636458] e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k
[    2.636467] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    2.636601] e1000e 0000:03:00.0: Disabling ASPM L0s=20
[    2.636626] xen: registering gsi 17 triggering 0 polarity 1
[    2.636639] xen_map_pirq_gsi: returning irq 17 for gsi 17
[    2.636644] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    2.636650] Already setup the GSI :17
[    2.636656] e1000e 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> I=
RQ 17
[    2.636687] e1000e 0000:03:00.0: setting latency timer to 64
[    2.708140] usb 5-3: new full-speed USB device number 2 using ohci_hcd=

[    2.749851] e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:05
[    2.749861] e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Conne=
ction
[    2.749946] e1000e 0000:03:00.0: eth0: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.750112] e1000e 0000:02:00.0: Disabling ASPM L0s=20
[    2.750137] xen: registering gsi 18 triggering 0 polarity 1
[    2.750148] xen_map_pirq_gsi: returning irq 18 for gsi 18
[    2.750153] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    2.750159] Already setup the GSI :18
[    2.750164] e1000e 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> I=
RQ 18
[    2.750195] e1000e 0000:02:00.0: setting latency timer to 64
[    2.861339] e1000e 0000:02:00.0: eth1: (PCI Express:2.5GT/s:Width x1) =
00:25:90:29:de:04
[    2.861348] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Conne=
ction
[    2.861432] e1000e 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: 0101FF-=
0FF
[    2.890458] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/input/input3
[    2.890716] generic-usb 0003:0557:2221.0001: input,hidraw0: USB HID v1=
=2E00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-=
0000:00:13.0-3/input0
[    2.894400] input: Winbond Electronics Corp Hermon USB hidmouse Device=
 as /devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.1/input/input4
[    2.894568] generic-usb 0003:0557:2221.0002: input,hidraw1: USB HID v1=
=2E00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on u=
sb-0000:00:13.0-3/input1
[    2.894593] usbcore: registered new interface driver usbhid
[    2.894599] usbhid: USB HID core driver
[    3.329089] scsi 6:0:0:0: Direct-Access     Generic- SD/MMC           =
1.00 PQ: 0 ANSI: 0
[    3.329668] scsi 6:0:0:1: Direct-Access     Generic- Compact Flash    =
1.01 PQ: 0 ANSI: 0
[    3.330387] scsi 6:0:0:2: Direct-Access     Generic- SM/xD-Picture    =
1.02 PQ: 0 ANSI: 0
[    3.331105] scsi 6:0:0:3: Direct-Access     Generic- MS/MS-Pro        =
1.03 PQ: 0 ANSI: 0
[    3.332076] sd 6:0:0:0: Attached scsi generic sg5 type 0
[    3.332307] sd 6:0:0:1: Attached scsi generic sg6 type 0
[    3.332917] sd 6:0:0:2: Attached scsi generic sg7 type 0
[    3.333248] sd 6:0:0:3: Attached scsi generic sg8 type 0
[    3.337387] sd 6:0:0:1: [sdf] Attached SCSI removable disk
[    3.341169] sd 6:0:0:3: [sdh] Attached SCSI removable disk
[    3.341766] sd 6:0:0:0: [sde] Attached SCSI removable disk
[    3.345257] sd 6:0:0:2: [sdg] Attached SCSI removable disk
[    9.072230] EXT4-fs (sda15): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   15.826798] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.826809] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.857000] udevd[690]: starting version 175
[   15.968225] Adding 32226300k swap on /dev/sda2.  Priority:-1 extents:1=
 across:32226300k=20
[   15.993626] MCE: In-kernel MCE decoding enabled.
[   15.994765] lp: driver loaded but no devices found
[   15.994879] piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, =
revision 0
[   15.996578] SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
[   15.996892] SP5100 TCO timer: mmio address 0xfec000f0 already in use
[   15.998543] type=3D1400 audit(1336117564.289:2): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/sbin/dhclient" pid=3D796 comm=3D"appar=
mor_parser"
[   15.999196] type=3D1400 audit(1336117564.289:3): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/NetworkManager/nm-dhcp-client.=
action" pid=3D796 comm=3D"apparmor_parser"
[   15.999554] type=3D1400 audit(1336117564.289:4): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/connman/scripts/dhclient-scrip=
t" pid=3D796 comm=3D"apparmor_parser"
[   16.006597] EDAC MC: Ver: 2.1.0
[   16.012142] ipmi message handler version 39.2
[   16.012461] device-mapper: multipath: version 1.3.0 loaded
[   16.014209] ipmi device interface
[   16.017746] AMD64 EDAC driver v3.4.0
[   16.021604] EDAC amd64: DRAM ECC enabled.
[   16.021668] EDAC amd64: F10h detected (node 0).
[   16.021752] EDAC MC: DCT0 chip selects:
[   16.021756] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.021760] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.021763] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.021766] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.021769] EDAC MC: DCT1 chip selects:
[   16.021771] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.021774] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.021777] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.021780] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.021783] EDAC amd64: using x8 syndromes.
[   16.021786] EDAC amd64: MCT channel count: 2
[   16.021829] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   16.021833] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   16.021836] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   16.021839] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   16.021916] EDAC MC0: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:18.2
[   16.022350] IPMI System Interface driver.
[   16.022584] ipmi_si: probing via SMBIOS
[   16.022589] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[   16.022593] ipmi_si: Adding SMBIOS-specified kcs state machine
[   16.022600] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o =
address 0xca2, slave address 0x0, irq 0
[   16.022975] EDAC amd64: DRAM ECC enabled.
[   16.022981] EDAC amd64: F10h detected (node 1).
[   16.023069] EDAC MC: DCT0 chip selects:
[   16.023076] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.023080] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.023083] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.023086] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.023088] EDAC MC: DCT1 chip selects:
[   16.023091] EDAC amd64: MC: 0:  2048MB 1:  2048MB
[   16.023098] EDAC amd64: MC: 2:  2048MB 3:  2048MB
[   16.023101] EDAC amd64: MC: 4:     0MB 5:     0MB
[   16.023104] EDAC amd64: MC: 6:     0MB 7:     0MB
[   16.023107] EDAC amd64: using x8 syndromes.
[   16.023110] EDAC amd64: MCT channel count: 2
[   16.023170] EDAC amd64: CS0: Unbuffered DDR3 RAM
[   16.023173] EDAC amd64: CS1: Unbuffered DDR3 RAM
[   16.023180] EDAC amd64: CS2: Unbuffered DDR3 RAM
[   16.023183] EDAC amd64: CS3: Unbuffered DDR3 RAM
[   16.023295] EDAC MC1: Giving out device to 'amd64_edac' 'F10h': DEV 00=
00:00:19.2
[   16.023410] EDAC PCI0: Giving out device to module 'amd64_edac' contro=
ller 'EDAC PCI controller': DEV '0000:00:18.2' (POLLED)
[   16.042005] Bridge firewalling registered
[   16.053097] device eth0 entered promiscuous mode
[   16.132100] ipmi_si: Invalid return from get global enables command, c=
annot enable the event buffer.
[   16.151879] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   16.160814] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x00b980, prod_i=
d: 0xa711, dev_id: 0x20)
[   16.160999] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[   16.182200] ADDRCONF(NETDEV_UP): br0: link is not ready
[   16.319392] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   16.330234] EXT4-fs (sda15): re-mounted. Opts: errors=3Dremount-ro
[   17.144823] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i80=
42/serio1/input/input5
[   17.593397] EXT4-fs (dm-30): mounted filesystem with ordered data mode=
=2E Opts: (null)
[   19.417104] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Co=
ntrol: Rx/Tx
[   19.419524] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.419662] br0: port 1(eth0) entering forwarding state
[   19.419679] br0: port 1(eth0) entering forwarding state
[   19.421850] ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[   23.013339] init: udev-fallback-graphics main process (1809) terminate=
d with status 1
[   23.151179] init: failsafe main process (1693) killed by TERM signal
[   23.262932] type=3D1400 audit(1336117571.553:5): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/lib/libvirt/virt-aa-helper" pid=3D=
1907 comm=3D"apparmor_parser"
[   23.263053] type=3D1400 audit(1336117571.553:6): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/sbin/dhclient" pid=3D1905 comm=3D"a=
pparmor_parser"
[   23.263150] type=3D1400 audit(1336117571.553:7): apparmor=3D"STATUS" o=
peration=3D"profile_load" name=3D"/usr/sbin/libvirtd" pid=3D1908 comm=3D"=
apparmor_parser"
[   23.263716] type=3D1400 audit(1336117571.553:8): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/NetworkManager/nm-dhcp-clie=
nt.action" pid=3D1905 comm=3D"apparmor_parser"
[   23.264106] type=3D1400 audit(1336117571.557:9): apparmor=3D"STATUS" o=
peration=3D"profile_replace" name=3D"/usr/lib/connman/scripts/dhclient-sc=
ript" pid=3D1905 comm=3D"apparmor_parser"
[   23.264198] type=3D1400 audit(1336117571.557:10): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi" pid=3D1909 c=
omm=3D"apparmor_parser"
[   23.264557] type=3D1400 audit(1336117571.557:11): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/mysqld-akonadi///usr/sbin/my=
sqld" pid=3D1909 comm=3D"apparmor_parser"
[   23.264863] type=3D1400 audit(1336117571.557:12): apparmor=3D"STATUS" =
operation=3D"profile_load" name=3D"/usr/sbin/tcpdump" pid=3D1911 comm=3D"=
apparmor_parser"
[   23.544492] init: Failed to spawn alsa-restore main process: unable to=
 execute: No such file or directory
[   23.762025] ip_tables: (C) 2000-2006 Netfilter Core Team
[   23.862906] nf_conntrack version 0.5.0 (5946 buckets, 23784 max)
[   23.915808] ADDRCONF(NETDEV_UP): virbr0: link is not ready
[   24.143570] Event-channel device installed.
[   24.207277] XENBUS: Unable to read cpu state
[   24.207486] XENBUS: Unable to read cpu state
[   24.207676] XENBUS: Unable to read cpu state
[   24.207856] XENBUS: Unable to read cpu state
[   24.208129] XENBUS: Unable to read cpu state
[   24.208292] XENBUS: Unable to read cpu state
[   24.208467] XENBUS: Unable to read cpu state
[   24.208605] XENBUS: Unable to read cpu state
[   25.164557] Ebtables v2.0 registered
[   25.195793] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   29.556089] br0: no IPv6 routers present
[  112.342255] xen-acpi-processor: Max ACPI ID: 16
[  112.344764] ACPI CPU1 - P-states uploaded.
[  112.344771]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344775]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344779]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344782]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344785]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344804] ACPI CPU2 - P-states uploaded.
[  112.344809]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344817]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344823]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344829]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344834]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344856] ACPI CPU3 - P-states uploaded.
[  112.344861]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344865]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344871]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344876]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344881]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344900] ACPI CPU4 - P-states uploaded.
[  112.344905]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344910]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344915]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344920]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344925]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344937] ACPI CPU5 - P-states uploaded.
[  112.344942]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344947]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344952]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344957]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.344962]       P4: 800 MHz, 4777 mW, 4 uS
[  112.344972] ACPI CPU6 - P-states uploaded.
[  112.344979]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.344984]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.344991]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.344995]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.345000]       P4: 800 MHz, 4777 mW, 4 uS
[  112.345013] ACPI CPU7 - P-states uploaded.
[  112.345017]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.345022]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.345028]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.345033]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.345037]       P4: 800 MHz, 4777 mW, 4 uS
[  112.345049] ACPI CPU8 - P-states uploaded.
[  112.345054]      *P0: 2000 MHz, 10580 mW, 4 uS
[  112.345059]       P1: 1500 MHz, 8265 mW, 4 uS
[  112.345064]       P2: 1200 MHz, 6825 mW, 4 uS
[  112.345069]       P3: 1000 MHz, 5600 mW, 4 uS
[  112.345074]       P4: 800 MHz, 4777 mW, 4 uS
[  112.345100] xen-acpi-processor: ACPI CPU1 w/ PBLK:0x810
[  112.345116] xen-acpi-processor: ACPI CPU2 w/ PBLK:0x0
[  112.345128] xen-acpi-processor: ACPI CPU3 w/ PBLK:0x0
[  112.345140] xen-acpi-processor: ACPI CPU4 w/ PBLK:0x0
[  112.345150] xen-acpi-processor: ACPI CPU5 w/ PBLK:0x0
[  112.345163] xen-acpi-processor: ACPI CPU6 w/ PBLK:0x0
[  112.345175] xen-acpi-processor: ACPI CPU7 w/ PBLK:0x0
[  112.345188] xen-acpi-processor: ACPI CPU8 w/ PBLK:0x0
[  112.345199] xen-acpi-processor: ACPI CPU9 w/ PBLK:0x0
[  112.345208] xen-acpi-processor: ACPI CPU10 w/ PBLK:0x0
[  112.345216] xen-acpi-processor: ACPI CPU11 w/ PBLK:0x0
[  112.345225] xen-acpi-processor: ACPI CPU12 w/ PBLK:0x0

--------------070800050300030104070507--

--------------enigEB40C659F3DC487B0CD9A40F
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCgAGBQJPo4yoAAoJEOhnXe7L7s6j0tUQAMsHymTHwqeHbTo/kiHCjxZl
1w+ktvBCCllVo2/3/bIVTVS+Pgk4DFkoGqBlryls+hPV5c8dxkKExS7coEdpEghG
ubIWV3XMjgKFBGSZME4qErtxFLLQKvzVqQc4EJW7h/6lRQX+bYVQ6tyEVp06b///
kie/HuC06wDICKt3L6NS6k3Gm3qznyvwcPnHqNJUTDVPvq9OAC3zRGKxTOI6l5W5
+stLQ8RqGbtRnsi/SXtWXo32toz+QBvEi6poMSEHIYMpAN1NkXRpt8uJkZZMRHj2
J5TINRgOMEBo5X505M1/PxOxw+yGR2bpPP3d+dTA7UYfraBWQ9ee9XhPV169urtd
MkusPYneVkaxsWcBCIRgdcARztvXK3zH6FB8uyEwYzBB9rgCReOOAYLzgOAMU7TW
UDV4RNGfboH2f2EeHCYEDpjxPSu/f8nj12Y99c1YLWl0n/BPsyEgu04VE91n5Fyn
se+TSdds1ha3lZGictiDhhGkFD1hBWaTgu4m9xYxKq4PcUKvWze/2hy8xqbhx+nk
G3EiIHBLXHPEMLZ28NUfb9/6y0j9JsocjAXALNVXJsVtn4WZpPjA2YQ5Uj1OCkEI
gqvWKKfosEk1VOhNNLUablDyuUEiNxnXtmN1RvFfEm17ykmGpiIIdivJWUIR+dOV
3NGyl7Jf4tyDokh9n1eK
=3IO6
-----END PGP SIGNATURE-----

--------------enigEB40C659F3DC487B0CD9A40F--


--===============5525228139078192454==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5525228139078192454==--


From xen-devel-bounces@lists.xen.org Fri May 04 08:07:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:07:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDXt-00027y-4e; Fri, 04 May 2012 08:07:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQDXs-00027s-3u
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:07:20 +0000
Received: from [85.158.139.83:62552] by server-10.bemta-5.messagelabs.com id
	02/4D-08260-73E83AF4; Fri, 04 May 2012 08:07:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336118837!22850928!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2821 invoked from network); 4 May 2012 08:07:17 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 08:07:17 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 09:07:16 +0100
Message-Id: <4FA3AA540200007800081840@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 09:07:16 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> When PCIE device which has LTR/OBFF capabilities is owned by pciback, 
> LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that 
> guest with device assigned can be benefitted.
> 
> Changes from v1:
> - put the variable definition at the start of function
> - add error log report
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>

I continue to disagree to doing this always, unconditionally, with
hard-coded settings. If these features require explicit enabling,
there likely is something that drivers unaware of them could have
problems with - otherwise I would think these features would be
always enabled when a device supports them, and no options
would exist to control certain parameters.

Plus, if the patch is nevertheless going to be acceptable, ...

> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct pci_dev 
> *dev)
>  	struct xen_pcibk_dev_data *dev_data;
>  	int err = 0;
>  
> +	/* set default value */
> +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> +
>  	dev_dbg(&dev->dev, "initializing...\n");
>  
>  	/* The PCI backend is not intended to be a module (or to work with
> @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct pci_dev 
> *dev)
>  	dev_dbg(&dev->dev, "reset device\n");
>  	xen_pcibk_reset_device(dev);
>  
> +	/* Enable LTR and OBFF before do device assignment */
> +	/* LTR(Latency tolerance reporting) allows devices to send
> +	 * messages to the root complex indicating their latency tolerance
> +	 * for snooped & unsnooped memory transactions.
> +	 */
> +	err = pci_enable_ltr(dev);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");

... dev_err() here and below is certainly too severe, particularly for
the -ENOTSUPP cases. And the spelling would need fixing, especially
with it being broken exactly the same way a second time below.

> +
> +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);

What's the point of calling this function when pci_enable_ltr() failed?

Jan

> +	if (err)
> +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> +
> +	/* OBFF (optimized buffer flush/fill), where supported, can help
> +	 * improve energy efficiency by giving devices information about
> +	 * when interrupts and other activity will have a reduced power
> +	 * impact.
> +	 */
> +	err = pci_enable_obff(dev, type);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> +
>  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
>  	return 0;
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:07:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:07:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDXt-00027y-4e; Fri, 04 May 2012 08:07:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQDXs-00027s-3u
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:07:20 +0000
Received: from [85.158.139.83:62552] by server-10.bemta-5.messagelabs.com id
	02/4D-08260-73E83AF4; Fri, 04 May 2012 08:07:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336118837!22850928!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2821 invoked from network); 4 May 2012 08:07:17 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 08:07:17 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 09:07:16 +0100
Message-Id: <4FA3AA540200007800081840@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 09:07:16 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> When PCIE device which has LTR/OBFF capabilities is owned by pciback, 
> LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that 
> guest with device assigned can be benefitted.
> 
> Changes from v1:
> - put the variable definition at the start of function
> - add error log report
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>

I continue to disagree to doing this always, unconditionally, with
hard-coded settings. If these features require explicit enabling,
there likely is something that drivers unaware of them could have
problems with - otherwise I would think these features would be
always enabled when a device supports them, and no options
would exist to control certain parameters.

Plus, if the patch is nevertheless going to be acceptable, ...

> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct pci_dev 
> *dev)
>  	struct xen_pcibk_dev_data *dev_data;
>  	int err = 0;
>  
> +	/* set default value */
> +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> +
>  	dev_dbg(&dev->dev, "initializing...\n");
>  
>  	/* The PCI backend is not intended to be a module (or to work with
> @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct pci_dev 
> *dev)
>  	dev_dbg(&dev->dev, "reset device\n");
>  	xen_pcibk_reset_device(dev);
>  
> +	/* Enable LTR and OBFF before do device assignment */
> +	/* LTR(Latency tolerance reporting) allows devices to send
> +	 * messages to the root complex indicating their latency tolerance
> +	 * for snooped & unsnooped memory transactions.
> +	 */
> +	err = pci_enable_ltr(dev);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");

... dev_err() here and below is certainly too severe, particularly for
the -ENOTSUPP cases. And the spelling would need fixing, especially
with it being broken exactly the same way a second time below.

> +
> +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);

What's the point of calling this function when pci_enable_ltr() failed?

Jan

> +	if (err)
> +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> +
> +	/* OBFF (optimized buffer flush/fill), where supported, can help
> +	 * improve energy efficiency by giving devices information about
> +	 * when interrupts and other activity will have a reduced power
> +	 * impact.
> +	 */
> +	err = pci_enable_obff(dev, type);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> +
>  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
>  	return 0;
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:18:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDiN-0002SM-6c; Fri, 04 May 2012 08:18:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQDiL-0002S5-Jv
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:18:09 +0000
Received: from [85.158.143.99:36407] by server-2.bemta-4.messagelabs.com id
	A6/E9-17550-0C093AF4; Fri, 04 May 2012 08:18:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336119486!26439050!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19446 invoked from network); 4 May 2012 08:18:06 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 08:18:06 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 09:18:05 +0100
Message-Id: <4FA3ACDB0200007800081847@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 09:18:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Keir,

does this really need to be a per-CPU variable? Can't a timer run only
once at a time on the entire system (the more that it gets re-armed only
at the end of the poll function, whereas the variable is consumed at the
start), and hence the variable can be a simple one? Or else, what
subtlety am I overlooking?

Thanks, Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:18:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDiN-0002SM-6c; Fri, 04 May 2012 08:18:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQDiL-0002S5-Jv
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:18:09 +0000
Received: from [85.158.143.99:36407] by server-2.bemta-4.messagelabs.com id
	A6/E9-17550-0C093AF4; Fri, 04 May 2012 08:18:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336119486!26439050!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19446 invoked from network); 4 May 2012 08:18:06 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 08:18:06 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 09:18:05 +0100
Message-Id: <4FA3ACDB0200007800081847@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 09:18:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Keir,

does this really need to be a per-CPU variable? Can't a timer run only
once at a time on the entire system (the more that it gets re-armed only
at the end of the poll function, whereas the variable is consumed at the
start), and hence the variable can be a simple one? Or else, what
subtlety am I overlooking?

Thanks, Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:23:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDnL-0002jg-Ur; Fri, 04 May 2012 08:23:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQDnK-0002jZ-HW
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:23:18 +0000
Received: from [85.158.138.51:48503] by server-4.bemta-3.messagelabs.com id
	83/B0-15341-5F193AF4; Fri, 04 May 2012 08:23:17 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336119795!17278053!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25611 invoked from network); 4 May 2012 08:23:17 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 08:23:17 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQDnH-0007zx-0A
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 01:23:15 -0700
Date: Fri, 4 May 2012 01:23:15 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336119794999-5685158.post@n5.nabble.com>
In-Reply-To: <20120503160244.GQ2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

ClBhc2kgS8Okcmtrw6RpbmVuIHdyb3RlCj4gCj4gT24gVGh1LCBNYXkgMDMsIDIwMTIgYXQgMDc6
Mjc6MTFBTSAtMDcwMCwgRmFudHUgd3JvdGU6Cj4+IAo+PiBQYXNpIEvDpHJra8OkaW5lbiB3cm90
ZQo+PiA+IAo+PiA+IE9uIFRodSwgTWF5IDAzLCAyMDEyIGF0IDA1OjI4OjQ0QU0gLTA3MDAsIEZh
bnR1IHdyb3RlOgo+PiA+PiAKPj4gPj4gQWJvdXQgcXhsIHRoZXJlIGFyZSBwcm9ibGVtcyBhYm91
dCB2aWRlb3JhbSBub3QgYWxsb2NhdGVkIG9yIG5vdCB1c2VkCj4+ID4+IG92ZXIgNAo+PiA+PiBt
YiAoc2FtZSBhcyBkZWZhdWx0IGNpcnJ1cyB2Z2EpLgo+PiA+PiBBdCB0aGUgbW9tZW50IEkgaGF2
ZW4ndCBmb3VuZCBzb2x1dGlvbiBmb3IgdGhpcyBwcm9ibGVtLCBwcm9iYWJseSBzb21lCj4+ID4+
IGJ1Z2ZpeCBhbmQvb3IgY2hhbmdlIGFyZSBuZWVkZWQgb24geGVuLgo+PiA+PiAKPj4gPiAKPj4g
PiBJcyB0aGlzIGEgcmVncmVzc2lvbiBpbiB4ZW4tdW5zdGFibGUgY29tcGFyZWQgdG8geGVuIDQu
MSA/IAo+PiA+IAo+PiA+IGFmYWlrIHlvdSBjYW4gZ2V0IGF0IGxlYXN0IDE2IE1CIG9mIHZpZGVv
IG1lbW9yeSBmb3IgSFZNIGd1ZXN0IHdpdGggWGVuCj4+ID4gNC4xLgo+PiA+IAo+PiA+IC0tIFBh
c2kKPj4gPiAKPj4gPiAKPj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwo+PiA+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gPiBYZW4tZGV2ZWxALnhl
bgo+PiA+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo+PiA+IAo+PiBUaGFua3MgZm9y
IHJlcGx5Cj4+IFByb2JhYmx5IHhlbi11bnN0YWJsZSB3aXRoIHFlbXUgdXBzdHJlYW0gZG9lc24n
dCBzdXBwb3J0IHZpZGVvcmFtCj4+IHNldHRpbmcuCj4+IHF4bCBkZWZhdWx0IHZpZGVvcmFtIGlz
IDY0IG1iIGJ1dCBJIGFsc28gdHJpZWQgdG8gc2V0IDE2IG1iIHdpdGhvdXQKPj4gcmVzdWx0LAo+
PiBpdCBhbHdheXMgc2VlIG9ubHkgNCBtYiwgbm90IGVub3VnaCBmb3IgY29ycmVjdCB3b3JraW5n
IHF4bC4KPj4gCj4gCj4gT2suIElmIHlvdSB1c2UgcWVtdS11cHN0cmVhbSBhbmQgY2lycnVzL3N0
ZHZnYSAod2l0aG91dCBxeGwpLCBkb2VzCj4gdmlkZW9tZW0gPjRNQiB3b3JrIHRoZW4gPwo+IAo+
IC0tIFBhc2kKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxALnhlbgo+IGh0dHA6
Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo+IApObywgYWx3YXlzIDQgbWIsIGFsc28gd2l0aCBj
aXJydXMgb3Igc3RkdmdhIHZpZGVvcmFtIHNldHRpbmcgbm90IHdvcmsuCgotLQpWaWV3IHRoaXMg
bWVzc2FnZSBpbiBjb250ZXh0OiBodHRwOi8veGVuLjEwNDU3MTIubjUubmFiYmxlLmNvbS9VbmFi
bGUtdG8tZ2V0LVFYTC12Z2Etd29ya2luZy10cDU2Njc5MTlwNTY4NTE1OC5odG1sClNlbnQgZnJv
bSB0aGUgWGVuIC0gRGV2IG1haWxpbmcgbGlzdCBhcmNoaXZlIGF0IE5hYmJsZS5jb20uCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp
bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hl
bi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Fri May 04 08:23:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDnL-0002jg-Ur; Fri, 04 May 2012 08:23:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQDnK-0002jZ-HW
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:23:18 +0000
Received: from [85.158.138.51:48503] by server-4.bemta-3.messagelabs.com id
	83/B0-15341-5F193AF4; Fri, 04 May 2012 08:23:17 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336119795!17278053!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25611 invoked from network); 4 May 2012 08:23:17 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 08:23:17 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQDnH-0007zx-0A
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 01:23:15 -0700
Date: Fri, 4 May 2012 01:23:15 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336119794999-5685158.post@n5.nabble.com>
In-Reply-To: <20120503160244.GQ2058@reaktio.net>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

ClBhc2kgS8Okcmtrw6RpbmVuIHdyb3RlCj4gCj4gT24gVGh1LCBNYXkgMDMsIDIwMTIgYXQgMDc6
Mjc6MTFBTSAtMDcwMCwgRmFudHUgd3JvdGU6Cj4+IAo+PiBQYXNpIEvDpHJra8OkaW5lbiB3cm90
ZQo+PiA+IAo+PiA+IE9uIFRodSwgTWF5IDAzLCAyMDEyIGF0IDA1OjI4OjQ0QU0gLTA3MDAsIEZh
bnR1IHdyb3RlOgo+PiA+PiAKPj4gPj4gQWJvdXQgcXhsIHRoZXJlIGFyZSBwcm9ibGVtcyBhYm91
dCB2aWRlb3JhbSBub3QgYWxsb2NhdGVkIG9yIG5vdCB1c2VkCj4+ID4+IG92ZXIgNAo+PiA+PiBt
YiAoc2FtZSBhcyBkZWZhdWx0IGNpcnJ1cyB2Z2EpLgo+PiA+PiBBdCB0aGUgbW9tZW50IEkgaGF2
ZW4ndCBmb3VuZCBzb2x1dGlvbiBmb3IgdGhpcyBwcm9ibGVtLCBwcm9iYWJseSBzb21lCj4+ID4+
IGJ1Z2ZpeCBhbmQvb3IgY2hhbmdlIGFyZSBuZWVkZWQgb24geGVuLgo+PiA+PiAKPj4gPiAKPj4g
PiBJcyB0aGlzIGEgcmVncmVzc2lvbiBpbiB4ZW4tdW5zdGFibGUgY29tcGFyZWQgdG8geGVuIDQu
MSA/IAo+PiA+IAo+PiA+IGFmYWlrIHlvdSBjYW4gZ2V0IGF0IGxlYXN0IDE2IE1CIG9mIHZpZGVv
IG1lbW9yeSBmb3IgSFZNIGd1ZXN0IHdpdGggWGVuCj4+ID4gNC4xLgo+PiA+IAo+PiA+IC0tIFBh
c2kKPj4gPiAKPj4gPiAKPj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwo+PiA+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gPiBYZW4tZGV2ZWxALnhl
bgo+PiA+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo+PiA+IAo+PiBUaGFua3MgZm9y
IHJlcGx5Cj4+IFByb2JhYmx5IHhlbi11bnN0YWJsZSB3aXRoIHFlbXUgdXBzdHJlYW0gZG9lc24n
dCBzdXBwb3J0IHZpZGVvcmFtCj4+IHNldHRpbmcuCj4+IHF4bCBkZWZhdWx0IHZpZGVvcmFtIGlz
IDY0IG1iIGJ1dCBJIGFsc28gdHJpZWQgdG8gc2V0IDE2IG1iIHdpdGhvdXQKPj4gcmVzdWx0LAo+
PiBpdCBhbHdheXMgc2VlIG9ubHkgNCBtYiwgbm90IGVub3VnaCBmb3IgY29ycmVjdCB3b3JraW5n
IHF4bC4KPj4gCj4gCj4gT2suIElmIHlvdSB1c2UgcWVtdS11cHN0cmVhbSBhbmQgY2lycnVzL3N0
ZHZnYSAod2l0aG91dCBxeGwpLCBkb2VzCj4gdmlkZW9tZW0gPjRNQiB3b3JrIHRoZW4gPwo+IAo+
IC0tIFBhc2kKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxALnhlbgo+IGh0dHA6
Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo+IApObywgYWx3YXlzIDQgbWIsIGFsc28gd2l0aCBj
aXJydXMgb3Igc3RkdmdhIHZpZGVvcmFtIHNldHRpbmcgbm90IHdvcmsuCgotLQpWaWV3IHRoaXMg
bWVzc2FnZSBpbiBjb250ZXh0OiBodHRwOi8veGVuLjEwNDU3MTIubjUubmFiYmxlLmNvbS9VbmFi
bGUtdG8tZ2V0LVFYTC12Z2Etd29ya2luZy10cDU2Njc5MTlwNTY4NTE1OC5odG1sClNlbnQgZnJv
bSB0aGUgWGVuIC0gRGV2IG1haWxpbmcgbGlzdCBhcmNoaXZlIGF0IE5hYmJsZS5jb20uCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp
bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hl
bi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Fri May 04 08:26:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDq3-0002rC-Gh; Fri, 04 May 2012 08:26:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQDq1-0002qw-Or
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:26:05 +0000
Received: from [193.109.254.147:16070] by server-8.bemta-14.messagelabs.com id
	AB/23-23244-D9293AF4; Fri, 04 May 2012 08:26:05 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336119950!7590811!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29106 invoked from network); 4 May 2012 08:25:50 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:25:50 -0000
Received: by eaaf11 with SMTP id f11so812382eaa.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 01:25:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=wF3rQhO/HahzX2wPgIPzZ5JtQu+0K6FWPVXbTnzs0JY=;
	b=yU/H6wlf6pzKyQqBSRnJ2PLIaa0SAXzlTERLJl6I0ASaSaG5uEZKypwFZYoz+rShRz
	XkrzAi3Hn9TRpGkNak9BoRAi1lAaHbWLJPOgOCs/1mNpqCEUCqE44qgrstdVcaHtgFdK
	N29Ov0PX6fvwBbfdjBxSILTdkB0oNXtIN94Ip0PhFMXNjXG62DgnJhJyMkudh0hY4xe1
	4VHP3aRKmgJ75+CNUioAG81abSZXVC1CmxyC/tMhAQZ2dRa2CMO88H9UDF35zESgWWLK
	oBaEqCha0S96WrDjCLt1CvGr1EzXHZ1fKLYvY+m5NZO+jv0tIPAEZsUjLZ1t9AZ15plj
	8m4w==
Received: by 10.213.29.138 with SMTP id q10mr1039136ebc.15.1336119949833;
	Fri, 04 May 2012 01:25:49 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id u10sm22055072eem.1.2012.05.04.01.25.47
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 01:25:49 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 09:25:38 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC95112.324B8%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0pz3wPgv5LAnWG3UW82f8d46J5Gg==
In-Reply-To: <4FA3ACDB0200007800081847@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:

> Hi Keir,
> 
> does this really need to be a per-CPU variable? Can't a timer run only
> once at a time on the entire system (the more that it gets re-armed only
> at the end of the poll function, whereas the variable is consumed at the
> start), and hence the variable can be a simple one? Or else, what
> subtlety am I overlooking?

We set up a timer per initialised uart. There can be more than one (although
granted it is rare).

 -- Keir

> Thanks, Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:26:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDq3-0002rC-Gh; Fri, 04 May 2012 08:26:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQDq1-0002qw-Or
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:26:05 +0000
Received: from [193.109.254.147:16070] by server-8.bemta-14.messagelabs.com id
	AB/23-23244-D9293AF4; Fri, 04 May 2012 08:26:05 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336119950!7590811!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29106 invoked from network); 4 May 2012 08:25:50 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:25:50 -0000
Received: by eaaf11 with SMTP id f11so812382eaa.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 01:25:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=wF3rQhO/HahzX2wPgIPzZ5JtQu+0K6FWPVXbTnzs0JY=;
	b=yU/H6wlf6pzKyQqBSRnJ2PLIaa0SAXzlTERLJl6I0ASaSaG5uEZKypwFZYoz+rShRz
	XkrzAi3Hn9TRpGkNak9BoRAi1lAaHbWLJPOgOCs/1mNpqCEUCqE44qgrstdVcaHtgFdK
	N29Ov0PX6fvwBbfdjBxSILTdkB0oNXtIN94Ip0PhFMXNjXG62DgnJhJyMkudh0hY4xe1
	4VHP3aRKmgJ75+CNUioAG81abSZXVC1CmxyC/tMhAQZ2dRa2CMO88H9UDF35zESgWWLK
	oBaEqCha0S96WrDjCLt1CvGr1EzXHZ1fKLYvY+m5NZO+jv0tIPAEZsUjLZ1t9AZ15plj
	8m4w==
Received: by 10.213.29.138 with SMTP id q10mr1039136ebc.15.1336119949833;
	Fri, 04 May 2012 01:25:49 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id u10sm22055072eem.1.2012.05.04.01.25.47
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 01:25:49 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 09:25:38 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC95112.324B8%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0pz3wPgv5LAnWG3UW82f8d46J5Gg==
In-Reply-To: <4FA3ACDB0200007800081847@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:

> Hi Keir,
> 
> does this really need to be a per-CPU variable? Can't a timer run only
> once at a time on the entire system (the more that it gets re-armed only
> at the end of the poll function, whereas the variable is consumed at the
> start), and hence the variable can be a simple one? Or else, what
> subtlety am I overlooking?

We set up a timer per initialised uart. There can be more than one (although
granted it is rare).

 -- Keir

> Thanks, Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:29:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDsd-00030h-2q; Fri, 04 May 2012 08:28:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQDsb-00030Y-CI
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:28:45 +0000
Received: from [193.109.254.147:5672] by server-6.bemta-14.messagelabs.com id
	FF/BF-04960-C3393AF4; Fri, 04 May 2012 08:28:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336120124!7591342!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6820 invoked from network); 4 May 2012 08:28:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:28:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12291289"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:28:31 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:28:30 +0100
Message-ID: <1336120109.26385.7.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Fri, 4 May 2012 09:28:29 +0100
In-Reply-To: <1336119794999-5685158.post@n5.nabble.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(putting Pasi back in the CC, please retain CCs on xen-devel)

On Fri, 2012-05-04 at 09:23 +0100, Fantu wrote:
> Pasi K=E4rkk=E4inen wrote
> > Ok. If you use qemu-upstream and cirrus/stdvga (without qxl), does
> > videomem >4MB work then ?
> > =

> No, always 4 mb, also with cirrus or stdvga videoram setting not work.

But with Qemu-xen-traditional it does work?

Anthony -- any idea why the videoram setting doesn't work with upstream
qemu?



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:29:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDsd-00030h-2q; Fri, 04 May 2012 08:28:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQDsb-00030Y-CI
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:28:45 +0000
Received: from [193.109.254.147:5672] by server-6.bemta-14.messagelabs.com id
	FF/BF-04960-C3393AF4; Fri, 04 May 2012 08:28:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336120124!7591342!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6820 invoked from network); 4 May 2012 08:28:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:28:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12291289"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:28:31 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:28:30 +0100
Message-ID: <1336120109.26385.7.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Fri, 4 May 2012 09:28:29 +0100
In-Reply-To: <1336119794999-5685158.post@n5.nabble.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(putting Pasi back in the CC, please retain CCs on xen-devel)

On Fri, 2012-05-04 at 09:23 +0100, Fantu wrote:
> Pasi K=E4rkk=E4inen wrote
> > Ok. If you use qemu-upstream and cirrus/stdvga (without qxl), does
> > videomem >4MB work then ?
> > =

> No, always 4 mb, also with cirrus or stdvga videoram setting not work.

But with Qemu-xen-traditional it does work?

Anthony -- any idea why the videoram setting doesn't work with upstream
qemu?



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:30:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:30:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDuP-00038u-Iw; Fri, 04 May 2012 08:30:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQDuO-00038m-RJ
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:30:37 +0000
Received: from [85.158.139.83:48606] by server-2.bemta-5.messagelabs.com id
	C5/99-17016-CA393AF4; Fri, 04 May 2012 08:30:36 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336120235!22772829!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19284 invoked from network); 4 May 2012 08:30:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:30:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12291333"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:30:34 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:30:33 +0100
Message-ID: <1336120233.26385.10.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Fri, 4 May 2012 09:30:33 +0100
In-Reply-To: <CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Fantu <fantonifabio@tiscali.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 02:15 +0100, ZhouPeng wrote:
> On Thu, May 3, 2012 at 9:56 PM, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> > On Thu, 3 May 2012, ZhouPeng wrote:
> >> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
> >> >> > card?
> >> >> No, not disable the vga card.
> >> >> But booting in Text mode.
> >> >
> >> > Then you are manually starting X11 with the spice driver?
> >> Always in text mode.
> >> Never start X11.
> >> Using stdard vga but not qxl-vga.
> >
> > so you didn't actually test qxl at all, did you?
> Didn't test qxl but only spice.

So to return to my question at the start of this thread -- is qxl
something you would be interested in supporting? (I think you said yes,
but we've been somewhat sidetracked on the distinction between SPICE
support and QXL support).

In any case this is definitely 4.3 material IMHO since we are now
feature frozen for 4.2.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:30:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:30:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDuP-00038u-Iw; Fri, 04 May 2012 08:30:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQDuO-00038m-RJ
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:30:37 +0000
Received: from [85.158.139.83:48606] by server-2.bemta-5.messagelabs.com id
	C5/99-17016-CA393AF4; Fri, 04 May 2012 08:30:36 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336120235!22772829!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19284 invoked from network); 4 May 2012 08:30:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:30:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12291333"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:30:34 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:30:33 +0100
Message-ID: <1336120233.26385.10.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Fri, 4 May 2012 09:30:33 +0100
In-Reply-To: <CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Fantu <fantonifabio@tiscali.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 02:15 +0100, ZhouPeng wrote:
> On Thu, May 3, 2012 at 9:56 PM, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> > On Thu, 3 May 2012, ZhouPeng wrote:
> >> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
> >> >> > card?
> >> >> No, not disable the vga card.
> >> >> But booting in Text mode.
> >> >
> >> > Then you are manually starting X11 with the spice driver?
> >> Always in text mode.
> >> Never start X11.
> >> Using stdard vga but not qxl-vga.
> >
> > so you didn't actually test qxl at all, did you?
> Didn't test qxl but only spice.

So to return to my question at the start of this thread -- is qxl
something you would be interested in supporting? (I think you said yes,
but we've been somewhat sidetracked on the distinction between SPICE
support and QXL support).

In any case this is definitely 4.3 material IMHO since we are now
feature frozen for 4.2.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:34:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDxi-0003bD-Vl; Fri, 04 May 2012 08:34:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQDxh-0003av-B4
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:34:01 +0000
Received: from [85.158.143.99:11046] by server-3.bemta-4.messagelabs.com id
	AB/A8-05853-87493AF4; Fri, 04 May 2012 08:34:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336120439!16831979!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3967 invoked from network); 4 May 2012 08:34:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:34:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12291414"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:33:59 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:33:59 +0100
Message-ID: <1336120438.26385.13.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Fri, 4 May 2012 09:33:58 +0100
In-Reply-To: <20120503155716.GA14354@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de> <20120503155716.GA14354@aepfle.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 16:57 +0100, Olaf Hering wrote:
> On Thu, May 03, Olaf Hering wrote:
> 
> > Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> > disabled for some reason. I will double check.
> 
> While preparing the patch I accidently disabled vtpm in my rpm spec
> file, so the code was not exectued anymore.
> Sorry for that.

So should c5b7d49ca3ee be reverted for now? Or are you going to come up
with a fix soon?

> I see some nice patch handing in tools/firmware/etherboot/Makefile,
> which could be copied to tools/vtpm/Makefile. However, this would make
> the make targets updatepatches and orig in tools/vtpm/Makefile obsolete.
> Would that be an acceptable approach to maintain a stack of patches for
> vtpm?

It could be considered for 4.3. I'm not sure we want to be fiddling with
obscure parts of the build system for 4.2 at this stage. Lets just fix
the immediate breakage for 4.2.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:34:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQDxi-0003bD-Vl; Fri, 04 May 2012 08:34:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQDxh-0003av-B4
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:34:01 +0000
Received: from [85.158.143.99:11046] by server-3.bemta-4.messagelabs.com id
	AB/A8-05853-87493AF4; Fri, 04 May 2012 08:34:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336120439!16831979!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3967 invoked from network); 4 May 2012 08:34:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 08:34:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12291414"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:33:59 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:33:59 +0100
Message-ID: <1336120438.26385.13.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Fri, 4 May 2012 09:33:58 +0100
In-Reply-To: <20120503155716.GA14354@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de> <20120503155716.GA14354@aepfle.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-03 at 16:57 +0100, Olaf Hering wrote:
> On Thu, May 03, Olaf Hering wrote:
> 
> > Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> > disabled for some reason. I will double check.
> 
> While preparing the patch I accidently disabled vtpm in my rpm spec
> file, so the code was not exectued anymore.
> Sorry for that.

So should c5b7d49ca3ee be reverted for now? Or are you going to come up
with a fix soon?

> I see some nice patch handing in tools/firmware/etherboot/Makefile,
> which could be copied to tools/vtpm/Makefile. However, this would make
> the make targets updatepatches and orig in tools/vtpm/Makefile obsolete.
> Would that be an acceptable approach to maintain a stack of patches for
> vtpm?

It could be considered for 4.3. I'm not sure we want to be fiddling with
obscure parts of the build system for 4.2 at this stage. Lets just fix
the immediate breakage for 4.2.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 08:54:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:54:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEHC-00041J-R4; Fri, 04 May 2012 08:54:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hahn@univention.de>) id 1SQEHC-00041E-6b
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:54:10 +0000
Received: from [85.158.143.99:39079] by server-3.bemta-4.messagelabs.com id
	ED/A4-05853-13993AF4; Fri, 04 May 2012 08:54:09 +0000
X-Env-Sender: hahn@univention.de
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336121647!20079846!1
X-Originating-IP: [82.198.197.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13648 invoked from network); 4 May 2012 08:54:07 -0000
Received: from mail.univention.de (HELO mail.univention.de) (82.198.197.8)
	by server-10.tower-216.messagelabs.com with SMTP;
	4 May 2012 08:54:07 -0000
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 46D7E67BB0D;
	Fri,  4 May 2012 10:54:06 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 27F1867BB0E;
	Fri,  4 May 2012 10:54:06 +0200 (CEST)
X-Virus-Scanned: by amavisd-new-2.6.1 (20080629) (Debian) at knut.univention.de
Received: from mail.univention.de ([127.0.0.1])
	by localhost (slugis.knut.univention.de [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id gVepBKd6q3Jf; Fri,  4 May 2012 10:54:05 +0200 (CEST)
Received: from stave.knut.univention.de (port-92-196-73-46.dynamic.qsc.de
	[92.196.73.46])
	by slugis.knut.univention.de (Postfix) with ESMTPSA id 0E32767BB0D;
	Fri,  4 May 2012 10:54:04 +0200 (CEST)
From: Philipp Hahn <hahn@univention.de>
Organization: Univention.de
To: Xen-devel@lists.xen.org
Date: Fri, 4 May 2012 10:54:03 +0200
User-Agent: KMail/1.9.10 (enterprise35 20100903.1171286)
MIME-Version: 1.0
Message-Id: <201205041054.04079.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Subject: [Xen-devel] [BUG 2.6.32.y] Broken PV migration between hosts with
	different uptime, non-monotonic time?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4798092387412600323=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4798092387412600323==
Content-Type: multipart/signed;
  boundary="nextPart13234650.LQF3ZOgi9e";
  protocol="application/pgp-signature";
  micalg=pgp-sha1
Content-Transfer-Encoding: 7bit

--nextPart13234650.LQF3ZOgi9e
Content-Type: text/plain;
  charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hello,

I encountered the following bug when migrating a Linux-2.6.32.54 PV domain =
on=20
Xen-3.4.3 between different hosts, whose uptime differs by several minutes =
(3=20
hosts, each ~5 minutes apart): When migrating from a host with lower uptime=
=20
to a host with higher uptime, the VM looses it's network connection for som=
e=20
time and then continues after some minutes (roughly equivalent to the=20
difference in uptime?).
There are two different symptoms: Either the VM becomes unpingable, or the =
VM=20
is pingable but the ssh-connection freezes: a while-loop dumping /proc/upti=
me=20
freezes and continues without a jump after the freeze is over.

When looking at the output of dmesg of the domU, I also see a jump in the=20
timestamp:
[1967742.320218] eth0: no IPv6 routers present
[1968779.217256] suspending xenstore...
[1968779.217358] trying to map vcpu_info 0 at ffff88000bcbc020, mfn
85e61e, offset 32
[1968779.217358] cpu 0 using vcpu_info at ffff88000bcbc020
[ 5655.842391] suspending xenstore...
[ 5655.842477] trying to map vcpu_info 0 at ffff88000bcbc020, mfn
d5e61e, offset 32
[ 5655.842477] cpu 0 using vcpu_info at ffff88000bcbc020
[ 7745.941585] suspending xenstore...
[ 7745.941667] trying to map vcpu_info 0 at ffff88000bcbc020, mfn
be4163, offset 32
[ 7745.941667] cpu 0 using vcpu_info at ffff88000bcbc020
[342272.197261] suspending xenstore...

If I revert the following commit (original from 2.6.36-rc1), the problem do=
es=20
not show in 2.6.32.y:

commit 8a22b9996b001c88f2bfb54c6de6a05fc39e177a
Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Date:   Mon Jul 12 11:49:59 2010 -0700

    xen: drop xen_sched_clock in favour of using plain wallclock time
   =20
    xen_sched_clock only counts unstolen time.  In principle this should
    be useful to the Linux scheduler so that it knows how much time a proce=
ss
    actually consumed.  But in practice this doesn't work very well as the
    scheduler expects the sched_clock time to be synchronized between
    cpus.  It also uses sched_clock to measure the time a task spends
    sleeping, in which case "unstolen time" isn't meaningful.
   =20
    So just use plain xen_clocksource_read to return wallclock nanoseconds
    for sched_clock.

2.6.36 does not work, since 489fb49 and e7a3481 are missing: Without=20
the "global synchonization point for pvclock" (AKA last_value) plus the fix=
=20
to "reset it to 0 on resume" VMs migrate fine in the opposite direction=20
(older=3Dhigher uptime =E2=86=92 newer=3Dlower uptime), but the original di=
rection=20
(lower=E2=86=92higher) now stalls for 5 minutes.

2.6.37 (which includes above patches) works fine in both directions (I only=
=20
see a 2 second network dropout for 2 VMs going lower=E2=86=92higher). So so=
mething=20
other must have changed also, which is missing in 2.6.32.59 so far.

I tried to unserstand all those clockevent, timer, pvclock, sched_clock()=20
details, but now I'm stuck. To me it looks like xen_clocksource_read() is n=
ot=20
monotonic over migration, which seems to break some assumtion of=20
sched_clock() being monotonic.

Has sombody else observed a similar problem and can provide a helpful hint?
Is there anything I can look at to get this issue solved?

Sincerely
Philipp

PS: bisecting did not help much, since 2.6.32.59 contains a lot of back-por=
ts=20
from 2.6.33, 35, 36 and 37.
2.6.33 needs 281ff33 # x86_64, cpa: Don't work hard in preserving kernel 2M=
=20
mappings when using 4K already
2.6.33-rc1: c5cae66 fixes 65f6338  # do_suspend error handling
2.6.35-rc1: e7a3481 fixes 489fb49 # global sync point
2.6.37 needs ceff1a7 # /proc/kcore: fix seeking
=2D-=20
Philipp Hahn           Open Source Software Engineer      hahn@univention.de
Univention GmbH        be open.                       fon: +49 421 22 232- 0
Mary-Somerville-Str.1  D-28359 Bremen                 fax: +49 421 22 232-99
                                                   http://www.univention.de/

--nextPart13234650.LQF3ZOgi9e
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAk+jmSwACgkQYPlgoZpUDjkQjwCfXx7naF4FJqPmVxb90peYuItO
qPgAn0BQiYLhoCo2839rE8Hx7LVZRMjQ
=zwQo
-----END PGP SIGNATURE-----

--nextPart13234650.LQF3ZOgi9e--


--===============4798092387412600323==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4798092387412600323==--


From xen-devel-bounces@lists.xen.org Fri May 04 08:54:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:54:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEHC-00041J-R4; Fri, 04 May 2012 08:54:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hahn@univention.de>) id 1SQEHC-00041E-6b
	for xen-devel@lists.xen.org; Fri, 04 May 2012 08:54:10 +0000
Received: from [85.158.143.99:39079] by server-3.bemta-4.messagelabs.com id
	ED/A4-05853-13993AF4; Fri, 04 May 2012 08:54:09 +0000
X-Env-Sender: hahn@univention.de
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336121647!20079846!1
X-Originating-IP: [82.198.197.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13648 invoked from network); 4 May 2012 08:54:07 -0000
Received: from mail.univention.de (HELO mail.univention.de) (82.198.197.8)
	by server-10.tower-216.messagelabs.com with SMTP;
	4 May 2012 08:54:07 -0000
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 46D7E67BB0D;
	Fri,  4 May 2012 10:54:06 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 27F1867BB0E;
	Fri,  4 May 2012 10:54:06 +0200 (CEST)
X-Virus-Scanned: by amavisd-new-2.6.1 (20080629) (Debian) at knut.univention.de
Received: from mail.univention.de ([127.0.0.1])
	by localhost (slugis.knut.univention.de [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id gVepBKd6q3Jf; Fri,  4 May 2012 10:54:05 +0200 (CEST)
Received: from stave.knut.univention.de (port-92-196-73-46.dynamic.qsc.de
	[92.196.73.46])
	by slugis.knut.univention.de (Postfix) with ESMTPSA id 0E32767BB0D;
	Fri,  4 May 2012 10:54:04 +0200 (CEST)
From: Philipp Hahn <hahn@univention.de>
Organization: Univention.de
To: Xen-devel@lists.xen.org
Date: Fri, 4 May 2012 10:54:03 +0200
User-Agent: KMail/1.9.10 (enterprise35 20100903.1171286)
MIME-Version: 1.0
Message-Id: <201205041054.04079.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Subject: [Xen-devel] [BUG 2.6.32.y] Broken PV migration between hosts with
	different uptime, non-monotonic time?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4798092387412600323=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4798092387412600323==
Content-Type: multipart/signed;
  boundary="nextPart13234650.LQF3ZOgi9e";
  protocol="application/pgp-signature";
  micalg=pgp-sha1
Content-Transfer-Encoding: 7bit

--nextPart13234650.LQF3ZOgi9e
Content-Type: text/plain;
  charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hello,

I encountered the following bug when migrating a Linux-2.6.32.54 PV domain =
on=20
Xen-3.4.3 between different hosts, whose uptime differs by several minutes =
(3=20
hosts, each ~5 minutes apart): When migrating from a host with lower uptime=
=20
to a host with higher uptime, the VM looses it's network connection for som=
e=20
time and then continues after some minutes (roughly equivalent to the=20
difference in uptime?).
There are two different symptoms: Either the VM becomes unpingable, or the =
VM=20
is pingable but the ssh-connection freezes: a while-loop dumping /proc/upti=
me=20
freezes and continues without a jump after the freeze is over.

When looking at the output of dmesg of the domU, I also see a jump in the=20
timestamp:
[1967742.320218] eth0: no IPv6 routers present
[1968779.217256] suspending xenstore...
[1968779.217358] trying to map vcpu_info 0 at ffff88000bcbc020, mfn
85e61e, offset 32
[1968779.217358] cpu 0 using vcpu_info at ffff88000bcbc020
[ 5655.842391] suspending xenstore...
[ 5655.842477] trying to map vcpu_info 0 at ffff88000bcbc020, mfn
d5e61e, offset 32
[ 5655.842477] cpu 0 using vcpu_info at ffff88000bcbc020
[ 7745.941585] suspending xenstore...
[ 7745.941667] trying to map vcpu_info 0 at ffff88000bcbc020, mfn
be4163, offset 32
[ 7745.941667] cpu 0 using vcpu_info at ffff88000bcbc020
[342272.197261] suspending xenstore...

If I revert the following commit (original from 2.6.36-rc1), the problem do=
es=20
not show in 2.6.32.y:

commit 8a22b9996b001c88f2bfb54c6de6a05fc39e177a
Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Date:   Mon Jul 12 11:49:59 2010 -0700

    xen: drop xen_sched_clock in favour of using plain wallclock time
   =20
    xen_sched_clock only counts unstolen time.  In principle this should
    be useful to the Linux scheduler so that it knows how much time a proce=
ss
    actually consumed.  But in practice this doesn't work very well as the
    scheduler expects the sched_clock time to be synchronized between
    cpus.  It also uses sched_clock to measure the time a task spends
    sleeping, in which case "unstolen time" isn't meaningful.
   =20
    So just use plain xen_clocksource_read to return wallclock nanoseconds
    for sched_clock.

2.6.36 does not work, since 489fb49 and e7a3481 are missing: Without=20
the "global synchonization point for pvclock" (AKA last_value) plus the fix=
=20
to "reset it to 0 on resume" VMs migrate fine in the opposite direction=20
(older=3Dhigher uptime =E2=86=92 newer=3Dlower uptime), but the original di=
rection=20
(lower=E2=86=92higher) now stalls for 5 minutes.

2.6.37 (which includes above patches) works fine in both directions (I only=
=20
see a 2 second network dropout for 2 VMs going lower=E2=86=92higher). So so=
mething=20
other must have changed also, which is missing in 2.6.32.59 so far.

I tried to unserstand all those clockevent, timer, pvclock, sched_clock()=20
details, but now I'm stuck. To me it looks like xen_clocksource_read() is n=
ot=20
monotonic over migration, which seems to break some assumtion of=20
sched_clock() being monotonic.

Has sombody else observed a similar problem and can provide a helpful hint?
Is there anything I can look at to get this issue solved?

Sincerely
Philipp

PS: bisecting did not help much, since 2.6.32.59 contains a lot of back-por=
ts=20
from 2.6.33, 35, 36 and 37.
2.6.33 needs 281ff33 # x86_64, cpa: Don't work hard in preserving kernel 2M=
=20
mappings when using 4K already
2.6.33-rc1: c5cae66 fixes 65f6338  # do_suspend error handling
2.6.35-rc1: e7a3481 fixes 489fb49 # global sync point
2.6.37 needs ceff1a7 # /proc/kcore: fix seeking
=2D-=20
Philipp Hahn           Open Source Software Engineer      hahn@univention.de
Univention GmbH        be open.                       fon: +49 421 22 232- 0
Mary-Somerville-Str.1  D-28359 Bremen                 fax: +49 421 22 232-99
                                                   http://www.univention.de/

--nextPart13234650.LQF3ZOgi9e
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAk+jmSwACgkQYPlgoZpUDjkQjwCfXx7naF4FJqPmVxb90peYuItO
qPgAn0BQiYLhoCo2839rE8Hx7LVZRMjQ
=zwQo
-----END PGP SIGNATURE-----

--nextPart13234650.LQF3ZOgi9e--


--===============4798092387412600323==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4798092387412600323==--


From xen-devel-bounces@lists.xen.org Fri May 04 08:57:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEJm-0004A0-Hu; Fri, 04 May 2012 08:56:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQEJk-00049u-O9
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:56:48 +0000
Received: from [85.158.138.51:20715] by server-5.bemta-3.messagelabs.com id
	44/24-17113-FC993AF4; Fri, 04 May 2012 08:56:47 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336121805!17285226!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22532 invoked from network); 4 May 2012 08:56:46 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 08:56:46 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQEJg-00068y-TO
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 01:56:44 -0700
Date: Fri, 4 May 2012 01:56:44 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336121804904-5685216.post@n5.nabble.com>
In-Reply-To: <1336120109.26385.7.camel@dagon.hellion.org.uk>
References: <1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CklhbiBDYW1wYmVsbC0xMCB3cm90ZQo+IAo+IChwdXR0aW5nIFBhc2kgYmFjayBpbiB0aGUgQ0Ms
IHBsZWFzZSByZXRhaW4gQ0NzIG9uIHhlbi1kZXZlbCkKPiAKPiBPbiBGcmksIDIwMTItMDUtMDQg
YXQgMDk6MjMgKzAxMDAsIEZhbnR1IHdyb3RlOgo+PiBQYXNpIEvDpHJra8OkaW5lbiB3cm90ZQo+
PiA+IE9rLiBJZiB5b3UgdXNlIHFlbXUtdXBzdHJlYW0gYW5kIGNpcnJ1cy9zdGR2Z2EgKHdpdGhv
dXQgcXhsKSwgZG9lcwo+PiA+IHZpZGVvbWVtID40TUIgd29yayB0aGVuID8KPj4gPiAKPj4gTm8s
IGFsd2F5cyA0IG1iLCBhbHNvIHdpdGggY2lycnVzIG9yIHN0ZHZnYSB2aWRlb3JhbSBzZXR0aW5n
IG5vdCB3b3JrLgo+IAo+IEJ1dCB3aXRoIFFlbXUteGVuLXRyYWRpdGlvbmFsIGl0IGRvZXMgd29y
az8KPiAKPiBBbnRob255IC0tIGFueSBpZGVhIHdoeSB0aGUgdmlkZW9yYW0gc2V0dGluZyBkb2Vz
bid0IHdvcmsgd2l0aCB1cHN0cmVhbQo+IHFlbXU/Cj4gCj4gCj4gCj4gX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2ZWwgbWFpbGluZyBsaXN0
Cj4gWGVuLWRldmVsQC54ZW4KPiBodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKPiAKV2l0
aCBxZW11LXhlbi10cmFkaXRpb25hbCB2aWRlb3JhbSBzZXR0aW5nIHdpdGggc3RkdmdhIHdvcmsu
CkFib3V0IFNwaWNlIG9uIHFlbXUtdXBzdHJlYW0gZm9yIG5vdyB3ZSBkaWQgb25seSBiYXNpYyB0
ZXN0cyBhbmQgaXQgc2VlbXMgdG8KYmUgd29ya2luZyBidXQgd2l0aG91dCBxeGwgIGxpbWl0ZWQg
dG8gNCBtYiBtYW55IG9mIHNwaWNlcyBmZWF0dXJlcyBhcmUgbm90CmZ1bGwgd29ya2luZy4KUXhs
IHZnYSBjYW4gYmUgdXNlZCBhbHNvIHdpdGhvdXQgc3BpY2UgYW5kIHdpdGggdmlkZW9yYW0gdG8g
MzIgb3IgNjQgbWIgSQp0aGluayBjYW4gZ2l2ZSBiZXR0ZXIgZ3JhcGhpYyBwZXJmb3JtYW5jZSB3
aXRoIGh2bSBkb21VLgpGb3Igbm93IGlzIG5vdCBnb29kIGV2ZW4gd2l0aG91dCBtdWx0aW1lZGlh
IHVzZS4KCi0tClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IGh0dHA6Ly94ZW4uMTA0NTcx
Mi5uNS5uYWJibGUuY29tL1VuYWJsZS10by1nZXQtUVhMLXZnYS13b3JraW5nLXRwNTY2NzkxOXA1
Njg1MjE2Lmh0bWwKU2VudCBmcm9tIHRoZSBYZW4gLSBEZXYgbWFpbGluZyBsaXN0IGFyY2hpdmUg
YXQgTmFiYmxlLmNvbS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0
cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 04 08:57:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 08:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEJm-0004A0-Hu; Fri, 04 May 2012 08:56:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQEJk-00049u-O9
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 08:56:48 +0000
Received: from [85.158.138.51:20715] by server-5.bemta-3.messagelabs.com id
	44/24-17113-FC993AF4; Fri, 04 May 2012 08:56:47 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336121805!17285226!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22532 invoked from network); 4 May 2012 08:56:46 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 08:56:46 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQEJg-00068y-TO
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 01:56:44 -0700
Date: Fri, 4 May 2012 01:56:44 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336121804904-5685216.post@n5.nabble.com>
In-Reply-To: <1336120109.26385.7.camel@dagon.hellion.org.uk>
References: <1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CklhbiBDYW1wYmVsbC0xMCB3cm90ZQo+IAo+IChwdXR0aW5nIFBhc2kgYmFjayBpbiB0aGUgQ0Ms
IHBsZWFzZSByZXRhaW4gQ0NzIG9uIHhlbi1kZXZlbCkKPiAKPiBPbiBGcmksIDIwMTItMDUtMDQg
YXQgMDk6MjMgKzAxMDAsIEZhbnR1IHdyb3RlOgo+PiBQYXNpIEvDpHJra8OkaW5lbiB3cm90ZQo+
PiA+IE9rLiBJZiB5b3UgdXNlIHFlbXUtdXBzdHJlYW0gYW5kIGNpcnJ1cy9zdGR2Z2EgKHdpdGhv
dXQgcXhsKSwgZG9lcwo+PiA+IHZpZGVvbWVtID40TUIgd29yayB0aGVuID8KPj4gPiAKPj4gTm8s
IGFsd2F5cyA0IG1iLCBhbHNvIHdpdGggY2lycnVzIG9yIHN0ZHZnYSB2aWRlb3JhbSBzZXR0aW5n
IG5vdCB3b3JrLgo+IAo+IEJ1dCB3aXRoIFFlbXUteGVuLXRyYWRpdGlvbmFsIGl0IGRvZXMgd29y
az8KPiAKPiBBbnRob255IC0tIGFueSBpZGVhIHdoeSB0aGUgdmlkZW9yYW0gc2V0dGluZyBkb2Vz
bid0IHdvcmsgd2l0aCB1cHN0cmVhbQo+IHFlbXU/Cj4gCj4gCj4gCj4gX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2ZWwgbWFpbGluZyBsaXN0
Cj4gWGVuLWRldmVsQC54ZW4KPiBodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKPiAKV2l0
aCBxZW11LXhlbi10cmFkaXRpb25hbCB2aWRlb3JhbSBzZXR0aW5nIHdpdGggc3RkdmdhIHdvcmsu
CkFib3V0IFNwaWNlIG9uIHFlbXUtdXBzdHJlYW0gZm9yIG5vdyB3ZSBkaWQgb25seSBiYXNpYyB0
ZXN0cyBhbmQgaXQgc2VlbXMgdG8KYmUgd29ya2luZyBidXQgd2l0aG91dCBxeGwgIGxpbWl0ZWQg
dG8gNCBtYiBtYW55IG9mIHNwaWNlcyBmZWF0dXJlcyBhcmUgbm90CmZ1bGwgd29ya2luZy4KUXhs
IHZnYSBjYW4gYmUgdXNlZCBhbHNvIHdpdGhvdXQgc3BpY2UgYW5kIHdpdGggdmlkZW9yYW0gdG8g
MzIgb3IgNjQgbWIgSQp0aGluayBjYW4gZ2l2ZSBiZXR0ZXIgZ3JhcGhpYyBwZXJmb3JtYW5jZSB3
aXRoIGh2bSBkb21VLgpGb3Igbm93IGlzIG5vdCBnb29kIGV2ZW4gd2l0aG91dCBtdWx0aW1lZGlh
IHVzZS4KCi0tClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IGh0dHA6Ly94ZW4uMTA0NTcx
Mi5uNS5uYWJibGUuY29tL1VuYWJsZS10by1nZXQtUVhMLXZnYS13b3JraW5nLXRwNTY2NzkxOXA1
Njg1MjE2Lmh0bWwKU2VudCBmcm9tIHRoZSBYZW4gLSBEZXYgbWFpbGluZyBsaXN0IGFyY2hpdmUg
YXQgTmFiYmxlLmNvbS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0
cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQETx-0004QH-Um; Fri, 04 May 2012 09:07:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jana@saout.de>) id 1SPWZH-0004cd-65
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:13:55 +0000
Received: from [85.158.143.99:60968] by server-1.bemta-4.messagelabs.com id
	97/B4-20925-2E801AF4; Wed, 02 May 2012 10:13:54 +0000
X-Env-Sender: jana@saout.de
X-Msg-Ref: server-4.tower-216.messagelabs.com!1335953632!20851945!1
X-Originating-IP: [78.46.99.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32333 invoked from network); 2 May 2012 10:13:53 -0000
Received: from websrv.saout.de (HELO websrv.saout.de) (78.46.99.52)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:13:53 -0000
Received: from [192.168.128.60] (p50994a5e.dip0.t-ipconnect.de [80.153.74.94])
	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
	(Client did not present a certificate)
	by mail.saout.de (Postfix) with ESMTPSA id 9ED33C125;
	Wed,  2 May 2012 12:13:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=saout.de; s=default;
	t=1335953631; bh=oFXyDOnPmrTzPn1p9tNG6BQbGmlVcrIwKlGBADD2PEs=;
	h=Message-ID:Subject:From:Date:In-Reply-To:References;
	b=APHquRfe8QTbrDM/6Ou4FLdUwkVLM/f9d9hna4Cvw/SiYtyQX+4UMFO/KBI8SFJx+
	12mhyW1wn27veOglwa72DtU9y3fKGJjsTNPzswW0NAAKPtIpI77flEYcAqGNVVMMF9
	QeGVNxua1sLKTqtlsWj6OhFhZaM/ivUmciCqJntA=
Message-ID: <1335953632.3599.16.camel@localhost>
From: Jana Saout <jana@saout.de>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Date: Wed, 02 May 2012 12:13:52 +0200
In-Reply-To: <d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
References: <1335728058.4574.18.camel@localhost>
	<d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
X-Mailer: Evolution 3.4.1 
Mime-Version: 1.0
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:20 +0000
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Dan,

> > I have been testing autoballooning on a production Xen system today
> > (with cleancache + frontswap on Xen-provided tmem).  For most of the
> > idle or CPU-centric VMs it seems to work just fine.
> > 
> > However, on one of the web-serving VMs, there is also a cron job running
> > every few minutes which runs over a rather large directory (plus, this
> > directory is on OCFS2 so this is a rather time-consuming process).  Now,
> > if the dcache/inode cache is large enough (which it was before, since
> > the VM got allocated 4 GB and is only using 1-2 most of the time), this
> > was not a problem.
> > 
> > Now, with self-ballooning, the memory gets reduced to somewhat between 1
> > and 2 GB and after a few minutes the load is going through the ceiling.
> > Jobs reading through said directories are piling up (stuck in D state,
> > waiting for the FS).  And most of the time kswapd is spinning at 100%.
> > If I deactivate self-ballooning and assign the VM 3 GB, everything goes
> > back to normal after a few minutes. (and, "ls -l" on said directory is
> > served from the cache again).
> > 
> > Now, I am aware that said problem is a self-made one.  The directory was
> > not actually supposed to contain that many files and the next job not
> > waiting for the previous job to terminate is cause for trouble - but
> > still, I would consider this a possible regression since it seems
> > self-ballooning is constantly thrashing the VM's caches.  Not all caches
> > can be saved in cleancache.
> > 
> > What about an additional tunable: a user-specified amount of pages that
> > is added on top of the computed target number of pages?  This way, one
> > could manually reserve a bit more room for other types of caches. (in
> > fact, I might try this myself, since it shouldn't be too hard to do so)
> > 
> > Any opinions on this?
> 
> Thanks for doing this analysis.  While your workload is a bit
> unusual, I agree that you have exposed a problem that will need
> to be resolved.  It was observed three years ago that the next
> "frontend" for tmem could handle a cleancache-like mechanism
> for the dcache.  Until now, I had thought that this was purely
> optional and would yield only a small performance improvement.
> But with your workload, I think the combination of the facts that
> selfballooning is forcing out dcache entries and they aren't
> being saved in tmem is resulting in the problem you are seeing.

Yes.  In fact, I've been rolling out selfballooning across a development
system and most VMs were just fine with the default.  The overall memory
savings from going from a static to a dynamic memory allocation is quite
significant - without the VMs having to resort to actual to-disk-paging
when there is a sudden increase in memory usage.  Quite nice.

Just for information: The filesystem which this machine was using is
OCFS2 (shared across 5 VMs) and the directory contains 45k files
(*cough* - I'm aware that's not optimal, I'm currently talking to the
dev of that application to not scan the entire list of files every
minute) - which takes a few minutes (especially stat'ing every file).

I have been observing, that kswapd seems rather busy at times on some
VMs, even when there is no actual swapping taking place. (or, could it
be frontswap or just page reclaim?) This can be migitated by increasing
the memory reserve a bit using my trivial test patch (see below).

> I think the best solution for this will be a "cleandcache"
> patch in the Linux guest... but given how long it has taken
> to get cleancache and frontswap into the kernel (and the fact
> that a working cleandcache patch doesn't even exist yet), I
> wouldn't hold my breath ;-)  I will put it on the "to do"
> list though.

That sounds nice!

> Your idea of the tunable is interesting (and patches are always
> welcome!) but I am skeptical that it will solve the problem
> since I would guess the Linux kernel is shrinking dcache
> proportional to the size of the page cache.  So adding more
> RAM with your "user-specified amount of pages that is
> added on top of the computed target number of pages",
> the RAM will still be shared across all caches and only
> some small portion of the added RAM will likely be used
> for dcache.

That's true.  In fact, I have to add about 1 GB of memory in order to
keep the relevant dcache / inode cache entries to stay in the cache.
When I do that the largest portion of memory is still eaten up by the
regular page cache.  So this is more of a workaround than a solution,
but for now it works.

I've attached the simple patch I've whipped up below.

> However, if you have a chance to try it, I would be interested
> in your findings.  Note that you already can set a
> permanent floor for selfballooning ("min_usable_mb") or,
> of course, just turn off selfballooning altogether.

Sure, that's always a possibility.  However, the VM already had an
overly large amount of memory before to avoid the problem.  Now it runs
with less memory (still a bit more than required), and when a load spike
comes, it can quickly balloon up, which is exactly what I was looking
for.

	Jana

----
Author: Jana Saout <jana@saout.de>
Date:   Sun Apr 29 22:09:29 2012 +0200

    Add selfballoning memory reservation tunable.

diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
index 146c948..7d041cb 100644
--- a/drivers/xen/xen-selfballoon.c
+++ b/drivers/xen/xen-selfballoon.c
@@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
  */
 static unsigned int selfballoon_min_usable_mb;
 
+/*
+ * Amount of RAM in MB to add to the target number of pages.
+ * Can be used to reserve some more room for caches and the like.
+ */
+static unsigned int selfballoon_reserved_mb;
+
 static void selfballoon_process(struct work_struct *work);
 static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
 
@@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
 		cur_pages = totalram_pages;
 		tgt_pages = cur_pages; /* default is no change */
 		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
-				totalreserve_pages;
+				totalreserve_pages +
+				MB2PAGES(selfballoon_reserved_mb);
 #ifdef CONFIG_FRONTSWAP
 		/* allow space for frontswap pages to be repatriated */
 		if (frontswap_selfshrinking && frontswap_enabled)
@@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
 		   show_selfballoon_min_usable_mb,
 		   store_selfballoon_min_usable_mb);
 
+SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
+				selfballoon_reserved_mb);
+
+static ssize_t store_selfballoon_reserved_mb(struct device *dev,
+					     struct device_attribute *attr,
+					     const char *buf,
+					     size_t count)
+{
+	unsigned long val;
+	int err;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+	err = strict_strtoul(buf, 10, &val);
+	if (err)
+		return -EINVAL;
+	selfballoon_reserved_mb = val;
+	return count;
+}
+
+static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
+		   show_selfballoon_reserved_mb,
+		   store_selfballoon_reserved_mb);
+
 
 #ifdef CONFIG_FRONTSWAP
 SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
@@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
 	&dev_attr_selfballoon_downhysteresis.attr,
 	&dev_attr_selfballoon_uphysteresis.attr,
 	&dev_attr_selfballoon_min_usable_mb.attr,
+	&dev_attr_selfballoon_reserved_mb.attr,
 #ifdef CONFIG_FRONTSWAP
 	&dev_attr_frontswap_selfshrinking.attr,
 	&dev_attr_frontswap_hysteresis.attr,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQETx-0004QH-Um; Fri, 04 May 2012 09:07:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jana@saout.de>) id 1SPWZH-0004cd-65
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:13:55 +0000
Received: from [85.158.143.99:60968] by server-1.bemta-4.messagelabs.com id
	97/B4-20925-2E801AF4; Wed, 02 May 2012 10:13:54 +0000
X-Env-Sender: jana@saout.de
X-Msg-Ref: server-4.tower-216.messagelabs.com!1335953632!20851945!1
X-Originating-IP: [78.46.99.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32333 invoked from network); 2 May 2012 10:13:53 -0000
Received: from websrv.saout.de (HELO websrv.saout.de) (78.46.99.52)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:13:53 -0000
Received: from [192.168.128.60] (p50994a5e.dip0.t-ipconnect.de [80.153.74.94])
	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
	(Client did not present a certificate)
	by mail.saout.de (Postfix) with ESMTPSA id 9ED33C125;
	Wed,  2 May 2012 12:13:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=saout.de; s=default;
	t=1335953631; bh=oFXyDOnPmrTzPn1p9tNG6BQbGmlVcrIwKlGBADD2PEs=;
	h=Message-ID:Subject:From:Date:In-Reply-To:References;
	b=APHquRfe8QTbrDM/6Ou4FLdUwkVLM/f9d9hna4Cvw/SiYtyQX+4UMFO/KBI8SFJx+
	12mhyW1wn27veOglwa72DtU9y3fKGJjsTNPzswW0NAAKPtIpI77flEYcAqGNVVMMF9
	QeGVNxua1sLKTqtlsWj6OhFhZaM/ivUmciCqJntA=
Message-ID: <1335953632.3599.16.camel@localhost>
From: Jana Saout <jana@saout.de>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Date: Wed, 02 May 2012 12:13:52 +0200
In-Reply-To: <d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
References: <1335728058.4574.18.camel@localhost>
	<d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
X-Mailer: Evolution 3.4.1 
Mime-Version: 1.0
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:20 +0000
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Dan,

> > I have been testing autoballooning on a production Xen system today
> > (with cleancache + frontswap on Xen-provided tmem).  For most of the
> > idle or CPU-centric VMs it seems to work just fine.
> > 
> > However, on one of the web-serving VMs, there is also a cron job running
> > every few minutes which runs over a rather large directory (plus, this
> > directory is on OCFS2 so this is a rather time-consuming process).  Now,
> > if the dcache/inode cache is large enough (which it was before, since
> > the VM got allocated 4 GB and is only using 1-2 most of the time), this
> > was not a problem.
> > 
> > Now, with self-ballooning, the memory gets reduced to somewhat between 1
> > and 2 GB and after a few minutes the load is going through the ceiling.
> > Jobs reading through said directories are piling up (stuck in D state,
> > waiting for the FS).  And most of the time kswapd is spinning at 100%.
> > If I deactivate self-ballooning and assign the VM 3 GB, everything goes
> > back to normal after a few minutes. (and, "ls -l" on said directory is
> > served from the cache again).
> > 
> > Now, I am aware that said problem is a self-made one.  The directory was
> > not actually supposed to contain that many files and the next job not
> > waiting for the previous job to terminate is cause for trouble - but
> > still, I would consider this a possible regression since it seems
> > self-ballooning is constantly thrashing the VM's caches.  Not all caches
> > can be saved in cleancache.
> > 
> > What about an additional tunable: a user-specified amount of pages that
> > is added on top of the computed target number of pages?  This way, one
> > could manually reserve a bit more room for other types of caches. (in
> > fact, I might try this myself, since it shouldn't be too hard to do so)
> > 
> > Any opinions on this?
> 
> Thanks for doing this analysis.  While your workload is a bit
> unusual, I agree that you have exposed a problem that will need
> to be resolved.  It was observed three years ago that the next
> "frontend" for tmem could handle a cleancache-like mechanism
> for the dcache.  Until now, I had thought that this was purely
> optional and would yield only a small performance improvement.
> But with your workload, I think the combination of the facts that
> selfballooning is forcing out dcache entries and they aren't
> being saved in tmem is resulting in the problem you are seeing.

Yes.  In fact, I've been rolling out selfballooning across a development
system and most VMs were just fine with the default.  The overall memory
savings from going from a static to a dynamic memory allocation is quite
significant - without the VMs having to resort to actual to-disk-paging
when there is a sudden increase in memory usage.  Quite nice.

Just for information: The filesystem which this machine was using is
OCFS2 (shared across 5 VMs) and the directory contains 45k files
(*cough* - I'm aware that's not optimal, I'm currently talking to the
dev of that application to not scan the entire list of files every
minute) - which takes a few minutes (especially stat'ing every file).

I have been observing, that kswapd seems rather busy at times on some
VMs, even when there is no actual swapping taking place. (or, could it
be frontswap or just page reclaim?) This can be migitated by increasing
the memory reserve a bit using my trivial test patch (see below).

> I think the best solution for this will be a "cleandcache"
> patch in the Linux guest... but given how long it has taken
> to get cleancache and frontswap into the kernel (and the fact
> that a working cleandcache patch doesn't even exist yet), I
> wouldn't hold my breath ;-)  I will put it on the "to do"
> list though.

That sounds nice!

> Your idea of the tunable is interesting (and patches are always
> welcome!) but I am skeptical that it will solve the problem
> since I would guess the Linux kernel is shrinking dcache
> proportional to the size of the page cache.  So adding more
> RAM with your "user-specified amount of pages that is
> added on top of the computed target number of pages",
> the RAM will still be shared across all caches and only
> some small portion of the added RAM will likely be used
> for dcache.

That's true.  In fact, I have to add about 1 GB of memory in order to
keep the relevant dcache / inode cache entries to stay in the cache.
When I do that the largest portion of memory is still eaten up by the
regular page cache.  So this is more of a workaround than a solution,
but for now it works.

I've attached the simple patch I've whipped up below.

> However, if you have a chance to try it, I would be interested
> in your findings.  Note that you already can set a
> permanent floor for selfballooning ("min_usable_mb") or,
> of course, just turn off selfballooning altogether.

Sure, that's always a possibility.  However, the VM already had an
overly large amount of memory before to avoid the problem.  Now it runs
with less memory (still a bit more than required), and when a load spike
comes, it can quickly balloon up, which is exactly what I was looking
for.

	Jana

----
Author: Jana Saout <jana@saout.de>
Date:   Sun Apr 29 22:09:29 2012 +0200

    Add selfballoning memory reservation tunable.

diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
index 146c948..7d041cb 100644
--- a/drivers/xen/xen-selfballoon.c
+++ b/drivers/xen/xen-selfballoon.c
@@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
  */
 static unsigned int selfballoon_min_usable_mb;
 
+/*
+ * Amount of RAM in MB to add to the target number of pages.
+ * Can be used to reserve some more room for caches and the like.
+ */
+static unsigned int selfballoon_reserved_mb;
+
 static void selfballoon_process(struct work_struct *work);
 static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
 
@@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
 		cur_pages = totalram_pages;
 		tgt_pages = cur_pages; /* default is no change */
 		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
-				totalreserve_pages;
+				totalreserve_pages +
+				MB2PAGES(selfballoon_reserved_mb);
 #ifdef CONFIG_FRONTSWAP
 		/* allow space for frontswap pages to be repatriated */
 		if (frontswap_selfshrinking && frontswap_enabled)
@@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
 		   show_selfballoon_min_usable_mb,
 		   store_selfballoon_min_usable_mb);
 
+SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
+				selfballoon_reserved_mb);
+
+static ssize_t store_selfballoon_reserved_mb(struct device *dev,
+					     struct device_attribute *attr,
+					     const char *buf,
+					     size_t count)
+{
+	unsigned long val;
+	int err;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+	err = strict_strtoul(buf, 10, &val);
+	if (err)
+		return -EINVAL;
+	selfballoon_reserved_mb = val;
+	return count;
+}
+
+static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
+		   show_selfballoon_reserved_mb,
+		   store_selfballoon_reserved_mb);
+
 
 #ifdef CONFIG_FRONTSWAP
 SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
@@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
 	&dev_attr_selfballoon_downhysteresis.attr,
 	&dev_attr_selfballoon_uphysteresis.attr,
 	&dev_attr_selfballoon_min_usable_mb.attr,
+	&dev_attr_selfballoon_reserved_mb.attr,
 #ifdef CONFIG_FRONTSWAP
 	&dev_attr_frontswap_selfshrinking.attr,
 	&dev_attr_frontswap_hysteresis.attr,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEU3-0004Qb-AX; Fri, 04 May 2012 09:07:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPCXa-0006jo-82
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:50:50 +0000
Received: from [85.158.138.51:49263] by server-6.bemta-3.messagelabs.com id
	9C/C1-05145-92CDF9F4; Tue, 01 May 2012 12:50:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1335876648!22833356!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26073 invoked from network); 1 May 2012 12:50:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 12:50:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330905600"; d="scan'208";a="12222346"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 12:50:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	13:50:47 +0100
Message-ID: <1335876646.6038.101.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Date: Tue, 1 May 2012 13:50:46 +0100
In-Reply-To: <20120419201209.5411.43877.sendpatchset@codeblue>
References: <20120419201209.5411.43877.sendpatchset@codeblue>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:26 +0000
Cc: Andrew
	Jones <drjones@redhat.com>, Xen Devel <xen-devel@lists.xensource.com>,
	KVM <kvm@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Peter Zijlstra <peterz@infradead.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>, Jeremy
	Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Attilio Rao <attilio.rao@citrix.com>,
	Ingo Molnar <mingo@elte.hu>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Avi Kivity <avi@redhat.com>
Subject: Re: [Xen-devel] [PATCH RFC V7 0/12] Paravirtualized ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-04-19 at 21:12 +0100, Raghavendra K T wrote:
> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> 
> This series replaces the existing paravirtualized spinlock mechanism
> with a paravirtualized ticketlock mechanism. (targeted for 3.5 window)

Which tree is this series going through, tip.git I guess?

I don't see it there.

Ian.

> 
> Changes in V7:
>  - Reabsed patches to 3.4-rc3
>  - Added jumplabel split patch (originally from Andrew Jones rebased to
>     3.4-rc3
>  - jumplabel changes from Ingo and Jason taken and now using static_key_*
>     instead of static_branch.
>  - using UNINLINE_SPIN_UNLOCK (which was splitted as per suggestion from Linus)
>  - This patch series is rebased on debugfs patch (that sould be already in
>     Xen/linux-next https://lkml.org/lkml/2012/3/23/51)
> 
> Ticket locks have an inherent problem in a virtualized case, because
> the vCPUs are scheduled rather than running concurrently (ignoring
> gang scheduled vCPUs).  This can result in catastrophic performance
> collapses when the vCPU scheduler doesn't schedule the correct "next"
> vCPU, and ends up scheduling a vCPU which burns its entire timeslice
> spinning.  (Note that this is not the same problem as lock-holder
> preemption, which this series also addresses; that's also a problem,
> but not catastrophic).
> 
> (See Thomas Friebel's talk "Prevent Guests from Spinning Around"
> http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)
> 
> Currently we deal with this by having PV spinlocks, which adds a layer
> of indirection in front of all the spinlock functions, and defining a
> completely new implementation for Xen (and for other pvops users, but
> there are none at present).
> 
> PV ticketlocks keeps the existing ticketlock implemenentation
> (fastpath) as-is, but adds a couple of pvops for the slow paths:
> 
> - If a CPU has been waiting for a spinlock for SPIN_THRESHOLD
>   iterations, then call out to the __ticket_lock_spinning() pvop,
>   which allows a backend to block the vCPU rather than spinning.  This
>   pvop can set the lock into "slowpath state".
> 
> - When releasing a lock, if it is in "slowpath state", the call
>   __ticket_unlock_kick() to kick the next vCPU in line awake.  If the
>   lock is no longer in contention, it also clears the slowpath flag.
> 
> The "slowpath state" is stored in the LSB of the within the lock tail
> ticket.  This has the effect of reducing the max number of CPUs by
> half (so, a "small ticket" can deal with 128 CPUs, and "large ticket"
> 32768).
> 
> This series provides a Xen implementation, KVM implementation will be
> posted in next 2-3 days.
> 
> Overall, it results in a large reduction in code, it makes the native
> and virtualized cases closer, and it removes a layer of indirection
> around all the spinlock functions.
> 
> The fast path (taking an uncontended lock which isn't in "slowpath"
> state) is optimal, identical to the non-paravirtualized case.
> 
> The inner part of ticket lock code becomes:
>         inc = xadd(&lock->tickets, inc);
>         inc.tail &= ~TICKET_SLOWPATH_FLAG;
> 
>         if (likely(inc.head == inc.tail))
>                 goto out;
>         for (;;) {
>                 unsigned count = SPIN_THRESHOLD;
>                 do {
>                         if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
>                                 goto out;
>                         cpu_relax();
>                 } while (--count);
>                 __ticket_lock_spinning(lock, inc.tail);
>         }
> out:    barrier();
> which results in:
>         push   %rbp
>         mov    %rsp,%rbp
> 
>         mov    $0x200,%eax
>         lock xadd %ax,(%rdi)
>         movzbl %ah,%edx
>         cmp    %al,%dl
>         jne    1f       # Slowpath if lock in contention
> 
>         pop    %rbp
>         retq
> 
>         ### SLOWPATH START
> 1:      and    $-2,%edx
>         movzbl %dl,%esi
> 
> 2:      mov    $0x800,%eax
>         jmp    4f
> 
> 3:      pause
>         sub    $0x1,%eax
>         je     5f
> 
> 4:      movzbl (%rdi),%ecx
>         cmp    %cl,%dl
>         jne    3b
> 
>         pop    %rbp
>         retq
> 
> 5:      callq  *__ticket_lock_spinning
>         jmp    2b
>         ### SLOWPATH END
> 
> with CONFIG_PARAVIRT_SPINLOCKS=n, the code has changed slightly, where
> the fastpath case is straight through (taking the lock without
> contention), and the spin loop is out of line:
> 
>         push   %rbp
>         mov    %rsp,%rbp
> 
>         mov    $0x100,%eax
>         lock xadd %ax,(%rdi)
>         movzbl %ah,%edx
>         cmp    %al,%dl
>         jne    1f
> 
>         pop    %rbp
>         retq
> 
>         ### SLOWPATH START
> 1:      pause
>         movzbl (%rdi),%eax
>         cmp    %dl,%al
>         jne    1b
> 
>         pop    %rbp
>         retq
>         ### SLOWPATH END
> 
> The unlock code is complicated by the need to both add to the lock's
> "head" and fetch the slowpath flag from "tail".  This version of the
> patch uses a locked add to do this, followed by a test to see if the
> slowflag is set.  The lock prefix acts as a full memory barrier, so we
> can be sure that other CPUs will have seen the unlock before we read
> the flag (without the barrier the read could be fetched from the
> store queue before it hits memory, which could result in a deadlock).
> 
> This is is all unnecessary complication if you're not using PV ticket
> locks, it also uses the jump-label machinery to use the standard
> "add"-based unlock in the non-PV case.
> 
>         if (TICKET_SLOWPATH_FLAG &&
>              static_key_false(&paravirt_ticketlocks_enabled))) {
>                 arch_spinlock_t prev;
>                 prev = *lock;
>                 add_smp(&lock->tickets.head, TICKET_LOCK_INC);
> 
>                 /* add_smp() is a full mb() */
>                 if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
>                         __ticket_unlock_slowpath(lock, prev);
>         } else
>                 __add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
> which generates:
>         push   %rbp
>         mov    %rsp,%rbp
> 
>         nop5    # replaced by 5-byte jmp 2f when PV enabled
> 
>         # non-PV unlock
>         addb   $0x2,(%rdi)
> 
> 1:      pop    %rbp
>         retq
> 
> ### PV unlock ###
> 2:      movzwl (%rdi),%esi      # Fetch prev
> 
>         lock addb $0x2,(%rdi)   # Do unlock
> 
>         testb  $0x1,0x1(%rdi)   # Test flag
>         je     1b               # Finished if not set
> 
> ### Slow path ###
>         add    $2,%sil          # Add "head" in old lock state
>         mov    %esi,%edx
>         and    $0xfe,%dh        # clear slowflag for comparison
>         movzbl %dh,%eax
>         cmp    %dl,%al          # If head == tail (uncontended)
>         je     4f               # clear slowpath flag
> 
>         # Kick next CPU waiting for lock
> 3:      movzbl %sil,%esi
>         callq  *pv_lock_ops.kick
> 
>         pop    %rbp
>         retq
> 
>         # Lock no longer contended - clear slowflag
> 4:      mov    %esi,%eax
>         lock cmpxchg %dx,(%rdi) # cmpxchg to clear flag
>         cmp    %si,%ax
>         jne    3b               # If clear failed, then kick
> 
>         pop    %rbp
>         retq
> 
> So when not using PV ticketlocks, the unlock sequence just has a
> 5-byte nop added to it, and the PV case is reasonable straightforward
> aside from requiring a "lock add".
> 
> TODO: 1) remove CONFIG_PARAVIRT_SPINLOCK ?
>       2) experiments on further optimization possibilities. (discussed in V6)
> 
> Results:
> =======
> various form of results based on V6 of the patch series are posted in following links
>  https://lkml.org/lkml/2012/3/21/161
>  https://lkml.org/lkml/2012/3/21/198
> 
>  kvm results:
>  https://lkml.org/lkml/2012/3/23/50
>  https://lkml.org/lkml/2012/4/5/73
> 
> Thoughts? Comments? Suggestions?
> 
> Jeremy Fitzhardinge (9):
>   x86/spinlock: replace pv spinlocks with pv ticketlocks
>   x86/ticketlock: collapse a layer of functions
>   xen: defer spinlock setup until boot CPU setup
>   xen/pvticketlock: Xen implementation for PV ticket locks
>   xen/pvticketlocks: add xen_nopvspin parameter to disable xen pv
>     ticketlocks
>   x86/pvticketlock: use callee-save for lock_spinning
>   x86/pvticketlock: when paravirtualizing ticket locks, increment by 2
>   x86/ticketlock: add slowpath logic
>   xen/pvticketlock: allow interrupts to be enabled while blocking
> 
> Raghavendra K T (1):
>   x86/ticketlock: don't inline _spin_unlock when using paravirt
>     spinlocks
> 
> Andrew Jones (1):
>   split out rate limiting from jump_label.h
> 
> Stefano Stabellini (1):
>  xen: enable PV ticketlocks on HVM Xen
> ---
> 
> V6 : https://lkml.org/lkml/2012/3/21/161
> 
> Changes in V6 posting: (Raghavendra K T)
>  - Rebased to linux-3.3-rc6.
>  - used function+enum in place of macro (better type checking)
>  - use cmpxchg while resetting zero status for possible race
>         [suggested by Dave Hansen for KVM patches ]
> 
>  arch/x86/Kconfig                      |    1 +
>  arch/x86/include/asm/paravirt.h       |   32 +---
>  arch/x86/include/asm/paravirt_types.h |   10 +-
>  arch/x86/include/asm/spinlock.h       |  128 ++++++++----
>  arch/x86/include/asm/spinlock_types.h |   16 +-
>  arch/x86/kernel/paravirt-spinlocks.c  |   18 +--
>  arch/x86/xen/smp.c                    |    3 +-
>  arch/x86/xen/spinlock.c               |  383 +++++++++++----------------------
>  include/linux/jump_label.h            |   26 +---
>  include/linux/jump_label_ratelimit.h  |   34 +++
>  include/linux/perf_event.h            |    1 +
>  kernel/jump_label.c                   |    1 +
>  12 files changed, 279 insertions(+), 374 deletions(-)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEU3-0004Qb-AX; Fri, 04 May 2012 09:07:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SPCXa-0006jo-82
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 12:50:50 +0000
Received: from [85.158.138.51:49263] by server-6.bemta-3.messagelabs.com id
	9C/C1-05145-92CDF9F4; Tue, 01 May 2012 12:50:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1335876648!22833356!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzA5NQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26073 invoked from network); 1 May 2012 12:50:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 12:50:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,510,1330905600"; d="scan'208";a="12222346"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	01 May 2012 12:50:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 1 May 2012
	13:50:47 +0100
Message-ID: <1335876646.6038.101.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Date: Tue, 1 May 2012 13:50:46 +0100
In-Reply-To: <20120419201209.5411.43877.sendpatchset@codeblue>
References: <20120419201209.5411.43877.sendpatchset@codeblue>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:26 +0000
Cc: Andrew
	Jones <drjones@redhat.com>, Xen Devel <xen-devel@lists.xensource.com>,
	KVM <kvm@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Peter Zijlstra <peterz@infradead.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>, Jeremy
	Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Attilio Rao <attilio.rao@citrix.com>,
	Ingo Molnar <mingo@elte.hu>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Avi Kivity <avi@redhat.com>
Subject: Re: [Xen-devel] [PATCH RFC V7 0/12] Paravirtualized ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-04-19 at 21:12 +0100, Raghavendra K T wrote:
> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> 
> This series replaces the existing paravirtualized spinlock mechanism
> with a paravirtualized ticketlock mechanism. (targeted for 3.5 window)

Which tree is this series going through, tip.git I guess?

I don't see it there.

Ian.

> 
> Changes in V7:
>  - Reabsed patches to 3.4-rc3
>  - Added jumplabel split patch (originally from Andrew Jones rebased to
>     3.4-rc3
>  - jumplabel changes from Ingo and Jason taken and now using static_key_*
>     instead of static_branch.
>  - using UNINLINE_SPIN_UNLOCK (which was splitted as per suggestion from Linus)
>  - This patch series is rebased on debugfs patch (that sould be already in
>     Xen/linux-next https://lkml.org/lkml/2012/3/23/51)
> 
> Ticket locks have an inherent problem in a virtualized case, because
> the vCPUs are scheduled rather than running concurrently (ignoring
> gang scheduled vCPUs).  This can result in catastrophic performance
> collapses when the vCPU scheduler doesn't schedule the correct "next"
> vCPU, and ends up scheduling a vCPU which burns its entire timeslice
> spinning.  (Note that this is not the same problem as lock-holder
> preemption, which this series also addresses; that's also a problem,
> but not catastrophic).
> 
> (See Thomas Friebel's talk "Prevent Guests from Spinning Around"
> http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)
> 
> Currently we deal with this by having PV spinlocks, which adds a layer
> of indirection in front of all the spinlock functions, and defining a
> completely new implementation for Xen (and for other pvops users, but
> there are none at present).
> 
> PV ticketlocks keeps the existing ticketlock implemenentation
> (fastpath) as-is, but adds a couple of pvops for the slow paths:
> 
> - If a CPU has been waiting for a spinlock for SPIN_THRESHOLD
>   iterations, then call out to the __ticket_lock_spinning() pvop,
>   which allows a backend to block the vCPU rather than spinning.  This
>   pvop can set the lock into "slowpath state".
> 
> - When releasing a lock, if it is in "slowpath state", the call
>   __ticket_unlock_kick() to kick the next vCPU in line awake.  If the
>   lock is no longer in contention, it also clears the slowpath flag.
> 
> The "slowpath state" is stored in the LSB of the within the lock tail
> ticket.  This has the effect of reducing the max number of CPUs by
> half (so, a "small ticket" can deal with 128 CPUs, and "large ticket"
> 32768).
> 
> This series provides a Xen implementation, KVM implementation will be
> posted in next 2-3 days.
> 
> Overall, it results in a large reduction in code, it makes the native
> and virtualized cases closer, and it removes a layer of indirection
> around all the spinlock functions.
> 
> The fast path (taking an uncontended lock which isn't in "slowpath"
> state) is optimal, identical to the non-paravirtualized case.
> 
> The inner part of ticket lock code becomes:
>         inc = xadd(&lock->tickets, inc);
>         inc.tail &= ~TICKET_SLOWPATH_FLAG;
> 
>         if (likely(inc.head == inc.tail))
>                 goto out;
>         for (;;) {
>                 unsigned count = SPIN_THRESHOLD;
>                 do {
>                         if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
>                                 goto out;
>                         cpu_relax();
>                 } while (--count);
>                 __ticket_lock_spinning(lock, inc.tail);
>         }
> out:    barrier();
> which results in:
>         push   %rbp
>         mov    %rsp,%rbp
> 
>         mov    $0x200,%eax
>         lock xadd %ax,(%rdi)
>         movzbl %ah,%edx
>         cmp    %al,%dl
>         jne    1f       # Slowpath if lock in contention
> 
>         pop    %rbp
>         retq
> 
>         ### SLOWPATH START
> 1:      and    $-2,%edx
>         movzbl %dl,%esi
> 
> 2:      mov    $0x800,%eax
>         jmp    4f
> 
> 3:      pause
>         sub    $0x1,%eax
>         je     5f
> 
> 4:      movzbl (%rdi),%ecx
>         cmp    %cl,%dl
>         jne    3b
> 
>         pop    %rbp
>         retq
> 
> 5:      callq  *__ticket_lock_spinning
>         jmp    2b
>         ### SLOWPATH END
> 
> with CONFIG_PARAVIRT_SPINLOCKS=n, the code has changed slightly, where
> the fastpath case is straight through (taking the lock without
> contention), and the spin loop is out of line:
> 
>         push   %rbp
>         mov    %rsp,%rbp
> 
>         mov    $0x100,%eax
>         lock xadd %ax,(%rdi)
>         movzbl %ah,%edx
>         cmp    %al,%dl
>         jne    1f
> 
>         pop    %rbp
>         retq
> 
>         ### SLOWPATH START
> 1:      pause
>         movzbl (%rdi),%eax
>         cmp    %dl,%al
>         jne    1b
> 
>         pop    %rbp
>         retq
>         ### SLOWPATH END
> 
> The unlock code is complicated by the need to both add to the lock's
> "head" and fetch the slowpath flag from "tail".  This version of the
> patch uses a locked add to do this, followed by a test to see if the
> slowflag is set.  The lock prefix acts as a full memory barrier, so we
> can be sure that other CPUs will have seen the unlock before we read
> the flag (without the barrier the read could be fetched from the
> store queue before it hits memory, which could result in a deadlock).
> 
> This is is all unnecessary complication if you're not using PV ticket
> locks, it also uses the jump-label machinery to use the standard
> "add"-based unlock in the non-PV case.
> 
>         if (TICKET_SLOWPATH_FLAG &&
>              static_key_false(&paravirt_ticketlocks_enabled))) {
>                 arch_spinlock_t prev;
>                 prev = *lock;
>                 add_smp(&lock->tickets.head, TICKET_LOCK_INC);
> 
>                 /* add_smp() is a full mb() */
>                 if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
>                         __ticket_unlock_slowpath(lock, prev);
>         } else
>                 __add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
> which generates:
>         push   %rbp
>         mov    %rsp,%rbp
> 
>         nop5    # replaced by 5-byte jmp 2f when PV enabled
> 
>         # non-PV unlock
>         addb   $0x2,(%rdi)
> 
> 1:      pop    %rbp
>         retq
> 
> ### PV unlock ###
> 2:      movzwl (%rdi),%esi      # Fetch prev
> 
>         lock addb $0x2,(%rdi)   # Do unlock
> 
>         testb  $0x1,0x1(%rdi)   # Test flag
>         je     1b               # Finished if not set
> 
> ### Slow path ###
>         add    $2,%sil          # Add "head" in old lock state
>         mov    %esi,%edx
>         and    $0xfe,%dh        # clear slowflag for comparison
>         movzbl %dh,%eax
>         cmp    %dl,%al          # If head == tail (uncontended)
>         je     4f               # clear slowpath flag
> 
>         # Kick next CPU waiting for lock
> 3:      movzbl %sil,%esi
>         callq  *pv_lock_ops.kick
> 
>         pop    %rbp
>         retq
> 
>         # Lock no longer contended - clear slowflag
> 4:      mov    %esi,%eax
>         lock cmpxchg %dx,(%rdi) # cmpxchg to clear flag
>         cmp    %si,%ax
>         jne    3b               # If clear failed, then kick
> 
>         pop    %rbp
>         retq
> 
> So when not using PV ticketlocks, the unlock sequence just has a
> 5-byte nop added to it, and the PV case is reasonable straightforward
> aside from requiring a "lock add".
> 
> TODO: 1) remove CONFIG_PARAVIRT_SPINLOCK ?
>       2) experiments on further optimization possibilities. (discussed in V6)
> 
> Results:
> =======
> various form of results based on V6 of the patch series are posted in following links
>  https://lkml.org/lkml/2012/3/21/161
>  https://lkml.org/lkml/2012/3/21/198
> 
>  kvm results:
>  https://lkml.org/lkml/2012/3/23/50
>  https://lkml.org/lkml/2012/4/5/73
> 
> Thoughts? Comments? Suggestions?
> 
> Jeremy Fitzhardinge (9):
>   x86/spinlock: replace pv spinlocks with pv ticketlocks
>   x86/ticketlock: collapse a layer of functions
>   xen: defer spinlock setup until boot CPU setup
>   xen/pvticketlock: Xen implementation for PV ticket locks
>   xen/pvticketlocks: add xen_nopvspin parameter to disable xen pv
>     ticketlocks
>   x86/pvticketlock: use callee-save for lock_spinning
>   x86/pvticketlock: when paravirtualizing ticket locks, increment by 2
>   x86/ticketlock: add slowpath logic
>   xen/pvticketlock: allow interrupts to be enabled while blocking
> 
> Raghavendra K T (1):
>   x86/ticketlock: don't inline _spin_unlock when using paravirt
>     spinlocks
> 
> Andrew Jones (1):
>   split out rate limiting from jump_label.h
> 
> Stefano Stabellini (1):
>  xen: enable PV ticketlocks on HVM Xen
> ---
> 
> V6 : https://lkml.org/lkml/2012/3/21/161
> 
> Changes in V6 posting: (Raghavendra K T)
>  - Rebased to linux-3.3-rc6.
>  - used function+enum in place of macro (better type checking)
>  - use cmpxchg while resetting zero status for possible race
>         [suggested by Dave Hansen for KVM patches ]
> 
>  arch/x86/Kconfig                      |    1 +
>  arch/x86/include/asm/paravirt.h       |   32 +---
>  arch/x86/include/asm/paravirt_types.h |   10 +-
>  arch/x86/include/asm/spinlock.h       |  128 ++++++++----
>  arch/x86/include/asm/spinlock_types.h |   16 +-
>  arch/x86/kernel/paravirt-spinlocks.c  |   18 +--
>  arch/x86/xen/smp.c                    |    3 +-
>  arch/x86/xen/spinlock.c               |  383 +++++++++++----------------------
>  include/linux/jump_label.h            |   26 +---
>  include/linux/jump_label_ratelimit.h  |   34 +++
>  include/linux/perf_event.h            |    1 +
>  kernel/jump_label.c                   |    1 +
>  12 files changed, 279 insertions(+), 374 deletions(-)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEUL-0004T5-Af; Fri, 04 May 2012 09:07:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwboyer@gmail.com>) id 1SPJvk-0004BH-8b
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:44:16 +0000
Received: from [85.158.143.35:8240] by server-2.bemta-4.messagelabs.com id
	C4/12-17550-F1B40AF4; Tue, 01 May 2012 20:44:15 +0000
X-Env-Sender: jwboyer@gmail.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335905053!13779706!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18631 invoked from network); 1 May 2012 20:44:14 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 20:44:14 -0000
Received: by qadb15 with SMTP id b15so2459005qad.9
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 13:44:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=S3i1lDy3auaEGNZC5ryDIqnBLkXpBsqo/X8RYt8HqUM=;
	b=dWY2FnFRxRtbh+aLWvJ0mtoHt1dsqHoC579TxMM4M5zO9gemAt5Oc2k3kMx/1Rtv5h
	eqAUlp/pjbgdA8sG1B0IwmnSDDXmw4AAarTvzSrIE8ZwhtDMLBvb7f3g4n1X+jlAOBg+
	i0dgsA9uXhcrvUad6x0El/El5nblVAaSVJ4FdtNiav5R2y86h1mF0oI00re2AtBPRyhD
	s2uca7DntJ4D88jxyOpvth1jvCh9GObMHA6heocVEdNivsDW9bigGJSSLXp7pR7JhAJZ
	sHf6xrvlXLNMixRASSjMiPH6osBmJQqxQnAEHEKnvd4AUUiotjgade2BMj/a32depNI9
	8S4A==
MIME-Version: 1.0
Received: by 10.224.1.135 with SMTP id 7mr7175622qaf.16.1335905053356; Tue, 01
	May 2012 13:44:13 -0700 (PDT)
Received: by 10.229.249.193 with HTTP; Tue, 1 May 2012 13:44:13 -0700 (PDT)
In-Reply-To: <20120501202640.GB16209@phenom.dumpdata.com>
References: <20120501194240.GA15237@phenom.dumpdata.com>
	<CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
	<20120501202640.GB16209@phenom.dumpdata.com>
Date: Tue, 1 May 2012 16:44:13 -0400
Message-ID: <CA+5PVA49wJjDFW7_3kDhG=uVavZrhys8N9-XMq14BGORX65yuA@mail.gmail.com>
From: Josh Boyer <jwboyer@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:44 +0000
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	mingo@kernel.org
Subject: Re: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC
 abstraction (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 1, 2012 at 4:26 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> On Tue, May 01, 2012 at 04:08:19PM -0400, Josh Boyer wrote:
>> On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
>> <konrad.wilk@oracle.com> wrote:
>> > +
>> > +struct x86_io_apic_ops x86_io_apic_ops =3D {
>> > + =A0 =A0 =A0 .init =A0 =3D native_io_apic_init_mappings,
>> > + =A0 =A0 =A0 .read =A0 =3D native_io_apic_read,
>> > + =A0 =A0 =A0 .write =A0=3D native_io_apic_write,
>> > + =A0 =A0 =A0 .modify =3D native_io_apic_modify,
>> > +};
>>
>> You'll get a section mismatch warning on this struct. =A0It's not a huge
>> deal, but native_io_apic_init_mappings is annotated as __init whereas
>> this struct isn't. =A0In practice it doesn't seem to matter as
>> x86_io_apic_ops.init is only called in setup_arch, but it's still a
>> valid warning.
>
> I think that the mismatch disappears if the structure has the word
> _ops in it. At least that is what I saw (when I ran with the MODULE_SECTI=
ON=3Dy
> with the initial implementation of this and then fixed it up).
>
> However, let me double check - I might have seen that with something
> else and misremebered it.

Oh, you might very well be correct.  The bug has an older version of
this patch that just calls it 'x86_ioapic'.  Guess I'll need to poke
around and update whatever we're carrying to the latest version.

If it's gone, sorry for the noise.

josh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEUL-0004T5-Af; Fri, 04 May 2012 09:07:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwboyer@gmail.com>) id 1SPJvk-0004BH-8b
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:44:16 +0000
Received: from [85.158.143.35:8240] by server-2.bemta-4.messagelabs.com id
	C4/12-17550-F1B40AF4; Tue, 01 May 2012 20:44:15 +0000
X-Env-Sender: jwboyer@gmail.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1335905053!13779706!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18631 invoked from network); 1 May 2012 20:44:14 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 20:44:14 -0000
Received: by qadb15 with SMTP id b15so2459005qad.9
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 13:44:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=S3i1lDy3auaEGNZC5ryDIqnBLkXpBsqo/X8RYt8HqUM=;
	b=dWY2FnFRxRtbh+aLWvJ0mtoHt1dsqHoC579TxMM4M5zO9gemAt5Oc2k3kMx/1Rtv5h
	eqAUlp/pjbgdA8sG1B0IwmnSDDXmw4AAarTvzSrIE8ZwhtDMLBvb7f3g4n1X+jlAOBg+
	i0dgsA9uXhcrvUad6x0El/El5nblVAaSVJ4FdtNiav5R2y86h1mF0oI00re2AtBPRyhD
	s2uca7DntJ4D88jxyOpvth1jvCh9GObMHA6heocVEdNivsDW9bigGJSSLXp7pR7JhAJZ
	sHf6xrvlXLNMixRASSjMiPH6osBmJQqxQnAEHEKnvd4AUUiotjgade2BMj/a32depNI9
	8S4A==
MIME-Version: 1.0
Received: by 10.224.1.135 with SMTP id 7mr7175622qaf.16.1335905053356; Tue, 01
	May 2012 13:44:13 -0700 (PDT)
Received: by 10.229.249.193 with HTTP; Tue, 1 May 2012 13:44:13 -0700 (PDT)
In-Reply-To: <20120501202640.GB16209@phenom.dumpdata.com>
References: <20120501194240.GA15237@phenom.dumpdata.com>
	<CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
	<20120501202640.GB16209@phenom.dumpdata.com>
Date: Tue, 1 May 2012 16:44:13 -0400
Message-ID: <CA+5PVA49wJjDFW7_3kDhG=uVavZrhys8N9-XMq14BGORX65yuA@mail.gmail.com>
From: Josh Boyer <jwboyer@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:44 +0000
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	mingo@kernel.org
Subject: Re: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC
 abstraction (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 1, 2012 at 4:26 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> On Tue, May 01, 2012 at 04:08:19PM -0400, Josh Boyer wrote:
>> On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
>> <konrad.wilk@oracle.com> wrote:
>> > +
>> > +struct x86_io_apic_ops x86_io_apic_ops =3D {
>> > + =A0 =A0 =A0 .init =A0 =3D native_io_apic_init_mappings,
>> > + =A0 =A0 =A0 .read =A0 =3D native_io_apic_read,
>> > + =A0 =A0 =A0 .write =A0=3D native_io_apic_write,
>> > + =A0 =A0 =A0 .modify =3D native_io_apic_modify,
>> > +};
>>
>> You'll get a section mismatch warning on this struct. =A0It's not a huge
>> deal, but native_io_apic_init_mappings is annotated as __init whereas
>> this struct isn't. =A0In practice it doesn't seem to matter as
>> x86_io_apic_ops.init is only called in setup_arch, but it's still a
>> valid warning.
>
> I think that the mismatch disappears if the structure has the word
> _ops in it. At least that is what I saw (when I ran with the MODULE_SECTI=
ON=3Dy
> with the initial implementation of this and then fixed it up).
>
> However, let me double check - I might have seen that with something
> else and misremebered it.

Oh, you might very well be correct.  The bug has an older version of
this patch that just calls it 'x86_ioapic'.  Guess I'll need to poke
around and update whatever we're carrying to the latest version.

If it's gone, sorry for the noise.

josh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEUF-0004RW-NW; Fri, 04 May 2012 09:07:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwboyer@gmail.com>) id 1SPJN3-0003WK-Gq
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:08:25 +0000
Received: from [85.158.139.83:64045] by server-10.bemta-5.messagelabs.com id
	FD/49-08260-8B240AF4; Tue, 01 May 2012 20:08:24 +0000
X-Env-Sender: jwboyer@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1335902901!19068898!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10764 invoked from network); 1 May 2012 20:08:22 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 20:08:22 -0000
Received: by qady23 with SMTP id y23so2764205qad.7
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 13:08:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=ybwwV7zah6QUVKN5Onz+jkqk9qlkFlDcBYdAbjA2tW0=;
	b=Bau4g6YS5tEYQMINGr2yDxsXkyUQG8TABPhpaxEH3v4UluUN+0rdrdfADT66sKBJEJ
	+sEys28pwtt21/CxOTbEybY7eXBTKfGRcdLoPFwoOJ7PnMfN/nOLJOU16NyV+diCLKpo
	k6snZIOQkz+//6+ve+wMwE+RloH29xN36Mdwr9+kjUVSZyaTQ/IfNZCE1HnYCJ0FacLA
	KX0IH4+RCz+1fLEJkDGt22qbpmIH7I9nfDEMctKh+3Nb+M5zzTF0cPvj55sR8zYM1zX4
	dxQ1ZBGG6ali6ObR86T2u559SM6LcmKEX9I3Ny1tz6O6LKc/1OTZpaYSdk3lFmuctgfp
	iPMA==
MIME-Version: 1.0
Received: by 10.224.117.6 with SMTP id o6mr623774qaq.18.1335902900054; Tue, 01
	May 2012 13:08:20 -0700 (PDT)
Received: by 10.229.249.193 with HTTP; Tue, 1 May 2012 13:08:19 -0700 (PDT)
In-Reply-To: <20120501194240.GA15237@phenom.dumpdata.com>
References: <20120501194240.GA15237@phenom.dumpdata.com>
Date: Tue, 1 May 2012 16:08:19 -0400
Message-ID: <CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
From: Josh Boyer <jwboyer@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:38 +0000
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	mingo@kernel.org
Subject: Re: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC
 abstraction (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> -static void __init __ioapic_init_mappings(void)
> +void __init native_io_apic_init_mappings(void)
> =A0{
> =A0 =A0 =A0 =A0unsigned long ioapic_phys, idx =3D FIX_IO_APIC_BASE_0;
> =A0 =A0 =A0 =A0struct resource *ioapic_res;
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 1a29015..8526317 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
> =A0 =A0 =A0 =A0init_cpu_to_node();
>
> =A0 =A0 =A0 =A0init_apic_mappings();
> - =A0 =A0 =A0 ioapic_and_gsi_init();
> + =A0 =A0 =A0 x86_io_apic_ops.init();
>
> =A0 =A0 =A0 =A0kvm_guest_init();
>
> diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> index 9cf71d0..35c5e54 100644
> --- a/arch/x86/kernel/x86_init.c
> +++ b/arch/x86/kernel/x86_init.c
> @@ -18,6 +18,7 @@
> =A0#include <asm/e820.h>
> =A0#include <asm/time.h>
> =A0#include <asm/irq.h>
> +#include <asm/io_apic.h>
> =A0#include <asm/pat.h>
> =A0#include <asm/tsc.h>
> =A0#include <asm/iommu.h>
> @@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi =3D {
> =A0 =A0 =A0 =A0.teardown_msi_irqs =3D default_teardown_msi_irqs,
> =A0 =A0 =A0 =A0.restore_msi_irqs =3D default_restore_msi_irqs,
> =A0};
> +
> +struct x86_io_apic_ops x86_io_apic_ops =3D {
> + =A0 =A0 =A0 .init =A0 =3D native_io_apic_init_mappings,
> + =A0 =A0 =A0 .read =A0 =3D native_io_apic_read,
> + =A0 =A0 =A0 .write =A0=3D native_io_apic_write,
> + =A0 =A0 =A0 .modify =3D native_io_apic_modify,
> +};

You'll get a section mismatch warning on this struct.  It's not a huge
deal, but native_io_apic_init_mappings is annotated as __init whereas
this struct isn't.  In practice it doesn't seem to matter as
x86_io_apic_ops.init is only called in setup_arch, but it's still a
valid warning.

(First noticed in https://bugzilla.redhat.com/show_bug.cgi?id=3D817645 )

josh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:07:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEUF-0004RW-NW; Fri, 04 May 2012 09:07:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwboyer@gmail.com>) id 1SPJN3-0003WK-Gq
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 20:08:25 +0000
Received: from [85.158.139.83:64045] by server-10.bemta-5.messagelabs.com id
	FD/49-08260-8B240AF4; Tue, 01 May 2012 20:08:24 +0000
X-Env-Sender: jwboyer@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1335902901!19068898!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10764 invoked from network); 1 May 2012 20:08:22 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	1 May 2012 20:08:22 -0000
Received: by qady23 with SMTP id y23so2764205qad.7
	for <xen-devel@lists.xensource.com>;
	Tue, 01 May 2012 13:08:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=ybwwV7zah6QUVKN5Onz+jkqk9qlkFlDcBYdAbjA2tW0=;
	b=Bau4g6YS5tEYQMINGr2yDxsXkyUQG8TABPhpaxEH3v4UluUN+0rdrdfADT66sKBJEJ
	+sEys28pwtt21/CxOTbEybY7eXBTKfGRcdLoPFwoOJ7PnMfN/nOLJOU16NyV+diCLKpo
	k6snZIOQkz+//6+ve+wMwE+RloH29xN36Mdwr9+kjUVSZyaTQ/IfNZCE1HnYCJ0FacLA
	KX0IH4+RCz+1fLEJkDGt22qbpmIH7I9nfDEMctKh+3Nb+M5zzTF0cPvj55sR8zYM1zX4
	dxQ1ZBGG6ali6ObR86T2u559SM6LcmKEX9I3Ny1tz6O6LKc/1OTZpaYSdk3lFmuctgfp
	iPMA==
MIME-Version: 1.0
Received: by 10.224.117.6 with SMTP id o6mr623774qaq.18.1335902900054; Tue, 01
	May 2012 13:08:20 -0700 (PDT)
Received: by 10.229.249.193 with HTTP; Tue, 1 May 2012 13:08:19 -0700 (PDT)
In-Reply-To: <20120501194240.GA15237@phenom.dumpdata.com>
References: <20120501194240.GA15237@phenom.dumpdata.com>
Date: Tue, 1 May 2012 16:08:19 -0400
Message-ID: <CA+5PVA4OorzAkkBe+PayPPHa1k7=X6Y0ALg=jRWLyKxabAPpiw@mail.gmail.com>
From: Josh Boyer <jwboyer@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailman-Approved-At: Fri, 04 May 2012 09:07:38 +0000
Cc: suresh.b.siddha@intel.com, mlin@ss.pku.edu.cn,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	mingo@kernel.org
Subject: Re: [Xen-devel] [GIT PULL] stable/for-ingo-v3.5 of IOAPIC
 abstraction (and then some users) for v3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> -static void __init __ioapic_init_mappings(void)
> +void __init native_io_apic_init_mappings(void)
> =A0{
> =A0 =A0 =A0 =A0unsigned long ioapic_phys, idx =3D FIX_IO_APIC_BASE_0;
> =A0 =A0 =A0 =A0struct resource *ioapic_res;
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 1a29015..8526317 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
> =A0 =A0 =A0 =A0init_cpu_to_node();
>
> =A0 =A0 =A0 =A0init_apic_mappings();
> - =A0 =A0 =A0 ioapic_and_gsi_init();
> + =A0 =A0 =A0 x86_io_apic_ops.init();
>
> =A0 =A0 =A0 =A0kvm_guest_init();
>
> diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> index 9cf71d0..35c5e54 100644
> --- a/arch/x86/kernel/x86_init.c
> +++ b/arch/x86/kernel/x86_init.c
> @@ -18,6 +18,7 @@
> =A0#include <asm/e820.h>
> =A0#include <asm/time.h>
> =A0#include <asm/irq.h>
> +#include <asm/io_apic.h>
> =A0#include <asm/pat.h>
> =A0#include <asm/tsc.h>
> =A0#include <asm/iommu.h>
> @@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi =3D {
> =A0 =A0 =A0 =A0.teardown_msi_irqs =3D default_teardown_msi_irqs,
> =A0 =A0 =A0 =A0.restore_msi_irqs =3D default_restore_msi_irqs,
> =A0};
> +
> +struct x86_io_apic_ops x86_io_apic_ops =3D {
> + =A0 =A0 =A0 .init =A0 =3D native_io_apic_init_mappings,
> + =A0 =A0 =A0 .read =A0 =3D native_io_apic_read,
> + =A0 =A0 =A0 .write =A0=3D native_io_apic_write,
> + =A0 =A0 =A0 .modify =3D native_io_apic_modify,
> +};

You'll get a section mismatch warning on this struct.  It's not a huge
deal, but native_io_apic_init_mappings is annotated as __init whereas
this struct isn't.  In practice it doesn't seem to matter as
x86_io_apic_ops.init is only called in setup_arch, but it's still a
valid warning.

(First noticed in https://bugzilla.redhat.com/show_bug.cgi?id=3D817645 )

josh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:08:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:08:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEUh-0004ZE-OT; Fri, 04 May 2012 09:08:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwestfall@surrealistic.net>) id 1SPegi-0002Ze-Eh
	for xen-devel@lists.xen.org; Wed, 02 May 2012 18:54:08 +0000
Received: from [85.158.139.83:56502] by server-1.bemta-5.messagelabs.com id
	A8/F8-28458-FC281AF4; Wed, 02 May 2012 18:54:07 +0000
X-Env-Sender: jwestfall@surrealistic.net
X-Msg-Ref: server-6.tower-182.messagelabs.com!1335984844!22595178!1
X-Originating-IP: [75.151.103.193]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19858 invoked from network); 2 May 2012 18:54:06 -0000
Received: from whipper.surrealistic.net (HELO whipper.surrealistic.net)
	(75.151.103.193)
	by server-6.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	2 May 2012 18:54:06 -0000
Received: from jwestfall by whipper.surrealistic.net with local (Exim 4.69)
	(envelope-from <jwestfall@surrealistic.net>) id 1SPegc-00033S-Vx
	for xen-devel@lists.xen.org; Wed, 02 May 2012 11:54:02 -0700
Date: Wed, 2 May 2012 11:54:02 -0700
From: Jim Westfall <jwestfall@surrealistic.net>
To: xen-devel@lists.xen.org
Message-ID: <20120502185402.GV5985@surrealistic.net>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:06 +0000
Subject: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi

I wanted to bring this to your attention

https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/956051

The summary is that when gcc compiles something with -mfma4 it also 
enables the use of the avx instruction set.  Since by default xen 
disables avx it leads to invalid opcodes.

This ends up being kinda nasty with the multiarch glibc since its doing 
stuff like

(HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))

run_fma4_func() can end up bombing out from the invalid opcode when run 
under xen.

Its not clear to me if xen should be filtering fma4 as part of its avx 
filter or if gcc should not assume avx support when compiling with 
-mfma4.

thoughts?

thanks
jim

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:08:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:08:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEUh-0004ZE-OT; Fri, 04 May 2012 09:08:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwestfall@surrealistic.net>) id 1SPegi-0002Ze-Eh
	for xen-devel@lists.xen.org; Wed, 02 May 2012 18:54:08 +0000
Received: from [85.158.139.83:56502] by server-1.bemta-5.messagelabs.com id
	A8/F8-28458-FC281AF4; Wed, 02 May 2012 18:54:07 +0000
X-Env-Sender: jwestfall@surrealistic.net
X-Msg-Ref: server-6.tower-182.messagelabs.com!1335984844!22595178!1
X-Originating-IP: [75.151.103.193]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19858 invoked from network); 2 May 2012 18:54:06 -0000
Received: from whipper.surrealistic.net (HELO whipper.surrealistic.net)
	(75.151.103.193)
	by server-6.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	2 May 2012 18:54:06 -0000
Received: from jwestfall by whipper.surrealistic.net with local (Exim 4.69)
	(envelope-from <jwestfall@surrealistic.net>) id 1SPegc-00033S-Vx
	for xen-devel@lists.xen.org; Wed, 02 May 2012 11:54:02 -0700
Date: Wed, 2 May 2012 11:54:02 -0700
From: Jim Westfall <jwestfall@surrealistic.net>
To: xen-devel@lists.xen.org
Message-ID: <20120502185402.GV5985@surrealistic.net>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:06 +0000
Subject: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi

I wanted to bring this to your attention

https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/956051

The summary is that when gcc compiles something with -mfma4 it also 
enables the use of the avx instruction set.  Since by default xen 
disables avx it leads to invalid opcodes.

This ends up being kinda nasty with the multiarch glibc since its doing 
stuff like

(HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))

run_fma4_func() can end up bombing out from the invalid opcode when run 
under xen.

Its not clear to me if xen should be filtering fma4 as part of its avx 
filter or if gcc should not assume avx support when compiling with 
-mfma4.

thoughts?

thanks
jim

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVV-0004ks-Fz; Fri, 04 May 2012 09:08:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSk-0004RE-QK
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:11 +0000
Received: from [193.109.254.147:20379] by server-11.bemta-14.messagelabs.com
	id FE/BD-05858-A4701AF4; Wed, 02 May 2012 10:07:06 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1335953221!2073323!1
X-Originating-IP: [202.81.31.148]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0OCA9PiAyNzc4NTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16037 invoked from network); 2 May 2012 10:07:04 -0000
Received: from e23smtp06.au.ibm.com (HELO e23smtp06.au.ibm.com) (202.81.31.148)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:07:04 -0000
Received: from /spool/local
	by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:01:30 +1000
Received: from d23relay05.au.ibm.com (202.81.31.247)
	by e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:01:28 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q429xo4E880700
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 19:59:50 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A6d6I008640
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:06:43 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A6Yd5008473; Wed, 2 May 2012 20:06:35 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:36:25 +0530
Message-Id: <20120502100625.13206.42167.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-7014-0000-0000-0000010448B1
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 1/17] x86/spinlock: Replace pv spinlocks
	with pv ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Rather than outright replacing the entire spinlock implementation in
order to paravirtualize it, keep the ticket lock implementation but add
a couple of pvops hooks on the slow patch (long spin on lock, unlocking
a contended lock).

Ticket locks have a number of nice properties, but they also have some
surprising behaviours in virtual environments.  They enforce a strict
FIFO ordering on cpus trying to take a lock; however, if the hypervisor
scheduler does not schedule the cpus in the correct order, the system can
waste a huge amount of time spinning until the next cpu can take the lock.

(See Thomas Friebel's talk "Prevent Guests from Spinning Around"
http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)

To address this, we add two hooks:
 - __ticket_spin_lock which is called after the cpu has been
   spinning on the lock for a significant number of iterations but has
   failed to take the lock (presumably because the cpu holding the lock
   has been descheduled).  The lock_spinning pvop is expected to block
   the cpu until it has been kicked by the current lock holder.
 - __ticket_spin_unlock, which on releasing a contended lock
   (there are more cpus with tail tickets), it looks to see if the next
   cpu is blocked and wakes it if so.

When compiled with CONFIG_PARAVIRT_SPINLOCKS disabled, a set of stub
functions causes all the extra code to go away.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/paravirt.h       |   32 ++++----------------
 arch/x86/include/asm/paravirt_types.h |   10 ++----
 arch/x86/include/asm/spinlock.h       |   53 ++++++++++++++++++++++++++------
 arch/x86/include/asm/spinlock_types.h |    4 --
 arch/x86/kernel/paravirt-spinlocks.c  |   15 +--------
 arch/x86/xen/spinlock.c               |    8 ++++-
 6 files changed, 61 insertions(+), 61 deletions(-)
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index aa0f913..4bcd146 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -751,36 +751,16 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
 
 #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS)
 
-static inline int arch_spin_is_locked(struct arch_spinlock *lock)
+static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
+							__ticket_t ticket)
 {
-	return PVOP_CALL1(int, pv_lock_ops.spin_is_locked, lock);
+	PVOP_VCALL2(pv_lock_ops.lock_spinning, lock, ticket);
 }
 
-static inline int arch_spin_is_contended(struct arch_spinlock *lock)
+static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
+							__ticket_t ticket)
 {
-	return PVOP_CALL1(int, pv_lock_ops.spin_is_contended, lock);
-}
-#define arch_spin_is_contended	arch_spin_is_contended
-
-static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
-{
-	PVOP_VCALL1(pv_lock_ops.spin_lock, lock);
-}
-
-static __always_inline void arch_spin_lock_flags(struct arch_spinlock *lock,
-						  unsigned long flags)
-{
-	PVOP_VCALL2(pv_lock_ops.spin_lock_flags, lock, flags);
-}
-
-static __always_inline int arch_spin_trylock(struct arch_spinlock *lock)
-{
-	return PVOP_CALL1(int, pv_lock_ops.spin_trylock, lock);
-}
-
-static __always_inline void arch_spin_unlock(struct arch_spinlock *lock)
-{
-	PVOP_VCALL1(pv_lock_ops.spin_unlock, lock);
+	PVOP_VCALL2(pv_lock_ops.unlock_kick, lock, ticket);
 }
 
 #endif
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 8e8b9a4..005e24d 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -327,13 +327,11 @@ struct pv_mmu_ops {
 };
 
 struct arch_spinlock;
+#include <asm/spinlock_types.h>
+
 struct pv_lock_ops {
-	int (*spin_is_locked)(struct arch_spinlock *lock);
-	int (*spin_is_contended)(struct arch_spinlock *lock);
-	void (*spin_lock)(struct arch_spinlock *lock);
-	void (*spin_lock_flags)(struct arch_spinlock *lock, unsigned long flags);
-	int (*spin_trylock)(struct arch_spinlock *lock);
-	void (*spin_unlock)(struct arch_spinlock *lock);
+	void (*lock_spinning)(struct arch_spinlock *lock, __ticket_t ticket);
+	void (*unlock_kick)(struct arch_spinlock *lock, __ticket_t ticket);
 };
 
 /* This contains all the paravirt structures: we get a convenient
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 76bfa2c..3e47608 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -37,6 +37,35 @@
 # define UNLOCK_LOCK_PREFIX
 #endif
 
+/* How long a lock should spin before we consider blocking */
+#define SPIN_THRESHOLD	(1 << 11)
+
+#ifndef CONFIG_PARAVIRT_SPINLOCKS
+
+static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
+							__ticket_t ticket)
+{
+}
+
+static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
+							 __ticket_t ticket)
+{
+}
+
+#endif	/* CONFIG_PARAVIRT_SPINLOCKS */
+
+
+/*
+ * If a spinlock has someone waiting on it, then kick the appropriate
+ * waiting cpu.
+ */
+static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
+							__ticket_t next)
+{
+	if (unlikely(lock->tickets.tail != next))
+		____ticket_unlock_kick(lock, next);
+}
+
 /*
  * Ticket locks are conceptually two parts, one indicating the current head of
  * the queue, and the other indicating the current tail. The lock is acquired
@@ -50,19 +79,24 @@
  * in the high part, because a wide xadd increment of the low part would carry
  * up and contaminate the high part.
  */
-static __always_inline void __ticket_spin_lock(arch_spinlock_t *lock)
+static __always_inline void __ticket_spin_lock(struct arch_spinlock *lock)
 {
 	register struct __raw_tickets inc = { .tail = 1 };
 
 	inc = xadd(&lock->tickets, inc);
 
 	for (;;) {
-		if (inc.head == inc.tail)
-			break;
-		cpu_relax();
-		inc.head = ACCESS_ONCE(lock->tickets.head);
+		unsigned count = SPIN_THRESHOLD;
+
+		do {
+			if (inc.head == inc.tail)
+				goto out;
+			cpu_relax();
+			inc.head = ACCESS_ONCE(lock->tickets.head);
+		} while (--count);
+		__ticket_lock_spinning(lock, inc.tail);
 	}
-	barrier();		/* make sure nothing creeps before the lock is taken */
+out:	barrier();	/* make sure nothing creeps before the lock is taken */
 }
 
 static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
@@ -81,7 +115,10 @@ static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
 
 static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock)
 {
+	__ticket_t next = lock->tickets.head + 1;
+
 	__add(&lock->tickets.head, 1, UNLOCK_LOCK_PREFIX);
+	__ticket_unlock_kick(lock, next);
 }
 
 static inline int __ticket_spin_is_locked(arch_spinlock_t *lock)
@@ -98,8 +135,6 @@ static inline int __ticket_spin_is_contended(arch_spinlock_t *lock)
 	return (__ticket_t)(tmp.tail - tmp.head) > 1;
 }
 
-#ifndef CONFIG_PARAVIRT_SPINLOCKS
-
 static inline int arch_spin_is_locked(arch_spinlock_t *lock)
 {
 	return __ticket_spin_is_locked(lock);
@@ -132,8 +167,6 @@ static __always_inline void arch_spin_lock_flags(arch_spinlock_t *lock,
 	arch_spin_lock(lock);
 }
 
-#endif	/* CONFIG_PARAVIRT_SPINLOCKS */
-
 static inline void arch_spin_unlock_wait(arch_spinlock_t *lock)
 {
 	while (arch_spin_is_locked(lock))
diff --git a/arch/x86/include/asm/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h
index ad0ad07..83fd3c7 100644
--- a/arch/x86/include/asm/spinlock_types.h
+++ b/arch/x86/include/asm/spinlock_types.h
@@ -1,10 +1,6 @@
 #ifndef _ASM_X86_SPINLOCK_TYPES_H
 #define _ASM_X86_SPINLOCK_TYPES_H
 
-#ifndef __LINUX_SPINLOCK_TYPES_H
-# error "please don't include this file directly"
-#endif
-
 #include <linux/types.h>
 
 #if (CONFIG_NR_CPUS < 256)
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 676b8c7..c2e010e 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -7,21 +7,10 @@
 
 #include <asm/paravirt.h>
 
-static inline void
-default_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags)
-{
-	arch_spin_lock(lock);
-}
-
 struct pv_lock_ops pv_lock_ops = {
 #ifdef CONFIG_SMP
-	.spin_is_locked = __ticket_spin_is_locked,
-	.spin_is_contended = __ticket_spin_is_contended,
-
-	.spin_lock = __ticket_spin_lock,
-	.spin_lock_flags = default_spin_lock_flags,
-	.spin_trylock = __ticket_spin_trylock,
-	.spin_unlock = __ticket_spin_unlock,
+	.lock_spinning = paravirt_nop,
+	.unlock_kick = paravirt_nop,
 #endif
 };
 EXPORT_SYMBOL(pv_lock_ops);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 00461a4..f1f4540 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -138,6 +138,9 @@ struct xen_spinlock {
 	xen_spinners_t spinners;	/* count of waiting cpus */
 };
 
+static DEFINE_PER_CPU(int, lock_kicker_irq) = -1;
+
+#if 0
 static int xen_spin_is_locked(struct arch_spinlock *lock)
 {
 	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
@@ -165,7 +168,6 @@ static int xen_spin_trylock(struct arch_spinlock *lock)
 	return old == 0;
 }
 
-static DEFINE_PER_CPU(int, lock_kicker_irq) = -1;
 static DEFINE_PER_CPU(struct xen_spinlock *, lock_spinners);
 
 /*
@@ -353,6 +355,7 @@ static void xen_spin_unlock(struct arch_spinlock *lock)
 	if (unlikely(xl->spinners))
 		xen_spin_unlock_slow(xl);
 }
+#endif
 
 static irqreturn_t dummy_handler(int irq, void *dev_id)
 {
@@ -389,13 +392,14 @@ void xen_uninit_lock_cpu(int cpu)
 void __init xen_init_spinlocks(void)
 {
 	BUILD_BUG_ON(sizeof(struct xen_spinlock) > sizeof(arch_spinlock_t));
-
+#if 0
 	pv_lock_ops.spin_is_locked = xen_spin_is_locked;
 	pv_lock_ops.spin_is_contended = xen_spin_is_contended;
 	pv_lock_ops.spin_lock = xen_spin_lock;
 	pv_lock_ops.spin_lock_flags = xen_spin_lock_flags;
 	pv_lock_ops.spin_trylock = xen_spin_trylock;
 	pv_lock_ops.spin_unlock = xen_spin_unlock;
+#endif
 }
 
 #ifdef CONFIG_XEN_DEBUG_FS


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVV-0004ks-Fz; Fri, 04 May 2012 09:08:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSk-0004RE-QK
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:11 +0000
Received: from [193.109.254.147:20379] by server-11.bemta-14.messagelabs.com
	id FE/BD-05858-A4701AF4; Wed, 02 May 2012 10:07:06 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1335953221!2073323!1
X-Originating-IP: [202.81.31.148]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0OCA9PiAyNzc4NTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16037 invoked from network); 2 May 2012 10:07:04 -0000
Received: from e23smtp06.au.ibm.com (HELO e23smtp06.au.ibm.com) (202.81.31.148)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:07:04 -0000
Received: from /spool/local
	by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:01:30 +1000
Received: from d23relay05.au.ibm.com (202.81.31.247)
	by e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:01:28 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q429xo4E880700
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 19:59:50 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A6d6I008640
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:06:43 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A6Yd5008473; Wed, 2 May 2012 20:06:35 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:36:25 +0530
Message-Id: <20120502100625.13206.42167.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-7014-0000-0000-0000010448B1
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 1/17] x86/spinlock: Replace pv spinlocks
	with pv ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Rather than outright replacing the entire spinlock implementation in
order to paravirtualize it, keep the ticket lock implementation but add
a couple of pvops hooks on the slow patch (long spin on lock, unlocking
a contended lock).

Ticket locks have a number of nice properties, but they also have some
surprising behaviours in virtual environments.  They enforce a strict
FIFO ordering on cpus trying to take a lock; however, if the hypervisor
scheduler does not schedule the cpus in the correct order, the system can
waste a huge amount of time spinning until the next cpu can take the lock.

(See Thomas Friebel's talk "Prevent Guests from Spinning Around"
http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)

To address this, we add two hooks:
 - __ticket_spin_lock which is called after the cpu has been
   spinning on the lock for a significant number of iterations but has
   failed to take the lock (presumably because the cpu holding the lock
   has been descheduled).  The lock_spinning pvop is expected to block
   the cpu until it has been kicked by the current lock holder.
 - __ticket_spin_unlock, which on releasing a contended lock
   (there are more cpus with tail tickets), it looks to see if the next
   cpu is blocked and wakes it if so.

When compiled with CONFIG_PARAVIRT_SPINLOCKS disabled, a set of stub
functions causes all the extra code to go away.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/paravirt.h       |   32 ++++----------------
 arch/x86/include/asm/paravirt_types.h |   10 ++----
 arch/x86/include/asm/spinlock.h       |   53 ++++++++++++++++++++++++++------
 arch/x86/include/asm/spinlock_types.h |    4 --
 arch/x86/kernel/paravirt-spinlocks.c  |   15 +--------
 arch/x86/xen/spinlock.c               |    8 ++++-
 6 files changed, 61 insertions(+), 61 deletions(-)
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index aa0f913..4bcd146 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -751,36 +751,16 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
 
 #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS)
 
-static inline int arch_spin_is_locked(struct arch_spinlock *lock)
+static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
+							__ticket_t ticket)
 {
-	return PVOP_CALL1(int, pv_lock_ops.spin_is_locked, lock);
+	PVOP_VCALL2(pv_lock_ops.lock_spinning, lock, ticket);
 }
 
-static inline int arch_spin_is_contended(struct arch_spinlock *lock)
+static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
+							__ticket_t ticket)
 {
-	return PVOP_CALL1(int, pv_lock_ops.spin_is_contended, lock);
-}
-#define arch_spin_is_contended	arch_spin_is_contended
-
-static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
-{
-	PVOP_VCALL1(pv_lock_ops.spin_lock, lock);
-}
-
-static __always_inline void arch_spin_lock_flags(struct arch_spinlock *lock,
-						  unsigned long flags)
-{
-	PVOP_VCALL2(pv_lock_ops.spin_lock_flags, lock, flags);
-}
-
-static __always_inline int arch_spin_trylock(struct arch_spinlock *lock)
-{
-	return PVOP_CALL1(int, pv_lock_ops.spin_trylock, lock);
-}
-
-static __always_inline void arch_spin_unlock(struct arch_spinlock *lock)
-{
-	PVOP_VCALL1(pv_lock_ops.spin_unlock, lock);
+	PVOP_VCALL2(pv_lock_ops.unlock_kick, lock, ticket);
 }
 
 #endif
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 8e8b9a4..005e24d 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -327,13 +327,11 @@ struct pv_mmu_ops {
 };
 
 struct arch_spinlock;
+#include <asm/spinlock_types.h>
+
 struct pv_lock_ops {
-	int (*spin_is_locked)(struct arch_spinlock *lock);
-	int (*spin_is_contended)(struct arch_spinlock *lock);
-	void (*spin_lock)(struct arch_spinlock *lock);
-	void (*spin_lock_flags)(struct arch_spinlock *lock, unsigned long flags);
-	int (*spin_trylock)(struct arch_spinlock *lock);
-	void (*spin_unlock)(struct arch_spinlock *lock);
+	void (*lock_spinning)(struct arch_spinlock *lock, __ticket_t ticket);
+	void (*unlock_kick)(struct arch_spinlock *lock, __ticket_t ticket);
 };
 
 /* This contains all the paravirt structures: we get a convenient
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 76bfa2c..3e47608 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -37,6 +37,35 @@
 # define UNLOCK_LOCK_PREFIX
 #endif
 
+/* How long a lock should spin before we consider blocking */
+#define SPIN_THRESHOLD	(1 << 11)
+
+#ifndef CONFIG_PARAVIRT_SPINLOCKS
+
+static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
+							__ticket_t ticket)
+{
+}
+
+static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
+							 __ticket_t ticket)
+{
+}
+
+#endif	/* CONFIG_PARAVIRT_SPINLOCKS */
+
+
+/*
+ * If a spinlock has someone waiting on it, then kick the appropriate
+ * waiting cpu.
+ */
+static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
+							__ticket_t next)
+{
+	if (unlikely(lock->tickets.tail != next))
+		____ticket_unlock_kick(lock, next);
+}
+
 /*
  * Ticket locks are conceptually two parts, one indicating the current head of
  * the queue, and the other indicating the current tail. The lock is acquired
@@ -50,19 +79,24 @@
  * in the high part, because a wide xadd increment of the low part would carry
  * up and contaminate the high part.
  */
-static __always_inline void __ticket_spin_lock(arch_spinlock_t *lock)
+static __always_inline void __ticket_spin_lock(struct arch_spinlock *lock)
 {
 	register struct __raw_tickets inc = { .tail = 1 };
 
 	inc = xadd(&lock->tickets, inc);
 
 	for (;;) {
-		if (inc.head == inc.tail)
-			break;
-		cpu_relax();
-		inc.head = ACCESS_ONCE(lock->tickets.head);
+		unsigned count = SPIN_THRESHOLD;
+
+		do {
+			if (inc.head == inc.tail)
+				goto out;
+			cpu_relax();
+			inc.head = ACCESS_ONCE(lock->tickets.head);
+		} while (--count);
+		__ticket_lock_spinning(lock, inc.tail);
 	}
-	barrier();		/* make sure nothing creeps before the lock is taken */
+out:	barrier();	/* make sure nothing creeps before the lock is taken */
 }
 
 static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
@@ -81,7 +115,10 @@ static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
 
 static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock)
 {
+	__ticket_t next = lock->tickets.head + 1;
+
 	__add(&lock->tickets.head, 1, UNLOCK_LOCK_PREFIX);
+	__ticket_unlock_kick(lock, next);
 }
 
 static inline int __ticket_spin_is_locked(arch_spinlock_t *lock)
@@ -98,8 +135,6 @@ static inline int __ticket_spin_is_contended(arch_spinlock_t *lock)
 	return (__ticket_t)(tmp.tail - tmp.head) > 1;
 }
 
-#ifndef CONFIG_PARAVIRT_SPINLOCKS
-
 static inline int arch_spin_is_locked(arch_spinlock_t *lock)
 {
 	return __ticket_spin_is_locked(lock);
@@ -132,8 +167,6 @@ static __always_inline void arch_spin_lock_flags(arch_spinlock_t *lock,
 	arch_spin_lock(lock);
 }
 
-#endif	/* CONFIG_PARAVIRT_SPINLOCKS */
-
 static inline void arch_spin_unlock_wait(arch_spinlock_t *lock)
 {
 	while (arch_spin_is_locked(lock))
diff --git a/arch/x86/include/asm/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h
index ad0ad07..83fd3c7 100644
--- a/arch/x86/include/asm/spinlock_types.h
+++ b/arch/x86/include/asm/spinlock_types.h
@@ -1,10 +1,6 @@
 #ifndef _ASM_X86_SPINLOCK_TYPES_H
 #define _ASM_X86_SPINLOCK_TYPES_H
 
-#ifndef __LINUX_SPINLOCK_TYPES_H
-# error "please don't include this file directly"
-#endif
-
 #include <linux/types.h>
 
 #if (CONFIG_NR_CPUS < 256)
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 676b8c7..c2e010e 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -7,21 +7,10 @@
 
 #include <asm/paravirt.h>
 
-static inline void
-default_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags)
-{
-	arch_spin_lock(lock);
-}
-
 struct pv_lock_ops pv_lock_ops = {
 #ifdef CONFIG_SMP
-	.spin_is_locked = __ticket_spin_is_locked,
-	.spin_is_contended = __ticket_spin_is_contended,
-
-	.spin_lock = __ticket_spin_lock,
-	.spin_lock_flags = default_spin_lock_flags,
-	.spin_trylock = __ticket_spin_trylock,
-	.spin_unlock = __ticket_spin_unlock,
+	.lock_spinning = paravirt_nop,
+	.unlock_kick = paravirt_nop,
 #endif
 };
 EXPORT_SYMBOL(pv_lock_ops);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 00461a4..f1f4540 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -138,6 +138,9 @@ struct xen_spinlock {
 	xen_spinners_t spinners;	/* count of waiting cpus */
 };
 
+static DEFINE_PER_CPU(int, lock_kicker_irq) = -1;
+
+#if 0
 static int xen_spin_is_locked(struct arch_spinlock *lock)
 {
 	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
@@ -165,7 +168,6 @@ static int xen_spin_trylock(struct arch_spinlock *lock)
 	return old == 0;
 }
 
-static DEFINE_PER_CPU(int, lock_kicker_irq) = -1;
 static DEFINE_PER_CPU(struct xen_spinlock *, lock_spinners);
 
 /*
@@ -353,6 +355,7 @@ static void xen_spin_unlock(struct arch_spinlock *lock)
 	if (unlikely(xl->spinners))
 		xen_spin_unlock_slow(xl);
 }
+#endif
 
 static irqreturn_t dummy_handler(int irq, void *dev_id)
 {
@@ -389,13 +392,14 @@ void xen_uninit_lock_cpu(int cpu)
 void __init xen_init_spinlocks(void)
 {
 	BUILD_BUG_ON(sizeof(struct xen_spinlock) > sizeof(arch_spinlock_t));
-
+#if 0
 	pv_lock_ops.spin_is_locked = xen_spin_is_locked;
 	pv_lock_ops.spin_is_contended = xen_spin_is_contended;
 	pv_lock_ops.spin_lock = xen_spin_lock;
 	pv_lock_ops.spin_lock_flags = xen_spin_lock_flags;
 	pv_lock_ops.spin_trylock = xen_spin_trylock;
 	pv_lock_ops.spin_unlock = xen_spin_unlock;
+#endif
 }
 
 #ifdef CONFIG_XEN_DEBUG_FS


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVW-0004lf-M9; Fri, 04 May 2012 09:08:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWTH-0004Sg-Fg
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:43 +0000
Received: from [85.158.138.51:46596] by server-11.bemta-3.messagelabs.com id
	C8/45-18894-E6701AF4; Wed, 02 May 2012 10:07:42 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335953257!13784790!1
X-Originating-IP: [202.81.31.143]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MyA9PiAyNzEwNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13557 invoked from network); 2 May 2012 10:07:41 -0000
Received: from e23smtp01.au.ibm.com (HELO e23smtp01.au.ibm.com) (202.81.31.143)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:07:41 -0000
Received: from /spool/local
	by e23smtp01.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 09:59:33 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp01.au.ibm.com (202.81.31.207) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 09:59:30 +1000
Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A0fFN1822942
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:00:42 +1000
Received: from d23av03.au.ibm.com (loopback [127.0.0.1])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A7VMJ012837
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:07:33 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A7QkG012658; Wed, 2 May 2012 20:07:26 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:37:16 +0530
Message-Id: <20120502100716.13206.23938.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050123-1618-0000-0000-00000172F84E
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 5/17] xen/pvticketlock: Xen
	implementation for PV ticket locks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Replace the old Xen implementation of PV spinlocks with and implementation
of xen_lock_spinning and xen_unlock_kick.

xen_lock_spinning simply registers the cpu in its entry in lock_waiting,
adds itself to the waiting_cpus set, and blocks on an event channel
until the channel becomes pending.

xen_unlock_kick searches the cpus in waiting_cpus looking for the one
which next wants this lock with the next ticket, if any.  If found,
it kicks it by making its event channel pending, which wakes it up.

We need to make sure interrupts are disabled while we're relying on the
contents of the per-cpu lock_waiting values, otherwise an interrupt
handler could come in, try to take some other lock, block, and overwrite
our values.

Raghu: use function + enum instead of macro, cmpxchg for zero status reset

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/spinlock.c |  348 +++++++++++------------------------------------
 1 files changed, 78 insertions(+), 270 deletions(-)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index f1f4540..4e98a07 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -16,45 +16,44 @@
 #include "xen-ops.h"
 #include "debugfs.h"
 
-#ifdef CONFIG_XEN_DEBUG_FS
-static struct xen_spinlock_stats
-{
-	u64 taken;
-	u32 taken_slow;
-	u32 taken_slow_nested;
-	u32 taken_slow_pickup;
-	u32 taken_slow_spurious;
-	u32 taken_slow_irqenable;
+enum xen_contention_stat {
+	TAKEN_SLOW,
+	TAKEN_SLOW_PICKUP,
+	TAKEN_SLOW_SPURIOUS,
+	RELEASED_SLOW,
+	RELEASED_SLOW_KICKED,
+	NR_CONTENTION_STATS
+};
 
-	u64 released;
-	u32 released_slow;
-	u32 released_slow_kicked;
 
+#ifdef CONFIG_XEN_DEBUG_FS
 #define HISTO_BUCKETS	30
-	u32 histo_spin_total[HISTO_BUCKETS+1];
-	u32 histo_spin_spinning[HISTO_BUCKETS+1];
+static struct xen_spinlock_stats
+{
+	u32 contention_stats[NR_CONTENTION_STATS];
 	u32 histo_spin_blocked[HISTO_BUCKETS+1];
-
-	u64 time_total;
-	u64 time_spinning;
 	u64 time_blocked;
 } spinlock_stats;
 
 static u8 zero_stats;
 
-static unsigned lock_timeout = 1 << 10;
-#define TIMEOUT lock_timeout
-
 static inline void check_zero(void)
 {
-	if (unlikely(zero_stats)) {
-		memset(&spinlock_stats, 0, sizeof(spinlock_stats));
-		zero_stats = 0;
+	u8 ret;
+	u8 old = ACCESS_ONCE(zero_stats);
+	if (unlikely(old)) {
+		ret = cmpxchg(&zero_stats, old, 0);
+		/* This ensures only one fellow resets the stat */
+		if (ret == old)
+			memset(&spinlock_stats, 0, sizeof(spinlock_stats));
 	}
 }
 
-#define ADD_STATS(elem, val)			\
-	do { check_zero(); spinlock_stats.elem += (val); } while(0)
+static inline void add_stats(enum xen_contention_stat var, u32 val)
+{
+	check_zero();
+	spinlock_stats.contention_stats[var] += val;
+}
 
 static inline u64 spin_time_start(void)
 {
@@ -73,22 +72,6 @@ static void __spin_time_accum(u64 delta, u32 *array)
 		array[HISTO_BUCKETS]++;
 }
 
-static inline void spin_time_accum_spinning(u64 start)
-{
-	u32 delta = xen_clocksource_read() - start;
-
-	__spin_time_accum(delta, spinlock_stats.histo_spin_spinning);
-	spinlock_stats.time_spinning += delta;
-}
-
-static inline void spin_time_accum_total(u64 start)
-{
-	u32 delta = xen_clocksource_read() - start;
-
-	__spin_time_accum(delta, spinlock_stats.histo_spin_total);
-	spinlock_stats.time_total += delta;
-}
-
 static inline void spin_time_accum_blocked(u64 start)
 {
 	u32 delta = xen_clocksource_read() - start;
@@ -98,19 +81,15 @@ static inline void spin_time_accum_blocked(u64 start)
 }
 #else  /* !CONFIG_XEN_DEBUG_FS */
 #define TIMEOUT			(1 << 10)
-#define ADD_STATS(elem, val)	do { (void)(val); } while(0)
+static inline void add_stats(enum xen_contention_stat var, u32 val)
+{
+}
 
 static inline u64 spin_time_start(void)
 {
 	return 0;
 }
 
-static inline void spin_time_accum_total(u64 start)
-{
-}
-static inline void spin_time_accum_spinning(u64 start)
-{
-}
 static inline void spin_time_accum_blocked(u64 start)
 {
 }
@@ -133,230 +112,83 @@ typedef u16 xen_spinners_t;
 	asm(LOCK_PREFIX " decw %0" : "+m" ((xl)->spinners) : : "memory");
 #endif
 
-struct xen_spinlock {
-	unsigned char lock;		/* 0 -> free; 1 -> locked */
-	xen_spinners_t spinners;	/* count of waiting cpus */
+struct xen_lock_waiting {
+	struct arch_spinlock *lock;
+	__ticket_t want;
 };
 
 static DEFINE_PER_CPU(int, lock_kicker_irq) = -1;
+static DEFINE_PER_CPU(struct xen_lock_waiting, lock_waiting);
+static cpumask_t waiting_cpus;
 
-#if 0
-static int xen_spin_is_locked(struct arch_spinlock *lock)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-
-	return xl->lock != 0;
-}
-
-static int xen_spin_is_contended(struct arch_spinlock *lock)
+static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 {
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-
-	/* Not strictly true; this is only the count of contended
-	   lock-takers entering the slow path. */
-	return xl->spinners != 0;
-}
-
-static int xen_spin_trylock(struct arch_spinlock *lock)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-	u8 old = 1;
-
-	asm("xchgb %b0,%1"
-	    : "+q" (old), "+m" (xl->lock) : : "memory");
-
-	return old == 0;
-}
-
-static DEFINE_PER_CPU(struct xen_spinlock *, lock_spinners);
-
-/*
- * Mark a cpu as interested in a lock.  Returns the CPU's previous
- * lock of interest, in case we got preempted by an interrupt.
- */
-static inline struct xen_spinlock *spinning_lock(struct xen_spinlock *xl)
-{
-	struct xen_spinlock *prev;
-
-	prev = __this_cpu_read(lock_spinners);
-	__this_cpu_write(lock_spinners, xl);
-
-	wmb();			/* set lock of interest before count */
-
-	inc_spinners(xl);
-
-	return prev;
-}
-
-/*
- * Mark a cpu as no longer interested in a lock.  Restores previous
- * lock of interest (NULL for none).
- */
-static inline void unspinning_lock(struct xen_spinlock *xl, struct xen_spinlock *prev)
-{
-	dec_spinners(xl);
-	wmb();			/* decrement count before restoring lock */
-	__this_cpu_write(lock_spinners, prev);
-}
-
-static noinline int xen_spin_lock_slow(struct arch_spinlock *lock, bool irq_enable)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-	struct xen_spinlock *prev;
 	int irq = __this_cpu_read(lock_kicker_irq);
-	int ret;
+	struct xen_lock_waiting *w = &__get_cpu_var(lock_waiting);
+	int cpu = smp_processor_id();
 	u64 start;
+	unsigned long flags;
 
 	/* If kicker interrupts not initialized yet, just spin */
 	if (irq == -1)
-		return 0;
+		return;
 
 	start = spin_time_start();
 
-	/* announce we're spinning */
-	prev = spinning_lock(xl);
-
-	ADD_STATS(taken_slow, 1);
-	ADD_STATS(taken_slow_nested, prev != NULL);
-
-	do {
-		unsigned long flags;
-
-		/* clear pending */
-		xen_clear_irq_pending(irq);
-
-		/* check again make sure it didn't become free while
-		   we weren't looking  */
-		ret = xen_spin_trylock(lock);
-		if (ret) {
-			ADD_STATS(taken_slow_pickup, 1);
-
-			/*
-			 * If we interrupted another spinlock while it
-			 * was blocking, make sure it doesn't block
-			 * without rechecking the lock.
-			 */
-			if (prev != NULL)
-				xen_set_irq_pending(irq);
-			goto out;
-		}
+	/*
+	 * Make sure an interrupt handler can't upset things in a
+	 * partially setup state.
+	 */
+	local_irq_save(flags);
 
-		flags = arch_local_save_flags();
-		if (irq_enable) {
-			ADD_STATS(taken_slow_irqenable, 1);
-			raw_local_irq_enable();
-		}
+	w->want = want;
+	smp_wmb();
+	w->lock = lock;
 
-		/*
-		 * Block until irq becomes pending.  If we're
-		 * interrupted at this point (after the trylock but
-		 * before entering the block), then the nested lock
-		 * handler guarantees that the irq will be left
-		 * pending if there's any chance the lock became free;
-		 * xen_poll_irq() returns immediately if the irq is
-		 * pending.
-		 */
-		xen_poll_irq(irq);
+	/* This uses set_bit, which atomic and therefore a barrier */
+	cpumask_set_cpu(cpu, &waiting_cpus);
+	add_stats(TAKEN_SLOW, 1);
 
-		raw_local_irq_restore(flags);
+	/* clear pending */
+	xen_clear_irq_pending(irq);
 
-		ADD_STATS(taken_slow_spurious, !xen_test_irq_pending(irq));
-	} while (!xen_test_irq_pending(irq)); /* check for spurious wakeups */
+	/* Only check lock once pending cleared */
+	barrier();
 
+	/* check again make sure it didn't become free while
+	   we weren't looking  */
+	if (ACCESS_ONCE(lock->tickets.head) == want) {
+		add_stats(TAKEN_SLOW_PICKUP, 1);
+		goto out;
+	}
+	/* Block until irq becomes pending (or perhaps a spurious wakeup) */
+	xen_poll_irq(irq);
+	add_stats(TAKEN_SLOW_SPURIOUS, !xen_test_irq_pending(irq));
 	kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq));
-
 out:
-	unspinning_lock(xl, prev);
+	cpumask_clear_cpu(cpu, &waiting_cpus);
+	w->lock = NULL;
+	local_irq_restore(flags);
 	spin_time_accum_blocked(start);
-
-	return ret;
 }
 
-static inline void __xen_spin_lock(struct arch_spinlock *lock, bool irq_enable)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-	unsigned timeout;
-	u8 oldval;
-	u64 start_spin;
-
-	ADD_STATS(taken, 1);
-
-	start_spin = spin_time_start();
-
-	do {
-		u64 start_spin_fast = spin_time_start();
-
-		timeout = TIMEOUT;
-
-		asm("1: xchgb %1,%0\n"
-		    "   testb %1,%1\n"
-		    "   jz 3f\n"
-		    "2: rep;nop\n"
-		    "   cmpb $0,%0\n"
-		    "   je 1b\n"
-		    "   dec %2\n"
-		    "   jnz 2b\n"
-		    "3:\n"
-		    : "+m" (xl->lock), "=q" (oldval), "+r" (timeout)
-		    : "1" (1)
-		    : "memory");
-
-		spin_time_accum_spinning(start_spin_fast);
-
-	} while (unlikely(oldval != 0 &&
-			  (TIMEOUT == ~0 || !xen_spin_lock_slow(lock, irq_enable))));
-
-	spin_time_accum_total(start_spin);
-}
-
-static void xen_spin_lock(struct arch_spinlock *lock)
-{
-	__xen_spin_lock(lock, false);
-}
-
-static void xen_spin_lock_flags(struct arch_spinlock *lock, unsigned long flags)
-{
-	__xen_spin_lock(lock, !raw_irqs_disabled_flags(flags));
-}
-
-static noinline void xen_spin_unlock_slow(struct xen_spinlock *xl)
+static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
 {
 	int cpu;
 
-	ADD_STATS(released_slow, 1);
+	add_stats(RELEASED_SLOW, 1);
+
+	for_each_cpu(cpu, &waiting_cpus) {
+		const struct xen_lock_waiting *w = &per_cpu(lock_waiting, cpu);
 
-	for_each_online_cpu(cpu) {
-		/* XXX should mix up next cpu selection */
-		if (per_cpu(lock_spinners, cpu) == xl) {
-			ADD_STATS(released_slow_kicked, 1);
+		if (w->lock == lock && w->want == next) {
+			add_stats(RELEASED_SLOW_KICKED, 1);
 			xen_send_IPI_one(cpu, XEN_SPIN_UNLOCK_VECTOR);
 			break;
 		}
 	}
 }
 
-static void xen_spin_unlock(struct arch_spinlock *lock)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-
-	ADD_STATS(released, 1);
-
-	smp_wmb();		/* make sure no writes get moved after unlock */
-	xl->lock = 0;		/* release lock */
-
-	/*
-	 * Make sure unlock happens before checking for waiting
-	 * spinners.  We need a strong barrier to enforce the
-	 * write-read ordering to different memory locations, as the
-	 * CPU makes no implied guarantees about their ordering.
-	 */
-	mb();
-
-	if (unlikely(xl->spinners))
-		xen_spin_unlock_slow(xl);
-}
-#endif
-
 static irqreturn_t dummy_handler(int irq, void *dev_id)
 {
 	BUG();
@@ -391,15 +223,8 @@ void xen_uninit_lock_cpu(int cpu)
 
 void __init xen_init_spinlocks(void)
 {
-	BUILD_BUG_ON(sizeof(struct xen_spinlock) > sizeof(arch_spinlock_t));
-#if 0
-	pv_lock_ops.spin_is_locked = xen_spin_is_locked;
-	pv_lock_ops.spin_is_contended = xen_spin_is_contended;
-	pv_lock_ops.spin_lock = xen_spin_lock;
-	pv_lock_ops.spin_lock_flags = xen_spin_lock_flags;
-	pv_lock_ops.spin_trylock = xen_spin_trylock;
-	pv_lock_ops.spin_unlock = xen_spin_unlock;
-#endif
+	pv_lock_ops.lock_spinning = xen_lock_spinning;
+	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }
 
 #ifdef CONFIG_XEN_DEBUG_FS
@@ -417,42 +242,25 @@ static int __init xen_spinlock_debugfs(void)
 
 	debugfs_create_u8("zero_stats", 0644, d_spin_debug, &zero_stats);
 
-	debugfs_create_u32("timeout", 0644, d_spin_debug, &lock_timeout);
-
-	debugfs_create_u64("taken", 0444, d_spin_debug, &spinlock_stats.taken);
 	debugfs_create_u32("taken_slow", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow);
-	debugfs_create_u32("taken_slow_nested", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_nested);
+			   &spinlock_stats.contention_stats[TAKEN_SLOW]);
 	debugfs_create_u32("taken_slow_pickup", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_pickup);
+			   &spinlock_stats.contention_stats[TAKEN_SLOW_PICKUP]);
 	debugfs_create_u32("taken_slow_spurious", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_spurious);
-	debugfs_create_u32("taken_slow_irqenable", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_irqenable);
+			   &spinlock_stats.contention_stats[TAKEN_SLOW_SPURIOUS]);
 
-	debugfs_create_u64("released", 0444, d_spin_debug, &spinlock_stats.released);
 	debugfs_create_u32("released_slow", 0444, d_spin_debug,
-			   &spinlock_stats.released_slow);
+			   &spinlock_stats.contention_stats[RELEASED_SLOW]);
 	debugfs_create_u32("released_slow_kicked", 0444, d_spin_debug,
-			   &spinlock_stats.released_slow_kicked);
+			   &spinlock_stats.contention_stats[RELEASED_SLOW_KICKED]);
 
-	debugfs_create_u64("time_spinning", 0444, d_spin_debug,
-			   &spinlock_stats.time_spinning);
 	debugfs_create_u64("time_blocked", 0444, d_spin_debug,
 			   &spinlock_stats.time_blocked);
-	debugfs_create_u64("time_total", 0444, d_spin_debug,
-			   &spinlock_stats.time_total);
 
-	debugfs_create_u32_array("histo_total", 0444, d_spin_debug,
-				     spinlock_stats.histo_spin_total, HISTO_BUCKETS + 1);
-	debugfs_create_u32_array("histo_spinning", 0444, d_spin_debug,
-				     spinlock_stats.histo_spin_spinning, HISTO_BUCKETS + 1);
 	debugfs_create_u32_array("histo_blocked", 0444, d_spin_debug,
 				     spinlock_stats.histo_spin_blocked, HISTO_BUCKETS + 1);
 
 	return 0;
 }
 fs_initcall(xen_spinlock_debugfs);
-
 #endif	/* CONFIG_XEN_DEBUG_FS */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVW-0004lf-M9; Fri, 04 May 2012 09:08:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWTH-0004Sg-Fg
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:43 +0000
Received: from [85.158.138.51:46596] by server-11.bemta-3.messagelabs.com id
	C8/45-18894-E6701AF4; Wed, 02 May 2012 10:07:42 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1335953257!13784790!1
X-Originating-IP: [202.81.31.143]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MyA9PiAyNzEwNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13557 invoked from network); 2 May 2012 10:07:41 -0000
Received: from e23smtp01.au.ibm.com (HELO e23smtp01.au.ibm.com) (202.81.31.143)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:07:41 -0000
Received: from /spool/local
	by e23smtp01.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 09:59:33 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp01.au.ibm.com (202.81.31.207) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 09:59:30 +1000
Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A0fFN1822942
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:00:42 +1000
Received: from d23av03.au.ibm.com (loopback [127.0.0.1])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A7VMJ012837
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:07:33 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A7QkG012658; Wed, 2 May 2012 20:07:26 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:37:16 +0530
Message-Id: <20120502100716.13206.23938.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050123-1618-0000-0000-00000172F84E
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 5/17] xen/pvticketlock: Xen
	implementation for PV ticket locks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Replace the old Xen implementation of PV spinlocks with and implementation
of xen_lock_spinning and xen_unlock_kick.

xen_lock_spinning simply registers the cpu in its entry in lock_waiting,
adds itself to the waiting_cpus set, and blocks on an event channel
until the channel becomes pending.

xen_unlock_kick searches the cpus in waiting_cpus looking for the one
which next wants this lock with the next ticket, if any.  If found,
it kicks it by making its event channel pending, which wakes it up.

We need to make sure interrupts are disabled while we're relying on the
contents of the per-cpu lock_waiting values, otherwise an interrupt
handler could come in, try to take some other lock, block, and overwrite
our values.

Raghu: use function + enum instead of macro, cmpxchg for zero status reset

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/spinlock.c |  348 +++++++++++------------------------------------
 1 files changed, 78 insertions(+), 270 deletions(-)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index f1f4540..4e98a07 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -16,45 +16,44 @@
 #include "xen-ops.h"
 #include "debugfs.h"
 
-#ifdef CONFIG_XEN_DEBUG_FS
-static struct xen_spinlock_stats
-{
-	u64 taken;
-	u32 taken_slow;
-	u32 taken_slow_nested;
-	u32 taken_slow_pickup;
-	u32 taken_slow_spurious;
-	u32 taken_slow_irqenable;
+enum xen_contention_stat {
+	TAKEN_SLOW,
+	TAKEN_SLOW_PICKUP,
+	TAKEN_SLOW_SPURIOUS,
+	RELEASED_SLOW,
+	RELEASED_SLOW_KICKED,
+	NR_CONTENTION_STATS
+};
 
-	u64 released;
-	u32 released_slow;
-	u32 released_slow_kicked;
 
+#ifdef CONFIG_XEN_DEBUG_FS
 #define HISTO_BUCKETS	30
-	u32 histo_spin_total[HISTO_BUCKETS+1];
-	u32 histo_spin_spinning[HISTO_BUCKETS+1];
+static struct xen_spinlock_stats
+{
+	u32 contention_stats[NR_CONTENTION_STATS];
 	u32 histo_spin_blocked[HISTO_BUCKETS+1];
-
-	u64 time_total;
-	u64 time_spinning;
 	u64 time_blocked;
 } spinlock_stats;
 
 static u8 zero_stats;
 
-static unsigned lock_timeout = 1 << 10;
-#define TIMEOUT lock_timeout
-
 static inline void check_zero(void)
 {
-	if (unlikely(zero_stats)) {
-		memset(&spinlock_stats, 0, sizeof(spinlock_stats));
-		zero_stats = 0;
+	u8 ret;
+	u8 old = ACCESS_ONCE(zero_stats);
+	if (unlikely(old)) {
+		ret = cmpxchg(&zero_stats, old, 0);
+		/* This ensures only one fellow resets the stat */
+		if (ret == old)
+			memset(&spinlock_stats, 0, sizeof(spinlock_stats));
 	}
 }
 
-#define ADD_STATS(elem, val)			\
-	do { check_zero(); spinlock_stats.elem += (val); } while(0)
+static inline void add_stats(enum xen_contention_stat var, u32 val)
+{
+	check_zero();
+	spinlock_stats.contention_stats[var] += val;
+}
 
 static inline u64 spin_time_start(void)
 {
@@ -73,22 +72,6 @@ static void __spin_time_accum(u64 delta, u32 *array)
 		array[HISTO_BUCKETS]++;
 }
 
-static inline void spin_time_accum_spinning(u64 start)
-{
-	u32 delta = xen_clocksource_read() - start;
-
-	__spin_time_accum(delta, spinlock_stats.histo_spin_spinning);
-	spinlock_stats.time_spinning += delta;
-}
-
-static inline void spin_time_accum_total(u64 start)
-{
-	u32 delta = xen_clocksource_read() - start;
-
-	__spin_time_accum(delta, spinlock_stats.histo_spin_total);
-	spinlock_stats.time_total += delta;
-}
-
 static inline void spin_time_accum_blocked(u64 start)
 {
 	u32 delta = xen_clocksource_read() - start;
@@ -98,19 +81,15 @@ static inline void spin_time_accum_blocked(u64 start)
 }
 #else  /* !CONFIG_XEN_DEBUG_FS */
 #define TIMEOUT			(1 << 10)
-#define ADD_STATS(elem, val)	do { (void)(val); } while(0)
+static inline void add_stats(enum xen_contention_stat var, u32 val)
+{
+}
 
 static inline u64 spin_time_start(void)
 {
 	return 0;
 }
 
-static inline void spin_time_accum_total(u64 start)
-{
-}
-static inline void spin_time_accum_spinning(u64 start)
-{
-}
 static inline void spin_time_accum_blocked(u64 start)
 {
 }
@@ -133,230 +112,83 @@ typedef u16 xen_spinners_t;
 	asm(LOCK_PREFIX " decw %0" : "+m" ((xl)->spinners) : : "memory");
 #endif
 
-struct xen_spinlock {
-	unsigned char lock;		/* 0 -> free; 1 -> locked */
-	xen_spinners_t spinners;	/* count of waiting cpus */
+struct xen_lock_waiting {
+	struct arch_spinlock *lock;
+	__ticket_t want;
 };
 
 static DEFINE_PER_CPU(int, lock_kicker_irq) = -1;
+static DEFINE_PER_CPU(struct xen_lock_waiting, lock_waiting);
+static cpumask_t waiting_cpus;
 
-#if 0
-static int xen_spin_is_locked(struct arch_spinlock *lock)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-
-	return xl->lock != 0;
-}
-
-static int xen_spin_is_contended(struct arch_spinlock *lock)
+static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 {
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-
-	/* Not strictly true; this is only the count of contended
-	   lock-takers entering the slow path. */
-	return xl->spinners != 0;
-}
-
-static int xen_spin_trylock(struct arch_spinlock *lock)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-	u8 old = 1;
-
-	asm("xchgb %b0,%1"
-	    : "+q" (old), "+m" (xl->lock) : : "memory");
-
-	return old == 0;
-}
-
-static DEFINE_PER_CPU(struct xen_spinlock *, lock_spinners);
-
-/*
- * Mark a cpu as interested in a lock.  Returns the CPU's previous
- * lock of interest, in case we got preempted by an interrupt.
- */
-static inline struct xen_spinlock *spinning_lock(struct xen_spinlock *xl)
-{
-	struct xen_spinlock *prev;
-
-	prev = __this_cpu_read(lock_spinners);
-	__this_cpu_write(lock_spinners, xl);
-
-	wmb();			/* set lock of interest before count */
-
-	inc_spinners(xl);
-
-	return prev;
-}
-
-/*
- * Mark a cpu as no longer interested in a lock.  Restores previous
- * lock of interest (NULL for none).
- */
-static inline void unspinning_lock(struct xen_spinlock *xl, struct xen_spinlock *prev)
-{
-	dec_spinners(xl);
-	wmb();			/* decrement count before restoring lock */
-	__this_cpu_write(lock_spinners, prev);
-}
-
-static noinline int xen_spin_lock_slow(struct arch_spinlock *lock, bool irq_enable)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-	struct xen_spinlock *prev;
 	int irq = __this_cpu_read(lock_kicker_irq);
-	int ret;
+	struct xen_lock_waiting *w = &__get_cpu_var(lock_waiting);
+	int cpu = smp_processor_id();
 	u64 start;
+	unsigned long flags;
 
 	/* If kicker interrupts not initialized yet, just spin */
 	if (irq == -1)
-		return 0;
+		return;
 
 	start = spin_time_start();
 
-	/* announce we're spinning */
-	prev = spinning_lock(xl);
-
-	ADD_STATS(taken_slow, 1);
-	ADD_STATS(taken_slow_nested, prev != NULL);
-
-	do {
-		unsigned long flags;
-
-		/* clear pending */
-		xen_clear_irq_pending(irq);
-
-		/* check again make sure it didn't become free while
-		   we weren't looking  */
-		ret = xen_spin_trylock(lock);
-		if (ret) {
-			ADD_STATS(taken_slow_pickup, 1);
-
-			/*
-			 * If we interrupted another spinlock while it
-			 * was blocking, make sure it doesn't block
-			 * without rechecking the lock.
-			 */
-			if (prev != NULL)
-				xen_set_irq_pending(irq);
-			goto out;
-		}
+	/*
+	 * Make sure an interrupt handler can't upset things in a
+	 * partially setup state.
+	 */
+	local_irq_save(flags);
 
-		flags = arch_local_save_flags();
-		if (irq_enable) {
-			ADD_STATS(taken_slow_irqenable, 1);
-			raw_local_irq_enable();
-		}
+	w->want = want;
+	smp_wmb();
+	w->lock = lock;
 
-		/*
-		 * Block until irq becomes pending.  If we're
-		 * interrupted at this point (after the trylock but
-		 * before entering the block), then the nested lock
-		 * handler guarantees that the irq will be left
-		 * pending if there's any chance the lock became free;
-		 * xen_poll_irq() returns immediately if the irq is
-		 * pending.
-		 */
-		xen_poll_irq(irq);
+	/* This uses set_bit, which atomic and therefore a barrier */
+	cpumask_set_cpu(cpu, &waiting_cpus);
+	add_stats(TAKEN_SLOW, 1);
 
-		raw_local_irq_restore(flags);
+	/* clear pending */
+	xen_clear_irq_pending(irq);
 
-		ADD_STATS(taken_slow_spurious, !xen_test_irq_pending(irq));
-	} while (!xen_test_irq_pending(irq)); /* check for spurious wakeups */
+	/* Only check lock once pending cleared */
+	barrier();
 
+	/* check again make sure it didn't become free while
+	   we weren't looking  */
+	if (ACCESS_ONCE(lock->tickets.head) == want) {
+		add_stats(TAKEN_SLOW_PICKUP, 1);
+		goto out;
+	}
+	/* Block until irq becomes pending (or perhaps a spurious wakeup) */
+	xen_poll_irq(irq);
+	add_stats(TAKEN_SLOW_SPURIOUS, !xen_test_irq_pending(irq));
 	kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq));
-
 out:
-	unspinning_lock(xl, prev);
+	cpumask_clear_cpu(cpu, &waiting_cpus);
+	w->lock = NULL;
+	local_irq_restore(flags);
 	spin_time_accum_blocked(start);
-
-	return ret;
 }
 
-static inline void __xen_spin_lock(struct arch_spinlock *lock, bool irq_enable)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-	unsigned timeout;
-	u8 oldval;
-	u64 start_spin;
-
-	ADD_STATS(taken, 1);
-
-	start_spin = spin_time_start();
-
-	do {
-		u64 start_spin_fast = spin_time_start();
-
-		timeout = TIMEOUT;
-
-		asm("1: xchgb %1,%0\n"
-		    "   testb %1,%1\n"
-		    "   jz 3f\n"
-		    "2: rep;nop\n"
-		    "   cmpb $0,%0\n"
-		    "   je 1b\n"
-		    "   dec %2\n"
-		    "   jnz 2b\n"
-		    "3:\n"
-		    : "+m" (xl->lock), "=q" (oldval), "+r" (timeout)
-		    : "1" (1)
-		    : "memory");
-
-		spin_time_accum_spinning(start_spin_fast);
-
-	} while (unlikely(oldval != 0 &&
-			  (TIMEOUT == ~0 || !xen_spin_lock_slow(lock, irq_enable))));
-
-	spin_time_accum_total(start_spin);
-}
-
-static void xen_spin_lock(struct arch_spinlock *lock)
-{
-	__xen_spin_lock(lock, false);
-}
-
-static void xen_spin_lock_flags(struct arch_spinlock *lock, unsigned long flags)
-{
-	__xen_spin_lock(lock, !raw_irqs_disabled_flags(flags));
-}
-
-static noinline void xen_spin_unlock_slow(struct xen_spinlock *xl)
+static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
 {
 	int cpu;
 
-	ADD_STATS(released_slow, 1);
+	add_stats(RELEASED_SLOW, 1);
+
+	for_each_cpu(cpu, &waiting_cpus) {
+		const struct xen_lock_waiting *w = &per_cpu(lock_waiting, cpu);
 
-	for_each_online_cpu(cpu) {
-		/* XXX should mix up next cpu selection */
-		if (per_cpu(lock_spinners, cpu) == xl) {
-			ADD_STATS(released_slow_kicked, 1);
+		if (w->lock == lock && w->want == next) {
+			add_stats(RELEASED_SLOW_KICKED, 1);
 			xen_send_IPI_one(cpu, XEN_SPIN_UNLOCK_VECTOR);
 			break;
 		}
 	}
 }
 
-static void xen_spin_unlock(struct arch_spinlock *lock)
-{
-	struct xen_spinlock *xl = (struct xen_spinlock *)lock;
-
-	ADD_STATS(released, 1);
-
-	smp_wmb();		/* make sure no writes get moved after unlock */
-	xl->lock = 0;		/* release lock */
-
-	/*
-	 * Make sure unlock happens before checking for waiting
-	 * spinners.  We need a strong barrier to enforce the
-	 * write-read ordering to different memory locations, as the
-	 * CPU makes no implied guarantees about their ordering.
-	 */
-	mb();
-
-	if (unlikely(xl->spinners))
-		xen_spin_unlock_slow(xl);
-}
-#endif
-
 static irqreturn_t dummy_handler(int irq, void *dev_id)
 {
 	BUG();
@@ -391,15 +223,8 @@ void xen_uninit_lock_cpu(int cpu)
 
 void __init xen_init_spinlocks(void)
 {
-	BUILD_BUG_ON(sizeof(struct xen_spinlock) > sizeof(arch_spinlock_t));
-#if 0
-	pv_lock_ops.spin_is_locked = xen_spin_is_locked;
-	pv_lock_ops.spin_is_contended = xen_spin_is_contended;
-	pv_lock_ops.spin_lock = xen_spin_lock;
-	pv_lock_ops.spin_lock_flags = xen_spin_lock_flags;
-	pv_lock_ops.spin_trylock = xen_spin_trylock;
-	pv_lock_ops.spin_unlock = xen_spin_unlock;
-#endif
+	pv_lock_ops.lock_spinning = xen_lock_spinning;
+	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }
 
 #ifdef CONFIG_XEN_DEBUG_FS
@@ -417,42 +242,25 @@ static int __init xen_spinlock_debugfs(void)
 
 	debugfs_create_u8("zero_stats", 0644, d_spin_debug, &zero_stats);
 
-	debugfs_create_u32("timeout", 0644, d_spin_debug, &lock_timeout);
-
-	debugfs_create_u64("taken", 0444, d_spin_debug, &spinlock_stats.taken);
 	debugfs_create_u32("taken_slow", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow);
-	debugfs_create_u32("taken_slow_nested", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_nested);
+			   &spinlock_stats.contention_stats[TAKEN_SLOW]);
 	debugfs_create_u32("taken_slow_pickup", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_pickup);
+			   &spinlock_stats.contention_stats[TAKEN_SLOW_PICKUP]);
 	debugfs_create_u32("taken_slow_spurious", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_spurious);
-	debugfs_create_u32("taken_slow_irqenable", 0444, d_spin_debug,
-			   &spinlock_stats.taken_slow_irqenable);
+			   &spinlock_stats.contention_stats[TAKEN_SLOW_SPURIOUS]);
 
-	debugfs_create_u64("released", 0444, d_spin_debug, &spinlock_stats.released);
 	debugfs_create_u32("released_slow", 0444, d_spin_debug,
-			   &spinlock_stats.released_slow);
+			   &spinlock_stats.contention_stats[RELEASED_SLOW]);
 	debugfs_create_u32("released_slow_kicked", 0444, d_spin_debug,
-			   &spinlock_stats.released_slow_kicked);
+			   &spinlock_stats.contention_stats[RELEASED_SLOW_KICKED]);
 
-	debugfs_create_u64("time_spinning", 0444, d_spin_debug,
-			   &spinlock_stats.time_spinning);
 	debugfs_create_u64("time_blocked", 0444, d_spin_debug,
 			   &spinlock_stats.time_blocked);
-	debugfs_create_u64("time_total", 0444, d_spin_debug,
-			   &spinlock_stats.time_total);
 
-	debugfs_create_u32_array("histo_total", 0444, d_spin_debug,
-				     spinlock_stats.histo_spin_total, HISTO_BUCKETS + 1);
-	debugfs_create_u32_array("histo_spinning", 0444, d_spin_debug,
-				     spinlock_stats.histo_spin_spinning, HISTO_BUCKETS + 1);
 	debugfs_create_u32_array("histo_blocked", 0444, d_spin_debug,
 				     spinlock_stats.histo_spin_blocked, HISTO_BUCKETS + 1);
 
 	return 0;
 }
 fs_initcall(xen_spinlock_debugfs);
-
 #endif	/* CONFIG_XEN_DEBUG_FS */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVV-0004ke-2F; Fri, 04 May 2012 09:08:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSh-0004Qu-0W
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:07 +0000
Received: from [85.158.143.99:51288] by server-2.bemta-4.messagelabs.com id
	37/CF-17550-A4701AF4; Wed, 02 May 2012 10:07:06 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1335953221!20850473!1
X-Originating-IP: [202.81.31.143]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MyA9PiAyNzEwNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6822 invoked from network); 2 May 2012 10:07:04 -0000
Received: from e23smtp01.au.ibm.com (HELO e23smtp01.au.ibm.com) (202.81.31.143)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:07:04 -0000
Received: from /spool/local
	by e23smtp01.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 09:58:57 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp01.au.ibm.com (202.81.31.207) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 09:58:28 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q429xboM1994854
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 19:59:39 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A6Ojb018483
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:06:28 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A6J5Q018333; Wed, 2 May 2012 20:06:20 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:36:10 +0530
Message-Id: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050123-1618-0000-0000-00000172F7C4
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


This series replaces the existing paravirtualized spinlock mechanism
with a paravirtualized ticketlock mechanism. The series provides
implementation for both Xen and KVM.(targeted for 3.5 window)

Note: This needs debugfs changes patch that should be in Xen / linux-next
   https://lkml.org/lkml/2012/3/30/687

Changes in V8:
 - Reabsed patches to 3.4-rc4
 - Combined the KVM changes with ticketlock + Xen changes (Ingo)
 - Removed CAP_PV_UNHALT since it is redundant (Avi). But note that we
    need newer qemu which uses KVM_GET_SUPPORTED_CPUID ioctl.
 - Rewrite GET_MP_STATE condition (Avi)
 - Make pv_unhalt = bool (Avi)
 - Move out reset pv_unhalt code to vcpu_run from vcpu_block (Gleb)
 - Documentation changes (Rob Landley)
 - Have a printk to recognize that paravirt spinlock is enabled (Nikunj)
 - Move out kick hypercall out of CONFIG_PARAVIRT_SPINLOCK now
   so that it can be used for other optimizations such as 
   flush_tlb_ipi_others etc. (Nikunj)

Ticket locks have an inherent problem in a virtualized case, because
the vCPUs are scheduled rather than running concurrently (ignoring
gang scheduled vCPUs).  This can result in catastrophic performance
collapses when the vCPU scheduler doesn't schedule the correct "next"
vCPU, and ends up scheduling a vCPU which burns its entire timeslice
spinning.  (Note that this is not the same problem as lock-holder
preemption, which this series also addresses; that's also a problem,
but not catastrophic).

(See Thomas Friebel's talk "Prevent Guests from Spinning Around"
http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)

Currently we deal with this by having PV spinlocks, which adds a layer
of indirection in front of all the spinlock functions, and defining a
completely new implementation for Xen (and for other pvops users, but
there are none at present).

PV ticketlocks keeps the existing ticketlock implemenentation
(fastpath) as-is, but adds a couple of pvops for the slow paths:

- If a CPU has been waiting for a spinlock for SPIN_THRESHOLD
  iterations, then call out to the __ticket_lock_spinning() pvop,
  which allows a backend to block the vCPU rather than spinning.  This
  pvop can set the lock into "slowpath state".

- When releasing a lock, if it is in "slowpath state", the call
  __ticket_unlock_kick() to kick the next vCPU in line awake.  If the
  lock is no longer in contention, it also clears the slowpath flag.

The "slowpath state" is stored in the LSB of the within the lock tail
ticket.  This has the effect of reducing the max number of CPUs by
half (so, a "small ticket" can deal with 128 CPUs, and "large ticket"
32768).

For KVM, one hypercall is introduced in hypervisor,that allows a vcpu to kick
another vcpu out of halt state.
The blocking of vcpu is done using halt() in (lock_spinning) slowpath.

Overall, it results in a large reduction in code, it makes the native
and virtualized cases closer, and it removes a layer of indirection
around all the spinlock functions.

The fast path (taking an uncontended lock which isn't in "slowpath"
state) is optimal, identical to the non-paravirtualized case.

The inner part of ticket lock code becomes:
	inc = xadd(&lock->tickets, inc);
	inc.tail &= ~TICKET_SLOWPATH_FLAG;

	if (likely(inc.head == inc.tail))
		goto out;
	for (;;) {
		unsigned count = SPIN_THRESHOLD;
		do {
			if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
				goto out;
			cpu_relax();
		} while (--count);
		__ticket_lock_spinning(lock, inc.tail);
	}
out:	barrier();
which results in:
	push   %rbp
	mov    %rsp,%rbp

	mov    $0x200,%eax
	lock xadd %ax,(%rdi)
	movzbl %ah,%edx
	cmp    %al,%dl
	jne    1f	# Slowpath if lock in contention

	pop    %rbp
	retq   

	### SLOWPATH START
1:	and    $-2,%edx
	movzbl %dl,%esi

2:	mov    $0x800,%eax
	jmp    4f

3:	pause  
	sub    $0x1,%eax
	je     5f

4:	movzbl (%rdi),%ecx
	cmp    %cl,%dl
	jne    3b

	pop    %rbp
	retq   

5:	callq  *__ticket_lock_spinning
	jmp    2b
	### SLOWPATH END

with CONFIG_PARAVIRT_SPINLOCKS=n, the code has changed slightly, where
the fastpath case is straight through (taking the lock without
contention), and the spin loop is out of line:

	push   %rbp
	mov    %rsp,%rbp

	mov    $0x100,%eax
	lock xadd %ax,(%rdi)
	movzbl %ah,%edx
	cmp    %al,%dl
	jne    1f

	pop    %rbp
	retq   

	### SLOWPATH START
1:	pause  
	movzbl (%rdi),%eax
	cmp    %dl,%al
	jne    1b

	pop    %rbp
	retq   
	### SLOWPATH END

The unlock code is complicated by the need to both add to the lock's
"head" and fetch the slowpath flag from "tail".  This version of the
patch uses a locked add to do this, followed by a test to see if the
slowflag is set.  The lock prefix acts as a full memory barrier, so we
can be sure that other CPUs will have seen the unlock before we read
the flag (without the barrier the read could be fetched from the
store queue before it hits memory, which could result in a deadlock).

This is is all unnecessary complication if you're not using PV ticket
locks, it also uses the jump-label machinery to use the standard
"add"-based unlock in the non-PV case.

	if (TICKET_SLOWPATH_FLAG &&
	     static_key_false(&paravirt_ticketlocks_enabled))) {
		arch_spinlock_t prev;
		prev = *lock;
		add_smp(&lock->tickets.head, TICKET_LOCK_INC);

		/* add_smp() is a full mb() */
		if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
			__ticket_unlock_slowpath(lock, prev);
	} else
		__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
which generates:
	push   %rbp
	mov    %rsp,%rbp

	nop5	# replaced by 5-byte jmp 2f when PV enabled

	# non-PV unlock
	addb   $0x2,(%rdi)

1:	pop    %rbp
	retq   

### PV unlock ###
2:	movzwl (%rdi),%esi	# Fetch prev

	lock addb $0x2,(%rdi)	# Do unlock

	testb  $0x1,0x1(%rdi)	# Test flag
	je     1b		# Finished if not set

### Slow path ###
	add    $2,%sil		# Add "head" in old lock state
	mov    %esi,%edx
	and    $0xfe,%dh	# clear slowflag for comparison
	movzbl %dh,%eax
	cmp    %dl,%al		# If head == tail (uncontended)
	je     4f		# clear slowpath flag

	# Kick next CPU waiting for lock
3:	movzbl %sil,%esi
	callq  *pv_lock_ops.kick

	pop    %rbp
	retq   

	# Lock no longer contended - clear slowflag
4:	mov    %esi,%eax
	lock cmpxchg %dx,(%rdi)	# cmpxchg to clear flag
	cmp    %si,%ax
	jne    3b		# If clear failed, then kick

	pop    %rbp
	retq   

So when not using PV ticketlocks, the unlock sequence just has a
5-byte nop added to it, and the PV case is reasonable straightforward
aside from requiring a "lock add".

TODO: 1) Remove CONFIG_PARAVIRT_SPINLOCK ?
      2) Experiments on further optimization possibilities. (discussed in V6)
      3) Use kvm_irq_delivery_to_apic() in kvm hypercall (suggested by Gleb)
      4) Any cleanups for e.g. Xen/KVM common code for debugfs.

PS: TODOs are no blockers for the current series merge.

Results:
=======
various form of results based on V6 of the patch series are posted in following links
 
 https://lkml.org/lkml/2012/3/21/161
 https://lkml.org/lkml/2012/3/21/198

 kvm results:
 https://lkml.org/lkml/2012/3/23/50
 https://lkml.org/lkml/2012/4/5/73

Benchmarking on the current set of patches will be posted soon.

Thoughts? Comments? Suggestions?. It  would be nice to see
Acked-by/Reviewed-by/Tested-by for the patch series.
 
Jeremy Fitzhardinge (9):
  x86/spinlock: Replace pv spinlocks with pv ticketlocks
  x86/ticketlock: Collapse a layer of functions
  xen: Defer spinlock setup until boot CPU setup
  xen/pvticketlock: Xen implementation for PV ticket locks
  xen/pvticketlocks: Add xen_nopvspin parameter to disable xen pv
    ticketlocks
  x86/pvticketlock: Use callee-save for lock_spinning
  x86/pvticketlock: When paravirtualizing ticket locks, increment by 2
  x86/ticketlock: Add slowpath logic
  xen/pvticketlock: Allow interrupts to be enabled while blocking

Srivatsa Vaddagiri (3): 
  Add a hypercall to KVM hypervisor to support pv-ticketlocks
  Added configuration support to enable debug information for KVM Guests
  Paravirtual ticketlock support for linux guests running on KVM hypervisor

Raghavendra K T (3):
  x86/ticketlock: Don't inline _spin_unlock when using paravirt
    spinlocks
  Fold pv_unhalt flag into GET_MP_STATE ioctl to aid migration
  Add documentation on Hypercalls and features used for PV spinlock

Andrew Jones (1):
  Split out rate limiting from jump_label.h

Stefano Stabellini (1):
 xen: Enable PV ticketlocks on HVM Xen
---
PS: Had to trim down recipient list because, LKML archive does not support
list > 20. Though many more people should have been in To/CC list.

Ticketlock links:
V7 : https://lkml.org/lkml/2012/4/19/335 
V6 : https://lkml.org/lkml/2012/3/21/161

KVM patch links:
 V6: https://lkml.org/lkml/2012/4/23/123

 V5 kernel changes:
 https://lkml.org/lkml/2012/3/23/50
 Qemu changes for V5:
 http://lists.gnu.org/archive/html/qemu-devel/2012-03/msg04455.html 

 V4 kernel changes:
 https://lkml.org/lkml/2012/1/14/66
 Qemu changes for V4:
 http://www.mail-archive.com/kvm@vger.kernel.org/msg66450.html

 V3 kernel Changes:
 https://lkml.org/lkml/2011/11/30/62
 Qemu patch for V3:
 http://lists.gnu.org/archive/html/qemu-devel/2011-12/msg00397.html

 V2 kernel changes : 
 https://lkml.org/lkml/2011/10/23/207

 Previous discussions : (posted by Srivatsa V).
 https://lkml.org/lkml/2010/7/26/24
 https://lkml.org/lkml/2011/1/19/212

Ticketlock change history:
Changes in V7:
 - Reabsed patches to 3.4-rc3
 - Added jumplabel split patch (originally from Andrew Jones rebased to
    3.4-rc3
 - jumplabel changes from Ingo and Jason taken and now using static_key_*
    instead of static_branch.
 - using UNINLINE_SPIN_UNLOCK (which was splitted as per suggestion from Linus)
 - This patch series is rebased on debugfs patch (that sould be already in
    Xen/linux-next https://lkml.org/lkml/2012/3/23/51)

Changes in V6 posting: (Raghavendra K T)
 - Rebased to linux-3.3-rc6.
 - used function+enum in place of macro (better type checking) 
 - use cmpxchg while resetting zero status for possible race
	[suggested by Dave Hansen for KVM patches ]

KVM patch Change history:
Changes in V6:
- Rebased to 3.4-rc3
- Removed debugfs changes patch which should now be in Xen/linux-next.
  (https://lkml.org/lkml/2012/3/30/687)
- Removed PV_UNHALT_MSR since currently we don't need guest communication,
  and made pv_unhalt folded to GET_MP_STATE (Marcello, Avi[long back])
- Take jumplabel changes from Ingo/Jason into use (static_key_slow_inc usage)
- Added inline to spinlock_init in non PARAVIRT case
- Move arch specific code to arch/x86 and add stubs to other archs (Marcello)
- Added more comments on pv_unhalt usage etc (Marcello)

Changes in V5:
- rebased to 3.3-rc6
- added PV_UNHALT_MSR that would help in live migration (Avi)
- removed PV_LOCK_KICK vcpu request and pv_unhalt flag (re)added.
- Changed hypercall documentaion (Alex).
- mode_t changed to umode_t in debugfs.
- MSR related documentation added.
- rename PV_LOCK_KICK to PV_UNHALT. 
- host and guest patches not mixed. (Marcelo, Alex)
- kvm_kick_cpu now takes cpu so it can be used by flush_tlb_ipi_other 
   paravirtualization (Nikunj)
- coding style changes in variable declarion etc (Srikar)

Changes in V4:
- reabsed to 3.2.0 pre.
- use APIC ID for kicking the vcpu and use kvm_apic_match_dest for matching (Avi)
- fold vcpu->kicked flag into vcpu->requests (KVM_REQ_PVLOCK_KICK) and related 
  changes for UNHALT path to make pv ticket spinlock migration friendly(Avi, Marcello)
- Added Documentation for CPUID, Hypercall (KVM_HC_KICK_CPU)
  and capabilty (KVM_CAP_PVLOCK_KICK) (Avi)
- Remove unneeded kvm_arch_vcpu_ioctl_set_mpstate call. (Marcello)
- cumulative variable type changed (int ==> u32) in add_stat (Konrad)
- remove unneeded kvm_guest_init for !CONFIG_KVM_GUEST case

Changes in V3:
- rebased to 3.2-rc1
- use halt() instead of wait for kick hypercall.
- modify kick hyper call to do wakeup halted vcpu.
- hook kvm_spinlock_init to smp_prepare_cpus call (moved the call out of head##.c).
- fix the potential race when zero_stat is read.
- export debugfs_create_32 and add documentation to API.
- use static inline and enum instead of ADDSTAT macro. 
- add  barrier() in after setting kick_vcpu.
- empty static inline function for kvm_spinlock_init.
- combine the patches one and two readuce overhead.
- make KVM_DEBUGFS depends on DEBUGFS.
- include debugfs header unconditionally.

Changes in V2:
- rebased patchesto -rc9
- synchronization related changes based on Jeremy's changes 
 (Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>) pointed by 
 Stephan Diestelhorst <stephan.diestelhorst@amd.com>
- enabling 32 bit guests
- splitted patches into two more chunks

 Documentation/virtual/kvm/cpuid.txt      |    4 +
 Documentation/virtual/kvm/hypercalls.txt |   60 +++++
 arch/x86/Kconfig                         |   10 +
 arch/x86/include/asm/kvm_host.h          |    4 +
 arch/x86/include/asm/kvm_para.h          |   16 +-
 arch/x86/include/asm/paravirt.h          |   32 +--
 arch/x86/include/asm/paravirt_types.h    |   10 +-
 arch/x86/include/asm/spinlock.h          |  128 +++++++----
 arch/x86/include/asm/spinlock_types.h    |   16 +-
 arch/x86/kernel/kvm.c                    |  256 ++++++++++++++++++++
 arch/x86/kernel/paravirt-spinlocks.c     |   18 +-
 arch/x86/kvm/cpuid.c                     |    3 +-
 arch/x86/kvm/x86.c                       |   44 ++++-
 arch/x86/xen/smp.c                       |    3 +-
 arch/x86/xen/spinlock.c                  |  387 ++++++++++--------------------
 include/linux/jump_label.h               |   26 +--
 include/linux/jump_label_ratelimit.h     |   34 +++
 include/linux/kvm_para.h                 |    1 +
 include/linux/perf_event.h               |    1 +
 kernel/jump_label.c                      |    1 +
 20 files changed, 673 insertions(+), 381 deletions(-)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVU-0004kE-93; Fri, 04 May 2012 09:08:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPClb-0006vW-Iz
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 13:05:19 +0000
Received: from [85.158.139.83:22331] by server-4.bemta-5.messagelabs.com id
	13/A8-10788-E8FDF9F4; Tue, 01 May 2012 13:05:18 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1335877514!25570809!1
X-Originating-IP: [202.81.31.145]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NSA9PiAyNDg0MzM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21637 invoked from network); 1 May 2012 13:05:17 -0000
Received: from e23smtp03.au.ibm.com (HELO e23smtp03.au.ibm.com) (202.81.31.145)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 13:05:17 -0000
Received: from /spool/local
	by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 1 May 2012 12:55:37 +1000
Received: from d23relay05.au.ibm.com (202.81.31.247)
	by e23smtp03.au.ibm.com (202.81.31.209) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 1 May 2012 12:55:32 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q41Cw66u2093126
	for <xen-devel@lists.xensource.com>; Tue, 1 May 2012 22:58:08 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q41D4u2Q005512
	for <xen-devel@lists.xensource.com>; Tue, 1 May 2012 23:04:58 +1000
Received: from [9.79.194.34] ([9.79.194.34])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q41D4nGN005420; Tue, 1 May 2012 23:04:50 +1000
Message-ID: <4F9FDF69.8090101@linux.vnet.ibm.com>
Date: Tue, 01 May 2012 18:34:41 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <20120419201209.5411.43877.sendpatchset@codeblue>
	<1335876646.6038.101.camel@zakaz.uk.xensource.com>
In-Reply-To: <1335876646.6038.101.camel@zakaz.uk.xensource.com>
x-cbid: 12050102-6102-0000-0000-0000015A3BFF
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Andrew Jones <drjones@redhat.com>,
	Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Peter Zijlstra <peterz@infradead.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Attilio Rao <attilio.rao@citrix.com>,
	Ingo Molnar <mingo@elte.hu>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Avi Kivity <avi@redhat.com>
Subject: Re: [Xen-devel] [PATCH RFC V7 0/12] Paravirtualized ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/01/2012 06:20 PM, Ian Campbell wrote:
> On Thu, 2012-04-19 at 21:12 +0100, Raghavendra K T wrote:
>> From: Jeremy Fitzhardinge<jeremy.fitzhardinge@citrix.com>
>>
>> This series replaces the existing paravirtualized spinlock mechanism
>> with a paravirtualized ticketlock mechanism. (targeted for 3.5 window)
>
> Which tree is this series going through, tip.git I guess?
>
> I don't see it there.
>
> Ian.
>

Yes you are right.

I am trying to post ticketlock + xen + kvm patches series in one
go. There are some discussions on kvm patches last few days. So I am
putting up all of them together now.  I am planning to post within 
half/one day.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVX-0004m0-2c; Fri, 04 May 2012 09:08:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWTb-0004T4-2J
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:03 +0000
Received: from [85.158.138.51:48896] by server-4.bemta-3.messagelabs.com id
	84/CA-15341-28701AF4; Wed, 02 May 2012 10:08:02 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1335953268!20717950!1
X-Originating-IP: [122.248.162.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMyA9PiAxODk1OTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14407 invoked from network); 2 May 2012 10:08:00 -0000
Received: from e28smtp03.in.ibm.com (HELO e28smtp03.in.ibm.com) (122.248.162.3)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:08:00 -0000
Received: from /spool/local
	by e28smtp03.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:37:46 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp03.in.ibm.com (192.168.1.133) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:37:44 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A7hdZ28639338
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:37:43 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FavL1000576
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:36:59 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FauMB000537; Thu, 3 May 2012 01:36:56 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:37:32 +0530
Message-Id: <20120502100732.13206.30121.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-3864-0000-0000-00000285335A
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 6/17] xen/pvticketlocks: Add xen_nopvspin
	parameter to disable xen pv ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/spinlock.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 4e98a07..c4886dc 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -221,12 +221,26 @@ void xen_uninit_lock_cpu(int cpu)
 	unbind_from_irqhandler(per_cpu(lock_kicker_irq, cpu), NULL);
 }
 
+static bool xen_pvspin __initdata = true;
+
 void __init xen_init_spinlocks(void)
 {
+	if (!xen_pvspin) {
+		printk(KERN_DEBUG "xen: PV spinlocks disabled\n");
+		return;
+	}
+
 	pv_lock_ops.lock_spinning = xen_lock_spinning;
 	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }
 
+static __init int xen_parse_nopvspin(char *arg)
+{
+	xen_pvspin = false;
+	return 0;
+}
+early_param("xen_nopvspin", xen_parse_nopvspin);
+
 #ifdef CONFIG_XEN_DEBUG_FS
 
 static struct dentry *d_spin_debug;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVY-0004no-Ri; Fri, 04 May 2012 09:09:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUL-0004Um-FF
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:49 +0000
Received: from [85.158.143.99:28650] by server-3.bemta-4.messagelabs.com id
	43/E7-05853-0B701AF4; Wed, 02 May 2012 10:08:48 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1335953324!16494300!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxODg5MTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22099 invoked from network); 2 May 2012 10:08:47 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:08:47 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:44 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:38:43 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A8gp829556792
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:38:42 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FcSCs014997
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:30 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FcR6k014974; Thu, 3 May 2012 01:38:27 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:38:30 +0530
Message-Id: <20120502100830.13206.31058.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-9574-0000-0000-000002725812
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 11/17] xen/pvticketlock: Allow interrupts
	to be enabled while blocking
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

If interrupts were enabled when taking the spinlock, we can leave them
enabled while blocking to get the lock.

If we can enable interrupts while waiting for the lock to become
available, and we take an interrupt before entering the poll,
and the handler takes a spinlock which ends up going into
the slow state (invalidating the per-cpu "lock" and "want" values),
then when the interrupt handler returns the event channel will
remain pending so the poll will return immediately, causing it to
return out to the main spinlock loop.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/spinlock.c |   46 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index d4abaf9..3bf93d5 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -140,7 +140,20 @@ static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 	 * partially setup state.
 	 */
 	local_irq_save(flags);
-
+	/*
+	 * We don't really care if we're overwriting some other
+	 * (lock,want) pair, as that would mean that we're currently
+	 * in an interrupt context, and the outer context had
+	 * interrupts enabled.  That has already kicked the VCPU out
+	 * of xen_poll_irq(), so it will just return spuriously and
+	 * retry with newly setup (lock,want).
+	 *
+	 * The ordering protocol on this is that the "lock" pointer
+	 * may only be set non-NULL if the "want" ticket is correct.
+	 * If we're updating "want", we must first clear "lock".
+	 */
+	w->lock = NULL;
+	smp_wmb();
 	w->want = want;
 	smp_wmb();
 	w->lock = lock;
@@ -155,24 +168,43 @@ static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 	/* Only check lock once pending cleared */
 	barrier();
 
-	/* Mark entry to slowpath before doing the pickup test to make
-	   sure we don't deadlock with an unlocker. */
+	/*
+	 * Mark entry to slowpath before doing the pickup test to make
+	 * sure we don't deadlock with an unlocker.
+	 */
 	__ticket_enter_slowpath(lock);
 
-	/* check again make sure it didn't become free while
-	   we weren't looking  */
+	/*
+	 * check again make sure it didn't become free while
+	 * we weren't looking
+	 */
 	if (ACCESS_ONCE(lock->tickets.head) == want) {
 		add_stats(TAKEN_SLOW_PICKUP, 1);
 		goto out;
 	}
+
+	/* Allow interrupts while blocked */
+	local_irq_restore(flags);
+
+	/*
+	 * If an interrupt happens here, it will leave the wakeup irq
+	 * pending, which will cause xen_poll_irq() to return
+	 * immediately.
+	 */
+
 	/* Block until irq becomes pending (or perhaps a spurious wakeup) */
 	xen_poll_irq(irq);
 	add_stats(TAKEN_SLOW_SPURIOUS, !xen_test_irq_pending(irq));
+
+	local_irq_save(flags);
+
 	kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq));
 out:
 	cpumask_clear_cpu(cpu, &waiting_cpus);
 	w->lock = NULL;
+
 	local_irq_restore(flags);
+
 	spin_time_accum_blocked(start);
 }
 PV_CALLEE_SAVE_REGS_THUNK(xen_lock_spinning);
@@ -186,7 +218,9 @@ static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
 	for_each_cpu(cpu, &waiting_cpus) {
 		const struct xen_lock_waiting *w = &per_cpu(lock_waiting, cpu);
 
-		if (w->lock == lock && w->want == next) {
+		/* Make sure we read lock before want */
+		if (ACCESS_ONCE(w->lock) == lock &&
+		    ACCESS_ONCE(w->want) == next) {
 			add_stats(RELEASED_SLOW_KICKED, 1);
 			xen_send_IPI_one(cpu, XEN_SPIN_UNLOCK_VECTOR);
 			break;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVV-0004ke-2F; Fri, 04 May 2012 09:08:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSh-0004Qu-0W
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:07 +0000
Received: from [85.158.143.99:51288] by server-2.bemta-4.messagelabs.com id
	37/CF-17550-A4701AF4; Wed, 02 May 2012 10:07:06 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1335953221!20850473!1
X-Originating-IP: [202.81.31.143]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MyA9PiAyNzEwNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6822 invoked from network); 2 May 2012 10:07:04 -0000
Received: from e23smtp01.au.ibm.com (HELO e23smtp01.au.ibm.com) (202.81.31.143)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:07:04 -0000
Received: from /spool/local
	by e23smtp01.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 09:58:57 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp01.au.ibm.com (202.81.31.207) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 09:58:28 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q429xboM1994854
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 19:59:39 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A6Ojb018483
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:06:28 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A6J5Q018333; Wed, 2 May 2012 20:06:20 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:36:10 +0530
Message-Id: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050123-1618-0000-0000-00000172F7C4
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


This series replaces the existing paravirtualized spinlock mechanism
with a paravirtualized ticketlock mechanism. The series provides
implementation for both Xen and KVM.(targeted for 3.5 window)

Note: This needs debugfs changes patch that should be in Xen / linux-next
   https://lkml.org/lkml/2012/3/30/687

Changes in V8:
 - Reabsed patches to 3.4-rc4
 - Combined the KVM changes with ticketlock + Xen changes (Ingo)
 - Removed CAP_PV_UNHALT since it is redundant (Avi). But note that we
    need newer qemu which uses KVM_GET_SUPPORTED_CPUID ioctl.
 - Rewrite GET_MP_STATE condition (Avi)
 - Make pv_unhalt = bool (Avi)
 - Move out reset pv_unhalt code to vcpu_run from vcpu_block (Gleb)
 - Documentation changes (Rob Landley)
 - Have a printk to recognize that paravirt spinlock is enabled (Nikunj)
 - Move out kick hypercall out of CONFIG_PARAVIRT_SPINLOCK now
   so that it can be used for other optimizations such as 
   flush_tlb_ipi_others etc. (Nikunj)

Ticket locks have an inherent problem in a virtualized case, because
the vCPUs are scheduled rather than running concurrently (ignoring
gang scheduled vCPUs).  This can result in catastrophic performance
collapses when the vCPU scheduler doesn't schedule the correct "next"
vCPU, and ends up scheduling a vCPU which burns its entire timeslice
spinning.  (Note that this is not the same problem as lock-holder
preemption, which this series also addresses; that's also a problem,
but not catastrophic).

(See Thomas Friebel's talk "Prevent Guests from Spinning Around"
http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)

Currently we deal with this by having PV spinlocks, which adds a layer
of indirection in front of all the spinlock functions, and defining a
completely new implementation for Xen (and for other pvops users, but
there are none at present).

PV ticketlocks keeps the existing ticketlock implemenentation
(fastpath) as-is, but adds a couple of pvops for the slow paths:

- If a CPU has been waiting for a spinlock for SPIN_THRESHOLD
  iterations, then call out to the __ticket_lock_spinning() pvop,
  which allows a backend to block the vCPU rather than spinning.  This
  pvop can set the lock into "slowpath state".

- When releasing a lock, if it is in "slowpath state", the call
  __ticket_unlock_kick() to kick the next vCPU in line awake.  If the
  lock is no longer in contention, it also clears the slowpath flag.

The "slowpath state" is stored in the LSB of the within the lock tail
ticket.  This has the effect of reducing the max number of CPUs by
half (so, a "small ticket" can deal with 128 CPUs, and "large ticket"
32768).

For KVM, one hypercall is introduced in hypervisor,that allows a vcpu to kick
another vcpu out of halt state.
The blocking of vcpu is done using halt() in (lock_spinning) slowpath.

Overall, it results in a large reduction in code, it makes the native
and virtualized cases closer, and it removes a layer of indirection
around all the spinlock functions.

The fast path (taking an uncontended lock which isn't in "slowpath"
state) is optimal, identical to the non-paravirtualized case.

The inner part of ticket lock code becomes:
	inc = xadd(&lock->tickets, inc);
	inc.tail &= ~TICKET_SLOWPATH_FLAG;

	if (likely(inc.head == inc.tail))
		goto out;
	for (;;) {
		unsigned count = SPIN_THRESHOLD;
		do {
			if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
				goto out;
			cpu_relax();
		} while (--count);
		__ticket_lock_spinning(lock, inc.tail);
	}
out:	barrier();
which results in:
	push   %rbp
	mov    %rsp,%rbp

	mov    $0x200,%eax
	lock xadd %ax,(%rdi)
	movzbl %ah,%edx
	cmp    %al,%dl
	jne    1f	# Slowpath if lock in contention

	pop    %rbp
	retq   

	### SLOWPATH START
1:	and    $-2,%edx
	movzbl %dl,%esi

2:	mov    $0x800,%eax
	jmp    4f

3:	pause  
	sub    $0x1,%eax
	je     5f

4:	movzbl (%rdi),%ecx
	cmp    %cl,%dl
	jne    3b

	pop    %rbp
	retq   

5:	callq  *__ticket_lock_spinning
	jmp    2b
	### SLOWPATH END

with CONFIG_PARAVIRT_SPINLOCKS=n, the code has changed slightly, where
the fastpath case is straight through (taking the lock without
contention), and the spin loop is out of line:

	push   %rbp
	mov    %rsp,%rbp

	mov    $0x100,%eax
	lock xadd %ax,(%rdi)
	movzbl %ah,%edx
	cmp    %al,%dl
	jne    1f

	pop    %rbp
	retq   

	### SLOWPATH START
1:	pause  
	movzbl (%rdi),%eax
	cmp    %dl,%al
	jne    1b

	pop    %rbp
	retq   
	### SLOWPATH END

The unlock code is complicated by the need to both add to the lock's
"head" and fetch the slowpath flag from "tail".  This version of the
patch uses a locked add to do this, followed by a test to see if the
slowflag is set.  The lock prefix acts as a full memory barrier, so we
can be sure that other CPUs will have seen the unlock before we read
the flag (without the barrier the read could be fetched from the
store queue before it hits memory, which could result in a deadlock).

This is is all unnecessary complication if you're not using PV ticket
locks, it also uses the jump-label machinery to use the standard
"add"-based unlock in the non-PV case.

	if (TICKET_SLOWPATH_FLAG &&
	     static_key_false(&paravirt_ticketlocks_enabled))) {
		arch_spinlock_t prev;
		prev = *lock;
		add_smp(&lock->tickets.head, TICKET_LOCK_INC);

		/* add_smp() is a full mb() */
		if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
			__ticket_unlock_slowpath(lock, prev);
	} else
		__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
which generates:
	push   %rbp
	mov    %rsp,%rbp

	nop5	# replaced by 5-byte jmp 2f when PV enabled

	# non-PV unlock
	addb   $0x2,(%rdi)

1:	pop    %rbp
	retq   

### PV unlock ###
2:	movzwl (%rdi),%esi	# Fetch prev

	lock addb $0x2,(%rdi)	# Do unlock

	testb  $0x1,0x1(%rdi)	# Test flag
	je     1b		# Finished if not set

### Slow path ###
	add    $2,%sil		# Add "head" in old lock state
	mov    %esi,%edx
	and    $0xfe,%dh	# clear slowflag for comparison
	movzbl %dh,%eax
	cmp    %dl,%al		# If head == tail (uncontended)
	je     4f		# clear slowpath flag

	# Kick next CPU waiting for lock
3:	movzbl %sil,%esi
	callq  *pv_lock_ops.kick

	pop    %rbp
	retq   

	# Lock no longer contended - clear slowflag
4:	mov    %esi,%eax
	lock cmpxchg %dx,(%rdi)	# cmpxchg to clear flag
	cmp    %si,%ax
	jne    3b		# If clear failed, then kick

	pop    %rbp
	retq   

So when not using PV ticketlocks, the unlock sequence just has a
5-byte nop added to it, and the PV case is reasonable straightforward
aside from requiring a "lock add".

TODO: 1) Remove CONFIG_PARAVIRT_SPINLOCK ?
      2) Experiments on further optimization possibilities. (discussed in V6)
      3) Use kvm_irq_delivery_to_apic() in kvm hypercall (suggested by Gleb)
      4) Any cleanups for e.g. Xen/KVM common code for debugfs.

PS: TODOs are no blockers for the current series merge.

Results:
=======
various form of results based on V6 of the patch series are posted in following links
 
 https://lkml.org/lkml/2012/3/21/161
 https://lkml.org/lkml/2012/3/21/198

 kvm results:
 https://lkml.org/lkml/2012/3/23/50
 https://lkml.org/lkml/2012/4/5/73

Benchmarking on the current set of patches will be posted soon.

Thoughts? Comments? Suggestions?. It  would be nice to see
Acked-by/Reviewed-by/Tested-by for the patch series.
 
Jeremy Fitzhardinge (9):
  x86/spinlock: Replace pv spinlocks with pv ticketlocks
  x86/ticketlock: Collapse a layer of functions
  xen: Defer spinlock setup until boot CPU setup
  xen/pvticketlock: Xen implementation for PV ticket locks
  xen/pvticketlocks: Add xen_nopvspin parameter to disable xen pv
    ticketlocks
  x86/pvticketlock: Use callee-save for lock_spinning
  x86/pvticketlock: When paravirtualizing ticket locks, increment by 2
  x86/ticketlock: Add slowpath logic
  xen/pvticketlock: Allow interrupts to be enabled while blocking

Srivatsa Vaddagiri (3): 
  Add a hypercall to KVM hypervisor to support pv-ticketlocks
  Added configuration support to enable debug information for KVM Guests
  Paravirtual ticketlock support for linux guests running on KVM hypervisor

Raghavendra K T (3):
  x86/ticketlock: Don't inline _spin_unlock when using paravirt
    spinlocks
  Fold pv_unhalt flag into GET_MP_STATE ioctl to aid migration
  Add documentation on Hypercalls and features used for PV spinlock

Andrew Jones (1):
  Split out rate limiting from jump_label.h

Stefano Stabellini (1):
 xen: Enable PV ticketlocks on HVM Xen
---
PS: Had to trim down recipient list because, LKML archive does not support
list > 20. Though many more people should have been in To/CC list.

Ticketlock links:
V7 : https://lkml.org/lkml/2012/4/19/335 
V6 : https://lkml.org/lkml/2012/3/21/161

KVM patch links:
 V6: https://lkml.org/lkml/2012/4/23/123

 V5 kernel changes:
 https://lkml.org/lkml/2012/3/23/50
 Qemu changes for V5:
 http://lists.gnu.org/archive/html/qemu-devel/2012-03/msg04455.html 

 V4 kernel changes:
 https://lkml.org/lkml/2012/1/14/66
 Qemu changes for V4:
 http://www.mail-archive.com/kvm@vger.kernel.org/msg66450.html

 V3 kernel Changes:
 https://lkml.org/lkml/2011/11/30/62
 Qemu patch for V3:
 http://lists.gnu.org/archive/html/qemu-devel/2011-12/msg00397.html

 V2 kernel changes : 
 https://lkml.org/lkml/2011/10/23/207

 Previous discussions : (posted by Srivatsa V).
 https://lkml.org/lkml/2010/7/26/24
 https://lkml.org/lkml/2011/1/19/212

Ticketlock change history:
Changes in V7:
 - Reabsed patches to 3.4-rc3
 - Added jumplabel split patch (originally from Andrew Jones rebased to
    3.4-rc3
 - jumplabel changes from Ingo and Jason taken and now using static_key_*
    instead of static_branch.
 - using UNINLINE_SPIN_UNLOCK (which was splitted as per suggestion from Linus)
 - This patch series is rebased on debugfs patch (that sould be already in
    Xen/linux-next https://lkml.org/lkml/2012/3/23/51)

Changes in V6 posting: (Raghavendra K T)
 - Rebased to linux-3.3-rc6.
 - used function+enum in place of macro (better type checking) 
 - use cmpxchg while resetting zero status for possible race
	[suggested by Dave Hansen for KVM patches ]

KVM patch Change history:
Changes in V6:
- Rebased to 3.4-rc3
- Removed debugfs changes patch which should now be in Xen/linux-next.
  (https://lkml.org/lkml/2012/3/30/687)
- Removed PV_UNHALT_MSR since currently we don't need guest communication,
  and made pv_unhalt folded to GET_MP_STATE (Marcello, Avi[long back])
- Take jumplabel changes from Ingo/Jason into use (static_key_slow_inc usage)
- Added inline to spinlock_init in non PARAVIRT case
- Move arch specific code to arch/x86 and add stubs to other archs (Marcello)
- Added more comments on pv_unhalt usage etc (Marcello)

Changes in V5:
- rebased to 3.3-rc6
- added PV_UNHALT_MSR that would help in live migration (Avi)
- removed PV_LOCK_KICK vcpu request and pv_unhalt flag (re)added.
- Changed hypercall documentaion (Alex).
- mode_t changed to umode_t in debugfs.
- MSR related documentation added.
- rename PV_LOCK_KICK to PV_UNHALT. 
- host and guest patches not mixed. (Marcelo, Alex)
- kvm_kick_cpu now takes cpu so it can be used by flush_tlb_ipi_other 
   paravirtualization (Nikunj)
- coding style changes in variable declarion etc (Srikar)

Changes in V4:
- reabsed to 3.2.0 pre.
- use APIC ID for kicking the vcpu and use kvm_apic_match_dest for matching (Avi)
- fold vcpu->kicked flag into vcpu->requests (KVM_REQ_PVLOCK_KICK) and related 
  changes for UNHALT path to make pv ticket spinlock migration friendly(Avi, Marcello)
- Added Documentation for CPUID, Hypercall (KVM_HC_KICK_CPU)
  and capabilty (KVM_CAP_PVLOCK_KICK) (Avi)
- Remove unneeded kvm_arch_vcpu_ioctl_set_mpstate call. (Marcello)
- cumulative variable type changed (int ==> u32) in add_stat (Konrad)
- remove unneeded kvm_guest_init for !CONFIG_KVM_GUEST case

Changes in V3:
- rebased to 3.2-rc1
- use halt() instead of wait for kick hypercall.
- modify kick hyper call to do wakeup halted vcpu.
- hook kvm_spinlock_init to smp_prepare_cpus call (moved the call out of head##.c).
- fix the potential race when zero_stat is read.
- export debugfs_create_32 and add documentation to API.
- use static inline and enum instead of ADDSTAT macro. 
- add  barrier() in after setting kick_vcpu.
- empty static inline function for kvm_spinlock_init.
- combine the patches one and two readuce overhead.
- make KVM_DEBUGFS depends on DEBUGFS.
- include debugfs header unconditionally.

Changes in V2:
- rebased patchesto -rc9
- synchronization related changes based on Jeremy's changes 
 (Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>) pointed by 
 Stephan Diestelhorst <stephan.diestelhorst@amd.com>
- enabling 32 bit guests
- splitted patches into two more chunks

 Documentation/virtual/kvm/cpuid.txt      |    4 +
 Documentation/virtual/kvm/hypercalls.txt |   60 +++++
 arch/x86/Kconfig                         |   10 +
 arch/x86/include/asm/kvm_host.h          |    4 +
 arch/x86/include/asm/kvm_para.h          |   16 +-
 arch/x86/include/asm/paravirt.h          |   32 +--
 arch/x86/include/asm/paravirt_types.h    |   10 +-
 arch/x86/include/asm/spinlock.h          |  128 +++++++----
 arch/x86/include/asm/spinlock_types.h    |   16 +-
 arch/x86/kernel/kvm.c                    |  256 ++++++++++++++++++++
 arch/x86/kernel/paravirt-spinlocks.c     |   18 +-
 arch/x86/kvm/cpuid.c                     |    3 +-
 arch/x86/kvm/x86.c                       |   44 ++++-
 arch/x86/xen/smp.c                       |    3 +-
 arch/x86/xen/spinlock.c                  |  387 ++++++++++--------------------
 include/linux/jump_label.h               |   26 +--
 include/linux/jump_label_ratelimit.h     |   34 +++
 include/linux/kvm_para.h                 |    1 +
 include/linux/perf_event.h               |    1 +
 kernel/jump_label.c                      |    1 +
 20 files changed, 673 insertions(+), 381 deletions(-)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVU-0004kE-93; Fri, 04 May 2012 09:08:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPClb-0006vW-Iz
	for xen-devel@lists.xensource.com; Tue, 01 May 2012 13:05:19 +0000
Received: from [85.158.139.83:22331] by server-4.bemta-5.messagelabs.com id
	13/A8-10788-E8FDF9F4; Tue, 01 May 2012 13:05:18 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1335877514!25570809!1
X-Originating-IP: [202.81.31.145]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NSA9PiAyNDg0MzM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21637 invoked from network); 1 May 2012 13:05:17 -0000
Received: from e23smtp03.au.ibm.com (HELO e23smtp03.au.ibm.com) (202.81.31.145)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 1 May 2012 13:05:17 -0000
Received: from /spool/local
	by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 1 May 2012 12:55:37 +1000
Received: from d23relay05.au.ibm.com (202.81.31.247)
	by e23smtp03.au.ibm.com (202.81.31.209) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 1 May 2012 12:55:32 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q41Cw66u2093126
	for <xen-devel@lists.xensource.com>; Tue, 1 May 2012 22:58:08 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q41D4u2Q005512
	for <xen-devel@lists.xensource.com>; Tue, 1 May 2012 23:04:58 +1000
Received: from [9.79.194.34] ([9.79.194.34])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q41D4nGN005420; Tue, 1 May 2012 23:04:50 +1000
Message-ID: <4F9FDF69.8090101@linux.vnet.ibm.com>
Date: Tue, 01 May 2012 18:34:41 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <20120419201209.5411.43877.sendpatchset@codeblue>
	<1335876646.6038.101.camel@zakaz.uk.xensource.com>
In-Reply-To: <1335876646.6038.101.camel@zakaz.uk.xensource.com>
x-cbid: 12050102-6102-0000-0000-0000015A3BFF
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Andrew Jones <drjones@redhat.com>,
	Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Peter Zijlstra <peterz@infradead.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Attilio Rao <attilio.rao@citrix.com>,
	Ingo Molnar <mingo@elte.hu>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Avi Kivity <avi@redhat.com>
Subject: Re: [Xen-devel] [PATCH RFC V7 0/12] Paravirtualized ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/01/2012 06:20 PM, Ian Campbell wrote:
> On Thu, 2012-04-19 at 21:12 +0100, Raghavendra K T wrote:
>> From: Jeremy Fitzhardinge<jeremy.fitzhardinge@citrix.com>
>>
>> This series replaces the existing paravirtualized spinlock mechanism
>> with a paravirtualized ticketlock mechanism. (targeted for 3.5 window)
>
> Which tree is this series going through, tip.git I guess?
>
> I don't see it there.
>
> Ian.
>

Yes you are right.

I am trying to post ticketlock + xen + kvm patches series in one
go. There are some discussions on kvm patches last few days. So I am
putting up all of them together now.  I am planning to post within 
half/one day.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVX-0004m0-2c; Fri, 04 May 2012 09:08:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWTb-0004T4-2J
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:03 +0000
Received: from [85.158.138.51:48896] by server-4.bemta-3.messagelabs.com id
	84/CA-15341-28701AF4; Wed, 02 May 2012 10:08:02 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1335953268!20717950!1
X-Originating-IP: [122.248.162.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMyA9PiAxODk1OTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14407 invoked from network); 2 May 2012 10:08:00 -0000
Received: from e28smtp03.in.ibm.com (HELO e28smtp03.in.ibm.com) (122.248.162.3)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:08:00 -0000
Received: from /spool/local
	by e28smtp03.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:37:46 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp03.in.ibm.com (192.168.1.133) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:37:44 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A7hdZ28639338
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:37:43 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FavL1000576
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:36:59 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FauMB000537; Thu, 3 May 2012 01:36:56 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:37:32 +0530
Message-Id: <20120502100732.13206.30121.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-3864-0000-0000-00000285335A
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 6/17] xen/pvticketlocks: Add xen_nopvspin
	parameter to disable xen pv ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/spinlock.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 4e98a07..c4886dc 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -221,12 +221,26 @@ void xen_uninit_lock_cpu(int cpu)
 	unbind_from_irqhandler(per_cpu(lock_kicker_irq, cpu), NULL);
 }
 
+static bool xen_pvspin __initdata = true;
+
 void __init xen_init_spinlocks(void)
 {
+	if (!xen_pvspin) {
+		printk(KERN_DEBUG "xen: PV spinlocks disabled\n");
+		return;
+	}
+
 	pv_lock_ops.lock_spinning = xen_lock_spinning;
 	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }
 
+static __init int xen_parse_nopvspin(char *arg)
+{
+	xen_pvspin = false;
+	return 0;
+}
+early_param("xen_nopvspin", xen_parse_nopvspin);
+
 #ifdef CONFIG_XEN_DEBUG_FS
 
 static struct dentry *d_spin_debug;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVY-0004nP-GA; Fri, 04 May 2012 09:09:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUF-0004UE-Rs
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:44 +0000
Received: from [85.158.138.51:57837] by server-7.bemta-3.messagelabs.com id
	D8/F7-03078-AA701AF4; Wed, 02 May 2012 10:08:42 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1335953318!22979837!1
X-Originating-IP: [202.81.31.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MCA9PiAzMTQxNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 758 invoked from network); 2 May 2012 10:08:41 -0000
Received: from e23smtp07.au.ibm.com (HELO e23smtp07.au.ibm.com) (202.81.31.140)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:08:41 -0000
Received: from /spool/local
	by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:01:14 +1000
Received: from d23relay05.au.ibm.com (202.81.31.247)
	by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:01:12 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A1b0t1519806
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:01:37 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A8TI5013709
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:08:30 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A8OCh013264; Wed, 2 May 2012 20:08:25 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:38:15 +0530
Message-Id: <20120502100815.13206.85635.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-0260-0000-0000-000000F8F6BD
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 10/17] x86/ticketlock: Add slowpath logic
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Maintain a flag in the LSB of the ticket lock tail which indicates
whether anyone is in the lock slowpath and may need kicking when
the current holder unlocks.  The flags are set when the first locker
enters the slowpath, and cleared when unlocking to an empty queue (ie,
no contention).

In the specific implementation of lock_spinning(), make sure to set
the slowpath flags on the lock just before blocking.  We must do
this before the last-chance pickup test to prevent a deadlock
with the unlocker:

Unlocker			Locker
				test for lock pickup
					-> fail
unlock
test slowpath
	-> false
				set slowpath flags
				block

Whereas this works in any ordering:

Unlocker			Locker
				set slowpath flags
				test for lock pickup
					-> fail
				block
unlock
test slowpath
	-> true, kick

If the unlocker finds that the lock has the slowpath flag set but it is
actually uncontended (ie, head == tail, so nobody is waiting), then it
clears the slowpath flag.

The unlock code uses a locked add to update the head counter.  This also
acts as a full memory barrier so that its safe to subsequently
read back the slowflag state, knowing that the updated lock is visible
to the other CPUs.  If it were an unlocked add, then the flag read may
just be forwarded from the store buffer before it was visible to the other
CPUs, which could result in a deadlock.

Unfortunately this means we need to do a locked instruction when
unlocking with PV ticketlocks.  However, if PV ticketlocks are not
enabled, then the old non-locked "add" is the only unlocking code.

Note: this code relies on gcc making sure that unlikely() code is out of
line of the fastpath, which only happens when OPTIMIZE_SIZE=n.  If it
doesn't the generated code isn't too bad, but its definitely suboptimal.

Thanks to Srivatsa Vaddagiri for providing a bugfix to the original
version of this change, which has been folded in.
Thanks to Stephan Diestelhorst for commenting on some code which relied
on an inaccurate reading of the x86 memory ordering rules.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/paravirt.h       |    2 +-
 arch/x86/include/asm/spinlock.h       |   86 +++++++++++++++++++++++---------
 arch/x86/include/asm/spinlock_types.h |    2 +
 arch/x86/kernel/paravirt-spinlocks.c  |    3 +
 arch/x86/xen/spinlock.c               |    6 ++
 5 files changed, 74 insertions(+), 25 deletions(-)
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 9769096..af49670 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -757,7 +757,7 @@ static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
 	PVOP_VCALLEE2(pv_lock_ops.lock_spinning, lock, ticket);
 }
 
-static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
+static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
 							__ticket_t ticket)
 {
 	PVOP_VCALL2(pv_lock_ops.unlock_kick, lock, ticket);
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 60b7e83..e6881fd 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -1,11 +1,14 @@
 #ifndef _ASM_X86_SPINLOCK_H
 #define _ASM_X86_SPINLOCK_H
 
+#include <linux/jump_label.h>
 #include <linux/atomic.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 #include <linux/compiler.h>
 #include <asm/paravirt.h>
+#include <asm/bitops.h>
+
 /*
  * Your basic SMP spinlocks, allowing only a single CPU anywhere
  *
@@ -40,32 +43,28 @@
 /* How long a lock should spin before we consider blocking */
 #define SPIN_THRESHOLD	(1 << 11)
 
-#ifndef CONFIG_PARAVIRT_SPINLOCKS
+extern struct static_key paravirt_ticketlocks_enabled;
+static __always_inline bool static_key_false(struct static_key *key);
 
-static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
-							__ticket_t ticket)
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+
+static inline void __ticket_enter_slowpath(arch_spinlock_t *lock)
 {
+	set_bit(0, (volatile unsigned long *)&lock->tickets.tail);
 }
 
-static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
-							 __ticket_t ticket)
+#else  /* !CONFIG_PARAVIRT_SPINLOCKS */
+static __always_inline void __ticket_lock_spinning(arch_spinlock_t *lock,
+							__ticket_t ticket)
 {
 }
-
-#endif	/* CONFIG_PARAVIRT_SPINLOCKS */
-
-
-/*
- * If a spinlock has someone waiting on it, then kick the appropriate
- * waiting cpu.
- */
-static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
-							__ticket_t next)
+static inline void __ticket_unlock_kick(arch_spinlock_t *lock,
+							__ticket_t ticket)
 {
-	if (unlikely(lock->tickets.tail != next))
-		____ticket_unlock_kick(lock, next);
 }
 
+#endif /* CONFIG_PARAVIRT_SPINLOCKS */
+
 /*
  * Ticket locks are conceptually two parts, one indicating the current head of
  * the queue, and the other indicating the current tail. The lock is acquired
@@ -79,20 +78,22 @@ static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
  * in the high part, because a wide xadd increment of the low part would carry
  * up and contaminate the high part.
  */
-static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
+static __always_inline void arch_spin_lock(arch_spinlock_t *lock)
 {
 	register struct __raw_tickets inc = { .tail = TICKET_LOCK_INC };
 
 	inc = xadd(&lock->tickets, inc);
+	if (likely(inc.head == inc.tail))
+		goto out;
 
+	inc.tail &= ~TICKET_SLOWPATH_FLAG;
 	for (;;) {
 		unsigned count = SPIN_THRESHOLD;
 
 		do {
-			if (inc.head == inc.tail)
+			if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
 				goto out;
 			cpu_relax();
-			inc.head = ACCESS_ONCE(lock->tickets.head);
 		} while (--count);
 		__ticket_lock_spinning(lock, inc.tail);
 	}
@@ -104,7 +105,7 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 	arch_spinlock_t old, new;
 
 	old.tickets = ACCESS_ONCE(lock->tickets);
-	if (old.tickets.head != old.tickets.tail)
+	if (old.tickets.head != (old.tickets.tail & ~TICKET_SLOWPATH_FLAG))
 		return 0;
 
 	new.head_tail = old.head_tail + (TICKET_LOCK_INC << TICKET_SHIFT);
@@ -113,12 +114,49 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 	return cmpxchg(&lock->head_tail, old.head_tail, new.head_tail) == old.head_tail;
 }
 
+static inline void __ticket_unlock_slowpath(arch_spinlock_t *lock,
+					    arch_spinlock_t old)
+{
+	arch_spinlock_t new;
+
+	BUILD_BUG_ON(((__ticket_t)NR_CPUS) != NR_CPUS);
+
+	/* Perform the unlock on the "before" copy */
+	old.tickets.head += TICKET_LOCK_INC;
+
+	/* Clear the slowpath flag */
+	new.head_tail = old.head_tail & ~(TICKET_SLOWPATH_FLAG << TICKET_SHIFT);
+
+	/*
+	 * If the lock is uncontended, clear the flag - use cmpxchg in
+	 * case it changes behind our back though.
+	 */
+	if (new.tickets.head != new.tickets.tail ||
+	    cmpxchg(&lock->head_tail, old.head_tail,
+					new.head_tail) != old.head_tail) {
+		/*
+		 * Lock still has someone queued for it, so wake up an
+		 * appropriate waiter.
+		 */
+		__ticket_unlock_kick(lock, old.tickets.head);
+	}
+}
+
 static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
 {
-	__ticket_t next = lock->tickets.head + TICKET_LOCK_INC;
+	if (TICKET_SLOWPATH_FLAG &&
+	    static_key_false(&paravirt_ticketlocks_enabled)) {
+		arch_spinlock_t prev;
+
+		prev = *lock;
+		add_smp(&lock->tickets.head, TICKET_LOCK_INC);
+
+		/* add_smp() is a full mb() */
 
-	__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
-	__ticket_unlock_kick(lock, next);
+		if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
+			__ticket_unlock_slowpath(lock, prev);
+	} else
+		__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
 }
 
 static inline int arch_spin_is_locked(arch_spinlock_t *lock)
diff --git a/arch/x86/include/asm/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h
index e96fcbd..4f1bea1 100644
--- a/arch/x86/include/asm/spinlock_types.h
+++ b/arch/x86/include/asm/spinlock_types.h
@@ -5,8 +5,10 @@
 
 #ifdef CONFIG_PARAVIRT_SPINLOCKS
 #define __TICKET_LOCK_INC	2
+#define TICKET_SLOWPATH_FLAG	((__ticket_t)1)
 #else
 #define __TICKET_LOCK_INC	1
+#define TICKET_SLOWPATH_FLAG	((__ticket_t)0)
 #endif
 
 #if (CONFIG_NR_CPUS < (256 / __TICKET_LOCK_INC))
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 4251c1d..bbb6c73 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -4,6 +4,7 @@
  */
 #include <linux/spinlock.h>
 #include <linux/module.h>
+#include <linux/jump_label.h>
 
 #include <asm/paravirt.h>
 
@@ -15,3 +16,5 @@ struct pv_lock_ops pv_lock_ops = {
 };
 EXPORT_SYMBOL(pv_lock_ops);
 
+struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
+EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index c47a8d1..d4abaf9 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -155,6 +155,10 @@ static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 	/* Only check lock once pending cleared */
 	barrier();
 
+	/* Mark entry to slowpath before doing the pickup test to make
+	   sure we don't deadlock with an unlocker. */
+	__ticket_enter_slowpath(lock);
+
 	/* check again make sure it didn't become free while
 	   we weren't looking  */
 	if (ACCESS_ONCE(lock->tickets.head) == want) {
@@ -231,6 +235,8 @@ void __init xen_init_spinlocks(void)
 		return;
 	}
 
+	static_key_slow_inc(&paravirt_ticketlocks_enabled);
+
 	pv_lock_ops.lock_spinning = PV_CALLEE_SAVE(xen_lock_spinning);
 	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVY-0004no-Ri; Fri, 04 May 2012 09:09:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUL-0004Um-FF
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:49 +0000
Received: from [85.158.143.99:28650] by server-3.bemta-4.messagelabs.com id
	43/E7-05853-0B701AF4; Wed, 02 May 2012 10:08:48 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1335953324!16494300!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxODg5MTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22099 invoked from network); 2 May 2012 10:08:47 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:08:47 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:44 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:38:43 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A8gp829556792
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:38:42 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FcSCs014997
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:30 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FcR6k014974; Thu, 3 May 2012 01:38:27 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:38:30 +0530
Message-Id: <20120502100830.13206.31058.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-9574-0000-0000-000002725812
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 11/17] xen/pvticketlock: Allow interrupts
	to be enabled while blocking
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

If interrupts were enabled when taking the spinlock, we can leave them
enabled while blocking to get the lock.

If we can enable interrupts while waiting for the lock to become
available, and we take an interrupt before entering the poll,
and the handler takes a spinlock which ends up going into
the slow state (invalidating the per-cpu "lock" and "want" values),
then when the interrupt handler returns the event channel will
remain pending so the poll will return immediately, causing it to
return out to the main spinlock loop.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/spinlock.c |   46 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index d4abaf9..3bf93d5 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -140,7 +140,20 @@ static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 	 * partially setup state.
 	 */
 	local_irq_save(flags);
-
+	/*
+	 * We don't really care if we're overwriting some other
+	 * (lock,want) pair, as that would mean that we're currently
+	 * in an interrupt context, and the outer context had
+	 * interrupts enabled.  That has already kicked the VCPU out
+	 * of xen_poll_irq(), so it will just return spuriously and
+	 * retry with newly setup (lock,want).
+	 *
+	 * The ordering protocol on this is that the "lock" pointer
+	 * may only be set non-NULL if the "want" ticket is correct.
+	 * If we're updating "want", we must first clear "lock".
+	 */
+	w->lock = NULL;
+	smp_wmb();
 	w->want = want;
 	smp_wmb();
 	w->lock = lock;
@@ -155,24 +168,43 @@ static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 	/* Only check lock once pending cleared */
 	barrier();
 
-	/* Mark entry to slowpath before doing the pickup test to make
-	   sure we don't deadlock with an unlocker. */
+	/*
+	 * Mark entry to slowpath before doing the pickup test to make
+	 * sure we don't deadlock with an unlocker.
+	 */
 	__ticket_enter_slowpath(lock);
 
-	/* check again make sure it didn't become free while
-	   we weren't looking  */
+	/*
+	 * check again make sure it didn't become free while
+	 * we weren't looking
+	 */
 	if (ACCESS_ONCE(lock->tickets.head) == want) {
 		add_stats(TAKEN_SLOW_PICKUP, 1);
 		goto out;
 	}
+
+	/* Allow interrupts while blocked */
+	local_irq_restore(flags);
+
+	/*
+	 * If an interrupt happens here, it will leave the wakeup irq
+	 * pending, which will cause xen_poll_irq() to return
+	 * immediately.
+	 */
+
 	/* Block until irq becomes pending (or perhaps a spurious wakeup) */
 	xen_poll_irq(irq);
 	add_stats(TAKEN_SLOW_SPURIOUS, !xen_test_irq_pending(irq));
+
+	local_irq_save(flags);
+
 	kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq));
 out:
 	cpumask_clear_cpu(cpu, &waiting_cpus);
 	w->lock = NULL;
+
 	local_irq_restore(flags);
+
 	spin_time_accum_blocked(start);
 }
 PV_CALLEE_SAVE_REGS_THUNK(xen_lock_spinning);
@@ -186,7 +218,9 @@ static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
 	for_each_cpu(cpu, &waiting_cpus) {
 		const struct xen_lock_waiting *w = &per_cpu(lock_waiting, cpu);
 
-		if (w->lock == lock && w->want == next) {
+		/* Make sure we read lock before want */
+		if (ACCESS_ONCE(w->lock) == lock &&
+		    ACCESS_ONCE(w->want) == next) {
 			add_stats(RELEASED_SLOW_KICKED, 1);
 			xen_send_IPI_one(cpu, XEN_SPIN_UNLOCK_VECTOR);
 			break;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVY-0004nP-GA; Fri, 04 May 2012 09:09:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUF-0004UE-Rs
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:44 +0000
Received: from [85.158.138.51:57837] by server-7.bemta-3.messagelabs.com id
	D8/F7-03078-AA701AF4; Wed, 02 May 2012 10:08:42 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1335953318!22979837!1
X-Originating-IP: [202.81.31.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MCA9PiAzMTQxNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 758 invoked from network); 2 May 2012 10:08:41 -0000
Received: from e23smtp07.au.ibm.com (HELO e23smtp07.au.ibm.com) (202.81.31.140)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:08:41 -0000
Received: from /spool/local
	by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:01:14 +1000
Received: from d23relay05.au.ibm.com (202.81.31.247)
	by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:01:12 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A1b0t1519806
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:01:37 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A8TI5013709
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:08:30 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A8OCh013264; Wed, 2 May 2012 20:08:25 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:38:15 +0530
Message-Id: <20120502100815.13206.85635.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-0260-0000-0000-000000F8F6BD
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 10/17] x86/ticketlock: Add slowpath logic
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Maintain a flag in the LSB of the ticket lock tail which indicates
whether anyone is in the lock slowpath and may need kicking when
the current holder unlocks.  The flags are set when the first locker
enters the slowpath, and cleared when unlocking to an empty queue (ie,
no contention).

In the specific implementation of lock_spinning(), make sure to set
the slowpath flags on the lock just before blocking.  We must do
this before the last-chance pickup test to prevent a deadlock
with the unlocker:

Unlocker			Locker
				test for lock pickup
					-> fail
unlock
test slowpath
	-> false
				set slowpath flags
				block

Whereas this works in any ordering:

Unlocker			Locker
				set slowpath flags
				test for lock pickup
					-> fail
				block
unlock
test slowpath
	-> true, kick

If the unlocker finds that the lock has the slowpath flag set but it is
actually uncontended (ie, head == tail, so nobody is waiting), then it
clears the slowpath flag.

The unlock code uses a locked add to update the head counter.  This also
acts as a full memory barrier so that its safe to subsequently
read back the slowflag state, knowing that the updated lock is visible
to the other CPUs.  If it were an unlocked add, then the flag read may
just be forwarded from the store buffer before it was visible to the other
CPUs, which could result in a deadlock.

Unfortunately this means we need to do a locked instruction when
unlocking with PV ticketlocks.  However, if PV ticketlocks are not
enabled, then the old non-locked "add" is the only unlocking code.

Note: this code relies on gcc making sure that unlikely() code is out of
line of the fastpath, which only happens when OPTIMIZE_SIZE=n.  If it
doesn't the generated code isn't too bad, but its definitely suboptimal.

Thanks to Srivatsa Vaddagiri for providing a bugfix to the original
version of this change, which has been folded in.
Thanks to Stephan Diestelhorst for commenting on some code which relied
on an inaccurate reading of the x86 memory ordering rules.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/paravirt.h       |    2 +-
 arch/x86/include/asm/spinlock.h       |   86 +++++++++++++++++++++++---------
 arch/x86/include/asm/spinlock_types.h |    2 +
 arch/x86/kernel/paravirt-spinlocks.c  |    3 +
 arch/x86/xen/spinlock.c               |    6 ++
 5 files changed, 74 insertions(+), 25 deletions(-)
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 9769096..af49670 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -757,7 +757,7 @@ static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
 	PVOP_VCALLEE2(pv_lock_ops.lock_spinning, lock, ticket);
 }
 
-static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
+static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
 							__ticket_t ticket)
 {
 	PVOP_VCALL2(pv_lock_ops.unlock_kick, lock, ticket);
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 60b7e83..e6881fd 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -1,11 +1,14 @@
 #ifndef _ASM_X86_SPINLOCK_H
 #define _ASM_X86_SPINLOCK_H
 
+#include <linux/jump_label.h>
 #include <linux/atomic.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 #include <linux/compiler.h>
 #include <asm/paravirt.h>
+#include <asm/bitops.h>
+
 /*
  * Your basic SMP spinlocks, allowing only a single CPU anywhere
  *
@@ -40,32 +43,28 @@
 /* How long a lock should spin before we consider blocking */
 #define SPIN_THRESHOLD	(1 << 11)
 
-#ifndef CONFIG_PARAVIRT_SPINLOCKS
+extern struct static_key paravirt_ticketlocks_enabled;
+static __always_inline bool static_key_false(struct static_key *key);
 
-static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
-							__ticket_t ticket)
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+
+static inline void __ticket_enter_slowpath(arch_spinlock_t *lock)
 {
+	set_bit(0, (volatile unsigned long *)&lock->tickets.tail);
 }
 
-static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
-							 __ticket_t ticket)
+#else  /* !CONFIG_PARAVIRT_SPINLOCKS */
+static __always_inline void __ticket_lock_spinning(arch_spinlock_t *lock,
+							__ticket_t ticket)
 {
 }
-
-#endif	/* CONFIG_PARAVIRT_SPINLOCKS */
-
-
-/*
- * If a spinlock has someone waiting on it, then kick the appropriate
- * waiting cpu.
- */
-static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
-							__ticket_t next)
+static inline void __ticket_unlock_kick(arch_spinlock_t *lock,
+							__ticket_t ticket)
 {
-	if (unlikely(lock->tickets.tail != next))
-		____ticket_unlock_kick(lock, next);
 }
 
+#endif /* CONFIG_PARAVIRT_SPINLOCKS */
+
 /*
  * Ticket locks are conceptually two parts, one indicating the current head of
  * the queue, and the other indicating the current tail. The lock is acquired
@@ -79,20 +78,22 @@ static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
  * in the high part, because a wide xadd increment of the low part would carry
  * up and contaminate the high part.
  */
-static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
+static __always_inline void arch_spin_lock(arch_spinlock_t *lock)
 {
 	register struct __raw_tickets inc = { .tail = TICKET_LOCK_INC };
 
 	inc = xadd(&lock->tickets, inc);
+	if (likely(inc.head == inc.tail))
+		goto out;
 
+	inc.tail &= ~TICKET_SLOWPATH_FLAG;
 	for (;;) {
 		unsigned count = SPIN_THRESHOLD;
 
 		do {
-			if (inc.head == inc.tail)
+			if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
 				goto out;
 			cpu_relax();
-			inc.head = ACCESS_ONCE(lock->tickets.head);
 		} while (--count);
 		__ticket_lock_spinning(lock, inc.tail);
 	}
@@ -104,7 +105,7 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 	arch_spinlock_t old, new;
 
 	old.tickets = ACCESS_ONCE(lock->tickets);
-	if (old.tickets.head != old.tickets.tail)
+	if (old.tickets.head != (old.tickets.tail & ~TICKET_SLOWPATH_FLAG))
 		return 0;
 
 	new.head_tail = old.head_tail + (TICKET_LOCK_INC << TICKET_SHIFT);
@@ -113,12 +114,49 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 	return cmpxchg(&lock->head_tail, old.head_tail, new.head_tail) == old.head_tail;
 }
 
+static inline void __ticket_unlock_slowpath(arch_spinlock_t *lock,
+					    arch_spinlock_t old)
+{
+	arch_spinlock_t new;
+
+	BUILD_BUG_ON(((__ticket_t)NR_CPUS) != NR_CPUS);
+
+	/* Perform the unlock on the "before" copy */
+	old.tickets.head += TICKET_LOCK_INC;
+
+	/* Clear the slowpath flag */
+	new.head_tail = old.head_tail & ~(TICKET_SLOWPATH_FLAG << TICKET_SHIFT);
+
+	/*
+	 * If the lock is uncontended, clear the flag - use cmpxchg in
+	 * case it changes behind our back though.
+	 */
+	if (new.tickets.head != new.tickets.tail ||
+	    cmpxchg(&lock->head_tail, old.head_tail,
+					new.head_tail) != old.head_tail) {
+		/*
+		 * Lock still has someone queued for it, so wake up an
+		 * appropriate waiter.
+		 */
+		__ticket_unlock_kick(lock, old.tickets.head);
+	}
+}
+
 static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
 {
-	__ticket_t next = lock->tickets.head + TICKET_LOCK_INC;
+	if (TICKET_SLOWPATH_FLAG &&
+	    static_key_false(&paravirt_ticketlocks_enabled)) {
+		arch_spinlock_t prev;
+
+		prev = *lock;
+		add_smp(&lock->tickets.head, TICKET_LOCK_INC);
+
+		/* add_smp() is a full mb() */
 
-	__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
-	__ticket_unlock_kick(lock, next);
+		if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
+			__ticket_unlock_slowpath(lock, prev);
+	} else
+		__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
 }
 
 static inline int arch_spin_is_locked(arch_spinlock_t *lock)
diff --git a/arch/x86/include/asm/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h
index e96fcbd..4f1bea1 100644
--- a/arch/x86/include/asm/spinlock_types.h
+++ b/arch/x86/include/asm/spinlock_types.h
@@ -5,8 +5,10 @@
 
 #ifdef CONFIG_PARAVIRT_SPINLOCKS
 #define __TICKET_LOCK_INC	2
+#define TICKET_SLOWPATH_FLAG	((__ticket_t)1)
 #else
 #define __TICKET_LOCK_INC	1
+#define TICKET_SLOWPATH_FLAG	((__ticket_t)0)
 #endif
 
 #if (CONFIG_NR_CPUS < (256 / __TICKET_LOCK_INC))
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 4251c1d..bbb6c73 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -4,6 +4,7 @@
  */
 #include <linux/spinlock.h>
 #include <linux/module.h>
+#include <linux/jump_label.h>
 
 #include <asm/paravirt.h>
 
@@ -15,3 +16,5 @@ struct pv_lock_ops pv_lock_ops = {
 };
 EXPORT_SYMBOL(pv_lock_ops);
 
+struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
+EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index c47a8d1..d4abaf9 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -155,6 +155,10 @@ static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
 	/* Only check lock once pending cleared */
 	barrier();
 
+	/* Mark entry to slowpath before doing the pickup test to make
+	   sure we don't deadlock with an unlocker. */
+	__ticket_enter_slowpath(lock);
+
 	/* check again make sure it didn't become free while
 	   we weren't looking  */
 	if (ACCESS_ONCE(lock->tickets.head) == want) {
@@ -231,6 +235,8 @@ void __init xen_init_spinlocks(void)
 		return;
 	}
 
+	static_key_slow_inc(&paravirt_ticketlocks_enabled);
+
 	pv_lock_ops.lock_spinning = PV_CALLEE_SAVE(xen_lock_spinning);
 	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVV-0004lC-Rs; Fri, 04 May 2012 09:08:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSl-0004RK-GL
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:11 +0000
Received: from [85.158.138.51:40637] by server-10.bemta-3.messagelabs.com id
	3E/78-29478-E4701AF4; Wed, 02 May 2012 10:07:10 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1335953226!24750291!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA3NzQwNw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18133 invoked from network); 2 May 2012 10:07:09 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:07:09 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:37:05 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:37:03 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A72ua28377270
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:37:02 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FanQ5008723
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:36:50 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FanQ8008694; Thu, 3 May 2012 01:36:49 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:36:51 +0530
Message-Id: <20120502100651.13206.1226.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-2000-0000-0000-00000751870E
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 3/17] x86/ticketlock: Collapse a layer of
	functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Now that the paravirtualization layer doesn't exist at the spinlock
level any more, we can collapse the __ticket_ functions into the arch_
functions.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/spinlock.h |   35 +++++------------------------------
 1 files changed, 5 insertions(+), 30 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 3e47608..ee4bbd4 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -79,7 +79,7 @@ static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
  * in the high part, because a wide xadd increment of the low part would carry
  * up and contaminate the high part.
  */
-static __always_inline void __ticket_spin_lock(struct arch_spinlock *lock)
+static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
 {
 	register struct __raw_tickets inc = { .tail = 1 };
 
@@ -99,7 +99,7 @@ static __always_inline void __ticket_spin_lock(struct arch_spinlock *lock)
 out:	barrier();	/* make sure nothing creeps before the lock is taken */
 }
 
-static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
+static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 {
 	arch_spinlock_t old, new;
 
@@ -113,7 +113,7 @@ static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
 	return cmpxchg(&lock->head_tail, old.head_tail, new.head_tail) == old.head_tail;
 }
 
-static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock)
+static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
 {
 	__ticket_t next = lock->tickets.head + 1;
 
@@ -121,46 +121,21 @@ static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock)
 	__ticket_unlock_kick(lock, next);
 }
 
-static inline int __ticket_spin_is_locked(arch_spinlock_t *lock)
+static inline int arch_spin_is_locked(arch_spinlock_t *lock)
 {
 	struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
 	return tmp.tail != tmp.head;
 }
 
-static inline int __ticket_spin_is_contended(arch_spinlock_t *lock)
+static inline int arch_spin_is_contended(arch_spinlock_t *lock)
 {
 	struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
 	return (__ticket_t)(tmp.tail - tmp.head) > 1;
 }
-
-static inline int arch_spin_is_locked(arch_spinlock_t *lock)
-{
-	return __ticket_spin_is_locked(lock);
-}
-
-static inline int arch_spin_is_contended(arch_spinlock_t *lock)
-{
-	return __ticket_spin_is_contended(lock);
-}
 #define arch_spin_is_contended	arch_spin_is_contended
 
-static __always_inline void arch_spin_lock(arch_spinlock_t *lock)
-{
-	__ticket_spin_lock(lock);
-}
-
-static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
-{
-	return __ticket_spin_trylock(lock);
-}
-
-static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
-{
-	__ticket_spin_unlock(lock);
-}
-
 static __always_inline void arch_spin_lock_flags(arch_spinlock_t *lock,
 						  unsigned long flags)
 {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVZ-0004oo-JS; Fri, 04 May 2012 09:09:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUt-0004WW-2B
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:23 +0000
Received: from [85.158.139.83:45496] by server-10.bemta-5.messagelabs.com id
	26/2D-08260-2D701AF4; Wed, 02 May 2012 10:09:22 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1335953357!26377433!1
X-Originating-IP: [202.81.31.148]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0OCA9PiAyNzc4NTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27450 invoked from network); 2 May 2012 10:09:20 -0000
Received: from e23smtp06.au.ibm.com (HELO e23smtp06.au.ibm.com) (202.81.31.148)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:20 -0000
Received: from /spool/local
	by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:04:00 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:03:58 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9Dxk37814350
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:13 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A9AK5022014
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:12 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A957X021885; Wed, 2 May 2012 20:09:06 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:38:56 +0530
Message-Id: <20120502100856.13206.88245.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-7014-0000-0000-0000010449AC
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 13/17] kvm hypervisor : Add a hypercall
	to KVM hypervisor to support pv-ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: srivatsa vaddagiri <vatsa@linux.vnet.ibm.com>

kvm_hc_kick_cpu allows the calling vcpu to kick another vcpu out of halt state.
    
the presence of these hypercalls is indicated to guest via
kvm_feature_pv_unhalt.

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/kvm_host.h |    4 ++++
 arch/x86/include/asm/kvm_para.h |    2 ++
 arch/x86/kvm/cpuid.c            |    3 ++-
 arch/x86/kvm/x86.c              |   37 +++++++++++++++++++++++++++++++++++++
 include/linux/kvm_para.h        |    1 +
 5 files changed, 46 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index e216ba0..e187a9b 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -481,6 +481,10 @@ struct kvm_vcpu_arch {
 		u64 length;
 		u64 status;
 	} osvw;
+	/* pv related host specific info */
+	struct {
+		bool pv_unhalted;
+	} pv;
 };
 
 struct kvm_lpage_info {
diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h
index 734c376..5b647ea 100644
--- a/arch/x86/include/asm/kvm_para.h
+++ b/arch/x86/include/asm/kvm_para.h
@@ -16,12 +16,14 @@
 #define KVM_FEATURE_CLOCKSOURCE		0
 #define KVM_FEATURE_NOP_IO_DELAY	1
 #define KVM_FEATURE_MMU_OP		2
+
 /* This indicates that the new set of kvmclock msrs
  * are available. The use of 0x11 and 0x12 is deprecated
  */
 #define KVM_FEATURE_CLOCKSOURCE2        3
 #define KVM_FEATURE_ASYNC_PF		4
 #define KVM_FEATURE_STEAL_TIME		5
+#define KVM_FEATURE_PV_UNHALT		6
 
 /* The last 8 bits are used to indicate how to interpret the flags field
  * in pvclock structure. If no bits are set, all flags are ignored.
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 9fed5be..7c93806 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -408,7 +408,8 @@ static int do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
 			     (1 << KVM_FEATURE_NOP_IO_DELAY) |
 			     (1 << KVM_FEATURE_CLOCKSOURCE2) |
 			     (1 << KVM_FEATURE_ASYNC_PF) |
-			     (1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT);
+			     (1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT) |
+			     (1 << KVM_FEATURE_PV_UNHALT);
 
 		if (sched_info_on())
 			entry->eax |= (1 << KVM_FEATURE_STEAL_TIME);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 91a5e98..f188cdc 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4993,6 +4993,36 @@ int kvm_hv_hypercall(struct kvm_vcpu *vcpu)
 	return 1;
 }
 
+/*
+ * kvm_pv_kick_cpu_op:  Kick a vcpu.
+ *
+ * @apicid - apicid of vcpu to be kicked.
+ */
+static void kvm_pv_kick_cpu_op(struct kvm *kvm, int apicid)
+{
+	struct kvm_vcpu *vcpu = NULL;
+	int i;
+
+	kvm_for_each_vcpu(i, vcpu, kvm) {
+		if (!kvm_apic_present(vcpu))
+			continue;
+
+		if (kvm_apic_match_dest(vcpu, 0, 0, apicid, 0))
+			break;
+	}
+	if (vcpu) {
+		/*
+		 * Setting unhalt flag here can result in spurious runnable
+		 * state when unhalt reset does not happen in vcpu_block.
+		 * But that is harmless since that should soon result in halt.
+		 */
+		vcpu->arch.pv.pv_unhalted = true;
+		/* We need everybody see unhalt before vcpu unblocks */
+		smp_wmb();
+		kvm_vcpu_kick(vcpu);
+	}
+}
+
 int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 {
 	unsigned long nr, a0, a1, a2, a3, ret;
@@ -5026,6 +5056,10 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 	case KVM_HC_VAPIC_POLL_IRQ:
 		ret = 0;
 		break;
+	case KVM_HC_KICK_CPU:
+		kvm_pv_kick_cpu_op(vcpu->kvm, a0);
+		ret = 0;
+		break;
 	default:
 		ret = -KVM_ENOSYS;
 		break;
@@ -5409,6 +5443,7 @@ static int __vcpu_run(struct kvm_vcpu *vcpu)
 			{
 				switch(vcpu->arch.mp_state) {
 				case KVM_MP_STATE_HALTED:
+					vcpu->arch.pv.pv_unhalted = false;
 					vcpu->arch.mp_state =
 						KVM_MP_STATE_RUNNABLE;
 				case KVM_MP_STATE_RUNNABLE:
@@ -6128,6 +6163,7 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
 	BUG_ON(vcpu->kvm == NULL);
 	kvm = vcpu->kvm;
 
+	vcpu->arch.pv.pv_unhalted = false;
 	vcpu->arch.emulate_ctxt.ops = &emulate_ops;
 	if (!irqchip_in_kernel(kvm) || kvm_vcpu_is_bsp(vcpu))
 		vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE;
@@ -6394,6 +6430,7 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
 		!vcpu->arch.apf.halted)
 		|| !list_empty_careful(&vcpu->async_pf.done)
 		|| vcpu->arch.mp_state == KVM_MP_STATE_SIPI_RECEIVED
+		|| vcpu->arch.pv.pv_unhalted
 		|| atomic_read(&vcpu->arch.nmi_queued) ||
 		(kvm_arch_interrupt_allowed(vcpu) &&
 		 kvm_cpu_has_interrupt(vcpu));
diff --git a/include/linux/kvm_para.h b/include/linux/kvm_para.h
index ff476dd..38226e1 100644
--- a/include/linux/kvm_para.h
+++ b/include/linux/kvm_para.h
@@ -19,6 +19,7 @@
 #define KVM_HC_MMU_OP			2
 #define KVM_HC_FEATURES			3
 #define KVM_HC_PPC_MAP_MAGIC_PAGE	4
+#define KVM_HC_KICK_CPU			5
 
 /*
  * hypercalls use architecture specific


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVX-0004mK-Ec; Fri, 04 May 2012 09:08:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWTo-0004TM-3a
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:16 +0000
Received: from [85.158.143.35:23953] by server-1.bemta-4.messagelabs.com id
	71/AB-20925-F8701AF4; Wed, 02 May 2012 10:08:15 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1335953290!14413952!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxODg5MTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25762 invoked from network); 2 May 2012 10:08:14 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:08:14 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:09 +0530
Received: from d28relay05.in.ibm.com (9.184.220.62)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:38:06 +0530
Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63])
	by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A85Qo21233686
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:38:06 +0530
Received: from d28av01.in.ibm.com (loopback [127.0.0.1])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FbilE006757
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 21:07:46 +0530
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42Fbipn006722; Wed, 2 May 2012 21:07:44 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:37:54 +0530
Message-Id: <20120502100754.13206.10986.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-9574-0000-0000-00000272577F
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 8/17] x86/pvticketlock: When
	paravirtualizing ticket locks, increment by 2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Increment ticket head/tails by 2 rather than 1 to leave the LSB free
to store a "is in slowpath state" bit.  This halves the number
of possible CPUs for a given ticket size, but this shouldn't matter
in practice - kernels built for 32k+ CPU systems are probably
specially built for the hardware rather than a generic distro
kernel.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/spinlock.h       |   10 +++++-----
 arch/x86/include/asm/spinlock_types.h |   10 +++++++++-
 2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index ee4bbd4..60b7e83 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -81,7 +81,7 @@ static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
  */
 static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
 {
-	register struct __raw_tickets inc = { .tail = 1 };
+	register struct __raw_tickets inc = { .tail = TICKET_LOCK_INC };
 
 	inc = xadd(&lock->tickets, inc);
 
@@ -107,7 +107,7 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 	if (old.tickets.head != old.tickets.tail)
 		return 0;
 
-	new.head_tail = old.head_tail + (1 << TICKET_SHIFT);
+	new.head_tail = old.head_tail + (TICKET_LOCK_INC << TICKET_SHIFT);
 
 	/* cmpxchg is a full barrier, so nothing can move before it */
 	return cmpxchg(&lock->head_tail, old.head_tail, new.head_tail) == old.head_tail;
@@ -115,9 +115,9 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 
 static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
 {
-	__ticket_t next = lock->tickets.head + 1;
+	__ticket_t next = lock->tickets.head + TICKET_LOCK_INC;
 
-	__add(&lock->tickets.head, 1, UNLOCK_LOCK_PREFIX);
+	__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
 	__ticket_unlock_kick(lock, next);
 }
 
@@ -132,7 +132,7 @@ static inline int arch_spin_is_contended(arch_spinlock_t *lock)
 {
 	struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
-	return (__ticket_t)(tmp.tail - tmp.head) > 1;
+	return (__ticket_t)(tmp.tail - tmp.head) > TICKET_LOCK_INC;
 }
 #define arch_spin_is_contended	arch_spin_is_contended
 
diff --git a/arch/x86/include/asm/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h
index 83fd3c7..e96fcbd 100644
--- a/arch/x86/include/asm/spinlock_types.h
+++ b/arch/x86/include/asm/spinlock_types.h
@@ -3,7 +3,13 @@
 
 #include <linux/types.h>
 
-#if (CONFIG_NR_CPUS < 256)
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+#define __TICKET_LOCK_INC	2
+#else
+#define __TICKET_LOCK_INC	1
+#endif
+
+#if (CONFIG_NR_CPUS < (256 / __TICKET_LOCK_INC))
 typedef u8  __ticket_t;
 typedef u16 __ticketpair_t;
 #else
@@ -11,6 +17,8 @@ typedef u16 __ticket_t;
 typedef u32 __ticketpair_t;
 #endif
 
+#define TICKET_LOCK_INC	((__ticket_t)__TICKET_LOCK_INC)
+
 #define TICKET_SHIFT	(sizeof(__ticket_t) * 8)
 
 typedef struct arch_spinlock {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVZ-0004oA-6o; Fri, 04 May 2012 09:09:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUc-0004Vf-Ss
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:07 +0000
Received: from [193.109.254.147:45540] by server-4.bemta-14.messagelabs.com id
	FC/9B-11570-2C701AF4; Wed, 02 May 2012 10:09:06 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1335953342!7238076!1
X-Originating-IP: [202.81.31.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MCA9PiAzMTQxNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28683 invoked from network); 2 May 2012 10:09:05 -0000
Received: from e23smtp07.au.ibm.com (HELO e23smtp07.au.ibm.com) (202.81.31.140)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:05 -0000
Received: from /spool/local
	by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:01:41 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:01:39 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A262W1732732
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:02:06 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A8tBN023480
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:08:57 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A8oSw023314; Wed, 2 May 2012 20:08:50 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:38:40 +0530
Message-Id: <20120502100840.13206.44392.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-0260-0000-0000-000000F8F6E0
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 12/17] xen: Enable PV ticketlocks on HVM
	Xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/smp.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 7dc400a..6a7a3da 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -589,4 +589,5 @@ void __init xen_hvm_smp_init(void)
 	smp_ops.cpu_die = xen_hvm_cpu_die;
 	smp_ops.send_call_func_ipi = xen_smp_send_call_function_ipi;
 	smp_ops.send_call_func_single_ipi = xen_smp_send_call_function_single_ipi;
+	xen_init_spinlocks();
 }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVX-0004mf-Q7; Fri, 04 May 2012 09:08:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUB-0004Th-1L
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:39 +0000
Received: from [193.109.254.147:37168] by server-12.bemta-14.messagelabs.com
	id 11/D9-05898-6A701AF4; Wed, 02 May 2012 10:08:38 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1335953314!7230159!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxODU3NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22983 invoked from network); 2 May 2012 10:08:37 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:08:37 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:33 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:38:17 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A8GoI15859730
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:38:16 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FciYd006823
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:46 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FciIY006814; Thu, 3 May 2012 01:38:44 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:38:05 +0530
Message-Id: <20120502100805.13206.73345.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-4790-0000-0000-0000026EB92D
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 9/17] Split out rate limiting from
	jump_label.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Andrew Jones <drjones@redhat.com>

Commit b202952075f62603bea9bfb6ebc6b0420db11949 introduced rate limiting
for jump label disabling. The changes were made in the jump label code
in order to be more widely available and to keep things tidier. This is
all fine, except now jump_label.h includes linux/workqueue.h, which
makes it impossible to include jump_label.h from anything that
workqueue.h needs. For example, it's now impossible to include
jump_label.h from asm/spinlock.h, which is done in proposed
pv-ticketlock patches. This patch splits out the rate limiting related
changes from jump_label.h into a new file, jump_label_ratelimit.h, to
resolve the issue.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 include/linux/jump_label.h           |   26 +-------------------------
 include/linux/jump_label_ratelimit.h |   34 ++++++++++++++++++++++++++++++++++
 include/linux/perf_event.h           |    1 +
 kernel/jump_label.c                  |    1 +
 4 files changed, 37 insertions(+), 25 deletions(-)
diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
index c513a40..8195227 100644
--- a/include/linux/jump_label.h
+++ b/include/linux/jump_label.h
@@ -49,7 +49,6 @@
 
 #include <linux/types.h>
 #include <linux/compiler.h>
-#include <linux/workqueue.h>
 
 #if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL)
 
@@ -62,12 +61,6 @@ struct static_key {
 #endif
 };
 
-struct static_key_deferred {
-	struct static_key key;
-	unsigned long timeout;
-	struct delayed_work work;
-};
-
 # include <asm/jump_label.h>
 # define HAVE_JUMP_LABEL
 #endif	/* CC_HAVE_ASM_GOTO && CONFIG_JUMP_LABEL */
@@ -126,10 +119,7 @@ extern void arch_jump_label_transform_static(struct jump_entry *entry,
 extern int jump_label_text_reserved(void *start, void *end);
 extern void static_key_slow_inc(struct static_key *key);
 extern void static_key_slow_dec(struct static_key *key);
-extern void static_key_slow_dec_deferred(struct static_key_deferred *key);
 extern void jump_label_apply_nops(struct module *mod);
-extern void
-jump_label_rate_limit(struct static_key_deferred *key, unsigned long rl);
 
 #define STATIC_KEY_INIT_TRUE ((struct static_key) \
 	{ .enabled = ATOMIC_INIT(1), .entries = (void *)1 })
@@ -148,10 +138,6 @@ static __always_inline void jump_label_init(void)
 {
 }
 
-struct static_key_deferred {
-	struct static_key  key;
-};
-
 static __always_inline bool static_key_false(struct static_key *key)
 {
 	if (unlikely(atomic_read(&key->enabled)) > 0)
@@ -184,11 +170,6 @@ static inline void static_key_slow_dec(struct static_key *key)
 	atomic_dec(&key->enabled);
 }
 
-static inline void static_key_slow_dec_deferred(struct static_key_deferred *key)
-{
-	static_key_slow_dec(&key->key);
-}
-
 static inline int jump_label_text_reserved(void *start, void *end)
 {
 	return 0;
@@ -202,12 +183,6 @@ static inline int jump_label_apply_nops(struct module *mod)
 	return 0;
 }
 
-static inline void
-jump_label_rate_limit(struct static_key_deferred *key,
-		unsigned long rl)
-{
-}
-
 #define STATIC_KEY_INIT_TRUE ((struct static_key) \
 		{ .enabled = ATOMIC_INIT(1) })
 #define STATIC_KEY_INIT_FALSE ((struct static_key) \
@@ -218,6 +193,7 @@ jump_label_rate_limit(struct static_key_deferred *key,
 #define STATIC_KEY_INIT STATIC_KEY_INIT_FALSE
 #define jump_label_enabled static_key_enabled
 
+static inline int atomic_read(const atomic_t *v);
 static inline bool static_key_enabled(struct static_key *key)
 {
 	return (atomic_read(&key->enabled) > 0);
diff --git a/include/linux/jump_label_ratelimit.h b/include/linux/jump_label_ratelimit.h
new file mode 100644
index 0000000..1137883
--- /dev/null
+++ b/include/linux/jump_label_ratelimit.h
@@ -0,0 +1,34 @@
+#ifndef _LINUX_JUMP_LABEL_RATELIMIT_H
+#define _LINUX_JUMP_LABEL_RATELIMIT_H
+
+#include <linux/jump_label.h>
+#include <linux/workqueue.h>
+
+#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL)
+struct static_key_deferred {
+	struct static_key key;
+	unsigned long timeout;
+	struct delayed_work work;
+};
+#endif
+
+#ifdef HAVE_JUMP_LABEL
+extern void static_key_slow_dec_deferred(struct static_key_deferred *key);
+extern void
+jump_label_rate_limit(struct static_key_deferred *key, unsigned long rl);
+
+#else	/* !HAVE_JUMP_LABEL */
+struct static_key_deferred {
+	struct static_key  key;
+};
+static inline void static_key_slow_dec_deferred(struct static_key_deferred *key)
+{
+	static_key_slow_dec(&key->key);
+}
+static inline void
+jump_label_rate_limit(struct static_key_deferred *key,
+		unsigned long rl)
+{
+}
+#endif	/* HAVE_JUMP_LABEL */
+#endif	/* _LINUX_JUMP_LABEL_RATELIMIT_H */
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index ddbb6a9..a0e6118 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -605,6 +605,7 @@ struct perf_guest_info_callbacks {
 #include <linux/cpu.h>
 #include <linux/irq_work.h>
 #include <linux/static_key.h>
+#include <linux/jump_label_ratelimit.h>
 #include <linux/atomic.h>
 #include <linux/sysfs.h>
 #include <asm/local.h>
diff --git a/kernel/jump_label.c b/kernel/jump_label.c
index 4304919..e17f8d6 100644
--- a/kernel/jump_label.c
+++ b/kernel/jump_label.c
@@ -13,6 +13,7 @@
 #include <linux/sort.h>
 #include <linux/err.h>
 #include <linux/static_key.h>
+#include <linux/jump_label_ratelimit.h>
 
 #ifdef HAVE_JUMP_LABEL
 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVa-0004qd-FT; Fri, 04 May 2012 09:09:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWVH-0004X9-9Q
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:47 +0000
Received: from [193.109.254.147:33981] by server-5.bemta-14.messagelabs.com id
	22/3B-30733-AE701AF4; Wed, 02 May 2012 10:09:46 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1335953382!7238237!1
X-Originating-IP: [202.81.31.144]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NCA9PiAyNTEwMDA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31910 invoked from network); 2 May 2012 10:09:45 -0000
Received: from e23smtp02.au.ibm.com (HELO e23smtp02.au.ibm.com) (202.81.31.144)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:45 -0000
Received: from /spool/local
	by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 09:51:37 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp02.au.ibm.com (202.81.31.208) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 09:51:34 +1000
Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9b4b35455074
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:37 +1000
Received: from d23av03.au.ibm.com (loopback [127.0.0.1])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A9ZGL016344
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:37 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A9VD9016241; Wed, 2 May 2012 20:09:31 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:39:21 +0530
Message-Id: <20120502100921.13206.19019.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050123-5490-0000-0000-00000142E06C
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 15/17] kvm guest : Add configuration
	support to enable debug information for KVM Guests
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/Kconfig |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 35eb2e4..a9ec0da 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -584,6 +584,15 @@ config KVM_GUEST
 	  This option enables various optimizations for running under the KVM
 	  hypervisor.
 
+config KVM_DEBUG_FS
+	bool "Enable debug information for KVM Guests in debugfs"
+	depends on KVM_GUEST && DEBUG_FS
+	default n
+	---help---
+	  This option enables collection of various statistics for KVM guest.
+   	  Statistics are displayed in debugfs filesystem. Enabling this option
+	  may incur significant overhead.
+
 source "arch/x86/lguest/Kconfig"
 
 config PARAVIRT


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVV-0004lC-Rs; Fri, 04 May 2012 09:08:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSl-0004RK-GL
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:11 +0000
Received: from [85.158.138.51:40637] by server-10.bemta-3.messagelabs.com id
	3E/78-29478-E4701AF4; Wed, 02 May 2012 10:07:10 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1335953226!24750291!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA3NzQwNw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18133 invoked from network); 2 May 2012 10:07:09 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:07:09 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:37:05 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:37:03 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A72ua28377270
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:37:02 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FanQ5008723
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:36:50 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FanQ8008694; Thu, 3 May 2012 01:36:49 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:36:51 +0530
Message-Id: <20120502100651.13206.1226.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-2000-0000-0000-00000751870E
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 3/17] x86/ticketlock: Collapse a layer of
	functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Now that the paravirtualization layer doesn't exist at the spinlock
level any more, we can collapse the __ticket_ functions into the arch_
functions.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/spinlock.h |   35 +++++------------------------------
 1 files changed, 5 insertions(+), 30 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 3e47608..ee4bbd4 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -79,7 +79,7 @@ static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
  * in the high part, because a wide xadd increment of the low part would carry
  * up and contaminate the high part.
  */
-static __always_inline void __ticket_spin_lock(struct arch_spinlock *lock)
+static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
 {
 	register struct __raw_tickets inc = { .tail = 1 };
 
@@ -99,7 +99,7 @@ static __always_inline void __ticket_spin_lock(struct arch_spinlock *lock)
 out:	barrier();	/* make sure nothing creeps before the lock is taken */
 }
 
-static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
+static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 {
 	arch_spinlock_t old, new;
 
@@ -113,7 +113,7 @@ static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock)
 	return cmpxchg(&lock->head_tail, old.head_tail, new.head_tail) == old.head_tail;
 }
 
-static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock)
+static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
 {
 	__ticket_t next = lock->tickets.head + 1;
 
@@ -121,46 +121,21 @@ static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock)
 	__ticket_unlock_kick(lock, next);
 }
 
-static inline int __ticket_spin_is_locked(arch_spinlock_t *lock)
+static inline int arch_spin_is_locked(arch_spinlock_t *lock)
 {
 	struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
 	return tmp.tail != tmp.head;
 }
 
-static inline int __ticket_spin_is_contended(arch_spinlock_t *lock)
+static inline int arch_spin_is_contended(arch_spinlock_t *lock)
 {
 	struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
 	return (__ticket_t)(tmp.tail - tmp.head) > 1;
 }
-
-static inline int arch_spin_is_locked(arch_spinlock_t *lock)
-{
-	return __ticket_spin_is_locked(lock);
-}
-
-static inline int arch_spin_is_contended(arch_spinlock_t *lock)
-{
-	return __ticket_spin_is_contended(lock);
-}
 #define arch_spin_is_contended	arch_spin_is_contended
 
-static __always_inline void arch_spin_lock(arch_spinlock_t *lock)
-{
-	__ticket_spin_lock(lock);
-}
-
-static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
-{
-	return __ticket_spin_trylock(lock);
-}
-
-static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
-{
-	__ticket_spin_unlock(lock);
-}
-
 static __always_inline void arch_spin_lock_flags(arch_spinlock_t *lock,
 						  unsigned long flags)
 {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVU-0004kP-Mt; Fri, 04 May 2012 09:08:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSd-0004Qh-F1
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:03 +0000
Received: from [85.158.139.83:25661] by server-6.bemta-5.messagelabs.com id
	20/F2-13222-64701AF4; Wed, 02 May 2012 10:07:02 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1335953218!22427010!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA3NzQwNw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11588 invoked from network); 2 May 2012 10:07:01 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:07:01 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:36:57 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:36:55 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A6shb32309296
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:36:54 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FbKuP002245
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:37:23 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FbJkS002205; Thu, 3 May 2012 01:37:19 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:36:40 +0530
Message-Id: <20120502100640.13206.37245.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-2000-0000-0000-0000075186F2
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 2/17] x86/ticketlock: Don't inline
	_spin_unlock when using paravirt spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> 

The code size expands somewhat, and its better to just call
a function rather than inline it.

Thanks Jeremy for original version of ARCH_NOINLINE_SPIN_UNLOCK config patch, 
which is simplified.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1d14cc6..35eb2e4 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -597,6 +597,7 @@ config PARAVIRT
 config PARAVIRT_SPINLOCKS
 	bool "Paravirtualization layer for spinlocks"
 	depends on PARAVIRT && SMP && EXPERIMENTAL
+	select UNINLINE_SPIN_UNLOCK
 	---help---
 	  Paravirtualized spinlocks allow a pvops backend to replace the
 	  spinlock implementation with something virtualization-friendly


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVZ-0004oA-6o; Fri, 04 May 2012 09:09:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUc-0004Vf-Ss
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:07 +0000
Received: from [193.109.254.147:45540] by server-4.bemta-14.messagelabs.com id
	FC/9B-11570-2C701AF4; Wed, 02 May 2012 10:09:06 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1335953342!7238076!1
X-Originating-IP: [202.81.31.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MCA9PiAzMTQxNTY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28683 invoked from network); 2 May 2012 10:09:05 -0000
Received: from e23smtp07.au.ibm.com (HELO e23smtp07.au.ibm.com) (202.81.31.140)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:05 -0000
Received: from /spool/local
	by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:01:41 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:01:39 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A262W1732732
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:02:06 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A8tBN023480
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:08:57 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A8oSw023314; Wed, 2 May 2012 20:08:50 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:38:40 +0530
Message-Id: <20120502100840.13206.44392.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-0260-0000-0000-000000F8F6E0
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 12/17] xen: Enable PV ticketlocks on HVM
	Xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/smp.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 7dc400a..6a7a3da 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -589,4 +589,5 @@ void __init xen_hvm_smp_init(void)
 	smp_ops.cpu_die = xen_hvm_cpu_die;
 	smp_ops.send_call_func_ipi = xen_smp_send_call_function_ipi;
 	smp_ops.send_call_func_single_ipi = xen_smp_send_call_function_single_ipi;
+	xen_init_spinlocks();
 }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVb-0004s8-By; Fri, 04 May 2012 09:09:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWWD-0004Yh-5k
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:10:45 +0000
Received: from [193.109.254.147:12819] by server-1.bemta-14.messagelabs.com id
	2E/C4-29372-42801AF4; Wed, 02 May 2012 10:10:44 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1335953409!7230535!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAxOTA2MDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30881 invoked from network); 2 May 2012 10:10:19 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:10:19 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:40:09 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:40:06 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42AA5892490696
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:40:05 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FeYQ3000393
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:40:39 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FeY1h000383; Thu, 3 May 2012 01:40:34 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:39:47 +0530
Message-Id: <20120502100947.13206.26518.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-8256-0000-0000-000002361FBD
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 17/17] Documentation/kvm : Add
	documentation on Hypercalls and features used for PV spinlock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> 

KVM_HC_KICK_CPU  hypercall added to wakeup halted vcpu in paravirtual spinlock
enabled guest.

KVM_FEATURE_PV_UNHALT enables guest to check whether pv spinlock can be enabled
in guest.

Thanks Alex for KVM_HC_FEATURES inputs and Vatsa for rewriting KVM_HC_KICK_CPU

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 Documentation/virtual/kvm/cpuid.txt      |    4 ++
 Documentation/virtual/kvm/hypercalls.txt |   60 ++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/Documentation/virtual/kvm/cpuid.txt b/Documentation/virtual/kvm/cpuid.txt
index 8820685..062dff9 100644
--- a/Documentation/virtual/kvm/cpuid.txt
+++ b/Documentation/virtual/kvm/cpuid.txt
@@ -39,6 +39,10 @@ KVM_FEATURE_CLOCKSOURCE2           ||     3 || kvmclock available at msrs
 KVM_FEATURE_ASYNC_PF               ||     4 || async pf can be enabled by
                                    ||       || writing to msr 0x4b564d02
 ------------------------------------------------------------------------------
+KVM_FEATURE_PV_UNHALT              ||     6 || guest checks this feature bit
+                                   ||       || before enabling paravirtualized
+                                   ||       || spinlock support.
+------------------------------------------------------------------------------
 KVM_FEATURE_CLOCKSOURCE_STABLE_BIT ||    24 || host will warn if no guest-side
                                    ||       || per-cpu warps are expected in
                                    ||       || kvmclock.
diff --git a/Documentation/virtual/kvm/hypercalls.txt b/Documentation/virtual/kvm/hypercalls.txt
new file mode 100644
index 0000000..bc3f14a
--- /dev/null
+++ b/Documentation/virtual/kvm/hypercalls.txt
@@ -0,0 +1,60 @@
+KVM Hypercalls Documentation
+===========================
+The template for each hypercall is:
+1. Hypercall name, value.
+2. Architecture(s)
+3. Status (deprecated, obsolete, active)
+4. Purpose
+
+1. KVM_HC_VAPIC_POLL_IRQ
+------------------------
+Value: 1
+Architecture: x86
+Purpose: None
+
+2. KVM_HC_MMU_OP
+------------------------
+Value: 2
+Architecture: x86
+Status: deprecated.
+Purpose: Support MMU operations such as writing to PTE,
+flushing TLB, release PT.
+
+3. KVM_HC_FEATURES
+------------------------
+Value: 3
+Architecture: PPC
+Status: active
+Purpose: Expose hypercall availability to the guest. On x86 platforms, cpuid
+used to enumerate which hypercalls are available. On PPC, either device tree
+based lookup ( which is also what EPAPR dictates) OR KVM specific enumeration
+mechanism (which is this hypercall) can be used.
+
+4. KVM_HC_PPC_MAP_MAGIC_PAGE
+------------------------
+Value: 4
+Architecture: PPC
+Status: active
+Purpose: To enable communication between the hypervisor and guest there is a
+shared page that contains parts of supervisor visible register state.
+The guest can map this shared page to access its supervisor register through
+memory using this hypercall.
+
+5. KVM_HC_KICK_CPU
+------------------------
+Value: 5
+Architecture: x86
+Status: active
+Purpose: Hypercall used to wakeup a vcpu from HLT state
+
+Usage example : A vcpu of a paravirtualized guest that is busywaiting in guest
+kernel mode for an event to occur (ex: a spinlock to become available) can
+execute HLT instruction once it has busy-waited for more than a threshold
+time-interval. Execution of HLT instruction would cause the hypervisor to put
+the vcpu to sleep until occurence of an appropriate event. Another vcpu of the
+same guest can wakeup the sleeping vcpu by issuing KVM_HC_KICK_CPU hypercall,
+specifying APIC ID of the vcpu to be wokenup.
+
+TODO:
+1. more information on input and output needed?
+2. Add more detail to purpose of hypercalls.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVX-0004mK-Ec; Fri, 04 May 2012 09:08:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWTo-0004TM-3a
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:16 +0000
Received: from [85.158.143.35:23953] by server-1.bemta-4.messagelabs.com id
	71/AB-20925-F8701AF4; Wed, 02 May 2012 10:08:15 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1335953290!14413952!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxODg5MTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25762 invoked from network); 2 May 2012 10:08:14 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:08:14 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:09 +0530
Received: from d28relay05.in.ibm.com (9.184.220.62)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:38:06 +0530
Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63])
	by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A85Qo21233686
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:38:06 +0530
Received: from d28av01.in.ibm.com (loopback [127.0.0.1])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FbilE006757
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 21:07:46 +0530
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42Fbipn006722; Wed, 2 May 2012 21:07:44 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:37:54 +0530
Message-Id: <20120502100754.13206.10986.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-9574-0000-0000-00000272577F
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 8/17] x86/pvticketlock: When
	paravirtualizing ticket locks, increment by 2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Increment ticket head/tails by 2 rather than 1 to leave the LSB free
to store a "is in slowpath state" bit.  This halves the number
of possible CPUs for a given ticket size, but this shouldn't matter
in practice - kernels built for 32k+ CPU systems are probably
specially built for the hardware rather than a generic distro
kernel.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/spinlock.h       |   10 +++++-----
 arch/x86/include/asm/spinlock_types.h |   10 +++++++++-
 2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index ee4bbd4..60b7e83 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -81,7 +81,7 @@ static __always_inline void __ticket_unlock_kick(struct arch_spinlock *lock,
  */
 static __always_inline void arch_spin_lock(struct arch_spinlock *lock)
 {
-	register struct __raw_tickets inc = { .tail = 1 };
+	register struct __raw_tickets inc = { .tail = TICKET_LOCK_INC };
 
 	inc = xadd(&lock->tickets, inc);
 
@@ -107,7 +107,7 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 	if (old.tickets.head != old.tickets.tail)
 		return 0;
 
-	new.head_tail = old.head_tail + (1 << TICKET_SHIFT);
+	new.head_tail = old.head_tail + (TICKET_LOCK_INC << TICKET_SHIFT);
 
 	/* cmpxchg is a full barrier, so nothing can move before it */
 	return cmpxchg(&lock->head_tail, old.head_tail, new.head_tail) == old.head_tail;
@@ -115,9 +115,9 @@ static __always_inline int arch_spin_trylock(arch_spinlock_t *lock)
 
 static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
 {
-	__ticket_t next = lock->tickets.head + 1;
+	__ticket_t next = lock->tickets.head + TICKET_LOCK_INC;
 
-	__add(&lock->tickets.head, 1, UNLOCK_LOCK_PREFIX);
+	__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
 	__ticket_unlock_kick(lock, next);
 }
 
@@ -132,7 +132,7 @@ static inline int arch_spin_is_contended(arch_spinlock_t *lock)
 {
 	struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
-	return (__ticket_t)(tmp.tail - tmp.head) > 1;
+	return (__ticket_t)(tmp.tail - tmp.head) > TICKET_LOCK_INC;
 }
 #define arch_spin_is_contended	arch_spin_is_contended
 
diff --git a/arch/x86/include/asm/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h
index 83fd3c7..e96fcbd 100644
--- a/arch/x86/include/asm/spinlock_types.h
+++ b/arch/x86/include/asm/spinlock_types.h
@@ -3,7 +3,13 @@
 
 #include <linux/types.h>
 
-#if (CONFIG_NR_CPUS < 256)
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+#define __TICKET_LOCK_INC	2
+#else
+#define __TICKET_LOCK_INC	1
+#endif
+
+#if (CONFIG_NR_CPUS < (256 / __TICKET_LOCK_INC))
 typedef u8  __ticket_t;
 typedef u16 __ticketpair_t;
 #else
@@ -11,6 +17,8 @@ typedef u16 __ticket_t;
 typedef u32 __ticketpair_t;
 #endif
 
+#define TICKET_LOCK_INC	((__ticket_t)__TICKET_LOCK_INC)
+
 #define TICKET_SHIFT	(sizeof(__ticket_t) * 8)
 
 typedef struct arch_spinlock {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVa-0004rO-TV; Fri, 04 May 2012 09:09:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWW0-0004YK-I2
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:10:32 +0000
Received: from [193.109.254.147:63134] by server-8.bemta-14.messagelabs.com id
	D1/19-23244-71801AF4; Wed, 02 May 2012 10:10:31 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335953393!413491!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAxOTA2MDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26316 invoked from network); 2 May 2012 10:10:11 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:10:11 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:39:52 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:39:49 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9nnF1180092
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:39:49 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FeGYi011975
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:40:19 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FeF28011954; Thu, 3 May 2012 01:40:16 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:39:36 +0530
Message-Id: <20120502100936.13206.8094.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-8256-0000-0000-000002361F75
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 16/17] kvm : Paravirtual ticketlocks
	support for linux guests running on KVM hypervisor
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>

During smp_boot_cpus  paravirtualied KVM guest detects if the hypervisor has
required feature (KVM_FEATURE_PV_UNHALT) to support pv-ticketlocks. If so,
 support for pv-ticketlocks is registered via pv_lock_ops.

Use KVM_HC_KICK_CPU hypercall to wakeup waiting/halted vcpu.

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/kvm_para.h |   14 ++-
 arch/x86/kernel/kvm.c           |  256 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 268 insertions(+), 2 deletions(-)
diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h
index 5b647ea..77266d3 100644
--- a/arch/x86/include/asm/kvm_para.h
+++ b/arch/x86/include/asm/kvm_para.h
@@ -195,10 +195,20 @@ void kvm_async_pf_task_wait(u32 token);
 void kvm_async_pf_task_wake(u32 token);
 u32 kvm_read_and_reset_pf_reason(void);
 extern void kvm_disable_steal_time(void);
-#else
-#define kvm_guest_init() do { } while (0)
+
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+void __init kvm_spinlock_init(void);
+#else /* !CONFIG_PARAVIRT_SPINLOCKS */
+static inline void kvm_spinlock_init(void)
+{
+}
+#endif /* CONFIG_PARAVIRT_SPINLOCKS */
+
+#else /* CONFIG_KVM_GUEST */
+#define kvm_guest_init() do {} while (0)
 #define kvm_async_pf_task_wait(T) do {} while(0)
 #define kvm_async_pf_task_wake(T) do {} while(0)
+
 static inline u32 kvm_read_and_reset_pf_reason(void)
 {
 	return 0;
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index b8ba6e4..7c46567 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -33,6 +33,7 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/kprobes.h>
+#include <linux/debugfs.h>
 #include <asm/timer.h>
 #include <asm/cpu.h>
 #include <asm/traps.h>
@@ -368,6 +369,7 @@ static void __init kvm_smp_prepare_boot_cpu(void)
 #endif
 	kvm_guest_cpu_init();
 	native_smp_prepare_boot_cpu();
+	kvm_spinlock_init();
 }
 
 static void __cpuinit kvm_guest_cpu_online(void *dummy)
@@ -450,3 +452,257 @@ static __init int activate_jump_labels(void)
 	return 0;
 }
 arch_initcall(activate_jump_labels);
+
+/* Kick a cpu by its apicid. Used to wake up a halted vcpu */
+void kvm_kick_cpu(int cpu)
+{
+	int apicid;
+
+	apicid = per_cpu(x86_cpu_to_apicid, cpu);
+	kvm_hypercall1(KVM_HC_KICK_CPU, apicid);
+}
+
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+
+enum kvm_contention_stat {
+	TAKEN_SLOW,
+	TAKEN_SLOW_PICKUP,
+	RELEASED_SLOW,
+	RELEASED_SLOW_KICKED,
+	NR_CONTENTION_STATS
+};
+
+#ifdef CONFIG_KVM_DEBUG_FS
+#define HISTO_BUCKETS	30
+
+static struct kvm_spinlock_stats
+{
+	u32 contention_stats[NR_CONTENTION_STATS];
+	u32 histo_spin_blocked[HISTO_BUCKETS+1];
+	u64 time_blocked;
+} spinlock_stats;
+
+static u8 zero_stats;
+
+static inline void check_zero(void)
+{
+	u8 ret;
+	u8 old;
+
+	old = ACCESS_ONCE(zero_stats);
+	if (unlikely(old)) {
+		ret = cmpxchg(&zero_stats, old, 0);
+		/* This ensures only one fellow resets the stat */
+		if (ret == old)
+			memset(&spinlock_stats, 0, sizeof(spinlock_stats));
+	}
+}
+
+static inline void add_stats(enum kvm_contention_stat var, u32 val)
+{
+	check_zero();
+	spinlock_stats.contention_stats[var] += val;
+}
+
+
+static inline u64 spin_time_start(void)
+{
+	return sched_clock();
+}
+
+static void __spin_time_accum(u64 delta, u32 *array)
+{
+	unsigned index;
+
+	index = ilog2(delta);
+	check_zero();
+
+	if (index < HISTO_BUCKETS)
+		array[index]++;
+	else
+		array[HISTO_BUCKETS]++;
+}
+
+static inline void spin_time_accum_blocked(u64 start)
+{
+	u32 delta;
+
+	delta = sched_clock() - start;
+	__spin_time_accum(delta, spinlock_stats.histo_spin_blocked);
+	spinlock_stats.time_blocked += delta;
+}
+
+static struct dentry *d_spin_debug;
+static struct dentry *d_kvm_debug;
+
+struct dentry *kvm_init_debugfs(void)
+{
+	d_kvm_debug = debugfs_create_dir("kvm", NULL);
+	if (!d_kvm_debug)
+		printk(KERN_WARNING "Could not create 'kvm' debugfs directory\n");
+
+	return d_kvm_debug;
+}
+
+static int __init kvm_spinlock_debugfs(void)
+{
+	struct dentry *d_kvm;
+
+	d_kvm = kvm_init_debugfs();
+	if (d_kvm == NULL)
+		return -ENOMEM;
+
+	d_spin_debug = debugfs_create_dir("spinlocks", d_kvm);
+
+	debugfs_create_u8("zero_stats", 0644, d_spin_debug, &zero_stats);
+
+	debugfs_create_u32("taken_slow", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[TAKEN_SLOW]);
+	debugfs_create_u32("taken_slow_pickup", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[TAKEN_SLOW_PICKUP]);
+
+	debugfs_create_u32("released_slow", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[RELEASED_SLOW]);
+	debugfs_create_u32("released_slow_kicked", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[RELEASED_SLOW_KICKED]);
+
+	debugfs_create_u64("time_blocked", 0444, d_spin_debug,
+			   &spinlock_stats.time_blocked);
+
+	debugfs_create_u32_array("histo_blocked", 0444, d_spin_debug,
+		     spinlock_stats.histo_spin_blocked, HISTO_BUCKETS + 1);
+
+	return 0;
+}
+fs_initcall(kvm_spinlock_debugfs);
+#else  /* !CONFIG_KVM_DEBUG_FS */
+#define TIMEOUT			(1 << 10)
+static inline void add_stats(enum kvm_contention_stat var, u32 val)
+{
+}
+
+static inline u64 spin_time_start(void)
+{
+	return 0;
+}
+
+static inline void spin_time_accum_blocked(u64 start)
+{
+}
+#endif  /* CONFIG_KVM_DEBUG_FS */
+
+struct kvm_lock_waiting {
+	struct arch_spinlock *lock;
+	__ticket_t want;
+};
+
+/* cpus 'waiting' on a spinlock to become available */
+static cpumask_t waiting_cpus;
+
+/* Track spinlock on which a cpu is waiting */
+static DEFINE_PER_CPU(struct kvm_lock_waiting, lock_waiting);
+
+static void kvm_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
+{
+	struct kvm_lock_waiting *w;
+	int cpu;
+	u64 start;
+	unsigned long flags;
+
+	w = &__get_cpu_var(lock_waiting);
+	cpu = smp_processor_id();
+	start = spin_time_start();
+
+	/*
+	 * Make sure an interrupt handler can't upset things in a
+	 * partially setup state.
+	 */
+	local_irq_save(flags);
+
+	/*
+	 * The ordering protocol on this is that the "lock" pointer
+	 * may only be set non-NULL if the "want" ticket is correct.
+	 * If we're updating "want", we must first clear "lock".
+	 */
+	w->lock = NULL;
+	smp_wmb();
+	w->want = want;
+	smp_wmb();
+	w->lock = lock;
+
+	add_stats(TAKEN_SLOW, 1);
+
+	/*
+	 * This uses set_bit, which is atomic but we should not rely on its
+	 * reordering gurantees. So barrier is needed after this call.
+	 */
+	cpumask_set_cpu(cpu, &waiting_cpus);
+
+	barrier();
+
+	/*
+	 * Mark entry to slowpath before doing the pickup test to make
+	 * sure we don't deadlock with an unlocker.
+	 */
+	__ticket_enter_slowpath(lock);
+
+	/*
+	 * check again make sure it didn't become free while
+	 * we weren't looking.
+	 */
+	if (ACCESS_ONCE(lock->tickets.head) == want) {
+		add_stats(TAKEN_SLOW_PICKUP, 1);
+		goto out;
+	}
+
+	/* Allow interrupts while blocked */
+	local_irq_restore(flags);
+
+	/* halt until it's our turn and kicked. */
+	halt();
+
+	local_irq_save(flags);
+out:
+	cpumask_clear_cpu(cpu, &waiting_cpus);
+	w->lock = NULL;
+	local_irq_restore(flags);
+	spin_time_accum_blocked(start);
+}
+PV_CALLEE_SAVE_REGS_THUNK(kvm_lock_spinning);
+
+/* Kick vcpu waiting on @lock->head to reach value @ticket */
+static void kvm_unlock_kick(struct arch_spinlock *lock, __ticket_t ticket)
+{
+	int cpu;
+
+	add_stats(RELEASED_SLOW, 1);
+	for_each_cpu(cpu, &waiting_cpus) {
+		const struct kvm_lock_waiting *w = &per_cpu(lock_waiting, cpu);
+		if (ACCESS_ONCE(w->lock) == lock &&
+		    ACCESS_ONCE(w->want) == ticket) {
+			add_stats(RELEASED_SLOW_KICKED, 1);
+			kvm_kick_cpu(cpu);
+			break;
+		}
+	}
+}
+
+/*
+ * Setup pv_lock_ops to exploit KVM_FEATURE_PV_UNHALT if present.
+ */
+void __init kvm_spinlock_init(void)
+{
+	if (!kvm_para_available())
+		return;
+	/* Does host kernel support KVM_FEATURE_PV_UNHALT? */
+	if (!kvm_para_has_feature(KVM_FEATURE_PV_UNHALT))
+		return;
+
+	printk(KERN_INFO"KVM setup paravirtual spinlock\n");
+
+	static_key_slow_inc(&paravirt_ticketlocks_enabled);
+
+	pv_lock_ops.lock_spinning = PV_CALLEE_SAVE(kvm_lock_spinning);
+	pv_lock_ops.unlock_kick = kvm_unlock_kick;
+}
+#endif	/* CONFIG_PARAVIRT_SPINLOCKS */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVZ-0004oo-JS; Fri, 04 May 2012 09:09:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUt-0004WW-2B
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:23 +0000
Received: from [85.158.139.83:45496] by server-10.bemta-5.messagelabs.com id
	26/2D-08260-2D701AF4; Wed, 02 May 2012 10:09:22 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1335953357!26377433!1
X-Originating-IP: [202.81.31.148]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0OCA9PiAyNzc4NTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27450 invoked from network); 2 May 2012 10:09:20 -0000
Received: from e23smtp06.au.ibm.com (HELO e23smtp06.au.ibm.com) (202.81.31.148)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:20 -0000
Received: from /spool/local
	by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:04:00 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:03:58 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9Dxk37814350
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:13 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A9AK5022014
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:12 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A957X021885; Wed, 2 May 2012 20:09:06 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:38:56 +0530
Message-Id: <20120502100856.13206.88245.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-7014-0000-0000-0000010449AC
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 13/17] kvm hypervisor : Add a hypercall
	to KVM hypervisor to support pv-ticketlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: srivatsa vaddagiri <vatsa@linux.vnet.ibm.com>

kvm_hc_kick_cpu allows the calling vcpu to kick another vcpu out of halt state.
    
the presence of these hypercalls is indicated to guest via
kvm_feature_pv_unhalt.

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/kvm_host.h |    4 ++++
 arch/x86/include/asm/kvm_para.h |    2 ++
 arch/x86/kvm/cpuid.c            |    3 ++-
 arch/x86/kvm/x86.c              |   37 +++++++++++++++++++++++++++++++++++++
 include/linux/kvm_para.h        |    1 +
 5 files changed, 46 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index e216ba0..e187a9b 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -481,6 +481,10 @@ struct kvm_vcpu_arch {
 		u64 length;
 		u64 status;
 	} osvw;
+	/* pv related host specific info */
+	struct {
+		bool pv_unhalted;
+	} pv;
 };
 
 struct kvm_lpage_info {
diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h
index 734c376..5b647ea 100644
--- a/arch/x86/include/asm/kvm_para.h
+++ b/arch/x86/include/asm/kvm_para.h
@@ -16,12 +16,14 @@
 #define KVM_FEATURE_CLOCKSOURCE		0
 #define KVM_FEATURE_NOP_IO_DELAY	1
 #define KVM_FEATURE_MMU_OP		2
+
 /* This indicates that the new set of kvmclock msrs
  * are available. The use of 0x11 and 0x12 is deprecated
  */
 #define KVM_FEATURE_CLOCKSOURCE2        3
 #define KVM_FEATURE_ASYNC_PF		4
 #define KVM_FEATURE_STEAL_TIME		5
+#define KVM_FEATURE_PV_UNHALT		6
 
 /* The last 8 bits are used to indicate how to interpret the flags field
  * in pvclock structure. If no bits are set, all flags are ignored.
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 9fed5be..7c93806 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -408,7 +408,8 @@ static int do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
 			     (1 << KVM_FEATURE_NOP_IO_DELAY) |
 			     (1 << KVM_FEATURE_CLOCKSOURCE2) |
 			     (1 << KVM_FEATURE_ASYNC_PF) |
-			     (1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT);
+			     (1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT) |
+			     (1 << KVM_FEATURE_PV_UNHALT);
 
 		if (sched_info_on())
 			entry->eax |= (1 << KVM_FEATURE_STEAL_TIME);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 91a5e98..f188cdc 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4993,6 +4993,36 @@ int kvm_hv_hypercall(struct kvm_vcpu *vcpu)
 	return 1;
 }
 
+/*
+ * kvm_pv_kick_cpu_op:  Kick a vcpu.
+ *
+ * @apicid - apicid of vcpu to be kicked.
+ */
+static void kvm_pv_kick_cpu_op(struct kvm *kvm, int apicid)
+{
+	struct kvm_vcpu *vcpu = NULL;
+	int i;
+
+	kvm_for_each_vcpu(i, vcpu, kvm) {
+		if (!kvm_apic_present(vcpu))
+			continue;
+
+		if (kvm_apic_match_dest(vcpu, 0, 0, apicid, 0))
+			break;
+	}
+	if (vcpu) {
+		/*
+		 * Setting unhalt flag here can result in spurious runnable
+		 * state when unhalt reset does not happen in vcpu_block.
+		 * But that is harmless since that should soon result in halt.
+		 */
+		vcpu->arch.pv.pv_unhalted = true;
+		/* We need everybody see unhalt before vcpu unblocks */
+		smp_wmb();
+		kvm_vcpu_kick(vcpu);
+	}
+}
+
 int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 {
 	unsigned long nr, a0, a1, a2, a3, ret;
@@ -5026,6 +5056,10 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 	case KVM_HC_VAPIC_POLL_IRQ:
 		ret = 0;
 		break;
+	case KVM_HC_KICK_CPU:
+		kvm_pv_kick_cpu_op(vcpu->kvm, a0);
+		ret = 0;
+		break;
 	default:
 		ret = -KVM_ENOSYS;
 		break;
@@ -5409,6 +5443,7 @@ static int __vcpu_run(struct kvm_vcpu *vcpu)
 			{
 				switch(vcpu->arch.mp_state) {
 				case KVM_MP_STATE_HALTED:
+					vcpu->arch.pv.pv_unhalted = false;
 					vcpu->arch.mp_state =
 						KVM_MP_STATE_RUNNABLE;
 				case KVM_MP_STATE_RUNNABLE:
@@ -6128,6 +6163,7 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
 	BUG_ON(vcpu->kvm == NULL);
 	kvm = vcpu->kvm;
 
+	vcpu->arch.pv.pv_unhalted = false;
 	vcpu->arch.emulate_ctxt.ops = &emulate_ops;
 	if (!irqchip_in_kernel(kvm) || kvm_vcpu_is_bsp(vcpu))
 		vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE;
@@ -6394,6 +6430,7 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
 		!vcpu->arch.apf.halted)
 		|| !list_empty_careful(&vcpu->async_pf.done)
 		|| vcpu->arch.mp_state == KVM_MP_STATE_SIPI_RECEIVED
+		|| vcpu->arch.pv.pv_unhalted
 		|| atomic_read(&vcpu->arch.nmi_queued) ||
 		(kvm_arch_interrupt_allowed(vcpu) &&
 		 kvm_cpu_has_interrupt(vcpu));
diff --git a/include/linux/kvm_para.h b/include/linux/kvm_para.h
index ff476dd..38226e1 100644
--- a/include/linux/kvm_para.h
+++ b/include/linux/kvm_para.h
@@ -19,6 +19,7 @@
 #define KVM_HC_MMU_OP			2
 #define KVM_HC_FEATURES			3
 #define KVM_HC_PPC_MAP_MAGIC_PAGE	4
+#define KVM_HC_KICK_CPU			5
 
 /*
  * hypercalls use architecture specific


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVY-0004n4-55; Fri, 04 May 2012 09:09:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUB-0004Ti-G9
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:39 +0000
Received: from [193.109.254.147:37196] by server-9.bemta-14.messagelabs.com id
	CE/B2-05787-6A701AF4; Wed, 02 May 2012 10:08:38 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1335953314!366164!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxODU3NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 384 invoked from network); 2 May 2012 10:08:37 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:08:37 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:33 +0530
Received: from d28relay05.in.ibm.com (9.184.220.62)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:37:57 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A7u7r22347888
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:37:56 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FcVYG026194
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:34 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FcU8Q026136; Thu, 3 May 2012 01:38:30 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:37:42 +0530
Message-Id: <20120502100742.13206.30771.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-4790-0000-0000-0000026EB8DB
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 7/17] x86/pvticketlock: Use callee-save
	for lock_spinning
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Although the lock_spinning calls in the spinlock code are on the
uncommon path, their presence can cause the compiler to generate many
more register save/restores in the function pre/postamble, which is in
the fast path.  To avoid this, convert it to using the pvops callee-save
calling convention, which defers all the save/restores until the actual
function is called, keeping the fastpath clean.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/paravirt.h       |    2 +-
 arch/x86/include/asm/paravirt_types.h |    2 +-
 arch/x86/kernel/paravirt-spinlocks.c  |    2 +-
 arch/x86/xen/spinlock.c               |    3 ++-
 4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 4bcd146..9769096 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -754,7 +754,7 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
 static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
 							__ticket_t ticket)
 {
-	PVOP_VCALL2(pv_lock_ops.lock_spinning, lock, ticket);
+	PVOP_VCALLEE2(pv_lock_ops.lock_spinning, lock, ticket);
 }
 
 static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 005e24d..5e0c138 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -330,7 +330,7 @@ struct arch_spinlock;
 #include <asm/spinlock_types.h>
 
 struct pv_lock_ops {
-	void (*lock_spinning)(struct arch_spinlock *lock, __ticket_t ticket);
+	struct paravirt_callee_save lock_spinning;
 	void (*unlock_kick)(struct arch_spinlock *lock, __ticket_t ticket);
 };
 
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index c2e010e..4251c1d 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -9,7 +9,7 @@
 
 struct pv_lock_ops pv_lock_ops = {
 #ifdef CONFIG_SMP
-	.lock_spinning = paravirt_nop,
+	.lock_spinning = __PV_IS_CALLEE_SAVE(paravirt_nop),
 	.unlock_kick = paravirt_nop,
 #endif
 };
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index c4886dc..c47a8d1 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -171,6 +171,7 @@ out:
 	local_irq_restore(flags);
 	spin_time_accum_blocked(start);
 }
+PV_CALLEE_SAVE_REGS_THUNK(xen_lock_spinning);
 
 static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
 {
@@ -230,7 +231,7 @@ void __init xen_init_spinlocks(void)
 		return;
 	}
 
-	pv_lock_ops.lock_spinning = xen_lock_spinning;
+	pv_lock_ops.lock_spinning = PV_CALLEE_SAVE(xen_lock_spinning);
 	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }
 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVW-0004lO-9R; Fri, 04 May 2012 09:08:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWT0-0004SB-Ae
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:26 +0000
Received: from [85.158.143.99:18194] by server-1.bemta-4.messagelabs.com id
	9E/2A-20925-D5701AF4; Wed, 02 May 2012 10:07:25 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1335953241!26102482!1
X-Originating-IP: [202.81.31.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MSA9PiAxMzQ1OTE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29407 invoked from network); 2 May 2012 10:07:24 -0000
Received: from e23smtp08.au.ibm.com (HELO e23smtp08.au.ibm.com) (202.81.31.141)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:07:24 -0000
Received: from /spool/local
	by e23smtp08.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:04:34 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp08.au.ibm.com (202.81.31.205) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:04:31 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A7HP729425862
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:07:17 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A7FPU017448
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:07:17 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A7BFv017367; Wed, 2 May 2012 20:07:11 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:37:01 +0530
Message-Id: <20120502100701.13206.12548.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-5140-0000-0000-0000012AB63F
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 4/17] xen: Defer spinlock setup until
	boot CPU setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

There's no need to do it at very early init, and doing it there
makes it impossible to use the jump_label machinery.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/smp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 0503c0c..7dc400a 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -222,6 +222,7 @@ static void __init xen_smp_prepare_boot_cpu(void)
 
 	xen_filter_cpu_maps();
 	xen_setup_vcpu_info_placement();
+	xen_init_spinlocks();
 }
 
 static void __init xen_smp_prepare_cpus(unsigned int max_cpus)
@@ -551,7 +552,6 @@ void __init xen_smp_init(void)
 {
 	smp_ops = xen_smp_ops;
 	xen_fill_possible_map();
-	xen_init_spinlocks();
 }
 
 static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVa-0004qd-FT; Fri, 04 May 2012 09:09:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWVH-0004X9-9Q
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:47 +0000
Received: from [193.109.254.147:33981] by server-5.bemta-14.messagelabs.com id
	22/3B-30733-AE701AF4; Wed, 02 May 2012 10:09:46 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1335953382!7238237!1
X-Originating-IP: [202.81.31.144]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NCA9PiAyNTEwMDA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31910 invoked from network); 2 May 2012 10:09:45 -0000
Received: from e23smtp02.au.ibm.com (HELO e23smtp02.au.ibm.com) (202.81.31.144)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:45 -0000
Received: from /spool/local
	by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 09:51:37 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp02.au.ibm.com (202.81.31.208) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 09:51:34 +1000
Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9b4b35455074
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:37 +1000
Received: from d23av03.au.ibm.com (loopback [127.0.0.1])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A9ZGL016344
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:09:37 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A9VD9016241; Wed, 2 May 2012 20:09:31 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:39:21 +0530
Message-Id: <20120502100921.13206.19019.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050123-5490-0000-0000-00000142E06C
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 15/17] kvm guest : Add configuration
	support to enable debug information for KVM Guests
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/Kconfig |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 35eb2e4..a9ec0da 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -584,6 +584,15 @@ config KVM_GUEST
 	  This option enables various optimizations for running under the KVM
 	  hypervisor.
 
+config KVM_DEBUG_FS
+	bool "Enable debug information for KVM Guests in debugfs"
+	depends on KVM_GUEST && DEBUG_FS
+	default n
+	---help---
+	  This option enables collection of various statistics for KVM guest.
+   	  Statistics are displayed in debugfs filesystem. Enabling this option
+	  may incur significant overhead.
+
 source "arch/x86/lguest/Kconfig"
 
 config PARAVIRT


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVU-0004kP-Mt; Fri, 04 May 2012 09:08:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWSd-0004Qh-F1
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:03 +0000
Received: from [85.158.139.83:25661] by server-6.bemta-5.messagelabs.com id
	20/F2-13222-64701AF4; Wed, 02 May 2012 10:07:02 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1335953218!22427010!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA3NzQwNw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11588 invoked from network); 2 May 2012 10:07:01 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:07:01 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:36:57 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:36:55 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A6shb32309296
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:36:54 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FbKuP002245
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:37:23 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FbJkS002205; Thu, 3 May 2012 01:37:19 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:36:40 +0530
Message-Id: <20120502100640.13206.37245.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-2000-0000-0000-0000075186F2
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 2/17] x86/ticketlock: Don't inline
	_spin_unlock when using paravirt spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> 

The code size expands somewhat, and its better to just call
a function rather than inline it.

Thanks Jeremy for original version of ARCH_NOINLINE_SPIN_UNLOCK config patch, 
which is simplified.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1d14cc6..35eb2e4 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -597,6 +597,7 @@ config PARAVIRT
 config PARAVIRT_SPINLOCKS
 	bool "Paravirtualization layer for spinlocks"
 	depends on PARAVIRT && SMP && EXPERIMENTAL
+	select UNINLINE_SPIN_UNLOCK
 	---help---
 	  Paravirtualized spinlocks allow a pvops backend to replace the
 	  spinlock implementation with something virtualization-friendly


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVb-0004s8-By; Fri, 04 May 2012 09:09:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWWD-0004Yh-5k
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:10:45 +0000
Received: from [193.109.254.147:12819] by server-1.bemta-14.messagelabs.com id
	2E/C4-29372-42801AF4; Wed, 02 May 2012 10:10:44 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1335953409!7230535!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAxOTA2MDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30881 invoked from network); 2 May 2012 10:10:19 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:10:19 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:40:09 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:40:06 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42AA5892490696
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:40:05 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FeYQ3000393
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:40:39 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FeY1h000383; Thu, 3 May 2012 01:40:34 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:39:47 +0530
Message-Id: <20120502100947.13206.26518.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-8256-0000-0000-000002361FBD
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 17/17] Documentation/kvm : Add
	documentation on Hypercalls and features used for PV spinlock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> 

KVM_HC_KICK_CPU  hypercall added to wakeup halted vcpu in paravirtual spinlock
enabled guest.

KVM_FEATURE_PV_UNHALT enables guest to check whether pv spinlock can be enabled
in guest.

Thanks Alex for KVM_HC_FEATURES inputs and Vatsa for rewriting KVM_HC_KICK_CPU

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 Documentation/virtual/kvm/cpuid.txt      |    4 ++
 Documentation/virtual/kvm/hypercalls.txt |   60 ++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/Documentation/virtual/kvm/cpuid.txt b/Documentation/virtual/kvm/cpuid.txt
index 8820685..062dff9 100644
--- a/Documentation/virtual/kvm/cpuid.txt
+++ b/Documentation/virtual/kvm/cpuid.txt
@@ -39,6 +39,10 @@ KVM_FEATURE_CLOCKSOURCE2           ||     3 || kvmclock available at msrs
 KVM_FEATURE_ASYNC_PF               ||     4 || async pf can be enabled by
                                    ||       || writing to msr 0x4b564d02
 ------------------------------------------------------------------------------
+KVM_FEATURE_PV_UNHALT              ||     6 || guest checks this feature bit
+                                   ||       || before enabling paravirtualized
+                                   ||       || spinlock support.
+------------------------------------------------------------------------------
 KVM_FEATURE_CLOCKSOURCE_STABLE_BIT ||    24 || host will warn if no guest-side
                                    ||       || per-cpu warps are expected in
                                    ||       || kvmclock.
diff --git a/Documentation/virtual/kvm/hypercalls.txt b/Documentation/virtual/kvm/hypercalls.txt
new file mode 100644
index 0000000..bc3f14a
--- /dev/null
+++ b/Documentation/virtual/kvm/hypercalls.txt
@@ -0,0 +1,60 @@
+KVM Hypercalls Documentation
+===========================
+The template for each hypercall is:
+1. Hypercall name, value.
+2. Architecture(s)
+3. Status (deprecated, obsolete, active)
+4. Purpose
+
+1. KVM_HC_VAPIC_POLL_IRQ
+------------------------
+Value: 1
+Architecture: x86
+Purpose: None
+
+2. KVM_HC_MMU_OP
+------------------------
+Value: 2
+Architecture: x86
+Status: deprecated.
+Purpose: Support MMU operations such as writing to PTE,
+flushing TLB, release PT.
+
+3. KVM_HC_FEATURES
+------------------------
+Value: 3
+Architecture: PPC
+Status: active
+Purpose: Expose hypercall availability to the guest. On x86 platforms, cpuid
+used to enumerate which hypercalls are available. On PPC, either device tree
+based lookup ( which is also what EPAPR dictates) OR KVM specific enumeration
+mechanism (which is this hypercall) can be used.
+
+4. KVM_HC_PPC_MAP_MAGIC_PAGE
+------------------------
+Value: 4
+Architecture: PPC
+Status: active
+Purpose: To enable communication between the hypervisor and guest there is a
+shared page that contains parts of supervisor visible register state.
+The guest can map this shared page to access its supervisor register through
+memory using this hypercall.
+
+5. KVM_HC_KICK_CPU
+------------------------
+Value: 5
+Architecture: x86
+Status: active
+Purpose: Hypercall used to wakeup a vcpu from HLT state
+
+Usage example : A vcpu of a paravirtualized guest that is busywaiting in guest
+kernel mode for an event to occur (ex: a spinlock to become available) can
+execute HLT instruction once it has busy-waited for more than a threshold
+time-interval. Execution of HLT instruction would cause the hypervisor to put
+the vcpu to sleep until occurence of an appropriate event. Another vcpu of the
+same guest can wakeup the sleeping vcpu by issuing KVM_HC_KICK_CPU hypercall,
+specifying APIC ID of the vcpu to be wokenup.
+
+TODO:
+1. more information on input and output needed?
+2. Add more detail to purpose of hypercalls.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVa-0004pZ-17; Fri, 04 May 2012 09:09:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWVF-0004X2-Ga
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:45 +0000
Received: from [85.158.143.35:39376] by server-2.bemta-4.messagelabs.com id
	1E/44-17550-8E701AF4; Wed, 02 May 2012 10:09:44 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1335953367!11246867!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxODg5MTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14317 invoked from network); 2 May 2012 10:09:42 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:42 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:39:26 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:39:23 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9MtG62783670
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:39:23 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42Fcavq007042
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:37 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FcZb6007032; Thu, 3 May 2012 01:38:36 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:39:11 +0530
Message-Id: <20120502100911.13206.63174.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-9574-0000-0000-0000027258FE
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 14/17] kvm : Fold pv_unhalt flag into
	GET_MP_STATE ioctl to aid migration
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>

During migration, any vcpu that got kicked but did not become runnable
 (still in halted state) should be runnable after migration.

Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/kvm/x86.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index f188cdc..5b09b67 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5691,7 +5691,12 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,
 int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
 				    struct kvm_mp_state *mp_state)
 {
-	mp_state->mp_state = vcpu->arch.mp_state;
+	if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED &&
+					vcpu->arch.pv.pv_unhalted)
+		mp_state->mp_state = KVM_MP_STATE_RUNNABLE;
+	else
+		mp_state->mp_state = vcpu->arch.mp_state;
+
 	return 0;
 }
 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVa-0004rO-TV; Fri, 04 May 2012 09:09:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWW0-0004YK-I2
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:10:32 +0000
Received: from [193.109.254.147:63134] by server-8.bemta-14.messagelabs.com id
	D1/19-23244-71801AF4; Wed, 02 May 2012 10:10:31 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1335953393!413491!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAxOTA2MDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26316 invoked from network); 2 May 2012 10:10:11 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:10:11 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:39:52 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:39:49 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9nnF1180092
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:39:49 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FeGYi011975
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:40:19 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FeF28011954; Thu, 3 May 2012 01:40:16 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:39:36 +0530
Message-Id: <20120502100936.13206.8094.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-8256-0000-0000-000002361F75
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 16/17] kvm : Paravirtual ticketlocks
	support for linux guests running on KVM hypervisor
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>

During smp_boot_cpus  paravirtualied KVM guest detects if the hypervisor has
required feature (KVM_FEATURE_PV_UNHALT) to support pv-ticketlocks. If so,
 support for pv-ticketlocks is registered via pv_lock_ops.

Use KVM_HC_KICK_CPU hypercall to wakeup waiting/halted vcpu.

Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/kvm_para.h |   14 ++-
 arch/x86/kernel/kvm.c           |  256 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 268 insertions(+), 2 deletions(-)
diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h
index 5b647ea..77266d3 100644
--- a/arch/x86/include/asm/kvm_para.h
+++ b/arch/x86/include/asm/kvm_para.h
@@ -195,10 +195,20 @@ void kvm_async_pf_task_wait(u32 token);
 void kvm_async_pf_task_wake(u32 token);
 u32 kvm_read_and_reset_pf_reason(void);
 extern void kvm_disable_steal_time(void);
-#else
-#define kvm_guest_init() do { } while (0)
+
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+void __init kvm_spinlock_init(void);
+#else /* !CONFIG_PARAVIRT_SPINLOCKS */
+static inline void kvm_spinlock_init(void)
+{
+}
+#endif /* CONFIG_PARAVIRT_SPINLOCKS */
+
+#else /* CONFIG_KVM_GUEST */
+#define kvm_guest_init() do {} while (0)
 #define kvm_async_pf_task_wait(T) do {} while(0)
 #define kvm_async_pf_task_wake(T) do {} while(0)
+
 static inline u32 kvm_read_and_reset_pf_reason(void)
 {
 	return 0;
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index b8ba6e4..7c46567 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -33,6 +33,7 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/kprobes.h>
+#include <linux/debugfs.h>
 #include <asm/timer.h>
 #include <asm/cpu.h>
 #include <asm/traps.h>
@@ -368,6 +369,7 @@ static void __init kvm_smp_prepare_boot_cpu(void)
 #endif
 	kvm_guest_cpu_init();
 	native_smp_prepare_boot_cpu();
+	kvm_spinlock_init();
 }
 
 static void __cpuinit kvm_guest_cpu_online(void *dummy)
@@ -450,3 +452,257 @@ static __init int activate_jump_labels(void)
 	return 0;
 }
 arch_initcall(activate_jump_labels);
+
+/* Kick a cpu by its apicid. Used to wake up a halted vcpu */
+void kvm_kick_cpu(int cpu)
+{
+	int apicid;
+
+	apicid = per_cpu(x86_cpu_to_apicid, cpu);
+	kvm_hypercall1(KVM_HC_KICK_CPU, apicid);
+}
+
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+
+enum kvm_contention_stat {
+	TAKEN_SLOW,
+	TAKEN_SLOW_PICKUP,
+	RELEASED_SLOW,
+	RELEASED_SLOW_KICKED,
+	NR_CONTENTION_STATS
+};
+
+#ifdef CONFIG_KVM_DEBUG_FS
+#define HISTO_BUCKETS	30
+
+static struct kvm_spinlock_stats
+{
+	u32 contention_stats[NR_CONTENTION_STATS];
+	u32 histo_spin_blocked[HISTO_BUCKETS+1];
+	u64 time_blocked;
+} spinlock_stats;
+
+static u8 zero_stats;
+
+static inline void check_zero(void)
+{
+	u8 ret;
+	u8 old;
+
+	old = ACCESS_ONCE(zero_stats);
+	if (unlikely(old)) {
+		ret = cmpxchg(&zero_stats, old, 0);
+		/* This ensures only one fellow resets the stat */
+		if (ret == old)
+			memset(&spinlock_stats, 0, sizeof(spinlock_stats));
+	}
+}
+
+static inline void add_stats(enum kvm_contention_stat var, u32 val)
+{
+	check_zero();
+	spinlock_stats.contention_stats[var] += val;
+}
+
+
+static inline u64 spin_time_start(void)
+{
+	return sched_clock();
+}
+
+static void __spin_time_accum(u64 delta, u32 *array)
+{
+	unsigned index;
+
+	index = ilog2(delta);
+	check_zero();
+
+	if (index < HISTO_BUCKETS)
+		array[index]++;
+	else
+		array[HISTO_BUCKETS]++;
+}
+
+static inline void spin_time_accum_blocked(u64 start)
+{
+	u32 delta;
+
+	delta = sched_clock() - start;
+	__spin_time_accum(delta, spinlock_stats.histo_spin_blocked);
+	spinlock_stats.time_blocked += delta;
+}
+
+static struct dentry *d_spin_debug;
+static struct dentry *d_kvm_debug;
+
+struct dentry *kvm_init_debugfs(void)
+{
+	d_kvm_debug = debugfs_create_dir("kvm", NULL);
+	if (!d_kvm_debug)
+		printk(KERN_WARNING "Could not create 'kvm' debugfs directory\n");
+
+	return d_kvm_debug;
+}
+
+static int __init kvm_spinlock_debugfs(void)
+{
+	struct dentry *d_kvm;
+
+	d_kvm = kvm_init_debugfs();
+	if (d_kvm == NULL)
+		return -ENOMEM;
+
+	d_spin_debug = debugfs_create_dir("spinlocks", d_kvm);
+
+	debugfs_create_u8("zero_stats", 0644, d_spin_debug, &zero_stats);
+
+	debugfs_create_u32("taken_slow", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[TAKEN_SLOW]);
+	debugfs_create_u32("taken_slow_pickup", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[TAKEN_SLOW_PICKUP]);
+
+	debugfs_create_u32("released_slow", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[RELEASED_SLOW]);
+	debugfs_create_u32("released_slow_kicked", 0444, d_spin_debug,
+		   &spinlock_stats.contention_stats[RELEASED_SLOW_KICKED]);
+
+	debugfs_create_u64("time_blocked", 0444, d_spin_debug,
+			   &spinlock_stats.time_blocked);
+
+	debugfs_create_u32_array("histo_blocked", 0444, d_spin_debug,
+		     spinlock_stats.histo_spin_blocked, HISTO_BUCKETS + 1);
+
+	return 0;
+}
+fs_initcall(kvm_spinlock_debugfs);
+#else  /* !CONFIG_KVM_DEBUG_FS */
+#define TIMEOUT			(1 << 10)
+static inline void add_stats(enum kvm_contention_stat var, u32 val)
+{
+}
+
+static inline u64 spin_time_start(void)
+{
+	return 0;
+}
+
+static inline void spin_time_accum_blocked(u64 start)
+{
+}
+#endif  /* CONFIG_KVM_DEBUG_FS */
+
+struct kvm_lock_waiting {
+	struct arch_spinlock *lock;
+	__ticket_t want;
+};
+
+/* cpus 'waiting' on a spinlock to become available */
+static cpumask_t waiting_cpus;
+
+/* Track spinlock on which a cpu is waiting */
+static DEFINE_PER_CPU(struct kvm_lock_waiting, lock_waiting);
+
+static void kvm_lock_spinning(struct arch_spinlock *lock, __ticket_t want)
+{
+	struct kvm_lock_waiting *w;
+	int cpu;
+	u64 start;
+	unsigned long flags;
+
+	w = &__get_cpu_var(lock_waiting);
+	cpu = smp_processor_id();
+	start = spin_time_start();
+
+	/*
+	 * Make sure an interrupt handler can't upset things in a
+	 * partially setup state.
+	 */
+	local_irq_save(flags);
+
+	/*
+	 * The ordering protocol on this is that the "lock" pointer
+	 * may only be set non-NULL if the "want" ticket is correct.
+	 * If we're updating "want", we must first clear "lock".
+	 */
+	w->lock = NULL;
+	smp_wmb();
+	w->want = want;
+	smp_wmb();
+	w->lock = lock;
+
+	add_stats(TAKEN_SLOW, 1);
+
+	/*
+	 * This uses set_bit, which is atomic but we should not rely on its
+	 * reordering gurantees. So barrier is needed after this call.
+	 */
+	cpumask_set_cpu(cpu, &waiting_cpus);
+
+	barrier();
+
+	/*
+	 * Mark entry to slowpath before doing the pickup test to make
+	 * sure we don't deadlock with an unlocker.
+	 */
+	__ticket_enter_slowpath(lock);
+
+	/*
+	 * check again make sure it didn't become free while
+	 * we weren't looking.
+	 */
+	if (ACCESS_ONCE(lock->tickets.head) == want) {
+		add_stats(TAKEN_SLOW_PICKUP, 1);
+		goto out;
+	}
+
+	/* Allow interrupts while blocked */
+	local_irq_restore(flags);
+
+	/* halt until it's our turn and kicked. */
+	halt();
+
+	local_irq_save(flags);
+out:
+	cpumask_clear_cpu(cpu, &waiting_cpus);
+	w->lock = NULL;
+	local_irq_restore(flags);
+	spin_time_accum_blocked(start);
+}
+PV_CALLEE_SAVE_REGS_THUNK(kvm_lock_spinning);
+
+/* Kick vcpu waiting on @lock->head to reach value @ticket */
+static void kvm_unlock_kick(struct arch_spinlock *lock, __ticket_t ticket)
+{
+	int cpu;
+
+	add_stats(RELEASED_SLOW, 1);
+	for_each_cpu(cpu, &waiting_cpus) {
+		const struct kvm_lock_waiting *w = &per_cpu(lock_waiting, cpu);
+		if (ACCESS_ONCE(w->lock) == lock &&
+		    ACCESS_ONCE(w->want) == ticket) {
+			add_stats(RELEASED_SLOW_KICKED, 1);
+			kvm_kick_cpu(cpu);
+			break;
+		}
+	}
+}
+
+/*
+ * Setup pv_lock_ops to exploit KVM_FEATURE_PV_UNHALT if present.
+ */
+void __init kvm_spinlock_init(void)
+{
+	if (!kvm_para_available())
+		return;
+	/* Does host kernel support KVM_FEATURE_PV_UNHALT? */
+	if (!kvm_para_has_feature(KVM_FEATURE_PV_UNHALT))
+		return;
+
+	printk(KERN_INFO"KVM setup paravirtual spinlock\n");
+
+	static_key_slow_inc(&paravirt_ticketlocks_enabled);
+
+	pv_lock_ops.lock_spinning = PV_CALLEE_SAVE(kvm_lock_spinning);
+	pv_lock_ops.unlock_kick = kvm_unlock_kick;
+}
+#endif	/* CONFIG_PARAVIRT_SPINLOCKS */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVY-0004n4-55; Fri, 04 May 2012 09:09:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUB-0004Ti-G9
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:39 +0000
Received: from [193.109.254.147:37196] by server-9.bemta-14.messagelabs.com id
	CE/B2-05787-6A701AF4; Wed, 02 May 2012 10:08:38 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1335953314!366164!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxODU3NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 384 invoked from network); 2 May 2012 10:08:37 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:08:37 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:33 +0530
Received: from d28relay05.in.ibm.com (9.184.220.62)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:37:57 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A7u7r22347888
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:37:56 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FcVYG026194
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:34 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FcU8Q026136; Thu, 3 May 2012 01:38:30 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:37:42 +0530
Message-Id: <20120502100742.13206.30771.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-4790-0000-0000-0000026EB8DB
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 7/17] x86/pvticketlock: Use callee-save
	for lock_spinning
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

Although the lock_spinning calls in the spinlock code are on the
uncommon path, their presence can cause the compiler to generate many
more register save/restores in the function pre/postamble, which is in
the fast path.  To avoid this, convert it to using the pvops callee-save
calling convention, which defers all the save/restores until the actual
function is called, keeping the fastpath clean.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tested-by: Attilio Rao <attilio.rao@citrix.com> 
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/include/asm/paravirt.h       |    2 +-
 arch/x86/include/asm/paravirt_types.h |    2 +-
 arch/x86/kernel/paravirt-spinlocks.c  |    2 +-
 arch/x86/xen/spinlock.c               |    3 ++-
 4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 4bcd146..9769096 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -754,7 +754,7 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
 static __always_inline void __ticket_lock_spinning(struct arch_spinlock *lock,
 							__ticket_t ticket)
 {
-	PVOP_VCALL2(pv_lock_ops.lock_spinning, lock, ticket);
+	PVOP_VCALLEE2(pv_lock_ops.lock_spinning, lock, ticket);
 }
 
 static __always_inline void ____ticket_unlock_kick(struct arch_spinlock *lock,
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 005e24d..5e0c138 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -330,7 +330,7 @@ struct arch_spinlock;
 #include <asm/spinlock_types.h>
 
 struct pv_lock_ops {
-	void (*lock_spinning)(struct arch_spinlock *lock, __ticket_t ticket);
+	struct paravirt_callee_save lock_spinning;
 	void (*unlock_kick)(struct arch_spinlock *lock, __ticket_t ticket);
 };
 
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index c2e010e..4251c1d 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -9,7 +9,7 @@
 
 struct pv_lock_ops pv_lock_ops = {
 #ifdef CONFIG_SMP
-	.lock_spinning = paravirt_nop,
+	.lock_spinning = __PV_IS_CALLEE_SAVE(paravirt_nop),
 	.unlock_kick = paravirt_nop,
 #endif
 };
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index c4886dc..c47a8d1 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -171,6 +171,7 @@ out:
 	local_irq_restore(flags);
 	spin_time_accum_blocked(start);
 }
+PV_CALLEE_SAVE_REGS_THUNK(xen_lock_spinning);
 
 static void xen_unlock_kick(struct arch_spinlock *lock, __ticket_t next)
 {
@@ -230,7 +231,7 @@ void __init xen_init_spinlocks(void)
 		return;
 	}
 
-	pv_lock_ops.lock_spinning = xen_lock_spinning;
+	pv_lock_ops.lock_spinning = PV_CALLEE_SAVE(xen_lock_spinning);
 	pv_lock_ops.unlock_kick = xen_unlock_kick;
 }
 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVX-0004mf-Q7; Fri, 04 May 2012 09:08:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWUB-0004Th-1L
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:08:39 +0000
Received: from [193.109.254.147:37168] by server-12.bemta-14.messagelabs.com
	id 11/D9-05898-6A701AF4; Wed, 02 May 2012 10:08:38 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1335953314!7230159!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxODU3NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22983 invoked from network); 2 May 2012 10:08:37 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:08:37 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:38:33 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:38:17 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A8GoI15859730
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:38:16 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42FciYd006823
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:46 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FciIY006814; Thu, 3 May 2012 01:38:44 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Avi Kivity <avi@redhat.com>,
	X86 <x86@kernel.org>, Gleb Natapov <gleb@redhat.com>,
	Ingo Molnar <mingo@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>
Date: Wed, 02 May 2012 15:38:05 +0530
Message-Id: <20120502100805.13206.73345.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-4790-0000-0000-0000026EB92D
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 9/17] Split out rate limiting from
	jump_label.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Andrew Jones <drjones@redhat.com>

Commit b202952075f62603bea9bfb6ebc6b0420db11949 introduced rate limiting
for jump label disabling. The changes were made in the jump label code
in order to be more widely available and to keep things tidier. This is
all fine, except now jump_label.h includes linux/workqueue.h, which
makes it impossible to include jump_label.h from anything that
workqueue.h needs. For example, it's now impossible to include
jump_label.h from asm/spinlock.h, which is done in proposed
pv-ticketlock patches. This patch splits out the rate limiting related
changes from jump_label.h into a new file, jump_label_ratelimit.h, to
resolve the issue.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 include/linux/jump_label.h           |   26 +-------------------------
 include/linux/jump_label_ratelimit.h |   34 ++++++++++++++++++++++++++++++++++
 include/linux/perf_event.h           |    1 +
 kernel/jump_label.c                  |    1 +
 4 files changed, 37 insertions(+), 25 deletions(-)
diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
index c513a40..8195227 100644
--- a/include/linux/jump_label.h
+++ b/include/linux/jump_label.h
@@ -49,7 +49,6 @@
 
 #include <linux/types.h>
 #include <linux/compiler.h>
-#include <linux/workqueue.h>
 
 #if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL)
 
@@ -62,12 +61,6 @@ struct static_key {
 #endif
 };
 
-struct static_key_deferred {
-	struct static_key key;
-	unsigned long timeout;
-	struct delayed_work work;
-};
-
 # include <asm/jump_label.h>
 # define HAVE_JUMP_LABEL
 #endif	/* CC_HAVE_ASM_GOTO && CONFIG_JUMP_LABEL */
@@ -126,10 +119,7 @@ extern void arch_jump_label_transform_static(struct jump_entry *entry,
 extern int jump_label_text_reserved(void *start, void *end);
 extern void static_key_slow_inc(struct static_key *key);
 extern void static_key_slow_dec(struct static_key *key);
-extern void static_key_slow_dec_deferred(struct static_key_deferred *key);
 extern void jump_label_apply_nops(struct module *mod);
-extern void
-jump_label_rate_limit(struct static_key_deferred *key, unsigned long rl);
 
 #define STATIC_KEY_INIT_TRUE ((struct static_key) \
 	{ .enabled = ATOMIC_INIT(1), .entries = (void *)1 })
@@ -148,10 +138,6 @@ static __always_inline void jump_label_init(void)
 {
 }
 
-struct static_key_deferred {
-	struct static_key  key;
-};
-
 static __always_inline bool static_key_false(struct static_key *key)
 {
 	if (unlikely(atomic_read(&key->enabled)) > 0)
@@ -184,11 +170,6 @@ static inline void static_key_slow_dec(struct static_key *key)
 	atomic_dec(&key->enabled);
 }
 
-static inline void static_key_slow_dec_deferred(struct static_key_deferred *key)
-{
-	static_key_slow_dec(&key->key);
-}
-
 static inline int jump_label_text_reserved(void *start, void *end)
 {
 	return 0;
@@ -202,12 +183,6 @@ static inline int jump_label_apply_nops(struct module *mod)
 	return 0;
 }
 
-static inline void
-jump_label_rate_limit(struct static_key_deferred *key,
-		unsigned long rl)
-{
-}
-
 #define STATIC_KEY_INIT_TRUE ((struct static_key) \
 		{ .enabled = ATOMIC_INIT(1) })
 #define STATIC_KEY_INIT_FALSE ((struct static_key) \
@@ -218,6 +193,7 @@ jump_label_rate_limit(struct static_key_deferred *key,
 #define STATIC_KEY_INIT STATIC_KEY_INIT_FALSE
 #define jump_label_enabled static_key_enabled
 
+static inline int atomic_read(const atomic_t *v);
 static inline bool static_key_enabled(struct static_key *key)
 {
 	return (atomic_read(&key->enabled) > 0);
diff --git a/include/linux/jump_label_ratelimit.h b/include/linux/jump_label_ratelimit.h
new file mode 100644
index 0000000..1137883
--- /dev/null
+++ b/include/linux/jump_label_ratelimit.h
@@ -0,0 +1,34 @@
+#ifndef _LINUX_JUMP_LABEL_RATELIMIT_H
+#define _LINUX_JUMP_LABEL_RATELIMIT_H
+
+#include <linux/jump_label.h>
+#include <linux/workqueue.h>
+
+#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL)
+struct static_key_deferred {
+	struct static_key key;
+	unsigned long timeout;
+	struct delayed_work work;
+};
+#endif
+
+#ifdef HAVE_JUMP_LABEL
+extern void static_key_slow_dec_deferred(struct static_key_deferred *key);
+extern void
+jump_label_rate_limit(struct static_key_deferred *key, unsigned long rl);
+
+#else	/* !HAVE_JUMP_LABEL */
+struct static_key_deferred {
+	struct static_key  key;
+};
+static inline void static_key_slow_dec_deferred(struct static_key_deferred *key)
+{
+	static_key_slow_dec(&key->key);
+}
+static inline void
+jump_label_rate_limit(struct static_key_deferred *key,
+		unsigned long rl)
+{
+}
+#endif	/* HAVE_JUMP_LABEL */
+#endif	/* _LINUX_JUMP_LABEL_RATELIMIT_H */
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index ddbb6a9..a0e6118 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -605,6 +605,7 @@ struct perf_guest_info_callbacks {
 #include <linux/cpu.h>
 #include <linux/irq_work.h>
 #include <linux/static_key.h>
+#include <linux/jump_label_ratelimit.h>
 #include <linux/atomic.h>
 #include <linux/sysfs.h>
 #include <asm/local.h>
diff --git a/kernel/jump_label.c b/kernel/jump_label.c
index 4304919..e17f8d6 100644
--- a/kernel/jump_label.c
+++ b/kernel/jump_label.c
@@ -13,6 +13,7 @@
 #include <linux/sort.h>
 #include <linux/err.h>
 #include <linux/static_key.h>
+#include <linux/jump_label_ratelimit.h>
 
 #ifdef HAVE_JUMP_LABEL
 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVW-0004lO-9R; Fri, 04 May 2012 09:08:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWT0-0004SB-Ae
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:07:26 +0000
Received: from [85.158.143.99:18194] by server-1.bemta-4.messagelabs.com id
	9E/2A-20925-D5701AF4; Wed, 02 May 2012 10:07:25 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1335953241!26102482!1
X-Originating-IP: [202.81.31.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MSA9PiAxMzQ1OTE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29407 invoked from network); 2 May 2012 10:07:24 -0000
Received: from e23smtp08.au.ibm.com (HELO e23smtp08.au.ibm.com) (202.81.31.141)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 May 2012 10:07:24 -0000
Received: from /spool/local
	by e23smtp08.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 10:04:34 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp08.au.ibm.com (202.81.31.205) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 10:04:31 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A7HP729425862
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:07:17 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42A7FPU017448
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 20:07:17 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42A7BFv017367; Wed, 2 May 2012 20:07:11 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:37:01 +0530
Message-Id: <20120502100701.13206.12548.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050200-5140-0000-0000-0000012AB63F
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 4/17] xen: Defer spinlock setup until
	boot CPU setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

There's no need to do it at very early init, and doing it there
makes it impossible to use the jump_label machinery.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/xen/smp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 0503c0c..7dc400a 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -222,6 +222,7 @@ static void __init xen_smp_prepare_boot_cpu(void)
 
 	xen_filter_cpu_maps();
 	xen_setup_vcpu_info_placement();
+	xen_init_spinlocks();
 }
 
 static void __init xen_smp_prepare_cpus(unsigned int max_cpus)
@@ -551,7 +552,6 @@ void __init xen_smp_init(void)
 {
 	smp_ops = xen_smp_ops;
 	xen_fill_possible_map();
-	xen_init_spinlocks();
 }
 
 static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVa-0004pZ-17; Fri, 04 May 2012 09:09:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SPWVF-0004X2-Ga
	for xen-devel@lists.xensource.com; Wed, 02 May 2012 10:09:45 +0000
Received: from [85.158.143.35:39376] by server-2.bemta-4.messagelabs.com id
	1E/44-17550-8E701AF4; Wed, 02 May 2012 10:09:44 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1335953367!11246867!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxODg5MTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14317 invoked from network); 2 May 2012 10:09:42 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 May 2012 10:09:42 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 2 May 2012 15:39:26 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 2 May 2012 15:39:23 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q42A9MtG62783670
	for <xen-devel@lists.xensource.com>; Wed, 2 May 2012 15:39:23 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q42Fcavq007042
	for <xen-devel@lists.xensource.com>; Thu, 3 May 2012 01:38:37 +1000
Received: from codeblue.in.ibm.com (codeblue.in.ibm.com [9.124.158.149])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q42FcZb6007032; Thu, 3 May 2012 01:38:36 +1000
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, Ingo Molnar <mingo@redhat.com>,
	Avi Kivity <avi@redhat.com>
Date: Wed, 02 May 2012 15:39:11 +0530
Message-Id: <20120502100911.13206.63174.sendpatchset@codeblue.in.ibm.com>
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
x-cbid: 12050210-9574-0000-0000-0000027258FE
X-Mailman-Approved-At: Fri, 04 May 2012 09:08:54 +0000
Cc: Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH RFC V8 14/17] kvm : Fold pv_unhalt flag into
	GET_MP_STATE ioctl to aid migration
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>

During migration, any vcpu that got kicked but did not become runnable
 (still in halted state) should be runnable after migration.

Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
---
 arch/x86/kvm/x86.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index f188cdc..5b09b67 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5691,7 +5691,12 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,
 int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
 				    struct kvm_mp_state *mp_state)
 {
-	mp_state->mp_state = vcpu->arch.mp_state;
+	if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED &&
+					vcpu->arch.pv.pv_unhalted)
+		mp_state->mp_state = KVM_MP_STATE_RUNNABLE;
+	else
+		mp_state->mp_state = vcpu->arch.mp_state;
+
 	return 0;
 }
 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVe-00050B-Am; Fri, 04 May 2012 09:09:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQEVa-0004p4-BT
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 09:09:02 +0000
Received: from [85.158.138.51:23218] by server-5.bemta-3.messagelabs.com id
	00/EF-17113-DAC93AF4; Fri, 04 May 2012 09:09:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336122540!25219451!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9498 invoked from network); 4 May 2012 09:09:01 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:09:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12292387"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:08:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	10:08:24 +0100
Message-ID: <1336122502.2361.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Date: Fri, 4 May 2012 10:08:22 +0100
In-Reply-To: <20120503191025.7c2cec2e@mantra.us.oracle.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 03:10 +0100, Mukesh Rathor wrote:
> Hi guys,
> 
> At a loss trying to figure why 
>   if (has_eflag(X86_EFLAGS_ID))
> 
> returns false in my HVM domU. Standard function has_eflag() in
> cpucheck.c running in real mode. Works fine on PV dom0,

Are you sure code in cpucheck.c is even being called for the PV/dom0
case? I'm reasonably sure that PV Xen boot doesn't go anywhere near
arch/x86/boot -- we have a totally different entry point.

> but fails when guest is booting on my hybrid dom0.

What does the guest EFLAGS actually contain at this point? Is it
different to what it contains on non-hybrid dom0?

How do we execute 16 bit code in a VMX guest these days, using vm86 or
by emulation? How does that interact with EFLAGS_ID I wonder (although
why hybrid dom0 would have any bearing on this I've no idea).

> LMK if any ideas. I'll keep digging in the manuals, but nothing so far.
> 
> thanks,
> Mukesh
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:09:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:09:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEVe-00050B-Am; Fri, 04 May 2012 09:09:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQEVa-0004p4-BT
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 09:09:02 +0000
Received: from [85.158.138.51:23218] by server-5.bemta-3.messagelabs.com id
	00/EF-17113-DAC93AF4; Fri, 04 May 2012 09:09:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336122540!25219451!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzE4Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9498 invoked from network); 4 May 2012 09:09:01 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:09:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12292387"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:08:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	10:08:24 +0100
Message-ID: <1336122502.2361.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Date: Fri, 4 May 2012 10:08:22 +0100
In-Reply-To: <20120503191025.7c2cec2e@mantra.us.oracle.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 03:10 +0100, Mukesh Rathor wrote:
> Hi guys,
> 
> At a loss trying to figure why 
>   if (has_eflag(X86_EFLAGS_ID))
> 
> returns false in my HVM domU. Standard function has_eflag() in
> cpucheck.c running in real mode. Works fine on PV dom0,

Are you sure code in cpucheck.c is even being called for the PV/dom0
case? I'm reasonably sure that PV Xen boot doesn't go anywhere near
arch/x86/boot -- we have a totally different entry point.

> but fails when guest is booting on my hybrid dom0.

What does the guest EFLAGS actually contain at this point? Is it
different to what it contains on non-hybrid dom0?

How do we execute 16 bit code in a VMX guest these days, using vm86 or
by emulation? How does that interact with EFLAGS_ID I wonder (although
why hybrid dom0 would have any bearing on this I've no idea).

> LMK if any ideas. I'll keep digging in the manuals, but nothing so far.
> 
> thanks,
> Mukesh
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:13:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEZO-0007bD-Ha; Fri, 04 May 2012 09:12:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQEZN-0007ag-7c
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:12:57 +0000
Received: from [85.158.143.99:43691] by server-2.bemta-4.messagelabs.com id
	70/D5-17550-89D93AF4; Fri, 04 May 2012 09:12:56 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336122775!21148487!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19664 invoked from network); 4 May 2012 09:12:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 09:12:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 10:12:54 +0100
Message-Id: <4FA3B9B602000078000818E5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 10:12:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FA3ACDB0200007800081847@nat28.tlf.novell.com>
	<CBC95112.324B8%keir.xen@gmail.com>
In-Reply-To: <CBC95112.324B8%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 10:25, Keir Fraser <keir.xen@gmail.com> wrote:
> On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:
>> does this really need to be a per-CPU variable? Can't a timer run only
>> once at a time on the entire system (the more that it gets re-armed only
>> at the end of the poll function, whereas the variable is consumed at the
>> start), and hence the variable can be a simple one? Or else, what
>> subtlety am I overlooking?
> 
> We set up a timer per initialised uart. There can be more than one (although
> granted it is rare).

Is that actually useful? console.c can't really use more than one at a
time (for there being a single sercon_handle), so perhaps it would be
a good thing to avoid the setup for those that aren't actively used,
e.g. by not calling ->init_postirq() for other than the used one?

Oh, wait, with crash_debug there can be a second call to
serial_parse_handle(), so in that case serial console and gdb stub
may run through different ports. With crash_debug off by default,
wouldn't it make sense to optimize for that common case, so that
specifying both "com1=" and "com2=" on the command line wouldn't
needlessly consume resources (as serial_parse_handle() can easily
tag which ports it got called for)? Or would you rather take the
position of expecting people to remove unnecessary command line
options, or live with them having side effects?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:13:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEZO-0007bD-Ha; Fri, 04 May 2012 09:12:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQEZN-0007ag-7c
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:12:57 +0000
Received: from [85.158.143.99:43691] by server-2.bemta-4.messagelabs.com id
	70/D5-17550-89D93AF4; Fri, 04 May 2012 09:12:56 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336122775!21148487!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19664 invoked from network); 4 May 2012 09:12:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 09:12:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 10:12:54 +0100
Message-Id: <4FA3B9B602000078000818E5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 10:12:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FA3ACDB0200007800081847@nat28.tlf.novell.com>
	<CBC95112.324B8%keir.xen@gmail.com>
In-Reply-To: <CBC95112.324B8%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 10:25, Keir Fraser <keir.xen@gmail.com> wrote:
> On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:
>> does this really need to be a per-CPU variable? Can't a timer run only
>> once at a time on the entire system (the more that it gets re-armed only
>> at the end of the poll function, whereas the variable is consumed at the
>> start), and hence the variable can be a simple one? Or else, what
>> subtlety am I overlooking?
> 
> We set up a timer per initialised uart. There can be more than one (although
> granted it is rare).

Is that actually useful? console.c can't really use more than one at a
time (for there being a single sercon_handle), so perhaps it would be
a good thing to avoid the setup for those that aren't actively used,
e.g. by not calling ->init_postirq() for other than the used one?

Oh, wait, with crash_debug there can be a second call to
serial_parse_handle(), so in that case serial console and gdb stub
may run through different ports. With crash_debug off by default,
wouldn't it make sense to optimize for that common case, so that
specifying both "com1=" and "com2=" on the command line wouldn't
needlessly consume resources (as serial_parse_handle() can easily
tag which ports it got called for)? Or would you rather take the
position of expecting people to remove unnecessary command line
options, or live with them having side effects?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:25:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQElX-00088R-8v; Fri, 04 May 2012 09:25:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQElV-00088M-Oh
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:25:29 +0000
Received: from [193.109.254.147:38622] by server-11.bemta-14.messagelabs.com
	id 0A/40-05858-980A3AF4; Fri, 04 May 2012 09:25:29 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336123527!2450718!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6143 invoked from network); 4 May 2012 09:25:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:25:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12292975"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:25:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	10:25:26 +0100
Message-ID: <1336123525.2361.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jim Westfall <jwestfall@surrealistic.net>
Date: Fri, 4 May 2012 10:25:25 +0100
In-Reply-To: <20120502185402.GV5985@surrealistic.net>
References: <20120502185402.GV5985@surrealistic.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 19:54 +0100, Jim Westfall wrote:
> Hi
> 
> I wanted to bring this to your attention
> 
> https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/956051
> 
> The summary is that when gcc compiles something with -mfma4 it also 
> enables the use of the avx instruction set.  Since by default xen 
> disables avx it leads to invalid opcodes.
> 
> This ends up being kinda nasty with the multiarch glibc since its doing 
> stuff like
> 
> (HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))
> 
> run_fma4_func() can end up bombing out from the invalid opcode when run 
> under xen.
> 
> Its not clear to me if xen should be filtering fma4 as part of its avx 
> filter or if gcc should not assume avx support when compiling with 
> -mfma4.

http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/
is pretty clear about the need for code to verify that the OS supports
these instructions before using them (see under "Detecting Availability
and Support"). The bit people seem to forget is the requirement to check
CPUID.1:ECX.OSXSAVE = 1 to ensure the OS supports the use of these
instructions (since they are not transparent to the OS) as well as
checking the processor features themselves.

If gcc/eglibc is not doing this before using those instructions then
that seems like it is a bug in either gcc or eglibc.

If the user is using some gcc option which forces the use of those
instructions when the (virtualised, or otherwise) processor does not
support them that seems like user error to me, it's no different to
using -mcpu=686 and then trying to run on a 486 class processor.

Sounds a lot like the same issue as
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646549
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646945

Ian


> 
> thoughts?
> 
> thanks
> jim
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:25:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQElX-00088R-8v; Fri, 04 May 2012 09:25:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQElV-00088M-Oh
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:25:29 +0000
Received: from [193.109.254.147:38622] by server-11.bemta-14.messagelabs.com
	id 0A/40-05858-980A3AF4; Fri, 04 May 2012 09:25:29 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336123527!2450718!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6143 invoked from network); 4 May 2012 09:25:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:25:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12292975"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:25:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	10:25:26 +0100
Message-ID: <1336123525.2361.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jim Westfall <jwestfall@surrealistic.net>
Date: Fri, 4 May 2012 10:25:25 +0100
In-Reply-To: <20120502185402.GV5985@surrealistic.net>
References: <20120502185402.GV5985@surrealistic.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-02 at 19:54 +0100, Jim Westfall wrote:
> Hi
> 
> I wanted to bring this to your attention
> 
> https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/956051
> 
> The summary is that when gcc compiles something with -mfma4 it also 
> enables the use of the avx instruction set.  Since by default xen 
> disables avx it leads to invalid opcodes.
> 
> This ends up being kinda nasty with the multiarch glibc since its doing 
> stuff like
> 
> (HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))
> 
> run_fma4_func() can end up bombing out from the invalid opcode when run 
> under xen.
> 
> Its not clear to me if xen should be filtering fma4 as part of its avx 
> filter or if gcc should not assume avx support when compiling with 
> -mfma4.

http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/
is pretty clear about the need for code to verify that the OS supports
these instructions before using them (see under "Detecting Availability
and Support"). The bit people seem to forget is the requirement to check
CPUID.1:ECX.OSXSAVE = 1 to ensure the OS supports the use of these
instructions (since they are not transparent to the OS) as well as
checking the processor features themselves.

If gcc/eglibc is not doing this before using those instructions then
that seems like it is a bug in either gcc or eglibc.

If the user is using some gcc option which forces the use of those
instructions when the (virtualised, or otherwise) processor does not
support them that seems like user error to me, it's no different to
using -mcpu=686 and then trying to run on a 486 class processor.

Sounds a lot like the same issue as
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646549
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646945

Ian


> 
> thoughts?
> 
> thanks
> jim
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:27:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:27:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEnZ-0008F8-UG; Fri, 04 May 2012 09:27:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQEnY-0008F2-F4
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:27:36 +0000
Received: from [193.109.254.147:18873] by server-9.bemta-14.messagelabs.com id
	1F/F8-05787-701A3AF4; Fri, 04 May 2012 09:27:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336123655!7631742!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10753 invoked from network); 4 May 2012 09:27:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 09:27:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 10:27:34 +0100
Message-Id: <4FA3BD2602000078000818F7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 10:27:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jim Westfall" <jwestfall@surrealistic.net>
References: <20120502185402.GV5985@surrealistic.net>
In-Reply-To: <20120502185402.GV5985@surrealistic.net>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 20:54, Jim Westfall <jwestfall@surrealistic.net> wrote:
> The summary is that when gcc compiles something with -mfma4 it also 
> enables the use of the avx instruction set.  Since by default xen 
> disables avx it leads to invalid opcodes.

Not that I know of, at least not anymore in current -unstable.

> This ends up being kinda nasty with the multiarch glibc since its doing 
> stuff like
> 
> (HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))

The question is what (runtime) tests HAS_FMA includes. I know that
some glibc versions had a broken AVX check (which only checked for
the AVX feature flag, while the specification explicitly states that
a prerequisite check of the OSXSAVE feature flag is also necessary).

> run_fma4_func() can end up bombing out from the invalid opcode when run 
> under xen.
> 
> Its not clear to me if xen should be filtering fma4 as part of its avx 
> filter or if gcc should not assume avx support when compiling with 
> -mfma4.

-mfma4 implying AVX and OSXSAVE is quite okay afaict, so long as
the runtime checks are done correctly. Though (didn't check) from
my experience with other instruction set related -m options I would
really expect this to result in code using FMA4 instructions without
any runtime check. But perhaps your explanation above was just
a simplified version of what's really being done...

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:27:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:27:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEnZ-0008F8-UG; Fri, 04 May 2012 09:27:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQEnY-0008F2-F4
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:27:36 +0000
Received: from [193.109.254.147:18873] by server-9.bemta-14.messagelabs.com id
	1F/F8-05787-701A3AF4; Fri, 04 May 2012 09:27:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336123655!7631742!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10753 invoked from network); 4 May 2012 09:27:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 09:27:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 10:27:34 +0100
Message-Id: <4FA3BD2602000078000818F7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 10:27:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jim Westfall" <jwestfall@surrealistic.net>
References: <20120502185402.GV5985@surrealistic.net>
In-Reply-To: <20120502185402.GV5985@surrealistic.net>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 02.05.12 at 20:54, Jim Westfall <jwestfall@surrealistic.net> wrote:
> The summary is that when gcc compiles something with -mfma4 it also 
> enables the use of the avx instruction set.  Since by default xen 
> disables avx it leads to invalid opcodes.

Not that I know of, at least not anymore in current -unstable.

> This ends up being kinda nasty with the multiarch glibc since its doing 
> stuff like
> 
> (HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))

The question is what (runtime) tests HAS_FMA includes. I know that
some glibc versions had a broken AVX check (which only checked for
the AVX feature flag, while the specification explicitly states that
a prerequisite check of the OSXSAVE feature flag is also necessary).

> run_fma4_func() can end up bombing out from the invalid opcode when run 
> under xen.
> 
> Its not clear to me if xen should be filtering fma4 as part of its avx 
> filter or if gcc should not assume avx support when compiling with 
> -mfma4.

-mfma4 implying AVX and OSXSAVE is quite okay afaict, so long as
the runtime checks are done correctly. Though (didn't check) from
my experience with other instruction set related -m options I would
really expect this to result in code using FMA4 instructions without
any runtime check. But perhaps your explanation above was just
a simplified version of what's really being done...

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:28:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:28:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEoK-0008Jh-CD; Fri, 04 May 2012 09:28:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQEoI-0008JM-IT
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:28:22 +0000
Received: from [85.158.143.99:46321] by server-2.bemta-4.messagelabs.com id
	38/FB-17550-531A3AF4; Fri, 04 May 2012 09:28:21 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336123701!16841940!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTg0Nzc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTg0Nzc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8964 invoked from network); 4 May 2012 09:28:21 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 09:28:21 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (joses mo87) (RZmta 28.16 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id U0416co4477rgA ;
	Fri, 4 May 2012 11:28:20 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 2B92018637; Fri,  4 May 2012 11:28:20 +0200 (CEST)
Date: Fri, 4 May 2012 11:28:20 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504092819.GA10010@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336120438.26385.13.camel@dagon.hellion.org.uk>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Ian Campbell wrote:

> On Thu, 2012-05-03 at 16:57 +0100, Olaf Hering wrote:
> > On Thu, May 03, Olaf Hering wrote:
> > 
> > > Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> > > disabled for some reason. I will double check.
> > 
> > While preparing the patch I accidently disabled vtpm in my rpm spec
> > file, so the code was not exectued anymore.
> > Sorry for that.
> 
> So should c5b7d49ca3ee be reverted for now? Or are you going to come up
> with a fix soon?

Reverting c5b7d49ca3ee is ok. I will send another patch on top which
will just crate and apply a second patch to use LDLIBS.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:28:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:28:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQEoK-0008Jh-CD; Fri, 04 May 2012 09:28:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQEoI-0008JM-IT
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:28:22 +0000
Received: from [85.158.143.99:46321] by server-2.bemta-4.messagelabs.com id
	38/FB-17550-531A3AF4; Fri, 04 May 2012 09:28:21 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336123701!16841940!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTg0Nzc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTg0Nzc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8964 invoked from network); 4 May 2012 09:28:21 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 09:28:21 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (joses mo87) (RZmta 28.16 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id U0416co4477rgA ;
	Fri, 4 May 2012 11:28:20 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 2B92018637; Fri,  4 May 2012 11:28:20 +0200 (CEST)
Date: Fri, 4 May 2012 11:28:20 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504092819.GA10010@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336120438.26385.13.camel@dagon.hellion.org.uk>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Ian Campbell wrote:

> On Thu, 2012-05-03 at 16:57 +0100, Olaf Hering wrote:
> > On Thu, May 03, Olaf Hering wrote:
> > 
> > > Perhaps I made a mistake somewhere in my queue of changes, or vtpm got
> > > disabled for some reason. I will double check.
> > 
> > While preparing the patch I accidently disabled vtpm in my rpm spec
> > file, so the code was not exectued anymore.
> > Sorry for that.
> 
> So should c5b7d49ca3ee be reverted for now? Or are you going to come up
> with a fix soon?

Reverting c5b7d49ca3ee is ok. I will send another patch on top which
will just crate and apply a second patch to use LDLIBS.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:40:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:40:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQF0B-0000f5-8X; Fri, 04 May 2012 09:40:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQF09-0000ev-NG
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:40:38 +0000
Received: from [85.158.138.51:39275] by server-3.bemta-3.messagelabs.com id
	B9/2A-04048-414A3AF4; Fri, 04 May 2012 09:40:36 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336124435!25097663!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24599 invoked from network); 4 May 2012 09:40:35 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:40:35 -0000
Received: by eekc4 with SMTP id c4so293722eek.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 02:40:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=17xVVqr1Bkz9Twc5Uuwa3cHhc11/swZ7arSMoKouHlM=;
	b=q5Cqsgf/JatV7wljKTF8I9JwqMIyJCKjVuwuNhthQKbJDaAzkqFEmMJTOD7S251o6s
	kNe0BbYDp3BQNp25RbioQVnrJQbb1lp3HUZYw57ga+NEEnKA1bH2sfyZCb35++3EaKYr
	pc5jyc3n0UmEfbdL5rcmCGk3vYjtvq3J40oj7j4sgirHmLZCM/cFi6NJa04VDCkTYiRU
	5/5/YXVU+vsoSf/XJ12rEjhZxw6XDfJW6fJcByfboCzst4SjOoXcWiKZZmxqiJd2SpEx
	QRHl/jgnDbVFbSbk4Gl63fWDtow81ysLjPFcpFSUVSYmVfOk6uG8mjCTmqh5p8xZFMSt
	jAVQ==
Received: by 10.213.19.209 with SMTP id c17mr1049982ebb.46.1336124435164;
	Fri, 04 May 2012 02:40:35 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm38819852eea.3.2012.05.04.02.40.32
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 02:40:34 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 10:40:28 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC9629C.324E3%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p2fBPS3U5ySj/Yk+JFXCz9Yn0Ng==
In-Reply-To: <4FA3B9B602000078000818E5@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 10:12, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 04.05.12 at 10:25, Keir Fraser <keir.xen@gmail.com> wrote:
>> On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:
>>> does this really need to be a per-CPU variable? Can't a timer run only
>>> once at a time on the entire system (the more that it gets re-armed only
>>> at the end of the poll function, whereas the variable is consumed at the
>>> start), and hence the variable can be a simple one? Or else, what
>>> subtlety am I overlooking?
>> 
>> We set up a timer per initialised uart. There can be more than one (although
>> granted it is rare).
> 
> Is that actually useful? console.c can't really use more than one at a
> time (for there being a single sercon_handle), so perhaps it would be
> a good thing to avoid the setup for those that aren't actively used,
> e.g. by not calling ->init_postirq() for other than the used one?
> 
> Oh, wait, with crash_debug there can be a second call to
> serial_parse_handle(), so in that case serial console and gdb stub
> may run through different ports. With crash_debug off by default,
> wouldn't it make sense to optimize for that common case, so that
> specifying both "com1=" and "com2=" on the command line wouldn't
> needlessly consume resources (as serial_parse_handle() can easily
> tag which ports it got called for)? Or would you rather take the
> position of expecting people to remove unnecessary command line
> options, or live with them having side effects?

I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
per CPU of the poll_port variable isn't worth much optimising effort.

 -- Keir

> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:40:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:40:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQF0B-0000f5-8X; Fri, 04 May 2012 09:40:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQF09-0000ev-NG
	for xen-devel@lists.xen.org; Fri, 04 May 2012 09:40:38 +0000
Received: from [85.158.138.51:39275] by server-3.bemta-3.messagelabs.com id
	B9/2A-04048-414A3AF4; Fri, 04 May 2012 09:40:36 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336124435!25097663!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24599 invoked from network); 4 May 2012 09:40:35 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:40:35 -0000
Received: by eekc4 with SMTP id c4so293722eek.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 02:40:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=17xVVqr1Bkz9Twc5Uuwa3cHhc11/swZ7arSMoKouHlM=;
	b=q5Cqsgf/JatV7wljKTF8I9JwqMIyJCKjVuwuNhthQKbJDaAzkqFEmMJTOD7S251o6s
	kNe0BbYDp3BQNp25RbioQVnrJQbb1lp3HUZYw57ga+NEEnKA1bH2sfyZCb35++3EaKYr
	pc5jyc3n0UmEfbdL5rcmCGk3vYjtvq3J40oj7j4sgirHmLZCM/cFi6NJa04VDCkTYiRU
	5/5/YXVU+vsoSf/XJ12rEjhZxw6XDfJW6fJcByfboCzst4SjOoXcWiKZZmxqiJd2SpEx
	QRHl/jgnDbVFbSbk4Gl63fWDtow81ysLjPFcpFSUVSYmVfOk6uG8mjCTmqh5p8xZFMSt
	jAVQ==
Received: by 10.213.19.209 with SMTP id c17mr1049982ebb.46.1336124435164;
	Fri, 04 May 2012 02:40:35 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm38819852eea.3.2012.05.04.02.40.32
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 02:40:34 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 10:40:28 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC9629C.324E3%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p2fBPS3U5ySj/Yk+JFXCz9Yn0Ng==
In-Reply-To: <4FA3B9B602000078000818E5@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 10:12, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 04.05.12 at 10:25, Keir Fraser <keir.xen@gmail.com> wrote:
>> On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:
>>> does this really need to be a per-CPU variable? Can't a timer run only
>>> once at a time on the entire system (the more that it gets re-armed only
>>> at the end of the poll function, whereas the variable is consumed at the
>>> start), and hence the variable can be a simple one? Or else, what
>>> subtlety am I overlooking?
>> 
>> We set up a timer per initialised uart. There can be more than one (although
>> granted it is rare).
> 
> Is that actually useful? console.c can't really use more than one at a
> time (for there being a single sercon_handle), so perhaps it would be
> a good thing to avoid the setup for those that aren't actively used,
> e.g. by not calling ->init_postirq() for other than the used one?
> 
> Oh, wait, with crash_debug there can be a second call to
> serial_parse_handle(), so in that case serial console and gdb stub
> may run through different ports. With crash_debug off by default,
> wouldn't it make sense to optimize for that common case, so that
> specifying both "com1=" and "com2=" on the command line wouldn't
> needlessly consume resources (as serial_parse_handle() can easily
> tag which ports it got called for)? Or would you rather take the
> position of expecting people to remove unnecessary command line
> options, or live with them having side effects?

I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
per CPU of the poll_port variable isn't worth much optimising effort.

 -- Keir

> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:43:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:43:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQF2m-0000vP-RJ; Fri, 04 May 2012 09:43:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQF2k-0000uy-SD
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:43:19 +0000
Received: from [85.158.138.51:14584] by server-4.bemta-3.messagelabs.com id
	0A/29-15341-4B4A3AF4; Fri, 04 May 2012 09:43:16 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336124593!25274184!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22218 invoked from network); 4 May 2012 09:43:14 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-5.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 09:43:14 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQF2c-00030h-16
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:43:10 +0200
Received: from static.bangaore.mp.59.90.239.152/21.bsnl.in
	([static.bangaore.mp.59.90.239.152/21.bsnl.in])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 11:43:10 +0200
Received: from vinaya.ms by static.bangaore.mp.59.90.239.152/21.bsnl.in with
	local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 11:43:10 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Vinaya M S <vinaya.ms@iiitb.org>
Date: Fri, 4 May 2012 09:42:59 +0000 (UTC)
Lines: 192
Message-ID: <loom.20120504T111659-279@post.gmane.org>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 59.90.239.152 (Mozilla/5.0 (X11; Linux x86_64;
	rv:2.0) Gecko/20100101 Firefox/4.0)
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini <stefano.stabellini <at> eu.citrix.com> writes:

> Are you using xm or xl?
I'm using xm. 

> Why do you say that CONFIG_XEN_PCIDEV_BACKEND is not working for you?
modprobe pciback says fatal error.
xen-pciback.hide does not hide pci device.


 
> Try assigning something that is not a graphic card, do you see the
> device if you execute lspci?
Nope. I get a error Error: Timed out waiting for device model action

> Is it your primary graphic card?
Yes it was a primary card.Now I inserted another card [quadro 570] 
which is acting as primary card.

Now, i'm able to passthrough c2050 card. But on assigning them I get a msg 
Error: Timed out waiting for device model action

log:

[2012-05-04 12:51:09 2006] DEBUG (XendDomainInfo:2498)
XendDomainInfo.constructDomain
[2012-05-04 12:51:09 2006] DEBUG (balloon:187) Balloon: 1048700 KiB free; 
need 16384; done.
[2012-05-04 12:51:09 2006] DEBUG (XendDomain:476) Adding Domain: 2
[2012-05-04 12:51:09 2006] DEBUG (XendDomainInfo:2836)
XendDomainInfo.initDomain: 2 256
[2012-05-04 12:51:09 2006] DEBUG (image:337) Stored a VNC
password for vfb access
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: boot, val: c
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: fda, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: fdb, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: soundhw, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: localtime, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: serial, val: ['pty']
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: std-vga, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: isa, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: acpi, val: 1
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: usb, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: usbdevice, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: gfx_passthru, val: None
[2012-05-04 12:51:09 2006] INFO (image:822) 
Need to create platform device.[domid:2]
[2012-05-04 12:51:09 2006] DEBUG (XendDomainInfo:2863)
_initDomain:shadow_memory=0x0, 
memory_static_max=0x20000000, memory_static_min=0x0.
[2012-05-04 12:51:09 2006] INFO (image:182) buildDomain os=hvm dom=2 vcpus=1
[2012-05-04 12:51:09 2006] DEBUG (image:949) domid          = 2
[2012-05-04 12:51:09 2006] DEBUG (image:950) image          =
/usr/lib/xen/boot/hvmloader
[2012-05-04 12:51:09 2006] DEBUG (image:951) store_evtchn   = 2
[2012-05-04 12:51:09 2006] DEBUG (image:952) memsize        = 512
[2012-05-04 12:51:09 2006] DEBUG (image:953) target         = 512
[2012-05-04 12:51:09 2006] DEBUG (image:954) vcpus          = 1
[2012-05-04 12:51:09 2006] DEBUG (image:955) vcpu_avail     = 1
[2012-05-04 12:51:09 2006] DEBUG (image:956) acpi           = 1
[2012-05-04 12:51:09 2006] DEBUG (image:957) apic           = 1
[2012-05-04 12:51:09 2006] INFO (XendDomainInfo:2357) createDevice: vfb :
{'vncpasswd': 'XXXXXXXX', 'vncunused': 1, 'other_config': {'vncunused': 1,
'vncpasswd': 'XXXXXXXX', 'vnc': '1'}, 'vnc': '1', 'uuid':
'686bf850-485f-2089-4207-fe4cce4a55d4'}
[2012-05-04 12:51:09 2006] DEBUG (DevController:95) DevController: writing
{'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vfb/2/0'}
to /local/domain/2/device/vfb/0.
[2012-05-04 12:51:09 2006] DEBUG (DevController:97) DevController: writing
{'vncunused': '1', 'domain': 'xen10_04', 'frontend':
'/local/domain/2/device/vfb/0', 'uuid': '686bf850-485f-2089-4207-fe4cce4a55d4',
'frontend-id': '2', 'vncpasswd': 'XXXXXXXX', 'state': '1', 
'online': '1', 'vnc':'1'} to /local/domain/0/backend/vfb/2/0.
[2012-05-04 12:51:09 2006] INFO (XendDomainInfo:2357) createDevice: vbd :
{'uuid': '7e43a0f7-9c76-d2c5-86eb-66e599b19b7e', 'bootable': 1, 'driver':
'ioemu', 'dev': 'ioemu:xvda', 'uname': 'file:/home/gpu/XenGuest.img', 
'mode': 'w'}
[2012-05-04 12:51:09 2006] DEBUG (DevController:95) DevController: writing
{'backend-id': '0', 'virtual-device': '51712', 'device-type': 'disk', 'state':
'1', 'backend': '/local/domain/0/backend/vbd/2/51712'} to
/local/domain/2/device/vbd/51712.
[2012-05-04 12:51:09 2006] DEBUG (DevController:97) DevController: writing
{'domain': 'xen10_04', 'frontend': '/local/domain/2/device/vbd/51712', 'uuid':
'7e43a0f7-9c76-d2c5-86eb-66e599b19b7e', 'bootable': '1', 'dev': 'xvda', 'state':
'1', 'params': '/home/gpu/XenGuest.img', 'mode': 'w', 'online': '1',
'frontend-id': '2', 'type': 'file'} to /local/domain/0/backend/vbd/2/51712.
[2012-05-04 12:51:09 2006] INFO (XendDomainInfo:2357) createDevice: pci :
{'devs': [{'slot': '0x00', 'domain': '0x0000', 'key': '42:00.0', 'bus': '0x42',
'vdevfn': '0x100', 'func': '0x0', 'uuid':
'92c19814-33ea-4094-a391-e958c5ff8b39'}, {'slot': '0x00', 'domain': '0x0000',
'key': '42:00.1', 'bus': '0x42', 'vdevfn': '0x100', 'func': '0x1', 'uuid':
'7ab51e57-6c63-14fb-ea42-eee3c6aaedac'}], 'uuid':
'503788f2-e43d-1869-ad44-347a7a735bc6'}
[2012-05-04 12:51:12 2006] INFO (image:418) spawning device models:
/usr/lib/xen/bin/qemu-dm ['/usr/lib/xen/bin/qemu-dm', '-d', '2', '-domain-name',
'xen10_04', '-videoram', '4', '-vnc', '127.0.0.1:0,password', '-vncunused',
'-vcpus', '1', '-vcpu_avail', '0x1', '-boot', 'c', '-serial', 'pty', '-acpi',
'-net', 'none', '-M', 'xenfv']
[2012-05-04 12:51:12 2006] INFO (image:467) device model pid: 2849
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:893)
XendDomainInfo.pci_device_configure: ['pci', ['dev', ['slot', '0x00'],
['domain', '0x0000'], ['key', '42:00.0'], ['bus', '0x42'], ['vdevfn', '0x100'],
['func', '0x0'], ['uuid', '92c19814-33ea-4094-a391-e958c5ff8b39']], ['state',
'Initialising'], ['sub_state', 'Booting']]
[2012-05-04 12:51:12 2006] INFO (image:590) waiting for sentinel_fifo
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:779)
XendDomainInfo.hvm_pci_device_insert: {'devs': [{'slot': '0x00', 'domain':
'0x0000', 'key': '42:00.0', 'bus': '0x42', 'vdevfn': '0x100', 'func': '0x0',
'uuid': '92c19814-33ea-4094-a391-e958c5ff8b39'}], 'states': ['Initialising']}
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:790)
XendDomainInfo.hvm_pci_device_insert_dev: {'slot': '0x00', 'domain': '0x0000',
'key': '42:00.0', 'bus': '0x42', 'vdevfn': '0x100', 'func': '0x0', 'uuid':
'92c19814-33ea-4094-a391-e958c5ff8b39'}
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:811)
XendDomainInfo.hvm_pci_device_insert_dev:
0000:42:00.0@100,msitranslate=1,power_mgmt=0
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:815) pci: assign device
0000:42:00.0@100,msitranslate=1,power_mgmt=0
[2012-05-04 12:51:12 2006] DEBUG (image:508) signalDeviceModel: orig_state is
None, retrying
[2012-05-04 12:51:22 2006] ERROR (XendDomainInfo:2922)
XendDomainInfo.initDomain: exception occurred
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2914, in _initDomain
    self._createDevices()
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2395, in _createDevices
    self.pci_device_configure_boot()
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
627, in pci_device_configure_boot
    self.pci_device_configure(dev_sxp, first_dev = first)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
921, in pci_device_configure
    vdevfn = self.hvm_pci_device_insert(dev_config)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
786, in hvm_pci_device_insert
    return self.hvm_pci_device_insert_dev(new_dev)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
816, in hvm_pci_device_insert_dev
    self.image.signalDeviceModel('pci-ins', 'pci-inserted', bdf_str)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/image.py", line 533, in
signalDeviceModel
    raise VmError('Timed out waiting for device model action')
VmError: Timed out waiting for device model action
[2012-05-04 12:51:22 2006] ERROR (XendDomainInfo:488) VM start failed
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
474, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendTask.py", line 209,
in log_progress
    retval = func(*args, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2925, in _initDomain
    raise exn
VmError: Timed out waiting for device model action
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:3071) XendDomainInfo.destroy:
domid=2
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:2401) Destroying device model
[2012-05-04 12:51:22 2006] INFO (image:615) xen10_04 device model terminated
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:2408) Releasing devices
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:2414) Removing vbd/51712
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:1276)
XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/51712
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2414) Removing vfb/0
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:1276)
XendDomainInfo.destroyDevice: deviceClass = vfb, device = vfb/0
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2406) No device model
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2408) Releasing devices
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2414) Removing vbd/51712
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:1276)
XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/51712
[2012-05-04 12:51:23 2006] ERROR (XendDomainInfo:108) Domain construction failed
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
106, in create
    vm.start()
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
474, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendTask.py", line 209,
in log_progress
    retval = func(*args, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2925, in _initDomain
    raise exn
VmError: Timed out waiting for device model action






_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:43:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:43:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQF2m-0000vP-RJ; Fri, 04 May 2012 09:43:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQF2k-0000uy-SD
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:43:19 +0000
Received: from [85.158.138.51:14584] by server-4.bemta-3.messagelabs.com id
	0A/29-15341-4B4A3AF4; Fri, 04 May 2012 09:43:16 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336124593!25274184!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22218 invoked from network); 4 May 2012 09:43:14 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-5.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 09:43:14 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQF2c-00030h-16
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:43:10 +0200
Received: from static.bangaore.mp.59.90.239.152/21.bsnl.in
	([static.bangaore.mp.59.90.239.152/21.bsnl.in])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 11:43:10 +0200
Received: from vinaya.ms by static.bangaore.mp.59.90.239.152/21.bsnl.in with
	local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 11:43:10 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Vinaya M S <vinaya.ms@iiitb.org>
Date: Fri, 4 May 2012 09:42:59 +0000 (UTC)
Lines: 192
Message-ID: <loom.20120504T111659-279@post.gmane.org>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 59.90.239.152 (Mozilla/5.0 (X11; Linux x86_64;
	rv:2.0) Gecko/20100101 Firefox/4.0)
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini <stefano.stabellini <at> eu.citrix.com> writes:

> Are you using xm or xl?
I'm using xm. 

> Why do you say that CONFIG_XEN_PCIDEV_BACKEND is not working for you?
modprobe pciback says fatal error.
xen-pciback.hide does not hide pci device.


 
> Try assigning something that is not a graphic card, do you see the
> device if you execute lspci?
Nope. I get a error Error: Timed out waiting for device model action

> Is it your primary graphic card?
Yes it was a primary card.Now I inserted another card [quadro 570] 
which is acting as primary card.

Now, i'm able to passthrough c2050 card. But on assigning them I get a msg 
Error: Timed out waiting for device model action

log:

[2012-05-04 12:51:09 2006] DEBUG (XendDomainInfo:2498)
XendDomainInfo.constructDomain
[2012-05-04 12:51:09 2006] DEBUG (balloon:187) Balloon: 1048700 KiB free; 
need 16384; done.
[2012-05-04 12:51:09 2006] DEBUG (XendDomain:476) Adding Domain: 2
[2012-05-04 12:51:09 2006] DEBUG (XendDomainInfo:2836)
XendDomainInfo.initDomain: 2 256
[2012-05-04 12:51:09 2006] DEBUG (image:337) Stored a VNC
password for vfb access
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: boot, val: c
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: fda, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: fdb, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: soundhw, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: localtime, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: serial, val: ['pty']
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: std-vga, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: isa, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: acpi, val: 1
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: usb, val: 0
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: usbdevice, val: None
[2012-05-04 12:51:09 2006] DEBUG (image:891) args: gfx_passthru, val: None
[2012-05-04 12:51:09 2006] INFO (image:822) 
Need to create platform device.[domid:2]
[2012-05-04 12:51:09 2006] DEBUG (XendDomainInfo:2863)
_initDomain:shadow_memory=0x0, 
memory_static_max=0x20000000, memory_static_min=0x0.
[2012-05-04 12:51:09 2006] INFO (image:182) buildDomain os=hvm dom=2 vcpus=1
[2012-05-04 12:51:09 2006] DEBUG (image:949) domid          = 2
[2012-05-04 12:51:09 2006] DEBUG (image:950) image          =
/usr/lib/xen/boot/hvmloader
[2012-05-04 12:51:09 2006] DEBUG (image:951) store_evtchn   = 2
[2012-05-04 12:51:09 2006] DEBUG (image:952) memsize        = 512
[2012-05-04 12:51:09 2006] DEBUG (image:953) target         = 512
[2012-05-04 12:51:09 2006] DEBUG (image:954) vcpus          = 1
[2012-05-04 12:51:09 2006] DEBUG (image:955) vcpu_avail     = 1
[2012-05-04 12:51:09 2006] DEBUG (image:956) acpi           = 1
[2012-05-04 12:51:09 2006] DEBUG (image:957) apic           = 1
[2012-05-04 12:51:09 2006] INFO (XendDomainInfo:2357) createDevice: vfb :
{'vncpasswd': 'XXXXXXXX', 'vncunused': 1, 'other_config': {'vncunused': 1,
'vncpasswd': 'XXXXXXXX', 'vnc': '1'}, 'vnc': '1', 'uuid':
'686bf850-485f-2089-4207-fe4cce4a55d4'}
[2012-05-04 12:51:09 2006] DEBUG (DevController:95) DevController: writing
{'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vfb/2/0'}
to /local/domain/2/device/vfb/0.
[2012-05-04 12:51:09 2006] DEBUG (DevController:97) DevController: writing
{'vncunused': '1', 'domain': 'xen10_04', 'frontend':
'/local/domain/2/device/vfb/0', 'uuid': '686bf850-485f-2089-4207-fe4cce4a55d4',
'frontend-id': '2', 'vncpasswd': 'XXXXXXXX', 'state': '1', 
'online': '1', 'vnc':'1'} to /local/domain/0/backend/vfb/2/0.
[2012-05-04 12:51:09 2006] INFO (XendDomainInfo:2357) createDevice: vbd :
{'uuid': '7e43a0f7-9c76-d2c5-86eb-66e599b19b7e', 'bootable': 1, 'driver':
'ioemu', 'dev': 'ioemu:xvda', 'uname': 'file:/home/gpu/XenGuest.img', 
'mode': 'w'}
[2012-05-04 12:51:09 2006] DEBUG (DevController:95) DevController: writing
{'backend-id': '0', 'virtual-device': '51712', 'device-type': 'disk', 'state':
'1', 'backend': '/local/domain/0/backend/vbd/2/51712'} to
/local/domain/2/device/vbd/51712.
[2012-05-04 12:51:09 2006] DEBUG (DevController:97) DevController: writing
{'domain': 'xen10_04', 'frontend': '/local/domain/2/device/vbd/51712', 'uuid':
'7e43a0f7-9c76-d2c5-86eb-66e599b19b7e', 'bootable': '1', 'dev': 'xvda', 'state':
'1', 'params': '/home/gpu/XenGuest.img', 'mode': 'w', 'online': '1',
'frontend-id': '2', 'type': 'file'} to /local/domain/0/backend/vbd/2/51712.
[2012-05-04 12:51:09 2006] INFO (XendDomainInfo:2357) createDevice: pci :
{'devs': [{'slot': '0x00', 'domain': '0x0000', 'key': '42:00.0', 'bus': '0x42',
'vdevfn': '0x100', 'func': '0x0', 'uuid':
'92c19814-33ea-4094-a391-e958c5ff8b39'}, {'slot': '0x00', 'domain': '0x0000',
'key': '42:00.1', 'bus': '0x42', 'vdevfn': '0x100', 'func': '0x1', 'uuid':
'7ab51e57-6c63-14fb-ea42-eee3c6aaedac'}], 'uuid':
'503788f2-e43d-1869-ad44-347a7a735bc6'}
[2012-05-04 12:51:12 2006] INFO (image:418) spawning device models:
/usr/lib/xen/bin/qemu-dm ['/usr/lib/xen/bin/qemu-dm', '-d', '2', '-domain-name',
'xen10_04', '-videoram', '4', '-vnc', '127.0.0.1:0,password', '-vncunused',
'-vcpus', '1', '-vcpu_avail', '0x1', '-boot', 'c', '-serial', 'pty', '-acpi',
'-net', 'none', '-M', 'xenfv']
[2012-05-04 12:51:12 2006] INFO (image:467) device model pid: 2849
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:893)
XendDomainInfo.pci_device_configure: ['pci', ['dev', ['slot', '0x00'],
['domain', '0x0000'], ['key', '42:00.0'], ['bus', '0x42'], ['vdevfn', '0x100'],
['func', '0x0'], ['uuid', '92c19814-33ea-4094-a391-e958c5ff8b39']], ['state',
'Initialising'], ['sub_state', 'Booting']]
[2012-05-04 12:51:12 2006] INFO (image:590) waiting for sentinel_fifo
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:779)
XendDomainInfo.hvm_pci_device_insert: {'devs': [{'slot': '0x00', 'domain':
'0x0000', 'key': '42:00.0', 'bus': '0x42', 'vdevfn': '0x100', 'func': '0x0',
'uuid': '92c19814-33ea-4094-a391-e958c5ff8b39'}], 'states': ['Initialising']}
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:790)
XendDomainInfo.hvm_pci_device_insert_dev: {'slot': '0x00', 'domain': '0x0000',
'key': '42:00.0', 'bus': '0x42', 'vdevfn': '0x100', 'func': '0x0', 'uuid':
'92c19814-33ea-4094-a391-e958c5ff8b39'}
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:811)
XendDomainInfo.hvm_pci_device_insert_dev:
0000:42:00.0@100,msitranslate=1,power_mgmt=0
[2012-05-04 12:51:12 2006] DEBUG (XendDomainInfo:815) pci: assign device
0000:42:00.0@100,msitranslate=1,power_mgmt=0
[2012-05-04 12:51:12 2006] DEBUG (image:508) signalDeviceModel: orig_state is
None, retrying
[2012-05-04 12:51:22 2006] ERROR (XendDomainInfo:2922)
XendDomainInfo.initDomain: exception occurred
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2914, in _initDomain
    self._createDevices()
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2395, in _createDevices
    self.pci_device_configure_boot()
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
627, in pci_device_configure_boot
    self.pci_device_configure(dev_sxp, first_dev = first)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
921, in pci_device_configure
    vdevfn = self.hvm_pci_device_insert(dev_config)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
786, in hvm_pci_device_insert
    return self.hvm_pci_device_insert_dev(new_dev)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
816, in hvm_pci_device_insert_dev
    self.image.signalDeviceModel('pci-ins', 'pci-inserted', bdf_str)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/image.py", line 533, in
signalDeviceModel
    raise VmError('Timed out waiting for device model action')
VmError: Timed out waiting for device model action
[2012-05-04 12:51:22 2006] ERROR (XendDomainInfo:488) VM start failed
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
474, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendTask.py", line 209,
in log_progress
    retval = func(*args, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2925, in _initDomain
    raise exn
VmError: Timed out waiting for device model action
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:3071) XendDomainInfo.destroy:
domid=2
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:2401) Destroying device model
[2012-05-04 12:51:22 2006] INFO (image:615) xen10_04 device model terminated
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:2408) Releasing devices
[2012-05-04 12:51:22 2006] DEBUG (XendDomainInfo:2414) Removing vbd/51712
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:1276)
XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/51712
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2414) Removing vfb/0
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:1276)
XendDomainInfo.destroyDevice: deviceClass = vfb, device = vfb/0
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2406) No device model
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2408) Releasing devices
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:2414) Removing vbd/51712
[2012-05-04 12:51:23 2006] DEBUG (XendDomainInfo:1276)
XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/51712
[2012-05-04 12:51:23 2006] ERROR (XendDomainInfo:108) Domain construction failed
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
106, in create
    vm.start()
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
474, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendTask.py", line 209,
in log_progress
    retval = func(*args, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/xen/xend/XendDomainInfo.py", line
2925, in _initDomain
    raise exn
VmError: Timed out waiting for device model action






_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:50:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:50:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQF9H-0001FU-NP; Fri, 04 May 2012 09:50:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SQF9G-0001FK-4Z
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:50:02 +0000
Received: from [85.158.139.83:5479] by server-7.bemta-5.messagelabs.com id
	92/26-16195-946A3AF4; Fri, 04 May 2012 09:50:01 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336124998!26058053!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20462 invoked from network); 4 May 2012 09:49:59 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:49:59 -0000
Received: by qcsp15 with SMTP id p15so2265077qcs.30
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 02:49:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=9O5g+1zrZKUrzK+kpYvRsU0AimjrFK57kGo3FnCqkWM=;
	b=PXT57YQ1Rq35DvKd7bOsPgFMyQP5x7CzucF49h9gWr3z2IQjIib3xmVwaS9ng3NYXQ
	vM4oVCdE9fr6YtfFLGNh6SFafQfcsEzmKP7+23sxqOZCX6vY7N7yYkU0+7qK3ekiHe7P
	TnkxfqTg/BtBu3Rt800SgG2esKTCtdyYHB51vwZvIaqbFJm1CT9bwnuZoAwZj4HV9+Kd
	DWdg/KF4XnnG29UzDpcq/ulNtGLO1AiNc8P0FFgMjk967OR4KeiFrbHuccGUmb/zD8Kl
	P6r2P7OX+6Q1at0kqQokxycX5iWY1m3uz3gKmjBmc10mjNDuGpLNwovdQ0blCoLaC+bc
	A5WQ==
MIME-Version: 1.0
Received: by 10.224.173.210 with SMTP id q18mr9031923qaz.11.1336124998231;
	Fri, 04 May 2012 02:49:58 -0700 (PDT)
Received: by 10.229.44.145 with HTTP; Fri, 4 May 2012 02:49:58 -0700 (PDT)
In-Reply-To: <60013c9b8d62e39988db.1335971423@kodo2>
References: <patchbomb.1335971421@kodo2>
	<60013c9b8d62e39988db.1335971423@kodo2>
Date: Fri, 4 May 2012 10:49:58 +0100
X-Google-Sender-Auth: 2XXuqZfX8XvBHRBm1YHu-FRfGiw
Message-ID: <CAFLBxZaKeQPgiab+7vjgA=aXOsryabW2reraA7PcOxTiReEfGA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hmm -- sorry, I seemed so have mucked some things up on the rebase...
please don't apply this one.

 -George

On Wed, May 2, 2012 at 4:10 PM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
> # HG changeset patch
> # User George Dunlap <george.dunlap@eu.citrix.com>
> # Date 1335971129 -3600
> # Node ID 60013c9b8d62e39988db3c5b22c0510f5557756b
> # Parent =A0c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
> xl: Make clear distinction between "filename" and "data source"
>
> Many places in xl there's a variable or element named "filename" which
> does not contain a filename, but the source of the data for reporting
> purposes. =A0Worse, there are variables which are sometimes actually
> used or interpreted as a filename depending on what other variables
> are set. =A0This makes it difficult to tell when a string is purely
> cosmetic, and when another bit of code may actually attempt to call
> "open" with the string.
>
> This patch makes a consistent distinction between "filename" (which
> always refers to the name of an actual file, and may be interpreted as
> such at some point) and "source" (which may be a filename, or may be
> another data source such as a migration stream or saved data).
>
> This does add some variables and reshuffle where assignments happen;
> most notably, the "restore_filename" element of struct domain_create
> is now only set when restoring from a file.
>
> But at a high level, there should be no funcitonal changes.
>
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
>
> diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Wed May 02 16:05:26 2012 +0100
> +++ b/tools/libxl/libxl_utils.c Wed May 02 16:05:29 2012 +0100
> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 \
> =A0 int libxl_##rw##_exactly(libxl_ctx *ctx, int fd, =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0constdata void *da=
ta, ssize_t sz, =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const char *filenam=
e, const char *what) { =A0 =A0 =A0\
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const char *source,=
 const char *what) { =A0 =A0 =A0\
> =A0 =A0 =A0 ssize_t got; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 \
> =A0 =A0 =A0 while (sz > 0) { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (errno =3D=3D EINTR) continue; =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (!ctx) return errno; =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "fail=
ed to " #rw " %s%s%s", \
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?=
" from ":"", filename); =A0 =A0 \
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?=
" from ":"", source); =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 return errno; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 } =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 if (got =3D=3D 0) { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0zero_is_eof =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0? "file/stream truncated readi=
ng %s%s%s" =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0: "file/stream write returned =
0! writing %s%s%s", =A0 =A0\
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?" from ":"",=
 filename); =A0 =A0 =A0 =A0 =A0 \
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?" from ":"",=
 source); =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 return EPROTO; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> =A0 =A0 =A0 =A0 =A0 } =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 sz -=3D got; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c =A0Wed May 02 16:05:26 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c =A0Wed May 02 16:05:29 2012 +0100
> @@ -520,9 +520,9 @@ vcpp_out:
> =A0 =A0 return rc;
> =A0}
>
> -static void parse_config_data(const char *configfile_filename_report,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *=
configfile_data,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int configfi=
le_len,
> +static void parse_config_data(const char *config_source,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *=
config_data,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int config_l=
en,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_domain_=
config *d_config)
> =A0{
> =A0 =A0 const char *buf;
> @@ -537,15 +537,15 @@ static void parse_config_data(const char
> =A0 =A0 libxl_domain_create_info *c_info =3D &d_config->c_info;
> =A0 =A0 libxl_domain_build_info *b_info =3D &d_config->b_info;
>
> - =A0 =A0config=3D xlu_cfg_init(stderr, configfile_filename_report);
> + =A0 =A0config=3D xlu_cfg_init(stderr, config_source);
> =A0 =A0 if (!config) {
> =A0 =A0 =A0 =A0 fprintf(stderr, "Failed to allocate for configuration\n");
> =A0 =A0 =A0 =A0 exit(1);
> =A0 =A0 }
>
> - =A0 =A0e=3D xlu_cfg_readdata(config, configfile_data, configfile_len);
> + =A0 =A0e=3D xlu_cfg_readdata(config, config_data, config_len);
> =A0 =A0 if (e) {
> - =A0 =A0 =A0 =A0fprintf(stderr, "Failed to parse config file: %s\n", str=
error(e));
> + =A0 =A0 =A0 =A0fprintf(stderr, "Failed to parse config: %s\n", strerror=
(e));
> =A0 =A0 =A0 =A0 exit(1);
> =A0 =A0 }
>
> @@ -1522,6 +1522,8 @@ static int create_domain(struct domain_c
> =A0 =A0 const char *config_file =3D dom_info->config_file;
> =A0 =A0 const char *extra_config =3D dom_info->extra_config;
> =A0 =A0 const char *restore_file =3D dom_info->restore_file;
> + =A0 =A0const char *config_source =3D NULL;
> + =A0 =A0const char *restore_source =3D NULL;
> =A0 =A0 int migrate_fd =3D dom_info->migrate_fd;
>
> =A0 =A0 int i;
> @@ -1537,24 +1539,28 @@ static int create_domain(struct domain_c
> =A0 =A0 pid_t child_console_pid =3D -1;
> =A0 =A0 struct save_file_header hdr;
>
> + =A0 =A0int restoring =3D (restore_file || (migrate_fd >=3D 0));
> +
> =A0 =A0 libxl_domain_config_init(&d_config);
>
> - =A0 =A0if (restore_file) {
> + =A0 =A0if (restoring) {
> =A0 =A0 =A0 =A0 uint8_t *optdata_begin =3D 0;
> =A0 =A0 =A0 =A0 const uint8_t *optdata_here =3D 0;
> =A0 =A0 =A0 =A0 union { uint32_t u32; char b[4]; } u32buf;
> =A0 =A0 =A0 =A0 uint32_t badflags;
>
> =A0 =A0 =A0 =A0 if (migrate_fd >=3D 0) {
> + =A0 =A0 =A0 =A0 =A0 =A0restore_source =3D "<incoming migration stream>"
> =A0 =A0 =A0 =A0 =A0 =A0 restore_fd =3D migrate_fd;
> =A0 =A0 =A0 =A0 } else {
> + =A0 =A0 =A0 =A0 =A0 =A0restore_source =3D restore_file;
> =A0 =A0 =A0 =A0 =A0 =A0 restore_fd =3D open(restore_file, O_RDONLY);
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D libxl_fd_set_cloexec(ctx, restore_fd, 1);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc) return rc;
> =A0 =A0 =A0 =A0 }
>
> =A0 =A0 =A0 =A0 CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 sizeof(hdr), restore_file, "header"=
) );
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 sizeof(hdr), restore_source, "heade=
r") );
> =A0 =A0 =A0 =A0 if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.ma=
gic))) {
> =A0 =A0 =A0 =A0 =A0 =A0 fprintf(stderr, "File has wrong magic number -"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " corrupt or for a different tool=
?\n");
> @@ -1567,7 +1573,7 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 fprintf(stderr, "Loading new save file %s"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " (new xl fmt info"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0restore_file, hdr.mandatory_flags, hdr.o=
ptional_flags,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0restore_source, hdr.mandatory_flags, hdr=
.optional_flags,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len);
>
> =A0 =A0 =A0 =A0 badflags =3D hdr.mandatory_flags & ~( 0 /* none understoo=
d yet */ );
> @@ -1580,7 +1586,7 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 if (hdr.optional_data_len) {
> =A0 =A0 =A0 =A0 =A0 =A0 optdata_begin =3D xmalloc(hdr.optional_data_len);
> =A0 =A0 =A0 =A0 =A0 =A0 CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, op=
tdata_begin,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len, restore_file=
, "optdata") );
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len, restore_sour=
ce, "optdata") );
> =A0 =A0 =A0 =A0 }
>
> =A0#define OPTDATA_LEFT =A0(hdr.optional_data_len - (optdata_here - optda=
ta_begin))
> @@ -1615,7 +1621,7 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0&config_data, &config_len);
> =A0 =A0 =A0 =A0 if (ret) { fprintf(stderr, "Failed to read config file: %=
s: %s\n",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0config_file, strer=
ror(errno)); return ERROR_FAIL; }
> - =A0 =A0 =A0 =A0if (!restore_file && extra_config && strlen(extra_config=
)) {
> + =A0 =A0 =A0 =A0if (!restoring && extra_config && strlen(extra_config)) {
> =A0 =A0 =A0 =A0 =A0 =A0 if (config_len > INT_MAX - (strlen(extra_config) =
+ 2 + 1)) {
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 fprintf(stderr, "Failed to attach extra c=
onfigration\n");
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return ERROR_FAIL;
> @@ -1630,19 +1636,20 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 =A0 =A0 config_len +=3D sprintf(config_data + config_len,=
 "\n%s\n",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 extra_config);
> =A0 =A0 =A0 =A0 }
> + =A0 =A0 =A0 =A0config_source=3Dconfig_file;
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 if (!config_data) {
> =A0 =A0 =A0 =A0 =A0 =A0 fprintf(stderr, "Config file not specified and"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " none in save file\n");
> =A0 =A0 =A0 =A0 =A0 =A0 return ERROR_INVAL;
> =A0 =A0 =A0 =A0 }
> - =A0 =A0 =A0 =A0config_file =3D "<saved>";
> + =A0 =A0 =A0 =A0config_source =3D "<saved>";
> =A0 =A0 }
>
> =A0 =A0 if (!dom_info->quiet)
> - =A0 =A0 =A0 =A0printf("Parsing config file %s\n", config_file);
> -
> - =A0 =A0parse_config_data(config_file, config_data, config_len, &d_confi=
g);
> + =A0 =A0 =A0 =A0printf("Parsing config from %s\n", config_source);
> +
> + =A0 =A0parse_config_data(config_source, config_data, config_len, &d_con=
fig);
>
> =A0 =A0 if (migrate_fd >=3D 0) {
> =A0 =A0 =A0 =A0 if (d_config.c_info.name) {
> @@ -1693,7 +1700,7 @@ start:
> =A0 =A0 =A0 =A0 cb =3D NULL;
> =A0 =A0 }
>
> - =A0 =A0if ( restore_file ) {
> + =A0 =A0if ( restoring ) {
> =A0 =A0 =A0 =A0 ret =3D libxl_domain_create_restore(ctx, &d_config,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 cb, &child_console_pid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 &domid, restore_fd);
> @@ -2469,7 +2476,7 @@ static void list_domains_details(const l
> =A0{
> =A0 =A0 libxl_domain_config d_config;
>
> - =A0 =A0char *config_file;
> + =A0 =A0char *config_source;
> =A0 =A0 uint8_t *data;
> =A0 =A0 int i, len, rc;
>
> @@ -2480,13 +2487,13 @@ static void list_domains_details(const l
> =A0 =A0 =A0 =A0 rc =3D libxl_userdata_retrieve(ctx, info[i].domid, "xl", =
&data, &len);
> =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 continue;
> - =A0 =A0 =A0 =A0CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info=
[i].domid));
> + =A0 =A0 =A0 =A0CHK_ERRNO(asprintf(&config_source, "<domid %d data>", in=
fo[i].domid));
> =A0 =A0 =A0 =A0 libxl_domain_config_init(&d_config);
> - =A0 =A0 =A0 =A0parse_config_data(config_file, (char *)data, len, &d_con=
fig);
> + =A0 =A0 =A0 =A0parse_config_data(config_source, (char *)data, len, &d_c=
onfig);
> =A0 =A0 =A0 =A0 printf_info(default_output_format, info[i].domid, &d_conf=
ig);
> =A0 =A0 =A0 =A0 libxl_domain_config_dispose(&d_config);
> =A0 =A0 =A0 =A0 free(data);
> - =A0 =A0 =A0 =A0free(config_file);
> + =A0 =A0 =A0 =A0free(config_source);
> =A0 =A0 }
> =A0}
>
> @@ -2589,7 +2596,7 @@ static void save_domain_core_begin(const
> =A0 =A0 }
> =A0}
>
> -static void save_domain_core_writeconfig(int fd, const char *filename,
> +static void save_domain_core_writeconfig(int fd, const char *source,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const=
 uint8_t *config_data, int config_len)
> =A0{
> =A0 =A0 struct save_file_header hdr;
> @@ -2618,13 +2625,13 @@ static void save_domain_core_writeconfig
> =A0 =A0 /* that's the optional data */
>
> =A0 =A0 CHK_ERRNO( libxl_write_exactly(ctx, fd,
> - =A0 =A0 =A0 =A0&hdr, sizeof(hdr), filename, "header") );
> + =A0 =A0 =A0 =A0&hdr, sizeof(hdr), source, "header") );
> =A0 =A0 CHK_ERRNO( libxl_write_exactly(ctx, fd,
> - =A0 =A0 =A0 =A0optdata_begin, hdr.optional_data_len, filename, "header"=
) );
> + =A0 =A0 =A0 =A0optdata_begin, hdr.optional_data_len, source, "header") =
);
>
> =A0 =A0 fprintf(stderr, "Saving to %s new xl format (info"
> =A0 =A0 =A0 =A0 =A0 =A0 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> - =A0 =A0 =A0 =A0 =A0 =A0filename, hdr.mandatory_flags, hdr.optional_flag=
s,
> + =A0 =A0 =A0 =A0 =A0 =A0source, hdr.mandatory_flags, hdr.optional_flags,
> =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len);
> =A0}
>
> @@ -2950,7 +2957,6 @@ static void migrate_receive(int debug, i
> =A0 =A0 dom_info.daemonize =3D daemonize;
> =A0 =A0 dom_info.monitor =3D monitor;
> =A0 =A0 dom_info.paused =3D 1;
> - =A0 =A0dom_info.restore_file =3D "incoming migration stream";
> =A0 =A0 dom_info.migrate_fd =3D 0; /* stdin */
> =A0 =A0 dom_info.migration_domname_r =3D &migration_domname;
> =A0 =A0 dom_info.incr_generationid =3D 0;
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:50:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:50:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQF9H-0001FU-NP; Fri, 04 May 2012 09:50:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SQF9G-0001FK-4Z
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:50:02 +0000
Received: from [85.158.139.83:5479] by server-7.bemta-5.messagelabs.com id
	92/26-16195-946A3AF4; Fri, 04 May 2012 09:50:01 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336124998!26058053!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20462 invoked from network); 4 May 2012 09:49:59 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:49:59 -0000
Received: by qcsp15 with SMTP id p15so2265077qcs.30
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 02:49:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=9O5g+1zrZKUrzK+kpYvRsU0AimjrFK57kGo3FnCqkWM=;
	b=PXT57YQ1Rq35DvKd7bOsPgFMyQP5x7CzucF49h9gWr3z2IQjIib3xmVwaS9ng3NYXQ
	vM4oVCdE9fr6YtfFLGNh6SFafQfcsEzmKP7+23sxqOZCX6vY7N7yYkU0+7qK3ekiHe7P
	TnkxfqTg/BtBu3Rt800SgG2esKTCtdyYHB51vwZvIaqbFJm1CT9bwnuZoAwZj4HV9+Kd
	DWdg/KF4XnnG29UzDpcq/ulNtGLO1AiNc8P0FFgMjk967OR4KeiFrbHuccGUmb/zD8Kl
	P6r2P7OX+6Q1at0kqQokxycX5iWY1m3uz3gKmjBmc10mjNDuGpLNwovdQ0blCoLaC+bc
	A5WQ==
MIME-Version: 1.0
Received: by 10.224.173.210 with SMTP id q18mr9031923qaz.11.1336124998231;
	Fri, 04 May 2012 02:49:58 -0700 (PDT)
Received: by 10.229.44.145 with HTTP; Fri, 4 May 2012 02:49:58 -0700 (PDT)
In-Reply-To: <60013c9b8d62e39988db.1335971423@kodo2>
References: <patchbomb.1335971421@kodo2>
	<60013c9b8d62e39988db.1335971423@kodo2>
Date: Fri, 4 May 2012 10:49:58 +0100
X-Google-Sender-Auth: 2XXuqZfX8XvBHRBm1YHu-FRfGiw
Message-ID: <CAFLBxZaKeQPgiab+7vjgA=aXOsryabW2reraA7PcOxTiReEfGA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hmm -- sorry, I seemed so have mucked some things up on the rebase...
please don't apply this one.

 -George

On Wed, May 2, 2012 at 4:10 PM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
> # HG changeset patch
> # User George Dunlap <george.dunlap@eu.citrix.com>
> # Date 1335971129 -3600
> # Node ID 60013c9b8d62e39988db3c5b22c0510f5557756b
> # Parent =A0c3eda4333f1562d68c8b56ae3ef9d73e6b68d873
> xl: Make clear distinction between "filename" and "data source"
>
> Many places in xl there's a variable or element named "filename" which
> does not contain a filename, but the source of the data for reporting
> purposes. =A0Worse, there are variables which are sometimes actually
> used or interpreted as a filename depending on what other variables
> are set. =A0This makes it difficult to tell when a string is purely
> cosmetic, and when another bit of code may actually attempt to call
> "open" with the string.
>
> This patch makes a consistent distinction between "filename" (which
> always refers to the name of an actual file, and may be interpreted as
> such at some point) and "source" (which may be a filename, or may be
> another data source such as a migration stream or saved data).
>
> This does add some variables and reshuffle where assignments happen;
> most notably, the "restore_filename" element of struct domain_create
> is now only set when restoring from a file.
>
> But at a high level, there should be no funcitonal changes.
>
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
>
> diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Wed May 02 16:05:26 2012 +0100
> +++ b/tools/libxl/libxl_utils.c Wed May 02 16:05:29 2012 +0100
> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 \
> =A0 int libxl_##rw##_exactly(libxl_ctx *ctx, int fd, =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0constdata void *da=
ta, ssize_t sz, =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const char *filenam=
e, const char *what) { =A0 =A0 =A0\
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const char *source,=
 const char *what) { =A0 =A0 =A0\
> =A0 =A0 =A0 ssize_t got; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 \
> =A0 =A0 =A0 while (sz > 0) { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (errno =3D=3D EINTR) continue; =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (!ctx) return errno; =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "fail=
ed to " #rw " %s%s%s", \
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?=
" from ":"", filename); =A0 =A0 \
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?=
" from ":"", source); =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 return errno; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 } =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 if (got =3D=3D 0) { =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0zero_is_eof =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0? "file/stream truncated readi=
ng %s%s%s" =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0: "file/stream write returned =
0! writing %s%s%s", =A0 =A0\
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?" from ":"",=
 filename); =A0 =A0 =A0 =A0 =A0 \
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 what?what:"", what?" from ":"",=
 source); =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 return EPROTO; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> =A0 =A0 =A0 =A0 =A0 } =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 \
> =A0 =A0 =A0 =A0 =A0 sz -=3D got; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
> diff -r c3eda4333f15 -r 60013c9b8d62 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c =A0Wed May 02 16:05:26 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c =A0Wed May 02 16:05:29 2012 +0100
> @@ -520,9 +520,9 @@ vcpp_out:
> =A0 =A0 return rc;
> =A0}
>
> -static void parse_config_data(const char *configfile_filename_report,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *=
configfile_data,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int configfi=
le_len,
> +static void parse_config_data(const char *config_source,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *=
config_data,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int config_l=
en,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_domain_=
config *d_config)
> =A0{
> =A0 =A0 const char *buf;
> @@ -537,15 +537,15 @@ static void parse_config_data(const char
> =A0 =A0 libxl_domain_create_info *c_info =3D &d_config->c_info;
> =A0 =A0 libxl_domain_build_info *b_info =3D &d_config->b_info;
>
> - =A0 =A0config=3D xlu_cfg_init(stderr, configfile_filename_report);
> + =A0 =A0config=3D xlu_cfg_init(stderr, config_source);
> =A0 =A0 if (!config) {
> =A0 =A0 =A0 =A0 fprintf(stderr, "Failed to allocate for configuration\n");
> =A0 =A0 =A0 =A0 exit(1);
> =A0 =A0 }
>
> - =A0 =A0e=3D xlu_cfg_readdata(config, configfile_data, configfile_len);
> + =A0 =A0e=3D xlu_cfg_readdata(config, config_data, config_len);
> =A0 =A0 if (e) {
> - =A0 =A0 =A0 =A0fprintf(stderr, "Failed to parse config file: %s\n", str=
error(e));
> + =A0 =A0 =A0 =A0fprintf(stderr, "Failed to parse config: %s\n", strerror=
(e));
> =A0 =A0 =A0 =A0 exit(1);
> =A0 =A0 }
>
> @@ -1522,6 +1522,8 @@ static int create_domain(struct domain_c
> =A0 =A0 const char *config_file =3D dom_info->config_file;
> =A0 =A0 const char *extra_config =3D dom_info->extra_config;
> =A0 =A0 const char *restore_file =3D dom_info->restore_file;
> + =A0 =A0const char *config_source =3D NULL;
> + =A0 =A0const char *restore_source =3D NULL;
> =A0 =A0 int migrate_fd =3D dom_info->migrate_fd;
>
> =A0 =A0 int i;
> @@ -1537,24 +1539,28 @@ static int create_domain(struct domain_c
> =A0 =A0 pid_t child_console_pid =3D -1;
> =A0 =A0 struct save_file_header hdr;
>
> + =A0 =A0int restoring =3D (restore_file || (migrate_fd >=3D 0));
> +
> =A0 =A0 libxl_domain_config_init(&d_config);
>
> - =A0 =A0if (restore_file) {
> + =A0 =A0if (restoring) {
> =A0 =A0 =A0 =A0 uint8_t *optdata_begin =3D 0;
> =A0 =A0 =A0 =A0 const uint8_t *optdata_here =3D 0;
> =A0 =A0 =A0 =A0 union { uint32_t u32; char b[4]; } u32buf;
> =A0 =A0 =A0 =A0 uint32_t badflags;
>
> =A0 =A0 =A0 =A0 if (migrate_fd >=3D 0) {
> + =A0 =A0 =A0 =A0 =A0 =A0restore_source =3D "<incoming migration stream>"
> =A0 =A0 =A0 =A0 =A0 =A0 restore_fd =3D migrate_fd;
> =A0 =A0 =A0 =A0 } else {
> + =A0 =A0 =A0 =A0 =A0 =A0restore_source =3D restore_file;
> =A0 =A0 =A0 =A0 =A0 =A0 restore_fd =3D open(restore_file, O_RDONLY);
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D libxl_fd_set_cloexec(ctx, restore_fd, 1);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc) return rc;
> =A0 =A0 =A0 =A0 }
>
> =A0 =A0 =A0 =A0 CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 sizeof(hdr), restore_file, "header"=
) );
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 sizeof(hdr), restore_source, "heade=
r") );
> =A0 =A0 =A0 =A0 if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.ma=
gic))) {
> =A0 =A0 =A0 =A0 =A0 =A0 fprintf(stderr, "File has wrong magic number -"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " corrupt or for a different tool=
?\n");
> @@ -1567,7 +1573,7 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 fprintf(stderr, "Loading new save file %s"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " (new xl fmt info"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0restore_file, hdr.mandatory_flags, hdr.o=
ptional_flags,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0restore_source, hdr.mandatory_flags, hdr=
.optional_flags,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len);
>
> =A0 =A0 =A0 =A0 badflags =3D hdr.mandatory_flags & ~( 0 /* none understoo=
d yet */ );
> @@ -1580,7 +1586,7 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 if (hdr.optional_data_len) {
> =A0 =A0 =A0 =A0 =A0 =A0 optdata_begin =3D xmalloc(hdr.optional_data_len);
> =A0 =A0 =A0 =A0 =A0 =A0 CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, op=
tdata_begin,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len, restore_file=
, "optdata") );
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len, restore_sour=
ce, "optdata") );
> =A0 =A0 =A0 =A0 }
>
> =A0#define OPTDATA_LEFT =A0(hdr.optional_data_len - (optdata_here - optda=
ta_begin))
> @@ -1615,7 +1621,7 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0&config_data, &config_len);
> =A0 =A0 =A0 =A0 if (ret) { fprintf(stderr, "Failed to read config file: %=
s: %s\n",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0config_file, strer=
ror(errno)); return ERROR_FAIL; }
> - =A0 =A0 =A0 =A0if (!restore_file && extra_config && strlen(extra_config=
)) {
> + =A0 =A0 =A0 =A0if (!restoring && extra_config && strlen(extra_config)) {
> =A0 =A0 =A0 =A0 =A0 =A0 if (config_len > INT_MAX - (strlen(extra_config) =
+ 2 + 1)) {
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 fprintf(stderr, "Failed to attach extra c=
onfigration\n");
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return ERROR_FAIL;
> @@ -1630,19 +1636,20 @@ static int create_domain(struct domain_c
> =A0 =A0 =A0 =A0 =A0 =A0 config_len +=3D sprintf(config_data + config_len,=
 "\n%s\n",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 extra_config);
> =A0 =A0 =A0 =A0 }
> + =A0 =A0 =A0 =A0config_source=3Dconfig_file;
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 if (!config_data) {
> =A0 =A0 =A0 =A0 =A0 =A0 fprintf(stderr, "Config file not specified and"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " none in save file\n");
> =A0 =A0 =A0 =A0 =A0 =A0 return ERROR_INVAL;
> =A0 =A0 =A0 =A0 }
> - =A0 =A0 =A0 =A0config_file =3D "<saved>";
> + =A0 =A0 =A0 =A0config_source =3D "<saved>";
> =A0 =A0 }
>
> =A0 =A0 if (!dom_info->quiet)
> - =A0 =A0 =A0 =A0printf("Parsing config file %s\n", config_file);
> -
> - =A0 =A0parse_config_data(config_file, config_data, config_len, &d_confi=
g);
> + =A0 =A0 =A0 =A0printf("Parsing config from %s\n", config_source);
> +
> + =A0 =A0parse_config_data(config_source, config_data, config_len, &d_con=
fig);
>
> =A0 =A0 if (migrate_fd >=3D 0) {
> =A0 =A0 =A0 =A0 if (d_config.c_info.name) {
> @@ -1693,7 +1700,7 @@ start:
> =A0 =A0 =A0 =A0 cb =3D NULL;
> =A0 =A0 }
>
> - =A0 =A0if ( restore_file ) {
> + =A0 =A0if ( restoring ) {
> =A0 =A0 =A0 =A0 ret =3D libxl_domain_create_restore(ctx, &d_config,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 cb, &child_console_pid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 &domid, restore_fd);
> @@ -2469,7 +2476,7 @@ static void list_domains_details(const l
> =A0{
> =A0 =A0 libxl_domain_config d_config;
>
> - =A0 =A0char *config_file;
> + =A0 =A0char *config_source;
> =A0 =A0 uint8_t *data;
> =A0 =A0 int i, len, rc;
>
> @@ -2480,13 +2487,13 @@ static void list_domains_details(const l
> =A0 =A0 =A0 =A0 rc =3D libxl_userdata_retrieve(ctx, info[i].domid, "xl", =
&data, &len);
> =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 continue;
> - =A0 =A0 =A0 =A0CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info=
[i].domid));
> + =A0 =A0 =A0 =A0CHK_ERRNO(asprintf(&config_source, "<domid %d data>", in=
fo[i].domid));
> =A0 =A0 =A0 =A0 libxl_domain_config_init(&d_config);
> - =A0 =A0 =A0 =A0parse_config_data(config_file, (char *)data, len, &d_con=
fig);
> + =A0 =A0 =A0 =A0parse_config_data(config_source, (char *)data, len, &d_c=
onfig);
> =A0 =A0 =A0 =A0 printf_info(default_output_format, info[i].domid, &d_conf=
ig);
> =A0 =A0 =A0 =A0 libxl_domain_config_dispose(&d_config);
> =A0 =A0 =A0 =A0 free(data);
> - =A0 =A0 =A0 =A0free(config_file);
> + =A0 =A0 =A0 =A0free(config_source);
> =A0 =A0 }
> =A0}
>
> @@ -2589,7 +2596,7 @@ static void save_domain_core_begin(const
> =A0 =A0 }
> =A0}
>
> -static void save_domain_core_writeconfig(int fd, const char *filename,
> +static void save_domain_core_writeconfig(int fd, const char *source,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const=
 uint8_t *config_data, int config_len)
> =A0{
> =A0 =A0 struct save_file_header hdr;
> @@ -2618,13 +2625,13 @@ static void save_domain_core_writeconfig
> =A0 =A0 /* that's the optional data */
>
> =A0 =A0 CHK_ERRNO( libxl_write_exactly(ctx, fd,
> - =A0 =A0 =A0 =A0&hdr, sizeof(hdr), filename, "header") );
> + =A0 =A0 =A0 =A0&hdr, sizeof(hdr), source, "header") );
> =A0 =A0 CHK_ERRNO( libxl_write_exactly(ctx, fd,
> - =A0 =A0 =A0 =A0optdata_begin, hdr.optional_data_len, filename, "header"=
) );
> + =A0 =A0 =A0 =A0optdata_begin, hdr.optional_data_len, source, "header") =
);
>
> =A0 =A0 fprintf(stderr, "Saving to %s new xl format (info"
> =A0 =A0 =A0 =A0 =A0 =A0 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> - =A0 =A0 =A0 =A0 =A0 =A0filename, hdr.mandatory_flags, hdr.optional_flag=
s,
> + =A0 =A0 =A0 =A0 =A0 =A0source, hdr.mandatory_flags, hdr.optional_flags,
> =A0 =A0 =A0 =A0 =A0 =A0 hdr.optional_data_len);
> =A0}
>
> @@ -2950,7 +2957,6 @@ static void migrate_receive(int debug, i
> =A0 =A0 dom_info.daemonize =3D daemonize;
> =A0 =A0 dom_info.monitor =3D monitor;
> =A0 =A0 dom_info.paused =3D 1;
> - =A0 =A0dom_info.restore_file =3D "incoming migration stream";
> =A0 =A0 dom_info.migrate_fd =3D 0; /* stdin */
> =A0 =A0 dom_info.migration_domname_r =3D &migration_domname;
> =A0 =A0 dom_info.incr_generationid =3D 0;
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:54:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:54:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFDm-0001Vz-Sc; Fri, 04 May 2012 09:54:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQFDl-0001Vt-Da
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:54:41 +0000
Received: from [85.158.143.99:9407] by server-2.bemta-4.messagelabs.com id
	81/E0-17550-067A3AF4; Fri, 04 May 2012 09:54:40 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336125279!25565955!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3715 invoked from network); 4 May 2012 09:54:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:54:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12293722"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:54:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 10:54:38 +0100
Date: Fri, 4 May 2012 10:54:23 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Vinaya MS (MT2010166)" <vinaya.ms@iiitb.org>
In-Reply-To: <DE92B8A482669C45A3901092980982D7179DCD4C@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
Message-ID: <alpine.DEB.2.00.1205041049310.26786@kaball-desktop>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>,
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
	<DE92B8A482669C45A3901092980982D7179DCD4C@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Vinaya MS (MT2010166) wrote:
> Stefano Stabellini <stefano.stabellini <at> eu.citrix.com> writes:
> 
> > Are you using xm or xl?
> I'm using xm.
> 
> > Why do you say that CONFIG_XEN_PCIDEV_BACKEND is not working for you?
> modprobe pciback says fatal error.
> xen-pciback.hide does not hide pci device.

If I am not mistaken Ubuntu 11.04 comes with Linux 2.6.38 that is too
old to have CONFIG_XEN_PCIDEV_BACKEND: if you are using the default
Ubuntu 11.04 kernel as dom0 kernel CONFIG_XEN_PCIDEV_BACKEND is not
going to work.


> > Try assigning something that is not a graphic card, do you see the
> > device if you execute lspci?
> Nope. I get a error Error: Timed out waiting for device model action
> 
> > Is it your primary graphic card?
> Yes it was a primary card.Now I inserted another card [quadro 570]
> which is acting as primary card.
> 
> Now, i'm able to passthrough c2050 card. But on assigning them I get a msg
> Error: Timed out waiting for device model action

Could you please post QEMU's logs (/var/log/xen/qemu-dm-name*.log)?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 09:54:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 09:54:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFDm-0001Vz-Sc; Fri, 04 May 2012 09:54:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQFDl-0001Vt-Da
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 09:54:41 +0000
Received: from [85.158.143.99:9407] by server-2.bemta-4.messagelabs.com id
	81/E0-17550-067A3AF4; Fri, 04 May 2012 09:54:40 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336125279!25565955!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3715 invoked from network); 4 May 2012 09:54:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 09:54:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12293722"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:54:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 10:54:38 +0100
Date: Fri, 4 May 2012 10:54:23 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Vinaya MS (MT2010166)" <vinaya.ms@iiitb.org>
In-Reply-To: <DE92B8A482669C45A3901092980982D7179DCD4C@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
Message-ID: <alpine.DEB.2.00.1205041049310.26786@kaball-desktop>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>,
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
	<DE92B8A482669C45A3901092980982D7179DCD4C@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Vinaya MS (MT2010166) wrote:
> Stefano Stabellini <stefano.stabellini <at> eu.citrix.com> writes:
> 
> > Are you using xm or xl?
> I'm using xm.
> 
> > Why do you say that CONFIG_XEN_PCIDEV_BACKEND is not working for you?
> modprobe pciback says fatal error.
> xen-pciback.hide does not hide pci device.

If I am not mistaken Ubuntu 11.04 comes with Linux 2.6.38 that is too
old to have CONFIG_XEN_PCIDEV_BACKEND: if you are using the default
Ubuntu 11.04 kernel as dom0 kernel CONFIG_XEN_PCIDEV_BACKEND is not
going to work.


> > Try assigning something that is not a graphic card, do you see the
> > device if you execute lspci?
> Nope. I get a error Error: Timed out waiting for device model action
> 
> > Is it your primary graphic card?
> Yes it was a primary card.Now I inserted another card [quadro 570]
> which is acting as primary card.
> 
> Now, i'm able to passthrough c2050 card. But on assigning them I get a msg
> Error: Timed out waiting for device model action

Could you please post QEMU's logs (/var/log/xen/qemu-dm-name*.log)?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:06:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:06:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFPF-00026y-OM; Fri, 04 May 2012 10:06:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gabrielx.wu@intel.com>) id 1SQFPD-00026t-R9
	for xen-devel@lists.xen.org; Fri, 04 May 2012 10:06:32 +0000
Received: from [85.158.143.99:9122] by server-3.bemta-4.messagelabs.com id
	64/F0-05853-72AA3AF4; Fri, 04 May 2012 10:06:31 +0000
X-Env-Sender: gabrielx.wu@intel.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336125989!20092386!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI5MTkw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32044 invoked from network); 4 May 2012 10:06:30 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-216.messagelabs.com with SMTP;
	4 May 2012 10:06:30 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 04 May 2012 03:06:29 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="96337615"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 04 May 2012 03:06:29 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 4 May 2012 03:06:28 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Fri, 4 May 2012 18:06:27 +0800
From: "Wu, GabrielX" <gabrielx.wu@intel.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Thread-Topic: VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: AQHNKd2RIykB5nZwyk2zCq36bhIDaw==
Date: Fri, 4 May 2012 10:06:26 +0000
Message-ID: <E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Subject: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,

This is the test report of xen-unstable tree. There are one bug found.

Version Info:
=================================================================
xen-changeset:   25256
Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...) 
=================================================================

New issue(1)
==============
1. cpu weight out of range error when create hvm domU
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818

Fixed issue(0)
==============

Old issues(8)
==============
1. [ACPI] System cann't resume after do suspend
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707
2. [XL]"xl vcpu-set" causes dom0 crash or panic
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
3. [VT-D]fail to detach NIC from guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
5. [VT-D] device reset fail when create/destroy guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
6. when detaching a VF from hvm guest, "xl dmesg" will show some warning information
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809
7. RHEL6.2/6.1 guest runs quite slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811
8. after detaching a VF from a guest, shutdown the guest is very slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812

Thanks,
Wu Ronghui(Gabriel)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:06:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:06:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFPF-00026y-OM; Fri, 04 May 2012 10:06:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gabrielx.wu@intel.com>) id 1SQFPD-00026t-R9
	for xen-devel@lists.xen.org; Fri, 04 May 2012 10:06:32 +0000
Received: from [85.158.143.99:9122] by server-3.bemta-4.messagelabs.com id
	64/F0-05853-72AA3AF4; Fri, 04 May 2012 10:06:31 +0000
X-Env-Sender: gabrielx.wu@intel.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336125989!20092386!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjI5MTkw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32044 invoked from network); 4 May 2012 10:06:30 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-216.messagelabs.com with SMTP;
	4 May 2012 10:06:30 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 04 May 2012 03:06:29 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="96337615"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 04 May 2012 03:06:29 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 4 May 2012 03:06:28 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Fri, 4 May 2012 18:06:27 +0800
From: "Wu, GabrielX" <gabrielx.wu@intel.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Thread-Topic: VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: AQHNKd2RIykB5nZwyk2zCq36bhIDaw==
Date: Fri, 4 May 2012 10:06:26 +0000
Message-ID: <E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Subject: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,

This is the test report of xen-unstable tree. There are one bug found.

Version Info:
=================================================================
xen-changeset:   25256
Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...) 
=================================================================

New issue(1)
==============
1. cpu weight out of range error when create hvm domU
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818

Fixed issue(0)
==============

Old issues(8)
==============
1. [ACPI] System cann't resume after do suspend
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707
2. [XL]"xl vcpu-set" causes dom0 crash or panic
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
3. [VT-D]fail to detach NIC from guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
5. [VT-D] device reset fail when create/destroy guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
6. when detaching a VF from hvm guest, "xl dmesg" will show some warning information
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809
7. RHEL6.2/6.1 guest runs quite slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811
8. after detaching a VF from a guest, shutdown the guest is very slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812

Thanks,
Wu Ronghui(Gabriel)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:20:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:20:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFbu-0002hb-O5; Fri, 04 May 2012 10:19:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQFbu-0002hV-0z
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:19:38 +0000
Received: from [85.158.143.99:57610] by server-3.bemta-4.messagelabs.com id
	A1/F2-05853-93DA3AF4; Fri, 04 May 2012 10:19:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336126776!25570236!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25253 invoked from network); 4 May 2012 10:19:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:19:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12294379"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:19:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 11:19:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQFbs-0000kR-B5; Fri, 04 May 2012 10:19:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQFbs-0001MI-9a;
	Fri, 04 May 2012 11:19:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20387.44344.187553.704998@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 11:19:36 +0100
To: Olaf Hering <olaf@aepfle.de>
In-Reply-To: <20120504092819.GA10010@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("Re: [Xen-devel] vTPM patch does not apply"):
> Reverting c5b7d49ca3ee is ok. I will send another patch on top which
> will just crate and apply a second patch to use LDLIBS.

Thanks.  I have done the revert.  I don't know why I didn't spot this
when I was reviewing and applying 25142:c5b7d49ca3ee in the first
place.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:20:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:20:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFbu-0002hb-O5; Fri, 04 May 2012 10:19:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQFbu-0002hV-0z
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:19:38 +0000
Received: from [85.158.143.99:57610] by server-3.bemta-4.messagelabs.com id
	A1/F2-05853-93DA3AF4; Fri, 04 May 2012 10:19:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336126776!25570236!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25253 invoked from network); 4 May 2012 10:19:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:19:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12294379"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:19:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 11:19:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQFbs-0000kR-B5; Fri, 04 May 2012 10:19:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQFbs-0001MI-9a;
	Fri, 04 May 2012 11:19:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20387.44344.187553.704998@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 11:19:36 +0100
To: Olaf Hering <olaf@aepfle.de>
In-Reply-To: <20120504092819.GA10010@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("Re: [Xen-devel] vTPM patch does not apply"):
> Reverting c5b7d49ca3ee is ok. I will send another patch on top which
> will just crate and apply a second patch to use LDLIBS.

Thanks.  I have done the revert.  I don't know why I didn't spot this
when I was reviewing and applying 25142:c5b7d49ca3ee in the first
place.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:26:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:26:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFiU-0002ut-JZ; Fri, 04 May 2012 10:26:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQFiT-0002un-H8
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:26:25 +0000
Received: from [193.109.254.147:28560] by server-10.bemta-14.messagelabs.com
	id 3B/1A-05847-0DEA3AF4; Fri, 04 May 2012 10:26:24 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336127171!757819!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11085 invoked from network); 4 May 2012 10:26:12 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 10:26:12 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (josoe mo55) (RZmta 29.1 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id y0031ao44A49SX ;
	Fri, 4 May 2012 12:26:11 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id A2C9718637; Fri,  4 May 2012 12:26:10 +0200 (CEST)
Date: Fri, 4 May 2012 12:26:10 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120504102610.GA22031@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
	<20387.44344.187553.704998@mariner.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20387.44344.187553.704998@mariner.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Ian Jackson wrote:

> Olaf Hering writes ("Re: [Xen-devel] vTPM patch does not apply"):
> > Reverting c5b7d49ca3ee is ok. I will send another patch on top which
> > will just crate and apply a second patch to use LDLIBS.
> 
> Thanks.  I have done the revert.  I don't know why I didn't spot this
> when I was reviewing and applying 25142:c5b7d49ca3ee in the first
> place.

Oh, you did.
But unfortunately I convinced myself and you that my change is ok.
Sorry again for that.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:26:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:26:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFiU-0002ut-JZ; Fri, 04 May 2012 10:26:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQFiT-0002un-H8
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:26:25 +0000
Received: from [193.109.254.147:28560] by server-10.bemta-14.messagelabs.com
	id 3B/1A-05847-0DEA3AF4; Fri, 04 May 2012 10:26:24 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336127171!757819!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11085 invoked from network); 4 May 2012 10:26:12 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 10:26:12 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (josoe mo55) (RZmta 29.1 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id y0031ao44A49SX ;
	Fri, 4 May 2012 12:26:11 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id A2C9718637; Fri,  4 May 2012 12:26:10 +0200 (CEST)
Date: Fri, 4 May 2012 12:26:10 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120504102610.GA22031@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
	<20387.44344.187553.704998@mariner.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20387.44344.187553.704998@mariner.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Ian Jackson wrote:

> Olaf Hering writes ("Re: [Xen-devel] vTPM patch does not apply"):
> > Reverting c5b7d49ca3ee is ok. I will send another patch on top which
> > will just crate and apply a second patch to use LDLIBS.
> 
> Thanks.  I have done the revert.  I don't know why I didn't spot this
> when I was reviewing and applying 25142:c5b7d49ca3ee in the first
> place.

Oh, you did.
But unfortunately I convinced myself and you that my change is ok.
Sorry again for that.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:28:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFjx-0002zO-2n; Fri, 04 May 2012 10:27:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQFjv-0002zG-LA
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:27:55 +0000
Received: from [193.109.254.147:51916] by server-1.bemta-14.messagelabs.com id
	30/58-29372-A2FA3AF4; Fri, 04 May 2012 10:27:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336127274!7628001!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24160 invoked from network); 4 May 2012 10:27:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:27:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12294591"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:27:54 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:27:53 +0100
Message-ID: <1336127272.2361.42.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 4 May 2012 11:27:52 +0100
In-Reply-To: <20387.44344.187553.704998@mariner.uk.xensource.com>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
	<20387.44344.187553.704998@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 11:19 +0100, Ian Jackson wrote:
> Olaf Hering writes ("Re: [Xen-devel] vTPM patch does not apply"):
> > Reverting c5b7d49ca3ee is ok. I will send another patch on top which
> > will just crate and apply a second patch to use LDLIBS.
> 
> Thanks.  I have done the revert.  I don't know why I didn't spot this
> when I was reviewing and applying 25142:c5b7d49ca3ee in the first
> place.

FWIW we don't build vTPM by default so you wouldn't have noticed the
actual failure.

Perhaps the test system should enable non-default things like this?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:28:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFjx-0002zO-2n; Fri, 04 May 2012 10:27:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQFjv-0002zG-LA
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:27:55 +0000
Received: from [193.109.254.147:51916] by server-1.bemta-14.messagelabs.com id
	30/58-29372-A2FA3AF4; Fri, 04 May 2012 10:27:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336127274!7628001!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24160 invoked from network); 4 May 2012 10:27:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:27:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12294591"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:27:54 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:27:53 +0100
Message-ID: <1336127272.2361.42.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 4 May 2012 11:27:52 +0100
In-Reply-To: <20387.44344.187553.704998@mariner.uk.xensource.com>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
	<20387.44344.187553.704998@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 11:19 +0100, Ian Jackson wrote:
> Olaf Hering writes ("Re: [Xen-devel] vTPM patch does not apply"):
> > Reverting c5b7d49ca3ee is ok. I will send another patch on top which
> > will just crate and apply a second patch to use LDLIBS.
> 
> Thanks.  I have done the revert.  I don't know why I didn't spot this
> when I was reviewing and applying 25142:c5b7d49ca3ee in the first
> place.

FWIW we don't build vTPM by default so you wouldn't have noticed the
actual failure.

Perhaps the test system should enable non-default things like this?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:28:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:28:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFkY-00032f-G5; Fri, 04 May 2012 10:28:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQFkX-00032Z-Tt
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:28:34 +0000
Received: from [85.158.139.83:4181] by server-10.bemta-5.messagelabs.com id
	E1/4D-08260-15FA3AF4; Fri, 04 May 2012 10:28:33 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336127311!19518202!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21268 invoked from network); 4 May 2012 10:28:32 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-11.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 10:28:32 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQFkU-0005Pn-Ex
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 12:28:30 +0200
Received: from static.bangaore.mp.59.90.239.152/21.bsnl.in
	([static.bangaore.mp.59.90.239.152/21.bsnl.in])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 12:28:30 +0200
Received: from vinaya.ms by static.bangaore.mp.59.90.239.152/21.bsnl.in with
	local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 12:28:30 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Vinaya M S <vinaya.ms@iiitb.org>
Date: Fri, 4 May 2012 10:28:21 +0000 (UTC)
Lines: 12
Message-ID: <loom.20120504T122525-97@post.gmane.org>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
	<loom.20120504T111659-279@post.gmane.org>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 59.90.239.152 (Mozilla/5.0 (X11; Linux x86_64;
	rv:2.0) Gecko/20100101 Firefox/4.0)
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If I am not mistaken Ubuntu 11.04 comes with Linux 2.6.38 that is too
old to have CONFIG_XEN_PCIDEV_BACKEND: if you are using the default
Ubuntu 11.04 kernel as dom0 kernel CONFIG_XEN_PCIDEV_BACKEND is not
going to work.

I'm not using default kernel. I have downloaded kernel 2.6.32.40 pv from
http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=commit;h=2b494f184d3337d10d59226e3632af56ea66629a
and have followed http://wiki.xensource.com/xenwiki/XenParavirtOps to configure
the kernel.

I had grub2 issue which I resolved by installing legacy grub.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:28:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:28:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFkY-00032f-G5; Fri, 04 May 2012 10:28:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQFkX-00032Z-Tt
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 10:28:34 +0000
Received: from [85.158.139.83:4181] by server-10.bemta-5.messagelabs.com id
	E1/4D-08260-15FA3AF4; Fri, 04 May 2012 10:28:33 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336127311!19518202!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21268 invoked from network); 4 May 2012 10:28:32 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-11.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 10:28:32 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQFkU-0005Pn-Ex
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 12:28:30 +0200
Received: from static.bangaore.mp.59.90.239.152/21.bsnl.in
	([static.bangaore.mp.59.90.239.152/21.bsnl.in])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 12:28:30 +0200
Received: from vinaya.ms by static.bangaore.mp.59.90.239.152/21.bsnl.in with
	local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 12:28:30 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Vinaya M S <vinaya.ms@iiitb.org>
Date: Fri, 4 May 2012 10:28:21 +0000 (UTC)
Lines: 12
Message-ID: <loom.20120504T122525-97@post.gmane.org>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
	<loom.20120504T111659-279@post.gmane.org>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 59.90.239.152 (Mozilla/5.0 (X11; Linux x86_64;
	rv:2.0) Gecko/20100101 Firefox/4.0)
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If I am not mistaken Ubuntu 11.04 comes with Linux 2.6.38 that is too
old to have CONFIG_XEN_PCIDEV_BACKEND: if you are using the default
Ubuntu 11.04 kernel as dom0 kernel CONFIG_XEN_PCIDEV_BACKEND is not
going to work.

I'm not using default kernel. I have downloaded kernel 2.6.32.40 pv from
http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=commit;h=2b494f184d3337d10d59226e3632af56ea66629a
and have followed http://wiki.xensource.com/xenwiki/XenParavirtOps to configure
the kernel.

I had grub2 issue which I resolved by installing legacy grub.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:39:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:39:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFuo-0003Rv-Mk; Fri, 04 May 2012 10:39:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQFun-0003Rn-EH
	for Xen-devel@lists.xen.org; Fri, 04 May 2012 10:39:09 +0000
Received: from [85.158.143.35:64515] by server-3.bemta-4.messagelabs.com id
	32/0D-05853-CC1B3AF4; Fri, 04 May 2012 10:39:08 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336127945!14138650!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8466 invoked from network); 4 May 2012 10:39:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:39:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859190"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 06:39:04 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	06:39:04 -0400
Message-ID: <4FA3B1C7.4060201@citrix.com>
Date: Fri, 4 May 2012 11:39:03 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Philipp Hahn <hahn@univention.de>
References: <201205041054.04079.hahn@univention.de>
In-Reply-To: <201205041054.04079.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	Xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [BUG 2.6.32.y] Broken PV migration between hosts
 with	different uptime, non-monotonic time?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 09:54, Philipp Hahn wrote:
> Hello,
> 
> I encountered the following bug when migrating a Linux-2.6.32.54 PV domain on 
> Xen-3.4.3 between different hosts, whose uptime differs by several minutes (3 
> hosts, each ~5 minutes apart): When migrating from a host with lower uptime 
> to a host with higher uptime, the VM looses it's network connection for some 
> time and then continues after some minutes (roughly equivalent to the 
> difference in uptime?).
> There are two different symptoms: Either the VM becomes unpingable, or the VM 
> is pingable but the ssh-connection freezes: a while-loop dumping /proc/uptime 
> freezes and continues without a jump after the freeze is over.

Xen 3.4 doesn't ensure that the TSC is stable across migrates (Xen 4.0
does).  If the host CPU has the CONSTANT_TSC bit in the Advanced Power
Management CPUID leaf it will pass this through to the guest which makes
the guest think the TSC is stable.

Can you try this libxc patch?

8<------------------------
libxc: clear CONSTANT_TSC bit in Advanced Power Management CPUID leaf

Even if the TSC is constant on a host, it won't be constant across a
migrate.

Signed-off-by: David Vrabel <david.vrabel@citrix.com
----
 tools/libxc/xc_cpuid_x86.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff -r 884f24257f2c tools/libxc/xc_cpuid_x86.c
--- a/tools/libxc/xc_cpuid_x86.c	Tue Apr 17 14:47:14 2012 +0100
+++ b/tools/libxc/xc_cpuid_x86.c	Tue Apr 17 17:33:37 2012 +0100
@@ -199,6 +199,13 @@ static void xc_cpuid_hvm_policy(
             clear_bit(X86_FEATURE_NX, regs[3]);
         break;

+    case 0x80000007: /* Advanced Power Management */
+        /*
+         * Even if the TSC is constant on a host, it won't be constant
+         * across a migrate.
+         */
+        clear_bit(X86_FEATURE_CONSTANT_TSC, regs[3]);
+        break;

     case 0x80000008:
         regs[0] &= 0x0000ffffu;
@@ -298,6 +305,13 @@ static void xc_cpuid_pv_policy(
         clear_bit(X86_FEATURE_SKINIT, regs[2]);
         clear_bit(X86_FEATURE_WDT, regs[2]);
         break;
+    case 0x80000007: /* Advanced Power Management */
+        /*
+         * Even if the TSC is constant on a host, it won't be constant
+         * across a migrate.
+         */
+        clear_bit(X86_FEATURE_CONSTANT_TSC, regs[3]);
+        break;
     case 5: /* MONITOR/MWAIT */
     case 0xa: /* Architectural Performance Monitor Features */
     case 0x8000000a: /* SVM revision and features */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:39:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:39:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQFuo-0003Rv-Mk; Fri, 04 May 2012 10:39:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQFun-0003Rn-EH
	for Xen-devel@lists.xen.org; Fri, 04 May 2012 10:39:09 +0000
Received: from [85.158.143.35:64515] by server-3.bemta-4.messagelabs.com id
	32/0D-05853-CC1B3AF4; Fri, 04 May 2012 10:39:08 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336127945!14138650!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8466 invoked from network); 4 May 2012 10:39:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:39:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859190"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 06:39:04 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	06:39:04 -0400
Message-ID: <4FA3B1C7.4060201@citrix.com>
Date: Fri, 4 May 2012 11:39:03 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Philipp Hahn <hahn@univention.de>
References: <201205041054.04079.hahn@univention.de>
In-Reply-To: <201205041054.04079.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
	Xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [BUG 2.6.32.y] Broken PV migration between hosts
 with	different uptime, non-monotonic time?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 09:54, Philipp Hahn wrote:
> Hello,
> 
> I encountered the following bug when migrating a Linux-2.6.32.54 PV domain on 
> Xen-3.4.3 between different hosts, whose uptime differs by several minutes (3 
> hosts, each ~5 minutes apart): When migrating from a host with lower uptime 
> to a host with higher uptime, the VM looses it's network connection for some 
> time and then continues after some minutes (roughly equivalent to the 
> difference in uptime?).
> There are two different symptoms: Either the VM becomes unpingable, or the VM 
> is pingable but the ssh-connection freezes: a while-loop dumping /proc/uptime 
> freezes and continues without a jump after the freeze is over.

Xen 3.4 doesn't ensure that the TSC is stable across migrates (Xen 4.0
does).  If the host CPU has the CONSTANT_TSC bit in the Advanced Power
Management CPUID leaf it will pass this through to the guest which makes
the guest think the TSC is stable.

Can you try this libxc patch?

8<------------------------
libxc: clear CONSTANT_TSC bit in Advanced Power Management CPUID leaf

Even if the TSC is constant on a host, it won't be constant across a
migrate.

Signed-off-by: David Vrabel <david.vrabel@citrix.com
----
 tools/libxc/xc_cpuid_x86.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff -r 884f24257f2c tools/libxc/xc_cpuid_x86.c
--- a/tools/libxc/xc_cpuid_x86.c	Tue Apr 17 14:47:14 2012 +0100
+++ b/tools/libxc/xc_cpuid_x86.c	Tue Apr 17 17:33:37 2012 +0100
@@ -199,6 +199,13 @@ static void xc_cpuid_hvm_policy(
             clear_bit(X86_FEATURE_NX, regs[3]);
         break;

+    case 0x80000007: /* Advanced Power Management */
+        /*
+         * Even if the TSC is constant on a host, it won't be constant
+         * across a migrate.
+         */
+        clear_bit(X86_FEATURE_CONSTANT_TSC, regs[3]);
+        break;

     case 0x80000008:
         regs[0] &= 0x0000ffffu;
@@ -298,6 +305,13 @@ static void xc_cpuid_pv_policy(
         clear_bit(X86_FEATURE_SKINIT, regs[2]);
         clear_bit(X86_FEATURE_WDT, regs[2]);
         break;
+    case 0x80000007: /* Advanced Power Management */
+        /*
+         * Even if the TSC is constant on a host, it won't be constant
+         * across a migrate.
+         */
+        clear_bit(X86_FEATURE_CONSTANT_TSC, regs[3]);
+        break;
     case 5: /* MONITOR/MWAIT */
     case 0xa: /* Architectural Performance Monitor Features */
     case 0x8000000a: /* SVM revision and features */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:49:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQG4S-0003f8-Qh; Fri, 04 May 2012 10:49:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SQG4S-0003f3-2t
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 10:49:08 +0000
Received: from [85.158.143.99:47667] by server-2.bemta-4.messagelabs.com id
	52/3B-17550-324B3AF4; Fri, 04 May 2012 10:49:07 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336128546!26463880!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15130 invoked from network); 4 May 2012 10:49:06 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 10:49:06 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SQG4M-0001dw-V9; Fri, 04 May 2012 10:49:02 +0000
Date: Fri, 4 May 2012 11:49:02 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504104902.GA6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336122502.2361.7.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 10:08 +0100 on 04 May (1336126102), Ian Campbell wrote:
> What does the guest EFLAGS actually contain at this point? Is it
> different to what it contains on non-hybrid dom0?
> 
> How do we execute 16 bit code in a VMX guest these days, using vm86 or
> by emulation?

Both, and also sometimes neither. :) 

If the chip supports it, we just run in real mode inside the VM (this is
called "unrestricted guest" in the VMX code and will be reported in the
Xen boot messages).

Otherwise we run in vm86 when we can, and emulate things that vm86
doesn't support, and all I/O.  We also have to emulate when the segment
state is wierd (e.g., big-real-mode) because the VMENTER into vm86 has
stricter checks on segment state than actual real mode.

> How does that interact with EFLAGS_ID I wonder (although
> why hybrid dom0 would have any bearing on this I've no idea).

I'm not aware of anything deliberately tinkering with EFLAGS_ID, but
it's possible that vm86 interacts with it (of that we accidentally lose
some parts of EFLAGS in emulation).

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:49:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQG4S-0003f8-Qh; Fri, 04 May 2012 10:49:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SQG4S-0003f3-2t
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 10:49:08 +0000
Received: from [85.158.143.99:47667] by server-2.bemta-4.messagelabs.com id
	52/3B-17550-324B3AF4; Fri, 04 May 2012 10:49:07 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336128546!26463880!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15130 invoked from network); 4 May 2012 10:49:06 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 10:49:06 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SQG4M-0001dw-V9; Fri, 04 May 2012 10:49:02 +0000
Date: Fri, 4 May 2012 11:49:02 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504104902.GA6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336122502.2361.7.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 10:08 +0100 on 04 May (1336126102), Ian Campbell wrote:
> What does the guest EFLAGS actually contain at this point? Is it
> different to what it contains on non-hybrid dom0?
> 
> How do we execute 16 bit code in a VMX guest these days, using vm86 or
> by emulation?

Both, and also sometimes neither. :) 

If the chip supports it, we just run in real mode inside the VM (this is
called "unrestricted guest" in the VMX code and will be reported in the
Xen boot messages).

Otherwise we run in vm86 when we can, and emulate things that vm86
doesn't support, and all I/O.  We also have to emulate when the segment
state is wierd (e.g., big-real-mode) because the VMENTER into vm86 has
stricter checks on segment state than actual real mode.

> How does that interact with EFLAGS_ID I wonder (although
> why hybrid dom0 would have any bearing on this I've no idea).

I'm not aware of anything deliberately tinkering with EFLAGS_ID, but
it's possible that vm86 interacts with it (of that we accidentally lose
some parts of EFLAGS in emulation).

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:52:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:52:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQG7o-0003p4-Id; Fri, 04 May 2012 10:52:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <accept.acm@gmail.com>) id 1SQG7m-0003or-Tt
	for xen-devel@lists.xen.org; Fri, 04 May 2012 10:52:35 +0000
Received: from [85.158.143.35:11016] by server-2.bemta-4.messagelabs.com id
	F1/7F-17550-2F4B3AF4; Fri, 04 May 2012 10:52:34 +0000
X-Env-Sender: accept.acm@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336128750!7536365!1
X-Originating-IP: [209.85.210.42]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20247 invoked from network); 4 May 2012 10:52:33 -0000
Received: from mail-pz0-f42.google.com (HELO mail-pz0-f42.google.com)
	(209.85.210.42)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:52:33 -0000
Received: by dalf4 with SMTP id f4so189153dal.29
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 03:52:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=from:content-type:content-transfer-encoding:subject:date:message-id
	:cc:to:mime-version:x-mailer;
	bh=yW2FclpYJSf/TdxGuVyG8FaIMYKASqwIlilqMWXe3lk=;
	b=gIif48zj084DYo7X8CbFbpYeWdFnllzIL3Nl3ehkvgSLdPc6zGbk9o4AwXN76EE7R7
	XUfh90n9cro0vQFmL2gxo4fJAkLgv+sT+Mq5lmXddFlCFylYElPHESCbkNwEHPtdFF29
	eGVC70x1f5i6utflo+67AdpZQM6se6wC/prrYv6g4BzjEriBfU1Kkw7JJfkm+ZNYFHqT
	GyVa0Tg7KaOcKqvckYQ/24rhP5aKnre+E0chyaM4uzyQv4xLa49zn5SD9ga+QgbswHr4
	Af/O+4x4lMd7JAx38+7kvc1S7myZwElmo9d92joHb4oa+ZdACOuMXV27g71Sd274k/01
	fk7A==
Received: by 10.68.221.194 with SMTP id qg2mr46663pbc.18.1336128750625;
	Fri, 04 May 2012 03:52:30 -0700 (PDT)
Received: from [10.30.0.13] ([159.226.43.35])
	by mx.google.com with ESMTPS id gv2sm8277406pbc.73.2012.05.04.03.52.29
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 04 May 2012 03:52:30 -0700 (PDT)
From: wang zhihao <accept.acm@gmail.com>
Date: Fri, 4 May 2012 18:52:27 +0800
Message-Id: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Mime-Version: 1.0 (Apple Message framework v1084)
X-Mailer: Apple Mail (2.1084)
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] How to select a rootfs to test job test-amd64-amd64-xl
	on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi All

I try to test flight 12785 job test-amd64-amd64-xl on my own machine.  I download kerndist.tar.gz , dist.tar.gz and  xendist.tar.gz from logfiles generated by job build-amd64-pvops and  build-amd64. 
But there is no clue on how to get a root file system. So I try Ubuntu 11.10 as its rootfs, which is ext3 format. Unfortunately, it complains the <The disk drive for / is not ready yet or not present  Continue to wait; or press S to skip mounting or M for manual recovery >.
So which root file system should I use? 

Any help are appreciated.

Regards
Wang zhihao


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:52:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:52:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQG7o-0003p4-Id; Fri, 04 May 2012 10:52:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <accept.acm@gmail.com>) id 1SQG7m-0003or-Tt
	for xen-devel@lists.xen.org; Fri, 04 May 2012 10:52:35 +0000
Received: from [85.158.143.35:11016] by server-2.bemta-4.messagelabs.com id
	F1/7F-17550-2F4B3AF4; Fri, 04 May 2012 10:52:34 +0000
X-Env-Sender: accept.acm@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336128750!7536365!1
X-Originating-IP: [209.85.210.42]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20247 invoked from network); 4 May 2012 10:52:33 -0000
Received: from mail-pz0-f42.google.com (HELO mail-pz0-f42.google.com)
	(209.85.210.42)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:52:33 -0000
Received: by dalf4 with SMTP id f4so189153dal.29
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 03:52:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=from:content-type:content-transfer-encoding:subject:date:message-id
	:cc:to:mime-version:x-mailer;
	bh=yW2FclpYJSf/TdxGuVyG8FaIMYKASqwIlilqMWXe3lk=;
	b=gIif48zj084DYo7X8CbFbpYeWdFnllzIL3Nl3ehkvgSLdPc6zGbk9o4AwXN76EE7R7
	XUfh90n9cro0vQFmL2gxo4fJAkLgv+sT+Mq5lmXddFlCFylYElPHESCbkNwEHPtdFF29
	eGVC70x1f5i6utflo+67AdpZQM6se6wC/prrYv6g4BzjEriBfU1Kkw7JJfkm+ZNYFHqT
	GyVa0Tg7KaOcKqvckYQ/24rhP5aKnre+E0chyaM4uzyQv4xLa49zn5SD9ga+QgbswHr4
	Af/O+4x4lMd7JAx38+7kvc1S7myZwElmo9d92joHb4oa+ZdACOuMXV27g71Sd274k/01
	fk7A==
Received: by 10.68.221.194 with SMTP id qg2mr46663pbc.18.1336128750625;
	Fri, 04 May 2012 03:52:30 -0700 (PDT)
Received: from [10.30.0.13] ([159.226.43.35])
	by mx.google.com with ESMTPS id gv2sm8277406pbc.73.2012.05.04.03.52.29
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 04 May 2012 03:52:30 -0700 (PDT)
From: wang zhihao <accept.acm@gmail.com>
Date: Fri, 4 May 2012 18:52:27 +0800
Message-Id: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Mime-Version: 1.0 (Apple Message framework v1084)
X-Mailer: Apple Mail (2.1084)
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] How to select a rootfs to test job test-amd64-amd64-xl
	on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi All

I try to test flight 12785 job test-amd64-amd64-xl on my own machine.  I download kerndist.tar.gz , dist.tar.gz and  xendist.tar.gz from logfiles generated by job build-amd64-pvops and  build-amd64. 
But there is no clue on how to get a root file system. So I try Ubuntu 11.10 as its rootfs, which is ext3 format. Unfortunately, it complains the <The disk drive for / is not ready yet or not present  Continue to wait; or press S to skip mounting or M for manual recovery >.
So which root file system should I use? 

Any help are appreciated.

Regards
Wang zhihao


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:54:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:54:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQG9L-0003vs-2Y; Fri, 04 May 2012 10:54:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQG9J-0003vh-0e
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 10:54:09 +0000
Received: from [85.158.143.99:16864] by server-3.bemta-4.messagelabs.com id
	9A/C0-05853-055B3AF4; Fri, 04 May 2012 10:54:08 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336128847!21206950!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30403 invoked from network); 4 May 2012 10:54:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:54:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295145"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:53:28 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:53:28 +0100
Message-ID: <1336128807.2361.56.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Fri, 4 May 2012 11:53:27 +0100
In-Reply-To: <20120504104902.GA6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 11:49 +0100, Tim Deegan wrote:
> At 10:08 +0100 on 04 May (1336126102), Ian Campbell wrote:
> > What does the guest EFLAGS actually contain at this point? Is it
> > different to what it contains on non-hybrid dom0?
> > 
> > How do we execute 16 bit code in a VMX guest these days, using vm86 or
> > by emulation?
> 
> Both, and also sometimes neither. :) 

Of course ;-)

> If the chip supports it, we just run in real mode inside the VM (this is
> called "unrestricted guest" in the VMX code and will be reported in the
> Xen boot messages).

Thanks, I thought this had been added but didn't know the name of the
feature.

> Otherwise we run in vm86 when we can, and emulate things that vm86
> doesn't support, and all I/O.  We also have to emulate when the segment
> state is wierd (e.g., big-real-mode) because the VMENTER into vm86 has
> stricter checks on segment state than actual real mode.
> 
> > How does that interact with EFLAGS_ID I wonder (although
> > why hybrid dom0 would have any bearing on this I've no idea).
> 
> I'm not aware of anything deliberately tinkering with EFLAGS_ID,

I couldn't find any use other than the definition, although it maybe
open coded somewhere.

> but
> it's possible that vm86 interacts with it (of that we accidentally lose
> some parts of EFLAGS in emulation).

Yeah, but I can't figure out why hybrid dom0 would change that...

Ian,


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:54:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:54:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQG9L-0003vs-2Y; Fri, 04 May 2012 10:54:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQG9J-0003vh-0e
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 10:54:09 +0000
Received: from [85.158.143.99:16864] by server-3.bemta-4.messagelabs.com id
	9A/C0-05853-055B3AF4; Fri, 04 May 2012 10:54:08 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336128847!21206950!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30403 invoked from network); 4 May 2012 10:54:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:54:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295145"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:53:28 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:53:28 +0100
Message-ID: <1336128807.2361.56.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Fri, 4 May 2012 11:53:27 +0100
In-Reply-To: <20120504104902.GA6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 11:49 +0100, Tim Deegan wrote:
> At 10:08 +0100 on 04 May (1336126102), Ian Campbell wrote:
> > What does the guest EFLAGS actually contain at this point? Is it
> > different to what it contains on non-hybrid dom0?
> > 
> > How do we execute 16 bit code in a VMX guest these days, using vm86 or
> > by emulation?
> 
> Both, and also sometimes neither. :) 

Of course ;-)

> If the chip supports it, we just run in real mode inside the VM (this is
> called "unrestricted guest" in the VMX code and will be reported in the
> Xen boot messages).

Thanks, I thought this had been added but didn't know the name of the
feature.

> Otherwise we run in vm86 when we can, and emulate things that vm86
> doesn't support, and all I/O.  We also have to emulate when the segment
> state is wierd (e.g., big-real-mode) because the VMENTER into vm86 has
> stricter checks on segment state than actual real mode.
> 
> > How does that interact with EFLAGS_ID I wonder (although
> > why hybrid dom0 would have any bearing on this I've no idea).
> 
> I'm not aware of anything deliberately tinkering with EFLAGS_ID,

I couldn't find any use other than the definition, although it maybe
open coded somewhere.

> but
> it's possible that vm86 interacts with it (of that we accidentally lose
> some parts of EFLAGS in emulation).

Yeah, but I can't figure out why hybrid dom0 would change that...

Ian,


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:57:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:57:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGCF-00046q-Ko; Fri, 04 May 2012 10:57:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQGCE-00046d-Aa
	for xen-devel@lists.xen.org; Fri, 04 May 2012 10:57:10 +0000
Received: from [85.158.143.35:32501] by server-1.bemta-4.messagelabs.com id
	11/4A-20925-506B3AF4; Fri, 04 May 2012 10:57:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336129028!14141326!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2283 invoked from network); 4 May 2012 10:57:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:57:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295210"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:57:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 11:57:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQGCB-00012g-Da; Fri, 04 May 2012 10:57:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQGCB-0001Pg-Bv;
	Fri, 04 May 2012 11:57:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20387.46595.198406.571329@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 11:57:07 +0100
To: wang zhihao <accept.acm@gmail.com>
In-Reply-To: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
References: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] How to select a rootfs to test job
 test-amd64-amd64-xl on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

wang zhihao writes ("How to select a rootfs to test job test-amd64-amd64-xl on my own machine ?"):
> I try to test flight 12785 job test-amd64-amd64-xl on my own machine.  I download kerndist.tar.gz , dist.tar.gz and  xendist.tar.gz from logfiles generated by job build-amd64-pvops and  build-amd64. 
> But there is no clue on how to get a root file system. So I try Ubuntu 11.10 as its rootfs, which is ext3 format. Unfortunately, it complains the <The disk drive for / is not ready yet or not present  Continue to wait; or press S to skip mounting or M for manual recovery >.
> So which root file system should I use? 

You mean how does the guest get created ?

It is generated each time using the Debian "xen-tools" package,
specifically xen-create-image.  See the logs for "ts-debian-install"
and "ts-debian-fixup" which show the commands the tester executed.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 10:57:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 10:57:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGCF-00046q-Ko; Fri, 04 May 2012 10:57:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQGCE-00046d-Aa
	for xen-devel@lists.xen.org; Fri, 04 May 2012 10:57:10 +0000
Received: from [85.158.143.35:32501] by server-1.bemta-4.messagelabs.com id
	11/4A-20925-506B3AF4; Fri, 04 May 2012 10:57:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336129028!14141326!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2283 invoked from network); 4 May 2012 10:57:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 10:57:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295210"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 10:57:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 11:57:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQGCB-00012g-Da; Fri, 04 May 2012 10:57:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQGCB-0001Pg-Bv;
	Fri, 04 May 2012 11:57:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20387.46595.198406.571329@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 11:57:07 +0100
To: wang zhihao <accept.acm@gmail.com>
In-Reply-To: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
References: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] How to select a rootfs to test job
 test-amd64-amd64-xl on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

wang zhihao writes ("How to select a rootfs to test job test-amd64-amd64-xl on my own machine ?"):
> I try to test flight 12785 job test-amd64-amd64-xl on my own machine.  I download kerndist.tar.gz , dist.tar.gz and  xendist.tar.gz from logfiles generated by job build-amd64-pvops and  build-amd64. 
> But there is no clue on how to get a root file system. So I try Ubuntu 11.10 as its rootfs, which is ext3 format. Unfortunately, it complains the <The disk drive for / is not ready yet or not present  Continue to wait; or press S to skip mounting or M for manual recovery >.
> So which root file system should I use? 

You mean how does the guest get created ?

It is generated each time using the Debian "xen-tools" package,
specifically xen-create-image.  See the logs for "ts-debian-install"
and "ts-debian-fixup" which show the commands the tester executed.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:03:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:03:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGHo-0004LC-FH; Fri, 04 May 2012 11:02:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <accept.acm@gmail.com>) id 1SQGHn-0004L4-2q
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:02:55 +0000
Received: from [85.158.139.83:49816] by server-9.bemta-5.messagelabs.com id
	7B/53-09826-E57B3AF4; Fri, 04 May 2012 11:02:54 +0000
X-Env-Sender: accept.acm@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336129371!26754202!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21971 invoked from network); 4 May 2012 11:02:53 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:02:53 -0000
Received: by pbbro12 with SMTP id ro12so4006969pbb.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 04:02:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=subject:mime-version:content-type:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to:x-mailer;
	bh=GeXUnEXPUxnbWk1eZYM3p2N01h9mDu2LvVtxk1oy7Gg=;
	b=WNSAYij6NM1tGcrR8qSHmhC1qXjhe82pzZP6p9t5Ykv22qajT2H1LvumN1qipb6MB9
	LI2XkOYUP8uALr6r8uG2HN8AfaHbkBFL8AXtG4DrkdRkHUuggsQBhaC68WJKZKL6hRmo
	qvmC3Hh5yaCFT4rGZfOJ9CQ/CpZfxtyk++JBrHz54Eapsowup+27nJVadSwSX3bwSvPc
	nS/dya09LrGAO+Pd0jLyPUI3r1mGtfXmfcP4BQt+CQdmo0EAlrBySv3xZtclBqkUBbcD
	CWWkXFig2miE8DyGJiP6qE/p/fc2+CPGbz+3+AbtcQ4Gd4a2rsg/aZaBXZCsY8Gcuvwc
	vyCA==
Received: by 10.68.72.70 with SMTP id b6mr8950519pbv.58.1336129370711;
	Fri, 04 May 2012 04:02:50 -0700 (PDT)
Received: from [10.30.0.13] ([159.226.43.35])
	by mx.google.com with ESMTPS id pp8sm8303627pbb.21.2012.05.04.04.02.49
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 04 May 2012 04:02:50 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: wang zhihao <accept.acm@gmail.com>
In-Reply-To: <20387.46595.198406.571329@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 19:02:47 +0800
Message-Id: <4D66E26E-05BF-4DE4-9162-F719368F1529@gmail.com>
References: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
	<20387.46595.198406.571329@mariner.uk.xensource.com>
To: xen-devel <xen-devel@lists.xen.org>
X-Mailer: Apple Mail (2.1084)
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] How to select a rootfs to test job
	test-amd64-amd64-xl on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SGksIElhbgoK1NogMjAxMi01LTSjrM/Czuc2OjU3o6wgSWFuIEphY2tzb24g0LS1wKO6Cj4gWW91
IG1lYW4gaG93IGRvZXMgdGhlIGd1ZXN0IGdldCBjcmVhdGVkID8KCkkgbWVhbiBob3cgdG8gc2Vs
ZWN0IHRoZSBkb20wJ3Mgcm9vdCBmaWxlc3lzdGVtLgoKUmVnYXJkcwpXYW5nIFpoaWhhbwoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt
YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcv
eGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 04 11:03:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:03:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGHo-0004LC-FH; Fri, 04 May 2012 11:02:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <accept.acm@gmail.com>) id 1SQGHn-0004L4-2q
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:02:55 +0000
Received: from [85.158.139.83:49816] by server-9.bemta-5.messagelabs.com id
	7B/53-09826-E57B3AF4; Fri, 04 May 2012 11:02:54 +0000
X-Env-Sender: accept.acm@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336129371!26754202!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21971 invoked from network); 4 May 2012 11:02:53 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:02:53 -0000
Received: by pbbro12 with SMTP id ro12so4006969pbb.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 04:02:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=subject:mime-version:content-type:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to:x-mailer;
	bh=GeXUnEXPUxnbWk1eZYM3p2N01h9mDu2LvVtxk1oy7Gg=;
	b=WNSAYij6NM1tGcrR8qSHmhC1qXjhe82pzZP6p9t5Ykv22qajT2H1LvumN1qipb6MB9
	LI2XkOYUP8uALr6r8uG2HN8AfaHbkBFL8AXtG4DrkdRkHUuggsQBhaC68WJKZKL6hRmo
	qvmC3Hh5yaCFT4rGZfOJ9CQ/CpZfxtyk++JBrHz54Eapsowup+27nJVadSwSX3bwSvPc
	nS/dya09LrGAO+Pd0jLyPUI3r1mGtfXmfcP4BQt+CQdmo0EAlrBySv3xZtclBqkUBbcD
	CWWkXFig2miE8DyGJiP6qE/p/fc2+CPGbz+3+AbtcQ4Gd4a2rsg/aZaBXZCsY8Gcuvwc
	vyCA==
Received: by 10.68.72.70 with SMTP id b6mr8950519pbv.58.1336129370711;
	Fri, 04 May 2012 04:02:50 -0700 (PDT)
Received: from [10.30.0.13] ([159.226.43.35])
	by mx.google.com with ESMTPS id pp8sm8303627pbb.21.2012.05.04.04.02.49
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 04 May 2012 04:02:50 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: wang zhihao <accept.acm@gmail.com>
In-Reply-To: <20387.46595.198406.571329@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 19:02:47 +0800
Message-Id: <4D66E26E-05BF-4DE4-9162-F719368F1529@gmail.com>
References: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
	<20387.46595.198406.571329@mariner.uk.xensource.com>
To: xen-devel <xen-devel@lists.xen.org>
X-Mailer: Apple Mail (2.1084)
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] How to select a rootfs to test job
	test-amd64-amd64-xl on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SGksIElhbgoK1NogMjAxMi01LTSjrM/Czuc2OjU3o6wgSWFuIEphY2tzb24g0LS1wKO6Cj4gWW91
IG1lYW4gaG93IGRvZXMgdGhlIGd1ZXN0IGdldCBjcmVhdGVkID8KCkkgbWVhbiBob3cgdG8gc2Vs
ZWN0IHRoZSBkb20wJ3Mgcm9vdCBmaWxlc3lzdGVtLgoKUmVnYXJkcwpXYW5nIFpoaWhhbwoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt
YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcv
eGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 04 11:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGKm-0004VF-1n; Fri, 04 May 2012 11:06:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQGKk-0004V8-5y
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:05:58 +0000
Received: from [85.158.139.83:29807] by server-9.bemta-5.messagelabs.com id
	EF/5D-09826-518B3AF4; Fri, 04 May 2012 11:05:57 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336129556!15489527!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30566 invoked from network); 4 May 2012 11:05:56 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:05:56 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 12:05:56 +0100
Message-Id: <4FA3D4320200007800081987@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 12:05:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FA3B9B602000078000818E5@nat28.tlf.novell.com>
	<CBC9629C.324E3%keir.xen@gmail.com>
In-Reply-To: <CBC9629C.324E3%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 11:40, Keir Fraser <keir.xen@gmail.com> wrote:
> On 04/05/2012 10:12, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>>>> On 04.05.12 at 10:25, Keir Fraser <keir.xen@gmail.com> wrote:
>>> On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>> does this really need to be a per-CPU variable? Can't a timer run only
>>>> once at a time on the entire system (the more that it gets re-armed only
>>>> at the end of the poll function, whereas the variable is consumed at the
>>>> start), and hence the variable can be a simple one? Or else, what
>>>> subtlety am I overlooking?
>>> 
>>> We set up a timer per initialised uart. There can be more than one (although
>>> granted it is rare).
>> 
>> Is that actually useful? console.c can't really use more than one at a
>> time (for there being a single sercon_handle), so perhaps it would be
>> a good thing to avoid the setup for those that aren't actively used,
>> e.g. by not calling ->init_postirq() for other than the used one?
>> 
>> Oh, wait, with crash_debug there can be a second call to
>> serial_parse_handle(), so in that case serial console and gdb stub
>> may run through different ports. With crash_debug off by default,
>> wouldn't it make sense to optimize for that common case, so that
>> specifying both "com1=" and "com2=" on the command line wouldn't
>> needlessly consume resources (as serial_parse_handle() can easily
>> tag which ports it got called for)? Or would you rather take the
>> position of expecting people to remove unnecessary command line
>> options, or live with them having side effects?
> 
> I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
> per CPU of the poll_port variable isn't worth much optimising effort.

Certainly not (and as you say they are actually needed, even if
only rarely). But the pointlessly running timer(s) might be, as might
the buffer(s) set up via serial_async_transmit().

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGKm-0004VF-1n; Fri, 04 May 2012 11:06:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQGKk-0004V8-5y
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:05:58 +0000
Received: from [85.158.139.83:29807] by server-9.bemta-5.messagelabs.com id
	EF/5D-09826-518B3AF4; Fri, 04 May 2012 11:05:57 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336129556!15489527!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30566 invoked from network); 4 May 2012 11:05:56 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:05:56 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 12:05:56 +0100
Message-Id: <4FA3D4320200007800081987@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 12:05:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FA3B9B602000078000818E5@nat28.tlf.novell.com>
	<CBC9629C.324E3%keir.xen@gmail.com>
In-Reply-To: <CBC9629C.324E3%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 11:40, Keir Fraser <keir.xen@gmail.com> wrote:
> On 04/05/2012 10:12, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>>>> On 04.05.12 at 10:25, Keir Fraser <keir.xen@gmail.com> wrote:
>>> On 04/05/2012 09:18, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>> does this really need to be a per-CPU variable? Can't a timer run only
>>>> once at a time on the entire system (the more that it gets re-armed only
>>>> at the end of the poll function, whereas the variable is consumed at the
>>>> start), and hence the variable can be a simple one? Or else, what
>>>> subtlety am I overlooking?
>>> 
>>> We set up a timer per initialised uart. There can be more than one (although
>>> granted it is rare).
>> 
>> Is that actually useful? console.c can't really use more than one at a
>> time (for there being a single sercon_handle), so perhaps it would be
>> a good thing to avoid the setup for those that aren't actively used,
>> e.g. by not calling ->init_postirq() for other than the used one?
>> 
>> Oh, wait, with crash_debug there can be a second call to
>> serial_parse_handle(), so in that case serial console and gdb stub
>> may run through different ports. With crash_debug off by default,
>> wouldn't it make sense to optimize for that common case, so that
>> specifying both "com1=" and "com2=" on the command line wouldn't
>> needlessly consume resources (as serial_parse_handle() can easily
>> tag which ports it got called for)? Or would you rather take the
>> position of expecting people to remove unnecessary command line
>> options, or live with them having side effects?
> 
> I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
> per CPU of the poll_port variable isn't worth much optimising effort.

Certainly not (and as you say they are actually needed, even if
only rarely). But the pointlessly running timer(s) might be, as might
the buffer(s) set up via serial_async_transmit().

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:12:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:12:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGRD-0004m9-Sn; Fri, 04 May 2012 11:12:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGRD-0004m4-CR
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:12:39 +0000
Received: from [85.158.143.99:11166] by server-2.bemta-4.messagelabs.com id
	74/AA-17550-6A9B3AF4; Fri, 04 May 2012 11:12:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336129958!25925472!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26732 invoked from network); 4 May 2012 11:12:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:12:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295579"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:12:37 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 12:12:37 +0100
Date: Fri, 4 May 2012 12:12:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 0/8] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.

Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.


Stefano Stabellini (8):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
 
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  232 +----------------
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |   11 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 +-
 tools/libxl/libxl_internal.c                    |  319 +++++++++++++++++++++++
 tools/libxl/libxl_internal.h                    |   25 ++-
 tools/libxl/libxl_linux.c                       |   45 ++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    2 +
 17 files changed, 435 insertions(+), 248 deletions(-)

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:12:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:12:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGRD-0004m9-Sn; Fri, 04 May 2012 11:12:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGRD-0004m4-CR
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:12:39 +0000
Received: from [85.158.143.99:11166] by server-2.bemta-4.messagelabs.com id
	74/AA-17550-6A9B3AF4; Fri, 04 May 2012 11:12:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336129958!25925472!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26732 invoked from network); 4 May 2012 11:12:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:12:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295579"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:12:37 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 12:12:37 +0100
Date: Fri, 4 May 2012 12:12:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 0/8] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.

Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.


Stefano Stabellini (8):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
 
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  232 +----------------
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |   11 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 +-
 tools/libxl/libxl_internal.c                    |  319 +++++++++++++++++++++++
 tools/libxl/libxl_internal.h                    |   25 ++-
 tools/libxl/libxl_linux.c                       |   45 ++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    2 +
 17 files changed, 435 insertions(+), 248 deletions(-)

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS3-0004oi-AZ; Fri, 04 May 2012 11:13:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS2-0004ob-5R
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:30 +0000
Received: from [85.158.143.99:16269] by server-1.bemta-4.messagelabs.com id
	58/F0-20925-9D9B3AF4; Fri, 04 May 2012 11:13:29 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336130007!25579432!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29383 invoked from network); 4 May 2012 11:13:28 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193395759"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:27 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:26 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-51; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:13 +0100
Message-ID: <1336130000-27261-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 1/8] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c            |   73 ----------------------------------------
 tools/libxl/libxl.h            |    7 ----
 tools/libxl/libxl_bootloader.c |    4 +-
 tools/libxl/libxl_internal.c   |   72 +++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    9 +++++
 5 files changed, 83 insertions(+), 82 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 9984d46..1357efc 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1664,79 +1664,6 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    char *dev = NULL;
-    char *ret = NULL;
-    int rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            switch (disk->format) {
-            case LIBXL_DISK_FORMAT_RAW:
-                /* optimise away the early tapdisk attach in this case */
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
-                           " tap disk %s directly (ie without using blktap)",
-                           disk->pdev_path);
-                dev = disk->pdev_path;
-                break;
-            case LIBXL_DISK_FORMAT_VHD:
-                dev = libxl__blktap_devpath(gc, disk->pdev_path,
-                                            disk->format);
-                break;
-            case LIBXL_DISK_FORMAT_QCOW:
-            case LIBXL_DISK_FORMAT_QCOW2:
-                abort(); /* prevented by libxl__device_disk_set_backend */
-            default:
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "unrecognized disk format: %d", disk->format);
-                break;
-            }
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
-            }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
-                "type: %d", disk->backend);
-            break;
-    }
-
- out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    GC_FREE;
-    return ret;
-}
-
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
-
-    return 0;
-}
-
 /******************************************************************************/
 
 int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d59f0ee..79d5679 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -619,13 +619,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 2774062..977c6d3 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -386,7 +386,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
-    diskpath = libxl_device_disk_local_attach(ctx, disk);
+    diskpath = libxl__device_disk_local_attach(gc, disk);
     if (!diskpath) {
         goto out_close;
     }
@@ -453,7 +453,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     rc = 0;
 out_close:
     if (diskpath) {
-        libxl_device_disk_local_detach(ctx, disk);
+        libxl__device_disk_local_detach(gc, disk);
         free(diskpath);
     }
     if (fifo_fd > -1)
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..fc771ff 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,78 @@ out:
     return rc;
 }
 
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = gc->owner;
+    char *dev = NULL;
+    char *ret = NULL;
+    int rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            switch (disk->format) {
+            case LIBXL_DISK_FORMAT_RAW:
+                /* optimise away the early tapdisk attach in this case */
+                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
+                           " tap disk %s directly (ie without using blktap)",
+                           disk->pdev_path);
+                dev = disk->pdev_path;
+                break;
+            case LIBXL_DISK_FORMAT_VHD:
+                dev = libxl__blktap_devpath(gc, disk->pdev_path,
+                                            disk->format);
+                break;
+            case LIBXL_DISK_FORMAT_QCOW:
+            case LIBXL_DISK_FORMAT_QCOW2:
+                abort(); /* prevented by libxl__device_disk_set_backend */
+            default:
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "unrecognized disk format: %d", disk->format);
+                break;
+            }
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
+                           " attach a qdisk image if the format is not raw");
+                break;
+            }
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
+                "type: %d", disk->backend);
+            break;
+    }
+
+ out:
+    if (dev != NULL)
+        ret = strdup(dev);
+    return ret;
+}
+
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    /* Nothing to do for PHYSTYPE_PHY. */
+
+    /*
+     * For other device types assume that the blktap2 process is
+     * needed by the soon to be started domain and do nothing.
+     */
+
+    return 0;
+}
+
 libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
                                                                uint32_t domid)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 34ea15c..ddd6a37 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1003,6 +1003,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS3-0004oi-AZ; Fri, 04 May 2012 11:13:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS2-0004ob-5R
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:30 +0000
Received: from [85.158.143.99:16269] by server-1.bemta-4.messagelabs.com id
	58/F0-20925-9D9B3AF4; Fri, 04 May 2012 11:13:29 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336130007!25579432!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29383 invoked from network); 4 May 2012 11:13:28 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193395759"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:27 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:26 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-51; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:13 +0100
Message-ID: <1336130000-27261-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 1/8] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c            |   73 ----------------------------------------
 tools/libxl/libxl.h            |    7 ----
 tools/libxl/libxl_bootloader.c |    4 +-
 tools/libxl/libxl_internal.c   |   72 +++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    9 +++++
 5 files changed, 83 insertions(+), 82 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 9984d46..1357efc 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1664,79 +1664,6 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    char *dev = NULL;
-    char *ret = NULL;
-    int rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            switch (disk->format) {
-            case LIBXL_DISK_FORMAT_RAW:
-                /* optimise away the early tapdisk attach in this case */
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
-                           " tap disk %s directly (ie without using blktap)",
-                           disk->pdev_path);
-                dev = disk->pdev_path;
-                break;
-            case LIBXL_DISK_FORMAT_VHD:
-                dev = libxl__blktap_devpath(gc, disk->pdev_path,
-                                            disk->format);
-                break;
-            case LIBXL_DISK_FORMAT_QCOW:
-            case LIBXL_DISK_FORMAT_QCOW2:
-                abort(); /* prevented by libxl__device_disk_set_backend */
-            default:
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "unrecognized disk format: %d", disk->format);
-                break;
-            }
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
-            }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
-                "type: %d", disk->backend);
-            break;
-    }
-
- out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    GC_FREE;
-    return ret;
-}
-
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
-
-    return 0;
-}
-
 /******************************************************************************/
 
 int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d59f0ee..79d5679 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -619,13 +619,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 2774062..977c6d3 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -386,7 +386,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
-    diskpath = libxl_device_disk_local_attach(ctx, disk);
+    diskpath = libxl__device_disk_local_attach(gc, disk);
     if (!diskpath) {
         goto out_close;
     }
@@ -453,7 +453,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     rc = 0;
 out_close:
     if (diskpath) {
-        libxl_device_disk_local_detach(ctx, disk);
+        libxl__device_disk_local_detach(gc, disk);
         free(diskpath);
     }
     if (fifo_fd > -1)
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..fc771ff 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,78 @@ out:
     return rc;
 }
 
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = gc->owner;
+    char *dev = NULL;
+    char *ret = NULL;
+    int rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            switch (disk->format) {
+            case LIBXL_DISK_FORMAT_RAW:
+                /* optimise away the early tapdisk attach in this case */
+                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
+                           " tap disk %s directly (ie without using blktap)",
+                           disk->pdev_path);
+                dev = disk->pdev_path;
+                break;
+            case LIBXL_DISK_FORMAT_VHD:
+                dev = libxl__blktap_devpath(gc, disk->pdev_path,
+                                            disk->format);
+                break;
+            case LIBXL_DISK_FORMAT_QCOW:
+            case LIBXL_DISK_FORMAT_QCOW2:
+                abort(); /* prevented by libxl__device_disk_set_backend */
+            default:
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "unrecognized disk format: %d", disk->format);
+                break;
+            }
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
+                           " attach a qdisk image if the format is not raw");
+                break;
+            }
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
+                "type: %d", disk->backend);
+            break;
+    }
+
+ out:
+    if (dev != NULL)
+        ret = strdup(dev);
+    return ret;
+}
+
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    /* Nothing to do for PHYSTYPE_PHY. */
+
+    /*
+     * For other device types assume that the blktap2 process is
+     * needed by the soon to be started domain and do nothing.
+     */
+
+    return 0;
+}
+
 libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
                                                                uint32_t domid)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 34ea15c..ddd6a37 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1003,6 +1003,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSB-0004qn-2J; Fri, 04 May 2012 11:13:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS9-0004q1-FY
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:37 +0000
Received: from [85.158.143.35:53034] by server-3.bemta-4.messagelabs.com id
	64/0C-05853-0E9B3AF4; Fri, 04 May 2012 11:13:36 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19607 invoked from network); 4 May 2012 11:13:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859851"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-60; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:15 +0100
Message-ID: <1336130000-27261-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 3/8] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1357efc..525f0d6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1401,7 +1401,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1802,7 +1802,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2080,7 +2080,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2151,7 +2151,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2284,7 +2284,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..88cdc7d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 965d13b..2c8f06a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -683,8 +683,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index 3856bd9..335c645 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -102,7 +102,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSB-0004qn-2J; Fri, 04 May 2012 11:13:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS9-0004q1-FY
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:37 +0000
Received: from [85.158.143.35:53034] by server-3.bemta-4.messagelabs.com id
	64/0C-05853-0E9B3AF4; Fri, 04 May 2012 11:13:36 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19607 invoked from network); 4 May 2012 11:13:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859851"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-60; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:15 +0100
Message-ID: <1336130000-27261-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 3/8] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1357efc..525f0d6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1401,7 +1401,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1802,7 +1802,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2080,7 +2080,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2151,7 +2151,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2284,7 +2284,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..88cdc7d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 965d13b..2c8f06a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -683,8 +683,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index 3856bd9..335c645 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -102,7 +102,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS9-0004q3-9F; Fri, 04 May 2012 11:13:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS7-0004pZ-Rb
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:36 +0000
Received: from [85.158.143.35:39637] by server-2.bemta-4.messagelabs.com id
	38/0C-17550-FD9B3AF4; Fri, 04 May 2012 11:13:35 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19553 invoked from network); 4 May 2012 11:13:34 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859849"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-5Z; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:14 +0100
Message-ID: <1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 2/8] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk** parameter to
libxl__device_disk_local_attach, the parameter is allocated on the gc by
libxl__device_disk_local_attach. It is going to fill it with
informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_bootloader.c |   10 +++++-----
 tools/libxl/libxl_internal.c   |   20 ++++++++++++++------
 tools/libxl/libxl_internal.h   |    3 ++-
 3 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 977c6d3..83cac78 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -330,6 +330,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     char *fifo = NULL;
     char *diskpath = NULL;
     char **args = NULL;
+    libxl_device_disk *tmpdisk = NULL;
 
     char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
     char *tempdir;
@@ -386,8 +387,9 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
-    diskpath = libxl__device_disk_local_attach(gc, disk);
+    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
     if (!diskpath) {
+        rc = ERROR_FAIL;
         goto out_close;
     }
 
@@ -452,10 +454,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
 
     rc = 0;
 out_close:
-    if (diskpath) {
-        libxl__device_disk_local_detach(gc, disk);
-        free(diskpath);
-    }
+    if (tmpdisk)
+        libxl__device_disk_local_detach(gc, tmpdisk);
     if (fifo_fd > -1)
         close(fifo_fd);
     if (bootloader_fd > -1)
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc771ff..55dc55c 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,12 +323,21 @@ out:
     return rc;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk **new_disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
-    char *ret = NULL;
     int rc;
+    libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    if (in_disk->pdev_path != NULL)
+        disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = libxl__strdup(gc, in_disk->script);
+    disk->vdev = NULL;
 
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
@@ -368,7 +377,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                 break;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+                       in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
@@ -378,9 +387,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
     }
 
  out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    return ret;
+    *new_disk = disk;
+    return dev;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ddd6a37..965d13b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1008,7 +1008,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk **new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS9-0004q3-9F; Fri, 04 May 2012 11:13:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS7-0004pZ-Rb
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:36 +0000
Received: from [85.158.143.35:39637] by server-2.bemta-4.messagelabs.com id
	38/0C-17550-FD9B3AF4; Fri, 04 May 2012 11:13:35 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19553 invoked from network); 4 May 2012 11:13:34 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859849"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-5Z; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:14 +0100
Message-ID: <1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 2/8] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk** parameter to
libxl__device_disk_local_attach, the parameter is allocated on the gc by
libxl__device_disk_local_attach. It is going to fill it with
informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_bootloader.c |   10 +++++-----
 tools/libxl/libxl_internal.c   |   20 ++++++++++++++------
 tools/libxl/libxl_internal.h   |    3 ++-
 3 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 977c6d3..83cac78 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -330,6 +330,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     char *fifo = NULL;
     char *diskpath = NULL;
     char **args = NULL;
+    libxl_device_disk *tmpdisk = NULL;
 
     char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
     char *tempdir;
@@ -386,8 +387,9 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
-    diskpath = libxl__device_disk_local_attach(gc, disk);
+    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
     if (!diskpath) {
+        rc = ERROR_FAIL;
         goto out_close;
     }
 
@@ -452,10 +454,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
 
     rc = 0;
 out_close:
-    if (diskpath) {
-        libxl__device_disk_local_detach(gc, disk);
-        free(diskpath);
-    }
+    if (tmpdisk)
+        libxl__device_disk_local_detach(gc, tmpdisk);
     if (fifo_fd > -1)
         close(fifo_fd);
     if (bootloader_fd > -1)
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc771ff..55dc55c 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,12 +323,21 @@ out:
     return rc;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk **new_disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
-    char *ret = NULL;
     int rc;
+    libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    if (in_disk->pdev_path != NULL)
+        disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = libxl__strdup(gc, in_disk->script);
+    disk->vdev = NULL;
 
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
@@ -368,7 +377,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                 break;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+                       in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
@@ -378,9 +387,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
     }
 
  out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    return ret;
+    *new_disk = disk;
+    return dev;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ddd6a37..965d13b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1008,7 +1008,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk **new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS7-0004pb-SJ; Fri, 04 May 2012 11:13:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS6-0004ob-7p
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:34 +0000
Received: from [85.158.143.99:16530] by server-1.bemta-4.messagelabs.com id
	AD/01-20925-DD9B3AF4; Fri, 04 May 2012 11:13:33 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336130007!25579432!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29706 invoked from network); 4 May 2012 11:13:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193395762"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-RS; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:19 +0100
Message-ID: <1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Chanegs in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl_internal.c                    |   58 ++++++++++++++++++----
 3 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..0f3b9ad 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path and log file
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 7a1e017..e180498 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -519,6 +519,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     int rc;
+    xs_transaction_t t = XBT_NULL;
     libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
 
     memcpy(disk, in_disk, sizeof(libxl_device_disk));
@@ -561,13 +562,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    rc = xs_transaction_end(ctx->xsh, t, 0);
+                } while (rc == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (rc == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       in_disk->pdev_path);
-            dev = disk->pdev_path;
+                       dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -576,18 +599,31 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     *new_disk = disk;
     return dev;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                return libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     return 0;
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS7-0004pb-SJ; Fri, 04 May 2012 11:13:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS6-0004ob-7p
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:34 +0000
Received: from [85.158.143.99:16530] by server-1.bemta-4.messagelabs.com id
	AD/01-20925-DD9B3AF4; Fri, 04 May 2012 11:13:33 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336130007!25579432!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29706 invoked from network); 4 May 2012 11:13:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193395762"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-RS; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:19 +0100
Message-ID: <1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Chanegs in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl_internal.c                    |   58 ++++++++++++++++++----
 3 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..0f3b9ad 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path and log file
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 7a1e017..e180498 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -519,6 +519,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     int rc;
+    xs_transaction_t t = XBT_NULL;
     libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
 
     memcpy(disk, in_disk, sizeof(libxl_device_disk));
@@ -561,13 +562,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    rc = xs_transaction_end(ctx->xsh, t, 0);
+                } while (rc == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (rc == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       in_disk->pdev_path);
-            dev = disk->pdev_path;
+                       dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -576,18 +599,31 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     *new_disk = disk;
     return dev;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                return libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     return 0;
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS9-0004qD-LU; Fri, 04 May 2012 11:13:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS8-0004pZ-BM
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:36 +0000
Received: from [85.158.143.35:52989] by server-2.bemta-4.messagelabs.com id
	9C/0C-17550-FD9B3AF4; Fri, 04 May 2012 11:13:35 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19586 invoked from network); 4 May 2012 11:13:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859850"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-Qu; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:18 +0100
Message-ID: <1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index bd5ebb3..7a1e017 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -480,6 +480,37 @@ out:
     return rc;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *vdev = NULL;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        vdev = GCSPRINTF("d%dp0", disk);
+        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (disk <= (1 << 20));
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk **new_disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 0074ec4..a451c79 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -77,6 +77,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -763,6 +765,8 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
  */
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..cb596a9 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,48 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+
+/* same as in Linux */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, 32);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+	/* arbitrary upper bound */
+	if (offset > 676)
+		return NULL;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGS9-0004qD-LU; Fri, 04 May 2012 11:13:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS8-0004pZ-BM
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:36 +0000
Received: from [85.158.143.35:52989] by server-2.bemta-4.messagelabs.com id
	9C/0C-17550-FD9B3AF4; Fri, 04 May 2012 11:13:35 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19586 invoked from network); 4 May 2012 11:13:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859850"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-Qu; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:18 +0100
Message-ID: <1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index bd5ebb3..7a1e017 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -480,6 +480,37 @@ out:
     return rc;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *vdev = NULL;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        vdev = GCSPRINTF("d%dp0", disk);
+        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (disk <= (1 << 20));
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk **new_disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 0074ec4..a451c79 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -77,6 +77,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -763,6 +765,8 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
  */
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..cb596a9 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,48 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+
+/* same as in Linux */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, 32);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+	/* arbitrary upper bound */
+	if (offset > 676)
+		return NULL;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSC-0004rc-Ce; Fri, 04 May 2012 11:13:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGSA-0004ob-D4
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:38 +0000
Received: from [85.158.143.35:53106] by server-1.bemta-4.messagelabs.com id
	B6/21-20925-2E9B3AF4; Fri, 04 May 2012 11:13:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336130015!7539042!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24587 invoked from network); 4 May 2012 11:13:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859854"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-Oc; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:16 +0100
Message-ID: <1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 4/8] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.
Move libxl__device_from_disk to libxl_internal.c.
No functional change.

Changes in v5:
- rename libxl__device_generic_add_t to libxl__device_generic_add.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |  151 +----------------------------------------
 tools/libxl/libxl_internal.c |  157 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    6 ++
 3 files changed, 164 insertions(+), 150 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 525f0d6..941dbb9 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1258,159 +1258,10 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
-
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
-
-    return 0;
-}
-
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, XBT_NULL, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-
-    rc = 0;
-
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 55dc55c..1bf5d73 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,163 @@ out:
     return rc;
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid==-1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
+                       disk->backend);
+            return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
+{
+    flexarray_t *front;
+    flexarray_t *back;
+    char *dev;
+    libxl__device device;
+    int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
+                   " not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    if (rc != 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        goto out_free;
+    }
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            dev = disk->pdev_path;
+    do_backend_phy:
+            libxl__device_physdisk_major_minor(dev, &major, &minor);
+            flexarray_append(back, "physical-device");
+            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+
+            flexarray_append(back, "params");
+            flexarray_append(back, dev);
+
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+            if (!dev) {
+                rc = ERROR_FAIL;
+                goto out_free;
+            }
+            flexarray_append(back, "tapdisk-params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                libxl__device_disk_string_of_format(disk->format),
+                disk->pdev_path));
+
+            /* now create a phy device to export the device to the guest */
+            goto do_backend_phy;
+        case LIBXL_DISK_BACKEND_QDISK:
+            flexarray_append(back, "params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            rc = ERROR_INVAL;
+            goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, t, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk **new_disk)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 2c8f06a..096c96d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1003,6 +1003,12 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSB-0004qz-FH; Fri, 04 May 2012 11:13:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS9-0004ob-PI
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:37 +0000
Received: from [85.158.143.35:53064] by server-1.bemta-4.messagelabs.com id
	12/21-20925-1E9B3AF4; Fri, 04 May 2012 11:13:37 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19636 invoked from network); 4 May 2012 11:13:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859853"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-P7; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:17 +0100
Message-ID: <1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 5/8] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.c   |    3 ++-
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 9 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 83cac78..123b06e 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -387,7 +387,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
-    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
+    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk,
+            info->blkdev_start);
     if (!diskpath) {
         rc = ERROR_FAIL;
         goto out_close;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7ab2f72..f2fcdf0 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = strdup("xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 1bf5d73..bd5ebb3 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -482,7 +482,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk **new_disk)
+        libxl_device_disk **new_disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 096c96d..0074ec4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1015,7 +1015,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk **new_disk);
+        libxl_device_disk **new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 68599cb..7131696 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index a6ffd25..4596c4f 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -91,6 +92,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index f0d0ec8..3fbe14d 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -112,6 +112,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 28f5cab..7338562 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -595,6 +595,8 @@ static void parse_config_data(const char *configfile_filename_report,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSC-0004rc-Ce; Fri, 04 May 2012 11:13:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGSA-0004ob-D4
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:38 +0000
Received: from [85.158.143.35:53106] by server-1.bemta-4.messagelabs.com id
	B6/21-20925-2E9B3AF4; Fri, 04 May 2012 11:13:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336130015!7539042!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24587 invoked from network); 4 May 2012 11:13:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859854"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-Oc; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:16 +0100
Message-ID: <1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 4/8] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.
Move libxl__device_from_disk to libxl_internal.c.
No functional change.

Changes in v5:
- rename libxl__device_generic_add_t to libxl__device_generic_add.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |  151 +----------------------------------------
 tools/libxl/libxl_internal.c |  157 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    6 ++
 3 files changed, 164 insertions(+), 150 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 525f0d6..941dbb9 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1258,159 +1258,10 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
-
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
-
-    return 0;
-}
-
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, XBT_NULL, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-
-    rc = 0;
-
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 55dc55c..1bf5d73 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,163 @@ out:
     return rc;
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid==-1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
+                       disk->backend);
+            return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
+{
+    flexarray_t *front;
+    flexarray_t *back;
+    char *dev;
+    libxl__device device;
+    int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
+                   " not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    if (rc != 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        goto out_free;
+    }
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            dev = disk->pdev_path;
+    do_backend_phy:
+            libxl__device_physdisk_major_minor(dev, &major, &minor);
+            flexarray_append(back, "physical-device");
+            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+
+            flexarray_append(back, "params");
+            flexarray_append(back, dev);
+
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+            if (!dev) {
+                rc = ERROR_FAIL;
+                goto out_free;
+            }
+            flexarray_append(back, "tapdisk-params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                libxl__device_disk_string_of_format(disk->format),
+                disk->pdev_path));
+
+            /* now create a phy device to export the device to the guest */
+            goto do_backend_phy;
+        case LIBXL_DISK_BACKEND_QDISK:
+            flexarray_append(back, "params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            rc = ERROR_INVAL;
+            goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, t, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk **new_disk)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 2c8f06a..096c96d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1003,6 +1003,12 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSB-0004qz-FH; Fri, 04 May 2012 11:13:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGS9-0004ob-PI
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:37 +0000
Received: from [85.158.143.35:53064] by server-1.bemta-4.messagelabs.com id
	12/21-20925-1E9B3AF4; Fri, 04 May 2012 11:13:37 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336130013!13704814!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19636 invoked from network); 4 May 2012 11:13:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859853"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-P7; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:17 +0100
Message-ID: <1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 5/8] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.c   |    3 ++-
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 9 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 83cac78..123b06e 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -387,7 +387,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
-    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
+    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk,
+            info->blkdev_start);
     if (!diskpath) {
         rc = ERROR_FAIL;
         goto out_close;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7ab2f72..f2fcdf0 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = strdup("xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 1bf5d73..bd5ebb3 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -482,7 +482,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk **new_disk)
+        libxl_device_disk **new_disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 096c96d..0074ec4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1015,7 +1015,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk **new_disk);
+        libxl_device_disk **new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 68599cb..7131696 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index a6ffd25..4596c4f 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -91,6 +92,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index f0d0ec8..3fbe14d 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -112,6 +112,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 28f5cab..7338562 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -595,6 +595,8 @@ static void parse_config_data(const char *configfile_filename_report,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSC-0004rQ-0b; Fri, 04 May 2012 11:13:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGSA-0004q1-2j
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:38 +0000
Received: from [85.158.143.35:43711] by server-3.bemta-4.messagelabs.com id
	D6/0C-05853-1E9B3AF4; Fri, 04 May 2012 11:13:37 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336130015!7539042!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24559 invoked from network); 4 May 2012 11:13:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859852"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-TW; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:20 +0100
Message-ID: <1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 8/8] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index e180498..05faff5 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -517,8 +517,9 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     int rc;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
     libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
 
@@ -598,11 +599,24 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
+
+    *new_disk = disk;
+    return dev;
  out:
     if (t != XBT_NULL)
         xs_transaction_end(ctx->xsh, t, 1);
-    *new_disk = disk;
-    return dev;
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:13:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:13:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGSC-0004rQ-0b; Fri, 04 May 2012 11:13:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGSA-0004q1-2j
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:13:38 +0000
Received: from [85.158.143.35:43711] by server-3.bemta-4.messagelabs.com id
	D6/0C-05853-1E9B3AF4; Fri, 04 May 2012 11:13:37 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336130015!7539042!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24559 invoked from network); 4 May 2012 11:13:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:13:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24859852"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:13:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 07:13:32 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SQGRt-0003Im-TW; Fri, 04 May 2012 12:13:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 4 May 2012 12:13:20 +0100
Message-ID: <1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v5 8/8] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index e180498..05faff5 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -517,8 +517,9 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     int rc;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
     libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
 
@@ -598,11 +599,24 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
+
+    *new_disk = disk;
+    return dev;
  out:
     if (t != XBT_NULL)
         xs_transaction_end(ctx->xsh, t, 1);
-    *new_disk = disk;
-    return dev;
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:15:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGTO-0005Or-Sc; Fri, 04 May 2012 11:14:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SQGTN-0005OV-Qz
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 11:14:54 +0000
Received: from [193.109.254.147:23240] by server-2.bemta-14.messagelabs.com id
	1A/1F-19409-D2AB3AF4; Fri, 04 May 2012 11:14:53 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336130092!767371!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8443 invoked from network); 4 May 2012 11:14:52 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:14:52 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SQGTK-0001iV-To; Fri, 04 May 2012 11:14:50 +0000
Date: Fri, 4 May 2012 12:14:50 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504111450.GB6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
	<1336128807.2361.56.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="fUYQa+Pmc3FrFX/N"
Content-Disposition: inline
In-Reply-To: <1336128807.2361.56.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline

At 11:53 +0100 on 04 May (1336132407), Ian Campbell wrote:
> > I'm not aware of anything deliberately tinkering with EFLAGS_ID,
> 
> I couldn't find any use other than the definition, although it maybe
> open coded somewhere.

Looks like maybe it's the absence of it that we should worry about:
Mukesh, can you try the attached patch?

> > but
> > it's possible that vm86 interacts with it (of that we accidentally lose
> > some parts of EFLAGS in emulation).
> 
> Yeah, but I can't figure out why hybrid dom0 would change that...

Indeed.  I'd expect this to fail for the same kernel in normal HVM.
Maybe there's some difference in how the segment state is set up

Tim.

--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: attachment; filename=x

diff -r 8f556a70ae0b xen/arch/x86/x86_emulate/x86_emulate.c
--- a/xen/arch/x86/x86_emulate/x86_emulate.c	Thu May 03 17:21:09 2012 +0100
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c	Fri May 04 12:13:55 2012 +0100
@@ -372,6 +372,7 @@ typedef union {
 #define CR4_TSD   (1<<2)
 
 /* EFLAGS bit definitions. */
+#define EFLG_ID   (1<<21)
 #define EFLG_VIP  (1<<20)
 #define EFLG_VIF  (1<<19)
 #define EFLG_AC   (1<<18)
@@ -424,7 +425,7 @@ typedef union {
  * These EFLAGS bits are restored from saved value during emulation, and
  * any changes are written back to the saved value after emulation.
  */
-#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF)
+#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF|EFLG_ID)
 
 /* Before executing instruction: restore necessary bits in EFLAGS. */
 #define _PRE_EFLAGS(_sav, _msk, _tmp)                           \

--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--fUYQa+Pmc3FrFX/N--


From xen-devel-bounces@lists.xen.org Fri May 04 11:15:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGTO-0005Or-Sc; Fri, 04 May 2012 11:14:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SQGTN-0005OV-Qz
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 11:14:54 +0000
Received: from [193.109.254.147:23240] by server-2.bemta-14.messagelabs.com id
	1A/1F-19409-D2AB3AF4; Fri, 04 May 2012 11:14:53 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336130092!767371!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8443 invoked from network); 4 May 2012 11:14:52 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:14:52 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SQGTK-0001iV-To; Fri, 04 May 2012 11:14:50 +0000
Date: Fri, 4 May 2012 12:14:50 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504111450.GB6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
	<1336128807.2361.56.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="fUYQa+Pmc3FrFX/N"
Content-Disposition: inline
In-Reply-To: <1336128807.2361.56.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline

At 11:53 +0100 on 04 May (1336132407), Ian Campbell wrote:
> > I'm not aware of anything deliberately tinkering with EFLAGS_ID,
> 
> I couldn't find any use other than the definition, although it maybe
> open coded somewhere.

Looks like maybe it's the absence of it that we should worry about:
Mukesh, can you try the attached patch?

> > but
> > it's possible that vm86 interacts with it (of that we accidentally lose
> > some parts of EFLAGS in emulation).
> 
> Yeah, but I can't figure out why hybrid dom0 would change that...

Indeed.  I'd expect this to fail for the same kernel in normal HVM.
Maybe there's some difference in how the segment state is set up

Tim.

--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: attachment; filename=x

diff -r 8f556a70ae0b xen/arch/x86/x86_emulate/x86_emulate.c
--- a/xen/arch/x86/x86_emulate/x86_emulate.c	Thu May 03 17:21:09 2012 +0100
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c	Fri May 04 12:13:55 2012 +0100
@@ -372,6 +372,7 @@ typedef union {
 #define CR4_TSD   (1<<2)
 
 /* EFLAGS bit definitions. */
+#define EFLG_ID   (1<<21)
 #define EFLG_VIP  (1<<20)
 #define EFLG_VIF  (1<<19)
 #define EFLG_AC   (1<<18)
@@ -424,7 +425,7 @@ typedef union {
  * These EFLAGS bits are restored from saved value during emulation, and
  * any changes are written back to the saved value after emulation.
  */
-#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF)
+#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF|EFLG_ID)
 
 /* Before executing instruction: restore necessary bits in EFLAGS. */
 #define _PRE_EFLAGS(_sav, _msk, _tmp)                           \

--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--fUYQa+Pmc3FrFX/N--


From xen-devel-bounces@lists.xen.org Fri May 04 11:15:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGU0-0005ZX-IE; Fri, 04 May 2012 11:15:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGTy-0005Yu-V5
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:15:31 +0000
Received: from [85.158.138.51:54191] by server-11.bemta-3.messagelabs.com id
	72/FE-18894-25AB3AF4; Fri, 04 May 2012 11:15:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336130128!21180052!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16107 invoked from network); 4 May 2012 11:15:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:15:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295668"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:15:27 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 12:15:27 +0100
Date: Fri, 4 May 2012 12:15:11 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Vinaya MS (MT2010166)" <vinaya.ms@iiitb.org>
In-Reply-To: <DE92B8A482669C45A3901092980982D7179DCD59@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
Message-ID: <alpine.DEB.2.00.1205041213290.26786@kaball-desktop>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>,
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
	<DE92B8A482669C45A3901092980982D7179DCD4C@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>,
	<alpine.DEB.2.00.1205041049310.26786@kaball-desktop>
	<DE92B8A482669C45A3901092980982D7179DCD59@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Vinaya MS (MT2010166) wrote:
>  /var/log/xen/qemu-dm-xen10_04.log.2
> 
> domid: 3
> Using xvda for guest's hda
> Using file /home/gpu/XenGuest.img in read-write mode
> Watching /local/domain/0/device-model/3/logdirty/cmd
> Watching /local/domain/0/device-model/3/command
> Watching /local/domain/3/cpu
> char device redirected to /dev/pts/2
> qemu_map_cache_init nr_buckets = 10000 size 4194304
> shared page at pfn feffd
> buffered io page at pfn feffb
> Guest uuid = ca8e8bb1-7b8f-13ae-9e67-2feac93b6989
> Time offset set 0
> populating video RAM at ff000000
> mapping video RAM from ff000000
> Register xen platform.
> Done register platform.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
> xs_read(/local/domain/0/device-model/3/xen_extended_power_mgmt): read error
> Log-dirty: no command yet.
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> vcpu-set: watch node error.
> xs_read(/local/domain/3/log-throttling): read error
> qemu: ignoring not-understood drive `/local/domain/3/log-throttling'
> medium change watch on `/local/domain/3/log-throttling' - unknown device, ignored
> char device redirected to /dev/pts/3
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> cirrus vga map change while on lfb mode
> mapping vram to f0000000 - f0400000
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro state.
> dm-command: unknown command"pci-ins"

I think that your qemu-dm has been compiled without CONFIG_PASSTHROUGH.
Maybe you didn't have pciutils-dev installed?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:15:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGU0-0005ZX-IE; Fri, 04 May 2012 11:15:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SQGTy-0005Yu-V5
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:15:31 +0000
Received: from [85.158.138.51:54191] by server-11.bemta-3.messagelabs.com id
	72/FE-18894-25AB3AF4; Fri, 04 May 2012 11:15:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336130128!21180052!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16107 invoked from network); 4 May 2012 11:15:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:15:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12295668"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:15:27 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 12:15:27 +0100
Date: Fri, 4 May 2012 12:15:11 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Vinaya MS (MT2010166)" <vinaya.ms@iiitb.org>
In-Reply-To: <DE92B8A482669C45A3901092980982D7179DCD59@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
Message-ID: <alpine.DEB.2.00.1205041213290.26786@kaball-desktop>
References: <4E65F794.6060705@gmail.com>
	<alpine.DEB.2.00.1109071142520.12963@kaball-desktop>
	<loom.20120503T161144-497@post.gmane.org>,
	<alpine.DEB.2.00.1205031925560.26786@kaball-desktop>
	<DE92B8A482669C45A3901092980982D7179DCD4C@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>,
	<alpine.DEB.2.00.1205041049310.26786@kaball-desktop>
	<DE92B8A482669C45A3901092980982D7179DCD59@HKNPRD0104MB127.apcprd01.prod.exchangelabs.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Problems with xen 4.1.x + passthrough + pvonhvm
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Vinaya MS (MT2010166) wrote:
>  /var/log/xen/qemu-dm-xen10_04.log.2
> 
> domid: 3
> Using xvda for guest's hda
> Using file /home/gpu/XenGuest.img in read-write mode
> Watching /local/domain/0/device-model/3/logdirty/cmd
> Watching /local/domain/0/device-model/3/command
> Watching /local/domain/3/cpu
> char device redirected to /dev/pts/2
> qemu_map_cache_init nr_buckets = 10000 size 4194304
> shared page at pfn feffd
> buffered io page at pfn feffb
> Guest uuid = ca8e8bb1-7b8f-13ae-9e67-2feac93b6989
> Time offset set 0
> populating video RAM at ff000000
> mapping video RAM from ff000000
> Register xen platform.
> Done register platform.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
> xs_read(/local/domain/0/device-model/3/xen_extended_power_mgmt): read error
> Log-dirty: no command yet.
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> vcpu-set: watch node error.
> xs_read(/local/domain/3/log-throttling): read error
> qemu: ignoring not-understood drive `/local/domain/3/log-throttling'
> medium change watch on `/local/domain/3/log-throttling' - unknown device, ignored
> char device redirected to /dev/pts/3
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> xen be: console-0: xen be: console-0: initialise() failed
> initialise() failed
> cirrus vga map change while on lfb mode
> mapping vram to f0000000 - f0400000
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro state.
> dm-command: unknown command"pci-ins"

I think that your qemu-dm has been compiled without CONFIG_PASSTHROUGH.
Maybe you didn't have pciutils-dev installed?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:19:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:19:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGXf-0006Hr-7d; Fri, 04 May 2012 11:19:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SQGXd-0006Hi-BG
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:19:17 +0000
Received: from [85.158.138.51:4021] by server-8.bemta-3.messagelabs.com id
	9C/99-24428-43BB3AF4; Fri, 04 May 2012 11:19:16 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336130355!25281029!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14553 invoked from network); 4 May 2012 11:19:15 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:19:15 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SQGXa-0001k5-Px; Fri, 04 May 2012 11:19:14 +0000
Date: Fri, 4 May 2012 12:19:14 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504111914.GC6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
	<1336128807.2361.56.camel@zakaz.uk.xensource.com>
	<20120504111450.GB6127@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120504111450.GB6127@ocelot.phlegethon.org>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(oops, seem to have dropped Mukesh from CC)

At 12:14 +0100 on 04 May (1336133690), Tim Deegan wrote:
> At 11:53 +0100 on 04 May (1336132407), Ian Campbell wrote:
> > > I'm not aware of anything deliberately tinkering with EFLAGS_ID,
> > 
> > I couldn't find any use other than the definition, although it maybe
> > open coded somewhere.
> 
> Looks like maybe it's the absence of it that we should worry about:
> Mukesh, can you try the attached patch?
> 
> > > but
> > > it's possible that vm86 interacts with it (of that we accidentally lose
> > > some parts of EFLAGS in emulation).
> > 
> > Yeah, but I can't figure out why hybrid dom0 would change that...
> 
> Indeed.  I'd expect this to fail for the same kernel in normal HVM.
> Maybe there's some difference in how the segment state is set up
> 
> Tim.

> diff -r 8f556a70ae0b xen/arch/x86/x86_emulate/x86_emulate.c
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c	Thu May 03 17:21:09 2012 +0100
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c	Fri May 04 12:13:55 2012 +0100
> @@ -372,6 +372,7 @@ typedef union {
>  #define CR4_TSD   (1<<2)
>  
>  /* EFLAGS bit definitions. */
> +#define EFLG_ID   (1<<21)
>  #define EFLG_VIP  (1<<20)
>  #define EFLG_VIF  (1<<19)
>  #define EFLG_AC   (1<<18)
> @@ -424,7 +425,7 @@ typedef union {
>   * These EFLAGS bits are restored from saved value during emulation, and
>   * any changes are written back to the saved value after emulation.
>   */
> -#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF)
> +#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF|EFLG_ID)
>  
>  /* Before executing instruction: restore necessary bits in EFLAGS. */
>  #define _PRE_EFLAGS(_sav, _msk, _tmp)                           \

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:19:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:19:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGXf-0006Hr-7d; Fri, 04 May 2012 11:19:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SQGXd-0006Hi-BG
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:19:17 +0000
Received: from [85.158.138.51:4021] by server-8.bemta-3.messagelabs.com id
	9C/99-24428-43BB3AF4; Fri, 04 May 2012 11:19:16 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336130355!25281029!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14553 invoked from network); 4 May 2012 11:19:15 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:19:15 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SQGXa-0001k5-Px; Fri, 04 May 2012 11:19:14 +0000
Date: Fri, 4 May 2012 12:19:14 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504111914.GC6127@ocelot.phlegethon.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
	<1336128807.2361.56.camel@zakaz.uk.xensource.com>
	<20120504111450.GB6127@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120504111450.GB6127@ocelot.phlegethon.org>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(oops, seem to have dropped Mukesh from CC)

At 12:14 +0100 on 04 May (1336133690), Tim Deegan wrote:
> At 11:53 +0100 on 04 May (1336132407), Ian Campbell wrote:
> > > I'm not aware of anything deliberately tinkering with EFLAGS_ID,
> > 
> > I couldn't find any use other than the definition, although it maybe
> > open coded somewhere.
> 
> Looks like maybe it's the absence of it that we should worry about:
> Mukesh, can you try the attached patch?
> 
> > > but
> > > it's possible that vm86 interacts with it (of that we accidentally lose
> > > some parts of EFLAGS in emulation).
> > 
> > Yeah, but I can't figure out why hybrid dom0 would change that...
> 
> Indeed.  I'd expect this to fail for the same kernel in normal HVM.
> Maybe there's some difference in how the segment state is set up
> 
> Tim.

> diff -r 8f556a70ae0b xen/arch/x86/x86_emulate/x86_emulate.c
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c	Thu May 03 17:21:09 2012 +0100
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c	Fri May 04 12:13:55 2012 +0100
> @@ -372,6 +372,7 @@ typedef union {
>  #define CR4_TSD   (1<<2)
>  
>  /* EFLAGS bit definitions. */
> +#define EFLG_ID   (1<<21)
>  #define EFLG_VIP  (1<<20)
>  #define EFLG_VIF  (1<<19)
>  #define EFLG_AC   (1<<18)
> @@ -424,7 +425,7 @@ typedef union {
>   * These EFLAGS bits are restored from saved value during emulation, and
>   * any changes are written back to the saved value after emulation.
>   */
> -#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF)
> +#define EFLAGS_MASK (EFLG_OF|EFLG_SF|EFLG_ZF|EFLG_AF|EFLG_PF|EFLG_CF|EFLG_ID)
>  
>  /* Before executing instruction: restore necessary bits in EFLAGS. */
>  #define _PRE_EFLAGS(_sav, _msk, _tmp)                           \

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:21:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGZt-0006PE-Ox; Fri, 04 May 2012 11:21:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SQGZs-0006P4-CG
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:21:36 +0000
Received: from [193.109.254.147:56570] by server-12.bemta-14.messagelabs.com
	id C8/54-05898-FBBB3AF4; Fri, 04 May 2012 11:21:35 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336130493!7668388!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24326 invoked from network); 4 May 2012 11:21:35 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:21:35 -0000
Received: by yenq11 with SMTP id q11so2000847yen.30
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 04:21:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=9S4jBJQOKhEx4pAbt/EqI3nRN6szZg/HkJtyOe6v4Qg=;
	b=zoT8btDefp/N6t9boxWqLxVMexwwwQ1pjCBa+95VYemdCuD79ru9ael8unti57EoKh
	s4GVkKkyO9Pb5MvrIN91nksIGuI5pOdqep6V5N5szChuPnD1ZseQSHDCLeLTwqh2Sv78
	3mCQf2smMyETxQa5RMOn2qJLuwWAl+RXJ08mTHZLR5rvFoBZbK8vg+lOQCSWhqkSR/2U
	YYGyOLL44gne3m3EVRMFpMQ6eUWhaaqhbtlEf2LBV5YAOHkNwhd2wLQI9LniBccq6tb8
	99KIy7uvoiuwq6TJ+uHcZNEdSt+/BosfsYK5vMHeLcwHBKMedzIHh/417cEPb+aH7G4P
	mxLw==
Received: by 10.50.220.136 with SMTP id pw8mr2784392igc.1.1336130493222; Fri,
	04 May 2012 04:21:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.73.228 with HTTP; Fri, 4 May 2012 04:21:03 -0700 (PDT)
In-Reply-To: <1336120109.26385.7.camel@dagon.hellion.org.uk>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Fri, 4 May 2012 12:21:03 +0100
X-Google-Sender-Auth: 4JYQHEtCFdAi3zmJImVCR4LWJuM
Message-ID: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> Anthony -- any idea why the videoram setting doesn't work with upstream
> qemu?

Well, the parameter could be pass to qemu qxl, but it's not yet. But
then, it seams you have to have this value of at least 32MB, otherwise
the value is increase in qemu.

For cirrus/stdvga, there is no way to pass the parameter to qemu, the
size in qemu is fixed to 8MB.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:21:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGZt-0006PE-Ox; Fri, 04 May 2012 11:21:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SQGZs-0006P4-CG
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:21:36 +0000
Received: from [193.109.254.147:56570] by server-12.bemta-14.messagelabs.com
	id C8/54-05898-FBBB3AF4; Fri, 04 May 2012 11:21:35 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336130493!7668388!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24326 invoked from network); 4 May 2012 11:21:35 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:21:35 -0000
Received: by yenq11 with SMTP id q11so2000847yen.30
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 04:21:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=9S4jBJQOKhEx4pAbt/EqI3nRN6szZg/HkJtyOe6v4Qg=;
	b=zoT8btDefp/N6t9boxWqLxVMexwwwQ1pjCBa+95VYemdCuD79ru9ael8unti57EoKh
	s4GVkKkyO9Pb5MvrIN91nksIGuI5pOdqep6V5N5szChuPnD1ZseQSHDCLeLTwqh2Sv78
	3mCQf2smMyETxQa5RMOn2qJLuwWAl+RXJ08mTHZLR5rvFoBZbK8vg+lOQCSWhqkSR/2U
	YYGyOLL44gne3m3EVRMFpMQ6eUWhaaqhbtlEf2LBV5YAOHkNwhd2wLQI9LniBccq6tb8
	99KIy7uvoiuwq6TJ+uHcZNEdSt+/BosfsYK5vMHeLcwHBKMedzIHh/417cEPb+aH7G4P
	mxLw==
Received: by 10.50.220.136 with SMTP id pw8mr2784392igc.1.1336130493222; Fri,
	04 May 2012 04:21:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.73.228 with HTTP; Fri, 4 May 2012 04:21:03 -0700 (PDT)
In-Reply-To: <1336120109.26385.7.camel@dagon.hellion.org.uk>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Fri, 4 May 2012 12:21:03 +0100
X-Google-Sender-Auth: 4JYQHEtCFdAi3zmJImVCR4LWJuM
Message-ID: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> Anthony -- any idea why the videoram setting doesn't work with upstream
> qemu?

Well, the parameter could be pass to qemu qxl, but it's not yet. But
then, it seams you have to have this value of at least 32MB, otherwise
the value is increase in qemu.

For cirrus/stdvga, there is no way to pass the parameter to qemu, the
size in qemu is fixed to 8MB.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:28:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:28:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGfu-0006c4-Nk; Fri, 04 May 2012 11:27:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQGft-0006bz-Lm
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 11:27:49 +0000
Received: from [85.158.138.51:2943] by server-4.bemta-3.messagelabs.com id
	8D/4A-15341-43DB3AF4; Fri, 04 May 2012 11:27:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336130867!14246866!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10242 invoked from network); 4 May 2012 11:27:48 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:27:48 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 12:27:47 +0100
Message-Id: <4FA3D95102000078000819CB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 12:27:45 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Tim Deegan" <tim@xen.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
	<1336128807.2361.56.camel@zakaz.uk.xensource.com>
	<20120504111450.GB6127@ocelot.phlegethon.org>
In-Reply-To: <20120504111450.GB6127@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 13:14, Tim Deegan <tim@xen.org> wrote:
> At 11:53 +0100 on 04 May (1336132407), Ian Campbell wrote:
>> > I'm not aware of anything deliberately tinkering with EFLAGS_ID,
>> 
>> I couldn't find any use other than the definition, although it maybe
>> open coded somewhere.
> 
> Looks like maybe it's the absence of it that we should worry about:
> Mukesh, can you try the attached patch?

But EFLAGS_MASK doesn't affect PUSHF/POPF emulation, and that's
the only ones that would matter here (short of some of the arithmetic
emulation being broken, which wouldn't be addressed by this mask
change either). POPF emulation itself only disallows modifying VIP,
VIF, and VM.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:28:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:28:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGfu-0006c4-Nk; Fri, 04 May 2012 11:27:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQGft-0006bz-Lm
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 11:27:49 +0000
Received: from [85.158.138.51:2943] by server-4.bemta-3.messagelabs.com id
	8D/4A-15341-43DB3AF4; Fri, 04 May 2012 11:27:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336130867!14246866!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10242 invoked from network); 4 May 2012 11:27:48 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:27:48 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 12:27:47 +0100
Message-Id: <4FA3D95102000078000819CB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 12:27:45 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Tim Deegan" <tim@xen.org>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504104902.GA6127@ocelot.phlegethon.org>
	<1336128807.2361.56.camel@zakaz.uk.xensource.com>
	<20120504111450.GB6127@ocelot.phlegethon.org>
In-Reply-To: <20120504111450.GB6127@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 13:14, Tim Deegan <tim@xen.org> wrote:
> At 11:53 +0100 on 04 May (1336132407), Ian Campbell wrote:
>> > I'm not aware of anything deliberately tinkering with EFLAGS_ID,
>> 
>> I couldn't find any use other than the definition, although it maybe
>> open coded somewhere.
> 
> Looks like maybe it's the absence of it that we should worry about:
> Mukesh, can you try the attached patch?

But EFLAGS_MASK doesn't affect PUSHF/POPF emulation, and that's
the only ones that would matter here (short of some of the arithmetic
emulation being broken, which wouldn't be addressed by this mask
change either). POPF emulation itself only disallows modifying VIP,
VIF, and VM.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:31:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:31:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGj3-0006k4-AW; Fri, 04 May 2012 11:31:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQGj1-0006jv-Ni
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:31:03 +0000
Received: from [85.158.138.51:13219] by server-8.bemta-3.messagelabs.com id
	A2/9F-24428-6FDB3AF4; Fri, 04 May 2012 11:31:02 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336131061!16311393!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25911 invoked from network); 4 May 2012 11:31:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:31:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 12:31:01 +0100
Message-Id: <4FA3DA1302000078000819D6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 12:30:59 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "GabrielX Wu" <gabrielx.wu@intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 12:06, "Wu, GabrielX" <gabrielx.wu@intel.com> wrote:
> 6. when detaching a VF from hvm guest, "xl dmesg" will show some warning 
> information
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809 

Are you sure you still see those messages? Original separate testing
of the patch before it went in confirmed they were gone.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:31:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:31:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGj3-0006k4-AW; Fri, 04 May 2012 11:31:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQGj1-0006jv-Ni
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:31:03 +0000
Received: from [85.158.138.51:13219] by server-8.bemta-3.messagelabs.com id
	A2/9F-24428-6FDB3AF4; Fri, 04 May 2012 11:31:02 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336131061!16311393!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25911 invoked from network); 4 May 2012 11:31:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 11:31:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 12:31:01 +0100
Message-Id: <4FA3DA1302000078000819D6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 12:30:59 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "GabrielX Wu" <gabrielx.wu@intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 12:06, "Wu, GabrielX" <gabrielx.wu@intel.com> wrote:
> 6. when detaching a VF from hvm guest, "xl dmesg" will show some warning 
> information
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809 

Are you sure you still see those messages? Original separate testing
of the patch before it went in confirmed they were gone.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:32:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:32:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGkJ-0006pF-P3; Fri, 04 May 2012 11:32:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQGkI-0006p5-E1
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:32:22 +0000
Received: from [193.109.254.147:31950] by server-3.bemta-14.messagelabs.com id
	A5/C3-23274-54EB3AF4; Fri, 04 May 2012 11:32:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336131141!2475696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30404 invoked from network); 4 May 2012 11:32:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:32:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12296015"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:32:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	12:32:20 +0100
Message-ID: <1336131139.2361.60.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Date: Fri, 4 May 2012 12:32:19 +0100
In-Reply-To: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:21 +0100, Anthony PERARD wrote:
> On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > Anthony -- any idea why the videoram setting doesn't work with upstream
> > qemu?
> 
> Well, the parameter could be pass to qemu qxl, but it's not yet. But
> then, it seams you have to have this value of at least 32MB, otherwise
> the value is increase in qemu.
> 
> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> size in qemu is fixed to 8MB.

OK, so this is simply a feature which upstream qemu doesn't have. That's
fine.

I guess xl.cfg(5) needs updating to make it clear that this option only
applies to qemu-xen-traditional.

The docs also currently say that for stdvga the default is 8MB and for
not stdvga (by which I guess it means Cirrus) the default if 4MB. So I
guess even this is inaccurate for qemu-xen-upstream?

Can someone send a patch please?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:32:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:32:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGkJ-0006pF-P3; Fri, 04 May 2012 11:32:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQGkI-0006p5-E1
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 11:32:22 +0000
Received: from [193.109.254.147:31950] by server-3.bemta-14.messagelabs.com id
	A5/C3-23274-54EB3AF4; Fri, 04 May 2012 11:32:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336131141!2475696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30404 invoked from network); 4 May 2012 11:32:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:32:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12296015"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:32:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	12:32:20 +0100
Message-ID: <1336131139.2361.60.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Date: Fri, 4 May 2012 12:32:19 +0100
In-Reply-To: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:21 +0100, Anthony PERARD wrote:
> On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > Anthony -- any idea why the videoram setting doesn't work with upstream
> > qemu?
> 
> Well, the parameter could be pass to qemu qxl, but it's not yet. But
> then, it seams you have to have this value of at least 32MB, otherwise
> the value is increase in qemu.
> 
> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> size in qemu is fixed to 8MB.

OK, so this is simply a feature which upstream qemu doesn't have. That's
fine.

I guess xl.cfg(5) needs updating to make it clear that this option only
applies to qemu-xen-traditional.

The docs also currently say that for stdvga the default is 8MB and for
not stdvga (by which I guess it means Cirrus) the default if 4MB. So I
guess even this is inaccurate for qemu-xen-upstream?

Can someone send a patch please?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 11:42:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:42:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGuB-00074d-Sk; Fri, 04 May 2012 11:42:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQGuA-00074Y-Nu
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:42:34 +0000
Received: from [85.158.138.51:26028] by server-6.bemta-3.messagelabs.com id
	A1/18-05145-9A0C3AF4; Fri, 04 May 2012 11:42:33 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336131751!25300379!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15633 invoked from network); 4 May 2012 11:42:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:42:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193398508"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:42:30 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	07:42:30 -0400
Message-ID: <4FA3C0A5.7030309@citrix.com>
Date: Fri, 4 May 2012 12:42:29 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------050301060803020709070907"
Cc: Keir Fraser <keir@xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------050301060803020709070907
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

I know that xen-unstable is on a feature freeze, and this is not
strictly a bugfix (yet; see below), but as it is safe and designed to
help clarity in the case of a crash, so I request that it be considered
for inclusion.

I have constructed an artificial case where the information reported in
1 per-cpu crash note was stale by using low_crashinfo mode, crashing
Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
leaves stale register state written into the offlined CPU crash
information.  In this case, the information was stale but correct, due
to the predictable nature of the Xen crash path from the 'C' debug key,
but there is no guarantee that in the case of a real crash, the same
will still be true.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------050301060803020709070907
Content-Type: text/x-patch; name="kexec-clear-notes.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="kexec-clear-notes.patch"

# HG changeset patch
# Parent 98fe3b2a572d4ffe704124e75c7aa8d94dbb51bc
kexec: clear notes during setup

Explicity zero the memory backing the crash notes during setup.

This allows the crash environment to be rather more certain whether the crash
notes were actually written, rather than trusting that the memory was clear
beforehand.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 98fe3b2a572d xen/common/kexec.c
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -401,7 +401,7 @@ static int kexec_init_cpu_notes(const un
 
     /* If we dont care about the position of allocation, malloc. */
     if ( low_crashinfo_mode == LOW_CRASHINFO_NONE )
-        note = xmalloc_bytes(nr_bytes);
+        note = xzalloc_bytes(nr_bytes);
 
     /* Protect the write into crash_notes[] with a spinlock, as this function
      * is on a hotplug path and a hypercall path. */
@@ -505,7 +505,7 @@ static int __init kexec_init(void)
 
     if ( low_crashinfo_mode > LOW_CRASHINFO_NONE )
     {
-        size_t crash_heap_size;
+        size_t crash_heap_size, i;
 
         /* This calculation is safe even if the machine is booted in
          * uniprocessor mode. */
@@ -520,6 +520,9 @@ static int __init kexec_init(void)
         if ( ! crash_heap_current )
             return -ENOMEM;
 
+        for ( i=0; i< (crash_heap_size >> PAGE_SHIFT); ++i )
+            clear_page(crash_heap_current + (i << PAGE_SHIFT));
+
         crash_heap_end = crash_heap_current + crash_heap_size;
     }
 

--------------050301060803020709070907
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------050301060803020709070907--


From xen-devel-bounces@lists.xen.org Fri May 04 11:42:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 11:42:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQGuB-00074d-Sk; Fri, 04 May 2012 11:42:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQGuA-00074Y-Nu
	for xen-devel@lists.xen.org; Fri, 04 May 2012 11:42:34 +0000
Received: from [85.158.138.51:26028] by server-6.bemta-3.messagelabs.com id
	A1/18-05145-9A0C3AF4; Fri, 04 May 2012 11:42:33 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336131751!25300379!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15633 invoked from network); 4 May 2012 11:42:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 11:42:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193398508"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 07:42:30 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	07:42:30 -0400
Message-ID: <4FA3C0A5.7030309@citrix.com>
Date: Fri, 4 May 2012 12:42:29 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------050301060803020709070907"
Cc: Keir Fraser <keir@xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------050301060803020709070907
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

I know that xen-unstable is on a feature freeze, and this is not
strictly a bugfix (yet; see below), but as it is safe and designed to
help clarity in the case of a crash, so I request that it be considered
for inclusion.

I have constructed an artificial case where the information reported in
1 per-cpu crash note was stale by using low_crashinfo mode, crashing
Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
leaves stale register state written into the offlined CPU crash
information.  In this case, the information was stale but correct, due
to the predictable nature of the Xen crash path from the 'C' debug key,
but there is no guarantee that in the case of a real crash, the same
will still be true.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------050301060803020709070907
Content-Type: text/x-patch; name="kexec-clear-notes.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="kexec-clear-notes.patch"

# HG changeset patch
# Parent 98fe3b2a572d4ffe704124e75c7aa8d94dbb51bc
kexec: clear notes during setup

Explicity zero the memory backing the crash notes during setup.

This allows the crash environment to be rather more certain whether the crash
notes were actually written, rather than trusting that the memory was clear
beforehand.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 98fe3b2a572d xen/common/kexec.c
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -401,7 +401,7 @@ static int kexec_init_cpu_notes(const un
 
     /* If we dont care about the position of allocation, malloc. */
     if ( low_crashinfo_mode == LOW_CRASHINFO_NONE )
-        note = xmalloc_bytes(nr_bytes);
+        note = xzalloc_bytes(nr_bytes);
 
     /* Protect the write into crash_notes[] with a spinlock, as this function
      * is on a hotplug path and a hypercall path. */
@@ -505,7 +505,7 @@ static int __init kexec_init(void)
 
     if ( low_crashinfo_mode > LOW_CRASHINFO_NONE )
     {
-        size_t crash_heap_size;
+        size_t crash_heap_size, i;
 
         /* This calculation is safe even if the machine is booted in
          * uniprocessor mode. */
@@ -520,6 +520,9 @@ static int __init kexec_init(void)
         if ( ! crash_heap_current )
             return -ENOMEM;
 
+        for ( i=0; i< (crash_heap_size >> PAGE_SHIFT); ++i )
+            clear_page(crash_heap_current + (i << PAGE_SHIFT));
+
         crash_heap_end = crash_heap_current + crash_heap_size;
     }
 

--------------050301060803020709070907
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------050301060803020709070907--


From xen-devel-bounces@lists.xen.org Fri May 04 12:03:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:03:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHDw-0007dj-Dv; Fri, 04 May 2012 12:03:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQHDv-0007dc-En
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 12:02:59 +0000
Received: from [193.109.254.147:27133] by server-1.bemta-14.messagelabs.com id
	7F/52-29372-275C3AF4; Fri, 04 May 2012 12:02:58 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336132977!7618524!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6238 invoked from network); 4 May 2012 12:02:58 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 12:02:58 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQHDs-0003Y8-DL
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 05:02:56 -0700
Date: Fri, 4 May 2012 05:02:56 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336132976402-5685659.post@n5.nabble.com>
In-Reply-To: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
References: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Anthony PERARD-2 wrote
> 
> On Fri, May 4, 2012 at 9:28 AM, Ian Campbell &lt;Ian.Campbell@&gt; wrote:
>> Anthony -- any idea why the videoram setting doesn't work with upstream
>> qemu?
> 
> Well, the parameter could be pass to qemu qxl, but it's not yet. But
> then, it seams you have to have this value of at least 32MB, otherwise
> the value is increase in qemu.
> 
> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> size in qemu is fixed to 8MB.
> 
> -- 
> Anthony PERARD
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 
I have already tried -global qxl-vga.vram_size for setting more videoram on
qxl but not work,have always 4 mb, also with qemu-upstream unstable, the
default code in qemu should have 64 mb and minimum 16 mb, why and where it
sets 4 mb?
Now I will try also with 1.1-rc0 and seabios 1.7.0.

--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5685659.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:03:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:03:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHDw-0007dj-Dv; Fri, 04 May 2012 12:03:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQHDv-0007dc-En
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 12:02:59 +0000
Received: from [193.109.254.147:27133] by server-1.bemta-14.messagelabs.com id
	7F/52-29372-275C3AF4; Fri, 04 May 2012 12:02:58 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336132977!7618524!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6238 invoked from network); 4 May 2012 12:02:58 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 12:02:58 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SQHDs-0003Y8-DL
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 05:02:56 -0700
Date: Fri, 4 May 2012 05:02:56 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336132976402-5685659.post@n5.nabble.com>
In-Reply-To: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
References: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Anthony PERARD-2 wrote
> 
> On Fri, May 4, 2012 at 9:28 AM, Ian Campbell &lt;Ian.Campbell@&gt; wrote:
>> Anthony -- any idea why the videoram setting doesn't work with upstream
>> qemu?
> 
> Well, the parameter could be pass to qemu qxl, but it's not yet. But
> then, it seams you have to have this value of at least 32MB, otherwise
> the value is increase in qemu.
> 
> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> size in qemu is fixed to 8MB.
> 
> -- 
> Anthony PERARD
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 
I have already tried -global qxl-vga.vram_size for setting more videoram on
qxl but not work,have always 4 mb, also with qemu-upstream unstable, the
default code in qemu should have 64 mb and minimum 16 mb, why and where it
sets 4 mb?
Now I will try also with 1.1-rc0 and seabios 1.7.0.

--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5685659.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:03:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:03:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHEW-0007h0-RO; Fri, 04 May 2012 12:03:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQHEU-0007gh-W7
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:03:35 +0000
Received: from [85.158.139.83:32021] by server-8.bemta-5.messagelabs.com id
	A4/87-26964-695C3AF4; Fri, 04 May 2012 12:03:34 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336133013!26225025!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2453 invoked from network); 4 May 2012 12:03:33 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:03:33 -0000
Received: by eekc4 with SMTP id c4so341128eek.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 05:03:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=WDzpZXKrWnq6NuDCcWpqJKkv9402Qy07i5qKOYgorxM=;
	b=APaET2yStdXe37u6jeYdFSbBNcKWsNi4JYmPk7Wj7gHv5XOvtCKv64eH6dMsvwGsUP
	YpDmbL3qAAPNL3lcqprsgEK3K2t7LItvi4mNMQWreXAc3a5tZFRV/7W5JEEd0vlGocXP
	2kVjGJkV3qH3bBdrLNAeyP4txpLCD728TRHlGIyDKh+sx8IAUsf7+mc1BIVkP8Y91yMI
	2dV+bd/21t+Fae+lxRE4I6BgJQ/DyEhKc2WnnDhz5SaVajl82tRnVNFRZCG0XT2z7UBg
	qJmDVAa8/tynZr3kY0KeiTGSbdWbeI1Q02+UKdeDwJCydJw2iLZMhTx5BSbu4sdmnpVi
	XXOQ==
Received: by 10.14.52.133 with SMTP id e5mr1091655eec.127.1336133013155;
	Fri, 04 May 2012 05:03:33 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id e56sm40556817eea.11.2012.05.04.05.03.32
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 05:03:32 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 13:03:24 +0100
From: Keir Fraser <keir@xen.org>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC9841C.3FAFF%keir@xen.org>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p7egB5aWCdwmCcUyc7rTf6Ze7FQ==
In-Reply-To: <4FA3D4320200007800081987@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:

>> I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
>> per CPU of the poll_port variable isn't worth much optimising effort.
> 
> Certainly not (and as you say they are actually needed, even if
> only rarely). But the pointlessly running timer(s) might be, as might
> the buffer(s) set up via serial_async_transmit().

We could delay {init,setup}_postirq until a corresponding serial handle has
been created via serial_parse_handle()? The logic might be a bit ugly and
spread across both serial.c and ns16550.c but not actually particularly
complicated?

 -- Keir




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:03:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:03:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHEW-0007h0-RO; Fri, 04 May 2012 12:03:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQHEU-0007gh-W7
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:03:35 +0000
Received: from [85.158.139.83:32021] by server-8.bemta-5.messagelabs.com id
	A4/87-26964-695C3AF4; Fri, 04 May 2012 12:03:34 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336133013!26225025!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2453 invoked from network); 4 May 2012 12:03:33 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:03:33 -0000
Received: by eekc4 with SMTP id c4so341128eek.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 05:03:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=WDzpZXKrWnq6NuDCcWpqJKkv9402Qy07i5qKOYgorxM=;
	b=APaET2yStdXe37u6jeYdFSbBNcKWsNi4JYmPk7Wj7gHv5XOvtCKv64eH6dMsvwGsUP
	YpDmbL3qAAPNL3lcqprsgEK3K2t7LItvi4mNMQWreXAc3a5tZFRV/7W5JEEd0vlGocXP
	2kVjGJkV3qH3bBdrLNAeyP4txpLCD728TRHlGIyDKh+sx8IAUsf7+mc1BIVkP8Y91yMI
	2dV+bd/21t+Fae+lxRE4I6BgJQ/DyEhKc2WnnDhz5SaVajl82tRnVNFRZCG0XT2z7UBg
	qJmDVAa8/tynZr3kY0KeiTGSbdWbeI1Q02+UKdeDwJCydJw2iLZMhTx5BSbu4sdmnpVi
	XXOQ==
Received: by 10.14.52.133 with SMTP id e5mr1091655eec.127.1336133013155;
	Fri, 04 May 2012 05:03:33 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id e56sm40556817eea.11.2012.05.04.05.03.32
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 05:03:32 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 13:03:24 +0100
From: Keir Fraser <keir@xen.org>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC9841C.3FAFF%keir@xen.org>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p7egB5aWCdwmCcUyc7rTf6Ze7FQ==
In-Reply-To: <4FA3D4320200007800081987@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:

>> I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
>> per CPU of the poll_port variable isn't worth much optimising effort.
> 
> Certainly not (and as you say they are actually needed, even if
> only rarely). But the pointlessly running timer(s) might be, as might
> the buffer(s) set up via serial_async_transmit().

We could delay {init,setup}_postirq until a corresponding serial handle has
been created via serial_parse_handle()? The logic might be a bit ugly and
spread across both serial.c and ns16550.c but not actually particularly
complicated?

 -- Keir




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:36:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:36:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHjz-00006f-Qi; Fri, 04 May 2012 12:36:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQHjy-00006a-63
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:36:06 +0000
Received: from [85.158.143.99:15088] by server-1.bemta-4.messagelabs.com id
	D4/CF-20925-53DC3AF4; Fri, 04 May 2012 12:36:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336134964!23131772!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8457 invoked from network); 4 May 2012 12:36:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 12:36:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 13:36:04 +0100
Message-Id: <4FA3E9530200007800081A2F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 13:36:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part6A448B23.0__="
Subject: [Xen-devel] [PATCH] x86/MSI: remove stray endianness definition
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part6A448B23.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... as it conflicts with the one made in asm/byteorder.h, and hence
build fails when both happen to be included from the same source file.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -3,6 +3,7 @@
=20
 #include <xen/cpumask.h>
 #include <xen/pci.h>
+#include <asm/byteorder.h>
=20
 /*
  * Constants for Intel APIC based MSI messages.
@@ -165,8 +166,6 @@ int msi_free_irq(struct msi_desc *entry)
 #define MSI_LOGICAL_MODE		1
 #define MSI_REDIRECTION_HINT_MODE	0
=20
-#define __LITTLE_ENDIAN_BITFIELD	1
-
 struct msg_data {
 #if defined(__LITTLE_ENDIAN_BITFIELD)
 	__u32	vector		:  8;




--=__Part6A448B23.0__=
Content-Type: text/plain; name="x86-msi-endianness.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-msi-endianness.patch"

x86/MSI: remove stray endianness definition=0A=0A... as it conflicts with =
the one made in asm/byteorder.h, and hence=0Abuild fails when both happen =
to be included from the same source file.=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/xen/include/asm-x86/msi.h=0A+++ b/xen/includ=
e/asm-x86/msi.h=0A@@ -3,6 +3,7 @@=0A =0A #include <xen/cpumask.h>=0A =
#include <xen/pci.h>=0A+#include <asm/byteorder.h>=0A =0A /*=0A  * =
Constants for Intel APIC based MSI messages.=0A@@ -165,8 +166,6 @@ int =
msi_free_irq(struct msi_desc *entry)=0A #define MSI_LOGICAL_MODE		=
1=0A #define MSI_REDIRECTION_HINT_MODE	0=0A =0A-#define __LITTLE_ENDIAN_BI=
TFIELD	1=0A-=0A struct msg_data {=0A #if defined(__LITTLE_ENDIAN_BITFIELD)=
=0A 	__u32	vector		:  8;=0A
--=__Part6A448B23.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part6A448B23.0__=--


From xen-devel-bounces@lists.xen.org Fri May 04 12:36:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:36:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHjz-00006f-Qi; Fri, 04 May 2012 12:36:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQHjy-00006a-63
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:36:06 +0000
Received: from [85.158.143.99:15088] by server-1.bemta-4.messagelabs.com id
	D4/CF-20925-53DC3AF4; Fri, 04 May 2012 12:36:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336134964!23131772!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8457 invoked from network); 4 May 2012 12:36:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 12:36:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 13:36:04 +0100
Message-Id: <4FA3E9530200007800081A2F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 13:36:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part6A448B23.0__="
Subject: [Xen-devel] [PATCH] x86/MSI: remove stray endianness definition
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part6A448B23.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... as it conflicts with the one made in asm/byteorder.h, and hence
build fails when both happen to be included from the same source file.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -3,6 +3,7 @@
=20
 #include <xen/cpumask.h>
 #include <xen/pci.h>
+#include <asm/byteorder.h>
=20
 /*
  * Constants for Intel APIC based MSI messages.
@@ -165,8 +166,6 @@ int msi_free_irq(struct msi_desc *entry)
 #define MSI_LOGICAL_MODE		1
 #define MSI_REDIRECTION_HINT_MODE	0
=20
-#define __LITTLE_ENDIAN_BITFIELD	1
-
 struct msg_data {
 #if defined(__LITTLE_ENDIAN_BITFIELD)
 	__u32	vector		:  8;




--=__Part6A448B23.0__=
Content-Type: text/plain; name="x86-msi-endianness.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-msi-endianness.patch"

x86/MSI: remove stray endianness definition=0A=0A... as it conflicts with =
the one made in asm/byteorder.h, and hence=0Abuild fails when both happen =
to be included from the same source file.=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/xen/include/asm-x86/msi.h=0A+++ b/xen/includ=
e/asm-x86/msi.h=0A@@ -3,6 +3,7 @@=0A =0A #include <xen/cpumask.h>=0A =
#include <xen/pci.h>=0A+#include <asm/byteorder.h>=0A =0A /*=0A  * =
Constants for Intel APIC based MSI messages.=0A@@ -165,8 +166,6 @@ int =
msi_free_irq(struct msi_desc *entry)=0A #define MSI_LOGICAL_MODE		=
1=0A #define MSI_REDIRECTION_HINT_MODE	0=0A =0A-#define __LITTLE_ENDIAN_BI=
TFIELD	1=0A-=0A struct msg_data {=0A #if defined(__LITTLE_ENDIAN_BITFIELD)=
=0A 	__u32	vector		:  8;=0A
--=__Part6A448B23.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part6A448B23.0__=--


From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHkz-00009u-KN; Fri, 04 May 2012 12:37:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkx-00009K-GN
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:07 +0000
Received: from [85.158.138.51:25932] by server-10.bemta-3.messagelabs.com id
	24/F7-29478-27DC3AF4; Fri, 04 May 2012 12:37:06 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8035 invoked from network); 4 May 2012 12:37:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861934"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-OL;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:44 +0100
Message-ID: <1336135010-26940-2-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 1/7] vgabios: Output to Qemu debug port instead
	of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bios was outputing into port 0xe9 while Qemu use 0x12

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vgabios.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vgabios.c b/tools/firmware/vgabios/vgabios.c
index a9dbe00..e0b1ed9 100644
--- a/tools/firmware/vgabios/vgabios.c
+++ b/tools/firmware/vgabios/vgabios.c
@@ -3811,9 +3811,9 @@ void printf(s)
         for (i=0; i<format_width; i++) {
           nibble = (arg >> (4 * digit)) & 0x000f;
           if (nibble <= 9)
-            outb(0xe9, nibble + '0');
+            outb(0x12, nibble + '0');
           else
-            outb(0xe9, (nibble - 10) + 'A');
+            outb(0x12, (nibble - 10) + 'A');
           digit--;
           }
         in_format = 0;
@@ -3823,7 +3823,7 @@ void printf(s)
       //  }
       }
     else {
-      outb(0xe9, c);
+      outb(0x12, c);
       }
     s ++;
     }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHkz-00009u-KN; Fri, 04 May 2012 12:37:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkx-00009K-GN
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:07 +0000
Received: from [85.158.138.51:25932] by server-10.bemta-3.messagelabs.com id
	24/F7-29478-27DC3AF4; Fri, 04 May 2012 12:37:06 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8035 invoked from network); 4 May 2012 12:37:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861934"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-OL;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:44 +0100
Message-ID: <1336135010-26940-2-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 1/7] vgabios: Output to Qemu debug port instead
	of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bios was outputing into port 0xe9 while Qemu use 0x12

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vgabios.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vgabios.c b/tools/firmware/vgabios/vgabios.c
index a9dbe00..e0b1ed9 100644
--- a/tools/firmware/vgabios/vgabios.c
+++ b/tools/firmware/vgabios/vgabios.c
@@ -3811,9 +3811,9 @@ void printf(s)
         for (i=0; i<format_width; i++) {
           nibble = (arg >> (4 * digit)) & 0x000f;
           if (nibble <= 9)
-            outb(0xe9, nibble + '0');
+            outb(0x12, nibble + '0');
           else
-            outb(0xe9, (nibble - 10) + 'A');
+            outb(0x12, (nibble - 10) + 'A');
           digit--;
           }
         in_format = 0;
@@ -3823,7 +3823,7 @@ void printf(s)
       //  }
       }
     else {
-      outb(0xe9, c);
+      outb(0x12, c);
       }
     s ++;
     }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl0-0000AM-G4; Fri, 04 May 2012 12:37:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHky-00009P-Ao
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:08 +0000
Received: from [85.158.139.83:48407] by server-1.bemta-5.messagelabs.com id
	5B/07-28458-37DC3AF4; Fri, 04 May 2012 12:37:07 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336135025!26809151!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6342 invoked from network); 4 May 2012 12:37:06 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861936"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-PH;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:46 +0100
Message-ID: <1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Remove an overflow computing width x height x bit which does
not fit into a 16 bits. I wrote a routine to multiple these value
and get the size required for framebuffer in segment unit (64k).

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3d42216..35d9866 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -742,6 +742,29 @@ no_vbe_flag:
   jmp  _display_string
 ASM_END  
 
+ASM_START
+_size64:
+  push bp
+  mov  bp, sp
+  push dx
+
+; multiply bbp by yres first as results fit in 16bits
+; then multiply by xres
+  mov  ax, 8[bp]
+  mul  word 6[bp]
+  mul  word 4[bp]
+; divide by 2^19 ceiling result
+  add  ax, #0xffff
+  adc  dx, #7
+  mov  ax, dx
+  shr  ax, #3
+
+  pop  dx
+  pop  bp
+  ret
+ASM_END
+
+
 /** Function 00h - Return VBE Controller Information
  * 
  * Input:
@@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                 
         do
         {
+                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
+                Bit16u max_bpp = dispi_get_max_bpp();
+
                 if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
-                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
-                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
+                    (cur_info->info.BitsPerPixel <= max_bpp) &&
+                    (size_64k <= vbe_info_block.TotalMemory)) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
                   cur_mode++;
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl0-0000AM-G4; Fri, 04 May 2012 12:37:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHky-00009P-Ao
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:08 +0000
Received: from [85.158.139.83:48407] by server-1.bemta-5.messagelabs.com id
	5B/07-28458-37DC3AF4; Fri, 04 May 2012 12:37:07 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336135025!26809151!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6342 invoked from network); 4 May 2012 12:37:06 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861936"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-PH;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:46 +0100
Message-ID: <1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Remove an overflow computing width x height x bit which does
not fit into a 16 bits. I wrote a routine to multiple these value
and get the size required for framebuffer in segment unit (64k).

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3d42216..35d9866 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -742,6 +742,29 @@ no_vbe_flag:
   jmp  _display_string
 ASM_END  
 
+ASM_START
+_size64:
+  push bp
+  mov  bp, sp
+  push dx
+
+; multiply bbp by yres first as results fit in 16bits
+; then multiply by xres
+  mov  ax, 8[bp]
+  mul  word 6[bp]
+  mul  word 4[bp]
+; divide by 2^19 ceiling result
+  add  ax, #0xffff
+  adc  dx, #7
+  mov  ax, dx
+  shr  ax, #3
+
+  pop  dx
+  pop  bp
+  ret
+ASM_END
+
+
 /** Function 00h - Return VBE Controller Information
  * 
  * Input:
@@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                 
         do
         {
+                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
+                Bit16u max_bpp = dispi_get_max_bpp();
+
                 if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
-                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
-                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
+                    (cur_info->info.BitsPerPixel <= max_bpp) &&
+                    (size_64k <= vbe_info_block.TotalMemory)) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
                   cur_mode++;
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl3-0000Br-At; Fri, 04 May 2012 12:37:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHl1-00009h-TJ
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:12 +0000
Received: from [85.158.139.83:50219] by server-8.bemta-5.messagelabs.com id
	15/C0-26964-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336135025!26809151!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6471 invoked from network); 4 May 2012 12:37:08 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861941"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-RE;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:50 +0100
Message-ID: <1336135010-26940-8-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 7/7] vgabios: Make Windows 8 support greater
	resolutions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Apparently Windows 8 refuse to use any mode if has more than one page.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index a7b06b9..9131721 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -946,9 +946,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                     (size_64k > totalMemory))
                   info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
 
-                if (using_lfb) {
-                  info.NumberOfBanks = 1;
-                }
+                /* Windows 8 require this to be 1! */
+                info.NumberOfBanks = 1;
+
                 if (info.WinAAttributes & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) {
                   info.WinFuncPtr = 0xC0000000UL;
                   *(Bit16u *)&(info.WinFuncPtr) = (Bit16u)(dispi_set_bank_farcall);
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl3-0000Br-At; Fri, 04 May 2012 12:37:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHl1-00009h-TJ
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:12 +0000
Received: from [85.158.139.83:50219] by server-8.bemta-5.messagelabs.com id
	15/C0-26964-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336135025!26809151!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6471 invoked from network); 4 May 2012 12:37:08 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861941"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-RE;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:50 +0100
Message-ID: <1336135010-26940-8-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 7/7] vgabios: Make Windows 8 support greater
	resolutions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Apparently Windows 8 refuse to use any mode if has more than one page.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index a7b06b9..9131721 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -946,9 +946,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                     (size_64k > totalMemory))
                   info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
 
-                if (using_lfb) {
-                  info.NumberOfBanks = 1;
-                }
+                /* Windows 8 require this to be 1! */
+                info.NumberOfBanks = 1;
+
                 if (info.WinAAttributes & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) {
                   info.WinFuncPtr = 0xC0000000UL;
                   *(Bit16u *)&(info.WinFuncPtr) = (Bit16u)(dispi_set_bank_farcall);
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHkz-00009j-8y; Fri, 04 May 2012 12:37:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkx-00009I-EB
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:07 +0000
Received: from [85.158.138.51:23550] by server-9.bemta-3.messagelabs.com id
	EB/B6-26691-17DC3AF4; Fri, 04 May 2012 12:37:05 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7996 invoked from network); 4 May 2012 12:37:04 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861933"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-MO;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:43 +0100
Message-ID: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 0/7] VGA BIOS patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

There are a could of patch to vgabios code that
 - make some optimizations
 - fix a overflow computing frame buffer size
 - make Windows 8 suport greater resolutions
 - fix some informations returned from interrupt

Frediano Ziglio (7):
  vgabios: Output to Qemu debug port instead of using Bochs one
  vgabios: Does not define cur_mode if not required
  vgabios: Fix size computation overflow
  vgabios: Report mode not supported getting mode informations
  vgabios: Reduce stack usage getting mode informations
  vgabios: Check if mode is currently supported as vesa specifications
  vgabios: Make Windows 8 support greater resolutions

 tools/firmware/vgabios/vbe.c     |   69 +++++++++++++++++++++++++++++---------
 tools/firmware/vgabios/vgabios.c |    6 ++--
 2 files changed, 56 insertions(+), 19 deletions(-)

-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHkz-0000A4-W4; Fri, 04 May 2012 12:37:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHky-00009K-52
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:08 +0000
Received: from [85.158.138.51:23744] by server-10.bemta-3.messagelabs.com id
	A4/08-29478-37DC3AF4; Fri, 04 May 2012 12:37:07 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8104 invoked from network); 4 May 2012 12:37:06 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861935"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-Op;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:45 +0100
Message-ID: <1336135010-26940-3-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 2/7] vgabios: Does not define cur_mode if not
	required
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Declare and use cur_mode only if debug is enabled

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3fc786d..3d42216 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -761,7 +761,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
         Bit16u            status;
         Bit16u            result;
         Bit16u            vbe2_info;
+#ifdef DEBUG
         Bit16u            cur_mode=0;
+#endif
         Bit16u            cur_ptr=34;
         ModeInfoListItem  *cur_info=&mode_info_list;
         
@@ -849,9 +851,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                     (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
+                  cur_mode++;
 #endif
                   write_word(ES, DI + cur_ptr, cur_info->mode);
-                  cur_mode++;
                   cur_ptr+=2;
                 } else {
 #ifdef DEBUG
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHkz-0000A4-W4; Fri, 04 May 2012 12:37:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHky-00009K-52
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:08 +0000
Received: from [85.158.138.51:23744] by server-10.bemta-3.messagelabs.com id
	A4/08-29478-37DC3AF4; Fri, 04 May 2012 12:37:07 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8104 invoked from network); 4 May 2012 12:37:06 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861935"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-Op;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:45 +0100
Message-ID: <1336135010-26940-3-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 2/7] vgabios: Does not define cur_mode if not
	required
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Declare and use cur_mode only if debug is enabled

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 3fc786d..3d42216 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -761,7 +761,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
         Bit16u            status;
         Bit16u            result;
         Bit16u            vbe2_info;
+#ifdef DEBUG
         Bit16u            cur_mode=0;
+#endif
         Bit16u            cur_ptr=34;
         ModeInfoListItem  *cur_info=&mode_info_list;
         
@@ -849,9 +851,9 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
                     (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
 #ifdef DEBUG
                   printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
+                  cur_mode++;
 #endif
                   write_word(ES, DI + cur_ptr, cur_info->mode);
-                  cur_mode++;
                   cur_ptr+=2;
                 } else {
 #ifdef DEBUG
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHkz-00009j-8y; Fri, 04 May 2012 12:37:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkx-00009I-EB
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:07 +0000
Received: from [85.158.138.51:23550] by server-9.bemta-3.messagelabs.com id
	EB/B6-26691-17DC3AF4; Fri, 04 May 2012 12:37:05 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7996 invoked from network); 4 May 2012 12:37:04 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861933"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-MO;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:43 +0100
Message-ID: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 0/7] VGA BIOS patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

There are a could of patch to vgabios code that
 - make some optimizations
 - fix a overflow computing frame buffer size
 - make Windows 8 suport greater resolutions
 - fix some informations returned from interrupt

Frediano Ziglio (7):
  vgabios: Output to Qemu debug port instead of using Bochs one
  vgabios: Does not define cur_mode if not required
  vgabios: Fix size computation overflow
  vgabios: Report mode not supported getting mode informations
  vgabios: Reduce stack usage getting mode informations
  vgabios: Check if mode is currently supported as vesa specifications
  vgabios: Make Windows 8 support greater resolutions

 tools/firmware/vgabios/vbe.c     |   69 +++++++++++++++++++++++++++++---------
 tools/firmware/vgabios/vgabios.c |    6 ++--
 2 files changed, 56 insertions(+), 19 deletions(-)

-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl0-0000AW-Tq; Fri, 04 May 2012 12:37:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHky-00009K-Jp
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:08 +0000
Received: from [85.158.138.51:26092] by server-10.bemta-3.messagelabs.com id
	37/08-29478-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8158 invoked from network); 4 May 2012 12:37:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861937"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-Qj;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:49 +0100
Message-ID: <1336135010-26940-7-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 6/7] vgabios: Check if mode is currently
	supported as vesa specifications
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Vesa specification require that mode information return if a given mode
is supported or not so test if we can support it checking required memory
and set correctly supported bit.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 0b8b736..a7b06b9 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -930,10 +930,22 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 
         if (cur_info != 0)
         {
+                Bit16u max_bpp = dispi_get_max_bpp();
+                Bit16u size_64k;
+                Bit16u totalMemory;
+
+                outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_VIDEO_MEMORY_64K);
+                totalMemory = inw(VBE_DISPI_IOPORT_DATA);
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
+                size_64k = size64(info.XResolution, info.YResolution, info.BitsPerPixel);
+                if ((info.XResolution > dispi_get_max_xres()) ||
+                    (info.BitsPerPixel > max_bpp) ||
+                    (size_64k > totalMemory))
+                  info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
+
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
                 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl1-0000Ai-BH; Fri, 04 May 2012 12:37:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkz-00009Y-13
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:09 +0000
Received: from [85.158.139.83:48475] by server-11.bemta-5.messagelabs.com id
	90/F7-12959-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336135025!26809151!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6394 invoked from network); 4 May 2012 12:37:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861938"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-QE;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:48 +0100
Message-ID: <1336135010-26940-6-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 5/7] vgabios: Reduce stack usage getting mode
	informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Informations are stored in a structure that is smaller than final one.
Previous code copy this structure to stack extending with zeroes then
update it and copy to caller while now the not-extended version is
copied into stack and then is extended during copy reducing stack
usage.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index fff314e..0b8b736 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -914,9 +914,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
         // error by default is 0x014f which means supported but error
         Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
-        ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
         Boolean           using_lfb;
+        ModeInfoBlockCompact   info;
 
 #ifdef DEBUG
         printf("VBE vbe_biosfn_return_mode_information ES%x DI%x CX%x\n",ES,DI,CX);
@@ -933,7 +933,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
-                memsetb(ss, &info, 0, sizeof(ModeInfoBlock));
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
@@ -950,6 +949,10 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 info.PhysBasePtr |= inw(VBE_DISPI_IOPORT_DATA);
 #endif 							
                 result = 0x4f;
+
+                // copy updates in mode_info_block back
+                memsetb(ES, DI, 0, sizeof(ModeInfoBlock));
+                memcpyb(ES, DI, ss, &info, sizeof(info));
         }
         else
         {
@@ -957,12 +960,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
         }
-        
-        if (result == 0x4f)
-        {
-                // copy updates in mode_info_block back
-                memcpyb(ES, DI, ss, &info, sizeof(info));
-        }
 
         write_word(ss, AX, result);
 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl0-0000AW-Tq; Fri, 04 May 2012 12:37:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHky-00009K-Jp
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:08 +0000
Received: from [85.158.138.51:26092] by server-10.bemta-3.messagelabs.com id
	37/08-29478-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8158 invoked from network); 4 May 2012 12:37:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861937"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-Qj;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:49 +0100
Message-ID: <1336135010-26940-7-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 6/7] vgabios: Check if mode is currently
	supported as vesa specifications
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Vesa specification require that mode information return if a given mode
is supported or not so test if we can support it checking required memory
and set correctly supported bit.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 0b8b736..a7b06b9 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -930,10 +930,22 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 
         if (cur_info != 0)
         {
+                Bit16u max_bpp = dispi_get_max_bpp();
+                Bit16u size_64k;
+                Bit16u totalMemory;
+
+                outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_VIDEO_MEMORY_64K);
+                totalMemory = inw(VBE_DISPI_IOPORT_DATA);
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
+                size_64k = size64(info.XResolution, info.YResolution, info.BitsPerPixel);
+                if ((info.XResolution > dispi_get_max_xres()) ||
+                    (info.BitsPerPixel > max_bpp) ||
+                    (size_64k > totalMemory))
+                  info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
+
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
                 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl1-0000B8-Tp; Fri, 04 May 2012 12:37:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkz-00009i-Na
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:09 +0000
Received: from [85.158.138.51:26136] by server-4.bemta-3.messagelabs.com id
	CB/1E-15341-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8204 invoked from network); 4 May 2012 12:37:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861939"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-Pm;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:47 +0100
Message-ID: <1336135010-26940-5-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 4/7] vgabios: Report mode not supported getting
	mode informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If you try to get mode information for an unsupported mode
interrupt should return error but not that the function is not
supported.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 35d9866..fff314e 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -911,7 +911,8 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
 void vbe_biosfn_return_mode_information(AX, CX, ES, DI)
 Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 {
-        Bit16u            result=0x0100;
+        // error by default is 0x014f which means supported but error
+        Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
         ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
@@ -955,7 +956,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
-                result = 0x100;
         }
         
         if (result == 0x4f)
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl1-0000Ai-BH; Fri, 04 May 2012 12:37:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkz-00009Y-13
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:09 +0000
Received: from [85.158.139.83:48475] by server-11.bemta-5.messagelabs.com id
	90/F7-12959-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336135025!26809151!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6394 invoked from network); 4 May 2012 12:37:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861938"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-QE;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:48 +0100
Message-ID: <1336135010-26940-6-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 5/7] vgabios: Reduce stack usage getting mode
	informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Informations are stored in a structure that is smaller than final one.
Previous code copy this structure to stack extending with zeroes then
update it and copy to caller while now the not-extended version is
copied into stack and then is extended during copy reducing stack
usage.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index fff314e..0b8b736 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -914,9 +914,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
         // error by default is 0x014f which means supported but error
         Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
-        ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
         Boolean           using_lfb;
+        ModeInfoBlockCompact   info;
 
 #ifdef DEBUG
         printf("VBE vbe_biosfn_return_mode_information ES%x DI%x CX%x\n",ES,DI,CX);
@@ -933,7 +933,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE found mode %x\n",CX);
 #endif        
-                memsetb(ss, &info, 0, sizeof(ModeInfoBlock));
                 memcpyb(ss, &info, 0xc000, &(cur_info->info), sizeof(ModeInfoBlockCompact));
                 if (using_lfb) {
                   info.NumberOfBanks = 1;
@@ -950,6 +949,10 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 info.PhysBasePtr |= inw(VBE_DISPI_IOPORT_DATA);
 #endif 							
                 result = 0x4f;
+
+                // copy updates in mode_info_block back
+                memsetb(ES, DI, 0, sizeof(ModeInfoBlock));
+                memcpyb(ES, DI, ss, &info, sizeof(info));
         }
         else
         {
@@ -957,12 +960,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
         }
-        
-        if (result == 0x4f)
-        {
-                // copy updates in mode_info_block back
-                memcpyb(ES, DI, ss, &info, sizeof(info));
-        }
 
         write_word(ss, AX, result);
 }
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:37:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHl1-0000B8-Tp; Fri, 04 May 2012 12:37:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQHkz-00009i-Na
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:37:09 +0000
Received: from [85.158.138.51:26136] by server-4.bemta-3.messagelabs.com id
	CB/1E-15341-47DC3AF4; Fri, 04 May 2012 12:37:08 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336135023!25133940!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8204 invoked from network); 4 May 2012 12:37:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 12:37:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24861939"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 08:37:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 08:37:02 -0400
Received: from [10.80.3.57] (helo=hamster.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<frediano.ziglio@citrix.com>)	id 1SQHkr-0004dB-Pm;
	Fri, 04 May 2012 13:37:01 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 13:36:47 +0100
Message-ID: <1336135010-26940-5-git-send-email-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 1.7.5.4
In-Reply-To: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>
Subject: [Xen-devel] [PATCH 4/7] vgabios: Report mode not supported getting
	mode informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If you try to get mode information for an unsupported mode
interrupt should return error but not that the function is not
supported.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 tools/firmware/vgabios/vbe.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
index 35d9866..fff314e 100644
--- a/tools/firmware/vgabios/vbe.c
+++ b/tools/firmware/vgabios/vbe.c
@@ -911,7 +911,8 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
 void vbe_biosfn_return_mode_information(AX, CX, ES, DI)
 Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 {
-        Bit16u            result=0x0100;
+        // error by default is 0x014f which means supported but error
+        Bit16u                 result=0x014f;
         Bit16u            ss=get_SS();
         ModeInfoBlock     info;
         ModeInfoListItem  *cur_info;
@@ -955,7 +956,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
 #ifdef DEBUG
                 printf("VBE *NOT* found mode %x\n",CX);
 #endif
-                result = 0x100;
         }
         
         if (result == 0x4f)
-- 
1.7.5.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:46:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHu9-0001ae-DC; Fri, 04 May 2012 12:46:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQHu8-0001aR-1e
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:46:36 +0000
Received: from [85.158.143.99:30929] by server-1.bemta-4.messagelabs.com id
	04/4D-20925-BAFC3AF4; Fri, 04 May 2012 12:46:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336135594!15301893!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31906 invoked from network); 4 May 2012 12:46:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 12:46:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 13:46:34 +0100
Message-Id: <4FA3EBC90200007800081A5E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 13:46:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
References: <4FA3D4320200007800081987@nat28.tlf.novell.com>
	<CBC9841C.3FAFF%keir@xen.org>
In-Reply-To: <CBC9841C.3FAFF%keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 14:03, Keir Fraser <keir@xen.org> wrote:
> On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>> I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
>>> per CPU of the poll_port variable isn't worth much optimising effort.
>> 
>> Certainly not (and as you say they are actually needed, even if
>> only rarely). But the pointlessly running timer(s) might be, as might
>> the buffer(s) set up via serial_async_transmit().
> 
> We could delay {init,setup}_postirq until a corresponding serial handle has
> been created via serial_parse_handle()? The logic might be a bit ugly and
> spread across both serial.c and ns16550.c but not actually particularly
> complicated?

I think this can be done entirely in serial.c - serial_init_postirq()
would directly call any drivers that already got a handle parsed
for them, and serial_parse_handle() would need to call
->init_postirq() for any driver that didn't have it called already.
serial_suspend() and serial_resume() should then call drivers only
if they previously had ->init_postirq() called.

I definitely want to avoid putting any part of this into ns16550.c,
as it would need to be replicated for ARM's pl011.c as well as any
future ones (I'm now mostly done with an EHCI debug port driver,
but due to feature freeze won't be able to post this as other than
an RFC any time soon; xHCI appears to also have a debug port,
so in the future that might become a third alternative).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:46:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHu9-0001ae-DC; Fri, 04 May 2012 12:46:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQHu8-0001aR-1e
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:46:36 +0000
Received: from [85.158.143.99:30929] by server-1.bemta-4.messagelabs.com id
	04/4D-20925-BAFC3AF4; Fri, 04 May 2012 12:46:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336135594!15301893!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31906 invoked from network); 4 May 2012 12:46:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 12:46:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 13:46:34 +0100
Message-Id: <4FA3EBC90200007800081A5E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 13:46:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
References: <4FA3D4320200007800081987@nat28.tlf.novell.com>
	<CBC9841C.3FAFF%keir@xen.org>
In-Reply-To: <CBC9841C.3FAFF%keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 14:03, Keir Fraser <keir@xen.org> wrote:
> On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>> I'm unclear on exactly what you want to optimise away? Certainly the 8 bytes
>>> per CPU of the poll_port variable isn't worth much optimising effort.
>> 
>> Certainly not (and as you say they are actually needed, even if
>> only rarely). But the pointlessly running timer(s) might be, as might
>> the buffer(s) set up via serial_async_transmit().
> 
> We could delay {init,setup}_postirq until a corresponding serial handle has
> been created via serial_parse_handle()? The logic might be a bit ugly and
> spread across both serial.c and ns16550.c but not actually particularly
> complicated?

I think this can be done entirely in serial.c - serial_init_postirq()
would directly call any drivers that already got a handle parsed
for them, and serial_parse_handle() would need to call
->init_postirq() for any driver that didn't have it called already.
serial_suspend() and serial_resume() should then call drivers only
if they previously had ->init_postirq() called.

I definitely want to avoid putting any part of this into ns16550.c,
as it would need to be replicated for ARM's pl011.c as well as any
future ones (I'm now mostly done with an EHCI debug port driver,
but due to feature freeze won't be able to post this as other than
an RFC any time soon; xHCI appears to also have a debug port,
so in the future that might become a third alternative).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:52:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHzC-0001zP-RK; Fri, 04 May 2012 12:51:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQHzB-0001z8-8Z
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:51:49 +0000
Received: from [193.109.254.147:35767] by server-6.bemta-14.messagelabs.com id
	9A/7F-04960-4E0D3AF4; Fri, 04 May 2012 12:51:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336135898!7627649!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20570 invoked from network); 4 May 2012 12:51:38 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 12:51:38 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 13:51:38 +0100
Message-Id: <4FA3ECF90200007800081A71@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 13:51:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FA3C0A5.7030309@citrix.com>
In-Reply-To: <4FA3C0A5.7030309@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> I know that xen-unstable is on a feature freeze, and this is not
> strictly a bugfix (yet; see below), but as it is safe and designed to
> help clarity in the case of a crash, so I request that it be considered
> for inclusion.
> 
> I have constructed an artificial case where the information reported in
> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
> leaves stale register state written into the offlined CPU crash
> information.  In this case, the information was stale but correct, due
> to the predictable nature of the Xen crash path from the 'C' debug key,
> but there is no guarantee that in the case of a real crash, the same
> will still be true.

Apart from the missing blanks in the for() statement (which could as
well be a simple memset() afaict),
Acked-by: Jan Beulich <jbeulich@suse.com>

I personally would think that this can go in as a bug fix.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 12:52:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 12:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQHzC-0001zP-RK; Fri, 04 May 2012 12:51:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQHzB-0001z8-8Z
	for xen-devel@lists.xen.org; Fri, 04 May 2012 12:51:49 +0000
Received: from [193.109.254.147:35767] by server-6.bemta-14.messagelabs.com id
	9A/7F-04960-4E0D3AF4; Fri, 04 May 2012 12:51:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336135898!7627649!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20570 invoked from network); 4 May 2012 12:51:38 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 12:51:38 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 13:51:38 +0100
Message-Id: <4FA3ECF90200007800081A71@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 13:51:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FA3C0A5.7030309@citrix.com>
In-Reply-To: <4FA3C0A5.7030309@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> I know that xen-unstable is on a feature freeze, and this is not
> strictly a bugfix (yet; see below), but as it is safe and designed to
> help clarity in the case of a crash, so I request that it be considered
> for inclusion.
> 
> I have constructed an artificial case where the information reported in
> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
> leaves stale register state written into the offlined CPU crash
> information.  In this case, the information was stale but correct, due
> to the predictable nature of the Xen crash path from the 'C' debug key,
> but there is no guarantee that in the case of a real crash, the same
> will still be true.

Apart from the missing blanks in the for() statement (which could as
well be a simple memset() afaict),
Acked-by: Jan Beulich <jbeulich@suse.com>

I personally would think that this can go in as a bug fix.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:11:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIHn-0002dt-Nl; Fri, 04 May 2012 13:11:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hahn@univention.de>) id 1SQIHm-0002do-UL
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:11:03 +0000
Received: from [193.109.254.147:58113] by server-8.bemta-14.messagelabs.com id
	23/70-23244-665D3AF4; Fri, 04 May 2012 13:11:02 +0000
X-Env-Sender: hahn@univention.de
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336137059!7658472!1
X-Originating-IP: [82.198.197.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=SUBJECT_EXCESS_QP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10457 invoked from network); 4 May 2012 13:10:59 -0000
Received: from mail.univention.de (HELO mail.univention.de) (82.198.197.8)
	by server-4.tower-27.messagelabs.com with SMTP;
	4 May 2012 13:10:59 -0000
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 22DF7A63113;
	Fri,  4 May 2012 15:10:59 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 0FAC0A63115;
	Fri,  4 May 2012 15:10:59 +0200 (CEST)
X-Virus-Scanned: by amavisd-new-2.6.1 (20080629) (Debian) at knut.univention.de
Received: from mail.univention.de ([127.0.0.1])
	by localhost (slugis.knut.univention.de [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id BENmPa1wAgMC; Fri,  4 May 2012 15:10:58 +0200 (CEST)
Received: from stave.knut.univention.de (port-92-196-73-46.dynamic.qsc.de
	[92.196.73.46])
	by slugis.knut.univention.de (Postfix) with ESMTPSA id 62378A63113;
	Fri,  4 May 2012 15:10:58 +0200 (CEST)
From: Philipp Hahn <hahn@univention.de>
Organization: Univention.de
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 15:10:53 +0200
User-Agent: KMail/1.9.10 (enterprise35 20100903.1171286)
References: <201205041054.04079.hahn@univention.de>
	<4FA3B1C7.4060201@citrix.com>
In-Reply-To: <4FA3B1C7.4060201@citrix.com>
X-KMail-QuotePrefix: > 
MIME-Version: 1.0
Message-Id: <201205041510.56986.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel]
	=?iso-8859-1?q?=5BBUG_2=2E6=2E32=2Ey=5D_Broken_PV_mig?=
	=?iso-8859-1?q?ration_between_hosts_with=09different_uptime=2C_non?=
	=?iso-8859-1?q?-monotonic_time=3F?=
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8699982309584793595=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8699982309584793595==
Content-Type: multipart/signed;
  boundary="nextPart11425697.Xf5rhIgNHA";
  protocol="application/pgp-signature";
  micalg=pgp-sha1
Content-Transfer-Encoding: 7bit

--nextPart11425697.Xf5rhIgNHA
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hello David,

On Friday 04 May 2012 12:39:03 David Vrabel wrote:
> On 04/05/12 09:54, Philipp Hahn wrote:
> > I encountered the following bug when migrating a Linux-2.6.32.54 PV
> > domain on Xen-3.4.3 between different hosts, whose uptime differs by
> > several minutes
=2E..=20
> Xen 3.4 doesn't ensure that the TSC is stable across migrates (Xen 4.0
> does).  If the host CPU has the CONSTANT_TSC bit in the Advanced Power
> Management CPUID leaf it will pass this through to the guest which makes
> the guest think the TSC is stable.
>
> Can you try this libxc patch?
>
> 8<------------------------
> libxc: clear CONSTANT_TSC bit in Advanced Power Management CPUID leaf

Excellent, that fixes the problem for me and makes perfect sense for me, si=
nce=20
AFAIK 2.6.37 also received a big TSC patch which is not part of 2.6.32.y=20
backport.
Thank your for your help.

Sincerely
Philipp Hahn
=2D-=20
Philipp Hahn           Open Source Software Engineer      hahn@univention.de
Univention GmbH        be open.                       fon: +49 421 22 232- 0
Mary-Somerville-Str.1  D-28359 Bremen                 fax: +49 421 22 232-99
                                                   http://www.univention.de/

--nextPart11425697.Xf5rhIgNHA
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAk+j1V0ACgkQYPlgoZpUDjmMJQCfbe8pg8Jae07dV1linaE8Mvbw
7msAoMDZagErQfRoESEI4uO5ToqIsovU
=4Kof
-----END PGP SIGNATURE-----

--nextPart11425697.Xf5rhIgNHA--


--===============8699982309584793595==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8699982309584793595==--


From xen-devel-bounces@lists.xen.org Fri May 04 13:11:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIHn-0002dt-Nl; Fri, 04 May 2012 13:11:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hahn@univention.de>) id 1SQIHm-0002do-UL
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:11:03 +0000
Received: from [193.109.254.147:58113] by server-8.bemta-14.messagelabs.com id
	23/70-23244-665D3AF4; Fri, 04 May 2012 13:11:02 +0000
X-Env-Sender: hahn@univention.de
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336137059!7658472!1
X-Originating-IP: [82.198.197.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=SUBJECT_EXCESS_QP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10457 invoked from network); 4 May 2012 13:10:59 -0000
Received: from mail.univention.de (HELO mail.univention.de) (82.198.197.8)
	by server-4.tower-27.messagelabs.com with SMTP;
	4 May 2012 13:10:59 -0000
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 22DF7A63113;
	Fri,  4 May 2012 15:10:59 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by slugis.knut.univention.de (Postfix) with ESMTP id 0FAC0A63115;
	Fri,  4 May 2012 15:10:59 +0200 (CEST)
X-Virus-Scanned: by amavisd-new-2.6.1 (20080629) (Debian) at knut.univention.de
Received: from mail.univention.de ([127.0.0.1])
	by localhost (slugis.knut.univention.de [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id BENmPa1wAgMC; Fri,  4 May 2012 15:10:58 +0200 (CEST)
Received: from stave.knut.univention.de (port-92-196-73-46.dynamic.qsc.de
	[92.196.73.46])
	by slugis.knut.univention.de (Postfix) with ESMTPSA id 62378A63113;
	Fri,  4 May 2012 15:10:58 +0200 (CEST)
From: Philipp Hahn <hahn@univention.de>
Organization: Univention.de
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 15:10:53 +0200
User-Agent: KMail/1.9.10 (enterprise35 20100903.1171286)
References: <201205041054.04079.hahn@univention.de>
	<4FA3B1C7.4060201@citrix.com>
In-Reply-To: <4FA3B1C7.4060201@citrix.com>
X-KMail-QuotePrefix: > 
MIME-Version: 1.0
Message-Id: <201205041510.56986.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel]
	=?iso-8859-1?q?=5BBUG_2=2E6=2E32=2Ey=5D_Broken_PV_mig?=
	=?iso-8859-1?q?ration_between_hosts_with=09different_uptime=2C_non?=
	=?iso-8859-1?q?-monotonic_time=3F?=
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8699982309584793595=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8699982309584793595==
Content-Type: multipart/signed;
  boundary="nextPart11425697.Xf5rhIgNHA";
  protocol="application/pgp-signature";
  micalg=pgp-sha1
Content-Transfer-Encoding: 7bit

--nextPart11425697.Xf5rhIgNHA
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hello David,

On Friday 04 May 2012 12:39:03 David Vrabel wrote:
> On 04/05/12 09:54, Philipp Hahn wrote:
> > I encountered the following bug when migrating a Linux-2.6.32.54 PV
> > domain on Xen-3.4.3 between different hosts, whose uptime differs by
> > several minutes
=2E..=20
> Xen 3.4 doesn't ensure that the TSC is stable across migrates (Xen 4.0
> does).  If the host CPU has the CONSTANT_TSC bit in the Advanced Power
> Management CPUID leaf it will pass this through to the guest which makes
> the guest think the TSC is stable.
>
> Can you try this libxc patch?
>
> 8<------------------------
> libxc: clear CONSTANT_TSC bit in Advanced Power Management CPUID leaf

Excellent, that fixes the problem for me and makes perfect sense for me, si=
nce=20
AFAIK 2.6.37 also received a big TSC patch which is not part of 2.6.32.y=20
backport.
Thank your for your help.

Sincerely
Philipp Hahn
=2D-=20
Philipp Hahn           Open Source Software Engineer      hahn@univention.de
Univention GmbH        be open.                       fon: +49 421 22 232- 0
Mary-Somerville-Str.1  D-28359 Bremen                 fax: +49 421 22 232-99
                                                   http://www.univention.de/

--nextPart11425697.Xf5rhIgNHA
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAk+j1V0ACgkQYPlgoZpUDjmMJQCfbe8pg8Jae07dV1linaE8Mvbw
7msAoMDZagErQfRoESEI4uO5ToqIsovU
=4Kof
-----END PGP SIGNATURE-----

--nextPart11425697.Xf5rhIgNHA--


--===============8699982309584793595==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8699982309584793595==--


From xen-devel-bounces@lists.xen.org Fri May 04 13:18:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:18:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIP5-0002ny-NK; Fri, 04 May 2012 13:18:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQIP4-0002nt-I4
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:18:34 +0000
Received: from [85.158.138.51:33186] by server-9.bemta-3.messagelabs.com id
	1F/B1-26691-927D3AF4; Fri, 04 May 2012 13:18:33 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336137511!18890778!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22235 invoked from network); 4 May 2012 13:18:32 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:18:32 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44DISrE001437
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 13:18:29 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44DISWl023496
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 13:18:28 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44DISbq027665; Fri, 4 May 2012 08:18:28 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 06:18:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8A5194031D; Fri,  4 May 2012 09:12:44 -0400 (EDT)
Date: Fri, 4 May 2012 09:12:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Wu, GabrielX" <gabrielx.wu@intel.com>
Message-ID: <20120504131244.GA26418@phenom.dumpdata.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 10:06:26AM +0000, Wu, GabrielX wrote:
> Hi all,
> 
> This is the test report of xen-unstable tree. There are one bug found.
> 
> Version Info:
> =================================================================
> xen-changeset:   25256
> Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...) 

Please update your dom0.
> =================================================================
> 
> New issue(1)
> ==============
> 1. cpu weight out of range error when create hvm domU
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818

And what is the guest config? Does it have any cpu weights?
> 
> Fixed issue(0)
> ==============
> 
> Old issues(8)
> ==============
> 1. [ACPI] System cann't resume after do suspend
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707

That shouldn't be a surprise. The patches for that are not yet
in the mainline.

> 2. [XL]"xl vcpu-set" causes dom0 crash or panic

This should be fixed with 3.4-rc5.

>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> 3. [VT-D]fail to detach NIC from guest

Hmm, the last update is from a year ago. Are you sure this
is an issue?

>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747

the bug talks about 2.6.32. Can you update it to include the
3.4 (or 3.3) dmesg output?

> 5. [VT-D] device reset fail when create/destroy guest
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752

Does this happen if you manually echo 1 > ../reset? And is this
an issue with the kernel if you upgrade it to 3.4-rc5?

> 6. when detaching a VF from hvm guest, "xl dmesg" will show some warning information
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809

.. Not sure about that.

> 7. RHEL6.2/6.1 guest runs quite slow
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811

Is the issue present when using an LVM disk?

> 8. after detaching a VF from a guest, shutdown the guest is very slow
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812

Where does it slow down? When bringing the NIC down or in specific cases?
Is this an issue with if you are using a different guest (say Fedora Core 16?)

> 
> Thanks,
> Wu Ronghui(Gabriel)
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:18:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:18:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIP5-0002ny-NK; Fri, 04 May 2012 13:18:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQIP4-0002nt-I4
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:18:34 +0000
Received: from [85.158.138.51:33186] by server-9.bemta-3.messagelabs.com id
	1F/B1-26691-927D3AF4; Fri, 04 May 2012 13:18:33 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336137511!18890778!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22235 invoked from network); 4 May 2012 13:18:32 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:18:32 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44DISrE001437
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 13:18:29 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44DISWl023496
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 13:18:28 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44DISbq027665; Fri, 4 May 2012 08:18:28 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 06:18:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8A5194031D; Fri,  4 May 2012 09:12:44 -0400 (EDT)
Date: Fri, 4 May 2012 09:12:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Wu, GabrielX" <gabrielx.wu@intel.com>
Message-ID: <20120504131244.GA26418@phenom.dumpdata.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 10:06:26AM +0000, Wu, GabrielX wrote:
> Hi all,
> 
> This is the test report of xen-unstable tree. There are one bug found.
> 
> Version Info:
> =================================================================
> xen-changeset:   25256
> Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...) 

Please update your dom0.
> =================================================================
> 
> New issue(1)
> ==============
> 1. cpu weight out of range error when create hvm domU
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818

And what is the guest config? Does it have any cpu weights?
> 
> Fixed issue(0)
> ==============
> 
> Old issues(8)
> ==============
> 1. [ACPI] System cann't resume after do suspend
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707

That shouldn't be a surprise. The patches for that are not yet
in the mainline.

> 2. [XL]"xl vcpu-set" causes dom0 crash or panic

This should be fixed with 3.4-rc5.

>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> 3. [VT-D]fail to detach NIC from guest

Hmm, the last update is from a year ago. Are you sure this
is an issue?

>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747

the bug talks about 2.6.32. Can you update it to include the
3.4 (or 3.3) dmesg output?

> 5. [VT-D] device reset fail when create/destroy guest
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752

Does this happen if you manually echo 1 > ../reset? And is this
an issue with the kernel if you upgrade it to 3.4-rc5?

> 6. when detaching a VF from hvm guest, "xl dmesg" will show some warning information
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809

.. Not sure about that.

> 7. RHEL6.2/6.1 guest runs quite slow
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811

Is the issue present when using an LVM disk?

> 8. after detaching a VF from a guest, shutdown the guest is very slow
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812

Where does it slow down? When bringing the NIC down or in specific cases?
Is this an issue with if you are using a different guest (say Fedora Core 16?)

> 
> Thanks,
> Wu Ronghui(Gabriel)
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:20:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:20:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIQz-0002sl-7R; Fri, 04 May 2012 13:20:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQIQx-0002sH-Ux
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:20:32 +0000
Received: from [85.158.139.83:20632] by server-2.bemta-5.messagelabs.com id
	18/EF-17016-F97D3AF4; Fri, 04 May 2012 13:20:31 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336137615!22509010!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16306 invoked from network); 4 May 2012 13:20:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:20:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24863443"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:20:14 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:20:14 -0400
Message-ID: <4FA3D78D.3000201@citrix.com>
Date: Fri, 4 May 2012 14:20:13 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Philipp Hahn <hahn@univention.de>
References: <201205041054.04079.hahn@univention.de>
	<4FA3B1C7.4060201@citrix.com>
	<201205041510.56986.hahn@univention.de>
In-Reply-To: <201205041510.56986.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [BUG 2.6.32.y] Broken PV migration between hosts
 with	different uptime, non-monotonic time?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 14:10, Philipp Hahn wrote:
> Hello David,
> 
> On Friday 04 May 2012 12:39:03 David Vrabel wrote:
>> On 04/05/12 09:54, Philipp Hahn wrote:
>>> I encountered the following bug when migrating a Linux-2.6.32.54 PV
>>> domain on Xen-3.4.3 between different hosts, whose uptime differs by
>>> several minutes
> ... 
>> Xen 3.4 doesn't ensure that the TSC is stable across migrates (Xen 4.0
>> does).  If the host CPU has the CONSTANT_TSC bit in the Advanced Power
>> Management CPUID leaf it will pass this through to the guest which makes
>> the guest think the TSC is stable.
>>
>> Can you try this libxc patch?
>>
>> 8<------------------------
>> libxc: clear CONSTANT_TSC bit in Advanced Power Management CPUID leaf
> 
> Excellent, that fixes the problem for me and makes perfect sense for me, since 
> AFAIK 2.6.37 also received a big TSC patch which is not part of 2.6.32.y 
> backport.

Thanks for testing! I could never repro the migration failures.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:20:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:20:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIQz-0002sl-7R; Fri, 04 May 2012 13:20:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQIQx-0002sH-Ux
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:20:32 +0000
Received: from [85.158.139.83:20632] by server-2.bemta-5.messagelabs.com id
	18/EF-17016-F97D3AF4; Fri, 04 May 2012 13:20:31 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336137615!22509010!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16306 invoked from network); 4 May 2012 13:20:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:20:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24863443"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 09:20:14 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	09:20:14 -0400
Message-ID: <4FA3D78D.3000201@citrix.com>
Date: Fri, 4 May 2012 14:20:13 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Philipp Hahn <hahn@univention.de>
References: <201205041054.04079.hahn@univention.de>
	<4FA3B1C7.4060201@citrix.com>
	<201205041510.56986.hahn@univention.de>
In-Reply-To: <201205041510.56986.hahn@univention.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [BUG 2.6.32.y] Broken PV migration between hosts
 with	different uptime, non-monotonic time?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 14:10, Philipp Hahn wrote:
> Hello David,
> 
> On Friday 04 May 2012 12:39:03 David Vrabel wrote:
>> On 04/05/12 09:54, Philipp Hahn wrote:
>>> I encountered the following bug when migrating a Linux-2.6.32.54 PV
>>> domain on Xen-3.4.3 between different hosts, whose uptime differs by
>>> several minutes
> ... 
>> Xen 3.4 doesn't ensure that the TSC is stable across migrates (Xen 4.0
>> does).  If the host CPU has the CONSTANT_TSC bit in the Advanced Power
>> Management CPUID leaf it will pass this through to the guest which makes
>> the guest think the TSC is stable.
>>
>> Can you try this libxc patch?
>>
>> 8<------------------------
>> libxc: clear CONSTANT_TSC bit in Advanced Power Management CPUID leaf
> 
> Excellent, that fixes the problem for me and makes perfect sense for me, since 
> AFAIK 2.6.37 also received a big TSC patch which is not part of 2.6.32.y 
> backport.

Thanks for testing! I could never repro the migration failures.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIW3-0003G1-8a; Fri, 04 May 2012 13:25:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQIW2-0003Fu-I3
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:25:46 +0000
Received: from [85.158.143.99:29512] by server-1.bemta-4.messagelabs.com id
	0D/A7-20925-9D8D3AF4; Fri, 04 May 2012 13:25:45 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336137945!20125463!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26836 invoked from network); 4 May 2012 13:25:45 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:25:45 -0000
Received: by eaaf11 with SMTP id f11so911577eaa.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 06:25:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=m18v0rz50lq05azXC4Sv8+6FdkOrR57IkzDQxjUL3gQ=;
	b=QYEIybGKeKcLgg5skgsquN7Fxrs5ulegZgG+zk6CW5+yhoXLhsp2E07RDbKjXswLf6
	xc/zxiOVQpdJWTI4Gr7Rk2mGfxXv6cKCASpun23odWcuicRR1R+DDj2u7mU+3oh+YOFR
	yfPj01Ty0kmpxc4hdf+zsLa1pFjZ8tk3buyipSGsYqQeDvrpz+rNoYTTm8Gp42cW+svZ
	u/VOiIAyNqP725hO/VMZa/+7Cux06NI2wwTLUporQJs3AIl87PsTnbDi0hx25HQDfaBO
	4Be4+KJY5MHqnUu/mqmU49yNhayZ6hJGB4v0KEubXjvQIK966TfKPHWl0ALS+S/Ql16D
	e/aA==
Received: by 10.213.113.20 with SMTP id y20mr483437ebp.37.1336137943912;
	Fri, 04 May 2012 06:25:43 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id u10sm25786871eem.1.2012.05.04.06.25.42
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 06:25:43 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 14:25:40 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBC99764.325A1%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86/MSI: remove stray endianness definition
Thread-Index: Ac0p+WYX1PeZYNBT+ECmgZYc6fFZrA==
In-Reply-To: <4FA3E9530200007800081A2F@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86/MSI: remove stray endianness definition
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 13:36, "Jan Beulich" <JBeulich@suse.com> wrote:

> ... as it conflicts with the one made in asm/byteorder.h, and hence
> build fails when both happen to be included from the same source file.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/include/asm-x86/msi.h
> +++ b/xen/include/asm-x86/msi.h
> @@ -3,6 +3,7 @@
>  
>  #include <xen/cpumask.h>
>  #include <xen/pci.h>
> +#include <asm/byteorder.h>
>  
>  /*
>   * Constants for Intel APIC based MSI messages.
> @@ -165,8 +166,6 @@ int msi_free_irq(struct msi_desc *entry)
>  #define MSI_LOGICAL_MODE  1
>  #define MSI_REDIRECTION_HINT_MODE 0
>  
> -#define __LITTLE_ENDIAN_BITFIELD 1
> -
>  struct msg_data {
>  #if defined(__LITTLE_ENDIAN_BITFIELD)
> __u32 vector  :  8;
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIW3-0003G1-8a; Fri, 04 May 2012 13:25:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQIW2-0003Fu-I3
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:25:46 +0000
Received: from [85.158.143.99:29512] by server-1.bemta-4.messagelabs.com id
	0D/A7-20925-9D8D3AF4; Fri, 04 May 2012 13:25:45 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336137945!20125463!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26836 invoked from network); 4 May 2012 13:25:45 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:25:45 -0000
Received: by eaaf11 with SMTP id f11so911577eaa.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 06:25:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=m18v0rz50lq05azXC4Sv8+6FdkOrR57IkzDQxjUL3gQ=;
	b=QYEIybGKeKcLgg5skgsquN7Fxrs5ulegZgG+zk6CW5+yhoXLhsp2E07RDbKjXswLf6
	xc/zxiOVQpdJWTI4Gr7Rk2mGfxXv6cKCASpun23odWcuicRR1R+DDj2u7mU+3oh+YOFR
	yfPj01Ty0kmpxc4hdf+zsLa1pFjZ8tk3buyipSGsYqQeDvrpz+rNoYTTm8Gp42cW+svZ
	u/VOiIAyNqP725hO/VMZa/+7Cux06NI2wwTLUporQJs3AIl87PsTnbDi0hx25HQDfaBO
	4Be4+KJY5MHqnUu/mqmU49yNhayZ6hJGB4v0KEubXjvQIK966TfKPHWl0ALS+S/Ql16D
	e/aA==
Received: by 10.213.113.20 with SMTP id y20mr483437ebp.37.1336137943912;
	Fri, 04 May 2012 06:25:43 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id u10sm25786871eem.1.2012.05.04.06.25.42
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 06:25:43 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 14:25:40 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBC99764.325A1%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86/MSI: remove stray endianness definition
Thread-Index: Ac0p+WYX1PeZYNBT+ECmgZYc6fFZrA==
In-Reply-To: <4FA3E9530200007800081A2F@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86/MSI: remove stray endianness definition
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 13:36, "Jan Beulich" <JBeulich@suse.com> wrote:

> ... as it conflicts with the one made in asm/byteorder.h, and hence
> build fails when both happen to be included from the same source file.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/include/asm-x86/msi.h
> +++ b/xen/include/asm-x86/msi.h
> @@ -3,6 +3,7 @@
>  
>  #include <xen/cpumask.h>
>  #include <xen/pci.h>
> +#include <asm/byteorder.h>
>  
>  /*
>   * Constants for Intel APIC based MSI messages.
> @@ -165,8 +166,6 @@ int msi_free_irq(struct msi_desc *entry)
>  #define MSI_LOGICAL_MODE  1
>  #define MSI_REDIRECTION_HINT_MODE 0
>  
> -#define __LITTLE_ENDIAN_BITFIELD 1
> -
>  struct msg_data {
>  #if defined(__LITTLE_ENDIAN_BITFIELD)
> __u32 vector  :  8;
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:26:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIWv-0003J6-Ma; Fri, 04 May 2012 13:26:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQIWu-0003Iv-2S
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 13:26:40 +0000
Received: from [85.158.138.51:37858] by server-9.bemta-3.messagelabs.com id
	66/EB-26691-C09D3AF4; Fri, 04 May 2012 13:26:36 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336137994!21206908!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17810 invoked from network); 4 May 2012 13:26:36 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:26:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44DQVGI009440
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 13:26:31 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44DQUMN025213
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 13:26:30 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44DQU5P000828; Fri, 4 May 2012 08:26:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 06:26:30 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C99C24031D; Fri,  4 May 2012 09:20:46 -0400 (EDT)
Date: Fri, 4 May 2012 09:20:46 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
Message-ID: <20120504132046.GD26418@phenom.dumpdata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> When PCIE device which has LTR/OBFF capabilities is owned by pciback, LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that guest with device assigned can be benefitted.
> 
> Changes from v1:
> - put the variable definition at the start of function
> - add error log report
> 

Don't you need to disable this when the device is un-assigned from the guest?

> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index 097e536..74fbf23 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
>  	struct xen_pcibk_dev_data *dev_data;
>  	int err = 0;
>  
> +	/* set default value */
> +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;

Why these values? Is there a way to fetch optimal values?
> +
>  	dev_dbg(&dev->dev, "initializing...\n");
>  
>  	/* The PCI backend is not intended to be a module (or to work with
> @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
>  	dev_dbg(&dev->dev, "reset device\n");
>  	xen_pcibk_reset_device(dev);
>  
> +	/* Enable LTR and OBFF before do device assignment */
> +	/* LTR(Latency tolerance reporting) allows devices to send
> +	 * messages to the root complex indicating their latency tolerance
> +	 * for snooped & unsnooped memory transactions.
> +	 */
> +	err = pci_enable_ltr(dev);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> +
> +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> +	if (err)
> +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> +
> +	/* OBFF (optimized buffer flush/fill), where supported, can help
> +	 * improve energy efficiency by giving devices information about
> +	 * when interrupts and other activity will have a reduced power
> +	 * impact.
> +	 */
> +	err = pci_enable_obff(dev, type);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> +
>  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
>  	return 0;
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:26:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIWv-0003J6-Ma; Fri, 04 May 2012 13:26:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQIWu-0003Iv-2S
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 13:26:40 +0000
Received: from [85.158.138.51:37858] by server-9.bemta-3.messagelabs.com id
	66/EB-26691-C09D3AF4; Fri, 04 May 2012 13:26:36 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336137994!21206908!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17810 invoked from network); 4 May 2012 13:26:36 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:26:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44DQVGI009440
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 13:26:31 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44DQUMN025213
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 13:26:30 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44DQU5P000828; Fri, 4 May 2012 08:26:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 06:26:30 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C99C24031D; Fri,  4 May 2012 09:20:46 -0400 (EDT)
Date: Fri, 4 May 2012 09:20:46 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
Message-ID: <20120504132046.GD26418@phenom.dumpdata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> When PCIE device which has LTR/OBFF capabilities is owned by pciback, LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that guest with device assigned can be benefitted.
> 
> Changes from v1:
> - put the variable definition at the start of function
> - add error log report
> 

Don't you need to disable this when the device is un-assigned from the guest?

> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index 097e536..74fbf23 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
>  	struct xen_pcibk_dev_data *dev_data;
>  	int err = 0;
>  
> +	/* set default value */
> +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;

Why these values? Is there a way to fetch optimal values?
> +
>  	dev_dbg(&dev->dev, "initializing...\n");
>  
>  	/* The PCI backend is not intended to be a module (or to work with
> @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct pci_dev *dev)
>  	dev_dbg(&dev->dev, "reset device\n");
>  	xen_pcibk_reset_device(dev);
>  
> +	/* Enable LTR and OBFF before do device assignment */
> +	/* LTR(Latency tolerance reporting) allows devices to send
> +	 * messages to the root complex indicating their latency tolerance
> +	 * for snooped & unsnooped memory transactions.
> +	 */
> +	err = pci_enable_ltr(dev);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> +
> +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> +	if (err)
> +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> +
> +	/* OBFF (optimized buffer flush/fill), where supported, can help
> +	 * improve energy efficiency by giving devices information about
> +	 * when interrupts and other activity will have a reduced power
> +	 * impact.
> +	 */
> +	err = pci_enable_obff(dev, type);
> +	if (err)
> +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> +
>  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
>  	return 0;
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:27:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIXU-0003Mk-48; Fri, 04 May 2012 13:27:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQIXS-0003MV-5q
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:27:14 +0000
Received: from [85.158.143.35:44624] by server-2.bemta-4.messagelabs.com id
	AD/FF-17550-039D3AF4; Fri, 04 May 2012 13:27:12 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336138031!12682125!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8564 invoked from network); 4 May 2012 13:27:11 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:27:11 -0000
Received: by eaaf11 with SMTP id f11so912105eaa.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 06:27:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=GhtzIXCHlM0VrscpG0mw/ecXZ+LNlDmhm0EWFIbSu+s=;
	b=Fs8hw8f0UDS8US6vAsdIVaxjSXIwpBZO++n6EuPIb/NzzpB9WDlHZNU1hN8eyKu8XL
	7QVfLnluyktK0eS9+vdR4NSMGc/ACO9UyArlPBra8RKp5NaQADL6jlSaaH+Zds2Tqysn
	YaIaH2RAvbl2Z6TY8IREIQ2zObw7GC5bitCu+/IVV1l1GtcntJ9jzkL4JKk3q5QtPY7b
	/LYVA8LRfbaPi28uBbyMKp3dt/ZO5+e8glJsqyPU8RL240oPfzvUmSX//GooDuSQKmpf
	oqQVly2kvVxKI1BJZ662dAmBdZIKpnAgXXKp1vSrfxPZH9w4UnB1tck38OhV/DoxlJfr
	oa0w==
Received: by 10.14.95.131 with SMTP id p3mr1139567eef.75.1336138030959;
	Fri, 04 May 2012 06:27:10 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id s54sm12932235eeb.4.2012.05.04.06.27.09
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 06:27:10 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 14:27:03 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC997B7.325A2%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p+ZePRBwmIx2VskqK62N/W2PmeA==
In-Reply-To: <4FA3EBC90200007800081A5E@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 13:46, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 04.05.12 at 14:03, Keir Fraser <keir@xen.org> wrote:
>> On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:
>> 
>>>> I'm unclear on exactly what you want to optimise away? Certainly the 8
>>>> bytes
>>>> per CPU of the poll_port variable isn't worth much optimising effort.
>>> 
>>> Certainly not (and as you say they are actually needed, even if
>>> only rarely). But the pointlessly running timer(s) might be, as might
>>> the buffer(s) set up via serial_async_transmit().
>> 
>> We could delay {init,setup}_postirq until a corresponding serial handle has
>> been created via serial_parse_handle()? The logic might be a bit ugly and
>> spread across both serial.c and ns16550.c but not actually particularly
>> complicated?
> 
> I think this can be done entirely in serial.c - serial_init_postirq()
> would directly call any drivers that already got a handle parsed
> for them, and serial_parse_handle() would need to call
> ->init_postirq() for any driver that didn't have it called already.
> serial_suspend() and serial_resume() should then call drivers only
> if they previously had ->init_postirq() called.

Ah yes, that would work. Feel free to make a patch.

 -- Keir

> I definitely want to avoid putting any part of this into ns16550.c,
> as it would need to be replicated for ARM's pl011.c as well as any
> future ones (I'm now mostly done with an EHCI debug port driver,
> but due to feature freeze won't be able to post this as other than
> an RFC any time soon; xHCI appears to also have a debug port,
> so in the future that might become a third alternative).
> 
> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:27:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIXU-0003Mk-48; Fri, 04 May 2012 13:27:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQIXS-0003MV-5q
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:27:14 +0000
Received: from [85.158.143.35:44624] by server-2.bemta-4.messagelabs.com id
	AD/FF-17550-039D3AF4; Fri, 04 May 2012 13:27:12 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336138031!12682125!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8564 invoked from network); 4 May 2012 13:27:11 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:27:11 -0000
Received: by eaaf11 with SMTP id f11so912105eaa.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 06:27:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=GhtzIXCHlM0VrscpG0mw/ecXZ+LNlDmhm0EWFIbSu+s=;
	b=Fs8hw8f0UDS8US6vAsdIVaxjSXIwpBZO++n6EuPIb/NzzpB9WDlHZNU1hN8eyKu8XL
	7QVfLnluyktK0eS9+vdR4NSMGc/ACO9UyArlPBra8RKp5NaQADL6jlSaaH+Zds2Tqysn
	YaIaH2RAvbl2Z6TY8IREIQ2zObw7GC5bitCu+/IVV1l1GtcntJ9jzkL4JKk3q5QtPY7b
	/LYVA8LRfbaPi28uBbyMKp3dt/ZO5+e8glJsqyPU8RL240oPfzvUmSX//GooDuSQKmpf
	oqQVly2kvVxKI1BJZ662dAmBdZIKpnAgXXKp1vSrfxPZH9w4UnB1tck38OhV/DoxlJfr
	oa0w==
Received: by 10.14.95.131 with SMTP id p3mr1139567eef.75.1336138030959;
	Fri, 04 May 2012 06:27:10 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id s54sm12932235eeb.4.2012.05.04.06.27.09
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 06:27:10 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 14:27:03 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC997B7.325A2%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p+ZePRBwmIx2VskqK62N/W2PmeA==
In-Reply-To: <4FA3EBC90200007800081A5E@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 13:46, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 04.05.12 at 14:03, Keir Fraser <keir@xen.org> wrote:
>> On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:
>> 
>>>> I'm unclear on exactly what you want to optimise away? Certainly the 8
>>>> bytes
>>>> per CPU of the poll_port variable isn't worth much optimising effort.
>>> 
>>> Certainly not (and as you say they are actually needed, even if
>>> only rarely). But the pointlessly running timer(s) might be, as might
>>> the buffer(s) set up via serial_async_transmit().
>> 
>> We could delay {init,setup}_postirq until a corresponding serial handle has
>> been created via serial_parse_handle()? The logic might be a bit ugly and
>> spread across both serial.c and ns16550.c but not actually particularly
>> complicated?
> 
> I think this can be done entirely in serial.c - serial_init_postirq()
> would directly call any drivers that already got a handle parsed
> for them, and serial_parse_handle() would need to call
> ->init_postirq() for any driver that didn't have it called already.
> serial_suspend() and serial_resume() should then call drivers only
> if they previously had ->init_postirq() called.

Ah yes, that would work. Feel free to make a patch.

 -- Keir

> I definitely want to avoid putting any part of this into ns16550.c,
> as it would need to be replicated for ARM's pl011.c as well as any
> future ones (I'm now mostly done with an EHCI debug port driver,
> but due to feature freeze won't be able to post this as other than
> an RFC any time soon; xHCI appears to also have a debug port,
> so in the future that might become a third alternative).
> 
> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:30:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIaJ-0003aF-MV; Fri, 04 May 2012 13:30:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQIaI-0003a8-5G
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 13:30:10 +0000
Received: from [85.158.143.35:28860] by server-3.bemta-4.messagelabs.com id
	FB/DE-05853-1E9D3AF4; Fri, 04 May 2012 13:30:09 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336138206!14733858!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19874 invoked from network); 4 May 2012 13:30:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:30:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12298981"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 13:30:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 14:30:06 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SQIaE-00020X-7J;
	Fri, 04 May 2012 13:30:06 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Fri, 4 May 2012 14:29:46 +0100
Message-ID: <1336138186-11423-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: linux-pci@vger.kernel.org, x86@kernel.org,
	David Vrabel <david.vrabel@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH v2] x86, xen,
	pci: don't use PCI BIOS service for configuration space accesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The accessing PCI configuration space with the PCI BIOS32 service does
not work in PV guests.

On systems without MMCONFIG or where the BIOS hasn't marked the
MMCONFIG region as reserved in the e820 map, the BIOS service is
probed (even though direct access is preferred) and this hangs.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
Changes in v2:
- improve commit message

---
 arch/x86/xen/enlighten.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..7ce2c78 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -63,6 +63,7 @@
 #include <asm/stackprotector.h>
 #include <asm/hypervisor.h>
 #include <asm/mwait.h>
+#include <asm/pci_x86.h>
 
 #ifdef CONFIG_ACPI
 #include <linux/acpi.h>
@@ -1365,7 +1366,9 @@ asmlinkage void __init xen_start_kernel(void)
 		/* Make sure ACS will be enabled */
 		pci_request_acs();
 	}
-		
+
+	/* PCI BIOS service won't work from a PV guest. */
+	pci_probe &= ~PCI_PROBE_BIOS;
 
 	xen_raw_console_write("about to get started...\n");
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:30:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIaJ-0003aF-MV; Fri, 04 May 2012 13:30:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQIaI-0003a8-5G
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 13:30:10 +0000
Received: from [85.158.143.35:28860] by server-3.bemta-4.messagelabs.com id
	FB/DE-05853-1E9D3AF4; Fri, 04 May 2012 13:30:09 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336138206!14733858!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19874 invoked from network); 4 May 2012 13:30:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:30:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12298981"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 13:30:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 14:30:06 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SQIaE-00020X-7J;
	Fri, 04 May 2012 13:30:06 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Fri, 4 May 2012 14:29:46 +0100
Message-ID: <1336138186-11423-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: linux-pci@vger.kernel.org, x86@kernel.org,
	David Vrabel <david.vrabel@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH v2] x86, xen,
	pci: don't use PCI BIOS service for configuration space accesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The accessing PCI configuration space with the PCI BIOS32 service does
not work in PV guests.

On systems without MMCONFIG or where the BIOS hasn't marked the
MMCONFIG region as reserved in the e820 map, the BIOS service is
probed (even though direct access is preferred) and this hangs.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
Changes in v2:
- improve commit message

---
 arch/x86/xen/enlighten.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..7ce2c78 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -63,6 +63,7 @@
 #include <asm/stackprotector.h>
 #include <asm/hypervisor.h>
 #include <asm/mwait.h>
+#include <asm/pci_x86.h>
 
 #ifdef CONFIG_ACPI
 #include <linux/acpi.h>
@@ -1365,7 +1366,9 @@ asmlinkage void __init xen_start_kernel(void)
 		/* Make sure ACS will be enabled */
 		pci_request_acs();
 	}
-		
+
+	/* PCI BIOS service won't work from a PV guest. */
+	pci_probe &= ~PCI_PROBE_BIOS;
 
 	xen_raw_console_write("about to get started...\n");
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:55:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIyd-0004cK-4U; Fri, 04 May 2012 13:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQIyb-0004cC-KF
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:55:17 +0000
Received: from [85.158.138.51:12516] by server-6.bemta-3.messagelabs.com id
	44/2C-05145-4CFD3AF4; Fri, 04 May 2012 13:55:16 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336139715!19220493!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12791 invoked from network); 4 May 2012 13:55:15 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:55:15 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 14:55:14 +0100
Message-Id: <4FA3FBE10200007800081ABA@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 14:55:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FA3EBC90200007800081A5E@nat28.tlf.novell.com>
	<CBC997B7.325A2%keir.xen@gmail.com>
In-Reply-To: <CBC997B7.325A2%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 15:27, Keir Fraser <keir.xen@gmail.com> wrote:
> On 04/05/2012 13:46, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>>>> On 04.05.12 at 14:03, Keir Fraser <keir@xen.org> wrote:
>>> On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:
>>> 
>>>>> I'm unclear on exactly what you want to optimise away? Certainly the 8
>>>>> bytes
>>>>> per CPU of the poll_port variable isn't worth much optimising effort.
>>>> 
>>>> Certainly not (and as you say they are actually needed, even if
>>>> only rarely). But the pointlessly running timer(s) might be, as might
>>>> the buffer(s) set up via serial_async_transmit().
>>> 
>>> We could delay {init,setup}_postirq until a corresponding serial handle has
>>> been created via serial_parse_handle()? The logic might be a bit ugly and
>>> spread across both serial.c and ns16550.c but not actually particularly
>>> complicated?
>> 
>> I think this can be done entirely in serial.c - serial_init_postirq()
>> would directly call any drivers that already got a handle parsed
>> for them, and serial_parse_handle() would need to call
>> ->init_postirq() for any driver that didn't have it called already.
>> serial_suspend() and serial_resume() should then call drivers only
>> if they previously had ->init_postirq() called.
> 
> Ah yes, that would work. Feel free to make a patch.

That'll be on top of the other post-4.2 changes I'm in the process
of piling up, as this isn't really a bug fix.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:55:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQIyd-0004cK-4U; Fri, 04 May 2012 13:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQIyb-0004cC-KF
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:55:17 +0000
Received: from [85.158.138.51:12516] by server-6.bemta-3.messagelabs.com id
	44/2C-05145-4CFD3AF4; Fri, 04 May 2012 13:55:16 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336139715!19220493!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12791 invoked from network); 4 May 2012 13:55:15 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:55:15 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 14:55:14 +0100
Message-Id: <4FA3FBE10200007800081ABA@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 14:55:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FA3EBC90200007800081A5E@nat28.tlf.novell.com>
	<CBC997B7.325A2%keir.xen@gmail.com>
In-Reply-To: <CBC997B7.325A2%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 15:27, Keir Fraser <keir.xen@gmail.com> wrote:
> On 04/05/2012 13:46, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>>>> On 04.05.12 at 14:03, Keir Fraser <keir@xen.org> wrote:
>>> On 04/05/2012 12:05, "Jan Beulich" <JBeulich@suse.com> wrote:
>>> 
>>>>> I'm unclear on exactly what you want to optimise away? Certainly the 8
>>>>> bytes
>>>>> per CPU of the poll_port variable isn't worth much optimising effort.
>>>> 
>>>> Certainly not (and as you say they are actually needed, even if
>>>> only rarely). But the pointlessly running timer(s) might be, as might
>>>> the buffer(s) set up via serial_async_transmit().
>>> 
>>> We could delay {init,setup}_postirq until a corresponding serial handle has
>>> been created via serial_parse_handle()? The logic might be a bit ugly and
>>> spread across both serial.c and ns16550.c but not actually particularly
>>> complicated?
>> 
>> I think this can be done entirely in serial.c - serial_init_postirq()
>> would directly call any drivers that already got a handle parsed
>> for them, and serial_parse_handle() would need to call
>> ->init_postirq() for any driver that didn't have it called already.
>> serial_suspend() and serial_resume() should then call drivers only
>> if they previously had ->init_postirq() called.
> 
> Ah yes, that would work. Feel free to make a patch.

That'll be on top of the other post-4.2 changes I'm in the process
of piling up, as this isn't really a bug fix.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:58:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJ1L-0004jI-N5; Fri, 04 May 2012 13:58:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQJ1K-0004jD-26
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:58:06 +0000
Received: from [85.158.138.51:56664] by server-8.bemta-3.messagelabs.com id
	6C/4E-24428-D60E3AF4; Fri, 04 May 2012 13:58:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336139884!19221002!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23905 invoked from network); 4 May 2012 13:58:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:58:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 14:58:03 +0100
Message-Id: <4FA3FC8A0200007800081AC3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 14:58:02 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336138186-11423-1-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1336138186-11423-1-git-send-email-david.vrabel@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: linux-pci@vger.kernel.org, x86@kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] x86, xen,
 pci: don't use PCI BIOS service for configuration space accesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 15:29, David Vrabel <david.vrabel@citrix.com> wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> The accessing PCI configuration space with the PCI BIOS32 service does
> not work in PV guests.
> 
> On systems without MMCONFIG or where the BIOS hasn't marked the
> MMCONFIG region as reserved in the e820 map, the BIOS service is
> probed (even though direct access is preferred) and this hangs.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

> ---
> Changes in v2:
> - improve commit message
> 
> ---
>  arch/x86/xen/enlighten.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..7ce2c78 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -63,6 +63,7 @@
>  #include <asm/stackprotector.h>
>  #include <asm/hypervisor.h>
>  #include <asm/mwait.h>
> +#include <asm/pci_x86.h>
>  
>  #ifdef CONFIG_ACPI
>  #include <linux/acpi.h>
> @@ -1365,7 +1366,9 @@ asmlinkage void __init xen_start_kernel(void)
>  		/* Make sure ACS will be enabled */
>  		pci_request_acs();
>  	}
> -		
> +
> +	/* PCI BIOS service won't work from a PV guest. */
> +	pci_probe &= ~PCI_PROBE_BIOS;
>  
>  	xen_raw_console_write("about to get started...\n");
>  
> -- 
> 1.7.2.5
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 13:58:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 13:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJ1L-0004jI-N5; Fri, 04 May 2012 13:58:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQJ1K-0004jD-26
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:58:06 +0000
Received: from [85.158.138.51:56664] by server-8.bemta-3.messagelabs.com id
	6C/4E-24428-D60E3AF4; Fri, 04 May 2012 13:58:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336139884!19221002!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23905 invoked from network); 4 May 2012 13:58:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 13:58:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 14:58:03 +0100
Message-Id: <4FA3FC8A0200007800081AC3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 14:58:02 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336138186-11423-1-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1336138186-11423-1-git-send-email-david.vrabel@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: linux-pci@vger.kernel.org, x86@kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] x86, xen,
 pci: don't use PCI BIOS service for configuration space accesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 15:29, David Vrabel <david.vrabel@citrix.com> wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> The accessing PCI configuration space with the PCI BIOS32 service does
> not work in PV guests.
> 
> On systems without MMCONFIG or where the BIOS hasn't marked the
> MMCONFIG region as reserved in the e820 map, the BIOS service is
> probed (even though direct access is preferred) and this hangs.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

> ---
> Changes in v2:
> - improve commit message
> 
> ---
>  arch/x86/xen/enlighten.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a8f8844..7ce2c78 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -63,6 +63,7 @@
>  #include <asm/stackprotector.h>
>  #include <asm/hypervisor.h>
>  #include <asm/mwait.h>
> +#include <asm/pci_x86.h>
>  
>  #ifdef CONFIG_ACPI
>  #include <linux/acpi.h>
> @@ -1365,7 +1366,9 @@ asmlinkage void __init xen_start_kernel(void)
>  		/* Make sure ACS will be enabled */
>  		pci_request_acs();
>  	}
> -		
> +
> +	/* PCI BIOS service won't work from a PV guest. */
> +	pci_probe &= ~PCI_PROBE_BIOS;
>  
>  	xen_raw_console_write("about to get started...\n");
>  
> -- 
> 1.7.2.5
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:00:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJ3A-0004qD-5o; Fri, 04 May 2012 14:00:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQJ39-0004q5-9y
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:59:59 +0000
Received: from [85.158.139.83:48253] by server-4.bemta-5.messagelabs.com id
	41/CA-10788-ED0E3AF4; Fri, 04 May 2012 13:59:58 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336139997!22913025!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22295 invoked from network); 4 May 2012 13:59:57 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:59:57 -0000
Received: by eekc4 with SMTP id c4so380477eek.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 06:59:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=YkCzDQNvGXA2Gc3NfeJ5zu/Sss2oYOMdaQPrbkOTFnQ=;
	b=uxgKaaurdSBYTjiGGJgDsl0KYovbtbD6trT+bCJ2eAtGyovSIUFYwzm8luZHNewVmR
	hnQESbX2dV8IydEaSSrtul4LLYYEUXZC1UB7EReGjlXucXZyQAmeFbrraTrP6bHYE9gJ
	GmdeTE5Xa+aq/hRQWutPyrB49rJPJZOTpAoNWCRWiCtl4e2CONJza0piWjW/IQhP8P4k
	Pa+KLWbPR+acgltAHimMql2I/tm3F1vaINZAXtMk0kl9zeCaGjphUIjZ1l2zVLl8NgGF
	X8xx+2UXXFj5h4soe9KldJGxYLtdeEZ+et4jwA/5dyWHVAhxLyYDZ208NT+5xnLM05SM
	bW2A==
Received: by 10.14.101.134 with SMTP id b6mr1202261eeg.5.1336139997451;
	Fri, 04 May 2012 06:59:57 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm42052906eea.3.2012.05.04.06.59.55
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 06:59:57 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 14:59:49 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC99F65.325AC%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p/itjtjYB3tjYNk+PubpVtLGcMg==
In-Reply-To: <4FA3FBE10200007800081ABA@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 14:55, "Jan Beulich" <JBeulich@suse.com> wrote:

>>> I think this can be done entirely in serial.c - serial_init_postirq()
>>> would directly call any drivers that already got a handle parsed
>>> for them, and serial_parse_handle() would need to call
>>> ->init_postirq() for any driver that didn't have it called already.
>>> serial_suspend() and serial_resume() should then call drivers only
>>> if they previously had ->init_postirq() called.
>> 
>> Ah yes, that would work. Feel free to make a patch.
> 
> That'll be on top of the other post-4.2 changes I'm in the process
> of piling up, as this isn't really a bug fix.

Agreed.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:00:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJ3A-0004qD-5o; Fri, 04 May 2012 14:00:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SQJ39-0004q5-9y
	for xen-devel@lists.xen.org; Fri, 04 May 2012 13:59:59 +0000
Received: from [85.158.139.83:48253] by server-4.bemta-5.messagelabs.com id
	41/CA-10788-ED0E3AF4; Fri, 04 May 2012 13:59:58 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336139997!22913025!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22295 invoked from network); 4 May 2012 13:59:57 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 13:59:57 -0000
Received: by eekc4 with SMTP id c4so380477eek.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 06:59:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=YkCzDQNvGXA2Gc3NfeJ5zu/Sss2oYOMdaQPrbkOTFnQ=;
	b=uxgKaaurdSBYTjiGGJgDsl0KYovbtbD6trT+bCJ2eAtGyovSIUFYwzm8luZHNewVmR
	hnQESbX2dV8IydEaSSrtul4LLYYEUXZC1UB7EReGjlXucXZyQAmeFbrraTrP6bHYE9gJ
	GmdeTE5Xa+aq/hRQWutPyrB49rJPJZOTpAoNWCRWiCtl4e2CONJza0piWjW/IQhP8P4k
	Pa+KLWbPR+acgltAHimMql2I/tm3F1vaINZAXtMk0kl9zeCaGjphUIjZ1l2zVLl8NgGF
	X8xx+2UXXFj5h4soe9KldJGxYLtdeEZ+et4jwA/5dyWHVAhxLyYDZ208NT+5xnLM05SM
	bW2A==
Received: by 10.14.101.134 with SMTP id b6mr1202261eeg.5.1336139997451;
	Fri, 04 May 2012 06:59:57 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm42052906eea.3.2012.05.04.06.59.55
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 06:59:57 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 04 May 2012 14:59:49 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBC99F65.325AC%keir.xen@gmail.com>
Thread-Topic: ns16550.c's poll_port variable
Thread-Index: Ac0p/itjtjYB3tjYNk+PubpVtLGcMg==
In-Reply-To: <4FA3FBE10200007800081ABA@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ns16550.c's poll_port variable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/2012 14:55, "Jan Beulich" <JBeulich@suse.com> wrote:

>>> I think this can be done entirely in serial.c - serial_init_postirq()
>>> would directly call any drivers that already got a handle parsed
>>> for them, and serial_parse_handle() would need to call
>>> ->init_postirq() for any driver that didn't have it called already.
>>> serial_suspend() and serial_resume() should then call drivers only
>>> if they previously had ->init_postirq() called.
>> 
>> Ah yes, that would work. Feel free to make a patch.
> 
> That'll be on top of the other post-4.2 changes I'm in the process
> of piling up, as this isn't really a bug fix.

Agreed.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:05:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:05:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJ8C-00059O-67; Fri, 04 May 2012 14:05:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJ8A-00059I-OW
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:05:10 +0000
Received: from [85.158.138.51:58884] by server-11.bemta-3.messagelabs.com id
	84/F5-18894-612E3AF4; Fri, 04 May 2012 14:05:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336140309!19222711!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4695 invoked from network); 4 May 2012 14:05:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:05:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300119"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:04:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:04:43 +0100
Message-ID: <1336140282.2361.71.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:04:42 +0100
In-Reply-To: <1336135010-26940-2-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-2-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/7] vgabios: Output to Qemu debug port
 instead of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> Bios was outputing into port 0xe9 while Qemu use 0x12

0xe9 is also the Xen HVM debug port (see hvm_print_line), don't be
confused by the fact that it happens to be the same as the bochs port.

Ian.

> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vgabios.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vgabios.c b/tools/firmware/vgabios/vgabios.c
> index a9dbe00..e0b1ed9 100644
> --- a/tools/firmware/vgabios/vgabios.c
> +++ b/tools/firmware/vgabios/vgabios.c
> @@ -3811,9 +3811,9 @@ void printf(s)
>          for (i=0; i<format_width; i++) {
>            nibble = (arg >> (4 * digit)) & 0x000f;
>            if (nibble <= 9)
> -            outb(0xe9, nibble + '0');
> +            outb(0x12, nibble + '0');
>            else
> -            outb(0xe9, (nibble - 10) + 'A');
> +            outb(0x12, (nibble - 10) + 'A');
>            digit--;
>            }
>          in_format = 0;
> @@ -3823,7 +3823,7 @@ void printf(s)
>        //  }
>        }
>      else {
> -      outb(0xe9, c);
> +      outb(0x12, c);
>        }
>      s ++;
>      }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:05:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:05:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJ8C-00059O-67; Fri, 04 May 2012 14:05:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJ8A-00059I-OW
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:05:10 +0000
Received: from [85.158.138.51:58884] by server-11.bemta-3.messagelabs.com id
	84/F5-18894-612E3AF4; Fri, 04 May 2012 14:05:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336140309!19222711!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4695 invoked from network); 4 May 2012 14:05:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:05:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300119"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:04:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:04:43 +0100
Message-ID: <1336140282.2361.71.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:04:42 +0100
In-Reply-To: <1336135010-26940-2-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-2-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/7] vgabios: Output to Qemu debug port
 instead of using Bochs one
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> Bios was outputing into port 0xe9 while Qemu use 0x12

0xe9 is also the Xen HVM debug port (see hvm_print_line), don't be
confused by the fact that it happens to be the same as the bochs port.

Ian.

> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vgabios.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vgabios.c b/tools/firmware/vgabios/vgabios.c
> index a9dbe00..e0b1ed9 100644
> --- a/tools/firmware/vgabios/vgabios.c
> +++ b/tools/firmware/vgabios/vgabios.c
> @@ -3811,9 +3811,9 @@ void printf(s)
>          for (i=0; i<format_width; i++) {
>            nibble = (arg >> (4 * digit)) & 0x000f;
>            if (nibble <= 9)
> -            outb(0xe9, nibble + '0');
> +            outb(0x12, nibble + '0');
>            else
> -            outb(0xe9, (nibble - 10) + 'A');
> +            outb(0x12, (nibble - 10) + 'A');
>            digit--;
>            }
>          in_format = 0;
> @@ -3823,7 +3823,7 @@ void printf(s)
>        //  }
>        }
>      else {
> -      outb(0xe9, c);
> +      outb(0x12, c);
>        }
>      s ++;
>      }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDC-0005N4-2s; Fri, 04 May 2012 14:10:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDA-0005Mo-7q
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:20 +0000
Received: from [85.158.138.51:54921] by server-11.bemta-3.messagelabs.com id
	D6/36-18894-B43E3AF4; Fri, 04 May 2012 14:10:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336140617!25248460!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18718 invoked from network); 4 May 2012 14:10:18 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 14:10:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAF3V029295
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFor000755
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFRN009853; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id CE59F4031E; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:23 -0400
Message-Id: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH] patches for v3.5-rc6.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Was thinking to push these patches to Linus for v3.5-rc6.

 arch/x86/xen/enlighten.c    |   40 ++++++++++++++++++++++++++++++++++++++--
 arch/x86/xen/mmu.c          |    7 ++++++-
 drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
 3 files changed, 59 insertions(+), 13 deletions(-)

David Vrabel (1):
      xen/pci: don't use PCI BIOS service for configuration space accesses

Julia Lawall (1):
      drivers/video/xen-fbfront.c: add missing cleanup code

Konrad Rzeszutek Wilk (2):
      xen/apic: Return the APIC ID (and version) for CPU 0.
      xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/PTEs


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDC-0005N4-2s; Fri, 04 May 2012 14:10:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDA-0005Mo-7q
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:20 +0000
Received: from [85.158.138.51:54921] by server-11.bemta-3.messagelabs.com id
	D6/36-18894-B43E3AF4; Fri, 04 May 2012 14:10:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336140617!25248460!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18718 invoked from network); 4 May 2012 14:10:18 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 14:10:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAF3V029295
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFor000755
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFRN009853; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id CE59F4031E; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:23 -0400
Message-Id: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH] patches for v3.5-rc6.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Was thinking to push these patches to Linus for v3.5-rc6.

 arch/x86/xen/enlighten.c    |   40 ++++++++++++++++++++++++++++++++++++++--
 arch/x86/xen/mmu.c          |    7 ++++++-
 drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
 3 files changed, 59 insertions(+), 13 deletions(-)

David Vrabel (1):
      xen/pci: don't use PCI BIOS service for configuration space accesses

Julia Lawall (1):
      drivers/video/xen-fbfront.c: add missing cleanup code

Konrad Rzeszutek Wilk (2):
      xen/apic: Return the APIC ID (and version) for CPU 0.
      xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/PTEs


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDC-0005NK-QR; Fri, 04 May 2012 14:10:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDA-0005Mq-CF
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:20 +0000
Received: from [85.158.139.83:17632] by server-12.bemta-5.messagelabs.com id
	7C/AF-01344-B43E3AF4; Fri, 04 May 2012 14:10:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336140617!22834979!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8554 invoked from network); 4 May 2012 14:10:18 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:18 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAGUj032717
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFbJ021153
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAF2v001562; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DE6C54035B; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:25 -0400
Message-Id: <1336140267-7399-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/4] xen/apic: Return the APIC ID (and version)
	for CPU 0.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On x86_64 on AMD machines where the first APIC_ID is not zero, we get:

ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0x10
BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: version 10

which means that when the ACPI processor driver loads and
tries to parse the _Pxx states it fails to do as, as it
ends up calling acpi_get_cpuid which does this:

for_each_possible_cpu(i) {
        if (cpu_physical_id(i) == apic_id)
                return i;
}

And the bootup CPU, has not been found so it fails and returns -1
for the first CPU - which then subsequently in the loop that
"acpi_processor_get_info" does results in returning an error, which
means that "acpi_processor_add" failing and per_cpu(processor)
is never set (and is NULL).

That means that when xen-acpi-processor tries to load (much much
later on) and parse the P-states it gets -ENODEV from
acpi_processor_register_performance() (which tries to read
the per_cpu(processor)) and fails to parse the data.

Reported-by-and-Tested-by:  Stefan Bader <stefan.bader@canonical.com>
Suggested-by:  Boris Ostrovsky <boris.ostrovsky@amd.com>
[v2: Bit-shift APIC ID by 24 bits]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/enlighten.c |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..4f437de 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -809,9 +809,40 @@ static void xen_io_delay(void)
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
+static unsigned long xen_set_apic_id(unsigned int x)
+{
+	WARN_ON(1);
+	return x;
+}
+static unsigned int xen_get_apic_id(unsigned long x)
+{
+	return ((x)>>24) & 0xFFu;
+}
 static u32 xen_apic_read(u32 reg)
 {
-	return 0;
+	struct xen_platform_op op = {
+		.cmd = XENPF_get_cpuinfo,
+		.interface_version = XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid = 0,
+	};
+	int ret = 0;
+
+	/* Shouldn't need this as APIC is turned off for PV, and we only
+	 * get called on the bootup processor. But just in case. */
+	if (!xen_initial_domain() || smp_processor_id())
+		return 0;
+
+	if (reg == APIC_LVR)
+		return 0x10;
+
+	if (reg != APIC_ID)
+		return 0;
+
+	ret = HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return 0;
+
+	return op.u.pcpu_info.apic_id << 24;
 }
 
 static void xen_apic_write(u32 reg, u32 val)
@@ -849,6 +880,8 @@ static void set_xen_basic_apic_ops(void)
 	apic->icr_write = xen_apic_icr_write;
 	apic->wait_icr_idle = xen_apic_wait_icr_idle;
 	apic->safe_wait_icr_idle = xen_safe_apic_wait_icr_idle;
+	apic->set_apic_id = xen_set_apic_id;
+	apic->get_apic_id = xen_get_apic_id;
 }
 
 #endif
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDC-0005NK-QR; Fri, 04 May 2012 14:10:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDA-0005Mq-CF
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:20 +0000
Received: from [85.158.139.83:17632] by server-12.bemta-5.messagelabs.com id
	7C/AF-01344-B43E3AF4; Fri, 04 May 2012 14:10:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336140617!22834979!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8554 invoked from network); 4 May 2012 14:10:18 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:18 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAGUj032717
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFbJ021153
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAF2v001562; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DE6C54035B; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:25 -0400
Message-Id: <1336140267-7399-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/4] xen/apic: Return the APIC ID (and version)
	for CPU 0.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On x86_64 on AMD machines where the first APIC_ID is not zero, we get:

ACPI: LAPIC (acpi_id[0x01] lapic_id[0x10] enabled)
BIOS bug: APIC version is 0 for CPU 1/0x10, fixing up to 0x10
BIOS bug: APIC version mismatch, boot CPU: 0, CPU 1: version 10

which means that when the ACPI processor driver loads and
tries to parse the _Pxx states it fails to do as, as it
ends up calling acpi_get_cpuid which does this:

for_each_possible_cpu(i) {
        if (cpu_physical_id(i) == apic_id)
                return i;
}

And the bootup CPU, has not been found so it fails and returns -1
for the first CPU - which then subsequently in the loop that
"acpi_processor_get_info" does results in returning an error, which
means that "acpi_processor_add" failing and per_cpu(processor)
is never set (and is NULL).

That means that when xen-acpi-processor tries to load (much much
later on) and parse the P-states it gets -ENODEV from
acpi_processor_register_performance() (which tries to read
the per_cpu(processor)) and fails to parse the data.

Reported-by-and-Tested-by:  Stefan Bader <stefan.bader@canonical.com>
Suggested-by:  Boris Ostrovsky <boris.ostrovsky@amd.com>
[v2: Bit-shift APIC ID by 24 bits]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/enlighten.c |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a8f8844..4f437de 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -809,9 +809,40 @@ static void xen_io_delay(void)
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
+static unsigned long xen_set_apic_id(unsigned int x)
+{
+	WARN_ON(1);
+	return x;
+}
+static unsigned int xen_get_apic_id(unsigned long x)
+{
+	return ((x)>>24) & 0xFFu;
+}
 static u32 xen_apic_read(u32 reg)
 {
-	return 0;
+	struct xen_platform_op op = {
+		.cmd = XENPF_get_cpuinfo,
+		.interface_version = XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid = 0,
+	};
+	int ret = 0;
+
+	/* Shouldn't need this as APIC is turned off for PV, and we only
+	 * get called on the bootup processor. But just in case. */
+	if (!xen_initial_domain() || smp_processor_id())
+		return 0;
+
+	if (reg == APIC_LVR)
+		return 0x10;
+
+	if (reg != APIC_ID)
+		return 0;
+
+	ret = HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return 0;
+
+	return op.u.pcpu_info.apic_id << 24;
 }
 
 static void xen_apic_write(u32 reg, u32 val)
@@ -849,6 +880,8 @@ static void set_xen_basic_apic_ops(void)
 	apic->icr_write = xen_apic_icr_write;
 	apic->wait_icr_idle = xen_apic_wait_icr_idle;
 	apic->safe_wait_icr_idle = xen_safe_apic_wait_icr_idle;
+	apic->set_apic_id = xen_set_apic_id;
+	apic->get_apic_id = xen_get_apic_id;
 }
 
 #endif
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDK-0005OO-6t; Fri, 04 May 2012 14:10:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDI-0005Ny-Mq
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:28 +0000
Received: from [85.158.143.35:48567] by server-1.bemta-4.messagelabs.com id
	5C/37-20925-453E3AF4; Fri, 04 May 2012 14:10:28 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336140624!14166789!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7880 invoked from network); 4 May 2012 14:10:26 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:26 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAGG0032716
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFXq000761
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFHT001565; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id F122D4035E; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:27 -0400
Message-Id: <1336140267-7399-5-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	David Vrabel <david.vrabel@citrix.com>, stable@kernel.org
Subject: [Xen-devel] [PATCH 4/4] xen/pci: don't use PCI BIOS service for
	configuration space accesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The accessing PCI configuration space with the PCI BIOS32 service does
not work in PV guests.

On systems without MMCONFIG or where the BIOS hasn't marked the
MMCONFIG region as reserved in the e820 map, the BIOS service is
probed (even though direct access is preferred) and this hangs.

CC: stable@kernel.org
Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/enlighten.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 4f437de..fbf9a75 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -63,6 +63,7 @@
 #include <asm/stackprotector.h>
 #include <asm/hypervisor.h>
 #include <asm/mwait.h>
+#include <asm/pci_x86.h>
 
 #ifdef CONFIG_ACPI
 #include <linux/acpi.h>
@@ -1398,7 +1399,9 @@ asmlinkage void __init xen_start_kernel(void)
 		/* Make sure ACS will be enabled */
 		pci_request_acs();
 	}
-		
+
+	/* PCI BIOS service won't work from a PV guest. */
+	pci_probe &= ~PCI_PROBE_BIOS;
 
 	xen_raw_console_write("about to get started...\n");
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDK-0005OO-6t; Fri, 04 May 2012 14:10:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDI-0005Ny-Mq
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:28 +0000
Received: from [85.158.143.35:48567] by server-1.bemta-4.messagelabs.com id
	5C/37-20925-453E3AF4; Fri, 04 May 2012 14:10:28 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336140624!14166789!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7880 invoked from network); 4 May 2012 14:10:26 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:26 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAGG0032716
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFXq000761
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFHT001565; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id F122D4035E; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:27 -0400
Message-Id: <1336140267-7399-5-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	David Vrabel <david.vrabel@citrix.com>, stable@kernel.org
Subject: [Xen-devel] [PATCH 4/4] xen/pci: don't use PCI BIOS service for
	configuration space accesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The accessing PCI configuration space with the PCI BIOS32 service does
not work in PV guests.

On systems without MMCONFIG or where the BIOS hasn't marked the
MMCONFIG region as reserved in the e820 map, the BIOS service is
probed (even though direct access is preferred) and this hangs.

CC: stable@kernel.org
Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/enlighten.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 4f437de..fbf9a75 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -63,6 +63,7 @@
 #include <asm/stackprotector.h>
 #include <asm/hypervisor.h>
 #include <asm/mwait.h>
+#include <asm/pci_x86.h>
 
 #ifdef CONFIG_ACPI
 #include <linux/acpi.h>
@@ -1398,7 +1399,9 @@ asmlinkage void __init xen_start_kernel(void)
 		/* Make sure ACS will be enabled */
 		pci_request_acs();
 	}
-		
+
+	/* PCI BIOS service won't work from a PV guest. */
+	pci_probe &= ~PCI_PROBE_BIOS;
 
 	xen_raw_console_write("about to get started...\n");
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDL-0005Op-ME; Fri, 04 May 2012 14:10:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDJ-0005O5-Cx
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:29 +0000
Received: from [85.158.143.35:9420] by server-3.bemta-4.messagelabs.com id
	55/BB-05853-453E3AF4; Fri, 04 May 2012 14:10:28 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336140625!4354928!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6232 invoked from network); 4 May 2012 14:10:27 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:27 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAG1a029314
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:17 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFBg025992
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:16 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFMX009857; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D4F9B4031D; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:24 -0400
Message-Id: <1336140267-7399-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Julia Lawall <Julia.Lawall@lip6.fr>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/4] drivers/video/xen-fbfront.c: add missing
	cleanup code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Julia Lawall <Julia.Lawall@lip6.fr>

The operations in the subsequent error-handling code appear to be also
useful here.

Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
[v1: Collapse some of the error handling functions]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c
index cb4529c..aa42160 100644
--- a/drivers/video/xen-fbfront.c
+++ b/drivers/video/xen-fbfront.c
@@ -458,26 +458,31 @@ static int __devinit xenfb_probe(struct xenbus_device *dev,
 	xenfb_init_shared_page(info, fb_info);
 
 	ret = xenfb_connect_backend(dev, info);
-	if (ret < 0)
-		goto error;
+	if (ret < 0) {
+		xenbus_dev_fatal(dev, ret, "xenfb_connect_backend");
+		goto error_fb;
+	}
 
 	ret = register_framebuffer(fb_info);
 	if (ret) {
-		fb_deferred_io_cleanup(fb_info);
-		fb_dealloc_cmap(&fb_info->cmap);
-		framebuffer_release(fb_info);
 		xenbus_dev_fatal(dev, ret, "register_framebuffer");
-		goto error;
+		goto error_fb;
 	}
 	info->fb_info = fb_info;
 
 	xenfb_make_preferred_console();
 	return 0;
 
- error_nomem:
-	ret = -ENOMEM;
-	xenbus_dev_fatal(dev, ret, "allocating device memory");
- error:
+error_fb:
+	fb_deferred_io_cleanup(fb_info);
+	fb_dealloc_cmap(&fb_info->cmap);
+	framebuffer_release(fb_info);
+error_nomem:
+	if (!ret) {
+		ret = -ENOMEM;
+		xenbus_dev_fatal(dev, ret, "allocating device memory");
+	}
+error:
 	xenfb_remove(dev);
 	return ret;
 }
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDL-0005Op-ME; Fri, 04 May 2012 14:10:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDJ-0005O5-Cx
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:29 +0000
Received: from [85.158.143.35:9420] by server-3.bemta-4.messagelabs.com id
	55/BB-05853-453E3AF4; Fri, 04 May 2012 14:10:28 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336140625!4354928!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6232 invoked from network); 4 May 2012 14:10:27 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:27 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAG1a029314
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:17 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAFBg025992
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:16 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFMX009857; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D4F9B4031D; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:24 -0400
Message-Id: <1336140267-7399-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Julia Lawall <Julia.Lawall@lip6.fr>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/4] drivers/video/xen-fbfront.c: add missing
	cleanup code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Julia Lawall <Julia.Lawall@lip6.fr>

The operations in the subsequent error-handling code appear to be also
useful here.

Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
[v1: Collapse some of the error handling functions]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c
index cb4529c..aa42160 100644
--- a/drivers/video/xen-fbfront.c
+++ b/drivers/video/xen-fbfront.c
@@ -458,26 +458,31 @@ static int __devinit xenfb_probe(struct xenbus_device *dev,
 	xenfb_init_shared_page(info, fb_info);
 
 	ret = xenfb_connect_backend(dev, info);
-	if (ret < 0)
-		goto error;
+	if (ret < 0) {
+		xenbus_dev_fatal(dev, ret, "xenfb_connect_backend");
+		goto error_fb;
+	}
 
 	ret = register_framebuffer(fb_info);
 	if (ret) {
-		fb_deferred_io_cleanup(fb_info);
-		fb_dealloc_cmap(&fb_info->cmap);
-		framebuffer_release(fb_info);
 		xenbus_dev_fatal(dev, ret, "register_framebuffer");
-		goto error;
+		goto error_fb;
 	}
 	info->fb_info = fb_info;
 
 	xenfb_make_preferred_console();
 	return 0;
 
- error_nomem:
-	ret = -ENOMEM;
-	xenbus_dev_fatal(dev, ret, "allocating device memory");
- error:
+error_fb:
+	fb_deferred_io_cleanup(fb_info);
+	fb_dealloc_cmap(&fb_info->cmap);
+	framebuffer_release(fb_info);
+error_nomem:
+	if (!ret) {
+		ret = -ENOMEM;
+		xenbus_dev_fatal(dev, ret, "allocating device memory");
+	}
+error:
 	xenfb_remove(dev);
 	return ret;
 }
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDC-0005ND-EQ; Fri, 04 May 2012 14:10:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDA-0005Mp-6J
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:20 +0000
Received: from [193.109.254.147:12176] by server-2.bemta-14.messagelabs.com id
	06/4E-19409-B43E3AF4; Fri, 04 May 2012 14:10:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336140617!7641001!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12612 invoked from network); 4 May 2012 14:10:18 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAGHl029299
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAF4g000760
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFuF030457; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E7EBB4035D; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:26 -0400
Message-Id: <1336140267-7399-4-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 3/4] xen/pte: Fix crashes when trying to see
	non-existent PGD/PMD/PUD/PTEs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If I try to do "cat /sys/kernel/debug/kernel_page_tables"
I end up with:

BUG: unable to handle kernel paging request at ffffc7fffffff000
IP: [<ffffffff8106aa51>] ptdump_show+0x221/0x480
PGD 0
Oops: 0000 [#1] SMP
CPU 0
.. snip..
RAX: 0000000000000000 RBX: ffffc00000000fff RCX: 0000000000000000
RDX: 0000800000000000 RSI: 0000000000000000 RDI: ffffc7fffffff000

which is due to the fact we are trying to access a PFN that is not
accessible to us. The reason (at least in this case) was that
PGD[256] is set to __HYPERVISOR_VIRT_START which setup (by the
hypervisor) to point to a read-only linear map of the MFN->PFN array.
During our parsing we would get the MFN (a valid one), try to look
it up in the MFN->PFN tree and find it invalid and return ~0 as PFN.
Then pte_mfn_to_pfn would happilly feed that in, attach the flags
and return it back to the caller. In this case the ptdump_show
bitshifts it and we get this invalid value.

Instead of doing all of that, we detect the ~0 case and just return
!_PAGE_PRESENT.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/mmu.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index b8e2794..69f5857 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -353,8 +353,13 @@ static pteval_t pte_mfn_to_pfn(pteval_t val)
 {
 	if (val & _PAGE_PRESENT) {
 		unsigned long mfn = (val & PTE_PFN_MASK) >> PAGE_SHIFT;
+		unsigned long pfn = mfn_to_pfn(mfn);
+
 		pteval_t flags = val & PTE_FLAGS_MASK;
-		val = ((pteval_t)mfn_to_pfn(mfn) << PAGE_SHIFT) | flags;
+		if (unlikely(pfn == ~0))
+			val = flags & ~_PAGE_PRESENT;
+		else
+			val = ((pteval_t)pfn << PAGE_SHIFT) | flags;
 	}
 
 	return val;
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:10:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJDC-0005ND-EQ; Fri, 04 May 2012 14:10:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQJDA-0005Mp-6J
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:10:20 +0000
Received: from [193.109.254.147:12176] by server-2.bemta-14.messagelabs.com id
	06/4E-19409-B43E3AF4; Fri, 04 May 2012 14:10:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336140617!7641001!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12612 invoked from network); 4 May 2012 14:10:18 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 14:10:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44EAGHl029299
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 14:10:16 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44EAF4g000760
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 14:10:15 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44EAFuF030457; Fri, 4 May 2012 09:10:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 07:10:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E7EBB4035D; Fri,  4 May 2012 10:04:30 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Date: Fri,  4 May 2012 10:04:26 -0400
Message-Id: <1336140267-7399-4-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 3/4] xen/pte: Fix crashes when trying to see
	non-existent PGD/PMD/PUD/PTEs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If I try to do "cat /sys/kernel/debug/kernel_page_tables"
I end up with:

BUG: unable to handle kernel paging request at ffffc7fffffff000
IP: [<ffffffff8106aa51>] ptdump_show+0x221/0x480
PGD 0
Oops: 0000 [#1] SMP
CPU 0
.. snip..
RAX: 0000000000000000 RBX: ffffc00000000fff RCX: 0000000000000000
RDX: 0000800000000000 RSI: 0000000000000000 RDI: ffffc7fffffff000

which is due to the fact we are trying to access a PFN that is not
accessible to us. The reason (at least in this case) was that
PGD[256] is set to __HYPERVISOR_VIRT_START which setup (by the
hypervisor) to point to a read-only linear map of the MFN->PFN array.
During our parsing we would get the MFN (a valid one), try to look
it up in the MFN->PFN tree and find it invalid and return ~0 as PFN.
Then pte_mfn_to_pfn would happilly feed that in, attach the flags
and return it back to the caller. In this case the ptdump_show
bitshifts it and we get this invalid value.

Instead of doing all of that, we detect the ~0 case and just return
!_PAGE_PRESENT.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/mmu.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index b8e2794..69f5857 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -353,8 +353,13 @@ static pteval_t pte_mfn_to_pfn(pteval_t val)
 {
 	if (val & _PAGE_PRESENT) {
 		unsigned long mfn = (val & PTE_PFN_MASK) >> PAGE_SHIFT;
+		unsigned long pfn = mfn_to_pfn(mfn);
+
 		pteval_t flags = val & PTE_FLAGS_MASK;
-		val = ((pteval_t)mfn_to_pfn(mfn) << PAGE_SHIFT) | flags;
+		if (unlikely(pfn == ~0))
+			val = flags & ~_PAGE_PRESENT;
+		else
+			val = ((pteval_t)pfn << PAGE_SHIFT) | flags;
 	}
 
 	return val;
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:12:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:12:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJF6-0005kQ-7P; Fri, 04 May 2012 14:12:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJF4-0005jo-JY
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:12:18 +0000
Received: from [85.158.139.83:34257] by server-7.bemta-5.messagelabs.com id
	93/93-16195-1C3E3AF4; Fri, 04 May 2012 14:12:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336140736!15523533!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17263 invoked from network); 4 May 2012 14:12:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:12:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300302"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:12:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:12:16 +0100
Message-ID: <1336140734.2361.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:12:14 +0100
In-Reply-To: <1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> Remove an overflow computing width x height x bit which does
> not fit into a 16 bits. I wrote a routine to multiple these value
> and get the size required for framebuffer in segment unit (64k).

Couldn't this be done in C using a suitably wide temporary variable?

> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
>  1 files changed, 28 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> index 3d42216..35d9866 100644
> --- a/tools/firmware/vgabios/vbe.c
> +++ b/tools/firmware/vgabios/vbe.c
> @@ -742,6 +742,29 @@ no_vbe_flag:
>    jmp  _display_string
>  ASM_END  
>  
> +ASM_START
> +_size64:
> +  push bp
> +  mov  bp, sp
> +  push dx
> +
> +; multiply bbp by yres first as results fit in 16bits
> +; then multiply by xres
> +  mov  ax, 8[bp]
> +  mul  word 6[bp]
> +  mul  word 4[bp]
> +; divide by 2^19 ceiling result
> +  add  ax, #0xffff
> +  adc  dx, #7
> +  mov  ax, dx
> +  shr  ax, #3
> +
> +  pop  dx
> +  pop  bp
> +  ret
> +ASM_END
> +
> +
>  /** Function 00h - Return VBE Controller Information
>   * 
>   * Input:
> @@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
>                  
>          do
>          {
> +                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
> +                Bit16u max_bpp = dispi_get_max_bpp();
> +
>                  if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
> -                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
> -                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
> +                    (cur_info->info.BitsPerPixel <= max_bpp) &&
> +                    (size_64k <= vbe_info_block.TotalMemory)) {
>  #ifdef DEBUG
>                    printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
>                    cur_mode++;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:12:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:12:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJF6-0005kQ-7P; Fri, 04 May 2012 14:12:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJF4-0005jo-JY
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:12:18 +0000
Received: from [85.158.139.83:34257] by server-7.bemta-5.messagelabs.com id
	93/93-16195-1C3E3AF4; Fri, 04 May 2012 14:12:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336140736!15523533!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17263 invoked from network); 4 May 2012 14:12:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:12:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300302"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:12:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:12:16 +0100
Message-ID: <1336140734.2361.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:12:14 +0100
In-Reply-To: <1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> Remove an overflow computing width x height x bit which does
> not fit into a 16 bits. I wrote a routine to multiple these value
> and get the size required for framebuffer in segment unit (64k).

Couldn't this be done in C using a suitably wide temporary variable?

> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
>  1 files changed, 28 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> index 3d42216..35d9866 100644
> --- a/tools/firmware/vgabios/vbe.c
> +++ b/tools/firmware/vgabios/vbe.c
> @@ -742,6 +742,29 @@ no_vbe_flag:
>    jmp  _display_string
>  ASM_END  
>  
> +ASM_START
> +_size64:
> +  push bp
> +  mov  bp, sp
> +  push dx
> +
> +; multiply bbp by yres first as results fit in 16bits
> +; then multiply by xres
> +  mov  ax, 8[bp]
> +  mul  word 6[bp]
> +  mul  word 4[bp]
> +; divide by 2^19 ceiling result
> +  add  ax, #0xffff
> +  adc  dx, #7
> +  mov  ax, dx
> +  shr  ax, #3
> +
> +  pop  dx
> +  pop  bp
> +  ret
> +ASM_END
> +
> +
>  /** Function 00h - Return VBE Controller Information
>   * 
>   * Input:
> @@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
>                  
>          do
>          {
> +                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
> +                Bit16u max_bpp = dispi_get_max_bpp();
> +
>                  if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
> -                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
> -                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
> +                    (cur_info->info.BitsPerPixel <= max_bpp) &&
> +                    (size_64k <= vbe_info_block.TotalMemory)) {
>  #ifdef DEBUG
>                    printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
>                    cur_mode++;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:18:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:18:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJKr-0006IK-1s; Fri, 04 May 2012 14:18:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJKp-0006IF-6S
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:18:15 +0000
Received: from [85.158.138.51:27664] by server-7.bemta-3.messagelabs.com id
	79/CE-03078-625E3AF4; Fri, 04 May 2012 14:18:14 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336141093!25290396!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24492 invoked from network); 4 May 2012 14:18:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:18:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300440"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:18:13 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Fri, 4 May 2012
	15:18:13 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:18:13 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qAL2ay3MzUtUZS/mnwIIahEQ0rA==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336140734.2361.72.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > Remove an overflow computing width x height x bit which does
> > not fit into a 16 bits. I wrote a routine to multiple these value
> > and get the size required for framebuffer in segment unit (64k).
> 
> Couldn't this be done in C using a suitably wide temporary variable?
> 

I'd like :(

BCC compiler used need some function which are not linked by BIOS.

Personally I would switch to something more clever like OpenWatcom but
mainly I wrote some small asm.

I think bochs code fix the issue providing a asm function used by
compiler but seems more hacky than my function.

Frediano

> > 
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> > ---
> >  tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
> >  1 files changed, 28 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> > index 3d42216..35d9866 100644
> > --- a/tools/firmware/vgabios/vbe.c
> > +++ b/tools/firmware/vgabios/vbe.c
> > @@ -742,6 +742,29 @@ no_vbe_flag:
> >    jmp  _display_string
> >  ASM_END  
> >  
> > +ASM_START
> > +_size64:
> > +  push bp
> > +  mov  bp, sp
> > +  push dx
> > +
> > +; multiply bbp by yres first as results fit in 16bits
> > +; then multiply by xres
> > +  mov  ax, 8[bp]
> > +  mul  word 6[bp]
> > +  mul  word 4[bp]
> > +; divide by 2^19 ceiling result
> > +  add  ax, #0xffff
> > +  adc  dx, #7
> > +  mov  ax, dx
> > +  shr  ax, #3
> > +
> > +  pop  dx
> > +  pop  bp
> > +  ret
> > +ASM_END
> > +
> > +
> >  /** Function 00h - Return VBE Controller Information
> >   * 
> >   * Input:
> > @@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
> >                  
> >          do
> >          {
> > +                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
> > +                Bit16u max_bpp = dispi_get_max_bpp();
> > +
> >                  if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
> > -                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
> > -                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
> > +                    (cur_info->info.BitsPerPixel <= max_bpp) &&
> > +                    (size_64k <= vbe_info_block.TotalMemory)) {
> >  #ifdef DEBUG
> >                    printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
> >                    cur_mode++;
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:18:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:18:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJKr-0006IK-1s; Fri, 04 May 2012 14:18:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJKp-0006IF-6S
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:18:15 +0000
Received: from [85.158.138.51:27664] by server-7.bemta-3.messagelabs.com id
	79/CE-03078-625E3AF4; Fri, 04 May 2012 14:18:14 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336141093!25290396!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24492 invoked from network); 4 May 2012 14:18:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:18:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300440"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:18:13 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Fri, 4 May 2012
	15:18:13 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:18:13 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qAL2ay3MzUtUZS/mnwIIahEQ0rA==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336140734.2361.72.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > Remove an overflow computing width x height x bit which does
> > not fit into a 16 bits. I wrote a routine to multiple these value
> > and get the size required for framebuffer in segment unit (64k).
> 
> Couldn't this be done in C using a suitably wide temporary variable?
> 

I'd like :(

BCC compiler used need some function which are not linked by BIOS.

Personally I would switch to something more clever like OpenWatcom but
mainly I wrote some small asm.

I think bochs code fix the issue providing a asm function used by
compiler but seems more hacky than my function.

Frediano

> > 
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> > ---
> >  tools/firmware/vgabios/vbe.c |   30 ++++++++++++++++++++++++++++--
> >  1 files changed, 28 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> > index 3d42216..35d9866 100644
> > --- a/tools/firmware/vgabios/vbe.c
> > +++ b/tools/firmware/vgabios/vbe.c
> > @@ -742,6 +742,29 @@ no_vbe_flag:
> >    jmp  _display_string
> >  ASM_END  
> >  
> > +ASM_START
> > +_size64:
> > +  push bp
> > +  mov  bp, sp
> > +  push dx
> > +
> > +; multiply bbp by yres first as results fit in 16bits
> > +; then multiply by xres
> > +  mov  ax, 8[bp]
> > +  mul  word 6[bp]
> > +  mul  word 4[bp]
> > +; divide by 2^19 ceiling result
> > +  add  ax, #0xffff
> > +  adc  dx, #7
> > +  mov  ax, dx
> > +  shr  ax, #3
> > +
> > +  pop  dx
> > +  pop  bp
> > +  ret
> > +ASM_END
> > +
> > +
> >  /** Function 00h - Return VBE Controller Information
> >   * 
> >   * Input:
> > @@ -846,9 +869,12 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
> >                  
> >          do
> >          {
> > +                Bit16u size_64k = size64(cur_info->info.XResolution, cur_info->info.YResolution, cur_info->info.BitsPerPixel);
> > +                Bit16u max_bpp = dispi_get_max_bpp();
> > +
> >                  if ((cur_info->info.XResolution <= dispi_get_max_xres()) &&
> > -                    (cur_info->info.BitsPerPixel <= dispi_get_max_bpp()) &&
> > -                    (cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel <= vbe_info_block.TotalMemory << 19 )) {
> > +                    (cur_info->info.BitsPerPixel <= max_bpp) &&
> > +                    (size_64k <= vbe_info_block.TotalMemory)) {
> >  #ifdef DEBUG
> >                    printf("VBE found mode %x => %x\n", cur_info->mode,cur_mode);
> >                    cur_mode++;
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:18:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:18:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJKy-0006JC-Mk; Fri, 04 May 2012 14:18:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJKx-0006J4-EN
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:18:23 +0000
Received: from [85.158.143.99:59427] by server-3.bemta-4.messagelabs.com id
	D5/A6-05853-E25E3AF4; Fri, 04 May 2012 14:18:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336141102!25610867!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21178 invoked from network); 4 May 2012 14:18:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:18:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300445"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:18:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:18:21 +0100
Message-ID: <1336141100.2361.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:18:20 +0100
In-Reply-To: <1336135010-26940-5-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-5-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/7] vgabios: Report mode not supported
 getting mode informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> If you try to get mode information for an unsupported mode
> interrupt should return error but not that the function is not
> supported.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vbe.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> index 35d9866..fff314e 100644
> --- a/tools/firmware/vgabios/vbe.c
> +++ b/tools/firmware/vgabios/vbe.c
> @@ -911,7 +911,8 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
>  void vbe_biosfn_return_mode_information(AX, CX, ES, DI)
>  Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
>  {
> -        Bit16u            result=0x0100;
> +        // error by default is 0x014f which means supported but error
> +        Bit16u                 result=0x014f;

Something odd has happened to the whitepace here. Otherwise:
Acked-by: Ian Campbell <ian.campbell@citrix.com>


>          Bit16u            ss=get_SS();
>          ModeInfoBlock     info;
>          ModeInfoListItem  *cur_info;
> @@ -955,7 +956,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
>  #ifdef DEBUG
>                  printf("VBE *NOT* found mode %x\n",CX);
>  #endif
> -                result = 0x100;
>          }
>          
>          if (result == 0x4f)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:18:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:18:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJKy-0006JC-Mk; Fri, 04 May 2012 14:18:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJKx-0006J4-EN
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:18:23 +0000
Received: from [85.158.143.99:59427] by server-3.bemta-4.messagelabs.com id
	D5/A6-05853-E25E3AF4; Fri, 04 May 2012 14:18:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336141102!25610867!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21178 invoked from network); 4 May 2012 14:18:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:18:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300445"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:18:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:18:21 +0100
Message-ID: <1336141100.2361.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:18:20 +0100
In-Reply-To: <1336135010-26940-5-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-5-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/7] vgabios: Report mode not supported
 getting mode informations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> If you try to get mode information for an unsupported mode
> interrupt should return error but not that the function is not
> supported.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vbe.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> index 35d9866..fff314e 100644
> --- a/tools/firmware/vgabios/vbe.c
> +++ b/tools/firmware/vgabios/vbe.c
> @@ -911,7 +911,8 @@ Bit16u *AX;Bit16u ES;Bit16u DI;
>  void vbe_biosfn_return_mode_information(AX, CX, ES, DI)
>  Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
>  {
> -        Bit16u            result=0x0100;
> +        // error by default is 0x014f which means supported but error
> +        Bit16u                 result=0x014f;

Something odd has happened to the whitepace here. Otherwise:
Acked-by: Ian Campbell <ian.campbell@citrix.com>


>          Bit16u            ss=get_SS();
>          ModeInfoBlock     info;
>          ModeInfoListItem  *cur_info;
> @@ -955,7 +956,6 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
>  #ifdef DEBUG
>                  printf("VBE *NOT* found mode %x\n",CX);
>  #endif
> -                result = 0x100;
>          }
>          
>          if (result == 0x4f)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:20:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:20:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJMV-0006Th-7e; Fri, 04 May 2012 14:19:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJMT-0006Ta-KA
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:19:57 +0000
Received: from [85.158.138.51:35238] by server-12.bemta-3.messagelabs.com id
	4B/32-29760-C85E3AF4; Fri, 04 May 2012 14:19:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336141195!17356467!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2440 invoked from network); 4 May 2012 14:19:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:19:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:19:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:19:47 +0100
Message-ID: <1336141185.2361.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:19:45 +0100
In-Reply-To: <1336135010-26940-8-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-8-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 7/7] vgabios: Make Windows 8 support greater
 resolutions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> Apparently Windows 8 refuse to use any mode if has more than one page.

What about OSes other than Windows 8? Did you test with any of them?

> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vbe.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> index a7b06b9..9131721 100644
> --- a/tools/firmware/vgabios/vbe.c
> +++ b/tools/firmware/vgabios/vbe.c
> @@ -946,9 +946,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
>                      (size_64k > totalMemory))
>                    info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
>  
> -                if (using_lfb) {
> -                  info.NumberOfBanks = 1;
> -                }
> +                /* Windows 8 require this to be 1! */
> +                info.NumberOfBanks = 1;
> +
>                  if (info.WinAAttributes & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) {
>                    info.WinFuncPtr = 0xC0000000UL;
>                    *(Bit16u *)&(info.WinFuncPtr) = (Bit16u)(dispi_set_bank_farcall);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:20:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:20:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJMV-0006Th-7e; Fri, 04 May 2012 14:19:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJMT-0006Ta-KA
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:19:57 +0000
Received: from [85.158.138.51:35238] by server-12.bemta-3.messagelabs.com id
	4B/32-29760-C85E3AF4; Fri, 04 May 2012 14:19:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336141195!17356467!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2440 invoked from network); 4 May 2012 14:19:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:19:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:19:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:19:47 +0100
Message-ID: <1336141185.2361.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:19:45 +0100
In-Reply-To: <1336135010-26940-8-git-send-email-frediano.ziglio@citrix.com>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-8-git-send-email-frediano.ziglio@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 7/7] vgabios: Make Windows 8 support greater
 resolutions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> Apparently Windows 8 refuse to use any mode if has more than one page.

What about OSes other than Windows 8? Did you test with any of them?

> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
> ---
>  tools/firmware/vgabios/vbe.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/firmware/vgabios/vbe.c b/tools/firmware/vgabios/vbe.c
> index a7b06b9..9131721 100644
> --- a/tools/firmware/vgabios/vbe.c
> +++ b/tools/firmware/vgabios/vbe.c
> @@ -946,9 +946,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
>                      (size_64k > totalMemory))
>                    info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
>  
> -                if (using_lfb) {
> -                  info.NumberOfBanks = 1;
> -                }
> +                /* Windows 8 require this to be 1! */
> +                info.NumberOfBanks = 1;
> +
>                  if (info.WinAAttributes & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) {
>                    info.WinFuncPtr = 0xC0000000UL;
>                    *(Bit16u *)&(info.WinFuncPtr) = (Bit16u)(dispi_set_bank_farcall);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:27:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:27:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJTF-0006n9-7q; Fri, 04 May 2012 14:26:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJTD-0006n0-EX
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:26:55 +0000
Received: from [85.158.139.83:27843] by server-10.bemta-5.messagelabs.com id
	47/71-08260-B27E3AF4; Fri, 04 May 2012 14:26:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336141610!26828479!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11392 invoked from network); 4 May 2012 14:26:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:26:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300658"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:26:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:26:50 +0100
Message-ID: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:26:49 +0100
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > Remove an overflow computing width x height x bit which does
> > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > and get the size required for framebuffer in segment unit (64k).
> > 
> > Couldn't this be done in C using a suitably wide temporary variable?
> > 
> 
> I'd like :(
> 
> BCC compiler used need some function which are not linked by BIOS.

In which case 

Acked-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:27:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:27:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJTF-0006n9-7q; Fri, 04 May 2012 14:26:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJTD-0006n0-EX
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:26:55 +0000
Received: from [85.158.139.83:27843] by server-10.bemta-5.messagelabs.com id
	47/71-08260-B27E3AF4; Fri, 04 May 2012 14:26:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336141610!26828479!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11392 invoked from network); 4 May 2012 14:26:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:26:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300658"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:26:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:26:50 +0100
Message-ID: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Fri, 4 May 2012 15:26:49 +0100
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > Remove an overflow computing width x height x bit which does
> > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > and get the size required for framebuffer in segment unit (64k).
> > 
> > Couldn't this be done in C using a suitably wide temporary variable?
> > 
> 
> I'd like :(
> 
> BCC compiler used need some function which are not linked by BIOS.

In which case 

Acked-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:40:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:40:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJg9-0007IY-7I; Fri, 04 May 2012 14:40:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJg8-0007IT-8w
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:40:16 +0000
Received: from [85.158.138.51:53361] by server-10.bemta-3.messagelabs.com id
	D4/ED-29478-F4AE3AF4; Fri, 04 May 2012 14:40:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336142414!25294768!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3701 invoked from network); 4 May 2012 14:40:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:40:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300963"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:40:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:40:13 +0100
Message-ID: <1336142412.7535.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:40:12 +0100
In-Reply-To: <1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce a new libxl_device_disk** parameter to
> libxl__device_disk_local_attach, the parameter is allocated on the gc by
> libxl__device_disk_local_attach. It is going to fill it with
> informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
> 
> Changes in v5:
> - rename disk to in_disk;
> - rename tmpdisk to disk;
> - copy disk to new_disk only on success;
> - remove check on libxl__zalloc success.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl_bootloader.c |   10 +++++-----
>  tools/libxl/libxl_internal.c   |   20 ++++++++++++++------
>  tools/libxl/libxl_internal.h   |    3 ++-
>  3 files changed, 21 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index 977c6d3..83cac78 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -330,6 +330,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      char *fifo = NULL;
>      char *diskpath = NULL;
>      char **args = NULL;
> +    libxl_device_disk *tmpdisk = NULL;

Do you need to keep tmpdisk valid outside the scope of this function?
You don't seem to in this patch (I didn't look over the next patches
yet).

If not then you could just use "libxl_device_disk tmpdisk" and have
libxl__device_disk_local_attach update in place instead allocating and
passing the pointer back.

>      char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>      char *tempdir;
> @@ -386,8 +387,9 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> -    diskpath = libxl__device_disk_local_attach(gc, disk);
> +    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
>      if (!diskpath) {
> +        rc = ERROR_FAIL;
>          goto out_close;
>      }
>  
> @@ -452,10 +454,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>  
>      rc = 0;
>  out_close:
> -    if (diskpath) {
> -        libxl__device_disk_local_detach(gc, disk);
> -        free(diskpath);
> -    }
> +    if (tmpdisk)
> +        libxl__device_disk_local_detach(gc, tmpdisk);
>      if (fifo_fd > -1)
>          close(fifo_fd);
>      if (bootloader_fd > -1)
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index fc771ff..55dc55c 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -323,12 +323,21 @@ out:
>      return rc;
>  }
>  
> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk **new_disk)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
> -    char *ret = NULL;
>      int rc;
> +    libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    if (in_disk->pdev_path != NULL)
> +        disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = libxl__strdup(gc, in_disk->script);
> +    disk->vdev = NULL;
>  
>      rc = libxl__device_disk_setdefault(gc, disk);
>      if (rc) goto out;
> @@ -368,7 +377,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                  break;
>              }
>              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +                       in_disk->pdev_path);
>              dev = disk->pdev_path;
>              break;
>          default:
> @@ -378,9 +387,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>      }
>  
>   out:
> -    if (dev != NULL)
> -        ret = strdup(dev);
> -    return ret;
> +    *new_disk = disk;
> +    return dev;
>  }
>  
>  int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index ddd6a37..965d13b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1008,7 +1008,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   * a device.
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
> -        libxl_device_disk *disk);
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk **new_disk);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:40:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:40:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJg9-0007IY-7I; Fri, 04 May 2012 14:40:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJg8-0007IT-8w
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:40:16 +0000
Received: from [85.158.138.51:53361] by server-10.bemta-3.messagelabs.com id
	D4/ED-29478-F4AE3AF4; Fri, 04 May 2012 14:40:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336142414!25294768!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3701 invoked from network); 4 May 2012 14:40:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:40:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300963"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:40:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:40:13 +0100
Message-ID: <1336142412.7535.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:40:12 +0100
In-Reply-To: <1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce a new libxl_device_disk** parameter to
> libxl__device_disk_local_attach, the parameter is allocated on the gc by
> libxl__device_disk_local_attach. It is going to fill it with
> informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
> 
> Changes in v5:
> - rename disk to in_disk;
> - rename tmpdisk to disk;
> - copy disk to new_disk only on success;
> - remove check on libxl__zalloc success.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl_bootloader.c |   10 +++++-----
>  tools/libxl/libxl_internal.c   |   20 ++++++++++++++------
>  tools/libxl/libxl_internal.h   |    3 ++-
>  3 files changed, 21 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index 977c6d3..83cac78 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -330,6 +330,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      char *fifo = NULL;
>      char *diskpath = NULL;
>      char **args = NULL;
> +    libxl_device_disk *tmpdisk = NULL;

Do you need to keep tmpdisk valid outside the scope of this function?
You don't seem to in this patch (I didn't look over the next patches
yet).

If not then you could just use "libxl_device_disk tmpdisk" and have
libxl__device_disk_local_attach update in place instead allocating and
passing the pointer back.

>      char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>      char *tempdir;
> @@ -386,8 +387,9 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> -    diskpath = libxl__device_disk_local_attach(gc, disk);
> +    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
>      if (!diskpath) {
> +        rc = ERROR_FAIL;
>          goto out_close;
>      }
>  
> @@ -452,10 +454,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>  
>      rc = 0;
>  out_close:
> -    if (diskpath) {
> -        libxl__device_disk_local_detach(gc, disk);
> -        free(diskpath);
> -    }
> +    if (tmpdisk)
> +        libxl__device_disk_local_detach(gc, tmpdisk);
>      if (fifo_fd > -1)
>          close(fifo_fd);
>      if (bootloader_fd > -1)
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index fc771ff..55dc55c 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -323,12 +323,21 @@ out:
>      return rc;
>  }
>  
> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk **new_disk)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
> -    char *ret = NULL;
>      int rc;
> +    libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    if (in_disk->pdev_path != NULL)
> +        disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = libxl__strdup(gc, in_disk->script);
> +    disk->vdev = NULL;
>  
>      rc = libxl__device_disk_setdefault(gc, disk);
>      if (rc) goto out;
> @@ -368,7 +377,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                  break;
>              }
>              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +                       in_disk->pdev_path);
>              dev = disk->pdev_path;
>              break;
>          default:
> @@ -378,9 +387,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>      }
>  
>   out:
> -    if (dev != NULL)
> -        ret = strdup(dev);
> -    return ret;
> +    *new_disk = disk;
> +    return dev;
>  }
>  
>  int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index ddd6a37..965d13b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1008,7 +1008,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   * a device.
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
> -        libxl_device_disk *disk);
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk **new_disk);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:42:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:42:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJhb-0007Nf-N7; Fri, 04 May 2012 14:41:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJha-0007NT-5J
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:41:46 +0000
Received: from [193.109.254.147:22971] by server-2.bemta-14.messagelabs.com id
	14/E5-19409-9AAE3AF4; Fri, 04 May 2012 14:41:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336142504!2511263!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7989 invoked from network); 4 May 2012 14:41:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:41:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300997"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:41:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:41:44 +0100
Message-ID: <1336142502.7535.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:41:42 +0100
In-Reply-To: <1336130000-27261-3-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-3-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 3/8] libxl: add a transaction parameter
 to libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
> XBT_NULL, allocate a proper one.
> 
> Update all the callers.
> 
> This patch contains a large number of unchecked xenstore operations, we
> might want to fix this in the future.
> 
> Changes in v4:
> - libxl__device_generic_add: do not end the transaction is the caller
> provided it;
> - libxl__device_generic_add: fix success exit path.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl.c          |   10 +++++-----
>  tools/libxl/libxl_device.c   |   17 +++++++++++------
>  tools/libxl/libxl_internal.h |    4 ++--
>  tools/libxl/libxl_pci.c      |    2 +-
>  4 files changed, 19 insertions(+), 14 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 1357efc..525f0d6 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1401,7 +1401,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
>      flexarray_append(front, "device-type");
>      flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>  
> @@ -1802,7 +1802,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
>      flexarray_append(front, "mac");
>      flexarray_append(front, libxl__sprintf(gc,
>                                      LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>  
> @@ -2080,7 +2080,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
>          flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
>      }
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>      rc = 0;
> @@ -2151,7 +2151,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
>      flexarray_append(front, "state");
>      flexarray_append(front, libxl__sprintf(gc, "%d", 1));
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>      rc = 0;
> @@ -2284,7 +2284,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
>                            libxl__sprintf(gc, "%d", vfb->backend_domid));
>      flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>      rc = 0;
> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index c7e057d..88cdc7d 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
>      return libxl__device_kind_from_string(strkind, &dev->backend_kind);
>  }
>  
> -int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
> -                             char **bents, char **fents)
> +int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
> +        libxl__device *device, char **bents, char **fents)
>  {
>      libxl_ctx *ctx = libxl__gc_owner(gc);
>      char *frontend_path, *backend_path;
> -    xs_transaction_t t;
>      struct xs_permissions frontend_perms[2];
>      struct xs_permissions backend_perms[2];
> +    int create_transaction = t == XBT_NULL;
>  
>      frontend_path = libxl__device_frontend_path(gc, device);
>      backend_path = libxl__device_backend_path(gc, device);
> @@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
>      backend_perms[1].perms = XS_PERM_READ;
>  
>  retry_transaction:
> -    t = xs_transaction_start(ctx->xsh);
> +    if (create_transaction)
> +        t = xs_transaction_start(ctx->xsh);
>      /* FIXME: read frontend_path and check state before removing stuff */
>  
>      if (fents) {
> @@ -100,13 +101,17 @@ retry_transaction:
>          libxl__xs_writev(gc, t, backend_path, bents);
>      }
>  
> +    if (!create_transaction)
> +        return 0;
> +
>      if (!xs_transaction_end(ctx->xsh, t, 0)) {
>          if (errno == EAGAIN)
>              goto retry_transaction;
> -        else
> +        else {
>              LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
> +            return ERROR_FAIL;
> +        }
>      }
> -
>      return 0;
>  }
>  
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 965d13b..2c8f06a 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -683,8 +683,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
>                                        libxl__device_console *console,
>                                        libxl__domain_build_state *state);
>  
> -_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
> -                             char **bents, char **fents);
> +_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
> +        libxl__device *device, char **bents, char **fents);
>  _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
>  _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
>  _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
> diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> index 3856bd9..335c645 100644
> --- a/tools/libxl/libxl_pci.c
> +++ b/tools/libxl/libxl_pci.c
> @@ -102,7 +102,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
>      flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
>      flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                                libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                                libxl__xs_kvs_of_flexarray(gc, front, front->count));
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:42:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:42:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJhb-0007Nf-N7; Fri, 04 May 2012 14:41:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJha-0007NT-5J
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:41:46 +0000
Received: from [193.109.254.147:22971] by server-2.bemta-14.messagelabs.com id
	14/E5-19409-9AAE3AF4; Fri, 04 May 2012 14:41:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336142504!2511263!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7989 invoked from network); 4 May 2012 14:41:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:41:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12300997"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:41:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:41:44 +0100
Message-ID: <1336142502.7535.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:41:42 +0100
In-Reply-To: <1336130000-27261-3-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-3-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 3/8] libxl: add a transaction parameter
 to libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
> XBT_NULL, allocate a proper one.
> 
> Update all the callers.
> 
> This patch contains a large number of unchecked xenstore operations, we
> might want to fix this in the future.
> 
> Changes in v4:
> - libxl__device_generic_add: do not end the transaction is the caller
> provided it;
> - libxl__device_generic_add: fix success exit path.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl.c          |   10 +++++-----
>  tools/libxl/libxl_device.c   |   17 +++++++++++------
>  tools/libxl/libxl_internal.h |    4 ++--
>  tools/libxl/libxl_pci.c      |    2 +-
>  4 files changed, 19 insertions(+), 14 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 1357efc..525f0d6 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1401,7 +1401,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
>      flexarray_append(front, "device-type");
>      flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>  
> @@ -1802,7 +1802,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
>      flexarray_append(front, "mac");
>      flexarray_append(front, libxl__sprintf(gc,
>                                      LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>  
> @@ -2080,7 +2080,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
>          flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
>      }
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>      rc = 0;
> @@ -2151,7 +2151,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
>      flexarray_append(front, "state");
>      flexarray_append(front, libxl__sprintf(gc, "%d", 1));
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>      rc = 0;
> @@ -2284,7 +2284,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
>                            libxl__sprintf(gc, "%d", vfb->backend_domid));
>      flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
>      rc = 0;
> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index c7e057d..88cdc7d 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
>      return libxl__device_kind_from_string(strkind, &dev->backend_kind);
>  }
>  
> -int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
> -                             char **bents, char **fents)
> +int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
> +        libxl__device *device, char **bents, char **fents)
>  {
>      libxl_ctx *ctx = libxl__gc_owner(gc);
>      char *frontend_path, *backend_path;
> -    xs_transaction_t t;
>      struct xs_permissions frontend_perms[2];
>      struct xs_permissions backend_perms[2];
> +    int create_transaction = t == XBT_NULL;
>  
>      frontend_path = libxl__device_frontend_path(gc, device);
>      backend_path = libxl__device_backend_path(gc, device);
> @@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
>      backend_perms[1].perms = XS_PERM_READ;
>  
>  retry_transaction:
> -    t = xs_transaction_start(ctx->xsh);
> +    if (create_transaction)
> +        t = xs_transaction_start(ctx->xsh);
>      /* FIXME: read frontend_path and check state before removing stuff */
>  
>      if (fents) {
> @@ -100,13 +101,17 @@ retry_transaction:
>          libxl__xs_writev(gc, t, backend_path, bents);
>      }
>  
> +    if (!create_transaction)
> +        return 0;
> +
>      if (!xs_transaction_end(ctx->xsh, t, 0)) {
>          if (errno == EAGAIN)
>              goto retry_transaction;
> -        else
> +        else {
>              LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
> +            return ERROR_FAIL;
> +        }
>      }
> -
>      return 0;
>  }
>  
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 965d13b..2c8f06a 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -683,8 +683,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
>                                        libxl__device_console *console,
>                                        libxl__domain_build_state *state);
>  
> -_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
> -                             char **bents, char **fents);
> +_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
> +        libxl__device *device, char **bents, char **fents);
>  _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
>  _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
>  _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
> diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> index 3856bd9..335c645 100644
> --- a/tools/libxl/libxl_pci.c
> +++ b/tools/libxl/libxl_pci.c
> @@ -102,7 +102,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
>      flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
>      flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
>  
> -    libxl__device_generic_add(gc, &device,
> +    libxl__device_generic_add(gc, XBT_NULL, &device,
>                                libxl__xs_kvs_of_flexarray(gc, back, back->count),
>                                libxl__xs_kvs_of_flexarray(gc, front, front->count));
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:45:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:45:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJlJ-0007dV-Bn; Fri, 04 May 2012 14:45:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJlH-0007dM-56
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:45:35 +0000
Received: from [85.158.139.83:60483] by server-6.bemta-5.messagelabs.com id
	75/45-13222-E8BE3AF4; Fri, 04 May 2012 14:45:34 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336142733!26252972!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17458 invoked from network); 4 May 2012 14:45:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:45:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301079"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:45:32 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Fri, 4 May 2012
	15:45:32 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:45:32 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qBI7mg6ABydPFQH67Dznwebwlnw==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDC@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
	<1336141609.7535.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:26 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> > On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > > Remove an overflow computing width x height x bit which does
> > > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > > and get the size required for framebuffer in segment unit (64k).
> > > 
> > > Couldn't this be done in C using a suitably wide temporary variable?
> > > 
> > 
> > I'd like :(
> > 
> > BCC compiler used need some function which are not linked by BIOS.
> 
> In which case 
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> 

In current vgabios (from Bochs not Xen copy) size is computed using 


size_64k = (Bit16u)((Bit32u)cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel) >> 19;


If you try to use this code you get an undefined call to lmulul. Bochs
code (still in vbe.c) provide this internal function with this asm code:


; helper function for memory size calculation

lmulul:
  and eax, #0x0000FFFF
  shl ebx, #16
  or  eax, ebx
  SEG SS
  mul eax, dword ptr [di]
  mov ebx, eax
  shr ebx, #16
  ret


Note also that Bochs line have some problems
- it multiply Xres by Xres intead of Xres by Yref
- it does not take into account ceiling division

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:45:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:45:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJlJ-0007dV-Bn; Fri, 04 May 2012 14:45:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJlH-0007dM-56
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:45:35 +0000
Received: from [85.158.139.83:60483] by server-6.bemta-5.messagelabs.com id
	75/45-13222-E8BE3AF4; Fri, 04 May 2012 14:45:34 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336142733!26252972!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17458 invoked from network); 4 May 2012 14:45:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:45:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301079"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:45:32 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Fri, 4 May 2012
	15:45:32 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:45:32 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qBI7mg6ABydPFQH67Dznwebwlnw==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDC@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
	<1336141609.7535.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:26 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> > On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > > Remove an overflow computing width x height x bit which does
> > > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > > and get the size required for framebuffer in segment unit (64k).
> > > 
> > > Couldn't this be done in C using a suitably wide temporary variable?
> > > 
> > 
> > I'd like :(
> > 
> > BCC compiler used need some function which are not linked by BIOS.
> 
> In which case 
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> 

In current vgabios (from Bochs not Xen copy) size is computed using 


size_64k = (Bit16u)((Bit32u)cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel) >> 19;


If you try to use this code you get an undefined call to lmulul. Bochs
code (still in vbe.c) provide this internal function with this asm code:


; helper function for memory size calculation

lmulul:
  and eax, #0x0000FFFF
  shl ebx, #16
  or  eax, ebx
  SEG SS
  mul eax, dword ptr [di]
  mov ebx, eax
  shr ebx, #16
  ret


Note also that Bochs line have some problems
- it multiply Xres by Xres intead of Xres by Yref
- it does not take into account ceiling division

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:47:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:47:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJnA-0007m6-5A; Fri, 04 May 2012 14:47:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJn9-0007lq-8I
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:47:31 +0000
Received: from [85.158.143.99:47853] by server-3.bemta-4.messagelabs.com id
	66/1F-05853-20CE3AF4; Fri, 04 May 2012 14:47:30 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336142849!21205897!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6937 invoked from network); 4 May 2012 14:47:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:47:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301212"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:47:28 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Fri, 4 May 2012
	15:47:28 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:47:28 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qBNPvXHAvTm0PQliwtECjRDtUPg==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDD@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
	<1336141609.7535.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:26 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> > On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > > Remove an overflow computing width x height x bit which does
> > > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > > and get the size required for framebuffer in segment unit (64k).
> > > 
> > > Couldn't this be done in C using a suitably wide temporary variable?
> > > 
> > 
> > I'd like :(
> > 
> > BCC compiler used need some function which are not linked by BIOS.
> 
> In which case 
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> 

In current vgabios (from Bochs not Xen copy) size is computed using 


size_64k = (Bit16u)((Bit32u)cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel) >> 19;


If you try to use this code you get an undefined call to lmulul. Bochs
code (still in vbe.c) provide this internal function with this asm code:


; helper function for memory size calculation

lmulul:
  and eax, #0x0000FFFF
  shl ebx, #16
  or  eax, ebx
  SEG SS
  mul eax, dword ptr [di]
  mov ebx, eax
  shr ebx, #16
  ret


Note also that Bochs line have some problems
- it multiply Xres by Xres intead of Xres by Yref
- it does not take into account ceiling division

Frediano


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:47:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:47:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJnA-0007m6-5A; Fri, 04 May 2012 14:47:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJn9-0007lq-8I
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:47:31 +0000
Received: from [85.158.143.99:47853] by server-3.bemta-4.messagelabs.com id
	66/1F-05853-20CE3AF4; Fri, 04 May 2012 14:47:30 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336142849!21205897!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6937 invoked from network); 4 May 2012 14:47:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:47:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301212"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:47:28 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Fri, 4 May 2012
	15:47:28 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:47:28 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qBNPvXHAvTm0PQliwtECjRDtUPg==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDD@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
	<1336141609.7535.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:26 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> > On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > > Remove an overflow computing width x height x bit which does
> > > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > > and get the size required for framebuffer in segment unit (64k).
> > > 
> > > Couldn't this be done in C using a suitably wide temporary variable?
> > > 
> > 
> > I'd like :(
> > 
> > BCC compiler used need some function which are not linked by BIOS.
> 
> In which case 
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> 

In current vgabios (from Bochs not Xen copy) size is computed using 


size_64k = (Bit16u)((Bit32u)cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel) >> 19;


If you try to use this code you get an undefined call to lmulul. Bochs
code (still in vbe.c) provide this internal function with this asm code:


; helper function for memory size calculation

lmulul:
  and eax, #0x0000FFFF
  shl ebx, #16
  or  eax, ebx
  SEG SS
  mul eax, dword ptr [di]
  mov ebx, eax
  shr ebx, #16
  ret


Note also that Bochs line have some problems
- it multiply Xres by Xres intead of Xres by Yref
- it does not take into account ceiling division

Frediano


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:48:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJoE-0007sV-Oa; Fri, 04 May 2012 14:48:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJoC-0007s9-Qy
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:48:36 +0000
Received: from [85.158.143.99:4417] by server-2.bemta-4.messagelabs.com id
	4B/61-17550-44CE3AF4; Fri, 04 May 2012 14:48:36 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336142914!26192117!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23053 invoked from network); 4 May 2012 14:48:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:48:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301242"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:48:33 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Fri, 4 May 2012
	15:48:33 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:48:33 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qBPqaZY1fwDu2SvaJ8NkVRAPkPw==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDE@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
	<1336141609.7535.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:26 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> > On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > > Remove an overflow computing width x height x bit which does
> > > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > > and get the size required for framebuffer in segment unit (64k).
> > > 
> > > Couldn't this be done in C using a suitably wide temporary variable?
> > > 
> > 
> > I'd like :(
> > 
> > BCC compiler used need some function which are not linked by BIOS.
> 
> In which case 
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> 

In current vgabios (from Bochs not Xen copy) size is computed using 


size_64k = (Bit16u)((Bit32u)cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel) >> 19;


If you try to use this code you get an undefined call to lmulul. Bochs
code (still in vbe.c) provide this internal function with this asm code:


; helper function for memory size calculation

lmulul:
  and eax, #0x0000FFFF
  shl ebx, #16
  or  eax, ebx
  SEG SS
  mul eax, dword ptr [di]
  mov ebx, eax
  shr ebx, #16
  ret


Note also that Bochs line have some problems
- it multiply Xres by Xres intead of Xres by Yref
- it does not take into account ceiling division

Frediano


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:48:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJoE-0007sV-Oa; Fri, 04 May 2012 14:48:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SQJoC-0007s9-Qy
	for xen-devel@lists.xen.org; Fri, 04 May 2012 14:48:36 +0000
Received: from [85.158.143.99:4417] by server-2.bemta-4.messagelabs.com id
	4B/61-17550-44CE3AF4; Fri, 04 May 2012 14:48:36 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336142914!26192117!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23053 invoked from network); 4 May 2012 14:48:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:48:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301242"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:48:33 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Fri, 4 May 2012
	15:48:33 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 4 May 2012 15:48:33 +0100
Thread-Topic: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
Thread-Index: Ac0qBPqaZY1fwDu2SvaJ8NkVRAPkPw==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDE@LONPMAILBOX01.citrite.net>
References: <1336135010-26940-1-git-send-email-frediano.ziglio@citrix.com>
	<1336135010-26940-4-git-send-email-frediano.ziglio@citrix.com>
	<1336140734.2361.72.camel@zakaz.uk.xensource.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDE9E24CDB@LONPMAILBOX01.citrite.net>
	<1336141609.7535.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336141609.7535.2.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/7] vgabios: Fix size computation overflow
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 15:26 +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 15:18 +0100, Frediano Ziglio wrote:
> > On Fri, 2012-05-04 at 15:12 +0100, Ian Campbell wrote:
> > > On Fri, 2012-05-04 at 13:36 +0100, Frediano Ziglio wrote:
> > > > Remove an overflow computing width x height x bit which does
> > > > not fit into a 16 bits. I wrote a routine to multiple these value
> > > > and get the size required for framebuffer in segment unit (64k).
> > > 
> > > Couldn't this be done in C using a suitably wide temporary variable?
> > > 
> > 
> > I'd like :(
> > 
> > BCC compiler used need some function which are not linked by BIOS.
> 
> In which case 
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> 

In current vgabios (from Bochs not Xen copy) size is computed using 


size_64k = (Bit16u)((Bit32u)cur_info->info.XResolution * cur_info->info.XResolution * cur_info->info.BitsPerPixel) >> 19;


If you try to use this code you get an undefined call to lmulul. Bochs
code (still in vbe.c) provide this internal function with this asm code:


; helper function for memory size calculation

lmulul:
  and eax, #0x0000FFFF
  shl ebx, #16
  or  eax, ebx
  SEG SS
  mul eax, dword ptr [di]
  mov ebx, eax
  shr ebx, #16
  ret


Note also that Bochs line have some problems
- it multiply Xres by Xres intead of Xres by Yref
- it does not take into account ceiling division

Frediano


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:49:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:49:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJp0-0007z8-6Z; Fri, 04 May 2012 14:49:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJoy-0007yl-3a
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:49:24 +0000
Received: from [85.158.138.51:20715] by server-11.bemta-3.messagelabs.com id
	A7/DF-18894-37CE3AF4; Fri, 04 May 2012 14:49:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336142952!25322950!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1508 invoked from network); 4 May 2012 14:49:13 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:49:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301259"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:49:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:49:12 +0100
Message-ID: <1336142951.7535.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:49:11 +0100
In-Reply-To: <1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 4/8] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
> Move libxl__device_from_disk to libxl_internal.c.
> No functional change.
> 
> Changes in v5:
> - rename libxl__device_generic_add_t to libxl__device_generic_add.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl.c          |  151 +----------------------------------------
>  tools/libxl/libxl_internal.c |  157 ++++++++++++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_internal.h |    6 ++
>  3 files changed, 164 insertions(+), 150 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 525f0d6..941dbb9 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1258,159 +1258,10 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
>      return rc;
>  }
>  
> -static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> -                                   libxl_device_disk *disk,
> -                                   libxl__device *device)
> -{
> -    libxl_ctx *ctx = libxl__gc_owner(gc);
> -    int devid;
> -
> -    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> -    if (devid==-1) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        return ERROR_INVAL;
> -    }
> -
> -    device->backend_domid = disk->backend_domid;
> -    device->backend_devid = devid;
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> -                       disk->backend);
> -            return ERROR_INVAL;
> -    }
> -
> -    device->domid = domid;
> -    device->devid = devid;
> -    device->kind  = LIBXL__DEVICE_KIND_VBD;
> -
> -    return 0;
> -}
> -
>  int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>  {
>      GC_INIT(ctx);
> -    flexarray_t *front;
> -    flexarray_t *back;
> -    char *dev;
> -    libxl__device device;
> -    int major, minor, rc;
> -
> -    rc = libxl__device_disk_setdefault(gc, disk);
> -    if (rc) goto out;
> -
> -    front = flexarray_make(16, 1);
> -    if (!front) {
> -        rc = ERROR_NOMEM;
> -        goto out;
> -    }
> -    back = flexarray_make(16, 1);
> -    if (!back) {
> -        rc = ERROR_NOMEM;
> -        goto out_free;
> -    }
> -
> -    if (disk->script) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> -                   " not yet supported, sorry");
> -        rc = ERROR_INVAL;
> -        goto out_free;
> -    }
> -
> -    rc = libxl__device_from_disk(gc, domid, disk, &device);
> -    if (rc != 0) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        goto out_free;
> -    }
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            dev = disk->pdev_path;
> -    do_backend_phy:
> -            libxl__device_physdisk_major_minor(dev, &major, &minor);
> -            flexarray_append(back, "physical-device");
> -            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> -
> -            flexarray_append(back, "params");
> -            flexarray_append(back, dev);
> -
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> -            if (!dev) {
> -                rc = ERROR_FAIL;
> -                goto out_free;
> -            }
> -            flexarray_append(back, "tapdisk-params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                libxl__device_disk_string_of_format(disk->format),
> -                disk->pdev_path));
> -
> -            /* now create a phy device to export the device to the guest */
> -            goto do_backend_phy;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            flexarray_append(back, "params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> -            rc = ERROR_INVAL;
> -            goto out_free;
> -    }
> -
> -    flexarray_append(back, "frontend-id");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> -    flexarray_append(back, "online");
> -    flexarray_append(back, "1");
> -    flexarray_append(back, "removable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> -    flexarray_append(back, "bootable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "state");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "dev");
> -    flexarray_append(back, disk->vdev);
> -    flexarray_append(back, "type");
> -    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> -    flexarray_append(back, "mode");
> -    flexarray_append(back, disk->readwrite ? "w" : "r");
> -    flexarray_append(back, "device-type");
> -    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    flexarray_append(front, "backend-id");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> -    flexarray_append(front, "state");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(front, "virtual-device");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> -    flexarray_append(front, "device-type");
> -    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    libxl__device_generic_add(gc, XBT_NULL, &device,
> -                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> -                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> -
> -    rc = 0;
> -
> -out_free:
> -    flexarray_free(back);
> -    flexarray_free(front);
> -out:
> +    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
>      GC_FREE;
>      return rc;
>  }
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 55dc55c..1bf5d73 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -323,6 +323,163 @@ out:
>      return rc;
>  }
>  
> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int devid;
> +
> +    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> +    if (devid==-1) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        return ERROR_INVAL;
> +    }
> +
> +    device->backend_domid = disk->backend_domid;
> +    device->backend_devid = devid;
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> +                       disk->backend);
> +            return ERROR_INVAL;
> +    }
> +
> +    device->domid = domid;
> +    device->devid = devid;
> +    device->kind  = LIBXL__DEVICE_KIND_VBD;
> +
> +    return 0;
> +}
> +
> +int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk)
> +{
> +    flexarray_t *front;
> +    flexarray_t *back;
> +    char *dev;
> +    libxl__device device;
> +    int major, minor, rc;
> +    libxl_ctx *ctx = gc->owner;
> +
> +    rc = libxl__device_disk_setdefault(gc, disk);
> +    if (rc) goto out;
> +
> +    front = flexarray_make(16, 1);
> +    if (!front) {
> +        rc = ERROR_NOMEM;
> +        goto out;
> +    }
> +    back = flexarray_make(16, 1);
> +    if (!back) {
> +        rc = ERROR_NOMEM;
> +        goto out_free;
> +    }
> +
> +    if (disk->script) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> +                   " not yet supported, sorry");
> +        rc = ERROR_INVAL;
> +        goto out_free;
> +    }
> +
> +    rc = libxl__device_from_disk(gc, domid, disk, &device);
> +    if (rc != 0) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        goto out_free;
> +    }
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            dev = disk->pdev_path;
> +    do_backend_phy:
> +            libxl__device_physdisk_major_minor(dev, &major, &minor);
> +            flexarray_append(back, "physical-device");
> +            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> +
> +            flexarray_append(back, "params");
> +            flexarray_append(back, dev);
> +
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> +            if (!dev) {
> +                rc = ERROR_FAIL;
> +                goto out_free;
> +            }
> +            flexarray_append(back, "tapdisk-params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                libxl__device_disk_string_of_format(disk->format),
> +                disk->pdev_path));
> +
> +            /* now create a phy device to export the device to the guest */
> +            goto do_backend_phy;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            flexarray_append(back, "params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> +            rc = ERROR_INVAL;
> +            goto out_free;
> +    }
> +
> +    flexarray_append(back, "frontend-id");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> +    flexarray_append(back, "online");
> +    flexarray_append(back, "1");
> +    flexarray_append(back, "removable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> +    flexarray_append(back, "bootable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "state");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "dev");
> +    flexarray_append(back, disk->vdev);
> +    flexarray_append(back, "type");
> +    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> +    flexarray_append(back, "mode");
> +    flexarray_append(back, disk->readwrite ? "w" : "r");
> +    flexarray_append(back, "device-type");
> +    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    flexarray_append(front, "backend-id");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> +    flexarray_append(front, "state");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(front, "virtual-device");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> +    flexarray_append(front, "device-type");
> +    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    libxl__device_generic_add(gc, t, &device,
> +                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> +                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> +
> +    rc = 0;
> +
> +out_free:
> +    flexarray_free(back);
> +    flexarray_free(front);
> +out:
> +    return rc;
> +}
> +
>  char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
>          libxl_device_disk **new_disk)
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 2c8f06a..096c96d 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1003,6 +1003,12 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
>   */
>  _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>  
> +
> +_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device);
> +_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk);
>  /*
>   * Make a disk available in this (the control) domain. Returns path to
>   * a device.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:49:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:49:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJp0-0007z8-6Z; Fri, 04 May 2012 14:49:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJoy-0007yl-3a
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:49:24 +0000
Received: from [85.158.138.51:20715] by server-11.bemta-3.messagelabs.com id
	A7/DF-18894-37CE3AF4; Fri, 04 May 2012 14:49:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336142952!25322950!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1508 invoked from network); 4 May 2012 14:49:13 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:49:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301259"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:49:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:49:12 +0100
Message-ID: <1336142951.7535.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:49:11 +0100
In-Reply-To: <1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 4/8] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
> Move libxl__device_from_disk to libxl_internal.c.
> No functional change.
> 
> Changes in v5:
> - rename libxl__device_generic_add_t to libxl__device_generic_add.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl.c          |  151 +----------------------------------------
>  tools/libxl/libxl_internal.c |  157 ++++++++++++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_internal.h |    6 ++
>  3 files changed, 164 insertions(+), 150 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 525f0d6..941dbb9 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1258,159 +1258,10 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
>      return rc;
>  }
>  
> -static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> -                                   libxl_device_disk *disk,
> -                                   libxl__device *device)
> -{
> -    libxl_ctx *ctx = libxl__gc_owner(gc);
> -    int devid;
> -
> -    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> -    if (devid==-1) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        return ERROR_INVAL;
> -    }
> -
> -    device->backend_domid = disk->backend_domid;
> -    device->backend_devid = devid;
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> -                       disk->backend);
> -            return ERROR_INVAL;
> -    }
> -
> -    device->domid = domid;
> -    device->devid = devid;
> -    device->kind  = LIBXL__DEVICE_KIND_VBD;
> -
> -    return 0;
> -}
> -
>  int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>  {
>      GC_INIT(ctx);
> -    flexarray_t *front;
> -    flexarray_t *back;
> -    char *dev;
> -    libxl__device device;
> -    int major, minor, rc;
> -
> -    rc = libxl__device_disk_setdefault(gc, disk);
> -    if (rc) goto out;
> -
> -    front = flexarray_make(16, 1);
> -    if (!front) {
> -        rc = ERROR_NOMEM;
> -        goto out;
> -    }
> -    back = flexarray_make(16, 1);
> -    if (!back) {
> -        rc = ERROR_NOMEM;
> -        goto out_free;
> -    }
> -
> -    if (disk->script) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> -                   " not yet supported, sorry");
> -        rc = ERROR_INVAL;
> -        goto out_free;
> -    }
> -
> -    rc = libxl__device_from_disk(gc, domid, disk, &device);
> -    if (rc != 0) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        goto out_free;
> -    }
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            dev = disk->pdev_path;
> -    do_backend_phy:
> -            libxl__device_physdisk_major_minor(dev, &major, &minor);
> -            flexarray_append(back, "physical-device");
> -            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> -
> -            flexarray_append(back, "params");
> -            flexarray_append(back, dev);
> -
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> -            if (!dev) {
> -                rc = ERROR_FAIL;
> -                goto out_free;
> -            }
> -            flexarray_append(back, "tapdisk-params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                libxl__device_disk_string_of_format(disk->format),
> -                disk->pdev_path));
> -
> -            /* now create a phy device to export the device to the guest */
> -            goto do_backend_phy;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            flexarray_append(back, "params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> -            rc = ERROR_INVAL;
> -            goto out_free;
> -    }
> -
> -    flexarray_append(back, "frontend-id");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> -    flexarray_append(back, "online");
> -    flexarray_append(back, "1");
> -    flexarray_append(back, "removable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> -    flexarray_append(back, "bootable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "state");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "dev");
> -    flexarray_append(back, disk->vdev);
> -    flexarray_append(back, "type");
> -    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> -    flexarray_append(back, "mode");
> -    flexarray_append(back, disk->readwrite ? "w" : "r");
> -    flexarray_append(back, "device-type");
> -    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    flexarray_append(front, "backend-id");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> -    flexarray_append(front, "state");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(front, "virtual-device");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> -    flexarray_append(front, "device-type");
> -    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    libxl__device_generic_add(gc, XBT_NULL, &device,
> -                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> -                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> -
> -    rc = 0;
> -
> -out_free:
> -    flexarray_free(back);
> -    flexarray_free(front);
> -out:
> +    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
>      GC_FREE;
>      return rc;
>  }
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 55dc55c..1bf5d73 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -323,6 +323,163 @@ out:
>      return rc;
>  }
>  
> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int devid;
> +
> +    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> +    if (devid==-1) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        return ERROR_INVAL;
> +    }
> +
> +    device->backend_domid = disk->backend_domid;
> +    device->backend_devid = devid;
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> +                       disk->backend);
> +            return ERROR_INVAL;
> +    }
> +
> +    device->domid = domid;
> +    device->devid = devid;
> +    device->kind  = LIBXL__DEVICE_KIND_VBD;
> +
> +    return 0;
> +}
> +
> +int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk)
> +{
> +    flexarray_t *front;
> +    flexarray_t *back;
> +    char *dev;
> +    libxl__device device;
> +    int major, minor, rc;
> +    libxl_ctx *ctx = gc->owner;
> +
> +    rc = libxl__device_disk_setdefault(gc, disk);
> +    if (rc) goto out;
> +
> +    front = flexarray_make(16, 1);
> +    if (!front) {
> +        rc = ERROR_NOMEM;
> +        goto out;
> +    }
> +    back = flexarray_make(16, 1);
> +    if (!back) {
> +        rc = ERROR_NOMEM;
> +        goto out_free;
> +    }
> +
> +    if (disk->script) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> +                   " not yet supported, sorry");
> +        rc = ERROR_INVAL;
> +        goto out_free;
> +    }
> +
> +    rc = libxl__device_from_disk(gc, domid, disk, &device);
> +    if (rc != 0) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        goto out_free;
> +    }
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            dev = disk->pdev_path;
> +    do_backend_phy:
> +            libxl__device_physdisk_major_minor(dev, &major, &minor);
> +            flexarray_append(back, "physical-device");
> +            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> +
> +            flexarray_append(back, "params");
> +            flexarray_append(back, dev);
> +
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> +            if (!dev) {
> +                rc = ERROR_FAIL;
> +                goto out_free;
> +            }
> +            flexarray_append(back, "tapdisk-params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                libxl__device_disk_string_of_format(disk->format),
> +                disk->pdev_path));
> +
> +            /* now create a phy device to export the device to the guest */
> +            goto do_backend_phy;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            flexarray_append(back, "params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> +            rc = ERROR_INVAL;
> +            goto out_free;
> +    }
> +
> +    flexarray_append(back, "frontend-id");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> +    flexarray_append(back, "online");
> +    flexarray_append(back, "1");
> +    flexarray_append(back, "removable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> +    flexarray_append(back, "bootable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "state");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "dev");
> +    flexarray_append(back, disk->vdev);
> +    flexarray_append(back, "type");
> +    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> +    flexarray_append(back, "mode");
> +    flexarray_append(back, disk->readwrite ? "w" : "r");
> +    flexarray_append(back, "device-type");
> +    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    flexarray_append(front, "backend-id");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> +    flexarray_append(front, "state");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(front, "virtual-device");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> +    flexarray_append(front, "device-type");
> +    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    libxl__device_generic_add(gc, t, &device,
> +                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> +                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> +
> +    rc = 0;
> +
> +out_free:
> +    flexarray_free(back);
> +    flexarray_free(front);
> +out:
> +    return rc;
> +}
> +
>  char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
>          libxl_device_disk **new_disk)
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 2c8f06a..096c96d 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1003,6 +1003,12 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
>   */
>  _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>  
> +
> +_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device);
> +_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk);
>  /*
>   * Make a disk available in this (the control) domain. Returns path to
>   * a device.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJuW-0008O4-VU; Fri, 04 May 2012 14:55:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJuW-0008Nz-76
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:55:08 +0000
Received: from [193.109.254.147:40834] by server-12.bemta-14.messagelabs.com
	id DE/B7-05898-BCDE3AF4; Fri, 04 May 2012 14:55:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336143306!2513827!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4483 invoked from network); 4 May 2012 14:55:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:55:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301411"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:54:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:54:55 +0100
Message-ID: <1336143294.7535.13.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:54:54 +0100
In-Reply-To: <1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 5/8] xl/libxl: add a blkdev_start
	parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce a blkdev_start in xl.conf and a corresponding string in
> libxl_domain_build_info.
> 
> Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
> going to be used in a following patch.
> 
> blkdev_start specifies the first block device to be used for temporary
> block device allocations by the toolstack.
> 
> Changes in v5:
> - change the type of the blkdev_start parameter to
> libxl__device_disk_local_attach to const char *.
> 
> Changes in v4:
> - pass blkdev_start in libxl_domain_build_info.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/examples/xl.conf         |    3 +++
>  tools/libxl/libxl_bootloader.c |    3 ++-
>  tools/libxl/libxl_create.c     |    3 +++
>  tools/libxl/libxl_internal.c   |    3 ++-
>  tools/libxl/libxl_internal.h   |    3 ++-
>  tools/libxl/libxl_types.idl    |    1 +
>  tools/libxl/xl.c               |    3 +++
>  tools/libxl/xl.h               |    1 +
>  tools/libxl/xl_cmdimpl.c       |    2 ++
>  9 files changed, 19 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
> index 56d3b3b..ebf057c 100644
> --- a/tools/examples/xl.conf
> +++ b/tools/examples/xl.conf
> @@ -12,3 +12,6 @@
>  
>  # default output format used by "xl list -l"
>  #output_format="json"
> +
> +# first block device to be used for temporary VM disk mounts
> +#blkdev_start="xvda"

Need a patch to docs/man/xl.conf.pod.5 as well. If you add that then:
Acked-by: Ian Campbell <ian.campbell@citrix.com>


I suppose this is necessarily Linux specific and we'll need a patch from
the BSD folks?

> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index 83cac78..123b06e 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -387,7 +387,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> -    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
> +    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk,
> +            info->blkdev_start);
>      if (!diskpath) {
>          rc = ERROR_FAIL;
>          goto out_close;
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index 7ab2f72..f2fcdf0 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
>          }
>      }
>  
> +    if (b_info->blkdev_start == NULL)
> +        b_info->blkdev_start = strdup("xvda");
> +
>      if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
>          if (!b_info->u.hvm.bios)
>              switch (b_info->device_model_version) {
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 1bf5d73..bd5ebb3 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -482,7 +482,8 @@ out:
>  
>  char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
> -        libxl_device_disk **new_disk)
> +        libxl_device_disk **new_disk,
> +        const char *blkdev_start)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 096c96d..0074ec4 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1015,7 +1015,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
> -        libxl_device_disk **new_disk);
> +        libxl_device_disk **new_disk,
> +        const char *blkdev_start);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  
> diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
> index 68599cb..7131696 100644
> --- a/tools/libxl/libxl_types.idl
> +++ b/tools/libxl/libxl_types.idl
> @@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>      ("localtime",       libxl_defbool),
>      ("disable_migrate", libxl_defbool),
>      ("cpuid",           libxl_cpuid_policy_list),
> +    ("blkdev_start",    string),
>      
>      ("device_model_version", libxl_device_model_version),
>      ("device_model_stubdomain", libxl_defbool),
> diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
> index a6ffd25..4596c4f 100644
> --- a/tools/libxl/xl.c
> +++ b/tools/libxl/xl.c
> @@ -35,6 +35,7 @@
>  xentoollog_logger_stdiostream *logger;
>  int dryrun_only;
>  int autoballoon = 1;
> +char *blkdev_start;
>  char *lockfile;
>  char *default_vifscript = NULL;
>  char *default_bridge = NULL;
> @@ -91,6 +92,8 @@ static void parse_global_config(const char *configfile,
>              fprintf(stderr, "invalid default output format \"%s\"\n", buf);
>          }
>      }
> +    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
> +        blkdev_start = strdup(buf);
>      xlu_cfg_destroy(config);
>  }
>  
> diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
> index f0d0ec8..3fbe14d 100644
> --- a/tools/libxl/xl.h
> +++ b/tools/libxl/xl.h
> @@ -112,6 +112,7 @@ extern int dryrun_only;
>  extern char *lockfile;
>  extern char *default_vifscript;
>  extern char *default_bridge;
> +extern char *blkdev_start;
>  
>  enum output_format {
>      OUTPUT_FORMAT_JSON,
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 28f5cab..7338562 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -595,6 +595,8 @@ static void parse_config_data(const char *configfile_filename_report,
>      }
>  
>      libxl_domain_build_info_init_type(b_info, c_info->type);
> +    if (blkdev_start)
> +        b_info->blkdev_start = strdup(blkdev_start);
>  
>      /* the following is the actual config parsing with overriding values in the structures */
>      if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 14:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 14:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJuW-0008O4-VU; Fri, 04 May 2012 14:55:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJuW-0008Nz-76
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 14:55:08 +0000
Received: from [193.109.254.147:40834] by server-12.bemta-14.messagelabs.com
	id DE/B7-05898-BCDE3AF4; Fri, 04 May 2012 14:55:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336143306!2513827!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4483 invoked from network); 4 May 2012 14:55:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 14:55:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301411"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:54:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	15:54:55 +0100
Message-ID: <1336143294.7535.13.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:54:54 +0100
In-Reply-To: <1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 5/8] xl/libxl: add a blkdev_start
	parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce a blkdev_start in xl.conf and a corresponding string in
> libxl_domain_build_info.
> 
> Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
> going to be used in a following patch.
> 
> blkdev_start specifies the first block device to be used for temporary
> block device allocations by the toolstack.
> 
> Changes in v5:
> - change the type of the blkdev_start parameter to
> libxl__device_disk_local_attach to const char *.
> 
> Changes in v4:
> - pass blkdev_start in libxl_domain_build_info.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/examples/xl.conf         |    3 +++
>  tools/libxl/libxl_bootloader.c |    3 ++-
>  tools/libxl/libxl_create.c     |    3 +++
>  tools/libxl/libxl_internal.c   |    3 ++-
>  tools/libxl/libxl_internal.h   |    3 ++-
>  tools/libxl/libxl_types.idl    |    1 +
>  tools/libxl/xl.c               |    3 +++
>  tools/libxl/xl.h               |    1 +
>  tools/libxl/xl_cmdimpl.c       |    2 ++
>  9 files changed, 19 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
> index 56d3b3b..ebf057c 100644
> --- a/tools/examples/xl.conf
> +++ b/tools/examples/xl.conf
> @@ -12,3 +12,6 @@
>  
>  # default output format used by "xl list -l"
>  #output_format="json"
> +
> +# first block device to be used for temporary VM disk mounts
> +#blkdev_start="xvda"

Need a patch to docs/man/xl.conf.pod.5 as well. If you add that then:
Acked-by: Ian Campbell <ian.campbell@citrix.com>


I suppose this is necessarily Linux specific and we'll need a patch from
the BSD folks?

> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index 83cac78..123b06e 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -387,7 +387,8 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> -    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk);
> +    diskpath = libxl__device_disk_local_attach(gc, disk, &tmpdisk,
> +            info->blkdev_start);
>      if (!diskpath) {
>          rc = ERROR_FAIL;
>          goto out_close;
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index 7ab2f72..f2fcdf0 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
>          }
>      }
>  
> +    if (b_info->blkdev_start == NULL)
> +        b_info->blkdev_start = strdup("xvda");
> +
>      if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
>          if (!b_info->u.hvm.bios)
>              switch (b_info->device_model_version) {
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 1bf5d73..bd5ebb3 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -482,7 +482,8 @@ out:
>  
>  char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
> -        libxl_device_disk **new_disk)
> +        libxl_device_disk **new_disk,
> +        const char *blkdev_start)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 096c96d..0074ec4 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1015,7 +1015,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
> -        libxl_device_disk **new_disk);
> +        libxl_device_disk **new_disk,
> +        const char *blkdev_start);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  
> diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
> index 68599cb..7131696 100644
> --- a/tools/libxl/libxl_types.idl
> +++ b/tools/libxl/libxl_types.idl
> @@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>      ("localtime",       libxl_defbool),
>      ("disable_migrate", libxl_defbool),
>      ("cpuid",           libxl_cpuid_policy_list),
> +    ("blkdev_start",    string),
>      
>      ("device_model_version", libxl_device_model_version),
>      ("device_model_stubdomain", libxl_defbool),
> diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
> index a6ffd25..4596c4f 100644
> --- a/tools/libxl/xl.c
> +++ b/tools/libxl/xl.c
> @@ -35,6 +35,7 @@
>  xentoollog_logger_stdiostream *logger;
>  int dryrun_only;
>  int autoballoon = 1;
> +char *blkdev_start;
>  char *lockfile;
>  char *default_vifscript = NULL;
>  char *default_bridge = NULL;
> @@ -91,6 +92,8 @@ static void parse_global_config(const char *configfile,
>              fprintf(stderr, "invalid default output format \"%s\"\n", buf);
>          }
>      }
> +    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
> +        blkdev_start = strdup(buf);
>      xlu_cfg_destroy(config);
>  }
>  
> diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
> index f0d0ec8..3fbe14d 100644
> --- a/tools/libxl/xl.h
> +++ b/tools/libxl/xl.h
> @@ -112,6 +112,7 @@ extern int dryrun_only;
>  extern char *lockfile;
>  extern char *default_vifscript;
>  extern char *default_bridge;
> +extern char *blkdev_start;
>  
>  enum output_format {
>      OUTPUT_FORMAT_JSON,
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 28f5cab..7338562 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -595,6 +595,8 @@ static void parse_config_data(const char *configfile_filename_report,
>      }
>  
>      libxl_domain_build_info_init_type(b_info, c_info->type);
> +    if (blkdev_start)
> +        b_info->blkdev_start = strdup(blkdev_start);
>  
>      /* the following is the actual config parsing with overriding values in the structures */
>      if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:00:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJzb-00007w-V0; Fri, 04 May 2012 15:00:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJza-00007q-Am
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:00:22 +0000
Received: from [85.158.139.83:3093] by server-9.bemta-5.messagelabs.com id
	0B/FD-09826-50FE3AF4; Fri, 04 May 2012 15:00:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336143620!15531596!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19205 invoked from network); 4 May 2012 15:00:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:00:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301562"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 15:00:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:00:01 +0100
Message-ID: <1336143599.7535.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:59:59 +0100
In-Reply-To: <1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
> 
> Changes in v5:
> - remove domid paramter to libxl__alloc_vdev (assume
>   LIBXL_TOOLSTACK_DOMID);
> - remove scaling limit from libxl__alloc_vdev.
> 
> Changes in v4:
> - rename libxl__devid_to_vdev to libxl__devid_to_localdev;
> - introduce upper bound for encode_disk_name;
> - better error handling;
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
>  tools/libxl/libxl_internal.h |    4 +++
>  tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_netbsd.c   |    6 +++++
>  4 files changed, 86 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index bd5ebb3..7a1e017 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -480,6 +480,37 @@ out:
>      return rc;
>  }
>  
> +/* libxl__alloc_vdev only works on the local domain, that is the domain
> + * where the toolstack is running */
> +static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
> +        xs_transaction_t t)
> +{
> +    int devid = 0, disk = 0, part = 0;
> +    char *vdev = NULL;
> +    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
> +
> +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);

If you specify the default blkdev_start in xl as d0 instead of xvda
doesn't at least this bit magically become portable to BSD etc too?

Or couldn't it actually be an int and save you parsing at all?

> +    if (part != 0) {
> +        LOG(ERROR, "blkdev_start is invalid");
> +        return NULL;
> +    }
> +
> +    do {
> +        vdev = GCSPRINTF("d%dp0", disk);
> +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);

libxl__device_disk_dev_number does the right thing with "d<N>" (i.e.
without the hardcoded "p0"), I think.

I'd be tempted to inline the GCSPRINTF in the arg and do away with vdev
since you don't use it again.

> +        if (libxl__xs_read(gc, t,
> +                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
> +                        dompath, devid)) == NULL) {
> +            if (errno == ENOENT)
> +                return libxl__devid_to_localdev(gc, devid);
> +            else
> +                return NULL;
> +        }
> +        disk++;
> +    } while (disk <= (1 << 20));

That's a whole lotta disks ;-)

> +    return NULL;
> +}
> +
>  char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
>          libxl_device_disk **new_disk,
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 0074ec4..a451c79 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -77,6 +77,8 @@
>  #define LIBXL_PV_EXTRA_MEMORY 1024
>  #define LIBXL_HVM_EXTRA_MEMORY 2048
>  #define LIBXL_MIN_DOM0_MEM (128*1024)
> +/* use 0 as the domid of the toolstack domain for now */
> +#define LIBXL_TOOLSTACK_DOMID 0
>  #define QEMU_SIGNATURE "DeviceModelRecord0002"
>  #define STUBDOM_CONSOLE_LOGGING 0
>  #define STUBDOM_CONSOLE_SAVE 1
> @@ -763,6 +765,8 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
>   */
>  _hidden int libxl__try_phy_backend(mode_t st_mode);
>  
> +_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
> +
>  /* from libxl_pci */
>  
>  _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 925248b..cb596a9 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -25,3 +25,48 @@ int libxl__try_phy_backend(mode_t st_mode)
>  
>      return 1;
>  }
> +
> +#define EXT_SHIFT 28
> +#define EXTENDED (1<<EXT_SHIFT)
> +#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
> +#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
> +
> +/* same as in Linux */
> +static char *encode_disk_name(char *ptr, unsigned int n)
> +{
> +    if (n >= 26)
> +        ptr = encode_disk_name(ptr, n / 26 - 1);
> +    *ptr = 'a' + n % 26;
> +    return ptr + 1;
> +}
> +
> +char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
> +{
> +    int minor;
> +    int offset;
> +    int nr_parts;
> +    char *ptr = NULL;
> +    char *ret = libxl__zalloc(gc, 32);
> +
> +    if (!VDEV_IS_EXTENDED(devid)) {
> +        minor = devid & 0xff;
> +        nr_parts = 16;
> +    } else {
> +        minor = BLKIF_MINOR_EXT(devid);
> +        nr_parts = 256;
> +    }
> +    offset = minor / nr_parts;
> +
> +	/* arbitrary upper bound */
> +	if (offset > 676)
> +		return NULL;
> +
> +    strcpy(ret, "xvd");
> +    ptr = encode_disk_name(ret + 3, offset);
> +    if (minor % nr_parts == 0)
> +        *ptr = 0;
> +    else
> +        snprintf(ptr, ret + 32 - ptr,
> +                "%d", minor & (nr_parts - 1));
> +    return ret;
> +}
> diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> index 9e0ed6d..dbf5f71 100644
> --- a/tools/libxl/libxl_netbsd.c
> +++ b/tools/libxl/libxl_netbsd.c

Aha, here's where we need a BSD contribution. CC someone?

> @@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
>  
>      return 0;
>  }
> +
> +char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
> +{
> +    /* TODO */
> +    return NULL;
> +}



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:00:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQJzb-00007w-V0; Fri, 04 May 2012 15:00:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQJza-00007q-Am
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:00:22 +0000
Received: from [85.158.139.83:3093] by server-9.bemta-5.messagelabs.com id
	0B/FD-09826-50FE3AF4; Fri, 04 May 2012 15:00:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336143620!15531596!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19205 invoked from network); 4 May 2012 15:00:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:00:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301562"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 15:00:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:00:01 +0100
Message-ID: <1336143599.7535.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 15:59:59 +0100
In-Reply-To: <1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
> 
> Changes in v5:
> - remove domid paramter to libxl__alloc_vdev (assume
>   LIBXL_TOOLSTACK_DOMID);
> - remove scaling limit from libxl__alloc_vdev.
> 
> Changes in v4:
> - rename libxl__devid_to_vdev to libxl__devid_to_localdev;
> - introduce upper bound for encode_disk_name;
> - better error handling;
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
>  tools/libxl/libxl_internal.h |    4 +++
>  tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_netbsd.c   |    6 +++++
>  4 files changed, 86 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index bd5ebb3..7a1e017 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -480,6 +480,37 @@ out:
>      return rc;
>  }
>  
> +/* libxl__alloc_vdev only works on the local domain, that is the domain
> + * where the toolstack is running */
> +static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
> +        xs_transaction_t t)
> +{
> +    int devid = 0, disk = 0, part = 0;
> +    char *vdev = NULL;
> +    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
> +
> +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);

If you specify the default blkdev_start in xl as d0 instead of xvda
doesn't at least this bit magically become portable to BSD etc too?

Or couldn't it actually be an int and save you parsing at all?

> +    if (part != 0) {
> +        LOG(ERROR, "blkdev_start is invalid");
> +        return NULL;
> +    }
> +
> +    do {
> +        vdev = GCSPRINTF("d%dp0", disk);
> +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);

libxl__device_disk_dev_number does the right thing with "d<N>" (i.e.
without the hardcoded "p0"), I think.

I'd be tempted to inline the GCSPRINTF in the arg and do away with vdev
since you don't use it again.

> +        if (libxl__xs_read(gc, t,
> +                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
> +                        dompath, devid)) == NULL) {
> +            if (errno == ENOENT)
> +                return libxl__devid_to_localdev(gc, devid);
> +            else
> +                return NULL;
> +        }
> +        disk++;
> +    } while (disk <= (1 << 20));

That's a whole lotta disks ;-)

> +    return NULL;
> +}
> +
>  char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const libxl_device_disk *in_disk,
>          libxl_device_disk **new_disk,
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 0074ec4..a451c79 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -77,6 +77,8 @@
>  #define LIBXL_PV_EXTRA_MEMORY 1024
>  #define LIBXL_HVM_EXTRA_MEMORY 2048
>  #define LIBXL_MIN_DOM0_MEM (128*1024)
> +/* use 0 as the domid of the toolstack domain for now */
> +#define LIBXL_TOOLSTACK_DOMID 0
>  #define QEMU_SIGNATURE "DeviceModelRecord0002"
>  #define STUBDOM_CONSOLE_LOGGING 0
>  #define STUBDOM_CONSOLE_SAVE 1
> @@ -763,6 +765,8 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
>   */
>  _hidden int libxl__try_phy_backend(mode_t st_mode);
>  
> +_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
> +
>  /* from libxl_pci */
>  
>  _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 925248b..cb596a9 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -25,3 +25,48 @@ int libxl__try_phy_backend(mode_t st_mode)
>  
>      return 1;
>  }
> +
> +#define EXT_SHIFT 28
> +#define EXTENDED (1<<EXT_SHIFT)
> +#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
> +#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
> +
> +/* same as in Linux */
> +static char *encode_disk_name(char *ptr, unsigned int n)
> +{
> +    if (n >= 26)
> +        ptr = encode_disk_name(ptr, n / 26 - 1);
> +    *ptr = 'a' + n % 26;
> +    return ptr + 1;
> +}
> +
> +char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
> +{
> +    int minor;
> +    int offset;
> +    int nr_parts;
> +    char *ptr = NULL;
> +    char *ret = libxl__zalloc(gc, 32);
> +
> +    if (!VDEV_IS_EXTENDED(devid)) {
> +        minor = devid & 0xff;
> +        nr_parts = 16;
> +    } else {
> +        minor = BLKIF_MINOR_EXT(devid);
> +        nr_parts = 256;
> +    }
> +    offset = minor / nr_parts;
> +
> +	/* arbitrary upper bound */
> +	if (offset > 676)
> +		return NULL;
> +
> +    strcpy(ret, "xvd");
> +    ptr = encode_disk_name(ret + 3, offset);
> +    if (minor % nr_parts == 0)
> +        *ptr = 0;
> +    else
> +        snprintf(ptr, ret + 32 - ptr,
> +                "%d", minor & (nr_parts - 1));
> +    return ret;
> +}
> diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> index 9e0ed6d..dbf5f71 100644
> --- a/tools/libxl/libxl_netbsd.c
> +++ b/tools/libxl/libxl_netbsd.c

Aha, here's where we need a BSD contribution. CC someone?

> @@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
>  
>      return 0;
>  }
> +
> +char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
> +{
> +    /* TODO */
> +    return NULL;
> +}



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:12:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:12:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKAb-0000UF-6r; Fri, 04 May 2012 15:11:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQKAY-0000UA-LM
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:11:43 +0000
Received: from [85.158.138.51:32364] by server-1.bemta-3.messagelabs.com id
	D1/DE-11491-DA1F3AF4; Fri, 04 May 2012 15:11:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336144300!25168592!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24154 invoked from network); 4 May 2012 15:11:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:11:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301791"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 15:11:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:11:39 +0100
Message-ID: <1336144298.7535.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 16:11:38 +0100
In-Reply-To: <1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> - Spawn a QEMU instance at boot time to handle disk local attach
> requests.
> 
> - Implement libxl_device_disk_local_attach for QDISKs in terms of a
> regular disk attach with the frontend and backend running in the same
> domain.
> 
> Chanegs in v5:
> - replace LIBXL__LOG with LOG.
> 
> Changes on v4:
> - improve error handling and exit paths in libxl__device_disk_local_attach.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
>  tools/hotplug/Linux/init.d/xencommons           |    3 +
>  tools/libxl/libxl_internal.c                    |   58 ++++++++++++++++++----
>  3 files changed, 53 insertions(+), 11 deletions(-)
> 
> diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
> index 6543204..0f3b9ad 100644
> --- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
> +++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
> @@ -12,3 +12,6 @@
>  
>  # Running xenbackendd in debug mode
>  #XENBACKENDD_DEBUG=[yes|on|1]
> +
> +# qemu path and log file

What does "and log file" mean?

Apart from that:
Acked-by:Ian Campbell <ian.campbell@citrix.com>

> +#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
> diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
> index 2f81ea2..9dda6e2 100644
> --- a/tools/hotplug/Linux/init.d/xencommons
> +++ b/tools/hotplug/Linux/init.d/xencommons
> @@ -104,6 +104,9 @@ do_start () {
>  	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
>  	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
>  	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
> +	echo Starting QEMU as disk backend for dom0
> +	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
> +	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
>  }
>  do_stop () {
>          echo Stopping xenconsoled
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 7a1e017..e180498 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -519,6 +519,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      int rc;
> +    xs_transaction_t t = XBT_NULL;
>      libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
>  
>      memcpy(disk, in_disk, sizeof(libxl_device_disk));
> @@ -561,13 +562,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>              break;
>          case LIBXL_DISK_BACKEND_QDISK:
>              if (disk->format != LIBXL_DISK_FORMAT_RAW) {
> -                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
> -                           " attach a qdisk image if the format is not raw");
> -                break;
> +                do {
> +                    t = xs_transaction_start(ctx->xsh);
> +                    if (t == XBT_NULL) {
> +                        LOG(ERROR, "failed to start a xenstore transaction");
> +                        goto out;
> +                    }
> +                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
> +                    if (disk->vdev == NULL) {
> +                        LOG(ERROR, "libxl__alloc_vdev failed");
> +                        goto out;
> +                    }
> +                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
> +                                t, disk)) {
> +                        LOG(ERROR, "libxl_device_disk_add failed");
> +                        goto out;
> +                    }
> +                    rc = xs_transaction_end(ctx->xsh, t, 0);
> +                } while (rc == 0 && errno == EAGAIN);
> +                t = XBT_NULL;
> +                if (rc == 0) {
> +                    LOGE(ERROR, "xenstore transaction failed");
> +                    goto out;
> +                }
> +                dev = GCSPRINTF("/dev/%s", disk->vdev);
> +            } else {
> +                dev = disk->pdev_path;
>              }
>              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       in_disk->pdev_path);
> -            dev = disk->pdev_path;
> +                       dev);
>              break;
>          default:
>              LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
> @@ -576,18 +599,31 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>      }
>  
>   out:
> +    if (t != XBT_NULL)
> +        xs_transaction_end(ctx->xsh, t, 1);
>      *new_disk = disk;
>      return dev;
>  }
>  
>  int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
>  {
> -    /* Nothing to do for PHYSTYPE_PHY. */
> -
> -    /*
> -     * For other device types assume that the blktap2 process is
> -     * needed by the soon to be started domain and do nothing.
> -     */
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            if (disk->vdev != NULL) {
> +                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
> +                        disk, 0);
> +                return libxl_device_disk_destroy(gc->owner,
> +                        LIBXL_TOOLSTACK_DOMID, disk);
> +            }
> +            break;
> +        default:
> +            /*
> +             * Nothing to do for PHYSTYPE_PHY.
> +             * For other device types assume that the blktap2 process is
> +             * needed by the soon to be started domain and do nothing.
> +             */
> +            break;
> +    }
>  
>      return 0;
>  }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:12:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:12:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKAb-0000UF-6r; Fri, 04 May 2012 15:11:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQKAY-0000UA-LM
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:11:43 +0000
Received: from [85.158.138.51:32364] by server-1.bemta-3.messagelabs.com id
	D1/DE-11491-DA1F3AF4; Fri, 04 May 2012 15:11:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336144300!25168592!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24154 invoked from network); 4 May 2012 15:11:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:11:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301791"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 15:11:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:11:39 +0100
Message-ID: <1336144298.7535.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 16:11:38 +0100
In-Reply-To: <1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> - Spawn a QEMU instance at boot time to handle disk local attach
> requests.
> 
> - Implement libxl_device_disk_local_attach for QDISKs in terms of a
> regular disk attach with the frontend and backend running in the same
> domain.
> 
> Chanegs in v5:
> - replace LIBXL__LOG with LOG.
> 
> Changes on v4:
> - improve error handling and exit paths in libxl__device_disk_local_attach.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
>  tools/hotplug/Linux/init.d/xencommons           |    3 +
>  tools/libxl/libxl_internal.c                    |   58 ++++++++++++++++++----
>  3 files changed, 53 insertions(+), 11 deletions(-)
> 
> diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
> index 6543204..0f3b9ad 100644
> --- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
> +++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
> @@ -12,3 +12,6 @@
>  
>  # Running xenbackendd in debug mode
>  #XENBACKENDD_DEBUG=[yes|on|1]
> +
> +# qemu path and log file

What does "and log file" mean?

Apart from that:
Acked-by:Ian Campbell <ian.campbell@citrix.com>

> +#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
> diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
> index 2f81ea2..9dda6e2 100644
> --- a/tools/hotplug/Linux/init.d/xencommons
> +++ b/tools/hotplug/Linux/init.d/xencommons
> @@ -104,6 +104,9 @@ do_start () {
>  	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
>  	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
>  	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
> +	echo Starting QEMU as disk backend for dom0
> +	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
> +	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
>  }
>  do_stop () {
>          echo Stopping xenconsoled
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 7a1e017..e180498 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -519,6 +519,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      int rc;
> +    xs_transaction_t t = XBT_NULL;
>      libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
>  
>      memcpy(disk, in_disk, sizeof(libxl_device_disk));
> @@ -561,13 +562,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>              break;
>          case LIBXL_DISK_BACKEND_QDISK:
>              if (disk->format != LIBXL_DISK_FORMAT_RAW) {
> -                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
> -                           " attach a qdisk image if the format is not raw");
> -                break;
> +                do {
> +                    t = xs_transaction_start(ctx->xsh);
> +                    if (t == XBT_NULL) {
> +                        LOG(ERROR, "failed to start a xenstore transaction");
> +                        goto out;
> +                    }
> +                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
> +                    if (disk->vdev == NULL) {
> +                        LOG(ERROR, "libxl__alloc_vdev failed");
> +                        goto out;
> +                    }
> +                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
> +                                t, disk)) {
> +                        LOG(ERROR, "libxl_device_disk_add failed");
> +                        goto out;
> +                    }
> +                    rc = xs_transaction_end(ctx->xsh, t, 0);
> +                } while (rc == 0 && errno == EAGAIN);
> +                t = XBT_NULL;
> +                if (rc == 0) {
> +                    LOGE(ERROR, "xenstore transaction failed");
> +                    goto out;
> +                }
> +                dev = GCSPRINTF("/dev/%s", disk->vdev);
> +            } else {
> +                dev = disk->pdev_path;
>              }
>              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       in_disk->pdev_path);
> -            dev = disk->pdev_path;
> +                       dev);
>              break;
>          default:
>              LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
> @@ -576,18 +599,31 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>      }
>  
>   out:
> +    if (t != XBT_NULL)
> +        xs_transaction_end(ctx->xsh, t, 1);
>      *new_disk = disk;
>      return dev;
>  }
>  
>  int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
>  {
> -    /* Nothing to do for PHYSTYPE_PHY. */
> -
> -    /*
> -     * For other device types assume that the blktap2 process is
> -     * needed by the soon to be started domain and do nothing.
> -     */
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            if (disk->vdev != NULL) {
> +                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
> +                        disk, 0);
> +                return libxl_device_disk_destroy(gc->owner,
> +                        LIBXL_TOOLSTACK_DOMID, disk);
> +            }
> +            break;
> +        default:
> +            /*
> +             * Nothing to do for PHYSTYPE_PHY.
> +             * For other device types assume that the blktap2 process is
> +             * needed by the soon to be started domain and do nothing.
> +             */
> +            break;
> +    }
>  
>      return 0;
>  }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:14:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:14:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKCm-0000ZP-OP; Fri, 04 May 2012 15:14:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQKCl-0000ZF-CY
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:13:59 +0000
Received: from [193.109.254.147:12151] by server-6.bemta-14.messagelabs.com id
	7E/1A-04960-632F3AF4; Fri, 04 May 2012 15:13:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336144437!7710690!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6197 invoked from network); 4 May 2012 15:13:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:13:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 15:13:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:13:57 +0100
Message-ID: <1336144436.7535.22.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 16:13:56 +0100
In-Reply-To: <1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 8/8] libxl__device_disk_local_attach:
 wait for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> In order to make sure that the block device is available and ready to be
> used, wait for state "connected" in the backend before returning.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> Changes in v5:
> - unify error paths.
> 
> Changes in v4:
> - improve exit paths.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl_internal.c |   20 +++++++++++++++++---
>  1 files changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index e180498..05faff5 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -517,8 +517,9 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const char *blkdev_start)
>  {
>      libxl_ctx *ctx = gc->owner;
> -    char *dev = NULL;
> +    char *dev = NULL, *be_path = NULL;
>      int rc;
> +    libxl__device device;
>      xs_transaction_t t = XBT_NULL;
>      libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
>  
> @@ -598,11 +599,24 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>              break;
>      }
>  
> +    if (disk->vdev != NULL) {
> +        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
> +        if (rc < 0)
> +            goto out;
> +        be_path = libxl__device_backend_path(gc, &device);
> +        rc = libxl__wait_for_backend(gc, be_path, "4");
> +        if (rc < 0)
> +            goto out;
> +    }
> +
> +    *new_disk = disk;
> +    return dev;
>   out:
>      if (t != XBT_NULL)
>          xs_transaction_end(ctx->xsh, t, 1);

There's no way to reach the preceding "return dev" with the transaction
still open? Previously we would have fallen through and done it.

> -    *new_disk = disk;
> -    return dev;
> +    else
> +        libxl__device_disk_local_detach(gc, disk);
> +    return NULL;
>  }
>  
>  int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:14:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:14:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKCm-0000ZP-OP; Fri, 04 May 2012 15:14:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQKCl-0000ZF-CY
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:13:59 +0000
Received: from [193.109.254.147:12151] by server-6.bemta-14.messagelabs.com id
	7E/1A-04960-632F3AF4; Fri, 04 May 2012 15:13:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336144437!7710690!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6197 invoked from network); 4 May 2012 15:13:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:13:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330905600"; d="scan'208";a="12301851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 15:13:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:13:57 +0100
Message-ID: <1336144436.7535.22.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 4 May 2012 16:13:56 +0100
In-Reply-To: <1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 8/8] libxl__device_disk_local_attach:
 wait for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> In order to make sure that the block device is available and ready to be
> used, wait for state "connected" in the backend before returning.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> Changes in v5:
> - unify error paths.
> 
> Changes in v4:
> - improve exit paths.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl_internal.c |   20 +++++++++++++++++---
>  1 files changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index e180498..05faff5 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -517,8 +517,9 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>          const char *blkdev_start)
>  {
>      libxl_ctx *ctx = gc->owner;
> -    char *dev = NULL;
> +    char *dev = NULL, *be_path = NULL;
>      int rc;
> +    libxl__device device;
>      xs_transaction_t t = XBT_NULL;
>      libxl_device_disk *disk = libxl__zalloc(gc, sizeof(libxl_device_disk));
>  
> @@ -598,11 +599,24 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
>              break;
>      }
>  
> +    if (disk->vdev != NULL) {
> +        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
> +        if (rc < 0)
> +            goto out;
> +        be_path = libxl__device_backend_path(gc, &device);
> +        rc = libxl__wait_for_backend(gc, be_path, "4");
> +        if (rc < 0)
> +            goto out;
> +    }
> +
> +    *new_disk = disk;
> +    return dev;
>   out:
>      if (t != XBT_NULL)
>          xs_transaction_end(ctx->xsh, t, 1);

There's no way to reach the preceding "return dev" with the transaction
still open? Previously we would have fallen through and done it.

> -    *new_disk = disk;
> -    return dev;
> +    else
> +        libxl__device_disk_local_detach(gc, disk);
> +    return NULL;
>  }
>  
>  int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:14:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKDC-0000be-4w; Fri, 04 May 2012 15:14:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SQKDB-0000bO-7F
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:14:25 +0000
Received: from [85.158.138.51:53086] by server-11.bemta-3.messagelabs.com id
	8F/FC-18894-052F3AF4; Fri, 04 May 2012 15:14:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336144462!14294702!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14879 invoked from network); 4 May 2012 15:14:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:14:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24870439"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:14:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 11:14:21 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SQKD7-00077s-2T;
	Fri, 04 May 2012 16:14:21 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 16:14:15 +0100
Message-ID: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: set guest_domid even if
	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is needed in order to perform the domain destruction if
libxl__domain_make fails.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
To be applied after IanJ libxl: subprocess handling series

 tools/libxl/libxl_create.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 928a48c..788e553 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -607,6 +607,7 @@ static void initiate_domain_create(libxl__egc *egc,
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
+        dcs->guest_domid = domid;
         ret = ERROR_FAIL;
         goto error_out;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:14:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKDC-0000be-4w; Fri, 04 May 2012 15:14:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SQKDB-0000bO-7F
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:14:25 +0000
Received: from [85.158.138.51:53086] by server-11.bemta-3.messagelabs.com id
	8F/FC-18894-052F3AF4; Fri, 04 May 2012 15:14:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336144462!14294702!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14879 invoked from network); 4 May 2012 15:14:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:14:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24870439"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:14:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 4 May 2012 11:14:21 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SQKD7-00077s-2T;
	Fri, 04 May 2012 16:14:21 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 4 May 2012 16:14:15 +0100
Message-ID: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: set guest_domid even if
	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is needed in order to perform the domain destruction if
libxl__domain_make fails.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
To be applied after IanJ libxl: subprocess handling series

 tools/libxl/libxl_create.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 928a48c..788e553 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -607,6 +607,7 @@ static void initiate_domain_create(libxl__egc *egc,
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
+        dcs->guest_domid = domid;
         ret = ERROR_FAIL;
         goto error_out;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:19:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:19:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKHi-0000yC-Rb; Fri, 04 May 2012 15:19:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQKHh-0000y5-8f
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:19:05 +0000
Received: from [85.158.143.99:51843] by server-3.bemta-4.messagelabs.com id
	7A/B9-05853-863F3AF4; Fri, 04 May 2012 15:19:04 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336144742!21211122!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2219 invoked from network); 4 May 2012 15:19:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:19:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193437307"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:19:01 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:19:01 -0400
Message-ID: <4FA3F364.5050105@citrix.com>
Date: Fri, 4 May 2012 16:19:00 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FA3C0A5.7030309@citrix.com>
	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>
In-Reply-To: <4FA3ECF90200007800081A71@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 13:51, Jan Beulich wrote:
>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> I know that xen-unstable is on a feature freeze, and this is not
>> strictly a bugfix (yet; see below), but as it is safe and designed to
>> help clarity in the case of a crash, so I request that it be considered
>> for inclusion.
>>
>> I have constructed an artificial case where the information reported in
>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>> leaves stale register state written into the offlined CPU crash
>> information.  In this case, the information was stale but correct, due
>> to the predictable nature of the Xen crash path from the 'C' debug key,
>> but there is no guarantee that in the case of a real crash, the same
>> will still be true.
> Apart from the missing blanks in the for() statement (which could as
> well be a simple memset() afaict),
> Acked-by: Jan Beulich <jbeulich@suse.com>
>
> I personally would think that this can go in as a bug fix.
>
> Jan

How would you format the for loop differently? (Not that I mind - just
so I know for next time)

As for clear_page vs memset - clear_page is faster, and liable to be
conditionally tuned more in the future.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:19:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:19:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKHi-0000yC-Rb; Fri, 04 May 2012 15:19:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQKHh-0000y5-8f
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:19:05 +0000
Received: from [85.158.143.99:51843] by server-3.bemta-4.messagelabs.com id
	7A/B9-05853-863F3AF4; Fri, 04 May 2012 15:19:04 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336144742!21211122!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2219 invoked from network); 4 May 2012 15:19:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:19:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="193437307"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:19:01 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:19:01 -0400
Message-ID: <4FA3F364.5050105@citrix.com>
Date: Fri, 4 May 2012 16:19:00 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FA3C0A5.7030309@citrix.com>
	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>
In-Reply-To: <4FA3ECF90200007800081A71@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 13:51, Jan Beulich wrote:
>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> I know that xen-unstable is on a feature freeze, and this is not
>> strictly a bugfix (yet; see below), but as it is safe and designed to
>> help clarity in the case of a crash, so I request that it be considered
>> for inclusion.
>>
>> I have constructed an artificial case where the information reported in
>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>> leaves stale register state written into the offlined CPU crash
>> information.  In this case, the information was stale but correct, due
>> to the predictable nature of the Xen crash path from the 'C' debug key,
>> but there is no guarantee that in the case of a real crash, the same
>> will still be true.
> Apart from the missing blanks in the for() statement (which could as
> well be a simple memset() afaict),
> Acked-by: Jan Beulich <jbeulich@suse.com>
>
> I personally would think that this can go in as a bug fix.
>
> Jan

How would you format the for loop differently? (Not that I mind - just
so I know for next time)

As for clear_page vs memset - clear_page is faster, and liable to be
conditionally tuned more in the future.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:25:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:25:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKNa-000179-LU; Fri, 04 May 2012 15:25:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQKNZ-00016z-Hx
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:25:09 +0000
Received: from [85.158.139.83:63665] by server-8.bemta-5.messagelabs.com id
	40/C1-26964-4D4F3AF4; Fri, 04 May 2012 15:25:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336145105!26724600!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17308 invoked from network); 4 May 2012 15:25:06 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 15:25:06 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 16:25:04 +0100
Message-Id: <4FA410F00200007800081B86@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 16:25:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FA3C0A5.7030309@citrix.com>
	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>
	<4FA3F364.5050105@citrix.com>
In-Reply-To: <4FA3F364.5050105@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 17:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 04/05/12 13:51, Jan Beulich wrote:
>>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>> I know that xen-unstable is on a feature freeze, and this is not
>>> strictly a bugfix (yet; see below), but as it is safe and designed to
>>> help clarity in the case of a crash, so I request that it be considered
>>> for inclusion.
>>>
>>> I have constructed an artificial case where the information reported in
>>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>>> leaves stale register state written into the offlined CPU crash
>>> information.  In this case, the information was stale but correct, due
>>> to the predictable nature of the Xen crash path from the 'C' debug key,
>>> but there is no guarantee that in the case of a real crash, the same
>>> will still be true.
>> Apart from the missing blanks in the for() statement (which could as
>> well be a simple memset() afaict),
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> I personally would think that this can go in as a bug fix.
>>
>> Jan
> 
> How would you format the for loop differently? (Not that I mind - just
> so I know for next time)

        for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )

> As for clear_page vs memset - clear_page is faster, and liable to be
> conditionally tuned more in the future.

Certainly, but does this matter here?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:25:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:25:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKNa-000179-LU; Fri, 04 May 2012 15:25:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQKNZ-00016z-Hx
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:25:09 +0000
Received: from [85.158.139.83:63665] by server-8.bemta-5.messagelabs.com id
	40/C1-26964-4D4F3AF4; Fri, 04 May 2012 15:25:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336145105!26724600!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17308 invoked from network); 4 May 2012 15:25:06 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 15:25:06 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 16:25:04 +0100
Message-Id: <4FA410F00200007800081B86@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 16:25:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FA3C0A5.7030309@citrix.com>
	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>
	<4FA3F364.5050105@citrix.com>
In-Reply-To: <4FA3F364.5050105@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 17:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 04/05/12 13:51, Jan Beulich wrote:
>>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>> I know that xen-unstable is on a feature freeze, and this is not
>>> strictly a bugfix (yet; see below), but as it is safe and designed to
>>> help clarity in the case of a crash, so I request that it be considered
>>> for inclusion.
>>>
>>> I have constructed an artificial case where the information reported in
>>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>>> leaves stale register state written into the offlined CPU crash
>>> information.  In this case, the information was stale but correct, due
>>> to the predictable nature of the Xen crash path from the 'C' debug key,
>>> but there is no guarantee that in the case of a real crash, the same
>>> will still be true.
>> Apart from the missing blanks in the for() statement (which could as
>> well be a simple memset() afaict),
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> I personally would think that this can go in as a bug fix.
>>
>> Jan
> 
> How would you format the for loop differently? (Not that I mind - just
> so I know for next time)

        for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )

> As for clear_page vs memset - clear_page is faster, and liable to be
> conditionally tuned more in the future.

Certainly, but does this matter here?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:39:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:39:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKba-0001Kq-6h; Fri, 04 May 2012 15:39:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQKbY-0001Kl-Jq
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:39:36 +0000
Received: from [85.158.139.83:32186] by server-11.bemta-5.messagelabs.com id
	6F/A3-12959-538F3AF4; Fri, 04 May 2012 15:39:33 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336145970!26118034!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29627 invoked from network); 4 May 2012 15:39:32 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:39:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24871762"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:39:30 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:39:29 -0400
Message-ID: <4FA3F830.1050304@citrix.com>
Date: Fri, 4 May 2012 16:39:28 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FA3C0A5.7030309@citrix.com>
	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>
	<4FA3F364.5050105@citrix.com>
	<4FA410F00200007800081B86@nat28.tlf.novell.com>
In-Reply-To: <4FA410F00200007800081B86@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------080707010503030902060200"
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------080707010503030902060200
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

On 04/05/12 16:25, Jan Beulich wrote:
>>>> On 04.05.12 at 17:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 04/05/12 13:51, Jan Beulich wrote:
>>>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>> I know that xen-unstable is on a feature freeze, and this is not
>>>> strictly a bugfix (yet; see below), but as it is safe and designed to
>>>> help clarity in the case of a crash, so I request that it be considered
>>>> for inclusion.
>>>>
>>>> I have constructed an artificial case where the information reported in
>>>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>>>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>>>> leaves stale register state written into the offlined CPU crash
>>>> information.  In this case, the information was stale but correct, due
>>>> to the predictable nature of the Xen crash path from the 'C' debug key,
>>>> but there is no guarantee that in the case of a real crash, the same
>>>> will still be true.
>>> Apart from the missing blanks in the for() statement (which could as
>>> well be a simple memset() afaict),
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> I personally would think that this can go in as a bug fix.
>>>
>>> Jan
>> How would you format the for loop differently? (Not that I mind - just
>> so I know for next time)
>         for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )

Ok - refreshed the patch as such

>
>> As for clear_page vs memset - clear_page is faster, and liable to be
>> conditionally tuned more in the future.
> Certainly, but does this matter here?
>
> Jan
>

crash_heap_size scales linearly with the number of PCPUs on the system,
so very large boxes might start noticing a difference in boot speed. 
(Probably not in the grand scheme of things, but as we are explicitly
allocating pages, it makes sense to clear them as pages)

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------080707010503030902060200
Content-Type: text/x-patch; name="kexec-clear-notes.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="kexec-clear-notes.patch"

# HG changeset patch
# Parent 98fe3b2a572d4ffe704124e75c7aa8d94dbb51bc
kexec: clear notes during setup

Explicity zero the memory backing the crash notes during setup.

This allows the crash environment to be rather more certain whether the crash
notes were actually written, rather than trusting that the memory was clear
beforehand.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 98fe3b2a572d xen/common/kexec.c
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -401,7 +401,7 @@ static int kexec_init_cpu_notes(const un
 
     /* If we dont care about the position of allocation, malloc. */
     if ( low_crashinfo_mode == LOW_CRASHINFO_NONE )
-        note = xmalloc_bytes(nr_bytes);
+        note = xzalloc_bytes(nr_bytes);
 
     /* Protect the write into crash_notes[] with a spinlock, as this function
      * is on a hotplug path and a hypercall path. */
@@ -505,7 +505,7 @@ static int __init kexec_init(void)
 
     if ( low_crashinfo_mode > LOW_CRASHINFO_NONE )
     {
-        size_t crash_heap_size;
+        size_t crash_heap_size, i;
 
         /* This calculation is safe even if the machine is booted in
          * uniprocessor mode. */
@@ -520,6 +520,9 @@ static int __init kexec_init(void)
         if ( ! crash_heap_current )
             return -ENOMEM;
 
+        for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )
+            clear_page(crash_heap_current + (i << PAGE_SHIFT));
+
         crash_heap_end = crash_heap_current + crash_heap_size;
     }
 

--------------080707010503030902060200
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------080707010503030902060200--


From xen-devel-bounces@lists.xen.org Fri May 04 15:39:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:39:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKba-0001Kq-6h; Fri, 04 May 2012 15:39:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQKbY-0001Kl-Jq
	for xen-devel@lists.xen.org; Fri, 04 May 2012 15:39:36 +0000
Received: from [85.158.139.83:32186] by server-11.bemta-5.messagelabs.com id
	6F/A3-12959-538F3AF4; Fri, 04 May 2012 15:39:33 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336145970!26118034!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDI1NDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29627 invoked from network); 4 May 2012 15:39:32 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 15:39:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,530,1330923600"; d="scan'208";a="24871762"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 11:39:30 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	11:39:29 -0400
Message-ID: <4FA3F830.1050304@citrix.com>
Date: Fri, 4 May 2012 16:39:28 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FA3C0A5.7030309@citrix.com>
	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>
	<4FA3F364.5050105@citrix.com>
	<4FA410F00200007800081B86@nat28.tlf.novell.com>
In-Reply-To: <4FA410F00200007800081B86@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------080707010503030902060200"
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------080707010503030902060200
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

On 04/05/12 16:25, Jan Beulich wrote:
>>>> On 04.05.12 at 17:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 04/05/12 13:51, Jan Beulich wrote:
>>>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>> I know that xen-unstable is on a feature freeze, and this is not
>>>> strictly a bugfix (yet; see below), but as it is safe and designed to
>>>> help clarity in the case of a crash, so I request that it be considered
>>>> for inclusion.
>>>>
>>>> I have constructed an artificial case where the information reported in
>>>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>>>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>>>> leaves stale register state written into the offlined CPU crash
>>>> information.  In this case, the information was stale but correct, due
>>>> to the predictable nature of the Xen crash path from the 'C' debug key,
>>>> but there is no guarantee that in the case of a real crash, the same
>>>> will still be true.
>>> Apart from the missing blanks in the for() statement (which could as
>>> well be a simple memset() afaict),
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> I personally would think that this can go in as a bug fix.
>>>
>>> Jan
>> How would you format the for loop differently? (Not that I mind - just
>> so I know for next time)
>         for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )

Ok - refreshed the patch as such

>
>> As for clear_page vs memset - clear_page is faster, and liable to be
>> conditionally tuned more in the future.
> Certainly, but does this matter here?
>
> Jan
>

crash_heap_size scales linearly with the number of PCPUs on the system,
so very large boxes might start noticing a difference in boot speed. 
(Probably not in the grand scheme of things, but as we are explicitly
allocating pages, it makes sense to clear them as pages)

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------080707010503030902060200
Content-Type: text/x-patch; name="kexec-clear-notes.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="kexec-clear-notes.patch"

# HG changeset patch
# Parent 98fe3b2a572d4ffe704124e75c7aa8d94dbb51bc
kexec: clear notes during setup

Explicity zero the memory backing the crash notes during setup.

This allows the crash environment to be rather more certain whether the crash
notes were actually written, rather than trusting that the memory was clear
beforehand.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 98fe3b2a572d xen/common/kexec.c
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -401,7 +401,7 @@ static int kexec_init_cpu_notes(const un
 
     /* If we dont care about the position of allocation, malloc. */
     if ( low_crashinfo_mode == LOW_CRASHINFO_NONE )
-        note = xmalloc_bytes(nr_bytes);
+        note = xzalloc_bytes(nr_bytes);
 
     /* Protect the write into crash_notes[] with a spinlock, as this function
      * is on a hotplug path and a hypercall path. */
@@ -505,7 +505,7 @@ static int __init kexec_init(void)
 
     if ( low_crashinfo_mode > LOW_CRASHINFO_NONE )
     {
-        size_t crash_heap_size;
+        size_t crash_heap_size, i;
 
         /* This calculation is safe even if the machine is booted in
          * uniprocessor mode. */
@@ -520,6 +520,9 @@ static int __init kexec_init(void)
         if ( ! crash_heap_current )
             return -ENOMEM;
 
+        for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )
+            clear_page(crash_heap_current + (i << PAGE_SHIFT));
+
         crash_heap_end = crash_heap_current + crash_heap_size;
     }
 

--------------080707010503030902060200
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------080707010503030902060200--


From xen-devel-bounces@lists.xen.org Fri May 04 15:41:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKd3-0001Oj-NS; Fri, 04 May 2012 15:41:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQKd2-0001Oe-9r
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:41:08 +0000
Received: from [85.158.143.99:53216] by server-3.bemta-4.messagelabs.com id
	8A/15-05853-398F3AF4; Fri, 04 May 2012 15:41:07 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336146066!26554007!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,UPPERCASE_25_50
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21185 invoked from network); 4 May 2012 15:41:06 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 15:41:06 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (joses mo72) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id J01c52o44FAic3
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 17:41:06 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id A32EA18630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 17:41:05 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 77ed22f4b55b4528d71e897831fe8686d8aa595e
Message-Id: <77ed22f4b55b4528d71e.1336146061@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 17:41:01 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] tools/vtpm_manager: add missing DESTDIR to
	install rule
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336146040 -7200
# Node ID 77ed22f4b55b4528d71e897831fe8686d8aa595e
# Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
tools/vtpm_manager: add missing DESTDIR to install rule

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 8f556a70ae0b -r 77ed22f4b55b tools/vtpm_manager/manager/Makefile
--- a/tools/vtpm_manager/manager/Makefile
+++ b/tools/vtpm_manager/manager/Makefile
@@ -17,7 +17,7 @@ install: build
 	if [ ! -d "$(DESTDIR)/var/vtpm/socks" ]; \
 		then mkdir -p $(DESTDIR)/var/vtpm/socks; \
 	fi
-	$(INSTALL_PROG) $(BIN) $(BINDIR)
+	$(INSTALL_PROG) $(BIN) $(DESTDIR)$(BINDIR)
 
 .PHONY: clean
 clean:
diff -r 8f556a70ae0b -r 77ed22f4b55b tools/vtpm_manager/migration/Makefile
--- a/tools/vtpm_manager/migration/Makefile
+++ b/tools/vtpm_manager/migration/Makefile
@@ -20,8 +20,8 @@ build: $(BIND) $(BINC)
 
 .PHONY: install
 install: build
-	$(INSTALL_PROG) $(BIND) $(BINDIR)
-	$(INSTALL_PROG) $(BINC) $(BINDIR)
+	$(INSTALL_PROG) $(BIND) $(DESTDIR)$(BINDIR)
+	$(INSTALL_PROG) $(BINC) $(DESTDIR)$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:41:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKd3-0001Oj-NS; Fri, 04 May 2012 15:41:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQKd2-0001Oe-9r
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:41:08 +0000
Received: from [85.158.143.99:53216] by server-3.bemta-4.messagelabs.com id
	8A/15-05853-398F3AF4; Fri, 04 May 2012 15:41:07 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336146066!26554007!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,UPPERCASE_25_50
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21185 invoked from network); 4 May 2012 15:41:06 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 15:41:06 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (joses mo72) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id J01c52o44FAic3
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 17:41:06 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id A32EA18630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 17:41:05 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 77ed22f4b55b4528d71e897831fe8686d8aa595e
Message-Id: <77ed22f4b55b4528d71e.1336146061@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 17:41:01 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] tools/vtpm_manager: add missing DESTDIR to
	install rule
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336146040 -7200
# Node ID 77ed22f4b55b4528d71e897831fe8686d8aa595e
# Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
tools/vtpm_manager: add missing DESTDIR to install rule

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 8f556a70ae0b -r 77ed22f4b55b tools/vtpm_manager/manager/Makefile
--- a/tools/vtpm_manager/manager/Makefile
+++ b/tools/vtpm_manager/manager/Makefile
@@ -17,7 +17,7 @@ install: build
 	if [ ! -d "$(DESTDIR)/var/vtpm/socks" ]; \
 		then mkdir -p $(DESTDIR)/var/vtpm/socks; \
 	fi
-	$(INSTALL_PROG) $(BIN) $(BINDIR)
+	$(INSTALL_PROG) $(BIN) $(DESTDIR)$(BINDIR)
 
 .PHONY: clean
 clean:
diff -r 8f556a70ae0b -r 77ed22f4b55b tools/vtpm_manager/migration/Makefile
--- a/tools/vtpm_manager/migration/Makefile
+++ b/tools/vtpm_manager/migration/Makefile
@@ -20,8 +20,8 @@ build: $(BIND) $(BINC)
 
 .PHONY: install
 install: build
-	$(INSTALL_PROG) $(BIND) $(BINDIR)
-	$(INSTALL_PROG) $(BINC) $(BINDIR)
+	$(INSTALL_PROG) $(BIND) $(DESTDIR)$(BINDIR)
+	$(INSTALL_PROG) $(BINC) $(DESTDIR)$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:45:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:45:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKh8-0001e8-Cp; Fri, 04 May 2012 15:45:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQKh7-0001dz-Ln
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:45:21 +0000
Received: from [193.109.254.147:37734] by server-3.bemta-14.messagelabs.com id
	65/B1-23274-199F3AF4; Fri, 04 May 2012 15:45:21 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336146320!7685025!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1581 invoked from network); 4 May 2012 15:45:20 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 15:45:20 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (joses mo86) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id F02699o44DSOf8 ;
	Fri, 4 May 2012 17:45:19 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 4EE4618637; Fri,  4 May 2012 17:45:19 +0200 (CEST)
Date: Fri, 4 May 2012 17:45:19 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504154519.GA4958@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
	<20387.44344.187553.704998@mariner.uk.xensource.com>
	<1336127272.2361.42.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336127272.2361.42.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Ian Campbell wrote:

> FWIW we don't build vTPM by default so you wouldn't have noticed the
> actual failure.
> 
> Perhaps the test system should enable non-default things like this?

Sounds like a good idea to have a full featured build test.

I just sent a patch out which fixes package build with '--enable-vtpm'
at least in a SLES11 SP1 chroot for me. For some reason I did not send
it earlier. Its 'tools/vtpm_manager: add missing DESTDIR to install rule'

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:45:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:45:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKh8-0001e8-Cp; Fri, 04 May 2012 15:45:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQKh7-0001dz-Ln
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:45:21 +0000
Received: from [193.109.254.147:37734] by server-3.bemta-14.messagelabs.com id
	65/B1-23274-199F3AF4; Fri, 04 May 2012 15:45:21 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336146320!7685025!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1581 invoked from network); 4 May 2012 15:45:20 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 15:45:20 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (joses mo86) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id F02699o44DSOf8 ;
	Fri, 4 May 2012 17:45:19 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 4EE4618637; Fri,  4 May 2012 17:45:19 +0200 (CEST)
Date: Fri, 4 May 2012 17:45:19 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120504154519.GA4958@aepfle.de>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10D810DCA@FTLPMAILBOX02.citrite.net>
	<1336058302.20716.100.camel@zakaz.uk.xensource.com>
	<20120503153616.GA10918@aepfle.de>
	<20120503155716.GA14354@aepfle.de>
	<1336120438.26385.13.camel@dagon.hellion.org.uk>
	<20120504092819.GA10010@aepfle.de>
	<20387.44344.187553.704998@mariner.uk.xensource.com>
	<1336127272.2361.42.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336127272.2361.42.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] vTPM patch does not apply
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Ian Campbell wrote:

> FWIW we don't build vTPM by default so you wouldn't have noticed the
> actual failure.
> 
> Perhaps the test system should enable non-default things like this?

Sounds like a good idea to have a full featured build test.

I just sent a patch out which fixes package build with '--enable-vtpm'
at least in a SLES11 SP1 chroot for me. For some reason I did not send
it earlier. Its 'tools/vtpm_manager: add missing DESTDIR to install rule'

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:50:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:50:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKld-0001te-5W; Fri, 04 May 2012 15:50:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQKlc-0001tZ-De
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:50:00 +0000
Received: from [85.158.143.35:37983] by server-1.bemta-4.messagelabs.com id
	92/88-20925-7AAF3AF4; Fri, 04 May 2012 15:49:59 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336146598!14077568!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=1.7 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,RCVD_NUMERIC_HELO,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18537 invoked from network); 4 May 2012 15:49:59 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 15:49:59 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQKlW-0008JR-HG
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:49:54 +0200
Received: from 94.103.167.176 ([94.103.167.176])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 17:49:54 +0200
Received: from chris.ace by 94.103.167.176 with local (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 17:49:54 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Christian Tramnitz <chris.ace@gmx.net>
Date: Fri, 4 May 2012 15:49:45 +0000 (UTC)
Lines: 18
Message-ID: <loom.20120504T173428-769@post.gmane.org>
References: <loom.20120416T171925-109@post.gmane.org>
	<1334591061.14560.213.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 94.103.167.176 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7;
	rv:12.0) Gecko/20100101 Firefox/12.0)
Subject: Re: [Xen-devel] Status of nestedhvm (on Intel)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell <Ian.Campbell <at> citrix.com> writes:
> AFAIK it is going to be an (experimental) feature in 4.2.

Short follow-up: I haven't tried with Hyper-V yet, but on current (today's
unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible, but
during load ESXi 5u1 crashes and Xen log shows:

(XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.
(XEN) hvm.c:1143:d8 All CPUs offline -- powering off.


Does anyone have an idea what MSR 485 does? It is not documented in "Intel 64
and IA-32 Architectures Software Developer's Manual"...



Regards,
   Christian


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 15:50:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 15:50:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKld-0001te-5W; Fri, 04 May 2012 15:50:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQKlc-0001tZ-De
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 15:50:00 +0000
Received: from [85.158.143.35:37983] by server-1.bemta-4.messagelabs.com id
	92/88-20925-7AAF3AF4; Fri, 04 May 2012 15:49:59 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336146598!14077568!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=1.7 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,RCVD_NUMERIC_HELO,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18537 invoked from network); 4 May 2012 15:49:59 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 15:49:59 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SQKlW-0008JR-HG
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:49:54 +0200
Received: from 94.103.167.176 ([94.103.167.176])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 17:49:54 +0200
Received: from chris.ace by 94.103.167.176 with local (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Fri, 04 May 2012 17:49:54 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Christian Tramnitz <chris.ace@gmx.net>
Date: Fri, 4 May 2012 15:49:45 +0000 (UTC)
Lines: 18
Message-ID: <loom.20120504T173428-769@post.gmane.org>
References: <loom.20120416T171925-109@post.gmane.org>
	<1334591061.14560.213.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: sea.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 94.103.167.176 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7;
	rv:12.0) Gecko/20100101 Firefox/12.0)
Subject: Re: [Xen-devel] Status of nestedhvm (on Intel)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell <Ian.Campbell <at> citrix.com> writes:
> AFAIK it is going to be an (experimental) feature in 4.2.

Short follow-up: I haven't tried with Hyper-V yet, but on current (today's
unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible, but
during load ESXi 5u1 crashes and Xen log shows:

(XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.
(XEN) hvm.c:1143:d8 All CPUs offline -- powering off.


Does anyone have an idea what MSR 485 does? It is not documented in "Intel 64
and IA-32 Architectures Software Developer's Manual"...



Regards,
   Christian


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:01:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKwW-0002Sh-C8; Fri, 04 May 2012 16:01:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SQKwU-0002Sc-F7
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:01:14 +0000
Received: from [85.158.143.99:39902] by server-3.bemta-4.messagelabs.com id
	92/FC-05853-94DF3AF4; Fri, 04 May 2012 16:01:13 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336147271!26556577!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3351 invoked from network); 4 May 2012 16:01:12 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:01:12 -0000
Received: by ggno5 with SMTP id o5so413166ggn.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 09:01:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=SlnGZjAGdv1YE/J+NjVw11rsNggb8R3jFkRpbYmw9G4=;
	b=cPTscRlXjnAzcSjov75fqGZ++fcDcp9PZKOmaOrLayre6iXU8PBvzcrwlLizAOjzq3
	+N+ChrEmJEuEU9Gjbq+4lk2Wvl0nlDPVrh0H67SdgH2kT7XxYSoV3Xzxm6ePpo5JDukG
	mwobxcd7r0vUSkz5Ri06c3QuHksZfNC5qWtGAhT11HFQTPi0VAT9KwxfXtoJap2l1+zw
	5nTweJusa28wIgIeO0gsu4GXuZWYhpscLOKPztNMolsJUT894S6dzvNk286My5w/C/0x
	MH2vLBignj5SNfJOr07ZnNT54pITGz7LpjLeqWcc5QFOrNj+3clb6bpyd8JjCB3NUgao
	rI9A==
Received: by 10.236.76.35 with SMTP id a23mr8373070yhe.125.1336147271307;
	Fri, 04 May 2012 09:01:11 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id j24sm13950334ann.18.2012.05.04.09.01.07
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 09:01:09 -0700 (PDT)
Message-ID: <4FA3FD42.2040802@cantab.net>
Date: Fri, 04 May 2012 17:01:06 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <4FA3C0A5.7030309@citrix.com>	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>	<4FA3F364.5050105@citrix.com>	<4FA410F00200007800081B86@nat28.tlf.novell.com>
	<4FA3F830.1050304@citrix.com>
In-Reply-To: <4FA3F830.1050304@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 16:39, Andrew Cooper wrote:
> On 04/05/12 16:25, Jan Beulich wrote:
>>>>> On 04.05.12 at 17:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>> On 04/05/12 13:51, Jan Beulich wrote:
>>>>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>>> I know that xen-unstable is on a feature freeze, and this is not
>>>>> strictly a bugfix (yet; see below), but as it is safe and designed to
>>>>> help clarity in the case of a crash, so I request that it be considered
>>>>> for inclusion.
>>>>>
>>>>> I have constructed an artificial case where the information reported in
>>>>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>>>>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>>>>> leaves stale register state written into the offlined CPU crash
>>>>> information.  In this case, the information was stale but correct, due
>>>>> to the predictable nature of the Xen crash path from the 'C' debug key,
>>>>> but there is no guarantee that in the case of a real crash, the same
>>>>> will still be true.
>>>> Apart from the missing blanks in the for() statement (which could as
>>>> well be a simple memset() afaict),
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> I personally would think that this can go in as a bug fix.
>>>>
>>>> Jan
>>> How would you format the for loop differently? (Not that I mind - just
>>> so I know for next time)
>>         for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )
> 
> Ok - refreshed the patch as such

See also CODING_STYLE in the top level of the Xen source tree.

>>> As for clear_page vs memset - clear_page is faster, and liable to be
>>> conditionally tuned more in the future.
>> Certainly, but does this matter here?
>>
>> Jan
>>
> 
> crash_heap_size scales linearly with the number of PCPUs on the system,
> so very large boxes might start noticing a difference in boot speed. 
> (Probably not in the grand scheme of things, but as we are explicitly
> allocating pages, it makes sense to clear them as pages)

If this is important then there should be a alloc_zeroed_xenheap_pages()
function for this and not an open-coded loop.  I'd just use a memset() here.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:01:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKwW-0002Sh-C8; Fri, 04 May 2012 16:01:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SQKwU-0002Sc-F7
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:01:14 +0000
Received: from [85.158.143.99:39902] by server-3.bemta-4.messagelabs.com id
	92/FC-05853-94DF3AF4; Fri, 04 May 2012 16:01:13 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336147271!26556577!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3351 invoked from network); 4 May 2012 16:01:12 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:01:12 -0000
Received: by ggno5 with SMTP id o5so413166ggn.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 09:01:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=SlnGZjAGdv1YE/J+NjVw11rsNggb8R3jFkRpbYmw9G4=;
	b=cPTscRlXjnAzcSjov75fqGZ++fcDcp9PZKOmaOrLayre6iXU8PBvzcrwlLizAOjzq3
	+N+ChrEmJEuEU9Gjbq+4lk2Wvl0nlDPVrh0H67SdgH2kT7XxYSoV3Xzxm6ePpo5JDukG
	mwobxcd7r0vUSkz5Ri06c3QuHksZfNC5qWtGAhT11HFQTPi0VAT9KwxfXtoJap2l1+zw
	5nTweJusa28wIgIeO0gsu4GXuZWYhpscLOKPztNMolsJUT894S6dzvNk286My5w/C/0x
	MH2vLBignj5SNfJOr07ZnNT54pITGz7LpjLeqWcc5QFOrNj+3clb6bpyd8JjCB3NUgao
	rI9A==
Received: by 10.236.76.35 with SMTP id a23mr8373070yhe.125.1336147271307;
	Fri, 04 May 2012 09:01:11 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id j24sm13950334ann.18.2012.05.04.09.01.07
	(version=SSLv3 cipher=OTHER); Fri, 04 May 2012 09:01:09 -0700 (PDT)
Message-ID: <4FA3FD42.2040802@cantab.net>
Date: Fri, 04 May 2012 17:01:06 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <4FA3C0A5.7030309@citrix.com>	<4FA3ECF90200007800081A71@nat28.tlf.novell.com>	<4FA3F364.5050105@citrix.com>	<4FA410F00200007800081B86@nat28.tlf.novell.com>
	<4FA3F830.1050304@citrix.com>
In-Reply-To: <4FA3F830.1050304@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] kexec: Clear notes during setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 16:39, Andrew Cooper wrote:
> On 04/05/12 16:25, Jan Beulich wrote:
>>>>> On 04.05.12 at 17:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>> On 04/05/12 13:51, Jan Beulich wrote:
>>>>>>> On 04.05.12 at 13:42, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>>> I know that xen-unstable is on a feature freeze, and this is not
>>>>> strictly a bugfix (yet; see below), but as it is safe and designed to
>>>>> help clarity in the case of a crash, so I request that it be considered
>>>>> for inclusion.
>>>>>
>>>>> I have constructed an artificial case where the information reported in
>>>>> 1 per-cpu crash note was stale by using low_crashinfo mode, crashing
>>>>> Xen, allowing it to reboot, offlining a CPU then re-crashing Xen.  This
>>>>> leaves stale register state written into the offlined CPU crash
>>>>> information.  In this case, the information was stale but correct, due
>>>>> to the predictable nature of the Xen crash path from the 'C' debug key,
>>>>> but there is no guarantee that in the case of a real crash, the same
>>>>> will still be true.
>>>> Apart from the missing blanks in the for() statement (which could as
>>>> well be a simple memset() afaict),
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> I personally would think that this can go in as a bug fix.
>>>>
>>>> Jan
>>> How would you format the for loop differently? (Not that I mind - just
>>> so I know for next time)
>>         for ( i = 0; i < (crash_heap_size >> PAGE_SHIFT); ++i )
> 
> Ok - refreshed the patch as such

See also CODING_STYLE in the top level of the Xen source tree.

>>> As for clear_page vs memset - clear_page is faster, and liable to be
>>> conditionally tuned more in the future.
>> Certainly, but does this matter here?
>>
>> Jan
>>
> 
> crash_heap_size scales linearly with the number of PCPUs on the system,
> so very large boxes might start noticing a difference in boot speed. 
> (Probably not in the grand scheme of things, but as we are explicitly
> allocating pages, it makes sense to clear them as pages)

If this is important then there should be a alloc_zeroed_xenheap_pages()
function for this and not an open-coded loop.  I'd just use a memset() here.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKxB-0002Uq-PR; Fri, 04 May 2012 16:01:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQKx9-0002Ui-Sv
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:01:56 +0000
Received: from [85.158.138.51:61182] by server-3.bemta-3.messagelabs.com id
	F7/81-04048-37DF3AF4; Fri, 04 May 2012 16:01:55 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336147314!25336408!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21181 invoked from network); 4 May 2012 16:01:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:01:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12303701"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:01:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:01:53 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SQKx7-0002nf-Ju;
	Fri, 04 May 2012 16:01:53 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Fri, 4 May 2012 17:01:41 +0100
Message-ID: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The dom0_max_vcpus command line option only allows the exact number of
VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
but no more than the number physically present."

Add min: and max: prefixes to the option to set a minimum number of
VCPUs, and a maximum which does not exceed the number of PCPUs.

For example, with "dom0_max_vcpus=min:4,max:8":

    PCPUs  Dom0 VCPUs
     2      4
     4      4
     6      6
     8      8
    10      8

The existing behaviour of "dom0_max_vcpus=N" still works as before.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++++++++--
 xen/arch/x86/domain_build.c         |   23 ++++++++++++++++++++++-
 2 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index a6195f2..5f0c2cd 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -272,10 +272,35 @@ Specify the bit width of the DMA heap.
 
 ### dom0\_ioports\_disable
 ### dom0\_max\_vcpus
+
+Either:
+
 > `= <integer>`
 
-Specify the maximum number of vcpus to give to dom0.  This defaults
-to the number of pcpus on the host.
+The maximum number of VCPUs to give to dom0.  This number of VCPUs can
+be more than the number of PCPUs on the host.  The default is the
+number of PCPUs.
+
+Or:
+
+> `= List of ( min:<integer> | max:<integer> )`
+
+With the `min:` option dom0 will have at least this minimum number of
+VCPUs (default: 1).  This may be more than the number of PCPUs on the
+host.
+
+With the `max:` option dom0 will have a VCPUs for each PCPUs but no
+more than this maximum number (default: unlimited).
+
+For example, with `dom0_max_vcpus=min:4,max:8`:
+
+     Number of
+  PCPUs | Dom0 VCPUs
+   2    |  4
+   4    |  4
+   6    |  6
+   8    |  8
+  10    |  8
 
 ### dom0\_mem (ia64)
 > `= <size>`
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index b3c5d4c..5407f8d 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -83,7 +83,24 @@ static void __init parse_dom0_mem(const char *s)
 custom_param("dom0_mem", parse_dom0_mem);
 
 static unsigned int __initdata opt_dom0_max_vcpus;
-integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
+static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
+static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
+
+static void __init parse_dom0_max_vcpus(const char *s)
+{
+    do {
+        if ( !strncmp(s, "min:", 4) )
+            opt_dom0_max_vcpus_min = simple_strtoul(s+4, &s, 0);
+        else if ( !strncmp(s, "max:", 4) )
+            opt_dom0_max_vcpus_max = simple_strtoul(s+4, &s, 0);
+        else
+            opt_dom0_max_vcpus = simple_strtoul(s, &s, 0);
+        if ( *s != ',' )
+            break;
+    } while ( *s++ == ',' );
+        
+}
+custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
 
 struct vcpu *__init alloc_dom0_vcpu0(void)
 {
@@ -91,6 +108,10 @@ struct vcpu *__init alloc_dom0_vcpu0(void)
         opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
     if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
         opt_dom0_max_vcpus = MAX_VIRT_CPUS;
+    if ( opt_dom0_max_vcpus_min > opt_dom0_max_vcpus )
+        opt_dom0_max_vcpus = opt_dom0_max_vcpus_min;
+    if ( opt_dom0_max_vcpus_max < opt_dom0_max_vcpus )
+        opt_dom0_max_vcpus = opt_dom0_max_vcpus_max;
 
     dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
     if ( !dom0->vcpu )
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKxB-0002Uq-PR; Fri, 04 May 2012 16:01:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQKx9-0002Ui-Sv
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:01:56 +0000
Received: from [85.158.138.51:61182] by server-3.bemta-3.messagelabs.com id
	F7/81-04048-37DF3AF4; Fri, 04 May 2012 16:01:55 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336147314!25336408!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21181 invoked from network); 4 May 2012 16:01:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:01:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12303701"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:01:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:01:53 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SQKx7-0002nf-Ju;
	Fri, 04 May 2012 16:01:53 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Fri, 4 May 2012 17:01:41 +0100
Message-ID: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The dom0_max_vcpus command line option only allows the exact number of
VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
but no more than the number physically present."

Add min: and max: prefixes to the option to set a minimum number of
VCPUs, and a maximum which does not exceed the number of PCPUs.

For example, with "dom0_max_vcpus=min:4,max:8":

    PCPUs  Dom0 VCPUs
     2      4
     4      4
     6      6
     8      8
    10      8

The existing behaviour of "dom0_max_vcpus=N" still works as before.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++++++++--
 xen/arch/x86/domain_build.c         |   23 ++++++++++++++++++++++-
 2 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index a6195f2..5f0c2cd 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -272,10 +272,35 @@ Specify the bit width of the DMA heap.
 
 ### dom0\_ioports\_disable
 ### dom0\_max\_vcpus
+
+Either:
+
 > `= <integer>`
 
-Specify the maximum number of vcpus to give to dom0.  This defaults
-to the number of pcpus on the host.
+The maximum number of VCPUs to give to dom0.  This number of VCPUs can
+be more than the number of PCPUs on the host.  The default is the
+number of PCPUs.
+
+Or:
+
+> `= List of ( min:<integer> | max:<integer> )`
+
+With the `min:` option dom0 will have at least this minimum number of
+VCPUs (default: 1).  This may be more than the number of PCPUs on the
+host.
+
+With the `max:` option dom0 will have a VCPUs for each PCPUs but no
+more than this maximum number (default: unlimited).
+
+For example, with `dom0_max_vcpus=min:4,max:8`:
+
+     Number of
+  PCPUs | Dom0 VCPUs
+   2    |  4
+   4    |  4
+   6    |  6
+   8    |  8
+  10    |  8
 
 ### dom0\_mem (ia64)
 > `= <size>`
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index b3c5d4c..5407f8d 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -83,7 +83,24 @@ static void __init parse_dom0_mem(const char *s)
 custom_param("dom0_mem", parse_dom0_mem);
 
 static unsigned int __initdata opt_dom0_max_vcpus;
-integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
+static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
+static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
+
+static void __init parse_dom0_max_vcpus(const char *s)
+{
+    do {
+        if ( !strncmp(s, "min:", 4) )
+            opt_dom0_max_vcpus_min = simple_strtoul(s+4, &s, 0);
+        else if ( !strncmp(s, "max:", 4) )
+            opt_dom0_max_vcpus_max = simple_strtoul(s+4, &s, 0);
+        else
+            opt_dom0_max_vcpus = simple_strtoul(s, &s, 0);
+        if ( *s != ',' )
+            break;
+    } while ( *s++ == ',' );
+        
+}
+custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
 
 struct vcpu *__init alloc_dom0_vcpu0(void)
 {
@@ -91,6 +108,10 @@ struct vcpu *__init alloc_dom0_vcpu0(void)
         opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
     if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
         opt_dom0_max_vcpus = MAX_VIRT_CPUS;
+    if ( opt_dom0_max_vcpus_min > opt_dom0_max_vcpus )
+        opt_dom0_max_vcpus = opt_dom0_max_vcpus_min;
+    if ( opt_dom0_max_vcpus_max < opt_dom0_max_vcpus )
+        opt_dom0_max_vcpus = opt_dom0_max_vcpus_max;
 
     dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
     if ( !dom0->vcpu )
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:03:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:03:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKyH-0002fh-7e; Fri, 04 May 2012 16:03:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQKyG-0002fV-EN
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:03:04 +0000
Received: from [85.158.139.83:22193] by server-5.bemta-5.messagelabs.com id
	B6/C6-13566-7BDF3AF4; Fri, 04 May 2012 16:03:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336147381!26805302!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29845 invoked from network); 4 May 2012 16:03:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 16:03:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 17:03:00 +0100
Message-Id: <4FA419D30200007800081BE8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 17:02:59 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Christian Tramnitz" <chris.ace@gmx.net>
References: <loom.20120416T171925-109@post.gmane.org>
	<1334591061.14560.213.camel@zakaz.uk.xensource.com>
	<loom.20120504T173428-769@post.gmane.org>
In-Reply-To: <loom.20120504T173428-769@post.gmane.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Status of nestedhvm (on Intel)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 17:49, Christian Tramnitz <chris.ace@gmx.net> wrote:
> Ian Campbell <Ian.Campbell <at> citrix.com> writes:
>> AFAIK it is going to be an (experimental) feature in 4.2.
> 
> Short follow-up: I haven't tried with Hyper-V yet, but on current (today's
> unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible, but
> during load ESXi 5u1 crashes and Xen log shows:
> 
> (XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.
> (XEN) hvm.c:1143:d8 All CPUs offline -- powering off.
> 
> 
> Does anyone have an idea what MSR 485 does? It is not documented in "Intel 
> 64 and IA-32 Architectures Software Developer's Manual"...

xen/include/asm-x86/msr-index.h says

#define MSR_IA32_VMX_MISC                       0x485

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:03:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:03:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQKyH-0002fh-7e; Fri, 04 May 2012 16:03:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQKyG-0002fV-EN
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:03:04 +0000
Received: from [85.158.139.83:22193] by server-5.bemta-5.messagelabs.com id
	B6/C6-13566-7BDF3AF4; Fri, 04 May 2012 16:03:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336147381!26805302!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29845 invoked from network); 4 May 2012 16:03:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 16:03:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 17:03:00 +0100
Message-Id: <4FA419D30200007800081BE8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 17:02:59 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Christian Tramnitz" <chris.ace@gmx.net>
References: <loom.20120416T171925-109@post.gmane.org>
	<1334591061.14560.213.camel@zakaz.uk.xensource.com>
	<loom.20120504T173428-769@post.gmane.org>
In-Reply-To: <loom.20120504T173428-769@post.gmane.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Status of nestedhvm (on Intel)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 17:49, Christian Tramnitz <chris.ace@gmx.net> wrote:
> Ian Campbell <Ian.Campbell <at> citrix.com> writes:
>> AFAIK it is going to be an (experimental) feature in 4.2.
> 
> Short follow-up: I haven't tried with Hyper-V yet, but on current (today's
> unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible, but
> during load ESXi 5u1 crashes and Xen log shows:
> 
> (XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.
> (XEN) hvm.c:1143:d8 All CPUs offline -- powering off.
> 
> 
> Does anyone have an idea what MSR 485 does? It is not documented in "Intel 
> 64 and IA-32 Architectures Software Developer's Manual"...

xen/include/asm-x86/msr-index.h says

#define MSR_IA32_VMX_MISC                       0x485

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:06:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:06:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQL0w-0002x9-VC; Fri, 04 May 2012 16:05:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwestfall@surrealistic.net>) id 1SQL0v-0002x0-2S
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:05:49 +0000
Received: from [85.158.143.35:15986] by server-2.bemta-4.messagelabs.com id
	B6/70-17550-C5EF3AF4; Fri, 04 May 2012 16:05:48 +0000
X-Env-Sender: jwestfall@surrealistic.net
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336147545!14181569!1
X-Originating-IP: [75.151.103.193]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5401 invoked from network); 4 May 2012 16:05:46 -0000
Received: from whipper.surrealistic.net (HELO whipper.surrealistic.net)
	(75.151.103.193)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 16:05:46 -0000
Received: from jwestfall by whipper.surrealistic.net with local (Exim 4.69)
	(envelope-from <jwestfall@surrealistic.net>)
	id 1SQL07-0005eY-C6; Fri, 04 May 2012 09:04:59 -0700
Date: Fri, 4 May 2012 09:04:59 -0700
From: Jim Westfall <jwestfall@surrealistic.net>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120504160459.GX5985@surrealistic.net>
References: <20120502185402.GV5985@surrealistic.net>
	<4FA3BD2602000078000818F7@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA3BD2602000078000818F7@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich <JBeulich@suse.com> wrote [05.04.12]:
> >>> On 02.05.12 at 20:54, Jim Westfall <jwestfall@surrealistic.net> wrote:
> > The summary is that when gcc compiles something with -mfma4 it also 
> > enables the use of the avx instruction set.  Since by default xen 
> > disables avx it leads to invalid opcodes.
> 
> Not that I know of, at least not anymore in current -unstable.
> 
> > This ends up being kinda nasty with the multiarch glibc since its doing 
> > stuff like
> > 
> > (HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))
> 
> The question is what (runtime) tests HAS_FMA includes. I know that
> some glibc versions had a broken AVX check (which only checked for
> the AVX feature flag, while the specification explicitly states that
> a prerequisite check of the OSXSAVE feature flag is also necessary).

Its just a basic cpuid() call and seeing if the FMA4 bit is set.  I will 
bug the glibc guys.  Thanks for the feedback.

jim


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:06:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:06:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQL0w-0002x9-VC; Fri, 04 May 2012 16:05:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jwestfall@surrealistic.net>) id 1SQL0v-0002x0-2S
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:05:49 +0000
Received: from [85.158.143.35:15986] by server-2.bemta-4.messagelabs.com id
	B6/70-17550-C5EF3AF4; Fri, 04 May 2012 16:05:48 +0000
X-Env-Sender: jwestfall@surrealistic.net
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336147545!14181569!1
X-Originating-IP: [75.151.103.193]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5401 invoked from network); 4 May 2012 16:05:46 -0000
Received: from whipper.surrealistic.net (HELO whipper.surrealistic.net)
	(75.151.103.193)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	4 May 2012 16:05:46 -0000
Received: from jwestfall by whipper.surrealistic.net with local (Exim 4.69)
	(envelope-from <jwestfall@surrealistic.net>)
	id 1SQL07-0005eY-C6; Fri, 04 May 2012 09:04:59 -0700
Date: Fri, 4 May 2012 09:04:59 -0700
From: Jim Westfall <jwestfall@surrealistic.net>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120504160459.GX5985@surrealistic.net>
References: <20120502185402.GV5985@surrealistic.net>
	<4FA3BD2602000078000818F7@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA3BD2602000078000818F7@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.17+20080114 (2008-01-14)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] fma4/avx under xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich <JBeulich@suse.com> wrote [05.04.12]:
> >>> On 02.05.12 at 20:54, Jim Westfall <jwestfall@surrealistic.net> wrote:
> > The summary is that when gcc compiles something with -mfma4 it also 
> > enables the use of the avx instruction set.  Since by default xen 
> > disables avx it leads to invalid opcodes.
> 
> Not that I know of, at least not anymore in current -unstable.
> 
> > This ends up being kinda nasty with the multiarch glibc since its doing 
> > stuff like
> > 
> > (HAS_FMA4 ? run_fma4_func() : (HAS_AVX ? run_avx_func() : run_func()))
> 
> The question is what (runtime) tests HAS_FMA includes. I know that
> some glibc versions had a broken AVX check (which only checked for
> the AVX feature flag, while the specification explicitly states that
> a prerequisite check of the OSXSAVE feature flag is also necessary).

Its just a basic cpuid() call and seeing if the FMA4 bit is set.  I will 
bug the glibc guys.  Thanks for the feedback.

jim


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:12:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQL72-0003BM-QC; Fri, 04 May 2012 16:12:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQL70-0003BH-MZ
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:12:06 +0000
Received: from [85.158.139.83:18387] by server-8.bemta-5.messagelabs.com id
	6E/74-26964-5DFF3AF4; Fri, 04 May 2012 16:12:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336147923!19579185!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14911 invoked from network); 4 May 2012 16:12:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 16:12:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 17:12:02 +0100
Message-Id: <4FA41BF20200007800081BFE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 17:12:02 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> The dom0_max_vcpus command line option only allows the exact number of
> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
> but no more than the number physically present."
> 
> Add min: and max: prefixes to the option to set a minimum number of
> VCPUs, and a maximum which does not exceed the number of PCPUs.
> 
> For example, with "dom0_max_vcpus=min:4,max:8":

Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
how about simply allowing a range along with a simple number (since
negative values make no sense, omitting either side of the range would
be supportable if necessary.

>     PCPUs  Dom0 VCPUs
>      2      4
>      4      4
>      6      6
>      8      8
>     10      8
> 
> The existing behaviour of "dom0_max_vcpus=N" still works as before.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
>  docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++++++++--
>  xen/arch/x86/domain_build.c         |   23 ++++++++++++++++++++++-
>  2 files changed, 49 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/misc/xen-command-line.markdown 
> b/docs/misc/xen-command-line.markdown
> index a6195f2..5f0c2cd 100644
> --- a/docs/misc/xen-command-line.markdown
> +++ b/docs/misc/xen-command-line.markdown
> @@ -272,10 +272,35 @@ Specify the bit width of the DMA heap.
>  
>  ### dom0\_ioports\_disable
>  ### dom0\_max\_vcpus
> +
> +Either:
> +
>  > `= <integer>`
>  
> -Specify the maximum number of vcpus to give to dom0.  This defaults
> -to the number of pcpus on the host.
> +The maximum number of VCPUs to give to dom0.  This number of VCPUs can
> +be more than the number of PCPUs on the host.  The default is the
> +number of PCPUs.
> +
> +Or:
> +
> +> `= List of ( min:<integer> | max:<integer> )`
> +
> +With the `min:` option dom0 will have at least this minimum number of
> +VCPUs (default: 1).  This may be more than the number of PCPUs on the
> +host.
> +
> +With the `max:` option dom0 will have a VCPUs for each PCPUs but no
> +more than this maximum number (default: unlimited).
> +
> +For example, with `dom0_max_vcpus=min:4,max:8`:
> +
> +     Number of
> +  PCPUs | Dom0 VCPUs
> +   2    |  4
> +   4    |  4
> +   6    |  6
> +   8    |  8
> +  10    |  8
>  
>  ### dom0\_mem (ia64)
>  > `= <size>`
> diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
> index b3c5d4c..5407f8d 100644
> --- a/xen/arch/x86/domain_build.c
> +++ b/xen/arch/x86/domain_build.c
> @@ -83,7 +83,24 @@ static void __init parse_dom0_mem(const char *s)
>  custom_param("dom0_mem", parse_dom0_mem);
>  
>  static unsigned int __initdata opt_dom0_max_vcpus;
> -integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
> +static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
> +static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
> +
> +static void __init parse_dom0_max_vcpus(const char *s)
> +{
> +    do {
> +        if ( !strncmp(s, "min:", 4) )
> +            opt_dom0_max_vcpus_min = simple_strtoul(s+4, &s, 0);
> +        else if ( !strncmp(s, "max:", 4) )
> +            opt_dom0_max_vcpus_max = simple_strtoul(s+4, &s, 0);
> +        else
> +            opt_dom0_max_vcpus = simple_strtoul(s, &s, 0);
> +        if ( *s != ',' )
> +            break;
> +    } while ( *s++ == ',' );
> +        
> +}
> +custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
>  
>  struct vcpu *__init alloc_dom0_vcpu0(void)
>  {
> @@ -91,6 +108,10 @@ struct vcpu *__init alloc_dom0_vcpu0(void)
>          opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
>      if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
>          opt_dom0_max_vcpus = MAX_VIRT_CPUS;
> +    if ( opt_dom0_max_vcpus_min > opt_dom0_max_vcpus )
> +        opt_dom0_max_vcpus = opt_dom0_max_vcpus_min;

Enlarging the value after the MAX_VIRT_CPUS range check must
not be done. You probably simply want to move your addition up
two lines.

> +    if ( opt_dom0_max_vcpus_max < opt_dom0_max_vcpus )
> +        opt_dom0_max_vcpus = opt_dom0_max_vcpus_max;

But please avoid ...=max: (number lost for some reason) rendering
the box unbootable (I'd say a maximum of zero should be interpreted
as 1).

Jan

>  
>      dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
>      if ( !dom0->vcpu )
> -- 
> 1.7.2.5



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:12:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQL72-0003BM-QC; Fri, 04 May 2012 16:12:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SQL70-0003BH-MZ
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:12:06 +0000
Received: from [85.158.139.83:18387] by server-8.bemta-5.messagelabs.com id
	6E/74-26964-5DFF3AF4; Fri, 04 May 2012 16:12:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336147923!19579185!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14911 invoked from network); 4 May 2012 16:12:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 16:12:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 04 May 2012 17:12:02 +0100
Message-Id: <4FA41BF20200007800081BFE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 04 May 2012 17:12:02 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> The dom0_max_vcpus command line option only allows the exact number of
> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
> but no more than the number physically present."
> 
> Add min: and max: prefixes to the option to set a minimum number of
> VCPUs, and a maximum which does not exceed the number of PCPUs.
> 
> For example, with "dom0_max_vcpus=min:4,max:8":

Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
how about simply allowing a range along with a simple number (since
negative values make no sense, omitting either side of the range would
be supportable if necessary.

>     PCPUs  Dom0 VCPUs
>      2      4
>      4      4
>      6      6
>      8      8
>     10      8
> 
> The existing behaviour of "dom0_max_vcpus=N" still works as before.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
>  docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++++++++--
>  xen/arch/x86/domain_build.c         |   23 ++++++++++++++++++++++-
>  2 files changed, 49 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/misc/xen-command-line.markdown 
> b/docs/misc/xen-command-line.markdown
> index a6195f2..5f0c2cd 100644
> --- a/docs/misc/xen-command-line.markdown
> +++ b/docs/misc/xen-command-line.markdown
> @@ -272,10 +272,35 @@ Specify the bit width of the DMA heap.
>  
>  ### dom0\_ioports\_disable
>  ### dom0\_max\_vcpus
> +
> +Either:
> +
>  > `= <integer>`
>  
> -Specify the maximum number of vcpus to give to dom0.  This defaults
> -to the number of pcpus on the host.
> +The maximum number of VCPUs to give to dom0.  This number of VCPUs can
> +be more than the number of PCPUs on the host.  The default is the
> +number of PCPUs.
> +
> +Or:
> +
> +> `= List of ( min:<integer> | max:<integer> )`
> +
> +With the `min:` option dom0 will have at least this minimum number of
> +VCPUs (default: 1).  This may be more than the number of PCPUs on the
> +host.
> +
> +With the `max:` option dom0 will have a VCPUs for each PCPUs but no
> +more than this maximum number (default: unlimited).
> +
> +For example, with `dom0_max_vcpus=min:4,max:8`:
> +
> +     Number of
> +  PCPUs | Dom0 VCPUs
> +   2    |  4
> +   4    |  4
> +   6    |  6
> +   8    |  8
> +  10    |  8
>  
>  ### dom0\_mem (ia64)
>  > `= <size>`
> diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
> index b3c5d4c..5407f8d 100644
> --- a/xen/arch/x86/domain_build.c
> +++ b/xen/arch/x86/domain_build.c
> @@ -83,7 +83,24 @@ static void __init parse_dom0_mem(const char *s)
>  custom_param("dom0_mem", parse_dom0_mem);
>  
>  static unsigned int __initdata opt_dom0_max_vcpus;
> -integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
> +static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
> +static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
> +
> +static void __init parse_dom0_max_vcpus(const char *s)
> +{
> +    do {
> +        if ( !strncmp(s, "min:", 4) )
> +            opt_dom0_max_vcpus_min = simple_strtoul(s+4, &s, 0);
> +        else if ( !strncmp(s, "max:", 4) )
> +            opt_dom0_max_vcpus_max = simple_strtoul(s+4, &s, 0);
> +        else
> +            opt_dom0_max_vcpus = simple_strtoul(s, &s, 0);
> +        if ( *s != ',' )
> +            break;
> +    } while ( *s++ == ',' );
> +        
> +}
> +custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
>  
>  struct vcpu *__init alloc_dom0_vcpu0(void)
>  {
> @@ -91,6 +108,10 @@ struct vcpu *__init alloc_dom0_vcpu0(void)
>          opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
>      if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
>          opt_dom0_max_vcpus = MAX_VIRT_CPUS;
> +    if ( opt_dom0_max_vcpus_min > opt_dom0_max_vcpus )
> +        opt_dom0_max_vcpus = opt_dom0_max_vcpus_min;

Enlarging the value after the MAX_VIRT_CPUS range check must
not be done. You probably simply want to move your addition up
two lines.

> +    if ( opt_dom0_max_vcpus_max < opt_dom0_max_vcpus )
> +        opt_dom0_max_vcpus = opt_dom0_max_vcpus_max;

But please avoid ...=max: (number lost for some reason) rendering
the box unbootable (I'd say a maximum of zero should be interpreted
as 1).

Jan

>  
>      dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
>      if ( !dom0->vcpu )
> -- 
> 1.7.2.5



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:12:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:12:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQL7F-0003CB-66; Fri, 04 May 2012 16:12:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jun.nakajima@intel.com>) id 1SQL7E-0003C2-Ao
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:12:20 +0000
Received: from [85.158.143.99:35518] by server-3.bemta-4.messagelabs.com id
	09/48-05853-3EFF3AF4; Fri, 04 May 2012 16:12:19 +0000
X-Env-Sender: jun.nakajima@intel.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336147937!21258025!1
X-Originating-IP: [143.182.124.22]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8587 invoked from network); 4 May 2012 16:12:18 -0000
Received: from mga07.intel.com (HELO azsmga101.ch.intel.com) (143.182.124.22)
	by server-4.tower-216.messagelabs.com with SMTP;
	4 May 2012 16:12:18 -0000
Received: from mail-bk0-f52.google.com ([209.85.214.52])
	by mga03.intel.com with ESMTP/TLS/RC4-SHA; 04 May 2012 09:12:16 -0700
Received: by bkcjc3 with SMTP id jc3so2392323bkc.25
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 09:12:15 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:x-gm-message-state;
	bh=QNHuzyu9/5AQUJtCFjw0xmwDXpphaqdsPJM7IAWhSDI=;
	b=RJnoSipYyovE9BQdbH+JCSdblouk3L3xUYSUwT2g5Hi3hqhZpkFLCvz85FArjvQUCf
	37+u7z2sCYuDm7x/PtR38aqDFzv9KZ+mXw+5Fhe22kpavuL1iJiOvTEVQuRV+6+uyn2X
	Gl1MRBDazqPmbiuvE6eVW4U0ig/H1qxW+s1/quZo4eE47FGBSjHojGtEL96IomUfIrm1
	ZnQ0toAG2CcqNe9j2LYxKHPZw1s5XwGDUxRap4xS7ZgKZPIyCp8iO71PIaMXNf4J7HSJ
	Ht8Pt52XPNH35VgFU1GO/cOhKlNhU2/Xphn0fRZb+dgA5x75+/H8kbt5s1fAeGmKt1xk
	Bm9g==
MIME-Version: 1.0
Received: by 10.204.151.200 with SMTP id d8mr2446253bkw.82.1336147934774; Fri,
	04 May 2012 09:12:14 -0700 (PDT)
Received: by 10.204.171.10 with HTTP; Fri, 4 May 2012 09:12:14 -0700 (PDT)
In-Reply-To: <4FA419D30200007800081BE8@nat28.tlf.novell.com>
References: <loom.20120416T171925-109@post.gmane.org>
	<1334591061.14560.213.camel@zakaz.uk.xensource.com>
	<loom.20120504T173428-769@post.gmane.org>
	<4FA419D30200007800081BE8@nat28.tlf.novell.com>
Date: Fri, 4 May 2012 09:12:14 -0700
Message-ID: <CAL54oT2-qYBJFNJxYFKnBFvMZyniOi1c_aBwzb1egJoiNsp5gQ@mail.gmail.com>
From: "Nakajima, Jun" <jun.nakajima@intel.com>
To: Jan Beulich <JBeulich@suse.com>
X-Gm-Message-State: ALoCoQnhVHOzyHG5efJTLi/0qZCyM9A0QfVOUKqAAz0K3mR2gRe+xRB3SK9foxethoh9Wif7EIx4
Cc: Christian Tramnitz <chris.ace@gmx.net>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Status of nestedhvm (on Intel)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8263549427243016779=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8263549427243016779==
Content-Type: multipart/alternative; boundary=0015175cba8405044b04bf382f4a

--0015175cba8405044b04bf382f4a
Content-Type: text/plain; charset=ISO-8859-1

And it's documented in A.6 (Appendix A).

A.6 MISCELLANEOUS DATA
The IA32_VMX_MISC MSR (index 485H) consists of the following fields:
...


On Fri, May 4, 2012 at 9:02 AM, Jan Beulich <JBeulich@suse.com> wrote:

> >>> On 04.05.12 at 17:49, Christian Tramnitz <chris.ace@gmx.net> wrote:
> > Ian Campbell <Ian.Campbell <at> citrix.com> writes:
> >> AFAIK it is going to be an (experimental) feature in 4.2.
> >
> > Short follow-up: I haven't tried with Hyper-V yet, but on current
> (today's
> > unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible,
> but
> > during load ESXi 5u1 crashes and Xen log shows:
> >
> > (XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.
> > (XEN) hvm.c:1143:d8 All CPUs offline -- powering off.
> >
> >
> > Does anyone have an idea what MSR 485 does? It is not documented in
> "Intel
> > 64 and IA-32 Architectures Software Developer's Manual"...
>
> xen/include/asm-x86/msr-index.h says
>
> #define MSR_IA32_VMX_MISC                       0x485
>
> Jan
>
> --
Jun
Intel Open Source Technology Center

--0015175cba8405044b04bf382f4a
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

And it&#39;s documented in A.6 (Appendix A).<div><br><div><div>A.6 MISCELLA=
NEOUS DATA</div><div>The IA32_VMX_MISC MSR (index 485H) consists of the fol=
lowing fields:</div><div>...</div><div><br></div><br><div class=3D"gmail_qu=
ote">
On Fri, May 4, 2012 at 9:02 AM, Jan Beulich <span dir=3D"ltr">&lt;<a href=
=3D"mailto:JBeulich@suse.com" target=3D"_blank">JBeulich@suse.com</a>&gt;</=
span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">&gt;&gt;&gt; On 04.05.12 at 17:49, Christian Tramnitz &lt=
;<a href=3D"mailto:chris.ace@gmx.net">chris.ace@gmx.net</a>&gt; wrote:<br>
&gt; Ian Campbell &lt;Ian.Campbell &lt;at&gt; <a href=3D"http://citrix.com"=
 target=3D"_blank">citrix.com</a>&gt; writes:<br>
&gt;&gt; AFAIK it is going to be an (experimental) feature in 4.2.<br>
&gt;<br>
&gt; Short follow-up: I haven&#39;t tried with Hyper-V yet, but on current =
(today&#39;s<br>
&gt; unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible,=
 but<br>
&gt; during load ESXi 5u1 crashes and Xen log shows:<br>
&gt;<br>
&gt; (XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.<br>
&gt; (XEN) hvm.c:1143:d8 All CPUs offline -- powering off.<br>
&gt;<br>
&gt;<br>
&gt; Does anyone have an idea what MSR 485 does? It is not documented in &q=
uot;Intel<br>
&gt; 64 and IA-32 Architectures Software Developer&#39;s Manual&quot;...<br=
>
<br>
</div>xen/include/asm-x86/msr-index.h says<br>
<br>
#define MSR_IA32_VMX_MISC =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 0x485=
<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
Jan<br>
<br></div></div></blockquote></div>-- <br><div><div>Jun</div><div><div>Inte=
l Open Source Technology Center</div></div></div><br>
</div></div>

--0015175cba8405044b04bf382f4a--


--===============8263549427243016779==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8263549427243016779==--


From xen-devel-bounces@lists.xen.org Fri May 04 16:12:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:12:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQL7F-0003CB-66; Fri, 04 May 2012 16:12:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jun.nakajima@intel.com>) id 1SQL7E-0003C2-Ao
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:12:20 +0000
Received: from [85.158.143.99:35518] by server-3.bemta-4.messagelabs.com id
	09/48-05853-3EFF3AF4; Fri, 04 May 2012 16:12:19 +0000
X-Env-Sender: jun.nakajima@intel.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336147937!21258025!1
X-Originating-IP: [143.182.124.22]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8587 invoked from network); 4 May 2012 16:12:18 -0000
Received: from mga07.intel.com (HELO azsmga101.ch.intel.com) (143.182.124.22)
	by server-4.tower-216.messagelabs.com with SMTP;
	4 May 2012 16:12:18 -0000
Received: from mail-bk0-f52.google.com ([209.85.214.52])
	by mga03.intel.com with ESMTP/TLS/RC4-SHA; 04 May 2012 09:12:16 -0700
Received: by bkcjc3 with SMTP id jc3so2392323bkc.25
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 09:12:15 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:x-gm-message-state;
	bh=QNHuzyu9/5AQUJtCFjw0xmwDXpphaqdsPJM7IAWhSDI=;
	b=RJnoSipYyovE9BQdbH+JCSdblouk3L3xUYSUwT2g5Hi3hqhZpkFLCvz85FArjvQUCf
	37+u7z2sCYuDm7x/PtR38aqDFzv9KZ+mXw+5Fhe22kpavuL1iJiOvTEVQuRV+6+uyn2X
	Gl1MRBDazqPmbiuvE6eVW4U0ig/H1qxW+s1/quZo4eE47FGBSjHojGtEL96IomUfIrm1
	ZnQ0toAG2CcqNe9j2LYxKHPZw1s5XwGDUxRap4xS7ZgKZPIyCp8iO71PIaMXNf4J7HSJ
	Ht8Pt52XPNH35VgFU1GO/cOhKlNhU2/Xphn0fRZb+dgA5x75+/H8kbt5s1fAeGmKt1xk
	Bm9g==
MIME-Version: 1.0
Received: by 10.204.151.200 with SMTP id d8mr2446253bkw.82.1336147934774; Fri,
	04 May 2012 09:12:14 -0700 (PDT)
Received: by 10.204.171.10 with HTTP; Fri, 4 May 2012 09:12:14 -0700 (PDT)
In-Reply-To: <4FA419D30200007800081BE8@nat28.tlf.novell.com>
References: <loom.20120416T171925-109@post.gmane.org>
	<1334591061.14560.213.camel@zakaz.uk.xensource.com>
	<loom.20120504T173428-769@post.gmane.org>
	<4FA419D30200007800081BE8@nat28.tlf.novell.com>
Date: Fri, 4 May 2012 09:12:14 -0700
Message-ID: <CAL54oT2-qYBJFNJxYFKnBFvMZyniOi1c_aBwzb1egJoiNsp5gQ@mail.gmail.com>
From: "Nakajima, Jun" <jun.nakajima@intel.com>
To: Jan Beulich <JBeulich@suse.com>
X-Gm-Message-State: ALoCoQnhVHOzyHG5efJTLi/0qZCyM9A0QfVOUKqAAz0K3mR2gRe+xRB3SK9foxethoh9Wif7EIx4
Cc: Christian Tramnitz <chris.ace@gmx.net>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Status of nestedhvm (on Intel)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8263549427243016779=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8263549427243016779==
Content-Type: multipart/alternative; boundary=0015175cba8405044b04bf382f4a

--0015175cba8405044b04bf382f4a
Content-Type: text/plain; charset=ISO-8859-1

And it's documented in A.6 (Appendix A).

A.6 MISCELLANEOUS DATA
The IA32_VMX_MISC MSR (index 485H) consists of the following fields:
...


On Fri, May 4, 2012 at 9:02 AM, Jan Beulich <JBeulich@suse.com> wrote:

> >>> On 04.05.12 at 17:49, Christian Tramnitz <chris.ace@gmx.net> wrote:
> > Ian Campbell <Ian.Campbell <at> citrix.com> writes:
> >> AFAIK it is going to be an (experimental) feature in 4.2.
> >
> > Short follow-up: I haven't tried with Hyper-V yet, but on current
> (today's
> > unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible,
> but
> > during load ESXi 5u1 crashes and Xen log shows:
> >
> > (XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.
> > (XEN) hvm.c:1143:d8 All CPUs offline -- powering off.
> >
> >
> > Does anyone have an idea what MSR 485 does? It is not documented in
> "Intel
> > 64 and IA-32 Architectures Software Developer's Manual"...
>
> xen/include/asm-x86/msr-index.h says
>
> #define MSR_IA32_VMX_MISC                       0x485
>
> Jan
>
> --
Jun
Intel Open Source Technology Center

--0015175cba8405044b04bf382f4a
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

And it&#39;s documented in A.6 (Appendix A).<div><br><div><div>A.6 MISCELLA=
NEOUS DATA</div><div>The IA32_VMX_MISC MSR (index 485H) consists of the fol=
lowing fields:</div><div>...</div><div><br></div><br><div class=3D"gmail_qu=
ote">
On Fri, May 4, 2012 at 9:02 AM, Jan Beulich <span dir=3D"ltr">&lt;<a href=
=3D"mailto:JBeulich@suse.com" target=3D"_blank">JBeulich@suse.com</a>&gt;</=
span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">&gt;&gt;&gt; On 04.05.12 at 17:49, Christian Tramnitz &lt=
;<a href=3D"mailto:chris.ace@gmx.net">chris.ace@gmx.net</a>&gt; wrote:<br>
&gt; Ian Campbell &lt;Ian.Campbell &lt;at&gt; <a href=3D"http://citrix.com"=
 target=3D"_blank">citrix.com</a>&gt; writes:<br>
&gt;&gt; AFAIK it is going to be an (experimental) feature in 4.2.<br>
&gt;<br>
&gt; Short follow-up: I haven&#39;t tried with Hyper-V yet, but on current =
(today&#39;s<br>
&gt; unstable.hg) Xen 4.2 at least ESXi does not work. VMX flag is visible,=
 but<br>
&gt; during load ESXi 5u1 crashes and Xen log shows:<br>
&gt;<br>
&gt; (XEN) vvmx.c:1366:d8 VMX MSR 485 not fully supported yet.<br>
&gt; (XEN) hvm.c:1143:d8 All CPUs offline -- powering off.<br>
&gt;<br>
&gt;<br>
&gt; Does anyone have an idea what MSR 485 does? It is not documented in &q=
uot;Intel<br>
&gt; 64 and IA-32 Architectures Software Developer&#39;s Manual&quot;...<br=
>
<br>
</div>xen/include/asm-x86/msr-index.h says<br>
<br>
#define MSR_IA32_VMX_MISC =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 0x485=
<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
Jan<br>
<br></div></div></blockquote></div>-- <br><div><div>Jun</div><div><div>Inte=
l Open Source Technology Center</div></div></div><br>
</div></div>

--0015175cba8405044b04bf382f4a--


--===============8263549427243016779==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8263549427243016779==--


From xen-devel-bounces@lists.xen.org Fri May 04 16:16:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:16:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLBP-0003SD-TW; Fri, 04 May 2012 16:16:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLBO-0003S5-Ur
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:16:39 +0000
Received: from [193.109.254.147:12848] by server-2.bemta-14.messagelabs.com id
	C3/F2-19409-6E004AF4; Fri, 04 May 2012 16:16:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336148197!7662416!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12469 invoked from network); 4 May 2012 16:16:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304073"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:16:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:16:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLBM-0002t9-Vn; Fri, 04 May 2012 16:16:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLBM-00028e-Ta;
	Fri, 04 May 2012 17:16:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.225.953974.833538@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:16:33 +0100
To: wang zhihao <accept.acm@gmail.com>
In-Reply-To: <4D66E26E-05BF-4DE4-9162-F719368F1529@gmail.com>
References: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
	<20387.46595.198406.571329@mariner.uk.xensource.com>
	<4D66E26E-05BF-4DE4-9162-F719368F1529@gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] How to select a rootfs to test job
 test-amd64-amd64-xl on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

d2FuZyB6aGloYW8gd3JpdGVzICgiUmU6IEhvdyB0byBzZWxlY3QgYSByb290ZnMgdG8gdGVzdCBq
b2IgdGVzdC1hbWQ2NC1hbWQ2NC14bCBvbiBteSBvd24gbWFjaGluZSA/Iik6Cj4g5ZyoIDIwMTIt
NS0077yM5LiL5Y2INjo1N++8jCBJYW4gSmFja3NvbiDlhpnpgZPvvJoKPiA+IFlvdSBtZWFuIGhv
dyBkb2VzIHRoZSBndWVzdCBnZXQgY3JlYXRlZCA/Cj4gCj4gSSBtZWFuIGhvdyB0byBzZWxlY3Qg
dGhlIGRvbTAncyByb290IGZpbGVzeXN0ZW0uCgpUaGUgZG9tMCBpcyBhIGZhaXJseSBub3JtYWwg
bmV0d29yayBhdXRvaW5zdGFsbCBvZiBEZWJpYW4gc3F1ZWV6ZS4gIElmCnlvdSBsb29rIGF0ICJ0
cy14ZW4taW5zdGFsbCIgeW91J2xsIHNlZSB0aGUgc3RlcHMgdGhlIHRlc3Qgc3lzdGVtIGRvZXMK
dG8gZHJvcCB0aGUgaHlwZXJ2aXNvciBhbmQga2VybmVsIGluIHBsYWNlIGFuZCByZWNvbmZpZ3Vy
ZSB0aGUKYm9vdGxvYWRlciBldGMuCgpJYW4uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0
cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Fri May 04 16:16:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:16:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLBP-0003SD-TW; Fri, 04 May 2012 16:16:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLBO-0003S5-Ur
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:16:39 +0000
Received: from [193.109.254.147:12848] by server-2.bemta-14.messagelabs.com id
	C3/F2-19409-6E004AF4; Fri, 04 May 2012 16:16:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336148197!7662416!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12469 invoked from network); 4 May 2012 16:16:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304073"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:16:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:16:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLBM-0002t9-Vn; Fri, 04 May 2012 16:16:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLBM-00028e-Ta;
	Fri, 04 May 2012 17:16:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.225.953974.833538@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:16:33 +0100
To: wang zhihao <accept.acm@gmail.com>
In-Reply-To: <4D66E26E-05BF-4DE4-9162-F719368F1529@gmail.com>
References: <15C5FE97-8363-4266-97FC-4C86A7025DC2@gmail.com>
	<20387.46595.198406.571329@mariner.uk.xensource.com>
	<4D66E26E-05BF-4DE4-9162-F719368F1529@gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] How to select a rootfs to test job
 test-amd64-amd64-xl on my own machine ?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

d2FuZyB6aGloYW8gd3JpdGVzICgiUmU6IEhvdyB0byBzZWxlY3QgYSByb290ZnMgdG8gdGVzdCBq
b2IgdGVzdC1hbWQ2NC1hbWQ2NC14bCBvbiBteSBvd24gbWFjaGluZSA/Iik6Cj4g5ZyoIDIwMTIt
NS0077yM5LiL5Y2INjo1N++8jCBJYW4gSmFja3NvbiDlhpnpgZPvvJoKPiA+IFlvdSBtZWFuIGhv
dyBkb2VzIHRoZSBndWVzdCBnZXQgY3JlYXRlZCA/Cj4gCj4gSSBtZWFuIGhvdyB0byBzZWxlY3Qg
dGhlIGRvbTAncyByb290IGZpbGVzeXN0ZW0uCgpUaGUgZG9tMCBpcyBhIGZhaXJseSBub3JtYWwg
bmV0d29yayBhdXRvaW5zdGFsbCBvZiBEZWJpYW4gc3F1ZWV6ZS4gIElmCnlvdSBsb29rIGF0ICJ0
cy14ZW4taW5zdGFsbCIgeW91J2xsIHNlZSB0aGUgc3RlcHMgdGhlIHRlc3Qgc3lzdGVtIGRvZXMK
dG8gZHJvcCB0aGUgaHlwZXJ2aXNvciBhbmQga2VybmVsIGluIHBsYWNlIGFuZCByZWNvbmZpZ3Vy
ZSB0aGUKYm9vdGxvYWRlciBldGMuCgpJYW4uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0
cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Fri May 04 16:23:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLHc-0003h4-Pe; Fri, 04 May 2012 16:23:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLHa-0003gz-Uk
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:23:03 +0000
Received: from [85.158.139.83:19858] by server-7.bemta-5.messagelabs.com id
	DB/EB-16195-46204AF4; Fri, 04 May 2012 16:23:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336148579!26846390!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26650 invoked from network); 4 May 2012 16:22:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:22:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304162"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:22:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:22:58 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLHV-0002vR-Ta; Fri, 04 May 2012 16:22:57 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLHV-00029h-SR;
	Fri, 04 May 2012 17:22:57 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.609.866463.305037@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:22:57 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
References: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: set guest_domid even if
	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH] libxl: set guest_domid even if libxl__domain_make fails"):
> This is needed in order to perform the domain destruction if
> libxl__domain_make fails.

>      ret = libxl__domain_make(gc, &d_config->c_info, &domid);
>      if (ret) {
>          LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
> +        dcs->guest_domid = domid;
>          ret = ERROR_FAIL;
>          goto error_out;

This is a bit odd.  The documentation for libxl__domain_make says:

   /* from xl_create */
   _hidden int libxl__domain_make(libxl__gc *gc,
                                  libxl_domain_create_info *info,
                                  uint32_t *domid);

Yes, that's it.  So apparently this function does actually create the
domain on error ?  Oh wait I see there is a doc comment but it's next
to the definition.

   /* on entry, libxl_domid_valid_guest(domid) must be false;
    * on exit (even error exit), domid may be valid and refer to a domain */

So yes, that's correct.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:23:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLHc-0003h4-Pe; Fri, 04 May 2012 16:23:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLHa-0003gz-Uk
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:23:03 +0000
Received: from [85.158.139.83:19858] by server-7.bemta-5.messagelabs.com id
	DB/EB-16195-46204AF4; Fri, 04 May 2012 16:23:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336148579!26846390!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26650 invoked from network); 4 May 2012 16:22:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:22:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304162"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:22:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:22:58 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLHV-0002vR-Ta; Fri, 04 May 2012 16:22:57 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLHV-00029h-SR;
	Fri, 04 May 2012 17:22:57 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.609.866463.305037@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:22:57 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
References: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: set guest_domid even if
	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH] libxl: set guest_domid even if libxl__domain_make fails"):
> This is needed in order to perform the domain destruction if
> libxl__domain_make fails.

>      ret = libxl__domain_make(gc, &d_config->c_info, &domid);
>      if (ret) {
>          LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
> +        dcs->guest_domid = domid;
>          ret = ERROR_FAIL;
>          goto error_out;

This is a bit odd.  The documentation for libxl__domain_make says:

   /* from xl_create */
   _hidden int libxl__domain_make(libxl__gc *gc,
                                  libxl_domain_create_info *info,
                                  uint32_t *domid);

Yes, that's it.  So apparently this function does actually create the
domain on error ?  Oh wait I see there is a doc comment but it's next
to the definition.

   /* on entry, libxl_domid_valid_guest(domid) must be false;
    * on exit (even error exit), domid may be valid and refer to a domain */

So yes, that's correct.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:26:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLL8-0003o3-Dj; Fri, 04 May 2012 16:26:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQLL7-0003nv-CF
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:26:41 +0000
Received: from [193.109.254.147:30056] by server-7.bemta-14.messagelabs.com id
	4C/07-01627-04304AF4; Fri, 04 May 2012 16:26:40 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336148796!7685218!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22033 invoked from network); 4 May 2012 16:26:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:26:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330923600"; d="scan'208";a="193451672"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 12:26:11 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	12:26:11 -0400
Message-ID: <4FA40321.3080201@citrix.com>
Date: Fri, 4 May 2012 17:26:09 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
In-Reply-To: <4FA41BF20200007800081BFE@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 17:12, Jan Beulich wrote:
>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> The dom0_max_vcpus command line option only allows the exact number of
>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>> but no more than the number physically present."
>>
>> Add min: and max: prefixes to the option to set a minimum number of
>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>
>> For example, with "dom0_max_vcpus=min:4,max:8":
> 
> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
> how about simply allowing a range along with a simple number (since
> negative values make no sense, omitting either side of the range would
> be supportable if necessary.

I was copying the way dom0_mem worked but yeah, it's not very pretty.

Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
thinking of?

Using a single value would have to set both <min> and <max> or the
behaviour of the option changes (i.e., =N is the same as =N-N).

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:26:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLL8-0003o3-Dj; Fri, 04 May 2012 16:26:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQLL7-0003nv-CF
	for xen-devel@lists.xen.org; Fri, 04 May 2012 16:26:41 +0000
Received: from [193.109.254.147:30056] by server-7.bemta-14.messagelabs.com id
	4C/07-01627-04304AF4; Fri, 04 May 2012 16:26:40 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336148796!7685218!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22033 invoked from network); 4 May 2012 16:26:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:26:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330923600"; d="scan'208";a="193451672"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 12:26:11 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	12:26:11 -0400
Message-ID: <4FA40321.3080201@citrix.com>
Date: Fri, 4 May 2012 17:26:09 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
In-Reply-To: <4FA41BF20200007800081BFE@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 17:12, Jan Beulich wrote:
>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> The dom0_max_vcpus command line option only allows the exact number of
>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>> but no more than the number physically present."
>>
>> Add min: and max: prefixes to the option to set a minimum number of
>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>
>> For example, with "dom0_max_vcpus=min:4,max:8":
> 
> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
> how about simply allowing a range along with a simple number (since
> negative values make no sense, omitting either side of the range would
> be supportable if necessary.

I was copying the way dom0_mem worked but yeah, it's not very pretty.

Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
thinking of?

Using a single value would have to set both <min> and <max> or the
behaviour of the option changes (i.e., =N is the same as =N-N).

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:27:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLLt-0003ra-RT; Fri, 04 May 2012 16:27:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLLs-0003rQ-Un
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:27:29 +0000
Received: from [85.158.138.51:22414] by server-5.bemta-3.messagelabs.com id
	18/BD-17113-07304AF4; Fri, 04 May 2012 16:27:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336148847!14307995!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4099 invoked from network); 4 May 2012 16:27:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:27:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304222"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:27:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:27:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLLq-0002ws-Mb; Fri, 04 May 2012 16:27:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLLq-0002A0-LI;
	Fri, 04 May 2012 17:27:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.878.645214.92917@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:27:26 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> Introduce a new libxl_device_disk** parameter to
> libxl__device_disk_local_attach, the parameter is allocated on the gc by
> libxl__device_disk_local_attach. It is going to fill it with
> informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
...
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index fc771ff..55dc55c 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
...
>              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +                       in_disk->pdev_path);

I think in_disk->pdev_path can be NULL here ?

Also log messages should not contain "\n"; the logging functions add
it.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:27:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLLt-0003ra-RT; Fri, 04 May 2012 16:27:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLLs-0003rQ-Un
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:27:29 +0000
Received: from [85.158.138.51:22414] by server-5.bemta-3.messagelabs.com id
	18/BD-17113-07304AF4; Fri, 04 May 2012 16:27:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336148847!14307995!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4099 invoked from network); 4 May 2012 16:27:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:27:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304222"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:27:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:27:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLLq-0002ws-Mb; Fri, 04 May 2012 16:27:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLLq-0002A0-LI;
	Fri, 04 May 2012 17:27:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.878.645214.92917@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:27:26 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> Introduce a new libxl_device_disk** parameter to
> libxl__device_disk_local_attach, the parameter is allocated on the gc by
> libxl__device_disk_local_attach. It is going to fill it with
> informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
...
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index fc771ff..55dc55c 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
...
>              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +                       in_disk->pdev_path);

I think in_disk->pdev_path can be NULL here ?

Also log messages should not contain "\n"; the logging functions add
it.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:30:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:30:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLP2-00045f-Jd; Fri, 04 May 2012 16:30:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLP1-00045W-AC
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:30:43 +0000
Received: from [85.158.139.83:63803] by server-8.bemta-5.messagelabs.com id
	8C/23-26964-23404AF4; Fri, 04 May 2012 16:30:42 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336149041!22538998!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9576 invoked from network); 4 May 2012 16:30:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:30:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304259"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:30:41 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:30:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLOy-0002y6-JU; Fri, 04 May 2012 16:30:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLOy-0002AK-IV;
	Fri, 04 May 2012 17:30:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1072.555507.607949@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:30:40 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <20374.51661.526651.289834@mariner.uk.xensource.com>,
	<1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<alpine.DEB.2.00.1204231810140.26786@kaball-desktop>
	<1335264358-20182-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<20374.51661.526651.289834@mariner.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, Ian.Campbell@citrix.com
Subject: Re: [Xen-devel] [PATCH v4 4/8] libxl:
	introduce	libxl__device_disk_add_t [and 1 more messages]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 4/8] libxl: introduce libxl__device_disk_add"):
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
> Move libxl__device_from_disk to libxl_internal.c.
> No functional change.

The last time you posted this I wrote:

Ian Jackson writes ("Re: [Xen-devel] [PATCH v4 4/8] libxl: introduce libxl__device_disk_add_t"):
> Apart from that it's rather hard to review because this patch seems to
> have an awful lot of code motion mixed up with other changes.

Can you split the code motion out into a separate patch, so that we
can see what has changed in the code that is being moved ?

Also I think "no functional change" is stretching it a bit unless what
you mean is "no callers of libxl__device_disk_add yet".

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:30:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:30:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLP2-00045f-Jd; Fri, 04 May 2012 16:30:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLP1-00045W-AC
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:30:43 +0000
Received: from [85.158.139.83:63803] by server-8.bemta-5.messagelabs.com id
	8C/23-26964-23404AF4; Fri, 04 May 2012 16:30:42 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336149041!22538998!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9576 invoked from network); 4 May 2012 16:30:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:30:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304259"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:30:41 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:30:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLOy-0002y6-JU; Fri, 04 May 2012 16:30:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLOy-0002AK-IV;
	Fri, 04 May 2012 17:30:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1072.555507.607949@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:30:40 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <20374.51661.526651.289834@mariner.uk.xensource.com>,
	<1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<alpine.DEB.2.00.1204231810140.26786@kaball-desktop>
	<1335264358-20182-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<20374.51661.526651.289834@mariner.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, Ian.Campbell@citrix.com
Subject: Re: [Xen-devel] [PATCH v4 4/8] libxl:
	introduce	libxl__device_disk_add_t [and 1 more messages]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 4/8] libxl: introduce libxl__device_disk_add"):
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
> Move libxl__device_from_disk to libxl_internal.c.
> No functional change.

The last time you posted this I wrote:

Ian Jackson writes ("Re: [Xen-devel] [PATCH v4 4/8] libxl: introduce libxl__device_disk_add_t"):
> Apart from that it's rather hard to review because this patch seems to
> have an awful lot of code motion mixed up with other changes.

Can you split the code motion out into a separate patch, so that we
can see what has changed in the code that is being moved ?

Also I think "no functional change" is stretching it a bit unless what
you mean is "no callers of libxl__device_disk_add yet".

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:33:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:33:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLRC-0004GN-58; Fri, 04 May 2012 16:32:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLRB-0004GF-25
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:32:57 +0000
Received: from [85.158.143.99:15073] by server-1.bemta-4.messagelabs.com id
	EE/F1-20925-8B404AF4; Fri, 04 May 2012 16:32:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336149175!21288707!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27895 invoked from network); 4 May 2012 16:32:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:32:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304303"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:32:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:32:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLR9-0002yr-2o; Fri, 04 May 2012 16:32:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLR9-0002Af-1k;
	Fri, 04 May 2012 17:32:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1207.38715.51627@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:32:55 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 5/8] xl/libxl: add a blkdev_start
	parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 5/8] xl/libxl: add a blkdev_start parameter"):
> +    if (b_info->blkdev_start == NULL)
> +        b_info->blkdev_start = strdup("xvda");

This should be   libxl__strdup(0, "xvda")
to get the correct error behaviour.

Aside from that,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:33:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:33:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLRC-0004GN-58; Fri, 04 May 2012 16:32:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLRB-0004GF-25
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:32:57 +0000
Received: from [85.158.143.99:15073] by server-1.bemta-4.messagelabs.com id
	EE/F1-20925-8B404AF4; Fri, 04 May 2012 16:32:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336149175!21288707!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27895 invoked from network); 4 May 2012 16:32:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:32:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304303"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:32:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:32:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLR9-0002yr-2o; Fri, 04 May 2012 16:32:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLR9-0002Af-1k;
	Fri, 04 May 2012 17:32:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1207.38715.51627@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:32:55 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 5/8] xl/libxl: add a blkdev_start
	parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 5/8] xl/libxl: add a blkdev_start parameter"):
> +    if (b_info->blkdev_start == NULL)
> +        b_info->blkdev_start = strdup("xvda");

This should be   libxl__strdup(0, "xvda")
to get the correct error behaviour.

Aside from that,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:40:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLXn-0004cK-L8; Fri, 04 May 2012 16:39:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLXl-0004c0-EC
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:39:45 +0000
Received: from [193.109.254.147:2081] by server-9.bemta-14.messagelabs.com id
	28/EE-05787-05604AF4; Fri, 04 May 2012 16:39:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336149584!862416!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17479 invoked from network); 4 May 2012 16:39:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:39:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304445"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:39:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:39:43 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLXj-000315-Do; Fri, 04 May 2012 16:39:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLXj-0002BF-Cq;
	Fri, 04 May 2012 17:39:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1615.382752.914755@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:39:43 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
...
> +    do {
> +        vdev = GCSPRINTF("d%dp0", disk);
> +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> +        if (libxl__xs_read(gc, t,
> +                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
> +                        dompath, devid)) == NULL) {
> +            if (errno == ENOENT)
> +                return libxl__devid_to_localdev(gc, devid);
> +            else
> +                return NULL;
> +        }
> +        disk++;
> +    } while (disk <= (1 << 20));

This should be "<", as disk==(1<<20) is too big.
And the magic number 20 should not be repeated.

But it turns out that you don't need to do this check here at all
because libxl__device_disk_dev_number will check this, correctly.

All you need to do is actually pay attention to its error return.

> +    return NULL;

All the NULL error exits should log an error surely.

> +/* same as in Linux */
> +static char *encode_disk_name(char *ptr, unsigned int n)
> +{
> +    if (n >= 26)
> +        ptr = encode_disk_name(ptr, n / 26 - 1);
> +    *ptr = 'a' + n % 26;
> +    return ptr + 1;
> +}

This still makes it difficult to see that the buffer cannot be
overrun.  I mentioned this in response to a previous posting of this
code and IIRC you were going to do something about it, if only a
comment explaining what the maximum buffer length is and why it's
safe.

> +    strcpy(ret, "xvd");
> +    ptr = encode_disk_name(ret + 3, offset);
> +    if (minor % nr_parts == 0)
> +        *ptr = 0;
> +    else
> +        snprintf(ptr, ret + 32 - ptr,
> +                "%d", minor & (nr_parts - 1));

You do not handle snprintf buffer truncation sensibly here.  As it
happens I think this overflow cannot happen but this deserves a
comment at the very least, to explain the lack of error handling.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:40:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLXn-0004cK-L8; Fri, 04 May 2012 16:39:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLXl-0004c0-EC
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:39:45 +0000
Received: from [193.109.254.147:2081] by server-9.bemta-14.messagelabs.com id
	28/EE-05787-05604AF4; Fri, 04 May 2012 16:39:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336149584!862416!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17479 invoked from network); 4 May 2012 16:39:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:39:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304445"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:39:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:39:43 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLXj-000315-Do; Fri, 04 May 2012 16:39:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLXj-0002BF-Cq;
	Fri, 04 May 2012 17:39:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1615.382752.914755@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:39:43 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
...
> +    do {
> +        vdev = GCSPRINTF("d%dp0", disk);
> +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> +        if (libxl__xs_read(gc, t,
> +                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
> +                        dompath, devid)) == NULL) {
> +            if (errno == ENOENT)
> +                return libxl__devid_to_localdev(gc, devid);
> +            else
> +                return NULL;
> +        }
> +        disk++;
> +    } while (disk <= (1 << 20));

This should be "<", as disk==(1<<20) is too big.
And the magic number 20 should not be repeated.

But it turns out that you don't need to do this check here at all
because libxl__device_disk_dev_number will check this, correctly.

All you need to do is actually pay attention to its error return.

> +    return NULL;

All the NULL error exits should log an error surely.

> +/* same as in Linux */
> +static char *encode_disk_name(char *ptr, unsigned int n)
> +{
> +    if (n >= 26)
> +        ptr = encode_disk_name(ptr, n / 26 - 1);
> +    *ptr = 'a' + n % 26;
> +    return ptr + 1;
> +}

This still makes it difficult to see that the buffer cannot be
overrun.  I mentioned this in response to a previous posting of this
code and IIRC you were going to do something about it, if only a
comment explaining what the maximum buffer length is and why it's
safe.

> +    strcpy(ret, "xvd");
> +    ptr = encode_disk_name(ret + 3, offset);
> +    if (minor % nr_parts == 0)
> +        *ptr = 0;
> +    else
> +        snprintf(ptr, ret + 32 - ptr,
> +                "%d", minor & (nr_parts - 1));

You do not handle snprintf buffer truncation sensibly here.  As it
happens I think this overflow cannot happen but this deserves a
comment at the very least, to explain the lack of error handling.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:42:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:42:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLaT-0004qc-8E; Fri, 04 May 2012 16:42:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLaR-0004qR-Lg
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:42:31 +0000
Received: from [85.158.143.35:32176] by server-2.bemta-4.messagelabs.com id
	93/50-17550-7F604AF4; Fri, 04 May 2012 16:42:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336149750!11552438!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9669 invoked from network); 4 May 2012 16:42:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:42:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304582"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:42:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:42:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLaO-000321-SB; Fri, 04 May 2012 16:42:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLaO-0002BT-RJ;
	Fri, 04 May 2012 17:42:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1780.828830.419864@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:42:28 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> - Spawn a QEMU instance at boot time to handle disk local attach
> requests.
...
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 7a1e017..e180498 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
...
> +                    rc = xs_transaction_end(ctx->xsh, t, 0);
> +                } while (rc == 0 && errno == EAGAIN);
> +                t = XBT_NULL;
> +                if (rc == 0) {
> +                    LOGE(ERROR, "xenstore transaction failed");
> +                    goto out;

Maybe I'm being excessively picky, but I think "rc" should be used
only for a variable which contains libxl error codes.  I had to do a
double-take when I saw
  if (rc == 0) {
     error handling;
since rc==0 is of course the success case.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:42:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:42:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLaT-0004qc-8E; Fri, 04 May 2012 16:42:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLaR-0004qR-Lg
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:42:31 +0000
Received: from [85.158.143.35:32176] by server-2.bemta-4.messagelabs.com id
	93/50-17550-7F604AF4; Fri, 04 May 2012 16:42:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336149750!11552438!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9669 invoked from network); 4 May 2012 16:42:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:42:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304582"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:42:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:42:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLaO-000321-SB; Fri, 04 May 2012 16:42:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLaO-0002BT-RJ;
	Fri, 04 May 2012 17:42:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.1780.828830.419864@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:42:28 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> - Spawn a QEMU instance at boot time to handle disk local attach
> requests.
...
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 7a1e017..e180498 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
...
> +                    rc = xs_transaction_end(ctx->xsh, t, 0);
> +                } while (rc == 0 && errno == EAGAIN);
> +                t = XBT_NULL;
> +                if (rc == 0) {
> +                    LOGE(ERROR, "xenstore transaction failed");
> +                    goto out;

Maybe I'm being excessively picky, but I think "rc" should be used
only for a variable which contains libxl error codes.  I had to do a
double-take when I saw
  if (rc == 0) {
     error handling;
since rc==0 is of course the success case.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:46:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:46:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLeR-00056l-UG; Fri, 04 May 2012 16:46:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLeQ-00056f-K5
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:46:38 +0000
Received: from [85.158.138.51:25693] by server-10.bemta-3.messagelabs.com id
	C8/E6-29478-DE704AF4; Fri, 04 May 2012 16:46:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336149996!25184227!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24140 invoked from network); 4 May 2012 16:46:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:46:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304637"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:46:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:46:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLeO-00033F-9I; Fri, 04 May 2012 16:46:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLeO-0002Bo-7c;
	Fri, 04 May 2012 17:46:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.2028.216374.311465@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:46:36 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336143599.7535.17.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
...
> > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> 
> If you specify the default blkdev_start in xl as d0 instead of xvda
> doesn't at least this bit magically become portable to BSD etc too?

This bit is portable already.  It's specified in terms of the guest
device name rather than the host device name.  This may be confusing
but it saves on having a converter for host device names to disk
numbers.

> Or couldn't it actually be an int and save you parsing at all?

In general it's surely more friendly to allow the user to specify this
with a name, like we do with vdevs elsewhere.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:46:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:46:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLeR-00056l-UG; Fri, 04 May 2012 16:46:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLeQ-00056f-K5
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:46:38 +0000
Received: from [85.158.138.51:25693] by server-10.bemta-3.messagelabs.com id
	C8/E6-29478-DE704AF4; Fri, 04 May 2012 16:46:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336149996!25184227!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24140 invoked from network); 4 May 2012 16:46:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:46:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304637"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:46:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:46:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQLeO-00033F-9I; Fri, 04 May 2012 16:46:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQLeO-0002Bo-7c;
	Fri, 04 May 2012 17:46:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.2028.216374.311465@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 17:46:36 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336143599.7535.17.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
...
> > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> 
> If you specify the default blkdev_start in xl as d0 instead of xvda
> doesn't at least this bit magically become portable to BSD etc too?

This bit is portable already.  It's specified in terms of the guest
device name rather than the host device name.  This may be confusing
but it saves on having a converter for host device names to disk
numbers.

> Or couldn't it actually be an int and save you parsing at all?

In general it's surely more friendly to allow the user to specify this
with a name, like we do with vdevs elsewhere.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:54:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:54:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLm7-0005LC-Sb; Fri, 04 May 2012 16:54:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLm6-0005L7-4s
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:54:34 +0000
Received: from [85.158.139.83:56088] by server-3.bemta-5.messagelabs.com id
	6E/BA-25237-9C904AF4; Fri, 04 May 2012 16:54:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336150472!22939817!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8557 invoked from network); 4 May 2012 16:54:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:54:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304799"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:54:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:54:32 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQLm3-00035u-PK;
	Fri, 04 May 2012 16:54:31 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQLm3-00088F-Kz;
	Fri, 04 May 2012 17:54:31 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12790-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 4 May 2012 17:54:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12790: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12790 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12790/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12789

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  8f556a70ae0b

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=0f53540494f7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 0f53540494f7
+ branch=xen-unstable
+ revision=0f53540494f7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 0f53540494f7 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 16:54:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 16:54:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLm7-0005LC-Sb; Fri, 04 May 2012 16:54:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQLm6-0005L7-4s
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 16:54:34 +0000
Received: from [85.158.139.83:56088] by server-3.bemta-5.messagelabs.com id
	6E/BA-25237-9C904AF4; Fri, 04 May 2012 16:54:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336150472!22939817!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8557 invoked from network); 4 May 2012 16:54:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 16:54:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12304799"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:54:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 17:54:32 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQLm3-00035u-PK;
	Fri, 04 May 2012 16:54:31 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQLm3-00088F-Kz;
	Fri, 04 May 2012 17:54:31 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12790-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 4 May 2012 17:54:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12790: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12790 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12790/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12789

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  8f556a70ae0b

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=0f53540494f7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 0f53540494f7
+ branch=xen-unstable
+ revision=0f53540494f7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 0f53540494f7 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:08:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:08:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLzZ-0005id-F1; Fri, 04 May 2012 17:08:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQLzY-0005iY-E0
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:08:28 +0000
Received: from [85.158.143.35:37510] by server-3.bemta-4.messagelabs.com id
	B6/17-05853-B0D04AF4; Fri, 04 May 2012 17:08:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336151304!15152667!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5647 invoked from network); 4 May 2012 17:08:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:08:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305219"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:08:24 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	18:08:23 +0100
Message-ID: <1336151303.3735.3.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 4 May 2012 18:08:23 +0100
In-Reply-To: <20388.2028.216374.311465@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<20388.2028.216374.311465@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 17:46 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> > On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > > domain passed as argument.
> ...
> > > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> > 
> > If you specify the default blkdev_start in xl as d0 instead of xvda
> > doesn't at least this bit magically become portable to BSD etc too?
> 
> This bit is portable already.  It's specified in terms of the guest
> device name rather than the host device name.  This may be confusing
> but it saves on having a converter for host device names to disk
> numbers.

Right. I think I really should have made this comment on the previous
patch, What I was trying to suggest is that using the Linux specific
"xvda" in the example in the config file and as the default (as patch
5/8 does) is not portable, even though the infrastructure itself is
quite capable of dealing with the portable alternatives -- IOW using
"d0" both in the example and in the actual default would make xl be
automatically portable without other patches (libxl still needs a patch
for the BSD libxl__devid_to_localdev but that's it).

> > Or couldn't it actually be an int and save you parsing at all?
> 
> In general it's surely more friendly to allow the user to specify this
> with a name, like we do with vdevs elsewhere.

That seems reasonable.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:08:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:08:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQLzZ-0005id-F1; Fri, 04 May 2012 17:08:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQLzY-0005iY-E0
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:08:28 +0000
Received: from [85.158.143.35:37510] by server-3.bemta-4.messagelabs.com id
	B6/17-05853-B0D04AF4; Fri, 04 May 2012 17:08:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336151304!15152667!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5647 invoked from network); 4 May 2012 17:08:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:08:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305219"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:08:24 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	18:08:23 +0100
Message-ID: <1336151303.3735.3.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 4 May 2012 18:08:23 +0100
In-Reply-To: <20388.2028.216374.311465@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<20388.2028.216374.311465@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 17:46 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> > On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > > domain passed as argument.
> ...
> > > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> > 
> > If you specify the default blkdev_start in xl as d0 instead of xvda
> > doesn't at least this bit magically become portable to BSD etc too?
> 
> This bit is portable already.  It's specified in terms of the guest
> device name rather than the host device name.  This may be confusing
> but it saves on having a converter for host device names to disk
> numbers.

Right. I think I really should have made this comment on the previous
patch, What I was trying to suggest is that using the Linux specific
"xvda" in the example in the config file and as the default (as patch
5/8 does) is not portable, even though the infrastructure itself is
quite capable of dealing with the portable alternatives -- IOW using
"d0" both in the example and in the actual default would make xl be
automatically portable without other patches (libxl still needs a patch
for the BSD libxl__devid_to_localdev but that's it).

> > Or couldn't it actually be an int and save you parsing at all?
> 
> In general it's surely more friendly to allow the user to specify this
> with a name, like we do with vdevs elsewhere.

That seems reasonable.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:17:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:17:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQM8G-0005wv-FP; Fri, 04 May 2012 17:17:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQM8F-0005wq-Eo
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:17:27 +0000
Received: from [85.158.143.99:45291] by server-3.bemta-4.messagelabs.com id
	8C/6C-05853-62F04AF4; Fri, 04 May 2012 17:17:26 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336151845!20159411!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22332 invoked from network); 4 May 2012 17:17:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:17:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:16:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 18:16:21 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQM7B-0003Cs-I7; Fri, 04 May 2012 17:16:21 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQM7B-0008Gd-9v;
	Fri, 04 May 2012 18:16:21 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.3809.683062.947217@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 18:16:17 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336151303.3735.3.camel@dagon.hellion.org.uk>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<20388.2028.216374.311465@mariner.uk.xensource.com>
	<1336151303.3735.3.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> Right. I think I really should have made this comment on the previous
> patch, What I was trying to suggest is that using the Linux specific
> "xvda" in the example in the config file

"xvda" is not currently thought to be necessarily Linux-specific.  See
docs/misc/vbd-interface.text.  Perhaps that needs to be revisited, but
in general it's perfectly possible to pass "xvda" in a domain config
file for a BSD guest, or whatever.  And Linux writing "xvdfoo" in the
config file doesn't always make Linux call the device /dev/xvdfoo.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:17:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:17:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQM8G-0005wv-FP; Fri, 04 May 2012 17:17:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQM8F-0005wq-Eo
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:17:27 +0000
Received: from [85.158.143.99:45291] by server-3.bemta-4.messagelabs.com id
	8C/6C-05853-62F04AF4; Fri, 04 May 2012 17:17:26 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336151845!20159411!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22332 invoked from network); 4 May 2012 17:17:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:17:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:16:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 18:16:21 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQM7B-0003Cs-I7; Fri, 04 May 2012 17:16:21 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQM7B-0008Gd-9v;
	Fri, 04 May 2012 18:16:21 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.3809.683062.947217@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 18:16:17 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336151303.3735.3.camel@dagon.hellion.org.uk>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<20388.2028.216374.311465@mariner.uk.xensource.com>
	<1336151303.3735.3.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> Right. I think I really should have made this comment on the previous
> patch, What I was trying to suggest is that using the Linux specific
> "xvda" in the example in the config file

"xvda" is not currently thought to be necessarily Linux-specific.  See
docs/misc/vbd-interface.text.  Perhaps that needs to be revisited, but
in general it's perfectly possible to pass "xvda" in a domain config
file for a BSD guest, or whatever.  And Linux writing "xvdfoo" in the
config file doesn't always make Linux call the device /dev/xvdfoo.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:19:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQM9p-00061A-Um; Fri, 04 May 2012 17:19:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQM9o-000612-NQ
	for xen-devel@lists.xen.org; Fri, 04 May 2012 17:19:04 +0000
Received: from [85.158.138.51:10541] by server-3.bemta-3.messagelabs.com id
	56/84-04048-78F04AF4; Fri, 04 May 2012 17:19:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336151942!14315177!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31158 invoked from network); 4 May 2012 17:19:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:19:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305355"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:19:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 18:19:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQM9m-0003Dw-HK; Fri, 04 May 2012 17:19:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQM9l-0003p3-UO;
	Fri, 04 May 2012 18:19:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.3963.30725.320365@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 18:18:51 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336048277-39554-1-git-send-email-roger.pau@citrix.com>
References: <1336048277-39554-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] libxl: fix dm destruction when there is no
	pid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH] libxl: fix dm destruction when there is no pid"):
> Fix qemu dm model destruction if the pid in xenstore is 0 (or is not
> present).

Firstly, this needs rewrapping.

Secondly,
>      pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
>      if (!pid) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
> +        ret = ERROR_INVAL;
> +        goto out;
> +    }
> +    if (!atoi(pid)) {
>          int stubdomid = libxl_get_stubdom_id(ctx, domid);

This seems to change the logic regarding stubdoms.  Are you sure this
is correct ?  Previously if the entry didn't exist, we took the
stubdom path.

> -    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
> -    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
>  
>  out:
> +    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
> +    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));

While moving this, you might as well rewrap it (or use GCSPRINTF).

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:19:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQM9p-00061A-Um; Fri, 04 May 2012 17:19:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQM9o-000612-NQ
	for xen-devel@lists.xen.org; Fri, 04 May 2012 17:19:04 +0000
Received: from [85.158.138.51:10541] by server-3.bemta-3.messagelabs.com id
	56/84-04048-78F04AF4; Fri, 04 May 2012 17:19:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336151942!14315177!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31158 invoked from network); 4 May 2012 17:19:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:19:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305355"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:19:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 4 May 2012 18:19:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SQM9m-0003Dw-HK; Fri, 04 May 2012 17:19:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SQM9l-0003p3-UO;
	Fri, 04 May 2012 18:19:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20388.3963.30725.320365@mariner.uk.xensource.com>
Date: Fri, 4 May 2012 18:18:51 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336048277-39554-1-git-send-email-roger.pau@citrix.com>
References: <1336048277-39554-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] libxl: fix dm destruction when there is no
	pid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH] libxl: fix dm destruction when there is no pid"):
> Fix qemu dm model destruction if the pid in xenstore is 0 (or is not
> present).

Firstly, this needs rewrapping.

Secondly,
>      pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
>      if (!pid) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
> +        ret = ERROR_INVAL;
> +        goto out;
> +    }
> +    if (!atoi(pid)) {
>          int stubdomid = libxl_get_stubdom_id(ctx, domid);

This seems to change the logic regarding stubdoms.  Are you sure this
is correct ?  Previously if the entry didn't exist, we took the
stubdom path.

> -    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
> -    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
>  
>  out:
> +    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
> +    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));

While moving this, you might as well rewrap it (or use GCSPRINTF).

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:21:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQMBl-00068A-Ht; Fri, 04 May 2012 17:21:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQMBk-000682-7u
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:21:04 +0000
Received: from [193.109.254.147:46710] by server-7.bemta-14.messagelabs.com id
	92/64-01627-FFF04AF4; Fri, 04 May 2012 17:21:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336152061!878637!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14037 invoked from network); 4 May 2012 17:21:01 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:21:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305378"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:20:47 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	18:20:47 +0100
Message-ID: <1336152047.3735.8.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 4 May 2012 18:20:47 +0100
In-Reply-To: <20388.3809.683062.947217@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<20388.2028.216374.311465@mariner.uk.xensource.com>
	<1336151303.3735.3.camel@dagon.hellion.org.uk>
	<20388.3809.683062.947217@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 18:16 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> > Right. I think I really should have made this comment on the previous
> > patch, What I was trying to suggest is that using the Linux specific
> > "xvda" in the example in the config file
> 
> "xvda" is not currently thought to be necessarily Linux-specific.  See
> docs/misc/vbd-interface.text.  Perhaps that needs to be revisited, but
> in general it's perfectly possible to pass "xvda" in a domain config
> file for a BSD guest, or whatever.  And Linux writing "xvdfoo" in the
> config file doesn't always make Linux call the device /dev/xvdfoo.

Hrm, I guess. It certainly gives the impression of being Linux specific,
even if technically it isn't, since people associate xvd* with Linux
even if it happens to be valid and work elsewhere. I guess in reality
very few people, including BSD folks, are going to change this (because
it'll just work) so there's no chance of them getting confused.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:21:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQMBl-00068A-Ht; Fri, 04 May 2012 17:21:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQMBk-000682-7u
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:21:04 +0000
Received: from [193.109.254.147:46710] by server-7.bemta-14.messagelabs.com id
	92/64-01627-FFF04AF4; Fri, 04 May 2012 17:21:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336152061!878637!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzI3OQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14037 invoked from network); 4 May 2012 17:21:01 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 17:21:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330905600"; d="scan'208";a="12305378"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 17:20:47 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	18:20:47 +0100
Message-ID: <1336152047.3735.8.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 4 May 2012 18:20:47 +0100
In-Reply-To: <20388.3809.683062.947217@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<20388.2028.216374.311465@mariner.uk.xensource.com>
	<1336151303.3735.3.camel@dagon.hellion.org.uk>
	<20388.3809.683062.947217@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 18:16 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> > Right. I think I really should have made this comment on the previous
> > patch, What I was trying to suggest is that using the Linux specific
> > "xvda" in the example in the config file
> 
> "xvda" is not currently thought to be necessarily Linux-specific.  See
> docs/misc/vbd-interface.text.  Perhaps that needs to be revisited, but
> in general it's perfectly possible to pass "xvda" in a domain config
> file for a BSD guest, or whatever.  And Linux writing "xvdfoo" in the
> config file doesn't always make Linux call the device /dev/xvdfoo.

Hrm, I guess. It certainly gives the impression of being Linux specific,
even if technically it isn't, since people associate xvd* with Linux
even if it happens to be valid and work elsewhere. I guess in reality
very few people, including BSD folks, are going to change this (because
it'll just work) so there's no chance of them getting confused.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:39:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQMSm-0006QK-6J; Fri, 04 May 2012 17:38:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQMSk-0006QF-7h
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:38:38 +0000
Received: from [85.158.139.83:3175] by server-2.bemta-5.messagelabs.com id
	D7/56-17016-D1414AF4; Fri, 04 May 2012 17:38:37 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336153116!19468373!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19789 invoked from network); 4 May 2012 17:38:36 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 17:38:36 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (jored mo91) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id e00dd3o44GI7Xo
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 19:38:35 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 3BEE318630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 19:38:35 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 9a430b7e2df2893f7f4f75d10e66d52bdffa7efa
Message-Id: <9a430b7e2df2893f7f4f.1336153114@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 19:38:34 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] tools/hotplug: remove 4 from default runlevel
 in xen-watchdog, xend and xendomains
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336153082 -7200
# Node ID 9a430b7e2df2893f7f4f75d10e66d52bdffa7efa
# Parent  113fd57259b91af06a5352404dd94b484a98d2bc
tools/hotplug: remove 4 from default runlevel in xen-watchdog, xend and xendomains

Similar to what changeset 24847:0900b1c905f1 does in xencommons, remove
runlevel 4 from the other runlevel scripts. LSB defines runlevel 4 as
reserved for local use, the local sysadmin is responsible for symlink
creation in rc4.d.

Runlevel 4 was specified in Default-Start since a very long time. Then
it was copied also to the new xen-watchdog in 21861:fb3649141e19. Until
now this was not an issue since only xencommons is automatically enabled
during package install, and a custom xend and xendomains script is
included in the SuSE packages. Since some time a rpmlint check complains
about the wrong Default-Start entry in xen-watchdog.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 113fd57259b9 -r 9a430b7e2df2 tools/hotplug/Linux/init.d/xen-watchdog
--- a/tools/hotplug/Linux/init.d/xen-watchdog
+++ b/tools/hotplug/Linux/init.d/xen-watchdog
@@ -10,7 +10,7 @@
 # Should-Start:      xend
 # Required-Stop:     $syslog $remote_fs
 # Should-Stop:       xend
-# Default-Start:     2 3 4 5
+# Default-Start:     2 3 5
 # Default-Stop:      0 1 6
 # Short-Description: Start/stop xen-watchdog
 # Description:       Run domain watchdog daemon.
diff -r 113fd57259b9 -r 9a430b7e2df2 tools/hotplug/Linux/init.d/xend
--- a/tools/hotplug/Linux/init.d/xend
+++ b/tools/hotplug/Linux/init.d/xend
@@ -12,7 +12,7 @@
 # Should-Start:
 # Required-Stop:     $syslog $remote_fs xenstored xenconsoled 
 # Should-Stop:
-# Default-Start:     2 3 4 5
+# Default-Start:     2 3 5
 # Default-Stop:      0 1 6
 # Short-Description: Start/stop xend
 # Description:       Starts and stops the Xen control daemon.
diff -r 113fd57259b9 -r 9a430b7e2df2 tools/hotplug/Linux/init.d/xendomains
--- a/tools/hotplug/Linux/init.d/xendomains
+++ b/tools/hotplug/Linux/init.d/xendomains
@@ -20,7 +20,7 @@
 # Should-Start:      xend
 # Required-Stop:     $syslog $remote_fs xenstored xenconsoled
 # Should-Stop:       xend
-# Default-Start:     2 3 4 5
+# Default-Start:     2 3 5
 # Default-Stop:      0 1 6
 # Short-Description: Start/stop secondary xen domains
 # Description:       Start / stop domains automatically when domain 0 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:39:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQMSm-0006QK-6J; Fri, 04 May 2012 17:38:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQMSk-0006QF-7h
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:38:38 +0000
Received: from [85.158.139.83:3175] by server-2.bemta-5.messagelabs.com id
	D7/56-17016-D1414AF4; Fri, 04 May 2012 17:38:37 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336153116!19468373!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19789 invoked from network); 4 May 2012 17:38:36 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 4 May 2012 17:38:36 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (jored mo91) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id e00dd3o44GI7Xo
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 19:38:35 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 3BEE318630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 19:38:35 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 9a430b7e2df2893f7f4f75d10e66d52bdffa7efa
Message-Id: <9a430b7e2df2893f7f4f.1336153114@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 19:38:34 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] tools/hotplug: remove 4 from default runlevel
 in xen-watchdog, xend and xendomains
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336153082 -7200
# Node ID 9a430b7e2df2893f7f4f75d10e66d52bdffa7efa
# Parent  113fd57259b91af06a5352404dd94b484a98d2bc
tools/hotplug: remove 4 from default runlevel in xen-watchdog, xend and xendomains

Similar to what changeset 24847:0900b1c905f1 does in xencommons, remove
runlevel 4 from the other runlevel scripts. LSB defines runlevel 4 as
reserved for local use, the local sysadmin is responsible for symlink
creation in rc4.d.

Runlevel 4 was specified in Default-Start since a very long time. Then
it was copied also to the new xen-watchdog in 21861:fb3649141e19. Until
now this was not an issue since only xencommons is automatically enabled
during package install, and a custom xend and xendomains script is
included in the SuSE packages. Since some time a rpmlint check complains
about the wrong Default-Start entry in xen-watchdog.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 113fd57259b9 -r 9a430b7e2df2 tools/hotplug/Linux/init.d/xen-watchdog
--- a/tools/hotplug/Linux/init.d/xen-watchdog
+++ b/tools/hotplug/Linux/init.d/xen-watchdog
@@ -10,7 +10,7 @@
 # Should-Start:      xend
 # Required-Stop:     $syslog $remote_fs
 # Should-Stop:       xend
-# Default-Start:     2 3 4 5
+# Default-Start:     2 3 5
 # Default-Stop:      0 1 6
 # Short-Description: Start/stop xen-watchdog
 # Description:       Run domain watchdog daemon.
diff -r 113fd57259b9 -r 9a430b7e2df2 tools/hotplug/Linux/init.d/xend
--- a/tools/hotplug/Linux/init.d/xend
+++ b/tools/hotplug/Linux/init.d/xend
@@ -12,7 +12,7 @@
 # Should-Start:
 # Required-Stop:     $syslog $remote_fs xenstored xenconsoled 
 # Should-Stop:
-# Default-Start:     2 3 4 5
+# Default-Start:     2 3 5
 # Default-Stop:      0 1 6
 # Short-Description: Start/stop xend
 # Description:       Starts and stops the Xen control daemon.
diff -r 113fd57259b9 -r 9a430b7e2df2 tools/hotplug/Linux/init.d/xendomains
--- a/tools/hotplug/Linux/init.d/xendomains
+++ b/tools/hotplug/Linux/init.d/xendomains
@@ -20,7 +20,7 @@
 # Should-Start:      xend
 # Required-Stop:     $syslog $remote_fs xenstored xenconsoled
 # Should-Stop:       xend
-# Default-Start:     2 3 4 5
+# Default-Start:     2 3 5
 # Default-Stop:      0 1 6
 # Short-Description: Start/stop secondary xen domains
 # Description:       Start / stop domains automatically when domain 0 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:44:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:44:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQMYV-0006cu-Vl; Fri, 04 May 2012 17:44:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQMYU-0006cn-GT
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:44:34 +0000
Received: from [193.109.254.147:23732] by server-8.bemta-14.messagelabs.com id
	38/9F-23244-18514AF4; Fri, 04 May 2012 17:44:33 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336153473!831240!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3351 invoked from network); 4 May 2012 17:44:33 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 17:44:33 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (jorabe mo32) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id V01bcfo44GD2cn ;
	Fri, 4 May 2012 19:44:33 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 6C96918630;
	Fri,  4 May 2012 19:44:32 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: c19bca94a5ade9c8a528f346bce3c90eee319306
Message-Id: <c19bca94a5ade9c8a528.1336153429@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 19:43:49 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Cc: Ross Philipson <Ross.Philipson@citrix.com>
Subject: [Xen-devel] [PATCH] tools/vtpm: use LDLIBS to pass -lgmp
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336153405 -7200
# Node ID c19bca94a5ade9c8a528f346bce3c90eee319306
# Parent  2ef28bf88b290d01ca92581dcd68f1aa32017e4e
tools/vtpm: use LDLIBS to pass -lgmp

Linking tpmd will fail with recent toolchains because -lgmp is passed
via LDFLAGS instead of LDLIBS. With this change -lgpm is placed at the
end of the gcc cmdline and linking tpmd succeeds again.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 2ef28bf88b29 -r c19bca94a5ad tools/vtpm/Makefile
--- a/tools/vtpm/Makefile
+++ b/tools/vtpm/Makefile
@@ -50,7 +50,8 @@ mrproper:
 	mv $(TPM_EMULATOR_NAME) $(VTPM_DIR)
 
 	set -e; cd $(VTPM_DIR); \
-	patch -p1 < ../vtpm-0.5.1.patch
+	patch -p1 < ../vtpm-0.5.1.patch; \
+	patch -p1 < ../vtpm-0.5.1-LDLIBS.patch
 
 orig: $(TPM_EMULATOR_TARFILE)
 	mkdir $(ORIG_DIR);
diff -r 2ef28bf88b29 -r c19bca94a5ad tools/vtpm/vtpm-0.5.1-LDLIBS.patch
--- /dev/null
+++ b/tools/vtpm/vtpm-0.5.1-LDLIBS.patch
@@ -0,0 +1,12 @@
+diff -Naurp tpm_emulator-0.5.1/tpmd/Makefile tpm_emulator-0.5.1/tpmd/Makefile
+--- tpm_emulator-0.5.1/tpmd/Makefile
++++ tpm_emulator-0.5.1/tpmd/Makefile
+@@ -8,7 +8,7 @@ WFLAGS  := -Wall -Wno-unused -Wpointer-a
+            #WFLAGS  += -Wextra -Wcast-qual -Wmissing-prototypes -Wmissing-declarations -Wstrict-aliasing
+ CFLAGS  += $(WFLAGS) -g -I.. -I. -O2 -fno-strict-aliasing
+ CFLAGS  += -I../../../../tools/vtpm_manager/manager
+-LDFLAGS += -lgmp
++LDLIBS  += -lgmp
+ 
+ BINDIR  := /usr/bin/
+ 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 17:44:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 17:44:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQMYV-0006cu-Vl; Fri, 04 May 2012 17:44:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQMYU-0006cn-GT
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 17:44:34 +0000
Received: from [193.109.254.147:23732] by server-8.bemta-14.messagelabs.com id
	38/9F-23244-18514AF4; Fri, 04 May 2012 17:44:33 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336153473!831240!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3351 invoked from network); 4 May 2012 17:44:33 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 17:44:33 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (jorabe mo32) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id V01bcfo44GD2cn ;
	Fri, 4 May 2012 19:44:33 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 6C96918630;
	Fri,  4 May 2012 19:44:32 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: c19bca94a5ade9c8a528f346bce3c90eee319306
Message-Id: <c19bca94a5ade9c8a528.1336153429@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 19:43:49 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Cc: Ross Philipson <Ross.Philipson@citrix.com>
Subject: [Xen-devel] [PATCH] tools/vtpm: use LDLIBS to pass -lgmp
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336153405 -7200
# Node ID c19bca94a5ade9c8a528f346bce3c90eee319306
# Parent  2ef28bf88b290d01ca92581dcd68f1aa32017e4e
tools/vtpm: use LDLIBS to pass -lgmp

Linking tpmd will fail with recent toolchains because -lgmp is passed
via LDFLAGS instead of LDLIBS. With this change -lgpm is placed at the
end of the gcc cmdline and linking tpmd succeeds again.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 2ef28bf88b29 -r c19bca94a5ad tools/vtpm/Makefile
--- a/tools/vtpm/Makefile
+++ b/tools/vtpm/Makefile
@@ -50,7 +50,8 @@ mrproper:
 	mv $(TPM_EMULATOR_NAME) $(VTPM_DIR)
 
 	set -e; cd $(VTPM_DIR); \
-	patch -p1 < ../vtpm-0.5.1.patch
+	patch -p1 < ../vtpm-0.5.1.patch; \
+	patch -p1 < ../vtpm-0.5.1-LDLIBS.patch
 
 orig: $(TPM_EMULATOR_TARFILE)
 	mkdir $(ORIG_DIR);
diff -r 2ef28bf88b29 -r c19bca94a5ad tools/vtpm/vtpm-0.5.1-LDLIBS.patch
--- /dev/null
+++ b/tools/vtpm/vtpm-0.5.1-LDLIBS.patch
@@ -0,0 +1,12 @@
+diff -Naurp tpm_emulator-0.5.1/tpmd/Makefile tpm_emulator-0.5.1/tpmd/Makefile
+--- tpm_emulator-0.5.1/tpmd/Makefile
++++ tpm_emulator-0.5.1/tpmd/Makefile
+@@ -8,7 +8,7 @@ WFLAGS  := -Wall -Wno-unused -Wpointer-a
+            #WFLAGS  += -Wextra -Wcast-qual -Wmissing-prototypes -Wmissing-declarations -Wstrict-aliasing
+ CFLAGS  += $(WFLAGS) -g -I.. -I. -O2 -fno-strict-aliasing
+ CFLAGS  += -I../../../../tools/vtpm_manager/manager
+-LDFLAGS += -lgmp
++LDLIBS  += -lgmp
+ 
+ BINDIR  := /usr/bin/
+ 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:19:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:19:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQN5d-00079v-Qr; Fri, 04 May 2012 18:18:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQN5c-00079p-5Z
	for xen-devel@lists.xen.org; Fri, 04 May 2012 18:18:48 +0000
Received: from [193.109.254.147:45906] by server-10.bemta-14.messagelabs.com
	id A1/30-05847-78D14AF4; Fri, 04 May 2012 18:18:47 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336155525!7696896!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17814 invoked from network); 4 May 2012 18:18:46 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 18:18:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330923600"; d="scan'208";a="193472614"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:18:45 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	14:18:44 -0400
Message-ID: <4FA41D83.2010809@citrix.com>
Date: Fri, 4 May 2012 19:18:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com>
In-Reply-To: <4FA40321.3080201@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
 flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 17:26, David Vrabel wrote:
> On 04/05/12 17:12, Jan Beulich wrote:
>>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>>> From: David Vrabel <david.vrabel@citrix.com>
>>>
>>> The dom0_max_vcpus command line option only allows the exact number of
>>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>>> but no more than the number physically present."
>>>
>>> Add min: and max: prefixes to the option to set a minimum number of
>>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>>
>>> For example, with "dom0_max_vcpus=min:4,max:8":
>>
>> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
>> how about simply allowing a range along with a simple number (since
>> negative values make no sense, omitting either side of the range would
>> be supportable if necessary.
> 
> I was copying the way dom0_mem worked but yeah, it's not very pretty.
> 
> Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
> thinking of?
> 
> Using a single value would have to set both <min> and <max> or the
> behaviour of the option changes (i.e., =N is the same as =N-N).

This is what I ended up with.

8<------------------------------
>From af1543965db76ab81139de7f072a7c4daf61157f Mon Sep 17 00:00:00 2001
From: David Vrabel <david.vrabel@citrix.com>
Date: Fri, 4 May 2012 16:09:52 +0100
Subject: [PATCH] x86: make the dom0_max_vcpus option more flexible

The dom0_max_vcpus command line option only allows the exact number of
VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
but no more than the number physically present."

Allow a range for the option to set a minimum number of VCPUs, and a
maximum which does not exceed the number of PCPUs.

For example, with "dom0_max_vcpus=4-8":

    PCPUs  Dom0 VCPUs
     2      4
     4      4
     6      6
     8      8
    10      8

Existing command lines with "dom0_max_vcpus=N" still work as before.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++--
 xen/arch/x86/domain_build.c         |   43 +++++++++++++++++++++++++---------
 2 files changed, 57 insertions(+), 15 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index a6195f2..4e4f713 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -272,10 +272,33 @@ Specify the bit width of the DMA heap.
 
 ### dom0\_ioports\_disable
 ### dom0\_max\_vcpus
-> `= <integer>`
 
-Specify the maximum number of vcpus to give to dom0.  This defaults
-to the number of pcpus on the host.
+Either:
+
+> `= <integer>`.
+
+The number of VCPUs to give to dom0.  This number of VCPUs can be more
+than the number of PCPUs on the host.  The default is the number of
+PCPUs.
+
+Or:
+
+> `= <min>-<max>` where `<min>` and `<max>` are integers.
+
+Gives dom0 a number of VCPUs equal to the number of PCPUs, but always
+at least `<min>` and no more than `<max>`.  Using `<min>` may give
+more VCPUs than PCPUs.  `<min>` or `<max>` may be omitted and the
+defaults of 1 and unlimited respectively are used instead.
+
+For example, with `dom0_max_vcpus=4-8`:
+
+     Number of
+  PCPUs | Dom0 VCPUs
+   2    |  4
+   4    |  4
+   6    |  6
+   8    |  8
+  10    |  8
 
 ### dom0\_mem (ia64)
 > `= <size>`
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index b3c5d4c..686b626 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -82,20 +82,39 @@ static void __init parse_dom0_mem(const char *s)
 }
 custom_param("dom0_mem", parse_dom0_mem);
 
-static unsigned int __initdata opt_dom0_max_vcpus;
-integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
+static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
+static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
+
+static void __init parse_dom0_max_vcpus(const char *s)
+{
+    if (*s == '-')              /* -M */
+        opt_dom0_max_vcpus_max = simple_strtoul(s + 1, &s, 0);
+    else {                      /* N, N-, or N-M */
+        opt_dom0_max_vcpus_min = simple_strtoul(s, &s, 0);
+        if (*s++ == '\0')       /* N */
+            opt_dom0_max_vcpus_max = opt_dom0_max_vcpus_min;
+        else if (*s != '\0')    /* N-M */
+            opt_dom0_max_vcpus_max = simple_strtoul(s, &s, 0);
+    }
+}
+custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
 
 struct vcpu *__init alloc_dom0_vcpu0(void)
 {
-    if ( opt_dom0_max_vcpus == 0 )
-        opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
-    if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
-        opt_dom0_max_vcpus = MAX_VIRT_CPUS;
+    unsigned max_vcpus;
+
+    max_vcpus = num_cpupool_cpus(cpupool0);
+    if ( opt_dom0_max_vcpus_min > max_vcpus )
+        max_vcpus = opt_dom0_max_vcpus_min;
+    if ( opt_dom0_max_vcpus_max < max_vcpus )
+        max_vcpus = opt_dom0_max_vcpus_max;
+    if ( max_vcpus > MAX_VIRT_CPUS )
+        max_vcpus = MAX_VIRT_CPUS;
 
-    dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
+    dom0->vcpu = xzalloc_array(struct vcpu *, max_vcpus);
     if ( !dom0->vcpu )
         return NULL;
-    dom0->max_vcpus = opt_dom0_max_vcpus;
+    dom0->max_vcpus = max_vcpus;
 
     return alloc_vcpu(dom0, 0, 0);
 }
@@ -185,11 +204,11 @@ static unsigned long __init compute_dom0_nr_pages(
     unsigned long max_pages = dom0_max_nrpages;
 
     /* Reserve memory for further dom0 vcpu-struct allocations... */
-    avail -= (opt_dom0_max_vcpus - 1UL)
+    avail -= (d->max_vcpus - 1UL)
              << get_order_from_bytes(sizeof(struct vcpu));
     /* ...and compat_l4's, if needed. */
     if ( is_pv_32on64_domain(d) )
-        avail -= opt_dom0_max_vcpus - 1;
+        avail -= d->max_vcpus - 1;
 
     /* Reserve memory for iommu_dom0_init() (rough estimate). */
     if ( iommu_enabled )
@@ -883,10 +902,10 @@ int __init construct_dom0(
     for ( i = 0; i < XEN_LEGACY_MAX_VCPUS; i++ )
         shared_info(d, vcpu_info[i].evtchn_upcall_mask) = 1;
 
-    printk("Dom0 has maximum %u VCPUs\n", opt_dom0_max_vcpus);
+    printk("Dom0 has maximum %u VCPUs\n", d->max_vcpus);
 
     cpu = cpumask_first(cpupool0->cpu_valid);
-    for ( i = 1; i < opt_dom0_max_vcpus; i++ )
+    for ( i = 1; i < d->max_vcpus; i++ )
     {
         cpu = cpumask_cycle(cpu, cpupool0->cpu_valid);
         (void)alloc_vcpu(d, i, cpu);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:19:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:19:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQN5d-00079v-Qr; Fri, 04 May 2012 18:18:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SQN5c-00079p-5Z
	for xen-devel@lists.xen.org; Fri, 04 May 2012 18:18:48 +0000
Received: from [193.109.254.147:45906] by server-10.bemta-14.messagelabs.com
	id A1/30-05847-78D14AF4; Fri, 04 May 2012 18:18:47 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336155525!7696896!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17814 invoked from network); 4 May 2012 18:18:46 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 18:18:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,532,1330923600"; d="scan'208";a="193472614"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 14:18:45 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	14:18:44 -0400
Message-ID: <4FA41D83.2010809@citrix.com>
Date: Fri, 4 May 2012 19:18:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120317 Icedove/3.0.11
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com>
In-Reply-To: <4FA40321.3080201@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
 flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/05/12 17:26, David Vrabel wrote:
> On 04/05/12 17:12, Jan Beulich wrote:
>>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>>> From: David Vrabel <david.vrabel@citrix.com>
>>>
>>> The dom0_max_vcpus command line option only allows the exact number of
>>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>>> but no more than the number physically present."
>>>
>>> Add min: and max: prefixes to the option to set a minimum number of
>>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>>
>>> For example, with "dom0_max_vcpus=min:4,max:8":
>>
>> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
>> how about simply allowing a range along with a simple number (since
>> negative values make no sense, omitting either side of the range would
>> be supportable if necessary.
> 
> I was copying the way dom0_mem worked but yeah, it's not very pretty.
> 
> Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
> thinking of?
> 
> Using a single value would have to set both <min> and <max> or the
> behaviour of the option changes (i.e., =N is the same as =N-N).

This is what I ended up with.

8<------------------------------
>From af1543965db76ab81139de7f072a7c4daf61157f Mon Sep 17 00:00:00 2001
From: David Vrabel <david.vrabel@citrix.com>
Date: Fri, 4 May 2012 16:09:52 +0100
Subject: [PATCH] x86: make the dom0_max_vcpus option more flexible

The dom0_max_vcpus command line option only allows the exact number of
VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
but no more than the number physically present."

Allow a range for the option to set a minimum number of VCPUs, and a
maximum which does not exceed the number of PCPUs.

For example, with "dom0_max_vcpus=4-8":

    PCPUs  Dom0 VCPUs
     2      4
     4      4
     6      6
     8      8
    10      8

Existing command lines with "dom0_max_vcpus=N" still work as before.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++--
 xen/arch/x86/domain_build.c         |   43 +++++++++++++++++++++++++---------
 2 files changed, 57 insertions(+), 15 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index a6195f2..4e4f713 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -272,10 +272,33 @@ Specify the bit width of the DMA heap.
 
 ### dom0\_ioports\_disable
 ### dom0\_max\_vcpus
-> `= <integer>`
 
-Specify the maximum number of vcpus to give to dom0.  This defaults
-to the number of pcpus on the host.
+Either:
+
+> `= <integer>`.
+
+The number of VCPUs to give to dom0.  This number of VCPUs can be more
+than the number of PCPUs on the host.  The default is the number of
+PCPUs.
+
+Or:
+
+> `= <min>-<max>` where `<min>` and `<max>` are integers.
+
+Gives dom0 a number of VCPUs equal to the number of PCPUs, but always
+at least `<min>` and no more than `<max>`.  Using `<min>` may give
+more VCPUs than PCPUs.  `<min>` or `<max>` may be omitted and the
+defaults of 1 and unlimited respectively are used instead.
+
+For example, with `dom0_max_vcpus=4-8`:
+
+     Number of
+  PCPUs | Dom0 VCPUs
+   2    |  4
+   4    |  4
+   6    |  6
+   8    |  8
+  10    |  8
 
 ### dom0\_mem (ia64)
 > `= <size>`
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index b3c5d4c..686b626 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -82,20 +82,39 @@ static void __init parse_dom0_mem(const char *s)
 }
 custom_param("dom0_mem", parse_dom0_mem);
 
-static unsigned int __initdata opt_dom0_max_vcpus;
-integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
+static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
+static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
+
+static void __init parse_dom0_max_vcpus(const char *s)
+{
+    if (*s == '-')              /* -M */
+        opt_dom0_max_vcpus_max = simple_strtoul(s + 1, &s, 0);
+    else {                      /* N, N-, or N-M */
+        opt_dom0_max_vcpus_min = simple_strtoul(s, &s, 0);
+        if (*s++ == '\0')       /* N */
+            opt_dom0_max_vcpus_max = opt_dom0_max_vcpus_min;
+        else if (*s != '\0')    /* N-M */
+            opt_dom0_max_vcpus_max = simple_strtoul(s, &s, 0);
+    }
+}
+custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
 
 struct vcpu *__init alloc_dom0_vcpu0(void)
 {
-    if ( opt_dom0_max_vcpus == 0 )
-        opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
-    if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
-        opt_dom0_max_vcpus = MAX_VIRT_CPUS;
+    unsigned max_vcpus;
+
+    max_vcpus = num_cpupool_cpus(cpupool0);
+    if ( opt_dom0_max_vcpus_min > max_vcpus )
+        max_vcpus = opt_dom0_max_vcpus_min;
+    if ( opt_dom0_max_vcpus_max < max_vcpus )
+        max_vcpus = opt_dom0_max_vcpus_max;
+    if ( max_vcpus > MAX_VIRT_CPUS )
+        max_vcpus = MAX_VIRT_CPUS;
 
-    dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
+    dom0->vcpu = xzalloc_array(struct vcpu *, max_vcpus);
     if ( !dom0->vcpu )
         return NULL;
-    dom0->max_vcpus = opt_dom0_max_vcpus;
+    dom0->max_vcpus = max_vcpus;
 
     return alloc_vcpu(dom0, 0, 0);
 }
@@ -185,11 +204,11 @@ static unsigned long __init compute_dom0_nr_pages(
     unsigned long max_pages = dom0_max_nrpages;
 
     /* Reserve memory for further dom0 vcpu-struct allocations... */
-    avail -= (opt_dom0_max_vcpus - 1UL)
+    avail -= (d->max_vcpus - 1UL)
              << get_order_from_bytes(sizeof(struct vcpu));
     /* ...and compat_l4's, if needed. */
     if ( is_pv_32on64_domain(d) )
-        avail -= opt_dom0_max_vcpus - 1;
+        avail -= d->max_vcpus - 1;
 
     /* Reserve memory for iommu_dom0_init() (rough estimate). */
     if ( iommu_enabled )
@@ -883,10 +902,10 @@ int __init construct_dom0(
     for ( i = 0; i < XEN_LEGACY_MAX_VCPUS; i++ )
         shared_info(d, vcpu_info[i].evtchn_upcall_mask) = 1;
 
-    printk("Dom0 has maximum %u VCPUs\n", opt_dom0_max_vcpus);
+    printk("Dom0 has maximum %u VCPUs\n", d->max_vcpus);
 
     cpu = cpumask_first(cpupool0->cpu_valid);
-    for ( i = 1; i < opt_dom0_max_vcpus; i++ )
+    for ( i = 1; i < d->max_vcpus; i++ )
     {
         cpu = cpumask_cycle(cpu, cpupool0->cpu_valid);
         (void)alloc_vcpu(d, i, cpu);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:20:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQN6i-0007EB-E4; Fri, 04 May 2012 18:19:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SQN6g-0007Dz-MV
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 18:19:54 +0000
Received: from [85.158.143.99:15009] by server-2.bemta-4.messagelabs.com id
	EF/EC-17550-ACD14AF4; Fri, 04 May 2012 18:19:54 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336155590!26216475!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8766 invoked from network); 4 May 2012 18:19:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 18:19:52 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44IJkiV007336
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 18:19:47 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44IJjkl026427
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 18:19:45 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44IJihc021476; Fri, 4 May 2012 13:19:44 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 11:19:44 -0700
Date: Fri, 4 May 2012 11:19:35 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, "Tim.Deegan@citrix.com"
	<Tim.Deegan@citrix.com>
Message-ID: <20120504111935.7553aaed@mantra.us.oracle.com>
In-Reply-To: <1336122502.2361.7.camel@zakaz.uk.xensource.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012 10:08:22 +0100
Ian Campbell <Ian.Campbell@citrix.com> wrote:

> Are you sure code in cpucheck.c is even being called for the PV/dom0
> case? I'm reasonably sure that PV Xen boot doesn't go anywhere near
> arch/x86/boot -- we have a totally different entry point.

I didn't make myself clear (rushing to type email and leave with a 
brain fried from debugging all day :).) 

I'm talking about HVM domU on PV/dom0.

Basically, I've the PV linux kernel modified for hybrid. I can boot it
as both hybrid domU (say Lu) and hybrid dom0 (say L0).

  Orig/normal PV DOM0: Lu boots in hybrid mode, PV mode, HVM mode.
  L0 as Dom0: Lu boots in hybrid mode, PV mode but in  HVM mode fails.

  HVM mode is failing because very early during boot its failing the 
  eflags.ID test, which should be simple. It should be running
  in real mode in the VMX. I just got outb working, so I can debug
  further now. It's not doing vmexit's so should be running in the
  'unrestricted mode' in the container, which is why i'm baffled.
   Anyways, i'll dig further.

thanks a lot,
Mukesh


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:20:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQN6i-0007EB-E4; Fri, 04 May 2012 18:19:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SQN6g-0007Dz-MV
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 18:19:54 +0000
Received: from [85.158.143.99:15009] by server-2.bemta-4.messagelabs.com id
	EF/EC-17550-ACD14AF4; Fri, 04 May 2012 18:19:54 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336155590!26216475!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8766 invoked from network); 4 May 2012 18:19:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 18:19:52 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44IJkiV007336
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 18:19:47 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44IJjkl026427
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 18:19:45 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44IJihc021476; Fri, 4 May 2012 13:19:44 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 11:19:44 -0700
Date: Fri, 4 May 2012 11:19:35 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, "Tim.Deegan@citrix.com"
	<Tim.Deegan@citrix.com>
Message-ID: <20120504111935.7553aaed@mantra.us.oracle.com>
In-Reply-To: <1336122502.2361.7.camel@zakaz.uk.xensource.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012 10:08:22 +0100
Ian Campbell <Ian.Campbell@citrix.com> wrote:

> Are you sure code in cpucheck.c is even being called for the PV/dom0
> case? I'm reasonably sure that PV Xen boot doesn't go anywhere near
> arch/x86/boot -- we have a totally different entry point.

I didn't make myself clear (rushing to type email and leave with a 
brain fried from debugging all day :).) 

I'm talking about HVM domU on PV/dom0.

Basically, I've the PV linux kernel modified for hybrid. I can boot it
as both hybrid domU (say Lu) and hybrid dom0 (say L0).

  Orig/normal PV DOM0: Lu boots in hybrid mode, PV mode, HVM mode.
  L0 as Dom0: Lu boots in hybrid mode, PV mode but in  HVM mode fails.

  HVM mode is failing because very early during boot its failing the 
  eflags.ID test, which should be simple. It should be running
  in real mode in the VMX. I just got outb working, so I can debug
  further now. It's not doing vmexit's so should be running in the
  'unrestricted mode' in the container, which is why i'm baffled.
   Anyways, i'll dig further.

thanks a lot,
Mukesh


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:24:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQNAp-0007QA-3C; Fri, 04 May 2012 18:24:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQNAn-0007Px-Gj
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 18:24:09 +0000
Received: from [85.158.139.83:43204] by server-11.bemta-5.messagelabs.com id
	5F/32-12959-6CE14AF4; Fri, 04 May 2012 18:24:06 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336155845!26858969!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19488 invoked from network); 4 May 2012 18:24:05 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 18:24:05 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (josoe mo14) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id d071ddo44GOcMu
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 20:24:05 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 8739F18630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 20:24:04 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: fb4089f411e49a3f60596c6782083a2785e544ea
Message-Id: <fb4089f411e49a3f6059.1336155843@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 20:24:03 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: add missing space to rename-restart
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336155798 -7200
# Node ID fb4089f411e49a3f60596c6782083a2785e544ea
# Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
xl.cfg: add missing space to rename-restart

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 8f556a70ae0b -r fb4089f411e4 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -172,7 +172,7 @@ configuration
         
 =item B<rename-restart>
 
-rename the domain which terminated, and thenimmediately create a new
+rename the domain which terminated, and then immediately create a new
 domain with the same configuration as the original
 
 =item B<preserve>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:24:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQNAp-0007QA-3C; Fri, 04 May 2012 18:24:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQNAn-0007Px-Gj
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 18:24:09 +0000
Received: from [85.158.139.83:43204] by server-11.bemta-5.messagelabs.com id
	5F/32-12959-6CE14AF4; Fri, 04 May 2012 18:24:06 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336155845!26858969!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODUwOTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19488 invoked from network); 4 May 2012 18:24:05 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 18:24:05 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (josoe mo14) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id d071ddo44GOcMu
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 20:24:05 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 8739F18630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 20:24:04 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: fb4089f411e49a3f60596c6782083a2785e544ea
Message-Id: <fb4089f411e49a3f6059.1336155843@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 20:24:03 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: add missing space to rename-restart
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336155798 -7200
# Node ID fb4089f411e49a3f60596c6782083a2785e544ea
# Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
xl.cfg: add missing space to rename-restart

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 8f556a70ae0b -r fb4089f411e4 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -172,7 +172,7 @@ configuration
         
 =item B<rename-restart>
 
-rename the domain which terminated, and thenimmediately create a new
+rename the domain which terminated, and then immediately create a new
 domain with the same configuration as the original
 
 =item B<preserve>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:55:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQNeQ-0007po-P7; Fri, 04 May 2012 18:54:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SQNeP-0007ph-7i
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 18:54:45 +0000
Received: from [193.109.254.147:30167] by server-5.bemta-14.messagelabs.com id
	B0/7E-30733-4F524AF4; Fri, 04 May 2012 18:54:44 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336157682!7693774!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22797 invoked from network); 4 May 2012 18:54:44 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 18:54:44 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44Isd8u031806
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 18:54:39 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44IsbV1024574
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 18:54:38 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44Isa6q007200; Fri, 4 May 2012 13:54:36 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 11:54:36 -0700
Date: Fri, 4 May 2012 11:54:27 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Message-ID: <20120504115427.6a79abb8@mantra.us.oracle.com>
In-Reply-To: <20120504111935.7553aaed@mantra.us.oracle.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504111935.7553aaed@mantra.us.oracle.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Jan Beulich <JBeulich@suse.com>,
	"Tim.Deegan@citrix.com" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012 11:19:35 -0700
Mukesh Rathor <mukesh.rathor@oracle.com> wrote:

>   HVM mode is failing because very early during boot its failing the 
>   eflags.ID test, which should be simple. It should be running
>   in real mode in the VMX. I just got outb working, so I can debug
>   further now. It's not doing vmexit's so should be running in the
>   'unrestricted mode' in the container, which is why i'm baffled.
>    Anyways, i'll dig further.

Now that I'm able to print stuff, because of the outb working, I see
the problem is executing cpuid and not eflags.ID. I should be able
to nail this soon.

Thanks a lot,
Mukesh



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 18:55:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 18:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQNeQ-0007po-P7; Fri, 04 May 2012 18:54:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SQNeP-0007ph-7i
	for Xen-devel@lists.xensource.com; Fri, 04 May 2012 18:54:45 +0000
Received: from [193.109.254.147:30167] by server-5.bemta-14.messagelabs.com id
	B0/7E-30733-4F524AF4; Fri, 04 May 2012 18:54:44 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336157682!7693774!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxMzQzNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22797 invoked from network); 4 May 2012 18:54:44 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 18:54:44 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44Isd8u031806
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 18:54:39 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44IsbV1024574
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 18:54:38 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44Isa6q007200; Fri, 4 May 2012 13:54:36 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 11:54:36 -0700
Date: Fri, 4 May 2012 11:54:27 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Message-ID: <20120504115427.6a79abb8@mantra.us.oracle.com>
In-Reply-To: <20120504111935.7553aaed@mantra.us.oracle.com>
References: <20120503191025.7c2cec2e@mantra.us.oracle.com>
	<1336122502.2361.7.camel@zakaz.uk.xensource.com>
	<20120504111935.7553aaed@mantra.us.oracle.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Jan Beulich <JBeulich@suse.com>,
	"Tim.Deegan@citrix.com" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [hybrid]: unable to boot hvm due to eflags.ID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012 11:19:35 -0700
Mukesh Rathor <mukesh.rathor@oracle.com> wrote:

>   HVM mode is failing because very early during boot its failing the 
>   eflags.ID test, which should be simple. It should be running
>   in real mode in the VMX. I just got outb working, so I can debug
>   further now. It's not doing vmexit's so should be running in the
>   'unrestricted mode' in the container, which is why i'm baffled.
>    Anyways, i'll dig further.

Now that I'm able to print stuff, because of the outb working, I see
the problem is executing cpuid and not eflags.ID. I should be able
to nail this soon.

Thanks a lot,
Mukesh



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 19:30:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:30:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOCi-0008F5-NL; Fri, 04 May 2012 19:30:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQOCg-0008Ex-Q6
	for xen-devel@lists.xen.org; Fri, 04 May 2012 19:30:11 +0000
Received: from [193.109.254.147:42693] by server-12.bemta-14.messagelabs.com
	id A8/2A-05898-24E24AF4; Fri, 04 May 2012 19:30:10 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336159806!7710316!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13622 invoked from network); 4 May 2012 19:30:07 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 19:30:07 -0000
Received: by qcsc20 with SMTP id c20so196642qcs.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 12:30:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=6x6NwAiie8Ko0MbYCAg4bznKuUOnFlg9SuD8wYVyyo8=;
	b=YoqUJXalY/X3iUXtREIGQrfAAvnfqe+Ak50u80W7LTGs2rItuS17OkQ1LCNdJIYRqp
	RgwEn299ODa3rdOBRyv5LocN4jr+7CkcLtu/8xNrxgn5v7C9LCOlgjHUQLgKKSykKchR
	uYOB82hitL8WxN4+k6CvtZVIlDrMaU6sXxmzpQ1g5wqTQdWH1lNZ4iXNVU8ARCgffuRj
	Ml28JHDPXH4Hh3ZOpSN1qF/GI1ROOt8arBN46eaVEDpqRJY49ehueauLUjPT1Qc6K4o8
	ZP5OcAmU1z1n6mkg75tXlUa6nNj/d8GTCX0FRbv/HhCltkoozOG+aedqX1fY4/51QHar
	r2QA==
MIME-Version: 1.0
Received: by 10.224.176.3 with SMTP id bc3mr5727060qab.0.1336159806486; Fri,
	04 May 2012 12:30:06 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Fri, 4 May 2012 12:30:06 -0700 (PDT)
In-Reply-To: <CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
Date: Fri, 4 May 2012 12:30:06 -0700
Message-ID: <CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Content-Type: multipart/mixed; boundary=20cf303b410fa0f89904bf3af225
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf303b410fa0f89904bf3af225
Content-Type: text/plain; charset=ISO-8859-1

On Thu, May 3, 2012 at 11:09 AM, AP <apxeng@gmail.com> wrote:
> On Thu, May 3, 2012 at 2:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 02.05.12 at 20:42, AP <apxeng@gmail.com> wrote:
>>> On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>>>>> I somehow thought that this has been fixed but I've been
>>>>> getting reports that people are running into this.
>>>>
>>>> "this" being what? I too thought that all xsave related issues were
>>>> sorted out by now.
>>>
>>> I see the following crash if I run without xsave=0 with Ubuntu 11.10
>>> 3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
>>> Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.
>>
>> And in the thread starting at
>> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00426.html
>> I gave debugging instructions that apparently no-one followed so
>> far. Without someone seeing the problem doing so I don't think we
>> will ever get anywhere with this (unless, as also indicated there,
>> someone can spot something wrong with the code that non-obvious
>> to everyone else).
>
> I missed that thread. I will add some debugging to
> pv_guest_cr4_fixup() and the XSETBV handling in
> emulate_privileged_op() and post the output.

I ran with the attached xsave_debug patch and saw the following output:
<snip>
(XEN) CPU: After generic identify, caps: bfebfbff 28100800 00000000
00000000 17bae3ff 00000000 00000001 00000000
(XEN) CPU: After vendor identify, caps: bfebfbff 28100800 00000000
00000000 17bae3ff 00000000 00000001 00000000
(XEN) xstate_init: using cntxt_size: 0x340 and states: 0x7
(XEN) CPU: After all inits, caps: bfebfbff 28100800 00000000 00003f40
17bae3ff 00000000 00000001 00000000
<snip>
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
(XEN) traps.c:2254:d0 XSETBV: lock: 0 rep_prefix: 0 opsize_prefix: 0 cr4: 0x2660
[    6.791945] invalid opcode: 0000 [#1] SMP
<snip>

>From the above I realized that X86_CR4_OSXSAVE was never getting set
in v->arch.pv_vcpu.ctrlreg[4]. So I tried the following patch:

diff -r 5a0d60bb536b xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c	Fri Apr 27 21:10:59 2012 -0700
+++ b/xen/arch/x86/domain.c	Fri May 04 12:23:57 2012 -0700
@@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
         hv_cr4_mask &= ~X86_CR4_DE;
     if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
         hv_cr4_mask &= ~X86_CR4_FSGSBASE;
-    if ( xsave_enabled(v) )
-        hv_cr4_mask &= ~X86_CR4_OSXSAVE;

     if ( (guest_cr4 & hv_cr4_mask) != (hv_cr4 & hv_cr4_mask) )
         gdprintk(XENLOG_WARNING,
diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
--- a/xen/include/asm-x86/domain.h	Fri Apr 27 21:10:59 2012 -0700
+++ b/xen/include/asm-x86/domain.h	Fri May 04 12:23:57 2012 -0700
@@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
      & ~X86_CR4_DE)
 #define real_cr4_to_pv_guest_cr4(c)                         \
     ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD        \
-             | X86_CR4_OSXSAVE | X86_CR4_SMEP))
+             | X86_CR4_SMEP))

 void domain_cpuid(struct domain *d,
                   unsigned int  input,

That allowed the system to boot successfully though I did see the
following message:
(XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660

Not sure if the above patch is right fix but I hope it was at least
helpful in pointing at where the problem might be.

BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with xsave=1.

Thanks,
AP

--20cf303b410fa0f89904bf3af225
Content-Type: application/octet-stream; name="xsave_debug.patch"
Content-Disposition: attachment; filename="xsave_debug.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h1tmyvda0

ZGlmZiAtciA1YTBkNjBiYjUzNmIgeGVuL2FyY2gveDg2L2NwdS9jb21tb24uYwotLS0gYS94ZW4v
YXJjaC94ODYvY3B1L2NvbW1vbi5jCUZyaSBBcHIgMjcgMjE6MTA6NTkgMjAxMiAtMDcwMAorKysg
Yi94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jCUZyaSBNYXkgMDQgMTI6MDE6NDIgMjAxMiAtMDcw
MApAQCAtMzA1LDYgKzMwNSw3IEBAIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBzcXVhc2hfdGhlX3N0
dXBpZF8KIAogI2VuZGlmCiAKKyNkZWZpbmUgTk9JU1lfQ0FQUyAxCiAvKgogICogVGhpcyBkb2Vz
IHRoZSBoYXJkIHdvcmsgb2YgYWN0dWFsbHkgcGlja2luZyBhcGFydCB0aGUgQ1BVIHN0dWZmLi4u
CiAgKi8KZGlmZiAtciA1YTBkNjBiYjUzNmIgeGVuL2FyY2gveDg2L2RvbWFpbi5jCi0tLSBhL3hl
bi9hcmNoL3g4Ni9kb21haW4uYwlGcmkgQXByIDI3IDIxOjEwOjU5IDIwMTIgLTA3MDAKKysrIGIv
eGVuL2FyY2gveDg2L2RvbWFpbi5jCUZyaSBNYXkgMDQgMTI6MDE6NDIgMjAxMiAtMDcwMApAQCAt
Njk5LDYgKzY5OSwxMCBAQCB1bnNpZ25lZCBsb25nIHB2X2d1ZXN0X2NyNF9maXh1cChjb25zdCBz
CiAgICAgICAgICAgICAgICAgICJBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgJTA4bHggLT4g
JTA4bHhcbiIsCiAgICAgICAgICAgICAgICAgIGh2X2NyNCwgZ3Vlc3RfY3I0KTsKIAorICAgIGdk
cHJpbnRrKFhFTkxPR19JTkZPLCAidmNwdVslZF0gaHZfY3I0OiAweCVseCBodl9jcjRfbWFzazog
MHglbHggIgorICAgICAgICAgICAgICJyZXR1cm5pbmcgY3I0OiAweCVseFxuIiwgdi0+dmNwdV9p
ZCwgaHZfY3I0LCBodl9jcjRfbWFzaywKKyAgICAgICAgICAgICAoaHZfY3I0ICYgaHZfY3I0X21h
c2spIHwgKGd1ZXN0X2NyNCAmIH5odl9jcjRfbWFzaykpOworCiAgICAgcmV0dXJuIChodl9jcjQg
JiBodl9jcjRfbWFzaykgfCAoZ3Vlc3RfY3I0ICYgfmh2X2NyNF9tYXNrKTsKIH0KIApkaWZmIC1y
IDVhMGQ2MGJiNTM2YiB4ZW4vYXJjaC94ODYvdHJhcHMuYwotLS0gYS94ZW4vYXJjaC94ODYvdHJh
cHMuYwlGcmkgQXByIDI3IDIxOjEwOjU5IDIwMTIgLTA3MDAKKysrIGIveGVuL2FyY2gveDg2L3Ry
YXBzLmMJRnJpIE1heSAwNCAxMjowMTo0MiAyMDEyIC0wNzAwCkBAIC04NDYsNiArODQ2LDggQEAg
c3RhdGljIHZvaWQgcHZfY3B1aWQoc3RydWN0IGNwdV91c2VyX3JlZwogICAgICAgICBfX2NsZWFy
X2JpdChYODZfRkVBVFVSRV9EQ0EgJSAzMiwgJmMpOwogICAgICAgICBpZiAoICF4c2F2ZV9lbmFi
bGVkKGN1cnJlbnQpICkKICAgICAgICAgeworICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0lO
Rk8sICJ2Y3B1WyVkXSBDbGVhcmluZyBYU0FWRVxuIiwKKyAgICAgICAgICAgICAgICAgICAgIGdl
dF9wcm9jZXNzb3JfaWQoKSk7CiAgICAgICAgICAgICBfX2NsZWFyX2JpdChYODZfRkVBVFVSRV9Y
U0FWRSAlIDMyLCAmYyk7CiAgICAgICAgICAgICBfX2NsZWFyX2JpdChYODZfRkVBVFVSRV9BVlgg
JSAzMiwgJmMpOwogICAgICAgICB9CkBAIC04NjksOCArODcxLDEyIEBAIHN0YXRpYyB2b2lkIHB2
X2NwdWlkKHN0cnVjdCBjcHVfdXNlcl9yZWcKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIDB4
MDAwMDAwMGQ6IC8qIFhTQVZFICovCi0gICAgICAgIGlmICggIXhzYXZlX2VuYWJsZWQoY3VycmVu
dCkgKQorICAgICAgICBnZHByaW50ayhYRU5MT0dfSU5GTywgInZjcHVbJWRdIGNwdWlkIFhTQVZF
IiwgZ2V0X3Byb2Nlc3Nvcl9pZCgpKTsKKyAgICAgICAgaWYgKCAheHNhdmVfZW5hYmxlZChjdXJy
ZW50KSApIHsKKyAgICAgICAgICAgIHByaW50aygiIG5vdCBzdXBwb3J0ZWRcbiIpOwogICAgICAg
ICAgICAgZ290byB1bnN1cHBvcnRlZDsKKyAgICAgICAgfQorICAgICAgICBwcmludGsoIiBzdXBw
b3J0ZWRcbiIpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHg4MDAwMDAwMToKQEAgLTIy
NDMsNiArMjI0OSw5IEBAIHN0YXRpYyBpbnQgZW11bGF0ZV9wcml2aWxlZ2VkX29wKHN0cnVjdCAK
ICAgICAgICAgICAgIGlmICggbG9jayB8fCByZXBfcHJlZml4IHx8IG9wc2l6ZV9wcmVmaXgKICAg
ICAgICAgICAgICAgICAgfHwgISh2LT5hcmNoLnB2X3ZjcHUuY3RybHJlZ1s0XSAmIFg4Nl9DUjRf
T1NYU0FWRSkgKQogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxP
R19FUlIsICJYU0VUQlY6IGxvY2s6ICVkIHJlcF9wcmVmaXg6ICVkICIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAib3BzaXplX3ByZWZpeDogJWQgY3I0OiAweCVseFxuIiwgbG9jaywgcmVwX3By
ZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvcHNpemVfcHJlZml4LCB2LT5hcmNoLnB2
X3ZjcHUuY3RybHJlZ1s0XSk7CiAgICAgICAgICAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2lu
dmFsaWRfb3AsIHJlZ3MsIDApOwogICAgICAgICAgICAgICAgIGdvdG8gc2tpcDsKICAgICAgICAg
ICAgIH0KQEAgLTIzOTUsNiArMjQwNCw5IEBAIHN0YXRpYyBpbnQgZW11bGF0ZV9wcml2aWxlZ2Vk
X29wKHN0cnVjdCAKIAogICAgICAgICBjYXNlIDQ6IC8qIFdyaXRlIENSNCAqLwogICAgICAgICAg
ICAgdi0+YXJjaC5wdl92Y3B1LmN0cmxyZWdbNF0gPSBwdl9ndWVzdF9jcjRfZml4dXAodiwgKnJl
Zyk7CisgICAgICAgICAgICBnZHByaW50ayhYRU5MT0dfSU5GTywgInZjcHVbJWRdIHB2IGNyNDog
MHglbHggd3JpdGUgQ1I0OiAweCVseFxuIiwKKyAgICAgICAgICAgICAgICAgICAgIHYtPnZjcHVf
aWQsIHYtPmFyY2gucHZfdmNwdS5jdHJscmVnWzRdLAorICAgICAgICAgICAgICAgICAgICAgcHZf
Z3Vlc3RfY3I0X3RvX3JlYWxfY3I0KHYpKTsKICAgICAgICAgICAgIHdyaXRlX2NyNChwdl9ndWVz
dF9jcjRfdG9fcmVhbF9jcjQodikpOwogICAgICAgICAgICAgYnJlYWs7CiAK
--20cf303b410fa0f89904bf3af225
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf303b410fa0f89904bf3af225--


From xen-devel-bounces@lists.xen.org Fri May 04 19:30:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:30:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOCi-0008F5-NL; Fri, 04 May 2012 19:30:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQOCg-0008Ex-Q6
	for xen-devel@lists.xen.org; Fri, 04 May 2012 19:30:11 +0000
Received: from [193.109.254.147:42693] by server-12.bemta-14.messagelabs.com
	id A8/2A-05898-24E24AF4; Fri, 04 May 2012 19:30:10 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336159806!7710316!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13622 invoked from network); 4 May 2012 19:30:07 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 19:30:07 -0000
Received: by qcsc20 with SMTP id c20so196642qcs.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 12:30:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=6x6NwAiie8Ko0MbYCAg4bznKuUOnFlg9SuD8wYVyyo8=;
	b=YoqUJXalY/X3iUXtREIGQrfAAvnfqe+Ak50u80W7LTGs2rItuS17OkQ1LCNdJIYRqp
	RgwEn299ODa3rdOBRyv5LocN4jr+7CkcLtu/8xNrxgn5v7C9LCOlgjHUQLgKKSykKchR
	uYOB82hitL8WxN4+k6CvtZVIlDrMaU6sXxmzpQ1g5wqTQdWH1lNZ4iXNVU8ARCgffuRj
	Ml28JHDPXH4Hh3ZOpSN1qF/GI1ROOt8arBN46eaVEDpqRJY49ehueauLUjPT1Qc6K4o8
	ZP5OcAmU1z1n6mkg75tXlUa6nNj/d8GTCX0FRbv/HhCltkoozOG+aedqX1fY4/51QHar
	r2QA==
MIME-Version: 1.0
Received: by 10.224.176.3 with SMTP id bc3mr5727060qab.0.1336159806486; Fri,
	04 May 2012 12:30:06 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Fri, 4 May 2012 12:30:06 -0700 (PDT)
In-Reply-To: <CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
Date: Fri, 4 May 2012 12:30:06 -0700
Message-ID: <CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Content-Type: multipart/mixed; boundary=20cf303b410fa0f89904bf3af225
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf303b410fa0f89904bf3af225
Content-Type: text/plain; charset=ISO-8859-1

On Thu, May 3, 2012 at 11:09 AM, AP <apxeng@gmail.com> wrote:
> On Thu, May 3, 2012 at 2:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 02.05.12 at 20:42, AP <apxeng@gmail.com> wrote:
>>> On Wed, May 2, 2012 at 2:00 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>>> On 30.04.12 at 21:37, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>>>>> I somehow thought that this has been fixed but I've been
>>>>> getting reports that people are running into this.
>>>>
>>>> "this" being what? I too thought that all xsave related issues were
>>>> sorted out by now.
>>>
>>> I see the following crash if I run without xsave=0 with Ubuntu 11.10
>>> 3.0.0-17 kernel (Intel(R) Core(TM) i7-2620M). I don't see this with
>>> Xen 4.1.2. Looks like the OSXSAVE bit is not getting set in CR4.
>>
>> And in the thread starting at
>> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00426.html
>> I gave debugging instructions that apparently no-one followed so
>> far. Without someone seeing the problem doing so I don't think we
>> will ever get anywhere with this (unless, as also indicated there,
>> someone can spot something wrong with the code that non-obvious
>> to everyone else).
>
> I missed that thread. I will add some debugging to
> pv_guest_cr4_fixup() and the XSETBV handling in
> emulate_privileged_op() and post the output.

I ran with the attached xsave_debug patch and saw the following output:
<snip>
(XEN) CPU: After generic identify, caps: bfebfbff 28100800 00000000
00000000 17bae3ff 00000000 00000001 00000000
(XEN) CPU: After vendor identify, caps: bfebfbff 28100800 00000000
00000000 17bae3ff 00000000 00000001 00000000
(XEN) xstate_init: using cntxt_size: 0x340 and states: 0x7
(XEN) CPU: After all inits, caps: bfebfbff 28100800 00000000 00003f40
17bae3ff 00000000 00000001 00000000
<snip>
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
(XEN) traps.c:2254:d0 XSETBV: lock: 0 rep_prefix: 0 opsize_prefix: 0 cr4: 0x2660
[    6.791945] invalid opcode: 0000 [#1] SMP
<snip>

>From the above I realized that X86_CR4_OSXSAVE was never getting set
in v->arch.pv_vcpu.ctrlreg[4]. So I tried the following patch:

diff -r 5a0d60bb536b xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c	Fri Apr 27 21:10:59 2012 -0700
+++ b/xen/arch/x86/domain.c	Fri May 04 12:23:57 2012 -0700
@@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
         hv_cr4_mask &= ~X86_CR4_DE;
     if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
         hv_cr4_mask &= ~X86_CR4_FSGSBASE;
-    if ( xsave_enabled(v) )
-        hv_cr4_mask &= ~X86_CR4_OSXSAVE;

     if ( (guest_cr4 & hv_cr4_mask) != (hv_cr4 & hv_cr4_mask) )
         gdprintk(XENLOG_WARNING,
diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
--- a/xen/include/asm-x86/domain.h	Fri Apr 27 21:10:59 2012 -0700
+++ b/xen/include/asm-x86/domain.h	Fri May 04 12:23:57 2012 -0700
@@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
      & ~X86_CR4_DE)
 #define real_cr4_to_pv_guest_cr4(c)                         \
     ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD        \
-             | X86_CR4_OSXSAVE | X86_CR4_SMEP))
+             | X86_CR4_SMEP))

 void domain_cpuid(struct domain *d,
                   unsigned int  input,

That allowed the system to boot successfully though I did see the
following message:
(XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660

Not sure if the above patch is right fix but I hope it was at least
helpful in pointing at where the problem might be.

BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with xsave=1.

Thanks,
AP

--20cf303b410fa0f89904bf3af225
Content-Type: application/octet-stream; name="xsave_debug.patch"
Content-Disposition: attachment; filename="xsave_debug.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h1tmyvda0

ZGlmZiAtciA1YTBkNjBiYjUzNmIgeGVuL2FyY2gveDg2L2NwdS9jb21tb24uYwotLS0gYS94ZW4v
YXJjaC94ODYvY3B1L2NvbW1vbi5jCUZyaSBBcHIgMjcgMjE6MTA6NTkgMjAxMiAtMDcwMAorKysg
Yi94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jCUZyaSBNYXkgMDQgMTI6MDE6NDIgMjAxMiAtMDcw
MApAQCAtMzA1LDYgKzMwNSw3IEBAIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBzcXVhc2hfdGhlX3N0
dXBpZF8KIAogI2VuZGlmCiAKKyNkZWZpbmUgTk9JU1lfQ0FQUyAxCiAvKgogICogVGhpcyBkb2Vz
IHRoZSBoYXJkIHdvcmsgb2YgYWN0dWFsbHkgcGlja2luZyBhcGFydCB0aGUgQ1BVIHN0dWZmLi4u
CiAgKi8KZGlmZiAtciA1YTBkNjBiYjUzNmIgeGVuL2FyY2gveDg2L2RvbWFpbi5jCi0tLSBhL3hl
bi9hcmNoL3g4Ni9kb21haW4uYwlGcmkgQXByIDI3IDIxOjEwOjU5IDIwMTIgLTA3MDAKKysrIGIv
eGVuL2FyY2gveDg2L2RvbWFpbi5jCUZyaSBNYXkgMDQgMTI6MDE6NDIgMjAxMiAtMDcwMApAQCAt
Njk5LDYgKzY5OSwxMCBAQCB1bnNpZ25lZCBsb25nIHB2X2d1ZXN0X2NyNF9maXh1cChjb25zdCBz
CiAgICAgICAgICAgICAgICAgICJBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgJTA4bHggLT4g
JTA4bHhcbiIsCiAgICAgICAgICAgICAgICAgIGh2X2NyNCwgZ3Vlc3RfY3I0KTsKIAorICAgIGdk
cHJpbnRrKFhFTkxPR19JTkZPLCAidmNwdVslZF0gaHZfY3I0OiAweCVseCBodl9jcjRfbWFzazog
MHglbHggIgorICAgICAgICAgICAgICJyZXR1cm5pbmcgY3I0OiAweCVseFxuIiwgdi0+dmNwdV9p
ZCwgaHZfY3I0LCBodl9jcjRfbWFzaywKKyAgICAgICAgICAgICAoaHZfY3I0ICYgaHZfY3I0X21h
c2spIHwgKGd1ZXN0X2NyNCAmIH5odl9jcjRfbWFzaykpOworCiAgICAgcmV0dXJuIChodl9jcjQg
JiBodl9jcjRfbWFzaykgfCAoZ3Vlc3RfY3I0ICYgfmh2X2NyNF9tYXNrKTsKIH0KIApkaWZmIC1y
IDVhMGQ2MGJiNTM2YiB4ZW4vYXJjaC94ODYvdHJhcHMuYwotLS0gYS94ZW4vYXJjaC94ODYvdHJh
cHMuYwlGcmkgQXByIDI3IDIxOjEwOjU5IDIwMTIgLTA3MDAKKysrIGIveGVuL2FyY2gveDg2L3Ry
YXBzLmMJRnJpIE1heSAwNCAxMjowMTo0MiAyMDEyIC0wNzAwCkBAIC04NDYsNiArODQ2LDggQEAg
c3RhdGljIHZvaWQgcHZfY3B1aWQoc3RydWN0IGNwdV91c2VyX3JlZwogICAgICAgICBfX2NsZWFy
X2JpdChYODZfRkVBVFVSRV9EQ0EgJSAzMiwgJmMpOwogICAgICAgICBpZiAoICF4c2F2ZV9lbmFi
bGVkKGN1cnJlbnQpICkKICAgICAgICAgeworICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0lO
Rk8sICJ2Y3B1WyVkXSBDbGVhcmluZyBYU0FWRVxuIiwKKyAgICAgICAgICAgICAgICAgICAgIGdl
dF9wcm9jZXNzb3JfaWQoKSk7CiAgICAgICAgICAgICBfX2NsZWFyX2JpdChYODZfRkVBVFVSRV9Y
U0FWRSAlIDMyLCAmYyk7CiAgICAgICAgICAgICBfX2NsZWFyX2JpdChYODZfRkVBVFVSRV9BVlgg
JSAzMiwgJmMpOwogICAgICAgICB9CkBAIC04NjksOCArODcxLDEyIEBAIHN0YXRpYyB2b2lkIHB2
X2NwdWlkKHN0cnVjdCBjcHVfdXNlcl9yZWcKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIDB4
MDAwMDAwMGQ6IC8qIFhTQVZFICovCi0gICAgICAgIGlmICggIXhzYXZlX2VuYWJsZWQoY3VycmVu
dCkgKQorICAgICAgICBnZHByaW50ayhYRU5MT0dfSU5GTywgInZjcHVbJWRdIGNwdWlkIFhTQVZF
IiwgZ2V0X3Byb2Nlc3Nvcl9pZCgpKTsKKyAgICAgICAgaWYgKCAheHNhdmVfZW5hYmxlZChjdXJy
ZW50KSApIHsKKyAgICAgICAgICAgIHByaW50aygiIG5vdCBzdXBwb3J0ZWRcbiIpOwogICAgICAg
ICAgICAgZ290byB1bnN1cHBvcnRlZDsKKyAgICAgICAgfQorICAgICAgICBwcmludGsoIiBzdXBw
b3J0ZWRcbiIpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHg4MDAwMDAwMToKQEAgLTIy
NDMsNiArMjI0OSw5IEBAIHN0YXRpYyBpbnQgZW11bGF0ZV9wcml2aWxlZ2VkX29wKHN0cnVjdCAK
ICAgICAgICAgICAgIGlmICggbG9jayB8fCByZXBfcHJlZml4IHx8IG9wc2l6ZV9wcmVmaXgKICAg
ICAgICAgICAgICAgICAgfHwgISh2LT5hcmNoLnB2X3ZjcHUuY3RybHJlZ1s0XSAmIFg4Nl9DUjRf
T1NYU0FWRSkgKQogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxP
R19FUlIsICJYU0VUQlY6IGxvY2s6ICVkIHJlcF9wcmVmaXg6ICVkICIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAib3BzaXplX3ByZWZpeDogJWQgY3I0OiAweCVseFxuIiwgbG9jaywgcmVwX3By
ZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvcHNpemVfcHJlZml4LCB2LT5hcmNoLnB2
X3ZjcHUuY3RybHJlZ1s0XSk7CiAgICAgICAgICAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2lu
dmFsaWRfb3AsIHJlZ3MsIDApOwogICAgICAgICAgICAgICAgIGdvdG8gc2tpcDsKICAgICAgICAg
ICAgIH0KQEAgLTIzOTUsNiArMjQwNCw5IEBAIHN0YXRpYyBpbnQgZW11bGF0ZV9wcml2aWxlZ2Vk
X29wKHN0cnVjdCAKIAogICAgICAgICBjYXNlIDQ6IC8qIFdyaXRlIENSNCAqLwogICAgICAgICAg
ICAgdi0+YXJjaC5wdl92Y3B1LmN0cmxyZWdbNF0gPSBwdl9ndWVzdF9jcjRfZml4dXAodiwgKnJl
Zyk7CisgICAgICAgICAgICBnZHByaW50ayhYRU5MT0dfSU5GTywgInZjcHVbJWRdIHB2IGNyNDog
MHglbHggd3JpdGUgQ1I0OiAweCVseFxuIiwKKyAgICAgICAgICAgICAgICAgICAgIHYtPnZjcHVf
aWQsIHYtPmFyY2gucHZfdmNwdS5jdHJscmVnWzRdLAorICAgICAgICAgICAgICAgICAgICAgcHZf
Z3Vlc3RfY3I0X3RvX3JlYWxfY3I0KHYpKTsKICAgICAgICAgICAgIHdyaXRlX2NyNChwdl9ndWVz
dF9jcjRfdG9fcmVhbF9jcjQodikpOwogICAgICAgICAgICAgYnJlYWs7CiAK
--20cf303b410fa0f89904bf3af225
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf303b410fa0f89904bf3af225--


From xen-devel-bounces@lists.xen.org Fri May 04 19:32:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:32:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOEG-0008Iw-6H; Fri, 04 May 2012 19:31:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQOEE-0008Il-3C
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 19:31:46 +0000
Received: from [193.109.254.147:13952] by server-12.bemta-14.messagelabs.com
	id 86/EA-05898-1AE24AF4; Fri, 04 May 2012 19:31:45 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336159904!7738708!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7447 invoked from network); 4 May 2012 19:31:44 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 19:31:44 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (jorabe mo54) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id N02aa0o44Giviv
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 21:31:44 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 987FB18630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 21:31:43 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: c414728d0d12f1c3e416e40cceefca2f0b00578e
Message-Id: <c414728d0d12f1c3e416.1336159902@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 21:31:42 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336159720 -7200
# Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
# Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
xl.cfg: document the maxmem= option

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -484,6 +484,14 @@ are not using hardware assisted paging (
 mode) and your guest workload consists of a a very large number of
 similar processes then increasing this value may improve performance.
 
+=item B<maxmem=MBYTES>
+
+Specifies the maximum amount of memory the HVM guest can ever see.
+In combination with the memory= option it will enable the PoD (populate
+on demand) mode for the guest iff the values of memory= and maxmem=
+differ. The guest needs a balloon driver in this case. The value of
+maxmem= must be equal or greater than memory=.
+
 =back
 
 =head3 Processor and Platform Features
@@ -955,10 +963,6 @@ XXX
 
 XXX
 
-=item B<maxmem=NUMBER>
-
-XXX
-
 =item B<nodes=XXX>
 
 XXX

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 19:32:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:32:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOEG-0008Iw-6H; Fri, 04 May 2012 19:31:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQOEE-0008Il-3C
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 19:31:46 +0000
Received: from [193.109.254.147:13952] by server-12.bemta-14.messagelabs.com
	id 86/EA-05898-1AE24AF4; Fri, 04 May 2012 19:31:45 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336159904!7738708!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7447 invoked from network); 4 May 2012 19:31:44 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 19:31:44 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (jorabe mo54) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id N02aa0o44Giviv
	for <xen-devel@lists.xensource.com>;
	Fri, 4 May 2012 21:31:44 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 987FB18630
	for <xen-devel@lists.xensource.com>;
	Fri,  4 May 2012 21:31:43 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: c414728d0d12f1c3e416e40cceefca2f0b00578e
Message-Id: <c414728d0d12f1c3e416.1336159902@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 04 May 2012 21:31:42 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336159720 -7200
# Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
# Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
xl.cfg: document the maxmem= option

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -484,6 +484,14 @@ are not using hardware assisted paging (
 mode) and your guest workload consists of a a very large number of
 similar processes then increasing this value may improve performance.
 
+=item B<maxmem=MBYTES>
+
+Specifies the maximum amount of memory the HVM guest can ever see.
+In combination with the memory= option it will enable the PoD (populate
+on demand) mode for the guest iff the values of memory= and maxmem=
+differ. The guest needs a balloon driver in this case. The value of
+maxmem= must be equal or greater than memory=.
+
 =back
 
 =head3 Processor and Platform Features
@@ -955,10 +963,6 @@ XXX
 
 XXX
 
-=item B<maxmem=NUMBER>
-
-XXX
-
 =item B<nodes=XXX>
 
 XXX

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 19:48:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:48:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOUA-0000HR-OS; Fri, 04 May 2012 19:48:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQOUA-0000HM-2G
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 19:48:14 +0000
Received: from [85.158.143.35:28416] by server-2.bemta-4.messagelabs.com id
	E3/48-17550-D7234AF4; Fri, 04 May 2012 19:48:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336160890!7593534!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21347 invoked from network); 4 May 2012 19:48:11 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 19:48:11 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44Jm7bC025115
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 19:48:08 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44Jm6Eu011583
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 19:48:06 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44Jm6HD010270; Fri, 4 May 2012 14:48:06 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 12:48:05 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 93D714031E; Fri,  4 May 2012 15:42:22 -0400 (EDT)
Date: Fri, 4 May 2012 15:42:22 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Olaf Hering <olaf@aepfle.de>
Message-ID: <20120504194222.GA28634@phenom.dumpdata.com>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <c414728d0d12f1c3e416.1336159902@probook.site>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336159720 -7200
> # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> xl.cfg: document the maxmem= option
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> 
> diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -484,6 +484,14 @@ are not using hardware assisted paging (
>  mode) and your guest workload consists of a a very large number of
>  similar processes then increasing this value may improve performance.
>  
> +=item B<maxmem=MBYTES>
> +
> +Specifies the maximum amount of memory the HVM guest can ever see.

Isn't it also for PV guests (though without the PoD functionality)?

> +In combination with the memory= option it will enable the PoD (populate
> +on demand) mode for the guest iff the values of memory= and maxmem=
> +differ. The guest needs a balloon driver in this case. The value of
> +maxmem= must be equal or greater than memory=.
> +
>  =back
>  
>  =head3 Processor and Platform Features
> @@ -955,10 +963,6 @@ XXX
>  
>  XXX
>  
> -=item B<maxmem=NUMBER>
> -
> -XXX
> -
>  =item B<nodes=XXX>
>  
>  XXX
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 19:48:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:48:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOUA-0000HR-OS; Fri, 04 May 2012 19:48:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SQOUA-0000HM-2G
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 19:48:14 +0000
Received: from [85.158.143.35:28416] by server-2.bemta-4.messagelabs.com id
	E3/48-17550-D7234AF4; Fri, 04 May 2012 19:48:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336160890!7593534!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTExMDIx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21347 invoked from network); 4 May 2012 19:48:11 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 19:48:11 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q44Jm7bC025115
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 4 May 2012 19:48:08 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q44Jm6Eu011583
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 4 May 2012 19:48:06 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q44Jm6HD010270; Fri, 4 May 2012 14:48:06 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 04 May 2012 12:48:05 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 93D714031E; Fri,  4 May 2012 15:42:22 -0400 (EDT)
Date: Fri, 4 May 2012 15:42:22 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Olaf Hering <olaf@aepfle.de>
Message-ID: <20120504194222.GA28634@phenom.dumpdata.com>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <c414728d0d12f1c3e416.1336159902@probook.site>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336159720 -7200
> # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> xl.cfg: document the maxmem= option
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> 
> diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -484,6 +484,14 @@ are not using hardware assisted paging (
>  mode) and your guest workload consists of a a very large number of
>  similar processes then increasing this value may improve performance.
>  
> +=item B<maxmem=MBYTES>
> +
> +Specifies the maximum amount of memory the HVM guest can ever see.

Isn't it also for PV guests (though without the PoD functionality)?

> +In combination with the memory= option it will enable the PoD (populate
> +on demand) mode for the guest iff the values of memory= and maxmem=
> +differ. The guest needs a balloon driver in this case. The value of
> +maxmem= must be equal or greater than memory=.
> +
>  =back
>  
>  =head3 Processor and Platform Features
> @@ -955,10 +963,6 @@ XXX
>  
>  XXX
>  
> -=item B<maxmem=NUMBER>
> -
> -XXX
> -
>  =item B<nodes=XXX>
>  
>  XXX
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 19:48:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOUT-0000Ij-9r; Fri, 04 May 2012 19:48:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQOUR-0000IU-PI
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 19:48:32 +0000
Received: from [85.158.139.83:60862] by server-1.bemta-5.messagelabs.com id
	42/9D-28458-E8234AF4; Fri, 04 May 2012 19:48:30 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336160907!19599256!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29849 invoked from network); 4 May 2012 19:48:29 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 19:48:29 -0000
Received: by qady23 with SMTP id y23so1852561qad.7
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 12:48:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=TIBLwvZgNVQLUW42Jj7WBuk8s4xbm6AXhJmw1rTX5JI=;
	b=SG6zW1iyET3akr5VsKUKl+V2oJrls6O2AmE/JEmgLn37a0KCmjKVqR6RooswA+MDz4
	k9jknF1yHP7LTR2BVm7kmGlerPhVHG4IHyYJUwNl63FSrJOqrRP2Lc6doM1UTMOg30K9
	oZ3oevhHN0R2+f2ML8ZB0LFuN2MCmWIkL9wMH6lFv5eEbc4dHtCbD886PdIV6haIsuhm
	ikOJ9zwItuKAcf92/Hw4x5d8OsqCTfs2/vwflhhGNf2wdJ3buplcd/3nP5u0MatCYqvv
	QxlLns6O+WoV1nZA7H1O/P2NnAxDv78MCyBCDOVTeD0+jwoKWvHyGx371IHdX8zxRywR
	nIWw==
MIME-Version: 1.0
Received: by 10.224.106.131 with SMTP id x3mr5806321qao.23.1336160906636; Fri,
	04 May 2012 12:48:26 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Fri, 4 May 2012 12:48:26 -0700 (PDT)
In-Reply-To: <1332844592.25560.9.camel@zakaz.uk.xensource.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
Date: Fri, 4 May 2012 12:48:26 -0700
Message-ID: <CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
>> > flight 11946 xen-unstable real [real]
>> > http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
>> >
>> > Regressions :-(
>> >
>> > Tests which did not succeed and are blocking,
>> > including tests which could not be run:
>> > =A0test-amd64-i386-xl-credit2 =A0 =A07 debian-install =A0 =A0 =A0 =A0 =
=A0 =A0fail REGR. vs. 11944
>>
>> Host crash:
>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-x=
l-credit2/serial-woodlouse.log
>>
>> This is the debug Andrew Cooper added recently to track down the IRQ
>> assertion we've been seeing, sadly it looks like the debug code tries to
>> call xfree from interrupt context and therefore doesn't produce full
>> output :-(
>
> Are we still seeing the issue this debugging was intended to address? We
> don't seem to be seeing the host crashes any more. Should the debug code
> be patched up as in the following patch, otherwise when we do see it it
> doesn't end up printing any useful info.
>
> Someone recently reported bugs.debian.org/665433 to Debian, is this the
> same underlying issue? That report is with Xen 4.0 FWIW.

I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
code added. Can the fix to the debugging code be checked in until the
original issue has been fixed?

Thanks,
AP

(XEN) *** IRQ BUG found ***
(XEN) CPU0 -Testing vector 236 from bitmap
41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,=
208
(XEN) Guest interrupt information:
(XEN)    IRQ:   0 affinity:01 vec:f0 type=3DIO-APIC-edge
status=3D00000000 mapped, unbound
(XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
(XEN) ----[ Xen-4.2-unstable  x86_64  debug=3Dy  Tainted:    C ]----
(XEN) CPU:    0
(XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
(XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
(XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx: 0000000000000000
(XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi: 0000000000000000
(XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:  0000000000000004
(XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000010
(XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14: ffff830214ac0ca8
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000426f0
(XEN) cr3: 0000000168971000   cr2: 0000000001095e00
(XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) Xen stack trace from rsp=3Dffff82c4802b7c58:
(XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c ffff830214ac0ca8
(XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a ffff82c400000020
(XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8 0000000000000000
(XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80 000000000000000c
(XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58 ffff82c480168000
(XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000 ffff82c4802b7f18
(XEN)    0000000000000000 0000000000000000 ffff82c480302324 0000000000000020
(XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000 0000000000000000
(XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000 ffff8300da996000
(XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160 ffff82c4802b7e20
(XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000 0000000000000003
(XEN)    0000000000000000 0000000000000000 00007d3b7fd48207 ffff82c480160426
(XEN)    0000000000000000 0000000000000000 0000000000000003 ffff8300da991000
(XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282 ffff82c4802319a0
(XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081 0000000000000000
(XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000 0000002000000000
(XEN)    ffff82c4801865c1 000000000000e008 0000000000000202 ffff82c4802b7e88
(XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8 ffff82c4802230d8
(XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246 ffffffff810013aa
(XEN)    0000000000000000 ffffffff810013aa 000000000000e030 0000000000000246
(XEN) Xen call trace:
(XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
(XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
(XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
(XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
(XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
(XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
(XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 19:48:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 19:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOUT-0000Ij-9r; Fri, 04 May 2012 19:48:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQOUR-0000IU-PI
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 19:48:32 +0000
Received: from [85.158.139.83:60862] by server-1.bemta-5.messagelabs.com id
	42/9D-28458-E8234AF4; Fri, 04 May 2012 19:48:30 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336160907!19599256!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29849 invoked from network); 4 May 2012 19:48:29 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 19:48:29 -0000
Received: by qady23 with SMTP id y23so1852561qad.7
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 12:48:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=TIBLwvZgNVQLUW42Jj7WBuk8s4xbm6AXhJmw1rTX5JI=;
	b=SG6zW1iyET3akr5VsKUKl+V2oJrls6O2AmE/JEmgLn37a0KCmjKVqR6RooswA+MDz4
	k9jknF1yHP7LTR2BVm7kmGlerPhVHG4IHyYJUwNl63FSrJOqrRP2Lc6doM1UTMOg30K9
	oZ3oevhHN0R2+f2ML8ZB0LFuN2MCmWIkL9wMH6lFv5eEbc4dHtCbD886PdIV6haIsuhm
	ikOJ9zwItuKAcf92/Hw4x5d8OsqCTfs2/vwflhhGNf2wdJ3buplcd/3nP5u0MatCYqvv
	QxlLns6O+WoV1nZA7H1O/P2NnAxDv78MCyBCDOVTeD0+jwoKWvHyGx371IHdX8zxRywR
	nIWw==
MIME-Version: 1.0
Received: by 10.224.106.131 with SMTP id x3mr5806321qao.23.1336160906636; Fri,
	04 May 2012 12:48:26 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Fri, 4 May 2012 12:48:26 -0700 (PDT)
In-Reply-To: <1332844592.25560.9.camel@zakaz.uk.xensource.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
Date: Fri, 4 May 2012 12:48:26 -0700
Message-ID: <CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
>> > flight 11946 xen-unstable real [real]
>> > http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
>> >
>> > Regressions :-(
>> >
>> > Tests which did not succeed and are blocking,
>> > including tests which could not be run:
>> > =A0test-amd64-i386-xl-credit2 =A0 =A07 debian-install =A0 =A0 =A0 =A0 =
=A0 =A0fail REGR. vs. 11944
>>
>> Host crash:
>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-x=
l-credit2/serial-woodlouse.log
>>
>> This is the debug Andrew Cooper added recently to track down the IRQ
>> assertion we've been seeing, sadly it looks like the debug code tries to
>> call xfree from interrupt context and therefore doesn't produce full
>> output :-(
>
> Are we still seeing the issue this debugging was intended to address? We
> don't seem to be seeing the host crashes any more. Should the debug code
> be patched up as in the following patch, otherwise when we do see it it
> doesn't end up printing any useful info.
>
> Someone recently reported bugs.debian.org/665433 to Debian, is this the
> same underlying issue? That report is with Xen 4.0 FWIW.

I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
code added. Can the fix to the debugging code be checked in until the
original issue has been fixed?

Thanks,
AP

(XEN) *** IRQ BUG found ***
(XEN) CPU0 -Testing vector 236 from bitmap
41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,=
208
(XEN) Guest interrupt information:
(XEN)    IRQ:   0 affinity:01 vec:f0 type=3DIO-APIC-edge
status=3D00000000 mapped, unbound
(XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
(XEN) ----[ Xen-4.2-unstable  x86_64  debug=3Dy  Tainted:    C ]----
(XEN) CPU:    0
(XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
(XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
(XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx: 0000000000000000
(XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi: 0000000000000000
(XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:  0000000000000004
(XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000010
(XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14: ffff830214ac0ca8
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000426f0
(XEN) cr3: 0000000168971000   cr2: 0000000001095e00
(XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) Xen stack trace from rsp=3Dffff82c4802b7c58:
(XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c ffff830214ac0ca8
(XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a ffff82c400000020
(XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8 0000000000000000
(XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80 000000000000000c
(XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58 ffff82c480168000
(XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000 ffff82c4802b7f18
(XEN)    0000000000000000 0000000000000000 ffff82c480302324 0000000000000020
(XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000 0000000000000000
(XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000 ffff8300da996000
(XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160 ffff82c4802b7e20
(XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000 0000000000000003
(XEN)    0000000000000000 0000000000000000 00007d3b7fd48207 ffff82c480160426
(XEN)    0000000000000000 0000000000000000 0000000000000003 ffff8300da991000
(XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282 ffff82c4802319a0
(XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081 0000000000000000
(XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000 0000002000000000
(XEN)    ffff82c4801865c1 000000000000e008 0000000000000202 ffff82c4802b7e88
(XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8 ffff82c4802230d8
(XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246 ffffffff810013aa
(XEN)    0000000000000000 ffffffff810013aa 000000000000e030 0000000000000246
(XEN) Xen call trace:
(XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
(XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
(XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
(XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
(XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
(XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
(XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 20:11:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 20:11:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOqc-00019K-2C; Fri, 04 May 2012 20:11:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQOqa-00019F-TL
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 20:11:25 +0000
Received: from [85.158.139.83:24559] by server-12.bemta-5.messagelabs.com id
	3F/83-01344-CE734AF4; Fri, 04 May 2012 20:11:24 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336162281!19481127!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29640 invoked from network); 4 May 2012 20:11:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 20:11:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,533,1330923600"; d="scan'208";a="193489031"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:11:21 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:11:20 -0400
Message-ID: <4FA437E7.6040105@citrix.com>
Date: Fri, 4 May 2012 21:11:19 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: AP <apxeng@gmail.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>, "Keir
	(Xen.org)" <keir@xen.org>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
In-Reply-To: <CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------070806000207030108000402"
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------070806000207030108000402
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

On 04/05/12 20:48, AP wrote:
> On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
>>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
>>>> flight 11946 xen-unstable real [real]
>>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
>>>>
>>>> Regressions :-(
>>>>
>>>> Tests which did not succeed and are blocking,
>>>> including tests which could not be run:
>>>>  test-amd64-i386-xl-credit2    7 debian-install            fail REGR. vs. 11944
>>> Host crash:
>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log
>>>
>>> This is the debug Andrew Cooper added recently to track down the IRQ
>>> assertion we've been seeing, sadly it looks like the debug code tries to
>>> call xfree from interrupt context and therefore doesn't produce full
>>> output :-(
>> Are we still seeing the issue this debugging was intended to address? We
>> don't seem to be seeing the host crashes any more. Should the debug code
>> be patched up as in the following patch, otherwise when we do see it it
>> doesn't end up printing any useful info.
>>
>> Someone recently reported bugs.debian.org/665433 to Debian, is this the
>> same underlying issue? That report is with Xen 4.0 FWIW.
> I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
> code added. Can the fix to the debugging code be checked in until the
> original issue has been fixed?
>
> Thanks,
> AP
>
> (XEN) *** IRQ BUG found ***
> (XEN) CPU0 -Testing vector 236 from bitmap
> 41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,208
> (XEN) Guest interrupt information:
> (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> status=00000000 mapped, unbound
> (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Tainted:    C ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
> (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> (XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx: 0000000000000000
> (XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi: 0000000000000000
> (XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:  0000000000000004
> (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000010
> (XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14: ffff830214ac0ca8
> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000426f0
> (XEN) cr3: 0000000168971000   cr2: 0000000001095e00
> (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen stack trace from rsp=ffff82c4802b7c58:
> (XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c ffff830214ac0ca8
> (XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a ffff82c400000020
> (XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8 0000000000000000
> (XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80 000000000000000c
> (XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58 ffff82c480168000
> (XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000 ffff82c4802b7f18
> (XEN)    0000000000000000 0000000000000000 ffff82c480302324 0000000000000020
> (XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000 0000000000000000
> (XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000 ffff8300da996000
> (XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160 ffff82c4802b7e20
> (XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000 0000000000000003
> (XEN)    0000000000000000 0000000000000000 00007d3b7fd48207 ffff82c480160426
> (XEN)    0000000000000000 0000000000000000 0000000000000003 ffff8300da991000
> (XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282 ffff82c4802319a0
> (XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081 0000000000000000
> (XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000 0000002000000000
> (XEN)    ffff82c4801865c1 000000000000e008 0000000000000202 ffff82c4802b7e88
> (XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8 ffff82c4802230d8
> (XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246 ffffffff810013aa
> (XEN)    0000000000000000 ffffffff810013aa 000000000000e030 0000000000000246
> (XEN) Xen call trace:
> (XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
> (XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
> (XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
> (XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
> (XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
> (XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
> (XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> (XEN) ****************************************
> (XEN)
> (XEN) Reboot in five seconds...
The attached patch should prevent this panic, allowing for all the debug
information to be printed to the console.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------070806000207030108000402
Content-Type: text/x-patch; name="irq-fix-dump_irqs.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="irq-fix-dump_irqs.patch"

# HG changeset patch
# Parent 3b563b2c79f991f226bd383d40402d96ddf9a168
x86/irq: Prevent call to xfree in dump_irqs while in an irq context.

Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an irq
context when a bug condition is encountered.  If this is the case, ignore the
call to xsm_show_irq_ssid() and the subsequent call to xfree.

This prevents an assertion failure in xfree(), and should allow all the debug
information to be dumped, before failing with a BUG() because of the underlying
race condition we are attempting to reproduce.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 3b563b2c79f9 xen/arch/x86/irq.c
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2039,7 +2039,7 @@ static void dump_irqs(unsigned char key)
     struct domain *d;
     const struct pirq *info;
     unsigned long flags;
-    char *ssid;
+    char *ssid = NULL;
 
     printk("Guest interrupt information:\n");
 
@@ -2051,7 +2051,8 @@ static void dump_irqs(unsigned char key)
         if ( !irq_desc_initialized(desc) || desc->handler == &no_irq_type )
             continue;
 
-        ssid = xsm_show_irq_sid(irq);
+        if ( ! in_irq() )
+            ssid = xsm_show_irq_sid(irq);
 
         spin_lock_irqsave(&desc->lock, flags);
 
@@ -2098,7 +2099,8 @@ static void dump_irqs(unsigned char key)
 
         spin_unlock_irqrestore(&desc->lock, flags);
 
-        xfree(ssid);
+        if ( ! in_irq() )
+            xfree(ssid);
     }
 
     dump_ioapic_irq_info();

--------------070806000207030108000402
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------070806000207030108000402--


From xen-devel-bounces@lists.xen.org Fri May 04 20:11:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 20:11:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOqc-00019K-2C; Fri, 04 May 2012 20:11:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQOqa-00019F-TL
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 20:11:25 +0000
Received: from [85.158.139.83:24559] by server-12.bemta-5.messagelabs.com id
	3F/83-01344-CE734AF4; Fri, 04 May 2012 20:11:24 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336162281!19481127!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNDk5MTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29640 invoked from network); 4 May 2012 20:11:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 20:11:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,533,1330923600"; d="scan'208";a="193489031"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	04 May 2012 16:11:21 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 4 May 2012
	16:11:20 -0400
Message-ID: <4FA437E7.6040105@citrix.com>
Date: Fri, 4 May 2012 21:11:19 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: AP <apxeng@gmail.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>, "Keir
	(Xen.org)" <keir@xen.org>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
In-Reply-To: <CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------070806000207030108000402"
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------070806000207030108000402
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

On 04/05/12 20:48, AP wrote:
> On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
>>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
>>>> flight 11946 xen-unstable real [real]
>>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
>>>>
>>>> Regressions :-(
>>>>
>>>> Tests which did not succeed and are blocking,
>>>> including tests which could not be run:
>>>>  test-amd64-i386-xl-credit2    7 debian-install            fail REGR. vs. 11944
>>> Host crash:
>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log
>>>
>>> This is the debug Andrew Cooper added recently to track down the IRQ
>>> assertion we've been seeing, sadly it looks like the debug code tries to
>>> call xfree from interrupt context and therefore doesn't produce full
>>> output :-(
>> Are we still seeing the issue this debugging was intended to address? We
>> don't seem to be seeing the host crashes any more. Should the debug code
>> be patched up as in the following patch, otherwise when we do see it it
>> doesn't end up printing any useful info.
>>
>> Someone recently reported bugs.debian.org/665433 to Debian, is this the
>> same underlying issue? That report is with Xen 4.0 FWIW.
> I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
> code added. Can the fix to the debugging code be checked in until the
> original issue has been fixed?
>
> Thanks,
> AP
>
> (XEN) *** IRQ BUG found ***
> (XEN) CPU0 -Testing vector 236 from bitmap
> 41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,208
> (XEN) Guest interrupt information:
> (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> status=00000000 mapped, unbound
> (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Tainted:    C ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
> (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> (XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx: 0000000000000000
> (XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi: 0000000000000000
> (XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:  0000000000000004
> (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000010
> (XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14: ffff830214ac0ca8
> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000426f0
> (XEN) cr3: 0000000168971000   cr2: 0000000001095e00
> (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen stack trace from rsp=ffff82c4802b7c58:
> (XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c ffff830214ac0ca8
> (XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a ffff82c400000020
> (XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8 0000000000000000
> (XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80 000000000000000c
> (XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58 ffff82c480168000
> (XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000 ffff82c4802b7f18
> (XEN)    0000000000000000 0000000000000000 ffff82c480302324 0000000000000020
> (XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000 0000000000000000
> (XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000 ffff8300da996000
> (XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160 ffff82c4802b7e20
> (XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000 0000000000000003
> (XEN)    0000000000000000 0000000000000000 00007d3b7fd48207 ffff82c480160426
> (XEN)    0000000000000000 0000000000000000 0000000000000003 ffff8300da991000
> (XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282 ffff82c4802319a0
> (XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081 0000000000000000
> (XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000 0000002000000000
> (XEN)    ffff82c4801865c1 000000000000e008 0000000000000202 ffff82c4802b7e88
> (XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8 ffff82c4802230d8
> (XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246 ffffffff810013aa
> (XEN)    0000000000000000 ffffffff810013aa 000000000000e030 0000000000000246
> (XEN) Xen call trace:
> (XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
> (XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
> (XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
> (XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
> (XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
> (XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
> (XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> (XEN) ****************************************
> (XEN)
> (XEN) Reboot in five seconds...
The attached patch should prevent this panic, allowing for all the debug
information to be printed to the console.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------070806000207030108000402
Content-Type: text/x-patch; name="irq-fix-dump_irqs.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="irq-fix-dump_irqs.patch"

# HG changeset patch
# Parent 3b563b2c79f991f226bd383d40402d96ddf9a168
x86/irq: Prevent call to xfree in dump_irqs while in an irq context.

Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an irq
context when a bug condition is encountered.  If this is the case, ignore the
call to xsm_show_irq_ssid() and the subsequent call to xfree.

This prevents an assertion failure in xfree(), and should allow all the debug
information to be dumped, before failing with a BUG() because of the underlying
race condition we are attempting to reproduce.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 3b563b2c79f9 xen/arch/x86/irq.c
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2039,7 +2039,7 @@ static void dump_irqs(unsigned char key)
     struct domain *d;
     const struct pirq *info;
     unsigned long flags;
-    char *ssid;
+    char *ssid = NULL;
 
     printk("Guest interrupt information:\n");
 
@@ -2051,7 +2051,8 @@ static void dump_irqs(unsigned char key)
         if ( !irq_desc_initialized(desc) || desc->handler == &no_irq_type )
             continue;
 
-        ssid = xsm_show_irq_sid(irq);
+        if ( ! in_irq() )
+            ssid = xsm_show_irq_sid(irq);
 
         spin_lock_irqsave(&desc->lock, flags);
 
@@ -2098,7 +2099,8 @@ static void dump_irqs(unsigned char key)
 
         spin_unlock_irqrestore(&desc->lock, flags);
 
-        xfree(ssid);
+        if ( ! in_irq() )
+            xfree(ssid);
     }
 
     dump_ioapic_irq_info();

--------------070806000207030108000402
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------070806000207030108000402--


From xen-devel-bounces@lists.xen.org Fri May 04 20:18:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 20:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOx6-0001Ki-To; Fri, 04 May 2012 20:18:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQOx5-0001Kd-Mf
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 20:18:07 +0000
Received: from [193.109.254.147:46562] by server-10.bemta-14.messagelabs.com
	id F5/58-05847-E7934AF4; Fri, 04 May 2012 20:18:06 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336162686!7714416!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18202 invoked from network); 4 May 2012 20:18:06 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 20:18:06 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (josoe mo80) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id L021e7o44GaOtu ;
	Fri, 4 May 2012 22:18:03 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id CAC3E18637; Fri,  4 May 2012 22:18:02 +0200 (CEST)
Date: Fri, 4 May 2012 22:18:02 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120504201802.GA16466@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120504194222.GA28634@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Konrad Rzeszutek Wilk wrote:

> On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > # HG changeset patch
> > # User Olaf Hering <olaf@aepfle.de>
> > # Date 1336159720 -7200
> > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > xl.cfg: document the maxmem= option
> > 
> > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > 
> > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > --- a/docs/man/xl.cfg.pod.5
> > +++ b/docs/man/xl.cfg.pod.5
> > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> >  mode) and your guest workload consists of a a very large number of
> >  similar processes then increasing this value may improve performance.
> >  
> > +=item B<maxmem=MBYTES>
> > +
> > +Specifies the maximum amount of memory the HVM guest can ever see.
> 
> Isn't it also for PV guests (though without the PoD functionality)?

Now that I look again at libxl__build_pre(), it appearently does also
something for PV guests. I will resend the patch.
Thanks for the review.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 20:18:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 20:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQOx6-0001Ki-To; Fri, 04 May 2012 20:18:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SQOx5-0001Kd-Mf
	for xen-devel@lists.xensource.com; Fri, 04 May 2012 20:18:07 +0000
Received: from [193.109.254.147:46562] by server-10.bemta-14.messagelabs.com
	id F5/58-05847-E7934AF4; Fri, 04 May 2012 20:18:06 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336162686!7714416!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAyOTkzODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18202 invoked from network); 4 May 2012 20:18:06 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 4 May 2012 20:18:06 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHjS0HFLs=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-093-097.pools.arcor-ip.net [88.65.93.97])
	by smtp.strato.de (josoe mo80) (RZmta 29.2 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id L021e7o44GaOtu ;
	Fri, 4 May 2012 22:18:03 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id CAC3E18637; Fri,  4 May 2012 22:18:02 +0200 (CEST)
Date: Fri, 4 May 2012 22:18:02 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120504201802.GA16466@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120504194222.GA28634@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, Konrad Rzeszutek Wilk wrote:

> On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > # HG changeset patch
> > # User Olaf Hering <olaf@aepfle.de>
> > # Date 1336159720 -7200
> > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > xl.cfg: document the maxmem= option
> > 
> > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > 
> > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > --- a/docs/man/xl.cfg.pod.5
> > +++ b/docs/man/xl.cfg.pod.5
> > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> >  mode) and your guest workload consists of a a very large number of
> >  similar processes then increasing this value may improve performance.
> >  
> > +=item B<maxmem=MBYTES>
> > +
> > +Specifies the maximum amount of memory the HVM guest can ever see.
> 
> Isn't it also for PV guests (though without the PoD functionality)?

Now that I look again at libxl__build_pre(), it appearently does also
something for PV guests. I will resend the patch.
Thanks for the review.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 21:14:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 21:14:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQPod-0001yX-FL; Fri, 04 May 2012 21:13:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nruslan_devel@yahoo.com>) id 1SQPob-0001yR-Lk
	for xen-devel@lists.xen.org; Fri, 04 May 2012 21:13:25 +0000
Received: from [85.158.138.51:33281] by server-11.bemta-3.messagelabs.com id
	D0/A9-18894-47644AF4; Fri, 04 May 2012 21:13:24 +0000
X-Env-Sender: nruslan_devel@yahoo.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336166003!14339863!1
X-Originating-IP: [98.138.229.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_6,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25401 invoked from network); 4 May 2012 21:13:24 -0000
Received: from nm36-vm5.bullet.mail.ne1.yahoo.com (HELO
	nm36-vm5.bullet.mail.ne1.yahoo.com) (98.138.229.117)
	by server-13.tower-174.messagelabs.com with SMTP;
	4 May 2012 21:13:24 -0000
Received: from [98.138.90.51] by nm36.bullet.mail.ne1.yahoo.com with NNFMP;
	04 May 2012 21:13:23 -0000
Received: from [98.138.89.163] by tm4.bullet.mail.ne1.yahoo.com with NNFMP;
	04 May 2012 21:13:23 -0000
Received: from [127.0.0.1] by omp1019.mail.ne1.yahoo.com with NNFMP;
	04 May 2012 21:13:23 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 148402.87235.bm@omp1019.mail.ne1.yahoo.com
Received: (qmail 22159 invoked by uid 60001); 4 May 2012 21:13:23 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1336166003; bh=H1EtCpDHcbKgdnsA62hrnhpJR8K0Ikiz5qPusdoABTg=;
	h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type;
	b=RXhhSkE/vRriQSN5lrWdEeVSbrLswfOobGyxxHpcr4mDzbMNhryrmvK5bvxWU45h/hGQiC+LMdYGeSllQdJe9u48RW8UCw3xZQTo/NWzWeVz923H6jBM9shDnVXx8raKQztgEnaSs9AZmO14pno9b2jiIfdlJ6HiT3UAjtKqZ9o=
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com;
	h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type;
	b=xckj0tQe6sGgIVLH7hJ10wSlLDjUkVbVWdfOKZIm3cDZY3cMUvyRCJ3xMDp8DbAI21ctZctcx4B1iTn093GUeAY+j3odxB3Fu3eyjmkryLuuPoou5uBeElVfP5ufhywMiuOCqK+ZLAX4i6SzFW7/+C8e5wuDr15RLrenE1XPa+c=;
X-YMail-OSG: QeYIQVAVM1nbvSdwzLjiqQ0IhiDAGzcPHaiHKJip4th4nVY
	G4DeIvUzePECnAoUWnmuQpZPZHDcD3qSPWm.o7AZSJq9bqqb.OZmDWhgx0vc
	tcsV3Z9.xqaI9A3Df2YlVY3TAuH1_DpaTDsBljw19cVw_WLV_9QOkuzQjPpZ
	3sk0WcOLQOZ4aR6.ASAgEs3sHYtx9WNdrlyVI2pa7G3n98RzPgwJaE7JDWYa
	_ZBe2oxChChh5BbBJyTW8gwNDggBbOlMmZfdHuZ_g6AEG7jSHZ9wXXpZvhyI
	n_LAltg2skvBbMaseD4XWEEctOFvkHxwBum6vvZy0CJ6oIrARuB6Gez.I_ve
	gfwMuynLRJViDHXQGiw.LRH8bzm8K8HZzN8jBlwo9oBUZ_BNjNlYRVfWPGFb
	uZQrlinzj9L77bje0brkJP8846VSVR8CjI5f5v3TtcW001PE2d6Nigwe81E.
	ZLM621xJs6ue91giHmCmtLoGqDgsKY6ye
Received: from [128.173.237.43] by web124506.mail.ne1.yahoo.com via HTTP;
	Fri, 04 May 2012 14:13:23 PDT
X-Mailer: YahooMailWebService/0.8.118.349524
References: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
	<4FA3A1400200007800081808@nat28.tlf.novell.com>
Message-ID: <1336166003.4115.YahooMailNeo@web124506.mail.ne1.yahoo.com>
Date: Fri, 4 May 2012 14:13:23 -0700 (PDT)
From: Ruslan Nikolaev <nruslan_devel@yahoo.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
In-Reply-To: <4FA3A1400200007800081808@nat28.tlf.novell.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Inter-domain event channel question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Ruslan Nikolaev <nruslan_devel@yahoo.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks!

Also, if I pass some parameters in shared buffer (a shared page between domains), is it required to use a memory barrier before 'notify_remote_via_evtchn'?

Ruslan



----- Original Message -----
From: Jan Beulich <JBeulich@suse.com>
To: Ruslan Nikolaev <nruslan_devel@yahoo.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Sent: Friday, May 4, 2012 3:28 AM
Subject: Re: [Xen-devel] Inter-domain event channel question

>>> On 03.05.12 at 20:46, Ruslan Nikolaev <nruslan_devel@yahoo.com> wrote:
> I want to set up an inter-domain event channel, and I want to receive 
> interrupts in both directions (i.e. Dom1 can independently send an interrupt 
> to Dom2 or vice versa).Do I need to have just 2 ports: one is on Dom 1 and 
> the other one on Dom 2, and on each domain I simply bind it to the 
> corresponding interrupt handler? Or do I need to have 4 ports: one pair is 
> used for Dom2-to-Dom1 interrupts and the other pair for Dom1-to-Dom2 interrupts?

One port on each end should suffice.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 21:14:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 21:14:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQPod-0001yX-FL; Fri, 04 May 2012 21:13:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nruslan_devel@yahoo.com>) id 1SQPob-0001yR-Lk
	for xen-devel@lists.xen.org; Fri, 04 May 2012 21:13:25 +0000
Received: from [85.158.138.51:33281] by server-11.bemta-3.messagelabs.com id
	D0/A9-18894-47644AF4; Fri, 04 May 2012 21:13:24 +0000
X-Env-Sender: nruslan_devel@yahoo.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336166003!14339863!1
X-Originating-IP: [98.138.229.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_12,
	ML_RADAR_SPEW_LINKS_14,ML_RADAR_SPEW_LINKS_6,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25401 invoked from network); 4 May 2012 21:13:24 -0000
Received: from nm36-vm5.bullet.mail.ne1.yahoo.com (HELO
	nm36-vm5.bullet.mail.ne1.yahoo.com) (98.138.229.117)
	by server-13.tower-174.messagelabs.com with SMTP;
	4 May 2012 21:13:24 -0000
Received: from [98.138.90.51] by nm36.bullet.mail.ne1.yahoo.com with NNFMP;
	04 May 2012 21:13:23 -0000
Received: from [98.138.89.163] by tm4.bullet.mail.ne1.yahoo.com with NNFMP;
	04 May 2012 21:13:23 -0000
Received: from [127.0.0.1] by omp1019.mail.ne1.yahoo.com with NNFMP;
	04 May 2012 21:13:23 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 148402.87235.bm@omp1019.mail.ne1.yahoo.com
Received: (qmail 22159 invoked by uid 60001); 4 May 2012 21:13:23 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024;
	t=1336166003; bh=H1EtCpDHcbKgdnsA62hrnhpJR8K0Ikiz5qPusdoABTg=;
	h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type;
	b=RXhhSkE/vRriQSN5lrWdEeVSbrLswfOobGyxxHpcr4mDzbMNhryrmvK5bvxWU45h/hGQiC+LMdYGeSllQdJe9u48RW8UCw3xZQTo/NWzWeVz923H6jBM9shDnVXx8raKQztgEnaSs9AZmO14pno9b2jiIfdlJ6HiT3UAjtKqZ9o=
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com;
	h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type;
	b=xckj0tQe6sGgIVLH7hJ10wSlLDjUkVbVWdfOKZIm3cDZY3cMUvyRCJ3xMDp8DbAI21ctZctcx4B1iTn093GUeAY+j3odxB3Fu3eyjmkryLuuPoou5uBeElVfP5ufhywMiuOCqK+ZLAX4i6SzFW7/+C8e5wuDr15RLrenE1XPa+c=;
X-YMail-OSG: QeYIQVAVM1nbvSdwzLjiqQ0IhiDAGzcPHaiHKJip4th4nVY
	G4DeIvUzePECnAoUWnmuQpZPZHDcD3qSPWm.o7AZSJq9bqqb.OZmDWhgx0vc
	tcsV3Z9.xqaI9A3Df2YlVY3TAuH1_DpaTDsBljw19cVw_WLV_9QOkuzQjPpZ
	3sk0WcOLQOZ4aR6.ASAgEs3sHYtx9WNdrlyVI2pa7G3n98RzPgwJaE7JDWYa
	_ZBe2oxChChh5BbBJyTW8gwNDggBbOlMmZfdHuZ_g6AEG7jSHZ9wXXpZvhyI
	n_LAltg2skvBbMaseD4XWEEctOFvkHxwBum6vvZy0CJ6oIrARuB6Gez.I_ve
	gfwMuynLRJViDHXQGiw.LRH8bzm8K8HZzN8jBlwo9oBUZ_BNjNlYRVfWPGFb
	uZQrlinzj9L77bje0brkJP8846VSVR8CjI5f5v3TtcW001PE2d6Nigwe81E.
	ZLM621xJs6ue91giHmCmtLoGqDgsKY6ye
Received: from [128.173.237.43] by web124506.mail.ne1.yahoo.com via HTTP;
	Fri, 04 May 2012 14:13:23 PDT
X-Mailer: YahooMailWebService/0.8.118.349524
References: <1336070762.10686.YahooMailNeo@web124502.mail.ne1.yahoo.com>
	<4FA3A1400200007800081808@nat28.tlf.novell.com>
Message-ID: <1336166003.4115.YahooMailNeo@web124506.mail.ne1.yahoo.com>
Date: Fri, 4 May 2012 14:13:23 -0700 (PDT)
From: Ruslan Nikolaev <nruslan_devel@yahoo.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
In-Reply-To: <4FA3A1400200007800081808@nat28.tlf.novell.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Inter-domain event channel question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Ruslan Nikolaev <nruslan_devel@yahoo.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks!

Also, if I pass some parameters in shared buffer (a shared page between domains), is it required to use a memory barrier before 'notify_remote_via_evtchn'?

Ruslan



----- Original Message -----
From: Jan Beulich <JBeulich@suse.com>
To: Ruslan Nikolaev <nruslan_devel@yahoo.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Sent: Friday, May 4, 2012 3:28 AM
Subject: Re: [Xen-devel] Inter-domain event channel question

>>> On 03.05.12 at 20:46, Ruslan Nikolaev <nruslan_devel@yahoo.com> wrote:
> I want to set up an inter-domain event channel, and I want to receive 
> interrupts in both directions (i.e. Dom1 can independently send an interrupt 
> to Dom2 or vice versa).Do I need to have just 2 ports: one is on Dom 1 and 
> the other one on Dom 2, and on each domain I simply bind it to the 
> corresponding interrupt handler? Or do I need to have 4 ports: one pair is 
> used for Dom2-to-Dom1 interrupts and the other pair for Dom1-to-Dom2 interrupts?

One port on each end should suffice.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 04 22:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 22:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQQa8-0002m9-6w; Fri, 04 May 2012 22:02:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SQQa7-0002m4-9x
	for xen-devel@lists.xen.org; Fri, 04 May 2012 22:02:31 +0000
Received: from [85.158.143.35:22130] by server-3.bemta-4.messagelabs.com id
	1B/B8-05853-6F154AF4; Fri, 04 May 2012 22:02:30 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336168948!4392548!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26571 invoked from network); 4 May 2012 22:02:29 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 22:02:29 -0000
Received: by lahe6 with SMTP id e6so2959146lah.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 15:02:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=WhlZNT3t6VpqeEyS7wctK70vBcBrirnqBaMocJhEsxM=;
	b=0k+ul4kYSRMamPYJQyGTn/WBkXa3OSlNN8x5YnyMQgj9IkK1p0I1DSM5s1Ke1hKyMt
	VU8EK+aie3jFnozIL4MfqX72KjSrBnn30qaxkVe/+xoB1egY03G4zgNRYCHa9Mf+FPWY
	EhK/ghcZ84AJGafMb2cp8K06s7HRQZExI6X90=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=WhlZNT3t6VpqeEyS7wctK70vBcBrirnqBaMocJhEsxM=;
	b=UrSKmsh+J0t5U433QwyeV8Qy4t5eiqw+fCu02c+bTS/yu0IS7SgDyeBznfTBWCcxTK
	KpqdM/ZHLOjiO0HKkvwfgCbCfjsdQe2miSGdEM1IzjN1InarPsqwMeG61p1ljmhgobEY
	ThAt3WNPYPRHKCq7tbIdYLJyO9Q02bTD5h6dfcQnC8QmbaJnuZYUWLLYfwRB0GkXX3uR
	GdZ8jPk0YoDcaUM+nJCQm2ZTEPqRAl2qsQhZ6jbLfXr8vuurSBceK3Nbn6Y7R8jWoIDp
	iTwfxEa6z/VAMhNpKgdWy6b/oVH1uS7cqnS1qSGDtllEkx90bX4NpXpVF53pGufcBAsk
	uDOg==
MIME-Version: 1.0
Received: by 10.152.162.68 with SMTP id xy4mr7843583lab.49.1336168948087; Fri,
	04 May 2012 15:02:28 -0700 (PDT)
Received: by 10.112.25.135 with HTTP; Fri, 4 May 2012 15:02:28 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
References: <patchbomb.1335465209@vollum>
	<CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
	<CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
Date: Fri, 4 May 2012 15:02:28 -0700
Message-ID: <CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Christian.Limpach@gmail.com
X-Gm-Message-State: ALoCoQnd3cD+ff9MXUy3AjRvV1hZTJatnqJTo9Pg1GQJl6fXdIQ+vlabk/t2zD/nkijHv+XaJpjg
Cc: tim@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
 type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5527823330018310019=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5527823330018310019==
Content-Type: multipart/alternative; boundary=f46d0442682282ba0604bf3d13ad

--f46d0442682282ba0604bf3d13ad
Content-Type: text/plain; charset=ISO-8859-1

On Wed, May 2, 2012 at 8:28 PM, Christian Limpach <
christian.limpach@gmail.com> wrote:
> On Fri, Apr 27, 2012 at 9:22 PM, Aravindh Puthiyaparambil
> <aravindh@virtuata.com> wrote:
>>>> Let me re-iterate:
>>>> - if it's a leaf entry, then there's no need to call ept_free_entry
>>>> - if you don't need to call ept_free_entry, then you can defer
>>>> ept_sync_domain (subject to the iommu case)
>>>> - you could pass in a pointer to a bool to indicate to the caller that
>>>> ept_sync_domain was deferred and that the caller needs to do it, with
>>>> a NULL pointer indicating that the caller doesn't support defer
>>
>> How does this look?
>
> It's missing the "leaf entry" part of my description of how I think
> things should work.  Without that, you're effectively ignoring the
> following comment at the end of ept_set_entry:
>    /* Release the old intermediate tables, if any.  This has to be the
>       last thing we do, after the ept_sync_domain() and removal
>       from the iommu tables, so as to avoid a potential
>       use-after-free. */
>
> See inline comments in your patch below for how I'd change this,
untested...
>
>    christian
>
>> @@ -293,6 +296,7 @@ ept_set_entry(struct p2m_domain *p2m, un
>>     int needs_sync = 1;
>>     struct domain *d = p2m->domain;
>>     ept_entry_t old_entry = { .epte = 0 };
>> +    bool_t _sync_deferred = 0;
>
> don't need that
>
>>     /*
>>      * the caller must make sure:
>> @@ -309,6 +313,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>>            (target == 1 && hvm_hap_has_2mb(d)) ||
>>            (target == 0));
>>
>> +    if (sync_deferred)
>> +        *sync_deferred = 1;
>> +
>>     table = map_domain_page(ept_get_asr(d));
>>
>>     for ( i = ept_get_wl(d); i > target; i-- )
>> @@ -346,7 +353,11 @@ ept_set_entry(struct p2m_domain *p2m, un
>>
>>         /* No need to flush if the old entry wasn't valid */
>>         if ( !is_epte_present(ept_entry) )
>>             needs_sync = 0;
>
> This should be:
>        if ( !is_epte_present(ept_entry) ||
>             (!target && sync_deferred) ) {
>            needs_sync = 0;
>            if (sync_deferred)
>                *sync_deferred = 0;
>        }
>
> This expresses the notion that we're going to skip the call to
> ept_free_entry since it's a leaf entry (target == 0) and that the
> caller will make the ept_sync_domain call (sync_deferred != NULL).
>
>>
>>         /* If we're replacing a non-leaf entry with a leaf entry
>> (1GiB or 2MiB),
>>          * the intermediate tables will be freed below after the ept
flush
>> @@ -385,6 +396,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>>
>>         ASSERT(is_epte_superpage(ept_entry));
>>
>> +        if ( sync_deferred )
>> +            _sync_deferred = 1;
>> +
>
> don't need that
>
>>         split_ept_entry = atomic_read_ept_entry(ept_entry);
>>
>>         if ( !ept_split_super_page(p2m, &split_ept_entry, i, target) )
>> @@ -438,7 +452,7 @@ ept_set_entry(struct p2m_domain *p2m, un
>>  out:
>>     unmap_domain_page(table);
>>
>> -    if ( needs_sync )
>> +    if ( needs_sync && !_sync_deferred )
>>         ept_sync_domain(p2m->domain);
>
> don't need that change, test on needs_sync is sufficient
>
>>
>>     if ( rv && iommu_enabled && need_iommu(p2m->domain) &&
>> need_modify_vtd_table )
>
> Then at the end of ept_set_pte add the test for non-leaf, which is
> more like an optimization/clarification since ept_free_entry has the
> same test already.
>
>    if ( target && is_epte_present(&old_entry) )
>        ept_free_entry(p2m, &old_entry, target);

Sorry for not following and thanks for your patience. Hopefully this looks
correct. I have just included the pertinent bit of the patch you were
commenting on.

diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c
--- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200
+++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700
@@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom
 /*
  * ept_set_entry() computes 'need_modify_vtd_table' for itself,
  * by observing whether any gfn->mfn translations are modified.
+ * If sync_deferred is not NULL, then the caller will take care of
+ * calling ept_sync_domain() in the cases where it can be deferred.
  */
 static int
 ept_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
-              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma)
+              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma,
+              bool_t *sync_deferred)
 {
     ept_entry_t *table, *ept_entry = NULL;
     unsigned long gfn_remainder = gfn;
@@ -309,6 +312,9 @@ ept_set_entry(struct p2m_domain *p2m, un
            (target == 1 && hvm_hap_has_2mb(d)) ||
            (target == 0));

+    if (sync_deferred)
+        *sync_deferred = 1;
+
     table = map_domain_page(ept_get_asr(d));

     for ( i = ept_get_wl(d); i > target; i-- )
@@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un
         ept_entry_t new_entry = { .epte = 0 };

         /* No need to flush if the old entry wasn't valid */
-        if ( !is_epte_present(ept_entry) )
+        if ( !is_epte_present(ept_entry) || (!target && sync_deferred) )
+        {
             needs_sync = 0;
+            if ( sync_deferred )
+                *sync_deferred = 0;
+        }

         /* If we're replacing a non-leaf entry with a leaf entry (1GiB or
2MiB),
          * the intermediate tables will be freed below after the ept flush
@@ -477,7 +487,7 @@ out:
        last thing we do, after the ept_sync_domain() and removal
        from the iommu tables, so as to avoid a potential
        use-after-free. */
-    if ( is_epte_present(&old_entry) )
+    if ( target && is_epte_present(&old_entry) )
         ept_free_entry(p2m, &old_entry, target);

     return rv;

--f46d0442682282ba0604bf3d13ad
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Wed, May 2, 2012 at 8:28 PM, Christian Limpach &lt;<a href=3D"mailto:chr=
istian.limpach@gmail.com">christian.limpach@gmail.com</a>&gt; wrote:<br>&gt=
; On Fri, Apr 27, 2012 at 9:22 PM, Aravindh Puthiyaparambil<br>&gt; &lt;<a =
href=3D"mailto:aravindh@virtuata.com">aravindh@virtuata.com</a>&gt; wrote:<=
br>
&gt;&gt;&gt;&gt; Let me re-iterate:<br>&gt;&gt;&gt;&gt; - if it&#39;s a lea=
f entry, then there&#39;s no need to call ept_free_entry<br>&gt;&gt;&gt;&gt=
; - if you don&#39;t need to call ept_free_entry, then you can defer<br>
&gt;&gt;&gt;&gt; ept_sync_domain (subject to the iommu case)<br>&gt;&gt;&gt=
;&gt; - you could pass in a pointer to a bool to indicate to the caller tha=
t<br>&gt;&gt;&gt;&gt; ept_sync_domain was deferred and that the caller need=
s to do it, with<br>
&gt;&gt;&gt;&gt; a NULL pointer indicating that the caller doesn&#39;t supp=
ort defer<br>&gt;&gt;<br>&gt;&gt; How does this look?<br>&gt;<br>&gt; It&#3=
9;s missing the &quot;leaf entry&quot; part of my description of how I thin=
k<br>
&gt; things should work. =A0Without that, you&#39;re effectively ignoring t=
he<br>&gt; following comment at the end of ept_set_entry:<br>&gt; =A0 =A0/*=
 Release the old intermediate tables, if any. =A0This has to be the<br>&gt;=
 =A0 =A0 =A0 last thing we do, after the ept_sync_domain() and removal<br>
&gt; =A0 =A0 =A0 from the iommu tables, so as to avoid a potential<br>&gt; =
=A0 =A0 =A0 use-after-free. */<br>&gt;<br>&gt; See inline comments in your =
patch below for how I&#39;d change this, untested...<br>&gt;<br>&gt; =A0 =
=A0christian<br>
&gt;<br>&gt;&gt; @@ -293,6 +296,7 @@ ept_set_entry(struct p2m_domain *p2m, =
un<br>&gt;&gt; =A0 =A0 int needs_sync =3D 1;<br>&gt;&gt; =A0 =A0 struct dom=
ain *d =3D p2m-&gt;domain;<br>&gt;&gt; =A0 =A0 ept_entry_t old_entry =3D { =
.epte =3D 0 };<br>
&gt;&gt; + =A0 =A0bool_t _sync_deferred =3D 0;<br>&gt;<br>&gt; don&#39;t ne=
ed that<br>&gt;<br>&gt;&gt; =A0 =A0 /*<br>&gt;&gt; =A0 =A0 =A0* the caller =
must make sure:<br>&gt;&gt; @@ -309,6 +313,9 @@ ept_set_entry(struct p2m_do=
main *p2m, un<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 1 &amp;&amp; hvm_hap_has_2mb=
(d)) ||<br>&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 0));<br>&gt;&gt;<=
br>&gt;&gt; + =A0 =A0if (sync_deferred)<br>&gt;&gt; + =A0 =A0 =A0 =A0*sync_=
deferred =3D 1;<br>&gt;&gt; +<br>&gt;&gt; =A0 =A0 table =3D map_domain_page=
(ept_get_asr(d));<br>
&gt;&gt;<br>&gt;&gt; =A0 =A0 for ( i =3D ept_get_wl(d); i &gt; target; i-- =
)<br>&gt;&gt; @@ -346,7 +353,11 @@ ept_set_entry(struct p2m_domain *p2m, un=
<br>&gt;&gt;<br>&gt;&gt; =A0 =A0 =A0 =A0 /* No need to flush if the old ent=
ry wasn&#39;t valid */<br>
&gt;&gt; =A0 =A0 =A0 =A0 if ( !is_epte_present(ept_entry) )<br>&gt;&gt; =A0=
 =A0 =A0 =A0 =A0 =A0 needs_sync =3D 0;<br>&gt;<br>&gt; This should be:<br>&=
gt; =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) ||<br>&gt; =A0 =A0 =A0 =
=A0 =A0 =A0 (!target &amp;&amp; sync_deferred) ) {<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0needs_sync =3D 0;<br>&gt; =A0 =A0 =A0 =A0 =A0 =
=A0if (sync_deferred)<br>&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*sync_deferred=
 =3D 0;<br>&gt; =A0 =A0 =A0 =A0}<br>&gt;<br>&gt; This expresses the notion =
that we&#39;re going to skip the call to<br>&gt; ept_free_entry since it&#3=
9;s a leaf entry (target =3D=3D 0) and that the<br>
&gt; caller will make the ept_sync_domain call (sync_deferred !=3D NULL).<b=
r>&gt;<br>&gt;&gt;<br>&gt;&gt; =A0 =A0 =A0 =A0 /* If we&#39;re replacing a =
non-leaf entry with a leaf entry<br>&gt;&gt; (1GiB or 2MiB),<br>&gt;&gt; =
=A0 =A0 =A0 =A0 =A0* the intermediate tables will be freed below after the =
ept flush<br>
&gt;&gt; @@ -385,6 +396,9 @@ ept_set_entry(struct p2m_domain *p2m, un<br>&g=
t;&gt;<br>&gt;&gt; =A0 =A0 =A0 =A0 ASSERT(is_epte_superpage(ept_entry));<br=
>&gt;&gt;<br>&gt;&gt; + =A0 =A0 =A0 =A0if ( sync_deferred )<br>&gt;&gt; + =
=A0 =A0 =A0 =A0 =A0 =A0_sync_deferred =3D 1;<br>
&gt;&gt; +<br>&gt;<br>&gt; don&#39;t need that<br>&gt;<br>&gt;&gt; =A0 =A0 =
=A0 =A0 split_ept_entry =3D atomic_read_ept_entry(ept_entry);<br>&gt;&gt;<b=
r>&gt;&gt; =A0 =A0 =A0 =A0 if ( !ept_split_super_page(p2m, &amp;split_ept_e=
ntry, i, target) )<br>
&gt;&gt; @@ -438,7 +452,7 @@ ept_set_entry(struct p2m_domain *p2m, un<br>&g=
t;&gt; =A0out:<br>&gt;&gt; =A0 =A0 unmap_domain_page(table);<br>&gt;&gt;<br=
>&gt;&gt; - =A0 =A0if ( needs_sync )<br>&gt;&gt; + =A0 =A0if ( needs_sync &=
amp;&amp; !_sync_deferred )<br>
&gt;&gt; =A0 =A0 =A0 =A0 ept_sync_domain(p2m-&gt;domain);<br>&gt;<br>&gt; d=
on&#39;t need that change, test on needs_sync is sufficient<br>&gt;<br>&gt;=
&gt;<br>&gt;&gt; =A0 =A0 if ( rv &amp;&amp; iommu_enabled &amp;&amp; need_i=
ommu(p2m-&gt;domain) &amp;&amp;<br>
&gt;&gt; need_modify_vtd_table )<br>&gt;<br>&gt; Then at the end of ept_set=
_pte add the test for non-leaf, which is<br>&gt; more like an optimization/=
clarification since ept_free_entry has the<br>&gt; same test already.<br>
&gt;<br>&gt; =A0 =A0if ( target &amp;&amp; is_epte_present(&amp;old_entry) =
)<br>&gt; =A0 =A0 =A0 =A0ept_free_entry(p2m, &amp;old_entry, target);<br><b=
r><div>Sorry for not following and thanks for your patience. Hopefully this=
 looks correct. I have just included the pertinent bit of the patch you wer=
e commenting on.</div>
<div><br></div><div><div>diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/=
mm/p2m-ept.c</div><div>--- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 =
2012 +0200</div><div>+++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 20=
12 -0700</div>
<div>@@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom</div><d=
iv>=A0/*</div><div>=A0 * ept_set_entry() computes &#39;need_modify_vtd_tabl=
e&#39; for itself,</div><div>=A0 * by observing whether any gfn-&gt;mfn tra=
nslations are modified.</div>
<div>+ * If sync_deferred is not NULL, then the caller will take care of</d=
iv><div>+ * calling ept_sync_domain() in the cases where it can be deferred=
.</div><div>=A0 */</div><div>=A0static int</div><div>=A0ept_set_entry(struc=
t p2m_domain *p2m, unsigned long gfn, mfn_t mfn,=A0</div>
<div>- =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int order, p2m_type_t p2mt, p2m_=
access_t p2ma)</div><div>+ =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int order, p=
2m_type_t p2mt, p2m_access_t p2ma,</div><div>+ =A0 =A0 =A0 =A0 =A0 =A0 =A0b=
ool_t *sync_deferred)</div><div>=A0{</div>
<div>=A0 =A0 =A0ept_entry_t *table, *ept_entry =3D NULL;</div><div>=A0 =A0 =
=A0unsigned long gfn_remainder =3D gfn;</div><div>@@ -309,6 +312,9 @@ ept_s=
et_entry(struct p2m_domain *p2m, un</div><div>=A0 =A0 =A0 =A0 =A0 =A0 (targ=
et =3D=3D 1 &amp;&amp; hvm_hap_has_2mb(d)) ||</div>
<div>=A0 =A0 =A0 =A0 =A0 =A0 (target =3D=3D 0));</div><div>=A0</div><div>+ =
=A0 =A0if (sync_deferred)</div><div>+ =A0 =A0 =A0 =A0*sync_deferred =3D 1;<=
/div><div>+</div><div>=A0 =A0 =A0table =3D map_domain_page(ept_get_asr(d));=
</div><div>=A0</div><div>=A0 =A0 =A0for ( i =3D ept_get_wl(d); i &gt; targe=
t; i-- )</div>
<div>@@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un</div><di=
v>=A0 =A0 =A0 =A0 =A0ept_entry_t new_entry =3D { .epte =3D 0 };</div><div>=
=A0</div><div>=A0 =A0 =A0 =A0 =A0/* No need to flush if the old entry wasn&=
#39;t valid */</div><div>
- =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) )</div><div>+ =A0 =A0 =A0=
 =A0if ( !is_epte_present(ept_entry) || (!target &amp;&amp; sync_deferred) =
)</div><div>+ =A0 =A0 =A0 =A0{</div><div>=A0 =A0 =A0 =A0 =A0 =A0 =A0needs_s=
ync =3D 0;</div><div>+ =A0 =A0 =A0 =A0 =A0 =A0if ( sync_deferred )</div>
<div>+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*sync_deferred =3D 0;</div><div>+ =A0=
 =A0 =A0 =A0}</div><div>=A0</div><div>=A0 =A0 =A0 =A0 =A0/* If we&#39;re re=
placing a non-leaf entry with a leaf entry (1GiB or 2MiB),</div><div>=A0 =
=A0 =A0 =A0 =A0 * the intermediate tables will be freed below after the ept=
 flush</div>
<div>@@ -477,7 +487,7 @@ out:</div><div>=A0 =A0 =A0 =A0 last thing we do, a=
fter the ept_sync_domain() and removal</div><div>=A0 =A0 =A0 =A0 from the i=
ommu tables, so as to avoid a potential</div><div>=A0 =A0 =A0 =A0 use-after=
-free. */</div><div>
- =A0 =A0if ( is_epte_present(&amp;old_entry) )</div><div>+ =A0 =A0if ( tar=
get &amp;&amp; is_epte_present(&amp;old_entry) )</div><div>=A0 =A0 =A0 =A0 =
=A0ept_free_entry(p2m, &amp;old_entry, target);</div><div>=A0</div><div>=A0=
 =A0 =A0return rv;</div>
</div><div><br></div><div><br></div>

--f46d0442682282ba0604bf3d13ad--


--===============5527823330018310019==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5527823330018310019==--


From xen-devel-bounces@lists.xen.org Fri May 04 22:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 04 May 2012 22:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQQa8-0002m9-6w; Fri, 04 May 2012 22:02:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SQQa7-0002m4-9x
	for xen-devel@lists.xen.org; Fri, 04 May 2012 22:02:31 +0000
Received: from [85.158.143.35:22130] by server-3.bemta-4.messagelabs.com id
	1B/B8-05853-6F154AF4; Fri, 04 May 2012 22:02:30 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336168948!4392548!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26571 invoked from network); 4 May 2012 22:02:29 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	4 May 2012 22:02:29 -0000
Received: by lahe6 with SMTP id e6so2959146lah.32
	for <xen-devel@lists.xen.org>; Fri, 04 May 2012 15:02:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=WhlZNT3t6VpqeEyS7wctK70vBcBrirnqBaMocJhEsxM=;
	b=0k+ul4kYSRMamPYJQyGTn/WBkXa3OSlNN8x5YnyMQgj9IkK1p0I1DSM5s1Ke1hKyMt
	VU8EK+aie3jFnozIL4MfqX72KjSrBnn30qaxkVe/+xoB1egY03G4zgNRYCHa9Mf+FPWY
	EhK/ghcZ84AJGafMb2cp8K06s7HRQZExI6X90=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=WhlZNT3t6VpqeEyS7wctK70vBcBrirnqBaMocJhEsxM=;
	b=UrSKmsh+J0t5U433QwyeV8Qy4t5eiqw+fCu02c+bTS/yu0IS7SgDyeBznfTBWCcxTK
	KpqdM/ZHLOjiO0HKkvwfgCbCfjsdQe2miSGdEM1IzjN1InarPsqwMeG61p1ljmhgobEY
	ThAt3WNPYPRHKCq7tbIdYLJyO9Q02bTD5h6dfcQnC8QmbaJnuZYUWLLYfwRB0GkXX3uR
	GdZ8jPk0YoDcaUM+nJCQm2ZTEPqRAl2qsQhZ6jbLfXr8vuurSBceK3Nbn6Y7R8jWoIDp
	iTwfxEa6z/VAMhNpKgdWy6b/oVH1uS7cqnS1qSGDtllEkx90bX4NpXpVF53pGufcBAsk
	uDOg==
MIME-Version: 1.0
Received: by 10.152.162.68 with SMTP id xy4mr7843583lab.49.1336168948087; Fri,
	04 May 2012 15:02:28 -0700 (PDT)
Received: by 10.112.25.135 with HTTP; Fri, 4 May 2012 15:02:28 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
References: <patchbomb.1335465209@vollum>
	<CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
	<CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
Date: Fri, 4 May 2012 15:02:28 -0700
Message-ID: <CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Christian.Limpach@gmail.com
X-Gm-Message-State: ALoCoQnd3cD+ff9MXUy3AjRvV1hZTJatnqJTo9Pg1GQJl6fXdIQ+vlabk/t2zD/nkijHv+XaJpjg
Cc: tim@xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
 type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5527823330018310019=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5527823330018310019==
Content-Type: multipart/alternative; boundary=f46d0442682282ba0604bf3d13ad

--f46d0442682282ba0604bf3d13ad
Content-Type: text/plain; charset=ISO-8859-1

On Wed, May 2, 2012 at 8:28 PM, Christian Limpach <
christian.limpach@gmail.com> wrote:
> On Fri, Apr 27, 2012 at 9:22 PM, Aravindh Puthiyaparambil
> <aravindh@virtuata.com> wrote:
>>>> Let me re-iterate:
>>>> - if it's a leaf entry, then there's no need to call ept_free_entry
>>>> - if you don't need to call ept_free_entry, then you can defer
>>>> ept_sync_domain (subject to the iommu case)
>>>> - you could pass in a pointer to a bool to indicate to the caller that
>>>> ept_sync_domain was deferred and that the caller needs to do it, with
>>>> a NULL pointer indicating that the caller doesn't support defer
>>
>> How does this look?
>
> It's missing the "leaf entry" part of my description of how I think
> things should work.  Without that, you're effectively ignoring the
> following comment at the end of ept_set_entry:
>    /* Release the old intermediate tables, if any.  This has to be the
>       last thing we do, after the ept_sync_domain() and removal
>       from the iommu tables, so as to avoid a potential
>       use-after-free. */
>
> See inline comments in your patch below for how I'd change this,
untested...
>
>    christian
>
>> @@ -293,6 +296,7 @@ ept_set_entry(struct p2m_domain *p2m, un
>>     int needs_sync = 1;
>>     struct domain *d = p2m->domain;
>>     ept_entry_t old_entry = { .epte = 0 };
>> +    bool_t _sync_deferred = 0;
>
> don't need that
>
>>     /*
>>      * the caller must make sure:
>> @@ -309,6 +313,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>>            (target == 1 && hvm_hap_has_2mb(d)) ||
>>            (target == 0));
>>
>> +    if (sync_deferred)
>> +        *sync_deferred = 1;
>> +
>>     table = map_domain_page(ept_get_asr(d));
>>
>>     for ( i = ept_get_wl(d); i > target; i-- )
>> @@ -346,7 +353,11 @@ ept_set_entry(struct p2m_domain *p2m, un
>>
>>         /* No need to flush if the old entry wasn't valid */
>>         if ( !is_epte_present(ept_entry) )
>>             needs_sync = 0;
>
> This should be:
>        if ( !is_epte_present(ept_entry) ||
>             (!target && sync_deferred) ) {
>            needs_sync = 0;
>            if (sync_deferred)
>                *sync_deferred = 0;
>        }
>
> This expresses the notion that we're going to skip the call to
> ept_free_entry since it's a leaf entry (target == 0) and that the
> caller will make the ept_sync_domain call (sync_deferred != NULL).
>
>>
>>         /* If we're replacing a non-leaf entry with a leaf entry
>> (1GiB or 2MiB),
>>          * the intermediate tables will be freed below after the ept
flush
>> @@ -385,6 +396,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>>
>>         ASSERT(is_epte_superpage(ept_entry));
>>
>> +        if ( sync_deferred )
>> +            _sync_deferred = 1;
>> +
>
> don't need that
>
>>         split_ept_entry = atomic_read_ept_entry(ept_entry);
>>
>>         if ( !ept_split_super_page(p2m, &split_ept_entry, i, target) )
>> @@ -438,7 +452,7 @@ ept_set_entry(struct p2m_domain *p2m, un
>>  out:
>>     unmap_domain_page(table);
>>
>> -    if ( needs_sync )
>> +    if ( needs_sync && !_sync_deferred )
>>         ept_sync_domain(p2m->domain);
>
> don't need that change, test on needs_sync is sufficient
>
>>
>>     if ( rv && iommu_enabled && need_iommu(p2m->domain) &&
>> need_modify_vtd_table )
>
> Then at the end of ept_set_pte add the test for non-leaf, which is
> more like an optimization/clarification since ept_free_entry has the
> same test already.
>
>    if ( target && is_epte_present(&old_entry) )
>        ept_free_entry(p2m, &old_entry, target);

Sorry for not following and thanks for your patience. Hopefully this looks
correct. I have just included the pertinent bit of the patch you were
commenting on.

diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c
--- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200
+++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700
@@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom
 /*
  * ept_set_entry() computes 'need_modify_vtd_table' for itself,
  * by observing whether any gfn->mfn translations are modified.
+ * If sync_deferred is not NULL, then the caller will take care of
+ * calling ept_sync_domain() in the cases where it can be deferred.
  */
 static int
 ept_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
-              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma)
+              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma,
+              bool_t *sync_deferred)
 {
     ept_entry_t *table, *ept_entry = NULL;
     unsigned long gfn_remainder = gfn;
@@ -309,6 +312,9 @@ ept_set_entry(struct p2m_domain *p2m, un
            (target == 1 && hvm_hap_has_2mb(d)) ||
            (target == 0));

+    if (sync_deferred)
+        *sync_deferred = 1;
+
     table = map_domain_page(ept_get_asr(d));

     for ( i = ept_get_wl(d); i > target; i-- )
@@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un
         ept_entry_t new_entry = { .epte = 0 };

         /* No need to flush if the old entry wasn't valid */
-        if ( !is_epte_present(ept_entry) )
+        if ( !is_epte_present(ept_entry) || (!target && sync_deferred) )
+        {
             needs_sync = 0;
+            if ( sync_deferred )
+                *sync_deferred = 0;
+        }

         /* If we're replacing a non-leaf entry with a leaf entry (1GiB or
2MiB),
          * the intermediate tables will be freed below after the ept flush
@@ -477,7 +487,7 @@ out:
        last thing we do, after the ept_sync_domain() and removal
        from the iommu tables, so as to avoid a potential
        use-after-free. */
-    if ( is_epte_present(&old_entry) )
+    if ( target && is_epte_present(&old_entry) )
         ept_free_entry(p2m, &old_entry, target);

     return rv;

--f46d0442682282ba0604bf3d13ad
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Wed, May 2, 2012 at 8:28 PM, Christian Limpach &lt;<a href=3D"mailto:chr=
istian.limpach@gmail.com">christian.limpach@gmail.com</a>&gt; wrote:<br>&gt=
; On Fri, Apr 27, 2012 at 9:22 PM, Aravindh Puthiyaparambil<br>&gt; &lt;<a =
href=3D"mailto:aravindh@virtuata.com">aravindh@virtuata.com</a>&gt; wrote:<=
br>
&gt;&gt;&gt;&gt; Let me re-iterate:<br>&gt;&gt;&gt;&gt; - if it&#39;s a lea=
f entry, then there&#39;s no need to call ept_free_entry<br>&gt;&gt;&gt;&gt=
; - if you don&#39;t need to call ept_free_entry, then you can defer<br>
&gt;&gt;&gt;&gt; ept_sync_domain (subject to the iommu case)<br>&gt;&gt;&gt=
;&gt; - you could pass in a pointer to a bool to indicate to the caller tha=
t<br>&gt;&gt;&gt;&gt; ept_sync_domain was deferred and that the caller need=
s to do it, with<br>
&gt;&gt;&gt;&gt; a NULL pointer indicating that the caller doesn&#39;t supp=
ort defer<br>&gt;&gt;<br>&gt;&gt; How does this look?<br>&gt;<br>&gt; It&#3=
9;s missing the &quot;leaf entry&quot; part of my description of how I thin=
k<br>
&gt; things should work. =A0Without that, you&#39;re effectively ignoring t=
he<br>&gt; following comment at the end of ept_set_entry:<br>&gt; =A0 =A0/*=
 Release the old intermediate tables, if any. =A0This has to be the<br>&gt;=
 =A0 =A0 =A0 last thing we do, after the ept_sync_domain() and removal<br>
&gt; =A0 =A0 =A0 from the iommu tables, so as to avoid a potential<br>&gt; =
=A0 =A0 =A0 use-after-free. */<br>&gt;<br>&gt; See inline comments in your =
patch below for how I&#39;d change this, untested...<br>&gt;<br>&gt; =A0 =
=A0christian<br>
&gt;<br>&gt;&gt; @@ -293,6 +296,7 @@ ept_set_entry(struct p2m_domain *p2m, =
un<br>&gt;&gt; =A0 =A0 int needs_sync =3D 1;<br>&gt;&gt; =A0 =A0 struct dom=
ain *d =3D p2m-&gt;domain;<br>&gt;&gt; =A0 =A0 ept_entry_t old_entry =3D { =
.epte =3D 0 };<br>
&gt;&gt; + =A0 =A0bool_t _sync_deferred =3D 0;<br>&gt;<br>&gt; don&#39;t ne=
ed that<br>&gt;<br>&gt;&gt; =A0 =A0 /*<br>&gt;&gt; =A0 =A0 =A0* the caller =
must make sure:<br>&gt;&gt; @@ -309,6 +313,9 @@ ept_set_entry(struct p2m_do=
main *p2m, un<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 1 &amp;&amp; hvm_hap_has_2mb=
(d)) ||<br>&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0(target =3D=3D 0));<br>&gt;&gt;<=
br>&gt;&gt; + =A0 =A0if (sync_deferred)<br>&gt;&gt; + =A0 =A0 =A0 =A0*sync_=
deferred =3D 1;<br>&gt;&gt; +<br>&gt;&gt; =A0 =A0 table =3D map_domain_page=
(ept_get_asr(d));<br>
&gt;&gt;<br>&gt;&gt; =A0 =A0 for ( i =3D ept_get_wl(d); i &gt; target; i-- =
)<br>&gt;&gt; @@ -346,7 +353,11 @@ ept_set_entry(struct p2m_domain *p2m, un=
<br>&gt;&gt;<br>&gt;&gt; =A0 =A0 =A0 =A0 /* No need to flush if the old ent=
ry wasn&#39;t valid */<br>
&gt;&gt; =A0 =A0 =A0 =A0 if ( !is_epte_present(ept_entry) )<br>&gt;&gt; =A0=
 =A0 =A0 =A0 =A0 =A0 needs_sync =3D 0;<br>&gt;<br>&gt; This should be:<br>&=
gt; =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) ||<br>&gt; =A0 =A0 =A0 =
=A0 =A0 =A0 (!target &amp;&amp; sync_deferred) ) {<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0needs_sync =3D 0;<br>&gt; =A0 =A0 =A0 =A0 =A0 =
=A0if (sync_deferred)<br>&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*sync_deferred=
 =3D 0;<br>&gt; =A0 =A0 =A0 =A0}<br>&gt;<br>&gt; This expresses the notion =
that we&#39;re going to skip the call to<br>&gt; ept_free_entry since it&#3=
9;s a leaf entry (target =3D=3D 0) and that the<br>
&gt; caller will make the ept_sync_domain call (sync_deferred !=3D NULL).<b=
r>&gt;<br>&gt;&gt;<br>&gt;&gt; =A0 =A0 =A0 =A0 /* If we&#39;re replacing a =
non-leaf entry with a leaf entry<br>&gt;&gt; (1GiB or 2MiB),<br>&gt;&gt; =
=A0 =A0 =A0 =A0 =A0* the intermediate tables will be freed below after the =
ept flush<br>
&gt;&gt; @@ -385,6 +396,9 @@ ept_set_entry(struct p2m_domain *p2m, un<br>&g=
t;&gt;<br>&gt;&gt; =A0 =A0 =A0 =A0 ASSERT(is_epte_superpage(ept_entry));<br=
>&gt;&gt;<br>&gt;&gt; + =A0 =A0 =A0 =A0if ( sync_deferred )<br>&gt;&gt; + =
=A0 =A0 =A0 =A0 =A0 =A0_sync_deferred =3D 1;<br>
&gt;&gt; +<br>&gt;<br>&gt; don&#39;t need that<br>&gt;<br>&gt;&gt; =A0 =A0 =
=A0 =A0 split_ept_entry =3D atomic_read_ept_entry(ept_entry);<br>&gt;&gt;<b=
r>&gt;&gt; =A0 =A0 =A0 =A0 if ( !ept_split_super_page(p2m, &amp;split_ept_e=
ntry, i, target) )<br>
&gt;&gt; @@ -438,7 +452,7 @@ ept_set_entry(struct p2m_domain *p2m, un<br>&g=
t;&gt; =A0out:<br>&gt;&gt; =A0 =A0 unmap_domain_page(table);<br>&gt;&gt;<br=
>&gt;&gt; - =A0 =A0if ( needs_sync )<br>&gt;&gt; + =A0 =A0if ( needs_sync &=
amp;&amp; !_sync_deferred )<br>
&gt;&gt; =A0 =A0 =A0 =A0 ept_sync_domain(p2m-&gt;domain);<br>&gt;<br>&gt; d=
on&#39;t need that change, test on needs_sync is sufficient<br>&gt;<br>&gt;=
&gt;<br>&gt;&gt; =A0 =A0 if ( rv &amp;&amp; iommu_enabled &amp;&amp; need_i=
ommu(p2m-&gt;domain) &amp;&amp;<br>
&gt;&gt; need_modify_vtd_table )<br>&gt;<br>&gt; Then at the end of ept_set=
_pte add the test for non-leaf, which is<br>&gt; more like an optimization/=
clarification since ept_free_entry has the<br>&gt; same test already.<br>
&gt;<br>&gt; =A0 =A0if ( target &amp;&amp; is_epte_present(&amp;old_entry) =
)<br>&gt; =A0 =A0 =A0 =A0ept_free_entry(p2m, &amp;old_entry, target);<br><b=
r><div>Sorry for not following and thanks for your patience. Hopefully this=
 looks correct. I have just included the pertinent bit of the patch you wer=
e commenting on.</div>
<div><br></div><div><div>diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/=
mm/p2m-ept.c</div><div>--- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 =
2012 +0200</div><div>+++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 20=
12 -0700</div>
<div>@@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom</div><d=
iv>=A0/*</div><div>=A0 * ept_set_entry() computes &#39;need_modify_vtd_tabl=
e&#39; for itself,</div><div>=A0 * by observing whether any gfn-&gt;mfn tra=
nslations are modified.</div>
<div>+ * If sync_deferred is not NULL, then the caller will take care of</d=
iv><div>+ * calling ept_sync_domain() in the cases where it can be deferred=
.</div><div>=A0 */</div><div>=A0static int</div><div>=A0ept_set_entry(struc=
t p2m_domain *p2m, unsigned long gfn, mfn_t mfn,=A0</div>
<div>- =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int order, p2m_type_t p2mt, p2m_=
access_t p2ma)</div><div>+ =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int order, p=
2m_type_t p2mt, p2m_access_t p2ma,</div><div>+ =A0 =A0 =A0 =A0 =A0 =A0 =A0b=
ool_t *sync_deferred)</div><div>=A0{</div>
<div>=A0 =A0 =A0ept_entry_t *table, *ept_entry =3D NULL;</div><div>=A0 =A0 =
=A0unsigned long gfn_remainder =3D gfn;</div><div>@@ -309,6 +312,9 @@ ept_s=
et_entry(struct p2m_domain *p2m, un</div><div>=A0 =A0 =A0 =A0 =A0 =A0 (targ=
et =3D=3D 1 &amp;&amp; hvm_hap_has_2mb(d)) ||</div>
<div>=A0 =A0 =A0 =A0 =A0 =A0 (target =3D=3D 0));</div><div>=A0</div><div>+ =
=A0 =A0if (sync_deferred)</div><div>+ =A0 =A0 =A0 =A0*sync_deferred =3D 1;<=
/div><div>+</div><div>=A0 =A0 =A0table =3D map_domain_page(ept_get_asr(d));=
</div><div>=A0</div><div>=A0 =A0 =A0for ( i =3D ept_get_wl(d); i &gt; targe=
t; i-- )</div>
<div>@@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un</div><di=
v>=A0 =A0 =A0 =A0 =A0ept_entry_t new_entry =3D { .epte =3D 0 };</div><div>=
=A0</div><div>=A0 =A0 =A0 =A0 =A0/* No need to flush if the old entry wasn&=
#39;t valid */</div><div>
- =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) )</div><div>+ =A0 =A0 =A0=
 =A0if ( !is_epte_present(ept_entry) || (!target &amp;&amp; sync_deferred) =
)</div><div>+ =A0 =A0 =A0 =A0{</div><div>=A0 =A0 =A0 =A0 =A0 =A0 =A0needs_s=
ync =3D 0;</div><div>+ =A0 =A0 =A0 =A0 =A0 =A0if ( sync_deferred )</div>
<div>+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*sync_deferred =3D 0;</div><div>+ =A0=
 =A0 =A0 =A0}</div><div>=A0</div><div>=A0 =A0 =A0 =A0 =A0/* If we&#39;re re=
placing a non-leaf entry with a leaf entry (1GiB or 2MiB),</div><div>=A0 =
=A0 =A0 =A0 =A0 * the intermediate tables will be freed below after the ept=
 flush</div>
<div>@@ -477,7 +487,7 @@ out:</div><div>=A0 =A0 =A0 =A0 last thing we do, a=
fter the ept_sync_domain() and removal</div><div>=A0 =A0 =A0 =A0 from the i=
ommu tables, so as to avoid a potential</div><div>=A0 =A0 =A0 =A0 use-after=
-free. */</div><div>
- =A0 =A0if ( is_epte_present(&amp;old_entry) )</div><div>+ =A0 =A0if ( tar=
get &amp;&amp; is_epte_present(&amp;old_entry) )</div><div>=A0 =A0 =A0 =A0 =
=A0ept_free_entry(p2m, &amp;old_entry, target);</div><div>=A0</div><div>=A0=
 =A0 =A0return rv;</div>
</div><div><br></div><div><br></div>

--f46d0442682282ba0604bf3d13ad--


--===============5527823330018310019==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5527823330018310019==--


From xen-devel-bounces@lists.xen.org Sat May 05 00:22:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 00:22:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQSkf-0004Z6-Ls; Sat, 05 May 2012 00:21:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQSke-0004Z1-GQ
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 00:21:32 +0000
Received: from [85.158.143.35:8757] by server-3.bemta-4.messagelabs.com id
	C3/A4-05853-B8274AF4; Sat, 05 May 2012 00:21:31 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336177288!14212343!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12227 invoked from network); 5 May 2012 00:21:29 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 00:21:29 -0000
Received: by qadb33 with SMTP id b33so1524392qad.9
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 17:21:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=zL1cB30H+D7It5tA5DWBPcnVnt9PJsHQlLvytsJbkRA=;
	b=VdrE3Vh0O/TfR9UWNqWou9TX68LNreH48zvAAFX2HoQe4+n1eAAUz4JLjGolgamwsh
	A+sZSH3O33kWZVakK44LnhFdJQoF9ovaXfh2Kbc3O7wh6+sNR5SH9vA8u9l4UdWPy2np
	2gvxIfpWVnNvZ3OGYCnegzo9XOUt5eXx4EJZI0ZTrk+cDdiQINMlKoniOuVb3cy2IN7D
	UeAJqx0n1pLDnpISPs9hIGQYZqWRou4BZOM0PRE1ueQwcosxe2Z1KUUA77JO5Cl6EXqL
	2EP1yXaZvsyGy5ofNhru8KAq9TgDDxPxq2q8FTlp5eH97GO72EyFmdvIDtym1qFTqQNa
	CzFQ==
MIME-Version: 1.0
Received: by 10.224.195.136 with SMTP id ec8mr13007123qab.58.1336177288026;
	Fri, 04 May 2012 17:21:28 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Fri, 4 May 2012 17:21:27 -0700 (PDT)
In-Reply-To: <4FA437E7.6040105@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
Date: Sat, 5 May 2012 00:21:27 +0000
Message-ID: <CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8944874938970141147=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8944874938970141147==
Content-Type: multipart/alternative; boundary=20cf3005dcae9c1bcb04bf3f04ed

--20cf3005dcae9c1bcb04bf3f04ed
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 4, 2012 at 8:11 PM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
>
> On 04/05/12 20:48, AP wrote:
> > On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com>
> > wrote:
> >> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
> >>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
> >>>> flight 11946 xen-unstable real [real]
> >>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
> >>>>
> >>>> Regressions :-(
> >>>>
> >>>> Tests which did not succeed and are blocking,
> >>>> including tests which could not be run:
> >>>>  test-amd64-i386-xl-credit2    7 debian-install            fail REGR.
> >>>> vs. 11944
> >>> Host crash:
> >>>
> >>>
http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log
> >>>
> >>> This is the debug Andrew Cooper added recently to track down the IRQ
> >>> assertion we've been seeing, sadly it looks like the debug code tries
> >>> to
> >>> call xfree from interrupt context and therefore doesn't produce full
> >>> output :-(
> >> Are we still seeing the issue this debugging was intended to address?
> >> We
> >> don't seem to be seeing the host crashes any more. Should the debug
> >> code
> >> be patched up as in the following patch, otherwise when we do see it it
> >> doesn't end up printing any useful info.
> >>
> >> Someone recently reported bugs.debian.org/665433 to Debian, is this the
> >> same underlying issue? That report is with Xen 4.0 FWIW.
> > I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
> > code added. Can the fix to the debugging code be checked in until the
> > original issue has been fixed?
> >
> > Thanks,
> > AP
> >
> > (XEN) *** IRQ BUG found ***
> > (XEN) CPU0 -Testing vector 236 from bitmap
> >
> >
41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,208
> > (XEN) Guest interrupt information:
> > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > status=00000000 mapped, unbound
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Tainted:    C ]----
> > (XEN) CPU:    0
> > (XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> > (XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx:
> > 0000000000000000
> > (XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi:
> > 0000000000000000
> > (XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:
> >  0000000000000004
> > (XEN) r9:  0000000000000000   r10: 0000000000000000   r11:
> > 0000000000000010
> > (XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14:
> > ffff830214ac0ca8
> > (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4:
> > 00000000000426f0
> > (XEN) cr3: 0000000168971000   cr2: 0000000001095e00
> > (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> > (XEN) Xen stack trace from rsp=ffff82c4802b7c58:
> > (XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c
> > ffff830214ac0ca8
> > (XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a
> > ffff82c400000020
> > (XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8
> > 0000000000000000
> > (XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80
> > 000000000000000c
> > (XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58
> > ffff82c480168000
> > (XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000
> > ffff82c4802b7f18
> > (XEN)    0000000000000000 0000000000000000 ffff82c480302324
> > 0000000000000020
> > (XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000
> > 0000000000000000
> > (XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000
> > ffff8300da996000
> > (XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160
> > ffff82c4802b7e20
> > (XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000
> > 0000000000000003
> > (XEN)    0000000000000000 0000000000000000 00007d3b7fd48207
> > ffff82c480160426
> > (XEN)    0000000000000000 0000000000000000 0000000000000003
> > ffff8300da991000
> > (XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282
> > ffff82c4802319a0
> > (XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081
> > 0000000000000000
> > (XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000
> > 0000002000000000
> > (XEN)    ffff82c4801865c1 000000000000e008 0000000000000202
> > ffff82c4802b7e88
> > (XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8
> > ffff82c4802230d8
> > (XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246
> > ffffffff810013aa
> > (XEN)    0000000000000000 ffffffff810013aa 000000000000e030
> > 0000000000000246
> > (XEN) Xen call trace:
> > (XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
> > (XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
> > (XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
> > (XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
> > (XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
> > (XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
> > (XEN)
> > (XEN)
> > (XEN) ****************************************
> > (XEN) Panic on CPU 0:
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ****************************************
> > (XEN)
> > (XEN) Reboot in five seconds...
> The attached patch should prevent this panic, allowing for all the debug
> information to be printed to the console.

Thanks, that fixed it. Here is what I see now:

(XEN) *** IRQ BUG found ***
(XEN) CPU0 -Testing vector 236 from bitmap
37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
(XEN) Guest interrupt information:
(XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge    status=00000000
mapped, unbound
(XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  1(-S--),
(XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC          status=00000000
mapped, unbound
(XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  8(-S--),
(XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level   status=00000030
in-flight=0 domain-list=0:  9(-S--),
(XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge    status=00000002
mapped, unbound
[ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?

Let me know if you need any more info.
Thanks,
AP

--20cf3005dcae9c1bcb04bf3f04ed
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Fri, May 4, 2012 at 8:11 PM, Andrew Cooper &lt;<a href=3D"mailto:andrew.=
cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<br>&gt;<br>&gt=
; On 04/05/12 20:48, AP wrote:<br>&gt; &gt; On Tue, Mar 27, 2012 at 3:36 AM=
, Ian Campbell &lt;<a href=3D"mailto:Ian.Campbell@citrix.com">Ian.Campbell@=
citrix.com</a>&gt;<br>
&gt; &gt; wrote:<br>&gt; &gt;&gt; On Tue, 2012-02-14 at 10:44 +0000, Ian Ca=
mpbell wrote:<br>&gt; &gt;&gt;&gt; On Mon, 2012-02-13 at 20:16 +0000, <a hr=
ef=3D"http://xen.org">xen.org</a> wrote:<br>&gt; &gt;&gt;&gt;&gt; flight 11=
946 xen-unstable real [real]<br>
&gt; &gt;&gt;&gt;&gt; <a href=3D"http://www.chiark.greenend.org.uk/~xensrct=
s/logs/11946/">http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/</a><=
br>&gt; &gt;&gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;&gt; Regressions :-(<br>&gt; &=
gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; Tests which did not succeed and are blocking,<br>&gt;=
 &gt;&gt;&gt;&gt; including tests which could not be run:<br>&gt; &gt;&gt;&=
gt;&gt; =A0test-amd64-i386-xl-credit2 =A0 =A07 debian-install =A0 =A0 =A0 =
=A0 =A0 =A0fail REGR.<br>
&gt; &gt;&gt;&gt;&gt; vs. 11944<br>&gt; &gt;&gt;&gt; Host crash:<br>&gt; &g=
t;&gt;&gt;<br>&gt; &gt;&gt;&gt; <a href=3D"http://www.chiark.greenend.org.u=
k/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log">htt=
p://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-cred=
it2/serial-woodlouse.log</a><br>
&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; This is the debug Andrew Cooper adde=
d recently to track down the IRQ<br>&gt; &gt;&gt;&gt; assertion we&#39;ve b=
een seeing, sadly it looks like the debug code tries<br>&gt; &gt;&gt;&gt; t=
o<br>
&gt; &gt;&gt;&gt; call xfree from interrupt context and therefore doesn&#39=
;t produce full<br>&gt; &gt;&gt;&gt; output :-(<br>&gt; &gt;&gt; Are we sti=
ll seeing the issue this debugging was intended to address?<br>&gt; &gt;&gt=
; We<br>
&gt; &gt;&gt; don&#39;t seem to be seeing the host crashes any more. Should=
 the debug<br>&gt; &gt;&gt; code<br>&gt; &gt;&gt; be patched up as in the f=
ollowing patch, otherwise when we do see it it<br>&gt; &gt;&gt; doesn&#39;t=
 end up printing any useful info.<br>
&gt; &gt;&gt;<br>&gt; &gt;&gt; Someone recently reported <a href=3D"http://=
bugs.debian.org/665433">bugs.debian.org/665433</a> to Debian, is this the<b=
r>&gt; &gt;&gt; same underlying issue? That report is with Xen 4.0 FWIW.<br=
>
&gt; &gt; I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugg=
ing<br>&gt; &gt; code added. Can the fix to the debugging code be checked i=
n until the<br>&gt; &gt; original issue has been fixed?<br>&gt; &gt;<br>
&gt; &gt; Thanks,<br>&gt; &gt; AP<br>&gt; &gt;<br>&gt; &gt; (XEN) *** IRQ B=
UG found ***<br>&gt; &gt; (XEN) CPU0 -Testing vector 236 from bitmap<br>&gt=
; &gt;<br>&gt; &gt; 41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,=
168,171,192,200-201,208<br>
&gt; &gt; (XEN) Guest interrupt information:<br>&gt; &gt; (XEN) =A0 =A0IRQ:=
 =A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge<br>&gt; &gt; status=3D0000000=
0 mapped, unbound<br>&gt; &gt; (XEN) Assertion &#39;!in_irq()&#39; failed a=
t xmalloc_tlsf.c:607<br>
&gt; &gt; (XEN) ----[ Xen-4.2-unstable =A0x86_64 =A0debug=3Dy =A0Tainted: =
=A0 =A0C ]----<br>&gt; &gt; (XEN) CPU: =A0 =A00<br>&gt; &gt; (XEN) RIP: =A0=
 =A0e008:[&lt;ffff82c48012cefb&gt;] xfree+0x33/0x118<br>&gt; &gt; (XEN) RFL=
AGS: 0000000000010002 =A0 CONTEXT: hypervisor<br>
&gt; &gt; (XEN) rax: 0000000000000000 =A0 rbx: ffff830214ac0080 =A0 rcx:<br=
>&gt; &gt; 0000000000000000<br>&gt; &gt; (XEN) rdx: ffff82c4802d8880 =A0 rs=
i: 0000000000000083 =A0 rdi:<br>&gt; &gt; 0000000000000000<br>&gt; &gt; (XE=
N) rbp: ffff82c4802b7c78 =A0 rsp: ffff82c4802b7c58 =A0 r8:<br>
&gt; &gt; =A00000000000000004<br>&gt; &gt; (XEN) r9: =A00000000000000000 =
=A0 r10: 0000000000000000 =A0 r11:<br>&gt; &gt; 0000000000000010<br>&gt; &g=
t; (XEN) r12: ffff830214ac0c80 =A0 r13: 000000000000000c =A0 r14:<br>&gt; &=
gt; ffff830214ac0ca8<br>
&gt; &gt; (XEN) r15: 0000000000000000 =A0 cr0: 000000008005003b =A0 cr4:<br=
>&gt; &gt; 00000000000426f0<br>&gt; &gt; (XEN) cr3: 0000000168971000 =A0 cr=
2: 0000000001095e00<br>&gt; &gt; (XEN) ds: 002b =A0 es: 002b =A0 fs: 0000 =
=A0 gs: 0000 =A0 ss: e010 =A0 cs: e008<br>
&gt; &gt; (XEN) Xen stack trace from rsp=3Dffff82c4802b7c58:<br>&gt; &gt; (=
XEN) =A0 =A0ffff830214ac0080 ffff830214ac0c80 000000000000000c<br>&gt; &gt;=
 ffff830214ac0ca8<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7ce8 ffff82c4801664=
d4 ffff82c4802e214a<br>
&gt; &gt; ffff82c400000020<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7cf8 00000=
00000000083 ffff830214ac00a8<br>&gt; &gt; 0000000000000000<br>&gt; &gt; (XE=
N) =A0 =A000000000000000ec 00000000000000ec ffff830214ac0c80<br>&gt; &gt; 0=
00000000000000c<br>
&gt; &gt; (XEN) =A0 =A0ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58<b=
r>&gt; &gt; ffff82c480168000<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7f18 fff=
f82c4802b7f18 000000ec00000000<br>&gt; &gt; ffff82c4802b7f18<br>&gt; &gt; (=
XEN) =A0 =A00000000000000000 0000000000000000 ffff82c480302324<br>
&gt; &gt; 0000000000000020<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7dd8 00000=
00000000003 0000000000000000<br>&gt; &gt; 0000000000000000<br>&gt; &gt; (XE=
N) =A0 =A0ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000<br>&gt; &gt; f=
fff8300da996000<br>
&gt; &gt; (XEN) =A0 =A00000000000000000 ffffffff802b7d90 ffff82c480159160<b=
r>&gt; &gt; ffff82c4802b7e20<br>&gt; &gt; (XEN) =A0 =A0ffff82c48015d7db fff=
f82c4802b7f18 ffff8300da991000<br>&gt; &gt; 0000000000000003<br>&gt; &gt; (=
XEN) =A0 =A00000000000000000 0000000000000000 00007d3b7fd48207<br>
&gt; &gt; ffff82c480160426<br>&gt; &gt; (XEN) =A0 =A00000000000000000 00000=
00000000000 0000000000000003<br>&gt; &gt; ffff8300da991000<br>&gt; &gt; (XE=
N) =A0 =A0ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282<br>&gt; &gt; f=
fff82c4802319a0<br>
&gt; &gt; (XEN) =A0 =A000000000deadbeef 0000000000000000 ffff83021c0b8081<b=
r>&gt; &gt; 0000000000000000<br>&gt; &gt; (XEN) =A0 =A00000000000000048 fff=
f8801d7227ec0 ffff8300da991000<br>&gt; &gt; 0000002000000000<br>&gt; &gt; (=
XEN) =A0 =A0ffff82c4801865c1 000000000000e008 0000000000000202<br>
&gt; &gt; ffff82c4802b7e88<br>&gt; &gt; (XEN) =A0 =A0000000000000e010 00000=
00000000003 ffff82c4802b7ef8<br>&gt; &gt; ffff82c4802230d8<br>&gt; &gt; (XE=
N) =A0 =A0ffff82c4802b7f18 0000000000000000 0000000000000246<br>&gt; &gt; f=
fffffff810013aa<br>
&gt; &gt; (XEN) =A0 =A00000000000000000 ffffffff810013aa 000000000000e030<b=
r>&gt; &gt; 0000000000000246<br>&gt; &gt; (XEN) Xen call trace:<br>&gt; &gt=
; (XEN) =A0 =A0[&lt;ffff82c48012cefb&gt;] xfree+0x33/0x118<br>&gt; &gt; (XE=
N) =A0 =A0[&lt;ffff82c4801664d4&gt;] dump_irqs+0x2a4/0x2e8<br>
&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c480168000&gt;] irq_move_cleanup_interrup=
t+0x29f/0x2db<br>&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c4801683d3&gt;] do_IRQ+0=
x9e/0x5a4<br>&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c480160426&gt;] common_inter=
rupt+0x26/0x30<br>
&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c4801865c1&gt;] async_exception_cleanup+0=
x1/0x35a<br>&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c480228438&gt;] syscall_enter=
+0xc8/0x122<br>&gt; &gt; (XEN)<br>&gt; &gt; (XEN)<br>&gt; &gt; (XEN) ******=
**********************************<br>
&gt; &gt; (XEN) Panic on CPU 0:<br>&gt; &gt; (XEN) Assertion &#39;!in_irq()=
&#39; failed at xmalloc_tlsf.c:607<br>&gt; &gt; (XEN) *********************=
*******************<br>&gt; &gt; (XEN)<br>&gt; &gt; (XEN) Reboot in five se=
conds...<br>
&gt; The attached patch should prevent this panic, allowing for all the deb=
ug<br>&gt; information to be printed to the console.<br><br>Thanks, that fi=
xed it. Here is what I see now:<br><br>(XEN) *** IRQ BUG found ***<br>(XEN)=
 CPU0 -Testing vector 236 from bitmap 37,41,49,51,64,72,80,88,96,104,120,13=
6,145,152,158,160,168,175,182,192,200,211<br>
(XEN) Guest interrupt information:<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 0 affinity:=
01 vec:f0 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000000 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 1 affinity:01 vec:d3 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:=A0 1(-S--),<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 2 affinity:ff vec:e2 type=3DXT-PIC=A0=A0=A0=A0=A0=
=A0=A0=A0=A0 status=3D00000000 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0=
 3 affinity:01 vec:40 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped=
, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 4 affinity:01 vec:48 type=3DIO-APIC-=
edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 5 affinity:01 vec:50 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 6 affinity:=
01 vec:58 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 7 affinity:01 vec:60 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 8 affinity:08 vec:29 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000030 in-flight=3D0 domain-list=3D0:=A0 8(-S--),<br>(XEN)=A0=
=A0=A0 IRQ:=A0=A0 9 affinity:02 vec:25 type=3DIO-APIC-level=A0=A0 status=3D=
00000030 in-flight=3D0 domain-list=3D0:=A0 9(-S--),<br>
(XEN)=A0=A0=A0 IRQ:=A0 10 affinity:01 vec:78 type=3DIO-APIC-edge=A0=A0=A0 s=
tatus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 11 affinity:01 v=
ec:88 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>[ 5=
129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed.=
.. blt ring idle [waiting on 1800652, at 1800652], missed IRQ?<br>
<br>Let me know if you need any more info.<br>Thanks,<br>AP<br><br>

--20cf3005dcae9c1bcb04bf3f04ed--


--===============8944874938970141147==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8944874938970141147==--


From xen-devel-bounces@lists.xen.org Sat May 05 00:22:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 00:22:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQSkf-0004Z6-Ls; Sat, 05 May 2012 00:21:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQSke-0004Z1-GQ
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 00:21:32 +0000
Received: from [85.158.143.35:8757] by server-3.bemta-4.messagelabs.com id
	C3/A4-05853-B8274AF4; Sat, 05 May 2012 00:21:31 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336177288!14212343!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12227 invoked from network); 5 May 2012 00:21:29 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 00:21:29 -0000
Received: by qadb33 with SMTP id b33so1524392qad.9
	for <xen-devel@lists.xensource.com>;
	Fri, 04 May 2012 17:21:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=zL1cB30H+D7It5tA5DWBPcnVnt9PJsHQlLvytsJbkRA=;
	b=VdrE3Vh0O/TfR9UWNqWou9TX68LNreH48zvAAFX2HoQe4+n1eAAUz4JLjGolgamwsh
	A+sZSH3O33kWZVakK44LnhFdJQoF9ovaXfh2Kbc3O7wh6+sNR5SH9vA8u9l4UdWPy2np
	2gvxIfpWVnNvZ3OGYCnegzo9XOUt5eXx4EJZI0ZTrk+cDdiQINMlKoniOuVb3cy2IN7D
	UeAJqx0n1pLDnpISPs9hIGQYZqWRou4BZOM0PRE1ueQwcosxe2Z1KUUA77JO5Cl6EXqL
	2EP1yXaZvsyGy5ofNhru8KAq9TgDDxPxq2q8FTlp5eH97GO72EyFmdvIDtym1qFTqQNa
	CzFQ==
MIME-Version: 1.0
Received: by 10.224.195.136 with SMTP id ec8mr13007123qab.58.1336177288026;
	Fri, 04 May 2012 17:21:28 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Fri, 4 May 2012 17:21:27 -0700 (PDT)
In-Reply-To: <4FA437E7.6040105@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
Date: Sat, 5 May 2012 00:21:27 +0000
Message-ID: <CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8944874938970141147=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8944874938970141147==
Content-Type: multipart/alternative; boundary=20cf3005dcae9c1bcb04bf3f04ed

--20cf3005dcae9c1bcb04bf3f04ed
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 4, 2012 at 8:11 PM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
>
> On 04/05/12 20:48, AP wrote:
> > On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com>
> > wrote:
> >> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
> >>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
> >>>> flight 11946 xen-unstable real [real]
> >>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
> >>>>
> >>>> Regressions :-(
> >>>>
> >>>> Tests which did not succeed and are blocking,
> >>>> including tests which could not be run:
> >>>>  test-amd64-i386-xl-credit2    7 debian-install            fail REGR.
> >>>> vs. 11944
> >>> Host crash:
> >>>
> >>>
http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log
> >>>
> >>> This is the debug Andrew Cooper added recently to track down the IRQ
> >>> assertion we've been seeing, sadly it looks like the debug code tries
> >>> to
> >>> call xfree from interrupt context and therefore doesn't produce full
> >>> output :-(
> >> Are we still seeing the issue this debugging was intended to address?
> >> We
> >> don't seem to be seeing the host crashes any more. Should the debug
> >> code
> >> be patched up as in the following patch, otherwise when we do see it it
> >> doesn't end up printing any useful info.
> >>
> >> Someone recently reported bugs.debian.org/665433 to Debian, is this the
> >> same underlying issue? That report is with Xen 4.0 FWIW.
> > I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
> > code added. Can the fix to the debugging code be checked in until the
> > original issue has been fixed?
> >
> > Thanks,
> > AP
> >
> > (XEN) *** IRQ BUG found ***
> > (XEN) CPU0 -Testing vector 236 from bitmap
> >
> >
41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,208
> > (XEN) Guest interrupt information:
> > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > status=00000000 mapped, unbound
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Tainted:    C ]----
> > (XEN) CPU:    0
> > (XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> > (XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx:
> > 0000000000000000
> > (XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi:
> > 0000000000000000
> > (XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:
> >  0000000000000004
> > (XEN) r9:  0000000000000000   r10: 0000000000000000   r11:
> > 0000000000000010
> > (XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14:
> > ffff830214ac0ca8
> > (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4:
> > 00000000000426f0
> > (XEN) cr3: 0000000168971000   cr2: 0000000001095e00
> > (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> > (XEN) Xen stack trace from rsp=ffff82c4802b7c58:
> > (XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c
> > ffff830214ac0ca8
> > (XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a
> > ffff82c400000020
> > (XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8
> > 0000000000000000
> > (XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80
> > 000000000000000c
> > (XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58
> > ffff82c480168000
> > (XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000
> > ffff82c4802b7f18
> > (XEN)    0000000000000000 0000000000000000 ffff82c480302324
> > 0000000000000020
> > (XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000
> > 0000000000000000
> > (XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000
> > ffff8300da996000
> > (XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160
> > ffff82c4802b7e20
> > (XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000
> > 0000000000000003
> > (XEN)    0000000000000000 0000000000000000 00007d3b7fd48207
> > ffff82c480160426
> > (XEN)    0000000000000000 0000000000000000 0000000000000003
> > ffff8300da991000
> > (XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282
> > ffff82c4802319a0
> > (XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081
> > 0000000000000000
> > (XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000
> > 0000002000000000
> > (XEN)    ffff82c4801865c1 000000000000e008 0000000000000202
> > ffff82c4802b7e88
> > (XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8
> > ffff82c4802230d8
> > (XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246
> > ffffffff810013aa
> > (XEN)    0000000000000000 ffffffff810013aa 000000000000e030
> > 0000000000000246
> > (XEN) Xen call trace:
> > (XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
> > (XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
> > (XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
> > (XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
> > (XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
> > (XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
> > (XEN)
> > (XEN)
> > (XEN) ****************************************
> > (XEN) Panic on CPU 0:
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ****************************************
> > (XEN)
> > (XEN) Reboot in five seconds...
> The attached patch should prevent this panic, allowing for all the debug
> information to be printed to the console.

Thanks, that fixed it. Here is what I see now:

(XEN) *** IRQ BUG found ***
(XEN) CPU0 -Testing vector 236 from bitmap
37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
(XEN) Guest interrupt information:
(XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge    status=00000000
mapped, unbound
(XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  1(-S--),
(XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC          status=00000000
mapped, unbound
(XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  8(-S--),
(XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level   status=00000030
in-flight=0 domain-list=0:  9(-S--),
(XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge    status=00000002
mapped, unbound
[ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?

Let me know if you need any more info.
Thanks,
AP

--20cf3005dcae9c1bcb04bf3f04ed
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Fri, May 4, 2012 at 8:11 PM, Andrew Cooper &lt;<a href=3D"mailto:andrew.=
cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<br>&gt;<br>&gt=
; On 04/05/12 20:48, AP wrote:<br>&gt; &gt; On Tue, Mar 27, 2012 at 3:36 AM=
, Ian Campbell &lt;<a href=3D"mailto:Ian.Campbell@citrix.com">Ian.Campbell@=
citrix.com</a>&gt;<br>
&gt; &gt; wrote:<br>&gt; &gt;&gt; On Tue, 2012-02-14 at 10:44 +0000, Ian Ca=
mpbell wrote:<br>&gt; &gt;&gt;&gt; On Mon, 2012-02-13 at 20:16 +0000, <a hr=
ef=3D"http://xen.org">xen.org</a> wrote:<br>&gt; &gt;&gt;&gt;&gt; flight 11=
946 xen-unstable real [real]<br>
&gt; &gt;&gt;&gt;&gt; <a href=3D"http://www.chiark.greenend.org.uk/~xensrct=
s/logs/11946/">http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/</a><=
br>&gt; &gt;&gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;&gt; Regressions :-(<br>&gt; &=
gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; Tests which did not succeed and are blocking,<br>&gt;=
 &gt;&gt;&gt;&gt; including tests which could not be run:<br>&gt; &gt;&gt;&=
gt;&gt; =A0test-amd64-i386-xl-credit2 =A0 =A07 debian-install =A0 =A0 =A0 =
=A0 =A0 =A0fail REGR.<br>
&gt; &gt;&gt;&gt;&gt; vs. 11944<br>&gt; &gt;&gt;&gt; Host crash:<br>&gt; &g=
t;&gt;&gt;<br>&gt; &gt;&gt;&gt; <a href=3D"http://www.chiark.greenend.org.u=
k/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log">htt=
p://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-cred=
it2/serial-woodlouse.log</a><br>
&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; This is the debug Andrew Cooper adde=
d recently to track down the IRQ<br>&gt; &gt;&gt;&gt; assertion we&#39;ve b=
een seeing, sadly it looks like the debug code tries<br>&gt; &gt;&gt;&gt; t=
o<br>
&gt; &gt;&gt;&gt; call xfree from interrupt context and therefore doesn&#39=
;t produce full<br>&gt; &gt;&gt;&gt; output :-(<br>&gt; &gt;&gt; Are we sti=
ll seeing the issue this debugging was intended to address?<br>&gt; &gt;&gt=
; We<br>
&gt; &gt;&gt; don&#39;t seem to be seeing the host crashes any more. Should=
 the debug<br>&gt; &gt;&gt; code<br>&gt; &gt;&gt; be patched up as in the f=
ollowing patch, otherwise when we do see it it<br>&gt; &gt;&gt; doesn&#39;t=
 end up printing any useful info.<br>
&gt; &gt;&gt;<br>&gt; &gt;&gt; Someone recently reported <a href=3D"http://=
bugs.debian.org/665433">bugs.debian.org/665433</a> to Debian, is this the<b=
r>&gt; &gt;&gt; same underlying issue? That report is with Xen 4.0 FWIW.<br=
>
&gt; &gt; I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugg=
ing<br>&gt; &gt; code added. Can the fix to the debugging code be checked i=
n until the<br>&gt; &gt; original issue has been fixed?<br>&gt; &gt;<br>
&gt; &gt; Thanks,<br>&gt; &gt; AP<br>&gt; &gt;<br>&gt; &gt; (XEN) *** IRQ B=
UG found ***<br>&gt; &gt; (XEN) CPU0 -Testing vector 236 from bitmap<br>&gt=
; &gt;<br>&gt; &gt; 41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,=
168,171,192,200-201,208<br>
&gt; &gt; (XEN) Guest interrupt information:<br>&gt; &gt; (XEN) =A0 =A0IRQ:=
 =A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge<br>&gt; &gt; status=3D0000000=
0 mapped, unbound<br>&gt; &gt; (XEN) Assertion &#39;!in_irq()&#39; failed a=
t xmalloc_tlsf.c:607<br>
&gt; &gt; (XEN) ----[ Xen-4.2-unstable =A0x86_64 =A0debug=3Dy =A0Tainted: =
=A0 =A0C ]----<br>&gt; &gt; (XEN) CPU: =A0 =A00<br>&gt; &gt; (XEN) RIP: =A0=
 =A0e008:[&lt;ffff82c48012cefb&gt;] xfree+0x33/0x118<br>&gt; &gt; (XEN) RFL=
AGS: 0000000000010002 =A0 CONTEXT: hypervisor<br>
&gt; &gt; (XEN) rax: 0000000000000000 =A0 rbx: ffff830214ac0080 =A0 rcx:<br=
>&gt; &gt; 0000000000000000<br>&gt; &gt; (XEN) rdx: ffff82c4802d8880 =A0 rs=
i: 0000000000000083 =A0 rdi:<br>&gt; &gt; 0000000000000000<br>&gt; &gt; (XE=
N) rbp: ffff82c4802b7c78 =A0 rsp: ffff82c4802b7c58 =A0 r8:<br>
&gt; &gt; =A00000000000000004<br>&gt; &gt; (XEN) r9: =A00000000000000000 =
=A0 r10: 0000000000000000 =A0 r11:<br>&gt; &gt; 0000000000000010<br>&gt; &g=
t; (XEN) r12: ffff830214ac0c80 =A0 r13: 000000000000000c =A0 r14:<br>&gt; &=
gt; ffff830214ac0ca8<br>
&gt; &gt; (XEN) r15: 0000000000000000 =A0 cr0: 000000008005003b =A0 cr4:<br=
>&gt; &gt; 00000000000426f0<br>&gt; &gt; (XEN) cr3: 0000000168971000 =A0 cr=
2: 0000000001095e00<br>&gt; &gt; (XEN) ds: 002b =A0 es: 002b =A0 fs: 0000 =
=A0 gs: 0000 =A0 ss: e010 =A0 cs: e008<br>
&gt; &gt; (XEN) Xen stack trace from rsp=3Dffff82c4802b7c58:<br>&gt; &gt; (=
XEN) =A0 =A0ffff830214ac0080 ffff830214ac0c80 000000000000000c<br>&gt; &gt;=
 ffff830214ac0ca8<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7ce8 ffff82c4801664=
d4 ffff82c4802e214a<br>
&gt; &gt; ffff82c400000020<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7cf8 00000=
00000000083 ffff830214ac00a8<br>&gt; &gt; 0000000000000000<br>&gt; &gt; (XE=
N) =A0 =A000000000000000ec 00000000000000ec ffff830214ac0c80<br>&gt; &gt; 0=
00000000000000c<br>
&gt; &gt; (XEN) =A0 =A0ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58<b=
r>&gt; &gt; ffff82c480168000<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7f18 fff=
f82c4802b7f18 000000ec00000000<br>&gt; &gt; ffff82c4802b7f18<br>&gt; &gt; (=
XEN) =A0 =A00000000000000000 0000000000000000 ffff82c480302324<br>
&gt; &gt; 0000000000000020<br>&gt; &gt; (XEN) =A0 =A0ffff82c4802b7dd8 00000=
00000000003 0000000000000000<br>&gt; &gt; 0000000000000000<br>&gt; &gt; (XE=
N) =A0 =A0ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000<br>&gt; &gt; f=
fff8300da996000<br>
&gt; &gt; (XEN) =A0 =A00000000000000000 ffffffff802b7d90 ffff82c480159160<b=
r>&gt; &gt; ffff82c4802b7e20<br>&gt; &gt; (XEN) =A0 =A0ffff82c48015d7db fff=
f82c4802b7f18 ffff8300da991000<br>&gt; &gt; 0000000000000003<br>&gt; &gt; (=
XEN) =A0 =A00000000000000000 0000000000000000 00007d3b7fd48207<br>
&gt; &gt; ffff82c480160426<br>&gt; &gt; (XEN) =A0 =A00000000000000000 00000=
00000000000 0000000000000003<br>&gt; &gt; ffff8300da991000<br>&gt; &gt; (XE=
N) =A0 =A0ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282<br>&gt; &gt; f=
fff82c4802319a0<br>
&gt; &gt; (XEN) =A0 =A000000000deadbeef 0000000000000000 ffff83021c0b8081<b=
r>&gt; &gt; 0000000000000000<br>&gt; &gt; (XEN) =A0 =A00000000000000048 fff=
f8801d7227ec0 ffff8300da991000<br>&gt; &gt; 0000002000000000<br>&gt; &gt; (=
XEN) =A0 =A0ffff82c4801865c1 000000000000e008 0000000000000202<br>
&gt; &gt; ffff82c4802b7e88<br>&gt; &gt; (XEN) =A0 =A0000000000000e010 00000=
00000000003 ffff82c4802b7ef8<br>&gt; &gt; ffff82c4802230d8<br>&gt; &gt; (XE=
N) =A0 =A0ffff82c4802b7f18 0000000000000000 0000000000000246<br>&gt; &gt; f=
fffffff810013aa<br>
&gt; &gt; (XEN) =A0 =A00000000000000000 ffffffff810013aa 000000000000e030<b=
r>&gt; &gt; 0000000000000246<br>&gt; &gt; (XEN) Xen call trace:<br>&gt; &gt=
; (XEN) =A0 =A0[&lt;ffff82c48012cefb&gt;] xfree+0x33/0x118<br>&gt; &gt; (XE=
N) =A0 =A0[&lt;ffff82c4801664d4&gt;] dump_irqs+0x2a4/0x2e8<br>
&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c480168000&gt;] irq_move_cleanup_interrup=
t+0x29f/0x2db<br>&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c4801683d3&gt;] do_IRQ+0=
x9e/0x5a4<br>&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c480160426&gt;] common_inter=
rupt+0x26/0x30<br>
&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c4801865c1&gt;] async_exception_cleanup+0=
x1/0x35a<br>&gt; &gt; (XEN) =A0 =A0[&lt;ffff82c480228438&gt;] syscall_enter=
+0xc8/0x122<br>&gt; &gt; (XEN)<br>&gt; &gt; (XEN)<br>&gt; &gt; (XEN) ******=
**********************************<br>
&gt; &gt; (XEN) Panic on CPU 0:<br>&gt; &gt; (XEN) Assertion &#39;!in_irq()=
&#39; failed at xmalloc_tlsf.c:607<br>&gt; &gt; (XEN) *********************=
*******************<br>&gt; &gt; (XEN)<br>&gt; &gt; (XEN) Reboot in five se=
conds...<br>
&gt; The attached patch should prevent this panic, allowing for all the deb=
ug<br>&gt; information to be printed to the console.<br><br>Thanks, that fi=
xed it. Here is what I see now:<br><br>(XEN) *** IRQ BUG found ***<br>(XEN)=
 CPU0 -Testing vector 236 from bitmap 37,41,49,51,64,72,80,88,96,104,120,13=
6,145,152,158,160,168,175,182,192,200,211<br>
(XEN) Guest interrupt information:<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 0 affinity:=
01 vec:f0 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000000 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 1 affinity:01 vec:d3 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:=A0 1(-S--),<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 2 affinity:ff vec:e2 type=3DXT-PIC=A0=A0=A0=A0=A0=
=A0=A0=A0=A0 status=3D00000000 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0=
 3 affinity:01 vec:40 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped=
, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 4 affinity:01 vec:48 type=3DIO-APIC-=
edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 5 affinity:01 vec:50 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 6 affinity:=
01 vec:58 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 7 affinity:01 vec:60 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 8 affinity:08 vec:29 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000030 in-flight=3D0 domain-list=3D0:=A0 8(-S--),<br>(XEN)=A0=
=A0=A0 IRQ:=A0=A0 9 affinity:02 vec:25 type=3DIO-APIC-level=A0=A0 status=3D=
00000030 in-flight=3D0 domain-list=3D0:=A0 9(-S--),<br>
(XEN)=A0=A0=A0 IRQ:=A0 10 affinity:01 vec:78 type=3DIO-APIC-edge=A0=A0=A0 s=
tatus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 11 affinity:01 v=
ec:88 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>[ 5=
129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed.=
.. blt ring idle [waiting on 1800652, at 1800652], missed IRQ?<br>
<br>Let me know if you need any more info.<br>Thanks,<br>AP<br><br>

--20cf3005dcae9c1bcb04bf3f04ed--


--===============8944874938970141147==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8944874938970141147==--


From xen-devel-bounces@lists.xen.org Sat May 05 05:59:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 05:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQY1G-0002Bh-Au; Sat, 05 May 2012 05:59:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQY1E-0002Bc-6b
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 05:59:00 +0000
Received: from [85.158.139.83:3367] by server-7.bemta-5.messagelabs.com id
	CF/81-16195-3A1C4AF4; Sat, 05 May 2012 05:58:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336197537!19519843!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQyOA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24014 invoked from network); 5 May 2012 05:58:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 05:58:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12309853"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 05:58:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 5 May 2012 06:58:56 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQY19-0007C9-Sy;
	Sat, 05 May 2012 05:58:55 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQY19-0000wS-SV;
	Sat, 05 May 2012 06:58:55 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12791-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 5 May 2012 06:58:55 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12791: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12791 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12791/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pv           9 guest-start                 fail pass in 12790

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12790

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          fail    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 05:59:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 05:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQY1G-0002Bh-Au; Sat, 05 May 2012 05:59:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQY1E-0002Bc-6b
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 05:59:00 +0000
Received: from [85.158.139.83:3367] by server-7.bemta-5.messagelabs.com id
	CF/81-16195-3A1C4AF4; Sat, 05 May 2012 05:58:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336197537!19519843!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQyOA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24014 invoked from network); 5 May 2012 05:58:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 05:58:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12309853"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 05:58:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 5 May 2012 06:58:56 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQY19-0007C9-Sy;
	Sat, 05 May 2012 05:58:55 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQY19-0000wS-SV;
	Sat, 05 May 2012 06:58:55 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12791-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 5 May 2012 06:58:55 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12791: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12791 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12791/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pv           9 guest-start                 fail pass in 12790

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12790

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          fail    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 10:34:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 10:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQcJE-0003v1-NU; Sat, 05 May 2012 10:33:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQcJC-0003uw-Mm
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 10:33:50 +0000
Received: from [85.158.143.99:29613] by server-1.bemta-4.messagelabs.com id
	F1/B7-20925-E0205AF4; Sat, 05 May 2012 10:33:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336214028!21362882!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQyOA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9218 invoked from network); 5 May 2012 10:33:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 10:33:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12311029"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 10:33:47 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Sat, 5 May 2012
	11:33:47 +0100
Message-ID: <1336214027.3735.16.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Date: Sat, 5 May 2012 11:33:47 +0100
In-Reply-To: <4FA437E7.6040105@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 21:11 +0100, Andrew Cooper wrote:
> On 04/05/12 20:48, AP wrote:
> > On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
> >>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
> >>>> flight 11946 xen-unstable real [real]
> >>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
> >>>>
> >>>> Regressions :-(
> >>>>
> >>>> Tests which did not succeed and are blocking,
> >>>> including tests which could not be run:
> >>>>  test-amd64-i386-xl-credit2    7 debian-install            fail REGR. vs. 11944
> >>> Host crash:
> >>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log
> >>>
> >>> This is the debug Andrew Cooper added recently to track down the IRQ
> >>> assertion we've been seeing, sadly it looks like the debug code tries to
> >>> call xfree from interrupt context and therefore doesn't produce full
> >>> output :-(
> >> Are we still seeing the issue this debugging was intended to address? We
> >> don't seem to be seeing the host crashes any more. Should the debug code
> >> be patched up as in the following patch, otherwise when we do see it it
> >> doesn't end up printing any useful info.
> >>
> >> Someone recently reported bugs.debian.org/665433 to Debian, is this the
> >> same underlying issue? That report is with Xen 4.0 FWIW.
> > I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
> > code added. Can the fix to the debugging code be checked in until the
> > original issue has been fixed?
> >
> > Thanks,
> > AP
> >
> > (XEN) *** IRQ BUG found ***
> > (XEN) CPU0 -Testing vector 236 from bitmap
> > 41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,208
> > (XEN) Guest interrupt information:
> > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > status=00000000 mapped, unbound
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Tainted:    C ]----
> > (XEN) CPU:    0
> > (XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> > (XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx: 0000000000000000
> > (XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi: 0000000000000000
> > (XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:  0000000000000004
> > (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000010
> > (XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14: ffff830214ac0ca8
> > (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000426f0
> > (XEN) cr3: 0000000168971000   cr2: 0000000001095e00
> > (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> > (XEN) Xen stack trace from rsp=ffff82c4802b7c58:
> > (XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c ffff830214ac0ca8
> > (XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a ffff82c400000020
> > (XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8 0000000000000000
> > (XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80 000000000000000c
> > (XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58 ffff82c480168000
> > (XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000 ffff82c4802b7f18
> > (XEN)    0000000000000000 0000000000000000 ffff82c480302324 0000000000000020
> > (XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000 0000000000000000
> > (XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000 ffff8300da996000
> > (XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160 ffff82c4802b7e20
> > (XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000 0000000000000003
> > (XEN)    0000000000000000 0000000000000000 00007d3b7fd48207 ffff82c480160426
> > (XEN)    0000000000000000 0000000000000000 0000000000000003 ffff8300da991000
> > (XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282 ffff82c4802319a0
> > (XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081 0000000000000000
> > (XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000 0000002000000000
> > (XEN)    ffff82c4801865c1 000000000000e008 0000000000000202 ffff82c4802b7e88
> > (XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8 ffff82c4802230d8
> > (XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246 ffffffff810013aa
> > (XEN)    0000000000000000 ffffffff810013aa 000000000000e030 0000000000000246
> > (XEN) Xen call trace:
> > (XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
> > (XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
> > (XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
> > (XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
> > (XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
> > (XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
> > (XEN)
> > (XEN)
> > (XEN) ****************************************
> > (XEN) Panic on CPU 0:
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ****************************************
> > (XEN)
> > (XEN) Reboot in five seconds...
> The attached patch should prevent this panic

This is effectively the same as my patch from
<1332844592.25560.9.camel@zakaz.uk.xensource.com>. I think "if (ssid)
xfree(...)" is preferable to "if (in_irq()) xfree(...)" but not enough
to prevent me:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

If the debug code is going to stay for 4.2 then IMHO we should also take
this patch to make it actually useful. Otherwise we should just revert
the original debug patch before the release.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 10:34:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 10:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQcJE-0003v1-NU; Sat, 05 May 2012 10:33:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQcJC-0003uw-Mm
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 10:33:50 +0000
Received: from [85.158.143.99:29613] by server-1.bemta-4.messagelabs.com id
	F1/B7-20925-E0205AF4; Sat, 05 May 2012 10:33:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336214028!21362882!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQyOA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9218 invoked from network); 5 May 2012 10:33:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 10:33:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12311029"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 10:33:47 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Sat, 5 May 2012
	11:33:47 +0100
Message-ID: <1336214027.3735.16.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Date: Sat, 5 May 2012 11:33:47 +0100
In-Reply-To: <4FA437E7.6040105@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 21:11 +0100, Andrew Cooper wrote:
> On 04/05/12 20:48, AP wrote:
> > On Tue, Mar 27, 2012 at 3:36 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> On Tue, 2012-02-14 at 10:44 +0000, Ian Campbell wrote:
> >>> On Mon, 2012-02-13 at 20:16 +0000, xen.org wrote:
> >>>> flight 11946 xen-unstable real [real]
> >>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/
> >>>>
> >>>> Regressions :-(
> >>>>
> >>>> Tests which did not succeed and are blocking,
> >>>> including tests which could not be run:
> >>>>  test-amd64-i386-xl-credit2    7 debian-install            fail REGR. vs. 11944
> >>> Host crash:
> >>> http://www.chiark.greenend.org.uk/~xensrcts/logs/11946/test-amd64-i386-xl-credit2/serial-woodlouse.log
> >>>
> >>> This is the debug Andrew Cooper added recently to track down the IRQ
> >>> assertion we've been seeing, sadly it looks like the debug code tries to
> >>> call xfree from interrupt context and therefore doesn't produce full
> >>> output :-(
> >> Are we still seeing the issue this debugging was intended to address? We
> >> don't seem to be seeing the host crashes any more. Should the debug code
> >> be patched up as in the following patch, otherwise when we do see it it
> >> doesn't end up printing any useful info.
> >>
> >> Someone recently reported bugs.debian.org/665433 to Debian, is this the
> >> same underlying issue? That report is with Xen 4.0 FWIW.
> > I saw the issue (xen-unstable 25256:9dda0efd8ce1) that the debugging
> > code added. Can the fix to the debugging code be checked in until the
> > original issue has been fixed?
> >
> > Thanks,
> > AP
> >
> > (XEN) *** IRQ BUG found ***
> > (XEN) CPU0 -Testing vector 236 from bitmap
> > 41,47,49,57,64,72,80,88,96,100,104,120,136,152,160-161,168,171,192,200-201,208
> > (XEN) Guest interrupt information:
> > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > status=00000000 mapped, unbound
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Tainted:    C ]----
> > (XEN) CPU:    0
> > (XEN) RIP:    e008:[<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> > (XEN) rax: 0000000000000000   rbx: ffff830214ac0080   rcx: 0000000000000000
> > (XEN) rdx: ffff82c4802d8880   rsi: 0000000000000083   rdi: 0000000000000000
> > (XEN) rbp: ffff82c4802b7c78   rsp: ffff82c4802b7c58   r8:  0000000000000004
> > (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000010
> > (XEN) r12: ffff830214ac0c80   r13: 000000000000000c   r14: ffff830214ac0ca8
> > (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000426f0
> > (XEN) cr3: 0000000168971000   cr2: 0000000001095e00
> > (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> > (XEN) Xen stack trace from rsp=ffff82c4802b7c58:
> > (XEN)    ffff830214ac0080 ffff830214ac0c80 000000000000000c ffff830214ac0ca8
> > (XEN)    ffff82c4802b7ce8 ffff82c4801664d4 ffff82c4802e214a ffff82c400000020
> > (XEN)    ffff82c4802b7cf8 0000000000000083 ffff830214ac00a8 0000000000000000
> > (XEN)    00000000000000ec 00000000000000ec ffff830214ac0c80 000000000000000c
> > (XEN)    ffff830214ac0ca8 ffff82c480302760 ffff82c4802b7d58 ffff82c480168000
> > (XEN)    ffff82c4802b7f18 ffff82c4802b7f18 000000ec00000000 ffff82c4802b7f18
> > (XEN)    0000000000000000 0000000000000000 ffff82c480302324 0000000000000020
> > (XEN)    ffff82c4802b7dd8 0000000000000003 0000000000000000 0000000000000000
> > (XEN)    ffff82c4802b7dc8 ffff82c4801683d3 ffff8300da991000 ffff8300da996000
> > (XEN)    0000000000000000 ffffffff802b7d90 ffff82c480159160 ffff82c4802b7e20
> > (XEN)    ffff82c48015d7db ffff82c4802b7f18 ffff8300da991000 0000000000000003
> > (XEN)    0000000000000000 0000000000000000 00007d3b7fd48207 ffff82c480160426
> > (XEN)    0000000000000000 0000000000000000 0000000000000003 ffff8300da991000
> > (XEN)    ffff82c4802b7ef8 ffff82c4802b7f18 0000000000000282 ffff82c4802319a0
> > (XEN)    00000000deadbeef 0000000000000000 ffff83021c0b8081 0000000000000000
> > (XEN)    0000000000000048 ffff8801d7227ec0 ffff8300da991000 0000002000000000
> > (XEN)    ffff82c4801865c1 000000000000e008 0000000000000202 ffff82c4802b7e88
> > (XEN)    000000000000e010 0000000000000003 ffff82c4802b7ef8 ffff82c4802230d8
> > (XEN)    ffff82c4802b7f18 0000000000000000 0000000000000246 ffffffff810013aa
> > (XEN)    0000000000000000 ffffffff810013aa 000000000000e030 0000000000000246
> > (XEN) Xen call trace:
> > (XEN)    [<ffff82c48012cefb>] xfree+0x33/0x118
> > (XEN)    [<ffff82c4801664d4>] dump_irqs+0x2a4/0x2e8
> > (XEN)    [<ffff82c480168000>] irq_move_cleanup_interrupt+0x29f/0x2db
> > (XEN)    [<ffff82c4801683d3>] do_IRQ+0x9e/0x5a4
> > (XEN)    [<ffff82c480160426>] common_interrupt+0x26/0x30
> > (XEN)    [<ffff82c4801865c1>] async_exception_cleanup+0x1/0x35a
> > (XEN)    [<ffff82c480228438>] syscall_enter+0xc8/0x122
> > (XEN)
> > (XEN)
> > (XEN) ****************************************
> > (XEN) Panic on CPU 0:
> > (XEN) Assertion '!in_irq()' failed at xmalloc_tlsf.c:607
> > (XEN) ****************************************
> > (XEN)
> > (XEN) Reboot in five seconds...
> The attached patch should prevent this panic

This is effectively the same as my patch from
<1332844592.25560.9.camel@zakaz.uk.xensource.com>. I think "if (ssid)
xfree(...)" is preferable to "if (in_irq()) xfree(...)" but not enough
to prevent me:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

If the debug code is going to stay for 4.2 then IMHO we should also take
this patch to make it actually useful. Otherwise we should just revert
the original debug patch before the release.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 11:05:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 11:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQcnN-0004DD-Dn; Sat, 05 May 2012 11:05:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQcnL-0004D8-1f
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 11:04:59 +0000
Received: from [85.158.138.51:14288] by server-6.bemta-3.messagelabs.com id
	2C/03-05145-A5905AF4; Sat, 05 May 2012 11:04:58 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336215897!19353916!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22935 invoked from network); 5 May 2012 11:04:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 11:04:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12311131"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 11:04:37 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Sat, 5 May 2012
	12:04:37 +0100
Message-ID: <4FA50947.8030703@citrix.com>
Date: Sat, 5 May 2012 12:04:39 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: AP <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
In-Reply-To: <CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> Thanks, that fixed it. Here is what I see now:
>
> (XEN) *** IRQ BUG found ***
> (XEN) CPU0 -Testing vector 236 from bitmap
> 37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> (XEN) Guest interrupt information:
> (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge   
> status=00000000 mapped, unbound
> (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge   
> status=00000030 in-flight=0 domain-list=0:  1(-S--),
> (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC         
> status=00000000 mapped, unbound
> (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge   
> status=00000030 in-flight=0 domain-list=0:  8(-S--),
> (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level  
> status=00000030 in-flight=0 domain-list=0:  9(-S--),
> (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
>
> Let me know if you need any more info.
> Thanks,
> AP
>

There should be quite a lot more irq information dumped than just that. 
Was there any more on the console or had it given up by that point? It
might be worth trying to set synchronous console to get all of that
debug information?

How easy is this error to reproduce for you? I never managed to
reproduce it reliably enough to be able to debug?

If you could provide your Xen boot console log, that would be very useful

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 11:05:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 11:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQcnN-0004DD-Dn; Sat, 05 May 2012 11:05:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQcnL-0004D8-1f
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 11:04:59 +0000
Received: from [85.158.138.51:14288] by server-6.bemta-3.messagelabs.com id
	2C/03-05145-A5905AF4; Sat, 05 May 2012 11:04:58 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336215897!19353916!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22935 invoked from network); 5 May 2012 11:04:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 11:04:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12311131"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 11:04:37 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Sat, 5 May 2012
	12:04:37 +0100
Message-ID: <4FA50947.8030703@citrix.com>
Date: Sat, 5 May 2012 12:04:39 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: AP <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
In-Reply-To: <CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> Thanks, that fixed it. Here is what I see now:
>
> (XEN) *** IRQ BUG found ***
> (XEN) CPU0 -Testing vector 236 from bitmap
> 37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> (XEN) Guest interrupt information:
> (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge   
> status=00000000 mapped, unbound
> (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge   
> status=00000030 in-flight=0 domain-list=0:  1(-S--),
> (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC         
> status=00000000 mapped, unbound
> (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge   
> status=00000030 in-flight=0 domain-list=0:  8(-S--),
> (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level  
> status=00000030 in-flight=0 domain-list=0:  9(-S--),
> (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge   
> status=00000002 mapped, unbound
> [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
>
> Let me know if you need any more info.
> Thanks,
> AP
>

There should be quite a lot more irq information dumped than just that. 
Was there any more on the console or had it given up by that point? It
might be worth trying to set synchronous console to get all of that
debug information?

How easy is this error to reproduce for you? I never managed to
reproduce it reliably enough to be able to debug?

If you could provide your Xen boot console log, that would be very useful

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 11:12:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 11:12:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQctt-0004LD-8f; Sat, 05 May 2012 11:11:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQcts-0004L6-JP
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 11:11:44 +0000
Received: from [85.158.143.99:18056] by server-2.bemta-4.messagelabs.com id
	5C/F9-17550-FEA05AF4; Sat, 05 May 2012 11:11:43 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336216303!26596303!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQyOA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16022 invoked from network); 5 May 2012 11:11:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 11:11:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12311155"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 11:11:43 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Sat, 5 May 2012
	12:11:43 +0100
Message-ID: <4FA50AF1.8010608@citrix.com>
Date: Sat, 5 May 2012 12:11:45 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<1336214027.3735.16.camel@dagon.hellion.org.uk>
In-Reply-To: <1336214027.3735.16.camel@dagon.hellion.org.uk>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>> The attached patch should prevent this panic
> This is effectively the same as my patch from
> <1332844592.25560.9.camel@zakaz.uk.xensource.com>. I think "if (ssid)
> xfree(...)" is preferable to "if (in_irq()) xfree(...)" but not enough
> to prevent me:
>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
>
> If the debug code is going to stay for 4.2 then IMHO we should also take
> this patch to make it actually useful. Otherwise we should just revert
> the original debug patch before the release.
>
>

Yes - I was thinking the same.  I suggest that when xen-4.2-testing.hg
gets branched off unstable, this debugging gets put back to just being
an assert as before.  However, I am quite unsure as to what would happen
with interrupts following that failed assert.

I shall re-do the patch.  I think it is a fairly sensible patch to have
in even after the main debugging has been removed, especially if similar
debugging needs to be done in the future.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 11:12:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 11:12:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQctt-0004LD-8f; Sat, 05 May 2012 11:11:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SQcts-0004L6-JP
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 11:11:44 +0000
Received: from [85.158.143.99:18056] by server-2.bemta-4.messagelabs.com id
	5C/F9-17550-FEA05AF4; Sat, 05 May 2012 11:11:43 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336216303!26596303!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQyOA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16022 invoked from network); 5 May 2012 11:11:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 11:11:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,535,1330905600"; d="scan'208";a="12311155"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 11:11:43 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Sat, 5 May 2012
	12:11:43 +0100
Message-ID: <4FA50AF1.8010608@citrix.com>
Date: Sat, 5 May 2012 12:11:45 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<1336214027.3735.16.camel@dagon.hellion.org.uk>
In-Reply-To: <1336214027.3735.16.camel@dagon.hellion.org.uk>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>> The attached patch should prevent this panic
> This is effectively the same as my patch from
> <1332844592.25560.9.camel@zakaz.uk.xensource.com>. I think "if (ssid)
> xfree(...)" is preferable to "if (in_irq()) xfree(...)" but not enough
> to prevent me:
>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
>
> If the debug code is going to stay for 4.2 then IMHO we should also take
> this patch to make it actually useful. Otherwise we should just revert
> the original debug patch before the release.
>
>

Yes - I was thinking the same.  I suggest that when xen-4.2-testing.hg
gets branched off unstable, this debugging gets put back to just being
an assert as before.  However, I am quite unsure as to what would happen
with interrupts following that failed assert.

I shall re-do the patch.  I think it is a fairly sensible patch to have
in even after the main debugging has been removed, especially if similar
debugging needs to be done in the future.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 05 18:42:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 18:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQjv6-0006fj-Dc; Sat, 05 May 2012 18:41:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQjv4-0006fe-KL
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 18:41:26 +0000
Received: from [85.158.143.35:34467] by server-1.bemta-4.messagelabs.com id
	B9/E4-20925-55475AF4; Sat, 05 May 2012 18:41:25 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336243283!15142692!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20668 invoked from network); 5 May 2012 18:41:24 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 18:41:24 -0000
Received: by qadb33 with SMTP id b33so1826494qad.9
	for <xen-devel@lists.xensource.com>;
	Sat, 05 May 2012 11:41:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=oQ5fY80Ei8P+sSXEtoxQjCpisTJwgcfnx46lpGGUpss=;
	b=uhgkvMuT57f8/mUrnDuhaFHuGJ7U8NvvojPyhcuRT6keaKa8I0CMaRiold1hGAymOu
	tzdGS38e6iXrNgTlnEDtPcQWsverwRgUtiYDrKUlnt6gWP5ycX3TtxfIjgLO6qTDALcU
	ztJYnTE5kaUudG1tcA9lU4K86qx2rx0n8IsEhj2pxD6I9LDWujDnSCG2pgpFPzXXBgfk
	740kNzlTlYC3L6/855dGmwL7AMOFxcX2Vfdb2NxbIRAOm5VMSwxocK2T1X6VK7CkOYiv
	cJ+bfb4fDXxy923yqArSJgMNF3x09y3ql50+8K4C/VW3Mby8kLtMRDNdLL3S0ujreZLH
	BVxw==
MIME-Version: 1.0
Received: by 10.229.135.143 with SMTP id n15mr5044106qct.70.1336243282628;
	Sat, 05 May 2012 11:41:22 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Sat, 5 May 2012 11:41:22 -0700 (PDT)
In-Reply-To: <4FA50947.8030703@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA50947.8030703@citrix.com>
Date: Sat, 5 May 2012 11:41:22 -0700
Message-ID: <CAGU+ausJQfH2Sk0h2Lkm_9OmfYUxUB41pDfBob6uiWYNkdNRsA@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8936353274837748921=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8936353274837748921==
Content-Type: multipart/alternative; boundary=00248c768f2a31d1bd04bf4e6258

--00248c768f2a31d1bd04bf4e6258
Content-Type: text/plain; charset=ISO-8859-1

On Sat, May 5, 2012 at 4:04 AM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
>
>
> > Thanks, that fixed it. Here is what I see now:
> >
> > (XEN) *** IRQ BUG found ***
> > (XEN) CPU0 -Testing vector 236 from bitmap
> >
37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> > (XEN) Guest interrupt information:
> > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > status=00000000 mapped, unbound
> > (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge
> > status=00000030 in-flight=0 domain-list=0:  1(-S--),
> > (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC
> > status=00000000 mapped, unbound
> > (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge
> > status=00000030 in-flight=0 domain-list=0:  8(-S--),
> > (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level
> > status=00000030 in-flight=0 domain-list=0:  9(-S--),
> > (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> > elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
> >
> > Let me know if you need any more info.
> > Thanks,
> > AP
> >
>
> There should be quite a lot more irq information dumped than just that.
> Was there any more on the console or had it given up by that point? It

There was nothing more on the console. The system was hung.

> might be worth trying to set synchronous console to get all of that
> debug information?

I was running with sync_console and console_to_ring options.

> How easy is this error to reproduce for you? I never managed to
> reproduce it reliably enough to be able to debug?

I cannot reproduce it easily either.

> If you could provide your Xen boot console log, that would be very useful

I will send full logs the next time I see the problem.

Thanks,
AP

--00248c768f2a31d1bd04bf4e6258
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sat, May 5, 2012 at 4:04 AM, Andrew Cooper &lt;<a href=3D"mailto:andrew.=
cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<br>&gt;<br>&gt=
;<br>&gt; &gt; Thanks, that fixed it. Here is what I see now:<br>&gt; &gt;<=
br>
&gt; &gt; (XEN) *** IRQ BUG found ***<br>&gt; &gt; (XEN) CPU0 -Testing vect=
or 236 from bitmap<br>&gt; &gt; 37,41,49,51,64,72,80,88,96,104,120,136,145,=
152,158,160,168,175,182,192,200,211<br>&gt; &gt; (XEN) Guest interrupt info=
rmation:<br>
&gt; &gt; (XEN) =A0 =A0IRQ: =A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge<br=
>&gt; &gt; status=3D00000000 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ:=
 =A0 1 affinity:01 vec:d3 type=3DIO-APIC-edge<br>&gt; &gt; status=3D0000003=
0 in-flight=3D0 domain-list=3D0: =A01(-S--),<br>
&gt; &gt; (XEN) =A0 =A0IRQ: =A0 2 affinity:ff vec:e2 type=3DXT-PIC<br>&gt; =
&gt; status=3D00000000 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 3=
 affinity:01 vec:40 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002 mapp=
ed, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 4 affinity:01 vec:48 type=3D=
IO-APIC-edge<br>
&gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =
=A0 5 affinity:01 vec:50 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002=
 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 6 affinity:01 vec:58 ty=
pe=3DIO-APIC-edge<br>
&gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =
=A0 7 affinity:01 vec:60 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002=
 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 8 affinity:08 vec:29 ty=
pe=3DIO-APIC-edge<br>
&gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A08(-S--),<br>&=
gt; &gt; (XEN) =A0 =A0IRQ: =A0 9 affinity:02 vec:25 type=3DIO-APIC-level<br=
>&gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A09(-S--),<br>=
&gt; &gt; (XEN) =A0 =A0IRQ: =A010 affinity:01 vec:78 type=3DIO-APIC-edge<br=
>
&gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =
=A011 affinity:01 vec:88 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002=
 mapped, unbound<br>&gt; &gt; [ 5129.737147] [drm:i915_hangcheck_ring_idle]=
 *ERROR* Hangcheck timer<br>
&gt; &gt; elapsed... blt ring idle [waiting on 1800652, at 1800652], missed=
 IRQ?<br>&gt; &gt;<br>&gt; &gt; Let me know if you need any more info.<br>&=
gt; &gt; Thanks,<br>&gt; &gt; AP<br>&gt; &gt;<br>&gt;<br>&gt; There should =
be quite a lot more irq information dumped than just that.<br>
&gt; Was there any more on the console or had it given up by that point? It=
<br><br>There was nothing more on the console. The system was hung.<br><div=
><br></div><div>&gt; might be worth trying to set synchronous console to ge=
t all of that<br>
&gt; debug information?<br><br>I was running with sync_console and console_=
to_ring options.<br><br>&gt; How easy is this error to reproduce for you? I=
 never managed to<br>&gt; reproduce it reliably enough to be able to debug?=
<br>
<br>I cannot reproduce it easily either.=A0<br><br>&gt; If you could provid=
e your Xen boot console log, that would be very useful<br><br>I will send f=
ull logs the next time I see the problem.<br><br></div><div>Thanks,</div>
<div>AP</div>

--00248c768f2a31d1bd04bf4e6258--


--===============8936353274837748921==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8936353274837748921==--


From xen-devel-bounces@lists.xen.org Sat May 05 18:42:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 18:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQjv6-0006fj-Dc; Sat, 05 May 2012 18:41:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQjv4-0006fe-KL
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 18:41:26 +0000
Received: from [85.158.143.35:34467] by server-1.bemta-4.messagelabs.com id
	B9/E4-20925-55475AF4; Sat, 05 May 2012 18:41:25 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336243283!15142692!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20668 invoked from network); 5 May 2012 18:41:24 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 18:41:24 -0000
Received: by qadb33 with SMTP id b33so1826494qad.9
	for <xen-devel@lists.xensource.com>;
	Sat, 05 May 2012 11:41:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=oQ5fY80Ei8P+sSXEtoxQjCpisTJwgcfnx46lpGGUpss=;
	b=uhgkvMuT57f8/mUrnDuhaFHuGJ7U8NvvojPyhcuRT6keaKa8I0CMaRiold1hGAymOu
	tzdGS38e6iXrNgTlnEDtPcQWsverwRgUtiYDrKUlnt6gWP5ycX3TtxfIjgLO6qTDALcU
	ztJYnTE5kaUudG1tcA9lU4K86qx2rx0n8IsEhj2pxD6I9LDWujDnSCG2pgpFPzXXBgfk
	740kNzlTlYC3L6/855dGmwL7AMOFxcX2Vfdb2NxbIRAOm5VMSwxocK2T1X6VK7CkOYiv
	cJ+bfb4fDXxy923yqArSJgMNF3x09y3ql50+8K4C/VW3Mby8kLtMRDNdLL3S0ujreZLH
	BVxw==
MIME-Version: 1.0
Received: by 10.229.135.143 with SMTP id n15mr5044106qct.70.1336243282628;
	Sat, 05 May 2012 11:41:22 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Sat, 5 May 2012 11:41:22 -0700 (PDT)
In-Reply-To: <4FA50947.8030703@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA50947.8030703@citrix.com>
Date: Sat, 5 May 2012 11:41:22 -0700
Message-ID: <CAGU+ausJQfH2Sk0h2Lkm_9OmfYUxUB41pDfBob6uiWYNkdNRsA@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8936353274837748921=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8936353274837748921==
Content-Type: multipart/alternative; boundary=00248c768f2a31d1bd04bf4e6258

--00248c768f2a31d1bd04bf4e6258
Content-Type: text/plain; charset=ISO-8859-1

On Sat, May 5, 2012 at 4:04 AM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
>
>
> > Thanks, that fixed it. Here is what I see now:
> >
> > (XEN) *** IRQ BUG found ***
> > (XEN) CPU0 -Testing vector 236 from bitmap
> >
37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> > (XEN) Guest interrupt information:
> > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > status=00000000 mapped, unbound
> > (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge
> > status=00000030 in-flight=0 domain-list=0:  1(-S--),
> > (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC
> > status=00000000 mapped, unbound
> > (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge
> > status=00000030 in-flight=0 domain-list=0:  8(-S--),
> > (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level
> > status=00000030 in-flight=0 domain-list=0:  9(-S--),
> > (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge
> > status=00000002 mapped, unbound
> > [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> > elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
> >
> > Let me know if you need any more info.
> > Thanks,
> > AP
> >
>
> There should be quite a lot more irq information dumped than just that.
> Was there any more on the console or had it given up by that point? It

There was nothing more on the console. The system was hung.

> might be worth trying to set synchronous console to get all of that
> debug information?

I was running with sync_console and console_to_ring options.

> How easy is this error to reproduce for you? I never managed to
> reproduce it reliably enough to be able to debug?

I cannot reproduce it easily either.

> If you could provide your Xen boot console log, that would be very useful

I will send full logs the next time I see the problem.

Thanks,
AP

--00248c768f2a31d1bd04bf4e6258
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sat, May 5, 2012 at 4:04 AM, Andrew Cooper &lt;<a href=3D"mailto:andrew.=
cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<br>&gt;<br>&gt=
;<br>&gt; &gt; Thanks, that fixed it. Here is what I see now:<br>&gt; &gt;<=
br>
&gt; &gt; (XEN) *** IRQ BUG found ***<br>&gt; &gt; (XEN) CPU0 -Testing vect=
or 236 from bitmap<br>&gt; &gt; 37,41,49,51,64,72,80,88,96,104,120,136,145,=
152,158,160,168,175,182,192,200,211<br>&gt; &gt; (XEN) Guest interrupt info=
rmation:<br>
&gt; &gt; (XEN) =A0 =A0IRQ: =A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge<br=
>&gt; &gt; status=3D00000000 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ:=
 =A0 1 affinity:01 vec:d3 type=3DIO-APIC-edge<br>&gt; &gt; status=3D0000003=
0 in-flight=3D0 domain-list=3D0: =A01(-S--),<br>
&gt; &gt; (XEN) =A0 =A0IRQ: =A0 2 affinity:ff vec:e2 type=3DXT-PIC<br>&gt; =
&gt; status=3D00000000 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 3=
 affinity:01 vec:40 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002 mapp=
ed, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 4 affinity:01 vec:48 type=3D=
IO-APIC-edge<br>
&gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =
=A0 5 affinity:01 vec:50 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002=
 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 6 affinity:01 vec:58 ty=
pe=3DIO-APIC-edge<br>
&gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =
=A0 7 affinity:01 vec:60 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002=
 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =A0 8 affinity:08 vec:29 ty=
pe=3DIO-APIC-edge<br>
&gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A08(-S--),<br>&=
gt; &gt; (XEN) =A0 =A0IRQ: =A0 9 affinity:02 vec:25 type=3DIO-APIC-level<br=
>&gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A09(-S--),<br>=
&gt; &gt; (XEN) =A0 =A0IRQ: =A010 affinity:01 vec:78 type=3DIO-APIC-edge<br=
>
&gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; (XEN) =A0 =A0IRQ: =
=A011 affinity:01 vec:88 type=3DIO-APIC-edge<br>&gt; &gt; status=3D00000002=
 mapped, unbound<br>&gt; &gt; [ 5129.737147] [drm:i915_hangcheck_ring_idle]=
 *ERROR* Hangcheck timer<br>
&gt; &gt; elapsed... blt ring idle [waiting on 1800652, at 1800652], missed=
 IRQ?<br>&gt; &gt;<br>&gt; &gt; Let me know if you need any more info.<br>&=
gt; &gt; Thanks,<br>&gt; &gt; AP<br>&gt; &gt;<br>&gt;<br>&gt; There should =
be quite a lot more irq information dumped than just that.<br>
&gt; Was there any more on the console or had it given up by that point? It=
<br><br>There was nothing more on the console. The system was hung.<br><div=
><br></div><div>&gt; might be worth trying to set synchronous console to ge=
t all of that<br>
&gt; debug information?<br><br>I was running with sync_console and console_=
to_ring options.<br><br>&gt; How easy is this error to reproduce for you? I=
 never managed to<br>&gt; reproduce it reliably enough to be able to debug?=
<br>
<br>I cannot reproduce it easily either.=A0<br><br>&gt; If you could provid=
e your Xen boot console log, that would be very useful<br><br>I will send f=
ull logs the next time I see the problem.<br><br></div><div>Thanks,</div>
<div>AP</div>

--00248c768f2a31d1bd04bf4e6258--


--===============8936353274837748921==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8936353274837748921==--


From xen-devel-bounces@lists.xen.org Sat May 05 19:07:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 19:07:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQkJm-000786-EY; Sat, 05 May 2012 19:06:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQkJk-00077z-VF
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 19:06:57 +0000
Received: from [85.158.143.35:18843] by server-1.bemta-4.messagelabs.com id
	6C/AB-20925-05A75AF4; Sat, 05 May 2012 19:06:56 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336244813!7668840!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20543 invoked from network); 5 May 2012 19:06:54 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 19:06:54 -0000
Received: by qcsp15 with SMTP id p15so3220636qcs.30
	for <xen-devel@lists.xensource.com>;
	Sat, 05 May 2012 12:06:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=u7J+EPMs3L53mJVbdMpcRjRBmCYpSZ6SNzdVKbLr2u4=;
	b=COamM8eanCOugdOt6paYwnKeqSj4zwSXzo17CvEiEITnuNORW1j7rseucoDW4ztHRe
	uGf4TVuxRUEgEoqCmO9e0tKWxMPsSpTxvoTn9IFlCS/VVAe2jDJSAb0JhwCVtn79r0S1
	bz6DjFqy8svEXh1BJFBG3ObXYobvsEtKtmdykZgUf/iW9nDwazYblGuuyRR98M975wr6
	7/Kxrybrdi/2Sdm4niQgQ6i2rQeZtGdToFXlJPQU6zmJ6ct4PtzuCsAY+SG3lC7eMTLJ
	sk7y7w9xWGfK8n8/hWW5Yb0n7MMbT1+MuCMKfxnFf3p99PVD11cU/hqFRMXnUA+//U9j
	vU9A==
MIME-Version: 1.0
Received: by 10.224.42.16 with SMTP id q16mr5292515qae.70.1336244812786; Sat,
	05 May 2012 12:06:52 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Sat, 5 May 2012 12:06:52 -0700 (PDT)
In-Reply-To: <CAGU+ausJQfH2Sk0h2Lkm_9OmfYUxUB41pDfBob6uiWYNkdNRsA@mail.gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA50947.8030703@citrix.com>
	<CAGU+ausJQfH2Sk0h2Lkm_9OmfYUxUB41pDfBob6uiWYNkdNRsA@mail.gmail.com>
Date: Sat, 5 May 2012 12:06:52 -0700
Message-ID: <CAGU+auuYjVdd2NZCWz6wLR=YQcs7k1cOB+hnC5joF3gHbZzEpw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: multipart/mixed; boundary=20cf3074d4fe662a8904bf4ebda6
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf3074d4fe662a8904bf4ebda6
Content-Type: multipart/alternative; boundary=20cf3074d4fe662a8504bf4ebda4

--20cf3074d4fe662a8504bf4ebda4
Content-Type: text/plain; charset=ISO-8859-1

On Sat, May 5, 2012 at 11:41 AM, AP <apxeng@gmail.com> wrote:
>
> On Sat, May 5, 2012 at 4:04 AM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
> >
> >
> > > Thanks, that fixed it. Here is what I see now:
> > >
> > > (XEN) *** IRQ BUG found ***
> > > (XEN) CPU0 -Testing vector 236 from bitmap
> > >
37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> > > (XEN) Guest interrupt information:
> > > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > > status=00000000 mapped, unbound
> > > (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge
> > > status=00000030 in-flight=0 domain-list=0:  1(-S--),
> > > (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC
> > > status=00000000 mapped, unbound
> > > (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge
> > > status=00000030 in-flight=0 domain-list=0:  8(-S--),
> > > (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level
> > > status=00000030 in-flight=0 domain-list=0:  9(-S--),
> > > (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> > > elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
> > >
> > > Let me know if you need any more info.
> > > Thanks,
> > > AP
> > >
> >
> > There should be quite a lot more irq information dumped than just that.
> > Was there any more on the console or had it given up by that point? It
>
> There was nothing more on the console. The system was hung.
>
> > might be worth trying to set synchronous console to get all of that
> > debug information?
>
> I was running with sync_console and console_to_ring options.
>
>
> > How easy is this error to reproduce for you? I never managed to
> > reproduce it reliably enough to be able to debug?
>
> I cannot reproduce it easily either.
>
>
> > If you could provide your Xen boot console log, that would be very
useful
>
> I will send full logs the next time I see the problem.

I have attached the full logs. I had a CentOS 5.6 and a Windows 7 HVM
domain running.

Thanks,
AP

--20cf3074d4fe662a8504bf4ebda4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sat, May 5, 2012 at 11:41 AM, AP &lt;<a href=3D"mailto:apxeng@gmail.com"=
>apxeng@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; On Sat, May 5, 2012 at 4:0=
4 AM, Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew=
.cooper3@citrix.com</a>&gt; wrote:<br>
&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; &gt; Thanks, that fixed it. Here is wha=
t I see now:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; (XEN) *** IRQ BUG found **=
*<br>&gt; &gt; &gt; (XEN) CPU0 -Testing vector 236 from bitmap<br>&gt; &gt;=
 &gt; 37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,19=
2,200,211<br>
&gt; &gt; &gt; (XEN) Guest interrupt information:<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000000 mapped, unbound<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 1=
 affinity:01 vec:d3 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A01(-S--),=
<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 2 affinity:ff vec:e2 type=3DXT-PIC=
<br>&gt; &gt; &gt; status=3D00000000 mapped, unbound<br>&gt; &gt; &gt; (XEN=
) =A0 =A0IRQ: =A0 3 affinity:01 vec:40 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 4 affinity:01 vec:48 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 5=
 affinity:01 vec:50 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 6 affinity:01 vec:58 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 7=
 affinity:01 vec:60 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 8 affinity:08 vec:29 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000030 in-flight=3D0 domain-list=3D0: =A08(-S--),<br>&gt; &gt; &=
gt; (XEN) =A0 =A0IRQ: =A0 9 affinity:02 vec:25 type=3DIO-APIC-level<br>
&gt; &gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A09(-S--),=
<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A010 affinity:01 vec:78 type=3DIO-API=
C-edge<br>&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt=
; (XEN) =A0 =A0IRQ: =A011 affinity:01 vec:88 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; [ 5129.7=
37147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer<br>&gt; &gt; =
&gt; elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?=
<br>
&gt; &gt; &gt;<br>&gt; &gt; &gt; Let me know if you need any more info.<br>=
&gt; &gt; &gt; Thanks,<br>&gt; &gt; &gt; AP<br>&gt; &gt; &gt;<br>&gt; &gt;<=
br>&gt; &gt; There should be quite a lot more irq information dumped than j=
ust that.<br>
&gt; &gt; Was there any more on the console or had it given up by that poin=
t? It<br>&gt;<br>&gt; There was nothing more on the console. The system was=
 hung.<br>&gt;<br>&gt; &gt; might be worth trying to set synchronous consol=
e to get all of that<br>
&gt; &gt; debug information?<br>&gt;<br>&gt; I was running with sync_consol=
e and console_to_ring options.<br>&gt;<br>&gt;<br>&gt; &gt; How easy is thi=
s error to reproduce for you? I never managed to<br>&gt; &gt; reproduce it =
reliably enough to be able to debug?<br>
&gt;<br>&gt; I cannot reproduce it easily either.=A0<br>&gt;<br>&gt;<br>&gt=
; &gt; If you could provide your Xen boot console log, that would be very u=
seful<br>&gt;<br>&gt; I will send full logs the next time I see the problem=
.<br>
<br>I have attached the full logs. I had a CentOS 5.6 and a Windows 7 HVM d=
omain running.<br><br>Thanks,<br>AP<br><br>

--20cf3074d4fe662a8504bf4ebda4--
--20cf3074d4fe662a8904bf4ebda6
Content-Type: application/octet-stream; name="irq_bug.log"
Content-Disposition: attachment; filename="irq_bug.log"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h1v1kgcr0

IF9fICBfXyAgICAgICAgICAgIF8gIF8gICAgX19fXyAgICAgICAgICAgICAgICAgICAgIF8gICAg
ICAgIF8gICAgIF8gICAgICAKIFwgXC8gL19fXyBfIF9fICAgfCB8fCB8ICB8X19fIFwgICAgXyAg
IF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18gfCB8IF9fXyAKICBcICAvLyBfIFwgJ18gXCAgfCB8
fCB8XyAgIF9fKSB8X198IHwgfCB8ICdfIFwvIF9ffCBfXy8gX2AgfCAnXyBcfCB8LyBfIFwKICAv
ICBcICBfXy8gfCB8IHwgfF9fICAgX3wgLyBfXy98X198IHxffCB8IHwgfE4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDFdIGxhcGljX2lkWzB4MDBdIGVuYWJsZWQpCihYRU4pIFByb2Nlc3NvciAj
MCA2OjEwIEFQSUMgdmVyc2lvbiAyMQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAyXSBs
YXBpY19pZFsweDAxXSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzEgNjoxMCBBUElDIHZlcnNp
b24gMjEKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwM10gbGFwaWNfaWRbMHgwMl0gZW5h
YmxlZCkKKFhFTikgUHJvY2Vzc29yICMyIDY6MTAgQVBJQyB2ZXJzaW9uIDIxCihYRU4pIEFDUEk6
IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MDNdIGVuYWJsZWQpCihYRU4pIFByb2Nl
c3NvciAjMyA2OjEwIEFQSUMgdmVyc2lvbiAyMQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsw
eDA1XSBsYXBpY19pZFsweDAwXSBkaXNhYmxlZCkKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwNl0gbGFwaWNfaWRbMHgwMF0gZGlzYWJsZWQpCihYRU4pIEFDUEk6IExBUElDIChhY3BpX2lk
WzB4MDddIGxhcGljX2lkWzB4MDBdIGRpc2FibGVkKQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9p
ZFsweDA4XSBsYXBpY19pZFsweDAwXSBkaXNhYmxlZCkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChh
Y3BpX2lkWzB4MDBdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05NSSAo
YWNwaV9pZFsweDAxXSBoaWdoIGVkZ2UgbGludFsweDFdKQooWEVOKSBBQ1BJOiBJT0FQSUMgKGlk
WzB4MDJdIGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCihYRU4pIElPQVBJQ1swXTog
YXBpY19pZCAyLCB2ZXJzaW9uIDMyLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCihYRU4p
IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwp
CihYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhp
Z2ggbGV2ZWwpCihYRU4pIEFDUEk6IElSUTAgdXNlZCBieSBvdmVycmlkZS4KKFhFTikgQUNQSTog
SVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgooWEVOKSBBQ1BJOiBJUlE5IHVzZWQgYnkgb3ZlcnJpZGUu
CihYRU4pIEVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAxIEkvTyBBUElDcwooWEVO
KSBBQ1BJOiBIUEVUIGlkOiAweDgwODZhMzAxIGJhc2U6IDB4ZmVkMDAwMDAKKFhFTikgVGFibGUg
aXMgbm90IGZvdW5kIQooWEVOKSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRp
b24gaW5mb3JtYXRpb24KKFhFTikgU01QOiBBbGxvd2luZyA4IENQVXMgKDQgaG90cGx1ZyBDUFVz
KQooWEVOKSBJUlEgbGltaXRzOiAyNCBHU0ksIDc2MCBNU0kvTVNJLVgKKFhFTikgU3dpdGNoZWQg
dG8gQVBJQyBkcml2ZXIgeDJhcGljX2NsdXN0ZXIuCihYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01Q
IENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKKFhFTikgRGV0ZWN0ZWQgMjY5MS4zNjEgTUh6IHBy
b2Nlc3Nvci4KKFhFTikgSW5pdGluZyBtZW1vcnkgc2hhcmluZy4KKFhFTikgeHN0YXRlX2luaXQ6
IHVzaW5nIGNudHh0X3NpemU6IDB4MzQwIGFuZCBzdGF0ZXM6IDB4NwooWEVOKSBtY2VfaW50ZWwu
YzoxMjM5OiBNQ0EgQ2FwYWJpbGl0eTogQkNBU1QgMSBTRVIgMCBDTUNJIDEgZmlyc3RiYW5rIDAg
ZXh0ZW5kZWQgTUNFIE1TUiAwCihYRU4pIEludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVu
YWJsZWQKKFhFTikgUENJOiBNQ0ZHIGNvbmZpZ3VyYXRpb24gMDogYmFzZSBmODAwMDAwMCBzZWdt
ZW50IDAwMDAgYnVzZXMgMDAgLSAzZgooWEVOKSBQQ0k6IE1DRkcgYXJlYSBhdCBmODAwMDAwMCBy
ZXNlcnZlZCBpbiBFODIwCihYRU4pIFBDSTogVXNpbmcgTUNGRyBmb3Igc2VnbWVudCAwMDAwIGJ1
cyAwMC0zZgooWEVOKSBJbnRlbCBWVC1kIFNub29wIENvbnRyb2wgbm90IGVuYWJsZWQuCihYRU4p
IEludGVsIFZULWQgRG9tMCBETUEgUGFzc3Rocm91Z2ggbm90IGVuYWJsZWQuCihYRU4pIEludGVs
IFZULWQgUXVldWVkIEludmFsaWRhdGlvbiBlbmFibGVkLgooWEVOKSBJbnRlbCBWVC1kIEludGVy
cnVwdCBSZW1hcHBpbmcgZW5hYmxlZC4KKFhFTikgSW50ZWwgVlQtZCBTaGFyZWQgRVBUIHRhYmxl
cyBub3QgZW5hYmxlZC4KKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKKFhFTikgIC0g
RG9tMCBtb2RlOiBSZWxheGVkCihYRU4pIEVuYWJsZWQgZGlyZWN0ZWQgRU9JIHdpdGggaW9hcGlj
X2Fja19vbGQgb24hCihYRU4pIEVOQUJMSU5HIElPLUFQSUMgSVJRcwooWEVOKSAgLT4gVXNpbmcg
b2xkIEFDSyBtZXRob2QKKFhFTikgLi5USU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBwaW4xPTIg
YXBpYzI9LTEgcGluMj0tMQooWEVOKSBUU0MgZGVhZGxpbmUgdGltZXIgZW5hYmxlZAooWEVOKSBQ
bGF0Zm9ybSB0aW1lciBpcyAxNC4zMThNSHogSFBFVAooWEVOKSBBbGxvY2F0ZWQgY29uc29sZSBy
aW5nIG9mIDMyIEtpQi4KKFhFTikgVk1YOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVyZXM6CihY
RU4pICAtIEFQSUMgTU1JTyBhY2Nlc3MgdmlydHVhbGlzYXRpb24KKFhFTikgIC0gQVBJQyBUUFIg
c2hhZG93CihYRU4pICAtIEV4dGVuZGVkIFBhZ2UgVGFibGVzIChFUFQpCihYRU4pICAtIFZpcnR1
YWwtUHJvY2Vzc29yIElkZW50aWZpZXJzIChWUElEKQooWEVOKSAgLSBWaXJ0dWFsIE5NSQooWEVO
KSAgLSBNU1IgZGlyZWN0LWFjY2VzcyBiaXRtYXAKKFhFTikgIC0gVW5yZXN0cmljdGVkIEd1ZXN0
CihYRU4pIEhWTTogQVNJRHMgZW5hYmxlZC4KKFhFTikgSFZNOiBWTVggZW5hYmxlZAooWEVOKSBI
Vk06IEhhcmR3YXJlIEFzc2lzdGVkIFBhZ2luZyAoSEFQKSBkZXRlY3RlZAooWEVOKSBIVk06IEhB
UCBwYWdlIHNpemVzOiA0a0IsIDJNQiBbZGlzYWJsZWRdCihYRU4pIEJyb3VnaHQgdXAgNCBDUFVz
CihYRU4pIEFDUEkgc2xlZXAgbW9kZXM6IFMzCihYRU4pIG1jaGVja19wb2xsOiBNYWNoaW5lIGNo
ZWNrIHBvbGxpbmcgdGltZXIgc3RhcnRlZC4KKFhFTikgKioqIExPQURJTkcgRE9NQUlOIDAgKioq
CihYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weGFh
NTAwMAooWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDFjMDAwMDAgbWVtc3o9
MHhiYWM4MAooWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDFjYmIwMDAgbWVt
c3o9MHhkNjAKKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxY2JjMDAwIG1l
bXN6PTB4MTM3MDAKKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxY2QwMDAw
IG1lbXN6PTB4MzczMDAwCihYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IG1lbW9yeTogMHgxMDAwMDAw
IC0+IDB4MjA0MzAwMAooWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4
IgooWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX1ZFUlNJT04gPSAiMi42IgooWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IFhFTl9WRVJTSU9OID0gInhlbi0zLjAiCihYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogVklSVF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCihYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogRU5UUlkgPSAweGZmZmZmZmZmODFjZDAyMDAKKFhFTikgZWxmX3hlbl9wYXJz
ZV9ub3RlOiBIWVBFUkNBTExfUEFHRSA9IDB4ZmZmZmZmZmY4MTAwMTAwMAooWEVOKSBlbGZfeGVu
X3BhcnNlX25vdGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJf
YWJvdmVfNGdiIgooWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IFBBRV9NT0RFID0gInllcyIKKFhF
TikgZWxmX3hlbl9wYXJzZV9ub3RlOiBMT0FERVIgPSAiZ2VuZXJpYyIKKFhFTikgZWxmX3hlbl9w
YXJzZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQooWEVOKSBlbGZfeGVuX3BhcnNl
X25vdGU6IFNVU1BFTkRfQ0FOQ0VMID0gMHgxCihYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogSFZf
U1RBUlRfTE9XID0gMHhmZmZmODAwMDAwMDAwMDAwCihYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTog
UEFERFJfT0ZGU0VUID0gMHgwCihYRU4pIGVsZl94ZW5fYWRkcl9jYWxjX2NoZWNrOiBhZGRyZXNz
ZXM6CihYRU4pICAgICB2aXJ0X2Jhc2UgICAgICAgID0gMHhmZmZmZmZmZjgwMDAwMDAwCihYRU4p
ICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgwCihYRU4pICAgICB2aXJ0X29mZnNldCAgICAgID0g
MHhmZmZmZmZmZjgwMDAwMDAwCihYRU4pICAgICB2aXJ0X2tzdGFydCAgICAgID0gMHhmZmZmZmZm
ZjgxMDAwMDAwCihYRU4pICAgICB2aXJ0X2tlbmQgICAgICAgID0gMHhmZmZmZmZmZjgyMDQzMDAw
CihYRU4pICAgICB2aXJ0X2VudHJ5ICAgICAgID0gMHhmZmZmZmZmZjgxY2QwMjAwCihYRU4pICAg
ICBwMm1fYmFzZSAgICAgICAgID0gMHhmZmZmZmZmZmZmZmZmZmZmCihYRU4pICBYZW4gIGtlcm5l
bDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCihYRU4pICBEb20wIGtlcm5lbDogNjQtYml0LCBQQUUs
IGxzYiwgcGFkZHIgMHgxMDAwMDAwIC0+IDB4MjA0MzAwMAooWEVOKSBQSFlTSUNBTCBNRU1PUlkg
QVJSQU5HRU1FTlQ6CihYRU4pICBEb20wIGFsbG9jLjogICAwMDAwMDAwMjEwMDAwMDAwLT4wMDAw
MDAwMjE0MDAwMDAwICgxOTc5NDY1IHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkKKFhFTikgIEluaXQu
IHJhbWRpc2s6IDAwMDAwMDAyMWMxNTQwMDAtPjAwMDAwMDAyMWU1ZmZjMDAKKFhFTikgVklSVFVB
TCBNRU1PUlkgQVJSQU5HRU1FTlQ6CihYRU4pICBMb2FkZWQga2VybmVsOiBmZmZmZmZmZjgxMDAw
MDAwLT5mZmZmZmZmZjgyMDQzMDAwCihYRU4pICBJbml0LiByYW1kaXNrOiBmZmZmZmZmZjgyMDQz
MDAwLT5mZmZmZmZmZjg0NGVlYzAwCihYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjg0NGVm
MDAwLT5mZmZmZmZmZjg1NDNiN2E4CihYRU4pICBTdGFydCBpbmZvOiAgICBmZmZmZmZmZjg1NDNj
MDAwLT5mZmZmZmZmZjg1NDNjNGI0CihYRU4pICBQYWdlIHRhYmxlczogICBmZmZmZmZmZjg1NDNk
MDAwLT5mZmZmZmZmZjg1NDZjMDAwCihYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjg1NDZj
MDAwLT5mZmZmZmZmZjg1NDZkMDAwCihYRU4pICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgwMDAw
MDAwLT5mZmZmZmZmZjg1ODAwMDAwCihYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgxY2Qw
MjAwCihYRU4pIERvbTAgaGFzIG1heGltdW0gNCBWQ1BVcwooWEVOKSBlbGZfbG9hZF9iaW5hcnk6
IHBoZHIgMCBhdCAweGZmZmZmZmZmODEwMDAwMDAgLT4gMHhmZmZmZmZmZjgxYWE1MDAwCihYRU4p
IGVsZl9sb2FkX2JpbmFyeTogcGhkciAxIGF0IDB4ZmZmZmZmZmY4MWMwMDAwMCAtPiAweGZmZmZm
ZmZmODFjYmFjODAKKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDIgYXQgMHhmZmZmZmZmZjgx
Y2JiMDAwIC0+IDB4ZmZmZmZmZmY4MWNiYmQ2MAooWEVOKSBlbGZfbG9hZF9iaW5hcnk6IHBoZHIg
MyBhdCAweGZmZmZmZmZmODFjYmMwMDAgLT4gMHhmZmZmZmZmZjgxY2NmNzAwCihYRU4pIGVsZl9s
b2FkX2JpbmFyeTogcGhkciA0IGF0IDB4ZmZmZmZmZmY4MWNkMDAwMCAtPiAweGZmZmZmZmZmODFk
YmEwMDAKKFhFTikgU2NydWJiaW5nIEZyZWUgUkFNOiAuZG9uZS4KKFhFTikgSW5pdGlhbCBsb3cg
bWVtb3J5IHZpcnEgdGhyZXNob2xkIHNldCBhdCAweDQwMDAgcGFnZXMuCihYRU4pIFN0ZC4gTG9n
bGV2ZWw6IEFsbAooWEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsCihYRU4pICoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKFhFTikgKioqKioqKiBXQVJOSU5HOiBD
T05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwooWEVOKSAqKioqKioqIFRoaXMgb3B0aW9uIGlz
IGludGVuZGVkIHRvIGFpZCBkZWJ1Z2dpbmcgb2YgWGVuIGJ5IGVuc3VyaW5nCihYRU4pICoqKioq
KiogdGhhdCBhbGwgb3V0cHV0IGlzIHN5bmNocm9ub3VzbHkgZGVsaXZlcmVkIG9uIHRoZSBzZXJp
YWwgbGluZS4KKFhFTikgKioqKioqKiBIb3dldmVyIGl0IGNhbiBpbnRyb2R1Y2UgU0lHTklGSUNB
TlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKKFhFTikgKioqKioqKiB0aW1la2VlcGluZy4gSXQgaXMg
Tk9UIHJlY29tbWVuZGVkIGZvciBwcm9kdWN0aW9uIHVzZSEKKFhFTikgKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgooWEVOKSAzLi4uIDIuLi4gMS4uLiAKKFhF
TikgWGVuIGlzIHJlbGlucXVpc2hpbmcgVkdBIGNvbnNvbGUuCihYRU4pICoqKiBTZXJpYWwgaW5w
dXQgLT4gRE9NMCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8g
WGVuKQooWEVOKSBGcmVlZCAyMzZrQiBpbml0IG1lbW9yeS4KbWFwcGluZyBrZXJuZWwgaW50byBw
aHlzaWNhbCBtZW1vcnkKWGVuOiBzZXR1cCBJU0EgaWRlbnRpdHkgbWFwcwphYm91dCB0byBnZXQg
c3RhcnRlZC4uLgpbICAgIDAuMDAwMDAwXSBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBjcHVz
ZXQKWyAgICAwLjAwMDAwMF0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1ClsgICAgMC4w
MDAwMDBdIExpbnV4IHZlcnNpb24gMy4wLjAtMTctZ2VuZXJpYyAoYnVpbGRkQHllbGxvdykgKGdj
YyB2ZXJzaW9uIDQuNi4xIChVYnVudHUvTGluYXJvIDQuNi4xLTl1YnVudHUzKSApICMzMC1VYnVu
dHUgU01QIFRodSBNYXIgOCAyMDo0NTozOSBVVEMgMjAxMiAoVWJ1bnR1IDMuMC4wLTE3LjMwLWdl
bmVyaWMgMy4wLjIyKQpbICAgIDAuMDAwMDAwXSBDb21tYW5kIGxpbmU6IHBsYWNlaG9sZGVyIHJv
b3Q9VVVJRD1jNzgxNWFmZS1hZTcyLTRjZmEtYjhiMC05NGIzMDM1YzBiYjcgcm8gZGVidWcgY29u
c29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgpbICAgIDAuMDAwMDAwXSBLRVJORUwgc3VwcG9ydGVk
IGNwdXM6ClsgICAgMC4wMDAwMDBdICAgSW50ZWwgR2VudWluZUludGVsClsgICAgMC4wMDAwMDBd
ICAgQU1EIEF1dGhlbnRpY0FNRApbICAgIDAuMDAwMDAwXSAgIENlbnRhdXIgQ2VudGF1ckhhdWxz
ClsgICAgMC4wMDAwMDBdIERpc2FibGVkIGZhc3Qgc3RyaW5nIG9wZXJhdGlvbnMKWyAgICAwLjAw
MDAwMF0geGVuX3JlbGVhc2VfY2h1bms6IGxvb2tpbmcgYXQgYXJlYSBwZm4gZGZhMDAtZjgwMDA6
IDk5ODQwIHBhZ2VzIGZyZWVkClsgICAgMC4wMDAwMDBdIHhlbl9yZWxlYXNlX2NodW5rOiBsb29r
aW5nIGF0IGFyZWEgcGZuIGZjMDAwLWZlYzAwOiAxMTI2NCBwYWdlcyBmcmVlZApbICAgIDAuMDAw
MDAwXSB4ZW5fcmVsZWFzZV9jaHVuazogbG9va2luZyBhdCBhcmVhIHBmbiBmZWMwMS1mZWQwODog
MjYzIHBhZ2VzIGZyZWVkClsgICAgMC4wMDAwMDBdIHhlbl9yZWxlYXNlX2NodW5rOiBsb29raW5n
IGF0IGFyZWEgcGZuIGZlZDA5LWZlZDEwOiA3IHBhZ2VzIGZyZWVkClsgICAgMC4wMDAwMDBdIHhl
bl9yZWxlYXNlX2NodW5rOiBsb29raW5nIGF0IGFyZWEgcGZuIGZlZDFhLWZlZDFjOiAyIHBhZ2Vz
IGZyZWVkClsgICAgMC4wMDAwMDBdIHhlbl9yZWxlYXNlX2NodW5rOiBsb29raW5nIGF0IGFyZWEg
cGZuIGZlZDIwLWZlZTAwOiAyMjQgcGFnZXMgZnJlZWQKWyAgICAwLjAwMDAwMF0geGVuX3JlbGVh
c2VfY2h1bms6IGxvb2tpbmcgYXQgYXJlYSBwZm4gZmVlMDEtZmZkMjA6IDM4NzEgcGFnZXMgZnJl
ZWQKWyAgICAwLjAwMDAwMF0gcmVsZWFzZWQgMTE1NDcxIHBhZ2VzIG9mIHVudXNlZCBtZW1vcnkK
WyAgICAwLjAwMDAwMF0gMS0xIG1hcHBpbmcgb24gOWUtPjEwMApbICAgIDAuMDAwMDAwXSAxLTEg
bWFwcGluZyBvbiAyMDAwMC0+MjAyMDAKWyAgICAwLjAwMDAwMF0gMS0xIG1hcHBpbmcgb24gNDAw
MDAtPjQwMjAwClsgICAgMC4wMDAwMDBdIDEtMSBtYXBwaW5nIG9uIGRhOTlmLT5kYWZmZgpbICAg
IDAuMDAwMDAwXSAxLTEgbWFwcGluZyBvbiBkYjAwMC0+MTAwMDAwClsgICAgMC4wMDAwMDBdIDEt
MSBtYXBwaW5nIG9uIDIxZTYwMC0+MjFlODAwClsgICAgMC4wMDAwMDBdIFNldCAxNTQ4MTggcGFn
ZShzKSB0byAxLTEgbWFwcGluZy4KWyAgICAwLjAwMDAwMF0gQklPUy1wcm92aWRlZCBwaHlzaWNh
bCBSQU0gbWFwOgpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAw
MDAwMDA5ZDAwMCAodXNhYmxlKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMDAwMDlkODAw
IC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAwMDAw
MDAwMDAxMDAwMDAgLSAwMDAwMDAwMDIwMDAwMDAwICh1c2FibGUpClsgICAgMC4wMDAwMDBdICBY
ZW46IDAwMDAwMDAwMjAwMDAwMDAgLSAwMDAwMDAwMDIwMjAwMDAwIChyZXNlcnZlZCkKWyAgICAw
LjAwMDAwMF0gIFhlbjogMDAwMDAwMDAyMDIwMDAwMCAtIDAwMDAwMDAwNDAwMDAwMDAgKHVzYWJs
ZSkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDA0MDAwMDAwMCAtIDAwMDAwMDAwNDAyMDAw
MDAgKHJlc2VydmVkKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMDQwMjAwMDAwIC0gMDAw
MDAwMDBkYTk5ZjAwMCAodXNhYmxlKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMGRhOTlm
MDAwIC0gMDAwMDAwMDBkYWU5ZjAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAw
MDAwMDAwZGFlOWYwMDAgLSAwMDAwMDAwMGRhZjlmMDAwIChBQ1BJIE5WUykKWyAgICAwLjAwMDAw
MF0gIFhlbjogMDAwMDAwMDBkYWY5ZjAwMCAtIDAwMDAwMDAwZGFmZmYwMDAgKEFDUEkgZGF0YSkK
WyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDBkYWZmZjAwMCAtIDAwMDAwMDAwZGIwMDAwMDAg
KHVzYWJsZSkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDBkYjAwMDAwMCAtIDAwMDAwMDAw
ZGZhMDAwMDAgKHJlc2VydmVkKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMGY4MDAwMDAw
IC0gMDAwMDAwMDBmYzAwMDAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAwMDAw
MDAwZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAxMDAwIChyZXNlcnZlZCkKWyAgICAwLjAwMDAwMF0g
IFhlbjogMDAwMDAwMDBmZWQwODAwMCAtIDAwMDAwMDAwZmVkMDkwMDAgKHJlc2VydmVkKQpbICAg
IDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMGZlZDEwMDAwIC0gMDAwMDAwMDBmZWQxYTAwMCAocmVz
ZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAwMDAwMDAwZmVkMWMwMDAgLSAwMDAwMDAwMGZl
ZDIwMDAwIChyZXNlcnZlZCkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDBmZWUwMDAwMCAt
IDAwMDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAw
MGZmZDIwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBY
ZW46IDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMWU5OGY1MDAwICh1c2FibGUpClsgICAgMC4w
MDAwMDBdICBYZW46IDAwMDAwMDAyMWU2MDAwMDAgLSAwMDAwMDAwMjFlODAwMDAwIChyZXNlcnZl
ZCkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDIxZTgwMDAwMCAtIDAwMDAwMDAyNmY4MWEw
MDAgKHVzYWJsZSkKWyAgICAwLjAwMDAwMF0gYm9vdGNvbnNvbGUgW3hlbmJvb3QwXSBlbmFibGVk
ClsgICAgMC4wMDAwMDBdIE5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFjdGl2ZQpb
ICAgIDAuMDAwMDAwXSBETUkgMi42IHByZXNlbnQuClsgICAgMC4wMDAwMDBdIERNSTogTEVOT1ZP
IDQyODZDVE8vNDI4NkNUTywgQklPUyA4REVUNThXVyAoMS4yOCApIDAyLzE0LzIwMTIKWyAgICAw
LjAwMDAwMF0gZTgyMCB1cGRhdGUgcmFuZ2U6IDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAw
MDEwMDAwICh1c2FibGUpID09PiAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdIGU4MjAgcmVtb3Zl
IHJhbmdlOiAwMDAwMDAwMDAwMGEwMDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAodXNhYmxlKQpbICAg
IDAuMDAwMDAwXSBObyBBR1AgYnJpZGdlIGZvdW5kClsgICAgMC4wMDAwMDBdIGxhc3RfcGZuID0g
MHgyNmY4MWEgbWF4X2FyY2hfcGZuID0gMHg0MDAwMDAwMDAKWyAgICAwLjAwMDAwMF0geDJhcGlj
IGVuYWJsZWQgYnkgQklPUywgc3dpdGNoaW5nIHRvIHgyYXBpYyBvcHMKWyAgICAwLjAwMDAwMF0g
bGFzdF9wZm4gPSAweGRiMDAwIG1heF9hcmNoX3BmbiA9IDB4NDAwMDAwMDAwClsgICAgMC4wMDAw
MDBdIGluaXRpYWwgbWVtb3J5IG1hcHBlZCA6IDAgLSAwNDRlZjAwMApbICAgIDAuMDAwMDAwXSBC
YXNlIG1lbW9yeSB0cmFtcG9saW5lIGF0IFtmZmZmODgwMDAwMDk4MDAwXSA5ODAwMCBzaXplIDIw
NDgwClsgICAgMC4wMDAwMDBdIGluaXRfbWVtb3J5X21hcHBpbmc6IDAwMDAwMDAwMDAwMDAwMDAt
MDAwMDAwMDBkYjAwMDAwMApbICAgIDAuMDAwMDAwXSAgMDAwMDAwMDAwMCAtIDAwZGIwMDAwMDAg
cGFnZSA0awpbICAgIDAuMDAwMDAwXSBrZXJuZWwgZGlyZWN0IG1hcHBpbmcgdGFibGVzIHVwIHRv
IGRiMDAwMDAwIEAgOTIzMDAwLTEwMDAwMDAKWyAgICAwLjAwMDAwMF0geGVuOiBzZXR0aW5nIFJX
IHRoZSByYW5nZSBmY2UwMDAgLSAxMDAwMDAwClsgICAgMC4wMDAwMDBdIGluaXRfbWVtb3J5X21h
cHBpbmc6IDAwMDAwMDAxMDAwMDAwMDAtMDAwMDAwMDI2ZjgxYTAwMApbICAgIDAuMDAwMDAwXSAg
MDEwMDAwMDAwMCAtIDAyNmY4MWEwMDAgcGFnZSA0awpbICAgIDAuMDAwMDAwXSBrZXJuZWwgZGly
ZWN0IG1hcHBpbmcgdGFibGVzIHVwIHRvIDI2ZjgxYTAwMCBAIGQ5NjE3MDAwLWRhOTlmMDAwClsg
ICAgMC4wMDAwMDBdIHhlbjogc2V0dGluZyBSVyB0aGUgcmFuZ2UgZGExOWEwMDAgLSBkYTk5ZjAw
MApbICAgIDAuMDAwMDAwXSBSQU1ESVNLOiAwMjA0MzAwMCAtIDA0NGVmMDAwClsgICAgMC4wMDAw
MDBdIEFDUEk6IFJTRFAgMDAwMDAwMDAwMDBmMDBlMCAwMDAyNCAodjAyIExFTk9WTykKWyAgICAw
LjAwMDAwMF0gQUNQSTogWFNEVCAwMDAwMDAwMGRhZmZlMTIwIDAwMEFDICh2MDEgTEVOT1ZPIFRQ
LThEICAgIDAwMDAxMjgwIFBURUMgMDAwMDAwMDIpClsgICAgMC4wMDAwMDBdIEFDUEk6IEZBQ1Ag
MDAwMDAwMDBkYWZlNzAwMCAwMDBGNCAodjA0IExFTk9WTyBUUC04RCAgICAwMDAwMTI4MCBQVEwg
IDAwMDAwMDAyKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBEU0RUIDAwMDAwMDAwZGFmZWEwMDAgMEY2
RDggKHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgSU5UTCAyMDA2MTEwOSkKWyAgICAwLjAw
MDAwMF0gQUNQSTogRkFDUyAwMDAwMDAwMGRhZjJkMDAwIDAwMDQwClsgICAgMC4wMDAwMDBdIEFD
UEk6IFNMSUMgMDAwMDAwMDBkYWZmZDAwMCAwMDE3NiAodjAxIExFTk9WTyBUUC04RCAgICAwMDAw
MTI4MCBQVEVDIDAwMDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBTU0RUIDAwMDAwMDAwZGFm
ZmMwMDAgMDAyNDkgKHYwMSBMRU5PVk8gVFAtU1NEVDIgMDAwMDAyMDAgSU5UTCAyMDA2MTEwOSkK
WyAgICAwLjAwMDAwMF0gQUNQSTogU1NEVCAwMDAwMDAwMGRhZmZiMDAwIDAwMDMzICh2MDEgTEVO
T1ZPIFRQLVNTRFQxIDAwMDAwMTAwIElOVEwgMjAwNjExMDkpClsgICAgMC4wMDAwMDBdIEFDUEk6
IFNTRFQgMDAwMDAwMDBkYWZmYTAwMCAwMDdEMSAodjAxIExFTk9WTyBTYXRhQWhjaSAwMDAwMTAw
MCBJTlRMIDIwMDYxMTA5KQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBIUEVUIDAwMDAwMDAwZGFmZTYw
MDAgMDAwMzggKHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgUFRMICAwMDAwMDAwMikKWyAg
ICAwLjAwMDAwMF0gQUNQSTogQVBJQyAwMDAwMDAwMGRhZmU1MDAwIDAwMDk4ICh2MDEgTEVOT1ZP
IFRQLThEICAgIDAwMDAxMjgwIFBUTCAgMDAwMDAwMDIpClsgICAgMC4wMDAwMDBdIEFDUEk6IE1D
RkcgMDAwMDAwMDBkYWZlNDAwMCAwMDAzQyAodjAxIExFTk9WTyBUUC04RCAgICAwMDAwMTI4MCBQ
VEwgIDAwMDAwMDAyKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBFQ0RUIDAwMDAwMDAwZGFmZTMwMDAg
MDAwNTIgKHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgUFRMICAwMDAwMDAwMikKWyAgICAw
LjAwMDAwMF0gQUNQSTogQVNGISAwMDAwMDAwMGRhZmU5MDAwIDAwMEE1ICh2MzIgTEVOT1ZPIFRQ
LThEICAgIDAwMDAxMjgwIFBUTCAgMDAwMDAwMDIpClsgICAgMC4wMDAwMDBdIEFDUEk6IFRDUEEg
MDAwMDAwMDBkYWZlMjAwMCAwMDAzMiAodjAyICAgIFBUTCAgIExFTk9WTyAwNjA0MDAwMCBMTlZP
IDAwMDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBTU0RUIDAwMDAwMDAwZGFmZTEwMDAgMDBB
NjkgKHYwMSAgUG1SZWYgIENwdTBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKWyAgICAwLjAw
MDAwMF0gQUNQSTogU1NEVCAwMDAwMDAwMGRhZmUwMDAwIDAwOTk2ICh2MDEgIFBtUmVmICAgIENw
dVBtIDAwMDAzMDAwIElOVEwgMjAwNjExMDkpClsgICAgMC4wMDAwMDBdIEFDUEk6IFhNQVIgMDAw
MDAwMDBkYWZkZjAwMCAwMDBFOCAodjAxIElOVEVMICAgICAgU05CICAwMDAwMDAwMSBJTlRMIDAw
MDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBVRUZJIDAwMDAwMDAwZGFmZGUwMDAgMDAwM0Ug
KHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgUFRMICAwMDAwMDAwMikKWyAgICAwLjAwMDAw
MF0gQUNQSTogVUVGSSAwMDAwMDAwMGRhZmRkMDAwIDAwMDQyICh2MDEgUFRMICAgICAgQ09NQlVG
IDAwMDAwMDAxIFBUTCAgMDAwMDAwMDEpClsgICAgMC4wMDAwMDBdIEFDUEk6IFVFRkkgMDAwMDAw
MDBkYWZkYzAwMCAwMDI5MiAodjAxIExFTk9WTyBUUC04RCAgICAwMDAwMTI4MCBQVEwgIDAwMDAw
MDAyKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBMb2NhbCBBUElDIGFkZHJlc3MgMHhmZWUwMDAwMApb
ICAgIDAuMDAwMDAwXSBTZXR0aW5nIEFQSUMgcm91dGluZyB0byBjbHVzdGVyIHgyYXBpYy4KWyAg
ICAwLjAwMDAwMF0gTm8gTlVNQSBjb25maWd1cmF0aW9uIGZvdW5kClsgICAgMC4wMDAwMDBdIEZh
a2luZyBhIG5vZGUgYXQgMDAwMDAwMDAwMDAwMDAwMC0wMDAwMDAwMjZmODFhMDAwClsgICAgMC4w
MDAwMDBdIEluaXRtZW0gc2V0dXAgbm9kZSAwIDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDI2Zjgx
YTAwMApbICAgIDAuMDAwMDAwXSAgIE5PREVfREFUQSBbMDAwMDAwMDFlOThmMDAwMCAtIDAwMDAw
MDAxZTk4ZjRmZmZdClsgICAgMC4wMDAwMDBdIFpvbmUgUEZOIHJhbmdlczoKWyAgICAwLjAwMDAw
MF0gICBETUEgICAgICAweDAwMDAwMDEwIC0+IDB4MDAwMDEwMDAKWyAgICAwLjAwMDAwMF0gICBE
TUEzMiAgICAweDAwMDAxMDAwIC0+IDB4MDAxMDAwMDAKWyAgICAwLjAwMDAwMF0gICBOb3JtYWwg
ICAweDAwMTAwMDAwIC0+IDB4MDAyNmY4MWEKWyAgICAwLjAwMDAwMF0gTW92YWJsZSB6b25lIHN0
YXJ0IFBGTiBmb3IgZWFjaCBub2RlClsgICAgMC4wMDAwMDBdIGVhcmx5X25vZGVfbWFwWzddIGFj
dGl2ZSBQRk4gcmFuZ2VzClsgICAgMC4wMDAwMDBdICAgICAwOiAweDAwMDAwMDEwIC0+IDB4MDAw
MDAwOWQKWyAgICAwLjAwMDAwMF0gICAgIDA6IDB4MDAwMDAxMDAgLT4gMHgwMDAyMDAwMApbICAg
IDAuMDAwMDAwXSAgICAgMDogMHgwMDAyMDIwMCAtPiAweDAwMDQwMDAwClsgICAgMC4wMDAwMDBd
ICAgICAwOiAweDAwMDQwMjAwIC0+IDB4MDAwZGE5OWYKWyAgICAwLjAwMDAwMF0gICAgIDA6IDB4
MDAwZGFmZmYgLT4gMHgwMDBkYjAwMApbICAgIDAuMDAwMDAwXSAgICAgMDogMHgwMDEwMDAwMCAt
PiAweDAwMWU5OGY1ClsgICAgMC4wMDAwMDBdICAgICAwOiAweDAwMjFlODAwIC0+IDB4MDAyNmY4
MWEKWyAgICAwLjAwMDAwMF0gT24gbm9kZSAwIHRvdGFscGFnZXM6IDIxODI3MTYKWyAgICAwLjAw
MDAwMF0gICBETUEgem9uZTogNTYgcGFnZXMgdXNlZCBmb3IgbWVtbWFwClsgICAgMC4wMDAwMDBd
ICAgRE1BIHpvbmU6IDE3MTIgcGFnZXMgcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gICBETUEgem9u
ZTogMjIxMyBwYWdlcywgTElGTyBiYXRjaDowClsgICAgMC4wMDAwMDBdICAgRE1BMzIgem9uZTog
MTQyODAgcGFnZXMgdXNlZCBmb3IgbWVtbWFwClsgICAgMC4wMDAwMDBdICAgRE1BMzIgem9uZTog
ODc1OTkyIHBhZ2VzLCBMSUZPIGJhdGNoOjMxClsgICAgMC4wMDAwMDBdICAgTm9ybWFsIHpvbmU6
IDIwNTgxIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcApbICAgIDAuMDAwMDAwXSAgIE5vcm1hbCB6b25l
OiAxMjY3ODgyIHBhZ2VzLCBMSUZPIGJhdGNoOjMxClsgICAgMC4wMDAwMDBdIEFDUEk6IFBNLVRp
bWVyIElPIFBvcnQ6IDB4NDA4ClsgICAgMC4wMDAwMDBdIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVz
cyAweGZlZTAwMDAwClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDFdIGxh
cGljX2lkWzB4MDBdIGVuYWJsZWQpClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lk
WzB4MDJdIGxhcGljX2lkWzB4MDFdIGVuYWJsZWQpClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpClsgICAgMC4wMDAwMDBdIEFD
UEk6IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MDNdIGVuYWJsZWQpClsgICAgMC4w
MDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDVdIGxhcGljX2lkWzB4MDBdIGRpc2FibGVk
KQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2XSBsYXBpY19pZFsweDAw
XSBkaXNhYmxlZCkKWyAgICAwLjAwMDAwMF0gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwN10gbGFw
aWNfaWRbMHgwMF0gZGlzYWJsZWQpClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lk
WzB4MDhdIGxhcGljX2lkWzB4MDBdIGRpc2FibGVkKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBMQVBJ
Q19OTUkgKGFjcGlfaWRbMHgwMF0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKWyAgICAwLjAwMDAwMF0g
QUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MDFdIGhpZ2ggZWRnZSBsaW50WzB4MV0pClsgICAg
MC4wMDAwMDBdIEFDUEk6IElPQVBJQyAoaWRbMHgwMl0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lf
YmFzZVswXSkKWyAgICAwLjAwMDAwMF0gSU9BUElDWzBdOiBhcGljX2lkIDIsIHZlcnNpb24gMjU1
LCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTI1NQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBJTlRf
U1JDX09WUiAoYnVzIDAgYnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQpbICAgIDAuMDAw
MDAwXSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSA5IGdsb2JhbF9pcnEgOSBoaWdo
IGxldmVsKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuClsgICAg
MC4wMDAwMDBdIEFDUEk6IElSUTIgdXNlZCBieSBvdmVycmlkZS4KWyAgICAwLjAwMDAwMF0gQUNQ
STogSVJROSB1c2VkIGJ5IG92ZXJyaWRlLgpbICAgIDAuMDAwMDAwXSBVc2luZyBBQ1BJIChNQURU
KSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KWyAgICAwLjAwMDAwMF0gQUNQSTog
SFBFVCBpZDogMHg4MDg2YTMwMSBiYXNlOiAweGZlZDAwMDAwClsgICAgMC4wMDAwMDBdIFNNUDog
QWxsb3dpbmcgOCBDUFVzLCA0IGhvdHBsdWcgQ1BVcwpbICAgIDAuMDAwMDAwXSBucl9pcnFzX2dz
aTogMjcyClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAw
MDAwMDAwOWQwMDAgLSAwMDAwMDAwMDAwMDllMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3Rl
cmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwMDAwOWUwMDAgLSAwMDAwMDAwMDAwMTAwMDAwClsg
ICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwMjAwMDAw
MDAgLSAwMDAwMDAwMDIwMjAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2
ZSBtZW1vcnk6IDAwMDAwMDAwNDAwMDAwMDAgLSAwMDAwMDAwMDQwMjAwMDAwClsgICAgMC4wMDAw
MDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZGE5OWYwMDAgLSAwMDAw
MDAwMGRhZTlmMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6
IDAwMDAwMDAwZGFlOWYwMDAgLSAwMDAwMDAwMGRhZjlmMDAwClsgICAgMC4wMDAwMDBdIFBNOiBS
ZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZGFmOWYwMDAgLSAwMDAwMDAwMGRhZmZm
MDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAw
ZGIwMDAwMDAgLSAwMDAwMDAwMGRmYTAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVk
IG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZGZhMDAwMDAgLSAwMDAwMDAwMGY4MDAwMDAwClsgICAg
MC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZjgwMDAwMDAg
LSAwMDAwMDAwMGZjMDAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBt
ZW1vcnk6IDAwMDAwMDAwZmMwMDAwMDAgLSAwMDAwMDAwMGZlYzAwMDAwClsgICAgMC4wMDAwMDBd
IFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAwMDAw
MGZlYzAxMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAw
MDAwMDAwZmVjMDEwMDAgLSAwMDAwMDAwMGZlZDA4MDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMDgwMDAgLSAwMDAwMDAwMGZlZDA5MDAw
ClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVk
MDkwMDAgLSAwMDAwMDAwMGZlZDEwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5v
c2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMTAwMDAgLSAwMDAwMDAwMGZlZDFhMDAwClsgICAgMC4w
MDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMWEwMDAgLSAw
MDAwMDAwMGZlZDFjMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1v
cnk6IDAwMDAwMDAwZmVkMWMwMDAgLSAwMDAwMDAwMGZlZDIwMDAwClsgICAgMC4wMDAwMDBdIFBN
OiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMjAwMDAgLSAwMDAwMDAwMGZl
ZTAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAw
MDAwZmVlMDAwMDAgLSAwMDAwMDAwMGZlZTAxMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3Rl
cmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVlMDEwMDAgLSAwMDAwMDAwMGZmZDIwMDAwClsg
ICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmZkMjAw
MDAgLSAwMDAwMDAwMTAwMDAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2
ZSBtZW1vcnk6IDAwMDAwMDAxZTk4ZjUwMDAgLSAwMDAwMDAwMjFlNjAwMDAwClsgICAgMC4wMDAw
MDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAyMWU2MDAwMDAgLSAwMDAw
MDAwMjFlODAwMDAwClsgICAgMC4wMDAwMDBdIEFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFy
dGluZyBhdCBkZmEwMDAwMCAoZ2FwOiBkZmEwMDAwMDoxODYwMDAwMCkKWyAgICAwLjAwMDAwMF0g
Qm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVsIG9uIFhlbgpbICAgIDAuMDAwMDAwXSBYZW4g
dmVyc2lvbjogNC4yLXVuc3RhYmxlIChwcmVzZXJ2ZS1BRCkKWyAgICAwLjAwMDAwMF0gc2V0dXBf
cGVyY3B1OiBOUl9DUFVTOjI1NiBucl9jcHVtYXNrX2JpdHM6MjU2IG5yX2NwdV9pZHM6OCBucl9u
b2RlX2lkczoxClsgICAgMC4wMDAwMDBdIFBFUkNQVTogRW1iZWRkZWQgMjcgcGFnZXMvY3B1IEBm
ZmZmODgwMWU5N2UwMDAwIHM3OTYxNiByODE5MiBkMjI3ODQgdTExMDU5MgpbICAgIDAuMDAwMDAw
XSBwY3B1LWFsbG9jOiBzNzk2MTYgcjgxOTIgZDIyNzg0IHUxMTA1OTIgYWxsb2M9MjcqNDA5Ngpb
ICAgIDAuMDAwMDAwXSBwY3B1LWFsbG9jOiBbMF0gMCBbMF0gMSBbMF0gMiBbMF0gMyBbMF0gNCBb
MF0gNSBbMF0gNiBbMF0gNyAKWyAgICA2LjY1MzM1Nl0gQnVpbHQgMSB6b25lbGlzdHMgaW4gWm9u
ZSBvcmRlciwgbW9iaWxpdHkgZ3JvdXBpbmcgb24uICBUb3RhbCBwYWdlczogMjE0NjA4NwpbICAg
IDYuNjYxNzUyXSBQb2xpY3kgem9uZTogTm9ybWFsClsgICAgNi42NjUwMTFdIEtlcm5lbCBjb21t
YW5kIGxpbmU6IHBsYWNlaG9sZGVyIHJvb3Q9VVVJRD1jNzgxNWFmZS1hZTcyLTRjZmEtYjhiMC05
NGIzMDM1YzBiYjcgcm8gZGVidWcgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgpbICAgIDYu
Njc3MTgzXSBQSUQgaGFzaCB0YWJsZSBlbnRyaWVzOiA0MDk2IChvcmRlcjogMywgMzI3NjggYnl0
ZXMpCihYRU4pIGRvbWFpbi5jOjY5ODpkMCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgMDAw
NDI2NjAgLT4gMDAwMDI2NjAKKFhFTikgZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hhbmdl
IENSNCBmbGFncyAwMDA0MjY2MCAtPiAwMDAwMjY2MAooWEVOKSBkb21haW4uYzo2OTg6ZDAgQXR0
ZW1wdCB0byBjaGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwClsgICAgNi43MDMx
MjhdIHhzYXZlL3hyc3RvcjogZW5hYmxlZCB4c3RhdGVfYnYgMHg3LCBjbnR4dCBzaXplIDB4MzQw
ClsgICAgNi43NTg1MTddIFBsYWNpbmcgNjRNQiBzb2Z0d2FyZSBJTyBUTEIgYmV0d2VlbiBmZmZm
ODgwMWRjNjAwMDAwIC0gZmZmZjg4MDFlMDYwMDAwMApbICAgIDYuNzY2NTA0XSBzb2Z0d2FyZSBJ
TyBUTEIgYXQgcGh5cyAweDFkYzYwMDAwMCAtIDB4MWUwNjAwMDAwClsgICAgNi43OTYwNzZdIE1l
bW9yeTogNzEyNTA2MGsvMTAyMTU1MjhrIGF2YWlsYWJsZSAoNjE0MGsga2VybmVsIGNvZGUsIDE0
ODQ2NjRrIGFic2VudCwgMTYwNTgwNGsgcmVzZXJ2ZWQsIDY4OTRrIGRhdGEsIDk4OGsgaW5pdCkK
WyAgICA2LjgwODAwMF0gU0xVQjogR2Vuc2xhYnM9MTUsIEhXYWxpZ249NjQsIE9yZGVyPTAtMywg
TWluT2JqZWN0cz0wLCBDUFVzPTgsIE5vZGVzPTEKWyAgICA2LjgxNTkxN10gSGllcmFyY2hpY2Fs
IFJDVSBpbXBsZW1lbnRhdGlvbi4KWyAgICA2LjgyMDMxNV0gCVJDVSBkeW50aWNrLWlkbGUgZ3Jh
Y2UtcGVyaW9kIGFjY2VsZXJhdGlvbiBpcyBlbmFibGVkLgpbICAgIDYuODI2ODMyXSBOUl9JUlFT
OjE2NjQwIG5yX2lycXM6MjA0OCAxNgpbICAgIDYuODMxMDQ3XSB4ZW46IHNjaSBvdmVycmlkZTog
Z2xvYmFsX2lycT05IHRyaWdnZXI9MCBwb2xhcml0eT0wClsgICAgNi44MzcyMjBdIHhlbjogcmVn
aXN0ZXJpbmcgZ3NpIDkgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDAKWyAgICA2Ljg0MjkyMl0geGVu
OiAtLT4gcGlycT05IC0+IGlycT05IChnc2k9OSkKWyAgICA2Ljg0NzM2N10geGVuOiBhY3BpIHNj
aSA5ClsgICAgNi44NTAyMjldIHhlbjogLS0+IHBpcnE9MSAtPiBpcnE9MSAoZ3NpPTEpClsgICAg
Ni44NTQ2NTddIHhlbjogLS0+IHBpcnE9MiAtPiBpcnE9MiAoZ3NpPTIpClsgICAgNi44NTkwNzhd
IHhlbjogLS0+IHBpcnE9MyAtPiBpcnE9MyAoZ3NpPTMpClsgICAgNi44NjM1MDVdIHhlbjogLS0+
IHBpcnE9NCAtPiBpcnE9NCAoZ3NpPTQpClsgICAgNi44Njc5MzFdIHhlbjogLS0+IHBpcnE9NSAt
PiBpcnE9NSAoZ3NpPTUpClsgICAgNi44NzIzNjZdIHhlbjogLS0+IHBpcnE9NiAtPiBpcnE9NiAo
Z3NpPTYpClsgICAgNi44NzY3OThdIHhlbjogLS0+IHBpcnE9NyAtPiBpcnE9NyAoZ3NpPTcpClsg
ICAgNi44ODEyMzBdIHhlbjogLS0+IHBpcnE9OCAtPiBpcnE9OCAoZ3NpPTgpClsgICAgNi44ODU2
NTJdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgOSBmb3IgZ3NpIDkKWyAgICA2Ljg5
MTA2OV0geGVuOiAtLT4gcGlycT05IC0+IGlycT05IChnc2k9OSkKWyAgICA2Ljg5NTQ5N10geGVu
OiAtLT4gcGlycT0xMCAtPiBpcnE9MTAgKGdzaT0xMCkKWyAgICA2LjkwMDE5Nl0geGVuOiAtLT4g
cGlycT0xMSAtPiBpcnE9MTEgKGdzaT0xMSkKWyAgICA2LjkwNDkwMl0geGVuOiAtLT4gcGlycT0x
MiAtPiBpcnE9MTIgKGdzaT0xMikKWyAgICA2LjkwOTYwM10geGVuOiAtLT4gcGlycT0xMyAtPiBp
cnE9MTMgKGdzaT0xMykKWyAgICA2LjkxNDMwOF0geGVuOiAtLT4gcGlycT0xNCAtPiBpcnE9MTQg
KGdzaT0xNCkKWyAgICA2LjkxODk5OV0geGVuOiAtLT4gcGlycT0xNSAtPiBpcnE9MTUgKGdzaT0x
NSkKWyAgICA2LjkyNDYzNl0gQ29uc29sZTogY29sb3VyIFZHQSsgODB4MjUKWyAgICA2LjkyODQ0
OV0gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUgZGlzYWJsZWQKWyAgICA2Ljky
ODQ0OV0gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUgZGlzYWJsZWQKWyAgICA2
Ljk0Nzk5NF0gYWxsb2NhdGVkIDcyMzUxNzQ0IGJ5dGVzIG9mIHBhZ2VfY2dyb3VwClsgICAgNi45
NTMwNjJdIHBsZWFzZSB0cnkgJ2Nncm91cF9kaXNhYmxlPW1lbW9yeScgb3B0aW9uIGlmIHlvdSBk
b24ndCB3YW50IG1lbW9yeSBjZ3JvdXBzClsgICAgNi45NjE0MjhdIFhlbjogdXNpbmcgdmNwdW9w
IHRpbWVyIGludGVyZmFjZQpbICAgIDYuOTY2MDA2XSBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3Ig
Q1BVIDAKWyAgICA2Ljk3MDM3MV0gRGV0ZWN0ZWQgMjY5MS4zNjAgTUh6IHByb2Nlc3Nvci4KWyAg
ICA2Ljk3NDg1N10gQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1
bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNTM4Mi43MiBCb2dvTUlQUyAobHBqPTEwNzY1
NDQwKQpbICAgIDYuOTg2MDQ5XSBwaWRfbWF4OiBkZWZhdWx0OiAzMjc2OCBtaW5pbXVtOiAzMDEK
WyAgICA2Ljk5MDk3MF0gU2VjdXJpdHkgRnJhbWV3b3JrIGluaXRpYWxpemVkClsgICAgNi45OTUy
NzRdIEFwcEFybW9yOiBBcHBBcm1vciBpbml0aWFsaXplZApbICAgIDYuOTk5NTk2XSBZYW1hOiBi
ZWNvbWluZyBtaW5kZnVsLgpbICAgIDcuMDA3ODI1XSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBl
bnRyaWVzOiAyMDk3MTUyIChvcmRlcjogMTIsIDE2Nzc3MjE2IGJ5dGVzKQpbICAgIDcuMDIwMjkz
XSBJbm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEwNDg1NzYgKG9yZGVyOiAxMSwgODM4
ODYwOCBieXRlcykKWyAgICA3LjAyOTA4N10gTW91bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVz
OiAyNTYKWyAgICA3LjAzMzk3Ml0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1YWNjdApb
ICAgIDcuMDM4NTg4XSBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBtZW1vcnkKWyAgICA3LjA0
MzIwNl0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZGV2aWNlcwpbICAgIDcuMDQ3OTAzXSBJ
bml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBmcmVlemVyClsgICAgNy4wNTI1OTRdIEluaXRpYWxp
emluZyBjZ3JvdXAgc3Vic3lzIG5ldF9jbHMKWyAgICA3LjA1NzI4OV0gSW5pdGlhbGl6aW5nIGNn
cm91cCBzdWJzeXMgYmxraW8KWyAgICA3LjA2MTgxNF0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJz
eXMgcGVyZl9ldmVudApbICAgIDcuMDY2ODI0XSBEaXNhYmxlZCBmYXN0IHN0cmluZyBvcGVyYXRp
b25zClsgICAgNy4wNzEyMTBdIEVORVJHWV9QRVJGX0JJQVM6IFNldCB0byAnbm9ybWFsJywgd2Fz
ICdwZXJmb3JtYW5jZScKWyAgICA3LjA3MTIxMV0gRU5FUkdZX1BFUkZfQklBUzogVmlldyBhbmQg
dXBkYXRlIHdpdGggeDg2X2VuZXJneV9wZXJmX3BvbGljeSg4KQpbICAgIDcuMDg0OTE0XSBDUFU6
IFBoeXNpY2FsIFByb2Nlc3NvciBJRDogMApbICAgIDcuMDg5MTYzXSBDUFU6IFByb2Nlc3NvciBD
b3JlIElEOiAwClsgICAgNy4wOTUyMzhdIEFDUEk6IENvcmUgcmV2aXNpb24gMjAxMTA0MTMKWyAg
ICA3LjEyODIzNF0gZnRyYWNlOiBhbGxvY2F0aW5nIDI1NzUwIGVudHJpZXMgaW4gMTAxIHBhZ2Vz
ClsgICAgNy4xNDA5MDBdIGNwdSAwIHNwaW5sb2NrIGV2ZW50IGlycSAyNzMKWyAgICA3LjE0NTA0
Nl0gUGVyZm9ybWFuY2UgRXZlbnRzOiB1bnN1cHBvcnRlZCBwNiBDUFUgbW9kZWwgNDIgbm8gUE1V
IGRyaXZlciwgc29mdHdhcmUgZXZlbnRzIG9ubHkuClsgICAgNy4xNTQ2ODddIGluc3RhbGxpbmcg
WGVuIHRpbWVyIGZvciBDUFUgMQpbICAgIDcuMTU4OTg4XSBjcHUgMSBzcGlubG9jayBldmVudCBp
cnEgMjc5CihYRU4pIGRvbWFpbi5jOjY5ODpkMCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3Mg
MDAwNDI2NjAgLT4gMDAwMDI2NjAKKFhFTikgZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hh
bmdlIENSNCBmbGFncyAwMDA0MjY2MCAtPiAwMDAwMjY2MAooWEVOKSBkb21haW4uYzo2OTg6ZDAg
QXR0ZW1wdCB0byBjaGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwClsgICAgNy4x
ODI4MDVdIERpc2FibGVkIGZhc3Qgc3RyaW5nIG9wZXJhdGlvbnMKWyAgICA3LjE4MjkwOF0gaW5z
dGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAyClsgICAgNy4xOTE2NjhdIGNwdSAyIHNwaW5sb2Nr
IGV2ZW50IGlycSAyODUKKFhFTikgZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hhbmdlIENS
NCBmbGFncyAwMDA0MjY2MCAtPiAwMDAwMjY2MAooWEVOKSBkb21haW4uYzo2OTg6ZDAgQXR0ZW1w
dCB0byBjaGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwCihYRU4pIGRvbWFpbi5j
OjY5ODpkMCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgMDAwNDI2NjAgLT4gMDAwMDI2NjAK
WyAgICA3LjIxNTUwMV0gRGlzYWJsZWQgZmFzdCBzdHJpbmcgb3BlcmF0aW9ucwpbICAgIDcuMjE1
NTk1XSBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDMKWyAgICA3LjIyNDM0NV0gY3B1IDMg
c3BpbmxvY2sgZXZlbnQgaXJxIDI5MQooWEVOKSBkb21haW4uYzo2OTg6ZDAgQXR0ZW1wdCB0byBj
aGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwCihYRU4pIGRvbWFpbi5jOjY5ODpk
MCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgMDAwNDI2NjAgLT4gMDAwMDI2NjAKKFhFTikg
ZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hhbmdlIENSNCBmbGFncyAwMDA0MjY2MCAtPiAw
MDAwMjY2MApbICAgIDcuMjQ4MTgwXSBEaXNhYmxlZCBmYXN0IHN0cmluZyBvcGVyYXRpb25zClsg
ICAgNy4yNDgyMDddIEJyb3VnaHQgdXAgNCBDUFVzClsgICAgNy4yNTU5OTldIGRldnRtcGZzOiBp
bml0aWFsaXplZApbICAgIDcuMjU5NzA5XSBQTTogUmVnaXN0ZXJpbmcgQUNQSSBOVlMgcmVnaW9u
IGF0IGRhZTlmMDAwICgxMDQ4NTc2IGJ5dGVzKQpbICAgIDcuMjY3NzU4XSBHcmFudCB0YWJsZSBp
bml0aWFsaXplZApbICAgIDcuMjcxNDMzXSBwcmludF9jb25zdHJhaW50czogZHVtbXk6IApbICAg
IDcuMjc1NDM1XSBUaW1lOiAxMDo1ODoyNCAgRGF0ZTogMDUvMDUvMTIKWyAgICA3LjI3OTc5MF0g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgpbICAgIDcuMjg0NTkyXSBUcnlpbmcg
dG8gdW5wYWNrIHJvb3RmcyBpbWFnZSBhcyBpbml0cmFtZnMuLi4KWyAgICA3LjI5NDU1MV0gQUNQ
SSBGQURUIGRlY2xhcmVzIHRoZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IFBDSWUgQVNQTSwgc28g
ZGlzYWJsZSBpdApbICAgIDcuMzAyNDczXSBBQ1BJOiBidXMgdHlwZSBwY2kgcmVnaXN0ZXJlZApb
ICAgIDcuMzA3MDcwXSBQQ0k6IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBbYnVzIDAwLTNmXSBh
dCBbbWVtIDB4ZjgwMDAwMDAtMHhmYmZmZmZmZl0gKGJhc2UgMHhmODAwMDAwMCkKWyAgICA3LjMx
NjgwOF0gUENJOiBNTUNPTkZJRyBhdCBbbWVtIDB4ZjgwMDAwMDAtMHhmYmZmZmZmZl0gcmVzZXJ2
ZWQgaW4gRTgyMApbICAgIDcuMzMyMTg3XSBGcmVlaW5nIGluaXRyZCBtZW1vcnk6IDM3NTUyayBm
cmVlZApbICAgIDcuMzQ4NzE3XSBQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxIGZvciBi
YXNlIGFjY2VzcwpbICAgIDcuMzU1MjE1XSBiaW86IGNyZWF0ZSBzbGFiIDxiaW8tMD4gYXQgMApb
ICAgIDcuMzY0MTgwXSBBQ1BJOiBFQzogRUMgZGVzY3JpcHRpb24gdGFibGUgaXMgZm91bmQsIGNv
bmZpZ3VyaW5nIGJvb3QgRUMKWyAgICA3LjM4MDg3OV0gW0Zpcm13YXJlIEJ1Z106IEFDUEk6IEJJ
T1MgX09TSShMaW51eCkgcXVlcnkgaWdub3JlZApbICAgIDcuNDI0ODI1XSBBQ1BJOiBTU0RUIDAw
MDAwMDAwZGFlOGMwMTggMDA4QzAgKHYwMSAgUG1SZWYgIENwdTBDc3QgMDAwMDMwMDEgSU5UTCAy
MDA2MTEwOSkKWyAgICA3LjQzMzg5MV0gQUNQSTogRHluYW1pYyBPRU0gVGFibGUgTG9hZDoKWyAg
ICA3LjQzODA3N10gQUNQSTogU1NEVCAgICAgICAgICAgKG51bGwpIDAwOEMwICh2MDEgIFBtUmVm
ICBDcHUwQ3N0IDAwMDAzMDAxIElOVEwgMjAwNjExMDkpClsgICAgNy40NzE0OTJdIEFDUEk6IFNT
RFQgMDAwMDAwMDBkYWU4ZGE5OCAwMDMwMyAodjAxICBQbVJlZiAgICBBcElzdCAwMDAwMzAwMCBJ
TlRMIDIwMDYxMTA5KQpbICAgIDcuNDgwNTkzXSBBQ1BJOiBEeW5hbWljIE9FTSBUYWJsZSBMb2Fk
OgpbICAgIDcuNDg0Nzg2XSBBQ1BJOiBTU0RUICAgICAgICAgICAobnVsbCkgMDAzMDMgKHYwMSAg
UG1SZWYgICAgQXBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKWyAgICA3LjUwOTkzMl0gQUNQ
STogU1NEVCAwMDAwMDAwMGRhZThiZDk4IDAwMTE5ICh2MDEgIFBtUmVmICAgIEFwQ3N0IDAwMDAz
MDAwIElOVEwgMjAwNjExMDkpClsgICAgNy41MTk3MzldIEFDUEk6IER5bmFtaWMgT0VNIFRhYmxl
IExvYWQ6ClsgICAgNy41MjM5MzBdIEFDUEk6IFNTRFQgICAgICAgICAgIChudWxsKSAwMDExOSAo
djAxICBQbVJlZiAgICBBcENzdCAwMDAwMzAwMCBJTlRMIDIwMDYxMTA5KQpbICAgIDcuNTQ5NzAy
XSBBQ1BJOiBJbnRlcnByZXRlciBlbmFibGVkClsgICAgNy41NTM1MjddIEFDUEk6IChzdXBwb3J0
cyBTMCBTMyBTNCBTNSkKWyAgICA3LjU1NzcwOV0gQUNQSTogVXNpbmcgSU9BUElDIGZvciBpbnRl
cnJ1cHQgcm91dGluZwpbICAgIDcuNTg3OTc0XSBBQ1BJOiBQb3dlciBSZXNvdXJjZSBbUFVCU10g
KG9uKQpbICAgIDcuNTk2Njk3XSBBQ1BJOiBFQzogR1BFID0gMHgxMSwgSS9POiBjb21tYW5kL3N0
YXR1cyA9IDB4NjYsIGRhdGEgPSAweDYyClsgICAgNy42MDU1MjJdIEFDUEk6IEFDUEkgRG9jayBT
dGF0aW9uIERyaXZlcjogMyBkb2Nrcy9iYXlzIGZvdW5kClsgICAgNy42MTE2MThdIEhFU1Q6IFRh
YmxlIG5vdCBmb3VuZC4KWyAgICA3LjYxNTI1Ml0gUENJOiBVc2luZyBob3N0IGJyaWRnZSB3aW5k
b3dzIGZyb20gQUNQSTsgaWYgbmVjZXNzYXJ5LCB1c2UgInBjaT1ub2NycyIgYW5kIHJlcG9ydCBh
IGJ1ZwpbICAgIDcuNjI1MDE5XSBBQ1BJOiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4g
MDAwMCBbYnVzIDAwLWZlXSkKWyAgICA3LjYzMTUzNF0gcGNpX3Jvb3QgUE5QMEEwODowMDogaG9z
dCBicmlkZ2Ugd2luZG93IFtpbyAgMHgwMDAwLTB4MGNmN10KWyAgICA3LjYzODQ4MV0gcGNpX3Jv
b3QgUE5QMEEwODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFtpbyAgMHgwZDAwLTB4ZmZmZl0KWyAg
ICA3LjY0NTQ3NF0gcGNpX3Jvb3QgUE5QMEEwODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0g
MHgwMDBhMDAwMC0weDAwMGJmZmZmXQpbICAgIDcuNjUzMjA1XSBwY2lfcm9vdCBQTlAwQTA4OjAw
OiBob3N0IGJyaWRnZSB3aW5kb3cgW21lbSAweGRmYTAwMDAwLTB4ZmViZmZmZmZdClsgICAgNy42
NjA5MjddIHBjaV9yb290IFBOUDBBMDg6MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmVk
NDAwMDAtMHhmZWQ0YmZmZl0KWyAgICA3LjY2ODY2NV0gcGNpIDAwMDA6MDA6MDAuMDogWzgwODY6
MDEwNF0gdHlwZSAwIGNsYXNzIDB4MDAwNjAwClsgICAgNy42NzUwMzVdIHBjaSAwMDAwOjAwOjAy
LjA6IFs4MDg2OjAxMjZdIHR5cGUgMCBjbGFzcyAweDAwMDMwMApbICAgIDcuNjgxMjUyXSBwY2kg
MDAwMDowMDowMi4wOiByZWcgMTA6IFttZW0gMHhmMDAwMDAwMC0weGYwM2ZmZmZmIDY0Yml0XQpb
ICAgIDcuNjg4MjI3XSBwY2kgMDAwMDowMDowMi4wOiByZWcgMTg6IFttZW0gMHhlMDAwMDAwMC0w
eGVmZmZmZmZmIDY0Yml0IHByZWZdClsgICAgNy42OTU2NjldIHBjaSAwMDAwOjAwOjAyLjA6IHJl
ZyAyMDogW2lvICAweDUwMDAtMHg1MDNmXQpbICAgIDcuNzAxNTQ3XSBwY2kgMDAwMDowMDoxNi4w
OiBbODA4NjoxYzNhXSB0eXBlIDAgY2xhc3MgMHgwMDA3ODAKWyAgICA3LjcwNzc4NF0gcGNpIDAw
MDA6MDA6MTYuMDogcmVnIDEwOiBbbWVtIDB4ZjI2MjUwMDAtMHhmMjYyNTAwZiA2NGJpdF0KWyAg
ICA3LjcxNDg5NF0gcGNpIDAwMDA6MDA6MTYuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hv
dCBEM2NvbGQKWyAgICA3LjcyMTI2MF0gcGNpIDAwMDA6MDA6MTYuMDogUE1FIyBkaXNhYmxlZApb
ICAgIDcuNzI1NzU4XSBwY2kgMDAwMDowMDoxNi4zOiBbODA4NjoxYzNkXSB0eXBlIDAgY2xhc3Mg
MHgwMDA3MDAKWyAgICA3LjczMjAxNV0gcGNpIDAwMDA6MDA6MTYuMzogcmVnIDEwOiBbaW8gIDB4
NTBiMC0weDUwYjddClsgICAgNy43Mzc3MTNdIHBjaSAwMDAwOjAwOjE2LjM6IHJlZyAxNDogW21l
bSAweGYyNjJjMDAwLTB4ZjI2MmNmZmZdClsgICAgNy43NDQzOTldIHBjaSAwMDAwOjAwOjE5LjA6
IFs4MDg2OjE1MDJdIHR5cGUgMCBjbGFzcyAweDAwMDIwMApbICAgIDcuNzUwNjI5XSBwY2kgMDAw
MDowMDoxOS4wOiByZWcgMTA6IFttZW0gMHhmMjYwMDAwMC0weGYyNjFmZmZmXQpbICAgIDcuNzU3
MDUzXSBwY2kgMDAwMDowMDoxOS4wOiByZWcgMTQ6IFttZW0gMHhmMjYyYjAwMC0weGYyNjJiZmZm
XQpbICAgIDcuNzYzNTEyXSBwY2kgMDAwMDowMDoxOS4wOiByZWcgMTg6IFtpbyAgMHg1MDgwLTB4
NTA5Zl0KWyAgICA3Ljc2OTQwMF0gcGNpIDAwMDA6MDA6MTkuMDogUE1FIyBzdXBwb3J0ZWQgZnJv
bSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljc3NTc2OV0gcGNpIDAwMDA6MDA6MTkuMDogUE1FIyBk
aXNhYmxlZApbICAgIDcuNzgwMjY0XSBwY2kgMDAwMDowMDoxYS4wOiBbODA4NjoxYzJkXSB0eXBl
IDAgY2xhc3MgMHgwMDBjMDMKWyAgICA3Ljc4NjUxOV0gcGNpIDAwMDA6MDA6MWEuMDogcmVnIDEw
OiBbbWVtIDB4ZjI2MmEwMDAtMHhmMjYyYTNmZl0KWyAgICA3Ljc5MzE0M10gcGNpIDAwMDA6MDA6
MWEuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljc5OTUwMl0g
cGNpIDAwMDA6MDA6MWEuMDogUE1FIyBkaXNhYmxlZApbICAgIDcuODA0MDEwXSBwY2kgMDAwMDow
MDoxYi4wOiBbODA4NjoxYzIwXSB0eXBlIDAgY2xhc3MgMHgwMDA0MDMKWyAgICA3LjgxMDI1Ml0g
cGNpIDAwMDA6MDA6MWIuMDogcmVnIDEwOiBbbWVtIDB4ZjI2MjAwMDAtMHhmMjYyM2ZmZiA2NGJp
dF0KWyAgICA3LjgxNzQwOV0gcGNpIDAwMDA6MDA6MWIuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBE
MCBEM2hvdCBEM2NvbGQKWyAgICA3LjgyMzc2Nl0gcGNpIDAwMDA6MDA6MWIuMDogUE1FIyBkaXNh
YmxlZApbICAgIDcuODI4MjU0XSBwY2kgMDAwMDowMDoxYy4wOiBbODA4NjoxYzEwXSB0eXBlIDEg
Y2xhc3MgMHgwMDA2MDQKWyAgICA3LjgzNDY3Nl0gcGNpIDAwMDA6MDA6MWMuMDogUE1FIyBzdXBw
b3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljg0MTA0OF0gcGNpIDAwMDA6MDA6MWMu
MDogUE1FIyBkaXNhYmxlZApbICAgIDcuODQ1NTM5XSBwY2kgMDAwMDowMDoxYy4xOiBbODA4Njox
YzEyXSB0eXBlIDEgY2xhc3MgMHgwMDA2MDQKWyAgICA3Ljg1MTk1MV0gcGNpIDAwMDA6MDA6MWMu
MTogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljg1ODMyNl0gcGNp
IDAwMDA6MDA6MWMuMTogUE1FIyBkaXNhYmxlZApbICAgIDcuODYyODIzXSBwY2kgMDAwMDowMDox
Yy4zOiBbODA4NjoxYzE2XSB0eXBlIDEgY2xhc3MgMHgwMDA2MDQKWyAgICA3Ljg2OTI2MV0gcGNp
IDAwMDA6MDA6MWMuMzogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3
Ljg3NTYyMV0gcGNpIDAwMDA6MDA6MWMuMzogUE1FIyBkaXNhYmxlZApbICAgIDcuODgwMTIxXSBw
Y2kgMDAwMDowMDoxYy40OiBbODA4NjoxYzE4XSB0eXBlIDEgY2xhc3MgMHgwMDA2MDQKWyAgICA3
Ljg4NjU0Ml0gcGNpIDAwMDA6MDA6MWMuNDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBE
M2NvbGQKWyAgICA3Ljg5MjkyMl0gcGNpIDAwMDA6MDA6MWMuNDogUE1FIyBkaXNhYmxlZApbICAg
IDcuODk3NDEyXSBwY2kgMDAwMDowMDoxYy42OiBbODA4NjoxYzFjXSB0eXBlIDEgY2xhc3MgMHgw
MDA2MDQKWyAgICA3LjkwMzgzOF0gcGNpIDAwMDA6MDA6MWMuNjogUE1FIyBzdXBwb3J0ZWQgZnJv
bSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3LjkxMDIwNV0gcGNpIDAwMDA6MDA6MWMuNjogUE1FIyBk
aXNhYmxlZApbICAgIDcuOTE0NzIzXSBwY2kgMDAwMDowMDoxZC4wOiBbODA4NjoxYzI2XSB0eXBl
IDAgY2xhc3MgMHgwMDBjMDMKWyAgICA3LjkyMDk4Ml0gcGNpIDAwMDA6MDA6MWQuMDogcmVnIDEw
OiBbbWVtIDB4ZjI2MjkwMDAtMHhmMjYyOTNmZl0KWyAgICA3LjkyNzYwMV0gcGNpIDAwMDA6MDA6
MWQuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3LjkzMzk3N10g
cGNpIDAwMDA6MDA6MWQuMDogUE1FIyBkaXNhYmxlZApbICAgIDcuOTM4NDczXSBwY2kgMDAwMDow
MDoxZi4wOiBbODA4NjoxYzRmXSB0eXBlIDAgY2xhc3MgMHgwMDA2MDEKWyAgICA3Ljk0NDk4M10g
cGNpIDAwMDA6MDA6MWYuMjogWzgwODY6MWMwM10gdHlwZSAwIGNsYXNzIDB4MDAwMTA2ClsgICAg
Ny45NTEyMDZdIHBjaSAwMDAwOjAwOjFmLjI6IHJlZyAxMDogW2lvICAweDUwYTgtMHg1MGFmXQpb
ICAgIDcuOTU2ODkxXSBwY2kgMDAwMDowMDoxZi4yOiByZWcgMTQ6IFtpbyAgMHg1MGJjLTB4NTBi
Zl0KWyAgICA3Ljk2MjYyMl0gcGNpIDAwMDA6MDA6MWYuMjogcmVnIDE4OiBbaW8gIDB4NTBhMC0w
eDUwYTddClsgICAgNy45NjgzMzhdIHBjaSAwMDAwOjAwOjFmLjI6IHJlZyAxYzogW2lvICAweDUw
YjgtMHg1MGJiXQpbICAgIDcuOTc0MDUwXSBwY2kgMDAwMDowMDoxZi4yOiByZWcgMjA6IFtpbyAg
MHg1MDYwLTB4NTA3Zl0KWyAgICA3Ljk3OTc2Nl0gcGNpIDAwMDA6MDA6MWYuMjogcmVnIDI0OiBb
bWVtIDB4ZjI2MjgwMDAtMHhmMjYyODdmZl0KWyAgICA3Ljk4NjMzMl0gcGNpIDAwMDA6MDA6MWYu
MjogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEM2hvdApbICAgIDcuOTkxNzkwXSBwY2kgMDAwMDowMDox
Zi4yOiBQTUUjIGRpc2FibGVkClsgICAgNy45OTYyNjNdIHBjaSAwMDAwOjAwOjFmLjM6IFs4MDg2
OjFjMjJdIHR5cGUgMCBjbGFzcyAweDAwMGMwNQpbICAgIDguMDAyNTM3XSBwY2kgMDAwMDowMDox
Zi4zOiByZWcgMTA6IFttZW0gMHhmMjYyNDAwMC0weGYyNjI0MGZmIDY0Yml0XQpbICAgIDguMDA5
NTY0XSBwY2kgMDAwMDowMDoxZi4zOiByZWcgMjA6IFtpbyAgMHhlZmEwLTB4ZWZiZl0KWyAgICA4
LjAxNTQxN10gcGNpIDAwMDA6MDA6MWMuMDogUENJIGJyaWRnZSB0byBbYnVzIDAyLTAyXQpbICAg
IDguMDIwODg3XSBwY2kgMDAwMDowMDoxYy4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGYwMDAt
MHgwMDAwXSAoZGlzYWJsZWQpClsgICAgOC4wMjgzMjNdIHBjaSAwMDAwOjAwOjFjLjA6ICAgYnJp
ZGdlIHdpbmRvdyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZl0gKGRpc2FibGVkKQpbICAgIDgu
MDM2NDk2XSBwY2kgMDAwMDowMDoxYy4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZmZjAwMDAw
LTB4MDAwZmZmZmYgcHJlZl0gKGRpc2FibGVkKQpbICAgIDguMDQ1NTA4XSBwY2kgMDAwMDowMzow
MC4wOiBbODA4Njo0MjM4XSB0eXBlIDAgY2xhc3MgMHgwMDAyODAKWyAgICA4LjA1MjA2MV0gcGNp
IDAwMDA6MDM6MDAuMDogcmVnIDEwOiBbbWVtIDB4ZjI1MDAwMDAtMHhmMjUwMWZmZiA2NGJpdF0K
WyAgICA4LjA2MDc3MV0gcGNpIDAwMDA6MDM6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBE
M2hvdCBEM2NvbGQKWyAgICA4LjA2NzE5Nl0gcGNpIDAwMDA6MDM6MDAuMDogUE1FIyBkaXNhYmxl
ZApbICAgIDguMDc2MTg5XSBwY2kgMDAwMDowMDoxYy4xOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDMt
MDNdClsgICAgOC4wODE2NTZdIHBjaSAwMDAwOjAwOjFjLjE6ICAgYnJpZGdlIHdpbmRvdyBbaW8g
IDB4ZjAwMC0weDAwMDBdIChkaXNhYmxlZCkKWyAgICA4LjA4OTExMF0gcGNpIDAwMDA6MDA6MWMu
MTogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmMjUwMDAwMC0weGYyNWZmZmZmXQpbICAgIDguMDk2
MzAyXSBwY2kgMDAwMDowMDoxYy4xOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZmZjAwMDAwLTB4
MDAwZmZmZmYgcHJlZl0gKGRpc2FibGVkKQpbICAgIDguMTA1MDU4XSBwY2kgMDAwMDowNTowMC4w
OiBbMTQxNTpjMTIwXSB0eXBlIDAgY2xhc3MgMHgwMDA3MDAKWyAgICA4LjExMTI3Ml0gcGNpIDAw
MDA6MDU6MDAuMDogcmVnIDEwOiBbaW8gIDB4NDAwMC0weDQwMDddClsgICAgOC4xMTcyMDZdIHBj
aSAwMDAwOjA1OjAwLjA6IHN1cHBvcnRzIEQxIEQyClsgICAgOC4xMjE2NTldIHBjaSAwMDAwOjA1
OjAwLjA6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDEgRDIgRDNob3QgRDNjb2xkClsgICAgOC4xMjgz
OTBdIHBjaSAwMDAwOjA1OjAwLjA6IFBNRSMgZGlzYWJsZWQKWyAgICA4LjEzNzAxMV0gcGNpIDAw
MDA6MDA6MWMuMzogUENJIGJyaWRnZSB0byBbYnVzIDA1LTBjXQpbICAgIDguMTQyNDg1XSBwY2kg
MDAwMDowMDoxYy4zOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDQwMDAtMHg0ZmZmXQpbICAgIDgu
MTQ4OTI2XSBwY2kgMDAwMDowMDoxYy4zOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGYxZDAwMDAw
LTB4ZjI0ZmZmZmZdClsgICAgOC4xNTYxMjNdIHBjaSAwMDAwOjAwOjFjLjM6ICAgYnJpZGdlIHdp
bmRvdyBbbWVtIDB4ZjA0MDAwMDAtMHhmMGJmZmZmZiA2NGJpdCBwcmVmXQpbICAgIDguMTY0NjMy
XSBwY2kgMDAwMDowZDowMC4wOiBbMTE4MDplODIyXSB0eXBlIDAgY2xhc3MgMHgwMDA4ODAKWyAg
ICA4LjE3MDk4NV0gcGNpIDAwMDA6MGQ6MDAuMDogcmVnIDEwOiBbbWVtIDB4ZjE1MDAwMDAtMHhm
MTUwMDBmZl0KWyAgICA4LjE3NzgwMl0gcGNpIDAwMDA6MGQ6MDAuMDogc3VwcG9ydHMgRDEgRDIK
WyAgICA4LjE4MjI2Ml0gcGNpIDAwMDA6MGQ6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBE
MSBEMiBEM2hvdCBEM2NvbGQKWyAgICA4LjE4OTQwMV0gcGNpIDAwMDA6MGQ6MDAuMDogUE1FIyBk
aXNhYmxlZApbICAgIDguMTk4MjcwXSBwY2kgMDAwMDowMDoxYy40OiBQQ0kgYnJpZGdlIHRvIFti
dXMgMGQtMGRdClsgICAgOC4yMDM3MzNdIHBjaSAwMDAwOjAwOjFjLjQ6ICAgYnJpZGdlIHdpbmRv
dyBbaW8gIDB4MzAwMC0weDNmZmZdClsgICAgOC4yMTAxNzldIHBjaSAwMDAwOjAwOjFjLjQ6ICAg
YnJpZGdlIHdpbmRvdyBbbWVtIDB4ZjE1MDAwMDAtMHhmMWNmZmZmZl0KWyAgICA4LjIxNzM5Ml0g
cGNpIDAwMDA6MDA6MWMuNDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmMGMwMDAwMC0weGYxM2Zm
ZmZmIDY0Yml0IHByZWZdClsgICAgOC4yMjU3MDhdIHBjaSAwMDAwOjBlOjAwLjA6IFsxMDMzOjAx
OTRdIHR5cGUgMCBjbGFzcyAweDAwMGMwMwpbICAgIDguMjMxOTQ3XSBwY2kgMDAwMDowZTowMC4w
OiByZWcgMTA6IFttZW0gMHhmMTQwMDAwMC0weGYxNDAxZmZmIDY0Yml0XQpbICAgIDguMjM5MTM3
XSBwY2kgMDAwMDowZTowMC4wOiBQTUUjIHN1cHBvcnRlZCBmcm9tIEQwIEQzaG90IEQzY29sZApb
ICAgIDguMjQ1NTAyXSBwY2kgMDAwMDowZTowMC4wOiBQTUUjIGRpc2FibGVkClsgICAgOC4yNTAw
NDNdIHBjaSAwMDAwOjAwOjFjLjY6IFBDSSBicmlkZ2UgdG8gW2J1cyAwZS0wZV0KWyAgICA4LjI1
NTUwM10gcGNpIDAwMDA6MDA6MWMuNjogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhmMDAwLTB4MDAw
MF0gKGRpc2FibGVkKQpbICAgIDguMjYyOTU1XSBwY2kgMDAwMDowMDoxYy42OiAgIGJyaWRnZSB3
aW5kb3cgW21lbSAweGYxNDAwMDAwLTB4ZjE0ZmZmZmZdClsgICAgOC4yNzAxMzRdIHBjaSAwMDAw
OjAwOjFjLjY6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZiBwcmVm
XSAoZGlzYWJsZWQpClsgICAgOC4yNzg3OThdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBU
YWJsZSBbXF9TQl8uUENJMC5fUFJUXQpbICAgIDguMjg1MDg1XSBBQ1BJOiBQQ0kgSW50ZXJydXB0
IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuRVhQMS5fUFJUXQpbICAgIDguMjkxNzU4XSBBQ1BJ
OiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuRVhQMi5fUFJUXQpbICAg
IDguMjk4NDg0XSBBQ1BJOiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAu
RVhQNC5fUFJUXQpbICAgIDguMzA1MjEwXSBBQ1BJOiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFi
bGUgW1xfU0JfLlBDSTAuRVhQNS5fUFJUXQpbICAgIDguMzExOTMzXSBBQ1BJOiBQQ0kgSW50ZXJy
dXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuRVhQNy5fUFJUXQpbICAgIDguMzE4Nzg2XSAg
cGNpMDAwMDowMDogUmVxdWVzdGluZyBBQ1BJIF9PU0MgY29udHJvbCAoMHgxZCkKWyAgICA4LjMy
NDkzMF0gIHBjaTAwMDA6MDA6IEFDUEkgX09TQyByZXF1ZXN0IGZhaWxlZCAoQUVfU1VQUE9SVCks
IHJldHVybmVkIGNvbnRyb2wgbWFzazogMHgwZApbICAgIDguMzMzNjU0XSBBQ1BJIF9PU0MgY29u
dHJvbCBmb3IgUENJZSBub3QgZ3JhbnRlZCwgZGlzYWJsaW5nIEFTUE0KKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDowMC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDIuMAooWEVO
KSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjE2LjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxNi4zCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTkuMAooWEVOKSBQQ0kgYWRkIGRl
dmljZSAwMDAwOjAwOjFhLjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxYi4wCihYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MWMuMAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAw
OjFjLjEKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxYy4zCihYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwMDA6MDA6MWMuNAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjFjLjYKKFhFTikg
UENJIGFkZCBkZXZpY2UgMDAwMDowMDoxZC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6
MWYuMAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjFmLjIKKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDoxZi4zCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDM6MDAuMAooWEVOKSBQ
Q0kgYWRkIGRldmljZSAwMDAwOjA1OjAwLjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowZDow
MC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MGU6MDAuMApbICAgIDguNDA1Mjc1XSBBQ1BJ
OiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0FdIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSkKWyAg
ICA4LjQxMjA3OV0gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktCXSAoSVJRcyAzIDQgNSA2
ICo3IDkgMTAgMTEpClsgICAgOC40MTg4ODVdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5L
Q10gKElSUXMgMyA0IDUgNiAqNyA5IDEwIDExKQpbICAgIDguNDI1NzA2XSBBQ1BJOiBQQ0kgSW50
ZXJydXB0IExpbmsgW0xOS0RdIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSkKWyAgICA4LjQzMjUw
OV0gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktFXSAoSVJRcyAzIDQgNSA2IDcgOSAqMTAg
MTEpClsgICAgOC40MzkzMjJdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LRl0gKElSUXMg
MyA0IDUgNiA3IDkgMTAgMTEpICowLCBkaXNhYmxlZC4KWyAgICA4LjQ0NzMxM10gQUNQSTogUENJ
IEludGVycnVwdCBMaW5rIFtMTktHXSAoSVJRcyAzIDQgNSA2IDcgOSAxMCAqMTEpClsgICAgOC40
NTQxMzJdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LSF0gKElSUXMgMyA0IDUgNiA3IDkg
KjEwIDExKQpbICAgIDguNDYwOTE3XSB4ZW4vYmFsbG9vbjogSW5pdGlhbGlzaW5nIGJhbGxvb24g
ZHJpdmVyLgpbICAgIDguNDY2MjU3XSBsYXN0X3BmbiA9IDB4MjZmODFhIG1heF9hcmNoX3BmbiA9
IDB4NDAwMDAwMDAwClsgICAgOC40NzQ4ODhdIHhlbi1iYWxsb29uOiBJbml0aWFsaXNpbmcgYmFs
bG9vbiBkcml2ZXIuClsgICAgOC40ODAyNjJdIHZnYWFyYjogZGV2aWNlIGFkZGVkOiBQQ0k6MDAw
MDowMDowMi4wLGRlY29kZXM9aW8rbWVtLG93bnM9aW8rbWVtLGxvY2tzPW5vbmUKWyAgICA4LjQ4
ODczOF0gdmdhYXJiOiBsb2FkZWQKWyAgICA4LjQ5MTYzOF0gdmdhYXJiOiBicmlkZ2UgY29udHJv
bCBwb3NzaWJsZSAwMDAwOjAwOjAyLjAKWyAgICA4LjQ5NzQwNF0gU0NTSSBzdWJzeXN0ZW0gaW5p
dGlhbGl6ZWQKWyAgICA4LjUwMTQxM10gbGliYXRhIHZlcnNpb24gMy4wMCBsb2FkZWQuClsgICAg
OC41MDU0NjNdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiZnMK
WyAgICA4LjUxMTI0OV0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBo
dWIKWyAgICA4LjUxNjkxM10gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1
c2IKWyAgICA4LjUyMjMxOF0gUENJOiBVc2luZyBBQ1BJIGZvciBJUlEgcm91dGluZwpbICAgIDgu
NTMxNDYxXSBQQ0k6IHBjaV9jYWNoZV9saW5lX3NpemUgc2V0IHRvIDY0IGJ5dGVzClsgICAgOC41
MzcwNDJdIHJlc2VydmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDAwMDA5ZDAwMCAtIDAwMDAwMDAwMDAw
OWZmZmYgClsgICAgOC41NDM0MDNdIHJlc2VydmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDBkYTk5ZjAw
MCAtIDAwMDAwMDAwZGJmZmZmZmYgClsgICAgOC41NTAxMjddIHJlc2VydmUgUkFNIGJ1ZmZlcjog
MDAwMDAwMDBkYjAwMDAwMCAtIDAwMDAwMDAwZGJmZmZmZmYgClsgICAgOC41NTY4NTJdIHJlc2Vy
dmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDFlOThmNTAwMCAtIDAwMDAwMDAxZWJmZmZmZmYgClsgICAg
OC41NjM1NjldIHJlc2VydmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDI2ZjgxYTAwMCAtIDAwMDAwMDAy
NmZmZmZmZmYgClsgICAgOC41NzAzODJdIE5ldExhYmVsOiBJbml0aWFsaXppbmcKWyAgICA4LjU3
NDIxM10gTmV0TGFiZWw6ICBkb21haW4gaGFzaCBzaXplID0gMTI4ClsgICAgOC41Nzg4NDNdIE5l
dExhYmVsOiAgcHJvdG9jb2xzID0gVU5MQUJFTEVEIENJUFNPdjQKWyAgICA4LjU4NDEyMF0gTmV0
TGFiZWw6ICB1bmxhYmVsZWQgdHJhZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHQKWyAgICA4LjU5MDA2
M10gU3dpdGNoaW5nIHRvIGNsb2Nrc291cmNlIHhlbgpbICAgIDguNTk4MjUzXSBTd2l0Y2hlZCB0
byBOT0h6IG1vZGUgb24gQ1BVICMwClsgICAgOC42MDE1OThdIFN3aXRjaGVkIHRvIE5PSHogbW9k
ZSBvbiBDUFUgIzMKWyAgICA4LjYwMTc4M10gU3dpdGNoZWQgdG8gTk9IeiBtb2RlIG9uIENQVSAj
MQpbICAgIDguNjA0MDYyXSBTd2l0Y2hlZCB0byBOT0h6IG1vZGUgb24gQ1BVICMyClsgICAgOC42
MTY4MTNdIEFwcEFybW9yOiBBcHBBcm1vciBGaWxlc3lzdGVtIEVuYWJsZWQKWyAgICA4LjYyMTcz
N10gcG5wOiBQblAgQUNQSSBpbml0ClsgICAgOC42MjUwMDhdIEFDUEk6IGJ1cyB0eXBlIHBucCBy
ZWdpc3RlcmVkClsgICAgOC42Mjk3MTZdIHBucCAwMDowMDogW21lbSAweDAwMDAwMDAwLTB4MDAw
OWZmZmZdClsgICAgOC42MzQ3MTVdIHBucCAwMDowMDogW21lbSAweDAwMGMwMDAwLTB4MDAwYzNm
ZmZdClsgICAgOC42Mzk4MDhdIHBucCAwMDowMDogW21lbSAweDAwMGM0MDAwLTB4MDAwYzdmZmZd
ClsgICAgOC42NDQ5MDddIHBucCAwMDowMDogW21lbSAweDAwMGM4MDAwLTB4MDAwY2JmZmZdClsg
ICAgOC42NDk5OTJdIHBucCAwMDowMDogW21lbSAweDAwMGNjMDAwLTB4MDAwY2ZmZmZdClsgICAg
OC42NTUwODVdIHBucCAwMDowMDogW21lbSAweDAwMGQwMDAwLTB4MDAwZDNmZmZdClsgICAgOC42
NjAxNzVdIHBucCAwMDowMDogW21lbSAweDAwMGQ0MDAwLTB4MDAwZDdmZmZdClsgICAgOC42NjUy
NjVdIHBucCAwMDowMDogW21lbSAweDAwMGQ4MDAwLTB4MDAwZGJmZmZdClsgICAgOC42NzAzNDhd
IHBucCAwMDowMDogW21lbSAweDAwMGRjMDAwLTB4MDAwZGZmZmZdClsgICAgOC42NzU0NDJdIHBu
cCAwMDowMDogW21lbSAweDAwMGUwMDAwLTB4MDAwZTNmZmZdClsgICAgOC42ODA1MjNdIHBucCAw
MDowMDogW21lbSAweDAwMGU0MDAwLTB4MDAwZTdmZmZdClsgICAgOC42ODU2MjRdIHBucCAwMDow
MDogW21lbSAweDAwMGU4MDAwLTB4MDAwZWJmZmZdClsgICAgOC42OTA3MjFdIHBucCAwMDowMDog
W21lbSAweDAwMGVjMDAwLTB4MDAwZWZmZmZdClsgICAgOC42OTU4MDddIHBucCAwMDowMDogW21l
bSAweDAwMGYwMDAwLTB4MDAwZmZmZmZdClsgICAgOC43MDA4OTZdIHBucCAwMDowMDogW21lbSAw
eDAwMTAwMDAwLTB4ZGY5ZmZmZmZdClsgICAgOC43MDU5ODFdIHBucCAwMDowMDogW21lbSAweGZl
YzAwMDAwLTB4ZmVkM2ZmZmZdClsgICAgOC43MTEwNjFdIHBucCAwMDowMDogW21lbSAweGZlZDRj
MDAwLTB4ZmZmZmZmZmZdClsgICAgOC43MTYyMDldIHN5c3RlbSAwMDowMDogW21lbSAweDAwMDAw
MDAwLTB4MDAwOWZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApbICAgIDguNzIzNTEyXSBzeXN0
ZW0gMDA6MDA6IFttZW0gMHgwMDBjMDAwMC0weDAwMGMzZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2
ZWQKWyAgICA4LjczMDg3Nl0gc3lzdGVtIDAwOjAwOiBbbWVtIDB4MDAwYzQwMDAtMHgwMDBjN2Zm
Zl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAgOC43MzgyNDZdIHN5c3RlbSAwMDowMDogW21l
bSAweDAwMGM4MDAwLTB4MDAwY2JmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApbICAgIDguNzQ1
NjA0XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBjYzAwMC0weDAwMGNmZmZmXSBjb3VsZCBub3Qg
YmUgcmVzZXJ2ZWQKWyAgICA4Ljc1Mjk2OF0gc3lzdGVtIDAwOjAwOiBbbWVtIDB4MDAwZDAwMDAt
MHgwMDBkM2ZmZl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAgOC43NjAzMzJdIHN5c3RlbSAw
MDowMDogW21lbSAweDAwMGQ0MDAwLTB4MDAwZDdmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApb
ICAgIDguNzY3Njg4XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBkODAwMC0weDAwMGRiZmZmXSBj
b3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4Ljc3NTA1M10gc3lzdGVtIDAwOjAwOiBbbWVtIDB4
MDAwZGMwMDAtMHgwMDBkZmZmZl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAgOC43ODI0MDhd
IHN5c3RlbSAwMDowMDogW21lbSAweDAwMGUwMDAwLTB4MDAwZTNmZmZdIGNvdWxkIG5vdCBiZSBy
ZXNlcnZlZApbICAgIDguNzg5NzY4XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBlNDAwMC0weDAw
MGU3ZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4Ljc5NzEyNl0gc3lzdGVtIDAwOjAw
OiBbbWVtIDB4MDAwZTgwMDAtMHgwMDBlYmZmZl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAg
OC44MDQ0OTddIHN5c3RlbSAwMDowMDogW21lbSAweDAwMGVjMDAwLTB4MDAwZWZmZmZdIGNvdWxk
IG5vdCBiZSByZXNlcnZlZApbICAgIDguODExODU5XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBm
MDAwMC0weDAwMGZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4LjgxOTIyMl0gc3lz
dGVtIDAwOjAwOiBbbWVtIDB4MDAxMDAwMDAtMHhkZjlmZmZmZl0gY291bGQgbm90IGJlIHJlc2Vy
dmVkClsgICAgOC44MjY1NzldIHN5c3RlbSAwMDowMDogW21lbSAweGZlYzAwMDAwLTB4ZmVkM2Zm
ZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApbICAgIDguODMzOTM1XSBzeXN0ZW0gMDA6MDA6IFtt
ZW0gMHhmZWQ0YzAwMC0weGZmZmZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4Ljg0
MTI5NV0gc3lzdGVtIDAwOjAwOiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgUE5QMGMw
MSAoYWN0aXZlKQpbICAgIDguODQ4NDg5XSBwbnAgMDA6MDE6IFtidXMgMDAtZmVdClsgICAgOC44
NTIxMDddIHBucCAwMDowMTogW2lvICAweDBjZjgtMHgwY2ZmXQpbICAgIDguODU2NDY0XSBwbnAg
MDA6MDE6IFtpbyAgMHgwMDAwLTB4MGNmNyB3aW5kb3ddClsgICAgOC44NjE0NTZdIHBucCAwMDow
MTogW2lvICAweDBkMDAtMHhmZmZmIHdpbmRvd10KWyAgICA4Ljg2NjQ0OV0gcG5wIDAwOjAxOiBb
bWVtIDB4MDAwYTAwMDAtMHgwMDBiZmZmZiB3aW5kb3ddClsgICAgOC44NzIxNzJdIHBucCAwMDow
MTogW21lbSAweDAwMGMwMDAwLTB4MDAwYzNmZmYgd2luZG93XQpbICAgIDguODc3ODkwXSBwbnAg
MDA6MDE6IFttZW0gMHgwMDBjNDAwMC0weDAwMGM3ZmZmIHdpbmRvd10KWyAgICA4Ljg4MzYxM10g
cG5wIDAwOjAxOiBbbWVtIDB4MDAwYzgwMDAtMHgwMDBjYmZmZiB3aW5kb3ddClsgICAgOC44ODkz
MzVdIHBucCAwMDowMTogW21lbSAweDAwMGNjMDAwLTB4MDAwY2ZmZmYgd2luZG93XQpbICAgIDgu
ODk1MDU5XSBwbnAgMDA6MDE6IFttZW0gMHgwMDBkMDAwMC0weDAwMGQzZmZmIHdpbmRvd10KWyAg
ICA4LjkwMDc3NV0gcG5wIDAwOjAxOiBbbWVtIDB4MDAwZDQwMDAtMHgwMDBkN2ZmZiB3aW5kb3dd
ClsgICAgOC45MDY1MDBdIHBucCAwMDowMTogW21lbSAweDAwMGQ4MDAwLTB4MDAwZGJmZmYgd2lu
ZG93XQpbICAgIDguOTEyMjI5XSBwbnAgMDA6MDE6IFttZW0gMHgwMDBkYzAwMC0weDAwMGRmZmZm
IHdpbmRvd10KWyAgICA4LjkxNzk1M10gcG5wIDAwOjAxOiBbbWVtIDB4MDAwZTAwMDAtMHgwMDBl
M2ZmZiB3aW5kb3ddClsgICAgOC45MjM2ODddIHBucCAwMDowMTogW21lbSAweDAwMGU0MDAwLTB4
MDAwZTdmZmYgd2luZG93XQpbICAgIDguOTI5NDE0XSBwbnAgMDA6MDE6IFttZW0gMHgwMDBlODAw
MC0weDAwMGViZmZmIHdpbmRvd10KWyAgICA4LjkzNTEzOF0gcG5wIDAwOjAxOiBbbWVtIDB4MDAw
ZWMwMDAtMHgwMDBlZmZmZiB3aW5kb3ddClsgICAgOC45NDA4NTFdIHBucCAwMDowMTogW21lbSAw
eGRmYTAwMDAwLTB4ZmViZmZmZmYgd2luZG93XQpbICAgIDguOTQ2NTg1XSBwbnAgMDA6MDE6IFtt
ZW0gMHhmZWQ0MDAwMC0weGZlZDRiZmZmIHdpbmRvd10KWyAgICA4Ljk1MjM1NF0gcG5wIDAwOjAx
OiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgUE5QMGEwOCBQTlAwYTAzIChhY3RpdmUp
ClsgICAgOC45NjAwMDJdIHBucCAwMDowMjogW2lvICAweDAwMTAtMHgwMDFmXQpbICAgIDguOTY0
Mjk4XSBwbnAgMDA6MDI6IFtpbyAgMHgwMDkwLTB4MDA5Zl0KWyAgICA4Ljk2ODY1OV0gcG5wIDAw
OjAyOiBbaW8gIDB4MDAyNC0weDAwMjVdClsgICAgOC45NzMwMTRdIHBucCAwMDowMjogW2lvICAw
eDAwMjgtMHgwMDI5XQpbICAgIDguOTc3MzYxXSBwbnAgMDA6MDI6IFtpbyAgMHgwMDJjLTB4MDAy
ZF0KWyAgICA4Ljk4MTcyNV0gcG5wIDAwOjAyOiBbaW8gIDB4MDAzMC0weDAwMzFdClsgICAgOC45
ODYwODhdIHBucCAwMDowMjogW2lvICAweDAwMzQtMHgwMDM1XQpbICAgIDguOTkwNDUyXSBwbnAg
MDA6MDI6IFtpbyAgMHgwMDM4LTB4MDAzOV0KWyAgICA4Ljk5NDgxMl0gcG5wIDAwOjAyOiBbaW8g
IDB4MDAzYy0weDAwM2RdClsgICAgOC45OTkxNzZdIHBucCAwMDowMjogW2lvICAweDAwYTQtMHgw
MGE1XQpbICAgIDkuMDAzNTMxXSBwbnAgMDA6MDI6IFtpbyAgMHgwMGE4LTB4MDBhOV0KWyAgICA5
LjAwNzg5Ml0gcG5wIDAwOjAyOiBbaW8gIDB4MDBhYy0weDAwYWRdClsgICAgOS4wMTIyNjRdIHBu
cCAwMDowMjogW2lvICAweDAwYjAtMHgwMGI1XQpbICAgIDkuMDE2NjI3XSBwbnAgMDA6MDI6IFtp
byAgMHgwMGI4LTB4MDBiOV0KWyAgICA5LjAyMDk4Ml0gcG5wIDAwOjAyOiBbaW8gIDB4MDBiYy0w
eDAwYmRdClsgICAgOS4wMjUzNDNdIHBucCAwMDowMjogW2lvICAweDAwNTAtMHgwMDUzXQpbICAg
IDkuMDI5NzAwXSBwbnAgMDA6MDI6IFtpbyAgMHgwMDcyLTB4MDA3N10KWyAgICA5LjAzNDA2NF0g
cG5wIDAwOjAyOiBbaW8gIDB4MDQwMC0weDA0N2ZdClsgICAgOS4wMzg0MzFdIHBucCAwMDowMjog
W2lvICAweDA1MDAtMHgwNTdmXQpbICAgIDkuMDQyNzk4XSBwbnAgMDA6MDI6IFtpbyAgMHgwODAw
LTB4MDgwZl0KWyAgICA5LjA0NzE1OV0gcG5wIDAwOjAyOiBbaW8gIDB4MTVlMC0weDE1ZWZdClsg
ICAgOS4wNTE1MThdIHBucCAwMDowMjogW2lvICAweDE2MDAtMHgxNjdmXQpbICAgIDkuMDU1ODc2
XSBwbnAgMDA6MDI6IFttZW0gMHhmODAwMDAwMC0weGZiZmZmZmZmXQpbICAgIDkuMDYwOTYxXSBw
bnAgMDA6MDI6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpbICAgIDkuMDY2MDUyXSBwbnAg
MDA6MDI6IFttZW0gMHhmZWQxYzAwMC0weGZlZDFmZmZmXQpbICAgIDkuMDcxMTM4XSBwbnAgMDA6
MDI6IFttZW0gMHhmZWQxMDAwMC0weGZlZDEzZmZmXQpbICAgIDkuMDc2MjI2XSBwbnAgMDA6MDI6
IFttZW0gMHhmZWQxODAwMC0weGZlZDE4ZmZmXQpbICAgIDkuMDgxMzE4XSBwbnAgMDA6MDI6IFtt
ZW0gMHhmZWQxOTAwMC0weGZlZDE5ZmZmXQpbICAgIDkuMDg2NDAzXSBwbnAgMDA6MDI6IFttZW0g
MHhmZWQ0NTAwMC0weGZlZDRiZmZmXQpbICAgIDkuMDkxNTQxXSBzeXN0ZW0gMDA6MDI6IFtpbyAg
MHgwNDAwLTB4MDQ3Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKWyAgICA5LjA5Nzc1NV0gc3lzdGVtIDAw
OjAyOiBbaW8gIDB4MDUwMC0weDA1N2ZdIGhhcyBiZWVuIHJlc2VydmVkClsgICAgOS4xMDQwMjhd
IHN5c3RlbSAwMDowMjogW2lvICAweDA4MDAtMHgwODBmXSBoYXMgYmVlbiByZXNlcnZlZApbICAg
IDkuMTEwMjk2XSBzeXN0ZW0gMDA6MDI6IFtpbyAgMHgxNWUwLTB4MTVlZl0gaGFzIGJlZW4gcmVz
ZXJ2ZWQKWyAgICA5LjExNjU2NV0gc3lzdGVtIDAwOjAyOiBbaW8gIDB4MTYwMC0weDE2N2ZdIGhh
cyBiZWVuIHJlc2VydmVkClsgICAgOS4xMjI4MzJdIHN5c3RlbSAwMDowMjogW21lbSAweGY4MDAw
MDAwLTB4ZmJmZmZmZmZdIGhhcyBiZWVuIHJlc2VydmVkClsgICAgOS4xMjk4MzZdIHN5c3RlbSAw
MDowMjogW21lbSAweDAwMDAwMDAwLTB4MDAwMDBmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApb
ICAgIDkuMTM3MjA1XSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQxYzAwMC0weGZlZDFmZmZmXSBo
YXMgYmVlbiByZXNlcnZlZApbICAgIDkuMTQ0MjAyXSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQx
MDAwMC0weGZlZDEzZmZmXSBoYXMgYmVlbiByZXNlcnZlZApbICAgIDkuMTUxMTk5XSBzeXN0ZW0g
MDA6MDI6IFttZW0gMHhmZWQxODAwMC0weGZlZDE4ZmZmXSBoYXMgYmVlbiByZXNlcnZlZApbICAg
IDkuMTU4MTg5XSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQxOTAwMC0weGZlZDE5ZmZmXSBoYXMg
YmVlbiByZXNlcnZlZApbICAgIDkuMTY1MTg2XSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQ0NTAw
MC0weGZlZDRiZmZmXSBoYXMgYmVlbiByZXNlcnZlZApbICAgIDkuMTcyMTg1XSBzeXN0ZW0gMDA6
MDI6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwYzAyIChhY3RpdmUpClsgICAg
OS4xNzkzOTddIHBucCAwMDowMzogW21lbSAweGZlZDAwMDAwLTB4ZmVkMDAzZmZdClsgICAgOS4x
ODQ0NjRdIHBucCAwMDowMzogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDAxMDMg
KGFjdGl2ZSkKWyAgICA5LjE5MTM0N10gcG5wIDAwOjA0OiBbaW8gIDB4MDAwMC0weDAwMGZdClsg
ICAgOS4xOTU2NzZdIHBucCAwMDowNDogW2lvICAweDAwODAtMHgwMDhmXQpbICAgIDkuMjAwMDI1
XSBwbnAgMDA6MDQ6IFtpbyAgMHgwMGMwLTB4MDBkZl0KWyAgICA5LjIwNDM4N10gcG5wIDAwOjA0
OiBbZG1hIDRdClsgICAgOS4yMDc2OThdIHBucCAwMDowNDogUGx1ZyBhbmQgUGxheSBBQ1BJIGRl
dmljZSwgSURzIFBOUDAyMDAgKGFjdGl2ZSkKWyAgICA5LjIxNDU2Ml0gcG5wIDAwOjA1OiBbaW8g
IDB4MDA2MV0KWyAgICA5LjIxODMzOF0gcG5wIDAwOjA1OiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2
aWNlLCBJRHMgUE5QMDgwMCAoYWN0aXZlKQpbICAgIDkuMjI1MjMxXSBwbnAgMDA6MDY6IFtpbyAg
MHgwMGYwXQpbICAgIDkuMjI4OTU0XSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAxMyB0cmlnZ2VyaW5n
IDEgcG9sYXJpdHkgMApbICAgIDkuMjM0ODQyXSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcg
aXJxIDEzIGZvciBnc2kgMTMKWyAgICA5LjI0MDU2Nl0geGVuOiAtLT4gcGlycT0xMyAtPiBpcnE9
MTMgKGdzaT0xMykKWyAgICA5LjI0NTQxM10gcG5wIDAwOjA2OiBbaXJxIDEzXQpbICAgIDkuMjQ4
NzY1XSBwbnAgMDA6MDY6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwYzA0IChh
Y3RpdmUpClsgICAgOS4yNTU2NzRdIHBucCAwMDowNzogW2lvICAweDAwNzAtMHgwMDcxXQpbICAg
IDkuMjYwMDMzXSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSA4IHRyaWdnZXJpbmcgMSBwb2xhcml0eSAw
ClsgICAgOS4yNjU4NDFdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgOCBmb3IgZ3Np
IDgKWyAgICA5LjI3MTM3Nl0geGVuOiAtLT4gcGlycT04IC0+IGlycT04IChnc2k9OCkKWyAgICA5
LjI3NTk0M10gcG5wIDAwOjA3OiBbaXJxIDhdClsgICAgOS4yNzkyMTVdIHBucCAwMDowNzogUGx1
ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDBiMDAgKGFjdGl2ZSkKWyAgICA5LjI4NjA5
N10gcG5wIDAwOjA4OiBbaW8gIDB4MDA2MF0KWyAgICA5LjI4OTgxMV0gcG5wIDAwOjA4OiBbaW8g
IDB4MDA2NF0KWyAgICA5LjI5MzUzOF0geGVuOiByZWdpc3RlcmluZyBnc2kgMSB0cmlnZ2VyaW5n
IDEgcG9sYXJpdHkgMApbICAgIDkuMjk5MzQ2XSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcg
aXJxIDEgZm9yIGdzaSAxClsgICAgOS4zMDQ4OTNdIHhlbjogLS0+IHBpcnE9MSAtPiBpcnE9MSAo
Z3NpPTEpClsgICAgOS4zMDk0NDldIHBucCAwMDowODogW2lycSAxXQpbICAgIDkuMzEyNzIxXSBw
bnAgMDA6MDg6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwMzAzIChhY3RpdmUp
ClsgICAgOS4zMTk2MThdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDEyIHRyaWdnZXJpbmcgMSBwb2xh
cml0eSAwClsgICAgOS4zMjU1MjFdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTIg
Zm9yIGdzaSAxMgpbICAgIDkuMzMxMjQ2XSB4ZW46IC0tPiBwaXJxPTEyIC0+IGlycT0xMiAoZ3Np
PTEyKQpbICAgIDkuMzM2MDg2XSBwbnAgMDA6MDk6IFtpcnEgMTJdClsgICAgOS4zMzk0NTNdIHBu
cCAwMDowOTogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIExFTjAwMjAgUE5QMGYxMyAo
YWN0aXZlKQpbICAgIDkuMzQ3MDgyXSBwbnAgMDA6MGE6IFttZW0gMHhmZWQ0MDAwMC0weGZlZDQ0
ZmZmXQpbICAgIDkuMzUyMTQzXSBwbnAgMDA6MGE6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2Us
IElEcyBTTU8xMjAwIFBOUDBjMzEgKGFjdGl2ZSkKWyAgICA5LjM2MDQwOV0gcG5wOiBQblAgQUNQ
STogZm91bmQgMTEgZGV2aWNlcwpbICAgIDkuMzY0NzgyXSBBQ1BJOiBBQ1BJIGJ1cyB0eXBlIHBu
cCB1bnJlZ2lzdGVyZWQKWyAgICA5LjM3NTA1NF0gUE0tVGltZXIgZmFpbGVkIGNvbnNpc3RlbmN5
IGNoZWNrICAoMHgweGZmZmZmZikgLSBhYm9ydGluZy4KWyAgICA5LjM4MTk4N10gUENJOiBtYXgg
YnVzIGRlcHRoOiAxIHBjaV90cnlfbnVtOiAyClsgICAgOS4zODY5NThdIHBjaSAwMDAwOjAwOjFj
LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0wMl0KWyAgICA5LjM5MjQxNF0gcGNpIDAwMDA6MDA6
MWMuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgZGlzYWJsZWRdClsgICAgOS4zOTg0MTldIHBjaSAw
MDAwOjAwOjFjLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIGRpc2FibGVkXQpbICAgIDkuNDA0NDE3
XSBwY2kgMDAwMDowMDoxYy4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSBwcmVmIGRpc2FibGVkXQpb
ICAgIDkuNDEwODgzXSBwY2kgMDAwMDowMDoxYy4xOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDMtMDNd
ClsgICAgOS40MTY0MDldIHBjaSAwMDAwOjAwOjFjLjE6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIGRp
c2FibGVkXQpbICAgIDkuNDIyNDE2XSBwY2kgMDAwMDowMDoxYy4xOiAgIGJyaWRnZSB3aW5kb3cg
W21lbSAweGYyNTAwMDAwLTB4ZjI1ZmZmZmZdClsgICAgOS40Mjk1OTZdIHBjaSAwMDAwOjAwOjFj
LjE6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIHByZWYgZGlzYWJsZWRdClsgICAgOS40MzYwMzFdIHBj
aSAwMDAwOjAwOjFjLjM6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNS0wY10KWyAgICA5LjQ0MTU2NV0g
cGNpIDAwMDA6MDA6MWMuMzogICBicmlkZ2Ugd2luZG93IFtpbyAgMHg0MDAwLTB4NGZmZl0KWyAg
ICA5LjQ0ODAyN10gcGNpIDAwMDA6MDA6MWMuMzogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmMWQw
MDAwMC0weGYyNGZmZmZmXQpbICAgIDkuNDU1MjAwXSBwY2kgMDAwMDowMDoxYy4zOiAgIGJyaWRn
ZSB3aW5kb3cgW21lbSAweGYwNDAwMDAwLTB4ZjBiZmZmZmYgNjRiaXQgcHJlZl0KWyAgICA5LjQ2
MzM4M10gcGNpIDAwMDA6MDA6MWMuNDogUENJIGJyaWRnZSB0byBbYnVzIDBkLTBkXQpbICAgIDku
NDY4OTIwXSBwY2kgMDAwMDowMDoxYy40OiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDMwMDAtMHgz
ZmZmXQpbICAgIDkuNDc1Mzc1XSBwY2kgMDAwMDowMDoxYy40OiAgIGJyaWRnZSB3aW5kb3cgW21l
bSAweGYxNTAwMDAwLTB4ZjFjZmZmZmZdClsgICAgOS40ODI1NjddIHBjaSAwMDAwOjAwOjFjLjQ6
ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZjBjMDAwMDAtMHhmMTNmZmZmZiA2NGJpdCBwcmVmXQpb
ICAgIDkuNDkwNzUyXSBwY2kgMDAwMDowMDoxYy42OiBQQ0kgYnJpZGdlIHRvIFtidXMgMGUtMGVd
ClsgICAgOS40OTYyNzhdIHBjaSAwMDAwOjAwOjFjLjY6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIGRp
c2FibGVkXQpbICAgIDkuNTAyMjkxXSBwY2kgMDAwMDowMDoxYy42OiAgIGJyaWRnZSB3aW5kb3cg
W21lbSAweGYxNDAwMDAwLTB4ZjE0ZmZmZmZdClsgICAgOS41MDk0NzBdIHBjaSAwMDAwOjAwOjFj
LjY6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIHByZWYgZGlzYWJsZWRdClsgICAgOS41MTU5NDNdIHhl
bjogcmVnaXN0ZXJpbmcgZ3NpIDE2IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICAgOS41MjE4
NDhdIHhlbjogLS0+IHBpcnE9MTYgLT4gaXJxPTE2IChnc2k9MTYpClsgICAgOS41MjY2NzRdIHBj
aSAwMDAwOjAwOjFjLjA6IFBDSSBJTlQgQSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAx
NgpbICAgIDkuNTMzNzQyXSBwY2kgMDAwMDowMDoxYy4wOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIg
dG8gNjQKWyAgICA5LjUzOTQ3M10geGVuOiByZWdpc3RlcmluZyBnc2kgMTcgdHJpZ2dlcmluZyAw
IHBvbGFyaXR5IDEKWyAgICA5LjU0NTM4M10geGVuOiAtLT4gcGlycT0xNyAtPiBpcnE9MTcgKGdz
aT0xNykKWyAgICA5LjU1MDIxMF0gcGNpIDAwMDA6MDA6MWMuMTogUENJIElOVCBCIC0+IEdTSSAx
NyAobGV2ZWwsIGxvdykgLT4gSVJRIDE3ClsgICAgOS41NTcyOTZdIHBjaSAwMDAwOjAwOjFjLjE6
IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0byA2NApbICAgIDkuNTYzMDMzXSB4ZW46IHJlZ2lzdGVy
aW5nIGdzaSAxOSB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgIDkuNTY4OTQ1XSB4ZW46IC0t
PiBwaXJxPTE5IC0+IGlycT0xOSAoZ3NpPTE5KQpbICAgIDkuNTczNzg2XSBwY2kgMDAwMDowMDox
Yy4zOiBQQ0kgSU5UIEQgLT4gR1NJIDE5IChsZXZlbCwgbG93KSAtPiBJUlEgMTkKWyAgICA5LjU4
MDg2MV0gcGNpIDAwMDA6MDA6MWMuMzogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0ClsgICAg
OS41ODY1NzddIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDE2IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAx
ClsgICAgOS41OTI0NzRdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTYgZm9yIGdz
aSAxNgpbICAgIDkuNTk4MjAwXSB4ZW46IC0tPiBwaXJxPTE2IC0+IGlycT0xNiAoZ3NpPTE2KQpb
ICAgIDkuNjAzMDE0XSBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE2ClsgICAgOS42MDY5MDNdIHBj
aSAwMDAwOjAwOjFjLjQ6IFBDSSBJTlQgQSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAx
NgpbICAgIDkuNjEzOTkxXSBwY2kgMDAwMDowMDoxYy40OiBzZXR0aW5nIGxhdGVuY3kgdGltZXIg
dG8gNjQKWyAgICA5LjYxOTcwM10geGVuOiByZWdpc3RlcmluZyBnc2kgMTggdHJpZ2dlcmluZyAw
IHBvbGFyaXR5IDEKWyAgICA5LjYyNTYwN10geGVuOiAtLT4gcGlycT0xOCAtPiBpcnE9MTggKGdz
aT0xOCkKWyAgICA5LjYzMDQ0N10gcGNpIDAwMDA6MDA6MWMuNjogUENJIElOVCBDIC0+IEdTSSAx
OCAobGV2ZWwsIGxvdykgLT4gSVJRIDE4ClsgICAgOS42Mzc1MDZdIHBjaSAwMDAwOjAwOjFjLjY6
IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0byA2NApbICAgIDkuNjQzMjI0XSBwY2lfYnVzIDAwMDA6
MDA6IHJlc291cmNlIDQgW2lvICAweDAwMDAtMHgwY2Y3XQpbICAgIDkuNjQ5MTE4XSBwY2lfYnVz
IDAwMDA6MDA6IHJlc291cmNlIDUgW2lvICAweDBkMDAtMHhmZmZmXQpbICAgIDkuNjU1MDQwXSBw
Y2lfYnVzIDAwMDA6MDA6IHJlc291cmNlIDYgW21lbSAweDAwMGEwMDAwLTB4MDAwYmZmZmZdClsg
ICAgOS42NjE2NzhdIHBjaV9idXMgMDAwMDowMDogcmVzb3VyY2UgNyBbbWVtIDB4ZGZhMDAwMDAt
MHhmZWJmZmZmZl0KWyAgICA5LjY2ODMxMF0gcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSA4IFtt
ZW0gMHhmZWQ0MDAwMC0weGZlZDRiZmZmXQpbICAgIDkuNjc0OTM5XSBwY2lfYnVzIDAwMDA6MDM6
IHJlc291cmNlIDEgW21lbSAweGYyNTAwMDAwLTB4ZjI1ZmZmZmZdClsgICAgOS42ODE1NTldIHBj
aV9idXMgMDAwMDowNTogcmVzb3VyY2UgMCBbaW8gIDB4NDAwMC0weDRmZmZdClsgICAgOS42ODc0
NjRdIHBjaV9idXMgMDAwMDowNTogcmVzb3VyY2UgMSBbbWVtIDB4ZjFkMDAwMDAtMHhmMjRmZmZm
Zl0KWyAgICA5LjY5NDEwOV0gcGNpX2J1cyAwMDAwOjA1OiByZXNvdXJjZSAyIFttZW0gMHhmMDQw
MDAwMC0weGYwYmZmZmZmIDY0Yml0IHByZWZdClsgICAgOS43MDE3MzRdIHBjaV9idXMgMDAwMDow
ZDogcmVzb3VyY2UgMCBbaW8gIDB4MzAwMC0weDNmZmZdClsgICAgOS43MDc2MzldIHBjaV9idXMg
MDAwMDowZDogcmVzb3VyY2UgMSBbbWVtIDB4ZjE1MDAwMDAtMHhmMWNmZmZmZl0KWyAgICA5Ljcx
NDI3Ml0gcGNpX2J1cyAwMDAwOjBkOiByZXNvdXJjZSAyIFttZW0gMHhmMGMwMDAwMC0weGYxM2Zm
ZmZmIDY0Yml0IHByZWZdClsgICAgOS43MjE4OTVdIHBjaV9idXMgMDAwMDowZTogcmVzb3VyY2Ug
MSBbbWVtIDB4ZjE0MDAwMDAtMHhmMTRmZmZmZl0KWyAgICA5LjcyODU2OV0gTkVUOiBSZWdpc3Rl
cmVkIHByb3RvY29sIGZhbWlseSAyClsgICAgOS43MzQzMzldIElQIHJvdXRlIGNhY2hlIGhhc2gg
dGFibGUgZW50cmllczogNTI0Mjg4IChvcmRlcjogMTAsIDQxOTQzMDQgYnl0ZXMpClsgICAgOS43
NDYxNzZdIFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6IDUyNDI4OCAob3JkZXI6
IDExLCA4Mzg4NjA4IGJ5dGVzKQpbICAgIDkuNzU1MzMxXSBUQ1AgYmluZCBoYXNoIHRhYmxlIGVu
dHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3NiBieXRlcykKWyAgICA5Ljc2MjQ1Nl0gVENQ
OiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChlc3RhYmxpc2hlZCA1MjQyODggYmluZCA2NTUzNikK
WyAgICA5Ljc2OTM4OF0gVENQIHJlbm8gcmVnaXN0ZXJlZApbICAgIDkuNzcyODEyXSBVRFAgaGFz
aCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzKQpbICAgIDkuNzc5
MzMxXSBVRFAtTGl0ZSBoYXNoIHRhYmxlIGVudHJpZXM6IDgxOTIgKG9yZGVyOiA2LCAyNjIxNDQg
Ynl0ZXMpClsgICAgOS43ODYyNjldIE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQpb
ICAgIDkuNzkwODI3XSBwY2kgMDAwMDowMDowMi4wOiBCb290IHZpZGVvIGRldmljZQpbICAgIDku
Nzk1OTY4XSBQQ0k6IENMUyA2NCBieXRlcywgZGVmYXVsdCA2NApbICAgIDkuODAwNTQ2XSBhdWRp
dDogaW5pdGlhbGl6aW5nIG5ldGxpbmsgc29ja2V0IChkaXNhYmxlZCkKWyAgICA5LjgwNjIwM10g
dHlwZT0yMDAwIGF1ZGl0KDEzMzYyMTU1MDUuODAyOjEpOiBpbml0aWFsaXplZApbICAgIDkuODM2
Njg5XSBIdWdlVExCIHJlZ2lzdGVyZWQgMiBNQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0ZWQgMCBw
YWdlcwpbICAgIDkuODQ0NTI2XSBWRlM6IERpc2sgcXVvdGFzIGRxdW90XzYuNS4yClsgICAgOS44
NDg2NzhdIERxdW90LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2
IGJ5dGVzKQpbICAgIDkuODU1ODcxXSBmdXNlIGluaXQgKEFQSSB2ZXJzaW9uIDcuMTYpClsgICAg
OS44NjAwMzhdIG1zZ21uaSBoYXMgYmVlbiBzZXQgdG8gMTM5ODkKWyAgICA5Ljg2NDY4OF0gQmxv
Y2sgbGF5ZXIgU0NTSSBnZW5lcmljIChic2cpIGRyaXZlciB2ZXJzaW9uIDAuNCBsb2FkZWQgKG1h
am9yIDI1MykKWyAgICA5Ljg3MjQ0OV0gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZApbICAg
IDkuODc2NTc3XSBpbyBzY2hlZHVsZXIgZGVhZGxpbmUgcmVnaXN0ZXJlZApbICAgIDkuODgxMTU3
XSBpbyBzY2hlZHVsZXIgY2ZxIHJlZ2lzdGVyZWQgKGRlZmF1bHQpClsgICAgOS44ODY3MzBdIHBj
aV9ob3RwbHVnOiBQQ0kgSG90IFBsdWcgUENJIENvcmUgdmVyc2lvbjogMC41ClsgICAgOS44OTI1
NjNdIHBjaWVocDogUENJIEV4cHJlc3MgSG90IFBsdWcgQ29udHJvbGxlciBEcml2ZXIgdmVyc2lv
bjogMC40ClsgICAgOS44OTk4MTZdIEFDUEk6IERlcHJlY2F0ZWQgcHJvY2ZzIEkvRiBmb3IgQUMg
aXMgbG9hZGVkLCBwbGVhc2UgcmV0cnkgd2l0aCBDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVIgY2xl
YXJlZApbICAgIDkuOTEwMjk4XSBBQ1BJOiBBQyBBZGFwdGVyIFtBQ10gKG9uLWxpbmUpClsgICAg
OS45MTQ4ODldIGlucHV0OiBMaWQgU3dpdGNoIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL2Rldmlj
ZTowMC9QTlAwQzBEOjAwL2lucHV0L2lucHV0MApbICAgIDkuOTIzNjE2XSBBQ1BJOiBMaWQgU3dp
dGNoIFtMSURdClsgICAgOS45MjcxODNdIGlucHV0OiBTbGVlcCBCdXR0b24gYXMgL2RldmljZXMv
TE5YU1lTVE06MDAvZGV2aWNlOjAwL1BOUDBDMEU6MDAvaW5wdXQvaW5wdXQxClsgICAgOS45MzU3
NzNdIEFDUEk6IFNsZWVwIEJ1dHRvbiBbU0xQQl0KWyAgICA5LjkzOTcyMV0gaW5wdXQ6IFBvd2Vy
IEJ1dHRvbiBhcyAvZGV2aWNlcy9MTlhTWVNUTTowMC9MTlhQV1JCTjowMC9pbnB1dC9pbnB1dDIK
WyAgICA5Ljk0NzQ3OF0gQUNQSTogUG93ZXIgQnV0dG9uIFtQV1JGXQpbICAgIDkuOTUxNDE3XSBB
Q1BJOiBhY3BpX2lkbGUgcmVnaXN0ZXJlZCB3aXRoIGNwdWlkbGUKWyAgICA5Ljk2MDAzNV0gdGhl
cm1hbCBMTlhUSEVSTTowMDogcmVnaXN0ZXJlZCBhcyB0aGVybWFsX3pvbmUwClsgICAgOS45NjU5
MzldIEFDUEk6IFRoZXJtYWwgWm9uZSBbVEhNMF0gKDYwIEMpClsgICAgOS45NzA0OTZdIEFDUEk6
IERlcHJlY2F0ZWQgcHJvY2ZzIEkvRiBmb3IgYmF0dGVyeSBpcyBsb2FkZWQsIHBsZWFzZSByZXRy
eSB3aXRoIENPTkZJR19BQ1BJX1BST0NGU19QT1dFUiBjbGVhcmVkClsgICAgOS45ODEzMTFdIEVS
U1Q6IFRhYmxlIGlzIG5vdCBmb3VuZCEKWyAgICA5Ljk4NTY0Nl0gU2VyaWFsOiA4MjUwLzE2NTUw
IGRyaXZlciwgMzIgcG9ydHMsIElSUSBzaGFyaW5nIGVuYWJsZWQKWyAgIDEwLjAxMTQxNV0gQUNQ
STogQmF0dGVyeSBTbG90IFtCQVQwXSAoYmF0dGVyeSBwcmVzZW50KQpbICAgMTAuMDYyNDQyXSB4
ZW46IHJlZ2lzdGVyaW5nIGdzaSAxOSB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgMTAuMDY4
Mjc0XSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE5IGZvciBnc2kgMTkKWyAgIDEw
LjA3Mzk5N10geGVuOiAtLT4gcGlycT0xOSAtPiBpcnE9MTkgKGdzaT0xOSkKWyAgIDEwLjA3ODgz
MV0gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxOQpbICAgMTAuMDgyNzM0XSBzZXJpYWwgMDAwMDow
MDoxNi4zOiBQQ0kgSU5UIEIgLT4gR1NJIDE5IChsZXZlbCwgbG93KSAtPiBJUlEgMTkKWyAgIDEw
LjExMDcwOV0gMDAwMDowMDoxNi4zOiB0dHlTNCBhdCBJL08gMHg1MGIwIChpcnEgPSAxOSkgaXMg
YSAxNjU1MEEKWyAgIDEwLjExNzQzNV0geGVuOiByZWdpc3RlcmluZyBnc2kgMTkgdHJpZ2dlcmlu
ZyAwIHBvbGFyaXR5IDEKWyAgIDEwLjEyMzI0NF0geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5n
IGlycSAxOSBmb3IgZ3NpIDE5ClsgICAxMC4xMjg5NDRdIHhlbjogLS0+IHBpcnE9MTkgLT4gaXJx
PTE5IChnc2k9MTkpClsgICAxMC4xMzM3NTddIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTkKWyAg
IDEwLjEzNzYzNV0gc2VyaWFsIDAwMDA6MDU6MDAuMDogUENJIElOVCBBIC0+IEdTSSAxOSAobGV2
ZWwsIGxvdykgLT4gSVJRIDE5ClsgICAxMC4xNDUyMDFdIGhwZXRfYWNwaV9hZGQ6IG5vIGFkZHJl
c3Mgb3IgaXJxcyBpbiBfQ1JTClsgICAxMC4xNTA0OTJdIExpbnV4IGFncGdhcnQgaW50ZXJmYWNl
IHYwLjEwMwpbICAgMTAuMTU0OTM2XSBhZ3BnYXJ0LWludGVsIDAwMDA6MDA6MDAuMDogSW50ZWwg
U2FuZHlicmlkZ2UgQ2hpcHNldApbICAgMTAuMTYxNTE4XSBhZ3BnYXJ0LWludGVsIDAwMDA6MDA6
MDAuMDogZGV0ZWN0ZWQgZ3R0IHNpemU6IDIwOTcxNTJLIHRvdGFsLCAyNjIxNDRLIG1hcHBhYmxl
ClsgICAxMC4xNzE4MTBdIGFncGdhcnQtaW50ZWwgMDAwMDowMDowMC4wOiBkZXRlY3RlZCA2NTUz
Nksgc3RvbGVuIG1lbW9yeQpbICAgMTAuMTc4NzA0XSBhZ3BnYXJ0LWludGVsIDAwMDA6MDA6MDAu
MDogQUdQIGFwZXJ0dXJlIGlzIDI1Nk0gQCAweGUwMDAwMDAwClsgICAxMC4xODY1ODhdIGJyZDog
bW9kdWxlIGxvYWRlZApbICAgMTAuMTkwMDk2XSBsb29wOiBtb2R1bGUgbG9hZGVkClsgICAxMC4x
OTM2OTBdIEZpeGVkIE1ESU8gQnVzOiBwcm9iZWQKWyAgIDEwLjE5NzI1N10gUFBQIGdlbmVyaWMg
ZHJpdmVyIHZlcnNpb24gMi40LjIKWyAgIDEwLjIwMTgzOF0gdHVuOiBVbml2ZXJzYWwgVFVOL1RB
UCBkZXZpY2UgZHJpdmVyLCAxLjYKWyAgIDEwLjIwNzE2N10gdHVuOiAoQykgMTk5OS0yMDA0IE1h
eCBLcmFzbnlhbnNreSA8bWF4a0BxdWFsY29tbS5jb20+ClsgICAxMC4yMTM3NzZdIGVoY2lfaGNk
OiBVU0IgMi4wICdFbmhhbmNlZCcgSG9zdCBDb250cm9sbGVyIChFSENJKSBEcml2ZXIKWyAgIDEw
LjIyMDY4M10gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBwb3dlciBzdGF0ZSBjaGFuZ2VkIGJ5IEFD
UEkgdG8gRDAKWyAgIDEwLjIyNzM2NV0gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBwb3dlciBzdGF0
ZSBjaGFuZ2VkIGJ5IEFDUEkgdG8gRDAKWyAgIDEwLjIzNDA4N10geGVuOiByZWdpc3RlcmluZyBn
c2kgMTYgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgIDEwLjIzOTk3MV0geGVuX21hcF9waXJx
X2dzaTogcmV0dXJuaW5nIGlycSAxNiBmb3IgZ3NpIDE2ClsgICAxMC4yNDU2ODBdIHhlbjogLS0+
IHBpcnE9MTYgLT4gaXJxPTE2IChnc2k9MTYpClsgICAxMC4yNTA0OTVdIEFscmVhZHkgc2V0dXAg
dGhlIEdTSSA6MTYKWyAgIDEwLjI1NDM4OV0gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBQQ0kgSU5U
IEEgLT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTYKWyAgIDEwLjI2MTkyN10gZWhjaV9o
Y2QgMDAwMDowMDoxYS4wOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQKWyAgIDEwLjI2ODA2
OV0gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBFSENJIEhvc3QgQ29udHJvbGxlcgpbICAgMTAuMjcz
NjI5XSBlaGNpX2hjZCAwMDAwOjAwOjFhLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2ln
bmVkIGJ1cyBudW1iZXIgMQpbICAgMTAuMjgxNDU2XSBlaGNpX2hjZCAwMDAwOjAwOjFhLjA6IGRl
YnVnIHBvcnQgMgpbICAgMTAuMjkwMDkxXSBlaGNpX2hjZCAwMDAwOjAwOjFhLjA6IGNhY2hlIGxp
bmUgc2l6ZSBvZiA2NCBpcyBub3Qgc3VwcG9ydGVkClsgICAxMC4yOTcyMTNdIGVoY2lfaGNkIDAw
MDA6MDA6MWEuMDogaXJxIDE2LCBpbyBtZW0gMHhmMjYyYTAwMApbICAgMTAuMzA3MDcwXSBlaGNp
X2hjZCAwMDAwOjAwOjFhLjA6IFVTQiAyLjAgc3RhcnRlZCwgRUhDSSAxLjAwClsgICAxMC4zMTMx
NzBdIGh1YiAxLTA6MS4wOiBVU0IgaHViIGZvdW5kClsgICAxMC4zMTcwODldIGh1YiAxLTA6MS4w
OiAzIHBvcnRzIGRldGVjdGVkClsgICAxMC4zMjE0MDZdIGVoY2lfaGNkIDAwMDA6MDA6MWQuMDog
cG93ZXIgc3RhdGUgY2hhbmdlZCBieSBBQ1BJIHRvIEQwClsgICAxMC4zMjgwNzRdIGVoY2lfaGNk
IDAwMDA6MDA6MWQuMDogcG93ZXIgc3RhdGUgY2hhbmdlZCBieSBBQ1BJIHRvIEQwClsgICAxMC4z
MzQ4MDVdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDIzIHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsg
ICAxMC4zNDA3MDddIHhlbjogLS0+IHBpcnE9MjMgLT4gaXJxPTIzIChnc2k9MjMpClsgICAxMC4z
NDU1MjFdIGVoY2lfaGNkIDAwMDA6MDA6MWQuMDogUENJIElOVCBBIC0+IEdTSSAyMyAobGV2ZWws
IGxvdykgLT4gSVJRIDIzClsgICAxMC4zNTMwNjRdIGVoY2lfaGNkIDAwMDA6MDA6MWQuMDogc2V0
dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0ClsgICAxMC4zNTkyMjhdIGVoY2lfaGNkIDAwMDA6MDA6
MWQuMDogRUhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDEwLjM2NDc5Ml0gZWhjaV9oY2QgMDAwMDow
MDoxZC4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDIKWyAg
IDEwLjM3MjU5OF0gZWhjaV9oY2QgMDAwMDowMDoxZC4wOiBkZWJ1ZyBwb3J0IDIKWyAgIDEwLjM4
MTI0Ml0gZWhjaV9oY2QgMDAwMDowMDoxZC4wOiBjYWNoZSBsaW5lIHNpemUgb2YgNjQgaXMgbm90
IHN1cHBvcnRlZApbICAgMTAuMzg4MzY1XSBlaGNpX2hjZCAwMDAwOjAwOjFkLjA6IGlycSAyMywg
aW8gbWVtIDB4ZjI2MjkwMDAKWyAgIDEwLjM5ODI1M10gZWhjaV9oY2QgMDAwMDowMDoxZC4wOiBV
U0IgMi4wIHN0YXJ0ZWQsIEVIQ0kgMS4wMApbICAgMTAuNDA0MzQxXSBodWIgMi0wOjEuMDogVVNC
IGh1YiBmb3VuZApbICAgMTAuNDA4MjY1XSBodWIgMi0wOjEuMDogMyBwb3J0cyBkZXRlY3RlZApb
ICAgMTAuNDEyNTcyXSBvaGNpX2hjZDogVVNCIDEuMSAnT3BlbicgSG9zdCBDb250cm9sbGVyIChP
SENJKSBEcml2ZXIKWyAgIDEwLjQxOTA4NF0gdWhjaV9oY2Q6IFVTQiBVbml2ZXJzYWwgSG9zdCBD
b250cm9sbGVyIEludGVyZmFjZSBkcml2ZXIKWyAgIDEwLjQyNTgwOV0gaTgwNDI6IFBOUDogUFMv
MiBDb250cm9sbGVyIFtQTlAwMzAzOktCRCxQTlAwZjEzOk1PVV0gYXQgMHg2MCwweDY0IGlycSAx
LDEyClsgICAxMC40Mzc0NTddIHNlcmlvOiBpODA0MiBLQkQgcG9ydCBhdCAweDYwLDB4NjQgaXJx
IDEKWyAgIDEwLjQ0MjYxN10gc2VyaW86IGk4MDQyIEFVWCBwb3J0IGF0IDB4NjAsMHg2NCBpcnEg
MTIKWyAgIDEwLjQ0ODA1M10gbW91c2VkZXY6IFBTLzIgbW91c2UgZGV2aWNlIGNvbW1vbiBmb3Ig
YWxsIG1pY2UKWyAgIDEwLjQ1NDAxMV0gcnRjX2Ntb3MgMDA6MDc6IFJUQyBjYW4gd2FrZSBmcm9t
IFM0ClsgICAxMC40NTg5ODVdIHJ0Y19jbW9zIDAwOjA3OiBydGMgY29yZTogcmVnaXN0ZXJlZCBy
dGNfY21vcyBhcyBydGMwClsgICAxMC40NjU0MzFdIHJ0YzA6IGFsYXJtcyB1cCB0byBvbmUgbW9u
dGgsIHkzaywgMTE0IGJ5dGVzIG52cmFtClsgICAxMC40NzE2NTJdIGRldmljZS1tYXBwZXI6IHVl
dmVudDogdmVyc2lvbiAxLjAuMwpbICAgMTAuNDc2NTI3XSBkZXZpY2UtbWFwcGVyOiBpb2N0bDog
NC4yMC4wLWlvY3RsICgyMDExLTAyLTAyKSBpbml0aWFsaXNlZDogZG0tZGV2ZWxAcmVkaGF0LmNv
bQpbICAgMTAuNDg1MzYyXSBjcHVpZGxlOiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKWyAgIDEwLjQ4
OTcxM10gY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpbICAgMTAuNDkzODc3XSBFRkkgVmFy
aWFibGVzIEZhY2lsaXR5IHYwLjA4IDIwMDQtTWF5LTE3ClsgICAxMC40OTkzOTldIFRDUCBjdWJp
YyByZWdpc3RlcmVkClsgICAxMC41MDA5MzddIGlucHV0OiBBVCBUcmFuc2xhdGVkIFNldCAyIGtl
eWJvYXJkIGFzIC9kZXZpY2VzL3BsYXRmb3JtL2k4MDQyL3NlcmlvMC9pbnB1dC9pbnB1dDMKWyAg
IDEwLjUxMTkxNl0gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxMApbICAgMTAuNTE2
OTY4XSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE3ClsgICAxMC41MjE2MTZdIFJl
Z2lzdGVyaW5nIHRoZSBkbnNfcmVzb2x2ZXIga2V5IHR5cGUKWyAgIDEwLjUyNjY1Nl0gUE06IEhp
YmVybmF0aW9uIGltYWdlIG5vdCBwcmVzZW50IG9yIGNvdWxkIG5vdCBiZSBsb2FkZWQuClsgICAx
MC41MzMzODJdIHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQpbICAgMTAuNTQ5MTQyXSAg
IE1hZ2ljIG51bWJlcjogMTI6ODY4Ojk4MQpbICAgMTAuNTUzMTQxXSBydGNfY21vcyAwMDowNzog
c2V0dGluZyBzeXN0ZW0gY2xvY2sgdG8gMjAxMi0wNS0wNSAxMDo1ODoyNyBVVEMgKDEzMzYyMTU1
MDcpClsgICAxMC41NzAzODVdIEJJT1MgRUREIGZhY2lsaXR5IHYwLjE2IDIwMDQtSnVuLTI1LCAw
IGRldmljZXMgZm91bmQKWyAgIDEwLjU3NjY3MV0gRUREIGluZm9ybWF0aW9uIG5vdCBhdmFpbGFi
bGUuClsgICAxMC41ODE0NjldIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDk4OGsgZnJl
ZWQKWyAgIDEwLjU4Njc2OF0gV3JpdGUgcHJvdGVjdGluZyB0aGUga2VybmVsIHJlYWQtb25seSBk
YXRhOiAxMjI4OGsKWyAgIDEwLjU5ODE3Nl0gRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTog
MjAzMmsgZnJlZWQKWyAgIDEwLjYwNDE5M10gRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTog
MTM4OGsgZnJlZWQKTG9hZGluZywgcGxlYXNlIHdhaXQuLi4KWyAgIDEwLjYzMDI2OV0gdXNiIDEt
MTogbmV3IGhpZ2ggc3BlZWQgVVNCIGRldmljZSBudW1iZXIgMiB1c2luZyBlaGNpX2hjZApbICAg
MTAuNjU4OTI1XSB1ZGV2ZFs4N106IHN0YXJ0aW5nIHZlcnNpb24gMTczClsgICAxMC43NTEzMjNd
IGUxMDAwZTogSW50ZWwoUikgUFJPLzEwMDAgTmV0d29yayBEcml2ZXIgLSAxLjMuMTAtazIKWyAg
IDEwLjc1NzYyMV0gZTEwMDBlOiBDb3B5cmlnaHQoYykgMTk5OSAtIDIwMTEgSW50ZWwgQ29ycG9y
YXRpb24uClsgICAxMC43NjM5MzldIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDIwIHRyaWdnZXJpbmcg
MCBwb2xhcml0eSAxClsgICAxMC43Njk4MjZdIHhlbjogLS0+IHBpcnE9MjAgLT4gaXJxPTIwIChn
c2k9MjApClsgICAxMC43NzQ3MjRdIGUxMDAwZSAwMDAwOjAwOjE5LjA6IFBDSSBJTlQgQSAtPiBH
U0kgMjAgKGxldmVsLCBsb3cpIC0+IElSUSAyMApbICAgMTAuNzgyNzc2XSBodWIgMS0xOjEuMDog
VVNCIGh1YiBmb3VuZApbICAgMTAuNzg2ODI2XSBodWIgMS0xOjEuMDogNiBwb3J0cyBkZXRlY3Rl
ZApbICAgMTAuNzk5NDE2XSBzZGhjaTogU2VjdXJlIERpZ2l0YWwgSG9zdCBDb250cm9sbGVyIElu
dGVyZmFjZSBkcml2ZXIKWyAgIDEwLjgwNTg2OV0gc2RoY2k6IENvcHlyaWdodChjKSBQaWVycmUg
T3NzbWFuClsgICAxMC44MTA1NjZdIGUxMDAwZSAwMDAwOjAwOjE5LjA6IHNldHRpbmcgbGF0ZW5j
eSB0aW1lciB0byA2NApbICAgMTAuODE5MDI4XSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAxOCB0cmln
Z2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgMTAuODI0ODM5XSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1
cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKWyAgIDEwLjgzMDU1OV0geGVuOiAtLT4gcGlycT0xOCAt
PiBpcnE9MTggKGdzaT0xOCkKWyAgIDEwLjgzNTQwM10gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDox
OApbICAgMTAuODM5Mjk1XSB4aGNpX2hjZCAwMDAwOjBlOjAwLjA6IFBDSSBJTlQgQSAtPiBHU0kg
MTggKGxldmVsLCBsb3cpIC0+IElSUSAxOApbICAgMTAuODU2Nzc0XSBzZGhjaS1wY2kgMDAwMDow
ZDowMC4wOiBTREhDSSBjb250cm9sbGVyIGZvdW5kIFsxMTgwOmU4MjJdIChyZXYgNykKWyAgIDEw
Ljg2NDQ4NF0geGVuOiByZWdpc3RlcmluZyBnc2kgMTYgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEK
WyAgIDEwLjg3MDI4M10geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxNiBmb3IgZ3Np
IDE2ClsgICAxMC44NzU5OTJdIHhlbjogLS0+IHBpcnE9MTYgLT4gaXJxPTE2IChnc2k9MTYpClsg
ICAxMC44ODA4MzddIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTYKWyAgIDEwLjg4NDY5NF0gc2Ro
Y2ktcGNpIDAwMDA6MGQ6MDAuMDogUENJIElOVCBBIC0+IEdTSSAxNiAobGV2ZWwsIGxvdykgLT4g
SVJRIDE2ClsgICAxMC44OTI1ODRdIHhoY2lfaGNkIDAwMDA6MGU6MDAuMDogc2V0dGluZyBsYXRl
bmN5IHRpbWVyIHRvIDY0ClsgICAxMC44OTg2ODhdIHhoY2lfaGNkIDAwMDA6MGU6MDAuMDogeEhD
SSBIb3N0IENvbnRyb2xsZXIKWyAgIDEwLjkwNDczOV0geGhjaV9oY2QgMDAwMDowZTowMC4wOiBu
ZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDMKWyAgIDEwLjkxMjU1
Nl0gdXNiIDItMTogbmV3IGhpZ2ggc3BlZWQgVVNCIGRldmljZSBudW1iZXIgMiB1c2luZyBlaGNp
X2hjZApbICAgMTAuOTE5NzU3XSBzZGhjaS1wY2kgMDAwMDowZDowMC4wOiBzZXR0aW5nIGxhdGVu
Y3kgdGltZXIgdG8gNjQKWyAgIDEwLjkyNjEyNl0gbW1jMDogbm8gdm1tYyByZWd1bGF0b3IgZm91
bmQKWyAgIDEwLjkzMDg1OF0gUmVnaXN0ZXJlZCBsZWQgZGV2aWNlOiBtbWMwOjoKWyAgIDEwLjkz
NTU3MF0geGhjaV9oY2QgMDAwMDowZTowMC4wOiBpcnEgMTgsIGlvIG1lbSAweGYxNDAwMDAwClsg
ICAxMC45NDIyODVdIG1tYzA6IFNESENJIGNvbnRyb2xsZXIgb24gUENJIFswMDAwOjBkOjAwLjBd
IHVzaW5nIERNQQpbICAgMTAuOTQ5NTM0XSB4SENJIHhoY2lfYWRkX2VuZHBvaW50IGNhbGxlZCBm
b3Igcm9vdCBodWIKWyAgIDEwLjk1NDk0N10geEhDSSB4aGNpX2NoZWNrX2JhbmR3aWR0aCBjYWxs
ZWQgZm9yIHJvb3QgaHViClsgICAxMC45NjA3MTJdIGh1YiAzLTA6MS4wOiBVU0IgaHViIGZvdW5k
ClsgICAxMC45NjQ3MDddIGh1YiAzLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkClsgICAxMC45Njkw
MjNdIHhoY2lfaGNkIDAwMDA6MGU6MDAuMDogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDEwLjk3
NDU1MV0geGhjaV9oY2QgMDAwMDowZTowMC4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3Np
Z25lZCBidXMgbnVtYmVyIDQKWyAgIDEwLjk4MjU3M10geEhDSSB4aGNpX2FkZF9lbmRwb2ludCBj
YWxsZWQgZm9yIHJvb3QgaHViClsgICAxMC45ODc5NDFdIHhIQ0kgeGhjaV9jaGVja19iYW5kd2lk
dGggY2FsbGVkIGZvciByb290IGh1YgpbICAgMTAuOTkzNjg0XSBodWIgNC0wOjEuMDogVVNCIGh1
YiBmb3VuZApbICAgMTAuOTk3NjU5XSBodWIgNC0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZApbICAg
MTEuMDQ4MDkwXSBlMTAwMGUgMDAwMDowMDoxOS4wOiBldGgwOiAoUENJIEV4cHJlc3M6Mi41R1Qv
czpXaWR0aCB4MSkgZjA6ZGU6ZjE6NWI6YjM6N2QKWyAgIDExLjA1NjQwNV0gZTEwMDBlIDAwMDA6
MDA6MTkuMDogZXRoMDogSW50ZWwoUikgUFJPLzEwMDAgTmV0d29yayBDb25uZWN0aW9uClsgICAx
MS4wNjI3MjJdIGh1YiAyLTE6MS4wOiBVU0IgaHViIGZvdW5kClsgICAxMS4wNjI4MTddIGh1YiAy
LTE6MS4wOiA4IHBvcnRzIGRldGVjdGVkClsgICAxMS4wNzIwNDVdIGUxMDAwZSAwMDAwOjAwOjE5
LjA6IGV0aDA6IE1BQzogMTAsIFBIWTogMTEsIFBCQSBObzogMTAwMEZGLTBGRgpbICAgMTEuMDc5
MzMzXSBhaGNpIDAwMDA6MDA6MWYuMjogdmVyc2lvbiAzLjAKWyAgIDExLjA4MzY3N10geGVuOiBy
ZWdpc3RlcmluZyBnc2kgMTkgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgIDExLjA4OTUwN10g
eGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxOSBmb3IgZ3NpIDE5ClsgICAxMS4wOTUx
ODhdIHhlbjogLS0+IHBpcnE9MTkgLT4gaXJxPTE5IChnc2k9MTkpClsgICAxMS4wOTk5OTRdIEFs
cmVhZHkgc2V0dXAgdGhlIEdTSSA6MTkKWyAgIDExLjEwMzg2M10gYWhjaSAwMDAwOjAwOjFmLjI6
IFBDSSBJTlQgQiAtPiBHU0kgMTkgKGxldmVsLCBsb3cpIC0+IElSUSAxOQpbICAgMTEuMTExMjc2
XSBhaGNpOiBTU1MgZmxhZyBzZXQsIHBhcmFsbGVsIGJ1cyBzY2FuIGRpc2FibGVkClsgICAxMS4x
MjYzMzZdIGFoY2kgMDAwMDowMDoxZi4yOiBBSENJIDAwMDEuMDMwMCAzMiBzbG90cyA2IHBvcnRz
IDYgR2JwcyAweDEzIGltcGwgU0FUQSBtb2RlClsgICAxMS4xMzQ4OTBdIGFoY2kgMDAwMDowMDox
Zi4yOiBmbGFnczogNjRiaXQgbmNxIHNudGYgaWxjayBzdGFnIHBtIGxlZCBjbG8gcGlvIHNsdW0g
cGFydCBlbXMgc3hzIGFwc3QgClsgICAxMS4xNDQ2MTFdIGFoY2kgMDAwMDowMDoxZi4yOiBzZXR0
aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQKWyAgIDExLjE1NDUxMl0gdXNiIDEtMS4zOiBuZXcgZnVs
bCBzcGVlZCBVU0IgZGV2aWNlIG51bWJlciAzIHVzaW5nIGVoY2lfaGNkClsgICAxMS4xNjY3ODVd
IHNjc2kwIDogYWhjaQpbICAgMTEuMTY5NTU4XSBzY3NpMSA6IGFoY2kKWyAgIDExLjE3MjI4OF0g
c2NzaTIgOiBhaGNpClsgICAxMS4xNzUwMzRdIHNjc2kzIDogYWhjaQpbICAgMTEuMTc3NzUwXSBz
Y3NpNCA6IGFoY2kKWyAgIDExLjE4MDQ3Ml0gc2NzaTUgOiBhaGNpClsgICAxMS4xODM4ODddIGF0
YTE6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTIwNDhAMHhmMjYyODAwMCBwb3J0IDB4ZjI2Mjgx
MDAgaXJxIDMwNApbICAgMTEuMTkxNjc0XSBhdGEyOiBTQVRBIG1heCBVRE1BLzEzMyBhYmFyIG0y
MDQ4QDB4ZjI2MjgwMDAgcG9ydCAweGYyNjI4MTgwIGlycSAzMDQKWyAgIDExLjE5OTU1M10gYXRh
MzogRFVNTVkKWyAgIDExLjIwMjE3OF0gYXRhNDogRFVNTVkKWyAgIDExLjIwNDgwMF0gYXRhNTog
U0FUQSBtYXggVURNQS8xMzMgYWJhciBtMjA0OEAweGYyNjI4MDAwIHBvcnQgMHhmMjYyODMwMCBp
cnEgMzA0ClsgICAxMS4yMTI3MDBdIGF0YTY6IERVTU1ZClsgICAxMS4zMjI2NjBdIHVzYiAxLTEu
NDogbmV3IGZ1bGwgc3BlZWQgVVNCIGRldmljZSBudW1iZXIgNCB1c2luZyBlaGNpX2hjZApbICAg
MTEuNTM0MzE0XSBhdGExOiBTQVRBIGxpbmsgdXAgMy4wIEdicHMgKFNTdGF0dXMgMTIzIFNDb250
cm9sIDMwMCkKWyAgIDExLjU0MzQwN10gYXRhMS4wMDogQUNQSSBjbWQgZWYvMDI6MDA6MDA6MDA6
MDA6YTAgKFNFVCBGRUFUVVJFUykgc3VjY2VlZGVkClsgICAxMS41NTA2OTBdIGF0YTEuMDA6IEFD
UEkgY21kIGY1LzAwOjAwOjAwOjAwOjAwOmEwIChTRUNVUklUWSBGUkVFWkUgTE9DSykgZmlsdGVy
ZWQgb3V0ClsgICAxMS41NTkwNDBdIGF0YTEuMDA6IEFDUEkgY21kIGVmLzEwOjAzOjAwOjAwOjAw
OmEwIChTRVQgRkVBVFVSRVMpIGZpbHRlcmVkIG91dApbICAgMTEuNTY5MTY2XSBhdGExLjAwOiBB
VEEtODogU1QzMjBMVDAwMC05VkwxNDIsIDAwMDNMVk0xLCBtYXggVURNQS8xMzMKWyAgIDExLjU3
NTkxNl0gYXRhMS4wMDogNjI1MTQyNDQ4IHNlY3RvcnMsIG11bHRpIDE2OiBMQkE0OCBOQ1EgKGRl
cHRoIDMxLzMyKQpbICAgMTEuNTg2MDE5XSBhdGExLjAwOiBBQ1BJIGNtZCBlZi8wMjowMDowMDow
MDowMDphMCAoU0VUIEZFQVRVUkVTKSBzdWNjZWVkZWQKWyAgIDExLjU5MzMxNF0gYXRhMS4wMDog
QUNQSSBjbWQgZjUvMDA6MDA6MDA6MDA6MDA6YTAgKFNFQ1VSSVRZIEZSRUVaRSBMT0NLKSBmaWx0
ZXJlZCBvdXQKWyAgIDExLjYwMTY2Ml0gYXRhMS4wMDogQUNQSSBjbWQgZWYvMTA6MDM6MDA6MDA6
MDA6YTAgKFNFVCBGRUFUVVJFUykgZmlsdGVyZWQgb3V0ClsgICAxMS42MTE4MDBdIGF0YTEuMDA6
IGNvbmZpZ3VyZWQgZm9yIFVETUEvMTMzClsgICAxMS42MTY0MjBdIHNjc2kgMDowOjA6MDogRGly
ZWN0LUFjY2VzcyAgICAgQVRBICAgICAgU1QzMjBMVDAwMC05VkwxNCAwMDAzIFBROiAwIEFOU0k6
IDUKWyAgIDExLjYyNTA0OF0gc2QgMDowOjA6MDogQXR0YWNoZWQgc2NzaSBnZW5lcmljIHNnMCB0
eXBlIDAKWyAgIDExLjYyNTA1M10gc2QgMDowOjA6MDogW3NkYV0gNjI1MTQyNDQ4IDUxMi1ieXRl
IGxvZ2ljYWwgYmxvY2tzOiAoMzIwIEdCLzI5OCBHaUIpClsgICAxMS42MjUxMDhdIHNkIDA6MDow
OjA6IFtzZGFdIFdyaXRlIFByb3RlY3QgaXMgb2ZmClsgICAxMS42MjUxMTBdIHNkIDA6MDowOjA6
IFtzZGFdIE1vZGUgU2Vuc2U6IDAwIDNhIDAwIDAwClsgICAxMS42MjUxMzNdIHNkIDA6MDowOjA6
IFtzZGFdIFdyaXRlIGNhY2hlOiBlbmFibGVkLCByZWFkIGNhY2hlOiBlbmFibGVkLCBkb2Vzbid0
IHN1cHBvcnQgRFBPIG9yIEZVQQpbICAgMTEuNjcxOTczXSAgc2RhOiBzZGExIHNkYTIgc2RhMyBz
ZGE0IDwgc2RhNSBzZGE2IHNkYTcgPgpbICAgMTEuNjc3ODY3XSBzZCAwOjA6MDowOiBbc2RhXSBB
dHRhY2hlZCBTQ1NJIGRpc2sKWyAgIDExLjk3ODI5OV0gYXRhMjogU0FUQSBsaW5rIGRvd24gKFNT
dGF0dXMgMCBTQ29udHJvbCAzMDApClsgICAxMi4zMDYyOTldIGF0YTU6IFNBVEEgbGluayBkb3du
IChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQpbICAgMTIuOTkwNzAzXSBFWFQ0LWZzIChzZGE3KTog
bW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6IChudWxsKQpm
c2NrIGZyb20gdXRpbC1saW51eCAyLjE5LjEKZnNjayBmcm9tIHV0aWwtbGludXggMi4xOS4xCi9k
ZXYvc2RhNzogY2xlYW4sIDg5Mzc4OS8xNDkyNTgyNCBmaWxlcywgMjkxNjA0NDIvNTk2Nzc0NDAg
YmxvY2tzIChjaGVjayBpbiA0IG1vdW50cykKL2Rldi9zZGE1OiBjbGVhbiwgMjc0LzYyMjQ4IGZp
bGVzLCA3NjU0NS8yNDg4MzIgYmxvY2tzIChjaGVjayBpbiA0IG1vdW50cykKU2tpcHBpbmcgcHJv
ZmlsZSBpbiAvZXRjL2FwcGFybW9yLmQvZGlzYWJsZTogdXNyLmJpbi5maXJlZm94CiAqIFN0YXJ0
aW5nIG1ETlMvRE5TLVNEIGRhZW1vbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbIE9LIF0KICogU3RhcnRpbmcgQXBwQXJtb3IgcHJvZmlsZXMgICAgICAgKFhFTikg
Q2Fubm90IGJpbmQgSVJRMTkgdG8gZG9tMC4gSW4gdXNlIGJ5ICduczE2NTUwJy4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsgT0sgXSAKICogU3RvcHBpbmcgRmFpbHNhZmUgQm9vdCBEZWxheSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQogKiBTdG9wcGluZyBTeXN0ZW0g
ViBpbml0aWFsaXNhdGlvbiBjb21wYXRpYmlsaXR5ICAgICAgICAgICAgICAgICAgICAgICAgWyBP
SyBdCiAqIFN0YXJ0aW5nIFN5c3RlbSBWIHJ1bmxldmVsIGNvbXBhdGliaWxpdHkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KICogU3RvcHBpbmcgYXV0b21hdGljIGNyYXNoIHJl
cG9ydCBnZW5lcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmYWlsXQogKiBTdGFy
dGluZyBMaWdodERNIERpc3BsYXkgTWFuYWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWyBPSyBdCiAqIFN0YXJ0aW5nIHNhdmUga2VybmVsIG1lc3NhZ2VzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KICogU3RhcnRpbmcgS1ZNICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsg
T0sgXQogKiBTdGFydGluZyBhbmFjKGgpcm9uaXN0aWMgY3JvbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiAqIFN0YXJ0aW5nIEFDUEkgZGFlbW9uICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KICogU3Rh
cnRpbmcgcmVndWxhciBiYWNrZ3JvdW5kIHByb2dyYW0gcHJvY2Vzc2luZyBkYWVtb24gICAgICAg
ICAgICAgICAgIFsgT0sgXQogKiBTdGFydGluZyBkZWZlcnJlZCBleGVjdXRpb24gc2NoZWR1bGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiAqIFN0YXJ0aW5nIENQVSBp
bnRlcnJ1cHRzIGJhbGFuY2luZyBkYWVtb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
IE9LIF0KICogU3RhcnRpbmcgQ1BVIGludGVycnVwdHMgYmFsYW5jaW5nIGRhZW1vbiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFtmYWlsXQpTdGFydGluZyBveGVuc3RvcmVkLi4uICogU3Rv
cHBpbmcgc2F2ZSBrZXJuZWwgbWVzc2FnZXMgICAgICAgICAgICAgICAgICAgWyBPSyBdClsgICAz
MS42NTM0NDFdIFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlClsgICAzMS42NTgwMTRd
IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlClsgICAzMS42NjI2ODFdIFgKRU5CVVM6
IFVuYWJsZSB0b1NldHRpbmcgZG9tYWluIDAgbmFtZS4uLiByZWFkIGNwdSBzdGF0ZQoKWyAgIDMx
LjY2OTk5MF0gWEVOQlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3RhdGUKU3RhcnRpbmcgeGVuY29u
c29sZWQuLi4Kc3BlZWNoLWRpc3BhdGNoZXIgZGlzYWJsZWQ7IGVkaXQgL2V0Yy9kZWZhdWx0L3Nw
ZWVjaC1kaXNwYXRjaGVyCkNoZWNraW5nIGZvciBydW5uaW5nIHVuYXR0ZW5kZWQtdXBncmFkZXM6
IAogKiBTdGFydGluZyBWaXJ0dWFsQm94IGtlcm5lbCBtb2R1bGVzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWyBPSyBdIApTdGFydGluZyBkb21haW4gd2F0Y2hkb2cgZGFlbW9u
OiAgKiB4ZW53YXRjaGRvZ2Qgc3RhcnR1cAoKICogU3RhcnRpbmcgYmx1ZXRvb3RoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXSAKICogUHVs
c2VBdWRpbyBjb25maWd1cmVkIGZvciBwZXItdXNlciBzZXNzaW9ucwpzYW5lZCBkaXNhYmxlZDsg
ZWRpdCAvZXRjL2RlZmF1bHQvc2FuZWQKCiAqIENoZWNraW5nIGJhdHRlcnkgc3RhdGUuLi4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0gCihYRU4pIENh
bm5vdCBiaW5kIElSUTE5IHRvIGRvbTAuIEluIHVzZSBieSAnbnMxNjU1MCcuCihYRU4pIEhWTTE6
IEhWTSBMb2FkZXIKKFhFTikgSFZNMTogRGV0ZWN0ZWQgWGVuIHY0LjItdW5zdGFibGUKKFhFTikg
SFZNMTogWGVuYnVzIHJpbmdzIEAweGZlZmZjMDAwLCBldmVudCBjaGFubmVsIDMKKFhFTikgSFZN
MTogU3lzdGVtIHJlcXVlc3RlZCBST01CSU9TCihYRU4pIEhWTTE6IENQVSBzcGVlZCBpcyAyNjkx
IE1IegooWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxpbmsgMCBjaGFuZ2VkIDAgLT4gNQooWEVO
KSBIVk0xOiBQQ0ktSVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJRNQooWEVOKSBpcnEuYzoyNzA6IERv
bTEgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDEg
cm91dGVkIHRvIElSUTEwCihYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQg
MCAtPiAxMQooWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMiByb3V0ZWQgdG8gSVJRMTEKKFhFTikg
aXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDMgY2hhbmdlZCAwIC0+IDUKKFhFTikgSFZNMTogUENJ
LUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUKKFhFTikgSFZNMTogcGNpIGRldiAwMToyIElOVEQt
PklSUTUKKFhFTikgSFZNMTogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCihYRU4pIEhWTTE6IHBj
aSBkZXYgMDM6MCBJTlRBLT5JUlE1CihYRU4pIEhWTTE6IHBjaSBkZXYgMDI6MCBiYXIgMTAgc2l6
ZSAwMTAwMDAwMDogZjAwMDAwMDgKKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxNCBzaXpl
IDAxMDAwMDAwOiBmMTAwMDAwOAooWEVOKSBIVk0xOiBwY2kgZGV2IDAzOjAgYmFyIDEwIHNpemUg
MDAwMDAxMDA6IDAwMDBjMDAxCihYRU4pIEhWTTE6IHBjaSBkZXYgMDE6MiBiYXIgMjAgc2l6ZSAw
MDAwMDAyMDogMDAwMGMxMDEKKFhFTikgSFZNMTogcGNpIGRldiAwMToxIGJhciAyMCBzaXplIDAw
MDAwMDEwOiAwMDAwYzEyMQooWEVOKSBIVk0xOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlv
bjoKKFhFTikgSFZNMTogIC0gQ1BVMCAuLi4gMzYtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4u
LiB2YXIgTVRSUnMgWzIvOF0gLi4uIGRvbmUuCihYRU4pIEhWTTE6IFRlc3RpbmcgSFZNIGVudmly
b25tZW50OgooWEVOKSBIVk0xOiAgLSBSRVAgSU5TQiBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4u
LiBwYXNzZWQKKFhFTikgSFZNMTogIC0gR1MgYmFzZSBNU1JzIGFuZCBTV0FQR1MgLi4uIHBhc3Nl
ZAooWEVOKSBIVk0xOiBQYXNzZWQgMiBvZiAyIHRlc3RzCihYRU4pIEhWTTE6IFdyaXRpbmcgU01C
SU9TIHRhYmxlcyAuLi4KKFhFTikgSFZNMTogTG9hZGluZyBST01CSU9TIC4uLgooWEVOKSBIVk0x
OiAxMjYzNiBieXRlcyBvZiBST01CSU9TIGhpZ2gtbWVtb3J5IGV4dGVuc2lvbnM6CihYRU4pIEhW
TTE6ICAgUmVsb2NhdGluZyB0byAweGZjMDAxMDAwLTB4ZmMwMDQxNWMgLi4uIGRvbmUKKFhFTikg
SFZNMTogQ3JlYXRpbmcgTVAgdGFibGVzIC4uLgooWEVOKSBIVk0xOiBMb2FkaW5nIFN0YW5kYXJk
IFZHQUJJT1MgLi4uCihYRU4pIEhWTTE6IE9wdGlvbiBST01zOgooWEVOKSBIVk0xOiAgYzAwMDAt
YzlmZmY6IFZHQSBCSU9TCihYRU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KKFhFTikgSFZNMTog
dm04NiBUU1MgYXQgZmMwMTAyODAKKFhFTikgSFZNMTogQklPUyBtYXA6CihYRU4pIEhWTTE6ICBm
MDAwMC1mZmZmZjogTWFpbiBCSU9TCihYRU4pIEhWTTE6IEU4MjAgdGFibGU6CihYRU4pIEhWTTE6
ICBbMDBdOiAwMDAwMDAwMDowMDAwMDAwMCAtIDAwMDAwMDAwOjAwMDllMDAwOiBSQU0KKFhFTikg
SFZNMTogIFswMV06IDAwMDAwMDAwOjAwMDllMDAwIC0gMDAwMDAwMDA6MDAwYTAwMDA6IFJFU0VS
VkVECihYRU4pIEhWTTE6ICBIT0xFOiAwMDAwMDAwMDowMDBhMDAwMCAtIDAwMDAwMDAwOjAwMGUw
MDAwCihYRU4pIEhWTTE6ICBbMDJdOiAwMDAwMDAwMDowMDBlMDAwMCAtIDAwMDAwMDAwOjAwMTAw
MDAwOiBSRVNFUlZFRAooWEVOKSBIVk0xOiAgWzAzXTogMDAwMDAwMDA6MDAxMDAwMDAgLSAwMDAw
MDAwMDoxZjAwMDAwMDogUkFNCihYRU4pIEhWTTE6ICBIT0xFOiAwMDAwMDAwMDoxZjAwMDAwMCAt
IDAwMDAwMDAwOmZjMDAwMDAwCihYRU4pIEhWTTE6ICBbMDRdOiAwMDAwMDAwMDpmYzAwMDAwMCAt
IDAwMDAwMDAxOjAwMDAwMDAwOiBSRVNFUlZFRAooWEVOKSBIVk0xOiBJbnZva2luZyBST01CSU9T
IC4uLgooWEVOKSBIVk0xOiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIvMDcgMTc6
MzI6MjkgJAooWEVOKSBzdGR2Z2EuYzoxNDc6ZDEgZW50ZXJpbmcgc3RkdmdhIGFuZCBjYWNoaW5n
IG1vZGVzCihYRU4pIEhWTTE6IFZHQUJpb3MgJElkOiB2Z2FiaW9zLmMsdiAxLjY3IDIwMDgvMDEv
MjcgMDk6NDQ6MTIgdnJ1cHBlcnQgRXhwICQKKFhFTikgSFZNMTogVkJFIEJpb3MgJElkOiB2YmUu
Yyx2IDEuNjAgMjAwOC8wMy8wMiAwNzo0NzoyMSB2cnVwcGVydCBFeHAgJAooWEVOKSBIVk0xOiBC
b2NocyBCSU9TIC0gYnVpbGQ6IDA2LzIzLzk5CihYRU4pIEhWTTE6ICRSZXZpc2lvbjogMS4yMjEg
JCAkRGF0ZTogMjAwOC8xMi8wNyAxNzozMjoyOSAkCihYRU4pIEhWTTE6IE9wdGlvbnM6IGFwbWJp
b3MgcGNpYmlvcyBlbHRvcml0byBQTU0gCihYRU4pIEhWTTE6IAooWEVOKSBIVk0xOiBhdGEwLTA6
IFBDSFM9MTYzODMvMTYvNjMgdHJhbnNsYXRpb249bGJhIExDSFM9MTAyNC8yNTUvNjMKKFhFTikg
SFZNMTogYXRhMCBtYXN0ZXI6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1EaXNrICgxMDAwMCBN
Qnl0ZXMpCihYRU4pIEhWTTE6IElERSB0aW1lIG91dAooWEVOKSBIVk0xOiAKKFhFTikgSFZNMTog
CihYRU4pIEhWTTE6IAooWEVOKSBIVk0xOiBQcmVzcyBGMTIgZm9yIGJvb3QgbWVudS4KKFhFTikg
SFZNMTogCihYRU4pIEhWTTE6IEJvb3RpbmcgZnJvbSBIYXJkIERpc2suLi4KKFhFTikgSFZNMTog
Qm9vdGluZyBmcm9tIDAwMDA6N2MwMAooWEVOKSBIVk0xOiBpbnQxM19oYXJkZGlzazogZnVuY3Rp
b24gNDEsIHVubWFwcGVkIGRldmljZSBmb3IgRUxETD04MQooWEVOKSBIVk0xOiBpbnQxM19oYXJk
ZGlzazogZnVuY3Rpb24gMDgsIHVubWFwcGVkIGRldmljZSBmb3IgRUxETD04MQooWEVOKSBIVk0x
OiAqKiogaW50IDE1aCBmdW5jdGlvbiBBWD0wMGMwLCBCWD0wMDAwIG5vdCB5ZXQgc3VwcG9ydGVk
IQooWEVOKSBIVk0yOiBIVk0gTG9hZGVyCihYRU4pIEhWTTI6IERldGVjdGVkIFhlbiB2NC4yLXVu
c3RhYmxlCihYRU4pIEhWTTI6IFhlbmJ1cyByaW5ncyBAMHhmZWZmYzAwMCwgZXZlbnQgY2hhbm5l
bCA0CihYRU4pIEhWTTI6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwooWEVOKSBIVk0yOiBDUFUg
c3BlZWQgaXMgMjY5MSBNSHoKKFhFTikgaXJxLmM6MjcwOiBEb20yIFBDSSBsaW5rIDAgY2hhbmdl
ZCAwIC0+IDUKKFhFTikgSFZNMjogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUKKFhFTikg
aXJxLmM6MjcwOiBEb20yIFBDSSBsaW5rIDEgY2hhbmdlZCAwIC0+IDEwCihYRU4pIEhWTTI6IFBD
SS1JU0EgbGluayAxIHJvdXRlZCB0byBJUlExMAooWEVOKSBpcnEuYzoyNzA6IERvbTIgUENJIGxp
bmsgMiBjaGFuZ2VkIDAgLT4gMTEKKFhFTikgSFZNMjogUENJLUlTQSBsaW5rIDIgcm91dGVkIHRv
IElSUTExCihYRU4pIGlycS5jOjI3MDogRG9tMiBQQ0kgbGluayAzIGNoYW5nZWQgMCAtPiA1CihY
RU4pIEhWTTI6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1CihYRU4pIEhWTTI6IHBjaSBk
ZXYgMDE6MiBJTlRELT5JUlE1CihYRU4pIEhWTTI6IHBjaSBkZXYgMDE6MyBJTlRBLT5JUlExMAoo
WEVOKSBIVk0yOiBwY2kgZGV2IDAzOjAgSU5UQS0+SVJRNQooWEVOKSBIVk0yOiBwY2kgZGV2IDA0
OjAgSU5UQS0+SVJRNQooWEVOKSBIVk0yOiBwY2kgZGV2IDAyOjAgYmFyIDEwIHNpemUgMDEwMDAw
MDA6IGYwMDAwMDA4CihYRU4pIEhWTTI6IHBjaSBkZXYgMDM6MCBiYXIgMTQgc2l6ZSAwMTAwMDAw
MDogZjEwMDAwMDgKKFhFTikgSFZNMjogcGNpIGRldiAwMzowIGJhciAxMCBzaXplIDAwMDAwMTAw
OiAwMDAwYzAwMQooWEVOKSBIVk0yOiBwY2kgZGV2IDA0OjAgYmFyIDEwIHNpemUgMDAwMDAxMDA6
IDAwMDBjMTAxCihYRU4pIEhWTTI6IHBjaSBkZXYgMDQ6MCBiYXIgMTQgc2l6ZSAwMDAwMDEwMDog
ZjIwMDAwMDAKKFhFTikgSFZNMjogcGNpIGRldiAwMToyIGJhciAyMCBzaXplIDAwMDAwMDIwOiAw
MDAwYzIwMQooWEVOKSBIVk0yOiBwY2kgZGV2IDAxOjEgYmFyIDIwIHNpemUgMDAwMDAwMTA6IDAw
MDBjMjIxCihYRU4pIEhWTTI6IE11bHRpcHJvY2Vzc29yIGluaXRpYWxpc2F0aW9uOgooWEVOKSBI
Vk0yOiAgLSBDUFUwIC4uLiAzNi1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJS
cyBbMi84XSAuLi4gZG9uZS4KKFhFTikgSFZNMjogIC0gQ1BVMSAuLi4gMzYtYml0IHBoeXMgLi4u
IGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzIvOF0gLi4uIGRvbmUuCihYRU4pIEhWTTI6IFRl
c3RpbmcgSFZNIGVudmlyb25tZW50OgooWEVOKSBIVk0yOiAgLSBSRVAgSU5TQiBhY3Jvc3MgcGFn
ZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKKFhFTikgSFZNMjogIC0gR1MgYmFzZSBNU1JzIGFuZCBT
V0FQR1MgLi4uIHBhc3NlZAooWEVOKSBIVk0yOiBQYXNzZWQgMiBvZiAyIHRlc3RzCihYRU4pIEhW
TTI6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KKFhFTikgSFZNMjogTG9hZGluZyBST01CSU9T
IC4uLgooWEVOKSBIVk0yOiAxMjYzNiBieXRlcyBvZiBST01CSU9TIGhpZ2gtbWVtb3J5IGV4dGVu
c2lvbnM6CihYRU4pIEhWTTI6ICAgUmVsb2NhdGluZyB0byAweGZjMDAxMDAwLTB4ZmMwMDQxNWMg
Li4uIGRvbmUKKFhFTikgSFZNMjogQ3JlYXRpbmcgTVAgdGFibGVzIC4uLgooWEVOKSBIVk0yOiBM
b2FkaW5nIFN0YW5kYXJkIFZHQUJJT1MgLi4uCihYRU4pIEhWTTI6IExvYWRpbmcgUENJIE9wdGlv
biBST00gLi4uCihYRU4pIEhWTTI6ICAtIE1hbnVmYWN0dXJlcjogaHR0cDovL2lweGUub3JnCihY
RU4pIEhWTTI6ICAtIFByb2R1Y3QgbmFtZTogaVBYRQooWEVOKSBIVk0yOiBPcHRpb24gUk9NczoK
KFhFTikgSFZNMjogIGMwMDAwLWM5ZmZmOiBWR0EgQklPUwooWEVOKSBIVk0yOiAgY2EwMDAtZDlm
ZmY6IEV0aGVyYm9vdCBST00KKFhFTikgSFZNMjogTG9hZGluZyBBQ1BJIC4uLgooWEVOKSBIVk0y
OiB2bTg2IFRTUyBhdCBmYzAxMDI4MAooWEVOKSBIVk0yOiBCSU9TIG1hcDoKKFhFTikgSFZNMjog
IGYwMDAwLWZmZmZmOiBNYWluIEJJT1MKKFhFTikgSFZNMjogRTgyMCB0YWJsZToKKFhFTikgSFZN
MjogIFswMF06IDAwMDAwMDAwOjAwMDAwMDAwIC0gMDAwMDAwMDA6MDAwOWUwMDA6IFJBTQooWEVO
KSBIVk0yOiAgWzAxXTogMDAwMDAwMDA6MDAwOWUwMDAgLSAwMDAwMDAwMDowMDBhMDAwMDogUkVT
RVJWRUQKKFhFTikgSFZNMjogIEhPTEU6IDAwMDAwMDAwOjAwMGEwMDAwIC0gMDAwMDAwMDA6MDAw
ZTAwMDAKKFhFTikgSFZNMjogIFswMl06IDAwMDAwMDAwOjAwMGUwMDAwIC0gMDAwMDAwMDA6MDAx
MDAwMDA6IFJFU0VSVkVECihYRU4pIEhWTTI6ICBbMDNdOiAwMDAwMDAwMDowMDEwMDAwMCAtIDAw
MDAwMDAwOjNmMDAwMDAwOiBSQU0KKFhFTikgSFZNMjogIEhPTEU6IDAwMDAwMDAwOjNmMDAwMDAw
IC0gMDAwMDAwMDA6ZmMwMDAwMDAKKFhFTikgSFZNMjogIFswNF06IDAwMDAwMDAwOmZjMDAwMDAw
IC0gMDAwMDAwMDE6MDAwMDAwMDA6IFJFU0VSVkVECihYRU4pIEhWTTI6IEludm9raW5nIFJPTUJJ
T1MgLi4uCihYRU4pIEhWTTI6ICRSZXZpc2lvbjogMS4yMjEgJCAkRGF0ZTogMjAwOC8xMi8wNyAx
NzozMjoyOSAkCihYRU4pIHN0ZHZnYS5jOjE0NzpkMiBlbnRlcmluZyBzdGR2Z2EgYW5kIGNhY2hp
bmcgbW9kZXMKKFhFTikgSFZNMjogVkdBQmlvcyAkSWQ6IHZnYWJpb3MuYyx2IDEuNjcgMjAwOC8w
MS8yNyAwOTo0NDoxMiB2cnVwcGVydCBFeHAgJAooWEVOKSBIVk0yOiBWQkUgQmlvcyAkSWQ6IHZi
ZS5jLHYgMS42MCAyMDA4LzAzLzAyIDA3OjQ3OjIxIHZydXBwZXJ0IEV4cCAkCihYRU4pIEhWTTI6
IEJvY2hzIEJJT1MgLSBidWlsZDogMDYvMjMvOTkKKFhFTikgSFZNMjogJFJldmlzaW9uOiAxLjIy
MSAkICREYXRlOiAyMDA4LzEyLzA3IDE3OjMyOjI5ICQKKFhFTikgSFZNMjogT3B0aW9uczogYXBt
YmlvcyBwY2liaW9zIGVsdG9yaXRvIFBNTSAKKFhFTikgSFZNMjogCihYRU4pIEhWTTI6IGF0YTAt
MDogUENIUz0xNjM4My8xNi82MyB0cmFuc2xhdGlvbj1sYmEgTENIUz0xMDI0LzI1NS82MwooWEVO
KSBIVk0yOiBhdGEwIG1hc3RlcjogUUVNVSBIQVJERElTSyBBVEEtNyBIYXJkLURpc2sgKDIwMDAw
IE1CeXRlcykKKFhFTikgSFZNMjogSURFIHRpbWUgb3V0CihYRU4pIEhWTTI6IAooWEVOKSBIVk0y
OiAKKFhFTikgSFZNMjogCihYRU4pIEhWTTI6IFByZXNzIEYxMiBmb3IgYm9vdCBtZW51LgooWEVO
KSBIVk0yOiAKKFhFTikgSFZNMjogQm9vdGluZyBmcm9tIENELVJvbS4uLgooWEVOKSBIVk0yOiBD
RFJPTSBib290IGZhaWx1cmUgY29kZSA6IDAwMDIKKFhFTikgSFZNMjogQm9vdCBmcm9tIENELVJv
bSBmYWlsZWQ6IGNvdWxkIG5vdCByZWFkIHRoZSBib290IGRpc2sKKFhFTikgSFZNMjogCihYRU4p
IEhWTTI6IEJvb3RpbmcgZnJvbSBIYXJkIERpc2suLi4KKFhFTikgSFZNMjogQm9vdGluZyBmcm9t
IDAwMDA6N2MwMAooWEVOKSBIVk0xOiBpbnQxM19oYXJkZGlzazogZnVuY3Rpb24gMTUsIHVubWFw
cGVkIGRldmljZSBmb3IgRUxETD04MQooWEVOKSBIVk0xOiAqKiogaW50IDE1aCBmdW5jdGlvbiBB
WD1lYzAwLCBCWD0wMDAyIG5vdCB5ZXQgc3VwcG9ydGVkIQooWEVOKSBIVk0xOiBLQkQ6IHVuc3Vw
cG9ydGVkIGludCAxNmggZnVuY3Rpb24gMDMKKFhFTikgSFZNMTogaW50MTNfaGFyZGRpc2s6IGZ1
bmN0aW9uIDE1LCB1bm1hcHBlZCBkZXZpY2UgZm9yIEVMREw9ODEKKFhFTikgSFZNMTogaW50MTNf
aGFyZGRpc2s6IGZ1bmN0aW9uIDAyLCB1bm1hcHBlZCBkZXZpY2UgZm9yIEVMREw9ODEKKFhFTikg
SFZNMTogaW50MTNfaGFyZGRpc2s6IGZ1bmN0aW9uIDQxLCB1bm1hcHBlZCBkZXZpY2UgZm9yIEVM
REw9ODEKKFhFTikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdlZCA1IC0+IDAKKFhF
TikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDEgY2hhbmdlZCAxMCAtPiAwCihYRU4pIGlycS5j
OjI3MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQgMTEgLT4gMAooWEVOKSBpcnEuYzoyNzA6IERv
bTEgUENJIGxpbmsgMyBjaGFuZ2VkIDUgLT4gMAooWEVOKSBpcnEuYzozNTA6IERvbTEgY2FsbGJh
Y2sgdmlhIGNoYW5nZWQgdG8gUENJIElOVHggRGV2IDB4MDMgSW50QQooWEVOKSBpcnEuYzoyNzA6
IERvbTIgUENJIGxpbmsgMCBjaGFuZ2VkIDUgLT4gMAooWEVOKSBpcnEuYzoyNzA6IERvbTIgUENJ
IGxpbmsgMSBjaGFuZ2VkIDEwIC0+IDAKKFhFTikgaXJxLmM6MjcwOiBEb20yIFBDSSBsaW5rIDIg
Y2hhbmdlZCAxMSAtPiAwCihYRU4pIGlycS5jOjI3MDogRG9tMiBQQ0kgbGluayAzIGNoYW5nZWQg
NSAtPiAwCihYRU4pICoqKiBJUlEgQlVHIGZvdW5kICoqKgooWEVOKSBDUFUwIC1UZXN0aW5nIHZl
Y3RvciAyMzYgZnJvbSBiaXRtYXAgNDEsNDksNjQsNzIsODAsODIsODQsODgsOTYsOTgsMTA0LDEy
MCwxMjMsMTM2LDE0NSwxNTIsMTYwLDE2OCwxOTIsMjAwLTIwMSwyMjMKKFhFTikgR3Vlc3QgaW50
ZXJydXB0IGluZm9ybWF0aW9uOgooWEVOKSAgICBJUlE6ICAgMCBhZmZpbml0eTowMSB2ZWM6ZjAg
dHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAwIG1hcHBlZCwgdW5ib3VuZAooWEVO
KSAgICBJUlE6ICAgMSBhZmZpbml0eTowMiB2ZWM6N2IgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3Rh
dHVzPTAwMDAwMDMwIGluLWZsaWdodD0wIGRvbWFpbi1saXN0PTA6ICAxKC0tLS0pLAooWEVOKSAg
ICBJUlE6ICAgMiBhZmZpbml0eTpmZiB2ZWM6ZTIgdHlwZT1YVC1QSUMgICAgICAgICAgc3RhdHVz
PTAwMDAwMDAwIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgMyBhZmZpbml0eTowMSB2
ZWM6NDAgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3Vu
ZAooWEVOKSAgICBJUlE6ICAgNCBhZmZpbml0eTowMSB2ZWM6NDggdHlwZT1JTy1BUElDLWVkZ2Ug
ICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgNSBhZmZp
bml0eTowMSB2ZWM6NTAgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBl
ZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgNiBhZmZpbml0eTowMSB2ZWM6NTggdHlwZT1JTy1B
UElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6
ICAgNyBhZmZpbml0eTowMSB2ZWM6NjAgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAw
MDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgOCBhZmZpbml0eTowOCB2ZWM6Mjkg
dHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDMwIGluLWZsaWdodD0wIGRvbWFpbi1s
aXN0PTA6ICA4KC0tLS0pLAooWEVOKSAgICBJUlE6ICAgOSBhZmZpbml0eTowMSB2ZWM6OTEgdHlw
ZT1JTy1BUElDLWxldmVsICAgc3RhdHVzPTAwMDAwMDMwIGluLWZsaWdodD0wIGRvbWFpbi1saXN0
PTA6ICA5KC0tLS0pLAooWEVOKSAgICBJUlE6ICAxMCBhZmZpbml0eTowMSB2ZWM6NzggdHlwZT1J
Ty1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJ
UlE6ICAxMSBhZmZpbml0eTowMSB2ZWM6ODggdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAw
MDAwMDAyIG1hcHBlZCwgdW5ib3VuZAoKCg==
--20cf3074d4fe662a8904bf4ebda6
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf3074d4fe662a8904bf4ebda6--


From xen-devel-bounces@lists.xen.org Sat May 05 19:07:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 19:07:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQkJm-000786-EY; Sat, 05 May 2012 19:06:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SQkJk-00077z-VF
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 19:06:57 +0000
Received: from [85.158.143.35:18843] by server-1.bemta-4.messagelabs.com id
	6C/AB-20925-05A75AF4; Sat, 05 May 2012 19:06:56 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336244813!7668840!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20543 invoked from network); 5 May 2012 19:06:54 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 19:06:54 -0000
Received: by qcsp15 with SMTP id p15so3220636qcs.30
	for <xen-devel@lists.xensource.com>;
	Sat, 05 May 2012 12:06:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=u7J+EPMs3L53mJVbdMpcRjRBmCYpSZ6SNzdVKbLr2u4=;
	b=COamM8eanCOugdOt6paYwnKeqSj4zwSXzo17CvEiEITnuNORW1j7rseucoDW4ztHRe
	uGf4TVuxRUEgEoqCmO9e0tKWxMPsSpTxvoTn9IFlCS/VVAe2jDJSAb0JhwCVtn79r0S1
	bz6DjFqy8svEXh1BJFBG3ObXYobvsEtKtmdykZgUf/iW9nDwazYblGuuyRR98M975wr6
	7/Kxrybrdi/2Sdm4niQgQ6i2rQeZtGdToFXlJPQU6zmJ6ct4PtzuCsAY+SG3lC7eMTLJ
	sk7y7w9xWGfK8n8/hWW5Yb0n7MMbT1+MuCMKfxnFf3p99PVD11cU/hqFRMXnUA+//U9j
	vU9A==
MIME-Version: 1.0
Received: by 10.224.42.16 with SMTP id q16mr5292515qae.70.1336244812786; Sat,
	05 May 2012 12:06:52 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Sat, 5 May 2012 12:06:52 -0700 (PDT)
In-Reply-To: <CAGU+ausJQfH2Sk0h2Lkm_9OmfYUxUB41pDfBob6uiWYNkdNRsA@mail.gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA50947.8030703@citrix.com>
	<CAGU+ausJQfH2Sk0h2Lkm_9OmfYUxUB41pDfBob6uiWYNkdNRsA@mail.gmail.com>
Date: Sat, 5 May 2012 12:06:52 -0700
Message-ID: <CAGU+auuYjVdd2NZCWz6wLR=YQcs7k1cOB+hnC5joF3gHbZzEpw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: multipart/mixed; boundary=20cf3074d4fe662a8904bf4ebda6
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf3074d4fe662a8904bf4ebda6
Content-Type: multipart/alternative; boundary=20cf3074d4fe662a8504bf4ebda4

--20cf3074d4fe662a8504bf4ebda4
Content-Type: text/plain; charset=ISO-8859-1

On Sat, May 5, 2012 at 11:41 AM, AP <apxeng@gmail.com> wrote:
>
> On Sat, May 5, 2012 at 4:04 AM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
> >
> >
> > > Thanks, that fixed it. Here is what I see now:
> > >
> > > (XEN) *** IRQ BUG found ***
> > > (XEN) CPU0 -Testing vector 236 from bitmap
> > >
37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> > > (XEN) Guest interrupt information:
> > > (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge
> > > status=00000000 mapped, unbound
> > > (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge
> > > status=00000030 in-flight=0 domain-list=0:  1(-S--),
> > > (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC
> > > status=00000000 mapped, unbound
> > > (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge
> > > status=00000030 in-flight=0 domain-list=0:  8(-S--),
> > > (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level
> > > status=00000030 in-flight=0 domain-list=0:  9(-S--),
> > > (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge
> > > status=00000002 mapped, unbound
> > > [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> > > elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
> > >
> > > Let me know if you need any more info.
> > > Thanks,
> > > AP
> > >
> >
> > There should be quite a lot more irq information dumped than just that.
> > Was there any more on the console or had it given up by that point? It
>
> There was nothing more on the console. The system was hung.
>
> > might be worth trying to set synchronous console to get all of that
> > debug information?
>
> I was running with sync_console and console_to_ring options.
>
>
> > How easy is this error to reproduce for you? I never managed to
> > reproduce it reliably enough to be able to debug?
>
> I cannot reproduce it easily either.
>
>
> > If you could provide your Xen boot console log, that would be very
useful
>
> I will send full logs the next time I see the problem.

I have attached the full logs. I had a CentOS 5.6 and a Windows 7 HVM
domain running.

Thanks,
AP

--20cf3074d4fe662a8504bf4ebda4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sat, May 5, 2012 at 11:41 AM, AP &lt;<a href=3D"mailto:apxeng@gmail.com"=
>apxeng@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; On Sat, May 5, 2012 at 4:0=
4 AM, Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew=
.cooper3@citrix.com</a>&gt; wrote:<br>
&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; &gt; Thanks, that fixed it. Here is wha=
t I see now:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; (XEN) *** IRQ BUG found **=
*<br>&gt; &gt; &gt; (XEN) CPU0 -Testing vector 236 from bitmap<br>&gt; &gt;=
 &gt; 37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,19=
2,200,211<br>
&gt; &gt; &gt; (XEN) Guest interrupt information:<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000000 mapped, unbound<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 1=
 affinity:01 vec:d3 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A01(-S--),=
<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 2 affinity:ff vec:e2 type=3DXT-PIC=
<br>&gt; &gt; &gt; status=3D00000000 mapped, unbound<br>&gt; &gt; &gt; (XEN=
) =A0 =A0IRQ: =A0 3 affinity:01 vec:40 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 4 affinity:01 vec:48 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 5=
 affinity:01 vec:50 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 6 affinity:01 vec:58 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A0 7=
 affinity:01 vec:60 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; (XEN) =
=A0 =A0IRQ: =A0 8 affinity:08 vec:29 type=3DIO-APIC-edge<br>&gt; &gt; &gt; =
status=3D00000030 in-flight=3D0 domain-list=3D0: =A08(-S--),<br>&gt; &gt; &=
gt; (XEN) =A0 =A0IRQ: =A0 9 affinity:02 vec:25 type=3DIO-APIC-level<br>
&gt; &gt; &gt; status=3D00000030 in-flight=3D0 domain-list=3D0: =A09(-S--),=
<br>&gt; &gt; &gt; (XEN) =A0 =A0IRQ: =A010 affinity:01 vec:78 type=3DIO-API=
C-edge<br>&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt=
; (XEN) =A0 =A0IRQ: =A011 affinity:01 vec:88 type=3DIO-APIC-edge<br>
&gt; &gt; &gt; status=3D00000002 mapped, unbound<br>&gt; &gt; &gt; [ 5129.7=
37147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer<br>&gt; &gt; =
&gt; elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?=
<br>
&gt; &gt; &gt;<br>&gt; &gt; &gt; Let me know if you need any more info.<br>=
&gt; &gt; &gt; Thanks,<br>&gt; &gt; &gt; AP<br>&gt; &gt; &gt;<br>&gt; &gt;<=
br>&gt; &gt; There should be quite a lot more irq information dumped than j=
ust that.<br>
&gt; &gt; Was there any more on the console or had it given up by that poin=
t? It<br>&gt;<br>&gt; There was nothing more on the console. The system was=
 hung.<br>&gt;<br>&gt; &gt; might be worth trying to set synchronous consol=
e to get all of that<br>
&gt; &gt; debug information?<br>&gt;<br>&gt; I was running with sync_consol=
e and console_to_ring options.<br>&gt;<br>&gt;<br>&gt; &gt; How easy is thi=
s error to reproduce for you? I never managed to<br>&gt; &gt; reproduce it =
reliably enough to be able to debug?<br>
&gt;<br>&gt; I cannot reproduce it easily either.=A0<br>&gt;<br>&gt;<br>&gt=
; &gt; If you could provide your Xen boot console log, that would be very u=
seful<br>&gt;<br>&gt; I will send full logs the next time I see the problem=
.<br>
<br>I have attached the full logs. I had a CentOS 5.6 and a Windows 7 HVM d=
omain running.<br><br>Thanks,<br>AP<br><br>

--20cf3074d4fe662a8504bf4ebda4--
--20cf3074d4fe662a8904bf4ebda6
Content-Type: application/octet-stream; name="irq_bug.log"
Content-Disposition: attachment; filename="irq_bug.log"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h1v1kgcr0

IF9fICBfXyAgICAgICAgICAgIF8gIF8gICAgX19fXyAgICAgICAgICAgICAgICAgICAgIF8gICAg
ICAgIF8gICAgIF8gICAgICAKIFwgXC8gL19fXyBfIF9fICAgfCB8fCB8ICB8X19fIFwgICAgXyAg
IF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18gfCB8IF9fXyAKICBcICAvLyBfIFwgJ18gXCAgfCB8
fCB8XyAgIF9fKSB8X198IHwgfCB8ICdfIFwvIF9ffCBfXy8gX2AgfCAnXyBcfCB8LyBfIFwKICAv
ICBcICBfXy8gfCB8IHwgfF9fICAgX3wgLyBfXy98X198IHxffCB8IHwgfE4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDFdIGxhcGljX2lkWzB4MDBdIGVuYWJsZWQpCihYRU4pIFByb2Nlc3NvciAj
MCA2OjEwIEFQSUMgdmVyc2lvbiAyMQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAyXSBs
YXBpY19pZFsweDAxXSBlbmFibGVkKQooWEVOKSBQcm9jZXNzb3IgIzEgNjoxMCBBUElDIHZlcnNp
b24gMjEKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwM10gbGFwaWNfaWRbMHgwMl0gZW5h
YmxlZCkKKFhFTikgUHJvY2Vzc29yICMyIDY6MTAgQVBJQyB2ZXJzaW9uIDIxCihYRU4pIEFDUEk6
IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MDNdIGVuYWJsZWQpCihYRU4pIFByb2Nl
c3NvciAjMyA2OjEwIEFQSUMgdmVyc2lvbiAyMQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsw
eDA1XSBsYXBpY19pZFsweDAwXSBkaXNhYmxlZCkKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwNl0gbGFwaWNfaWRbMHgwMF0gZGlzYWJsZWQpCihYRU4pIEFDUEk6IExBUElDIChhY3BpX2lk
WzB4MDddIGxhcGljX2lkWzB4MDBdIGRpc2FibGVkKQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9p
ZFsweDA4XSBsYXBpY19pZFsweDAwXSBkaXNhYmxlZCkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChh
Y3BpX2lkWzB4MDBdIGhpZ2ggZWRnZSBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05NSSAo
YWNwaV9pZFsweDAxXSBoaWdoIGVkZ2UgbGludFsweDFdKQooWEVOKSBBQ1BJOiBJT0FQSUMgKGlk
WzB4MDJdIGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCihYRU4pIElPQVBJQ1swXTog
YXBpY19pZCAyLCB2ZXJzaW9uIDMyLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCihYRU4p
IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwp
CihYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhp
Z2ggbGV2ZWwpCihYRU4pIEFDUEk6IElSUTAgdXNlZCBieSBvdmVycmlkZS4KKFhFTikgQUNQSTog
SVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgooWEVOKSBBQ1BJOiBJUlE5IHVzZWQgYnkgb3ZlcnJpZGUu
CihYRU4pIEVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAxIEkvTyBBUElDcwooWEVO
KSBBQ1BJOiBIUEVUIGlkOiAweDgwODZhMzAxIGJhc2U6IDB4ZmVkMDAwMDAKKFhFTikgVGFibGUg
aXMgbm90IGZvdW5kIQooWEVOKSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRp
b24gaW5mb3JtYXRpb24KKFhFTikgU01QOiBBbGxvd2luZyA4IENQVXMgKDQgaG90cGx1ZyBDUFVz
KQooWEVOKSBJUlEgbGltaXRzOiAyNCBHU0ksIDc2MCBNU0kvTVNJLVgKKFhFTikgU3dpdGNoZWQg
dG8gQVBJQyBkcml2ZXIgeDJhcGljX2NsdXN0ZXIuCihYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01Q
IENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKKFhFTikgRGV0ZWN0ZWQgMjY5MS4zNjEgTUh6IHBy
b2Nlc3Nvci4KKFhFTikgSW5pdGluZyBtZW1vcnkgc2hhcmluZy4KKFhFTikgeHN0YXRlX2luaXQ6
IHVzaW5nIGNudHh0X3NpemU6IDB4MzQwIGFuZCBzdGF0ZXM6IDB4NwooWEVOKSBtY2VfaW50ZWwu
YzoxMjM5OiBNQ0EgQ2FwYWJpbGl0eTogQkNBU1QgMSBTRVIgMCBDTUNJIDEgZmlyc3RiYW5rIDAg
ZXh0ZW5kZWQgTUNFIE1TUiAwCihYRU4pIEludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVu
YWJsZWQKKFhFTikgUENJOiBNQ0ZHIGNvbmZpZ3VyYXRpb24gMDogYmFzZSBmODAwMDAwMCBzZWdt
ZW50IDAwMDAgYnVzZXMgMDAgLSAzZgooWEVOKSBQQ0k6IE1DRkcgYXJlYSBhdCBmODAwMDAwMCBy
ZXNlcnZlZCBpbiBFODIwCihYRU4pIFBDSTogVXNpbmcgTUNGRyBmb3Igc2VnbWVudCAwMDAwIGJ1
cyAwMC0zZgooWEVOKSBJbnRlbCBWVC1kIFNub29wIENvbnRyb2wgbm90IGVuYWJsZWQuCihYRU4p
IEludGVsIFZULWQgRG9tMCBETUEgUGFzc3Rocm91Z2ggbm90IGVuYWJsZWQuCihYRU4pIEludGVs
IFZULWQgUXVldWVkIEludmFsaWRhdGlvbiBlbmFibGVkLgooWEVOKSBJbnRlbCBWVC1kIEludGVy
cnVwdCBSZW1hcHBpbmcgZW5hYmxlZC4KKFhFTikgSW50ZWwgVlQtZCBTaGFyZWQgRVBUIHRhYmxl
cyBub3QgZW5hYmxlZC4KKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKKFhFTikgIC0g
RG9tMCBtb2RlOiBSZWxheGVkCihYRU4pIEVuYWJsZWQgZGlyZWN0ZWQgRU9JIHdpdGggaW9hcGlj
X2Fja19vbGQgb24hCihYRU4pIEVOQUJMSU5HIElPLUFQSUMgSVJRcwooWEVOKSAgLT4gVXNpbmcg
b2xkIEFDSyBtZXRob2QKKFhFTikgLi5USU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBwaW4xPTIg
YXBpYzI9LTEgcGluMj0tMQooWEVOKSBUU0MgZGVhZGxpbmUgdGltZXIgZW5hYmxlZAooWEVOKSBQ
bGF0Zm9ybSB0aW1lciBpcyAxNC4zMThNSHogSFBFVAooWEVOKSBBbGxvY2F0ZWQgY29uc29sZSBy
aW5nIG9mIDMyIEtpQi4KKFhFTikgVk1YOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVyZXM6CihY
RU4pICAtIEFQSUMgTU1JTyBhY2Nlc3MgdmlydHVhbGlzYXRpb24KKFhFTikgIC0gQVBJQyBUUFIg
c2hhZG93CihYRU4pICAtIEV4dGVuZGVkIFBhZ2UgVGFibGVzIChFUFQpCihYRU4pICAtIFZpcnR1
YWwtUHJvY2Vzc29yIElkZW50aWZpZXJzIChWUElEKQooWEVOKSAgLSBWaXJ0dWFsIE5NSQooWEVO
KSAgLSBNU1IgZGlyZWN0LWFjY2VzcyBiaXRtYXAKKFhFTikgIC0gVW5yZXN0cmljdGVkIEd1ZXN0
CihYRU4pIEhWTTogQVNJRHMgZW5hYmxlZC4KKFhFTikgSFZNOiBWTVggZW5hYmxlZAooWEVOKSBI
Vk06IEhhcmR3YXJlIEFzc2lzdGVkIFBhZ2luZyAoSEFQKSBkZXRlY3RlZAooWEVOKSBIVk06IEhB
UCBwYWdlIHNpemVzOiA0a0IsIDJNQiBbZGlzYWJsZWRdCihYRU4pIEJyb3VnaHQgdXAgNCBDUFVz
CihYRU4pIEFDUEkgc2xlZXAgbW9kZXM6IFMzCihYRU4pIG1jaGVja19wb2xsOiBNYWNoaW5lIGNo
ZWNrIHBvbGxpbmcgdGltZXIgc3RhcnRlZC4KKFhFTikgKioqIExPQURJTkcgRE9NQUlOIDAgKioq
CihYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weGFh
NTAwMAooWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDFjMDAwMDAgbWVtc3o9
MHhiYWM4MAooWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDFjYmIwMDAgbWVt
c3o9MHhkNjAKKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxY2JjMDAwIG1l
bXN6PTB4MTM3MDAKKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxY2QwMDAw
IG1lbXN6PTB4MzczMDAwCihYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IG1lbW9yeTogMHgxMDAwMDAw
IC0+IDB4MjA0MzAwMAooWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4
IgooWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX1ZFUlNJT04gPSAiMi42IgooWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IFhFTl9WRVJTSU9OID0gInhlbi0zLjAiCihYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogVklSVF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCihYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogRU5UUlkgPSAweGZmZmZmZmZmODFjZDAyMDAKKFhFTikgZWxmX3hlbl9wYXJz
ZV9ub3RlOiBIWVBFUkNBTExfUEFHRSA9IDB4ZmZmZmZmZmY4MTAwMTAwMAooWEVOKSBlbGZfeGVu
X3BhcnNlX25vdGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJf
YWJvdmVfNGdiIgooWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IFBBRV9NT0RFID0gInllcyIKKFhF
TikgZWxmX3hlbl9wYXJzZV9ub3RlOiBMT0FERVIgPSAiZ2VuZXJpYyIKKFhFTikgZWxmX3hlbl9w
YXJzZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQooWEVOKSBlbGZfeGVuX3BhcnNl
X25vdGU6IFNVU1BFTkRfQ0FOQ0VMID0gMHgxCihYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogSFZf
U1RBUlRfTE9XID0gMHhmZmZmODAwMDAwMDAwMDAwCihYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTog
UEFERFJfT0ZGU0VUID0gMHgwCihYRU4pIGVsZl94ZW5fYWRkcl9jYWxjX2NoZWNrOiBhZGRyZXNz
ZXM6CihYRU4pICAgICB2aXJ0X2Jhc2UgICAgICAgID0gMHhmZmZmZmZmZjgwMDAwMDAwCihYRU4p
ICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgwCihYRU4pICAgICB2aXJ0X29mZnNldCAgICAgID0g
MHhmZmZmZmZmZjgwMDAwMDAwCihYRU4pICAgICB2aXJ0X2tzdGFydCAgICAgID0gMHhmZmZmZmZm
ZjgxMDAwMDAwCihYRU4pICAgICB2aXJ0X2tlbmQgICAgICAgID0gMHhmZmZmZmZmZjgyMDQzMDAw
CihYRU4pICAgICB2aXJ0X2VudHJ5ICAgICAgID0gMHhmZmZmZmZmZjgxY2QwMjAwCihYRU4pICAg
ICBwMm1fYmFzZSAgICAgICAgID0gMHhmZmZmZmZmZmZmZmZmZmZmCihYRU4pICBYZW4gIGtlcm5l
bDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCihYRU4pICBEb20wIGtlcm5lbDogNjQtYml0LCBQQUUs
IGxzYiwgcGFkZHIgMHgxMDAwMDAwIC0+IDB4MjA0MzAwMAooWEVOKSBQSFlTSUNBTCBNRU1PUlkg
QVJSQU5HRU1FTlQ6CihYRU4pICBEb20wIGFsbG9jLjogICAwMDAwMDAwMjEwMDAwMDAwLT4wMDAw
MDAwMjE0MDAwMDAwICgxOTc5NDY1IHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkKKFhFTikgIEluaXQu
IHJhbWRpc2s6IDAwMDAwMDAyMWMxNTQwMDAtPjAwMDAwMDAyMWU1ZmZjMDAKKFhFTikgVklSVFVB
TCBNRU1PUlkgQVJSQU5HRU1FTlQ6CihYRU4pICBMb2FkZWQga2VybmVsOiBmZmZmZmZmZjgxMDAw
MDAwLT5mZmZmZmZmZjgyMDQzMDAwCihYRU4pICBJbml0LiByYW1kaXNrOiBmZmZmZmZmZjgyMDQz
MDAwLT5mZmZmZmZmZjg0NGVlYzAwCihYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjg0NGVm
MDAwLT5mZmZmZmZmZjg1NDNiN2E4CihYRU4pICBTdGFydCBpbmZvOiAgICBmZmZmZmZmZjg1NDNj
MDAwLT5mZmZmZmZmZjg1NDNjNGI0CihYRU4pICBQYWdlIHRhYmxlczogICBmZmZmZmZmZjg1NDNk
MDAwLT5mZmZmZmZmZjg1NDZjMDAwCihYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjg1NDZj
MDAwLT5mZmZmZmZmZjg1NDZkMDAwCihYRU4pICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgwMDAw
MDAwLT5mZmZmZmZmZjg1ODAwMDAwCihYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgxY2Qw
MjAwCihYRU4pIERvbTAgaGFzIG1heGltdW0gNCBWQ1BVcwooWEVOKSBlbGZfbG9hZF9iaW5hcnk6
IHBoZHIgMCBhdCAweGZmZmZmZmZmODEwMDAwMDAgLT4gMHhmZmZmZmZmZjgxYWE1MDAwCihYRU4p
IGVsZl9sb2FkX2JpbmFyeTogcGhkciAxIGF0IDB4ZmZmZmZmZmY4MWMwMDAwMCAtPiAweGZmZmZm
ZmZmODFjYmFjODAKKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDIgYXQgMHhmZmZmZmZmZjgx
Y2JiMDAwIC0+IDB4ZmZmZmZmZmY4MWNiYmQ2MAooWEVOKSBlbGZfbG9hZF9iaW5hcnk6IHBoZHIg
MyBhdCAweGZmZmZmZmZmODFjYmMwMDAgLT4gMHhmZmZmZmZmZjgxY2NmNzAwCihYRU4pIGVsZl9s
b2FkX2JpbmFyeTogcGhkciA0IGF0IDB4ZmZmZmZmZmY4MWNkMDAwMCAtPiAweGZmZmZmZmZmODFk
YmEwMDAKKFhFTikgU2NydWJiaW5nIEZyZWUgUkFNOiAuZG9uZS4KKFhFTikgSW5pdGlhbCBsb3cg
bWVtb3J5IHZpcnEgdGhyZXNob2xkIHNldCBhdCAweDQwMDAgcGFnZXMuCihYRU4pIFN0ZC4gTG9n
bGV2ZWw6IEFsbAooWEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsCihYRU4pICoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKFhFTikgKioqKioqKiBXQVJOSU5HOiBD
T05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwooWEVOKSAqKioqKioqIFRoaXMgb3B0aW9uIGlz
IGludGVuZGVkIHRvIGFpZCBkZWJ1Z2dpbmcgb2YgWGVuIGJ5IGVuc3VyaW5nCihYRU4pICoqKioq
KiogdGhhdCBhbGwgb3V0cHV0IGlzIHN5bmNocm9ub3VzbHkgZGVsaXZlcmVkIG9uIHRoZSBzZXJp
YWwgbGluZS4KKFhFTikgKioqKioqKiBIb3dldmVyIGl0IGNhbiBpbnRyb2R1Y2UgU0lHTklGSUNB
TlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKKFhFTikgKioqKioqKiB0aW1la2VlcGluZy4gSXQgaXMg
Tk9UIHJlY29tbWVuZGVkIGZvciBwcm9kdWN0aW9uIHVzZSEKKFhFTikgKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgooWEVOKSAzLi4uIDIuLi4gMS4uLiAKKFhF
TikgWGVuIGlzIHJlbGlucXVpc2hpbmcgVkdBIGNvbnNvbGUuCihYRU4pICoqKiBTZXJpYWwgaW5w
dXQgLT4gRE9NMCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8g
WGVuKQooWEVOKSBGcmVlZCAyMzZrQiBpbml0IG1lbW9yeS4KbWFwcGluZyBrZXJuZWwgaW50byBw
aHlzaWNhbCBtZW1vcnkKWGVuOiBzZXR1cCBJU0EgaWRlbnRpdHkgbWFwcwphYm91dCB0byBnZXQg
c3RhcnRlZC4uLgpbICAgIDAuMDAwMDAwXSBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBjcHVz
ZXQKWyAgICAwLjAwMDAwMF0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1ClsgICAgMC4w
MDAwMDBdIExpbnV4IHZlcnNpb24gMy4wLjAtMTctZ2VuZXJpYyAoYnVpbGRkQHllbGxvdykgKGdj
YyB2ZXJzaW9uIDQuNi4xIChVYnVudHUvTGluYXJvIDQuNi4xLTl1YnVudHUzKSApICMzMC1VYnVu
dHUgU01QIFRodSBNYXIgOCAyMDo0NTozOSBVVEMgMjAxMiAoVWJ1bnR1IDMuMC4wLTE3LjMwLWdl
bmVyaWMgMy4wLjIyKQpbICAgIDAuMDAwMDAwXSBDb21tYW5kIGxpbmU6IHBsYWNlaG9sZGVyIHJv
b3Q9VVVJRD1jNzgxNWFmZS1hZTcyLTRjZmEtYjhiMC05NGIzMDM1YzBiYjcgcm8gZGVidWcgY29u
c29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgpbICAgIDAuMDAwMDAwXSBLRVJORUwgc3VwcG9ydGVk
IGNwdXM6ClsgICAgMC4wMDAwMDBdICAgSW50ZWwgR2VudWluZUludGVsClsgICAgMC4wMDAwMDBd
ICAgQU1EIEF1dGhlbnRpY0FNRApbICAgIDAuMDAwMDAwXSAgIENlbnRhdXIgQ2VudGF1ckhhdWxz
ClsgICAgMC4wMDAwMDBdIERpc2FibGVkIGZhc3Qgc3RyaW5nIG9wZXJhdGlvbnMKWyAgICAwLjAw
MDAwMF0geGVuX3JlbGVhc2VfY2h1bms6IGxvb2tpbmcgYXQgYXJlYSBwZm4gZGZhMDAtZjgwMDA6
IDk5ODQwIHBhZ2VzIGZyZWVkClsgICAgMC4wMDAwMDBdIHhlbl9yZWxlYXNlX2NodW5rOiBsb29r
aW5nIGF0IGFyZWEgcGZuIGZjMDAwLWZlYzAwOiAxMTI2NCBwYWdlcyBmcmVlZApbICAgIDAuMDAw
MDAwXSB4ZW5fcmVsZWFzZV9jaHVuazogbG9va2luZyBhdCBhcmVhIHBmbiBmZWMwMS1mZWQwODog
MjYzIHBhZ2VzIGZyZWVkClsgICAgMC4wMDAwMDBdIHhlbl9yZWxlYXNlX2NodW5rOiBsb29raW5n
IGF0IGFyZWEgcGZuIGZlZDA5LWZlZDEwOiA3IHBhZ2VzIGZyZWVkClsgICAgMC4wMDAwMDBdIHhl
bl9yZWxlYXNlX2NodW5rOiBsb29raW5nIGF0IGFyZWEgcGZuIGZlZDFhLWZlZDFjOiAyIHBhZ2Vz
IGZyZWVkClsgICAgMC4wMDAwMDBdIHhlbl9yZWxlYXNlX2NodW5rOiBsb29raW5nIGF0IGFyZWEg
cGZuIGZlZDIwLWZlZTAwOiAyMjQgcGFnZXMgZnJlZWQKWyAgICAwLjAwMDAwMF0geGVuX3JlbGVh
c2VfY2h1bms6IGxvb2tpbmcgYXQgYXJlYSBwZm4gZmVlMDEtZmZkMjA6IDM4NzEgcGFnZXMgZnJl
ZWQKWyAgICAwLjAwMDAwMF0gcmVsZWFzZWQgMTE1NDcxIHBhZ2VzIG9mIHVudXNlZCBtZW1vcnkK
WyAgICAwLjAwMDAwMF0gMS0xIG1hcHBpbmcgb24gOWUtPjEwMApbICAgIDAuMDAwMDAwXSAxLTEg
bWFwcGluZyBvbiAyMDAwMC0+MjAyMDAKWyAgICAwLjAwMDAwMF0gMS0xIG1hcHBpbmcgb24gNDAw
MDAtPjQwMjAwClsgICAgMC4wMDAwMDBdIDEtMSBtYXBwaW5nIG9uIGRhOTlmLT5kYWZmZgpbICAg
IDAuMDAwMDAwXSAxLTEgbWFwcGluZyBvbiBkYjAwMC0+MTAwMDAwClsgICAgMC4wMDAwMDBdIDEt
MSBtYXBwaW5nIG9uIDIxZTYwMC0+MjFlODAwClsgICAgMC4wMDAwMDBdIFNldCAxNTQ4MTggcGFn
ZShzKSB0byAxLTEgbWFwcGluZy4KWyAgICAwLjAwMDAwMF0gQklPUy1wcm92aWRlZCBwaHlzaWNh
bCBSQU0gbWFwOgpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAw
MDAwMDA5ZDAwMCAodXNhYmxlKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMDAwMDlkODAw
IC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAwMDAw
MDAwMDAxMDAwMDAgLSAwMDAwMDAwMDIwMDAwMDAwICh1c2FibGUpClsgICAgMC4wMDAwMDBdICBY
ZW46IDAwMDAwMDAwMjAwMDAwMDAgLSAwMDAwMDAwMDIwMjAwMDAwIChyZXNlcnZlZCkKWyAgICAw
LjAwMDAwMF0gIFhlbjogMDAwMDAwMDAyMDIwMDAwMCAtIDAwMDAwMDAwNDAwMDAwMDAgKHVzYWJs
ZSkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDA0MDAwMDAwMCAtIDAwMDAwMDAwNDAyMDAw
MDAgKHJlc2VydmVkKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMDQwMjAwMDAwIC0gMDAw
MDAwMDBkYTk5ZjAwMCAodXNhYmxlKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMGRhOTlm
MDAwIC0gMDAwMDAwMDBkYWU5ZjAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAw
MDAwMDAwZGFlOWYwMDAgLSAwMDAwMDAwMGRhZjlmMDAwIChBQ1BJIE5WUykKWyAgICAwLjAwMDAw
MF0gIFhlbjogMDAwMDAwMDBkYWY5ZjAwMCAtIDAwMDAwMDAwZGFmZmYwMDAgKEFDUEkgZGF0YSkK
WyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDBkYWZmZjAwMCAtIDAwMDAwMDAwZGIwMDAwMDAg
KHVzYWJsZSkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDBkYjAwMDAwMCAtIDAwMDAwMDAw
ZGZhMDAwMDAgKHJlc2VydmVkKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMGY4MDAwMDAw
IC0gMDAwMDAwMDBmYzAwMDAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAwMDAw
MDAwZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAxMDAwIChyZXNlcnZlZCkKWyAgICAwLjAwMDAwMF0g
IFhlbjogMDAwMDAwMDBmZWQwODAwMCAtIDAwMDAwMDAwZmVkMDkwMDAgKHJlc2VydmVkKQpbICAg
IDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAwMGZlZDEwMDAwIC0gMDAwMDAwMDBmZWQxYTAwMCAocmVz
ZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBYZW46IDAwMDAwMDAwZmVkMWMwMDAgLSAwMDAwMDAwMGZl
ZDIwMDAwIChyZXNlcnZlZCkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDBmZWUwMDAwMCAt
IDAwMDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQpbICAgIDAuMDAwMDAwXSAgWGVuOiAwMDAwMDAw
MGZmZDIwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdICBY
ZW46IDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMWU5OGY1MDAwICh1c2FibGUpClsgICAgMC4w
MDAwMDBdICBYZW46IDAwMDAwMDAyMWU2MDAwMDAgLSAwMDAwMDAwMjFlODAwMDAwIChyZXNlcnZl
ZCkKWyAgICAwLjAwMDAwMF0gIFhlbjogMDAwMDAwMDIxZTgwMDAwMCAtIDAwMDAwMDAyNmY4MWEw
MDAgKHVzYWJsZSkKWyAgICAwLjAwMDAwMF0gYm9vdGNvbnNvbGUgW3hlbmJvb3QwXSBlbmFibGVk
ClsgICAgMC4wMDAwMDBdIE5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFjdGl2ZQpb
ICAgIDAuMDAwMDAwXSBETUkgMi42IHByZXNlbnQuClsgICAgMC4wMDAwMDBdIERNSTogTEVOT1ZP
IDQyODZDVE8vNDI4NkNUTywgQklPUyA4REVUNThXVyAoMS4yOCApIDAyLzE0LzIwMTIKWyAgICAw
LjAwMDAwMF0gZTgyMCB1cGRhdGUgcmFuZ2U6IDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAw
MDEwMDAwICh1c2FibGUpID09PiAocmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdIGU4MjAgcmVtb3Zl
IHJhbmdlOiAwMDAwMDAwMDAwMGEwMDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAodXNhYmxlKQpbICAg
IDAuMDAwMDAwXSBObyBBR1AgYnJpZGdlIGZvdW5kClsgICAgMC4wMDAwMDBdIGxhc3RfcGZuID0g
MHgyNmY4MWEgbWF4X2FyY2hfcGZuID0gMHg0MDAwMDAwMDAKWyAgICAwLjAwMDAwMF0geDJhcGlj
IGVuYWJsZWQgYnkgQklPUywgc3dpdGNoaW5nIHRvIHgyYXBpYyBvcHMKWyAgICAwLjAwMDAwMF0g
bGFzdF9wZm4gPSAweGRiMDAwIG1heF9hcmNoX3BmbiA9IDB4NDAwMDAwMDAwClsgICAgMC4wMDAw
MDBdIGluaXRpYWwgbWVtb3J5IG1hcHBlZCA6IDAgLSAwNDRlZjAwMApbICAgIDAuMDAwMDAwXSBC
YXNlIG1lbW9yeSB0cmFtcG9saW5lIGF0IFtmZmZmODgwMDAwMDk4MDAwXSA5ODAwMCBzaXplIDIw
NDgwClsgICAgMC4wMDAwMDBdIGluaXRfbWVtb3J5X21hcHBpbmc6IDAwMDAwMDAwMDAwMDAwMDAt
MDAwMDAwMDBkYjAwMDAwMApbICAgIDAuMDAwMDAwXSAgMDAwMDAwMDAwMCAtIDAwZGIwMDAwMDAg
cGFnZSA0awpbICAgIDAuMDAwMDAwXSBrZXJuZWwgZGlyZWN0IG1hcHBpbmcgdGFibGVzIHVwIHRv
IGRiMDAwMDAwIEAgOTIzMDAwLTEwMDAwMDAKWyAgICAwLjAwMDAwMF0geGVuOiBzZXR0aW5nIFJX
IHRoZSByYW5nZSBmY2UwMDAgLSAxMDAwMDAwClsgICAgMC4wMDAwMDBdIGluaXRfbWVtb3J5X21h
cHBpbmc6IDAwMDAwMDAxMDAwMDAwMDAtMDAwMDAwMDI2ZjgxYTAwMApbICAgIDAuMDAwMDAwXSAg
MDEwMDAwMDAwMCAtIDAyNmY4MWEwMDAgcGFnZSA0awpbICAgIDAuMDAwMDAwXSBrZXJuZWwgZGly
ZWN0IG1hcHBpbmcgdGFibGVzIHVwIHRvIDI2ZjgxYTAwMCBAIGQ5NjE3MDAwLWRhOTlmMDAwClsg
ICAgMC4wMDAwMDBdIHhlbjogc2V0dGluZyBSVyB0aGUgcmFuZ2UgZGExOWEwMDAgLSBkYTk5ZjAw
MApbICAgIDAuMDAwMDAwXSBSQU1ESVNLOiAwMjA0MzAwMCAtIDA0NGVmMDAwClsgICAgMC4wMDAw
MDBdIEFDUEk6IFJTRFAgMDAwMDAwMDAwMDBmMDBlMCAwMDAyNCAodjAyIExFTk9WTykKWyAgICAw
LjAwMDAwMF0gQUNQSTogWFNEVCAwMDAwMDAwMGRhZmZlMTIwIDAwMEFDICh2MDEgTEVOT1ZPIFRQ
LThEICAgIDAwMDAxMjgwIFBURUMgMDAwMDAwMDIpClsgICAgMC4wMDAwMDBdIEFDUEk6IEZBQ1Ag
MDAwMDAwMDBkYWZlNzAwMCAwMDBGNCAodjA0IExFTk9WTyBUUC04RCAgICAwMDAwMTI4MCBQVEwg
IDAwMDAwMDAyKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBEU0RUIDAwMDAwMDAwZGFmZWEwMDAgMEY2
RDggKHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgSU5UTCAyMDA2MTEwOSkKWyAgICAwLjAw
MDAwMF0gQUNQSTogRkFDUyAwMDAwMDAwMGRhZjJkMDAwIDAwMDQwClsgICAgMC4wMDAwMDBdIEFD
UEk6IFNMSUMgMDAwMDAwMDBkYWZmZDAwMCAwMDE3NiAodjAxIExFTk9WTyBUUC04RCAgICAwMDAw
MTI4MCBQVEVDIDAwMDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBTU0RUIDAwMDAwMDAwZGFm
ZmMwMDAgMDAyNDkgKHYwMSBMRU5PVk8gVFAtU1NEVDIgMDAwMDAyMDAgSU5UTCAyMDA2MTEwOSkK
WyAgICAwLjAwMDAwMF0gQUNQSTogU1NEVCAwMDAwMDAwMGRhZmZiMDAwIDAwMDMzICh2MDEgTEVO
T1ZPIFRQLVNTRFQxIDAwMDAwMTAwIElOVEwgMjAwNjExMDkpClsgICAgMC4wMDAwMDBdIEFDUEk6
IFNTRFQgMDAwMDAwMDBkYWZmYTAwMCAwMDdEMSAodjAxIExFTk9WTyBTYXRhQWhjaSAwMDAwMTAw
MCBJTlRMIDIwMDYxMTA5KQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBIUEVUIDAwMDAwMDAwZGFmZTYw
MDAgMDAwMzggKHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgUFRMICAwMDAwMDAwMikKWyAg
ICAwLjAwMDAwMF0gQUNQSTogQVBJQyAwMDAwMDAwMGRhZmU1MDAwIDAwMDk4ICh2MDEgTEVOT1ZP
IFRQLThEICAgIDAwMDAxMjgwIFBUTCAgMDAwMDAwMDIpClsgICAgMC4wMDAwMDBdIEFDUEk6IE1D
RkcgMDAwMDAwMDBkYWZlNDAwMCAwMDAzQyAodjAxIExFTk9WTyBUUC04RCAgICAwMDAwMTI4MCBQ
VEwgIDAwMDAwMDAyKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBFQ0RUIDAwMDAwMDAwZGFmZTMwMDAg
MDAwNTIgKHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgUFRMICAwMDAwMDAwMikKWyAgICAw
LjAwMDAwMF0gQUNQSTogQVNGISAwMDAwMDAwMGRhZmU5MDAwIDAwMEE1ICh2MzIgTEVOT1ZPIFRQ
LThEICAgIDAwMDAxMjgwIFBUTCAgMDAwMDAwMDIpClsgICAgMC4wMDAwMDBdIEFDUEk6IFRDUEEg
MDAwMDAwMDBkYWZlMjAwMCAwMDAzMiAodjAyICAgIFBUTCAgIExFTk9WTyAwNjA0MDAwMCBMTlZP
IDAwMDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBTU0RUIDAwMDAwMDAwZGFmZTEwMDAgMDBB
NjkgKHYwMSAgUG1SZWYgIENwdTBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKWyAgICAwLjAw
MDAwMF0gQUNQSTogU1NEVCAwMDAwMDAwMGRhZmUwMDAwIDAwOTk2ICh2MDEgIFBtUmVmICAgIENw
dVBtIDAwMDAzMDAwIElOVEwgMjAwNjExMDkpClsgICAgMC4wMDAwMDBdIEFDUEk6IFhNQVIgMDAw
MDAwMDBkYWZkZjAwMCAwMDBFOCAodjAxIElOVEVMICAgICAgU05CICAwMDAwMDAwMSBJTlRMIDAw
MDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBVRUZJIDAwMDAwMDAwZGFmZGUwMDAgMDAwM0Ug
KHYwMSBMRU5PVk8gVFAtOEQgICAgMDAwMDEyODAgUFRMICAwMDAwMDAwMikKWyAgICAwLjAwMDAw
MF0gQUNQSTogVUVGSSAwMDAwMDAwMGRhZmRkMDAwIDAwMDQyICh2MDEgUFRMICAgICAgQ09NQlVG
IDAwMDAwMDAxIFBUTCAgMDAwMDAwMDEpClsgICAgMC4wMDAwMDBdIEFDUEk6IFVFRkkgMDAwMDAw
MDBkYWZkYzAwMCAwMDI5MiAodjAxIExFTk9WTyBUUC04RCAgICAwMDAwMTI4MCBQVEwgIDAwMDAw
MDAyKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBMb2NhbCBBUElDIGFkZHJlc3MgMHhmZWUwMDAwMApb
ICAgIDAuMDAwMDAwXSBTZXR0aW5nIEFQSUMgcm91dGluZyB0byBjbHVzdGVyIHgyYXBpYy4KWyAg
ICAwLjAwMDAwMF0gTm8gTlVNQSBjb25maWd1cmF0aW9uIGZvdW5kClsgICAgMC4wMDAwMDBdIEZh
a2luZyBhIG5vZGUgYXQgMDAwMDAwMDAwMDAwMDAwMC0wMDAwMDAwMjZmODFhMDAwClsgICAgMC4w
MDAwMDBdIEluaXRtZW0gc2V0dXAgbm9kZSAwIDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDI2Zjgx
YTAwMApbICAgIDAuMDAwMDAwXSAgIE5PREVfREFUQSBbMDAwMDAwMDFlOThmMDAwMCAtIDAwMDAw
MDAxZTk4ZjRmZmZdClsgICAgMC4wMDAwMDBdIFpvbmUgUEZOIHJhbmdlczoKWyAgICAwLjAwMDAw
MF0gICBETUEgICAgICAweDAwMDAwMDEwIC0+IDB4MDAwMDEwMDAKWyAgICAwLjAwMDAwMF0gICBE
TUEzMiAgICAweDAwMDAxMDAwIC0+IDB4MDAxMDAwMDAKWyAgICAwLjAwMDAwMF0gICBOb3JtYWwg
ICAweDAwMTAwMDAwIC0+IDB4MDAyNmY4MWEKWyAgICAwLjAwMDAwMF0gTW92YWJsZSB6b25lIHN0
YXJ0IFBGTiBmb3IgZWFjaCBub2RlClsgICAgMC4wMDAwMDBdIGVhcmx5X25vZGVfbWFwWzddIGFj
dGl2ZSBQRk4gcmFuZ2VzClsgICAgMC4wMDAwMDBdICAgICAwOiAweDAwMDAwMDEwIC0+IDB4MDAw
MDAwOWQKWyAgICAwLjAwMDAwMF0gICAgIDA6IDB4MDAwMDAxMDAgLT4gMHgwMDAyMDAwMApbICAg
IDAuMDAwMDAwXSAgICAgMDogMHgwMDAyMDIwMCAtPiAweDAwMDQwMDAwClsgICAgMC4wMDAwMDBd
ICAgICAwOiAweDAwMDQwMjAwIC0+IDB4MDAwZGE5OWYKWyAgICAwLjAwMDAwMF0gICAgIDA6IDB4
MDAwZGFmZmYgLT4gMHgwMDBkYjAwMApbICAgIDAuMDAwMDAwXSAgICAgMDogMHgwMDEwMDAwMCAt
PiAweDAwMWU5OGY1ClsgICAgMC4wMDAwMDBdICAgICAwOiAweDAwMjFlODAwIC0+IDB4MDAyNmY4
MWEKWyAgICAwLjAwMDAwMF0gT24gbm9kZSAwIHRvdGFscGFnZXM6IDIxODI3MTYKWyAgICAwLjAw
MDAwMF0gICBETUEgem9uZTogNTYgcGFnZXMgdXNlZCBmb3IgbWVtbWFwClsgICAgMC4wMDAwMDBd
ICAgRE1BIHpvbmU6IDE3MTIgcGFnZXMgcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gICBETUEgem9u
ZTogMjIxMyBwYWdlcywgTElGTyBiYXRjaDowClsgICAgMC4wMDAwMDBdICAgRE1BMzIgem9uZTog
MTQyODAgcGFnZXMgdXNlZCBmb3IgbWVtbWFwClsgICAgMC4wMDAwMDBdICAgRE1BMzIgem9uZTog
ODc1OTkyIHBhZ2VzLCBMSUZPIGJhdGNoOjMxClsgICAgMC4wMDAwMDBdICAgTm9ybWFsIHpvbmU6
IDIwNTgxIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcApbICAgIDAuMDAwMDAwXSAgIE5vcm1hbCB6b25l
OiAxMjY3ODgyIHBhZ2VzLCBMSUZPIGJhdGNoOjMxClsgICAgMC4wMDAwMDBdIEFDUEk6IFBNLVRp
bWVyIElPIFBvcnQ6IDB4NDA4ClsgICAgMC4wMDAwMDBdIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVz
cyAweGZlZTAwMDAwClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDFdIGxh
cGljX2lkWzB4MDBdIGVuYWJsZWQpClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lk
WzB4MDJdIGxhcGljX2lkWzB4MDFdIGVuYWJsZWQpClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpClsgICAgMC4wMDAwMDBdIEFD
UEk6IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MDNdIGVuYWJsZWQpClsgICAgMC4w
MDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDVdIGxhcGljX2lkWzB4MDBdIGRpc2FibGVk
KQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2XSBsYXBpY19pZFsweDAw
XSBkaXNhYmxlZCkKWyAgICAwLjAwMDAwMF0gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwN10gbGFw
aWNfaWRbMHgwMF0gZGlzYWJsZWQpClsgICAgMC4wMDAwMDBdIEFDUEk6IExBUElDIChhY3BpX2lk
WzB4MDhdIGxhcGljX2lkWzB4MDBdIGRpc2FibGVkKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBMQVBJ
Q19OTUkgKGFjcGlfaWRbMHgwMF0gaGlnaCBlZGdlIGxpbnRbMHgxXSkKWyAgICAwLjAwMDAwMF0g
QUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MDFdIGhpZ2ggZWRnZSBsaW50WzB4MV0pClsgICAg
MC4wMDAwMDBdIEFDUEk6IElPQVBJQyAoaWRbMHgwMl0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lf
YmFzZVswXSkKWyAgICAwLjAwMDAwMF0gSU9BUElDWzBdOiBhcGljX2lkIDIsIHZlcnNpb24gMjU1
LCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTI1NQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBJTlRf
U1JDX09WUiAoYnVzIDAgYnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQpbICAgIDAuMDAw
MDAwXSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSA5IGdsb2JhbF9pcnEgOSBoaWdo
IGxldmVsKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuClsgICAg
MC4wMDAwMDBdIEFDUEk6IElSUTIgdXNlZCBieSBvdmVycmlkZS4KWyAgICAwLjAwMDAwMF0gQUNQ
STogSVJROSB1c2VkIGJ5IG92ZXJyaWRlLgpbICAgIDAuMDAwMDAwXSBVc2luZyBBQ1BJIChNQURU
KSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KWyAgICAwLjAwMDAwMF0gQUNQSTog
SFBFVCBpZDogMHg4MDg2YTMwMSBiYXNlOiAweGZlZDAwMDAwClsgICAgMC4wMDAwMDBdIFNNUDog
QWxsb3dpbmcgOCBDUFVzLCA0IGhvdHBsdWcgQ1BVcwpbICAgIDAuMDAwMDAwXSBucl9pcnFzX2dz
aTogMjcyClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAw
MDAwMDAwOWQwMDAgLSAwMDAwMDAwMDAwMDllMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3Rl
cmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwMDAwOWUwMDAgLSAwMDAwMDAwMDAwMTAwMDAwClsg
ICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwMjAwMDAw
MDAgLSAwMDAwMDAwMDIwMjAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2
ZSBtZW1vcnk6IDAwMDAwMDAwNDAwMDAwMDAgLSAwMDAwMDAwMDQwMjAwMDAwClsgICAgMC4wMDAw
MDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZGE5OWYwMDAgLSAwMDAw
MDAwMGRhZTlmMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6
IDAwMDAwMDAwZGFlOWYwMDAgLSAwMDAwMDAwMGRhZjlmMDAwClsgICAgMC4wMDAwMDBdIFBNOiBS
ZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZGFmOWYwMDAgLSAwMDAwMDAwMGRhZmZm
MDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAw
ZGIwMDAwMDAgLSAwMDAwMDAwMGRmYTAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVk
IG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZGZhMDAwMDAgLSAwMDAwMDAwMGY4MDAwMDAwClsgICAg
MC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZjgwMDAwMDAg
LSAwMDAwMDAwMGZjMDAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBt
ZW1vcnk6IDAwMDAwMDAwZmMwMDAwMDAgLSAwMDAwMDAwMGZlYzAwMDAwClsgICAgMC4wMDAwMDBd
IFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAwMDAw
MGZlYzAxMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAw
MDAwMDAwZmVjMDEwMDAgLSAwMDAwMDAwMGZlZDA4MDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMDgwMDAgLSAwMDAwMDAwMGZlZDA5MDAw
ClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVk
MDkwMDAgLSAwMDAwMDAwMGZlZDEwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5v
c2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMTAwMDAgLSAwMDAwMDAwMGZlZDFhMDAwClsgICAgMC4w
MDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMWEwMDAgLSAw
MDAwMDAwMGZlZDFjMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1v
cnk6IDAwMDAwMDAwZmVkMWMwMDAgLSAwMDAwMDAwMGZlZDIwMDAwClsgICAgMC4wMDAwMDBdIFBN
OiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVkMjAwMDAgLSAwMDAwMDAwMGZl
ZTAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAw
MDAwZmVlMDAwMDAgLSAwMDAwMDAwMGZlZTAxMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3Rl
cmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVlMDEwMDAgLSAwMDAwMDAwMGZmZDIwMDAwClsg
ICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmZkMjAw
MDAgLSAwMDAwMDAwMTAwMDAwMDAwClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2
ZSBtZW1vcnk6IDAwMDAwMDAxZTk4ZjUwMDAgLSAwMDAwMDAwMjFlNjAwMDAwClsgICAgMC4wMDAw
MDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAyMWU2MDAwMDAgLSAwMDAw
MDAwMjFlODAwMDAwClsgICAgMC4wMDAwMDBdIEFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFy
dGluZyBhdCBkZmEwMDAwMCAoZ2FwOiBkZmEwMDAwMDoxODYwMDAwMCkKWyAgICAwLjAwMDAwMF0g
Qm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVsIG9uIFhlbgpbICAgIDAuMDAwMDAwXSBYZW4g
dmVyc2lvbjogNC4yLXVuc3RhYmxlIChwcmVzZXJ2ZS1BRCkKWyAgICAwLjAwMDAwMF0gc2V0dXBf
cGVyY3B1OiBOUl9DUFVTOjI1NiBucl9jcHVtYXNrX2JpdHM6MjU2IG5yX2NwdV9pZHM6OCBucl9u
b2RlX2lkczoxClsgICAgMC4wMDAwMDBdIFBFUkNQVTogRW1iZWRkZWQgMjcgcGFnZXMvY3B1IEBm
ZmZmODgwMWU5N2UwMDAwIHM3OTYxNiByODE5MiBkMjI3ODQgdTExMDU5MgpbICAgIDAuMDAwMDAw
XSBwY3B1LWFsbG9jOiBzNzk2MTYgcjgxOTIgZDIyNzg0IHUxMTA1OTIgYWxsb2M9MjcqNDA5Ngpb
ICAgIDAuMDAwMDAwXSBwY3B1LWFsbG9jOiBbMF0gMCBbMF0gMSBbMF0gMiBbMF0gMyBbMF0gNCBb
MF0gNSBbMF0gNiBbMF0gNyAKWyAgICA2LjY1MzM1Nl0gQnVpbHQgMSB6b25lbGlzdHMgaW4gWm9u
ZSBvcmRlciwgbW9iaWxpdHkgZ3JvdXBpbmcgb24uICBUb3RhbCBwYWdlczogMjE0NjA4NwpbICAg
IDYuNjYxNzUyXSBQb2xpY3kgem9uZTogTm9ybWFsClsgICAgNi42NjUwMTFdIEtlcm5lbCBjb21t
YW5kIGxpbmU6IHBsYWNlaG9sZGVyIHJvb3Q9VVVJRD1jNzgxNWFmZS1hZTcyLTRjZmEtYjhiMC05
NGIzMDM1YzBiYjcgcm8gZGVidWcgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgpbICAgIDYu
Njc3MTgzXSBQSUQgaGFzaCB0YWJsZSBlbnRyaWVzOiA0MDk2IChvcmRlcjogMywgMzI3NjggYnl0
ZXMpCihYRU4pIGRvbWFpbi5jOjY5ODpkMCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgMDAw
NDI2NjAgLT4gMDAwMDI2NjAKKFhFTikgZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hhbmdl
IENSNCBmbGFncyAwMDA0MjY2MCAtPiAwMDAwMjY2MAooWEVOKSBkb21haW4uYzo2OTg6ZDAgQXR0
ZW1wdCB0byBjaGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwClsgICAgNi43MDMx
MjhdIHhzYXZlL3hyc3RvcjogZW5hYmxlZCB4c3RhdGVfYnYgMHg3LCBjbnR4dCBzaXplIDB4MzQw
ClsgICAgNi43NTg1MTddIFBsYWNpbmcgNjRNQiBzb2Z0d2FyZSBJTyBUTEIgYmV0d2VlbiBmZmZm
ODgwMWRjNjAwMDAwIC0gZmZmZjg4MDFlMDYwMDAwMApbICAgIDYuNzY2NTA0XSBzb2Z0d2FyZSBJ
TyBUTEIgYXQgcGh5cyAweDFkYzYwMDAwMCAtIDB4MWUwNjAwMDAwClsgICAgNi43OTYwNzZdIE1l
bW9yeTogNzEyNTA2MGsvMTAyMTU1MjhrIGF2YWlsYWJsZSAoNjE0MGsga2VybmVsIGNvZGUsIDE0
ODQ2NjRrIGFic2VudCwgMTYwNTgwNGsgcmVzZXJ2ZWQsIDY4OTRrIGRhdGEsIDk4OGsgaW5pdCkK
WyAgICA2LjgwODAwMF0gU0xVQjogR2Vuc2xhYnM9MTUsIEhXYWxpZ249NjQsIE9yZGVyPTAtMywg
TWluT2JqZWN0cz0wLCBDUFVzPTgsIE5vZGVzPTEKWyAgICA2LjgxNTkxN10gSGllcmFyY2hpY2Fs
IFJDVSBpbXBsZW1lbnRhdGlvbi4KWyAgICA2LjgyMDMxNV0gCVJDVSBkeW50aWNrLWlkbGUgZ3Jh
Y2UtcGVyaW9kIGFjY2VsZXJhdGlvbiBpcyBlbmFibGVkLgpbICAgIDYuODI2ODMyXSBOUl9JUlFT
OjE2NjQwIG5yX2lycXM6MjA0OCAxNgpbICAgIDYuODMxMDQ3XSB4ZW46IHNjaSBvdmVycmlkZTog
Z2xvYmFsX2lycT05IHRyaWdnZXI9MCBwb2xhcml0eT0wClsgICAgNi44MzcyMjBdIHhlbjogcmVn
aXN0ZXJpbmcgZ3NpIDkgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDAKWyAgICA2Ljg0MjkyMl0geGVu
OiAtLT4gcGlycT05IC0+IGlycT05IChnc2k9OSkKWyAgICA2Ljg0NzM2N10geGVuOiBhY3BpIHNj
aSA5ClsgICAgNi44NTAyMjldIHhlbjogLS0+IHBpcnE9MSAtPiBpcnE9MSAoZ3NpPTEpClsgICAg
Ni44NTQ2NTddIHhlbjogLS0+IHBpcnE9MiAtPiBpcnE9MiAoZ3NpPTIpClsgICAgNi44NTkwNzhd
IHhlbjogLS0+IHBpcnE9MyAtPiBpcnE9MyAoZ3NpPTMpClsgICAgNi44NjM1MDVdIHhlbjogLS0+
IHBpcnE9NCAtPiBpcnE9NCAoZ3NpPTQpClsgICAgNi44Njc5MzFdIHhlbjogLS0+IHBpcnE9NSAt
PiBpcnE9NSAoZ3NpPTUpClsgICAgNi44NzIzNjZdIHhlbjogLS0+IHBpcnE9NiAtPiBpcnE9NiAo
Z3NpPTYpClsgICAgNi44NzY3OThdIHhlbjogLS0+IHBpcnE9NyAtPiBpcnE9NyAoZ3NpPTcpClsg
ICAgNi44ODEyMzBdIHhlbjogLS0+IHBpcnE9OCAtPiBpcnE9OCAoZ3NpPTgpClsgICAgNi44ODU2
NTJdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgOSBmb3IgZ3NpIDkKWyAgICA2Ljg5
MTA2OV0geGVuOiAtLT4gcGlycT05IC0+IGlycT05IChnc2k9OSkKWyAgICA2Ljg5NTQ5N10geGVu
OiAtLT4gcGlycT0xMCAtPiBpcnE9MTAgKGdzaT0xMCkKWyAgICA2LjkwMDE5Nl0geGVuOiAtLT4g
cGlycT0xMSAtPiBpcnE9MTEgKGdzaT0xMSkKWyAgICA2LjkwNDkwMl0geGVuOiAtLT4gcGlycT0x
MiAtPiBpcnE9MTIgKGdzaT0xMikKWyAgICA2LjkwOTYwM10geGVuOiAtLT4gcGlycT0xMyAtPiBp
cnE9MTMgKGdzaT0xMykKWyAgICA2LjkxNDMwOF0geGVuOiAtLT4gcGlycT0xNCAtPiBpcnE9MTQg
KGdzaT0xNCkKWyAgICA2LjkxODk5OV0geGVuOiAtLT4gcGlycT0xNSAtPiBpcnE9MTUgKGdzaT0x
NSkKWyAgICA2LjkyNDYzNl0gQ29uc29sZTogY29sb3VyIFZHQSsgODB4MjUKWyAgICA2LjkyODQ0
OV0gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUgZGlzYWJsZWQKWyAgICA2Ljky
ODQ0OV0gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUgZGlzYWJsZWQKWyAgICA2
Ljk0Nzk5NF0gYWxsb2NhdGVkIDcyMzUxNzQ0IGJ5dGVzIG9mIHBhZ2VfY2dyb3VwClsgICAgNi45
NTMwNjJdIHBsZWFzZSB0cnkgJ2Nncm91cF9kaXNhYmxlPW1lbW9yeScgb3B0aW9uIGlmIHlvdSBk
b24ndCB3YW50IG1lbW9yeSBjZ3JvdXBzClsgICAgNi45NjE0MjhdIFhlbjogdXNpbmcgdmNwdW9w
IHRpbWVyIGludGVyZmFjZQpbICAgIDYuOTY2MDA2XSBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3Ig
Q1BVIDAKWyAgICA2Ljk3MDM3MV0gRGV0ZWN0ZWQgMjY5MS4zNjAgTUh6IHByb2Nlc3Nvci4KWyAg
ICA2Ljk3NDg1N10gQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1
bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNTM4Mi43MiBCb2dvTUlQUyAobHBqPTEwNzY1
NDQwKQpbICAgIDYuOTg2MDQ5XSBwaWRfbWF4OiBkZWZhdWx0OiAzMjc2OCBtaW5pbXVtOiAzMDEK
WyAgICA2Ljk5MDk3MF0gU2VjdXJpdHkgRnJhbWV3b3JrIGluaXRpYWxpemVkClsgICAgNi45OTUy
NzRdIEFwcEFybW9yOiBBcHBBcm1vciBpbml0aWFsaXplZApbICAgIDYuOTk5NTk2XSBZYW1hOiBi
ZWNvbWluZyBtaW5kZnVsLgpbICAgIDcuMDA3ODI1XSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBl
bnRyaWVzOiAyMDk3MTUyIChvcmRlcjogMTIsIDE2Nzc3MjE2IGJ5dGVzKQpbICAgIDcuMDIwMjkz
XSBJbm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEwNDg1NzYgKG9yZGVyOiAxMSwgODM4
ODYwOCBieXRlcykKWyAgICA3LjAyOTA4N10gTW91bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVz
OiAyNTYKWyAgICA3LjAzMzk3Ml0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1YWNjdApb
ICAgIDcuMDM4NTg4XSBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBtZW1vcnkKWyAgICA3LjA0
MzIwNl0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZGV2aWNlcwpbICAgIDcuMDQ3OTAzXSBJ
bml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBmcmVlemVyClsgICAgNy4wNTI1OTRdIEluaXRpYWxp
emluZyBjZ3JvdXAgc3Vic3lzIG5ldF9jbHMKWyAgICA3LjA1NzI4OV0gSW5pdGlhbGl6aW5nIGNn
cm91cCBzdWJzeXMgYmxraW8KWyAgICA3LjA2MTgxNF0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJz
eXMgcGVyZl9ldmVudApbICAgIDcuMDY2ODI0XSBEaXNhYmxlZCBmYXN0IHN0cmluZyBvcGVyYXRp
b25zClsgICAgNy4wNzEyMTBdIEVORVJHWV9QRVJGX0JJQVM6IFNldCB0byAnbm9ybWFsJywgd2Fz
ICdwZXJmb3JtYW5jZScKWyAgICA3LjA3MTIxMV0gRU5FUkdZX1BFUkZfQklBUzogVmlldyBhbmQg
dXBkYXRlIHdpdGggeDg2X2VuZXJneV9wZXJmX3BvbGljeSg4KQpbICAgIDcuMDg0OTE0XSBDUFU6
IFBoeXNpY2FsIFByb2Nlc3NvciBJRDogMApbICAgIDcuMDg5MTYzXSBDUFU6IFByb2Nlc3NvciBD
b3JlIElEOiAwClsgICAgNy4wOTUyMzhdIEFDUEk6IENvcmUgcmV2aXNpb24gMjAxMTA0MTMKWyAg
ICA3LjEyODIzNF0gZnRyYWNlOiBhbGxvY2F0aW5nIDI1NzUwIGVudHJpZXMgaW4gMTAxIHBhZ2Vz
ClsgICAgNy4xNDA5MDBdIGNwdSAwIHNwaW5sb2NrIGV2ZW50IGlycSAyNzMKWyAgICA3LjE0NTA0
Nl0gUGVyZm9ybWFuY2UgRXZlbnRzOiB1bnN1cHBvcnRlZCBwNiBDUFUgbW9kZWwgNDIgbm8gUE1V
IGRyaXZlciwgc29mdHdhcmUgZXZlbnRzIG9ubHkuClsgICAgNy4xNTQ2ODddIGluc3RhbGxpbmcg
WGVuIHRpbWVyIGZvciBDUFUgMQpbICAgIDcuMTU4OTg4XSBjcHUgMSBzcGlubG9jayBldmVudCBp
cnEgMjc5CihYRU4pIGRvbWFpbi5jOjY5ODpkMCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3Mg
MDAwNDI2NjAgLT4gMDAwMDI2NjAKKFhFTikgZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hh
bmdlIENSNCBmbGFncyAwMDA0MjY2MCAtPiAwMDAwMjY2MAooWEVOKSBkb21haW4uYzo2OTg6ZDAg
QXR0ZW1wdCB0byBjaGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwClsgICAgNy4x
ODI4MDVdIERpc2FibGVkIGZhc3Qgc3RyaW5nIG9wZXJhdGlvbnMKWyAgICA3LjE4MjkwOF0gaW5z
dGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAyClsgICAgNy4xOTE2NjhdIGNwdSAyIHNwaW5sb2Nr
IGV2ZW50IGlycSAyODUKKFhFTikgZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hhbmdlIENS
NCBmbGFncyAwMDA0MjY2MCAtPiAwMDAwMjY2MAooWEVOKSBkb21haW4uYzo2OTg6ZDAgQXR0ZW1w
dCB0byBjaGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwCihYRU4pIGRvbWFpbi5j
OjY5ODpkMCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgMDAwNDI2NjAgLT4gMDAwMDI2NjAK
WyAgICA3LjIxNTUwMV0gRGlzYWJsZWQgZmFzdCBzdHJpbmcgb3BlcmF0aW9ucwpbICAgIDcuMjE1
NTk1XSBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDMKWyAgICA3LjIyNDM0NV0gY3B1IDMg
c3BpbmxvY2sgZXZlbnQgaXJxIDI5MQooWEVOKSBkb21haW4uYzo2OTg6ZDAgQXR0ZW1wdCB0byBj
aGFuZ2UgQ1I0IGZsYWdzIDAwMDQyNjYwIC0+IDAwMDAyNjYwCihYRU4pIGRvbWFpbi5jOjY5ODpk
MCBBdHRlbXB0IHRvIGNoYW5nZSBDUjQgZmxhZ3MgMDAwNDI2NjAgLT4gMDAwMDI2NjAKKFhFTikg
ZG9tYWluLmM6Njk4OmQwIEF0dGVtcHQgdG8gY2hhbmdlIENSNCBmbGFncyAwMDA0MjY2MCAtPiAw
MDAwMjY2MApbICAgIDcuMjQ4MTgwXSBEaXNhYmxlZCBmYXN0IHN0cmluZyBvcGVyYXRpb25zClsg
ICAgNy4yNDgyMDddIEJyb3VnaHQgdXAgNCBDUFVzClsgICAgNy4yNTU5OTldIGRldnRtcGZzOiBp
bml0aWFsaXplZApbICAgIDcuMjU5NzA5XSBQTTogUmVnaXN0ZXJpbmcgQUNQSSBOVlMgcmVnaW9u
IGF0IGRhZTlmMDAwICgxMDQ4NTc2IGJ5dGVzKQpbICAgIDcuMjY3NzU4XSBHcmFudCB0YWJsZSBp
bml0aWFsaXplZApbICAgIDcuMjcxNDMzXSBwcmludF9jb25zdHJhaW50czogZHVtbXk6IApbICAg
IDcuMjc1NDM1XSBUaW1lOiAxMDo1ODoyNCAgRGF0ZTogMDUvMDUvMTIKWyAgICA3LjI3OTc5MF0g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgpbICAgIDcuMjg0NTkyXSBUcnlpbmcg
dG8gdW5wYWNrIHJvb3RmcyBpbWFnZSBhcyBpbml0cmFtZnMuLi4KWyAgICA3LjI5NDU1MV0gQUNQ
SSBGQURUIGRlY2xhcmVzIHRoZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IFBDSWUgQVNQTSwgc28g
ZGlzYWJsZSBpdApbICAgIDcuMzAyNDczXSBBQ1BJOiBidXMgdHlwZSBwY2kgcmVnaXN0ZXJlZApb
ICAgIDcuMzA3MDcwXSBQQ0k6IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBbYnVzIDAwLTNmXSBh
dCBbbWVtIDB4ZjgwMDAwMDAtMHhmYmZmZmZmZl0gKGJhc2UgMHhmODAwMDAwMCkKWyAgICA3LjMx
NjgwOF0gUENJOiBNTUNPTkZJRyBhdCBbbWVtIDB4ZjgwMDAwMDAtMHhmYmZmZmZmZl0gcmVzZXJ2
ZWQgaW4gRTgyMApbICAgIDcuMzMyMTg3XSBGcmVlaW5nIGluaXRyZCBtZW1vcnk6IDM3NTUyayBm
cmVlZApbICAgIDcuMzQ4NzE3XSBQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxIGZvciBi
YXNlIGFjY2VzcwpbICAgIDcuMzU1MjE1XSBiaW86IGNyZWF0ZSBzbGFiIDxiaW8tMD4gYXQgMApb
ICAgIDcuMzY0MTgwXSBBQ1BJOiBFQzogRUMgZGVzY3JpcHRpb24gdGFibGUgaXMgZm91bmQsIGNv
bmZpZ3VyaW5nIGJvb3QgRUMKWyAgICA3LjM4MDg3OV0gW0Zpcm13YXJlIEJ1Z106IEFDUEk6IEJJ
T1MgX09TSShMaW51eCkgcXVlcnkgaWdub3JlZApbICAgIDcuNDI0ODI1XSBBQ1BJOiBTU0RUIDAw
MDAwMDAwZGFlOGMwMTggMDA4QzAgKHYwMSAgUG1SZWYgIENwdTBDc3QgMDAwMDMwMDEgSU5UTCAy
MDA2MTEwOSkKWyAgICA3LjQzMzg5MV0gQUNQSTogRHluYW1pYyBPRU0gVGFibGUgTG9hZDoKWyAg
ICA3LjQzODA3N10gQUNQSTogU1NEVCAgICAgICAgICAgKG51bGwpIDAwOEMwICh2MDEgIFBtUmVm
ICBDcHUwQ3N0IDAwMDAzMDAxIElOVEwgMjAwNjExMDkpClsgICAgNy40NzE0OTJdIEFDUEk6IFNT
RFQgMDAwMDAwMDBkYWU4ZGE5OCAwMDMwMyAodjAxICBQbVJlZiAgICBBcElzdCAwMDAwMzAwMCBJ
TlRMIDIwMDYxMTA5KQpbICAgIDcuNDgwNTkzXSBBQ1BJOiBEeW5hbWljIE9FTSBUYWJsZSBMb2Fk
OgpbICAgIDcuNDg0Nzg2XSBBQ1BJOiBTU0RUICAgICAgICAgICAobnVsbCkgMDAzMDMgKHYwMSAg
UG1SZWYgICAgQXBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKWyAgICA3LjUwOTkzMl0gQUNQ
STogU1NEVCAwMDAwMDAwMGRhZThiZDk4IDAwMTE5ICh2MDEgIFBtUmVmICAgIEFwQ3N0IDAwMDAz
MDAwIElOVEwgMjAwNjExMDkpClsgICAgNy41MTk3MzldIEFDUEk6IER5bmFtaWMgT0VNIFRhYmxl
IExvYWQ6ClsgICAgNy41MjM5MzBdIEFDUEk6IFNTRFQgICAgICAgICAgIChudWxsKSAwMDExOSAo
djAxICBQbVJlZiAgICBBcENzdCAwMDAwMzAwMCBJTlRMIDIwMDYxMTA5KQpbICAgIDcuNTQ5NzAy
XSBBQ1BJOiBJbnRlcnByZXRlciBlbmFibGVkClsgICAgNy41NTM1MjddIEFDUEk6IChzdXBwb3J0
cyBTMCBTMyBTNCBTNSkKWyAgICA3LjU1NzcwOV0gQUNQSTogVXNpbmcgSU9BUElDIGZvciBpbnRl
cnJ1cHQgcm91dGluZwpbICAgIDcuNTg3OTc0XSBBQ1BJOiBQb3dlciBSZXNvdXJjZSBbUFVCU10g
KG9uKQpbICAgIDcuNTk2Njk3XSBBQ1BJOiBFQzogR1BFID0gMHgxMSwgSS9POiBjb21tYW5kL3N0
YXR1cyA9IDB4NjYsIGRhdGEgPSAweDYyClsgICAgNy42MDU1MjJdIEFDUEk6IEFDUEkgRG9jayBT
dGF0aW9uIERyaXZlcjogMyBkb2Nrcy9iYXlzIGZvdW5kClsgICAgNy42MTE2MThdIEhFU1Q6IFRh
YmxlIG5vdCBmb3VuZC4KWyAgICA3LjYxNTI1Ml0gUENJOiBVc2luZyBob3N0IGJyaWRnZSB3aW5k
b3dzIGZyb20gQUNQSTsgaWYgbmVjZXNzYXJ5LCB1c2UgInBjaT1ub2NycyIgYW5kIHJlcG9ydCBh
IGJ1ZwpbICAgIDcuNjI1MDE5XSBBQ1BJOiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4g
MDAwMCBbYnVzIDAwLWZlXSkKWyAgICA3LjYzMTUzNF0gcGNpX3Jvb3QgUE5QMEEwODowMDogaG9z
dCBicmlkZ2Ugd2luZG93IFtpbyAgMHgwMDAwLTB4MGNmN10KWyAgICA3LjYzODQ4MV0gcGNpX3Jv
b3QgUE5QMEEwODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFtpbyAgMHgwZDAwLTB4ZmZmZl0KWyAg
ICA3LjY0NTQ3NF0gcGNpX3Jvb3QgUE5QMEEwODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0g
MHgwMDBhMDAwMC0weDAwMGJmZmZmXQpbICAgIDcuNjUzMjA1XSBwY2lfcm9vdCBQTlAwQTA4OjAw
OiBob3N0IGJyaWRnZSB3aW5kb3cgW21lbSAweGRmYTAwMDAwLTB4ZmViZmZmZmZdClsgICAgNy42
NjA5MjddIHBjaV9yb290IFBOUDBBMDg6MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmVk
NDAwMDAtMHhmZWQ0YmZmZl0KWyAgICA3LjY2ODY2NV0gcGNpIDAwMDA6MDA6MDAuMDogWzgwODY6
MDEwNF0gdHlwZSAwIGNsYXNzIDB4MDAwNjAwClsgICAgNy42NzUwMzVdIHBjaSAwMDAwOjAwOjAy
LjA6IFs4MDg2OjAxMjZdIHR5cGUgMCBjbGFzcyAweDAwMDMwMApbICAgIDcuNjgxMjUyXSBwY2kg
MDAwMDowMDowMi4wOiByZWcgMTA6IFttZW0gMHhmMDAwMDAwMC0weGYwM2ZmZmZmIDY0Yml0XQpb
ICAgIDcuNjg4MjI3XSBwY2kgMDAwMDowMDowMi4wOiByZWcgMTg6IFttZW0gMHhlMDAwMDAwMC0w
eGVmZmZmZmZmIDY0Yml0IHByZWZdClsgICAgNy42OTU2NjldIHBjaSAwMDAwOjAwOjAyLjA6IHJl
ZyAyMDogW2lvICAweDUwMDAtMHg1MDNmXQpbICAgIDcuNzAxNTQ3XSBwY2kgMDAwMDowMDoxNi4w
OiBbODA4NjoxYzNhXSB0eXBlIDAgY2xhc3MgMHgwMDA3ODAKWyAgICA3LjcwNzc4NF0gcGNpIDAw
MDA6MDA6MTYuMDogcmVnIDEwOiBbbWVtIDB4ZjI2MjUwMDAtMHhmMjYyNTAwZiA2NGJpdF0KWyAg
ICA3LjcxNDg5NF0gcGNpIDAwMDA6MDA6MTYuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hv
dCBEM2NvbGQKWyAgICA3LjcyMTI2MF0gcGNpIDAwMDA6MDA6MTYuMDogUE1FIyBkaXNhYmxlZApb
ICAgIDcuNzI1NzU4XSBwY2kgMDAwMDowMDoxNi4zOiBbODA4NjoxYzNkXSB0eXBlIDAgY2xhc3Mg
MHgwMDA3MDAKWyAgICA3LjczMjAxNV0gcGNpIDAwMDA6MDA6MTYuMzogcmVnIDEwOiBbaW8gIDB4
NTBiMC0weDUwYjddClsgICAgNy43Mzc3MTNdIHBjaSAwMDAwOjAwOjE2LjM6IHJlZyAxNDogW21l
bSAweGYyNjJjMDAwLTB4ZjI2MmNmZmZdClsgICAgNy43NDQzOTldIHBjaSAwMDAwOjAwOjE5LjA6
IFs4MDg2OjE1MDJdIHR5cGUgMCBjbGFzcyAweDAwMDIwMApbICAgIDcuNzUwNjI5XSBwY2kgMDAw
MDowMDoxOS4wOiByZWcgMTA6IFttZW0gMHhmMjYwMDAwMC0weGYyNjFmZmZmXQpbICAgIDcuNzU3
MDUzXSBwY2kgMDAwMDowMDoxOS4wOiByZWcgMTQ6IFttZW0gMHhmMjYyYjAwMC0weGYyNjJiZmZm
XQpbICAgIDcuNzYzNTEyXSBwY2kgMDAwMDowMDoxOS4wOiByZWcgMTg6IFtpbyAgMHg1MDgwLTB4
NTA5Zl0KWyAgICA3Ljc2OTQwMF0gcGNpIDAwMDA6MDA6MTkuMDogUE1FIyBzdXBwb3J0ZWQgZnJv
bSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljc3NTc2OV0gcGNpIDAwMDA6MDA6MTkuMDogUE1FIyBk
aXNhYmxlZApbICAgIDcuNzgwMjY0XSBwY2kgMDAwMDowMDoxYS4wOiBbODA4NjoxYzJkXSB0eXBl
IDAgY2xhc3MgMHgwMDBjMDMKWyAgICA3Ljc4NjUxOV0gcGNpIDAwMDA6MDA6MWEuMDogcmVnIDEw
OiBbbWVtIDB4ZjI2MmEwMDAtMHhmMjYyYTNmZl0KWyAgICA3Ljc5MzE0M10gcGNpIDAwMDA6MDA6
MWEuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljc5OTUwMl0g
cGNpIDAwMDA6MDA6MWEuMDogUE1FIyBkaXNhYmxlZApbICAgIDcuODA0MDEwXSBwY2kgMDAwMDow
MDoxYi4wOiBbODA4NjoxYzIwXSB0eXBlIDAgY2xhc3MgMHgwMDA0MDMKWyAgICA3LjgxMDI1Ml0g
cGNpIDAwMDA6MDA6MWIuMDogcmVnIDEwOiBbbWVtIDB4ZjI2MjAwMDAtMHhmMjYyM2ZmZiA2NGJp
dF0KWyAgICA3LjgxNzQwOV0gcGNpIDAwMDA6MDA6MWIuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBE
MCBEM2hvdCBEM2NvbGQKWyAgICA3LjgyMzc2Nl0gcGNpIDAwMDA6MDA6MWIuMDogUE1FIyBkaXNh
YmxlZApbICAgIDcuODI4MjU0XSBwY2kgMDAwMDowMDoxYy4wOiBbODA4NjoxYzEwXSB0eXBlIDEg
Y2xhc3MgMHgwMDA2MDQKWyAgICA3LjgzNDY3Nl0gcGNpIDAwMDA6MDA6MWMuMDogUE1FIyBzdXBw
b3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljg0MTA0OF0gcGNpIDAwMDA6MDA6MWMu
MDogUE1FIyBkaXNhYmxlZApbICAgIDcuODQ1NTM5XSBwY2kgMDAwMDowMDoxYy4xOiBbODA4Njox
YzEyXSB0eXBlIDEgY2xhc3MgMHgwMDA2MDQKWyAgICA3Ljg1MTk1MV0gcGNpIDAwMDA6MDA6MWMu
MTogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3Ljg1ODMyNl0gcGNp
IDAwMDA6MDA6MWMuMTogUE1FIyBkaXNhYmxlZApbICAgIDcuODYyODIzXSBwY2kgMDAwMDowMDox
Yy4zOiBbODA4NjoxYzE2XSB0eXBlIDEgY2xhc3MgMHgwMDA2MDQKWyAgICA3Ljg2OTI2MV0gcGNp
IDAwMDA6MDA6MWMuMzogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3
Ljg3NTYyMV0gcGNpIDAwMDA6MDA6MWMuMzogUE1FIyBkaXNhYmxlZApbICAgIDcuODgwMTIxXSBw
Y2kgMDAwMDowMDoxYy40OiBbODA4NjoxYzE4XSB0eXBlIDEgY2xhc3MgMHgwMDA2MDQKWyAgICA3
Ljg4NjU0Ml0gcGNpIDAwMDA6MDA6MWMuNDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBE
M2NvbGQKWyAgICA3Ljg5MjkyMl0gcGNpIDAwMDA6MDA6MWMuNDogUE1FIyBkaXNhYmxlZApbICAg
IDcuODk3NDEyXSBwY2kgMDAwMDowMDoxYy42OiBbODA4NjoxYzFjXSB0eXBlIDEgY2xhc3MgMHgw
MDA2MDQKWyAgICA3LjkwMzgzOF0gcGNpIDAwMDA6MDA6MWMuNjogUE1FIyBzdXBwb3J0ZWQgZnJv
bSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3LjkxMDIwNV0gcGNpIDAwMDA6MDA6MWMuNjogUE1FIyBk
aXNhYmxlZApbICAgIDcuOTE0NzIzXSBwY2kgMDAwMDowMDoxZC4wOiBbODA4NjoxYzI2XSB0eXBl
IDAgY2xhc3MgMHgwMDBjMDMKWyAgICA3LjkyMDk4Ml0gcGNpIDAwMDA6MDA6MWQuMDogcmVnIDEw
OiBbbWVtIDB4ZjI2MjkwMDAtMHhmMjYyOTNmZl0KWyAgICA3LjkyNzYwMV0gcGNpIDAwMDA6MDA6
MWQuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQKWyAgICA3LjkzMzk3N10g
cGNpIDAwMDA6MDA6MWQuMDogUE1FIyBkaXNhYmxlZApbICAgIDcuOTM4NDczXSBwY2kgMDAwMDow
MDoxZi4wOiBbODA4NjoxYzRmXSB0eXBlIDAgY2xhc3MgMHgwMDA2MDEKWyAgICA3Ljk0NDk4M10g
cGNpIDAwMDA6MDA6MWYuMjogWzgwODY6MWMwM10gdHlwZSAwIGNsYXNzIDB4MDAwMTA2ClsgICAg
Ny45NTEyMDZdIHBjaSAwMDAwOjAwOjFmLjI6IHJlZyAxMDogW2lvICAweDUwYTgtMHg1MGFmXQpb
ICAgIDcuOTU2ODkxXSBwY2kgMDAwMDowMDoxZi4yOiByZWcgMTQ6IFtpbyAgMHg1MGJjLTB4NTBi
Zl0KWyAgICA3Ljk2MjYyMl0gcGNpIDAwMDA6MDA6MWYuMjogcmVnIDE4OiBbaW8gIDB4NTBhMC0w
eDUwYTddClsgICAgNy45NjgzMzhdIHBjaSAwMDAwOjAwOjFmLjI6IHJlZyAxYzogW2lvICAweDUw
YjgtMHg1MGJiXQpbICAgIDcuOTc0MDUwXSBwY2kgMDAwMDowMDoxZi4yOiByZWcgMjA6IFtpbyAg
MHg1MDYwLTB4NTA3Zl0KWyAgICA3Ljk3OTc2Nl0gcGNpIDAwMDA6MDA6MWYuMjogcmVnIDI0OiBb
bWVtIDB4ZjI2MjgwMDAtMHhmMjYyODdmZl0KWyAgICA3Ljk4NjMzMl0gcGNpIDAwMDA6MDA6MWYu
MjogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEM2hvdApbICAgIDcuOTkxNzkwXSBwY2kgMDAwMDowMDox
Zi4yOiBQTUUjIGRpc2FibGVkClsgICAgNy45OTYyNjNdIHBjaSAwMDAwOjAwOjFmLjM6IFs4MDg2
OjFjMjJdIHR5cGUgMCBjbGFzcyAweDAwMGMwNQpbICAgIDguMDAyNTM3XSBwY2kgMDAwMDowMDox
Zi4zOiByZWcgMTA6IFttZW0gMHhmMjYyNDAwMC0weGYyNjI0MGZmIDY0Yml0XQpbICAgIDguMDA5
NTY0XSBwY2kgMDAwMDowMDoxZi4zOiByZWcgMjA6IFtpbyAgMHhlZmEwLTB4ZWZiZl0KWyAgICA4
LjAxNTQxN10gcGNpIDAwMDA6MDA6MWMuMDogUENJIGJyaWRnZSB0byBbYnVzIDAyLTAyXQpbICAg
IDguMDIwODg3XSBwY2kgMDAwMDowMDoxYy4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGYwMDAt
MHgwMDAwXSAoZGlzYWJsZWQpClsgICAgOC4wMjgzMjNdIHBjaSAwMDAwOjAwOjFjLjA6ICAgYnJp
ZGdlIHdpbmRvdyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZl0gKGRpc2FibGVkKQpbICAgIDgu
MDM2NDk2XSBwY2kgMDAwMDowMDoxYy4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZmZjAwMDAw
LTB4MDAwZmZmZmYgcHJlZl0gKGRpc2FibGVkKQpbICAgIDguMDQ1NTA4XSBwY2kgMDAwMDowMzow
MC4wOiBbODA4Njo0MjM4XSB0eXBlIDAgY2xhc3MgMHgwMDAyODAKWyAgICA4LjA1MjA2MV0gcGNp
IDAwMDA6MDM6MDAuMDogcmVnIDEwOiBbbWVtIDB4ZjI1MDAwMDAtMHhmMjUwMWZmZiA2NGJpdF0K
WyAgICA4LjA2MDc3MV0gcGNpIDAwMDA6MDM6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBE
M2hvdCBEM2NvbGQKWyAgICA4LjA2NzE5Nl0gcGNpIDAwMDA6MDM6MDAuMDogUE1FIyBkaXNhYmxl
ZApbICAgIDguMDc2MTg5XSBwY2kgMDAwMDowMDoxYy4xOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDMt
MDNdClsgICAgOC4wODE2NTZdIHBjaSAwMDAwOjAwOjFjLjE6ICAgYnJpZGdlIHdpbmRvdyBbaW8g
IDB4ZjAwMC0weDAwMDBdIChkaXNhYmxlZCkKWyAgICA4LjA4OTExMF0gcGNpIDAwMDA6MDA6MWMu
MTogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmMjUwMDAwMC0weGYyNWZmZmZmXQpbICAgIDguMDk2
MzAyXSBwY2kgMDAwMDowMDoxYy4xOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZmZjAwMDAwLTB4
MDAwZmZmZmYgcHJlZl0gKGRpc2FibGVkKQpbICAgIDguMTA1MDU4XSBwY2kgMDAwMDowNTowMC4w
OiBbMTQxNTpjMTIwXSB0eXBlIDAgY2xhc3MgMHgwMDA3MDAKWyAgICA4LjExMTI3Ml0gcGNpIDAw
MDA6MDU6MDAuMDogcmVnIDEwOiBbaW8gIDB4NDAwMC0weDQwMDddClsgICAgOC4xMTcyMDZdIHBj
aSAwMDAwOjA1OjAwLjA6IHN1cHBvcnRzIEQxIEQyClsgICAgOC4xMjE2NTldIHBjaSAwMDAwOjA1
OjAwLjA6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDEgRDIgRDNob3QgRDNjb2xkClsgICAgOC4xMjgz
OTBdIHBjaSAwMDAwOjA1OjAwLjA6IFBNRSMgZGlzYWJsZWQKWyAgICA4LjEzNzAxMV0gcGNpIDAw
MDA6MDA6MWMuMzogUENJIGJyaWRnZSB0byBbYnVzIDA1LTBjXQpbICAgIDguMTQyNDg1XSBwY2kg
MDAwMDowMDoxYy4zOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDQwMDAtMHg0ZmZmXQpbICAgIDgu
MTQ4OTI2XSBwY2kgMDAwMDowMDoxYy4zOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGYxZDAwMDAw
LTB4ZjI0ZmZmZmZdClsgICAgOC4xNTYxMjNdIHBjaSAwMDAwOjAwOjFjLjM6ICAgYnJpZGdlIHdp
bmRvdyBbbWVtIDB4ZjA0MDAwMDAtMHhmMGJmZmZmZiA2NGJpdCBwcmVmXQpbICAgIDguMTY0NjMy
XSBwY2kgMDAwMDowZDowMC4wOiBbMTE4MDplODIyXSB0eXBlIDAgY2xhc3MgMHgwMDA4ODAKWyAg
ICA4LjE3MDk4NV0gcGNpIDAwMDA6MGQ6MDAuMDogcmVnIDEwOiBbbWVtIDB4ZjE1MDAwMDAtMHhm
MTUwMDBmZl0KWyAgICA4LjE3NzgwMl0gcGNpIDAwMDA6MGQ6MDAuMDogc3VwcG9ydHMgRDEgRDIK
WyAgICA4LjE4MjI2Ml0gcGNpIDAwMDA6MGQ6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBE
MSBEMiBEM2hvdCBEM2NvbGQKWyAgICA4LjE4OTQwMV0gcGNpIDAwMDA6MGQ6MDAuMDogUE1FIyBk
aXNhYmxlZApbICAgIDguMTk4MjcwXSBwY2kgMDAwMDowMDoxYy40OiBQQ0kgYnJpZGdlIHRvIFti
dXMgMGQtMGRdClsgICAgOC4yMDM3MzNdIHBjaSAwMDAwOjAwOjFjLjQ6ICAgYnJpZGdlIHdpbmRv
dyBbaW8gIDB4MzAwMC0weDNmZmZdClsgICAgOC4yMTAxNzldIHBjaSAwMDAwOjAwOjFjLjQ6ICAg
YnJpZGdlIHdpbmRvdyBbbWVtIDB4ZjE1MDAwMDAtMHhmMWNmZmZmZl0KWyAgICA4LjIxNzM5Ml0g
cGNpIDAwMDA6MDA6MWMuNDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmMGMwMDAwMC0weGYxM2Zm
ZmZmIDY0Yml0IHByZWZdClsgICAgOC4yMjU3MDhdIHBjaSAwMDAwOjBlOjAwLjA6IFsxMDMzOjAx
OTRdIHR5cGUgMCBjbGFzcyAweDAwMGMwMwpbICAgIDguMjMxOTQ3XSBwY2kgMDAwMDowZTowMC4w
OiByZWcgMTA6IFttZW0gMHhmMTQwMDAwMC0weGYxNDAxZmZmIDY0Yml0XQpbICAgIDguMjM5MTM3
XSBwY2kgMDAwMDowZTowMC4wOiBQTUUjIHN1cHBvcnRlZCBmcm9tIEQwIEQzaG90IEQzY29sZApb
ICAgIDguMjQ1NTAyXSBwY2kgMDAwMDowZTowMC4wOiBQTUUjIGRpc2FibGVkClsgICAgOC4yNTAw
NDNdIHBjaSAwMDAwOjAwOjFjLjY6IFBDSSBicmlkZ2UgdG8gW2J1cyAwZS0wZV0KWyAgICA4LjI1
NTUwM10gcGNpIDAwMDA6MDA6MWMuNjogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhmMDAwLTB4MDAw
MF0gKGRpc2FibGVkKQpbICAgIDguMjYyOTU1XSBwY2kgMDAwMDowMDoxYy42OiAgIGJyaWRnZSB3
aW5kb3cgW21lbSAweGYxNDAwMDAwLTB4ZjE0ZmZmZmZdClsgICAgOC4yNzAxMzRdIHBjaSAwMDAw
OjAwOjFjLjY6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZiBwcmVm
XSAoZGlzYWJsZWQpClsgICAgOC4yNzg3OThdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBU
YWJsZSBbXF9TQl8uUENJMC5fUFJUXQpbICAgIDguMjg1MDg1XSBBQ1BJOiBQQ0kgSW50ZXJydXB0
IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuRVhQMS5fUFJUXQpbICAgIDguMjkxNzU4XSBBQ1BJ
OiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuRVhQMi5fUFJUXQpbICAg
IDguMjk4NDg0XSBBQ1BJOiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAu
RVhQNC5fUFJUXQpbICAgIDguMzA1MjEwXSBBQ1BJOiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFi
bGUgW1xfU0JfLlBDSTAuRVhQNS5fUFJUXQpbICAgIDguMzExOTMzXSBBQ1BJOiBQQ0kgSW50ZXJy
dXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuRVhQNy5fUFJUXQpbICAgIDguMzE4Nzg2XSAg
cGNpMDAwMDowMDogUmVxdWVzdGluZyBBQ1BJIF9PU0MgY29udHJvbCAoMHgxZCkKWyAgICA4LjMy
NDkzMF0gIHBjaTAwMDA6MDA6IEFDUEkgX09TQyByZXF1ZXN0IGZhaWxlZCAoQUVfU1VQUE9SVCks
IHJldHVybmVkIGNvbnRyb2wgbWFzazogMHgwZApbICAgIDguMzMzNjU0XSBBQ1BJIF9PU0MgY29u
dHJvbCBmb3IgUENJZSBub3QgZ3JhbnRlZCwgZGlzYWJsaW5nIEFTUE0KKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDowMC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDIuMAooWEVO
KSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjE2LjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxNi4zCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTkuMAooWEVOKSBQQ0kgYWRkIGRl
dmljZSAwMDAwOjAwOjFhLjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxYi4wCihYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MWMuMAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAw
OjFjLjEKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxYy4zCihYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwMDA6MDA6MWMuNAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjFjLjYKKFhFTikg
UENJIGFkZCBkZXZpY2UgMDAwMDowMDoxZC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6
MWYuMAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjFmLjIKKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDoxZi4zCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDM6MDAuMAooWEVOKSBQ
Q0kgYWRkIGRldmljZSAwMDAwOjA1OjAwLjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowZDow
MC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MGU6MDAuMApbICAgIDguNDA1Mjc1XSBBQ1BJ
OiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0FdIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSkKWyAg
ICA4LjQxMjA3OV0gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktCXSAoSVJRcyAzIDQgNSA2
ICo3IDkgMTAgMTEpClsgICAgOC40MTg4ODVdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5L
Q10gKElSUXMgMyA0IDUgNiAqNyA5IDEwIDExKQpbICAgIDguNDI1NzA2XSBBQ1BJOiBQQ0kgSW50
ZXJydXB0IExpbmsgW0xOS0RdIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSkKWyAgICA4LjQzMjUw
OV0gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktFXSAoSVJRcyAzIDQgNSA2IDcgOSAqMTAg
MTEpClsgICAgOC40MzkzMjJdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LRl0gKElSUXMg
MyA0IDUgNiA3IDkgMTAgMTEpICowLCBkaXNhYmxlZC4KWyAgICA4LjQ0NzMxM10gQUNQSTogUENJ
IEludGVycnVwdCBMaW5rIFtMTktHXSAoSVJRcyAzIDQgNSA2IDcgOSAxMCAqMTEpClsgICAgOC40
NTQxMzJdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LSF0gKElSUXMgMyA0IDUgNiA3IDkg
KjEwIDExKQpbICAgIDguNDYwOTE3XSB4ZW4vYmFsbG9vbjogSW5pdGlhbGlzaW5nIGJhbGxvb24g
ZHJpdmVyLgpbICAgIDguNDY2MjU3XSBsYXN0X3BmbiA9IDB4MjZmODFhIG1heF9hcmNoX3BmbiA9
IDB4NDAwMDAwMDAwClsgICAgOC40NzQ4ODhdIHhlbi1iYWxsb29uOiBJbml0aWFsaXNpbmcgYmFs
bG9vbiBkcml2ZXIuClsgICAgOC40ODAyNjJdIHZnYWFyYjogZGV2aWNlIGFkZGVkOiBQQ0k6MDAw
MDowMDowMi4wLGRlY29kZXM9aW8rbWVtLG93bnM9aW8rbWVtLGxvY2tzPW5vbmUKWyAgICA4LjQ4
ODczOF0gdmdhYXJiOiBsb2FkZWQKWyAgICA4LjQ5MTYzOF0gdmdhYXJiOiBicmlkZ2UgY29udHJv
bCBwb3NzaWJsZSAwMDAwOjAwOjAyLjAKWyAgICA4LjQ5NzQwNF0gU0NTSSBzdWJzeXN0ZW0gaW5p
dGlhbGl6ZWQKWyAgICA4LjUwMTQxM10gbGliYXRhIHZlcnNpb24gMy4wMCBsb2FkZWQuClsgICAg
OC41MDU0NjNdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiZnMK
WyAgICA4LjUxMTI0OV0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBo
dWIKWyAgICA4LjUxNjkxM10gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1
c2IKWyAgICA4LjUyMjMxOF0gUENJOiBVc2luZyBBQ1BJIGZvciBJUlEgcm91dGluZwpbICAgIDgu
NTMxNDYxXSBQQ0k6IHBjaV9jYWNoZV9saW5lX3NpemUgc2V0IHRvIDY0IGJ5dGVzClsgICAgOC41
MzcwNDJdIHJlc2VydmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDAwMDA5ZDAwMCAtIDAwMDAwMDAwMDAw
OWZmZmYgClsgICAgOC41NDM0MDNdIHJlc2VydmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDBkYTk5ZjAw
MCAtIDAwMDAwMDAwZGJmZmZmZmYgClsgICAgOC41NTAxMjddIHJlc2VydmUgUkFNIGJ1ZmZlcjog
MDAwMDAwMDBkYjAwMDAwMCAtIDAwMDAwMDAwZGJmZmZmZmYgClsgICAgOC41NTY4NTJdIHJlc2Vy
dmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDFlOThmNTAwMCAtIDAwMDAwMDAxZWJmZmZmZmYgClsgICAg
OC41NjM1NjldIHJlc2VydmUgUkFNIGJ1ZmZlcjogMDAwMDAwMDI2ZjgxYTAwMCAtIDAwMDAwMDAy
NmZmZmZmZmYgClsgICAgOC41NzAzODJdIE5ldExhYmVsOiBJbml0aWFsaXppbmcKWyAgICA4LjU3
NDIxM10gTmV0TGFiZWw6ICBkb21haW4gaGFzaCBzaXplID0gMTI4ClsgICAgOC41Nzg4NDNdIE5l
dExhYmVsOiAgcHJvdG9jb2xzID0gVU5MQUJFTEVEIENJUFNPdjQKWyAgICA4LjU4NDEyMF0gTmV0
TGFiZWw6ICB1bmxhYmVsZWQgdHJhZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHQKWyAgICA4LjU5MDA2
M10gU3dpdGNoaW5nIHRvIGNsb2Nrc291cmNlIHhlbgpbICAgIDguNTk4MjUzXSBTd2l0Y2hlZCB0
byBOT0h6IG1vZGUgb24gQ1BVICMwClsgICAgOC42MDE1OThdIFN3aXRjaGVkIHRvIE5PSHogbW9k
ZSBvbiBDUFUgIzMKWyAgICA4LjYwMTc4M10gU3dpdGNoZWQgdG8gTk9IeiBtb2RlIG9uIENQVSAj
MQpbICAgIDguNjA0MDYyXSBTd2l0Y2hlZCB0byBOT0h6IG1vZGUgb24gQ1BVICMyClsgICAgOC42
MTY4MTNdIEFwcEFybW9yOiBBcHBBcm1vciBGaWxlc3lzdGVtIEVuYWJsZWQKWyAgICA4LjYyMTcz
N10gcG5wOiBQblAgQUNQSSBpbml0ClsgICAgOC42MjUwMDhdIEFDUEk6IGJ1cyB0eXBlIHBucCBy
ZWdpc3RlcmVkClsgICAgOC42Mjk3MTZdIHBucCAwMDowMDogW21lbSAweDAwMDAwMDAwLTB4MDAw
OWZmZmZdClsgICAgOC42MzQ3MTVdIHBucCAwMDowMDogW21lbSAweDAwMGMwMDAwLTB4MDAwYzNm
ZmZdClsgICAgOC42Mzk4MDhdIHBucCAwMDowMDogW21lbSAweDAwMGM0MDAwLTB4MDAwYzdmZmZd
ClsgICAgOC42NDQ5MDddIHBucCAwMDowMDogW21lbSAweDAwMGM4MDAwLTB4MDAwY2JmZmZdClsg
ICAgOC42NDk5OTJdIHBucCAwMDowMDogW21lbSAweDAwMGNjMDAwLTB4MDAwY2ZmZmZdClsgICAg
OC42NTUwODVdIHBucCAwMDowMDogW21lbSAweDAwMGQwMDAwLTB4MDAwZDNmZmZdClsgICAgOC42
NjAxNzVdIHBucCAwMDowMDogW21lbSAweDAwMGQ0MDAwLTB4MDAwZDdmZmZdClsgICAgOC42NjUy
NjVdIHBucCAwMDowMDogW21lbSAweDAwMGQ4MDAwLTB4MDAwZGJmZmZdClsgICAgOC42NzAzNDhd
IHBucCAwMDowMDogW21lbSAweDAwMGRjMDAwLTB4MDAwZGZmZmZdClsgICAgOC42NzU0NDJdIHBu
cCAwMDowMDogW21lbSAweDAwMGUwMDAwLTB4MDAwZTNmZmZdClsgICAgOC42ODA1MjNdIHBucCAw
MDowMDogW21lbSAweDAwMGU0MDAwLTB4MDAwZTdmZmZdClsgICAgOC42ODU2MjRdIHBucCAwMDow
MDogW21lbSAweDAwMGU4MDAwLTB4MDAwZWJmZmZdClsgICAgOC42OTA3MjFdIHBucCAwMDowMDog
W21lbSAweDAwMGVjMDAwLTB4MDAwZWZmZmZdClsgICAgOC42OTU4MDddIHBucCAwMDowMDogW21l
bSAweDAwMGYwMDAwLTB4MDAwZmZmZmZdClsgICAgOC43MDA4OTZdIHBucCAwMDowMDogW21lbSAw
eDAwMTAwMDAwLTB4ZGY5ZmZmZmZdClsgICAgOC43MDU5ODFdIHBucCAwMDowMDogW21lbSAweGZl
YzAwMDAwLTB4ZmVkM2ZmZmZdClsgICAgOC43MTEwNjFdIHBucCAwMDowMDogW21lbSAweGZlZDRj
MDAwLTB4ZmZmZmZmZmZdClsgICAgOC43MTYyMDldIHN5c3RlbSAwMDowMDogW21lbSAweDAwMDAw
MDAwLTB4MDAwOWZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApbICAgIDguNzIzNTEyXSBzeXN0
ZW0gMDA6MDA6IFttZW0gMHgwMDBjMDAwMC0weDAwMGMzZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2
ZWQKWyAgICA4LjczMDg3Nl0gc3lzdGVtIDAwOjAwOiBbbWVtIDB4MDAwYzQwMDAtMHgwMDBjN2Zm
Zl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAgOC43MzgyNDZdIHN5c3RlbSAwMDowMDogW21l
bSAweDAwMGM4MDAwLTB4MDAwY2JmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApbICAgIDguNzQ1
NjA0XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBjYzAwMC0weDAwMGNmZmZmXSBjb3VsZCBub3Qg
YmUgcmVzZXJ2ZWQKWyAgICA4Ljc1Mjk2OF0gc3lzdGVtIDAwOjAwOiBbbWVtIDB4MDAwZDAwMDAt
MHgwMDBkM2ZmZl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAgOC43NjAzMzJdIHN5c3RlbSAw
MDowMDogW21lbSAweDAwMGQ0MDAwLTB4MDAwZDdmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApb
ICAgIDguNzY3Njg4XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBkODAwMC0weDAwMGRiZmZmXSBj
b3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4Ljc3NTA1M10gc3lzdGVtIDAwOjAwOiBbbWVtIDB4
MDAwZGMwMDAtMHgwMDBkZmZmZl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAgOC43ODI0MDhd
IHN5c3RlbSAwMDowMDogW21lbSAweDAwMGUwMDAwLTB4MDAwZTNmZmZdIGNvdWxkIG5vdCBiZSBy
ZXNlcnZlZApbICAgIDguNzg5NzY4XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBlNDAwMC0weDAw
MGU3ZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4Ljc5NzEyNl0gc3lzdGVtIDAwOjAw
OiBbbWVtIDB4MDAwZTgwMDAtMHgwMDBlYmZmZl0gY291bGQgbm90IGJlIHJlc2VydmVkClsgICAg
OC44MDQ0OTddIHN5c3RlbSAwMDowMDogW21lbSAweDAwMGVjMDAwLTB4MDAwZWZmZmZdIGNvdWxk
IG5vdCBiZSByZXNlcnZlZApbICAgIDguODExODU5XSBzeXN0ZW0gMDA6MDA6IFttZW0gMHgwMDBm
MDAwMC0weDAwMGZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4LjgxOTIyMl0gc3lz
dGVtIDAwOjAwOiBbbWVtIDB4MDAxMDAwMDAtMHhkZjlmZmZmZl0gY291bGQgbm90IGJlIHJlc2Vy
dmVkClsgICAgOC44MjY1NzldIHN5c3RlbSAwMDowMDogW21lbSAweGZlYzAwMDAwLTB4ZmVkM2Zm
ZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApbICAgIDguODMzOTM1XSBzeXN0ZW0gMDA6MDA6IFtt
ZW0gMHhmZWQ0YzAwMC0weGZmZmZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgICA4Ljg0
MTI5NV0gc3lzdGVtIDAwOjAwOiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgUE5QMGMw
MSAoYWN0aXZlKQpbICAgIDguODQ4NDg5XSBwbnAgMDA6MDE6IFtidXMgMDAtZmVdClsgICAgOC44
NTIxMDddIHBucCAwMDowMTogW2lvICAweDBjZjgtMHgwY2ZmXQpbICAgIDguODU2NDY0XSBwbnAg
MDA6MDE6IFtpbyAgMHgwMDAwLTB4MGNmNyB3aW5kb3ddClsgICAgOC44NjE0NTZdIHBucCAwMDow
MTogW2lvICAweDBkMDAtMHhmZmZmIHdpbmRvd10KWyAgICA4Ljg2NjQ0OV0gcG5wIDAwOjAxOiBb
bWVtIDB4MDAwYTAwMDAtMHgwMDBiZmZmZiB3aW5kb3ddClsgICAgOC44NzIxNzJdIHBucCAwMDow
MTogW21lbSAweDAwMGMwMDAwLTB4MDAwYzNmZmYgd2luZG93XQpbICAgIDguODc3ODkwXSBwbnAg
MDA6MDE6IFttZW0gMHgwMDBjNDAwMC0weDAwMGM3ZmZmIHdpbmRvd10KWyAgICA4Ljg4MzYxM10g
cG5wIDAwOjAxOiBbbWVtIDB4MDAwYzgwMDAtMHgwMDBjYmZmZiB3aW5kb3ddClsgICAgOC44ODkz
MzVdIHBucCAwMDowMTogW21lbSAweDAwMGNjMDAwLTB4MDAwY2ZmZmYgd2luZG93XQpbICAgIDgu
ODk1MDU5XSBwbnAgMDA6MDE6IFttZW0gMHgwMDBkMDAwMC0weDAwMGQzZmZmIHdpbmRvd10KWyAg
ICA4LjkwMDc3NV0gcG5wIDAwOjAxOiBbbWVtIDB4MDAwZDQwMDAtMHgwMDBkN2ZmZiB3aW5kb3dd
ClsgICAgOC45MDY1MDBdIHBucCAwMDowMTogW21lbSAweDAwMGQ4MDAwLTB4MDAwZGJmZmYgd2lu
ZG93XQpbICAgIDguOTEyMjI5XSBwbnAgMDA6MDE6IFttZW0gMHgwMDBkYzAwMC0weDAwMGRmZmZm
IHdpbmRvd10KWyAgICA4LjkxNzk1M10gcG5wIDAwOjAxOiBbbWVtIDB4MDAwZTAwMDAtMHgwMDBl
M2ZmZiB3aW5kb3ddClsgICAgOC45MjM2ODddIHBucCAwMDowMTogW21lbSAweDAwMGU0MDAwLTB4
MDAwZTdmZmYgd2luZG93XQpbICAgIDguOTI5NDE0XSBwbnAgMDA6MDE6IFttZW0gMHgwMDBlODAw
MC0weDAwMGViZmZmIHdpbmRvd10KWyAgICA4LjkzNTEzOF0gcG5wIDAwOjAxOiBbbWVtIDB4MDAw
ZWMwMDAtMHgwMDBlZmZmZiB3aW5kb3ddClsgICAgOC45NDA4NTFdIHBucCAwMDowMTogW21lbSAw
eGRmYTAwMDAwLTB4ZmViZmZmZmYgd2luZG93XQpbICAgIDguOTQ2NTg1XSBwbnAgMDA6MDE6IFtt
ZW0gMHhmZWQ0MDAwMC0weGZlZDRiZmZmIHdpbmRvd10KWyAgICA4Ljk1MjM1NF0gcG5wIDAwOjAx
OiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgUE5QMGEwOCBQTlAwYTAzIChhY3RpdmUp
ClsgICAgOC45NjAwMDJdIHBucCAwMDowMjogW2lvICAweDAwMTAtMHgwMDFmXQpbICAgIDguOTY0
Mjk4XSBwbnAgMDA6MDI6IFtpbyAgMHgwMDkwLTB4MDA5Zl0KWyAgICA4Ljk2ODY1OV0gcG5wIDAw
OjAyOiBbaW8gIDB4MDAyNC0weDAwMjVdClsgICAgOC45NzMwMTRdIHBucCAwMDowMjogW2lvICAw
eDAwMjgtMHgwMDI5XQpbICAgIDguOTc3MzYxXSBwbnAgMDA6MDI6IFtpbyAgMHgwMDJjLTB4MDAy
ZF0KWyAgICA4Ljk4MTcyNV0gcG5wIDAwOjAyOiBbaW8gIDB4MDAzMC0weDAwMzFdClsgICAgOC45
ODYwODhdIHBucCAwMDowMjogW2lvICAweDAwMzQtMHgwMDM1XQpbICAgIDguOTkwNDUyXSBwbnAg
MDA6MDI6IFtpbyAgMHgwMDM4LTB4MDAzOV0KWyAgICA4Ljk5NDgxMl0gcG5wIDAwOjAyOiBbaW8g
IDB4MDAzYy0weDAwM2RdClsgICAgOC45OTkxNzZdIHBucCAwMDowMjogW2lvICAweDAwYTQtMHgw
MGE1XQpbICAgIDkuMDAzNTMxXSBwbnAgMDA6MDI6IFtpbyAgMHgwMGE4LTB4MDBhOV0KWyAgICA5
LjAwNzg5Ml0gcG5wIDAwOjAyOiBbaW8gIDB4MDBhYy0weDAwYWRdClsgICAgOS4wMTIyNjRdIHBu
cCAwMDowMjogW2lvICAweDAwYjAtMHgwMGI1XQpbICAgIDkuMDE2NjI3XSBwbnAgMDA6MDI6IFtp
byAgMHgwMGI4LTB4MDBiOV0KWyAgICA5LjAyMDk4Ml0gcG5wIDAwOjAyOiBbaW8gIDB4MDBiYy0w
eDAwYmRdClsgICAgOS4wMjUzNDNdIHBucCAwMDowMjogW2lvICAweDAwNTAtMHgwMDUzXQpbICAg
IDkuMDI5NzAwXSBwbnAgMDA6MDI6IFtpbyAgMHgwMDcyLTB4MDA3N10KWyAgICA5LjAzNDA2NF0g
cG5wIDAwOjAyOiBbaW8gIDB4MDQwMC0weDA0N2ZdClsgICAgOS4wMzg0MzFdIHBucCAwMDowMjog
W2lvICAweDA1MDAtMHgwNTdmXQpbICAgIDkuMDQyNzk4XSBwbnAgMDA6MDI6IFtpbyAgMHgwODAw
LTB4MDgwZl0KWyAgICA5LjA0NzE1OV0gcG5wIDAwOjAyOiBbaW8gIDB4MTVlMC0weDE1ZWZdClsg
ICAgOS4wNTE1MThdIHBucCAwMDowMjogW2lvICAweDE2MDAtMHgxNjdmXQpbICAgIDkuMDU1ODc2
XSBwbnAgMDA6MDI6IFttZW0gMHhmODAwMDAwMC0weGZiZmZmZmZmXQpbICAgIDkuMDYwOTYxXSBw
bnAgMDA6MDI6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpbICAgIDkuMDY2MDUyXSBwbnAg
MDA6MDI6IFttZW0gMHhmZWQxYzAwMC0weGZlZDFmZmZmXQpbICAgIDkuMDcxMTM4XSBwbnAgMDA6
MDI6IFttZW0gMHhmZWQxMDAwMC0weGZlZDEzZmZmXQpbICAgIDkuMDc2MjI2XSBwbnAgMDA6MDI6
IFttZW0gMHhmZWQxODAwMC0weGZlZDE4ZmZmXQpbICAgIDkuMDgxMzE4XSBwbnAgMDA6MDI6IFtt
ZW0gMHhmZWQxOTAwMC0weGZlZDE5ZmZmXQpbICAgIDkuMDg2NDAzXSBwbnAgMDA6MDI6IFttZW0g
MHhmZWQ0NTAwMC0weGZlZDRiZmZmXQpbICAgIDkuMDkxNTQxXSBzeXN0ZW0gMDA6MDI6IFtpbyAg
MHgwNDAwLTB4MDQ3Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKWyAgICA5LjA5Nzc1NV0gc3lzdGVtIDAw
OjAyOiBbaW8gIDB4MDUwMC0weDA1N2ZdIGhhcyBiZWVuIHJlc2VydmVkClsgICAgOS4xMDQwMjhd
IHN5c3RlbSAwMDowMjogW2lvICAweDA4MDAtMHgwODBmXSBoYXMgYmVlbiByZXNlcnZlZApbICAg
IDkuMTEwMjk2XSBzeXN0ZW0gMDA6MDI6IFtpbyAgMHgxNWUwLTB4MTVlZl0gaGFzIGJlZW4gcmVz
ZXJ2ZWQKWyAgICA5LjExNjU2NV0gc3lzdGVtIDAwOjAyOiBbaW8gIDB4MTYwMC0weDE2N2ZdIGhh
cyBiZWVuIHJlc2VydmVkClsgICAgOS4xMjI4MzJdIHN5c3RlbSAwMDowMjogW21lbSAweGY4MDAw
MDAwLTB4ZmJmZmZmZmZdIGhhcyBiZWVuIHJlc2VydmVkClsgICAgOS4xMjk4MzZdIHN5c3RlbSAw
MDowMjogW21lbSAweDAwMDAwMDAwLTB4MDAwMDBmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZApb
ICAgIDkuMTM3MjA1XSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQxYzAwMC0weGZlZDFmZmZmXSBo
YXMgYmVlbiByZXNlcnZlZApbICAgIDkuMTQ0MjAyXSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQx
MDAwMC0weGZlZDEzZmZmXSBoYXMgYmVlbiByZXNlcnZlZApbICAgIDkuMTUxMTk5XSBzeXN0ZW0g
MDA6MDI6IFttZW0gMHhmZWQxODAwMC0weGZlZDE4ZmZmXSBoYXMgYmVlbiByZXNlcnZlZApbICAg
IDkuMTU4MTg5XSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQxOTAwMC0weGZlZDE5ZmZmXSBoYXMg
YmVlbiByZXNlcnZlZApbICAgIDkuMTY1MTg2XSBzeXN0ZW0gMDA6MDI6IFttZW0gMHhmZWQ0NTAw
MC0weGZlZDRiZmZmXSBoYXMgYmVlbiByZXNlcnZlZApbICAgIDkuMTcyMTg1XSBzeXN0ZW0gMDA6
MDI6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwYzAyIChhY3RpdmUpClsgICAg
OS4xNzkzOTddIHBucCAwMDowMzogW21lbSAweGZlZDAwMDAwLTB4ZmVkMDAzZmZdClsgICAgOS4x
ODQ0NjRdIHBucCAwMDowMzogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDAxMDMg
KGFjdGl2ZSkKWyAgICA5LjE5MTM0N10gcG5wIDAwOjA0OiBbaW8gIDB4MDAwMC0weDAwMGZdClsg
ICAgOS4xOTU2NzZdIHBucCAwMDowNDogW2lvICAweDAwODAtMHgwMDhmXQpbICAgIDkuMjAwMDI1
XSBwbnAgMDA6MDQ6IFtpbyAgMHgwMGMwLTB4MDBkZl0KWyAgICA5LjIwNDM4N10gcG5wIDAwOjA0
OiBbZG1hIDRdClsgICAgOS4yMDc2OThdIHBucCAwMDowNDogUGx1ZyBhbmQgUGxheSBBQ1BJIGRl
dmljZSwgSURzIFBOUDAyMDAgKGFjdGl2ZSkKWyAgICA5LjIxNDU2Ml0gcG5wIDAwOjA1OiBbaW8g
IDB4MDA2MV0KWyAgICA5LjIxODMzOF0gcG5wIDAwOjA1OiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2
aWNlLCBJRHMgUE5QMDgwMCAoYWN0aXZlKQpbICAgIDkuMjI1MjMxXSBwbnAgMDA6MDY6IFtpbyAg
MHgwMGYwXQpbICAgIDkuMjI4OTU0XSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAxMyB0cmlnZ2VyaW5n
IDEgcG9sYXJpdHkgMApbICAgIDkuMjM0ODQyXSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcg
aXJxIDEzIGZvciBnc2kgMTMKWyAgICA5LjI0MDU2Nl0geGVuOiAtLT4gcGlycT0xMyAtPiBpcnE9
MTMgKGdzaT0xMykKWyAgICA5LjI0NTQxM10gcG5wIDAwOjA2OiBbaXJxIDEzXQpbICAgIDkuMjQ4
NzY1XSBwbnAgMDA6MDY6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwYzA0IChh
Y3RpdmUpClsgICAgOS4yNTU2NzRdIHBucCAwMDowNzogW2lvICAweDAwNzAtMHgwMDcxXQpbICAg
IDkuMjYwMDMzXSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSA4IHRyaWdnZXJpbmcgMSBwb2xhcml0eSAw
ClsgICAgOS4yNjU4NDFdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgOCBmb3IgZ3Np
IDgKWyAgICA5LjI3MTM3Nl0geGVuOiAtLT4gcGlycT04IC0+IGlycT04IChnc2k9OCkKWyAgICA5
LjI3NTk0M10gcG5wIDAwOjA3OiBbaXJxIDhdClsgICAgOS4yNzkyMTVdIHBucCAwMDowNzogUGx1
ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDBiMDAgKGFjdGl2ZSkKWyAgICA5LjI4NjA5
N10gcG5wIDAwOjA4OiBbaW8gIDB4MDA2MF0KWyAgICA5LjI4OTgxMV0gcG5wIDAwOjA4OiBbaW8g
IDB4MDA2NF0KWyAgICA5LjI5MzUzOF0geGVuOiByZWdpc3RlcmluZyBnc2kgMSB0cmlnZ2VyaW5n
IDEgcG9sYXJpdHkgMApbICAgIDkuMjk5MzQ2XSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcg
aXJxIDEgZm9yIGdzaSAxClsgICAgOS4zMDQ4OTNdIHhlbjogLS0+IHBpcnE9MSAtPiBpcnE9MSAo
Z3NpPTEpClsgICAgOS4zMDk0NDldIHBucCAwMDowODogW2lycSAxXQpbICAgIDkuMzEyNzIxXSBw
bnAgMDA6MDg6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwMzAzIChhY3RpdmUp
ClsgICAgOS4zMTk2MThdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDEyIHRyaWdnZXJpbmcgMSBwb2xh
cml0eSAwClsgICAgOS4zMjU1MjFdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTIg
Zm9yIGdzaSAxMgpbICAgIDkuMzMxMjQ2XSB4ZW46IC0tPiBwaXJxPTEyIC0+IGlycT0xMiAoZ3Np
PTEyKQpbICAgIDkuMzM2MDg2XSBwbnAgMDA6MDk6IFtpcnEgMTJdClsgICAgOS4zMzk0NTNdIHBu
cCAwMDowOTogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIExFTjAwMjAgUE5QMGYxMyAo
YWN0aXZlKQpbICAgIDkuMzQ3MDgyXSBwbnAgMDA6MGE6IFttZW0gMHhmZWQ0MDAwMC0weGZlZDQ0
ZmZmXQpbICAgIDkuMzUyMTQzXSBwbnAgMDA6MGE6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2Us
IElEcyBTTU8xMjAwIFBOUDBjMzEgKGFjdGl2ZSkKWyAgICA5LjM2MDQwOV0gcG5wOiBQblAgQUNQ
STogZm91bmQgMTEgZGV2aWNlcwpbICAgIDkuMzY0NzgyXSBBQ1BJOiBBQ1BJIGJ1cyB0eXBlIHBu
cCB1bnJlZ2lzdGVyZWQKWyAgICA5LjM3NTA1NF0gUE0tVGltZXIgZmFpbGVkIGNvbnNpc3RlbmN5
IGNoZWNrICAoMHgweGZmZmZmZikgLSBhYm9ydGluZy4KWyAgICA5LjM4MTk4N10gUENJOiBtYXgg
YnVzIGRlcHRoOiAxIHBjaV90cnlfbnVtOiAyClsgICAgOS4zODY5NThdIHBjaSAwMDAwOjAwOjFj
LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0wMl0KWyAgICA5LjM5MjQxNF0gcGNpIDAwMDA6MDA6
MWMuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgZGlzYWJsZWRdClsgICAgOS4zOTg0MTldIHBjaSAw
MDAwOjAwOjFjLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIGRpc2FibGVkXQpbICAgIDkuNDA0NDE3
XSBwY2kgMDAwMDowMDoxYy4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSBwcmVmIGRpc2FibGVkXQpb
ICAgIDkuNDEwODgzXSBwY2kgMDAwMDowMDoxYy4xOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDMtMDNd
ClsgICAgOS40MTY0MDldIHBjaSAwMDAwOjAwOjFjLjE6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIGRp
c2FibGVkXQpbICAgIDkuNDIyNDE2XSBwY2kgMDAwMDowMDoxYy4xOiAgIGJyaWRnZSB3aW5kb3cg
W21lbSAweGYyNTAwMDAwLTB4ZjI1ZmZmZmZdClsgICAgOS40Mjk1OTZdIHBjaSAwMDAwOjAwOjFj
LjE6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIHByZWYgZGlzYWJsZWRdClsgICAgOS40MzYwMzFdIHBj
aSAwMDAwOjAwOjFjLjM6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNS0wY10KWyAgICA5LjQ0MTU2NV0g
cGNpIDAwMDA6MDA6MWMuMzogICBicmlkZ2Ugd2luZG93IFtpbyAgMHg0MDAwLTB4NGZmZl0KWyAg
ICA5LjQ0ODAyN10gcGNpIDAwMDA6MDA6MWMuMzogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmMWQw
MDAwMC0weGYyNGZmZmZmXQpbICAgIDkuNDU1MjAwXSBwY2kgMDAwMDowMDoxYy4zOiAgIGJyaWRn
ZSB3aW5kb3cgW21lbSAweGYwNDAwMDAwLTB4ZjBiZmZmZmYgNjRiaXQgcHJlZl0KWyAgICA5LjQ2
MzM4M10gcGNpIDAwMDA6MDA6MWMuNDogUENJIGJyaWRnZSB0byBbYnVzIDBkLTBkXQpbICAgIDku
NDY4OTIwXSBwY2kgMDAwMDowMDoxYy40OiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDMwMDAtMHgz
ZmZmXQpbICAgIDkuNDc1Mzc1XSBwY2kgMDAwMDowMDoxYy40OiAgIGJyaWRnZSB3aW5kb3cgW21l
bSAweGYxNTAwMDAwLTB4ZjFjZmZmZmZdClsgICAgOS40ODI1NjddIHBjaSAwMDAwOjAwOjFjLjQ6
ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZjBjMDAwMDAtMHhmMTNmZmZmZiA2NGJpdCBwcmVmXQpb
ICAgIDkuNDkwNzUyXSBwY2kgMDAwMDowMDoxYy42OiBQQ0kgYnJpZGdlIHRvIFtidXMgMGUtMGVd
ClsgICAgOS40OTYyNzhdIHBjaSAwMDAwOjAwOjFjLjY6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIGRp
c2FibGVkXQpbICAgIDkuNTAyMjkxXSBwY2kgMDAwMDowMDoxYy42OiAgIGJyaWRnZSB3aW5kb3cg
W21lbSAweGYxNDAwMDAwLTB4ZjE0ZmZmZmZdClsgICAgOS41MDk0NzBdIHBjaSAwMDAwOjAwOjFj
LjY6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIHByZWYgZGlzYWJsZWRdClsgICAgOS41MTU5NDNdIHhl
bjogcmVnaXN0ZXJpbmcgZ3NpIDE2IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsgICAgOS41MjE4
NDhdIHhlbjogLS0+IHBpcnE9MTYgLT4gaXJxPTE2IChnc2k9MTYpClsgICAgOS41MjY2NzRdIHBj
aSAwMDAwOjAwOjFjLjA6IFBDSSBJTlQgQSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAx
NgpbICAgIDkuNTMzNzQyXSBwY2kgMDAwMDowMDoxYy4wOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIg
dG8gNjQKWyAgICA5LjUzOTQ3M10geGVuOiByZWdpc3RlcmluZyBnc2kgMTcgdHJpZ2dlcmluZyAw
IHBvbGFyaXR5IDEKWyAgICA5LjU0NTM4M10geGVuOiAtLT4gcGlycT0xNyAtPiBpcnE9MTcgKGdz
aT0xNykKWyAgICA5LjU1MDIxMF0gcGNpIDAwMDA6MDA6MWMuMTogUENJIElOVCBCIC0+IEdTSSAx
NyAobGV2ZWwsIGxvdykgLT4gSVJRIDE3ClsgICAgOS41NTcyOTZdIHBjaSAwMDAwOjAwOjFjLjE6
IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0byA2NApbICAgIDkuNTYzMDMzXSB4ZW46IHJlZ2lzdGVy
aW5nIGdzaSAxOSB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgIDkuNTY4OTQ1XSB4ZW46IC0t
PiBwaXJxPTE5IC0+IGlycT0xOSAoZ3NpPTE5KQpbICAgIDkuNTczNzg2XSBwY2kgMDAwMDowMDox
Yy4zOiBQQ0kgSU5UIEQgLT4gR1NJIDE5IChsZXZlbCwgbG93KSAtPiBJUlEgMTkKWyAgICA5LjU4
MDg2MV0gcGNpIDAwMDA6MDA6MWMuMzogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0ClsgICAg
OS41ODY1NzddIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDE2IHRyaWdnZXJpbmcgMCBwb2xhcml0eSAx
ClsgICAgOS41OTI0NzRdIHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTYgZm9yIGdz
aSAxNgpbICAgIDkuNTk4MjAwXSB4ZW46IC0tPiBwaXJxPTE2IC0+IGlycT0xNiAoZ3NpPTE2KQpb
ICAgIDkuNjAzMDE0XSBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE2ClsgICAgOS42MDY5MDNdIHBj
aSAwMDAwOjAwOjFjLjQ6IFBDSSBJTlQgQSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAx
NgpbICAgIDkuNjEzOTkxXSBwY2kgMDAwMDowMDoxYy40OiBzZXR0aW5nIGxhdGVuY3kgdGltZXIg
dG8gNjQKWyAgICA5LjYxOTcwM10geGVuOiByZWdpc3RlcmluZyBnc2kgMTggdHJpZ2dlcmluZyAw
IHBvbGFyaXR5IDEKWyAgICA5LjYyNTYwN10geGVuOiAtLT4gcGlycT0xOCAtPiBpcnE9MTggKGdz
aT0xOCkKWyAgICA5LjYzMDQ0N10gcGNpIDAwMDA6MDA6MWMuNjogUENJIElOVCBDIC0+IEdTSSAx
OCAobGV2ZWwsIGxvdykgLT4gSVJRIDE4ClsgICAgOS42Mzc1MDZdIHBjaSAwMDAwOjAwOjFjLjY6
IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0byA2NApbICAgIDkuNjQzMjI0XSBwY2lfYnVzIDAwMDA6
MDA6IHJlc291cmNlIDQgW2lvICAweDAwMDAtMHgwY2Y3XQpbICAgIDkuNjQ5MTE4XSBwY2lfYnVz
IDAwMDA6MDA6IHJlc291cmNlIDUgW2lvICAweDBkMDAtMHhmZmZmXQpbICAgIDkuNjU1MDQwXSBw
Y2lfYnVzIDAwMDA6MDA6IHJlc291cmNlIDYgW21lbSAweDAwMGEwMDAwLTB4MDAwYmZmZmZdClsg
ICAgOS42NjE2NzhdIHBjaV9idXMgMDAwMDowMDogcmVzb3VyY2UgNyBbbWVtIDB4ZGZhMDAwMDAt
MHhmZWJmZmZmZl0KWyAgICA5LjY2ODMxMF0gcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSA4IFtt
ZW0gMHhmZWQ0MDAwMC0weGZlZDRiZmZmXQpbICAgIDkuNjc0OTM5XSBwY2lfYnVzIDAwMDA6MDM6
IHJlc291cmNlIDEgW21lbSAweGYyNTAwMDAwLTB4ZjI1ZmZmZmZdClsgICAgOS42ODE1NTldIHBj
aV9idXMgMDAwMDowNTogcmVzb3VyY2UgMCBbaW8gIDB4NDAwMC0weDRmZmZdClsgICAgOS42ODc0
NjRdIHBjaV9idXMgMDAwMDowNTogcmVzb3VyY2UgMSBbbWVtIDB4ZjFkMDAwMDAtMHhmMjRmZmZm
Zl0KWyAgICA5LjY5NDEwOV0gcGNpX2J1cyAwMDAwOjA1OiByZXNvdXJjZSAyIFttZW0gMHhmMDQw
MDAwMC0weGYwYmZmZmZmIDY0Yml0IHByZWZdClsgICAgOS43MDE3MzRdIHBjaV9idXMgMDAwMDow
ZDogcmVzb3VyY2UgMCBbaW8gIDB4MzAwMC0weDNmZmZdClsgICAgOS43MDc2MzldIHBjaV9idXMg
MDAwMDowZDogcmVzb3VyY2UgMSBbbWVtIDB4ZjE1MDAwMDAtMHhmMWNmZmZmZl0KWyAgICA5Ljcx
NDI3Ml0gcGNpX2J1cyAwMDAwOjBkOiByZXNvdXJjZSAyIFttZW0gMHhmMGMwMDAwMC0weGYxM2Zm
ZmZmIDY0Yml0IHByZWZdClsgICAgOS43MjE4OTVdIHBjaV9idXMgMDAwMDowZTogcmVzb3VyY2Ug
MSBbbWVtIDB4ZjE0MDAwMDAtMHhmMTRmZmZmZl0KWyAgICA5LjcyODU2OV0gTkVUOiBSZWdpc3Rl
cmVkIHByb3RvY29sIGZhbWlseSAyClsgICAgOS43MzQzMzldIElQIHJvdXRlIGNhY2hlIGhhc2gg
dGFibGUgZW50cmllczogNTI0Mjg4IChvcmRlcjogMTAsIDQxOTQzMDQgYnl0ZXMpClsgICAgOS43
NDYxNzZdIFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6IDUyNDI4OCAob3JkZXI6
IDExLCA4Mzg4NjA4IGJ5dGVzKQpbICAgIDkuNzU1MzMxXSBUQ1AgYmluZCBoYXNoIHRhYmxlIGVu
dHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3NiBieXRlcykKWyAgICA5Ljc2MjQ1Nl0gVENQ
OiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChlc3RhYmxpc2hlZCA1MjQyODggYmluZCA2NTUzNikK
WyAgICA5Ljc2OTM4OF0gVENQIHJlbm8gcmVnaXN0ZXJlZApbICAgIDkuNzcyODEyXSBVRFAgaGFz
aCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzKQpbICAgIDkuNzc5
MzMxXSBVRFAtTGl0ZSBoYXNoIHRhYmxlIGVudHJpZXM6IDgxOTIgKG9yZGVyOiA2LCAyNjIxNDQg
Ynl0ZXMpClsgICAgOS43ODYyNjldIE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQpb
ICAgIDkuNzkwODI3XSBwY2kgMDAwMDowMDowMi4wOiBCb290IHZpZGVvIGRldmljZQpbICAgIDku
Nzk1OTY4XSBQQ0k6IENMUyA2NCBieXRlcywgZGVmYXVsdCA2NApbICAgIDkuODAwNTQ2XSBhdWRp
dDogaW5pdGlhbGl6aW5nIG5ldGxpbmsgc29ja2V0IChkaXNhYmxlZCkKWyAgICA5LjgwNjIwM10g
dHlwZT0yMDAwIGF1ZGl0KDEzMzYyMTU1MDUuODAyOjEpOiBpbml0aWFsaXplZApbICAgIDkuODM2
Njg5XSBIdWdlVExCIHJlZ2lzdGVyZWQgMiBNQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0ZWQgMCBw
YWdlcwpbICAgIDkuODQ0NTI2XSBWRlM6IERpc2sgcXVvdGFzIGRxdW90XzYuNS4yClsgICAgOS44
NDg2NzhdIERxdW90LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2
IGJ5dGVzKQpbICAgIDkuODU1ODcxXSBmdXNlIGluaXQgKEFQSSB2ZXJzaW9uIDcuMTYpClsgICAg
OS44NjAwMzhdIG1zZ21uaSBoYXMgYmVlbiBzZXQgdG8gMTM5ODkKWyAgICA5Ljg2NDY4OF0gQmxv
Y2sgbGF5ZXIgU0NTSSBnZW5lcmljIChic2cpIGRyaXZlciB2ZXJzaW9uIDAuNCBsb2FkZWQgKG1h
am9yIDI1MykKWyAgICA5Ljg3MjQ0OV0gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZApbICAg
IDkuODc2NTc3XSBpbyBzY2hlZHVsZXIgZGVhZGxpbmUgcmVnaXN0ZXJlZApbICAgIDkuODgxMTU3
XSBpbyBzY2hlZHVsZXIgY2ZxIHJlZ2lzdGVyZWQgKGRlZmF1bHQpClsgICAgOS44ODY3MzBdIHBj
aV9ob3RwbHVnOiBQQ0kgSG90IFBsdWcgUENJIENvcmUgdmVyc2lvbjogMC41ClsgICAgOS44OTI1
NjNdIHBjaWVocDogUENJIEV4cHJlc3MgSG90IFBsdWcgQ29udHJvbGxlciBEcml2ZXIgdmVyc2lv
bjogMC40ClsgICAgOS44OTk4MTZdIEFDUEk6IERlcHJlY2F0ZWQgcHJvY2ZzIEkvRiBmb3IgQUMg
aXMgbG9hZGVkLCBwbGVhc2UgcmV0cnkgd2l0aCBDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVIgY2xl
YXJlZApbICAgIDkuOTEwMjk4XSBBQ1BJOiBBQyBBZGFwdGVyIFtBQ10gKG9uLWxpbmUpClsgICAg
OS45MTQ4ODldIGlucHV0OiBMaWQgU3dpdGNoIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL2Rldmlj
ZTowMC9QTlAwQzBEOjAwL2lucHV0L2lucHV0MApbICAgIDkuOTIzNjE2XSBBQ1BJOiBMaWQgU3dp
dGNoIFtMSURdClsgICAgOS45MjcxODNdIGlucHV0OiBTbGVlcCBCdXR0b24gYXMgL2RldmljZXMv
TE5YU1lTVE06MDAvZGV2aWNlOjAwL1BOUDBDMEU6MDAvaW5wdXQvaW5wdXQxClsgICAgOS45MzU3
NzNdIEFDUEk6IFNsZWVwIEJ1dHRvbiBbU0xQQl0KWyAgICA5LjkzOTcyMV0gaW5wdXQ6IFBvd2Vy
IEJ1dHRvbiBhcyAvZGV2aWNlcy9MTlhTWVNUTTowMC9MTlhQV1JCTjowMC9pbnB1dC9pbnB1dDIK
WyAgICA5Ljk0NzQ3OF0gQUNQSTogUG93ZXIgQnV0dG9uIFtQV1JGXQpbICAgIDkuOTUxNDE3XSBB
Q1BJOiBhY3BpX2lkbGUgcmVnaXN0ZXJlZCB3aXRoIGNwdWlkbGUKWyAgICA5Ljk2MDAzNV0gdGhl
cm1hbCBMTlhUSEVSTTowMDogcmVnaXN0ZXJlZCBhcyB0aGVybWFsX3pvbmUwClsgICAgOS45NjU5
MzldIEFDUEk6IFRoZXJtYWwgWm9uZSBbVEhNMF0gKDYwIEMpClsgICAgOS45NzA0OTZdIEFDUEk6
IERlcHJlY2F0ZWQgcHJvY2ZzIEkvRiBmb3IgYmF0dGVyeSBpcyBsb2FkZWQsIHBsZWFzZSByZXRy
eSB3aXRoIENPTkZJR19BQ1BJX1BST0NGU19QT1dFUiBjbGVhcmVkClsgICAgOS45ODEzMTFdIEVS
U1Q6IFRhYmxlIGlzIG5vdCBmb3VuZCEKWyAgICA5Ljk4NTY0Nl0gU2VyaWFsOiA4MjUwLzE2NTUw
IGRyaXZlciwgMzIgcG9ydHMsIElSUSBzaGFyaW5nIGVuYWJsZWQKWyAgIDEwLjAxMTQxNV0gQUNQ
STogQmF0dGVyeSBTbG90IFtCQVQwXSAoYmF0dGVyeSBwcmVzZW50KQpbICAgMTAuMDYyNDQyXSB4
ZW46IHJlZ2lzdGVyaW5nIGdzaSAxOSB0cmlnZ2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgMTAuMDY4
Mjc0XSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE5IGZvciBnc2kgMTkKWyAgIDEw
LjA3Mzk5N10geGVuOiAtLT4gcGlycT0xOSAtPiBpcnE9MTkgKGdzaT0xOSkKWyAgIDEwLjA3ODgz
MV0gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxOQpbICAgMTAuMDgyNzM0XSBzZXJpYWwgMDAwMDow
MDoxNi4zOiBQQ0kgSU5UIEIgLT4gR1NJIDE5IChsZXZlbCwgbG93KSAtPiBJUlEgMTkKWyAgIDEw
LjExMDcwOV0gMDAwMDowMDoxNi4zOiB0dHlTNCBhdCBJL08gMHg1MGIwIChpcnEgPSAxOSkgaXMg
YSAxNjU1MEEKWyAgIDEwLjExNzQzNV0geGVuOiByZWdpc3RlcmluZyBnc2kgMTkgdHJpZ2dlcmlu
ZyAwIHBvbGFyaXR5IDEKWyAgIDEwLjEyMzI0NF0geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5n
IGlycSAxOSBmb3IgZ3NpIDE5ClsgICAxMC4xMjg5NDRdIHhlbjogLS0+IHBpcnE9MTkgLT4gaXJx
PTE5IChnc2k9MTkpClsgICAxMC4xMzM3NTddIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTkKWyAg
IDEwLjEzNzYzNV0gc2VyaWFsIDAwMDA6MDU6MDAuMDogUENJIElOVCBBIC0+IEdTSSAxOSAobGV2
ZWwsIGxvdykgLT4gSVJRIDE5ClsgICAxMC4xNDUyMDFdIGhwZXRfYWNwaV9hZGQ6IG5vIGFkZHJl
c3Mgb3IgaXJxcyBpbiBfQ1JTClsgICAxMC4xNTA0OTJdIExpbnV4IGFncGdhcnQgaW50ZXJmYWNl
IHYwLjEwMwpbICAgMTAuMTU0OTM2XSBhZ3BnYXJ0LWludGVsIDAwMDA6MDA6MDAuMDogSW50ZWwg
U2FuZHlicmlkZ2UgQ2hpcHNldApbICAgMTAuMTYxNTE4XSBhZ3BnYXJ0LWludGVsIDAwMDA6MDA6
MDAuMDogZGV0ZWN0ZWQgZ3R0IHNpemU6IDIwOTcxNTJLIHRvdGFsLCAyNjIxNDRLIG1hcHBhYmxl
ClsgICAxMC4xNzE4MTBdIGFncGdhcnQtaW50ZWwgMDAwMDowMDowMC4wOiBkZXRlY3RlZCA2NTUz
Nksgc3RvbGVuIG1lbW9yeQpbICAgMTAuMTc4NzA0XSBhZ3BnYXJ0LWludGVsIDAwMDA6MDA6MDAu
MDogQUdQIGFwZXJ0dXJlIGlzIDI1Nk0gQCAweGUwMDAwMDAwClsgICAxMC4xODY1ODhdIGJyZDog
bW9kdWxlIGxvYWRlZApbICAgMTAuMTkwMDk2XSBsb29wOiBtb2R1bGUgbG9hZGVkClsgICAxMC4x
OTM2OTBdIEZpeGVkIE1ESU8gQnVzOiBwcm9iZWQKWyAgIDEwLjE5NzI1N10gUFBQIGdlbmVyaWMg
ZHJpdmVyIHZlcnNpb24gMi40LjIKWyAgIDEwLjIwMTgzOF0gdHVuOiBVbml2ZXJzYWwgVFVOL1RB
UCBkZXZpY2UgZHJpdmVyLCAxLjYKWyAgIDEwLjIwNzE2N10gdHVuOiAoQykgMTk5OS0yMDA0IE1h
eCBLcmFzbnlhbnNreSA8bWF4a0BxdWFsY29tbS5jb20+ClsgICAxMC4yMTM3NzZdIGVoY2lfaGNk
OiBVU0IgMi4wICdFbmhhbmNlZCcgSG9zdCBDb250cm9sbGVyIChFSENJKSBEcml2ZXIKWyAgIDEw
LjIyMDY4M10gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBwb3dlciBzdGF0ZSBjaGFuZ2VkIGJ5IEFD
UEkgdG8gRDAKWyAgIDEwLjIyNzM2NV0gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBwb3dlciBzdGF0
ZSBjaGFuZ2VkIGJ5IEFDUEkgdG8gRDAKWyAgIDEwLjIzNDA4N10geGVuOiByZWdpc3RlcmluZyBn
c2kgMTYgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgIDEwLjIzOTk3MV0geGVuX21hcF9waXJx
X2dzaTogcmV0dXJuaW5nIGlycSAxNiBmb3IgZ3NpIDE2ClsgICAxMC4yNDU2ODBdIHhlbjogLS0+
IHBpcnE9MTYgLT4gaXJxPTE2IChnc2k9MTYpClsgICAxMC4yNTA0OTVdIEFscmVhZHkgc2V0dXAg
dGhlIEdTSSA6MTYKWyAgIDEwLjI1NDM4OV0gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBQQ0kgSU5U
IEEgLT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTYKWyAgIDEwLjI2MTkyN10gZWhjaV9o
Y2QgMDAwMDowMDoxYS4wOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQKWyAgIDEwLjI2ODA2
OV0gZWhjaV9oY2QgMDAwMDowMDoxYS4wOiBFSENJIEhvc3QgQ29udHJvbGxlcgpbICAgMTAuMjcz
NjI5XSBlaGNpX2hjZCAwMDAwOjAwOjFhLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2ln
bmVkIGJ1cyBudW1iZXIgMQpbICAgMTAuMjgxNDU2XSBlaGNpX2hjZCAwMDAwOjAwOjFhLjA6IGRl
YnVnIHBvcnQgMgpbICAgMTAuMjkwMDkxXSBlaGNpX2hjZCAwMDAwOjAwOjFhLjA6IGNhY2hlIGxp
bmUgc2l6ZSBvZiA2NCBpcyBub3Qgc3VwcG9ydGVkClsgICAxMC4yOTcyMTNdIGVoY2lfaGNkIDAw
MDA6MDA6MWEuMDogaXJxIDE2LCBpbyBtZW0gMHhmMjYyYTAwMApbICAgMTAuMzA3MDcwXSBlaGNp
X2hjZCAwMDAwOjAwOjFhLjA6IFVTQiAyLjAgc3RhcnRlZCwgRUhDSSAxLjAwClsgICAxMC4zMTMx
NzBdIGh1YiAxLTA6MS4wOiBVU0IgaHViIGZvdW5kClsgICAxMC4zMTcwODldIGh1YiAxLTA6MS4w
OiAzIHBvcnRzIGRldGVjdGVkClsgICAxMC4zMjE0MDZdIGVoY2lfaGNkIDAwMDA6MDA6MWQuMDog
cG93ZXIgc3RhdGUgY2hhbmdlZCBieSBBQ1BJIHRvIEQwClsgICAxMC4zMjgwNzRdIGVoY2lfaGNk
IDAwMDA6MDA6MWQuMDogcG93ZXIgc3RhdGUgY2hhbmdlZCBieSBBQ1BJIHRvIEQwClsgICAxMC4z
MzQ4MDVdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDIzIHRyaWdnZXJpbmcgMCBwb2xhcml0eSAxClsg
ICAxMC4zNDA3MDddIHhlbjogLS0+IHBpcnE9MjMgLT4gaXJxPTIzIChnc2k9MjMpClsgICAxMC4z
NDU1MjFdIGVoY2lfaGNkIDAwMDA6MDA6MWQuMDogUENJIElOVCBBIC0+IEdTSSAyMyAobGV2ZWws
IGxvdykgLT4gSVJRIDIzClsgICAxMC4zNTMwNjRdIGVoY2lfaGNkIDAwMDA6MDA6MWQuMDogc2V0
dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0ClsgICAxMC4zNTkyMjhdIGVoY2lfaGNkIDAwMDA6MDA6
MWQuMDogRUhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDEwLjM2NDc5Ml0gZWhjaV9oY2QgMDAwMDow
MDoxZC4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDIKWyAg
IDEwLjM3MjU5OF0gZWhjaV9oY2QgMDAwMDowMDoxZC4wOiBkZWJ1ZyBwb3J0IDIKWyAgIDEwLjM4
MTI0Ml0gZWhjaV9oY2QgMDAwMDowMDoxZC4wOiBjYWNoZSBsaW5lIHNpemUgb2YgNjQgaXMgbm90
IHN1cHBvcnRlZApbICAgMTAuMzg4MzY1XSBlaGNpX2hjZCAwMDAwOjAwOjFkLjA6IGlycSAyMywg
aW8gbWVtIDB4ZjI2MjkwMDAKWyAgIDEwLjM5ODI1M10gZWhjaV9oY2QgMDAwMDowMDoxZC4wOiBV
U0IgMi4wIHN0YXJ0ZWQsIEVIQ0kgMS4wMApbICAgMTAuNDA0MzQxXSBodWIgMi0wOjEuMDogVVNC
IGh1YiBmb3VuZApbICAgMTAuNDA4MjY1XSBodWIgMi0wOjEuMDogMyBwb3J0cyBkZXRlY3RlZApb
ICAgMTAuNDEyNTcyXSBvaGNpX2hjZDogVVNCIDEuMSAnT3BlbicgSG9zdCBDb250cm9sbGVyIChP
SENJKSBEcml2ZXIKWyAgIDEwLjQxOTA4NF0gdWhjaV9oY2Q6IFVTQiBVbml2ZXJzYWwgSG9zdCBD
b250cm9sbGVyIEludGVyZmFjZSBkcml2ZXIKWyAgIDEwLjQyNTgwOV0gaTgwNDI6IFBOUDogUFMv
MiBDb250cm9sbGVyIFtQTlAwMzAzOktCRCxQTlAwZjEzOk1PVV0gYXQgMHg2MCwweDY0IGlycSAx
LDEyClsgICAxMC40Mzc0NTddIHNlcmlvOiBpODA0MiBLQkQgcG9ydCBhdCAweDYwLDB4NjQgaXJx
IDEKWyAgIDEwLjQ0MjYxN10gc2VyaW86IGk4MDQyIEFVWCBwb3J0IGF0IDB4NjAsMHg2NCBpcnEg
MTIKWyAgIDEwLjQ0ODA1M10gbW91c2VkZXY6IFBTLzIgbW91c2UgZGV2aWNlIGNvbW1vbiBmb3Ig
YWxsIG1pY2UKWyAgIDEwLjQ1NDAxMV0gcnRjX2Ntb3MgMDA6MDc6IFJUQyBjYW4gd2FrZSBmcm9t
IFM0ClsgICAxMC40NTg5ODVdIHJ0Y19jbW9zIDAwOjA3OiBydGMgY29yZTogcmVnaXN0ZXJlZCBy
dGNfY21vcyBhcyBydGMwClsgICAxMC40NjU0MzFdIHJ0YzA6IGFsYXJtcyB1cCB0byBvbmUgbW9u
dGgsIHkzaywgMTE0IGJ5dGVzIG52cmFtClsgICAxMC40NzE2NTJdIGRldmljZS1tYXBwZXI6IHVl
dmVudDogdmVyc2lvbiAxLjAuMwpbICAgMTAuNDc2NTI3XSBkZXZpY2UtbWFwcGVyOiBpb2N0bDog
NC4yMC4wLWlvY3RsICgyMDExLTAyLTAyKSBpbml0aWFsaXNlZDogZG0tZGV2ZWxAcmVkaGF0LmNv
bQpbICAgMTAuNDg1MzYyXSBjcHVpZGxlOiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKWyAgIDEwLjQ4
OTcxM10gY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpbICAgMTAuNDkzODc3XSBFRkkgVmFy
aWFibGVzIEZhY2lsaXR5IHYwLjA4IDIwMDQtTWF5LTE3ClsgICAxMC40OTkzOTldIFRDUCBjdWJp
YyByZWdpc3RlcmVkClsgICAxMC41MDA5MzddIGlucHV0OiBBVCBUcmFuc2xhdGVkIFNldCAyIGtl
eWJvYXJkIGFzIC9kZXZpY2VzL3BsYXRmb3JtL2k4MDQyL3NlcmlvMC9pbnB1dC9pbnB1dDMKWyAg
IDEwLjUxMTkxNl0gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxMApbICAgMTAuNTE2
OTY4XSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE3ClsgICAxMC41MjE2MTZdIFJl
Z2lzdGVyaW5nIHRoZSBkbnNfcmVzb2x2ZXIga2V5IHR5cGUKWyAgIDEwLjUyNjY1Nl0gUE06IEhp
YmVybmF0aW9uIGltYWdlIG5vdCBwcmVzZW50IG9yIGNvdWxkIG5vdCBiZSBsb2FkZWQuClsgICAx
MC41MzMzODJdIHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQpbICAgMTAuNTQ5MTQyXSAg
IE1hZ2ljIG51bWJlcjogMTI6ODY4Ojk4MQpbICAgMTAuNTUzMTQxXSBydGNfY21vcyAwMDowNzog
c2V0dGluZyBzeXN0ZW0gY2xvY2sgdG8gMjAxMi0wNS0wNSAxMDo1ODoyNyBVVEMgKDEzMzYyMTU1
MDcpClsgICAxMC41NzAzODVdIEJJT1MgRUREIGZhY2lsaXR5IHYwLjE2IDIwMDQtSnVuLTI1LCAw
IGRldmljZXMgZm91bmQKWyAgIDEwLjU3NjY3MV0gRUREIGluZm9ybWF0aW9uIG5vdCBhdmFpbGFi
bGUuClsgICAxMC41ODE0NjldIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDk4OGsgZnJl
ZWQKWyAgIDEwLjU4Njc2OF0gV3JpdGUgcHJvdGVjdGluZyB0aGUga2VybmVsIHJlYWQtb25seSBk
YXRhOiAxMjI4OGsKWyAgIDEwLjU5ODE3Nl0gRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTog
MjAzMmsgZnJlZWQKWyAgIDEwLjYwNDE5M10gRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTog
MTM4OGsgZnJlZWQKTG9hZGluZywgcGxlYXNlIHdhaXQuLi4KWyAgIDEwLjYzMDI2OV0gdXNiIDEt
MTogbmV3IGhpZ2ggc3BlZWQgVVNCIGRldmljZSBudW1iZXIgMiB1c2luZyBlaGNpX2hjZApbICAg
MTAuNjU4OTI1XSB1ZGV2ZFs4N106IHN0YXJ0aW5nIHZlcnNpb24gMTczClsgICAxMC43NTEzMjNd
IGUxMDAwZTogSW50ZWwoUikgUFJPLzEwMDAgTmV0d29yayBEcml2ZXIgLSAxLjMuMTAtazIKWyAg
IDEwLjc1NzYyMV0gZTEwMDBlOiBDb3B5cmlnaHQoYykgMTk5OSAtIDIwMTEgSW50ZWwgQ29ycG9y
YXRpb24uClsgICAxMC43NjM5MzldIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDIwIHRyaWdnZXJpbmcg
MCBwb2xhcml0eSAxClsgICAxMC43Njk4MjZdIHhlbjogLS0+IHBpcnE9MjAgLT4gaXJxPTIwIChn
c2k9MjApClsgICAxMC43NzQ3MjRdIGUxMDAwZSAwMDAwOjAwOjE5LjA6IFBDSSBJTlQgQSAtPiBH
U0kgMjAgKGxldmVsLCBsb3cpIC0+IElSUSAyMApbICAgMTAuNzgyNzc2XSBodWIgMS0xOjEuMDog
VVNCIGh1YiBmb3VuZApbICAgMTAuNzg2ODI2XSBodWIgMS0xOjEuMDogNiBwb3J0cyBkZXRlY3Rl
ZApbICAgMTAuNzk5NDE2XSBzZGhjaTogU2VjdXJlIERpZ2l0YWwgSG9zdCBDb250cm9sbGVyIElu
dGVyZmFjZSBkcml2ZXIKWyAgIDEwLjgwNTg2OV0gc2RoY2k6IENvcHlyaWdodChjKSBQaWVycmUg
T3NzbWFuClsgICAxMC44MTA1NjZdIGUxMDAwZSAwMDAwOjAwOjE5LjA6IHNldHRpbmcgbGF0ZW5j
eSB0aW1lciB0byA2NApbICAgMTAuODE5MDI4XSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAxOCB0cmln
Z2VyaW5nIDAgcG9sYXJpdHkgMQpbICAgMTAuODI0ODM5XSB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1
cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKWyAgIDEwLjgzMDU1OV0geGVuOiAtLT4gcGlycT0xOCAt
PiBpcnE9MTggKGdzaT0xOCkKWyAgIDEwLjgzNTQwM10gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDox
OApbICAgMTAuODM5Mjk1XSB4aGNpX2hjZCAwMDAwOjBlOjAwLjA6IFBDSSBJTlQgQSAtPiBHU0kg
MTggKGxldmVsLCBsb3cpIC0+IElSUSAxOApbICAgMTAuODU2Nzc0XSBzZGhjaS1wY2kgMDAwMDow
ZDowMC4wOiBTREhDSSBjb250cm9sbGVyIGZvdW5kIFsxMTgwOmU4MjJdIChyZXYgNykKWyAgIDEw
Ljg2NDQ4NF0geGVuOiByZWdpc3RlcmluZyBnc2kgMTYgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEK
WyAgIDEwLjg3MDI4M10geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxNiBmb3IgZ3Np
IDE2ClsgICAxMC44NzU5OTJdIHhlbjogLS0+IHBpcnE9MTYgLT4gaXJxPTE2IChnc2k9MTYpClsg
ICAxMC44ODA4MzddIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTYKWyAgIDEwLjg4NDY5NF0gc2Ro
Y2ktcGNpIDAwMDA6MGQ6MDAuMDogUENJIElOVCBBIC0+IEdTSSAxNiAobGV2ZWwsIGxvdykgLT4g
SVJRIDE2ClsgICAxMC44OTI1ODRdIHhoY2lfaGNkIDAwMDA6MGU6MDAuMDogc2V0dGluZyBsYXRl
bmN5IHRpbWVyIHRvIDY0ClsgICAxMC44OTg2ODhdIHhoY2lfaGNkIDAwMDA6MGU6MDAuMDogeEhD
SSBIb3N0IENvbnRyb2xsZXIKWyAgIDEwLjkwNDczOV0geGhjaV9oY2QgMDAwMDowZTowMC4wOiBu
ZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDMKWyAgIDEwLjkxMjU1
Nl0gdXNiIDItMTogbmV3IGhpZ2ggc3BlZWQgVVNCIGRldmljZSBudW1iZXIgMiB1c2luZyBlaGNp
X2hjZApbICAgMTAuOTE5NzU3XSBzZGhjaS1wY2kgMDAwMDowZDowMC4wOiBzZXR0aW5nIGxhdGVu
Y3kgdGltZXIgdG8gNjQKWyAgIDEwLjkyNjEyNl0gbW1jMDogbm8gdm1tYyByZWd1bGF0b3IgZm91
bmQKWyAgIDEwLjkzMDg1OF0gUmVnaXN0ZXJlZCBsZWQgZGV2aWNlOiBtbWMwOjoKWyAgIDEwLjkz
NTU3MF0geGhjaV9oY2QgMDAwMDowZTowMC4wOiBpcnEgMTgsIGlvIG1lbSAweGYxNDAwMDAwClsg
ICAxMC45NDIyODVdIG1tYzA6IFNESENJIGNvbnRyb2xsZXIgb24gUENJIFswMDAwOjBkOjAwLjBd
IHVzaW5nIERNQQpbICAgMTAuOTQ5NTM0XSB4SENJIHhoY2lfYWRkX2VuZHBvaW50IGNhbGxlZCBm
b3Igcm9vdCBodWIKWyAgIDEwLjk1NDk0N10geEhDSSB4aGNpX2NoZWNrX2JhbmR3aWR0aCBjYWxs
ZWQgZm9yIHJvb3QgaHViClsgICAxMC45NjA3MTJdIGh1YiAzLTA6MS4wOiBVU0IgaHViIGZvdW5k
ClsgICAxMC45NjQ3MDddIGh1YiAzLTA6MS4wOiAyIHBvcnRzIGRldGVjdGVkClsgICAxMC45Njkw
MjNdIHhoY2lfaGNkIDAwMDA6MGU6MDAuMDogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgIDEwLjk3
NDU1MV0geGhjaV9oY2QgMDAwMDowZTowMC4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3Np
Z25lZCBidXMgbnVtYmVyIDQKWyAgIDEwLjk4MjU3M10geEhDSSB4aGNpX2FkZF9lbmRwb2ludCBj
YWxsZWQgZm9yIHJvb3QgaHViClsgICAxMC45ODc5NDFdIHhIQ0kgeGhjaV9jaGVja19iYW5kd2lk
dGggY2FsbGVkIGZvciByb290IGh1YgpbICAgMTAuOTkzNjg0XSBodWIgNC0wOjEuMDogVVNCIGh1
YiBmb3VuZApbICAgMTAuOTk3NjU5XSBodWIgNC0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZApbICAg
MTEuMDQ4MDkwXSBlMTAwMGUgMDAwMDowMDoxOS4wOiBldGgwOiAoUENJIEV4cHJlc3M6Mi41R1Qv
czpXaWR0aCB4MSkgZjA6ZGU6ZjE6NWI6YjM6N2QKWyAgIDExLjA1NjQwNV0gZTEwMDBlIDAwMDA6
MDA6MTkuMDogZXRoMDogSW50ZWwoUikgUFJPLzEwMDAgTmV0d29yayBDb25uZWN0aW9uClsgICAx
MS4wNjI3MjJdIGh1YiAyLTE6MS4wOiBVU0IgaHViIGZvdW5kClsgICAxMS4wNjI4MTddIGh1YiAy
LTE6MS4wOiA4IHBvcnRzIGRldGVjdGVkClsgICAxMS4wNzIwNDVdIGUxMDAwZSAwMDAwOjAwOjE5
LjA6IGV0aDA6IE1BQzogMTAsIFBIWTogMTEsIFBCQSBObzogMTAwMEZGLTBGRgpbICAgMTEuMDc5
MzMzXSBhaGNpIDAwMDA6MDA6MWYuMjogdmVyc2lvbiAzLjAKWyAgIDExLjA4MzY3N10geGVuOiBy
ZWdpc3RlcmluZyBnc2kgMTkgdHJpZ2dlcmluZyAwIHBvbGFyaXR5IDEKWyAgIDExLjA4OTUwN10g
eGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxOSBmb3IgZ3NpIDE5ClsgICAxMS4wOTUx
ODhdIHhlbjogLS0+IHBpcnE9MTkgLT4gaXJxPTE5IChnc2k9MTkpClsgICAxMS4wOTk5OTRdIEFs
cmVhZHkgc2V0dXAgdGhlIEdTSSA6MTkKWyAgIDExLjEwMzg2M10gYWhjaSAwMDAwOjAwOjFmLjI6
IFBDSSBJTlQgQiAtPiBHU0kgMTkgKGxldmVsLCBsb3cpIC0+IElSUSAxOQpbICAgMTEuMTExMjc2
XSBhaGNpOiBTU1MgZmxhZyBzZXQsIHBhcmFsbGVsIGJ1cyBzY2FuIGRpc2FibGVkClsgICAxMS4x
MjYzMzZdIGFoY2kgMDAwMDowMDoxZi4yOiBBSENJIDAwMDEuMDMwMCAzMiBzbG90cyA2IHBvcnRz
IDYgR2JwcyAweDEzIGltcGwgU0FUQSBtb2RlClsgICAxMS4xMzQ4OTBdIGFoY2kgMDAwMDowMDox
Zi4yOiBmbGFnczogNjRiaXQgbmNxIHNudGYgaWxjayBzdGFnIHBtIGxlZCBjbG8gcGlvIHNsdW0g
cGFydCBlbXMgc3hzIGFwc3QgClsgICAxMS4xNDQ2MTFdIGFoY2kgMDAwMDowMDoxZi4yOiBzZXR0
aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQKWyAgIDExLjE1NDUxMl0gdXNiIDEtMS4zOiBuZXcgZnVs
bCBzcGVlZCBVU0IgZGV2aWNlIG51bWJlciAzIHVzaW5nIGVoY2lfaGNkClsgICAxMS4xNjY3ODVd
IHNjc2kwIDogYWhjaQpbICAgMTEuMTY5NTU4XSBzY3NpMSA6IGFoY2kKWyAgIDExLjE3MjI4OF0g
c2NzaTIgOiBhaGNpClsgICAxMS4xNzUwMzRdIHNjc2kzIDogYWhjaQpbICAgMTEuMTc3NzUwXSBz
Y3NpNCA6IGFoY2kKWyAgIDExLjE4MDQ3Ml0gc2NzaTUgOiBhaGNpClsgICAxMS4xODM4ODddIGF0
YTE6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTIwNDhAMHhmMjYyODAwMCBwb3J0IDB4ZjI2Mjgx
MDAgaXJxIDMwNApbICAgMTEuMTkxNjc0XSBhdGEyOiBTQVRBIG1heCBVRE1BLzEzMyBhYmFyIG0y
MDQ4QDB4ZjI2MjgwMDAgcG9ydCAweGYyNjI4MTgwIGlycSAzMDQKWyAgIDExLjE5OTU1M10gYXRh
MzogRFVNTVkKWyAgIDExLjIwMjE3OF0gYXRhNDogRFVNTVkKWyAgIDExLjIwNDgwMF0gYXRhNTog
U0FUQSBtYXggVURNQS8xMzMgYWJhciBtMjA0OEAweGYyNjI4MDAwIHBvcnQgMHhmMjYyODMwMCBp
cnEgMzA0ClsgICAxMS4yMTI3MDBdIGF0YTY6IERVTU1ZClsgICAxMS4zMjI2NjBdIHVzYiAxLTEu
NDogbmV3IGZ1bGwgc3BlZWQgVVNCIGRldmljZSBudW1iZXIgNCB1c2luZyBlaGNpX2hjZApbICAg
MTEuNTM0MzE0XSBhdGExOiBTQVRBIGxpbmsgdXAgMy4wIEdicHMgKFNTdGF0dXMgMTIzIFNDb250
cm9sIDMwMCkKWyAgIDExLjU0MzQwN10gYXRhMS4wMDogQUNQSSBjbWQgZWYvMDI6MDA6MDA6MDA6
MDA6YTAgKFNFVCBGRUFUVVJFUykgc3VjY2VlZGVkClsgICAxMS41NTA2OTBdIGF0YTEuMDA6IEFD
UEkgY21kIGY1LzAwOjAwOjAwOjAwOjAwOmEwIChTRUNVUklUWSBGUkVFWkUgTE9DSykgZmlsdGVy
ZWQgb3V0ClsgICAxMS41NTkwNDBdIGF0YTEuMDA6IEFDUEkgY21kIGVmLzEwOjAzOjAwOjAwOjAw
OmEwIChTRVQgRkVBVFVSRVMpIGZpbHRlcmVkIG91dApbICAgMTEuNTY5MTY2XSBhdGExLjAwOiBB
VEEtODogU1QzMjBMVDAwMC05VkwxNDIsIDAwMDNMVk0xLCBtYXggVURNQS8xMzMKWyAgIDExLjU3
NTkxNl0gYXRhMS4wMDogNjI1MTQyNDQ4IHNlY3RvcnMsIG11bHRpIDE2OiBMQkE0OCBOQ1EgKGRl
cHRoIDMxLzMyKQpbICAgMTEuNTg2MDE5XSBhdGExLjAwOiBBQ1BJIGNtZCBlZi8wMjowMDowMDow
MDowMDphMCAoU0VUIEZFQVRVUkVTKSBzdWNjZWVkZWQKWyAgIDExLjU5MzMxNF0gYXRhMS4wMDog
QUNQSSBjbWQgZjUvMDA6MDA6MDA6MDA6MDA6YTAgKFNFQ1VSSVRZIEZSRUVaRSBMT0NLKSBmaWx0
ZXJlZCBvdXQKWyAgIDExLjYwMTY2Ml0gYXRhMS4wMDogQUNQSSBjbWQgZWYvMTA6MDM6MDA6MDA6
MDA6YTAgKFNFVCBGRUFUVVJFUykgZmlsdGVyZWQgb3V0ClsgICAxMS42MTE4MDBdIGF0YTEuMDA6
IGNvbmZpZ3VyZWQgZm9yIFVETUEvMTMzClsgICAxMS42MTY0MjBdIHNjc2kgMDowOjA6MDogRGly
ZWN0LUFjY2VzcyAgICAgQVRBICAgICAgU1QzMjBMVDAwMC05VkwxNCAwMDAzIFBROiAwIEFOU0k6
IDUKWyAgIDExLjYyNTA0OF0gc2QgMDowOjA6MDogQXR0YWNoZWQgc2NzaSBnZW5lcmljIHNnMCB0
eXBlIDAKWyAgIDExLjYyNTA1M10gc2QgMDowOjA6MDogW3NkYV0gNjI1MTQyNDQ4IDUxMi1ieXRl
IGxvZ2ljYWwgYmxvY2tzOiAoMzIwIEdCLzI5OCBHaUIpClsgICAxMS42MjUxMDhdIHNkIDA6MDow
OjA6IFtzZGFdIFdyaXRlIFByb3RlY3QgaXMgb2ZmClsgICAxMS42MjUxMTBdIHNkIDA6MDowOjA6
IFtzZGFdIE1vZGUgU2Vuc2U6IDAwIDNhIDAwIDAwClsgICAxMS42MjUxMzNdIHNkIDA6MDowOjA6
IFtzZGFdIFdyaXRlIGNhY2hlOiBlbmFibGVkLCByZWFkIGNhY2hlOiBlbmFibGVkLCBkb2Vzbid0
IHN1cHBvcnQgRFBPIG9yIEZVQQpbICAgMTEuNjcxOTczXSAgc2RhOiBzZGExIHNkYTIgc2RhMyBz
ZGE0IDwgc2RhNSBzZGE2IHNkYTcgPgpbICAgMTEuNjc3ODY3XSBzZCAwOjA6MDowOiBbc2RhXSBB
dHRhY2hlZCBTQ1NJIGRpc2sKWyAgIDExLjk3ODI5OV0gYXRhMjogU0FUQSBsaW5rIGRvd24gKFNT
dGF0dXMgMCBTQ29udHJvbCAzMDApClsgICAxMi4zMDYyOTldIGF0YTU6IFNBVEEgbGluayBkb3du
IChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQpbICAgMTIuOTkwNzAzXSBFWFQ0LWZzIChzZGE3KTog
bW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6IChudWxsKQpm
c2NrIGZyb20gdXRpbC1saW51eCAyLjE5LjEKZnNjayBmcm9tIHV0aWwtbGludXggMi4xOS4xCi9k
ZXYvc2RhNzogY2xlYW4sIDg5Mzc4OS8xNDkyNTgyNCBmaWxlcywgMjkxNjA0NDIvNTk2Nzc0NDAg
YmxvY2tzIChjaGVjayBpbiA0IG1vdW50cykKL2Rldi9zZGE1OiBjbGVhbiwgMjc0LzYyMjQ4IGZp
bGVzLCA3NjU0NS8yNDg4MzIgYmxvY2tzIChjaGVjayBpbiA0IG1vdW50cykKU2tpcHBpbmcgcHJv
ZmlsZSBpbiAvZXRjL2FwcGFybW9yLmQvZGlzYWJsZTogdXNyLmJpbi5maXJlZm94CiAqIFN0YXJ0
aW5nIG1ETlMvRE5TLVNEIGRhZW1vbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbIE9LIF0KICogU3RhcnRpbmcgQXBwQXJtb3IgcHJvZmlsZXMgICAgICAgKFhFTikg
Q2Fubm90IGJpbmQgSVJRMTkgdG8gZG9tMC4gSW4gdXNlIGJ5ICduczE2NTUwJy4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsgT0sgXSAKICogU3RvcHBpbmcgRmFpbHNhZmUgQm9vdCBEZWxheSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQogKiBTdG9wcGluZyBTeXN0ZW0g
ViBpbml0aWFsaXNhdGlvbiBjb21wYXRpYmlsaXR5ICAgICAgICAgICAgICAgICAgICAgICAgWyBP
SyBdCiAqIFN0YXJ0aW5nIFN5c3RlbSBWIHJ1bmxldmVsIGNvbXBhdGliaWxpdHkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KICogU3RvcHBpbmcgYXV0b21hdGljIGNyYXNoIHJl
cG9ydCBnZW5lcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmYWlsXQogKiBTdGFy
dGluZyBMaWdodERNIERpc3BsYXkgTWFuYWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWyBPSyBdCiAqIFN0YXJ0aW5nIHNhdmUga2VybmVsIG1lc3NhZ2VzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KICogU3RhcnRpbmcgS1ZNICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsg
T0sgXQogKiBTdGFydGluZyBhbmFjKGgpcm9uaXN0aWMgY3JvbiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiAqIFN0YXJ0aW5nIEFDUEkgZGFlbW9uICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KICogU3Rh
cnRpbmcgcmVndWxhciBiYWNrZ3JvdW5kIHByb2dyYW0gcHJvY2Vzc2luZyBkYWVtb24gICAgICAg
ICAgICAgICAgIFsgT0sgXQogKiBTdGFydGluZyBkZWZlcnJlZCBleGVjdXRpb24gc2NoZWR1bGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiAqIFN0YXJ0aW5nIENQVSBp
bnRlcnJ1cHRzIGJhbGFuY2luZyBkYWVtb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
IE9LIF0KICogU3RhcnRpbmcgQ1BVIGludGVycnVwdHMgYmFsYW5jaW5nIGRhZW1vbiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFtmYWlsXQpTdGFydGluZyBveGVuc3RvcmVkLi4uICogU3Rv
cHBpbmcgc2F2ZSBrZXJuZWwgbWVzc2FnZXMgICAgICAgICAgICAgICAgICAgWyBPSyBdClsgICAz
MS42NTM0NDFdIFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlClsgICAzMS42NTgwMTRd
IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlClsgICAzMS42NjI2ODFdIFgKRU5CVVM6
IFVuYWJsZSB0b1NldHRpbmcgZG9tYWluIDAgbmFtZS4uLiByZWFkIGNwdSBzdGF0ZQoKWyAgIDMx
LjY2OTk5MF0gWEVOQlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3RhdGUKU3RhcnRpbmcgeGVuY29u
c29sZWQuLi4Kc3BlZWNoLWRpc3BhdGNoZXIgZGlzYWJsZWQ7IGVkaXQgL2V0Yy9kZWZhdWx0L3Nw
ZWVjaC1kaXNwYXRjaGVyCkNoZWNraW5nIGZvciBydW5uaW5nIHVuYXR0ZW5kZWQtdXBncmFkZXM6
IAogKiBTdGFydGluZyBWaXJ0dWFsQm94IGtlcm5lbCBtb2R1bGVzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWyBPSyBdIApTdGFydGluZyBkb21haW4gd2F0Y2hkb2cgZGFlbW9u
OiAgKiB4ZW53YXRjaGRvZ2Qgc3RhcnR1cAoKICogU3RhcnRpbmcgYmx1ZXRvb3RoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXSAKICogUHVs
c2VBdWRpbyBjb25maWd1cmVkIGZvciBwZXItdXNlciBzZXNzaW9ucwpzYW5lZCBkaXNhYmxlZDsg
ZWRpdCAvZXRjL2RlZmF1bHQvc2FuZWQKCiAqIENoZWNraW5nIGJhdHRlcnkgc3RhdGUuLi4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0gCihYRU4pIENh
bm5vdCBiaW5kIElSUTE5IHRvIGRvbTAuIEluIHVzZSBieSAnbnMxNjU1MCcuCihYRU4pIEhWTTE6
IEhWTSBMb2FkZXIKKFhFTikgSFZNMTogRGV0ZWN0ZWQgWGVuIHY0LjItdW5zdGFibGUKKFhFTikg
SFZNMTogWGVuYnVzIHJpbmdzIEAweGZlZmZjMDAwLCBldmVudCBjaGFubmVsIDMKKFhFTikgSFZN
MTogU3lzdGVtIHJlcXVlc3RlZCBST01CSU9TCihYRU4pIEhWTTE6IENQVSBzcGVlZCBpcyAyNjkx
IE1IegooWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxpbmsgMCBjaGFuZ2VkIDAgLT4gNQooWEVO
KSBIVk0xOiBQQ0ktSVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJRNQooWEVOKSBpcnEuYzoyNzA6IERv
bTEgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDEg
cm91dGVkIHRvIElSUTEwCihYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQg
MCAtPiAxMQooWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMiByb3V0ZWQgdG8gSVJRMTEKKFhFTikg
aXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDMgY2hhbmdlZCAwIC0+IDUKKFhFTikgSFZNMTogUENJ
LUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUKKFhFTikgSFZNMTogcGNpIGRldiAwMToyIElOVEQt
PklSUTUKKFhFTikgSFZNMTogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCihYRU4pIEhWTTE6IHBj
aSBkZXYgMDM6MCBJTlRBLT5JUlE1CihYRU4pIEhWTTE6IHBjaSBkZXYgMDI6MCBiYXIgMTAgc2l6
ZSAwMTAwMDAwMDogZjAwMDAwMDgKKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxNCBzaXpl
IDAxMDAwMDAwOiBmMTAwMDAwOAooWEVOKSBIVk0xOiBwY2kgZGV2IDAzOjAgYmFyIDEwIHNpemUg
MDAwMDAxMDA6IDAwMDBjMDAxCihYRU4pIEhWTTE6IHBjaSBkZXYgMDE6MiBiYXIgMjAgc2l6ZSAw
MDAwMDAyMDogMDAwMGMxMDEKKFhFTikgSFZNMTogcGNpIGRldiAwMToxIGJhciAyMCBzaXplIDAw
MDAwMDEwOiAwMDAwYzEyMQooWEVOKSBIVk0xOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlv
bjoKKFhFTikgSFZNMTogIC0gQ1BVMCAuLi4gMzYtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4u
LiB2YXIgTVRSUnMgWzIvOF0gLi4uIGRvbmUuCihYRU4pIEhWTTE6IFRlc3RpbmcgSFZNIGVudmly
b25tZW50OgooWEVOKSBIVk0xOiAgLSBSRVAgSU5TQiBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4u
LiBwYXNzZWQKKFhFTikgSFZNMTogIC0gR1MgYmFzZSBNU1JzIGFuZCBTV0FQR1MgLi4uIHBhc3Nl
ZAooWEVOKSBIVk0xOiBQYXNzZWQgMiBvZiAyIHRlc3RzCihYRU4pIEhWTTE6IFdyaXRpbmcgU01C
SU9TIHRhYmxlcyAuLi4KKFhFTikgSFZNMTogTG9hZGluZyBST01CSU9TIC4uLgooWEVOKSBIVk0x
OiAxMjYzNiBieXRlcyBvZiBST01CSU9TIGhpZ2gtbWVtb3J5IGV4dGVuc2lvbnM6CihYRU4pIEhW
TTE6ICAgUmVsb2NhdGluZyB0byAweGZjMDAxMDAwLTB4ZmMwMDQxNWMgLi4uIGRvbmUKKFhFTikg
SFZNMTogQ3JlYXRpbmcgTVAgdGFibGVzIC4uLgooWEVOKSBIVk0xOiBMb2FkaW5nIFN0YW5kYXJk
IFZHQUJJT1MgLi4uCihYRU4pIEhWTTE6IE9wdGlvbiBST01zOgooWEVOKSBIVk0xOiAgYzAwMDAt
YzlmZmY6IFZHQSBCSU9TCihYRU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KKFhFTikgSFZNMTog
dm04NiBUU1MgYXQgZmMwMTAyODAKKFhFTikgSFZNMTogQklPUyBtYXA6CihYRU4pIEhWTTE6ICBm
MDAwMC1mZmZmZjogTWFpbiBCSU9TCihYRU4pIEhWTTE6IEU4MjAgdGFibGU6CihYRU4pIEhWTTE6
ICBbMDBdOiAwMDAwMDAwMDowMDAwMDAwMCAtIDAwMDAwMDAwOjAwMDllMDAwOiBSQU0KKFhFTikg
SFZNMTogIFswMV06IDAwMDAwMDAwOjAwMDllMDAwIC0gMDAwMDAwMDA6MDAwYTAwMDA6IFJFU0VS
VkVECihYRU4pIEhWTTE6ICBIT0xFOiAwMDAwMDAwMDowMDBhMDAwMCAtIDAwMDAwMDAwOjAwMGUw
MDAwCihYRU4pIEhWTTE6ICBbMDJdOiAwMDAwMDAwMDowMDBlMDAwMCAtIDAwMDAwMDAwOjAwMTAw
MDAwOiBSRVNFUlZFRAooWEVOKSBIVk0xOiAgWzAzXTogMDAwMDAwMDA6MDAxMDAwMDAgLSAwMDAw
MDAwMDoxZjAwMDAwMDogUkFNCihYRU4pIEhWTTE6ICBIT0xFOiAwMDAwMDAwMDoxZjAwMDAwMCAt
IDAwMDAwMDAwOmZjMDAwMDAwCihYRU4pIEhWTTE6ICBbMDRdOiAwMDAwMDAwMDpmYzAwMDAwMCAt
IDAwMDAwMDAxOjAwMDAwMDAwOiBSRVNFUlZFRAooWEVOKSBIVk0xOiBJbnZva2luZyBST01CSU9T
IC4uLgooWEVOKSBIVk0xOiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIvMDcgMTc6
MzI6MjkgJAooWEVOKSBzdGR2Z2EuYzoxNDc6ZDEgZW50ZXJpbmcgc3RkdmdhIGFuZCBjYWNoaW5n
IG1vZGVzCihYRU4pIEhWTTE6IFZHQUJpb3MgJElkOiB2Z2FiaW9zLmMsdiAxLjY3IDIwMDgvMDEv
MjcgMDk6NDQ6MTIgdnJ1cHBlcnQgRXhwICQKKFhFTikgSFZNMTogVkJFIEJpb3MgJElkOiB2YmUu
Yyx2IDEuNjAgMjAwOC8wMy8wMiAwNzo0NzoyMSB2cnVwcGVydCBFeHAgJAooWEVOKSBIVk0xOiBC
b2NocyBCSU9TIC0gYnVpbGQ6IDA2LzIzLzk5CihYRU4pIEhWTTE6ICRSZXZpc2lvbjogMS4yMjEg
JCAkRGF0ZTogMjAwOC8xMi8wNyAxNzozMjoyOSAkCihYRU4pIEhWTTE6IE9wdGlvbnM6IGFwbWJp
b3MgcGNpYmlvcyBlbHRvcml0byBQTU0gCihYRU4pIEhWTTE6IAooWEVOKSBIVk0xOiBhdGEwLTA6
IFBDSFM9MTYzODMvMTYvNjMgdHJhbnNsYXRpb249bGJhIExDSFM9MTAyNC8yNTUvNjMKKFhFTikg
SFZNMTogYXRhMCBtYXN0ZXI6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1EaXNrICgxMDAwMCBN
Qnl0ZXMpCihYRU4pIEhWTTE6IElERSB0aW1lIG91dAooWEVOKSBIVk0xOiAKKFhFTikgSFZNMTog
CihYRU4pIEhWTTE6IAooWEVOKSBIVk0xOiBQcmVzcyBGMTIgZm9yIGJvb3QgbWVudS4KKFhFTikg
SFZNMTogCihYRU4pIEhWTTE6IEJvb3RpbmcgZnJvbSBIYXJkIERpc2suLi4KKFhFTikgSFZNMTog
Qm9vdGluZyBmcm9tIDAwMDA6N2MwMAooWEVOKSBIVk0xOiBpbnQxM19oYXJkZGlzazogZnVuY3Rp
b24gNDEsIHVubWFwcGVkIGRldmljZSBmb3IgRUxETD04MQooWEVOKSBIVk0xOiBpbnQxM19oYXJk
ZGlzazogZnVuY3Rpb24gMDgsIHVubWFwcGVkIGRldmljZSBmb3IgRUxETD04MQooWEVOKSBIVk0x
OiAqKiogaW50IDE1aCBmdW5jdGlvbiBBWD0wMGMwLCBCWD0wMDAwIG5vdCB5ZXQgc3VwcG9ydGVk
IQooWEVOKSBIVk0yOiBIVk0gTG9hZGVyCihYRU4pIEhWTTI6IERldGVjdGVkIFhlbiB2NC4yLXVu
c3RhYmxlCihYRU4pIEhWTTI6IFhlbmJ1cyByaW5ncyBAMHhmZWZmYzAwMCwgZXZlbnQgY2hhbm5l
bCA0CihYRU4pIEhWTTI6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwooWEVOKSBIVk0yOiBDUFUg
c3BlZWQgaXMgMjY5MSBNSHoKKFhFTikgaXJxLmM6MjcwOiBEb20yIFBDSSBsaW5rIDAgY2hhbmdl
ZCAwIC0+IDUKKFhFTikgSFZNMjogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUKKFhFTikg
aXJxLmM6MjcwOiBEb20yIFBDSSBsaW5rIDEgY2hhbmdlZCAwIC0+IDEwCihYRU4pIEhWTTI6IFBD
SS1JU0EgbGluayAxIHJvdXRlZCB0byBJUlExMAooWEVOKSBpcnEuYzoyNzA6IERvbTIgUENJIGxp
bmsgMiBjaGFuZ2VkIDAgLT4gMTEKKFhFTikgSFZNMjogUENJLUlTQSBsaW5rIDIgcm91dGVkIHRv
IElSUTExCihYRU4pIGlycS5jOjI3MDogRG9tMiBQQ0kgbGluayAzIGNoYW5nZWQgMCAtPiA1CihY
RU4pIEhWTTI6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1CihYRU4pIEhWTTI6IHBjaSBk
ZXYgMDE6MiBJTlRELT5JUlE1CihYRU4pIEhWTTI6IHBjaSBkZXYgMDE6MyBJTlRBLT5JUlExMAoo
WEVOKSBIVk0yOiBwY2kgZGV2IDAzOjAgSU5UQS0+SVJRNQooWEVOKSBIVk0yOiBwY2kgZGV2IDA0
OjAgSU5UQS0+SVJRNQooWEVOKSBIVk0yOiBwY2kgZGV2IDAyOjAgYmFyIDEwIHNpemUgMDEwMDAw
MDA6IGYwMDAwMDA4CihYRU4pIEhWTTI6IHBjaSBkZXYgMDM6MCBiYXIgMTQgc2l6ZSAwMTAwMDAw
MDogZjEwMDAwMDgKKFhFTikgSFZNMjogcGNpIGRldiAwMzowIGJhciAxMCBzaXplIDAwMDAwMTAw
OiAwMDAwYzAwMQooWEVOKSBIVk0yOiBwY2kgZGV2IDA0OjAgYmFyIDEwIHNpemUgMDAwMDAxMDA6
IDAwMDBjMTAxCihYRU4pIEhWTTI6IHBjaSBkZXYgMDQ6MCBiYXIgMTQgc2l6ZSAwMDAwMDEwMDog
ZjIwMDAwMDAKKFhFTikgSFZNMjogcGNpIGRldiAwMToyIGJhciAyMCBzaXplIDAwMDAwMDIwOiAw
MDAwYzIwMQooWEVOKSBIVk0yOiBwY2kgZGV2IDAxOjEgYmFyIDIwIHNpemUgMDAwMDAwMTA6IDAw
MDBjMjIxCihYRU4pIEhWTTI6IE11bHRpcHJvY2Vzc29yIGluaXRpYWxpc2F0aW9uOgooWEVOKSBI
Vk0yOiAgLSBDUFUwIC4uLiAzNi1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJS
cyBbMi84XSAuLi4gZG9uZS4KKFhFTikgSFZNMjogIC0gQ1BVMSAuLi4gMzYtYml0IHBoeXMgLi4u
IGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzIvOF0gLi4uIGRvbmUuCihYRU4pIEhWTTI6IFRl
c3RpbmcgSFZNIGVudmlyb25tZW50OgooWEVOKSBIVk0yOiAgLSBSRVAgSU5TQiBhY3Jvc3MgcGFn
ZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKKFhFTikgSFZNMjogIC0gR1MgYmFzZSBNU1JzIGFuZCBT
V0FQR1MgLi4uIHBhc3NlZAooWEVOKSBIVk0yOiBQYXNzZWQgMiBvZiAyIHRlc3RzCihYRU4pIEhW
TTI6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KKFhFTikgSFZNMjogTG9hZGluZyBST01CSU9T
IC4uLgooWEVOKSBIVk0yOiAxMjYzNiBieXRlcyBvZiBST01CSU9TIGhpZ2gtbWVtb3J5IGV4dGVu
c2lvbnM6CihYRU4pIEhWTTI6ICAgUmVsb2NhdGluZyB0byAweGZjMDAxMDAwLTB4ZmMwMDQxNWMg
Li4uIGRvbmUKKFhFTikgSFZNMjogQ3JlYXRpbmcgTVAgdGFibGVzIC4uLgooWEVOKSBIVk0yOiBM
b2FkaW5nIFN0YW5kYXJkIFZHQUJJT1MgLi4uCihYRU4pIEhWTTI6IExvYWRpbmcgUENJIE9wdGlv
biBST00gLi4uCihYRU4pIEhWTTI6ICAtIE1hbnVmYWN0dXJlcjogaHR0cDovL2lweGUub3JnCihY
RU4pIEhWTTI6ICAtIFByb2R1Y3QgbmFtZTogaVBYRQooWEVOKSBIVk0yOiBPcHRpb24gUk9NczoK
KFhFTikgSFZNMjogIGMwMDAwLWM5ZmZmOiBWR0EgQklPUwooWEVOKSBIVk0yOiAgY2EwMDAtZDlm
ZmY6IEV0aGVyYm9vdCBST00KKFhFTikgSFZNMjogTG9hZGluZyBBQ1BJIC4uLgooWEVOKSBIVk0y
OiB2bTg2IFRTUyBhdCBmYzAxMDI4MAooWEVOKSBIVk0yOiBCSU9TIG1hcDoKKFhFTikgSFZNMjog
IGYwMDAwLWZmZmZmOiBNYWluIEJJT1MKKFhFTikgSFZNMjogRTgyMCB0YWJsZToKKFhFTikgSFZN
MjogIFswMF06IDAwMDAwMDAwOjAwMDAwMDAwIC0gMDAwMDAwMDA6MDAwOWUwMDA6IFJBTQooWEVO
KSBIVk0yOiAgWzAxXTogMDAwMDAwMDA6MDAwOWUwMDAgLSAwMDAwMDAwMDowMDBhMDAwMDogUkVT
RVJWRUQKKFhFTikgSFZNMjogIEhPTEU6IDAwMDAwMDAwOjAwMGEwMDAwIC0gMDAwMDAwMDA6MDAw
ZTAwMDAKKFhFTikgSFZNMjogIFswMl06IDAwMDAwMDAwOjAwMGUwMDAwIC0gMDAwMDAwMDA6MDAx
MDAwMDA6IFJFU0VSVkVECihYRU4pIEhWTTI6ICBbMDNdOiAwMDAwMDAwMDowMDEwMDAwMCAtIDAw
MDAwMDAwOjNmMDAwMDAwOiBSQU0KKFhFTikgSFZNMjogIEhPTEU6IDAwMDAwMDAwOjNmMDAwMDAw
IC0gMDAwMDAwMDA6ZmMwMDAwMDAKKFhFTikgSFZNMjogIFswNF06IDAwMDAwMDAwOmZjMDAwMDAw
IC0gMDAwMDAwMDE6MDAwMDAwMDA6IFJFU0VSVkVECihYRU4pIEhWTTI6IEludm9raW5nIFJPTUJJ
T1MgLi4uCihYRU4pIEhWTTI6ICRSZXZpc2lvbjogMS4yMjEgJCAkRGF0ZTogMjAwOC8xMi8wNyAx
NzozMjoyOSAkCihYRU4pIHN0ZHZnYS5jOjE0NzpkMiBlbnRlcmluZyBzdGR2Z2EgYW5kIGNhY2hp
bmcgbW9kZXMKKFhFTikgSFZNMjogVkdBQmlvcyAkSWQ6IHZnYWJpb3MuYyx2IDEuNjcgMjAwOC8w
MS8yNyAwOTo0NDoxMiB2cnVwcGVydCBFeHAgJAooWEVOKSBIVk0yOiBWQkUgQmlvcyAkSWQ6IHZi
ZS5jLHYgMS42MCAyMDA4LzAzLzAyIDA3OjQ3OjIxIHZydXBwZXJ0IEV4cCAkCihYRU4pIEhWTTI6
IEJvY2hzIEJJT1MgLSBidWlsZDogMDYvMjMvOTkKKFhFTikgSFZNMjogJFJldmlzaW9uOiAxLjIy
MSAkICREYXRlOiAyMDA4LzEyLzA3IDE3OjMyOjI5ICQKKFhFTikgSFZNMjogT3B0aW9uczogYXBt
YmlvcyBwY2liaW9zIGVsdG9yaXRvIFBNTSAKKFhFTikgSFZNMjogCihYRU4pIEhWTTI6IGF0YTAt
MDogUENIUz0xNjM4My8xNi82MyB0cmFuc2xhdGlvbj1sYmEgTENIUz0xMDI0LzI1NS82MwooWEVO
KSBIVk0yOiBhdGEwIG1hc3RlcjogUUVNVSBIQVJERElTSyBBVEEtNyBIYXJkLURpc2sgKDIwMDAw
IE1CeXRlcykKKFhFTikgSFZNMjogSURFIHRpbWUgb3V0CihYRU4pIEhWTTI6IAooWEVOKSBIVk0y
OiAKKFhFTikgSFZNMjogCihYRU4pIEhWTTI6IFByZXNzIEYxMiBmb3IgYm9vdCBtZW51LgooWEVO
KSBIVk0yOiAKKFhFTikgSFZNMjogQm9vdGluZyBmcm9tIENELVJvbS4uLgooWEVOKSBIVk0yOiBD
RFJPTSBib290IGZhaWx1cmUgY29kZSA6IDAwMDIKKFhFTikgSFZNMjogQm9vdCBmcm9tIENELVJv
bSBmYWlsZWQ6IGNvdWxkIG5vdCByZWFkIHRoZSBib290IGRpc2sKKFhFTikgSFZNMjogCihYRU4p
IEhWTTI6IEJvb3RpbmcgZnJvbSBIYXJkIERpc2suLi4KKFhFTikgSFZNMjogQm9vdGluZyBmcm9t
IDAwMDA6N2MwMAooWEVOKSBIVk0xOiBpbnQxM19oYXJkZGlzazogZnVuY3Rpb24gMTUsIHVubWFw
cGVkIGRldmljZSBmb3IgRUxETD04MQooWEVOKSBIVk0xOiAqKiogaW50IDE1aCBmdW5jdGlvbiBB
WD1lYzAwLCBCWD0wMDAyIG5vdCB5ZXQgc3VwcG9ydGVkIQooWEVOKSBIVk0xOiBLQkQ6IHVuc3Vw
cG9ydGVkIGludCAxNmggZnVuY3Rpb24gMDMKKFhFTikgSFZNMTogaW50MTNfaGFyZGRpc2s6IGZ1
bmN0aW9uIDE1LCB1bm1hcHBlZCBkZXZpY2UgZm9yIEVMREw9ODEKKFhFTikgSFZNMTogaW50MTNf
aGFyZGRpc2s6IGZ1bmN0aW9uIDAyLCB1bm1hcHBlZCBkZXZpY2UgZm9yIEVMREw9ODEKKFhFTikg
SFZNMTogaW50MTNfaGFyZGRpc2s6IGZ1bmN0aW9uIDQxLCB1bm1hcHBlZCBkZXZpY2UgZm9yIEVM
REw9ODEKKFhFTikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdlZCA1IC0+IDAKKFhF
TikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDEgY2hhbmdlZCAxMCAtPiAwCihYRU4pIGlycS5j
OjI3MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQgMTEgLT4gMAooWEVOKSBpcnEuYzoyNzA6IERv
bTEgUENJIGxpbmsgMyBjaGFuZ2VkIDUgLT4gMAooWEVOKSBpcnEuYzozNTA6IERvbTEgY2FsbGJh
Y2sgdmlhIGNoYW5nZWQgdG8gUENJIElOVHggRGV2IDB4MDMgSW50QQooWEVOKSBpcnEuYzoyNzA6
IERvbTIgUENJIGxpbmsgMCBjaGFuZ2VkIDUgLT4gMAooWEVOKSBpcnEuYzoyNzA6IERvbTIgUENJ
IGxpbmsgMSBjaGFuZ2VkIDEwIC0+IDAKKFhFTikgaXJxLmM6MjcwOiBEb20yIFBDSSBsaW5rIDIg
Y2hhbmdlZCAxMSAtPiAwCihYRU4pIGlycS5jOjI3MDogRG9tMiBQQ0kgbGluayAzIGNoYW5nZWQg
NSAtPiAwCihYRU4pICoqKiBJUlEgQlVHIGZvdW5kICoqKgooWEVOKSBDUFUwIC1UZXN0aW5nIHZl
Y3RvciAyMzYgZnJvbSBiaXRtYXAgNDEsNDksNjQsNzIsODAsODIsODQsODgsOTYsOTgsMTA0LDEy
MCwxMjMsMTM2LDE0NSwxNTIsMTYwLDE2OCwxOTIsMjAwLTIwMSwyMjMKKFhFTikgR3Vlc3QgaW50
ZXJydXB0IGluZm9ybWF0aW9uOgooWEVOKSAgICBJUlE6ICAgMCBhZmZpbml0eTowMSB2ZWM6ZjAg
dHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAwIG1hcHBlZCwgdW5ib3VuZAooWEVO
KSAgICBJUlE6ICAgMSBhZmZpbml0eTowMiB2ZWM6N2IgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3Rh
dHVzPTAwMDAwMDMwIGluLWZsaWdodD0wIGRvbWFpbi1saXN0PTA6ICAxKC0tLS0pLAooWEVOKSAg
ICBJUlE6ICAgMiBhZmZpbml0eTpmZiB2ZWM6ZTIgdHlwZT1YVC1QSUMgICAgICAgICAgc3RhdHVz
PTAwMDAwMDAwIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgMyBhZmZpbml0eTowMSB2
ZWM6NDAgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3Vu
ZAooWEVOKSAgICBJUlE6ICAgNCBhZmZpbml0eTowMSB2ZWM6NDggdHlwZT1JTy1BUElDLWVkZ2Ug
ICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgNSBhZmZp
bml0eTowMSB2ZWM6NTAgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBl
ZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgNiBhZmZpbml0eTowMSB2ZWM6NTggdHlwZT1JTy1B
UElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6
ICAgNyBhZmZpbml0eTowMSB2ZWM6NjAgdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAw
MDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJUlE6ICAgOCBhZmZpbml0eTowOCB2ZWM6Mjkg
dHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDMwIGluLWZsaWdodD0wIGRvbWFpbi1s
aXN0PTA6ICA4KC0tLS0pLAooWEVOKSAgICBJUlE6ICAgOSBhZmZpbml0eTowMSB2ZWM6OTEgdHlw
ZT1JTy1BUElDLWxldmVsICAgc3RhdHVzPTAwMDAwMDMwIGluLWZsaWdodD0wIGRvbWFpbi1saXN0
PTA6ICA5KC0tLS0pLAooWEVOKSAgICBJUlE6ICAxMCBhZmZpbml0eTowMSB2ZWM6NzggdHlwZT1J
Ty1BUElDLWVkZ2UgICAgc3RhdHVzPTAwMDAwMDAyIG1hcHBlZCwgdW5ib3VuZAooWEVOKSAgICBJ
UlE6ICAxMSBhZmZpbml0eTowMSB2ZWM6ODggdHlwZT1JTy1BUElDLWVkZ2UgICAgc3RhdHVzPTAw
MDAwMDAyIG1hcHBlZCwgdW5ib3VuZAoKCg==
--20cf3074d4fe662a8904bf4ebda6
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf3074d4fe662a8904bf4ebda6--


From xen-devel-bounces@lists.xen.org Sat May 05 23:23:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 23:23:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQoJO-0008OE-97; Sat, 05 May 2012 23:22:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SQoJM-0008O8-Np
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 23:22:48 +0000
Received: from [85.158.138.51:34665] by server-10.bemta-3.messagelabs.com id
	DF/26-29478-746B5AF4; Sat, 05 May 2012 23:22:47 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336260166!25527130!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3592 invoked from network); 5 May 2012 23:22:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 23:22:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,537,1330905600"; d="scan'208";a="12313368"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 23:22:43 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sun, 6 May 2012 00:22:42 +0100
Date: Sun, 6 May 2012 00:19:26 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Message-ID: <20120505231926.GA8059@eire.uk.xensource.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="FL5UXtIhxfXey3p5"
Content-Disposition: inline
User-Agent: Mutt/1.5.20 (2009-06-14)
Subject: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline

I'm currently working with xen-unstable changeset 25260:0f53540494f7 
and trying to add a `vncviewer` type to the libxl_types.idl, but 
having difficulties understanding the root of a failure that occurs 
after I add my changes. Hopefully I enclose enough detail below, but 
if not, I'm happy to provide more information.

I've created a small patch to add a 'vncviewer' bool type to the 
configuration parser of xl and based these changes on the "localtime" 
implementation part of c/s 25131, see below:

diff -r 0f53540494f7 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Fri May 04 11:18:48 2012 +0100
+++ b/tools/libxl/libxl_create.c        Sat May 05 21:27:41 2012 +0000
@@ -156,6 +156,7 @@ int libxl__domain_build_info_setdefault(
     if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT)
         b_info->target_memkb = b_info->max_memkb;
 
+    libxl_defbool_setdefault(&b_info->vncviewer, false);
     libxl_defbool_setdefault(&b_info->localtime, false);
 
     libxl_defbool_setdefault(&b_info->disable_migrate, false);
diff -r 0f53540494f7 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Fri May 04 11:18:48 2012 +0100
+++ b/tools/libxl/libxl_types.idl       Sat May 05 21:27:41 2012 +0000
@@ -250,6 +250,7 @@ libxl_domain_build_info = Struct("domain
     ("video_memkb",     MemKB),
     ("shadow_memkb",    MemKB),
     ("rtc_timeoffset",  uint32),
+    ("vncviewer",       libxl_defbool),
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
diff -r 0f53540494f7 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Fri May 04 11:18:48 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Sat May 05 21:27:41 2012 +0000
@@ -728,6 +728,7 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
         b_info->rtc_timeoffset = l;
 
+    xlu_cfg_get_defbool(config, "vncviewer", &b_info->localtime, 0);
     xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
 
     if (!xlu_cfg_get_long (config, "videoram", &l, 0))

The outcome of this patch when applied and compiled in is that xl 
aborts during the parse_config_data() call in the create_domain().

# ./xl create win7
Parsing config file win7
Aborted

This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
which gets triggered from an erroneous b_info->type with a bogus value 
of 0x84 (which is neither PV nor HVM.)

For reference, the backtrace is:

(gdb) bt
#0  0xb7fe2416 in __kernel_vsyscall ()
#1  0xb7e28781 in *__GI_raise (sig=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb7e2bbb2 in *__GI_abort () at abort.c:92
#3  0x0804fe4b in parse_config_data (configfile_filename_report=<value 
optimized out>, configfile_data=<value optimized out>, 
configfile_len=250, d_config=0xbffff55c) at xl_cmdimpl.c:841
#4  0x080526ba in create_domain (dom_info=<value optimized out>) at 
xl_cmdimpl.c:1646
#5  0x0805c098 in main_create (argc=2, argv=0xbffffcc8) at 
xl_cmdimpl.c:3470
#6  0x0804cfe4 in main (argc=3, argv=0xbffffcc4) at xl.c:176

I've also attached the win7 config file which I'm using, in case this 
is a side effect of something wrong in config file itself (I should 
add that it's mostly copied from an example and it successfully 
creates a win7 domain without my patch applied.)

Any guesses or suggestions how to troubleshoot this further would be 
greatly appreciated.

Thanks,
Goncalo


--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: attachment; filename="win7"

builder = "hvm"
name = "win7"
memory = 1024
acpi = 1
apic = 1
disk = [ 'file:/root/vm/win7/disk1.img,hda,w', 'file:/root/win7.iso,hdc:cdrom,r' ]
device_model = "/usr/lib/xen/bin/qemu-dm"
boot="dca"
kernel = "/usr/lib/xen/boot/hvmloader"
vncviewer=1


--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--FL5UXtIhxfXey3p5--


From xen-devel-bounces@lists.xen.org Sat May 05 23:23:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 05 May 2012 23:23:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQoJO-0008OE-97; Sat, 05 May 2012 23:22:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SQoJM-0008O8-Np
	for xen-devel@lists.xensource.com; Sat, 05 May 2012 23:22:48 +0000
Received: from [85.158.138.51:34665] by server-10.bemta-3.messagelabs.com id
	DF/26-29478-746B5AF4; Sat, 05 May 2012 23:22:47 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336260166!25527130!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3592 invoked from network); 5 May 2012 23:22:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	5 May 2012 23:22:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,537,1330905600"; d="scan'208";a="12313368"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	05 May 2012 23:22:43 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sun, 6 May 2012 00:22:42 +0100
Date: Sun, 6 May 2012 00:19:26 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Message-ID: <20120505231926.GA8059@eire.uk.xensource.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="FL5UXtIhxfXey3p5"
Content-Disposition: inline
User-Agent: Mutt/1.5.20 (2009-06-14)
Subject: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline

I'm currently working with xen-unstable changeset 25260:0f53540494f7 
and trying to add a `vncviewer` type to the libxl_types.idl, but 
having difficulties understanding the root of a failure that occurs 
after I add my changes. Hopefully I enclose enough detail below, but 
if not, I'm happy to provide more information.

I've created a small patch to add a 'vncviewer' bool type to the 
configuration parser of xl and based these changes on the "localtime" 
implementation part of c/s 25131, see below:

diff -r 0f53540494f7 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Fri May 04 11:18:48 2012 +0100
+++ b/tools/libxl/libxl_create.c        Sat May 05 21:27:41 2012 +0000
@@ -156,6 +156,7 @@ int libxl__domain_build_info_setdefault(
     if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT)
         b_info->target_memkb = b_info->max_memkb;
 
+    libxl_defbool_setdefault(&b_info->vncviewer, false);
     libxl_defbool_setdefault(&b_info->localtime, false);
 
     libxl_defbool_setdefault(&b_info->disable_migrate, false);
diff -r 0f53540494f7 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Fri May 04 11:18:48 2012 +0100
+++ b/tools/libxl/libxl_types.idl       Sat May 05 21:27:41 2012 +0000
@@ -250,6 +250,7 @@ libxl_domain_build_info = Struct("domain
     ("video_memkb",     MemKB),
     ("shadow_memkb",    MemKB),
     ("rtc_timeoffset",  uint32),
+    ("vncviewer",       libxl_defbool),
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
diff -r 0f53540494f7 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Fri May 04 11:18:48 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Sat May 05 21:27:41 2012 +0000
@@ -728,6 +728,7 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
         b_info->rtc_timeoffset = l;
 
+    xlu_cfg_get_defbool(config, "vncviewer", &b_info->localtime, 0);
     xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
 
     if (!xlu_cfg_get_long (config, "videoram", &l, 0))

The outcome of this patch when applied and compiled in is that xl 
aborts during the parse_config_data() call in the create_domain().

# ./xl create win7
Parsing config file win7
Aborted

This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
which gets triggered from an erroneous b_info->type with a bogus value 
of 0x84 (which is neither PV nor HVM.)

For reference, the backtrace is:

(gdb) bt
#0  0xb7fe2416 in __kernel_vsyscall ()
#1  0xb7e28781 in *__GI_raise (sig=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb7e2bbb2 in *__GI_abort () at abort.c:92
#3  0x0804fe4b in parse_config_data (configfile_filename_report=<value 
optimized out>, configfile_data=<value optimized out>, 
configfile_len=250, d_config=0xbffff55c) at xl_cmdimpl.c:841
#4  0x080526ba in create_domain (dom_info=<value optimized out>) at 
xl_cmdimpl.c:1646
#5  0x0805c098 in main_create (argc=2, argv=0xbffffcc8) at 
xl_cmdimpl.c:3470
#6  0x0804cfe4 in main (argc=3, argv=0xbffffcc4) at xl.c:176

I've also attached the win7 config file which I'm using, in case this 
is a side effect of something wrong in config file itself (I should 
add that it's mostly copied from an example and it successfully 
creates a win7 domain without my patch applied.)

Any guesses or suggestions how to troubleshoot this further would be 
greatly appreciated.

Thanks,
Goncalo


--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: attachment; filename="win7"

builder = "hvm"
name = "win7"
memory = 1024
acpi = 1
apic = 1
disk = [ 'file:/root/vm/win7/disk1.img,hda,w', 'file:/root/win7.iso,hdc:cdrom,r' ]
device_model = "/usr/lib/xen/bin/qemu-dm"
boot="dca"
kernel = "/usr/lib/xen/boot/hvmloader"
vncviewer=1


--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--FL5UXtIhxfXey3p5--


From xen-devel-bounces@lists.xen.org Sun May 06 06:11:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 06:11:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQufi-0006OJ-Jq; Sun, 06 May 2012 06:10:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQufg-0006OE-TB
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 06:10:17 +0000
Received: from [85.158.138.51:63002] by server-7.bemta-3.messagelabs.com id
	4D/20-03078-7C516AF4; Sun, 06 May 2012 06:10:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336284615!25473861!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4Mw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5205 invoked from network); 6 May 2012 06:10:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 06:10:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,538,1330905600"; d="scan'208";a="12314187"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 06:10:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 6 May 2012 07:10:13 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQufd-0006W1-IE;
	Sun, 06 May 2012 06:10:13 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQufd-00036I-GO;
	Sun, 06 May 2012 07:10:13 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12792-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 6 May 2012 07:10:13 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12792: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12792 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12792/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf      9 guest-start                 fail pass in 12791
 test-amd64-amd64-pv           9 guest-start        fail in 12791 pass in 12792

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12791

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 06:11:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 06:11:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQufi-0006OJ-Jq; Sun, 06 May 2012 06:10:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SQufg-0006OE-TB
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 06:10:17 +0000
Received: from [85.158.138.51:63002] by server-7.bemta-3.messagelabs.com id
	4D/20-03078-7C516AF4; Sun, 06 May 2012 06:10:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336284615!25473861!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4Mw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5205 invoked from network); 6 May 2012 06:10:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 06:10:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,538,1330905600"; d="scan'208";a="12314187"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 06:10:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 6 May 2012 07:10:13 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SQufd-0006W1-IE;
	Sun, 06 May 2012 06:10:13 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SQufd-00036I-GO;
	Sun, 06 May 2012 07:10:13 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12792-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 6 May 2012 07:10:13 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12792: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12792 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12792/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf      9 guest-start                 fail pass in 12791
 test-amd64-amd64-pv           9 guest-start        fail in 12791 pass in 12792

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12791

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 07:36:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 07:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQw0a-0006wf-Ey; Sun, 06 May 2012 07:35:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SQw0Y-0006wa-4j
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 07:35:54 +0000
Received: from [193.109.254.147:40739] by server-2.bemta-14.messagelabs.com id
	44/F7-19409-9D926AF4; Sun, 06 May 2012 07:35:53 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336289751!7839217!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc1MDg5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17473 invoked from network); 6 May 2012 07:35:52 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-27.messagelabs.com with SMTP;
	6 May 2012 07:35:52 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 06 May 2012 00:35:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139416584"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 06 May 2012 00:35:50 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 6 May 2012 00:35:50 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Sun, 6 May 2012 15:35:48 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnA=
Date: Sun, 6 May 2012 07:35:47 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
In-Reply-To: <20120504132046.GD26418@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Friday, May 04, 2012 9:21 PM
> To: Hao, Xudong
> Cc: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that
> guest with device assigned can be benefitted.
> >
> > Changes from v1:
> > - put the variable definition at the start of function
> > - add error log report
> >
> 
> Don't you need to disable this when the device is un-assigned from the guest?
> 

I don't think this need to be disabled when device is un-assigned from guest. If host want to use device again, the host device driver need re-load, so whether disabling ltr/obff is up to host device driver.

> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff --git a/drivers/xen/xen-pciback/pci_stub.c
> b/drivers/xen/xen-pciback/pci_stub.c
> > index 097e536..74fbf23 100644
> > --- a/drivers/xen/xen-pciback/pci_stub.c
> > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> pci_dev *dev)
> >  	struct xen_pcibk_dev_data *dev_data;
> >  	int err = 0;
> >
> > +	/* set default value */
> > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> 
> Why these values? Is there a way to fetch optimal values?

These values is the max value that the register supported. I've no idea to get an optimal value, here it just be set max value as default.

> > +
> >  	dev_dbg(&dev->dev, "initializing...\n");
> >
> >  	/* The PCI backend is not intended to be a module (or to work with
> > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> pci_dev *dev)
> >  	dev_dbg(&dev->dev, "reset device\n");
> >  	xen_pcibk_reset_device(dev);
> >
> > +	/* Enable LTR and OBFF before do device assignment */
> > +	/* LTR(Latency tolerance reporting) allows devices to send
> > +	 * messages to the root complex indicating their latency tolerance
> > +	 * for snooped & unsnooped memory transactions.
> > +	 */
> > +	err = pci_enable_ltr(dev);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> > +
> > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> > +	if (err)
> > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > +
> > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > +	 * improve energy efficiency by giving devices information about
> > +	 * when interrupts and other activity will have a reduced power
> > +	 * impact.
> > +	 */
> > +	err = pci_enable_obff(dev, type);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > +
> >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> >  	return 0;
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 07:36:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 07:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQw0a-0006wf-Ey; Sun, 06 May 2012 07:35:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SQw0Y-0006wa-4j
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 07:35:54 +0000
Received: from [193.109.254.147:40739] by server-2.bemta-14.messagelabs.com id
	44/F7-19409-9D926AF4; Sun, 06 May 2012 07:35:53 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336289751!7839217!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc1MDg5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17473 invoked from network); 6 May 2012 07:35:52 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-27.messagelabs.com with SMTP;
	6 May 2012 07:35:52 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 06 May 2012 00:35:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139416584"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 06 May 2012 00:35:50 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 6 May 2012 00:35:50 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Sun, 6 May 2012 15:35:48 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnA=
Date: Sun, 6 May 2012 07:35:47 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
In-Reply-To: <20120504132046.GD26418@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Friday, May 04, 2012 9:21 PM
> To: Hao, Xudong
> Cc: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that
> guest with device assigned can be benefitted.
> >
> > Changes from v1:
> > - put the variable definition at the start of function
> > - add error log report
> >
> 
> Don't you need to disable this when the device is un-assigned from the guest?
> 

I don't think this need to be disabled when device is un-assigned from guest. If host want to use device again, the host device driver need re-load, so whether disabling ltr/obff is up to host device driver.

> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff --git a/drivers/xen/xen-pciback/pci_stub.c
> b/drivers/xen/xen-pciback/pci_stub.c
> > index 097e536..74fbf23 100644
> > --- a/drivers/xen/xen-pciback/pci_stub.c
> > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> pci_dev *dev)
> >  	struct xen_pcibk_dev_data *dev_data;
> >  	int err = 0;
> >
> > +	/* set default value */
> > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> 
> Why these values? Is there a way to fetch optimal values?

These values is the max value that the register supported. I've no idea to get an optimal value, here it just be set max value as default.

> > +
> >  	dev_dbg(&dev->dev, "initializing...\n");
> >
> >  	/* The PCI backend is not intended to be a module (or to work with
> > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> pci_dev *dev)
> >  	dev_dbg(&dev->dev, "reset device\n");
> >  	xen_pcibk_reset_device(dev);
> >
> > +	/* Enable LTR and OBFF before do device assignment */
> > +	/* LTR(Latency tolerance reporting) allows devices to send
> > +	 * messages to the root complex indicating their latency tolerance
> > +	 * for snooped & unsnooped memory transactions.
> > +	 */
> > +	err = pci_enable_ltr(dev);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> > +
> > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> > +	if (err)
> > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > +
> > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > +	 * improve energy efficiency by giving devices information about
> > +	 * when interrupts and other activity will have a reduced power
> > +	 * impact.
> > +	 */
> > +	err = pci_enable_obff(dev, type);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > +
> >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> >  	return 0;
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 08:12:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 08:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQwYj-0007bz-8x; Sun, 06 May 2012 08:11:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SQwYi-0007bu-KF
	for xen-devel@lists.xen.org; Sun, 06 May 2012 08:11:12 +0000
Received: from [193.109.254.147:8274] by server-4.bemta-14.messagelabs.com id
	40/4D-11570-F1236AF4; Sun, 06 May 2012 08:11:11 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336291870!7824516!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMDYy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2220 invoked from network); 6 May 2012 08:11:11 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-27.messagelabs.com with SMTP;
	6 May 2012 08:11:11 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 06 May 2012 01:11:09 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="96888636"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 06 May 2012 01:11:09 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 6 May 2012 01:11:07 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Sun, 6 May 2012 16:11:00 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//gGkA//xdGwA=
Date: Sun, 6 May 2012 08:10:59 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<4FA3AA540200007800081840@nat28.tlf.novell.com>
In-Reply-To: <4FA3AA540200007800081840@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Friday, May 04, 2012 4:07 PM
> To: Hao, Xudong
> Cc: xen-devel; konrad.wilk@oracle.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> >>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> > LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so
> that
> > guest with device assigned can be benefitted.
> >
> > Changes from v1:
> > - put the variable definition at the start of function
> > - add error log report
> >
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> I continue to disagree to doing this always, unconditionally, with
> hard-coded settings. If these features require explicit enabling,
> there likely is something that drivers unaware of them could have
> problems with - otherwise I would think these features would be
> always enabled when a device supports them, and no options
> would exist to control certain parameters.
> 
I agree the driver control it, but it's difficult to let guest driver do it till now(because of PCIe emulation by qemu issue).

> Plus, if the patch is nevertheless going to be acceptable, ...
> 
> > --- a/drivers/xen/xen-pciback/pci_stub.c
> > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> pci_dev
> > *dev)
> >  	struct xen_pcibk_dev_data *dev_data;
> >  	int err = 0;
> >
> > +	/* set default value */
> > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> > +
> >  	dev_dbg(&dev->dev, "initializing...\n");
> >
> >  	/* The PCI backend is not intended to be a module (or to work with
> > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> pci_dev
> > *dev)
> >  	dev_dbg(&dev->dev, "reset device\n");
> >  	xen_pcibk_reset_device(dev);
> >
> > +	/* Enable LTR and OBFF before do device assignment */
> > +	/* LTR(Latency tolerance reporting) allows devices to send
> > +	 * messages to the root complex indicating their latency tolerance
> > +	 * for snooped & unsnooped memory transactions.
> > +	 */
> > +	err = pci_enable_ltr(dev);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> 
> ... dev_err() here and below is certainly too severe, particularly for
> the -ENOTSUPP cases. And the spelling would need fixing, especially
> with it being broken exactly the same way a second time below.
> 

dev_alert should be ok. Thanks for the careful review of typo "enable", I'll modify it in next version.

> > +
> > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> 
> What's the point of calling this function when pci_enable_ltr() failed?
> 

Oh, thanks the point.
It's unnecessary to call this function when pci_enable_ltr() failed indeed, I'll insert this calling in pci_enable_ltr() passing logical in next version.

> Jan
> 
> > +	if (err)
> > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > +
> > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > +	 * improve energy efficiency by giving devices information about
> > +	 * when interrupts and other activity will have a reduced power
> > +	 * impact.
> > +	 */
> > +	err = pci_enable_obff(dev, type);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > +
> >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> >  	return 0;
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 08:12:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 08:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQwYj-0007bz-8x; Sun, 06 May 2012 08:11:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SQwYi-0007bu-KF
	for xen-devel@lists.xen.org; Sun, 06 May 2012 08:11:12 +0000
Received: from [193.109.254.147:8274] by server-4.bemta-14.messagelabs.com id
	40/4D-11570-F1236AF4; Sun, 06 May 2012 08:11:11 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336291870!7824516!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMDYy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2220 invoked from network); 6 May 2012 08:11:11 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-27.messagelabs.com with SMTP;
	6 May 2012 08:11:11 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 06 May 2012 01:11:09 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="96888636"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 06 May 2012 01:11:09 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 6 May 2012 01:11:07 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Sun, 6 May 2012 16:11:00 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//gGkA//xdGwA=
Date: Sun, 6 May 2012 08:10:59 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<4FA3AA540200007800081840@nat28.tlf.novell.com>
In-Reply-To: <4FA3AA540200007800081840@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Friday, May 04, 2012 4:07 PM
> To: Hao, Xudong
> Cc: xen-devel; konrad.wilk@oracle.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> >>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> > LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so
> that
> > guest with device assigned can be benefitted.
> >
> > Changes from v1:
> > - put the variable definition at the start of function
> > - add error log report
> >
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> I continue to disagree to doing this always, unconditionally, with
> hard-coded settings. If these features require explicit enabling,
> there likely is something that drivers unaware of them could have
> problems with - otherwise I would think these features would be
> always enabled when a device supports them, and no options
> would exist to control certain parameters.
> 
I agree the driver control it, but it's difficult to let guest driver do it till now(because of PCIe emulation by qemu issue).

> Plus, if the patch is nevertheless going to be acceptable, ...
> 
> > --- a/drivers/xen/xen-pciback/pci_stub.c
> > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> pci_dev
> > *dev)
> >  	struct xen_pcibk_dev_data *dev_data;
> >  	int err = 0;
> >
> > +	/* set default value */
> > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> > +
> >  	dev_dbg(&dev->dev, "initializing...\n");
> >
> >  	/* The PCI backend is not intended to be a module (or to work with
> > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> pci_dev
> > *dev)
> >  	dev_dbg(&dev->dev, "reset device\n");
> >  	xen_pcibk_reset_device(dev);
> >
> > +	/* Enable LTR and OBFF before do device assignment */
> > +	/* LTR(Latency tolerance reporting) allows devices to send
> > +	 * messages to the root complex indicating their latency tolerance
> > +	 * for snooped & unsnooped memory transactions.
> > +	 */
> > +	err = pci_enable_ltr(dev);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> 
> ... dev_err() here and below is certainly too severe, particularly for
> the -ENOTSUPP cases. And the spelling would need fixing, especially
> with it being broken exactly the same way a second time below.
> 

dev_alert should be ok. Thanks for the careful review of typo "enable", I'll modify it in next version.

> > +
> > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> 
> What's the point of calling this function when pci_enable_ltr() failed?
> 

Oh, thanks the point.
It's unnecessary to call this function when pci_enable_ltr() failed indeed, I'll insert this calling in pci_enable_ltr() passing logical in next version.

> Jan
> 
> > +	if (err)
> > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > +
> > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > +	 * improve energy efficiency by giving devices information about
> > +	 * when interrupts and other activity will have a reduced power
> > +	 * impact.
> > +	 */
> > +	err = pci_enable_obff(dev, type);
> > +	if (err)
> > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > +
> >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> >  	return 0;
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 09:05:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 09:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQxOd-0007vy-O7; Sun, 06 May 2012 09:04:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SQxOc-0007vt-TL
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 09:04:51 +0000
Received: from [85.158.139.83:18566] by server-3.bemta-5.messagelabs.com id
	E4/7A-25237-1BE36AF4; Sun, 06 May 2012 09:04:49 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336295088!22699205!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzcwMDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12674 invoked from network); 6 May 2012 09:04:49 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 6 May 2012 09:04:49 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 6B1A62969;
	Sun,  6 May 2012 12:04:47 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 9922AEC027; Sun,  6 May 2012 12:04:46 +0300 (EEST)
Date: Sun, 6 May 2012 12:04:46 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120506090446.GU2058@reaktio.net>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] patches for v3.5-rc6.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 10:04:23AM -0400, Konrad Rzeszutek Wilk wrote:
> Was thinking to push these patches to Linus for v3.5-rc6.
> 

Hmm.. that probably should say for v3.4-rc6 ? :)

--  Pasi

>  arch/x86/xen/enlighten.c    |   40 ++++++++++++++++++++++++++++++++++++++--
>  arch/x86/xen/mmu.c          |    7 ++++++-
>  drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
>  3 files changed, 59 insertions(+), 13 deletions(-)
> 
> David Vrabel (1):
>       xen/pci: don't use PCI BIOS service for configuration space accesses
> 
> Julia Lawall (1):
>       drivers/video/xen-fbfront.c: add missing cleanup code
> 
> Konrad Rzeszutek Wilk (2):
>       xen/apic: Return the APIC ID (and version) for CPU 0.
>       xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/PTEs
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 09:05:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 09:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQxOd-0007vy-O7; Sun, 06 May 2012 09:04:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SQxOc-0007vt-TL
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 09:04:51 +0000
Received: from [85.158.139.83:18566] by server-3.bemta-5.messagelabs.com id
	E4/7A-25237-1BE36AF4; Sun, 06 May 2012 09:04:49 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336295088!22699205!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzcwMDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12674 invoked from network); 6 May 2012 09:04:49 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 6 May 2012 09:04:49 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 6B1A62969;
	Sun,  6 May 2012 12:04:47 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 9922AEC027; Sun,  6 May 2012 12:04:46 +0300 (EEST)
Date: Sun, 6 May 2012 12:04:46 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120506090446.GU2058@reaktio.net>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] patches for v3.5-rc6.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 10:04:23AM -0400, Konrad Rzeszutek Wilk wrote:
> Was thinking to push these patches to Linus for v3.5-rc6.
> 

Hmm.. that probably should say for v3.4-rc6 ? :)

--  Pasi

>  arch/x86/xen/enlighten.c    |   40 ++++++++++++++++++++++++++++++++++++++--
>  arch/x86/xen/mmu.c          |    7 ++++++-
>  drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
>  3 files changed, 59 insertions(+), 13 deletions(-)
> 
> David Vrabel (1):
>       xen/pci: don't use PCI BIOS service for configuration space accesses
> 
> Julia Lawall (1):
>       drivers/video/xen-fbfront.c: add missing cleanup code
> 
> Konrad Rzeszutek Wilk (2):
>       xen/apic: Return the APIC ID (and version) for CPU 0.
>       xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/PTEs
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 09:23:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 09:23:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQxfh-000867-F0; Sun, 06 May 2012 09:22:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQxfg-000862-BL
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 09:22:28 +0000
Received: from [193.109.254.147:56406] by server-9.bemta-14.messagelabs.com id
	FF/9C-05787-3D246AF4; Sun, 06 May 2012 09:22:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336296145!2696452!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA1MDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6810 invoked from network); 6 May 2012 09:22:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 09:22:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,538,1330923600"; d="scan'208";a="193583413"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 05:22:25 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Sun, 6 May 2012
	05:22:24 -0400
Message-ID: <1336296147.5933.5.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Sun, 6 May 2012 10:22:27 +0100
In-Reply-To: <20120505231926.GA8059@eire.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, 2012-05-05 at 19:19 -0400, Goncalo Gomes wrote:
> diff -r 0f53540494f7 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Fri May 04 11:18:48 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Sat May 05 21:27:41 2012 +0000
> @@ -728,6 +728,7 @@ static void parse_config_data(const char
>      if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
>          b_info->rtc_timeoffset = l;
>  
> +    xlu_cfg_get_defbool(config, "vncviewer", &b_info->localtime, 0);
>      xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);

You have a small typo here (localtime instead of vncviewer), but that
won't effect the crux of this issue.

I've tried reproducing using your config file with the patch applied and
I can't.

> [...]
> This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
> which gets triggered from an erroneous b_info->type with a bogus value 
> of 0x84 (which is neither PV nor HVM.)

I think it might be useful to sprinkle prints of b_info->type everywhere
from the call to libxl_domain_build_info_init_type up until this switch
statement to see if you can identify the line which is overwriting this
field. I couldn't spot it by eye but something in there is presumably
blowing off the end of a buffer or something similar.

You should probably also validate the initial value, which comes from
c_info->type, and if that is wrong trace it back to the place which sets
that initial value.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 09:23:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 09:23:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQxfh-000867-F0; Sun, 06 May 2012 09:22:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQxfg-000862-BL
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 09:22:28 +0000
Received: from [193.109.254.147:56406] by server-9.bemta-14.messagelabs.com id
	FF/9C-05787-3D246AF4; Sun, 06 May 2012 09:22:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336296145!2696452!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA1MDE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6810 invoked from network); 6 May 2012 09:22:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 09:22:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,538,1330923600"; d="scan'208";a="193583413"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 05:22:25 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Sun, 6 May 2012
	05:22:24 -0400
Message-ID: <1336296147.5933.5.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Sun, 6 May 2012 10:22:27 +0100
In-Reply-To: <20120505231926.GA8059@eire.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, 2012-05-05 at 19:19 -0400, Goncalo Gomes wrote:
> diff -r 0f53540494f7 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Fri May 04 11:18:48 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Sat May 05 21:27:41 2012 +0000
> @@ -728,6 +728,7 @@ static void parse_config_data(const char
>      if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
>          b_info->rtc_timeoffset = l;
>  
> +    xlu_cfg_get_defbool(config, "vncviewer", &b_info->localtime, 0);
>      xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);

You have a small typo here (localtime instead of vncviewer), but that
won't effect the crux of this issue.

I've tried reproducing using your config file with the patch applied and
I can't.

> [...]
> This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
> which gets triggered from an erroneous b_info->type with a bogus value 
> of 0x84 (which is neither PV nor HVM.)

I think it might be useful to sprinkle prints of b_info->type everywhere
from the call to libxl_domain_build_info_init_type up until this switch
statement to see if you can identify the line which is overwriting this
field. I couldn't spot it by eye but something in there is presumably
blowing off the end of a buffer or something similar.

You should probably also validate the initial value, which comes from
c_info->type, and if that is wrong trace it back to the place which sets
that initial value.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 09:36:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 09:36:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQxsM-0008VY-Fd; Sun, 06 May 2012 09:35:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQxsL-0008VT-EL
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 09:35:33 +0000
Received: from [85.158.139.83:49603] by server-7.bemta-5.messagelabs.com id
	7A/36-16195-4E546AF4; Sun, 06 May 2012 09:35:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336296930!23099820!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDMxNjA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1221 invoked from network); 6 May 2012 09:35:31 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 09:35:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,538,1330923600"; d="scan'208";a="24910085"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 05:35:29 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Sun, 6 May 2012
	05:35:29 -0400
Message-ID: <1336296932.5933.9.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Sun, 6 May 2012 10:35:32 +0100
In-Reply-To: <20120504201802.GA16466@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> 
> > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > # HG changeset patch
> > > # User Olaf Hering <olaf@aepfle.de>
> > > # Date 1336159720 -7200
> > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > xl.cfg: document the maxmem= option
> > > 
> > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > 
> > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > --- a/docs/man/xl.cfg.pod.5
> > > +++ b/docs/man/xl.cfg.pod.5
> > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > >  mode) and your guest workload consists of a a very large number of
> > >  similar processes then increasing this value may improve performance.
> > >  
> > > +=item B<maxmem=MBYTES>
> > > +
> > > +Specifies the maximum amount of memory the HVM guest can ever see.
> > 
> > Isn't it also for PV guests (though without the PoD functionality)?
> 
> Now that I look again at libxl__build_pre(), it appearently does also
> something for PV guests.

Right. Some people call this booting "pre-ballooned". Essentially n PV
the balloon driver can be initialised early enough that something like
PoD is not required -- the missing pages are just incorporated directly
into the balloon.

(strictly speaking the balloon driver isn't actually initialised early,
but rather the pages are reserved/set-aside for it very early on).

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 09:36:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 09:36:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SQxsM-0008VY-Fd; Sun, 06 May 2012 09:35:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SQxsL-0008VT-EL
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 09:35:33 +0000
Received: from [85.158.139.83:49603] by server-7.bemta-5.messagelabs.com id
	7A/36-16195-4E546AF4; Sun, 06 May 2012 09:35:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336296930!23099820!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDMxNjA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1221 invoked from network); 6 May 2012 09:35:31 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 09:35:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,538,1330923600"; d="scan'208";a="24910085"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 05:35:29 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Sun, 6 May 2012
	05:35:29 -0400
Message-ID: <1336296932.5933.9.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Sun, 6 May 2012 10:35:32 +0100
In-Reply-To: <20120504201802.GA16466@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> 
> > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > # HG changeset patch
> > > # User Olaf Hering <olaf@aepfle.de>
> > > # Date 1336159720 -7200
> > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > xl.cfg: document the maxmem= option
> > > 
> > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > 
> > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > --- a/docs/man/xl.cfg.pod.5
> > > +++ b/docs/man/xl.cfg.pod.5
> > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > >  mode) and your guest workload consists of a a very large number of
> > >  similar processes then increasing this value may improve performance.
> > >  
> > > +=item B<maxmem=MBYTES>
> > > +
> > > +Specifies the maximum amount of memory the HVM guest can ever see.
> > 
> > Isn't it also for PV guests (though without the PoD functionality)?
> 
> Now that I look again at libxl__build_pre(), it appearently does also
> something for PV guests.

Right. Some people call this booting "pre-ballooned". Essentially n PV
the balloon driver can be initialised early enough that something like
PoD is not required -- the missing pages are just incorporated directly
into the balloon.

(strictly speaking the balloon driver isn't actually initialised early,
but rather the pages are reserved/set-aside for it very early on).

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 12:14:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 12:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR0Lj-0001KN-Ew; Sun, 06 May 2012 12:14:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SR0Li-0001KI-IS
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 12:14:02 +0000
Received: from [85.158.138.51:28462] by server-10.bemta-3.messagelabs.com id
	C6/00-29478-90B66AF4; Sun, 06 May 2012 12:14:01 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336306439!25563449!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMTAx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11903 invoked from network); 6 May 2012 12:14:00 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-174.messagelabs.com with SMTP;
	6 May 2012 12:14:00 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 06 May 2012 05:13:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139462545"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 06 May 2012 05:13:58 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 6 May 2012 05:13:58 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Sun, 6 May 2012 20:13:49 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Jan Beulich <jbeulich@suse.com>, "keir.xen@gmail.com"
	<keir.xen@gmail.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] Fix vmce addr/misc wrmsr bug
Thread-Index: Ac0rgbB7WdDs/9mcQ9qVPfKaVnNF8Q==
Date: Sun, 6 May 2012 12:13:48 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH] Fix vmce addr/misc wrmsr bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Fix vmce addr/misc wrmsr bug

This patch fix a bug related to wrmsr vmce bank addr/misc
registers, since they are not read-only.

Intel SDM recommanded os mce driver clear bank status/addr/misc.
So guest mce driver may clear addr and misc registers.
Under such case, old vmce wrmsr logic would generate
a #GP fault at guest mce context, and make guest crash.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>

diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
--- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
+++ b/xen/arch/x86/cpu/mcheck/vmce.c	Sun May 06 03:05:20 2012 +0800
@@ -209,6 +209,14 @@
     struct domain_mca_msrs *vmce =3D dom_vmce(v->domain);
     struct bank_entry *entry =3D NULL;
=20
+    /* Give the first entry of the list, it corresponds to current
+     * vMCE# injection. When vMCE# is finished processing by the
+     * the guest, this node will be deleted.
+     * Only error bank is written. Non-error banks simply return.
+     */
+    if ( !list_empty(&vmce->impact_header) )
+        entry =3D list_entry(vmce->impact_header.next, struct bank_entry, =
list);
+
     switch ( msr & (MSR_IA32_MC0_CTL | 3) )
     {
     case MSR_IA32_MC0_CTL:
@@ -216,32 +224,28 @@
             vmce->mci_ctl[bank] =3D val;
         break;
     case MSR_IA32_MC0_STATUS:
-        /* Give the first entry of the list, it corresponds to current
-         * vMCE# injection. When vMCE# is finished processing by the
-         * the guest, this node will be deleted.
-         * Only error bank is written. Non-error banks simply return.
-         */
-        if ( !list_empty(&vmce->impact_header) )
+        if ( entry && (entry->bank =3D=3D bank) )
         {
-            entry =3D list_entry(vmce->impact_header.next,
-                               struct bank_entry, list);
-            if ( entry->bank =3D=3D bank )
-                entry->mci_status =3D val;
+            entry->mci_status =3D val;
             mce_printk(MCE_VERBOSE,
-                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
-                       bank, val);
+                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n", bank, v=
al);
         }
-        else
-            mce_printk(MCE_VERBOSE,
-                       "MCE: wr MC%u_STATUS %"PRIx64"\n", bank, val);
         break;
     case MSR_IA32_MC0_ADDR:
-        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n", bank);
-        ret =3D -1;
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_addr =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n", bank, val=
);
+        }
         break;
     case MSR_IA32_MC0_MISC:
-        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n", bank);
-        ret =3D -1;
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_misc =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n", bank, val=
);
+        }
         break;
     default:
         switch ( boot_cpu_data.x86_vendor )=

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_
Content-Type: application/octet-stream; name="vmce-bug-fix.patch"
Content-Description: vmce-bug-fix.patch
Content-Disposition: attachment; filename="vmce-bug-fix.patch"; size=3051;
	creation-date="Sat, 05 May 2012 14:42:19 GMT";
	modification-date="Sat, 05 May 2012 19:46:46 GMT"
Content-Transfer-Encoding: base64

Rml4IHZtY2UgYWRkci9taXNjIHdybXNyIGJ1ZwoKVGhpcyBwYXRjaCBmaXggYSBidWcgcmVsYXRl
ZCB0byB3cm1zciB2bWNlIGJhbmsgYWRkci9taXNjCnJlZ2lzdGVycywgc2luY2UgdGhleSBhcmUg
bm90IHJlYWQtb25seS4KCkludGVsIFNETSByZWNvbW1hbmRlZCBvcyBtY2UgZHJpdmVyIGNsZWFy
IGJhbmsgc3RhdHVzL2FkZHIvbWlzYy4KU28gZ3Vlc3QgbWNlIGRyaXZlciBtYXkgY2xlYXIgYWRk
ciBhbmQgbWlzYyByZWdpc3RlcnMuClVuZGVyIHN1Y2ggY2FzZSwgb2xkIHZtY2Ugd3Jtc3IgbG9n
aWMgd291bGQgZ2VuZXJhdGUKYSAjR1AgZmF1bHQgYXQgZ3Vlc3QgbWNlIGNvbnRleHQsIGFuZCBt
YWtlIGd1ZXN0IGNyYXNoLgoKU2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxp
dUBpbnRlbC5jb20+CgpkaWZmIC1yIDc1NWY0NDBiM2I3OCB4ZW4vYXJjaC94ODYvY3B1L21jaGVj
ay92bWNlLmMKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5jCVdlZCBBcHIgMTgg
MTg6MzM6MzYgMjAxMiArMDgwMAorKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMJ
U3VuIE1heSAwNiAwMzowNToyMCAyMDEyICswODAwCkBAIC0yMDksNiArMjA5LDE0IEBACiAgICAg
c3RydWN0IGRvbWFpbl9tY2FfbXNycyAqdm1jZSA9IGRvbV92bWNlKHYtPmRvbWFpbik7CiAgICAg
c3RydWN0IGJhbmtfZW50cnkgKmVudHJ5ID0gTlVMTDsKIAorICAgIC8qIEdpdmUgdGhlIGZpcnN0
IGVudHJ5IG9mIHRoZSBsaXN0LCBpdCBjb3JyZXNwb25kcyB0byBjdXJyZW50CisgICAgICogdk1D
RSMgaW5qZWN0aW9uLiBXaGVuIHZNQ0UjIGlzIGZpbmlzaGVkIHByb2Nlc3NpbmcgYnkgdGhlCisg
ICAgICogdGhlIGd1ZXN0LCB0aGlzIG5vZGUgd2lsbCBiZSBkZWxldGVkLgorICAgICAqIE9ubHkg
ZXJyb3IgYmFuayBpcyB3cml0dGVuLiBOb24tZXJyb3IgYmFua3Mgc2ltcGx5IHJldHVybi4KKyAg
ICAgKi8KKyAgICBpZiAoICFsaXN0X2VtcHR5KCZ2bWNlLT5pbXBhY3RfaGVhZGVyKSApCisgICAg
ICAgIGVudHJ5ID0gbGlzdF9lbnRyeSh2bWNlLT5pbXBhY3RfaGVhZGVyLm5leHQsIHN0cnVjdCBi
YW5rX2VudHJ5LCBsaXN0KTsKKwogICAgIHN3aXRjaCAoIG1zciAmIChNU1JfSUEzMl9NQzBfQ1RM
IHwgMykgKQogICAgIHsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9DVEw6CkBAIC0yMTYsMzIgKzIy
NCwyOCBAQAogICAgICAgICAgICAgdm1jZS0+bWNpX2N0bFtiYW5rXSA9IHZhbDsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBNU1JfSUEzMl9NQzBfU1RBVFVTOgotICAgICAgICAvKiBHaXZlIHRo
ZSBmaXJzdCBlbnRyeSBvZiB0aGUgbGlzdCwgaXQgY29ycmVzcG9uZHMgdG8gY3VycmVudAotICAg
ICAgICAgKiB2TUNFIyBpbmplY3Rpb24uIFdoZW4gdk1DRSMgaXMgZmluaXNoZWQgcHJvY2Vzc2lu
ZyBieSB0aGUKLSAgICAgICAgICogdGhlIGd1ZXN0LCB0aGlzIG5vZGUgd2lsbCBiZSBkZWxldGVk
LgotICAgICAgICAgKiBPbmx5IGVycm9yIGJhbmsgaXMgd3JpdHRlbi4gTm9uLWVycm9yIGJhbmtz
IHNpbXBseSByZXR1cm4uCi0gICAgICAgICAqLwotICAgICAgICBpZiAoICFsaXN0X2VtcHR5KCZ2
bWNlLT5pbXBhY3RfaGVhZGVyKSApCisgICAgICAgIGlmICggZW50cnkgJiYgKGVudHJ5LT5iYW5r
ID09IGJhbmspICkKICAgICAgICAgewotICAgICAgICAgICAgZW50cnkgPSBsaXN0X2VudHJ5KHZt
Y2UtPmltcGFjdF9oZWFkZXIubmV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgYmFua19lbnRyeSwgbGlzdCk7Ci0gICAgICAgICAgICBpZiAoIGVudHJ5LT5iYW5rID09
IGJhbmsgKQotICAgICAgICAgICAgICAgIGVudHJ5LT5tY2lfc3RhdHVzID0gdmFsOworICAgICAg
ICAgICAgZW50cnktPm1jaV9zdGF0dXMgPSB2YWw7CiAgICAgICAgICAgICBtY2VfcHJpbnRrKE1D
RV9WRVJCT1NFLAotICAgICAgICAgICAgICAgICAgICAgICAiTUNFOiB3ciBNQyV1X1NUQVRVUyAl
IlBSSXg2NCIgaW4gdk1DRSNcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGJhbmssIHZhbCk7
CisgICAgICAgICAgICAgICAgICAgICAgICJNQ0U6IHdyIE1DJXVfU1RBVFVTICUiUFJJeDY0IiBp
biB2TUNFI1xuIiwgYmFuaywgdmFsKTsKICAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBtY2VfcHJpbnRrKE1DRV9WRVJCT1NFLAotICAgICAgICAgICAgICAgICAgICAgICAiTUNF
OiB3ciBNQyV1X1NUQVRVUyAlIlBSSXg2NCJcbiIsIGJhbmssIHZhbCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgTVNSX0lBMzJfTUMwX0FERFI6Ci0gICAgICAgIG1jZV9wcmludGsoTUNFX1FV
SUVULCAiTUNFOiBNQyV1X0FERFIgaXMgcmVhZC1vbmx5XG4iLCBiYW5rKTsKLSAgICAgICAgcmV0
ID0gLTE7CisgICAgICAgIGlmICggZW50cnkgJiYgKGVudHJ5LT5iYW5rID09IGJhbmspICkKKyAg
ICAgICAgeworICAgICAgICAgICAgZW50cnktPm1jaV9hZGRyID0gdmFsOworICAgICAgICAgICAg
bWNlX3ByaW50ayhNQ0VfVkVSQk9TRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIk1DRTogd3Ig
TUMldV9BRERSICUiUFJJeDY0IiBpbiB2TUNFI1xuIiwgYmFuaywgdmFsKTsKKyAgICAgICAgfQog
ICAgICAgICBicmVhazsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9NSVNDOgotICAgICAgICBtY2Vf
cHJpbnRrKE1DRV9RVUlFVCwgIk1DRTogTUMldV9NSVNDIGlzIHJlYWQtb25seVxuIiwgYmFuayk7
Ci0gICAgICAgIHJldCA9IC0xOworICAgICAgICBpZiAoIGVudHJ5ICYmIChlbnRyeS0+YmFuayA9
PSBiYW5rKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGVudHJ5LT5tY2lfbWlzYyA9IHZhbDsK
KyAgICAgICAgICAgIG1jZV9wcmludGsoTUNFX1ZFUkJPU0UsCisgICAgICAgICAgICAgICAgICAg
ICAgICJNQ0U6IHdyIE1DJXVfTUlTQyAlIlBSSXg2NCIgaW4gdk1DRSNcbiIsIGJhbmssIHZhbCk7
CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgc3dpdGNo
ICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICkK

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Sun May 06 12:14:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 12:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR0Lj-0001KN-Ew; Sun, 06 May 2012 12:14:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SR0Li-0001KI-IS
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 12:14:02 +0000
Received: from [85.158.138.51:28462] by server-10.bemta-3.messagelabs.com id
	C6/00-29478-90B66AF4; Sun, 06 May 2012 12:14:01 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336306439!25563449!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMTAx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11903 invoked from network); 6 May 2012 12:14:00 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-174.messagelabs.com with SMTP;
	6 May 2012 12:14:00 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 06 May 2012 05:13:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139462545"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 06 May 2012 05:13:58 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 6 May 2012 05:13:58 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Sun, 6 May 2012 20:13:49 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Jan Beulich <jbeulich@suse.com>, "keir.xen@gmail.com"
	<keir.xen@gmail.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] Fix vmce addr/misc wrmsr bug
Thread-Index: Ac0rgbB7WdDs/9mcQ9qVPfKaVnNF8Q==
Date: Sun, 6 May 2012 12:13:48 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH] Fix vmce addr/misc wrmsr bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Fix vmce addr/misc wrmsr bug

This patch fix a bug related to wrmsr vmce bank addr/misc
registers, since they are not read-only.

Intel SDM recommanded os mce driver clear bank status/addr/misc.
So guest mce driver may clear addr and misc registers.
Under such case, old vmce wrmsr logic would generate
a #GP fault at guest mce context, and make guest crash.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>

diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
--- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
+++ b/xen/arch/x86/cpu/mcheck/vmce.c	Sun May 06 03:05:20 2012 +0800
@@ -209,6 +209,14 @@
     struct domain_mca_msrs *vmce =3D dom_vmce(v->domain);
     struct bank_entry *entry =3D NULL;
=20
+    /* Give the first entry of the list, it corresponds to current
+     * vMCE# injection. When vMCE# is finished processing by the
+     * the guest, this node will be deleted.
+     * Only error bank is written. Non-error banks simply return.
+     */
+    if ( !list_empty(&vmce->impact_header) )
+        entry =3D list_entry(vmce->impact_header.next, struct bank_entry, =
list);
+
     switch ( msr & (MSR_IA32_MC0_CTL | 3) )
     {
     case MSR_IA32_MC0_CTL:
@@ -216,32 +224,28 @@
             vmce->mci_ctl[bank] =3D val;
         break;
     case MSR_IA32_MC0_STATUS:
-        /* Give the first entry of the list, it corresponds to current
-         * vMCE# injection. When vMCE# is finished processing by the
-         * the guest, this node will be deleted.
-         * Only error bank is written. Non-error banks simply return.
-         */
-        if ( !list_empty(&vmce->impact_header) )
+        if ( entry && (entry->bank =3D=3D bank) )
         {
-            entry =3D list_entry(vmce->impact_header.next,
-                               struct bank_entry, list);
-            if ( entry->bank =3D=3D bank )
-                entry->mci_status =3D val;
+            entry->mci_status =3D val;
             mce_printk(MCE_VERBOSE,
-                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
-                       bank, val);
+                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n", bank, v=
al);
         }
-        else
-            mce_printk(MCE_VERBOSE,
-                       "MCE: wr MC%u_STATUS %"PRIx64"\n", bank, val);
         break;
     case MSR_IA32_MC0_ADDR:
-        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n", bank);
-        ret =3D -1;
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_addr =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n", bank, val=
);
+        }
         break;
     case MSR_IA32_MC0_MISC:
-        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n", bank);
-        ret =3D -1;
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_misc =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n", bank, val=
);
+        }
         break;
     default:
         switch ( boot_cpu_data.x86_vendor )=

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_
Content-Type: application/octet-stream; name="vmce-bug-fix.patch"
Content-Description: vmce-bug-fix.patch
Content-Disposition: attachment; filename="vmce-bug-fix.patch"; size=3051;
	creation-date="Sat, 05 May 2012 14:42:19 GMT";
	modification-date="Sat, 05 May 2012 19:46:46 GMT"
Content-Transfer-Encoding: base64

Rml4IHZtY2UgYWRkci9taXNjIHdybXNyIGJ1ZwoKVGhpcyBwYXRjaCBmaXggYSBidWcgcmVsYXRl
ZCB0byB3cm1zciB2bWNlIGJhbmsgYWRkci9taXNjCnJlZ2lzdGVycywgc2luY2UgdGhleSBhcmUg
bm90IHJlYWQtb25seS4KCkludGVsIFNETSByZWNvbW1hbmRlZCBvcyBtY2UgZHJpdmVyIGNsZWFy
IGJhbmsgc3RhdHVzL2FkZHIvbWlzYy4KU28gZ3Vlc3QgbWNlIGRyaXZlciBtYXkgY2xlYXIgYWRk
ciBhbmQgbWlzYyByZWdpc3RlcnMuClVuZGVyIHN1Y2ggY2FzZSwgb2xkIHZtY2Ugd3Jtc3IgbG9n
aWMgd291bGQgZ2VuZXJhdGUKYSAjR1AgZmF1bHQgYXQgZ3Vlc3QgbWNlIGNvbnRleHQsIGFuZCBt
YWtlIGd1ZXN0IGNyYXNoLgoKU2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxp
dUBpbnRlbC5jb20+CgpkaWZmIC1yIDc1NWY0NDBiM2I3OCB4ZW4vYXJjaC94ODYvY3B1L21jaGVj
ay92bWNlLmMKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5jCVdlZCBBcHIgMTgg
MTg6MzM6MzYgMjAxMiArMDgwMAorKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMJ
U3VuIE1heSAwNiAwMzowNToyMCAyMDEyICswODAwCkBAIC0yMDksNiArMjA5LDE0IEBACiAgICAg
c3RydWN0IGRvbWFpbl9tY2FfbXNycyAqdm1jZSA9IGRvbV92bWNlKHYtPmRvbWFpbik7CiAgICAg
c3RydWN0IGJhbmtfZW50cnkgKmVudHJ5ID0gTlVMTDsKIAorICAgIC8qIEdpdmUgdGhlIGZpcnN0
IGVudHJ5IG9mIHRoZSBsaXN0LCBpdCBjb3JyZXNwb25kcyB0byBjdXJyZW50CisgICAgICogdk1D
RSMgaW5qZWN0aW9uLiBXaGVuIHZNQ0UjIGlzIGZpbmlzaGVkIHByb2Nlc3NpbmcgYnkgdGhlCisg
ICAgICogdGhlIGd1ZXN0LCB0aGlzIG5vZGUgd2lsbCBiZSBkZWxldGVkLgorICAgICAqIE9ubHkg
ZXJyb3IgYmFuayBpcyB3cml0dGVuLiBOb24tZXJyb3IgYmFua3Mgc2ltcGx5IHJldHVybi4KKyAg
ICAgKi8KKyAgICBpZiAoICFsaXN0X2VtcHR5KCZ2bWNlLT5pbXBhY3RfaGVhZGVyKSApCisgICAg
ICAgIGVudHJ5ID0gbGlzdF9lbnRyeSh2bWNlLT5pbXBhY3RfaGVhZGVyLm5leHQsIHN0cnVjdCBi
YW5rX2VudHJ5LCBsaXN0KTsKKwogICAgIHN3aXRjaCAoIG1zciAmIChNU1JfSUEzMl9NQzBfQ1RM
IHwgMykgKQogICAgIHsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9DVEw6CkBAIC0yMTYsMzIgKzIy
NCwyOCBAQAogICAgICAgICAgICAgdm1jZS0+bWNpX2N0bFtiYW5rXSA9IHZhbDsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBNU1JfSUEzMl9NQzBfU1RBVFVTOgotICAgICAgICAvKiBHaXZlIHRo
ZSBmaXJzdCBlbnRyeSBvZiB0aGUgbGlzdCwgaXQgY29ycmVzcG9uZHMgdG8gY3VycmVudAotICAg
ICAgICAgKiB2TUNFIyBpbmplY3Rpb24uIFdoZW4gdk1DRSMgaXMgZmluaXNoZWQgcHJvY2Vzc2lu
ZyBieSB0aGUKLSAgICAgICAgICogdGhlIGd1ZXN0LCB0aGlzIG5vZGUgd2lsbCBiZSBkZWxldGVk
LgotICAgICAgICAgKiBPbmx5IGVycm9yIGJhbmsgaXMgd3JpdHRlbi4gTm9uLWVycm9yIGJhbmtz
IHNpbXBseSByZXR1cm4uCi0gICAgICAgICAqLwotICAgICAgICBpZiAoICFsaXN0X2VtcHR5KCZ2
bWNlLT5pbXBhY3RfaGVhZGVyKSApCisgICAgICAgIGlmICggZW50cnkgJiYgKGVudHJ5LT5iYW5r
ID09IGJhbmspICkKICAgICAgICAgewotICAgICAgICAgICAgZW50cnkgPSBsaXN0X2VudHJ5KHZt
Y2UtPmltcGFjdF9oZWFkZXIubmV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgYmFua19lbnRyeSwgbGlzdCk7Ci0gICAgICAgICAgICBpZiAoIGVudHJ5LT5iYW5rID09
IGJhbmsgKQotICAgICAgICAgICAgICAgIGVudHJ5LT5tY2lfc3RhdHVzID0gdmFsOworICAgICAg
ICAgICAgZW50cnktPm1jaV9zdGF0dXMgPSB2YWw7CiAgICAgICAgICAgICBtY2VfcHJpbnRrKE1D
RV9WRVJCT1NFLAotICAgICAgICAgICAgICAgICAgICAgICAiTUNFOiB3ciBNQyV1X1NUQVRVUyAl
IlBSSXg2NCIgaW4gdk1DRSNcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGJhbmssIHZhbCk7
CisgICAgICAgICAgICAgICAgICAgICAgICJNQ0U6IHdyIE1DJXVfU1RBVFVTICUiUFJJeDY0IiBp
biB2TUNFI1xuIiwgYmFuaywgdmFsKTsKICAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBtY2VfcHJpbnRrKE1DRV9WRVJCT1NFLAotICAgICAgICAgICAgICAgICAgICAgICAiTUNF
OiB3ciBNQyV1X1NUQVRVUyAlIlBSSXg2NCJcbiIsIGJhbmssIHZhbCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgTVNSX0lBMzJfTUMwX0FERFI6Ci0gICAgICAgIG1jZV9wcmludGsoTUNFX1FV
SUVULCAiTUNFOiBNQyV1X0FERFIgaXMgcmVhZC1vbmx5XG4iLCBiYW5rKTsKLSAgICAgICAgcmV0
ID0gLTE7CisgICAgICAgIGlmICggZW50cnkgJiYgKGVudHJ5LT5iYW5rID09IGJhbmspICkKKyAg
ICAgICAgeworICAgICAgICAgICAgZW50cnktPm1jaV9hZGRyID0gdmFsOworICAgICAgICAgICAg
bWNlX3ByaW50ayhNQ0VfVkVSQk9TRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIk1DRTogd3Ig
TUMldV9BRERSICUiUFJJeDY0IiBpbiB2TUNFI1xuIiwgYmFuaywgdmFsKTsKKyAgICAgICAgfQog
ICAgICAgICBicmVhazsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9NSVNDOgotICAgICAgICBtY2Vf
cHJpbnRrKE1DRV9RVUlFVCwgIk1DRTogTUMldV9NSVNDIGlzIHJlYWQtb25seVxuIiwgYmFuayk7
Ci0gICAgICAgIHJldCA9IC0xOworICAgICAgICBpZiAoIGVudHJ5ICYmIChlbnRyeS0+YmFuayA9
PSBiYW5rKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGVudHJ5LT5tY2lfbWlzYyA9IHZhbDsK
KyAgICAgICAgICAgIG1jZV9wcmludGsoTUNFX1ZFUkJPU0UsCisgICAgICAgICAgICAgICAgICAg
ICAgICJNQ0U6IHdyIE1DJXVfTUlTQyAlIlBSSXg2NCIgaW4gdk1DRSNcbiIsIGJhbmssIHZhbCk7
CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgc3dpdGNo
ICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICkK

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC829233519F023SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Sun May 06 12:45:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 12:45:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR0pH-0001Wf-39; Sun, 06 May 2012 12:44:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bugs@humanleg.org.uk>) id 1SR0pF-0001Wa-4o
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 12:44:33 +0000
Received: from [85.158.138.51:50032] by server-8.bemta-3.messagelabs.com id
	3A/F5-24428-03276AF4; Sun, 06 May 2012 12:44:32 +0000
X-Env-Sender: bugs@humanleg.org.uk
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336308271!25504152!1
X-Originating-IP: [81.103.221.47]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18841 invoked from network); 6 May 2012 12:44:31 -0000
Received: from mtaout01-winn.ispmail.ntl.com (HELO
	mtaout01-winn.ispmail.ntl.com) (81.103.221.47)
	by server-11.tower-174.messagelabs.com with SMTP;
	6 May 2012 12:44:31 -0000
Received: from aamtaout03-winn.ispmail.ntl.com ([81.103.221.35])
	by mtaout01-winn.ispmail.ntl.com
	(InterMail vM.7.08.04.00 201-2186-134-20080326) with ESMTP id
	<20120506124430.IAYW10903.mtaout01-winn.ispmail.ntl.com@aamtaout03-winn.ispmail.ntl.com>;
	Sun, 6 May 2012 13:44:30 +0100
Received: from leclerc.lan ([81.105.12.50]) by aamtaout03-winn.ispmail.ntl.com
	(InterMail vG.3.00.04.00 201-2196-133-20080908) with ESMTP id
	<20120506124430.WXD13318.aamtaout03-winn.ispmail.ntl.com@leclerc.lan>;
	Sun, 6 May 2012 13:44:30 +0100
From: Robert Scott <bugs@humanleg.org.uk>
Organization: none
To: Jonathan Nieder <jrnieder@gmail.com>
Date: Sun, 6 May 2012 13:44:17 +0100
User-Agent: KMail/1.9.9
References: <625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E3@shsmsx502.ccr.corp.intel.com>
	<201204161905.13260.bugs@humanleg.org.uk>
	<20120417020433.GA15848@burratino>
In-Reply-To: <20120417020433.GA15848@burratino>
MIME-Version: 1.0
Content-Disposition: inline
Message-Id: <201205061344.25275.bugs@humanleg.org.uk>
X-Cloudmark-Analysis: v=1.1 cv=JvdXmxIgLJv2/GthKqHpGJEEHukvLcvELVXUanXFreg=
	c=1 sm=0 a=oafpOytrBa8A:10 a=l5_RjRQ6opQA:10 a=8nJEP1OIZ-IA:10
	a=hLW_Fef1W2nHZV0zz8kA:9 a=wPNLvfGTeEIA:10
	a=HpAAvcLHHh0Zw7uRqdWCyQ==:117
Cc: Kevin Tian <kevin.tian@intel.com>, xen-devel@lists.xensource.com,
	Fengzhe Zhang <fengzhe.zhang@intel.com>, linux-kernel@vger.kernel.org,
	Ian Campbell <Ian.Campbell@eu.citrix.com>, mingo@redhat.com,
	hpa@zytor.com, e568b31a443d@6cc2cce7af2d.anonbox.net,
	Thomas Gleixner <tglx@linutronix.de>, "Liu,
	Chuansheng" <chuansheng.liu@intel.com>, Lars Boegild Thomsen <lth@cow.dk>
Subject: Re: [Xen-devel] [regression] Ideapad S10-3 does not wake up from
	suspend
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: bugs@humanleg.org.uk
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tuesday 17 April 2012, Jonathan Nieder wrote:
> Robert Scott wrote:
> > On Sunday 15 April 2012, Jonathan Nieder wrote:
> 
> >> Lars, Robert, anon: can you try 3.4-rc2 or newer and let us know how
> >> it goes?  I suspect v3.4-rc2~24^2~4 ("x86: Preserve lazy irq disable
> >> semantics in fixup_irqs()") will fix this.
> >
> > Hmm, no, 3.4-rc2 seems to produce the same results I'm afraid.
> 
> Alas.  Does suspend-to-disk ("echo disk >/sys/power/state") have the
> same problem?  Can you get a log of the failure with
> "no_console_suspend" appended to the kernel command line, for example
> with a serial console or netconsole?

Well, for what it's worth, using a USB serial console to capture output, all you get is:

[  814.016541] PM: Syncing filesystems ... done.
[  814.018516] PM: Preparing system for mem sleep
[  814.100393] Freezing user space processes ... (elapsed 0.01 se

before it goes to sleep, and it doesn't output anything on (attempted) wakeup. Though I don't know if this is due to USB being woken up quite late or something.


robert.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 12:45:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 12:45:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR0pH-0001Wf-39; Sun, 06 May 2012 12:44:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bugs@humanleg.org.uk>) id 1SR0pF-0001Wa-4o
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 12:44:33 +0000
Received: from [85.158.138.51:50032] by server-8.bemta-3.messagelabs.com id
	3A/F5-24428-03276AF4; Sun, 06 May 2012 12:44:32 +0000
X-Env-Sender: bugs@humanleg.org.uk
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336308271!25504152!1
X-Originating-IP: [81.103.221.47]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18841 invoked from network); 6 May 2012 12:44:31 -0000
Received: from mtaout01-winn.ispmail.ntl.com (HELO
	mtaout01-winn.ispmail.ntl.com) (81.103.221.47)
	by server-11.tower-174.messagelabs.com with SMTP;
	6 May 2012 12:44:31 -0000
Received: from aamtaout03-winn.ispmail.ntl.com ([81.103.221.35])
	by mtaout01-winn.ispmail.ntl.com
	(InterMail vM.7.08.04.00 201-2186-134-20080326) with ESMTP id
	<20120506124430.IAYW10903.mtaout01-winn.ispmail.ntl.com@aamtaout03-winn.ispmail.ntl.com>;
	Sun, 6 May 2012 13:44:30 +0100
Received: from leclerc.lan ([81.105.12.50]) by aamtaout03-winn.ispmail.ntl.com
	(InterMail vG.3.00.04.00 201-2196-133-20080908) with ESMTP id
	<20120506124430.WXD13318.aamtaout03-winn.ispmail.ntl.com@leclerc.lan>;
	Sun, 6 May 2012 13:44:30 +0100
From: Robert Scott <bugs@humanleg.org.uk>
Organization: none
To: Jonathan Nieder <jrnieder@gmail.com>
Date: Sun, 6 May 2012 13:44:17 +0100
User-Agent: KMail/1.9.9
References: <625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E3@shsmsx502.ccr.corp.intel.com>
	<201204161905.13260.bugs@humanleg.org.uk>
	<20120417020433.GA15848@burratino>
In-Reply-To: <20120417020433.GA15848@burratino>
MIME-Version: 1.0
Content-Disposition: inline
Message-Id: <201205061344.25275.bugs@humanleg.org.uk>
X-Cloudmark-Analysis: v=1.1 cv=JvdXmxIgLJv2/GthKqHpGJEEHukvLcvELVXUanXFreg=
	c=1 sm=0 a=oafpOytrBa8A:10 a=l5_RjRQ6opQA:10 a=8nJEP1OIZ-IA:10
	a=hLW_Fef1W2nHZV0zz8kA:9 a=wPNLvfGTeEIA:10
	a=HpAAvcLHHh0Zw7uRqdWCyQ==:117
Cc: Kevin Tian <kevin.tian@intel.com>, xen-devel@lists.xensource.com,
	Fengzhe Zhang <fengzhe.zhang@intel.com>, linux-kernel@vger.kernel.org,
	Ian Campbell <Ian.Campbell@eu.citrix.com>, mingo@redhat.com,
	hpa@zytor.com, e568b31a443d@6cc2cce7af2d.anonbox.net,
	Thomas Gleixner <tglx@linutronix.de>, "Liu,
	Chuansheng" <chuansheng.liu@intel.com>, Lars Boegild Thomsen <lth@cow.dk>
Subject: Re: [Xen-devel] [regression] Ideapad S10-3 does not wake up from
	suspend
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: bugs@humanleg.org.uk
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tuesday 17 April 2012, Jonathan Nieder wrote:
> Robert Scott wrote:
> > On Sunday 15 April 2012, Jonathan Nieder wrote:
> 
> >> Lars, Robert, anon: can you try 3.4-rc2 or newer and let us know how
> >> it goes?  I suspect v3.4-rc2~24^2~4 ("x86: Preserve lazy irq disable
> >> semantics in fixup_irqs()") will fix this.
> >
> > Hmm, no, 3.4-rc2 seems to produce the same results I'm afraid.
> 
> Alas.  Does suspend-to-disk ("echo disk >/sys/power/state") have the
> same problem?  Can you get a log of the failure with
> "no_console_suspend" appended to the kernel command line, for example
> with a serial console or netconsole?

Well, for what it's worth, using a USB serial console to capture output, all you get is:

[  814.016541] PM: Syncing filesystems ... done.
[  814.018516] PM: Preparing system for mem sleep
[  814.100393] Freezing user space processes ... (elapsed 0.01 se

before it goes to sleep, and it doesn't output anything on (attempted) wakeup. Though I don't know if this is due to USB being woken up quite late or something.


robert.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 15:12:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 15:12:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR37z-0002T3-AD; Sun, 06 May 2012 15:12:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sillyyax@gmail.com>) id 1SR37x-0002Sy-El
	for xen-devel@lists.xen.org; Sun, 06 May 2012 15:12:01 +0000
Received: from [85.158.139.83:20290] by server-11.bemta-5.messagelabs.com id
	B5/BD-12959-0C496AF4; Sun, 06 May 2012 15:12:00 +0000
X-Env-Sender: sillyyax@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336317117!23041425!1
X-Originating-IP: [209.85.160.169]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17380 invoked from network); 6 May 2012 15:11:59 -0000
Received: from mail-gh0-f169.google.com (HELO mail-gy0-f169.google.com)
	(209.85.160.169)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 15:11:59 -0000
Received: by ghrr18 with SMTP id r18so3814833ghr.28
	for <xen-devel@lists.xen.org>; Sun, 06 May 2012 08:11:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=O5oYXHPYBIU0LeyXK7FVDYw0s+CgSXJq+qyR0zjySkE=;
	b=pZnitjBDpTh7RBR9JgmWoCm84KJi6zwg4fOlERLct56zRsjde3QW1pvPZ4+JY99Zct
	+H0FwzQ/QkXkm/Af5yXmZH5zdlAT6dVI9vXkGpB19u2bMXbniAuR3hEr9bm2DN3g6hCw
	MARwKvXs/3Zove+EDTLMNlpTLs6UliRALogRR+V8PYiUX0uRssdT+bkoq32uAOkpYqR5
	la90k4ekLOwbmowScYLMB5SIvEfE1jyxyddUPjJU6UGNF63B86hDmXwMrESaY2smsPCR
	ePE8DazFMXHA006/2vCgyUI60cXmfang6ppR9mWCj2djSuWBGcc3VwUGjpJeH7sKFq0Q
	NsXg==
MIME-Version: 1.0
Received: by 10.50.181.194 with SMTP id dy2mr6579054igc.48.1336317117344; Sun,
	06 May 2012 08:11:57 -0700 (PDT)
Received: by 10.64.62.225 with HTTP; Sun, 6 May 2012 08:11:57 -0700 (PDT)
Date: Sun, 6 May 2012 16:11:57 +0100
Message-ID: <CAGiLKYpJEo2JGyXC+r9z8DUagH1qMp0mMv70TMDn9VWzDWO9Hg@mail.gmail.com>
From: Yaqub Alwan <sillyyax@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] "UEFI firmware, Xen not detecting e820 map"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8398942041968092731=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8398942041968092731==
Content-Type: multipart/alternative; boundary=14dae934096b162dac04bf5f934f

--14dae934096b162dac04bf5f934f
Content-Type: text/plain; charset=ISO-8859-1

Hi all,

I was in the ##xen freenode channel seeking help for an issue with memory
being unrecognised above 512mb, and iommu not being detected using xen
4.1.2. The guys there determined that xen was not recognising my system
e820 map and using only the e801 map, and recommended I emailed the details
to this list. I appreciate that this list is not for technical queries, so
I do not expect any help, but write this to enable xen developers to
troubleshoot the issue for future patches.

My system is a Supermicro X9SCV-Q with 16GB of installed memory and a
2720QM CPU. The motherboard, as far as I am aware, only supports EFI
booting (I have a query with the manufacturer to find out if it supports
legacy boot).
Xen hypervisor only detects 511MB memory, but If I boot the regular linux
kernel, I get the full 16GB.

Please find the output from xm dmesg here: http://pastebin.com/a1LC2csr

Please find the output from normal linux boot dmesg here:
http://pastebin.com/CjePrLkx

You can see that native Linux kernel is finding the e820 memory map, but
xen only sees e801 map.

Please let me know if you would require more information, I shall do my
best to assist.

Kind regards,

Yaqub

--14dae934096b162dac04bf5f934f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,<br><br>I was in the ##xen freenode channel seeking help for an issu=
e with memory being unrecognised above 512mb, and iommu not being detected =
using xen 4.1.2. The guys there determined that xen was not recognising my =
system e820 map and using only the e801 map, and recommended I emailed the =
details to this list. I appreciate that this list is not for technical quer=
ies, so I do not expect any help, but write this to enable xen developers t=
o troubleshoot the issue for future patches.<br>
<br>My system is a Supermicro X9SCV-Q with 16GB of installed memory and a 2=
720QM CPU. The motherboard, as far as I am aware, only supports EFI booting=
 (I have a query with the manufacturer to find out if it supports legacy bo=
ot).<br>
Xen hypervisor only detects 511MB memory, but If I boot the regular linux k=
ernel, I get the full 16GB. <br><br>Please find the output from xm dmesg he=
re: <a href=3D"http://pastebin.com/a1LC2csr">http://pastebin.com/a1LC2csr</=
a><br>
<br>Please find the output from normal linux boot dmesg here: <a href=3D"ht=
tp://pastebin.com/CjePrLkx">http://pastebin.com/CjePrLkx</a><br><br>You can=
 see that native Linux kernel is finding the e820 memory map, but xen only =
sees e801 map.<br>
<br>Please let me know if you would require more information, I shall do my=
 best to assist.<br><br>Kind regards,<br><br>Yaqub<br>

--14dae934096b162dac04bf5f934f--


--===============8398942041968092731==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8398942041968092731==--


From xen-devel-bounces@lists.xen.org Sun May 06 15:12:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 15:12:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR37z-0002T3-AD; Sun, 06 May 2012 15:12:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sillyyax@gmail.com>) id 1SR37x-0002Sy-El
	for xen-devel@lists.xen.org; Sun, 06 May 2012 15:12:01 +0000
Received: from [85.158.139.83:20290] by server-11.bemta-5.messagelabs.com id
	B5/BD-12959-0C496AF4; Sun, 06 May 2012 15:12:00 +0000
X-Env-Sender: sillyyax@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336317117!23041425!1
X-Originating-IP: [209.85.160.169]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17380 invoked from network); 6 May 2012 15:11:59 -0000
Received: from mail-gh0-f169.google.com (HELO mail-gy0-f169.google.com)
	(209.85.160.169)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 15:11:59 -0000
Received: by ghrr18 with SMTP id r18so3814833ghr.28
	for <xen-devel@lists.xen.org>; Sun, 06 May 2012 08:11:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=O5oYXHPYBIU0LeyXK7FVDYw0s+CgSXJq+qyR0zjySkE=;
	b=pZnitjBDpTh7RBR9JgmWoCm84KJi6zwg4fOlERLct56zRsjde3QW1pvPZ4+JY99Zct
	+H0FwzQ/QkXkm/Af5yXmZH5zdlAT6dVI9vXkGpB19u2bMXbniAuR3hEr9bm2DN3g6hCw
	MARwKvXs/3Zove+EDTLMNlpTLs6UliRALogRR+V8PYiUX0uRssdT+bkoq32uAOkpYqR5
	la90k4ekLOwbmowScYLMB5SIvEfE1jyxyddUPjJU6UGNF63B86hDmXwMrESaY2smsPCR
	ePE8DazFMXHA006/2vCgyUI60cXmfang6ppR9mWCj2djSuWBGcc3VwUGjpJeH7sKFq0Q
	NsXg==
MIME-Version: 1.0
Received: by 10.50.181.194 with SMTP id dy2mr6579054igc.48.1336317117344; Sun,
	06 May 2012 08:11:57 -0700 (PDT)
Received: by 10.64.62.225 with HTTP; Sun, 6 May 2012 08:11:57 -0700 (PDT)
Date: Sun, 6 May 2012 16:11:57 +0100
Message-ID: <CAGiLKYpJEo2JGyXC+r9z8DUagH1qMp0mMv70TMDn9VWzDWO9Hg@mail.gmail.com>
From: Yaqub Alwan <sillyyax@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] "UEFI firmware, Xen not detecting e820 map"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8398942041968092731=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8398942041968092731==
Content-Type: multipart/alternative; boundary=14dae934096b162dac04bf5f934f

--14dae934096b162dac04bf5f934f
Content-Type: text/plain; charset=ISO-8859-1

Hi all,

I was in the ##xen freenode channel seeking help for an issue with memory
being unrecognised above 512mb, and iommu not being detected using xen
4.1.2. The guys there determined that xen was not recognising my system
e820 map and using only the e801 map, and recommended I emailed the details
to this list. I appreciate that this list is not for technical queries, so
I do not expect any help, but write this to enable xen developers to
troubleshoot the issue for future patches.

My system is a Supermicro X9SCV-Q with 16GB of installed memory and a
2720QM CPU. The motherboard, as far as I am aware, only supports EFI
booting (I have a query with the manufacturer to find out if it supports
legacy boot).
Xen hypervisor only detects 511MB memory, but If I boot the regular linux
kernel, I get the full 16GB.

Please find the output from xm dmesg here: http://pastebin.com/a1LC2csr

Please find the output from normal linux boot dmesg here:
http://pastebin.com/CjePrLkx

You can see that native Linux kernel is finding the e820 memory map, but
xen only sees e801 map.

Please let me know if you would require more information, I shall do my
best to assist.

Kind regards,

Yaqub

--14dae934096b162dac04bf5f934f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,<br><br>I was in the ##xen freenode channel seeking help for an issu=
e with memory being unrecognised above 512mb, and iommu not being detected =
using xen 4.1.2. The guys there determined that xen was not recognising my =
system e820 map and using only the e801 map, and recommended I emailed the =
details to this list. I appreciate that this list is not for technical quer=
ies, so I do not expect any help, but write this to enable xen developers t=
o troubleshoot the issue for future patches.<br>
<br>My system is a Supermicro X9SCV-Q with 16GB of installed memory and a 2=
720QM CPU. The motherboard, as far as I am aware, only supports EFI booting=
 (I have a query with the manufacturer to find out if it supports legacy bo=
ot).<br>
Xen hypervisor only detects 511MB memory, but If I boot the regular linux k=
ernel, I get the full 16GB. <br><br>Please find the output from xm dmesg he=
re: <a href=3D"http://pastebin.com/a1LC2csr">http://pastebin.com/a1LC2csr</=
a><br>
<br>Please find the output from normal linux boot dmesg here: <a href=3D"ht=
tp://pastebin.com/CjePrLkx">http://pastebin.com/CjePrLkx</a><br><br>You can=
 see that native Linux kernel is finding the e820 memory map, but xen only =
sees e801 map.<br>
<br>Please let me know if you would require more information, I shall do my=
 best to assist.<br><br>Kind regards,<br><br>Yaqub<br>

--14dae934096b162dac04bf5f934f--


--===============8398942041968092731==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8398942041968092731==--


From xen-devel-bounces@lists.xen.org Sun May 06 15:24:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 15:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR3JL-0002cy-FF; Sun, 06 May 2012 15:23:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SR3JK-0002ct-8u
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 15:23:46 +0000
Received: from [85.158.143.99:2919] by server-1.bemta-4.messagelabs.com id
	DA/75-20925-18796AF4; Sun, 06 May 2012 15:23:45 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336317823!16944788!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzczODI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17240 invoked from network); 6 May 2012 15:23:44 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 6 May 2012 15:23:44 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id B1D491EAA;
	Sun,  6 May 2012 18:23:41 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 6F114EC027; Sun,  6 May 2012 18:23:41 +0300 (EEST)
Date: Sun, 6 May 2012 18:23:41 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120506152341.GX2058@reaktio.net>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120426170426.GI26830@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120426170426.GI26830@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, 2012 at 01:04:26PM -0400, Konrad Rzeszutek Wilk wrote:
> > >>
> > >> This I would take as C3 and C6 really not being used and the frequency scaling
> > > 
> > > To go in deeper modes there is also a need to backport a Xen unstable
> > > hypercall which will allow the kernel to detect the other states besides
> > > C0-C2.
> > > 
> > > "XEN_SET_PDC query was implemented in c/s 23783:
> > >     "ACPI: add _PDC input override mechanism".
> > >     
> > 
> > I see. There is a kernel patch about enabling MWAIT that refers to that...
> 
> Yeah, I should see about back-porting it in Xen 4.1..
> 

Should this patch be backported and merged to xen-4.1-testing.hg for Xen 4.1.3 release ? 

Thanks,

-- Pasi



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 15:24:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 15:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR3JL-0002cy-FF; Sun, 06 May 2012 15:23:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SR3JK-0002ct-8u
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 15:23:46 +0000
Received: from [85.158.143.99:2919] by server-1.bemta-4.messagelabs.com id
	DA/75-20925-18796AF4; Sun, 06 May 2012 15:23:45 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336317823!16944788!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzczODI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17240 invoked from network); 6 May 2012 15:23:44 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 6 May 2012 15:23:44 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id B1D491EAA;
	Sun,  6 May 2012 18:23:41 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 6F114EC027; Sun,  6 May 2012 18:23:41 +0300 (EEST)
Date: Sun, 6 May 2012 18:23:41 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120506152341.GX2058@reaktio.net>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120426170426.GI26830@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120426170426.GI26830@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>, Stefan Bader <stefan.bader@canonical.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, 2012 at 01:04:26PM -0400, Konrad Rzeszutek Wilk wrote:
> > >>
> > >> This I would take as C3 and C6 really not being used and the frequency scaling
> > > 
> > > To go in deeper modes there is also a need to backport a Xen unstable
> > > hypercall which will allow the kernel to detect the other states besides
> > > C0-C2.
> > > 
> > > "XEN_SET_PDC query was implemented in c/s 23783:
> > >     "ACPI: add _PDC input override mechanism".
> > >     
> > 
> > I see. There is a kernel patch about enabling MWAIT that refers to that...
> 
> Yeah, I should see about back-porting it in Xen 4.1..
> 

Should this patch be backported and merged to xen-4.1-testing.hg for Xen 4.1.3 release ? 

Thanks,

-- Pasi



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 17:23:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 17:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR5AL-0003rC-5G; Sun, 06 May 2012 17:22:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vhpc.dist@gmail.com>) id 1SR5AJ-0003r3-Qa
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 17:22:36 +0000
Received: from [85.158.143.99:33876] by server-2.bemta-4.messagelabs.com id
	90/CB-17550-B53B6AF4; Sun, 06 May 2012 17:22:35 +0000
X-Env-Sender: vhpc.dist@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336324950!23353311!1
X-Originating-IP: [209.85.210.47]
X-SpamReason: No, hits=1.7 required=7.0 tests=INFO_TLD,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19223 invoked from network); 6 May 2012 17:22:32 -0000
Received: from mail-pz0-f47.google.com (HELO mail-pz0-f47.google.com)
	(209.85.210.47)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 17:22:32 -0000
Received: by dalh21 with SMTP id h21so5661615dal.6
	for <multiple recipients>; Sun, 06 May 2012 10:22:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=2EMWtPczTKE2wwm5BzOPswJX9/qXDlemqHKdc3sUpAc=;
	b=iOwSOCdVCkY/WItVpiUcuAN5WDeRxZbb1FS9/dGxBr4GFQIwf8u6zHGvpLae4yuWSU
	7ej0PCWhF/+0uRU7bUYG6fsq25ODhJYuZNLUAo2/dDjD8AyUe2nI9mSLQ6G4YCZS0Vyp
	JfWSLOF7WSov6Y6KC2Lw0RIXTerAuvssqVWtXWd74yeqoPc2FlK3Lqp5aA+RUbOT2x97
	DMl0dKJc8rC3Of/JRL1X8XUojBUpVmKgvd7sU1SP3vc7amrjG0Uy69NRz1pvvLPuxLFg
	WP6xpTtss2wzZbnxvOQQU86UWvQrKM1VDklQxoh38urYQpHI1rpLxF4MZ3HxqdVL24YB
	/Npw==
MIME-Version: 1.0
Received: by 10.68.224.36 with SMTP id qz4mr7804250pbc.69.1336324949757; Sun,
	06 May 2012 10:22:29 -0700 (PDT)
Received: by 10.68.223.1 with HTTP; Sun, 6 May 2012 10:22:29 -0700 (PDT)
Date: Sun, 6 May 2012 19:22:29 +0200
Message-ID: <CAF05tLOpis3s22ZM=jFm+jf35dvkz1rT9Vf4h1XSm3GRDgz_ZA@mail.gmail.com>
From: VHPC 12 <vhpc.dist@gmail.com>
To: xen-devel@lists.xensource.com, xen-users@lists.xensource.com
Subject: [Xen-devel] Submission Deadline Extension
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

we apologize if you receive multiple copies of this CFP

===================================================================

CALL FOR PAPERS

7th Workshop on

Virtualization in High-Performance Cloud Computing

VHPC '12

as part of Euro-Par 2012, Rhodes Island, Greece

===================================================================

Date: August 28, 2012

Workshop URL: http://vhpc.org

SUBMISSION DEADLINE:

June 11, 2012 - Full paper submission (extended)


SCOPE:

Virtualization has become a common abstraction layer in modern
data centers, enabling resource owners to manage complex
infrastructure independently of their applications. Conjointly,
virtualization is becoming a driving technology for a manifold of
industry grade IT services. The cloud concept includes the notion
of a separation between resource owners and users, adding  services
such as hosted application frameworks and queueing. Utilizing the
same infrastructure, clouds carry significant potential for use in
high-performance scientific computing. The ability of clouds to provide
for requests and releases of vast computing resources dynamically and
close to the marginal cost of providing the services is unprecedented in
the history of scientific and commercial computing.

Distributed computing concepts that leverage federated resource
access are popular within the grid community, but have not seen
previously desired deployed levels so far. Also, many of the scientific
data centers have not adopted virtualization or cloud concepts yet.

This workshop aims to bring together industrial providers with the
scientific community in order to foster discussion, collaboration
and mutual exchange of knowledge and experience.

The workshop will be one day in length, composed of 20 min
paper presentations, each followed by 10 min discussion sections.
Presentations may be accompanied by interactive demonstrations.


TOPICS

Topics of interest include, but are not limited to:

Higher-level cloud architectures, focusing on issues such as:
- Languages for describing highly-distributed compute jobs
- Workload characterization for VM-based environments
- Optimized communication libraries/protocols in the cloud
- Cross-layer optimization of numeric algorithms on VM infrastructure
- System and process/bytecode VM convergence
- Cloud frameworks and API sets
- Checkpointing/migration of large compute jobs
- Instrumentation interfaces and languages
- VMM performance (auto-)tuning on various load types
- Cloud reliability, fault-tolerance, and security
- Software as a Service (SaaS) architectures
- Research and education use cases
- Virtualization in cloud, cluster and grid environments
- Cross-layer VM optimizations
- Cloud use cases including optimizations
- VM-based cloud performance modelling
- Performance and cost modelling

Lower-level design challenges for Hypervisors, VM-aware I/O devices,
hardware accelerators or filesystems in VM environments, especially:
- Cloud, grid and distributed filesystems
- Hardware for I/O virtualization (storage/network/accelerators)
- Storage and network I/O subsystems in virtualized environments
- Novel software approaches to I/O virtualization
- Paravirtualized I/O subsystems for modified/unmodified guests
- Virtualization-aware cluster interconnects
- Direct device assignment
- NUMA-aware subsystems in virtualized environments
- Hardware Accelerators in virtualization (GPUs/FPGAs)
- Hardware extensions for virtualization
- VMMs/Hypervisors for embedded systems

Data Center management methods, including:
- QoS and and service levels
- VM cloud and cluster distribution algorithms
- VM load-balancing in Clouds
- Hypervisor extensions and tools for cluster and grid computing
- Fault tolerant VM environments
- Virtual machine monitor platforms
- Management, deployment and monitoring of VM-based environments
- Cluster provisioning in the Cloud


PAPER SUBMISSION

Papers submitted to the workshop will be reviewed by at least two
members of the program committee and external reviewers. Submissions
should include abstract, key words, the e-mail address of the
corresponding author, and must not exceed 10 pages, including tables
and figures at a main font size no smaller than 11 point. Submission
of a paper should be regarded as a commitment that, should the paper
be accepted, at least one of the authors will register and attend the
conference to present the work.

Accepted papers will be published in the Springer LNCS series - the
format must be according to the Springer LNCS Style. Initial
submissions are in PDF; authors of accepted papers will be requested
to provide source files.

Format Guidelines: http://www.springer.de/comp/lncs/authors.html
Style template:
ftp://ftp.springer.de/pub/tex/latex/llncs/latex2e/llncs2e.zip
Abstract Submission Link: http://edas.info/newPaper.php?c=11943


IMPORTANT DATES

Rolling abstract submission
June 11, 2012 - Full paper submission (extended)
June 29, 2012 - Acceptance notification
July 20, 2012 - Camera-ready version due
August 28, 2012 - Workshop Date


CHAIR

Michael Alexander (chair), TU Wien, Austria
Gianluigi Zanetti (co-chair), CRS4, Italy
Anastassios Nanos (co-chair), NTUA, Greece


PROGRAM COMMITTEE

Paolo Anedda, CRS4, Italy
Giovanni Busonera, CRS4, Italy
Brad Calder, Microsoft, USA
Roberto Canonico, University of Napoli Federico II, Italy
Tommaso Cucinotta, Alcatel-Lucent Bell Labs, Ireland
Werner Fischer, Thomas-Krenn AG, Germany
William Gardner, University of Guelph, USA
Marcus Hardt, Forschungszentrum Karlsruhe, Germany
Sverre Jarp, CERN, Switzerland
Shantenu Jha, Louisiana State University, USA
Xuxian Jiang, NC State, USA
Nectarios Koziris, National Technical University of Athens, Greece
Simone Leo, CRS4, Italy
Ignacio Llorente, Universidad Complutense de Madrid, Spain
Naoya Maruyama, Tokyo Institute of Technology, Japan
Jean-Marc Menaud, Ecole des Mines de Nantes, France
Dimitrios Nikolopoulos, Foundation for Research&Technology Hellas, Greece
Jose Renato Santos, HP Labs, USA
Walter Schwaiger, TU Wien, Austria
Yoshio Turner, HP Labs, USA
Kurt Tutschku, University of Vienna, Austria
Lizhe Wang, Indiana University, USA
Chao-Tung Yang, Tunghai University, Taiwan


DURATION: Workshop Duration is one day.


GENERAL INFORMATION

The workshop will be held as part of Euro-Par 2012.

Euro-Par 2012: http://europar2012.cti.gr/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 17:23:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 17:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR5AL-0003rC-5G; Sun, 06 May 2012 17:22:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vhpc.dist@gmail.com>) id 1SR5AJ-0003r3-Qa
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 17:22:36 +0000
Received: from [85.158.143.99:33876] by server-2.bemta-4.messagelabs.com id
	90/CB-17550-B53B6AF4; Sun, 06 May 2012 17:22:35 +0000
X-Env-Sender: vhpc.dist@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336324950!23353311!1
X-Originating-IP: [209.85.210.47]
X-SpamReason: No, hits=1.7 required=7.0 tests=INFO_TLD,
	ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19223 invoked from network); 6 May 2012 17:22:32 -0000
Received: from mail-pz0-f47.google.com (HELO mail-pz0-f47.google.com)
	(209.85.210.47)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 17:22:32 -0000
Received: by dalh21 with SMTP id h21so5661615dal.6
	for <multiple recipients>; Sun, 06 May 2012 10:22:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=2EMWtPczTKE2wwm5BzOPswJX9/qXDlemqHKdc3sUpAc=;
	b=iOwSOCdVCkY/WItVpiUcuAN5WDeRxZbb1FS9/dGxBr4GFQIwf8u6zHGvpLae4yuWSU
	7ej0PCWhF/+0uRU7bUYG6fsq25ODhJYuZNLUAo2/dDjD8AyUe2nI9mSLQ6G4YCZS0Vyp
	JfWSLOF7WSov6Y6KC2Lw0RIXTerAuvssqVWtXWd74yeqoPc2FlK3Lqp5aA+RUbOT2x97
	DMl0dKJc8rC3Of/JRL1X8XUojBUpVmKgvd7sU1SP3vc7amrjG0Uy69NRz1pvvLPuxLFg
	WP6xpTtss2wzZbnxvOQQU86UWvQrKM1VDklQxoh38urYQpHI1rpLxF4MZ3HxqdVL24YB
	/Npw==
MIME-Version: 1.0
Received: by 10.68.224.36 with SMTP id qz4mr7804250pbc.69.1336324949757; Sun,
	06 May 2012 10:22:29 -0700 (PDT)
Received: by 10.68.223.1 with HTTP; Sun, 6 May 2012 10:22:29 -0700 (PDT)
Date: Sun, 6 May 2012 19:22:29 +0200
Message-ID: <CAF05tLOpis3s22ZM=jFm+jf35dvkz1rT9Vf4h1XSm3GRDgz_ZA@mail.gmail.com>
From: VHPC 12 <vhpc.dist@gmail.com>
To: xen-devel@lists.xensource.com, xen-users@lists.xensource.com
Subject: [Xen-devel] Submission Deadline Extension
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

we apologize if you receive multiple copies of this CFP

===================================================================

CALL FOR PAPERS

7th Workshop on

Virtualization in High-Performance Cloud Computing

VHPC '12

as part of Euro-Par 2012, Rhodes Island, Greece

===================================================================

Date: August 28, 2012

Workshop URL: http://vhpc.org

SUBMISSION DEADLINE:

June 11, 2012 - Full paper submission (extended)


SCOPE:

Virtualization has become a common abstraction layer in modern
data centers, enabling resource owners to manage complex
infrastructure independently of their applications. Conjointly,
virtualization is becoming a driving technology for a manifold of
industry grade IT services. The cloud concept includes the notion
of a separation between resource owners and users, adding  services
such as hosted application frameworks and queueing. Utilizing the
same infrastructure, clouds carry significant potential for use in
high-performance scientific computing. The ability of clouds to provide
for requests and releases of vast computing resources dynamically and
close to the marginal cost of providing the services is unprecedented in
the history of scientific and commercial computing.

Distributed computing concepts that leverage federated resource
access are popular within the grid community, but have not seen
previously desired deployed levels so far. Also, many of the scientific
data centers have not adopted virtualization or cloud concepts yet.

This workshop aims to bring together industrial providers with the
scientific community in order to foster discussion, collaboration
and mutual exchange of knowledge and experience.

The workshop will be one day in length, composed of 20 min
paper presentations, each followed by 10 min discussion sections.
Presentations may be accompanied by interactive demonstrations.


TOPICS

Topics of interest include, but are not limited to:

Higher-level cloud architectures, focusing on issues such as:
- Languages for describing highly-distributed compute jobs
- Workload characterization for VM-based environments
- Optimized communication libraries/protocols in the cloud
- Cross-layer optimization of numeric algorithms on VM infrastructure
- System and process/bytecode VM convergence
- Cloud frameworks and API sets
- Checkpointing/migration of large compute jobs
- Instrumentation interfaces and languages
- VMM performance (auto-)tuning on various load types
- Cloud reliability, fault-tolerance, and security
- Software as a Service (SaaS) architectures
- Research and education use cases
- Virtualization in cloud, cluster and grid environments
- Cross-layer VM optimizations
- Cloud use cases including optimizations
- VM-based cloud performance modelling
- Performance and cost modelling

Lower-level design challenges for Hypervisors, VM-aware I/O devices,
hardware accelerators or filesystems in VM environments, especially:
- Cloud, grid and distributed filesystems
- Hardware for I/O virtualization (storage/network/accelerators)
- Storage and network I/O subsystems in virtualized environments
- Novel software approaches to I/O virtualization
- Paravirtualized I/O subsystems for modified/unmodified guests
- Virtualization-aware cluster interconnects
- Direct device assignment
- NUMA-aware subsystems in virtualized environments
- Hardware Accelerators in virtualization (GPUs/FPGAs)
- Hardware extensions for virtualization
- VMMs/Hypervisors for embedded systems

Data Center management methods, including:
- QoS and and service levels
- VM cloud and cluster distribution algorithms
- VM load-balancing in Clouds
- Hypervisor extensions and tools for cluster and grid computing
- Fault tolerant VM environments
- Virtual machine monitor platforms
- Management, deployment and monitoring of VM-based environments
- Cluster provisioning in the Cloud


PAPER SUBMISSION

Papers submitted to the workshop will be reviewed by at least two
members of the program committee and external reviewers. Submissions
should include abstract, key words, the e-mail address of the
corresponding author, and must not exceed 10 pages, including tables
and figures at a main font size no smaller than 11 point. Submission
of a paper should be regarded as a commitment that, should the paper
be accepted, at least one of the authors will register and attend the
conference to present the work.

Accepted papers will be published in the Springer LNCS series - the
format must be according to the Springer LNCS Style. Initial
submissions are in PDF; authors of accepted papers will be requested
to provide source files.

Format Guidelines: http://www.springer.de/comp/lncs/authors.html
Style template:
ftp://ftp.springer.de/pub/tex/latex/llncs/latex2e/llncs2e.zip
Abstract Submission Link: http://edas.info/newPaper.php?c=11943


IMPORTANT DATES

Rolling abstract submission
June 11, 2012 - Full paper submission (extended)
June 29, 2012 - Acceptance notification
July 20, 2012 - Camera-ready version due
August 28, 2012 - Workshop Date


CHAIR

Michael Alexander (chair), TU Wien, Austria
Gianluigi Zanetti (co-chair), CRS4, Italy
Anastassios Nanos (co-chair), NTUA, Greece


PROGRAM COMMITTEE

Paolo Anedda, CRS4, Italy
Giovanni Busonera, CRS4, Italy
Brad Calder, Microsoft, USA
Roberto Canonico, University of Napoli Federico II, Italy
Tommaso Cucinotta, Alcatel-Lucent Bell Labs, Ireland
Werner Fischer, Thomas-Krenn AG, Germany
William Gardner, University of Guelph, USA
Marcus Hardt, Forschungszentrum Karlsruhe, Germany
Sverre Jarp, CERN, Switzerland
Shantenu Jha, Louisiana State University, USA
Xuxian Jiang, NC State, USA
Nectarios Koziris, National Technical University of Athens, Greece
Simone Leo, CRS4, Italy
Ignacio Llorente, Universidad Complutense de Madrid, Spain
Naoya Maruyama, Tokyo Institute of Technology, Japan
Jean-Marc Menaud, Ecole des Mines de Nantes, France
Dimitrios Nikolopoulos, Foundation for Research&Technology Hellas, Greece
Jose Renato Santos, HP Labs, USA
Walter Schwaiger, TU Wien, Austria
Yoshio Turner, HP Labs, USA
Kurt Tutschku, University of Vienna, Austria
Lizhe Wang, Indiana University, USA
Chao-Tung Yang, Tunghai University, Taiwan


DURATION: Workshop Duration is one day.


GENERAL INFORMATION

The workshop will be held as part of Euro-Par 2012.

Euro-Par 2012: http://europar2012.cti.gr/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 21:27:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 21:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR8yt-00056G-HA; Sun, 06 May 2012 21:27:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SR8ys-00056B-2o
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 21:27:02 +0000
Received: from [85.158.138.51:55395] by server-9.bemta-3.messagelabs.com id
	AF/18-26691-5ACE6AF4; Sun, 06 May 2012 21:27:01 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336339620!25497073!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5907 invoked from network); 6 May 2012 21:27:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 21:27:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12319406"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 21:26:59 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sun, 6 May 2012 22:26:59 +0100
Date: Sun, 6 May 2012 22:23:37 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120506212337.GA15262@eire.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
	<1336296147.5933.5.camel@cthulhu.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336296147.5933.5.camel@cthulhu.hellion.org.uk>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 06 May 2012, Ian Campbell wrote:

> I've tried reproducing using your config file with the patch applied and
> I can't.
> 
> > [...]
> > This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
> > which gets triggered from an erroneous b_info->type with a bogus value 
> > of 0x84 (which is neither PV nor HVM.)
> 
> I think it might be useful to sprinkle prints of b_info->type everywhere
> from the call to libxl_domain_build_info_init_type up until this switch
> statement to see if you can identify the line which is overwriting this
> field. I couldn't spot it by eye but something in there is presumably
> blowing off the end of a buffer or something similar.
> 
> You should probably also validate the initial value, which comes from
> c_info->type, and if that is wrong trace it back to the place which sets
> that initial value.

Running 'make install' after various attempts seems to have done it. 

I was all along under the impression that the dynamic linker would 
pick the libxenlight in the current dir, which is why I hadn't run 
'make install' every so often, but did instead occasionally run 'make 
clean all' Coming to think of it, if the DLD was to pick the library 
from the current directory, a world of security bugs and pain would 
ensue, but for some reason I kept expecting the behaviour to be that.

Thanks though!

Goncalo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 06 21:27:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 06 May 2012 21:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SR8yt-00056G-HA; Sun, 06 May 2012 21:27:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SR8ys-00056B-2o
	for xen-devel@lists.xensource.com; Sun, 06 May 2012 21:27:02 +0000
Received: from [85.158.138.51:55395] by server-9.bemta-3.messagelabs.com id
	AF/18-26691-5ACE6AF4; Sun, 06 May 2012 21:27:01 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336339620!25497073!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ4Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5907 invoked from network); 6 May 2012 21:27:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	6 May 2012 21:27:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12319406"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	06 May 2012 21:26:59 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sun, 6 May 2012 22:26:59 +0100
Date: Sun, 6 May 2012 22:23:37 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120506212337.GA15262@eire.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
	<1336296147.5933.5.camel@cthulhu.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336296147.5933.5.camel@cthulhu.hellion.org.uk>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 06 May 2012, Ian Campbell wrote:

> I've tried reproducing using your config file with the patch applied and
> I can't.
> 
> > [...]
> > This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
> > which gets triggered from an erroneous b_info->type with a bogus value 
> > of 0x84 (which is neither PV nor HVM.)
> 
> I think it might be useful to sprinkle prints of b_info->type everywhere
> from the call to libxl_domain_build_info_init_type up until this switch
> statement to see if you can identify the line which is overwriting this
> field. I couldn't spot it by eye but something in there is presumably
> blowing off the end of a buffer or something similar.
> 
> You should probably also validate the initial value, which comes from
> c_info->type, and if that is wrong trace it back to the place which sets
> that initial value.

Running 'make install' after various attempts seems to have done it. 

I was all along under the impression that the dynamic linker would 
pick the libxenlight in the current dir, which is why I hadn't run 
'make install' every so often, but did instead occasionally run 'make 
clean all' Coming to think of it, if the DLD was to pick the library 
from the current directory, a world of security bugs and pain would 
ensue, but for some reason I kept expecting the behaviour to be that.

Thanks though!

Goncalo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcS-0002Zd-JB; Mon, 07 May 2012 02:24:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002YW-BG
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:55191] by server-7.bemta-3.messagelabs.com id
	20/4E-03078-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20777 invoked from network); 7 May 2012 02:24:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320403"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: c2ed845386befd621e7433d5f3694c8e61622282
Message-ID: <c2ed845386befd621e74.1336353621@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:21 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 6 of 6] xl: extend the help options of the
 create and restore commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r ed41714d9ce9 -r c2ed845386be tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/xl_cmdtable.c	Mon May 07 01:10:58 2012 +0000
@@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
       "-n, --dryrun            Dry run - prints the resulting configuration\n"
       "                         (deprecated in favour of global -N option).\n"
       "-d                      Enable debug messages.\n"
-      "-e                      Do not wait in the background for the death of the domain."
+      "-e                      Do not wait in the background for the death of the domain.\n"
+      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
+      "-A, --vncviewer-autopass\n"
+      "                        Pass VNC password to viewer via stdin."
     },
     { "config-update",
       &main_config_update, 1,
@@ -147,7 +150,9 @@ struct cmd_spec cmd_table[] = {
       "-h  Print this help.\n"
       "-p  Do not unpause domain after restoring it.\n"
       "-e  Do not wait in the background for the death of the domain.\n"
-      "-d  Enable debug messages."
+      "-d  Enable debug messages.\n"
+      "-V  Connect to the VNC display after the domain is created.\n"
+      "-A  Pass VNC password to viewer via stdin."
     },
     { "migrate-receive",
       &main_migrate_receive, 0,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcS-0002Zd-JB; Mon, 07 May 2012 02:24:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002YW-BG
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:55191] by server-7.bemta-3.messagelabs.com id
	20/4E-03078-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20777 invoked from network); 7 May 2012 02:24:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320403"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: c2ed845386befd621e7433d5f3694c8e61622282
Message-ID: <c2ed845386befd621e74.1336353621@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:21 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 6 of 6] xl: extend the help options of the
 create and restore commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r ed41714d9ce9 -r c2ed845386be tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/xl_cmdtable.c	Mon May 07 01:10:58 2012 +0000
@@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
       "-n, --dryrun            Dry run - prints the resulting configuration\n"
       "                         (deprecated in favour of global -N option).\n"
       "-d                      Enable debug messages.\n"
-      "-e                      Do not wait in the background for the death of the domain."
+      "-e                      Do not wait in the background for the death of the domain.\n"
+      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
+      "-A, --vncviewer-autopass\n"
+      "                        Pass VNC password to viewer via stdin."
     },
     { "config-update",
       &main_config_update, 1,
@@ -147,7 +150,9 @@ struct cmd_spec cmd_table[] = {
       "-h  Print this help.\n"
       "-p  Do not unpause domain after restoring it.\n"
       "-e  Do not wait in the background for the death of the domain.\n"
-      "-d  Enable debug messages."
+      "-d  Enable debug messages.\n"
+      "-V  Connect to the VNC display after the domain is created.\n"
+      "-A  Pass VNC password to viewer via stdin."
     },
     { "migrate-receive",
       &main_migrate_receive, 0,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcS-0002Zo-Vb; Mon, 07 May 2012 02:24:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002Yg-LZ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.139.83:61276] by server-5.bemta-5.messagelabs.com id
	61/6E-13566-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336357447!15768639!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19373 invoked from network); 7 May 2012 02:24:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320401"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: 0663afbb57f586cea07ff916d34cb8f56f633942
Message-ID: <0663afbb57f586cea07f.1336353619@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:19 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 4 of 6] xl: move vncviewer function closer to
 the start of file so it can be seen by create_domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 497a6061df08 -r 0663afbb57f5 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
@@ -186,6 +186,14 @@ static void find_domain(const char *p)
     common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
 }
 
+static int vncviewer(const char *domain_spec, int autopass)
+{
+    find_domain(domain_spec);
+    libxl_vncviewer_exec(ctx, domid, autopass);
+    fprintf(stderr, "Unable to execute vncviewer\n");
+    return 1;
+}
+
 static int acquire_lock(void)
 {
     int rc;
@@ -2170,14 +2178,6 @@ int main_console(int argc, char **argv)
     return 1;
 }
 
-static int vncviewer(const char *domain_spec, int autopass)
-{
-    find_domain(domain_spec);
-    libxl_vncviewer_exec(ctx, domid, autopass);
-    fprintf(stderr, "Unable to execute vncviewer\n");
-    return 1;
-}
-
 int main_vncviewer(int argc, char **argv)
 {
     static const struct option long_options[] = {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcS-0002Zo-Vb; Mon, 07 May 2012 02:24:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002Yg-LZ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.139.83:61276] by server-5.bemta-5.messagelabs.com id
	61/6E-13566-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336357447!15768639!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19373 invoked from network); 7 May 2012 02:24:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320401"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: 0663afbb57f586cea07ff916d34cb8f56f633942
Message-ID: <0663afbb57f586cea07f.1336353619@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:19 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 4 of 6] xl: move vncviewer function closer to
 the start of file so it can be seen by create_domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 497a6061df08 -r 0663afbb57f5 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
@@ -186,6 +186,14 @@ static void find_domain(const char *p)
     common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
 }
 
+static int vncviewer(const char *domain_spec, int autopass)
+{
+    find_domain(domain_spec);
+    libxl_vncviewer_exec(ctx, domid, autopass);
+    fprintf(stderr, "Unable to execute vncviewer\n");
+    return 1;
+}
+
 static int acquire_lock(void)
 {
     int rc;
@@ -2170,14 +2178,6 @@ int main_console(int argc, char **argv)
     return 1;
 }
 
-static int vncviewer(const char *domain_spec, int autopass)
-{
-    find_domain(domain_spec);
-    libxl_vncviewer_exec(ctx, domid, autopass);
-    fprintf(stderr, "Unable to execute vncviewer\n");
-    return 1;
-}
-
 int main_vncviewer(int argc, char **argv)
 {
     static const struct option long_options[] = {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcS-0002ZW-6u; Mon, 07 May 2012 02:24:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002YU-7T
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:55209] by server-11.bemta-3.messagelabs.com id
	96/DC-18894-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20768 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320402"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: ed41714d9ce9bc73b792782299ada259c7763db6
Message-ID: <ed41714d9ce9bc73b792.1336353620@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:20 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 5 of 6] xl: Add vncviewer options to create and
	restore
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 0663afbb57f5 -r ed41714d9ce9 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
@@ -736,6 +736,7 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
         b_info->rtc_timeoffset = l;
 
+    xlu_cfg_get_defbool(config, "vncviewer", &b_info->vncviewer, 0);
     xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
 
     if (!xlu_cfg_get_long (config, "videoram", &l, 0))
@@ -1414,6 +1415,8 @@ struct domain_create {
     int paused;
     int dryrun;
     int quiet;
+    int vnc;
+    int vncautopass;
     int console_autoconnect;
     const char *config_file;
     const char *extra_config; /* extra config string */
@@ -1527,6 +1530,8 @@ static int create_domain(struct domain_c
     int daemonize = dom_info->daemonize;
     int monitor = dom_info->monitor;
     int paused = dom_info->paused;
+    int vnc = dom_info->vnc;
+    int vncautopass = dom_info->vncautopass;
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
@@ -1734,6 +1739,14 @@ start:
     if (!daemonize && !monitor)
         goto out;
 
+    if (vnc || (libxl_defbool_val(d_config.b_info.vncviewer) == 1)) {
+        char *domspec = libxl_domid_to_name(ctx, domid);
+        if (domspec) {
+            vncviewer(domspec, vncautopass);
+            free(domsec);
+        }
+    }
+
     if (need_daemon) {
         char *fullname, *name;
         pid_t child1, got_child;
@@ -3033,10 +3046,10 @@ int main_restore(int argc, char **argv)
     const char *config_file = NULL;
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, monitor = 1,
-        console_autoconnect = 0;
+        console_autoconnect = 0, vnc = 0, vncautopass = 0;
     int opt, rc;
 
-    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
+    while ((opt = def_getopt(argc, argv, "FcpdeVA", "restore", 1)) != -1) {
         switch (opt) {
         case 0: case 2:
             return opt;
@@ -3056,6 +3069,12 @@ int main_restore(int argc, char **argv)
             daemonize = 0;
             monitor = 0;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         }
     }
 
@@ -3077,6 +3096,8 @@ int main_restore(int argc, char **argv)
     dom_info.config_file = config_file;
     dom_info.restore_file = checkpoint_file;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 1;
 
@@ -3384,7 +3405,7 @@ int main_create(int argc, char **argv)
     char extra_config[1024];
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
-        quiet = 0, monitor = 1;
+        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
     int opt, rc;
     int option_index = 0;
     static struct option long_options[] = {
@@ -3392,6 +3413,8 @@ int main_create(int argc, char **argv)
         {"quiet", 0, 0, 'q'},
         {"help", 0, 0, 'h'},
         {"defconfig", 1, 0, 'f'},
+        {"vncviewer", 0, 0, 'V'},
+        {"vncviewer-autopass", 0, 0, 'A'},
         {0, 0, 0, 0}
     };
 
@@ -3401,7 +3424,7 @@ int main_create(int argc, char **argv)
     }
 
     while (1) {
-        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
+        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
         if (opt == -1)
             break;
 
@@ -3434,6 +3457,12 @@ int main_create(int argc, char **argv)
         case 'q':
             quiet = 1;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         default:
             fprintf(stderr, "option `%c' not supported.\n", optopt);
             break;
@@ -3463,6 +3492,8 @@ int main_create(int argc, char **argv)
     dom_info.config_file = filename;
     dom_info.extra_config = extra_config;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 0;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcS-0002ZW-6u; Mon, 07 May 2012 02:24:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002YU-7T
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:55209] by server-11.bemta-3.messagelabs.com id
	96/DC-18894-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20768 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320402"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: ed41714d9ce9bc73b792782299ada259c7763db6
Message-ID: <ed41714d9ce9bc73b792.1336353620@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:20 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 5 of 6] xl: Add vncviewer options to create and
	restore
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 0663afbb57f5 -r ed41714d9ce9 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
@@ -736,6 +736,7 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
         b_info->rtc_timeoffset = l;
 
+    xlu_cfg_get_defbool(config, "vncviewer", &b_info->vncviewer, 0);
     xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
 
     if (!xlu_cfg_get_long (config, "videoram", &l, 0))
@@ -1414,6 +1415,8 @@ struct domain_create {
     int paused;
     int dryrun;
     int quiet;
+    int vnc;
+    int vncautopass;
     int console_autoconnect;
     const char *config_file;
     const char *extra_config; /* extra config string */
@@ -1527,6 +1530,8 @@ static int create_domain(struct domain_c
     int daemonize = dom_info->daemonize;
     int monitor = dom_info->monitor;
     int paused = dom_info->paused;
+    int vnc = dom_info->vnc;
+    int vncautopass = dom_info->vncautopass;
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
@@ -1734,6 +1739,14 @@ start:
     if (!daemonize && !monitor)
         goto out;
 
+    if (vnc || (libxl_defbool_val(d_config.b_info.vncviewer) == 1)) {
+        char *domspec = libxl_domid_to_name(ctx, domid);
+        if (domspec) {
+            vncviewer(domspec, vncautopass);
+            free(domsec);
+        }
+    }
+
     if (need_daemon) {
         char *fullname, *name;
         pid_t child1, got_child;
@@ -3033,10 +3046,10 @@ int main_restore(int argc, char **argv)
     const char *config_file = NULL;
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, monitor = 1,
-        console_autoconnect = 0;
+        console_autoconnect = 0, vnc = 0, vncautopass = 0;
     int opt, rc;
 
-    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
+    while ((opt = def_getopt(argc, argv, "FcpdeVA", "restore", 1)) != -1) {
         switch (opt) {
         case 0: case 2:
             return opt;
@@ -3056,6 +3069,12 @@ int main_restore(int argc, char **argv)
             daemonize = 0;
             monitor = 0;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         }
     }
 
@@ -3077,6 +3096,8 @@ int main_restore(int argc, char **argv)
     dom_info.config_file = config_file;
     dom_info.restore_file = checkpoint_file;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 1;
 
@@ -3384,7 +3405,7 @@ int main_create(int argc, char **argv)
     char extra_config[1024];
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
-        quiet = 0, monitor = 1;
+        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
     int opt, rc;
     int option_index = 0;
     static struct option long_options[] = {
@@ -3392,6 +3413,8 @@ int main_create(int argc, char **argv)
         {"quiet", 0, 0, 'q'},
         {"help", 0, 0, 'h'},
         {"defconfig", 1, 0, 'f'},
+        {"vncviewer", 0, 0, 'V'},
+        {"vncviewer-autopass", 0, 0, 'A'},
         {0, 0, 0, 0}
     };
 
@@ -3401,7 +3424,7 @@ int main_create(int argc, char **argv)
     }
 
     while (1) {
-        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
+        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
         if (opt == -1)
             break;
 
@@ -3434,6 +3457,12 @@ int main_create(int argc, char **argv)
         case 'q':
             quiet = 1;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         default:
             fprintf(stderr, "option `%c' not supported.\n", optopt);
             break;
@@ -3463,6 +3492,8 @@ int main_create(int argc, char **argv)
     dom_info.config_file = filename;
     dom_info.extra_config = extra_config;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 0;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcQ-0002Z1-Nk; Mon, 07 May 2012 02:24:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcO-0002YU-LZ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:08 +0000
Received: from [85.158.138.51:55155] by server-11.bemta-3.messagelabs.com id
	D2/DC-18894-74237AF4; Mon, 07 May 2012 02:24:07 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20650 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320397"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:50 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:50 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:15 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 6] Add vncviewer xm compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The following series of patches introduce vncviewer compatibility 
options to the create and restore commands.

It also introduces a boolean vncviewer keyword in configuration 
files.

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcQ-0002Z1-Nk; Mon, 07 May 2012 02:24:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcO-0002YU-LZ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:08 +0000
Received: from [85.158.138.51:55155] by server-11.bemta-3.messagelabs.com id
	D2/DC-18894-74237AF4; Mon, 07 May 2012 02:24:07 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20650 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320397"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:50 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:50 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:15 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 6] Add vncviewer xm compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The following series of patches introduce vncviewer compatibility 
options to the create and restore commands.

It also introduces a boolean vncviewer keyword in configuration 
files.

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcR-0002Z8-48; Mon, 07 May 2012 02:24:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcO-0002YV-NG
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:08 +0000
Received: from [85.158.138.51:55164] by server-5.bemta-3.messagelabs.com id
	63/43-17113-74237AF4; Mon, 07 May 2012 02:24:07 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20726 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320398"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:50 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 53f124f82cfd5a8760bb64acf9842f13dba5cf85
Message-ID: <53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:16 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: xen-devel@lists.xensource.com
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 6] Update xl man page to include vncviewer
	options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 0f53540494f7 -r 53f124f82cfd docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 04 11:18:48 2012 +0100
+++ b/docs/man/xl.pod.1	Mon May 07 01:10:57 2012 +0000
@@ -120,6 +120,14 @@ Use the given configuration file.
 
 Leave the domain paused after it is created.
 
+=item B<-V>, B<--vncviewer>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>, B<--vncviewer-autopass>
+
+Pass VNC password to vncviewer via stdin.
+
 =item B<-c>
 
 Attach console to the domain as soon as it has started.  This is
@@ -433,6 +441,14 @@ See the corresponding option of the I<cr
 
 Enable debug messages.
 
+=item B<-V>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>
+
+Pass VNC password to vncviewer via stdin.
+
 =back
 
 =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcR-0002Z8-48; Mon, 07 May 2012 02:24:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcO-0002YV-NG
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:08 +0000
Received: from [85.158.138.51:55164] by server-5.bemta-3.messagelabs.com id
	63/43-17113-74237AF4; Mon, 07 May 2012 02:24:07 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20726 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320398"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:50 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 53f124f82cfd5a8760bb64acf9842f13dba5cf85
Message-ID: <53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:16 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: xen-devel@lists.xensource.com
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 6] Update xl man page to include vncviewer
	options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 0f53540494f7 -r 53f124f82cfd docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 04 11:18:48 2012 +0100
+++ b/docs/man/xl.pod.1	Mon May 07 01:10:57 2012 +0000
@@ -120,6 +120,14 @@ Use the given configuration file.
 
 Leave the domain paused after it is created.
 
+=item B<-V>, B<--vncviewer>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>, B<--vncviewer-autopass>
+
+Pass VNC password to vncviewer via stdin.
+
 =item B<-c>
 
 Attach console to the domain as soon as it has started.  This is
@@ -433,6 +441,14 @@ See the corresponding option of the I<cr
 
 Enable debug messages.
 
+=item B<-V>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>
+
+Pass VNC password to vncviewer via stdin.
+
 =back
 
 =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcR-0002ZF-FD; Mon, 07 May 2012 02:24:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcO-0002YW-Ti
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:2389] by server-7.bemta-3.messagelabs.com id
	EE/3E-03078-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20747 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320399"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 79526068a8743f4a593c41447b3ab92c6fbc5661
Message-ID: <79526068a8743f4a593c.1336353617@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:17 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 6] Update xl.cfg man page to introduce new
	config option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 53f124f82cfd -r 79526068a874 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5	Mon May 07 01:10:57 2012 +0000
+++ b/docs/man/xl.cfg.pod.5	Mon May 07 01:10:58 2012 +0000
@@ -624,6 +624,11 @@ frequency changes.
 
 Please see F<docs/misc/tscmode.txt> for more information on this option.
 
+=item B<vncviewer=BOOLEAN>
+
+Automatically attach to domain's VNC server forking a vncviewer process 
+on domain creation and/or restore.
+
 =item B<localtime=BOOLEAN>
 
 Set the real time clock to local time or to UTC. 0 by default, i.e. set to UTC.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcR-0002ZF-FD; Mon, 07 May 2012 02:24:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcO-0002YW-Ti
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:2389] by server-7.bemta-3.messagelabs.com id
	EE/3E-03078-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20747 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320399"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 79526068a8743f4a593c41447b3ab92c6fbc5661
Message-ID: <79526068a8743f4a593c.1336353617@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:17 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 6] Update xl.cfg man page to introduce new
	config option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 53f124f82cfd -r 79526068a874 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5	Mon May 07 01:10:57 2012 +0000
+++ b/docs/man/xl.cfg.pod.5	Mon May 07 01:10:58 2012 +0000
@@ -624,6 +624,11 @@ frequency changes.
 
 Please see F<docs/misc/tscmode.txt> for more information on this option.
 
+=item B<vncviewer=BOOLEAN>
+
+Automatically attach to domain's VNC server forking a vncviewer process 
+on domain creation and/or restore.
+
 =item B<localtime=BOOLEAN>
 
 Set the real time clock to local time or to UTC. 0 by default, i.e. set to UTC.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcR-0002ZM-Qj; Mon, 07 May 2012 02:24:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002YX-1H
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:55168] by server-2.bemta-3.messagelabs.com id
	07/C6-09269-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20756 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320400"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: 497a6061df08d6451f3b4e77e1f66f94ece62225
Message-ID: <497a6061df08d6451f3b.1336353618@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:18 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 3 of 6] libxl: add vncviewer boolean options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
@@ -156,6 +156,7 @@ int libxl__domain_build_info_setdefault(
     if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT)
         b_info->target_memkb = b_info->max_memkb;
 
+    libxl_defbool_setdefault(&b_info->vncviewer, false);
     libxl_defbool_setdefault(&b_info->localtime, false);
 
     libxl_defbool_setdefault(&b_info->disable_migrate, false);
diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
@@ -250,6 +250,7 @@ libxl_domain_build_info = Struct("domain
     ("video_memkb",     MemKB),
     ("shadow_memkb",    MemKB),
     ("rtc_timeoffset",  uint32),
+    ("vncviewer",       libxl_defbool),
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 02:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 02:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRDcR-0002ZM-Qj; Mon, 07 May 2012 02:24:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRDcP-0002YX-1H
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 02:24:09 +0000
Received: from [85.158.138.51:55168] by server-2.bemta-3.messagelabs.com id
	07/C6-09269-84237AF4; Mon, 07 May 2012 02:24:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336357447!17667389!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20756 invoked from network); 7 May 2012 02:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 02:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,540,1330905600"; d="scan'208";a="12320400"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 02:23:51 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	03:23:51 +0100
MIME-Version: 1.0
X-Mercurial-Node: 497a6061df08d6451f3b4e77e1f66f94ece62225
Message-ID: <497a6061df08d6451f3b.1336353618@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Mon, 7 May 2012 01:20:18 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 3 of 6] libxl: add vncviewer boolean options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
@@ -156,6 +156,7 @@ int libxl__domain_build_info_setdefault(
     if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT)
         b_info->target_memkb = b_info->max_memkb;
 
+    libxl_defbool_setdefault(&b_info->vncviewer, false);
     libxl_defbool_setdefault(&b_info->localtime, false);
 
     libxl_defbool_setdefault(&b_info->disable_migrate, false);
diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
+++ b/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
@@ -250,6 +250,7 @@ libxl_domain_build_info = Struct("domain
     ("video_memkb",     MemKB),
     ("shadow_memkb",    MemKB),
     ("rtc_timeoffset",  uint32),
+    ("vncviewer",       libxl_defbool),
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 05:21:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 05:21:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRGNF-0004lw-Sz; Mon, 07 May 2012 05:20:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <singapore.mr.teo.en.ming@gmail.com>)
	id 1SRGND-0004ln-7F
	for xen-devel@lists.xen.org; Mon, 07 May 2012 05:20:39 +0000
Received: from [85.158.143.35:4080] by server-1.bemta-4.messagelabs.com id
	06/3C-20925-6AB57AF4; Mon, 07 May 2012 05:20:38 +0000
X-Env-Sender: singapore.mr.teo.en.ming@gmail.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336368032!10022378!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_50_60, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32326 invoked from network); 7 May 2012 05:20:34 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 05:20:34 -0000
Received: by pbbro12 with SMTP id ro12so6577832pbb.32
	for <multiple recipients>; Sun, 06 May 2012 22:20:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type;
	bh=MxYDoFmtSQ0DNi50h22iifN3MSva2XrBsm9ZnXk2lfE=;
	b=vDrbTFj+Xpg20Ja00dRO1NqN2pC3Ab9x4+Twlw9aQs8ns2YgvfI9XIj0syqQi+4N03
	+fhugsn1n4mD+XZkaCMO+qRRy6mN0TOkvTh7DHnIOLKoXRxoCYgHmcP+ZR0t3M4O4YBO
	voTbpZmWUDxadM+sc6oQYi1WR1V//9gAChdIwISUdhqOGP3E8NZwMTPZQYDj3BHgGYwA
	QjfaGtg533aib6P5CjzJivrB47SAHezeWD5vlrCDASCmRXgBRlnFjKExZxX6ZhU34940
	s1JqMUd5EWff2+LxLtiFTFh/yf8wLiikUbj3Cv/DP0KpjUrUdjYUIj1q1/G5hmYRmMcj
	y1Aw==
Received: by 10.68.224.66 with SMTP id ra2mr16991797pbc.103.1336368031612;
	Sun, 06 May 2012 22:20:31 -0700 (PDT)
Received: from [192.168.1.2] (cm11.gamma206.maxonline.com.sg. [202.156.206.11])
	by mx.google.com with ESMTPS id nk2sm3731273pbc.54.2012.05.06.22.20.28
	(version=SSLv3 cipher=OTHER); Sun, 06 May 2012 22:20:30 -0700 (PDT)
Message-ID: <4FA75B9B.6000908@gmail.com>
Date: Mon, 07 May 2012 13:20:27 +0800
From: "Teo En Ming (Zhang Enming)" <singapore.mr.teo.en.ming@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: wei.huang2@amd.com
References: <4F7334D9.2020700@gmail.com>
	<CAA7N5Ra53YKBPZqHKppsOCoNEF4JMO5emrPcSu=w2S+yxsQBfQ@mail.gmail.com>
	<4F73C718.9020905@gmail.com>
	<CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com>
	<4F7484C0.2060009@gmail.com> <4F74AB69.4080507@gmail.com>
	<4F74C205.9070104@amd.com> <4F75384B.6080904@gmail.com>
	<4F75C551.9070700@amd.com>
In-Reply-To: <4F75C551.9070700@amd.com>
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Casey DeLorme <cdelorme@gmail.com>,
	Tobias Geiger <tobias.geiger@vido.info>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
 Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3747995595132454217=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============3747995595132454217==
Content-Type: multipart/alternative;
 boundary="------------090102090706070302030002"

This is a multi-part message in MIME format.
--------------090102090706070302030002
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 30/03/2012 22:38, Wei Huang wrote:
> On 03/29/2012 11:36 PM, Teo En Ming (Zhang Enming) wrote:
>> On 30/03/2012 04:11, Wei Huang wrote:
>>> On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
>>>> Dear Casey DeLorme,
>>>>
>>>> This guy, Sebastien Gauthier, also has the same problems as us. He 
>>>> was using Xen 4.1.0 and an ATI Radeon 4550. He applied Mr. Wei 
>>>> Huang's patch. After installing the latest ATI/AMD Catalyst 
>>>> drivers, he got a BSOD with Xen VGA Passthrough to Windows 7.
>>>>
>>>> Please read Sebastien Gauthier's case here:
>>>>
>>>> http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html
>>>>
>>>> Hence Sebastien Gauthier reported Xen VGA Passthrough with PARTIAL 
>>>> SUCCESS, like us.
>>>>
>>>> Dear Tobias Geiger,
>>>>
>>>> You were saying that with ATI VGA cards, you do not need to apply 
>>>> any Xen VGA Passthrough patches. But this guy Sebastien Gauthier 
>>>> applied Mr. Wei Huang's patches to Xen 4.1.0 and got a BSOD after 
>>>> installing ATI Catalyst drivers. Sebastien Gauthier did not get 
>>>> 100% success with Xen VGA Passthrough to Windows 7 using an ATI VGA 
>>>> card.
>>>>
>>> Hi Teo,
>>>
>>> The VBIOS patch I sent out did not work for all ATI cards. The patch 
>>> itself assumed certain behavior of GPU VBIOS. But this doesn't apply 
>>> to every GPU generation. From this perspective, my patch isn't 
>>> universal. Also there are many factors, some of which are not in 
>>> control by us (like graphics driver), can contribute to BSOD you 
>>> mentioned. I am not in a position to debug it for everyone's card 
>>> (as I don't have all cards).
>>>
>>> Thanks,
>>> -Wei
>>
>> Dear Mr. Wei Huang at AMD Corporation,
>>
>> Thank you very much for your kind reply.
>>
>> I want to buy the following ATI Radeon VGA card. Do you think it 
>> would work with your Xen VGA Passthrough patch to Xen 4.2-unstable???
>>
>> Sapphire HD5450 512MB             Singapore Dollars $55
>>
>> I am a cheapskate when it comes to spending money.
>>
> I don't have HD5450 card. So I can't test it and can't answer your 
> question directly. If I have some time later, I will test other HD5xxx 
> cards and test you the result. Normally GPUs of same family behave 
> similarly.
>> If your Xen VGA Passthrough patch to Xen 4.2-unstable works with the 
>> above ATI VGA card, I will go ahead and buy it. Do I have to manually 
>> patch Xen 4.2-unstable or is your patch already included in Xen 
>> 4.2-unstable source tree?
> My patch was against QEMU. It is not included in the tree.


Dear Wei Huang,

How do I use your VGA Passthrough patch with Xen 4.2-unstable?

Thank you.


>>
>> Secondly, I have a request/favor to ask of you. Do you think it is 
>> possible for you to examine the Xen 4.2-unstable VGA Passthrough 
>> patches hosted at Jean David Techer's website and check if it is 
>> compatible with Xen 4.2-unstable code?
>>
>> Thirdly and finally, could you read through my Xen VGA Passthrough 
>> Version 1.7 documentation to see if there are ANY MISTAKES with 
>> NVIDIA Geforce 8400 GS VGA Passthrough, because I am only getting 
>> PARTIAL SUCCESS.
>>
>> If you could write Xen VGA Passthrough patches, you are an expert 
>> software engineer.
>>
>> Thank you very very very much.
>>
>> -- 
>> Yours sincerely,
>>
>> Mr. Teo En Ming (Zhang Enming)
>> Singapore
>>
>>
>>>> -- 
>>>> Yours sincerely,
>>>>
>>>> Mr. Teo En Ming (Zhang Enming)
>>>> Singapore
>>>>
>>>>
>>>>
>>>>
>>>> On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
>>>>> On 29/03/2012 12:29, Casey DeLorme wrote:
>>>>>> My mistake for not hitting "Reply to All", sorry.
>>>>>
>>>>> No worries Casey.
>>>>>
>>>>>>
>>>>>> It might be of some value to mention that my tests were with 
>>>>>> Windows 7, I have no interest in using XP anymore.  Also, I did 
>>>>>> all of my testing through remote VNC, not once did I actually get 
>>>>>> video, even 2D, working.
>>>>>
>>>>> I bought 2 copies of Windows XP Home Edition in the past because 
>>>>> it is cheap, at S$145. I did not buy Windows 7 because it is 
>>>>> expensive. I got video working all right, but only 2D. I cannot 
>>>>> get 3D graphics working.
>>>>>
>>>>>> However, my errors are exactly as you described:
>>>>>>
>>>>>> 1.  Windows recognizes the model (GTX 460), not "unknown PCI device".
>>>>>> 2.  Device code 43.
>>>>>> 3.  No resources assigned to the device.
>>>>>
>>>>> We have the same set of errors.
>>>>>
>>>>>>
>>>>>> Might be worth mentioning, I was able to run the latest nVidia 
>>>>>> driver installation without errors, but after rebooting there was 
>>>>>> no change, same error code, still no video.
>>>>>
>>>>> Same situation here with the latest NVIDIA drivers. But I only 
>>>>> have 2D video working. I can't get 3D video to work.
>>>>>
>>>>>>  To me this would be evidence that driver version isn't a 
>>>>>> problem, but then again I didn't have anything actually working.
>>>>>
>>>>> I agree that driver version isn't a problem. Something is wrong 
>>>>> somewhere.
>>>>>
>>>>>>
>>>>>>
>>>>>> I am an IT student in college, so my experience is limited to 
>>>>>> mostly programming with very little knowledge of the 
>>>>>> inner-workings of hardware.  So, forgive me for being unable to 
>>>>>> help with regards to memory addresses on the cards.
>>>>>
>>>>> I am hoping that Intel engineers and Xen developers would be able 
>>>>> to help.
>>>>>
>>>>>>
>>>>>> I've been using *nix for about 4 years, and Windows since I my 
>>>>>> age was a single digit.  I have had experience setting up server 
>>>>>> features such as web, database, and application servers but I am 
>>>>>> still green when it comes to kernel or hardware configuration.
>>>>>
>>>>> I started learning Linux/UNIX since the year 2005, that is about 7 
>>>>> years ago. I started using Windows when it was version 3.1. I love 
>>>>> compiling the latest Linux kernel and assembling my own computer 
>>>>> hardware.
>>>>>
>>>>>>
>>>>>> My Xen adventure began 35 days ago, and it is no exaggeration to 
>>>>>> say that in those 35 days I have learned more about linux than I 
>>>>>> had in the past two years.  I like challenges as much as the next 
>>>>>> IT person, but I ran out of time and ideas for debugging my 
>>>>>> nVidia problems.  The nVidia stretch of my adventure lasted for 
>>>>>> 24 days through 54 fresh linux installations accompanied by over 
>>>>>> 200~ pages worth of documented failures and not a single pixel 
>>>>>> sighted.
>>>>>
>>>>> Why not make your documentation into PDF? It is a very popular 
>>>>> document format.
>>>>>
>>>>>>
>>>>>> The ATI card took me a day, less than 12 hours of relatively easy 
>>>>>> debugging by comparison to the aforementioned testing.  I do 
>>>>>> fully understanding financial constraints, but it is a working 
>>>>>> solution and worth mentioning.  I do not know what the prices are 
>>>>>> like in Singapore, but in the states I was able to buy an ATI 
>>>>>> Radeon HD 6870 for $160.  For me it came down to weighing my 
>>>>>> objectives against my curiosity.
>>>>>
>>>>> That ATI Radeon HD 6870 would cost me $279, I think.
>>>>>
>>>>>>
>>>>>> If you do continue your nVidia endeavors I wish you success, but 
>>>>>> as in my former email VGA passthrough is a new frontier, not even 
>>>>>> Guru's like David may not be able to help beyond their own 
>>>>>> hardware experiences.
>>>>>
>>>>> I don't think VGA passthrough is a new frontier. Oracle VirtualBox 
>>>>> and Linux KVM supports VGA passthrough as well. Xen ATI VGA 
>>>>> Passthrough works out of the box, as Tobias Geiger suggested, but 
>>>>> NVIDIA requires patches.
>>>>>
>>>>>>
>>>>>>
>>>>>> Documentation is one problem I agree with you on 100%.  I came 
>>>>>> into this knowing relatively little about Linux & hardware, and 
>>>>>> nothing about Xen, and most every guide I found assumed I had 
>>>>>> been in a deep relationship with Linux for many years and had a 
>>>>>> basic understanding of Xen commands.
>>>>>
>>>>> I started learning Xen since the year 2007, which is about 5 years 
>>>>> ago.
>>>>>
>>>>>>
>>>>>> Like you, I intend to use those documented failures as well as my 
>>>>>> recent success to create a comprehensive guide with photographs, 
>>>>>> screen captures, and perhaps even videos going from "assembled 
>>>>>> computer" to "Complete Xen Dom0 /w HVM & VGA Passthrough". 
>>>>>>  Provided the wiki will allow me to upload the screenshots, I'll 
>>>>>> be certain to post it there.
>>>>>
>>>>> I will be looking forward to your documentation and videos. Right 
>>>>> now Xen wiki allows uploading image files and PDF files. Why not 
>>>>> create a PDF document and share it with all of us? It is known as 
>>>>> portable document format and is very popular, but it appears that 
>>>>> xen mailing lists don't like PDF format.
>>>>>
>>>>> _*I don't like wiki pages because anybody can edit and 
>>>>> fundamentally mess up the wiki pages, even providing bogus and 
>>>>> erroneous information. That's why I don't like creating wiki 
>>>>> pages. Anybody can edit and mess up the information you have 
>>>>> painstakingly created on the wiki pages. So please take note.*_
>>>>>
>>>>> -- 
>>>>> Yours sincerely,
>>>>>
>>>>> Mr. Teo En Ming (Zhang Enming)
>>>>> Singapore
>>>>>
>>>>>
>>>>>>
>>>>>> ~Casey
>>>>>>
>>>>>> On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang Enming) 
>>>>>> <singapore.mr.teo.en.ming@gmail.com 
>>>>>> <mailto:singapore.mr.teo.en.ming@gmail.com>> wrote:
>>>>>>
>>>>>>     Dearest Casey DeLorme,
>>>>>>
>>>>>>     Thank you very very much for your kind feedback and input. I
>>>>>>     would also like to thank Mr. Tobias Geiger, again, for
>>>>>>     providing his suggestion on exposing the fourth memory region
>>>>>>     in tools/firmware/hvmloader/acpi/dsdt.asl. _In any case,
>>>>>>     either exposing the first 3 memory regions only or exposing
>>>>>>     all the 4 memory regions does not work._ Sadly, Tobias Geiger
>>>>>>     is unable to help me further.
>>>>>>
>>>>>>     I have asked Jean David Techer, what about the 4th PCI memory
>>>>>>     region? Why only expose the first 3 PCI memory regions? I
>>>>>>     don't understand, of course. Jean David Techer did not reply
>>>>>>     to my question.
>>>>>>
>>>>>>     I have decided to post your prompt reply to the xen-users and
>>>>>>     xen-devel mailing lists, in case people think that I am
>>>>>>     finding fault with Jean David Techer, or trying to irritate
>>>>>>     him, or trying to make him angry, or trying to aggravate him.
>>>>>>     Jean David Techer replied me with an email saying that I
>>>>>>     _spent too much time_ and _too bent_ on solving the yellow
>>>>>>     exclamation mark glitch for my NVIDIA Geforce 8400GS in
>>>>>>     Device Manager in Windows 8 Consumer Preview and Windows XP
>>>>>>     Home Edition, and that I sent *_stupid_* requests. Stupid
>>>>>>     requests? Did he read my emails carefully, word by word?
>>>>>>
>>>>>>     Casey DeLorme, please, can I confirm with you again that you
>>>>>>     are getting the following errors after applying Jean David
>>>>>>     Techer's Xen 4.2-unstable VGA Passthrough patches:
>>>>>>
>>>>>>     *_(1) Yellow exclamation mark besides your NVIDIA GTX 460 in
>>>>>>     Device Manager
>>>>>>     (2) Windows has stopped this device because it has reported
>>>>>>     problems. (Code 43)
>>>>>>     (3) This device isn't using any resources because it has a
>>>>>>     problem._*
>>>>>>
>>>>>>     Jean David Techer insists that our technical issues are due
>>>>>>     to a NVIDIA driver problem. He insists that you have to
>>>>>>     install NVIDIA driver versions 275.33 WHQL and 275.50 BETA.
>>>>>>     Any other NVIDIA driver versions (above 280.XX) will not
>>>>>>     work, according to Jean David Techer. *_However, I have tried
>>>>>>     installing NVIDIA driver versions 275.33 and 275.50 from
>>>>>>     www.softpedia.com <http://www.softpedia.com>, as he
>>>>>>     suggested, but it caused my Windows XP Home Edition HVM
>>>>>>     virtual machine to be destroyed/terminated/crash after a few
>>>>>>     minutes and my dom0 to crash as well._* NVIDIA driver
>>>>>>     versions 275.33 and 275.50 for Windows XP 32-bit is not
>>>>>>     available from the official NVIDIA website.
>>>>>>
>>>>>>     So it is definitely not a NVIDIA driver problem. I suspect
>>>>>>     that the technical issue has to do with *_MMIO BARs pBAR:vBAR
>>>>>>     1:1 matching_*. I don't think there is any problem with
>>>>>>     vgabios-pt.bin extracted out from our NVIDIA VGA cards,
>>>>>>     because I have performed a "hexdump -C" on my extracted VGA
>>>>>>     BIOS EEPROM, or Electrically Erasable Programmable Read Only
>>>>>>     Memory.
>>>>>>
>>>>>>     Secondly, it does seem strange that Jean David Techer was
>>>>>>     able to attain *_100%_*, ie. *_perfect success_* with Xen
>>>>>>     4.2-unstable VGA Passthrough to his Windows XP 32-bit and
>>>>>>     64-bit HVM domU. Have you watched his Youtube video? It is
>>>>>>     only 4 minutes. Please do watch Jean David Techer's Youtube
>>>>>>     video at the following URL:
>>>>>>
>>>>>>     Jean David Techer's Xen 4.2-unstable VGA Passthrough to
>>>>>>     Windows XP x64 HVM domU Youtube video link:
>>>>>>     *_http://www.youtube.com/watch?v=3SaYO0ERW44_*
>>>>>>
>>>>>>     I am *_appalled_* and *_baffle__d_* that he has attained
>>>>>>     *_100% success_* while both of us have only attained
>>>>>>     *_partial succes__s_* (*_i.e. less than 100%_*) on Xen
>>>>>>     4.2-unstable VGA Passthrough to Windows 8 Consumer Preview
>>>>>>     and Windows XP.
>>>>>>
>>>>>>     *_Solving the yellow exclamation mark issue is important
>>>>>>     because we would not be able to run 3D graphics benchmarks
>>>>>>     and play 3D games without solving it. I am not sending silly
>>>>>>     emails about some yellow marks, as Jean David Techer
>>>>>>     suggested. I can't even run Unigine Heaven DX11, and 3dmark11
>>>>>>     3D display benchmarks, because of the yellow exclamation mark
>>>>>>     for NVIDIA Geforce 8400 GS in Device Manager._*
>>>>>>
>>>>>>     Casey DeLorme, with your report on relatively easy success
>>>>>>     with ATI VGA cards, I think I would go the ATI way, but I
>>>>>>     would have to spend a few hundred dollars compared to my
>>>>>>     cheap SGD$44 NVIDIA Geforce 8400 GS card. And while deciding
>>>>>>     to go the ATI way, I would also like to continue
>>>>>>     troubleshooting with the NVIDIA problem, because I consider
>>>>>>     it to be a technical challenge.
>>>>>>
>>>>>>     In essence, Jean David Techner is considered to be a "boss",
>>>>>>     or business owner, or proprietor, or technopreneur, or
>>>>>>     entrepreneur, or technical support officer, or customer
>>>>>>     support officer, or IT helpdesk engineer, providing services
>>>>>>     like his forward-ported Xen 4.2-unstable VGA Passthrough
>>>>>>     patches and the documentation on his blog. I repost Jean
>>>>>>     David Techer's official website here:
>>>>>>
>>>>>>     Jean David Techer's Xen 4.2-unstable VGA Passthrough blog:
>>>>>>     *_http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through_*
>>>>>>
>>>>>>     Jean David Techer's official website is his business venture.
>>>>>>
>>>>>>     Basically, I am Jean David Techer's *_"customer"_*, trying to
>>>>>>     obtain technical support from him. Of course, he is *_not
>>>>>>     obliged_* to provide technical support to me since he is
>>>>>>     providing *_free_* services. It is, after all, an open source
>>>>>>     software project. Nobody is obliged to provide anybody with
>>>>>>     technical support. *_To do Jean David Techer justice, he
>>>>>>     replied most of my questions while avoiding some of my
>>>>>>     questions._*
>>>>>>
>>>>>>     Finally, I have also failed to obtain technical support from
>>>>>>     Xen developers like Ian Campbell from *_Citrix Corporation_*
>>>>>>     and Konrad Wilk from *_Oracle Corporation_*. _*I have always
>>>>>>     provided all the steps which I have taken, the configuration
>>>>>>     files and necessary documentation, and kernel messages and
>>>>>>     error logs*_ to xen-users and xen-devel mailing lists, but
>>>>>>     they keep insisting I did not provide the information they
>>>>>>     required. I wondered why. I think they did not read my emails
>>>>>>     carefully. They told me they would not reply to me any more
>>>>>>     if I do not provide the information they requested. _*But the
>>>>>>     problem is that I have always provided information they
>>>>>>     requested!*_ I think they missed some of my emails, or did
>>>>>>     not read my emails carefully enough. I am an *_ardent
>>>>>>     supporter_* and *_SERIOUS software tester_* for open source
>>>>>>     Xen virtualization/hypervisor but they treated me lightly.
>>>>>>     _*I always read my emails WORD BY WORD.*_ I have even went to
>>>>>>     the point of making a video on the *_BUG_* and uploading my
>>>>>>     video to Youtube. The video is only THREE minutes.
>>>>>>
>>>>>>     _*As everybody says, a picture is worth a thousand words. A
>>>>>>     video is worth a BILLION words!*_
>>>>>>
>>>>>>     I have also failed to obtain technical support from Xen
>>>>>>     developers regarding Xen 4.2-unstable VGA Passthrough.
>>>>>>
>>>>>>     I am hoping Xen 4.2 would have official support for Xen VGA
>>>>>>     Passthrough for both NVIDIA and ATI cards.
>>>>>>
>>>>>>     Casey DeLorme, thank you very much once again. I will be
>>>>>>     making changes to my Xen, Linux Kernel and Xen VGA
>>>>>>     Passthrough Documentation and will be releasing Version 1.7
>>>>>>     shortly. Jean David Techer's documentation assumes some level
>>>>>>     of advanced Linux technical knowledge, so I am writing
>>>>>>     documentation on my own so that everybody, not just advanced
>>>>>>     Linux and Xen users, can follow. I have made references to
>>>>>>     Jean David Techer's documentation in my own documentation.
>>>>>>
>>>>>>     I would be very happy if people would use my documentation.
>>>>>>     Of course, it satisfies my ego and my vanity. Haha.
>>>>>>
>>>>>>     I have been un-employed for nearly three years now, and I
>>>>>>     would hesitate to spend a few hundred dollars on an ATI VGA
>>>>>>     card. I quit my job as an IT engineer 3 years ago because my
>>>>>>     father suffered from lacunar infarct, or more commonly known
>>>>>>     as stroke. My NVIDIA Geforce 8400 GS costs only S$44. Please
>>>>>>     understand why I hesitate to buy an ATI VGA card. The
>>>>>>     cheapest one costs SGD$279.
>>>>>>
>>>>>>     I have a diploma in Mechanical+Electronics engineering from
>>>>>>     Singapore Polytechnic and a Bachelor's degree in Mechanical
>>>>>>     Engineering from the National University of Singapore. But I
>>>>>>     do not have qualifications in Computer Science or Information
>>>>>>     Technology. I have worked as an Information Technology
>>>>>>     engineer in Defense Science and Technology Agency, Ministry
>>>>>>     of Defense, Singapore, National Computer Systems Pte Ltd,
>>>>>>     Asiasoft Online Pte Ltd, and Ishinemax Singapore Pte Ltd.
>>>>>>
>>>>>>     Google search terms: Frenchman Jean David Techer, Singaporean
>>>>>>     Teo En Ming's Xen, Linux Kernel and Xen VGA Passthrough
>>>>>>     Documentation, Xen 4.2-unstable VGA Passthrough to Windows 8
>>>>>>     Consumer Preview and Windows XP HVM Virtual Machines
>>>>>>
>>>>>>     Thank you very much for reading my lengthy email. I am always
>>>>>>     courteous, saying "Please help me. Please. Please. Please."
>>>>>>     and "Thank you very much for your kind assistance" in my emails.
>>>>>>
>>>>>>     Thank you very much.
>>>>>>
>>>>>>     -- 
>>>>>>     Yours sincerely,
>>>>>>     Mr. Teo En Ming (Zhang Enming)
>>>>>>     Singapore Citizen
>>>>>>
>>>>>>     cc: His Excellency The Prime Minister Mr. Lee Hsien Loong,
>>>>>>     Prime Minister's Office, Republic of Singapore
>>>>>>
>>>>>>     On 29/03/2012 03:53, Casey DeLorme wrote:
>>>>>>>     Hi Teo,
>>>>>>>
>>>>>>>     I tried David's patch files a while ago *_without success_*.
>>>>>>>      I had Xen compiled with the patch files and my GTX 460 VGA
>>>>>>>     BIOS rom, _*but I got the same as you, either a BSOD or Code
>>>>>>>     43 in Device Manager.*_
>>>>>>>
>>>>>>>     You sound plenty competent, but it's important to remember
>>>>>>>     that you are pioneering a technology that for consumers is
>>>>>>>     still in its infancy.  Very few people are testing this with
>>>>>>>     consumer equipment, so finding results seems to be a rarity.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>     _______________________________________________
>>>>>>     Xen-users mailing list
>>>>>>     Xen-users@lists.xen.org <mailto:Xen-users@lists.xen.org>
>>>>>>     http://lists.xen.org/xen-users
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore


--------------090102090706070302030002
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 30/03/2012 22:38, Wei Huang wrote:
    <blockquote cite="mid:4F75C551.9070700@amd.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      On 03/29/2012 11:36 PM, Teo En Ming (Zhang Enming) wrote:
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        On 30/03/2012 04:11, Wei Huang wrote:
        <blockquote cite="mid:4F74C205.9070104@amd.com" type="cite"> On
          03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
          <blockquote cite="mid:4F74AB69.4080507@gmail.com" type="cite">
            Dear Casey DeLorme,<br>
            <br>
            This guy, Sebastien Gauthier, also has the same problems as
            us. He was using Xen 4.1.0 and an ATI Radeon 4550. He
            applied Mr. Wei Huang's patch. After installing the latest
            ATI/AMD Catalyst drivers, he got a BSOD with Xen VGA
            Passthrough to Windows 7.<br>
            <br>
            Please read Sebastien Gauthier's case here: <br>
            <br>
            <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html">http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html</a><br>
            <br>
            Hence Sebastien Gauthier reported Xen VGA Passthrough with
            PARTIAL SUCCESS, like us.<br>
            <br>
            Dear Tobias Geiger,<br>
            <br>
            You were saying that with ATI VGA cards, you do not need to
            apply any Xen VGA Passthrough patches. But this guy
            Sebastien Gauthier applied Mr. Wei Huang's patches to Xen
            4.1.0 and got a BSOD after installing ATI Catalyst drivers.
            Sebastien Gauthier did not get 100% success with Xen VGA
            Passthrough to Windows 7 using an ATI VGA card.<br>
            <br>
          </blockquote>
          Hi Teo,<br>
          <br>
          The VBIOS patch I sent out did not work for all ATI cards. The
          patch itself assumed certain behavior of GPU VBIOS. But this
          doesn't apply to every GPU generation. From this perspective,
          my patch isn't universal. Also there are many factors, some of
          which are not in control by us (like graphics driver), can
          contribute to BSOD you mentioned. I am not in a position to
          debug it for everyone's card (as I don't have all cards).<br>
          <br>
          Thanks,<br>
          -Wei<br>
        </blockquote>
        <br>
        Dear Mr. Wei Huang at AMD Corporation,<br>
        <br>
        Thank you very much for your kind reply.<br>
        <br>
        I want to buy the following ATI Radeon VGA card. Do you think it
        would work with your Xen VGA Passthrough patch to Xen
        4.2-unstable???<br>
        <br>
        Sapphire HD5450 512MB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Singapore Dollars $55<br>
        <br>
        I am a cheapskate when it comes to spending money.<br>
        <br>
      </blockquote>
      I don't have HD5450 card. So I can't test it and can't answer your
      question directly. If I have some time later, I will test other
      HD5xxx cards and test you the result. Normally GPUs of same family
      behave similarly. <br>
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite"> If
        your Xen VGA Passthrough patch to Xen 4.2-unstable works with
        the above ATI VGA card, I will go ahead and buy it. Do I have to
        manually patch Xen 4.2-unstable or is your patch already
        included in Xen 4.2-unstable source tree?<br>
      </blockquote>
      My patch was against QEMU. It is not included in the tree.<br>
    </blockquote>
    <br>
    <br>
    Dear Wei Huang,<br>
    <br>
    How do I use your VGA Passthrough patch with Xen 4.2-unstable?<br>
    <br>
    Thank you.<br>
    <br>
    <br>
    <blockquote cite="mid:4F75C551.9070700@amd.com" type="cite">
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite"> <br>
        Secondly, I have a request/favor to ask of you. Do you think it
        is possible for you to examine the Xen 4.2-unstable VGA
        Passthrough patches hosted at Jean David Techer's website and
        check if it is compatible with Xen 4.2-unstable code?<br>
        <br>
        Thirdly and finally, could you read through my Xen VGA
        Passthrough Version 1.7 documentation to see if there are ANY
        MISTAKES with NVIDIA Geforce 8400 GS VGA Passthrough, because I
        am only getting PARTIAL SUCCESS.<br>
      </blockquote>
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite"> <br>
        If you could write Xen VGA Passthrough patches, you are an
        expert software engineer.<br>
        <br>
        Thank you very very very much.<br>
        <br>
        <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
        <br>
        <br>
        <blockquote cite="mid:4F74C205.9070104@amd.com" type="cite">
          <blockquote cite="mid:4F74AB69.4080507@gmail.com" type="cite">
            <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
            <br>
            <br>
            <br>
            <br>
            On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
            <blockquote cite="mid:4F7484C0.2060009@gmail.com"
              type="cite"> On 29/03/2012 12:29, Casey DeLorme wrote:
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div>My mistake for not hitting "Reply to All", sorry.</div>
              </blockquote>
              <br>
              No worries Casey.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>It might be of some value to mention that my tests
                  were with Windows 7, I have no interest in using XP
                  anymore. &nbsp;Also, I did all of my testing through remote
                  VNC, not once did I actually get video, even 2D,
                  working.&nbsp; <br>
                </div>
              </blockquote>
              <br>
              I bought 2 copies of Windows XP Home Edition in the past
              because it is cheap, at S$145. I did not buy Windows 7
              because it is expensive. I got video working all right,
              but only 2D. I cannot get 3D graphics working.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div>However, my errors are exactly as you described:</div>
                <div><br>
                </div>
                <div>1. &nbsp;Windows recognizes the model (GTX 460), not
                  "unknown PCI device".</div>
                <div>2. &nbsp;Device code 43.</div>
                <div>3. &nbsp;No resources assigned to the device.</div>
              </blockquote>
              <br>
              We have the same set of errors.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>Might be worth mentioning, I was able to run the
                  latest nVidia driver installation without errors, but
                  after rebooting there was no change, same error code,
                  still no video. </div>
              </blockquote>
              <br>
              Same situation here with the latest NVIDIA drivers. But I
              only have 2D video working. I can't get 3D video to work.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div>&nbsp;To me this would be evidence that driver version
                  isn't a problem, but then again I didn't have anything
                  actually working.</div>
              </blockquote>
              <br>
              I agree that driver version isn't a problem. Something is
              wrong somewhere.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div><br>
                </div>
                <div>I am an IT student in college, so my experience is
                  limited to mostly programming with very little
                  knowledge of the inner-workings of hardware. &nbsp;So,
                  forgive me for being unable to help with regards to
                  memory addresses on the cards.</div>
              </blockquote>
              <br>
              I am hoping that Intel engineers and Xen developers would
              be able to help.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>I've been using *nix for about 4 years, and Windows
                  since I my age was a single digit. &nbsp;I have had
                  experience setting up server features such as web,
                  database, and application servers but I am still green
                  when it comes to kernel or hardware configuration.</div>
              </blockquote>
              <br>
              I started learning Linux/UNIX since the year 2005, that is
              about 7 years ago. I started using Windows when it was
              version 3.1. I love compiling the latest Linux kernel and
              assembling my own computer hardware.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>My Xen adventure began 35 days ago, and it is no
                  exaggeration to say that in those 35 days I have
                  learned more about linux than I had in the past two
                  years. &nbsp;I like challenges as much as the next IT
                  person, but I ran out of time and ideas for debugging
                  my nVidia problems. &nbsp;The nVidia stretch of my
                  adventure lasted for 24 days through 54 fresh linux
                  installations accompanied by over 200~ pages worth of
                  documented failures and not a single pixel sighted.</div>
              </blockquote>
              <br>
              Why not make your documentation into PDF? It is a very
              popular document format.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>The ATI card took me a day, less than 12 hours of
                  relatively easy debugging by comparison to the
                  aforementioned testing. &nbsp;I do fully understanding
                  financial constraints, but it is a working solution
                  and worth mentioning. &nbsp;I do not know what the prices
                  are like in Singapore, but in the states I was able to
                  buy an ATI Radeon HD 6870 for $160. &nbsp;For me it came
                  down to weighing my objectives against my curiosity.</div>
              </blockquote>
              <br>
              That ATI Radeon HD 6870 would cost me $279, I think.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>If you do continue your nVidia endeavors I wish you
                  success, but as in my former email VGA passthrough is
                  a new frontier, not even Guru's like David may not be
                  able to help beyond their own hardware experiences.</div>
              </blockquote>
              <br>
              I don't think VGA passthrough is a new frontier. Oracle
              VirtualBox and Linux KVM supports VGA passthrough as well.
              Xen ATI VGA Passthrough works out of the box, as Tobias
              Geiger suggested, but NVIDIA requires patches.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div><br>
                </div>
                <div>Documentation is one problem I agree with you on
                  100%. &nbsp;I came into this knowing relatively little
                  about Linux &amp; hardware, and nothing about Xen, and
                  most every guide I found assumed I had been in a deep
                  relationship with Linux for many years and had a basic
                  understanding of Xen commands.</div>
              </blockquote>
              <br>
              I started learning Xen since the year 2007, which is about
              5 years ago.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>Like you, I intend to use those documented failures
                  as well as my recent success to create a comprehensive
                  guide with photographs, screen captures, and perhaps
                  even videos going from "assembled computer" to
                  "Complete Xen Dom0 /w HVM &amp; VGA Passthrough".
                  &nbsp;Provided the wiki will allow me to upload the
                  screenshots, I'll be certain to post it there.</div>
              </blockquote>
              <br>
              I will be looking forward to your documentation and
              videos. Right now Xen wiki allows uploading image files
              and PDF files. Why not create a PDF document and share it
              with all of us? It is known as portable document format
              and is very popular, but it appears that xen mailing lists
              don't like PDF format.<br>
              <br>
              <u><b>I don't like wiki pages because anybody can edit and
                  fundamentally mess up the wiki pages, even providing
                  bogus and erroneous information. That's why I don't
                  like creating wiki pages. Anybody can edit and mess up
                  the information you have painstakingly created on the
                  wiki pages. So please take note.</b></u><br>
              <br>
              <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
              <br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>~Casey</div>
                <br>
                <div class="gmail_quote">On Wed, Mar 28, 2012 at 10:21
                  PM, Teo En Ming (Zhang Enming) <span dir="ltr">&lt;<a
                      moz-do-not-send="true"
                      href="mailto:singapore.mr.teo.en.ming@gmail.com">singapore.mr.teo.en.ming@gmail.com</a>&gt;</span>
                  wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <div bgcolor="#FFFFFF" text="#000000">
                      <div>
                        <div class="h5"> Dearest Casey DeLorme,<br>
                          <br>
                          Thank you very very much for your kind
                          feedback and input. I would also like to thank
                          Mr. Tobias Geiger, again, for providing his
                          suggestion on exposing the fourth memory
                          region in
                          tools/firmware/hvmloader/acpi/dsdt.asl. <u>In
                            any case, either exposing the first 3 memory
                            regions only or exposing all the 4 memory
                            regions does not work.</u> Sadly, Tobias
                          Geiger is unable to help me further.<br>
                          <br>
                          I have asked Jean David Techer, what about the
                          4th PCI memory region? Why only expose the
                          first 3 PCI memory regions? I don't
                          understand, of course. Jean David Techer did
                          not reply to my question.<br>
                          <br>
                          I have decided to post your prompt reply to
                          the xen-users and xen-devel mailing lists, in
                          case people think that I am finding fault with
                          Jean David Techer, or trying to irritate him,
                          or trying to make him angry, or trying to
                          aggravate him. Jean David Techer replied me
                          with an email saying that I <u>spent too much
                            time</u> and <u>too bent</u> on solving the
                          yellow exclamation mark glitch for my NVIDIA
                          Geforce 8400GS in Device Manager in Windows 8
                          Consumer Preview and Windows XP Home Edition,
                          and that I sent <b><u>stupid</u></b>
                          requests. Stupid requests? Did he read my
                          emails carefully, word by word?<br>
                          <br>
                          Casey DeLorme, please, can I confirm with you
                          again that you are getting the following
                          errors after applying Jean David Techer's Xen
                          4.2-unstable VGA Passthrough patches:<br>
                          <br>
                          <b><u>(1) Yellow exclamation mark besides your
                              NVIDIA GTX 460 in Device Manager<br>
                              (2) Windows has stopped this device
                              because it has reported problems. (Code
                              43)<br>
                              (3) This device isn't using any resources
                              because it has a problem.</u></b><br>
                          <br>
                          Jean David Techer insists that our technical
                          issues are due to a NVIDIA driver problem. He
                          insists that you have to install NVIDIA driver
                          versions 275.33 WHQL and 275.50 BETA. Any
                          other NVIDIA driver versions (above 280.XX)
                          will not work, according to Jean David Techer.
                          <b><u>However, I have tried installing NVIDIA
                              driver versions 275.33 and 275.50 from <a
                                moz-do-not-send="true"
                                href="http://www.softpedia.com"
                                target="_blank">www.softpedia.com</a>,
                              as he suggested, but it caused my Windows
                              XP Home Edition HVM virtual machine to be
                              destroyed/terminated/crash after a few
                              minutes and my dom0 to crash as well.</u></b>
                          NVIDIA driver versions 275.33 and 275.50 for
                          Windows XP 32-bit is not available from the
                          official NVIDIA website.<br>
                          <br>
                          So it is definitely not a NVIDIA driver
                          problem. I suspect that the technical issue
                          has to do with <b><u>MMIO BARs pBAR:vBAR 1:1
                              matching</u></b>. I don't think there is
                          any problem with vgabios-pt.bin extracted out
                          from our NVIDIA VGA cards, because I have
                          performed a "hexdump -C" on my extracted VGA
                          BIOS EEPROM, or Electrically Erasable
                          Programmable Read Only Memory.<br>
                          <br>
                          Secondly, it does seem strange that Jean David
                          Techer was able to attain <b><u>100%</u></b>,
                          ie. <b><u>perfect success</u></b> with Xen
                          4.2-unstable VGA Passthrough to his Windows XP
                          32-bit and 64-bit HVM domU. Have you watched
                          his Youtube video? It is only 4 minutes.
                          Please do watch Jean David Techer's Youtube
                          video at the following URL:<br>
                          <br>
                          Jean David Techer's Xen 4.2-unstable VGA
                          Passthrough to Windows XP x64 HVM domU Youtube
                          video link: <b><u><a moz-do-not-send="true"
                                href="http://www.youtube.com/watch?v=3SaYO0ERW44"
                                target="_blank">http://www.youtube.com/watch?v=3SaYO0ERW44</a></u></b><br>
                          <br>
                          I am <b><u>appalled</u></b> and <b><u>baffle</u><u>d</u></b>
                          that he has attained <b><u>100% success</u></b>
                          while both of us have only attained <b><u>partial


                              succes</u><u>s</u></b> (<b><u>i.e. less
                              than 100%</u></b>) on Xen 4.2-unstable VGA
                          Passthrough to Windows 8 Consumer Preview and
                          Windows XP.<br>
                          <br>
                          <b><u>Solving the yellow exclamation mark
                              issue is important because we would not be
                              able to run 3D graphics benchmarks and
                              play 3D games without solving it. I am not
                              sending silly emails about some yellow
                              marks, as Jean David Techer suggested. I
                              can't even run Unigine Heaven DX11, and
                              3dmark11 3D display benchmarks, because of
                              the yellow exclamation mark for NVIDIA
                              Geforce 8400 GS in Device Manager.</u></b><br>
                          <br>
                          Casey DeLorme, with your report on relatively
                          easy success with ATI VGA cards, I think I
                          would go the ATI way, but I would have to
                          spend a few hundred dollars compared to my
                          cheap SGD$44 NVIDIA Geforce 8400 GS card. And
                          while deciding to go the ATI way, I would also
                          like to continue troubleshooting with the
                          NVIDIA problem, because I consider it to be a
                          technical challenge.<br>
                          <br>
                          In essence, Jean David Techner is considered
                          to be a "boss", or business owner, or
                          proprietor, or technopreneur, or entrepreneur,
                          or technical support officer, or customer
                          support officer, or IT helpdesk engineer,
                          providing services like his forward-ported Xen
                          4.2-unstable VGA Passthrough patches and the
                          documentation on his blog. I repost Jean David
                          Techer's official website here:<br>
                          <br>
                          Jean David Techer's Xen 4.2-unstable VGA
                          Passthrough blog: <b><u><a
                                moz-do-not-send="true"
href="http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through"
                                target="_blank">http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through</a></u></b><br>
                          <br>
                          Jean David Techer's official website is his
                          business venture.<br>
                          <br>
                          Basically, I am Jean David Techer's <b><u>"customer"</u></b>,
                          trying to obtain technical support from him.
                          Of course, he is <b><u>not obliged</u></b> to
                          provide technical support to me since he is
                          providing <b><u>free</u></b> services. It is,
                          after all, an open source software project.
                          Nobody is obliged to provide anybody with
                          technical support. <b><u>To do Jean David
                              Techer justice, he replied most of my
                              questions while avoiding some of my
                              questions.</u></b><br>
                          <br>
                          Finally, I have also failed to obtain
                          technical support from Xen developers like Ian
                          Campbell from <big><b><u>Citrix Corporation</u></b></big>
                          and Konrad Wilk from <big><b><u>Oracle
                                Corporation</u></b></big>. <u><b>I have
                              always provided all the steps which I have
                              taken, the configuration files and
                              necessary documentation, and kernel
                              messages and error logs</b></u> to
                          xen-users and xen-devel mailing lists, but
                          they keep insisting I did not provide the
                          information they required. I wondered why. I
                          think they did not read my emails carefully.
                          They told me they would not reply to me any
                          more if I do not provide the information they
                          requested. <u><b>But the problem is that I
                              have always provided information they
                              requested!</b></u> I think they missed
                          some of my emails, or did not read my emails
                          carefully enough. I am an <b><u>ardent
                              supporter</u></b> and <b><u>SERIOUS
                              software tester</u></b> for open source
                          Xen virtualization/hypervisor but they treated
                          me lightly. <u><b>I always read my emails
                              WORD BY WORD.</b></u> I have even went to
                          the point of making a video on the <b><u>BUG</u></b>
                          and uploading my video to Youtube. The video
                          is only THREE minutes. <br>
                          <br>
                          <u><b>As everybody says, a picture is worth a
                              thousand words. A video is worth a BILLION
                              words!</b></u><br>
                          <br>
                          I have also failed to obtain technical support
                          from Xen developers regarding Xen 4.2-unstable
                          VGA Passthrough.<br>
                          <br>
                          I am hoping Xen 4.2 would have official
                          support for Xen VGA Passthrough for both
                          NVIDIA and ATI cards.<br>
                          <br>
                          Casey DeLorme, thank you very much once again.
                          I will be making changes to my Xen, Linux
                          Kernel and Xen VGA Passthrough Documentation
                          and will be releasing Version 1.7 shortly.
                          Jean David Techer's documentation assumes some
                          level of advanced Linux technical knowledge,
                          so I am writing documentation on my own so
                          that everybody, not just advanced Linux and
                          Xen users, can follow. I have made references
                          to Jean David Techer's documentation in my own
                          documentation.<br>
                          <br>
                          I would be very happy if people would use my
                          documentation. Of course, it satisfies my ego
                          and my vanity. Haha.<br>
                          <br>
                          I have been un-employed for nearly three years
                          now, and I would hesitate to spend a few
                          hundred dollars on an ATI VGA card. I quit my
                          job as an IT engineer 3 years ago because my
                          father suffered from lacunar infarct, or more
                          commonly known as stroke. My NVIDIA Geforce
                          8400 GS costs only S$44. Please understand why
                          I hesitate to buy an ATI VGA card. The
                          cheapest one costs SGD$279.<br>
                          <br>
                          I have a diploma in Mechanical+Electronics
                          engineering from Singapore Polytechnic and a
                          Bachelor's degree in Mechanical Engineering
                          from the National University of Singapore. But
                          I do not have qualifications in Computer
                          Science or Information Technology. I have
                          worked as an Information Technology engineer
                          in Defense Science and Technology Agency,
                          Ministry of Defense, Singapore, National
                          Computer Systems Pte Ltd, Asiasoft Online Pte
                          Ltd, and Ishinemax Singapore Pte Ltd.<br>
                          <br>
                          Google search terms: Frenchman Jean David
                          Techer, Singaporean Teo En Ming's Xen, Linux
                          Kernel and Xen VGA Passthrough Documentation,
                          Xen 4.2-unstable VGA Passthrough to Windows 8
                          Consumer Preview and Windows XP HVM Virtual
                          Machines<br>
                          <br>
                          Thank you very much for reading my lengthy
                          email. I am always courteous, saying "Please
                          help me. Please. Please. Please." and "Thank
                          you very much for your kind assistance" in my
                          emails.<br>
                          <br>
                          Thank you very much.<br>
                          <br>
                        </div>
                      </div>
                      <div class="im"> -- <br>
                        Yours sincerely, <br>
                        Mr. Teo En Ming (Zhang Enming) <br>
                      </div>
                      <div class="im"> Singapore Citizen <br>
                        <br>
                        cc: His Excellency The Prime Minister Mr. Lee
                        Hsien Loong, Prime Minister's Office, Republic
                        of Singapore <br>
                        <br>
                        On 29/03/2012 03:53, Casey DeLorme wrote: </div>
                      <div class="im">
                        <blockquote type="cite">
                          <div>
                            <div>Hi Teo,</div>
                            <div><br>
                            </div>
                            <div>I tried David's patch files a while ago
                              <b><u>without success</u></b>. &nbsp;I had Xen
                              compiled with the patch files and my GTX
                              460 VGA BIOS rom, <u><b>but I got the
                                  same as you, either a BSOD or Code 43
                                  in Device Manager.</b></u></div>
                            <div><br>
                            </div>
                            <div>You sound plenty competent, but it's
                              important to remember that you are
                              pioneering a technology that for consumers
                              is still in its infancy. &nbsp;Very few people
                              are testing this with consumer equipment,
                              so finding results seems to be a rarity.</div>
                            <div><br>
                            </div>
                            <br>
                          </div>
                        </blockquote>
                        <br>
                        <br>
                      </div>
                    </div>
                    <br>
                    _______________________________________________<br>
                    Xen-users mailing list<br>
                    <a moz-do-not-send="true"
                      href="mailto:Xen-users@lists.xen.org">Xen-users@lists.xen.org</a><br>
                    <a moz-do-not-send="true"
                      href="http://lists.xen.org/xen-users"
                      target="_blank">http://lists.xen.org/xen-users</a><br>
                  </blockquote>
                </div>
                <br>
              </blockquote>
              <br>
              <br>
            </blockquote>
            <br>
            <br>
          </blockquote>
          <br>
        </blockquote>
        <br>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
  </body>
</html>

--------------090102090706070302030002--


--===============3747995595132454217==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3747995595132454217==--


From xen-devel-bounces@lists.xen.org Mon May 07 05:21:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 05:21:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRGNF-0004lw-Sz; Mon, 07 May 2012 05:20:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <singapore.mr.teo.en.ming@gmail.com>)
	id 1SRGND-0004ln-7F
	for xen-devel@lists.xen.org; Mon, 07 May 2012 05:20:39 +0000
Received: from [85.158.143.35:4080] by server-1.bemta-4.messagelabs.com id
	06/3C-20925-6AB57AF4; Mon, 07 May 2012 05:20:38 +0000
X-Env-Sender: singapore.mr.teo.en.ming@gmail.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336368032!10022378!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_50_60, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32326 invoked from network); 7 May 2012 05:20:34 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 05:20:34 -0000
Received: by pbbro12 with SMTP id ro12so6577832pbb.32
	for <multiple recipients>; Sun, 06 May 2012 22:20:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type;
	bh=MxYDoFmtSQ0DNi50h22iifN3MSva2XrBsm9ZnXk2lfE=;
	b=vDrbTFj+Xpg20Ja00dRO1NqN2pC3Ab9x4+Twlw9aQs8ns2YgvfI9XIj0syqQi+4N03
	+fhugsn1n4mD+XZkaCMO+qRRy6mN0TOkvTh7DHnIOLKoXRxoCYgHmcP+ZR0t3M4O4YBO
	voTbpZmWUDxadM+sc6oQYi1WR1V//9gAChdIwISUdhqOGP3E8NZwMTPZQYDj3BHgGYwA
	QjfaGtg533aib6P5CjzJivrB47SAHezeWD5vlrCDASCmRXgBRlnFjKExZxX6ZhU34940
	s1JqMUd5EWff2+LxLtiFTFh/yf8wLiikUbj3Cv/DP0KpjUrUdjYUIj1q1/G5hmYRmMcj
	y1Aw==
Received: by 10.68.224.66 with SMTP id ra2mr16991797pbc.103.1336368031612;
	Sun, 06 May 2012 22:20:31 -0700 (PDT)
Received: from [192.168.1.2] (cm11.gamma206.maxonline.com.sg. [202.156.206.11])
	by mx.google.com with ESMTPS id nk2sm3731273pbc.54.2012.05.06.22.20.28
	(version=SSLv3 cipher=OTHER); Sun, 06 May 2012 22:20:30 -0700 (PDT)
Message-ID: <4FA75B9B.6000908@gmail.com>
Date: Mon, 07 May 2012 13:20:27 +0800
From: "Teo En Ming (Zhang Enming)" <singapore.mr.teo.en.ming@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: wei.huang2@amd.com
References: <4F7334D9.2020700@gmail.com>
	<CAA7N5Ra53YKBPZqHKppsOCoNEF4JMO5emrPcSu=w2S+yxsQBfQ@mail.gmail.com>
	<4F73C718.9020905@gmail.com>
	<CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com>
	<4F7484C0.2060009@gmail.com> <4F74AB69.4080507@gmail.com>
	<4F74C205.9070104@amd.com> <4F75384B.6080904@gmail.com>
	<4F75C551.9070700@amd.com>
In-Reply-To: <4F75C551.9070700@amd.com>
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Casey DeLorme <cdelorme@gmail.com>,
	Tobias Geiger <tobias.geiger@vido.info>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
 Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3747995595132454217=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============3747995595132454217==
Content-Type: multipart/alternative;
 boundary="------------090102090706070302030002"

This is a multi-part message in MIME format.
--------------090102090706070302030002
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 30/03/2012 22:38, Wei Huang wrote:
> On 03/29/2012 11:36 PM, Teo En Ming (Zhang Enming) wrote:
>> On 30/03/2012 04:11, Wei Huang wrote:
>>> On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
>>>> Dear Casey DeLorme,
>>>>
>>>> This guy, Sebastien Gauthier, also has the same problems as us. He 
>>>> was using Xen 4.1.0 and an ATI Radeon 4550. He applied Mr. Wei 
>>>> Huang's patch. After installing the latest ATI/AMD Catalyst 
>>>> drivers, he got a BSOD with Xen VGA Passthrough to Windows 7.
>>>>
>>>> Please read Sebastien Gauthier's case here:
>>>>
>>>> http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html
>>>>
>>>> Hence Sebastien Gauthier reported Xen VGA Passthrough with PARTIAL 
>>>> SUCCESS, like us.
>>>>
>>>> Dear Tobias Geiger,
>>>>
>>>> You were saying that with ATI VGA cards, you do not need to apply 
>>>> any Xen VGA Passthrough patches. But this guy Sebastien Gauthier 
>>>> applied Mr. Wei Huang's patches to Xen 4.1.0 and got a BSOD after 
>>>> installing ATI Catalyst drivers. Sebastien Gauthier did not get 
>>>> 100% success with Xen VGA Passthrough to Windows 7 using an ATI VGA 
>>>> card.
>>>>
>>> Hi Teo,
>>>
>>> The VBIOS patch I sent out did not work for all ATI cards. The patch 
>>> itself assumed certain behavior of GPU VBIOS. But this doesn't apply 
>>> to every GPU generation. From this perspective, my patch isn't 
>>> universal. Also there are many factors, some of which are not in 
>>> control by us (like graphics driver), can contribute to BSOD you 
>>> mentioned. I am not in a position to debug it for everyone's card 
>>> (as I don't have all cards).
>>>
>>> Thanks,
>>> -Wei
>>
>> Dear Mr. Wei Huang at AMD Corporation,
>>
>> Thank you very much for your kind reply.
>>
>> I want to buy the following ATI Radeon VGA card. Do you think it 
>> would work with your Xen VGA Passthrough patch to Xen 4.2-unstable???
>>
>> Sapphire HD5450 512MB             Singapore Dollars $55
>>
>> I am a cheapskate when it comes to spending money.
>>
> I don't have HD5450 card. So I can't test it and can't answer your 
> question directly. If I have some time later, I will test other HD5xxx 
> cards and test you the result. Normally GPUs of same family behave 
> similarly.
>> If your Xen VGA Passthrough patch to Xen 4.2-unstable works with the 
>> above ATI VGA card, I will go ahead and buy it. Do I have to manually 
>> patch Xen 4.2-unstable or is your patch already included in Xen 
>> 4.2-unstable source tree?
> My patch was against QEMU. It is not included in the tree.


Dear Wei Huang,

How do I use your VGA Passthrough patch with Xen 4.2-unstable?

Thank you.


>>
>> Secondly, I have a request/favor to ask of you. Do you think it is 
>> possible for you to examine the Xen 4.2-unstable VGA Passthrough 
>> patches hosted at Jean David Techer's website and check if it is 
>> compatible with Xen 4.2-unstable code?
>>
>> Thirdly and finally, could you read through my Xen VGA Passthrough 
>> Version 1.7 documentation to see if there are ANY MISTAKES with 
>> NVIDIA Geforce 8400 GS VGA Passthrough, because I am only getting 
>> PARTIAL SUCCESS.
>>
>> If you could write Xen VGA Passthrough patches, you are an expert 
>> software engineer.
>>
>> Thank you very very very much.
>>
>> -- 
>> Yours sincerely,
>>
>> Mr. Teo En Ming (Zhang Enming)
>> Singapore
>>
>>
>>>> -- 
>>>> Yours sincerely,
>>>>
>>>> Mr. Teo En Ming (Zhang Enming)
>>>> Singapore
>>>>
>>>>
>>>>
>>>>
>>>> On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
>>>>> On 29/03/2012 12:29, Casey DeLorme wrote:
>>>>>> My mistake for not hitting "Reply to All", sorry.
>>>>>
>>>>> No worries Casey.
>>>>>
>>>>>>
>>>>>> It might be of some value to mention that my tests were with 
>>>>>> Windows 7, I have no interest in using XP anymore.  Also, I did 
>>>>>> all of my testing through remote VNC, not once did I actually get 
>>>>>> video, even 2D, working.
>>>>>
>>>>> I bought 2 copies of Windows XP Home Edition in the past because 
>>>>> it is cheap, at S$145. I did not buy Windows 7 because it is 
>>>>> expensive. I got video working all right, but only 2D. I cannot 
>>>>> get 3D graphics working.
>>>>>
>>>>>> However, my errors are exactly as you described:
>>>>>>
>>>>>> 1.  Windows recognizes the model (GTX 460), not "unknown PCI device".
>>>>>> 2.  Device code 43.
>>>>>> 3.  No resources assigned to the device.
>>>>>
>>>>> We have the same set of errors.
>>>>>
>>>>>>
>>>>>> Might be worth mentioning, I was able to run the latest nVidia 
>>>>>> driver installation without errors, but after rebooting there was 
>>>>>> no change, same error code, still no video.
>>>>>
>>>>> Same situation here with the latest NVIDIA drivers. But I only 
>>>>> have 2D video working. I can't get 3D video to work.
>>>>>
>>>>>>  To me this would be evidence that driver version isn't a 
>>>>>> problem, but then again I didn't have anything actually working.
>>>>>
>>>>> I agree that driver version isn't a problem. Something is wrong 
>>>>> somewhere.
>>>>>
>>>>>>
>>>>>>
>>>>>> I am an IT student in college, so my experience is limited to 
>>>>>> mostly programming with very little knowledge of the 
>>>>>> inner-workings of hardware.  So, forgive me for being unable to 
>>>>>> help with regards to memory addresses on the cards.
>>>>>
>>>>> I am hoping that Intel engineers and Xen developers would be able 
>>>>> to help.
>>>>>
>>>>>>
>>>>>> I've been using *nix for about 4 years, and Windows since I my 
>>>>>> age was a single digit.  I have had experience setting up server 
>>>>>> features such as web, database, and application servers but I am 
>>>>>> still green when it comes to kernel or hardware configuration.
>>>>>
>>>>> I started learning Linux/UNIX since the year 2005, that is about 7 
>>>>> years ago. I started using Windows when it was version 3.1. I love 
>>>>> compiling the latest Linux kernel and assembling my own computer 
>>>>> hardware.
>>>>>
>>>>>>
>>>>>> My Xen adventure began 35 days ago, and it is no exaggeration to 
>>>>>> say that in those 35 days I have learned more about linux than I 
>>>>>> had in the past two years.  I like challenges as much as the next 
>>>>>> IT person, but I ran out of time and ideas for debugging my 
>>>>>> nVidia problems.  The nVidia stretch of my adventure lasted for 
>>>>>> 24 days through 54 fresh linux installations accompanied by over 
>>>>>> 200~ pages worth of documented failures and not a single pixel 
>>>>>> sighted.
>>>>>
>>>>> Why not make your documentation into PDF? It is a very popular 
>>>>> document format.
>>>>>
>>>>>>
>>>>>> The ATI card took me a day, less than 12 hours of relatively easy 
>>>>>> debugging by comparison to the aforementioned testing.  I do 
>>>>>> fully understanding financial constraints, but it is a working 
>>>>>> solution and worth mentioning.  I do not know what the prices are 
>>>>>> like in Singapore, but in the states I was able to buy an ATI 
>>>>>> Radeon HD 6870 for $160.  For me it came down to weighing my 
>>>>>> objectives against my curiosity.
>>>>>
>>>>> That ATI Radeon HD 6870 would cost me $279, I think.
>>>>>
>>>>>>
>>>>>> If you do continue your nVidia endeavors I wish you success, but 
>>>>>> as in my former email VGA passthrough is a new frontier, not even 
>>>>>> Guru's like David may not be able to help beyond their own 
>>>>>> hardware experiences.
>>>>>
>>>>> I don't think VGA passthrough is a new frontier. Oracle VirtualBox 
>>>>> and Linux KVM supports VGA passthrough as well. Xen ATI VGA 
>>>>> Passthrough works out of the box, as Tobias Geiger suggested, but 
>>>>> NVIDIA requires patches.
>>>>>
>>>>>>
>>>>>>
>>>>>> Documentation is one problem I agree with you on 100%.  I came 
>>>>>> into this knowing relatively little about Linux & hardware, and 
>>>>>> nothing about Xen, and most every guide I found assumed I had 
>>>>>> been in a deep relationship with Linux for many years and had a 
>>>>>> basic understanding of Xen commands.
>>>>>
>>>>> I started learning Xen since the year 2007, which is about 5 years 
>>>>> ago.
>>>>>
>>>>>>
>>>>>> Like you, I intend to use those documented failures as well as my 
>>>>>> recent success to create a comprehensive guide with photographs, 
>>>>>> screen captures, and perhaps even videos going from "assembled 
>>>>>> computer" to "Complete Xen Dom0 /w HVM & VGA Passthrough". 
>>>>>>  Provided the wiki will allow me to upload the screenshots, I'll 
>>>>>> be certain to post it there.
>>>>>
>>>>> I will be looking forward to your documentation and videos. Right 
>>>>> now Xen wiki allows uploading image files and PDF files. Why not 
>>>>> create a PDF document and share it with all of us? It is known as 
>>>>> portable document format and is very popular, but it appears that 
>>>>> xen mailing lists don't like PDF format.
>>>>>
>>>>> _*I don't like wiki pages because anybody can edit and 
>>>>> fundamentally mess up the wiki pages, even providing bogus and 
>>>>> erroneous information. That's why I don't like creating wiki 
>>>>> pages. Anybody can edit and mess up the information you have 
>>>>> painstakingly created on the wiki pages. So please take note.*_
>>>>>
>>>>> -- 
>>>>> Yours sincerely,
>>>>>
>>>>> Mr. Teo En Ming (Zhang Enming)
>>>>> Singapore
>>>>>
>>>>>
>>>>>>
>>>>>> ~Casey
>>>>>>
>>>>>> On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang Enming) 
>>>>>> <singapore.mr.teo.en.ming@gmail.com 
>>>>>> <mailto:singapore.mr.teo.en.ming@gmail.com>> wrote:
>>>>>>
>>>>>>     Dearest Casey DeLorme,
>>>>>>
>>>>>>     Thank you very very much for your kind feedback and input. I
>>>>>>     would also like to thank Mr. Tobias Geiger, again, for
>>>>>>     providing his suggestion on exposing the fourth memory region
>>>>>>     in tools/firmware/hvmloader/acpi/dsdt.asl. _In any case,
>>>>>>     either exposing the first 3 memory regions only or exposing
>>>>>>     all the 4 memory regions does not work._ Sadly, Tobias Geiger
>>>>>>     is unable to help me further.
>>>>>>
>>>>>>     I have asked Jean David Techer, what about the 4th PCI memory
>>>>>>     region? Why only expose the first 3 PCI memory regions? I
>>>>>>     don't understand, of course. Jean David Techer did not reply
>>>>>>     to my question.
>>>>>>
>>>>>>     I have decided to post your prompt reply to the xen-users and
>>>>>>     xen-devel mailing lists, in case people think that I am
>>>>>>     finding fault with Jean David Techer, or trying to irritate
>>>>>>     him, or trying to make him angry, or trying to aggravate him.
>>>>>>     Jean David Techer replied me with an email saying that I
>>>>>>     _spent too much time_ and _too bent_ on solving the yellow
>>>>>>     exclamation mark glitch for my NVIDIA Geforce 8400GS in
>>>>>>     Device Manager in Windows 8 Consumer Preview and Windows XP
>>>>>>     Home Edition, and that I sent *_stupid_* requests. Stupid
>>>>>>     requests? Did he read my emails carefully, word by word?
>>>>>>
>>>>>>     Casey DeLorme, please, can I confirm with you again that you
>>>>>>     are getting the following errors after applying Jean David
>>>>>>     Techer's Xen 4.2-unstable VGA Passthrough patches:
>>>>>>
>>>>>>     *_(1) Yellow exclamation mark besides your NVIDIA GTX 460 in
>>>>>>     Device Manager
>>>>>>     (2) Windows has stopped this device because it has reported
>>>>>>     problems. (Code 43)
>>>>>>     (3) This device isn't using any resources because it has a
>>>>>>     problem._*
>>>>>>
>>>>>>     Jean David Techer insists that our technical issues are due
>>>>>>     to a NVIDIA driver problem. He insists that you have to
>>>>>>     install NVIDIA driver versions 275.33 WHQL and 275.50 BETA.
>>>>>>     Any other NVIDIA driver versions (above 280.XX) will not
>>>>>>     work, according to Jean David Techer. *_However, I have tried
>>>>>>     installing NVIDIA driver versions 275.33 and 275.50 from
>>>>>>     www.softpedia.com <http://www.softpedia.com>, as he
>>>>>>     suggested, but it caused my Windows XP Home Edition HVM
>>>>>>     virtual machine to be destroyed/terminated/crash after a few
>>>>>>     minutes and my dom0 to crash as well._* NVIDIA driver
>>>>>>     versions 275.33 and 275.50 for Windows XP 32-bit is not
>>>>>>     available from the official NVIDIA website.
>>>>>>
>>>>>>     So it is definitely not a NVIDIA driver problem. I suspect
>>>>>>     that the technical issue has to do with *_MMIO BARs pBAR:vBAR
>>>>>>     1:1 matching_*. I don't think there is any problem with
>>>>>>     vgabios-pt.bin extracted out from our NVIDIA VGA cards,
>>>>>>     because I have performed a "hexdump -C" on my extracted VGA
>>>>>>     BIOS EEPROM, or Electrically Erasable Programmable Read Only
>>>>>>     Memory.
>>>>>>
>>>>>>     Secondly, it does seem strange that Jean David Techer was
>>>>>>     able to attain *_100%_*, ie. *_perfect success_* with Xen
>>>>>>     4.2-unstable VGA Passthrough to his Windows XP 32-bit and
>>>>>>     64-bit HVM domU. Have you watched his Youtube video? It is
>>>>>>     only 4 minutes. Please do watch Jean David Techer's Youtube
>>>>>>     video at the following URL:
>>>>>>
>>>>>>     Jean David Techer's Xen 4.2-unstable VGA Passthrough to
>>>>>>     Windows XP x64 HVM domU Youtube video link:
>>>>>>     *_http://www.youtube.com/watch?v=3SaYO0ERW44_*
>>>>>>
>>>>>>     I am *_appalled_* and *_baffle__d_* that he has attained
>>>>>>     *_100% success_* while both of us have only attained
>>>>>>     *_partial succes__s_* (*_i.e. less than 100%_*) on Xen
>>>>>>     4.2-unstable VGA Passthrough to Windows 8 Consumer Preview
>>>>>>     and Windows XP.
>>>>>>
>>>>>>     *_Solving the yellow exclamation mark issue is important
>>>>>>     because we would not be able to run 3D graphics benchmarks
>>>>>>     and play 3D games without solving it. I am not sending silly
>>>>>>     emails about some yellow marks, as Jean David Techer
>>>>>>     suggested. I can't even run Unigine Heaven DX11, and 3dmark11
>>>>>>     3D display benchmarks, because of the yellow exclamation mark
>>>>>>     for NVIDIA Geforce 8400 GS in Device Manager._*
>>>>>>
>>>>>>     Casey DeLorme, with your report on relatively easy success
>>>>>>     with ATI VGA cards, I think I would go the ATI way, but I
>>>>>>     would have to spend a few hundred dollars compared to my
>>>>>>     cheap SGD$44 NVIDIA Geforce 8400 GS card. And while deciding
>>>>>>     to go the ATI way, I would also like to continue
>>>>>>     troubleshooting with the NVIDIA problem, because I consider
>>>>>>     it to be a technical challenge.
>>>>>>
>>>>>>     In essence, Jean David Techner is considered to be a "boss",
>>>>>>     or business owner, or proprietor, or technopreneur, or
>>>>>>     entrepreneur, or technical support officer, or customer
>>>>>>     support officer, or IT helpdesk engineer, providing services
>>>>>>     like his forward-ported Xen 4.2-unstable VGA Passthrough
>>>>>>     patches and the documentation on his blog. I repost Jean
>>>>>>     David Techer's official website here:
>>>>>>
>>>>>>     Jean David Techer's Xen 4.2-unstable VGA Passthrough blog:
>>>>>>     *_http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through_*
>>>>>>
>>>>>>     Jean David Techer's official website is his business venture.
>>>>>>
>>>>>>     Basically, I am Jean David Techer's *_"customer"_*, trying to
>>>>>>     obtain technical support from him. Of course, he is *_not
>>>>>>     obliged_* to provide technical support to me since he is
>>>>>>     providing *_free_* services. It is, after all, an open source
>>>>>>     software project. Nobody is obliged to provide anybody with
>>>>>>     technical support. *_To do Jean David Techer justice, he
>>>>>>     replied most of my questions while avoiding some of my
>>>>>>     questions._*
>>>>>>
>>>>>>     Finally, I have also failed to obtain technical support from
>>>>>>     Xen developers like Ian Campbell from *_Citrix Corporation_*
>>>>>>     and Konrad Wilk from *_Oracle Corporation_*. _*I have always
>>>>>>     provided all the steps which I have taken, the configuration
>>>>>>     files and necessary documentation, and kernel messages and
>>>>>>     error logs*_ to xen-users and xen-devel mailing lists, but
>>>>>>     they keep insisting I did not provide the information they
>>>>>>     required. I wondered why. I think they did not read my emails
>>>>>>     carefully. They told me they would not reply to me any more
>>>>>>     if I do not provide the information they requested. _*But the
>>>>>>     problem is that I have always provided information they
>>>>>>     requested!*_ I think they missed some of my emails, or did
>>>>>>     not read my emails carefully enough. I am an *_ardent
>>>>>>     supporter_* and *_SERIOUS software tester_* for open source
>>>>>>     Xen virtualization/hypervisor but they treated me lightly.
>>>>>>     _*I always read my emails WORD BY WORD.*_ I have even went to
>>>>>>     the point of making a video on the *_BUG_* and uploading my
>>>>>>     video to Youtube. The video is only THREE minutes.
>>>>>>
>>>>>>     _*As everybody says, a picture is worth a thousand words. A
>>>>>>     video is worth a BILLION words!*_
>>>>>>
>>>>>>     I have also failed to obtain technical support from Xen
>>>>>>     developers regarding Xen 4.2-unstable VGA Passthrough.
>>>>>>
>>>>>>     I am hoping Xen 4.2 would have official support for Xen VGA
>>>>>>     Passthrough for both NVIDIA and ATI cards.
>>>>>>
>>>>>>     Casey DeLorme, thank you very much once again. I will be
>>>>>>     making changes to my Xen, Linux Kernel and Xen VGA
>>>>>>     Passthrough Documentation and will be releasing Version 1.7
>>>>>>     shortly. Jean David Techer's documentation assumes some level
>>>>>>     of advanced Linux technical knowledge, so I am writing
>>>>>>     documentation on my own so that everybody, not just advanced
>>>>>>     Linux and Xen users, can follow. I have made references to
>>>>>>     Jean David Techer's documentation in my own documentation.
>>>>>>
>>>>>>     I would be very happy if people would use my documentation.
>>>>>>     Of course, it satisfies my ego and my vanity. Haha.
>>>>>>
>>>>>>     I have been un-employed for nearly three years now, and I
>>>>>>     would hesitate to spend a few hundred dollars on an ATI VGA
>>>>>>     card. I quit my job as an IT engineer 3 years ago because my
>>>>>>     father suffered from lacunar infarct, or more commonly known
>>>>>>     as stroke. My NVIDIA Geforce 8400 GS costs only S$44. Please
>>>>>>     understand why I hesitate to buy an ATI VGA card. The
>>>>>>     cheapest one costs SGD$279.
>>>>>>
>>>>>>     I have a diploma in Mechanical+Electronics engineering from
>>>>>>     Singapore Polytechnic and a Bachelor's degree in Mechanical
>>>>>>     Engineering from the National University of Singapore. But I
>>>>>>     do not have qualifications in Computer Science or Information
>>>>>>     Technology. I have worked as an Information Technology
>>>>>>     engineer in Defense Science and Technology Agency, Ministry
>>>>>>     of Defense, Singapore, National Computer Systems Pte Ltd,
>>>>>>     Asiasoft Online Pte Ltd, and Ishinemax Singapore Pte Ltd.
>>>>>>
>>>>>>     Google search terms: Frenchman Jean David Techer, Singaporean
>>>>>>     Teo En Ming's Xen, Linux Kernel and Xen VGA Passthrough
>>>>>>     Documentation, Xen 4.2-unstable VGA Passthrough to Windows 8
>>>>>>     Consumer Preview and Windows XP HVM Virtual Machines
>>>>>>
>>>>>>     Thank you very much for reading my lengthy email. I am always
>>>>>>     courteous, saying "Please help me. Please. Please. Please."
>>>>>>     and "Thank you very much for your kind assistance" in my emails.
>>>>>>
>>>>>>     Thank you very much.
>>>>>>
>>>>>>     -- 
>>>>>>     Yours sincerely,
>>>>>>     Mr. Teo En Ming (Zhang Enming)
>>>>>>     Singapore Citizen
>>>>>>
>>>>>>     cc: His Excellency The Prime Minister Mr. Lee Hsien Loong,
>>>>>>     Prime Minister's Office, Republic of Singapore
>>>>>>
>>>>>>     On 29/03/2012 03:53, Casey DeLorme wrote:
>>>>>>>     Hi Teo,
>>>>>>>
>>>>>>>     I tried David's patch files a while ago *_without success_*.
>>>>>>>      I had Xen compiled with the patch files and my GTX 460 VGA
>>>>>>>     BIOS rom, _*but I got the same as you, either a BSOD or Code
>>>>>>>     43 in Device Manager.*_
>>>>>>>
>>>>>>>     You sound plenty competent, but it's important to remember
>>>>>>>     that you are pioneering a technology that for consumers is
>>>>>>>     still in its infancy.  Very few people are testing this with
>>>>>>>     consumer equipment, so finding results seems to be a rarity.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>     _______________________________________________
>>>>>>     Xen-users mailing list
>>>>>>     Xen-users@lists.xen.org <mailto:Xen-users@lists.xen.org>
>>>>>>     http://lists.xen.org/xen-users
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore


--------------090102090706070302030002
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 30/03/2012 22:38, Wei Huang wrote:
    <blockquote cite="mid:4F75C551.9070700@amd.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      On 03/29/2012 11:36 PM, Teo En Ming (Zhang Enming) wrote:
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        On 30/03/2012 04:11, Wei Huang wrote:
        <blockquote cite="mid:4F74C205.9070104@amd.com" type="cite"> On
          03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
          <blockquote cite="mid:4F74AB69.4080507@gmail.com" type="cite">
            Dear Casey DeLorme,<br>
            <br>
            This guy, Sebastien Gauthier, also has the same problems as
            us. He was using Xen 4.1.0 and an ATI Radeon 4550. He
            applied Mr. Wei Huang's patch. After installing the latest
            ATI/AMD Catalyst drivers, he got a BSOD with Xen VGA
            Passthrough to Windows 7.<br>
            <br>
            Please read Sebastien Gauthier's case here: <br>
            <br>
            <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html">http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html</a><br>
            <br>
            Hence Sebastien Gauthier reported Xen VGA Passthrough with
            PARTIAL SUCCESS, like us.<br>
            <br>
            Dear Tobias Geiger,<br>
            <br>
            You were saying that with ATI VGA cards, you do not need to
            apply any Xen VGA Passthrough patches. But this guy
            Sebastien Gauthier applied Mr. Wei Huang's patches to Xen
            4.1.0 and got a BSOD after installing ATI Catalyst drivers.
            Sebastien Gauthier did not get 100% success with Xen VGA
            Passthrough to Windows 7 using an ATI VGA card.<br>
            <br>
          </blockquote>
          Hi Teo,<br>
          <br>
          The VBIOS patch I sent out did not work for all ATI cards. The
          patch itself assumed certain behavior of GPU VBIOS. But this
          doesn't apply to every GPU generation. From this perspective,
          my patch isn't universal. Also there are many factors, some of
          which are not in control by us (like graphics driver), can
          contribute to BSOD you mentioned. I am not in a position to
          debug it for everyone's card (as I don't have all cards).<br>
          <br>
          Thanks,<br>
          -Wei<br>
        </blockquote>
        <br>
        Dear Mr. Wei Huang at AMD Corporation,<br>
        <br>
        Thank you very much for your kind reply.<br>
        <br>
        I want to buy the following ATI Radeon VGA card. Do you think it
        would work with your Xen VGA Passthrough patch to Xen
        4.2-unstable???<br>
        <br>
        Sapphire HD5450 512MB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Singapore Dollars $55<br>
        <br>
        I am a cheapskate when it comes to spending money.<br>
        <br>
      </blockquote>
      I don't have HD5450 card. So I can't test it and can't answer your
      question directly. If I have some time later, I will test other
      HD5xxx cards and test you the result. Normally GPUs of same family
      behave similarly. <br>
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite"> If
        your Xen VGA Passthrough patch to Xen 4.2-unstable works with
        the above ATI VGA card, I will go ahead and buy it. Do I have to
        manually patch Xen 4.2-unstable or is your patch already
        included in Xen 4.2-unstable source tree?<br>
      </blockquote>
      My patch was against QEMU. It is not included in the tree.<br>
    </blockquote>
    <br>
    <br>
    Dear Wei Huang,<br>
    <br>
    How do I use your VGA Passthrough patch with Xen 4.2-unstable?<br>
    <br>
    Thank you.<br>
    <br>
    <br>
    <blockquote cite="mid:4F75C551.9070700@amd.com" type="cite">
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite"> <br>
        Secondly, I have a request/favor to ask of you. Do you think it
        is possible for you to examine the Xen 4.2-unstable VGA
        Passthrough patches hosted at Jean David Techer's website and
        check if it is compatible with Xen 4.2-unstable code?<br>
        <br>
        Thirdly and finally, could you read through my Xen VGA
        Passthrough Version 1.7 documentation to see if there are ANY
        MISTAKES with NVIDIA Geforce 8400 GS VGA Passthrough, because I
        am only getting PARTIAL SUCCESS.<br>
      </blockquote>
      <blockquote cite="mid:4F75384B.6080904@gmail.com" type="cite"> <br>
        If you could write Xen VGA Passthrough patches, you are an
        expert software engineer.<br>
        <br>
        Thank you very very very much.<br>
        <br>
        <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
        <br>
        <br>
        <blockquote cite="mid:4F74C205.9070104@amd.com" type="cite">
          <blockquote cite="mid:4F74AB69.4080507@gmail.com" type="cite">
            <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
            <br>
            <br>
            <br>
            <br>
            On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
            <blockquote cite="mid:4F7484C0.2060009@gmail.com"
              type="cite"> On 29/03/2012 12:29, Casey DeLorme wrote:
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div>My mistake for not hitting "Reply to All", sorry.</div>
              </blockquote>
              <br>
              No worries Casey.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>It might be of some value to mention that my tests
                  were with Windows 7, I have no interest in using XP
                  anymore. &nbsp;Also, I did all of my testing through remote
                  VNC, not once did I actually get video, even 2D,
                  working.&nbsp; <br>
                </div>
              </blockquote>
              <br>
              I bought 2 copies of Windows XP Home Edition in the past
              because it is cheap, at S$145. I did not buy Windows 7
              because it is expensive. I got video working all right,
              but only 2D. I cannot get 3D graphics working.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div>However, my errors are exactly as you described:</div>
                <div><br>
                </div>
                <div>1. &nbsp;Windows recognizes the model (GTX 460), not
                  "unknown PCI device".</div>
                <div>2. &nbsp;Device code 43.</div>
                <div>3. &nbsp;No resources assigned to the device.</div>
              </blockquote>
              <br>
              We have the same set of errors.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>Might be worth mentioning, I was able to run the
                  latest nVidia driver installation without errors, but
                  after rebooting there was no change, same error code,
                  still no video. </div>
              </blockquote>
              <br>
              Same situation here with the latest NVIDIA drivers. But I
              only have 2D video working. I can't get 3D video to work.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div>&nbsp;To me this would be evidence that driver version
                  isn't a problem, but then again I didn't have anything
                  actually working.</div>
              </blockquote>
              <br>
              I agree that driver version isn't a problem. Something is
              wrong somewhere.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div><br>
                </div>
                <div>I am an IT student in college, so my experience is
                  limited to mostly programming with very little
                  knowledge of the inner-workings of hardware. &nbsp;So,
                  forgive me for being unable to help with regards to
                  memory addresses on the cards.</div>
              </blockquote>
              <br>
              I am hoping that Intel engineers and Xen developers would
              be able to help.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>I've been using *nix for about 4 years, and Windows
                  since I my age was a single digit. &nbsp;I have had
                  experience setting up server features such as web,
                  database, and application servers but I am still green
                  when it comes to kernel or hardware configuration.</div>
              </blockquote>
              <br>
              I started learning Linux/UNIX since the year 2005, that is
              about 7 years ago. I started using Windows when it was
              version 3.1. I love compiling the latest Linux kernel and
              assembling my own computer hardware.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>My Xen adventure began 35 days ago, and it is no
                  exaggeration to say that in those 35 days I have
                  learned more about linux than I had in the past two
                  years. &nbsp;I like challenges as much as the next IT
                  person, but I ran out of time and ideas for debugging
                  my nVidia problems. &nbsp;The nVidia stretch of my
                  adventure lasted for 24 days through 54 fresh linux
                  installations accompanied by over 200~ pages worth of
                  documented failures and not a single pixel sighted.</div>
              </blockquote>
              <br>
              Why not make your documentation into PDF? It is a very
              popular document format.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>The ATI card took me a day, less than 12 hours of
                  relatively easy debugging by comparison to the
                  aforementioned testing. &nbsp;I do fully understanding
                  financial constraints, but it is a working solution
                  and worth mentioning. &nbsp;I do not know what the prices
                  are like in Singapore, but in the states I was able to
                  buy an ATI Radeon HD 6870 for $160. &nbsp;For me it came
                  down to weighing my objectives against my curiosity.</div>
              </blockquote>
              <br>
              That ATI Radeon HD 6870 would cost me $279, I think.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>If you do continue your nVidia endeavors I wish you
                  success, but as in my former email VGA passthrough is
                  a new frontier, not even Guru's like David may not be
                  able to help beyond their own hardware experiences.</div>
              </blockquote>
              <br>
              I don't think VGA passthrough is a new frontier. Oracle
              VirtualBox and Linux KVM supports VGA passthrough as well.
              Xen ATI VGA Passthrough works out of the box, as Tobias
              Geiger suggested, but NVIDIA requires patches.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div><br>
                </div>
                <div>Documentation is one problem I agree with you on
                  100%. &nbsp;I came into this knowing relatively little
                  about Linux &amp; hardware, and nothing about Xen, and
                  most every guide I found assumed I had been in a deep
                  relationship with Linux for many years and had a basic
                  understanding of Xen commands.</div>
              </blockquote>
              <br>
              I started learning Xen since the year 2007, which is about
              5 years ago.<br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>Like you, I intend to use those documented failures
                  as well as my recent success to create a comprehensive
                  guide with photographs, screen captures, and perhaps
                  even videos going from "assembled computer" to
                  "Complete Xen Dom0 /w HVM &amp; VGA Passthrough".
                  &nbsp;Provided the wiki will allow me to upload the
                  screenshots, I'll be certain to post it there.</div>
              </blockquote>
              <br>
              I will be looking forward to your documentation and
              videos. Right now Xen wiki allows uploading image files
              and PDF files. Why not create a PDF document and share it
              with all of us? It is known as portable document format
              and is very popular, but it appears that xen mailing lists
              don't like PDF format.<br>
              <br>
              <u><b>I don't like wiki pages because anybody can edit and
                  fundamentally mess up the wiki pages, even providing
                  bogus and erroneous information. That's why I don't
                  like creating wiki pages. Anybody can edit and mess up
                  the information you have painstakingly created on the
                  wiki pages. So please take note.</b></u><br>
              <br>
              <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
              <br>
              <br>
              <blockquote
cite="mid:CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com"
                type="cite">
                <div><br>
                </div>
                <div>~Casey</div>
                <br>
                <div class="gmail_quote">On Wed, Mar 28, 2012 at 10:21
                  PM, Teo En Ming (Zhang Enming) <span dir="ltr">&lt;<a
                      moz-do-not-send="true"
                      href="mailto:singapore.mr.teo.en.ming@gmail.com">singapore.mr.teo.en.ming@gmail.com</a>&gt;</span>
                  wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <div bgcolor="#FFFFFF" text="#000000">
                      <div>
                        <div class="h5"> Dearest Casey DeLorme,<br>
                          <br>
                          Thank you very very much for your kind
                          feedback and input. I would also like to thank
                          Mr. Tobias Geiger, again, for providing his
                          suggestion on exposing the fourth memory
                          region in
                          tools/firmware/hvmloader/acpi/dsdt.asl. <u>In
                            any case, either exposing the first 3 memory
                            regions only or exposing all the 4 memory
                            regions does not work.</u> Sadly, Tobias
                          Geiger is unable to help me further.<br>
                          <br>
                          I have asked Jean David Techer, what about the
                          4th PCI memory region? Why only expose the
                          first 3 PCI memory regions? I don't
                          understand, of course. Jean David Techer did
                          not reply to my question.<br>
                          <br>
                          I have decided to post your prompt reply to
                          the xen-users and xen-devel mailing lists, in
                          case people think that I am finding fault with
                          Jean David Techer, or trying to irritate him,
                          or trying to make him angry, or trying to
                          aggravate him. Jean David Techer replied me
                          with an email saying that I <u>spent too much
                            time</u> and <u>too bent</u> on solving the
                          yellow exclamation mark glitch for my NVIDIA
                          Geforce 8400GS in Device Manager in Windows 8
                          Consumer Preview and Windows XP Home Edition,
                          and that I sent <b><u>stupid</u></b>
                          requests. Stupid requests? Did he read my
                          emails carefully, word by word?<br>
                          <br>
                          Casey DeLorme, please, can I confirm with you
                          again that you are getting the following
                          errors after applying Jean David Techer's Xen
                          4.2-unstable VGA Passthrough patches:<br>
                          <br>
                          <b><u>(1) Yellow exclamation mark besides your
                              NVIDIA GTX 460 in Device Manager<br>
                              (2) Windows has stopped this device
                              because it has reported problems. (Code
                              43)<br>
                              (3) This device isn't using any resources
                              because it has a problem.</u></b><br>
                          <br>
                          Jean David Techer insists that our technical
                          issues are due to a NVIDIA driver problem. He
                          insists that you have to install NVIDIA driver
                          versions 275.33 WHQL and 275.50 BETA. Any
                          other NVIDIA driver versions (above 280.XX)
                          will not work, according to Jean David Techer.
                          <b><u>However, I have tried installing NVIDIA
                              driver versions 275.33 and 275.50 from <a
                                moz-do-not-send="true"
                                href="http://www.softpedia.com"
                                target="_blank">www.softpedia.com</a>,
                              as he suggested, but it caused my Windows
                              XP Home Edition HVM virtual machine to be
                              destroyed/terminated/crash after a few
                              minutes and my dom0 to crash as well.</u></b>
                          NVIDIA driver versions 275.33 and 275.50 for
                          Windows XP 32-bit is not available from the
                          official NVIDIA website.<br>
                          <br>
                          So it is definitely not a NVIDIA driver
                          problem. I suspect that the technical issue
                          has to do with <b><u>MMIO BARs pBAR:vBAR 1:1
                              matching</u></b>. I don't think there is
                          any problem with vgabios-pt.bin extracted out
                          from our NVIDIA VGA cards, because I have
                          performed a "hexdump -C" on my extracted VGA
                          BIOS EEPROM, or Electrically Erasable
                          Programmable Read Only Memory.<br>
                          <br>
                          Secondly, it does seem strange that Jean David
                          Techer was able to attain <b><u>100%</u></b>,
                          ie. <b><u>perfect success</u></b> with Xen
                          4.2-unstable VGA Passthrough to his Windows XP
                          32-bit and 64-bit HVM domU. Have you watched
                          his Youtube video? It is only 4 minutes.
                          Please do watch Jean David Techer's Youtube
                          video at the following URL:<br>
                          <br>
                          Jean David Techer's Xen 4.2-unstable VGA
                          Passthrough to Windows XP x64 HVM domU Youtube
                          video link: <b><u><a moz-do-not-send="true"
                                href="http://www.youtube.com/watch?v=3SaYO0ERW44"
                                target="_blank">http://www.youtube.com/watch?v=3SaYO0ERW44</a></u></b><br>
                          <br>
                          I am <b><u>appalled</u></b> and <b><u>baffle</u><u>d</u></b>
                          that he has attained <b><u>100% success</u></b>
                          while both of us have only attained <b><u>partial


                              succes</u><u>s</u></b> (<b><u>i.e. less
                              than 100%</u></b>) on Xen 4.2-unstable VGA
                          Passthrough to Windows 8 Consumer Preview and
                          Windows XP.<br>
                          <br>
                          <b><u>Solving the yellow exclamation mark
                              issue is important because we would not be
                              able to run 3D graphics benchmarks and
                              play 3D games without solving it. I am not
                              sending silly emails about some yellow
                              marks, as Jean David Techer suggested. I
                              can't even run Unigine Heaven DX11, and
                              3dmark11 3D display benchmarks, because of
                              the yellow exclamation mark for NVIDIA
                              Geforce 8400 GS in Device Manager.</u></b><br>
                          <br>
                          Casey DeLorme, with your report on relatively
                          easy success with ATI VGA cards, I think I
                          would go the ATI way, but I would have to
                          spend a few hundred dollars compared to my
                          cheap SGD$44 NVIDIA Geforce 8400 GS card. And
                          while deciding to go the ATI way, I would also
                          like to continue troubleshooting with the
                          NVIDIA problem, because I consider it to be a
                          technical challenge.<br>
                          <br>
                          In essence, Jean David Techner is considered
                          to be a "boss", or business owner, or
                          proprietor, or technopreneur, or entrepreneur,
                          or technical support officer, or customer
                          support officer, or IT helpdesk engineer,
                          providing services like his forward-ported Xen
                          4.2-unstable VGA Passthrough patches and the
                          documentation on his blog. I repost Jean David
                          Techer's official website here:<br>
                          <br>
                          Jean David Techer's Xen 4.2-unstable VGA
                          Passthrough blog: <b><u><a
                                moz-do-not-send="true"
href="http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through"
                                target="_blank">http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through</a></u></b><br>
                          <br>
                          Jean David Techer's official website is his
                          business venture.<br>
                          <br>
                          Basically, I am Jean David Techer's <b><u>"customer"</u></b>,
                          trying to obtain technical support from him.
                          Of course, he is <b><u>not obliged</u></b> to
                          provide technical support to me since he is
                          providing <b><u>free</u></b> services. It is,
                          after all, an open source software project.
                          Nobody is obliged to provide anybody with
                          technical support. <b><u>To do Jean David
                              Techer justice, he replied most of my
                              questions while avoiding some of my
                              questions.</u></b><br>
                          <br>
                          Finally, I have also failed to obtain
                          technical support from Xen developers like Ian
                          Campbell from <big><b><u>Citrix Corporation</u></b></big>
                          and Konrad Wilk from <big><b><u>Oracle
                                Corporation</u></b></big>. <u><b>I have
                              always provided all the steps which I have
                              taken, the configuration files and
                              necessary documentation, and kernel
                              messages and error logs</b></u> to
                          xen-users and xen-devel mailing lists, but
                          they keep insisting I did not provide the
                          information they required. I wondered why. I
                          think they did not read my emails carefully.
                          They told me they would not reply to me any
                          more if I do not provide the information they
                          requested. <u><b>But the problem is that I
                              have always provided information they
                              requested!</b></u> I think they missed
                          some of my emails, or did not read my emails
                          carefully enough. I am an <b><u>ardent
                              supporter</u></b> and <b><u>SERIOUS
                              software tester</u></b> for open source
                          Xen virtualization/hypervisor but they treated
                          me lightly. <u><b>I always read my emails
                              WORD BY WORD.</b></u> I have even went to
                          the point of making a video on the <b><u>BUG</u></b>
                          and uploading my video to Youtube. The video
                          is only THREE minutes. <br>
                          <br>
                          <u><b>As everybody says, a picture is worth a
                              thousand words. A video is worth a BILLION
                              words!</b></u><br>
                          <br>
                          I have also failed to obtain technical support
                          from Xen developers regarding Xen 4.2-unstable
                          VGA Passthrough.<br>
                          <br>
                          I am hoping Xen 4.2 would have official
                          support for Xen VGA Passthrough for both
                          NVIDIA and ATI cards.<br>
                          <br>
                          Casey DeLorme, thank you very much once again.
                          I will be making changes to my Xen, Linux
                          Kernel and Xen VGA Passthrough Documentation
                          and will be releasing Version 1.7 shortly.
                          Jean David Techer's documentation assumes some
                          level of advanced Linux technical knowledge,
                          so I am writing documentation on my own so
                          that everybody, not just advanced Linux and
                          Xen users, can follow. I have made references
                          to Jean David Techer's documentation in my own
                          documentation.<br>
                          <br>
                          I would be very happy if people would use my
                          documentation. Of course, it satisfies my ego
                          and my vanity. Haha.<br>
                          <br>
                          I have been un-employed for nearly three years
                          now, and I would hesitate to spend a few
                          hundred dollars on an ATI VGA card. I quit my
                          job as an IT engineer 3 years ago because my
                          father suffered from lacunar infarct, or more
                          commonly known as stroke. My NVIDIA Geforce
                          8400 GS costs only S$44. Please understand why
                          I hesitate to buy an ATI VGA card. The
                          cheapest one costs SGD$279.<br>
                          <br>
                          I have a diploma in Mechanical+Electronics
                          engineering from Singapore Polytechnic and a
                          Bachelor's degree in Mechanical Engineering
                          from the National University of Singapore. But
                          I do not have qualifications in Computer
                          Science or Information Technology. I have
                          worked as an Information Technology engineer
                          in Defense Science and Technology Agency,
                          Ministry of Defense, Singapore, National
                          Computer Systems Pte Ltd, Asiasoft Online Pte
                          Ltd, and Ishinemax Singapore Pte Ltd.<br>
                          <br>
                          Google search terms: Frenchman Jean David
                          Techer, Singaporean Teo En Ming's Xen, Linux
                          Kernel and Xen VGA Passthrough Documentation,
                          Xen 4.2-unstable VGA Passthrough to Windows 8
                          Consumer Preview and Windows XP HVM Virtual
                          Machines<br>
                          <br>
                          Thank you very much for reading my lengthy
                          email. I am always courteous, saying "Please
                          help me. Please. Please. Please." and "Thank
                          you very much for your kind assistance" in my
                          emails.<br>
                          <br>
                          Thank you very much.<br>
                          <br>
                        </div>
                      </div>
                      <div class="im"> -- <br>
                        Yours sincerely, <br>
                        Mr. Teo En Ming (Zhang Enming) <br>
                      </div>
                      <div class="im"> Singapore Citizen <br>
                        <br>
                        cc: His Excellency The Prime Minister Mr. Lee
                        Hsien Loong, Prime Minister's Office, Republic
                        of Singapore <br>
                        <br>
                        On 29/03/2012 03:53, Casey DeLorme wrote: </div>
                      <div class="im">
                        <blockquote type="cite">
                          <div>
                            <div>Hi Teo,</div>
                            <div><br>
                            </div>
                            <div>I tried David's patch files a while ago
                              <b><u>without success</u></b>. &nbsp;I had Xen
                              compiled with the patch files and my GTX
                              460 VGA BIOS rom, <u><b>but I got the
                                  same as you, either a BSOD or Code 43
                                  in Device Manager.</b></u></div>
                            <div><br>
                            </div>
                            <div>You sound plenty competent, but it's
                              important to remember that you are
                              pioneering a technology that for consumers
                              is still in its infancy. &nbsp;Very few people
                              are testing this with consumer equipment,
                              so finding results seems to be a rarity.</div>
                            <div><br>
                            </div>
                            <br>
                          </div>
                        </blockquote>
                        <br>
                        <br>
                      </div>
                    </div>
                    <br>
                    _______________________________________________<br>
                    Xen-users mailing list<br>
                    <a moz-do-not-send="true"
                      href="mailto:Xen-users@lists.xen.org">Xen-users@lists.xen.org</a><br>
                    <a moz-do-not-send="true"
                      href="http://lists.xen.org/xen-users"
                      target="_blank">http://lists.xen.org/xen-users</a><br>
                  </blockquote>
                </div>
                <br>
              </blockquote>
              <br>
              <br>
            </blockquote>
            <br>
            <br>
          </blockquote>
          <br>
        </blockquote>
        <br>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
  </body>
</html>

--------------090102090706070302030002--


--===============3747995595132454217==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3747995595132454217==--


From xen-devel-bounces@lists.xen.org Mon May 07 05:43:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 05:43:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRGiO-0005JM-RZ; Mon, 07 May 2012 05:42:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <singapore.mr.teo.en.ming@gmail.com>)
	id 1SRGiM-0005JD-95
	for xen-devel@lists.xen.org; Mon, 07 May 2012 05:42:30 +0000
Received: from [85.158.143.35:31277] by server-3.bemta-4.messagelabs.com id
	00/0C-05853-5C067AF4; Mon, 07 May 2012 05:42:29 +0000
X-Env-Sender: singapore.mr.teo.en.ming@gmail.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336369343!14969577!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_60_70, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9262 invoked from network); 7 May 2012 05:42:25 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 05:42:25 -0000
Received: by pbbro12 with SMTP id ro12so6597241pbb.32
	for <multiple recipients>; Sun, 06 May 2012 22:42:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type;
	bh=eV/T06icd0TergATHpN37ixeZxThD3dDW0sIYBsYuBY=;
	b=asGavIIzdNzcwyKpjP5qiJ2SGwlZIcHiADdh01wPCzOpFiywSoYy+Nw+K7unrRcxkZ
	uZlVuOd5s+qTYlTKa/EMj+3HfniJWAcmiqFjRPFR45tc9d+1JxQ70+LSCCn86fy5mmWW
	AcyOFNJqgG4ayPTsEBNd5atGCd4P5XtJrWptV93+1b3kHSxx1EYb1e2wq27Gp5wno5f9
	mRGZ8Ugq3eXBmJZpotrGzFHeUwQONs0KTPIxNPyq2Dlwhc/awH3aFXphQ6Sg6nl0MChE
	1mD0xU2QH0+y+9wTwSuyQZGge1zxNsHUB/XyCCNkWm4vEFo//86H2qBRgwqnznR6Y2+l
	iVBA==
Received: by 10.68.72.70 with SMTP id b6mr34071227pbv.58.1336369342706;
	Sun, 06 May 2012 22:42:22 -0700 (PDT)
Received: from [192.168.1.2] (cm11.gamma206.maxonline.com.sg. [202.156.206.11])
	by mx.google.com with ESMTPS id py6sm17069592pbc.13.2012.05.06.22.42.18
	(version=SSLv3 cipher=OTHER); Sun, 06 May 2012 22:42:21 -0700 (PDT)
Message-ID: <4FA760B9.4060501@gmail.com>
Date: Mon, 07 May 2012 13:42:17 +0800
From: "Teo En Ming (Zhang Enming)" <singapore.mr.teo.en.ming@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: wei.huang2@amd.com
References: <4F7334D9.2020700@gmail.com>
	<CAA7N5Ra53YKBPZqHKppsOCoNEF4JMO5emrPcSu=w2S+yxsQBfQ@mail.gmail.com>
	<4F73C718.9020905@gmail.com>
	<CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com>
	<4F7484C0.2060009@gmail.com> <4F74AB69.4080507@gmail.com>
	<4F74C205.9070104@amd.com>
	<CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com>
	<4F74EA35.4030305@amd.com> <4F753CD8.4050300@gmail.com>
	<4F75C59F.8030407@amd.com>
In-Reply-To: <4F75C59F.8030407@amd.com>
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Casey DeLorme <cdelorme@gmail.com>,
	Tobias Geiger <tobias.geiger@vido.info>,
	'Teo En Ming' <teo.en.ming@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
 Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5838769769867168659=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============5838769769867168659==
Content-Type: multipart/alternative;
 boundary="------------070309050200070401020705"

This is a multi-part message in MIME format.
--------------070309050200070401020705
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 30/03/2012 22:39, Wei Huang wrote:
> On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) wrote:
>> On 30/03/2012 07:03, Wei Huang wrote:
>>> On 03/29/2012 04:29 PM, Casey DeLorme wrote:
>>>> David,
>>>>
>>>> XenServer VGA Passthrough requires a paid/licensed copy, which 
>>>> costs $2500, a bit out of my price range for experimentation. 
>>>>  Important to note that the feature is not a part of the 30-day 
>>>> trial license.
>>>>
>>>> However, Citrix recently visited my college and I was able to 
>>>> preview hardware access on a laptop one of the employees had, where 
>>>> they swapped between Ubuntu and Windows with a hotkey, and various 
>>>> hardware components including onboard GPU and the WebCam were 
>>>> accessible.
>>>>
>>>> In testing XenServer, I can say that if I had a business, that's 
>>>> the product I would use.  In the past month having tried Xen and 
>>>> ESXi, I was astonished with the ease of use for XenServer.
>>>>
>>>> As for Catalyst, version 12.2 (the latest currently) worked for me.
>>>>
>>>> Important to note that until I followed Andrews advice to omit the 
>>>> Catalyst Control Center, the installation resulted in a BSOD.
>>> I saw similar issue whiling playing with XenClient. After discussing 
>>> with AMD GPU driver team, the conclusion was that the installer has 
>>> a bug. But I have not received any further update from them. Also 
>>> manual driver installation (after many tries) did fix problem for me.
>>>>
>>>> The solution, select "Custom" installation and uncheck the CCC. 
>>>>  After the installation your first reboot should run some follow-up 
>>>> updates via cmd, you need to reboot a second time for fully 
>>>> functional drivers.
>>>>
>>>> Also, I had underscan on my monitor so I went out on a limb and 
>>>> re-ran the setup for Catalyst, and was able to get CCC installed 
>>>> with a second run through, which allowed me to fix my underscan issue.
>>>>
>>>> My conclusion is that the CCC requires some driver functionality 
>>>> that isn't available until after you install the drivers, this 
>>>> could be on all systems or it might be related to how HVM's handle 
>>>> the PCI devices, that much I can't say.
>>>>
>>>>
>>>>
>>>> Teo,
>>>>
>>>> I could be spouting nonsense, and if so I'm sure Wei can correct 
>>>> me, but I am pretty sure AMD engineers have been contributing to 
>>>> Xen for a while, and some patches have already been applied. 
>>>>  Obviously it isn't flawless, I myself haven't gotten video at boot 
>>>> time, only at the login screen.
>>>>
>>> This is because VBIOS patch wasn't applied. But as I said before, my 
>>> VBIOS wasn't universal enough to put it as a production patch. So I 
>>> am hesitant to put it out.
>>
>> Dear Wei Huang at AMD Corporation,
>>
>> Please put your Xen VGA Passthrough patch out so that all of us can 
>> have a try.
>>
>> Thank you very much.
>>
> http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.html


Dear Wei Huang,

Your VGA Passthrough patch is still not included in the Xen 4.2-unstable 
tree?

Thank you.


>> -- 
>> Yours sincerely,
>>
>> Mr. Teo En Ming (Zhang Enming)
>> Singapore
>>
>>>> Mine works on 4.1.2, but it is possible that 4.1.0 had less of 
>>>> these "patches" hence Sebastien's post.
>>>>
>>>> Also, I apologize as I did not properly word my opinion before. 
>>>>  VGA Passthrough is new "for consumer components".  In 2010 the 
>>>> number of desktop (not server) boards boasting VT-d functionality 
>>>> could probably be counted on one hand.  To my understanding that 
>>>> means the technology is at most 3 years old, still a baby in my 
>>>> opinion.
>>>>
>>>> I didn't mean that the technology hadn't been implemented into 
>>>> various Hypervisors, just that it is clearly not a perfected 
>>>> feature.  If you consider 3 years of consumer availability, dates 
>>>> become important when researching.  Sebastien's post was May 2011, 
>>>> just shy of one year ago, and Thomas's was in 2010.
>>>>
>>>> There are newer patches still for ATI in Xen 4.2, which I intend to 
>>>> test over the next week.  I have NOT gotten ATI to work at boot 
>>>> time, video starts at the login screen.
>>>>
>>>> I agree with Wei that drivers can contribute to BSOD's and errors, 
>>>> but when an install doesn't fail but the hardware reacts the same 
>>>> as before, I would like to assume the driver is irrelative.
>>>>
>>> Have you looked at XenClient project? It has a customized ATI 
>>> component which allows you to switch between VMs flawlessly. I think 
>>> it is the most mature Xen solution for GPU passthru in client area.
>>
>> Dear Wei Huang at AMD Corporation,
>>
>> May I know what is the XenClient project?
>>
>>
>>>>
>>>> ~Casey
>>>>
>>>> On Thu, Mar 29, 2012 at 4:11 PM, Wei Huang <wei.huang2@amd.com 
>>>> <mailto:wei.huang2@amd.com>> wrote:
>>>>
>>>>     On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
>>>>>     Dear Casey DeLorme,
>>>>>
>>>>>     This guy, Sebastien Gauthier, also has the same problems as
>>>>>     us. He was using Xen 4.1.0 and an ATI Radeon 4550. He applied
>>>>>     Mr. Wei Huang's patch. After installing the latest ATI/AMD
>>>>>     Catalyst drivers, he got a BSOD with Xen VGA Passthrough to
>>>>>     Windows 7.
>>>>>
>>>>>     Please read Sebastien Gauthier's case here:
>>>>>
>>>>>     http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html
>>>>>
>>>>>     Hence Sebastien Gauthier reported Xen VGA Passthrough with
>>>>>     PARTIAL SUCCESS, like us.
>>>>>
>>>>>     Dear Tobias Geiger,
>>>>>
>>>>>     You were saying that with ATI VGA cards, you do not need to
>>>>>     apply any Xen VGA Passthrough patches. But this guy Sebastien
>>>>>     Gauthier applied Mr. Wei Huang's patches to Xen 4.1.0 and got
>>>>>     a BSOD after installing ATI Catalyst drivers. Sebastien
>>>>>     Gauthier did not get 100% success with Xen VGA Passthrough to
>>>>>     Windows 7 using an ATI VGA card.
>>>>>
>>>>     Hi Teo,
>>>>
>>>>     The VBIOS patch I sent out did not work for all ATI cards. The
>>>>     patch itself assumed certain behavior of GPU VBIOS. But this
>>>>     doesn't apply to every GPU generation. From this perspective,
>>>>     my patch isn't universal. Also there are many factors, some of
>>>>     which are not in control by us (like graphics driver), can
>>>>     contribute to BSOD you mentioned. I am not in a position to
>>>>     debug it for everyone's card (as I don't have all cards).
>>>>
>>>>     Thanks,
>>>>     -Wei
>>>>
>>>>>     -- 
>>>>>     Yours sincerely,
>>>>>
>>>>>     Mr. Teo En Ming (Zhang Enming)
>>>>>     Singapore
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>     On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
>>>>>>     On 29/03/2012 12:29, Casey DeLorme wrote:
>>>>>>>     My mistake for not hitting "Reply to All", sorry.
>>>>>>
>>>>>>     No worries Casey.
>>>>>>
>>>>>>>
>>>>>>>     It might be of some value to mention that my tests were with
>>>>>>>     Windows 7, I have no interest in using XP anymore.  Also, I
>>>>>>>     did all of my testing through remote VNC, not once did I
>>>>>>>     actually get video, even 2D, working.
>>>>>>
>>>>>>     I bought 2 copies of Windows XP Home Edition in the past
>>>>>>     because it is cheap, at S$145. I did not buy Windows 7
>>>>>>     because it is expensive. I got video working all right, but
>>>>>>     only 2D. I cannot get 3D graphics working.
>>>>>>
>>>>>>>     However, my errors are exactly as you described:
>>>>>>>
>>>>>>>     1.  Windows recognizes the model (GTX 460), not "unknown PCI
>>>>>>>     device".
>>>>>>>     2.  Device code 43.
>>>>>>>     3.  No resources assigned to the device.
>>>>>>
>>>>>>     We have the same set of errors.
>>>>>>
>>>>>>>
>>>>>>>     Might be worth mentioning, I was able to run the latest
>>>>>>>     nVidia driver installation without errors, but after
>>>>>>>     rebooting there was no change, same error code, still no video.
>>>>>>
>>>>>>     Same situation here with the latest NVIDIA drivers. But I
>>>>>>     only have 2D video working. I can't get 3D video to work.
>>>>>>
>>>>>>>      To me this would be evidence that driver version isn't a
>>>>>>>     problem, but then again I didn't have anything actually working.
>>>>>>
>>>>>>     I agree that driver version isn't a problem. Something is
>>>>>>     wrong somewhere.
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     I am an IT student in college, so my experience is limited
>>>>>>>     to mostly programming with very little knowledge of the
>>>>>>>     inner-workings of hardware.  So, forgive me for being unable
>>>>>>>     to help with regards to memory addresses on the cards.
>>>>>>
>>>>>>     I am hoping that Intel engineers and Xen developers would be
>>>>>>     able to help.
>>>>>>
>>>>>>>
>>>>>>>     I've been using *nix for about 4 years, and Windows since I
>>>>>>>     my age was a single digit.  I have had experience setting up
>>>>>>>     server features such as web, database, and application
>>>>>>>     servers but I am still green when it comes to kernel or
>>>>>>>     hardware configuration.
>>>>>>
>>>>>>     I started learning Linux/UNIX since the year 2005, that is
>>>>>>     about 7 years ago. I started using Windows when it was
>>>>>>     version 3.1. I love compiling the latest Linux kernel and
>>>>>>     assembling my own computer hardware.
>>>>>>
>>>>>>>
>>>>>>>     My Xen adventure began 35 days ago, and it is no
>>>>>>>     exaggeration to say that in those 35 days I have learned
>>>>>>>     more about linux than I had in the past two years.  I like
>>>>>>>     challenges as much as the next IT person, but I ran out of
>>>>>>>     time and ideas for debugging my nVidia problems.  The nVidia
>>>>>>>     stretch of my adventure lasted for 24 days through 54 fresh
>>>>>>>     linux installations accompanied by over 200~ pages worth of
>>>>>>>     documented failures and not a single pixel sighted.
>>>>>>
>>>>>>     Why not make your documentation into PDF? It is a very
>>>>>>     popular document format.
>>>>>>
>>>>>>>
>>>>>>>     The ATI card took me a day, less than 12 hours of relatively
>>>>>>>     easy debugging by comparison to the aforementioned testing.
>>>>>>>      I do fully understanding financial constraints, but it is a
>>>>>>>     working solution and worth mentioning.  I do not know what
>>>>>>>     the prices are like in Singapore, but in the states I was
>>>>>>>     able to buy an ATI Radeon HD 6870 for $160.  For me it came
>>>>>>>     down to weighing my objectives against my curiosity.
>>>>>>
>>>>>>     That ATI Radeon HD 6870 would cost me $279, I think.
>>>>>>
>>>>>>>
>>>>>>>     If you do continue your nVidia endeavors I wish you success,
>>>>>>>     but as in my former email VGA passthrough is a new frontier,
>>>>>>>     not even Guru's like David may not be able to help beyond
>>>>>>>     their own hardware experiences.
>>>>>>
>>>>>>     I don't think VGA passthrough is a new frontier. Oracle
>>>>>>     VirtualBox and Linux KVM supports VGA passthrough as well.
>>>>>>     Xen ATI VGA Passthrough works out of the box, as Tobias
>>>>>>     Geiger suggested, but NVIDIA requires patches.
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     Documentation is one problem I agree with you on 100%.  I
>>>>>>>     came into this knowing relatively little about Linux &
>>>>>>>     hardware, and nothing about Xen, and most every guide I
>>>>>>>     found assumed I had been in a deep relationship with Linux
>>>>>>>     for many years and had a basic understanding of Xen commands.
>>>>>>
>>>>>>     I started learning Xen since the year 2007, which is about 5
>>>>>>     years ago.
>>>>>>
>>>>>>>
>>>>>>>     Like you, I intend to use those documented failures as well
>>>>>>>     as my recent success to create a comprehensive guide with
>>>>>>>     photographs, screen captures, and perhaps even videos going
>>>>>>>     from "assembled computer" to "Complete Xen Dom0 /w HVM & VGA
>>>>>>>     Passthrough".  Provided the wiki will allow me to upload the
>>>>>>>     screenshots, I'll be certain to post it there.
>>>>>>
>>>>>>     I will be looking forward to your documentation and videos.
>>>>>>     Right now Xen wiki allows uploading image files and PDF
>>>>>>     files. Why not create a PDF document and share it with all of
>>>>>>     us? It is known as portable document format and is very
>>>>>>     popular, but it appears that xen mailing lists don't like PDF
>>>>>>     format.
>>>>>>
>>>>>>     _*I don't like wiki pages because anybody can edit and
>>>>>>     fundamentally mess up the wiki pages, even providing bogus
>>>>>>     and erroneous information. That's why I don't like creating
>>>>>>     wiki pages. Anybody can edit and mess up the information you
>>>>>>     have painstakingly created on the wiki pages. So please take
>>>>>>     note.*_
>>>>>>
>>>>>>     -- 
>>>>>>     Yours sincerely,
>>>>>>
>>>>>>     Mr. Teo En Ming (Zhang Enming)
>>>>>>     Singapore
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>     ~Casey
>>>>>>>
>>>>>>>     On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang Enming)
>>>>>>>     <singapore.mr.teo.en.ming@gmail.com
>>>>>>>     <mailto:singapore.mr.teo.en.ming@gmail.com>> wrote:
>>>>>>>
>>>>>>>         Dearest Casey DeLorme,
>>>>>>>
>>>>>>>         Thank you very very much for your kind feedback and
>>>>>>>         input. I would also like to thank Mr. Tobias Geiger,
>>>>>>>         again, for providing his suggestion on exposing the
>>>>>>>         fourth memory region in
>>>>>>>         tools/firmware/hvmloader/acpi/dsdt.asl. _In any case,
>>>>>>>         either exposing the first 3 memory regions only or
>>>>>>>         exposing all the 4 memory regions does not work._ Sadly,
>>>>>>>         Tobias Geiger is unable to help me further.
>>>>>>>
>>>>>>>         I have asked Jean David Techer, what about the 4th PCI
>>>>>>>         memory region? Why only expose the first 3 PCI memory
>>>>>>>         regions? I don't understand, of course. Jean David
>>>>>>>         Techer did not reply to my question.
>>>>>>>
>>>>>>>         I have decided to post your prompt reply to the
>>>>>>>         xen-users and xen-devel mailing lists, in case people
>>>>>>>         think that I am finding fault with Jean David Techer, or
>>>>>>>         trying to irritate him, or trying to make him angry, or
>>>>>>>         trying to aggravate him. Jean David Techer replied me
>>>>>>>         with an email saying that I _spent too much time_ and
>>>>>>>         _too bent_ on solving the yellow exclamation mark glitch
>>>>>>>         for my NVIDIA Geforce 8400GS in Device Manager in
>>>>>>>         Windows 8 Consumer Preview and Windows XP Home Edition,
>>>>>>>         and that I sent *_stupid_* requests. Stupid requests?
>>>>>>>         Did he read my emails carefully, word by word?
>>>>>>>
>>>>>>>         Casey DeLorme, please, can I confirm with you again that
>>>>>>>         you are getting the following errors after applying Jean
>>>>>>>         David Techer's Xen 4.2-unstable VGA Passthrough patches:
>>>>>>>
>>>>>>>         *_(1) Yellow exclamation mark besides your NVIDIA GTX
>>>>>>>         460 in Device Manager
>>>>>>>         (2) Windows has stopped this device because it has
>>>>>>>         reported problems. (Code 43)
>>>>>>>         (3) This device isn't using any resources because it has
>>>>>>>         a problem._*
>>>>>>>
>>>>>>>         Jean David Techer insists that our technical issues are
>>>>>>>         due to a NVIDIA driver problem. He insists that you have
>>>>>>>         to install NVIDIA driver versions 275.33 WHQL and 275.50
>>>>>>>         BETA. Any other NVIDIA driver versions (above 280.XX)
>>>>>>>         will not work, according to Jean David Techer.
>>>>>>>         *_However, I have tried installing NVIDIA driver
>>>>>>>         versions 275.33 and 275.50 from www.softpedia.com
>>>>>>>         <http://www.softpedia.com>, as he suggested, but it
>>>>>>>         caused my Windows XP Home Edition HVM virtual machine to
>>>>>>>         be destroyed/terminated/crash after a few minutes and my
>>>>>>>         dom0 to crash as well._* NVIDIA driver versions 275.33
>>>>>>>         and 275.50 for Windows XP 32-bit is not available from
>>>>>>>         the official NVIDIA website.
>>>>>>>
>>>>>>>         So it is definitely not a NVIDIA driver problem. I
>>>>>>>         suspect that the technical issue has to do with *_MMIO
>>>>>>>         BARs pBAR:vBAR 1:1 matching_*. I don't think there is
>>>>>>>         any problem with vgabios-pt.bin extracted out from our
>>>>>>>         NVIDIA VGA cards, because I have performed a "hexdump
>>>>>>>         -C" on my extracted VGA BIOS EEPROM, or Electrically
>>>>>>>         Erasable Programmable Read Only Memory.
>>>>>>>
>>>>>>>         Secondly, it does seem strange that Jean David Techer
>>>>>>>         was able to attain *_100%_*, ie. *_perfect success_*
>>>>>>>         with Xen 4.2-unstable VGA Passthrough to his Windows XP
>>>>>>>         32-bit and 64-bit HVM domU. Have you watched his Youtube
>>>>>>>         video? It is only 4 minutes. Please do watch Jean David
>>>>>>>         Techer's Youtube video at the following URL:
>>>>>>>
>>>>>>>         Jean David Techer's Xen 4.2-unstable VGA Passthrough to
>>>>>>>         Windows XP x64 HVM domU Youtube video link:
>>>>>>>         *_http://www.youtube.com/watch?v=3SaYO0ERW44_*
>>>>>>>
>>>>>>>         I am *_appalled_* and *_baffle__d_* that he has attained
>>>>>>>         *_100% success_* while both of us have only attained
>>>>>>>         *_partial succes__s_* (*_i.e. less than 100%_*) on Xen
>>>>>>>         4.2-unstable VGA Passthrough to Windows 8 Consumer
>>>>>>>         Preview and Windows XP.
>>>>>>>
>>>>>>>         *_Solving the yellow exclamation mark issue is important
>>>>>>>         because we would not be able to run 3D graphics
>>>>>>>         benchmarks and play 3D games without solving it. I am
>>>>>>>         not sending silly emails about some yellow marks, as
>>>>>>>         Jean David Techer suggested. I can't even run Unigine
>>>>>>>         Heaven DX11, and 3dmark11 3D display benchmarks, because
>>>>>>>         of the yellow exclamation mark for NVIDIA Geforce 8400
>>>>>>>         GS in Device Manager._*
>>>>>>>
>>>>>>>         Casey DeLorme, with your report on relatively easy
>>>>>>>         success with ATI VGA cards, I think I would go the ATI
>>>>>>>         way, but I would have to spend a few hundred dollars
>>>>>>>         compared to my cheap SGD$44 NVIDIA Geforce 8400 GS card.
>>>>>>>         And while deciding to go the ATI way, I would also like
>>>>>>>         to continue troubleshooting with the NVIDIA problem,
>>>>>>>         because I consider it to be a technical challenge.
>>>>>>>
>>>>>>>         In essence, Jean David Techner is considered to be a
>>>>>>>         "boss", or business owner, or proprietor, or
>>>>>>>         technopreneur, or entrepreneur, or technical support
>>>>>>>         officer, or customer support officer, or IT helpdesk
>>>>>>>         engineer, providing services like his forward-ported Xen
>>>>>>>         4.2-unstable VGA Passthrough patches and the
>>>>>>>         documentation on his blog. I repost Jean David Techer's
>>>>>>>         official website here:
>>>>>>>
>>>>>>>         Jean David Techer's Xen 4.2-unstable VGA Passthrough
>>>>>>>         blog:
>>>>>>>         *_http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through_*
>>>>>>>
>>>>>>>         Jean David Techer's official website is his business
>>>>>>>         venture.
>>>>>>>
>>>>>>>         Basically, I am Jean David Techer's *_"customer"_*,
>>>>>>>         trying to obtain technical support from him. Of course,
>>>>>>>         he is *_not obliged_* to provide technical support to me
>>>>>>>         since he is providing *_free_* services. It is, after
>>>>>>>         all, an open source software project. Nobody is obliged
>>>>>>>         to provide anybody with technical support. *_To do Jean
>>>>>>>         David Techer justice, he replied most of my questions
>>>>>>>         while avoiding some of my questions._*
>>>>>>>
>>>>>>>         Finally, I have also failed to obtain technical support
>>>>>>>         from Xen developers like Ian Campbell from *_Citrix
>>>>>>>         Corporation_* and Konrad Wilk from *_Oracle
>>>>>>>         Corporation_*. _*I have always provided all the steps
>>>>>>>         which I have taken, the configuration files and
>>>>>>>         necessary documentation, and kernel messages and error
>>>>>>>         logs*_ to xen-users and xen-devel mailing lists, but
>>>>>>>         they keep insisting I did not provide the information
>>>>>>>         they required. I wondered why. I think they did not read
>>>>>>>         my emails carefully. They told me they would not reply
>>>>>>>         to me any more if I do not provide the information they
>>>>>>>         requested. _*But the problem is that I have always
>>>>>>>         provided information they requested!*_ I think they
>>>>>>>         missed some of my emails, or did not read my emails
>>>>>>>         carefully enough. I am an *_ardent supporter_* and
>>>>>>>         *_SERIOUS software tester_* for open source Xen
>>>>>>>         virtualization/hypervisor but they treated me lightly.
>>>>>>>         _*I always read my emails WORD BY WORD.*_ I have even
>>>>>>>         went to the point of making a video on the *_BUG_* and
>>>>>>>         uploading my video to Youtube. The video is only THREE
>>>>>>>         minutes.
>>>>>>>
>>>>>>>         _*As everybody says, a picture is worth a thousand
>>>>>>>         words. A video is worth a BILLION words!*_
>>>>>>>
>>>>>>>         I have also failed to obtain technical support from Xen
>>>>>>>         developers regarding Xen 4.2-unstable VGA Passthrough.
>>>>>>>
>>>>>>>         I am hoping Xen 4.2 would have official support for Xen
>>>>>>>         VGA Passthrough for both NVIDIA and ATI cards.
>>>>>>>
>>>>>>>         Casey DeLorme, thank you very much once again. I will be
>>>>>>>         making changes to my Xen, Linux Kernel and Xen VGA
>>>>>>>         Passthrough Documentation and will be releasing Version
>>>>>>>         1.7 shortly. Jean David Techer's documentation assumes
>>>>>>>         some level of advanced Linux technical knowledge, so I
>>>>>>>         am writing documentation on my own so that everybody,
>>>>>>>         not just advanced Linux and Xen users, can follow. I
>>>>>>>         have made references to Jean David Techer's
>>>>>>>         documentation in my own documentation.
>>>>>>>
>>>>>>>         I would be very happy if people would use my
>>>>>>>         documentation. Of course, it satisfies my ego and my
>>>>>>>         vanity. Haha.
>>>>>>>
>>>>>>>         I have been un-employed for nearly three years now, and
>>>>>>>         I would hesitate to spend a few hundred dollars on an
>>>>>>>         ATI VGA card. I quit my job as an IT engineer 3 years
>>>>>>>         ago because my father suffered from lacunar infarct, or
>>>>>>>         more commonly known as stroke. My NVIDIA Geforce 8400 GS
>>>>>>>         costs only S$44. Please understand why I hesitate to buy
>>>>>>>         an ATI VGA card. The cheapest one costs SGD$279.
>>>>>>>
>>>>>>>         I have a diploma in Mechanical+Electronics engineering
>>>>>>>         from Singapore Polytechnic and a Bachelor's degree in
>>>>>>>         Mechanical Engineering from the National University of
>>>>>>>         Singapore. But I do not have qualifications in Computer
>>>>>>>         Science or Information Technology. I have worked as an
>>>>>>>         Information Technology engineer in Defense Science and
>>>>>>>         Technology Agency, Ministry of Defense, Singapore,
>>>>>>>         National Computer Systems Pte Ltd, Asiasoft Online Pte
>>>>>>>         Ltd, and Ishinemax Singapore Pte Ltd.
>>>>>>>
>>>>>>>         Google search terms: Frenchman Jean David Techer,
>>>>>>>         Singaporean Teo En Ming's Xen, Linux Kernel and Xen VGA
>>>>>>>         Passthrough Documentation, Xen 4.2-unstable VGA
>>>>>>>         Passthrough to Windows 8 Consumer Preview and Windows XP
>>>>>>>         HVM Virtual Machines
>>>>>>>
>>>>>>>         Thank you very much for reading my lengthy email. I am
>>>>>>>         always courteous, saying "Please help me. Please.
>>>>>>>         Please. Please." and "Thank you very much for your kind
>>>>>>>         assistance" in my emails.
>>>>>>>
>>>>>>>         Thank you very much.
>>>>>>>
>>>>>>>         -- 
>>>>>>>         Yours sincerely,
>>>>>>>         Mr. Teo En Ming (Zhang Enming)
>>>>>>>         Singapore Citizen
>>>>>>>
>>>>>>>         cc: His Excellency The Prime Minister Mr. Lee Hsien
>>>>>>>         Loong, Prime Minister's Office, Republic of Singapore
>>>>>>>
>>>>>>>         On 29/03/2012 03:53, Casey DeLorme wrote:
>>>>>>>>         Hi Teo,
>>>>>>>>
>>>>>>>>         I tried David's patch files a while ago *_without
>>>>>>>>         success_*.  I had Xen compiled with the patch files and
>>>>>>>>         my GTX 460 VGA BIOS rom, _*but I got the same as you,
>>>>>>>>         either a BSOD or Code 43 in Device Manager.*_
>>>>>>>>
>>>>>>>>         You sound plenty competent, but it's important to
>>>>>>>>         remember that you are pioneering a technology that for
>>>>>>>>         consumers is still in its infancy.  Very few people are
>>>>>>>>         testing this with consumer equipment, so finding
>>>>>>>>         results seems to be a rarity.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>         _______________________________________________
>>>>>>>         Xen-users mailing list
>>>>>>>         Xen-users@lists.xen.org <mailto:Xen-users@lists.xen.org>
>>>>>>>         http://lists.xen.org/xen-users
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore


--------------070309050200070401020705
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 30/03/2012 22:39, Wei Huang wrote:
    <blockquote cite="mid:4F75C59F.8030407@amd.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) wrote:
      <blockquote cite="mid:4F753CD8.4050300@gmail.com" type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        On 30/03/2012 07:03, Wei Huang wrote:
        <blockquote cite="mid:4F74EA35.4030305@amd.com" type="cite"> On
          03/29/2012 04:29 PM, Casey DeLorme wrote:
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>David,</div>
            <div>
              <div><br>
              </div>
              <div>XenServer VGA Passthrough requires a paid/licensed
                copy, which costs $2500, a bit out of my price range for
                experimentation. &nbsp;Important to note that the feature is
                not a part of the 30-day trial license.</div>
              <div><br>
              </div>
              <div>However, Citrix recently visited my college and I was
                able to preview hardware access on a laptop one of the
                employees had, where they swapped between Ubuntu and
                Windows with a hotkey, and various hardware components
                including onboard GPU and the WebCam were accessible.</div>
              <div><br>
              </div>
              <div>In testing XenServer, I can say that if I had a
                business, that's the product I would use. &nbsp;In the past
                month having tried Xen and ESXi, I was astonished with
                the ease of use for XenServer.</div>
              <div> <br>
              </div>
              <div>As for Catalyst, version 12.2 (the latest currently)
                worked for me.</div>
              <div><br>
              </div>
              <div>Important to note that until I followed Andrews
                advice to omit the Catalyst Control Center, the
                installation resulted in a BSOD.</div>
            </div>
          </blockquote>
          I saw similar issue whiling playing with XenClient. After
          discussing with AMD GPU driver team, the conclusion was that
          the installer has a bug. But I have not received any further
          update from them. Also manual driver installation (after many
          tries) did fix problem for me. <br>
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>
              <div><br>
              </div>
              <div>The solution, select "Custom" installation and
                uncheck the CCC. &nbsp;After the installation your first
                reboot should run some follow-up updates via cmd, you
                need to reboot a second time for fully functional
                drivers.</div>
              <div><br>
              </div>
              <div>Also, I had underscan on my monitor so I went out on
                a limb and re-ran the setup for Catalyst, and was able
                to get CCC installed with a second run through, which
                allowed me to fix my underscan issue.</div>
              <div><br>
              </div>
              <div>My conclusion is that the CCC requires some driver
                functionality that isn't available until after you
                install the drivers, this could be on all systems or it
                might be related to how HVM's handle the PCI devices,
                that much I can't say.</div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>Teo,</div>
              <div><br>
              </div>
              <div>I could be spouting nonsense, and if so I'm sure Wei
                can correct me, but I am pretty sure AMD engineers have
                been contributing to Xen for a while, and some patches
                have already been applied. &nbsp;Obviously it isn't flawless,
                I myself haven't gotten video at boot time, only at the
                login screen.</div>
              <div><br>
              </div>
            </div>
          </blockquote>
          This is because VBIOS patch wasn't applied. But as I said
          before, my VBIOS wasn't universal enough to put it as a
          production patch. So I am hesitant to put it out.<br>
        </blockquote>
        <br>
        Dear Wei Huang at AMD Corporation,<br>
        <br>
        Please put your Xen VGA Passthrough patch out so that all of us
        can have a try.<br>
        <br>
        Thank you very much.<br>
        <br>
      </blockquote>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.html">http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.html</a><br>
    </blockquote>
    <br>
    <br>
    Dear Wei Huang,<br>
    <br>
    Your VGA Passthrough patch is still not included in the Xen
    4.2-unstable tree?<br>
    <br>
    Thank you.<br>
    <br>
    <br>
    <blockquote cite="mid:4F75C59F.8030407@amd.com" type="cite">
      <blockquote cite="mid:4F753CD8.4050300@gmail.com" type="cite">
        <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
        <br>
        <blockquote cite="mid:4F74EA35.4030305@amd.com" type="cite">
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>
              <div>Mine works on 4.1.2, but it is possible that 4.1.0
                had less of these "patches" hence Sebastien's post.</div>
              <div><br>
              </div>
              <div>Also, I apologize as I did not properly word my
                opinion before. &nbsp;VGA Passthrough is new "for consumer
                components". &nbsp;In 2010 the number of desktop (not server)
                boards boasting VT-d functionality could probably be
                counted on one hand. &nbsp;To my understanding that means the
                technology is at most 3 years old, still a baby in my
                opinion.</div>
              <div><br>
              </div>
              <div>I didn't mean that the technology hadn't been
                implemented into various Hypervisors, just that it is
                clearly not a perfected feature. &nbsp;If you consider 3
                years of consumer availability, dates become important
                when researching. &nbsp;Sebastien's post was May 2011, just
                shy of one year ago, and Thomas's was in 2010.</div>
              <div><br>
              </div>
              <div>There are newer patches still for ATI in Xen 4.2,
                which I intend to test over the next week. &nbsp;I have NOT
                gotten ATI to work at boot time, video starts at the
                login screen.</div>
              <div><br>
              </div>
              <div>I agree with Wei that drivers can contribute to
                BSOD's and errors, but when an install doesn't fail but
                the hardware reacts the same as before, I would like to
                assume the driver is irrelative.</div>
              <div><br>
              </div>
            </div>
          </blockquote>
          Have you looked at XenClient project? It has a customized ATI
          component which allows you to switch between VMs flawlessly. I
          think it is the most mature Xen solution for GPU passthru in
          client area.<br>
        </blockquote>
        <br>
        Dear Wei Huang at AMD Corporation,<br>
        <br>
        May I know what is the XenClient project?<br>
        <br>
        <br>
        <blockquote cite="mid:4F74EA35.4030305@amd.com" type="cite">
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>
              <div><br>
              </div>
              <div>~Casey</div>
              <br>
              <div class="gmail_quote">On Thu, Mar 29, 2012 at 4:11 PM,
                Wei Huang <span dir="ltr">&lt;<a moz-do-not-send="true"
                    href="mailto:wei.huang2@amd.com" target="_blank">wei.huang2@amd.com</a>&gt;</span>
                wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <div bgcolor="#FFFFFF" text="#000000">
                    <div> On 03/29/2012 01:35 PM, Teo En Ming (Zhang
                      Enming) wrote:
                      <blockquote type="cite"> Dear Casey DeLorme,<br>
                        <br>
                        This guy, Sebastien Gauthier, also has the same
                        problems as us. He was using Xen 4.1.0 and an
                        ATI Radeon 4550. He applied Mr. Wei Huang's
                        patch. After installing the latest ATI/AMD
                        Catalyst drivers, he got a BSOD with Xen VGA
                        Passthrough to Windows 7.<br>
                        <br>
                        Please read Sebastien Gauthier's case here: <br>
                        <br>
                        <a moz-do-not-send="true"
href="http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html"
                          target="_blank">http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html</a><br>
                        <br>
                        Hence Sebastien Gauthier reported Xen VGA
                        Passthrough with PARTIAL SUCCESS, like us.<br>
                        <br>
                        Dear Tobias Geiger,<br>
                        <br>
                        You were saying that with ATI VGA cards, you do
                        not need to apply any Xen VGA Passthrough
                        patches. But this guy Sebastien Gauthier applied
                        Mr. Wei Huang's patches to Xen 4.1.0 and got a
                        BSOD after installing ATI Catalyst drivers.
                        Sebastien Gauthier did not get 100% success with
                        Xen VGA Passthrough to Windows 7 using an ATI
                        VGA card.<br>
                        <br>
                      </blockquote>
                    </div>
                    Hi Teo,<br>
                    <br>
                    The VBIOS patch I sent out did not work for all ATI
                    cards. The patch itself assumed certain behavior of
                    GPU VBIOS. But this doesn't apply to every GPU
                    generation. From this perspective, my patch isn't
                    universal. Also there are many factors, some of
                    which are not in control by us (like graphics
                    driver), can contribute to BSOD you mentioned. I am
                    not in a position to debug it for everyone's card
                    (as I don't have all cards).<br>
                    <br>
                    Thanks,<br>
                    -Wei
                    <div>
                      <div><br>
                        <blockquote type="cite">
                          <pre cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
                          <br>
                          <br>
                          <br>
                          <br>
                          On 29/03/2012 23:50, Teo En Ming (Zhang
                          Enming) wrote:
                          <blockquote type="cite"> On 29/03/2012 12:29,
                            Casey DeLorme wrote:
                            <blockquote type="cite">
                              <div>My mistake for not hitting "Reply to
                                All", sorry.</div>
                            </blockquote>
                            <br>
                            No worries Casey.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>It might be of some value to mention
                                that my tests were with Windows 7, I
                                have no interest in using XP anymore.
                                &nbsp;Also, I did all of my testing through
                                remote VNC, not once did I actually get
                                video, even 2D, working.&nbsp; <br>
                              </div>
                            </blockquote>
                            <br>
                            I bought 2 copies of Windows XP Home Edition
                            in the past because it is cheap, at S$145. I
                            did not buy Windows 7 because it is
                            expensive. I got video working all right,
                            but only 2D. I cannot get 3D graphics
                            working.<br>
                            <br>
                            <blockquote type="cite">
                              <div>However, my errors are exactly as you
                                described:</div>
                              <div><br>
                              </div>
                              <div>1. &nbsp;Windows recognizes the model (GTX
                                460), not "unknown PCI device".</div>
                              <div>2. &nbsp;Device code 43.</div>
                              <div>3. &nbsp;No resources assigned to the
                                device.</div>
                            </blockquote>
                            <br>
                            We have the same set of errors.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>Might be worth mentioning, I was able
                                to run the latest nVidia driver
                                installation without errors, but after
                                rebooting there was no change, same
                                error code, still no video. </div>
                            </blockquote>
                            <br>
                            Same situation here with the latest NVIDIA
                            drivers. But I only have 2D video working. I
                            can't get 3D video to work.<br>
                            <br>
                            <blockquote type="cite">
                              <div>&nbsp;To me this would be evidence that
                                driver version isn't a problem, but then
                                again I didn't have anything actually
                                working.</div>
                            </blockquote>
                            <br>
                            I agree that driver version isn't a problem.
                            Something is wrong somewhere.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                              <div>I am an IT student in college, so my
                                experience is limited to mostly
                                programming with very little knowledge
                                of the inner-workings of hardware. &nbsp;So,
                                forgive me for being unable to help with
                                regards to memory addresses on the
                                cards.</div>
                            </blockquote>
                            <br>
                            I am hoping that Intel engineers and Xen
                            developers would be able to help.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>I've been using *nix for about 4
                                years, and Windows since I my age was a
                                single digit. &nbsp;I have had experience
                                setting up server features such as web,
                                database, and application servers but I
                                am still green when it comes to kernel
                                or hardware configuration.</div>
                            </blockquote>
                            <br>
                            I started learning Linux/UNIX since the year
                            2005, that is about 7 years ago. I started
                            using Windows when it was version 3.1. I
                            love compiling the latest Linux kernel and
                            assembling my own computer hardware.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>My Xen adventure began 35 days ago,
                                and it is no exaggeration to say that in
                                those 35 days I have learned more about
                                linux than I had in the past two years.
                                &nbsp;I like challenges as much as the next
                                IT person, but I ran out of time and
                                ideas for debugging my nVidia problems.
                                &nbsp;The nVidia stretch of my adventure
                                lasted for 24 days through 54 fresh
                                linux installations accompanied by over
                                200~ pages worth of documented failures
                                and not a single pixel sighted.</div>
                            </blockquote>
                            <br>
                            Why not make your documentation into PDF? It
                            is a very popular document format.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>The ATI card took me a day, less than
                                12 hours of relatively easy debugging by
                                comparison to the aforementioned
                                testing. &nbsp;I do fully understanding
                                financial constraints, but it is a
                                working solution and worth mentioning.
                                &nbsp;I do not know what the prices are like
                                in Singapore, but in the states I was
                                able to buy an ATI Radeon HD 6870 for
                                $160. &nbsp;For me it came down to weighing
                                my objectives against my curiosity.</div>
                            </blockquote>
                            <br>
                            That ATI Radeon HD 6870 would cost me $279,
                            I think.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>If you do continue your nVidia
                                endeavors I wish you success, but as in
                                my former email VGA passthrough is a new
                                frontier, not even Guru's like David may
                                not be able to help beyond their own
                                hardware experiences.</div>
                            </blockquote>
                            <br>
                            I don't think VGA passthrough is a new
                            frontier. Oracle VirtualBox and Linux KVM
                            supports VGA passthrough as well. Xen ATI
                            VGA Passthrough works out of the box, as
                            Tobias Geiger suggested, but NVIDIA requires
                            patches.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                              <div>Documentation is one problem I agree
                                with you on 100%. &nbsp;I came into this
                                knowing relatively little about Linux
                                &amp; hardware, and nothing about Xen,
                                and most every guide I found assumed I
                                had been in a deep relationship with
                                Linux for many years and had a basic
                                understanding of Xen commands.</div>
                            </blockquote>
                            <br>
                            I started learning Xen since the year 2007,
                            which is about 5 years ago.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>Like you, I intend to use those
                                documented failures as well as my recent
                                success to create a comprehensive guide
                                with photographs, screen captures, and
                                perhaps even videos going from
                                "assembled computer" to "Complete Xen
                                Dom0 /w HVM &amp; VGA Passthrough".
                                &nbsp;Provided the wiki will allow me to
                                upload the screenshots, I'll be certain
                                to post it there.</div>
                            </blockquote>
                            <br>
                            I will be looking forward to your
                            documentation and videos. Right now Xen wiki
                            allows uploading image files and PDF files.
                            Why not create a PDF document and share it
                            with all of us? It is known as portable
                            document format and is very popular, but it
                            appears that xen mailing lists don't like
                            PDF format.<br>
                            <br>
                            <u><b>I don't like wiki pages because
                                anybody can edit and fundamentally mess
                                up the wiki pages, even providing bogus
                                and erroneous information. That's why I
                                don't like creating wiki pages. Anybody
                                can edit and mess up the information you
                                have painstakingly created on the wiki
                                pages. So please take note.</b></u><br>
                            <br>
                            <pre cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
                            <br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>~Casey</div>
                              <br>
                              <div class="gmail_quote">On Wed, Mar 28,
                                2012 at 10:21 PM, Teo En Ming (Zhang
                                Enming) <span dir="ltr">&lt;<a
                                    moz-do-not-send="true"
                                    href="mailto:singapore.mr.teo.en.ming@gmail.com"
                                    target="_blank">singapore.mr.teo.en.ming@gmail.com</a>&gt;</span>
                                wrote:<br>
                                <blockquote class="gmail_quote"
                                  style="margin:0 0 0
                                  .8ex;border-left:1px #ccc
                                  solid;padding-left:1ex">
                                  <div bgcolor="#FFFFFF" text="#000000">
                                    <div>
                                      <div> Dearest Casey DeLorme,<br>
                                        <br>
                                        Thank you very very much for
                                        your kind feedback and input. I
                                        would also like to thank Mr.
                                        Tobias Geiger, again, for
                                        providing his suggestion on
                                        exposing the fourth memory
                                        region in
                                        tools/firmware/hvmloader/acpi/dsdt.asl.
                                        <u>In any case, either exposing
                                          the first 3 memory regions
                                          only or exposing all the 4
                                          memory regions does not work.</u>
                                        Sadly, Tobias Geiger is unable
                                        to help me further.<br>
                                        <br>
                                        I have asked Jean David Techer,
                                        what about the 4th PCI memory
                                        region? Why only expose the
                                        first 3 PCI memory regions? I
                                        don't understand, of course.
                                        Jean David Techer did not reply
                                        to my question.<br>
                                        <br>
                                        I have decided to post your
                                        prompt reply to the xen-users
                                        and xen-devel mailing lists, in
                                        case people think that I am
                                        finding fault with Jean David
                                        Techer, or trying to irritate
                                        him, or trying to make him
                                        angry, or trying to aggravate
                                        him. Jean David Techer replied
                                        me with an email saying that I <u>spent
                                          too much time</u> and <u>too
                                          bent</u> on solving the yellow
                                        exclamation mark glitch for my
                                        NVIDIA Geforce 8400GS in Device
                                        Manager in Windows 8 Consumer
                                        Preview and Windows XP Home
                                        Edition, and that I sent <b><u>stupid</u></b>
                                        requests. Stupid requests? Did
                                        he read my emails carefully,
                                        word by word?<br>
                                        <br>
                                        Casey DeLorme, please, can I
                                        confirm with you again that you
                                        are getting the following errors
                                        after applying Jean David
                                        Techer's Xen 4.2-unstable VGA
                                        Passthrough patches:<br>
                                        <br>
                                        <b><u>(1) Yellow exclamation
                                            mark besides your NVIDIA GTX
                                            460 in Device Manager<br>
                                            (2) Windows has stopped this
                                            device because it has
                                            reported problems. (Code 43)<br>
                                            (3) This device isn't using
                                            any resources because it has
                                            a problem.</u></b><br>
                                        <br>
                                        Jean David Techer insists that
                                        our technical issues are due to
                                        a NVIDIA driver problem. He
                                        insists that you have to install
                                        NVIDIA driver versions 275.33
                                        WHQL and 275.50 BETA. Any other
                                        NVIDIA driver versions (above
                                        280.XX) will not work, according
                                        to Jean David Techer. <b><u>However,
                                            I have tried installing
                                            NVIDIA driver versions
                                            275.33 and 275.50 from <a
                                              moz-do-not-send="true"
                                              href="http://www.softpedia.com"
                                              target="_blank">www.softpedia.com</a>,
                                            as he suggested, but it
                                            caused my Windows XP Home
                                            Edition HVM virtual machine
                                            to be
                                            destroyed/terminated/crash
                                            after a few minutes and my
                                            dom0 to crash as well.</u></b>
                                        NVIDIA driver versions 275.33
                                        and 275.50 for Windows XP 32-bit
                                        is not available from the
                                        official NVIDIA website.<br>
                                        <br>
                                        So it is definitely not a NVIDIA
                                        driver problem. I suspect that
                                        the technical issue has to do
                                        with <b><u>MMIO BARs pBAR:vBAR
                                            1:1 matching</u></b>. I
                                        don't think there is any problem
                                        with vgabios-pt.bin extracted
                                        out from our NVIDIA VGA cards,
                                        because I have performed a
                                        "hexdump -C" on my extracted VGA
                                        BIOS EEPROM, or Electrically
                                        Erasable Programmable Read Only
                                        Memory.<br>
                                        <br>
                                        Secondly, it does seem strange
                                        that Jean David Techer was able
                                        to attain <b><u>100%</u></b>,
                                        ie. <b><u>perfect success</u></b>
                                        with Xen 4.2-unstable VGA
                                        Passthrough to his Windows XP
                                        32-bit and 64-bit HVM domU. Have
                                        you watched his Youtube video?
                                        It is only 4 minutes. Please do
                                        watch Jean David Techer's
                                        Youtube video at the following
                                        URL:<br>
                                        <br>
                                        Jean David Techer's Xen
                                        4.2-unstable VGA Passthrough to
                                        Windows XP x64 HVM domU Youtube
                                        video link: <b><u><a
                                              moz-do-not-send="true"
                                              href="http://www.youtube.com/watch?v=3SaYO0ERW44"
                                              target="_blank">http://www.youtube.com/watch?v=3SaYO0ERW44</a></u></b><br>
                                        <br>
                                        I am <b><u>appalled</u></b> and
                                        <b><u>baffle</u><u>d</u></b>
                                        that he has attained <b><u>100%
                                            success</u></b> while both
                                        of us have only attained <b><u>partial


                                            succes</u><u>s</u></b> (<b><u>i.e.



                                            less than 100%</u></b>) on
                                        Xen 4.2-unstable VGA Passthrough
                                        to Windows 8 Consumer Preview
                                        and Windows XP.<br>
                                        <br>
                                        <b><u>Solving the yellow
                                            exclamation mark issue is
                                            important because we would
                                            not be able to run 3D
                                            graphics benchmarks and play
                                            3D games without solving it.
                                            I am not sending silly
                                            emails about some yellow
                                            marks, as Jean David Techer
                                            suggested. I can't even run
                                            Unigine Heaven DX11, and
                                            3dmark11 3D display
                                            benchmarks, because of the
                                            yellow exclamation mark for
                                            NVIDIA Geforce 8400 GS in
                                            Device Manager.</u></b><br>
                                        <br>
                                        Casey DeLorme, with your report
                                        on relatively easy success with
                                        ATI VGA cards, I think I would
                                        go the ATI way, but I would have
                                        to spend a few hundred dollars
                                        compared to my cheap SGD$44
                                        NVIDIA Geforce 8400 GS card. And
                                        while deciding to go the ATI
                                        way, I would also like to
                                        continue troubleshooting with
                                        the NVIDIA problem, because I
                                        consider it to be a technical
                                        challenge.<br>
                                        <br>
                                        In essence, Jean David Techner
                                        is considered to be a "boss", or
                                        business owner, or proprietor,
                                        or technopreneur, or
                                        entrepreneur, or technical
                                        support officer, or customer
                                        support officer, or IT helpdesk
                                        engineer, providing services
                                        like his forward-ported Xen
                                        4.2-unstable VGA Passthrough
                                        patches and the documentation on
                                        his blog. I repost Jean David
                                        Techer's official website here:<br>
                                        <br>
                                        Jean David Techer's Xen
                                        4.2-unstable VGA Passthrough
                                        blog: <b><u><a
                                              moz-do-not-send="true"
href="http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through"
                                              target="_blank">http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through</a></u></b><br>
                                        <br>
                                        Jean David Techer's official
                                        website is his business venture.<br>
                                        <br>
                                        Basically, I am Jean David
                                        Techer's <b><u>"customer"</u></b>,
                                        trying to obtain technical
                                        support from him. Of course, he
                                        is <b><u>not obliged</u></b> to
                                        provide technical support to me
                                        since he is providing <b><u>free</u></b>
                                        services. It is, after all, an
                                        open source software project.
                                        Nobody is obliged to provide
                                        anybody with technical support.
                                        <b><u>To do Jean David Techer
                                            justice, he replied most of
                                            my questions while avoiding
                                            some of my questions.</u></b><br>
                                        <br>
                                        Finally, I have also failed to
                                        obtain technical support from
                                        Xen developers like Ian Campbell
                                        from <big><b><u>Citrix
                                              Corporation</u></b></big>
                                        and Konrad Wilk from <big><b><u>Oracle


                                              Corporation</u></b></big>.
                                        <u><b>I have always provided all
                                            the steps which I have
                                            taken, the configuration
                                            files and necessary
                                            documentation, and kernel
                                            messages and error logs</b></u>
                                        to xen-users and xen-devel
                                        mailing lists, but they keep
                                        insisting I did not provide the
                                        information they required. I
                                        wondered why. I think they did
                                        not read my emails carefully.
                                        They told me they would not
                                        reply to me any more if I do not
                                        provide the information they
                                        requested. <u><b>But the
                                            problem is that I have
                                            always provided information
                                            they requested!</b></u> I
                                        think they missed some of my
                                        emails, or did not read my
                                        emails carefully enough. I am an
                                        <b><u>ardent supporter</u></b>
                                        and <b><u>SERIOUS software
                                            tester</u></b> for open
                                        source Xen
                                        virtualization/hypervisor but
                                        they treated me lightly. <u><b>I
                                            always read my emails WORD
                                            BY WORD.</b></u> I have even
                                        went to the point of making a
                                        video on the <b><u>BUG</u></b>
                                        and uploading my video to
                                        Youtube. The video is only THREE
                                        minutes. <br>
                                        <br>
                                        <u><b>As everybody says, a
                                            picture is worth a thousand
                                            words. A video is worth a
                                            BILLION words!</b></u><br>
                                        <br>
                                        I have also failed to obtain
                                        technical support from Xen
                                        developers regarding Xen
                                        4.2-unstable VGA Passthrough.<br>
                                        <br>
                                        I am hoping Xen 4.2 would have
                                        official support for Xen VGA
                                        Passthrough for both NVIDIA and
                                        ATI cards.<br>
                                        <br>
                                        Casey DeLorme, thank you very
                                        much once again. I will be
                                        making changes to my Xen, Linux
                                        Kernel and Xen VGA Passthrough
                                        Documentation and will be
                                        releasing Version 1.7 shortly.
                                        Jean David Techer's
                                        documentation assumes some level
                                        of advanced Linux technical
                                        knowledge, so I am writing
                                        documentation on my own so that
                                        everybody, not just advanced
                                        Linux and Xen users, can follow.
                                        I have made references to Jean
                                        David Techer's documentation in
                                        my own documentation.<br>
                                        <br>
                                        I would be very happy if people
                                        would use my documentation. Of
                                        course, it satisfies my ego and
                                        my vanity. Haha.<br>
                                        <br>
                                        I have been un-employed for
                                        nearly three years now, and I
                                        would hesitate to spend a few
                                        hundred dollars on an ATI VGA
                                        card. I quit my job as an IT
                                        engineer 3 years ago because my
                                        father suffered from lacunar
                                        infarct, or more commonly known
                                        as stroke. My NVIDIA Geforce
                                        8400 GS costs only S$44. Please
                                        understand why I hesitate to buy
                                        an ATI VGA card. The cheapest
                                        one costs SGD$279.<br>
                                        <br>
                                        I have a diploma in
                                        Mechanical+Electronics
                                        engineering from Singapore
                                        Polytechnic and a Bachelor's
                                        degree in Mechanical Engineering
                                        from the National University of
                                        Singapore. But I do not have
                                        qualifications in Computer
                                        Science or Information
                                        Technology. I have worked as an
                                        Information Technology engineer
                                        in Defense Science and
                                        Technology Agency, Ministry of
                                        Defense, Singapore, National
                                        Computer Systems Pte Ltd,
                                        Asiasoft Online Pte Ltd, and
                                        Ishinemax Singapore Pte Ltd.<br>
                                        <br>
                                        Google search terms: Frenchman
                                        Jean David Techer, Singaporean
                                        Teo En Ming's Xen, Linux Kernel
                                        and Xen VGA Passthrough
                                        Documentation, Xen 4.2-unstable
                                        VGA Passthrough to Windows 8
                                        Consumer Preview and Windows XP
                                        HVM Virtual Machines<br>
                                        <br>
                                        Thank you very much for reading
                                        my lengthy email. I am always
                                        courteous, saying "Please help
                                        me. Please. Please. Please." and
                                        "Thank you very much for your
                                        kind assistance" in my emails.<br>
                                        <br>
                                        Thank you very much.<br>
                                        <br>
                                      </div>
                                    </div>
                                    <div> -- <br>
                                      Yours sincerely, <br>
                                      Mr. Teo En Ming (Zhang Enming) <br>
                                    </div>
                                    <div> Singapore Citizen <br>
                                      <br>
                                      cc: His Excellency The Prime
                                      Minister Mr. Lee Hsien Loong,
                                      Prime Minister's Office, Republic
                                      of Singapore <br>
                                      <br>
                                      On 29/03/2012 03:53, Casey DeLorme
                                      wrote: </div>
                                    <div>
                                      <blockquote type="cite">
                                        <div>
                                          <div>Hi Teo,</div>
                                          <div><br>
                                          </div>
                                          <div>I tried David's patch
                                            files a while ago <b><u>without

                                                success</u></b>. &nbsp;I had
                                            Xen compiled with the patch
                                            files and my GTX 460 VGA
                                            BIOS rom, <u><b>but I got
                                                the same as you, either
                                                a BSOD or Code 43 in
                                                Device Manager.</b></u></div>
                                          <div><br>
                                          </div>
                                          <div>You sound plenty
                                            competent, but it's
                                            important to remember that
                                            you are pioneering a
                                            technology that for
                                            consumers is still in its
                                            infancy. &nbsp;Very few people
                                            are testing this with
                                            consumer equipment, so
                                            finding results seems to be
                                            a rarity.</div>
                                          <div><br>
                                          </div>
                                          <br>
                                        </div>
                                      </blockquote>
                                      <br>
                                      <br>
                                    </div>
                                  </div>
                                  <br>
_______________________________________________<br>
                                  Xen-users mailing list<br>
                                  <a moz-do-not-send="true"
                                    href="mailto:Xen-users@lists.xen.org"
                                    target="_blank">Xen-users@lists.xen.org</a><br>
                                  <a moz-do-not-send="true"
                                    href="http://lists.xen.org/xen-users"
                                    target="_blank">http://lists.xen.org/xen-users</a><br>
                                </blockquote>
                              </div>
                              <br>
                            </blockquote>
                            <br>
                            <br>
                          </blockquote>
                          <br>
                          <br>
                        </blockquote>
                        <br>
                      </div>
                    </div>
                  </div>
                </blockquote>
              </div>
              <br>
            </div>
          </blockquote>
          <br>
        </blockquote>
        <br>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
  </body>
</html>

--------------070309050200070401020705--


--===============5838769769867168659==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5838769769867168659==--


From xen-devel-bounces@lists.xen.org Mon May 07 05:43:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 05:43:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRGiO-0005JM-RZ; Mon, 07 May 2012 05:42:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <singapore.mr.teo.en.ming@gmail.com>)
	id 1SRGiM-0005JD-95
	for xen-devel@lists.xen.org; Mon, 07 May 2012 05:42:30 +0000
Received: from [85.158.143.35:31277] by server-3.bemta-4.messagelabs.com id
	00/0C-05853-5C067AF4; Mon, 07 May 2012 05:42:29 +0000
X-Env-Sender: singapore.mr.teo.en.ming@gmail.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336369343!14969577!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_60_70, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9262 invoked from network); 7 May 2012 05:42:25 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 05:42:25 -0000
Received: by pbbro12 with SMTP id ro12so6597241pbb.32
	for <multiple recipients>; Sun, 06 May 2012 22:42:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type;
	bh=eV/T06icd0TergATHpN37ixeZxThD3dDW0sIYBsYuBY=;
	b=asGavIIzdNzcwyKpjP5qiJ2SGwlZIcHiADdh01wPCzOpFiywSoYy+Nw+K7unrRcxkZ
	uZlVuOd5s+qTYlTKa/EMj+3HfniJWAcmiqFjRPFR45tc9d+1JxQ70+LSCCn86fy5mmWW
	AcyOFNJqgG4ayPTsEBNd5atGCd4P5XtJrWptV93+1b3kHSxx1EYb1e2wq27Gp5wno5f9
	mRGZ8Ugq3eXBmJZpotrGzFHeUwQONs0KTPIxNPyq2Dlwhc/awH3aFXphQ6Sg6nl0MChE
	1mD0xU2QH0+y+9wTwSuyQZGge1zxNsHUB/XyCCNkWm4vEFo//86H2qBRgwqnznR6Y2+l
	iVBA==
Received: by 10.68.72.70 with SMTP id b6mr34071227pbv.58.1336369342706;
	Sun, 06 May 2012 22:42:22 -0700 (PDT)
Received: from [192.168.1.2] (cm11.gamma206.maxonline.com.sg. [202.156.206.11])
	by mx.google.com with ESMTPS id py6sm17069592pbc.13.2012.05.06.22.42.18
	(version=SSLv3 cipher=OTHER); Sun, 06 May 2012 22:42:21 -0700 (PDT)
Message-ID: <4FA760B9.4060501@gmail.com>
Date: Mon, 07 May 2012 13:42:17 +0800
From: "Teo En Ming (Zhang Enming)" <singapore.mr.teo.en.ming@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: wei.huang2@amd.com
References: <4F7334D9.2020700@gmail.com>
	<CAA7N5Ra53YKBPZqHKppsOCoNEF4JMO5emrPcSu=w2S+yxsQBfQ@mail.gmail.com>
	<4F73C718.9020905@gmail.com>
	<CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com>
	<4F7484C0.2060009@gmail.com> <4F74AB69.4080507@gmail.com>
	<4F74C205.9070104@amd.com>
	<CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com>
	<4F74EA35.4030305@amd.com> <4F753CD8.4050300@gmail.com>
	<4F75C59F.8030407@amd.com>
In-Reply-To: <4F75C59F.8030407@amd.com>
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Casey DeLorme <cdelorme@gmail.com>,
	Tobias Geiger <tobias.geiger@vido.info>,
	'Teo En Ming' <teo.en.ming@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
 Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5838769769867168659=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============5838769769867168659==
Content-Type: multipart/alternative;
 boundary="------------070309050200070401020705"

This is a multi-part message in MIME format.
--------------070309050200070401020705
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 30/03/2012 22:39, Wei Huang wrote:
> On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) wrote:
>> On 30/03/2012 07:03, Wei Huang wrote:
>>> On 03/29/2012 04:29 PM, Casey DeLorme wrote:
>>>> David,
>>>>
>>>> XenServer VGA Passthrough requires a paid/licensed copy, which 
>>>> costs $2500, a bit out of my price range for experimentation. 
>>>>  Important to note that the feature is not a part of the 30-day 
>>>> trial license.
>>>>
>>>> However, Citrix recently visited my college and I was able to 
>>>> preview hardware access on a laptop one of the employees had, where 
>>>> they swapped between Ubuntu and Windows with a hotkey, and various 
>>>> hardware components including onboard GPU and the WebCam were 
>>>> accessible.
>>>>
>>>> In testing XenServer, I can say that if I had a business, that's 
>>>> the product I would use.  In the past month having tried Xen and 
>>>> ESXi, I was astonished with the ease of use for XenServer.
>>>>
>>>> As for Catalyst, version 12.2 (the latest currently) worked for me.
>>>>
>>>> Important to note that until I followed Andrews advice to omit the 
>>>> Catalyst Control Center, the installation resulted in a BSOD.
>>> I saw similar issue whiling playing with XenClient. After discussing 
>>> with AMD GPU driver team, the conclusion was that the installer has 
>>> a bug. But I have not received any further update from them. Also 
>>> manual driver installation (after many tries) did fix problem for me.
>>>>
>>>> The solution, select "Custom" installation and uncheck the CCC. 
>>>>  After the installation your first reboot should run some follow-up 
>>>> updates via cmd, you need to reboot a second time for fully 
>>>> functional drivers.
>>>>
>>>> Also, I had underscan on my monitor so I went out on a limb and 
>>>> re-ran the setup for Catalyst, and was able to get CCC installed 
>>>> with a second run through, which allowed me to fix my underscan issue.
>>>>
>>>> My conclusion is that the CCC requires some driver functionality 
>>>> that isn't available until after you install the drivers, this 
>>>> could be on all systems or it might be related to how HVM's handle 
>>>> the PCI devices, that much I can't say.
>>>>
>>>>
>>>>
>>>> Teo,
>>>>
>>>> I could be spouting nonsense, and if so I'm sure Wei can correct 
>>>> me, but I am pretty sure AMD engineers have been contributing to 
>>>> Xen for a while, and some patches have already been applied. 
>>>>  Obviously it isn't flawless, I myself haven't gotten video at boot 
>>>> time, only at the login screen.
>>>>
>>> This is because VBIOS patch wasn't applied. But as I said before, my 
>>> VBIOS wasn't universal enough to put it as a production patch. So I 
>>> am hesitant to put it out.
>>
>> Dear Wei Huang at AMD Corporation,
>>
>> Please put your Xen VGA Passthrough patch out so that all of us can 
>> have a try.
>>
>> Thank you very much.
>>
> http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.html


Dear Wei Huang,

Your VGA Passthrough patch is still not included in the Xen 4.2-unstable 
tree?

Thank you.


>> -- 
>> Yours sincerely,
>>
>> Mr. Teo En Ming (Zhang Enming)
>> Singapore
>>
>>>> Mine works on 4.1.2, but it is possible that 4.1.0 had less of 
>>>> these "patches" hence Sebastien's post.
>>>>
>>>> Also, I apologize as I did not properly word my opinion before. 
>>>>  VGA Passthrough is new "for consumer components".  In 2010 the 
>>>> number of desktop (not server) boards boasting VT-d functionality 
>>>> could probably be counted on one hand.  To my understanding that 
>>>> means the technology is at most 3 years old, still a baby in my 
>>>> opinion.
>>>>
>>>> I didn't mean that the technology hadn't been implemented into 
>>>> various Hypervisors, just that it is clearly not a perfected 
>>>> feature.  If you consider 3 years of consumer availability, dates 
>>>> become important when researching.  Sebastien's post was May 2011, 
>>>> just shy of one year ago, and Thomas's was in 2010.
>>>>
>>>> There are newer patches still for ATI in Xen 4.2, which I intend to 
>>>> test over the next week.  I have NOT gotten ATI to work at boot 
>>>> time, video starts at the login screen.
>>>>
>>>> I agree with Wei that drivers can contribute to BSOD's and errors, 
>>>> but when an install doesn't fail but the hardware reacts the same 
>>>> as before, I would like to assume the driver is irrelative.
>>>>
>>> Have you looked at XenClient project? It has a customized ATI 
>>> component which allows you to switch between VMs flawlessly. I think 
>>> it is the most mature Xen solution for GPU passthru in client area.
>>
>> Dear Wei Huang at AMD Corporation,
>>
>> May I know what is the XenClient project?
>>
>>
>>>>
>>>> ~Casey
>>>>
>>>> On Thu, Mar 29, 2012 at 4:11 PM, Wei Huang <wei.huang2@amd.com 
>>>> <mailto:wei.huang2@amd.com>> wrote:
>>>>
>>>>     On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
>>>>>     Dear Casey DeLorme,
>>>>>
>>>>>     This guy, Sebastien Gauthier, also has the same problems as
>>>>>     us. He was using Xen 4.1.0 and an ATI Radeon 4550. He applied
>>>>>     Mr. Wei Huang's patch. After installing the latest ATI/AMD
>>>>>     Catalyst drivers, he got a BSOD with Xen VGA Passthrough to
>>>>>     Windows 7.
>>>>>
>>>>>     Please read Sebastien Gauthier's case here:
>>>>>
>>>>>     http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html
>>>>>
>>>>>     Hence Sebastien Gauthier reported Xen VGA Passthrough with
>>>>>     PARTIAL SUCCESS, like us.
>>>>>
>>>>>     Dear Tobias Geiger,
>>>>>
>>>>>     You were saying that with ATI VGA cards, you do not need to
>>>>>     apply any Xen VGA Passthrough patches. But this guy Sebastien
>>>>>     Gauthier applied Mr. Wei Huang's patches to Xen 4.1.0 and got
>>>>>     a BSOD after installing ATI Catalyst drivers. Sebastien
>>>>>     Gauthier did not get 100% success with Xen VGA Passthrough to
>>>>>     Windows 7 using an ATI VGA card.
>>>>>
>>>>     Hi Teo,
>>>>
>>>>     The VBIOS patch I sent out did not work for all ATI cards. The
>>>>     patch itself assumed certain behavior of GPU VBIOS. But this
>>>>     doesn't apply to every GPU generation. From this perspective,
>>>>     my patch isn't universal. Also there are many factors, some of
>>>>     which are not in control by us (like graphics driver), can
>>>>     contribute to BSOD you mentioned. I am not in a position to
>>>>     debug it for everyone's card (as I don't have all cards).
>>>>
>>>>     Thanks,
>>>>     -Wei
>>>>
>>>>>     -- 
>>>>>     Yours sincerely,
>>>>>
>>>>>     Mr. Teo En Ming (Zhang Enming)
>>>>>     Singapore
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>     On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
>>>>>>     On 29/03/2012 12:29, Casey DeLorme wrote:
>>>>>>>     My mistake for not hitting "Reply to All", sorry.
>>>>>>
>>>>>>     No worries Casey.
>>>>>>
>>>>>>>
>>>>>>>     It might be of some value to mention that my tests were with
>>>>>>>     Windows 7, I have no interest in using XP anymore.  Also, I
>>>>>>>     did all of my testing through remote VNC, not once did I
>>>>>>>     actually get video, even 2D, working.
>>>>>>
>>>>>>     I bought 2 copies of Windows XP Home Edition in the past
>>>>>>     because it is cheap, at S$145. I did not buy Windows 7
>>>>>>     because it is expensive. I got video working all right, but
>>>>>>     only 2D. I cannot get 3D graphics working.
>>>>>>
>>>>>>>     However, my errors are exactly as you described:
>>>>>>>
>>>>>>>     1.  Windows recognizes the model (GTX 460), not "unknown PCI
>>>>>>>     device".
>>>>>>>     2.  Device code 43.
>>>>>>>     3.  No resources assigned to the device.
>>>>>>
>>>>>>     We have the same set of errors.
>>>>>>
>>>>>>>
>>>>>>>     Might be worth mentioning, I was able to run the latest
>>>>>>>     nVidia driver installation without errors, but after
>>>>>>>     rebooting there was no change, same error code, still no video.
>>>>>>
>>>>>>     Same situation here with the latest NVIDIA drivers. But I
>>>>>>     only have 2D video working. I can't get 3D video to work.
>>>>>>
>>>>>>>      To me this would be evidence that driver version isn't a
>>>>>>>     problem, but then again I didn't have anything actually working.
>>>>>>
>>>>>>     I agree that driver version isn't a problem. Something is
>>>>>>     wrong somewhere.
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     I am an IT student in college, so my experience is limited
>>>>>>>     to mostly programming with very little knowledge of the
>>>>>>>     inner-workings of hardware.  So, forgive me for being unable
>>>>>>>     to help with regards to memory addresses on the cards.
>>>>>>
>>>>>>     I am hoping that Intel engineers and Xen developers would be
>>>>>>     able to help.
>>>>>>
>>>>>>>
>>>>>>>     I've been using *nix for about 4 years, and Windows since I
>>>>>>>     my age was a single digit.  I have had experience setting up
>>>>>>>     server features such as web, database, and application
>>>>>>>     servers but I am still green when it comes to kernel or
>>>>>>>     hardware configuration.
>>>>>>
>>>>>>     I started learning Linux/UNIX since the year 2005, that is
>>>>>>     about 7 years ago. I started using Windows when it was
>>>>>>     version 3.1. I love compiling the latest Linux kernel and
>>>>>>     assembling my own computer hardware.
>>>>>>
>>>>>>>
>>>>>>>     My Xen adventure began 35 days ago, and it is no
>>>>>>>     exaggeration to say that in those 35 days I have learned
>>>>>>>     more about linux than I had in the past two years.  I like
>>>>>>>     challenges as much as the next IT person, but I ran out of
>>>>>>>     time and ideas for debugging my nVidia problems.  The nVidia
>>>>>>>     stretch of my adventure lasted for 24 days through 54 fresh
>>>>>>>     linux installations accompanied by over 200~ pages worth of
>>>>>>>     documented failures and not a single pixel sighted.
>>>>>>
>>>>>>     Why not make your documentation into PDF? It is a very
>>>>>>     popular document format.
>>>>>>
>>>>>>>
>>>>>>>     The ATI card took me a day, less than 12 hours of relatively
>>>>>>>     easy debugging by comparison to the aforementioned testing.
>>>>>>>      I do fully understanding financial constraints, but it is a
>>>>>>>     working solution and worth mentioning.  I do not know what
>>>>>>>     the prices are like in Singapore, but in the states I was
>>>>>>>     able to buy an ATI Radeon HD 6870 for $160.  For me it came
>>>>>>>     down to weighing my objectives against my curiosity.
>>>>>>
>>>>>>     That ATI Radeon HD 6870 would cost me $279, I think.
>>>>>>
>>>>>>>
>>>>>>>     If you do continue your nVidia endeavors I wish you success,
>>>>>>>     but as in my former email VGA passthrough is a new frontier,
>>>>>>>     not even Guru's like David may not be able to help beyond
>>>>>>>     their own hardware experiences.
>>>>>>
>>>>>>     I don't think VGA passthrough is a new frontier. Oracle
>>>>>>     VirtualBox and Linux KVM supports VGA passthrough as well.
>>>>>>     Xen ATI VGA Passthrough works out of the box, as Tobias
>>>>>>     Geiger suggested, but NVIDIA requires patches.
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     Documentation is one problem I agree with you on 100%.  I
>>>>>>>     came into this knowing relatively little about Linux &
>>>>>>>     hardware, and nothing about Xen, and most every guide I
>>>>>>>     found assumed I had been in a deep relationship with Linux
>>>>>>>     for many years and had a basic understanding of Xen commands.
>>>>>>
>>>>>>     I started learning Xen since the year 2007, which is about 5
>>>>>>     years ago.
>>>>>>
>>>>>>>
>>>>>>>     Like you, I intend to use those documented failures as well
>>>>>>>     as my recent success to create a comprehensive guide with
>>>>>>>     photographs, screen captures, and perhaps even videos going
>>>>>>>     from "assembled computer" to "Complete Xen Dom0 /w HVM & VGA
>>>>>>>     Passthrough".  Provided the wiki will allow me to upload the
>>>>>>>     screenshots, I'll be certain to post it there.
>>>>>>
>>>>>>     I will be looking forward to your documentation and videos.
>>>>>>     Right now Xen wiki allows uploading image files and PDF
>>>>>>     files. Why not create a PDF document and share it with all of
>>>>>>     us? It is known as portable document format and is very
>>>>>>     popular, but it appears that xen mailing lists don't like PDF
>>>>>>     format.
>>>>>>
>>>>>>     _*I don't like wiki pages because anybody can edit and
>>>>>>     fundamentally mess up the wiki pages, even providing bogus
>>>>>>     and erroneous information. That's why I don't like creating
>>>>>>     wiki pages. Anybody can edit and mess up the information you
>>>>>>     have painstakingly created on the wiki pages. So please take
>>>>>>     note.*_
>>>>>>
>>>>>>     -- 
>>>>>>     Yours sincerely,
>>>>>>
>>>>>>     Mr. Teo En Ming (Zhang Enming)
>>>>>>     Singapore
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>     ~Casey
>>>>>>>
>>>>>>>     On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang Enming)
>>>>>>>     <singapore.mr.teo.en.ming@gmail.com
>>>>>>>     <mailto:singapore.mr.teo.en.ming@gmail.com>> wrote:
>>>>>>>
>>>>>>>         Dearest Casey DeLorme,
>>>>>>>
>>>>>>>         Thank you very very much for your kind feedback and
>>>>>>>         input. I would also like to thank Mr. Tobias Geiger,
>>>>>>>         again, for providing his suggestion on exposing the
>>>>>>>         fourth memory region in
>>>>>>>         tools/firmware/hvmloader/acpi/dsdt.asl. _In any case,
>>>>>>>         either exposing the first 3 memory regions only or
>>>>>>>         exposing all the 4 memory regions does not work._ Sadly,
>>>>>>>         Tobias Geiger is unable to help me further.
>>>>>>>
>>>>>>>         I have asked Jean David Techer, what about the 4th PCI
>>>>>>>         memory region? Why only expose the first 3 PCI memory
>>>>>>>         regions? I don't understand, of course. Jean David
>>>>>>>         Techer did not reply to my question.
>>>>>>>
>>>>>>>         I have decided to post your prompt reply to the
>>>>>>>         xen-users and xen-devel mailing lists, in case people
>>>>>>>         think that I am finding fault with Jean David Techer, or
>>>>>>>         trying to irritate him, or trying to make him angry, or
>>>>>>>         trying to aggravate him. Jean David Techer replied me
>>>>>>>         with an email saying that I _spent too much time_ and
>>>>>>>         _too bent_ on solving the yellow exclamation mark glitch
>>>>>>>         for my NVIDIA Geforce 8400GS in Device Manager in
>>>>>>>         Windows 8 Consumer Preview and Windows XP Home Edition,
>>>>>>>         and that I sent *_stupid_* requests. Stupid requests?
>>>>>>>         Did he read my emails carefully, word by word?
>>>>>>>
>>>>>>>         Casey DeLorme, please, can I confirm with you again that
>>>>>>>         you are getting the following errors after applying Jean
>>>>>>>         David Techer's Xen 4.2-unstable VGA Passthrough patches:
>>>>>>>
>>>>>>>         *_(1) Yellow exclamation mark besides your NVIDIA GTX
>>>>>>>         460 in Device Manager
>>>>>>>         (2) Windows has stopped this device because it has
>>>>>>>         reported problems. (Code 43)
>>>>>>>         (3) This device isn't using any resources because it has
>>>>>>>         a problem._*
>>>>>>>
>>>>>>>         Jean David Techer insists that our technical issues are
>>>>>>>         due to a NVIDIA driver problem. He insists that you have
>>>>>>>         to install NVIDIA driver versions 275.33 WHQL and 275.50
>>>>>>>         BETA. Any other NVIDIA driver versions (above 280.XX)
>>>>>>>         will not work, according to Jean David Techer.
>>>>>>>         *_However, I have tried installing NVIDIA driver
>>>>>>>         versions 275.33 and 275.50 from www.softpedia.com
>>>>>>>         <http://www.softpedia.com>, as he suggested, but it
>>>>>>>         caused my Windows XP Home Edition HVM virtual machine to
>>>>>>>         be destroyed/terminated/crash after a few minutes and my
>>>>>>>         dom0 to crash as well._* NVIDIA driver versions 275.33
>>>>>>>         and 275.50 for Windows XP 32-bit is not available from
>>>>>>>         the official NVIDIA website.
>>>>>>>
>>>>>>>         So it is definitely not a NVIDIA driver problem. I
>>>>>>>         suspect that the technical issue has to do with *_MMIO
>>>>>>>         BARs pBAR:vBAR 1:1 matching_*. I don't think there is
>>>>>>>         any problem with vgabios-pt.bin extracted out from our
>>>>>>>         NVIDIA VGA cards, because I have performed a "hexdump
>>>>>>>         -C" on my extracted VGA BIOS EEPROM, or Electrically
>>>>>>>         Erasable Programmable Read Only Memory.
>>>>>>>
>>>>>>>         Secondly, it does seem strange that Jean David Techer
>>>>>>>         was able to attain *_100%_*, ie. *_perfect success_*
>>>>>>>         with Xen 4.2-unstable VGA Passthrough to his Windows XP
>>>>>>>         32-bit and 64-bit HVM domU. Have you watched his Youtube
>>>>>>>         video? It is only 4 minutes. Please do watch Jean David
>>>>>>>         Techer's Youtube video at the following URL:
>>>>>>>
>>>>>>>         Jean David Techer's Xen 4.2-unstable VGA Passthrough to
>>>>>>>         Windows XP x64 HVM domU Youtube video link:
>>>>>>>         *_http://www.youtube.com/watch?v=3SaYO0ERW44_*
>>>>>>>
>>>>>>>         I am *_appalled_* and *_baffle__d_* that he has attained
>>>>>>>         *_100% success_* while both of us have only attained
>>>>>>>         *_partial succes__s_* (*_i.e. less than 100%_*) on Xen
>>>>>>>         4.2-unstable VGA Passthrough to Windows 8 Consumer
>>>>>>>         Preview and Windows XP.
>>>>>>>
>>>>>>>         *_Solving the yellow exclamation mark issue is important
>>>>>>>         because we would not be able to run 3D graphics
>>>>>>>         benchmarks and play 3D games without solving it. I am
>>>>>>>         not sending silly emails about some yellow marks, as
>>>>>>>         Jean David Techer suggested. I can't even run Unigine
>>>>>>>         Heaven DX11, and 3dmark11 3D display benchmarks, because
>>>>>>>         of the yellow exclamation mark for NVIDIA Geforce 8400
>>>>>>>         GS in Device Manager._*
>>>>>>>
>>>>>>>         Casey DeLorme, with your report on relatively easy
>>>>>>>         success with ATI VGA cards, I think I would go the ATI
>>>>>>>         way, but I would have to spend a few hundred dollars
>>>>>>>         compared to my cheap SGD$44 NVIDIA Geforce 8400 GS card.
>>>>>>>         And while deciding to go the ATI way, I would also like
>>>>>>>         to continue troubleshooting with the NVIDIA problem,
>>>>>>>         because I consider it to be a technical challenge.
>>>>>>>
>>>>>>>         In essence, Jean David Techner is considered to be a
>>>>>>>         "boss", or business owner, or proprietor, or
>>>>>>>         technopreneur, or entrepreneur, or technical support
>>>>>>>         officer, or customer support officer, or IT helpdesk
>>>>>>>         engineer, providing services like his forward-ported Xen
>>>>>>>         4.2-unstable VGA Passthrough patches and the
>>>>>>>         documentation on his blog. I repost Jean David Techer's
>>>>>>>         official website here:
>>>>>>>
>>>>>>>         Jean David Techer's Xen 4.2-unstable VGA Passthrough
>>>>>>>         blog:
>>>>>>>         *_http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through_*
>>>>>>>
>>>>>>>         Jean David Techer's official website is his business
>>>>>>>         venture.
>>>>>>>
>>>>>>>         Basically, I am Jean David Techer's *_"customer"_*,
>>>>>>>         trying to obtain technical support from him. Of course,
>>>>>>>         he is *_not obliged_* to provide technical support to me
>>>>>>>         since he is providing *_free_* services. It is, after
>>>>>>>         all, an open source software project. Nobody is obliged
>>>>>>>         to provide anybody with technical support. *_To do Jean
>>>>>>>         David Techer justice, he replied most of my questions
>>>>>>>         while avoiding some of my questions._*
>>>>>>>
>>>>>>>         Finally, I have also failed to obtain technical support
>>>>>>>         from Xen developers like Ian Campbell from *_Citrix
>>>>>>>         Corporation_* and Konrad Wilk from *_Oracle
>>>>>>>         Corporation_*. _*I have always provided all the steps
>>>>>>>         which I have taken, the configuration files and
>>>>>>>         necessary documentation, and kernel messages and error
>>>>>>>         logs*_ to xen-users and xen-devel mailing lists, but
>>>>>>>         they keep insisting I did not provide the information
>>>>>>>         they required. I wondered why. I think they did not read
>>>>>>>         my emails carefully. They told me they would not reply
>>>>>>>         to me any more if I do not provide the information they
>>>>>>>         requested. _*But the problem is that I have always
>>>>>>>         provided information they requested!*_ I think they
>>>>>>>         missed some of my emails, or did not read my emails
>>>>>>>         carefully enough. I am an *_ardent supporter_* and
>>>>>>>         *_SERIOUS software tester_* for open source Xen
>>>>>>>         virtualization/hypervisor but they treated me lightly.
>>>>>>>         _*I always read my emails WORD BY WORD.*_ I have even
>>>>>>>         went to the point of making a video on the *_BUG_* and
>>>>>>>         uploading my video to Youtube. The video is only THREE
>>>>>>>         minutes.
>>>>>>>
>>>>>>>         _*As everybody says, a picture is worth a thousand
>>>>>>>         words. A video is worth a BILLION words!*_
>>>>>>>
>>>>>>>         I have also failed to obtain technical support from Xen
>>>>>>>         developers regarding Xen 4.2-unstable VGA Passthrough.
>>>>>>>
>>>>>>>         I am hoping Xen 4.2 would have official support for Xen
>>>>>>>         VGA Passthrough for both NVIDIA and ATI cards.
>>>>>>>
>>>>>>>         Casey DeLorme, thank you very much once again. I will be
>>>>>>>         making changes to my Xen, Linux Kernel and Xen VGA
>>>>>>>         Passthrough Documentation and will be releasing Version
>>>>>>>         1.7 shortly. Jean David Techer's documentation assumes
>>>>>>>         some level of advanced Linux technical knowledge, so I
>>>>>>>         am writing documentation on my own so that everybody,
>>>>>>>         not just advanced Linux and Xen users, can follow. I
>>>>>>>         have made references to Jean David Techer's
>>>>>>>         documentation in my own documentation.
>>>>>>>
>>>>>>>         I would be very happy if people would use my
>>>>>>>         documentation. Of course, it satisfies my ego and my
>>>>>>>         vanity. Haha.
>>>>>>>
>>>>>>>         I have been un-employed for nearly three years now, and
>>>>>>>         I would hesitate to spend a few hundred dollars on an
>>>>>>>         ATI VGA card. I quit my job as an IT engineer 3 years
>>>>>>>         ago because my father suffered from lacunar infarct, or
>>>>>>>         more commonly known as stroke. My NVIDIA Geforce 8400 GS
>>>>>>>         costs only S$44. Please understand why I hesitate to buy
>>>>>>>         an ATI VGA card. The cheapest one costs SGD$279.
>>>>>>>
>>>>>>>         I have a diploma in Mechanical+Electronics engineering
>>>>>>>         from Singapore Polytechnic and a Bachelor's degree in
>>>>>>>         Mechanical Engineering from the National University of
>>>>>>>         Singapore. But I do not have qualifications in Computer
>>>>>>>         Science or Information Technology. I have worked as an
>>>>>>>         Information Technology engineer in Defense Science and
>>>>>>>         Technology Agency, Ministry of Defense, Singapore,
>>>>>>>         National Computer Systems Pte Ltd, Asiasoft Online Pte
>>>>>>>         Ltd, and Ishinemax Singapore Pte Ltd.
>>>>>>>
>>>>>>>         Google search terms: Frenchman Jean David Techer,
>>>>>>>         Singaporean Teo En Ming's Xen, Linux Kernel and Xen VGA
>>>>>>>         Passthrough Documentation, Xen 4.2-unstable VGA
>>>>>>>         Passthrough to Windows 8 Consumer Preview and Windows XP
>>>>>>>         HVM Virtual Machines
>>>>>>>
>>>>>>>         Thank you very much for reading my lengthy email. I am
>>>>>>>         always courteous, saying "Please help me. Please.
>>>>>>>         Please. Please." and "Thank you very much for your kind
>>>>>>>         assistance" in my emails.
>>>>>>>
>>>>>>>         Thank you very much.
>>>>>>>
>>>>>>>         -- 
>>>>>>>         Yours sincerely,
>>>>>>>         Mr. Teo En Ming (Zhang Enming)
>>>>>>>         Singapore Citizen
>>>>>>>
>>>>>>>         cc: His Excellency The Prime Minister Mr. Lee Hsien
>>>>>>>         Loong, Prime Minister's Office, Republic of Singapore
>>>>>>>
>>>>>>>         On 29/03/2012 03:53, Casey DeLorme wrote:
>>>>>>>>         Hi Teo,
>>>>>>>>
>>>>>>>>         I tried David's patch files a while ago *_without
>>>>>>>>         success_*.  I had Xen compiled with the patch files and
>>>>>>>>         my GTX 460 VGA BIOS rom, _*but I got the same as you,
>>>>>>>>         either a BSOD or Code 43 in Device Manager.*_
>>>>>>>>
>>>>>>>>         You sound plenty competent, but it's important to
>>>>>>>>         remember that you are pioneering a technology that for
>>>>>>>>         consumers is still in its infancy.  Very few people are
>>>>>>>>         testing this with consumer equipment, so finding
>>>>>>>>         results seems to be a rarity.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>         _______________________________________________
>>>>>>>         Xen-users mailing list
>>>>>>>         Xen-users@lists.xen.org <mailto:Xen-users@lists.xen.org>
>>>>>>>         http://lists.xen.org/xen-users
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore


--------------070309050200070401020705
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 30/03/2012 22:39, Wei Huang wrote:
    <blockquote cite="mid:4F75C59F.8030407@amd.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) wrote:
      <blockquote cite="mid:4F753CD8.4050300@gmail.com" type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        On 30/03/2012 07:03, Wei Huang wrote:
        <blockquote cite="mid:4F74EA35.4030305@amd.com" type="cite"> On
          03/29/2012 04:29 PM, Casey DeLorme wrote:
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>David,</div>
            <div>
              <div><br>
              </div>
              <div>XenServer VGA Passthrough requires a paid/licensed
                copy, which costs $2500, a bit out of my price range for
                experimentation. &nbsp;Important to note that the feature is
                not a part of the 30-day trial license.</div>
              <div><br>
              </div>
              <div>However, Citrix recently visited my college and I was
                able to preview hardware access on a laptop one of the
                employees had, where they swapped between Ubuntu and
                Windows with a hotkey, and various hardware components
                including onboard GPU and the WebCam were accessible.</div>
              <div><br>
              </div>
              <div>In testing XenServer, I can say that if I had a
                business, that's the product I would use. &nbsp;In the past
                month having tried Xen and ESXi, I was astonished with
                the ease of use for XenServer.</div>
              <div> <br>
              </div>
              <div>As for Catalyst, version 12.2 (the latest currently)
                worked for me.</div>
              <div><br>
              </div>
              <div>Important to note that until I followed Andrews
                advice to omit the Catalyst Control Center, the
                installation resulted in a BSOD.</div>
            </div>
          </blockquote>
          I saw similar issue whiling playing with XenClient. After
          discussing with AMD GPU driver team, the conclusion was that
          the installer has a bug. But I have not received any further
          update from them. Also manual driver installation (after many
          tries) did fix problem for me. <br>
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>
              <div><br>
              </div>
              <div>The solution, select "Custom" installation and
                uncheck the CCC. &nbsp;After the installation your first
                reboot should run some follow-up updates via cmd, you
                need to reboot a second time for fully functional
                drivers.</div>
              <div><br>
              </div>
              <div>Also, I had underscan on my monitor so I went out on
                a limb and re-ran the setup for Catalyst, and was able
                to get CCC installed with a second run through, which
                allowed me to fix my underscan issue.</div>
              <div><br>
              </div>
              <div>My conclusion is that the CCC requires some driver
                functionality that isn't available until after you
                install the drivers, this could be on all systems or it
                might be related to how HVM's handle the PCI devices,
                that much I can't say.</div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>Teo,</div>
              <div><br>
              </div>
              <div>I could be spouting nonsense, and if so I'm sure Wei
                can correct me, but I am pretty sure AMD engineers have
                been contributing to Xen for a while, and some patches
                have already been applied. &nbsp;Obviously it isn't flawless,
                I myself haven't gotten video at boot time, only at the
                login screen.</div>
              <div><br>
              </div>
            </div>
          </blockquote>
          This is because VBIOS patch wasn't applied. But as I said
          before, my VBIOS wasn't universal enough to put it as a
          production patch. So I am hesitant to put it out.<br>
        </blockquote>
        <br>
        Dear Wei Huang at AMD Corporation,<br>
        <br>
        Please put your Xen VGA Passthrough patch out so that all of us
        can have a try.<br>
        <br>
        Thank you very much.<br>
        <br>
      </blockquote>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.html">http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.html</a><br>
    </blockquote>
    <br>
    <br>
    Dear Wei Huang,<br>
    <br>
    Your VGA Passthrough patch is still not included in the Xen
    4.2-unstable tree?<br>
    <br>
    Thank you.<br>
    <br>
    <br>
    <blockquote cite="mid:4F75C59F.8030407@amd.com" type="cite">
      <blockquote cite="mid:4F753CD8.4050300@gmail.com" type="cite">
        <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
        <br>
        <blockquote cite="mid:4F74EA35.4030305@amd.com" type="cite">
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>
              <div>Mine works on 4.1.2, but it is possible that 4.1.0
                had less of these "patches" hence Sebastien's post.</div>
              <div><br>
              </div>
              <div>Also, I apologize as I did not properly word my
                opinion before. &nbsp;VGA Passthrough is new "for consumer
                components". &nbsp;In 2010 the number of desktop (not server)
                boards boasting VT-d functionality could probably be
                counted on one hand. &nbsp;To my understanding that means the
                technology is at most 3 years old, still a baby in my
                opinion.</div>
              <div><br>
              </div>
              <div>I didn't mean that the technology hadn't been
                implemented into various Hypervisors, just that it is
                clearly not a perfected feature. &nbsp;If you consider 3
                years of consumer availability, dates become important
                when researching. &nbsp;Sebastien's post was May 2011, just
                shy of one year ago, and Thomas's was in 2010.</div>
              <div><br>
              </div>
              <div>There are newer patches still for ATI in Xen 4.2,
                which I intend to test over the next week. &nbsp;I have NOT
                gotten ATI to work at boot time, video starts at the
                login screen.</div>
              <div><br>
              </div>
              <div>I agree with Wei that drivers can contribute to
                BSOD's and errors, but when an install doesn't fail but
                the hardware reacts the same as before, I would like to
                assume the driver is irrelative.</div>
              <div><br>
              </div>
            </div>
          </blockquote>
          Have you looked at XenClient project? It has a customized ATI
          component which allows you to switch between VMs flawlessly. I
          think it is the most mature Xen solution for GPU passthru in
          client area.<br>
        </blockquote>
        <br>
        Dear Wei Huang at AMD Corporation,<br>
        <br>
        May I know what is the XenClient project?<br>
        <br>
        <br>
        <blockquote cite="mid:4F74EA35.4030305@amd.com" type="cite">
          <blockquote
cite="mid:CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com"
            type="cite">
            <div>
              <div><br>
              </div>
              <div>~Casey</div>
              <br>
              <div class="gmail_quote">On Thu, Mar 29, 2012 at 4:11 PM,
                Wei Huang <span dir="ltr">&lt;<a moz-do-not-send="true"
                    href="mailto:wei.huang2@amd.com" target="_blank">wei.huang2@amd.com</a>&gt;</span>
                wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <div bgcolor="#FFFFFF" text="#000000">
                    <div> On 03/29/2012 01:35 PM, Teo En Ming (Zhang
                      Enming) wrote:
                      <blockquote type="cite"> Dear Casey DeLorme,<br>
                        <br>
                        This guy, Sebastien Gauthier, also has the same
                        problems as us. He was using Xen 4.1.0 and an
                        ATI Radeon 4550. He applied Mr. Wei Huang's
                        patch. After installing the latest ATI/AMD
                        Catalyst drivers, he got a BSOD with Xen VGA
                        Passthrough to Windows 7.<br>
                        <br>
                        Please read Sebastien Gauthier's case here: <br>
                        <br>
                        <a moz-do-not-send="true"
href="http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html"
                          target="_blank">http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html</a><br>
                        <br>
                        Hence Sebastien Gauthier reported Xen VGA
                        Passthrough with PARTIAL SUCCESS, like us.<br>
                        <br>
                        Dear Tobias Geiger,<br>
                        <br>
                        You were saying that with ATI VGA cards, you do
                        not need to apply any Xen VGA Passthrough
                        patches. But this guy Sebastien Gauthier applied
                        Mr. Wei Huang's patches to Xen 4.1.0 and got a
                        BSOD after installing ATI Catalyst drivers.
                        Sebastien Gauthier did not get 100% success with
                        Xen VGA Passthrough to Windows 7 using an ATI
                        VGA card.<br>
                        <br>
                      </blockquote>
                    </div>
                    Hi Teo,<br>
                    <br>
                    The VBIOS patch I sent out did not work for all ATI
                    cards. The patch itself assumed certain behavior of
                    GPU VBIOS. But this doesn't apply to every GPU
                    generation. From this perspective, my patch isn't
                    universal. Also there are many factors, some of
                    which are not in control by us (like graphics
                    driver), can contribute to BSOD you mentioned. I am
                    not in a position to debug it for everyone's card
                    (as I don't have all cards).<br>
                    <br>
                    Thanks,<br>
                    -Wei
                    <div>
                      <div><br>
                        <blockquote type="cite">
                          <pre cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
                          <br>
                          <br>
                          <br>
                          <br>
                          On 29/03/2012 23:50, Teo En Ming (Zhang
                          Enming) wrote:
                          <blockquote type="cite"> On 29/03/2012 12:29,
                            Casey DeLorme wrote:
                            <blockquote type="cite">
                              <div>My mistake for not hitting "Reply to
                                All", sorry.</div>
                            </blockquote>
                            <br>
                            No worries Casey.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>It might be of some value to mention
                                that my tests were with Windows 7, I
                                have no interest in using XP anymore.
                                &nbsp;Also, I did all of my testing through
                                remote VNC, not once did I actually get
                                video, even 2D, working.&nbsp; <br>
                              </div>
                            </blockquote>
                            <br>
                            I bought 2 copies of Windows XP Home Edition
                            in the past because it is cheap, at S$145. I
                            did not buy Windows 7 because it is
                            expensive. I got video working all right,
                            but only 2D. I cannot get 3D graphics
                            working.<br>
                            <br>
                            <blockquote type="cite">
                              <div>However, my errors are exactly as you
                                described:</div>
                              <div><br>
                              </div>
                              <div>1. &nbsp;Windows recognizes the model (GTX
                                460), not "unknown PCI device".</div>
                              <div>2. &nbsp;Device code 43.</div>
                              <div>3. &nbsp;No resources assigned to the
                                device.</div>
                            </blockquote>
                            <br>
                            We have the same set of errors.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>Might be worth mentioning, I was able
                                to run the latest nVidia driver
                                installation without errors, but after
                                rebooting there was no change, same
                                error code, still no video. </div>
                            </blockquote>
                            <br>
                            Same situation here with the latest NVIDIA
                            drivers. But I only have 2D video working. I
                            can't get 3D video to work.<br>
                            <br>
                            <blockquote type="cite">
                              <div>&nbsp;To me this would be evidence that
                                driver version isn't a problem, but then
                                again I didn't have anything actually
                                working.</div>
                            </blockquote>
                            <br>
                            I agree that driver version isn't a problem.
                            Something is wrong somewhere.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                              <div>I am an IT student in college, so my
                                experience is limited to mostly
                                programming with very little knowledge
                                of the inner-workings of hardware. &nbsp;So,
                                forgive me for being unable to help with
                                regards to memory addresses on the
                                cards.</div>
                            </blockquote>
                            <br>
                            I am hoping that Intel engineers and Xen
                            developers would be able to help.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>I've been using *nix for about 4
                                years, and Windows since I my age was a
                                single digit. &nbsp;I have had experience
                                setting up server features such as web,
                                database, and application servers but I
                                am still green when it comes to kernel
                                or hardware configuration.</div>
                            </blockquote>
                            <br>
                            I started learning Linux/UNIX since the year
                            2005, that is about 7 years ago. I started
                            using Windows when it was version 3.1. I
                            love compiling the latest Linux kernel and
                            assembling my own computer hardware.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>My Xen adventure began 35 days ago,
                                and it is no exaggeration to say that in
                                those 35 days I have learned more about
                                linux than I had in the past two years.
                                &nbsp;I like challenges as much as the next
                                IT person, but I ran out of time and
                                ideas for debugging my nVidia problems.
                                &nbsp;The nVidia stretch of my adventure
                                lasted for 24 days through 54 fresh
                                linux installations accompanied by over
                                200~ pages worth of documented failures
                                and not a single pixel sighted.</div>
                            </blockquote>
                            <br>
                            Why not make your documentation into PDF? It
                            is a very popular document format.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>The ATI card took me a day, less than
                                12 hours of relatively easy debugging by
                                comparison to the aforementioned
                                testing. &nbsp;I do fully understanding
                                financial constraints, but it is a
                                working solution and worth mentioning.
                                &nbsp;I do not know what the prices are like
                                in Singapore, but in the states I was
                                able to buy an ATI Radeon HD 6870 for
                                $160. &nbsp;For me it came down to weighing
                                my objectives against my curiosity.</div>
                            </blockquote>
                            <br>
                            That ATI Radeon HD 6870 would cost me $279,
                            I think.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>If you do continue your nVidia
                                endeavors I wish you success, but as in
                                my former email VGA passthrough is a new
                                frontier, not even Guru's like David may
                                not be able to help beyond their own
                                hardware experiences.</div>
                            </blockquote>
                            <br>
                            I don't think VGA passthrough is a new
                            frontier. Oracle VirtualBox and Linux KVM
                            supports VGA passthrough as well. Xen ATI
                            VGA Passthrough works out of the box, as
                            Tobias Geiger suggested, but NVIDIA requires
                            patches.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                              <div>Documentation is one problem I agree
                                with you on 100%. &nbsp;I came into this
                                knowing relatively little about Linux
                                &amp; hardware, and nothing about Xen,
                                and most every guide I found assumed I
                                had been in a deep relationship with
                                Linux for many years and had a basic
                                understanding of Xen commands.</div>
                            </blockquote>
                            <br>
                            I started learning Xen since the year 2007,
                            which is about 5 years ago.<br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>Like you, I intend to use those
                                documented failures as well as my recent
                                success to create a comprehensive guide
                                with photographs, screen captures, and
                                perhaps even videos going from
                                "assembled computer" to "Complete Xen
                                Dom0 /w HVM &amp; VGA Passthrough".
                                &nbsp;Provided the wiki will allow me to
                                upload the screenshots, I'll be certain
                                to post it there.</div>
                            </blockquote>
                            <br>
                            I will be looking forward to your
                            documentation and videos. Right now Xen wiki
                            allows uploading image files and PDF files.
                            Why not create a PDF document and share it
                            with all of us? It is known as portable
                            document format and is very popular, but it
                            appears that xen mailing lists don't like
                            PDF format.<br>
                            <br>
                            <u><b>I don't like wiki pages because
                                anybody can edit and fundamentally mess
                                up the wiki pages, even providing bogus
                                and erroneous information. That's why I
                                don't like creating wiki pages. Anybody
                                can edit and mess up the information you
                                have painstakingly created on the wiki
                                pages. So please take note.</b></u><br>
                            <br>
                            <pre cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
                            <br>
                            <br>
                            <blockquote type="cite">
                              <div><br>
                              </div>
                              <div>~Casey</div>
                              <br>
                              <div class="gmail_quote">On Wed, Mar 28,
                                2012 at 10:21 PM, Teo En Ming (Zhang
                                Enming) <span dir="ltr">&lt;<a
                                    moz-do-not-send="true"
                                    href="mailto:singapore.mr.teo.en.ming@gmail.com"
                                    target="_blank">singapore.mr.teo.en.ming@gmail.com</a>&gt;</span>
                                wrote:<br>
                                <blockquote class="gmail_quote"
                                  style="margin:0 0 0
                                  .8ex;border-left:1px #ccc
                                  solid;padding-left:1ex">
                                  <div bgcolor="#FFFFFF" text="#000000">
                                    <div>
                                      <div> Dearest Casey DeLorme,<br>
                                        <br>
                                        Thank you very very much for
                                        your kind feedback and input. I
                                        would also like to thank Mr.
                                        Tobias Geiger, again, for
                                        providing his suggestion on
                                        exposing the fourth memory
                                        region in
                                        tools/firmware/hvmloader/acpi/dsdt.asl.
                                        <u>In any case, either exposing
                                          the first 3 memory regions
                                          only or exposing all the 4
                                          memory regions does not work.</u>
                                        Sadly, Tobias Geiger is unable
                                        to help me further.<br>
                                        <br>
                                        I have asked Jean David Techer,
                                        what about the 4th PCI memory
                                        region? Why only expose the
                                        first 3 PCI memory regions? I
                                        don't understand, of course.
                                        Jean David Techer did not reply
                                        to my question.<br>
                                        <br>
                                        I have decided to post your
                                        prompt reply to the xen-users
                                        and xen-devel mailing lists, in
                                        case people think that I am
                                        finding fault with Jean David
                                        Techer, or trying to irritate
                                        him, or trying to make him
                                        angry, or trying to aggravate
                                        him. Jean David Techer replied
                                        me with an email saying that I <u>spent
                                          too much time</u> and <u>too
                                          bent</u> on solving the yellow
                                        exclamation mark glitch for my
                                        NVIDIA Geforce 8400GS in Device
                                        Manager in Windows 8 Consumer
                                        Preview and Windows XP Home
                                        Edition, and that I sent <b><u>stupid</u></b>
                                        requests. Stupid requests? Did
                                        he read my emails carefully,
                                        word by word?<br>
                                        <br>
                                        Casey DeLorme, please, can I
                                        confirm with you again that you
                                        are getting the following errors
                                        after applying Jean David
                                        Techer's Xen 4.2-unstable VGA
                                        Passthrough patches:<br>
                                        <br>
                                        <b><u>(1) Yellow exclamation
                                            mark besides your NVIDIA GTX
                                            460 in Device Manager<br>
                                            (2) Windows has stopped this
                                            device because it has
                                            reported problems. (Code 43)<br>
                                            (3) This device isn't using
                                            any resources because it has
                                            a problem.</u></b><br>
                                        <br>
                                        Jean David Techer insists that
                                        our technical issues are due to
                                        a NVIDIA driver problem. He
                                        insists that you have to install
                                        NVIDIA driver versions 275.33
                                        WHQL and 275.50 BETA. Any other
                                        NVIDIA driver versions (above
                                        280.XX) will not work, according
                                        to Jean David Techer. <b><u>However,
                                            I have tried installing
                                            NVIDIA driver versions
                                            275.33 and 275.50 from <a
                                              moz-do-not-send="true"
                                              href="http://www.softpedia.com"
                                              target="_blank">www.softpedia.com</a>,
                                            as he suggested, but it
                                            caused my Windows XP Home
                                            Edition HVM virtual machine
                                            to be
                                            destroyed/terminated/crash
                                            after a few minutes and my
                                            dom0 to crash as well.</u></b>
                                        NVIDIA driver versions 275.33
                                        and 275.50 for Windows XP 32-bit
                                        is not available from the
                                        official NVIDIA website.<br>
                                        <br>
                                        So it is definitely not a NVIDIA
                                        driver problem. I suspect that
                                        the technical issue has to do
                                        with <b><u>MMIO BARs pBAR:vBAR
                                            1:1 matching</u></b>. I
                                        don't think there is any problem
                                        with vgabios-pt.bin extracted
                                        out from our NVIDIA VGA cards,
                                        because I have performed a
                                        "hexdump -C" on my extracted VGA
                                        BIOS EEPROM, or Electrically
                                        Erasable Programmable Read Only
                                        Memory.<br>
                                        <br>
                                        Secondly, it does seem strange
                                        that Jean David Techer was able
                                        to attain <b><u>100%</u></b>,
                                        ie. <b><u>perfect success</u></b>
                                        with Xen 4.2-unstable VGA
                                        Passthrough to his Windows XP
                                        32-bit and 64-bit HVM domU. Have
                                        you watched his Youtube video?
                                        It is only 4 minutes. Please do
                                        watch Jean David Techer's
                                        Youtube video at the following
                                        URL:<br>
                                        <br>
                                        Jean David Techer's Xen
                                        4.2-unstable VGA Passthrough to
                                        Windows XP x64 HVM domU Youtube
                                        video link: <b><u><a
                                              moz-do-not-send="true"
                                              href="http://www.youtube.com/watch?v=3SaYO0ERW44"
                                              target="_blank">http://www.youtube.com/watch?v=3SaYO0ERW44</a></u></b><br>
                                        <br>
                                        I am <b><u>appalled</u></b> and
                                        <b><u>baffle</u><u>d</u></b>
                                        that he has attained <b><u>100%
                                            success</u></b> while both
                                        of us have only attained <b><u>partial


                                            succes</u><u>s</u></b> (<b><u>i.e.



                                            less than 100%</u></b>) on
                                        Xen 4.2-unstable VGA Passthrough
                                        to Windows 8 Consumer Preview
                                        and Windows XP.<br>
                                        <br>
                                        <b><u>Solving the yellow
                                            exclamation mark issue is
                                            important because we would
                                            not be able to run 3D
                                            graphics benchmarks and play
                                            3D games without solving it.
                                            I am not sending silly
                                            emails about some yellow
                                            marks, as Jean David Techer
                                            suggested. I can't even run
                                            Unigine Heaven DX11, and
                                            3dmark11 3D display
                                            benchmarks, because of the
                                            yellow exclamation mark for
                                            NVIDIA Geforce 8400 GS in
                                            Device Manager.</u></b><br>
                                        <br>
                                        Casey DeLorme, with your report
                                        on relatively easy success with
                                        ATI VGA cards, I think I would
                                        go the ATI way, but I would have
                                        to spend a few hundred dollars
                                        compared to my cheap SGD$44
                                        NVIDIA Geforce 8400 GS card. And
                                        while deciding to go the ATI
                                        way, I would also like to
                                        continue troubleshooting with
                                        the NVIDIA problem, because I
                                        consider it to be a technical
                                        challenge.<br>
                                        <br>
                                        In essence, Jean David Techner
                                        is considered to be a "boss", or
                                        business owner, or proprietor,
                                        or technopreneur, or
                                        entrepreneur, or technical
                                        support officer, or customer
                                        support officer, or IT helpdesk
                                        engineer, providing services
                                        like his forward-ported Xen
                                        4.2-unstable VGA Passthrough
                                        patches and the documentation on
                                        his blog. I repost Jean David
                                        Techer's official website here:<br>
                                        <br>
                                        Jean David Techer's Xen
                                        4.2-unstable VGA Passthrough
                                        blog: <b><u><a
                                              moz-do-not-send="true"
href="http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through"
                                              target="_blank">http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through</a></u></b><br>
                                        <br>
                                        Jean David Techer's official
                                        website is his business venture.<br>
                                        <br>
                                        Basically, I am Jean David
                                        Techer's <b><u>"customer"</u></b>,
                                        trying to obtain technical
                                        support from him. Of course, he
                                        is <b><u>not obliged</u></b> to
                                        provide technical support to me
                                        since he is providing <b><u>free</u></b>
                                        services. It is, after all, an
                                        open source software project.
                                        Nobody is obliged to provide
                                        anybody with technical support.
                                        <b><u>To do Jean David Techer
                                            justice, he replied most of
                                            my questions while avoiding
                                            some of my questions.</u></b><br>
                                        <br>
                                        Finally, I have also failed to
                                        obtain technical support from
                                        Xen developers like Ian Campbell
                                        from <big><b><u>Citrix
                                              Corporation</u></b></big>
                                        and Konrad Wilk from <big><b><u>Oracle


                                              Corporation</u></b></big>.
                                        <u><b>I have always provided all
                                            the steps which I have
                                            taken, the configuration
                                            files and necessary
                                            documentation, and kernel
                                            messages and error logs</b></u>
                                        to xen-users and xen-devel
                                        mailing lists, but they keep
                                        insisting I did not provide the
                                        information they required. I
                                        wondered why. I think they did
                                        not read my emails carefully.
                                        They told me they would not
                                        reply to me any more if I do not
                                        provide the information they
                                        requested. <u><b>But the
                                            problem is that I have
                                            always provided information
                                            they requested!</b></u> I
                                        think they missed some of my
                                        emails, or did not read my
                                        emails carefully enough. I am an
                                        <b><u>ardent supporter</u></b>
                                        and <b><u>SERIOUS software
                                            tester</u></b> for open
                                        source Xen
                                        virtualization/hypervisor but
                                        they treated me lightly. <u><b>I
                                            always read my emails WORD
                                            BY WORD.</b></u> I have even
                                        went to the point of making a
                                        video on the <b><u>BUG</u></b>
                                        and uploading my video to
                                        Youtube. The video is only THREE
                                        minutes. <br>
                                        <br>
                                        <u><b>As everybody says, a
                                            picture is worth a thousand
                                            words. A video is worth a
                                            BILLION words!</b></u><br>
                                        <br>
                                        I have also failed to obtain
                                        technical support from Xen
                                        developers regarding Xen
                                        4.2-unstable VGA Passthrough.<br>
                                        <br>
                                        I am hoping Xen 4.2 would have
                                        official support for Xen VGA
                                        Passthrough for both NVIDIA and
                                        ATI cards.<br>
                                        <br>
                                        Casey DeLorme, thank you very
                                        much once again. I will be
                                        making changes to my Xen, Linux
                                        Kernel and Xen VGA Passthrough
                                        Documentation and will be
                                        releasing Version 1.7 shortly.
                                        Jean David Techer's
                                        documentation assumes some level
                                        of advanced Linux technical
                                        knowledge, so I am writing
                                        documentation on my own so that
                                        everybody, not just advanced
                                        Linux and Xen users, can follow.
                                        I have made references to Jean
                                        David Techer's documentation in
                                        my own documentation.<br>
                                        <br>
                                        I would be very happy if people
                                        would use my documentation. Of
                                        course, it satisfies my ego and
                                        my vanity. Haha.<br>
                                        <br>
                                        I have been un-employed for
                                        nearly three years now, and I
                                        would hesitate to spend a few
                                        hundred dollars on an ATI VGA
                                        card. I quit my job as an IT
                                        engineer 3 years ago because my
                                        father suffered from lacunar
                                        infarct, or more commonly known
                                        as stroke. My NVIDIA Geforce
                                        8400 GS costs only S$44. Please
                                        understand why I hesitate to buy
                                        an ATI VGA card. The cheapest
                                        one costs SGD$279.<br>
                                        <br>
                                        I have a diploma in
                                        Mechanical+Electronics
                                        engineering from Singapore
                                        Polytechnic and a Bachelor's
                                        degree in Mechanical Engineering
                                        from the National University of
                                        Singapore. But I do not have
                                        qualifications in Computer
                                        Science or Information
                                        Technology. I have worked as an
                                        Information Technology engineer
                                        in Defense Science and
                                        Technology Agency, Ministry of
                                        Defense, Singapore, National
                                        Computer Systems Pte Ltd,
                                        Asiasoft Online Pte Ltd, and
                                        Ishinemax Singapore Pte Ltd.<br>
                                        <br>
                                        Google search terms: Frenchman
                                        Jean David Techer, Singaporean
                                        Teo En Ming's Xen, Linux Kernel
                                        and Xen VGA Passthrough
                                        Documentation, Xen 4.2-unstable
                                        VGA Passthrough to Windows 8
                                        Consumer Preview and Windows XP
                                        HVM Virtual Machines<br>
                                        <br>
                                        Thank you very much for reading
                                        my lengthy email. I am always
                                        courteous, saying "Please help
                                        me. Please. Please. Please." and
                                        "Thank you very much for your
                                        kind assistance" in my emails.<br>
                                        <br>
                                        Thank you very much.<br>
                                        <br>
                                      </div>
                                    </div>
                                    <div> -- <br>
                                      Yours sincerely, <br>
                                      Mr. Teo En Ming (Zhang Enming) <br>
                                    </div>
                                    <div> Singapore Citizen <br>
                                      <br>
                                      cc: His Excellency The Prime
                                      Minister Mr. Lee Hsien Loong,
                                      Prime Minister's Office, Republic
                                      of Singapore <br>
                                      <br>
                                      On 29/03/2012 03:53, Casey DeLorme
                                      wrote: </div>
                                    <div>
                                      <blockquote type="cite">
                                        <div>
                                          <div>Hi Teo,</div>
                                          <div><br>
                                          </div>
                                          <div>I tried David's patch
                                            files a while ago <b><u>without

                                                success</u></b>. &nbsp;I had
                                            Xen compiled with the patch
                                            files and my GTX 460 VGA
                                            BIOS rom, <u><b>but I got
                                                the same as you, either
                                                a BSOD or Code 43 in
                                                Device Manager.</b></u></div>
                                          <div><br>
                                          </div>
                                          <div>You sound plenty
                                            competent, but it's
                                            important to remember that
                                            you are pioneering a
                                            technology that for
                                            consumers is still in its
                                            infancy. &nbsp;Very few people
                                            are testing this with
                                            consumer equipment, so
                                            finding results seems to be
                                            a rarity.</div>
                                          <div><br>
                                          </div>
                                          <br>
                                        </div>
                                      </blockquote>
                                      <br>
                                      <br>
                                    </div>
                                  </div>
                                  <br>
_______________________________________________<br>
                                  Xen-users mailing list<br>
                                  <a moz-do-not-send="true"
                                    href="mailto:Xen-users@lists.xen.org"
                                    target="_blank">Xen-users@lists.xen.org</a><br>
                                  <a moz-do-not-send="true"
                                    href="http://lists.xen.org/xen-users"
                                    target="_blank">http://lists.xen.org/xen-users</a><br>
                                </blockquote>
                              </div>
                              <br>
                            </blockquote>
                            <br>
                            <br>
                          </blockquote>
                          <br>
                          <br>
                        </blockquote>
                        <br>
                      </div>
                    </div>
                  </div>
                </blockquote>
              </div>
              <br>
            </div>
          </blockquote>
          <br>
        </blockquote>
        <br>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Yours sincerely,

Mr. Teo En Ming (Zhang Enming)
Singapore</pre>
  </body>
</html>

--------------070309050200070401020705--


--===============5838769769867168659==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5838769769867168659==--


From xen-devel-bounces@lists.xen.org Mon May 07 06:24:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 06:24:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRHMD-00061T-Gx; Mon, 07 May 2012 06:23:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SRHMB-00061O-8U
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 06:23:39 +0000
Received: from [85.158.138.51:53335] by server-7.bemta-3.messagelabs.com id
	EF/6A-03078-A6A67AF4; Mon, 07 May 2012 06:23:38 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336371816!25667744!1
X-Originating-IP: [209.85.220.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8492 invoked from network); 7 May 2012 06:23:37 -0000
Received: from mail-vc0-f171.google.com (HELO mail-vx0-f171.google.com)
	(209.85.220.171)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 06:23:37 -0000
Received: by vcbfl15 with SMTP id fl15so4125296vcb.30
	for <xen-devel@lists.xensource.com>;
	Sun, 06 May 2012 23:23:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type
	:content-transfer-encoding;
	bh=C5euvMD3mV2pkZRAgHEbn56EHcR5YzPj9C9+TEyMY+A=;
	b=vfUSi3CgS4mYWEn6E9tDwarc/G9gMzGjkbIZ7pUne65sU78+QSLwXWS8uUsZTrxfze
	R0qSGzkJUguLnYHPG8w1whWIynQ21OZzgSUTWvn03pyzaMZAMMtyalOjP+mICRX6YVk9
	+SP/5XHVWG5gXJRRD7Nf8xEhexgI699kdJTnLLgcIBSJ4nahCp4TzRnwMjCv0C8nsYmp
	GYSjfinlrTxbrXSOikf8i0KEtmg6Acdh3k3sMb0ljDkUvQDBItFG/bdyN+W+4kf9tEog
	/0qCJqX8PP7jV5VGIiZn85J1fgRDJhPFUkxtHwpjZYsNQtMTVTMFEqN8hCD05pBjOWUM
	Hnbg==
MIME-Version: 1.0
Received: by 10.52.179.35 with SMTP id dd3mr6227742vdc.2.1336371815940; Sun,
	06 May 2012 23:23:35 -0700 (PDT)
Received: by 10.220.35.142 with HTTP; Sun, 6 May 2012 23:23:35 -0700 (PDT)
Date: Mon, 7 May 2012 15:23:35 +0900
Message-ID: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello List,

I have a small problem with the ring when transferring blocks the id
on the response is different from the request.
This is the boot up read, count 0.
The guest requests block 0, it has to be located at 7c00.

I go ahead and create a REQUEST with this data:
ring_req =3D RING_GET_REQUEST(priv,priv->req_prod_pvt);
ring_req->id =3D 9;
ring_req->nr_segments=3D1;
ring_req->operation =3D BLKIF_OP_READ;
ring_req->sector_number =3D (int)op->lba; //sector to be read
ring_req->seg[0].gref =3D (bi->buffer_gref); //this should be get_free_gref=
();
ring_req->seg[0].first_sect =3D 0;//op->lba;
ring_req->seg[0].last_sect =3D 7;//op->lba + op->count;

RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return notify=3D0
if(notify){
		dprintf(1,"Start notify procedure\n");
		evtchn_send_t send;
		send.port =3D (bi->port);
		dprintf(1,"In notify before hypercall port is %d\n",send.port);
		//hypercall_event_channel_op(EVTCHNOP_send, &send);
		dprintf(1,"HYPERCALL read operation notify res %d\n",
hypercall_event_channel_op(EVTCHNOP_send,&send));
}
ring_res =3D RING_GET_RESPONSE((priv),(temp->rsp_prod));
Then I get:
FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0
this is the line: 		=

dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
ring_res,ring_res->id,ring_res->status,ring_res->operation);


The id should be the same on both the request and response, there are
bi ither requests on the fly.

Any clue?=3D

Thanks,

Daniel


-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 06:24:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 06:24:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRHMD-00061T-Gx; Mon, 07 May 2012 06:23:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SRHMB-00061O-8U
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 06:23:39 +0000
Received: from [85.158.138.51:53335] by server-7.bemta-3.messagelabs.com id
	EF/6A-03078-A6A67AF4; Mon, 07 May 2012 06:23:38 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336371816!25667744!1
X-Originating-IP: [209.85.220.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8492 invoked from network); 7 May 2012 06:23:37 -0000
Received: from mail-vc0-f171.google.com (HELO mail-vx0-f171.google.com)
	(209.85.220.171)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 06:23:37 -0000
Received: by vcbfl15 with SMTP id fl15so4125296vcb.30
	for <xen-devel@lists.xensource.com>;
	Sun, 06 May 2012 23:23:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type
	:content-transfer-encoding;
	bh=C5euvMD3mV2pkZRAgHEbn56EHcR5YzPj9C9+TEyMY+A=;
	b=vfUSi3CgS4mYWEn6E9tDwarc/G9gMzGjkbIZ7pUne65sU78+QSLwXWS8uUsZTrxfze
	R0qSGzkJUguLnYHPG8w1whWIynQ21OZzgSUTWvn03pyzaMZAMMtyalOjP+mICRX6YVk9
	+SP/5XHVWG5gXJRRD7Nf8xEhexgI699kdJTnLLgcIBSJ4nahCp4TzRnwMjCv0C8nsYmp
	GYSjfinlrTxbrXSOikf8i0KEtmg6Acdh3k3sMb0ljDkUvQDBItFG/bdyN+W+4kf9tEog
	/0qCJqX8PP7jV5VGIiZn85J1fgRDJhPFUkxtHwpjZYsNQtMTVTMFEqN8hCD05pBjOWUM
	Hnbg==
MIME-Version: 1.0
Received: by 10.52.179.35 with SMTP id dd3mr6227742vdc.2.1336371815940; Sun,
	06 May 2012 23:23:35 -0700 (PDT)
Received: by 10.220.35.142 with HTTP; Sun, 6 May 2012 23:23:35 -0700 (PDT)
Date: Mon, 7 May 2012 15:23:35 +0900
Message-ID: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello List,

I have a small problem with the ring when transferring blocks the id
on the response is different from the request.
This is the boot up read, count 0.
The guest requests block 0, it has to be located at 7c00.

I go ahead and create a REQUEST with this data:
ring_req =3D RING_GET_REQUEST(priv,priv->req_prod_pvt);
ring_req->id =3D 9;
ring_req->nr_segments=3D1;
ring_req->operation =3D BLKIF_OP_READ;
ring_req->sector_number =3D (int)op->lba; //sector to be read
ring_req->seg[0].gref =3D (bi->buffer_gref); //this should be get_free_gref=
();
ring_req->seg[0].first_sect =3D 0;//op->lba;
ring_req->seg[0].last_sect =3D 7;//op->lba + op->count;

RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return notify=3D0
if(notify){
		dprintf(1,"Start notify procedure\n");
		evtchn_send_t send;
		send.port =3D (bi->port);
		dprintf(1,"In notify before hypercall port is %d\n",send.port);
		//hypercall_event_channel_op(EVTCHNOP_send, &send);
		dprintf(1,"HYPERCALL read operation notify res %d\n",
hypercall_event_channel_op(EVTCHNOP_send,&send));
}
ring_res =3D RING_GET_RESPONSE((priv),(temp->rsp_prod));
Then I get:
FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0
this is the line: 		=

dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
ring_res,ring_res->id,ring_res->status,ring_res->operation);


The id should be the same on both the request and response, there are
bi ither requests on the fly.

Any clue?=3D

Thanks,

Daniel


-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 06:40:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 06:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRHcN-0006DC-36; Mon, 07 May 2012 06:40:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRHcL-0006D7-Cc
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 06:40:21 +0000
Received: from [85.158.143.99:58244] by server-3.bemta-4.messagelabs.com id
	FD/54-05853-45E67AF4; Mon, 07 May 2012 06:40:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336372819!21461147!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6772 invoked from network); 7 May 2012 06:40:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 06:40:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,543,1330905600"; d="scan'208";a="12321471"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 06:39:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 07:39:54 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRHbu-000606-4t;
	Mon, 07 May 2012 06:39:54 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRHbu-0002wy-15;
	Mon, 07 May 2012 07:39:54 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12793-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 07:39:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12793: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12793 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12793/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12792
 test-amd64-i386-pair         16 guest-start                 fail pass in 12792
 test-amd64-amd64-xl-sedf      9 guest-start        fail in 12792 pass in 12793

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2   fail in 12792 like 12791

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 06:40:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 06:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRHcN-0006DC-36; Mon, 07 May 2012 06:40:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRHcL-0006D7-Cc
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 06:40:21 +0000
Received: from [85.158.143.99:58244] by server-3.bemta-4.messagelabs.com id
	FD/54-05853-45E67AF4; Mon, 07 May 2012 06:40:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336372819!21461147!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ5Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6772 invoked from network); 7 May 2012 06:40:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 06:40:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,543,1330905600"; d="scan'208";a="12321471"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 06:39:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 07:39:54 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRHbu-000606-4t;
	Mon, 07 May 2012 06:39:54 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRHbu-0002wy-15;
	Mon, 07 May 2012 07:39:54 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12793-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 07:39:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12793: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12793 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12793/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12792
 test-amd64-i386-pair         16 guest-start                 fail pass in 12792
 test-amd64-amd64-xl-sedf      9 guest-start        fail in 12792 pass in 12793

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2   fail in 12792 like 12791

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  0f53540494f7
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 06:43:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 06:43:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRHew-0006IR-KX; Mon, 07 May 2012 06:43:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRHev-0006IM-2T
	for xen-devel@lists.xen.org; Mon, 07 May 2012 06:43:01 +0000
Received: from [85.158.139.83:46450] by server-2.bemta-5.messagelabs.com id
	9D/BA-17016-4FE67AF4; Mon, 07 May 2012 06:43:00 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336372978!15788796!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17109 invoked from network); 7 May 2012 06:42:59 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 06:42:59 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 07:42:57 +0100
Message-Id: <4FA78B0B0200007800081EF0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 07:42:51 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com>
In-Reply-To: <4FA40321.3080201@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 18:26, David Vrabel <david.vrabel@citrix.com> wrote:
> On 04/05/12 17:12, Jan Beulich wrote:
>>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>>> From: David Vrabel <david.vrabel@citrix.com>
>>>
>>> The dom0_max_vcpus command line option only allows the exact number of
>>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>>> but no more than the number physically present."
>>>
>>> Add min: and max: prefixes to the option to set a minimum number of
>>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>>
>>> For example, with "dom0_max_vcpus=min:4,max:8":
>> 
>> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
>> how about simply allowing a range along with a simple number (since
>> negative values make no sense, omitting either side of the range would
>> be supportable if necessary.
> 
> I was copying the way dom0_mem worked but yeah, it's not very pretty.
> 
> Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
> thinking of?

Yes.

> Using a single value would have to set both <min> and <max> or the
> behaviour of the option changes (i.e., =N is the same as =N-N).

That sounds plausible.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 06:43:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 06:43:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRHew-0006IR-KX; Mon, 07 May 2012 06:43:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRHev-0006IM-2T
	for xen-devel@lists.xen.org; Mon, 07 May 2012 06:43:01 +0000
Received: from [85.158.139.83:46450] by server-2.bemta-5.messagelabs.com id
	9D/BA-17016-4FE67AF4; Mon, 07 May 2012 06:43:00 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336372978!15788796!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17109 invoked from network); 7 May 2012 06:42:59 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 06:42:59 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 07:42:57 +0100
Message-Id: <4FA78B0B0200007800081EF0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 07:42:51 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com>
In-Reply-To: <4FA40321.3080201@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
	flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 18:26, David Vrabel <david.vrabel@citrix.com> wrote:
> On 04/05/12 17:12, Jan Beulich wrote:
>>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>>> From: David Vrabel <david.vrabel@citrix.com>
>>>
>>> The dom0_max_vcpus command line option only allows the exact number of
>>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>>> but no more than the number physically present."
>>>
>>> Add min: and max: prefixes to the option to set a minimum number of
>>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>>
>>> For example, with "dom0_max_vcpus=min:4,max:8":
>> 
>> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
>> how about simply allowing a range along with a simple number (since
>> negative values make no sense, omitting either side of the range would
>> be supportable if necessary.
> 
> I was copying the way dom0_mem worked but yeah, it's not very pretty.
> 
> Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
> thinking of?

Yes.

> Using a single value would have to set both <min> and <max> or the
> behaviour of the option changes (i.e., =N is the same as =N-N).

That sounds plausible.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:16:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIAh-0006ze-Vr; Mon, 07 May 2012 07:15:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRIAg-0006zY-Tf
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:15:51 +0000
Received: from [85.158.143.99:43332] by server-3.bemta-4.messagelabs.com id
	77/F5-05853-6A677AF4; Mon, 07 May 2012 07:15:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336374949!19740764!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23973 invoked from network); 7 May 2012 07:15:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 07:15:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 08:15:48 +0100
Message-Id: <4FA792C00200007800081F06@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 08:15:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
In-Reply-To: <CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 21:30, AP <apxeng@gmail.com> wrote:
> From the above I realized that X86_CR4_OSXSAVE was never getting set
> in v->arch.pv_vcpu.ctrlreg[4].

Yes, that was the observation in the previous thread too, but the
reporter didn't seem interested in continuing on from there.


> So I tried the following patch:
>
> diff -r 5a0d60bb536b xen/arch/x86/domain.c
> --- a/xen/arch/x86/domain.c	Fri Apr 27 21:10:59 2012 -0700
> +++ b/xen/arch/x86/domain.c	Fri May 04 12:23:57 2012 -0700
> @@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
>          hv_cr4_mask &= ~X86_CR4_DE;
>      if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
>          hv_cr4_mask &= ~X86_CR4_FSGSBASE;
> -    if ( xsave_enabled(v) )
> -        hv_cr4_mask &= ~X86_CR4_OSXSAVE;
> 
>      if ( (guest_cr4 & hv_cr4_mask) != (hv_cr4 & hv_cr4_mask) )
>          gdprintk(XENLOG_WARNING,
> diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
> --- a/xen/include/asm-x86/domain.h	Fri Apr 27 21:10:59 2012 -0700
> +++ b/xen/include/asm-x86/domain.h	Fri May 04 12:23:57 2012 -0700
> @@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
>       & ~X86_CR4_DE)
>  #define real_cr4_to_pv_guest_cr4(c)                         \
>      ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD        \
> -             | X86_CR4_OSXSAVE | X86_CR4_SMEP))
> +             | X86_CR4_SMEP))
> 
>  void domain_cpuid(struct domain *d,
>                    unsigned int  input,

No, this is specifically the wrong thing. From what we know so far
(i.e. the outcome of the above printing you added) the problem in
in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
attempting XSETBV). What your patch efectively does is take away
control from the guest kernels to control the (virtual) CR4 flag...

> That allowed the system to boot successfully though I did see the
> following message:
> (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660

... which is what this message is telling you.

> Not sure if the above patch is right fix but I hope it was at least
> helpful in pointing at where the problem might be.
> 
> BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with xsave=1.

Sure, as it's a kernel problem. It's the kernel that needs logging added,
to find out why the CR4 write supposedly happening immediately
prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
happen, or doesn't set the flag. Perhaps something fishy going on
with the paravirt ops patching, since the disassembly of the opcode
bytes shown with the oops message are indicating that the right
thing is being attempted:

ff 14 25 10 33 c1 81 	callq  *0xffffffff81c13310
48 89 c7             	mov    %rax,%rdi
48 81 cf 00 00 04 00 	or     $0x40000,%rdi
                     	       ^^^^^^^^
ff 14 25 18 33 c1 81 	callq  *0xffffffff81c13318
48 8b 05 0d 15 db 00 	mov    0xdb150d(%rip),%rax
31 c9                	xor    %ecx,%ecx
48 89 c2             	mov    %rax,%rdx
48 c1 ea 20          	shr    $0x20,%rdx
0f 01 d1             	xsetbv 
5d                   	pop    %rbp
c3                   	retq   

The primary thing that strikes me as odd is that both calls are still
indirect ones, even though I thought that they should get replaced
by direct ones (or even the actual instruction, namely in the
read_cr4() case) upon first use. Konrad, Jeremy - am I wrong here?

And the dumped %rdi value indicates that bit 18 did _not_ get set.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:16:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIAh-0006ze-Vr; Mon, 07 May 2012 07:15:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRIAg-0006zY-Tf
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:15:51 +0000
Received: from [85.158.143.99:43332] by server-3.bemta-4.messagelabs.com id
	77/F5-05853-6A677AF4; Mon, 07 May 2012 07:15:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336374949!19740764!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23973 invoked from network); 7 May 2012 07:15:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 07:15:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 08:15:48 +0100
Message-Id: <4FA792C00200007800081F06@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 08:15:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
In-Reply-To: <CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 21:30, AP <apxeng@gmail.com> wrote:
> From the above I realized that X86_CR4_OSXSAVE was never getting set
> in v->arch.pv_vcpu.ctrlreg[4].

Yes, that was the observation in the previous thread too, but the
reporter didn't seem interested in continuing on from there.


> So I tried the following patch:
>
> diff -r 5a0d60bb536b xen/arch/x86/domain.c
> --- a/xen/arch/x86/domain.c	Fri Apr 27 21:10:59 2012 -0700
> +++ b/xen/arch/x86/domain.c	Fri May 04 12:23:57 2012 -0700
> @@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
>          hv_cr4_mask &= ~X86_CR4_DE;
>      if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
>          hv_cr4_mask &= ~X86_CR4_FSGSBASE;
> -    if ( xsave_enabled(v) )
> -        hv_cr4_mask &= ~X86_CR4_OSXSAVE;
> 
>      if ( (guest_cr4 & hv_cr4_mask) != (hv_cr4 & hv_cr4_mask) )
>          gdprintk(XENLOG_WARNING,
> diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
> --- a/xen/include/asm-x86/domain.h	Fri Apr 27 21:10:59 2012 -0700
> +++ b/xen/include/asm-x86/domain.h	Fri May 04 12:23:57 2012 -0700
> @@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
>       & ~X86_CR4_DE)
>  #define real_cr4_to_pv_guest_cr4(c)                         \
>      ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD        \
> -             | X86_CR4_OSXSAVE | X86_CR4_SMEP))
> +             | X86_CR4_SMEP))
> 
>  void domain_cpuid(struct domain *d,
>                    unsigned int  input,

No, this is specifically the wrong thing. From what we know so far
(i.e. the outcome of the above printing you added) the problem in
in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
attempting XSETBV). What your patch efectively does is take away
control from the guest kernels to control the (virtual) CR4 flag...

> That allowed the system to boot successfully though I did see the
> following message:
> (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660

... which is what this message is telling you.

> Not sure if the above patch is right fix but I hope it was at least
> helpful in pointing at where the problem might be.
> 
> BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with xsave=1.

Sure, as it's a kernel problem. It's the kernel that needs logging added,
to find out why the CR4 write supposedly happening immediately
prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
happen, or doesn't set the flag. Perhaps something fishy going on
with the paravirt ops patching, since the disassembly of the opcode
bytes shown with the oops message are indicating that the right
thing is being attempted:

ff 14 25 10 33 c1 81 	callq  *0xffffffff81c13310
48 89 c7             	mov    %rax,%rdi
48 81 cf 00 00 04 00 	or     $0x40000,%rdi
                     	       ^^^^^^^^
ff 14 25 18 33 c1 81 	callq  *0xffffffff81c13318
48 8b 05 0d 15 db 00 	mov    0xdb150d(%rip),%rax
31 c9                	xor    %ecx,%ecx
48 89 c2             	mov    %rax,%rdx
48 c1 ea 20          	shr    $0x20,%rdx
0f 01 d1             	xsetbv 
5d                   	pop    %rbp
c3                   	retq   

The primary thing that strikes me as odd is that both calls are still
indirect ones, even though I thought that they should get replaced
by direct ones (or even the actual instruction, namely in the
read_cr4() case) upon first use. Konrad, Jeremy - am I wrong here?

And the dumped %rdi value indicates that bit 18 did _not_ get set.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:25:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:25:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIJD-0007Cs-Va; Mon, 07 May 2012 07:24:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRIJC-0007Cm-He
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:24:38 +0000
Received: from [85.158.143.99:28776] by server-3.bemta-4.messagelabs.com id
	E2/EE-05853-5B877AF4; Mon, 07 May 2012 07:24:37 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336375476!26766788!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16809 invoked from network); 7 May 2012 07:24:36 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 07:24:36 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 08:24:36 +0100
Message-Id: <4FA794D00200007800081F1E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 08:24:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<4FA3AA540200007800081840@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 06.05.12 at 10:10, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> From: Jan Beulich [mailto:JBeulich@suse.com]
>> >>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> I continue to disagree to doing this always, unconditionally, with
>> hard-coded settings. If these features require explicit enabling,
>> there likely is something that drivers unaware of them could have
>> problems with - otherwise I would think these features would be
>> always enabled when a device supports them, and no options
>> would exist to control certain parameters.
>> 
> I agree the driver control it, but it's difficult to let guest driver do it 
> till now(because of PCIe emulation by qemu issue).

Then why not think about how to address this properly?

>> > +	/* Enable LTR and OBFF before do device assignment */
>> > +	/* LTR(Latency tolerance reporting) allows devices to send
>> > +	 * messages to the root complex indicating their latency tolerance
>> > +	 * for snooped & unsnooped memory transactions.
>> > +	 */
>> > +	err = pci_enable_ltr(dev);
>> > +	if (err)
>> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
>> 
>> ... dev_err() here and below is certainly too severe, particularly for
>> the -ENOTSUPP cases. And the spelling would need fixing, especially
>> with it being broken exactly the same way a second time below.
>> 
> 
> dev_alert should be ok.

dev_alert() is even higher severity, whereas I was hinting towards
lowering it (and perhaps being completely silent upon encountering
-ENOTSUPP), i.e. dev_warn() or even dev_notice(), .

> Thanks for the careful review of typo "enable", I'll 
> modify it in next version.

Plus the one in "Could".

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:25:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:25:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIJD-0007Cs-Va; Mon, 07 May 2012 07:24:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRIJC-0007Cm-He
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:24:38 +0000
Received: from [85.158.143.99:28776] by server-3.bemta-4.messagelabs.com id
	E2/EE-05853-5B877AF4; Mon, 07 May 2012 07:24:37 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336375476!26766788!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16809 invoked from network); 7 May 2012 07:24:36 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 07:24:36 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 08:24:36 +0100
Message-Id: <4FA794D00200007800081F1E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 08:24:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<4FA3AA540200007800081840@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 06.05.12 at 10:10, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> From: Jan Beulich [mailto:JBeulich@suse.com]
>> >>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> I continue to disagree to doing this always, unconditionally, with
>> hard-coded settings. If these features require explicit enabling,
>> there likely is something that drivers unaware of them could have
>> problems with - otherwise I would think these features would be
>> always enabled when a device supports them, and no options
>> would exist to control certain parameters.
>> 
> I agree the driver control it, but it's difficult to let guest driver do it 
> till now(because of PCIe emulation by qemu issue).

Then why not think about how to address this properly?

>> > +	/* Enable LTR and OBFF before do device assignment */
>> > +	/* LTR(Latency tolerance reporting) allows devices to send
>> > +	 * messages to the root complex indicating their latency tolerance
>> > +	 * for snooped & unsnooped memory transactions.
>> > +	 */
>> > +	err = pci_enable_ltr(dev);
>> > +	if (err)
>> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
>> 
>> ... dev_err() here and below is certainly too severe, particularly for
>> the -ENOTSUPP cases. And the spelling would need fixing, especially
>> with it being broken exactly the same way a second time below.
>> 
> 
> dev_alert should be ok.

dev_alert() is even higher severity, whereas I was hinting towards
lowering it (and perhaps being completely silent upon encountering
-ENOTSUPP), i.e. dev_warn() or even dev_notice(), .

> Thanks for the careful review of typo "enable", I'll 
> modify it in next version.

Plus the one in "Could".

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:32:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:32:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIQP-0007NU-U8; Mon, 07 May 2012 07:32:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRIQO-0007NP-0O
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:32:04 +0000
Received: from [85.158.143.99:50943] by server-3.bemta-4.messagelabs.com id
	B2/16-05853-37A77AF4; Mon, 07 May 2012 07:32:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336375921!17154972!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6736 invoked from network); 7 May 2012 07:32:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 07:32:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 08:32:01 +0100
Message-Id: <4FA7968D0200007800081F2E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 08:31:57 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jinsong Liu" <jinsong.liu@intel.com>
References: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "keir.xen@gmail.com" <keir.xen@gmail.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix vmce addr/misc wrmsr bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 06.05.12 at 14:13, "Liu, Jinsong" <jinsong.liu@intel.com> wrote:
> Fix vmce addr/misc wrmsr bug
> 
> This patch fix a bug related to wrmsr vmce bank addr/misc
> registers, since they are not read-only.
> 
> Intel SDM recommanded os mce driver clear bank status/addr/misc.
> So guest mce driver may clear addr and misc registers.
> Under such case, old vmce wrmsr logic would generate
> a #GP fault at guest mce context, and make guest crash.
> 
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> 
> diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
> --- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
> +++ b/xen/arch/x86/cpu/mcheck/vmce.c	Sun May 06 03:05:20 2012 +0800
> @@ -209,6 +209,14 @@
>      struct domain_mca_msrs *vmce = dom_vmce(v->domain);
>      struct bank_entry *entry = NULL;
>  
> +    /* Give the first entry of the list, it corresponds to current
> +     * vMCE# injection. When vMCE# is finished processing by the
> +     * the guest, this node will be deleted.
> +     * Only error bank is written. Non-error banks simply return.
> +     */
> +    if ( !list_empty(&vmce->impact_header) )
> +        entry = list_entry(vmce->impact_header.next, struct bank_entry, list);
> +
>      switch ( msr & (MSR_IA32_MC0_CTL | 3) )
>      {
>      case MSR_IA32_MC0_CTL:
> @@ -216,32 +224,28 @@
>              vmce->mci_ctl[bank] = val;
>          break;
>      case MSR_IA32_MC0_STATUS:
> -        /* Give the first entry of the list, it corresponds to current
> -         * vMCE# injection. When vMCE# is finished processing by the
> -         * the guest, this node will be deleted.
> -         * Only error bank is written. Non-error banks simply return.
> -         */
> -        if ( !list_empty(&vmce->impact_header) )
> +        if ( entry && (entry->bank == bank) )
>          {
> -            entry = list_entry(vmce->impact_header.next,
> -                               struct bank_entry, list);
> -            if ( entry->bank == bank )
> -                entry->mci_status = val;
> +            entry->mci_status = val;
>              mce_printk(MCE_VERBOSE,
> -                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
> -                       bank, val);
> +                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n", bank, val);
>          }
> -        else
> -            mce_printk(MCE_VERBOSE,
> -                       "MCE: wr MC%u_STATUS %"PRIx64"\n", bank, val);

Why do you delete this printk()? It'll be impossible to track down
ignored guest writes, should those cause a problem in the guest.

>          break;
>      case MSR_IA32_MC0_ADDR:
> -        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n", bank);
> -        ret = -1;
> +        if ( entry && (entry->bank == bank) )
> +        {
> +            entry->mci_addr = val;
> +            mce_printk(MCE_VERBOSE,
> +                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n", bank, val);
> +        }

The patch description talks only about clearing the register, yet you
silently accept all writes here. Would real hardware accept writes of
other than zero?

Further, just as above, ignore writes won't be possible to track down.

>          break;
>      case MSR_IA32_MC0_MISC:
> -        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n", bank);
> -        ret = -1;
> +        if ( entry && (entry->bank == bank) )
> +        {
> +            entry->mci_misc = val;
> +            mce_printk(MCE_VERBOSE,
> +                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n", bank, val);
> +        }

Same here in both respects.

Jan

>          break;
>      default:
>          switch ( boot_cpu_data.x86_vendor )




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:32:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:32:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIQP-0007NU-U8; Mon, 07 May 2012 07:32:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRIQO-0007NP-0O
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:32:04 +0000
Received: from [85.158.143.99:50943] by server-3.bemta-4.messagelabs.com id
	B2/16-05853-37A77AF4; Mon, 07 May 2012 07:32:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336375921!17154972!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6736 invoked from network); 7 May 2012 07:32:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 07:32:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 08:32:01 +0100
Message-Id: <4FA7968D0200007800081F2E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 08:31:57 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jinsong Liu" <jinsong.liu@intel.com>
References: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "keir.xen@gmail.com" <keir.xen@gmail.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix vmce addr/misc wrmsr bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 06.05.12 at 14:13, "Liu, Jinsong" <jinsong.liu@intel.com> wrote:
> Fix vmce addr/misc wrmsr bug
> 
> This patch fix a bug related to wrmsr vmce bank addr/misc
> registers, since they are not read-only.
> 
> Intel SDM recommanded os mce driver clear bank status/addr/misc.
> So guest mce driver may clear addr and misc registers.
> Under such case, old vmce wrmsr logic would generate
> a #GP fault at guest mce context, and make guest crash.
> 
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> 
> diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
> --- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
> +++ b/xen/arch/x86/cpu/mcheck/vmce.c	Sun May 06 03:05:20 2012 +0800
> @@ -209,6 +209,14 @@
>      struct domain_mca_msrs *vmce = dom_vmce(v->domain);
>      struct bank_entry *entry = NULL;
>  
> +    /* Give the first entry of the list, it corresponds to current
> +     * vMCE# injection. When vMCE# is finished processing by the
> +     * the guest, this node will be deleted.
> +     * Only error bank is written. Non-error banks simply return.
> +     */
> +    if ( !list_empty(&vmce->impact_header) )
> +        entry = list_entry(vmce->impact_header.next, struct bank_entry, list);
> +
>      switch ( msr & (MSR_IA32_MC0_CTL | 3) )
>      {
>      case MSR_IA32_MC0_CTL:
> @@ -216,32 +224,28 @@
>              vmce->mci_ctl[bank] = val;
>          break;
>      case MSR_IA32_MC0_STATUS:
> -        /* Give the first entry of the list, it corresponds to current
> -         * vMCE# injection. When vMCE# is finished processing by the
> -         * the guest, this node will be deleted.
> -         * Only error bank is written. Non-error banks simply return.
> -         */
> -        if ( !list_empty(&vmce->impact_header) )
> +        if ( entry && (entry->bank == bank) )
>          {
> -            entry = list_entry(vmce->impact_header.next,
> -                               struct bank_entry, list);
> -            if ( entry->bank == bank )
> -                entry->mci_status = val;
> +            entry->mci_status = val;
>              mce_printk(MCE_VERBOSE,
> -                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
> -                       bank, val);
> +                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n", bank, val);
>          }
> -        else
> -            mce_printk(MCE_VERBOSE,
> -                       "MCE: wr MC%u_STATUS %"PRIx64"\n", bank, val);

Why do you delete this printk()? It'll be impossible to track down
ignored guest writes, should those cause a problem in the guest.

>          break;
>      case MSR_IA32_MC0_ADDR:
> -        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n", bank);
> -        ret = -1;
> +        if ( entry && (entry->bank == bank) )
> +        {
> +            entry->mci_addr = val;
> +            mce_printk(MCE_VERBOSE,
> +                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n", bank, val);
> +        }

The patch description talks only about clearing the register, yet you
silently accept all writes here. Would real hardware accept writes of
other than zero?

Further, just as above, ignore writes won't be possible to track down.

>          break;
>      case MSR_IA32_MC0_MISC:
> -        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n", bank);
> -        ret = -1;
> +        if ( entry && (entry->bank == bank) )
> +        {
> +            entry->mci_misc = val;
> +            mce_printk(MCE_VERBOSE,
> +                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n", bank, val);
> +        }

Same here in both respects.

Jan

>          break;
>      default:
>          switch ( boot_cpu_data.x86_vendor )




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:39:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:39:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIXd-0007aP-Up; Mon, 07 May 2012 07:39:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SRIXc-0007aK-Jn
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:39:32 +0000
Received: from [85.158.143.99:50966] by server-3.bemta-4.messagelabs.com id
	C3/0E-05853-33C77AF4; Mon, 07 May 2012 07:39:31 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336376370!23415302!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc1MTY0\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2538 invoked from network); 7 May 2012 07:39:30 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-216.messagelabs.com with SMTP;
	7 May 2012 07:39:30 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 07 May 2012 00:39:29 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="97120457"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 07 May 2012 00:39:29 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 00:39:29 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 15:39:27 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//gGkA//xdGwCACE3zAP//eLSg
Date: Mon, 7 May 2012 07:39:26 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDAE993@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<4FA3AA540200007800081840@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
	<4FA794D00200007800081F1E@nat28.tlf.novell.com>
In-Reply-To: <4FA794D00200007800081F1E@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Monday, May 07, 2012 3:25 PM
> To: Hao, Xudong
> Cc: xen-devel; konrad.wilk@oracle.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> >>> On 06.05.12 at 10:10, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> From: Jan Beulich [mailto:JBeulich@suse.com]
> >> >>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> I continue to disagree to doing this always, unconditionally, with
> >> hard-coded settings. If these features require explicit enabling,
> >> there likely is something that drivers unaware of them could have
> >> problems with - otherwise I would think these features would be
> >> always enabled when a device supports them, and no options
> >> would exist to control certain parameters.
> >>
> > I agree the driver control it, but it's difficult to let guest driver do it
> > till now(because of PCIe emulation by qemu issue).
> 
> Then why not think about how to address this properly?
> 
I means the patch is the most appropriate method now. 

When qemu can emulate PCIe, then we shall migrate the method to guest driver controlling.

> >> > +	/* Enable LTR and OBFF before do device assignment */
> >> > +	/* LTR(Latency tolerance reporting) allows devices to send
> >> > +	 * messages to the root complex indicating their latency tolerance
> >> > +	 * for snooped & unsnooped memory transactions.
> >> > +	 */
> >> > +	err = pci_enable_ltr(dev);
> >> > +	if (err)
> >> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> >>
> >> ... dev_err() here and below is certainly too severe, particularly for
> >> the -ENOTSUPP cases. And the spelling would need fixing, especially
> >> with it being broken exactly the same way a second time below.
> >>
> >
> > dev_alert should be ok.
> 
> dev_alert() is even higher severity, whereas I was hinting towards
> lowering it (and perhaps being completely silent upon encountering
> -ENOTSUPP), i.e. dev_warn() or even dev_notice(), .
> 
> > Thanks for the careful review of typo "enable", I'll
> > modify it in next version.
> 
> Plus the one in "Could".
> 
Thanks.

> Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 07:39:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 07:39:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRIXd-0007aP-Up; Mon, 07 May 2012 07:39:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SRIXc-0007aK-Jn
	for xen-devel@lists.xen.org; Mon, 07 May 2012 07:39:32 +0000
Received: from [85.158.143.99:50966] by server-3.bemta-4.messagelabs.com id
	C3/0E-05853-33C77AF4; Mon, 07 May 2012 07:39:31 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336376370!23415302!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc1MTY0\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2538 invoked from network); 7 May 2012 07:39:30 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-216.messagelabs.com with SMTP;
	7 May 2012 07:39:30 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 07 May 2012 00:39:29 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="97120457"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 07 May 2012 00:39:29 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 00:39:29 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.226]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.232]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 15:39:27 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//gGkA//xdGwCACE3zAP//eLSg
Date: Mon, 7 May 2012 07:39:26 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDAE993@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<4FA3AA540200007800081840@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF4E@SHSMSX102.ccr.corp.intel.com>
	<4FA794D00200007800081F1E@nat28.tlf.novell.com>
In-Reply-To: <4FA794D00200007800081F1E@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Monday, May 07, 2012 3:25 PM
> To: Hao, Xudong
> Cc: xen-devel; konrad.wilk@oracle.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> >>> On 06.05.12 at 10:10, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> From: Jan Beulich [mailto:JBeulich@suse.com]
> >> >>> On 04.05.12 at 09:49, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> I continue to disagree to doing this always, unconditionally, with
> >> hard-coded settings. If these features require explicit enabling,
> >> there likely is something that drivers unaware of them could have
> >> problems with - otherwise I would think these features would be
> >> always enabled when a device supports them, and no options
> >> would exist to control certain parameters.
> >>
> > I agree the driver control it, but it's difficult to let guest driver do it
> > till now(because of PCIe emulation by qemu issue).
> 
> Then why not think about how to address this properly?
> 
I means the patch is the most appropriate method now. 

When qemu can emulate PCIe, then we shall migrate the method to guest driver controlling.

> >> > +	/* Enable LTR and OBFF before do device assignment */
> >> > +	/* LTR(Latency tolerance reporting) allows devices to send
> >> > +	 * messages to the root complex indicating their latency tolerance
> >> > +	 * for snooped & unsnooped memory transactions.
> >> > +	 */
> >> > +	err = pci_enable_ltr(dev);
> >> > +	if (err)
> >> > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> >>
> >> ... dev_err() here and below is certainly too severe, particularly for
> >> the -ENOTSUPP cases. And the spelling would need fixing, especially
> >> with it being broken exactly the same way a second time below.
> >>
> >
> > dev_alert should be ok.
> 
> dev_alert() is even higher severity, whereas I was hinting towards
> lowering it (and perhaps being completely silent upon encountering
> -ENOTSUPP), i.e. dev_warn() or even dev_notice(), .
> 
> > Thanks for the careful review of typo "enable", I'll
> > modify it in next version.
> 
> Plus the one in "Could".
> 
Thanks.

> Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:11:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJ1r-0008Iv-8L; Mon, 07 May 2012 08:10:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJ1p-0008IZ-Ih
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:10:45 +0000
Received: from [85.158.138.51:7848] by server-3.bemta-3.messagelabs.com id
	C7/F3-04048-48387AF4; Mon, 07 May 2012 08:10:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336378243!25637383!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16994 invoked from network); 7 May 2012 08:10:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:10:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:10:42 +0100
Message-Id: <4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:10:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
 "AP" <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
In-Reply-To: <CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
> (XEN) *** IRQ BUG found ***
> (XEN) CPU0 -Testing vector 236 from bitmap

236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
in through the 8259A. Something fundamentally fishy must be going
on here, and I would suppose the code in question shouldn't even be
reached for legacy vectors.

Furthermore, calling dump_irqs() from the debugging code with
desc->lock still held makes it impossible to get full output, as that
function wants to lock all initialized IRQ descriptors.

Jan

> 37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> (XEN) Guest interrupt information:
> (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge    status=00000000
> mapped, unbound
> (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge    status=00000030
> in-flight=0 domain-list=0:  1(-S--),
> (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC          status=00000000
> mapped, unbound
> (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge    status=00000030
> in-flight=0 domain-list=0:  8(-S--),
> (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level   status=00000030
> in-flight=0 domain-list=0:  9(-S--),
> (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge    status=00000002
> mapped, unbound
> [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
> 
> Let me know if you need any more info.
> Thanks,
> AP




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:11:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJ1r-0008Iv-8L; Mon, 07 May 2012 08:10:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJ1p-0008IZ-Ih
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:10:45 +0000
Received: from [85.158.138.51:7848] by server-3.bemta-3.messagelabs.com id
	C7/F3-04048-48387AF4; Mon, 07 May 2012 08:10:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336378243!25637383!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16994 invoked from network); 7 May 2012 08:10:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:10:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:10:42 +0100
Message-Id: <4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:10:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
 "AP" <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
In-Reply-To: <CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
> (XEN) *** IRQ BUG found ***
> (XEN) CPU0 -Testing vector 236 from bitmap

236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
in through the 8259A. Something fundamentally fishy must be going
on here, and I would suppose the code in question shouldn't even be
reached for legacy vectors.

Furthermore, calling dump_irqs() from the debugging code with
desc->lock still held makes it impossible to get full output, as that
function wants to lock all initialized IRQ descriptors.

Jan

> 37,41,49,51,64,72,80,88,96,104,120,136,145,152,158,160,168,175,182,192,200,211
> (XEN) Guest interrupt information:
> (XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge    status=00000000
> mapped, unbound
> (XEN)    IRQ:   1 affinity:01 vec:d3 type=IO-APIC-edge    status=00000030
> in-flight=0 domain-list=0:  1(-S--),
> (XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC          status=00000000
> mapped, unbound
> (XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge    status=00000030
> in-flight=0 domain-list=0:  8(-S--),
> (XEN)    IRQ:   9 affinity:02 vec:25 type=IO-APIC-level   status=00000030
> in-flight=0 domain-list=0:  9(-S--),
> (XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge    status=00000002
> mapped, unbound
> (XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge    status=00000002
> mapped, unbound
> [ 5129.737147] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer
> elapsed... blt ring idle [waiting on 1800652, at 1800652], missed IRQ?
> 
> Let me know if you need any more info.
> Thanks,
> AP




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:19:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJAJ-0000U5-Ic; Mon, 07 May 2012 08:19:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJAI-0000Tq-21
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:19:30 +0000
Received: from [193.109.254.147:46078] by server-3.bemta-14.messagelabs.com id
	91/B1-23274-19587AF4; Mon, 07 May 2012 08:19:29 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336378768!2802750!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6497 invoked from network); 7 May 2012 08:19:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:19:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:19:27 +0100
Message-Id: <4FA7A1AB0200007800081F71@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:19:23 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com> <4FA41D83.2010809@citrix.com>
In-Reply-To: <4FA41D83.2010809@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
 flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 20:18, David Vrabel <david.vrabel@citrix.com> wrote:
> On 04/05/12 17:26, David Vrabel wrote:
>> On 04/05/12 17:12, Jan Beulich wrote:
>>>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>>>> From: David Vrabel <david.vrabel@citrix.com>
>>>>
>>>> The dom0_max_vcpus command line option only allows the exact number of
>>>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>>>> but no more than the number physically present."
>>>>
>>>> Add min: and max: prefixes to the option to set a minimum number of
>>>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>>>
>>>> For example, with "dom0_max_vcpus=min:4,max:8":
>>>
>>> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
>>> how about simply allowing a range along with a simple number (since
>>> negative values make no sense, omitting either side of the range would
>>> be supportable if necessary.
>> 
>> I was copying the way dom0_mem worked but yeah, it's not very pretty.
>> 
>> Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
>> thinking of?
>> 
>> Using a single value would have to set both <min> and <max> or the
>> behaviour of the option changes (i.e., =N is the same as =N-N).
> 
> This is what I ended up with.
> 
> 8<------------------------------
> From af1543965db76ab81139de7f072a7c4daf61157f Mon Sep 17 00:00:00 2001
> From: David Vrabel <david.vrabel@citrix.com>
> Date: Fri, 4 May 2012 16:09:52 +0100
> Subject: [PATCH] x86: make the dom0_max_vcpus option more flexible
> 
> The dom0_max_vcpus command line option only allows the exact number of
> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
> but no more than the number physically present."
> 
> Allow a range for the option to set a minimum number of VCPUs, and a
> maximum which does not exceed the number of PCPUs.
> 
> For example, with "dom0_max_vcpus=4-8":
> 
>     PCPUs  Dom0 VCPUs
>      2      4
>      4      4
>      6      6
>      8      8
>     10      8
> 
> Existing command lines with "dom0_max_vcpus=N" still work as before.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

But I'm not sure whether this qualifies for going in for 4.2...

Jan

> ---
>  docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++--
>  xen/arch/x86/domain_build.c         |   43 +++++++++++++++++++++++++---------
>  2 files changed, 57 insertions(+), 15 deletions(-)
> 
> diff --git a/docs/misc/xen-command-line.markdown 
> b/docs/misc/xen-command-line.markdown
> index a6195f2..4e4f713 100644
> --- a/docs/misc/xen-command-line.markdown
> +++ b/docs/misc/xen-command-line.markdown
> @@ -272,10 +272,33 @@ Specify the bit width of the DMA heap.
>  
>  ### dom0\_ioports\_disable
>  ### dom0\_max\_vcpus
> -> `= <integer>`
>  
> -Specify the maximum number of vcpus to give to dom0.  This defaults
> -to the number of pcpus on the host.
> +Either:
> +
> +> `= <integer>`.
> +
> +The number of VCPUs to give to dom0.  This number of VCPUs can be more
> +than the number of PCPUs on the host.  The default is the number of
> +PCPUs.
> +
> +Or:
> +
> +> `= <min>-<max>` where `<min>` and `<max>` are integers.
> +
> +Gives dom0 a number of VCPUs equal to the number of PCPUs, but always
> +at least `<min>` and no more than `<max>`.  Using `<min>` may give
> +more VCPUs than PCPUs.  `<min>` or `<max>` may be omitted and the
> +defaults of 1 and unlimited respectively are used instead.
> +
> +For example, with `dom0_max_vcpus=4-8`:
> +
> +     Number of
> +  PCPUs | Dom0 VCPUs
> +   2    |  4
> +   4    |  4
> +   6    |  6
> +   8    |  8
> +  10    |  8
>  
>  ### dom0\_mem (ia64)
>  > `= <size>`
> diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
> index b3c5d4c..686b626 100644
> --- a/xen/arch/x86/domain_build.c
> +++ b/xen/arch/x86/domain_build.c
> @@ -82,20 +82,39 @@ static void __init parse_dom0_mem(const char *s)
>  }
>  custom_param("dom0_mem", parse_dom0_mem);
>  
> -static unsigned int __initdata opt_dom0_max_vcpus;
> -integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
> +static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
> +static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
> +
> +static void __init parse_dom0_max_vcpus(const char *s)
> +{
> +    if (*s == '-')              /* -M */
> +        opt_dom0_max_vcpus_max = simple_strtoul(s + 1, &s, 0);
> +    else {                      /* N, N-, or N-M */
> +        opt_dom0_max_vcpus_min = simple_strtoul(s, &s, 0);
> +        if (*s++ == '\0')       /* N */
> +            opt_dom0_max_vcpus_max = opt_dom0_max_vcpus_min;
> +        else if (*s != '\0')    /* N-M */
> +            opt_dom0_max_vcpus_max = simple_strtoul(s, &s, 0);
> +    }
> +}
> +custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
>  
>  struct vcpu *__init alloc_dom0_vcpu0(void)
>  {
> -    if ( opt_dom0_max_vcpus == 0 )
> -        opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
> -    if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
> -        opt_dom0_max_vcpus = MAX_VIRT_CPUS;
> +    unsigned max_vcpus;
> +
> +    max_vcpus = num_cpupool_cpus(cpupool0);
> +    if ( opt_dom0_max_vcpus_min > max_vcpus )
> +        max_vcpus = opt_dom0_max_vcpus_min;
> +    if ( opt_dom0_max_vcpus_max < max_vcpus )
> +        max_vcpus = opt_dom0_max_vcpus_max;
> +    if ( max_vcpus > MAX_VIRT_CPUS )
> +        max_vcpus = MAX_VIRT_CPUS;
>  
> -    dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
> +    dom0->vcpu = xzalloc_array(struct vcpu *, max_vcpus);
>      if ( !dom0->vcpu )
>          return NULL;
> -    dom0->max_vcpus = opt_dom0_max_vcpus;
> +    dom0->max_vcpus = max_vcpus;
>  
>      return alloc_vcpu(dom0, 0, 0);
>  }
> @@ -185,11 +204,11 @@ static unsigned long __init compute_dom0_nr_pages(
>      unsigned long max_pages = dom0_max_nrpages;
>  
>      /* Reserve memory for further dom0 vcpu-struct allocations... */
> -    avail -= (opt_dom0_max_vcpus - 1UL)
> +    avail -= (d->max_vcpus - 1UL)
>               << get_order_from_bytes(sizeof(struct vcpu));
>      /* ...and compat_l4's, if needed. */
>      if ( is_pv_32on64_domain(d) )
> -        avail -= opt_dom0_max_vcpus - 1;
> +        avail -= d->max_vcpus - 1;
>  
>      /* Reserve memory for iommu_dom0_init() (rough estimate). */
>      if ( iommu_enabled )
> @@ -883,10 +902,10 @@ int __init construct_dom0(
>      for ( i = 0; i < XEN_LEGACY_MAX_VCPUS; i++ )
>          shared_info(d, vcpu_info[i].evtchn_upcall_mask) = 1;
>  
> -    printk("Dom0 has maximum %u VCPUs\n", opt_dom0_max_vcpus);
> +    printk("Dom0 has maximum %u VCPUs\n", d->max_vcpus);
>  
>      cpu = cpumask_first(cpupool0->cpu_valid);
> -    for ( i = 1; i < opt_dom0_max_vcpus; i++ )
> +    for ( i = 1; i < d->max_vcpus; i++ )
>      {
>          cpu = cpumask_cycle(cpu, cpupool0->cpu_valid);
>          (void)alloc_vcpu(d, i, cpu);
> -- 
> 1.7.2.5



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:19:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJAJ-0000U5-Ic; Mon, 07 May 2012 08:19:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJAI-0000Tq-21
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:19:30 +0000
Received: from [193.109.254.147:46078] by server-3.bemta-14.messagelabs.com id
	91/B1-23274-19587AF4; Mon, 07 May 2012 08:19:29 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336378768!2802750!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6497 invoked from network); 7 May 2012 08:19:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:19:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:19:27 +0100
Message-Id: <4FA7A1AB0200007800081F71@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:19:23 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "David Vrabel" <david.vrabel@citrix.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com> <4FA41D83.2010809@citrix.com>
In-Reply-To: <4FA41D83.2010809@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
 flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 20:18, David Vrabel <david.vrabel@citrix.com> wrote:
> On 04/05/12 17:26, David Vrabel wrote:
>> On 04/05/12 17:12, Jan Beulich wrote:
>>>>>> On 04.05.12 at 18:01, David Vrabel <david.vrabel@citrix.com> wrote:
>>>> From: David Vrabel <david.vrabel@citrix.com>
>>>>
>>>> The dom0_max_vcpus command line option only allows the exact number of
>>>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>>>> but no more than the number physically present."
>>>>
>>>> Add min: and max: prefixes to the option to set a minimum number of
>>>> VCPUs, and a maximum which does not exceed the number of PCPUs.
>>>>
>>>> For example, with "dom0_max_vcpus=min:4,max:8":
>>>
>>> Both "...max...=min:..." and "...max...=max:" look pretty odd to me;
>>> how about simply allowing a range along with a simple number (since
>>> negative values make no sense, omitting either side of the range would
>>> be supportable if necessary.
>> 
>> I was copying the way dom0_mem worked but yeah, it's not very pretty.
>> 
>> Is dom0_max_vcpus=<min>-<max> (e.g., dom0_max_vcpus=4-8)  what you were
>> thinking of?
>> 
>> Using a single value would have to set both <min> and <max> or the
>> behaviour of the option changes (i.e., =N is the same as =N-N).
> 
> This is what I ended up with.
> 
> 8<------------------------------
> From af1543965db76ab81139de7f072a7c4daf61157f Mon Sep 17 00:00:00 2001
> From: David Vrabel <david.vrabel@citrix.com>
> Date: Fri, 4 May 2012 16:09:52 +0100
> Subject: [PATCH] x86: make the dom0_max_vcpus option more flexible
> 
> The dom0_max_vcpus command line option only allows the exact number of
> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
> but no more than the number physically present."
> 
> Allow a range for the option to set a minimum number of VCPUs, and a
> maximum which does not exceed the number of PCPUs.
> 
> For example, with "dom0_max_vcpus=4-8":
> 
>     PCPUs  Dom0 VCPUs
>      2      4
>      4      4
>      6      6
>      8      8
>     10      8
> 
> Existing command lines with "dom0_max_vcpus=N" still work as before.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

But I'm not sure whether this qualifies for going in for 4.2...

Jan

> ---
>  docs/misc/xen-command-line.markdown |   29 +++++++++++++++++++++--
>  xen/arch/x86/domain_build.c         |   43 +++++++++++++++++++++++++---------
>  2 files changed, 57 insertions(+), 15 deletions(-)
> 
> diff --git a/docs/misc/xen-command-line.markdown 
> b/docs/misc/xen-command-line.markdown
> index a6195f2..4e4f713 100644
> --- a/docs/misc/xen-command-line.markdown
> +++ b/docs/misc/xen-command-line.markdown
> @@ -272,10 +272,33 @@ Specify the bit width of the DMA heap.
>  
>  ### dom0\_ioports\_disable
>  ### dom0\_max\_vcpus
> -> `= <integer>`
>  
> -Specify the maximum number of vcpus to give to dom0.  This defaults
> -to the number of pcpus on the host.
> +Either:
> +
> +> `= <integer>`.
> +
> +The number of VCPUs to give to dom0.  This number of VCPUs can be more
> +than the number of PCPUs on the host.  The default is the number of
> +PCPUs.
> +
> +Or:
> +
> +> `= <min>-<max>` where `<min>` and `<max>` are integers.
> +
> +Gives dom0 a number of VCPUs equal to the number of PCPUs, but always
> +at least `<min>` and no more than `<max>`.  Using `<min>` may give
> +more VCPUs than PCPUs.  `<min>` or `<max>` may be omitted and the
> +defaults of 1 and unlimited respectively are used instead.
> +
> +For example, with `dom0_max_vcpus=4-8`:
> +
> +     Number of
> +  PCPUs | Dom0 VCPUs
> +   2    |  4
> +   4    |  4
> +   6    |  6
> +   8    |  8
> +  10    |  8
>  
>  ### dom0\_mem (ia64)
>  > `= <size>`
> diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
> index b3c5d4c..686b626 100644
> --- a/xen/arch/x86/domain_build.c
> +++ b/xen/arch/x86/domain_build.c
> @@ -82,20 +82,39 @@ static void __init parse_dom0_mem(const char *s)
>  }
>  custom_param("dom0_mem", parse_dom0_mem);
>  
> -static unsigned int __initdata opt_dom0_max_vcpus;
> -integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
> +static unsigned int __initdata opt_dom0_max_vcpus_min = 1;
> +static unsigned int __initdata opt_dom0_max_vcpus_max = UINT_MAX;
> +
> +static void __init parse_dom0_max_vcpus(const char *s)
> +{
> +    if (*s == '-')              /* -M */
> +        opt_dom0_max_vcpus_max = simple_strtoul(s + 1, &s, 0);
> +    else {                      /* N, N-, or N-M */
> +        opt_dom0_max_vcpus_min = simple_strtoul(s, &s, 0);
> +        if (*s++ == '\0')       /* N */
> +            opt_dom0_max_vcpus_max = opt_dom0_max_vcpus_min;
> +        else if (*s != '\0')    /* N-M */
> +            opt_dom0_max_vcpus_max = simple_strtoul(s, &s, 0);
> +    }
> +}
> +custom_param("dom0_max_vcpus", parse_dom0_max_vcpus);
>  
>  struct vcpu *__init alloc_dom0_vcpu0(void)
>  {
> -    if ( opt_dom0_max_vcpus == 0 )
> -        opt_dom0_max_vcpus = num_cpupool_cpus(cpupool0);
> -    if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS )
> -        opt_dom0_max_vcpus = MAX_VIRT_CPUS;
> +    unsigned max_vcpus;
> +
> +    max_vcpus = num_cpupool_cpus(cpupool0);
> +    if ( opt_dom0_max_vcpus_min > max_vcpus )
> +        max_vcpus = opt_dom0_max_vcpus_min;
> +    if ( opt_dom0_max_vcpus_max < max_vcpus )
> +        max_vcpus = opt_dom0_max_vcpus_max;
> +    if ( max_vcpus > MAX_VIRT_CPUS )
> +        max_vcpus = MAX_VIRT_CPUS;
>  
> -    dom0->vcpu = xzalloc_array(struct vcpu *, opt_dom0_max_vcpus);
> +    dom0->vcpu = xzalloc_array(struct vcpu *, max_vcpus);
>      if ( !dom0->vcpu )
>          return NULL;
> -    dom0->max_vcpus = opt_dom0_max_vcpus;
> +    dom0->max_vcpus = max_vcpus;
>  
>      return alloc_vcpu(dom0, 0, 0);
>  }
> @@ -185,11 +204,11 @@ static unsigned long __init compute_dom0_nr_pages(
>      unsigned long max_pages = dom0_max_nrpages;
>  
>      /* Reserve memory for further dom0 vcpu-struct allocations... */
> -    avail -= (opt_dom0_max_vcpus - 1UL)
> +    avail -= (d->max_vcpus - 1UL)
>               << get_order_from_bytes(sizeof(struct vcpu));
>      /* ...and compat_l4's, if needed. */
>      if ( is_pv_32on64_domain(d) )
> -        avail -= opt_dom0_max_vcpus - 1;
> +        avail -= d->max_vcpus - 1;
>  
>      /* Reserve memory for iommu_dom0_init() (rough estimate). */
>      if ( iommu_enabled )
> @@ -883,10 +902,10 @@ int __init construct_dom0(
>      for ( i = 0; i < XEN_LEGACY_MAX_VCPUS; i++ )
>          shared_info(d, vcpu_info[i].evtchn_upcall_mask) = 1;
>  
> -    printk("Dom0 has maximum %u VCPUs\n", opt_dom0_max_vcpus);
> +    printk("Dom0 has maximum %u VCPUs\n", d->max_vcpus);
>  
>      cpu = cpumask_first(cpupool0->cpu_valid);
> -    for ( i = 1; i < opt_dom0_max_vcpus; i++ )
> +    for ( i = 1; i < d->max_vcpus; i++ )
>      {
>          cpu = cpumask_cycle(cpu, cpupool0->cpu_valid);
>          (void)alloc_vcpu(d, i, cpu);
> -- 
> 1.7.2.5



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:21:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJCG-0000j3-2p; Mon, 07 May 2012 08:21:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SRJCE-0000it-0n
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:21:30 +0000
Received: from [85.158.143.35:32236] by server-2.bemta-4.messagelabs.com id
	CA/E2-17550-90687AF4; Mon, 07 May 2012 08:21:29 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336378886!13068689!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc1MTY0\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 441 invoked from network); 7 May 2012 08:21:27 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-13.tower-21.messagelabs.com with SMTP;
	7 May 2012 08:21:27 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 07 May 2012 01:21:25 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139707418"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 07 May 2012 01:21:25 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 01:21:25 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 16:21:22 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH] Fix vmce addr/misc wrmsr bug
Thread-Index: AQHNLCN7WdDs/9mcQ9qVPfKaVnNF8Za9+8cg
Date: Mon, 7 May 2012 08:21:22 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351A02C4@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
	<4FA7968D0200007800081F2E@nat28.tlf.novell.com>
In-Reply-To: <4FA7968D0200007800081F2E@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "keir.xen@gmail.com" <keir.xen@gmail.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix vmce addr/misc wrmsr bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich wrote:
>>>> On 06.05.12 at 14:13, "Liu, Jinsong" <jinsong.liu@intel.com>
>>>> wrote: Fix vmce addr/misc wrmsr bug 
>> 
>> This patch fix a bug related to wrmsr vmce bank addr/misc
>> registers, since they are not read-only.
>> 
>> Intel SDM recommanded os mce driver clear bank status/addr/misc.
>> So guest mce driver may clear addr and misc registers.
>> Under such case, old vmce wrmsr logic would generate
>> a #GP fault at guest mce context, and make guest crash.
>> 
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>> 
>> diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
>> --- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
>> +++ b/xen/arch/x86/cpu/mcheck/vmce.c	Sun May 06 03:05:20 2012 +0800
>>      @@ -209,6 +209,14 @@ struct domain_mca_msrs *vmce =
>>      dom_vmce(v->domain); struct bank_entry *entry = NULL;
>> 
>> +    /* Give the first entry of the list, it corresponds to current
>> +     * vMCE# injection. When vMCE# is finished processing by the
>> +     * the guest, this node will be deleted.
>> +     * Only error bank is written. Non-error banks simply return. +
>> */ +    if ( !list_empty(&vmce->impact_header) )
>> +        entry = list_entry(vmce->impact_header.next, struct
>>      bank_entry, list); + switch ( msr & (MSR_IA32_MC0_CTL | 3) )
>>      {
>>      case MSR_IA32_MC0_CTL:
>> @@ -216,32 +224,28 @@
>>              vmce->mci_ctl[bank] = val;
>>          break;
>>      case MSR_IA32_MC0_STATUS:
>> -        /* Give the first entry of the list, it corresponds to
>> current 
>> -         * vMCE# injection. When vMCE# is finished processing by the
>> -         * the guest, this node will be deleted.
>> -         * Only error bank is written. Non-error banks simply
>> return. 
>> -         */
>> -        if ( !list_empty(&vmce->impact_header) )
>> +        if ( entry && (entry->bank == bank) )
>>          {
>> -            entry = list_entry(vmce->impact_header.next,
>> -                               struct bank_entry, list);
>> -            if ( entry->bank == bank )
>> -                entry->mci_status = val;
>> +            entry->mci_status = val;
>>              mce_printk(MCE_VERBOSE,
>> -                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
>> -                       bank, val);
>> +                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
>> bank, val);          } 
>> -        else
>> -            mce_printk(MCE_VERBOSE,
>> -                       "MCE: wr MC%u_STATUS %"PRIx64"\n", bank,
>> val); 
> 
> Why do you delete this printk()? It'll be impossible to track down
> ignored guest writes, should those cause a problem in the guest.

OK, will add printk.

> 
>>          break;
>>      case MSR_IA32_MC0_ADDR:
>> -        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n",
>> bank); 
>> -        ret = -1;
>> +        if ( entry && (entry->bank == bank) )
>> +        {
>> +            entry->mci_addr = val;
>> +            mce_printk(MCE_VERBOSE,
>> +                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n",
>> bank, val); +        }
> 
> The patch description talks only about clearing the register, yet you
> silently accept all writes here. Would real hardware accept writes of
> other than zero?

Yes, except write all 1's would cause GP. Will add code to handle writing all 1's case.

> 
> Further, just as above, ignore writes won't be possible to track down.
> 
>>          break;
>>      case MSR_IA32_MC0_MISC:
>> -        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n",
>> bank); 
>> -        ret = -1;
>> +        if ( entry && (entry->bank == bank) )
>> +        {
>> +            entry->mci_misc = val;
>> +            mce_printk(MCE_VERBOSE,
>> +                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n",
>> bank, val); +        }
> 
> Same here in both respects.

Same as above.

Thanks,
Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:21:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJCG-0000j3-2p; Mon, 07 May 2012 08:21:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SRJCE-0000it-0n
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:21:30 +0000
Received: from [85.158.143.35:32236] by server-2.bemta-4.messagelabs.com id
	CA/E2-17550-90687AF4; Mon, 07 May 2012 08:21:29 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336378886!13068689!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc1MTY0\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 441 invoked from network); 7 May 2012 08:21:27 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-13.tower-21.messagelabs.com with SMTP;
	7 May 2012 08:21:27 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 07 May 2012 01:21:25 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139707418"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 07 May 2012 01:21:25 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 01:21:25 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 16:21:22 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH] Fix vmce addr/misc wrmsr bug
Thread-Index: AQHNLCN7WdDs/9mcQ9qVPfKaVnNF8Za9+8cg
Date: Mon, 7 May 2012 08:21:22 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351A02C4@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC829233519F023@SHSMSX101.ccr.corp.intel.com>
	<4FA7968D0200007800081F2E@nat28.tlf.novell.com>
In-Reply-To: <4FA7968D0200007800081F2E@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "keir.xen@gmail.com" <keir.xen@gmail.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix vmce addr/misc wrmsr bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich wrote:
>>>> On 06.05.12 at 14:13, "Liu, Jinsong" <jinsong.liu@intel.com>
>>>> wrote: Fix vmce addr/misc wrmsr bug 
>> 
>> This patch fix a bug related to wrmsr vmce bank addr/misc
>> registers, since they are not read-only.
>> 
>> Intel SDM recommanded os mce driver clear bank status/addr/misc.
>> So guest mce driver may clear addr and misc registers.
>> Under such case, old vmce wrmsr logic would generate
>> a #GP fault at guest mce context, and make guest crash.
>> 
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>> 
>> diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
>> --- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
>> +++ b/xen/arch/x86/cpu/mcheck/vmce.c	Sun May 06 03:05:20 2012 +0800
>>      @@ -209,6 +209,14 @@ struct domain_mca_msrs *vmce =
>>      dom_vmce(v->domain); struct bank_entry *entry = NULL;
>> 
>> +    /* Give the first entry of the list, it corresponds to current
>> +     * vMCE# injection. When vMCE# is finished processing by the
>> +     * the guest, this node will be deleted.
>> +     * Only error bank is written. Non-error banks simply return. +
>> */ +    if ( !list_empty(&vmce->impact_header) )
>> +        entry = list_entry(vmce->impact_header.next, struct
>>      bank_entry, list); + switch ( msr & (MSR_IA32_MC0_CTL | 3) )
>>      {
>>      case MSR_IA32_MC0_CTL:
>> @@ -216,32 +224,28 @@
>>              vmce->mci_ctl[bank] = val;
>>          break;
>>      case MSR_IA32_MC0_STATUS:
>> -        /* Give the first entry of the list, it corresponds to
>> current 
>> -         * vMCE# injection. When vMCE# is finished processing by the
>> -         * the guest, this node will be deleted.
>> -         * Only error bank is written. Non-error banks simply
>> return. 
>> -         */
>> -        if ( !list_empty(&vmce->impact_header) )
>> +        if ( entry && (entry->bank == bank) )
>>          {
>> -            entry = list_entry(vmce->impact_header.next,
>> -                               struct bank_entry, list);
>> -            if ( entry->bank == bank )
>> -                entry->mci_status = val;
>> +            entry->mci_status = val;
>>              mce_printk(MCE_VERBOSE,
>> -                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
>> -                       bank, val);
>> +                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
>> bank, val);          } 
>> -        else
>> -            mce_printk(MCE_VERBOSE,
>> -                       "MCE: wr MC%u_STATUS %"PRIx64"\n", bank,
>> val); 
> 
> Why do you delete this printk()? It'll be impossible to track down
> ignored guest writes, should those cause a problem in the guest.

OK, will add printk.

> 
>>          break;
>>      case MSR_IA32_MC0_ADDR:
>> -        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n",
>> bank); 
>> -        ret = -1;
>> +        if ( entry && (entry->bank == bank) )
>> +        {
>> +            entry->mci_addr = val;
>> +            mce_printk(MCE_VERBOSE,
>> +                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n",
>> bank, val); +        }
> 
> The patch description talks only about clearing the register, yet you
> silently accept all writes here. Would real hardware accept writes of
> other than zero?

Yes, except write all 1's would cause GP. Will add code to handle writing all 1's case.

> 
> Further, just as above, ignore writes won't be possible to track down.
> 
>>          break;
>>      case MSR_IA32_MC0_MISC:
>> -        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n",
>> bank); 
>> -        ret = -1;
>> +        if ( entry && (entry->bank == bank) )
>> +        {
>> +            entry->mci_misc = val;
>> +            mce_printk(MCE_VERBOSE,
>> +                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n",
>> bank, val); +        }
> 
> Same here in both respects.

Same as above.

Thanks,
Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:25:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:25:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJFf-00013k-MC; Mon, 07 May 2012 08:25:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJFf-00013e-4z
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:25:03 +0000
Received: from [193.109.254.147:13772] by server-5.bemta-14.messagelabs.com id
	50/23-30733-ED687AF4; Mon, 07 May 2012 08:25:02 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336379101!1134717!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1672 invoked from network); 7 May 2012 08:25:01 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:25:01 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:25:01 +0100
Message-Id: <4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:24:57 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Daniel Castro" <evil.dani@gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
In-Reply-To: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
> Hello List,
> 
> I have a small problem with the ring when transferring blocks the id
> on the response is different from the request.
> This is the boot up read, count 0.
> The guest requests block 0, it has to be located at 7c00.
> 
> I go ahead and create a REQUEST with this data:
> ring_req = RING_GET_REQUEST(priv,priv->req_prod_pvt);
> ring_req->id = 9;
> ring_req->nr_segments=1;
> ring_req->operation = BLKIF_OP_READ;
> ring_req->sector_number = (int)op->lba; //sector to be read
> ring_req->seg[0].gref = (bi->buffer_gref); //this should be get_free_gref();
> ring_req->seg[0].first_sect = 0;//op->lba;
> ring_req->seg[0].last_sect = 7;//op->lba + op->count;
> 
> RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return notify=0
> if(notify){
> 		dprintf(1,"Start notify procedure\n");
> 		evtchn_send_t send;
> 		send.port = (bi->port);
> 		dprintf(1,"In notify before hypercall port is %d\n",send.port);
> 		//hypercall_event_channel_op(EVTCHNOP_send, &send);
> 		dprintf(1,"HYPERCALL read operation notify res %d\n",
> hypercall_event_channel_op(EVTCHNOP_send,&send));
> }
> ring_res = RING_GET_RESPONSE((priv),(temp->rsp_prod));
> Then I get:
> FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0
> this is the line: 		
> dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
> ring_res,ring_res->id,ring_res->status,ring_res->operation);
> 
> 
> The id should be the same on both the request and response, there are
> bi ither requests on the fly.
> 
> Any clue?=

With status happening to be 9 when id should be, is this perhaps a
broken response structure definition?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:25:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:25:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJFf-00013k-MC; Mon, 07 May 2012 08:25:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJFf-00013e-4z
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:25:03 +0000
Received: from [193.109.254.147:13772] by server-5.bemta-14.messagelabs.com id
	50/23-30733-ED687AF4; Mon, 07 May 2012 08:25:02 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336379101!1134717!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1672 invoked from network); 7 May 2012 08:25:01 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:25:01 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:25:01 +0100
Message-Id: <4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:24:57 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Daniel Castro" <evil.dani@gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
In-Reply-To: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
> Hello List,
> 
> I have a small problem with the ring when transferring blocks the id
> on the response is different from the request.
> This is the boot up read, count 0.
> The guest requests block 0, it has to be located at 7c00.
> 
> I go ahead and create a REQUEST with this data:
> ring_req = RING_GET_REQUEST(priv,priv->req_prod_pvt);
> ring_req->id = 9;
> ring_req->nr_segments=1;
> ring_req->operation = BLKIF_OP_READ;
> ring_req->sector_number = (int)op->lba; //sector to be read
> ring_req->seg[0].gref = (bi->buffer_gref); //this should be get_free_gref();
> ring_req->seg[0].first_sect = 0;//op->lba;
> ring_req->seg[0].last_sect = 7;//op->lba + op->count;
> 
> RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return notify=0
> if(notify){
> 		dprintf(1,"Start notify procedure\n");
> 		evtchn_send_t send;
> 		send.port = (bi->port);
> 		dprintf(1,"In notify before hypercall port is %d\n",send.port);
> 		//hypercall_event_channel_op(EVTCHNOP_send, &send);
> 		dprintf(1,"HYPERCALL read operation notify res %d\n",
> hypercall_event_channel_op(EVTCHNOP_send,&send));
> }
> ring_res = RING_GET_RESPONSE((priv),(temp->rsp_prod));
> Then I get:
> FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0
> this is the line: 		
> dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
> ring_res,ring_res->id,ring_res->status,ring_res->operation);
> 
> 
> The id should be the same on both the request and response, there are
> bi ither requests on the fly.
> 
> Any clue?=

With status happening to be 9 when id should be, is this perhaps a
broken response structure definition?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:31:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:31:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJM5-0001Lj-ID; Mon, 07 May 2012 08:31:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJM3-0001Lc-LK
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:31:39 +0000
Received: from [85.158.143.99:2700] by server-3.bemta-4.messagelabs.com id
	38/07-05853-B6887AF4; Mon, 07 May 2012 08:31:39 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336379498!20410502!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15604 invoked from network); 7 May 2012 08:31:38 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:31:38 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:31:37 +0100
Message-Id: <4FA7A4860200007800081F95@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:31:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Yaqub Alwan" <sillyyax@gmail.com>
References: <CAGiLKYpJEo2JGyXC+r9z8DUagH1qMp0mMv70TMDn9VWzDWO9Hg@mail.gmail.com>
In-Reply-To: <CAGiLKYpJEo2JGyXC+r9z8DUagH1qMp0mMv70TMDn9VWzDWO9Hg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] "UEFI firmware, Xen not detecting e820 map"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 06.05.12 at 17:11, Yaqub Alwan <sillyyax@gmail.com> wrote:
> I was in the ##xen freenode channel seeking help for an issue with memory
> being unrecognised above 512mb, and iommu not being detected using xen
> 4.1.2. The guys there determined that xen was not recognising my system
> e820 map and using only the e801 map, and recommended I emailed the details
> to this list. I appreciate that this list is not for technical queries, so
> I do not expect any help, but write this to enable xen developers to
> troubleshoot the issue for future patches.
> 
> My system is a Supermicro X9SCV-Q with 16GB of installed memory and a
> 2720QM CPU. The motherboard, as far as I am aware, only supports EFI
> booting (I have a query with the manufacturer to find out if it supports
> legacy boot).
> Xen hypervisor only detects 511MB memory, but If I boot the regular linux
> kernel, I get the full 16GB.
> 
> Please find the output from xm dmesg here: http://pastebin.com/a1LC2csr 
> 
> Please find the output from normal linux boot dmesg here:
> http://pastebin.com/CjePrLkx 
> 
> You can see that native Linux kernel is finding the e820 memory map, but
> xen only sees e801 map.

The Linux boot you looked at is an EFI one, so in order to do a proper
comparison you should look at Xen booting from EFI too, without any
intermediate boot loader involved (which requires that you use -unstable
or a 4.1.x code base that backports the native EFI boot support, e.g.
SLE11 SP2).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:31:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:31:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJM5-0001Lj-ID; Mon, 07 May 2012 08:31:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRJM3-0001Lc-LK
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:31:39 +0000
Received: from [85.158.143.99:2700] by server-3.bemta-4.messagelabs.com id
	38/07-05853-B6887AF4; Mon, 07 May 2012 08:31:39 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336379498!20410502!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15604 invoked from network); 7 May 2012 08:31:38 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 08:31:38 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 09:31:37 +0100
Message-Id: <4FA7A4860200007800081F95@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 09:31:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Yaqub Alwan" <sillyyax@gmail.com>
References: <CAGiLKYpJEo2JGyXC+r9z8DUagH1qMp0mMv70TMDn9VWzDWO9Hg@mail.gmail.com>
In-Reply-To: <CAGiLKYpJEo2JGyXC+r9z8DUagH1qMp0mMv70TMDn9VWzDWO9Hg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] "UEFI firmware, Xen not detecting e820 map"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 06.05.12 at 17:11, Yaqub Alwan <sillyyax@gmail.com> wrote:
> I was in the ##xen freenode channel seeking help for an issue with memory
> being unrecognised above 512mb, and iommu not being detected using xen
> 4.1.2. The guys there determined that xen was not recognising my system
> e820 map and using only the e801 map, and recommended I emailed the details
> to this list. I appreciate that this list is not for technical queries, so
> I do not expect any help, but write this to enable xen developers to
> troubleshoot the issue for future patches.
> 
> My system is a Supermicro X9SCV-Q with 16GB of installed memory and a
> 2720QM CPU. The motherboard, as far as I am aware, only supports EFI
> booting (I have a query with the manufacturer to find out if it supports
> legacy boot).
> Xen hypervisor only detects 511MB memory, but If I boot the regular linux
> kernel, I get the full 16GB.
> 
> Please find the output from xm dmesg here: http://pastebin.com/a1LC2csr 
> 
> Please find the output from normal linux boot dmesg here:
> http://pastebin.com/CjePrLkx 
> 
> You can see that native Linux kernel is finding the e820 memory map, but
> xen only sees e801 map.

The Linux boot you looked at is an EFI one, so in order to do a proper
comparison you should look at Xen booting from EFI too, without any
intermediate boot loader involved (which requires that you use -unstable
or a 4.1.x code base that backports the native EFI boot support, e.g.
SLE11 SP2).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:41:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:41:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJVR-0001bm-Un; Mon, 07 May 2012 08:41:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SRJVR-0001bh-4l
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:41:21 +0000
Received: from [193.109.254.147:14068] by server-11.bemta-14.messagelabs.com
	id 77/8B-05858-0BA87AF4; Mon, 07 May 2012 08:41:20 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336380076!275589!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 564 invoked from network); 7 May 2012 08:41:19 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 08:41:19 -0000
Received: from smtp2.bendigoit.com.au ([203.16.207.99]
	helo=mail.bendigoit.com.au)
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SRJVE-0002HP-RU; Mon, 07 May 2012 18:41:08 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Mon, 7 May 2012 18:41:08 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Mon, 7 May 2012 18:41:08 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: Jan Beulich <JBeulich@suse.com>, Daniel Castro <evil.dani@gmail.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DA=
Date: Mon, 7 May 2012 08:41:06 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
In-Reply-To: <4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 07 May 2012 08:41:08.0838 (UTC)
	FILETIME=[261FC860:01CD2C2D]
X-Really-From-Bendigo-IT: magichashvalue
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> >>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
> > Hello List,
> >
> > I have a small problem with the ring when transferring blocks the id
> > on the response is different from the request.
> > This is the boot up read, count 0.
> > The guest requests block 0, it has to be located at 7c00.
> >
> > I go ahead and create a REQUEST with this data:
> > ring_req = RING_GET_REQUEST(priv,priv->req_prod_pvt);
> > ring_req->id = 9;
> > ring_req->nr_segments=1;
> > ring_req->operation = BLKIF_OP_READ;
> > ring_req->sector_number = (int)op->lba; //sector to be read
> > ring_req->seg[0].gref = (bi->buffer_gref); //this should be
> > get_free_gref(); ring_req->seg[0].first_sect = 0;//op->lba;
> > ring_req->seg[0].last_sect = 7;//op->lba + op->count;
> >
> > RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return
> notify=0
> > if(notify){
> > 		dprintf(1,"Start notify procedure\n");
> > 		evtchn_send_t send;
> > 		send.port = (bi->port);
> > 		dprintf(1,"In notify before hypercall port is %d\n",send.port);
> > 		//hypercall_event_channel_op(EVTCHNOP_send, &send);
> > 		dprintf(1,"HYPERCALL read operation notify res %d\n",
> > hypercall_event_channel_op(EVTCHNOP_send,&send));
> > }
> > ring_res = RING_GET_RESPONSE((priv),(temp->rsp_prod));
> > Then I get:
> > FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0
> > this is the line:
> > dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
> > ring_res,ring_res->id,ring_res->status,ring_res->operation);
> >
> >
> > The id should be the same on both the request and response, there are
> > bi ither requests on the fly.
> >
> > Any clue?=
> 
> With status happening to be 9 when id should be, is this perhaps a broken
> response structure definition?
> 

That would be my guess too. The structure aligns differently under 64 and 32 bits so I'd guess the OP is talking between the two.

James


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:41:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:41:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJVR-0001bm-Un; Mon, 07 May 2012 08:41:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SRJVR-0001bh-4l
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:41:21 +0000
Received: from [193.109.254.147:14068] by server-11.bemta-14.messagelabs.com
	id 77/8B-05858-0BA87AF4; Mon, 07 May 2012 08:41:20 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336380076!275589!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 564 invoked from network); 7 May 2012 08:41:19 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 08:41:19 -0000
Received: from smtp2.bendigoit.com.au ([203.16.207.99]
	helo=mail.bendigoit.com.au)
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SRJVE-0002HP-RU; Mon, 07 May 2012 18:41:08 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Mon, 7 May 2012 18:41:08 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Mon, 7 May 2012 18:41:08 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: Jan Beulich <JBeulich@suse.com>, Daniel Castro <evil.dani@gmail.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DA=
Date: Mon, 7 May 2012 08:41:06 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
In-Reply-To: <4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 07 May 2012 08:41:08.0838 (UTC)
	FILETIME=[261FC860:01CD2C2D]
X-Really-From-Bendigo-IT: magichashvalue
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> >>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
> > Hello List,
> >
> > I have a small problem with the ring when transferring blocks the id
> > on the response is different from the request.
> > This is the boot up read, count 0.
> > The guest requests block 0, it has to be located at 7c00.
> >
> > I go ahead and create a REQUEST with this data:
> > ring_req = RING_GET_REQUEST(priv,priv->req_prod_pvt);
> > ring_req->id = 9;
> > ring_req->nr_segments=1;
> > ring_req->operation = BLKIF_OP_READ;
> > ring_req->sector_number = (int)op->lba; //sector to be read
> > ring_req->seg[0].gref = (bi->buffer_gref); //this should be
> > get_free_gref(); ring_req->seg[0].first_sect = 0;//op->lba;
> > ring_req->seg[0].last_sect = 7;//op->lba + op->count;
> >
> > RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return
> notify=0
> > if(notify){
> > 		dprintf(1,"Start notify procedure\n");
> > 		evtchn_send_t send;
> > 		send.port = (bi->port);
> > 		dprintf(1,"In notify before hypercall port is %d\n",send.port);
> > 		//hypercall_event_channel_op(EVTCHNOP_send, &send);
> > 		dprintf(1,"HYPERCALL read operation notify res %d\n",
> > hypercall_event_channel_op(EVTCHNOP_send,&send));
> > }
> > ring_res = RING_GET_RESPONSE((priv),(temp->rsp_prod));
> > Then I get:
> > FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0
> > this is the line:
> > dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
> > ring_res,ring_res->id,ring_res->status,ring_res->operation);
> >
> >
> > The id should be the same on both the request and response, there are
> > bi ither requests on the fly.
> >
> > Any clue?=
> 
> With status happening to be 9 when id should be, is this perhaps a broken
> response structure definition?
> 

That would be my guess too. The structure aligns differently under 64 and 32 bits so I'd guess the OP is talking between the two.

James


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:53:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:53:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJhJ-0001xN-PN; Mon, 07 May 2012 08:53:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SRJhH-0001xF-MU
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:53:35 +0000
Received: from [85.158.138.51:21695] by server-10.bemta-3.messagelabs.com id
	B8/9F-29478-E8D87AF4; Mon, 07 May 2012 08:53:34 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336380810!25612096!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16241 invoked from network); 7 May 2012 08:53:33 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-11.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 08:53:33 -0000
Received: from mail.bendigoit.com.au ([203.16.207.99])
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SRJh9-0002KK-Vy; Mon, 07 May 2012 18:53:28 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Mon, 7 May 2012 18:53:28 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Mon, 7 May 2012 18:53:28 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: James Harper <james.harper@bendigoit.com.au>, Jan Beulich
	<JBeulich@suse.com>, Daniel Castro <evil.dani@gmail.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DCAAAKHAA==
Date: Mon, 7 May 2012 08:53:23 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 07 May 2012 08:53:28.0017 (UTC)
	FILETIME=[DEB58C10:01CD2C2E]
X-Really-From-Bendigo-IT: magichashvalue
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >
> > >>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
> > > Hello List,
> > >
> > > I have a small problem with the ring when transferring blocks the id
> > > on the response is different from the request.
> > > This is the boot up read, count 0.
> > > The guest requests block 0, it has to be located at 7c00.
> > >
> > > I go ahead and create a REQUEST with this data:
> > > ring_req = RING_GET_REQUEST(priv,priv->req_prod_pvt);
> > > ring_req->id = 9;
> > > ring_req->nr_segments=1;
> > > ring_req->operation = BLKIF_OP_READ; ring_req->sector_number =
> > > (int)op->lba; //sector to be read ring_req->seg[0].gref =
> > > (bi->buffer_gref); //this should be get_free_gref();
> > > ring_req->seg[0].first_sect = 0;//op->lba;
> > > ring_req->seg[0].last_sect = 7;//op->lba + op->count;
> > >
> > > RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return
> > notify=0
> > > if(notify){
> > > 		dprintf(1,"Start notify procedure\n");
> > > 		evtchn_send_t send;
> > > 		send.port = (bi->port);
> > > 		dprintf(1,"In notify before hypercall port is %d\n",send.port);
> > > 		//hypercall_event_channel_op(EVTCHNOP_send, &send);
> > > 		dprintf(1,"HYPERCALL read operation notify res %d\n",
> > > hypercall_event_channel_op(EVTCHNOP_send,&send));
> > > }
> > > ring_res = RING_GET_RESPONSE((priv),(temp->rsp_prod));
> > > Then I get:
> > > FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0 this is
> > > the line:
> > > dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
> > > ring_res,ring_res->id,ring_res->status,ring_res->operation);
> > >
> > >
> > > The id should be the same on both the request and response, there
> > > are bi ither requests on the fly.
> > >
> > > Any clue?=
> >
> > With status happening to be 9 when id should be, is this perhaps a
> > broken response structure definition?
> >
> 
> That would be my guess too. The structure aligns differently under 64 and 32
> bits so I'd guess the OP is talking between the two.
> 

Further to this, Dom0 sets the "protocol" entry in the frontend xenstore (/local/domain/<domu id>/device/vbd/<vbd id>/protocol) to tell it what alignment it is using. I wrote GPLPV before this setting existed so I solved the problem by sending 2 invalid requests down the ring and checking the response. If the fields have shifted around I assume that dom0 is not the same bit width as the domu and switch structure definitions on the fly.

Are you writing a new frontend driver?

James


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:53:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:53:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJhJ-0001xN-PN; Mon, 07 May 2012 08:53:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SRJhH-0001xF-MU
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:53:35 +0000
Received: from [85.158.138.51:21695] by server-10.bemta-3.messagelabs.com id
	B8/9F-29478-E8D87AF4; Mon, 07 May 2012 08:53:34 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336380810!25612096!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16241 invoked from network); 7 May 2012 08:53:33 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-11.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 08:53:33 -0000
Received: from mail.bendigoit.com.au ([203.16.207.99])
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SRJh9-0002KK-Vy; Mon, 07 May 2012 18:53:28 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Mon, 7 May 2012 18:53:28 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Mon, 7 May 2012 18:53:28 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: James Harper <james.harper@bendigoit.com.au>, Jan Beulich
	<JBeulich@suse.com>, Daniel Castro <evil.dani@gmail.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DCAAAKHAA==
Date: Mon, 7 May 2012 08:53:23 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 07 May 2012 08:53:28.0017 (UTC)
	FILETIME=[DEB58C10:01CD2C2E]
X-Really-From-Bendigo-IT: magichashvalue
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >
> > >>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
> > > Hello List,
> > >
> > > I have a small problem with the ring when transferring blocks the id
> > > on the response is different from the request.
> > > This is the boot up read, count 0.
> > > The guest requests block 0, it has to be located at 7c00.
> > >
> > > I go ahead and create a REQUEST with this data:
> > > ring_req = RING_GET_REQUEST(priv,priv->req_prod_pvt);
> > > ring_req->id = 9;
> > > ring_req->nr_segments=1;
> > > ring_req->operation = BLKIF_OP_READ; ring_req->sector_number =
> > > (int)op->lba; //sector to be read ring_req->seg[0].gref =
> > > (bi->buffer_gref); //this should be get_free_gref();
> > > ring_req->seg[0].first_sect = 0;//op->lba;
> > > ring_req->seg[0].last_sect = 7;//op->lba + op->count;
> > >
> > > RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify);  //return
> > notify=0
> > > if(notify){
> > > 		dprintf(1,"Start notify procedure\n");
> > > 		evtchn_send_t send;
> > > 		send.port = (bi->port);
> > > 		dprintf(1,"In notify before hypercall port is %d\n",send.port);
> > > 		//hypercall_event_channel_op(EVTCHNOP_send, &send);
> > > 		dprintf(1,"HYPERCALL read operation notify res %d\n",
> > > hypercall_event_channel_op(EVTCHNOP_send,&send));
> > > }
> > > ring_res = RING_GET_RESPONSE((priv),(temp->rsp_prod));
> > > Then I get:
> > > FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0 this is
> > > the line:
> > > dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
> > > ring_res,ring_res->id,ring_res->status,ring_res->operation);
> > >
> > >
> > > The id should be the same on both the request and response, there
> > > are bi ither requests on the fly.
> > >
> > > Any clue?=
> >
> > With status happening to be 9 when id should be, is this perhaps a
> > broken response structure definition?
> >
> 
> That would be my guess too. The structure aligns differently under 64 and 32
> bits so I'd guess the OP is talking between the two.
> 

Further to this, Dom0 sets the "protocol" entry in the frontend xenstore (/local/domain/<domu id>/device/vbd/<vbd id>/protocol) to tell it what alignment it is using. I wrote GPLPV before this setting existed so I solved the problem by sending 2 invalid requests down the ring and checking the response. If the fields have shifted around I assume that dom0 is not the same bit width as the domu and switch structure definitions on the fly.

Are you writing a new frontend driver?

James


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:57:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJlD-00028H-Fc; Mon, 07 May 2012 08:57:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SRJlB-000289-V0
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:57:38 +0000
Received: from [85.158.143.99:36328] by server-3.bemta-4.messagelabs.com id
	6C/B3-05853-18E87AF4; Mon, 07 May 2012 08:57:37 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336381054!21481035!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMTQ4\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28426 invoked from network); 7 May 2012 08:57:35 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-216.messagelabs.com with SMTP;
	7 May 2012 08:57:35 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 07 May 2012 01:57:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139721554"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 07 May 2012 01:57:32 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 01:57:32 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 16:57:15 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "Wu, GabrielX" <gabrielx.wu@intel.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: AQHNKemuJsb0jMTM1kmo0tMgmN2cyJa+AjQw
Date: Mon, 7 May 2012 08:57:14 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100AD9DA@SHSMSX101.ccr.corp.intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<4FA3DA1302000078000819D6@nat28.tlf.novell.com>
In-Reply-To: <4FA3DA1302000078000819D6@nat28.tlf.novell.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org
> [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Jan Beulich
> Sent: Friday, May 04, 2012 7:31 PM
> To: Wu, GabrielX
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> 
> >>> On 04.05.12 at 12:06, "Wu, GabrielX" <gabrielx.wu@intel.com>
> wrote:
> > 6. when detaching a VF from hvm guest, "xl dmesg" will show some
> warning
> > information
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809
> 
> Are you sure you still see those messages? Original separate testing
> of the patch before it went in confirmed they were gone.
> 
Sorry, your patch is already in qemu-xen-unstable tree and the bug has been fixed. 
And, just marked it as verified in the bugzilla.

-Jay

> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 08:57:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 08:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRJlD-00028H-Fc; Mon, 07 May 2012 08:57:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SRJlB-000289-V0
	for xen-devel@lists.xen.org; Mon, 07 May 2012 08:57:38 +0000
Received: from [85.158.143.99:36328] by server-3.bemta-4.messagelabs.com id
	6C/B3-05853-18E87AF4; Mon, 07 May 2012 08:57:37 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336381054!21481035!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMTQ4\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28426 invoked from network); 7 May 2012 08:57:35 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-216.messagelabs.com with SMTP;
	7 May 2012 08:57:35 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 07 May 2012 01:57:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139721554"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 07 May 2012 01:57:32 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 01:57:32 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.243]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 16:57:15 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "Wu, GabrielX" <gabrielx.wu@intel.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: AQHNKemuJsb0jMTM1kmo0tMgmN2cyJa+AjQw
Date: Mon, 7 May 2012 08:57:14 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100AD9DA@SHSMSX101.ccr.corp.intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<4FA3DA1302000078000819D6@nat28.tlf.novell.com>
In-Reply-To: <4FA3DA1302000078000819D6@nat28.tlf.novell.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org
> [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Jan Beulich
> Sent: Friday, May 04, 2012 7:31 PM
> To: Wu, GabrielX
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> 
> >>> On 04.05.12 at 12:06, "Wu, GabrielX" <gabrielx.wu@intel.com>
> wrote:
> > 6. when detaching a VF from hvm guest, "xl dmesg" will show some
> warning
> > information
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809
> 
> Are you sure you still see those messages? Original separate testing
> of the patch before it went in confirmed they were gone.
> 
Sorry, your patch is already in qemu-xen-unstable tree and the bug has been fixed. 
And, just marked it as verified in the bugzilla.

-Jay

> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 11:20:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 11:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRLyq-0003t3-Bh; Mon, 07 May 2012 11:19:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SRLyo-0003sy-LL
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 11:19:50 +0000
Received: from [85.158.143.35:49749] by server-2.bemta-4.messagelabs.com id
	95/41-17550-5DFA7AF4; Mon, 07 May 2012 11:19:49 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336389587!12936266!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMjY1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30834 invoked from network); 7 May 2012 11:19:48 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-21.messagelabs.com with SMTP;
	7 May 2012 11:19:48 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 07 May 2012 04:19:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139764071"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 07 May 2012 04:19:30 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 04:19:29 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.226]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 19:19:27 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "keir.xen@gmail.com"
	<keir.xen@gmail.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] Fix vmce MCi_ADDR/MCi_MISC wrmsr bug (v2)
Thread-Index: Ac0sQ0OvBC9EpOIaTL+A4EwGPh/oBA==
Date: Mon, 7 May 2012 11:19:27 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351A076F@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH] Fix vmce MCi_ADDR/MCi_MISC wrmsr bug (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Fix vmce MCi_ADDR/MCi_MISC wrmsr bug

This patch fix a bug related to wrmsr vmce MCi_ADDR/MCi_MISC
registers, since they are not read-only.

Intel SDM recommanded os mce driver clear MCi_ADDR/MCi_MISC
So guest mce driver may clear MCi_ADDR/MCi_MISC registers.
Under such case, old vmce wrmsr logic would generate
a #GP fault at guest mce context, and make guest crash.

When wrmsr MCi_ADDR/MCi_MISC, writing 1s will cause #GP.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>

diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
--- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
+++ b/xen/arch/x86/cpu/mcheck/vmce.c	Tue May 08 03:02:50 2012 +0800
@@ -209,6 +209,14 @@
     struct domain_mca_msrs *vmce =3D dom_vmce(v->domain);
     struct bank_entry *entry =3D NULL;
=20
+    /* Give the first entry of the list, it corresponds to current
+     * vMCE# injection. When vMCE# is finished processing by the
+     * the guest, this node will be deleted.
+     * Only error bank is written. Non-error banks simply return.
+     */
+    if ( !list_empty(&vmce->impact_header) )
+        entry =3D list_entry(vmce->impact_header.next, struct bank_entry, =
list);
+
     switch ( msr & (MSR_IA32_MC0_CTL | 3) )
     {
     case MSR_IA32_MC0_CTL:
@@ -216,32 +224,53 @@
             vmce->mci_ctl[bank] =3D val;
         break;
     case MSR_IA32_MC0_STATUS:
-        /* Give the first entry of the list, it corresponds to current
-         * vMCE# injection. When vMCE# is finished processing by the
-         * the guest, this node will be deleted.
-         * Only error bank is written. Non-error banks simply return.
-         */
-        if ( !list_empty(&vmce->impact_header) )
+        if ( entry && (entry->bank =3D=3D bank) )
         {
-            entry =3D list_entry(vmce->impact_header.next,
-                               struct bank_entry, list);
-            if ( entry->bank =3D=3D bank )
-                entry->mci_status =3D val;
+            entry->mci_status =3D val;
             mce_printk(MCE_VERBOSE,
-                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
-                       bank, val);
+                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n", bank, v=
al);
         }
         else
             mce_printk(MCE_VERBOSE,
                        "MCE: wr MC%u_STATUS %"PRIx64"\n", bank, val);
         break;
     case MSR_IA32_MC0_ADDR:
-        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n", bank);
-        ret =3D -1;
+        if ( val =3D=3D ~0 )
+        {
+            mce_printk(MCE_QUIET,
+                       "MCE: wr MC%u_ADDR with 1s will cause #GP\n", bank)=
;
+            ret =3D -1;
+            break;
+        }
+
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_addr =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n", bank, val=
);
+        }
+        else
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_ADDR %"PRIx64"\n", bank, val);
         break;
     case MSR_IA32_MC0_MISC:
-        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n", bank);
-        ret =3D -1;
+        if ( val =3D=3D ~0 )
+        {
+            mce_printk(MCE_QUIET,
+                       "MCE: wr MC%u_MISC with 1s will cause #GP\n", bank)=
;
+            ret =3D -1;
+            break;
+        }
+
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_misc =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n", bank, val=
);
+        }
+        else
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_MISC %"PRIx64"\n", bank, val);
         break;
     default:
         switch ( boot_cpu_data.x86_vendor )=

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_
Content-Type: application/octet-stream; name="vmce-bug-fix.patch"
Content-Description: vmce-bug-fix.patch
Content-Disposition: attachment; filename="vmce-bug-fix.patch"; size=3769;
	creation-date="Mon, 07 May 2012 11:15:40 GMT";
	modification-date="Mon, 07 May 2012 19:09:06 GMT"
Content-Transfer-Encoding: base64

Rml4IHZtY2UgTUNpX0FERFIvTUNpX01JU0Mgd3Jtc3IgYnVnCgpUaGlzIHBhdGNoIGZpeCBhIGJ1
ZyByZWxhdGVkIHRvIHdybXNyIHZtY2UgTUNpX0FERFIvTUNpX01JU0MKcmVnaXN0ZXJzLCBzaW5j
ZSB0aGV5IGFyZSBub3QgcmVhZC1vbmx5LgoKSW50ZWwgU0RNIHJlY29tbWFuZGVkIG9zIG1jZSBk
cml2ZXIgY2xlYXIgTUNpX0FERFIvTUNpX01JU0MKU28gZ3Vlc3QgbWNlIGRyaXZlciBtYXkgY2xl
YXIgTUNpX0FERFIvTUNpX01JU0MgcmVnaXN0ZXJzLgpVbmRlciBzdWNoIGNhc2UsIG9sZCB2bWNl
IHdybXNyIGxvZ2ljIHdvdWxkIGdlbmVyYXRlCmEgI0dQIGZhdWx0IGF0IGd1ZXN0IG1jZSBjb250
ZXh0LCBhbmQgbWFrZSBndWVzdCBjcmFzaC4KCldoZW4gd3Jtc3IgTUNpX0FERFIvTUNpX01JU0Ms
IHdyaXRpbmcgMXMgd2lsbCBjYXVzZSAjR1AuCgpTaWduZWQtb2ZmLWJ5OiBMaXUsIEppbnNvbmcg
PGppbnNvbmcubGl1QGludGVsLmNvbT4KCmRpZmYgLXIgNzU1ZjQ0MGIzYjc4IHhlbi9hcmNoL3g4
Ni9jcHUvbWNoZWNrL3ZtY2UuYwotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMJ
V2VkIEFwciAxOCAxODozMzozNiAyMDEyICswODAwCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNo
ZWNrL3ZtY2UuYwlUdWUgTWF5IDA4IDAzOjAyOjUwIDIwMTIgKzA4MDAKQEAgLTIwOSw2ICsyMDks
MTQgQEAKICAgICBzdHJ1Y3QgZG9tYWluX21jYV9tc3JzICp2bWNlID0gZG9tX3ZtY2Uodi0+ZG9t
YWluKTsKICAgICBzdHJ1Y3QgYmFua19lbnRyeSAqZW50cnkgPSBOVUxMOwogCisgICAgLyogR2l2
ZSB0aGUgZmlyc3QgZW50cnkgb2YgdGhlIGxpc3QsIGl0IGNvcnJlc3BvbmRzIHRvIGN1cnJlbnQK
KyAgICAgKiB2TUNFIyBpbmplY3Rpb24uIFdoZW4gdk1DRSMgaXMgZmluaXNoZWQgcHJvY2Vzc2lu
ZyBieSB0aGUKKyAgICAgKiB0aGUgZ3Vlc3QsIHRoaXMgbm9kZSB3aWxsIGJlIGRlbGV0ZWQuCisg
ICAgICogT25seSBlcnJvciBiYW5rIGlzIHdyaXR0ZW4uIE5vbi1lcnJvciBiYW5rcyBzaW1wbHkg
cmV0dXJuLgorICAgICAqLworICAgIGlmICggIWxpc3RfZW1wdHkoJnZtY2UtPmltcGFjdF9oZWFk
ZXIpICkKKyAgICAgICAgZW50cnkgPSBsaXN0X2VudHJ5KHZtY2UtPmltcGFjdF9oZWFkZXIubmV4
dCwgc3RydWN0IGJhbmtfZW50cnksIGxpc3QpOworCiAgICAgc3dpdGNoICggbXNyICYgKE1TUl9J
QTMyX01DMF9DVEwgfCAzKSApCiAgICAgewogICAgIGNhc2UgTVNSX0lBMzJfTUMwX0NUTDoKQEAg
LTIxNiwzMiArMjI0LDUzIEBACiAgICAgICAgICAgICB2bWNlLT5tY2lfY3RsW2JhbmtdID0gdmFs
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9TVEFUVVM6Ci0gICAgICAg
IC8qIEdpdmUgdGhlIGZpcnN0IGVudHJ5IG9mIHRoZSBsaXN0LCBpdCBjb3JyZXNwb25kcyB0byBj
dXJyZW50Ci0gICAgICAgICAqIHZNQ0UjIGluamVjdGlvbi4gV2hlbiB2TUNFIyBpcyBmaW5pc2hl
ZCBwcm9jZXNzaW5nIGJ5IHRoZQotICAgICAgICAgKiB0aGUgZ3Vlc3QsIHRoaXMgbm9kZSB3aWxs
IGJlIGRlbGV0ZWQuCi0gICAgICAgICAqIE9ubHkgZXJyb3IgYmFuayBpcyB3cml0dGVuLiBOb24t
ZXJyb3IgYmFua3Mgc2ltcGx5IHJldHVybi4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggIWxp
c3RfZW1wdHkoJnZtY2UtPmltcGFjdF9oZWFkZXIpICkKKyAgICAgICAgaWYgKCBlbnRyeSAmJiAo
ZW50cnktPmJhbmsgPT0gYmFuaykgKQogICAgICAgICB7Ci0gICAgICAgICAgICBlbnRyeSA9IGxp
c3RfZW50cnkodm1jZS0+aW1wYWN0X2hlYWRlci5uZXh0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBiYW5rX2VudHJ5LCBsaXN0KTsKLSAgICAgICAgICAgIGlmICggZW50
cnktPmJhbmsgPT0gYmFuayApCi0gICAgICAgICAgICAgICAgZW50cnktPm1jaV9zdGF0dXMgPSB2
YWw7CisgICAgICAgICAgICBlbnRyeS0+bWNpX3N0YXR1cyA9IHZhbDsKICAgICAgICAgICAgIG1j
ZV9wcmludGsoTUNFX1ZFUkJPU0UsCi0gICAgICAgICAgICAgICAgICAgICAgICJNQ0U6IHdyIE1D
JXVfU1RBVFVTICUiUFJJeDY0IiBpbiB2TUNFI1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
YmFuaywgdmFsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIk1DRTogd3IgTUMldV9TVEFUVVMg
JSJQUkl4NjQiIGluIHZNQ0UjXG4iLCBiYW5rLCB2YWwpOwogICAgICAgICB9CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIG1jZV9wcmludGsoTUNFX1ZFUkJPU0UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICJNQ0U6IHdyIE1DJXVfU1RBVFVTICUiUFJJeDY0IlxuIiwgYmFuaywgdmFsKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBNU1JfSUEzMl9NQzBfQUREUjoKLSAgICAgICAgbWNlX3By
aW50ayhNQ0VfUVVJRVQsICJNQ0U6IE1DJXVfQUREUiBpcyByZWFkLW9ubHlcbiIsIGJhbmspOwot
ICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgaWYgKCB2YWwgPT0gfjAgKQorICAgICAgICB7Cisg
ICAgICAgICAgICBtY2VfcHJpbnRrKE1DRV9RVUlFVCwKKyAgICAgICAgICAgICAgICAgICAgICAg
Ik1DRTogd3IgTUMldV9BRERSIHdpdGggMXMgd2lsbCBjYXVzZSAjR1BcbiIsIGJhbmspOworICAg
ICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICggZW50cnkgJiYgKGVudHJ5LT5iYW5rID09IGJhbmspICkKKyAgICAgICAgeworICAg
ICAgICAgICAgZW50cnktPm1jaV9hZGRyID0gdmFsOworICAgICAgICAgICAgbWNlX3ByaW50ayhN
Q0VfVkVSQk9TRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIk1DRTogd3IgTUMldV9BRERSICUi
UFJJeDY0IiBpbiB2TUNFI1xuIiwgYmFuaywgdmFsKTsKKyAgICAgICAgfQorICAgICAgICBlbHNl
CisgICAgICAgICAgICBtY2VfcHJpbnRrKE1DRV9WRVJCT1NFLAorICAgICAgICAgICAgICAgICAg
ICAgICAiTUNFOiB3ciBNQyV1X0FERFIgJSJQUkl4NjQiXG4iLCBiYW5rLCB2YWwpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9NSVNDOgotICAgICAgICBtY2VfcHJpbnRr
KE1DRV9RVUlFVCwgIk1DRTogTUMldV9NSVNDIGlzIHJlYWQtb25seVxuIiwgYmFuayk7Ci0gICAg
ICAgIHJldCA9IC0xOworICAgICAgICBpZiAoIHZhbCA9PSB+MCApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIG1jZV9wcmludGsoTUNFX1FVSUVULAorICAgICAgICAgICAgICAgICAgICAgICAiTUNF
OiB3ciBNQyV1X01JU0Mgd2l0aCAxcyB3aWxsIGNhdXNlICNHUFxuIiwgYmFuayk7CisgICAgICAg
ICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKCBlbnRyeSAmJiAoZW50cnktPmJhbmsgPT0gYmFuaykgKQorICAgICAgICB7CisgICAgICAg
ICAgICBlbnRyeS0+bWNpX21pc2MgPSB2YWw7CisgICAgICAgICAgICBtY2VfcHJpbnRrKE1DRV9W
RVJCT1NFLAorICAgICAgICAgICAgICAgICAgICAgICAiTUNFOiB3ciBNQyV1X01JU0MgJSJQUkl4
NjQiIGluIHZNQ0UjXG4iLCBiYW5rLCB2YWwpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIG1jZV9wcmludGsoTUNFX1ZFUkJPU0UsCisgICAgICAgICAgICAgICAgICAgICAg
ICJNQ0U6IHdyIE1DJXVfTUlTQyAlIlBSSXg2NCJcbiIsIGJhbmssIHZhbCk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHN3aXRjaCAoIGJvb3RfY3B1X2RhdGEueDg2X3Zl
bmRvciApCg==

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Mon May 07 11:20:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 11:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRLyq-0003t3-Bh; Mon, 07 May 2012 11:19:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SRLyo-0003sy-LL
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 11:19:50 +0000
Received: from [85.158.143.35:49749] by server-2.bemta-4.messagelabs.com id
	95/41-17550-5DFA7AF4; Mon, 07 May 2012 11:19:49 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336389587!12936266!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwMjY1\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30834 invoked from network); 7 May 2012 11:19:48 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-21.messagelabs.com with SMTP;
	7 May 2012 11:19:48 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 07 May 2012 04:19:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="139764071"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 07 May 2012 04:19:30 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 7 May 2012 04:19:29 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.240]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.226]) with mapi id
	14.01.0355.002; Mon, 7 May 2012 19:19:27 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "keir.xen@gmail.com"
	<keir.xen@gmail.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] Fix vmce MCi_ADDR/MCi_MISC wrmsr bug (v2)
Thread-Index: Ac0sQ0OvBC9EpOIaTL+A4EwGPh/oBA==
Date: Mon, 7 May 2012 11:19:27 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351A076F@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH] Fix vmce MCi_ADDR/MCi_MISC wrmsr bug (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Fix vmce MCi_ADDR/MCi_MISC wrmsr bug

This patch fix a bug related to wrmsr vmce MCi_ADDR/MCi_MISC
registers, since they are not read-only.

Intel SDM recommanded os mce driver clear MCi_ADDR/MCi_MISC
So guest mce driver may clear MCi_ADDR/MCi_MISC registers.
Under such case, old vmce wrmsr logic would generate
a #GP fault at guest mce context, and make guest crash.

When wrmsr MCi_ADDR/MCi_MISC, writing 1s will cause #GP.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>

diff -r 755f440b3b78 xen/arch/x86/cpu/mcheck/vmce.c
--- a/xen/arch/x86/cpu/mcheck/vmce.c	Wed Apr 18 18:33:36 2012 +0800
+++ b/xen/arch/x86/cpu/mcheck/vmce.c	Tue May 08 03:02:50 2012 +0800
@@ -209,6 +209,14 @@
     struct domain_mca_msrs *vmce =3D dom_vmce(v->domain);
     struct bank_entry *entry =3D NULL;
=20
+    /* Give the first entry of the list, it corresponds to current
+     * vMCE# injection. When vMCE# is finished processing by the
+     * the guest, this node will be deleted.
+     * Only error bank is written. Non-error banks simply return.
+     */
+    if ( !list_empty(&vmce->impact_header) )
+        entry =3D list_entry(vmce->impact_header.next, struct bank_entry, =
list);
+
     switch ( msr & (MSR_IA32_MC0_CTL | 3) )
     {
     case MSR_IA32_MC0_CTL:
@@ -216,32 +224,53 @@
             vmce->mci_ctl[bank] =3D val;
         break;
     case MSR_IA32_MC0_STATUS:
-        /* Give the first entry of the list, it corresponds to current
-         * vMCE# injection. When vMCE# is finished processing by the
-         * the guest, this node will be deleted.
-         * Only error bank is written. Non-error banks simply return.
-         */
-        if ( !list_empty(&vmce->impact_header) )
+        if ( entry && (entry->bank =3D=3D bank) )
         {
-            entry =3D list_entry(vmce->impact_header.next,
-                               struct bank_entry, list);
-            if ( entry->bank =3D=3D bank )
-                entry->mci_status =3D val;
+            entry->mci_status =3D val;
             mce_printk(MCE_VERBOSE,
-                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n",
-                       bank, val);
+                       "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n", bank, v=
al);
         }
         else
             mce_printk(MCE_VERBOSE,
                        "MCE: wr MC%u_STATUS %"PRIx64"\n", bank, val);
         break;
     case MSR_IA32_MC0_ADDR:
-        mce_printk(MCE_QUIET, "MCE: MC%u_ADDR is read-only\n", bank);
-        ret =3D -1;
+        if ( val =3D=3D ~0 )
+        {
+            mce_printk(MCE_QUIET,
+                       "MCE: wr MC%u_ADDR with 1s will cause #GP\n", bank)=
;
+            ret =3D -1;
+            break;
+        }
+
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_addr =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_ADDR %"PRIx64" in vMCE#\n", bank, val=
);
+        }
+        else
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_ADDR %"PRIx64"\n", bank, val);
         break;
     case MSR_IA32_MC0_MISC:
-        mce_printk(MCE_QUIET, "MCE: MC%u_MISC is read-only\n", bank);
-        ret =3D -1;
+        if ( val =3D=3D ~0 )
+        {
+            mce_printk(MCE_QUIET,
+                       "MCE: wr MC%u_MISC with 1s will cause #GP\n", bank)=
;
+            ret =3D -1;
+            break;
+        }
+
+        if ( entry && (entry->bank =3D=3D bank) )
+        {
+            entry->mci_misc =3D val;
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_MISC %"PRIx64" in vMCE#\n", bank, val=
);
+        }
+        else
+            mce_printk(MCE_VERBOSE,
+                       "MCE: wr MC%u_MISC %"PRIx64"\n", bank, val);
         break;
     default:
         switch ( boot_cpu_data.x86_vendor )=

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_
Content-Type: application/octet-stream; name="vmce-bug-fix.patch"
Content-Description: vmce-bug-fix.patch
Content-Disposition: attachment; filename="vmce-bug-fix.patch"; size=3769;
	creation-date="Mon, 07 May 2012 11:15:40 GMT";
	modification-date="Mon, 07 May 2012 19:09:06 GMT"
Content-Transfer-Encoding: base64

Rml4IHZtY2UgTUNpX0FERFIvTUNpX01JU0Mgd3Jtc3IgYnVnCgpUaGlzIHBhdGNoIGZpeCBhIGJ1
ZyByZWxhdGVkIHRvIHdybXNyIHZtY2UgTUNpX0FERFIvTUNpX01JU0MKcmVnaXN0ZXJzLCBzaW5j
ZSB0aGV5IGFyZSBub3QgcmVhZC1vbmx5LgoKSW50ZWwgU0RNIHJlY29tbWFuZGVkIG9zIG1jZSBk
cml2ZXIgY2xlYXIgTUNpX0FERFIvTUNpX01JU0MKU28gZ3Vlc3QgbWNlIGRyaXZlciBtYXkgY2xl
YXIgTUNpX0FERFIvTUNpX01JU0MgcmVnaXN0ZXJzLgpVbmRlciBzdWNoIGNhc2UsIG9sZCB2bWNl
IHdybXNyIGxvZ2ljIHdvdWxkIGdlbmVyYXRlCmEgI0dQIGZhdWx0IGF0IGd1ZXN0IG1jZSBjb250
ZXh0LCBhbmQgbWFrZSBndWVzdCBjcmFzaC4KCldoZW4gd3Jtc3IgTUNpX0FERFIvTUNpX01JU0Ms
IHdyaXRpbmcgMXMgd2lsbCBjYXVzZSAjR1AuCgpTaWduZWQtb2ZmLWJ5OiBMaXUsIEppbnNvbmcg
PGppbnNvbmcubGl1QGludGVsLmNvbT4KCmRpZmYgLXIgNzU1ZjQ0MGIzYjc4IHhlbi9hcmNoL3g4
Ni9jcHUvbWNoZWNrL3ZtY2UuYwotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMJ
V2VkIEFwciAxOCAxODozMzozNiAyMDEyICswODAwCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNo
ZWNrL3ZtY2UuYwlUdWUgTWF5IDA4IDAzOjAyOjUwIDIwMTIgKzA4MDAKQEAgLTIwOSw2ICsyMDks
MTQgQEAKICAgICBzdHJ1Y3QgZG9tYWluX21jYV9tc3JzICp2bWNlID0gZG9tX3ZtY2Uodi0+ZG9t
YWluKTsKICAgICBzdHJ1Y3QgYmFua19lbnRyeSAqZW50cnkgPSBOVUxMOwogCisgICAgLyogR2l2
ZSB0aGUgZmlyc3QgZW50cnkgb2YgdGhlIGxpc3QsIGl0IGNvcnJlc3BvbmRzIHRvIGN1cnJlbnQK
KyAgICAgKiB2TUNFIyBpbmplY3Rpb24uIFdoZW4gdk1DRSMgaXMgZmluaXNoZWQgcHJvY2Vzc2lu
ZyBieSB0aGUKKyAgICAgKiB0aGUgZ3Vlc3QsIHRoaXMgbm9kZSB3aWxsIGJlIGRlbGV0ZWQuCisg
ICAgICogT25seSBlcnJvciBiYW5rIGlzIHdyaXR0ZW4uIE5vbi1lcnJvciBiYW5rcyBzaW1wbHkg
cmV0dXJuLgorICAgICAqLworICAgIGlmICggIWxpc3RfZW1wdHkoJnZtY2UtPmltcGFjdF9oZWFk
ZXIpICkKKyAgICAgICAgZW50cnkgPSBsaXN0X2VudHJ5KHZtY2UtPmltcGFjdF9oZWFkZXIubmV4
dCwgc3RydWN0IGJhbmtfZW50cnksIGxpc3QpOworCiAgICAgc3dpdGNoICggbXNyICYgKE1TUl9J
QTMyX01DMF9DVEwgfCAzKSApCiAgICAgewogICAgIGNhc2UgTVNSX0lBMzJfTUMwX0NUTDoKQEAg
LTIxNiwzMiArMjI0LDUzIEBACiAgICAgICAgICAgICB2bWNlLT5tY2lfY3RsW2JhbmtdID0gdmFs
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9TVEFUVVM6Ci0gICAgICAg
IC8qIEdpdmUgdGhlIGZpcnN0IGVudHJ5IG9mIHRoZSBsaXN0LCBpdCBjb3JyZXNwb25kcyB0byBj
dXJyZW50Ci0gICAgICAgICAqIHZNQ0UjIGluamVjdGlvbi4gV2hlbiB2TUNFIyBpcyBmaW5pc2hl
ZCBwcm9jZXNzaW5nIGJ5IHRoZQotICAgICAgICAgKiB0aGUgZ3Vlc3QsIHRoaXMgbm9kZSB3aWxs
IGJlIGRlbGV0ZWQuCi0gICAgICAgICAqIE9ubHkgZXJyb3IgYmFuayBpcyB3cml0dGVuLiBOb24t
ZXJyb3IgYmFua3Mgc2ltcGx5IHJldHVybi4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggIWxp
c3RfZW1wdHkoJnZtY2UtPmltcGFjdF9oZWFkZXIpICkKKyAgICAgICAgaWYgKCBlbnRyeSAmJiAo
ZW50cnktPmJhbmsgPT0gYmFuaykgKQogICAgICAgICB7Ci0gICAgICAgICAgICBlbnRyeSA9IGxp
c3RfZW50cnkodm1jZS0+aW1wYWN0X2hlYWRlci5uZXh0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBiYW5rX2VudHJ5LCBsaXN0KTsKLSAgICAgICAgICAgIGlmICggZW50
cnktPmJhbmsgPT0gYmFuayApCi0gICAgICAgICAgICAgICAgZW50cnktPm1jaV9zdGF0dXMgPSB2
YWw7CisgICAgICAgICAgICBlbnRyeS0+bWNpX3N0YXR1cyA9IHZhbDsKICAgICAgICAgICAgIG1j
ZV9wcmludGsoTUNFX1ZFUkJPU0UsCi0gICAgICAgICAgICAgICAgICAgICAgICJNQ0U6IHdyIE1D
JXVfU1RBVFVTICUiUFJJeDY0IiBpbiB2TUNFI1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
YmFuaywgdmFsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIk1DRTogd3IgTUMldV9TVEFUVVMg
JSJQUkl4NjQiIGluIHZNQ0UjXG4iLCBiYW5rLCB2YWwpOwogICAgICAgICB9CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIG1jZV9wcmludGsoTUNFX1ZFUkJPU0UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICJNQ0U6IHdyIE1DJXVfU1RBVFVTICUiUFJJeDY0IlxuIiwgYmFuaywgdmFsKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBNU1JfSUEzMl9NQzBfQUREUjoKLSAgICAgICAgbWNlX3By
aW50ayhNQ0VfUVVJRVQsICJNQ0U6IE1DJXVfQUREUiBpcyByZWFkLW9ubHlcbiIsIGJhbmspOwot
ICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgaWYgKCB2YWwgPT0gfjAgKQorICAgICAgICB7Cisg
ICAgICAgICAgICBtY2VfcHJpbnRrKE1DRV9RVUlFVCwKKyAgICAgICAgICAgICAgICAgICAgICAg
Ik1DRTogd3IgTUMldV9BRERSIHdpdGggMXMgd2lsbCBjYXVzZSAjR1BcbiIsIGJhbmspOworICAg
ICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICggZW50cnkgJiYgKGVudHJ5LT5iYW5rID09IGJhbmspICkKKyAgICAgICAgeworICAg
ICAgICAgICAgZW50cnktPm1jaV9hZGRyID0gdmFsOworICAgICAgICAgICAgbWNlX3ByaW50ayhN
Q0VfVkVSQk9TRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIk1DRTogd3IgTUMldV9BRERSICUi
UFJJeDY0IiBpbiB2TUNFI1xuIiwgYmFuaywgdmFsKTsKKyAgICAgICAgfQorICAgICAgICBlbHNl
CisgICAgICAgICAgICBtY2VfcHJpbnRrKE1DRV9WRVJCT1NFLAorICAgICAgICAgICAgICAgICAg
ICAgICAiTUNFOiB3ciBNQyV1X0FERFIgJSJQUkl4NjQiXG4iLCBiYW5rLCB2YWwpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIE1TUl9JQTMyX01DMF9NSVNDOgotICAgICAgICBtY2VfcHJpbnRr
KE1DRV9RVUlFVCwgIk1DRTogTUMldV9NSVNDIGlzIHJlYWQtb25seVxuIiwgYmFuayk7Ci0gICAg
ICAgIHJldCA9IC0xOworICAgICAgICBpZiAoIHZhbCA9PSB+MCApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIG1jZV9wcmludGsoTUNFX1FVSUVULAorICAgICAgICAgICAgICAgICAgICAgICAiTUNF
OiB3ciBNQyV1X01JU0Mgd2l0aCAxcyB3aWxsIGNhdXNlICNHUFxuIiwgYmFuayk7CisgICAgICAg
ICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKCBlbnRyeSAmJiAoZW50cnktPmJhbmsgPT0gYmFuaykgKQorICAgICAgICB7CisgICAgICAg
ICAgICBlbnRyeS0+bWNpX21pc2MgPSB2YWw7CisgICAgICAgICAgICBtY2VfcHJpbnRrKE1DRV9W
RVJCT1NFLAorICAgICAgICAgICAgICAgICAgICAgICAiTUNFOiB3ciBNQyV1X01JU0MgJSJQUkl4
NjQiIGluIHZNQ0UjXG4iLCBiYW5rLCB2YWwpOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIG1jZV9wcmludGsoTUNFX1ZFUkJPU0UsCisgICAgICAgICAgICAgICAgICAgICAg
ICJNQ0U6IHdyIE1DJXVfTUlTQyAlIlBSSXg2NCJcbiIsIGJhbmssIHZhbCk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHN3aXRjaCAoIGJvb3RfY3B1X2RhdGEueDg2X3Zl
bmRvciApCg==

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351A076FSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Mon May 07 11:52:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 11:52:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRMTg-0004QQ-M5; Mon, 07 May 2012 11:51:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRMTf-0004QL-6Y
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 11:51:43 +0000
Received: from [85.158.143.35:41662] by server-2.bemta-4.messagelabs.com id
	69/81-17550-E47B7AF4; Mon, 07 May 2012 11:51:42 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336391501!11165268!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28957 invoked from network); 7 May 2012 11:51:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 11:51:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,543,1330905600"; d="scan'208";a="12328154"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 11:50:09 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	12:50:08 +0100
Message-ID: <4FA7B6EF.9030403@citrix.com>
Date: Mon, 7 May 2012 12:50:07 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>, AP <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
In-Reply-To: <4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 09:10, Jan Beulich wrote:
>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
>> (XEN) *** IRQ BUG found ***
>> (XEN) CPU0 -Testing vector 236 from bitmap
> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
> in through the 8259A. Something fundamentally fishy must be going
> on here, and I would suppose the code in question shouldn't even be
> reached for legacy vectors.
>
> Furthermore, calling dump_irqs() from the debugging code with
> desc->lock still held makes it impossible to get full output, as that
> function wants to lock all initialized IRQ descriptors.
>
> Jan

Yes - it has been vector 236 on each of the 3 reported failures from AP,
and I believe it was also vector 236 in the one case I managed to
reproduce the issue.

However, once we have set up the IO-APIC, the 8259A should not be used
any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
was going to be my first suggestion), and that EOI Broadcast Suppression
is enabled, which I have already identified as a source of problems for
some customers.  As a 'fix', I provided the ability for
"io_ack_method=new" to prevent EOI Broadcast Suppression being enabled. 
This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
completely fixed the customer problems - just made it substantially more
rare.

AP: Can you manually invoke the 'i' debug key and provide that - it will
help to see how Xen is setting up the IO-APIC(s) on your system.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 11:52:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 11:52:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRMTg-0004QQ-M5; Mon, 07 May 2012 11:51:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRMTf-0004QL-6Y
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 11:51:43 +0000
Received: from [85.158.143.35:41662] by server-2.bemta-4.messagelabs.com id
	69/81-17550-E47B7AF4; Mon, 07 May 2012 11:51:42 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336391501!11165268!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28957 invoked from network); 7 May 2012 11:51:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 11:51:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,543,1330905600"; d="scan'208";a="12328154"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 11:50:09 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	12:50:08 +0100
Message-ID: <4FA7B6EF.9030403@citrix.com>
Date: Mon, 7 May 2012 12:50:07 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>, AP <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
In-Reply-To: <4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 09:10, Jan Beulich wrote:
>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
>> (XEN) *** IRQ BUG found ***
>> (XEN) CPU0 -Testing vector 236 from bitmap
> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
> in through the 8259A. Something fundamentally fishy must be going
> on here, and I would suppose the code in question shouldn't even be
> reached for legacy vectors.
>
> Furthermore, calling dump_irqs() from the debugging code with
> desc->lock still held makes it impossible to get full output, as that
> function wants to lock all initialized IRQ descriptors.
>
> Jan

Yes - it has been vector 236 on each of the 3 reported failures from AP,
and I believe it was also vector 236 in the one case I managed to
reproduce the issue.

However, once we have set up the IO-APIC, the 8259A should not be used
any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
was going to be my first suggestion), and that EOI Broadcast Suppression
is enabled, which I have already identified as a source of problems for
some customers.  As a 'fix', I provided the ability for
"io_ack_method=new" to prevent EOI Broadcast Suppression being enabled. 
This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
completely fixed the customer problems - just made it substantially more
rare.

AP: Can you manually invoke the 'i' debug key and provide that - it will
help to see how Xen is setting up the IO-APIC(s) on your system.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 11:53:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 11:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRMUV-0004Tp-AN; Mon, 07 May 2012 11:52:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRMUS-0004Td-HU
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 11:52:33 +0000
Received: from [85.158.138.51:24643] by server-7.bemta-3.messagelabs.com id
	1A/85-03078-F77B7AF4; Mon, 07 May 2012 11:52:31 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336391140!16737548!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25933 invoked from network); 7 May 2012 11:45:40 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-7.tower-174.messagelabs.com with SMTP;
	7 May 2012 11:45:40 -0000
Received: (qmail 31365 invoked from network); 7 May 2012 13:45:26 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	7 May 2012 13:45:26 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Mon, 7 May 2012 13:45:23 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_TX7pPqk9X0OyHh/"
Message-Id: <201205071345.23619.pavel@netsafe.cz>
Subject: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi,
I'm trying to run AMD VGA passthru on latest XEN unstable with latest kernel.
I already have working setup with ancient xen-devel 4.2 and 2.6.32.x xenified 
kernel. See attached log.

So I tried just to update and patch xen and kernel, but I had no luck so far.

Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang recently.
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html

I tried two kernels 
testing-3.5-with-extra and xen/next-3.2 from
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
and
git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
Both with ioperm opcode patch which is required by the ATI patch. See 
attachement.

The xen/next-3.2 branch kernel was able to start booting windows.
With Catalyst driver installed I just saw bluescreen during Windows boot.
Without Catalyst driver Windows were able to boot but Windows ended frozen or 
USB was not working. It was hard to tell because input devices had no response 
at all.

The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0 kernel 
during Windows boot. I guess I have to rework the io_bitmap patch somehow.
-- 
Pavel Mateja

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="2.6.32.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="2.6.32.log"

 __  __            _  _    ____                     _        _     _     =20
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___=20
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                         =20
(XEN) Xen version 4.2-unstable (root@netsafe.cz) (gcc version 4.4.5 (Debian=
 4.4.5-8) ) Sun Feb  5 15:55:33 CET 2012
(XEN) Latest ChangeSet: Thu May 05 17:40:34 2011 +0100 23300:4b0692880dfa
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=3D2G dom0_max_vcpus=3D6 loglvl=3Da=
ll guest_loglvl=3Dall sync_console com1=3D115200,8n1,0xac00 console=3Dcom1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.254 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=3D0xF0 apic1=3D0 pin1=3D2 apic2=3D-1 pin2=3D-1
(XEN) Platform timer is 14.318MHz HPET
=FF(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging detected.
(XEN) Brought up 6 CPUs
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is ena=
bled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL =3D 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=3D0x1000000 memsz=3D0x77c000
(XEN) elf_parse_binary: phdr: paddr=3D0x177c000 memsz=3D0x8da88
(XEN) elf_parse_binary: phdr: paddr=3D0x180a000 memsz=3D0x8c8
(XEN) elf_parse_binary: phdr: paddr=3D0x180b000 memsz=3D0x14a58
(XEN) elf_parse_binary: phdr: paddr=3D0x1820000 memsz=3D0x212000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1a32000
(XEN) elf_xen_parse_note: GUEST_OS =3D "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION =3D "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION =3D "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE =3D 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY =3D 0xffffffff81820200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE =3D 0xffffffff81009000
(XEN) elf_xen_parse_note: FEATURES =3D "!writable_page_tables|pae_pgdir_abo=
ve_4gb"
(XEN) elf_xen_parse_note: PAE_MODE =3D "yes"
(XEN) elf_xen_parse_note: LOADER =3D "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL =3D 0x1
(XEN) elf_xen_parse_note: HV_START_LOW =3D 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET =3D 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        =3D 0xffffffff80000000
(XEN)     elf_paddr_offset =3D 0x0
(XEN)     virt_offset      =3D 0xffffffff80000000
(XEN)     virt_kstart      =3D 0xffffffff81000000
(XEN)     virt_kend        =3D 0xffffffff81a32000
(XEN)     virt_entry       =3D 0xffffffff81820200
(XEN)     p2m_base         =3D 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1a32000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506263 pages to b=
e allocated)
(XEN)  Init. ramdisk: 000000022f997000->000000022ffff600
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81a32000
(XEN)  Init. ramdisk: ffffffff81a32000->ffffffff8209a600
(XEN)  Phys-Mach map: ffffffff8209b000->ffffffff8249b000
(XEN)  Start info:    ffffffff8249b000->ffffffff8249b4b4
(XEN)  Page tables:   ffffffff8249c000->ffffffff824b3000
(XEN)  Boot stack:    ffffffff824b3000->ffffffff824b4000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81820200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff8177c000
(XEN) elf_load_binary: phdr 1 at 0xffffffff8177c000 -> 0xffffffff81809a88
(XEN) elf_load_binary: phdr 2 at 0xffffffff8180a000 -> 0xffffffff8180a8c8
(XEN) elf_load_binary: phdr 3 at 0xffffffff8180b000 -> 0xffffffff8181fa58
(XEN) elf_load_binary: phdr 4 at 0xffffffff81820000 -> 0xffffffff818b3000
(XEN) Scrubbing Free RAM: .................................................=
=2E...........done.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...=20
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input t=
o Xen)
(XEN) Freed 236kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
ERROR: Unable to locate IOAPIC for GSI 2
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010004 from 0x000024=
a74db06404 to 0x0000000000000000.
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010000 from 0x000003=
061a0effc9 to 0x0000000000430076.
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:02.0
(XEN) PCI add device 00:04.0
(XEN) PCI add device 00:05.0
(XEN) PCI add device 00:06.0
(XEN) PCI add device 00:07.0
(XEN) PCI add device 00:0d.0
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:12.0
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:14.0
(XEN) PCI add device 00:14.2
(XEN) PCI add device 00:14.3
(XEN) PCI add device 00:14.4
(XEN) PCI add device 00:14.5
(XEN) PCI add device 00:16.0
(XEN) PCI add device 00:16.2
(XEN) PCI add device 00:18.0
(XEN) PCI add device 00:18.1
(XEN) PCI add device 00:18.2
(XEN) PCI add device 00:18.3
(XEN) PCI add device 00:18.4
(XEN) PCI add device 07:00.0
(XEN) PCI add device 07:00.1
(XEN) PCI add device 06:00.0
(XEN) PCI add device 06:00.1
(XEN) PCI add device 05:00.0
(XEN) PCI add device 04:00.0
(XEN) PCI add device 03:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 02:00.1
registering netback
IT87 WDT: Unknown Chip found, Chip 8721 Revision 0001
[Firmware Bug]: powernow-k8: No compatible ACPI _PSS objects found.
[Firmware Bug]: powernow-k8: Try again with latest BIOS.
Loading, please wait...
INIT: version 2.88 booting
Using makefile-style concurrent boot in runlevel S.
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...udevd-work[1437]: kernel-provided =
name 'blktap-control' and NAME=3D 'xen/blktap-2/control' disagree, please u=
se SYMLINK+=3D or change the kernel to provide the proper name

done.
Setting preliminary keymap...done.
Activating swap...done.
Checking root file system...fsck from util-linux-ng 2.17.2
HOWTO_ROOT: clean, 95054/1419840 files, 731180/5679104 blocks (check in 4 m=
ounts)
done.
Loading kernel modules...done.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take =
a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
=2E
Activating lvm and md swap...done.
Checking file systems...fsck from util-linux-ng 2.17.2
done.
Mounting local filesystems...done.
Activating swapfile swap...done.
Cleaning up temporary files....
Setting kernel variables ...done.
Configuring network interfaces...done.
Cleaning up temporary files....
Setting console screen modes.
Rcannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
INIT: Entering runlevel: 2
Using makefile-style concurrent boot in runlevel 2.
acpid: starting up with proc fs

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
Starting periodic command scheduler: cron.
Starting OpenBSD Secure Shell server: sshd.
Starting xenstored...XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state

Setting domain 0 name...
Starting xenconsoled...
BLKTAPCTRL[2168]: blktapctrl.c:790: blktapctrl: v1.0.0

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [raw image (aio)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [raw image (sync)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2168]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2168]: blktapctrl.c:859: couldn't open blktap interface

BLKTAPCTRL[2168]: blktapctrl.c:922: Unable to start blktapctrl

(XEN) PCI remove device 00:12.2
(XEN) PCI add device 00:12.2
/usr/local/bin/xen_start.sh: line 15: /sys/bus/pci/devices/0000:07:00.0/dri=
ver/unbind: No such file or directory
Using config file "/etc/xen/windows".
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 7
Started domain windows (id=3D1)(XEN) HVM1: System requested ROMBIOS

(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM2: HVM Loader
(XEN) HVM2: Detected Xen v4.2-unstable
(XEN) HVM2: Xenbus rings @0xfeffc000, event channel 7
(XEN) HVM2: System requested ROMBIOS
(XEN) HVM2: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom2 PCI link 0 changed 0 -> 5
(XEN) HVM2: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom2 PCI link 1 changed 0 -> 10
(XEN) HVM2: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom2 PCI link 2 changed 0 -> 11
(XEN) HVM2: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom2 PCI link 3 changed 0 -> 5
(XEN) HVM2: PCI-ISA link 3 routed to IRQ5
(XEN) HVM2: pci dev 01:3 INTA->IRQ10
(XEN) HVM2: pci dev 03:0 INTA->IRQ5
(XEN) HVM2: pci dev 04:0 INTA->IRQ5
(XEN) HVM2: pci dev 05:0 INTA->IRQ10
(XEN) HVM2: pci dev 06:0 INTB->IRQ5
(XEN) HVM2: pci dev 07:0 INTA->IRQ5
(XEN) HVM2: pci dev 08:0 INTB->IRQ10
(XEN) HVM2: pci dev 09:0 INTA->IRQ10
(XEN) HVM2: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM2: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM2: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM2: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM2: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM2: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM2: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM2: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM2: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM2: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM2: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM2: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM2: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM2: Multiprocessor initialisation:
(XEN) HVM2:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2: Testing HVM environment:
(XEN) HVM2:  - REP INSB across page boundaries ... passed
(XEN) HVM2:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM2: Passed 2 of 2 tests
(XEN) HVM2: Writing SMBIOS tables ...
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM3: HVM Loader
(XEN) HVM3: Detected Xen v4.2-unstable
(XEN) HVM3: Xenbus rings @0xfeffc000, event channel 7
(XEN) HVM3: System requested ROMBIOS
(XEN) HVM3: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom3 PCI link 0 changed 0 -> 5
(XEN) HVM3: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom3 PCI link 1 changed 0 -> 10
(XEN) HVM3: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom3 PCI link 2 changed 0 -> 11
(XEN) HVM3: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom3 PCI link 3 changed 0 -> 5
(XEN) HVM3: PCI-ISA link 3 routed to IRQ5
(XEN) HVM3: pci dev 01:3 INTA->IRQ10
(XEN) HVM3: pci dev 03:0 INTA->IRQ5
(XEN) HVM3: pci dev 04:0 INTA->IRQ5
(XEN) HVM3: pci dev 05:0 INTA->IRQ10
(XEN) HVM3: pci dev 06:0 INTB->IRQ5
(XEN) HVM3: pci dev 07:0 INTA->IRQ5
(XEN) HVM3: pci dev 08:0 INTB->IRQ10
(XEN) HVM3: pci dev 09:0 INTA->IRQ10
(XEN) HVM3: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM3: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM3: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM3: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM3: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM3: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM3: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM3: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM3: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM3: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM3: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM3: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM3: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM3: Multiprocessor initialisation:
(XEN) HVM3:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3: Testing HVM environment:
(XEN) HVM3:  - REP INSB across page boundaries ... passed
(XEN) HVM3:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM3: Passed 2 of 2 tests
(XEN) HVM3: Writing SMBIOS tables ...
 __  __            _  _    ____                     _        _     _     =20
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___=20
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                         =20
(XEN) Xen version 4.2-unstable (root@netsafe.cz) (gcc version 4.4.5 (Debian=
 4.4.5-8) ) Sun Feb  5 15:55:33 CET 2012
(XEN) Latest ChangeSet: Thu May 05 17:40:34 2011 +0100 23300:4b0692880dfa
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=3D2G dom0_max_vcpus=3D6 loglvl=3Da=
ll guest_loglvl=3Dall sync_console com1=3D115200,8n1,0xac00 console=3Dcom1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.220 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=3D0xF0 apic1=3D0 pin1=3D2 apic2=3D-1 pin2=3D-1
(XEN) Platform timer is 14.318MHz HPET
=FF(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging detected.
(XEN) Brought up 6 CPUs
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is ena=
bled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL =3D 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=3D0x1000000 memsz=3D0x77c000
(XEN) elf_parse_binary: phdr: paddr=3D0x177c000 memsz=3D0x8da88
(XEN) elf_parse_binary: phdr: paddr=3D0x180a000 memsz=3D0x8c8
(XEN) elf_parse_binary: phdr: paddr=3D0x180b000 memsz=3D0x14a58
(XEN) elf_parse_binary: phdr: paddr=3D0x1820000 memsz=3D0x212000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1a32000
(XEN) elf_xen_parse_note: GUEST_OS =3D "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION =3D "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION =3D "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE =3D 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY =3D 0xffffffff81820200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE =3D 0xffffffff81009000
(XEN) elf_xen_parse_note: FEATURES =3D "!writable_page_tables|pae_pgdir_abo=
ve_4gb"
(XEN) elf_xen_parse_note: PAE_MODE =3D "yes"
(XEN) elf_xen_parse_note: LOADER =3D "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL =3D 0x1
(XEN) elf_xen_parse_note: HV_START_LOW =3D 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET =3D 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        =3D 0xffffffff80000000
(XEN)     elf_paddr_offset =3D 0x0
(XEN)     virt_offset      =3D 0xffffffff80000000
(XEN)     virt_kstart      =3D 0xffffffff81000000
(XEN)     virt_kend        =3D 0xffffffff81a32000
(XEN)     virt_entry       =3D 0xffffffff81820200
(XEN)     p2m_base         =3D 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1a32000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506263 pages to b=
e allocated)
(XEN)  Init. ramdisk: 000000022f997000->000000022ffff600
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81a32000
(XEN)  Init. ramdisk: ffffffff81a32000->ffffffff8209a600
(XEN)  Phys-Mach map: ffffffff8209b000->ffffffff8249b000
(XEN)  Start info:    ffffffff8249b000->ffffffff8249b4b4
(XEN)  Page tables:   ffffffff8249c000->ffffffff824b3000
(XEN)  Boot stack:    ffffffff824b3000->ffffffff824b4000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81820200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff8177c000
(XEN) elf_load_binary: phdr 1 at 0xffffffff8177c000 -> 0xffffffff81809a88
(XEN) elf_load_binary: phdr 2 at 0xffffffff8180a000 -> 0xffffffff8180a8c8
(XEN) elf_load_binary: phdr 3 at 0xffffffff8180b000 -> 0xffffffff8181fa58
(XEN) elf_load_binary: phdr 4 at 0xffffffff81820000 -> 0xffffffff818b3000
(XEN) Scrubbing Free RAM: .................................................=
=2E...........done.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...=20
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input t=
o Xen)
(XEN) Freed 236kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
ERROR: Unable to locate IOAPIC for GSI 2
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4=
a75df86514 to 0x0000000000000000.
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010000 from 0x000003=
0e1b0effe9 to 0x0000000000430076.
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:02.0
(XEN) PCI add device 00:04.0
(XEN) PCI add device 00:05.0
(XEN) PCI add device 00:06.0
(XEN) PCI add device 00:07.0
(XEN) PCI add device 00:0d.0
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:12.0
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:14.0
(XEN) PCI add device 00:14.2
(XEN) PCI add device 00:14.3
(XEN) PCI add device 00:14.4
(XEN) PCI add device 00:14.5
(XEN) PCI add device 00:16.0
(XEN) PCI add device 00:16.2
(XEN) PCI add device 00:18.0
(XEN) PCI add device 00:18.1
(XEN) PCI add device 00:18.2
(XEN) PCI add device 00:18.3
(XEN) PCI add device 00:18.4
(XEN) PCI add device 07:00.0
(XEN) PCI add device 07:00.1
(XEN) PCI add device 06:00.0
(XEN) PCI add device 06:00.1
(XEN) PCI add device 05:00.0
(XEN) PCI add device 04:00.0
(XEN) PCI add device 03:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 02:00.1
registering netback
IT87 WDT: Unknown Chip found, Chip 8721 Revision 0001
[Firmware Bug]: powernow-k8: No compatible ACPI _PSS objects found.
[Firmware Bug]: powernow-k8: Try again with latest BIOS.
Loading, please wait...
INIT: version 2.88 booting
Using makefile-style concurrent boot in runlevel S.
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...udevd-work[1429]: kernel-provided =
name 'blktap-control' and NAME=3D 'xen/blktap-2/control' disagree, please u=
se SYMLINK+=3D or change the kernel to provide the proper name

done.
Setting preliminary keymap...done.
Activating swap...done.
Checking root file system...fsck from util-linux-ng 2.17.2
HOWTO_ROOT: clean, 95056/1419840 files, 731207/5679104 blocks (check in 3 m=
ounts)
done.
Loading kernel modules...done.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take =
a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
=2E
Activating lvm and md swap...done.
Checking file systems...fsck from util-linux-ng 2.17.2
done.
Mounting local filesystems...done.
Activating swapfile swap...done.
Cleaning up temporary files....
Setting kernel variables ...done.
Configuring network interfaces...done.
Cleaning up temporary files....
Setting console screen modes.
Rcannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
INIT: Entering runlevel: 2
Using makefile-style concurrent boot in runlevel 2.
acpid: starting up with proc fs

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
Starting periodic command scheduler: cron.
Starting OpenBSD Secure Shell server: sshd.
Starting xenstored...XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state

Setting domain 0 name...
Starting xenconsoled...
BLKTAPCTRL[2156]: blktapctrl.c:790: blktapctrl: v1.0.0

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [raw image (aio)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [raw image (sync)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2156]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2156]: blktapctrl.c:859: couldn't open blktap interface

BLKTAPCTRL[2156]: blktapctrl.c:922: Unable to start blktapctrl

(XEN) PCI remove device 00:12.2
(XEN) PCI add device 00:12.2
/usr/local/bin/xen_start.sh: line 15: /sys/bus/pci/devices/0000:07:00.0/dri=
ver/unbind: No such file or directory
Using config file "/etc/xen/windows".
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 7
Started domain windows (id=3D1)(XEN) HVM1: System requested ROMBIOS

(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc000000-0xfc0025bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://etherboot.org
(XEN) HVM1:  - Product name: gPXE
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1:  - Lo data: 000ea020-000ea04f
(XEN) HVM1:  - Hi data: fc002800-fc01291f
(XEN) HVM1: vm86 TSS at fc012c00
(XEN) HVM1: BIOS map:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e1fff: Etherboot ROM
(XEN) HVM1:  eb000-eb20f: SMBIOS tables
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:0009fc00: RESERVED
(XEN) HVM1:  [02]: 00000000:0009fc00 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [03]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [04]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [05]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [06]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM=20
(XEN) HVM1:=20
(XEN) HVM1: ata0-0: PCHS=3D16383/16/63 translation=3Dlba LCHS=3D1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=3D16383/16/63 translation=3Dlba LCHS=3D1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1:=20
(XEN) HVM1:=20
(XEN) HVM1:=20
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1:=20
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:258: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:258: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:258: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:258: Dom1 PCI link 3 changed 5 -> 0
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D=
10000
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D=
20
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) grant_table.c:1156:d1 Expanding dom (1) grant table from (4) to (32) =
frames.
(XEN) irq.c:324: Dom1 callback via changed to GSI 28
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D=
10000
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D=
20
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="3.2.0-rc2.log"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="3.2.0-rc2.log"

 __  __            _  _    ____                     _        _     _      
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.2-unstable (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Sat May  5 15:48:48 CEST 2012
(XEN) Latest ChangeSet: Fri May 04 11:18:48 2012 +0100 25259:0f53540494f7
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (2 hotplug CPUs)
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.225 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) Brought up 6 CPUs
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x5b2000
(XEN) elf_parse_binary: phdr: paddr=0x15b2000 memsz=0x660e0
(XEN) elf_parse_binary: phdr: paddr=0x1619000 memsz=0x12500
(XEN) elf_parse_binary: phdr: paddr=0x162c000 memsz=0x21b000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1847000
(XEN) elf_xen_parse_note: GUEST_OS = "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION = "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY = 0xffffffff8162c200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) elf_xen_parse_note: PAE_MODE = "yes"
(XEN) elf_xen_parse_note: LOADER = "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(XEN) elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET = 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        = 0xffffffff80000000
(XEN)     elf_paddr_offset = 0x0
(XEN)     virt_offset      = 0xffffffff80000000
(XEN)     virt_kstart      = 0xffffffff81000000
(XEN)     virt_kend        = 0xffffffff81847000
(XEN)     virt_entry       = 0xffffffff8162c200
(XEN)     p2m_base         = 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1847000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000226000000->0000000228000000 (514500 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81847000
(XEN)  Init. ramdisk: ffffffff81847000->ffffffff81e82200
(XEN)  Phys-Mach map: ffffffff81e83000->ffffffff82283000
(XEN)  Start info:    ffffffff82283000->ffffffff822834b4
(XEN)  Page tables:   ffffffff82284000->ffffffff82299000
(XEN)  Boot stack:    ffffffff82299000->ffffffff8229a000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82400000
(XEN)  ENTRY ADDRESS: ffffffff8162c200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff815b2000
(XEN) elf_load_binary: phdr 1 at 0xffffffff815b2000 -> 0xffffffff816180e0
(XEN) elf_load_binary: phdr 2 at 0xffffffff81619000 -> 0xffffffff8162b500
(XEN) elf_load_binary: phdr 3 at 0xffffffff8162c000 -> 0xffffffff816b2000
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 256kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.2.0-rc2-11202-gd3507af-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #6 SMP PREEMPT Sat May 5 20:13:29 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing  9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 00000000cfe80000 (usable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (usable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01847000 - 01e83000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffb000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 255, address 0xfec00000, GSI 0-255
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 255, address 0xfec20000, GSI 24-279
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at 80000000 (gap: 80000000:4fe80000)
Booting paravirtualized kernel on Xen
Xen version: 4.2-unstable (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4b000 s75008 r8192 d23296 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 514973
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975220k/2097152k available (4470k kernel code, 472k absent, 121460k reserved, 1768k data, 596k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Verbose stalled-CPUs detection is disabled.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.224 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.44 BogoMIPS (lpj=3010224)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
ACPI: Core revision 20110623
cpu 0 spinlock event irq 297
Performance Events: (XEN) traps.c:2561:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4a75df86514 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 303
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 315
installing Xen timer for CPU 4
cpu 4 spinlock event irq 321
installing Xen timer for CPU 5
cpu 5 spinlock event irq 327
Brought up 6 CPUs
devtmpfs: initialized
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
Extended Config Space enabled on 1 nodes
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
HEST: Table not found.
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:07:00.0
(XEN) PCI add device 0000:07:00.1
(XEN) PCI add device 0000:06:00.0
(XEN) PCI add device 0000:06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
pci 0000:00:02.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:04.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:05.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
pci 0000:00:06.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
pci 0000:00:07.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
pci 0000:00:0d.0: PCI INT A -> GSI 54 (level, low) -> IRQ 54
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
ERST: Table is not found!
GHES: HEST is not enabled!
Event-channel device installed.
pciback 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pciback 0000:00:14.2: PCI INT A disabled
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial 0000:02:00.0: PCI INT A -> GSI 40 (level, low) -> IRQ 40
serial 0000:02:00.1: PCI INT B -> GSI 41 (level, low) -> IRQ 41
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata1: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: PCI INT A -> GSI 44 (level, low) -> IRQ 44
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata7: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.29
sky2 0000:04:00.0: PCI INT A -> GSI 51 (level, low) -> IRQ 51
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: PCI INT A -> GSI 46 (level, low) -> IRQ 46
firewire_ohci: Added fw-ohci device 0000:05:00.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ata5: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
ehci_hcd 0000:00:16.2: debug port 1
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
ata1.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
ata7: SATA link down (SStatus 0 SControl 300)
ata8: SATA link down (SStatus 0 SControl 300)
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata1.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
 sda: sda1 sda2
ohci_hcd 0000:00:12.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:12.0: OHCI Host Controller
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
usb 1-1: new high-speed USB device number 2 using ehci_hcd
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
firewire_core: created device fw0: GUID 001e8c0000de9136, S400
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:14.5: OHCI Host Controller
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xhci_hcd 0000:03:00.0: PCI INT A -> GSI 50 (level, low) -> IRQ 50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
usb usb8: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
ATK0110 ATK0110:00: EC enabled
SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
SP5100 TCO timer: mmio address 0xb8fe00 already in use
IT87 WDT: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
wdt: Xen WatchDog Timer Driver v0.01
wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
usb 4-2: new full-speed USB device number 2 using ohci_hcd
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 11:07:15 UTC (1336388835)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
powernow-k8: invalid pstate 1 - bad value 1.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 2 - bad value 2.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 3 - bad value 3.
powernow-k8: Please report to BIOS manufacturer
[Firmware Bug]: powernow-k8: invalid powernow_table
Freeing unused kernel memory: 596k freed
Loading, please wait...
udev[1087]: starting version 164
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
done.
Begin: Running /scripts/local-premount ... done.
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
done.
INIT: version 2.88 booting
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
Using makefile-style concurrent boot in runlevel S.
Files under mount point '/lib/init/rw' will be hidden. ... (warning).
usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
Files under mount point '/var/run' will be hidden. ...input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
 (warning).
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
firewire_net: firewire0: IPv4 over FireWire on device 001e8c0000de9136
firewire_core: refreshed device fw0
Files under mount point '/var/lock' will be hidden. ... (warning).
Starting the hotplug events dispatcher: udevdudev[1296]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 175647/1310720 files, 1276770/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
Starting the Winbind daemon: winbind.sshd (2066): /pr
oc/2066/oom_adj is deprecated, please use /proc/2066/oom_score_adj instead.
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
Starting oxenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting OpenBSD Secure Shell server: sshd.
Starting domain name service...: bind9.
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2231]: blktapctrl.c:792: blktapctrl: v1.0.0

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [raw image (aio)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [raw image (sync)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2231]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2231]: blktapctrl.c:861: couldn't open blktap interface

BLKTAPCTRL[2231]: blktapctrl.c:924: Unable to start blktapctrl

Starting S.M.A.R.T. daemon: smartd.
sky2 0000:04:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
br0: port 1(eth0) entering forwarding state
br0: port 1(eth0) entering forwarding state
br0: port 1(eth0) entering forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 0000:00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 0000:00:13.2
(XEN) PCI remove device 0000:00:16.2
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:16.2
[CPU0] failed to set governor name
[CPU1] failed to set governor name
[CPU2] failed to set governor name
[CPU3] failed to set governor name
[CPU4] failed to set governor name
[CPU5] failed to set governor name
.
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) ioport_map:add: dom1 gport=3b0 mport=3b0 nr=c
(XEN) memory_map:add: dom1 gfn=a0 mfn=a0 nr=20
(XEN) ioport_map:add: dom1 gport=3c0 mport=3c0 nr=3
(XEN) ioport_map:add: dom1 gport=3c4 mport=3c4 nr=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 8
(XEN) HVM1: System requested ROMBIOS
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:270: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:270: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:270: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:270: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc001000-0xfc0035bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://ipxe.org
(XEN) HVM1:  - Product name: iPXE
(XEN) HVM1: Option ROMs:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e0fff: Etherboot ROM
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1: vm86 TSS at fc00f700
(XEN) HVM1: BIOS map:
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [02]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [03]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [04]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [05]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:270: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:270: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:270: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:270: Dom1 PCI link 3 changed 5 -> 0
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) grant_table.c:1174:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:350: Dom1 callback via changed to GSI 28
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0701, fault address = 0x9db44000
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x00a2, fault address = 0x9debe000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x00a2, fault address = 0x9debe000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x00a2, fault address = 0x9debe000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa94324e0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa94324b0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9508a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab040
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab080
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab0c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab100
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab140
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab180
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab1c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab200
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab240
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab280
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab2c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab300
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab340
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab340
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab380
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab380
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab3c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab3c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa950ea80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa96f6a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa950ea80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9402a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9402a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa96fca80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa96fca80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80080
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80040
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80080
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-patch;
  charset="ISO-8859-1";
  name="ioperm.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="ioperm.patch"

diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index aa0f913..259ef7f 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -340,11 +340,18 @@ static inline void write_idt_entry(gate_desc *dt, int entry, const gate_desc *g)
 {
 	PVOP_VCALL3(pv_cpu_ops.write_idt_entry, dt, entry, g);
 }
+
 static inline void set_iopl_mask(unsigned mask)
 {
 	PVOP_VCALL1(pv_cpu_ops.set_iopl_mask, mask);
 }
 
+static inline void set_io_bitmap(struct thread_struct *thread,
+                                unsigned long bytes_updated)
+{
+       PVOP_VCALL2(pv_cpu_ops.set_io_bitmap, thread, bytes_updated);
+}
+
 /* The paravirtualized I/O functions */
 static inline void slow_down_io(void)
 {
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 8e8b9a4..96f267c 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -142,6 +142,8 @@ struct pv_cpu_ops {
 	void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t);
 
 	void (*set_iopl_mask)(unsigned mask);
+        void (*set_io_bitmap)(struct thread_struct *thread,
+                              unsigned long bytes_updated);
 
 	void (*wbinvd)(void);
 	void (*io_delay)(void);
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index 4fa7dcc..62becce 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -503,6 +503,9 @@ static inline void native_set_iopl_mask(unsigned mask)
 #endif
 }
 
+extern void native_set_io_bitmap(struct thread_struct *thread,
+                                unsigned long updated_bytes);
+
 static inline void
 native_load_sp0(struct tss_struct *tss, struct thread_struct *thread)
 {
@@ -536,6 +539,7 @@ static inline void load_sp0(struct tss_struct *tss,
 }
 
 #define set_iopl_mask native_set_iopl_mask
+#define set_io_bitmap native_set_io_bitmap
 #endif /* CONFIG_PARAVIRT */
 
 /*
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
index 8c96897..c372ef0 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
@@ -17,13 +17,29 @@
 #include <linux/bitmap.h>
 #include <asm/syscalls.h>
 
+void native_set_io_bitmap(struct thread_struct *t,
+                         unsigned long bytes_updated)
+{
+       struct tss_struct *tss;
+
+       if (!bytes_updated)
+               return;
+
+       tss = &__get_cpu_var(init_tss);
+
+       /* Update the TSS: */
+       if (t->io_bitmap_ptr)
+               memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
+       else
+               memset(tss->io_bitmap, 0xff, bytes_updated);
+}
+
 /*
  * this changes the io permissions bitmap in the current task.
  */
 asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
 {
 	struct thread_struct *t = &current->thread;
-	struct tss_struct *tss;
 	unsigned int i, max_long, bytes, bytes_updated;
 
 	if ((from + num <= from) || (from + num > IO_BITMAP_BITS))
@@ -48,13 +64,13 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
 	}
 
 	/*
-	 * do it in the per-thread copy and in the TSS ...
+	 * do it in the per-thread copy
 	 *
-	 * Disable preemption via get_cpu() - we must not switch away
+	 * Disable preemption - we must not switch away
 	 * because the ->io_bitmap_max value must match the bitmap
 	 * contents:
 	 */
-	tss = &per_cpu(init_tss, get_cpu());
+        preempt_disable();
 
 	if (turn_on)
 		bitmap_clear(t->io_bitmap_ptr, from, num);
@@ -75,10 +91,9 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
 
 	t->io_bitmap_max = bytes;
 
-	/* Update the TSS: */
-	memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
+        set_io_bitmap(t, bytes_updated);
 
-	put_cpu();
+        preempt_enable();
 
 	return 0;
 }
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index ab13760..aa420e7 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -391,6 +391,7 @@ struct pv_cpu_ops pv_cpu_ops = {
 	.swapgs = native_swapgs,
 
 	.set_iopl_mask = native_set_iopl_mask,
+        .set_io_bitmap = native_set_io_bitmap,
 	.io_delay = native_io_delay,
 
 	.start_context_switch = paravirt_nop,
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index 1d92a5a..e8436cc 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -91,16 +91,12 @@ void exit_thread(void)
 	unsigned long *bp = t->io_bitmap_ptr;
 
 	if (bp) {
-		struct tss_struct *tss = &per_cpu(init_tss, get_cpu());
-
+                preempt_disable();
 		t->io_bitmap_ptr = NULL;
 		clear_thread_flag(TIF_IO_BITMAP);
-		/*
-		 * Careful, clear this in the TSS too:
-		 */
-		memset(tss->io_bitmap, 0xff, t->io_bitmap_max);
+                set_io_bitmap(t, t->io_bitmap_max);
 		t->io_bitmap_max = 0;
-		put_cpu();
+                preempt_enable();
 		kfree(bp);
 	}
 }
@@ -237,19 +233,11 @@ void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
 			hard_enable_TSC();
 	}
 
-	if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) {
-		/*
-		 * Copy the relevant range of the IO bitmap.
-		 * Normally this is 128 bytes or less:
-		 */
-		memcpy(tss->io_bitmap, next->io_bitmap_ptr,
-		       max(prev->io_bitmap_max, next->io_bitmap_max));
-	} else if (test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) {
-		/*
-		 * Clear any possible leftover bits:
-		 */
-		memset(tss->io_bitmap, 0xff, prev->io_bitmap_max);
-	}
+        if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP) ||
+            test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))
+                set_io_bitmap(next,
+                              max(prev->io_bitmap_max, next->io_bitmap_max));
+
 	propagate_user_return_notify(prev_p, next_p);
 }
 
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 8853204..7a05509 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -808,6 +808,18 @@ static void xen_set_iopl_mask(unsigned mask)
 	HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
 }
 
+static void xen_set_io_bitmap(struct thread_struct *thread,
+	int changed, unsigned long bytes_updated)
+{
+	struct physdev_set_iobitmap set_iobitmap;
+
+	set_xen_guest_handle(set_iobitmap.bitmap,
+		(char *)thread->io_bitmap_ptr);
+	set_iobitmap.nr_ports = thread->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
+	WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap,
+		&set_iobitmap));
+}
+
 static void xen_io_delay(void)
 {
 }
@@ -1117,6 +1129,7 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.load_sp0 = xen_load_sp0,
 
 	.set_iopl_mask = xen_set_iopl_mask,
+	.set_io_bitmap = xen_set_io_bitmap,
 	.io_delay = xen_io_delay,
 
 	/* Xen takes care of %gs when switching to usermode for us */

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="3.4.0-rc4.log"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="3.4.0-rc4.log"

 __  __            _  _    ____                     _        _     _      
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.2-unstable (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Sat May  5 15:48:48 CEST 2012
(XEN) Latest ChangeSet: Fri May 04 11:18:48 2012 +0100 25259:0f53540494f7
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (2 hotplug CPUs)
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.238 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) Brought up 6 CPUs
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x5d3000
(XEN) elf_parse_binary: phdr: paddr=0x15d3000 memsz=0x6e0e8
(XEN) elf_parse_binary: phdr: paddr=0x1642000 memsz=0x12980
(XEN) elf_parse_binary: phdr: paddr=0x1655000 memsz=0x4ff000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1b54000
(XEN) elf_xen_parse_note: GUEST_OS = "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION = "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY = 0xffffffff81655200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) elf_xen_parse_note: PAE_MODE = "yes"
(XEN) elf_xen_parse_note: LOADER = "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(XEN) elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET = 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        = 0xffffffff80000000
(XEN)     elf_paddr_offset = 0x0
(XEN)     virt_offset      = 0xffffffff80000000
(XEN)     virt_kstart      = 0xffffffff81000000
(XEN)     virt_kend        = 0xffffffff81b54000
(XEN)     virt_entry       = 0xffffffff81655200
(XEN)     p2m_base         = 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1b54000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506308 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81b54000
(XEN)  Init. ramdisk: ffffffff81b54000->ffffffff8218f200
(XEN)  Phys-Mach map: ffffffff82190000->ffffffff82590000
(XEN)  Start info:    ffffffff82590000->ffffffff825904b4
(XEN)  Page tables:   ffffffff82591000->ffffffff825a8000
(XEN)  Boot stack:    ffffffff825a8000->ffffffff825a9000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81655200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff815d3000
(XEN) elf_load_binary: phdr 1 at 0xffffffff815d3000 -> 0xffffffff816410e8
(XEN) elf_load_binary: phdr 2 at 0xffffffff81642000 -> 0xffffffff81654980
(XEN) elf_load_binary: phdr 3 at 0xffffffff81655000 -> 0xffffffff816cc000
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 256kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.4.0-rc4-00395-g87b5d90-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #5 SMP PREEMPT Sat May 5 19:29:42 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing 9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
Populating 80000-80066 pfn range: 102 pages added
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 0000000080066000 (usable)
 Xen: 0000000080066000 - 00000000cfe80000 (unusable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (unusable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 0000000080066000 - 00000000cfe80000 (unusable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
 user: 0000000100000000 - 0000000230000000 (unusable)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01b54000 - 02190000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffc000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
Early memory PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 253, address 0xfec00000, GSI 0-253
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 253, address 0xfec20000, GSI 24-277
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at cff00000 (gap: cff00000:2ed00000)
Booting paravirtualized kernel on Xen
Xen version: 4.2-unstable (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4c000 s76160 r8192 d22144 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 515976
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975064k/2097152k available (4567k kernel code, 472k absent, 121616k reserved, 1833k data, 532k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Dump stacks of tasks blocking RCU-preempt GP.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.238 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.47 BogoMIPS (lpj=3010238)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
mce: CPU supports 6 MCE banks
ACPI: Core revision 20120320
cpu 0 spinlock event irq 295
Performance Events: (XEN) traps.c:2561:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4a75df86514 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 302
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 316
installing Xen timer for CPU 4
cpu 4 spinlock event irq 323
installing Xen timer for CPU 5
cpu 5 spinlock event irq 330
Brought up 6 CPUs
devtmpfs: initialized
Grant tables using version 2 layout.
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000dffff]
pci_bus 0000:00: root bus resource [mem 0xcff00000-0xdfffffff]
pci_bus 0000:00: root bus resource [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:07:00.0
(XEN) PCI add device 0000:07:00.1
(XEN) PCI add device 0000:06:00.0
(XEN) PCI add device 0000:06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP: reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: CPU0: patch_level=0x010000bf
microcode: CPU1: patch_level=0x010000bf
microcode: CPU2: patch_level=0x010000bf
microcode: CPU3: patch_level=0x010000bf
microcode: CPU4: patch_level=0x010000bf
microcode: CPU5: patch_level=0x010000bf
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
GHES: HEST is not enabled!
Event-channel device installed.
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata7: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata9: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.30
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:16.2: debug port 1
ata7: SATA link down (SStatus 0 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata5: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata2.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata9: SATA link down (SStatus 0 SControl 300)
ata8: SATA link down (SStatus 0 SControl 300)
ata2.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ata2.00: configured for UDMA/133
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:12.0: OHCI Host Controller
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
usb 1-1: new high-speed USB device number 2 using ehci_hcd
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: OHCI Host Controller
firewire_core 0000:05:00.0: created device fw0: GUID 001e8c0000de9136, S400
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xen_map_pirq_gsi: returning irq 50 for gsi 50
Already setup the GSI :50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
usb usb8: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
ACPI Warning: 0x0000000000000b00-0x0000000000000b07 SystemIO conflicts with Region \_SB_.PCI0.SBRG.ASOC.SMRG 1 (20120320/utaddress-251)
usb 4-2: new full-speed USB device number 2 using ohci_hcd
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
ATK0110 ATK0110:00: EC enabled
sp5100_tco: SP5100 TCO WatchDog Timer Driver v0.01
sp5100_tco: mmio address 0xb8fe00 already in use
it87_wdt: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
xen_wdt: Xen WatchDog Timer Driver v0.01
xen_wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 10:55:22 UTC (1336388122)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
Freeing unused kernel memory: 532k freed
Loading, please wait...
udev[1078]: starting version 164
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
Begin: Loading essential drivers ... usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
done.
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
Begin: Running /scripts/local-premount ... done.
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
INIT: version 2.88 booting
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
Using makefile-style concurrent boot in runlevel S.input: Chicony U
SB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
Files under mount point '/lib/init/rw' will be hidden. ...net firewire0: IPv4 over IEEE 1394 on card 0000:05:00.0
firewire_core 0000:05:00.0: refreshed device fw0
 (warning).
Files under mount point '/var/run' will be hidden. ... (warning).
Files under mount point '/var/lock' will be hidden. ... (warning).
Starting the hotplug events dispatcher: udevdudev[1286]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 175647/1310720 files, 1276635/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
sshd (2064): /proc/2064/oom_adj is deprecated, please use /proc/2064/oom_score_adj instead.
Starting the Winbind daemon: winbind.
Starting OpenBSD Secure Shell server: sshd.
Starting oxenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting domain name service...: bind9.
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2234]: blktapctrl.c:792: blktapctrl: v1.0.0

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [raw image (aio)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [raw image (sync)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2234]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2234]: blktapctrl.c:861: couldn't open blktap interfacesky2 0000:04:00.
0: eth0: Link is up at 100 Mbps,
 full duplex, flow control both
BLKTAPCTRL[2234]: blktapctrl.c:924: Unable to start blktapctrlbr0: port 1(eth0
) entered forwarding state

br0: port 1(eth0) entered forwarding state
Starting S.M.A.R.T. daemon: smartd.
br0: port 1(eth0) entered forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 0000:00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 0000:00:13.2
(XEN) PCI remove device 0000:00:16.2
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:16.2
.
acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) ioport_map:add: dom1 gport=3b0 mport=3b0 nr=c
(XEN) memory_map:add: dom1 gfn=a0 mfn=a0 nr=20
(XEN) ioport_map:add: dom1 gport=3c0 mport=3c0 nr=3
(XEN) ioport_map:add: dom1 gport=3c4 mport=3c4 nr=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 8
(XEN) HVM1: System requested ROMBIOS
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:270: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:270: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:270: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:270: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc001000-0xfc0035bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://ipxe.org
(XEN) HVM1:  - Product name: iPXE
(XEN) HVM1: Option ROMs:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e0fff: Etherboot ROM
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1: vm86 TSS at fc00f700
(XEN) HVM1: BIOS map:
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [02]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [03]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [04]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [05]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:270: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:270: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:270: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:270: Dom1 PCI link 3 changed 5 -> 0
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) grant_table.c:1174:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:350: Dom1 callback via changed to GSI 28
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
 __  __            _  _    ____                     _        _     _      
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.2-unstable (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Sat May  5 15:48:48 CEST 2012
(XEN) Latest ChangeSet: Fri May 04 11:18:48 2012 +0100 25259:0f53540494f7
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (2 hotplug CPUs)
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.254 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) Brought up 6 CPUs
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x5d3000
(XEN) elf_parse_binary: phdr: paddr=0x15d3000 memsz=0x6e0e8
(XEN) elf_parse_binary: phdr: paddr=0x1642000 memsz=0x12980
(XEN) elf_parse_binary: phdr: paddr=0x1655000 memsz=0x4ff000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1b54000
(XEN) elf_xen_parse_note: GUEST_OS = "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION = "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY = 0xffffffff81655200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) elf_xen_parse_note: PAE_MODE = "yes"
(XEN) elf_xen_parse_note: LOADER = "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(XEN) elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET = 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        = 0xffffffff80000000
(XEN)     elf_paddr_offset = 0x0
(XEN)     virt_offset      = 0xffffffff80000000
(XEN)     virt_kstart      = 0xffffffff81000000
(XEN)     virt_kend        = 0xffffffff81b54000
(XEN)     virt_entry       = 0xffffffff81655200
(XEN)     p2m_base         = 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1b54000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506308 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81b54000
(XEN)  Init. ramdisk: ffffffff81b54000->ffffffff8218f200
(XEN)  Phys-Mach map: ffffffff82190000->ffffffff82590000
(XEN)  Start info:    ffffffff82590000->ffffffff825904b4
(XEN)  Page tables:   ffffffff82591000->ffffffff825a8000
(XEN)  Boot stack:    ffffffff825a8000->ffffffff825a9000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81655200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff815d3000
(XEN) elf_load_binary: phdr 1 at 0xffffffff815d3000 -> 0xffffffff816410e8
(XEN) elf_load_binary: phdr 2 at 0xffffffff81642000 -> 0xffffffff81654980
(XEN) elf_load_binary: phdr 3 at 0xffffffff81655000 -> 0xffffffff816cc000
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 256kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.4.0-rc4-00395-g87b5d90-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #7 SMP PREEMPT Mon May 7 13:16:10 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing 9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
Populating 80000-80066 pfn range: 102 pages added
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 0000000080066000 (usable)
 Xen: 0000000080066000 - 00000000cfe80000 (unusable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (unusable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 0000000080066000 - 00000000cfe80000 (unusable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
 user: 0000000100000000 - 0000000230000000 (unusable)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01b54000 - 02190000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffc000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
Early memory PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 253, address 0xfec00000, GSI 0-253
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 253, address 0xfec20000, GSI 24-277
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at cff00000 (gap: cff00000:2ed00000)
Booting paravirtualized kernel on Xen
Xen version: 4.2-unstable (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4c000 s76160 r8192 d22144 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 515976
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975064k/2097152k available (4567k kernel code, 472k absent, 121616k reserved, 1833k data, 532k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Dump stacks of tasks blocking RCU-preempt GP.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.254 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.50 BogoMIPS (lpj=3010254)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
mce: CPU supports 6 MCE banks
ACPI: Core revision 20120320
cpu 0 spinlock event irq 295
Performance Events: (XEN) traps.c:2561:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4a75df86514 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 302
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 316
installing Xen timer for CPU 4
cpu 4 spinlock event irq 323
installing Xen timer for CPU 5
cpu 5 spinlock event irq 330
Brought up 6 CPUs
devtmpfs: initialized
Grant tables using version 2 layout.
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000dffff]
pci_bus 0000:00: root bus resource [mem 0xcff00000-0xdfffffff]
pci_bus 0000:00: root bus resource [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:07:00.0
(XEN) PCI add device 0000:07:00.1
(XEN) PCI add device 0000:06:00.0
(XEN) PCI add device 0000:06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP: reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: CPU0: patch_level=0x010000bf
microcode: CPU1: patch_level=0x010000bf
microcode: CPU2: patch_level=0x010000bf
microcode: CPU3: patch_level=0x010000bf
microcode: CPU4: patch_level=0x010000bf
microcode: CPU5: patch_level=0x010000bf
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
GHES: HEST is not enabled!
Event-channel device installed.
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata7: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata9: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.30
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ata5: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ehci_hcd 0000:00:16.2: debug port 1
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata8: SATA link down (SStatus 0 SControl 300)
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:12.0: OHCI Host Controller
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
ata9: SATA link down (SStatus 0 SControl 300)
ata7: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata2.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ata2.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
ata6: SATA link down (SStatus 0 SControl 300)
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
ata2.00: configured for UDMA/133
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: OHCI Host Controller
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: new high-speed USB device number 2 using ehci_hcd
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
 sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
firewire_core 0000:05:00.0: created device fw0: GUID 001e8c0000de9136, S400
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xen_map_pirq_gsi: returning irq 50 for gsi 50
Already setup the GSI :50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
hub 1-1:1.0: USB hub found
usb usb8: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 1-1:1.0: 4 ports detected
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
ACPI Warning: 0x0000000000000b00-0x0000000000000b07 SystemIO conflicts with Region \_SB_.PCI0.SBRG.ASOC.SMRG 1 (20120320/utaddress-251)
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
ATK0110 ATK0110:00: EC enabled
sp5100_tco: SP5100 TCO WatchDog Timer Driver v0.01
sp5100_tco: mmio address 0xb8fe00 already in use
it87_wdt: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
xen_wdt: Xen WatchDog Timer Driver v0.01
xen_wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 11:19:10 UTC (1336389550)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
Freeing unused kernel memory: 532k freed
Loading, please wait...
udev[1078]: starting version 164
usb 4-2: new full-speed USB device number 2 using ohci_hcd
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
done.
Begin: Running /scripts/local-premount ... done.
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
INIT: version 2.88 booting
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
Using makefile-style concurrent boot in runlevel S.net firewire0: I
Pv4 over IEEE 1394 on card 0000:05:00.0
firewire_core 0000:05:00.0: refreshed device fw0
Files under mount point '/lib/init/rw' will be hidden. ... (warning).
Files under mount point '/var/run' will be hidden. ... (warning).
Files under mount point '/var/lock' will be hidden. ... (warning).
Starting the hotplug events dispatcher: udevdudev[1302]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 176617/1310720 files, 1280562/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
sshd (2084): /proc/2084/oom_adj is deprecated, please use /proc/2084/oom_score_adj instead.
Starting the Winbind daemon: winbind.
Starting OpenBSD Secure Shell server: sshd.
Starting domain name service...: bind9.
Starting oxenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2253]: blktapctrl.c:792: blktapctrl: v1.0.0

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [raw image (aio)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [raw image (sync)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2253]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2253]: blktapctrl.c:861: couldn't open blktap interface

BLKTAPCTRL[2253]: blktapctrl.c:924: Unable to start blktapctrl

sky2 0000:04:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
br0: port 1(eth0) entered forwarding state
br0: port 1(eth0) entered forwarding state
Starting S.M.A.R.T. daemon: smartd.
br0: port 1(eth0) entered forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 0000:00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 0000:00:13.2
(XEN) PCI remove device 0000:00:16.2
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:16.2
.
acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) ioport_map:add: dom1 gport=3b0 mport=3b0 nr=c
(XEN) memory_map:add: dom1 gfn=a0 mfn=a0 nr=20
(XEN) ioport_map:add: dom1 gport=3c0 mport=3c0 nr=3
(XEN) ioport_map:add: dom1 gport=3c4 mport=3c4 nr=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 8
(XEN) HVM1: System requested ROMBIOS
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:270: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:270: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:270: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:270: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc001000-0xfc0035bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://ipxe.org
(XEN) HVM1:  - Product name: iPXE
(XEN) HVM1: Option ROMs:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e0fff: Etherboot ROM
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1: vm86 TSS at fc00f700
(XEN) HVM1: BIOS map:
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [02]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [03]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [04]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [05]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:270: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:270: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:270: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:270: Dom1 PCI link 3 changed 5 -> 0
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) grant_table.c:1174:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:350: Dom1 callback via changed to GSI 28
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--Boundary-00=_TX7pPqk9X0OyHh/--


From xen-devel-bounces@lists.xen.org Mon May 07 11:53:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 11:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRMUV-0004Tp-AN; Mon, 07 May 2012 11:52:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRMUS-0004Td-HU
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 11:52:33 +0000
Received: from [85.158.138.51:24643] by server-7.bemta-3.messagelabs.com id
	1A/85-03078-F77B7AF4; Mon, 07 May 2012 11:52:31 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336391140!16737548!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25933 invoked from network); 7 May 2012 11:45:40 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-7.tower-174.messagelabs.com with SMTP;
	7 May 2012 11:45:40 -0000
Received: (qmail 31365 invoked from network); 7 May 2012 13:45:26 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	7 May 2012 13:45:26 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Mon, 7 May 2012 13:45:23 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_TX7pPqk9X0OyHh/"
Message-Id: <201205071345.23619.pavel@netsafe.cz>
Subject: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi,
I'm trying to run AMD VGA passthru on latest XEN unstable with latest kernel.
I already have working setup with ancient xen-devel 4.2 and 2.6.32.x xenified 
kernel. See attached log.

So I tried just to update and patch xen and kernel, but I had no luck so far.

Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang recently.
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html

I tried two kernels 
testing-3.5-with-extra and xen/next-3.2 from
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
and
git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
Both with ioperm opcode patch which is required by the ATI patch. See 
attachement.

The xen/next-3.2 branch kernel was able to start booting windows.
With Catalyst driver installed I just saw bluescreen during Windows boot.
Without Catalyst driver Windows were able to boot but Windows ended frozen or 
USB was not working. It was hard to tell because input devices had no response 
at all.

The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0 kernel 
during Windows boot. I guess I have to rework the io_bitmap patch somehow.
-- 
Pavel Mateja

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="2.6.32.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="2.6.32.log"

 __  __            _  _    ____                     _        _     _     =20
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___=20
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                         =20
(XEN) Xen version 4.2-unstable (root@netsafe.cz) (gcc version 4.4.5 (Debian=
 4.4.5-8) ) Sun Feb  5 15:55:33 CET 2012
(XEN) Latest ChangeSet: Thu May 05 17:40:34 2011 +0100 23300:4b0692880dfa
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=3D2G dom0_max_vcpus=3D6 loglvl=3Da=
ll guest_loglvl=3Dall sync_console com1=3D115200,8n1,0xac00 console=3Dcom1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.254 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=3D0xF0 apic1=3D0 pin1=3D2 apic2=3D-1 pin2=3D-1
(XEN) Platform timer is 14.318MHz HPET
=FF(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging detected.
(XEN) Brought up 6 CPUs
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is ena=
bled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL =3D 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=3D0x1000000 memsz=3D0x77c000
(XEN) elf_parse_binary: phdr: paddr=3D0x177c000 memsz=3D0x8da88
(XEN) elf_parse_binary: phdr: paddr=3D0x180a000 memsz=3D0x8c8
(XEN) elf_parse_binary: phdr: paddr=3D0x180b000 memsz=3D0x14a58
(XEN) elf_parse_binary: phdr: paddr=3D0x1820000 memsz=3D0x212000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1a32000
(XEN) elf_xen_parse_note: GUEST_OS =3D "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION =3D "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION =3D "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE =3D 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY =3D 0xffffffff81820200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE =3D 0xffffffff81009000
(XEN) elf_xen_parse_note: FEATURES =3D "!writable_page_tables|pae_pgdir_abo=
ve_4gb"
(XEN) elf_xen_parse_note: PAE_MODE =3D "yes"
(XEN) elf_xen_parse_note: LOADER =3D "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL =3D 0x1
(XEN) elf_xen_parse_note: HV_START_LOW =3D 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET =3D 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        =3D 0xffffffff80000000
(XEN)     elf_paddr_offset =3D 0x0
(XEN)     virt_offset      =3D 0xffffffff80000000
(XEN)     virt_kstart      =3D 0xffffffff81000000
(XEN)     virt_kend        =3D 0xffffffff81a32000
(XEN)     virt_entry       =3D 0xffffffff81820200
(XEN)     p2m_base         =3D 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1a32000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506263 pages to b=
e allocated)
(XEN)  Init. ramdisk: 000000022f997000->000000022ffff600
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81a32000
(XEN)  Init. ramdisk: ffffffff81a32000->ffffffff8209a600
(XEN)  Phys-Mach map: ffffffff8209b000->ffffffff8249b000
(XEN)  Start info:    ffffffff8249b000->ffffffff8249b4b4
(XEN)  Page tables:   ffffffff8249c000->ffffffff824b3000
(XEN)  Boot stack:    ffffffff824b3000->ffffffff824b4000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81820200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff8177c000
(XEN) elf_load_binary: phdr 1 at 0xffffffff8177c000 -> 0xffffffff81809a88
(XEN) elf_load_binary: phdr 2 at 0xffffffff8180a000 -> 0xffffffff8180a8c8
(XEN) elf_load_binary: phdr 3 at 0xffffffff8180b000 -> 0xffffffff8181fa58
(XEN) elf_load_binary: phdr 4 at 0xffffffff81820000 -> 0xffffffff818b3000
(XEN) Scrubbing Free RAM: .................................................=
=2E...........done.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...=20
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input t=
o Xen)
(XEN) Freed 236kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
ERROR: Unable to locate IOAPIC for GSI 2
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010004 from 0x000024=
a74db06404 to 0x0000000000000000.
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010000 from 0x000003=
061a0effc9 to 0x0000000000430076.
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:02.0
(XEN) PCI add device 00:04.0
(XEN) PCI add device 00:05.0
(XEN) PCI add device 00:06.0
(XEN) PCI add device 00:07.0
(XEN) PCI add device 00:0d.0
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:12.0
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:14.0
(XEN) PCI add device 00:14.2
(XEN) PCI add device 00:14.3
(XEN) PCI add device 00:14.4
(XEN) PCI add device 00:14.5
(XEN) PCI add device 00:16.0
(XEN) PCI add device 00:16.2
(XEN) PCI add device 00:18.0
(XEN) PCI add device 00:18.1
(XEN) PCI add device 00:18.2
(XEN) PCI add device 00:18.3
(XEN) PCI add device 00:18.4
(XEN) PCI add device 07:00.0
(XEN) PCI add device 07:00.1
(XEN) PCI add device 06:00.0
(XEN) PCI add device 06:00.1
(XEN) PCI add device 05:00.0
(XEN) PCI add device 04:00.0
(XEN) PCI add device 03:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 02:00.1
registering netback
IT87 WDT: Unknown Chip found, Chip 8721 Revision 0001
[Firmware Bug]: powernow-k8: No compatible ACPI _PSS objects found.
[Firmware Bug]: powernow-k8: Try again with latest BIOS.
Loading, please wait...
INIT: version 2.88 booting
Using makefile-style concurrent boot in runlevel S.
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...udevd-work[1437]: kernel-provided =
name 'blktap-control' and NAME=3D 'xen/blktap-2/control' disagree, please u=
se SYMLINK+=3D or change the kernel to provide the proper name

done.
Setting preliminary keymap...done.
Activating swap...done.
Checking root file system...fsck from util-linux-ng 2.17.2
HOWTO_ROOT: clean, 95054/1419840 files, 731180/5679104 blocks (check in 4 m=
ounts)
done.
Loading kernel modules...done.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take =
a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
=2E
Activating lvm and md swap...done.
Checking file systems...fsck from util-linux-ng 2.17.2
done.
Mounting local filesystems...done.
Activating swapfile swap...done.
Cleaning up temporary files....
Setting kernel variables ...done.
Configuring network interfaces...done.
Cleaning up temporary files....
Setting console screen modes.
Rcannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
INIT: Entering runlevel: 2
Using makefile-style concurrent boot in runlevel 2.
acpid: starting up with proc fs

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
Starting periodic command scheduler: cron.
Starting OpenBSD Secure Shell server: sshd.
Starting xenstored...XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state

Setting domain 0 name...
Starting xenconsoled...
BLKTAPCTRL[2168]: blktapctrl.c:790: blktapctrl: v1.0.0

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [raw image (aio)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [raw image (sync)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2168]: blktapctrl.c:792: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2168]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2168]: blktapctrl.c:859: couldn't open blktap interface

BLKTAPCTRL[2168]: blktapctrl.c:922: Unable to start blktapctrl

(XEN) PCI remove device 00:12.2
(XEN) PCI add device 00:12.2
/usr/local/bin/xen_start.sh: line 15: /sys/bus/pci/devices/0000:07:00.0/dri=
ver/unbind: No such file or directory
Using config file "/etc/xen/windows".
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 7
Started domain windows (id=3D1)(XEN) HVM1: System requested ROMBIOS

(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM2: HVM Loader
(XEN) HVM2: Detected Xen v4.2-unstable
(XEN) HVM2: Xenbus rings @0xfeffc000, event channel 7
(XEN) HVM2: System requested ROMBIOS
(XEN) HVM2: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom2 PCI link 0 changed 0 -> 5
(XEN) HVM2: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom2 PCI link 1 changed 0 -> 10
(XEN) HVM2: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom2 PCI link 2 changed 0 -> 11
(XEN) HVM2: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom2 PCI link 3 changed 0 -> 5
(XEN) HVM2: PCI-ISA link 3 routed to IRQ5
(XEN) HVM2: pci dev 01:3 INTA->IRQ10
(XEN) HVM2: pci dev 03:0 INTA->IRQ5
(XEN) HVM2: pci dev 04:0 INTA->IRQ5
(XEN) HVM2: pci dev 05:0 INTA->IRQ10
(XEN) HVM2: pci dev 06:0 INTB->IRQ5
(XEN) HVM2: pci dev 07:0 INTA->IRQ5
(XEN) HVM2: pci dev 08:0 INTB->IRQ10
(XEN) HVM2: pci dev 09:0 INTA->IRQ10
(XEN) HVM2: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM2: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM2: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM2: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM2: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM2: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM2: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM2: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM2: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM2: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM2: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM2: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM2: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM2: Multiprocessor initialisation:
(XEN) HVM2:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM2: Testing HVM environment:
(XEN) HVM2:  - REP INSB across page boundaries ... passed
(XEN) HVM2:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM2: Passed 2 of 2 tests
(XEN) HVM2: Writing SMBIOS tables ...
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM3: HVM Loader
(XEN) HVM3: Detected Xen v4.2-unstable
(XEN) HVM3: Xenbus rings @0xfeffc000, event channel 7
(XEN) HVM3: System requested ROMBIOS
(XEN) HVM3: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom3 PCI link 0 changed 0 -> 5
(XEN) HVM3: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom3 PCI link 1 changed 0 -> 10
(XEN) HVM3: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom3 PCI link 2 changed 0 -> 11
(XEN) HVM3: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom3 PCI link 3 changed 0 -> 5
(XEN) HVM3: PCI-ISA link 3 routed to IRQ5
(XEN) HVM3: pci dev 01:3 INTA->IRQ10
(XEN) HVM3: pci dev 03:0 INTA->IRQ5
(XEN) HVM3: pci dev 04:0 INTA->IRQ5
(XEN) HVM3: pci dev 05:0 INTA->IRQ10
(XEN) HVM3: pci dev 06:0 INTB->IRQ5
(XEN) HVM3: pci dev 07:0 INTA->IRQ5
(XEN) HVM3: pci dev 08:0 INTB->IRQ10
(XEN) HVM3: pci dev 09:0 INTA->IRQ10
(XEN) HVM3: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM3: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM3: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM3: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM3: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM3: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM3: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM3: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM3: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM3: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM3: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM3: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM3: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM3: Multiprocessor initialisation:
(XEN) HVM3:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM3: Testing HVM environment:
(XEN) HVM3:  - REP INSB across page boundaries ... passed
(XEN) HVM3:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM3: Passed 2 of 2 tests
(XEN) HVM3: Writing SMBIOS tables ...
 __  __            _  _    ____                     _        _     _     =20
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___=20
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                         =20
(XEN) Xen version 4.2-unstable (root@netsafe.cz) (gcc version 4.4.5 (Debian=
 4.4.5-8) ) Sun Feb  5 15:55:33 CET 2012
(XEN) Latest ChangeSet: Thu May 05 17:40:34 2011 +0100 23300:4b0692880dfa
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=3D2G dom0_max_vcpus=3D6 loglvl=3Da=
ll guest_loglvl=3Dall sync_console com1=3D115200,8n1,0xac00 console=3Dcom1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.220 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=3D0xF0 apic1=3D0 pin1=3D2 apic2=3D-1 pin2=3D-1
(XEN) Platform timer is 14.318MHz HPET
=FF(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging detected.
(XEN) Brought up 6 CPUs
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is ena=
bled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL =3D 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=3D0x1000000 memsz=3D0x77c000
(XEN) elf_parse_binary: phdr: paddr=3D0x177c000 memsz=3D0x8da88
(XEN) elf_parse_binary: phdr: paddr=3D0x180a000 memsz=3D0x8c8
(XEN) elf_parse_binary: phdr: paddr=3D0x180b000 memsz=3D0x14a58
(XEN) elf_parse_binary: phdr: paddr=3D0x1820000 memsz=3D0x212000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1a32000
(XEN) elf_xen_parse_note: GUEST_OS =3D "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION =3D "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION =3D "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE =3D 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY =3D 0xffffffff81820200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE =3D 0xffffffff81009000
(XEN) elf_xen_parse_note: FEATURES =3D "!writable_page_tables|pae_pgdir_abo=
ve_4gb"
(XEN) elf_xen_parse_note: PAE_MODE =3D "yes"
(XEN) elf_xen_parse_note: LOADER =3D "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL =3D 0x1
(XEN) elf_xen_parse_note: HV_START_LOW =3D 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET =3D 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        =3D 0xffffffff80000000
(XEN)     elf_paddr_offset =3D 0x0
(XEN)     virt_offset      =3D 0xffffffff80000000
(XEN)     virt_kstart      =3D 0xffffffff81000000
(XEN)     virt_kend        =3D 0xffffffff81a32000
(XEN)     virt_entry       =3D 0xffffffff81820200
(XEN)     p2m_base         =3D 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1a32000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506263 pages to b=
e allocated)
(XEN)  Init. ramdisk: 000000022f997000->000000022ffff600
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81a32000
(XEN)  Init. ramdisk: ffffffff81a32000->ffffffff8209a600
(XEN)  Phys-Mach map: ffffffff8209b000->ffffffff8249b000
(XEN)  Start info:    ffffffff8249b000->ffffffff8249b4b4
(XEN)  Page tables:   ffffffff8249c000->ffffffff824b3000
(XEN)  Boot stack:    ffffffff824b3000->ffffffff824b4000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81820200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff8177c000
(XEN) elf_load_binary: phdr 1 at 0xffffffff8177c000 -> 0xffffffff81809a88
(XEN) elf_load_binary: phdr 2 at 0xffffffff8180a000 -> 0xffffffff8180a8c8
(XEN) elf_load_binary: phdr 3 at 0xffffffff8180b000 -> 0xffffffff8181fa58
(XEN) elf_load_binary: phdr 4 at 0xffffffff81820000 -> 0xffffffff818b3000
(XEN) Scrubbing Free RAM: .................................................=
=2E...........done.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...=20
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input t=
o Xen)
(XEN) Freed 236kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
ERROR: Unable to locate IOAPIC for GSI 2
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4=
a75df86514 to 0x0000000000000000.
(XEN) traps.c:2405:d0 Domain attempted WRMSR 00000000c0010000 from 0x000003=
0e1b0effe9 to 0x0000000000430076.
ERROR: Unable to locate IOAPIC for GSI 9
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:02.0
(XEN) PCI add device 00:04.0
(XEN) PCI add device 00:05.0
(XEN) PCI add device 00:06.0
(XEN) PCI add device 00:07.0
(XEN) PCI add device 00:0d.0
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:12.0
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:14.0
(XEN) PCI add device 00:14.2
(XEN) PCI add device 00:14.3
(XEN) PCI add device 00:14.4
(XEN) PCI add device 00:14.5
(XEN) PCI add device 00:16.0
(XEN) PCI add device 00:16.2
(XEN) PCI add device 00:18.0
(XEN) PCI add device 00:18.1
(XEN) PCI add device 00:18.2
(XEN) PCI add device 00:18.3
(XEN) PCI add device 00:18.4
(XEN) PCI add device 07:00.0
(XEN) PCI add device 07:00.1
(XEN) PCI add device 06:00.0
(XEN) PCI add device 06:00.1
(XEN) PCI add device 05:00.0
(XEN) PCI add device 04:00.0
(XEN) PCI add device 03:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 02:00.1
registering netback
IT87 WDT: Unknown Chip found, Chip 8721 Revision 0001
[Firmware Bug]: powernow-k8: No compatible ACPI _PSS objects found.
[Firmware Bug]: powernow-k8: Try again with latest BIOS.
Loading, please wait...
INIT: version 2.88 booting
Using makefile-style concurrent boot in runlevel S.
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...udevd-work[1429]: kernel-provided =
name 'blktap-control' and NAME=3D 'xen/blktap-2/control' disagree, please u=
se SYMLINK+=3D or change the kernel to provide the proper name

done.
Setting preliminary keymap...done.
Activating swap...done.
Checking root file system...fsck from util-linux-ng 2.17.2
HOWTO_ROOT: clean, 95056/1419840 files, 731207/5679104 blocks (check in 3 m=
ounts)
done.
Loading kernel modules...done.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take =
a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
=2E
Activating lvm and md swap...done.
Checking file systems...fsck from util-linux-ng 2.17.2
done.
Mounting local filesystems...done.
Activating swapfile swap...done.
Cleaning up temporary files....
Setting kernel variables ...done.
Configuring network interfaces...done.
Cleaning up temporary files....
Setting console screen modes.
Rcannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
INIT: Entering runlevel: 2
Using makefile-style concurrent boot in runlevel 2.
acpid: starting up with proc fs

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
Starting periodic command scheduler: cron.
Starting OpenBSD Secure Shell server: sshd.
Starting xenstored...XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state

Setting domain 0 name...
Starting xenconsoled...
BLKTAPCTRL[2156]: blktapctrl.c:790: blktapctrl: v1.0.0

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [raw image (aio)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [raw image (sync)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2156]: blktapctrl.c:792: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2156]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2156]: blktapctrl.c:859: couldn't open blktap interface

BLKTAPCTRL[2156]: blktapctrl.c:922: Unable to start blktapctrl

(XEN) PCI remove device 00:12.2
(XEN) PCI add device 00:12.2
/usr/local/bin/xen_start.sh: line 15: /sys/bus/pci/devices/0000:07:00.0/dri=
ver/unbind: No such file or directory
Using config file "/etc/xen/windows".
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3b0 f_mport=3D3b0 np=3Dc
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Da0 mfn=3Da0 nr_mfns=3D20
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c0 f_mport=3D3c0 np=3D3
(XEN) domctl.c:1042:d0 ioport_map:add f_gport=3D3c4 f_mport=3D3c4 np=3D1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 7
Started domain windows (id=3D1)(XEN) HVM1: System requested ROMBIOS

(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:258: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:258: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:258: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:258: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ...=
 done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc000000-0xfc0025bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://etherboot.org
(XEN) HVM1:  - Product name: gPXE
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1:  - Lo data: 000ea020-000ea04f
(XEN) HVM1:  - Hi data: fc002800-fc01291f
(XEN) HVM1: vm86 TSS at fc012c00
(XEN) HVM1: BIOS map:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e1fff: Etherboot ROM
(XEN) HVM1:  eb000-eb20f: SMBIOS tables
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:0009fc00: RESERVED
(XEN) HVM1:  [02]: 00000000:0009fc00 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [03]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [04]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [05]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [06]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM=20
(XEN) HVM1:=20
(XEN) HVM1: ata0-0: PCHS=3D16383/16/63 translation=3Dlba LCHS=3D1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=3D16383/16/63 translation=3Dlba LCHS=3D1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1:=20
(XEN) HVM1:=20
(XEN) HVM1:=20
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1:=20
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:258: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:258: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:258: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:258: Dom1 PCI link 3 changed 5 -> 0
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D=
10000
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D=
20
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) grant_table.c:1156:d1 Expanding dom (1) grant table from (4) to (32) =
frames.
(XEN) irq.c:324: Dom1 callback via changed to GSI 28
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D=
10000
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D=
20
(XEN) domctl.c:986:d0 memory_map:add: gfn=3De0000 mfn=3Dd0000 nr_mfns=3D100=
00
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1020 mfn=3Dfe9e0 nr_mfns=3D20
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1068 mfn=3Dfe3f7 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1060 mfn=3Dfe9bc nr_mfns=3D4
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1069 mfn=3Df0000 nr_mfns=3D1
(XEN) domctl.c:996:d0 memory_map:remove: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4
(XEN) domctl.c:986:d0 memory_map:add: gfn=3Df1064 mfn=3Dfe3f8 nr_mfns=3D4

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="3.2.0-rc2.log"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="3.2.0-rc2.log"

 __  __            _  _    ____                     _        _     _      
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.2-unstable (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Sat May  5 15:48:48 CEST 2012
(XEN) Latest ChangeSet: Fri May 04 11:18:48 2012 +0100 25259:0f53540494f7
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (2 hotplug CPUs)
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.225 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) Brought up 6 CPUs
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x5b2000
(XEN) elf_parse_binary: phdr: paddr=0x15b2000 memsz=0x660e0
(XEN) elf_parse_binary: phdr: paddr=0x1619000 memsz=0x12500
(XEN) elf_parse_binary: phdr: paddr=0x162c000 memsz=0x21b000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1847000
(XEN) elf_xen_parse_note: GUEST_OS = "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION = "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY = 0xffffffff8162c200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) elf_xen_parse_note: PAE_MODE = "yes"
(XEN) elf_xen_parse_note: LOADER = "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(XEN) elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET = 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        = 0xffffffff80000000
(XEN)     elf_paddr_offset = 0x0
(XEN)     virt_offset      = 0xffffffff80000000
(XEN)     virt_kstart      = 0xffffffff81000000
(XEN)     virt_kend        = 0xffffffff81847000
(XEN)     virt_entry       = 0xffffffff8162c200
(XEN)     p2m_base         = 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1847000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000226000000->0000000228000000 (514500 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81847000
(XEN)  Init. ramdisk: ffffffff81847000->ffffffff81e82200
(XEN)  Phys-Mach map: ffffffff81e83000->ffffffff82283000
(XEN)  Start info:    ffffffff82283000->ffffffff822834b4
(XEN)  Page tables:   ffffffff82284000->ffffffff82299000
(XEN)  Boot stack:    ffffffff82299000->ffffffff8229a000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82400000
(XEN)  ENTRY ADDRESS: ffffffff8162c200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff815b2000
(XEN) elf_load_binary: phdr 1 at 0xffffffff815b2000 -> 0xffffffff816180e0
(XEN) elf_load_binary: phdr 2 at 0xffffffff81619000 -> 0xffffffff8162b500
(XEN) elf_load_binary: phdr 3 at 0xffffffff8162c000 -> 0xffffffff816b2000
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 256kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.2.0-rc2-11202-gd3507af-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #6 SMP PREEMPT Sat May 5 20:13:29 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing  9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 00000000cfe80000 (usable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (usable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01847000 - 01e83000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffb000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 255, address 0xfec00000, GSI 0-255
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 255, address 0xfec20000, GSI 24-279
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at 80000000 (gap: 80000000:4fe80000)
Booting paravirtualized kernel on Xen
Xen version: 4.2-unstable (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4b000 s75008 r8192 d23296 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 514973
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975220k/2097152k available (4470k kernel code, 472k absent, 121460k reserved, 1768k data, 596k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Verbose stalled-CPUs detection is disabled.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.224 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.44 BogoMIPS (lpj=3010224)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
ACPI: Core revision 20110623
cpu 0 spinlock event irq 297
Performance Events: (XEN) traps.c:2561:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4a75df86514 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 303
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 315
installing Xen timer for CPU 4
cpu 4 spinlock event irq 321
installing Xen timer for CPU 5
cpu 5 spinlock event irq 327
Brought up 6 CPUs
devtmpfs: initialized
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
Extended Config Space enabled on 1 nodes
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
HEST: Table not found.
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:07:00.0
(XEN) PCI add device 0000:07:00.1
(XEN) PCI add device 0000:06:00.0
(XEN) PCI add device 0000:06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
pci 0000:00:02.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:04.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:05.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
pci 0000:00:06.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
pci 0000:00:07.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
pci 0000:00:0d.0: PCI INT A -> GSI 54 (level, low) -> IRQ 54
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
ERST: Table is not found!
GHES: HEST is not enabled!
Event-channel device installed.
pciback 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pciback 0000:00:14.2: PCI INT A disabled
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial 0000:02:00.0: PCI INT A -> GSI 40 (level, low) -> IRQ 40
serial 0000:02:00.1: PCI INT B -> GSI 41 (level, low) -> IRQ 41
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata1: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: PCI INT A -> GSI 44 (level, low) -> IRQ 44
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata7: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.29
sky2 0000:04:00.0: PCI INT A -> GSI 51 (level, low) -> IRQ 51
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: PCI INT A -> GSI 46 (level, low) -> IRQ 46
firewire_ohci: Added fw-ohci device 0000:05:00.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ata5: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
ehci_hcd 0000:00:16.2: debug port 1
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
ata1.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
ata7: SATA link down (SStatus 0 SControl 300)
ata8: SATA link down (SStatus 0 SControl 300)
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata1.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
 sda: sda1 sda2
ohci_hcd 0000:00:12.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:12.0: OHCI Host Controller
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
usb 1-1: new high-speed USB device number 2 using ehci_hcd
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
firewire_core: created device fw0: GUID 001e8c0000de9136, S400
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:14.5: OHCI Host Controller
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xhci_hcd 0000:03:00.0: PCI INT A -> GSI 50 (level, low) -> IRQ 50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
usb usb8: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
ATK0110 ATK0110:00: EC enabled
SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
SP5100 TCO timer: mmio address 0xb8fe00 already in use
IT87 WDT: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
wdt: Xen WatchDog Timer Driver v0.01
wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
usb 4-2: new full-speed USB device number 2 using ohci_hcd
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 11:07:15 UTC (1336388835)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
powernow-k8: invalid pstate 1 - bad value 1.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 2 - bad value 2.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 3 - bad value 3.
powernow-k8: Please report to BIOS manufacturer
[Firmware Bug]: powernow-k8: invalid powernow_table
Freeing unused kernel memory: 596k freed
Loading, please wait...
udev[1087]: starting version 164
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
done.
Begin: Running /scripts/local-premount ... done.
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
done.
INIT: version 2.88 booting
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
Using makefile-style concurrent boot in runlevel S.
Files under mount point '/lib/init/rw' will be hidden. ... (warning).
usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
Files under mount point '/var/run' will be hidden. ...input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
 (warning).
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
firewire_net: firewire0: IPv4 over FireWire on device 001e8c0000de9136
firewire_core: refreshed device fw0
Files under mount point '/var/lock' will be hidden. ... (warning).
Starting the hotplug events dispatcher: udevdudev[1296]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 175647/1310720 files, 1276770/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
Starting the Winbind daemon: winbind.sshd (2066): /pr
oc/2066/oom_adj is deprecated, please use /proc/2066/oom_score_adj instead.
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
Starting oxenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting OpenBSD Secure Shell server: sshd.
Starting domain name service...: bind9.
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2231]: blktapctrl.c:792: blktapctrl: v1.0.0

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [raw image (aio)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [raw image (sync)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2231]: blktapctrl.c:794: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2231]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2231]: blktapctrl.c:861: couldn't open blktap interface

BLKTAPCTRL[2231]: blktapctrl.c:924: Unable to start blktapctrl

Starting S.M.A.R.T. daemon: smartd.
sky2 0000:04:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
br0: port 1(eth0) entering forwarding state
br0: port 1(eth0) entering forwarding state
br0: port 1(eth0) entering forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 0000:00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 0000:00:13.2
(XEN) PCI remove device 0000:00:16.2
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:16.2
[CPU0] failed to set governor name
[CPU1] failed to set governor name
[CPU2] failed to set governor name
[CPU3] failed to set governor name
[CPU4] failed to set governor name
[CPU5] failed to set governor name
.
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) ioport_map:add: dom1 gport=3b0 mport=3b0 nr=c
(XEN) memory_map:add: dom1 gfn=a0 mfn=a0 nr=20
(XEN) ioport_map:add: dom1 gport=3c0 mport=3c0 nr=3
(XEN) ioport_map:add: dom1 gport=3c4 mport=3c4 nr=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 8
(XEN) HVM1: System requested ROMBIOS
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:270: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:270: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:270: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:270: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc001000-0xfc0035bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://ipxe.org
(XEN) HVM1:  - Product name: iPXE
(XEN) HVM1: Option ROMs:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e0fff: Etherboot ROM
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1: vm86 TSS at fc00f700
(XEN) HVM1: BIOS map:
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [02]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [03]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [04]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [05]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:270: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:270: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:270: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:270: Dom1 PCI link 3 changed 5 -> 0
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) grant_table.c:1174:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:350: Dom1 callback via changed to GSI 28
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0701, fault address = 0x9db44000
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x00a2, fault address = 0x9debe000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x00a2, fault address = 0x9debe000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x00a2, fault address = 0x9debe000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa94324e0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa94324b0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432510
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9508a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab040
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab080
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab0c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab100
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab140
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab180
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab1c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab200
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab240
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab280
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab2c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab300
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab340
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab340
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab380
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab380
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab3c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0700, fault address = 0x9d7ab3c0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa950ea80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0090, fault address = 0xa9526460
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa96f6a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa950ea80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9538a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9402a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9402a80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa96fca80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9432a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9526a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa952ca30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa9514a30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa961aa30
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 1, device id = 0x0092, fault address = 0xa96fca80
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80080
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80040
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80080
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xdfe80000
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0
(XEN) AMD-Vi: IO_PAGE_FAULT: domain = 0, device id = 0x0090, fault address = 0xffffffc0

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-patch;
  charset="ISO-8859-1";
  name="ioperm.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="ioperm.patch"

diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index aa0f913..259ef7f 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -340,11 +340,18 @@ static inline void write_idt_entry(gate_desc *dt, int entry, const gate_desc *g)
 {
 	PVOP_VCALL3(pv_cpu_ops.write_idt_entry, dt, entry, g);
 }
+
 static inline void set_iopl_mask(unsigned mask)
 {
 	PVOP_VCALL1(pv_cpu_ops.set_iopl_mask, mask);
 }
 
+static inline void set_io_bitmap(struct thread_struct *thread,
+                                unsigned long bytes_updated)
+{
+       PVOP_VCALL2(pv_cpu_ops.set_io_bitmap, thread, bytes_updated);
+}
+
 /* The paravirtualized I/O functions */
 static inline void slow_down_io(void)
 {
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 8e8b9a4..96f267c 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -142,6 +142,8 @@ struct pv_cpu_ops {
 	void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t);
 
 	void (*set_iopl_mask)(unsigned mask);
+        void (*set_io_bitmap)(struct thread_struct *thread,
+                              unsigned long bytes_updated);
 
 	void (*wbinvd)(void);
 	void (*io_delay)(void);
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index 4fa7dcc..62becce 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -503,6 +503,9 @@ static inline void native_set_iopl_mask(unsigned mask)
 #endif
 }
 
+extern void native_set_io_bitmap(struct thread_struct *thread,
+                                unsigned long updated_bytes);
+
 static inline void
 native_load_sp0(struct tss_struct *tss, struct thread_struct *thread)
 {
@@ -536,6 +539,7 @@ static inline void load_sp0(struct tss_struct *tss,
 }
 
 #define set_iopl_mask native_set_iopl_mask
+#define set_io_bitmap native_set_io_bitmap
 #endif /* CONFIG_PARAVIRT */
 
 /*
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
index 8c96897..c372ef0 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
@@ -17,13 +17,29 @@
 #include <linux/bitmap.h>
 #include <asm/syscalls.h>
 
+void native_set_io_bitmap(struct thread_struct *t,
+                         unsigned long bytes_updated)
+{
+       struct tss_struct *tss;
+
+       if (!bytes_updated)
+               return;
+
+       tss = &__get_cpu_var(init_tss);
+
+       /* Update the TSS: */
+       if (t->io_bitmap_ptr)
+               memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
+       else
+               memset(tss->io_bitmap, 0xff, bytes_updated);
+}
+
 /*
  * this changes the io permissions bitmap in the current task.
  */
 asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
 {
 	struct thread_struct *t = &current->thread;
-	struct tss_struct *tss;
 	unsigned int i, max_long, bytes, bytes_updated;
 
 	if ((from + num <= from) || (from + num > IO_BITMAP_BITS))
@@ -48,13 +64,13 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
 	}
 
 	/*
-	 * do it in the per-thread copy and in the TSS ...
+	 * do it in the per-thread copy
 	 *
-	 * Disable preemption via get_cpu() - we must not switch away
+	 * Disable preemption - we must not switch away
 	 * because the ->io_bitmap_max value must match the bitmap
 	 * contents:
 	 */
-	tss = &per_cpu(init_tss, get_cpu());
+        preempt_disable();
 
 	if (turn_on)
 		bitmap_clear(t->io_bitmap_ptr, from, num);
@@ -75,10 +91,9 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
 
 	t->io_bitmap_max = bytes;
 
-	/* Update the TSS: */
-	memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
+        set_io_bitmap(t, bytes_updated);
 
-	put_cpu();
+        preempt_enable();
 
 	return 0;
 }
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index ab13760..aa420e7 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -391,6 +391,7 @@ struct pv_cpu_ops pv_cpu_ops = {
 	.swapgs = native_swapgs,
 
 	.set_iopl_mask = native_set_iopl_mask,
+        .set_io_bitmap = native_set_io_bitmap,
 	.io_delay = native_io_delay,
 
 	.start_context_switch = paravirt_nop,
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index 1d92a5a..e8436cc 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -91,16 +91,12 @@ void exit_thread(void)
 	unsigned long *bp = t->io_bitmap_ptr;
 
 	if (bp) {
-		struct tss_struct *tss = &per_cpu(init_tss, get_cpu());
-
+                preempt_disable();
 		t->io_bitmap_ptr = NULL;
 		clear_thread_flag(TIF_IO_BITMAP);
-		/*
-		 * Careful, clear this in the TSS too:
-		 */
-		memset(tss->io_bitmap, 0xff, t->io_bitmap_max);
+                set_io_bitmap(t, t->io_bitmap_max);
 		t->io_bitmap_max = 0;
-		put_cpu();
+                preempt_enable();
 		kfree(bp);
 	}
 }
@@ -237,19 +233,11 @@ void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
 			hard_enable_TSC();
 	}
 
-	if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) {
-		/*
-		 * Copy the relevant range of the IO bitmap.
-		 * Normally this is 128 bytes or less:
-		 */
-		memcpy(tss->io_bitmap, next->io_bitmap_ptr,
-		       max(prev->io_bitmap_max, next->io_bitmap_max));
-	} else if (test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) {
-		/*
-		 * Clear any possible leftover bits:
-		 */
-		memset(tss->io_bitmap, 0xff, prev->io_bitmap_max);
-	}
+        if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP) ||
+            test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))
+                set_io_bitmap(next,
+                              max(prev->io_bitmap_max, next->io_bitmap_max));
+
 	propagate_user_return_notify(prev_p, next_p);
 }
 
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 8853204..7a05509 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -808,6 +808,18 @@ static void xen_set_iopl_mask(unsigned mask)
 	HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
 }
 
+static void xen_set_io_bitmap(struct thread_struct *thread,
+	int changed, unsigned long bytes_updated)
+{
+	struct physdev_set_iobitmap set_iobitmap;
+
+	set_xen_guest_handle(set_iobitmap.bitmap,
+		(char *)thread->io_bitmap_ptr);
+	set_iobitmap.nr_ports = thread->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
+	WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap,
+		&set_iobitmap));
+}
+
 static void xen_io_delay(void)
 {
 }
@@ -1117,6 +1129,7 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.load_sp0 = xen_load_sp0,
 
 	.set_iopl_mask = xen_set_iopl_mask,
+	.set_io_bitmap = xen_set_io_bitmap,
 	.io_delay = xen_io_delay,
 
 	/* Xen takes care of %gs when switching to usermode for us */

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="3.4.0-rc4.log"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="3.4.0-rc4.log"

 __  __            _  _    ____                     _        _     _      
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.2-unstable (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Sat May  5 15:48:48 CEST 2012
(XEN) Latest ChangeSet: Fri May 04 11:18:48 2012 +0100 25259:0f53540494f7
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (2 hotplug CPUs)
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.238 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) Brought up 6 CPUs
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x5d3000
(XEN) elf_parse_binary: phdr: paddr=0x15d3000 memsz=0x6e0e8
(XEN) elf_parse_binary: phdr: paddr=0x1642000 memsz=0x12980
(XEN) elf_parse_binary: phdr: paddr=0x1655000 memsz=0x4ff000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1b54000
(XEN) elf_xen_parse_note: GUEST_OS = "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION = "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY = 0xffffffff81655200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) elf_xen_parse_note: PAE_MODE = "yes"
(XEN) elf_xen_parse_note: LOADER = "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(XEN) elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET = 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        = 0xffffffff80000000
(XEN)     elf_paddr_offset = 0x0
(XEN)     virt_offset      = 0xffffffff80000000
(XEN)     virt_kstart      = 0xffffffff81000000
(XEN)     virt_kend        = 0xffffffff81b54000
(XEN)     virt_entry       = 0xffffffff81655200
(XEN)     p2m_base         = 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1b54000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506308 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81b54000
(XEN)  Init. ramdisk: ffffffff81b54000->ffffffff8218f200
(XEN)  Phys-Mach map: ffffffff82190000->ffffffff82590000
(XEN)  Start info:    ffffffff82590000->ffffffff825904b4
(XEN)  Page tables:   ffffffff82591000->ffffffff825a8000
(XEN)  Boot stack:    ffffffff825a8000->ffffffff825a9000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81655200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff815d3000
(XEN) elf_load_binary: phdr 1 at 0xffffffff815d3000 -> 0xffffffff816410e8
(XEN) elf_load_binary: phdr 2 at 0xffffffff81642000 -> 0xffffffff81654980
(XEN) elf_load_binary: phdr 3 at 0xffffffff81655000 -> 0xffffffff816cc000
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 256kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.4.0-rc4-00395-g87b5d90-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #5 SMP PREEMPT Sat May 5 19:29:42 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing 9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
Populating 80000-80066 pfn range: 102 pages added
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 0000000080066000 (usable)
 Xen: 0000000080066000 - 00000000cfe80000 (unusable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (unusable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 0000000080066000 - 00000000cfe80000 (unusable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
 user: 0000000100000000 - 0000000230000000 (unusable)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01b54000 - 02190000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffc000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
Early memory PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 253, address 0xfec00000, GSI 0-253
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 253, address 0xfec20000, GSI 24-277
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at cff00000 (gap: cff00000:2ed00000)
Booting paravirtualized kernel on Xen
Xen version: 4.2-unstable (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4c000 s76160 r8192 d22144 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 515976
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975064k/2097152k available (4567k kernel code, 472k absent, 121616k reserved, 1833k data, 532k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Dump stacks of tasks blocking RCU-preempt GP.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.238 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.47 BogoMIPS (lpj=3010238)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
mce: CPU supports 6 MCE banks
ACPI: Core revision 20120320
cpu 0 spinlock event irq 295
Performance Events: (XEN) traps.c:2561:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4a75df86514 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 302
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 316
installing Xen timer for CPU 4
cpu 4 spinlock event irq 323
installing Xen timer for CPU 5
cpu 5 spinlock event irq 330
Brought up 6 CPUs
devtmpfs: initialized
Grant tables using version 2 layout.
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000dffff]
pci_bus 0000:00: root bus resource [mem 0xcff00000-0xdfffffff]
pci_bus 0000:00: root bus resource [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:07:00.0
(XEN) PCI add device 0000:07:00.1
(XEN) PCI add device 0000:06:00.0
(XEN) PCI add device 0000:06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP: reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: CPU0: patch_level=0x010000bf
microcode: CPU1: patch_level=0x010000bf
microcode: CPU2: patch_level=0x010000bf
microcode: CPU3: patch_level=0x010000bf
microcode: CPU4: patch_level=0x010000bf
microcode: CPU5: patch_level=0x010000bf
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
GHES: HEST is not enabled!
Event-channel device installed.
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata7: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata9: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.30
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:16.2: debug port 1
ata7: SATA link down (SStatus 0 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata5: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata2.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata9: SATA link down (SStatus 0 SControl 300)
ata8: SATA link down (SStatus 0 SControl 300)
ata2.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ata2.00: configured for UDMA/133
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:12.0: OHCI Host Controller
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
usb 1-1: new high-speed USB device number 2 using ehci_hcd
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: OHCI Host Controller
firewire_core 0000:05:00.0: created device fw0: GUID 001e8c0000de9136, S400
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xen_map_pirq_gsi: returning irq 50 for gsi 50
Already setup the GSI :50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
usb usb8: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
ACPI Warning: 0x0000000000000b00-0x0000000000000b07 SystemIO conflicts with Region \_SB_.PCI0.SBRG.ASOC.SMRG 1 (20120320/utaddress-251)
usb 4-2: new full-speed USB device number 2 using ohci_hcd
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
ATK0110 ATK0110:00: EC enabled
sp5100_tco: SP5100 TCO WatchDog Timer Driver v0.01
sp5100_tco: mmio address 0xb8fe00 already in use
it87_wdt: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
xen_wdt: Xen WatchDog Timer Driver v0.01
xen_wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 10:55:22 UTC (1336388122)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
Freeing unused kernel memory: 532k freed
Loading, please wait...
udev[1078]: starting version 164
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
Begin: Loading essential drivers ... usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
done.
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
Begin: Running /scripts/local-premount ... done.
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
INIT: version 2.88 booting
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
Using makefile-style concurrent boot in runlevel S.input: Chicony U
SB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
Files under mount point '/lib/init/rw' will be hidden. ...net firewire0: IPv4 over IEEE 1394 on card 0000:05:00.0
firewire_core 0000:05:00.0: refreshed device fw0
 (warning).
Files under mount point '/var/run' will be hidden. ... (warning).
Files under mount point '/var/lock' will be hidden. ... (warning).
Starting the hotplug events dispatcher: udevdudev[1286]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 175647/1310720 files, 1276635/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
sshd (2064): /proc/2064/oom_adj is deprecated, please use /proc/2064/oom_score_adj instead.
Starting the Winbind daemon: winbind.
Starting OpenBSD Secure Shell server: sshd.
Starting oxenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting domain name service...: bind9.
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2234]: blktapctrl.c:792: blktapctrl: v1.0.0

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [raw image (aio)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [raw image (sync)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2234]: blktapctrl.c:794: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2234]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2234]: blktapctrl.c:861: couldn't open blktap interfacesky2 0000:04:00.
0: eth0: Link is up at 100 Mbps,
 full duplex, flow control both
BLKTAPCTRL[2234]: blktapctrl.c:924: Unable to start blktapctrlbr0: port 1(eth0
) entered forwarding state

br0: port 1(eth0) entered forwarding state
Starting S.M.A.R.T. daemon: smartd.
br0: port 1(eth0) entered forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 0000:00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 0000:00:13.2
(XEN) PCI remove device 0000:00:16.2
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:16.2
.
acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) ioport_map:add: dom1 gport=3b0 mport=3b0 nr=c
(XEN) memory_map:add: dom1 gfn=a0 mfn=a0 nr=20
(XEN) ioport_map:add: dom1 gport=3c0 mport=3c0 nr=3
(XEN) ioport_map:add: dom1 gport=3c4 mport=3c4 nr=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 8
(XEN) HVM1: System requested ROMBIOS
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:270: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:270: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:270: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:270: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc001000-0xfc0035bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://ipxe.org
(XEN) HVM1:  - Product name: iPXE
(XEN) HVM1: Option ROMs:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e0fff: Etherboot ROM
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1: vm86 TSS at fc00f700
(XEN) HVM1: BIOS map:
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [02]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [03]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [04]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [05]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:270: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:270: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:270: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:270: Dom1 PCI link 3 changed 5 -> 0
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) grant_table.c:1174:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:350: Dom1 callback via changed to GSI 28
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
 __  __            _  _    ____                     _        _     _      
 \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.2-unstable (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Sat May  5 15:48:48 CEST 2012
(XEN) Latest ChangeSet: Fri May 04 11:18:48 2012 +0100 25259:0f53540494f7
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (2 hotplug CPUs)
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.254 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) Brought up 6 CPUs
(XEN) microcode: collect_cpu_info: patch_id=0x10000bf
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN) elf_parse_binary: phdr: paddr=0x1000000 memsz=0x5d3000
(XEN) elf_parse_binary: phdr: paddr=0x15d3000 memsz=0x6e0e8
(XEN) elf_parse_binary: phdr: paddr=0x1642000 memsz=0x12980
(XEN) elf_parse_binary: phdr: paddr=0x1655000 memsz=0x4ff000
(XEN) elf_parse_binary: memory: 0x1000000 -> 0x1b54000
(XEN) elf_xen_parse_note: GUEST_OS = "linux"
(XEN) elf_xen_parse_note: GUEST_VERSION = "2.6"
(XEN) elf_xen_parse_note: XEN_VERSION = "xen-3.0"
(XEN) elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
(XEN) elf_xen_parse_note: ENTRY = 0xffffffff81655200
(XEN) elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
(XEN) elf_xen_parse_note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) elf_xen_parse_note: PAE_MODE = "yes"
(XEN) elf_xen_parse_note: LOADER = "generic"
(XEN) elf_xen_parse_note: unknown xen elf note (0xd)
(XEN) elf_xen_parse_note: SUSPEND_CANCEL = 0x1
(XEN) elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
(XEN) elf_xen_parse_note: PADDR_OFFSET = 0x0
(XEN) elf_xen_addr_calc_check: addresses:
(XEN)     virt_base        = 0xffffffff80000000
(XEN)     elf_paddr_offset = 0x0
(XEN)     virt_offset      = 0xffffffff80000000
(XEN)     virt_kstart      = 0xffffffff81000000
(XEN)     virt_kend        = 0xffffffff81b54000
(XEN)     virt_entry       = 0xffffffff81655200
(XEN)     p2m_base         = 0xffffffffffffffff
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1b54000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000224000000->0000000228000000 (506308 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81b54000
(XEN)  Init. ramdisk: ffffffff81b54000->ffffffff8218f200
(XEN)  Phys-Mach map: ffffffff82190000->ffffffff82590000
(XEN)  Start info:    ffffffff82590000->ffffffff825904b4
(XEN)  Page tables:   ffffffff82591000->ffffffff825a8000
(XEN)  Boot stack:    ffffffff825a8000->ffffffff825a9000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff81655200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) elf_load_binary: phdr 0 at 0xffffffff81000000 -> 0xffffffff815d3000
(XEN) elf_load_binary: phdr 1 at 0xffffffff815d3000 -> 0xffffffff816410e8
(XEN) elf_load_binary: phdr 2 at 0xffffffff81642000 -> 0xffffffff81654980
(XEN) elf_load_binary: phdr 3 at 0xffffffff81655000 -> 0xffffffff816cc000
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 256kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.4.0-rc4-00395-g87b5d90-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #7 SMP PREEMPT Mon May 7 13:16:10 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing 9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
Populating 80000-80066 pfn range: 102 pages added
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 0000000080066000 (usable)
 Xen: 0000000080066000 - 00000000cfe80000 (unusable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (unusable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 0000000080066000 - 00000000cfe80000 (unusable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
 user: 0000000100000000 - 0000000230000000 (unusable)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01b54000 - 02190000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffc000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
Early memory PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 253, address 0xfec00000, GSI 0-253
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 253, address 0xfec20000, GSI 24-277
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at cff00000 (gap: cff00000:2ed00000)
Booting paravirtualized kernel on Xen
Xen version: 4.2-unstable (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4c000 s76160 r8192 d22144 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 515976
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975064k/2097152k available (4567k kernel code, 472k absent, 121616k reserved, 1833k data, 532k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Dump stacks of tasks blocking RCU-preempt GP.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.254 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.50 BogoMIPS (lpj=3010254)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
mce: CPU supports 6 MCE banks
ACPI: Core revision 20120320
cpu 0 spinlock event irq 295
Performance Events: (XEN) traps.c:2561:d0 Domain attempted WRMSR 00000000c0010004 from 0x0000e4a75df86514 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 302
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 316
installing Xen timer for CPU 4
cpu 4 spinlock event irq 323
installing Xen timer for CPU 5
cpu 5 spinlock event irq 330
Brought up 6 CPUs
devtmpfs: initialized
Grant tables using version 2 layout.
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000dffff]
pci_bus 0000:00: root bus resource [mem 0xcff00000-0xdfffffff]
pci_bus 0000:00: root bus resource [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:07:00.0
(XEN) PCI add device 0000:07:00.1
(XEN) PCI add device 0000:06:00.0
(XEN) PCI add device 0000:06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP: reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: CPU0: patch_level=0x010000bf
microcode: CPU1: patch_level=0x010000bf
microcode: CPU2: patch_level=0x010000bf
microcode: CPU3: patch_level=0x010000bf
microcode: CPU4: patch_level=0x010000bf
microcode: CPU5: patch_level=0x010000bf
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
GHES: HEST is not enabled!
Event-channel device installed.
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata7: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata9: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.30
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ata5: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ehci_hcd 0000:00:16.2: debug port 1
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata8: SATA link down (SStatus 0 SControl 300)
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:12.0: OHCI Host Controller
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
ata9: SATA link down (SStatus 0 SControl 300)
ata7: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata2.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ata2.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
ata6: SATA link down (SStatus 0 SControl 300)
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
ata2.00: configured for UDMA/133
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: OHCI Host Controller
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: new high-speed USB device number 2 using ehci_hcd
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
 sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
firewire_core 0000:05:00.0: created device fw0: GUID 001e8c0000de9136, S400
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xen_map_pirq_gsi: returning irq 50 for gsi 50
Already setup the GSI :50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
hub 1-1:1.0: USB hub found
usb usb8: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 1-1:1.0: 4 ports detected
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.4.0-rc4-00395-g87b5d90-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
ACPI Warning: 0x0000000000000b00-0x0000000000000b07 SystemIO conflicts with Region \_SB_.PCI0.SBRG.ASOC.SMRG 1 (20120320/utaddress-251)
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
ATK0110 ATK0110:00: EC enabled
sp5100_tco: SP5100 TCO WatchDog Timer Driver v0.01
sp5100_tco: mmio address 0xb8fe00 already in use
it87_wdt: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
xen_wdt: Xen WatchDog Timer Driver v0.01
xen_wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 11:19:10 UTC (1336389550)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
Freeing unused kernel memory: 532k freed
Loading, please wait...
udev[1078]: starting version 164
usb 4-2: new full-speed USB device number 2 using ohci_hcd
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
done.
Begin: Running /scripts/local-premount ... done.
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
INIT: version 2.88 booting
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
Using makefile-style concurrent boot in runlevel S.net firewire0: I
Pv4 over IEEE 1394 on card 0000:05:00.0
firewire_core 0000:05:00.0: refreshed device fw0
Files under mount point '/lib/init/rw' will be hidden. ... (warning).
Files under mount point '/var/run' will be hidden. ... (warning).
Files under mount point '/var/lock' will be hidden. ... (warning).
Starting the hotplug events dispatcher: udevdudev[1302]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 176617/1310720 files, 1280562/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
sshd (2084): /proc/2084/oom_adj is deprecated, please use /proc/2084/oom_score_adj instead.
Starting the Winbind daemon: winbind.
Starting OpenBSD Secure Shell server: sshd.
Starting domain name service...: bind9.
Starting oxenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2253]: blktapctrl.c:792: blktapctrl: v1.0.0

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [raw image (aio)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [raw image (sync)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2253]: blktapctrl.c:794: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2253]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2253]: blktapctrl.c:861: couldn't open blktap interface

BLKTAPCTRL[2253]: blktapctrl.c:924: Unable to start blktapctrl

sky2 0000:04:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
br0: port 1(eth0) entered forwarding state
br0: port 1(eth0) entered forwarding state
Starting S.M.A.R.T. daemon: smartd.
br0: port 1(eth0) entered forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 0000:00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 0000:00:13.2
(XEN) PCI remove device 0000:00:16.2
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:16.2
.
acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) ioport_map:add: dom1 gport=3b0 mport=3b0 nr=c
(XEN) memory_map:add: dom1 gfn=a0 mfn=a0 nr=20
(XEN) ioport_map:add: dom1 gport=3c0 mport=3c0 nr=3
(XEN) ioport_map:add: dom1 gport=3c4 mport=3c4 nr=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.2-unstable
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 8
(XEN) HVM1: System requested ROMBIOS
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) irq.c:270: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:270: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:270: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:270: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9660 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc001000-0xfc0035bc ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://ipxe.org
(XEN) HVM1:  - Product name: iPXE
(XEN) HVM1: Option ROMs:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e0fff: Etherboot ROM
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1: vm86 TSS at fc00f700
(XEN) HVM1: BIOS map:
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [02]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [03]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [04]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [05]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:270: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:270: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:270: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:270: Dom1 PCI link 3 changed 5 -> 0
(XEN) memory_map:remove: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:remove: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:add: dom1 gfn=e0000 mfn=d0000 nr=10000
(XEN) memory_map:add: dom1 gfn=f1020 mfn=fe9e0 nr=20
(XEN) memory_map:remove: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:add: dom1 gfn=f1060 mfn=fe9bc nr=4
(XEN) memory_map:remove: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:add: dom1 gfn=f1068 mfn=fe3f7 nr=1
(XEN) memory_map:remove: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:add: dom1 gfn=f1069 mfn=f0000 nr=1
(XEN) memory_map:remove: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) memory_map:add: dom1 gfn=f1064 mfn=fe3f8 nr=4
(XEN) grant_table.c:1174:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:350: Dom1 callback via changed to GSI 28
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.

--Boundary-00=_TX7pPqk9X0OyHh/
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--Boundary-00=_TX7pPqk9X0OyHh/--


From xen-devel-bounces@lists.xen.org Mon May 07 12:59:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 12:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRNWk-0005Dt-9y; Mon, 07 May 2012 12:58:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRNWi-0005Do-Ny
	for xen-devel@lists.xen.org; Mon, 07 May 2012 12:58:56 +0000
Received: from [85.158.138.51:63645] by server-8.bemta-3.messagelabs.com id
	0F/6F-24428-F07C7AF4; Mon, 07 May 2012 12:58:55 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336395535!25657087!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2398 invoked from network); 7 May 2012 12:58:55 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 12:58:55 -0000
Received: by eekc4 with SMTP id c4so982004eek.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 05:58:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:mime-version:content-type:content-transfer-encoding;
	bh=HLfxlSP/4ayX/4nGyiPyzsjaJn06IeXnQfTKhofpwGo=;
	b=ECHTCZ/fAbWchuloRY+g678uSZQDFg1OeWaO/EkCb5Uu0Gm2CHyuEVQGOY2P4HVCx9
	mnIYTVaLcER6NrmDK6ksJKI/LeG/EYXxeV9GBEgkExbczHoJr4ZJYRAS+CDfI4lM8C5m
	PvKahOVI0y34H6a0B4D3+/1CEQmqlA2ZNG1IpdasT77VEvU4FZYE7HFXIsk+JqZt6BnM
	Ff8m2+VCSdgQ42ZIh66lQiaTSDT4eNknYnJIm1CGSpjd3iwAyrmHwuZskaxhAfWm14nr
	duAZpM3dah8ljQhOdS1jF6nDRzMX6239c5t3Rputb0dQJCet4R4iU1OYIppIV+F3YBxO
	rKnQ==
Received: by 10.14.188.7 with SMTP id z7mr133532eem.91.1336395534927;
	Mon, 07 May 2012 05:58:54 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id e56sm85864614eea.11.2012.05.07.05.58.53
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 05:58:54 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 13:58:44 +0100
From: Keir Fraser <keir@xen.org>
To: <xen-devel@lists.xen.org>
Message-ID: <CBCD8594.3FCE5%keir@xen.org>
Thread-Topic: [ANNOUNCE] First release candidates for Xen 4.0.4 and 4.1.3
Thread-Index: Ac0sUSIeI+CnfYpUDkCPlH/iMq0O9w==
Mime-version: 1.0
Subject: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4 and
	4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Folks,

I have just tagged first release candidates for 4.0.4 and 4.1.3:

http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)

Please test!

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 12:59:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 12:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRNWk-0005Dt-9y; Mon, 07 May 2012 12:58:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRNWi-0005Do-Ny
	for xen-devel@lists.xen.org; Mon, 07 May 2012 12:58:56 +0000
Received: from [85.158.138.51:63645] by server-8.bemta-3.messagelabs.com id
	0F/6F-24428-F07C7AF4; Mon, 07 May 2012 12:58:55 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336395535!25657087!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2398 invoked from network); 7 May 2012 12:58:55 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 12:58:55 -0000
Received: by eekc4 with SMTP id c4so982004eek.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 05:58:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:mime-version:content-type:content-transfer-encoding;
	bh=HLfxlSP/4ayX/4nGyiPyzsjaJn06IeXnQfTKhofpwGo=;
	b=ECHTCZ/fAbWchuloRY+g678uSZQDFg1OeWaO/EkCb5Uu0Gm2CHyuEVQGOY2P4HVCx9
	mnIYTVaLcER6NrmDK6ksJKI/LeG/EYXxeV9GBEgkExbczHoJr4ZJYRAS+CDfI4lM8C5m
	PvKahOVI0y34H6a0B4D3+/1CEQmqlA2ZNG1IpdasT77VEvU4FZYE7HFXIsk+JqZt6BnM
	Ff8m2+VCSdgQ42ZIh66lQiaTSDT4eNknYnJIm1CGSpjd3iwAyrmHwuZskaxhAfWm14nr
	duAZpM3dah8ljQhOdS1jF6nDRzMX6239c5t3Rputb0dQJCet4R4iU1OYIppIV+F3YBxO
	rKnQ==
Received: by 10.14.188.7 with SMTP id z7mr133532eem.91.1336395534927;
	Mon, 07 May 2012 05:58:54 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id e56sm85864614eea.11.2012.05.07.05.58.53
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 05:58:54 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 13:58:44 +0100
From: Keir Fraser <keir@xen.org>
To: <xen-devel@lists.xen.org>
Message-ID: <CBCD8594.3FCE5%keir@xen.org>
Thread-Topic: [ANNOUNCE] First release candidates for Xen 4.0.4 and 4.1.3
Thread-Index: Ac0sUSIeI+CnfYpUDkCPlH/iMq0O9w==
Mime-version: 1.0
Subject: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4 and
	4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Folks,

I have just tagged first release candidates for 4.0.4 and 4.1.3:

http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)

Please test!

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 13:06:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRNdp-0005Rk-7c; Mon, 07 May 2012 13:06:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRNdn-0005Rf-Pl
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:06:15 +0000
Received: from [85.158.143.35:8568] by server-3.bemta-4.messagelabs.com id
	43/F1-05853-7C8C7AF4; Mon, 07 May 2012 13:06:15 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336395970!9970661!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15966 invoked from network); 7 May 2012 13:06:11 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:06:11 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmwtM48/lq3M7qEP8j
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-084-057-075-125.pools.arcor-ip.net [84.57.75.125])
	by smtp.strato.de (jored mo38) (RZmta 29.4 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id j058efo47CHrbn ;
	Mon, 7 May 2012 15:06:07 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 7741D18637; Mon,  7 May 2012 15:06:06 +0200 (CEST)
Date: Mon, 7 May 2012 15:06:06 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120507130605.GA781@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336296932.5933.9.camel@cthulhu.hellion.org.uk>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, Ian Campbell wrote:

> On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> > 
> > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > # HG changeset patch
> > > > # User Olaf Hering <olaf@aepfle.de>
> > > > # Date 1336159720 -7200
> > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > xl.cfg: document the maxmem= option
> > > > 
> > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > > 
> > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > --- a/docs/man/xl.cfg.pod.5
> > > > +++ b/docs/man/xl.cfg.pod.5
> > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > >  mode) and your guest workload consists of a a very large number of
> > > >  similar processes then increasing this value may improve performance.
> > > >  
> > > > +=item B<maxmem=MBYTES>
> > > > +
> > > > +Specifies the maximum amount of memory the HVM guest can ever see.
> > > 
> > > Isn't it also for PV guests (though without the PoD functionality)?
> > 
> > Now that I look again at libxl__build_pre(), it appearently does also
> > something for PV guests.
> 
> Right. Some people call this booting "pre-ballooned". Essentially n PV
> the balloon driver can be initialised early enough that something like
> PoD is not required -- the missing pages are just incorporated directly
> into the balloon.


What about this wording?

Specifies the maximum amount of memory a guest can ever see.
The value of maxmem= must be equal or greater than memory=.
In combination with the memory= option it will start the guest "pre-ballooned".
In a HVM guest it will enable the PoD (populate on demand) mode, iff the values of memory= and maxmem= differ.
The guest needs a balloon driver in this case, without a balloon driver it will crash.


Olaf


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 13:06:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRNdp-0005Rk-7c; Mon, 07 May 2012 13:06:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRNdn-0005Rf-Pl
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:06:15 +0000
Received: from [85.158.143.35:8568] by server-3.bemta-4.messagelabs.com id
	43/F1-05853-7C8C7AF4; Mon, 07 May 2012 13:06:15 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336395970!9970661!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15966 invoked from network); 7 May 2012 13:06:11 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:06:11 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmwtM48/lq3M7qEP8j
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-084-057-075-125.pools.arcor-ip.net [84.57.75.125])
	by smtp.strato.de (jored mo38) (RZmta 29.4 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id j058efo47CHrbn ;
	Mon, 7 May 2012 15:06:07 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 7741D18637; Mon,  7 May 2012 15:06:06 +0200 (CEST)
Date: Mon, 7 May 2012 15:06:06 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120507130605.GA781@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336296932.5933.9.camel@cthulhu.hellion.org.uk>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, Ian Campbell wrote:

> On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> > 
> > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > # HG changeset patch
> > > > # User Olaf Hering <olaf@aepfle.de>
> > > > # Date 1336159720 -7200
> > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > xl.cfg: document the maxmem= option
> > > > 
> > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > > 
> > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > --- a/docs/man/xl.cfg.pod.5
> > > > +++ b/docs/man/xl.cfg.pod.5
> > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > >  mode) and your guest workload consists of a a very large number of
> > > >  similar processes then increasing this value may improve performance.
> > > >  
> > > > +=item B<maxmem=MBYTES>
> > > > +
> > > > +Specifies the maximum amount of memory the HVM guest can ever see.
> > > 
> > > Isn't it also for PV guests (though without the PoD functionality)?
> > 
> > Now that I look again at libxl__build_pre(), it appearently does also
> > something for PV guests.
> 
> Right. Some people call this booting "pre-ballooned". Essentially n PV
> the balloon driver can be initialised early enough that something like
> PoD is not required -- the missing pages are just incorporated directly
> into the balloon.


What about this wording?

Specifies the maximum amount of memory a guest can ever see.
The value of maxmem= must be equal or greater than memory=.
In combination with the memory= option it will start the guest "pre-ballooned".
In a HVM guest it will enable the PoD (populate on demand) mode, iff the values of memory= and maxmem= differ.
The guest needs a balloon driver in this case, without a balloon driver it will crash.


Olaf


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 13:35:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRO5A-0005gC-QZ; Mon, 07 May 2012 13:34:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRO58-0005g4-Ru
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:34:31 +0000
Received: from [85.158.143.99:13991] by server-2.bemta-4.messagelabs.com id
	9D/30-17550-66FC7AF4; Mon, 07 May 2012 13:34:30 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336397669!20456825!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1193 invoked from network); 7 May 2012 13:34:29 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 13:34:29 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 14:34:28 +0100
Message-Id: <4FA7EB80020000780008204B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 14:34:24 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
 "AP" <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
In-Reply-To: <4FA7B6EF.9030403@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 13:50, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 07/05/2012 09:10, Jan Beulich wrote:
>>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
>>> (XEN) *** IRQ BUG found ***
>>> (XEN) CPU0 -Testing vector 236 from bitmap
>> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
>> in through the 8259A. Something fundamentally fishy must be going
>> on here, and I would suppose the code in question shouldn't even be
>> reached for legacy vectors.
>>
>> Furthermore, calling dump_irqs() from the debugging code with
>> desc->lock still held makes it impossible to get full output, as that
>> function wants to lock all initialized IRQ descriptors.
> 
> Yes - it has been vector 236 on each of the 3 reported failures from AP,
> and I believe it was also vector 236 in the one case I managed to
> reproduce the issue.
> 
> However, once we have set up the IO-APIC, the 8259A should not be used
> any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
> was going to be my first suggestion), and that EOI Broadcast Suppression
> is enabled, which I have already identified as a source of problems for
> some customers.  As a 'fix', I provided the ability for
> "io_ack_method=new" to prevent EOI Broadcast Suppression being enabled. 
> This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
> completely fixed the customer problems - just made it substantially more
> rare.
> 
> AP: Can you manually invoke the 'i' debug key and provide that - it will
> help to see how Xen is setting up the IO-APIC(s) on your system.

Seeing the 'z' output might also be helpful, especially to see whether
any of the IO-APICs' RTEs is an ExtINT one.

Further, checking that no 8259A IRQ got (or was left) enabled for
some reason might be useful as well (cached_irq_mask plus the raw
port 0x21 and 0xA1 values).

In any case the debugging code's locking should be fixed.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 13:35:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRO5A-0005gC-QZ; Mon, 07 May 2012 13:34:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRO58-0005g4-Ru
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:34:31 +0000
Received: from [85.158.143.99:13991] by server-2.bemta-4.messagelabs.com id
	9D/30-17550-66FC7AF4; Mon, 07 May 2012 13:34:30 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336397669!20456825!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1193 invoked from network); 7 May 2012 13:34:29 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 13:34:29 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 14:34:28 +0100
Message-Id: <4FA7EB80020000780008204B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 14:34:24 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
 "AP" <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
In-Reply-To: <4FA7B6EF.9030403@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 13:50, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 07/05/2012 09:10, Jan Beulich wrote:
>>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
>>> (XEN) *** IRQ BUG found ***
>>> (XEN) CPU0 -Testing vector 236 from bitmap
>> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
>> in through the 8259A. Something fundamentally fishy must be going
>> on here, and I would suppose the code in question shouldn't even be
>> reached for legacy vectors.
>>
>> Furthermore, calling dump_irqs() from the debugging code with
>> desc->lock still held makes it impossible to get full output, as that
>> function wants to lock all initialized IRQ descriptors.
> 
> Yes - it has been vector 236 on each of the 3 reported failures from AP,
> and I believe it was also vector 236 in the one case I managed to
> reproduce the issue.
> 
> However, once we have set up the IO-APIC, the 8259A should not be used
> any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
> was going to be my first suggestion), and that EOI Broadcast Suppression
> is enabled, which I have already identified as a source of problems for
> some customers.  As a 'fix', I provided the ability for
> "io_ack_method=new" to prevent EOI Broadcast Suppression being enabled. 
> This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
> completely fixed the customer problems - just made it substantially more
> rare.
> 
> AP: Can you manually invoke the 'i' debug key and provide that - it will
> help to see how Xen is setting up the IO-APIC(s) on your system.

Seeing the 'z' output might also be helpful, especially to see whether
any of the IO-APICs' RTEs is an ExtINT one.

Further, checking that no 8259A IRQ got (or was left) enabled for
some reason might be useful as well (cached_irq_mask plus the raw
port 0x21 and 0xA1 values).

In any case the debugging code's locking should be fixed.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 13:46:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:46:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROGV-0005qf-2U; Mon, 07 May 2012 13:46:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SROGS-0005qa-CN
	for xen-devel@lists.xen.org; Mon, 07 May 2012 13:46:13 +0000
Received: from [85.158.138.51:32039] by server-1.bemta-3.messagelabs.com id
	FE/96-11491-322D7AF4; Mon, 07 May 2012 13:46:11 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336398367!25727830!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2801 invoked from network); 7 May 2012 13:46:08 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-9.tower-174.messagelabs.com with SMTP;
	7 May 2012 13:46:08 -0000
Received: (qmail 8046 invoked from network); 7 May 2012 15:46:04 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	7 May 2012 15:46:04 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Mon, 7 May 2012 15:46:03 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
In-Reply-To: <201205071345.23619.pavel@netsafe.cz>
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_bI9pPLDXbMX40PR"
Message-Id: <201205071546.03637.pavel@netsafe.cz>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--Boundary-00=_bI9pPLDXbMX40PR
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: quoted-printable

On Mon 7. of May 2012 13:45:23 Pavel Mat=C4=9Bja wrote:
> Hi,
> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
> kernel. I already have working setup with ancient xen-devel 4.2 and
> 2.6.32.x xenified kernel. See attached log.
>=20
> So I tried just to update and patch xen and kernel, but I had no luck so
> far.
>=20
> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang recentl=
y.
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
>=20
> I tried two kernels
> testing-3.5-with-extra and xen/next-3.2 from
> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> and
> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> Both with ioperm opcode patch which is required by the ATI patch. See
> attachement.
>=20
> The xen/next-3.2 branch kernel was able to start booting windows.
> With Catalyst driver installed I just saw bluescreen during Windows boot.
> Without Catalyst driver Windows were able to boot but Windows ended frozen
> or USB was not working. It was hard to tell because input devices had no
> response at all.
>=20
> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0 kern=
el
> during Windows boot. I guess I have to rework the io_bitmap patch somehow.

Hmm, I just tried the http://xenbits.xen.org/staging/xen-4.1-testing.hg (ta=
g=20
4.1.3-rc1) and the 3.2 with both patches mentioned above and Windows booted=
=20
just fine.
Log is attached.
=2D-=20
Pavel Mateja

--Boundary-00=_bI9pPLDXbMX40PR
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="xen-4.1.log"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="xen-4.1.log"

 __  __            _  _    _   _____             _ 
 \ \/ /___ _ __   | || |  / | |___ /    _ __ ___/ |
  \  // _ \ '_ \  | || |_ | |   |_ \ __| '__/ __| |
  /  \  __/ | | | |__   _|| |_ ___) |__| | | (__| |
 /_/\_\___|_| |_|    |_|(_)_(_)____/   |_|  \___|_|
                                                   
(XEN) Xen version 4.1.3-rc1 (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Mon May  7 15:26:18 CEST 2012
(XEN) Latest ChangeSet: Mon May 07 13:44:08 2012 +0100 23290:513ca342fd86
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.281 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer appears to have unexpectedly wrapped 10 or more times.
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 6 CPUs
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1847000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000226000000->0000000228000000 (514500 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81847000
(XEN)  Init. ramdisk: ffffffff81847000->ffffffff81e82200
(XEN)  Phys-Mach map: ffffffff81e83000->ffffffff82283000
(XEN)  Start info:    ffffffff82283000->ffffffff822834b4
(XEN)  Page tables:   ffffffff82284000->ffffffff82299000
(XEN)  Boot stack:    ffffffff82299000->ffffffff8229a000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82400000
(XEN)  ENTRY ADDRESS: ffffffff8162c200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 216kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.2.0-rc2-11202-gd3507af-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #6 SMP PREEMPT Sat May 5 20:13:29 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing  9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 00000000cfe80000 (usable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (usable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01847000 - 01e83000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffb000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 255, address 0xfec00000, GSI 0-255
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 255, address 0xfec20000, GSI 24-279
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at 80000000 (gap: 80000000:4fe80000)
Booting paravirtualized kernel on Xen
Xen version: 4.1.3-rc1 (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4b000 s75008 r8192 d23296 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 514973
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975220k/2097152k available (4470k kernel code, 472k absent, 121460k reserved, 1768k data, 596k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Verbose stalled-CPUs detection is disabled.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.280 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.56 BogoMIPS (lpj=3010280)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
ACPI: Core revision 20110623
cpu 0 spinlock event irq 297
Performance Events: (XEN) traps.c:2488:d0 Domain attempted WRMSR 00000000c0010004 from 0x000025a74db06414 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 303
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 315
installing Xen timer for CPU 4
cpu 4 spinlock event irq 321
installing Xen timer for CPU 5
cpu 5 spinlock event irq 327
Brought up 6 CPUs
devtmpfs: initialized
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
Extended Config Space enabled on 1 nodes
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
HEST: Table not found.
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:02.0
(XEN) PCI add device 00:04.0
(XEN) PCI add device 00:05.0
(XEN) PCI add device 00:06.0
(XEN) PCI add device 00:07.0
(XEN) PCI add device 00:0d.0
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:12.0
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:14.0
(XEN) PCI add device 00:14.2
(XEN) PCI add device 00:14.3
(XEN) PCI add device 00:14.4
(XEN) PCI add device 00:14.5
(XEN) PCI add device 00:16.0
(XEN) PCI add device 00:16.2
(XEN) PCI add device 00:18.0
(XEN) PCI add device 00:18.1
(XEN) PCI add device 00:18.2
(XEN) PCI add device 00:18.3
(XEN) PCI add device 00:18.4
(XEN) PCI add device 07:00.0
(XEN) PCI add device 07:00.1
(XEN) PCI add device 06:00.0
(XEN) PCI add device 06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 05:00.0
(XEN) PCI add device 04:00.0
(XEN) PCI add device 03:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
pci 0000:00:02.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:04.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:05.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
pci 0000:00:06.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
pci 0000:00:07.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
pci 0000:00:0d.0: PCI INT A -> GSI 54 (level, low) -> IRQ 54
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
(XEN) physdev.c:164: dom0: wrong map_pirq type 3
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
ERST: Table is not found!
GHES: HEST is not enabled!
Event-channel device installed.
pciback 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pciback 0000:00:14.2: PCI INT A disabled
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial 0000:02:00.0: PCI INT A -> GSI 40 (level, low) -> IRQ 40
serial 0000:02:00.1: PCI INT B -> GSI 41 (level, low) -> IRQ 41
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata1: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: PCI INT A -> GSI 44 (level, low) -> IRQ 44
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata7: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.29
sky2 0000:04:00.0: PCI INT A -> GSI 51 (level, low) -> IRQ 51
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: PCI INT A -> GSI 46 (level, low) -> IRQ 46
firewire_ohci: Added fw-ohci device 0000:05:00.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ata3: SATA link down (SStatus 0 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata5: SATA link down (SStatus 0 SControl 300)
ehci_hcd 0000:00:16.2: debug port 1
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
ata1.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
ata8: SATA link down (SStatus 0 SControl 300)
ata7: SATA link down (SStatus 0 SControl 300)
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata1.00: configured for UDMA/133
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd 0000:00:12.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:12.0: OHCI Host Controller
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
 sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
usb 1-1: new high-speed USB device number 2 using ehci_hcd
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
firewire_core: created device fw0: GUID 001e8c0000de9136, S400
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:14.5: OHCI Host Controller
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xhci_hcd 0000:03:00.0: PCI INT A -> GSI 50 (level, low) -> IRQ 50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
usb usb8: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
ATK0110 ATK0110:00: EC enabled
SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
SP5100 TCO timer: mmio address 0xb8fe00 already in use
usb 4-2: new full-speed USB device number 2 using ohci_hcd
IT87 WDT: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
wdt: Xen WatchDog Timer Driver v0.01
wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 13:42:51 UTC (1336398171)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
powernow-k8: invalid pstate 1 - bad value 1.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 2 - bad value 2.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 3 - bad value 3.
powernow-k8: Please report to BIOS manufacturer
[Firmware Bug]: powernow-k8: invalid powernow_table
Freeing unused kernel memory: 596k freed
Loading, please wait...
udev[1086]: starting version 164
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
done.
Begin: Running /scripts/local-premount ... done.
EXT4-fs (dm-0): INFO: recovery required on readonly filesystem
EXT4-fs (dm-0): write access will be enabled during recovery
EXT4-fs (dm-0): recovery complete
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
INIT: version 2.88 booting
Using makefile-style concurrent boot in runlevel S.
Files under mount point '/lib/init/rw' will be hidden. ...usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
 (warning).
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
Files under mount point '/var/run' will be hidden. ... (warning).
Files under mount point '/var/lock' will be hidden. ... (warning).
firewire_net: firewire0: IPv4 over FireWire on device 001e8c0000de9136
firewire_core: refreshed device fw0
Starting the hotplug events dispatcher: udevdudev[1280]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 199611/1310720 files, 1390142/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): recovery complete
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
sshd (2049): /proc/2049/oom_adj is deprecated, please use /proc/2049/oom_score_adj instead.
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
Starting the Winbind daemon: winbind.
Starting OpenBSD Secure Shell server: sshd.
Starting xenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting domain name service...: bind9.
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2216]: blktapctrl.c:790: blktapctrl: v1.0.0

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [raw image (aio)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [raw image (sync)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2216]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2216]: blktapctrl.c:859: couldn't open blktap interface

BLKTAPCTRL[2216]: blktapctrl.c:922: Unable to start blktapctrl

Starting S.M.A.R.T. daemon: smartd.
sky2 0000:04:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
br0: port 1(eth0) entering forwarding state
br0: port 1(eth0) entering forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 00:13.2
(XEN) PCI remove device 00:16.2
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:16.2
[CPU0] failed to set governor name
[CPU1] failed to set governor name
[CPU2] failed to set governor name
[CPU3] failed to set governor name
[CPU4] failed to set governor name
[CPU5] failed to set governor name
.
acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) domctl.c:1041:d0 ioport_map:add f_gport=3b0 f_mport=3b0 np=c
(XEN) domctl.c:985:d0 memory_map:add: gfn=a0 mfn=a0 nr_mfns=20
(XEN) domctl.c:1041:d0 ioport_map:add f_gport=3c0 f_mport=3c0 np=3
(XEN) domctl.c:1041:d0 ioport_map:add f_gport=3c4 f_mport=3c4 np=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.1.3-rc1
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 7
(XEN) irq.c:264: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:264: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:264: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:264: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:985:d0 memory_map:add: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 10588 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc000000-0xfc00295c ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://etherboot.org
(XEN) HVM1:  - Product name: gPXE
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1:  - Lo data: 000ea020-000ea04f
(XEN) HVM1:  - Hi data: fc002c00-fc00eb1f
(XEN) HVM1: vm86 TSS at fc00ec00
(XEN) HVM1: BIOS map:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e1fff: Etherboot ROM
(XEN) HVM1:  eb000-eb209: SMBIOS tables
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:0009fc00: RESERVED
(XEN) HVM1:  [02]: 00000000:0009fc00 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [03]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [04]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [05]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [06]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:264: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:264: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:264: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:264: Dom1 PCI link 3 changed 5 -> 0
(XEN) domctl.c:995:d0 memory_map:remove: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:985:d0 memory_map:add: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) grant_table.c:1160:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:330: Dom1 callback via changed to GSI 28
(XEN) domctl.c:995:d0 memory_map:remove: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:985:d0 memory_map:add: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1069 mfn=f0000 nr_mfns=1

--Boundary-00=_bI9pPLDXbMX40PR
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--Boundary-00=_bI9pPLDXbMX40PR--


From xen-devel-bounces@lists.xen.org Mon May 07 13:46:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:46:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROGV-0005qf-2U; Mon, 07 May 2012 13:46:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SROGS-0005qa-CN
	for xen-devel@lists.xen.org; Mon, 07 May 2012 13:46:13 +0000
Received: from [85.158.138.51:32039] by server-1.bemta-3.messagelabs.com id
	FE/96-11491-322D7AF4; Mon, 07 May 2012 13:46:11 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336398367!25727830!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2801 invoked from network); 7 May 2012 13:46:08 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-9.tower-174.messagelabs.com with SMTP;
	7 May 2012 13:46:08 -0000
Received: (qmail 8046 invoked from network); 7 May 2012 15:46:04 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	7 May 2012 15:46:04 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Mon, 7 May 2012 15:46:03 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
In-Reply-To: <201205071345.23619.pavel@netsafe.cz>
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_bI9pPLDXbMX40PR"
Message-Id: <201205071546.03637.pavel@netsafe.cz>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--Boundary-00=_bI9pPLDXbMX40PR
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: quoted-printable

On Mon 7. of May 2012 13:45:23 Pavel Mat=C4=9Bja wrote:
> Hi,
> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
> kernel. I already have working setup with ancient xen-devel 4.2 and
> 2.6.32.x xenified kernel. See attached log.
>=20
> So I tried just to update and patch xen and kernel, but I had no luck so
> far.
>=20
> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang recentl=
y.
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
>=20
> I tried two kernels
> testing-3.5-with-extra and xen/next-3.2 from
> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> and
> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> Both with ioperm opcode patch which is required by the ATI patch. See
> attachement.
>=20
> The xen/next-3.2 branch kernel was able to start booting windows.
> With Catalyst driver installed I just saw bluescreen during Windows boot.
> Without Catalyst driver Windows were able to boot but Windows ended frozen
> or USB was not working. It was hard to tell because input devices had no
> response at all.
>=20
> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0 kern=
el
> during Windows boot. I guess I have to rework the io_bitmap patch somehow.

Hmm, I just tried the http://xenbits.xen.org/staging/xen-4.1-testing.hg (ta=
g=20
4.1.3-rc1) and the 3.2 with both patches mentioned above and Windows booted=
=20
just fine.
Log is attached.
=2D-=20
Pavel Mateja

--Boundary-00=_bI9pPLDXbMX40PR
Content-Type: text/x-log;
  charset="ISO-8859-1";
  name="xen-4.1.log"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="xen-4.1.log"

 __  __            _  _    _   _____             _ 
 \ \/ /___ _ __   | || |  / | |___ /    _ __ ___/ |
  \  // _ \ '_ \  | || |_ | |   |_ \ __| '__/ __| |
  /  \  __/ | | | |__   _|| |_ ___) |__| | | (__| |
 /_/\_\___|_| |_|    |_|(_)_(_)____/   |_|  \___|_|
                                                   
(XEN) Xen version 4.1.3-rc1 (root@(none)) (gcc version 4.4.5 (Debian 4.4.5-8) ) Mon May  7 15:26:18 CEST 2012
(XEN) Latest ChangeSet: Mon May 07 13:44:08 2012 +0100 23290:513ca342fd86
(XEN) Console output is synchronous.
(XEN) Bootloader: GRUB 1.98+20100804-14+squeeze1
(XEN) Command line: placeholder dom0_mem=2G dom0_max_vcpus=6 loglvl=all guest_loglvl=all sync_console com1=115200,8n1,0xac00 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009ac00 (usable)
(XEN)  000000000009ac00 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfe80000 (usable)
(XEN)  00000000cfe80000 - 00000000cfe98000 (ACPI data)
(XEN)  00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
(XEN)  00000000cfec0000 - 00000000cff00000 (reserved)
(XEN)  00000000ffe00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000230000000 (usable)
(XEN) ACPI: RSDP 000FBF20, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFE80100, 005C (r1 102811 XSDT1740 20111028 MSFT       97)
(XEN) ACPI: FACP CFE80290, 00F4 (r3 102811 FACP1740 20111028 MSFT       97)
(XEN) ACPI: DSDT CFE80470, E6E3 (r1  A1595 A1595000        0 INTL 20060113)
(XEN) ACPI: FACS CFE98000, 0040
(XEN) ACPI: APIC CFE80390, 0098 (r1 102811 APIC1740 20111028 MSFT       97)
(XEN) ACPI: MCFG CFE80430, 003C (r1 102811 OEMMCFG  20111028 MSFT       97)
(XEN) ACPI: OEMB CFE98040, 0072 (r1 102811 OEMB1740 20111028 MSFT       97)
(XEN) ACPI: HPET CFE8F8C0, 0038 (r1 102811 OEMHPET  20111028 MSFT       97)
(XEN) ACPI: IVRS CFE8F900, 00E0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) ACPI: SSDT CFE8F9E0, 0E10 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) System RAM: 8190MB (8386664kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000230000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfe9800c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 0:10 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
(XEN) ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 56 GSI, 1112 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3010.281 MHz processor.
(XEN) Initing memory sharing.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Enabling global vector map
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer appears to have unexpectedly wrapped 10 or more times.
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 64 KiB.
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN)  - Pause-Intercept Filter
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 6 CPUs
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1847000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000226000000->0000000228000000 (514500 pages to be allocated)
(XEN)  Init. ramdisk: 000000022f9c4000->000000022ffff200
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81847000
(XEN)  Init. ramdisk: ffffffff81847000->ffffffff81e82200
(XEN)  Phys-Mach map: ffffffff81e83000->ffffffff82283000
(XEN)  Start info:    ffffffff82283000->ffffffff822834b4
(XEN)  Page tables:   ffffffff82284000->ffffffff82299000
(XEN)  Boot stack:    ffffffff82299000->ffffffff8229a000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82400000
(XEN)  ENTRY ADDRESS: ffffffff8162c200
(XEN) Dom0 has maximum 6 VCPUs
(XEN) Scrubbing Free RAM: .............................................................done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 216kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.2.0-rc2-11202-gd3507af-dirty (root@xen) (gcc version 4.4.5 (Debian 4.4.5-8) ) #6 SMP PREEMPT Sat May 5 20:13:29 CEST 2012
Command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
Freeing  9a-100 pfn range: 102 pages freed
Released 102 pages of unused memory
Set 197094 page(s) to 1-1 mapping
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000000009a000 (usable)
 Xen: 000000000009ac00 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 00000000cfe80000 (usable)
 Xen: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 Xen: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 Xen: 00000000cfec0000 - 00000000cff00000 (reserved)
 Xen: 00000000fec00000 - 00000000fec01000 (reserved)
 Xen: 00000000fec20000 - 00000000fec21000 (reserved)
 Xen: 00000000fee00000 - 00000000fee01000 (reserved)
 Xen: 00000000ffe00000 - 0000000100000000 (reserved)
 Xen: 0000000100000000 - 0000000230000000 (usable)
bootconsole [xenboot0] enabled
NX (Execute Disable) protection: active
user-defined physical RAM map:
 user: 0000000000000000 - 000000000009a000 (usable)
 user: 000000000009ac00 - 0000000000100000 (reserved)
 user: 0000000000100000 - 0000000080000000 (usable)
 user: 00000000cfe80000 - 00000000cfe98000 (ACPI data)
 user: 00000000cfe98000 - 00000000cfec0000 (ACPI NVS)
 user: 00000000cfec0000 - 00000000cff00000 (reserved)
 user: 00000000fec00000 - 00000000fec01000 (reserved)
 user: 00000000fec20000 - 00000000fec21000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ffe00000 - 0000000100000000 (reserved)
DMI present.
No AGP bridge found
last_pfn = 0x80000 max_arch_pfn = 0x400000000
found SMP MP-table at [ffff8800000ff780] ff780
init_memory_mapping: 0000000000000000-0000000080000000
RAMDISK: 01847000 - 01e83000
ACPI: RSDP 00000000000fbf20 00024 (v02 ACPIAM)
ACPI: XSDT 00000000cfe80100 0005C (v01 102811 XSDT1740 20111028 MSFT 00000097)
ACPI: FACP 00000000cfe80290 000F4 (v03 102811 FACP1740 20111028 MSFT 00000097)
ACPI: DSDT 00000000cfe80470 0E6E3 (v01  A1595 A1595000 00000000 INTL 20060113)
ACPI: FACS 00000000cfe98000 00040
ACPI: APIC 00000000cfe80390 00098 (v01 102811 APIC1740 20111028 MSFT 00000097)
ACPI: MCFG 00000000cfe80430 0003C (v01 102811 OEMMCFG  20111028 MSFT 00000097)
ACPI: OEMB 00000000cfe98040 00072 (v01 102811 OEMB1740 20111028 MSFT 00000097)
ACPI: HPET 00000000cfe8f8c0 00038 (v01 102811 OEMHPET  20111028 MSFT 00000097)
ACPI: IVRS 00000000cfe8f900 000E0 (v01  AMD     RD890S 00202031 AMD  00000000)
ACPI: SSDT 00000000cfe8f9e0 00E10 (v01 A M I  POWERNOW 00000001 AMD  00000001)
No NUMA configuration found
Faking a node at 0000000000000000-0000000080000000
Initmem setup node 0 0000000000000000-0000000080000000
  NODE_DATA [000000007fffb000 - 000000007fffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
    0: 0x00000010 -> 0x0000009a
    0: 0x00000100 -> 0x00080000
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
BIOS bug: APIC version is 0 for CPU 0/0x0, fixing up to 0x10
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 255, address 0xfec00000, GSI 0-255
ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 255, address 0xfec20000, GSI 24-279
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8300 base: 0xfed00000
8 Processors exceeds NR_CPUS limit of 6
SMP: Allowing 6 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at 80000000 (gap: 80000000:4fe80000)
Booting paravirtualized kernel on Xen
Xen version: 4.1.3-rc1 (preserve-AD)
setup_percpu: NR_CPUS:6 nr_cpumask_bits:6 nr_cpu_ids:6 nr_node_ids:1
PERCPU: Embedded 26 pages/cpu @ffff88007ff4b000 s75008 r8192 d23296 u106496
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 514973
Policy zone: DMA32
Kernel command line: placeholder root=/dev/mapper/lemrouch-xen ro mem=2G panic=15 xen-pciback.hide=(00:14.2) console=hvc0 earlyprintk=xen
PID hash table entries: 4096 (order: 3, 32768 bytes)
Placing 64MB software IO TLB between ffff880079600000 - ffff88007d600000
software IO TLB at phys 0x79600000 - 0x7d600000
Memory: 1975220k/2097152k available (4470k kernel code, 472k absent, 121460k reserved, 1768k data, 596k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
Preemptible hierarchical RCU implementation.
	Verbose stalled-CPUs detection is disabled.
NR_IRQS:4352 nr_irqs:1536 16
xen: sci override: global_irq=9 trigger=0 polarity=1
xen: acpi sci 9
xen_map_pirq_gsi: returning irq 9 for gsi 9
Console: colour VGA+ 80x25
console [hvc0] enabled, bootconsole disabled
console [hvc0] enabled, bootconsole disabled
installing Xen timer for CPU 0
Detected 3010.280 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6020.56 BogoMIPS (lpj=3010280)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
ACPI: Core revision 20110623
cpu 0 spinlock event irq 297
Performance Events: (XEN) traps.c:2488:d0 Domain attempted WRMSR 00000000c0010004 from 0x000025a74db06414 to 0x000000000000abcd.
Broken PMU hardware detected, using software events only.
MCE: In-kernel MCE decoding enabled.
installing Xen timer for CPU 1
cpu 1 spinlock event irq 303
installing Xen timer for CPU 2
cpu 2 spinlock event irq 309
installing Xen timer for CPU 3
cpu 3 spinlock event irq 315
installing Xen timer for CPU 4
cpu 4 spinlock event irq 321
installing Xen timer for CPU 5
cpu 5 spinlock event irq 327
Brought up 6 CPUs
devtmpfs: initialized
Grant table initialized
NET: Registered protocol family 16
TOM: 00000000d0000000 aka 3328M
TOM2: 0000000230000000 aka 8960M
Extended Config Space enabled on 1 nodes
ACPI: bus type pci registered
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: not using MMCONFIG
PCI: Using configuration type 1 for base access
PCI: Using configuration type 1 for extended access
bio: create slab <bio-0> at 0
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 3 blocks of module-level executable AML code
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in ACPI motherboard resources
ACPI: EC: GPE = 0xa, I/O: command/status = 0x66, data = 0x62
HEST: Table not found.
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0x000d0000-0x000dffff]
pci_root PNP0A03:00: host bridge window [mem 0xcff00000-0xdfffffff]
pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfebfffff]
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:14.4: PCI bridge to [bus 01-01] (subtractive decode)
 pci0000:00: Requesting ACPI _OSC control (0x1d)
 pci0000:00: ACPI _OSC control (0x1c) granted
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:02.0
(XEN) PCI add device 00:04.0
(XEN) PCI add device 00:05.0
(XEN) PCI add device 00:06.0
(XEN) PCI add device 00:07.0
(XEN) PCI add device 00:0d.0
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:12.0
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:14.0
(XEN) PCI add device 00:14.2
(XEN) PCI add device 00:14.3
(XEN) PCI add device 00:14.4
(XEN) PCI add device 00:14.5
(XEN) PCI add device 00:16.0
(XEN) PCI add device 00:16.2
(XEN) PCI add device 00:18.0
(XEN) PCI add device 00:18.1
(XEN) PCI add device 00:18.2
(XEN) PCI add device 00:18.3
(XEN) PCI add device 00:18.4
(XEN) PCI add device 07:00.0
(XEN) PCI add device 07:00.1
(XEN) PCI add device 06:00.0
(XEN) PCI add device 06:00.1
pci 0000:06:00.1: Failed to add - passthrough or MSI/MSI-X might fail!
(XEN) PCI add device 05:00.0
(XEN) PCI add device 04:00.0
(XEN) PCI add device 03:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 02:00.1
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 *7 10 11 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 7 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 7 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 7 10 11 14 15) *0, disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: device added: PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:07:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
Switching to clocksource xen
FS-Cache: Loaded
CacheFiles: Loaded
pnp: PnP ACPI init
ACPI: bus type pnp registered
system 00:01: [mem 0xfec20000-0xfec200ff] could not be reserved
system 00:02: [mem 0xf6000000-0xf6003fff] has been reserved
xen_map_pirq_gsi: returning irq 8 for gsi 8
xen_map_pirq_gsi: returning irq 13 for gsi 13
system 00:08: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:08: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:09: [io  0x04d0-0x04d1] has been reserved
system 00:09: [io  0x040b] has been reserved
system 00:09: [io  0x04d6] has been reserved
system 00:09: [io  0x0c00-0x0c01] has been reserved
system 00:09: [io  0x0c14] has been reserved
system 00:09: [io  0x0c50-0x0c51] has been reserved
system 00:09: [io  0x0c52] has been reserved
system 00:09: [io  0x0c6c] has been reserved
system 00:09: [io  0x0c6f] has been reserved
system 00:09: [io  0x0cd0-0x0cd1] has been reserved
system 00:09: [io  0x0cd2-0x0cd3] has been reserved
system 00:09: [io  0x0cd4-0x0cd5] has been reserved
system 00:09: [io  0x0cd6-0x0cd7] has been reserved
system 00:09: [io  0x0cd8-0x0cdf] has been reserved
system 00:09: [io  0x0800-0x089f] has been reserved
system 00:09: [io  0x0b00-0x0b1f] has been reserved
system 00:09: [io  0x0b20-0x0b3f] has been reserved
system 00:09: [io  0x0900-0x090f] has been reserved
system 00:09: [io  0x0910-0x091f] has been reserved
system 00:09: [io  0xfe00-0xfefe] has been reserved
system 00:09: [mem 0xcff00000-0xcfffffff] has been reserved
system 00:09: [mem 0xffb80000-0xffbfffff] has been reserved
system 00:09: [mem 0xfec10000-0xfec1001f] has been reserved
system 00:09: [mem 0xfed80000-0xfed80fff] has been reserved
system 00:0a: [io  0x0230-0x023f] has been reserved
system 00:0a: [io  0x0290-0x029f] has been reserved
system 00:0a: [io  0x0f40-0x0f4f] has been reserved
system 00:0a: [io  0x0a30-0x0a3f] has been reserved
system 00:0b: [mem 0xe0000000-0xefffffff] has been reserved
system 00:0c: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:0c: [mem 0x000c0000-0x000cffff] could not be reserved
system 00:0c: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:0c: [mem 0x00100000-0xcfefffff] could not be reserved
system 00:0c: [mem 0xfec00000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
pciback 0000:00:14.2: seizing device
PM-Timer failed consistency check  (0x0xffffff) - aborting.
pci 0000:00:02.0: PCI bridge to [bus 07-07]
pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:02.0:   bridge window [mem 0xfe900000-0xfe9fffff]
pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000:00:04.0: PCI bridge to [bus 06-06]
pci 0000:00:04.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:04.0:   bridge window [mem 0xfe800000-0xfe8fffff]
pci 0000:00:05.0: PCI bridge to [bus 05-05]
pci 0000:00:05.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:05.0:   bridge window [mem 0xfe700000-0xfe7fffff]
pci 0000:00:06.0: PCI bridge to [bus 04-04]
pci 0000:00:06.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:06.0:   bridge window [mem 0xfe600000-0xfe6fffff]
pci 0000:00:07.0: PCI bridge to [bus 03-03]
pci 0000:00:07.0:   bridge window [mem 0xfe500000-0xfe5fffff]
pci 0000:00:0d.0: PCI bridge to [bus 02-02]
pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:0d.0:   bridge window [mem 0xfe400000-0xfe4fffff]
pci 0000:00:14.4: PCI bridge to [bus 01-01]
pci 0000:00:02.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:04.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
xen_map_pirq_gsi: returning irq 52 for gsi 52
Already setup the GSI :52
pci 0000:00:05.0: PCI INT A -> GSI 52 (level, low) -> IRQ 52
pci 0000:00:06.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
xen_map_pirq_gsi: returning irq 53 for gsi 53
Already setup the GSI :53
pci 0000:00:07.0: PCI INT A -> GSI 53 (level, low) -> IRQ 53
pci 0000:00:0d.0: PCI INT A -> GSI 54 (level, low) -> IRQ 54
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
UDP hash table entries: 1024 (order: 3, 32768 bytes)
UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
NET: Registered protocol family 1
Unpacking initramfs...
Freeing initrd memory: 6384k freed
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 3870
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
(XEN) physdev.c:164: dom0: wrong map_pirq type 3
pcieport 0000:00:02.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.0: Signaling PME through PCIe PME interrupt
pci 0000:07:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:04.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
pcieport 0000:00:05.0: Signaling PME through PCIe PME interrupt
pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:06.0: Signaling PME through PCIe PME interrupt
pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:07.0: Signaling PME through PCIe PME interrupt
pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
pcieport 0000:00:0d.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
pci 0000:02:00.1: Signaling PME through PCIe PME interrupt
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
ERST: Table is not found!
GHES: HEST is not enabled!
Event-channel device installed.
pciback 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pciback 0000:00:14.2: PCI INT A disabled
xen-pciback: backend is vpci
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial 0000:02:00.0: PCI INT A -> GSI 40 (level, low) -> IRQ 40
serial 0000:02:00.1: PCI INT B -> GSI 41 (level, low) -> IRQ 41
0000:02:00.1: ttyS0 at I/O 0xa880 (irq = 41) is a ST16650V2
hpet_acpi_add: no address or irqs in _CRS
Non-volatile memory driver v1.3
Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using getrawmonotonic().
loop: module loaded
ahci 0000:00:11.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
scsi4 : ahci
scsi5 : ahci
ata1: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe100 irq 19
ata2: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe180 irq 19
ata3: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe200 irq 19
ata4: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe280 irq 19
ata5: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe300 irq 19
ata6: SATA max UDMA/133 abar m1024@0xfe3fe000 port 0xfe3fe380 irq 19
ahci 0000:06:00.0: PCI INT A -> GSI 44 (level, low) -> IRQ 44
ahci 0000:06:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:06:00.0: flags: 64bit ncq pm led clo pmp pio slum part 
scsi6 : ahci
scsi7 : ahci
ata7: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe100 irq 44
ata8: SATA max UDMA/133 abar m8192@0xfe8fe000 port 0xfe8fe180 irq 44
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
sky2: driver version 1.29
sky2 0000:04:00.0: PCI INT A -> GSI 51 (level, low) -> IRQ 51
sky2 0000:04:00.0: Yukon-2 Optima chip revision 1
sky2 0000:04:00.0: eth0: addr 20:cf:30:6d:89:a5
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
firewire_ohci 0000:05:00.0: PCI INT A -> GSI 46 (level, low) -> IRQ 46
firewire_ohci: Added fw-ohci device 0000:05:00.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x11
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:12.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:12.2: EHCI Host Controller
ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:12.2: debug port 1
ehci_hcd 0000:00:12.2: irq 17, io mem 0xfe3fe400
ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb1: SerialNumber: 0000:00:12.2
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:13.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ehci_hcd 0000:00:13.2: debug port 1
ehci_hcd 0000:00:13.2: irq 17, io mem 0xfe3fe800
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb2: SerialNumber: 0000:00:13.2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 17 for gsi 17
Already setup the GSI :17
ehci_hcd 0000:00:16.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
ehci_hcd 0000:00:16.2: EHCI Host Controller
ehci_hcd 0000:00:16.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
ata3: SATA link down (SStatus 0 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata6: SATA link down (SStatus 0 SControl 300)
ata5: SATA link down (SStatus 0 SControl 300)
ehci_hcd 0000:00:16.2: debug port 1
ehci_hcd 0000:00:16.2: irq 17, io mem 0xfe3fec00
ehci_hcd 0000:00:16.2: USB 2.0 started, EHCI 1.00
ata1.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10362, max UDMA/133
ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
ata8: SATA link down (SStatus 0 SControl 300)
ata7: SATA link down (SStatus 0 SControl 300)
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ehci_hcd
usb usb3: SerialNumber: 0000:00:16.2
ata1.00: configured for UDMA/133
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd 0000:00:12.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:12.0: OHCI Host Controller
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSA2CW12 4PC1 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 4
ohci_hcd 0000:00:12.0: irq 18, io mem 0xfe3f7000
 sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: OHCI Host Controller
usb usb4: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb4: SerialNumber: 0000:00:12.0
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 5
usb 1-1: new high-speed USB device number 2 using ehci_hcd
ohci_hcd 0000:00:13.0: irq 18, io mem 0xfe3fc000
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: OHCI Host Controller
usb usb5: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb5: SerialNumber: 0000:00:13.0
firewire_core: created device fw0: GUID 001e8c0000de9136, S400
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 5 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:14.5: PCI INT C -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:14.5: OHCI Host Controller
ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 6
ohci_hcd 0000:00:14.5: irq 18, io mem 0xfe3fd000
usb 1-1: New USB device found, idVendor=0424, idProduct=2504
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb6: Product: OHCI Host Controller
usb usb6: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb6: SerialNumber: 0000:00:14.5
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
xen_map_pirq_gsi: returning irq 18 for gsi 18
Already setup the GSI :18
ohci_hcd 0000:00:16.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ohci_hcd 0000:00:16.0: OHCI Host Controller
ohci_hcd 0000:00:16.0: new USB bus registered, assigned bus number 7
ohci_hcd 0000:00:16.0: irq 18, io mem 0xfe3ff000
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty ohci_hcd
usb usb7: SerialNumber: 0000:00:16.0
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 4 ports detected
xhci_hcd 0000:03:00.0: PCI INT A -> GSI 50 (level, low) -> IRQ 50
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 8
xhci_hcd 0000:03:00.0: irq 50, io mem 0xfe5fe000
usb usb8: New USB device found, idVendor=1d6b, idProduct=0002
usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb8: Product: xHCI Host Controller
usb usb8: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb8: SerialNumber: 0000:03:00.0
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
xhci_hcd 0000:03:00.0: xHCI Host Controller
xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 9
usb usb9: New USB device found, idVendor=1d6b, idProduct=0003
usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb9: Product: xHCI Host Controller
usb usb9: Manufacturer: Linux 3.2.0-rc2-11202-gd3507af-dirty xhci_hcd
usb usb9: SerialNumber: 0000:03:00.0
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
usbcore: registered new interface driver uas
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums_eneub6250
i8042: PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
input: PC Speaker as /devices/platform/pcspkr/input/input2
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
i2c /dev entries driver
piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
ATK0110 ATK0110:00: EC enabled
SP5100 TCO timer: SP5100 TCO WatchDog Timer Driver v0.01
SP5100 TCO timer: mmio address 0xb8fe00 already in use
usb 4-2: new full-speed USB device number 2 using ohci_hcd
IT87 WDT: Chip IT8721 revision 1 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0)
wdt: Xen WatchDog Timer Driver v0.01
wdt: cannot register miscdev on minor=130 (-16)
wdt: probe of wdt failed with error -16
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
EDAC MC: Ver: 2.1.0
AMD64 EDAC driver v3.4.0
EDAC amd64: DRAM ECC disabled.
EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
 Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
 (Note that use of the override may cause unknown side effects.)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
rtc_cmos 00:04: setting system clock to 2012-05-07 13:42:51 UTC (1336398171)
powernow-k8: Found 1 AMD Phenom(tm) II X6 1075T Processor (6 cpu cores) (version 2.20.00)
powernow-k8: Core Performance Boosting: on.
powernow-k8: invalid pstate 1 - bad value 1.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 2 - bad value 2.
powernow-k8: Please report to BIOS manufacturer
powernow-k8: invalid pstate 3 - bad value 3.
powernow-k8: Please report to BIOS manufacturer
[Firmware Bug]: powernow-k8: invalid powernow_table
Freeing unused kernel memory: 596k freed
Loading, please wait...
udev[1086]: starting version 164
usb 4-2: New USB device found, idVendor=041e, idProduct=30dc
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-2: Product: Sound Blaster Tactic(3D) Alpha
usb 4-2: Manufacturer: Creative Technology Ltd
usb 4-2: SerialNumber: 00023162
input: Creative Technology Ltd Sound Blaster Tactic(3D) Alpha as /devices/pci0000:00/0000:00:12.0/usb4/4-2/4-2:1.3/input/input3
generic-usb 0003:041E:30DC.0001: input,hiddev0: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Tactic(3D) Alpha] on usb-0000:00:12.0-2/input3
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... usb 1-1.1: new full-speed USB device number 4 using ehci_hcd
done.
Begin: Running /scripts/local-premount ... done.
EXT4-fs (dm-0): INFO: recovery required on readonly filesystem
EXT4-fs (dm-0): write access will be enabled during recovery
EXT4-fs (dm-0): recovery complete
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
usb 1-1.1: New USB device found, idVendor=1532, idProduct=0013
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: Razer Orochi
usb 1-1.1: Manufacturer: Razer
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
generic-usb 0003:1532:0013.0002: input: USB HID v1.11 Mouse [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input0
input: Razer Razer Orochi as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.1/1-1.1:1.1/input/input5
generic-usb 0003:1532:0013.0003: input: USB HID v1.11 Keyboard [Razer Razer Orochi] on usb-0000:00:12.2-1.1/input1
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
usb 1-1.2: new low-speed USB device number 5 using ehci_hcd
INIT: version 2.88 booting
Using makefile-style concurrent boot in runlevel S.
Files under mount point '/lib/init/rw' will be hidden. ...usb 1-1.2: New USB device found, idVendor=04f2, idProduct=0403
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Keyboard
usb 1-1.2: Manufacturer: Chicony
 (warning).
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
generic-usb 0003:04F2:0403.0004: input: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input0
input: Chicony USB Keyboard as /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2/1-1.2:1.1/input/input7
generic-usb 0003:04F2:0403.0005: input,hiddev0: USB HID v1.11 Device [Chicony USB Keyboard] on usb-0000:00:12.2-1.2/input1
Files under mount point '/var/run' will be hidden. ... (warning).
Files under mount point '/var/lock' will be hidden. ... (warning).
firewire_net: firewire0: IPv4 over FireWire on device 001e8c0000de9136
firewire_core: refreshed device fw0
Starting the hotplug events dispatcher: udevdudev[1280]: starting version 164
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Setting hostname to 'xen'...done.
Setting preliminary keymap...done.
Activating swap:.
EXT4-fs (dm-0): re-mounted. Opts: (null)
Will now check root file system:fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a -C0 /dev/mapper/lemrouch-xen 
/dev/mapper/lemrouch-xen: clean, 199611/1310720 files, 1390142/5242880 blocks
.
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
Loading kernel module firewire-sbp2.
Loading kernel module loop.
Cleaning up ifupdown....
Setting up networking....
Setting up LVM Volume Groups  Reading all physical volumes.  This may take a while...
  Found volume group "lemrouch" using metadata type lvm2
  4 logical volume(s) in volume group "lemrouch" now active
.
Will now activate lvm and md swap:done.
Will now check all file systems.
fsck from util-linux-ng 2.17.2
Checking all file systems.
Done checking file systems. A log is being saved in /var/log/fsck/checkfs if that location is writable..
Will now mount local filesystems:EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda1): recovery complete
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
.
Will now activate swapfile swap:done.
Cleaning up temporary files...Cleaning /tmp...done.
.
Checking minimum space in /tmp...done.
Setting kernel variables ... /etc/sysctl.conf...done.
Initializing random number generator...done.
Setting up X server socket directory /tmp/.X11-unix....
Setting up ICE socket directory /tmp/.ICE-unix....
Configuring network interfaces...device eth0 entered promiscuous mode
sky2 0000:04:00.0: eth0: enabling interface
done.
Cleaning up temporary files....
Starting filesystem in userspace: fuse.
Setting console screen modes.
cannot (un)set powersave mode
Skipping font and keymap setup (handled by console-setup).
Setting up console font and keymap...done.
Setting sensors limits.
INIT: Entering runlevel: 3
Using makefile-style concurrent boot in runlevel 3.
Not starting fancontrol; run pwmconfig first. ... (warning).
acpid: starting up with netlink and the input layer

acpid: 1 rule loaded

acpid: waiting for events: event logging is off

Starting ACPI services....
Starting system message bus: dbus.
sshd (2049): /proc/2049/oom_adj is deprecated, please use /proc/2049/oom_score_adj instead.
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
XENBUS: Unable to read cpu state
Starting the Winbind daemon: winbind.
Starting OpenBSD Secure Shell server: sshd.
Starting xenstored...
Setting domain 0 name...
Starting xenconsoled...
Starting domain name service...: bind9.
Starting Samba daemons: nmbd smbd.
Starting periodic command scheduler: cron.
Starting Postfix Mail Transport Agent: postfix.
BLKTAPCTRL[2216]: blktapctrl.c:790: blktapctrl: v1.0.0

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [raw image (aio)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [raw image (sync)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [vmware image (vmdk)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [ramdisk image (ram)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [qcow disk (qcow)]

BLKTAPCTRL[2216]: blktapctrl.c:792: Found driver: [qcow2 disk (qcow2)]

BLKTAPCTRL[2216]: blktapctrl_linux.c:86: blktap0 open failed

BLKTAPCTRL[2216]: blktapctrl.c:859: couldn't open blktap interface

BLKTAPCTRL[2216]: blktapctrl.c:922: Unable to start blktapctrl

Starting S.M.A.R.T. daemon: smartd.
sky2 0000:04:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
br0: port 1(eth0) entering forwarding state
br0: port 1(eth0) entering forwarding state
Running local boot scripts (/etc/rc.local)(XEN) PCI remove device 00:12.2
acpid: input device has been disconnected

acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) PCI remove device 00:13.2
(XEN) PCI remove device 00:16.2
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:16.2
[CPU0] failed to set governor name
[CPU1] failed to set governor name
[CPU2] failed to set governor name
[CPU3] failed to set governor name
[CPU4] failed to set governor name
[CPU5] failed to set governor name
.
acpid: input device has been disconnected

acpid: input device has been disconnected

(XEN) domctl.c:1041:d0 ioport_map:add f_gport=3b0 f_mport=3b0 np=c
(XEN) domctl.c:985:d0 memory_map:add: gfn=a0 mfn=a0 nr_mfns=20
(XEN) domctl.c:1041:d0 ioport_map:add f_gport=3c0 f_mport=3c0 np=3
(XEN) domctl.c:1041:d0 ioport_map:add f_gport=3c4 f_mport=3c4 np=1c
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v4.1.3-rc1
(XEN) HVM1: CPU speed is 3010 MHz
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 7
(XEN) irq.c:264: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:264: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:264: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:264: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
(XEN) HVM1: pci dev 01:3 INTA->IRQ10
(XEN) HVM1: pci dev 03:0 INTA->IRQ5
(XEN) HVM1: pci dev 04:0 INTA->IRQ5
(XEN) HVM1: pci dev 05:0 INTA->IRQ10
(XEN) HVM1: pci dev 06:0 INTB->IRQ5
(XEN) HVM1: pci dev 07:0 INTA->IRQ5
(XEN) HVM1: pci dev 08:0 INTB->IRQ10
(XEN) HVM1: pci dev 09:0 INTA->IRQ10
(XEN) HVM1: pci dev 05:0 bar 10 size 10000000: e000000c
(XEN) domctl.c:985:d0 memory_map:add: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f0000008
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f1000000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) HVM1: pci dev 05:0 bar 18 size 00020000: f1020004
(XEN) HVM1: pci dev 05:0 bar 30 size 00020000: f1040000
(XEN) HVM1: pci dev 06:0 bar 10 size 00004000: f1060004
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) HVM1: pci dev 09:0 bar 10 size 00004000: f1064004
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) HVM1: pci dev 07:0 bar 10 size 00001000: f1068000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) HVM1: pci dev 08:0 bar 10 size 00001000: f1069000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 05:0 bar 20 size 00000100: 0000c101
(XEN) HVM1: pci dev 04:0 bar 14 size 00000040: 0000c201
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c241
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU1 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU2 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU3 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU4 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1:  - CPU5 ... 48-bit phys ... fixed MTRRs ... var MTRRs [3/8] ... done.
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 10588 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc000000-0xfc00295c ... done
(XEN) HVM1: Creating MP tables ...
(XEN) HVM1: Loading VGABIOS of passthroughed gfx ...
(XEN) HVM1: Loading PCI Option ROM ...
(XEN) HVM1:  - Manufacturer: http://etherboot.org
(XEN) HVM1:  - Product name: gPXE
(XEN) HVM1: Loading ACPI ...
(XEN) HVM1:  - Lo data: 000ea020-000ea04f
(XEN) HVM1:  - Hi data: fc002c00-fc00eb1f
(XEN) HVM1: vm86 TSS at fc00ec00
(XEN) HVM1: BIOS map:
(XEN) HVM1:  c0000-cffff: VGA BIOS
(XEN) HVM1:  d0000-e1fff: Etherboot ROM
(XEN) HVM1:  eb000-eb209: SMBIOS tables
(XEN) HVM1:  f0000-fffff: Main BIOS
(XEN) HVM1: E820 table:
(XEN) HVM1:  [00]: 00000000:00000000 - 00000000:0009e000: RAM
(XEN) HVM1:  [01]: 00000000:0009e000 - 00000000:0009fc00: RESERVED
(XEN) HVM1:  [02]: 00000000:0009fc00 - 00000000:000a0000: RESERVED
(XEN) HVM1:  HOLE: 00000000:000a0000 - 00000000:000e0000
(XEN) HVM1:  [03]: 00000000:000e0000 - 00000000:00100000: RESERVED
(XEN) HVM1:  [04]: 00000000:00100000 - 00000000:e0000000: RAM
(XEN) HVM1:  HOLE: 00000000:e0000000 - 00000000:fc000000
(XEN) HVM1:  [05]: 00000000:fc000000 - 00000001:00000000: RESERVED
(XEN) HVM1:  [06]: 00000001:00000000 - 00000001:20000000: RAM
(XEN) HVM1: Invoking ROMBIOS ...
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Bochs BIOS - build: 06/23/99
(XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
(XEN) HVM1: Options: apmbios pcibios eltorito PMM 
(XEN) HVM1: 
(XEN) HVM1: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (20480 MBytes)
(XEN) HVM1: ata0-1: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM1: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (51200 MBytes)
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Hard Disk...
(XEN) HVM1: Booting from 0000:7c00
(XEN) irq.c:264: Dom1 PCI link 0 changed 5 -> 0
(XEN) irq.c:264: Dom1 PCI link 1 changed 10 -> 0
(XEN) irq.c:264: Dom1 PCI link 2 changed 11 -> 0
(XEN) irq.c:264: Dom1 PCI link 3 changed 5 -> 0
(XEN) domctl.c:995:d0 memory_map:remove: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:985:d0 memory_map:add: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) grant_table.c:1160:d1 Expanding dom (1) grant table from (4) to (32) frames.
(XEN) irq.c:330: Dom1 callback via changed to GSI 28
(XEN) domctl.c:995:d0 memory_map:remove: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:985:d0 memory_map:add: gfn=e0000 mfn=d0000 nr_mfns=10000
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1020 mfn=fe9e0 nr_mfns=20
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1069 mfn=f0000 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:985:d0 memory_map:add: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1060 mfn=fe9bc nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1064 mfn=fe3f8 nr_mfns=4
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1068 mfn=fe3f7 nr_mfns=1
(XEN) domctl.c:995:d0 memory_map:remove: gfn=f1069 mfn=f0000 nr_mfns=1

--Boundary-00=_bI9pPLDXbMX40PR
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--Boundary-00=_bI9pPLDXbMX40PR--


From xen-devel-bounces@lists.xen.org Mon May 07 13:49:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROJc-0005xn-US; Mon, 07 May 2012 13:49:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SROJb-0005xf-US
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:49:28 +0000
Received: from [85.158.143.35:58184] by server-2.bemta-4.messagelabs.com id
	94/00-17550-7E2D7AF4; Mon, 07 May 2012 13:49:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336398562!11824449!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE0MTE3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31380 invoked from network); 7 May 2012 13:49:23 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:49:23 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47DnBUU015175
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 13:49:11 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47DnA3V013134
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 13:49:10 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47DnAeS017322; Mon, 7 May 2012 08:49:10 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 06:49:10 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A033C4031D; Mon,  7 May 2012 09:43:21 -0400 (EDT)
Date: Mon, 7 May 2012 09:43:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Message-ID: <20120507134321.GA361@phenom.dumpdata.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
	<20120506090446.GU2058@reaktio.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120506090446.GU2058@reaktio.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] patches for v3.5-rc6.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, 2012 at 12:04:46PM +0300, Pasi K=E4rkk=E4inen wrote:
> On Fri, May 04, 2012 at 10:04:23AM -0400, Konrad Rzeszutek Wilk wrote:
> > Was thinking to push these patches to Linus for v3.5-rc6.
> > =

> =

> Hmm.. that probably should say for v3.4-rc6 ? :)

Yeah :-)
> =

> --  Pasi
> =

> >  arch/x86/xen/enlighten.c    |   40 +++++++++++++++++++++++++++++++++++=
+++--
> >  arch/x86/xen/mmu.c          |    7 ++++++-
> >  drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
> >  3 files changed, 59 insertions(+), 13 deletions(-)
> > =

> > David Vrabel (1):
> >       xen/pci: don't use PCI BIOS service for configuration space acces=
ses
> > =

> > Julia Lawall (1):
> >       drivers/video/xen-fbfront.c: add missing cleanup code
> > =

> > Konrad Rzeszutek Wilk (2):
> >       xen/apic: Return the APIC ID (and version) for CPU 0.
> >       xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/=
PTEs
> > =

> =

> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 13:49:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 13:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROJc-0005xn-US; Mon, 07 May 2012 13:49:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SROJb-0005xf-US
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:49:28 +0000
Received: from [85.158.143.35:58184] by server-2.bemta-4.messagelabs.com id
	94/00-17550-7E2D7AF4; Mon, 07 May 2012 13:49:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336398562!11824449!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE0MTE3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31380 invoked from network); 7 May 2012 13:49:23 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:49:23 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47DnBUU015175
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 13:49:11 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47DnA3V013134
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 13:49:10 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47DnAeS017322; Mon, 7 May 2012 08:49:10 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 06:49:10 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A033C4031D; Mon,  7 May 2012 09:43:21 -0400 (EDT)
Date: Mon, 7 May 2012 09:43:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Message-ID: <20120507134321.GA361@phenom.dumpdata.com>
References: <1336140267-7399-1-git-send-email-konrad.wilk@oracle.com>
	<20120506090446.GU2058@reaktio.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120506090446.GU2058@reaktio.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] patches for v3.5-rc6.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, 2012 at 12:04:46PM +0300, Pasi K=E4rkk=E4inen wrote:
> On Fri, May 04, 2012 at 10:04:23AM -0400, Konrad Rzeszutek Wilk wrote:
> > Was thinking to push these patches to Linus for v3.5-rc6.
> > =

> =

> Hmm.. that probably should say for v3.4-rc6 ? :)

Yeah :-)
> =

> --  Pasi
> =

> >  arch/x86/xen/enlighten.c    |   40 +++++++++++++++++++++++++++++++++++=
+++--
> >  arch/x86/xen/mmu.c          |    7 ++++++-
> >  drivers/video/xen-fbfront.c |   25 +++++++++++++++----------
> >  3 files changed, 59 insertions(+), 13 deletions(-)
> > =

> > David Vrabel (1):
> >       xen/pci: don't use PCI BIOS service for configuration space acces=
ses
> > =

> > Julia Lawall (1):
> >       drivers/video/xen-fbfront.c: add missing cleanup code
> > =

> > Konrad Rzeszutek Wilk (2):
> >       xen/apic: Return the APIC ID (and version) for CPU 0.
> >       xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/=
PTEs
> > =

> =

> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:00:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:00:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROTu-0006Fn-G8; Mon, 07 May 2012 14:00:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SROTt-0006Fi-5W
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:00:05 +0000
Received: from [85.158.138.51:53445] by server-7.bemta-3.messagelabs.com id
	A9/8E-03078-465D7AF4; Mon, 07 May 2012 14:00:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336399201!23902880!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE0MTE3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23838 invoked from network); 7 May 2012 14:00:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 14:00:03 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47DxxHm027637
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 14:00:00 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47DxxWt015496
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 13:59:59 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47DxxxU025427; Mon, 7 May 2012 08:59:59 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 06:59:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DFA4C4031D; Mon,  7 May 2012 09:54:10 -0400 (EDT)
Date: Mon, 7 May 2012 09:54:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
Message-ID: <20120507135410.GD361@phenom.dumpdata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> 
> > -----Original Message-----
> > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > Sent: Friday, May 04, 2012 9:21 PM
> > To: Hao, Xudong
> > Cc: xen-devel@lists.xensource.com
> > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> > by pciback
> > 
> > On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> > > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> > LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that
> > guest with device assigned can be benefitted.
> > >
> > > Changes from v1:
> > > - put the variable definition at the start of function
> > > - add error log report
> > >
> > 
> > Don't you need to disable this when the device is un-assigned from the guest?
> > 
> 
> I don't think this need to be disabled when device is un-assigned from guest. If host want to use device again, the host device driver need re-load, so whether disabling ltr/obff is up to host device driver.

What if the driver isn't doing that?
> 
> > > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > >
> > > diff --git a/drivers/xen/xen-pciback/pci_stub.c
> > b/drivers/xen/xen-pciback/pci_stub.c
> > > index 097e536..74fbf23 100644
> > > --- a/drivers/xen/xen-pciback/pci_stub.c
> > > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> > pci_dev *dev)
> > >  	struct xen_pcibk_dev_data *dev_data;
> > >  	int err = 0;
> > >
> > > +	/* set default value */
> > > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> > 
> > Why these values? Is there a way to fetch optimal values?
> 
> These values is the max value that the register supported. I've no idea to get an optimal value, here it just be set max value as default.

Is the max value defined somewhere? Can it be defined somewhere so that
both KVM adn the Xen patches re-use the same #define?

> 
> > > +
> > >  	dev_dbg(&dev->dev, "initializing...\n");
> > >
> > >  	/* The PCI backend is not intended to be a module (or to work with
> > > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> > pci_dev *dev)
> > >  	dev_dbg(&dev->dev, "reset device\n");
> > >  	xen_pcibk_reset_device(dev);
> > >
> > > +	/* Enable LTR and OBFF before do device assignment */
> > > +	/* LTR(Latency tolerance reporting) allows devices to send
> > > +	 * messages to the root complex indicating their latency tolerance
> > > +	 * for snooped & unsnooped memory transactions.
> > > +	 */
> > > +	err = pci_enable_ltr(dev);
> > > +	if (err)
> > > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> > > +
> > > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> > > +	if (err)
> > > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > > +
> > > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > > +	 * improve energy efficiency by giving devices information about
> > > +	 * when interrupts and other activity will have a reduced power
> > > +	 * impact.
> > > +	 */
> > > +	err = pci_enable_obff(dev, type);
> > > +	if (err)
> > > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > > +
> > >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> > >  	return 0;
> > >
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:00:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:00:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROTu-0006Fn-G8; Mon, 07 May 2012 14:00:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SROTt-0006Fi-5W
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:00:05 +0000
Received: from [85.158.138.51:53445] by server-7.bemta-3.messagelabs.com id
	A9/8E-03078-465D7AF4; Mon, 07 May 2012 14:00:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336399201!23902880!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE0MTE3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23838 invoked from network); 7 May 2012 14:00:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 14:00:03 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47DxxHm027637
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 14:00:00 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47DxxWt015496
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 13:59:59 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47DxxxU025427; Mon, 7 May 2012 08:59:59 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 06:59:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DFA4C4031D; Mon,  7 May 2012 09:54:10 -0400 (EDT)
Date: Mon, 7 May 2012 09:54:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
Message-ID: <20120507135410.GD361@phenom.dumpdata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> 
> > -----Original Message-----
> > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > Sent: Friday, May 04, 2012 9:21 PM
> > To: Hao, Xudong
> > Cc: xen-devel@lists.xensource.com
> > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> > by pciback
> > 
> > On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> > > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> > LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so that
> > guest with device assigned can be benefitted.
> > >
> > > Changes from v1:
> > > - put the variable definition at the start of function
> > > - add error log report
> > >
> > 
> > Don't you need to disable this when the device is un-assigned from the guest?
> > 
> 
> I don't think this need to be disabled when device is un-assigned from guest. If host want to use device again, the host device driver need re-load, so whether disabling ltr/obff is up to host device driver.

What if the driver isn't doing that?
> 
> > > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > >
> > > diff --git a/drivers/xen/xen-pciback/pci_stub.c
> > b/drivers/xen/xen-pciback/pci_stub.c
> > > index 097e536..74fbf23 100644
> > > --- a/drivers/xen/xen-pciback/pci_stub.c
> > > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> > pci_dev *dev)
> > >  	struct xen_pcibk_dev_data *dev_data;
> > >  	int err = 0;
> > >
> > > +	/* set default value */
> > > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> > 
> > Why these values? Is there a way to fetch optimal values?
> 
> These values is the max value that the register supported. I've no idea to get an optimal value, here it just be set max value as default.

Is the max value defined somewhere? Can it be defined somewhere so that
both KVM adn the Xen patches re-use the same #define?

> 
> > > +
> > >  	dev_dbg(&dev->dev, "initializing...\n");
> > >
> > >  	/* The PCI backend is not intended to be a module (or to work with
> > > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> > pci_dev *dev)
> > >  	dev_dbg(&dev->dev, "reset device\n");
> > >  	xen_pcibk_reset_device(dev);
> > >
> > > +	/* Enable LTR and OBFF before do device assignment */
> > > +	/* LTR(Latency tolerance reporting) allows devices to send
> > > +	 * messages to the root complex indicating their latency tolerance
> > > +	 * for snooped & unsnooped memory transactions.
> > > +	 */
> > > +	err = pci_enable_ltr(dev);
> > > +	if (err)
> > > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> > > +
> > > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> > > +	if (err)
> > > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > > +
> > > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > > +	 * improve energy efficiency by giving devices information about
> > > +	 * when interrupts and other activity will have a reduced power
> > > +	 * impact.
> > > +	 */
> > > +	err = pci_enable_obff(dev, type);
> > > +	if (err)
> > > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > > +
> > >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> > >  	return 0;
> > >
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:12:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:12:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROfj-0006eU-D7; Mon, 07 May 2012 14:12:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SROfi-0006eP-3N
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:12:18 +0000
Received: from [85.158.143.99:40046] by server-1.bemta-4.messagelabs.com id
	9D/79-20925-148D7AF4; Mon, 07 May 2012 14:12:17 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336399933!26513193!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12976 invoked from network); 7 May 2012 14:12:15 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-5.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 14:12:15 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SROfc-00014k-Cg
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 07:12:12 -0700
Date: Mon, 7 May 2012 07:12:12 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336399932385-5691153.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.15-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25259:0f53540494f7)
vi Makefile # removed dist-kernel to not compile kernel
vi Config.mk # test seabios unstable
PYTHON_PREFIX_ARG =
QEMU_UPSTREAM_URL ?= git://git.qemu.org/qemu.git #commit
8f473dd104f0937ce98523fa6f9de0bd845aebbe
SEABIOS_UPSTREAM_URL ?= git://git.seabios.org/seabios.git #commit
74f96123e7e37c219403b50e39dabc8e8c450948
SEABIOS_UPSTREAM_TAG ?= master
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb

-------------------------
Recent regression:
-------------
- CRITICAL - PV domU unable to start:
With pygrub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
-3
With pv-grub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
kernel is not a bzImage: Invalid kernel
Daemon running with PID 6136
Same error also with other linux pv domU.
-------------------------

-------------------------
Old issue:
- Save/restore not working with qemu-xen
-------------
- Unable to get QXL vga working correctly and with full videoram
-------------
- On hvm domU start, domU work also this output on xl create:
libxl: error: libxl.c:3115:libxl_sched_credit_domain_set: Cpu weight out of
range, valid values are within range from 1 to 65535
-------------------------

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:12:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:12:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROfj-0006eU-D7; Mon, 07 May 2012 14:12:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SROfi-0006eP-3N
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:12:18 +0000
Received: from [85.158.143.99:40046] by server-1.bemta-4.messagelabs.com id
	9D/79-20925-148D7AF4; Mon, 07 May 2012 14:12:17 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336399933!26513193!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12976 invoked from network); 7 May 2012 14:12:15 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-5.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 14:12:15 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SROfc-00014k-Cg
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 07:12:12 -0700
Date: Mon, 7 May 2012 07:12:12 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336399932385-5691153.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.15-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25259:0f53540494f7)
vi Makefile # removed dist-kernel to not compile kernel
vi Config.mk # test seabios unstable
PYTHON_PREFIX_ARG =
QEMU_UPSTREAM_URL ?= git://git.qemu.org/qemu.git #commit
8f473dd104f0937ce98523fa6f9de0bd845aebbe
SEABIOS_UPSTREAM_URL ?= git://git.seabios.org/seabios.git #commit
74f96123e7e37c219403b50e39dabc8e8c450948
SEABIOS_UPSTREAM_TAG ?= master
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb

-------------------------
Recent regression:
-------------
- CRITICAL - PV domU unable to start:
With pygrub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
-3
With pv-grub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
kernel is not a bzImage: Invalid kernel
Daemon running with PID 6136
Same error also with other linux pv domU.
-------------------------

-------------------------
Old issue:
- Save/restore not working with qemu-xen
-------------
- Unable to get QXL vga working correctly and with full videoram
-------------
- On hvm domU start, domU work also this output on xl create:
libxl: error: libxl.c:3115:libxl_sched_credit_domain_set: Cpu weight out of
range, valid values are within range from 1 to 65535
-------------------------

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROsg-0007RR-W5; Mon, 07 May 2012 14:25:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SROsg-0007RJ-6s
	for xen-devel@lists.xen.org; Mon, 07 May 2012 14:25:42 +0000
Received: from [85.158.143.35:23035] by server-2.bemta-4.messagelabs.com id
	F6/44-17550-56BD7AF4; Mon, 07 May 2012 14:25:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336400740!13529164!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11874 invoked from network); 7 May 2012 14:25:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 14:25:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 15:25:39 +0100
Message-Id: <4FA7F7810200007800082084@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 15:25:36 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2B05CE70.0__="
Subject: [Xen-devel] [PATCH] x86: merge .text.* into .text while linking
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2B05CE70.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

For xen.efi, this eliminates a pointless gap between .text and
.text.unlikely of almost 2Mb size.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -47,6 +47,8 @@ SECTIONS
   .text : {
         _stext =3D .;            /* Text and read-only data */
        *(.text)
+       *(.text.cold)
+       *(.text.unlikely)
        *(.fixup)
        *(.gnu.warning)
        _etext =3D .;             /* End of text section */




--=__Part2B05CE70.0__=
Content-Type: text/plain; name="x86-text-unlikely.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-text-unlikely.patch"

x86: merge .text.* into .text while linking=0A=0AFor xen.efi, this =
eliminates a pointless gap between .text and=0A.text.unlikely of almost =
2Mb size.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/xen.lds.S=0A+++ b/xen/arch/x86/xen.lds.S=0A@@ -47,6 +47,8 =
@@ SECTIONS=0A   .text : {=0A         _stext =3D .;            /* Text and =
read-only data */=0A        *(.text)=0A+       *(.text.cold)=0A+       =
*(.text.unlikely)=0A        *(.fixup)=0A        *(.gnu.warning)=0A        =
_etext =3D .;             /* End of text section */=0A
--=__Part2B05CE70.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2B05CE70.0__=--


From xen-devel-bounces@lists.xen.org Mon May 07 14:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SROsg-0007RR-W5; Mon, 07 May 2012 14:25:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SROsg-0007RJ-6s
	for xen-devel@lists.xen.org; Mon, 07 May 2012 14:25:42 +0000
Received: from [85.158.143.35:23035] by server-2.bemta-4.messagelabs.com id
	F6/44-17550-56BD7AF4; Mon, 07 May 2012 14:25:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336400740!13529164!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11874 invoked from network); 7 May 2012 14:25:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 14:25:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 15:25:39 +0100
Message-Id: <4FA7F7810200007800082084@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 15:25:36 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2B05CE70.0__="
Subject: [Xen-devel] [PATCH] x86: merge .text.* into .text while linking
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2B05CE70.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

For xen.efi, this eliminates a pointless gap between .text and
.text.unlikely of almost 2Mb size.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -47,6 +47,8 @@ SECTIONS
   .text : {
         _stext =3D .;            /* Text and read-only data */
        *(.text)
+       *(.text.cold)
+       *(.text.unlikely)
        *(.fixup)
        *(.gnu.warning)
        _etext =3D .;             /* End of text section */




--=__Part2B05CE70.0__=
Content-Type: text/plain; name="x86-text-unlikely.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-text-unlikely.patch"

x86: merge .text.* into .text while linking=0A=0AFor xen.efi, this =
eliminates a pointless gap between .text and=0A.text.unlikely of almost =
2Mb size.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/xen.lds.S=0A+++ b/xen/arch/x86/xen.lds.S=0A@@ -47,6 +47,8 =
@@ SECTIONS=0A   .text : {=0A         _stext =3D .;            /* Text and =
read-only data */=0A        *(.text)=0A+       *(.text.cold)=0A+       =
*(.text.unlikely)=0A        *(.fixup)=0A        *(.gnu.warning)=0A        =
_etext =3D .;             /* End of text section */=0A
--=__Part2B05CE70.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2B05CE70.0__=--


From xen-devel-bounces@lists.xen.org Mon May 07 14:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRP8y-0007qQ-O9; Mon, 07 May 2012 14:42:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRP8w-0007qL-M0
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:42:30 +0000
Received: from [85.158.138.51:23021] by server-12.bemta-3.messagelabs.com id
	37/72-29760-55FD7AF4; Mon, 07 May 2012 14:42:29 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336401748!17779527!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22596 invoked from network); 7 May 2012 14:42:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 14:42:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12332094"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 14:41:50 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	15:41:49 +0100
Message-ID: <4FA7DF2B.3020000@citrix.com>
Date: Mon, 7 May 2012 15:41:47 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
In-Reply-To: <4FA7EB80020000780008204B@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 14:34, Jan Beulich wrote:
>>>> On 07.05.12 at 13:50, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 07/05/2012 09:10, Jan Beulich wrote:
>>>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
>>>> (XEN) *** IRQ BUG found ***
>>>> (XEN) CPU0 -Testing vector 236 from bitmap
>>> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
>>> in through the 8259A. Something fundamentally fishy must be going
>>> on here, and I would suppose the code in question shouldn't even be
>>> reached for legacy vectors.
>>>
>>> Furthermore, calling dump_irqs() from the debugging code with
>>> desc->lock still held makes it impossible to get full output, as that
>>> function wants to lock all initialized IRQ descriptors.
>> Yes - it has been vector 236 on each of the 3 reported failures from AP,
>> and I believe it was also vector 236 in the one case I managed to
>> reproduce the issue.
>>
>> However, once we have set up the IO-APIC, the 8259A should not be used
>> any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
>> was going to be my first suggestion), and that EOI Broadcast Suppression
>> is enabled, which I have already identified as a source of problems for
>> some customers.  As a 'fix', I provided the ability for
>> "io_ack_method=new" to prevent EOI Broadcast Suppression being enabled. 
>> This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
>> completely fixed the customer problems - just made it substantially more
>> rare.
>>
>> AP: Can you manually invoke the 'i' debug key and provide that - it will
>> help to see how Xen is setting up the IO-APIC(s) on your system.
> Seeing the 'z' output might also be helpful, especially to see whether
> any of the IO-APICs' RTEs is an ExtINT one.
>
> Further, checking that no 8259A IRQ got (or was left) enabled for
> some reason might be useful as well (cached_irq_mask plus the raw
> port 0x21 and 0xA1 values).
>
> In any case the debugging code's locking should be fixed.
>
> Jan
>

It appears we have two functions to dump the IO-APIC state:
__print_IO_APIC() which gets called on boot and from 'z', and
dump_ioapic_irq_info() which gets called from the end of 'i'.  These
should probably be consolidated somehow.

As for the debugging, perhaps change the call to dump_irqs() with a call
to dump_ioapic_irq_info() instead.

Given that the legacy vectors cant migrate, is it wise including them in
the loop in irq_move_cleanup_interrupt()?  In fact, is it wise including
any vector above LAST_DYNAMIC_VECTOR?

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRP8y-0007qQ-O9; Mon, 07 May 2012 14:42:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRP8w-0007qL-M0
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:42:30 +0000
Received: from [85.158.138.51:23021] by server-12.bemta-3.messagelabs.com id
	37/72-29760-55FD7AF4; Mon, 07 May 2012 14:42:29 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336401748!17779527!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22596 invoked from network); 7 May 2012 14:42:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 14:42:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12332094"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 14:41:50 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	15:41:49 +0100
Message-ID: <4FA7DF2B.3020000@citrix.com>
Date: Mon, 7 May 2012 15:41:47 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
In-Reply-To: <4FA7EB80020000780008204B@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 14:34, Jan Beulich wrote:
>>>> On 07.05.12 at 13:50, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 07/05/2012 09:10, Jan Beulich wrote:
>>>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
>>>> (XEN) *** IRQ BUG found ***
>>>> (XEN) CPU0 -Testing vector 236 from bitmap
>>> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
>>> in through the 8259A. Something fundamentally fishy must be going
>>> on here, and I would suppose the code in question shouldn't even be
>>> reached for legacy vectors.
>>>
>>> Furthermore, calling dump_irqs() from the debugging code with
>>> desc->lock still held makes it impossible to get full output, as that
>>> function wants to lock all initialized IRQ descriptors.
>> Yes - it has been vector 236 on each of the 3 reported failures from AP,
>> and I believe it was also vector 236 in the one case I managed to
>> reproduce the issue.
>>
>> However, once we have set up the IO-APIC, the 8259A should not be used
>> any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
>> was going to be my first suggestion), and that EOI Broadcast Suppression
>> is enabled, which I have already identified as a source of problems for
>> some customers.  As a 'fix', I provided the ability for
>> "io_ack_method=new" to prevent EOI Broadcast Suppression being enabled. 
>> This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
>> completely fixed the customer problems - just made it substantially more
>> rare.
>>
>> AP: Can you manually invoke the 'i' debug key and provide that - it will
>> help to see how Xen is setting up the IO-APIC(s) on your system.
> Seeing the 'z' output might also be helpful, especially to see whether
> any of the IO-APICs' RTEs is an ExtINT one.
>
> Further, checking that no 8259A IRQ got (or was left) enabled for
> some reason might be useful as well (cached_irq_mask plus the raw
> port 0x21 and 0xA1 values).
>
> In any case the debugging code's locking should be fixed.
>
> Jan
>

It appears we have two functions to dump the IO-APIC state:
__print_IO_APIC() which gets called on boot and from 'z', and
dump_ioapic_irq_info() which gets called from the end of 'i'.  These
should probably be consolidated somehow.

As for the debugging, perhaps change the call to dump_irqs() with a call
to dump_ioapic_irq_info() instead.

Given that the legacy vectors cant migrate, is it wise including them in
the loop in irq_move_cleanup_interrupt()?  In fact, is it wise including
any vector above LAST_DYNAMIC_VECTOR?

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:50:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPGN-0007zl-N7; Mon, 07 May 2012 14:50:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRPGM-0007zd-14
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:50:10 +0000
Received: from [85.158.143.35:3482] by server-2.bemta-4.messagelabs.com id
	AC/4A-17550-121E7AF4; Mon, 07 May 2012 14:50:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336402207!14442077!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14951 invoked from network); 7 May 2012 14:50:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 14:50:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 15:50:06 +0100
Message-Id: <4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 15:50:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
In-Reply-To: <4FA7DF2B.3020000@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> Given that the legacy vectors cant migrate, is it wise including them in
> the loop in irq_move_cleanup_interrupt()?  In fact, is it wise including
> any vector above LAST_DYNAMIC_VECTOR?

Likely not, but then again this is the final piece of moving an interrupt,
so there must have been something earlier that incorrectly initiated a
move. In other words, rather than fixing the loop here, we should
make sure execution can't even make it there for legacy vectors.

And of course this is irrespective of the fact that no legacy interrupt
should occur in the first place, unless this is a very strange system.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 14:50:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 14:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPGN-0007zl-N7; Mon, 07 May 2012 14:50:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRPGM-0007zd-14
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:50:10 +0000
Received: from [85.158.143.35:3482] by server-2.bemta-4.messagelabs.com id
	AC/4A-17550-121E7AF4; Mon, 07 May 2012 14:50:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336402207!14442077!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14951 invoked from network); 7 May 2012 14:50:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 14:50:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 15:50:06 +0100
Message-Id: <4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 15:50:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
In-Reply-To: <4FA7DF2B.3020000@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> Given that the legacy vectors cant migrate, is it wise including them in
> the loop in irq_move_cleanup_interrupt()?  In fact, is it wise including
> any vector above LAST_DYNAMIC_VECTOR?

Likely not, but then again this is the final piece of moving an interrupt,
so there must have been something earlier that incorrectly initiated a
move. In other words, rather than fixing the loop here, we should
make sure execution can't even make it there for legacy vectors.

And of course this is irrespective of the fact that no legacy interrupt
should occur in the first place, unless this is a very strange system.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:01:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:01:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPRG-0008C5-0e; Mon, 07 May 2012 15:01:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRPRE-0008C0-2X
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:01:24 +0000
Received: from [85.158.143.99:38800] by server-1.bemta-4.messagelabs.com id
	7D/96-20925-3C3E7AF4; Mon, 07 May 2012 15:01:23 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336402879!21599351!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11483 invoked from network); 7 May 2012 15:01:21 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 15:01:21 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRPR9-0006Mi-3h
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:01:19 -0700
Date: Mon, 7 May 2012 08:01:19 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336402879103-5691285.post@n5.nabble.com>
In-Reply-To: <1336132976402-5685659.post@n5.nabble.com>
References: <1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336132976402-5685659.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Fantu wrote
> 
> 
> Anthony PERARD-2 wrote
>> 
>> On Fri, May 4, 2012 at 9:28 AM, Ian Campbell &lt;Ian.Campbell@&gt; wrote:
>>> Anthony -- any idea why the videoram setting doesn't work with upstream
>>> qemu?
>> 
>> Well, the parameter could be pass to qemu qxl, but it's not yet. But
>> then, it seams you have to have this value of at least 32MB, otherwise
>> the value is increase in qemu.
>> 
>> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
>> size in qemu is fixed to 8MB.
>> 
>> -- 
>> Anthony PERARD
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@.xen
>> http://lists.xen.org/xen-devel
>> 
> I have already tried -global qxl-vga.vram_size for setting more videoram
> on qxl but not work,have always 4 mb, also with qemu-upstream unstable,
> the default code in qemu should have 64 mb and minimum 16 mb, why and
> where it sets 4 mb?
> Now I will try also with 1.1-rc0 and seabios 1.7.0.
> 
I did other tests with new build (see 
http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-td5691153.html
here  for detail)

Precise domU start but X crash, same error also with Wheezy with more update
package include qxl driver
Here some details:
-------------------------------
PRECISEHVM.cfg
--------
name='PRECISEHVM'
builder="hvm"
memory=1024
#maxmem=1536
vcpus=2
hap=1
pae=1
acpi=1
apic=1
nx=1
vif=['bridge=xenbr0']
#vfb=['vnc=1,vncunused=1,vnclisten="0.0.0.0",keymap="it"']
#disk=['/mnt/vm/disks/PRECISEHVM.disk1.xm,raw,hda,rw',
'/dev/sr0,raw,hdb,ro,cdrom']
disk=['/mnt/vm/disks/PRECISEHVM.disk1.xm,raw,hda,rw']
boot='c'
xen_platform_pci=1
device_model_version='qemu-xen'
#vnc=1
#vncunused=1
#vnclisten="0.0.0.0"
#keymap="it"
stdvga=0
spice=1
spicehost='0.0.0.0'
spiceport=6000
spicedisable_ticketing=1
#device_model_args=["-device","qxl-vga","-global","qxl-vga.vram_size=33554432"]
device_model_args=["-vga","qxl"]
videoram=128
-------------------------------
Full X log:  http://xen.1045712.n5.nabble.com/file/n5691285/Xorg.0.log
Xorg.0.log 

I also tried to remove videoram parameter but not start
-------------------------------
xl create /etc/xen/PRECISEHVM.cfg
Parsing config file /etc/xen/PRECISEHVM.cfg
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019dc88
  TOTAL:         0000000000000000->000000003f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000001fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl_qmp.c:687:libxl__qmp_initialize: Connection error:
Connection refused
libxl: error: libxl_exec.c:200:libxl__wait_for_offspring: Device Model died
during startup
libxl: error: libxl_create.c:709:do_domain_create: device model did not
start: -1
-------------------------------
/var/log/xen/qemu-dm-PRECISEHVM.log
-------------------------
do_spice_init: starting 0.10.1
spice_server_add_interface: SPICE_INTERFACE_MIGRATION
spice_server_add_interface: SPICE_INTERFACE_KEYBOARD
spice_server_add_interface: SPICE_INTERFACE_MOUSE
qemu: hardware error: xen: failed to populate ram at 3f800000
CPU #0:
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000633
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=0000fff0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =f000 ffff0000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000
XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000
XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000
XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000
XMM07=00000000000000000000000000000000
CPU #1:
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000633
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=0000fff0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=1
ES =0000 00000000 0000ffff 00009300
CS =f000 ffff0000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000
XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000
XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000
XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000
XMM07=00000000000000000000000000000000
-------------------------------

videoram seems reserve the ram and from X log QXL videoram seems to be at
correct size but probably qemu can't use it.

--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5691285.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:01:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:01:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPRG-0008C5-0e; Mon, 07 May 2012 15:01:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRPRE-0008C0-2X
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:01:24 +0000
Received: from [85.158.143.99:38800] by server-1.bemta-4.messagelabs.com id
	7D/96-20925-3C3E7AF4; Mon, 07 May 2012 15:01:23 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336402879!21599351!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11483 invoked from network); 7 May 2012 15:01:21 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 15:01:21 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRPR9-0006Mi-3h
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:01:19 -0700
Date: Mon, 7 May 2012 08:01:19 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336402879103-5691285.post@n5.nabble.com>
In-Reply-To: <1336132976402-5685659.post@n5.nabble.com>
References: <1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336132976402-5685659.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Fantu wrote
> 
> 
> Anthony PERARD-2 wrote
>> 
>> On Fri, May 4, 2012 at 9:28 AM, Ian Campbell &lt;Ian.Campbell@&gt; wrote:
>>> Anthony -- any idea why the videoram setting doesn't work with upstream
>>> qemu?
>> 
>> Well, the parameter could be pass to qemu qxl, but it's not yet. But
>> then, it seams you have to have this value of at least 32MB, otherwise
>> the value is increase in qemu.
>> 
>> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
>> size in qemu is fixed to 8MB.
>> 
>> -- 
>> Anthony PERARD
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@.xen
>> http://lists.xen.org/xen-devel
>> 
> I have already tried -global qxl-vga.vram_size for setting more videoram
> on qxl but not work,have always 4 mb, also with qemu-upstream unstable,
> the default code in qemu should have 64 mb and minimum 16 mb, why and
> where it sets 4 mb?
> Now I will try also with 1.1-rc0 and seabios 1.7.0.
> 
I did other tests with new build (see 
http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-td5691153.html
here  for detail)

Precise domU start but X crash, same error also with Wheezy with more update
package include qxl driver
Here some details:
-------------------------------
PRECISEHVM.cfg
--------
name='PRECISEHVM'
builder="hvm"
memory=1024
#maxmem=1536
vcpus=2
hap=1
pae=1
acpi=1
apic=1
nx=1
vif=['bridge=xenbr0']
#vfb=['vnc=1,vncunused=1,vnclisten="0.0.0.0",keymap="it"']
#disk=['/mnt/vm/disks/PRECISEHVM.disk1.xm,raw,hda,rw',
'/dev/sr0,raw,hdb,ro,cdrom']
disk=['/mnt/vm/disks/PRECISEHVM.disk1.xm,raw,hda,rw']
boot='c'
xen_platform_pci=1
device_model_version='qemu-xen'
#vnc=1
#vncunused=1
#vnclisten="0.0.0.0"
#keymap="it"
stdvga=0
spice=1
spicehost='0.0.0.0'
spiceport=6000
spicedisable_ticketing=1
#device_model_args=["-device","qxl-vga","-global","qxl-vga.vram_size=33554432"]
device_model_args=["-vga","qxl"]
videoram=128
-------------------------------
Full X log:  http://xen.1045712.n5.nabble.com/file/n5691285/Xorg.0.log
Xorg.0.log 

I also tried to remove videoram parameter but not start
-------------------------------
xl create /etc/xen/PRECISEHVM.cfg
Parsing config file /etc/xen/PRECISEHVM.cfg
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019dc88
  TOTAL:         0000000000000000->000000003f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000001fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl_qmp.c:687:libxl__qmp_initialize: Connection error:
Connection refused
libxl: error: libxl_exec.c:200:libxl__wait_for_offspring: Device Model died
during startup
libxl: error: libxl_create.c:709:do_domain_create: device model did not
start: -1
-------------------------------
/var/log/xen/qemu-dm-PRECISEHVM.log
-------------------------
do_spice_init: starting 0.10.1
spice_server_add_interface: SPICE_INTERFACE_MIGRATION
spice_server_add_interface: SPICE_INTERFACE_KEYBOARD
spice_server_add_interface: SPICE_INTERFACE_MOUSE
qemu: hardware error: xen: failed to populate ram at 3f800000
CPU #0:
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000633
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=0000fff0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =f000 ffff0000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000
XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000
XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000
XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000
XMM07=00000000000000000000000000000000
CPU #1:
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000633
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=0000fff0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=1
ES =0000 00000000 0000ffff 00009300
CS =f000 ffff0000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000
XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000
XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000
XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000
XMM07=00000000000000000000000000000000
-------------------------------

videoram seems reserve the ram and from X log QXL videoram seems to be at
correct size but probably qemu can't use it.

--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5691285.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:14:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:14:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPdm-0008RR-N5; Mon, 07 May 2012 15:14:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRPdl-0008RM-Cd
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:14:21 +0000
Received: from [85.158.139.83:9200] by server-11.bemta-5.messagelabs.com id
	22/FE-12959-CC6E7AF4; Mon, 07 May 2012 15:14:20 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336403659!26590446!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18736 invoked from network); 7 May 2012 15:14:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:14:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 15:54:08 +0100
Message-Id: <4FA7FE2C02000078000820A6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 15:54:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
In-Reply-To: <4FA7DF2B.3020000@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> It appears we have two functions to dump the IO-APIC state:
> __print_IO_APIC() which gets called on boot and from 'z', and
> dump_ioapic_irq_info() which gets called from the end of 'i'.  These
> should probably be consolidated somehow.

Rather not - 'z' provides information on the IO-APIC that isn't
directly related to specific interrupts, while 'i' (when it comes to
the IO-APIC) is exclusively interested in the RTEs. Unless
dump_ioapic_irq_info() is _fully_ redundant with 'z' (didn't check
in detail yet), in which case I'd vote for removing this function.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:14:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:14:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPdm-0008RR-N5; Mon, 07 May 2012 15:14:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRPdl-0008RM-Cd
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:14:21 +0000
Received: from [85.158.139.83:9200] by server-11.bemta-5.messagelabs.com id
	22/FE-12959-CC6E7AF4; Mon, 07 May 2012 15:14:20 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336403659!26590446!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18736 invoked from network); 7 May 2012 15:14:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:14:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 15:54:08 +0100
Message-Id: <4FA7FE2C02000078000820A6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 15:54:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
In-Reply-To: <4FA7DF2B.3020000@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> It appears we have two functions to dump the IO-APIC state:
> __print_IO_APIC() which gets called on boot and from 'z', and
> dump_ioapic_irq_info() which gets called from the end of 'i'.  These
> should probably be consolidated somehow.

Rather not - 'z' provides information on the IO-APIC that isn't
directly related to specific interrupts, while 'i' (when it comes to
the IO-APIC) is exclusively interested in the RTEs. Unless
dump_ioapic_irq_info() is _fully_ redundant with 'z' (didn't check
in detail yet), in which case I'd vote for removing this function.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:29:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPsO-0000A3-67; Mon, 07 May 2012 15:29:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRPsN-00009y-FV
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:29:27 +0000
Received: from [85.158.143.35:50842] by server-1.bemta-4.messagelabs.com id
	40/5E-20925-65AE7AF4; Mon, 07 May 2012 15:29:26 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336404565!14446213!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17077 invoked from network); 7 May 2012 15:29:26 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:29:26 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 16:29:25 +0100
Message-Id: <4FA8067302000078000820E4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 16:29:23 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2907CC43.0__="
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] ns16550: adjust suspend/resume logic
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2907CC43.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- no need to read BAR during suspend
- command register is 16-bits rather than 32
- BAR and command register must be restored before trying to access
  the device
- use ps_bdf[] for storing the device coordinates (pb_bdf[] is used to
  store the bridge's ones)

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -49,7 +49,9 @@ static struct ns16550 {
     unsigned int ps_bdf[3]; /* pci serial port BDF */
     bool_t pb_bdf_enable;   /* if =3D1, pb-bdf effective, port behind =
bridge */
     bool_t ps_bdf_enable;   /* if =3D1, ps_bdf effective, port on pci =
card */
-    int bar, cr, bar_idx;
+    u32 bar;
+    u16 cr;
+    u8 bar_idx;
 } ns16550_com[2] =3D { { 0 } };
=20
 /* Register offsets */
@@ -324,30 +326,24 @@ static void ns16550_suspend(struct seria
     stop_timer(&uart->timer);
=20
     if ( uart->bar )
-    {
-       uart->bar =3D pci_conf_read32(
-           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
-           PCI_BASE_ADDRESS_0 + uart->bar_idx*4);
-       uart->cr =3D pci_conf_read32(
-           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
-           PCI_COMMAND);
-    }
+       uart->cr =3D pci_conf_read16(0, uart->ps_bdf[0], uart->ps_bdf[1],
+                                  uart->ps_bdf[2], PCI_COMMAND);
 }
=20
 static void ns16550_resume(struct serial_port *port)
 {
     struct ns16550 *uart =3D port->uart;
=20
-    ns16550_setup_preirq(port->uart);
-    ns16550_setup_postirq(port->uart);
-
     if ( uart->bar )
     {
-       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[=
2],
+       pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[=
2],
                         PCI_BASE_ADDRESS_0 + uart->bar_idx*4, uart->bar);
-       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[=
2],
+       pci_conf_write16(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[=
2],
                         PCI_COMMAND, uart->cr);
     }
+
+    ns16550_setup_preirq(port->uart);
+    ns16550_setup_postirq(port->uart);
 }
=20
 #ifdef CONFIG_X86
@@ -483,9 +479,9 @@ pci_uart_config (struct ns16550 *uart, i
                 if ( (len & 0xffff) !=3D 0xfff9 )
                     continue;
=20
-                uart->pb_bdf[0] =3D b;
-                uart->pb_bdf[1] =3D d;
-                uart->pb_bdf[2] =3D f;
+                uart->ps_bdf[0] =3D b;
+                uart->ps_bdf[1] =3D d;
+                uart->ps_bdf[2] =3D f;
                 uart->bar =3D bar;
                 uart->bar_idx =3D bar_idx;
                 uart->io_base =3D bar & 0xfffe;



--=__Part2907CC43.0__=
Content-Type: text/plain; name="sercon-ns16550-suspend.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ns16550-suspend.patch"

ns16550: adjust suspend/resume logic=0A=0A- no need to read BAR during =
suspend=0A- command register is 16-bits rather than 32=0A- BAR and command =
register must be restored before trying to access=0A  the device=0A- use =
ps_bdf[] for storing the device coordinates (pb_bdf[] is used to=0A  store =
the bridge's ones)=0A=0A--- a/xen/drivers/char/ns16550.c=0A+++ b/xen/driver=
s/char/ns16550.c=0A@@ -49,7 +49,9 @@ static struct ns16550 {=0A     =
unsigned int ps_bdf[3]; /* pci serial port BDF */=0A     bool_t pb_bdf_enab=
le;   /* if =3D1, pb-bdf effective, port behind bridge */=0A     bool_t =
ps_bdf_enable;   /* if =3D1, ps_bdf effective, port on pci card */=0A-    =
int bar, cr, bar_idx;=0A+    u32 bar;=0A+    u16 cr;=0A+    u8 bar_idx;=0A =
} ns16550_com[2] =3D { { 0 } };=0A =0A /* Register offsets */=0A@@ -324,30 =
+326,24 @@ static void ns16550_suspend(struct seria=0A     stop_timer(&uart=
->timer);=0A =0A     if ( uart->bar )=0A-    {=0A-       uart->bar =3D =
pci_conf_read32(=0A-           0, uart->pb_bdf[0], uart->pb_bdf[1], =
uart->pb_bdf[2],=0A-           PCI_BASE_ADDRESS_0 + uart->bar_idx*4);=0A-  =
     uart->cr =3D pci_conf_read32(=0A-           0, uart->pb_bdf[0], =
uart->pb_bdf[1], uart->pb_bdf[2],=0A-           PCI_COMMAND);=0A-    }=0A+ =
      uart->cr =3D pci_conf_read16(0, uart->ps_bdf[0], uart->ps_bdf[1],=0A+=
                                  uart->ps_bdf[2], PCI_COMMAND);=0A }=0A =
=0A static void ns16550_resume(struct serial_port *port)=0A {=0A     =
struct ns16550 *uart =3D port->uart;=0A =0A-    ns16550_setup_preirq(port->=
uart);=0A-    ns16550_setup_postirq(port->uart);=0A-=0A     if ( uart->bar =
)=0A     {=0A-       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], =
uart->pb_bdf[2],=0A+       pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bd=
f[1], uart->ps_bdf[2],=0A                         PCI_BASE_ADDRESS_0 + =
uart->bar_idx*4, uart->bar);=0A-       pci_conf_write32(0, uart->pb_bdf[0],=
 uart->pb_bdf[1], uart->pb_bdf[2],=0A+       pci_conf_write16(0, uart->ps_b=
df[0], uart->ps_bdf[1], uart->ps_bdf[2],=0A                         =
PCI_COMMAND, uart->cr);=0A     }=0A+=0A+    ns16550_setup_preirq(port->uart=
);=0A+    ns16550_setup_postirq(port->uart);=0A }=0A =0A #ifdef CONFIG_X86=
=0A@@ -483,9 +479,9 @@ pci_uart_config (struct ns16550 *uart, i=0A         =
        if ( (len & 0xffff) !=3D 0xfff9 )=0A                     =
continue;=0A =0A-                uart->pb_bdf[0] =3D b;=0A-                =
uart->pb_bdf[1] =3D d;=0A-                uart->pb_bdf[2] =3D f;=0A+       =
         uart->ps_bdf[0] =3D b;=0A+                uart->ps_bdf[1] =3D =
d;=0A+                uart->ps_bdf[2] =3D f;=0A                 uart->bar =
=3D bar;=0A                 uart->bar_idx =3D bar_idx;=0A                 =
uart->io_base =3D bar & 0xfffe;=0A
--=__Part2907CC43.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2907CC43.0__=--


From xen-devel-bounces@lists.xen.org Mon May 07 15:29:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPsO-0000A3-67; Mon, 07 May 2012 15:29:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRPsN-00009y-FV
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:29:27 +0000
Received: from [85.158.143.35:50842] by server-1.bemta-4.messagelabs.com id
	40/5E-20925-65AE7AF4; Mon, 07 May 2012 15:29:26 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336404565!14446213!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17077 invoked from network); 7 May 2012 15:29:26 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:29:26 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 16:29:25 +0100
Message-Id: <4FA8067302000078000820E4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 16:29:23 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2907CC43.0__="
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] ns16550: adjust suspend/resume logic
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2907CC43.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- no need to read BAR during suspend
- command register is 16-bits rather than 32
- BAR and command register must be restored before trying to access
  the device
- use ps_bdf[] for storing the device coordinates (pb_bdf[] is used to
  store the bridge's ones)

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -49,7 +49,9 @@ static struct ns16550 {
     unsigned int ps_bdf[3]; /* pci serial port BDF */
     bool_t pb_bdf_enable;   /* if =3D1, pb-bdf effective, port behind =
bridge */
     bool_t ps_bdf_enable;   /* if =3D1, ps_bdf effective, port on pci =
card */
-    int bar, cr, bar_idx;
+    u32 bar;
+    u16 cr;
+    u8 bar_idx;
 } ns16550_com[2] =3D { { 0 } };
=20
 /* Register offsets */
@@ -324,30 +326,24 @@ static void ns16550_suspend(struct seria
     stop_timer(&uart->timer);
=20
     if ( uart->bar )
-    {
-       uart->bar =3D pci_conf_read32(
-           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
-           PCI_BASE_ADDRESS_0 + uart->bar_idx*4);
-       uart->cr =3D pci_conf_read32(
-           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
-           PCI_COMMAND);
-    }
+       uart->cr =3D pci_conf_read16(0, uart->ps_bdf[0], uart->ps_bdf[1],
+                                  uart->ps_bdf[2], PCI_COMMAND);
 }
=20
 static void ns16550_resume(struct serial_port *port)
 {
     struct ns16550 *uart =3D port->uart;
=20
-    ns16550_setup_preirq(port->uart);
-    ns16550_setup_postirq(port->uart);
-
     if ( uart->bar )
     {
-       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[=
2],
+       pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[=
2],
                         PCI_BASE_ADDRESS_0 + uart->bar_idx*4, uart->bar);
-       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[=
2],
+       pci_conf_write16(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[=
2],
                         PCI_COMMAND, uart->cr);
     }
+
+    ns16550_setup_preirq(port->uart);
+    ns16550_setup_postirq(port->uart);
 }
=20
 #ifdef CONFIG_X86
@@ -483,9 +479,9 @@ pci_uart_config (struct ns16550 *uart, i
                 if ( (len & 0xffff) !=3D 0xfff9 )
                     continue;
=20
-                uart->pb_bdf[0] =3D b;
-                uart->pb_bdf[1] =3D d;
-                uart->pb_bdf[2] =3D f;
+                uart->ps_bdf[0] =3D b;
+                uart->ps_bdf[1] =3D d;
+                uart->ps_bdf[2] =3D f;
                 uart->bar =3D bar;
                 uart->bar_idx =3D bar_idx;
                 uart->io_base =3D bar & 0xfffe;



--=__Part2907CC43.0__=
Content-Type: text/plain; name="sercon-ns16550-suspend.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ns16550-suspend.patch"

ns16550: adjust suspend/resume logic=0A=0A- no need to read BAR during =
suspend=0A- command register is 16-bits rather than 32=0A- BAR and command =
register must be restored before trying to access=0A  the device=0A- use =
ps_bdf[] for storing the device coordinates (pb_bdf[] is used to=0A  store =
the bridge's ones)=0A=0A--- a/xen/drivers/char/ns16550.c=0A+++ b/xen/driver=
s/char/ns16550.c=0A@@ -49,7 +49,9 @@ static struct ns16550 {=0A     =
unsigned int ps_bdf[3]; /* pci serial port BDF */=0A     bool_t pb_bdf_enab=
le;   /* if =3D1, pb-bdf effective, port behind bridge */=0A     bool_t =
ps_bdf_enable;   /* if =3D1, ps_bdf effective, port on pci card */=0A-    =
int bar, cr, bar_idx;=0A+    u32 bar;=0A+    u16 cr;=0A+    u8 bar_idx;=0A =
} ns16550_com[2] =3D { { 0 } };=0A =0A /* Register offsets */=0A@@ -324,30 =
+326,24 @@ static void ns16550_suspend(struct seria=0A     stop_timer(&uart=
->timer);=0A =0A     if ( uart->bar )=0A-    {=0A-       uart->bar =3D =
pci_conf_read32(=0A-           0, uart->pb_bdf[0], uart->pb_bdf[1], =
uart->pb_bdf[2],=0A-           PCI_BASE_ADDRESS_0 + uart->bar_idx*4);=0A-  =
     uart->cr =3D pci_conf_read32(=0A-           0, uart->pb_bdf[0], =
uart->pb_bdf[1], uart->pb_bdf[2],=0A-           PCI_COMMAND);=0A-    }=0A+ =
      uart->cr =3D pci_conf_read16(0, uart->ps_bdf[0], uart->ps_bdf[1],=0A+=
                                  uart->ps_bdf[2], PCI_COMMAND);=0A }=0A =
=0A static void ns16550_resume(struct serial_port *port)=0A {=0A     =
struct ns16550 *uart =3D port->uart;=0A =0A-    ns16550_setup_preirq(port->=
uart);=0A-    ns16550_setup_postirq(port->uart);=0A-=0A     if ( uart->bar =
)=0A     {=0A-       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], =
uart->pb_bdf[2],=0A+       pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bd=
f[1], uart->ps_bdf[2],=0A                         PCI_BASE_ADDRESS_0 + =
uart->bar_idx*4, uart->bar);=0A-       pci_conf_write32(0, uart->pb_bdf[0],=
 uart->pb_bdf[1], uart->pb_bdf[2],=0A+       pci_conf_write16(0, uart->ps_b=
df[0], uart->ps_bdf[1], uart->ps_bdf[2],=0A                         =
PCI_COMMAND, uart->cr);=0A     }=0A+=0A+    ns16550_setup_preirq(port->uart=
);=0A+    ns16550_setup_postirq(port->uart);=0A }=0A =0A #ifdef CONFIG_X86=
=0A@@ -483,9 +479,9 @@ pci_uart_config (struct ns16550 *uart, i=0A         =
        if ( (len & 0xffff) !=3D 0xfff9 )=0A                     =
continue;=0A =0A-                uart->pb_bdf[0] =3D b;=0A-                =
uart->pb_bdf[1] =3D d;=0A-                uart->pb_bdf[2] =3D f;=0A+       =
         uart->ps_bdf[0] =3D b;=0A+                uart->ps_bdf[1] =3D =
d;=0A+                uart->ps_bdf[2] =3D f;=0A                 uart->bar =
=3D bar;=0A                 uart->bar_idx =3D bar_idx;=0A                 =
uart->io_base =3D bar & 0xfffe;=0A
--=__Part2907CC43.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2907CC43.0__=--


From xen-devel-bounces@lists.xen.org Mon May 07 15:36:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:36:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPzA-0000Ny-MV; Mon, 07 May 2012 15:36:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SRPz9-0000Nk-2C
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:36:27 +0000
Received: from [85.158.143.99:32460] by server-3.bemta-4.messagelabs.com id
	B0/35-05853-AFBE7AF4; Mon, 07 May 2012 15:36:26 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336404984!26523681!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23987 invoked from network); 7 May 2012 15:36:25 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-5.tower-216.messagelabs.com with SMTP;
	7 May 2012 15:36:25 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q47FaMnV004882
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 11:36:22 -0400
Message-ID: <4FA7EBF6.6040204@theshore.net>
Date: Mon, 07 May 2012 11:36:22 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xen: 4.1.3-rc1-pre (xenbits @ 23285)
Dom0: 3.2.6 PAE and 3.3.4 PAE

We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove loop 
deployed to a few dozen boxes will hit it quite reliably within a short 
time.  This happens on both an older LVM userspace and newest, and in 
production we have seen this hit on lvremove, lvrename, and lvdelete.

#!/bin/bash
while true; do
    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
done

BUG: unable to handle kernel paging request at bffff628
IP: [<c10ebc58>] __page_check_address+0xb8/0x170
*pdpt = 0000000003cfb027 *pde = 0000000013873067 *pte = 0000000000000000
Oops: 0000 [#1] SMP
Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6 ebt_ip 
ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
Pid: 27902, comm: lvremove Not tainted 3.2.6-1 #1 Supermicro X8DT6/X8DT6
EIP: 0061:[<c10ebc58>] EFLAGS: 00010246 CPU: 6
EIP is at __page_check_address+0xb8/0x170
EAX: bffff000 EBX: cbf76dd8 ECX: 00000000 EDX: 00000000
ESI: bffff628 EDI: e49ed900 EBP: c80ffe60 ESP: c80ffe4c
  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069
Process lvremove (pid: 27902, ti=c80fe000 task=d29adca0 task.ti=c80fe000)
Stack:
  e4205000 00000fff da9b6bc0 d0068dc0 e49ed900 c80ffe94 c10ec769 c80ffe84
  00000000 00000129 00000125 b76c5000 00000001 00000000 d0068c08 d0068dc0
  b76c5000 e49ed900 c80fff24 c10ecb73 00000002 00000005 35448025 c80ffec4
Call Trace:
  [<c10ec769>] try_to_unmap_one+0x29/0x310
  [<c10ecb73>] try_to_unmap_file+0x83/0x560
  [<c1005829>] ? xen_pte_val+0xb9/0x140
  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
  [<c10ed13c>] try_to_munlock+0x1c/0x40
  [<c10e7109>] munlock_vma_page+0x49/0x90
  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
  [<c10e7352>] mlock_fixup+0xc2/0x130
  [<c10e742c>] do_mlockall+0x6c/0x80
  [<c10e7469>] sys_munlockall+0x29/0x50
  [<c166f1d8>] sysenter_do_call+0x12/0x28
Code: ff c1 ee 09 81 e6 f8 0f 00 00 81 e1 ff 0f 00 00 0f ac ca 0c c1 e2 
05 03 55 ec 89 d0 e8 12 d3 f4 ff 8b 4d 0c 85 c9 8d 34 30 75 0c <f7> 06 
01 01 00 00 0f 84 84 00 00 00 8b 0d 00 0e 9b c1 89 4d f0
EIP: [<c10ebc58>] __page_check_address+0xb8/0x170 SS:ESP 0069:c80ffe4c
CR2: 00000000bffff628
---[ end trace 8039aeca9c19f5ab ]---
note: lvremove[27902] exited with preempt_count 1
BUG: scheduling while atomic: lvremove/27902/0x00000001
Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6 ebt_ip 
ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
Pid: 27902, comm: lvremove Tainted: G      D      3.2.6-1 #1
Call Trace:
  [<c1040fcd>] __schedule_bug+0x5d/0x70
  [<c1666fb9>] __schedule+0x679/0x830
  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
  [<c10a05fc>] ? rcu_enter_nohz+0x3c/0x60
  [<c13b2070>] ? xen_evtchn_do_upcall+0x20/0x30
  [<c1001227>] ? hypercall_page+0x227/0x1000
  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
  [<c1667250>] schedule+0x30/0x50
  [<c166890d>] rwsem_down_failed_common+0x9d/0xf0
  [<c1668992>] rwsem_down_read_failed+0x12/0x14
  [<c1346b63>] call_rwsem_down_read_failed+0x7/0xc
  [<c166814d>] ? down_read+0xd/0x10
  [<c1086f9a>] acct_collect+0x3a/0x170
  [<c105028a>] do_exit+0x62a/0x7d0
  [<c104cb37>] ? kmsg_dump+0x37/0xc0
  [<c1669ac0>] oops_end+0x90/0xd0
  [<c1032dbe>] no_context+0xbe/0x190
  [<c1032f28>] __bad_area_nosemaphore+0x98/0x140
  [<c1008089>] ? xen_clocksource_read+0x19/0x20
  [<c10081f7>] ? xen_vcpuop_set_next_event+0x47/0x80
  [<c1032fe2>] bad_area_nosemaphore+0x12/0x20
  [<c166bc12>] do_page_fault+0x2d2/0x3f0
  [<c106e389>] ? hrtimer_interrupt+0x1a9/0x2b0
  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
  [<c1008294>] ? check_events+0x8/0xc
  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
  [<c1668a44>] ? _raw_spin_unlock_irqrestore+0x14/0x20
  [<c166b940>] ? spurious_fault+0x130/0x130
  [<c166932e>] error_code+0x5a/0x60
  [<c166b940>] ? spurious_fault+0x130/0x130
  [<c10ebc58>] ? __page_check_address+0xb8/0x170
  [<c10ec769>] try_to_unmap_one+0x29/0x310
  [<c10ecb73>] try_to_unmap_file+0x83/0x560
  [<c1005829>] ? xen_pte_val+0xb9/0x140
  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
  [<c10ed13c>] try_to_munlock+0x1c/0x40
  [<c10e7109>] munlock_vma_page+0x49/0x90
  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
  [<c10e7352>] mlock_fixup+0xc2/0x130
  [<c10e742c>] do_mlockall+0x6c/0x80
  [<c10e7469>] sys_munlockall+0x29/0x50
  [<c166f1d8>] sysenter_do_call+0x12/0x28

Thanks,
-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:36:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:36:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRPzA-0000Ny-MV; Mon, 07 May 2012 15:36:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SRPz9-0000Nk-2C
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:36:27 +0000
Received: from [85.158.143.99:32460] by server-3.bemta-4.messagelabs.com id
	B0/35-05853-AFBE7AF4; Mon, 07 May 2012 15:36:26 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336404984!26523681!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23987 invoked from network); 7 May 2012 15:36:25 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-5.tower-216.messagelabs.com with SMTP;
	7 May 2012 15:36:25 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q47FaMnV004882
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 11:36:22 -0400
Message-ID: <4FA7EBF6.6040204@theshore.net>
Date: Mon, 07 May 2012 11:36:22 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xen: 4.1.3-rc1-pre (xenbits @ 23285)
Dom0: 3.2.6 PAE and 3.3.4 PAE

We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove loop 
deployed to a few dozen boxes will hit it quite reliably within a short 
time.  This happens on both an older LVM userspace and newest, and in 
production we have seen this hit on lvremove, lvrename, and lvdelete.

#!/bin/bash
while true; do
    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
done

BUG: unable to handle kernel paging request at bffff628
IP: [<c10ebc58>] __page_check_address+0xb8/0x170
*pdpt = 0000000003cfb027 *pde = 0000000013873067 *pte = 0000000000000000
Oops: 0000 [#1] SMP
Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6 ebt_ip 
ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
Pid: 27902, comm: lvremove Not tainted 3.2.6-1 #1 Supermicro X8DT6/X8DT6
EIP: 0061:[<c10ebc58>] EFLAGS: 00010246 CPU: 6
EIP is at __page_check_address+0xb8/0x170
EAX: bffff000 EBX: cbf76dd8 ECX: 00000000 EDX: 00000000
ESI: bffff628 EDI: e49ed900 EBP: c80ffe60 ESP: c80ffe4c
  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069
Process lvremove (pid: 27902, ti=c80fe000 task=d29adca0 task.ti=c80fe000)
Stack:
  e4205000 00000fff da9b6bc0 d0068dc0 e49ed900 c80ffe94 c10ec769 c80ffe84
  00000000 00000129 00000125 b76c5000 00000001 00000000 d0068c08 d0068dc0
  b76c5000 e49ed900 c80fff24 c10ecb73 00000002 00000005 35448025 c80ffec4
Call Trace:
  [<c10ec769>] try_to_unmap_one+0x29/0x310
  [<c10ecb73>] try_to_unmap_file+0x83/0x560
  [<c1005829>] ? xen_pte_val+0xb9/0x140
  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
  [<c10ed13c>] try_to_munlock+0x1c/0x40
  [<c10e7109>] munlock_vma_page+0x49/0x90
  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
  [<c10e7352>] mlock_fixup+0xc2/0x130
  [<c10e742c>] do_mlockall+0x6c/0x80
  [<c10e7469>] sys_munlockall+0x29/0x50
  [<c166f1d8>] sysenter_do_call+0x12/0x28
Code: ff c1 ee 09 81 e6 f8 0f 00 00 81 e1 ff 0f 00 00 0f ac ca 0c c1 e2 
05 03 55 ec 89 d0 e8 12 d3 f4 ff 8b 4d 0c 85 c9 8d 34 30 75 0c <f7> 06 
01 01 00 00 0f 84 84 00 00 00 8b 0d 00 0e 9b c1 89 4d f0
EIP: [<c10ebc58>] __page_check_address+0xb8/0x170 SS:ESP 0069:c80ffe4c
CR2: 00000000bffff628
---[ end trace 8039aeca9c19f5ab ]---
note: lvremove[27902] exited with preempt_count 1
BUG: scheduling while atomic: lvremove/27902/0x00000001
Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6 ebt_ip 
ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
Pid: 27902, comm: lvremove Tainted: G      D      3.2.6-1 #1
Call Trace:
  [<c1040fcd>] __schedule_bug+0x5d/0x70
  [<c1666fb9>] __schedule+0x679/0x830
  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
  [<c10a05fc>] ? rcu_enter_nohz+0x3c/0x60
  [<c13b2070>] ? xen_evtchn_do_upcall+0x20/0x30
  [<c1001227>] ? hypercall_page+0x227/0x1000
  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
  [<c1667250>] schedule+0x30/0x50
  [<c166890d>] rwsem_down_failed_common+0x9d/0xf0
  [<c1668992>] rwsem_down_read_failed+0x12/0x14
  [<c1346b63>] call_rwsem_down_read_failed+0x7/0xc
  [<c166814d>] ? down_read+0xd/0x10
  [<c1086f9a>] acct_collect+0x3a/0x170
  [<c105028a>] do_exit+0x62a/0x7d0
  [<c104cb37>] ? kmsg_dump+0x37/0xc0
  [<c1669ac0>] oops_end+0x90/0xd0
  [<c1032dbe>] no_context+0xbe/0x190
  [<c1032f28>] __bad_area_nosemaphore+0x98/0x140
  [<c1008089>] ? xen_clocksource_read+0x19/0x20
  [<c10081f7>] ? xen_vcpuop_set_next_event+0x47/0x80
  [<c1032fe2>] bad_area_nosemaphore+0x12/0x20
  [<c166bc12>] do_page_fault+0x2d2/0x3f0
  [<c106e389>] ? hrtimer_interrupt+0x1a9/0x2b0
  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
  [<c1008294>] ? check_events+0x8/0xc
  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
  [<c1668a44>] ? _raw_spin_unlock_irqrestore+0x14/0x20
  [<c166b940>] ? spurious_fault+0x130/0x130
  [<c166932e>] error_code+0x5a/0x60
  [<c166b940>] ? spurious_fault+0x130/0x130
  [<c10ebc58>] ? __page_check_address+0xb8/0x170
  [<c10ec769>] try_to_unmap_one+0x29/0x310
  [<c10ecb73>] try_to_unmap_file+0x83/0x560
  [<c1005829>] ? xen_pte_val+0xb9/0x140
  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
  [<c10ed13c>] try_to_munlock+0x1c/0x40
  [<c10e7109>] munlock_vma_page+0x49/0x90
  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
  [<c10e7352>] mlock_fixup+0xc2/0x130
  [<c10e742c>] do_mlockall+0x6c/0x80
  [<c10e7469>] sys_munlockall+0x29/0x50
  [<c166f1d8>] sysenter_do_call+0x12/0x28

Thanks,
-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:40:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:40:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQ31-0000e5-BI; Mon, 07 May 2012 15:40:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRQ2z-0000dr-6N
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:40:25 +0000
Received: from [85.158.143.35:58972] by server-3.bemta-4.messagelabs.com id
	7E/18-05853-8ECE7AF4; Mon, 07 May 2012 15:40:24 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336405223!11813790!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29399 invoked from network); 7 May 2012 15:40:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:40:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12333463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 15:40:23 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	16:40:22 +0100
Message-ID: <4FA7ECE2.4080208@citrix.com>
Date: Mon, 7 May 2012 16:40:18 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
	<4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
In-Reply-To: <4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 15:50, Jan Beulich wrote:
>>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> Given that the legacy vectors cant migrate, is it wise including them in
>> the loop in irq_move_cleanup_interrupt()?  In fact, is it wise including
>> any vector above LAST_DYNAMIC_VECTOR?
> Likely not, but then again this is the final piece of moving an interrupt,
> so there must have been something earlier that incorrectly initiated a
> move. In other words, rather than fixing the loop here, we should
> make sure execution can't even make it there for legacy vectors.
>
> And of course this is irrespective of the fact that no legacy interrupt
> should occur in the first place, unless this is a very strange system.
>
> Jan
>

The only way to get to this point is if desc->arch.move_cleanup_count is
non 0, in which case, one of these functions:

hpet_msi_ack (hpet.c)
ack_edge_ioapic_irq (io_apci.c)
mask_and_ack_level_ioapic_irq (io_apic.c)
ack_nonmaskable_msi_irq (msi.c)
iommu_msi_mask (iommu_init.c)
dma_msi_mask (iommu.c)

has called irq_complete_move, after something has called
__assign_irq_vector() to move the irq to another CPU.

I would say something very fishy is going on - no desc used by any of
those functions should have a vector from the legacy region.

As for the loop, it is probably quite sensible to reduce that down to
LAST_DYNAMIC_VECTOR.  Leaving it at NR_VECTORS is just 32 wasted
iterations of the loop in interrupt context.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:40:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:40:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQ31-0000e5-BI; Mon, 07 May 2012 15:40:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRQ2z-0000dr-6N
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:40:25 +0000
Received: from [85.158.143.35:58972] by server-3.bemta-4.messagelabs.com id
	7E/18-05853-8ECE7AF4; Mon, 07 May 2012 15:40:24 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336405223!11813790!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29399 invoked from network); 7 May 2012 15:40:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:40:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12333463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 15:40:23 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	16:40:22 +0100
Message-ID: <4FA7ECE2.4080208@citrix.com>
Date: Mon, 7 May 2012 16:40:18 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
	<4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
In-Reply-To: <4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 15:50, Jan Beulich wrote:
>>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> Given that the legacy vectors cant migrate, is it wise including them in
>> the loop in irq_move_cleanup_interrupt()?  In fact, is it wise including
>> any vector above LAST_DYNAMIC_VECTOR?
> Likely not, but then again this is the final piece of moving an interrupt,
> so there must have been something earlier that incorrectly initiated a
> move. In other words, rather than fixing the loop here, we should
> make sure execution can't even make it there for legacy vectors.
>
> And of course this is irrespective of the fact that no legacy interrupt
> should occur in the first place, unless this is a very strange system.
>
> Jan
>

The only way to get to this point is if desc->arch.move_cleanup_count is
non 0, in which case, one of these functions:

hpet_msi_ack (hpet.c)
ack_edge_ioapic_irq (io_apci.c)
mask_and_ack_level_ioapic_irq (io_apic.c)
ack_nonmaskable_msi_irq (msi.c)
iommu_msi_mask (iommu_init.c)
dma_msi_mask (iommu.c)

has called irq_complete_move, after something has called
__assign_irq_vector() to move the irq to another CPU.

I would say something very fishy is going on - no desc used by any of
those functions should have a vector from the legacy region.

As for the loop, it is probably quite sensible to reduce that down to
LAST_DYNAMIC_VECTOR.  Leaving it at NR_VECTORS is just 32 wasted
iterations of the loop in interrupt context.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:43:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:43:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQ66-0000nr-Uz; Mon, 07 May 2012 15:43:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRQ66-0000nf-8V
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:43:38 +0000
Received: from [85.158.138.51:47703] by server-6.bemta-3.messagelabs.com id
	E8/DE-05145-9ADE7AF4; Mon, 07 May 2012 15:43:37 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336405416!23919138!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24810 invoked from network); 7 May 2012 15:43:36 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:43:36 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 16:43:35 +0100
Message-Id: <4FA809C40200007800082109@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 16:43:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
	<4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
	<4FA7ECE2.4080208@citrix.com>
In-Reply-To: <4FA7ECE2.4080208@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel DeGraaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 17:40, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> As for the loop, it is probably quite sensible to reduce that down to
> LAST_DYNAMIC_VECTOR.  Leaving it at NR_VECTORS is just 32 wasted
> iterations of the loop in interrupt context.

No, you can't leave there. You'd have to skip the legacy vectors, and
continue with the ones Xen itself may have in use.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:43:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:43:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQ66-0000nr-Uz; Mon, 07 May 2012 15:43:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRQ66-0000nf-8V
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:43:38 +0000
Received: from [85.158.138.51:47703] by server-6.bemta-3.messagelabs.com id
	E8/DE-05145-9ADE7AF4; Mon, 07 May 2012 15:43:37 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336405416!23919138!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24810 invoked from network); 7 May 2012 15:43:36 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:43:36 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 07 May 2012 16:43:35 +0100
Message-Id: <4FA809C40200007800082109@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 07 May 2012 16:43:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
	<4FA7FD3B02000078000820A3@nat28.tlf.novell.com>
	<4FA7ECE2.4080208@citrix.com>
In-Reply-To: <4FA7ECE2.4080208@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel DeGraaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 17:40, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> As for the loop, it is probably quite sensible to reduce that down to
> LAST_DYNAMIC_VECTOR.  Leaving it at NR_VECTORS is just 32 wasted
> iterations of the loop in interrupt context.

No, you can't leave there. You'd have to skip the legacy vectors, and
continue with the ones Xen itself may have in use.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:47:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:47:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQ9F-0000zA-He; Mon, 07 May 2012 15:46:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRQ9E-0000z3-0m
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:46:52 +0000
Received: from [85.158.138.51:6371] by server-6.bemta-3.messagelabs.com id
	CE/F1-05145-B6EE7AF4; Mon, 07 May 2012 15:46:51 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336405610!17789259!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12401 invoked from network); 7 May 2012 15:46:50 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:46:50 -0000
Received: by eaak12 with SMTP id k12so367809eaa.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 08:46:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=p6OlVU2h3qCKsIFJGj8JtPU8WZqgrcp97ZpMlbV3ixY=;
	b=LwTTElUsDfklbuELVbWtHR4tx6CB+u3JD/HZv9C8jUrIvCqVrn4Z0QPPoON3nrK2ys
	9e+PEt0UQEFt+9JzAM73+cNOg9aWvRi+ss9G6F5eBaUQ0cxglHiMuxWtztE/vT03Kbrj
	MYxnAdtKMmDo8HfhzIxYI7I7v2AwCIx+KIJEs3fqDqBKBuj965FLYlg8wo+YuRVu85at
	nJrGib+77lzWMnDm2QhktAVcn3Vdyc26UpvRlB+XTGz1g2PjLflY0/C8uHLcC6BlQmob
	vTe1rjMINTkr2MWJ4FOj+OTwX9gG6RRHlgvE2SdVFfRB6xoM0aef2FxRwwrBI+M5PjfE
	DtzA==
Received: by 10.14.123.197 with SMTP id v45mr2771297eeh.49.1336405609617;
	Mon, 07 May 2012 08:46:49 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm28241617eef.10.2012.05.07.08.46.48
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 08:46:48 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 16:46:45 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBCDACF5.327FE%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: merge .text.* into .text while linking
Thread-Index: Ac0saJrc+QT5oWA4R0S/SCXD4kDqtQ==
In-Reply-To: <4FA7F7810200007800082084@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: merge .text.* into .text while linking
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 15:25, "Jan Beulich" <JBeulich@suse.com> wrote:

> For xen.efi, this eliminates a pointless gap between .text and
> .text.unlikely of almost 2Mb size.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -47,6 +47,8 @@ SECTIONS
>    .text : {
>          _stext = .;            /* Text and read-only data */
>         *(.text)
> +       *(.text.cold)
> +       *(.text.unlikely)
>         *(.fixup)
>         *(.gnu.warning)
>         _etext = .;             /* End of text section */
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:47:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:47:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQ9F-0000zA-He; Mon, 07 May 2012 15:46:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRQ9E-0000z3-0m
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:46:52 +0000
Received: from [85.158.138.51:6371] by server-6.bemta-3.messagelabs.com id
	CE/F1-05145-B6EE7AF4; Mon, 07 May 2012 15:46:51 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336405610!17789259!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12401 invoked from network); 7 May 2012 15:46:50 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:46:50 -0000
Received: by eaak12 with SMTP id k12so367809eaa.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 08:46:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=p6OlVU2h3qCKsIFJGj8JtPU8WZqgrcp97ZpMlbV3ixY=;
	b=LwTTElUsDfklbuELVbWtHR4tx6CB+u3JD/HZv9C8jUrIvCqVrn4Z0QPPoON3nrK2ys
	9e+PEt0UQEFt+9JzAM73+cNOg9aWvRi+ss9G6F5eBaUQ0cxglHiMuxWtztE/vT03Kbrj
	MYxnAdtKMmDo8HfhzIxYI7I7v2AwCIx+KIJEs3fqDqBKBuj965FLYlg8wo+YuRVu85at
	nJrGib+77lzWMnDm2QhktAVcn3Vdyc26UpvRlB+XTGz1g2PjLflY0/C8uHLcC6BlQmob
	vTe1rjMINTkr2MWJ4FOj+OTwX9gG6RRHlgvE2SdVFfRB6xoM0aef2FxRwwrBI+M5PjfE
	DtzA==
Received: by 10.14.123.197 with SMTP id v45mr2771297eeh.49.1336405609617;
	Mon, 07 May 2012 08:46:49 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm28241617eef.10.2012.05.07.08.46.48
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 08:46:48 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 16:46:45 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBCDACF5.327FE%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: merge .text.* into .text while linking
Thread-Index: Ac0saJrc+QT5oWA4R0S/SCXD4kDqtQ==
In-Reply-To: <4FA7F7810200007800082084@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: merge .text.* into .text while linking
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 15:25, "Jan Beulich" <JBeulich@suse.com> wrote:

> For xen.efi, this eliminates a pointless gap between .text and
> .text.unlikely of almost 2Mb size.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -47,6 +47,8 @@ SECTIONS
>    .text : {
>          _stext = .;            /* Text and read-only data */
>         *(.text)
> +       *(.text.cold)
> +       *(.text.unlikely)
>         *(.fixup)
>         *(.gnu.warning)
>         _etext = .;             /* End of text section */
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:48:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQAB-00013f-WD; Mon, 07 May 2012 15:47:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRQAA-00013O-8G
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:47:50 +0000
Received: from [85.158.143.35:26645] by server-2.bemta-4.messagelabs.com id
	56/99-17550-5AEE7AF4; Mon, 07 May 2012 15:47:49 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336405659!11837597!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26126 invoked from network); 7 May 2012 15:47:40 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:47:40 -0000
Received: by eekc4 with SMTP id c4so1044947eek.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 08:47:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=i61ALCFS8s8UCmPIqX8m3tAZ8grcp2qlfaGy9/yaNVM=;
	b=xF1DQm6hteACZfXTXxLlUfPPTCnXq9hiVmK58dDHXxSOZQffXgJid8u1sUvpsgJ1c3
	KqsnjHPqkgGqg1gX8zDpoahyVEuaLbsNJyOLg7xZ69VC4LwQOuH8Xavxyr9ed2zmzXqT
	hXXWifmDRjCaw37MtWs6aY5LuGfho0wmELs+2U/FxhBSNdRkzaMloqgBekId+mDR5i5E
	qLwnQpQRxjL6D35XgadVFAEIhCr2ra0EK+dIya/G0vkg24ydZ/ovEyJAycRTucMh73ch
	h3M2g3XPEwHVYbllSBpKcBH6kRV/XrcaZH70Ejs89NbWDpcnMWe3/e1rtK00G6jFEhBb
	jHBw==
Received: by 10.14.119.77 with SMTP id m53mr1025721eeh.26.1336405658879;
	Mon, 07 May 2012 08:47:38 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm88029952eea.3.2012.05.07.08.47.36
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 08:47:38 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 16:47:34 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBCDAD26.327FF%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] ns16550: adjust suspend/resume logic
Thread-Index: Ac0saLgRxdLf8h6vpEmupahQ7+VHfQ==
In-Reply-To: <4FA8067302000078000820E4@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] ns16550: adjust suspend/resume logic
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 16:29, "Jan Beulich" <JBeulich@suse.com> wrote:

> - no need to read BAR during suspend
> - command register is 16-bits rather than 32
> - BAR and command register must be restored before trying to access
>   the device
> - use ps_bdf[] for storing the device coordinates (pb_bdf[] is used to
>   store the bridge's ones)

Looks good to me.

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -49,7 +49,9 @@ static struct ns16550 {
>      unsigned int ps_bdf[3]; /* pci serial port BDF */
>      bool_t pb_bdf_enable;   /* if =1, pb-bdf effective, port behind bridge */
>      bool_t ps_bdf_enable;   /* if =1, ps_bdf effective, port on pci card */
> -    int bar, cr, bar_idx;
> +    u32 bar;
> +    u16 cr;
> +    u8 bar_idx;
>  } ns16550_com[2] = { { 0 } };
>  
>  /* Register offsets */
> @@ -324,30 +326,24 @@ static void ns16550_suspend(struct seria
>      stop_timer(&uart->timer);
>  
>      if ( uart->bar )
> -    {
> -       uart->bar = pci_conf_read32(
> -           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> -           PCI_BASE_ADDRESS_0 + uart->bar_idx*4);
> -       uart->cr = pci_conf_read32(
> -           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> -           PCI_COMMAND);
> -    }
> +       uart->cr = pci_conf_read16(0, uart->ps_bdf[0], uart->ps_bdf[1],
> +                                  uart->ps_bdf[2], PCI_COMMAND);
>  }
>  
>  static void ns16550_resume(struct serial_port *port)
>  {
>      struct ns16550 *uart = port->uart;
>  
> -    ns16550_setup_preirq(port->uart);
> -    ns16550_setup_postirq(port->uart);
> -
>      if ( uart->bar )
>      {
> -       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> +       pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],
>                          PCI_BASE_ADDRESS_0 + uart->bar_idx*4, uart->bar);
> -       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> +       pci_conf_write16(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],
>                          PCI_COMMAND, uart->cr);
>      }
> +
> +    ns16550_setup_preirq(port->uart);
> +    ns16550_setup_postirq(port->uart);
>  }
>  
>  #ifdef CONFIG_X86
> @@ -483,9 +479,9 @@ pci_uart_config (struct ns16550 *uart, i
>                  if ( (len & 0xffff) != 0xfff9 )
>                      continue;
>  
> -                uart->pb_bdf[0] = b;
> -                uart->pb_bdf[1] = d;
> -                uart->pb_bdf[2] = f;
> +                uart->ps_bdf[0] = b;
> +                uart->ps_bdf[1] = d;
> +                uart->ps_bdf[2] = f;
>                  uart->bar = bar;
>                  uart->bar_idx = bar_idx;
>                  uart->io_base = bar & 0xfffe;
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:48:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQAB-00013f-WD; Mon, 07 May 2012 15:47:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRQAA-00013O-8G
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:47:50 +0000
Received: from [85.158.143.35:26645] by server-2.bemta-4.messagelabs.com id
	56/99-17550-5AEE7AF4; Mon, 07 May 2012 15:47:49 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336405659!11837597!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26126 invoked from network); 7 May 2012 15:47:40 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:47:40 -0000
Received: by eekc4 with SMTP id c4so1044947eek.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 08:47:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=i61ALCFS8s8UCmPIqX8m3tAZ8grcp2qlfaGy9/yaNVM=;
	b=xF1DQm6hteACZfXTXxLlUfPPTCnXq9hiVmK58dDHXxSOZQffXgJid8u1sUvpsgJ1c3
	KqsnjHPqkgGqg1gX8zDpoahyVEuaLbsNJyOLg7xZ69VC4LwQOuH8Xavxyr9ed2zmzXqT
	hXXWifmDRjCaw37MtWs6aY5LuGfho0wmELs+2U/FxhBSNdRkzaMloqgBekId+mDR5i5E
	qLwnQpQRxjL6D35XgadVFAEIhCr2ra0EK+dIya/G0vkg24ydZ/ovEyJAycRTucMh73ch
	h3M2g3XPEwHVYbllSBpKcBH6kRV/XrcaZH70Ejs89NbWDpcnMWe3/e1rtK00G6jFEhBb
	jHBw==
Received: by 10.14.119.77 with SMTP id m53mr1025721eeh.26.1336405658879;
	Mon, 07 May 2012 08:47:38 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm88029952eea.3.2012.05.07.08.47.36
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 08:47:38 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 16:47:34 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBCDAD26.327FF%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] ns16550: adjust suspend/resume logic
Thread-Index: Ac0saLgRxdLf8h6vpEmupahQ7+VHfQ==
In-Reply-To: <4FA8067302000078000820E4@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] ns16550: adjust suspend/resume logic
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 16:29, "Jan Beulich" <JBeulich@suse.com> wrote:

> - no need to read BAR during suspend
> - command register is 16-bits rather than 32
> - BAR and command register must be restored before trying to access
>   the device
> - use ps_bdf[] for storing the device coordinates (pb_bdf[] is used to
>   store the bridge's ones)

Looks good to me.

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -49,7 +49,9 @@ static struct ns16550 {
>      unsigned int ps_bdf[3]; /* pci serial port BDF */
>      bool_t pb_bdf_enable;   /* if =1, pb-bdf effective, port behind bridge */
>      bool_t ps_bdf_enable;   /* if =1, ps_bdf effective, port on pci card */
> -    int bar, cr, bar_idx;
> +    u32 bar;
> +    u16 cr;
> +    u8 bar_idx;
>  } ns16550_com[2] = { { 0 } };
>  
>  /* Register offsets */
> @@ -324,30 +326,24 @@ static void ns16550_suspend(struct seria
>      stop_timer(&uart->timer);
>  
>      if ( uart->bar )
> -    {
> -       uart->bar = pci_conf_read32(
> -           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> -           PCI_BASE_ADDRESS_0 + uart->bar_idx*4);
> -       uart->cr = pci_conf_read32(
> -           0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> -           PCI_COMMAND);
> -    }
> +       uart->cr = pci_conf_read16(0, uart->ps_bdf[0], uart->ps_bdf[1],
> +                                  uart->ps_bdf[2], PCI_COMMAND);
>  }
>  
>  static void ns16550_resume(struct serial_port *port)
>  {
>      struct ns16550 *uart = port->uart;
>  
> -    ns16550_setup_preirq(port->uart);
> -    ns16550_setup_postirq(port->uart);
> -
>      if ( uart->bar )
>      {
> -       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> +       pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],
>                          PCI_BASE_ADDRESS_0 + uart->bar_idx*4, uart->bar);
> -       pci_conf_write32(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf[2],
> +       pci_conf_write16(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],
>                          PCI_COMMAND, uart->cr);
>      }
> +
> +    ns16550_setup_preirq(port->uart);
> +    ns16550_setup_postirq(port->uart);
>  }
>  
>  #ifdef CONFIG_X86
> @@ -483,9 +479,9 @@ pci_uart_config (struct ns16550 *uart, i
>                  if ( (len & 0xffff) != 0xfff9 )
>                      continue;
>  
> -                uart->pb_bdf[0] = b;
> -                uart->pb_bdf[1] = d;
> -                uart->pb_bdf[2] = f;
> +                uart->ps_bdf[0] = b;
> +                uart->ps_bdf[1] = d;
> +                uart->ps_bdf[2] = f;
>                  uart->bar = bar;
>                  uart->bar_idx = bar_idx;
>                  uart->io_base = bar & 0xfffe;
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:48:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:48:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQAk-00018a-II; Mon, 07 May 2012 15:48:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRQAj-00018I-OQ
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:48:25 +0000
Received: from [85.158.143.99:50357] by server-2.bemta-4.messagelabs.com id
	40/0A-17550-8CEE7AF4; Mon, 07 May 2012 15:48:24 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336405703!17085417!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21430 invoked from network); 7 May 2012 15:48:24 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 15:48:24 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmwtM48/lq3M7qEP8j
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-084-057-075-125.pools.arcor-ip.net [84.57.75.125])
	by smtp.strato.de (jored mo9) (RZmta 29.5 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id m00268o47ElKGW ;
	Mon, 7 May 2012 17:48:20 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id E33FA18637; Mon,  7 May 2012 17:48:19 +0200 (CEST)
Date: Mon, 7 May 2012 17:48:19 +0200
From: Olaf Hering <olaf@aepfle.de>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Message-ID: <20120507154819.GA30760@aepfle.de>
References: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Kernel aio bug in Debian 2.6.32-5-xen kernel?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, George Dunlap wrote:

> Recently I pulled in new changesets from xen- and qemu-unstable, and
> when creating a PV guest I'm getting errors like the stack trace
> below.  Is this likely to be caused by QEMU using AIO?  It this a bug
> in Xen or in the Debian kernel?  Is there an easy way to turn off aio
> using a config file so I can see if it is qemu's aio?

I also hit bugs in the nfs code paths with the SuSE kernels.
Try 'device_model_version="qemu-xen-traditional"' in your .cfg file.
See changeset 25222:a095e157f280.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:48:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:48:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQAk-00018a-II; Mon, 07 May 2012 15:48:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRQAj-00018I-OQ
	for xen-devel@lists.xen.org; Mon, 07 May 2012 15:48:25 +0000
Received: from [85.158.143.99:50357] by server-2.bemta-4.messagelabs.com id
	40/0A-17550-8CEE7AF4; Mon, 07 May 2012 15:48:24 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336405703!17085417!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDE5MDc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21430 invoked from network); 7 May 2012 15:48:24 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 15:48:24 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmwtM48/lq3M7qEP8j
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-084-057-075-125.pools.arcor-ip.net [84.57.75.125])
	by smtp.strato.de (jored mo9) (RZmta 29.5 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id m00268o47ElKGW ;
	Mon, 7 May 2012 17:48:20 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id E33FA18637; Mon,  7 May 2012 17:48:19 +0200 (CEST)
Date: Mon, 7 May 2012 17:48:19 +0200
From: Olaf Hering <olaf@aepfle.de>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Message-ID: <20120507154819.GA30760@aepfle.de>
References: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Kernel aio bug in Debian 2.6.32-5-xen kernel?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, George Dunlap wrote:

> Recently I pulled in new changesets from xen- and qemu-unstable, and
> when creating a PV guest I'm getting errors like the stack trace
> below.  Is this likely to be caused by QEMU using AIO?  It this a bug
> in Xen or in the Debian kernel?  Is there an easy way to turn off aio
> using a config file so I can see if it is qemu's aio?

I also hit bugs in the nfs code paths with the SuSE kernels.
Try 'device_model_version="qemu-xen-traditional"' in your .cfg file.
See changeset 25222:a095e157f280.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:51:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQDn-0001ZZ-Q6; Mon, 07 May 2012 15:51:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRQDm-0001ZL-RY
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:51:35 +0000
Received: from [85.158.143.99:65312] by server-1.bemta-4.messagelabs.com id
	F8/EE-20925-68FE7AF4; Mon, 07 May 2012 15:51:34 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336405893!23485863!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30304 invoked from network); 7 May 2012 15:51:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:51:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12333609"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 15:51:33 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	16:51:32 +0100
Message-ID: <4FA7EF83.3030902@citrix.com>
Date: Mon, 7 May 2012 16:51:31 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
	<4FA7FE2C02000078000820A6@nat28.tlf.novell.com>
In-Reply-To: <4FA7FE2C02000078000820A6@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 15:54, Jan Beulich wrote:
>>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> It appears we have two functions to dump the IO-APIC state:
>> __print_IO_APIC() which gets called on boot and from 'z', and
>> dump_ioapic_irq_info() which gets called from the end of 'i'.  These
>> should probably be consolidated somehow.
> Rather not - 'z' provides information on the IO-APIC that isn't
> directly related to specific interrupts, while 'i' (when it comes to
> the IO-APIC) is exclusively interested in the RTEs. Unless
> dump_ioapic_irq_info() is _fully_ redundant with 'z' (didn't check
> in detail yet), in which case I'd vote for removing this function.
>
> Jan
>

dump_ioapic_irq_info() loops through nr_irqs_gsi and uses irq_2_pin to
work out which io-apic RTE to read and decode.

__print_IO_APIC() loop through nr_ioapics, then through each RTE and
decodes it.  At the end, it loops through nr_irqs_gsi and matches irqs
to ioapic:pin pairs.

So they are probably different enough to be worth keeping.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:51:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQDn-0001ZZ-Q6; Mon, 07 May 2012 15:51:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRQDm-0001ZL-RY
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:51:35 +0000
Received: from [85.158.143.99:65312] by server-1.bemta-4.messagelabs.com id
	F8/EE-20925-68FE7AF4; Mon, 07 May 2012 15:51:34 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336405893!23485863!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30304 invoked from network); 7 May 2012 15:51:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 15:51:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12333609"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 15:51:33 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	16:51:32 +0100
Message-ID: <4FA7EF83.3030902@citrix.com>
Date: Mon, 7 May 2012 16:51:31 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<4FA7DF2B.3020000@citrix.com>
	<4FA7FE2C02000078000820A6@nat28.tlf.novell.com>
In-Reply-To: <4FA7FE2C02000078000820A6@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 15:54, Jan Beulich wrote:
>>>> On 07.05.12 at 16:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> It appears we have two functions to dump the IO-APIC state:
>> __print_IO_APIC() which gets called on boot and from 'z', and
>> dump_ioapic_irq_info() which gets called from the end of 'i'.  These
>> should probably be consolidated somehow.
> Rather not - 'z' provides information on the IO-APIC that isn't
> directly related to specific interrupts, while 'i' (when it comes to
> the IO-APIC) is exclusively interested in the RTEs. Unless
> dump_ioapic_irq_info() is _fully_ redundant with 'z' (didn't check
> in detail yet), in which case I'd vote for removing this function.
>
> Jan
>

dump_ioapic_irq_info() loops through nr_irqs_gsi and uses irq_2_pin to
work out which io-apic RTE to read and decode.

__print_IO_APIC() loop through nr_ioapics, then through each RTE and
decodes it.  At the end, it loops through nr_irqs_gsi and matches irqs
to ioapic:pin pairs.

So they are probably different enough to be worth keeping.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:54:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:54:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQGO-0001uU-0Q; Mon, 07 May 2012 15:54:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRQGM-0001uJ-Ou
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:54:14 +0000
Received: from [85.158.139.83:41342] by server-6.bemta-5.messagelabs.com id
	C8/C9-13222-520F7AF4; Mon, 07 May 2012 15:54:13 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336406052!26594938!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODc4ODQ=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODc4ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1265 invoked from network); 7 May 2012 15:54:13 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:54:13 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmwtM48/lq3M7qEP8j
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-084-057-075-125.pools.arcor-ip.net [84.57.75.125])
	by smtp.strato.de (josoe mo34) (RZmta 29.4 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id j03ab0o47EJmcs
	for <xen-devel@lists.xensource.com>;
	Mon, 7 May 2012 17:54:12 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 0E61518630
	for <xen-devel@lists.xensource.com>;
	Mon,  7 May 2012 17:54:12 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: aa4a499106c37c60f955662da81000db559ab5be
Message-Id: <aa4a499106c37c60f955.1336406051@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Mon, 07 May 2012 17:54:11 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: fix typo in opengl section
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336406048 -7200
# Node ID aa4a499106c37c60f955662da81000db559ab5be
# Parent  0f53540494f779a1260d4e5319dcdb268389dd07
xl.cfg: fix typo in opengl section

Add missing i to qemu-xen-traditonal

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 0f53540494f7 -r aa4a499106c3 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -278,7 +278,7 @@ Simple DirectMedia Layer). The default i
 =item C<opengl=BOOLEAN>
 
 Enable OpenGL acceleration of the SDL display. Only effects machines
-using C<device_model_version="qemu-xen-traditonal"> and only if the
+using C<device_model_version="qemu-xen-traditional"> and only if the
 device-model was compiled with OpenGL support. Disabled by default.
 
 =item C<keymap="LANG">

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 15:54:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 15:54:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQGO-0001uU-0Q; Mon, 07 May 2012 15:54:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRQGM-0001uJ-Ou
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 15:54:14 +0000
Received: from [85.158.139.83:41342] by server-6.bemta-5.messagelabs.com id
	C8/C9-13222-520F7AF4; Mon, 07 May 2012 15:54:13 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336406052!26594938!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODc4ODQ=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyODc4ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1265 invoked from network); 7 May 2012 15:54:13 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 15:54:13 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmwtM48/lq3M7qEP8j
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-084-057-075-125.pools.arcor-ip.net [84.57.75.125])
	by smtp.strato.de (josoe mo34) (RZmta 29.4 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id j03ab0o47EJmcs
	for <xen-devel@lists.xensource.com>;
	Mon, 7 May 2012 17:54:12 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 0E61518630
	for <xen-devel@lists.xensource.com>;
	Mon,  7 May 2012 17:54:12 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: aa4a499106c37c60f955662da81000db559ab5be
Message-Id: <aa4a499106c37c60f955.1336406051@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Mon, 07 May 2012 17:54:11 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: fix typo in opengl section
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336406048 -7200
# Node ID aa4a499106c37c60f955662da81000db559ab5be
# Parent  0f53540494f779a1260d4e5319dcdb268389dd07
xl.cfg: fix typo in opengl section

Add missing i to qemu-xen-traditonal

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 0f53540494f7 -r aa4a499106c3 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -278,7 +278,7 @@ Simple DirectMedia Layer). The default i
 =item C<opengl=BOOLEAN>
 
 Enable OpenGL acceleration of the SDL display. Only effects machines
-using C<device_model_version="qemu-xen-traditonal"> and only if the
+using C<device_model_version="qemu-xen-traditional"> and only if the
 device-model was compiled with OpenGL support. Disabled by default.
 
 =item C<keymap="LANG">

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 16:13:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 16:13:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQZ1-0003AA-Dh; Mon, 07 May 2012 16:13:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRQZ0-0003A5-73
	for xen-devel@lists.xen.org; Mon, 07 May 2012 16:13:30 +0000
Received: from [193.109.254.147:29620] by server-8.bemta-14.messagelabs.com id
	A4/1D-23244-9A4F7AF4; Mon, 07 May 2012 16:13:29 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336407207!2875446!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 909 invoked from network); 7 May 2012 16:13:28 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 16:13:28 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47GDLTR006425
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 16:13:22 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47GDKQ7016905
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 16:13:20 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47GDIJ9011952; Mon, 7 May 2012 11:13:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 09:13:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DC5344031D; Mon,  7 May 2012 12:07:29 -0400 (EDT)
Date: Mon, 7 May 2012 12:07:29 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120507160729.GA30800@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA792C00200007800081F06@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: weidong.han@intel.com, Jeremy Fitzhardinge <jeremy@goop.org>,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 08:15:44AM +0100, Jan Beulich wrote:
> >>> On 04.05.12 at 21:30, AP <apxeng@gmail.com> wrote:
> > From the above I realized that X86_CR4_OSXSAVE was never getting set
> > in v->arch.pv_vcpu.ctrlreg[4].
> 
> Yes, that was the observation in the previous thread too, but the
> reporter didn't seem interested in continuing on from there.
> 
> 
> > So I tried the following patch:
> >
> > diff -r 5a0d60bb536b xen/arch/x86/domain.c
> > --- a/xen/arch/x86/domain.c	Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/arch/x86/domain.c	Fri May 04 12:23:57 2012 -0700
> > @@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
> >          hv_cr4_mask &= ~X86_CR4_DE;
> >      if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
> >          hv_cr4_mask &= ~X86_CR4_FSGSBASE;
> > -    if ( xsave_enabled(v) )
> > -        hv_cr4_mask &= ~X86_CR4_OSXSAVE;
> > 
> >      if ( (guest_cr4 & hv_cr4_mask) != (hv_cr4 & hv_cr4_mask) )
> >          gdprintk(XENLOG_WARNING,
> > diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
> > --- a/xen/include/asm-x86/domain.h	Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/include/asm-x86/domain.h	Fri May 04 12:23:57 2012 -0700
> > @@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
> >       & ~X86_CR4_DE)
> >  #define real_cr4_to_pv_guest_cr4(c)                         \
> >      ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD        \
> > -             | X86_CR4_OSXSAVE | X86_CR4_SMEP))
> > +             | X86_CR4_SMEP))
> > 
> >  void domain_cpuid(struct domain *d,
> >                    unsigned int  input,
> 
> No, this is specifically the wrong thing. From what we know so far
> (i.e. the outcome of the above printing you added) the problem in
> in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> attempting XSETBV). What your patch efectively does is take away
> control from the guest kernels to control the (virtual) CR4 flag...
> 
> > That allowed the system to boot successfully though I did see the
> > following message:
> > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660
> 
> ... which is what this message is telling you.
> 
> > Not sure if the above patch is right fix but I hope it was at least
> > helpful in pointing at where the problem might be.
> > 
> > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with xsave=1.
> 
> Sure, as it's a kernel problem. It's the kernel that needs logging added,
> to find out why the CR4 write supposedly happening immediately
> prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> happen, or doesn't set the flag. Perhaps something fishy going on
> with the paravirt ops patching, since the disassembly of the opcode
> bytes shown with the oops message are indicating that the right
> thing is being attempted:
> 
> ff 14 25 10 33 c1 81 	callq  *0xffffffff81c13310 [so xen_read_cr4 which is native_read_cr4]
> 48 89 c7             	mov    %rax,%rdi
> 48 81 cf 00 00 04 00 	or     $0x40000,%rdi
>                      	       ^^^^^^^^
> ff 14 25 18 33 c1 81 	callq  *0xffffffff81c13318 [so xen_write_cr4] - which is filtering X86_CR4_PGE and X86_CR4_PSE]
> 48 8b 05 0d 15 db 00 	mov    0xdb150d(%rip),%rax
> 31 c9                	xor    %ecx,%ecx
> 48 89 c2             	mov    %rax,%rdx
> 48 c1 ea 20          	shr    $0x20,%rdx
> 0f 01 d1             	xsetbv 
> 5d                   	pop    %rbp
> c3                   	retq   
> 
> The primary thing that strikes me as odd is that both calls are still
> indirect ones, even though I thought that they should get replaced
> by direct ones (or even the actual instruction, namely in the
> read_cr4() case) upon first use. Konrad, Jeremy - am I wrong here?

They do get replaced (during runtime - and this is done by the
alternative_instructions). Is this output from objdump or straight
from the memory (so using the Xen debugger?).


> 
> And the dumped %rdi value indicates that bit 18 did _not_ get set.

That would imply that xen_write_cr4, which is just mov to cr4
is getting trapped but somehow the hypervisor isn't setting the
rdi value? Or maybe the the native_write_cr4 ends up
filtering in the wrong order?

   0xffffffff8102e650 <xen_write_cr4>:  push   %rbp
   0xffffffff8102e651 <xen_write_cr4+1>:        and    $0x6f,%dil
   0xffffffff8102e655 <xen_write_cr4+5>:        mov    %rsp,%rbp
   0xffffffff8102e658 <xen_write_cr4+8>:        mov    %rdi,%cr4
   0xffffffff8102e65b <xen_write_cr4+11>:       leaveq
   0xffffffff8102e65c <xen_write_cr4+12>:       retq


> 
> Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 16:13:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 16:13:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQZ1-0003AA-Dh; Mon, 07 May 2012 16:13:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRQZ0-0003A5-73
	for xen-devel@lists.xen.org; Mon, 07 May 2012 16:13:30 +0000
Received: from [193.109.254.147:29620] by server-8.bemta-14.messagelabs.com id
	A4/1D-23244-9A4F7AF4; Mon, 07 May 2012 16:13:29 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336407207!2875446!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 909 invoked from network); 7 May 2012 16:13:28 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 16:13:28 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47GDLTR006425
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 16:13:22 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47GDKQ7016905
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 16:13:20 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47GDIJ9011952; Mon, 7 May 2012 11:13:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 09:13:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DC5344031D; Mon,  7 May 2012 12:07:29 -0400 (EDT)
Date: Mon, 7 May 2012 12:07:29 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120507160729.GA30800@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA792C00200007800081F06@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: weidong.han@intel.com, Jeremy Fitzhardinge <jeremy@goop.org>,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 08:15:44AM +0100, Jan Beulich wrote:
> >>> On 04.05.12 at 21:30, AP <apxeng@gmail.com> wrote:
> > From the above I realized that X86_CR4_OSXSAVE was never getting set
> > in v->arch.pv_vcpu.ctrlreg[4].
> 
> Yes, that was the observation in the previous thread too, but the
> reporter didn't seem interested in continuing on from there.
> 
> 
> > So I tried the following patch:
> >
> > diff -r 5a0d60bb536b xen/arch/x86/domain.c
> > --- a/xen/arch/x86/domain.c	Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/arch/x86/domain.c	Fri May 04 12:23:57 2012 -0700
> > @@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
> >          hv_cr4_mask &= ~X86_CR4_DE;
> >      if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
> >          hv_cr4_mask &= ~X86_CR4_FSGSBASE;
> > -    if ( xsave_enabled(v) )
> > -        hv_cr4_mask &= ~X86_CR4_OSXSAVE;
> > 
> >      if ( (guest_cr4 & hv_cr4_mask) != (hv_cr4 & hv_cr4_mask) )
> >          gdprintk(XENLOG_WARNING,
> > diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
> > --- a/xen/include/asm-x86/domain.h	Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/include/asm-x86/domain.h	Fri May 04 12:23:57 2012 -0700
> > @@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
> >       & ~X86_CR4_DE)
> >  #define real_cr4_to_pv_guest_cr4(c)                         \
> >      ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD        \
> > -             | X86_CR4_OSXSAVE | X86_CR4_SMEP))
> > +             | X86_CR4_SMEP))
> > 
> >  void domain_cpuid(struct domain *d,
> >                    unsigned int  input,
> 
> No, this is specifically the wrong thing. From what we know so far
> (i.e. the outcome of the above printing you added) the problem in
> in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> attempting XSETBV). What your patch efectively does is take away
> control from the guest kernels to control the (virtual) CR4 flag...
> 
> > That allowed the system to boot successfully though I did see the
> > following message:
> > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660
> 
> ... which is what this message is telling you.
> 
> > Not sure if the above patch is right fix but I hope it was at least
> > helpful in pointing at where the problem might be.
> > 
> > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with xsave=1.
> 
> Sure, as it's a kernel problem. It's the kernel that needs logging added,
> to find out why the CR4 write supposedly happening immediately
> prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> happen, or doesn't set the flag. Perhaps something fishy going on
> with the paravirt ops patching, since the disassembly of the opcode
> bytes shown with the oops message are indicating that the right
> thing is being attempted:
> 
> ff 14 25 10 33 c1 81 	callq  *0xffffffff81c13310 [so xen_read_cr4 which is native_read_cr4]
> 48 89 c7             	mov    %rax,%rdi
> 48 81 cf 00 00 04 00 	or     $0x40000,%rdi
>                      	       ^^^^^^^^
> ff 14 25 18 33 c1 81 	callq  *0xffffffff81c13318 [so xen_write_cr4] - which is filtering X86_CR4_PGE and X86_CR4_PSE]
> 48 8b 05 0d 15 db 00 	mov    0xdb150d(%rip),%rax
> 31 c9                	xor    %ecx,%ecx
> 48 89 c2             	mov    %rax,%rdx
> 48 c1 ea 20          	shr    $0x20,%rdx
> 0f 01 d1             	xsetbv 
> 5d                   	pop    %rbp
> c3                   	retq   
> 
> The primary thing that strikes me as odd is that both calls are still
> indirect ones, even though I thought that they should get replaced
> by direct ones (or even the actual instruction, namely in the
> read_cr4() case) upon first use. Konrad, Jeremy - am I wrong here?

They do get replaced (during runtime - and this is done by the
alternative_instructions). Is this output from objdump or straight
from the memory (so using the Xen debugger?).


> 
> And the dumped %rdi value indicates that bit 18 did _not_ get set.

That would imply that xen_write_cr4, which is just mov to cr4
is getting trapped but somehow the hypervisor isn't setting the
rdi value? Or maybe the the native_write_cr4 ends up
filtering in the wrong order?

   0xffffffff8102e650 <xen_write_cr4>:  push   %rbp
   0xffffffff8102e651 <xen_write_cr4+1>:        and    $0x6f,%dil
   0xffffffff8102e655 <xen_write_cr4+5>:        mov    %rsp,%rbp
   0xffffffff8102e658 <xen_write_cr4+8>:        mov    %rdi,%cr4
   0xffffffff8102e65b <xen_write_cr4+11>:       leaveq
   0xffffffff8102e65c <xen_write_cr4+12>:       retq


> 
> Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 16:38:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 16:38:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQwX-0003ib-5z; Mon, 07 May 2012 16:37:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SRQwW-0003iV-7h
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 16:37:48 +0000
Received: from [193.109.254.147:29672] by server-2.bemta-14.messagelabs.com id
	BA/E7-19409-B5AF7AF4; Mon, 07 May 2012 16:37:47 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336408665!1172006!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE0MTE3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10081 invoked from network); 7 May 2012 16:37:46 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 16:37:46 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47GbfUK024387
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 16:37:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47GbeRQ014109
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 16:37:41 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47Gbefr018064; Mon, 7 May 2012 11:37:40 -0500
MIME-Version: 1.0
Message-ID: <aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
Date: Mon, 7 May 2012 09:37:23 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, Olaf Hering <olaf@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
In-Reply-To: <1336296932.5933.9.camel@cthulhu.hellion.org.uk>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Sunday, May 06, 2012 3:36 AM
> To: Olaf Hering
> Cc: xen-devel@lists.xensource.com; Konrad Rzeszutek Wilk
> Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> 
> On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> >
> > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > # HG changeset patch
> > > > # User Olaf Hering <olaf@aepfle.de>
> > > > # Date 1336159720 -7200
> > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > xl.cfg: document the maxmem= option
> > > >
> > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > >
> > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > --- a/docs/man/xl.cfg.pod.5
> > > > +++ b/docs/man/xl.cfg.pod.5
> > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > >  mode) and your guest workload consists of a a very large number of
> > > >  similar processes then increasing this value may improve performance.
> > > >
> > > > +=item B<maxmem=MBYTES>
> > > > +
> > > > +Specifies the maximum amount of memory the HVM guest can ever see.

can _ever_ see...

What about guest OS's that support hotplug memory?

Also, a subtle point, but is this the maximum physical address that
will contain read/write pages or the maximum amount of RAM that the
guest OS should be prepared to map as read/writeable (e.g. after
subtracting off reserved e820 ranges) or ???

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 16:38:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 16:38:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRQwX-0003ib-5z; Mon, 07 May 2012 16:37:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SRQwW-0003iV-7h
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 16:37:48 +0000
Received: from [193.109.254.147:29672] by server-2.bemta-14.messagelabs.com id
	BA/E7-19409-B5AF7AF4; Mon, 07 May 2012 16:37:47 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336408665!1172006!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE0MTE3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10081 invoked from network); 7 May 2012 16:37:46 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 16:37:46 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47GbfUK024387
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 16:37:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47GbeRQ014109
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 16:37:41 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47Gbefr018064; Mon, 7 May 2012 11:37:40 -0500
MIME-Version: 1.0
Message-ID: <aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
Date: Mon, 7 May 2012 09:37:23 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, Olaf Hering <olaf@aepfle.de>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
In-Reply-To: <1336296932.5933.9.camel@cthulhu.hellion.org.uk>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Sunday, May 06, 2012 3:36 AM
> To: Olaf Hering
> Cc: xen-devel@lists.xensource.com; Konrad Rzeszutek Wilk
> Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> 
> On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> >
> > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > # HG changeset patch
> > > > # User Olaf Hering <olaf@aepfle.de>
> > > > # Date 1336159720 -7200
> > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > xl.cfg: document the maxmem= option
> > > >
> > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > >
> > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > --- a/docs/man/xl.cfg.pod.5
> > > > +++ b/docs/man/xl.cfg.pod.5
> > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > >  mode) and your guest workload consists of a a very large number of
> > > >  similar processes then increasing this value may improve performance.
> > > >
> > > > +=item B<maxmem=MBYTES>
> > > > +
> > > > +Specifies the maximum amount of memory the HVM guest can ever see.

can _ever_ see...

What about guest OS's that support hotplug memory?

Also, a subtle point, but is this the maximum physical address that
will contain read/write pages or the maximum amount of RAM that the
guest OS should be prepared to map as read/writeable (e.g. after
subtracting off reserved e820 ranges) or ???

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:12:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:12:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRTD-0004HG-IW; Mon, 07 May 2012 17:11:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRRTB-0004HA-T8
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:11:34 +0000
Received: from [85.158.139.83:55788] by server-6.bemta-5.messagelabs.com id
	5A/1C-13222-44208AF4; Mon, 07 May 2012 17:11:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336410690!27142193!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24506 invoked from network); 7 May 2012 17:11:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 17:11:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12336278"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 17:11:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 18:11:28 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRRT6-0001Zw-Fx;
	Mon, 07 May 2012 17:11:28 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRRT6-0008GZ-BE;
	Mon, 07 May 2012 18:11:28 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12794-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 18:11:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12794: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12794 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12794/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl           9 guest-start               fail REGR. vs. 12793

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12792
 test-amd64-amd64-xl-sedf      3 host-install(3)         broken REGR. vs. 12793

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  b9eac81e8564
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     broken  
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:12:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:12:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRTD-0004HG-IW; Mon, 07 May 2012 17:11:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRRTB-0004HA-T8
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:11:34 +0000
Received: from [85.158.139.83:55788] by server-6.bemta-5.messagelabs.com id
	5A/1C-13222-44208AF4; Mon, 07 May 2012 17:11:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336410690!27142193!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24506 invoked from network); 7 May 2012 17:11:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 17:11:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="12336278"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 17:11:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 18:11:28 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRRT6-0001Zw-Fx;
	Mon, 07 May 2012 17:11:28 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRRT6-0008GZ-BE;
	Mon, 07 May 2012 18:11:28 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12794-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 18:11:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12794: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12794 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12794/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl           9 guest-start               fail REGR. vs. 12793

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12792
 test-amd64-amd64-xl-sedf      3 host-install(3)         broken REGR. vs. 12793

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  b9eac81e8564
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     broken  
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:18:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:18:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRZd-0004Tk-M4; Mon, 07 May 2012 17:18:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRRZc-0004Tf-Qg
	for xen-devel@lists.xen.org; Mon, 07 May 2012 17:18:12 +0000
Received: from [85.158.138.51:15884] by server-7.bemta-3.messagelabs.com id
	D6/72-03078-3D308AF4; Mon, 07 May 2012 17:18:11 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336411090!14730120!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6353 invoked from network); 7 May 2012 17:18:11 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-13.tower-174.messagelabs.com with SMTP;
	7 May 2012 17:18:11 -0000
Received: (qmail 29135 invoked from network); 7 May 2012 19:18:09 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.5 required=5.0 tests=AWL,BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	7 May 2012 19:18:09 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Mon, 7 May 2012 19:18:08 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <CBCD8594.3FCE5%keir@xen.org>
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
MIME-Version: 1.0
Message-Id: <201205071918.09014.pavel@netsafe.cz>
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
	and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon 7. of May 2012 14:58:44 Keir Fraser wrote:
> Folks,
> 
> I have just tagged first release candidates for 4.0.4 and 4.1.3:
> 
> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
> 
> Please test!
> 
>  -- Keir

And which kernel should we use please?
-- 
Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:18:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:18:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRZd-0004Tk-M4; Mon, 07 May 2012 17:18:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRRZc-0004Tf-Qg
	for xen-devel@lists.xen.org; Mon, 07 May 2012 17:18:12 +0000
Received: from [85.158.138.51:15884] by server-7.bemta-3.messagelabs.com id
	D6/72-03078-3D308AF4; Mon, 07 May 2012 17:18:11 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336411090!14730120!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6353 invoked from network); 7 May 2012 17:18:11 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-13.tower-174.messagelabs.com with SMTP;
	7 May 2012 17:18:11 -0000
Received: (qmail 29135 invoked from network); 7 May 2012 19:18:09 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.5 required=5.0 tests=AWL,BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	7 May 2012 19:18:09 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Mon, 7 May 2012 19:18:08 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <CBCD8594.3FCE5%keir@xen.org>
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
MIME-Version: 1.0
Message-Id: <201205071918.09014.pavel@netsafe.cz>
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
	and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon 7. of May 2012 14:58:44 Keir Fraser wrote:
> Folks,
> 
> I have just tagged first release candidates for 4.0.4 and 4.1.3:
> 
> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
> 
> Please test!
> 
>  -- Keir

And which kernel should we use please?
-- 
Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:23:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:23:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRReI-0004cH-De; Mon, 07 May 2012 17:23:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRReG-0004c6-8J
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:23:00 +0000
Received: from [85.158.143.99:48882] by server-1.bemta-4.messagelabs.com id
	B2/F9-20925-3F408AF4; Mon, 07 May 2012 17:22:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336411376!21614665!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12397 invoked from network); 7 May 2012 17:22:58 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 17:22:58 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47HMsIl018775
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 17:22:55 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47HMr3W010549
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 17:22:54 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47HMrUx018902; Mon, 7 May 2012 12:22:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 10:22:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 76FC34031D; Mon,  7 May 2012 13:17:03 -0400 (EDT)
Date: Mon, 7 May 2012 13:17:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Christopher S. Aker" <caker@theshore.net>
Message-ID: <20120507171703.GA5746@phenom.dumpdata.com>
References: <4FA7EBF6.6040204@theshore.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7EBF6.6040204@theshore.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> Dom0: 3.2.6 PAE and 3.3.4 PAE

This looks suspicious like a fix that went in some time ago, ah:

2cd1c8d x86/paravirt: PTE updates in k(un)map_atomic need to be synchronous, regardless of lazy_mmu mode

but that went in 3.2 so that can't be it.

Hm, can you give more details on what parameters you are passing
to dom0 and the hypervisor so I can reproduce it?

Also, could you send me your .config file? Is the underlaying
storage SCSI?

And is this only happening on these SuperMicro boxes or are you seeing
this on other hardware as well?
> 
> We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove
> loop deployed to a few dozen boxes will hit it quite reliably within
> a short time.  This happens on both an older LVM userspace and
> newest, and in production we have seen this hit on lvremove,
> lvrename, and lvdelete.
> 
> #!/bin/bash
> while true; do
>    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
> done
> 
> BUG: unable to handle kernel paging request at bffff628
> IP: [<c10ebc58>] __page_check_address+0xb8/0x170
> *pdpt = 0000000003cfb027 *pde = 0000000013873067 *pte = 0000000000000000
> Oops: 0000 [#1] SMP
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Not tainted 3.2.6-1 #1 Supermicro X8DT6/X8DT6
> EIP: 0061:[<c10ebc58>] EFLAGS: 00010246 CPU: 6
> EIP is at __page_check_address+0xb8/0x170
> EAX: bffff000 EBX: cbf76dd8 ECX: 00000000 EDX: 00000000
> ESI: bffff628 EDI: e49ed900 EBP: c80ffe60 ESP: c80ffe4c
>  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069
> Process lvremove (pid: 27902, ti=c80fe000 task=d29adca0 task.ti=c80fe000)
> Stack:
>  e4205000 00000fff da9b6bc0 d0068dc0 e49ed900 c80ffe94 c10ec769 c80ffe84
>  00000000 00000129 00000125 b76c5000 00000001 00000000 d0068c08 d0068dc0
>  b76c5000 e49ed900 c80fff24 c10ecb73 00000002 00000005 35448025 c80ffec4
> Call Trace:
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> Code: ff c1 ee 09 81 e6 f8 0f 00 00 81 e1 ff 0f 00 00 0f ac ca 0c c1
> e2 05 03 55 ec 89 d0 e8 12 d3 f4 ff 8b 4d 0c 85 c9 8d 34 30 75 0c
> <f7> 06 01 01 00 00 0f 84 84 00 00 00 8b 0d 00 0e 9b c1 89 4d f0
> EIP: [<c10ebc58>] __page_check_address+0xb8/0x170 SS:ESP 0069:c80ffe4c
> CR2: 00000000bffff628
> ---[ end trace 8039aeca9c19f5ab ]---
> note: lvremove[27902] exited with preempt_count 1
> BUG: scheduling while atomic: lvremove/27902/0x00000001
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Tainted: G      D      3.2.6-1 #1
> Call Trace:
>  [<c1040fcd>] __schedule_bug+0x5d/0x70
>  [<c1666fb9>] __schedule+0x679/0x830
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c10a05fc>] ? rcu_enter_nohz+0x3c/0x60
>  [<c13b2070>] ? xen_evtchn_do_upcall+0x20/0x30
>  [<c1001227>] ? hypercall_page+0x227/0x1000
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1667250>] schedule+0x30/0x50
>  [<c166890d>] rwsem_down_failed_common+0x9d/0xf0
>  [<c1668992>] rwsem_down_read_failed+0x12/0x14
>  [<c1346b63>] call_rwsem_down_read_failed+0x7/0xc
>  [<c166814d>] ? down_read+0xd/0x10
>  [<c1086f9a>] acct_collect+0x3a/0x170
>  [<c105028a>] do_exit+0x62a/0x7d0
>  [<c104cb37>] ? kmsg_dump+0x37/0xc0
>  [<c1669ac0>] oops_end+0x90/0xd0
>  [<c1032dbe>] no_context+0xbe/0x190
>  [<c1032f28>] __bad_area_nosemaphore+0x98/0x140
>  [<c1008089>] ? xen_clocksource_read+0x19/0x20
>  [<c10081f7>] ? xen_vcpuop_set_next_event+0x47/0x80
>  [<c1032fe2>] bad_area_nosemaphore+0x12/0x20
>  [<c166bc12>] do_page_fault+0x2d2/0x3f0
>  [<c106e389>] ? hrtimer_interrupt+0x1a9/0x2b0
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1008294>] ? check_events+0x8/0xc
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c1668a44>] ? _raw_spin_unlock_irqrestore+0x14/0x20
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c166932e>] error_code+0x5a/0x60
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c10ebc58>] ? __page_check_address+0xb8/0x170
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> 
> Thanks,
> -Chris
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:23:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:23:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRReI-0004cH-De; Mon, 07 May 2012 17:23:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRReG-0004c6-8J
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:23:00 +0000
Received: from [85.158.143.99:48882] by server-1.bemta-4.messagelabs.com id
	B2/F9-20925-3F408AF4; Mon, 07 May 2012 17:22:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336411376!21614665!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12397 invoked from network); 7 May 2012 17:22:58 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 17:22:58 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47HMsIl018775
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 17:22:55 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47HMr3W010549
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 17:22:54 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47HMrUx018902; Mon, 7 May 2012 12:22:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 10:22:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 76FC34031D; Mon,  7 May 2012 13:17:03 -0400 (EDT)
Date: Mon, 7 May 2012 13:17:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Christopher S. Aker" <caker@theshore.net>
Message-ID: <20120507171703.GA5746@phenom.dumpdata.com>
References: <4FA7EBF6.6040204@theshore.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7EBF6.6040204@theshore.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> Dom0: 3.2.6 PAE and 3.3.4 PAE

This looks suspicious like a fix that went in some time ago, ah:

2cd1c8d x86/paravirt: PTE updates in k(un)map_atomic need to be synchronous, regardless of lazy_mmu mode

but that went in 3.2 so that can't be it.

Hm, can you give more details on what parameters you are passing
to dom0 and the hypervisor so I can reproduce it?

Also, could you send me your .config file? Is the underlaying
storage SCSI?

And is this only happening on these SuperMicro boxes or are you seeing
this on other hardware as well?
> 
> We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove
> loop deployed to a few dozen boxes will hit it quite reliably within
> a short time.  This happens on both an older LVM userspace and
> newest, and in production we have seen this hit on lvremove,
> lvrename, and lvdelete.
> 
> #!/bin/bash
> while true; do
>    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
> done
> 
> BUG: unable to handle kernel paging request at bffff628
> IP: [<c10ebc58>] __page_check_address+0xb8/0x170
> *pdpt = 0000000003cfb027 *pde = 0000000013873067 *pte = 0000000000000000
> Oops: 0000 [#1] SMP
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Not tainted 3.2.6-1 #1 Supermicro X8DT6/X8DT6
> EIP: 0061:[<c10ebc58>] EFLAGS: 00010246 CPU: 6
> EIP is at __page_check_address+0xb8/0x170
> EAX: bffff000 EBX: cbf76dd8 ECX: 00000000 EDX: 00000000
> ESI: bffff628 EDI: e49ed900 EBP: c80ffe60 ESP: c80ffe4c
>  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069
> Process lvremove (pid: 27902, ti=c80fe000 task=d29adca0 task.ti=c80fe000)
> Stack:
>  e4205000 00000fff da9b6bc0 d0068dc0 e49ed900 c80ffe94 c10ec769 c80ffe84
>  00000000 00000129 00000125 b76c5000 00000001 00000000 d0068c08 d0068dc0
>  b76c5000 e49ed900 c80fff24 c10ecb73 00000002 00000005 35448025 c80ffec4
> Call Trace:
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> Code: ff c1 ee 09 81 e6 f8 0f 00 00 81 e1 ff 0f 00 00 0f ac ca 0c c1
> e2 05 03 55 ec 89 d0 e8 12 d3 f4 ff 8b 4d 0c 85 c9 8d 34 30 75 0c
> <f7> 06 01 01 00 00 0f 84 84 00 00 00 8b 0d 00 0e 9b c1 89 4d f0
> EIP: [<c10ebc58>] __page_check_address+0xb8/0x170 SS:ESP 0069:c80ffe4c
> CR2: 00000000bffff628
> ---[ end trace 8039aeca9c19f5ab ]---
> note: lvremove[27902] exited with preempt_count 1
> BUG: scheduling while atomic: lvremove/27902/0x00000001
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Tainted: G      D      3.2.6-1 #1
> Call Trace:
>  [<c1040fcd>] __schedule_bug+0x5d/0x70
>  [<c1666fb9>] __schedule+0x679/0x830
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c10a05fc>] ? rcu_enter_nohz+0x3c/0x60
>  [<c13b2070>] ? xen_evtchn_do_upcall+0x20/0x30
>  [<c1001227>] ? hypercall_page+0x227/0x1000
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1667250>] schedule+0x30/0x50
>  [<c166890d>] rwsem_down_failed_common+0x9d/0xf0
>  [<c1668992>] rwsem_down_read_failed+0x12/0x14
>  [<c1346b63>] call_rwsem_down_read_failed+0x7/0xc
>  [<c166814d>] ? down_read+0xd/0x10
>  [<c1086f9a>] acct_collect+0x3a/0x170
>  [<c105028a>] do_exit+0x62a/0x7d0
>  [<c104cb37>] ? kmsg_dump+0x37/0xc0
>  [<c1669ac0>] oops_end+0x90/0xd0
>  [<c1032dbe>] no_context+0xbe/0x190
>  [<c1032f28>] __bad_area_nosemaphore+0x98/0x140
>  [<c1008089>] ? xen_clocksource_read+0x19/0x20
>  [<c10081f7>] ? xen_vcpuop_set_next_event+0x47/0x80
>  [<c1032fe2>] bad_area_nosemaphore+0x12/0x20
>  [<c166bc12>] do_page_fault+0x2d2/0x3f0
>  [<c106e389>] ? hrtimer_interrupt+0x1a9/0x2b0
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1008294>] ? check_events+0x8/0xc
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c1668a44>] ? _raw_spin_unlock_irqrestore+0x14/0x20
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c166932e>] error_code+0x5a/0x60
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c10ebc58>] ? __page_check_address+0xb8/0x170
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> 
> Thanks,
> -Chris
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:38:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:38:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRsY-0004u6-KY; Mon, 07 May 2012 17:37:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRRsW-0004tu-Cy
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:37:45 +0000
Received: from [85.158.138.51:9287] by server-7.bemta-3.messagelabs.com id
	73/E3-03078-76808AF4; Mon, 07 May 2012 17:37:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336412259!25760654!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4796 invoked from network); 7 May 2012 17:37:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 17:37:41 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47Hbacf004479
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 17:37:36 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47HbY61016744
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 17:37:35 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47HbYw2027426; Mon, 7 May 2012 12:37:34 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 10:37:32 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 724C74031D; Mon,  7 May 2012 13:31:44 -0400 (EDT)
Date: Mon, 7 May 2012 13:31:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pavel =?utf-8?Q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Message-ID: <20120507173144.GB17704@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <201205071345.23619.pavel@netsafe.cz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gTW9uLCBNYXkgMDcsIDIwMTIgYXQgMDE6NDU6MjNQTSArMDIwMCwgUGF2ZWwgTWF0xJtqYSB3
cm90ZToKPiBIaSwKPiBJJ20gdHJ5aW5nIHRvIHJ1biBBTUQgVkdBIHBhc3N0aHJ1IG9uIGxhdGVz
dCBYRU4gdW5zdGFibGUgd2l0aCBsYXRlc3Qga2VybmVsLgo+IEkgYWxyZWFkeSBoYXZlIHdvcmtp
bmcgc2V0dXAgd2l0aCBhbmNpZW50IHhlbi1kZXZlbCA0LjIgYW5kIDIuNi4zMi54IHhlbmlmaWVk
IAo+IGtlcm5lbC4gU2VlIGF0dGFjaGVkIGxvZy4KPiAKPiBTbyBJIHRyaWVkIGp1c3QgdG8gdXBk
YXRlIGFuZCBwYXRjaCB4ZW4gYW5kIGtlcm5lbCwgYnV0IEkgaGFkIG5vIGx1Y2sgc28gZmFyLgo+
IAo+IFhlbiBoYXMgYXRpX3ZiaW9zX3BhdGNoX3Jlc3Bpbi50eHQgc2VudCB0byB4ZW4tZGV2ZWwg
YnkgV2VpIEh1YW5nIHJlY2VudGx5Lgo+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0
bWwveGVuLWRldmVsLzIwMTItMDQvbXNnMDAyOTEuaHRtbAo+IAo+IEkgdHJpZWQgdHdvIGtlcm5l
bHMgCj4gdGVzdGluZy0zLjUtd2l0aC1leHRyYSBhbmQgeGVuL25leHQtMy4yIGZyb20KPiBnaXQ6
Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQva29ucmFkL3hlbi5naXQK
PiBhbmQKPiBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvamVy
ZW15L3hlbi5naXQKPiBCb3RoIHdpdGggaW9wZXJtIG9wY29kZSBwYXRjaCB3aGljaCBpcyByZXF1
aXJlZCBieSB0aGUgQVRJIHBhdGNoLiBTZWUgCj4gYXR0YWNoZW1lbnQuCj4gCj4gVGhlIHhlbi9u
ZXh0LTMuMiBicmFuY2gga2VybmVsIHdhcyBhYmxlIHRvIHN0YXJ0IGJvb3Rpbmcgd2luZG93cy4K
PiBXaXRoIENhdGFseXN0IGRyaXZlciBpbnN0YWxsZWQgSSBqdXN0IHNhdyBibHVlc2NyZWVuIGR1
cmluZyBXaW5kb3dzIGJvb3QuCj4gV2l0aG91dCBDYXRhbHlzdCBkcml2ZXIgV2luZG93cyB3ZXJl
IGFibGUgdG8gYm9vdCBidXQgV2luZG93cyBlbmRlZCBmcm96ZW4gb3IgCj4gVVNCIHdhcyBub3Qg
d29ya2luZy4gSXQgd2FzIGhhcmQgdG8gdGVsbCBiZWNhdXNlIGlucHV0IGRldmljZXMgaGFkIG5v
IHJlc3BvbnNlIAo+IGF0IGFsbC4KPiAKPiBUaGUgdGVzdGluZy0zLjUtd2l0aC1leHRyYSAocmVw
b3J0ZWQgYXMgMy40LjAtcmM0KSBqdXN0IGNyYXNoZWQgZG9tMCBrZXJuZWwgCj4gZHVyaW5nIFdp
bmRvd3MgYm9vdC4gSSBndWVzcyBJIGhhdmUgdG8gcmV3b3JrIHRoZSBpb19iaXRtYXAgcGF0Y2gg
c29tZWhvdy4KCldoZW4geW91IHNheSAnaW9fYml0bWFwJyBwYXRjaCBhcmUgeW91IHJlZmVycmlu
ZyB0byB0aGVzZSBvbmVzOgoKNzBhMzU3ZCB4ZW46IGltcGxlbWVudCBJTyBwZXJtaXNzaW9uIGJp
dG1hcAowYzU5NmM1IHg4Ni9wYXJhdmlydDogcGFyYXZpcnR1YWxpemUgSU8gcGVybWlzc2lvbiBi
aXRtYXAKOTNiN2EyYSB4ODY6IGRlbWFjcm8gc2V0X2lvcGxfbWFzaygpCgo/IEkgZG9uJ3QgdGhp
bmsgdGhvc2UgYXJlIGluIHRoYXQgdGFnLiBUaGV5IGFyZSBpbiB0aGUga2l0Y2hlbnNpbmsgLSAj
dGVzdGluZwotIGRvZXMgaXQgd29yayB3aXRoIHRoYXQgYnJhbmNoPwoKVGhlIG5leHQtMy4yIGlz
IGEgYml0IG9sZC4gSSBzaG91bGQgYWN0dWFsbHkgZGVsZXRlIGl0LgoKPiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11bnN0YWJsZSAocm9vdEBuZXRzYWZlLmN6KSAo
Z2NjIHZlcnNpb24gNC40LjUgKERlYmlhbiA0LjQuNS04KSApIFN1biBGZWIgIDUgMTU6NTU6MzMg
Q0VUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiBUaHUgTWF5IDA1IDE3OjQwOjM0IDIw
MTEgKzAxMDAgMjMzMDA6NGIwNjkyODgwZGZhCj4gKFhFTikgQ29uc29sZSBvdXRwdXQgaXMgc3lu
Y2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JVQiAxLjk4KzIwMTAwODA0LTE0K3NxdWVl
emUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBkb20wX21lbT0yRyBkb20wX21h
eF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBzeW5jX2NvbnNvbGUgY29tMT0x
MTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAoWEVOKSBWaWRlbyBpbmZvcm1hdGlvbjoK
PiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwgZm9udCA4eDE2Cj4gKFhFTikgIFZCRS9E
REMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMSBzZWNvbmRzCj4gKFhFTikgRGlz
YyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBNQlIgc2lnbmF0dXJlcwo+IChYRU4pICBG
b3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCj4gKFhFTikgWGVuLWU4MjAgUkFNIG1h
cDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWFjMDAgKHVzYWJsZSkK
PiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVkKQo+
IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4g
KFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1c2FibGUpCj4gKFhF
TikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4gKFhF
TikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykKPiAoWEVO
KSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+IChYRU4p
ICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4gKFhFTikg
IDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAwMDAwICh1c2FibGUpCj4gKFhFTikgQUNQ
STogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFNKQo+IChYRU4pIEFDUEk6IFhTRFQgQ0ZF
ODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3KQo+
IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQgKHIzIDEwMjgxMSBGQUNQMTc0MCAyMDEx
MTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IERTRFQgQ0ZFODA0NzAsIEU2RTMgKHIx
ICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIwMDYwMTEzKQo+IChYRU4pIEFDUEk6IEZB
Q1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBBUElDIENGRTgwMzkwLCAwMDk4IChyMSAx
MDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBNQ0ZH
IENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAgICAgICA5
NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAwMDcyIChyMSAxMDI4MTEgT0VNQjE3NDAg
MjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBIUEVUIENGRThGOEMwLCAwMDM4
IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJ
OiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAgICBSRDg5MFMgICAyMDIwMzEgQU1EICAg
ICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThGOUUwLCAwRTEwIChyMSBBIE0gSSAgUE9X
RVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAoWEVOKSBTeXN0ZW0gUkFNOiA4MTkwTUIg
KDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiAoWEVOKSBG
YWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDIzMDAwMDAwMAo+IChYRU4p
IERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikgZm91bmQgU01QIE1QLXRhYmxlIGF0IDAw
MGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhFTikgVXNpbmcgQVBJQyBkcml2ZXIgZGVm
YXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4ODA4Cj4gKFhFTikgQUNQSTog
QUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0sIHBtMXhfZXZ0WzgwMCwwXQo+IChYRU4p
IEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tjZmU5ODAwY10sIHZlY19zaXplWzIw
XQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwCj4gKFhFTikgQUNQ
STogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKPiAoWEVOKSBQ
cm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMSAw
OjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDNdIGxh
cGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICMyIDA6MTAgQVBJQyB2ZXJz
aW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNF0gbGFwaWNfaWRbMHgwM10g
ZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVO
KSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVkKQo+IChY
RU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29y
ICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgw
N10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsw
eDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNlWzBdKQo+IChYRU4pIElPQVBJQ1swXTog
YXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCj4gKFhF
TikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdzaV9iYXNlWzI0
XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAzMywgYWRkcmVzcyAweGZl
YzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2ly
cSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMg
MCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiAoWEVOKSBBQ1BJOiBJUlEwIHVz
ZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgo+IChY
RU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBFbmFibGluZyBBUElDIG1v
ZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAoWEVOKSBBQ1BJOiBIUEVUIGlkOiAweDgz
MDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFBDSTogTUNGRyBjb25maWd1cmF0aW9uIDA6IGJh
c2UgZTAwMDAwMDAgc2VnbWVudCAwIGJ1c2VzIDAgLSAyNTUKPiAoWEVOKSBQQ0k6IE5vdCB1c2lu
ZyBNTUNPTkZJRy4KPiAoWEVOKSBUYWJsZSBpcyBub3QgZm91bmQhCj4gKFhFTikgVXNpbmcgQUNQ
SSAoTUFEVCkgZm9yIFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCj4gKFhFTikgSVJRIGxp
bWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01Q
IENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAzMDEwLjI1NCBNSHog
cHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1EIEZh
bTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgQU1ELVZpOiBJT01N
VSAwIEVuYWJsZWQuCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKPiAoWEVOKSAg
LSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMKPiAoWEVO
KSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVOKSAuLlRJTUVSOiB2ZWN0b3I9MHhGMCBh
cGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4gKFhFTikgUGxhdGZvcm0gdGltZXIgaXMg
MTQuMzE4TUh6IEhQRVQKPiDDvyhYRU4pIEFsbG9jYXRlZCBjb25zb2xlIHJpbmcgb2YgNjQgS2lC
Lgo+IChYRU4pIEhWTTogQVNJRHMgZW5hYmxlZC4KPiAoWEVOKSBTVk06IFN1cHBvcnRlZCBhZHZh
bmNlZCBmZWF0dXJlczoKPiAoWEVOKSAgLSBOZXN0ZWQgUGFnZSBUYWJsZXMgKE5QVCkKPiAoWEVO
KSAgLSBMYXN0IEJyYW5jaCBSZWNvcmQgKExCUikgVmlydHVhbGlzYXRpb24KPiAoWEVOKSAgLSBO
ZXh0LVJJUCBTYXZlZCBvbiAjVk1FWElUCj4gKFhFTikgIC0gUGF1c2UtSW50ZXJjZXB0IEZpbHRl
cgo+IChYRU4pIEhWTTogU1ZNIGVuYWJsZWQKPiAoWEVOKSBIVk06IEhhcmR3YXJlIEFzc2lzdGVk
IFBhZ2luZyBkZXRlY3RlZC4KPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChYRU4pIEhQRVQn
cyBNU0kgbW9kZSBoYXNuJ3QgYmVlbiBzdXBwb3J0ZWQgd2hlbiBJbnRlcnJ1cHQgUmVtYXBwaW5n
IGlzIGVuYWJsZWQuCj4gKFhFTikgQUNQSSBzbGVlcCBtb2RlczogUzMKPiAoWEVOKSBNQ0E6IFVz
ZSBodyB0aHJlc2hvbGRpbmcgdG8gYWRqdXN0IHBvbGxpbmcgZnJlcXVlbmN5Cj4gKFhFTikgbWNo
ZWNrX3BvbGw6IE1hY2hpbmUgY2hlY2sgcG9sbGluZyB0aW1lciBzdGFydGVkLgo+IChYRU4pIFhl
bm9wcm9maWxlOiBGYWlsZWQgdG8gc2V0dXAgSUJTIExWVCBvZmZzZXQsIElCU0NUTCA9IDB4ZmZm
ZmZmZmYKPiAoWEVOKSAqKiogTE9BRElORyBET01BSU4gMCAqKioKPiAoWEVOKSBlbGZfcGFyc2Vf
YmluYXJ5OiBwaGRyOiBwYWRkcj0weDEwMDAwMDAgbWVtc3o9MHg3N2MwMDAKPiAoWEVOKSBlbGZf
cGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE3N2MwMDAgbWVtc3o9MHg4ZGE4OAo+IChYRU4p
IGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTgwYTAwMCBtZW1zej0weDhjOAo+IChY
RU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTgwYjAwMCBtZW1zej0weDE0YTU4
Cj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxODIwMDAwIG1lbXN6PTB4
MjEyMDAwCj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogbWVtb3J5OiAweDEwMDAwMDAgLT4gMHgx
YTMyMDAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBHVUVTVF9PUyA9ICJsaW51eCIKPiAo
WEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX1ZFUlNJT04gPSAiMi42Igo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogWEVOX1ZFUlNJT04gPSAieGVuLTMuMCIKPiAoWEVOKSBlbGZfeGVu
X3BhcnNlX25vdGU6IFZJUlRfQkFTRSA9IDB4ZmZmZmZmZmY4MDAwMDAwMAo+IChYRU4pIGVsZl94
ZW5fcGFyc2Vfbm90ZTogRU5UUlkgPSAweGZmZmZmZmZmODE4MjAyMDAKPiAoWEVOKSBlbGZfeGVu
X3BhcnNlX25vdGU6IEhZUEVSQ0FMTF9QQUdFID0gMHhmZmZmZmZmZjgxMDA5MDAwCj4gKFhFTikg
ZWxmX3hlbl9wYXJzZV9ub3RlOiBGRUFUVVJFUyA9ICIhd3JpdGFibGVfcGFnZV90YWJsZXN8cGFl
X3BnZGlyX2Fib3ZlXzRnYiIKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IFBBRV9NT0RFID0g
InllcyIKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IExPQURFUiA9ICJnZW5lcmljIgo+IChY
RU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogdW5rbm93biB4ZW4gZWxmIG5vdGUgKDB4ZCkKPiAoWEVO
KSBlbGZfeGVuX3BhcnNlX25vdGU6IFNVU1BFTkRfQ0FOQ0VMID0gMHgxCj4gKFhFTikgZWxmX3hl
bl9wYXJzZV9ub3RlOiBIVl9TVEFSVF9MT1cgPSAweGZmZmY4MDAwMDAwMDAwMDAKPiAoWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IFBBRERSX09GRlNFVCA9IDB4MAo+IChYRU4pIGVsZl94ZW5fYWRk
cl9jYWxjX2NoZWNrOiBhZGRyZXNzZXM6Cj4gKFhFTikgICAgIHZpcnRfYmFzZSAgICAgICAgPSAw
eGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSAgICAgZWxmX3BhZGRyX29mZnNldCA9IDB4MAo+IChY
RU4pICAgICB2aXJ0X29mZnNldCAgICAgID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikgICAg
IHZpcnRfa3N0YXJ0ICAgICAgPSAweGZmZmZmZmZmODEwMDAwMDAKPiAoWEVOKSAgICAgdmlydF9r
ZW5kICAgICAgICA9IDB4ZmZmZmZmZmY4MWEzMjAwMAo+IChYRU4pICAgICB2aXJ0X2VudHJ5ICAg
ICAgID0gMHhmZmZmZmZmZjgxODIwMjAwCj4gKFhFTikgICAgIHAybV9iYXNlICAgICAgICAgPSAw
eGZmZmZmZmZmZmZmZmZmZmYKPiAoWEVOKSAgWGVuICBrZXJuZWw6IDY0LWJpdCwgbHNiLCBjb21w
YXQzMgo+IChYRU4pICBEb20wIGtlcm5lbDogNjQtYml0LCBQQUUsIGxzYiwgcGFkZHIgMHgxMDAw
MDAwIC0+IDB4MWEzMjAwMAo+IChYRU4pIFBIWVNJQ0FMIE1FTU9SWSBBUlJBTkdFTUVOVDoKPiAo
WEVOKSAgRG9tMCBhbGxvYy46ICAgMDAwMDAwMDIyNDAwMDAwMC0+MDAwMDAwMDIyODAwMDAwMCAo
NTA2MjYzIHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkKPiAoWEVOKSAgSW5pdC4gcmFtZGlzazogMDAw
MDAwMDIyZjk5NzAwMC0+MDAwMDAwMDIyZmZmZjYwMAo+IChYRU4pIFZJUlRVQUwgTUVNT1JZIEFS
UkFOR0VNRU5UOgo+IChYRU4pICBMb2FkZWQga2VybmVsOiBmZmZmZmZmZjgxMDAwMDAwLT5mZmZm
ZmZmZjgxYTMyMDAwCj4gKFhFTikgIEluaXQuIHJhbWRpc2s6IGZmZmZmZmZmODFhMzIwMDAtPmZm
ZmZmZmZmODIwOWE2MDAKPiAoWEVOKSAgUGh5cy1NYWNoIG1hcDogZmZmZmZmZmY4MjA5YjAwMC0+
ZmZmZmZmZmY4MjQ5YjAwMAo+IChYRU4pICBTdGFydCBpbmZvOiAgICBmZmZmZmZmZjgyNDliMDAw
LT5mZmZmZmZmZjgyNDliNGI0Cj4gKFhFTikgIFBhZ2UgdGFibGVzOiAgIGZmZmZmZmZmODI0OWMw
MDAtPmZmZmZmZmZmODI0YjMwMDAKPiAoWEVOKSAgQm9vdCBzdGFjazogICAgZmZmZmZmZmY4MjRi
MzAwMC0+ZmZmZmZmZmY4MjRiNDAwMAo+IChYRU4pICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgw
MDAwMDAwLT5mZmZmZmZmZjgyODAwMDAwCj4gKFhFTikgIEVOVFJZIEFERFJFU1M6IGZmZmZmZmZm
ODE4MjAyMDAKPiAoWEVOKSBEb20wIGhhcyBtYXhpbXVtIDYgVkNQVXMKPiAoWEVOKSBlbGZfbG9h
ZF9iaW5hcnk6IHBoZHIgMCBhdCAweGZmZmZmZmZmODEwMDAwMDAgLT4gMHhmZmZmZmZmZjgxNzdj
MDAwCj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDEgYXQgMHhmZmZmZmZmZjgxNzdjMDAw
IC0+IDB4ZmZmZmZmZmY4MTgwOWE4OAo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAyIGF0
IDB4ZmZmZmZmZmY4MTgwYTAwMCAtPiAweGZmZmZmZmZmODE4MGE4YzgKPiAoWEVOKSBlbGZfbG9h
ZF9iaW5hcnk6IHBoZHIgMyBhdCAweGZmZmZmZmZmODE4MGIwMDAgLT4gMHhmZmZmZmZmZjgxODFm
YTU4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDQgYXQgMHhmZmZmZmZmZjgxODIwMDAw
IC0+IDB4ZmZmZmZmZmY4MThiMzAwMAo+IChYRU4pIFNjcnViYmluZyBGcmVlIFJBTTogLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLmRv
bmUuCj4gKFhFTikgU3RkLiBMb2dsZXZlbDogQWxsCj4gKFhFTikgR3Vlc3QgTG9nbGV2ZWw6IEFs
bAo+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
PiAoWEVOKSAqKioqKioqIFdBUk5JTkc6IENPTlNPTEUgT1VUUFVUIElTIFNZTkNIUk9OT1VTCj4g
KFhFTikgKioqKioqKiBUaGlzIG9wdGlvbiBpcyBpbnRlbmRlZCB0byBhaWQgZGVidWdnaW5nIG9m
IFhlbiBieSBlbnN1cmluZwo+IChYRU4pICoqKioqKiogdGhhdCBhbGwgb3V0cHV0IGlzIHN5bmNo
cm9ub3VzbHkgZGVsaXZlcmVkIG9uIHRoZSBzZXJpYWwgbGluZS4KPiAoWEVOKSAqKioqKioqIEhv
d2V2ZXIgaXQgY2FuIGludHJvZHVjZSBTSUdOSUZJQ0FOVCBsYXRlbmNpZXMgYW5kIGFmZmVjdAo+
IChYRU4pICoqKioqKiogdGltZWtlZXBpbmcuIEl0IGlzIE5PVCByZWNvbW1lbmRlZCBmb3IgcHJv
ZHVjdGlvbiB1c2UhCj4gKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgo+IChYRU4pIDMuLi4gMi4uLiAxLi4uIAo+IChYRU4pICoqKiBTZXJpYWwgaW5w
dXQgLT4gRE9NMCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8g
WGVuKQo+IChYRU4pIEZyZWVkIDIzNmtCIGluaXQgbWVtb3J5Lgo+IG1hcHBpbmcga2VybmVsIGlu
dG8gcGh5c2ljYWwgbWVtb3J5Cj4gWGVuOiBzZXR1cCBJU0EgaWRlbnRpdHkgbWFwcwo+IGFib3V0
IHRvIGdldCBzdGFydGVkLi4uCj4gRVJST1I6IFVuYWJsZSB0byBsb2NhdGUgSU9BUElDIGZvciBH
U0kgMgo+IEVSUk9SOiBVbmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJIDkKPiAoWEVOKSB0
cmFwcy5jOjI0MDU6ZDAgRG9tYWluIGF0dGVtcHRlZCBXUk1TUiAwMDAwMDAwMGMwMDEwMDA0IGZy
b20gMHgwMDAwMjRhNzRkYjA2NDA0IHRvIDB4MDAwMDAwMDAwMDAwMDAwMC4KPiAoWEVOKSB0cmFw
cy5jOjI0MDU6ZDAgRG9tYWluIGF0dGVtcHRlZCBXUk1TUiAwMDAwMDAwMGMwMDEwMDAwIGZyb20g
MHgwMDAwMDMwNjFhMGVmZmM5IHRvIDB4MDAwMDAwMDAwMDQzMDA3Ni4KPiBFUlJPUjogVW5hYmxl
IHRvIGxvY2F0ZSBJT0FQSUMgZm9yIEdTSSA5Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDAu
MAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjAwLjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAw
MDowMi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDQuMAo+IChYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwOjA1LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDowNi4wCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDA6MDcuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjBkLjAKPiAoWEVOKSBQ
Q0kgYWRkIGRldmljZSAwMDoxMS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTIuMAo+IChY
RU4pIFBDSSBhZGQgZGV2aWNlIDAwOjEyLjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxMy4w
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTMuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAw
OjE0LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxNC4yCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDA6MTQuMwo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE0LjQKPiAoWEVOKSBQQ0kgYWRk
IGRldmljZSAwMDoxNC41Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTYuMAo+IChYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwOjE2LjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxOC4wCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDA6MTguMQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE4LjIK
PiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxOC4zCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6
MTguNAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDA3OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmlj
ZSAwNzowMC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDY6MDAuMAo+IChYRU4pIFBDSSBhZGQg
ZGV2aWNlIDA2OjAwLjEKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwNTowMC4wCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDQ6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAzOjAwLjAKPiAoWEVO
KSBQQ0kgYWRkIGRldmljZSAwMjowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDI6MDAuMQo+
IHJlZ2lzdGVyaW5nIG5ldGJhY2sKPiBJVDg3IFdEVDogVW5rbm93biBDaGlwIGZvdW5kLCBDaGlw
IDg3MjEgUmV2aXNpb24gMDAwMQo+IFtGaXJtd2FyZSBCdWddOiBwb3dlcm5vdy1rODogTm8gY29t
cGF0aWJsZSBBQ1BJIF9QU1Mgb2JqZWN0cyBmb3VuZC4KPiBbRmlybXdhcmUgQnVnXTogcG93ZXJu
b3ctazg6IFRyeSBhZ2FpbiB3aXRoIGxhdGVzdCBCSU9TLgo+IExvYWRpbmcsIHBsZWFzZSB3YWl0
Li4uCj4gSU5JVDogdmVyc2lvbiAyLjg4IGJvb3RpbmcKPiBVc2luZyBtYWtlZmlsZS1zdHlsZSBj
b25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgUy4KPiBTdGFydGluZyB0aGUgaG90cGx1ZyBldmVu
dHMgZGlzcGF0Y2hlcjogdWRldmQuCj4gU3ludGhlc2l6aW5nIHRoZSBpbml0aWFsIGhvdHBsdWcg
ZXZlbnRzLi4uZG9uZS4KPiBXYWl0aW5nIGZvciAvZGV2IHRvIGJlIGZ1bGx5IHBvcHVsYXRlZC4u
LnVkZXZkLXdvcmtbMTQzN106IGtlcm5lbC1wcm92aWRlZCBuYW1lICdibGt0YXAtY29udHJvbCcg
YW5kIE5BTUU9ICd4ZW4vYmxrdGFwLTIvY29udHJvbCcgZGlzYWdyZWUsIHBsZWFzZSB1c2UgU1lN
TElOSys9IG9yIGNoYW5nZSB0aGUga2VybmVsIHRvIHByb3ZpZGUgdGhlIHByb3BlciBuYW1lCj4g
Cj4gZG9uZS4KPiBTZXR0aW5nIHByZWxpbWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGlu
ZyBzd2FwLi4uZG9uZS4KPiBDaGVja2luZyByb290IGZpbGUgc3lzdGVtLi4uZnNjayBmcm9tIHV0
aWwtbGludXgtbmcgMi4xNy4yCj4gSE9XVE9fUk9PVDogY2xlYW4sIDk1MDU0LzE0MTk4NDAgZmls
ZXMsIDczMTE4MC81Njc5MTA0IGJsb2NrcyAoY2hlY2sgaW4gNCBtb3VudHMpCj4gZG9uZS4KPiBM
b2FkaW5nIGtlcm5lbCBtb2R1bGVzLi4uZG9uZS4KPiBDbGVhbmluZyB1cCBpZnVwZG93bi4uLi4K
PiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0dGluZyB1cCBMVk0gVm9sdW1lIEdyb3Vw
cyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4gIFRoaXMgbWF5IHRha2UgYSB3aGlsZS4u
Lgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3VjaCIgdXNpbmcgbWV0YWRhdGEgdHlwZSBs
dm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAibGVtcm91Y2giIG5v
dyBhY3RpdmUKPiAuCj4gQWN0aXZhdGluZyBsdm0gYW5kIG1kIHN3YXAuLi5kb25lLgo+IENoZWNr
aW5nIGZpbGUgc3lzdGVtcy4uLmZzY2sgZnJvbSB1dGlsLWxpbnV4LW5nIDIuMTcuMgo+IGRvbmUu
Cj4gTW91bnRpbmcgbG9jYWwgZmlsZXN5c3RlbXMuLi5kb25lLgo+IEFjdGl2YXRpbmcgc3dhcGZp
bGUgc3dhcC4uLmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5IGZpbGVzLi4uLgo+IFNldHRp
bmcga2VybmVsIHZhcmlhYmxlcyAuLi5kb25lLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJm
YWNlcy4uLmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5IGZpbGVzLi4uLgo+IFNldHRpbmcg
Y29uc29sZSBzY3JlZW4gbW9kZXMuCj4gUmNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlCj4g
U2tpcHBpbmcgZm9udCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNvbnNvbGUtc2V0dXAp
Lgo+IFNldHRpbmcgdXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25lLgo+IElOSVQ6IEVu
dGVyaW5nIHJ1bmxldmVsOiAyCj4gVXNpbmcgbWFrZWZpbGUtc3R5bGUgY29uY3VycmVudCBib290
IGluIHJ1bmxldmVsIDIuCj4gYWNwaWQ6IHN0YXJ0aW5nIHVwIHdpdGggcHJvYyBmcwo+IAo+IGFj
cGlkOiAxIHJ1bGUgbG9hZGVkCj4gCj4gYWNwaWQ6IHdhaXRpbmcgZm9yIGV2ZW50czogZXZlbnQg
bG9nZ2luZyBpcyBvZmYKPiAKPiBTdGFydGluZyBBQ1BJIHNlcnZpY2VzLi4uLgo+IFN0YXJ0aW5n
IHN5c3RlbSBtZXNzYWdlIGJ1czogZGJ1cy4KPiBTdGFydGluZyBwZXJpb2RpYyBjb21tYW5kIHNj
aGVkdWxlcjogY3Jvbi4KPiBTdGFydGluZyBPcGVuQlNEIFNlY3VyZSBTaGVsbCBzZXJ2ZXI6IHNz
aGQuCj4gU3RhcnRpbmcgeGVuc3RvcmVkLi4uWEVOQlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3Rh
dGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRv
IHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5C
VVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1
IHN0YXRlCj4gCj4gU2V0dGluZyBkb21haW4gMCBuYW1lLi4uCj4gU3RhcnRpbmcgeGVuY29uc29s
ZWQuLi4KPiBCTEtUQVBDVFJMWzIxNjhdOiBibGt0YXBjdHJsLmM6NzkwOiBibGt0YXBjdHJsOiB2
MS4wLjAKPiAKPiBCTEtUQVBDVFJMWzIxNjhdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2
ZXI6IFtyYXcgaW1hZ2UgKGFpbyldCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybC5j
Ojc5MjogRm91bmQgZHJpdmVyOiBbcmF3IGltYWdlIChzeW5jKV0KPiAKPiBCTEtUQVBDVFJMWzIx
NjhdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2ZXI6IFt2bXdhcmUgaW1hZ2UgKHZtZGsp
XQo+IAo+IEJMS1RBUENUUkxbMjE2OF06IGJsa3RhcGN0cmwuYzo3OTI6IEZvdW5kIGRyaXZlcjog
W3JhbWRpc2sgaW1hZ2UgKHJhbSldCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybC5j
Ojc5MjogRm91bmQgZHJpdmVyOiBbcWNvdyBkaXNrIChxY293KV0KPiAKPiBCTEtUQVBDVFJMWzIx
NjhdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2ZXI6IFtxY293MiBkaXNrIChxY293Mild
Cj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybF9saW51eC5jOjg2OiBibGt0YXAwIG9w
ZW4gZmFpbGVkCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybC5jOjg1OTogY291bGRu
J3Qgb3BlbiBibGt0YXAgaW50ZXJmYWNlCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3Ry
bC5jOjkyMjogVW5hYmxlIHRvIHN0YXJ0IGJsa3RhcGN0cmwKPiAKPiAoWEVOKSBQQ0kgcmVtb3Zl
IGRldmljZSAwMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTIuMgo+IC91c3IvbG9j
YWwvYmluL3hlbl9zdGFydC5zaDogbGluZSAxNTogL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDow
NzowMC4wL2RyaXZlci91bmJpbmQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiBVc2luZyBj
b25maWcgZmlsZSAiL2V0Yy94ZW4vd2luZG93cyIuCj4gKFhFTikgZG9tY3RsLmM6MTA0MjpkMCBp
b3BvcnRfbWFwOmFkZCBmX2dwb3J0PTNiMCBmX21wb3J0PTNiMCBucD1jCj4gKFhFTikgZG9tY3Rs
LmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49YTAgbWZuPWEwIG5yX21mbnM9MjAKPiAoWEVO
KSBkb21jdGwuYzoxMDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZfZ3BvcnQ9M2MwIGZfbXBvcnQ9M2Mw
IG5wPTMKPiAoWEVOKSBkb21jdGwuYzoxMDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZfZ3BvcnQ9M2M0
IGZfbXBvcnQ9M2M0IG5wPTFjCj4gKFhFTikgSFZNMTogSFZNIExvYWRlcgo+IChYRU4pIEhWTTE6
IERldGVjdGVkIFhlbiB2NC4yLXVuc3RhYmxlCj4gKFhFTikgSFZNMTogWGVuYnVzIHJpbmdzIEAw
eGZlZmZjMDAwLCBldmVudCBjaGFubmVsIDcKPiBTdGFydGVkIGRvbWFpbiB3aW5kb3dzIChpZD0x
KShYRU4pIEhWTTE6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwo+IAo+IChYRU4pIEhWTTE6IENQ
VSBzcGVlZCBpcyAzMDEwIE1Iego+IChYRU4pIGlycS5jOjI1ODogRG9tMSBQQ0kgbGluayAwIGNo
YW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUK
PiAoWEVOKSBpcnEuYzoyNTg6IERvbTEgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKPiAoWEVO
KSBIVk0xOiBQQ0ktSVNBIGxpbmsgMSByb3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBpcnEuYzoyNTg6
IERvbTEgUENJIGxpbmsgMiBjaGFuZ2VkIDAgLT4gMTEKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxp
bmsgMiByb3V0ZWQgdG8gSVJRMTEKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTEgUENJIGxpbmsgMyBj
aGFuZ2VkIDAgLT4gNQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNp
IGRldiAwMzowIElOVEEtPklSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgSU5UQS0+SVJR
NQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBj
aSBkZXYgMDY6MCBJTlRCLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNzowIElOVEEtPklS
UTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVOKSBIVk0xOiBw
Y2kgZGV2IDA5OjAgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDEw
IHNpemUgMTAwMDAwMDA6IGUwMDAwMDBjCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9t
YXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21mbnM9MTAwMDAKPiAoWEVOKSBIVk0xOiBw
Y2kgZGV2IDAzOjAgYmFyIDE0IHNpemUgMDEwMDAwMDA6IGYwMDAwMDA4Cj4gKFhFTikgSFZNMTog
cGNpIGRldiAwNDowIGJhciAxMCBzaXplIDAwMDIwMDAwOiBmMTAwMDAwMAo+IChYRU4pIGRvbWN0
bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIw
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxOCBzaXplIDAwMDIwMDAwOiBmMTAyMDAw
NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAwMDogZjEwNDAw
MDAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6IGYxMDYw
MDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjAgbWZu
PWZlOWJjIG5yX21mbnM9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDk6MCBiYXIgMTAgc2l6ZSAw
MDAwNDAwMDogZjEwNjQwMDQKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6
IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJfbWZucz00Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNzow
IGJhciAxMCBzaXplIDAwMDAxMDAwOiBmMTA2ODAwMAo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBt
ZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY4IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBIVk0x
OiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUgMDAwMDEwMDA6IGYxMDY5MDAwCj4gKFhFTikgZG9t
Y3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9
MQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEwMDogMDAwMGMw
MDEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAxMDA6IDAwMDBj
MTAxCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNDowIGJhciAxNCBzaXplIDAwMDAwMDQwOiAwMDAw
YzIwMQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAwMDAxMDogMDAw
MGMyNDEKPiAoWEVOKSBIVk0xOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlvbjoKPiAoWEVO
KSBIVk0xOiAgLSBDUFUwIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBN
VFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUxIC4uLiA0OC1iaXQgcGh5
cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBI
Vk0xOiAgLSBDUFUyIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJS
cyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUzIC4uLiA0OC1iaXQgcGh5cyAu
Li4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0x
OiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBb
My84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFU1IC4uLiA0OC1iaXQgcGh5cyAuLi4g
Zml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiBU
ZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoKPiAoWEVOKSBIVk0xOiAgLSBSRVAgSU5TQiBhY3Jvc3Mg
cGFnZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiAgLSBHUyBiYXNlIE1TUnMg
YW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMTogUGFzc2VkIDIgb2YgMiB0ZXN0cwo+
IChYRU4pIEhWTTE6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KPiAoWEVOKSBkb21jdGwuYzox
MDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZfZ3BvcnQ9M2IwIGZfbXBvcnQ9M2IwIG5wPWMKPiAoWEVO
KSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1hMCBtZm49YTAgbnJfbWZucz0y
MAo+IChYRU4pIGRvbWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21hcDphZGQgZl9ncG9ydD0zYzAgZl9t
cG9ydD0zYzAgbnA9Mwo+IChYRU4pIGRvbWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21hcDphZGQgZl9n
cG9ydD0zYzQgZl9tcG9ydD0zYzQgbnA9MWMKPiAoWEVOKSBIVk0yOiBIVk0gTG9hZGVyCj4gKFhF
TikgSFZNMjogRGV0ZWN0ZWQgWGVuIHY0LjItdW5zdGFibGUKPiAoWEVOKSBIVk0yOiBYZW5idXMg
cmluZ3MgQDB4ZmVmZmMwMDAsIGV2ZW50IGNoYW5uZWwgNwo+IChYRU4pIEhWTTI6IFN5c3RlbSBy
ZXF1ZXN0ZWQgUk9NQklPUwo+IChYRU4pIEhWTTI6IENQVSBzcGVlZCBpcyAzMDEwIE1Iego+IChY
RU4pIGlycS5jOjI1ODogRG9tMiBQQ0kgbGluayAwIGNoYW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZN
MjogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTIg
UENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKPiAoWEVOKSBIVk0yOiBQQ0ktSVNBIGxpbmsgMSBy
b3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTIgUENJIGxpbmsgMiBjaGFuZ2Vk
IDAgLT4gMTEKPiAoWEVOKSBIVk0yOiBQQ0ktSVNBIGxpbmsgMiByb3V0ZWQgdG8gSVJRMTEKPiAo
WEVOKSBpcnEuYzoyNTg6IERvbTIgUENJIGxpbmsgMyBjaGFuZ2VkIDAgLT4gNQo+IChYRU4pIEhW
TTI6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1Cj4gKFhFTikgSFZNMjogcGNpIGRldiAw
MTozIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMjogcGNpIGRldiAwMzowIElOVEEtPklSUTUKPiAo
WEVOKSBIVk0yOiBwY2kgZGV2IDA0OjAgSU5UQS0+SVJRNQo+IChYRU4pIEhWTTI6IHBjaSBkZXYg
MDU6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTI6IHBjaSBkZXYgMDY6MCBJTlRCLT5JUlE1Cj4g
KFhFTikgSFZNMjogcGNpIGRldiAwNzowIElOVEEtPklSUTUKPiAoWEVOKSBIVk0yOiBwY2kgZGV2
IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVOKSBIVk0yOiBwY2kgZGV2IDA5OjAgSU5UQS0+SVJRMTAK
PiAoWEVOKSBIVk0yOiBwY2kgZGV2IDA1OjAgYmFyIDEwIHNpemUgMTAwMDAwMDA6IGUwMDAwMDBj
Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQw
MDAwIG5yX21mbnM9MTAwMDAKPiAoWEVOKSBIVk0yOiBwY2kgZGV2IDAzOjAgYmFyIDE0IHNpemUg
MDEwMDAwMDA6IGYwMDAwMDA4Cj4gKFhFTikgSFZNMjogcGNpIGRldiAwNDowIGJhciAxMCBzaXpl
IDAwMDIwMDAwOiBmMTAwMDAwMAo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFk
ZDogZ2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIwCj4gKFhFTikgSFZNMjogcGNpIGRldiAw
NTowIGJhciAxOCBzaXplIDAwMDIwMDAwOiBmMTAyMDAwNAo+IChYRU4pIEhWTTI6IHBjaSBkZXYg
MDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAwMDogZjEwNDAwMDAKPiAoWEVOKSBIVk0yOiBwY2kgZGV2
IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6IGYxMDYwMDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2
OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yX21mbnM9NAo+IChYRU4p
IEhWTTI6IHBjaSBkZXYgMDk6MCBiYXIgMTAgc2l6ZSAwMDAwNDAwMDogZjEwNjQwMDQKPiAoWEVO
KSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJf
bWZucz00Cj4gKFhFTikgSFZNMjogcGNpIGRldiAwNzowIGJhciAxMCBzaXplIDAwMDAxMDAwOiBm
MTA2ODAwMAo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY4
IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBIVk0yOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNp
emUgMDAwMDEwMDA6IGYxMDY5MDAwCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6
YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9MQo+IChYRU4pIEhWTTI6IHBjaSBkZXYg
MDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEwMDogMDAwMGMwMDEKPiAoWEVOKSBIVk0yOiBwY2kgZGV2
IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAxMDA6IDAwMDBjMTAxCj4gKFhFTikgSFZNMjogcGNpIGRl
diAwNDowIGJhciAxNCBzaXplIDAwMDAwMDQwOiAwMDAwYzIwMQo+IChYRU4pIEhWTTI6IHBjaSBk
ZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAwMDAxMDogMDAwMGMyNDEKPiAoWEVOKSBIVk0yOiBNdWx0
aXByb2Nlc3NvciBpbml0aWFsaXNhdGlvbjoKPiAoWEVOKSBIVk0yOiAgLSBDUFUwIC4uLiA0OC1i
aXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAo
WEVOKSBIVk0yOiAgLSBDUFUxIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZh
ciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0yOiAgLSBDUFUyIC4uLiA0OC1iaXQg
cGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVO
KSBIVk0yOiAgLSBDUFUzIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBN
VFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0yOiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5
cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBI
Vk0yOiAgLSBDUFU1IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJS
cyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0yOiBUZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoK
PiAoWEVOKSBIVk0yOiAgLSBSRVAgSU5TQiBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4uLiBwYXNz
ZWQKPiAoWEVOKSBIVk0yOiAgLSBHUyBiYXNlIE1TUnMgYW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4g
KFhFTikgSFZNMjogUGFzc2VkIDIgb2YgMiB0ZXN0cwo+IChYRU4pIEhWTTI6IFdyaXRpbmcgU01C
SU9TIHRhYmxlcyAuLi4KPiAoWEVOKSBkb21jdGwuYzoxMDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZf
Z3BvcnQ9M2IwIGZfbXBvcnQ9M2IwIG5wPWMKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5
X21hcDphZGQ6IGdmbj1hMCBtZm49YTAgbnJfbWZucz0yMAo+IChYRU4pIGRvbWN0bC5jOjEwNDI6
ZDAgaW9wb3J0X21hcDphZGQgZl9ncG9ydD0zYzAgZl9tcG9ydD0zYzAgbnA9Mwo+IChYRU4pIGRv
bWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21hcDphZGQgZl9ncG9ydD0zYzQgZl9tcG9ydD0zYzQgbnA9
MWMKPiAoWEVOKSBIVk0zOiBIVk0gTG9hZGVyCj4gKFhFTikgSFZNMzogRGV0ZWN0ZWQgWGVuIHY0
LjItdW5zdGFibGUKPiAoWEVOKSBIVk0zOiBYZW5idXMgcmluZ3MgQDB4ZmVmZmMwMDAsIGV2ZW50
IGNoYW5uZWwgNwo+IChYRU4pIEhWTTM6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwo+IChYRU4p
IEhWTTM6IENQVSBzcGVlZCBpcyAzMDEwIE1Iego+IChYRU4pIGlycS5jOjI1ODogRG9tMyBQQ0kg
bGluayAwIGNoYW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZNMzogUENJLUlTQSBsaW5rIDAgcm91dGVk
IHRvIElSUTUKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTMgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4g
MTAKPiAoWEVOKSBIVk0zOiBQQ0ktSVNBIGxpbmsgMSByb3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBp
cnEuYzoyNTg6IERvbTMgUENJIGxpbmsgMiBjaGFuZ2VkIDAgLT4gMTEKPiAoWEVOKSBIVk0zOiBQ
Q0ktSVNBIGxpbmsgMiByb3V0ZWQgdG8gSVJRMTEKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTMgUENJ
IGxpbmsgMyBjaGFuZ2VkIDAgLT4gNQo+IChYRU4pIEhWTTM6IFBDSS1JU0EgbGluayAzIHJvdXRl
ZCB0byBJUlE1Cj4gKFhFTikgSFZNMzogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCj4gKFhFTikg
SFZNMzogcGNpIGRldiAwMzowIElOVEEtPklSUTUKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA0OjAg
SU5UQS0+SVJRNQo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDU6MCBJTlRBLT5JUlExMAo+IChYRU4p
IEhWTTM6IHBjaSBkZXYgMDY6MCBJTlRCLT5JUlE1Cj4gKFhFTikgSFZNMzogcGNpIGRldiAwNzow
IElOVEEtPklSUTUKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVO
KSBIVk0zOiBwY2kgZGV2IDA5OjAgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA1
OjAgYmFyIDEwIHNpemUgMTAwMDAwMDA6IGUwMDAwMDBjCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQw
IG1lbW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21mbnM9MTAwMDAKPiAoWEVO
KSBIVk0zOiBwY2kgZGV2IDAzOjAgYmFyIDE0IHNpemUgMDEwMDAwMDA6IGYwMDAwMDA4Cj4gKFhF
TikgSFZNMzogcGNpIGRldiAwNDowIGJhciAxMCBzaXplIDAwMDIwMDAwOiBmMTAwMDAwMAo+IChY
RU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDIwIG1mbj1mZTllMCBu
cl9tZm5zPTIwCj4gKFhFTikgSFZNMzogcGNpIGRldiAwNTowIGJhciAxOCBzaXplIDAwMDIwMDAw
OiBmMTAyMDAwNAo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAw
MDogZjEwNDAwMDAKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQw
MDA6IGYxMDYwMDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49
ZjEwNjAgbWZuPWZlOWJjIG5yX21mbnM9NAo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDk6MCBiYXIg
MTAgc2l6ZSAwMDAwNDAwMDogZjEwNjQwMDQKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5
X21hcDphZGQ6IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJfbWZucz00Cj4gKFhFTikgSFZNMzogcGNp
IGRldiAwNzowIGJhciAxMCBzaXplIDAwMDAxMDAwOiBmMTA2ODAwMAo+IChYRU4pIGRvbWN0bC5j
Ojk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY4IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAo
WEVOKSBIVk0zOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUgMDAwMDEwMDA6IGYxMDY5MDAwCj4g
KFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAw
IG5yX21mbnM9MQo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEw
MDogMDAwMGMwMDEKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAx
MDA6IDAwMDBjMTAxCj4gKFhFTikgSFZNMzogcGNpIGRldiAwNDowIGJhciAxNCBzaXplIDAwMDAw
MDQwOiAwMDAwYzIwMQo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAw
MDAxMDogMDAwMGMyNDEKPiAoWEVOKSBIVk0zOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlv
bjoKPiAoWEVOKSBIVk0zOiAgLSBDUFUwIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMg
Li4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0zOiAgLSBDUFUxIC4uLiA0
OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4K
PiAoWEVOKSBIVk0zOiAgLSBDUFUyIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4u
IHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0zOiAgLSBDUFUzIC4uLiA0OC1i
aXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAo
WEVOKSBIVk0zOiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZh
ciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0zOiAgLSBDUFU1IC4uLiA0OC1iaXQg
cGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVO
KSBIVk0zOiBUZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoKPiAoWEVOKSBIVk0zOiAgLSBSRVAgSU5T
QiBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0zOiAgLSBHUyBi
YXNlIE1TUnMgYW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMzogUGFzc2VkIDIgb2Yg
MiB0ZXN0cwo+IChYRU4pIEhWTTM6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KPiAgX18gIF9f
ICAgICAgICAgICAgXyAgXyAgICBfX19fICAgICAgICAgICAgICAgICAgICAgXyAgICAgICAgXyAg
ICAgXyAgICAgIAo+ICBcIFwvIC9fX18gXyBfXyAgIHwgfHwgfCAgfF9fXyBcICAgIF8gICBfIF8g
X18gIF9fX3wgfF8gX18gX3wgfF9fIHwgfCBfX18gCj4gICBcICAvLyBfIFwgJ18gXCAgfCB8fCB8
XyAgIF9fKSB8X198IHwgfCB8ICdfIFwvIF9ffCBfXy8gX2AgfCAnXyBcfCB8LyBfIFwKPiAgIC8g
IFwgIF9fLyB8IHwgfCB8X18gICBffCAvIF9fL3xfX3wgfF98IHwgfCB8IFxfXyBcIHx8IChffCB8
IHxfKSB8IHwgIF9fLwo+ICAvXy9cX1xfX198X3wgfF98ICAgIHxffChfKV9fX19ffCAgIFxfXyxf
fF98IHxffF9fXy9cX19cX18sX3xfLl9fL3xffFxfX198Cj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiAo
WEVOKSBYZW4gdmVyc2lvbiA0LjItdW5zdGFibGUgKHJvb3RAbmV0c2FmZS5jeikgKGdjYyB2ZXJz
aW9uIDQuNC41IChEZWJpYW4gNC40LjUtOCkgKSBTdW4gRmViICA1IDE1OjU1OjMzIENFVCAyMDEy
Cj4gKFhFTikgTGF0ZXN0IENoYW5nZVNldDogVGh1IE1heSAwNSAxNzo0MDozNCAyMDExICswMTAw
IDIzMzAwOjRiMDY5Mjg4MGRmYQo+IChYRU4pIENvbnNvbGUgb3V0cHV0IGlzIHN5bmNocm9ub3Vz
Lgo+IChYRU4pIEJvb3Rsb2FkZXI6IEdSVUIgMS45OCsyMDEwMDgwNC0xNCtzcXVlZXplMQo+IChY
RU4pIENvbW1hbmQgbGluZTogcGxhY2Vob2xkZXIgZG9tMF9tZW09MkcgZG9tMF9tYXhfdmNwdXM9
NiBsb2dsdmw9YWxsIGd1ZXN0X2xvZ2x2bD1hbGwgc3luY19jb25zb2xlIGNvbTE9MTE1MjAwLDhu
MSwweGFjMDAgY29uc29sZT1jb20xCj4gKFhFTikgVmlkZW8gaW5mb3JtYXRpb246Cj4gKFhFTikg
IFZHQSBpcyB0ZXh0IG1vZGUgODB4MjUsIGZvbnQgOHgxNgo+IChYRU4pICBWQkUvRERDIG1ldGhv
ZHM6IFYyOyBFRElEIHRyYW5zZmVyIHRpbWU6IDEgc2Vjb25kcwo+IChYRU4pIERpc2MgaW5mb3Jt
YXRpb246Cj4gKFhFTikgIEZvdW5kIDEgTUJSIHNpZ25hdHVyZXMKPiAoWEVOKSAgRm91bmQgMSBF
REQgaW5mb3JtYXRpb24gc3RydWN0dXJlcwo+IChYRU4pIFhlbi1lODIwIFJBTSBtYXA6Cj4gKFhF
TikgIDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAwMDlhYzAwICh1c2FibGUpCj4gKFhFTikg
IDAwMDAwMDAwMDAwOWFjMDAgLSAwMDAwMDAwMDAwMGEwMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAg
MDAwMDAwMDAwMDBlNDAwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAw
MDAwMDAwMDAwMTAwMDAwIC0gMDAwMDAwMDBjZmU4MDAwMCAodXNhYmxlKQo+IChYRU4pICAwMDAw
MDAwMGNmZTgwMDAwIC0gMDAwMDAwMDBjZmU5ODAwMCAoQUNQSSBkYXRhKQo+IChYRU4pICAwMDAw
MDAwMGNmZTk4MDAwIC0gMDAwMDAwMDBjZmVjMDAwMCAoQUNQSSBOVlMpCj4gKFhFTikgIDAwMDAw
MDAwY2ZlYzAwMDAgLSAwMDAwMDAwMGNmZjAwMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAgMDAwMDAw
MDBmZmUwMDAwMCAtIDAwMDAwMDAxMDAwMDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAw
MTAwMDAwMDAwIC0gMDAwMDAwMDIzMDAwMDAwMCAodXNhYmxlKQo+IChYRU4pIEFDUEk6IFJTRFAg
MDAwRkJGMjAsIDAwMjQgKHIyIEFDUElBTSkKPiAoWEVOKSBBQ1BJOiBYU0RUIENGRTgwMTAwLCAw
MDVDIChyMSAxMDI4MTEgWFNEVDE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBB
Q1BJOiBGQUNQIENGRTgwMjkwLCAwMEY0IChyMyAxMDI4MTEgRkFDUDE3NDAgMjAxMTEwMjggTVNG
VCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBEU0RUIENGRTgwNDcwLCBFNkUzIChyMSAgQTE1OTUg
QTE1OTUwMDAgICAgICAgIDAgSU5UTCAyMDA2MDExMykKPiAoWEVOKSBBQ1BJOiBGQUNTIENGRTk4
MDAwLCAwMDQwCj4gKFhFTikgQUNQSTogQVBJQyBDRkU4MDM5MCwgMDA5OCAocjEgMTAyODExIEFQ
SUMxNzQwIDIwMTExMDI4IE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogTUNGRyBDRkU4MDQz
MCwgMDAzQyAocjEgMTAyODExIE9FTU1DRkcgIDIwMTExMDI4IE1TRlQgICAgICAgOTcpCj4gKFhF
TikgQUNQSTogT0VNQiBDRkU5ODA0MCwgMDA3MiAocjEgMTAyODExIE9FTUIxNzQwIDIwMTExMDI4
IE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogSFBFVCBDRkU4RjhDMCwgMDAzOCAocjEgMTAy
ODExIE9FTUhQRVQgIDIwMTExMDI4IE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogSVZSUyBD
RkU4RjkwMCwgMDBFMCAocjEgIEFNRCAgICAgUkQ4OTBTICAgMjAyMDMxIEFNRCAgICAgICAgIDAp
Cj4gKFhFTikgQUNQSTogU1NEVCBDRkU4RjlFMCwgMEUxMCAocjEgQSBNIEkgIFBPV0VSTk9XICAg
ICAgICAxIEFNRCAgICAgICAgIDEpCj4gKFhFTikgU3lzdGVtIFJBTTogODE5ME1CICg4Mzg2NjY0
a0IpCj4gKFhFTikgTm8gTlVNQSBjb25maWd1cmF0aW9uIGZvdW5kCj4gKFhFTikgRmFraW5nIGEg
bm9kZSBhdCAwMDAwMDAwMDAwMDAwMDAwLTAwMDAwMDAyMzAwMDAwMDAKPiAoWEVOKSBEb21haW4g
aGVhcCBpbml0aWFsaXNlZAo+IChYRU4pIGZvdW5kIFNNUCBNUC10YWJsZSBhdCAwMDBmZjc4MAo+
IChYRU4pIERNSSBwcmVzZW50Lgo+IChYRU4pIFVzaW5nIEFQSUMgZHJpdmVyIGRlZmF1bHQKPiAo
WEVOKSBBQ1BJOiBQTS1UaW1lciBJTyBQb3J0OiAweDgwOAo+IChYRU4pIEFDUEk6IEFDUEkgU0xF
RVAgSU5GTzogcG0xeF9jbnRbODA0LDBdLCBwbTF4X2V2dFs4MDAsMF0KPiAoWEVOKSBBQ1BJOiAg
ICAgICAgICAgICAgICAgIHdha2V1cF92ZWNbY2ZlOTgwMGNdLCB2ZWNfc2l6ZVsyMF0KPiAoWEVO
KSBBQ1BJOiBMb2NhbCBBUElDIGFkZHJlc3MgMHhmZWUwMDAwMAo+IChYRU4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDFdIGxhcGljX2lkWzB4MDBdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29y
ICMwIDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgw
Ml0gbGFwaWNfaWRbMHgwMV0gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzEgMDoxMCBBUElD
IHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAzXSBsYXBpY19pZFsw
eDAyXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMiAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+
IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MDNdIGVuYWJsZWQp
Cj4gKFhFTikgUHJvY2Vzc29yICMzIDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTog
TEFQSUMgKGFjcGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgwNF0gZW5hYmxlZCkKPiAoWEVOKSBQcm9j
ZXNzb3IgIzQgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9p
ZFsweDA2XSBsYXBpY19pZFsweDA1XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjNSAwOjEw
IEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDddIGxhcGlj
X2lkWzB4ODZdIGRpc2FibGVkKQo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDhdIGxh
cGljX2lkWzB4ODddIGRpc2FibGVkKQo+IChYRU4pIEFDUEk6IElPQVBJQyAoaWRbMHgwNl0gYWRk
cmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKPiAoWEVOKSBJT0FQSUNbMF06IGFwaWNfaWQg
NiwgdmVyc2lvbiAzMywgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0yMwo+IChYRU4pIEFDUEk6
IElPQVBJQyAoaWRbMHgwN10gYWRkcmVzc1sweGZlYzIwMDAwXSBnc2lfYmFzZVsyNF0pCj4gKFhF
TikgSU9BUElDWzFdOiBhcGljX2lkIDcsIHZlcnNpb24gMzMsIGFkZHJlc3MgMHhmZWMyMDAwMCwg
R1NJIDI0LTU1Cj4gKFhFTikgQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9i
YWxfaXJxIDIgZGZsIGRmbCkKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2ly
cSA5IGdsb2JhbF9pcnEgOSBsb3cgbGV2ZWwpCj4gKFhFTikgQUNQSTogSVJRMCB1c2VkIGJ5IG92
ZXJyaWRlLgo+IChYRU4pIEFDUEk6IElSUTIgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBBQ1BJ
OiBJUlE5IHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgRW5hYmxpbmcgQVBJQyBtb2RlOiAgRmxh
dC4gIFVzaW5nIDIgSS9PIEFQSUNzCj4gKFhFTikgQUNQSTogSFBFVCBpZDogMHg4MzAwIGJhc2U6
IDB4ZmVkMDAwMDAKPiAoWEVOKSBQQ0k6IE1DRkcgY29uZmlndXJhdGlvbiAwOiBiYXNlIGUwMDAw
MDAwIHNlZ21lbnQgMCBidXNlcyAwIC0gMjU1Cj4gKFhFTikgUENJOiBOb3QgdXNpbmcgTU1DT05G
SUcuCj4gKFhFTikgVGFibGUgaXMgbm90IGZvdW5kIQo+IChYRU4pIFVzaW5nIEFDUEkgKE1BRFQp
IGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgo+IChYRU4pIElSUSBsaW1pdHM6IDU2
IEdTSSwgMTExMiBNU0kvTVNJLVgKPiAoWEVOKSBVc2luZyBzY2hlZHVsZXI6IFNNUCBDcmVkaXQg
U2NoZWR1bGVyIChjcmVkaXQpCj4gKFhFTikgRGV0ZWN0ZWQgMzAxMC4yMjAgTUh6IHByb2Nlc3Nv
ci4KPiAoWEVOKSBJbml0aW5nIG1lbW9yeSBzaGFyaW5nLgo+IChYRU4pIEFNRCBGYW0xMGggbWFj
aGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZAo+IChYRU4pIEFNRC1WaTogSU9NTVUgMCBFbmFi
bGVkLgo+IChYRU4pIEkvTyB2aXJ0dWFsaXNhdGlvbiBlbmFibGVkCj4gKFhFTikgIC0gRG9tMCBt
b2RlOiBSZWxheGVkCj4gKFhFTikgRU5BQkxJTkcgSU8tQVBJQyBJUlFzCj4gKFhFTikgIC0+IFVz
aW5nIG5ldyBBQ0sgbWV0aG9kCj4gKFhFTikgLi5USU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBw
aW4xPTIgYXBpYzI9LTEgcGluMj0tMQo+IChYRU4pIFBsYXRmb3JtIHRpbWVyIGlzIDE0LjMxOE1I
eiBIUEVUCj4gw78oWEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDY0IEtpQi4KPiAoWEVO
KSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhFTikgU1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVh
dHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBhZ2UgVGFibGVzIChOUFQpCj4gKFhFTikgIC0gTGFz
dCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1YWxpc2F0aW9uCj4gKFhFTikgIC0gTmV4dC1SSVAg
U2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAtIFBhdXNlLUludGVyY2VwdCBGaWx0ZXIKPiAoWEVO
KSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Npc3RlZCBQYWdpbmcg
ZGV0ZWN0ZWQuCj4gKFhFTikgQnJvdWdodCB1cCA2IENQVXMKPiAoWEVOKSBIUEVUJ3MgTVNJIG1v
ZGUgaGFzbid0IGJlZW4gc3VwcG9ydGVkIHdoZW4gSW50ZXJydXB0IFJlbWFwcGluZyBpcyBlbmFi
bGVkLgo+IChYRU4pIEFDUEkgc2xlZXAgbW9kZXM6IFMzCj4gKFhFTikgTUNBOiBVc2UgaHcgdGhy
ZXNob2xkaW5nIHRvIGFkanVzdCBwb2xsaW5nIGZyZXF1ZW5jeQo+IChYRU4pIG1jaGVja19wb2xs
OiBNYWNoaW5lIGNoZWNrIHBvbGxpbmcgdGltZXIgc3RhcnRlZC4KPiAoWEVOKSBYZW5vcHJvZmls
ZTogRmFpbGVkIHRvIHNldHVwIElCUyBMVlQgb2Zmc2V0LCBJQlNDVEwgPSAweGZmZmZmZmZmCj4g
KFhFTikgKioqIExPQURJTkcgRE9NQUlOIDAgKioqCj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTog
cGhkcjogcGFkZHI9MHgxMDAwMDAwIG1lbXN6PTB4NzdjMDAwCj4gKFhFTikgZWxmX3BhcnNlX2Jp
bmFyeTogcGhkcjogcGFkZHI9MHgxNzdjMDAwIG1lbXN6PTB4OGRhODgKPiAoWEVOKSBlbGZfcGFy
c2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE4MGEwMDAgbWVtc3o9MHg4YzgKPiAoWEVOKSBlbGZf
cGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE4MGIwMDAgbWVtc3o9MHgxNGE1OAo+IChYRU4p
IGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTgyMDAwMCBtZW1zej0weDIxMjAwMAo+
IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IG1lbW9yeTogMHgxMDAwMDAwIC0+IDB4MWEzMjAwMAo+
IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogR1VFU1RfT1MgPSAibGludXgiCj4gKFhFTikgZWxm
X3hlbl9wYXJzZV9ub3RlOiBHVUVTVF9WRVJTSU9OID0gIjIuNiIKPiAoWEVOKSBlbGZfeGVuX3Bh
cnNlX25vdGU6IFhFTl9WRVJTSU9OID0gInhlbi0zLjAiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9u
b3RlOiBWSVJUX0JBU0UgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNl
X25vdGU6IEVOVFJZID0gMHhmZmZmZmZmZjgxODIwMjAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9u
b3RlOiBIWVBFUkNBTExfUEFHRSA9IDB4ZmZmZmZmZmY4MTAwOTAwMAo+IChYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogRkVBVFVSRVMgPSAiIXdyaXRhYmxlX3BhZ2VfdGFibGVzfHBhZV9wZ2Rpcl9h
Ym92ZV80Z2IiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBQQUVfTU9ERSA9ICJ5ZXMiCj4g
KFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBMT0FERVIgPSAiZ2VuZXJpYyIKPiAoWEVOKSBlbGZf
eGVuX3BhcnNlX25vdGU6IHVua25vd24geGVuIGVsZiBub3RlICgweGQpCj4gKFhFTikgZWxmX3hl
bl9wYXJzZV9ub3RlOiBTVVNQRU5EX0NBTkNFTCA9IDB4MQo+IChYRU4pIGVsZl94ZW5fcGFyc2Vf
bm90ZTogSFZfU1RBUlRfTE9XID0gMHhmZmZmODAwMDAwMDAwMDAwCj4gKFhFTikgZWxmX3hlbl9w
YXJzZV9ub3RlOiBQQUREUl9PRkZTRVQgPSAweDAKPiAoWEVOKSBlbGZfeGVuX2FkZHJfY2FsY19j
aGVjazogYWRkcmVzc2VzOgo+IChYRU4pICAgICB2aXJ0X2Jhc2UgICAgICAgID0gMHhmZmZmZmZm
ZjgwMDAwMDAwCj4gKFhFTikgICAgIGVsZl9wYWRkcl9vZmZzZXQgPSAweDAKPiAoWEVOKSAgICAg
dmlydF9vZmZzZXQgICAgICA9IDB4ZmZmZmZmZmY4MDAwMDAwMAo+IChYRU4pICAgICB2aXJ0X2tz
dGFydCAgICAgID0gMHhmZmZmZmZmZjgxMDAwMDAwCj4gKFhFTikgICAgIHZpcnRfa2VuZCAgICAg
ICAgPSAweGZmZmZmZmZmODFhMzIwMDAKPiAoWEVOKSAgICAgdmlydF9lbnRyeSAgICAgICA9IDB4
ZmZmZmZmZmY4MTgyMDIwMAo+IChYRU4pICAgICBwMm1fYmFzZSAgICAgICAgID0gMHhmZmZmZmZm
ZmZmZmZmZmZmCj4gKFhFTikgIFhlbiAga2VybmVsOiA2NC1iaXQsIGxzYiwgY29tcGF0MzIKPiAo
WEVOKSAgRG9tMCBrZXJuZWw6IDY0LWJpdCwgUEFFLCBsc2IsIHBhZGRyIDB4MTAwMDAwMCAtPiAw
eDFhMzIwMDAKPiAoWEVOKSBQSFlTSUNBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6Cj4gKFhFTikgIERv
bTAgYWxsb2MuOiAgIDAwMDAwMDAyMjQwMDAwMDAtPjAwMDAwMDAyMjgwMDAwMDAgKDUwNjI2MyBw
YWdlcyB0byBiZSBhbGxvY2F0ZWQpCj4gKFhFTikgIEluaXQuIHJhbWRpc2s6IDAwMDAwMDAyMmY5
OTcwMDAtPjAwMDAwMDAyMmZmZmY2MDAKPiAoWEVOKSBWSVJUVUFMIE1FTU9SWSBBUlJBTkdFTUVO
VDoKPiAoWEVOKSAgTG9hZGVkIGtlcm5lbDogZmZmZmZmZmY4MTAwMDAwMC0+ZmZmZmZmZmY4MWEz
MjAwMAo+IChYRU4pICBJbml0LiByYW1kaXNrOiBmZmZmZmZmZjgxYTMyMDAwLT5mZmZmZmZmZjgy
MDlhNjAwCj4gKFhFTikgIFBoeXMtTWFjaCBtYXA6IGZmZmZmZmZmODIwOWIwMDAtPmZmZmZmZmZm
ODI0OWIwMDAKPiAoWEVOKSAgU3RhcnQgaW5mbzogICAgZmZmZmZmZmY4MjQ5YjAwMC0+ZmZmZmZm
ZmY4MjQ5YjRiNAo+IChYRU4pICBQYWdlIHRhYmxlczogICBmZmZmZmZmZjgyNDljMDAwLT5mZmZm
ZmZmZjgyNGIzMDAwCj4gKFhFTikgIEJvb3Qgc3RhY2s6ICAgIGZmZmZmZmZmODI0YjMwMDAtPmZm
ZmZmZmZmODI0YjQwMDAKPiAoWEVOKSAgVE9UQUw6ICAgICAgICAgZmZmZmZmZmY4MDAwMDAwMC0+
ZmZmZmZmZmY4MjgwMDAwMAo+IChYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgxODIwMjAw
Cj4gKFhFTikgRG9tMCBoYXMgbWF4aW11bSA2IFZDUFVzCj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5
OiBwaGRyIDAgYXQgMHhmZmZmZmZmZjgxMDAwMDAwIC0+IDB4ZmZmZmZmZmY4MTc3YzAwMAo+IChY
RU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAxIGF0IDB4ZmZmZmZmZmY4MTc3YzAwMCAtPiAweGZm
ZmZmZmZmODE4MDlhODgKPiAoWEVOKSBlbGZfbG9hZF9iaW5hcnk6IHBoZHIgMiBhdCAweGZmZmZm
ZmZmODE4MGEwMDAgLT4gMHhmZmZmZmZmZjgxODBhOGM4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5
OiBwaGRyIDMgYXQgMHhmZmZmZmZmZjgxODBiMDAwIC0+IDB4ZmZmZmZmZmY4MTgxZmE1OAo+IChY
RU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciA0IGF0IDB4ZmZmZmZmZmY4MTgyMDAwMCAtPiAweGZm
ZmZmZmZmODE4YjMwMDAKPiAoWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChY
RU4pIFN0ZC4gTG9nbGV2ZWw6IEFsbAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVO
KSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikg
KioqKioqKiBXQVJOSU5HOiBDT05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoq
KioqKiogVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkg
ZW5zdXJpbmcKPiAoWEVOKSAqKioqKioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5
IGRlbGl2ZXJlZCBvbiB0aGUgc2VyaWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0
IGNhbiBpbnRyb2R1Y2UgU0lHTklGSUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAq
KioqKioqIHRpbWVrZWVwaW5nLiBJdCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24g
dXNlIQo+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKPiAoWEVOKSAzLi4uIDIuLi4gMS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERP
TTAgKHR5cGUgJ0NUUkwtYScgdGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAo
WEVOKSBGcmVlZCAyMzZrQiBpbml0IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNp
Y2FsIG1lbW9yeQo+IFhlbjogc2V0dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQg
c3RhcnRlZC4uLgo+IEVSUk9SOiBVbmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJIDIKPiBF
UlJPUjogVW5hYmxlIHRvIGxvY2F0ZSBJT0FQSUMgZm9yIEdTSSA5Cj4gKFhFTikgdHJhcHMuYzoy
NDA1OmQwIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAw
MGU0YTc1ZGY4NjUxNCB0byAweDAwMDAwMDAwMDAwMDAwMDAuCj4gKFhFTikgdHJhcHMuYzoyNDA1
OmQwIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwMCBmcm9tIDB4MDAwMDAz
MGUxYjBlZmZlOSB0byAweDAwMDAwMDAwMDA0MzAwNzYuCj4gRVJST1I6IFVuYWJsZSB0byBsb2Nh
dGUgSU9BUElDIGZvciBHU0kgOQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjAwLjAKPiAoWEVO
KSBQQ0kgYWRkIGRldmljZSAwMDowMC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDIuMAo+
IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjA0LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDow
NS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDYuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwOjA3LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDowZC4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDA6MTEuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjEyLjAKPiAoWEVOKSBQQ0kg
YWRkIGRldmljZSAwMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTMuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwOjEzLjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxNC4wCj4g
KFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTQuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE0
LjMKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxNC40Cj4gKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDA6MTQuNQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE2LjAKPiAoWEVOKSBQQ0kgYWRkIGRl
dmljZSAwMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTguMAo+IChYRU4pIFBDSSBh
ZGQgZGV2aWNlIDAwOjE4LjEKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxOC4yCj4gKFhFTikg
UENJIGFkZCBkZXZpY2UgMDA6MTguMwo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE4LjQKPiAo
WEVOKSBQQ0kgYWRkIGRldmljZSAwNzowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDc6MDAu
MQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDA2OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAw
NjowMC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDU6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2
aWNlIDA0OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMzowMC4wCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDI6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAyOjAwLjEKPiByZWdpc3Rl
cmluZyBuZXRiYWNrCj4gSVQ4NyBXRFQ6IFVua25vd24gQ2hpcCBmb3VuZCwgQ2hpcCA4NzIxIFJl
dmlzaW9uIDAwMDEKPiBbRmlybXdhcmUgQnVnXTogcG93ZXJub3ctazg6IE5vIGNvbXBhdGlibGUg
QUNQSSBfUFNTIG9iamVjdHMgZm91bmQuCj4gW0Zpcm13YXJlIEJ1Z106IHBvd2Vybm93LWs4OiBU
cnkgYWdhaW4gd2l0aCBsYXRlc3QgQklPUy4KPiBMb2FkaW5nLCBwbGVhc2Ugd2FpdC4uLgo+IElO
SVQ6IHZlcnNpb24gMi44OCBib290aW5nCj4gVXNpbmcgbWFrZWZpbGUtc3R5bGUgY29uY3VycmVu
dCBib290IGluIHJ1bmxldmVsIFMuCj4gU3RhcnRpbmcgdGhlIGhvdHBsdWcgZXZlbnRzIGRpc3Bh
dGNoZXI6IHVkZXZkLgo+IFN5bnRoZXNpemluZyB0aGUgaW5pdGlhbCBob3RwbHVnIGV2ZW50cy4u
LmRvbmUuCj4gV2FpdGluZyBmb3IgL2RldiB0byBiZSBmdWxseSBwb3B1bGF0ZWQuLi51ZGV2ZC13
b3JrWzE0MjldOiBrZXJuZWwtcHJvdmlkZWQgbmFtZSAnYmxrdGFwLWNvbnRyb2wnIGFuZCBOQU1F
PSAneGVuL2Jsa3RhcC0yL2NvbnRyb2wnIGRpc2FncmVlLCBwbGVhc2UgdXNlIFNZTUxJTksrPSBv
ciBjaGFuZ2UgdGhlIGtlcm5lbCB0byBwcm92aWRlIHRoZSBwcm9wZXIgbmFtZQo+IAo+IGRvbmUu
Cj4gU2V0dGluZyBwcmVsaW1pbmFyeSBrZXltYXAuLi5kb25lLgo+IEFjdGl2YXRpbmcgc3dhcC4u
LmRvbmUuCj4gQ2hlY2tpbmcgcm9vdCBmaWxlIHN5c3RlbS4uLmZzY2sgZnJvbSB1dGlsLWxpbnV4
LW5nIDIuMTcuMgo+IEhPV1RPX1JPT1Q6IGNsZWFuLCA5NTA1Ni8xNDE5ODQwIGZpbGVzLCA3MzEy
MDcvNTY3OTEwNCBibG9ja3MgKGNoZWNrIGluIDMgbW91bnRzKQo+IGRvbmUuCj4gTG9hZGluZyBr
ZXJuZWwgbW9kdWxlcy4uLmRvbmUuCj4gQ2xlYW5pbmcgdXAgaWZ1cGRvd24uLi4uCj4gU2V0dGlu
ZyB1cCBuZXR3b3JraW5nLi4uLgo+IFNldHRpbmcgdXAgTFZNIFZvbHVtZSBHcm91cHMgIFJlYWRp
bmcgYWxsIHBoeXNpY2FsIHZvbHVtZXMuICBUaGlzIG1heSB0YWtlIGEgd2hpbGUuLi4KPiAgIEZv
dW5kIHZvbHVtZSBncm91cCAibGVtcm91Y2giIHVzaW5nIG1ldGFkYXRhIHR5cGUgbHZtMgo+ICAg
NCBsb2dpY2FsIHZvbHVtZShzKSBpbiB2b2x1bWUgZ3JvdXAgImxlbXJvdWNoIiBub3cgYWN0aXZl
Cj4gLgo+IEFjdGl2YXRpbmcgbHZtIGFuZCBtZCBzd2FwLi4uZG9uZS4KPiBDaGVja2luZyBmaWxl
IHN5c3RlbXMuLi5mc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBkb25lLgo+IE1vdW50
aW5nIGxvY2FsIGZpbGVzeXN0ZW1zLi4uZG9uZS4KPiBBY3RpdmF0aW5nIHN3YXBmaWxlIHN3YXAu
Li5kb25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBTZXR0aW5nIGtlcm5l
bCB2YXJpYWJsZXMgLi4uZG9uZS4KPiBDb25maWd1cmluZyBuZXR3b3JrIGludGVyZmFjZXMuLi5k
b25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBTZXR0aW5nIGNvbnNvbGUg
c2NyZWVuIG1vZGVzLgo+IFJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZQo+IFNraXBwaW5n
IGZvbnQgYW5kIGtleW1hcCBzZXR1cCAoaGFuZGxlZCBieSBjb25zb2xlLXNldHVwKS4KPiBTZXR0
aW5nIHVwIGNvbnNvbGUgZm9udCBhbmQga2V5bWFwLi4uZG9uZS4KPiBJTklUOiBFbnRlcmluZyBy
dW5sZXZlbDogMgo+IFVzaW5nIG1ha2VmaWxlLXN0eWxlIGNvbmN1cnJlbnQgYm9vdCBpbiBydW5s
ZXZlbCAyLgo+IGFjcGlkOiBzdGFydGluZyB1cCB3aXRoIHByb2MgZnMKPiAKPiBhY3BpZDogMSBy
dWxlIGxvYWRlZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6IGV2ZW50IGxvZ2dpbmcg
aXMgb2ZmCj4gCj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBTdGFydGluZyBzeXN0ZW0g
bWVzc2FnZSBidXM6IGRidXMuCj4gU3RhcnRpbmcgcGVyaW9kaWMgY29tbWFuZCBzY2hlZHVsZXI6
IGNyb24uCj4gU3RhcnRpbmcgT3BlbkJTRCBTZWN1cmUgU2hlbGwgc2VydmVyOiBzc2hkLgo+IFN0
YXJ0aW5nIHhlbnN0b3JlZC4uLlhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVO
QlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNw
dSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFi
bGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+
IAo+IFNldHRpbmcgZG9tYWluIDAgbmFtZS4uLgo+IFN0YXJ0aW5nIHhlbmNvbnNvbGVkLi4uCj4g
QkxLVEFQQ1RSTFsyMTU2XTogYmxrdGFwY3RybC5jOjc5MDogYmxrdGFwY3RybDogdjEuMC4wCj4g
Cj4gQkxLVEFQQ1RSTFsyMTU2XTogYmxrdGFwY3RybC5jOjc5MjogRm91bmQgZHJpdmVyOiBbcmF3
IGltYWdlIChhaW8pXQo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo3OTI6IEZv
dW5kIGRyaXZlcjogW3JhdyBpbWFnZSAoc3luYyldCj4gCj4gQkxLVEFQQ1RSTFsyMTU2XTogYmxr
dGFwY3RybC5jOjc5MjogRm91bmQgZHJpdmVyOiBbdm13YXJlIGltYWdlICh2bWRrKV0KPiAKPiBC
TEtUQVBDVFJMWzIxNTZdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2ZXI6IFtyYW1kaXNr
IGltYWdlIChyYW0pXQo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo3OTI6IEZv
dW5kIGRyaXZlcjogW3Fjb3cgZGlzayAocWNvdyldCj4gCj4gQkxLVEFQQ1RSTFsyMTU2XTogYmxr
dGFwY3RybC5jOjc5MjogRm91bmQgZHJpdmVyOiBbcWNvdzIgZGlzayAocWNvdzIpXQo+IAo+IEJM
S1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmxfbGludXguYzo4NjogYmxrdGFwMCBvcGVuIGZhaWxl
ZAo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo4NTk6IGNvdWxkbid0IG9wZW4g
YmxrdGFwIGludGVyZmFjZQo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo5MjI6
IFVuYWJsZSB0byBzdGFydCBibGt0YXBjdHJsCj4gCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2Ug
MDA6MTIuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjEyLjIKPiAvdXNyL2xvY2FsL2Jpbi94
ZW5fc3RhcnQuc2g6IGxpbmUgMTU6IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDc6MDAuMC9k
cml2ZXIvdW5iaW5kOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gVXNpbmcgY29uZmlnIGZp
bGUgIi9ldGMveGVuL3dpbmRvd3MiLgo+IChYRU4pIGRvbWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21h
cDphZGQgZl9ncG9ydD0zYjAgZl9tcG9ydD0zYjAgbnA9Ywo+IChYRU4pIGRvbWN0bC5jOjk4Njpk
MCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWEwIG1mbj1hMCBucl9tZm5zPTIwCj4gKFhFTikgZG9tY3Rs
LmM6MTA0MjpkMCBpb3BvcnRfbWFwOmFkZCBmX2dwb3J0PTNjMCBmX21wb3J0PTNjMCBucD0zCj4g
KFhFTikgZG9tY3RsLmM6MTA0MjpkMCBpb3BvcnRfbWFwOmFkZCBmX2dwb3J0PTNjNCBmX21wb3J0
PTNjNCBucD0xYwo+IChYRU4pIEhWTTE6IEhWTSBMb2FkZXIKPiAoWEVOKSBIVk0xOiBEZXRlY3Rl
ZCBYZW4gdjQuMi11bnN0YWJsZQo+IChYRU4pIEhWTTE6IFhlbmJ1cyByaW5ncyBAMHhmZWZmYzAw
MCwgZXZlbnQgY2hhbm5lbCA3Cj4gU3RhcnRlZCBkb21haW4gd2luZG93cyAoaWQ9MSkoWEVOKSBI
Vk0xOiBTeXN0ZW0gcmVxdWVzdGVkIFJPTUJJT1MKPiAKPiAoWEVOKSBIVk0xOiBDUFUgc3BlZWQg
aXMgMzAxMCBNSHoKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTEgUENJIGxpbmsgMCBjaGFuZ2VkIDAg
LT4gNQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAwIHJvdXRlZCB0byBJUlE1Cj4gKFhFTikg
aXJxLmM6MjU4OiBEb20xIFBDSSBsaW5rIDEgY2hhbmdlZCAwIC0+IDEwCj4gKFhFTikgSFZNMTog
UENJLUlTQSBsaW5rIDEgcm91dGVkIHRvIElSUTEwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBD
SSBsaW5rIDIgY2hhbmdlZCAwIC0+IDExCj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDIgcm91
dGVkIHRvIElSUTExCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBDSSBsaW5rIDMgY2hhbmdlZCAw
IC0+IDUKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMyByb3V0ZWQgdG8gSVJRNQo+IChYRU4p
IEhWTTE6IHBjaSBkZXYgMDE6MyBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6
MCBJTlRBLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNDowIElOVEEtPklSUTUKPiAoWEVO
KSBIVk0xOiBwY2kgZGV2IDA1OjAgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2
OjAgSU5UQi0+SVJRNQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBJTlRBLT5JUlE1Cj4gKFhF
TikgSFZNMTogcGNpIGRldiAwODowIElOVEItPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAw
OTowIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxMCBzaXplIDEw
MDAwMDAwOiBlMDAwMDAwYwo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDog
Z2ZuPWUwMDAwIG1mbj1kMDAwMCBucl9tZm5zPTEwMDAwCj4gKFhFTikgSFZNMTogcGNpIGRldiAw
MzowIGJhciAxNCBzaXplIDAxMDAwMDAwOiBmMDAwMDAwOAo+IChYRU4pIEhWTTE6IHBjaSBkZXYg
MDQ6MCBiYXIgMTAgc2l6ZSAwMDAyMDAwMDogZjEwMDAwMDAKPiAoWEVOKSBkb21jdGwuYzo5ODY6
ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnJfbWZucz0yMAo+IChYRU4p
IEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTggc2l6ZSAwMDAyMDAwMDogZjEwMjAwMDQKPiAoWEVO
KSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDMwIHNpemUgMDAwMjAwMDA6IGYxMDQwMDAwCj4gKFhF
TikgSFZNMTogcGNpIGRldiAwNjowIGJhciAxMCBzaXplIDAwMDA0MDAwOiBmMTA2MDAwNAo+IChY
RU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDYwIG1mbj1mZTliYyBu
cl9tZm5zPTQKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA5OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6
IGYxMDY0MDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEw
NjQgbWZuPWZlM2Y4IG5yX21mbnM9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBiYXIgMTAg
c2l6ZSAwMDAwMTAwMDogZjEwNjgwMDAKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21h
cDphZGQ6IGdmbj1mMTA2OCBtZm49ZmUzZjcgbnJfbWZucz0xCj4gKFhFTikgSFZNMTogcGNpIGRl
diAwODowIGJhciAxMCBzaXplIDAwMDAxMDAwOiBmMTA2OTAwMAo+IChYRU4pIGRvbWN0bC5jOjk4
NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY5IG1mbj1mMDAwMCBucl9tZm5zPTEKPiAoWEVO
KSBIVk0xOiBwY2kgZGV2IDAzOjAgYmFyIDEwIHNpemUgMDAwMDAxMDA6IDAwMDBjMDAxCj4gKFhF
TikgSFZNMTogcGNpIGRldiAwNTowIGJhciAyMCBzaXplIDAwMDAwMTAwOiAwMDAwYzEwMQo+IChY
RU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBiYXIgMTQgc2l6ZSAwMDAwMDA0MDogMDAwMGMyMDEKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDAxOjEgYmFyIDIwIHNpemUgMDAwMDAwMTA6IDAwMDBjMjQxCj4g
KFhFTikgSFZNMTogTXVsdGlwcm9jZXNzb3IgaW5pdGlhbGlzYXRpb246Cj4gKFhFTikgSFZNMTog
IC0gQ1BVMCAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMv
OF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BVMSAuLi4gNDgtYml0IHBoeXMgLi4uIGZp
eGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0g
Q1BVMiAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0g
Li4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BVMyAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVk
IE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BV
NCAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4u
IGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BVNSAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1U
UlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogVGVzdGluZyBI
Vk0gZW52aXJvbm1lbnQ6Cj4gKFhFTikgSFZNMTogIC0gUkVQIElOU0IgYWNyb3NzIHBhZ2UgYm91
bmRhcmllcyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMTogIC0gR1MgYmFzZSBNU1JzIGFuZCBTV0FQ
R1MgLi4uIHBhc3NlZAo+IChYRU4pIEhWTTE6IFBhc3NlZCAyIG9mIDIgdGVzdHMKPiAoWEVOKSBI
Vk0xOiBXcml0aW5nIFNNQklPUyB0YWJsZXMgLi4uCj4gKFhFTikgSFZNMTogTG9hZGluZyBST01C
SU9TIC4uLgo+IChYRU4pIEhWTTE6IDk2NjAgYnl0ZXMgb2YgUk9NQklPUyBoaWdoLW1lbW9yeSBl
eHRlbnNpb25zOgo+IChYRU4pIEhWTTE6ICAgUmVsb2NhdGluZyB0byAweGZjMDAwMDAwLTB4ZmMw
MDI1YmMgLi4uIGRvbmUKPiAoWEVOKSBIVk0xOiBDcmVhdGluZyBNUCB0YWJsZXMgLi4uCj4gKFhF
TikgSFZNMTogTG9hZGluZyBWR0FCSU9TIG9mIHBhc3N0aHJvdWdoZWQgZ2Z4IC4uLgo+IChYRU4p
IEhWTTE6IExvYWRpbmcgUENJIE9wdGlvbiBST00gLi4uCj4gKFhFTikgSFZNMTogIC0gTWFudWZh
Y3R1cmVyOiBodHRwOi8vZXRoZXJib290Lm9yZwo+IChYRU4pIEhWTTE6ICAtIFByb2R1Y3QgbmFt
ZTogZ1BYRQo+IChYRU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KPiAoWEVOKSBIVk0xOiAgLSBM
byBkYXRhOiAwMDBlYTAyMC0wMDBlYTA0Zgo+IChYRU4pIEhWTTE6ICAtIEhpIGRhdGE6IGZjMDAy
ODAwLWZjMDEyOTFmCj4gKFhFTikgSFZNMTogdm04NiBUU1MgYXQgZmMwMTJjMDAKPiAoWEVOKSBI
Vk0xOiBCSU9TIG1hcDoKPiAoWEVOKSBIVk0xOiAgYzAwMDAtY2ZmZmY6IFZHQSBCSU9TCj4gKFhF
TikgSFZNMTogIGQwMDAwLWUxZmZmOiBFdGhlcmJvb3QgUk9NCj4gKFhFTikgSFZNMTogIGViMDAw
LWViMjBmOiBTTUJJT1MgdGFibGVzCj4gKFhFTikgSFZNMTogIGYwMDAwLWZmZmZmOiBNYWluIEJJ
T1MKPiAoWEVOKSBIVk0xOiBFODIwIHRhYmxlOgo+IChYRU4pIEhWTTE6ICBbMDBdOiAwMDAwMDAw
MDowMDAwMDAwMCAtIDAwMDAwMDAwOjAwMDllMDAwOiBSQU0KPiAoWEVOKSBIVk0xOiAgWzAxXTog
MDAwMDAwMDA6MDAwOWUwMDAgLSAwMDAwMDAwMDowMDA5ZmMwMDogUkVTRVJWRUQKPiAoWEVOKSBI
Vk0xOiAgWzAyXTogMDAwMDAwMDA6MDAwOWZjMDAgLSAwMDAwMDAwMDowMDBhMDAwMDogUkVTRVJW
RUQKPiAoWEVOKSBIVk0xOiAgSE9MRTogMDAwMDAwMDA6MDAwYTAwMDAgLSAwMDAwMDAwMDowMDBl
MDAwMAo+IChYRU4pIEhWTTE6ICBbMDNdOiAwMDAwMDAwMDowMDBlMDAwMCAtIDAwMDAwMDAwOjAw
MTAwMDAwOiBSRVNFUlZFRAo+IChYRU4pIEhWTTE6ICBbMDRdOiAwMDAwMDAwMDowMDEwMDAwMCAt
IDAwMDAwMDAwOmUwMDAwMDAwOiBSQU0KPiAoWEVOKSBIVk0xOiAgSE9MRTogMDAwMDAwMDA6ZTAw
MDAwMDAgLSAwMDAwMDAwMDpmYzAwMDAwMAo+IChYRU4pIEhWTTE6ICBbMDVdOiAwMDAwMDAwMDpm
YzAwMDAwMCAtIDAwMDAwMDAxOjAwMDAwMDAwOiBSRVNFUlZFRAo+IChYRU4pIEhWTTE6ICBbMDZd
OiAwMDAwMDAwMTowMDAwMDAwMCAtIDAwMDAwMDAxOjIwMDAwMDAwOiBSQU0KPiAoWEVOKSBIVk0x
OiBJbnZva2luZyBST01CSU9TIC4uLgo+IChYRU4pIEhWTTE6ICRSZXZpc2lvbjogMS4yMjEgJCAk
RGF0ZTogMjAwOC8xMi8wNyAxNzozMjoyOSAkCj4gKFhFTikgSFZNMTogQm9jaHMgQklPUyAtIGJ1
aWxkOiAwNi8yMy85OQo+IChYRU4pIEhWTTE6ICRSZXZpc2lvbjogMS4yMjEgJCAkRGF0ZTogMjAw
OC8xMi8wNyAxNzozMjoyOSAkCj4gKFhFTikgSFZNMTogT3B0aW9uczogYXBtYmlvcyBwY2liaW9z
IGVsdG9yaXRvIFBNTSAKPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBIVk0xOiBhdGEwLTA6IFBDSFM9
MTYzODMvMTYvNjMgdHJhbnNsYXRpb249bGJhIExDSFM9MTAyNC8yNTUvNjMKPiAoWEVOKSBIVk0x
OiBhdGEwIG1hc3RlcjogUUVNVSBIQVJERElTSyBBVEEtNyBIYXJkLURpc2sgKDIwNDgwIE1CeXRl
cykKPiAoWEVOKSBIVk0xOiBhdGEwLTE6IFBDSFM9MTYzODMvMTYvNjMgdHJhbnNsYXRpb249bGJh
IExDSFM9MTAyNC8yNTUvNjMKPiAoWEVOKSBIVk0xOiBhdGEwICBzbGF2ZTogUUVNVSBIQVJERElT
SyBBVEEtNyBIYXJkLURpc2sgKDUxMjAwIE1CeXRlcykKPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBI
Vk0xOiAKPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBIVk0xOiBQcmVzcyBGMTIgZm9yIGJvb3QgbWVu
dS4KPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBIVk0xOiBCb290aW5nIGZyb20gSGFyZCBEaXNrLi4u
Cj4gKFhFTikgSFZNMTogQm9vdGluZyBmcm9tIDAwMDA6N2MwMAo+IChYRU4pIGlycS5jOjI1ODog
RG9tMSBQQ0kgbGluayAwIGNoYW5nZWQgNSAtPiAwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBD
SSBsaW5rIDEgY2hhbmdlZCAxMCAtPiAwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBDSSBsaW5r
IDIgY2hhbmdlZCAxMSAtPiAwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBDSSBsaW5rIDMgY2hh
bmdlZCA1IC0+IDAKPiAoWEVOKSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21hcDpyZW1vdmU6IGdm
bj1lMDAwMCBtZm49ZDAwMDAgbnJfbWZucz0xMDAwMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBt
ZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIwCj4gKFhFTikg
ZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21m
bnM9MTAwMDAKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTAy
MCBtZm49ZmU5ZTAgbnJfbWZucz0yMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFw
OnJlbW92ZTogZ2ZuPWYxMDYwIG1mbj1mZTliYyBucl9tZm5zPTQKPiAoWEVOKSBkb21jdGwuYzo5
ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTA2MCBtZm49ZmU5YmMgbnJfbWZucz00Cj4gKFhF
TikgZG9tY3RsLmM6OTk2OmQwIG1lbW9yeV9tYXA6cmVtb3ZlOiBnZm49ZjEwNjggbWZuPWZlM2Y3
IG5yX21mbnM9MQo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYx
MDY4IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21h
cDpyZW1vdmU6IGdmbj1mMTA2OSBtZm49ZjAwMDAgbnJfbWZucz0xCj4gKFhFTikgZG9tY3RsLmM6
OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9MQo+IChY
RU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDY0IG1mbj1mZTNm
OCBucl9tZm5zPTQKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1m
MTA2NCBtZm49ZmUzZjggbnJfbWZucz00Cj4gKFhFTikgZ3JhbnRfdGFibGUuYzoxMTU2OmQxIEV4
cGFuZGluZyBkb20gKDEpIGdyYW50IHRhYmxlIGZyb20gKDQpIHRvICgzMikgZnJhbWVzLgo+IChY
RU4pIGlycS5jOjMyNDogRG9tMSBjYWxsYmFjayB2aWEgY2hhbmdlZCB0byBHU0kgMjgKPiAoWEVO
KSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21hcDpyZW1vdmU6IGdmbj1lMDAwMCBtZm49ZDAwMDAg
bnJfbWZucz0xMDAwMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFwOnJlbW92ZTog
Z2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIwCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1l
bW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21mbnM9MTAwMDAKPiAoWEVOKSBk
b21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnJfbWZu
cz0yMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDY4
IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDph
ZGQ6IGdmbj1mMTA2OCBtZm49ZmUzZjcgbnJfbWZucz0xCj4gKFhFTikgZG9tY3RsLmM6OTk2OmQw
IG1lbW9yeV9tYXA6cmVtb3ZlOiBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yX21mbnM9NAo+IChYRU4p
IGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDYwIG1mbj1mZTliYyBucl9t
Zm5zPTQKPiAoWEVOKSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21hcDpyZW1vdmU6IGdmbj1mMTA2
OSBtZm49ZjAwMDAgbnJfbWZucz0xCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6
YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9MQo+IChYRU4pIGRvbWN0bC5jOjk5Njpk
MCBtZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDY0IG1mbj1mZTNmOCBucl9tZm5zPTQKPiAoWEVO
KSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJf
bWZucz00Cgo+ICBfXyAgX18gICAgICAgICAgICBfICBfICAgIF9fX18gICAgICAgICAgICAgICAg
ICAgICBfICAgICAgICBfICAgICBfICAgICAgCj4gIFwgXC8gL19fXyBfIF9fICAgfCB8fCB8ICB8
X19fIFwgICAgXyAgIF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18gfCB8IF9fXyAKPiAgIFwgIC8v
IF8gXCAnXyBcICB8IHx8IHxfICAgX18pIHxfX3wgfCB8IHwgJ18gXC8gX198IF9fLyBfYCB8ICdf
IFx8IHwvIF8gXAo+ICAgLyAgXCAgX18vIHwgfCB8IHxfXyAgIF98IC8gX18vfF9ffCB8X3wgfCB8
IHwgXF9fIFwgfHwgKF98IHwgfF8pIHwgfCAgX18vCj4gIC9fL1xfXF9fX3xffCB8X3wgICAgfF98
KF8pX19fX198ICAgXF9fLF98X3wgfF98X19fL1xfX1xfXyxffF8uX18vfF98XF9fX3wKPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11bnN0YWJsZSAocm9vdEAobm9u
ZSkpIChnY2MgdmVyc2lvbiA0LjQuNSAoRGViaWFuIDQuNC41LTgpICkgU2F0IE1heSAgNSAxNTo0
ODo0OCBDRVNUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiBGcmkgTWF5IDA0IDExOjE4
OjQ4IDIwMTIgKzAxMDAgMjUyNTk6MGY1MzU0MDQ5NGY3Cj4gKFhFTikgQ29uc29sZSBvdXRwdXQg
aXMgc3luY2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JVQiAxLjk4KzIwMTAwODA0LTE0
K3NxdWVlemUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBkb20wX21lbT0yRyBk
b20wX21heF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBzeW5jX2NvbnNvbGUg
Y29tMT0xMTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAoWEVOKSBWaWRlbyBpbmZvcm1h
dGlvbjoKPiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwgZm9udCA4eDE2Cj4gKFhFTikg
IFZCRS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMSBzZWNvbmRzCj4gKFhF
TikgRGlzYyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBNQlIgc2lnbmF0dXJlcwo+IChY
RU4pICBGb3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCj4gKFhFTikgWGVuLWU4MjAg
UkFNIG1hcDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWFjMDAgKHVz
YWJsZSkKPiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2Vy
dmVkKQo+IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2
ZWQpCj4gKFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1c2FibGUp
Cj4gKFhFTikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEp
Cj4gKFhFTikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykK
PiAoWEVOKSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+
IChYRU4pICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4g
KFhFTikgIDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAwMDAwICh1c2FibGUpCj4gKFhF
TikgQUNQSTogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFNKQo+IChYRU4pIEFDUEk6IFhT
RFQgQ0ZFODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUICAgICAg
IDk3KQo+IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQgKHIzIDEwMjgxMSBGQUNQMTc0
MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IERTRFQgQ0ZFODA0NzAsIEU2
RTMgKHIxICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIwMDYwMTEzKQo+IChYRU4pIEFD
UEk6IEZBQ1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBBUElDIENGRTgwMzkwLCAwMDk4
IChyMSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJ
OiBNQ0ZHIENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAg
ICAgICA5NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAwMDcyIChyMSAxMDI4MTEgT0VN
QjE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBIUEVUIENGRThGOEMw
LCAwMDM4IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVO
KSBBQ1BJOiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAgICBSRDg5MFMgICAyMDIwMzEg
QU1EICAgICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThGOUUwLCAwRTEwIChyMSBBIE0g
SSAgUE9XRVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAoWEVOKSBTeXN0ZW0gUkFNOiA4
MTkwTUIgKDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiAo
WEVOKSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDIzMDAwMDAwMAo+
IChYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikgZm91bmQgU01QIE1QLXRhYmxl
IGF0IDAwMGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhFTikgVXNpbmcgQVBJQyBkcml2
ZXIgZGVmYXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4ODA4Cj4gKFhFTikg
QUNQSTogQUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0sIHBtMXhfZXZ0WzgwMCwwXQo+
IChYRU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tjZmU5ODAwY10sIHZlY19z
aXplWzIwXQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwCj4gKFhF
TikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKPiAo
WEVOKSBQcm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJ
QyAoYWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3Nv
ciAjMSAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4
MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICMyIDA6MTAgQVBJ
QyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNF0gbGFwaWNfaWRb
MHgwM10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDoxMCBBUElDIHZlcnNpb24gMTYK
PiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVk
KQo+IChYRU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6
IExBUElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4gKFhFTikgUHJv
Y2Vzc29yICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlf
aWRbMHgwN10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogTEFQSUMgKGFj
cGlfaWRbMHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogSU9BUElD
IChpZFsweDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNlWzBdKQo+IChYRU4pIElPQVBJ
Q1swXTogYXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIz
Cj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdzaV9i
YXNlWzI0XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAzMywgYWRkcmVz
cyAweGZlYzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAg
YnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4pIEFDUEk6IElOVF9TUkNfT1ZS
IChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiAoWEVOKSBBQ1BJOiBJ
UlEwIHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRl
Lgo+IChYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBFbmFibGluZyBB
UElDIG1vZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAoWEVOKSBBQ1BJOiBIUEVUIGlk
OiAweDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFRhYmxlIGlzIG5vdCBmb3VuZCEKPiAo
WEVOKSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24K
PiAoWEVOKSBTTVA6IEFsbG93aW5nIDggQ1BVcyAoMiBob3RwbHVnIENQVXMpCj4gKFhFTikgSVJR
IGxpbWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjog
U01QIENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAzMDEwLjIyNSBN
SHogcHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1E
IEZhbTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgUENJOiBNQ0ZH
IGNvbmZpZ3VyYXRpb24gMDogYmFzZSBlMDAwMDAwMCBzZWdtZW50IDAwMDAgYnVzZXMgMDAgLSBm
Zgo+IChYRU4pIFBDSTogTm90IHVzaW5nIE1DRkcgZm9yIHNlZ21lbnQgMDAwMCBidXMgMDAtZmYK
PiAoWEVOKSBBTUQtVmk6IElPTU1VIDAgRW5hYmxlZC4KPiAoWEVOKSBBTUQtVmk6IEVuYWJsaW5n
IGdsb2JhbCB2ZWN0b3IgbWFwCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKPiAo
WEVOKSAgLSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMK
PiAoWEVOKSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVOKSAuLlRJTUVSOiB2ZWN0b3I9
MHhGMCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4gKFhFTikgUGxhdGZvcm0gdGlt
ZXIgaXMgMTQuMzE4TUh6IEhQRVQKPiAoWEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDY0
IEtpQi4KPiAoWEVOKSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhFTikgU1ZNOiBTdXBwb3J0ZWQg
YWR2YW5jZWQgZmVhdHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBhZ2UgVGFibGVzIChOUFQpCj4g
KFhFTikgIC0gTGFzdCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1YWxpc2F0aW9uCj4gKFhFTikg
IC0gTmV4dC1SSVAgU2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAtIFBhdXNlLUludGVyY2VwdCBG
aWx0ZXIKPiAoWEVOKSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Np
c3RlZCBQYWdpbmcgKEhBUCkgZGV0ZWN0ZWQKPiAoWEVOKSBIVk06IEhBUCBwYWdlIHNpemVzOiA0
a0IsIDJNQiwgMUdCCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9p
ZD0weDEwMDAwYmYKPiAoWEVOKSBtaWNyb2NvZGU6IGNvbGxlY3RfY3B1X2luZm86IHBhdGNoX2lk
PTB4MTAwMDBiZgo+IChYRU4pIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9
MHgxMDAwMGJmCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9pZD0w
eDEwMDAwYmYKPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChYRU4pIG1pY3JvY29kZTogY29s
bGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhFTikgSFBFVCdzIE1TSSBtb2Rl
IGhhc24ndCBiZWVuIHN1cHBvcnRlZCB3aGVuIEludGVycnVwdCBSZW1hcHBpbmcgaXMgZW5hYmxl
ZC4KPiAoWEVOKSBBQ1BJIHNsZWVwIG1vZGVzOiBTMwo+IChYRU4pIE1DQTogVXNlIGh3IHRocmVz
aG9sZGluZyB0byBhZGp1c3QgcG9sbGluZyBmcmVxdWVuY3kKPiAoWEVOKSBtY2hlY2tfcG9sbDog
TWFjaGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCj4gKFhFTikgWGVub3Byb2ZpbGU6
IEZhaWxlZCB0byBzZXR1cCBJQlMgTFZUIG9mZnNldCwgSUJTQ1RMID0gMHhmZmZmZmZmZgo+IChY
RU4pICoqKiBMT0FESU5HIERPTUFJTiAwICoqKgo+IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBo
ZHI6IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weDViMjAwMAo+IChYRU4pIGVsZl9wYXJzZV9iaW5h
cnk6IHBoZHI6IHBhZGRyPTB4MTViMjAwMCBtZW1zej0weDY2MGUwCj4gKFhFTikgZWxmX3BhcnNl
X2JpbmFyeTogcGhkcjogcGFkZHI9MHgxNjE5MDAwIG1lbXN6PTB4MTI1MDAKPiAoWEVOKSBlbGZf
cGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE2MmMwMDAgbWVtc3o9MHgyMWIwMDAKPiAoWEVO
KSBlbGZfcGFyc2VfYmluYXJ5OiBtZW1vcnk6IDB4MTAwMDAwMCAtPiAweDE4NDcwMDAKPiAoWEVO
KSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4Igo+IChYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogR1VFU1RfVkVSU0lPTiA9ICIyLjYiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9u
b3RlOiBYRU5fVkVSU0lPTiA9ICJ4ZW4tMy4wIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTog
VklSVF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3Rl
OiBFTlRSWSA9IDB4ZmZmZmZmZmY4MTYyYzIwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTog
SFlQRVJDQUxMX1BBR0UgPSAweGZmZmZmZmZmODEwMDEwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNl
X25vdGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJfYWJvdmVf
NGdiIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFFX01PREUgPSAieWVzIgo+IChYRU4p
IGVsZl94ZW5fcGFyc2Vfbm90ZTogTE9BREVSID0gImdlbmVyaWMiCj4gKFhFTikgZWxmX3hlbl9w
YXJzZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQo+IChYRU4pIGVsZl94ZW5fcGFy
c2Vfbm90ZTogU1VTUEVORF9DQU5DRUwgPSAweDEKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6
IEhWX1NUQVJUX0xPVyA9IDB4ZmZmZjgwMDAwMDAwMDAwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vf
bm90ZTogUEFERFJfT0ZGU0VUID0gMHgwCj4gKFhFTikgZWxmX3hlbl9hZGRyX2NhbGNfY2hlY2s6
IGFkZHJlc3NlczoKPiAoWEVOKSAgICAgdmlydF9iYXNlICAgICAgICA9IDB4ZmZmZmZmZmY4MDAw
MDAwMAo+IChYRU4pICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgwCj4gKFhFTikgICAgIHZpcnRf
b2Zmc2V0ICAgICAgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSAgICAgdmlydF9rc3RhcnQg
ICAgICA9IDB4ZmZmZmZmZmY4MTAwMDAwMAo+IChYRU4pICAgICB2aXJ0X2tlbmQgICAgICAgID0g
MHhmZmZmZmZmZjgxODQ3MDAwCj4gKFhFTikgICAgIHZpcnRfZW50cnkgICAgICAgPSAweGZmZmZm
ZmZmODE2MmMyMDAKPiAoWEVOKSAgICAgcDJtX2Jhc2UgICAgICAgICA9IDB4ZmZmZmZmZmZmZmZm
ZmZmZgo+IChYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCj4gKFhFTikg
IERvbTAga2VybmVsOiA2NC1iaXQsIFBBRSwgbHNiLCBwYWRkciAweDEwMDAwMDAgLT4gMHgxODQ3
MDAwCj4gKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgo+IChYRU4pICBEb20wIGFs
bG9jLjogICAwMDAwMDAwMjI2MDAwMDAwLT4wMDAwMDAwMjI4MDAwMDAwICg1MTQ1MDAgcGFnZXMg
dG8gYmUgYWxsb2NhdGVkKQo+IChYRU4pICBJbml0LiByYW1kaXNrOiAwMDAwMDAwMjJmOWM0MDAw
LT4wMDAwMDAwMjJmZmZmMjAwCj4gKFhFTikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6Cj4g
KFhFTikgIExvYWRlZCBrZXJuZWw6IGZmZmZmZmZmODEwMDAwMDAtPmZmZmZmZmZmODE4NDcwMDAK
PiAoWEVOKSAgSW5pdC4gcmFtZGlzazogZmZmZmZmZmY4MTg0NzAwMC0+ZmZmZmZmZmY4MWU4MjIw
MAo+IChYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgxZTgzMDAwLT5mZmZmZmZmZjgyMjgz
MDAwCj4gKFhFTikgIFN0YXJ0IGluZm86ICAgIGZmZmZmZmZmODIyODMwMDAtPmZmZmZmZmZmODIy
ODM0YjQKPiAoWEVOKSAgUGFnZSB0YWJsZXM6ICAgZmZmZmZmZmY4MjI4NDAwMC0+ZmZmZmZmZmY4
MjI5OTAwMAo+IChYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjgyMjk5MDAwLT5mZmZmZmZm
ZjgyMjlhMDAwCj4gKFhFTikgIFRPVEFMOiAgICAgICAgIGZmZmZmZmZmODAwMDAwMDAtPmZmZmZm
ZmZmODI0MDAwMDAKPiAoWEVOKSAgRU5UUlkgQUREUkVTUzogZmZmZmZmZmY4MTYyYzIwMAo+IChY
RU4pIERvbTAgaGFzIG1heGltdW0gNiBWQ1BVcwo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhk
ciAwIGF0IDB4ZmZmZmZmZmY4MTAwMDAwMCAtPiAweGZmZmZmZmZmODE1YjIwMDAKPiAoWEVOKSBl
bGZfbG9hZF9iaW5hcnk6IHBoZHIgMSBhdCAweGZmZmZmZmZmODE1YjIwMDAgLT4gMHhmZmZmZmZm
ZjgxNjE4MGUwCj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDIgYXQgMHhmZmZmZmZmZjgx
NjE5MDAwIC0+IDB4ZmZmZmZmZmY4MTYyYjUwMAo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhk
ciAzIGF0IDB4ZmZmZmZmZmY4MTYyYzAwMCAtPiAweGZmZmZmZmZmODE2YjIwMDAKPiAoWEVOKSBT
Y3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChYRU4pIEluaXRpYWwgbG93IG1lbW9yeSB2
aXJxIHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgo+IChYRU4pIFN0ZC4gTG9nbGV2ZWw6
IEFsbAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVOKSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikgKioqKioqKiBXQVJOSU5HOiBD
T05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoqKioqKiogVGhpcyBvcHRpb24g
aXMgaW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkgZW5zdXJpbmcKPiAoWEVOKSAq
KioqKioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5IGRlbGl2ZXJlZCBvbiB0aGUg
c2VyaWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0IGNhbiBpbnRyb2R1Y2UgU0lH
TklGSUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAqKioqKioqIHRpbWVrZWVwaW5n
LiBJdCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24gdXNlIQo+IChYRU4pICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiAoWEVOKSAzLi4uIDIu
Li4gMS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERPTTAgKHR5cGUgJ0NUUkwtYScg
dGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAoWEVOKSBGcmVlZCAyNTZrQiBp
bml0IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNpY2FsIG1lbW9yeQo+IFhlbjog
c2V0dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQgc3RhcnRlZC4uLgo+IEluaXRp
YWxpemluZyBjZ3JvdXAgc3Vic3lzIGNwdXNldAo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lz
IGNwdQo+IExpbnV4IHZlcnNpb24gMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IChyb290
QHhlbikgKGdjYyB2ZXJzaW9uIDQuNC41IChEZWJpYW4gNC40LjUtOCkgKSAjNiBTTVAgUFJFRU1Q
VCBTYXQgTWF5IDUgMjA6MTM6MjkgQ0VTVCAyMDEyCj4gQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRl
ciByb290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFuaWM9MTUgeGVuLXBj
aWJhY2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgo+IEZyZWVp
bmcgIDlhLTEwMCBwZm4gcmFuZ2U6IDEwMiBwYWdlcyBmcmVlZAo+IFJlbGVhc2VkIDEwMiBwYWdl
cyBvZiB1bnVzZWQgbWVtb3J5Cj4gU2V0IDE5NzA5NCBwYWdlKHMpIHRvIDEtMSBtYXBwaW5nCj4g
QklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICBYZW46IDAwMDAwMDAwMDAwMDAwMDAg
LSAwMDAwMDAwMDAwMDlhMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDAwMDA5YWMwMCAtIDAw
MDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAw
MDAwMGNmZTgwMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDBjZmU4MDAwMCAtIDAwMDAwMDAw
Y2ZlOTgwMDAgKEFDUEkgZGF0YSkKPiAgWGVuOiAwMDAwMDAwMGNmZTk4MDAwIC0gMDAwMDAwMDBj
ZmVjMDAwMCAoQUNQSSBOVlMpCj4gIFhlbjogMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2Zm
MDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAx
MDAwIChyZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZlYzIwMDAwIC0gMDAwMDAwMDBmZWMyMTAw
MCAocmVzZXJ2ZWQpCj4gIFhlbjogMDAwMDAwMDBmZWUwMDAwMCAtIDAwMDAwMDAwZmVlMDEwMDAg
KHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwZmZlMDAwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChy
ZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMTAwMDAwMDAwIC0gMDAwMDAwMDIzMDAwMDAwMCAodXNh
YmxlKQo+IGJvb3Rjb25zb2xlIFt4ZW5ib290MF0gZW5hYmxlZAo+IE5YIChFeGVjdXRlIERpc2Fi
bGUpIHByb3RlY3Rpb246IGFjdGl2ZQo+IHVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOgo+
ICB1c2VyOiAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5YTAwMCAodXNhYmxlKQo+ICB1
c2VyOiAwMDAwMDAwMDAwMDlhYzAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4gIHVz
ZXI6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDAwMDAwICh1c2FibGUpCj4gIHVzZXI6
IDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4gIHVzZXI6
IDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykKPiAgdXNlcjog
MDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+ICB1c2VyOiAw
MDAwMDAwMGZlYzAwMDAwIC0gMDAwMDAwMDBmZWMwMTAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAw
MDAwMDAwZmVjMjAwMDAgLSAwMDAwMDAwMGZlYzIxMDAwIChyZXNlcnZlZCkKPiAgdXNlcjogMDAw
MDAwMDBmZWUwMDAwMCAtIDAwMDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQo+ICB1c2VyOiAwMDAw
MDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4gRE1JIHByZXNlbnQu
Cj4gTm8gQUdQIGJyaWRnZSBmb3VuZAo+IGxhc3RfcGZuID0gMHg4MDAwMCBtYXhfYXJjaF9wZm4g
PSAweDQwMDAwMDAwMAo+IGZvdW5kIFNNUCBNUC10YWJsZSBhdCBbZmZmZjg4MDAwMDBmZjc4MF0g
ZmY3ODAKPiBpbml0X21lbW9yeV9tYXBwaW5nOiAwMDAwMDAwMDAwMDAwMDAwLTAwMDAwMDAwODAw
MDAwMDAKPiBSQU1ESVNLOiAwMTg0NzAwMCAtIDAxZTgzMDAwCj4gQUNQSTogUlNEUCAwMDAwMDAw
MDAwMGZiZjIwIDAwMDI0ICh2MDIgQUNQSUFNKQo+IEFDUEk6IFhTRFQgMDAwMDAwMDBjZmU4MDEw
MCAwMDA1QyAodjAxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFD
UEk6IEZBQ1AgMDAwMDAwMDBjZmU4MDI5MCAwMDBGNCAodjAzIDEwMjgxMSBGQUNQMTc0MCAyMDEx
MTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFDUEk6IERTRFQgMDAwMDAwMDBjZmU4MDQ3MCAwRTZFMyAo
djAxICBBMTU5NSBBMTU5NTAwMCAwMDAwMDAwMCBJTlRMIDIwMDYwMTEzKQo+IEFDUEk6IEZBQ1Mg
MDAwMDAwMDBjZmU5ODAwMCAwMDA0MAo+IEFDUEk6IEFQSUMgMDAwMDAwMDBjZmU4MDM5MCAwMDA5
OCAodjAxIDEwMjgxMSBBUElDMTc0MCAyMDExMTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFDUEk6IE1D
RkcgMDAwMDAwMDBjZmU4MDQzMCAwMDAzQyAodjAxIDEwMjgxMSBPRU1NQ0ZHICAyMDExMTAyOCBN
U0ZUIDAwMDAwMDk3KQo+IEFDUEk6IE9FTUIgMDAwMDAwMDBjZmU5ODA0MCAwMDA3MiAodjAxIDEw
MjgxMSBPRU1CMTc0MCAyMDExMTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFDUEk6IEhQRVQgMDAwMDAw
MDBjZmU4ZjhjMCAwMDAzOCAodjAxIDEwMjgxMSBPRU1IUEVUICAyMDExMTAyOCBNU0ZUIDAwMDAw
MDk3KQo+IEFDUEk6IElWUlMgMDAwMDAwMDBjZmU4ZjkwMCAwMDBFMCAodjAxICBBTUQgICAgIFJE
ODkwUyAwMDIwMjAzMSBBTUQgIDAwMDAwMDAwKQo+IEFDUEk6IFNTRFQgMDAwMDAwMDBjZmU4Zjll
MCAwMEUxMCAodjAxIEEgTSBJICBQT1dFUk5PVyAwMDAwMDAwMSBBTUQgIDAwMDAwMDAxKQo+IE5v
IE5VTUEgY29uZmlndXJhdGlvbiBmb3VuZAo+IEZha2luZyBhIG5vZGUgYXQgMDAwMDAwMDAwMDAw
MDAwMC0wMDAwMDAwMDgwMDAwMDAwCj4gSW5pdG1lbSBzZXR1cCBub2RlIDAgMDAwMDAwMDAwMDAw
MDAwMC0wMDAwMDAwMDgwMDAwMDAwCj4gICBOT0RFX0RBVEEgWzAwMDAwMDAwN2ZmZmIwMDAgLSAw
MDAwMDAwMDdmZmZmZmZmXQo+IFpvbmUgUEZOIHJhbmdlczoKPiAgIERNQSAgICAgIDB4MDAwMDAw
MTAgLT4gMHgwMDAwMTAwMAo+ICAgRE1BMzIgICAgMHgwMDAwMTAwMCAtPiAweDAwMTAwMDAwCj4g
ICBOb3JtYWwgICBlbXB0eQo+IE1vdmFibGUgem9uZSBzdGFydCBQRk4gZm9yIGVhY2ggbm9kZQo+
IGVhcmx5X25vZGVfbWFwWzJdIGFjdGl2ZSBQRk4gcmFuZ2VzCj4gICAgIDA6IDB4MDAwMDAwMTAg
LT4gMHgwMDAwMDA5YQo+ICAgICAwOiAweDAwMDAwMTAwIC0+IDB4MDAwODAwMDAKPiBBQ1BJOiBQ
TS1UaW1lciBJTyBQb3J0OiAweDgwOAo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDFdIGxhcGlj
X2lkWzB4MDBdIGVuYWJsZWQpCj4gQklPUyBidWc6IEFQSUMgdmVyc2lvbiBpcyAwIGZvciBDUFUg
MC8weDAsIGZpeGluZyB1cCB0byAweDEwCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMl0gbGFw
aWNfaWRbMHgwMV0gZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAzXSBsYXBpY19p
ZFsweDAyXSBlbmFibGVkKQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4
MDNdIGVuYWJsZWQpCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgwNF0g
ZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2XSBsYXBpY19pZFsweDA1XSBlbmFi
bGVkKQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDddIGxhcGljX2lkWzB4ODZdIGRpc2FibGVk
KQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDhdIGxhcGljX2lkWzB4ODddIGRpc2FibGVkKQo+
IEFDUEk6IElPQVBJQyAoaWRbMHgwNl0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkK
PiBJT0FQSUNbMF06IGFwaWNfaWQgNiwgdmVyc2lvbiAyNTUsIGFkZHJlc3MgMHhmZWMwMDAwMCwg
R1NJIDAtMjU1Cj4gQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdz
aV9iYXNlWzI0XSkKPiBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAyNTUsIGFkZHJlc3Mg
MHhmZWMyMDAwMCwgR1NJIDI0LTI3OQo+IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJx
IDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwpCj4gQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19p
cnEgOSBnbG9iYWxfaXJxIDkgbG93IGxldmVsKQo+IFVzaW5nIEFDUEkgKE1BRFQpIGZvciBTTVAg
Y29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgo+IEFDUEk6IEhQRVQgaWQ6IDB4ODMwMCBiYXNlOiAw
eGZlZDAwMDAwCj4gOCBQcm9jZXNzb3JzIGV4Y2VlZHMgTlJfQ1BVUyBsaW1pdCBvZiA2Cj4gU01Q
OiBBbGxvd2luZyA2IENQVXMsIDAgaG90cGx1ZyBDUFVzCj4gQWxsb2NhdGluZyBQQ0kgcmVzb3Vy
Y2VzIHN0YXJ0aW5nIGF0IDgwMDAwMDAwIChnYXA6IDgwMDAwMDAwOjRmZTgwMDAwKQo+IEJvb3Rp
bmcgcGFyYXZpcnR1YWxpemVkIGtlcm5lbCBvbiBYZW4KPiBYZW4gdmVyc2lvbjogNC4yLXVuc3Rh
YmxlIChwcmVzZXJ2ZS1BRCkKPiBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6NiBucl9jcHVtYXNrX2Jp
dHM6NiBucl9jcHVfaWRzOjYgbnJfbm9kZV9pZHM6MQo+IFBFUkNQVTogRW1iZWRkZWQgMjYgcGFn
ZXMvY3B1IEBmZmZmODgwMDdmZjRiMDAwIHM3NTAwOCByODE5MiBkMjMyOTYgdTEwNjQ5Ngo+IEJ1
aWx0IDEgem9uZWxpc3RzIGluIE5vZGUgb3JkZXIsIG1vYmlsaXR5IGdyb3VwaW5nIG9uLiAgVG90
YWwgcGFnZXM6IDUxNDk3Mwo+IFBvbGljeSB6b25lOiBETUEzMgo+IEtlcm5lbCBjb21tYW5kIGxp
bmU6IHBsYWNlaG9sZGVyIHJvb3Q9L2Rldi9tYXBwZXIvbGVtcm91Y2gteGVuIHJvIG1lbT0yRyBw
YW5pYz0xNSB4ZW4tcGNpYmFjay5oaWRlPSgwMDoxNC4yKSBjb25zb2xlPWh2YzAgZWFybHlwcmlu
dGs9eGVuCj4gUElEIGhhc2ggdGFibGUgZW50cmllczogNDA5NiAob3JkZXI6IDMsIDMyNzY4IGJ5
dGVzKQo+IFBsYWNpbmcgNjRNQiBzb2Z0d2FyZSBJTyBUTEIgYmV0d2VlbiBmZmZmODgwMDc5NjAw
MDAwIC0gZmZmZjg4MDA3ZDYwMDAwMAo+IHNvZnR3YXJlIElPIFRMQiBhdCBwaHlzIDB4Nzk2MDAw
MDAgLSAweDdkNjAwMDAwCj4gTWVtb3J5OiAxOTc1MjIway8yMDk3MTUyayBhdmFpbGFibGUgKDQ0
NzBrIGtlcm5lbCBjb2RlLCA0NzJrIGFic2VudCwgMTIxNDYwayByZXNlcnZlZCwgMTc2OGsgZGF0
YSwgNTk2ayBpbml0KQo+IFNMVUI6IEdlbnNsYWJzPTE1LCBIV2FsaWduPTY0LCBPcmRlcj0wLTMs
IE1pbk9iamVjdHM9MCwgQ1BVcz02LCBOb2Rlcz0xCj4gUHJlZW1wdGlibGUgaGllcmFyY2hpY2Fs
IFJDVSBpbXBsZW1lbnRhdGlvbi4KPiAJVmVyYm9zZSBzdGFsbGVkLUNQVXMgZGV0ZWN0aW9uIGlz
IGRpc2FibGVkLgo+IE5SX0lSUVM6NDM1MiBucl9pcnFzOjE1MzYgMTYKPiB4ZW46IHNjaSBvdmVy
cmlkZTogZ2xvYmFsX2lycT05IHRyaWdnZXI9MCBwb2xhcml0eT0xCj4geGVuOiBhY3BpIHNjaSA5
Cj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA5IGZvciBnc2kgOQo+IENvbnNvbGU6
IGNvbG91ciBWR0ErIDgweDI1Cj4gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUg
ZGlzYWJsZWQKPiBjb25zb2xlIFtodmMwXSBlbmFibGVkLCBib290Y29uc29sZSBkaXNhYmxlZAo+
IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMAo+IERldGVjdGVkIDMwMTAuMjI0IE1IeiBw
cm9jZXNzb3IuCj4gQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1
bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNjAyMC40NCBCb2dvTUlQUyAobHBqPTMwMTAy
MjQpCj4gcGlkX21heDogZGVmYXVsdDogMzI3NjggbWluaW11bTogMzAxCj4gRGVudHJ5IGNhY2hl
IGhhc2ggdGFibGUgZW50cmllczogMjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKPiBJ
bm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYg
Ynl0ZXMpCj4gTW91bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKPiBJbml0aWFsaXpp
bmcgY2dyb3VwIHN1YnN5cyBkZXZpY2VzCj4gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZnJl
ZXplcgo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGJsa2lvCj4gQ1BVOiBQaHlzaWNhbCBQ
cm9jZXNzb3IgSUQ6IDAKPiBDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAwCj4gQUNQSTogQ29yZSBy
ZXZpc2lvbiAyMDExMDYyMwo+IGNwdSAwIHNwaW5sb2NrIGV2ZW50IGlycSAyOTcKPiBQZXJmb3Jt
YW5jZSBFdmVudHM6IChYRU4pIHRyYXBzLmM6MjU2MTpkMCBEb21haW4gYXR0ZW1wdGVkIFdSTVNS
IDAwMDAwMDAwYzAwMTAwMDQgZnJvbSAweDAwMDBlNGE3NWRmODY1MTQgdG8gMHgwMDAwMDAwMDAw
MDBhYmNkLgo+IEJyb2tlbiBQTVUgaGFyZHdhcmUgZGV0ZWN0ZWQsIHVzaW5nIHNvZnR3YXJlIGV2
ZW50cyBvbmx5Lgo+IE1DRTogSW4ta2VybmVsIE1DRSBkZWNvZGluZyBlbmFibGVkLgo+IGluc3Rh
bGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMQo+IGNwdSAxIHNwaW5sb2NrIGV2ZW50IGlycSAzMDMK
PiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDIKPiBjcHUgMiBzcGlubG9jayBldmVudCBp
cnEgMzA5Cj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAzCj4gY3B1IDMgc3BpbmxvY2sg
ZXZlbnQgaXJxIDMxNQo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgNAo+IGNwdSA0IHNw
aW5sb2NrIGV2ZW50IGlycSAzMjEKPiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDUKPiBj
cHUgNSBzcGlubG9jayBldmVudCBpcnEgMzI3Cj4gQnJvdWdodCB1cCA2IENQVXMKPiBkZXZ0bXBm
czogaW5pdGlhbGl6ZWQKPiBHcmFudCB0YWJsZSBpbml0aWFsaXplZAo+IE5FVDogUmVnaXN0ZXJl
ZCBwcm90b2NvbCBmYW1pbHkgMTYKPiBUT006IDAwMDAwMDAwZDAwMDAwMDAgYWthIDMzMjhNCj4g
VE9NMjogMDAwMDAwMDIzMDAwMDAwMCBha2EgODk2ME0KPiBFeHRlbmRlZCBDb25maWcgU3BhY2Ug
ZW5hYmxlZCBvbiAxIG5vZGVzCj4gQUNQSTogYnVzIHR5cGUgcGNpIHJlZ2lzdGVyZWQKPiBQQ0k6
IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBbYnVzIDAwLWZmXSBhdCBbbWVtIDB4ZTAwMDAwMDAt
MHhlZmZmZmZmZl0gKGJhc2UgMHhlMDAwMDAwMCkKPiBQQ0k6IG5vdCB1c2luZyBNTUNPTkZJRwo+
IFBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9yIGJhc2UgYWNjZXNzCj4gUENJOiBV
c2luZyBjb25maWd1cmF0aW9uIHR5cGUgMSBmb3IgZXh0ZW5kZWQgYWNjZXNzCj4gYmlvOiBjcmVh
dGUgc2xhYiA8YmlvLTA+IGF0IDAKPiBBQ1BJOiBBZGRlZCBfT1NJKE1vZHVsZSBEZXZpY2UpCj4g
QUNQSTogQWRkZWQgX09TSShQcm9jZXNzb3IgRGV2aWNlKQo+IEFDUEk6IEFkZGVkIF9PU0koMy4w
IF9TQ1AgRXh0ZW5zaW9ucykKPiBBQ1BJOiBBZGRlZCBfT1NJKFByb2Nlc3NvciBBZ2dyZWdhdG9y
IERldmljZSkKPiBBQ1BJOiBFeGVjdXRlZCAzIGJsb2NrcyBvZiBtb2R1bGUtbGV2ZWwgZXhlY3V0
YWJsZSBBTUwgY29kZQo+IEFDUEk6IEludGVycHJldGVyIGVuYWJsZWQKPiBBQ1BJOiAoc3VwcG9y
dHMgUzAgUzUpCj4gQUNQSTogVXNpbmcgSU9BUElDIGZvciBpbnRlcnJ1cHQgcm91dGluZwo+IFBD
STogTU1DT05GSUcgZm9yIGRvbWFpbiAwMDAwIFtidXMgMDAtZmZdIGF0IFttZW0gMHhlMDAwMDAw
MC0weGVmZmZmZmZmXSAoYmFzZSAweGUwMDAwMDAwKQo+IFBDSTogTU1DT05GSUcgYXQgW21lbSAw
eGUwMDAwMDAwLTB4ZWZmZmZmZmZdIHJlc2VydmVkIGluIEFDUEkgbW90aGVyYm9hcmQgcmVzb3Vy
Y2VzCj4gQUNQSTogRUM6IEdQRSA9IDB4YSwgSS9POiBjb21tYW5kL3N0YXR1cyA9IDB4NjYsIGRh
dGEgPSAweDYyCj4gSEVTVDogVGFibGUgbm90IGZvdW5kLgo+IFBDSTogVXNpbmcgaG9zdCBicmlk
Z2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2FyeSwgdXNlICJwY2k9bm9jcnMiIGFuZCBy
ZXBvcnQgYSBidWcKPiBBQ1BJOiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4gMDAwMCBb
YnVzIDAwLWZmXSkKPiBwY2lfcm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW2lv
ICAweDAwMDAtMHgwY2Y3XQo+IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdpbmRv
dyBbaW8gIDB4MGQwMC0weGZmZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ug
d2luZG93IFttZW0gMHgwMDBhMDAwMC0weDAwMGJmZmZmXQo+IHBjaV9yb290IFBOUDBBMDM6MDA6
IGhvc3QgYnJpZGdlIHdpbmRvdyBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lfcm9v
dCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW21lbSAweGNmZjAwMDAwLTB4ZGZmZmZm
ZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHhmMDAw
MDAwMC0weGZlYmZmZmZmXQo+IHBjaSAwMDAwOjAwOjAyLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
Ny0wN10KPiBwY2kgMDAwMDowNjowMC4wOiBkaXNhYmxpbmcgQVNQTSBvbiBwcmUtMS4xIFBDSWUg
ZGV2aWNlLiAgWW91IGNhbiBlbmFibGUgaXQgd2l0aCAncGNpZV9hc3BtPWZvcmNlJwo+IHBjaSAw
MDAwOjAwOjA0LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNi0wNl0KPiBwY2kgMDAwMDowMDowNS4w
OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDUtMDVdCj4gcGNpIDAwMDA6MDA6MDYuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDA0LTA0XQo+IHBjaSAwMDAwOjAwOjA3LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
My0wM10KPiBwY2kgMDAwMDowMDowZC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDItMDJdCj4gcGNp
IDAwMDA6MDA6MTQuNDogUENJIGJyaWRnZSB0byBbYnVzIDAxLTAxXSAoc3VidHJhY3RpdmUgZGVj
b2RlKQo+ICBwY2kwMDAwOjAwOiBSZXF1ZXN0aW5nIEFDUEkgX09TQyBjb250cm9sICgweDFkKQo+
ICBwY2kwMDAwOjAwOiBBQ1BJIF9PU0MgY29udHJvbCAoMHgxYykgZ3JhbnRlZAo+IChYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwMDA6MDA6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6
MDAuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDIuMAo+IChYRU4pIFBDSSBhZGQg
ZGV2aWNlIDAwMDA6MDA6MDQuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDUuMAo+
IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDYuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwMDA6MDA6MDcuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MGQuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTEuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDA6MTIuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTIuMgo+IChYRU4pIFBDSSBh
ZGQgZGV2aWNlIDAwMDA6MDA6MTMuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTMu
Mgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTQuMAo+IChYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwMDA6MDA6MTQuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTQuMwo+IChY
RU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTQuNAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAw
MDA6MDA6MTQuNQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTYuMAo+IChYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwMDA6MDA6MTYuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6
MTguMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTguMQo+IChYRU4pIFBDSSBhZGQg
ZGV2aWNlIDAwMDA6MDA6MTguMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTguMwo+
IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTguNAo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwMDA6MDc6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDc6MDAuMQo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDY6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDY6MDAuMQo+IHBjaSAwMDAwOjA2OjAwLjE6IEZhaWxlZCB0byBhZGQgLSBwYXNzdGhyb3VnaCBv
ciBNU0kvTVNJLVggbWlnaHQgZmFpbCEKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjA1OjAw
LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjA0OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRl
dmljZSAwMDAwOjAzOjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAyOjAwLjAKPiAo
WEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAyOjAwLjEKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExp
bmsgW0xOS0FdIChJUlFzICo0IDcgMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVwdCBM
aW5rIFtMTktCXSAoSVJRcyA0IDcgKjEwIDExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQg
TGluayBbTE5LQ10gKElSUXMgNCA3IDEwICoxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0
IExpbmsgW0xOS0RdIChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVw
dCBMaW5rIFtMTktFXSAoSVJRcyA0ICo3IDEwIDExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1
cHQgTGluayBbTE5LRl0gKElSUXMgNCA3IDEwICoxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJy
dXB0IExpbmsgW0xOS0ddIChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVy
cnVwdCBMaW5rIFtMTktIXSAoSVJRcyA0IDcgMTAgMTEgMTQgMTUpICowLCBkaXNhYmxlZC4KPiB4
ZW4vYmFsbG9vbjogSW5pdGlhbGlzaW5nIGJhbGxvb24gZHJpdmVyLgo+IHhlbi1iYWxsb29uOiBJ
bml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIuCj4gdmdhYXJiOiBkZXZpY2UgYWRkZWQ6IFBDSTow
MDAwOjA3OjAwLjAsZGVjb2Rlcz1pbyttZW0sb3ducz1pbyttZW0sbG9ja3M9bm9uZQo+IHZnYWFy
YjogbG9hZGVkCj4gdmdhYXJiOiBicmlkZ2UgY29udHJvbCBwb3NzaWJsZSAwMDAwOjA3OjAwLjAK
PiBTQ1NJIHN1YnN5c3RlbSBpbml0aWFsaXplZAo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGlu
dGVyZmFjZSBkcml2ZXIgdXNiZnMKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2Ug
ZHJpdmVyIGh1Ygo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIgdXNiCj4g
UENJOiBVc2luZyBBQ1BJIGZvciBJUlEgcm91dGluZwo+IFN3aXRjaGluZyB0byBjbG9ja3NvdXJj
ZSB4ZW4KPiBGUy1DYWNoZTogTG9hZGVkCj4gQ2FjaGVGaWxlczogTG9hZGVkCj4gcG5wOiBQblAg
QUNQSSBpbml0Cj4gQUNQSTogYnVzIHR5cGUgcG5wIHJlZ2lzdGVyZWQKPiBzeXN0ZW0gMDA6MDE6
IFttZW0gMHhmZWMyMDAwMC0weGZlYzIwMGZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0
ZW0gMDA6MDI6IFttZW0gMHhmNjAwMDAwMC0weGY2MDAzZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+
IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgOCBmb3IgZ3NpIDgKPiB4ZW5fbWFwX3Bp
cnFfZ3NpOiByZXR1cm5pbmcgaXJxIDEzIGZvciBnc2kgMTMKPiBzeXN0ZW0gMDA6MDg6IFttZW0g
MHhmZWMwMDAwMC0weGZlYzAwZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6
MDg6IFttZW0gMHhmZWUwMDAwMC0weGZlZTAwZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3Rl
bSAwMDowOTogW2lvICAweDA0ZDAtMHgwNGQxXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAw
MDowOTogW2lvICAweDA0MGJdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8g
IDB4MDRkNl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwYzAwLTB4
MGMwMV0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwYzE0XSBoYXMg
YmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjNTAtMHgwYzUxXSBoYXMgYmVl
biByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjNTJdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM2Y10gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0g
MDA6MDk6IFtpbyAgMHgwYzZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lv
ICAweDBjZDAtMHgwY2QxXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAw
eDBjZDItMHgwY2QzXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBj
ZDQtMHgwY2Q1XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjZDYt
MHgwY2Q3XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjZDgtMHgw
Y2RmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDA4MDAtMHgwODlm
XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBiMDAtMHgwYjFmXSBo
YXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBiMjAtMHgwYjNmXSBoYXMg
YmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDA5MDAtMHgwOTBmXSBoYXMgYmVl
biByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDA5MTAtMHgwOTFmXSBoYXMgYmVlbiBy
ZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweGZlMDAtMHhmZWZlXSBoYXMgYmVlbiByZXNl
cnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGNmZjAwMDAwLTB4Y2ZmZmZmZmZdIGhhcyBiZWVu
IHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4ZmZiODAwMDAtMHhmZmJmZmZmZl0gaGFz
IGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFttZW0gMHhmZWMxMDAwMC0weGZlYzEwMDFm
XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGZlZDgwMDAwLTB4ZmVk
ODBmZmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MDIzMC0weDAy
M2ZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MDI5MC0weDAyOWZd
IGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MGY0MC0weDBmNGZdIGhh
cyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MGEzMC0weDBhM2ZdIGhhcyBi
ZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBiOiBbbWVtIDB4ZTAwMDAwMDAtMHhlZmZmZmZmZl0g
aGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGM6IFttZW0gMHgwMDAwMDAwMC0weDAwMDlm
ZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGM6IFttZW0gMHgwMDBjMDAw
MC0weDAwMGNmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGM6IFttZW0g
MHgwMDBlMDAwMC0weDAwMGZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6
MGM6IFttZW0gMHgwMDEwMDAwMC0weGNmZWZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBz
eXN0ZW0gMDA6MGM6IFttZW0gMHhmZWMwMDAwMC0weGZmZmZmZmZmXSBjb3VsZCBub3QgYmUgcmVz
ZXJ2ZWQKPiBwbnA6IFBuUCBBQ1BJOiBmb3VuZCAxMyBkZXZpY2VzCj4gQUNQSTogQUNQSSBidXMg
dHlwZSBwbnAgdW5yZWdpc3RlcmVkCj4gcGNpYmFjayAwMDAwOjAwOjE0LjI6IHNlaXppbmcgZGV2
aWNlCj4gUE0tVGltZXIgZmFpbGVkIGNvbnNpc3RlbmN5IGNoZWNrICAoMHgweGZmZmZmZikgLSBh
Ym9ydGluZy4KPiBwY2kgMDAwMDowMDowMi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDctMDddCj4g
cGNpIDAwMDA6MDA6MDIuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhlMDAwLTB4ZWZmZl0KPiBw
Y2kgMDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlOTAwMDAwLTB4ZmU5ZmZm
ZmZdCj4gcGNpIDAwMDA6MDA6MDIuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhkMDAwMDAwMC0w
eGRmZmZmZmZmIDY0Yml0IHByZWZdCj4gcGNpIDAwMDA6MDA6MDQuMDogUENJIGJyaWRnZSB0byBb
YnVzIDA2LTA2XQo+IHBjaSAwMDAwOjAwOjA0LjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIDB4ZDAw
MC0weGRmZmZdCj4gcGNpIDAwMDA6MDA6MDQuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTgw
MDAwMC0weGZlOGZmZmZmXQo+IHBjaSAwMDAwOjAwOjA1LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
NS0wNV0KPiBwY2kgMDAwMDowMDowNS4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGMwMDAtMHhj
ZmZmXQo+IHBjaSAwMDAwOjAwOjA1LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU3MDAwMDAt
MHhmZTdmZmZmZl0KPiBwY2kgMDAwMDowMDowNi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDQtMDRd
Cj4gcGNpIDAwMDA6MDA6MDYuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhiMDAwLTB4YmZmZl0K
PiBwY2kgMDAwMDowMDowNi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlNjAwMDAwLTB4ZmU2
ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDcuMDogUENJIGJyaWRnZSB0byBbYnVzIDAzLTAzXQo+IHBj
aSAwMDAwOjAwOjA3LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU1MDAwMDAtMHhmZTVmZmZm
Zl0KPiBwY2kgMDAwMDowMDowZC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDItMDJdCj4gcGNpIDAw
MDA6MDA6MGQuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhhMDAwLTB4YWZmZl0KPiBwY2kgMDAw
MDowMDowZC4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlNDAwMDAwLTB4ZmU0ZmZmZmZdCj4g
cGNpIDAwMDA6MDA6MTQuNDogUENJIGJyaWRnZSB0byBbYnVzIDAxLTAxXQo+IHBjaSAwMDAwOjAw
OjAyLjA6IFBDSSBJTlQgQSAtPiBHU0kgNTIgKGxldmVsLCBsb3cpIC0+IElSUSA1Mgo+IHhlbl9t
YXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgNTIgZm9yIGdzaSA1Mgo+IEFscmVhZHkgc2V0dXAg
dGhlIEdTSSA6NTIKPiBwY2kgMDAwMDowMDowNC4wOiBQQ0kgSU5UIEEgLT4gR1NJIDUyIChsZXZl
bCwgbG93KSAtPiBJUlEgNTIKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUyIGZv
ciBnc2kgNTIKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjUyCj4gcGNpIDAwMDA6MDA6MDUuMDog
UENJIElOVCBBIC0+IEdTSSA1MiAobGV2ZWwsIGxvdykgLT4gSVJRIDUyCj4gcGNpIDAwMDA6MDA6
MDYuMDogUENJIElOVCBBIC0+IEdTSSA1MyAobGV2ZWwsIGxvdykgLT4gSVJRIDUzCj4geGVuX21h
cF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA1MyBmb3IgZ3NpIDUzCj4gQWxyZWFkeSBzZXR1cCB0
aGUgR1NJIDo1Mwo+IHBjaSAwMDAwOjAwOjA3LjA6IFBDSSBJTlQgQSAtPiBHU0kgNTMgKGxldmVs
LCBsb3cpIC0+IElSUSA1Mwo+IHBjaSAwMDAwOjAwOjBkLjA6IFBDSSBJTlQgQSAtPiBHU0kgNTQg
KGxldmVsLCBsb3cpIC0+IElSUSA1NAo+IE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkg
Mgo+IElQIHJvdXRlIGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA3LCA1
MjQyODggYnl0ZXMpCj4gVENQIGVzdGFibGlzaGVkIGhhc2ggdGFibGUgZW50cmllczogMjYyMTQ0
IChvcmRlcjogMTAsIDQxOTQzMDQgYnl0ZXMpCj4gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVz
OiA2NTUzNiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMpCj4gVENQOiBIYXNoIHRhYmxlcyBjb25m
aWd1cmVkIChlc3RhYmxpc2hlZCAyNjIxNDQgYmluZCA2NTUzNikKPiBUQ1AgcmVubyByZWdpc3Rl
cmVkCj4gVURQIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5dGVz
KQo+IFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5
dGVzKQo+IE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQo+IFVucGFja2luZyBpbml0
cmFtZnMuLi4KPiBGcmVlaW5nIGluaXRyZCBtZW1vcnk6IDYzODRrIGZyZWVkCj4gbWljcm9jb2Rl
OiBNaWNyb2NvZGUgVXBkYXRlIERyaXZlcjogdjIuMDAgPHRpZ3JhbkBhaXZhemlhbi5mc25ldC5j
by51az4sIFBldGVyIE9ydWJhCj4gTlRGUyBkcml2ZXIgMi4xLjMwIFtGbGFnczogUi9XXS4KPiBt
c2dtbmkgaGFzIGJlZW4gc2V0IHRvIDM4NzAKPiBCbG9jayBsYXllciBTQ1NJIGdlbmVyaWMgKGJz
ZykgZHJpdmVyIHZlcnNpb24gMC40IGxvYWRlZCAobWFqb3IgMjUzKQo+IGlvIHNjaGVkdWxlciBu
b29wIHJlZ2lzdGVyZWQgKGRlZmF1bHQpCj4gcGNpZXBvcnQgMDAwMDowMDowMi4wOiBTaWduYWxp
bmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDc6MDAuMDogU2ln
bmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjA3OjAwLjE6
IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2llcG9ydCAwMDAw
OjAwOjA0LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kg
MDAwMDowNjowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4g
cGNpIDAwMDA6MDY6MDAuMTogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVw
dAo+IHBjaWVwb3J0IDAwMDA6MDA6MDUuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1F
IGludGVycnVwdAo+IHBjaSAwMDAwOjA1OjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0ll
IFBNRSBpbnRlcnJ1cHQKPiBwY2llcG9ydCAwMDAwOjAwOjA2LjA6IFNpZ25hbGluZyBQTUUgdGhy
b3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNDowMC4wOiBTaWduYWxpbmcgUE1F
IHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDowMDowNy4wOiBTaWdu
YWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDM6MDAuMDog
U2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaWVwb3J0IDAwMDA6
MDA6MGQuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAw
MDAwOjAyOjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBw
Y2kgMDAwMDowMjowMC4xOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0
Cj4gcGNpX2hvdHBsdWc6IFBDSSBIb3QgUGx1ZyBQQ0kgQ29yZSB2ZXJzaW9uOiAwLjUKPiBpbnB1
dDogUG93ZXIgQnV0dG9uIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL2RldmljZTowMC9QTlAwQzBD
OjAwL2lucHV0L2lucHV0MAo+IEFDUEk6IFBvd2VyIEJ1dHRvbiBbUFdSQl0KPiBpbnB1dDogUG93
ZXIgQnV0dG9uIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL0xOWFBXUkJOOjAwL2lucHV0L2lucHV0
MQo+IEFDUEk6IFBvd2VyIEJ1dHRvbiBbUFdSRl0KPiBFUlNUOiBUYWJsZSBpcyBub3QgZm91bmQh
Cj4gR0hFUzogSEVTVCBpcyBub3QgZW5hYmxlZCEKPiBFdmVudC1jaGFubmVsIGRldmljZSBpbnN0
YWxsZWQuCj4gcGNpYmFjayAwMDAwOjAwOjE0LjI6IFBDSSBJTlQgQSAtPiBHU0kgMTYgKGxldmVs
LCBsb3cpIC0+IElSUSAxNgo+IHBjaWJhY2sgMDAwMDowMDoxNC4yOiBQQ0kgSU5UIEEgZGlzYWJs
ZWQKPiB4ZW4tcGNpYmFjazogYmFja2VuZCBpcyB2cGNpCj4gU2VyaWFsOiA4MjUwLzE2NTUwIGRy
aXZlciwgNCBwb3J0cywgSVJRIHNoYXJpbmcgZGlzYWJsZWQKPiBzZXJpYWwgMDAwMDowMjowMC4w
OiBQQ0kgSU5UIEEgLT4gR1NJIDQwIChsZXZlbCwgbG93KSAtPiBJUlEgNDAKPiBzZXJpYWwgMDAw
MDowMjowMC4xOiBQQ0kgSU5UIEIgLT4gR1NJIDQxIChsZXZlbCwgbG93KSAtPiBJUlEgNDEKPiAw
MDAwOjAyOjAwLjE6IHR0eVMwIGF0IEkvTyAweGE4ODAgKGlycSA9IDQxKSBpcyBhIFNUMTY2NTBW
Mgo+IGhwZXRfYWNwaV9hZGQ6IG5vIGFkZHJlc3Mgb3IgaXJxcyBpbiBfQ1JTCj4gTm9uLXZvbGF0
aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwo+IEhhbmdjaGVjazogc3RhcnRpbmcgaGFuZ2NoZWNrIHRp
bWVyIDAuOS4xICh0aWNrIGlzIDE4MCBzZWNvbmRzLCBtYXJnaW4gaXMgNjAgc2Vjb25kcykuCj4g
SGFuZ2NoZWNrOiBVc2luZyBnZXRyYXdtb25vdG9uaWMoKS4KPiBsb29wOiBtb2R1bGUgbG9hZGVk
Cj4gYWhjaSAwMDAwOjAwOjExLjA6IFBDSSBJTlQgQSAtPiBHU0kgMTkgKGxldmVsLCBsb3cpIC0+
IElSUSAxOQo+IGFoY2kgMDAwMDowMDoxMS4wOiBBSENJIDAwMDEuMDIwMCAzMiBzbG90cyA2IHBv
cnRzIDYgR2JwcyAweDNmIGltcGwgU0FUQSBtb2RlCj4gYWhjaSAwMDAwOjAwOjExLjA6IGZsYWdz
OiA2NGJpdCBuY3Egc250ZiBpbGNrIHBtIGxlZCBjbG8gcG1wIHBpbyBzbHVtIHBhcnQgCj4gc2Nz
aTAgOiBhaGNpCj4gc2NzaTEgOiBhaGNpCj4gc2NzaTIgOiBhaGNpCj4gc2NzaTMgOiBhaGNpCj4g
c2NzaTQgOiBhaGNpCj4gc2NzaTUgOiBhaGNpCj4gYXRhMTogU0FUQSBtYXggVURNQS8xMzMgYWJh
ciBtMTAyNEAweGZlM2ZlMDAwIHBvcnQgMHhmZTNmZTEwMCBpcnEgMTkKPiBhdGEyOiBTQVRBIG1h
eCBVRE1BLzEzMyBhYmFyIG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMTgwIGlycSAxOQo+
IGF0YTM6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUz
ZmUyMDAgaXJxIDE5Cj4gYXRhNDogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZlM2Zl
MDAwIHBvcnQgMHhmZTNmZTI4MCBpcnEgMTkKPiBhdGE1OiBTQVRBIG1heCBVRE1BLzEzMyBhYmFy
IG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMzAwIGlycSAxOQo+IGF0YTY6IFNBVEEgbWF4
IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUzZmUzODAgaXJxIDE5Cj4g
YWhjaSAwMDAwOjA2OjAwLjA6IFBDSSBJTlQgQSAtPiBHU0kgNDQgKGxldmVsLCBsb3cpIC0+IElS
USA0NAo+IGFoY2kgMDAwMDowNjowMC4wOiBBSENJIDAwMDEuMDAwMCAzMiBzbG90cyAyIHBvcnRz
IDMgR2JwcyAweDMgaW1wbCBTQVRBIG1vZGUKPiBhaGNpIDAwMDA6MDY6MDAuMDogZmxhZ3M6IDY0
Yml0IG5jcSBwbSBsZWQgY2xvIHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2k2IDogYWhjaQo+IHNj
c2k3IDogYWhjaQo+IGF0YTc6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTgxOTJAMHhmZThmZTAw
MCBwb3J0IDB4ZmU4ZmUxMDAgaXJxIDQ0Cj4gYXRhODogU0FUQSBtYXggVURNQS8xMzMgYWJhciBt
ODE5MkAweGZlOGZlMDAwIHBvcnQgMHhmZThmZTE4MCBpcnEgNDQKPiB0dW46IFVuaXZlcnNhbCBU
VU4vVEFQIGRldmljZSBkcml2ZXIsIDEuNgo+IHR1bjogKEMpIDE5OTktMjAwNCBNYXggS3Jhc255
YW5za3kgPG1heGtAcXVhbGNvbW0uY29tPgo+IHNreTI6IGRyaXZlciB2ZXJzaW9uIDEuMjkKPiBz
a3kyIDAwMDA6MDQ6MDAuMDogUENJIElOVCBBIC0+IEdTSSA1MSAobGV2ZWwsIGxvdykgLT4gSVJR
IDUxCj4gc2t5MiAwMDAwOjA0OjAwLjA6IFl1a29uLTIgT3B0aW1hIGNoaXAgcmV2aXNpb24gMQo+
IHNreTIgMDAwMDowNDowMC4wOiBldGgwOiBhZGRyIDIwOmNmOjMwOjZkOjg5OmE1Cj4gY2RjX25j
bTogMDQtQXVnLTIwMTEKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVy
IGNkY19uY20KPiBmaXJld2lyZV9vaGNpIDAwMDA6MDU6MDAuMDogUENJIElOVCBBIC0+IEdTSSA0
NiAobGV2ZWwsIGxvdykgLT4gSVJRIDQ2Cj4gZmlyZXdpcmVfb2hjaTogQWRkZWQgZnctb2hjaSBk
ZXZpY2UgMDAwMDowNTowMC4wLCBPSENJIHYxLjEwLCA0IElSICsgOCBJVCBjb250ZXh0cywgcXVp
cmtzIDB4MTEKPiBlaGNpX2hjZDogVVNCIDIuMCAnRW5oYW5jZWQnIEhvc3QgQ29udHJvbGxlciAo
RUhDSSkgRHJpdmVyCj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBQQ0kgSU5UIEIgLT4gR1NJIDE3
IChsZXZlbCwgbG93KSAtPiBJUlEgMTcKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IEVIQ0kgSG9z
dCBDb250cm9sbGVyCj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBuZXcgVVNCIGJ1cyByZWdpc3Rl
cmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDEKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IGFwcGx5
aW5nIEFNRCBTQjcwMC9TQjgwMC9IdWRzb24tMi8zIEVIQ0kgZHVtbXkgcWggd29ya2Fyb3VuZAo+
IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogZGVidWcgcG9ydCAxCj4gZWhjaV9oY2QgMDAwMDowMDox
Mi4yOiBpcnEgMTcsIGlvIG1lbSAweGZlM2ZlNDAwCj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBV
U0IgMi4wIHN0YXJ0ZWQsIEVIQ0kgMS4wMAo+IHVzYiB1c2IxOiBOZXcgVVNCIGRldmljZSBmb3Vu
ZCwgaWRWZW5kb3I9MWQ2YiwgaWRQcm9kdWN0PTAwMDIKPiB1c2IgdXNiMTogTmV3IFVTQiBkZXZp
Y2Ugc3RyaW5nczogTWZyPTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKPiB1c2IgdXNiMTog
UHJvZHVjdDogRUhDSSBIb3N0IENvbnRyb2xsZXIKPiB1c2IgdXNiMTogTWFudWZhY3R1cmVyOiBM
aW51eCAzLjIuMC1yYzItMTEyMDItZ2QzNTA3YWYtZGlydHkgZWhjaV9oY2QKPiB1c2IgdXNiMTog
U2VyaWFsTnVtYmVyOiAwMDAwOjAwOjEyLjIKPiBodWIgMS0wOjEuMDogVVNCIGh1YiBmb3VuZAo+
IGh1YiAxLTA6MS4wOiA1IHBvcnRzIGRldGVjdGVkCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJu
aW5nIGlycSAxNyBmb3IgZ3NpIDE3Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxNwo+IGVoY2lf
aGNkIDAwMDA6MDA6MTMuMjogUENJIElOVCBCIC0+IEdTSSAxNyAobGV2ZWwsIGxvdykgLT4gSVJR
IDE3Cj4gZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IGVoY2lf
aGNkIDAwMDA6MDA6MTMuMjogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51
bWJlciAyCj4gZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBhcHBseWluZyBBTUQgU0I3MDAvU0I4MDAv
SHVkc29uLTIvMyBFSENJIGR1bW15IHFoIHdvcmthcm91bmQKPiBlaGNpX2hjZCAwMDAwOjAwOjEz
LjI6IGRlYnVnIHBvcnQgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogaXJxIDE3LCBpbyBtZW0g
MHhmZTNmZTgwMAo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogVVNCIDIuMCBzdGFydGVkLCBFSENJ
IDEuMDAKPiB1c2IgdXNiMjogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlk
UHJvZHVjdD0wMDAyCj4gdXNiIHVzYjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQ
cm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjI6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBD
b250cm9sbGVyCj4gdXNiIHVzYjI6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAy
LWdkMzUwN2FmLWRpcnR5IGVoY2lfaGNkCj4gdXNiIHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDow
MDoxMy4yCj4gaHViIDItMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgMi0wOjEuMDogNSBwb3J0
cyBkZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTcgZm9yIGdzaSAx
Nwo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTcKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IFBD
SSBJTlQgQiAtPiBHU0kgMTcgKGxldmVsLCBsb3cpIC0+IElSUSAxNwo+IGVoY2lfaGNkIDAwMDA6
MDA6MTYuMjogRUhDSSBIb3N0IENvbnRyb2xsZXIKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IG5l
dyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgMwo+IGVoY2lfaGNkIDAw
MDA6MDA6MTYuMjogYXBwbHlpbmcgQU1EIFNCNzAwL1NCODAwL0h1ZHNvbi0yLzMgRUhDSSBkdW1t
eSBxaCB3b3JrYXJvdW5kCj4gYXRhNTogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJv
bCAzMDApCj4gYXRhMzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4g
YXRhMTogU0FUQSBsaW5rIHVwIDMuMCBHYnBzIChTU3RhdHVzIDEyMyBTQ29udHJvbCAzMDApCj4g
YXRhNjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhNDogU0FU
QSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhMjogU0FUQSBsaW5rIGRv
d24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBkZWJ1
ZyBwb3J0IDEKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGlycSAxNywgaW8gbWVtIDB4ZmUzZmVj
MDAKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IFVTQiAyLjAgc3RhcnRlZCwgRUhDSSAxLjAwCj4g
YXRhMS4wMDogQVRBLTg6IElOVEVMIFNTRFNBMkNXMTIwRzMsIDRQQzEwMzYyLCBtYXggVURNQS8x
MzMKPiBhdGExLjAwOiAyMzQ0NDE2NDggc2VjdG9ycywgbXVsdGkgMTogTEJBNDggTkNRIChkZXB0
aCAzMS8zMikKPiB1c2IgdXNiMzogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIs
IGlkUHJvZHVjdD0wMDAyCj4gYXRhNzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJv
bCAzMDApCj4gYXRhODogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4g
dXNiIHVzYjM6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlh
bE51bWJlcj0xCj4gdXNiIHVzYjM6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNi
IHVzYjM6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5
IGVoY2lfaGNkCj4gdXNiIHVzYjM6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxNi4yCj4gYXRhMS4w
MDogY29uZmlndXJlZCBmb3IgVURNQS8xMzMKPiBzY3NpIDA6MDowOjA6IERpcmVjdC1BY2Nlc3Mg
ICAgIEFUQSAgICAgIElOVEVMIFNTRFNBMkNXMTIgNFBDMSBQUTogMCBBTlNJOiA1Cj4gaHViIDMt
MDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgMy0wOjEuMDogNCBwb3J0cyBkZXRlY3RlZAo+IHNk
IDA6MDowOjA6IFtzZGFdIDIzNDQ0MTY0OCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDEyMCBH
Qi8xMTEgR2lCKQo+IHNkIDA6MDowOjA6IFtzZGFdIFdyaXRlIFByb3RlY3QgaXMgb2ZmCj4gc2Qg
MDowOjA6MDogW3NkYV0gV3JpdGUgY2FjaGU6IGVuYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQs
IGRvZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVBCj4gb2hjaV9oY2Q6IFVTQiAxLjEgJ09wZW4nIEhv
c3QgQ29udHJvbGxlciAoT0hDSSkgRHJpdmVyCj4gIHNkYTogc2RhMSBzZGEyCj4gb2hjaV9oY2Qg
MDAwMDowMDoxMi4wOiBQQ0kgSU5UIEEgLT4gR1NJIDE4IChsZXZlbCwgbG93KSAtPiBJUlEgMTgK
PiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gb2hjaV9oY2Qg
MDAwMDowMDoxMi4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVy
IDQKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IGlycSAxOCwgaW8gbWVtIDB4ZmUzZjcwMDAKPiBz
ZCAwOjA6MDowOiBbc2RhXSBBdHRhY2hlZCBTQ1NJIGRpc2sKPiB1c2IgdXNiNDogTmV3IFVTQiBk
ZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxCj4gdXNiIHVzYjQ6IE5l
dyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4g
dXNiIHVzYjQ6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjQ6IE1hbnVm
YWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IG9oY2lfaGNkCj4g
dXNiIHVzYjQ6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMi4wCj4gaHViIDQtMDoxLjA6IFVTQiBo
dWIgZm91bmQKPiBodWIgNC0wOjEuMDogNSBwb3J0cyBkZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9n
c2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6
MTgKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IFBDSSBJTlQgQSAtPiBHU0kgMTggKGxldmVsLCBs
b3cpIC0+IElSUSAxOAo+IG9oY2lfaGNkIDAwMDA6MDA6MTMuMDogT0hDSSBIb3N0IENvbnRyb2xs
ZXIKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2ln
bmVkIGJ1cyBudW1iZXIgNQo+IG9oY2lfaGNkIDAwMDA6MDA6MTMuMDogaXJxIDE4LCBpbyBtZW0g
MHhmZTNmYzAwMAo+IHVzYiAxLTE6IG5ldyBoaWdoLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDIg
dXNpbmcgZWhjaV9oY2QKPiB1c2IgdXNiNTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9y
PTFkNmIsIGlkUHJvZHVjdD0wMDAxCj4gdXNiIHVzYjU6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6
IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjU6IFByb2R1Y3Q6IE9I
Q0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjU6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAt
cmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IG9oY2lfaGNkCj4gdXNiIHVzYjU6IFNlcmlhbE51bWJl
cjogMDAwMDowMDoxMy4wCj4gaHViIDUtMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgNS0wOjEu
MDogNSBwb3J0cyBkZXRlY3RlZAo+IGZpcmV3aXJlX2NvcmU6IGNyZWF0ZWQgZGV2aWNlIGZ3MDog
R1VJRCAwMDFlOGMwMDAwZGU5MTM2LCBTNDAwCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5n
IGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxOAo+IG9oY2lfaGNk
IDAwMDA6MDA6MTQuNTogUENJIElOVCBDIC0+IEdTSSAxOCAobGV2ZWwsIGxvdykgLT4gSVJRIDE4
Cj4gb2hjaV9oY2QgMDAwMDowMDoxNC41OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNk
IDAwMDA6MDA6MTQuNTogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJl
ciA2Cj4gb2hjaV9oY2QgMDAwMDowMDoxNC41OiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZkMDAwCj4g
dXNiIDEtMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTA0MjQsIGlkUHJvZHVjdD0y
NTA0Cj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTAsIFByb2R1Y3Q9MCwg
U2VyaWFsTnVtYmVyPTAKPiBodWIgMS0xOjEuMDogVVNCIGh1YiBmb3VuZAo+IGh1YiAxLTE6MS4w
OiA0IHBvcnRzIGRldGVjdGVkCj4gdXNiIHVzYjY6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZl
bmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I2OiBQcm9kdWN0
OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I2OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMu
Mi4wLXJjMi0xMTIwMi1nZDM1MDdhZi1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I2OiBTZXJpYWxO
dW1iZXI6IDAwMDA6MDA6MTQuNQo+IGh1YiA2LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDYt
MDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJx
IDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAw
MDowMDoxNi4wOiBQQ0kgSU5UIEEgLT4gR1NJIDE4IChsZXZlbCwgbG93KSAtPiBJUlEgMTgKPiBv
aGNpX2hjZCAwMDAwOjAwOjE2LjA6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gb2hjaV9oY2QgMDAw
MDowMDoxNi4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDcK
PiBvaGNpX2hjZCAwMDAwOjAwOjE2LjA6IGlycSAxOCwgaW8gbWVtIDB4ZmUzZmYwMDAKPiB1c2Ig
dXNiNzogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAx
Cj4gdXNiIHVzYjc6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNl
cmlhbE51bWJlcj0xCj4gdXNiIHVzYjc6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4g
dXNiIHVzYjc6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRp
cnR5IG9oY2lfaGNkCj4gdXNiIHVzYjc6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxNi4wCj4gaHVi
IDctMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgNy0wOjEuMDogNCBwb3J0cyBkZXRlY3RlZAo+
IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogUENJIElOVCBBIC0+IEdTSSA1MCAobGV2ZWwsIGxvdykg
LT4gSVJRIDUwCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiB4SENJIEhvc3QgQ29udHJvbGxlcgo+
IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQg
YnVzIG51bWJlciA4Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBpcnEgNTAsIGlvIG1lbSAweGZl
NWZlMDAwCj4gdXNiIHVzYjg6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBp
ZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2I4OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9Mywg
UHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I4OiBQcm9kdWN0OiB4SENJIEhvc3Qg
Q29udHJvbGxlcgo+IHVzYiB1c2I4OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuMi4wLXJjMi0xMTIw
Mi1nZDM1MDdhZi1kaXJ0eSB4aGNpX2hjZAo+IHVzYiB1c2I4OiBTZXJpYWxOdW1iZXI6IDAwMDA6
MDM6MDAuMAo+IGh1YiA4LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDgtMDoxLjA6IDIgcG9y
dHMgZGV0ZWN0ZWQKPiB4aGNpX2hjZCAwMDAwOjAzOjAwLjA6IHhIQ0kgSG9zdCBDb250cm9sbGVy
Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25l
ZCBidXMgbnVtYmVyIDkKPiB1c2IgdXNiOTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9y
PTFkNmIsIGlkUHJvZHVjdD0wMDAzCj4gdXNiIHVzYjk6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6
IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjk6IFByb2R1Y3Q6IHhI
Q0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjk6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAt
cmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IHhoY2lfaGNkCj4gdXNiIHVzYjk6IFNlcmlhbE51bWJl
cjogMDAwMDowMzowMC4wCj4gaHViIDktMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgOS0wOjEu
MDogMiBwb3J0cyBkZXRlY3RlZAo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgdXNibHAKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVh
cwo+IEluaXRpYWxpemluZyBVU0IgTWFzcyBTdG9yYWdlIGRyaXZlci4uLgo+IHVzYmNvcmU6IHJl
Z2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3JhZ2UKPiBVU0IgTWFzcyBTdG9y
YWdlIHN1cHBvcnQgcmVnaXN0ZXJlZC4KPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIGxpYnVzdWFsCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRy
aXZlciB1bXNfZW5ldWI2MjUwCj4gaTgwNDI6IFBOUDogTm8gUFMvMiBjb250cm9sbGVyIGZvdW5k
LiBQcm9iaW5nIHBvcnRzIGRpcmVjdGx5Lgo+IHNlcmlvOiBpODA0MiBLQkQgcG9ydCBhdCAweDYw
LDB4NjQgaXJxIDEKPiBzZXJpbzogaTgwNDIgQVVYIHBvcnQgYXQgMHg2MCwweDY0IGlycSAxMgo+
IG1vdXNlZGV2OiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFsbCBtaWNlCj4gaW5wdXQ6
IFBDIFNwZWFrZXIgYXMgL2RldmljZXMvcGxhdGZvcm0vcGNzcGtyL2lucHV0L2lucHV0Mgo+IHJ0
Y19jbW9zIDAwOjA0OiBSVEMgY2FuIHdha2UgZnJvbSBTNAo+IHJ0Y19jbW9zIDAwOjA0OiBydGMg
Y29yZTogcmVnaXN0ZXJlZCBydGNfY21vcyBhcyBydGMwCj4gcnRjMDogYWxhcm1zIHVwIHRvIG9u
ZSBtb250aCwgeTNrLCAxMTQgYnl0ZXMgbnZyYW0KPiBpMmMgL2RldiBlbnRyaWVzIGRyaXZlcgo+
IHBpaXg0X3NtYnVzIDAwMDA6MDA6MTQuMDogU01CdXMgSG9zdCBDb250cm9sbGVyIGF0IDB4YjAw
LCByZXZpc2lvbiAwCj4gQVRLMDExMCBBVEswMTEwOjAwOiBFQyBlbmFibGVkCj4gU1A1MTAwIFRD
TyB0aW1lcjogU1A1MTAwIFRDTyBXYXRjaERvZyBUaW1lciBEcml2ZXIgdjAuMDEKPiBTUDUxMDAg
VENPIHRpbWVyOiBtbWlvIGFkZHJlc3MgMHhiOGZlMDAgYWxyZWFkeSBpbiB1c2UKPiBJVDg3IFdE
VDogQ2hpcCBJVDg3MjEgcmV2aXNpb24gMSBpbml0aWFsaXplZC4gdGltZW91dD02MCBzZWMgKG5v
d2F5b3V0PTAgdGVzdG1vZGU9MCBleGNsdXNpdmU9MSBub2dhbWVwb3J0PTApCj4gd2R0OiBYZW4g
V2F0Y2hEb2cgVGltZXIgRHJpdmVyIHYwLjAxCj4gd2R0OiBjYW5ub3QgcmVnaXN0ZXIgbWlzY2Rl
diBvbiBtaW5vcj0xMzAgKC0xNikKPiB3ZHQ6IHByb2JlIG9mIHdkdCBmYWlsZWQgd2l0aCBlcnJv
ciAtMTYKPiBkZXZpY2UtbWFwcGVyOiB1ZXZlbnQ6IHZlcnNpb24gMS4wLjMKPiBkZXZpY2UtbWFw
cGVyOiBpb2N0bDogNC4yMi4wLWlvY3RsICgyMDExLTEwLTE5KSBpbml0aWFsaXNlZDogZG0tZGV2
ZWxAcmVkaGF0LmNvbQo+IEVEQUMgTUM6IFZlcjogMi4xLjAKPiBBTUQ2NCBFREFDIGRyaXZlciB2
My40LjAKPiB1c2IgNC0yOiBuZXcgZnVsbC1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciAyIHVzaW5n
IG9oY2lfaGNkCj4gRURBQyBhbWQ2NDogRFJBTSBFQ0MgZGlzYWJsZWQuCj4gRURBQyBhbWQ2NDog
RUNDIGRpc2FibGVkIGluIHRoZSBCSU9TIG9yIG5vIEVDQyBjYXBhYmlsaXR5LCBtb2R1bGUgd2ls
bCBub3QgbG9hZC4KPiAgRWl0aGVyIGVuYWJsZSBFQ0MgY2hlY2tpbmcgb3IgZm9yY2UgbW9kdWxl
IGxvYWRpbmcgYnkgc2V0dGluZyAnZWNjX2VuYWJsZV9vdmVycmlkZScuCj4gIChOb3RlIHRoYXQg
dXNlIG9mIHRoZSBvdmVycmlkZSBtYXkgY2F1c2UgdW5rbm93biBzaWRlIGVmZmVjdHMuKQo+IHVz
YmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkCj4gdXNiaGlkOiBV
U0IgSElEIGNvcmUgZHJpdmVyCj4gVENQIGN1YmljIHJlZ2lzdGVyZWQKPiBORVQ6IFJlZ2lzdGVy
ZWQgcHJvdG9jb2wgZmFtaWx5IDE3Cj4gcnRjX2Ntb3MgMDA6MDQ6IHNldHRpbmcgc3lzdGVtIGNs
b2NrIHRvIDIwMTItMDUtMDcgMTE6MDc6MTUgVVRDICgxMzM2Mzg4ODM1KQo+IHBvd2Vybm93LWs4
OiBGb3VuZCAxIEFNRCBQaGVub20odG0pIElJIFg2IDEwNzVUIFByb2Nlc3NvciAoNiBjcHUgY29y
ZXMpICh2ZXJzaW9uIDIuMjAuMDApCj4gcG93ZXJub3ctazg6IENvcmUgUGVyZm9ybWFuY2UgQm9v
c3Rpbmc6IG9uLgo+IHBvd2Vybm93LWs4OiBpbnZhbGlkIHBzdGF0ZSAxIC0gYmFkIHZhbHVlIDEu
Cj4gcG93ZXJub3ctazg6IFBsZWFzZSByZXBvcnQgdG8gQklPUyBtYW51ZmFjdHVyZXIKPiBwb3dl
cm5vdy1rODogaW52YWxpZCBwc3RhdGUgMiAtIGJhZCB2YWx1ZSAyLgo+IHBvd2Vybm93LWs4OiBQ
bGVhc2UgcmVwb3J0IHRvIEJJT1MgbWFudWZhY3R1cmVyCj4gcG93ZXJub3ctazg6IGludmFsaWQg
cHN0YXRlIDMgLSBiYWQgdmFsdWUgMy4KPiBwb3dlcm5vdy1rODogUGxlYXNlIHJlcG9ydCB0byBC
SU9TIG1hbnVmYWN0dXJlcgo+IFtGaXJtd2FyZSBCdWddOiBwb3dlcm5vdy1rODogaW52YWxpZCBw
b3dlcm5vd190YWJsZQo+IEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDU5NmsgZnJlZWQK
PiBMb2FkaW5nLCBwbGVhc2Ugd2FpdC4uLgo+IHVkZXZbMTA4N106IHN0YXJ0aW5nIHZlcnNpb24g
MTY0Cj4gdXNiIDQtMjogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTA0MWUsIGlkUHJv
ZHVjdD0zMGRjCj4gdXNiIDQtMjogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTEsIFByb2R1
Y3Q9MiwgU2VyaWFsTnVtYmVyPTMKPiB1c2IgNC0yOiBQcm9kdWN0OiBTb3VuZCBCbGFzdGVyIFRh
Y3RpYygzRCkgQWxwaGEKPiB1c2IgNC0yOiBNYW51ZmFjdHVyZXI6IENyZWF0aXZlIFRlY2hub2xv
Z3kgTHRkCj4gdXNiIDQtMjogU2VyaWFsTnVtYmVyOiAwMDAyMzE2Mgo+IGlucHV0OiBDcmVhdGl2
ZSBUZWNobm9sb2d5IEx0ZCBTb3VuZCBCbGFzdGVyIFRhY3RpYygzRCkgQWxwaGEgYXMgL2Rldmlj
ZXMvcGNpMDAwMDowMC8wMDAwOjAwOjEyLjAvdXNiNC80LTIvNC0yOjEuMy9pbnB1dC9pbnB1dDMK
PiBnZW5lcmljLXVzYiAwMDAzOjA0MUU6MzBEQy4wMDAxOiBpbnB1dCxoaWRkZXYwOiBVU0IgSElE
IHYxLjAwIERldmljZSBbQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQgU291bmQgQmxhc3RlciBUYWN0
aWMoM0QpIEFscGhhXSBvbiB1c2ItMDAwMDowMDoxMi4wLTIvaW5wdXQzCj4gQmVnaW46IExvYWRp
bmcgZXNzZW50aWFsIGRyaXZlcnMgLi4uIGRvbmUuCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMv
aW5pdC1wcmVtb3VudCAuLi4gZG9uZS4KPiBCZWdpbjogTW91bnRpbmcgcm9vdCBmaWxlIHN5c3Rl
bSAuLi4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMvbG9jYWwtdG9wIC4uLiB1c2IgMS0xLjE6IG5l
dyBmdWxsLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDQgdXNpbmcgZWhjaV9oY2QKPiBkb25lLgo+
IEJlZ2luOiBSdW5uaW5nIC9zY3JpcHRzL2xvY2FsLXByZW1vdW50IC4uLiBkb25lLgo+IEVYVDQt
ZnMgKGRtLTApOiBtb3VudGVkIGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gT3B0
czogKG51bGwpCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMvbG9jYWwtYm90dG9tIC4uLiBkb25l
Lgo+IGRvbmUuCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMvaW5pdC1ib3R0b20gLi4uIHVzYiAx
LTEuMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTE1MzIsIGlkUHJvZHVjdD0wMDEz
Cj4gdXNiIDEtMS4xOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MSwgUHJvZHVjdD0yLCBT
ZXJpYWxOdW1iZXI9MAo+IHVzYiAxLTEuMTogUHJvZHVjdDogUmF6ZXIgT3JvY2hpCj4gdXNiIDEt
MS4xOiBNYW51ZmFjdHVyZXI6IFJhemVyCj4gaW5wdXQ6IFJhemVyIFJhemVyIE9yb2NoaSBhcyAv
ZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMS8xLTEuMToxLjAv
aW5wdXQvaW5wdXQ0Cj4gZ2VuZXJpYy11c2IgMDAwMzoxNTMyOjAwMTMuMDAwMjogaW5wdXQ6IFVT
QiBISUQgdjEuMTEgTW91c2UgW1JhemVyIFJhemVyIE9yb2NoaV0gb24gdXNiLTAwMDA6MDA6MTIu
Mi0xLjEvaW5wdXQwCj4gaW5wdXQ6IFJhemVyIFJhemVyIE9yb2NoaSBhcyAvZGV2aWNlcy9wY2kw
MDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMS8xLTEuMToxLjEvaW5wdXQvaW5wdXQ1
Cj4gZ2VuZXJpYy11c2IgMDAwMzoxNTMyOjAwMTMuMDAwMzogaW5wdXQ6IFVTQiBISUQgdjEuMTEg
S2V5Ym9hcmQgW1JhemVyIFJhemVyIE9yb2NoaV0gb24gdXNiLTAwMDA6MDA6MTIuMi0xLjEvaW5w
dXQxCj4gZG9uZS4KPiBJTklUOiB2ZXJzaW9uIDIuODggYm9vdGluZwo+IHVzYiAxLTEuMjogbmV3
IGxvdy1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciA1IHVzaW5nIGVoY2lfaGNkCj4gVXNpbmcgbWFr
ZWZpbGUtc3R5bGUgY29uY3VycmVudCBib290IGluIHJ1bmxldmVsIFMuCj4gRmlsZXMgdW5kZXIg
bW91bnQgcG9pbnQgJy9saWIvaW5pdC9ydycgd2lsbCBiZSBoaWRkZW4uIC4uLiAod2FybmluZyku
Cj4gdXNiIDEtMS4yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MDRmMiwgaWRQcm9k
dWN0PTA0MDMKPiB1c2IgMS0xLjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0xLCBQcm9k
dWN0PTIsIFNlcmlhbE51bWJlcj0wCj4gdXNiIDEtMS4yOiBQcm9kdWN0OiBVU0IgS2V5Ym9hcmQK
PiB1c2IgMS0xLjI6IE1hbnVmYWN0dXJlcjogQ2hpY29ueQo+IEZpbGVzIHVuZGVyIG1vdW50IHBv
aW50ICcvdmFyL3J1bicgd2lsbCBiZSBoaWRkZW4uIC4uLmlucHV0OiBDaGljb255IFVTQiBLZXli
b2FyZCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMi8x
LTEuMjoxLjAvaW5wdXQvaW5wdXQ2Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0MDMuMDAwNDog
aW5wdXQ6IFVTQiBISUQgdjEuMTEgS2V5Ym9hcmQgW0NoaWNvbnkgVVNCIEtleWJvYXJkXSBvbiB1
c2ItMDAwMDowMDoxMi4yLTEuMi9pbnB1dDAKPiAgKHdhcm5pbmcpLgo+IGlucHV0OiBDaGljb255
IFVTQiBLZXlib2FyZCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEt
MS8xLTEuMi8xLTEuMjoxLjEvaW5wdXQvaW5wdXQ3Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0
MDMuMDAwNTogaW5wdXQsaGlkZGV2MDogVVNCIEhJRCB2MS4xMSBEZXZpY2UgW0NoaWNvbnkgVVNC
IEtleWJvYXJkXSBvbiB1c2ItMDAwMDowMDoxMi4yLTEuMi9pbnB1dDEKPiBmaXJld2lyZV9uZXQ6
IGZpcmV3aXJlMDogSVB2NCBvdmVyIEZpcmVXaXJlIG9uIGRldmljZSAwMDFlOGMwMDAwZGU5MTM2
Cj4gZmlyZXdpcmVfY29yZTogcmVmcmVzaGVkIGRldmljZSBmdzAKPiBGaWxlcyB1bmRlciBtb3Vu
dCBwb2ludCAnL3Zhci9sb2NrJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJuaW5nKS4KPiBTdGFy
dGluZyB0aGUgaG90cGx1ZyBldmVudHMgZGlzcGF0Y2hlcjogdWRldmR1ZGV2WzEyOTZdOiBzdGFy
dGluZyB2ZXJzaW9uIDE2NAo+IC4KPiBTeW50aGVzaXppbmcgdGhlIGluaXRpYWwgaG90cGx1ZyBl
dmVudHMuLi5kb25lLgo+IFdhaXRpbmcgZm9yIC9kZXYgdG8gYmUgZnVsbHkgcG9wdWxhdGVkLi4u
ZG9uZS4KPiBTZXR0aW5nIGhvc3RuYW1lIHRvICd4ZW4nLi4uZG9uZS4KPiBTZXR0aW5nIHByZWxp
bWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGluZyBzd2FwOi4KPiBFWFQ0LWZzIChkbS0w
KTogcmUtbW91bnRlZC4gT3B0czogKG51bGwpCj4gV2lsbCBub3cgY2hlY2sgcm9vdCBmaWxlIHN5
c3RlbTpmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBbL3NiaW4vZnNjay5leHQ0ICgx
KSAtLSAvXSBmc2NrLmV4dDQgLWEgLUMwIC9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiAKPiAvZGV2
L21hcHBlci9sZW1yb3VjaC14ZW46IGNsZWFuLCAxNzU2NDcvMTMxMDcyMCBmaWxlcywgMTI3Njc3
MC81MjQyODgwIGJsb2Nrcwo+IC4KPiBFWFQ0LWZzIChkbS0wKTogcmUtbW91bnRlZC4gT3B0czog
ZXJyb3JzPXJlbW91bnQtcm8KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgZmlyZXdpcmUtc2JwMi4K
PiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgbG9vcC4KPiBDbGVhbmluZyB1cCBpZnVwZG93bi4uLi4K
PiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0dGluZyB1cCBMVk0gVm9sdW1lIEdyb3Vw
cyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4gIFRoaXMgbWF5IHRha2UgYSB3aGlsZS4u
Lgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3VjaCIgdXNpbmcgbWV0YWRhdGEgdHlwZSBs
dm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAibGVtcm91Y2giIG5v
dyBhY3RpdmUKPiAuCj4gV2lsbCBub3cgYWN0aXZhdGUgbHZtIGFuZCBtZCBzd2FwOmRvbmUuCj4g
V2lsbCBub3cgY2hlY2sgYWxsIGZpbGUgc3lzdGVtcy4KPiBmc2NrIGZyb20gdXRpbC1saW51eC1u
ZyAyLjE3LjIKPiBDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgo+IERvbmUgY2hlY2tpbmcgZmls
ZSBzeXN0ZW1zLiBBIGxvZyBpcyBiZWluZyBzYXZlZCBpbiAvdmFyL2xvZy9mc2NrL2NoZWNrZnMg
aWYgdGhhdCBsb2NhdGlvbiBpcyB3cml0YWJsZS4uCj4gV2lsbCBub3cgbW91bnQgbG9jYWwgZmls
ZXN5c3RlbXM6RVhUNC1mcyAoc2RhMSk6IHdhcm5pbmc6IG1vdW50aW5nIHVuY2hlY2tlZCBmcywg
cnVubmluZyBlMmZzY2sgaXMgcmVjb21tZW5kZWQKPiBFWFQ0LWZzIChzZGExKTogbW91bnRlZCBm
aWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6IChudWxsKQo+IC4KPiBXaWxs
IG5vdyBhY3RpdmF0ZSBzd2FwZmlsZSBzd2FwOmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5
IGZpbGVzLi4uQ2xlYW5pbmcgL3RtcC4uLmRvbmUuCj4gLgo+IENoZWNraW5nIG1pbmltdW0gc3Bh
Y2UgaW4gL3RtcC4uLmRvbmUuCj4gU2V0dGluZyBrZXJuZWwgdmFyaWFibGVzIC4uLiAvZXRjL3N5
c2N0bC5jb25mLi4uZG9uZS4KPiBJbml0aWFsaXppbmcgcmFuZG9tIG51bWJlciBnZW5lcmF0b3Iu
Li5kb25lLgo+IFNldHRpbmcgdXAgWCBzZXJ2ZXIgc29ja2V0IGRpcmVjdG9yeSAvdG1wLy5YMTEt
dW5peC4uLi4KPiBTZXR0aW5nIHVwIElDRSBzb2NrZXQgZGlyZWN0b3J5IC90bXAvLklDRS11bml4
Li4uLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJmYWNlcy4uLmRldmljZSBldGgwIGVudGVy
ZWQgcHJvbWlzY3VvdXMgbW9kZQo+IHNreTIgMDAwMDowNDowMC4wOiBldGgwOiBlbmFibGluZyBp
bnRlcmZhY2UKPiBkb25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBTdGFy
dGluZyBmaWxlc3lzdGVtIGluIHVzZXJzcGFjZTogZnVzZS4KPiBTZXR0aW5nIGNvbnNvbGUgc2Ny
ZWVuIG1vZGVzLgo+IGNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlCj4gU2tpcHBpbmcgZm9u
dCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNvbnNvbGUtc2V0dXApLgo+IFNldHRpbmcg
dXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25lLgo+IFNldHRpbmcgc2Vuc29ycyBsaW1p
dHMuCj4gSU5JVDogRW50ZXJpbmcgcnVubGV2ZWw6IDMKPiBVc2luZyBtYWtlZmlsZS1zdHlsZSBj
b25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgMy4KPiBOb3Qgc3RhcnRpbmcgZmFuY29udHJvbDsg
cnVuIHB3bWNvbmZpZyBmaXJzdC4gLi4uICh3YXJuaW5nKS4KPiBhY3BpZDogc3RhcnRpbmcgdXAg
d2l0aCBuZXRsaW5rIGFuZCB0aGUgaW5wdXQgbGF5ZXIKPiAKPiBhY3BpZDogMSBydWxlIGxvYWRl
ZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6IGV2ZW50IGxvZ2dpbmcgaXMgb2ZmCj4g
Cj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBTdGFydGluZyBzeXN0ZW0gbWVzc2FnZSBi
dXM6IGRidXMuCj4gU3RhcnRpbmcgdGhlIFdpbmJpbmQgZGFlbW9uOiB3aW5iaW5kLnNzaGQgKDIw
NjYpOiAvcHIKPiBvYy8yMDY2L29vbV9hZGogaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSAvcHJv
Yy8yMDY2L29vbV9zY29yZV9hZGogaW5zdGVhZC4KPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNw
dSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFi
bGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+
IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFibGUgdG8gcmVh
ZCBjcHUgc3RhdGUKPiBTdGFydGluZyBveGVuc3RvcmVkLi4uCj4gU2V0dGluZyBkb21haW4gMCBu
YW1lLi4uCj4gU3RhcnRpbmcgeGVuY29uc29sZWQuLi4KPiBTdGFydGluZyBPcGVuQlNEIFNlY3Vy
ZSBTaGVsbCBzZXJ2ZXI6IHNzaGQuCj4gU3RhcnRpbmcgZG9tYWluIG5hbWUgc2VydmljZS4uLjog
YmluZDkuCj4gU3RhcnRpbmcgU2FtYmEgZGFlbW9uczogbm1iZCBzbWJkLgo+IFN0YXJ0aW5nIHBl
cmlvZGljIGNvbW1hbmQgc2NoZWR1bGVyOiBjcm9uLgo+IFN0YXJ0aW5nIFBvc3RmaXggTWFpbCBU
cmFuc3BvcnQgQWdlbnQ6IHBvc3RmaXguCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3RybC5j
Ojc5MjogYmxrdGFwY3RybDogdjEuMC4wCj4gCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3Ry
bC5jOjc5NDogRm91bmQgZHJpdmVyOiBbcmF3IGltYWdlIChhaW8pXQo+IAo+IEJMS1RBUENUUkxb
MjIzMV06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3JhdyBpbWFnZSAoc3luYyld
Cj4gCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBb
dm13YXJlIGltYWdlICh2bWRrKV0KPiAKPiBCTEtUQVBDVFJMWzIyMzFdOiBibGt0YXBjdHJsLmM6
Nzk0OiBGb3VuZCBkcml2ZXI6IFtyYW1kaXNrIGltYWdlIChyYW0pXQo+IAo+IEJMS1RBUENUUkxb
MjIzMV06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3Fjb3cgZGlzayAocWNvdyld
Cj4gCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBb
cWNvdzIgZGlzayAocWNvdzIpXQo+IAo+IEJMS1RBUENUUkxbMjIzMV06IGJsa3RhcGN0cmxfbGlu
dXguYzo4NjogYmxrdGFwMCBvcGVuIGZhaWxlZAo+IAo+IEJMS1RBUENUUkxbMjIzMV06IGJsa3Rh
cGN0cmwuYzo4NjE6IGNvdWxkbid0IG9wZW4gYmxrdGFwIGludGVyZmFjZQo+IAo+IEJMS1RBUENU
UkxbMjIzMV06IGJsa3RhcGN0cmwuYzo5MjQ6IFVuYWJsZSB0byBzdGFydCBibGt0YXBjdHJsCj4g
Cj4gU3RhcnRpbmcgUy5NLkEuUi5ULiBkYWVtb246IHNtYXJ0ZC4KPiBza3kyIDAwMDA6MDQ6MDAu
MDogZXRoMDogTGluayBpcyB1cCBhdCAxMDAgTWJwcywgZnVsbCBkdXBsZXgsIGZsb3cgY29udHJv
bCBib3RoCj4gYnIwOiBwb3J0IDEoZXRoMCkgZW50ZXJpbmcgZm9yd2FyZGluZyBzdGF0ZQo+IGJy
MDogcG9ydCAxKGV0aDApIGVudGVyaW5nIGZvcndhcmRpbmcgc3RhdGUKPiBicjA6IHBvcnQgMShl
dGgwKSBlbnRlcmluZyBmb3J3YXJkaW5nIHN0YXRlCj4gUnVubmluZyBsb2NhbCBib290IHNjcmlw
dHMgKC9ldGMvcmMubG9jYWwpKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxMi4yCj4g
YWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQKPiAKPiBhY3BpZDogaW5w
dXQgZGV2aWNlIGhhcyBiZWVuIGRpc2Nvbm5lY3RlZAo+IAo+IGFjcGlkOiBpbnB1dCBkZXZpY2Ug
aGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDow
MDoxMy4yCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDox
My4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4yCj4gW0NQVTBdIGZhaWxlZCB0
byBzZXQgZ292ZXJub3IgbmFtZQo+IFtDUFUxXSBmYWlsZWQgdG8gc2V0IGdvdmVybm9yIG5hbWUK
PiBbQ1BVMl0gZmFpbGVkIHRvIHNldCBnb3Zlcm5vciBuYW1lCj4gW0NQVTNdIGZhaWxlZCB0byBz
ZXQgZ292ZXJub3IgbmFtZQo+IFtDUFU0XSBmYWlsZWQgdG8gc2V0IGdvdmVybm9yIG5hbWUKPiBb
Q1BVNV0gZmFpbGVkIHRvIHNldCBnb3Zlcm5vciBuYW1lCj4gLgo+IGFjcGlkOiBpbnB1dCBkZXZp
Y2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gYWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVl
biBkaXNjb25uZWN0ZWQKPiAKPiBhY3BpZDogaW5wdXQgZGV2aWNlIGhhcyBiZWVuIGRpc2Nvbm5l
Y3RlZAo+IAo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4g
KFhFTikgaW9wb3J0X21hcDphZGQ6IGRvbTEgZ3BvcnQ9M2IwIG1wb3J0PTNiMCBucj1jCj4gKFhF
TikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWEwIG1mbj1hMCBucj0yMAo+IChYRU4pIGlvcG9y
dF9tYXA6YWRkOiBkb20xIGdwb3J0PTNjMCBtcG9ydD0zYzAgbnI9Mwo+IChYRU4pIGlvcG9ydF9t
YXA6YWRkOiBkb20xIGdwb3J0PTNjNCBtcG9ydD0zYzQgbnI9MWMKPiAoWEVOKSBIVk0xOiBIVk0g
TG9hZGVyCj4gKFhFTikgSFZNMTogRGV0ZWN0ZWQgWGVuIHY0LjItdW5zdGFibGUKPiAoWEVOKSBI
Vk0xOiBYZW5idXMgcmluZ3MgQDB4ZmVmZmMwMDAsIGV2ZW50IGNoYW5uZWwgOAo+IChYRU4pIEhW
TTE6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwo+IChYRU4pIEhWTTE6IENQVSBzcGVlZCBpcyAz
MDEwIE1Iego+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAwIGNoYW5nZWQgMCAtPiA1
Cj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUKPiAoWEVOKSBpcnEu
YzoyNzA6IERvbTEgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKPiAoWEVOKSBIVk0xOiBQQ0kt
SVNBIGxpbmsgMSByb3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxp
bmsgMiBjaGFuZ2VkIDAgLT4gMTEKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMiByb3V0ZWQg
dG8gSVJRMTEKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxpbmsgMyBjaGFuZ2VkIDAgLT4g
NQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1Cj4gKFhFTikgSFZN
MTogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIElO
VEEtPklSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgSU5UQS0+SVJRNQo+IChYRU4pIEhW
TTE6IHBjaSBkZXYgMDU6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDY6MCBJ
TlRCLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNzowIElOVEEtPklSUTUKPiAoWEVOKSBI
Vk0xOiBwY2kgZGV2IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA5OjAg
SU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDEwIHNpemUgMTAwMDAw
MDA6IGUwMDAwMDBjCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWUwMDAwIG1mbj1k
MDAwMCBucj0xMDAwMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6MCBiYXIgMTQgc2l6ZSAwMTAw
MDAwMDogZjAwMDAwMDgKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgYmFyIDEwIHNpemUgMDAw
MjAwMDA6IGYxMDAwMDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDIwIG1m
bj1mZTllMCBucj0yMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTggc2l6ZSAwMDAy
MDAwMDogZjEwMjAwMDQKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDMwIHNpemUgMDAw
MjAwMDA6IGYxMDQwMDAwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNjowIGJhciAxMCBzaXplIDAw
MDA0MDAwOiBmMTA2MDAwNAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2MCBt
Zm49ZmU5YmMgbnI9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDk6MCBiYXIgMTAgc2l6ZSAwMDAw
NDAwMDogZjEwNjQwMDQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjQgbWZu
PWZlM2Y4IG5yPTQKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA3OjAgYmFyIDEwIHNpemUgMDAwMDEw
MDA6IGYxMDY4MDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDY4IG1mbj1m
ZTNmNyBucj0xCj4gKFhFTikgSFZNMTogcGNpIGRldiAwODowIGJhciAxMCBzaXplIDAwMDAxMDAw
OiBmMTA2OTAwMAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2OSBtZm49ZjAw
MDAgbnI9MQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEwMDog
MDAwMGMwMDEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAxMDA6
IDAwMDBjMTAxCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNDowIGJhciAxNCBzaXplIDAwMDAwMDQw
OiAwMDAwYzIwMQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAwMDAx
MDogMDAwMGMyNDEKPiAoWEVOKSBIVk0xOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlvbjoK
PiAoWEVOKSBIVk0xOiAgLSBDUFUwIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4u
IHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUxIC4uLiA0OC1i
aXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAo
WEVOKSBIVk0xOiAgLSBDUFUyIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZh
ciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUzIC4uLiA0OC1iaXQg
cGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVO
KSBIVk0xOiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBN
VFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFU1IC4uLiA0OC1iaXQgcGh5
cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBI
Vk0xOiBUZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoKPiAoWEVOKSBIVk0xOiAgLSBSRVAgSU5TQiBh
Y3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiAgLSBHUyBiYXNl
IE1TUnMgYW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMTogUGFzc2VkIDIgb2YgMiB0
ZXN0cwo+IChYRU4pIEhWTTE6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KPiAoWEVOKSBIVk0x
OiBMb2FkaW5nIFJPTUJJT1MgLi4uCj4gKFhFTikgSFZNMTogOTY2MCBieXRlcyBvZiBST01CSU9T
IGhpZ2gtbWVtb3J5IGV4dGVuc2lvbnM6Cj4gKFhFTikgSFZNMTogICBSZWxvY2F0aW5nIHRvIDB4
ZmMwMDEwMDAtMHhmYzAwMzViYyAuLi4gZG9uZQo+IChYRU4pIEhWTTE6IENyZWF0aW5nIE1QIHRh
YmxlcyAuLi4KPiAoWEVOKSBIVk0xOiBMb2FkaW5nIFZHQUJJT1Mgb2YgcGFzc3Rocm91Z2hlZCBn
ZnggLi4uCj4gKFhFTikgSFZNMTogTG9hZGluZyBQQ0kgT3B0aW9uIFJPTSAuLi4KPiAoWEVOKSBI
Vk0xOiAgLSBNYW51ZmFjdHVyZXI6IGh0dHA6Ly9pcHhlLm9yZwo+IChYRU4pIEhWTTE6ICAtIFBy
b2R1Y3QgbmFtZTogaVBYRQo+IChYRU4pIEhWTTE6IE9wdGlvbiBST01zOgo+IChYRU4pIEhWTTE6
ICBjMDAwMC1jZmZmZjogVkdBIEJJT1MKPiAoWEVOKSBIVk0xOiAgZDAwMDAtZTBmZmY6IEV0aGVy
Ym9vdCBST00KPiAoWEVOKSBIVk0xOiBMb2FkaW5nIEFDUEkgLi4uCj4gKFhFTikgSFZNMTogdm04
NiBUU1MgYXQgZmMwMGY3MDAKPiAoWEVOKSBIVk0xOiBCSU9TIG1hcDoKPiAoWEVOKSBIVk0xOiAg
ZjAwMDAtZmZmZmY6IE1haW4gQklPUwo+IChYRU4pIEhWTTE6IEU4MjAgdGFibGU6Cj4gKFhFTikg
SFZNMTogIFswMF06IDAwMDAwMDAwOjAwMDAwMDAwIC0gMDAwMDAwMDA6MDAwOWUwMDA6IFJBTQo+
IChYRU4pIEhWTTE6ICBbMDFdOiAwMDAwMDAwMDowMDA5ZTAwMCAtIDAwMDAwMDAwOjAwMGEwMDAw
OiBSRVNFUlZFRAo+IChYRU4pIEhWTTE6ICBIT0xFOiAwMDAwMDAwMDowMDBhMDAwMCAtIDAwMDAw
MDAwOjAwMGUwMDAwCj4gKFhFTikgSFZNMTogIFswMl06IDAwMDAwMDAwOjAwMGUwMDAwIC0gMDAw
MDAwMDA6MDAxMDAwMDA6IFJFU0VSVkVECj4gKFhFTikgSFZNMTogIFswM106IDAwMDAwMDAwOjAw
MTAwMDAwIC0gMDAwMDAwMDA6ZTAwMDAwMDA6IFJBTQo+IChYRU4pIEhWTTE6ICBIT0xFOiAwMDAw
MDAwMDplMDAwMDAwMCAtIDAwMDAwMDAwOmZjMDAwMDAwCj4gKFhFTikgSFZNMTogIFswNF06IDAw
MDAwMDAwOmZjMDAwMDAwIC0gMDAwMDAwMDE6MDAwMDAwMDA6IFJFU0VSVkVECj4gKFhFTikgSFZN
MTogIFswNV06IDAwMDAwMDAxOjAwMDAwMDAwIC0gMDAwMDAwMDE6MjAwMDAwMDA6IFJBTQo+IChY
RU4pIEhWTTE6IEludm9raW5nIFJPTUJJT1MgLi4uCj4gKFhFTikgSFZNMTogJFJldmlzaW9uOiAx
LjIyMSAkICREYXRlOiAyMDA4LzEyLzA3IDE3OjMyOjI5ICQKPiAoWEVOKSBIVk0xOiBCb2NocyBC
SU9TIC0gYnVpbGQ6IDA2LzIzLzk5Cj4gKFhFTikgSFZNMTogJFJldmlzaW9uOiAxLjIyMSAkICRE
YXRlOiAyMDA4LzEyLzA3IDE3OjMyOjI5ICQKPiAoWEVOKSBIVk0xOiBPcHRpb25zOiBhcG1iaW9z
IHBjaWJpb3MgZWx0b3JpdG8gUE1NIAo+IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IGF0YTAt
MDogUENIUz0xNjM4My8xNi82MyB0cmFuc2xhdGlvbj1sYmEgTENIUz0xMDI0LzI1NS82Mwo+IChY
RU4pIEhWTTE6IGF0YTAgbWFzdGVyOiBRRU1VIEhBUkRESVNLIEFUQS03IEhhcmQtRGlzayAoMjA0
ODAgTUJ5dGVzKQo+IChYRU4pIEhWTTE6IGF0YTAtMTogUENIUz0xNjM4My8xNi82MyB0cmFuc2xh
dGlvbj1sYmEgTENIUz0xMDI0LzI1NS82Mwo+IChYRU4pIEhWTTE6IGF0YTAgIHNsYXZlOiBRRU1V
IEhBUkRESVNLIEFUQS03IEhhcmQtRGlzayAoNTEyMDAgTUJ5dGVzKQo+IChYRU4pIEhWTTE6IAo+
IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IFByZXNzIEYxMiBmb3Ig
Ym9vdCBtZW51Lgo+IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IEJvb3RpbmcgZnJvbSBIYXJk
IERpc2suLi4KPiAoWEVOKSBIVk0xOiBCb290aW5nIGZyb20gMDAwMDo3YzAwCj4gKFhFTikgaXJx
LmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdlZCA1IC0+IDAKPiAoWEVOKSBpcnEuYzoyNzA6
IERvbTEgUENJIGxpbmsgMSBjaGFuZ2VkIDEwIC0+IDAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEg
UENJIGxpbmsgMiBjaGFuZ2VkIDExIC0+IDAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxp
bmsgMyBjaGFuZ2VkIDUgLT4gMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1l
MDAwMCBtZm49ZDAwMDAgbnI9MTAwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBn
Zm49ZjEwMjAgbWZuPWZlOWUwIG5yPTIwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2Zu
PWUwMDAwIG1mbj1kMDAwMCBucj0xMDAwMAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdm
bj1mMTAyMCBtZm49ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBn
Zm49ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49
ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49
ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEw
NjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEw
NjkgbWZuPWYwMDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjkg
bWZuPWYwMDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjQg
bWZuPWZlM2Y4IG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjQgbWZu
PWZlM2Y4IG5yPTQKPiAoWEVOKSBncmFudF90YWJsZS5jOjExNzQ6ZDEgRXhwYW5kaW5nIGRvbSAo
MSkgZ3JhbnQgdGFibGUgZnJvbSAoNCkgdG8gKDMyKSBmcmFtZXMuCj4gKFhFTikgaXJxLmM6MzUw
OiBEb20xIGNhbGxiYWNrIHZpYSBjaGFuZ2VkIHRvIEdTSSAyOAo+IChYRU4pIG1lbW9yeV9tYXA6
cmVtb3ZlOiBkb20xIGdmbj1lMDAwMCBtZm49ZDAwMDAgbnI9MTAwMDAKPiAoWEVOKSBtZW1vcnlf
bWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwMjAgbWZuPWZlOWUwIG5yPTIwCj4gKFhFTikgbWVtb3J5
X21hcDphZGQ6IGRvbTEgZ2ZuPWUwMDAwIG1mbj1kMDAwMCBucj0xMDAwMAo+IChYRU4pIG1lbW9y
eV9tYXA6YWRkOiBkb20xIGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlf
bWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlf
bWFwOmFkZDogZG9tMSBnZm49ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFw
OnJlbW92ZTogZG9tMSBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFw
OmFkZDogZG9tMSBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMSwgZmF1bHQgYWRkcmVzcyA9
IDB4OWRiNDQwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjkgbWZu
PWYwMDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjkgbWZuPWYw
MDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjQgbWZuPWZl
M2Y4IG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjQgbWZuPWZlM2Y4
IG5yPTQKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDBhMiwgZmF1bHQgYWRkcmVzcyA9IDB4OWRlYmUwMDAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDBhMiwgZmF1bHQgYWRkcmVz
cyA9IDB4OWRlYmUwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDBhMiwgZmF1bHQgYWRkcmVzcyA9IDB4OWRlYmUwMDAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk0MzI0ZTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzI0YjAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MDhhODAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwg
ZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIw
NDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIwODAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9
IDB4OWQ3YWIwYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIxMDAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQg
YWRkcmVzcyA9IDB4OWQ3YWIxNDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIxODAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcw
MCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIxYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3
YWIyMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIyNDAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVz
cyA9IDB4OWQ3YWIyODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIyYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1
bHQgYWRkcmVzcyA9IDB4OWQ3YWIzMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzNDAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzNDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4
OWQ3YWIzODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzODAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRk
cmVzcyA9IDB4OWQ3YWIzYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0
NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0
MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MGVhODAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5Miwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNh
MzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2ZjZhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2
MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk1MGVhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5Miwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNh
MzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MDJhODAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1
MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk0MDJhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5Miwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MTRh
MzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk2ZmNhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0
MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2ZmNhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZGZlODAwODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwMDAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwMDAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwNDAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZGZlODAwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKCj4gZGlmZiAtLWdp
dCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2Fz
bS9wYXJhdmlydC5oCj4gaW5kZXggYWEwZjkxMy4uMjU5ZWY3ZiAxMDA2NDQKPiAtLS0gYS9hcmNo
L3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oCj4gKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20v
cGFyYXZpcnQuaAo+IEBAIC0zNDAsMTEgKzM0MCwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgd3Jp
dGVfaWR0X2VudHJ5KGdhdGVfZGVzYyAqZHQsIGludCBlbnRyeSwgY29uc3QgZ2F0ZV9kZXNjICpn
KQo+ICB7Cj4gIAlQVk9QX1ZDQUxMMyhwdl9jcHVfb3BzLndyaXRlX2lkdF9lbnRyeSwgZHQsIGVu
dHJ5LCBnKTsKPiAgfQo+ICsKPiAgc3RhdGljIGlubGluZSB2b2lkIHNldF9pb3BsX21hc2sodW5z
aWduZWQgbWFzaykKPiAgewo+ICAJUFZPUF9WQ0FMTDEocHZfY3B1X29wcy5zZXRfaW9wbF9tYXNr
LCBtYXNrKTsKPiAgfQo+ICAKPiArc3RhdGljIGlubGluZSB2b2lkIHNldF9pb19iaXRtYXAoc3Ry
dWN0IHRocmVhZF9zdHJ1Y3QgKnRocmVhZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIGJ5dGVzX3VwZGF0ZWQpCj4gK3sKPiArICAgICAgIFBWT1BfVkNB
TEwyKHB2X2NwdV9vcHMuc2V0X2lvX2JpdG1hcCwgdGhyZWFkLCBieXRlc191cGRhdGVkKTsKPiAr
fQo+ICsKPiAgLyogVGhlIHBhcmF2aXJ0dWFsaXplZCBJL08gZnVuY3Rpb25zICovCj4gIHN0YXRp
YyBpbmxpbmUgdm9pZCBzbG93X2Rvd25faW8odm9pZCkKPiAgewo+IGRpZmYgLS1naXQgYS9hcmNo
L3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20v
cGFyYXZpcnRfdHlwZXMuaAo+IGluZGV4IDhlOGI5YTQuLjk2ZjI2N2MgMTAwNjQ0Cj4gLS0tIGEv
YXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnRfdHlwZXMuaAo+ICsrKyBiL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmgKPiBAQCAtMTQyLDYgKzE0Miw4IEBAIHN0cnVjdCBw
dl9jcHVfb3BzIHsKPiAgCXZvaWQgKCpsb2FkX3NwMCkoc3RydWN0IHRzc19zdHJ1Y3QgKnRzcywg
c3RydWN0IHRocmVhZF9zdHJ1Y3QgKnQpOwo+ICAKPiAgCXZvaWQgKCpzZXRfaW9wbF9tYXNrKSh1
bnNpZ25lZCBtYXNrKTsKPiArICAgICAgICB2b2lkICgqc2V0X2lvX2JpdG1hcCkoc3RydWN0IHRo
cmVhZF9zdHJ1Y3QgKnRocmVhZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBieXRlc191cGRhdGVkKTsKPiAgCj4gIAl2b2lkICgqd2JpbnZkKSh2b2lkKTsK
PiAgCXZvaWQgKCppb19kZWxheSkodm9pZCk7Cj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1
ZGUvYXNtL3Byb2Nlc3Nvci5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKPiBp
bmRleCA0ZmE3ZGNjLi42MmJlY2NlIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNt
L3Byb2Nlc3Nvci5oCj4gKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKPiBA
QCAtNTAzLDYgKzUwMyw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBuYXRpdmVfc2V0X2lvcGxfbWFz
ayh1bnNpZ25lZCBtYXNrKQo+ICAjZW5kaWYKPiAgfQo+ICAKPiArZXh0ZXJuIHZvaWQgbmF0aXZl
X3NldF9pb19iaXRtYXAoc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnRocmVhZCwKPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHVwZGF0ZWRfYnl0ZXMpOwo+ICsK
PiAgc3RhdGljIGlubGluZSB2b2lkCj4gIG5hdGl2ZV9sb2FkX3NwMChzdHJ1Y3QgdHNzX3N0cnVj
dCAqdHNzLCBzdHJ1Y3QgdGhyZWFkX3N0cnVjdCAqdGhyZWFkKQo+ICB7Cj4gQEAgLTUzNiw2ICs1
MzksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9zcDAoc3RydWN0IHRzc19zdHJ1Y3QgKnRz
cywKPiAgfQo+ICAKPiAgI2RlZmluZSBzZXRfaW9wbF9tYXNrIG5hdGl2ZV9zZXRfaW9wbF9tYXNr
Cj4gKyNkZWZpbmUgc2V0X2lvX2JpdG1hcCBuYXRpdmVfc2V0X2lvX2JpdG1hcAo+ICAjZW5kaWYg
LyogQ09ORklHX1BBUkFWSVJUICovCj4gIAo+ICAvKgo+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9r
ZXJuZWwvaW9wb3J0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaW9wb3J0LmMKPiBpbmRleCA4Yzk2ODk3
Li5jMzcyZWYwIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L2tlcm5lbC9pb3BvcnQuYwo+ICsrKyBi
L2FyY2gveDg2L2tlcm5lbC9pb3BvcnQuYwo+IEBAIC0xNywxMyArMTcsMjkgQEAKPiAgI2luY2x1
ZGUgPGxpbnV4L2JpdG1hcC5oPgo+ICAjaW5jbHVkZSA8YXNtL3N5c2NhbGxzLmg+Cj4gIAo+ICt2
b2lkIG5hdGl2ZV9zZXRfaW9fYml0bWFwKHN0cnVjdCB0aHJlYWRfc3RydWN0ICp0LAo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBieXRlc191cGRhdGVkKQo+ICt7Cj4g
KyAgICAgICBzdHJ1Y3QgdHNzX3N0cnVjdCAqdHNzOwo+ICsKPiArICAgICAgIGlmICghYnl0ZXNf
dXBkYXRlZCkKPiArICAgICAgICAgICAgICAgcmV0dXJuOwo+ICsKPiArICAgICAgIHRzcyA9ICZf
X2dldF9jcHVfdmFyKGluaXRfdHNzKTsKPiArCj4gKyAgICAgICAvKiBVcGRhdGUgdGhlIFRTUzog
Ki8KPiArICAgICAgIGlmICh0LT5pb19iaXRtYXBfcHRyKQo+ICsgICAgICAgICAgICAgICBtZW1j
cHkodHNzLT5pb19iaXRtYXAsIHQtPmlvX2JpdG1hcF9wdHIsIGJ5dGVzX3VwZGF0ZWQpOwo+ICsg
ICAgICAgZWxzZQo+ICsgICAgICAgICAgICAgICBtZW1zZXQodHNzLT5pb19iaXRtYXAsIDB4ZmYs
IGJ5dGVzX3VwZGF0ZWQpOwo+ICt9Cj4gKwo+ICAvKgo+ICAgKiB0aGlzIGNoYW5nZXMgdGhlIGlv
IHBlcm1pc3Npb25zIGJpdG1hcCBpbiB0aGUgY3VycmVudCB0YXNrLgo+ICAgKi8KPiAgYXNtbGlu
a2FnZSBsb25nIHN5c19pb3Blcm0odW5zaWduZWQgbG9uZyBmcm9tLCB1bnNpZ25lZCBsb25nIG51
bSwgaW50IHR1cm5fb24pCj4gIHsKPiAgCXN0cnVjdCB0aHJlYWRfc3RydWN0ICp0ID0gJmN1cnJl
bnQtPnRocmVhZDsKPiAtCXN0cnVjdCB0c3Nfc3RydWN0ICp0c3M7Cj4gIAl1bnNpZ25lZCBpbnQg
aSwgbWF4X2xvbmcsIGJ5dGVzLCBieXRlc191cGRhdGVkOwo+ICAKPiAgCWlmICgoZnJvbSArIG51
bSA8PSBmcm9tKSB8fCAoZnJvbSArIG51bSA+IElPX0JJVE1BUF9CSVRTKSkKPiBAQCAtNDgsMTMg
KzY0LDEzIEBAIGFzbWxpbmthZ2UgbG9uZyBzeXNfaW9wZXJtKHVuc2lnbmVkIGxvbmcgZnJvbSwg
dW5zaWduZWQgbG9uZyBudW0sIGludCB0dXJuX29uKQo+ICAJfQo+ICAKPiAgCS8qCj4gLQkgKiBk
byBpdCBpbiB0aGUgcGVyLXRocmVhZCBjb3B5IGFuZCBpbiB0aGUgVFNTIC4uLgo+ICsJICogZG8g
aXQgaW4gdGhlIHBlci10aHJlYWQgY29weQo+ICAJICoKPiAtCSAqIERpc2FibGUgcHJlZW1wdGlv
biB2aWEgZ2V0X2NwdSgpIC0gd2UgbXVzdCBub3Qgc3dpdGNoIGF3YXkKPiArCSAqIERpc2FibGUg
cHJlZW1wdGlvbiAtIHdlIG11c3Qgbm90IHN3aXRjaCBhd2F5Cj4gIAkgKiBiZWNhdXNlIHRoZSAt
PmlvX2JpdG1hcF9tYXggdmFsdWUgbXVzdCBtYXRjaCB0aGUgYml0bWFwCj4gIAkgKiBjb250ZW50
czoKPiAgCSAqLwo+IC0JdHNzID0gJnBlcl9jcHUoaW5pdF90c3MsIGdldF9jcHUoKSk7Cj4gKyAg
ICAgICAgcHJlZW1wdF9kaXNhYmxlKCk7Cj4gIAo+ICAJaWYgKHR1cm5fb24pCj4gIAkJYml0bWFw
X2NsZWFyKHQtPmlvX2JpdG1hcF9wdHIsIGZyb20sIG51bSk7Cj4gQEAgLTc1LDEwICs5MSw5IEBA
IGFzbWxpbmthZ2UgbG9uZyBzeXNfaW9wZXJtKHVuc2lnbmVkIGxvbmcgZnJvbSwgdW5zaWduZWQg
bG9uZyBudW0sIGludCB0dXJuX29uKQo+ICAKPiAgCXQtPmlvX2JpdG1hcF9tYXggPSBieXRlczsK
PiAgCj4gLQkvKiBVcGRhdGUgdGhlIFRTUzogKi8KPiAtCW1lbWNweSh0c3MtPmlvX2JpdG1hcCwg
dC0+aW9fYml0bWFwX3B0ciwgYnl0ZXNfdXBkYXRlZCk7Cj4gKyAgICAgICAgc2V0X2lvX2JpdG1h
cCh0LCBieXRlc191cGRhdGVkKTsKPiAgCj4gLQlwdXRfY3B1KCk7Cj4gKyAgICAgICAgcHJlZW1w
dF9lbmFibGUoKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+IGRpZmYgLS1naXQgYS9hcmNoL3g4
Ni9rZXJuZWwvcGFyYXZpcnQuYyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCj4gaW5kZXgg
YWIxMzc2MC4uYWE0MjBlNyAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQu
Ywo+ICsrKyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCj4gQEAgLTM5MSw2ICszOTEsNyBA
QCBzdHJ1Y3QgcHZfY3B1X29wcyBwdl9jcHVfb3BzID0gewo+ICAJLnN3YXBncyA9IG5hdGl2ZV9z
d2FwZ3MsCj4gIAo+ICAJLnNldF9pb3BsX21hc2sgPSBuYXRpdmVfc2V0X2lvcGxfbWFzaywKPiAr
ICAgICAgICAuc2V0X2lvX2JpdG1hcCA9IG5hdGl2ZV9zZXRfaW9fYml0bWFwLAo+ICAJLmlvX2Rl
bGF5ID0gbmF0aXZlX2lvX2RlbGF5LAo+ICAKPiAgCS5zdGFydF9jb250ZXh0X3N3aXRjaCA9IHBh
cmF2aXJ0X25vcCwKPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYyBiL2Fy
Y2gveDg2L2tlcm5lbC9wcm9jZXNzLmMKPiBpbmRleCAxZDkyYTVhLi5lODQzNmNjIDEwMDY0NAo+
IC0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzLmMKPiArKysgYi9hcmNoL3g4Ni9rZXJuZWwv
cHJvY2Vzcy5jCj4gQEAgLTkxLDE2ICs5MSwxMiBAQCB2b2lkIGV4aXRfdGhyZWFkKHZvaWQpCj4g
IAl1bnNpZ25lZCBsb25nICpicCA9IHQtPmlvX2JpdG1hcF9wdHI7Cj4gIAo+ICAJaWYgKGJwKSB7
Cj4gLQkJc3RydWN0IHRzc19zdHJ1Y3QgKnRzcyA9ICZwZXJfY3B1KGluaXRfdHNzLCBnZXRfY3B1
KCkpOwo+IC0KPiArICAgICAgICAgICAgICAgIHByZWVtcHRfZGlzYWJsZSgpOwo+ICAJCXQtPmlv
X2JpdG1hcF9wdHIgPSBOVUxMOwo+ICAJCWNsZWFyX3RocmVhZF9mbGFnKFRJRl9JT19CSVRNQVAp
Owo+IC0JCS8qCj4gLQkJICogQ2FyZWZ1bCwgY2xlYXIgdGhpcyBpbiB0aGUgVFNTIHRvbzoKPiAt
CQkgKi8KPiAtCQltZW1zZXQodHNzLT5pb19iaXRtYXAsIDB4ZmYsIHQtPmlvX2JpdG1hcF9tYXgp
Owo+ICsgICAgICAgICAgICAgICAgc2V0X2lvX2JpdG1hcCh0LCB0LT5pb19iaXRtYXBfbWF4KTsK
PiAgCQl0LT5pb19iaXRtYXBfbWF4ID0gMDsKPiAtCQlwdXRfY3B1KCk7Cj4gKyAgICAgICAgICAg
ICAgICBwcmVlbXB0X2VuYWJsZSgpOwo+ICAJCWtmcmVlKGJwKTsKPiAgCX0KPiAgfQo+IEBAIC0y
MzcsMTkgKzIzMywxMSBAQCB2b2lkIF9fc3dpdGNoX3RvX3h0cmEoc3RydWN0IHRhc2tfc3RydWN0
ICpwcmV2X3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dF9wLAo+ICAJCQloYXJkX2VuYWJsZV9U
U0MoKTsKPiAgCX0KPiAgCj4gLQlpZiAodGVzdF90c2tfdGhyZWFkX2ZsYWcobmV4dF9wLCBUSUZf
SU9fQklUTUFQKSkgewo+IC0JCS8qCj4gLQkJICogQ29weSB0aGUgcmVsZXZhbnQgcmFuZ2Ugb2Yg
dGhlIElPIGJpdG1hcC4KPiAtCQkgKiBOb3JtYWxseSB0aGlzIGlzIDEyOCBieXRlcyBvciBsZXNz
Ogo+IC0JCSAqLwo+IC0JCW1lbWNweSh0c3MtPmlvX2JpdG1hcCwgbmV4dC0+aW9fYml0bWFwX3B0
ciwKPiAtCQkgICAgICAgbWF4KHByZXYtPmlvX2JpdG1hcF9tYXgsIG5leHQtPmlvX2JpdG1hcF9t
YXgpKTsKPiAtCX0gZWxzZSBpZiAodGVzdF90c2tfdGhyZWFkX2ZsYWcocHJldl9wLCBUSUZfSU9f
QklUTUFQKSkgewo+IC0JCS8qCj4gLQkJICogQ2xlYXIgYW55IHBvc3NpYmxlIGxlZnRvdmVyIGJp
dHM6Cj4gLQkJICovCj4gLQkJbWVtc2V0KHRzcy0+aW9fYml0bWFwLCAweGZmLCBwcmV2LT5pb19i
aXRtYXBfbWF4KTsKPiAtCX0KPiArICAgICAgICBpZiAodGVzdF90c2tfdGhyZWFkX2ZsYWcobmV4
dF9wLCBUSUZfSU9fQklUTUFQKSB8fAo+ICsgICAgICAgICAgICB0ZXN0X3Rza190aHJlYWRfZmxh
ZyhwcmV2X3AsIFRJRl9JT19CSVRNQVApKQo+ICsgICAgICAgICAgICAgICAgc2V0X2lvX2JpdG1h
cChuZXh0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgocHJldi0+aW9fYml0
bWFwX21heCwgbmV4dC0+aW9fYml0bWFwX21heCkpOwo+ICsKPiAgCXByb3BhZ2F0ZV91c2VyX3Jl
dHVybl9ub3RpZnkocHJldl9wLCBuZXh0X3ApOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9hcmNo
L3g4Ni94ZW4vZW5saWdodGVuLmMgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKPiBpbmRleCA4
ODUzMjA0Li43YTA1NTA5IDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwo+
ICsrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwo+IEBAIC04MDgsNiArODA4LDE4IEBAIHN0
YXRpYyB2b2lkIHhlbl9zZXRfaW9wbF9tYXNrKHVuc2lnbmVkIG1hc2spCj4gIAlIWVBFUlZJU09S
X3BoeXNkZXZfb3AoUEhZU0RFVk9QX3NldF9pb3BsLCAmc2V0X2lvcGwpOwo+ICB9Cj4gIAo+ICtz
dGF0aWMgdm9pZCB4ZW5fc2V0X2lvX2JpdG1hcChzdHJ1Y3QgdGhyZWFkX3N0cnVjdCAqdGhyZWFk
LAo+ICsJaW50IGNoYW5nZWQsIHVuc2lnbmVkIGxvbmcgYnl0ZXNfdXBkYXRlZCkKPiArewo+ICsJ
c3RydWN0IHBoeXNkZXZfc2V0X2lvYml0bWFwIHNldF9pb2JpdG1hcDsKPiArCj4gKwlzZXRfeGVu
X2d1ZXN0X2hhbmRsZShzZXRfaW9iaXRtYXAuYml0bWFwLAo+ICsJCShjaGFyICopdGhyZWFkLT5p
b19iaXRtYXBfcHRyKTsKPiArCXNldF9pb2JpdG1hcC5ucl9wb3J0cyA9IHRocmVhZC0+aW9fYml0
bWFwX3B0ciA/IElPX0JJVE1BUF9CSVRTIDogMDsKPiArCVdBUk5fT04oSFlQRVJWSVNPUl9waHlz
ZGV2X29wKFBIWVNERVZPUF9zZXRfaW9iaXRtYXAsCj4gKwkJJnNldF9pb2JpdG1hcCkpOwo+ICt9
Cj4gKwo+ICBzdGF0aWMgdm9pZCB4ZW5faW9fZGVsYXkodm9pZCkKPiAgewo+ICB9Cj4gQEAgLTEx
MTcsNiArMTEyOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHZfY3B1X29wcyB4ZW5fY3B1X29w
cyBfX2luaXRjb25zdCA9IHsKPiAgCS5sb2FkX3NwMCA9IHhlbl9sb2FkX3NwMCwKPiAgCj4gIAku
c2V0X2lvcGxfbWFzayA9IHhlbl9zZXRfaW9wbF9tYXNrLAo+ICsJLnNldF9pb19iaXRtYXAgPSB4
ZW5fc2V0X2lvX2JpdG1hcCwKPiAgCS5pb19kZWxheSA9IHhlbl9pb19kZWxheSwKPiAgCj4gIAkv
KiBYZW4gdGFrZXMgY2FyZSBvZiAlZ3Mgd2hlbiBzd2l0Y2hpbmcgdG8gdXNlcm1vZGUgZm9yIHVz
ICovCgo+ICBfXyAgX18gICAgICAgICAgICBfICBfICAgIF9fX18gICAgICAgICAgICAgICAgICAg
ICBfICAgICAgICBfICAgICBfICAgICAgCj4gIFwgXC8gL19fXyBfIF9fICAgfCB8fCB8ICB8X19f
IFwgICAgXyAgIF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18gfCB8IF9fXyAKPiAgIFwgIC8vIF8g
XCAnXyBcICB8IHx8IHxfICAgX18pIHxfX3wgfCB8IHwgJ18gXC8gX198IF9fLyBfYCB8ICdfIFx8
IHwvIF8gXAo+ICAgLyAgXCAgX18vIHwgfCB8IHxfXyAgIF98IC8gX18vfF9ffCB8X3wgfCB8IHwg
XF9fIFwgfHwgKF98IHwgfF8pIHwgfCAgX18vCj4gIC9fL1xfXF9fX3xffCB8X3wgICAgfF98KF8p
X19fX198ICAgXF9fLF98X3wgfF98X19fL1xfX1xfXyxffF8uX18vfF98XF9fX3wKPiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11bnN0YWJsZSAocm9vdEAobm9uZSkp
IChnY2MgdmVyc2lvbiA0LjQuNSAoRGViaWFuIDQuNC41LTgpICkgU2F0IE1heSAgNSAxNTo0ODo0
OCBDRVNUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiBGcmkgTWF5IDA0IDExOjE4OjQ4
IDIwMTIgKzAxMDAgMjUyNTk6MGY1MzU0MDQ5NGY3Cj4gKFhFTikgQ29uc29sZSBvdXRwdXQgaXMg
c3luY2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JVQiAxLjk4KzIwMTAwODA0LTE0K3Nx
dWVlemUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBkb20wX21lbT0yRyBkb20w
X21heF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBzeW5jX2NvbnNvbGUgY29t
MT0xMTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAoWEVOKSBWaWRlbyBpbmZvcm1hdGlv
bjoKPiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwgZm9udCA4eDE2Cj4gKFhFTikgIFZC
RS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMSBzZWNvbmRzCj4gKFhFTikg
RGlzYyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBNQlIgc2lnbmF0dXJlcwo+IChYRU4p
ICBGb3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCj4gKFhFTikgWGVuLWU4MjAgUkFN
IG1hcDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWFjMDAgKHVzYWJs
ZSkKPiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVk
KQo+IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQp
Cj4gKFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1c2FibGUpCj4g
KFhFTikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4g
KFhFTikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykKPiAo
WEVOKSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+IChY
RU4pICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4gKFhF
TikgIDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAwMDAwICh1c2FibGUpCj4gKFhFTikg
QUNQSTogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFNKQo+IChYRU4pIEFDUEk6IFhTRFQg
Q0ZFODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3
KQo+IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQgKHIzIDEwMjgxMSBGQUNQMTc0MCAy
MDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IERTRFQgQ0ZFODA0NzAsIEU2RTMg
KHIxICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIwMDYwMTEzKQo+IChYRU4pIEFDUEk6
IEZBQ1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBBUElDIENGRTgwMzkwLCAwMDk4IChy
MSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBN
Q0ZHIENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAgICAg
ICA5NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAwMDcyIChyMSAxMDI4MTEgT0VNQjE3
NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBIUEVUIENGRThGOEMwLCAw
MDM4IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBB
Q1BJOiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAgICBSRDg5MFMgICAyMDIwMzEgQU1E
ICAgICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThGOUUwLCAwRTEwIChyMSBBIE0gSSAg
UE9XRVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAoWEVOKSBTeXN0ZW0gUkFNOiA4MTkw
TUIgKDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiAoWEVO
KSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDIzMDAwMDAwMAo+IChY
RU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikgZm91bmQgU01QIE1QLXRhYmxlIGF0
IDAwMGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhFTikgVXNpbmcgQVBJQyBkcml2ZXIg
ZGVmYXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4ODA4Cj4gKFhFTikgQUNQ
STogQUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0sIHBtMXhfZXZ0WzgwMCwwXQo+IChY
RU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tjZmU5ODAwY10sIHZlY19zaXpl
WzIwXQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwCj4gKFhFTikg
QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKPiAoWEVO
KSBQcm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAo
YWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAj
MSAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDNd
IGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICMyIDA6MTAgQVBJQyB2
ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNF0gbGFwaWNfaWRbMHgw
M10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAo
WEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVkKQo+
IChYRU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExB
UElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vz
c29yICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwN10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlf
aWRbMHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogSU9BUElDIChp
ZFsweDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNlWzBdKQo+IChYRU4pIElPQVBJQ1sw
XTogYXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCj4g
KFhFTikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdzaV9iYXNl
WzI0XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAzMywgYWRkcmVzcyAw
eGZlYzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVz
X2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChi
dXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiAoWEVOKSBBQ1BJOiBJUlEw
IHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgo+
IChYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBFbmFibGluZyBBUElD
IG1vZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAoWEVOKSBBQ1BJOiBIUEVUIGlkOiAw
eDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFRhYmxlIGlzIG5vdCBmb3VuZCEKPiAoWEVO
KSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KPiAo
WEVOKSBTTVA6IEFsbG93aW5nIDggQ1BVcyAoMiBob3RwbHVnIENQVXMpCj4gKFhFTikgSVJRIGxp
bWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01Q
IENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAzMDEwLjIzOCBNSHog
cHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1EIEZh
bTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgUENJOiBNQ0ZHIGNv
bmZpZ3VyYXRpb24gMDogYmFzZSBlMDAwMDAwMCBzZWdtZW50IDAwMDAgYnVzZXMgMDAgLSBmZgo+
IChYRU4pIFBDSTogTm90IHVzaW5nIE1DRkcgZm9yIHNlZ21lbnQgMDAwMCBidXMgMDAtZmYKPiAo
WEVOKSBBTUQtVmk6IElPTU1VIDAgRW5hYmxlZC4KPiAoWEVOKSBBTUQtVmk6IEVuYWJsaW5nIGds
b2JhbCB2ZWN0b3IgbWFwCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKPiAoWEVO
KSAgLSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMKPiAo
WEVOKSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVOKSAuLlRJTUVSOiB2ZWN0b3I9MHhG
MCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4gKFhFTikgUGxhdGZvcm0gdGltZXIg
aXMgMTQuMzE4TUh6IEhQRVQKPiAoWEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDY0IEtp
Qi4KPiAoWEVOKSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhFTikgU1ZNOiBTdXBwb3J0ZWQgYWR2
YW5jZWQgZmVhdHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBhZ2UgVGFibGVzIChOUFQpCj4gKFhF
TikgIC0gTGFzdCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1YWxpc2F0aW9uCj4gKFhFTikgIC0g
TmV4dC1SSVAgU2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAtIFBhdXNlLUludGVyY2VwdCBGaWx0
ZXIKPiAoWEVOKSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Npc3Rl
ZCBQYWdpbmcgKEhBUCkgZGV0ZWN0ZWQKPiAoWEVOKSBIVk06IEhBUCBwYWdlIHNpemVzOiA0a0Is
IDJNQiwgMUdCCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9pZD0w
eDEwMDAwYmYKPiAoWEVOKSBtaWNyb2NvZGU6IGNvbGxlY3RfY3B1X2luZm86IHBhdGNoX2lkPTB4
MTAwMDBiZgo+IChYRU4pIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgx
MDAwMGJmCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9pZD0weDEw
MDAwYmYKPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChYRU4pIG1pY3JvY29kZTogY29sbGVj
dF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhFTikgSFBFVCdzIE1TSSBtb2RlIGhh
c24ndCBiZWVuIHN1cHBvcnRlZCB3aGVuIEludGVycnVwdCBSZW1hcHBpbmcgaXMgZW5hYmxlZC4K
PiAoWEVOKSBBQ1BJIHNsZWVwIG1vZGVzOiBTMwo+IChYRU4pIE1DQTogVXNlIGh3IHRocmVzaG9s
ZGluZyB0byBhZGp1c3QgcG9sbGluZyBmcmVxdWVuY3kKPiAoWEVOKSBtY2hlY2tfcG9sbDogTWFj
aGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCj4gKFhFTikgWGVub3Byb2ZpbGU6IEZh
aWxlZCB0byBzZXR1cCBJQlMgTFZUIG9mZnNldCwgSUJTQ1RMID0gMHhmZmZmZmZmZgo+IChYRU4p
ICoqKiBMT0FESU5HIERPTUFJTiAwICoqKgo+IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6
IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weDVkMzAwMAo+IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6
IHBoZHI6IHBhZGRyPTB4MTVkMzAwMCBtZW1zej0weDZlMGU4Cj4gKFhFTikgZWxmX3BhcnNlX2Jp
bmFyeTogcGhkcjogcGFkZHI9MHgxNjQyMDAwIG1lbXN6PTB4MTI5ODAKPiAoWEVOKSBlbGZfcGFy
c2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE2NTUwMDAgbWVtc3o9MHg0ZmYwMDAKPiAoWEVOKSBl
bGZfcGFyc2VfYmluYXJ5OiBtZW1vcnk6IDB4MTAwMDAwMCAtPiAweDFiNTQwMDAKPiAoWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4Igo+IChYRU4pIGVsZl94ZW5fcGFy
c2Vfbm90ZTogR1VFU1RfVkVSU0lPTiA9ICIyLjYiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3Rl
OiBYRU5fVkVSU0lPTiA9ICJ4ZW4tMy4wIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogVklS
VF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBF
TlRSWSA9IDB4ZmZmZmZmZmY4MTY1NTIwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogSFlQ
RVJDQUxMX1BBR0UgPSAweGZmZmZmZmZmODEwMDEwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25v
dGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJfYWJvdmVfNGdi
Igo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFFX01PREUgPSAieWVzIgo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogTE9BREVSID0gImdlbmVyaWMiCj4gKFhFTikgZWxmX3hlbl9wYXJz
ZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQo+IChYRU4pIGVsZl94ZW5fcGFyc2Vf
bm90ZTogU1VTUEVORF9DQU5DRUwgPSAweDEKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEhW
X1NUQVJUX0xPVyA9IDB4ZmZmZjgwMDAwMDAwMDAwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90
ZTogUEFERFJfT0ZGU0VUID0gMHgwCj4gKFhFTikgZWxmX3hlbl9hZGRyX2NhbGNfY2hlY2s6IGFk
ZHJlc3NlczoKPiAoWEVOKSAgICAgdmlydF9iYXNlICAgICAgICA9IDB4ZmZmZmZmZmY4MDAwMDAw
MAo+IChYRU4pICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgwCj4gKFhFTikgICAgIHZpcnRfb2Zm
c2V0ICAgICAgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSAgICAgdmlydF9rc3RhcnQgICAg
ICA9IDB4ZmZmZmZmZmY4MTAwMDAwMAo+IChYRU4pICAgICB2aXJ0X2tlbmQgICAgICAgID0gMHhm
ZmZmZmZmZjgxYjU0MDAwCj4gKFhFTikgICAgIHZpcnRfZW50cnkgICAgICAgPSAweGZmZmZmZmZm
ODE2NTUyMDAKPiAoWEVOKSAgICAgcDJtX2Jhc2UgICAgICAgICA9IDB4ZmZmZmZmZmZmZmZmZmZm
Zgo+IChYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCj4gKFhFTikgIERv
bTAga2VybmVsOiA2NC1iaXQsIFBBRSwgbHNiLCBwYWRkciAweDEwMDAwMDAgLT4gMHgxYjU0MDAw
Cj4gKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgo+IChYRU4pICBEb20wIGFsbG9j
LjogICAwMDAwMDAwMjI0MDAwMDAwLT4wMDAwMDAwMjI4MDAwMDAwICg1MDYzMDggcGFnZXMgdG8g
YmUgYWxsb2NhdGVkKQo+IChYRU4pICBJbml0LiByYW1kaXNrOiAwMDAwMDAwMjJmOWM0MDAwLT4w
MDAwMDAwMjJmZmZmMjAwCj4gKFhFTikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6Cj4gKFhF
TikgIExvYWRlZCBrZXJuZWw6IGZmZmZmZmZmODEwMDAwMDAtPmZmZmZmZmZmODFiNTQwMDAKPiAo
WEVOKSAgSW5pdC4gcmFtZGlzazogZmZmZmZmZmY4MWI1NDAwMC0+ZmZmZmZmZmY4MjE4ZjIwMAo+
IChYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgyMTkwMDAwLT5mZmZmZmZmZjgyNTkwMDAw
Cj4gKFhFTikgIFN0YXJ0IGluZm86ICAgIGZmZmZmZmZmODI1OTAwMDAtPmZmZmZmZmZmODI1OTA0
YjQKPiAoWEVOKSAgUGFnZSB0YWJsZXM6ICAgZmZmZmZmZmY4MjU5MTAwMC0+ZmZmZmZmZmY4MjVh
ODAwMAo+IChYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjgyNWE4MDAwLT5mZmZmZmZmZjgy
NWE5MDAwCj4gKFhFTikgIFRPVEFMOiAgICAgICAgIGZmZmZmZmZmODAwMDAwMDAtPmZmZmZmZmZm
ODI4MDAwMDAKPiAoWEVOKSAgRU5UUlkgQUREUkVTUzogZmZmZmZmZmY4MTY1NTIwMAo+IChYRU4p
IERvbTAgaGFzIG1heGltdW0gNiBWQ1BVcwo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAw
IGF0IDB4ZmZmZmZmZmY4MTAwMDAwMCAtPiAweGZmZmZmZmZmODE1ZDMwMDAKPiAoWEVOKSBlbGZf
bG9hZF9iaW5hcnk6IHBoZHIgMSBhdCAweGZmZmZmZmZmODE1ZDMwMDAgLT4gMHhmZmZmZmZmZjgx
NjQxMGU4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDIgYXQgMHhmZmZmZmZmZjgxNjQy
MDAwIC0+IDB4ZmZmZmZmZmY4MTY1NDk4MAo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAz
IGF0IDB4ZmZmZmZmZmY4MTY1NTAwMCAtPiAweGZmZmZmZmZmODE2Y2MwMDAKPiAoWEVOKSBTY3J1
YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChYRU4pIEluaXRpYWwgbG93IG1lbW9yeSB2aXJx
IHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgo+IChYRU4pIFN0ZC4gTG9nbGV2ZWw6IEFs
bAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVOKSAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikgKioqKioqKiBXQVJOSU5HOiBDT05T
T0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoqKioqKiogVGhpcyBvcHRpb24gaXMg
aW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkgZW5zdXJpbmcKPiAoWEVOKSAqKioq
KioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5IGRlbGl2ZXJlZCBvbiB0aGUgc2Vy
aWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0IGNhbiBpbnRyb2R1Y2UgU0lHTklG
SUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAqKioqKioqIHRpbWVrZWVwaW5nLiBJ
dCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24gdXNlIQo+IChYRU4pICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiAoWEVOKSAzLi4uIDIuLi4g
MS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERPTTAgKHR5cGUgJ0NUUkwtYScgdGhy
ZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAoWEVOKSBGcmVlZCAyNTZrQiBpbml0
IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNpY2FsIG1lbW9yeQo+IFhlbjogc2V0
dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQgc3RhcnRlZC4uLgo+IEluaXRpYWxp
emluZyBjZ3JvdXAgc3Vic3lzIGNwdXNldAo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGNw
dQo+IExpbnV4IHZlcnNpb24gMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5IChyb290QHhl
bikgKGdjYyB2ZXJzaW9uIDQuNC41IChEZWJpYW4gNC40LjUtOCkgKSAjNSBTTVAgUFJFRU1QVCBT
YXQgTWF5IDUgMTk6Mjk6NDIgQ0VTVCAyMDEyCj4gQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBy
b290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFuaWM9MTUgeGVuLXBjaWJh
Y2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgo+IEZyZWVpbmcg
OWEtMTAwIHBmbiByYW5nZTogMTAyIHBhZ2VzIGZyZWVkCj4gUmVsZWFzZWQgMTAyIHBhZ2VzIG9m
IHVudXNlZCBtZW1vcnkKPiBTZXQgMTk3MDk0IHBhZ2UocykgdG8gMS0xIG1hcHBpbmcKPiBQb3B1
bGF0aW5nIDgwMDAwLTgwMDY2IHBmbiByYW5nZTogMTAyIHBhZ2VzIGFkZGVkCj4gQklPUy1wcm92
aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICBYZW46IDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAw
MDAwMDlhMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAx
MDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDY2
MDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDA4MDA2NjAwMCAtIDAwMDAwMDAwY2ZlODAwMDAg
KHVudXNhYmxlKQo+ICBYZW46IDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChB
Q1BJIGRhdGEpCj4gIFhlbjogMDAwMDAwMDBjZmU5ODAwMCAtIDAwMDAwMDAwY2ZlYzAwMDAgKEFD
UEkgTlZTKQo+ICBYZW46IDAwMDAwMDAwY2ZlYzAwMDAgLSAwMDAwMDAwMGNmZjAwMDAwIChyZXNl
cnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZlYzAwMDAwIC0gMDAwMDAwMDBmZWMwMTAwMCAocmVzZXJ2
ZWQpCj4gIFhlbjogMDAwMDAwMDBmZWMyMDAwMCAtIDAwMDAwMDAwZmVjMjEwMDAgKHJlc2VydmVk
KQo+ICBYZW46IDAwMDAwMDAwZmVlMDAwMDAgLSAwMDAwMDAwMGZlZTAxMDAwIChyZXNlcnZlZCkK
PiAgWGVuOiAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4g
IFhlbjogMDAwMDAwMDEwMDAwMDAwMCAtIDAwMDAwMDAyMzAwMDAwMDAgKHVudXNhYmxlKQo+IGJv
b3Rjb25zb2xlIFt4ZW5ib290MF0gZW5hYmxlZAo+IE5YIChFeGVjdXRlIERpc2FibGUpIHByb3Rl
Y3Rpb246IGFjdGl2ZQo+IHVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICB1c2VyOiAw
MDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5YTAwMCAodXNhYmxlKQo+ICB1c2VyOiAwMDAw
MDAwMDAwMDlhYzAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAwMDAw
MDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDAwMDAwICh1c2FibGUpCj4gIHVzZXI6IDAwMDAwMDAw
ODAwNjYwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1bnVzYWJsZSkKPiAgdXNlcjogMDAwMDAwMDBj
ZmU4MDAwMCAtIDAwMDAwMDAwY2ZlOTgwMDAgKEFDUEkgZGF0YSkKPiAgdXNlcjogMDAwMDAwMDBj
ZmU5ODAwMCAtIDAwMDAwMDAwY2ZlYzAwMDAgKEFDUEkgTlZTKQo+ICB1c2VyOiAwMDAwMDAwMGNm
ZWMwMDAwIC0gMDAwMDAwMDBjZmYwMDAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAwMDAwMDAwZmVj
MDAwMDAgLSAwMDAwMDAwMGZlYzAxMDAwIChyZXNlcnZlZCkKPiAgdXNlcjogMDAwMDAwMDBmZWMy
MDAwMCAtIDAwMDAwMDAwZmVjMjEwMDAgKHJlc2VydmVkKQo+ICB1c2VyOiAwMDAwMDAwMGZlZTAw
MDAwIC0gMDAwMDAwMDBmZWUwMTAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAwMDAwMDAwZmZlMDAw
MDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkKPiAgdXNlcjogMDAwMDAwMDEwMDAwMDAw
MCAtIDAwMDAwMDAyMzAwMDAwMDAgKHVudXNhYmxlKQo+IERNSSBwcmVzZW50Lgo+IE5vIEFHUCBi
cmlkZ2UgZm91bmQKPiBsYXN0X3BmbiA9IDB4ODAwMDAgbWF4X2FyY2hfcGZuID0gMHg0MDAwMDAw
MDAKPiBmb3VuZCBTTVAgTVAtdGFibGUgYXQgW2ZmZmY4ODAwMDAwZmY3ODBdIGZmNzgwCj4gaW5p
dF9tZW1vcnlfbWFwcGluZzogMDAwMDAwMDAwMDAwMDAwMC0wMDAwMDAwMDgwMDAwMDAwCj4gUkFN
RElTSzogMDFiNTQwMDAgLSAwMjE5MDAwMAo+IEFDUEk6IFJTRFAgMDAwMDAwMDAwMDBmYmYyMCAw
MDAyNCAodjAyIEFDUElBTSkKPiBBQ1BJOiBYU0RUIDAwMDAwMDAwY2ZlODAxMDAgMDAwNUMgKHYw
MSAxMDI4MTEgWFNEVDE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBGQUNQIDAw
MDAwMDAwY2ZlODAyOTAgMDAwRjQgKHYwMyAxMDI4MTEgRkFDUDE3NDAgMjAxMTEwMjggTVNGVCAw
MDAwMDA5NykKPiBBQ1BJOiBEU0RUIDAwMDAwMDAwY2ZlODA0NzAgMEU2RTMgKHYwMSAgQTE1OTUg
QTE1OTUwMDAgMDAwMDAwMDAgSU5UTCAyMDA2MDExMykKPiBBQ1BJOiBGQUNTIDAwMDAwMDAwY2Zl
OTgwMDAgMDAwNDAKPiBBQ1BJOiBBUElDIDAwMDAwMDAwY2ZlODAzOTAgMDAwOTggKHYwMSAxMDI4
MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBNQ0ZHIDAwMDAwMDAw
Y2ZlODA0MzAgMDAwM0MgKHYwMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAwMDAwMDA5
NykKPiBBQ1BJOiBPRU1CIDAwMDAwMDAwY2ZlOTgwNDAgMDAwNzIgKHYwMSAxMDI4MTEgT0VNQjE3
NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBIUEVUIDAwMDAwMDAwY2ZlOGY4YzAg
MDAwMzggKHYwMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJ
OiBJVlJTIDAwMDAwMDAwY2ZlOGY5MDAgMDAwRTAgKHYwMSAgQU1EICAgICBSRDg5MFMgMDAyMDIw
MzEgQU1EICAwMDAwMDAwMCkKPiBBQ1BJOiBTU0RUIDAwMDAwMDAwY2ZlOGY5ZTAgMDBFMTAgKHYw
MSBBIE0gSSAgUE9XRVJOT1cgMDAwMDAwMDEgQU1EICAwMDAwMDAwMSkKPiBObyBOVU1BIGNvbmZp
Z3VyYXRpb24gZm91bmQKPiBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAw
MDA4MDAwMDAwMAo+IEluaXRtZW0gc2V0dXAgbm9kZSAwIDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAw
MDA4MDAwMDAwMAo+ICAgTk9ERV9EQVRBIFswMDAwMDAwMDdmZmZjMDAwIC0gMDAwMDAwMDA3ZmZm
ZmZmZl0KPiBab25lIFBGTiByYW5nZXM6Cj4gICBETUEgICAgICAweDAwMDAwMDEwIC0+IDB4MDAw
MDEwMDAKPiAgIERNQTMyICAgIDB4MDAwMDEwMDAgLT4gMHgwMDEwMDAwMAo+ICAgTm9ybWFsICAg
ZW1wdHkKPiBNb3ZhYmxlIHpvbmUgc3RhcnQgUEZOIGZvciBlYWNoIG5vZGUKPiBFYXJseSBtZW1v
cnkgUEZOIHJhbmdlcwo+ICAgICAwOiAweDAwMDAwMDEwIC0+IDB4MDAwMDAwOWEKPiAgICAgMDog
MHgwMDAwMDEwMCAtPiAweDAwMDgwMDAwCj4gQUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHg4MDgK
PiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAwXSBlbmFibGVkKQo+IEJJ
T1MgYnVnOiBBUElDIHZlcnNpb24gaXMgMCBmb3IgQ1BVIDAvMHgwLCBmaXhpbmcgdXAgdG8gMHgx
MAo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDJdIGxhcGljX2lkWzB4MDFdIGVuYWJsZWQpCj4g
QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwM10gbGFwaWNfaWRbMHgwMl0gZW5hYmxlZCkKPiBBQ1BJ
OiBMQVBJQyAoYWNwaV9pZFsweDA0XSBsYXBpY19pZFsweDAzXSBlbmFibGVkKQo+IEFDUEk6IExB
UElDIChhY3BpX2lkWzB4MDVdIGxhcGljX2lkWzB4MDRdIGVuYWJsZWQpCj4gQUNQSTogTEFQSUMg
KGFjcGlfaWRbMHgwNl0gbGFwaWNfaWRbMHgwNV0gZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDA3XSBsYXBpY19pZFsweDg2XSBkaXNhYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9p
ZFsweDA4XSBsYXBpY19pZFsweDg3XSBkaXNhYmxlZCkKPiBBQ1BJOiBJT0FQSUMgKGlkWzB4MDZd
IGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCj4gSU9BUElDWzBdOiBhcGljX2lkIDYs
IHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTI1Mwo+IEFDUEk6IElPQVBJ
QyAoaWRbMHgwN10gYWRkcmVzc1sweGZlYzIwMDAwXSBnc2lfYmFzZVsyNF0pCj4gSU9BUElDWzFd
OiBhcGljX2lkIDcsIHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4ZmVjMjAwMDAsIEdTSSAyNC0yNzcK
PiBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZs
KQo+IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBs
ZXZlbCkKPiBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRp
b24KPiBBQ1BJOiBIUEVUIGlkOiAweDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IDggUHJvY2Vzc29y
cyBleGNlZWRzIE5SX0NQVVMgbGltaXQgb2YgNgo+IFNNUDogQWxsb3dpbmcgNiBDUFVzLCAwIGhv
dHBsdWcgQ1BVcwo+IEFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCBjZmYwMDAw
MCAoZ2FwOiBjZmYwMDAwMDoyZWQwMDAwMCkKPiBCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBrZXJu
ZWwgb24gWGVuCj4gWGVuIHZlcnNpb246IDQuMi11bnN0YWJsZSAocHJlc2VydmUtQUQpCj4gc2V0
dXBfcGVyY3B1OiBOUl9DUFVTOjYgbnJfY3B1bWFza19iaXRzOjYgbnJfY3B1X2lkczo2IG5yX25v
ZGVfaWRzOjEKPiBQRVJDUFU6IEVtYmVkZGVkIDI2IHBhZ2VzL2NwdSBAZmZmZjg4MDA3ZmY0YzAw
MCBzNzYxNjAgcjgxOTIgZDIyMTQ0IHUxMDY0OTYKPiBCdWlsdCAxIHpvbmVsaXN0cyBpbiBOb2Rl
IG9yZGVyLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiA1MTU5NzYKPiBQb2xp
Y3kgem9uZTogRE1BMzIKPiBLZXJuZWwgY29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciByb290PS9k
ZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFuaWM9MTUgeGVuLXBjaWJhY2suaGlk
ZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgo+IFBJRCBoYXNoIHRhYmxl
IGVudHJpZXM6IDQwOTYgKG9yZGVyOiAzLCAzMjc2OCBieXRlcykKPiBQbGFjaW5nIDY0TUIgc29m
dHdhcmUgSU8gVExCIGJldHdlZW4gZmZmZjg4MDA3OTYwMDAwMCAtIGZmZmY4ODAwN2Q2MDAwMDAK
PiBzb2Z0d2FyZSBJTyBUTEIgYXQgcGh5cyAweDc5NjAwMDAwIC0gMHg3ZDYwMDAwMAo+IE1lbW9y
eTogMTk3NTA2NGsvMjA5NzE1MmsgYXZhaWxhYmxlICg0NTY3ayBrZXJuZWwgY29kZSwgNDcyayBh
YnNlbnQsIDEyMTYxNmsgcmVzZXJ2ZWQsIDE4MzNrIGRhdGEsIDUzMmsgaW5pdCkKPiBTTFVCOiBH
ZW5zbGFicz0xNSwgSFdhbGlnbj02NCwgT3JkZXI9MC0zLCBNaW5PYmplY3RzPTAsIENQVXM9Niwg
Tm9kZXM9MQo+IFByZWVtcHRpYmxlIGhpZXJhcmNoaWNhbCBSQ1UgaW1wbGVtZW50YXRpb24uCj4g
CUR1bXAgc3RhY2tzIG9mIHRhc2tzIGJsb2NraW5nIFJDVS1wcmVlbXB0IEdQLgo+IE5SX0lSUVM6
NDM1MiBucl9pcnFzOjE1MzYgMTYKPiB4ZW46IHNjaSBvdmVycmlkZTogZ2xvYmFsX2lycT05IHRy
aWdnZXI9MCBwb2xhcml0eT0xCj4geGVuOiBhY3BpIHNjaSA5Cj4geGVuX21hcF9waXJxX2dzaTog
cmV0dXJuaW5nIGlycSA5IGZvciBnc2kgOQo+IENvbnNvbGU6IGNvbG91ciBWR0ErIDgweDI1Cj4g
Y29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUgZGlzYWJsZWQKPiBjb25zb2xlIFto
dmMwXSBlbmFibGVkLCBib290Y29uc29sZSBkaXNhYmxlZAo+IGluc3RhbGxpbmcgWGVuIHRpbWVy
IGZvciBDUFUgMAo+IERldGVjdGVkIDMwMTAuMjM4IE1IeiBwcm9jZXNzb3IuCj4gQ2FsaWJyYXRp
bmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1bGF0ZWQgdXNpbmcgdGltZXIgZnJl
cXVlbmN5Li4gNjAyMC40NyBCb2dvTUlQUyAobHBqPTMwMTAyMzgpCj4gcGlkX21heDogZGVmYXVs
dDogMzI3NjggbWluaW11bTogMzAxCj4gRGVudHJ5IGNhY2hlIGhhc2ggdGFibGUgZW50cmllczog
MjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKPiBJbm9kZS1jYWNoZSBoYXNoIHRhYmxl
IGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMpCj4gTW91bnQtY2FjaGUg
aGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKPiBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBkZXZp
Y2VzCj4gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZnJlZXplcgo+IEluaXRpYWxpemluZyBj
Z3JvdXAgc3Vic3lzIGJsa2lvCj4gQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6IDAKPiBDUFU6
IFByb2Nlc3NvciBDb3JlIElEOiAwCj4gbWNlOiBDUFUgc3VwcG9ydHMgNiBNQ0UgYmFua3MKPiBB
Q1BJOiBDb3JlIHJldmlzaW9uIDIwMTIwMzIwCj4gY3B1IDAgc3BpbmxvY2sgZXZlbnQgaXJxIDI5
NQo+IFBlcmZvcm1hbmNlIEV2ZW50czogKFhFTikgdHJhcHMuYzoyNTYxOmQwIERvbWFpbiBhdHRl
bXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMGU0YTc1ZGY4NjUxNCB0byAw
eDAwMDAwMDAwMDAwMGFiY2QuCj4gQnJva2VuIFBNVSBoYXJkd2FyZSBkZXRlY3RlZCwgdXNpbmcg
c29mdHdhcmUgZXZlbnRzIG9ubHkuCj4gTUNFOiBJbi1rZXJuZWwgTUNFIGRlY29kaW5nIGVuYWJs
ZWQuCj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAxCj4gY3B1IDEgc3BpbmxvY2sgZXZl
bnQgaXJxIDMwMgo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMgo+IGNwdSAyIHNwaW5s
b2NrIGV2ZW50IGlycSAzMDkKPiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDMKPiBjcHUg
MyBzcGlubG9jayBldmVudCBpcnEgMzE2Cj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSA0
Cj4gY3B1IDQgc3BpbmxvY2sgZXZlbnQgaXJxIDMyMwo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZv
ciBDUFUgNQo+IGNwdSA1IHNwaW5sb2NrIGV2ZW50IGlycSAzMzAKPiBCcm91Z2h0IHVwIDYgQ1BV
cwo+IGRldnRtcGZzOiBpbml0aWFsaXplZAo+IEdyYW50IHRhYmxlcyB1c2luZyB2ZXJzaW9uIDIg
bGF5b3V0Lgo+IEdyYW50IHRhYmxlIGluaXRpYWxpemVkCj4gTkVUOiBSZWdpc3RlcmVkIHByb3Rv
Y29sIGZhbWlseSAxNgo+IFRPTTogMDAwMDAwMDBkMDAwMDAwMCBha2EgMzMyOE0KPiBUT00yOiAw
MDAwMDAwMjMwMDAwMDAwIGFrYSA4OTYwTQo+IEFDUEk6IGJ1cyB0eXBlIHBjaSByZWdpc3RlcmVk
Cj4gUENJOiBNTUNPTkZJRyBmb3IgZG9tYWluIDAwMDAgW2J1cyAwMC1mZl0gYXQgW21lbSAweGUw
MDAwMDAwLTB4ZWZmZmZmZmZdIChiYXNlIDB4ZTAwMDAwMDApCj4gUENJOiBub3QgdXNpbmcgTU1D
T05GSUcKPiBQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxIGZvciBiYXNlIGFjY2Vzcwo+
IFBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9yIGV4dGVuZGVkIGFjY2Vzcwo+IGJp
bzogY3JlYXRlIHNsYWIgPGJpby0wPiBhdCAwCj4gQUNQSTogQWRkZWQgX09TSShNb2R1bGUgRGV2
aWNlKQo+IEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIERldmljZSkKPiBBQ1BJOiBBZGRlZCBf
T1NJKDMuMCBfU0NQIEV4dGVuc2lvbnMpCj4gQUNQSTogQWRkZWQgX09TSShQcm9jZXNzb3IgQWdn
cmVnYXRvciBEZXZpY2UpCj4gQUNQSTogRXhlY3V0ZWQgMyBibG9ja3Mgb2YgbW9kdWxlLWxldmVs
IGV4ZWN1dGFibGUgQU1MIGNvZGUKPiBBQ1BJOiBJbnRlcnByZXRlciBlbmFibGVkCj4gQUNQSTog
KHN1cHBvcnRzIFMwIFM1KQo+IEFDUEk6IFVzaW5nIElPQVBJQyBmb3IgaW50ZXJydXB0IHJvdXRp
bmcKPiBQQ0k6IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBbYnVzIDAwLWZmXSBhdCBbbWVtIDB4
ZTAwMDAwMDAtMHhlZmZmZmZmZl0gKGJhc2UgMHhlMDAwMDAwMCkKPiBQQ0k6IE1NQ09ORklHIGF0
IFttZW0gMHhlMDAwMDAwMC0weGVmZmZmZmZmXSByZXNlcnZlZCBpbiBBQ1BJIG1vdGhlcmJvYXJk
IHJlc291cmNlcwo+IEFDUEk6IEVDOiBHUEUgPSAweGEsIEkvTzogY29tbWFuZC9zdGF0dXMgPSAw
eDY2LCBkYXRhID0gMHg2Mgo+IFBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFD
UEk7IGlmIG5lY2Vzc2FyeSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcKPiBBQ1BJ
OiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4gMDAwMCBbYnVzIDAwLWZmXSkKPiBwY2lf
cm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW2lvICAweDAwMDAtMHgwY2Y3XQo+
IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbaW8gIDB4MGQwMC0weGZm
ZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHgwMDBh
MDAwMC0weDAwMGJmZmZmXQo+IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdpbmRv
dyBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lfcm9vdCBQTlAwQTAzOjAwOiBob3N0
IGJyaWRnZSB3aW5kb3cgW21lbSAweGNmZjAwMDAwLTB4ZGZmZmZmZmZdCj4gcGNpX3Jvb3QgUE5Q
MEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHhmMDAwMDAwMC0weGZlYmZmZmZmXQo+
IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDowMAo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBi
dXMgcmVzb3VyY2UgW2lvICAweDAwMDAtMHgwY2Y3XQo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBi
dXMgcmVzb3VyY2UgW2lvICAweDBkMDAtMHhmZmZmXQo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBi
dXMgcmVzb3VyY2UgW21lbSAweDAwMGEwMDAwLTB4MDAwYmZmZmZdCj4gcGNpX2J1cyAwMDAwOjAw
OiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lfYnVz
IDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHhjZmYwMDAwMC0weGRmZmZmZmZmXQo+
IHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweGYwMDAwMDAwLTB4ZmVi
ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDIuMDogUENJIGJyaWRnZSB0byBbYnVzIDA3LTA3XQo+IHBj
aSAwMDAwOjA2OjAwLjA6IGRpc2FibGluZyBBU1BNIG9uIHByZS0xLjEgUENJZSBkZXZpY2UuICBZ
b3UgY2FuIGVuYWJsZSBpdCB3aXRoICdwY2llX2FzcG09Zm9yY2UnCj4gcGNpIDAwMDA6MDA6MDQu
MDogUENJIGJyaWRnZSB0byBbYnVzIDA2LTA2XQo+IHBjaSAwMDAwOjAwOjA1LjA6IFBDSSBicmlk
Z2UgdG8gW2J1cyAwNS0wNV0KPiBwY2kgMDAwMDowMDowNi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMg
MDQtMDRdCj4gcGNpIDAwMDA6MDA6MDcuMDogUENJIGJyaWRnZSB0byBbYnVzIDAzLTAzXQo+IHBj
aSAwMDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0wMl0KPiBwY2kgMDAwMDowMDox
NC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdIChzdWJ0cmFjdGl2ZSBkZWNvZGUpCj4gIHBj
aTAwMDA6MDA6IFJlcXVlc3RpbmcgQUNQSSBfT1NDIGNvbnRyb2wgKDB4MWQpCj4gIHBjaTAwMDA6
MDA6IEFDUEkgX09TQyBjb250cm9sICgweDFjKSBncmFudGVkCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMC4yCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDowNC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNS4wCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDowNi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDow
Ny4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowZC4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDoxMS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4wCj4g
KFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDoxMy4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikg
UENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxNC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4zCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxNC40Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC41
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4wCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4wCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDoxOC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4zCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDoxOC40Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNzow
MC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNzowMC4xCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowNjowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNjowMC4xCj4g
cGNpIDAwMDA6MDY6MDAuMTogRmFpbGVkIHRvIGFkZCAtIHBhc3N0aHJvdWdoIG9yIE1TSS9NU0kt
WCBtaWdodCBmYWlsIQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDU6MDAuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDQ6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDM6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDI6MDAuMAo+IChYRU4pIFBDSSBh
ZGQgZGV2aWNlIDAwMDA6MDI6MDAuMQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LQV0g
KElSUXMgKjQgNyAxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0Jd
IChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktD
XSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5L
RF0gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xO
S0VdIChJUlFzIDQgKjcgMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtM
TktGXSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb
TE5LR10gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg
W0xOS0hdIChJUlFzIDQgNyAxMCAxMSAxNCAxNSkgKjAsIGRpc2FibGVkLgo+IHhlbi9iYWxsb29u
OiBJbml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIuCj4geGVuLWJhbGxvb246IEluaXRpYWxpc2lu
ZyBiYWxsb29uIGRyaXZlci4KPiB2Z2FhcmI6IGRldmljZSBhZGRlZDogUENJOjAwMDA6MDc6MDAu
MCxkZWNvZGVzPWlvK21lbSxvd25zPWlvK21lbSxsb2Nrcz1ub25lCj4gdmdhYXJiOiBsb2FkZWQK
PiB2Z2FhcmI6IGJyaWRnZSBjb250cm9sIHBvc3NpYmxlIDAwMDA6MDc6MDAuMAo+IFNDU0kgc3Vi
c3lzdGVtIGluaXRpYWxpemVkCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRy
aXZlciB1c2Jmcwo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgaHVi
Cj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1c2IKPiBQQ0k6IFVzaW5n
IEFDUEkgZm9yIElSUSByb3V0aW5nCj4gU3dpdGNoaW5nIHRvIGNsb2Nrc291cmNlIHhlbgo+IEZT
LUNhY2hlOiBMb2FkZWQKPiBDYWNoZUZpbGVzOiBMb2FkZWQKPiBwbnA6IFBuUCBBQ1BJIGluaXQK
PiBBQ1BJOiBidXMgdHlwZSBwbnAgcmVnaXN0ZXJlZAo+IHN5c3RlbSAwMDowMTogW21lbSAweGZl
YzIwMDAwLTB4ZmVjMjAwZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowMjog
W21lbSAweGY2MDAwMDAwLTB4ZjYwMDNmZmZdIGhhcyBiZWVuIHJlc2VydmVkCj4geGVuX21hcF9w
aXJxX2dzaTogcmV0dXJuaW5nIGlycSA4IGZvciBnc2kgOAo+IHhlbl9tYXBfcGlycV9nc2k6IHJl
dHVybmluZyBpcnEgMTMgZm9yIGdzaSAxMwo+IHN5c3RlbSAwMDowODogW21lbSAweGZlYzAwMDAw
LTB4ZmVjMDBmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowODogW21lbSAw
eGZlZTAwMDAwLTB4ZmVlMDBmZmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBb
aW8gIDB4MDRkMC0weDA0ZDFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8g
IDB4MDQwYl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwNGQ2XSBo
YXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjMDAtMHgwYzAxXSBoYXMg
YmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjMTRdIGhhcyBiZWVuIHJlc2Vy
dmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1MC0weDBjNTFdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1Ml0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0g
MDA6MDk6IFtpbyAgMHgwYzZjXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lv
ICAweDBjNmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkMC0w
eDBjZDFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkMi0weDBj
ZDNdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkNC0weDBjZDVd
IGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkNi0weDBjZDddIGhh
cyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkOC0weDBjZGZdIGhhcyBi
ZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDgwMC0weDA4OWZdIGhhcyBiZWVu
IHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIwMC0weDBiMWZdIGhhcyBiZWVuIHJl
c2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIyMC0weDBiM2ZdIGhhcyBiZWVuIHJlc2Vy
dmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkwMC0weDA5MGZdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkxMC0weDA5MWZdIGhhcyBiZWVuIHJlc2VydmVkCj4g
c3lzdGVtIDAwOjA5OiBbaW8gIDB4ZmUwMC0weGZlZmVdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lz
dGVtIDAwOjA5OiBbbWVtIDB4Y2ZmMDAwMDAtMHhjZmZmZmZmZl0gaGFzIGJlZW4gcmVzZXJ2ZWQK
PiBzeXN0ZW0gMDA6MDk6IFttZW0gMHhmZmI4MDAwMC0weGZmYmZmZmZmXSBoYXMgYmVlbiByZXNl
cnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGZlYzEwMDAwLTB4ZmVjMTAwMWZdIGhhcyBiZWVu
IHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4ZmVkODAwMDAtMHhmZWQ4MGZmZl0gaGFz
IGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwMjMwLTB4MDIzZl0gaGFzIGJl
ZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwMjkwLTB4MDI5Zl0gaGFzIGJlZW4g
cmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwZjQwLTB4MGY0Zl0gaGFzIGJlZW4gcmVz
ZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwYTMwLTB4MGEzZl0gaGFzIGJlZW4gcmVzZXJ2
ZWQKPiBzeXN0ZW0gMDA6MGI6IFttZW0gMHhlMDAwMDAwMC0weGVmZmZmZmZmXSBoYXMgYmVlbiBy
ZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMDAwMDAwLTB4MDAwOWZmZmZdIGNvdWxk
IG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMGMwMDAwLTB4MDAwY2Zm
ZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMGUwMDAw
LTB4MDAwZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAw
eDAwMTAwMDAwLTB4Y2ZlZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDow
YzogW21lbSAweGZlYzAwMDAwLTB4ZmZmZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHBu
cDogUG5QIEFDUEk6IGZvdW5kIDEzIGRldmljZXMKPiBBQ1BJOiBBQ1BJIGJ1cyB0eXBlIHBucCB1
bnJlZ2lzdGVyZWQKPiBwY2liYWNrIDAwMDA6MDA6MTQuMjogc2VpemluZyBkZXZpY2UKPiBQTS1U
aW1lciBmYWlsZWQgY29uc2lzdGVuY3kgY2hlY2sgICgweDB4ZmZmZmZmKSAtIGFib3J0aW5nLgo+
IHBjaSAwMDAwOjAwOjAyLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNy0wN10KPiBwY2kgMDAwMDow
MDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGUwMDAtMHhlZmZmXQo+IHBjaSAwMDAwOjAw
OjAyLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU5MDAwMDAtMHhmZTlmZmZmZl0KPiBwY2kg
MDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGQwMDAwMDAwLTB4ZGZmZmZmZmYg
NjRiaXQgcHJlZl0KPiBwY2kgMDAwMDowMDowNC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDYtMDZd
Cj4gcGNpIDAwMDA6MDA6MDQuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhkMDAwLTB4ZGZmZl0K
PiBwY2kgMDAwMDowMDowNC4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlODAwMDAwLTB4ZmU4
ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDUuMDogUENJIGJyaWRnZSB0byBbYnVzIDA1LTA1XQo+IHBj
aSAwMDAwOjAwOjA1LjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIDB4YzAwMC0weGNmZmZdCj4gcGNp
IDAwMDA6MDA6MDUuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTcwMDAwMC0weGZlN2ZmZmZm
XQo+IHBjaSAwMDAwOjAwOjA2LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNC0wNF0KPiBwY2kgMDAw
MDowMDowNi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGIwMDAtMHhiZmZmXQo+IHBjaSAwMDAw
OjAwOjA2LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU2MDAwMDAtMHhmZTZmZmZmZl0KPiBw
Y2kgMDAwMDowMDowNy4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDMtMDNdCj4gcGNpIDAwMDA6MDA6
MDcuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTUwMDAwMC0weGZlNWZmZmZmXQo+IHBjaSAw
MDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0wMl0KPiBwY2kgMDAwMDowMDowZC4w
OiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGEwMDAtMHhhZmZmXQo+IHBjaSAwMDAwOjAwOjBkLjA6
ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU0MDAwMDAtMHhmZTRmZmZmZl0KPiBwY2kgMDAwMDow
MDoxNC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdCj4geGVuX21hcF9waXJxX2dzaTogcmV0
dXJuaW5nIGlycSA1MiBmb3IgZ3NpIDUyCj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDo1Mgo+IHhl
bl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgNTIgZm9yIGdzaSA1Mgo+IEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6NTIKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUzIGZvciBn
c2kgNTMKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjUzCj4gTkVUOiBSZWdpc3RlcmVkIHByb3Rv
Y29sIGZhbWlseSAyCj4gSVAgcm91dGUgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAo
b3JkZXI6IDcsIDUyNDI4OCBieXRlcykKPiBUQ1AgZXN0YWJsaXNoZWQgaGFzaCB0YWJsZSBlbnRy
aWVzOiAyNjIxNDQgKG9yZGVyOiAxMCwgNDE5NDMwNCBieXRlcykKPiBUQ1AgYmluZCBoYXNoIHRh
YmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3NiBieXRlcykKPiBUQ1A6IEhhc2gg
dGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDI2MjE0NCBiaW5kIDY1NTM2KQo+IFRDUDog
cmVubyByZWdpc3RlcmVkCj4gVURQIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDMs
IDMyNzY4IGJ5dGVzKQo+IFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6
IDMsIDMyNzY4IGJ5dGVzKQo+IE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQo+IHhl
bl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE3IGZvciBn
c2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4geGVuX21hcF9waXJxX2dzaTogcmV0
dXJuaW5nIGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxOAo+IHhl
bl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE3IGZvciBn
c2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4gVW5wYWNraW5nIGluaXRyYW1mcy4u
Lgo+IEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogNjM4NGsgZnJlZWQKPiBtaWNyb2NvZGU6IENQVTA6
IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTE6IHBhdGNoX2xldmVsPTB4
MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTI6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNy
b2NvZGU6IENQVTM6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTQ6IHBh
dGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTU6IHBhdGNoX2xldmVsPTB4MDEw
MDAwYmYKPiBtaWNyb2NvZGU6IE1pY3JvY29kZSBVcGRhdGUgRHJpdmVyOiB2Mi4wMCA8dGlncmFu
QGFpdmF6aWFuLmZzbmV0LmNvLnVrPiwgUGV0ZXIgT3J1YmEKPiBOVEZTIGRyaXZlciAyLjEuMzAg
W0ZsYWdzOiBSL1ddLgo+IG1zZ21uaSBoYXMgYmVlbiBzZXQgdG8gMzg3MAo+IEJsb2NrIGxheWVy
IFNDU0kgZ2VuZXJpYyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNTMp
Cj4gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZCAoZGVmYXVsdCkKPiBwY2llcG9ydCAwMDAw
OjAwOjAyLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kg
MDAwMDowNzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4g
cGNpIDAwMDA6MDc6MDAuMTogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVw
dAo+IHBjaWVwb3J0IDAwMDA6MDA6MDQuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1F
IGludGVycnVwdAo+IHBjaSAwMDAwOjA2OjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0ll
IFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNjowMC4xOiBTaWduYWxpbmcgUE1FIHRocm91Z2gg
UENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDowMDowNS4wOiBTaWduYWxpbmcgUE1F
IHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDU6MDAuMDogU2lnbmFsaW5n
IFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaWVwb3J0IDAwMDA6MDA6MDYuMDog
U2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjA0OjAw
LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2llcG9ydCAw
MDAwOjAwOjA3LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBw
Y2kgMDAwMDowMzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0
Cj4gcGNpZXBvcnQgMDAwMDowMDowZC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUg
aW50ZXJydXB0Cj4gcGNpIDAwMDA6MDI6MDAuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUg
UE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjAyOjAwLjE6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQ
Q0llIFBNRSBpbnRlcnJ1cHQKPiBwY2lfaG90cGx1ZzogUENJIEhvdCBQbHVnIFBDSSBDb3JlIHZl
cnNpb246IDAuNQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMgL2RldmljZXMvTE5YU1lTVE06MDAv
ZGV2aWNlOjAwL1BOUDBDMEM6MDAvaW5wdXQvaW5wdXQwCj4gQUNQSTogUG93ZXIgQnV0dG9uIFtQ
V1JCXQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMgL2RldmljZXMvTE5YU1lTVE06MDAvTE5YUFdS
Qk46MDAvaW5wdXQvaW5wdXQxCj4gQUNQSTogUG93ZXIgQnV0dG9uIFtQV1JGXQo+IEdIRVM6IEhF
U1QgaXMgbm90IGVuYWJsZWQhCj4gRXZlbnQtY2hhbm5lbCBkZXZpY2UgaW5zdGFsbGVkLgo+IHhl
bi1wY2liYWNrOiBiYWNrZW5kIGlzIHZwY2kKPiBTZXJpYWw6IDgyNTAvMTY1NTAgZHJpdmVyLCA0
IHBvcnRzLCBJUlEgc2hhcmluZyBkaXNhYmxlZAo+IDAwMDA6MDI6MDAuMTogdHR5UzAgYXQgSS9P
IDB4YTg4MCAoaXJxID0gNDEpIGlzIGEgU1QxNjY1MFYyCj4gaHBldF9hY3BpX2FkZDogbm8gYWRk
cmVzcyBvciBpcnFzIGluIF9DUlMKPiBOb24tdm9sYXRpbGUgbWVtb3J5IGRyaXZlciB2MS4zCj4g
SGFuZ2NoZWNrOiBzdGFydGluZyBoYW5nY2hlY2sgdGltZXIgMC45LjEgKHRpY2sgaXMgMTgwIHNl
Y29uZHMsIG1hcmdpbiBpcyA2MCBzZWNvbmRzKS4KPiBIYW5nY2hlY2s6IFVzaW5nIGdldHJhd21v
bm90b25pYygpLgo+IGxvb3A6IG1vZHVsZSBsb2FkZWQKPiBhaGNpIDAwMDA6MDA6MTEuMDogQUhD
SSAwMDAxLjAyMDAgMzIgc2xvdHMgNiBwb3J0cyA2IEdicHMgMHgzZiBpbXBsIFNBVEEgbW9kZQo+
IGFoY2kgMDAwMDowMDoxMS4wOiBmbGFnczogNjRiaXQgbmNxIHNudGYgaWxjayBwbSBsZWQgY2xv
IHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2kwIDogYWhjaQo+IHNjc2kxIDogYWhjaQo+IHNjc2ky
IDogYWhjaQo+IHNjc2kzIDogYWhjaQo+IHNjc2k0IDogYWhjaQo+IHNjc2k1IDogYWhjaQo+IGF0
YTI6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUzZmUx
MDAgaXJxIDE5Cj4gYXRhMzogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZlM2ZlMDAw
IHBvcnQgMHhmZTNmZTE4MCBpcnEgMTkKPiBhdGE0OiBTQVRBIG1heCBVRE1BLzEzMyBhYmFyIG0x
MDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMjAwIGlycSAxOQo+IGF0YTU6IFNBVEEgbWF4IFVE
TUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUzZmUyODAgaXJxIDE5Cj4gYXRh
NjogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZlM2ZlMDAwIHBvcnQgMHhmZTNmZTMw
MCBpcnEgMTkKPiBhdGE3OiBTQVRBIG1heCBVRE1BLzEzMyBhYmFyIG0xMDI0QDB4ZmUzZmUwMDAg
cG9ydCAweGZlM2ZlMzgwIGlycSAxOQo+IGFoY2kgMDAwMDowNjowMC4wOiBBSENJIDAwMDEuMDAw
MCAzMiBzbG90cyAyIHBvcnRzIDMgR2JwcyAweDMgaW1wbCBTQVRBIG1vZGUKPiBhaGNpIDAwMDA6
MDY6MDAuMDogZmxhZ3M6IDY0Yml0IG5jcSBwbSBsZWQgY2xvIHBtcCBwaW8gc2x1bSBwYXJ0IAo+
IHNjc2k2IDogYWhjaQo+IHNjc2k3IDogYWhjaQo+IGF0YTg6IFNBVEEgbWF4IFVETUEvMTMzIGFi
YXIgbTgxOTJAMHhmZThmZTAwMCBwb3J0IDB4ZmU4ZmUxMDAgaXJxIDQ0Cj4gYXRhOTogU0FUQSBt
YXggVURNQS8xMzMgYWJhciBtODE5MkAweGZlOGZlMDAwIHBvcnQgMHhmZThmZTE4MCBpcnEgNDQK
PiB0dW46IFVuaXZlcnNhbCBUVU4vVEFQIGRldmljZSBkcml2ZXIsIDEuNgo+IHR1bjogKEMpIDE5
OTktMjAwNCBNYXggS3Jhc255YW5za3kgPG1heGtAcXVhbGNvbW0uY29tPgo+IHNreTI6IGRyaXZl
ciB2ZXJzaW9uIDEuMzAKPiBza3kyIDAwMDA6MDQ6MDAuMDogWXVrb24tMiBPcHRpbWEgY2hpcCBy
ZXZpc2lvbiAxCj4gc2t5MiAwMDAwOjA0OjAwLjA6IGV0aDA6IGFkZHIgMjA6Y2Y6MzA6NmQ6ODk6
YTUKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGNkY19uY20KPiBm
aXJld2lyZV9vaGNpIDAwMDA6MDU6MDAuMDogYWRkZWQgT0hDSSB2MS4xMCBkZXZpY2UgYXMgY2Fy
ZCAwLCA0IElSICsgOCBJVCBjb250ZXh0cywgcXVpcmtzIDB4MTEKPiBlaGNpX2hjZDogVVNCIDIu
MCAnRW5oYW5jZWQnIEhvc3QgQ29udHJvbGxlciAoRUhDSSkgRHJpdmVyCj4geGVuX21hcF9waXJx
X2dzaTogcmV0dXJuaW5nIGlycSAxNyBmb3IgZ3NpIDE3Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJ
IDoxNwo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogRUhDSSBIb3N0IENvbnRyb2xsZXIKPiBlaGNp
X2hjZCAwMDAwOjAwOjEyLjI6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBu
dW1iZXIgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogYXBwbHlpbmcgQU1EIFNCNzAwL1NCODAw
L0h1ZHNvbi0yLzMgRUhDSSBkdW1teSBxaCB3b3JrYXJvdW5kCj4gZWhjaV9oY2QgMDAwMDowMDox
Mi4yOiBkZWJ1ZyBwb3J0IDEKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IGlycSAxNywgaW8gbWVt
IDB4ZmUzZmU0MDAKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IFVTQiAyLjAgc3RhcnRlZCwgRUhD
SSAxLjAwCj4gdXNiIHVzYjE6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBp
ZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2IxOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9Mywg
UHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2IxOiBQcm9kdWN0OiBFSENJIEhvc3Qg
Q29udHJvbGxlcgo+IHVzYiB1c2IxOiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5
NS1nODdiNWQ5MC1kaXJ0eSBlaGNpX2hjZAo+IHVzYiB1c2IxOiBTZXJpYWxOdW1iZXI6IDAwMDA6
MDA6MTIuMgo+IGh1YiAxLTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDEtMDoxLjA6IDUgcG9y
dHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE3IGZvciBnc2kg
MTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4gZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBF
SENJIEhvc3QgQ29udHJvbGxlcgo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogbmV3IFVTQiBidXMg
cmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAyCj4gZWhjaV9oY2QgMDAwMDowMDoxMy4y
OiBhcHBseWluZyBBTUQgU0I3MDAvU0I4MDAvSHVkc29uLTIvMyBFSENJIGR1bW15IHFoIHdvcmth
cm91bmQKPiBlaGNpX2hjZCAwMDAwOjAwOjEzLjI6IGRlYnVnIHBvcnQgMQo+IGVoY2lfaGNkIDAw
MDA6MDA6MTMuMjogaXJxIDE3LCBpbyBtZW0gMHhmZTNmZTgwMAo+IGVoY2lfaGNkIDAwMDA6MDA6
MTMuMjogVVNCIDIuMCBzdGFydGVkLCBFSENJIDEuMDAKPiB1c2IgdXNiMjogTmV3IFVTQiBkZXZp
Y2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAyCj4gdXNiIHVzYjI6IE5ldyBV
U0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNi
IHVzYjI6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjI6IE1hbnVmYWN0
dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5IGVoY2lfaGNkCj4gdXNi
IHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMy4yCj4gaHViIDItMDoxLjA6IFVTQiBodWIg
Zm91bmQKPiBodWIgMi0wOjEuMDogNSBwb3J0cyBkZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9nc2k6
IHJldHVybmluZyBpcnEgMTcgZm9yIGdzaSAxNwo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTcK
PiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IEVIQ0kgSG9zdCBDb250cm9sbGVyCj4gZWhjaV9oY2Qg
MDAwMDowMDoxNi4yOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVy
IDMKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGFwcGx5aW5nIEFNRCBTQjcwMC9TQjgwMC9IdWRz
b24tMi8zIEVIQ0kgZHVtbXkgcWggd29ya2Fyb3VuZAo+IGVoY2lfaGNkIDAwMDA6MDA6MTYuMjog
ZGVidWcgcG9ydCAxCj4gYXRhNzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAz
MDApCj4gYXRhNjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRh
MjogU0FUQSBsaW5rIHVwIDMuMCBHYnBzIChTU3RhdHVzIDEyMyBTQ29udHJvbCAzMDApCj4gYXRh
NTogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhNDogU0FUQSBs
aW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhMzogU0FUQSBsaW5rIGRvd24g
KFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhMi4wMDogQVRBLTg6IElOVEVMIFNTRFNBMkNX
MTIwRzMsIDRQQzEwMzYyLCBtYXggVURNQS8xMzMKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGly
cSAxNywgaW8gbWVtIDB4ZmUzZmVjMDAKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IFVTQiAyLjAg
c3RhcnRlZCwgRUhDSSAxLjAwCj4gdXNiIHVzYjM6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZl
bmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2IzOiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2IzOiBQcm9kdWN0
OiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2IzOiBNYW51ZmFjdHVyZXI6IExpbnV4IDMu
NC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBlaGNpX2hjZAo+IHVzYiB1c2IzOiBTZXJpYWxO
dW1iZXI6IDAwMDA6MDA6MTYuMgo+IGF0YTk6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0Nv
bnRyb2wgMzAwKQo+IGF0YTg6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAw
KQo+IGF0YTIuMDA6IDIzNDQ0MTY0OCBzZWN0b3JzLCBtdWx0aSAxOiBMQkE0OCBOQ1EgKGRlcHRo
IDMxLzMyKQo+IGh1YiAzLTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDMtMDoxLjA6IDQgcG9y
dHMgZGV0ZWN0ZWQKPiBvaGNpX2hjZDogVVNCIDEuMSAnT3BlbicgSG9zdCBDb250cm9sbGVyIChP
SENJKSBEcml2ZXIKPiBhdGEyLjAwOiBjb25maWd1cmVkIGZvciBVRE1BLzEzMwo+IHhlbl9tYXBf
cGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhl
IEdTSSA6MTgKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4g
b2hjaV9oY2QgMDAwMDowMDoxMi4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBi
dXMgbnVtYmVyIDQKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IGlycSAxOCwgaW8gbWVtIDB4ZmUz
ZjcwMDAKPiBzY3NpIDA6MDowOjA6IERpcmVjdC1BY2Nlc3MgICAgIEFUQSAgICAgIElOVEVMIFNT
RFNBMkNXMTIgNFBDMSBQUTogMCBBTlNJOiA1Cj4gc2QgMDowOjA6MDogW3NkYV0gMjM0NDQxNjQ4
IDUxMi1ieXRlIGxvZ2ljYWwgYmxvY2tzOiAoMTIwIEdCLzExMSBHaUIpCj4gc2QgMDowOjA6MDog
W3NkYV0gV3JpdGUgUHJvdGVjdCBpcyBvZmYKPiBzZCAwOjA6MDowOiBbc2RhXSBXcml0ZSBjYWNo
ZTogZW5hYmxlZCwgcmVhZCBjYWNoZTogZW5hYmxlZCwgZG9lc24ndCBzdXBwb3J0IERQTyBvciBG
VUEKPiAgc2RhOiBzZGExIHNkYTIKPiBzZCAwOjA6MDowOiBbc2RhXSBBdHRhY2hlZCBTQ1NJIGRp
c2sKPiB1c2IgdXNiNDogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJv
ZHVjdD0wMDAxCj4gdXNiIHVzYjQ6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9k
dWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjQ6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250
cm9sbGVyCj4gdXNiIHVzYjQ6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4
N2I1ZDkwLWRpcnR5IG9oY2lfaGNkCj4gdXNiIHVzYjQ6IFNlcmlhbE51bWJlcjogMDAwMDowMDox
Mi4wCj4gaHViIDQtMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgNC0wOjEuMDogNSBwb3J0cyBk
ZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+
IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTgKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IE9IQ0kg
SG9zdCBDb250cm9sbGVyCj4gb2hjaV9oY2QgMDAwMDowMDoxMy4wOiBuZXcgVVNCIGJ1cyByZWdp
c3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDUKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IGly
cSAxOCwgaW8gbWVtIDB4ZmUzZmMwMDAKPiB1c2IgMS0xOiBuZXcgaGlnaC1zcGVlZCBVU0IgZGV2
aWNlIG51bWJlciAyIHVzaW5nIGVoY2lfaGNkCj4gdXNiIHVzYjU6IE5ldyBVU0IgZGV2aWNlIGZv
dW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I1OiBOZXcgVVNCIGRl
dmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I1
OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I1OiBNYW51ZmFjdHVyZXI6
IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I1
OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTMuMAo+IGh1YiA1LTA6MS4wOiBVU0IgaHViIGZvdW5k
Cj4gaHViIDUtMDoxLjA6IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1
cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hj
aV9oY2QgMDAwMDowMDoxNC41OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IGZpcmV3aXJlX2NvcmUg
MDAwMDowNTowMC4wOiBjcmVhdGVkIGRldmljZSBmdzA6IEdVSUQgMDAxZThjMDAwMGRlOTEzNiwg
UzQwMAo+IG9oY2lfaGNkIDAwMDA6MDA6MTQuNTogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNz
aWduZWQgYnVzIG51bWJlciA2Cj4gb2hjaV9oY2QgMDAwMDowMDoxNC41OiBpcnEgMTgsIGlvIG1l
bSAweGZlM2ZkMDAwCj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTA0
MjQsIGlkUHJvZHVjdD0yNTA0Cj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZy
PTAsIFByb2R1Y3Q9MCwgU2VyaWFsTnVtYmVyPTAKPiBodWIgMS0xOjEuMDogVVNCIGh1YiBmb3Vu
ZAo+IGh1YiAxLTE6MS4wOiA0IHBvcnRzIGRldGVjdGVkCj4gdXNiIHVzYjY6IE5ldyBVU0IgZGV2
aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I2OiBOZXcg
VVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVz
YiB1c2I2OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I2OiBNYW51ZmFj
dHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVz
YiB1c2I2OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTQuNQo+IGh1YiA2LTA6MS4wOiBVU0IgaHVi
IGZvdW5kCj4gaHViIDYtMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3Np
OiByZXR1cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4
Cj4gb2hjaV9oY2QgMDAwMDowMDoxNi4wOiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNk
IDAwMDA6MDA6MTYuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJl
ciA3Cj4gb2hjaV9oY2QgMDAwMDowMDoxNi4wOiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZmMDAwCj4g
dXNiIHVzYjc6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9
MDAwMQo+IHVzYiB1c2I3OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0y
LCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I3OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxl
cgo+IHVzYiB1c2I3OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5
MC1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I3OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTYuMAo+
IGh1YiA3LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDctMDoxLjA6IDQgcG9ydHMgZGV0ZWN0
ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUwIGZvciBnc2kgNTAKPiBBbHJl
YWR5IHNldHVwIHRoZSBHU0kgOjUwCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiB4SENJIEhvc3Qg
Q29udHJvbGxlcgo+IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJl
ZCwgYXNzaWduZWQgYnVzIG51bWJlciA4Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBpcnEgNTAs
IGlvIG1lbSAweGZlNWZlMDAwCj4gdXNiIHVzYjg6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZl
bmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2I4OiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I4OiBQcm9kdWN0
OiB4SENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I4OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMu
NC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSB4aGNpX2hjZAo+IHVzYiB1c2I4OiBTZXJpYWxO
dW1iZXI6IDAwMDA6MDM6MDAuMAo+IGh1YiA4LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDgt
MDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4aGNpX2hjZCAwMDAwOjAzOjAwLjA6IHhIQ0kgSG9z
dCBDb250cm9sbGVyCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBuZXcgVVNCIGJ1cyByZWdpc3Rl
cmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDkKPiB1c2IgdXNiOTogTmV3IFVTQiBkZXZpY2UgZm91
bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAzCj4gdXNiIHVzYjk6IE5ldyBVU0IgZGV2
aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjk6
IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjk6IE1hbnVmYWN0dXJlcjog
TGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5IHhoY2lfaGNkCj4gdXNiIHVzYjk6
IFNlcmlhbE51bWJlcjogMDAwMDowMzowMC4wCj4gaHViIDktMDoxLjA6IFVTQiBodWIgZm91bmQK
PiBodWIgOS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgdXNibHAKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIHVhcwo+IEluaXRpYWxpemluZyBVU0IgTWFzcyBTdG9yYWdlIGRyaXZlci4uLgo+
IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3JhZ2UKPiBV
U0IgTWFzcyBTdG9yYWdlIHN1cHBvcnQgcmVnaXN0ZXJlZC4KPiB1c2Jjb3JlOiByZWdpc3RlcmVk
IG5ldyBpbnRlcmZhY2UgZHJpdmVyIGxpYnVzdWFsCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcg
aW50ZXJmYWNlIGRyaXZlciB1bXNfZW5ldWI2MjUwCj4gaTgwNDI6IFBOUDogTm8gUFMvMiBjb250
cm9sbGVyIGZvdW5kLiBQcm9iaW5nIHBvcnRzIGRpcmVjdGx5Lgo+IHNlcmlvOiBpODA0MiBLQkQg
cG9ydCBhdCAweDYwLDB4NjQgaXJxIDEKPiBzZXJpbzogaTgwNDIgQVVYIHBvcnQgYXQgMHg2MCww
eDY0IGlycSAxMgo+IG1vdXNlZGV2OiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFsbCBt
aWNlCj4gaW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2RldmljZXMvcGxhdGZvcm0vcGNzcGtyL2lucHV0
L2lucHV0Mgo+IHJ0Y19jbW9zIDAwOjA0OiBSVEMgY2FuIHdha2UgZnJvbSBTNAo+IHJ0Y19jbW9z
IDAwOjA0OiBydGMgY29yZTogcmVnaXN0ZXJlZCBydGNfY21vcyBhcyBydGMwCj4gcnRjMDogYWxh
cm1zIHVwIHRvIG9uZSBtb250aCwgeTNrLCAxMTQgYnl0ZXMgbnZyYW0KPiBpMmMgL2RldiBlbnRy
aWVzIGRyaXZlcgo+IEFDUEkgV2FybmluZzogMHgwMDAwMDAwMDAwMDAwYjAwLTB4MDAwMDAwMDAw
MDAwMGIwNyBTeXN0ZW1JTyBjb25mbGljdHMgd2l0aCBSZWdpb24gXF9TQl8uUENJMC5TQlJHLkFT
T0MuU01SRyAxICgyMDEyMDMyMC91dGFkZHJlc3MtMjUxKQo+IHVzYiA0LTI6IG5ldyBmdWxsLXNw
ZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDIgdXNpbmcgb2hjaV9oY2QKPiBBQ1BJOiBJZiBhbiBBQ1BJ
IGRyaXZlciBpcyBhdmFpbGFibGUgZm9yIHRoaXMgZGV2aWNlLCB5b3Ugc2hvdWxkIHVzZSBpdCBp
bnN0ZWFkIG9mIHRoZSBuYXRpdmUgZHJpdmVyCj4gQVRLMDExMCBBVEswMTEwOjAwOiBFQyBlbmFi
bGVkCj4gc3A1MTAwX3RjbzogU1A1MTAwIFRDTyBXYXRjaERvZyBUaW1lciBEcml2ZXIgdjAuMDEK
PiBzcDUxMDBfdGNvOiBtbWlvIGFkZHJlc3MgMHhiOGZlMDAgYWxyZWFkeSBpbiB1c2UKPiBpdDg3
X3dkdDogQ2hpcCBJVDg3MjEgcmV2aXNpb24gMSBpbml0aWFsaXplZC4gdGltZW91dD02MCBzZWMg
KG5vd2F5b3V0PTAgdGVzdG1vZGU9MCBleGNsdXNpdmU9MSBub2dhbWVwb3J0PTApCj4geGVuX3dk
dDogWGVuIFdhdGNoRG9nIFRpbWVyIERyaXZlciB2MC4wMQo+IHhlbl93ZHQ6IGNhbm5vdCByZWdp
c3RlciBtaXNjZGV2IG9uIG1pbm9yPTEzMCAoLTE2KQo+IHdkdDogcHJvYmUgb2Ygd2R0IGZhaWxl
ZCB3aXRoIGVycm9yIC0xNgo+IGRldmljZS1tYXBwZXI6IHVldmVudDogdmVyc2lvbiAxLjAuMwo+
IGRldmljZS1tYXBwZXI6IGlvY3RsOiA0LjIyLjAtaW9jdGwgKDIwMTEtMTAtMTkpIGluaXRpYWxp
c2VkOiBkbS1kZXZlbEByZWRoYXQuY29tCj4gRURBQyBNQzogVmVyOiAyLjEuMAo+IEFNRDY0IEVE
QUMgZHJpdmVyIHYzLjQuMAo+IEVEQUMgYW1kNjQ6IERSQU0gRUNDIGRpc2FibGVkLgo+IEVEQUMg
YW1kNjQ6IEVDQyBkaXNhYmxlZCBpbiB0aGUgQklPUyBvciBubyBFQ0MgY2FwYWJpbGl0eSwgbW9k
dWxlIHdpbGwgbm90IGxvYWQuCj4gIEVpdGhlciBlbmFibGUgRUNDIGNoZWNraW5nIG9yIGZvcmNl
IG1vZHVsZSBsb2FkaW5nIGJ5IHNldHRpbmcgJ2VjY19lbmFibGVfb3ZlcnJpZGUnLgo+ICAoTm90
ZSB0aGF0IHVzZSBvZiB0aGUgb3ZlcnJpZGUgbWF5IGNhdXNlIHVua25vd24gc2lkZSBlZmZlY3Rz
LikKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmhpZAo+IHVz
YmhpZDogVVNCIEhJRCBjb3JlIGRyaXZlcgo+IFRDUDogY3ViaWMgcmVnaXN0ZXJlZAo+IE5FVDog
UmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMTcKPiBydGNfY21vcyAwMDowNDogc2V0dGluZyBz
eXN0ZW0gY2xvY2sgdG8gMjAxMi0wNS0wNyAxMDo1NToyMiBVVEMgKDEzMzYzODgxMjIpCj4gcG93
ZXJub3ctazg6IEZvdW5kIDEgQU1EIFBoZW5vbSh0bSkgSUkgWDYgMTA3NVQgUHJvY2Vzc29yICg2
IGNwdSBjb3JlcykgKHZlcnNpb24gMi4yMC4wMCkKPiBwb3dlcm5vdy1rODogQ29yZSBQZXJmb3Jt
YW5jZSBCb29zdGluZzogb24uCj4gRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTogNTMyayBm
cmVlZAo+IExvYWRpbmcsIHBsZWFzZSB3YWl0Li4uCj4gdWRldlsxMDc4XTogc3RhcnRpbmcgdmVy
c2lvbiAxNjQKPiB1c2IgNC0yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MDQxZSwg
aWRQcm9kdWN0PTMwZGMKPiB1c2IgNC0yOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MSwg
UHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9Mwo+IHVzYiA0LTI6IFByb2R1Y3Q6IFNvdW5kIEJsYXN0
ZXIgVGFjdGljKDNEKSBBbHBoYQo+IHVzYiA0LTI6IE1hbnVmYWN0dXJlcjogQ3JlYXRpdmUgVGVj
aG5vbG9neSBMdGQKPiB1c2IgNC0yOiBTZXJpYWxOdW1iZXI6IDAwMDIzMTYyCj4gaW5wdXQ6IENy
ZWF0aXZlIFRlY2hub2xvZ3kgTHRkIFNvdW5kIEJsYXN0ZXIgVGFjdGljKDNEKSBBbHBoYSBhcyAv
ZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMC91c2I0LzQtMi80LTI6MS4zL2lucHV0L2lu
cHV0Mwo+IGdlbmVyaWMtdXNiIDAwMDM6MDQxRTozMERDLjAwMDE6IGlucHV0LGhpZGRldjA6IFVT
QiBISUQgdjEuMDAgRGV2aWNlIFtDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZCBTb3VuZCBCbGFzdGVy
IFRhY3RpYygzRCkgQWxwaGFdIG9uIHVzYi0wMDAwOjAwOjEyLjAtMi9pbnB1dDMKPiBCZWdpbjog
TG9hZGluZyBlc3NlbnRpYWwgZHJpdmVycyAuLi4gdXNiIDEtMS4xOiBuZXcgZnVsbC1zcGVlZCBV
U0IgZGV2aWNlIG51bWJlciA0IHVzaW5nIGVoY2lfaGNkCj4gZG9uZS4KPiBCZWdpbjogUnVubmlu
ZyAvc2NyaXB0cy9pbml0LXByZW1vdW50IC4uLiBkb25lLgo+IEJlZ2luOiBNb3VudGluZyByb290
IGZpbGUgc3lzdGVtIC4uLiBCZWdpbjogUnVubmluZyAvc2NyaXB0cy9sb2NhbC10b3AgLi4uIHVz
YiAxLTEuMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTE1MzIsIGlkUHJvZHVjdD0w
MDEzCj4gdXNiIDEtMS4xOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MSwgUHJvZHVjdD0y
LCBTZXJpYWxOdW1iZXI9MAo+IHVzYiAxLTEuMTogUHJvZHVjdDogUmF6ZXIgT3JvY2hpCj4gdXNi
IDEtMS4xOiBNYW51ZmFjdHVyZXI6IFJhemVyCj4gZG9uZS4KPiBpbnB1dDogUmF6ZXIgUmF6ZXIg
T3JvY2hpIGFzIC9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxMi4yL3VzYjEvMS0xLzEtMS4x
LzEtMS4xOjEuMC9pbnB1dC9pbnB1dDQKPiBnZW5lcmljLXVzYiAwMDAzOjE1MzI6MDAxMy4wMDAy
OiBpbnB1dDogVVNCIEhJRCB2MS4xMSBNb3VzZSBbUmF6ZXIgUmF6ZXIgT3JvY2hpXSBvbiB1c2It
MDAwMDowMDoxMi4yLTEuMS9pbnB1dDAKPiBpbnB1dDogUmF6ZXIgUmF6ZXIgT3JvY2hpIGFzIC9k
ZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxMi4yL3VzYjEvMS0xLzEtMS4xLzEtMS4xOjEuMS9p
bnB1dC9pbnB1dDUKPiBnZW5lcmljLXVzYiAwMDAzOjE1MzI6MDAxMy4wMDAzOiBpbnB1dDogVVNC
IEhJRCB2MS4xMSBLZXlib2FyZCBbUmF6ZXIgUmF6ZXIgT3JvY2hpXSBvbiB1c2ItMDAwMDowMDox
Mi4yLTEuMS9pbnB1dDEKPiBCZWdpbjogUnVubmluZyAvc2NyaXB0cy9sb2NhbC1wcmVtb3VudCAu
Li4gZG9uZS4KPiB1c2IgMS0xLjI6IG5ldyBsb3ctc3BlZWQgVVNCIGRldmljZSBudW1iZXIgNSB1
c2luZyBlaGNpX2hjZAo+IEVYVDQtZnMgKGRtLTApOiBtb3VudGVkIGZpbGVzeXN0ZW0gd2l0aCBv
cmRlcmVkIGRhdGEgbW9kZS4gT3B0czogKG51bGwpCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMv
bG9jYWwtYm90dG9tIC4uLiBkb25lLgo+IGRvbmUuCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMv
aW5pdC1ib3R0b20gLi4uIGRvbmUuCj4gdXNiIDEtMS4yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwg
aWRWZW5kb3I9MDRmMiwgaWRQcm9kdWN0PTA0MDMKPiB1c2IgMS0xLjI6IE5ldyBVU0IgZGV2aWNl
IHN0cmluZ3M6IE1mcj0xLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0wCj4gdXNiIDEtMS4yOiBQ
cm9kdWN0OiBVU0IgS2V5Ym9hcmQKPiB1c2IgMS0xLjI6IE1hbnVmYWN0dXJlcjogQ2hpY29ueQo+
IElOSVQ6IHZlcnNpb24gMi44OCBib290aW5nCj4gaW5wdXQ6IENoaWNvbnkgVVNCIEtleWJvYXJk
IGFzIC9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxMi4yL3VzYjEvMS0xLzEtMS4yLzEtMS4y
OjEuMC9pbnB1dC9pbnB1dDYKPiBnZW5lcmljLXVzYiAwMDAzOjA0RjI6MDQwMy4wMDA0OiBpbnB1
dDogVVNCIEhJRCB2MS4xMSBLZXlib2FyZCBbQ2hpY29ueSBVU0IgS2V5Ym9hcmRdIG9uIHVzYi0w
MDAwOjAwOjEyLjItMS4yL2lucHV0MAo+IFVzaW5nIG1ha2VmaWxlLXN0eWxlIGNvbmN1cnJlbnQg
Ym9vdCBpbiBydW5sZXZlbCBTLmlucHV0OiBDaGljb255IFUKPiBTQiBLZXlib2FyZCBhcyAvZGV2
aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMi8xLTEuMjoxLjEvaW5w
dXQvaW5wdXQ3Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0MDMuMDAwNTogaW5wdXQsaGlkZGV2
MDogVVNCIEhJRCB2MS4xMSBEZXZpY2UgW0NoaWNvbnkgVVNCIEtleWJvYXJkXSBvbiB1c2ItMDAw
MDowMDoxMi4yLTEuMi9pbnB1dDEKPiBGaWxlcyB1bmRlciBtb3VudCBwb2ludCAnL2xpYi9pbml0
L3J3JyB3aWxsIGJlIGhpZGRlbi4gLi4ubmV0IGZpcmV3aXJlMDogSVB2NCBvdmVyIElFRUUgMTM5
NCBvbiBjYXJkIDAwMDA6MDU6MDAuMAo+IGZpcmV3aXJlX2NvcmUgMDAwMDowNTowMC4wOiByZWZy
ZXNoZWQgZGV2aWNlIGZ3MAo+ICAod2FybmluZykuCj4gRmlsZXMgdW5kZXIgbW91bnQgcG9pbnQg
Jy92YXIvcnVuJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJuaW5nKS4KPiBGaWxlcyB1bmRlciBt
b3VudCBwb2ludCAnL3Zhci9sb2NrJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJuaW5nKS4KPiBT
dGFydGluZyB0aGUgaG90cGx1ZyBldmVudHMgZGlzcGF0Y2hlcjogdWRldmR1ZGV2WzEyODZdOiBz
dGFydGluZyB2ZXJzaW9uIDE2NAo+IC4KPiBTeW50aGVzaXppbmcgdGhlIGluaXRpYWwgaG90cGx1
ZyBldmVudHMuLi5kb25lLgo+IFdhaXRpbmcgZm9yIC9kZXYgdG8gYmUgZnVsbHkgcG9wdWxhdGVk
Li4uZG9uZS4KPiBTZXR0aW5nIGhvc3RuYW1lIHRvICd4ZW4nLi4uZG9uZS4KPiBTZXR0aW5nIHBy
ZWxpbWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGluZyBzd2FwOi4KPiBFWFQ0LWZzIChk
bS0wKTogcmUtbW91bnRlZC4gT3B0czogKG51bGwpCj4gV2lsbCBub3cgY2hlY2sgcm9vdCBmaWxl
IHN5c3RlbTpmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBbL3NiaW4vZnNjay5leHQ0
ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgLUMwIC9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiAKPiAv
ZGV2L21hcHBlci9sZW1yb3VjaC14ZW46IGNsZWFuLCAxNzU2NDcvMTMxMDcyMCBmaWxlcywgMTI3
NjYzNS81MjQyODgwIGJsb2Nrcwo+IC4KPiBFWFQ0LWZzIChkbS0wKTogcmUtbW91bnRlZC4gT3B0
czogZXJyb3JzPXJlbW91bnQtcm8KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgZmlyZXdpcmUtc2Jw
Mi4KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgbG9vcC4KPiBDbGVhbmluZyB1cCBpZnVwZG93bi4u
Li4KPiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0dGluZyB1cCBMVk0gVm9sdW1lIEdy
b3VwcyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4gIFRoaXMgbWF5IHRha2UgYSB3aGls
ZS4uLgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3VjaCIgdXNpbmcgbWV0YWRhdGEgdHlw
ZSBsdm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAibGVtcm91Y2gi
IG5vdyBhY3RpdmUKPiAuCj4gV2lsbCBub3cgYWN0aXZhdGUgbHZtIGFuZCBtZCBzd2FwOmRvbmUu
Cj4gV2lsbCBub3cgY2hlY2sgYWxsIGZpbGUgc3lzdGVtcy4KPiBmc2NrIGZyb20gdXRpbC1saW51
eC1uZyAyLjE3LjIKPiBDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgo+IERvbmUgY2hlY2tpbmcg
ZmlsZSBzeXN0ZW1zLiBBIGxvZyBpcyBiZWluZyBzYXZlZCBpbiAvdmFyL2xvZy9mc2NrL2NoZWNr
ZnMgaWYgdGhhdCBsb2NhdGlvbiBpcyB3cml0YWJsZS4uCj4gV2lsbCBub3cgbW91bnQgbG9jYWwg
ZmlsZXN5c3RlbXM6RVhUNC1mcyAoc2RhMSk6IHdhcm5pbmc6IG1vdW50aW5nIHVuY2hlY2tlZCBm
cywgcnVubmluZyBlMmZzY2sgaXMgcmVjb21tZW5kZWQKPiBFWFQ0LWZzIChzZGExKTogbW91bnRl
ZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6IChudWxsKQo+IC4KPiBX
aWxsIG5vdyBhY3RpdmF0ZSBzd2FwZmlsZSBzd2FwOmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9y
YXJ5IGZpbGVzLi4uQ2xlYW5pbmcgL3RtcC4uLmRvbmUuCj4gLgo+IENoZWNraW5nIG1pbmltdW0g
c3BhY2UgaW4gL3RtcC4uLmRvbmUuCj4gU2V0dGluZyBrZXJuZWwgdmFyaWFibGVzIC4uLiAvZXRj
L3N5c2N0bC5jb25mLi4uZG9uZS4KPiBJbml0aWFsaXppbmcgcmFuZG9tIG51bWJlciBnZW5lcmF0
b3IuLi5kb25lLgo+IFNldHRpbmcgdXAgWCBzZXJ2ZXIgc29ja2V0IGRpcmVjdG9yeSAvdG1wLy5Y
MTEtdW5peC4uLi4KPiBTZXR0aW5nIHVwIElDRSBzb2NrZXQgZGlyZWN0b3J5IC90bXAvLklDRS11
bml4Li4uLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJmYWNlcy4uLmRldmljZSBldGgwIGVu
dGVyZWQgcHJvbWlzY3VvdXMgbW9kZQo+IHNreTIgMDAwMDowNDowMC4wOiBldGgwOiBlbmFibGlu
ZyBpbnRlcmZhY2UKPiBkb25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBT
dGFydGluZyBmaWxlc3lzdGVtIGluIHVzZXJzcGFjZTogZnVzZS4KPiBTZXR0aW5nIGNvbnNvbGUg
c2NyZWVuIG1vZGVzLgo+IGNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlCj4gU2tpcHBpbmcg
Zm9udCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNvbnNvbGUtc2V0dXApLgo+IFNldHRp
bmcgdXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25lLgo+IFNldHRpbmcgc2Vuc29ycyBs
aW1pdHMuCj4gSU5JVDogRW50ZXJpbmcgcnVubGV2ZWw6IDMKPiBVc2luZyBtYWtlZmlsZS1zdHls
ZSBjb25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgMy4KPiBOb3Qgc3RhcnRpbmcgZmFuY29udHJv
bDsgcnVuIHB3bWNvbmZpZyBmaXJzdC4gLi4uICh3YXJuaW5nKS4KPiBhY3BpZDogc3RhcnRpbmcg
dXAgd2l0aCBuZXRsaW5rIGFuZCB0aGUgaW5wdXQgbGF5ZXIKPiAKPiBhY3BpZDogMSBydWxlIGxv
YWRlZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6IGV2ZW50IGxvZ2dpbmcgaXMgb2Zm
Cj4gCj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBTdGFydGluZyBzeXN0ZW0gbWVzc2Fn
ZSBidXM6IGRidXMuCj4gc3NoZCAoMjA2NCk6IC9wcm9jLzIwNjQvb29tX2FkaiBpcyBkZXByZWNh
dGVkLCBwbGVhc2UgdXNlIC9wcm9jLzIwNjQvb29tX3Njb3JlX2FkaiBpbnN0ZWFkLgo+IFN0YXJ0
aW5nIHRoZSBXaW5iaW5kIGRhZW1vbjogd2luYmluZC4KPiBTdGFydGluZyBPcGVuQlNEIFNlY3Vy
ZSBTaGVsbCBzZXJ2ZXI6IHNzaGQuCj4gU3RhcnRpbmcgb3hlbnN0b3JlZC4uLgo+IFNldHRpbmcg
ZG9tYWluIDAgbmFtZS4uLgo+IFN0YXJ0aW5nIHhlbmNvbnNvbGVkLi4uCj4gU3RhcnRpbmcgZG9t
YWluIG5hbWUgc2VydmljZS4uLjogYmluZDkuCj4gU3RhcnRpbmcgU2FtYmEgZGFlbW9uczogbm1i
ZCBzbWJkLgo+IFN0YXJ0aW5nIHBlcmlvZGljIGNvbW1hbmQgc2NoZWR1bGVyOiBjcm9uLgo+IFN0
YXJ0aW5nIFBvc3RmaXggTWFpbCBUcmFuc3BvcnQgQWdlbnQ6IHBvc3RmaXguCj4gQkxLVEFQQ1RS
TFsyMjM0XTogYmxrdGFwY3RybC5jOjc5MjogYmxrdGFwY3RybDogdjEuMC4wCj4gCj4gQkxLVEFQ
Q1RSTFsyMjM0XTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBbcmF3IGltYWdlIChh
aW8pXQo+IAo+IEJMS1RBUENUUkxbMjIzNF06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZl
cjogW3JhdyBpbWFnZSAoc3luYyldCj4gCj4gQkxLVEFQQ1RSTFsyMjM0XTogYmxrdGFwY3RybC5j
Ojc5NDogRm91bmQgZHJpdmVyOiBbdm13YXJlIGltYWdlICh2bWRrKV0KPiAKPiBCTEtUQVBDVFJM
WzIyMzRdOiBibGt0YXBjdHJsLmM6Nzk0OiBGb3VuZCBkcml2ZXI6IFtyYW1kaXNrIGltYWdlIChy
YW0pXQo+IAo+IEJMS1RBUENUUkxbMjIzNF06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZl
cjogW3Fjb3cgZGlzayAocWNvdyldCj4gCj4gQkxLVEFQQ1RSTFsyMjM0XTogYmxrdGFwY3RybC5j
Ojc5NDogRm91bmQgZHJpdmVyOiBbcWNvdzIgZGlzayAocWNvdzIpXQo+IAo+IEJMS1RBUENUUkxb
MjIzNF06IGJsa3RhcGN0cmxfbGludXguYzo4NjogYmxrdGFwMCBvcGVuIGZhaWxlZAo+IAo+IEJM
S1RBUENUUkxbMjIzNF06IGJsa3RhcGN0cmwuYzo4NjE6IGNvdWxkbid0IG9wZW4gYmxrdGFwIGlu
dGVyZmFjZXNreTIgMDAwMDowNDowMC4KPiAwOiBldGgwOiBMaW5rIGlzIHVwIGF0IDEwMCBNYnBz
LAo+ICBmdWxsIGR1cGxleCwgZmxvdyBjb250cm9sIGJvdGgKPiBCTEtUQVBDVFJMWzIyMzRdOiBi
bGt0YXBjdHJsLmM6OTI0OiBVbmFibGUgdG8gc3RhcnQgYmxrdGFwY3RybGJyMDogcG9ydCAxKGV0
aDAKPiApIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+IAo+IGJyMDogcG9ydCAxKGV0aDApIGVu
dGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+IFN0YXJ0aW5nIFMuTS5BLlIuVC4gZGFlbW9uOiBzbWFy
dGQuCj4gYnIwOiBwb3J0IDEoZXRoMCkgZW50ZXJlZCBmb3J3YXJkaW5nIHN0YXRlCj4gUnVubmlu
ZyBsb2NhbCBib290IHNjcmlwdHMgKC9ldGMvcmMubG9jYWwpKFhFTikgUENJIHJlbW92ZSBkZXZp
Y2UgMDAwMDowMDoxMi4yCj4gYWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0
ZWQKPiAKPiBhY3BpZDogaW5wdXQgZGV2aWNlIGhhcyBiZWVuIGRpc2Nvbm5lY3RlZAo+IAo+IGFj
cGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gKFhFTikgUENJIHJl
bW92ZSBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDow
MDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4y
Cj4gLgo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gYWNw
aWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQKPiAKPiAoWEVOKSBpb3BvcnRf
bWFwOmFkZDogZG9tMSBncG9ydD0zYjAgbXBvcnQ9M2IwIG5yPWMKPiAoWEVOKSBtZW1vcnlfbWFw
OmFkZDogZG9tMSBnZm49YTAgbWZuPWEwIG5yPTIwCj4gKFhFTikgaW9wb3J0X21hcDphZGQ6IGRv
bTEgZ3BvcnQ9M2MwIG1wb3J0PTNjMCBucj0zCj4gKFhFTikgaW9wb3J0X21hcDphZGQ6IGRvbTEg
Z3BvcnQ9M2M0IG1wb3J0PTNjNCBucj0xYwo+IChYRU4pIEhWTTE6IEhWTSBMb2FkZXIKPiAoWEVO
KSBIVk0xOiBEZXRlY3RlZCBYZW4gdjQuMi11bnN0YWJsZQo+IChYRU4pIEhWTTE6IFhlbmJ1cyBy
aW5ncyBAMHhmZWZmYzAwMCwgZXZlbnQgY2hhbm5lbCA4Cj4gKFhFTikgSFZNMTogU3lzdGVtIHJl
cXVlc3RlZCBST01CSU9TCj4gKFhFTikgSFZNMTogQ1BVIHNwZWVkIGlzIDMwMTAgTUh6Cj4gKFhF
TikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdlZCAwIC0+IDUKPiAoWEVOKSBIVk0x
OiBQQ0ktSVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJRNQo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQ
Q0kgbGluayAxIGNoYW5nZWQgMCAtPiAxMAo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAxIHJv
dXRlZCB0byBJUlExMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQg
MCAtPiAxMQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAyIHJvdXRlZCB0byBJUlExMQo+IChY
RU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAzIGNoYW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZN
MTogUENJLUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDAx
OjMgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDAzOjAgSU5UQS0+SVJRNQo+IChY
RU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBJTlRBLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAw
NTowIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNjowIElOVEItPklSUTUKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDA3OjAgSU5UQS0+SVJRNQo+IChYRU4pIEhWTTE6IHBjaSBkZXYg
MDg6MCBJTlRCLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDk6MCBJTlRBLT5JUlExMAo+
IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTAgc2l6ZSAxMDAwMDAwMDogZTAwMDAwMGMK
PiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yPTEwMDAw
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxNCBzaXplIDAxMDAwMDAwOiBmMDAwMDAw
OAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBiYXIgMTAgc2l6ZSAwMDAyMDAwMDogZjEwMDAw
MDAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwMjAgbWZuPWZlOWUwIG5yPTIw
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxOCBzaXplIDAwMDIwMDAwOiBmMTAyMDAw
NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAwMDogZjEwNDAw
MDAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6IGYxMDYw
MDA0Cj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDYwIG1mbj1mZTliYyBucj00
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwOTowIGJhciAxMCBzaXplIDAwMDA0MDAwOiBmMTA2NDAw
NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2NCBtZm49ZmUzZjggbnI9NAo+
IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBiYXIgMTAgc2l6ZSAwMDAwMTAwMDogZjEwNjgwMDAK
PiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUgMDAwMDEwMDA6IGYxMDY5MDAwCj4g
KFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDY5IG1mbj1mMDAwMCBucj0xCj4gKFhF
TikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxMCBzaXplIDAwMDAwMTAwOiAwMDAwYzAwMQo+IChY
RU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMjAgc2l6ZSAwMDAwMDEwMDogMDAwMGMxMDEKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgYmFyIDE0IHNpemUgMDAwMDAwNDA6IDAwMDBjMjAxCj4g
KFhFTikgSFZNMTogcGNpIGRldiAwMToxIGJhciAyMCBzaXplIDAwMDAwMDEwOiAwMDAwYzI0MQo+
IChYRU4pIEhWTTE6IE11bHRpcHJvY2Vzc29yIGluaXRpYWxpc2F0aW9uOgo+IChYRU4pIEhWTTE6
ICAtIENQVTAgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFsz
LzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTEgLi4uIDQ4LWJpdCBwaHlzIC4uLiBm
aXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAt
IENQVTIgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhd
IC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTMgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhl
ZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQ
VTQgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4u
LiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTUgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBN
VFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6IFRlc3Rpbmcg
SFZNIGVudmlyb25tZW50Ogo+IChYRU4pIEhWTTE6ICAtIFJFUCBJTlNCIGFjcm9zcyBwYWdlIGJv
dW5kYXJpZXMgLi4uIHBhc3NlZAo+IChYRU4pIEhWTTE6ICAtIEdTIGJhc2UgTVNScyBhbmQgU1dB
UEdTIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiBQYXNzZWQgMiBvZiAyIHRlc3RzCj4gKFhFTikg
SFZNMTogV3JpdGluZyBTTUJJT1MgdGFibGVzIC4uLgo+IChYRU4pIEhWTTE6IExvYWRpbmcgUk9N
QklPUyAuLi4KPiAoWEVOKSBIVk0xOiA5NjYwIGJ5dGVzIG9mIFJPTUJJT1MgaGlnaC1tZW1vcnkg
ZXh0ZW5zaW9uczoKPiAoWEVOKSBIVk0xOiAgIFJlbG9jYXRpbmcgdG8gMHhmYzAwMTAwMC0weGZj
MDAzNWJjIC4uLiBkb25lCj4gKFhFTikgSFZNMTogQ3JlYXRpbmcgTVAgdGFibGVzIC4uLgo+IChY
RU4pIEhWTTE6IExvYWRpbmcgVkdBQklPUyBvZiBwYXNzdGhyb3VnaGVkIGdmeCAuLi4KPiAoWEVO
KSBIVk0xOiBMb2FkaW5nIFBDSSBPcHRpb24gUk9NIC4uLgo+IChYRU4pIEhWTTE6ICAtIE1hbnVm
YWN0dXJlcjogaHR0cDovL2lweGUub3JnCj4gKFhFTikgSFZNMTogIC0gUHJvZHVjdCBuYW1lOiBp
UFhFCj4gKFhFTikgSFZNMTogT3B0aW9uIFJPTXM6Cj4gKFhFTikgSFZNMTogIGMwMDAwLWNmZmZm
OiBWR0EgQklPUwo+IChYRU4pIEhWTTE6ICBkMDAwMC1lMGZmZjogRXRoZXJib290IFJPTQo+IChY
RU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KPiAoWEVOKSBIVk0xOiB2bTg2IFRTUyBhdCBmYzAw
ZjcwMAo+IChYRU4pIEhWTTE6IEJJT1MgbWFwOgo+IChYRU4pIEhWTTE6ICBmMDAwMC1mZmZmZjog
TWFpbiBCSU9TCj4gKFhFTikgSFZNMTogRTgyMCB0YWJsZToKPiAoWEVOKSBIVk0xOiAgWzAwXTog
MDAwMDAwMDA6MDAwMDAwMDAgLSAwMDAwMDAwMDowMDA5ZTAwMDogUkFNCj4gKFhFTikgSFZNMTog
IFswMV06IDAwMDAwMDAwOjAwMDllMDAwIC0gMDAwMDAwMDA6MDAwYTAwMDA6IFJFU0VSVkVECj4g
KFhFTikgSFZNMTogIEhPTEU6IDAwMDAwMDAwOjAwMGEwMDAwIC0gMDAwMDAwMDA6MDAwZTAwMDAK
PiAoWEVOKSBIVk0xOiAgWzAyXTogMDAwMDAwMDA6MDAwZTAwMDAgLSAwMDAwMDAwMDowMDEwMDAw
MDogUkVTRVJWRUQKPiAoWEVOKSBIVk0xOiAgWzAzXTogMDAwMDAwMDA6MDAxMDAwMDAgLSAwMDAw
MDAwMDplMDAwMDAwMDogUkFNCj4gKFhFTikgSFZNMTogIEhPTEU6IDAwMDAwMDAwOmUwMDAwMDAw
IC0gMDAwMDAwMDA6ZmMwMDAwMDAKPiAoWEVOKSBIVk0xOiAgWzA0XTogMDAwMDAwMDA6ZmMwMDAw
MDAgLSAwMDAwMDAwMTowMDAwMDAwMDogUkVTRVJWRUQKPiAoWEVOKSBIVk0xOiAgWzA1XTogMDAw
MDAwMDE6MDAwMDAwMDAgLSAwMDAwMDAwMToyMDAwMDAwMDogUkFNCj4gKFhFTikgSFZNMTogSW52
b2tpbmcgUk9NQklPUyAuLi4KPiAoWEVOKSBIVk0xOiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6
IDIwMDgvMTIvMDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6IEJvY2hzIEJJT1MgLSBidWlsZDog
MDYvMjMvOTkKPiAoWEVOKSBIVk0xOiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIv
MDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6IE9wdGlvbnM6IGFwbWJpb3MgcGNpYmlvcyBlbHRv
cml0byBQTU0gCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogYXRhMC0wOiBQQ0hTPTE2Mzgz
LzE2LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTEwMjQvMjU1LzYzCj4gKFhFTikgSFZNMTogYXRh
MCBtYXN0ZXI6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1EaXNrICgyMDQ4MCBNQnl0ZXMpCj4g
KFhFTikgSFZNMTogYXRhMC0xOiBQQ0hTPTE2MzgzLzE2LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hT
PTEwMjQvMjU1LzYzCj4gKFhFTikgSFZNMTogYXRhMCAgc2xhdmU6IFFFTVUgSEFSRERJU0sgQVRB
LTcgSGFyZC1EaXNrICg1MTIwMCBNQnl0ZXMpCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTog
Cj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogUHJlc3MgRjEyIGZvciBib290IG1lbnUuCj4g
KFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogQm9vdGluZyBmcm9tIEhhcmQgRGlzay4uLgo+IChY
RU4pIEhWTTE6IEJvb3RpbmcgZnJvbSAwMDAwOjdjMDAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEg
UENJIGxpbmsgMCBjaGFuZ2VkIDUgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGlu
ayAxIGNoYW5nZWQgMTAgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAyIGNo
YW5nZWQgMTEgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAzIGNoYW5nZWQg
NSAtPiAwCj4gKFhFTikgbWVtb3J5X21hcDpyZW1vdmU6IGRvbTEgZ2ZuPWUwMDAwIG1mbj1kMDAw
MCBucj0xMDAwMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTAyMCBtZm49
ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZTAwMDAgbWZuPWQw
MDAwIG5yPTEwMDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDIwIG1mbj1m
ZTllMCBucj0yMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2MCBtZm49
ZmU5YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2MCBtZm49ZmU5
YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2OCBtZm49ZmUz
ZjcgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2OCBtZm49ZmUzZjcg
bnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2OSBtZm49ZjAwMDAg
bnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2OSBtZm49ZjAwMDAgbnI9
MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2NCBtZm49ZmUzZjggbnI9
NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2NCBtZm49ZmUzZjggbnI9NAo+
IChYRU4pIGdyYW50X3RhYmxlLmM6MTE3NDpkMSBFeHBhbmRpbmcgZG9tICgxKSBncmFudCB0YWJs
ZSBmcm9tICg0KSB0byAoMzIpIGZyYW1lcy4KPiAoWEVOKSBpcnEuYzozNTA6IERvbTEgY2FsbGJh
Y2sgdmlhIGNoYW5nZWQgdG8gR1NJIDI4Cj4gKFhFTikgRG9tYWluIDAgY3Jhc2hlZDogcmVib290
aW5nIG1hY2hpbmUgaW4gNSBzZWNvbmRzLgo+ICBfXyAgX18gICAgICAgICAgICBfICBfICAgIF9f
X18gICAgICAgICAgICAgICAgICAgICBfICAgICAgICBfICAgICBfICAgICAgCj4gIFwgXC8gL19f
XyBfIF9fICAgfCB8fCB8ICB8X19fIFwgICAgXyAgIF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18g
fCB8IF9fXyAKPiAgIFwgIC8vIF8gXCAnXyBcICB8IHx8IHxfICAgX18pIHxfX3wgfCB8IHwgJ18g
XC8gX198IF9fLyBfYCB8ICdfIFx8IHwvIF8gXAo+ICAgLyAgXCAgX18vIHwgfCB8IHxfXyAgIF98
IC8gX18vfF9ffCB8X3wgfCB8IHwgXF9fIFwgfHwgKF98IHwgfF8pIHwgfCAgX18vCj4gIC9fL1xf
XF9fX3xffCB8X3wgICAgfF98KF8pX19fX198ICAgXF9fLF98X3wgfF98X19fL1xfX1xfXyxffF8u
X18vfF98XF9fX3wKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11
bnN0YWJsZSAocm9vdEAobm9uZSkpIChnY2MgdmVyc2lvbiA0LjQuNSAoRGViaWFuIDQuNC41LTgp
ICkgU2F0IE1heSAgNSAxNTo0ODo0OCBDRVNUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0
OiBGcmkgTWF5IDA0IDExOjE4OjQ4IDIwMTIgKzAxMDAgMjUyNTk6MGY1MzU0MDQ5NGY3Cj4gKFhF
TikgQ29uc29sZSBvdXRwdXQgaXMgc3luY2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JV
QiAxLjk4KzIwMTAwODA0LTE0K3NxdWVlemUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhv
bGRlciBkb20wX21lbT0yRyBkb20wX21heF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZs
PWFsbCBzeW5jX2NvbnNvbGUgY29tMT0xMTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAo
WEVOKSBWaWRlbyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwg
Zm9udCA4eDE2Cj4gKFhFTikgIFZCRS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGlt
ZTogMSBzZWNvbmRzCj4gKFhFTikgRGlzYyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBN
QlIgc2lnbmF0dXJlcwo+IChYRU4pICBGb3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVz
Cj4gKFhFTikgWGVuLWU4MjAgUkFNIG1hcDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAw
MDAwMDAwMDAwOWFjMDAgKHVzYWJsZSkKPiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAw
MDAwMDAwYTAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAw
MDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4gKFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAw
MGNmZTgwMDAwICh1c2FibGUpCj4gKFhFTikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNm
ZTk4MDAwIChBQ1BJIGRhdGEpCj4gKFhFTikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNm
ZWMwMDAwIChBQ1BJIE5WUykKPiAoWEVOKSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2Zm
MDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAw
MDAwMCAocmVzZXJ2ZWQpCj4gKFhFTikgIDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAw
MDAwICh1c2FibGUpCj4gKFhFTikgQUNQSTogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFN
KQo+IChYRU4pIEFDUEk6IFhTRFQgQ0ZFODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAy
MDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQg
KHIzIDEwMjgxMSBGQUNQMTc0MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6
IERTRFQgQ0ZFODA0NzAsIEU2RTMgKHIxICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIw
MDYwMTEzKQo+IChYRU4pIEFDUEk6IEZBQ1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBB
UElDIENGRTgwMzkwLCAwMDk4IChyMSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAg
ICA5NykKPiAoWEVOKSBBQ1BJOiBNQ0ZHIENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNG
RyAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAw
MDcyIChyMSAxMDI4MTEgT0VNQjE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBB
Q1BJOiBIUEVUIENGRThGOEMwLCAwMDM4IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNG
VCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAg
ICBSRDg5MFMgICAyMDIwMzEgQU1EICAgICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThG
OUUwLCAwRTEwIChyMSBBIE0gSSAgUE9XRVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAo
WEVOKSBTeXN0ZW0gUkFNOiA4MTkwTUIgKDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZp
Z3VyYXRpb24gZm91bmQKPiAoWEVOKSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAt
MDAwMDAwMDIzMDAwMDAwMAo+IChYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikg
Zm91bmQgU01QIE1QLXRhYmxlIGF0IDAwMGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhF
TikgVXNpbmcgQVBJQyBkcml2ZXIgZGVmYXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBv
cnQ6IDB4ODA4Cj4gKFhFTikgQUNQSTogQUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0s
IHBtMXhfZXZ0WzgwMCwwXQo+IChYRU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3Zl
Y1tjZmU5ODAwY10sIHZlY19zaXplWzIwXQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVz
cyAweGZlZTAwMDAwCj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRb
MHgwMF0gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYK
PiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVk
KQo+IChYRU4pIFByb2Nlc3NvciAjMSAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6
IExBUElDIChhY3BpX2lkWzB4MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJv
Y2Vzc29yICMyIDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlf
aWRbMHgwNF0gbGFwaWNfaWRbMHgwM10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDox
MCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBp
Y19pZFsweDA0XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lv
biAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVu
YWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikg
QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwN10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhF
TikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4g
KFhFTikgQUNQSTogSU9BUElDIChpZFsweDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNl
WzBdKQo+IChYRU4pIElPQVBJQ1swXTogYXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4
ZmVjMDAwMDAsIEdTSSAwLTIzCj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNz
WzB4ZmVjMjAwMDBdIGdzaV9iYXNlWzI0XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywg
dmVyc2lvbiAzMywgYWRkcmVzcyAweGZlYzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJ
TlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4p
IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZl
bCkKPiAoWEVOKSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJR
MiB1c2VkIGJ5IG92ZXJyaWRlLgo+IChYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4K
PiAoWEVOKSBFbmFibGluZyBBUElDIG1vZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAo
WEVOKSBBQ1BJOiBIUEVUIGlkOiAweDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFRhYmxl
IGlzIG5vdCBmb3VuZCEKPiAoWEVOKSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3Vy
YXRpb24gaW5mb3JtYXRpb24KPiAoWEVOKSBTTVA6IEFsbG93aW5nIDggQ1BVcyAoMiBob3RwbHVn
IENQVXMpCj4gKFhFTikgSVJRIGxpbWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4p
IFVzaW5nIHNjaGVkdWxlcjogU01QIENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBE
ZXRlY3RlZCAzMDEwLjI1NCBNSHogcHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNo
YXJpbmcuCj4gKFhFTikgQU1EIEZhbTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVk
Cj4gKFhFTikgUENJOiBNQ0ZHIGNvbmZpZ3VyYXRpb24gMDogYmFzZSBlMDAwMDAwMCBzZWdtZW50
IDAwMDAgYnVzZXMgMDAgLSBmZgo+IChYRU4pIFBDSTogTm90IHVzaW5nIE1DRkcgZm9yIHNlZ21l
bnQgMDAwMCBidXMgMDAtZmYKPiAoWEVOKSBBTUQtVmk6IElPTU1VIDAgRW5hYmxlZC4KPiAoWEVO
KSBBTUQtVmk6IEVuYWJsaW5nIGdsb2JhbCB2ZWN0b3IgbWFwCj4gKFhFTikgSS9PIHZpcnR1YWxp
c2F0aW9uIGVuYWJsZWQKPiAoWEVOKSAgLSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFC
TElORyBJTy1BUElDIElSUXMKPiAoWEVOKSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVO
KSAuLlRJTUVSOiB2ZWN0b3I9MHhGMCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4g
KFhFTikgUGxhdGZvcm0gdGltZXIgaXMgMTQuMzE4TUh6IEhQRVQKPiAoWEVOKSBBbGxvY2F0ZWQg
Y29uc29sZSByaW5nIG9mIDY0IEtpQi4KPiAoWEVOKSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhF
TikgU1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBh
Z2UgVGFibGVzIChOUFQpCj4gKFhFTikgIC0gTGFzdCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1
YWxpc2F0aW9uCj4gKFhFTikgIC0gTmV4dC1SSVAgU2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAt
IFBhdXNlLUludGVyY2VwdCBGaWx0ZXIKPiAoWEVOKSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikg
SFZNOiBIYXJkd2FyZSBBc3Npc3RlZCBQYWdpbmcgKEhBUCkgZGV0ZWN0ZWQKPiAoWEVOKSBIVk06
IEhBUCBwYWdlIHNpemVzOiA0a0IsIDJNQiwgMUdCCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0
X2NwdV9pbmZvOiBwYXRjaF9pZD0weDEwMDAwYmYKPiAoWEVOKSBtaWNyb2NvZGU6IGNvbGxlY3Rf
Y3B1X2luZm86IHBhdGNoX2lkPTB4MTAwMDBiZgo+IChYRU4pIG1pY3JvY29kZTogY29sbGVjdF9j
cHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2Nw
dV9pbmZvOiBwYXRjaF9pZD0weDEwMDAwYmYKPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChY
RU4pIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhF
TikgSFBFVCdzIE1TSSBtb2RlIGhhc24ndCBiZWVuIHN1cHBvcnRlZCB3aGVuIEludGVycnVwdCBS
ZW1hcHBpbmcgaXMgZW5hYmxlZC4KPiAoWEVOKSBBQ1BJIHNsZWVwIG1vZGVzOiBTMwo+IChYRU4p
IE1DQTogVXNlIGh3IHRocmVzaG9sZGluZyB0byBhZGp1c3QgcG9sbGluZyBmcmVxdWVuY3kKPiAo
WEVOKSBtY2hlY2tfcG9sbDogTWFjaGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCj4g
KFhFTikgWGVub3Byb2ZpbGU6IEZhaWxlZCB0byBzZXR1cCBJQlMgTFZUIG9mZnNldCwgSUJTQ1RM
ID0gMHhmZmZmZmZmZgo+IChYRU4pICoqKiBMT0FESU5HIERPTUFJTiAwICoqKgo+IChYRU4pIGVs
Zl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weDVkMzAwMAo+IChY
RU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTVkMzAwMCBtZW1zej0weDZlMGU4
Cj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxNjQyMDAwIG1lbXN6PTB4
MTI5ODAKPiAoWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE2NTUwMDAgbWVt
c3o9MHg0ZmYwMDAKPiAoWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBtZW1vcnk6IDB4MTAwMDAwMCAt
PiAweDFiNTQwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4
Igo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogR1VFU1RfVkVSU0lPTiA9ICIyLjYiCj4gKFhF
TikgZWxmX3hlbl9wYXJzZV9ub3RlOiBYRU5fVkVSU0lPTiA9ICJ4ZW4tMy4wIgo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogVklSVF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikg
ZWxmX3hlbl9wYXJzZV9ub3RlOiBFTlRSWSA9IDB4ZmZmZmZmZmY4MTY1NTIwMAo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogSFlQRVJDQUxMX1BBR0UgPSAweGZmZmZmZmZmODEwMDEwMDAKPiAo
WEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxl
c3xwYWVfcGdkaXJfYWJvdmVfNGdiIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFFX01P
REUgPSAieWVzIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogTE9BREVSID0gImdlbmVyaWMi
Cj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQo+
IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogU1VTUEVORF9DQU5DRUwgPSAweDEKPiAoWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IEhWX1NUQVJUX0xPVyA9IDB4ZmZmZjgwMDAwMDAwMDAwMAo+IChY
RU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFERFJfT0ZGU0VUID0gMHgwCj4gKFhFTikgZWxmX3hl
bl9hZGRyX2NhbGNfY2hlY2s6IGFkZHJlc3NlczoKPiAoWEVOKSAgICAgdmlydF9iYXNlICAgICAg
ICA9IDB4ZmZmZmZmZmY4MDAwMDAwMAo+IChYRU4pICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgw
Cj4gKFhFTikgICAgIHZpcnRfb2Zmc2V0ICAgICAgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVO
KSAgICAgdmlydF9rc3RhcnQgICAgICA9IDB4ZmZmZmZmZmY4MTAwMDAwMAo+IChYRU4pICAgICB2
aXJ0X2tlbmQgICAgICAgID0gMHhmZmZmZmZmZjgxYjU0MDAwCj4gKFhFTikgICAgIHZpcnRfZW50
cnkgICAgICAgPSAweGZmZmZmZmZmODE2NTUyMDAKPiAoWEVOKSAgICAgcDJtX2Jhc2UgICAgICAg
ICA9IDB4ZmZmZmZmZmZmZmZmZmZmZgo+IChYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2Is
IGNvbXBhdDMyCj4gKFhFTikgIERvbTAga2VybmVsOiA2NC1iaXQsIFBBRSwgbHNiLCBwYWRkciAw
eDEwMDAwMDAgLT4gMHgxYjU0MDAwCj4gKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5U
Ogo+IChYRU4pICBEb20wIGFsbG9jLjogICAwMDAwMDAwMjI0MDAwMDAwLT4wMDAwMDAwMjI4MDAw
MDAwICg1MDYzMDggcGFnZXMgdG8gYmUgYWxsb2NhdGVkKQo+IChYRU4pICBJbml0LiByYW1kaXNr
OiAwMDAwMDAwMjJmOWM0MDAwLT4wMDAwMDAwMjJmZmZmMjAwCj4gKFhFTikgVklSVFVBTCBNRU1P
UlkgQVJSQU5HRU1FTlQ6Cj4gKFhFTikgIExvYWRlZCBrZXJuZWw6IGZmZmZmZmZmODEwMDAwMDAt
PmZmZmZmZmZmODFiNTQwMDAKPiAoWEVOKSAgSW5pdC4gcmFtZGlzazogZmZmZmZmZmY4MWI1NDAw
MC0+ZmZmZmZmZmY4MjE4ZjIwMAo+IChYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgyMTkw
MDAwLT5mZmZmZmZmZjgyNTkwMDAwCj4gKFhFTikgIFN0YXJ0IGluZm86ICAgIGZmZmZmZmZmODI1
OTAwMDAtPmZmZmZmZmZmODI1OTA0YjQKPiAoWEVOKSAgUGFnZSB0YWJsZXM6ICAgZmZmZmZmZmY4
MjU5MTAwMC0+ZmZmZmZmZmY4MjVhODAwMAo+IChYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZm
ZjgyNWE4MDAwLT5mZmZmZmZmZjgyNWE5MDAwCj4gKFhFTikgIFRPVEFMOiAgICAgICAgIGZmZmZm
ZmZmODAwMDAwMDAtPmZmZmZmZmZmODI4MDAwMDAKPiAoWEVOKSAgRU5UUlkgQUREUkVTUzogZmZm
ZmZmZmY4MTY1NTIwMAo+IChYRU4pIERvbTAgaGFzIG1heGltdW0gNiBWQ1BVcwo+IChYRU4pIGVs
Zl9sb2FkX2JpbmFyeTogcGhkciAwIGF0IDB4ZmZmZmZmZmY4MTAwMDAwMCAtPiAweGZmZmZmZmZm
ODE1ZDMwMDAKPiAoWEVOKSBlbGZfbG9hZF9iaW5hcnk6IHBoZHIgMSBhdCAweGZmZmZmZmZmODE1
ZDMwMDAgLT4gMHhmZmZmZmZmZjgxNjQxMGU4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRy
IDIgYXQgMHhmZmZmZmZmZjgxNjQyMDAwIC0+IDB4ZmZmZmZmZmY4MTY1NDk4MAo+IChYRU4pIGVs
Zl9sb2FkX2JpbmFyeTogcGhkciAzIGF0IDB4ZmZmZmZmZmY4MTY1NTAwMCAtPiAweGZmZmZmZmZm
ODE2Y2MwMDAKPiAoWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChYRU4pIElu
aXRpYWwgbG93IG1lbW9yeSB2aXJxIHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgo+IChY
RU4pIFN0ZC4gTG9nbGV2ZWw6IEFsbAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVO
KSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikg
KioqKioqKiBXQVJOSU5HOiBDT05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoq
KioqKiogVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkg
ZW5zdXJpbmcKPiAoWEVOKSAqKioqKioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5
IGRlbGl2ZXJlZCBvbiB0aGUgc2VyaWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0
IGNhbiBpbnRyb2R1Y2UgU0lHTklGSUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAq
KioqKioqIHRpbWVrZWVwaW5nLiBJdCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24g
dXNlIQo+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKPiAoWEVOKSAzLi4uIDIuLi4gMS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERP
TTAgKHR5cGUgJ0NUUkwtYScgdGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAo
WEVOKSBGcmVlZCAyNTZrQiBpbml0IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNp
Y2FsIG1lbW9yeQo+IFhlbjogc2V0dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQg
c3RhcnRlZC4uLgo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGNwdXNldAo+IEluaXRpYWxp
emluZyBjZ3JvdXAgc3Vic3lzIGNwdQo+IExpbnV4IHZlcnNpb24gMy40LjAtcmM0LTAwMzk1LWc4
N2I1ZDkwLWRpcnR5IChyb290QHhlbikgKGdjYyB2ZXJzaW9uIDQuNC41IChEZWJpYW4gNC40LjUt
OCkgKSAjNyBTTVAgUFJFRU1QVCBNb24gTWF5IDcgMTM6MTY6MTAgQ0VTVCAyMDEyCj4gQ29tbWFu
ZCBsaW5lOiBwbGFjZWhvbGRlciByb290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09
MkcgcGFuaWM9MTUgeGVuLXBjaWJhY2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5
cHJpbnRrPXhlbgo+IEZyZWVpbmcgOWEtMTAwIHBmbiByYW5nZTogMTAyIHBhZ2VzIGZyZWVkCj4g
UmVsZWFzZWQgMTAyIHBhZ2VzIG9mIHVudXNlZCBtZW1vcnkKPiBTZXQgMTk3MDk0IHBhZ2Uocykg
dG8gMS0xIG1hcHBpbmcKPiBQb3B1bGF0aW5nIDgwMDAwLTgwMDY2IHBmbiByYW5nZTogMTAyIHBh
Z2VzIGFkZGVkCj4gQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICBYZW46IDAwMDAw
MDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAwMDlhMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDAw
MDA5YWMwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwMDAx
MDAwMDAgLSAwMDAwMDAwMDgwMDY2MDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDA4MDA2NjAw
MCAtIDAwMDAwMDAwY2ZlODAwMDAgKHVudXNhYmxlKQo+ICBYZW46IDAwMDAwMDAwY2ZlODAwMDAg
LSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4gIFhlbjogMDAwMDAwMDBjZmU5ODAwMCAt
IDAwMDAwMDAwY2ZlYzAwMDAgKEFDUEkgTlZTKQo+ICBYZW46IDAwMDAwMDAwY2ZlYzAwMDAgLSAw
MDAwMDAwMGNmZjAwMDAwIChyZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZlYzAwMDAwIC0gMDAw
MDAwMDBmZWMwMTAwMCAocmVzZXJ2ZWQpCj4gIFhlbjogMDAwMDAwMDBmZWMyMDAwMCAtIDAwMDAw
MDAwZmVjMjEwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwZmVlMDAwMDAgLSAwMDAwMDAw
MGZlZTAxMDAwIChyZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEw
MDAwMDAwMCAocmVzZXJ2ZWQpCj4gIFhlbjogMDAwMDAwMDEwMDAwMDAwMCAtIDAwMDAwMDAyMzAw
MDAwMDAgKHVudXNhYmxlKQo+IGJvb3Rjb25zb2xlIFt4ZW5ib290MF0gZW5hYmxlZAo+IE5YIChF
eGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFjdGl2ZQo+IHVzZXItZGVmaW5lZCBwaHlzaWNh
bCBSQU0gbWFwOgo+ICB1c2VyOiAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5YTAwMCAo
dXNhYmxlKQo+ICB1c2VyOiAwMDAwMDAwMDAwMDlhYzAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVz
ZXJ2ZWQpCj4gIHVzZXI6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDAwMDAwICh1c2Fi
bGUpCj4gIHVzZXI6IDAwMDAwMDAwODAwNjYwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1bnVzYWJs
ZSkKPiAgdXNlcjogMDAwMDAwMDBjZmU4MDAwMCAtIDAwMDAwMDAwY2ZlOTgwMDAgKEFDUEkgZGF0
YSkKPiAgdXNlcjogMDAwMDAwMDBjZmU5ODAwMCAtIDAwMDAwMDAwY2ZlYzAwMDAgKEFDUEkgTlZT
KQo+ICB1c2VyOiAwMDAwMDAwMGNmZWMwMDAwIC0gMDAwMDAwMDBjZmYwMDAwMCAocmVzZXJ2ZWQp
Cj4gIHVzZXI6IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAxMDAwIChyZXNlcnZlZCkK
PiAgdXNlcjogMDAwMDAwMDBmZWMyMDAwMCAtIDAwMDAwMDAwZmVjMjEwMDAgKHJlc2VydmVkKQo+
ICB1c2VyOiAwMDAwMDAwMGZlZTAwMDAwIC0gMDAwMDAwMDBmZWUwMTAwMCAocmVzZXJ2ZWQpCj4g
IHVzZXI6IDAwMDAwMDAwZmZlMDAwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkKPiAg
dXNlcjogMDAwMDAwMDEwMDAwMDAwMCAtIDAwMDAwMDAyMzAwMDAwMDAgKHVudXNhYmxlKQo+IERN
SSBwcmVzZW50Lgo+IE5vIEFHUCBicmlkZ2UgZm91bmQKPiBsYXN0X3BmbiA9IDB4ODAwMDAgbWF4
X2FyY2hfcGZuID0gMHg0MDAwMDAwMDAKPiBmb3VuZCBTTVAgTVAtdGFibGUgYXQgW2ZmZmY4ODAw
MDAwZmY3ODBdIGZmNzgwCj4gaW5pdF9tZW1vcnlfbWFwcGluZzogMDAwMDAwMDAwMDAwMDAwMC0w
MDAwMDAwMDgwMDAwMDAwCj4gUkFNRElTSzogMDFiNTQwMDAgLSAwMjE5MDAwMAo+IEFDUEk6IFJT
RFAgMDAwMDAwMDAwMDBmYmYyMCAwMDAyNCAodjAyIEFDUElBTSkKPiBBQ1BJOiBYU0RUIDAwMDAw
MDAwY2ZlODAxMDAgMDAwNUMgKHYwMSAxMDI4MTEgWFNEVDE3NDAgMjAxMTEwMjggTVNGVCAwMDAw
MDA5NykKPiBBQ1BJOiBGQUNQIDAwMDAwMDAwY2ZlODAyOTAgMDAwRjQgKHYwMyAxMDI4MTEgRkFD
UDE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBEU0RUIDAwMDAwMDAwY2ZlODA0
NzAgMEU2RTMgKHYwMSAgQTE1OTUgQTE1OTUwMDAgMDAwMDAwMDAgSU5UTCAyMDA2MDExMykKPiBB
Q1BJOiBGQUNTIDAwMDAwMDAwY2ZlOTgwMDAgMDAwNDAKPiBBQ1BJOiBBUElDIDAwMDAwMDAwY2Zl
ODAzOTAgMDAwOTggKHYwMSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykK
PiBBQ1BJOiBNQ0ZHIDAwMDAwMDAwY2ZlODA0MzAgMDAwM0MgKHYwMSAxMDI4MTEgT0VNTUNGRyAg
MjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBPRU1CIDAwMDAwMDAwY2ZlOTgwNDAgMDAw
NzIgKHYwMSAxMDI4MTEgT0VNQjE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBI
UEVUIDAwMDAwMDAwY2ZlOGY4YzAgMDAwMzggKHYwMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjgg
TVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBJVlJTIDAwMDAwMDAwY2ZlOGY5MDAgMDAwRTAgKHYwMSAg
QU1EICAgICBSRDg5MFMgMDAyMDIwMzEgQU1EICAwMDAwMDAwMCkKPiBBQ1BJOiBTU0RUIDAwMDAw
MDAwY2ZlOGY5ZTAgMDBFMTAgKHYwMSBBIE0gSSAgUE9XRVJOT1cgMDAwMDAwMDEgQU1EICAwMDAw
MDAwMSkKPiBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiBGYWtpbmcgYSBub2RlIGF0IDAw
MDAwMDAwMDAwMDAwMDAtMDAwMDAwMDA4MDAwMDAwMAo+IEluaXRtZW0gc2V0dXAgbm9kZSAwIDAw
MDAwMDAwMDAwMDAwMDAtMDAwMDAwMDA4MDAwMDAwMAo+ICAgTk9ERV9EQVRBIFswMDAwMDAwMDdm
ZmZjMDAwIC0gMDAwMDAwMDA3ZmZmZmZmZl0KPiBab25lIFBGTiByYW5nZXM6Cj4gICBETUEgICAg
ICAweDAwMDAwMDEwIC0+IDB4MDAwMDEwMDAKPiAgIERNQTMyICAgIDB4MDAwMDEwMDAgLT4gMHgw
MDEwMDAwMAo+ICAgTm9ybWFsICAgZW1wdHkKPiBNb3ZhYmxlIHpvbmUgc3RhcnQgUEZOIGZvciBl
YWNoIG5vZGUKPiBFYXJseSBtZW1vcnkgUEZOIHJhbmdlcwo+ICAgICAwOiAweDAwMDAwMDEwIC0+
IDB4MDAwMDAwOWEKPiAgICAgMDogMHgwMDAwMDEwMCAtPiAweDAwMDgwMDAwCj4gQUNQSTogUE0t
VGltZXIgSU8gUG9ydDogMHg4MDgKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19p
ZFsweDAwXSBlbmFibGVkKQo+IEJJT1MgYnVnOiBBUElDIHZlcnNpb24gaXMgMCBmb3IgQ1BVIDAv
MHgwLCBmaXhpbmcgdXAgdG8gMHgxMAo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDJdIGxhcGlj
X2lkWzB4MDFdIGVuYWJsZWQpCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwM10gbGFwaWNfaWRb
MHgwMl0gZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA0XSBsYXBpY19pZFsweDAz
XSBlbmFibGVkKQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDVdIGxhcGljX2lkWzB4MDRdIGVu
YWJsZWQpCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNl0gbGFwaWNfaWRbMHgwNV0gZW5hYmxl
ZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA3XSBsYXBpY19pZFsweDg2XSBkaXNhYmxlZCkK
PiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA4XSBsYXBpY19pZFsweDg3XSBkaXNhYmxlZCkKPiBB
Q1BJOiBJT0FQSUMgKGlkWzB4MDZdIGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCj4g
SU9BUElDWzBdOiBhcGljX2lkIDYsIHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdT
SSAwLTI1Mwo+IEFDUEk6IElPQVBJQyAoaWRbMHgwN10gYWRkcmVzc1sweGZlYzIwMDAwXSBnc2lf
YmFzZVsyNF0pCj4gSU9BUElDWzFdOiBhcGljX2lkIDcsIHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4
ZmVjMjAwMDAsIEdTSSAyNC0yNzcKPiBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAw
IGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJx
IDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNv
bmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KPiBBQ1BJOiBIUEVUIGlkOiAweDgzMDAgYmFzZTogMHhm
ZWQwMDAwMAo+IDggUHJvY2Vzc29ycyBleGNlZWRzIE5SX0NQVVMgbGltaXQgb2YgNgo+IFNNUDog
QWxsb3dpbmcgNiBDUFVzLCAwIGhvdHBsdWcgQ1BVcwo+IEFsbG9jYXRpbmcgUENJIHJlc291cmNl
cyBzdGFydGluZyBhdCBjZmYwMDAwMCAoZ2FwOiBjZmYwMDAwMDoyZWQwMDAwMCkKPiBCb290aW5n
IHBhcmF2aXJ0dWFsaXplZCBrZXJuZWwgb24gWGVuCj4gWGVuIHZlcnNpb246IDQuMi11bnN0YWJs
ZSAocHJlc2VydmUtQUQpCj4gc2V0dXBfcGVyY3B1OiBOUl9DUFVTOjYgbnJfY3B1bWFza19iaXRz
OjYgbnJfY3B1X2lkczo2IG5yX25vZGVfaWRzOjEKPiBQRVJDUFU6IEVtYmVkZGVkIDI2IHBhZ2Vz
L2NwdSBAZmZmZjg4MDA3ZmY0YzAwMCBzNzYxNjAgcjgxOTIgZDIyMTQ0IHUxMDY0OTYKPiBCdWls
dCAxIHpvbmVsaXN0cyBpbiBOb2RlIG9yZGVyLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFs
IHBhZ2VzOiA1MTU5NzYKPiBQb2xpY3kgem9uZTogRE1BMzIKPiBLZXJuZWwgY29tbWFuZCBsaW5l
OiBwbGFjZWhvbGRlciByb290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFu
aWM9MTUgeGVuLXBjaWJhY2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRr
PXhlbgo+IFBJRCBoYXNoIHRhYmxlIGVudHJpZXM6IDQwOTYgKG9yZGVyOiAzLCAzMjc2OCBieXRl
cykKPiBQbGFjaW5nIDY0TUIgc29mdHdhcmUgSU8gVExCIGJldHdlZW4gZmZmZjg4MDA3OTYwMDAw
MCAtIGZmZmY4ODAwN2Q2MDAwMDAKPiBzb2Z0d2FyZSBJTyBUTEIgYXQgcGh5cyAweDc5NjAwMDAw
IC0gMHg3ZDYwMDAwMAo+IE1lbW9yeTogMTk3NTA2NGsvMjA5NzE1MmsgYXZhaWxhYmxlICg0NTY3
ayBrZXJuZWwgY29kZSwgNDcyayBhYnNlbnQsIDEyMTYxNmsgcmVzZXJ2ZWQsIDE4MzNrIGRhdGEs
IDUzMmsgaW5pdCkKPiBTTFVCOiBHZW5zbGFicz0xNSwgSFdhbGlnbj02NCwgT3JkZXI9MC0zLCBN
aW5PYmplY3RzPTAsIENQVXM9NiwgTm9kZXM9MQo+IFByZWVtcHRpYmxlIGhpZXJhcmNoaWNhbCBS
Q1UgaW1wbGVtZW50YXRpb24uCj4gCUR1bXAgc3RhY2tzIG9mIHRhc2tzIGJsb2NraW5nIFJDVS1w
cmVlbXB0IEdQLgo+IE5SX0lSUVM6NDM1MiBucl9pcnFzOjE1MzYgMTYKPiB4ZW46IHNjaSBvdmVy
cmlkZTogZ2xvYmFsX2lycT05IHRyaWdnZXI9MCBwb2xhcml0eT0xCj4geGVuOiBhY3BpIHNjaSA5
Cj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA5IGZvciBnc2kgOQo+IENvbnNvbGU6
IGNvbG91ciBWR0ErIDgweDI1Cj4gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUg
ZGlzYWJsZWQKPiBjb25zb2xlIFtodmMwXSBlbmFibGVkLCBib290Y29uc29sZSBkaXNhYmxlZAo+
IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMAo+IERldGVjdGVkIDMwMTAuMjU0IE1IeiBw
cm9jZXNzb3IuCj4gQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1
bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNjAyMC41MCBCb2dvTUlQUyAobHBqPTMwMTAy
NTQpCj4gcGlkX21heDogZGVmYXVsdDogMzI3NjggbWluaW11bTogMzAxCj4gRGVudHJ5IGNhY2hl
IGhhc2ggdGFibGUgZW50cmllczogMjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKPiBJ
bm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYg
Ynl0ZXMpCj4gTW91bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKPiBJbml0aWFsaXpp
bmcgY2dyb3VwIHN1YnN5cyBkZXZpY2VzCj4gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZnJl
ZXplcgo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGJsa2lvCj4gQ1BVOiBQaHlzaWNhbCBQ
cm9jZXNzb3IgSUQ6IDAKPiBDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAwCj4gbWNlOiBDUFUgc3Vw
cG9ydHMgNiBNQ0UgYmFua3MKPiBBQ1BJOiBDb3JlIHJldmlzaW9uIDIwMTIwMzIwCj4gY3B1IDAg
c3BpbmxvY2sgZXZlbnQgaXJxIDI5NQo+IFBlcmZvcm1hbmNlIEV2ZW50czogKFhFTikgdHJhcHMu
YzoyNTYxOmQwIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4
MDAwMGU0YTc1ZGY4NjUxNCB0byAweDAwMDAwMDAwMDAwMGFiY2QuCj4gQnJva2VuIFBNVSBoYXJk
d2FyZSBkZXRlY3RlZCwgdXNpbmcgc29mdHdhcmUgZXZlbnRzIG9ubHkuCj4gTUNFOiBJbi1rZXJu
ZWwgTUNFIGRlY29kaW5nIGVuYWJsZWQuCj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAx
Cj4gY3B1IDEgc3BpbmxvY2sgZXZlbnQgaXJxIDMwMgo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZv
ciBDUFUgMgo+IGNwdSAyIHNwaW5sb2NrIGV2ZW50IGlycSAzMDkKPiBpbnN0YWxsaW5nIFhlbiB0
aW1lciBmb3IgQ1BVIDMKPiBjcHUgMyBzcGlubG9jayBldmVudCBpcnEgMzE2Cj4gaW5zdGFsbGlu
ZyBYZW4gdGltZXIgZm9yIENQVSA0Cj4gY3B1IDQgc3BpbmxvY2sgZXZlbnQgaXJxIDMyMwo+IGlu
c3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgNQo+IGNwdSA1IHNwaW5sb2NrIGV2ZW50IGlycSAz
MzAKPiBCcm91Z2h0IHVwIDYgQ1BVcwo+IGRldnRtcGZzOiBpbml0aWFsaXplZAo+IEdyYW50IHRh
YmxlcyB1c2luZyB2ZXJzaW9uIDIgbGF5b3V0Lgo+IEdyYW50IHRhYmxlIGluaXRpYWxpemVkCj4g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgo+IFRPTTogMDAwMDAwMDBkMDAwMDAw
MCBha2EgMzMyOE0KPiBUT00yOiAwMDAwMDAwMjMwMDAwMDAwIGFrYSA4OTYwTQo+IEFDUEk6IGJ1
cyB0eXBlIHBjaSByZWdpc3RlcmVkCj4gUENJOiBNTUNPTkZJRyBmb3IgZG9tYWluIDAwMDAgW2J1
cyAwMC1mZl0gYXQgW21lbSAweGUwMDAwMDAwLTB4ZWZmZmZmZmZdIChiYXNlIDB4ZTAwMDAwMDAp
Cj4gUENJOiBub3QgdXNpbmcgTU1DT05GSUcKPiBQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlw
ZSAxIGZvciBiYXNlIGFjY2Vzcwo+IFBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9y
IGV4dGVuZGVkIGFjY2Vzcwo+IGJpbzogY3JlYXRlIHNsYWIgPGJpby0wPiBhdCAwCj4gQUNQSTog
QWRkZWQgX09TSShNb2R1bGUgRGV2aWNlKQo+IEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIERl
dmljZSkKPiBBQ1BJOiBBZGRlZCBfT1NJKDMuMCBfU0NQIEV4dGVuc2lvbnMpCj4gQUNQSTogQWRk
ZWQgX09TSShQcm9jZXNzb3IgQWdncmVnYXRvciBEZXZpY2UpCj4gQUNQSTogRXhlY3V0ZWQgMyBi
bG9ja3Mgb2YgbW9kdWxlLWxldmVsIGV4ZWN1dGFibGUgQU1MIGNvZGUKPiBBQ1BJOiBJbnRlcnBy
ZXRlciBlbmFibGVkCj4gQUNQSTogKHN1cHBvcnRzIFMwIFM1KQo+IEFDUEk6IFVzaW5nIElPQVBJ
QyBmb3IgaW50ZXJydXB0IHJvdXRpbmcKPiBQQ0k6IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBb
YnVzIDAwLWZmXSBhdCBbbWVtIDB4ZTAwMDAwMDAtMHhlZmZmZmZmZl0gKGJhc2UgMHhlMDAwMDAw
MCkKPiBQQ0k6IE1NQ09ORklHIGF0IFttZW0gMHhlMDAwMDAwMC0weGVmZmZmZmZmXSByZXNlcnZl
ZCBpbiBBQ1BJIG1vdGhlcmJvYXJkIHJlc291cmNlcwo+IEFDUEk6IEVDOiBHUEUgPSAweGEsIEkv
TzogY29tbWFuZC9zdGF0dXMgPSAweDY2LCBkYXRhID0gMHg2Mgo+IFBDSTogVXNpbmcgaG9zdCBi
cmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2FyeSwgdXNlICJwY2k9bm9jcnMiIGFu
ZCByZXBvcnQgYSBidWcKPiBBQ1BJOiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4gMDAw
MCBbYnVzIDAwLWZmXSkKPiBwY2lfcm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cg
W2lvICAweDAwMDAtMHgwY2Y3XQo+IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdp
bmRvdyBbaW8gIDB4MGQwMC0weGZmZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlk
Z2Ugd2luZG93IFttZW0gMHgwMDBhMDAwMC0weDAwMGJmZmZmXQo+IHBjaV9yb290IFBOUDBBMDM6
MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lf
cm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW21lbSAweGNmZjAwMDAwLTB4ZGZm
ZmZmZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHhm
MDAwMDAwMC0weGZlYmZmZmZmXQo+IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDowMAo+IHBj
aV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW2lvICAweDAwMDAtMHgwY2Y3XQo+IHBj
aV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW2lvICAweDBkMDAtMHhmZmZmXQo+IHBj
aV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweDAwMGEwMDAwLTB4MDAwYmZm
ZmZdCj4gcGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4MDAwZDAwMDAt
MHgwMDBkZmZmZl0KPiBwY2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHhj
ZmYwMDAwMC0weGRmZmZmZmZmXQo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2Ug
W21lbSAweGYwMDAwMDAwLTB4ZmViZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDIuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDA3LTA3XQo+IHBjaSAwMDAwOjA2OjAwLjA6IGRpc2FibGluZyBBU1BNIG9uIHBy
ZS0xLjEgUENJZSBkZXZpY2UuICBZb3UgY2FuIGVuYWJsZSBpdCB3aXRoICdwY2llX2FzcG09Zm9y
Y2UnCj4gcGNpIDAwMDA6MDA6MDQuMDogUENJIGJyaWRnZSB0byBbYnVzIDA2LTA2XQo+IHBjaSAw
MDAwOjAwOjA1LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNS0wNV0KPiBwY2kgMDAwMDowMDowNi4w
OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDQtMDRdCj4gcGNpIDAwMDA6MDA6MDcuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDAzLTAzXQo+IHBjaSAwMDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
Mi0wMl0KPiBwY2kgMDAwMDowMDoxNC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdIChzdWJ0
cmFjdGl2ZSBkZWNvZGUpCj4gIHBjaTAwMDA6MDA6IFJlcXVlc3RpbmcgQUNQSSBfT1NDIGNvbnRy
b2wgKDB4MWQpCj4gIHBjaTAwMDA6MDA6IEFDUEkgX09TQyBjb250cm9sICgweDFjKSBncmFudGVk
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDowMC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMi4wCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDowNS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNi4wCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDowNy4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDow
ZC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMS4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDoxMi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4g
KFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMy4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDoxMy4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4wCj4gKFhFTikg
UENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxNC4zCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC40Cj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxNC41Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4w
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDoxOC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4xCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDoxOC4zCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC40Cj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowNzowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNzow
MC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNjowMC4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowNjowMC4xCj4gcGNpIDAwMDA6MDY6MDAuMTogRmFpbGVkIHRvIGFkZCAtIHBh
c3N0aHJvdWdoIG9yIE1TSS9NU0ktWCBtaWdodCBmYWlsIQo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwMDA6MDU6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDQ6MDAuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDM6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDI6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDI6MDAuMQo+IEFDUEk6IFBDSSBJ
bnRlcnJ1cHQgTGluayBbTE5LQV0gKElSUXMgKjQgNyAxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kg
SW50ZXJydXB0IExpbmsgW0xOS0JdIChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJ
IEludGVycnVwdCBMaW5rIFtMTktDXSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6IFBD
SSBJbnRlcnJ1cHQgTGluayBbTE5LRF0gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQ
Q0kgSW50ZXJydXB0IExpbmsgW0xOS0VdIChJUlFzIDQgKjcgMTAgMTEgMTQgMTUpCj4gQUNQSTog
UENJIEludGVycnVwdCBMaW5rIFtMTktGXSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6
IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LR10gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJ
OiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0hdIChJUlFzIDQgNyAxMCAxMSAxNCAxNSkgKjAsIGRp
c2FibGVkLgo+IHhlbi9iYWxsb29uOiBJbml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIuCj4geGVu
LWJhbGxvb246IEluaXRpYWxpc2luZyBiYWxsb29uIGRyaXZlci4KPiB2Z2FhcmI6IGRldmljZSBh
ZGRlZDogUENJOjAwMDA6MDc6MDAuMCxkZWNvZGVzPWlvK21lbSxvd25zPWlvK21lbSxsb2Nrcz1u
b25lCj4gdmdhYXJiOiBsb2FkZWQKPiB2Z2FhcmI6IGJyaWRnZSBjb250cm9sIHBvc3NpYmxlIDAw
MDA6MDc6MDAuMAo+IFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkCj4gdXNiY29yZTogcmVnaXN0
ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2Jmcwo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgaHViCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRy
aXZlciB1c2IKPiBQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nCj4gU3dpdGNoaW5nIHRv
IGNsb2Nrc291cmNlIHhlbgo+IEZTLUNhY2hlOiBMb2FkZWQKPiBDYWNoZUZpbGVzOiBMb2FkZWQK
PiBwbnA6IFBuUCBBQ1BJIGluaXQKPiBBQ1BJOiBidXMgdHlwZSBwbnAgcmVnaXN0ZXJlZAo+IHN5
c3RlbSAwMDowMTogW21lbSAweGZlYzIwMDAwLTB4ZmVjMjAwZmZdIGNvdWxkIG5vdCBiZSByZXNl
cnZlZAo+IHN5c3RlbSAwMDowMjogW21lbSAweGY2MDAwMDAwLTB4ZjYwMDNmZmZdIGhhcyBiZWVu
IHJlc2VydmVkCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA4IGZvciBnc2kgOAo+
IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTMgZm9yIGdzaSAxMwo+IHN5c3RlbSAw
MDowODogW21lbSAweGZlYzAwMDAwLTB4ZmVjMDBmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+
IHN5c3RlbSAwMDowODogW21lbSAweGZlZTAwMDAwLTB4ZmVlMDBmZmZdIGhhcyBiZWVuIHJlc2Vy
dmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDRkMC0weDA0ZDFdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDQwYl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0g
MDA6MDk6IFtpbyAgMHgwNGQ2XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lv
ICAweDBjMDAtMHgwYzAxXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAw
eDBjMTRdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1MC0weDBj
NTFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1Ml0gaGFzIGJl
ZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwYzZjXSBoYXMgYmVlbiByZXNlcnZl
ZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjNmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVt
IDAwOjA5OiBbaW8gIDB4MGNkMC0weDBjZDFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAw
OjA5OiBbaW8gIDB4MGNkMi0weDBjZDNdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5
OiBbaW8gIDB4MGNkNC0weDBjZDVdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBb
aW8gIDB4MGNkNi0weDBjZDddIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8g
IDB4MGNkOC0weDBjZGZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4
MDgwMC0weDA4OWZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIw
MC0weDBiMWZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIyMC0w
eDBiM2ZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkwMC0weDA5
MGZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkxMC0weDA5MWZd
IGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4ZmUwMC0weGZlZmVdIGhh
cyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4Y2ZmMDAwMDAtMHhjZmZmZmZm
Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFttZW0gMHhmZmI4MDAwMC0weGZm
YmZmZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGZlYzEwMDAw
LTB4ZmVjMTAwMWZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4ZmVk
ODAwMDAtMHhmZWQ4MGZmZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAg
MHgwMjMwLTB4MDIzZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgw
MjkwLTB4MDI5Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwZjQw
LTB4MGY0Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwYTMwLTB4
MGEzZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGI6IFttZW0gMHhlMDAwMDAwMC0w
eGVmZmZmZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMDAw
MDAwLTB4MDAwOWZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21l
bSAweDAwMGMwMDAwLTB4MDAwY2ZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAw
MDowYzogW21lbSAweDAwMGUwMDAwLTB4MDAwZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+
IHN5c3RlbSAwMDowYzogW21lbSAweDAwMTAwMDAwLTB4Y2ZlZmZmZmZdIGNvdWxkIG5vdCBiZSBy
ZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweGZlYzAwMDAwLTB4ZmZmZmZmZmZdIGNvdWxk
IG5vdCBiZSByZXNlcnZlZAo+IHBucDogUG5QIEFDUEk6IGZvdW5kIDEzIGRldmljZXMKPiBBQ1BJ
OiBBQ1BJIGJ1cyB0eXBlIHBucCB1bnJlZ2lzdGVyZWQKPiBwY2liYWNrIDAwMDA6MDA6MTQuMjog
c2VpemluZyBkZXZpY2UKPiBQTS1UaW1lciBmYWlsZWQgY29uc2lzdGVuY3kgY2hlY2sgICgweDB4
ZmZmZmZmKSAtIGFib3J0aW5nLgo+IHBjaSAwMDAwOjAwOjAyLjA6IFBDSSBicmlkZ2UgdG8gW2J1
cyAwNy0wN10KPiBwY2kgMDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGUwMDAt
MHhlZmZmXQo+IHBjaSAwMDAwOjAwOjAyLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU5MDAw
MDAtMHhmZTlmZmZmZl0KPiBwY2kgMDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAw
eGQwMDAwMDAwLTB4ZGZmZmZmZmYgNjRiaXQgcHJlZl0KPiBwY2kgMDAwMDowMDowNC4wOiBQQ0kg
YnJpZGdlIHRvIFtidXMgMDYtMDZdCj4gcGNpIDAwMDA6MDA6MDQuMDogICBicmlkZ2Ugd2luZG93
IFtpbyAgMHhkMDAwLTB4ZGZmZl0KPiBwY2kgMDAwMDowMDowNC4wOiAgIGJyaWRnZSB3aW5kb3cg
W21lbSAweGZlODAwMDAwLTB4ZmU4ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDUuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDA1LTA1XQo+IHBjaSAwMDAwOjAwOjA1LjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8g
IDB4YzAwMC0weGNmZmZdCj4gcGNpIDAwMDA6MDA6MDUuMDogICBicmlkZ2Ugd2luZG93IFttZW0g
MHhmZTcwMDAwMC0weGZlN2ZmZmZmXQo+IHBjaSAwMDAwOjAwOjA2LjA6IFBDSSBicmlkZ2UgdG8g
W2J1cyAwNC0wNF0KPiBwY2kgMDAwMDowMDowNi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGIw
MDAtMHhiZmZmXQo+IHBjaSAwMDAwOjAwOjA2LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU2
MDAwMDAtMHhmZTZmZmZmZl0KPiBwY2kgMDAwMDowMDowNy4wOiBQQ0kgYnJpZGdlIHRvIFtidXMg
MDMtMDNdCj4gcGNpIDAwMDA6MDA6MDcuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTUwMDAw
MC0weGZlNWZmZmZmXQo+IHBjaSAwMDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0w
Ml0KPiBwY2kgMDAwMDowMDowZC4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGEwMDAtMHhhZmZm
XQo+IHBjaSAwMDAwOjAwOjBkLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU0MDAwMDAtMHhm
ZTRmZmZmZl0KPiBwY2kgMDAwMDowMDoxNC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdCj4g
eGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA1MiBmb3IgZ3NpIDUyCj4gQWxyZWFkeSBz
ZXR1cCB0aGUgR1NJIDo1Mgo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgNTIgZm9y
IGdzaSA1Mgo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6NTIKPiB4ZW5fbWFwX3BpcnFfZ3NpOiBy
ZXR1cm5pbmcgaXJxIDUzIGZvciBnc2kgNTMKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjUzCj4g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAyCj4gSVAgcm91dGUgY2FjaGUgaGFzaCB0
YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDcsIDUyNDI4OCBieXRlcykKPiBUQ1AgZXN0YWJs
aXNoZWQgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVyOiAxMCwgNDE5NDMwNCBieXRl
cykKPiBUQ1AgYmluZCBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3
NiBieXRlcykKPiBUQ1A6IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDI2MjE0
NCBiaW5kIDY1NTM2KQo+IFRDUDogcmVubyByZWdpc3RlcmVkCj4gVURQIGhhc2ggdGFibGUgZW50
cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5dGVzKQo+IFVEUC1MaXRlIGhhc2ggdGFibGUg
ZW50cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5dGVzKQo+IE5FVDogUmVnaXN0ZXJlZCBw
cm90b2NvbCBmYW1pbHkgMQo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9y
IGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiBy
ZXR1cm5pbmcgaXJxIDE3IGZvciBnc2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4g
eGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFkeSBz
ZXR1cCB0aGUgR1NJIDoxOAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9y
IGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiBy
ZXR1cm5pbmcgaXJxIDE3IGZvciBnc2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4g
VW5wYWNraW5nIGluaXRyYW1mcy4uLgo+IEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogNjM4NGsgZnJl
ZWQKPiBtaWNyb2NvZGU6IENQVTA6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6
IENQVTE6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTI6IHBhdGNoX2xl
dmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTM6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYK
PiBtaWNyb2NvZGU6IENQVTQ6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQ
VTU6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IE1pY3JvY29kZSBVcGRhdGUg
RHJpdmVyOiB2Mi4wMCA8dGlncmFuQGFpdmF6aWFuLmZzbmV0LmNvLnVrPiwgUGV0ZXIgT3J1YmEK
PiBOVEZTIGRyaXZlciAyLjEuMzAgW0ZsYWdzOiBSL1ddLgo+IG1zZ21uaSBoYXMgYmVlbiBzZXQg
dG8gMzg3MAo+IEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAw
LjQgbG9hZGVkIChtYWpvciAyNTMpCj4gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZCAoZGVm
YXVsdCkKPiBwY2llcG9ydCAwMDAwOjAwOjAyLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0ll
IFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2gg
UENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDc6MDAuMTogU2lnbmFsaW5nIFBNRSB0aHJv
dWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaWVwb3J0IDAwMDA6MDA6MDQuMDogU2lnbmFsaW5n
IFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjA2OjAwLjA6IFNpZ25h
bGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNjowMC4xOiBT
aWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDow
MDowNS4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAw
MDA6MDU6MDAuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBj
aWVwb3J0IDAwMDA6MDA6MDYuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVy
cnVwdAo+IHBjaSAwMDAwOjA0OjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBp
bnRlcnJ1cHQKPiBwY2llcG9ydCAwMDAwOjAwOjA3LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQ
Q0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowMzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91
Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDowMDowZC4wOiBTaWduYWxpbmcg
UE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDI6MDAuMDogU2lnbmFs
aW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjAyOjAwLjE6IFNp
Z25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2lfaG90cGx1ZzogUENJ
IEhvdCBQbHVnIFBDSSBDb3JlIHZlcnNpb246IDAuNQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMg
L2RldmljZXMvTE5YU1lTVE06MDAvZGV2aWNlOjAwL1BOUDBDMEM6MDAvaW5wdXQvaW5wdXQwCj4g
QUNQSTogUG93ZXIgQnV0dG9uIFtQV1JCXQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMgL2Rldmlj
ZXMvTE5YU1lTVE06MDAvTE5YUFdSQk46MDAvaW5wdXQvaW5wdXQxCj4gQUNQSTogUG93ZXIgQnV0
dG9uIFtQV1JGXQo+IEdIRVM6IEhFU1QgaXMgbm90IGVuYWJsZWQhCj4gRXZlbnQtY2hhbm5lbCBk
ZXZpY2UgaW5zdGFsbGVkLgo+IHhlbi1wY2liYWNrOiBiYWNrZW5kIGlzIHZwY2kKPiBTZXJpYWw6
IDgyNTAvMTY1NTAgZHJpdmVyLCA0IHBvcnRzLCBJUlEgc2hhcmluZyBkaXNhYmxlZAo+IDAwMDA6
MDI6MDAuMTogdHR5UzAgYXQgSS9PIDB4YTg4MCAoaXJxID0gNDEpIGlzIGEgU1QxNjY1MFYyCj4g
aHBldF9hY3BpX2FkZDogbm8gYWRkcmVzcyBvciBpcnFzIGluIF9DUlMKPiBOb24tdm9sYXRpbGUg
bWVtb3J5IGRyaXZlciB2MS4zCj4gSGFuZ2NoZWNrOiBzdGFydGluZyBoYW5nY2hlY2sgdGltZXIg
MC45LjEgKHRpY2sgaXMgMTgwIHNlY29uZHMsIG1hcmdpbiBpcyA2MCBzZWNvbmRzKS4KPiBIYW5n
Y2hlY2s6IFVzaW5nIGdldHJhd21vbm90b25pYygpLgo+IGxvb3A6IG1vZHVsZSBsb2FkZWQKPiBh
aGNpIDAwMDA6MDA6MTEuMDogQUhDSSAwMDAxLjAyMDAgMzIgc2xvdHMgNiBwb3J0cyA2IEdicHMg
MHgzZiBpbXBsIFNBVEEgbW9kZQo+IGFoY2kgMDAwMDowMDoxMS4wOiBmbGFnczogNjRiaXQgbmNx
IHNudGYgaWxjayBwbSBsZWQgY2xvIHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2kwIDogYWhjaQo+
IHNjc2kxIDogYWhjaQo+IHNjc2kyIDogYWhjaQo+IHNjc2kzIDogYWhjaQo+IHNjc2k0IDogYWhj
aQo+IHNjc2k1IDogYWhjaQo+IGF0YTI6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhm
ZTNmZTAwMCBwb3J0IDB4ZmUzZmUxMDAgaXJxIDE5Cj4gYXRhMzogU0FUQSBtYXggVURNQS8xMzMg
YWJhciBtMTAyNEAweGZlM2ZlMDAwIHBvcnQgMHhmZTNmZTE4MCBpcnEgMTkKPiBhdGE0OiBTQVRB
IG1heCBVRE1BLzEzMyBhYmFyIG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMjAwIGlycSAx
OQo+IGF0YTU6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4
ZmUzZmUyODAgaXJxIDE5Cj4gYXRhNjogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZl
M2ZlMDAwIHBvcnQgMHhmZTNmZTMwMCBpcnEgMTkKPiBhdGE3OiBTQVRBIG1heCBVRE1BLzEzMyBh
YmFyIG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMzgwIGlycSAxOQo+IGFoY2kgMDAwMDow
NjowMC4wOiBBSENJIDAwMDEuMDAwMCAzMiBzbG90cyAyIHBvcnRzIDMgR2JwcyAweDMgaW1wbCBT
QVRBIG1vZGUKPiBhaGNpIDAwMDA6MDY6MDAuMDogZmxhZ3M6IDY0Yml0IG5jcSBwbSBsZWQgY2xv
IHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2k2IDogYWhjaQo+IHNjc2k3IDogYWhjaQo+IGF0YTg6
IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTgxOTJAMHhmZThmZTAwMCBwb3J0IDB4ZmU4ZmUxMDAg
aXJxIDQ0Cj4gYXRhOTogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtODE5MkAweGZlOGZlMDAwIHBv
cnQgMHhmZThmZTE4MCBpcnEgNDQKPiB0dW46IFVuaXZlcnNhbCBUVU4vVEFQIGRldmljZSBkcml2
ZXIsIDEuNgo+IHR1bjogKEMpIDE5OTktMjAwNCBNYXggS3Jhc255YW5za3kgPG1heGtAcXVhbGNv
bW0uY29tPgo+IHNreTI6IGRyaXZlciB2ZXJzaW9uIDEuMzAKPiBza3kyIDAwMDA6MDQ6MDAuMDog
WXVrb24tMiBPcHRpbWEgY2hpcCByZXZpc2lvbiAxCj4gc2t5MiAwMDAwOjA0OjAwLjA6IGV0aDA6
IGFkZHIgMjA6Y2Y6MzA6NmQ6ODk6YTUKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIGNkY19uY20KPiBmaXJld2lyZV9vaGNpIDAwMDA6MDU6MDAuMDogYWRkZWQgT0hD
SSB2MS4xMCBkZXZpY2UgYXMgY2FyZCAwLCA0IElSICsgOCBJVCBjb250ZXh0cywgcXVpcmtzIDB4
MTEKPiBlaGNpX2hjZDogVVNCIDIuMCAnRW5oYW5jZWQnIEhvc3QgQ29udHJvbGxlciAoRUhDSSkg
RHJpdmVyCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxNyBmb3IgZ3NpIDE3Cj4g
QWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxNwo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogRUhDSSBI
b3N0IENvbnRyb2xsZXIKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IG5ldyBVU0IgYnVzIHJlZ2lz
dGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogYXBw
bHlpbmcgQU1EIFNCNzAwL1NCODAwL0h1ZHNvbi0yLzMgRUhDSSBkdW1teSBxaCB3b3JrYXJvdW5k
Cj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBkZWJ1ZyBwb3J0IDEKPiBlaGNpX2hjZCAwMDAwOjAw
OjEyLjI6IGlycSAxNywgaW8gbWVtIDB4ZmUzZmU0MDAKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6
IFVTQiAyLjAgc3RhcnRlZCwgRUhDSSAxLjAwCj4gdXNiIHVzYjE6IE5ldyBVU0IgZGV2aWNlIGZv
dW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2IxOiBOZXcgVVNCIGRl
dmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2Ix
OiBQcm9kdWN0OiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2IxOiBNYW51ZmFjdHVyZXI6
IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBlaGNpX2hjZAo+IHVzYiB1c2Ix
OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTIuMgo+IGh1YiAxLTA6MS4wOiBVU0IgaHViIGZvdW5k
Cj4gaHViIDEtMDoxLjA6IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1
cm5pbmcgaXJxIDE3IGZvciBnc2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4gZWhj
aV9oY2QgMDAwMDowMDoxMy4yOiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IGVoY2lfaGNkIDAwMDA6
MDA6MTMuMjogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAyCj4g
ZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBhcHBseWluZyBBTUQgU0I3MDAvU0I4MDAvSHVkc29uLTIv
MyBFSENJIGR1bW15IHFoIHdvcmthcm91bmQKPiBlaGNpX2hjZCAwMDAwOjAwOjEzLjI6IGRlYnVn
IHBvcnQgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogaXJxIDE3LCBpbyBtZW0gMHhmZTNmZTgw
MAo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogVVNCIDIuMCBzdGFydGVkLCBFSENJIDEuMDAKPiB1
c2IgdXNiMjogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0w
MDAyCj4gdXNiIHVzYjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIs
IFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjI6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVy
Cj4gdXNiIHVzYjI6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkw
LWRpcnR5IGVoY2lfaGNkCj4gdXNiIHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMy4yCj4g
aHViIDItMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgMi0wOjEuMDogNSBwb3J0cyBkZXRlY3Rl
ZAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTcgZm9yIGdzaSAxNwo+IEFscmVh
ZHkgc2V0dXAgdGhlIEdTSSA6MTcKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IEVIQ0kgSG9zdCBD
b250cm9sbGVyCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVk
LCBhc3NpZ25lZCBidXMgbnVtYmVyIDMKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGFwcGx5aW5n
IEFNRCBTQjcwMC9TQjgwMC9IdWRzb24tMi8zIEVIQ0kgZHVtbXkgcWggd29ya2Fyb3VuZAo+IGF0
YTU6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+IGF0YTQ6IFNBVEEg
bGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+IGVoY2lfaGNkIDAwMDA6MDA6MTYu
MjogZGVidWcgcG9ydCAxCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBpcnEgMTcsIGlvIG1lbSAw
eGZlM2ZlYzAwCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBVU0IgMi4wIHN0YXJ0ZWQsIEVIQ0kg
MS4wMAo+IHVzYiB1c2IzOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MWQ2YiwgaWRQ
cm9kdWN0PTAwMDIKPiB1c2IgdXNiMzogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTMsIFBy
b2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKPiB1c2IgdXNiMzogUHJvZHVjdDogRUhDSSBIb3N0IENv
bnRyb2xsZXIKPiB1c2IgdXNiMzogTWFudWZhY3R1cmVyOiBMaW51eCAzLjQuMC1yYzQtMDAzOTUt
Zzg3YjVkOTAtZGlydHkgZWhjaV9oY2QKPiB1c2IgdXNiMzogU2VyaWFsTnVtYmVyOiAwMDAwOjAw
OjE2LjIKPiBhdGE4OiBTQVRBIGxpbmsgZG93biAoU1N0YXR1cyAwIFNDb250cm9sIDMwMCkKPiBo
dWIgMy0wOjEuMDogVVNCIGh1YiBmb3VuZAo+IGh1YiAzLTA6MS4wOiA0IHBvcnRzIGRldGVjdGVk
Cj4gYXRhMjogU0FUQSBsaW5rIHVwIDMuMCBHYnBzIChTU3RhdHVzIDEyMyBTQ29udHJvbCAzMDAp
Cj4gb2hjaV9oY2Q6IFVTQiAxLjEgJ09wZW4nIEhvc3QgQ29udHJvbGxlciAoT0hDSSkgRHJpdmVy
Cj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFk
eSBzZXR1cCB0aGUgR1NJIDoxOAo+IG9oY2lfaGNkIDAwMDA6MDA6MTIuMDogT0hDSSBIb3N0IENv
bnRyb2xsZXIKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQs
IGFzc2lnbmVkIGJ1cyBudW1iZXIgNAo+IG9oY2lfaGNkIDAwMDA6MDA6MTIuMDogaXJxIDE4LCBp
byBtZW0gMHhmZTNmNzAwMAo+IGF0YTk6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRy
b2wgMzAwKQo+IGF0YTc6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+
IGF0YTM6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+IGF0YTIuMDA6
IEFUQS04OiBJTlRFTCBTU0RTQTJDVzEyMEczLCA0UEMxMDM2MiwgbWF4IFVETUEvMTMzCj4gYXRh
Mi4wMDogMjM0NDQxNjQ4IHNlY3RvcnMsIG11bHRpIDE6IExCQTQ4IE5DUSAoZGVwdGggMzEvMzIp
Cj4gYXRhNjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gdXNiIHVz
YjQ6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+
IHVzYiB1c2I0OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJp
YWxOdW1iZXI9MQo+IHVzYiB1c2I0OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVz
YiB1c2I0OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0
eSBvaGNpX2hjZAo+IHVzYiB1c2I0OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTIuMAo+IGh1YiA0
LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDQtMDoxLjA6IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4
ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNl
dHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAwMDowMDoxMy4wOiBPSENJIEhvc3QgQ29udHJv
bGxlcgo+IG9oY2lfaGNkIDAwMDA6MDA6MTMuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNz
aWduZWQgYnVzIG51bWJlciA1Cj4gb2hjaV9oY2QgMDAwMDowMDoxMy4wOiBpcnEgMTgsIGlvIG1l
bSAweGZlM2ZjMDAwCj4gYXRhMi4wMDogY29uZmlndXJlZCBmb3IgVURNQS8xMzMKPiB1c2IgdXNi
NTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxCj4g
dXNiIHVzYjU6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlh
bE51bWJlcj0xCj4gdXNiIHVzYjU6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNi
IHVzYjU6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5
IG9oY2lfaGNkCj4gdXNiIHVzYjU6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMy4wCj4gc2NzaSAw
OjA6MDowOiBEaXJlY3QtQWNjZXNzICAgICBBVEEgICAgICBJTlRFTCBTU0RTQTJDVzEyIDRQQzEg
UFE6IDAgQU5TSTogNQo+IGh1YiA1LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDUtMDoxLjA6
IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE4IGZv
ciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAwMDowMDox
NC41OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNkIDAwMDA6MDA6MTQuNTogbmV3IFVT
QiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA2Cj4gb2hjaV9oY2QgMDAwMDow
MDoxNC41OiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZkMDAwCj4gdXNiIDEtMTogbmV3IGhpZ2gtc3Bl
ZWQgVVNCIGRldmljZSBudW1iZXIgMiB1c2luZyBlaGNpX2hjZAo+IHNkIDA6MDowOjA6IFtzZGFd
IDIzNDQ0MTY0OCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDEyMCBHQi8xMTEgR2lCKQo+IHNk
IDA6MDowOjA6IFtzZGFdIFdyaXRlIFByb3RlY3QgaXMgb2ZmCj4gc2QgMDowOjA6MDogW3NkYV0g
V3JpdGUgY2FjaGU6IGVuYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQsIGRvZXNuJ3Qgc3VwcG9y
dCBEUE8gb3IgRlVBCj4gdXNiIHVzYjY6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0x
ZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBN
ZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I2OiBQcm9kdWN0OiBPSENJ
IEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I2OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJj
NC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I2OiBTZXJpYWxOdW1iZXI6
IDAwMDA6MDA6MTQuNQo+IGh1YiA2LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDYtMDoxLjA6
IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE4IGZv
ciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAwMDowMDox
Ni4wOiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNkIDAwMDA6MDA6MTYuMDogbmV3IFVT
QiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA3Cj4gb2hjaV9oY2QgMDAwMDow
MDoxNi4wOiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZmMDAwCj4gIHNkYTogc2RhMSBzZGEyCj4gc2Qg
MDowOjA6MDogW3NkYV0gQXR0YWNoZWQgU0NTSSBkaXNrCj4gdXNiIHVzYjc6IE5ldyBVU0IgZGV2
aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I3OiBOZXcg
VVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVz
YiB1c2I3OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I3OiBNYW51ZmFj
dHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVz
YiB1c2I3OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTYuMAo+IGZpcmV3aXJlX2NvcmUgMDAwMDow
NTowMC4wOiBjcmVhdGVkIGRldmljZSBmdzA6IEdVSUQgMDAxZThjMDAwMGRlOTEzNiwgUzQwMAo+
IGh1YiA3LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDctMDoxLjA6IDQgcG9ydHMgZGV0ZWN0
ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUwIGZvciBnc2kgNTAKPiBBbHJl
YWR5IHNldHVwIHRoZSBHU0kgOjUwCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiB4SENJIEhvc3Qg
Q29udHJvbGxlcgo+IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJl
ZCwgYXNzaWduZWQgYnVzIG51bWJlciA4Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBpcnEgNTAs
IGlvIG1lbSAweGZlNWZlMDAwCj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVu
ZG9yPTA0MjQsIGlkUHJvZHVjdD0yNTA0Cj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5n
czogTWZyPTAsIFByb2R1Y3Q9MCwgU2VyaWFsTnVtYmVyPTAKPiB1c2IgdXNiODogTmV3IFVTQiBk
ZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAyCj4gdXNiIHVzYjg6IE5l
dyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4g
dXNiIHVzYjg6IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4gaHViIDEtMToxLjA6IFVT
QiBodWIgZm91bmQKPiB1c2IgdXNiODogTWFudWZhY3R1cmVyOiBMaW51eCAzLjQuMC1yYzQtMDAz
OTUtZzg3YjVkOTAtZGlydHkgeGhjaV9oY2QKPiB1c2IgdXNiODogU2VyaWFsTnVtYmVyOiAwMDAw
OjAzOjAwLjAKPiBodWIgMS0xOjEuMDogNCBwb3J0cyBkZXRlY3RlZAo+IGh1YiA4LTA6MS4wOiBV
U0IgaHViIGZvdW5kCj4gaHViIDgtMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4aGNpX2hjZCAw
MDAwOjAzOjAwLjA6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4geGhjaV9oY2QgMDAwMDowMzowMC4w
OiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDkKPiB1c2IgdXNi
OTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAzCj4g
dXNiIHVzYjk6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlh
bE51bWJlcj0xCj4gdXNiIHVzYjk6IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNi
IHVzYjk6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5
IHhoY2lfaGNkCj4gdXNiIHVzYjk6IFNlcmlhbE51bWJlcjogMDAwMDowMzowMC4wCj4gaHViIDkt
MDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgOS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAo+IHVz
YmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNibHAKPiB1c2Jjb3JlOiBy
ZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVhcwo+IEluaXRpYWxpemluZyBVU0IgTWFz
cyBTdG9yYWdlIGRyaXZlci4uLgo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgdXNiLXN0b3JhZ2UKPiBVU0IgTWFzcyBTdG9yYWdlIHN1cHBvcnQgcmVnaXN0ZXJlZC4K
PiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGxpYnVzdWFsCj4gdXNi
Y29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1bXNfZW5ldWI2MjUwCj4gaTgw
NDI6IFBOUDogTm8gUFMvMiBjb250cm9sbGVyIGZvdW5kLiBQcm9iaW5nIHBvcnRzIGRpcmVjdGx5
Lgo+IHNlcmlvOiBpODA0MiBLQkQgcG9ydCBhdCAweDYwLDB4NjQgaXJxIDEKPiBzZXJpbzogaTgw
NDIgQVVYIHBvcnQgYXQgMHg2MCwweDY0IGlycSAxMgo+IG1vdXNlZGV2OiBQUy8yIG1vdXNlIGRl
dmljZSBjb21tb24gZm9yIGFsbCBtaWNlCj4gaW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2RldmljZXMv
cGxhdGZvcm0vcGNzcGtyL2lucHV0L2lucHV0Mgo+IHJ0Y19jbW9zIDAwOjA0OiBSVEMgY2FuIHdh
a2UgZnJvbSBTNAo+IHJ0Y19jbW9zIDAwOjA0OiBydGMgY29yZTogcmVnaXN0ZXJlZCBydGNfY21v
cyBhcyBydGMwCj4gcnRjMDogYWxhcm1zIHVwIHRvIG9uZSBtb250aCwgeTNrLCAxMTQgYnl0ZXMg
bnZyYW0KPiBpMmMgL2RldiBlbnRyaWVzIGRyaXZlcgo+IEFDUEkgV2FybmluZzogMHgwMDAwMDAw
MDAwMDAwYjAwLTB4MDAwMDAwMDAwMDAwMGIwNyBTeXN0ZW1JTyBjb25mbGljdHMgd2l0aCBSZWdp
b24gXF9TQl8uUENJMC5TQlJHLkFTT0MuU01SRyAxICgyMDEyMDMyMC91dGFkZHJlc3MtMjUxKQo+
IEFDUEk6IElmIGFuIEFDUEkgZHJpdmVyIGlzIGF2YWlsYWJsZSBmb3IgdGhpcyBkZXZpY2UsIHlv
dSBzaG91bGQgdXNlIGl0IGluc3RlYWQgb2YgdGhlIG5hdGl2ZSBkcml2ZXIKPiBBVEswMTEwIEFU
SzAxMTA6MDA6IEVDIGVuYWJsZWQKPiBzcDUxMDBfdGNvOiBTUDUxMDAgVENPIFdhdGNoRG9nIFRp
bWVyIERyaXZlciB2MC4wMQo+IHNwNTEwMF90Y286IG1taW8gYWRkcmVzcyAweGI4ZmUwMCBhbHJl
YWR5IGluIHVzZQo+IGl0ODdfd2R0OiBDaGlwIElUODcyMSByZXZpc2lvbiAxIGluaXRpYWxpemVk
LiB0aW1lb3V0PTYwIHNlYyAobm93YXlvdXQ9MCB0ZXN0bW9kZT0wIGV4Y2x1c2l2ZT0xIG5vZ2Ft
ZXBvcnQ9MCkKPiB4ZW5fd2R0OiBYZW4gV2F0Y2hEb2cgVGltZXIgRHJpdmVyIHYwLjAxCj4geGVu
X3dkdDogY2Fubm90IHJlZ2lzdGVyIG1pc2NkZXYgb24gbWlub3I9MTMwICgtMTYpCj4gd2R0OiBw
cm9iZSBvZiB3ZHQgZmFpbGVkIHdpdGggZXJyb3IgLTE2Cj4gZGV2aWNlLW1hcHBlcjogdWV2ZW50
OiB2ZXJzaW9uIDEuMC4zCj4gZGV2aWNlLW1hcHBlcjogaW9jdGw6IDQuMjIuMC1pb2N0bCAoMjAx
MS0xMC0xOSkgaW5pdGlhbGlzZWQ6IGRtLWRldmVsQHJlZGhhdC5jb20KPiBFREFDIE1DOiBWZXI6
IDIuMS4wCj4gQU1ENjQgRURBQyBkcml2ZXIgdjMuNC4wCj4gRURBQyBhbWQ2NDogRFJBTSBFQ0Mg
ZGlzYWJsZWQuCj4gRURBQyBhbWQ2NDogRUNDIGRpc2FibGVkIGluIHRoZSBCSU9TIG9yIG5vIEVD
QyBjYXBhYmlsaXR5LCBtb2R1bGUgd2lsbCBub3QgbG9hZC4KPiAgRWl0aGVyIGVuYWJsZSBFQ0Mg
Y2hlY2tpbmcgb3IgZm9yY2UgbW9kdWxlIGxvYWRpbmcgYnkgc2V0dGluZyAnZWNjX2VuYWJsZV9v
dmVycmlkZScuCj4gIChOb3RlIHRoYXQgdXNlIG9mIHRoZSBvdmVycmlkZSBtYXkgY2F1c2UgdW5r
bm93biBzaWRlIGVmZmVjdHMuKQo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgdXNiaGlkCj4gdXNiaGlkOiBVU0IgSElEIGNvcmUgZHJpdmVyCj4gVENQOiBjdWJpYyBy
ZWdpc3RlcmVkCj4gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNwo+IHJ0Y19jbW9z
IDAwOjA0OiBzZXR0aW5nIHN5c3RlbSBjbG9jayB0byAyMDEyLTA1LTA3IDExOjE5OjEwIFVUQyAo
MTMzNjM4OTU1MCkKPiBwb3dlcm5vdy1rODogRm91bmQgMSBBTUQgUGhlbm9tKHRtKSBJSSBYNiAx
MDc1VCBQcm9jZXNzb3IgKDYgY3B1IGNvcmVzKSAodmVyc2lvbiAyLjIwLjAwKQo+IHBvd2Vybm93
LWs4OiBDb3JlIFBlcmZvcm1hbmNlIEJvb3N0aW5nOiBvbi4KPiBGcmVlaW5nIHVudXNlZCBrZXJu
ZWwgbWVtb3J5OiA1MzJrIGZyZWVkCj4gTG9hZGluZywgcGxlYXNlIHdhaXQuLi4KPiB1ZGV2WzEw
NzhdOiBzdGFydGluZyB2ZXJzaW9uIDE2NAo+IHVzYiA0LTI6IG5ldyBmdWxsLXNwZWVkIFVTQiBk
ZXZpY2UgbnVtYmVyIDIgdXNpbmcgb2hjaV9oY2QKPiB1c2IgNC0yOiBOZXcgVVNCIGRldmljZSBm
b3VuZCwgaWRWZW5kb3I9MDQxZSwgaWRQcm9kdWN0PTMwZGMKPiB1c2IgNC0yOiBOZXcgVVNCIGRl
dmljZSBzdHJpbmdzOiBNZnI9MSwgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9Mwo+IHVzYiA0LTI6
IFByb2R1Y3Q6IFNvdW5kIEJsYXN0ZXIgVGFjdGljKDNEKSBBbHBoYQo+IHVzYiA0LTI6IE1hbnVm
YWN0dXJlcjogQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQKPiB1c2IgNC0yOiBTZXJpYWxOdW1iZXI6
IDAwMDIzMTYyCj4gaW5wdXQ6IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkIFNvdW5kIEJsYXN0ZXIg
VGFjdGljKDNEKSBBbHBoYSBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMC91c2I0
LzQtMi80LTI6MS4zL2lucHV0L2lucHV0Mwo+IGdlbmVyaWMtdXNiIDAwMDM6MDQxRTozMERDLjAw
MDE6IGlucHV0LGhpZGRldjA6IFVTQiBISUQgdjEuMDAgRGV2aWNlIFtDcmVhdGl2ZSBUZWNobm9s
b2d5IEx0ZCBTb3VuZCBCbGFzdGVyIFRhY3RpYygzRCkgQWxwaGFdIG9uIHVzYi0wMDAwOjAwOjEy
LjAtMi9pbnB1dDMKPiB1c2IgMS0xLjE6IG5ldyBmdWxsLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVy
IDQgdXNpbmcgZWhjaV9oY2QKPiBCZWdpbjogTG9hZGluZyBlc3NlbnRpYWwgZHJpdmVycyAuLi4g
ZG9uZS4KPiBCZWdpbjogUnVubmluZyAvc2NyaXB0cy9pbml0LXByZW1vdW50IC4uLiBkb25lLgo+
IEJlZ2luOiBNb3VudGluZyByb290IGZpbGUgc3lzdGVtIC4uLiBCZWdpbjogUnVubmluZyAvc2Ny
aXB0cy9sb2NhbC10b3AgLi4uIHVzYiAxLTEuMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVu
ZG9yPTE1MzIsIGlkUHJvZHVjdD0wMDEzCj4gdXNiIDEtMS4xOiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MSwgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MAo+IHVzYiAxLTEuMTogUHJvZHVj
dDogUmF6ZXIgT3JvY2hpCj4gdXNiIDEtMS4xOiBNYW51ZmFjdHVyZXI6IFJhemVyCj4gaW5wdXQ6
IFJhemVyIFJhemVyIE9yb2NoaSBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91
c2IxLzEtMS8xLTEuMS8xLTEuMToxLjAvaW5wdXQvaW5wdXQ0Cj4gZ2VuZXJpYy11c2IgMDAwMzox
NTMyOjAwMTMuMDAwMjogaW5wdXQ6IFVTQiBISUQgdjEuMTEgTW91c2UgW1JhemVyIFJhemVyIE9y
b2NoaV0gb24gdXNiLTAwMDA6MDA6MTIuMi0xLjEvaW5wdXQwCj4gaW5wdXQ6IFJhemVyIFJhemVy
IE9yb2NoaSBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEu
MS8xLTEuMToxLjEvaW5wdXQvaW5wdXQ1Cj4gZ2VuZXJpYy11c2IgMDAwMzoxNTMyOjAwMTMuMDAw
MzogaW5wdXQ6IFVTQiBISUQgdjEuMTEgS2V5Ym9hcmQgW1JhemVyIFJhemVyIE9yb2NoaV0gb24g
dXNiLTAwMDA6MDA6MTIuMi0xLjEvaW5wdXQxCj4gZG9uZS4KPiBCZWdpbjogUnVubmluZyAvc2Ny
aXB0cy9sb2NhbC1wcmVtb3VudCAuLi4gZG9uZS4KPiB1c2IgMS0xLjI6IG5ldyBsb3ctc3BlZWQg
VVNCIGRldmljZSBudW1iZXIgNSB1c2luZyBlaGNpX2hjZAo+IEVYVDQtZnMgKGRtLTApOiBtb3Vu
dGVkIGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gT3B0czogKG51bGwpCj4gQmVn
aW46IFJ1bm5pbmcgL3NjcmlwdHMvbG9jYWwtYm90dG9tIC4uLiBkb25lLgo+IGRvbmUuCj4gQmVn
aW46IFJ1bm5pbmcgL3NjcmlwdHMvaW5pdC1ib3R0b20gLi4uIGRvbmUuCj4gdXNiIDEtMS4yOiBO
ZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MDRmMiwgaWRQcm9kdWN0PTA0MDMKPiB1c2Ig
MS0xLjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0xLCBQcm9kdWN0PTIsIFNlcmlhbE51
bWJlcj0wCj4gdXNiIDEtMS4yOiBQcm9kdWN0OiBVU0IgS2V5Ym9hcmQKPiB1c2IgMS0xLjI6IE1h
bnVmYWN0dXJlcjogQ2hpY29ueQo+IGlucHV0OiBDaGljb255IFVTQiBLZXlib2FyZCBhcyAvZGV2
aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMi8xLTEuMjoxLjAvaW5w
dXQvaW5wdXQ2Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0MDMuMDAwNDogaW5wdXQ6IFVTQiBI
SUQgdjEuMTEgS2V5Ym9hcmQgW0NoaWNvbnkgVVNCIEtleWJvYXJkXSBvbiB1c2ItMDAwMDowMDox
Mi4yLTEuMi9pbnB1dDAKPiBJTklUOiB2ZXJzaW9uIDIuODggYm9vdGluZwo+IGlucHV0OiBDaGlj
b255IFVTQiBLZXlib2FyZCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2Ix
LzEtMS8xLTEuMi8xLTEuMjoxLjEvaW5wdXQvaW5wdXQ3Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYy
OjA0MDMuMDAwNTogaW5wdXQsaGlkZGV2MDogVVNCIEhJRCB2MS4xMSBEZXZpY2UgW0NoaWNvbnkg
VVNCIEtleWJvYXJkXSBvbiB1c2ItMDAwMDowMDoxMi4yLTEuMi9pbnB1dDEKPiBVc2luZyBtYWtl
ZmlsZS1zdHlsZSBjb25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgUy5uZXQgZmlyZXdpcmUwOiBJ
Cj4gUHY0IG92ZXIgSUVFRSAxMzk0IG9uIGNhcmQgMDAwMDowNTowMC4wCj4gZmlyZXdpcmVfY29y
ZSAwMDAwOjA1OjAwLjA6IHJlZnJlc2hlZCBkZXZpY2UgZncwCj4gRmlsZXMgdW5kZXIgbW91bnQg
cG9pbnQgJy9saWIvaW5pdC9ydycgd2lsbCBiZSBoaWRkZW4uIC4uLiAod2FybmluZykuCj4gRmls
ZXMgdW5kZXIgbW91bnQgcG9pbnQgJy92YXIvcnVuJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJu
aW5nKS4KPiBGaWxlcyB1bmRlciBtb3VudCBwb2ludCAnL3Zhci9sb2NrJyB3aWxsIGJlIGhpZGRl
bi4gLi4uICh3YXJuaW5nKS4KPiBTdGFydGluZyB0aGUgaG90cGx1ZyBldmVudHMgZGlzcGF0Y2hl
cjogdWRldmR1ZGV2WzEzMDJdOiBzdGFydGluZyB2ZXJzaW9uIDE2NAo+IC4KPiBTeW50aGVzaXpp
bmcgdGhlIGluaXRpYWwgaG90cGx1ZyBldmVudHMuLi5kb25lLgo+IFdhaXRpbmcgZm9yIC9kZXYg
dG8gYmUgZnVsbHkgcG9wdWxhdGVkLi4uZG9uZS4KPiBTZXR0aW5nIGhvc3RuYW1lIHRvICd4ZW4n
Li4uZG9uZS4KPiBTZXR0aW5nIHByZWxpbWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGlu
ZyBzd2FwOi4KPiBFWFQ0LWZzIChkbS0wKTogcmUtbW91bnRlZC4gT3B0czogKG51bGwpCj4gV2ls
bCBub3cgY2hlY2sgcm9vdCBmaWxlIHN5c3RlbTpmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3
LjIKPiBbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgLUMwIC9kZXYvbWFw
cGVyL2xlbXJvdWNoLXhlbiAKPiAvZGV2L21hcHBlci9sZW1yb3VjaC14ZW46IGNsZWFuLCAxNzY2
MTcvMTMxMDcyMCBmaWxlcywgMTI4MDU2Mi81MjQyODgwIGJsb2Nrcwo+IC4KPiBFWFQ0LWZzIChk
bS0wKTogcmUtbW91bnRlZC4gT3B0czogZXJyb3JzPXJlbW91bnQtcm8KPiBMb2FkaW5nIGtlcm5l
bCBtb2R1bGUgZmlyZXdpcmUtc2JwMi4KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgbG9vcC4KPiBD
bGVhbmluZyB1cCBpZnVwZG93bi4uLi4KPiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0
dGluZyB1cCBMVk0gVm9sdW1lIEdyb3VwcyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4g
IFRoaXMgbWF5IHRha2UgYSB3aGlsZS4uLgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3Vj
aCIgdXNpbmcgbWV0YWRhdGEgdHlwZSBsdm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZv
bHVtZSBncm91cCAibGVtcm91Y2giIG5vdyBhY3RpdmUKPiAuCj4gV2lsbCBub3cgYWN0aXZhdGUg
bHZtIGFuZCBtZCBzd2FwOmRvbmUuCj4gV2lsbCBub3cgY2hlY2sgYWxsIGZpbGUgc3lzdGVtcy4K
PiBmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBDaGVja2luZyBhbGwgZmlsZSBzeXN0
ZW1zLgo+IERvbmUgY2hlY2tpbmcgZmlsZSBzeXN0ZW1zLiBBIGxvZyBpcyBiZWluZyBzYXZlZCBp
biAvdmFyL2xvZy9mc2NrL2NoZWNrZnMgaWYgdGhhdCBsb2NhdGlvbiBpcyB3cml0YWJsZS4uCj4g
V2lsbCBub3cgbW91bnQgbG9jYWwgZmlsZXN5c3RlbXM6RVhUNC1mcyAoc2RhMSk6IHdhcm5pbmc6
IG1vdW50aW5nIHVuY2hlY2tlZCBmcywgcnVubmluZyBlMmZzY2sgaXMgcmVjb21tZW5kZWQKPiBF
WFQ0LWZzIChzZGExKTogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUu
IE9wdHM6IChudWxsKQo+IC4KPiBXaWxsIG5vdyBhY3RpdmF0ZSBzd2FwZmlsZSBzd2FwOmRvbmUu
Cj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5IGZpbGVzLi4uQ2xlYW5pbmcgL3RtcC4uLmRvbmUuCj4g
Lgo+IENoZWNraW5nIG1pbmltdW0gc3BhY2UgaW4gL3RtcC4uLmRvbmUuCj4gU2V0dGluZyBrZXJu
ZWwgdmFyaWFibGVzIC4uLiAvZXRjL3N5c2N0bC5jb25mLi4uZG9uZS4KPiBJbml0aWFsaXppbmcg
cmFuZG9tIG51bWJlciBnZW5lcmF0b3IuLi5kb25lLgo+IFNldHRpbmcgdXAgWCBzZXJ2ZXIgc29j
a2V0IGRpcmVjdG9yeSAvdG1wLy5YMTEtdW5peC4uLi4KPiBTZXR0aW5nIHVwIElDRSBzb2NrZXQg
ZGlyZWN0b3J5IC90bXAvLklDRS11bml4Li4uLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJm
YWNlcy4uLmRldmljZSBldGgwIGVudGVyZWQgcHJvbWlzY3VvdXMgbW9kZQo+IHNreTIgMDAwMDow
NDowMC4wOiBldGgwOiBlbmFibGluZyBpbnRlcmZhY2UKPiBkb25lLgo+IENsZWFuaW5nIHVwIHRl
bXBvcmFyeSBmaWxlcy4uLi4KPiBTdGFydGluZyBmaWxlc3lzdGVtIGluIHVzZXJzcGFjZTogZnVz
ZS4KPiBTZXR0aW5nIGNvbnNvbGUgc2NyZWVuIG1vZGVzLgo+IGNhbm5vdCAodW4pc2V0IHBvd2Vy
c2F2ZSBtb2RlCj4gU2tpcHBpbmcgZm9udCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNv
bnNvbGUtc2V0dXApLgo+IFNldHRpbmcgdXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25l
Lgo+IFNldHRpbmcgc2Vuc29ycyBsaW1pdHMuCj4gSU5JVDogRW50ZXJpbmcgcnVubGV2ZWw6IDMK
PiBVc2luZyBtYWtlZmlsZS1zdHlsZSBjb25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgMy4KPiBO
b3Qgc3RhcnRpbmcgZmFuY29udHJvbDsgcnVuIHB3bWNvbmZpZyBmaXJzdC4gLi4uICh3YXJuaW5n
KS4KPiBhY3BpZDogc3RhcnRpbmcgdXAgd2l0aCBuZXRsaW5rIGFuZCB0aGUgaW5wdXQgbGF5ZXIK
PiAKPiBhY3BpZDogMSBydWxlIGxvYWRlZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6
IGV2ZW50IGxvZ2dpbmcgaXMgb2ZmCj4gCj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBT
dGFydGluZyBzeXN0ZW0gbWVzc2FnZSBidXM6IGRidXMuCj4gc3NoZCAoMjA4NCk6IC9wcm9jLzIw
ODQvb29tX2FkaiBpcyBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIC9wcm9jLzIwODQvb29tX3Njb3Jl
X2FkaiBpbnN0ZWFkLgo+IFN0YXJ0aW5nIHRoZSBXaW5iaW5kIGRhZW1vbjogd2luYmluZC4KPiBT
dGFydGluZyBPcGVuQlNEIFNlY3VyZSBTaGVsbCBzZXJ2ZXI6IHNzaGQuCj4gU3RhcnRpbmcgZG9t
YWluIG5hbWUgc2VydmljZS4uLjogYmluZDkuCj4gU3RhcnRpbmcgb3hlbnN0b3JlZC4uLgo+IFNl
dHRpbmcgZG9tYWluIDAgbmFtZS4uLgo+IFN0YXJ0aW5nIHhlbmNvbnNvbGVkLi4uCj4gU3RhcnRp
bmcgU2FtYmEgZGFlbW9uczogbm1iZCBzbWJkLgo+IFN0YXJ0aW5nIHBlcmlvZGljIGNvbW1hbmQg
c2NoZWR1bGVyOiBjcm9uLgo+IFN0YXJ0aW5nIFBvc3RmaXggTWFpbCBUcmFuc3BvcnQgQWdlbnQ6
IHBvc3RmaXguCj4gQkxLVEFQQ1RSTFsyMjUzXTogYmxrdGFwY3RybC5jOjc5MjogYmxrdGFwY3Ry
bDogdjEuMC4wCj4gCj4gQkxLVEFQQ1RSTFsyMjUzXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQg
ZHJpdmVyOiBbcmF3IGltYWdlIChhaW8pXQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0
cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3JhdyBpbWFnZSAoc3luYyldCj4gCj4gQkxLVEFQQ1RS
TFsyMjUzXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBbdm13YXJlIGltYWdlICh2
bWRrKV0KPiAKPiBCTEtUQVBDVFJMWzIyNTNdOiBibGt0YXBjdHJsLmM6Nzk0OiBGb3VuZCBkcml2
ZXI6IFtyYW1kaXNrIGltYWdlIChyYW0pXQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0
cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3Fjb3cgZGlzayAocWNvdyldCj4gCj4gQkxLVEFQQ1RS
TFsyMjUzXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBbcWNvdzIgZGlzayAocWNv
dzIpXQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0cmxfbGludXguYzo4NjogYmxrdGFw
MCBvcGVuIGZhaWxlZAo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0cmwuYzo4NjE6IGNv
dWxkbid0IG9wZW4gYmxrdGFwIGludGVyZmFjZQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3Rh
cGN0cmwuYzo5MjQ6IFVuYWJsZSB0byBzdGFydCBibGt0YXBjdHJsCj4gCj4gc2t5MiAwMDAwOjA0
OjAwLjA6IGV0aDA6IExpbmsgaXMgdXAgYXQgMTAwIE1icHMsIGZ1bGwgZHVwbGV4LCBmbG93IGNv
bnRyb2wgYm90aAo+IGJyMDogcG9ydCAxKGV0aDApIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+
IGJyMDogcG9ydCAxKGV0aDApIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+IFN0YXJ0aW5nIFMu
TS5BLlIuVC4gZGFlbW9uOiBzbWFydGQuCj4gYnIwOiBwb3J0IDEoZXRoMCkgZW50ZXJlZCBmb3J3
YXJkaW5nIHN0YXRlCj4gUnVubmluZyBsb2NhbCBib290IHNjcmlwdHMgKC9ldGMvcmMubG9jYWwp
KFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxMi4yCj4gYWNwaWQ6IGlucHV0IGRldmlj
ZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQKPiAKPiBhY3BpZDogaW5wdXQgZGV2aWNlIGhhcyBiZWVu
IGRpc2Nvbm5lY3RlZAo+IAo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVj
dGVkCj4gCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJ
IHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxNi4yCj4gLgo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4g
ZGlzY29ubmVjdGVkCj4gCj4gYWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0
ZWQKPiAKPiAoWEVOKSBpb3BvcnRfbWFwOmFkZDogZG9tMSBncG9ydD0zYjAgbXBvcnQ9M2IwIG5y
PWMKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49YTAgbWZuPWEwIG5yPTIwCj4gKFhF
TikgaW9wb3J0X21hcDphZGQ6IGRvbTEgZ3BvcnQ9M2MwIG1wb3J0PTNjMCBucj0zCj4gKFhFTikg
aW9wb3J0X21hcDphZGQ6IGRvbTEgZ3BvcnQ9M2M0IG1wb3J0PTNjNCBucj0xYwo+IChYRU4pIEhW
TTE6IEhWTSBMb2FkZXIKPiAoWEVOKSBIVk0xOiBEZXRlY3RlZCBYZW4gdjQuMi11bnN0YWJsZQo+
IChYRU4pIEhWTTE6IFhlbmJ1cyByaW5ncyBAMHhmZWZmYzAwMCwgZXZlbnQgY2hhbm5lbCA4Cj4g
KFhFTikgSFZNMTogU3lzdGVtIHJlcXVlc3RlZCBST01CSU9TCj4gKFhFTikgSFZNMTogQ1BVIHNw
ZWVkIGlzIDMwMTAgTUh6Cj4gKFhFTikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdl
ZCAwIC0+IDUKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJRNQo+IChY
RU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAxIGNoYW5nZWQgMCAtPiAxMAo+IChYRU4pIEhW
TTE6IFBDSS1JU0EgbGluayAxIHJvdXRlZCB0byBJUlExMAo+IChYRU4pIGlycS5jOjI3MDogRG9t
MSBQQ0kgbGluayAyIGNoYW5nZWQgMCAtPiAxMQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAy
IHJvdXRlZCB0byBJUlExMQo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAzIGNoYW5n
ZWQgMCAtPiA1Cj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDAxOjMgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2
IDAzOjAgSU5UQS0+SVJRNQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBJTlRBLT5JUlE1Cj4g
KFhFTikgSFZNMTogcGNpIGRldiAwNTowIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRl
diAwNjowIElOVEItPklSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA3OjAgSU5UQS0+SVJRNQo+
IChYRU4pIEhWTTE6IHBjaSBkZXYgMDg6MCBJTlRCLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBk
ZXYgMDk6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTAgc2l6
ZSAxMDAwMDAwMDogZTAwMDAwMGMKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZTAw
MDAgbWZuPWQwMDAwIG5yPTEwMDAwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxNCBz
aXplIDAxMDAwMDAwOiBmMDAwMDAwOAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBiYXIgMTAg
c2l6ZSAwMDAyMDAwMDogZjEwMDAwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49
ZjEwMjAgbWZuPWZlOWUwIG5yPTIwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxOCBz
aXplIDAwMDIwMDAwOiBmMTAyMDAwNAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMzAg
c2l6ZSAwMDAyMDAwMDogZjEwNDAwMDAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2OjAgYmFyIDEw
IHNpemUgMDAwMDQwMDA6IGYxMDYwMDA0Cj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2Zu
PWYxMDYwIG1mbj1mZTliYyBucj00Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwOTowIGJhciAxMCBz
aXplIDAwMDA0MDAwOiBmMTA2NDAwNAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1m
MTA2NCBtZm49ZmUzZjggbnI9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBiYXIgMTAgc2l6
ZSAwMDAwMTAwMDogZjEwNjgwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEw
NjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUg
MDAwMDEwMDA6IGYxMDY5MDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDY5
IG1mbj1mMDAwMCBucj0xCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxMCBzaXplIDAw
MDAwMTAwOiAwMDAwYzAwMQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMjAgc2l6ZSAw
MDAwMDEwMDogMDAwMGMxMDEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgYmFyIDE0IHNpemUg
MDAwMDAwNDA6IDAwMDBjMjAxCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMToxIGJhciAyMCBzaXpl
IDAwMDAwMDEwOiAwMDAwYzI0MQo+IChYRU4pIEhWTTE6IE11bHRpcHJvY2Vzc29yIGluaXRpYWxp
c2F0aW9uOgo+IChYRU4pIEhWTTE6ICAtIENQVTAgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBN
VFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTEg
Li4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBk
b25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTIgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJS
cyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTMgLi4u
IDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25l
Lgo+IChYRU4pIEhWTTE6ICAtIENQVTQgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAu
Li4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTUgLi4uIDQ4
LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+
IChYRU4pIEhWTTE6IFRlc3RpbmcgSFZNIGVudmlyb25tZW50Ogo+IChYRU4pIEhWTTE6ICAtIFJF
UCBJTlNCIGFjcm9zcyBwYWdlIGJvdW5kYXJpZXMgLi4uIHBhc3NlZAo+IChYRU4pIEhWTTE6ICAt
IEdTIGJhc2UgTVNScyBhbmQgU1dBUEdTIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiBQYXNzZWQg
MiBvZiAyIHRlc3RzCj4gKFhFTikgSFZNMTogV3JpdGluZyBTTUJJT1MgdGFibGVzIC4uLgo+IChY
RU4pIEhWTTE6IExvYWRpbmcgUk9NQklPUyAuLi4KPiAoWEVOKSBIVk0xOiA5NjYwIGJ5dGVzIG9m
IFJPTUJJT1MgaGlnaC1tZW1vcnkgZXh0ZW5zaW9uczoKPiAoWEVOKSBIVk0xOiAgIFJlbG9jYXRp
bmcgdG8gMHhmYzAwMTAwMC0weGZjMDAzNWJjIC4uLiBkb25lCj4gKFhFTikgSFZNMTogQ3JlYXRp
bmcgTVAgdGFibGVzIC4uLgo+IChYRU4pIEhWTTE6IExvYWRpbmcgVkdBQklPUyBvZiBwYXNzdGhy
b3VnaGVkIGdmeCAuLi4KPiAoWEVOKSBIVk0xOiBMb2FkaW5nIFBDSSBPcHRpb24gUk9NIC4uLgo+
IChYRU4pIEhWTTE6ICAtIE1hbnVmYWN0dXJlcjogaHR0cDovL2lweGUub3JnCj4gKFhFTikgSFZN
MTogIC0gUHJvZHVjdCBuYW1lOiBpUFhFCj4gKFhFTikgSFZNMTogT3B0aW9uIFJPTXM6Cj4gKFhF
TikgSFZNMTogIGMwMDAwLWNmZmZmOiBWR0EgQklPUwo+IChYRU4pIEhWTTE6ICBkMDAwMC1lMGZm
ZjogRXRoZXJib290IFJPTQo+IChYRU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KPiAoWEVOKSBI
Vk0xOiB2bTg2IFRTUyBhdCBmYzAwZjcwMAo+IChYRU4pIEhWTTE6IEJJT1MgbWFwOgo+IChYRU4p
IEhWTTE6ICBmMDAwMC1mZmZmZjogTWFpbiBCSU9TCj4gKFhFTikgSFZNMTogRTgyMCB0YWJsZToK
PiAoWEVOKSBIVk0xOiAgWzAwXTogMDAwMDAwMDA6MDAwMDAwMDAgLSAwMDAwMDAwMDowMDA5ZTAw
MDogUkFNCj4gKFhFTikgSFZNMTogIFswMV06IDAwMDAwMDAwOjAwMDllMDAwIC0gMDAwMDAwMDA6
MDAwYTAwMDA6IFJFU0VSVkVECj4gKFhFTikgSFZNMTogIEhPTEU6IDAwMDAwMDAwOjAwMGEwMDAw
IC0gMDAwMDAwMDA6MDAwZTAwMDAKPiAoWEVOKSBIVk0xOiAgWzAyXTogMDAwMDAwMDA6MDAwZTAw
MDAgLSAwMDAwMDAwMDowMDEwMDAwMDogUkVTRVJWRUQKPiAoWEVOKSBIVk0xOiAgWzAzXTogMDAw
MDAwMDA6MDAxMDAwMDAgLSAwMDAwMDAwMDplMDAwMDAwMDogUkFNCj4gKFhFTikgSFZNMTogIEhP
TEU6IDAwMDAwMDAwOmUwMDAwMDAwIC0gMDAwMDAwMDA6ZmMwMDAwMDAKPiAoWEVOKSBIVk0xOiAg
WzA0XTogMDAwMDAwMDA6ZmMwMDAwMDAgLSAwMDAwMDAwMTowMDAwMDAwMDogUkVTRVJWRUQKPiAo
WEVOKSBIVk0xOiAgWzA1XTogMDAwMDAwMDE6MDAwMDAwMDAgLSAwMDAwMDAwMToyMDAwMDAwMDog
UkFNCj4gKFhFTikgSFZNMTogSW52b2tpbmcgUk9NQklPUyAuLi4KPiAoWEVOKSBIVk0xOiAkUmV2
aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIvMDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6
IEJvY2hzIEJJT1MgLSBidWlsZDogMDYvMjMvOTkKPiAoWEVOKSBIVk0xOiAkUmV2aXNpb246IDEu
MjIxICQgJERhdGU6IDIwMDgvMTIvMDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6IE9wdGlvbnM6
IGFwbWJpb3MgcGNpYmlvcyBlbHRvcml0byBQTU0gCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZN
MTogYXRhMC0wOiBQQ0hTPTE2MzgzLzE2LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTEwMjQvMjU1
LzYzCj4gKFhFTikgSFZNMTogYXRhMCBtYXN0ZXI6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1E
aXNrICgyMDQ4MCBNQnl0ZXMpCj4gKFhFTikgSFZNMTogYXRhMC0xOiBQQ0hTPTE2MzgzLzE2LzYz
IHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTEwMjQvMjU1LzYzCj4gKFhFTikgSFZNMTogYXRhMCAgc2xh
dmU6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1EaXNrICg1MTIwMCBNQnl0ZXMpCj4gKFhFTikg
SFZNMTogCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogUHJlc3Mg
RjEyIGZvciBib290IG1lbnUuCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogQm9vdGluZyBm
cm9tIEhhcmQgRGlzay4uLgo+IChYRU4pIEhWTTE6IEJvb3RpbmcgZnJvbSAwMDAwOjdjMDAKPiAo
WEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxpbmsgMCBjaGFuZ2VkIDUgLT4gMAo+IChYRU4pIGly
cS5jOjI3MDogRG9tMSBQQ0kgbGluayAxIGNoYW5nZWQgMTAgLT4gMAo+IChYRU4pIGlycS5jOjI3
MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQgMTEgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9t
MSBQQ0kgbGluayAzIGNoYW5nZWQgNSAtPiAwCj4gKFhFTikgbWVtb3J5X21hcDpyZW1vdmU6IGRv
bTEgZ2ZuPWUwMDAwIG1mbj1kMDAwMCBucj0xMDAwMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3Zl
OiBkb20xIGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDog
ZG9tMSBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yPTEwMDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6
IGRvbTEgZ2ZuPWYxMDIwIG1mbj1mZTllMCBucj0yMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3Zl
OiBkb20xIGdmbj1mMTA2MCBtZm49ZmU5YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBk
b20xIGdmbj1mMTA2MCBtZm49ZmU5YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBk
b20xIGdmbj1mMTA2OCBtZm49ZmUzZjcgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20x
IGdmbj1mMTA2OCBtZm49ZmUzZjcgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20x
IGdmbj1mMTA2OSBtZm49ZjAwMDAgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdm
bj1mMTA2OSBtZm49ZjAwMDAgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdm
bj1mMTA2NCBtZm49ZmUzZjggbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1m
MTA2NCBtZm49ZmUzZjggbnI9NAo+IChYRU4pIGdyYW50X3RhYmxlLmM6MTE3NDpkMSBFeHBhbmRp
bmcgZG9tICgxKSBncmFudCB0YWJsZSBmcm9tICg0KSB0byAoMzIpIGZyYW1lcy4KPiAoWEVOKSBp
cnEuYzozNTA6IERvbTEgY2FsbGJhY2sgdmlhIGNoYW5nZWQgdG8gR1NJIDI4Cj4gKFhFTikgRG9t
YWluIDAgY3Jhc2hlZDogcmVib290aW5nIG1hY2hpbmUgaW4gNSBzZWNvbmRzLgoKPiBfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWls
aW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+IGh0dHA6Ly9saXN0cy54ZW4ub3Jn
L3hlbi1kZXZlbAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 07 17:38:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:38:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRsY-0004u6-KY; Mon, 07 May 2012 17:37:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRRsW-0004tu-Cy
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:37:45 +0000
Received: from [85.158.138.51:9287] by server-7.bemta-3.messagelabs.com id
	73/E3-03078-76808AF4; Mon, 07 May 2012 17:37:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336412259!25760654!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4796 invoked from network); 7 May 2012 17:37:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 17:37:41 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47Hbacf004479
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 17:37:36 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47HbY61016744
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 17:37:35 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47HbYw2027426; Mon, 7 May 2012 12:37:34 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 10:37:32 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 724C74031D; Mon,  7 May 2012 13:31:44 -0400 (EDT)
Date: Mon, 7 May 2012 13:31:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pavel =?utf-8?Q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Message-ID: <20120507173144.GB17704@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <201205071345.23619.pavel@netsafe.cz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gTW9uLCBNYXkgMDcsIDIwMTIgYXQgMDE6NDU6MjNQTSArMDIwMCwgUGF2ZWwgTWF0xJtqYSB3
cm90ZToKPiBIaSwKPiBJJ20gdHJ5aW5nIHRvIHJ1biBBTUQgVkdBIHBhc3N0aHJ1IG9uIGxhdGVz
dCBYRU4gdW5zdGFibGUgd2l0aCBsYXRlc3Qga2VybmVsLgo+IEkgYWxyZWFkeSBoYXZlIHdvcmtp
bmcgc2V0dXAgd2l0aCBhbmNpZW50IHhlbi1kZXZlbCA0LjIgYW5kIDIuNi4zMi54IHhlbmlmaWVk
IAo+IGtlcm5lbC4gU2VlIGF0dGFjaGVkIGxvZy4KPiAKPiBTbyBJIHRyaWVkIGp1c3QgdG8gdXBk
YXRlIGFuZCBwYXRjaCB4ZW4gYW5kIGtlcm5lbCwgYnV0IEkgaGFkIG5vIGx1Y2sgc28gZmFyLgo+
IAo+IFhlbiBoYXMgYXRpX3ZiaW9zX3BhdGNoX3Jlc3Bpbi50eHQgc2VudCB0byB4ZW4tZGV2ZWwg
YnkgV2VpIEh1YW5nIHJlY2VudGx5Lgo+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0
bWwveGVuLWRldmVsLzIwMTItMDQvbXNnMDAyOTEuaHRtbAo+IAo+IEkgdHJpZWQgdHdvIGtlcm5l
bHMgCj4gdGVzdGluZy0zLjUtd2l0aC1leHRyYSBhbmQgeGVuL25leHQtMy4yIGZyb20KPiBnaXQ6
Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQva29ucmFkL3hlbi5naXQK
PiBhbmQKPiBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvamVy
ZW15L3hlbi5naXQKPiBCb3RoIHdpdGggaW9wZXJtIG9wY29kZSBwYXRjaCB3aGljaCBpcyByZXF1
aXJlZCBieSB0aGUgQVRJIHBhdGNoLiBTZWUgCj4gYXR0YWNoZW1lbnQuCj4gCj4gVGhlIHhlbi9u
ZXh0LTMuMiBicmFuY2gga2VybmVsIHdhcyBhYmxlIHRvIHN0YXJ0IGJvb3Rpbmcgd2luZG93cy4K
PiBXaXRoIENhdGFseXN0IGRyaXZlciBpbnN0YWxsZWQgSSBqdXN0IHNhdyBibHVlc2NyZWVuIGR1
cmluZyBXaW5kb3dzIGJvb3QuCj4gV2l0aG91dCBDYXRhbHlzdCBkcml2ZXIgV2luZG93cyB3ZXJl
IGFibGUgdG8gYm9vdCBidXQgV2luZG93cyBlbmRlZCBmcm96ZW4gb3IgCj4gVVNCIHdhcyBub3Qg
d29ya2luZy4gSXQgd2FzIGhhcmQgdG8gdGVsbCBiZWNhdXNlIGlucHV0IGRldmljZXMgaGFkIG5v
IHJlc3BvbnNlIAo+IGF0IGFsbC4KPiAKPiBUaGUgdGVzdGluZy0zLjUtd2l0aC1leHRyYSAocmVw
b3J0ZWQgYXMgMy40LjAtcmM0KSBqdXN0IGNyYXNoZWQgZG9tMCBrZXJuZWwgCj4gZHVyaW5nIFdp
bmRvd3MgYm9vdC4gSSBndWVzcyBJIGhhdmUgdG8gcmV3b3JrIHRoZSBpb19iaXRtYXAgcGF0Y2gg
c29tZWhvdy4KCldoZW4geW91IHNheSAnaW9fYml0bWFwJyBwYXRjaCBhcmUgeW91IHJlZmVycmlu
ZyB0byB0aGVzZSBvbmVzOgoKNzBhMzU3ZCB4ZW46IGltcGxlbWVudCBJTyBwZXJtaXNzaW9uIGJp
dG1hcAowYzU5NmM1IHg4Ni9wYXJhdmlydDogcGFyYXZpcnR1YWxpemUgSU8gcGVybWlzc2lvbiBi
aXRtYXAKOTNiN2EyYSB4ODY6IGRlbWFjcm8gc2V0X2lvcGxfbWFzaygpCgo/IEkgZG9uJ3QgdGhp
bmsgdGhvc2UgYXJlIGluIHRoYXQgdGFnLiBUaGV5IGFyZSBpbiB0aGUga2l0Y2hlbnNpbmsgLSAj
dGVzdGluZwotIGRvZXMgaXQgd29yayB3aXRoIHRoYXQgYnJhbmNoPwoKVGhlIG5leHQtMy4yIGlz
IGEgYml0IG9sZC4gSSBzaG91bGQgYWN0dWFsbHkgZGVsZXRlIGl0LgoKPiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11bnN0YWJsZSAocm9vdEBuZXRzYWZlLmN6KSAo
Z2NjIHZlcnNpb24gNC40LjUgKERlYmlhbiA0LjQuNS04KSApIFN1biBGZWIgIDUgMTU6NTU6MzMg
Q0VUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiBUaHUgTWF5IDA1IDE3OjQwOjM0IDIw
MTEgKzAxMDAgMjMzMDA6NGIwNjkyODgwZGZhCj4gKFhFTikgQ29uc29sZSBvdXRwdXQgaXMgc3lu
Y2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JVQiAxLjk4KzIwMTAwODA0LTE0K3NxdWVl
emUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBkb20wX21lbT0yRyBkb20wX21h
eF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBzeW5jX2NvbnNvbGUgY29tMT0x
MTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAoWEVOKSBWaWRlbyBpbmZvcm1hdGlvbjoK
PiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwgZm9udCA4eDE2Cj4gKFhFTikgIFZCRS9E
REMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMSBzZWNvbmRzCj4gKFhFTikgRGlz
YyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBNQlIgc2lnbmF0dXJlcwo+IChYRU4pICBG
b3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCj4gKFhFTikgWGVuLWU4MjAgUkFNIG1h
cDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWFjMDAgKHVzYWJsZSkK
PiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVkKQo+
IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4g
KFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1c2FibGUpCj4gKFhF
TikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4gKFhF
TikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykKPiAoWEVO
KSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+IChYRU4p
ICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4gKFhFTikg
IDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAwMDAwICh1c2FibGUpCj4gKFhFTikgQUNQ
STogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFNKQo+IChYRU4pIEFDUEk6IFhTRFQgQ0ZF
ODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3KQo+
IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQgKHIzIDEwMjgxMSBGQUNQMTc0MCAyMDEx
MTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IERTRFQgQ0ZFODA0NzAsIEU2RTMgKHIx
ICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIwMDYwMTEzKQo+IChYRU4pIEFDUEk6IEZB
Q1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBBUElDIENGRTgwMzkwLCAwMDk4IChyMSAx
MDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBNQ0ZH
IENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAgICAgICA5
NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAwMDcyIChyMSAxMDI4MTEgT0VNQjE3NDAg
MjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBIUEVUIENGRThGOEMwLCAwMDM4
IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJ
OiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAgICBSRDg5MFMgICAyMDIwMzEgQU1EICAg
ICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThGOUUwLCAwRTEwIChyMSBBIE0gSSAgUE9X
RVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAoWEVOKSBTeXN0ZW0gUkFNOiA4MTkwTUIg
KDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiAoWEVOKSBG
YWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDIzMDAwMDAwMAo+IChYRU4p
IERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikgZm91bmQgU01QIE1QLXRhYmxlIGF0IDAw
MGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhFTikgVXNpbmcgQVBJQyBkcml2ZXIgZGVm
YXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4ODA4Cj4gKFhFTikgQUNQSTog
QUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0sIHBtMXhfZXZ0WzgwMCwwXQo+IChYRU4p
IEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tjZmU5ODAwY10sIHZlY19zaXplWzIw
XQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwCj4gKFhFTikgQUNQ
STogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKPiAoWEVOKSBQ
cm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMSAw
OjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDNdIGxh
cGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICMyIDA6MTAgQVBJQyB2ZXJz
aW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNF0gbGFwaWNfaWRbMHgwM10g
ZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVO
KSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVkKQo+IChY
RU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29y
ICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgw
N10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsw
eDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNlWzBdKQo+IChYRU4pIElPQVBJQ1swXTog
YXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCj4gKFhF
TikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdzaV9iYXNlWzI0
XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAzMywgYWRkcmVzcyAweGZl
YzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2ly
cSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMg
MCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiAoWEVOKSBBQ1BJOiBJUlEwIHVz
ZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgo+IChY
RU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBFbmFibGluZyBBUElDIG1v
ZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAoWEVOKSBBQ1BJOiBIUEVUIGlkOiAweDgz
MDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFBDSTogTUNGRyBjb25maWd1cmF0aW9uIDA6IGJh
c2UgZTAwMDAwMDAgc2VnbWVudCAwIGJ1c2VzIDAgLSAyNTUKPiAoWEVOKSBQQ0k6IE5vdCB1c2lu
ZyBNTUNPTkZJRy4KPiAoWEVOKSBUYWJsZSBpcyBub3QgZm91bmQhCj4gKFhFTikgVXNpbmcgQUNQ
SSAoTUFEVCkgZm9yIFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCj4gKFhFTikgSVJRIGxp
bWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01Q
IENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAzMDEwLjI1NCBNSHog
cHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1EIEZh
bTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgQU1ELVZpOiBJT01N
VSAwIEVuYWJsZWQuCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKPiAoWEVOKSAg
LSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMKPiAoWEVO
KSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVOKSAuLlRJTUVSOiB2ZWN0b3I9MHhGMCBh
cGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4gKFhFTikgUGxhdGZvcm0gdGltZXIgaXMg
MTQuMzE4TUh6IEhQRVQKPiDDvyhYRU4pIEFsbG9jYXRlZCBjb25zb2xlIHJpbmcgb2YgNjQgS2lC
Lgo+IChYRU4pIEhWTTogQVNJRHMgZW5hYmxlZC4KPiAoWEVOKSBTVk06IFN1cHBvcnRlZCBhZHZh
bmNlZCBmZWF0dXJlczoKPiAoWEVOKSAgLSBOZXN0ZWQgUGFnZSBUYWJsZXMgKE5QVCkKPiAoWEVO
KSAgLSBMYXN0IEJyYW5jaCBSZWNvcmQgKExCUikgVmlydHVhbGlzYXRpb24KPiAoWEVOKSAgLSBO
ZXh0LVJJUCBTYXZlZCBvbiAjVk1FWElUCj4gKFhFTikgIC0gUGF1c2UtSW50ZXJjZXB0IEZpbHRl
cgo+IChYRU4pIEhWTTogU1ZNIGVuYWJsZWQKPiAoWEVOKSBIVk06IEhhcmR3YXJlIEFzc2lzdGVk
IFBhZ2luZyBkZXRlY3RlZC4KPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChYRU4pIEhQRVQn
cyBNU0kgbW9kZSBoYXNuJ3QgYmVlbiBzdXBwb3J0ZWQgd2hlbiBJbnRlcnJ1cHQgUmVtYXBwaW5n
IGlzIGVuYWJsZWQuCj4gKFhFTikgQUNQSSBzbGVlcCBtb2RlczogUzMKPiAoWEVOKSBNQ0E6IFVz
ZSBodyB0aHJlc2hvbGRpbmcgdG8gYWRqdXN0IHBvbGxpbmcgZnJlcXVlbmN5Cj4gKFhFTikgbWNo
ZWNrX3BvbGw6IE1hY2hpbmUgY2hlY2sgcG9sbGluZyB0aW1lciBzdGFydGVkLgo+IChYRU4pIFhl
bm9wcm9maWxlOiBGYWlsZWQgdG8gc2V0dXAgSUJTIExWVCBvZmZzZXQsIElCU0NUTCA9IDB4ZmZm
ZmZmZmYKPiAoWEVOKSAqKiogTE9BRElORyBET01BSU4gMCAqKioKPiAoWEVOKSBlbGZfcGFyc2Vf
YmluYXJ5OiBwaGRyOiBwYWRkcj0weDEwMDAwMDAgbWVtc3o9MHg3N2MwMDAKPiAoWEVOKSBlbGZf
cGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE3N2MwMDAgbWVtc3o9MHg4ZGE4OAo+IChYRU4p
IGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTgwYTAwMCBtZW1zej0weDhjOAo+IChY
RU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTgwYjAwMCBtZW1zej0weDE0YTU4
Cj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxODIwMDAwIG1lbXN6PTB4
MjEyMDAwCj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogbWVtb3J5OiAweDEwMDAwMDAgLT4gMHgx
YTMyMDAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBHVUVTVF9PUyA9ICJsaW51eCIKPiAo
WEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX1ZFUlNJT04gPSAiMi42Igo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogWEVOX1ZFUlNJT04gPSAieGVuLTMuMCIKPiAoWEVOKSBlbGZfeGVu
X3BhcnNlX25vdGU6IFZJUlRfQkFTRSA9IDB4ZmZmZmZmZmY4MDAwMDAwMAo+IChYRU4pIGVsZl94
ZW5fcGFyc2Vfbm90ZTogRU5UUlkgPSAweGZmZmZmZmZmODE4MjAyMDAKPiAoWEVOKSBlbGZfeGVu
X3BhcnNlX25vdGU6IEhZUEVSQ0FMTF9QQUdFID0gMHhmZmZmZmZmZjgxMDA5MDAwCj4gKFhFTikg
ZWxmX3hlbl9wYXJzZV9ub3RlOiBGRUFUVVJFUyA9ICIhd3JpdGFibGVfcGFnZV90YWJsZXN8cGFl
X3BnZGlyX2Fib3ZlXzRnYiIKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IFBBRV9NT0RFID0g
InllcyIKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IExPQURFUiA9ICJnZW5lcmljIgo+IChY
RU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogdW5rbm93biB4ZW4gZWxmIG5vdGUgKDB4ZCkKPiAoWEVO
KSBlbGZfeGVuX3BhcnNlX25vdGU6IFNVU1BFTkRfQ0FOQ0VMID0gMHgxCj4gKFhFTikgZWxmX3hl
bl9wYXJzZV9ub3RlOiBIVl9TVEFSVF9MT1cgPSAweGZmZmY4MDAwMDAwMDAwMDAKPiAoWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IFBBRERSX09GRlNFVCA9IDB4MAo+IChYRU4pIGVsZl94ZW5fYWRk
cl9jYWxjX2NoZWNrOiBhZGRyZXNzZXM6Cj4gKFhFTikgICAgIHZpcnRfYmFzZSAgICAgICAgPSAw
eGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSAgICAgZWxmX3BhZGRyX29mZnNldCA9IDB4MAo+IChY
RU4pICAgICB2aXJ0X29mZnNldCAgICAgID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikgICAg
IHZpcnRfa3N0YXJ0ICAgICAgPSAweGZmZmZmZmZmODEwMDAwMDAKPiAoWEVOKSAgICAgdmlydF9r
ZW5kICAgICAgICA9IDB4ZmZmZmZmZmY4MWEzMjAwMAo+IChYRU4pICAgICB2aXJ0X2VudHJ5ICAg
ICAgID0gMHhmZmZmZmZmZjgxODIwMjAwCj4gKFhFTikgICAgIHAybV9iYXNlICAgICAgICAgPSAw
eGZmZmZmZmZmZmZmZmZmZmYKPiAoWEVOKSAgWGVuICBrZXJuZWw6IDY0LWJpdCwgbHNiLCBjb21w
YXQzMgo+IChYRU4pICBEb20wIGtlcm5lbDogNjQtYml0LCBQQUUsIGxzYiwgcGFkZHIgMHgxMDAw
MDAwIC0+IDB4MWEzMjAwMAo+IChYRU4pIFBIWVNJQ0FMIE1FTU9SWSBBUlJBTkdFTUVOVDoKPiAo
WEVOKSAgRG9tMCBhbGxvYy46ICAgMDAwMDAwMDIyNDAwMDAwMC0+MDAwMDAwMDIyODAwMDAwMCAo
NTA2MjYzIHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkKPiAoWEVOKSAgSW5pdC4gcmFtZGlzazogMDAw
MDAwMDIyZjk5NzAwMC0+MDAwMDAwMDIyZmZmZjYwMAo+IChYRU4pIFZJUlRVQUwgTUVNT1JZIEFS
UkFOR0VNRU5UOgo+IChYRU4pICBMb2FkZWQga2VybmVsOiBmZmZmZmZmZjgxMDAwMDAwLT5mZmZm
ZmZmZjgxYTMyMDAwCj4gKFhFTikgIEluaXQuIHJhbWRpc2s6IGZmZmZmZmZmODFhMzIwMDAtPmZm
ZmZmZmZmODIwOWE2MDAKPiAoWEVOKSAgUGh5cy1NYWNoIG1hcDogZmZmZmZmZmY4MjA5YjAwMC0+
ZmZmZmZmZmY4MjQ5YjAwMAo+IChYRU4pICBTdGFydCBpbmZvOiAgICBmZmZmZmZmZjgyNDliMDAw
LT5mZmZmZmZmZjgyNDliNGI0Cj4gKFhFTikgIFBhZ2UgdGFibGVzOiAgIGZmZmZmZmZmODI0OWMw
MDAtPmZmZmZmZmZmODI0YjMwMDAKPiAoWEVOKSAgQm9vdCBzdGFjazogICAgZmZmZmZmZmY4MjRi
MzAwMC0+ZmZmZmZmZmY4MjRiNDAwMAo+IChYRU4pICBUT1RBTDogICAgICAgICBmZmZmZmZmZjgw
MDAwMDAwLT5mZmZmZmZmZjgyODAwMDAwCj4gKFhFTikgIEVOVFJZIEFERFJFU1M6IGZmZmZmZmZm
ODE4MjAyMDAKPiAoWEVOKSBEb20wIGhhcyBtYXhpbXVtIDYgVkNQVXMKPiAoWEVOKSBlbGZfbG9h
ZF9iaW5hcnk6IHBoZHIgMCBhdCAweGZmZmZmZmZmODEwMDAwMDAgLT4gMHhmZmZmZmZmZjgxNzdj
MDAwCj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDEgYXQgMHhmZmZmZmZmZjgxNzdjMDAw
IC0+IDB4ZmZmZmZmZmY4MTgwOWE4OAo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAyIGF0
IDB4ZmZmZmZmZmY4MTgwYTAwMCAtPiAweGZmZmZmZmZmODE4MGE4YzgKPiAoWEVOKSBlbGZfbG9h
ZF9iaW5hcnk6IHBoZHIgMyBhdCAweGZmZmZmZmZmODE4MGIwMDAgLT4gMHhmZmZmZmZmZjgxODFm
YTU4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDQgYXQgMHhmZmZmZmZmZjgxODIwMDAw
IC0+IDB4ZmZmZmZmZmY4MThiMzAwMAo+IChYRU4pIFNjcnViYmluZyBGcmVlIFJBTTogLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLmRv
bmUuCj4gKFhFTikgU3RkLiBMb2dsZXZlbDogQWxsCj4gKFhFTikgR3Vlc3QgTG9nbGV2ZWw6IEFs
bAo+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
PiAoWEVOKSAqKioqKioqIFdBUk5JTkc6IENPTlNPTEUgT1VUUFVUIElTIFNZTkNIUk9OT1VTCj4g
KFhFTikgKioqKioqKiBUaGlzIG9wdGlvbiBpcyBpbnRlbmRlZCB0byBhaWQgZGVidWdnaW5nIG9m
IFhlbiBieSBlbnN1cmluZwo+IChYRU4pICoqKioqKiogdGhhdCBhbGwgb3V0cHV0IGlzIHN5bmNo
cm9ub3VzbHkgZGVsaXZlcmVkIG9uIHRoZSBzZXJpYWwgbGluZS4KPiAoWEVOKSAqKioqKioqIEhv
d2V2ZXIgaXQgY2FuIGludHJvZHVjZSBTSUdOSUZJQ0FOVCBsYXRlbmNpZXMgYW5kIGFmZmVjdAo+
IChYRU4pICoqKioqKiogdGltZWtlZXBpbmcuIEl0IGlzIE5PVCByZWNvbW1lbmRlZCBmb3IgcHJv
ZHVjdGlvbiB1c2UhCj4gKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgo+IChYRU4pIDMuLi4gMi4uLiAxLi4uIAo+IChYRU4pICoqKiBTZXJpYWwgaW5w
dXQgLT4gRE9NMCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8g
WGVuKQo+IChYRU4pIEZyZWVkIDIzNmtCIGluaXQgbWVtb3J5Lgo+IG1hcHBpbmcga2VybmVsIGlu
dG8gcGh5c2ljYWwgbWVtb3J5Cj4gWGVuOiBzZXR1cCBJU0EgaWRlbnRpdHkgbWFwcwo+IGFib3V0
IHRvIGdldCBzdGFydGVkLi4uCj4gRVJST1I6IFVuYWJsZSB0byBsb2NhdGUgSU9BUElDIGZvciBH
U0kgMgo+IEVSUk9SOiBVbmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJIDkKPiAoWEVOKSB0
cmFwcy5jOjI0MDU6ZDAgRG9tYWluIGF0dGVtcHRlZCBXUk1TUiAwMDAwMDAwMGMwMDEwMDA0IGZy
b20gMHgwMDAwMjRhNzRkYjA2NDA0IHRvIDB4MDAwMDAwMDAwMDAwMDAwMC4KPiAoWEVOKSB0cmFw
cy5jOjI0MDU6ZDAgRG9tYWluIGF0dGVtcHRlZCBXUk1TUiAwMDAwMDAwMGMwMDEwMDAwIGZyb20g
MHgwMDAwMDMwNjFhMGVmZmM5IHRvIDB4MDAwMDAwMDAwMDQzMDA3Ni4KPiBFUlJPUjogVW5hYmxl
IHRvIGxvY2F0ZSBJT0FQSUMgZm9yIEdTSSA5Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDAu
MAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjAwLjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAw
MDowMi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDQuMAo+IChYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwOjA1LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDowNi4wCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDA6MDcuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjBkLjAKPiAoWEVOKSBQ
Q0kgYWRkIGRldmljZSAwMDoxMS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTIuMAo+IChY
RU4pIFBDSSBhZGQgZGV2aWNlIDAwOjEyLjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxMy4w
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTMuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAw
OjE0LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxNC4yCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDA6MTQuMwo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE0LjQKPiAoWEVOKSBQQ0kgYWRk
IGRldmljZSAwMDoxNC41Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTYuMAo+IChYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwOjE2LjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxOC4wCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDA6MTguMQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE4LjIK
PiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxOC4zCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6
MTguNAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDA3OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmlj
ZSAwNzowMC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDY6MDAuMAo+IChYRU4pIFBDSSBhZGQg
ZGV2aWNlIDA2OjAwLjEKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwNTowMC4wCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDQ6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAzOjAwLjAKPiAoWEVO
KSBQQ0kgYWRkIGRldmljZSAwMjowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDI6MDAuMQo+
IHJlZ2lzdGVyaW5nIG5ldGJhY2sKPiBJVDg3IFdEVDogVW5rbm93biBDaGlwIGZvdW5kLCBDaGlw
IDg3MjEgUmV2aXNpb24gMDAwMQo+IFtGaXJtd2FyZSBCdWddOiBwb3dlcm5vdy1rODogTm8gY29t
cGF0aWJsZSBBQ1BJIF9QU1Mgb2JqZWN0cyBmb3VuZC4KPiBbRmlybXdhcmUgQnVnXTogcG93ZXJu
b3ctazg6IFRyeSBhZ2FpbiB3aXRoIGxhdGVzdCBCSU9TLgo+IExvYWRpbmcsIHBsZWFzZSB3YWl0
Li4uCj4gSU5JVDogdmVyc2lvbiAyLjg4IGJvb3RpbmcKPiBVc2luZyBtYWtlZmlsZS1zdHlsZSBj
b25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgUy4KPiBTdGFydGluZyB0aGUgaG90cGx1ZyBldmVu
dHMgZGlzcGF0Y2hlcjogdWRldmQuCj4gU3ludGhlc2l6aW5nIHRoZSBpbml0aWFsIGhvdHBsdWcg
ZXZlbnRzLi4uZG9uZS4KPiBXYWl0aW5nIGZvciAvZGV2IHRvIGJlIGZ1bGx5IHBvcHVsYXRlZC4u
LnVkZXZkLXdvcmtbMTQzN106IGtlcm5lbC1wcm92aWRlZCBuYW1lICdibGt0YXAtY29udHJvbCcg
YW5kIE5BTUU9ICd4ZW4vYmxrdGFwLTIvY29udHJvbCcgZGlzYWdyZWUsIHBsZWFzZSB1c2UgU1lN
TElOSys9IG9yIGNoYW5nZSB0aGUga2VybmVsIHRvIHByb3ZpZGUgdGhlIHByb3BlciBuYW1lCj4g
Cj4gZG9uZS4KPiBTZXR0aW5nIHByZWxpbWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGlu
ZyBzd2FwLi4uZG9uZS4KPiBDaGVja2luZyByb290IGZpbGUgc3lzdGVtLi4uZnNjayBmcm9tIHV0
aWwtbGludXgtbmcgMi4xNy4yCj4gSE9XVE9fUk9PVDogY2xlYW4sIDk1MDU0LzE0MTk4NDAgZmls
ZXMsIDczMTE4MC81Njc5MTA0IGJsb2NrcyAoY2hlY2sgaW4gNCBtb3VudHMpCj4gZG9uZS4KPiBM
b2FkaW5nIGtlcm5lbCBtb2R1bGVzLi4uZG9uZS4KPiBDbGVhbmluZyB1cCBpZnVwZG93bi4uLi4K
PiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0dGluZyB1cCBMVk0gVm9sdW1lIEdyb3Vw
cyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4gIFRoaXMgbWF5IHRha2UgYSB3aGlsZS4u
Lgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3VjaCIgdXNpbmcgbWV0YWRhdGEgdHlwZSBs
dm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAibGVtcm91Y2giIG5v
dyBhY3RpdmUKPiAuCj4gQWN0aXZhdGluZyBsdm0gYW5kIG1kIHN3YXAuLi5kb25lLgo+IENoZWNr
aW5nIGZpbGUgc3lzdGVtcy4uLmZzY2sgZnJvbSB1dGlsLWxpbnV4LW5nIDIuMTcuMgo+IGRvbmUu
Cj4gTW91bnRpbmcgbG9jYWwgZmlsZXN5c3RlbXMuLi5kb25lLgo+IEFjdGl2YXRpbmcgc3dhcGZp
bGUgc3dhcC4uLmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5IGZpbGVzLi4uLgo+IFNldHRp
bmcga2VybmVsIHZhcmlhYmxlcyAuLi5kb25lLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJm
YWNlcy4uLmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5IGZpbGVzLi4uLgo+IFNldHRpbmcg
Y29uc29sZSBzY3JlZW4gbW9kZXMuCj4gUmNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlCj4g
U2tpcHBpbmcgZm9udCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNvbnNvbGUtc2V0dXAp
Lgo+IFNldHRpbmcgdXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25lLgo+IElOSVQ6IEVu
dGVyaW5nIHJ1bmxldmVsOiAyCj4gVXNpbmcgbWFrZWZpbGUtc3R5bGUgY29uY3VycmVudCBib290
IGluIHJ1bmxldmVsIDIuCj4gYWNwaWQ6IHN0YXJ0aW5nIHVwIHdpdGggcHJvYyBmcwo+IAo+IGFj
cGlkOiAxIHJ1bGUgbG9hZGVkCj4gCj4gYWNwaWQ6IHdhaXRpbmcgZm9yIGV2ZW50czogZXZlbnQg
bG9nZ2luZyBpcyBvZmYKPiAKPiBTdGFydGluZyBBQ1BJIHNlcnZpY2VzLi4uLgo+IFN0YXJ0aW5n
IHN5c3RlbSBtZXNzYWdlIGJ1czogZGJ1cy4KPiBTdGFydGluZyBwZXJpb2RpYyBjb21tYW5kIHNj
aGVkdWxlcjogY3Jvbi4KPiBTdGFydGluZyBPcGVuQlNEIFNlY3VyZSBTaGVsbCBzZXJ2ZXI6IHNz
aGQuCj4gU3RhcnRpbmcgeGVuc3RvcmVkLi4uWEVOQlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3Rh
dGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRv
IHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5C
VVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1
IHN0YXRlCj4gCj4gU2V0dGluZyBkb21haW4gMCBuYW1lLi4uCj4gU3RhcnRpbmcgeGVuY29uc29s
ZWQuLi4KPiBCTEtUQVBDVFJMWzIxNjhdOiBibGt0YXBjdHJsLmM6NzkwOiBibGt0YXBjdHJsOiB2
MS4wLjAKPiAKPiBCTEtUQVBDVFJMWzIxNjhdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2
ZXI6IFtyYXcgaW1hZ2UgKGFpbyldCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybC5j
Ojc5MjogRm91bmQgZHJpdmVyOiBbcmF3IGltYWdlIChzeW5jKV0KPiAKPiBCTEtUQVBDVFJMWzIx
NjhdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2ZXI6IFt2bXdhcmUgaW1hZ2UgKHZtZGsp
XQo+IAo+IEJMS1RBUENUUkxbMjE2OF06IGJsa3RhcGN0cmwuYzo3OTI6IEZvdW5kIGRyaXZlcjog
W3JhbWRpc2sgaW1hZ2UgKHJhbSldCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybC5j
Ojc5MjogRm91bmQgZHJpdmVyOiBbcWNvdyBkaXNrIChxY293KV0KPiAKPiBCTEtUQVBDVFJMWzIx
NjhdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2ZXI6IFtxY293MiBkaXNrIChxY293Mild
Cj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybF9saW51eC5jOjg2OiBibGt0YXAwIG9w
ZW4gZmFpbGVkCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3RybC5jOjg1OTogY291bGRu
J3Qgb3BlbiBibGt0YXAgaW50ZXJmYWNlCj4gCj4gQkxLVEFQQ1RSTFsyMTY4XTogYmxrdGFwY3Ry
bC5jOjkyMjogVW5hYmxlIHRvIHN0YXJ0IGJsa3RhcGN0cmwKPiAKPiAoWEVOKSBQQ0kgcmVtb3Zl
IGRldmljZSAwMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTIuMgo+IC91c3IvbG9j
YWwvYmluL3hlbl9zdGFydC5zaDogbGluZSAxNTogL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDow
NzowMC4wL2RyaXZlci91bmJpbmQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiBVc2luZyBj
b25maWcgZmlsZSAiL2V0Yy94ZW4vd2luZG93cyIuCj4gKFhFTikgZG9tY3RsLmM6MTA0MjpkMCBp
b3BvcnRfbWFwOmFkZCBmX2dwb3J0PTNiMCBmX21wb3J0PTNiMCBucD1jCj4gKFhFTikgZG9tY3Rs
LmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49YTAgbWZuPWEwIG5yX21mbnM9MjAKPiAoWEVO
KSBkb21jdGwuYzoxMDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZfZ3BvcnQ9M2MwIGZfbXBvcnQ9M2Mw
IG5wPTMKPiAoWEVOKSBkb21jdGwuYzoxMDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZfZ3BvcnQ9M2M0
IGZfbXBvcnQ9M2M0IG5wPTFjCj4gKFhFTikgSFZNMTogSFZNIExvYWRlcgo+IChYRU4pIEhWTTE6
IERldGVjdGVkIFhlbiB2NC4yLXVuc3RhYmxlCj4gKFhFTikgSFZNMTogWGVuYnVzIHJpbmdzIEAw
eGZlZmZjMDAwLCBldmVudCBjaGFubmVsIDcKPiBTdGFydGVkIGRvbWFpbiB3aW5kb3dzIChpZD0x
KShYRU4pIEhWTTE6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwo+IAo+IChYRU4pIEhWTTE6IENQ
VSBzcGVlZCBpcyAzMDEwIE1Iego+IChYRU4pIGlycS5jOjI1ODogRG9tMSBQQ0kgbGluayAwIGNo
YW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUK
PiAoWEVOKSBpcnEuYzoyNTg6IERvbTEgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKPiAoWEVO
KSBIVk0xOiBQQ0ktSVNBIGxpbmsgMSByb3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBpcnEuYzoyNTg6
IERvbTEgUENJIGxpbmsgMiBjaGFuZ2VkIDAgLT4gMTEKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxp
bmsgMiByb3V0ZWQgdG8gSVJRMTEKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTEgUENJIGxpbmsgMyBj
aGFuZ2VkIDAgLT4gNQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNp
IGRldiAwMzowIElOVEEtPklSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgSU5UQS0+SVJR
NQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBj
aSBkZXYgMDY6MCBJTlRCLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNzowIElOVEEtPklS
UTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVOKSBIVk0xOiBw
Y2kgZGV2IDA5OjAgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDEw
IHNpemUgMTAwMDAwMDA6IGUwMDAwMDBjCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9t
YXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21mbnM9MTAwMDAKPiAoWEVOKSBIVk0xOiBw
Y2kgZGV2IDAzOjAgYmFyIDE0IHNpemUgMDEwMDAwMDA6IGYwMDAwMDA4Cj4gKFhFTikgSFZNMTog
cGNpIGRldiAwNDowIGJhciAxMCBzaXplIDAwMDIwMDAwOiBmMTAwMDAwMAo+IChYRU4pIGRvbWN0
bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIw
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxOCBzaXplIDAwMDIwMDAwOiBmMTAyMDAw
NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAwMDogZjEwNDAw
MDAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6IGYxMDYw
MDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjAgbWZu
PWZlOWJjIG5yX21mbnM9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDk6MCBiYXIgMTAgc2l6ZSAw
MDAwNDAwMDogZjEwNjQwMDQKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6
IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJfbWZucz00Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNzow
IGJhciAxMCBzaXplIDAwMDAxMDAwOiBmMTA2ODAwMAo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBt
ZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY4IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBIVk0x
OiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUgMDAwMDEwMDA6IGYxMDY5MDAwCj4gKFhFTikgZG9t
Y3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9
MQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEwMDogMDAwMGMw
MDEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAxMDA6IDAwMDBj
MTAxCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNDowIGJhciAxNCBzaXplIDAwMDAwMDQwOiAwMDAw
YzIwMQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAwMDAxMDogMDAw
MGMyNDEKPiAoWEVOKSBIVk0xOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlvbjoKPiAoWEVO
KSBIVk0xOiAgLSBDUFUwIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBN
VFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUxIC4uLiA0OC1iaXQgcGh5
cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBI
Vk0xOiAgLSBDUFUyIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJS
cyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUzIC4uLiA0OC1iaXQgcGh5cyAu
Li4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0x
OiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBb
My84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFU1IC4uLiA0OC1iaXQgcGh5cyAuLi4g
Zml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiBU
ZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoKPiAoWEVOKSBIVk0xOiAgLSBSRVAgSU5TQiBhY3Jvc3Mg
cGFnZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiAgLSBHUyBiYXNlIE1TUnMg
YW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMTogUGFzc2VkIDIgb2YgMiB0ZXN0cwo+
IChYRU4pIEhWTTE6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KPiAoWEVOKSBkb21jdGwuYzox
MDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZfZ3BvcnQ9M2IwIGZfbXBvcnQ9M2IwIG5wPWMKPiAoWEVO
KSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1hMCBtZm49YTAgbnJfbWZucz0y
MAo+IChYRU4pIGRvbWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21hcDphZGQgZl9ncG9ydD0zYzAgZl9t
cG9ydD0zYzAgbnA9Mwo+IChYRU4pIGRvbWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21hcDphZGQgZl9n
cG9ydD0zYzQgZl9tcG9ydD0zYzQgbnA9MWMKPiAoWEVOKSBIVk0yOiBIVk0gTG9hZGVyCj4gKFhF
TikgSFZNMjogRGV0ZWN0ZWQgWGVuIHY0LjItdW5zdGFibGUKPiAoWEVOKSBIVk0yOiBYZW5idXMg
cmluZ3MgQDB4ZmVmZmMwMDAsIGV2ZW50IGNoYW5uZWwgNwo+IChYRU4pIEhWTTI6IFN5c3RlbSBy
ZXF1ZXN0ZWQgUk9NQklPUwo+IChYRU4pIEhWTTI6IENQVSBzcGVlZCBpcyAzMDEwIE1Iego+IChY
RU4pIGlycS5jOjI1ODogRG9tMiBQQ0kgbGluayAwIGNoYW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZN
MjogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTIg
UENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKPiAoWEVOKSBIVk0yOiBQQ0ktSVNBIGxpbmsgMSBy
b3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTIgUENJIGxpbmsgMiBjaGFuZ2Vk
IDAgLT4gMTEKPiAoWEVOKSBIVk0yOiBQQ0ktSVNBIGxpbmsgMiByb3V0ZWQgdG8gSVJRMTEKPiAo
WEVOKSBpcnEuYzoyNTg6IERvbTIgUENJIGxpbmsgMyBjaGFuZ2VkIDAgLT4gNQo+IChYRU4pIEhW
TTI6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1Cj4gKFhFTikgSFZNMjogcGNpIGRldiAw
MTozIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMjogcGNpIGRldiAwMzowIElOVEEtPklSUTUKPiAo
WEVOKSBIVk0yOiBwY2kgZGV2IDA0OjAgSU5UQS0+SVJRNQo+IChYRU4pIEhWTTI6IHBjaSBkZXYg
MDU6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTI6IHBjaSBkZXYgMDY6MCBJTlRCLT5JUlE1Cj4g
KFhFTikgSFZNMjogcGNpIGRldiAwNzowIElOVEEtPklSUTUKPiAoWEVOKSBIVk0yOiBwY2kgZGV2
IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVOKSBIVk0yOiBwY2kgZGV2IDA5OjAgSU5UQS0+SVJRMTAK
PiAoWEVOKSBIVk0yOiBwY2kgZGV2IDA1OjAgYmFyIDEwIHNpemUgMTAwMDAwMDA6IGUwMDAwMDBj
Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQw
MDAwIG5yX21mbnM9MTAwMDAKPiAoWEVOKSBIVk0yOiBwY2kgZGV2IDAzOjAgYmFyIDE0IHNpemUg
MDEwMDAwMDA6IGYwMDAwMDA4Cj4gKFhFTikgSFZNMjogcGNpIGRldiAwNDowIGJhciAxMCBzaXpl
IDAwMDIwMDAwOiBmMTAwMDAwMAo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFk
ZDogZ2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIwCj4gKFhFTikgSFZNMjogcGNpIGRldiAw
NTowIGJhciAxOCBzaXplIDAwMDIwMDAwOiBmMTAyMDAwNAo+IChYRU4pIEhWTTI6IHBjaSBkZXYg
MDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAwMDogZjEwNDAwMDAKPiAoWEVOKSBIVk0yOiBwY2kgZGV2
IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6IGYxMDYwMDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2
OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yX21mbnM9NAo+IChYRU4p
IEhWTTI6IHBjaSBkZXYgMDk6MCBiYXIgMTAgc2l6ZSAwMDAwNDAwMDogZjEwNjQwMDQKPiAoWEVO
KSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJf
bWZucz00Cj4gKFhFTikgSFZNMjogcGNpIGRldiAwNzowIGJhciAxMCBzaXplIDAwMDAxMDAwOiBm
MTA2ODAwMAo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY4
IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBIVk0yOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNp
emUgMDAwMDEwMDA6IGYxMDY5MDAwCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6
YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9MQo+IChYRU4pIEhWTTI6IHBjaSBkZXYg
MDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEwMDogMDAwMGMwMDEKPiAoWEVOKSBIVk0yOiBwY2kgZGV2
IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAxMDA6IDAwMDBjMTAxCj4gKFhFTikgSFZNMjogcGNpIGRl
diAwNDowIGJhciAxNCBzaXplIDAwMDAwMDQwOiAwMDAwYzIwMQo+IChYRU4pIEhWTTI6IHBjaSBk
ZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAwMDAxMDogMDAwMGMyNDEKPiAoWEVOKSBIVk0yOiBNdWx0
aXByb2Nlc3NvciBpbml0aWFsaXNhdGlvbjoKPiAoWEVOKSBIVk0yOiAgLSBDUFUwIC4uLiA0OC1i
aXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAo
WEVOKSBIVk0yOiAgLSBDUFUxIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZh
ciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0yOiAgLSBDUFUyIC4uLiA0OC1iaXQg
cGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVO
KSBIVk0yOiAgLSBDUFUzIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBN
VFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0yOiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5
cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBI
Vk0yOiAgLSBDUFU1IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJS
cyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0yOiBUZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoK
PiAoWEVOKSBIVk0yOiAgLSBSRVAgSU5TQiBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4uLiBwYXNz
ZWQKPiAoWEVOKSBIVk0yOiAgLSBHUyBiYXNlIE1TUnMgYW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4g
KFhFTikgSFZNMjogUGFzc2VkIDIgb2YgMiB0ZXN0cwo+IChYRU4pIEhWTTI6IFdyaXRpbmcgU01C
SU9TIHRhYmxlcyAuLi4KPiAoWEVOKSBkb21jdGwuYzoxMDQyOmQwIGlvcG9ydF9tYXA6YWRkIGZf
Z3BvcnQ9M2IwIGZfbXBvcnQ9M2IwIG5wPWMKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5
X21hcDphZGQ6IGdmbj1hMCBtZm49YTAgbnJfbWZucz0yMAo+IChYRU4pIGRvbWN0bC5jOjEwNDI6
ZDAgaW9wb3J0X21hcDphZGQgZl9ncG9ydD0zYzAgZl9tcG9ydD0zYzAgbnA9Mwo+IChYRU4pIGRv
bWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21hcDphZGQgZl9ncG9ydD0zYzQgZl9tcG9ydD0zYzQgbnA9
MWMKPiAoWEVOKSBIVk0zOiBIVk0gTG9hZGVyCj4gKFhFTikgSFZNMzogRGV0ZWN0ZWQgWGVuIHY0
LjItdW5zdGFibGUKPiAoWEVOKSBIVk0zOiBYZW5idXMgcmluZ3MgQDB4ZmVmZmMwMDAsIGV2ZW50
IGNoYW5uZWwgNwo+IChYRU4pIEhWTTM6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwo+IChYRU4p
IEhWTTM6IENQVSBzcGVlZCBpcyAzMDEwIE1Iego+IChYRU4pIGlycS5jOjI1ODogRG9tMyBQQ0kg
bGluayAwIGNoYW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZNMzogUENJLUlTQSBsaW5rIDAgcm91dGVk
IHRvIElSUTUKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTMgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4g
MTAKPiAoWEVOKSBIVk0zOiBQQ0ktSVNBIGxpbmsgMSByb3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBp
cnEuYzoyNTg6IERvbTMgUENJIGxpbmsgMiBjaGFuZ2VkIDAgLT4gMTEKPiAoWEVOKSBIVk0zOiBQ
Q0ktSVNBIGxpbmsgMiByb3V0ZWQgdG8gSVJRMTEKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTMgUENJ
IGxpbmsgMyBjaGFuZ2VkIDAgLT4gNQo+IChYRU4pIEhWTTM6IFBDSS1JU0EgbGluayAzIHJvdXRl
ZCB0byBJUlE1Cj4gKFhFTikgSFZNMzogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCj4gKFhFTikg
SFZNMzogcGNpIGRldiAwMzowIElOVEEtPklSUTUKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA0OjAg
SU5UQS0+SVJRNQo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDU6MCBJTlRBLT5JUlExMAo+IChYRU4p
IEhWTTM6IHBjaSBkZXYgMDY6MCBJTlRCLT5JUlE1Cj4gKFhFTikgSFZNMzogcGNpIGRldiAwNzow
IElOVEEtPklSUTUKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVO
KSBIVk0zOiBwY2kgZGV2IDA5OjAgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA1
OjAgYmFyIDEwIHNpemUgMTAwMDAwMDA6IGUwMDAwMDBjCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQw
IG1lbW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21mbnM9MTAwMDAKPiAoWEVO
KSBIVk0zOiBwY2kgZGV2IDAzOjAgYmFyIDE0IHNpemUgMDEwMDAwMDA6IGYwMDAwMDA4Cj4gKFhF
TikgSFZNMzogcGNpIGRldiAwNDowIGJhciAxMCBzaXplIDAwMDIwMDAwOiBmMTAwMDAwMAo+IChY
RU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDIwIG1mbj1mZTllMCBu
cl9tZm5zPTIwCj4gKFhFTikgSFZNMzogcGNpIGRldiAwNTowIGJhciAxOCBzaXplIDAwMDIwMDAw
OiBmMTAyMDAwNAo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAw
MDogZjEwNDAwMDAKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQw
MDA6IGYxMDYwMDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49
ZjEwNjAgbWZuPWZlOWJjIG5yX21mbnM9NAo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDk6MCBiYXIg
MTAgc2l6ZSAwMDAwNDAwMDogZjEwNjQwMDQKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5
X21hcDphZGQ6IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJfbWZucz00Cj4gKFhFTikgSFZNMzogcGNp
IGRldiAwNzowIGJhciAxMCBzaXplIDAwMDAxMDAwOiBmMTA2ODAwMAo+IChYRU4pIGRvbWN0bC5j
Ojk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY4IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAo
WEVOKSBIVk0zOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUgMDAwMDEwMDA6IGYxMDY5MDAwCj4g
KFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAw
IG5yX21mbnM9MQo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEw
MDogMDAwMGMwMDEKPiAoWEVOKSBIVk0zOiBwY2kgZGV2IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAx
MDA6IDAwMDBjMTAxCj4gKFhFTikgSFZNMzogcGNpIGRldiAwNDowIGJhciAxNCBzaXplIDAwMDAw
MDQwOiAwMDAwYzIwMQo+IChYRU4pIEhWTTM6IHBjaSBkZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAw
MDAxMDogMDAwMGMyNDEKPiAoWEVOKSBIVk0zOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlv
bjoKPiAoWEVOKSBIVk0zOiAgLSBDUFUwIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMg
Li4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0zOiAgLSBDUFUxIC4uLiA0
OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4K
PiAoWEVOKSBIVk0zOiAgLSBDUFUyIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4u
IHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0zOiAgLSBDUFUzIC4uLiA0OC1i
aXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAo
WEVOKSBIVk0zOiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZh
ciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0zOiAgLSBDUFU1IC4uLiA0OC1iaXQg
cGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVO
KSBIVk0zOiBUZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoKPiAoWEVOKSBIVk0zOiAgLSBSRVAgSU5T
QiBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0zOiAgLSBHUyBi
YXNlIE1TUnMgYW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMzogUGFzc2VkIDIgb2Yg
MiB0ZXN0cwo+IChYRU4pIEhWTTM6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KPiAgX18gIF9f
ICAgICAgICAgICAgXyAgXyAgICBfX19fICAgICAgICAgICAgICAgICAgICAgXyAgICAgICAgXyAg
ICAgXyAgICAgIAo+ICBcIFwvIC9fX18gXyBfXyAgIHwgfHwgfCAgfF9fXyBcICAgIF8gICBfIF8g
X18gIF9fX3wgfF8gX18gX3wgfF9fIHwgfCBfX18gCj4gICBcICAvLyBfIFwgJ18gXCAgfCB8fCB8
XyAgIF9fKSB8X198IHwgfCB8ICdfIFwvIF9ffCBfXy8gX2AgfCAnXyBcfCB8LyBfIFwKPiAgIC8g
IFwgIF9fLyB8IHwgfCB8X18gICBffCAvIF9fL3xfX3wgfF98IHwgfCB8IFxfXyBcIHx8IChffCB8
IHxfKSB8IHwgIF9fLwo+ICAvXy9cX1xfX198X3wgfF98ICAgIHxffChfKV9fX19ffCAgIFxfXyxf
fF98IHxffF9fXy9cX19cX18sX3xfLl9fL3xffFxfX198Cj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiAo
WEVOKSBYZW4gdmVyc2lvbiA0LjItdW5zdGFibGUgKHJvb3RAbmV0c2FmZS5jeikgKGdjYyB2ZXJz
aW9uIDQuNC41IChEZWJpYW4gNC40LjUtOCkgKSBTdW4gRmViICA1IDE1OjU1OjMzIENFVCAyMDEy
Cj4gKFhFTikgTGF0ZXN0IENoYW5nZVNldDogVGh1IE1heSAwNSAxNzo0MDozNCAyMDExICswMTAw
IDIzMzAwOjRiMDY5Mjg4MGRmYQo+IChYRU4pIENvbnNvbGUgb3V0cHV0IGlzIHN5bmNocm9ub3Vz
Lgo+IChYRU4pIEJvb3Rsb2FkZXI6IEdSVUIgMS45OCsyMDEwMDgwNC0xNCtzcXVlZXplMQo+IChY
RU4pIENvbW1hbmQgbGluZTogcGxhY2Vob2xkZXIgZG9tMF9tZW09MkcgZG9tMF9tYXhfdmNwdXM9
NiBsb2dsdmw9YWxsIGd1ZXN0X2xvZ2x2bD1hbGwgc3luY19jb25zb2xlIGNvbTE9MTE1MjAwLDhu
MSwweGFjMDAgY29uc29sZT1jb20xCj4gKFhFTikgVmlkZW8gaW5mb3JtYXRpb246Cj4gKFhFTikg
IFZHQSBpcyB0ZXh0IG1vZGUgODB4MjUsIGZvbnQgOHgxNgo+IChYRU4pICBWQkUvRERDIG1ldGhv
ZHM6IFYyOyBFRElEIHRyYW5zZmVyIHRpbWU6IDEgc2Vjb25kcwo+IChYRU4pIERpc2MgaW5mb3Jt
YXRpb246Cj4gKFhFTikgIEZvdW5kIDEgTUJSIHNpZ25hdHVyZXMKPiAoWEVOKSAgRm91bmQgMSBF
REQgaW5mb3JtYXRpb24gc3RydWN0dXJlcwo+IChYRU4pIFhlbi1lODIwIFJBTSBtYXA6Cj4gKFhF
TikgIDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAwMDlhYzAwICh1c2FibGUpCj4gKFhFTikg
IDAwMDAwMDAwMDAwOWFjMDAgLSAwMDAwMDAwMDAwMGEwMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAg
MDAwMDAwMDAwMDBlNDAwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAw
MDAwMDAwMDAwMTAwMDAwIC0gMDAwMDAwMDBjZmU4MDAwMCAodXNhYmxlKQo+IChYRU4pICAwMDAw
MDAwMGNmZTgwMDAwIC0gMDAwMDAwMDBjZmU5ODAwMCAoQUNQSSBkYXRhKQo+IChYRU4pICAwMDAw
MDAwMGNmZTk4MDAwIC0gMDAwMDAwMDBjZmVjMDAwMCAoQUNQSSBOVlMpCj4gKFhFTikgIDAwMDAw
MDAwY2ZlYzAwMDAgLSAwMDAwMDAwMGNmZjAwMDAwIChyZXNlcnZlZCkKPiAoWEVOKSAgMDAwMDAw
MDBmZmUwMDAwMCAtIDAwMDAwMDAxMDAwMDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAw
MTAwMDAwMDAwIC0gMDAwMDAwMDIzMDAwMDAwMCAodXNhYmxlKQo+IChYRU4pIEFDUEk6IFJTRFAg
MDAwRkJGMjAsIDAwMjQgKHIyIEFDUElBTSkKPiAoWEVOKSBBQ1BJOiBYU0RUIENGRTgwMTAwLCAw
MDVDIChyMSAxMDI4MTEgWFNEVDE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBB
Q1BJOiBGQUNQIENGRTgwMjkwLCAwMEY0IChyMyAxMDI4MTEgRkFDUDE3NDAgMjAxMTEwMjggTVNG
VCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBEU0RUIENGRTgwNDcwLCBFNkUzIChyMSAgQTE1OTUg
QTE1OTUwMDAgICAgICAgIDAgSU5UTCAyMDA2MDExMykKPiAoWEVOKSBBQ1BJOiBGQUNTIENGRTk4
MDAwLCAwMDQwCj4gKFhFTikgQUNQSTogQVBJQyBDRkU4MDM5MCwgMDA5OCAocjEgMTAyODExIEFQ
SUMxNzQwIDIwMTExMDI4IE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogTUNGRyBDRkU4MDQz
MCwgMDAzQyAocjEgMTAyODExIE9FTU1DRkcgIDIwMTExMDI4IE1TRlQgICAgICAgOTcpCj4gKFhF
TikgQUNQSTogT0VNQiBDRkU5ODA0MCwgMDA3MiAocjEgMTAyODExIE9FTUIxNzQwIDIwMTExMDI4
IE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogSFBFVCBDRkU4RjhDMCwgMDAzOCAocjEgMTAy
ODExIE9FTUhQRVQgIDIwMTExMDI4IE1TRlQgICAgICAgOTcpCj4gKFhFTikgQUNQSTogSVZSUyBD
RkU4RjkwMCwgMDBFMCAocjEgIEFNRCAgICAgUkQ4OTBTICAgMjAyMDMxIEFNRCAgICAgICAgIDAp
Cj4gKFhFTikgQUNQSTogU1NEVCBDRkU4RjlFMCwgMEUxMCAocjEgQSBNIEkgIFBPV0VSTk9XICAg
ICAgICAxIEFNRCAgICAgICAgIDEpCj4gKFhFTikgU3lzdGVtIFJBTTogODE5ME1CICg4Mzg2NjY0
a0IpCj4gKFhFTikgTm8gTlVNQSBjb25maWd1cmF0aW9uIGZvdW5kCj4gKFhFTikgRmFraW5nIGEg
bm9kZSBhdCAwMDAwMDAwMDAwMDAwMDAwLTAwMDAwMDAyMzAwMDAwMDAKPiAoWEVOKSBEb21haW4g
aGVhcCBpbml0aWFsaXNlZAo+IChYRU4pIGZvdW5kIFNNUCBNUC10YWJsZSBhdCAwMDBmZjc4MAo+
IChYRU4pIERNSSBwcmVzZW50Lgo+IChYRU4pIFVzaW5nIEFQSUMgZHJpdmVyIGRlZmF1bHQKPiAo
WEVOKSBBQ1BJOiBQTS1UaW1lciBJTyBQb3J0OiAweDgwOAo+IChYRU4pIEFDUEk6IEFDUEkgU0xF
RVAgSU5GTzogcG0xeF9jbnRbODA0LDBdLCBwbTF4X2V2dFs4MDAsMF0KPiAoWEVOKSBBQ1BJOiAg
ICAgICAgICAgICAgICAgIHdha2V1cF92ZWNbY2ZlOTgwMGNdLCB2ZWNfc2l6ZVsyMF0KPiAoWEVO
KSBBQ1BJOiBMb2NhbCBBUElDIGFkZHJlc3MgMHhmZWUwMDAwMAo+IChYRU4pIEFDUEk6IExBUElD
IChhY3BpX2lkWzB4MDFdIGxhcGljX2lkWzB4MDBdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29y
ICMwIDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgw
Ml0gbGFwaWNfaWRbMHgwMV0gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzEgMDoxMCBBUElD
IHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAzXSBsYXBpY19pZFsw
eDAyXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjMiAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+
IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MDNdIGVuYWJsZWQp
Cj4gKFhFTikgUHJvY2Vzc29yICMzIDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTog
TEFQSUMgKGFjcGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgwNF0gZW5hYmxlZCkKPiAoWEVOKSBQcm9j
ZXNzb3IgIzQgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9p
ZFsweDA2XSBsYXBpY19pZFsweDA1XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjNSAwOjEw
IEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDddIGxhcGlj
X2lkWzB4ODZdIGRpc2FibGVkKQo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDhdIGxh
cGljX2lkWzB4ODddIGRpc2FibGVkKQo+IChYRU4pIEFDUEk6IElPQVBJQyAoaWRbMHgwNl0gYWRk
cmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKPiAoWEVOKSBJT0FQSUNbMF06IGFwaWNfaWQg
NiwgdmVyc2lvbiAzMywgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0yMwo+IChYRU4pIEFDUEk6
IElPQVBJQyAoaWRbMHgwN10gYWRkcmVzc1sweGZlYzIwMDAwXSBnc2lfYmFzZVsyNF0pCj4gKFhF
TikgSU9BUElDWzFdOiBhcGljX2lkIDcsIHZlcnNpb24gMzMsIGFkZHJlc3MgMHhmZWMyMDAwMCwg
R1NJIDI0LTU1Cj4gKFhFTikgQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9i
YWxfaXJxIDIgZGZsIGRmbCkKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2ly
cSA5IGdsb2JhbF9pcnEgOSBsb3cgbGV2ZWwpCj4gKFhFTikgQUNQSTogSVJRMCB1c2VkIGJ5IG92
ZXJyaWRlLgo+IChYRU4pIEFDUEk6IElSUTIgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBBQ1BJ
OiBJUlE5IHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgRW5hYmxpbmcgQVBJQyBtb2RlOiAgRmxh
dC4gIFVzaW5nIDIgSS9PIEFQSUNzCj4gKFhFTikgQUNQSTogSFBFVCBpZDogMHg4MzAwIGJhc2U6
IDB4ZmVkMDAwMDAKPiAoWEVOKSBQQ0k6IE1DRkcgY29uZmlndXJhdGlvbiAwOiBiYXNlIGUwMDAw
MDAwIHNlZ21lbnQgMCBidXNlcyAwIC0gMjU1Cj4gKFhFTikgUENJOiBOb3QgdXNpbmcgTU1DT05G
SUcuCj4gKFhFTikgVGFibGUgaXMgbm90IGZvdW5kIQo+IChYRU4pIFVzaW5nIEFDUEkgKE1BRFQp
IGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgo+IChYRU4pIElSUSBsaW1pdHM6IDU2
IEdTSSwgMTExMiBNU0kvTVNJLVgKPiAoWEVOKSBVc2luZyBzY2hlZHVsZXI6IFNNUCBDcmVkaXQg
U2NoZWR1bGVyIChjcmVkaXQpCj4gKFhFTikgRGV0ZWN0ZWQgMzAxMC4yMjAgTUh6IHByb2Nlc3Nv
ci4KPiAoWEVOKSBJbml0aW5nIG1lbW9yeSBzaGFyaW5nLgo+IChYRU4pIEFNRCBGYW0xMGggbWFj
aGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZAo+IChYRU4pIEFNRC1WaTogSU9NTVUgMCBFbmFi
bGVkLgo+IChYRU4pIEkvTyB2aXJ0dWFsaXNhdGlvbiBlbmFibGVkCj4gKFhFTikgIC0gRG9tMCBt
b2RlOiBSZWxheGVkCj4gKFhFTikgRU5BQkxJTkcgSU8tQVBJQyBJUlFzCj4gKFhFTikgIC0+IFVz
aW5nIG5ldyBBQ0sgbWV0aG9kCj4gKFhFTikgLi5USU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBw
aW4xPTIgYXBpYzI9LTEgcGluMj0tMQo+IChYRU4pIFBsYXRmb3JtIHRpbWVyIGlzIDE0LjMxOE1I
eiBIUEVUCj4gw78oWEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDY0IEtpQi4KPiAoWEVO
KSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhFTikgU1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVh
dHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBhZ2UgVGFibGVzIChOUFQpCj4gKFhFTikgIC0gTGFz
dCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1YWxpc2F0aW9uCj4gKFhFTikgIC0gTmV4dC1SSVAg
U2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAtIFBhdXNlLUludGVyY2VwdCBGaWx0ZXIKPiAoWEVO
KSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Npc3RlZCBQYWdpbmcg
ZGV0ZWN0ZWQuCj4gKFhFTikgQnJvdWdodCB1cCA2IENQVXMKPiAoWEVOKSBIUEVUJ3MgTVNJIG1v
ZGUgaGFzbid0IGJlZW4gc3VwcG9ydGVkIHdoZW4gSW50ZXJydXB0IFJlbWFwcGluZyBpcyBlbmFi
bGVkLgo+IChYRU4pIEFDUEkgc2xlZXAgbW9kZXM6IFMzCj4gKFhFTikgTUNBOiBVc2UgaHcgdGhy
ZXNob2xkaW5nIHRvIGFkanVzdCBwb2xsaW5nIGZyZXF1ZW5jeQo+IChYRU4pIG1jaGVja19wb2xs
OiBNYWNoaW5lIGNoZWNrIHBvbGxpbmcgdGltZXIgc3RhcnRlZC4KPiAoWEVOKSBYZW5vcHJvZmls
ZTogRmFpbGVkIHRvIHNldHVwIElCUyBMVlQgb2Zmc2V0LCBJQlNDVEwgPSAweGZmZmZmZmZmCj4g
KFhFTikgKioqIExPQURJTkcgRE9NQUlOIDAgKioqCj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTog
cGhkcjogcGFkZHI9MHgxMDAwMDAwIG1lbXN6PTB4NzdjMDAwCj4gKFhFTikgZWxmX3BhcnNlX2Jp
bmFyeTogcGhkcjogcGFkZHI9MHgxNzdjMDAwIG1lbXN6PTB4OGRhODgKPiAoWEVOKSBlbGZfcGFy
c2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE4MGEwMDAgbWVtc3o9MHg4YzgKPiAoWEVOKSBlbGZf
cGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE4MGIwMDAgbWVtc3o9MHgxNGE1OAo+IChYRU4p
IGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTgyMDAwMCBtZW1zej0weDIxMjAwMAo+
IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IG1lbW9yeTogMHgxMDAwMDAwIC0+IDB4MWEzMjAwMAo+
IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogR1VFU1RfT1MgPSAibGludXgiCj4gKFhFTikgZWxm
X3hlbl9wYXJzZV9ub3RlOiBHVUVTVF9WRVJTSU9OID0gIjIuNiIKPiAoWEVOKSBlbGZfeGVuX3Bh
cnNlX25vdGU6IFhFTl9WRVJTSU9OID0gInhlbi0zLjAiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9u
b3RlOiBWSVJUX0JBU0UgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNl
X25vdGU6IEVOVFJZID0gMHhmZmZmZmZmZjgxODIwMjAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9u
b3RlOiBIWVBFUkNBTExfUEFHRSA9IDB4ZmZmZmZmZmY4MTAwOTAwMAo+IChYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogRkVBVFVSRVMgPSAiIXdyaXRhYmxlX3BhZ2VfdGFibGVzfHBhZV9wZ2Rpcl9h
Ym92ZV80Z2IiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBQQUVfTU9ERSA9ICJ5ZXMiCj4g
KFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBMT0FERVIgPSAiZ2VuZXJpYyIKPiAoWEVOKSBlbGZf
eGVuX3BhcnNlX25vdGU6IHVua25vd24geGVuIGVsZiBub3RlICgweGQpCj4gKFhFTikgZWxmX3hl
bl9wYXJzZV9ub3RlOiBTVVNQRU5EX0NBTkNFTCA9IDB4MQo+IChYRU4pIGVsZl94ZW5fcGFyc2Vf
bm90ZTogSFZfU1RBUlRfTE9XID0gMHhmZmZmODAwMDAwMDAwMDAwCj4gKFhFTikgZWxmX3hlbl9w
YXJzZV9ub3RlOiBQQUREUl9PRkZTRVQgPSAweDAKPiAoWEVOKSBlbGZfeGVuX2FkZHJfY2FsY19j
aGVjazogYWRkcmVzc2VzOgo+IChYRU4pICAgICB2aXJ0X2Jhc2UgICAgICAgID0gMHhmZmZmZmZm
ZjgwMDAwMDAwCj4gKFhFTikgICAgIGVsZl9wYWRkcl9vZmZzZXQgPSAweDAKPiAoWEVOKSAgICAg
dmlydF9vZmZzZXQgICAgICA9IDB4ZmZmZmZmZmY4MDAwMDAwMAo+IChYRU4pICAgICB2aXJ0X2tz
dGFydCAgICAgID0gMHhmZmZmZmZmZjgxMDAwMDAwCj4gKFhFTikgICAgIHZpcnRfa2VuZCAgICAg
ICAgPSAweGZmZmZmZmZmODFhMzIwMDAKPiAoWEVOKSAgICAgdmlydF9lbnRyeSAgICAgICA9IDB4
ZmZmZmZmZmY4MTgyMDIwMAo+IChYRU4pICAgICBwMm1fYmFzZSAgICAgICAgID0gMHhmZmZmZmZm
ZmZmZmZmZmZmCj4gKFhFTikgIFhlbiAga2VybmVsOiA2NC1iaXQsIGxzYiwgY29tcGF0MzIKPiAo
WEVOKSAgRG9tMCBrZXJuZWw6IDY0LWJpdCwgUEFFLCBsc2IsIHBhZGRyIDB4MTAwMDAwMCAtPiAw
eDFhMzIwMDAKPiAoWEVOKSBQSFlTSUNBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6Cj4gKFhFTikgIERv
bTAgYWxsb2MuOiAgIDAwMDAwMDAyMjQwMDAwMDAtPjAwMDAwMDAyMjgwMDAwMDAgKDUwNjI2MyBw
YWdlcyB0byBiZSBhbGxvY2F0ZWQpCj4gKFhFTikgIEluaXQuIHJhbWRpc2s6IDAwMDAwMDAyMmY5
OTcwMDAtPjAwMDAwMDAyMmZmZmY2MDAKPiAoWEVOKSBWSVJUVUFMIE1FTU9SWSBBUlJBTkdFTUVO
VDoKPiAoWEVOKSAgTG9hZGVkIGtlcm5lbDogZmZmZmZmZmY4MTAwMDAwMC0+ZmZmZmZmZmY4MWEz
MjAwMAo+IChYRU4pICBJbml0LiByYW1kaXNrOiBmZmZmZmZmZjgxYTMyMDAwLT5mZmZmZmZmZjgy
MDlhNjAwCj4gKFhFTikgIFBoeXMtTWFjaCBtYXA6IGZmZmZmZmZmODIwOWIwMDAtPmZmZmZmZmZm
ODI0OWIwMDAKPiAoWEVOKSAgU3RhcnQgaW5mbzogICAgZmZmZmZmZmY4MjQ5YjAwMC0+ZmZmZmZm
ZmY4MjQ5YjRiNAo+IChYRU4pICBQYWdlIHRhYmxlczogICBmZmZmZmZmZjgyNDljMDAwLT5mZmZm
ZmZmZjgyNGIzMDAwCj4gKFhFTikgIEJvb3Qgc3RhY2s6ICAgIGZmZmZmZmZmODI0YjMwMDAtPmZm
ZmZmZmZmODI0YjQwMDAKPiAoWEVOKSAgVE9UQUw6ICAgICAgICAgZmZmZmZmZmY4MDAwMDAwMC0+
ZmZmZmZmZmY4MjgwMDAwMAo+IChYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgxODIwMjAw
Cj4gKFhFTikgRG9tMCBoYXMgbWF4aW11bSA2IFZDUFVzCj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5
OiBwaGRyIDAgYXQgMHhmZmZmZmZmZjgxMDAwMDAwIC0+IDB4ZmZmZmZmZmY4MTc3YzAwMAo+IChY
RU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAxIGF0IDB4ZmZmZmZmZmY4MTc3YzAwMCAtPiAweGZm
ZmZmZmZmODE4MDlhODgKPiAoWEVOKSBlbGZfbG9hZF9iaW5hcnk6IHBoZHIgMiBhdCAweGZmZmZm
ZmZmODE4MGEwMDAgLT4gMHhmZmZmZmZmZjgxODBhOGM4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5
OiBwaGRyIDMgYXQgMHhmZmZmZmZmZjgxODBiMDAwIC0+IDB4ZmZmZmZmZmY4MTgxZmE1OAo+IChY
RU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciA0IGF0IDB4ZmZmZmZmZmY4MTgyMDAwMCAtPiAweGZm
ZmZmZmZmODE4YjMwMDAKPiAoWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChY
RU4pIFN0ZC4gTG9nbGV2ZWw6IEFsbAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVO
KSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikg
KioqKioqKiBXQVJOSU5HOiBDT05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoq
KioqKiogVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkg
ZW5zdXJpbmcKPiAoWEVOKSAqKioqKioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5
IGRlbGl2ZXJlZCBvbiB0aGUgc2VyaWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0
IGNhbiBpbnRyb2R1Y2UgU0lHTklGSUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAq
KioqKioqIHRpbWVrZWVwaW5nLiBJdCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24g
dXNlIQo+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKPiAoWEVOKSAzLi4uIDIuLi4gMS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERP
TTAgKHR5cGUgJ0NUUkwtYScgdGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAo
WEVOKSBGcmVlZCAyMzZrQiBpbml0IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNp
Y2FsIG1lbW9yeQo+IFhlbjogc2V0dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQg
c3RhcnRlZC4uLgo+IEVSUk9SOiBVbmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJIDIKPiBF
UlJPUjogVW5hYmxlIHRvIGxvY2F0ZSBJT0FQSUMgZm9yIEdTSSA5Cj4gKFhFTikgdHJhcHMuYzoy
NDA1OmQwIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAw
MGU0YTc1ZGY4NjUxNCB0byAweDAwMDAwMDAwMDAwMDAwMDAuCj4gKFhFTikgdHJhcHMuYzoyNDA1
OmQwIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwMCBmcm9tIDB4MDAwMDAz
MGUxYjBlZmZlOSB0byAweDAwMDAwMDAwMDA0MzAwNzYuCj4gRVJST1I6IFVuYWJsZSB0byBsb2Nh
dGUgSU9BUElDIGZvciBHU0kgOQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjAwLjAKPiAoWEVO
KSBQQ0kgYWRkIGRldmljZSAwMDowMC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDIuMAo+
IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjA0LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDow
NS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MDYuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwOjA3LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDowZC4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDA6MTEuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjEyLjAKPiAoWEVOKSBQQ0kg
YWRkIGRldmljZSAwMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTMuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwOjEzLjIKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxNC4wCj4g
KFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTQuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE0
LjMKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxNC40Cj4gKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDA6MTQuNQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE2LjAKPiAoWEVOKSBQQ0kgYWRkIGRl
dmljZSAwMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDA6MTguMAo+IChYRU4pIFBDSSBh
ZGQgZGV2aWNlIDAwOjE4LjEKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDoxOC4yCj4gKFhFTikg
UENJIGFkZCBkZXZpY2UgMDA6MTguMwo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjE4LjQKPiAo
WEVOKSBQQ0kgYWRkIGRldmljZSAwNzowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDc6MDAu
MQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDA2OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAw
NjowMC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDU6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2
aWNlIDA0OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMzowMC4wCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDI6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAyOjAwLjEKPiByZWdpc3Rl
cmluZyBuZXRiYWNrCj4gSVQ4NyBXRFQ6IFVua25vd24gQ2hpcCBmb3VuZCwgQ2hpcCA4NzIxIFJl
dmlzaW9uIDAwMDEKPiBbRmlybXdhcmUgQnVnXTogcG93ZXJub3ctazg6IE5vIGNvbXBhdGlibGUg
QUNQSSBfUFNTIG9iamVjdHMgZm91bmQuCj4gW0Zpcm13YXJlIEJ1Z106IHBvd2Vybm93LWs4OiBU
cnkgYWdhaW4gd2l0aCBsYXRlc3QgQklPUy4KPiBMb2FkaW5nLCBwbGVhc2Ugd2FpdC4uLgo+IElO
SVQ6IHZlcnNpb24gMi44OCBib290aW5nCj4gVXNpbmcgbWFrZWZpbGUtc3R5bGUgY29uY3VycmVu
dCBib290IGluIHJ1bmxldmVsIFMuCj4gU3RhcnRpbmcgdGhlIGhvdHBsdWcgZXZlbnRzIGRpc3Bh
dGNoZXI6IHVkZXZkLgo+IFN5bnRoZXNpemluZyB0aGUgaW5pdGlhbCBob3RwbHVnIGV2ZW50cy4u
LmRvbmUuCj4gV2FpdGluZyBmb3IgL2RldiB0byBiZSBmdWxseSBwb3B1bGF0ZWQuLi51ZGV2ZC13
b3JrWzE0MjldOiBrZXJuZWwtcHJvdmlkZWQgbmFtZSAnYmxrdGFwLWNvbnRyb2wnIGFuZCBOQU1F
PSAneGVuL2Jsa3RhcC0yL2NvbnRyb2wnIGRpc2FncmVlLCBwbGVhc2UgdXNlIFNZTUxJTksrPSBv
ciBjaGFuZ2UgdGhlIGtlcm5lbCB0byBwcm92aWRlIHRoZSBwcm9wZXIgbmFtZQo+IAo+IGRvbmUu
Cj4gU2V0dGluZyBwcmVsaW1pbmFyeSBrZXltYXAuLi5kb25lLgo+IEFjdGl2YXRpbmcgc3dhcC4u
LmRvbmUuCj4gQ2hlY2tpbmcgcm9vdCBmaWxlIHN5c3RlbS4uLmZzY2sgZnJvbSB1dGlsLWxpbnV4
LW5nIDIuMTcuMgo+IEhPV1RPX1JPT1Q6IGNsZWFuLCA5NTA1Ni8xNDE5ODQwIGZpbGVzLCA3MzEy
MDcvNTY3OTEwNCBibG9ja3MgKGNoZWNrIGluIDMgbW91bnRzKQo+IGRvbmUuCj4gTG9hZGluZyBr
ZXJuZWwgbW9kdWxlcy4uLmRvbmUuCj4gQ2xlYW5pbmcgdXAgaWZ1cGRvd24uLi4uCj4gU2V0dGlu
ZyB1cCBuZXR3b3JraW5nLi4uLgo+IFNldHRpbmcgdXAgTFZNIFZvbHVtZSBHcm91cHMgIFJlYWRp
bmcgYWxsIHBoeXNpY2FsIHZvbHVtZXMuICBUaGlzIG1heSB0YWtlIGEgd2hpbGUuLi4KPiAgIEZv
dW5kIHZvbHVtZSBncm91cCAibGVtcm91Y2giIHVzaW5nIG1ldGFkYXRhIHR5cGUgbHZtMgo+ICAg
NCBsb2dpY2FsIHZvbHVtZShzKSBpbiB2b2x1bWUgZ3JvdXAgImxlbXJvdWNoIiBub3cgYWN0aXZl
Cj4gLgo+IEFjdGl2YXRpbmcgbHZtIGFuZCBtZCBzd2FwLi4uZG9uZS4KPiBDaGVja2luZyBmaWxl
IHN5c3RlbXMuLi5mc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBkb25lLgo+IE1vdW50
aW5nIGxvY2FsIGZpbGVzeXN0ZW1zLi4uZG9uZS4KPiBBY3RpdmF0aW5nIHN3YXBmaWxlIHN3YXAu
Li5kb25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBTZXR0aW5nIGtlcm5l
bCB2YXJpYWJsZXMgLi4uZG9uZS4KPiBDb25maWd1cmluZyBuZXR3b3JrIGludGVyZmFjZXMuLi5k
b25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBTZXR0aW5nIGNvbnNvbGUg
c2NyZWVuIG1vZGVzLgo+IFJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZQo+IFNraXBwaW5n
IGZvbnQgYW5kIGtleW1hcCBzZXR1cCAoaGFuZGxlZCBieSBjb25zb2xlLXNldHVwKS4KPiBTZXR0
aW5nIHVwIGNvbnNvbGUgZm9udCBhbmQga2V5bWFwLi4uZG9uZS4KPiBJTklUOiBFbnRlcmluZyBy
dW5sZXZlbDogMgo+IFVzaW5nIG1ha2VmaWxlLXN0eWxlIGNvbmN1cnJlbnQgYm9vdCBpbiBydW5s
ZXZlbCAyLgo+IGFjcGlkOiBzdGFydGluZyB1cCB3aXRoIHByb2MgZnMKPiAKPiBhY3BpZDogMSBy
dWxlIGxvYWRlZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6IGV2ZW50IGxvZ2dpbmcg
aXMgb2ZmCj4gCj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBTdGFydGluZyBzeXN0ZW0g
bWVzc2FnZSBidXM6IGRidXMuCj4gU3RhcnRpbmcgcGVyaW9kaWMgY29tbWFuZCBzY2hlZHVsZXI6
IGNyb24uCj4gU3RhcnRpbmcgT3BlbkJTRCBTZWN1cmUgU2hlbGwgc2VydmVyOiBzc2hkLgo+IFN0
YXJ0aW5nIHhlbnN0b3JlZC4uLlhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVO
QlVTOiBVbmFibGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNw
dSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFi
bGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+
IAo+IFNldHRpbmcgZG9tYWluIDAgbmFtZS4uLgo+IFN0YXJ0aW5nIHhlbmNvbnNvbGVkLi4uCj4g
QkxLVEFQQ1RSTFsyMTU2XTogYmxrdGFwY3RybC5jOjc5MDogYmxrdGFwY3RybDogdjEuMC4wCj4g
Cj4gQkxLVEFQQ1RSTFsyMTU2XTogYmxrdGFwY3RybC5jOjc5MjogRm91bmQgZHJpdmVyOiBbcmF3
IGltYWdlIChhaW8pXQo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo3OTI6IEZv
dW5kIGRyaXZlcjogW3JhdyBpbWFnZSAoc3luYyldCj4gCj4gQkxLVEFQQ1RSTFsyMTU2XTogYmxr
dGFwY3RybC5jOjc5MjogRm91bmQgZHJpdmVyOiBbdm13YXJlIGltYWdlICh2bWRrKV0KPiAKPiBC
TEtUQVBDVFJMWzIxNTZdOiBibGt0YXBjdHJsLmM6NzkyOiBGb3VuZCBkcml2ZXI6IFtyYW1kaXNr
IGltYWdlIChyYW0pXQo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo3OTI6IEZv
dW5kIGRyaXZlcjogW3Fjb3cgZGlzayAocWNvdyldCj4gCj4gQkxLVEFQQ1RSTFsyMTU2XTogYmxr
dGFwY3RybC5jOjc5MjogRm91bmQgZHJpdmVyOiBbcWNvdzIgZGlzayAocWNvdzIpXQo+IAo+IEJM
S1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmxfbGludXguYzo4NjogYmxrdGFwMCBvcGVuIGZhaWxl
ZAo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo4NTk6IGNvdWxkbid0IG9wZW4g
YmxrdGFwIGludGVyZmFjZQo+IAo+IEJMS1RBUENUUkxbMjE1Nl06IGJsa3RhcGN0cmwuYzo5MjI6
IFVuYWJsZSB0byBzdGFydCBibGt0YXBjdHJsCj4gCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2Ug
MDA6MTIuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwOjEyLjIKPiAvdXNyL2xvY2FsL2Jpbi94
ZW5fc3RhcnQuc2g6IGxpbmUgMTU6IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDc6MDAuMC9k
cml2ZXIvdW5iaW5kOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gVXNpbmcgY29uZmlnIGZp
bGUgIi9ldGMveGVuL3dpbmRvd3MiLgo+IChYRU4pIGRvbWN0bC5jOjEwNDI6ZDAgaW9wb3J0X21h
cDphZGQgZl9ncG9ydD0zYjAgZl9tcG9ydD0zYjAgbnA9Ywo+IChYRU4pIGRvbWN0bC5jOjk4Njpk
MCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWEwIG1mbj1hMCBucl9tZm5zPTIwCj4gKFhFTikgZG9tY3Rs
LmM6MTA0MjpkMCBpb3BvcnRfbWFwOmFkZCBmX2dwb3J0PTNjMCBmX21wb3J0PTNjMCBucD0zCj4g
KFhFTikgZG9tY3RsLmM6MTA0MjpkMCBpb3BvcnRfbWFwOmFkZCBmX2dwb3J0PTNjNCBmX21wb3J0
PTNjNCBucD0xYwo+IChYRU4pIEhWTTE6IEhWTSBMb2FkZXIKPiAoWEVOKSBIVk0xOiBEZXRlY3Rl
ZCBYZW4gdjQuMi11bnN0YWJsZQo+IChYRU4pIEhWTTE6IFhlbmJ1cyByaW5ncyBAMHhmZWZmYzAw
MCwgZXZlbnQgY2hhbm5lbCA3Cj4gU3RhcnRlZCBkb21haW4gd2luZG93cyAoaWQ9MSkoWEVOKSBI
Vk0xOiBTeXN0ZW0gcmVxdWVzdGVkIFJPTUJJT1MKPiAKPiAoWEVOKSBIVk0xOiBDUFUgc3BlZWQg
aXMgMzAxMCBNSHoKPiAoWEVOKSBpcnEuYzoyNTg6IERvbTEgUENJIGxpbmsgMCBjaGFuZ2VkIDAg
LT4gNQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAwIHJvdXRlZCB0byBJUlE1Cj4gKFhFTikg
aXJxLmM6MjU4OiBEb20xIFBDSSBsaW5rIDEgY2hhbmdlZCAwIC0+IDEwCj4gKFhFTikgSFZNMTog
UENJLUlTQSBsaW5rIDEgcm91dGVkIHRvIElSUTEwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBD
SSBsaW5rIDIgY2hhbmdlZCAwIC0+IDExCj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDIgcm91
dGVkIHRvIElSUTExCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBDSSBsaW5rIDMgY2hhbmdlZCAw
IC0+IDUKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMyByb3V0ZWQgdG8gSVJRNQo+IChYRU4p
IEhWTTE6IHBjaSBkZXYgMDE6MyBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6
MCBJTlRBLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNDowIElOVEEtPklSUTUKPiAoWEVO
KSBIVk0xOiBwY2kgZGV2IDA1OjAgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2
OjAgSU5UQi0+SVJRNQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBJTlRBLT5JUlE1Cj4gKFhF
TikgSFZNMTogcGNpIGRldiAwODowIElOVEItPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAw
OTowIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxMCBzaXplIDEw
MDAwMDAwOiBlMDAwMDAwYwo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDog
Z2ZuPWUwMDAwIG1mbj1kMDAwMCBucl9tZm5zPTEwMDAwCj4gKFhFTikgSFZNMTogcGNpIGRldiAw
MzowIGJhciAxNCBzaXplIDAxMDAwMDAwOiBmMDAwMDAwOAo+IChYRU4pIEhWTTE6IHBjaSBkZXYg
MDQ6MCBiYXIgMTAgc2l6ZSAwMDAyMDAwMDogZjEwMDAwMDAKPiAoWEVOKSBkb21jdGwuYzo5ODY6
ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnJfbWZucz0yMAo+IChYRU4p
IEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTggc2l6ZSAwMDAyMDAwMDogZjEwMjAwMDQKPiAoWEVO
KSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDMwIHNpemUgMDAwMjAwMDA6IGYxMDQwMDAwCj4gKFhF
TikgSFZNMTogcGNpIGRldiAwNjowIGJhciAxMCBzaXplIDAwMDA0MDAwOiBmMTA2MDAwNAo+IChY
RU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDYwIG1mbj1mZTliYyBu
cl9tZm5zPTQKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA5OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6
IGYxMDY0MDA0Cj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEw
NjQgbWZuPWZlM2Y4IG5yX21mbnM9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBiYXIgMTAg
c2l6ZSAwMDAwMTAwMDogZjEwNjgwMDAKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21h
cDphZGQ6IGdmbj1mMTA2OCBtZm49ZmUzZjcgbnJfbWZucz0xCj4gKFhFTikgSFZNMTogcGNpIGRl
diAwODowIGJhciAxMCBzaXplIDAwMDAxMDAwOiBmMTA2OTAwMAo+IChYRU4pIGRvbWN0bC5jOjk4
NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDY5IG1mbj1mMDAwMCBucl9tZm5zPTEKPiAoWEVO
KSBIVk0xOiBwY2kgZGV2IDAzOjAgYmFyIDEwIHNpemUgMDAwMDAxMDA6IDAwMDBjMDAxCj4gKFhF
TikgSFZNMTogcGNpIGRldiAwNTowIGJhciAyMCBzaXplIDAwMDAwMTAwOiAwMDAwYzEwMQo+IChY
RU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBiYXIgMTQgc2l6ZSAwMDAwMDA0MDogMDAwMGMyMDEKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDAxOjEgYmFyIDIwIHNpemUgMDAwMDAwMTA6IDAwMDBjMjQxCj4g
KFhFTikgSFZNMTogTXVsdGlwcm9jZXNzb3IgaW5pdGlhbGlzYXRpb246Cj4gKFhFTikgSFZNMTog
IC0gQ1BVMCAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMv
OF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BVMSAuLi4gNDgtYml0IHBoeXMgLi4uIGZp
eGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0g
Q1BVMiAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0g
Li4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BVMyAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVk
IE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BV
NCAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4u
IGRvbmUuCj4gKFhFTikgSFZNMTogIC0gQ1BVNSAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1U
UlJzIC4uLiB2YXIgTVRSUnMgWzMvOF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTogVGVzdGluZyBI
Vk0gZW52aXJvbm1lbnQ6Cj4gKFhFTikgSFZNMTogIC0gUkVQIElOU0IgYWNyb3NzIHBhZ2UgYm91
bmRhcmllcyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMTogIC0gR1MgYmFzZSBNU1JzIGFuZCBTV0FQ
R1MgLi4uIHBhc3NlZAo+IChYRU4pIEhWTTE6IFBhc3NlZCAyIG9mIDIgdGVzdHMKPiAoWEVOKSBI
Vk0xOiBXcml0aW5nIFNNQklPUyB0YWJsZXMgLi4uCj4gKFhFTikgSFZNMTogTG9hZGluZyBST01C
SU9TIC4uLgo+IChYRU4pIEhWTTE6IDk2NjAgYnl0ZXMgb2YgUk9NQklPUyBoaWdoLW1lbW9yeSBl
eHRlbnNpb25zOgo+IChYRU4pIEhWTTE6ICAgUmVsb2NhdGluZyB0byAweGZjMDAwMDAwLTB4ZmMw
MDI1YmMgLi4uIGRvbmUKPiAoWEVOKSBIVk0xOiBDcmVhdGluZyBNUCB0YWJsZXMgLi4uCj4gKFhF
TikgSFZNMTogTG9hZGluZyBWR0FCSU9TIG9mIHBhc3N0aHJvdWdoZWQgZ2Z4IC4uLgo+IChYRU4p
IEhWTTE6IExvYWRpbmcgUENJIE9wdGlvbiBST00gLi4uCj4gKFhFTikgSFZNMTogIC0gTWFudWZh
Y3R1cmVyOiBodHRwOi8vZXRoZXJib290Lm9yZwo+IChYRU4pIEhWTTE6ICAtIFByb2R1Y3QgbmFt
ZTogZ1BYRQo+IChYRU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KPiAoWEVOKSBIVk0xOiAgLSBM
byBkYXRhOiAwMDBlYTAyMC0wMDBlYTA0Zgo+IChYRU4pIEhWTTE6ICAtIEhpIGRhdGE6IGZjMDAy
ODAwLWZjMDEyOTFmCj4gKFhFTikgSFZNMTogdm04NiBUU1MgYXQgZmMwMTJjMDAKPiAoWEVOKSBI
Vk0xOiBCSU9TIG1hcDoKPiAoWEVOKSBIVk0xOiAgYzAwMDAtY2ZmZmY6IFZHQSBCSU9TCj4gKFhF
TikgSFZNMTogIGQwMDAwLWUxZmZmOiBFdGhlcmJvb3QgUk9NCj4gKFhFTikgSFZNMTogIGViMDAw
LWViMjBmOiBTTUJJT1MgdGFibGVzCj4gKFhFTikgSFZNMTogIGYwMDAwLWZmZmZmOiBNYWluIEJJ
T1MKPiAoWEVOKSBIVk0xOiBFODIwIHRhYmxlOgo+IChYRU4pIEhWTTE6ICBbMDBdOiAwMDAwMDAw
MDowMDAwMDAwMCAtIDAwMDAwMDAwOjAwMDllMDAwOiBSQU0KPiAoWEVOKSBIVk0xOiAgWzAxXTog
MDAwMDAwMDA6MDAwOWUwMDAgLSAwMDAwMDAwMDowMDA5ZmMwMDogUkVTRVJWRUQKPiAoWEVOKSBI
Vk0xOiAgWzAyXTogMDAwMDAwMDA6MDAwOWZjMDAgLSAwMDAwMDAwMDowMDBhMDAwMDogUkVTRVJW
RUQKPiAoWEVOKSBIVk0xOiAgSE9MRTogMDAwMDAwMDA6MDAwYTAwMDAgLSAwMDAwMDAwMDowMDBl
MDAwMAo+IChYRU4pIEhWTTE6ICBbMDNdOiAwMDAwMDAwMDowMDBlMDAwMCAtIDAwMDAwMDAwOjAw
MTAwMDAwOiBSRVNFUlZFRAo+IChYRU4pIEhWTTE6ICBbMDRdOiAwMDAwMDAwMDowMDEwMDAwMCAt
IDAwMDAwMDAwOmUwMDAwMDAwOiBSQU0KPiAoWEVOKSBIVk0xOiAgSE9MRTogMDAwMDAwMDA6ZTAw
MDAwMDAgLSAwMDAwMDAwMDpmYzAwMDAwMAo+IChYRU4pIEhWTTE6ICBbMDVdOiAwMDAwMDAwMDpm
YzAwMDAwMCAtIDAwMDAwMDAxOjAwMDAwMDAwOiBSRVNFUlZFRAo+IChYRU4pIEhWTTE6ICBbMDZd
OiAwMDAwMDAwMTowMDAwMDAwMCAtIDAwMDAwMDAxOjIwMDAwMDAwOiBSQU0KPiAoWEVOKSBIVk0x
OiBJbnZva2luZyBST01CSU9TIC4uLgo+IChYRU4pIEhWTTE6ICRSZXZpc2lvbjogMS4yMjEgJCAk
RGF0ZTogMjAwOC8xMi8wNyAxNzozMjoyOSAkCj4gKFhFTikgSFZNMTogQm9jaHMgQklPUyAtIGJ1
aWxkOiAwNi8yMy85OQo+IChYRU4pIEhWTTE6ICRSZXZpc2lvbjogMS4yMjEgJCAkRGF0ZTogMjAw
OC8xMi8wNyAxNzozMjoyOSAkCj4gKFhFTikgSFZNMTogT3B0aW9uczogYXBtYmlvcyBwY2liaW9z
IGVsdG9yaXRvIFBNTSAKPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBIVk0xOiBhdGEwLTA6IFBDSFM9
MTYzODMvMTYvNjMgdHJhbnNsYXRpb249bGJhIExDSFM9MTAyNC8yNTUvNjMKPiAoWEVOKSBIVk0x
OiBhdGEwIG1hc3RlcjogUUVNVSBIQVJERElTSyBBVEEtNyBIYXJkLURpc2sgKDIwNDgwIE1CeXRl
cykKPiAoWEVOKSBIVk0xOiBhdGEwLTE6IFBDSFM9MTYzODMvMTYvNjMgdHJhbnNsYXRpb249bGJh
IExDSFM9MTAyNC8yNTUvNjMKPiAoWEVOKSBIVk0xOiBhdGEwICBzbGF2ZTogUUVNVSBIQVJERElT
SyBBVEEtNyBIYXJkLURpc2sgKDUxMjAwIE1CeXRlcykKPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBI
Vk0xOiAKPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBIVk0xOiBQcmVzcyBGMTIgZm9yIGJvb3QgbWVu
dS4KPiAoWEVOKSBIVk0xOiAKPiAoWEVOKSBIVk0xOiBCb290aW5nIGZyb20gSGFyZCBEaXNrLi4u
Cj4gKFhFTikgSFZNMTogQm9vdGluZyBmcm9tIDAwMDA6N2MwMAo+IChYRU4pIGlycS5jOjI1ODog
RG9tMSBQQ0kgbGluayAwIGNoYW5nZWQgNSAtPiAwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBD
SSBsaW5rIDEgY2hhbmdlZCAxMCAtPiAwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBDSSBsaW5r
IDIgY2hhbmdlZCAxMSAtPiAwCj4gKFhFTikgaXJxLmM6MjU4OiBEb20xIFBDSSBsaW5rIDMgY2hh
bmdlZCA1IC0+IDAKPiAoWEVOKSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21hcDpyZW1vdmU6IGdm
bj1lMDAwMCBtZm49ZDAwMDAgbnJfbWZucz0xMDAwMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBt
ZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIwCj4gKFhFTikg
ZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21m
bnM9MTAwMDAKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTAy
MCBtZm49ZmU5ZTAgbnJfbWZucz0yMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFw
OnJlbW92ZTogZ2ZuPWYxMDYwIG1mbj1mZTliYyBucl9tZm5zPTQKPiAoWEVOKSBkb21jdGwuYzo5
ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTA2MCBtZm49ZmU5YmMgbnJfbWZucz00Cj4gKFhF
TikgZG9tY3RsLmM6OTk2OmQwIG1lbW9yeV9tYXA6cmVtb3ZlOiBnZm49ZjEwNjggbWZuPWZlM2Y3
IG5yX21mbnM9MQo+IChYRU4pIGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYx
MDY4IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21h
cDpyZW1vdmU6IGdmbj1mMTA2OSBtZm49ZjAwMDAgbnJfbWZucz0xCj4gKFhFTikgZG9tY3RsLmM6
OTg2OmQwIG1lbW9yeV9tYXA6YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9MQo+IChY
RU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDY0IG1mbj1mZTNm
OCBucl9tZm5zPTQKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1m
MTA2NCBtZm49ZmUzZjggbnJfbWZucz00Cj4gKFhFTikgZ3JhbnRfdGFibGUuYzoxMTU2OmQxIEV4
cGFuZGluZyBkb20gKDEpIGdyYW50IHRhYmxlIGZyb20gKDQpIHRvICgzMikgZnJhbWVzLgo+IChY
RU4pIGlycS5jOjMyNDogRG9tMSBjYWxsYmFjayB2aWEgY2hhbmdlZCB0byBHU0kgMjgKPiAoWEVO
KSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21hcDpyZW1vdmU6IGdmbj1lMDAwMCBtZm49ZDAwMDAg
bnJfbWZucz0xMDAwMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFwOnJlbW92ZTog
Z2ZuPWYxMDIwIG1mbj1mZTllMCBucl9tZm5zPTIwCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1l
bW9yeV9tYXA6YWRkOiBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yX21mbnM9MTAwMDAKPiAoWEVOKSBk
b21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnJfbWZu
cz0yMAo+IChYRU4pIGRvbWN0bC5jOjk5NjpkMCBtZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDY4
IG1mbj1mZTNmNyBucl9tZm5zPTEKPiAoWEVOKSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDph
ZGQ6IGdmbj1mMTA2OCBtZm49ZmUzZjcgbnJfbWZucz0xCj4gKFhFTikgZG9tY3RsLmM6OTk2OmQw
IG1lbW9yeV9tYXA6cmVtb3ZlOiBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yX21mbnM9NAo+IChYRU4p
IGRvbWN0bC5jOjk4NjpkMCBtZW1vcnlfbWFwOmFkZDogZ2ZuPWYxMDYwIG1mbj1mZTliYyBucl9t
Zm5zPTQKPiAoWEVOKSBkb21jdGwuYzo5OTY6ZDAgbWVtb3J5X21hcDpyZW1vdmU6IGdmbj1mMTA2
OSBtZm49ZjAwMDAgbnJfbWZucz0xCj4gKFhFTikgZG9tY3RsLmM6OTg2OmQwIG1lbW9yeV9tYXA6
YWRkOiBnZm49ZjEwNjkgbWZuPWYwMDAwIG5yX21mbnM9MQo+IChYRU4pIGRvbWN0bC5jOjk5Njpk
MCBtZW1vcnlfbWFwOnJlbW92ZTogZ2ZuPWYxMDY0IG1mbj1mZTNmOCBucl9tZm5zPTQKPiAoWEVO
KSBkb21jdGwuYzo5ODY6ZDAgbWVtb3J5X21hcDphZGQ6IGdmbj1mMTA2NCBtZm49ZmUzZjggbnJf
bWZucz00Cgo+ICBfXyAgX18gICAgICAgICAgICBfICBfICAgIF9fX18gICAgICAgICAgICAgICAg
ICAgICBfICAgICAgICBfICAgICBfICAgICAgCj4gIFwgXC8gL19fXyBfIF9fICAgfCB8fCB8ICB8
X19fIFwgICAgXyAgIF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18gfCB8IF9fXyAKPiAgIFwgIC8v
IF8gXCAnXyBcICB8IHx8IHxfICAgX18pIHxfX3wgfCB8IHwgJ18gXC8gX198IF9fLyBfYCB8ICdf
IFx8IHwvIF8gXAo+ICAgLyAgXCAgX18vIHwgfCB8IHxfXyAgIF98IC8gX18vfF9ffCB8X3wgfCB8
IHwgXF9fIFwgfHwgKF98IHwgfF8pIHwgfCAgX18vCj4gIC9fL1xfXF9fX3xffCB8X3wgICAgfF98
KF8pX19fX198ICAgXF9fLF98X3wgfF98X19fL1xfX1xfXyxffF8uX18vfF98XF9fX3wKPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11bnN0YWJsZSAocm9vdEAobm9u
ZSkpIChnY2MgdmVyc2lvbiA0LjQuNSAoRGViaWFuIDQuNC41LTgpICkgU2F0IE1heSAgNSAxNTo0
ODo0OCBDRVNUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiBGcmkgTWF5IDA0IDExOjE4
OjQ4IDIwMTIgKzAxMDAgMjUyNTk6MGY1MzU0MDQ5NGY3Cj4gKFhFTikgQ29uc29sZSBvdXRwdXQg
aXMgc3luY2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JVQiAxLjk4KzIwMTAwODA0LTE0
K3NxdWVlemUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBkb20wX21lbT0yRyBk
b20wX21heF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBzeW5jX2NvbnNvbGUg
Y29tMT0xMTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAoWEVOKSBWaWRlbyBpbmZvcm1h
dGlvbjoKPiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwgZm9udCA4eDE2Cj4gKFhFTikg
IFZCRS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMSBzZWNvbmRzCj4gKFhF
TikgRGlzYyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBNQlIgc2lnbmF0dXJlcwo+IChY
RU4pICBGb3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCj4gKFhFTikgWGVuLWU4MjAg
UkFNIG1hcDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWFjMDAgKHVz
YWJsZSkKPiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2Vy
dmVkKQo+IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2
ZWQpCj4gKFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1c2FibGUp
Cj4gKFhFTikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEp
Cj4gKFhFTikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykK
PiAoWEVOKSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+
IChYRU4pICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4g
KFhFTikgIDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAwMDAwICh1c2FibGUpCj4gKFhF
TikgQUNQSTogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFNKQo+IChYRU4pIEFDUEk6IFhT
RFQgQ0ZFODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUICAgICAg
IDk3KQo+IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQgKHIzIDEwMjgxMSBGQUNQMTc0
MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IERTRFQgQ0ZFODA0NzAsIEU2
RTMgKHIxICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIwMDYwMTEzKQo+IChYRU4pIEFD
UEk6IEZBQ1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBBUElDIENGRTgwMzkwLCAwMDk4
IChyMSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJ
OiBNQ0ZHIENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAg
ICAgICA5NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAwMDcyIChyMSAxMDI4MTEgT0VN
QjE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBIUEVUIENGRThGOEMw
LCAwMDM4IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVO
KSBBQ1BJOiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAgICBSRDg5MFMgICAyMDIwMzEg
QU1EICAgICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThGOUUwLCAwRTEwIChyMSBBIE0g
SSAgUE9XRVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAoWEVOKSBTeXN0ZW0gUkFNOiA4
MTkwTUIgKDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiAo
WEVOKSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDIzMDAwMDAwMAo+
IChYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikgZm91bmQgU01QIE1QLXRhYmxl
IGF0IDAwMGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhFTikgVXNpbmcgQVBJQyBkcml2
ZXIgZGVmYXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4ODA4Cj4gKFhFTikg
QUNQSTogQUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0sIHBtMXhfZXZ0WzgwMCwwXQo+
IChYRU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tjZmU5ODAwY10sIHZlY19z
aXplWzIwXQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwCj4gKFhF
TikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKPiAo
WEVOKSBQcm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJ
QyAoYWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3Nv
ciAjMSAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4
MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICMyIDA6MTAgQVBJ
QyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNF0gbGFwaWNfaWRb
MHgwM10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDoxMCBBUElDIHZlcnNpb24gMTYK
PiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVk
KQo+IChYRU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6
IExBUElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4gKFhFTikgUHJv
Y2Vzc29yICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlf
aWRbMHgwN10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogTEFQSUMgKGFj
cGlfaWRbMHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogSU9BUElD
IChpZFsweDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNlWzBdKQo+IChYRU4pIElPQVBJ
Q1swXTogYXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIz
Cj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdzaV9i
YXNlWzI0XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAzMywgYWRkcmVz
cyAweGZlYzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAg
YnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4pIEFDUEk6IElOVF9TUkNfT1ZS
IChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiAoWEVOKSBBQ1BJOiBJ
UlEwIHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRl
Lgo+IChYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBFbmFibGluZyBB
UElDIG1vZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAoWEVOKSBBQ1BJOiBIUEVUIGlk
OiAweDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFRhYmxlIGlzIG5vdCBmb3VuZCEKPiAo
WEVOKSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24K
PiAoWEVOKSBTTVA6IEFsbG93aW5nIDggQ1BVcyAoMiBob3RwbHVnIENQVXMpCj4gKFhFTikgSVJR
IGxpbWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjog
U01QIENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAzMDEwLjIyNSBN
SHogcHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1E
IEZhbTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgUENJOiBNQ0ZH
IGNvbmZpZ3VyYXRpb24gMDogYmFzZSBlMDAwMDAwMCBzZWdtZW50IDAwMDAgYnVzZXMgMDAgLSBm
Zgo+IChYRU4pIFBDSTogTm90IHVzaW5nIE1DRkcgZm9yIHNlZ21lbnQgMDAwMCBidXMgMDAtZmYK
PiAoWEVOKSBBTUQtVmk6IElPTU1VIDAgRW5hYmxlZC4KPiAoWEVOKSBBTUQtVmk6IEVuYWJsaW5n
IGdsb2JhbCB2ZWN0b3IgbWFwCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKPiAo
WEVOKSAgLSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMK
PiAoWEVOKSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVOKSAuLlRJTUVSOiB2ZWN0b3I9
MHhGMCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4gKFhFTikgUGxhdGZvcm0gdGlt
ZXIgaXMgMTQuMzE4TUh6IEhQRVQKPiAoWEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDY0
IEtpQi4KPiAoWEVOKSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhFTikgU1ZNOiBTdXBwb3J0ZWQg
YWR2YW5jZWQgZmVhdHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBhZ2UgVGFibGVzIChOUFQpCj4g
KFhFTikgIC0gTGFzdCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1YWxpc2F0aW9uCj4gKFhFTikg
IC0gTmV4dC1SSVAgU2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAtIFBhdXNlLUludGVyY2VwdCBG
aWx0ZXIKPiAoWEVOKSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Np
c3RlZCBQYWdpbmcgKEhBUCkgZGV0ZWN0ZWQKPiAoWEVOKSBIVk06IEhBUCBwYWdlIHNpemVzOiA0
a0IsIDJNQiwgMUdCCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9p
ZD0weDEwMDAwYmYKPiAoWEVOKSBtaWNyb2NvZGU6IGNvbGxlY3RfY3B1X2luZm86IHBhdGNoX2lk
PTB4MTAwMDBiZgo+IChYRU4pIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9
MHgxMDAwMGJmCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9pZD0w
eDEwMDAwYmYKPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChYRU4pIG1pY3JvY29kZTogY29s
bGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhFTikgSFBFVCdzIE1TSSBtb2Rl
IGhhc24ndCBiZWVuIHN1cHBvcnRlZCB3aGVuIEludGVycnVwdCBSZW1hcHBpbmcgaXMgZW5hYmxl
ZC4KPiAoWEVOKSBBQ1BJIHNsZWVwIG1vZGVzOiBTMwo+IChYRU4pIE1DQTogVXNlIGh3IHRocmVz
aG9sZGluZyB0byBhZGp1c3QgcG9sbGluZyBmcmVxdWVuY3kKPiAoWEVOKSBtY2hlY2tfcG9sbDog
TWFjaGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCj4gKFhFTikgWGVub3Byb2ZpbGU6
IEZhaWxlZCB0byBzZXR1cCBJQlMgTFZUIG9mZnNldCwgSUJTQ1RMID0gMHhmZmZmZmZmZgo+IChY
RU4pICoqKiBMT0FESU5HIERPTUFJTiAwICoqKgo+IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBo
ZHI6IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weDViMjAwMAo+IChYRU4pIGVsZl9wYXJzZV9iaW5h
cnk6IHBoZHI6IHBhZGRyPTB4MTViMjAwMCBtZW1zej0weDY2MGUwCj4gKFhFTikgZWxmX3BhcnNl
X2JpbmFyeTogcGhkcjogcGFkZHI9MHgxNjE5MDAwIG1lbXN6PTB4MTI1MDAKPiAoWEVOKSBlbGZf
cGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE2MmMwMDAgbWVtc3o9MHgyMWIwMDAKPiAoWEVO
KSBlbGZfcGFyc2VfYmluYXJ5OiBtZW1vcnk6IDB4MTAwMDAwMCAtPiAweDE4NDcwMDAKPiAoWEVO
KSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4Igo+IChYRU4pIGVsZl94ZW5f
cGFyc2Vfbm90ZTogR1VFU1RfVkVSU0lPTiA9ICIyLjYiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9u
b3RlOiBYRU5fVkVSU0lPTiA9ICJ4ZW4tMy4wIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTog
VklSVF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3Rl
OiBFTlRSWSA9IDB4ZmZmZmZmZmY4MTYyYzIwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTog
SFlQRVJDQUxMX1BBR0UgPSAweGZmZmZmZmZmODEwMDEwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNl
X25vdGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJfYWJvdmVf
NGdiIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFFX01PREUgPSAieWVzIgo+IChYRU4p
IGVsZl94ZW5fcGFyc2Vfbm90ZTogTE9BREVSID0gImdlbmVyaWMiCj4gKFhFTikgZWxmX3hlbl9w
YXJzZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQo+IChYRU4pIGVsZl94ZW5fcGFy
c2Vfbm90ZTogU1VTUEVORF9DQU5DRUwgPSAweDEKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6
IEhWX1NUQVJUX0xPVyA9IDB4ZmZmZjgwMDAwMDAwMDAwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vf
bm90ZTogUEFERFJfT0ZGU0VUID0gMHgwCj4gKFhFTikgZWxmX3hlbl9hZGRyX2NhbGNfY2hlY2s6
IGFkZHJlc3NlczoKPiAoWEVOKSAgICAgdmlydF9iYXNlICAgICAgICA9IDB4ZmZmZmZmZmY4MDAw
MDAwMAo+IChYRU4pICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgwCj4gKFhFTikgICAgIHZpcnRf
b2Zmc2V0ICAgICAgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSAgICAgdmlydF9rc3RhcnQg
ICAgICA9IDB4ZmZmZmZmZmY4MTAwMDAwMAo+IChYRU4pICAgICB2aXJ0X2tlbmQgICAgICAgID0g
MHhmZmZmZmZmZjgxODQ3MDAwCj4gKFhFTikgICAgIHZpcnRfZW50cnkgICAgICAgPSAweGZmZmZm
ZmZmODE2MmMyMDAKPiAoWEVOKSAgICAgcDJtX2Jhc2UgICAgICAgICA9IDB4ZmZmZmZmZmZmZmZm
ZmZmZgo+IChYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCj4gKFhFTikg
IERvbTAga2VybmVsOiA2NC1iaXQsIFBBRSwgbHNiLCBwYWRkciAweDEwMDAwMDAgLT4gMHgxODQ3
MDAwCj4gKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgo+IChYRU4pICBEb20wIGFs
bG9jLjogICAwMDAwMDAwMjI2MDAwMDAwLT4wMDAwMDAwMjI4MDAwMDAwICg1MTQ1MDAgcGFnZXMg
dG8gYmUgYWxsb2NhdGVkKQo+IChYRU4pICBJbml0LiByYW1kaXNrOiAwMDAwMDAwMjJmOWM0MDAw
LT4wMDAwMDAwMjJmZmZmMjAwCj4gKFhFTikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6Cj4g
KFhFTikgIExvYWRlZCBrZXJuZWw6IGZmZmZmZmZmODEwMDAwMDAtPmZmZmZmZmZmODE4NDcwMDAK
PiAoWEVOKSAgSW5pdC4gcmFtZGlzazogZmZmZmZmZmY4MTg0NzAwMC0+ZmZmZmZmZmY4MWU4MjIw
MAo+IChYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgxZTgzMDAwLT5mZmZmZmZmZjgyMjgz
MDAwCj4gKFhFTikgIFN0YXJ0IGluZm86ICAgIGZmZmZmZmZmODIyODMwMDAtPmZmZmZmZmZmODIy
ODM0YjQKPiAoWEVOKSAgUGFnZSB0YWJsZXM6ICAgZmZmZmZmZmY4MjI4NDAwMC0+ZmZmZmZmZmY4
MjI5OTAwMAo+IChYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjgyMjk5MDAwLT5mZmZmZmZm
ZjgyMjlhMDAwCj4gKFhFTikgIFRPVEFMOiAgICAgICAgIGZmZmZmZmZmODAwMDAwMDAtPmZmZmZm
ZmZmODI0MDAwMDAKPiAoWEVOKSAgRU5UUlkgQUREUkVTUzogZmZmZmZmZmY4MTYyYzIwMAo+IChY
RU4pIERvbTAgaGFzIG1heGltdW0gNiBWQ1BVcwo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhk
ciAwIGF0IDB4ZmZmZmZmZmY4MTAwMDAwMCAtPiAweGZmZmZmZmZmODE1YjIwMDAKPiAoWEVOKSBl
bGZfbG9hZF9iaW5hcnk6IHBoZHIgMSBhdCAweGZmZmZmZmZmODE1YjIwMDAgLT4gMHhmZmZmZmZm
ZjgxNjE4MGUwCj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDIgYXQgMHhmZmZmZmZmZjgx
NjE5MDAwIC0+IDB4ZmZmZmZmZmY4MTYyYjUwMAo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhk
ciAzIGF0IDB4ZmZmZmZmZmY4MTYyYzAwMCAtPiAweGZmZmZmZmZmODE2YjIwMDAKPiAoWEVOKSBT
Y3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChYRU4pIEluaXRpYWwgbG93IG1lbW9yeSB2
aXJxIHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgo+IChYRU4pIFN0ZC4gTG9nbGV2ZWw6
IEFsbAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVOKSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikgKioqKioqKiBXQVJOSU5HOiBD
T05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoqKioqKiogVGhpcyBvcHRpb24g
aXMgaW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkgZW5zdXJpbmcKPiAoWEVOKSAq
KioqKioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5IGRlbGl2ZXJlZCBvbiB0aGUg
c2VyaWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0IGNhbiBpbnRyb2R1Y2UgU0lH
TklGSUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAqKioqKioqIHRpbWVrZWVwaW5n
LiBJdCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24gdXNlIQo+IChYRU4pICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiAoWEVOKSAzLi4uIDIu
Li4gMS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERPTTAgKHR5cGUgJ0NUUkwtYScg
dGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAoWEVOKSBGcmVlZCAyNTZrQiBp
bml0IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNpY2FsIG1lbW9yeQo+IFhlbjog
c2V0dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQgc3RhcnRlZC4uLgo+IEluaXRp
YWxpemluZyBjZ3JvdXAgc3Vic3lzIGNwdXNldAo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lz
IGNwdQo+IExpbnV4IHZlcnNpb24gMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IChyb290
QHhlbikgKGdjYyB2ZXJzaW9uIDQuNC41IChEZWJpYW4gNC40LjUtOCkgKSAjNiBTTVAgUFJFRU1Q
VCBTYXQgTWF5IDUgMjA6MTM6MjkgQ0VTVCAyMDEyCj4gQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRl
ciByb290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFuaWM9MTUgeGVuLXBj
aWJhY2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgo+IEZyZWVp
bmcgIDlhLTEwMCBwZm4gcmFuZ2U6IDEwMiBwYWdlcyBmcmVlZAo+IFJlbGVhc2VkIDEwMiBwYWdl
cyBvZiB1bnVzZWQgbWVtb3J5Cj4gU2V0IDE5NzA5NCBwYWdlKHMpIHRvIDEtMSBtYXBwaW5nCj4g
QklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICBYZW46IDAwMDAwMDAwMDAwMDAwMDAg
LSAwMDAwMDAwMDAwMDlhMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDAwMDA5YWMwMCAtIDAw
MDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAw
MDAwMGNmZTgwMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDBjZmU4MDAwMCAtIDAwMDAwMDAw
Y2ZlOTgwMDAgKEFDUEkgZGF0YSkKPiAgWGVuOiAwMDAwMDAwMGNmZTk4MDAwIC0gMDAwMDAwMDBj
ZmVjMDAwMCAoQUNQSSBOVlMpCj4gIFhlbjogMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2Zm
MDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAx
MDAwIChyZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZlYzIwMDAwIC0gMDAwMDAwMDBmZWMyMTAw
MCAocmVzZXJ2ZWQpCj4gIFhlbjogMDAwMDAwMDBmZWUwMDAwMCAtIDAwMDAwMDAwZmVlMDEwMDAg
KHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwZmZlMDAwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChy
ZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMTAwMDAwMDAwIC0gMDAwMDAwMDIzMDAwMDAwMCAodXNh
YmxlKQo+IGJvb3Rjb25zb2xlIFt4ZW5ib290MF0gZW5hYmxlZAo+IE5YIChFeGVjdXRlIERpc2Fi
bGUpIHByb3RlY3Rpb246IGFjdGl2ZQo+IHVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOgo+
ICB1c2VyOiAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5YTAwMCAodXNhYmxlKQo+ICB1
c2VyOiAwMDAwMDAwMDAwMDlhYzAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4gIHVz
ZXI6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDAwMDAwICh1c2FibGUpCj4gIHVzZXI6
IDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4gIHVzZXI6
IDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykKPiAgdXNlcjog
MDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+ICB1c2VyOiAw
MDAwMDAwMGZlYzAwMDAwIC0gMDAwMDAwMDBmZWMwMTAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAw
MDAwMDAwZmVjMjAwMDAgLSAwMDAwMDAwMGZlYzIxMDAwIChyZXNlcnZlZCkKPiAgdXNlcjogMDAw
MDAwMDBmZWUwMDAwMCAtIDAwMDAwMDAwZmVlMDEwMDAgKHJlc2VydmVkKQo+ICB1c2VyOiAwMDAw
MDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4gRE1JIHByZXNlbnQu
Cj4gTm8gQUdQIGJyaWRnZSBmb3VuZAo+IGxhc3RfcGZuID0gMHg4MDAwMCBtYXhfYXJjaF9wZm4g
PSAweDQwMDAwMDAwMAo+IGZvdW5kIFNNUCBNUC10YWJsZSBhdCBbZmZmZjg4MDAwMDBmZjc4MF0g
ZmY3ODAKPiBpbml0X21lbW9yeV9tYXBwaW5nOiAwMDAwMDAwMDAwMDAwMDAwLTAwMDAwMDAwODAw
MDAwMDAKPiBSQU1ESVNLOiAwMTg0NzAwMCAtIDAxZTgzMDAwCj4gQUNQSTogUlNEUCAwMDAwMDAw
MDAwMGZiZjIwIDAwMDI0ICh2MDIgQUNQSUFNKQo+IEFDUEk6IFhTRFQgMDAwMDAwMDBjZmU4MDEw
MCAwMDA1QyAodjAxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFD
UEk6IEZBQ1AgMDAwMDAwMDBjZmU4MDI5MCAwMDBGNCAodjAzIDEwMjgxMSBGQUNQMTc0MCAyMDEx
MTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFDUEk6IERTRFQgMDAwMDAwMDBjZmU4MDQ3MCAwRTZFMyAo
djAxICBBMTU5NSBBMTU5NTAwMCAwMDAwMDAwMCBJTlRMIDIwMDYwMTEzKQo+IEFDUEk6IEZBQ1Mg
MDAwMDAwMDBjZmU5ODAwMCAwMDA0MAo+IEFDUEk6IEFQSUMgMDAwMDAwMDBjZmU4MDM5MCAwMDA5
OCAodjAxIDEwMjgxMSBBUElDMTc0MCAyMDExMTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFDUEk6IE1D
RkcgMDAwMDAwMDBjZmU4MDQzMCAwMDAzQyAodjAxIDEwMjgxMSBPRU1NQ0ZHICAyMDExMTAyOCBN
U0ZUIDAwMDAwMDk3KQo+IEFDUEk6IE9FTUIgMDAwMDAwMDBjZmU5ODA0MCAwMDA3MiAodjAxIDEw
MjgxMSBPRU1CMTc0MCAyMDExMTAyOCBNU0ZUIDAwMDAwMDk3KQo+IEFDUEk6IEhQRVQgMDAwMDAw
MDBjZmU4ZjhjMCAwMDAzOCAodjAxIDEwMjgxMSBPRU1IUEVUICAyMDExMTAyOCBNU0ZUIDAwMDAw
MDk3KQo+IEFDUEk6IElWUlMgMDAwMDAwMDBjZmU4ZjkwMCAwMDBFMCAodjAxICBBTUQgICAgIFJE
ODkwUyAwMDIwMjAzMSBBTUQgIDAwMDAwMDAwKQo+IEFDUEk6IFNTRFQgMDAwMDAwMDBjZmU4Zjll
MCAwMEUxMCAodjAxIEEgTSBJICBQT1dFUk5PVyAwMDAwMDAwMSBBTUQgIDAwMDAwMDAxKQo+IE5v
IE5VTUEgY29uZmlndXJhdGlvbiBmb3VuZAo+IEZha2luZyBhIG5vZGUgYXQgMDAwMDAwMDAwMDAw
MDAwMC0wMDAwMDAwMDgwMDAwMDAwCj4gSW5pdG1lbSBzZXR1cCBub2RlIDAgMDAwMDAwMDAwMDAw
MDAwMC0wMDAwMDAwMDgwMDAwMDAwCj4gICBOT0RFX0RBVEEgWzAwMDAwMDAwN2ZmZmIwMDAgLSAw
MDAwMDAwMDdmZmZmZmZmXQo+IFpvbmUgUEZOIHJhbmdlczoKPiAgIERNQSAgICAgIDB4MDAwMDAw
MTAgLT4gMHgwMDAwMTAwMAo+ICAgRE1BMzIgICAgMHgwMDAwMTAwMCAtPiAweDAwMTAwMDAwCj4g
ICBOb3JtYWwgICBlbXB0eQo+IE1vdmFibGUgem9uZSBzdGFydCBQRk4gZm9yIGVhY2ggbm9kZQo+
IGVhcmx5X25vZGVfbWFwWzJdIGFjdGl2ZSBQRk4gcmFuZ2VzCj4gICAgIDA6IDB4MDAwMDAwMTAg
LT4gMHgwMDAwMDA5YQo+ICAgICAwOiAweDAwMDAwMTAwIC0+IDB4MDAwODAwMDAKPiBBQ1BJOiBQ
TS1UaW1lciBJTyBQb3J0OiAweDgwOAo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDFdIGxhcGlj
X2lkWzB4MDBdIGVuYWJsZWQpCj4gQklPUyBidWc6IEFQSUMgdmVyc2lvbiBpcyAwIGZvciBDUFUg
MC8weDAsIGZpeGluZyB1cCB0byAweDEwCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMl0gbGFw
aWNfaWRbMHgwMV0gZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAzXSBsYXBpY19p
ZFsweDAyXSBlbmFibGVkKQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4
MDNdIGVuYWJsZWQpCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgwNF0g
ZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2XSBsYXBpY19pZFsweDA1XSBlbmFi
bGVkKQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDddIGxhcGljX2lkWzB4ODZdIGRpc2FibGVk
KQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDhdIGxhcGljX2lkWzB4ODddIGRpc2FibGVkKQo+
IEFDUEk6IElPQVBJQyAoaWRbMHgwNl0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkK
PiBJT0FQSUNbMF06IGFwaWNfaWQgNiwgdmVyc2lvbiAyNTUsIGFkZHJlc3MgMHhmZWMwMDAwMCwg
R1NJIDAtMjU1Cj4gQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdz
aV9iYXNlWzI0XSkKPiBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAyNTUsIGFkZHJlc3Mg
MHhmZWMyMDAwMCwgR1NJIDI0LTI3OQo+IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJx
IDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwpCj4gQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19p
cnEgOSBnbG9iYWxfaXJxIDkgbG93IGxldmVsKQo+IFVzaW5nIEFDUEkgKE1BRFQpIGZvciBTTVAg
Y29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgo+IEFDUEk6IEhQRVQgaWQ6IDB4ODMwMCBiYXNlOiAw
eGZlZDAwMDAwCj4gOCBQcm9jZXNzb3JzIGV4Y2VlZHMgTlJfQ1BVUyBsaW1pdCBvZiA2Cj4gU01Q
OiBBbGxvd2luZyA2IENQVXMsIDAgaG90cGx1ZyBDUFVzCj4gQWxsb2NhdGluZyBQQ0kgcmVzb3Vy
Y2VzIHN0YXJ0aW5nIGF0IDgwMDAwMDAwIChnYXA6IDgwMDAwMDAwOjRmZTgwMDAwKQo+IEJvb3Rp
bmcgcGFyYXZpcnR1YWxpemVkIGtlcm5lbCBvbiBYZW4KPiBYZW4gdmVyc2lvbjogNC4yLXVuc3Rh
YmxlIChwcmVzZXJ2ZS1BRCkKPiBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6NiBucl9jcHVtYXNrX2Jp
dHM6NiBucl9jcHVfaWRzOjYgbnJfbm9kZV9pZHM6MQo+IFBFUkNQVTogRW1iZWRkZWQgMjYgcGFn
ZXMvY3B1IEBmZmZmODgwMDdmZjRiMDAwIHM3NTAwOCByODE5MiBkMjMyOTYgdTEwNjQ5Ngo+IEJ1
aWx0IDEgem9uZWxpc3RzIGluIE5vZGUgb3JkZXIsIG1vYmlsaXR5IGdyb3VwaW5nIG9uLiAgVG90
YWwgcGFnZXM6IDUxNDk3Mwo+IFBvbGljeSB6b25lOiBETUEzMgo+IEtlcm5lbCBjb21tYW5kIGxp
bmU6IHBsYWNlaG9sZGVyIHJvb3Q9L2Rldi9tYXBwZXIvbGVtcm91Y2gteGVuIHJvIG1lbT0yRyBw
YW5pYz0xNSB4ZW4tcGNpYmFjay5oaWRlPSgwMDoxNC4yKSBjb25zb2xlPWh2YzAgZWFybHlwcmlu
dGs9eGVuCj4gUElEIGhhc2ggdGFibGUgZW50cmllczogNDA5NiAob3JkZXI6IDMsIDMyNzY4IGJ5
dGVzKQo+IFBsYWNpbmcgNjRNQiBzb2Z0d2FyZSBJTyBUTEIgYmV0d2VlbiBmZmZmODgwMDc5NjAw
MDAwIC0gZmZmZjg4MDA3ZDYwMDAwMAo+IHNvZnR3YXJlIElPIFRMQiBhdCBwaHlzIDB4Nzk2MDAw
MDAgLSAweDdkNjAwMDAwCj4gTWVtb3J5OiAxOTc1MjIway8yMDk3MTUyayBhdmFpbGFibGUgKDQ0
NzBrIGtlcm5lbCBjb2RlLCA0NzJrIGFic2VudCwgMTIxNDYwayByZXNlcnZlZCwgMTc2OGsgZGF0
YSwgNTk2ayBpbml0KQo+IFNMVUI6IEdlbnNsYWJzPTE1LCBIV2FsaWduPTY0LCBPcmRlcj0wLTMs
IE1pbk9iamVjdHM9MCwgQ1BVcz02LCBOb2Rlcz0xCj4gUHJlZW1wdGlibGUgaGllcmFyY2hpY2Fs
IFJDVSBpbXBsZW1lbnRhdGlvbi4KPiAJVmVyYm9zZSBzdGFsbGVkLUNQVXMgZGV0ZWN0aW9uIGlz
IGRpc2FibGVkLgo+IE5SX0lSUVM6NDM1MiBucl9pcnFzOjE1MzYgMTYKPiB4ZW46IHNjaSBvdmVy
cmlkZTogZ2xvYmFsX2lycT05IHRyaWdnZXI9MCBwb2xhcml0eT0xCj4geGVuOiBhY3BpIHNjaSA5
Cj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA5IGZvciBnc2kgOQo+IENvbnNvbGU6
IGNvbG91ciBWR0ErIDgweDI1Cj4gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUg
ZGlzYWJsZWQKPiBjb25zb2xlIFtodmMwXSBlbmFibGVkLCBib290Y29uc29sZSBkaXNhYmxlZAo+
IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMAo+IERldGVjdGVkIDMwMTAuMjI0IE1IeiBw
cm9jZXNzb3IuCj4gQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1
bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNjAyMC40NCBCb2dvTUlQUyAobHBqPTMwMTAy
MjQpCj4gcGlkX21heDogZGVmYXVsdDogMzI3NjggbWluaW11bTogMzAxCj4gRGVudHJ5IGNhY2hl
IGhhc2ggdGFibGUgZW50cmllczogMjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKPiBJ
bm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYg
Ynl0ZXMpCj4gTW91bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKPiBJbml0aWFsaXpp
bmcgY2dyb3VwIHN1YnN5cyBkZXZpY2VzCj4gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZnJl
ZXplcgo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGJsa2lvCj4gQ1BVOiBQaHlzaWNhbCBQ
cm9jZXNzb3IgSUQ6IDAKPiBDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAwCj4gQUNQSTogQ29yZSBy
ZXZpc2lvbiAyMDExMDYyMwo+IGNwdSAwIHNwaW5sb2NrIGV2ZW50IGlycSAyOTcKPiBQZXJmb3Jt
YW5jZSBFdmVudHM6IChYRU4pIHRyYXBzLmM6MjU2MTpkMCBEb21haW4gYXR0ZW1wdGVkIFdSTVNS
IDAwMDAwMDAwYzAwMTAwMDQgZnJvbSAweDAwMDBlNGE3NWRmODY1MTQgdG8gMHgwMDAwMDAwMDAw
MDBhYmNkLgo+IEJyb2tlbiBQTVUgaGFyZHdhcmUgZGV0ZWN0ZWQsIHVzaW5nIHNvZnR3YXJlIGV2
ZW50cyBvbmx5Lgo+IE1DRTogSW4ta2VybmVsIE1DRSBkZWNvZGluZyBlbmFibGVkLgo+IGluc3Rh
bGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMQo+IGNwdSAxIHNwaW5sb2NrIGV2ZW50IGlycSAzMDMK
PiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDIKPiBjcHUgMiBzcGlubG9jayBldmVudCBp
cnEgMzA5Cj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAzCj4gY3B1IDMgc3BpbmxvY2sg
ZXZlbnQgaXJxIDMxNQo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgNAo+IGNwdSA0IHNw
aW5sb2NrIGV2ZW50IGlycSAzMjEKPiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDUKPiBj
cHUgNSBzcGlubG9jayBldmVudCBpcnEgMzI3Cj4gQnJvdWdodCB1cCA2IENQVXMKPiBkZXZ0bXBm
czogaW5pdGlhbGl6ZWQKPiBHcmFudCB0YWJsZSBpbml0aWFsaXplZAo+IE5FVDogUmVnaXN0ZXJl
ZCBwcm90b2NvbCBmYW1pbHkgMTYKPiBUT006IDAwMDAwMDAwZDAwMDAwMDAgYWthIDMzMjhNCj4g
VE9NMjogMDAwMDAwMDIzMDAwMDAwMCBha2EgODk2ME0KPiBFeHRlbmRlZCBDb25maWcgU3BhY2Ug
ZW5hYmxlZCBvbiAxIG5vZGVzCj4gQUNQSTogYnVzIHR5cGUgcGNpIHJlZ2lzdGVyZWQKPiBQQ0k6
IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBbYnVzIDAwLWZmXSBhdCBbbWVtIDB4ZTAwMDAwMDAt
MHhlZmZmZmZmZl0gKGJhc2UgMHhlMDAwMDAwMCkKPiBQQ0k6IG5vdCB1c2luZyBNTUNPTkZJRwo+
IFBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9yIGJhc2UgYWNjZXNzCj4gUENJOiBV
c2luZyBjb25maWd1cmF0aW9uIHR5cGUgMSBmb3IgZXh0ZW5kZWQgYWNjZXNzCj4gYmlvOiBjcmVh
dGUgc2xhYiA8YmlvLTA+IGF0IDAKPiBBQ1BJOiBBZGRlZCBfT1NJKE1vZHVsZSBEZXZpY2UpCj4g
QUNQSTogQWRkZWQgX09TSShQcm9jZXNzb3IgRGV2aWNlKQo+IEFDUEk6IEFkZGVkIF9PU0koMy4w
IF9TQ1AgRXh0ZW5zaW9ucykKPiBBQ1BJOiBBZGRlZCBfT1NJKFByb2Nlc3NvciBBZ2dyZWdhdG9y
IERldmljZSkKPiBBQ1BJOiBFeGVjdXRlZCAzIGJsb2NrcyBvZiBtb2R1bGUtbGV2ZWwgZXhlY3V0
YWJsZSBBTUwgY29kZQo+IEFDUEk6IEludGVycHJldGVyIGVuYWJsZWQKPiBBQ1BJOiAoc3VwcG9y
dHMgUzAgUzUpCj4gQUNQSTogVXNpbmcgSU9BUElDIGZvciBpbnRlcnJ1cHQgcm91dGluZwo+IFBD
STogTU1DT05GSUcgZm9yIGRvbWFpbiAwMDAwIFtidXMgMDAtZmZdIGF0IFttZW0gMHhlMDAwMDAw
MC0weGVmZmZmZmZmXSAoYmFzZSAweGUwMDAwMDAwKQo+IFBDSTogTU1DT05GSUcgYXQgW21lbSAw
eGUwMDAwMDAwLTB4ZWZmZmZmZmZdIHJlc2VydmVkIGluIEFDUEkgbW90aGVyYm9hcmQgcmVzb3Vy
Y2VzCj4gQUNQSTogRUM6IEdQRSA9IDB4YSwgSS9POiBjb21tYW5kL3N0YXR1cyA9IDB4NjYsIGRh
dGEgPSAweDYyCj4gSEVTVDogVGFibGUgbm90IGZvdW5kLgo+IFBDSTogVXNpbmcgaG9zdCBicmlk
Z2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2FyeSwgdXNlICJwY2k9bm9jcnMiIGFuZCBy
ZXBvcnQgYSBidWcKPiBBQ1BJOiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4gMDAwMCBb
YnVzIDAwLWZmXSkKPiBwY2lfcm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW2lv
ICAweDAwMDAtMHgwY2Y3XQo+IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdpbmRv
dyBbaW8gIDB4MGQwMC0weGZmZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ug
d2luZG93IFttZW0gMHgwMDBhMDAwMC0weDAwMGJmZmZmXQo+IHBjaV9yb290IFBOUDBBMDM6MDA6
IGhvc3QgYnJpZGdlIHdpbmRvdyBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lfcm9v
dCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW21lbSAweGNmZjAwMDAwLTB4ZGZmZmZm
ZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHhmMDAw
MDAwMC0weGZlYmZmZmZmXQo+IHBjaSAwMDAwOjAwOjAyLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
Ny0wN10KPiBwY2kgMDAwMDowNjowMC4wOiBkaXNhYmxpbmcgQVNQTSBvbiBwcmUtMS4xIFBDSWUg
ZGV2aWNlLiAgWW91IGNhbiBlbmFibGUgaXQgd2l0aCAncGNpZV9hc3BtPWZvcmNlJwo+IHBjaSAw
MDAwOjAwOjA0LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNi0wNl0KPiBwY2kgMDAwMDowMDowNS4w
OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDUtMDVdCj4gcGNpIDAwMDA6MDA6MDYuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDA0LTA0XQo+IHBjaSAwMDAwOjAwOjA3LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
My0wM10KPiBwY2kgMDAwMDowMDowZC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDItMDJdCj4gcGNp
IDAwMDA6MDA6MTQuNDogUENJIGJyaWRnZSB0byBbYnVzIDAxLTAxXSAoc3VidHJhY3RpdmUgZGVj
b2RlKQo+ICBwY2kwMDAwOjAwOiBSZXF1ZXN0aW5nIEFDUEkgX09TQyBjb250cm9sICgweDFkKQo+
ICBwY2kwMDAwOjAwOiBBQ1BJIF9PU0MgY29udHJvbCAoMHgxYykgZ3JhbnRlZAo+IChYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwMDA6MDA6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6
MDAuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDIuMAo+IChYRU4pIFBDSSBhZGQg
ZGV2aWNlIDAwMDA6MDA6MDQuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDUuMAo+
IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDYuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwMDA6MDA6MDcuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MGQuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTEuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDA6MTIuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTIuMgo+IChYRU4pIFBDSSBh
ZGQgZGV2aWNlIDAwMDA6MDA6MTMuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTMu
Mgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTQuMAo+IChYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwMDA6MDA6MTQuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTQuMwo+IChY
RU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTQuNAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAw
MDA6MDA6MTQuNQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTYuMAo+IChYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwMDA6MDA6MTYuMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6
MTguMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTguMQo+IChYRU4pIFBDSSBhZGQg
ZGV2aWNlIDAwMDA6MDA6MTguMgo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTguMwo+
IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTguNAo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwMDA6MDc6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDc6MDAuMQo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDY6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDY6MDAuMQo+IHBjaSAwMDAwOjA2OjAwLjE6IEZhaWxlZCB0byBhZGQgLSBwYXNzdGhyb3VnaCBv
ciBNU0kvTVNJLVggbWlnaHQgZmFpbCEKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjA1OjAw
LjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjA0OjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRl
dmljZSAwMDAwOjAzOjAwLjAKPiAoWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAyOjAwLjAKPiAo
WEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAyOjAwLjEKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExp
bmsgW0xOS0FdIChJUlFzICo0IDcgMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVwdCBM
aW5rIFtMTktCXSAoSVJRcyA0IDcgKjEwIDExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQg
TGluayBbTE5LQ10gKElSUXMgNCA3IDEwICoxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0
IExpbmsgW0xOS0RdIChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVw
dCBMaW5rIFtMTktFXSAoSVJRcyA0ICo3IDEwIDExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1
cHQgTGluayBbTE5LRl0gKElSUXMgNCA3IDEwICoxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJy
dXB0IExpbmsgW0xOS0ddIChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVy
cnVwdCBMaW5rIFtMTktIXSAoSVJRcyA0IDcgMTAgMTEgMTQgMTUpICowLCBkaXNhYmxlZC4KPiB4
ZW4vYmFsbG9vbjogSW5pdGlhbGlzaW5nIGJhbGxvb24gZHJpdmVyLgo+IHhlbi1iYWxsb29uOiBJ
bml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIuCj4gdmdhYXJiOiBkZXZpY2UgYWRkZWQ6IFBDSTow
MDAwOjA3OjAwLjAsZGVjb2Rlcz1pbyttZW0sb3ducz1pbyttZW0sbG9ja3M9bm9uZQo+IHZnYWFy
YjogbG9hZGVkCj4gdmdhYXJiOiBicmlkZ2UgY29udHJvbCBwb3NzaWJsZSAwMDAwOjA3OjAwLjAK
PiBTQ1NJIHN1YnN5c3RlbSBpbml0aWFsaXplZAo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGlu
dGVyZmFjZSBkcml2ZXIgdXNiZnMKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2Ug
ZHJpdmVyIGh1Ygo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIgdXNiCj4g
UENJOiBVc2luZyBBQ1BJIGZvciBJUlEgcm91dGluZwo+IFN3aXRjaGluZyB0byBjbG9ja3NvdXJj
ZSB4ZW4KPiBGUy1DYWNoZTogTG9hZGVkCj4gQ2FjaGVGaWxlczogTG9hZGVkCj4gcG5wOiBQblAg
QUNQSSBpbml0Cj4gQUNQSTogYnVzIHR5cGUgcG5wIHJlZ2lzdGVyZWQKPiBzeXN0ZW0gMDA6MDE6
IFttZW0gMHhmZWMyMDAwMC0weGZlYzIwMGZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0
ZW0gMDA6MDI6IFttZW0gMHhmNjAwMDAwMC0weGY2MDAzZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+
IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgOCBmb3IgZ3NpIDgKPiB4ZW5fbWFwX3Bp
cnFfZ3NpOiByZXR1cm5pbmcgaXJxIDEzIGZvciBnc2kgMTMKPiBzeXN0ZW0gMDA6MDg6IFttZW0g
MHhmZWMwMDAwMC0weGZlYzAwZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6
MDg6IFttZW0gMHhmZWUwMDAwMC0weGZlZTAwZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3Rl
bSAwMDowOTogW2lvICAweDA0ZDAtMHgwNGQxXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAw
MDowOTogW2lvICAweDA0MGJdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8g
IDB4MDRkNl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwYzAwLTB4
MGMwMV0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwYzE0XSBoYXMg
YmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjNTAtMHgwYzUxXSBoYXMgYmVl
biByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjNTJdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM2Y10gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0g
MDA6MDk6IFtpbyAgMHgwYzZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lv
ICAweDBjZDAtMHgwY2QxXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAw
eDBjZDItMHgwY2QzXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBj
ZDQtMHgwY2Q1XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjZDYt
MHgwY2Q3XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjZDgtMHgw
Y2RmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDA4MDAtMHgwODlm
XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBiMDAtMHgwYjFmXSBo
YXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBiMjAtMHgwYjNmXSBoYXMg
YmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDA5MDAtMHgwOTBmXSBoYXMgYmVl
biByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDA5MTAtMHgwOTFmXSBoYXMgYmVlbiBy
ZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweGZlMDAtMHhmZWZlXSBoYXMgYmVlbiByZXNl
cnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGNmZjAwMDAwLTB4Y2ZmZmZmZmZdIGhhcyBiZWVu
IHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4ZmZiODAwMDAtMHhmZmJmZmZmZl0gaGFz
IGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFttZW0gMHhmZWMxMDAwMC0weGZlYzEwMDFm
XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGZlZDgwMDAwLTB4ZmVk
ODBmZmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MDIzMC0weDAy
M2ZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MDI5MC0weDAyOWZd
IGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MGY0MC0weDBmNGZdIGhh
cyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBhOiBbaW8gIDB4MGEzMC0weDBhM2ZdIGhhcyBi
ZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjBiOiBbbWVtIDB4ZTAwMDAwMDAtMHhlZmZmZmZmZl0g
aGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGM6IFttZW0gMHgwMDAwMDAwMC0weDAwMDlm
ZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGM6IFttZW0gMHgwMDBjMDAw
MC0weDAwMGNmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGM6IFttZW0g
MHgwMDBlMDAwMC0weDAwMGZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6
MGM6IFttZW0gMHgwMDEwMDAwMC0weGNmZWZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKPiBz
eXN0ZW0gMDA6MGM6IFttZW0gMHhmZWMwMDAwMC0weGZmZmZmZmZmXSBjb3VsZCBub3QgYmUgcmVz
ZXJ2ZWQKPiBwbnA6IFBuUCBBQ1BJOiBmb3VuZCAxMyBkZXZpY2VzCj4gQUNQSTogQUNQSSBidXMg
dHlwZSBwbnAgdW5yZWdpc3RlcmVkCj4gcGNpYmFjayAwMDAwOjAwOjE0LjI6IHNlaXppbmcgZGV2
aWNlCj4gUE0tVGltZXIgZmFpbGVkIGNvbnNpc3RlbmN5IGNoZWNrICAoMHgweGZmZmZmZikgLSBh
Ym9ydGluZy4KPiBwY2kgMDAwMDowMDowMi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDctMDddCj4g
cGNpIDAwMDA6MDA6MDIuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhlMDAwLTB4ZWZmZl0KPiBw
Y2kgMDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlOTAwMDAwLTB4ZmU5ZmZm
ZmZdCj4gcGNpIDAwMDA6MDA6MDIuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhkMDAwMDAwMC0w
eGRmZmZmZmZmIDY0Yml0IHByZWZdCj4gcGNpIDAwMDA6MDA6MDQuMDogUENJIGJyaWRnZSB0byBb
YnVzIDA2LTA2XQo+IHBjaSAwMDAwOjAwOjA0LjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIDB4ZDAw
MC0weGRmZmZdCj4gcGNpIDAwMDA6MDA6MDQuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTgw
MDAwMC0weGZlOGZmZmZmXQo+IHBjaSAwMDAwOjAwOjA1LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
NS0wNV0KPiBwY2kgMDAwMDowMDowNS4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGMwMDAtMHhj
ZmZmXQo+IHBjaSAwMDAwOjAwOjA1LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU3MDAwMDAt
MHhmZTdmZmZmZl0KPiBwY2kgMDAwMDowMDowNi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDQtMDRd
Cj4gcGNpIDAwMDA6MDA6MDYuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhiMDAwLTB4YmZmZl0K
PiBwY2kgMDAwMDowMDowNi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlNjAwMDAwLTB4ZmU2
ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDcuMDogUENJIGJyaWRnZSB0byBbYnVzIDAzLTAzXQo+IHBj
aSAwMDAwOjAwOjA3LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU1MDAwMDAtMHhmZTVmZmZm
Zl0KPiBwY2kgMDAwMDowMDowZC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDItMDJdCj4gcGNpIDAw
MDA6MDA6MGQuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhhMDAwLTB4YWZmZl0KPiBwY2kgMDAw
MDowMDowZC4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlNDAwMDAwLTB4ZmU0ZmZmZmZdCj4g
cGNpIDAwMDA6MDA6MTQuNDogUENJIGJyaWRnZSB0byBbYnVzIDAxLTAxXQo+IHBjaSAwMDAwOjAw
OjAyLjA6IFBDSSBJTlQgQSAtPiBHU0kgNTIgKGxldmVsLCBsb3cpIC0+IElSUSA1Mgo+IHhlbl9t
YXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgNTIgZm9yIGdzaSA1Mgo+IEFscmVhZHkgc2V0dXAg
dGhlIEdTSSA6NTIKPiBwY2kgMDAwMDowMDowNC4wOiBQQ0kgSU5UIEEgLT4gR1NJIDUyIChsZXZl
bCwgbG93KSAtPiBJUlEgNTIKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUyIGZv
ciBnc2kgNTIKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjUyCj4gcGNpIDAwMDA6MDA6MDUuMDog
UENJIElOVCBBIC0+IEdTSSA1MiAobGV2ZWwsIGxvdykgLT4gSVJRIDUyCj4gcGNpIDAwMDA6MDA6
MDYuMDogUENJIElOVCBBIC0+IEdTSSA1MyAobGV2ZWwsIGxvdykgLT4gSVJRIDUzCj4geGVuX21h
cF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA1MyBmb3IgZ3NpIDUzCj4gQWxyZWFkeSBzZXR1cCB0
aGUgR1NJIDo1Mwo+IHBjaSAwMDAwOjAwOjA3LjA6IFBDSSBJTlQgQSAtPiBHU0kgNTMgKGxldmVs
LCBsb3cpIC0+IElSUSA1Mwo+IHBjaSAwMDAwOjAwOjBkLjA6IFBDSSBJTlQgQSAtPiBHU0kgNTQg
KGxldmVsLCBsb3cpIC0+IElSUSA1NAo+IE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkg
Mgo+IElQIHJvdXRlIGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA3LCA1
MjQyODggYnl0ZXMpCj4gVENQIGVzdGFibGlzaGVkIGhhc2ggdGFibGUgZW50cmllczogMjYyMTQ0
IChvcmRlcjogMTAsIDQxOTQzMDQgYnl0ZXMpCj4gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVz
OiA2NTUzNiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMpCj4gVENQOiBIYXNoIHRhYmxlcyBjb25m
aWd1cmVkIChlc3RhYmxpc2hlZCAyNjIxNDQgYmluZCA2NTUzNikKPiBUQ1AgcmVubyByZWdpc3Rl
cmVkCj4gVURQIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5dGVz
KQo+IFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5
dGVzKQo+IE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQo+IFVucGFja2luZyBpbml0
cmFtZnMuLi4KPiBGcmVlaW5nIGluaXRyZCBtZW1vcnk6IDYzODRrIGZyZWVkCj4gbWljcm9jb2Rl
OiBNaWNyb2NvZGUgVXBkYXRlIERyaXZlcjogdjIuMDAgPHRpZ3JhbkBhaXZhemlhbi5mc25ldC5j
by51az4sIFBldGVyIE9ydWJhCj4gTlRGUyBkcml2ZXIgMi4xLjMwIFtGbGFnczogUi9XXS4KPiBt
c2dtbmkgaGFzIGJlZW4gc2V0IHRvIDM4NzAKPiBCbG9jayBsYXllciBTQ1NJIGdlbmVyaWMgKGJz
ZykgZHJpdmVyIHZlcnNpb24gMC40IGxvYWRlZCAobWFqb3IgMjUzKQo+IGlvIHNjaGVkdWxlciBu
b29wIHJlZ2lzdGVyZWQgKGRlZmF1bHQpCj4gcGNpZXBvcnQgMDAwMDowMDowMi4wOiBTaWduYWxp
bmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDc6MDAuMDogU2ln
bmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjA3OjAwLjE6
IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2llcG9ydCAwMDAw
OjAwOjA0LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kg
MDAwMDowNjowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4g
cGNpIDAwMDA6MDY6MDAuMTogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVw
dAo+IHBjaWVwb3J0IDAwMDA6MDA6MDUuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1F
IGludGVycnVwdAo+IHBjaSAwMDAwOjA1OjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0ll
IFBNRSBpbnRlcnJ1cHQKPiBwY2llcG9ydCAwMDAwOjAwOjA2LjA6IFNpZ25hbGluZyBQTUUgdGhy
b3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNDowMC4wOiBTaWduYWxpbmcgUE1F
IHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDowMDowNy4wOiBTaWdu
YWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDM6MDAuMDog
U2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaWVwb3J0IDAwMDA6
MDA6MGQuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAw
MDAwOjAyOjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBw
Y2kgMDAwMDowMjowMC4xOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0
Cj4gcGNpX2hvdHBsdWc6IFBDSSBIb3QgUGx1ZyBQQ0kgQ29yZSB2ZXJzaW9uOiAwLjUKPiBpbnB1
dDogUG93ZXIgQnV0dG9uIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL2RldmljZTowMC9QTlAwQzBD
OjAwL2lucHV0L2lucHV0MAo+IEFDUEk6IFBvd2VyIEJ1dHRvbiBbUFdSQl0KPiBpbnB1dDogUG93
ZXIgQnV0dG9uIGFzIC9kZXZpY2VzL0xOWFNZU1RNOjAwL0xOWFBXUkJOOjAwL2lucHV0L2lucHV0
MQo+IEFDUEk6IFBvd2VyIEJ1dHRvbiBbUFdSRl0KPiBFUlNUOiBUYWJsZSBpcyBub3QgZm91bmQh
Cj4gR0hFUzogSEVTVCBpcyBub3QgZW5hYmxlZCEKPiBFdmVudC1jaGFubmVsIGRldmljZSBpbnN0
YWxsZWQuCj4gcGNpYmFjayAwMDAwOjAwOjE0LjI6IFBDSSBJTlQgQSAtPiBHU0kgMTYgKGxldmVs
LCBsb3cpIC0+IElSUSAxNgo+IHBjaWJhY2sgMDAwMDowMDoxNC4yOiBQQ0kgSU5UIEEgZGlzYWJs
ZWQKPiB4ZW4tcGNpYmFjazogYmFja2VuZCBpcyB2cGNpCj4gU2VyaWFsOiA4MjUwLzE2NTUwIGRy
aXZlciwgNCBwb3J0cywgSVJRIHNoYXJpbmcgZGlzYWJsZWQKPiBzZXJpYWwgMDAwMDowMjowMC4w
OiBQQ0kgSU5UIEEgLT4gR1NJIDQwIChsZXZlbCwgbG93KSAtPiBJUlEgNDAKPiBzZXJpYWwgMDAw
MDowMjowMC4xOiBQQ0kgSU5UIEIgLT4gR1NJIDQxIChsZXZlbCwgbG93KSAtPiBJUlEgNDEKPiAw
MDAwOjAyOjAwLjE6IHR0eVMwIGF0IEkvTyAweGE4ODAgKGlycSA9IDQxKSBpcyBhIFNUMTY2NTBW
Mgo+IGhwZXRfYWNwaV9hZGQ6IG5vIGFkZHJlc3Mgb3IgaXJxcyBpbiBfQ1JTCj4gTm9uLXZvbGF0
aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwo+IEhhbmdjaGVjazogc3RhcnRpbmcgaGFuZ2NoZWNrIHRp
bWVyIDAuOS4xICh0aWNrIGlzIDE4MCBzZWNvbmRzLCBtYXJnaW4gaXMgNjAgc2Vjb25kcykuCj4g
SGFuZ2NoZWNrOiBVc2luZyBnZXRyYXdtb25vdG9uaWMoKS4KPiBsb29wOiBtb2R1bGUgbG9hZGVk
Cj4gYWhjaSAwMDAwOjAwOjExLjA6IFBDSSBJTlQgQSAtPiBHU0kgMTkgKGxldmVsLCBsb3cpIC0+
IElSUSAxOQo+IGFoY2kgMDAwMDowMDoxMS4wOiBBSENJIDAwMDEuMDIwMCAzMiBzbG90cyA2IHBv
cnRzIDYgR2JwcyAweDNmIGltcGwgU0FUQSBtb2RlCj4gYWhjaSAwMDAwOjAwOjExLjA6IGZsYWdz
OiA2NGJpdCBuY3Egc250ZiBpbGNrIHBtIGxlZCBjbG8gcG1wIHBpbyBzbHVtIHBhcnQgCj4gc2Nz
aTAgOiBhaGNpCj4gc2NzaTEgOiBhaGNpCj4gc2NzaTIgOiBhaGNpCj4gc2NzaTMgOiBhaGNpCj4g
c2NzaTQgOiBhaGNpCj4gc2NzaTUgOiBhaGNpCj4gYXRhMTogU0FUQSBtYXggVURNQS8xMzMgYWJh
ciBtMTAyNEAweGZlM2ZlMDAwIHBvcnQgMHhmZTNmZTEwMCBpcnEgMTkKPiBhdGEyOiBTQVRBIG1h
eCBVRE1BLzEzMyBhYmFyIG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMTgwIGlycSAxOQo+
IGF0YTM6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUz
ZmUyMDAgaXJxIDE5Cj4gYXRhNDogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZlM2Zl
MDAwIHBvcnQgMHhmZTNmZTI4MCBpcnEgMTkKPiBhdGE1OiBTQVRBIG1heCBVRE1BLzEzMyBhYmFy
IG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMzAwIGlycSAxOQo+IGF0YTY6IFNBVEEgbWF4
IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUzZmUzODAgaXJxIDE5Cj4g
YWhjaSAwMDAwOjA2OjAwLjA6IFBDSSBJTlQgQSAtPiBHU0kgNDQgKGxldmVsLCBsb3cpIC0+IElS
USA0NAo+IGFoY2kgMDAwMDowNjowMC4wOiBBSENJIDAwMDEuMDAwMCAzMiBzbG90cyAyIHBvcnRz
IDMgR2JwcyAweDMgaW1wbCBTQVRBIG1vZGUKPiBhaGNpIDAwMDA6MDY6MDAuMDogZmxhZ3M6IDY0
Yml0IG5jcSBwbSBsZWQgY2xvIHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2k2IDogYWhjaQo+IHNj
c2k3IDogYWhjaQo+IGF0YTc6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTgxOTJAMHhmZThmZTAw
MCBwb3J0IDB4ZmU4ZmUxMDAgaXJxIDQ0Cj4gYXRhODogU0FUQSBtYXggVURNQS8xMzMgYWJhciBt
ODE5MkAweGZlOGZlMDAwIHBvcnQgMHhmZThmZTE4MCBpcnEgNDQKPiB0dW46IFVuaXZlcnNhbCBU
VU4vVEFQIGRldmljZSBkcml2ZXIsIDEuNgo+IHR1bjogKEMpIDE5OTktMjAwNCBNYXggS3Jhc255
YW5za3kgPG1heGtAcXVhbGNvbW0uY29tPgo+IHNreTI6IGRyaXZlciB2ZXJzaW9uIDEuMjkKPiBz
a3kyIDAwMDA6MDQ6MDAuMDogUENJIElOVCBBIC0+IEdTSSA1MSAobGV2ZWwsIGxvdykgLT4gSVJR
IDUxCj4gc2t5MiAwMDAwOjA0OjAwLjA6IFl1a29uLTIgT3B0aW1hIGNoaXAgcmV2aXNpb24gMQo+
IHNreTIgMDAwMDowNDowMC4wOiBldGgwOiBhZGRyIDIwOmNmOjMwOjZkOjg5OmE1Cj4gY2RjX25j
bTogMDQtQXVnLTIwMTEKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVy
IGNkY19uY20KPiBmaXJld2lyZV9vaGNpIDAwMDA6MDU6MDAuMDogUENJIElOVCBBIC0+IEdTSSA0
NiAobGV2ZWwsIGxvdykgLT4gSVJRIDQ2Cj4gZmlyZXdpcmVfb2hjaTogQWRkZWQgZnctb2hjaSBk
ZXZpY2UgMDAwMDowNTowMC4wLCBPSENJIHYxLjEwLCA0IElSICsgOCBJVCBjb250ZXh0cywgcXVp
cmtzIDB4MTEKPiBlaGNpX2hjZDogVVNCIDIuMCAnRW5oYW5jZWQnIEhvc3QgQ29udHJvbGxlciAo
RUhDSSkgRHJpdmVyCj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBQQ0kgSU5UIEIgLT4gR1NJIDE3
IChsZXZlbCwgbG93KSAtPiBJUlEgMTcKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IEVIQ0kgSG9z
dCBDb250cm9sbGVyCj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBuZXcgVVNCIGJ1cyByZWdpc3Rl
cmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDEKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IGFwcGx5
aW5nIEFNRCBTQjcwMC9TQjgwMC9IdWRzb24tMi8zIEVIQ0kgZHVtbXkgcWggd29ya2Fyb3VuZAo+
IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogZGVidWcgcG9ydCAxCj4gZWhjaV9oY2QgMDAwMDowMDox
Mi4yOiBpcnEgMTcsIGlvIG1lbSAweGZlM2ZlNDAwCj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBV
U0IgMi4wIHN0YXJ0ZWQsIEVIQ0kgMS4wMAo+IHVzYiB1c2IxOiBOZXcgVVNCIGRldmljZSBmb3Vu
ZCwgaWRWZW5kb3I9MWQ2YiwgaWRQcm9kdWN0PTAwMDIKPiB1c2IgdXNiMTogTmV3IFVTQiBkZXZp
Y2Ugc3RyaW5nczogTWZyPTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKPiB1c2IgdXNiMTog
UHJvZHVjdDogRUhDSSBIb3N0IENvbnRyb2xsZXIKPiB1c2IgdXNiMTogTWFudWZhY3R1cmVyOiBM
aW51eCAzLjIuMC1yYzItMTEyMDItZ2QzNTA3YWYtZGlydHkgZWhjaV9oY2QKPiB1c2IgdXNiMTog
U2VyaWFsTnVtYmVyOiAwMDAwOjAwOjEyLjIKPiBodWIgMS0wOjEuMDogVVNCIGh1YiBmb3VuZAo+
IGh1YiAxLTA6MS4wOiA1IHBvcnRzIGRldGVjdGVkCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJu
aW5nIGlycSAxNyBmb3IgZ3NpIDE3Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxNwo+IGVoY2lf
aGNkIDAwMDA6MDA6MTMuMjogUENJIElOVCBCIC0+IEdTSSAxNyAobGV2ZWwsIGxvdykgLT4gSVJR
IDE3Cj4gZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IGVoY2lf
aGNkIDAwMDA6MDA6MTMuMjogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51
bWJlciAyCj4gZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBhcHBseWluZyBBTUQgU0I3MDAvU0I4MDAv
SHVkc29uLTIvMyBFSENJIGR1bW15IHFoIHdvcmthcm91bmQKPiBlaGNpX2hjZCAwMDAwOjAwOjEz
LjI6IGRlYnVnIHBvcnQgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogaXJxIDE3LCBpbyBtZW0g
MHhmZTNmZTgwMAo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogVVNCIDIuMCBzdGFydGVkLCBFSENJ
IDEuMDAKPiB1c2IgdXNiMjogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlk
UHJvZHVjdD0wMDAyCj4gdXNiIHVzYjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQ
cm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjI6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBD
b250cm9sbGVyCj4gdXNiIHVzYjI6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAy
LWdkMzUwN2FmLWRpcnR5IGVoY2lfaGNkCj4gdXNiIHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDow
MDoxMy4yCj4gaHViIDItMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgMi0wOjEuMDogNSBwb3J0
cyBkZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTcgZm9yIGdzaSAx
Nwo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTcKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IFBD
SSBJTlQgQiAtPiBHU0kgMTcgKGxldmVsLCBsb3cpIC0+IElSUSAxNwo+IGVoY2lfaGNkIDAwMDA6
MDA6MTYuMjogRUhDSSBIb3N0IENvbnRyb2xsZXIKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IG5l
dyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgMwo+IGVoY2lfaGNkIDAw
MDA6MDA6MTYuMjogYXBwbHlpbmcgQU1EIFNCNzAwL1NCODAwL0h1ZHNvbi0yLzMgRUhDSSBkdW1t
eSBxaCB3b3JrYXJvdW5kCj4gYXRhNTogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJv
bCAzMDApCj4gYXRhMzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4g
YXRhMTogU0FUQSBsaW5rIHVwIDMuMCBHYnBzIChTU3RhdHVzIDEyMyBTQ29udHJvbCAzMDApCj4g
YXRhNjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhNDogU0FU
QSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhMjogU0FUQSBsaW5rIGRv
d24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBkZWJ1
ZyBwb3J0IDEKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGlycSAxNywgaW8gbWVtIDB4ZmUzZmVj
MDAKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IFVTQiAyLjAgc3RhcnRlZCwgRUhDSSAxLjAwCj4g
YXRhMS4wMDogQVRBLTg6IElOVEVMIFNTRFNBMkNXMTIwRzMsIDRQQzEwMzYyLCBtYXggVURNQS8x
MzMKPiBhdGExLjAwOiAyMzQ0NDE2NDggc2VjdG9ycywgbXVsdGkgMTogTEJBNDggTkNRIChkZXB0
aCAzMS8zMikKPiB1c2IgdXNiMzogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIs
IGlkUHJvZHVjdD0wMDAyCj4gYXRhNzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJv
bCAzMDApCj4gYXRhODogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4g
dXNiIHVzYjM6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlh
bE51bWJlcj0xCj4gdXNiIHVzYjM6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNi
IHVzYjM6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5
IGVoY2lfaGNkCj4gdXNiIHVzYjM6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxNi4yCj4gYXRhMS4w
MDogY29uZmlndXJlZCBmb3IgVURNQS8xMzMKPiBzY3NpIDA6MDowOjA6IERpcmVjdC1BY2Nlc3Mg
ICAgIEFUQSAgICAgIElOVEVMIFNTRFNBMkNXMTIgNFBDMSBQUTogMCBBTlNJOiA1Cj4gaHViIDMt
MDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgMy0wOjEuMDogNCBwb3J0cyBkZXRlY3RlZAo+IHNk
IDA6MDowOjA6IFtzZGFdIDIzNDQ0MTY0OCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDEyMCBH
Qi8xMTEgR2lCKQo+IHNkIDA6MDowOjA6IFtzZGFdIFdyaXRlIFByb3RlY3QgaXMgb2ZmCj4gc2Qg
MDowOjA6MDogW3NkYV0gV3JpdGUgY2FjaGU6IGVuYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQs
IGRvZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVBCj4gb2hjaV9oY2Q6IFVTQiAxLjEgJ09wZW4nIEhv
c3QgQ29udHJvbGxlciAoT0hDSSkgRHJpdmVyCj4gIHNkYTogc2RhMSBzZGEyCj4gb2hjaV9oY2Qg
MDAwMDowMDoxMi4wOiBQQ0kgSU5UIEEgLT4gR1NJIDE4IChsZXZlbCwgbG93KSAtPiBJUlEgMTgK
PiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gb2hjaV9oY2Qg
MDAwMDowMDoxMi4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVy
IDQKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IGlycSAxOCwgaW8gbWVtIDB4ZmUzZjcwMDAKPiBz
ZCAwOjA6MDowOiBbc2RhXSBBdHRhY2hlZCBTQ1NJIGRpc2sKPiB1c2IgdXNiNDogTmV3IFVTQiBk
ZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxCj4gdXNiIHVzYjQ6IE5l
dyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4g
dXNiIHVzYjQ6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjQ6IE1hbnVm
YWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IG9oY2lfaGNkCj4g
dXNiIHVzYjQ6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMi4wCj4gaHViIDQtMDoxLjA6IFVTQiBo
dWIgZm91bmQKPiBodWIgNC0wOjEuMDogNSBwb3J0cyBkZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9n
c2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6
MTgKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IFBDSSBJTlQgQSAtPiBHU0kgMTggKGxldmVsLCBs
b3cpIC0+IElSUSAxOAo+IG9oY2lfaGNkIDAwMDA6MDA6MTMuMDogT0hDSSBIb3N0IENvbnRyb2xs
ZXIKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2ln
bmVkIGJ1cyBudW1iZXIgNQo+IG9oY2lfaGNkIDAwMDA6MDA6MTMuMDogaXJxIDE4LCBpbyBtZW0g
MHhmZTNmYzAwMAo+IHVzYiAxLTE6IG5ldyBoaWdoLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDIg
dXNpbmcgZWhjaV9oY2QKPiB1c2IgdXNiNTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9y
PTFkNmIsIGlkUHJvZHVjdD0wMDAxCj4gdXNiIHVzYjU6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6
IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjU6IFByb2R1Y3Q6IE9I
Q0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjU6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAt
cmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IG9oY2lfaGNkCj4gdXNiIHVzYjU6IFNlcmlhbE51bWJl
cjogMDAwMDowMDoxMy4wCj4gaHViIDUtMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgNS0wOjEu
MDogNSBwb3J0cyBkZXRlY3RlZAo+IGZpcmV3aXJlX2NvcmU6IGNyZWF0ZWQgZGV2aWNlIGZ3MDog
R1VJRCAwMDFlOGMwMDAwZGU5MTM2LCBTNDAwCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5n
IGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxOAo+IG9oY2lfaGNk
IDAwMDA6MDA6MTQuNTogUENJIElOVCBDIC0+IEdTSSAxOCAobGV2ZWwsIGxvdykgLT4gSVJRIDE4
Cj4gb2hjaV9oY2QgMDAwMDowMDoxNC41OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNk
IDAwMDA6MDA6MTQuNTogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJl
ciA2Cj4gb2hjaV9oY2QgMDAwMDowMDoxNC41OiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZkMDAwCj4g
dXNiIDEtMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTA0MjQsIGlkUHJvZHVjdD0y
NTA0Cj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTAsIFByb2R1Y3Q9MCwg
U2VyaWFsTnVtYmVyPTAKPiBodWIgMS0xOjEuMDogVVNCIGh1YiBmb3VuZAo+IGh1YiAxLTE6MS4w
OiA0IHBvcnRzIGRldGVjdGVkCj4gdXNiIHVzYjY6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZl
bmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I2OiBQcm9kdWN0
OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I2OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMu
Mi4wLXJjMi0xMTIwMi1nZDM1MDdhZi1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I2OiBTZXJpYWxO
dW1iZXI6IDAwMDA6MDA6MTQuNQo+IGh1YiA2LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDYt
MDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJx
IDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAw
MDowMDoxNi4wOiBQQ0kgSU5UIEEgLT4gR1NJIDE4IChsZXZlbCwgbG93KSAtPiBJUlEgMTgKPiBv
aGNpX2hjZCAwMDAwOjAwOjE2LjA6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gb2hjaV9oY2QgMDAw
MDowMDoxNi4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDcK
PiBvaGNpX2hjZCAwMDAwOjAwOjE2LjA6IGlycSAxOCwgaW8gbWVtIDB4ZmUzZmYwMDAKPiB1c2Ig
dXNiNzogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAx
Cj4gdXNiIHVzYjc6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNl
cmlhbE51bWJlcj0xCj4gdXNiIHVzYjc6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4g
dXNiIHVzYjc6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAtcmMyLTExMjAyLWdkMzUwN2FmLWRp
cnR5IG9oY2lfaGNkCj4gdXNiIHVzYjc6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxNi4wCj4gaHVi
IDctMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgNy0wOjEuMDogNCBwb3J0cyBkZXRlY3RlZAo+
IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogUENJIElOVCBBIC0+IEdTSSA1MCAobGV2ZWwsIGxvdykg
LT4gSVJRIDUwCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiB4SENJIEhvc3QgQ29udHJvbGxlcgo+
IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQg
YnVzIG51bWJlciA4Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBpcnEgNTAsIGlvIG1lbSAweGZl
NWZlMDAwCj4gdXNiIHVzYjg6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBp
ZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2I4OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9Mywg
UHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I4OiBQcm9kdWN0OiB4SENJIEhvc3Qg
Q29udHJvbGxlcgo+IHVzYiB1c2I4OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuMi4wLXJjMi0xMTIw
Mi1nZDM1MDdhZi1kaXJ0eSB4aGNpX2hjZAo+IHVzYiB1c2I4OiBTZXJpYWxOdW1iZXI6IDAwMDA6
MDM6MDAuMAo+IGh1YiA4LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDgtMDoxLjA6IDIgcG9y
dHMgZGV0ZWN0ZWQKPiB4aGNpX2hjZCAwMDAwOjAzOjAwLjA6IHhIQ0kgSG9zdCBDb250cm9sbGVy
Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25l
ZCBidXMgbnVtYmVyIDkKPiB1c2IgdXNiOTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9y
PTFkNmIsIGlkUHJvZHVjdD0wMDAzCj4gdXNiIHVzYjk6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6
IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjk6IFByb2R1Y3Q6IHhI
Q0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjk6IE1hbnVmYWN0dXJlcjogTGludXggMy4yLjAt
cmMyLTExMjAyLWdkMzUwN2FmLWRpcnR5IHhoY2lfaGNkCj4gdXNiIHVzYjk6IFNlcmlhbE51bWJl
cjogMDAwMDowMzowMC4wCj4gaHViIDktMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgOS0wOjEu
MDogMiBwb3J0cyBkZXRlY3RlZAo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgdXNibHAKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVh
cwo+IEluaXRpYWxpemluZyBVU0IgTWFzcyBTdG9yYWdlIGRyaXZlci4uLgo+IHVzYmNvcmU6IHJl
Z2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3JhZ2UKPiBVU0IgTWFzcyBTdG9y
YWdlIHN1cHBvcnQgcmVnaXN0ZXJlZC4KPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIGxpYnVzdWFsCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRy
aXZlciB1bXNfZW5ldWI2MjUwCj4gaTgwNDI6IFBOUDogTm8gUFMvMiBjb250cm9sbGVyIGZvdW5k
LiBQcm9iaW5nIHBvcnRzIGRpcmVjdGx5Lgo+IHNlcmlvOiBpODA0MiBLQkQgcG9ydCBhdCAweDYw
LDB4NjQgaXJxIDEKPiBzZXJpbzogaTgwNDIgQVVYIHBvcnQgYXQgMHg2MCwweDY0IGlycSAxMgo+
IG1vdXNlZGV2OiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFsbCBtaWNlCj4gaW5wdXQ6
IFBDIFNwZWFrZXIgYXMgL2RldmljZXMvcGxhdGZvcm0vcGNzcGtyL2lucHV0L2lucHV0Mgo+IHJ0
Y19jbW9zIDAwOjA0OiBSVEMgY2FuIHdha2UgZnJvbSBTNAo+IHJ0Y19jbW9zIDAwOjA0OiBydGMg
Y29yZTogcmVnaXN0ZXJlZCBydGNfY21vcyBhcyBydGMwCj4gcnRjMDogYWxhcm1zIHVwIHRvIG9u
ZSBtb250aCwgeTNrLCAxMTQgYnl0ZXMgbnZyYW0KPiBpMmMgL2RldiBlbnRyaWVzIGRyaXZlcgo+
IHBpaXg0X3NtYnVzIDAwMDA6MDA6MTQuMDogU01CdXMgSG9zdCBDb250cm9sbGVyIGF0IDB4YjAw
LCByZXZpc2lvbiAwCj4gQVRLMDExMCBBVEswMTEwOjAwOiBFQyBlbmFibGVkCj4gU1A1MTAwIFRD
TyB0aW1lcjogU1A1MTAwIFRDTyBXYXRjaERvZyBUaW1lciBEcml2ZXIgdjAuMDEKPiBTUDUxMDAg
VENPIHRpbWVyOiBtbWlvIGFkZHJlc3MgMHhiOGZlMDAgYWxyZWFkeSBpbiB1c2UKPiBJVDg3IFdE
VDogQ2hpcCBJVDg3MjEgcmV2aXNpb24gMSBpbml0aWFsaXplZC4gdGltZW91dD02MCBzZWMgKG5v
d2F5b3V0PTAgdGVzdG1vZGU9MCBleGNsdXNpdmU9MSBub2dhbWVwb3J0PTApCj4gd2R0OiBYZW4g
V2F0Y2hEb2cgVGltZXIgRHJpdmVyIHYwLjAxCj4gd2R0OiBjYW5ub3QgcmVnaXN0ZXIgbWlzY2Rl
diBvbiBtaW5vcj0xMzAgKC0xNikKPiB3ZHQ6IHByb2JlIG9mIHdkdCBmYWlsZWQgd2l0aCBlcnJv
ciAtMTYKPiBkZXZpY2UtbWFwcGVyOiB1ZXZlbnQ6IHZlcnNpb24gMS4wLjMKPiBkZXZpY2UtbWFw
cGVyOiBpb2N0bDogNC4yMi4wLWlvY3RsICgyMDExLTEwLTE5KSBpbml0aWFsaXNlZDogZG0tZGV2
ZWxAcmVkaGF0LmNvbQo+IEVEQUMgTUM6IFZlcjogMi4xLjAKPiBBTUQ2NCBFREFDIGRyaXZlciB2
My40LjAKPiB1c2IgNC0yOiBuZXcgZnVsbC1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciAyIHVzaW5n
IG9oY2lfaGNkCj4gRURBQyBhbWQ2NDogRFJBTSBFQ0MgZGlzYWJsZWQuCj4gRURBQyBhbWQ2NDog
RUNDIGRpc2FibGVkIGluIHRoZSBCSU9TIG9yIG5vIEVDQyBjYXBhYmlsaXR5LCBtb2R1bGUgd2ls
bCBub3QgbG9hZC4KPiAgRWl0aGVyIGVuYWJsZSBFQ0MgY2hlY2tpbmcgb3IgZm9yY2UgbW9kdWxl
IGxvYWRpbmcgYnkgc2V0dGluZyAnZWNjX2VuYWJsZV9vdmVycmlkZScuCj4gIChOb3RlIHRoYXQg
dXNlIG9mIHRoZSBvdmVycmlkZSBtYXkgY2F1c2UgdW5rbm93biBzaWRlIGVmZmVjdHMuKQo+IHVz
YmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkCj4gdXNiaGlkOiBV
U0IgSElEIGNvcmUgZHJpdmVyCj4gVENQIGN1YmljIHJlZ2lzdGVyZWQKPiBORVQ6IFJlZ2lzdGVy
ZWQgcHJvdG9jb2wgZmFtaWx5IDE3Cj4gcnRjX2Ntb3MgMDA6MDQ6IHNldHRpbmcgc3lzdGVtIGNs
b2NrIHRvIDIwMTItMDUtMDcgMTE6MDc6MTUgVVRDICgxMzM2Mzg4ODM1KQo+IHBvd2Vybm93LWs4
OiBGb3VuZCAxIEFNRCBQaGVub20odG0pIElJIFg2IDEwNzVUIFByb2Nlc3NvciAoNiBjcHUgY29y
ZXMpICh2ZXJzaW9uIDIuMjAuMDApCj4gcG93ZXJub3ctazg6IENvcmUgUGVyZm9ybWFuY2UgQm9v
c3Rpbmc6IG9uLgo+IHBvd2Vybm93LWs4OiBpbnZhbGlkIHBzdGF0ZSAxIC0gYmFkIHZhbHVlIDEu
Cj4gcG93ZXJub3ctazg6IFBsZWFzZSByZXBvcnQgdG8gQklPUyBtYW51ZmFjdHVyZXIKPiBwb3dl
cm5vdy1rODogaW52YWxpZCBwc3RhdGUgMiAtIGJhZCB2YWx1ZSAyLgo+IHBvd2Vybm93LWs4OiBQ
bGVhc2UgcmVwb3J0IHRvIEJJT1MgbWFudWZhY3R1cmVyCj4gcG93ZXJub3ctazg6IGludmFsaWQg
cHN0YXRlIDMgLSBiYWQgdmFsdWUgMy4KPiBwb3dlcm5vdy1rODogUGxlYXNlIHJlcG9ydCB0byBC
SU9TIG1hbnVmYWN0dXJlcgo+IFtGaXJtd2FyZSBCdWddOiBwb3dlcm5vdy1rODogaW52YWxpZCBw
b3dlcm5vd190YWJsZQo+IEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDU5NmsgZnJlZWQK
PiBMb2FkaW5nLCBwbGVhc2Ugd2FpdC4uLgo+IHVkZXZbMTA4N106IHN0YXJ0aW5nIHZlcnNpb24g
MTY0Cj4gdXNiIDQtMjogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTA0MWUsIGlkUHJv
ZHVjdD0zMGRjCj4gdXNiIDQtMjogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTEsIFByb2R1
Y3Q9MiwgU2VyaWFsTnVtYmVyPTMKPiB1c2IgNC0yOiBQcm9kdWN0OiBTb3VuZCBCbGFzdGVyIFRh
Y3RpYygzRCkgQWxwaGEKPiB1c2IgNC0yOiBNYW51ZmFjdHVyZXI6IENyZWF0aXZlIFRlY2hub2xv
Z3kgTHRkCj4gdXNiIDQtMjogU2VyaWFsTnVtYmVyOiAwMDAyMzE2Mgo+IGlucHV0OiBDcmVhdGl2
ZSBUZWNobm9sb2d5IEx0ZCBTb3VuZCBCbGFzdGVyIFRhY3RpYygzRCkgQWxwaGEgYXMgL2Rldmlj
ZXMvcGNpMDAwMDowMC8wMDAwOjAwOjEyLjAvdXNiNC80LTIvNC0yOjEuMy9pbnB1dC9pbnB1dDMK
PiBnZW5lcmljLXVzYiAwMDAzOjA0MUU6MzBEQy4wMDAxOiBpbnB1dCxoaWRkZXYwOiBVU0IgSElE
IHYxLjAwIERldmljZSBbQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQgU291bmQgQmxhc3RlciBUYWN0
aWMoM0QpIEFscGhhXSBvbiB1c2ItMDAwMDowMDoxMi4wLTIvaW5wdXQzCj4gQmVnaW46IExvYWRp
bmcgZXNzZW50aWFsIGRyaXZlcnMgLi4uIGRvbmUuCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMv
aW5pdC1wcmVtb3VudCAuLi4gZG9uZS4KPiBCZWdpbjogTW91bnRpbmcgcm9vdCBmaWxlIHN5c3Rl
bSAuLi4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMvbG9jYWwtdG9wIC4uLiB1c2IgMS0xLjE6IG5l
dyBmdWxsLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDQgdXNpbmcgZWhjaV9oY2QKPiBkb25lLgo+
IEJlZ2luOiBSdW5uaW5nIC9zY3JpcHRzL2xvY2FsLXByZW1vdW50IC4uLiBkb25lLgo+IEVYVDQt
ZnMgKGRtLTApOiBtb3VudGVkIGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gT3B0
czogKG51bGwpCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMvbG9jYWwtYm90dG9tIC4uLiBkb25l
Lgo+IGRvbmUuCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMvaW5pdC1ib3R0b20gLi4uIHVzYiAx
LTEuMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTE1MzIsIGlkUHJvZHVjdD0wMDEz
Cj4gdXNiIDEtMS4xOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MSwgUHJvZHVjdD0yLCBT
ZXJpYWxOdW1iZXI9MAo+IHVzYiAxLTEuMTogUHJvZHVjdDogUmF6ZXIgT3JvY2hpCj4gdXNiIDEt
MS4xOiBNYW51ZmFjdHVyZXI6IFJhemVyCj4gaW5wdXQ6IFJhemVyIFJhemVyIE9yb2NoaSBhcyAv
ZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMS8xLTEuMToxLjAv
aW5wdXQvaW5wdXQ0Cj4gZ2VuZXJpYy11c2IgMDAwMzoxNTMyOjAwMTMuMDAwMjogaW5wdXQ6IFVT
QiBISUQgdjEuMTEgTW91c2UgW1JhemVyIFJhemVyIE9yb2NoaV0gb24gdXNiLTAwMDA6MDA6MTIu
Mi0xLjEvaW5wdXQwCj4gaW5wdXQ6IFJhemVyIFJhemVyIE9yb2NoaSBhcyAvZGV2aWNlcy9wY2kw
MDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMS8xLTEuMToxLjEvaW5wdXQvaW5wdXQ1
Cj4gZ2VuZXJpYy11c2IgMDAwMzoxNTMyOjAwMTMuMDAwMzogaW5wdXQ6IFVTQiBISUQgdjEuMTEg
S2V5Ym9hcmQgW1JhemVyIFJhemVyIE9yb2NoaV0gb24gdXNiLTAwMDA6MDA6MTIuMi0xLjEvaW5w
dXQxCj4gZG9uZS4KPiBJTklUOiB2ZXJzaW9uIDIuODggYm9vdGluZwo+IHVzYiAxLTEuMjogbmV3
IGxvdy1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciA1IHVzaW5nIGVoY2lfaGNkCj4gVXNpbmcgbWFr
ZWZpbGUtc3R5bGUgY29uY3VycmVudCBib290IGluIHJ1bmxldmVsIFMuCj4gRmlsZXMgdW5kZXIg
bW91bnQgcG9pbnQgJy9saWIvaW5pdC9ydycgd2lsbCBiZSBoaWRkZW4uIC4uLiAod2FybmluZyku
Cj4gdXNiIDEtMS4yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MDRmMiwgaWRQcm9k
dWN0PTA0MDMKPiB1c2IgMS0xLjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0xLCBQcm9k
dWN0PTIsIFNlcmlhbE51bWJlcj0wCj4gdXNiIDEtMS4yOiBQcm9kdWN0OiBVU0IgS2V5Ym9hcmQK
PiB1c2IgMS0xLjI6IE1hbnVmYWN0dXJlcjogQ2hpY29ueQo+IEZpbGVzIHVuZGVyIG1vdW50IHBv
aW50ICcvdmFyL3J1bicgd2lsbCBiZSBoaWRkZW4uIC4uLmlucHV0OiBDaGljb255IFVTQiBLZXli
b2FyZCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMi8x
LTEuMjoxLjAvaW5wdXQvaW5wdXQ2Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0MDMuMDAwNDog
aW5wdXQ6IFVTQiBISUQgdjEuMTEgS2V5Ym9hcmQgW0NoaWNvbnkgVVNCIEtleWJvYXJkXSBvbiB1
c2ItMDAwMDowMDoxMi4yLTEuMi9pbnB1dDAKPiAgKHdhcm5pbmcpLgo+IGlucHV0OiBDaGljb255
IFVTQiBLZXlib2FyZCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEt
MS8xLTEuMi8xLTEuMjoxLjEvaW5wdXQvaW5wdXQ3Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0
MDMuMDAwNTogaW5wdXQsaGlkZGV2MDogVVNCIEhJRCB2MS4xMSBEZXZpY2UgW0NoaWNvbnkgVVNC
IEtleWJvYXJkXSBvbiB1c2ItMDAwMDowMDoxMi4yLTEuMi9pbnB1dDEKPiBmaXJld2lyZV9uZXQ6
IGZpcmV3aXJlMDogSVB2NCBvdmVyIEZpcmVXaXJlIG9uIGRldmljZSAwMDFlOGMwMDAwZGU5MTM2
Cj4gZmlyZXdpcmVfY29yZTogcmVmcmVzaGVkIGRldmljZSBmdzAKPiBGaWxlcyB1bmRlciBtb3Vu
dCBwb2ludCAnL3Zhci9sb2NrJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJuaW5nKS4KPiBTdGFy
dGluZyB0aGUgaG90cGx1ZyBldmVudHMgZGlzcGF0Y2hlcjogdWRldmR1ZGV2WzEyOTZdOiBzdGFy
dGluZyB2ZXJzaW9uIDE2NAo+IC4KPiBTeW50aGVzaXppbmcgdGhlIGluaXRpYWwgaG90cGx1ZyBl
dmVudHMuLi5kb25lLgo+IFdhaXRpbmcgZm9yIC9kZXYgdG8gYmUgZnVsbHkgcG9wdWxhdGVkLi4u
ZG9uZS4KPiBTZXR0aW5nIGhvc3RuYW1lIHRvICd4ZW4nLi4uZG9uZS4KPiBTZXR0aW5nIHByZWxp
bWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGluZyBzd2FwOi4KPiBFWFQ0LWZzIChkbS0w
KTogcmUtbW91bnRlZC4gT3B0czogKG51bGwpCj4gV2lsbCBub3cgY2hlY2sgcm9vdCBmaWxlIHN5
c3RlbTpmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBbL3NiaW4vZnNjay5leHQ0ICgx
KSAtLSAvXSBmc2NrLmV4dDQgLWEgLUMwIC9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiAKPiAvZGV2
L21hcHBlci9sZW1yb3VjaC14ZW46IGNsZWFuLCAxNzU2NDcvMTMxMDcyMCBmaWxlcywgMTI3Njc3
MC81MjQyODgwIGJsb2Nrcwo+IC4KPiBFWFQ0LWZzIChkbS0wKTogcmUtbW91bnRlZC4gT3B0czog
ZXJyb3JzPXJlbW91bnQtcm8KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgZmlyZXdpcmUtc2JwMi4K
PiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgbG9vcC4KPiBDbGVhbmluZyB1cCBpZnVwZG93bi4uLi4K
PiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0dGluZyB1cCBMVk0gVm9sdW1lIEdyb3Vw
cyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4gIFRoaXMgbWF5IHRha2UgYSB3aGlsZS4u
Lgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3VjaCIgdXNpbmcgbWV0YWRhdGEgdHlwZSBs
dm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAibGVtcm91Y2giIG5v
dyBhY3RpdmUKPiAuCj4gV2lsbCBub3cgYWN0aXZhdGUgbHZtIGFuZCBtZCBzd2FwOmRvbmUuCj4g
V2lsbCBub3cgY2hlY2sgYWxsIGZpbGUgc3lzdGVtcy4KPiBmc2NrIGZyb20gdXRpbC1saW51eC1u
ZyAyLjE3LjIKPiBDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgo+IERvbmUgY2hlY2tpbmcgZmls
ZSBzeXN0ZW1zLiBBIGxvZyBpcyBiZWluZyBzYXZlZCBpbiAvdmFyL2xvZy9mc2NrL2NoZWNrZnMg
aWYgdGhhdCBsb2NhdGlvbiBpcyB3cml0YWJsZS4uCj4gV2lsbCBub3cgbW91bnQgbG9jYWwgZmls
ZXN5c3RlbXM6RVhUNC1mcyAoc2RhMSk6IHdhcm5pbmc6IG1vdW50aW5nIHVuY2hlY2tlZCBmcywg
cnVubmluZyBlMmZzY2sgaXMgcmVjb21tZW5kZWQKPiBFWFQ0LWZzIChzZGExKTogbW91bnRlZCBm
aWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6IChudWxsKQo+IC4KPiBXaWxs
IG5vdyBhY3RpdmF0ZSBzd2FwZmlsZSBzd2FwOmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5
IGZpbGVzLi4uQ2xlYW5pbmcgL3RtcC4uLmRvbmUuCj4gLgo+IENoZWNraW5nIG1pbmltdW0gc3Bh
Y2UgaW4gL3RtcC4uLmRvbmUuCj4gU2V0dGluZyBrZXJuZWwgdmFyaWFibGVzIC4uLiAvZXRjL3N5
c2N0bC5jb25mLi4uZG9uZS4KPiBJbml0aWFsaXppbmcgcmFuZG9tIG51bWJlciBnZW5lcmF0b3Iu
Li5kb25lLgo+IFNldHRpbmcgdXAgWCBzZXJ2ZXIgc29ja2V0IGRpcmVjdG9yeSAvdG1wLy5YMTEt
dW5peC4uLi4KPiBTZXR0aW5nIHVwIElDRSBzb2NrZXQgZGlyZWN0b3J5IC90bXAvLklDRS11bml4
Li4uLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJmYWNlcy4uLmRldmljZSBldGgwIGVudGVy
ZWQgcHJvbWlzY3VvdXMgbW9kZQo+IHNreTIgMDAwMDowNDowMC4wOiBldGgwOiBlbmFibGluZyBp
bnRlcmZhY2UKPiBkb25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBTdGFy
dGluZyBmaWxlc3lzdGVtIGluIHVzZXJzcGFjZTogZnVzZS4KPiBTZXR0aW5nIGNvbnNvbGUgc2Ny
ZWVuIG1vZGVzLgo+IGNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlCj4gU2tpcHBpbmcgZm9u
dCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNvbnNvbGUtc2V0dXApLgo+IFNldHRpbmcg
dXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25lLgo+IFNldHRpbmcgc2Vuc29ycyBsaW1p
dHMuCj4gSU5JVDogRW50ZXJpbmcgcnVubGV2ZWw6IDMKPiBVc2luZyBtYWtlZmlsZS1zdHlsZSBj
b25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgMy4KPiBOb3Qgc3RhcnRpbmcgZmFuY29udHJvbDsg
cnVuIHB3bWNvbmZpZyBmaXJzdC4gLi4uICh3YXJuaW5nKS4KPiBhY3BpZDogc3RhcnRpbmcgdXAg
d2l0aCBuZXRsaW5rIGFuZCB0aGUgaW5wdXQgbGF5ZXIKPiAKPiBhY3BpZDogMSBydWxlIGxvYWRl
ZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6IGV2ZW50IGxvZ2dpbmcgaXMgb2ZmCj4g
Cj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBTdGFydGluZyBzeXN0ZW0gbWVzc2FnZSBi
dXM6IGRidXMuCj4gU3RhcnRpbmcgdGhlIFdpbmJpbmQgZGFlbW9uOiB3aW5iaW5kLnNzaGQgKDIw
NjYpOiAvcHIKPiBvYy8yMDY2L29vbV9hZGogaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSAvcHJv
Yy8yMDY2L29vbV9zY29yZV9hZGogaW5zdGVhZC4KPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNw
dSBzdGF0ZQo+IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFi
bGUgdG8gcmVhZCBjcHUgc3RhdGUKPiBYRU5CVVM6IFVuYWJsZSB0byByZWFkIGNwdSBzdGF0ZQo+
IFhFTkJVUzogVW5hYmxlIHRvIHJlYWQgY3B1IHN0YXRlCj4gWEVOQlVTOiBVbmFibGUgdG8gcmVh
ZCBjcHUgc3RhdGUKPiBTdGFydGluZyBveGVuc3RvcmVkLi4uCj4gU2V0dGluZyBkb21haW4gMCBu
YW1lLi4uCj4gU3RhcnRpbmcgeGVuY29uc29sZWQuLi4KPiBTdGFydGluZyBPcGVuQlNEIFNlY3Vy
ZSBTaGVsbCBzZXJ2ZXI6IHNzaGQuCj4gU3RhcnRpbmcgZG9tYWluIG5hbWUgc2VydmljZS4uLjog
YmluZDkuCj4gU3RhcnRpbmcgU2FtYmEgZGFlbW9uczogbm1iZCBzbWJkLgo+IFN0YXJ0aW5nIHBl
cmlvZGljIGNvbW1hbmQgc2NoZWR1bGVyOiBjcm9uLgo+IFN0YXJ0aW5nIFBvc3RmaXggTWFpbCBU
cmFuc3BvcnQgQWdlbnQ6IHBvc3RmaXguCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3RybC5j
Ojc5MjogYmxrdGFwY3RybDogdjEuMC4wCj4gCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3Ry
bC5jOjc5NDogRm91bmQgZHJpdmVyOiBbcmF3IGltYWdlIChhaW8pXQo+IAo+IEJMS1RBUENUUkxb
MjIzMV06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3JhdyBpbWFnZSAoc3luYyld
Cj4gCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBb
dm13YXJlIGltYWdlICh2bWRrKV0KPiAKPiBCTEtUQVBDVFJMWzIyMzFdOiBibGt0YXBjdHJsLmM6
Nzk0OiBGb3VuZCBkcml2ZXI6IFtyYW1kaXNrIGltYWdlIChyYW0pXQo+IAo+IEJMS1RBUENUUkxb
MjIzMV06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3Fjb3cgZGlzayAocWNvdyld
Cj4gCj4gQkxLVEFQQ1RSTFsyMjMxXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBb
cWNvdzIgZGlzayAocWNvdzIpXQo+IAo+IEJMS1RBUENUUkxbMjIzMV06IGJsa3RhcGN0cmxfbGlu
dXguYzo4NjogYmxrdGFwMCBvcGVuIGZhaWxlZAo+IAo+IEJMS1RBUENUUkxbMjIzMV06IGJsa3Rh
cGN0cmwuYzo4NjE6IGNvdWxkbid0IG9wZW4gYmxrdGFwIGludGVyZmFjZQo+IAo+IEJMS1RBUENU
UkxbMjIzMV06IGJsa3RhcGN0cmwuYzo5MjQ6IFVuYWJsZSB0byBzdGFydCBibGt0YXBjdHJsCj4g
Cj4gU3RhcnRpbmcgUy5NLkEuUi5ULiBkYWVtb246IHNtYXJ0ZC4KPiBza3kyIDAwMDA6MDQ6MDAu
MDogZXRoMDogTGluayBpcyB1cCBhdCAxMDAgTWJwcywgZnVsbCBkdXBsZXgsIGZsb3cgY29udHJv
bCBib3RoCj4gYnIwOiBwb3J0IDEoZXRoMCkgZW50ZXJpbmcgZm9yd2FyZGluZyBzdGF0ZQo+IGJy
MDogcG9ydCAxKGV0aDApIGVudGVyaW5nIGZvcndhcmRpbmcgc3RhdGUKPiBicjA6IHBvcnQgMShl
dGgwKSBlbnRlcmluZyBmb3J3YXJkaW5nIHN0YXRlCj4gUnVubmluZyBsb2NhbCBib290IHNjcmlw
dHMgKC9ldGMvcmMubG9jYWwpKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxMi4yCj4g
YWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQKPiAKPiBhY3BpZDogaW5w
dXQgZGV2aWNlIGhhcyBiZWVuIGRpc2Nvbm5lY3RlZAo+IAo+IGFjcGlkOiBpbnB1dCBkZXZpY2Ug
aGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDow
MDoxMy4yCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDox
My4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4yCj4gW0NQVTBdIGZhaWxlZCB0
byBzZXQgZ292ZXJub3IgbmFtZQo+IFtDUFUxXSBmYWlsZWQgdG8gc2V0IGdvdmVybm9yIG5hbWUK
PiBbQ1BVMl0gZmFpbGVkIHRvIHNldCBnb3Zlcm5vciBuYW1lCj4gW0NQVTNdIGZhaWxlZCB0byBz
ZXQgZ292ZXJub3IgbmFtZQo+IFtDUFU0XSBmYWlsZWQgdG8gc2V0IGdvdmVybm9yIG5hbWUKPiBb
Q1BVNV0gZmFpbGVkIHRvIHNldCBnb3Zlcm5vciBuYW1lCj4gLgo+IGFjcGlkOiBpbnB1dCBkZXZp
Y2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gYWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVl
biBkaXNjb25uZWN0ZWQKPiAKPiBhY3BpZDogaW5wdXQgZGV2aWNlIGhhcyBiZWVuIGRpc2Nvbm5l
Y3RlZAo+IAo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4g
KFhFTikgaW9wb3J0X21hcDphZGQ6IGRvbTEgZ3BvcnQ9M2IwIG1wb3J0PTNiMCBucj1jCj4gKFhF
TikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWEwIG1mbj1hMCBucj0yMAo+IChYRU4pIGlvcG9y
dF9tYXA6YWRkOiBkb20xIGdwb3J0PTNjMCBtcG9ydD0zYzAgbnI9Mwo+IChYRU4pIGlvcG9ydF9t
YXA6YWRkOiBkb20xIGdwb3J0PTNjNCBtcG9ydD0zYzQgbnI9MWMKPiAoWEVOKSBIVk0xOiBIVk0g
TG9hZGVyCj4gKFhFTikgSFZNMTogRGV0ZWN0ZWQgWGVuIHY0LjItdW5zdGFibGUKPiAoWEVOKSBI
Vk0xOiBYZW5idXMgcmluZ3MgQDB4ZmVmZmMwMDAsIGV2ZW50IGNoYW5uZWwgOAo+IChYRU4pIEhW
TTE6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklPUwo+IChYRU4pIEhWTTE6IENQVSBzcGVlZCBpcyAz
MDEwIE1Iego+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAwIGNoYW5nZWQgMCAtPiA1
Cj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUKPiAoWEVOKSBpcnEu
YzoyNzA6IERvbTEgUENJIGxpbmsgMSBjaGFuZ2VkIDAgLT4gMTAKPiAoWEVOKSBIVk0xOiBQQ0kt
SVNBIGxpbmsgMSByb3V0ZWQgdG8gSVJRMTAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxp
bmsgMiBjaGFuZ2VkIDAgLT4gMTEKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMiByb3V0ZWQg
dG8gSVJRMTEKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxpbmsgMyBjaGFuZ2VkIDAgLT4g
NQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAzIHJvdXRlZCB0byBJUlE1Cj4gKFhFTikgSFZN
MTogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIElO
VEEtPklSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgSU5UQS0+SVJRNQo+IChYRU4pIEhW
TTE6IHBjaSBkZXYgMDU6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDY6MCBJ
TlRCLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNzowIElOVEEtPklSUTUKPiAoWEVOKSBI
Vk0xOiBwY2kgZGV2IDA4OjAgSU5UQi0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA5OjAg
SU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDEwIHNpemUgMTAwMDAw
MDA6IGUwMDAwMDBjCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWUwMDAwIG1mbj1k
MDAwMCBucj0xMDAwMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6MCBiYXIgMTQgc2l6ZSAwMTAw
MDAwMDogZjAwMDAwMDgKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgYmFyIDEwIHNpemUgMDAw
MjAwMDA6IGYxMDAwMDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDIwIG1m
bj1mZTllMCBucj0yMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTggc2l6ZSAwMDAy
MDAwMDogZjEwMjAwMDQKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDMwIHNpemUgMDAw
MjAwMDA6IGYxMDQwMDAwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNjowIGJhciAxMCBzaXplIDAw
MDA0MDAwOiBmMTA2MDAwNAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2MCBt
Zm49ZmU5YmMgbnI9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDk6MCBiYXIgMTAgc2l6ZSAwMDAw
NDAwMDogZjEwNjQwMDQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjQgbWZu
PWZlM2Y4IG5yPTQKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA3OjAgYmFyIDEwIHNpemUgMDAwMDEw
MDA6IGYxMDY4MDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDY4IG1mbj1m
ZTNmNyBucj0xCj4gKFhFTikgSFZNMTogcGNpIGRldiAwODowIGJhciAxMCBzaXplIDAwMDAxMDAw
OiBmMTA2OTAwMAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2OSBtZm49ZjAw
MDAgbnI9MQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDM6MCBiYXIgMTAgc2l6ZSAwMDAwMDEwMDog
MDAwMGMwMDEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA1OjAgYmFyIDIwIHNpemUgMDAwMDAxMDA6
IDAwMDBjMTAxCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNDowIGJhciAxNCBzaXplIDAwMDAwMDQw
OiAwMDAwYzIwMQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDE6MSBiYXIgMjAgc2l6ZSAwMDAwMDAx
MDogMDAwMGMyNDEKPiAoWEVOKSBIVk0xOiBNdWx0aXByb2Nlc3NvciBpbml0aWFsaXNhdGlvbjoK
PiAoWEVOKSBIVk0xOiAgLSBDUFUwIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4u
IHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUxIC4uLiA0OC1i
aXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAo
WEVOKSBIVk0xOiAgLSBDUFUyIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZh
ciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFUzIC4uLiA0OC1iaXQg
cGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVO
KSBIVk0xOiAgLSBDUFU0IC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBN
VFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBIVk0xOiAgLSBDUFU1IC4uLiA0OC1iaXQgcGh5
cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMy84XSAuLi4gZG9uZS4KPiAoWEVOKSBI
Vk0xOiBUZXN0aW5nIEhWTSBlbnZpcm9ubWVudDoKPiAoWEVOKSBIVk0xOiAgLSBSRVAgSU5TQiBh
Y3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiAgLSBHUyBiYXNl
IE1TUnMgYW5kIFNXQVBHUyAuLi4gcGFzc2VkCj4gKFhFTikgSFZNMTogUGFzc2VkIDIgb2YgMiB0
ZXN0cwo+IChYRU4pIEhWTTE6IFdyaXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KPiAoWEVOKSBIVk0x
OiBMb2FkaW5nIFJPTUJJT1MgLi4uCj4gKFhFTikgSFZNMTogOTY2MCBieXRlcyBvZiBST01CSU9T
IGhpZ2gtbWVtb3J5IGV4dGVuc2lvbnM6Cj4gKFhFTikgSFZNMTogICBSZWxvY2F0aW5nIHRvIDB4
ZmMwMDEwMDAtMHhmYzAwMzViYyAuLi4gZG9uZQo+IChYRU4pIEhWTTE6IENyZWF0aW5nIE1QIHRh
YmxlcyAuLi4KPiAoWEVOKSBIVk0xOiBMb2FkaW5nIFZHQUJJT1Mgb2YgcGFzc3Rocm91Z2hlZCBn
ZnggLi4uCj4gKFhFTikgSFZNMTogTG9hZGluZyBQQ0kgT3B0aW9uIFJPTSAuLi4KPiAoWEVOKSBI
Vk0xOiAgLSBNYW51ZmFjdHVyZXI6IGh0dHA6Ly9pcHhlLm9yZwo+IChYRU4pIEhWTTE6ICAtIFBy
b2R1Y3QgbmFtZTogaVBYRQo+IChYRU4pIEhWTTE6IE9wdGlvbiBST01zOgo+IChYRU4pIEhWTTE6
ICBjMDAwMC1jZmZmZjogVkdBIEJJT1MKPiAoWEVOKSBIVk0xOiAgZDAwMDAtZTBmZmY6IEV0aGVy
Ym9vdCBST00KPiAoWEVOKSBIVk0xOiBMb2FkaW5nIEFDUEkgLi4uCj4gKFhFTikgSFZNMTogdm04
NiBUU1MgYXQgZmMwMGY3MDAKPiAoWEVOKSBIVk0xOiBCSU9TIG1hcDoKPiAoWEVOKSBIVk0xOiAg
ZjAwMDAtZmZmZmY6IE1haW4gQklPUwo+IChYRU4pIEhWTTE6IEU4MjAgdGFibGU6Cj4gKFhFTikg
SFZNMTogIFswMF06IDAwMDAwMDAwOjAwMDAwMDAwIC0gMDAwMDAwMDA6MDAwOWUwMDA6IFJBTQo+
IChYRU4pIEhWTTE6ICBbMDFdOiAwMDAwMDAwMDowMDA5ZTAwMCAtIDAwMDAwMDAwOjAwMGEwMDAw
OiBSRVNFUlZFRAo+IChYRU4pIEhWTTE6ICBIT0xFOiAwMDAwMDAwMDowMDBhMDAwMCAtIDAwMDAw
MDAwOjAwMGUwMDAwCj4gKFhFTikgSFZNMTogIFswMl06IDAwMDAwMDAwOjAwMGUwMDAwIC0gMDAw
MDAwMDA6MDAxMDAwMDA6IFJFU0VSVkVECj4gKFhFTikgSFZNMTogIFswM106IDAwMDAwMDAwOjAw
MTAwMDAwIC0gMDAwMDAwMDA6ZTAwMDAwMDA6IFJBTQo+IChYRU4pIEhWTTE6ICBIT0xFOiAwMDAw
MDAwMDplMDAwMDAwMCAtIDAwMDAwMDAwOmZjMDAwMDAwCj4gKFhFTikgSFZNMTogIFswNF06IDAw
MDAwMDAwOmZjMDAwMDAwIC0gMDAwMDAwMDE6MDAwMDAwMDA6IFJFU0VSVkVECj4gKFhFTikgSFZN
MTogIFswNV06IDAwMDAwMDAxOjAwMDAwMDAwIC0gMDAwMDAwMDE6MjAwMDAwMDA6IFJBTQo+IChY
RU4pIEhWTTE6IEludm9raW5nIFJPTUJJT1MgLi4uCj4gKFhFTikgSFZNMTogJFJldmlzaW9uOiAx
LjIyMSAkICREYXRlOiAyMDA4LzEyLzA3IDE3OjMyOjI5ICQKPiAoWEVOKSBIVk0xOiBCb2NocyBC
SU9TIC0gYnVpbGQ6IDA2LzIzLzk5Cj4gKFhFTikgSFZNMTogJFJldmlzaW9uOiAxLjIyMSAkICRE
YXRlOiAyMDA4LzEyLzA3IDE3OjMyOjI5ICQKPiAoWEVOKSBIVk0xOiBPcHRpb25zOiBhcG1iaW9z
IHBjaWJpb3MgZWx0b3JpdG8gUE1NIAo+IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IGF0YTAt
MDogUENIUz0xNjM4My8xNi82MyB0cmFuc2xhdGlvbj1sYmEgTENIUz0xMDI0LzI1NS82Mwo+IChY
RU4pIEhWTTE6IGF0YTAgbWFzdGVyOiBRRU1VIEhBUkRESVNLIEFUQS03IEhhcmQtRGlzayAoMjA0
ODAgTUJ5dGVzKQo+IChYRU4pIEhWTTE6IGF0YTAtMTogUENIUz0xNjM4My8xNi82MyB0cmFuc2xh
dGlvbj1sYmEgTENIUz0xMDI0LzI1NS82Mwo+IChYRU4pIEhWTTE6IGF0YTAgIHNsYXZlOiBRRU1V
IEhBUkRESVNLIEFUQS03IEhhcmQtRGlzayAoNTEyMDAgTUJ5dGVzKQo+IChYRU4pIEhWTTE6IAo+
IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IFByZXNzIEYxMiBmb3Ig
Ym9vdCBtZW51Lgo+IChYRU4pIEhWTTE6IAo+IChYRU4pIEhWTTE6IEJvb3RpbmcgZnJvbSBIYXJk
IERpc2suLi4KPiAoWEVOKSBIVk0xOiBCb290aW5nIGZyb20gMDAwMDo3YzAwCj4gKFhFTikgaXJx
LmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdlZCA1IC0+IDAKPiAoWEVOKSBpcnEuYzoyNzA6
IERvbTEgUENJIGxpbmsgMSBjaGFuZ2VkIDEwIC0+IDAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEg
UENJIGxpbmsgMiBjaGFuZ2VkIDExIC0+IDAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxp
bmsgMyBjaGFuZ2VkIDUgLT4gMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1l
MDAwMCBtZm49ZDAwMDAgbnI9MTAwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBn
Zm49ZjEwMjAgbWZuPWZlOWUwIG5yPTIwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2Zu
PWUwMDAwIG1mbj1kMDAwMCBucj0xMDAwMAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdm
bj1mMTAyMCBtZm49ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBn
Zm49ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49
ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49
ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEw
NjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEw
NjkgbWZuPWYwMDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjkg
bWZuPWYwMDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjQg
bWZuPWZlM2Y4IG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjQgbWZu
PWZlM2Y4IG5yPTQKPiAoWEVOKSBncmFudF90YWJsZS5jOjExNzQ6ZDEgRXhwYW5kaW5nIGRvbSAo
MSkgZ3JhbnQgdGFibGUgZnJvbSAoNCkgdG8gKDMyKSBmcmFtZXMuCj4gKFhFTikgaXJxLmM6MzUw
OiBEb20xIGNhbGxiYWNrIHZpYSBjaGFuZ2VkIHRvIEdTSSAyOAo+IChYRU4pIG1lbW9yeV9tYXA6
cmVtb3ZlOiBkb20xIGdmbj1lMDAwMCBtZm49ZDAwMDAgbnI9MTAwMDAKPiAoWEVOKSBtZW1vcnlf
bWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwMjAgbWZuPWZlOWUwIG5yPTIwCj4gKFhFTikgbWVtb3J5
X21hcDphZGQ6IGRvbTEgZ2ZuPWUwMDAwIG1mbj1kMDAwMCBucj0xMDAwMAo+IChYRU4pIG1lbW9y
eV9tYXA6YWRkOiBkb20xIGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlf
bWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlf
bWFwOmFkZDogZG9tMSBnZm49ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFw
OnJlbW92ZTogZG9tMSBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFw
OmFkZDogZG9tMSBnZm49ZjEwNjAgbWZuPWZlOWJjIG5yPTQKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMSwgZmF1bHQgYWRkcmVzcyA9
IDB4OWRiNDQwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjkgbWZu
PWYwMDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjkgbWZuPWYw
MDAwIG5yPTEKPiAoWEVOKSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMSBnZm49ZjEwNjQgbWZuPWZl
M2Y4IG5yPTQKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjQgbWZuPWZlM2Y4
IG5yPTQKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDBhMiwgZmF1bHQgYWRkcmVzcyA9IDB4OWRlYmUwMDAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDBhMiwgZmF1bHQgYWRkcmVz
cyA9IDB4OWRlYmUwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDBhMiwgZmF1bHQgYWRkcmVzcyA9IDB4OWRlYmUwMDAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk0MzI0ZTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzI0YjAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk0MzI1MTAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MDhhODAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwg
ZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIw
NDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIwODAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9
IDB4OWQ3YWIwYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIxMDAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQg
YWRkcmVzcyA9IDB4OWQ3YWIxNDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIxODAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcw
MCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIxYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3
YWIyMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIyNDAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVz
cyA9IDB4OWQ3YWIyODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIyYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1
bHQgYWRkcmVzcyA9IDB4OWQ3YWIzMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzNDAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzNDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4
OWQ3YWIzODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzODAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRk
cmVzcyA9IDB4OWQ3YWIzYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDcwMCwgZmF1bHQgYWRkcmVzcyA9IDB4OWQ3YWIzYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0
NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0
MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MGVhODAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk1MjY0NjAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5Miwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNh
MzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2ZjZhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2
MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk1MGVhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MzhhMzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5Miwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNh
MzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MDJhODAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1
MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4
YTk0MDJhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmlj
ZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRk
cmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5Miwg
ZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MTRh
MzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9
IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9
IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRl
dmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQg
YWRkcmVzcyA9IDB4YTk2ZmNhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5
MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0
MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBp
ZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk0MzJhMzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVz
cyA9IDB4YTk1MjZhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEs
IGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk1MmNhMzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1
bHQgYWRkcmVzcyA9IDB4YTk1MTRhMzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDEsIGRldmljZSBpZCA9IDB4MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2MWFhMzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDEsIGRldmljZSBpZCA9IDB4
MDA5MiwgZmF1bHQgYWRkcmVzcyA9IDB4YTk2ZmNhODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZGZlODAwODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwMDAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwMDAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwNDAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZGZlODAwODAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZGZlODAwMDAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQt
Vmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQg
YWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFp
biA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAo
WEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5
MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFV
TFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZm
ZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBp
ZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElP
X1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVz
cyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAs
IGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBB
TUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1
bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRv
bWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAK
PiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4
MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0Vf
RkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4
ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmlj
ZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6
IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRk
cmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9
IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVO
KSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwg
ZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6
IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZm
YzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9
IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BB
R0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRldmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9
IDB4ZmZmZmZmYzAKPiAoWEVOKSBBTUQtVmk6IElPX1BBR0VfRkFVTFQ6IGRvbWFpbiA9IDAsIGRl
dmljZSBpZCA9IDB4MDA5MCwgZmF1bHQgYWRkcmVzcyA9IDB4ZmZmZmZmYzAKCj4gZGlmZiAtLWdp
dCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2Fz
bS9wYXJhdmlydC5oCj4gaW5kZXggYWEwZjkxMy4uMjU5ZWY3ZiAxMDA2NDQKPiAtLS0gYS9hcmNo
L3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oCj4gKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20v
cGFyYXZpcnQuaAo+IEBAIC0zNDAsMTEgKzM0MCwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgd3Jp
dGVfaWR0X2VudHJ5KGdhdGVfZGVzYyAqZHQsIGludCBlbnRyeSwgY29uc3QgZ2F0ZV9kZXNjICpn
KQo+ICB7Cj4gIAlQVk9QX1ZDQUxMMyhwdl9jcHVfb3BzLndyaXRlX2lkdF9lbnRyeSwgZHQsIGVu
dHJ5LCBnKTsKPiAgfQo+ICsKPiAgc3RhdGljIGlubGluZSB2b2lkIHNldF9pb3BsX21hc2sodW5z
aWduZWQgbWFzaykKPiAgewo+ICAJUFZPUF9WQ0FMTDEocHZfY3B1X29wcy5zZXRfaW9wbF9tYXNr
LCBtYXNrKTsKPiAgfQo+ICAKPiArc3RhdGljIGlubGluZSB2b2lkIHNldF9pb19iaXRtYXAoc3Ry
dWN0IHRocmVhZF9zdHJ1Y3QgKnRocmVhZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIGJ5dGVzX3VwZGF0ZWQpCj4gK3sKPiArICAgICAgIFBWT1BfVkNB
TEwyKHB2X2NwdV9vcHMuc2V0X2lvX2JpdG1hcCwgdGhyZWFkLCBieXRlc191cGRhdGVkKTsKPiAr
fQo+ICsKPiAgLyogVGhlIHBhcmF2aXJ0dWFsaXplZCBJL08gZnVuY3Rpb25zICovCj4gIHN0YXRp
YyBpbmxpbmUgdm9pZCBzbG93X2Rvd25faW8odm9pZCkKPiAgewo+IGRpZmYgLS1naXQgYS9hcmNo
L3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20v
cGFyYXZpcnRfdHlwZXMuaAo+IGluZGV4IDhlOGI5YTQuLjk2ZjI2N2MgMTAwNjQ0Cj4gLS0tIGEv
YXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnRfdHlwZXMuaAo+ICsrKyBiL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmgKPiBAQCAtMTQyLDYgKzE0Miw4IEBAIHN0cnVjdCBw
dl9jcHVfb3BzIHsKPiAgCXZvaWQgKCpsb2FkX3NwMCkoc3RydWN0IHRzc19zdHJ1Y3QgKnRzcywg
c3RydWN0IHRocmVhZF9zdHJ1Y3QgKnQpOwo+ICAKPiAgCXZvaWQgKCpzZXRfaW9wbF9tYXNrKSh1
bnNpZ25lZCBtYXNrKTsKPiArICAgICAgICB2b2lkICgqc2V0X2lvX2JpdG1hcCkoc3RydWN0IHRo
cmVhZF9zdHJ1Y3QgKnRocmVhZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBieXRlc191cGRhdGVkKTsKPiAgCj4gIAl2b2lkICgqd2JpbnZkKSh2b2lkKTsK
PiAgCXZvaWQgKCppb19kZWxheSkodm9pZCk7Cj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1
ZGUvYXNtL3Byb2Nlc3Nvci5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKPiBp
bmRleCA0ZmE3ZGNjLi42MmJlY2NlIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNt
L3Byb2Nlc3Nvci5oCj4gKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKPiBA
QCAtNTAzLDYgKzUwMyw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBuYXRpdmVfc2V0X2lvcGxfbWFz
ayh1bnNpZ25lZCBtYXNrKQo+ICAjZW5kaWYKPiAgfQo+ICAKPiArZXh0ZXJuIHZvaWQgbmF0aXZl
X3NldF9pb19iaXRtYXAoc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnRocmVhZCwKPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHVwZGF0ZWRfYnl0ZXMpOwo+ICsK
PiAgc3RhdGljIGlubGluZSB2b2lkCj4gIG5hdGl2ZV9sb2FkX3NwMChzdHJ1Y3QgdHNzX3N0cnVj
dCAqdHNzLCBzdHJ1Y3QgdGhyZWFkX3N0cnVjdCAqdGhyZWFkKQo+ICB7Cj4gQEAgLTUzNiw2ICs1
MzksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9zcDAoc3RydWN0IHRzc19zdHJ1Y3QgKnRz
cywKPiAgfQo+ICAKPiAgI2RlZmluZSBzZXRfaW9wbF9tYXNrIG5hdGl2ZV9zZXRfaW9wbF9tYXNr
Cj4gKyNkZWZpbmUgc2V0X2lvX2JpdG1hcCBuYXRpdmVfc2V0X2lvX2JpdG1hcAo+ICAjZW5kaWYg
LyogQ09ORklHX1BBUkFWSVJUICovCj4gIAo+ICAvKgo+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9r
ZXJuZWwvaW9wb3J0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaW9wb3J0LmMKPiBpbmRleCA4Yzk2ODk3
Li5jMzcyZWYwIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L2tlcm5lbC9pb3BvcnQuYwo+ICsrKyBi
L2FyY2gveDg2L2tlcm5lbC9pb3BvcnQuYwo+IEBAIC0xNywxMyArMTcsMjkgQEAKPiAgI2luY2x1
ZGUgPGxpbnV4L2JpdG1hcC5oPgo+ICAjaW5jbHVkZSA8YXNtL3N5c2NhbGxzLmg+Cj4gIAo+ICt2
b2lkIG5hdGl2ZV9zZXRfaW9fYml0bWFwKHN0cnVjdCB0aHJlYWRfc3RydWN0ICp0LAo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBieXRlc191cGRhdGVkKQo+ICt7Cj4g
KyAgICAgICBzdHJ1Y3QgdHNzX3N0cnVjdCAqdHNzOwo+ICsKPiArICAgICAgIGlmICghYnl0ZXNf
dXBkYXRlZCkKPiArICAgICAgICAgICAgICAgcmV0dXJuOwo+ICsKPiArICAgICAgIHRzcyA9ICZf
X2dldF9jcHVfdmFyKGluaXRfdHNzKTsKPiArCj4gKyAgICAgICAvKiBVcGRhdGUgdGhlIFRTUzog
Ki8KPiArICAgICAgIGlmICh0LT5pb19iaXRtYXBfcHRyKQo+ICsgICAgICAgICAgICAgICBtZW1j
cHkodHNzLT5pb19iaXRtYXAsIHQtPmlvX2JpdG1hcF9wdHIsIGJ5dGVzX3VwZGF0ZWQpOwo+ICsg
ICAgICAgZWxzZQo+ICsgICAgICAgICAgICAgICBtZW1zZXQodHNzLT5pb19iaXRtYXAsIDB4ZmYs
IGJ5dGVzX3VwZGF0ZWQpOwo+ICt9Cj4gKwo+ICAvKgo+ICAgKiB0aGlzIGNoYW5nZXMgdGhlIGlv
IHBlcm1pc3Npb25zIGJpdG1hcCBpbiB0aGUgY3VycmVudCB0YXNrLgo+ICAgKi8KPiAgYXNtbGlu
a2FnZSBsb25nIHN5c19pb3Blcm0odW5zaWduZWQgbG9uZyBmcm9tLCB1bnNpZ25lZCBsb25nIG51
bSwgaW50IHR1cm5fb24pCj4gIHsKPiAgCXN0cnVjdCB0aHJlYWRfc3RydWN0ICp0ID0gJmN1cnJl
bnQtPnRocmVhZDsKPiAtCXN0cnVjdCB0c3Nfc3RydWN0ICp0c3M7Cj4gIAl1bnNpZ25lZCBpbnQg
aSwgbWF4X2xvbmcsIGJ5dGVzLCBieXRlc191cGRhdGVkOwo+ICAKPiAgCWlmICgoZnJvbSArIG51
bSA8PSBmcm9tKSB8fCAoZnJvbSArIG51bSA+IElPX0JJVE1BUF9CSVRTKSkKPiBAQCAtNDgsMTMg
KzY0LDEzIEBAIGFzbWxpbmthZ2UgbG9uZyBzeXNfaW9wZXJtKHVuc2lnbmVkIGxvbmcgZnJvbSwg
dW5zaWduZWQgbG9uZyBudW0sIGludCB0dXJuX29uKQo+ICAJfQo+ICAKPiAgCS8qCj4gLQkgKiBk
byBpdCBpbiB0aGUgcGVyLXRocmVhZCBjb3B5IGFuZCBpbiB0aGUgVFNTIC4uLgo+ICsJICogZG8g
aXQgaW4gdGhlIHBlci10aHJlYWQgY29weQo+ICAJICoKPiAtCSAqIERpc2FibGUgcHJlZW1wdGlv
biB2aWEgZ2V0X2NwdSgpIC0gd2UgbXVzdCBub3Qgc3dpdGNoIGF3YXkKPiArCSAqIERpc2FibGUg
cHJlZW1wdGlvbiAtIHdlIG11c3Qgbm90IHN3aXRjaCBhd2F5Cj4gIAkgKiBiZWNhdXNlIHRoZSAt
PmlvX2JpdG1hcF9tYXggdmFsdWUgbXVzdCBtYXRjaCB0aGUgYml0bWFwCj4gIAkgKiBjb250ZW50
czoKPiAgCSAqLwo+IC0JdHNzID0gJnBlcl9jcHUoaW5pdF90c3MsIGdldF9jcHUoKSk7Cj4gKyAg
ICAgICAgcHJlZW1wdF9kaXNhYmxlKCk7Cj4gIAo+ICAJaWYgKHR1cm5fb24pCj4gIAkJYml0bWFw
X2NsZWFyKHQtPmlvX2JpdG1hcF9wdHIsIGZyb20sIG51bSk7Cj4gQEAgLTc1LDEwICs5MSw5IEBA
IGFzbWxpbmthZ2UgbG9uZyBzeXNfaW9wZXJtKHVuc2lnbmVkIGxvbmcgZnJvbSwgdW5zaWduZWQg
bG9uZyBudW0sIGludCB0dXJuX29uKQo+ICAKPiAgCXQtPmlvX2JpdG1hcF9tYXggPSBieXRlczsK
PiAgCj4gLQkvKiBVcGRhdGUgdGhlIFRTUzogKi8KPiAtCW1lbWNweSh0c3MtPmlvX2JpdG1hcCwg
dC0+aW9fYml0bWFwX3B0ciwgYnl0ZXNfdXBkYXRlZCk7Cj4gKyAgICAgICAgc2V0X2lvX2JpdG1h
cCh0LCBieXRlc191cGRhdGVkKTsKPiAgCj4gLQlwdXRfY3B1KCk7Cj4gKyAgICAgICAgcHJlZW1w
dF9lbmFibGUoKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+IGRpZmYgLS1naXQgYS9hcmNoL3g4
Ni9rZXJuZWwvcGFyYXZpcnQuYyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCj4gaW5kZXgg
YWIxMzc2MC4uYWE0MjBlNyAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQu
Ywo+ICsrKyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCj4gQEAgLTM5MSw2ICszOTEsNyBA
QCBzdHJ1Y3QgcHZfY3B1X29wcyBwdl9jcHVfb3BzID0gewo+ICAJLnN3YXBncyA9IG5hdGl2ZV9z
d2FwZ3MsCj4gIAo+ICAJLnNldF9pb3BsX21hc2sgPSBuYXRpdmVfc2V0X2lvcGxfbWFzaywKPiAr
ICAgICAgICAuc2V0X2lvX2JpdG1hcCA9IG5hdGl2ZV9zZXRfaW9fYml0bWFwLAo+ICAJLmlvX2Rl
bGF5ID0gbmF0aXZlX2lvX2RlbGF5LAo+ICAKPiAgCS5zdGFydF9jb250ZXh0X3N3aXRjaCA9IHBh
cmF2aXJ0X25vcCwKPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYyBiL2Fy
Y2gveDg2L2tlcm5lbC9wcm9jZXNzLmMKPiBpbmRleCAxZDkyYTVhLi5lODQzNmNjIDEwMDY0NAo+
IC0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzLmMKPiArKysgYi9hcmNoL3g4Ni9rZXJuZWwv
cHJvY2Vzcy5jCj4gQEAgLTkxLDE2ICs5MSwxMiBAQCB2b2lkIGV4aXRfdGhyZWFkKHZvaWQpCj4g
IAl1bnNpZ25lZCBsb25nICpicCA9IHQtPmlvX2JpdG1hcF9wdHI7Cj4gIAo+ICAJaWYgKGJwKSB7
Cj4gLQkJc3RydWN0IHRzc19zdHJ1Y3QgKnRzcyA9ICZwZXJfY3B1KGluaXRfdHNzLCBnZXRfY3B1
KCkpOwo+IC0KPiArICAgICAgICAgICAgICAgIHByZWVtcHRfZGlzYWJsZSgpOwo+ICAJCXQtPmlv
X2JpdG1hcF9wdHIgPSBOVUxMOwo+ICAJCWNsZWFyX3RocmVhZF9mbGFnKFRJRl9JT19CSVRNQVAp
Owo+IC0JCS8qCj4gLQkJICogQ2FyZWZ1bCwgY2xlYXIgdGhpcyBpbiB0aGUgVFNTIHRvbzoKPiAt
CQkgKi8KPiAtCQltZW1zZXQodHNzLT5pb19iaXRtYXAsIDB4ZmYsIHQtPmlvX2JpdG1hcF9tYXgp
Owo+ICsgICAgICAgICAgICAgICAgc2V0X2lvX2JpdG1hcCh0LCB0LT5pb19iaXRtYXBfbWF4KTsK
PiAgCQl0LT5pb19iaXRtYXBfbWF4ID0gMDsKPiAtCQlwdXRfY3B1KCk7Cj4gKyAgICAgICAgICAg
ICAgICBwcmVlbXB0X2VuYWJsZSgpOwo+ICAJCWtmcmVlKGJwKTsKPiAgCX0KPiAgfQo+IEBAIC0y
MzcsMTkgKzIzMywxMSBAQCB2b2lkIF9fc3dpdGNoX3RvX3h0cmEoc3RydWN0IHRhc2tfc3RydWN0
ICpwcmV2X3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dF9wLAo+ICAJCQloYXJkX2VuYWJsZV9U
U0MoKTsKPiAgCX0KPiAgCj4gLQlpZiAodGVzdF90c2tfdGhyZWFkX2ZsYWcobmV4dF9wLCBUSUZf
SU9fQklUTUFQKSkgewo+IC0JCS8qCj4gLQkJICogQ29weSB0aGUgcmVsZXZhbnQgcmFuZ2Ugb2Yg
dGhlIElPIGJpdG1hcC4KPiAtCQkgKiBOb3JtYWxseSB0aGlzIGlzIDEyOCBieXRlcyBvciBsZXNz
Ogo+IC0JCSAqLwo+IC0JCW1lbWNweSh0c3MtPmlvX2JpdG1hcCwgbmV4dC0+aW9fYml0bWFwX3B0
ciwKPiAtCQkgICAgICAgbWF4KHByZXYtPmlvX2JpdG1hcF9tYXgsIG5leHQtPmlvX2JpdG1hcF9t
YXgpKTsKPiAtCX0gZWxzZSBpZiAodGVzdF90c2tfdGhyZWFkX2ZsYWcocHJldl9wLCBUSUZfSU9f
QklUTUFQKSkgewo+IC0JCS8qCj4gLQkJICogQ2xlYXIgYW55IHBvc3NpYmxlIGxlZnRvdmVyIGJp
dHM6Cj4gLQkJICovCj4gLQkJbWVtc2V0KHRzcy0+aW9fYml0bWFwLCAweGZmLCBwcmV2LT5pb19i
aXRtYXBfbWF4KTsKPiAtCX0KPiArICAgICAgICBpZiAodGVzdF90c2tfdGhyZWFkX2ZsYWcobmV4
dF9wLCBUSUZfSU9fQklUTUFQKSB8fAo+ICsgICAgICAgICAgICB0ZXN0X3Rza190aHJlYWRfZmxh
ZyhwcmV2X3AsIFRJRl9JT19CSVRNQVApKQo+ICsgICAgICAgICAgICAgICAgc2V0X2lvX2JpdG1h
cChuZXh0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgocHJldi0+aW9fYml0
bWFwX21heCwgbmV4dC0+aW9fYml0bWFwX21heCkpOwo+ICsKPiAgCXByb3BhZ2F0ZV91c2VyX3Jl
dHVybl9ub3RpZnkocHJldl9wLCBuZXh0X3ApOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9hcmNo
L3g4Ni94ZW4vZW5saWdodGVuLmMgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKPiBpbmRleCA4
ODUzMjA0Li43YTA1NTA5IDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwo+
ICsrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwo+IEBAIC04MDgsNiArODA4LDE4IEBAIHN0
YXRpYyB2b2lkIHhlbl9zZXRfaW9wbF9tYXNrKHVuc2lnbmVkIG1hc2spCj4gIAlIWVBFUlZJU09S
X3BoeXNkZXZfb3AoUEhZU0RFVk9QX3NldF9pb3BsLCAmc2V0X2lvcGwpOwo+ICB9Cj4gIAo+ICtz
dGF0aWMgdm9pZCB4ZW5fc2V0X2lvX2JpdG1hcChzdHJ1Y3QgdGhyZWFkX3N0cnVjdCAqdGhyZWFk
LAo+ICsJaW50IGNoYW5nZWQsIHVuc2lnbmVkIGxvbmcgYnl0ZXNfdXBkYXRlZCkKPiArewo+ICsJ
c3RydWN0IHBoeXNkZXZfc2V0X2lvYml0bWFwIHNldF9pb2JpdG1hcDsKPiArCj4gKwlzZXRfeGVu
X2d1ZXN0X2hhbmRsZShzZXRfaW9iaXRtYXAuYml0bWFwLAo+ICsJCShjaGFyICopdGhyZWFkLT5p
b19iaXRtYXBfcHRyKTsKPiArCXNldF9pb2JpdG1hcC5ucl9wb3J0cyA9IHRocmVhZC0+aW9fYml0
bWFwX3B0ciA/IElPX0JJVE1BUF9CSVRTIDogMDsKPiArCVdBUk5fT04oSFlQRVJWSVNPUl9waHlz
ZGV2X29wKFBIWVNERVZPUF9zZXRfaW9iaXRtYXAsCj4gKwkJJnNldF9pb2JpdG1hcCkpOwo+ICt9
Cj4gKwo+ICBzdGF0aWMgdm9pZCB4ZW5faW9fZGVsYXkodm9pZCkKPiAgewo+ICB9Cj4gQEAgLTEx
MTcsNiArMTEyOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHZfY3B1X29wcyB4ZW5fY3B1X29w
cyBfX2luaXRjb25zdCA9IHsKPiAgCS5sb2FkX3NwMCA9IHhlbl9sb2FkX3NwMCwKPiAgCj4gIAku
c2V0X2lvcGxfbWFzayA9IHhlbl9zZXRfaW9wbF9tYXNrLAo+ICsJLnNldF9pb19iaXRtYXAgPSB4
ZW5fc2V0X2lvX2JpdG1hcCwKPiAgCS5pb19kZWxheSA9IHhlbl9pb19kZWxheSwKPiAgCj4gIAkv
KiBYZW4gdGFrZXMgY2FyZSBvZiAlZ3Mgd2hlbiBzd2l0Y2hpbmcgdG8gdXNlcm1vZGUgZm9yIHVz
ICovCgo+ICBfXyAgX18gICAgICAgICAgICBfICBfICAgIF9fX18gICAgICAgICAgICAgICAgICAg
ICBfICAgICAgICBfICAgICBfICAgICAgCj4gIFwgXC8gL19fXyBfIF9fICAgfCB8fCB8ICB8X19f
IFwgICAgXyAgIF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18gfCB8IF9fXyAKPiAgIFwgIC8vIF8g
XCAnXyBcICB8IHx8IHxfICAgX18pIHxfX3wgfCB8IHwgJ18gXC8gX198IF9fLyBfYCB8ICdfIFx8
IHwvIF8gXAo+ICAgLyAgXCAgX18vIHwgfCB8IHxfXyAgIF98IC8gX18vfF9ffCB8X3wgfCB8IHwg
XF9fIFwgfHwgKF98IHwgfF8pIHwgfCAgX18vCj4gIC9fL1xfXF9fX3xffCB8X3wgICAgfF98KF8p
X19fX198ICAgXF9fLF98X3wgfF98X19fL1xfX1xfXyxffF8uX18vfF98XF9fX3wKPiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11bnN0YWJsZSAocm9vdEAobm9uZSkp
IChnY2MgdmVyc2lvbiA0LjQuNSAoRGViaWFuIDQuNC41LTgpICkgU2F0IE1heSAgNSAxNTo0ODo0
OCBDRVNUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0OiBGcmkgTWF5IDA0IDExOjE4OjQ4
IDIwMTIgKzAxMDAgMjUyNTk6MGY1MzU0MDQ5NGY3Cj4gKFhFTikgQ29uc29sZSBvdXRwdXQgaXMg
c3luY2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JVQiAxLjk4KzIwMTAwODA0LTE0K3Nx
dWVlemUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBkb20wX21lbT0yRyBkb20w
X21heF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBzeW5jX2NvbnNvbGUgY29t
MT0xMTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAoWEVOKSBWaWRlbyBpbmZvcm1hdGlv
bjoKPiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwgZm9udCA4eDE2Cj4gKFhFTikgIFZC
RS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMSBzZWNvbmRzCj4gKFhFTikg
RGlzYyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBNQlIgc2lnbmF0dXJlcwo+IChYRU4p
ICBGb3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCj4gKFhFTikgWGVuLWU4MjAgUkFN
IG1hcDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWFjMDAgKHVzYWJs
ZSkKPiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVk
KQo+IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQp
Cj4gKFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1c2FibGUpCj4g
KFhFTikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4g
KFhFTikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNmZWMwMDAwIChBQ1BJIE5WUykKPiAo
WEVOKSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2ZmMDAwMDAgKHJlc2VydmVkKQo+IChY
RU4pICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4gKFhF
TikgIDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAwMDAwICh1c2FibGUpCj4gKFhFTikg
QUNQSTogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFNKQo+IChYRU4pIEFDUEk6IFhTRFQg
Q0ZFODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3
KQo+IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQgKHIzIDEwMjgxMSBGQUNQMTc0MCAy
MDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IERTRFQgQ0ZFODA0NzAsIEU2RTMg
KHIxICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIwMDYwMTEzKQo+IChYRU4pIEFDUEk6
IEZBQ1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBBUElDIENGRTgwMzkwLCAwMDk4IChy
MSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBN
Q0ZHIENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAgICAg
ICA5NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAwMDcyIChyMSAxMDI4MTEgT0VNQjE3
NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBIUEVUIENGRThGOEMwLCAw
MDM4IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBB
Q1BJOiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAgICBSRDg5MFMgICAyMDIwMzEgQU1E
ICAgICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThGOUUwLCAwRTEwIChyMSBBIE0gSSAg
UE9XRVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAoWEVOKSBTeXN0ZW0gUkFNOiA4MTkw
TUIgKDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiAoWEVO
KSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDIzMDAwMDAwMAo+IChY
RU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikgZm91bmQgU01QIE1QLXRhYmxlIGF0
IDAwMGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhFTikgVXNpbmcgQVBJQyBkcml2ZXIg
ZGVmYXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4ODA4Cj4gKFhFTikgQUNQ
STogQUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0sIHBtMXhfZXZ0WzgwMCwwXQo+IChY
RU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3ZlY1tjZmU5ODAwY10sIHZlY19zaXpl
WzIwXQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwCj4gKFhFTikg
QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKPiAoWEVO
KSBQcm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAo
YWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAj
MSAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDNd
IGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICMyIDA6MTAgQVBJQyB2
ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNF0gbGFwaWNfaWRbMHgw
M10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDoxMCBBUElDIHZlcnNpb24gMTYKPiAo
WEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBlbmFibGVkKQo+
IChYRU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6IExB
UElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVuYWJsZWQpCj4gKFhFTikgUHJvY2Vz
c29yICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwN10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlf
aWRbMHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4gKFhFTikgQUNQSTogSU9BUElDIChp
ZFsweDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNlWzBdKQo+IChYRU4pIElPQVBJQ1sw
XTogYXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCj4g
KFhFTikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVjMjAwMDBdIGdzaV9iYXNl
WzI0XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywgdmVyc2lvbiAzMywgYWRkcmVzcyAw
eGZlYzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVz
X2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChi
dXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiAoWEVOKSBBQ1BJOiBJUlEw
IHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgo+
IChYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4KPiAoWEVOKSBFbmFibGluZyBBUElD
IG1vZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAoWEVOKSBBQ1BJOiBIUEVUIGlkOiAw
eDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFRhYmxlIGlzIG5vdCBmb3VuZCEKPiAoWEVO
KSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KPiAo
WEVOKSBTTVA6IEFsbG93aW5nIDggQ1BVcyAoMiBob3RwbHVnIENQVXMpCj4gKFhFTikgSVJRIGxp
bWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01Q
IENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBEZXRlY3RlZCAzMDEwLjIzOCBNSHog
cHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNoYXJpbmcuCj4gKFhFTikgQU1EIEZh
bTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkCj4gKFhFTikgUENJOiBNQ0ZHIGNv
bmZpZ3VyYXRpb24gMDogYmFzZSBlMDAwMDAwMCBzZWdtZW50IDAwMDAgYnVzZXMgMDAgLSBmZgo+
IChYRU4pIFBDSTogTm90IHVzaW5nIE1DRkcgZm9yIHNlZ21lbnQgMDAwMCBidXMgMDAtZmYKPiAo
WEVOKSBBTUQtVmk6IElPTU1VIDAgRW5hYmxlZC4KPiAoWEVOKSBBTUQtVmk6IEVuYWJsaW5nIGds
b2JhbCB2ZWN0b3IgbWFwCj4gKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVuYWJsZWQKPiAoWEVO
KSAgLSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMKPiAo
WEVOKSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVOKSAuLlRJTUVSOiB2ZWN0b3I9MHhG
MCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4gKFhFTikgUGxhdGZvcm0gdGltZXIg
aXMgMTQuMzE4TUh6IEhQRVQKPiAoWEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDY0IEtp
Qi4KPiAoWEVOKSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhFTikgU1ZNOiBTdXBwb3J0ZWQgYWR2
YW5jZWQgZmVhdHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBhZ2UgVGFibGVzIChOUFQpCj4gKFhF
TikgIC0gTGFzdCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1YWxpc2F0aW9uCj4gKFhFTikgIC0g
TmV4dC1SSVAgU2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAtIFBhdXNlLUludGVyY2VwdCBGaWx0
ZXIKPiAoWEVOKSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikgSFZNOiBIYXJkd2FyZSBBc3Npc3Rl
ZCBQYWdpbmcgKEhBUCkgZGV0ZWN0ZWQKPiAoWEVOKSBIVk06IEhBUCBwYWdlIHNpemVzOiA0a0Is
IDJNQiwgMUdCCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9pZD0w
eDEwMDAwYmYKPiAoWEVOKSBtaWNyb2NvZGU6IGNvbGxlY3RfY3B1X2luZm86IHBhdGNoX2lkPTB4
MTAwMDBiZgo+IChYRU4pIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgx
MDAwMGJmCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBwYXRjaF9pZD0weDEw
MDAwYmYKPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChYRU4pIG1pY3JvY29kZTogY29sbGVj
dF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhFTikgSFBFVCdzIE1TSSBtb2RlIGhh
c24ndCBiZWVuIHN1cHBvcnRlZCB3aGVuIEludGVycnVwdCBSZW1hcHBpbmcgaXMgZW5hYmxlZC4K
PiAoWEVOKSBBQ1BJIHNsZWVwIG1vZGVzOiBTMwo+IChYRU4pIE1DQTogVXNlIGh3IHRocmVzaG9s
ZGluZyB0byBhZGp1c3QgcG9sbGluZyBmcmVxdWVuY3kKPiAoWEVOKSBtY2hlY2tfcG9sbDogTWFj
aGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCj4gKFhFTikgWGVub3Byb2ZpbGU6IEZh
aWxlZCB0byBzZXR1cCBJQlMgTFZUIG9mZnNldCwgSUJTQ1RMID0gMHhmZmZmZmZmZgo+IChYRU4p
ICoqKiBMT0FESU5HIERPTUFJTiAwICoqKgo+IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6
IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weDVkMzAwMAo+IChYRU4pIGVsZl9wYXJzZV9iaW5hcnk6
IHBoZHI6IHBhZGRyPTB4MTVkMzAwMCBtZW1zej0weDZlMGU4Cj4gKFhFTikgZWxmX3BhcnNlX2Jp
bmFyeTogcGhkcjogcGFkZHI9MHgxNjQyMDAwIG1lbXN6PTB4MTI5ODAKPiAoWEVOKSBlbGZfcGFy
c2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE2NTUwMDAgbWVtc3o9MHg0ZmYwMDAKPiAoWEVOKSBl
bGZfcGFyc2VfYmluYXJ5OiBtZW1vcnk6IDB4MTAwMDAwMCAtPiAweDFiNTQwMDAKPiAoWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4Igo+IChYRU4pIGVsZl94ZW5fcGFy
c2Vfbm90ZTogR1VFU1RfVkVSU0lPTiA9ICIyLjYiCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3Rl
OiBYRU5fVkVSU0lPTiA9ICJ4ZW4tMy4wIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogVklS
VF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiBF
TlRSWSA9IDB4ZmZmZmZmZmY4MTY1NTIwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogSFlQ
RVJDQUxMX1BBR0UgPSAweGZmZmZmZmZmODEwMDEwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25v
dGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJfYWJvdmVfNGdi
Igo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFFX01PREUgPSAieWVzIgo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogTE9BREVSID0gImdlbmVyaWMiCj4gKFhFTikgZWxmX3hlbl9wYXJz
ZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQo+IChYRU4pIGVsZl94ZW5fcGFyc2Vf
bm90ZTogU1VTUEVORF9DQU5DRUwgPSAweDEKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEhW
X1NUQVJUX0xPVyA9IDB4ZmZmZjgwMDAwMDAwMDAwMAo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90
ZTogUEFERFJfT0ZGU0VUID0gMHgwCj4gKFhFTikgZWxmX3hlbl9hZGRyX2NhbGNfY2hlY2s6IGFk
ZHJlc3NlczoKPiAoWEVOKSAgICAgdmlydF9iYXNlICAgICAgICA9IDB4ZmZmZmZmZmY4MDAwMDAw
MAo+IChYRU4pICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgwCj4gKFhFTikgICAgIHZpcnRfb2Zm
c2V0ICAgICAgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVOKSAgICAgdmlydF9rc3RhcnQgICAg
ICA9IDB4ZmZmZmZmZmY4MTAwMDAwMAo+IChYRU4pICAgICB2aXJ0X2tlbmQgICAgICAgID0gMHhm
ZmZmZmZmZjgxYjU0MDAwCj4gKFhFTikgICAgIHZpcnRfZW50cnkgICAgICAgPSAweGZmZmZmZmZm
ODE2NTUyMDAKPiAoWEVOKSAgICAgcDJtX2Jhc2UgICAgICAgICA9IDB4ZmZmZmZmZmZmZmZmZmZm
Zgo+IChYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCj4gKFhFTikgIERv
bTAga2VybmVsOiA2NC1iaXQsIFBBRSwgbHNiLCBwYWRkciAweDEwMDAwMDAgLT4gMHgxYjU0MDAw
Cj4gKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5UOgo+IChYRU4pICBEb20wIGFsbG9j
LjogICAwMDAwMDAwMjI0MDAwMDAwLT4wMDAwMDAwMjI4MDAwMDAwICg1MDYzMDggcGFnZXMgdG8g
YmUgYWxsb2NhdGVkKQo+IChYRU4pICBJbml0LiByYW1kaXNrOiAwMDAwMDAwMjJmOWM0MDAwLT4w
MDAwMDAwMjJmZmZmMjAwCj4gKFhFTikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6Cj4gKFhF
TikgIExvYWRlZCBrZXJuZWw6IGZmZmZmZmZmODEwMDAwMDAtPmZmZmZmZmZmODFiNTQwMDAKPiAo
WEVOKSAgSW5pdC4gcmFtZGlzazogZmZmZmZmZmY4MWI1NDAwMC0+ZmZmZmZmZmY4MjE4ZjIwMAo+
IChYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgyMTkwMDAwLT5mZmZmZmZmZjgyNTkwMDAw
Cj4gKFhFTikgIFN0YXJ0IGluZm86ICAgIGZmZmZmZmZmODI1OTAwMDAtPmZmZmZmZmZmODI1OTA0
YjQKPiAoWEVOKSAgUGFnZSB0YWJsZXM6ICAgZmZmZmZmZmY4MjU5MTAwMC0+ZmZmZmZmZmY4MjVh
ODAwMAo+IChYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZmZjgyNWE4MDAwLT5mZmZmZmZmZjgy
NWE5MDAwCj4gKFhFTikgIFRPVEFMOiAgICAgICAgIGZmZmZmZmZmODAwMDAwMDAtPmZmZmZmZmZm
ODI4MDAwMDAKPiAoWEVOKSAgRU5UUlkgQUREUkVTUzogZmZmZmZmZmY4MTY1NTIwMAo+IChYRU4p
IERvbTAgaGFzIG1heGltdW0gNiBWQ1BVcwo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAw
IGF0IDB4ZmZmZmZmZmY4MTAwMDAwMCAtPiAweGZmZmZmZmZmODE1ZDMwMDAKPiAoWEVOKSBlbGZf
bG9hZF9iaW5hcnk6IHBoZHIgMSBhdCAweGZmZmZmZmZmODE1ZDMwMDAgLT4gMHhmZmZmZmZmZjgx
NjQxMGU4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDIgYXQgMHhmZmZmZmZmZjgxNjQy
MDAwIC0+IDB4ZmZmZmZmZmY4MTY1NDk4MAo+IChYRU4pIGVsZl9sb2FkX2JpbmFyeTogcGhkciAz
IGF0IDB4ZmZmZmZmZmY4MTY1NTAwMCAtPiAweGZmZmZmZmZmODE2Y2MwMDAKPiAoWEVOKSBTY3J1
YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChYRU4pIEluaXRpYWwgbG93IG1lbW9yeSB2aXJx
IHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgo+IChYRU4pIFN0ZC4gTG9nbGV2ZWw6IEFs
bAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVOKSAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikgKioqKioqKiBXQVJOSU5HOiBDT05T
T0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoqKioqKiogVGhpcyBvcHRpb24gaXMg
aW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkgZW5zdXJpbmcKPiAoWEVOKSAqKioq
KioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5IGRlbGl2ZXJlZCBvbiB0aGUgc2Vy
aWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0IGNhbiBpbnRyb2R1Y2UgU0lHTklG
SUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAqKioqKioqIHRpbWVrZWVwaW5nLiBJ
dCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24gdXNlIQo+IChYRU4pICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiAoWEVOKSAzLi4uIDIuLi4g
MS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERPTTAgKHR5cGUgJ0NUUkwtYScgdGhy
ZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAoWEVOKSBGcmVlZCAyNTZrQiBpbml0
IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNpY2FsIG1lbW9yeQo+IFhlbjogc2V0
dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQgc3RhcnRlZC4uLgo+IEluaXRpYWxp
emluZyBjZ3JvdXAgc3Vic3lzIGNwdXNldAo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGNw
dQo+IExpbnV4IHZlcnNpb24gMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5IChyb290QHhl
bikgKGdjYyB2ZXJzaW9uIDQuNC41IChEZWJpYW4gNC40LjUtOCkgKSAjNSBTTVAgUFJFRU1QVCBT
YXQgTWF5IDUgMTk6Mjk6NDIgQ0VTVCAyMDEyCj4gQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBy
b290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFuaWM9MTUgeGVuLXBjaWJh
Y2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgo+IEZyZWVpbmcg
OWEtMTAwIHBmbiByYW5nZTogMTAyIHBhZ2VzIGZyZWVkCj4gUmVsZWFzZWQgMTAyIHBhZ2VzIG9m
IHVudXNlZCBtZW1vcnkKPiBTZXQgMTk3MDk0IHBhZ2UocykgdG8gMS0xIG1hcHBpbmcKPiBQb3B1
bGF0aW5nIDgwMDAwLTgwMDY2IHBmbiByYW5nZTogMTAyIHBhZ2VzIGFkZGVkCj4gQklPUy1wcm92
aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICBYZW46IDAwMDAwMDAwMDAwMDAwMDAgLSAwMDAwMDAw
MDAwMDlhMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAwMDAwMDAx
MDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDY2
MDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDA4MDA2NjAwMCAtIDAwMDAwMDAwY2ZlODAwMDAg
KHVudXNhYmxlKQo+ICBYZW46IDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNmZTk4MDAwIChB
Q1BJIGRhdGEpCj4gIFhlbjogMDAwMDAwMDBjZmU5ODAwMCAtIDAwMDAwMDAwY2ZlYzAwMDAgKEFD
UEkgTlZTKQo+ICBYZW46IDAwMDAwMDAwY2ZlYzAwMDAgLSAwMDAwMDAwMGNmZjAwMDAwIChyZXNl
cnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZlYzAwMDAwIC0gMDAwMDAwMDBmZWMwMTAwMCAocmVzZXJ2
ZWQpCj4gIFhlbjogMDAwMDAwMDBmZWMyMDAwMCAtIDAwMDAwMDAwZmVjMjEwMDAgKHJlc2VydmVk
KQo+ICBYZW46IDAwMDAwMDAwZmVlMDAwMDAgLSAwMDAwMDAwMGZlZTAxMDAwIChyZXNlcnZlZCkK
PiAgWGVuOiAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCAocmVzZXJ2ZWQpCj4g
IFhlbjogMDAwMDAwMDEwMDAwMDAwMCAtIDAwMDAwMDAyMzAwMDAwMDAgKHVudXNhYmxlKQo+IGJv
b3Rjb25zb2xlIFt4ZW5ib290MF0gZW5hYmxlZAo+IE5YIChFeGVjdXRlIERpc2FibGUpIHByb3Rl
Y3Rpb246IGFjdGl2ZQo+IHVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICB1c2VyOiAw
MDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5YTAwMCAodXNhYmxlKQo+ICB1c2VyOiAwMDAw
MDAwMDAwMDlhYzAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAwMDAw
MDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDAwMDAwICh1c2FibGUpCj4gIHVzZXI6IDAwMDAwMDAw
ODAwNjYwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1bnVzYWJsZSkKPiAgdXNlcjogMDAwMDAwMDBj
ZmU4MDAwMCAtIDAwMDAwMDAwY2ZlOTgwMDAgKEFDUEkgZGF0YSkKPiAgdXNlcjogMDAwMDAwMDBj
ZmU5ODAwMCAtIDAwMDAwMDAwY2ZlYzAwMDAgKEFDUEkgTlZTKQo+ICB1c2VyOiAwMDAwMDAwMGNm
ZWMwMDAwIC0gMDAwMDAwMDBjZmYwMDAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAwMDAwMDAwZmVj
MDAwMDAgLSAwMDAwMDAwMGZlYzAxMDAwIChyZXNlcnZlZCkKPiAgdXNlcjogMDAwMDAwMDBmZWMy
MDAwMCAtIDAwMDAwMDAwZmVjMjEwMDAgKHJlc2VydmVkKQo+ICB1c2VyOiAwMDAwMDAwMGZlZTAw
MDAwIC0gMDAwMDAwMDBmZWUwMTAwMCAocmVzZXJ2ZWQpCj4gIHVzZXI6IDAwMDAwMDAwZmZlMDAw
MDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkKPiAgdXNlcjogMDAwMDAwMDEwMDAwMDAw
MCAtIDAwMDAwMDAyMzAwMDAwMDAgKHVudXNhYmxlKQo+IERNSSBwcmVzZW50Lgo+IE5vIEFHUCBi
cmlkZ2UgZm91bmQKPiBsYXN0X3BmbiA9IDB4ODAwMDAgbWF4X2FyY2hfcGZuID0gMHg0MDAwMDAw
MDAKPiBmb3VuZCBTTVAgTVAtdGFibGUgYXQgW2ZmZmY4ODAwMDAwZmY3ODBdIGZmNzgwCj4gaW5p
dF9tZW1vcnlfbWFwcGluZzogMDAwMDAwMDAwMDAwMDAwMC0wMDAwMDAwMDgwMDAwMDAwCj4gUkFN
RElTSzogMDFiNTQwMDAgLSAwMjE5MDAwMAo+IEFDUEk6IFJTRFAgMDAwMDAwMDAwMDBmYmYyMCAw
MDAyNCAodjAyIEFDUElBTSkKPiBBQ1BJOiBYU0RUIDAwMDAwMDAwY2ZlODAxMDAgMDAwNUMgKHYw
MSAxMDI4MTEgWFNEVDE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBGQUNQIDAw
MDAwMDAwY2ZlODAyOTAgMDAwRjQgKHYwMyAxMDI4MTEgRkFDUDE3NDAgMjAxMTEwMjggTVNGVCAw
MDAwMDA5NykKPiBBQ1BJOiBEU0RUIDAwMDAwMDAwY2ZlODA0NzAgMEU2RTMgKHYwMSAgQTE1OTUg
QTE1OTUwMDAgMDAwMDAwMDAgSU5UTCAyMDA2MDExMykKPiBBQ1BJOiBGQUNTIDAwMDAwMDAwY2Zl
OTgwMDAgMDAwNDAKPiBBQ1BJOiBBUElDIDAwMDAwMDAwY2ZlODAzOTAgMDAwOTggKHYwMSAxMDI4
MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBNQ0ZHIDAwMDAwMDAw
Y2ZlODA0MzAgMDAwM0MgKHYwMSAxMDI4MTEgT0VNTUNGRyAgMjAxMTEwMjggTVNGVCAwMDAwMDA5
NykKPiBBQ1BJOiBPRU1CIDAwMDAwMDAwY2ZlOTgwNDAgMDAwNzIgKHYwMSAxMDI4MTEgT0VNQjE3
NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBIUEVUIDAwMDAwMDAwY2ZlOGY4YzAg
MDAwMzggKHYwMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJ
OiBJVlJTIDAwMDAwMDAwY2ZlOGY5MDAgMDAwRTAgKHYwMSAgQU1EICAgICBSRDg5MFMgMDAyMDIw
MzEgQU1EICAwMDAwMDAwMCkKPiBBQ1BJOiBTU0RUIDAwMDAwMDAwY2ZlOGY5ZTAgMDBFMTAgKHYw
MSBBIE0gSSAgUE9XRVJOT1cgMDAwMDAwMDEgQU1EICAwMDAwMDAwMSkKPiBObyBOVU1BIGNvbmZp
Z3VyYXRpb24gZm91bmQKPiBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAw
MDA4MDAwMDAwMAo+IEluaXRtZW0gc2V0dXAgbm9kZSAwIDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAw
MDA4MDAwMDAwMAo+ICAgTk9ERV9EQVRBIFswMDAwMDAwMDdmZmZjMDAwIC0gMDAwMDAwMDA3ZmZm
ZmZmZl0KPiBab25lIFBGTiByYW5nZXM6Cj4gICBETUEgICAgICAweDAwMDAwMDEwIC0+IDB4MDAw
MDEwMDAKPiAgIERNQTMyICAgIDB4MDAwMDEwMDAgLT4gMHgwMDEwMDAwMAo+ICAgTm9ybWFsICAg
ZW1wdHkKPiBNb3ZhYmxlIHpvbmUgc3RhcnQgUEZOIGZvciBlYWNoIG5vZGUKPiBFYXJseSBtZW1v
cnkgUEZOIHJhbmdlcwo+ICAgICAwOiAweDAwMDAwMDEwIC0+IDB4MDAwMDAwOWEKPiAgICAgMDog
MHgwMDAwMDEwMCAtPiAweDAwMDgwMDAwCj4gQUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHg4MDgK
PiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAwXSBlbmFibGVkKQo+IEJJ
T1MgYnVnOiBBUElDIHZlcnNpb24gaXMgMCBmb3IgQ1BVIDAvMHgwLCBmaXhpbmcgdXAgdG8gMHgx
MAo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDJdIGxhcGljX2lkWzB4MDFdIGVuYWJsZWQpCj4g
QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwM10gbGFwaWNfaWRbMHgwMl0gZW5hYmxlZCkKPiBBQ1BJ
OiBMQVBJQyAoYWNwaV9pZFsweDA0XSBsYXBpY19pZFsweDAzXSBlbmFibGVkKQo+IEFDUEk6IExB
UElDIChhY3BpX2lkWzB4MDVdIGxhcGljX2lkWzB4MDRdIGVuYWJsZWQpCj4gQUNQSTogTEFQSUMg
KGFjcGlfaWRbMHgwNl0gbGFwaWNfaWRbMHgwNV0gZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDA3XSBsYXBpY19pZFsweDg2XSBkaXNhYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9p
ZFsweDA4XSBsYXBpY19pZFsweDg3XSBkaXNhYmxlZCkKPiBBQ1BJOiBJT0FQSUMgKGlkWzB4MDZd
IGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCj4gSU9BUElDWzBdOiBhcGljX2lkIDYs
IHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTI1Mwo+IEFDUEk6IElPQVBJ
QyAoaWRbMHgwN10gYWRkcmVzc1sweGZlYzIwMDAwXSBnc2lfYmFzZVsyNF0pCj4gSU9BUElDWzFd
OiBhcGljX2lkIDcsIHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4ZmVjMjAwMDAsIEdTSSAyNC0yNzcK
PiBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZs
KQo+IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBs
ZXZlbCkKPiBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRp
b24KPiBBQ1BJOiBIUEVUIGlkOiAweDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IDggUHJvY2Vzc29y
cyBleGNlZWRzIE5SX0NQVVMgbGltaXQgb2YgNgo+IFNNUDogQWxsb3dpbmcgNiBDUFVzLCAwIGhv
dHBsdWcgQ1BVcwo+IEFsbG9jYXRpbmcgUENJIHJlc291cmNlcyBzdGFydGluZyBhdCBjZmYwMDAw
MCAoZ2FwOiBjZmYwMDAwMDoyZWQwMDAwMCkKPiBCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBrZXJu
ZWwgb24gWGVuCj4gWGVuIHZlcnNpb246IDQuMi11bnN0YWJsZSAocHJlc2VydmUtQUQpCj4gc2V0
dXBfcGVyY3B1OiBOUl9DUFVTOjYgbnJfY3B1bWFza19iaXRzOjYgbnJfY3B1X2lkczo2IG5yX25v
ZGVfaWRzOjEKPiBQRVJDUFU6IEVtYmVkZGVkIDI2IHBhZ2VzL2NwdSBAZmZmZjg4MDA3ZmY0YzAw
MCBzNzYxNjAgcjgxOTIgZDIyMTQ0IHUxMDY0OTYKPiBCdWlsdCAxIHpvbmVsaXN0cyBpbiBOb2Rl
IG9yZGVyLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiA1MTU5NzYKPiBQb2xp
Y3kgem9uZTogRE1BMzIKPiBLZXJuZWwgY29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciByb290PS9k
ZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFuaWM9MTUgeGVuLXBjaWJhY2suaGlk
ZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhlbgo+IFBJRCBoYXNoIHRhYmxl
IGVudHJpZXM6IDQwOTYgKG9yZGVyOiAzLCAzMjc2OCBieXRlcykKPiBQbGFjaW5nIDY0TUIgc29m
dHdhcmUgSU8gVExCIGJldHdlZW4gZmZmZjg4MDA3OTYwMDAwMCAtIGZmZmY4ODAwN2Q2MDAwMDAK
PiBzb2Z0d2FyZSBJTyBUTEIgYXQgcGh5cyAweDc5NjAwMDAwIC0gMHg3ZDYwMDAwMAo+IE1lbW9y
eTogMTk3NTA2NGsvMjA5NzE1MmsgYXZhaWxhYmxlICg0NTY3ayBrZXJuZWwgY29kZSwgNDcyayBh
YnNlbnQsIDEyMTYxNmsgcmVzZXJ2ZWQsIDE4MzNrIGRhdGEsIDUzMmsgaW5pdCkKPiBTTFVCOiBH
ZW5zbGFicz0xNSwgSFdhbGlnbj02NCwgT3JkZXI9MC0zLCBNaW5PYmplY3RzPTAsIENQVXM9Niwg
Tm9kZXM9MQo+IFByZWVtcHRpYmxlIGhpZXJhcmNoaWNhbCBSQ1UgaW1wbGVtZW50YXRpb24uCj4g
CUR1bXAgc3RhY2tzIG9mIHRhc2tzIGJsb2NraW5nIFJDVS1wcmVlbXB0IEdQLgo+IE5SX0lSUVM6
NDM1MiBucl9pcnFzOjE1MzYgMTYKPiB4ZW46IHNjaSBvdmVycmlkZTogZ2xvYmFsX2lycT05IHRy
aWdnZXI9MCBwb2xhcml0eT0xCj4geGVuOiBhY3BpIHNjaSA5Cj4geGVuX21hcF9waXJxX2dzaTog
cmV0dXJuaW5nIGlycSA5IGZvciBnc2kgOQo+IENvbnNvbGU6IGNvbG91ciBWR0ErIDgweDI1Cj4g
Y29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUgZGlzYWJsZWQKPiBjb25zb2xlIFto
dmMwXSBlbmFibGVkLCBib290Y29uc29sZSBkaXNhYmxlZAo+IGluc3RhbGxpbmcgWGVuIHRpbWVy
IGZvciBDUFUgMAo+IERldGVjdGVkIDMwMTAuMjM4IE1IeiBwcm9jZXNzb3IuCj4gQ2FsaWJyYXRp
bmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1bGF0ZWQgdXNpbmcgdGltZXIgZnJl
cXVlbmN5Li4gNjAyMC40NyBCb2dvTUlQUyAobHBqPTMwMTAyMzgpCj4gcGlkX21heDogZGVmYXVs
dDogMzI3NjggbWluaW11bTogMzAxCj4gRGVudHJ5IGNhY2hlIGhhc2ggdGFibGUgZW50cmllczog
MjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKPiBJbm9kZS1jYWNoZSBoYXNoIHRhYmxl
IGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMpCj4gTW91bnQtY2FjaGUg
aGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKPiBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBkZXZp
Y2VzCj4gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZnJlZXplcgo+IEluaXRpYWxpemluZyBj
Z3JvdXAgc3Vic3lzIGJsa2lvCj4gQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6IDAKPiBDUFU6
IFByb2Nlc3NvciBDb3JlIElEOiAwCj4gbWNlOiBDUFUgc3VwcG9ydHMgNiBNQ0UgYmFua3MKPiBB
Q1BJOiBDb3JlIHJldmlzaW9uIDIwMTIwMzIwCj4gY3B1IDAgc3BpbmxvY2sgZXZlbnQgaXJxIDI5
NQo+IFBlcmZvcm1hbmNlIEV2ZW50czogKFhFTikgdHJhcHMuYzoyNTYxOmQwIERvbWFpbiBhdHRl
bXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMGU0YTc1ZGY4NjUxNCB0byAw
eDAwMDAwMDAwMDAwMGFiY2QuCj4gQnJva2VuIFBNVSBoYXJkd2FyZSBkZXRlY3RlZCwgdXNpbmcg
c29mdHdhcmUgZXZlbnRzIG9ubHkuCj4gTUNFOiBJbi1rZXJuZWwgTUNFIGRlY29kaW5nIGVuYWJs
ZWQuCj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAxCj4gY3B1IDEgc3BpbmxvY2sgZXZl
bnQgaXJxIDMwMgo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMgo+IGNwdSAyIHNwaW5s
b2NrIGV2ZW50IGlycSAzMDkKPiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDMKPiBjcHUg
MyBzcGlubG9jayBldmVudCBpcnEgMzE2Cj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSA0
Cj4gY3B1IDQgc3BpbmxvY2sgZXZlbnQgaXJxIDMyMwo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZv
ciBDUFUgNQo+IGNwdSA1IHNwaW5sb2NrIGV2ZW50IGlycSAzMzAKPiBCcm91Z2h0IHVwIDYgQ1BV
cwo+IGRldnRtcGZzOiBpbml0aWFsaXplZAo+IEdyYW50IHRhYmxlcyB1c2luZyB2ZXJzaW9uIDIg
bGF5b3V0Lgo+IEdyYW50IHRhYmxlIGluaXRpYWxpemVkCj4gTkVUOiBSZWdpc3RlcmVkIHByb3Rv
Y29sIGZhbWlseSAxNgo+IFRPTTogMDAwMDAwMDBkMDAwMDAwMCBha2EgMzMyOE0KPiBUT00yOiAw
MDAwMDAwMjMwMDAwMDAwIGFrYSA4OTYwTQo+IEFDUEk6IGJ1cyB0eXBlIHBjaSByZWdpc3RlcmVk
Cj4gUENJOiBNTUNPTkZJRyBmb3IgZG9tYWluIDAwMDAgW2J1cyAwMC1mZl0gYXQgW21lbSAweGUw
MDAwMDAwLTB4ZWZmZmZmZmZdIChiYXNlIDB4ZTAwMDAwMDApCj4gUENJOiBub3QgdXNpbmcgTU1D
T05GSUcKPiBQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxIGZvciBiYXNlIGFjY2Vzcwo+
IFBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9yIGV4dGVuZGVkIGFjY2Vzcwo+IGJp
bzogY3JlYXRlIHNsYWIgPGJpby0wPiBhdCAwCj4gQUNQSTogQWRkZWQgX09TSShNb2R1bGUgRGV2
aWNlKQo+IEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIERldmljZSkKPiBBQ1BJOiBBZGRlZCBf
T1NJKDMuMCBfU0NQIEV4dGVuc2lvbnMpCj4gQUNQSTogQWRkZWQgX09TSShQcm9jZXNzb3IgQWdn
cmVnYXRvciBEZXZpY2UpCj4gQUNQSTogRXhlY3V0ZWQgMyBibG9ja3Mgb2YgbW9kdWxlLWxldmVs
IGV4ZWN1dGFibGUgQU1MIGNvZGUKPiBBQ1BJOiBJbnRlcnByZXRlciBlbmFibGVkCj4gQUNQSTog
KHN1cHBvcnRzIFMwIFM1KQo+IEFDUEk6IFVzaW5nIElPQVBJQyBmb3IgaW50ZXJydXB0IHJvdXRp
bmcKPiBQQ0k6IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBbYnVzIDAwLWZmXSBhdCBbbWVtIDB4
ZTAwMDAwMDAtMHhlZmZmZmZmZl0gKGJhc2UgMHhlMDAwMDAwMCkKPiBQQ0k6IE1NQ09ORklHIGF0
IFttZW0gMHhlMDAwMDAwMC0weGVmZmZmZmZmXSByZXNlcnZlZCBpbiBBQ1BJIG1vdGhlcmJvYXJk
IHJlc291cmNlcwo+IEFDUEk6IEVDOiBHUEUgPSAweGEsIEkvTzogY29tbWFuZC9zdGF0dXMgPSAw
eDY2LCBkYXRhID0gMHg2Mgo+IFBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFD
UEk7IGlmIG5lY2Vzc2FyeSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcKPiBBQ1BJ
OiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4gMDAwMCBbYnVzIDAwLWZmXSkKPiBwY2lf
cm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW2lvICAweDAwMDAtMHgwY2Y3XQo+
IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbaW8gIDB4MGQwMC0weGZm
ZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHgwMDBh
MDAwMC0weDAwMGJmZmZmXQo+IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdpbmRv
dyBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lfcm9vdCBQTlAwQTAzOjAwOiBob3N0
IGJyaWRnZSB3aW5kb3cgW21lbSAweGNmZjAwMDAwLTB4ZGZmZmZmZmZdCj4gcGNpX3Jvb3QgUE5Q
MEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHhmMDAwMDAwMC0weGZlYmZmZmZmXQo+
IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDowMAo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBi
dXMgcmVzb3VyY2UgW2lvICAweDAwMDAtMHgwY2Y3XQo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBi
dXMgcmVzb3VyY2UgW2lvICAweDBkMDAtMHhmZmZmXQo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBi
dXMgcmVzb3VyY2UgW21lbSAweDAwMGEwMDAwLTB4MDAwYmZmZmZdCj4gcGNpX2J1cyAwMDAwOjAw
OiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lfYnVz
IDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHhjZmYwMDAwMC0weGRmZmZmZmZmXQo+
IHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweGYwMDAwMDAwLTB4ZmVi
ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDIuMDogUENJIGJyaWRnZSB0byBbYnVzIDA3LTA3XQo+IHBj
aSAwMDAwOjA2OjAwLjA6IGRpc2FibGluZyBBU1BNIG9uIHByZS0xLjEgUENJZSBkZXZpY2UuICBZ
b3UgY2FuIGVuYWJsZSBpdCB3aXRoICdwY2llX2FzcG09Zm9yY2UnCj4gcGNpIDAwMDA6MDA6MDQu
MDogUENJIGJyaWRnZSB0byBbYnVzIDA2LTA2XQo+IHBjaSAwMDAwOjAwOjA1LjA6IFBDSSBicmlk
Z2UgdG8gW2J1cyAwNS0wNV0KPiBwY2kgMDAwMDowMDowNi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMg
MDQtMDRdCj4gcGNpIDAwMDA6MDA6MDcuMDogUENJIGJyaWRnZSB0byBbYnVzIDAzLTAzXQo+IHBj
aSAwMDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0wMl0KPiBwY2kgMDAwMDowMDox
NC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdIChzdWJ0cmFjdGl2ZSBkZWNvZGUpCj4gIHBj
aTAwMDA6MDA6IFJlcXVlc3RpbmcgQUNQSSBfT1NDIGNvbnRyb2wgKDB4MWQpCj4gIHBjaTAwMDA6
MDA6IEFDUEkgX09TQyBjb250cm9sICgweDFjKSBncmFudGVkCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMC4yCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDowNC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNS4wCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDowNi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDow
Ny4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowZC4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDoxMS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4wCj4g
KFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDoxMy4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikg
UENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxNC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4zCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxNC40Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC41
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4wCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4wCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDoxOC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4zCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDoxOC40Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNzow
MC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNzowMC4xCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowNjowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNjowMC4xCj4g
cGNpIDAwMDA6MDY6MDAuMTogRmFpbGVkIHRvIGFkZCAtIHBhc3N0aHJvdWdoIG9yIE1TSS9NU0kt
WCBtaWdodCBmYWlsIQo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDU6MDAuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDQ6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDM6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDI6MDAuMAo+IChYRU4pIFBDSSBh
ZGQgZGV2aWNlIDAwMDA6MDI6MDAuMQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LQV0g
KElSUXMgKjQgNyAxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0Jd
IChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktD
XSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5L
RF0gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xO
S0VdIChJUlFzIDQgKjcgMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtM
TktGXSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb
TE5LR10gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg
W0xOS0hdIChJUlFzIDQgNyAxMCAxMSAxNCAxNSkgKjAsIGRpc2FibGVkLgo+IHhlbi9iYWxsb29u
OiBJbml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIuCj4geGVuLWJhbGxvb246IEluaXRpYWxpc2lu
ZyBiYWxsb29uIGRyaXZlci4KPiB2Z2FhcmI6IGRldmljZSBhZGRlZDogUENJOjAwMDA6MDc6MDAu
MCxkZWNvZGVzPWlvK21lbSxvd25zPWlvK21lbSxsb2Nrcz1ub25lCj4gdmdhYXJiOiBsb2FkZWQK
PiB2Z2FhcmI6IGJyaWRnZSBjb250cm9sIHBvc3NpYmxlIDAwMDA6MDc6MDAuMAo+IFNDU0kgc3Vi
c3lzdGVtIGluaXRpYWxpemVkCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRy
aXZlciB1c2Jmcwo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgaHVi
Cj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1c2IKPiBQQ0k6IFVzaW5n
IEFDUEkgZm9yIElSUSByb3V0aW5nCj4gU3dpdGNoaW5nIHRvIGNsb2Nrc291cmNlIHhlbgo+IEZT
LUNhY2hlOiBMb2FkZWQKPiBDYWNoZUZpbGVzOiBMb2FkZWQKPiBwbnA6IFBuUCBBQ1BJIGluaXQK
PiBBQ1BJOiBidXMgdHlwZSBwbnAgcmVnaXN0ZXJlZAo+IHN5c3RlbSAwMDowMTogW21lbSAweGZl
YzIwMDAwLTB4ZmVjMjAwZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowMjog
W21lbSAweGY2MDAwMDAwLTB4ZjYwMDNmZmZdIGhhcyBiZWVuIHJlc2VydmVkCj4geGVuX21hcF9w
aXJxX2dzaTogcmV0dXJuaW5nIGlycSA4IGZvciBnc2kgOAo+IHhlbl9tYXBfcGlycV9nc2k6IHJl
dHVybmluZyBpcnEgMTMgZm9yIGdzaSAxMwo+IHN5c3RlbSAwMDowODogW21lbSAweGZlYzAwMDAw
LTB4ZmVjMDBmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowODogW21lbSAw
eGZlZTAwMDAwLTB4ZmVlMDBmZmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBb
aW8gIDB4MDRkMC0weDA0ZDFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8g
IDB4MDQwYl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwNGQ2XSBo
YXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjMDAtMHgwYzAxXSBoYXMg
YmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjMTRdIGhhcyBiZWVuIHJlc2Vy
dmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1MC0weDBjNTFdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1Ml0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0g
MDA6MDk6IFtpbyAgMHgwYzZjXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lv
ICAweDBjNmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkMC0w
eDBjZDFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkMi0weDBj
ZDNdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkNC0weDBjZDVd
IGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkNi0weDBjZDddIGhh
cyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGNkOC0weDBjZGZdIGhhcyBi
ZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDgwMC0weDA4OWZdIGhhcyBiZWVu
IHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIwMC0weDBiMWZdIGhhcyBiZWVuIHJl
c2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIyMC0weDBiM2ZdIGhhcyBiZWVuIHJlc2Vy
dmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkwMC0weDA5MGZdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkxMC0weDA5MWZdIGhhcyBiZWVuIHJlc2VydmVkCj4g
c3lzdGVtIDAwOjA5OiBbaW8gIDB4ZmUwMC0weGZlZmVdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lz
dGVtIDAwOjA5OiBbbWVtIDB4Y2ZmMDAwMDAtMHhjZmZmZmZmZl0gaGFzIGJlZW4gcmVzZXJ2ZWQK
PiBzeXN0ZW0gMDA6MDk6IFttZW0gMHhmZmI4MDAwMC0weGZmYmZmZmZmXSBoYXMgYmVlbiByZXNl
cnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGZlYzEwMDAwLTB4ZmVjMTAwMWZdIGhhcyBiZWVu
IHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4ZmVkODAwMDAtMHhmZWQ4MGZmZl0gaGFz
IGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwMjMwLTB4MDIzZl0gaGFzIGJl
ZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwMjkwLTB4MDI5Zl0gaGFzIGJlZW4g
cmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwZjQwLTB4MGY0Zl0gaGFzIGJlZW4gcmVz
ZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwYTMwLTB4MGEzZl0gaGFzIGJlZW4gcmVzZXJ2
ZWQKPiBzeXN0ZW0gMDA6MGI6IFttZW0gMHhlMDAwMDAwMC0weGVmZmZmZmZmXSBoYXMgYmVlbiBy
ZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMDAwMDAwLTB4MDAwOWZmZmZdIGNvdWxk
IG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMGMwMDAwLTB4MDAwY2Zm
ZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMGUwMDAw
LTB4MDAwZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAw
eDAwMTAwMDAwLTB4Y2ZlZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDow
YzogW21lbSAweGZlYzAwMDAwLTB4ZmZmZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHBu
cDogUG5QIEFDUEk6IGZvdW5kIDEzIGRldmljZXMKPiBBQ1BJOiBBQ1BJIGJ1cyB0eXBlIHBucCB1
bnJlZ2lzdGVyZWQKPiBwY2liYWNrIDAwMDA6MDA6MTQuMjogc2VpemluZyBkZXZpY2UKPiBQTS1U
aW1lciBmYWlsZWQgY29uc2lzdGVuY3kgY2hlY2sgICgweDB4ZmZmZmZmKSAtIGFib3J0aW5nLgo+
IHBjaSAwMDAwOjAwOjAyLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNy0wN10KPiBwY2kgMDAwMDow
MDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGUwMDAtMHhlZmZmXQo+IHBjaSAwMDAwOjAw
OjAyLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU5MDAwMDAtMHhmZTlmZmZmZl0KPiBwY2kg
MDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGQwMDAwMDAwLTB4ZGZmZmZmZmYg
NjRiaXQgcHJlZl0KPiBwY2kgMDAwMDowMDowNC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDYtMDZd
Cj4gcGNpIDAwMDA6MDA6MDQuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhkMDAwLTB4ZGZmZl0K
PiBwY2kgMDAwMDowMDowNC4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlODAwMDAwLTB4ZmU4
ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDUuMDogUENJIGJyaWRnZSB0byBbYnVzIDA1LTA1XQo+IHBj
aSAwMDAwOjAwOjA1LjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIDB4YzAwMC0weGNmZmZdCj4gcGNp
IDAwMDA6MDA6MDUuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTcwMDAwMC0weGZlN2ZmZmZm
XQo+IHBjaSAwMDAwOjAwOjA2LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNC0wNF0KPiBwY2kgMDAw
MDowMDowNi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGIwMDAtMHhiZmZmXQo+IHBjaSAwMDAw
OjAwOjA2LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU2MDAwMDAtMHhmZTZmZmZmZl0KPiBw
Y2kgMDAwMDowMDowNy4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDMtMDNdCj4gcGNpIDAwMDA6MDA6
MDcuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTUwMDAwMC0weGZlNWZmZmZmXQo+IHBjaSAw
MDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0wMl0KPiBwY2kgMDAwMDowMDowZC4w
OiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGEwMDAtMHhhZmZmXQo+IHBjaSAwMDAwOjAwOjBkLjA6
ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU0MDAwMDAtMHhmZTRmZmZmZl0KPiBwY2kgMDAwMDow
MDoxNC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdCj4geGVuX21hcF9waXJxX2dzaTogcmV0
dXJuaW5nIGlycSA1MiBmb3IgZ3NpIDUyCj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDo1Mgo+IHhl
bl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgNTIgZm9yIGdzaSA1Mgo+IEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6NTIKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUzIGZvciBn
c2kgNTMKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjUzCj4gTkVUOiBSZWdpc3RlcmVkIHByb3Rv
Y29sIGZhbWlseSAyCj4gSVAgcm91dGUgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAo
b3JkZXI6IDcsIDUyNDI4OCBieXRlcykKPiBUQ1AgZXN0YWJsaXNoZWQgaGFzaCB0YWJsZSBlbnRy
aWVzOiAyNjIxNDQgKG9yZGVyOiAxMCwgNDE5NDMwNCBieXRlcykKPiBUQ1AgYmluZCBoYXNoIHRh
YmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3NiBieXRlcykKPiBUQ1A6IEhhc2gg
dGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDI2MjE0NCBiaW5kIDY1NTM2KQo+IFRDUDog
cmVubyByZWdpc3RlcmVkCj4gVURQIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDMs
IDMyNzY4IGJ5dGVzKQo+IFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6
IDMsIDMyNzY4IGJ5dGVzKQo+IE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQo+IHhl
bl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE3IGZvciBn
c2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4geGVuX21hcF9waXJxX2dzaTogcmV0
dXJuaW5nIGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxOAo+IHhl
bl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0
dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE3IGZvciBn
c2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4gVW5wYWNraW5nIGluaXRyYW1mcy4u
Lgo+IEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogNjM4NGsgZnJlZWQKPiBtaWNyb2NvZGU6IENQVTA6
IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTE6IHBhdGNoX2xldmVsPTB4
MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTI6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNy
b2NvZGU6IENQVTM6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTQ6IHBh
dGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTU6IHBhdGNoX2xldmVsPTB4MDEw
MDAwYmYKPiBtaWNyb2NvZGU6IE1pY3JvY29kZSBVcGRhdGUgRHJpdmVyOiB2Mi4wMCA8dGlncmFu
QGFpdmF6aWFuLmZzbmV0LmNvLnVrPiwgUGV0ZXIgT3J1YmEKPiBOVEZTIGRyaXZlciAyLjEuMzAg
W0ZsYWdzOiBSL1ddLgo+IG1zZ21uaSBoYXMgYmVlbiBzZXQgdG8gMzg3MAo+IEJsb2NrIGxheWVy
IFNDU0kgZ2VuZXJpYyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNTMp
Cj4gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZCAoZGVmYXVsdCkKPiBwY2llcG9ydCAwMDAw
OjAwOjAyLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kg
MDAwMDowNzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4g
cGNpIDAwMDA6MDc6MDAuMTogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVw
dAo+IHBjaWVwb3J0IDAwMDA6MDA6MDQuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1F
IGludGVycnVwdAo+IHBjaSAwMDAwOjA2OjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0ll
IFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNjowMC4xOiBTaWduYWxpbmcgUE1FIHRocm91Z2gg
UENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDowMDowNS4wOiBTaWduYWxpbmcgUE1F
IHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDU6MDAuMDogU2lnbmFsaW5n
IFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaWVwb3J0IDAwMDA6MDA6MDYuMDog
U2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjA0OjAw
LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2llcG9ydCAw
MDAwOjAwOjA3LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBw
Y2kgMDAwMDowMzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0
Cj4gcGNpZXBvcnQgMDAwMDowMDowZC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUg
aW50ZXJydXB0Cj4gcGNpIDAwMDA6MDI6MDAuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUg
UE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjAyOjAwLjE6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQ
Q0llIFBNRSBpbnRlcnJ1cHQKPiBwY2lfaG90cGx1ZzogUENJIEhvdCBQbHVnIFBDSSBDb3JlIHZl
cnNpb246IDAuNQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMgL2RldmljZXMvTE5YU1lTVE06MDAv
ZGV2aWNlOjAwL1BOUDBDMEM6MDAvaW5wdXQvaW5wdXQwCj4gQUNQSTogUG93ZXIgQnV0dG9uIFtQ
V1JCXQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMgL2RldmljZXMvTE5YU1lTVE06MDAvTE5YUFdS
Qk46MDAvaW5wdXQvaW5wdXQxCj4gQUNQSTogUG93ZXIgQnV0dG9uIFtQV1JGXQo+IEdIRVM6IEhF
U1QgaXMgbm90IGVuYWJsZWQhCj4gRXZlbnQtY2hhbm5lbCBkZXZpY2UgaW5zdGFsbGVkLgo+IHhl
bi1wY2liYWNrOiBiYWNrZW5kIGlzIHZwY2kKPiBTZXJpYWw6IDgyNTAvMTY1NTAgZHJpdmVyLCA0
IHBvcnRzLCBJUlEgc2hhcmluZyBkaXNhYmxlZAo+IDAwMDA6MDI6MDAuMTogdHR5UzAgYXQgSS9P
IDB4YTg4MCAoaXJxID0gNDEpIGlzIGEgU1QxNjY1MFYyCj4gaHBldF9hY3BpX2FkZDogbm8gYWRk
cmVzcyBvciBpcnFzIGluIF9DUlMKPiBOb24tdm9sYXRpbGUgbWVtb3J5IGRyaXZlciB2MS4zCj4g
SGFuZ2NoZWNrOiBzdGFydGluZyBoYW5nY2hlY2sgdGltZXIgMC45LjEgKHRpY2sgaXMgMTgwIHNl
Y29uZHMsIG1hcmdpbiBpcyA2MCBzZWNvbmRzKS4KPiBIYW5nY2hlY2s6IFVzaW5nIGdldHJhd21v
bm90b25pYygpLgo+IGxvb3A6IG1vZHVsZSBsb2FkZWQKPiBhaGNpIDAwMDA6MDA6MTEuMDogQUhD
SSAwMDAxLjAyMDAgMzIgc2xvdHMgNiBwb3J0cyA2IEdicHMgMHgzZiBpbXBsIFNBVEEgbW9kZQo+
IGFoY2kgMDAwMDowMDoxMS4wOiBmbGFnczogNjRiaXQgbmNxIHNudGYgaWxjayBwbSBsZWQgY2xv
IHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2kwIDogYWhjaQo+IHNjc2kxIDogYWhjaQo+IHNjc2ky
IDogYWhjaQo+IHNjc2kzIDogYWhjaQo+IHNjc2k0IDogYWhjaQo+IHNjc2k1IDogYWhjaQo+IGF0
YTI6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUzZmUx
MDAgaXJxIDE5Cj4gYXRhMzogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZlM2ZlMDAw
IHBvcnQgMHhmZTNmZTE4MCBpcnEgMTkKPiBhdGE0OiBTQVRBIG1heCBVRE1BLzEzMyBhYmFyIG0x
MDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMjAwIGlycSAxOQo+IGF0YTU6IFNBVEEgbWF4IFVE
TUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4ZmUzZmUyODAgaXJxIDE5Cj4gYXRh
NjogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZlM2ZlMDAwIHBvcnQgMHhmZTNmZTMw
MCBpcnEgMTkKPiBhdGE3OiBTQVRBIG1heCBVRE1BLzEzMyBhYmFyIG0xMDI0QDB4ZmUzZmUwMDAg
cG9ydCAweGZlM2ZlMzgwIGlycSAxOQo+IGFoY2kgMDAwMDowNjowMC4wOiBBSENJIDAwMDEuMDAw
MCAzMiBzbG90cyAyIHBvcnRzIDMgR2JwcyAweDMgaW1wbCBTQVRBIG1vZGUKPiBhaGNpIDAwMDA6
MDY6MDAuMDogZmxhZ3M6IDY0Yml0IG5jcSBwbSBsZWQgY2xvIHBtcCBwaW8gc2x1bSBwYXJ0IAo+
IHNjc2k2IDogYWhjaQo+IHNjc2k3IDogYWhjaQo+IGF0YTg6IFNBVEEgbWF4IFVETUEvMTMzIGFi
YXIgbTgxOTJAMHhmZThmZTAwMCBwb3J0IDB4ZmU4ZmUxMDAgaXJxIDQ0Cj4gYXRhOTogU0FUQSBt
YXggVURNQS8xMzMgYWJhciBtODE5MkAweGZlOGZlMDAwIHBvcnQgMHhmZThmZTE4MCBpcnEgNDQK
PiB0dW46IFVuaXZlcnNhbCBUVU4vVEFQIGRldmljZSBkcml2ZXIsIDEuNgo+IHR1bjogKEMpIDE5
OTktMjAwNCBNYXggS3Jhc255YW5za3kgPG1heGtAcXVhbGNvbW0uY29tPgo+IHNreTI6IGRyaXZl
ciB2ZXJzaW9uIDEuMzAKPiBza3kyIDAwMDA6MDQ6MDAuMDogWXVrb24tMiBPcHRpbWEgY2hpcCBy
ZXZpc2lvbiAxCj4gc2t5MiAwMDAwOjA0OjAwLjA6IGV0aDA6IGFkZHIgMjA6Y2Y6MzA6NmQ6ODk6
YTUKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGNkY19uY20KPiBm
aXJld2lyZV9vaGNpIDAwMDA6MDU6MDAuMDogYWRkZWQgT0hDSSB2MS4xMCBkZXZpY2UgYXMgY2Fy
ZCAwLCA0IElSICsgOCBJVCBjb250ZXh0cywgcXVpcmtzIDB4MTEKPiBlaGNpX2hjZDogVVNCIDIu
MCAnRW5oYW5jZWQnIEhvc3QgQ29udHJvbGxlciAoRUhDSSkgRHJpdmVyCj4geGVuX21hcF9waXJx
X2dzaTogcmV0dXJuaW5nIGlycSAxNyBmb3IgZ3NpIDE3Cj4gQWxyZWFkeSBzZXR1cCB0aGUgR1NJ
IDoxNwo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogRUhDSSBIb3N0IENvbnRyb2xsZXIKPiBlaGNp
X2hjZCAwMDAwOjAwOjEyLjI6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBu
dW1iZXIgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogYXBwbHlpbmcgQU1EIFNCNzAwL1NCODAw
L0h1ZHNvbi0yLzMgRUhDSSBkdW1teSBxaCB3b3JrYXJvdW5kCj4gZWhjaV9oY2QgMDAwMDowMDox
Mi4yOiBkZWJ1ZyBwb3J0IDEKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IGlycSAxNywgaW8gbWVt
IDB4ZmUzZmU0MDAKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IFVTQiAyLjAgc3RhcnRlZCwgRUhD
SSAxLjAwCj4gdXNiIHVzYjE6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBp
ZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2IxOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9Mywg
UHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2IxOiBQcm9kdWN0OiBFSENJIEhvc3Qg
Q29udHJvbGxlcgo+IHVzYiB1c2IxOiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5
NS1nODdiNWQ5MC1kaXJ0eSBlaGNpX2hjZAo+IHVzYiB1c2IxOiBTZXJpYWxOdW1iZXI6IDAwMDA6
MDA6MTIuMgo+IGh1YiAxLTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDEtMDoxLjA6IDUgcG9y
dHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE3IGZvciBnc2kg
MTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4gZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBF
SENJIEhvc3QgQ29udHJvbGxlcgo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogbmV3IFVTQiBidXMg
cmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAyCj4gZWhjaV9oY2QgMDAwMDowMDoxMy4y
OiBhcHBseWluZyBBTUQgU0I3MDAvU0I4MDAvSHVkc29uLTIvMyBFSENJIGR1bW15IHFoIHdvcmth
cm91bmQKPiBlaGNpX2hjZCAwMDAwOjAwOjEzLjI6IGRlYnVnIHBvcnQgMQo+IGVoY2lfaGNkIDAw
MDA6MDA6MTMuMjogaXJxIDE3LCBpbyBtZW0gMHhmZTNmZTgwMAo+IGVoY2lfaGNkIDAwMDA6MDA6
MTMuMjogVVNCIDIuMCBzdGFydGVkLCBFSENJIDEuMDAKPiB1c2IgdXNiMjogTmV3IFVTQiBkZXZp
Y2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAyCj4gdXNiIHVzYjI6IE5ldyBV
U0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNi
IHVzYjI6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjI6IE1hbnVmYWN0
dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5IGVoY2lfaGNkCj4gdXNi
IHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMy4yCj4gaHViIDItMDoxLjA6IFVTQiBodWIg
Zm91bmQKPiBodWIgMi0wOjEuMDogNSBwb3J0cyBkZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9nc2k6
IHJldHVybmluZyBpcnEgMTcgZm9yIGdzaSAxNwo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTcK
PiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IEVIQ0kgSG9zdCBDb250cm9sbGVyCj4gZWhjaV9oY2Qg
MDAwMDowMDoxNi4yOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVy
IDMKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGFwcGx5aW5nIEFNRCBTQjcwMC9TQjgwMC9IdWRz
b24tMi8zIEVIQ0kgZHVtbXkgcWggd29ya2Fyb3VuZAo+IGVoY2lfaGNkIDAwMDA6MDA6MTYuMjog
ZGVidWcgcG9ydCAxCj4gYXRhNzogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAz
MDApCj4gYXRhNjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRh
MjogU0FUQSBsaW5rIHVwIDMuMCBHYnBzIChTU3RhdHVzIDEyMyBTQ29udHJvbCAzMDApCj4gYXRh
NTogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhNDogU0FUQSBs
aW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhMzogU0FUQSBsaW5rIGRvd24g
KFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gYXRhMi4wMDogQVRBLTg6IElOVEVMIFNTRFNBMkNX
MTIwRzMsIDRQQzEwMzYyLCBtYXggVURNQS8xMzMKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGly
cSAxNywgaW8gbWVtIDB4ZmUzZmVjMDAKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IFVTQiAyLjAg
c3RhcnRlZCwgRUhDSSAxLjAwCj4gdXNiIHVzYjM6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZl
bmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2IzOiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2IzOiBQcm9kdWN0
OiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2IzOiBNYW51ZmFjdHVyZXI6IExpbnV4IDMu
NC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBlaGNpX2hjZAo+IHVzYiB1c2IzOiBTZXJpYWxO
dW1iZXI6IDAwMDA6MDA6MTYuMgo+IGF0YTk6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0Nv
bnRyb2wgMzAwKQo+IGF0YTg6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAw
KQo+IGF0YTIuMDA6IDIzNDQ0MTY0OCBzZWN0b3JzLCBtdWx0aSAxOiBMQkE0OCBOQ1EgKGRlcHRo
IDMxLzMyKQo+IGh1YiAzLTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDMtMDoxLjA6IDQgcG9y
dHMgZGV0ZWN0ZWQKPiBvaGNpX2hjZDogVVNCIDEuMSAnT3BlbicgSG9zdCBDb250cm9sbGVyIChP
SENJKSBEcml2ZXIKPiBhdGEyLjAwOiBjb25maWd1cmVkIGZvciBVRE1BLzEzMwo+IHhlbl9tYXBf
cGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhl
IEdTSSA6MTgKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4g
b2hjaV9oY2QgMDAwMDowMDoxMi4wOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBi
dXMgbnVtYmVyIDQKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IGlycSAxOCwgaW8gbWVtIDB4ZmUz
ZjcwMDAKPiBzY3NpIDA6MDowOjA6IERpcmVjdC1BY2Nlc3MgICAgIEFUQSAgICAgIElOVEVMIFNT
RFNBMkNXMTIgNFBDMSBQUTogMCBBTlNJOiA1Cj4gc2QgMDowOjA6MDogW3NkYV0gMjM0NDQxNjQ4
IDUxMi1ieXRlIGxvZ2ljYWwgYmxvY2tzOiAoMTIwIEdCLzExMSBHaUIpCj4gc2QgMDowOjA6MDog
W3NkYV0gV3JpdGUgUHJvdGVjdCBpcyBvZmYKPiBzZCAwOjA6MDowOiBbc2RhXSBXcml0ZSBjYWNo
ZTogZW5hYmxlZCwgcmVhZCBjYWNoZTogZW5hYmxlZCwgZG9lc24ndCBzdXBwb3J0IERQTyBvciBG
VUEKPiAgc2RhOiBzZGExIHNkYTIKPiBzZCAwOjA6MDowOiBbc2RhXSBBdHRhY2hlZCBTQ1NJIGRp
c2sKPiB1c2IgdXNiNDogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJv
ZHVjdD0wMDAxCj4gdXNiIHVzYjQ6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9k
dWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjQ6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250
cm9sbGVyCj4gdXNiIHVzYjQ6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4
N2I1ZDkwLWRpcnR5IG9oY2lfaGNkCj4gdXNiIHVzYjQ6IFNlcmlhbE51bWJlcjogMDAwMDowMDox
Mi4wCj4gaHViIDQtMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgNC0wOjEuMDogNSBwb3J0cyBk
ZXRlY3RlZAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9yIGdzaSAxOAo+
IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTgKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IE9IQ0kg
SG9zdCBDb250cm9sbGVyCj4gb2hjaV9oY2QgMDAwMDowMDoxMy4wOiBuZXcgVVNCIGJ1cyByZWdp
c3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDUKPiBvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IGly
cSAxOCwgaW8gbWVtIDB4ZmUzZmMwMDAKPiB1c2IgMS0xOiBuZXcgaGlnaC1zcGVlZCBVU0IgZGV2
aWNlIG51bWJlciAyIHVzaW5nIGVoY2lfaGNkCj4gdXNiIHVzYjU6IE5ldyBVU0IgZGV2aWNlIGZv
dW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I1OiBOZXcgVVNCIGRl
dmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I1
OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I1OiBNYW51ZmFjdHVyZXI6
IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I1
OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTMuMAo+IGh1YiA1LTA6MS4wOiBVU0IgaHViIGZvdW5k
Cj4gaHViIDUtMDoxLjA6IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1
cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hj
aV9oY2QgMDAwMDowMDoxNC41OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IGZpcmV3aXJlX2NvcmUg
MDAwMDowNTowMC4wOiBjcmVhdGVkIGRldmljZSBmdzA6IEdVSUQgMDAxZThjMDAwMGRlOTEzNiwg
UzQwMAo+IG9oY2lfaGNkIDAwMDA6MDA6MTQuNTogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNz
aWduZWQgYnVzIG51bWJlciA2Cj4gb2hjaV9oY2QgMDAwMDowMDoxNC41OiBpcnEgMTgsIGlvIG1l
bSAweGZlM2ZkMDAwCj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTA0
MjQsIGlkUHJvZHVjdD0yNTA0Cj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZy
PTAsIFByb2R1Y3Q9MCwgU2VyaWFsTnVtYmVyPTAKPiBodWIgMS0xOjEuMDogVVNCIGh1YiBmb3Vu
ZAo+IGh1YiAxLTE6MS4wOiA0IHBvcnRzIGRldGVjdGVkCj4gdXNiIHVzYjY6IE5ldyBVU0IgZGV2
aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I2OiBOZXcg
VVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVz
YiB1c2I2OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I2OiBNYW51ZmFj
dHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVz
YiB1c2I2OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTQuNQo+IGh1YiA2LTA6MS4wOiBVU0IgaHVi
IGZvdW5kCj4gaHViIDYtMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3Np
OiByZXR1cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4
Cj4gb2hjaV9oY2QgMDAwMDowMDoxNi4wOiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNk
IDAwMDA6MDA6MTYuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJl
ciA3Cj4gb2hjaV9oY2QgMDAwMDowMDoxNi4wOiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZmMDAwCj4g
dXNiIHVzYjc6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9
MDAwMQo+IHVzYiB1c2I3OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0y
LCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I3OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxl
cgo+IHVzYiB1c2I3OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5
MC1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I3OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTYuMAo+
IGh1YiA3LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDctMDoxLjA6IDQgcG9ydHMgZGV0ZWN0
ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUwIGZvciBnc2kgNTAKPiBBbHJl
YWR5IHNldHVwIHRoZSBHU0kgOjUwCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiB4SENJIEhvc3Qg
Q29udHJvbGxlcgo+IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJl
ZCwgYXNzaWduZWQgYnVzIG51bWJlciA4Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBpcnEgNTAs
IGlvIG1lbSAweGZlNWZlMDAwCj4gdXNiIHVzYjg6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZl
bmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2I4OiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I4OiBQcm9kdWN0
OiB4SENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I4OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMu
NC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSB4aGNpX2hjZAo+IHVzYiB1c2I4OiBTZXJpYWxO
dW1iZXI6IDAwMDA6MDM6MDAuMAo+IGh1YiA4LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDgt
MDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4aGNpX2hjZCAwMDAwOjAzOjAwLjA6IHhIQ0kgSG9z
dCBDb250cm9sbGVyCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBuZXcgVVNCIGJ1cyByZWdpc3Rl
cmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDkKPiB1c2IgdXNiOTogTmV3IFVTQiBkZXZpY2UgZm91
bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAzCj4gdXNiIHVzYjk6IE5ldyBVU0IgZGV2
aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjk6
IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNiIHVzYjk6IE1hbnVmYWN0dXJlcjog
TGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5IHhoY2lfaGNkCj4gdXNiIHVzYjk6
IFNlcmlhbE51bWJlcjogMDAwMDowMzowMC4wCj4gaHViIDktMDoxLjA6IFVTQiBodWIgZm91bmQK
PiBodWIgOS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgdXNibHAKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIHVhcwo+IEluaXRpYWxpemluZyBVU0IgTWFzcyBTdG9yYWdlIGRyaXZlci4uLgo+
IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3JhZ2UKPiBV
U0IgTWFzcyBTdG9yYWdlIHN1cHBvcnQgcmVnaXN0ZXJlZC4KPiB1c2Jjb3JlOiByZWdpc3RlcmVk
IG5ldyBpbnRlcmZhY2UgZHJpdmVyIGxpYnVzdWFsCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcg
aW50ZXJmYWNlIGRyaXZlciB1bXNfZW5ldWI2MjUwCj4gaTgwNDI6IFBOUDogTm8gUFMvMiBjb250
cm9sbGVyIGZvdW5kLiBQcm9iaW5nIHBvcnRzIGRpcmVjdGx5Lgo+IHNlcmlvOiBpODA0MiBLQkQg
cG9ydCBhdCAweDYwLDB4NjQgaXJxIDEKPiBzZXJpbzogaTgwNDIgQVVYIHBvcnQgYXQgMHg2MCww
eDY0IGlycSAxMgo+IG1vdXNlZGV2OiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFsbCBt
aWNlCj4gaW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2RldmljZXMvcGxhdGZvcm0vcGNzcGtyL2lucHV0
L2lucHV0Mgo+IHJ0Y19jbW9zIDAwOjA0OiBSVEMgY2FuIHdha2UgZnJvbSBTNAo+IHJ0Y19jbW9z
IDAwOjA0OiBydGMgY29yZTogcmVnaXN0ZXJlZCBydGNfY21vcyBhcyBydGMwCj4gcnRjMDogYWxh
cm1zIHVwIHRvIG9uZSBtb250aCwgeTNrLCAxMTQgYnl0ZXMgbnZyYW0KPiBpMmMgL2RldiBlbnRy
aWVzIGRyaXZlcgo+IEFDUEkgV2FybmluZzogMHgwMDAwMDAwMDAwMDAwYjAwLTB4MDAwMDAwMDAw
MDAwMGIwNyBTeXN0ZW1JTyBjb25mbGljdHMgd2l0aCBSZWdpb24gXF9TQl8uUENJMC5TQlJHLkFT
T0MuU01SRyAxICgyMDEyMDMyMC91dGFkZHJlc3MtMjUxKQo+IHVzYiA0LTI6IG5ldyBmdWxsLXNw
ZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDIgdXNpbmcgb2hjaV9oY2QKPiBBQ1BJOiBJZiBhbiBBQ1BJ
IGRyaXZlciBpcyBhdmFpbGFibGUgZm9yIHRoaXMgZGV2aWNlLCB5b3Ugc2hvdWxkIHVzZSBpdCBp
bnN0ZWFkIG9mIHRoZSBuYXRpdmUgZHJpdmVyCj4gQVRLMDExMCBBVEswMTEwOjAwOiBFQyBlbmFi
bGVkCj4gc3A1MTAwX3RjbzogU1A1MTAwIFRDTyBXYXRjaERvZyBUaW1lciBEcml2ZXIgdjAuMDEK
PiBzcDUxMDBfdGNvOiBtbWlvIGFkZHJlc3MgMHhiOGZlMDAgYWxyZWFkeSBpbiB1c2UKPiBpdDg3
X3dkdDogQ2hpcCBJVDg3MjEgcmV2aXNpb24gMSBpbml0aWFsaXplZC4gdGltZW91dD02MCBzZWMg
KG5vd2F5b3V0PTAgdGVzdG1vZGU9MCBleGNsdXNpdmU9MSBub2dhbWVwb3J0PTApCj4geGVuX3dk
dDogWGVuIFdhdGNoRG9nIFRpbWVyIERyaXZlciB2MC4wMQo+IHhlbl93ZHQ6IGNhbm5vdCByZWdp
c3RlciBtaXNjZGV2IG9uIG1pbm9yPTEzMCAoLTE2KQo+IHdkdDogcHJvYmUgb2Ygd2R0IGZhaWxl
ZCB3aXRoIGVycm9yIC0xNgo+IGRldmljZS1tYXBwZXI6IHVldmVudDogdmVyc2lvbiAxLjAuMwo+
IGRldmljZS1tYXBwZXI6IGlvY3RsOiA0LjIyLjAtaW9jdGwgKDIwMTEtMTAtMTkpIGluaXRpYWxp
c2VkOiBkbS1kZXZlbEByZWRoYXQuY29tCj4gRURBQyBNQzogVmVyOiAyLjEuMAo+IEFNRDY0IEVE
QUMgZHJpdmVyIHYzLjQuMAo+IEVEQUMgYW1kNjQ6IERSQU0gRUNDIGRpc2FibGVkLgo+IEVEQUMg
YW1kNjQ6IEVDQyBkaXNhYmxlZCBpbiB0aGUgQklPUyBvciBubyBFQ0MgY2FwYWJpbGl0eSwgbW9k
dWxlIHdpbGwgbm90IGxvYWQuCj4gIEVpdGhlciBlbmFibGUgRUNDIGNoZWNraW5nIG9yIGZvcmNl
IG1vZHVsZSBsb2FkaW5nIGJ5IHNldHRpbmcgJ2VjY19lbmFibGVfb3ZlcnJpZGUnLgo+ICAoTm90
ZSB0aGF0IHVzZSBvZiB0aGUgb3ZlcnJpZGUgbWF5IGNhdXNlIHVua25vd24gc2lkZSBlZmZlY3Rz
LikKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmhpZAo+IHVz
YmhpZDogVVNCIEhJRCBjb3JlIGRyaXZlcgo+IFRDUDogY3ViaWMgcmVnaXN0ZXJlZAo+IE5FVDog
UmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMTcKPiBydGNfY21vcyAwMDowNDogc2V0dGluZyBz
eXN0ZW0gY2xvY2sgdG8gMjAxMi0wNS0wNyAxMDo1NToyMiBVVEMgKDEzMzYzODgxMjIpCj4gcG93
ZXJub3ctazg6IEZvdW5kIDEgQU1EIFBoZW5vbSh0bSkgSUkgWDYgMTA3NVQgUHJvY2Vzc29yICg2
IGNwdSBjb3JlcykgKHZlcnNpb24gMi4yMC4wMCkKPiBwb3dlcm5vdy1rODogQ29yZSBQZXJmb3Jt
YW5jZSBCb29zdGluZzogb24uCj4gRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTogNTMyayBm
cmVlZAo+IExvYWRpbmcsIHBsZWFzZSB3YWl0Li4uCj4gdWRldlsxMDc4XTogc3RhcnRpbmcgdmVy
c2lvbiAxNjQKPiB1c2IgNC0yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MDQxZSwg
aWRQcm9kdWN0PTMwZGMKPiB1c2IgNC0yOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MSwg
UHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9Mwo+IHVzYiA0LTI6IFByb2R1Y3Q6IFNvdW5kIEJsYXN0
ZXIgVGFjdGljKDNEKSBBbHBoYQo+IHVzYiA0LTI6IE1hbnVmYWN0dXJlcjogQ3JlYXRpdmUgVGVj
aG5vbG9neSBMdGQKPiB1c2IgNC0yOiBTZXJpYWxOdW1iZXI6IDAwMDIzMTYyCj4gaW5wdXQ6IENy
ZWF0aXZlIFRlY2hub2xvZ3kgTHRkIFNvdW5kIEJsYXN0ZXIgVGFjdGljKDNEKSBBbHBoYSBhcyAv
ZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMC91c2I0LzQtMi80LTI6MS4zL2lucHV0L2lu
cHV0Mwo+IGdlbmVyaWMtdXNiIDAwMDM6MDQxRTozMERDLjAwMDE6IGlucHV0LGhpZGRldjA6IFVT
QiBISUQgdjEuMDAgRGV2aWNlIFtDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZCBTb3VuZCBCbGFzdGVy
IFRhY3RpYygzRCkgQWxwaGFdIG9uIHVzYi0wMDAwOjAwOjEyLjAtMi9pbnB1dDMKPiBCZWdpbjog
TG9hZGluZyBlc3NlbnRpYWwgZHJpdmVycyAuLi4gdXNiIDEtMS4xOiBuZXcgZnVsbC1zcGVlZCBV
U0IgZGV2aWNlIG51bWJlciA0IHVzaW5nIGVoY2lfaGNkCj4gZG9uZS4KPiBCZWdpbjogUnVubmlu
ZyAvc2NyaXB0cy9pbml0LXByZW1vdW50IC4uLiBkb25lLgo+IEJlZ2luOiBNb3VudGluZyByb290
IGZpbGUgc3lzdGVtIC4uLiBCZWdpbjogUnVubmluZyAvc2NyaXB0cy9sb2NhbC10b3AgLi4uIHVz
YiAxLTEuMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTE1MzIsIGlkUHJvZHVjdD0w
MDEzCj4gdXNiIDEtMS4xOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MSwgUHJvZHVjdD0y
LCBTZXJpYWxOdW1iZXI9MAo+IHVzYiAxLTEuMTogUHJvZHVjdDogUmF6ZXIgT3JvY2hpCj4gdXNi
IDEtMS4xOiBNYW51ZmFjdHVyZXI6IFJhemVyCj4gZG9uZS4KPiBpbnB1dDogUmF6ZXIgUmF6ZXIg
T3JvY2hpIGFzIC9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxMi4yL3VzYjEvMS0xLzEtMS4x
LzEtMS4xOjEuMC9pbnB1dC9pbnB1dDQKPiBnZW5lcmljLXVzYiAwMDAzOjE1MzI6MDAxMy4wMDAy
OiBpbnB1dDogVVNCIEhJRCB2MS4xMSBNb3VzZSBbUmF6ZXIgUmF6ZXIgT3JvY2hpXSBvbiB1c2It
MDAwMDowMDoxMi4yLTEuMS9pbnB1dDAKPiBpbnB1dDogUmF6ZXIgUmF6ZXIgT3JvY2hpIGFzIC9k
ZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxMi4yL3VzYjEvMS0xLzEtMS4xLzEtMS4xOjEuMS9p
bnB1dC9pbnB1dDUKPiBnZW5lcmljLXVzYiAwMDAzOjE1MzI6MDAxMy4wMDAzOiBpbnB1dDogVVNC
IEhJRCB2MS4xMSBLZXlib2FyZCBbUmF6ZXIgUmF6ZXIgT3JvY2hpXSBvbiB1c2ItMDAwMDowMDox
Mi4yLTEuMS9pbnB1dDEKPiBCZWdpbjogUnVubmluZyAvc2NyaXB0cy9sb2NhbC1wcmVtb3VudCAu
Li4gZG9uZS4KPiB1c2IgMS0xLjI6IG5ldyBsb3ctc3BlZWQgVVNCIGRldmljZSBudW1iZXIgNSB1
c2luZyBlaGNpX2hjZAo+IEVYVDQtZnMgKGRtLTApOiBtb3VudGVkIGZpbGVzeXN0ZW0gd2l0aCBv
cmRlcmVkIGRhdGEgbW9kZS4gT3B0czogKG51bGwpCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMv
bG9jYWwtYm90dG9tIC4uLiBkb25lLgo+IGRvbmUuCj4gQmVnaW46IFJ1bm5pbmcgL3NjcmlwdHMv
aW5pdC1ib3R0b20gLi4uIGRvbmUuCj4gdXNiIDEtMS4yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwg
aWRWZW5kb3I9MDRmMiwgaWRQcm9kdWN0PTA0MDMKPiB1c2IgMS0xLjI6IE5ldyBVU0IgZGV2aWNl
IHN0cmluZ3M6IE1mcj0xLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0wCj4gdXNiIDEtMS4yOiBQ
cm9kdWN0OiBVU0IgS2V5Ym9hcmQKPiB1c2IgMS0xLjI6IE1hbnVmYWN0dXJlcjogQ2hpY29ueQo+
IElOSVQ6IHZlcnNpb24gMi44OCBib290aW5nCj4gaW5wdXQ6IENoaWNvbnkgVVNCIEtleWJvYXJk
IGFzIC9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxMi4yL3VzYjEvMS0xLzEtMS4yLzEtMS4y
OjEuMC9pbnB1dC9pbnB1dDYKPiBnZW5lcmljLXVzYiAwMDAzOjA0RjI6MDQwMy4wMDA0OiBpbnB1
dDogVVNCIEhJRCB2MS4xMSBLZXlib2FyZCBbQ2hpY29ueSBVU0IgS2V5Ym9hcmRdIG9uIHVzYi0w
MDAwOjAwOjEyLjItMS4yL2lucHV0MAo+IFVzaW5nIG1ha2VmaWxlLXN0eWxlIGNvbmN1cnJlbnQg
Ym9vdCBpbiBydW5sZXZlbCBTLmlucHV0OiBDaGljb255IFUKPiBTQiBLZXlib2FyZCBhcyAvZGV2
aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMi8xLTEuMjoxLjEvaW5w
dXQvaW5wdXQ3Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0MDMuMDAwNTogaW5wdXQsaGlkZGV2
MDogVVNCIEhJRCB2MS4xMSBEZXZpY2UgW0NoaWNvbnkgVVNCIEtleWJvYXJkXSBvbiB1c2ItMDAw
MDowMDoxMi4yLTEuMi9pbnB1dDEKPiBGaWxlcyB1bmRlciBtb3VudCBwb2ludCAnL2xpYi9pbml0
L3J3JyB3aWxsIGJlIGhpZGRlbi4gLi4ubmV0IGZpcmV3aXJlMDogSVB2NCBvdmVyIElFRUUgMTM5
NCBvbiBjYXJkIDAwMDA6MDU6MDAuMAo+IGZpcmV3aXJlX2NvcmUgMDAwMDowNTowMC4wOiByZWZy
ZXNoZWQgZGV2aWNlIGZ3MAo+ICAod2FybmluZykuCj4gRmlsZXMgdW5kZXIgbW91bnQgcG9pbnQg
Jy92YXIvcnVuJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJuaW5nKS4KPiBGaWxlcyB1bmRlciBt
b3VudCBwb2ludCAnL3Zhci9sb2NrJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJuaW5nKS4KPiBT
dGFydGluZyB0aGUgaG90cGx1ZyBldmVudHMgZGlzcGF0Y2hlcjogdWRldmR1ZGV2WzEyODZdOiBz
dGFydGluZyB2ZXJzaW9uIDE2NAo+IC4KPiBTeW50aGVzaXppbmcgdGhlIGluaXRpYWwgaG90cGx1
ZyBldmVudHMuLi5kb25lLgo+IFdhaXRpbmcgZm9yIC9kZXYgdG8gYmUgZnVsbHkgcG9wdWxhdGVk
Li4uZG9uZS4KPiBTZXR0aW5nIGhvc3RuYW1lIHRvICd4ZW4nLi4uZG9uZS4KPiBTZXR0aW5nIHBy
ZWxpbWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGluZyBzd2FwOi4KPiBFWFQ0LWZzIChk
bS0wKTogcmUtbW91bnRlZC4gT3B0czogKG51bGwpCj4gV2lsbCBub3cgY2hlY2sgcm9vdCBmaWxl
IHN5c3RlbTpmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBbL3NiaW4vZnNjay5leHQ0
ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgLUMwIC9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiAKPiAv
ZGV2L21hcHBlci9sZW1yb3VjaC14ZW46IGNsZWFuLCAxNzU2NDcvMTMxMDcyMCBmaWxlcywgMTI3
NjYzNS81MjQyODgwIGJsb2Nrcwo+IC4KPiBFWFQ0LWZzIChkbS0wKTogcmUtbW91bnRlZC4gT3B0
czogZXJyb3JzPXJlbW91bnQtcm8KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgZmlyZXdpcmUtc2Jw
Mi4KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgbG9vcC4KPiBDbGVhbmluZyB1cCBpZnVwZG93bi4u
Li4KPiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0dGluZyB1cCBMVk0gVm9sdW1lIEdy
b3VwcyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4gIFRoaXMgbWF5IHRha2UgYSB3aGls
ZS4uLgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3VjaCIgdXNpbmcgbWV0YWRhdGEgdHlw
ZSBsdm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZvbHVtZSBncm91cCAibGVtcm91Y2gi
IG5vdyBhY3RpdmUKPiAuCj4gV2lsbCBub3cgYWN0aXZhdGUgbHZtIGFuZCBtZCBzd2FwOmRvbmUu
Cj4gV2lsbCBub3cgY2hlY2sgYWxsIGZpbGUgc3lzdGVtcy4KPiBmc2NrIGZyb20gdXRpbC1saW51
eC1uZyAyLjE3LjIKPiBDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgo+IERvbmUgY2hlY2tpbmcg
ZmlsZSBzeXN0ZW1zLiBBIGxvZyBpcyBiZWluZyBzYXZlZCBpbiAvdmFyL2xvZy9mc2NrL2NoZWNr
ZnMgaWYgdGhhdCBsb2NhdGlvbiBpcyB3cml0YWJsZS4uCj4gV2lsbCBub3cgbW91bnQgbG9jYWwg
ZmlsZXN5c3RlbXM6RVhUNC1mcyAoc2RhMSk6IHdhcm5pbmc6IG1vdW50aW5nIHVuY2hlY2tlZCBm
cywgcnVubmluZyBlMmZzY2sgaXMgcmVjb21tZW5kZWQKPiBFWFQ0LWZzIChzZGExKTogbW91bnRl
ZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6IChudWxsKQo+IC4KPiBX
aWxsIG5vdyBhY3RpdmF0ZSBzd2FwZmlsZSBzd2FwOmRvbmUuCj4gQ2xlYW5pbmcgdXAgdGVtcG9y
YXJ5IGZpbGVzLi4uQ2xlYW5pbmcgL3RtcC4uLmRvbmUuCj4gLgo+IENoZWNraW5nIG1pbmltdW0g
c3BhY2UgaW4gL3RtcC4uLmRvbmUuCj4gU2V0dGluZyBrZXJuZWwgdmFyaWFibGVzIC4uLiAvZXRj
L3N5c2N0bC5jb25mLi4uZG9uZS4KPiBJbml0aWFsaXppbmcgcmFuZG9tIG51bWJlciBnZW5lcmF0
b3IuLi5kb25lLgo+IFNldHRpbmcgdXAgWCBzZXJ2ZXIgc29ja2V0IGRpcmVjdG9yeSAvdG1wLy5Y
MTEtdW5peC4uLi4KPiBTZXR0aW5nIHVwIElDRSBzb2NrZXQgZGlyZWN0b3J5IC90bXAvLklDRS11
bml4Li4uLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJmYWNlcy4uLmRldmljZSBldGgwIGVu
dGVyZWQgcHJvbWlzY3VvdXMgbW9kZQo+IHNreTIgMDAwMDowNDowMC4wOiBldGgwOiBlbmFibGlu
ZyBpbnRlcmZhY2UKPiBkb25lLgo+IENsZWFuaW5nIHVwIHRlbXBvcmFyeSBmaWxlcy4uLi4KPiBT
dGFydGluZyBmaWxlc3lzdGVtIGluIHVzZXJzcGFjZTogZnVzZS4KPiBTZXR0aW5nIGNvbnNvbGUg
c2NyZWVuIG1vZGVzLgo+IGNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlCj4gU2tpcHBpbmcg
Zm9udCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNvbnNvbGUtc2V0dXApLgo+IFNldHRp
bmcgdXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25lLgo+IFNldHRpbmcgc2Vuc29ycyBs
aW1pdHMuCj4gSU5JVDogRW50ZXJpbmcgcnVubGV2ZWw6IDMKPiBVc2luZyBtYWtlZmlsZS1zdHls
ZSBjb25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgMy4KPiBOb3Qgc3RhcnRpbmcgZmFuY29udHJv
bDsgcnVuIHB3bWNvbmZpZyBmaXJzdC4gLi4uICh3YXJuaW5nKS4KPiBhY3BpZDogc3RhcnRpbmcg
dXAgd2l0aCBuZXRsaW5rIGFuZCB0aGUgaW5wdXQgbGF5ZXIKPiAKPiBhY3BpZDogMSBydWxlIGxv
YWRlZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6IGV2ZW50IGxvZ2dpbmcgaXMgb2Zm
Cj4gCj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBTdGFydGluZyBzeXN0ZW0gbWVzc2Fn
ZSBidXM6IGRidXMuCj4gc3NoZCAoMjA2NCk6IC9wcm9jLzIwNjQvb29tX2FkaiBpcyBkZXByZWNh
dGVkLCBwbGVhc2UgdXNlIC9wcm9jLzIwNjQvb29tX3Njb3JlX2FkaiBpbnN0ZWFkLgo+IFN0YXJ0
aW5nIHRoZSBXaW5iaW5kIGRhZW1vbjogd2luYmluZC4KPiBTdGFydGluZyBPcGVuQlNEIFNlY3Vy
ZSBTaGVsbCBzZXJ2ZXI6IHNzaGQuCj4gU3RhcnRpbmcgb3hlbnN0b3JlZC4uLgo+IFNldHRpbmcg
ZG9tYWluIDAgbmFtZS4uLgo+IFN0YXJ0aW5nIHhlbmNvbnNvbGVkLi4uCj4gU3RhcnRpbmcgZG9t
YWluIG5hbWUgc2VydmljZS4uLjogYmluZDkuCj4gU3RhcnRpbmcgU2FtYmEgZGFlbW9uczogbm1i
ZCBzbWJkLgo+IFN0YXJ0aW5nIHBlcmlvZGljIGNvbW1hbmQgc2NoZWR1bGVyOiBjcm9uLgo+IFN0
YXJ0aW5nIFBvc3RmaXggTWFpbCBUcmFuc3BvcnQgQWdlbnQ6IHBvc3RmaXguCj4gQkxLVEFQQ1RS
TFsyMjM0XTogYmxrdGFwY3RybC5jOjc5MjogYmxrdGFwY3RybDogdjEuMC4wCj4gCj4gQkxLVEFQ
Q1RSTFsyMjM0XTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBbcmF3IGltYWdlIChh
aW8pXQo+IAo+IEJMS1RBUENUUkxbMjIzNF06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZl
cjogW3JhdyBpbWFnZSAoc3luYyldCj4gCj4gQkxLVEFQQ1RSTFsyMjM0XTogYmxrdGFwY3RybC5j
Ojc5NDogRm91bmQgZHJpdmVyOiBbdm13YXJlIGltYWdlICh2bWRrKV0KPiAKPiBCTEtUQVBDVFJM
WzIyMzRdOiBibGt0YXBjdHJsLmM6Nzk0OiBGb3VuZCBkcml2ZXI6IFtyYW1kaXNrIGltYWdlIChy
YW0pXQo+IAo+IEJMS1RBUENUUkxbMjIzNF06IGJsa3RhcGN0cmwuYzo3OTQ6IEZvdW5kIGRyaXZl
cjogW3Fjb3cgZGlzayAocWNvdyldCj4gCj4gQkxLVEFQQ1RSTFsyMjM0XTogYmxrdGFwY3RybC5j
Ojc5NDogRm91bmQgZHJpdmVyOiBbcWNvdzIgZGlzayAocWNvdzIpXQo+IAo+IEJMS1RBUENUUkxb
MjIzNF06IGJsa3RhcGN0cmxfbGludXguYzo4NjogYmxrdGFwMCBvcGVuIGZhaWxlZAo+IAo+IEJM
S1RBUENUUkxbMjIzNF06IGJsa3RhcGN0cmwuYzo4NjE6IGNvdWxkbid0IG9wZW4gYmxrdGFwIGlu
dGVyZmFjZXNreTIgMDAwMDowNDowMC4KPiAwOiBldGgwOiBMaW5rIGlzIHVwIGF0IDEwMCBNYnBz
LAo+ICBmdWxsIGR1cGxleCwgZmxvdyBjb250cm9sIGJvdGgKPiBCTEtUQVBDVFJMWzIyMzRdOiBi
bGt0YXBjdHJsLmM6OTI0OiBVbmFibGUgdG8gc3RhcnQgYmxrdGFwY3RybGJyMDogcG9ydCAxKGV0
aDAKPiApIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+IAo+IGJyMDogcG9ydCAxKGV0aDApIGVu
dGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+IFN0YXJ0aW5nIFMuTS5BLlIuVC4gZGFlbW9uOiBzbWFy
dGQuCj4gYnIwOiBwb3J0IDEoZXRoMCkgZW50ZXJlZCBmb3J3YXJkaW5nIHN0YXRlCj4gUnVubmlu
ZyBsb2NhbCBib290IHNjcmlwdHMgKC9ldGMvcmMubG9jYWwpKFhFTikgUENJIHJlbW92ZSBkZXZp
Y2UgMDAwMDowMDoxMi4yCj4gYWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0
ZWQKPiAKPiBhY3BpZDogaW5wdXQgZGV2aWNlIGhhcyBiZWVuIGRpc2Nvbm5lY3RlZAo+IAo+IGFj
cGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gKFhFTikgUENJIHJl
bW92ZSBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDow
MDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4y
Cj4gLgo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVjdGVkCj4gCj4gYWNw
aWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQKPiAKPiAoWEVOKSBpb3BvcnRf
bWFwOmFkZDogZG9tMSBncG9ydD0zYjAgbXBvcnQ9M2IwIG5yPWMKPiAoWEVOKSBtZW1vcnlfbWFw
OmFkZDogZG9tMSBnZm49YTAgbWZuPWEwIG5yPTIwCj4gKFhFTikgaW9wb3J0X21hcDphZGQ6IGRv
bTEgZ3BvcnQ9M2MwIG1wb3J0PTNjMCBucj0zCj4gKFhFTikgaW9wb3J0X21hcDphZGQ6IGRvbTEg
Z3BvcnQ9M2M0IG1wb3J0PTNjNCBucj0xYwo+IChYRU4pIEhWTTE6IEhWTSBMb2FkZXIKPiAoWEVO
KSBIVk0xOiBEZXRlY3RlZCBYZW4gdjQuMi11bnN0YWJsZQo+IChYRU4pIEhWTTE6IFhlbmJ1cyBy
aW5ncyBAMHhmZWZmYzAwMCwgZXZlbnQgY2hhbm5lbCA4Cj4gKFhFTikgSFZNMTogU3lzdGVtIHJl
cXVlc3RlZCBST01CSU9TCj4gKFhFTikgSFZNMTogQ1BVIHNwZWVkIGlzIDMwMTAgTUh6Cj4gKFhF
TikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdlZCAwIC0+IDUKPiAoWEVOKSBIVk0x
OiBQQ0ktSVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJRNQo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQ
Q0kgbGluayAxIGNoYW5nZWQgMCAtPiAxMAo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAxIHJv
dXRlZCB0byBJUlExMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQg
MCAtPiAxMQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAyIHJvdXRlZCB0byBJUlExMQo+IChY
RU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAzIGNoYW5nZWQgMCAtPiA1Cj4gKFhFTikgSFZN
MTogUENJLUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDAx
OjMgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDAzOjAgSU5UQS0+SVJRNQo+IChY
RU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBJTlRBLT5JUlE1Cj4gKFhFTikgSFZNMTogcGNpIGRldiAw
NTowIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNjowIElOVEItPklSUTUKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDA3OjAgSU5UQS0+SVJRNQo+IChYRU4pIEhWTTE6IHBjaSBkZXYg
MDg6MCBJTlRCLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDk6MCBJTlRBLT5JUlExMAo+
IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTAgc2l6ZSAxMDAwMDAwMDogZTAwMDAwMGMK
PiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yPTEwMDAw
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxNCBzaXplIDAxMDAwMDAwOiBmMDAwMDAw
OAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBiYXIgMTAgc2l6ZSAwMDAyMDAwMDogZjEwMDAw
MDAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwMjAgbWZuPWZlOWUwIG5yPTIw
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxOCBzaXplIDAwMDIwMDAwOiBmMTAyMDAw
NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMzAgc2l6ZSAwMDAyMDAwMDogZjEwNDAw
MDAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2OjAgYmFyIDEwIHNpemUgMDAwMDQwMDA6IGYxMDYw
MDA0Cj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDYwIG1mbj1mZTliYyBucj00
Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwOTowIGJhciAxMCBzaXplIDAwMDA0MDAwOiBmMTA2NDAw
NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2NCBtZm49ZmUzZjggbnI9NAo+
IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBiYXIgMTAgc2l6ZSAwMDAwMTAwMDogZjEwNjgwMDAK
PiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEwNjggbWZuPWZlM2Y3IG5yPTEKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUgMDAwMDEwMDA6IGYxMDY5MDAwCj4g
KFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDY5IG1mbj1mMDAwMCBucj0xCj4gKFhF
TikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxMCBzaXplIDAwMDAwMTAwOiAwMDAwYzAwMQo+IChY
RU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMjAgc2l6ZSAwMDAwMDEwMDogMDAwMGMxMDEKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgYmFyIDE0IHNpemUgMDAwMDAwNDA6IDAwMDBjMjAxCj4g
KFhFTikgSFZNMTogcGNpIGRldiAwMToxIGJhciAyMCBzaXplIDAwMDAwMDEwOiAwMDAwYzI0MQo+
IChYRU4pIEhWTTE6IE11bHRpcHJvY2Vzc29yIGluaXRpYWxpc2F0aW9uOgo+IChYRU4pIEhWTTE6
ICAtIENQVTAgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFsz
LzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTEgLi4uIDQ4LWJpdCBwaHlzIC4uLiBm
aXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAt
IENQVTIgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhd
IC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTMgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhl
ZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQ
VTQgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4u
LiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTUgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBN
VFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6IFRlc3Rpbmcg
SFZNIGVudmlyb25tZW50Ogo+IChYRU4pIEhWTTE6ICAtIFJFUCBJTlNCIGFjcm9zcyBwYWdlIGJv
dW5kYXJpZXMgLi4uIHBhc3NlZAo+IChYRU4pIEhWTTE6ICAtIEdTIGJhc2UgTVNScyBhbmQgU1dB
UEdTIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiBQYXNzZWQgMiBvZiAyIHRlc3RzCj4gKFhFTikg
SFZNMTogV3JpdGluZyBTTUJJT1MgdGFibGVzIC4uLgo+IChYRU4pIEhWTTE6IExvYWRpbmcgUk9N
QklPUyAuLi4KPiAoWEVOKSBIVk0xOiA5NjYwIGJ5dGVzIG9mIFJPTUJJT1MgaGlnaC1tZW1vcnkg
ZXh0ZW5zaW9uczoKPiAoWEVOKSBIVk0xOiAgIFJlbG9jYXRpbmcgdG8gMHhmYzAwMTAwMC0weGZj
MDAzNWJjIC4uLiBkb25lCj4gKFhFTikgSFZNMTogQ3JlYXRpbmcgTVAgdGFibGVzIC4uLgo+IChY
RU4pIEhWTTE6IExvYWRpbmcgVkdBQklPUyBvZiBwYXNzdGhyb3VnaGVkIGdmeCAuLi4KPiAoWEVO
KSBIVk0xOiBMb2FkaW5nIFBDSSBPcHRpb24gUk9NIC4uLgo+IChYRU4pIEhWTTE6ICAtIE1hbnVm
YWN0dXJlcjogaHR0cDovL2lweGUub3JnCj4gKFhFTikgSFZNMTogIC0gUHJvZHVjdCBuYW1lOiBp
UFhFCj4gKFhFTikgSFZNMTogT3B0aW9uIFJPTXM6Cj4gKFhFTikgSFZNMTogIGMwMDAwLWNmZmZm
OiBWR0EgQklPUwo+IChYRU4pIEhWTTE6ICBkMDAwMC1lMGZmZjogRXRoZXJib290IFJPTQo+IChY
RU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KPiAoWEVOKSBIVk0xOiB2bTg2IFRTUyBhdCBmYzAw
ZjcwMAo+IChYRU4pIEhWTTE6IEJJT1MgbWFwOgo+IChYRU4pIEhWTTE6ICBmMDAwMC1mZmZmZjog
TWFpbiBCSU9TCj4gKFhFTikgSFZNMTogRTgyMCB0YWJsZToKPiAoWEVOKSBIVk0xOiAgWzAwXTog
MDAwMDAwMDA6MDAwMDAwMDAgLSAwMDAwMDAwMDowMDA5ZTAwMDogUkFNCj4gKFhFTikgSFZNMTog
IFswMV06IDAwMDAwMDAwOjAwMDllMDAwIC0gMDAwMDAwMDA6MDAwYTAwMDA6IFJFU0VSVkVECj4g
KFhFTikgSFZNMTogIEhPTEU6IDAwMDAwMDAwOjAwMGEwMDAwIC0gMDAwMDAwMDA6MDAwZTAwMDAK
PiAoWEVOKSBIVk0xOiAgWzAyXTogMDAwMDAwMDA6MDAwZTAwMDAgLSAwMDAwMDAwMDowMDEwMDAw
MDogUkVTRVJWRUQKPiAoWEVOKSBIVk0xOiAgWzAzXTogMDAwMDAwMDA6MDAxMDAwMDAgLSAwMDAw
MDAwMDplMDAwMDAwMDogUkFNCj4gKFhFTikgSFZNMTogIEhPTEU6IDAwMDAwMDAwOmUwMDAwMDAw
IC0gMDAwMDAwMDA6ZmMwMDAwMDAKPiAoWEVOKSBIVk0xOiAgWzA0XTogMDAwMDAwMDA6ZmMwMDAw
MDAgLSAwMDAwMDAwMTowMDAwMDAwMDogUkVTRVJWRUQKPiAoWEVOKSBIVk0xOiAgWzA1XTogMDAw
MDAwMDE6MDAwMDAwMDAgLSAwMDAwMDAwMToyMDAwMDAwMDogUkFNCj4gKFhFTikgSFZNMTogSW52
b2tpbmcgUk9NQklPUyAuLi4KPiAoWEVOKSBIVk0xOiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6
IDIwMDgvMTIvMDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6IEJvY2hzIEJJT1MgLSBidWlsZDog
MDYvMjMvOTkKPiAoWEVOKSBIVk0xOiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIv
MDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6IE9wdGlvbnM6IGFwbWJpb3MgcGNpYmlvcyBlbHRv
cml0byBQTU0gCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogYXRhMC0wOiBQQ0hTPTE2Mzgz
LzE2LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTEwMjQvMjU1LzYzCj4gKFhFTikgSFZNMTogYXRh
MCBtYXN0ZXI6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1EaXNrICgyMDQ4MCBNQnl0ZXMpCj4g
KFhFTikgSFZNMTogYXRhMC0xOiBQQ0hTPTE2MzgzLzE2LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hT
PTEwMjQvMjU1LzYzCj4gKFhFTikgSFZNMTogYXRhMCAgc2xhdmU6IFFFTVUgSEFSRERJU0sgQVRB
LTcgSGFyZC1EaXNrICg1MTIwMCBNQnl0ZXMpCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTog
Cj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogUHJlc3MgRjEyIGZvciBib290IG1lbnUuCj4g
KFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogQm9vdGluZyBmcm9tIEhhcmQgRGlzay4uLgo+IChY
RU4pIEhWTTE6IEJvb3RpbmcgZnJvbSAwMDAwOjdjMDAKPiAoWEVOKSBpcnEuYzoyNzA6IERvbTEg
UENJIGxpbmsgMCBjaGFuZ2VkIDUgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGlu
ayAxIGNoYW5nZWQgMTAgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAyIGNo
YW5nZWQgMTEgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAzIGNoYW5nZWQg
NSAtPiAwCj4gKFhFTikgbWVtb3J5X21hcDpyZW1vdmU6IGRvbTEgZ2ZuPWUwMDAwIG1mbj1kMDAw
MCBucj0xMDAwMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTAyMCBtZm49
ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZTAwMDAgbWZuPWQw
MDAwIG5yPTEwMDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDIwIG1mbj1m
ZTllMCBucj0yMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2MCBtZm49
ZmU5YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2MCBtZm49ZmU5
YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2OCBtZm49ZmUz
ZjcgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2OCBtZm49ZmUzZjcg
bnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2OSBtZm49ZjAwMDAg
bnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2OSBtZm49ZjAwMDAgbnI9
MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdmbj1mMTA2NCBtZm49ZmUzZjggbnI9
NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1mMTA2NCBtZm49ZmUzZjggbnI9NAo+
IChYRU4pIGdyYW50X3RhYmxlLmM6MTE3NDpkMSBFeHBhbmRpbmcgZG9tICgxKSBncmFudCB0YWJs
ZSBmcm9tICg0KSB0byAoMzIpIGZyYW1lcy4KPiAoWEVOKSBpcnEuYzozNTA6IERvbTEgY2FsbGJh
Y2sgdmlhIGNoYW5nZWQgdG8gR1NJIDI4Cj4gKFhFTikgRG9tYWluIDAgY3Jhc2hlZDogcmVib290
aW5nIG1hY2hpbmUgaW4gNSBzZWNvbmRzLgo+ICBfXyAgX18gICAgICAgICAgICBfICBfICAgIF9f
X18gICAgICAgICAgICAgICAgICAgICBfICAgICAgICBfICAgICBfICAgICAgCj4gIFwgXC8gL19f
XyBfIF9fICAgfCB8fCB8ICB8X19fIFwgICAgXyAgIF8gXyBfXyAgX19ffCB8XyBfXyBffCB8X18g
fCB8IF9fXyAKPiAgIFwgIC8vIF8gXCAnXyBcICB8IHx8IHxfICAgX18pIHxfX3wgfCB8IHwgJ18g
XC8gX198IF9fLyBfYCB8ICdfIFx8IHwvIF8gXAo+ICAgLyAgXCAgX18vIHwgfCB8IHxfXyAgIF98
IC8gX18vfF9ffCB8X3wgfCB8IHwgXF9fIFwgfHwgKF98IHwgfF8pIHwgfCAgX18vCj4gIC9fL1xf
XF9fX3xffCB8X3wgICAgfF98KF8pX19fX198ICAgXF9fLF98X3wgfF98X19fL1xfX1xfXyxffF8u
X18vfF98XF9fX3wKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IChYRU4pIFhlbiB2ZXJzaW9uIDQuMi11
bnN0YWJsZSAocm9vdEAobm9uZSkpIChnY2MgdmVyc2lvbiA0LjQuNSAoRGViaWFuIDQuNC41LTgp
ICkgU2F0IE1heSAgNSAxNTo0ODo0OCBDRVNUIDIwMTIKPiAoWEVOKSBMYXRlc3QgQ2hhbmdlU2V0
OiBGcmkgTWF5IDA0IDExOjE4OjQ4IDIwMTIgKzAxMDAgMjUyNTk6MGY1MzU0MDQ5NGY3Cj4gKFhF
TikgQ29uc29sZSBvdXRwdXQgaXMgc3luY2hyb25vdXMuCj4gKFhFTikgQm9vdGxvYWRlcjogR1JV
QiAxLjk4KzIwMTAwODA0LTE0K3NxdWVlemUxCj4gKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhv
bGRlciBkb20wX21lbT0yRyBkb20wX21heF92Y3B1cz02IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZs
PWFsbCBzeW5jX2NvbnNvbGUgY29tMT0xMTUyMDAsOG4xLDB4YWMwMCBjb25zb2xlPWNvbTEKPiAo
WEVOKSBWaWRlbyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgVkdBIGlzIHRleHQgbW9kZSA4MHgyNSwg
Zm9udCA4eDE2Cj4gKFhFTikgIFZCRS9EREMgbWV0aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGlt
ZTogMSBzZWNvbmRzCj4gKFhFTikgRGlzYyBpbmZvcm1hdGlvbjoKPiAoWEVOKSAgRm91bmQgMSBN
QlIgc2lnbmF0dXJlcwo+IChYRU4pICBGb3VuZCAxIEVERCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmVz
Cj4gKFhFTikgWGVuLWU4MjAgUkFNIG1hcDoKPiAoWEVOKSAgMDAwMDAwMDAwMDAwMDAwMCAtIDAw
MDAwMDAwMDAwOWFjMDAgKHVzYWJsZSkKPiAoWEVOKSAgMDAwMDAwMDAwMDA5YWMwMCAtIDAwMDAw
MDAwMDAwYTAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAwMDAwMGU0MDAwIC0gMDAwMDAw
MDAwMDEwMDAwMCAocmVzZXJ2ZWQpCj4gKFhFTikgIDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAw
MGNmZTgwMDAwICh1c2FibGUpCj4gKFhFTikgIDAwMDAwMDAwY2ZlODAwMDAgLSAwMDAwMDAwMGNm
ZTk4MDAwIChBQ1BJIGRhdGEpCj4gKFhFTikgIDAwMDAwMDAwY2ZlOTgwMDAgLSAwMDAwMDAwMGNm
ZWMwMDAwIChBQ1BJIE5WUykKPiAoWEVOKSAgMDAwMDAwMDBjZmVjMDAwMCAtIDAwMDAwMDAwY2Zm
MDAwMDAgKHJlc2VydmVkKQo+IChYRU4pICAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEwMDAw
MDAwMCAocmVzZXJ2ZWQpCj4gKFhFTikgIDAwMDAwMDAxMDAwMDAwMDAgLSAwMDAwMDAwMjMwMDAw
MDAwICh1c2FibGUpCj4gKFhFTikgQUNQSTogUlNEUCAwMDBGQkYyMCwgMDAyNCAocjIgQUNQSUFN
KQo+IChYRU4pIEFDUEk6IFhTRFQgQ0ZFODAxMDAsIDAwNUMgKHIxIDEwMjgxMSBYU0RUMTc0MCAy
MDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6IEZBQ1AgQ0ZFODAyOTAsIDAwRjQg
KHIzIDEwMjgxMSBGQUNQMTc0MCAyMDExMTAyOCBNU0ZUICAgICAgIDk3KQo+IChYRU4pIEFDUEk6
IERTRFQgQ0ZFODA0NzAsIEU2RTMgKHIxICBBMTU5NSBBMTU5NTAwMCAgICAgICAgMCBJTlRMIDIw
MDYwMTEzKQo+IChYRU4pIEFDUEk6IEZBQ1MgQ0ZFOTgwMDAsIDAwNDAKPiAoWEVOKSBBQ1BJOiBB
UElDIENGRTgwMzkwLCAwMDk4IChyMSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAgICAg
ICA5NykKPiAoWEVOKSBBQ1BJOiBNQ0ZHIENGRTgwNDMwLCAwMDNDIChyMSAxMDI4MTEgT0VNTUNG
RyAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBPRU1CIENGRTk4MDQwLCAw
MDcyIChyMSAxMDI4MTEgT0VNQjE3NDAgMjAxMTEwMjggTVNGVCAgICAgICA5NykKPiAoWEVOKSBB
Q1BJOiBIUEVUIENGRThGOEMwLCAwMDM4IChyMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjggTVNG
VCAgICAgICA5NykKPiAoWEVOKSBBQ1BJOiBJVlJTIENGRThGOTAwLCAwMEUwIChyMSAgQU1EICAg
ICBSRDg5MFMgICAyMDIwMzEgQU1EICAgICAgICAgMCkKPiAoWEVOKSBBQ1BJOiBTU0RUIENGRThG
OUUwLCAwRTEwIChyMSBBIE0gSSAgUE9XRVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkKPiAo
WEVOKSBTeXN0ZW0gUkFNOiA4MTkwTUIgKDgzODY2NjRrQikKPiAoWEVOKSBObyBOVU1BIGNvbmZp
Z3VyYXRpb24gZm91bmQKPiAoWEVOKSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAt
MDAwMDAwMDIzMDAwMDAwMAo+IChYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCj4gKFhFTikg
Zm91bmQgU01QIE1QLXRhYmxlIGF0IDAwMGZmNzgwCj4gKFhFTikgRE1JIHByZXNlbnQuCj4gKFhF
TikgVXNpbmcgQVBJQyBkcml2ZXIgZGVmYXVsdAo+IChYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBv
cnQ6IDB4ODA4Cj4gKFhFTikgQUNQSTogQUNQSSBTTEVFUCBJTkZPOiBwbTF4X2NudFs4MDQsMF0s
IHBtMXhfZXZ0WzgwMCwwXQo+IChYRU4pIEFDUEk6ICAgICAgICAgICAgICAgICAgd2FrZXVwX3Zl
Y1tjZmU5ODAwY10sIHZlY19zaXplWzIwXQo+IChYRU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVz
cyAweGZlZTAwMDAwCj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRb
MHgwMF0gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzAgMDoxMCBBUElDIHZlcnNpb24gMTYK
PiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVk
KQo+IChYRU4pIFByb2Nlc3NvciAjMSAwOjEwIEFQSUMgdmVyc2lvbiAxNgo+IChYRU4pIEFDUEk6
IExBUElDIChhY3BpX2lkWzB4MDNdIGxhcGljX2lkWzB4MDJdIGVuYWJsZWQpCj4gKFhFTikgUHJv
Y2Vzc29yICMyIDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikgQUNQSTogTEFQSUMgKGFjcGlf
aWRbMHgwNF0gbGFwaWNfaWRbMHgwM10gZW5hYmxlZCkKPiAoWEVOKSBQcm9jZXNzb3IgIzMgMDox
MCBBUElDIHZlcnNpb24gMTYKPiAoWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBp
Y19pZFsweDA0XSBlbmFibGVkKQo+IChYRU4pIFByb2Nlc3NvciAjNCAwOjEwIEFQSUMgdmVyc2lv
biAxNgo+IChYRU4pIEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDVdIGVu
YWJsZWQpCj4gKFhFTikgUHJvY2Vzc29yICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2Cj4gKFhFTikg
QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwN10gbGFwaWNfaWRbMHg4Nl0gZGlzYWJsZWQpCj4gKFhF
TikgQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwOF0gbGFwaWNfaWRbMHg4N10gZGlzYWJsZWQpCj4g
KFhFTikgQUNQSTogSU9BUElDIChpZFsweDA2XSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNl
WzBdKQo+IChYRU4pIElPQVBJQ1swXTogYXBpY19pZCA2LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4
ZmVjMDAwMDAsIEdTSSAwLTIzCj4gKFhFTikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNz
WzB4ZmVjMjAwMDBdIGdzaV9iYXNlWzI0XSkKPiAoWEVOKSBJT0FQSUNbMV06IGFwaWNfaWQgNywg
dmVyc2lvbiAzMywgYWRkcmVzcyAweGZlYzIwMDAwLCBHU0kgMjQtNTUKPiAoWEVOKSBBQ1BJOiBJ
TlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAwIGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IChYRU4p
IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZl
bCkKPiAoWEVOKSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuCj4gKFhFTikgQUNQSTogSVJR
MiB1c2VkIGJ5IG92ZXJyaWRlLgo+IChYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4K
PiAoWEVOKSBFbmFibGluZyBBUElDIG1vZGU6ICBGbGF0LiAgVXNpbmcgMiBJL08gQVBJQ3MKPiAo
WEVOKSBBQ1BJOiBIUEVUIGlkOiAweDgzMDAgYmFzZTogMHhmZWQwMDAwMAo+IChYRU4pIFRhYmxl
IGlzIG5vdCBmb3VuZCEKPiAoWEVOKSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3Vy
YXRpb24gaW5mb3JtYXRpb24KPiAoWEVOKSBTTVA6IEFsbG93aW5nIDggQ1BVcyAoMiBob3RwbHVn
IENQVXMpCj4gKFhFTikgSVJRIGxpbWl0czogNTYgR1NJLCAxMTEyIE1TSS9NU0ktWAo+IChYRU4p
IFVzaW5nIHNjaGVkdWxlcjogU01QIENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkKPiAoWEVOKSBE
ZXRlY3RlZCAzMDEwLjI1NCBNSHogcHJvY2Vzc29yLgo+IChYRU4pIEluaXRpbmcgbWVtb3J5IHNo
YXJpbmcuCj4gKFhFTikgQU1EIEZhbTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVk
Cj4gKFhFTikgUENJOiBNQ0ZHIGNvbmZpZ3VyYXRpb24gMDogYmFzZSBlMDAwMDAwMCBzZWdtZW50
IDAwMDAgYnVzZXMgMDAgLSBmZgo+IChYRU4pIFBDSTogTm90IHVzaW5nIE1DRkcgZm9yIHNlZ21l
bnQgMDAwMCBidXMgMDAtZmYKPiAoWEVOKSBBTUQtVmk6IElPTU1VIDAgRW5hYmxlZC4KPiAoWEVO
KSBBTUQtVmk6IEVuYWJsaW5nIGdsb2JhbCB2ZWN0b3IgbWFwCj4gKFhFTikgSS9PIHZpcnR1YWxp
c2F0aW9uIGVuYWJsZWQKPiAoWEVOKSAgLSBEb20wIG1vZGU6IFJlbGF4ZWQKPiAoWEVOKSBFTkFC
TElORyBJTy1BUElDIElSUXMKPiAoWEVOKSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKPiAoWEVO
KSAuLlRJTUVSOiB2ZWN0b3I9MHhGMCBhcGljMT0wIHBpbjE9MiBhcGljMj0tMSBwaW4yPS0xCj4g
KFhFTikgUGxhdGZvcm0gdGltZXIgaXMgMTQuMzE4TUh6IEhQRVQKPiAoWEVOKSBBbGxvY2F0ZWQg
Y29uc29sZSByaW5nIG9mIDY0IEtpQi4KPiAoWEVOKSBIVk06IEFTSURzIGVuYWJsZWQuCj4gKFhF
TikgU1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVyZXM6Cj4gKFhFTikgIC0gTmVzdGVkIFBh
Z2UgVGFibGVzIChOUFQpCj4gKFhFTikgIC0gTGFzdCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1
YWxpc2F0aW9uCj4gKFhFTikgIC0gTmV4dC1SSVAgU2F2ZWQgb24gI1ZNRVhJVAo+IChYRU4pICAt
IFBhdXNlLUludGVyY2VwdCBGaWx0ZXIKPiAoWEVOKSBIVk06IFNWTSBlbmFibGVkCj4gKFhFTikg
SFZNOiBIYXJkd2FyZSBBc3Npc3RlZCBQYWdpbmcgKEhBUCkgZGV0ZWN0ZWQKPiAoWEVOKSBIVk06
IEhBUCBwYWdlIHNpemVzOiA0a0IsIDJNQiwgMUdCCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0
X2NwdV9pbmZvOiBwYXRjaF9pZD0weDEwMDAwYmYKPiAoWEVOKSBtaWNyb2NvZGU6IGNvbGxlY3Rf
Y3B1X2luZm86IHBhdGNoX2lkPTB4MTAwMDBiZgo+IChYRU4pIG1pY3JvY29kZTogY29sbGVjdF9j
cHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhFTikgbWljcm9jb2RlOiBjb2xsZWN0X2Nw
dV9pbmZvOiBwYXRjaF9pZD0weDEwMDAwYmYKPiAoWEVOKSBCcm91Z2h0IHVwIDYgQ1BVcwo+IChY
RU4pIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmCj4gKFhF
TikgSFBFVCdzIE1TSSBtb2RlIGhhc24ndCBiZWVuIHN1cHBvcnRlZCB3aGVuIEludGVycnVwdCBS
ZW1hcHBpbmcgaXMgZW5hYmxlZC4KPiAoWEVOKSBBQ1BJIHNsZWVwIG1vZGVzOiBTMwo+IChYRU4p
IE1DQTogVXNlIGh3IHRocmVzaG9sZGluZyB0byBhZGp1c3QgcG9sbGluZyBmcmVxdWVuY3kKPiAo
WEVOKSBtY2hlY2tfcG9sbDogTWFjaGluZSBjaGVjayBwb2xsaW5nIHRpbWVyIHN0YXJ0ZWQuCj4g
KFhFTikgWGVub3Byb2ZpbGU6IEZhaWxlZCB0byBzZXR1cCBJQlMgTFZUIG9mZnNldCwgSUJTQ1RM
ID0gMHhmZmZmZmZmZgo+IChYRU4pICoqKiBMT0FESU5HIERPTUFJTiAwICoqKgo+IChYRU4pIGVs
Zl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTAwMDAwMCBtZW1zej0weDVkMzAwMAo+IChY
RU4pIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MTVkMzAwMCBtZW1zej0weDZlMGU4
Cj4gKFhFTikgZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxNjQyMDAwIG1lbXN6PTB4
MTI5ODAKPiAoWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBwaGRyOiBwYWRkcj0weDE2NTUwMDAgbWVt
c3o9MHg0ZmYwMDAKPiAoWEVOKSBlbGZfcGFyc2VfYmluYXJ5OiBtZW1vcnk6IDB4MTAwMDAwMCAt
PiAweDFiNTQwMDAKPiAoWEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEdVRVNUX09TID0gImxpbnV4
Igo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogR1VFU1RfVkVSU0lPTiA9ICIyLjYiCj4gKFhF
TikgZWxmX3hlbl9wYXJzZV9ub3RlOiBYRU5fVkVSU0lPTiA9ICJ4ZW4tMy4wIgo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogVklSVF9CQVNFID0gMHhmZmZmZmZmZjgwMDAwMDAwCj4gKFhFTikg
ZWxmX3hlbl9wYXJzZV9ub3RlOiBFTlRSWSA9IDB4ZmZmZmZmZmY4MTY1NTIwMAo+IChYRU4pIGVs
Zl94ZW5fcGFyc2Vfbm90ZTogSFlQRVJDQUxMX1BBR0UgPSAweGZmZmZmZmZmODEwMDEwMDAKPiAo
WEVOKSBlbGZfeGVuX3BhcnNlX25vdGU6IEZFQVRVUkVTID0gIiF3cml0YWJsZV9wYWdlX3RhYmxl
c3xwYWVfcGdkaXJfYWJvdmVfNGdiIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFFX01P
REUgPSAieWVzIgo+IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogTE9BREVSID0gImdlbmVyaWMi
Cj4gKFhFTikgZWxmX3hlbl9wYXJzZV9ub3RlOiB1bmtub3duIHhlbiBlbGYgbm90ZSAoMHhkKQo+
IChYRU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogU1VTUEVORF9DQU5DRUwgPSAweDEKPiAoWEVOKSBl
bGZfeGVuX3BhcnNlX25vdGU6IEhWX1NUQVJUX0xPVyA9IDB4ZmZmZjgwMDAwMDAwMDAwMAo+IChY
RU4pIGVsZl94ZW5fcGFyc2Vfbm90ZTogUEFERFJfT0ZGU0VUID0gMHgwCj4gKFhFTikgZWxmX3hl
bl9hZGRyX2NhbGNfY2hlY2s6IGFkZHJlc3NlczoKPiAoWEVOKSAgICAgdmlydF9iYXNlICAgICAg
ICA9IDB4ZmZmZmZmZmY4MDAwMDAwMAo+IChYRU4pICAgICBlbGZfcGFkZHJfb2Zmc2V0ID0gMHgw
Cj4gKFhFTikgICAgIHZpcnRfb2Zmc2V0ICAgICAgPSAweGZmZmZmZmZmODAwMDAwMDAKPiAoWEVO
KSAgICAgdmlydF9rc3RhcnQgICAgICA9IDB4ZmZmZmZmZmY4MTAwMDAwMAo+IChYRU4pICAgICB2
aXJ0X2tlbmQgICAgICAgID0gMHhmZmZmZmZmZjgxYjU0MDAwCj4gKFhFTikgICAgIHZpcnRfZW50
cnkgICAgICAgPSAweGZmZmZmZmZmODE2NTUyMDAKPiAoWEVOKSAgICAgcDJtX2Jhc2UgICAgICAg
ICA9IDB4ZmZmZmZmZmZmZmZmZmZmZgo+IChYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2Is
IGNvbXBhdDMyCj4gKFhFTikgIERvbTAga2VybmVsOiA2NC1iaXQsIFBBRSwgbHNiLCBwYWRkciAw
eDEwMDAwMDAgLT4gMHgxYjU0MDAwCj4gKFhFTikgUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5U
Ogo+IChYRU4pICBEb20wIGFsbG9jLjogICAwMDAwMDAwMjI0MDAwMDAwLT4wMDAwMDAwMjI4MDAw
MDAwICg1MDYzMDggcGFnZXMgdG8gYmUgYWxsb2NhdGVkKQo+IChYRU4pICBJbml0LiByYW1kaXNr
OiAwMDAwMDAwMjJmOWM0MDAwLT4wMDAwMDAwMjJmZmZmMjAwCj4gKFhFTikgVklSVFVBTCBNRU1P
UlkgQVJSQU5HRU1FTlQ6Cj4gKFhFTikgIExvYWRlZCBrZXJuZWw6IGZmZmZmZmZmODEwMDAwMDAt
PmZmZmZmZmZmODFiNTQwMDAKPiAoWEVOKSAgSW5pdC4gcmFtZGlzazogZmZmZmZmZmY4MWI1NDAw
MC0+ZmZmZmZmZmY4MjE4ZjIwMAo+IChYRU4pICBQaHlzLU1hY2ggbWFwOiBmZmZmZmZmZjgyMTkw
MDAwLT5mZmZmZmZmZjgyNTkwMDAwCj4gKFhFTikgIFN0YXJ0IGluZm86ICAgIGZmZmZmZmZmODI1
OTAwMDAtPmZmZmZmZmZmODI1OTA0YjQKPiAoWEVOKSAgUGFnZSB0YWJsZXM6ICAgZmZmZmZmZmY4
MjU5MTAwMC0+ZmZmZmZmZmY4MjVhODAwMAo+IChYRU4pICBCb290IHN0YWNrOiAgICBmZmZmZmZm
ZjgyNWE4MDAwLT5mZmZmZmZmZjgyNWE5MDAwCj4gKFhFTikgIFRPVEFMOiAgICAgICAgIGZmZmZm
ZmZmODAwMDAwMDAtPmZmZmZmZmZmODI4MDAwMDAKPiAoWEVOKSAgRU5UUlkgQUREUkVTUzogZmZm
ZmZmZmY4MTY1NTIwMAo+IChYRU4pIERvbTAgaGFzIG1heGltdW0gNiBWQ1BVcwo+IChYRU4pIGVs
Zl9sb2FkX2JpbmFyeTogcGhkciAwIGF0IDB4ZmZmZmZmZmY4MTAwMDAwMCAtPiAweGZmZmZmZmZm
ODE1ZDMwMDAKPiAoWEVOKSBlbGZfbG9hZF9iaW5hcnk6IHBoZHIgMSBhdCAweGZmZmZmZmZmODE1
ZDMwMDAgLT4gMHhmZmZmZmZmZjgxNjQxMGU4Cj4gKFhFTikgZWxmX2xvYWRfYmluYXJ5OiBwaGRy
IDIgYXQgMHhmZmZmZmZmZjgxNjQyMDAwIC0+IDB4ZmZmZmZmZmY4MTY1NDk4MAo+IChYRU4pIGVs
Zl9sb2FkX2JpbmFyeTogcGhkciAzIGF0IDB4ZmZmZmZmZmY4MTY1NTAwMCAtPiAweGZmZmZmZmZm
ODE2Y2MwMDAKPiAoWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU06IC4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5kb25lLgo+IChYRU4pIElu
aXRpYWwgbG93IG1lbW9yeSB2aXJxIHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgo+IChY
RU4pIFN0ZC4gTG9nbGV2ZWw6IEFsbAo+IChYRU4pIEd1ZXN0IExvZ2xldmVsOiBBbGwKPiAoWEVO
KSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKFhFTikg
KioqKioqKiBXQVJOSU5HOiBDT05TT0xFIE9VVFBVVCBJUyBTWU5DSFJPTk9VUwo+IChYRU4pICoq
KioqKiogVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2luZyBvZiBYZW4gYnkg
ZW5zdXJpbmcKPiAoWEVOKSAqKioqKioqIHRoYXQgYWxsIG91dHB1dCBpcyBzeW5jaHJvbm91c2x5
IGRlbGl2ZXJlZCBvbiB0aGUgc2VyaWFsIGxpbmUuCj4gKFhFTikgKioqKioqKiBIb3dldmVyIGl0
IGNhbiBpbnRyb2R1Y2UgU0lHTklGSUNBTlQgbGF0ZW5jaWVzIGFuZCBhZmZlY3QKPiAoWEVOKSAq
KioqKioqIHRpbWVrZWVwaW5nLiBJdCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24g
dXNlIQo+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKPiAoWEVOKSAzLi4uIDIuLi4gMS4uLiAKPiAoWEVOKSAqKiogU2VyaWFsIGlucHV0IC0+IERP
TTAgKHR5cGUgJ0NUUkwtYScgdGhyZWUgdGltZXMgdG8gc3dpdGNoIGlucHV0IHRvIFhlbikKPiAo
WEVOKSBGcmVlZCAyNTZrQiBpbml0IG1lbW9yeS4KPiBtYXBwaW5nIGtlcm5lbCBpbnRvIHBoeXNp
Y2FsIG1lbW9yeQo+IFhlbjogc2V0dXAgSVNBIGlkZW50aXR5IG1hcHMKPiBhYm91dCB0byBnZXQg
c3RhcnRlZC4uLgo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGNwdXNldAo+IEluaXRpYWxp
emluZyBjZ3JvdXAgc3Vic3lzIGNwdQo+IExpbnV4IHZlcnNpb24gMy40LjAtcmM0LTAwMzk1LWc4
N2I1ZDkwLWRpcnR5IChyb290QHhlbikgKGdjYyB2ZXJzaW9uIDQuNC41IChEZWJpYW4gNC40LjUt
OCkgKSAjNyBTTVAgUFJFRU1QVCBNb24gTWF5IDcgMTM6MTY6MTAgQ0VTVCAyMDEyCj4gQ29tbWFu
ZCBsaW5lOiBwbGFjZWhvbGRlciByb290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09
MkcgcGFuaWM9MTUgeGVuLXBjaWJhY2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5
cHJpbnRrPXhlbgo+IEZyZWVpbmcgOWEtMTAwIHBmbiByYW5nZTogMTAyIHBhZ2VzIGZyZWVkCj4g
UmVsZWFzZWQgMTAyIHBhZ2VzIG9mIHVudXNlZCBtZW1vcnkKPiBTZXQgMTk3MDk0IHBhZ2Uocykg
dG8gMS0xIG1hcHBpbmcKPiBQb3B1bGF0aW5nIDgwMDAwLTgwMDY2IHBmbiByYW5nZTogMTAyIHBh
Z2VzIGFkZGVkCj4gQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgo+ICBYZW46IDAwMDAw
MDAwMDAwMDAwMDAgLSAwMDAwMDAwMDAwMDlhMDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDAw
MDA5YWMwMCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwMDAx
MDAwMDAgLSAwMDAwMDAwMDgwMDY2MDAwICh1c2FibGUpCj4gIFhlbjogMDAwMDAwMDA4MDA2NjAw
MCAtIDAwMDAwMDAwY2ZlODAwMDAgKHVudXNhYmxlKQo+ICBYZW46IDAwMDAwMDAwY2ZlODAwMDAg
LSAwMDAwMDAwMGNmZTk4MDAwIChBQ1BJIGRhdGEpCj4gIFhlbjogMDAwMDAwMDBjZmU5ODAwMCAt
IDAwMDAwMDAwY2ZlYzAwMDAgKEFDUEkgTlZTKQo+ICBYZW46IDAwMDAwMDAwY2ZlYzAwMDAgLSAw
MDAwMDAwMGNmZjAwMDAwIChyZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZlYzAwMDAwIC0gMDAw
MDAwMDBmZWMwMTAwMCAocmVzZXJ2ZWQpCj4gIFhlbjogMDAwMDAwMDBmZWMyMDAwMCAtIDAwMDAw
MDAwZmVjMjEwMDAgKHJlc2VydmVkKQo+ICBYZW46IDAwMDAwMDAwZmVlMDAwMDAgLSAwMDAwMDAw
MGZlZTAxMDAwIChyZXNlcnZlZCkKPiAgWGVuOiAwMDAwMDAwMGZmZTAwMDAwIC0gMDAwMDAwMDEw
MDAwMDAwMCAocmVzZXJ2ZWQpCj4gIFhlbjogMDAwMDAwMDEwMDAwMDAwMCAtIDAwMDAwMDAyMzAw
MDAwMDAgKHVudXNhYmxlKQo+IGJvb3Rjb25zb2xlIFt4ZW5ib290MF0gZW5hYmxlZAo+IE5YIChF
eGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFjdGl2ZQo+IHVzZXItZGVmaW5lZCBwaHlzaWNh
bCBSQU0gbWFwOgo+ICB1c2VyOiAwMDAwMDAwMDAwMDAwMDAwIC0gMDAwMDAwMDAwMDA5YTAwMCAo
dXNhYmxlKQo+ICB1c2VyOiAwMDAwMDAwMDAwMDlhYzAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVz
ZXJ2ZWQpCj4gIHVzZXI6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDgwMDAwMDAwICh1c2Fi
bGUpCj4gIHVzZXI6IDAwMDAwMDAwODAwNjYwMDAgLSAwMDAwMDAwMGNmZTgwMDAwICh1bnVzYWJs
ZSkKPiAgdXNlcjogMDAwMDAwMDBjZmU4MDAwMCAtIDAwMDAwMDAwY2ZlOTgwMDAgKEFDUEkgZGF0
YSkKPiAgdXNlcjogMDAwMDAwMDBjZmU5ODAwMCAtIDAwMDAwMDAwY2ZlYzAwMDAgKEFDUEkgTlZT
KQo+ICB1c2VyOiAwMDAwMDAwMGNmZWMwMDAwIC0gMDAwMDAwMDBjZmYwMDAwMCAocmVzZXJ2ZWQp
Cj4gIHVzZXI6IDAwMDAwMDAwZmVjMDAwMDAgLSAwMDAwMDAwMGZlYzAxMDAwIChyZXNlcnZlZCkK
PiAgdXNlcjogMDAwMDAwMDBmZWMyMDAwMCAtIDAwMDAwMDAwZmVjMjEwMDAgKHJlc2VydmVkKQo+
ICB1c2VyOiAwMDAwMDAwMGZlZTAwMDAwIC0gMDAwMDAwMDBmZWUwMTAwMCAocmVzZXJ2ZWQpCj4g
IHVzZXI6IDAwMDAwMDAwZmZlMDAwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkKPiAg
dXNlcjogMDAwMDAwMDEwMDAwMDAwMCAtIDAwMDAwMDAyMzAwMDAwMDAgKHVudXNhYmxlKQo+IERN
SSBwcmVzZW50Lgo+IE5vIEFHUCBicmlkZ2UgZm91bmQKPiBsYXN0X3BmbiA9IDB4ODAwMDAgbWF4
X2FyY2hfcGZuID0gMHg0MDAwMDAwMDAKPiBmb3VuZCBTTVAgTVAtdGFibGUgYXQgW2ZmZmY4ODAw
MDAwZmY3ODBdIGZmNzgwCj4gaW5pdF9tZW1vcnlfbWFwcGluZzogMDAwMDAwMDAwMDAwMDAwMC0w
MDAwMDAwMDgwMDAwMDAwCj4gUkFNRElTSzogMDFiNTQwMDAgLSAwMjE5MDAwMAo+IEFDUEk6IFJT
RFAgMDAwMDAwMDAwMDBmYmYyMCAwMDAyNCAodjAyIEFDUElBTSkKPiBBQ1BJOiBYU0RUIDAwMDAw
MDAwY2ZlODAxMDAgMDAwNUMgKHYwMSAxMDI4MTEgWFNEVDE3NDAgMjAxMTEwMjggTVNGVCAwMDAw
MDA5NykKPiBBQ1BJOiBGQUNQIDAwMDAwMDAwY2ZlODAyOTAgMDAwRjQgKHYwMyAxMDI4MTEgRkFD
UDE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBEU0RUIDAwMDAwMDAwY2ZlODA0
NzAgMEU2RTMgKHYwMSAgQTE1OTUgQTE1OTUwMDAgMDAwMDAwMDAgSU5UTCAyMDA2MDExMykKPiBB
Q1BJOiBGQUNTIDAwMDAwMDAwY2ZlOTgwMDAgMDAwNDAKPiBBQ1BJOiBBUElDIDAwMDAwMDAwY2Zl
ODAzOTAgMDAwOTggKHYwMSAxMDI4MTEgQVBJQzE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykK
PiBBQ1BJOiBNQ0ZHIDAwMDAwMDAwY2ZlODA0MzAgMDAwM0MgKHYwMSAxMDI4MTEgT0VNTUNGRyAg
MjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBPRU1CIDAwMDAwMDAwY2ZlOTgwNDAgMDAw
NzIgKHYwMSAxMDI4MTEgT0VNQjE3NDAgMjAxMTEwMjggTVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBI
UEVUIDAwMDAwMDAwY2ZlOGY4YzAgMDAwMzggKHYwMSAxMDI4MTEgT0VNSFBFVCAgMjAxMTEwMjgg
TVNGVCAwMDAwMDA5NykKPiBBQ1BJOiBJVlJTIDAwMDAwMDAwY2ZlOGY5MDAgMDAwRTAgKHYwMSAg
QU1EICAgICBSRDg5MFMgMDAyMDIwMzEgQU1EICAwMDAwMDAwMCkKPiBBQ1BJOiBTU0RUIDAwMDAw
MDAwY2ZlOGY5ZTAgMDBFMTAgKHYwMSBBIE0gSSAgUE9XRVJOT1cgMDAwMDAwMDEgQU1EICAwMDAw
MDAwMSkKPiBObyBOVU1BIGNvbmZpZ3VyYXRpb24gZm91bmQKPiBGYWtpbmcgYSBub2RlIGF0IDAw
MDAwMDAwMDAwMDAwMDAtMDAwMDAwMDA4MDAwMDAwMAo+IEluaXRtZW0gc2V0dXAgbm9kZSAwIDAw
MDAwMDAwMDAwMDAwMDAtMDAwMDAwMDA4MDAwMDAwMAo+ICAgTk9ERV9EQVRBIFswMDAwMDAwMDdm
ZmZjMDAwIC0gMDAwMDAwMDA3ZmZmZmZmZl0KPiBab25lIFBGTiByYW5nZXM6Cj4gICBETUEgICAg
ICAweDAwMDAwMDEwIC0+IDB4MDAwMDEwMDAKPiAgIERNQTMyICAgIDB4MDAwMDEwMDAgLT4gMHgw
MDEwMDAwMAo+ICAgTm9ybWFsICAgZW1wdHkKPiBNb3ZhYmxlIHpvbmUgc3RhcnQgUEZOIGZvciBl
YWNoIG5vZGUKPiBFYXJseSBtZW1vcnkgUEZOIHJhbmdlcwo+ICAgICAwOiAweDAwMDAwMDEwIC0+
IDB4MDAwMDAwOWEKPiAgICAgMDogMHgwMDAwMDEwMCAtPiAweDAwMDgwMDAwCj4gQUNQSTogUE0t
VGltZXIgSU8gUG9ydDogMHg4MDgKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19p
ZFsweDAwXSBlbmFibGVkKQo+IEJJT1MgYnVnOiBBUElDIHZlcnNpb24gaXMgMCBmb3IgQ1BVIDAv
MHgwLCBmaXhpbmcgdXAgdG8gMHgxMAo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDJdIGxhcGlj
X2lkWzB4MDFdIGVuYWJsZWQpCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwM10gbGFwaWNfaWRb
MHgwMl0gZW5hYmxlZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA0XSBsYXBpY19pZFsweDAz
XSBlbmFibGVkKQo+IEFDUEk6IExBUElDIChhY3BpX2lkWzB4MDVdIGxhcGljX2lkWzB4MDRdIGVu
YWJsZWQpCj4gQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNl0gbGFwaWNfaWRbMHgwNV0gZW5hYmxl
ZCkKPiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA3XSBsYXBpY19pZFsweDg2XSBkaXNhYmxlZCkK
PiBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA4XSBsYXBpY19pZFsweDg3XSBkaXNhYmxlZCkKPiBB
Q1BJOiBJT0FQSUMgKGlkWzB4MDZdIGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCj4g
SU9BUElDWzBdOiBhcGljX2lkIDYsIHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdT
SSAwLTI1Mwo+IEFDUEk6IElPQVBJQyAoaWRbMHgwN10gYWRkcmVzc1sweGZlYzIwMDAwXSBnc2lf
YmFzZVsyNF0pCj4gSU9BUElDWzFdOiBhcGljX2lkIDcsIHZlcnNpb24gMjUzLCBhZGRyZXNzIDB4
ZmVjMjAwMDAsIEdTSSAyNC0yNzcKPiBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAw
IGdsb2JhbF9pcnEgMiBkZmwgZGZsKQo+IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJx
IDkgZ2xvYmFsX2lycSA5IGxvdyBsZXZlbCkKPiBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNv
bmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KPiBBQ1BJOiBIUEVUIGlkOiAweDgzMDAgYmFzZTogMHhm
ZWQwMDAwMAo+IDggUHJvY2Vzc29ycyBleGNlZWRzIE5SX0NQVVMgbGltaXQgb2YgNgo+IFNNUDog
QWxsb3dpbmcgNiBDUFVzLCAwIGhvdHBsdWcgQ1BVcwo+IEFsbG9jYXRpbmcgUENJIHJlc291cmNl
cyBzdGFydGluZyBhdCBjZmYwMDAwMCAoZ2FwOiBjZmYwMDAwMDoyZWQwMDAwMCkKPiBCb290aW5n
IHBhcmF2aXJ0dWFsaXplZCBrZXJuZWwgb24gWGVuCj4gWGVuIHZlcnNpb246IDQuMi11bnN0YWJs
ZSAocHJlc2VydmUtQUQpCj4gc2V0dXBfcGVyY3B1OiBOUl9DUFVTOjYgbnJfY3B1bWFza19iaXRz
OjYgbnJfY3B1X2lkczo2IG5yX25vZGVfaWRzOjEKPiBQRVJDUFU6IEVtYmVkZGVkIDI2IHBhZ2Vz
L2NwdSBAZmZmZjg4MDA3ZmY0YzAwMCBzNzYxNjAgcjgxOTIgZDIyMTQ0IHUxMDY0OTYKPiBCdWls
dCAxIHpvbmVsaXN0cyBpbiBOb2RlIG9yZGVyLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFs
IHBhZ2VzOiA1MTU5NzYKPiBQb2xpY3kgem9uZTogRE1BMzIKPiBLZXJuZWwgY29tbWFuZCBsaW5l
OiBwbGFjZWhvbGRlciByb290PS9kZXYvbWFwcGVyL2xlbXJvdWNoLXhlbiBybyBtZW09MkcgcGFu
aWM9MTUgeGVuLXBjaWJhY2suaGlkZT0oMDA6MTQuMikgY29uc29sZT1odmMwIGVhcmx5cHJpbnRr
PXhlbgo+IFBJRCBoYXNoIHRhYmxlIGVudHJpZXM6IDQwOTYgKG9yZGVyOiAzLCAzMjc2OCBieXRl
cykKPiBQbGFjaW5nIDY0TUIgc29mdHdhcmUgSU8gVExCIGJldHdlZW4gZmZmZjg4MDA3OTYwMDAw
MCAtIGZmZmY4ODAwN2Q2MDAwMDAKPiBzb2Z0d2FyZSBJTyBUTEIgYXQgcGh5cyAweDc5NjAwMDAw
IC0gMHg3ZDYwMDAwMAo+IE1lbW9yeTogMTk3NTA2NGsvMjA5NzE1MmsgYXZhaWxhYmxlICg0NTY3
ayBrZXJuZWwgY29kZSwgNDcyayBhYnNlbnQsIDEyMTYxNmsgcmVzZXJ2ZWQsIDE4MzNrIGRhdGEs
IDUzMmsgaW5pdCkKPiBTTFVCOiBHZW5zbGFicz0xNSwgSFdhbGlnbj02NCwgT3JkZXI9MC0zLCBN
aW5PYmplY3RzPTAsIENQVXM9NiwgTm9kZXM9MQo+IFByZWVtcHRpYmxlIGhpZXJhcmNoaWNhbCBS
Q1UgaW1wbGVtZW50YXRpb24uCj4gCUR1bXAgc3RhY2tzIG9mIHRhc2tzIGJsb2NraW5nIFJDVS1w
cmVlbXB0IEdQLgo+IE5SX0lSUVM6NDM1MiBucl9pcnFzOjE1MzYgMTYKPiB4ZW46IHNjaSBvdmVy
cmlkZTogZ2xvYmFsX2lycT05IHRyaWdnZXI9MCBwb2xhcml0eT0xCj4geGVuOiBhY3BpIHNjaSA5
Cj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA5IGZvciBnc2kgOQo+IENvbnNvbGU6
IGNvbG91ciBWR0ErIDgweDI1Cj4gY29uc29sZSBbaHZjMF0gZW5hYmxlZCwgYm9vdGNvbnNvbGUg
ZGlzYWJsZWQKPiBjb25zb2xlIFtodmMwXSBlbmFibGVkLCBib290Y29uc29sZSBkaXNhYmxlZAo+
IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMAo+IERldGVjdGVkIDMwMTAuMjU0IE1IeiBw
cm9jZXNzb3IuCj4gQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1
bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNjAyMC41MCBCb2dvTUlQUyAobHBqPTMwMTAy
NTQpCj4gcGlkX21heDogZGVmYXVsdDogMzI3NjggbWluaW11bTogMzAxCj4gRGVudHJ5IGNhY2hl
IGhhc2ggdGFibGUgZW50cmllczogMjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKPiBJ
bm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYg
Ynl0ZXMpCj4gTW91bnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNTYKPiBJbml0aWFsaXpp
bmcgY2dyb3VwIHN1YnN5cyBkZXZpY2VzCj4gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgZnJl
ZXplcgo+IEluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGJsa2lvCj4gQ1BVOiBQaHlzaWNhbCBQ
cm9jZXNzb3IgSUQ6IDAKPiBDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAwCj4gbWNlOiBDUFUgc3Vw
cG9ydHMgNiBNQ0UgYmFua3MKPiBBQ1BJOiBDb3JlIHJldmlzaW9uIDIwMTIwMzIwCj4gY3B1IDAg
c3BpbmxvY2sgZXZlbnQgaXJxIDI5NQo+IFBlcmZvcm1hbmNlIEV2ZW50czogKFhFTikgdHJhcHMu
YzoyNTYxOmQwIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4
MDAwMGU0YTc1ZGY4NjUxNCB0byAweDAwMDAwMDAwMDAwMGFiY2QuCj4gQnJva2VuIFBNVSBoYXJk
d2FyZSBkZXRlY3RlZCwgdXNpbmcgc29mdHdhcmUgZXZlbnRzIG9ubHkuCj4gTUNFOiBJbi1rZXJu
ZWwgTUNFIGRlY29kaW5nIGVuYWJsZWQuCj4gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAx
Cj4gY3B1IDEgc3BpbmxvY2sgZXZlbnQgaXJxIDMwMgo+IGluc3RhbGxpbmcgWGVuIHRpbWVyIGZv
ciBDUFUgMgo+IGNwdSAyIHNwaW5sb2NrIGV2ZW50IGlycSAzMDkKPiBpbnN0YWxsaW5nIFhlbiB0
aW1lciBmb3IgQ1BVIDMKPiBjcHUgMyBzcGlubG9jayBldmVudCBpcnEgMzE2Cj4gaW5zdGFsbGlu
ZyBYZW4gdGltZXIgZm9yIENQVSA0Cj4gY3B1IDQgc3BpbmxvY2sgZXZlbnQgaXJxIDMyMwo+IGlu
c3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgNQo+IGNwdSA1IHNwaW5sb2NrIGV2ZW50IGlycSAz
MzAKPiBCcm91Z2h0IHVwIDYgQ1BVcwo+IGRldnRtcGZzOiBpbml0aWFsaXplZAo+IEdyYW50IHRh
YmxlcyB1c2luZyB2ZXJzaW9uIDIgbGF5b3V0Lgo+IEdyYW50IHRhYmxlIGluaXRpYWxpemVkCj4g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgo+IFRPTTogMDAwMDAwMDBkMDAwMDAw
MCBha2EgMzMyOE0KPiBUT00yOiAwMDAwMDAwMjMwMDAwMDAwIGFrYSA4OTYwTQo+IEFDUEk6IGJ1
cyB0eXBlIHBjaSByZWdpc3RlcmVkCj4gUENJOiBNTUNPTkZJRyBmb3IgZG9tYWluIDAwMDAgW2J1
cyAwMC1mZl0gYXQgW21lbSAweGUwMDAwMDAwLTB4ZWZmZmZmZmZdIChiYXNlIDB4ZTAwMDAwMDAp
Cj4gUENJOiBub3QgdXNpbmcgTU1DT05GSUcKPiBQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlw
ZSAxIGZvciBiYXNlIGFjY2Vzcwo+IFBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9y
IGV4dGVuZGVkIGFjY2Vzcwo+IGJpbzogY3JlYXRlIHNsYWIgPGJpby0wPiBhdCAwCj4gQUNQSTog
QWRkZWQgX09TSShNb2R1bGUgRGV2aWNlKQo+IEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIERl
dmljZSkKPiBBQ1BJOiBBZGRlZCBfT1NJKDMuMCBfU0NQIEV4dGVuc2lvbnMpCj4gQUNQSTogQWRk
ZWQgX09TSShQcm9jZXNzb3IgQWdncmVnYXRvciBEZXZpY2UpCj4gQUNQSTogRXhlY3V0ZWQgMyBi
bG9ja3Mgb2YgbW9kdWxlLWxldmVsIGV4ZWN1dGFibGUgQU1MIGNvZGUKPiBBQ1BJOiBJbnRlcnBy
ZXRlciBlbmFibGVkCj4gQUNQSTogKHN1cHBvcnRzIFMwIFM1KQo+IEFDUEk6IFVzaW5nIElPQVBJ
QyBmb3IgaW50ZXJydXB0IHJvdXRpbmcKPiBQQ0k6IE1NQ09ORklHIGZvciBkb21haW4gMDAwMCBb
YnVzIDAwLWZmXSBhdCBbbWVtIDB4ZTAwMDAwMDAtMHhlZmZmZmZmZl0gKGJhc2UgMHhlMDAwMDAw
MCkKPiBQQ0k6IE1NQ09ORklHIGF0IFttZW0gMHhlMDAwMDAwMC0weGVmZmZmZmZmXSByZXNlcnZl
ZCBpbiBBQ1BJIG1vdGhlcmJvYXJkIHJlc291cmNlcwo+IEFDUEk6IEVDOiBHUEUgPSAweGEsIEkv
TzogY29tbWFuZC9zdGF0dXMgPSAweDY2LCBkYXRhID0gMHg2Mgo+IFBDSTogVXNpbmcgaG9zdCBi
cmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2FyeSwgdXNlICJwY2k9bm9jcnMiIGFu
ZCByZXBvcnQgYSBidWcKPiBBQ1BJOiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4gMDAw
MCBbYnVzIDAwLWZmXSkKPiBwY2lfcm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cg
W2lvICAweDAwMDAtMHgwY2Y3XQo+IHBjaV9yb290IFBOUDBBMDM6MDA6IGhvc3QgYnJpZGdlIHdp
bmRvdyBbaW8gIDB4MGQwMC0weGZmZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlk
Z2Ugd2luZG93IFttZW0gMHgwMDBhMDAwMC0weDAwMGJmZmZmXQo+IHBjaV9yb290IFBOUDBBMDM6
MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbbWVtIDB4MDAwZDAwMDAtMHgwMDBkZmZmZl0KPiBwY2lf
cm9vdCBQTlAwQTAzOjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW21lbSAweGNmZjAwMDAwLTB4ZGZm
ZmZmZmZdCj4gcGNpX3Jvb3QgUE5QMEEwMzowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHhm
MDAwMDAwMC0weGZlYmZmZmZmXQo+IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDowMAo+IHBj
aV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW2lvICAweDAwMDAtMHgwY2Y3XQo+IHBj
aV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW2lvICAweDBkMDAtMHhmZmZmXQo+IHBj
aV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweDAwMGEwMDAwLTB4MDAwYmZm
ZmZdCj4gcGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4MDAwZDAwMDAt
MHgwMDBkZmZmZl0KPiBwY2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHhj
ZmYwMDAwMC0weGRmZmZmZmZmXQo+IHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2Ug
W21lbSAweGYwMDAwMDAwLTB4ZmViZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDIuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDA3LTA3XQo+IHBjaSAwMDAwOjA2OjAwLjA6IGRpc2FibGluZyBBU1BNIG9uIHBy
ZS0xLjEgUENJZSBkZXZpY2UuICBZb3UgY2FuIGVuYWJsZSBpdCB3aXRoICdwY2llX2FzcG09Zm9y
Y2UnCj4gcGNpIDAwMDA6MDA6MDQuMDogUENJIGJyaWRnZSB0byBbYnVzIDA2LTA2XQo+IHBjaSAw
MDAwOjAwOjA1LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNS0wNV0KPiBwY2kgMDAwMDowMDowNi4w
OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDQtMDRdCj4gcGNpIDAwMDA6MDA6MDcuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDAzLTAzXQo+IHBjaSAwMDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw
Mi0wMl0KPiBwY2kgMDAwMDowMDoxNC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdIChzdWJ0
cmFjdGl2ZSBkZWNvZGUpCj4gIHBjaTAwMDA6MDA6IFJlcXVlc3RpbmcgQUNQSSBfT1NDIGNvbnRy
b2wgKDB4MWQpCj4gIHBjaTAwMDA6MDA6IEFDUEkgX09TQyBjb250cm9sICgweDFjKSBncmFudGVk
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDowMC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMi4wCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDowNS4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNi4wCj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDowNy4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDow
ZC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMS4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDoxMi4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yCj4g
KFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMy4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDoxMy4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4wCj4gKFhFTikg
UENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxNC4zCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC40Cj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxNC41Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4w
Cj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDoxOC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4xCj4gKFhF
TikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAw
MDowMDoxOC4zCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC40Cj4gKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowNzowMC4wCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNzow
MC4xCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNjowMC4wCj4gKFhFTikgUENJIGFkZCBk
ZXZpY2UgMDAwMDowNjowMC4xCj4gcGNpIDAwMDA6MDY6MDAuMTogRmFpbGVkIHRvIGFkZCAtIHBh
c3N0aHJvdWdoIG9yIE1TSS9NU0ktWCBtaWdodCBmYWlsIQo+IChYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwMDA6MDU6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDQ6MDAuMAo+IChYRU4p
IFBDSSBhZGQgZGV2aWNlIDAwMDA6MDM6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDI6MDAuMAo+IChYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDI6MDAuMQo+IEFDUEk6IFBDSSBJ
bnRlcnJ1cHQgTGluayBbTE5LQV0gKElSUXMgKjQgNyAxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQQ0kg
SW50ZXJydXB0IExpbmsgW0xOS0JdIChJUlFzIDQgNyAqMTAgMTEgMTQgMTUpCj4gQUNQSTogUENJ
IEludGVycnVwdCBMaW5rIFtMTktDXSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6IFBD
SSBJbnRlcnJ1cHQgTGluayBbTE5LRF0gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJOiBQ
Q0kgSW50ZXJydXB0IExpbmsgW0xOS0VdIChJUlFzIDQgKjcgMTAgMTEgMTQgMTUpCj4gQUNQSTog
UENJIEludGVycnVwdCBMaW5rIFtMTktGXSAoSVJRcyA0IDcgMTAgKjExIDE0IDE1KQo+IEFDUEk6
IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LR10gKElSUXMgNCA3ICoxMCAxMSAxNCAxNSkKPiBBQ1BJ
OiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0hdIChJUlFzIDQgNyAxMCAxMSAxNCAxNSkgKjAsIGRp
c2FibGVkLgo+IHhlbi9iYWxsb29uOiBJbml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIuCj4geGVu
LWJhbGxvb246IEluaXRpYWxpc2luZyBiYWxsb29uIGRyaXZlci4KPiB2Z2FhcmI6IGRldmljZSBh
ZGRlZDogUENJOjAwMDA6MDc6MDAuMCxkZWNvZGVzPWlvK21lbSxvd25zPWlvK21lbSxsb2Nrcz1u
b25lCj4gdmdhYXJiOiBsb2FkZWQKPiB2Z2FhcmI6IGJyaWRnZSBjb250cm9sIHBvc3NpYmxlIDAw
MDA6MDc6MDAuMAo+IFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkCj4gdXNiY29yZTogcmVnaXN0
ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2Jmcwo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgaHViCj4gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRy
aXZlciB1c2IKPiBQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nCj4gU3dpdGNoaW5nIHRv
IGNsb2Nrc291cmNlIHhlbgo+IEZTLUNhY2hlOiBMb2FkZWQKPiBDYWNoZUZpbGVzOiBMb2FkZWQK
PiBwbnA6IFBuUCBBQ1BJIGluaXQKPiBBQ1BJOiBidXMgdHlwZSBwbnAgcmVnaXN0ZXJlZAo+IHN5
c3RlbSAwMDowMTogW21lbSAweGZlYzIwMDAwLTB4ZmVjMjAwZmZdIGNvdWxkIG5vdCBiZSByZXNl
cnZlZAo+IHN5c3RlbSAwMDowMjogW21lbSAweGY2MDAwMDAwLTB4ZjYwMDNmZmZdIGhhcyBiZWVu
IHJlc2VydmVkCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA4IGZvciBnc2kgOAo+
IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTMgZm9yIGdzaSAxMwo+IHN5c3RlbSAw
MDowODogW21lbSAweGZlYzAwMDAwLTB4ZmVjMDBmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+
IHN5c3RlbSAwMDowODogW21lbSAweGZlZTAwMDAwLTB4ZmVlMDBmZmZdIGhhcyBiZWVuIHJlc2Vy
dmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDRkMC0weDA0ZDFdIGhhcyBiZWVuIHJlc2VydmVk
Cj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDQwYl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0g
MDA6MDk6IFtpbyAgMHgwNGQ2XSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lv
ICAweDBjMDAtMHgwYzAxXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW2lvICAw
eDBjMTRdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1MC0weDBj
NTFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGM1Ml0gaGFzIGJl
ZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFtpbyAgMHgwYzZjXSBoYXMgYmVlbiByZXNlcnZl
ZAo+IHN5c3RlbSAwMDowOTogW2lvICAweDBjNmZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVt
IDAwOjA5OiBbaW8gIDB4MGNkMC0weDBjZDFdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAw
OjA5OiBbaW8gIDB4MGNkMi0weDBjZDNdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5
OiBbaW8gIDB4MGNkNC0weDBjZDVdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBb
aW8gIDB4MGNkNi0weDBjZDddIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8g
IDB4MGNkOC0weDBjZGZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4
MDgwMC0weDA4OWZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIw
MC0weDBiMWZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MGIyMC0w
eDBiM2ZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkwMC0weDA5
MGZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4MDkxMC0weDA5MWZd
IGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbaW8gIDB4ZmUwMC0weGZlZmVdIGhh
cyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4Y2ZmMDAwMDAtMHhjZmZmZmZm
Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MDk6IFttZW0gMHhmZmI4MDAwMC0weGZm
YmZmZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowOTogW21lbSAweGZlYzEwMDAw
LTB4ZmVjMTAwMWZdIGhhcyBiZWVuIHJlc2VydmVkCj4gc3lzdGVtIDAwOjA5OiBbbWVtIDB4ZmVk
ODAwMDAtMHhmZWQ4MGZmZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAg
MHgwMjMwLTB4MDIzZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgw
MjkwLTB4MDI5Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwZjQw
LTB4MGY0Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGE6IFtpbyAgMHgwYTMwLTB4
MGEzZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKPiBzeXN0ZW0gMDA6MGI6IFttZW0gMHhlMDAwMDAwMC0w
eGVmZmZmZmZmXSBoYXMgYmVlbiByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweDAwMDAw
MDAwLTB4MDAwOWZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21l
bSAweDAwMGMwMDAwLTB4MDAwY2ZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+IHN5c3RlbSAw
MDowYzogW21lbSAweDAwMGUwMDAwLTB4MDAwZmZmZmZdIGNvdWxkIG5vdCBiZSByZXNlcnZlZAo+
IHN5c3RlbSAwMDowYzogW21lbSAweDAwMTAwMDAwLTB4Y2ZlZmZmZmZdIGNvdWxkIG5vdCBiZSBy
ZXNlcnZlZAo+IHN5c3RlbSAwMDowYzogW21lbSAweGZlYzAwMDAwLTB4ZmZmZmZmZmZdIGNvdWxk
IG5vdCBiZSByZXNlcnZlZAo+IHBucDogUG5QIEFDUEk6IGZvdW5kIDEzIGRldmljZXMKPiBBQ1BJ
OiBBQ1BJIGJ1cyB0eXBlIHBucCB1bnJlZ2lzdGVyZWQKPiBwY2liYWNrIDAwMDA6MDA6MTQuMjog
c2VpemluZyBkZXZpY2UKPiBQTS1UaW1lciBmYWlsZWQgY29uc2lzdGVuY3kgY2hlY2sgICgweDB4
ZmZmZmZmKSAtIGFib3J0aW5nLgo+IHBjaSAwMDAwOjAwOjAyLjA6IFBDSSBicmlkZ2UgdG8gW2J1
cyAwNy0wN10KPiBwY2kgMDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGUwMDAt
MHhlZmZmXQo+IHBjaSAwMDAwOjAwOjAyLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU5MDAw
MDAtMHhmZTlmZmZmZl0KPiBwY2kgMDAwMDowMDowMi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAw
eGQwMDAwMDAwLTB4ZGZmZmZmZmYgNjRiaXQgcHJlZl0KPiBwY2kgMDAwMDowMDowNC4wOiBQQ0kg
YnJpZGdlIHRvIFtidXMgMDYtMDZdCj4gcGNpIDAwMDA6MDA6MDQuMDogICBicmlkZ2Ugd2luZG93
IFtpbyAgMHhkMDAwLTB4ZGZmZl0KPiBwY2kgMDAwMDowMDowNC4wOiAgIGJyaWRnZSB3aW5kb3cg
W21lbSAweGZlODAwMDAwLTB4ZmU4ZmZmZmZdCj4gcGNpIDAwMDA6MDA6MDUuMDogUENJIGJyaWRn
ZSB0byBbYnVzIDA1LTA1XQo+IHBjaSAwMDAwOjAwOjA1LjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8g
IDB4YzAwMC0weGNmZmZdCj4gcGNpIDAwMDA6MDA6MDUuMDogICBicmlkZ2Ugd2luZG93IFttZW0g
MHhmZTcwMDAwMC0weGZlN2ZmZmZmXQo+IHBjaSAwMDAwOjAwOjA2LjA6IFBDSSBicmlkZ2UgdG8g
W2J1cyAwNC0wNF0KPiBwY2kgMDAwMDowMDowNi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGIw
MDAtMHhiZmZmXQo+IHBjaSAwMDAwOjAwOjA2LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU2
MDAwMDAtMHhmZTZmZmZmZl0KPiBwY2kgMDAwMDowMDowNy4wOiBQQ0kgYnJpZGdlIHRvIFtidXMg
MDMtMDNdCj4gcGNpIDAwMDA6MDA6MDcuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZTUwMDAw
MC0weGZlNWZmZmZmXQo+IHBjaSAwMDAwOjAwOjBkLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMi0w
Ml0KPiBwY2kgMDAwMDowMDowZC4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGEwMDAtMHhhZmZm
XQo+IHBjaSAwMDAwOjAwOjBkLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmU0MDAwMDAtMHhm
ZTRmZmZmZl0KPiBwY2kgMDAwMDowMDoxNC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFdCj4g
eGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSA1MiBmb3IgZ3NpIDUyCj4gQWxyZWFkeSBz
ZXR1cCB0aGUgR1NJIDo1Mgo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgNTIgZm9y
IGdzaSA1Mgo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6NTIKPiB4ZW5fbWFwX3BpcnFfZ3NpOiBy
ZXR1cm5pbmcgaXJxIDUzIGZvciBnc2kgNTMKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjUzCj4g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAyCj4gSVAgcm91dGUgY2FjaGUgaGFzaCB0
YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDcsIDUyNDI4OCBieXRlcykKPiBUQ1AgZXN0YWJs
aXNoZWQgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVyOiAxMCwgNDE5NDMwNCBieXRl
cykKPiBUQ1AgYmluZCBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3
NiBieXRlcykKPiBUQ1A6IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDI2MjE0
NCBiaW5kIDY1NTM2KQo+IFRDUDogcmVubyByZWdpc3RlcmVkCj4gVURQIGhhc2ggdGFibGUgZW50
cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5dGVzKQo+IFVEUC1MaXRlIGhhc2ggdGFibGUg
ZW50cmllczogMTAyNCAob3JkZXI6IDMsIDMyNzY4IGJ5dGVzKQo+IE5FVDogUmVnaXN0ZXJlZCBw
cm90b2NvbCBmYW1pbHkgMQo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9y
IGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiBy
ZXR1cm5pbmcgaXJxIDE3IGZvciBnc2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4g
eGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFkeSBz
ZXR1cCB0aGUgR1NJIDoxOAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTggZm9y
IGdzaSAxOAo+IEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6MTgKPiB4ZW5fbWFwX3BpcnFfZ3NpOiBy
ZXR1cm5pbmcgaXJxIDE3IGZvciBnc2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4g
VW5wYWNraW5nIGluaXRyYW1mcy4uLgo+IEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogNjM4NGsgZnJl
ZWQKPiBtaWNyb2NvZGU6IENQVTA6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6
IENQVTE6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTI6IHBhdGNoX2xl
dmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQVTM6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYK
PiBtaWNyb2NvZGU6IENQVTQ6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IENQ
VTU6IHBhdGNoX2xldmVsPTB4MDEwMDAwYmYKPiBtaWNyb2NvZGU6IE1pY3JvY29kZSBVcGRhdGUg
RHJpdmVyOiB2Mi4wMCA8dGlncmFuQGFpdmF6aWFuLmZzbmV0LmNvLnVrPiwgUGV0ZXIgT3J1YmEK
PiBOVEZTIGRyaXZlciAyLjEuMzAgW0ZsYWdzOiBSL1ddLgo+IG1zZ21uaSBoYXMgYmVlbiBzZXQg
dG8gMzg3MAo+IEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAw
LjQgbG9hZGVkIChtYWpvciAyNTMpCj4gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZCAoZGVm
YXVsdCkKPiBwY2llcG9ydCAwMDAwOjAwOjAyLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0ll
IFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2gg
UENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDc6MDAuMTogU2lnbmFsaW5nIFBNRSB0aHJv
dWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaWVwb3J0IDAwMDA6MDA6MDQuMDogU2lnbmFsaW5n
IFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjA2OjAwLjA6IFNpZ25h
bGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowNjowMC4xOiBT
aWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDow
MDowNS4wOiBTaWduYWxpbmcgUE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAw
MDA6MDU6MDAuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBj
aWVwb3J0IDAwMDA6MDA6MDYuMDogU2lnbmFsaW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVy
cnVwdAo+IHBjaSAwMDAwOjA0OjAwLjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBp
bnRlcnJ1cHQKPiBwY2llcG9ydCAwMDAwOjAwOjA3LjA6IFNpZ25hbGluZyBQTUUgdGhyb3VnaCBQ
Q0llIFBNRSBpbnRlcnJ1cHQKPiBwY2kgMDAwMDowMzowMC4wOiBTaWduYWxpbmcgUE1FIHRocm91
Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpZXBvcnQgMDAwMDowMDowZC4wOiBTaWduYWxpbmcg
UE1FIHRocm91Z2ggUENJZSBQTUUgaW50ZXJydXB0Cj4gcGNpIDAwMDA6MDI6MDAuMDogU2lnbmFs
aW5nIFBNRSB0aHJvdWdoIFBDSWUgUE1FIGludGVycnVwdAo+IHBjaSAwMDAwOjAyOjAwLjE6IFNp
Z25hbGluZyBQTUUgdGhyb3VnaCBQQ0llIFBNRSBpbnRlcnJ1cHQKPiBwY2lfaG90cGx1ZzogUENJ
IEhvdCBQbHVnIFBDSSBDb3JlIHZlcnNpb246IDAuNQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMg
L2RldmljZXMvTE5YU1lTVE06MDAvZGV2aWNlOjAwL1BOUDBDMEM6MDAvaW5wdXQvaW5wdXQwCj4g
QUNQSTogUG93ZXIgQnV0dG9uIFtQV1JCXQo+IGlucHV0OiBQb3dlciBCdXR0b24gYXMgL2Rldmlj
ZXMvTE5YU1lTVE06MDAvTE5YUFdSQk46MDAvaW5wdXQvaW5wdXQxCj4gQUNQSTogUG93ZXIgQnV0
dG9uIFtQV1JGXQo+IEdIRVM6IEhFU1QgaXMgbm90IGVuYWJsZWQhCj4gRXZlbnQtY2hhbm5lbCBk
ZXZpY2UgaW5zdGFsbGVkLgo+IHhlbi1wY2liYWNrOiBiYWNrZW5kIGlzIHZwY2kKPiBTZXJpYWw6
IDgyNTAvMTY1NTAgZHJpdmVyLCA0IHBvcnRzLCBJUlEgc2hhcmluZyBkaXNhYmxlZAo+IDAwMDA6
MDI6MDAuMTogdHR5UzAgYXQgSS9PIDB4YTg4MCAoaXJxID0gNDEpIGlzIGEgU1QxNjY1MFYyCj4g
aHBldF9hY3BpX2FkZDogbm8gYWRkcmVzcyBvciBpcnFzIGluIF9DUlMKPiBOb24tdm9sYXRpbGUg
bWVtb3J5IGRyaXZlciB2MS4zCj4gSGFuZ2NoZWNrOiBzdGFydGluZyBoYW5nY2hlY2sgdGltZXIg
MC45LjEgKHRpY2sgaXMgMTgwIHNlY29uZHMsIG1hcmdpbiBpcyA2MCBzZWNvbmRzKS4KPiBIYW5n
Y2hlY2s6IFVzaW5nIGdldHJhd21vbm90b25pYygpLgo+IGxvb3A6IG1vZHVsZSBsb2FkZWQKPiBh
aGNpIDAwMDA6MDA6MTEuMDogQUhDSSAwMDAxLjAyMDAgMzIgc2xvdHMgNiBwb3J0cyA2IEdicHMg
MHgzZiBpbXBsIFNBVEEgbW9kZQo+IGFoY2kgMDAwMDowMDoxMS4wOiBmbGFnczogNjRiaXQgbmNx
IHNudGYgaWxjayBwbSBsZWQgY2xvIHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2kwIDogYWhjaQo+
IHNjc2kxIDogYWhjaQo+IHNjc2kyIDogYWhjaQo+IHNjc2kzIDogYWhjaQo+IHNjc2k0IDogYWhj
aQo+IHNjc2k1IDogYWhjaQo+IGF0YTI6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhm
ZTNmZTAwMCBwb3J0IDB4ZmUzZmUxMDAgaXJxIDE5Cj4gYXRhMzogU0FUQSBtYXggVURNQS8xMzMg
YWJhciBtMTAyNEAweGZlM2ZlMDAwIHBvcnQgMHhmZTNmZTE4MCBpcnEgMTkKPiBhdGE0OiBTQVRB
IG1heCBVRE1BLzEzMyBhYmFyIG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMjAwIGlycSAx
OQo+IGF0YTU6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmZTNmZTAwMCBwb3J0IDB4
ZmUzZmUyODAgaXJxIDE5Cj4gYXRhNjogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtMTAyNEAweGZl
M2ZlMDAwIHBvcnQgMHhmZTNmZTMwMCBpcnEgMTkKPiBhdGE3OiBTQVRBIG1heCBVRE1BLzEzMyBh
YmFyIG0xMDI0QDB4ZmUzZmUwMDAgcG9ydCAweGZlM2ZlMzgwIGlycSAxOQo+IGFoY2kgMDAwMDow
NjowMC4wOiBBSENJIDAwMDEuMDAwMCAzMiBzbG90cyAyIHBvcnRzIDMgR2JwcyAweDMgaW1wbCBT
QVRBIG1vZGUKPiBhaGNpIDAwMDA6MDY6MDAuMDogZmxhZ3M6IDY0Yml0IG5jcSBwbSBsZWQgY2xv
IHBtcCBwaW8gc2x1bSBwYXJ0IAo+IHNjc2k2IDogYWhjaQo+IHNjc2k3IDogYWhjaQo+IGF0YTg6
IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTgxOTJAMHhmZThmZTAwMCBwb3J0IDB4ZmU4ZmUxMDAg
aXJxIDQ0Cj4gYXRhOTogU0FUQSBtYXggVURNQS8xMzMgYWJhciBtODE5MkAweGZlOGZlMDAwIHBv
cnQgMHhmZThmZTE4MCBpcnEgNDQKPiB0dW46IFVuaXZlcnNhbCBUVU4vVEFQIGRldmljZSBkcml2
ZXIsIDEuNgo+IHR1bjogKEMpIDE5OTktMjAwNCBNYXggS3Jhc255YW5za3kgPG1heGtAcXVhbGNv
bW0uY29tPgo+IHNreTI6IGRyaXZlciB2ZXJzaW9uIDEuMzAKPiBza3kyIDAwMDA6MDQ6MDAuMDog
WXVrb24tMiBPcHRpbWEgY2hpcCByZXZpc2lvbiAxCj4gc2t5MiAwMDAwOjA0OjAwLjA6IGV0aDA6
IGFkZHIgMjA6Y2Y6MzA6NmQ6ODk6YTUKPiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIGNkY19uY20KPiBmaXJld2lyZV9vaGNpIDAwMDA6MDU6MDAuMDogYWRkZWQgT0hD
SSB2MS4xMCBkZXZpY2UgYXMgY2FyZCAwLCA0IElSICsgOCBJVCBjb250ZXh0cywgcXVpcmtzIDB4
MTEKPiBlaGNpX2hjZDogVVNCIDIuMCAnRW5oYW5jZWQnIEhvc3QgQ29udHJvbGxlciAoRUhDSSkg
RHJpdmVyCj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxNyBmb3IgZ3NpIDE3Cj4g
QWxyZWFkeSBzZXR1cCB0aGUgR1NJIDoxNwo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogRUhDSSBI
b3N0IENvbnRyb2xsZXIKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6IG5ldyBVU0IgYnVzIHJlZ2lz
dGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTIuMjogYXBw
bHlpbmcgQU1EIFNCNzAwL1NCODAwL0h1ZHNvbi0yLzMgRUhDSSBkdW1teSBxaCB3b3JrYXJvdW5k
Cj4gZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBkZWJ1ZyBwb3J0IDEKPiBlaGNpX2hjZCAwMDAwOjAw
OjEyLjI6IGlycSAxNywgaW8gbWVtIDB4ZmUzZmU0MDAKPiBlaGNpX2hjZCAwMDAwOjAwOjEyLjI6
IFVTQiAyLjAgc3RhcnRlZCwgRUhDSSAxLjAwCj4gdXNiIHVzYjE6IE5ldyBVU0IgZGV2aWNlIGZv
dW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMgo+IHVzYiB1c2IxOiBOZXcgVVNCIGRl
dmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2Ix
OiBQcm9kdWN0OiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2IxOiBNYW51ZmFjdHVyZXI6
IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBlaGNpX2hjZAo+IHVzYiB1c2Ix
OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTIuMgo+IGh1YiAxLTA6MS4wOiBVU0IgaHViIGZvdW5k
Cj4gaHViIDEtMDoxLjA6IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1
cm5pbmcgaXJxIDE3IGZvciBnc2kgMTcKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE3Cj4gZWhj
aV9oY2QgMDAwMDowMDoxMy4yOiBFSENJIEhvc3QgQ29udHJvbGxlcgo+IGVoY2lfaGNkIDAwMDA6
MDA6MTMuMjogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAyCj4g
ZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBhcHBseWluZyBBTUQgU0I3MDAvU0I4MDAvSHVkc29uLTIv
MyBFSENJIGR1bW15IHFoIHdvcmthcm91bmQKPiBlaGNpX2hjZCAwMDAwOjAwOjEzLjI6IGRlYnVn
IHBvcnQgMQo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogaXJxIDE3LCBpbyBtZW0gMHhmZTNmZTgw
MAo+IGVoY2lfaGNkIDAwMDA6MDA6MTMuMjogVVNCIDIuMCBzdGFydGVkLCBFSENJIDEuMDAKPiB1
c2IgdXNiMjogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0w
MDAyCj4gdXNiIHVzYjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIs
IFNlcmlhbE51bWJlcj0xCj4gdXNiIHVzYjI6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVy
Cj4gdXNiIHVzYjI6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkw
LWRpcnR5IGVoY2lfaGNkCj4gdXNiIHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMy4yCj4g
aHViIDItMDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgMi0wOjEuMDogNSBwb3J0cyBkZXRlY3Rl
ZAo+IHhlbl9tYXBfcGlycV9nc2k6IHJldHVybmluZyBpcnEgMTcgZm9yIGdzaSAxNwo+IEFscmVh
ZHkgc2V0dXAgdGhlIEdTSSA6MTcKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IEVIQ0kgSG9zdCBD
b250cm9sbGVyCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVk
LCBhc3NpZ25lZCBidXMgbnVtYmVyIDMKPiBlaGNpX2hjZCAwMDAwOjAwOjE2LjI6IGFwcGx5aW5n
IEFNRCBTQjcwMC9TQjgwMC9IdWRzb24tMi8zIEVIQ0kgZHVtbXkgcWggd29ya2Fyb3VuZAo+IGF0
YTU6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+IGF0YTQ6IFNBVEEg
bGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+IGVoY2lfaGNkIDAwMDA6MDA6MTYu
MjogZGVidWcgcG9ydCAxCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBpcnEgMTcsIGlvIG1lbSAw
eGZlM2ZlYzAwCj4gZWhjaV9oY2QgMDAwMDowMDoxNi4yOiBVU0IgMi4wIHN0YXJ0ZWQsIEVIQ0kg
MS4wMAo+IHVzYiB1c2IzOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MWQ2YiwgaWRQ
cm9kdWN0PTAwMDIKPiB1c2IgdXNiMzogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTMsIFBy
b2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKPiB1c2IgdXNiMzogUHJvZHVjdDogRUhDSSBIb3N0IENv
bnRyb2xsZXIKPiB1c2IgdXNiMzogTWFudWZhY3R1cmVyOiBMaW51eCAzLjQuMC1yYzQtMDAzOTUt
Zzg3YjVkOTAtZGlydHkgZWhjaV9oY2QKPiB1c2IgdXNiMzogU2VyaWFsTnVtYmVyOiAwMDAwOjAw
OjE2LjIKPiBhdGE4OiBTQVRBIGxpbmsgZG93biAoU1N0YXR1cyAwIFNDb250cm9sIDMwMCkKPiBo
dWIgMy0wOjEuMDogVVNCIGh1YiBmb3VuZAo+IGh1YiAzLTA6MS4wOiA0IHBvcnRzIGRldGVjdGVk
Cj4gYXRhMjogU0FUQSBsaW5rIHVwIDMuMCBHYnBzIChTU3RhdHVzIDEyMyBTQ29udHJvbCAzMDAp
Cj4gb2hjaV9oY2Q6IFVTQiAxLjEgJ09wZW4nIEhvc3QgQ29udHJvbGxlciAoT0hDSSkgRHJpdmVy
Cj4geGVuX21hcF9waXJxX2dzaTogcmV0dXJuaW5nIGlycSAxOCBmb3IgZ3NpIDE4Cj4gQWxyZWFk
eSBzZXR1cCB0aGUgR1NJIDoxOAo+IG9oY2lfaGNkIDAwMDA6MDA6MTIuMDogT0hDSSBIb3N0IENv
bnRyb2xsZXIKPiBvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQs
IGFzc2lnbmVkIGJ1cyBudW1iZXIgNAo+IG9oY2lfaGNkIDAwMDA6MDA6MTIuMDogaXJxIDE4LCBp
byBtZW0gMHhmZTNmNzAwMAo+IGF0YTk6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRy
b2wgMzAwKQo+IGF0YTc6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+
IGF0YTM6IFNBVEEgbGluayBkb3duIChTU3RhdHVzIDAgU0NvbnRyb2wgMzAwKQo+IGF0YTIuMDA6
IEFUQS04OiBJTlRFTCBTU0RTQTJDVzEyMEczLCA0UEMxMDM2MiwgbWF4IFVETUEvMTMzCj4gYXRh
Mi4wMDogMjM0NDQxNjQ4IHNlY3RvcnMsIG11bHRpIDE6IExCQTQ4IE5DUSAoZGVwdGggMzEvMzIp
Cj4gYXRhNjogU0FUQSBsaW5rIGRvd24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApCj4gdXNiIHVz
YjQ6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+
IHVzYiB1c2I0OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJp
YWxOdW1iZXI9MQo+IHVzYiB1c2I0OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVz
YiB1c2I0OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0
eSBvaGNpX2hjZAo+IHVzYiB1c2I0OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTIuMAo+IGh1YiA0
LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDQtMDoxLjA6IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4
ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE4IGZvciBnc2kgMTgKPiBBbHJlYWR5IHNl
dHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAwMDowMDoxMy4wOiBPSENJIEhvc3QgQ29udHJv
bGxlcgo+IG9oY2lfaGNkIDAwMDA6MDA6MTMuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNz
aWduZWQgYnVzIG51bWJlciA1Cj4gb2hjaV9oY2QgMDAwMDowMDoxMy4wOiBpcnEgMTgsIGlvIG1l
bSAweGZlM2ZjMDAwCj4gYXRhMi4wMDogY29uZmlndXJlZCBmb3IgVURNQS8xMzMKPiB1c2IgdXNi
NTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxCj4g
dXNiIHVzYjU6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlh
bE51bWJlcj0xCj4gdXNiIHVzYjU6IFByb2R1Y3Q6IE9IQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNi
IHVzYjU6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5
IG9oY2lfaGNkCj4gdXNiIHVzYjU6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMy4wCj4gc2NzaSAw
OjA6MDowOiBEaXJlY3QtQWNjZXNzICAgICBBVEEgICAgICBJTlRFTCBTU0RTQTJDVzEyIDRQQzEg
UFE6IDAgQU5TSTogNQo+IGh1YiA1LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDUtMDoxLjA6
IDUgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE4IGZv
ciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAwMDowMDox
NC41OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNkIDAwMDA6MDA6MTQuNTogbmV3IFVT
QiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA2Cj4gb2hjaV9oY2QgMDAwMDow
MDoxNC41OiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZkMDAwCj4gdXNiIDEtMTogbmV3IGhpZ2gtc3Bl
ZWQgVVNCIGRldmljZSBudW1iZXIgMiB1c2luZyBlaGNpX2hjZAo+IHNkIDA6MDowOjA6IFtzZGFd
IDIzNDQ0MTY0OCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDEyMCBHQi8xMTEgR2lCKQo+IHNk
IDA6MDowOjA6IFtzZGFdIFdyaXRlIFByb3RlY3QgaXMgb2ZmCj4gc2QgMDowOjA6MDogW3NkYV0g
V3JpdGUgY2FjaGU6IGVuYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQsIGRvZXNuJ3Qgc3VwcG9y
dCBEUE8gb3IgRlVBCj4gdXNiIHVzYjY6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0x
ZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBN
ZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVzYiB1c2I2OiBQcm9kdWN0OiBPSENJ
IEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I2OiBNYW51ZmFjdHVyZXI6IExpbnV4IDMuNC4wLXJj
NC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVzYiB1c2I2OiBTZXJpYWxOdW1iZXI6
IDAwMDA6MDA6MTQuNQo+IGh1YiA2LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDYtMDoxLjA6
IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDE4IGZv
ciBnc2kgMTgKPiBBbHJlYWR5IHNldHVwIHRoZSBHU0kgOjE4Cj4gb2hjaV9oY2QgMDAwMDowMDox
Ni4wOiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IG9oY2lfaGNkIDAwMDA6MDA6MTYuMDogbmV3IFVT
QiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA3Cj4gb2hjaV9oY2QgMDAwMDow
MDoxNi4wOiBpcnEgMTgsIGlvIG1lbSAweGZlM2ZmMDAwCj4gIHNkYTogc2RhMSBzZGEyCj4gc2Qg
MDowOjA6MDogW3NkYV0gQXR0YWNoZWQgU0NTSSBkaXNrCj4gdXNiIHVzYjc6IE5ldyBVU0IgZGV2
aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMQo+IHVzYiB1c2I3OiBOZXcg
VVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQo+IHVz
YiB1c2I3OiBQcm9kdWN0OiBPSENJIEhvc3QgQ29udHJvbGxlcgo+IHVzYiB1c2I3OiBNYW51ZmFj
dHVyZXI6IExpbnV4IDMuNC4wLXJjNC0wMDM5NS1nODdiNWQ5MC1kaXJ0eSBvaGNpX2hjZAo+IHVz
YiB1c2I3OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTYuMAo+IGZpcmV3aXJlX2NvcmUgMDAwMDow
NTowMC4wOiBjcmVhdGVkIGRldmljZSBmdzA6IEdVSUQgMDAxZThjMDAwMGRlOTEzNiwgUzQwMAo+
IGh1YiA3LTA6MS4wOiBVU0IgaHViIGZvdW5kCj4gaHViIDctMDoxLjA6IDQgcG9ydHMgZGV0ZWN0
ZWQKPiB4ZW5fbWFwX3BpcnFfZ3NpOiByZXR1cm5pbmcgaXJxIDUwIGZvciBnc2kgNTAKPiBBbHJl
YWR5IHNldHVwIHRoZSBHU0kgOjUwCj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiB4SENJIEhvc3Qg
Q29udHJvbGxlcgo+IHhoY2lfaGNkIDAwMDA6MDM6MDAuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJl
ZCwgYXNzaWduZWQgYnVzIG51bWJlciA4Cj4geGhjaV9oY2QgMDAwMDowMzowMC4wOiBpcnEgNTAs
IGlvIG1lbSAweGZlNWZlMDAwCj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVu
ZG9yPTA0MjQsIGlkUHJvZHVjdD0yNTA0Cj4gdXNiIDEtMTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5n
czogTWZyPTAsIFByb2R1Y3Q9MCwgU2VyaWFsTnVtYmVyPTAKPiB1c2IgdXNiODogTmV3IFVTQiBk
ZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAyCj4gdXNiIHVzYjg6IE5l
dyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xCj4g
dXNiIHVzYjg6IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4gaHViIDEtMToxLjA6IFVT
QiBodWIgZm91bmQKPiB1c2IgdXNiODogTWFudWZhY3R1cmVyOiBMaW51eCAzLjQuMC1yYzQtMDAz
OTUtZzg3YjVkOTAtZGlydHkgeGhjaV9oY2QKPiB1c2IgdXNiODogU2VyaWFsTnVtYmVyOiAwMDAw
OjAzOjAwLjAKPiBodWIgMS0xOjEuMDogNCBwb3J0cyBkZXRlY3RlZAo+IGh1YiA4LTA6MS4wOiBV
U0IgaHViIGZvdW5kCj4gaHViIDgtMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKPiB4aGNpX2hjZCAw
MDAwOjAzOjAwLjA6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4geGhjaV9oY2QgMDAwMDowMzowMC4w
OiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDkKPiB1c2IgdXNi
OTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAzCj4g
dXNiIHVzYjk6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlh
bE51bWJlcj0xCj4gdXNiIHVzYjk6IFByb2R1Y3Q6IHhIQ0kgSG9zdCBDb250cm9sbGVyCj4gdXNi
IHVzYjk6IE1hbnVmYWN0dXJlcjogTGludXggMy40LjAtcmM0LTAwMzk1LWc4N2I1ZDkwLWRpcnR5
IHhoY2lfaGNkCj4gdXNiIHVzYjk6IFNlcmlhbE51bWJlcjogMDAwMDowMzowMC4wCj4gaHViIDkt
MDoxLjA6IFVTQiBodWIgZm91bmQKPiBodWIgOS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAo+IHVz
YmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNibHAKPiB1c2Jjb3JlOiBy
ZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVhcwo+IEluaXRpYWxpemluZyBVU0IgTWFz
cyBTdG9yYWdlIGRyaXZlci4uLgo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgdXNiLXN0b3JhZ2UKPiBVU0IgTWFzcyBTdG9yYWdlIHN1cHBvcnQgcmVnaXN0ZXJlZC4K
PiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGxpYnVzdWFsCj4gdXNi
Y29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1bXNfZW5ldWI2MjUwCj4gaTgw
NDI6IFBOUDogTm8gUFMvMiBjb250cm9sbGVyIGZvdW5kLiBQcm9iaW5nIHBvcnRzIGRpcmVjdGx5
Lgo+IHNlcmlvOiBpODA0MiBLQkQgcG9ydCBhdCAweDYwLDB4NjQgaXJxIDEKPiBzZXJpbzogaTgw
NDIgQVVYIHBvcnQgYXQgMHg2MCwweDY0IGlycSAxMgo+IG1vdXNlZGV2OiBQUy8yIG1vdXNlIGRl
dmljZSBjb21tb24gZm9yIGFsbCBtaWNlCj4gaW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2RldmljZXMv
cGxhdGZvcm0vcGNzcGtyL2lucHV0L2lucHV0Mgo+IHJ0Y19jbW9zIDAwOjA0OiBSVEMgY2FuIHdh
a2UgZnJvbSBTNAo+IHJ0Y19jbW9zIDAwOjA0OiBydGMgY29yZTogcmVnaXN0ZXJlZCBydGNfY21v
cyBhcyBydGMwCj4gcnRjMDogYWxhcm1zIHVwIHRvIG9uZSBtb250aCwgeTNrLCAxMTQgYnl0ZXMg
bnZyYW0KPiBpMmMgL2RldiBlbnRyaWVzIGRyaXZlcgo+IEFDUEkgV2FybmluZzogMHgwMDAwMDAw
MDAwMDAwYjAwLTB4MDAwMDAwMDAwMDAwMGIwNyBTeXN0ZW1JTyBjb25mbGljdHMgd2l0aCBSZWdp
b24gXF9TQl8uUENJMC5TQlJHLkFTT0MuU01SRyAxICgyMDEyMDMyMC91dGFkZHJlc3MtMjUxKQo+
IEFDUEk6IElmIGFuIEFDUEkgZHJpdmVyIGlzIGF2YWlsYWJsZSBmb3IgdGhpcyBkZXZpY2UsIHlv
dSBzaG91bGQgdXNlIGl0IGluc3RlYWQgb2YgdGhlIG5hdGl2ZSBkcml2ZXIKPiBBVEswMTEwIEFU
SzAxMTA6MDA6IEVDIGVuYWJsZWQKPiBzcDUxMDBfdGNvOiBTUDUxMDAgVENPIFdhdGNoRG9nIFRp
bWVyIERyaXZlciB2MC4wMQo+IHNwNTEwMF90Y286IG1taW8gYWRkcmVzcyAweGI4ZmUwMCBhbHJl
YWR5IGluIHVzZQo+IGl0ODdfd2R0OiBDaGlwIElUODcyMSByZXZpc2lvbiAxIGluaXRpYWxpemVk
LiB0aW1lb3V0PTYwIHNlYyAobm93YXlvdXQ9MCB0ZXN0bW9kZT0wIGV4Y2x1c2l2ZT0xIG5vZ2Ft
ZXBvcnQ9MCkKPiB4ZW5fd2R0OiBYZW4gV2F0Y2hEb2cgVGltZXIgRHJpdmVyIHYwLjAxCj4geGVu
X3dkdDogY2Fubm90IHJlZ2lzdGVyIG1pc2NkZXYgb24gbWlub3I9MTMwICgtMTYpCj4gd2R0OiBw
cm9iZSBvZiB3ZHQgZmFpbGVkIHdpdGggZXJyb3IgLTE2Cj4gZGV2aWNlLW1hcHBlcjogdWV2ZW50
OiB2ZXJzaW9uIDEuMC4zCj4gZGV2aWNlLW1hcHBlcjogaW9jdGw6IDQuMjIuMC1pb2N0bCAoMjAx
MS0xMC0xOSkgaW5pdGlhbGlzZWQ6IGRtLWRldmVsQHJlZGhhdC5jb20KPiBFREFDIE1DOiBWZXI6
IDIuMS4wCj4gQU1ENjQgRURBQyBkcml2ZXIgdjMuNC4wCj4gRURBQyBhbWQ2NDogRFJBTSBFQ0Mg
ZGlzYWJsZWQuCj4gRURBQyBhbWQ2NDogRUNDIGRpc2FibGVkIGluIHRoZSBCSU9TIG9yIG5vIEVD
QyBjYXBhYmlsaXR5LCBtb2R1bGUgd2lsbCBub3QgbG9hZC4KPiAgRWl0aGVyIGVuYWJsZSBFQ0Mg
Y2hlY2tpbmcgb3IgZm9yY2UgbW9kdWxlIGxvYWRpbmcgYnkgc2V0dGluZyAnZWNjX2VuYWJsZV9v
dmVycmlkZScuCj4gIChOb3RlIHRoYXQgdXNlIG9mIHRoZSBvdmVycmlkZSBtYXkgY2F1c2UgdW5r
bm93biBzaWRlIGVmZmVjdHMuKQo+IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgdXNiaGlkCj4gdXNiaGlkOiBVU0IgSElEIGNvcmUgZHJpdmVyCj4gVENQOiBjdWJpYyBy
ZWdpc3RlcmVkCj4gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNwo+IHJ0Y19jbW9z
IDAwOjA0OiBzZXR0aW5nIHN5c3RlbSBjbG9jayB0byAyMDEyLTA1LTA3IDExOjE5OjEwIFVUQyAo
MTMzNjM4OTU1MCkKPiBwb3dlcm5vdy1rODogRm91bmQgMSBBTUQgUGhlbm9tKHRtKSBJSSBYNiAx
MDc1VCBQcm9jZXNzb3IgKDYgY3B1IGNvcmVzKSAodmVyc2lvbiAyLjIwLjAwKQo+IHBvd2Vybm93
LWs4OiBDb3JlIFBlcmZvcm1hbmNlIEJvb3N0aW5nOiBvbi4KPiBGcmVlaW5nIHVudXNlZCBrZXJu
ZWwgbWVtb3J5OiA1MzJrIGZyZWVkCj4gTG9hZGluZywgcGxlYXNlIHdhaXQuLi4KPiB1ZGV2WzEw
NzhdOiBzdGFydGluZyB2ZXJzaW9uIDE2NAo+IHVzYiA0LTI6IG5ldyBmdWxsLXNwZWVkIFVTQiBk
ZXZpY2UgbnVtYmVyIDIgdXNpbmcgb2hjaV9oY2QKPiB1c2IgNC0yOiBOZXcgVVNCIGRldmljZSBm
b3VuZCwgaWRWZW5kb3I9MDQxZSwgaWRQcm9kdWN0PTMwZGMKPiB1c2IgNC0yOiBOZXcgVVNCIGRl
dmljZSBzdHJpbmdzOiBNZnI9MSwgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9Mwo+IHVzYiA0LTI6
IFByb2R1Y3Q6IFNvdW5kIEJsYXN0ZXIgVGFjdGljKDNEKSBBbHBoYQo+IHVzYiA0LTI6IE1hbnVm
YWN0dXJlcjogQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQKPiB1c2IgNC0yOiBTZXJpYWxOdW1iZXI6
IDAwMDIzMTYyCj4gaW5wdXQ6IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkIFNvdW5kIEJsYXN0ZXIg
VGFjdGljKDNEKSBBbHBoYSBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMC91c2I0
LzQtMi80LTI6MS4zL2lucHV0L2lucHV0Mwo+IGdlbmVyaWMtdXNiIDAwMDM6MDQxRTozMERDLjAw
MDE6IGlucHV0LGhpZGRldjA6IFVTQiBISUQgdjEuMDAgRGV2aWNlIFtDcmVhdGl2ZSBUZWNobm9s
b2d5IEx0ZCBTb3VuZCBCbGFzdGVyIFRhY3RpYygzRCkgQWxwaGFdIG9uIHVzYi0wMDAwOjAwOjEy
LjAtMi9pbnB1dDMKPiB1c2IgMS0xLjE6IG5ldyBmdWxsLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVy
IDQgdXNpbmcgZWhjaV9oY2QKPiBCZWdpbjogTG9hZGluZyBlc3NlbnRpYWwgZHJpdmVycyAuLi4g
ZG9uZS4KPiBCZWdpbjogUnVubmluZyAvc2NyaXB0cy9pbml0LXByZW1vdW50IC4uLiBkb25lLgo+
IEJlZ2luOiBNb3VudGluZyByb290IGZpbGUgc3lzdGVtIC4uLiBCZWdpbjogUnVubmluZyAvc2Ny
aXB0cy9sb2NhbC10b3AgLi4uIHVzYiAxLTEuMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVu
ZG9yPTE1MzIsIGlkUHJvZHVjdD0wMDEzCj4gdXNiIDEtMS4xOiBOZXcgVVNCIGRldmljZSBzdHJp
bmdzOiBNZnI9MSwgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MAo+IHVzYiAxLTEuMTogUHJvZHVj
dDogUmF6ZXIgT3JvY2hpCj4gdXNiIDEtMS4xOiBNYW51ZmFjdHVyZXI6IFJhemVyCj4gaW5wdXQ6
IFJhemVyIFJhemVyIE9yb2NoaSBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91
c2IxLzEtMS8xLTEuMS8xLTEuMToxLjAvaW5wdXQvaW5wdXQ0Cj4gZ2VuZXJpYy11c2IgMDAwMzox
NTMyOjAwMTMuMDAwMjogaW5wdXQ6IFVTQiBISUQgdjEuMTEgTW91c2UgW1JhemVyIFJhemVyIE9y
b2NoaV0gb24gdXNiLTAwMDA6MDA6MTIuMi0xLjEvaW5wdXQwCj4gaW5wdXQ6IFJhemVyIFJhemVy
IE9yb2NoaSBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEu
MS8xLTEuMToxLjEvaW5wdXQvaW5wdXQ1Cj4gZ2VuZXJpYy11c2IgMDAwMzoxNTMyOjAwMTMuMDAw
MzogaW5wdXQ6IFVTQiBISUQgdjEuMTEgS2V5Ym9hcmQgW1JhemVyIFJhemVyIE9yb2NoaV0gb24g
dXNiLTAwMDA6MDA6MTIuMi0xLjEvaW5wdXQxCj4gZG9uZS4KPiBCZWdpbjogUnVubmluZyAvc2Ny
aXB0cy9sb2NhbC1wcmVtb3VudCAuLi4gZG9uZS4KPiB1c2IgMS0xLjI6IG5ldyBsb3ctc3BlZWQg
VVNCIGRldmljZSBudW1iZXIgNSB1c2luZyBlaGNpX2hjZAo+IEVYVDQtZnMgKGRtLTApOiBtb3Vu
dGVkIGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gT3B0czogKG51bGwpCj4gQmVn
aW46IFJ1bm5pbmcgL3NjcmlwdHMvbG9jYWwtYm90dG9tIC4uLiBkb25lLgo+IGRvbmUuCj4gQmVn
aW46IFJ1bm5pbmcgL3NjcmlwdHMvaW5pdC1ib3R0b20gLi4uIGRvbmUuCj4gdXNiIDEtMS4yOiBO
ZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MDRmMiwgaWRQcm9kdWN0PTA0MDMKPiB1c2Ig
MS0xLjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0xLCBQcm9kdWN0PTIsIFNlcmlhbE51
bWJlcj0wCj4gdXNiIDEtMS4yOiBQcm9kdWN0OiBVU0IgS2V5Ym9hcmQKPiB1c2IgMS0xLjI6IE1h
bnVmYWN0dXJlcjogQ2hpY29ueQo+IGlucHV0OiBDaGljb255IFVTQiBLZXlib2FyZCBhcyAvZGV2
aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2IxLzEtMS8xLTEuMi8xLTEuMjoxLjAvaW5w
dXQvaW5wdXQ2Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYyOjA0MDMuMDAwNDogaW5wdXQ6IFVTQiBI
SUQgdjEuMTEgS2V5Ym9hcmQgW0NoaWNvbnkgVVNCIEtleWJvYXJkXSBvbiB1c2ItMDAwMDowMDox
Mi4yLTEuMi9pbnB1dDAKPiBJTklUOiB2ZXJzaW9uIDIuODggYm9vdGluZwo+IGlucHV0OiBDaGlj
b255IFVTQiBLZXlib2FyZCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MTIuMi91c2Ix
LzEtMS8xLTEuMi8xLTEuMjoxLjEvaW5wdXQvaW5wdXQ3Cj4gZ2VuZXJpYy11c2IgMDAwMzowNEYy
OjA0MDMuMDAwNTogaW5wdXQsaGlkZGV2MDogVVNCIEhJRCB2MS4xMSBEZXZpY2UgW0NoaWNvbnkg
VVNCIEtleWJvYXJkXSBvbiB1c2ItMDAwMDowMDoxMi4yLTEuMi9pbnB1dDEKPiBVc2luZyBtYWtl
ZmlsZS1zdHlsZSBjb25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgUy5uZXQgZmlyZXdpcmUwOiBJ
Cj4gUHY0IG92ZXIgSUVFRSAxMzk0IG9uIGNhcmQgMDAwMDowNTowMC4wCj4gZmlyZXdpcmVfY29y
ZSAwMDAwOjA1OjAwLjA6IHJlZnJlc2hlZCBkZXZpY2UgZncwCj4gRmlsZXMgdW5kZXIgbW91bnQg
cG9pbnQgJy9saWIvaW5pdC9ydycgd2lsbCBiZSBoaWRkZW4uIC4uLiAod2FybmluZykuCj4gRmls
ZXMgdW5kZXIgbW91bnQgcG9pbnQgJy92YXIvcnVuJyB3aWxsIGJlIGhpZGRlbi4gLi4uICh3YXJu
aW5nKS4KPiBGaWxlcyB1bmRlciBtb3VudCBwb2ludCAnL3Zhci9sb2NrJyB3aWxsIGJlIGhpZGRl
bi4gLi4uICh3YXJuaW5nKS4KPiBTdGFydGluZyB0aGUgaG90cGx1ZyBldmVudHMgZGlzcGF0Y2hl
cjogdWRldmR1ZGV2WzEzMDJdOiBzdGFydGluZyB2ZXJzaW9uIDE2NAo+IC4KPiBTeW50aGVzaXpp
bmcgdGhlIGluaXRpYWwgaG90cGx1ZyBldmVudHMuLi5kb25lLgo+IFdhaXRpbmcgZm9yIC9kZXYg
dG8gYmUgZnVsbHkgcG9wdWxhdGVkLi4uZG9uZS4KPiBTZXR0aW5nIGhvc3RuYW1lIHRvICd4ZW4n
Li4uZG9uZS4KPiBTZXR0aW5nIHByZWxpbWluYXJ5IGtleW1hcC4uLmRvbmUuCj4gQWN0aXZhdGlu
ZyBzd2FwOi4KPiBFWFQ0LWZzIChkbS0wKTogcmUtbW91bnRlZC4gT3B0czogKG51bGwpCj4gV2ls
bCBub3cgY2hlY2sgcm9vdCBmaWxlIHN5c3RlbTpmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3
LjIKPiBbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgLUMwIC9kZXYvbWFw
cGVyL2xlbXJvdWNoLXhlbiAKPiAvZGV2L21hcHBlci9sZW1yb3VjaC14ZW46IGNsZWFuLCAxNzY2
MTcvMTMxMDcyMCBmaWxlcywgMTI4MDU2Mi81MjQyODgwIGJsb2Nrcwo+IC4KPiBFWFQ0LWZzIChk
bS0wKTogcmUtbW91bnRlZC4gT3B0czogZXJyb3JzPXJlbW91bnQtcm8KPiBMb2FkaW5nIGtlcm5l
bCBtb2R1bGUgZmlyZXdpcmUtc2JwMi4KPiBMb2FkaW5nIGtlcm5lbCBtb2R1bGUgbG9vcC4KPiBD
bGVhbmluZyB1cCBpZnVwZG93bi4uLi4KPiBTZXR0aW5nIHVwIG5ldHdvcmtpbmcuLi4uCj4gU2V0
dGluZyB1cCBMVk0gVm9sdW1lIEdyb3VwcyAgUmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcy4g
IFRoaXMgbWF5IHRha2UgYSB3aGlsZS4uLgo+ICAgRm91bmQgdm9sdW1lIGdyb3VwICJsZW1yb3Vj
aCIgdXNpbmcgbWV0YWRhdGEgdHlwZSBsdm0yCj4gICA0IGxvZ2ljYWwgdm9sdW1lKHMpIGluIHZv
bHVtZSBncm91cCAibGVtcm91Y2giIG5vdyBhY3RpdmUKPiAuCj4gV2lsbCBub3cgYWN0aXZhdGUg
bHZtIGFuZCBtZCBzd2FwOmRvbmUuCj4gV2lsbCBub3cgY2hlY2sgYWxsIGZpbGUgc3lzdGVtcy4K
PiBmc2NrIGZyb20gdXRpbC1saW51eC1uZyAyLjE3LjIKPiBDaGVja2luZyBhbGwgZmlsZSBzeXN0
ZW1zLgo+IERvbmUgY2hlY2tpbmcgZmlsZSBzeXN0ZW1zLiBBIGxvZyBpcyBiZWluZyBzYXZlZCBp
biAvdmFyL2xvZy9mc2NrL2NoZWNrZnMgaWYgdGhhdCBsb2NhdGlvbiBpcyB3cml0YWJsZS4uCj4g
V2lsbCBub3cgbW91bnQgbG9jYWwgZmlsZXN5c3RlbXM6RVhUNC1mcyAoc2RhMSk6IHdhcm5pbmc6
IG1vdW50aW5nIHVuY2hlY2tlZCBmcywgcnVubmluZyBlMmZzY2sgaXMgcmVjb21tZW5kZWQKPiBF
WFQ0LWZzIChzZGExKTogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUu
IE9wdHM6IChudWxsKQo+IC4KPiBXaWxsIG5vdyBhY3RpdmF0ZSBzd2FwZmlsZSBzd2FwOmRvbmUu
Cj4gQ2xlYW5pbmcgdXAgdGVtcG9yYXJ5IGZpbGVzLi4uQ2xlYW5pbmcgL3RtcC4uLmRvbmUuCj4g
Lgo+IENoZWNraW5nIG1pbmltdW0gc3BhY2UgaW4gL3RtcC4uLmRvbmUuCj4gU2V0dGluZyBrZXJu
ZWwgdmFyaWFibGVzIC4uLiAvZXRjL3N5c2N0bC5jb25mLi4uZG9uZS4KPiBJbml0aWFsaXppbmcg
cmFuZG9tIG51bWJlciBnZW5lcmF0b3IuLi5kb25lLgo+IFNldHRpbmcgdXAgWCBzZXJ2ZXIgc29j
a2V0IGRpcmVjdG9yeSAvdG1wLy5YMTEtdW5peC4uLi4KPiBTZXR0aW5nIHVwIElDRSBzb2NrZXQg
ZGlyZWN0b3J5IC90bXAvLklDRS11bml4Li4uLgo+IENvbmZpZ3VyaW5nIG5ldHdvcmsgaW50ZXJm
YWNlcy4uLmRldmljZSBldGgwIGVudGVyZWQgcHJvbWlzY3VvdXMgbW9kZQo+IHNreTIgMDAwMDow
NDowMC4wOiBldGgwOiBlbmFibGluZyBpbnRlcmZhY2UKPiBkb25lLgo+IENsZWFuaW5nIHVwIHRl
bXBvcmFyeSBmaWxlcy4uLi4KPiBTdGFydGluZyBmaWxlc3lzdGVtIGluIHVzZXJzcGFjZTogZnVz
ZS4KPiBTZXR0aW5nIGNvbnNvbGUgc2NyZWVuIG1vZGVzLgo+IGNhbm5vdCAodW4pc2V0IHBvd2Vy
c2F2ZSBtb2RlCj4gU2tpcHBpbmcgZm9udCBhbmQga2V5bWFwIHNldHVwIChoYW5kbGVkIGJ5IGNv
bnNvbGUtc2V0dXApLgo+IFNldHRpbmcgdXAgY29uc29sZSBmb250IGFuZCBrZXltYXAuLi5kb25l
Lgo+IFNldHRpbmcgc2Vuc29ycyBsaW1pdHMuCj4gSU5JVDogRW50ZXJpbmcgcnVubGV2ZWw6IDMK
PiBVc2luZyBtYWtlZmlsZS1zdHlsZSBjb25jdXJyZW50IGJvb3QgaW4gcnVubGV2ZWwgMy4KPiBO
b3Qgc3RhcnRpbmcgZmFuY29udHJvbDsgcnVuIHB3bWNvbmZpZyBmaXJzdC4gLi4uICh3YXJuaW5n
KS4KPiBhY3BpZDogc3RhcnRpbmcgdXAgd2l0aCBuZXRsaW5rIGFuZCB0aGUgaW5wdXQgbGF5ZXIK
PiAKPiBhY3BpZDogMSBydWxlIGxvYWRlZAo+IAo+IGFjcGlkOiB3YWl0aW5nIGZvciBldmVudHM6
IGV2ZW50IGxvZ2dpbmcgaXMgb2ZmCj4gCj4gU3RhcnRpbmcgQUNQSSBzZXJ2aWNlcy4uLi4KPiBT
dGFydGluZyBzeXN0ZW0gbWVzc2FnZSBidXM6IGRidXMuCj4gc3NoZCAoMjA4NCk6IC9wcm9jLzIw
ODQvb29tX2FkaiBpcyBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIC9wcm9jLzIwODQvb29tX3Njb3Jl
X2FkaiBpbnN0ZWFkLgo+IFN0YXJ0aW5nIHRoZSBXaW5iaW5kIGRhZW1vbjogd2luYmluZC4KPiBT
dGFydGluZyBPcGVuQlNEIFNlY3VyZSBTaGVsbCBzZXJ2ZXI6IHNzaGQuCj4gU3RhcnRpbmcgZG9t
YWluIG5hbWUgc2VydmljZS4uLjogYmluZDkuCj4gU3RhcnRpbmcgb3hlbnN0b3JlZC4uLgo+IFNl
dHRpbmcgZG9tYWluIDAgbmFtZS4uLgo+IFN0YXJ0aW5nIHhlbmNvbnNvbGVkLi4uCj4gU3RhcnRp
bmcgU2FtYmEgZGFlbW9uczogbm1iZCBzbWJkLgo+IFN0YXJ0aW5nIHBlcmlvZGljIGNvbW1hbmQg
c2NoZWR1bGVyOiBjcm9uLgo+IFN0YXJ0aW5nIFBvc3RmaXggTWFpbCBUcmFuc3BvcnQgQWdlbnQ6
IHBvc3RmaXguCj4gQkxLVEFQQ1RSTFsyMjUzXTogYmxrdGFwY3RybC5jOjc5MjogYmxrdGFwY3Ry
bDogdjEuMC4wCj4gCj4gQkxLVEFQQ1RSTFsyMjUzXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQg
ZHJpdmVyOiBbcmF3IGltYWdlIChhaW8pXQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0
cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3JhdyBpbWFnZSAoc3luYyldCj4gCj4gQkxLVEFQQ1RS
TFsyMjUzXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBbdm13YXJlIGltYWdlICh2
bWRrKV0KPiAKPiBCTEtUQVBDVFJMWzIyNTNdOiBibGt0YXBjdHJsLmM6Nzk0OiBGb3VuZCBkcml2
ZXI6IFtyYW1kaXNrIGltYWdlIChyYW0pXQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0
cmwuYzo3OTQ6IEZvdW5kIGRyaXZlcjogW3Fjb3cgZGlzayAocWNvdyldCj4gCj4gQkxLVEFQQ1RS
TFsyMjUzXTogYmxrdGFwY3RybC5jOjc5NDogRm91bmQgZHJpdmVyOiBbcWNvdzIgZGlzayAocWNv
dzIpXQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0cmxfbGludXguYzo4NjogYmxrdGFw
MCBvcGVuIGZhaWxlZAo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3RhcGN0cmwuYzo4NjE6IGNv
dWxkbid0IG9wZW4gYmxrdGFwIGludGVyZmFjZQo+IAo+IEJMS1RBUENUUkxbMjI1M106IGJsa3Rh
cGN0cmwuYzo5MjQ6IFVuYWJsZSB0byBzdGFydCBibGt0YXBjdHJsCj4gCj4gc2t5MiAwMDAwOjA0
OjAwLjA6IGV0aDA6IExpbmsgaXMgdXAgYXQgMTAwIE1icHMsIGZ1bGwgZHVwbGV4LCBmbG93IGNv
bnRyb2wgYm90aAo+IGJyMDogcG9ydCAxKGV0aDApIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+
IGJyMDogcG9ydCAxKGV0aDApIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQo+IFN0YXJ0aW5nIFMu
TS5BLlIuVC4gZGFlbW9uOiBzbWFydGQuCj4gYnIwOiBwb3J0IDEoZXRoMCkgZW50ZXJlZCBmb3J3
YXJkaW5nIHN0YXRlCj4gUnVubmluZyBsb2NhbCBib290IHNjcmlwdHMgKC9ldGMvcmMubG9jYWwp
KFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxMi4yCj4gYWNwaWQ6IGlucHV0IGRldmlj
ZSBoYXMgYmVlbiBkaXNjb25uZWN0ZWQKPiAKPiBhY3BpZDogaW5wdXQgZGV2aWNlIGhhcyBiZWVu
IGRpc2Nvbm5lY3RlZAo+IAo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4gZGlzY29ubmVj
dGVkCj4gCj4gKFhFTikgUENJIHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJ
IHJlbW92ZSBkZXZpY2UgMDAwMDowMDoxNi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxMi4yCj4gKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMy4yCj4gKFhFTikgUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxNi4yCj4gLgo+IGFjcGlkOiBpbnB1dCBkZXZpY2UgaGFzIGJlZW4g
ZGlzY29ubmVjdGVkCj4gCj4gYWNwaWQ6IGlucHV0IGRldmljZSBoYXMgYmVlbiBkaXNjb25uZWN0
ZWQKPiAKPiAoWEVOKSBpb3BvcnRfbWFwOmFkZDogZG9tMSBncG9ydD0zYjAgbXBvcnQ9M2IwIG5y
PWMKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49YTAgbWZuPWEwIG5yPTIwCj4gKFhF
TikgaW9wb3J0X21hcDphZGQ6IGRvbTEgZ3BvcnQ9M2MwIG1wb3J0PTNjMCBucj0zCj4gKFhFTikg
aW9wb3J0X21hcDphZGQ6IGRvbTEgZ3BvcnQ9M2M0IG1wb3J0PTNjNCBucj0xYwo+IChYRU4pIEhW
TTE6IEhWTSBMb2FkZXIKPiAoWEVOKSBIVk0xOiBEZXRlY3RlZCBYZW4gdjQuMi11bnN0YWJsZQo+
IChYRU4pIEhWTTE6IFhlbmJ1cyByaW5ncyBAMHhmZWZmYzAwMCwgZXZlbnQgY2hhbm5lbCA4Cj4g
KFhFTikgSFZNMTogU3lzdGVtIHJlcXVlc3RlZCBST01CSU9TCj4gKFhFTikgSFZNMTogQ1BVIHNw
ZWVkIGlzIDMwMTAgTUh6Cj4gKFhFTikgaXJxLmM6MjcwOiBEb20xIFBDSSBsaW5rIDAgY2hhbmdl
ZCAwIC0+IDUKPiAoWEVOKSBIVk0xOiBQQ0ktSVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJRNQo+IChY
RU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAxIGNoYW5nZWQgMCAtPiAxMAo+IChYRU4pIEhW
TTE6IFBDSS1JU0EgbGluayAxIHJvdXRlZCB0byBJUlExMAo+IChYRU4pIGlycS5jOjI3MDogRG9t
MSBQQ0kgbGluayAyIGNoYW5nZWQgMCAtPiAxMQo+IChYRU4pIEhWTTE6IFBDSS1JU0EgbGluayAy
IHJvdXRlZCB0byBJUlExMQo+IChYRU4pIGlycS5jOjI3MDogRG9tMSBQQ0kgbGluayAzIGNoYW5n
ZWQgMCAtPiA1Cj4gKFhFTikgSFZNMTogUENJLUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUKPiAo
WEVOKSBIVk0xOiBwY2kgZGV2IDAxOjMgSU5UQS0+SVJRMTAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2
IDAzOjAgSU5UQS0+SVJRNQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBJTlRBLT5JUlE1Cj4g
KFhFTikgSFZNMTogcGNpIGRldiAwNTowIElOVEEtPklSUTEwCj4gKFhFTikgSFZNMTogcGNpIGRl
diAwNjowIElOVEItPklSUTUKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA3OjAgSU5UQS0+SVJRNQo+
IChYRU4pIEhWTTE6IHBjaSBkZXYgMDg6MCBJTlRCLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBk
ZXYgMDk6MCBJTlRBLT5JUlExMAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMTAgc2l6
ZSAxMDAwMDAwMDogZTAwMDAwMGMKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZTAw
MDAgbWZuPWQwMDAwIG5yPTEwMDAwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxNCBz
aXplIDAxMDAwMDAwOiBmMDAwMDAwOAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDQ6MCBiYXIgMTAg
c2l6ZSAwMDAyMDAwMDogZjEwMDAwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49
ZjEwMjAgbWZuPWZlOWUwIG5yPTIwCj4gKFhFTikgSFZNMTogcGNpIGRldiAwNTowIGJhciAxOCBz
aXplIDAwMDIwMDAwOiBmMTAyMDAwNAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMzAg
c2l6ZSAwMDAyMDAwMDogZjEwNDAwMDAKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA2OjAgYmFyIDEw
IHNpemUgMDAwMDQwMDA6IGYxMDYwMDA0Cj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2Zu
PWYxMDYwIG1mbj1mZTliYyBucj00Cj4gKFhFTikgSFZNMTogcGNpIGRldiAwOTowIGJhciAxMCBz
aXplIDAwMDA0MDAwOiBmMTA2NDAwNAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1m
MTA2NCBtZm49ZmUzZjggbnI9NAo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDc6MCBiYXIgMTAgc2l6
ZSAwMDAwMTAwMDogZjEwNjgwMDAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDogZG9tMSBnZm49ZjEw
NjggbWZuPWZlM2Y3IG5yPTEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUg
MDAwMDEwMDA6IGYxMDY5MDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEgZ2ZuPWYxMDY5
IG1mbj1mMDAwMCBucj0xCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMzowIGJhciAxMCBzaXplIDAw
MDAwMTAwOiAwMDAwYzAwMQo+IChYRU4pIEhWTTE6IHBjaSBkZXYgMDU6MCBiYXIgMjAgc2l6ZSAw
MDAwMDEwMDogMDAwMGMxMDEKPiAoWEVOKSBIVk0xOiBwY2kgZGV2IDA0OjAgYmFyIDE0IHNpemUg
MDAwMDAwNDA6IDAwMDBjMjAxCj4gKFhFTikgSFZNMTogcGNpIGRldiAwMToxIGJhciAyMCBzaXpl
IDAwMDAwMDEwOiAwMDAwYzI0MQo+IChYRU4pIEhWTTE6IE11bHRpcHJvY2Vzc29yIGluaXRpYWxp
c2F0aW9uOgo+IChYRU4pIEhWTTE6ICAtIENQVTAgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBN
VFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTEg
Li4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBk
b25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTIgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJS
cyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTMgLi4u
IDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25l
Lgo+IChYRU4pIEhWTTE6ICAtIENQVTQgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAu
Li4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+IChYRU4pIEhWTTE6ICAtIENQVTUgLi4uIDQ4
LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFszLzhdIC4uLiBkb25lLgo+
IChYRU4pIEhWTTE6IFRlc3RpbmcgSFZNIGVudmlyb25tZW50Ogo+IChYRU4pIEhWTTE6ICAtIFJF
UCBJTlNCIGFjcm9zcyBwYWdlIGJvdW5kYXJpZXMgLi4uIHBhc3NlZAo+IChYRU4pIEhWTTE6ICAt
IEdTIGJhc2UgTVNScyBhbmQgU1dBUEdTIC4uLiBwYXNzZWQKPiAoWEVOKSBIVk0xOiBQYXNzZWQg
MiBvZiAyIHRlc3RzCj4gKFhFTikgSFZNMTogV3JpdGluZyBTTUJJT1MgdGFibGVzIC4uLgo+IChY
RU4pIEhWTTE6IExvYWRpbmcgUk9NQklPUyAuLi4KPiAoWEVOKSBIVk0xOiA5NjYwIGJ5dGVzIG9m
IFJPTUJJT1MgaGlnaC1tZW1vcnkgZXh0ZW5zaW9uczoKPiAoWEVOKSBIVk0xOiAgIFJlbG9jYXRp
bmcgdG8gMHhmYzAwMTAwMC0weGZjMDAzNWJjIC4uLiBkb25lCj4gKFhFTikgSFZNMTogQ3JlYXRp
bmcgTVAgdGFibGVzIC4uLgo+IChYRU4pIEhWTTE6IExvYWRpbmcgVkdBQklPUyBvZiBwYXNzdGhy
b3VnaGVkIGdmeCAuLi4KPiAoWEVOKSBIVk0xOiBMb2FkaW5nIFBDSSBPcHRpb24gUk9NIC4uLgo+
IChYRU4pIEhWTTE6ICAtIE1hbnVmYWN0dXJlcjogaHR0cDovL2lweGUub3JnCj4gKFhFTikgSFZN
MTogIC0gUHJvZHVjdCBuYW1lOiBpUFhFCj4gKFhFTikgSFZNMTogT3B0aW9uIFJPTXM6Cj4gKFhF
TikgSFZNMTogIGMwMDAwLWNmZmZmOiBWR0EgQklPUwo+IChYRU4pIEhWTTE6ICBkMDAwMC1lMGZm
ZjogRXRoZXJib290IFJPTQo+IChYRU4pIEhWTTE6IExvYWRpbmcgQUNQSSAuLi4KPiAoWEVOKSBI
Vk0xOiB2bTg2IFRTUyBhdCBmYzAwZjcwMAo+IChYRU4pIEhWTTE6IEJJT1MgbWFwOgo+IChYRU4p
IEhWTTE6ICBmMDAwMC1mZmZmZjogTWFpbiBCSU9TCj4gKFhFTikgSFZNMTogRTgyMCB0YWJsZToK
PiAoWEVOKSBIVk0xOiAgWzAwXTogMDAwMDAwMDA6MDAwMDAwMDAgLSAwMDAwMDAwMDowMDA5ZTAw
MDogUkFNCj4gKFhFTikgSFZNMTogIFswMV06IDAwMDAwMDAwOjAwMDllMDAwIC0gMDAwMDAwMDA6
MDAwYTAwMDA6IFJFU0VSVkVECj4gKFhFTikgSFZNMTogIEhPTEU6IDAwMDAwMDAwOjAwMGEwMDAw
IC0gMDAwMDAwMDA6MDAwZTAwMDAKPiAoWEVOKSBIVk0xOiAgWzAyXTogMDAwMDAwMDA6MDAwZTAw
MDAgLSAwMDAwMDAwMDowMDEwMDAwMDogUkVTRVJWRUQKPiAoWEVOKSBIVk0xOiAgWzAzXTogMDAw
MDAwMDA6MDAxMDAwMDAgLSAwMDAwMDAwMDplMDAwMDAwMDogUkFNCj4gKFhFTikgSFZNMTogIEhP
TEU6IDAwMDAwMDAwOmUwMDAwMDAwIC0gMDAwMDAwMDA6ZmMwMDAwMDAKPiAoWEVOKSBIVk0xOiAg
WzA0XTogMDAwMDAwMDA6ZmMwMDAwMDAgLSAwMDAwMDAwMTowMDAwMDAwMDogUkVTRVJWRUQKPiAo
WEVOKSBIVk0xOiAgWzA1XTogMDAwMDAwMDE6MDAwMDAwMDAgLSAwMDAwMDAwMToyMDAwMDAwMDog
UkFNCj4gKFhFTikgSFZNMTogSW52b2tpbmcgUk9NQklPUyAuLi4KPiAoWEVOKSBIVk0xOiAkUmV2
aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIvMDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6
IEJvY2hzIEJJT1MgLSBidWlsZDogMDYvMjMvOTkKPiAoWEVOKSBIVk0xOiAkUmV2aXNpb246IDEu
MjIxICQgJERhdGU6IDIwMDgvMTIvMDcgMTc6MzI6MjkgJAo+IChYRU4pIEhWTTE6IE9wdGlvbnM6
IGFwbWJpb3MgcGNpYmlvcyBlbHRvcml0byBQTU0gCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZN
MTogYXRhMC0wOiBQQ0hTPTE2MzgzLzE2LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTEwMjQvMjU1
LzYzCj4gKFhFTikgSFZNMTogYXRhMCBtYXN0ZXI6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1E
aXNrICgyMDQ4MCBNQnl0ZXMpCj4gKFhFTikgSFZNMTogYXRhMC0xOiBQQ0hTPTE2MzgzLzE2LzYz
IHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTEwMjQvMjU1LzYzCj4gKFhFTikgSFZNMTogYXRhMCAgc2xh
dmU6IFFFTVUgSEFSRERJU0sgQVRBLTcgSGFyZC1EaXNrICg1MTIwMCBNQnl0ZXMpCj4gKFhFTikg
SFZNMTogCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogUHJlc3Mg
RjEyIGZvciBib290IG1lbnUuCj4gKFhFTikgSFZNMTogCj4gKFhFTikgSFZNMTogQm9vdGluZyBm
cm9tIEhhcmQgRGlzay4uLgo+IChYRU4pIEhWTTE6IEJvb3RpbmcgZnJvbSAwMDAwOjdjMDAKPiAo
WEVOKSBpcnEuYzoyNzA6IERvbTEgUENJIGxpbmsgMCBjaGFuZ2VkIDUgLT4gMAo+IChYRU4pIGly
cS5jOjI3MDogRG9tMSBQQ0kgbGluayAxIGNoYW5nZWQgMTAgLT4gMAo+IChYRU4pIGlycS5jOjI3
MDogRG9tMSBQQ0kgbGluayAyIGNoYW5nZWQgMTEgLT4gMAo+IChYRU4pIGlycS5jOjI3MDogRG9t
MSBQQ0kgbGluayAzIGNoYW5nZWQgNSAtPiAwCj4gKFhFTikgbWVtb3J5X21hcDpyZW1vdmU6IGRv
bTEgZ2ZuPWUwMDAwIG1mbj1kMDAwMCBucj0xMDAwMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3Zl
OiBkb20xIGdmbj1mMTAyMCBtZm49ZmU5ZTAgbnI9MjAKPiAoWEVOKSBtZW1vcnlfbWFwOmFkZDog
ZG9tMSBnZm49ZTAwMDAgbWZuPWQwMDAwIG5yPTEwMDAwCj4gKFhFTikgbWVtb3J5X21hcDphZGQ6
IGRvbTEgZ2ZuPWYxMDIwIG1mbj1mZTllMCBucj0yMAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3Zl
OiBkb20xIGdmbj1mMTA2MCBtZm49ZmU5YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBk
b20xIGdmbj1mMTA2MCBtZm49ZmU5YmMgbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBk
b20xIGdmbj1mMTA2OCBtZm49ZmUzZjcgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20x
IGdmbj1mMTA2OCBtZm49ZmUzZjcgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20x
IGdmbj1mMTA2OSBtZm49ZjAwMDAgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdm
bj1mMTA2OSBtZm49ZjAwMDAgbnI9MQo+IChYRU4pIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xIGdm
bj1mMTA2NCBtZm49ZmUzZjggbnI9NAo+IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xIGdmbj1m
MTA2NCBtZm49ZmUzZjggbnI9NAo+IChYRU4pIGdyYW50X3RhYmxlLmM6MTE3NDpkMSBFeHBhbmRp
bmcgZG9tICgxKSBncmFudCB0YWJsZSBmcm9tICg0KSB0byAoMzIpIGZyYW1lcy4KPiAoWEVOKSBp
cnEuYzozNTA6IERvbTEgY2FsbGJhY2sgdmlhIGNoYW5nZWQgdG8gR1NJIDI4Cj4gKFhFTikgRG9t
YWluIDAgY3Jhc2hlZDogcmVib290aW5nIG1hY2hpbmUgaW4gNSBzZWNvbmRzLgoKPiBfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWls
aW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+IGh0dHA6Ly9saXN0cy54ZW4ub3Jn
L3hlbi1kZXZlbAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 07 17:39:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:39:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRtx-00052G-LP; Mon, 07 May 2012 17:39:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRRtw-00051x-Kf
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:39:12 +0000
Received: from [85.158.139.83:61286] by server-5.bemta-5.messagelabs.com id
	75/F3-13566-FB808AF4; Mon, 07 May 2012 17:39:11 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336412349!24433203!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16561 invoked from network); 7 May 2012 17:39:10 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 17:39:10 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47HcuOE005606
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 17:38:57 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47HctbB018864
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 17:38:56 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47HctbQ028331; Mon, 7 May 2012 12:38:55 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 10:38:55 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E4B2B4031D; Mon,  7 May 2012 13:33:06 -0400 (EDT)
Date: Mon, 7 May 2012 13:33:06 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Message-ID: <20120507173306.GC17704@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120426170426.GI26830@phenom.dumpdata.com>
	<20120506152341.GX2058@reaktio.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120506152341.GX2058@reaktio.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, 2012 at 06:23:41PM +0300, Pasi K=E4rkk=E4inen wrote:
> On Thu, Apr 26, 2012 at 01:04:26PM -0400, Konrad Rzeszutek Wilk wrote:
> > > >>
> > > >> This I would take as C3 and C6 really not being used and the frequ=
ency scaling
> > > > =

> > > > To go in deeper modes there is also a need to backport a Xen unstab=
le
> > > > hypercall which will allow the kernel to detect the other states be=
sides
> > > > C0-C2.
> > > > =

> > > > "XEN_SET_PDC query was implemented in c/s 23783:
> > > >     "ACPI: add _PDC input override mechanism".
> > > >     =

> > > =

> > > I see. There is a kernel patch about enabling MWAIT that refers to th=
at...
> > =

> > Yeah, I should see about back-porting it in Xen 4.1..
> > =

> =

> Should this patch be backported and merged to xen-4.1-testing.hg for Xen =
4.1.3 release ? =


It is a new feature so no. Which does mean that the MWAIT states won't be u=
ploaded
to the hypervisor. But the legacy ones (so the ones that are in the ACPI _C=
ST)
are still uploaded. And TurboMode kicks in without the MWAIT states.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:39:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:39:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRtx-00052G-LP; Mon, 07 May 2012 17:39:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRRtw-00051x-Kf
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:39:12 +0000
Received: from [85.158.139.83:61286] by server-5.bemta-5.messagelabs.com id
	75/F3-13566-FB808AF4; Mon, 07 May 2012 17:39:11 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336412349!24433203!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16561 invoked from network); 7 May 2012 17:39:10 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 17:39:10 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47HcuOE005606
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 17:38:57 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47HctbB018864
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 17:38:56 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47HctbQ028331; Mon, 7 May 2012 12:38:55 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 10:38:55 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E4B2B4031D; Mon,  7 May 2012 13:33:06 -0400 (EDT)
Date: Mon, 7 May 2012 13:33:06 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Message-ID: <20120507173306.GC17704@phenom.dumpdata.com>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120426170426.GI26830@phenom.dumpdata.com>
	<20120506152341.GX2058@reaktio.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120506152341.GX2058@reaktio.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 06, 2012 at 06:23:41PM +0300, Pasi K=E4rkk=E4inen wrote:
> On Thu, Apr 26, 2012 at 01:04:26PM -0400, Konrad Rzeszutek Wilk wrote:
> > > >>
> > > >> This I would take as C3 and C6 really not being used and the frequ=
ency scaling
> > > > =

> > > > To go in deeper modes there is also a need to backport a Xen unstab=
le
> > > > hypercall which will allow the kernel to detect the other states be=
sides
> > > > C0-C2.
> > > > =

> > > > "XEN_SET_PDC query was implemented in c/s 23783:
> > > >     "ACPI: add _PDC input override mechanism".
> > > >     =

> > > =

> > > I see. There is a kernel patch about enabling MWAIT that refers to th=
at...
> > =

> > Yeah, I should see about back-porting it in Xen 4.1..
> > =

> =

> Should this patch be backported and merged to xen-4.1-testing.hg for Xen =
4.1.3 release ? =


It is a new feature so no. Which does mean that the MWAIT states won't be u=
ploaded
to the hypervisor. But the legacy ones (so the ones that are in the ACPI _C=
ST)
are still uploaded. And TurboMode kicks in without the MWAIT states.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:44:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:44:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRz2-0005M4-EU; Mon, 07 May 2012 17:44:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SRRz1-0005Ly-1O
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:44:27 +0000
Received: from [85.158.143.35:61472] by server-1.bemta-4.messagelabs.com id
	D3/75-20925-AF908AF4; Mon, 07 May 2012 17:44:26 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336412665!11202388!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzgyMTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25266 invoked from network); 7 May 2012 17:44:25 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 17:44:25 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 02B7828B2;
	Mon,  7 May 2012 20:44:23 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id A7BB4EC027; Mon,  7 May 2012 20:44:23 +0300 (EEST)
Date: Mon, 7 May 2012 20:44:23 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120507174423.GY2058@reaktio.net>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120426170426.GI26830@phenom.dumpdata.com>
	<20120506152341.GX2058@reaktio.net>
	<20120507173306.GC17704@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120507173306.GC17704@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 01:33:06PM -0400, Konrad Rzeszutek Wilk wrote:
> On Sun, May 06, 2012 at 06:23:41PM +0300, Pasi K=E4rkk=E4inen wrote:
> > On Thu, Apr 26, 2012 at 01:04:26PM -0400, Konrad Rzeszutek Wilk wrote:
> > > > >>
> > > > >> This I would take as C3 and C6 really not being used and the fre=
quency scaling
> > > > > =

> > > > > To go in deeper modes there is also a need to backport a Xen unst=
able
> > > > > hypercall which will allow the kernel to detect the other states =
besides
> > > > > C0-C2.
> > > > > =

> > > > > "XEN_SET_PDC query was implemented in c/s 23783:
> > > > >     "ACPI: add _PDC input override mechanism".
> > > > >     =

> > > > =

> > > > I see. There is a kernel patch about enabling MWAIT that refers to =
that...
> > > =

> > > Yeah, I should see about back-porting it in Xen 4.1..
> > > =

> > =

> > Should this patch be backported and merged to xen-4.1-testing.hg for Xe=
n 4.1.3 release ? =

> =

> It is a new feature so no. Which does mean that the MWAIT states won't be=
 uploaded
> to the hypervisor. But the legacy ones (so the ones that are in the ACPI =
_CST)
> are still uploaded. And TurboMode kicks in without the MWAIT states.
> =


Ah, thanks for clearing that up.

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 17:44:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 17:44:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRRz2-0005M4-EU; Mon, 07 May 2012 17:44:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SRRz1-0005Ly-1O
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:44:27 +0000
Received: from [85.158.143.35:61472] by server-1.bemta-4.messagelabs.com id
	D3/75-20925-AF908AF4; Mon, 07 May 2012 17:44:26 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336412665!11202388!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzgyMTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25266 invoked from network); 7 May 2012 17:44:25 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 17:44:25 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 02B7828B2;
	Mon,  7 May 2012 20:44:23 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id A7BB4EC027; Mon,  7 May 2012 20:44:23 +0300 (EEST)
Date: Mon, 7 May 2012 20:44:23 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120507174423.GY2058@reaktio.net>
References: <4F97F58A.8090409@canonical.com>
	<20120426155033.GE26830@phenom.dumpdata.com>
	<4F9976F8.8040502@canonical.com>
	<20120426170426.GI26830@phenom.dumpdata.com>
	<20120506152341.GX2058@reaktio.net>
	<20120507173306.GC17704@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120507173306.GC17704@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefan Bader <stefan.bader@canonical.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor
 driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 01:33:06PM -0400, Konrad Rzeszutek Wilk wrote:
> On Sun, May 06, 2012 at 06:23:41PM +0300, Pasi K=E4rkk=E4inen wrote:
> > On Thu, Apr 26, 2012 at 01:04:26PM -0400, Konrad Rzeszutek Wilk wrote:
> > > > >>
> > > > >> This I would take as C3 and C6 really not being used and the fre=
quency scaling
> > > > > =

> > > > > To go in deeper modes there is also a need to backport a Xen unst=
able
> > > > > hypercall which will allow the kernel to detect the other states =
besides
> > > > > C0-C2.
> > > > > =

> > > > > "XEN_SET_PDC query was implemented in c/s 23783:
> > > > >     "ACPI: add _PDC input override mechanism".
> > > > >     =

> > > > =

> > > > I see. There is a kernel patch about enabling MWAIT that refers to =
that...
> > > =

> > > Yeah, I should see about back-porting it in Xen 4.1..
> > > =

> > =

> > Should this patch be backported and merged to xen-4.1-testing.hg for Xe=
n 4.1.3 release ? =

> =

> It is a new feature so no. Which does mean that the MWAIT states won't be=
 uploaded
> to the hypervisor. But the legacy ones (so the ones that are in the ACPI =
_CST)
> are still uploaded. And TurboMode kicks in without the MWAIT states.
> =


Ah, thanks for clearing that up.

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 18:29:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 18:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRSgW-0006Lp-RA; Mon, 07 May 2012 18:29:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SRSgU-0006Lh-Fv
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 18:29:23 +0000
Received: from [85.158.139.83:24311] by server-12.bemta-5.messagelabs.com id
	22/98-01344-18418AF4; Mon, 07 May 2012 18:29:21 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336415358!26609862!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31414 invoked from network); 7 May 2012 18:29:19 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 18:29:19 -0000
Received: by qadb33 with SMTP id b33so2864802qad.9
	for <xen-devel@lists.xensource.com>;
	Mon, 07 May 2012 11:29:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=lcb+zN2nLYpTZSW0WvPz8z6KZp4LglzWQ/3fTgrfJos=;
	b=qg3QFPiChICVNO0YigUPpak+2MSYfcRkY4H8xZOF9YA9BKBEi7xqDW92p6GK6CKkBb
	ykf4t2/0IuTnsyH+K3cga0p879S8UlCfk6duUQ6RERnYaO9TAE4EejUy00rZHJdW4cs/
	7knozKQDJJSkILwh1BWI7P27JCYAlrRMSlu4+YyNqM8WT1wgbBJwHkL1OPPx9T+/TqvT
	CvjhGh2rVIccJQdBJ4WPAPps543DyYv5lVCi7H/CVARxvj90Ztwa26eLjq/mT9tAR6tO
	tOSFpAG/qu2ipPj1+v7EqCoJ4N7vrgMkEagW0L+mAV4WtBAm87oHyDtFZp/6u6Cm8NiY
	dmSA==
MIME-Version: 1.0
Received: by 10.224.106.131 with SMTP id x3mr20320468qao.23.1336415357889;
	Mon, 07 May 2012 11:29:17 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Mon, 7 May 2012 11:29:17 -0700 (PDT)
In-Reply-To: <4FA7EB80020000780008204B@nat28.tlf.novell.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
Date: Mon, 7 May 2012 18:29:17 +0000
Message-ID: <CAGU+auuOa04LSn_ebNRXyJQ=bn4PpLiL2ejYaqaivFKLEdnabQ@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8154351702464538460=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8154351702464538460==
Content-Type: multipart/alternative; boundary=20cf3074b41aadec7b04bf7672ab

--20cf3074b41aadec7b04bf7672ab
Content-Type: text/plain; charset=ISO-8859-1

On Mon, May 7, 2012 at 1:34 PM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 07.05.12 at 13:50, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> > On 07/05/2012 09:10, Jan Beulich wrote:
> >>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
> >>> (XEN) *** IRQ BUG found ***
> >>> (XEN) CPU0 -Testing vector 236 from bitmap
> >> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
> >> in through the 8259A. Something fundamentally fishy must be going
> >> on here, and I would suppose the code in question shouldn't even be
> >> reached for legacy vectors.
> >>
> >> Furthermore, calling dump_irqs() from the debugging code with
> >> desc->lock still held makes it impossible to get full output, as that
> >> function wants to lock all initialized IRQ descriptors.
> >
> > Yes - it has been vector 236 on each of the 3 reported failures from AP,
> > and I believe it was also vector 236 in the one case I managed to
> > reproduce the issue.
> >
> > However, once we have set up the IO-APIC, the 8259A should not be used
> > any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
> > was going to be my first suggestion), and that EOI Broadcast Suppression
> > is enabled, which I have already identified as a source of problems for
> > some customers.  As a 'fix', I provided the ability for
> > "io_ack_method=new" to prevent EOI Broadcast Suppression being enabled.
> > This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
> > completely fixed the customer problems - just made it substantially more
> > rare.
> >
> > AP: Can you manually invoke the 'i' debug key and provide that - it will
> > help to see how Xen is setting up the IO-APIC(s) on your system.

(XEN) Guest interrupt information:
(XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge    status=00000000
mapped, unbound
(XEN)    IRQ:   1 affinity:02 vec:85 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  1(----),
(XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC          status=00000000
mapped, unbound
(XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  8(----),
(XEN)    IRQ:   9 affinity:02 vec:7f type=IO-APIC-level   status=00000010
in-flight=0 domain-list=0:  9(----),
(XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  12 affinity:08 vec:d4 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0: 12(----),
(XEN)    IRQ:  13 affinity:0f vec:98 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  14 affinity:01 vec:a0 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  15 affinity:01 vec:a8 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  16 affinity:02 vec:a6 type=IO-APIC-level   status=00000030
in-flight=0 domain-list=0: 16(----),
(XEN)    IRQ:  17 affinity:0f vec:c0 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  18 affinity:0f vec:c8 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  19 affinity:0f vec:f1 type=IO-APIC-level   status=00000000
mapped, unbound
(XEN)    IRQ:  20 affinity:0f vec:61 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  22 affinity:0f vec:32 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  23 affinity:01 vec:ac type=IO-APIC-level   status=00000030
in-flight=0 domain-list=0: 23(----),
(XEN)    IRQ:  24 affinity:01 vec:28 type=DMA_MSI         status=00000000
mapped, unbound
(XEN)    IRQ:  25 affinity:01 vec:30 type=DMA_MSI         status=00000000
mapped, unbound
(XEN)    IRQ:  26 affinity:01 vec:31 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:279(----),
(XEN)    IRQ:  27 affinity:01 vec:39 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:278(----),
(XEN)    IRQ:  28 affinity:01 vec:41 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:277(----),
(XEN)    IRQ:  29 affinity:01 vec:49 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:276(----),
(XEN)    IRQ:  30 affinity:01 vec:51 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:275(----),
(XEN)    IRQ:  31 affinity:04 vec:d7 type=PCI-MSI         status=00000030
in-flight=0 domain-list=0:274(----),
(XEN)    IRQ:  32 affinity:04 vec:df type=PCI-MSI         status=00000030
in-flight=0 domain-list=0:273(----),
(XEN)    IRQ:  33 affinity:02 vec:b0 type=PCI-MSI         status=00000010
in-flight=0 domain-list=0:272(----),
(XEN)    IRQ:  34 affinity:02 vec:a8 type=PCI-MSI         status=00000010
in-flight=0 domain-list=0:271(----),
(XEN)    IRQ:  35 affinity:04 vec:ad type=PCI-MSI         status=00000030
in-flight=0 domain-list=0:270(----),
(XEN) IO-APIC interrupt information:
(XEN)     IRQ  0 Vec240:
(XEN)       Apic 0x00, Pin  2: vec=f0 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  1 Vec133:
(XEN)       Apic 0x00, Pin  1: vec=85 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  3 Vec 64:
(XEN)       Apic 0x00, Pin  3: vec=40 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  4 Vec 72:
(XEN)       Apic 0x00, Pin  4: vec=48 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  5 Vec 80:
(XEN)       Apic 0x00, Pin  5: vec=50 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  6 Vec 88:
(XEN)       Apic 0x00, Pin  6: vec=58 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  7 Vec 96:
(XEN)       Apic 0x00, Pin  7: vec=60 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  8 Vec 41:
(XEN)       Apic 0x00, Pin  8: vec=29 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  9 Vec127:
(XEN)       Apic 0x00, Pin  9: vec=7f delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=L mask=0 dest_id:0
(XEN)     IRQ 10 Vec120:
(XEN)       Apic 0x00, Pin 10: vec=78 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 11 Vec136:
(XEN)       Apic 0x00, Pin 11: vec=88 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 12 Vec212:
(XEN)       Apic 0x00, Pin 12: vec=d4 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 13 Vec152:
(XEN)       Apic 0x00, Pin 13: vec=98 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=1 dest_id:0
(XEN)     IRQ 14 Vec160:
(XEN)       Apic 0x00, Pin 14: vec=a0 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 15 Vec168:
(XEN)       Apic 0x00, Pin 15: vec=a8 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 16 Vec166:
(XEN)       Apic 0x00, Pin 16: vec=a6 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=0 dest_id:0
(XEN)     IRQ 17 Vec192:
(XEN)       Apic 0x00, Pin 17: vec=c0 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 18 Vec200:
(XEN)       Apic 0x00, Pin 18: vec=c8 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 19 Vec241:
(XEN)       Apic 0x00, Pin 19: vec=f1 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=0 dest_id:0
(XEN)     IRQ 20 Vec 97:
(XEN)       Apic 0x00, Pin 20: vec=61 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 22 Vec 50:
(XEN)       Apic 0x00, Pin 22: vec=32 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 23 Vec172:
(XEN)       Apic 0x00, Pin 23: vec=ac delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=0 dest_id:0

> Seeing the 'z' output might also be helpful, especially to see whether
> any of the IO-APICs' RTEs is an ExtINT one.

(XEN) number of MP IRQ sources: 15.
(XEN) number of IO-APIC #2 registers: 24.
(XEN) testing the IO APIC.......................
(XEN) IO APIC #2......
(XEN) .... register #00: 02000000
(XEN) .......    : physical APIC id: 02
(XEN) .......    : Delivery Type: 0
(XEN) .......    : LTS          : 0
(XEN) .... register #01: 00170020
(XEN) .......     : max redirection entries: 0017
(XEN) .......     : PRQ implemented: 0
(XEN) .......     : IO APIC version: 0020
(XEN) .... IRQ redirection table:
(XEN)  NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
(XEN)  00 000 00  1    0    0   0   0    0    0    00
(XEN)  01 000 00  0    0    0   0   0    1    1    85
(XEN)  02 000 00  0    0    0   0   0    1    1    F0
(XEN)  03 000 00  0    0    0   0   0    1    1    40
(XEN)  04 000 00  0    0    0   0   0    1    1    48
(XEN)  05 000 00  0    0    0   0   0    1    1    50
(XEN)  06 000 00  0    0    0   0   0    1    1    58
(XEN)  07 000 00  0    0    0   0   0    1    1    60
(XEN)  08 000 00  0    0    0   0   0    1    1    29
(XEN)  09 000 00  0    1    0   0   0    1    1    A7
(XEN)  0a 000 00  0    0    0   0   0    1    1    78
(XEN)  0b 000 00  0    0    0   0   0    1    1    88
(XEN)  0c 000 00  0    0    0   0   0    1    1    D4
(XEN)  0d 000 00  1    0    0   0   0    1    1    98
(XEN)  0e 000 00  0    0    0   0   0    1    1    A0
(XEN)  0f 000 00  0    0    0   0   0    1    1    A8
(XEN)  10 000 00  0    1    0   1   0    1    1    AE
(XEN)  11 000 00  1    1    0   1   0    1    1    C0
(XEN)  12 000 00  1    1    0   1   0    1    1    C8
(XEN)  13 000 00  0    1    0   1   0    1    1    F1
(XEN)  14 000 00  1    1    0   1   0    1    1    61
(XEN)  15 0CA 0A  1    0    0   0   0    1    2    71
(XEN)  16 000 00  1    1    0   1   0    1    1    32
(XEN)  17 000 00  0    1    0   1   0    1    1    AC
(XEN) Using vector-based indexing
(XEN) IRQ to pin mappings:
(XEN) IRQ240 -> 0:2
(XEN) IRQ133 -> 0:1
(XEN) IRQ64 -> 0:3
(XEN) IRQ72 -> 0:4
(XEN) IRQ80 -> 0:5
(XEN) IRQ88 -> 0:6
(XEN) IRQ96 -> 0:7
(XEN) IRQ41 -> 0:8
(XEN) IRQ167 -> 0:9
(XEN) IRQ120 -> 0:10
(XEN) IRQ136 -> 0:11
(XEN) IRQ212 -> 0:12
(XEN) IRQ152 -> 0:13
(XEN) IRQ160 -> 0:14
(XEN) IRQ168 -> 0:15
(XEN) IRQ174 -> 0:16
(XEN) IRQ192 -> 0:17
(XEN) IRQ200 -> 0:18
(XEN) IRQ241 -> 0:19
(XEN) IRQ97 -> 0:20
(XEN) IRQ50 -> 0:22
(XEN) IRQ172 -> 0:23
(XEN) .................................... done.

--20cf3074b41aadec7b04bf7672ab
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Mon, May 7, 2012 at 1:34 PM, Jan Beulich &lt;<a href=3D"mailto:JBeulich@=
suse.com">JBeulich@suse.com</a>&gt; wrote:<br>&gt;<br>&gt; &gt;&gt;&gt; On =
07.05.12 at 13:50, Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citri=
x.com">andrew.cooper3@citrix.com</a>&gt; wrote:<br>
&gt; &gt; On 07/05/2012 09:10, Jan Beulich wrote:<br>&gt; &gt;&gt;&gt;&gt;&=
gt; On 05.05.12 at 02:21, AP &lt;<a href=3D"mailto:apxeng@gmail.com">apxeng=
@gmail.com</a>&gt; wrote:<br>&gt; &gt;&gt;&gt; (XEN) *** IRQ BUG found ***<=
br>
&gt; &gt;&gt;&gt; (XEN) CPU0 -Testing vector 236 from bitmap<br>&gt; &gt;&g=
t; 236 =3D 0xec =3D FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming<br>&gt=
; &gt;&gt; in through the 8259A. Something fundamentally fishy must be goin=
g<br>
&gt; &gt;&gt; on here, and I would suppose the code in question shouldn&#39=
;t even be<br>&gt; &gt;&gt; reached for legacy vectors.<br>&gt; &gt;&gt;<br=
>&gt; &gt;&gt; Furthermore, calling dump_irqs() from the debugging code wit=
h<br>
&gt; &gt;&gt; desc-&gt;lock still held makes it impossible to get full outp=
ut, as that<br>&gt; &gt;&gt; function wants to lock all initialized IRQ des=
criptors.<br>&gt; &gt;<br>&gt; &gt; Yes - it has been vector 236 on each of=
 the 3 reported failures from AP,<br>
&gt; &gt; and I believe it was also vector 236 in the one case I managed to=
<br>&gt; &gt; reproduce the issue.<br>&gt; &gt;<br>&gt; &gt; However, once =
we have set up the IO-APIC, the 8259A should not be used<br>&gt; &gt; any m=
ore. =A0The boot dmeg shows that io_ack_method is indeed &quot;old&quot; (w=
hich<br>
&gt; &gt; was going to be my first suggestion), and that EOI Broadcast Supp=
ression<br>&gt; &gt; is enabled, which I have already identified as a sourc=
e of problems for<br>&gt; &gt; some customers. =A0As a &#39;fix&#39;, I pro=
vided the ability for<br>
&gt; &gt; &quot;io_ack_method=3Dnew&quot; to prevent EOI Broadcast Suppress=
ion being enabled.<br>&gt; &gt; This was upstreamed in c/s 24870:9bf3ec036b=
ef, but apparently has not<br>&gt; &gt; completely fixed the customer probl=
ems - just made it substantially more<br>
&gt; &gt; rare.<br>&gt; &gt;<br>&gt; &gt; AP: Can you manually invoke the &=
#39;i&#39; debug key and provide that - it will<br>&gt; &gt; help to see ho=
w Xen is setting up the IO-APIC(s) on your system.<br><br>(XEN) Guest inter=
rupt information:<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000000 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 1 affinity:=
02 vec:85 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000030 in-flight=3D0 doma=
in-list=3D0:=A0 1(----),<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 2 affinity:ff vec:e2 =
type=3DXT-PIC=A0=A0=A0=A0=A0=A0=A0=A0=A0 status=3D00000000 mapped, unbound<=
br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 3 affinity:01 vec:40 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 4 affinity:=
01 vec:48 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 5 affinity:01 vec:50 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 6 affinity:01 vec:58 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 7 affinity:=
01 vec:60 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 8 affinity:08 vec:29 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:=A0 8(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 9 affinity:02 vec:7f type=3DIO-APIC-level=A0=A0 s=
tatus=3D00000010 in-flight=3D0 domain-list=3D0:=A0 9(----),<br>(XEN)=A0=A0=
=A0 IRQ:=A0 10 affinity:01 vec:78 type=3DIO-APIC-edge=A0=A0=A0 status=3D000=
00002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 11 affinity:01 vec:88 type=
=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 12 affinity:08 vec:d4 type=3DIO-APIC-edge=A0=A0=A0 s=
tatus=3D00000030 in-flight=3D0 domain-list=3D0: 12(----),<br>(XEN)=A0=A0=A0=
 IRQ:=A0 13 affinity:0f vec:98 type=3DIO-APIC-edge=A0=A0=A0 status=3D000000=
02 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 14 affinity:01 vec:a0 type=3DI=
O-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 15 affinity:01 vec:a8 type=3DIO-APIC-edge=A0=A0=A0 s=
tatus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 16 affinity:02 v=
ec:a6 type=3DIO-APIC-level=A0=A0 status=3D00000030 in-flight=3D0 domain-lis=
t=3D0: 16(----),<br>(XEN)=A0=A0=A0 IRQ:=A0 17 affinity:0f vec:c0 type=3DIO-=
APIC-level=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 18 affinity:0f vec:c8 type=3DIO-APIC-level=A0=A0 sta=
tus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 19 affinity:0f vec=
:f1 type=3DIO-APIC-level=A0=A0 status=3D00000000 mapped, unbound<br>(XEN)=
=A0=A0=A0 IRQ:=A0 20 affinity:0f vec:61 type=3DIO-APIC-level=A0=A0 status=
=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 22 affinity:0f vec:32 type=3DIO-APIC-level=A0=A0 sta=
tus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 23 affinity:01 vec=
:ac type=3DIO-APIC-level=A0=A0 status=3D00000030 in-flight=3D0 domain-list=
=3D0: 23(----),<br>(XEN)=A0=A0=A0 IRQ:=A0 24 affinity:01 vec:28 type=3DDMA_=
MSI=A0=A0=A0=A0=A0=A0=A0=A0 status=3D00000000 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 25 affinity:01 vec:30 type=3DDMA_MSI=A0=A0=A0=A0=A0=
=A0=A0=A0 status=3D00000000 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 26 af=
finity:01 vec:31 type=3DPCI-MSI/-X=A0=A0=A0=A0=A0 status=3D00000030 in-flig=
ht=3D0 domain-list=3D0:279(----),<br>(XEN)=A0=A0=A0 IRQ:=A0 27 affinity:01 =
vec:39 type=3DPCI-MSI/-X=A0=A0=A0=A0=A0 status=3D00000030 in-flight=3D0 dom=
ain-list=3D0:278(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 28 affinity:01 vec:41 type=3DPCI-MSI/-X=A0=A0=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:277(----),<br>(XEN)=A0=
=A0=A0 IRQ:=A0 29 affinity:01 vec:49 type=3DPCI-MSI/-X=A0=A0=A0=A0=A0 statu=
s=3D00000030 in-flight=3D0 domain-list=3D0:276(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 30 affinity:01 vec:51 type=3DPCI-MSI/-X=A0=A0=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:275(----),<br>(XEN)=A0=
=A0=A0 IRQ:=A0 31 affinity:04 vec:d7 type=3DPCI-MSI=A0=A0=A0=A0=A0=A0=A0=A0=
 status=3D00000030 in-flight=3D0 domain-list=3D0:274(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 32 affinity:04 vec:df type=3DPCI-MSI=A0=A0=A0=A0=A0=
=A0=A0=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:273(----),<br>(XE=
N)=A0=A0=A0 IRQ:=A0 33 affinity:02 vec:b0 type=3DPCI-MSI=A0=A0=A0=A0=A0=A0=
=A0=A0 status=3D00000010 in-flight=3D0 domain-list=3D0:272(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 34 affinity:02 vec:a8 type=3DPCI-MSI=A0=A0=A0=A0=A0=
=A0=A0=A0 status=3D00000010 in-flight=3D0 domain-list=3D0:271(----),<br>(XE=
N)=A0=A0=A0 IRQ:=A0 35 affinity:04 vec:ad type=3DPCI-MSI=A0=A0=A0=A0=A0=A0=
=A0=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:270(----),<br>
(XEN) IO-APIC interrupt information:<br>(XEN)=A0=A0=A0=A0 IRQ=A0 0 Vec240:<=
br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 2: vec=3Df0 delivery=3DLoPri d=
est=3DL status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>(XEN=
)=A0=A0=A0=A0 IRQ=A0 1 Vec133:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0=
 1: vec=3D85 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 3 Vec 64:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 3: vec=3D40 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ=A0 4 Vec 72:<br>(XEN)=
=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 4: vec=3D48 delivery=3DLoPri dest=3DL =
status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 5 Vec 80:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 5: vec=3D50 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ=A0 6 Vec 88:<br>(XEN)=
=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 6: vec=3D58 delivery=3DLoPri dest=3DL =
status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 7 Vec 96:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 7: vec=3D60 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ=A0 8 Vec 41:<br>(XEN)=
=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 8: vec=3D29 delivery=3DLoPri dest=3DL =
status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 9 Vec127:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 9: vec=3D7f delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DL mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 10 Vec120:<br>(XEN)=A0=
=A0=A0=A0=A0=A0 Apic 0x00, Pin 10: vec=3D78 delivery=3DLoPri dest=3DL statu=
s=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 11 Vec136:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
11: vec=3D88 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 12 Vec212:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 12: vec=3Dd4 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 13 Vec152:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
13: vec=3D98 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D1 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 14 Vec160:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 14: vec=3Da0 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 15 Vec168:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
15: vec=3Da8 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 16 Vec166:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 16: vec=3Da6 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 17 Vec192:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
17: vec=3Dc0 delivery=3DLoPri dest=3DL status=3D0 polarity=3D1 irr=3D0 trig=
=3DL mask=3D1 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 18 Vec200:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 18: vec=3Dc8 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D1 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 19 Vec241:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
19: vec=3Df1 delivery=3DLoPri dest=3DL status=3D0 polarity=3D1 irr=3D0 trig=
=3DL mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 20 Vec 97:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 20: vec=3D61 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D1 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 22 Vec 50:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
22: vec=3D32 delivery=3DLoPri dest=3DL status=3D0 polarity=3D1 irr=3D0 trig=
=3DL mask=3D1 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 23 Vec172:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 23: vec=3Dac delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D0 dest_id:0<br>
<br>&gt; Seeing the &#39;z&#39; output might also be helpful, especially to=
 see whether<br>&gt; any of the IO-APICs&#39; RTEs is an ExtINT one.<br><br=
>(XEN) number of MP IRQ sources: 15.<br>(XEN) number of IO-APIC #2 register=
s: 24.<br>
(XEN) testing the IO APIC.......................<br>(XEN) IO APIC #2......<=
br>(XEN) .... register #00: 02000000<br>(XEN) .......=A0=A0=A0 : physical A=
PIC id: 02<br>(XEN) .......=A0=A0=A0 : Delivery Type: 0<br>(XEN) .......=A0=
=A0=A0 : LTS=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 0<br>
(XEN) .... register #01: 00170020<br>(XEN) .......=A0=A0=A0=A0 : max redire=
ction entries: 0017<br>(XEN) .......=A0=A0=A0=A0 : PRQ implemented: 0<br>(X=
EN) .......=A0=A0=A0=A0 : IO APIC version: 0020<br>(XEN) .... IRQ redirecti=
on table:<br>(XEN)=A0 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:=A0=
=A0 <br>
(XEN)=A0 00 000 00=A0 1=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 0=A0=
=A0=A0 0=A0=A0=A0 00<br>(XEN)=A0 01 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 85<br>(XEN)=A0 02 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 F0<br>(X=
EN)=A0 03 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 40<br>
(XEN)=A0 04 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 48<br>(XEN)=A0 05 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 50<br>(XEN)=A0 06 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 58<br>(X=
EN)=A0 07 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 60<br>
(XEN)=A0 08 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 29<br>(XEN)=A0 09 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 A7<br>(XEN)=A0 0a 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 78<br>(X=
EN)=A0 0b 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 88<br>
(XEN)=A0 0c 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 D4<br>(XEN)=A0 0d 000 00=A0 1=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 98<br>(XEN)=A0 0e 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 A0<br>(X=
EN)=A0 0f 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 A8<br>
(XEN)=A0 10 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 AE<br>(XEN)=A0 11 000 00=A0 1=A0=A0=A0 1=A0=A0=A0 0=A0=A0=
 1=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 C0<br>(XEN)=A0 12 000 00=A0 1=A0=
=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 C8<br>(X=
EN)=A0 13 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 F1<br>
(XEN)=A0 14 000 00=A0 1=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 61<br>(XEN)=A0 15 0CA 0A=A0 1=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 2=A0=A0=A0 71<br>(XEN)=A0 16 000 00=A0 1=A0=
=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 32<br>(X=
EN)=A0 17 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 AC<br>
(XEN) Using vector-based indexing<br>(XEN) IRQ to pin mappings:<br>(XEN) IR=
Q240 -&gt; 0:2<br>(XEN) IRQ133 -&gt; 0:1<br>(XEN) IRQ64 -&gt; 0:3<br>(XEN) =
IRQ72 -&gt; 0:4<br>(XEN) IRQ80 -&gt; 0:5<br>(XEN) IRQ88 -&gt; 0:6<br>(XEN) =
IRQ96 -&gt; 0:7<br>
(XEN) IRQ41 -&gt; 0:8<br>(XEN) IRQ167 -&gt; 0:9<br>(XEN) IRQ120 -&gt; 0:10<=
br>(XEN) IRQ136 -&gt; 0:11<br>(XEN) IRQ212 -&gt; 0:12<br>(XEN) IRQ152 -&gt;=
 0:13<br>(XEN) IRQ160 -&gt; 0:14<br>(XEN) IRQ168 -&gt; 0:15<br>(XEN) IRQ174=
 -&gt; 0:16<br>
(XEN) IRQ192 -&gt; 0:17<br>(XEN) IRQ200 -&gt; 0:18<br>(XEN) IRQ241 -&gt; 0:=
19<br>(XEN) IRQ97 -&gt; 0:20<br>(XEN) IRQ50 -&gt; 0:22<br>(XEN) IRQ172 -&gt=
; 0:23<br>(XEN) .................................... done.<br><br><br>

--20cf3074b41aadec7b04bf7672ab--


--===============8154351702464538460==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8154351702464538460==--


From xen-devel-bounces@lists.xen.org Mon May 07 18:29:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 18:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRSgW-0006Lp-RA; Mon, 07 May 2012 18:29:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SRSgU-0006Lh-Fv
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 18:29:23 +0000
Received: from [85.158.139.83:24311] by server-12.bemta-5.messagelabs.com id
	22/98-01344-18418AF4; Mon, 07 May 2012 18:29:21 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336415358!26609862!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31414 invoked from network); 7 May 2012 18:29:19 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 18:29:19 -0000
Received: by qadb33 with SMTP id b33so2864802qad.9
	for <xen-devel@lists.xensource.com>;
	Mon, 07 May 2012 11:29:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=lcb+zN2nLYpTZSW0WvPz8z6KZp4LglzWQ/3fTgrfJos=;
	b=qg3QFPiChICVNO0YigUPpak+2MSYfcRkY4H8xZOF9YA9BKBEi7xqDW92p6GK6CKkBb
	ykf4t2/0IuTnsyH+K3cga0p879S8UlCfk6duUQ6RERnYaO9TAE4EejUy00rZHJdW4cs/
	7knozKQDJJSkILwh1BWI7P27JCYAlrRMSlu4+YyNqM8WT1wgbBJwHkL1OPPx9T+/TqvT
	CvjhGh2rVIccJQdBJ4WPAPps543DyYv5lVCi7H/CVARxvj90Ztwa26eLjq/mT9tAR6tO
	tOSFpAG/qu2ipPj1+v7EqCoJ4N7vrgMkEagW0L+mAV4WtBAm87oHyDtFZp/6u6Cm8NiY
	dmSA==
MIME-Version: 1.0
Received: by 10.224.106.131 with SMTP id x3mr20320468qao.23.1336415357889;
	Mon, 07 May 2012 11:29:17 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Mon, 7 May 2012 11:29:17 -0700 (PDT)
In-Reply-To: <4FA7EB80020000780008204B@nat28.tlf.novell.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
Date: Mon, 7 May 2012 18:29:17 +0000
Message-ID: <CAGU+auuOa04LSn_ebNRXyJQ=bn4PpLiL2ejYaqaivFKLEdnabQ@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8154351702464538460=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8154351702464538460==
Content-Type: multipart/alternative; boundary=20cf3074b41aadec7b04bf7672ab

--20cf3074b41aadec7b04bf7672ab
Content-Type: text/plain; charset=ISO-8859-1

On Mon, May 7, 2012 at 1:34 PM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 07.05.12 at 13:50, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> > On 07/05/2012 09:10, Jan Beulich wrote:
> >>>>> On 05.05.12 at 02:21, AP <apxeng@gmail.com> wrote:
> >>> (XEN) *** IRQ BUG found ***
> >>> (XEN) CPU0 -Testing vector 236 from bitmap
> >> 236 = 0xec = FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming
> >> in through the 8259A. Something fundamentally fishy must be going
> >> on here, and I would suppose the code in question shouldn't even be
> >> reached for legacy vectors.
> >>
> >> Furthermore, calling dump_irqs() from the debugging code with
> >> desc->lock still held makes it impossible to get full output, as that
> >> function wants to lock all initialized IRQ descriptors.
> >
> > Yes - it has been vector 236 on each of the 3 reported failures from AP,
> > and I believe it was also vector 236 in the one case I managed to
> > reproduce the issue.
> >
> > However, once we have set up the IO-APIC, the 8259A should not be used
> > any more.  The boot dmeg shows that io_ack_method is indeed "old" (which
> > was going to be my first suggestion), and that EOI Broadcast Suppression
> > is enabled, which I have already identified as a source of problems for
> > some customers.  As a 'fix', I provided the ability for
> > "io_ack_method=new" to prevent EOI Broadcast Suppression being enabled.
> > This was upstreamed in c/s 24870:9bf3ec036bef, but apparently has not
> > completely fixed the customer problems - just made it substantially more
> > rare.
> >
> > AP: Can you manually invoke the 'i' debug key and provide that - it will
> > help to see how Xen is setting up the IO-APIC(s) on your system.

(XEN) Guest interrupt information:
(XEN)    IRQ:   0 affinity:01 vec:f0 type=IO-APIC-edge    status=00000000
mapped, unbound
(XEN)    IRQ:   1 affinity:02 vec:85 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  1(----),
(XEN)    IRQ:   2 affinity:ff vec:e2 type=XT-PIC          status=00000000
mapped, unbound
(XEN)    IRQ:   3 affinity:01 vec:40 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   4 affinity:01 vec:48 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   5 affinity:01 vec:50 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   6 affinity:01 vec:58 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   7 affinity:01 vec:60 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:   8 affinity:08 vec:29 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0:  8(----),
(XEN)    IRQ:   9 affinity:02 vec:7f type=IO-APIC-level   status=00000010
in-flight=0 domain-list=0:  9(----),
(XEN)    IRQ:  10 affinity:01 vec:78 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  11 affinity:01 vec:88 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  12 affinity:08 vec:d4 type=IO-APIC-edge    status=00000030
in-flight=0 domain-list=0: 12(----),
(XEN)    IRQ:  13 affinity:0f vec:98 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  14 affinity:01 vec:a0 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  15 affinity:01 vec:a8 type=IO-APIC-edge    status=00000002
mapped, unbound
(XEN)    IRQ:  16 affinity:02 vec:a6 type=IO-APIC-level   status=00000030
in-flight=0 domain-list=0: 16(----),
(XEN)    IRQ:  17 affinity:0f vec:c0 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  18 affinity:0f vec:c8 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  19 affinity:0f vec:f1 type=IO-APIC-level   status=00000000
mapped, unbound
(XEN)    IRQ:  20 affinity:0f vec:61 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  22 affinity:0f vec:32 type=IO-APIC-level   status=00000002
mapped, unbound
(XEN)    IRQ:  23 affinity:01 vec:ac type=IO-APIC-level   status=00000030
in-flight=0 domain-list=0: 23(----),
(XEN)    IRQ:  24 affinity:01 vec:28 type=DMA_MSI         status=00000000
mapped, unbound
(XEN)    IRQ:  25 affinity:01 vec:30 type=DMA_MSI         status=00000000
mapped, unbound
(XEN)    IRQ:  26 affinity:01 vec:31 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:279(----),
(XEN)    IRQ:  27 affinity:01 vec:39 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:278(----),
(XEN)    IRQ:  28 affinity:01 vec:41 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:277(----),
(XEN)    IRQ:  29 affinity:01 vec:49 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:276(----),
(XEN)    IRQ:  30 affinity:01 vec:51 type=PCI-MSI/-X      status=00000030
in-flight=0 domain-list=0:275(----),
(XEN)    IRQ:  31 affinity:04 vec:d7 type=PCI-MSI         status=00000030
in-flight=0 domain-list=0:274(----),
(XEN)    IRQ:  32 affinity:04 vec:df type=PCI-MSI         status=00000030
in-flight=0 domain-list=0:273(----),
(XEN)    IRQ:  33 affinity:02 vec:b0 type=PCI-MSI         status=00000010
in-flight=0 domain-list=0:272(----),
(XEN)    IRQ:  34 affinity:02 vec:a8 type=PCI-MSI         status=00000010
in-flight=0 domain-list=0:271(----),
(XEN)    IRQ:  35 affinity:04 vec:ad type=PCI-MSI         status=00000030
in-flight=0 domain-list=0:270(----),
(XEN) IO-APIC interrupt information:
(XEN)     IRQ  0 Vec240:
(XEN)       Apic 0x00, Pin  2: vec=f0 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  1 Vec133:
(XEN)       Apic 0x00, Pin  1: vec=85 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  3 Vec 64:
(XEN)       Apic 0x00, Pin  3: vec=40 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  4 Vec 72:
(XEN)       Apic 0x00, Pin  4: vec=48 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  5 Vec 80:
(XEN)       Apic 0x00, Pin  5: vec=50 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  6 Vec 88:
(XEN)       Apic 0x00, Pin  6: vec=58 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  7 Vec 96:
(XEN)       Apic 0x00, Pin  7: vec=60 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  8 Vec 41:
(XEN)       Apic 0x00, Pin  8: vec=29 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ  9 Vec127:
(XEN)       Apic 0x00, Pin  9: vec=7f delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=L mask=0 dest_id:0
(XEN)     IRQ 10 Vec120:
(XEN)       Apic 0x00, Pin 10: vec=78 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 11 Vec136:
(XEN)       Apic 0x00, Pin 11: vec=88 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 12 Vec212:
(XEN)       Apic 0x00, Pin 12: vec=d4 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 13 Vec152:
(XEN)       Apic 0x00, Pin 13: vec=98 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=1 dest_id:0
(XEN)     IRQ 14 Vec160:
(XEN)       Apic 0x00, Pin 14: vec=a0 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 15 Vec168:
(XEN)       Apic 0x00, Pin 15: vec=a8 delivery=LoPri dest=L status=0
polarity=0 irr=0 trig=E mask=0 dest_id:0
(XEN)     IRQ 16 Vec166:
(XEN)       Apic 0x00, Pin 16: vec=a6 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=0 dest_id:0
(XEN)     IRQ 17 Vec192:
(XEN)       Apic 0x00, Pin 17: vec=c0 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 18 Vec200:
(XEN)       Apic 0x00, Pin 18: vec=c8 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 19 Vec241:
(XEN)       Apic 0x00, Pin 19: vec=f1 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=0 dest_id:0
(XEN)     IRQ 20 Vec 97:
(XEN)       Apic 0x00, Pin 20: vec=61 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 22 Vec 50:
(XEN)       Apic 0x00, Pin 22: vec=32 delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=1 dest_id:0
(XEN)     IRQ 23 Vec172:
(XEN)       Apic 0x00, Pin 23: vec=ac delivery=LoPri dest=L status=0
polarity=1 irr=0 trig=L mask=0 dest_id:0

> Seeing the 'z' output might also be helpful, especially to see whether
> any of the IO-APICs' RTEs is an ExtINT one.

(XEN) number of MP IRQ sources: 15.
(XEN) number of IO-APIC #2 registers: 24.
(XEN) testing the IO APIC.......................
(XEN) IO APIC #2......
(XEN) .... register #00: 02000000
(XEN) .......    : physical APIC id: 02
(XEN) .......    : Delivery Type: 0
(XEN) .......    : LTS          : 0
(XEN) .... register #01: 00170020
(XEN) .......     : max redirection entries: 0017
(XEN) .......     : PRQ implemented: 0
(XEN) .......     : IO APIC version: 0020
(XEN) .... IRQ redirection table:
(XEN)  NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
(XEN)  00 000 00  1    0    0   0   0    0    0    00
(XEN)  01 000 00  0    0    0   0   0    1    1    85
(XEN)  02 000 00  0    0    0   0   0    1    1    F0
(XEN)  03 000 00  0    0    0   0   0    1    1    40
(XEN)  04 000 00  0    0    0   0   0    1    1    48
(XEN)  05 000 00  0    0    0   0   0    1    1    50
(XEN)  06 000 00  0    0    0   0   0    1    1    58
(XEN)  07 000 00  0    0    0   0   0    1    1    60
(XEN)  08 000 00  0    0    0   0   0    1    1    29
(XEN)  09 000 00  0    1    0   0   0    1    1    A7
(XEN)  0a 000 00  0    0    0   0   0    1    1    78
(XEN)  0b 000 00  0    0    0   0   0    1    1    88
(XEN)  0c 000 00  0    0    0   0   0    1    1    D4
(XEN)  0d 000 00  1    0    0   0   0    1    1    98
(XEN)  0e 000 00  0    0    0   0   0    1    1    A0
(XEN)  0f 000 00  0    0    0   0   0    1    1    A8
(XEN)  10 000 00  0    1    0   1   0    1    1    AE
(XEN)  11 000 00  1    1    0   1   0    1    1    C0
(XEN)  12 000 00  1    1    0   1   0    1    1    C8
(XEN)  13 000 00  0    1    0   1   0    1    1    F1
(XEN)  14 000 00  1    1    0   1   0    1    1    61
(XEN)  15 0CA 0A  1    0    0   0   0    1    2    71
(XEN)  16 000 00  1    1    0   1   0    1    1    32
(XEN)  17 000 00  0    1    0   1   0    1    1    AC
(XEN) Using vector-based indexing
(XEN) IRQ to pin mappings:
(XEN) IRQ240 -> 0:2
(XEN) IRQ133 -> 0:1
(XEN) IRQ64 -> 0:3
(XEN) IRQ72 -> 0:4
(XEN) IRQ80 -> 0:5
(XEN) IRQ88 -> 0:6
(XEN) IRQ96 -> 0:7
(XEN) IRQ41 -> 0:8
(XEN) IRQ167 -> 0:9
(XEN) IRQ120 -> 0:10
(XEN) IRQ136 -> 0:11
(XEN) IRQ212 -> 0:12
(XEN) IRQ152 -> 0:13
(XEN) IRQ160 -> 0:14
(XEN) IRQ168 -> 0:15
(XEN) IRQ174 -> 0:16
(XEN) IRQ192 -> 0:17
(XEN) IRQ200 -> 0:18
(XEN) IRQ241 -> 0:19
(XEN) IRQ97 -> 0:20
(XEN) IRQ50 -> 0:22
(XEN) IRQ172 -> 0:23
(XEN) .................................... done.

--20cf3074b41aadec7b04bf7672ab
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Mon, May 7, 2012 at 1:34 PM, Jan Beulich &lt;<a href=3D"mailto:JBeulich@=
suse.com">JBeulich@suse.com</a>&gt; wrote:<br>&gt;<br>&gt; &gt;&gt;&gt; On =
07.05.12 at 13:50, Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citri=
x.com">andrew.cooper3@citrix.com</a>&gt; wrote:<br>
&gt; &gt; On 07/05/2012 09:10, Jan Beulich wrote:<br>&gt; &gt;&gt;&gt;&gt;&=
gt; On 05.05.12 at 02:21, AP &lt;<a href=3D"mailto:apxeng@gmail.com">apxeng=
@gmail.com</a>&gt; wrote:<br>&gt; &gt;&gt;&gt; (XEN) *** IRQ BUG found ***<=
br>
&gt; &gt;&gt;&gt; (XEN) CPU0 -Testing vector 236 from bitmap<br>&gt; &gt;&g=
t; 236 =3D 0xec =3D FIRST_LEGACY_VECTOR + 0x0c, i.e. an IRQ12 coming<br>&gt=
; &gt;&gt; in through the 8259A. Something fundamentally fishy must be goin=
g<br>
&gt; &gt;&gt; on here, and I would suppose the code in question shouldn&#39=
;t even be<br>&gt; &gt;&gt; reached for legacy vectors.<br>&gt; &gt;&gt;<br=
>&gt; &gt;&gt; Furthermore, calling dump_irqs() from the debugging code wit=
h<br>
&gt; &gt;&gt; desc-&gt;lock still held makes it impossible to get full outp=
ut, as that<br>&gt; &gt;&gt; function wants to lock all initialized IRQ des=
criptors.<br>&gt; &gt;<br>&gt; &gt; Yes - it has been vector 236 on each of=
 the 3 reported failures from AP,<br>
&gt; &gt; and I believe it was also vector 236 in the one case I managed to=
<br>&gt; &gt; reproduce the issue.<br>&gt; &gt;<br>&gt; &gt; However, once =
we have set up the IO-APIC, the 8259A should not be used<br>&gt; &gt; any m=
ore. =A0The boot dmeg shows that io_ack_method is indeed &quot;old&quot; (w=
hich<br>
&gt; &gt; was going to be my first suggestion), and that EOI Broadcast Supp=
ression<br>&gt; &gt; is enabled, which I have already identified as a sourc=
e of problems for<br>&gt; &gt; some customers. =A0As a &#39;fix&#39;, I pro=
vided the ability for<br>
&gt; &gt; &quot;io_ack_method=3Dnew&quot; to prevent EOI Broadcast Suppress=
ion being enabled.<br>&gt; &gt; This was upstreamed in c/s 24870:9bf3ec036b=
ef, but apparently has not<br>&gt; &gt; completely fixed the customer probl=
ems - just made it substantially more<br>
&gt; &gt; rare.<br>&gt; &gt;<br>&gt; &gt; AP: Can you manually invoke the &=
#39;i&#39; debug key and provide that - it will<br>&gt; &gt; help to see ho=
w Xen is setting up the IO-APIC(s) on your system.<br><br>(XEN) Guest inter=
rupt information:<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 0 affinity:01 vec:f0 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000000 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 1 affinity:=
02 vec:85 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000030 in-flight=3D0 doma=
in-list=3D0:=A0 1(----),<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 2 affinity:ff vec:e2 =
type=3DXT-PIC=A0=A0=A0=A0=A0=A0=A0=A0=A0 status=3D00000000 mapped, unbound<=
br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 3 affinity:01 vec:40 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 4 affinity:=
01 vec:48 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 5 affinity:01 vec:50 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 6 affinity:01 vec:58 type=3DIO-APIC-edge=A0=A0=A0=
 status=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0=A0 7 affinity:=
01 vec:60 type=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br=
>(XEN)=A0=A0=A0 IRQ:=A0=A0 8 affinity:08 vec:29 type=3DIO-APIC-edge=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:=A0 8(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0=A0 9 affinity:02 vec:7f type=3DIO-APIC-level=A0=A0 s=
tatus=3D00000010 in-flight=3D0 domain-list=3D0:=A0 9(----),<br>(XEN)=A0=A0=
=A0 IRQ:=A0 10 affinity:01 vec:78 type=3DIO-APIC-edge=A0=A0=A0 status=3D000=
00002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 11 affinity:01 vec:88 type=
=3DIO-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 12 affinity:08 vec:d4 type=3DIO-APIC-edge=A0=A0=A0 s=
tatus=3D00000030 in-flight=3D0 domain-list=3D0: 12(----),<br>(XEN)=A0=A0=A0=
 IRQ:=A0 13 affinity:0f vec:98 type=3DIO-APIC-edge=A0=A0=A0 status=3D000000=
02 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 14 affinity:01 vec:a0 type=3DI=
O-APIC-edge=A0=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 15 affinity:01 vec:a8 type=3DIO-APIC-edge=A0=A0=A0 s=
tatus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 16 affinity:02 v=
ec:a6 type=3DIO-APIC-level=A0=A0 status=3D00000030 in-flight=3D0 domain-lis=
t=3D0: 16(----),<br>(XEN)=A0=A0=A0 IRQ:=A0 17 affinity:0f vec:c0 type=3DIO-=
APIC-level=A0=A0 status=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 18 affinity:0f vec:c8 type=3DIO-APIC-level=A0=A0 sta=
tus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 19 affinity:0f vec=
:f1 type=3DIO-APIC-level=A0=A0 status=3D00000000 mapped, unbound<br>(XEN)=
=A0=A0=A0 IRQ:=A0 20 affinity:0f vec:61 type=3DIO-APIC-level=A0=A0 status=
=3D00000002 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 22 affinity:0f vec:32 type=3DIO-APIC-level=A0=A0 sta=
tus=3D00000002 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 23 affinity:01 vec=
:ac type=3DIO-APIC-level=A0=A0 status=3D00000030 in-flight=3D0 domain-list=
=3D0: 23(----),<br>(XEN)=A0=A0=A0 IRQ:=A0 24 affinity:01 vec:28 type=3DDMA_=
MSI=A0=A0=A0=A0=A0=A0=A0=A0 status=3D00000000 mapped, unbound<br>
(XEN)=A0=A0=A0 IRQ:=A0 25 affinity:01 vec:30 type=3DDMA_MSI=A0=A0=A0=A0=A0=
=A0=A0=A0 status=3D00000000 mapped, unbound<br>(XEN)=A0=A0=A0 IRQ:=A0 26 af=
finity:01 vec:31 type=3DPCI-MSI/-X=A0=A0=A0=A0=A0 status=3D00000030 in-flig=
ht=3D0 domain-list=3D0:279(----),<br>(XEN)=A0=A0=A0 IRQ:=A0 27 affinity:01 =
vec:39 type=3DPCI-MSI/-X=A0=A0=A0=A0=A0 status=3D00000030 in-flight=3D0 dom=
ain-list=3D0:278(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 28 affinity:01 vec:41 type=3DPCI-MSI/-X=A0=A0=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:277(----),<br>(XEN)=A0=
=A0=A0 IRQ:=A0 29 affinity:01 vec:49 type=3DPCI-MSI/-X=A0=A0=A0=A0=A0 statu=
s=3D00000030 in-flight=3D0 domain-list=3D0:276(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 30 affinity:01 vec:51 type=3DPCI-MSI/-X=A0=A0=A0=A0=
=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:275(----),<br>(XEN)=A0=
=A0=A0 IRQ:=A0 31 affinity:04 vec:d7 type=3DPCI-MSI=A0=A0=A0=A0=A0=A0=A0=A0=
 status=3D00000030 in-flight=3D0 domain-list=3D0:274(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 32 affinity:04 vec:df type=3DPCI-MSI=A0=A0=A0=A0=A0=
=A0=A0=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:273(----),<br>(XE=
N)=A0=A0=A0 IRQ:=A0 33 affinity:02 vec:b0 type=3DPCI-MSI=A0=A0=A0=A0=A0=A0=
=A0=A0 status=3D00000010 in-flight=3D0 domain-list=3D0:272(----),<br>
(XEN)=A0=A0=A0 IRQ:=A0 34 affinity:02 vec:a8 type=3DPCI-MSI=A0=A0=A0=A0=A0=
=A0=A0=A0 status=3D00000010 in-flight=3D0 domain-list=3D0:271(----),<br>(XE=
N)=A0=A0=A0 IRQ:=A0 35 affinity:04 vec:ad type=3DPCI-MSI=A0=A0=A0=A0=A0=A0=
=A0=A0 status=3D00000030 in-flight=3D0 domain-list=3D0:270(----),<br>
(XEN) IO-APIC interrupt information:<br>(XEN)=A0=A0=A0=A0 IRQ=A0 0 Vec240:<=
br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 2: vec=3Df0 delivery=3DLoPri d=
est=3DL status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>(XEN=
)=A0=A0=A0=A0 IRQ=A0 1 Vec133:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0=
 1: vec=3D85 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 3 Vec 64:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 3: vec=3D40 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ=A0 4 Vec 72:<br>(XEN)=
=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 4: vec=3D48 delivery=3DLoPri dest=3DL =
status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 5 Vec 80:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 5: vec=3D50 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ=A0 6 Vec 88:<br>(XEN)=
=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 6: vec=3D58 delivery=3DLoPri dest=3DL =
status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 7 Vec 96:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 7: vec=3D60 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ=A0 8 Vec 41:<br>(XEN)=
=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin=A0 8: vec=3D29 delivery=3DLoPri dest=3DL =
status=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ=A0 9 Vec127:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pi=
n=A0 9: vec=3D7f delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 =
trig=3DL mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 10 Vec120:<br>(XEN)=A0=
=A0=A0=A0=A0=A0 Apic 0x00, Pin 10: vec=3D78 delivery=3DLoPri dest=3DL statu=
s=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 11 Vec136:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
11: vec=3D88 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 12 Vec212:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 12: vec=3Dd4 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 13 Vec152:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
13: vec=3D98 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D1 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 14 Vec160:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 14: vec=3Da0 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D0 irr=3D0 trig=3DE mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 15 Vec168:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
15: vec=3Da8 delivery=3DLoPri dest=3DL status=3D0 polarity=3D0 irr=3D0 trig=
=3DE mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 16 Vec166:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 16: vec=3Da6 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D0 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 17 Vec192:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
17: vec=3Dc0 delivery=3DLoPri dest=3DL status=3D0 polarity=3D1 irr=3D0 trig=
=3DL mask=3D1 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 18 Vec200:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 18: vec=3Dc8 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D1 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 19 Vec241:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
19: vec=3Df1 delivery=3DLoPri dest=3DL status=3D0 polarity=3D1 irr=3D0 trig=
=3DL mask=3D0 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 20 Vec 97:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 20: vec=3D61 delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D1 dest_id:0<br>
(XEN)=A0=A0=A0=A0 IRQ 22 Vec 50:<br>(XEN)=A0=A0=A0=A0=A0=A0 Apic 0x00, Pin =
22: vec=3D32 delivery=3DLoPri dest=3DL status=3D0 polarity=3D1 irr=3D0 trig=
=3DL mask=3D1 dest_id:0<br>(XEN)=A0=A0=A0=A0 IRQ 23 Vec172:<br>(XEN)=A0=A0=
=A0=A0=A0=A0 Apic 0x00, Pin 23: vec=3Dac delivery=3DLoPri dest=3DL status=
=3D0 polarity=3D1 irr=3D0 trig=3DL mask=3D0 dest_id:0<br>
<br>&gt; Seeing the &#39;z&#39; output might also be helpful, especially to=
 see whether<br>&gt; any of the IO-APICs&#39; RTEs is an ExtINT one.<br><br=
>(XEN) number of MP IRQ sources: 15.<br>(XEN) number of IO-APIC #2 register=
s: 24.<br>
(XEN) testing the IO APIC.......................<br>(XEN) IO APIC #2......<=
br>(XEN) .... register #00: 02000000<br>(XEN) .......=A0=A0=A0 : physical A=
PIC id: 02<br>(XEN) .......=A0=A0=A0 : Delivery Type: 0<br>(XEN) .......=A0=
=A0=A0 : LTS=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 0<br>
(XEN) .... register #01: 00170020<br>(XEN) .......=A0=A0=A0=A0 : max redire=
ction entries: 0017<br>(XEN) .......=A0=A0=A0=A0 : PRQ implemented: 0<br>(X=
EN) .......=A0=A0=A0=A0 : IO APIC version: 0020<br>(XEN) .... IRQ redirecti=
on table:<br>(XEN)=A0 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:=A0=
=A0 <br>
(XEN)=A0 00 000 00=A0 1=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 0=A0=
=A0=A0 0=A0=A0=A0 00<br>(XEN)=A0 01 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 85<br>(XEN)=A0 02 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 F0<br>(X=
EN)=A0 03 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 40<br>
(XEN)=A0 04 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 48<br>(XEN)=A0 05 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 50<br>(XEN)=A0 06 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 58<br>(X=
EN)=A0 07 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 60<br>
(XEN)=A0 08 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 29<br>(XEN)=A0 09 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 A7<br>(XEN)=A0 0a 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 78<br>(X=
EN)=A0 0b 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 88<br>
(XEN)=A0 0c 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 D4<br>(XEN)=A0 0d 000 00=A0 1=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 98<br>(XEN)=A0 0e 000 00=A0 0=A0=
=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 A0<br>(X=
EN)=A0 0f 000 00=A0 0=A0=A0=A0 0=A0=A0=A0 0=A0=A0 0=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 A8<br>
(XEN)=A0 10 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 AE<br>(XEN)=A0 11 000 00=A0 1=A0=A0=A0 1=A0=A0=A0 0=A0=A0=
 1=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 C0<br>(XEN)=A0 12 000 00=A0 1=A0=
=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 C8<br>(X=
EN)=A0 13 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 F1<br>
(XEN)=A0 14 000 00=A0 1=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 61<br>(XEN)=A0 15 0CA 0A=A0 1=A0=A0=A0 0=A0=A0=A0 0=A0=A0=
 0=A0=A0 0=A0=A0=A0 1=A0=A0=A0 2=A0=A0=A0 71<br>(XEN)=A0 16 000 00=A0 1=A0=
=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=A0=A0 1=A0=A0=A0 32<br>(X=
EN)=A0 17 000 00=A0 0=A0=A0=A0 1=A0=A0=A0 0=A0=A0 1=A0=A0 0=A0=A0=A0 1=A0=
=A0=A0 1=A0=A0=A0 AC<br>
(XEN) Using vector-based indexing<br>(XEN) IRQ to pin mappings:<br>(XEN) IR=
Q240 -&gt; 0:2<br>(XEN) IRQ133 -&gt; 0:1<br>(XEN) IRQ64 -&gt; 0:3<br>(XEN) =
IRQ72 -&gt; 0:4<br>(XEN) IRQ80 -&gt; 0:5<br>(XEN) IRQ88 -&gt; 0:6<br>(XEN) =
IRQ96 -&gt; 0:7<br>
(XEN) IRQ41 -&gt; 0:8<br>(XEN) IRQ167 -&gt; 0:9<br>(XEN) IRQ120 -&gt; 0:10<=
br>(XEN) IRQ136 -&gt; 0:11<br>(XEN) IRQ212 -&gt; 0:12<br>(XEN) IRQ152 -&gt;=
 0:13<br>(XEN) IRQ160 -&gt; 0:14<br>(XEN) IRQ168 -&gt; 0:15<br>(XEN) IRQ174=
 -&gt; 0:16<br>
(XEN) IRQ192 -&gt; 0:17<br>(XEN) IRQ200 -&gt; 0:18<br>(XEN) IRQ241 -&gt; 0:=
19<br>(XEN) IRQ97 -&gt; 0:20<br>(XEN) IRQ50 -&gt; 0:22<br>(XEN) IRQ172 -&gt=
; 0:23<br>(XEN) .................................... done.<br><br><br>

--20cf3074b41aadec7b04bf7672ab--


--===============8154351702464538460==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8154351702464538460==--


From xen-devel-bounces@lists.xen.org Mon May 07 18:37:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 18:37:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRSoQ-0006bj-IK; Mon, 07 May 2012 18:37:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SRSoO-0006bR-VD
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 18:37:33 +0000
Received: from [85.158.139.83:53660] by server-8.bemta-5.messagelabs.com id
	08/2B-26964-C6618AF4; Mon, 07 May 2012 18:37:32 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336415850!27071776!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26095 invoked from network); 7 May 2012 18:37:31 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-15.tower-182.messagelabs.com with SMTP;
	7 May 2012 18:37:31 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q47IbT40021154;
	Mon, 7 May 2012 14:37:29 -0400
Message-ID: <4FA81669.5040202@theshore.net>
Date: Mon, 07 May 2012 14:37:29 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120507171703.GA5746@phenom.dumpdata.com>
In-Reply-To: <20120507171703.GA5746@phenom.dumpdata.com>
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This looks suspiciously like the problem described by Nai Xia in "mm: 
page_check_address bug fix and make it validate subpages in huge pages" 
<http://lkml.org/lkml/2011/3/28/196> - which never made it into mainline 
that I can detect.

We've rebuilt without CONFIG_HIGHPTE and are running our test again.  We 
shall see.

-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 18:37:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 18:37:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRSoQ-0006bj-IK; Mon, 07 May 2012 18:37:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SRSoO-0006bR-VD
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 18:37:33 +0000
Received: from [85.158.139.83:53660] by server-8.bemta-5.messagelabs.com id
	08/2B-26964-C6618AF4; Mon, 07 May 2012 18:37:32 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336415850!27071776!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26095 invoked from network); 7 May 2012 18:37:31 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-15.tower-182.messagelabs.com with SMTP;
	7 May 2012 18:37:31 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q47IbT40021154;
	Mon, 7 May 2012 14:37:29 -0400
Message-ID: <4FA81669.5040202@theshore.net>
Date: Mon, 07 May 2012 14:37:29 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120507171703.GA5746@phenom.dumpdata.com>
In-Reply-To: <20120507171703.GA5746@phenom.dumpdata.com>
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This looks suspiciously like the problem described by Nai Xia in "mm: 
page_check_address bug fix and make it validate subpages in huge pages" 
<http://lkml.org/lkml/2011/3/28/196> - which never made it into mainline 
that I can detect.

We've rebuilt without CONFIG_HIGHPTE and are running our test again.  We 
shall see.

-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 18:54:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 18:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRT4S-00077Y-D9; Mon, 07 May 2012 18:54:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRT4Q-00077T-Mr
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 18:54:06 +0000
Received: from [85.158.143.99:38055] by server-3.bemta-4.messagelabs.com id
	C6/7B-05853-E4A18AF4; Mon, 07 May 2012 18:54:06 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336416843!23504259!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21061 invoked from network); 7 May 2012 18:54:05 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 18:54:05 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47IrwYw023342
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 18:53:59 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47IrvMm015741
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 18:53:58 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47IrvZE017664; Mon, 7 May 2012 13:53:57 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 11:53:57 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9CBB54031D; Mon,  7 May 2012 14:48:08 -0400 (EDT)
Date: Mon, 7 May 2012 14:48:08 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Message-ID: <20120507184808.GA7249@phenom.dumpdata.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com> <4FA2A11E.1060907@cantab.net>
	<4FA2B1EF.8080900@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA2B1EF.8080900@citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 05:27:27PM +0100, David Vrabel wrote:
> On 03/05/12 16:15, David Vrabel wrote:
> > 
> > xen: update VA mapping when releasing memory during setup
> > 
> > In xen_memory_setup(), if a page that is being released has a VA
> > mapping this must also be updated.  Otherwise, the page will be not
> > released completely -- it will still be referenced in Xen and won't be
> > freed util the mapping is removed and this prevents it from being
> > reallocated at a different PFN.
> > 
> > This was already being done for the ISA memory region in
> > xen_ident_map_ISA() but on many systems this was omitting a few pages
> > as many systems marked a few pages below the ISA memory region as
> > reserved in the e820 map.
> > 
> > Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> > ---
> [...]
> > --- a/arch/x86/xen/mmu.c
> > +++ b/arch/x86/xen/mmu.c
> > @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
> >  #endif
> >  }
> >  
> > -void __init xen_ident_map_ISA(void)
> > -{
> > -	unsigned long pa;
> > -
> > -	/*
> > -	 * If we're dom0, then linear map the ISA machine addresses into
> > -	 * the kernel's address space.
> > -	 */
> > -	if (!xen_initial_domain())
> > -		return;
> 
> It might look like this test has gone, however the new code which
> updates the VA mapping uses the e820 map and for a domU its map will not
> have a ISA region so there's no mapping to be updated.

What if you use e820_hole=1 and the pci=xx in the guest?
> 
> David
> 
> > -
> > -	xen_raw_printk("Xen: setup ISA identity maps\n");
> > -
> > -	for (pa = ISA_START_ADDRESS; pa < ISA_END_ADDRESS; pa += PAGE_SIZE) {
> > -		pte_t pte = mfn_pte(PFN_DOWN(pa), PAGE_KERNEL_IO);
> > -
> > -		if (HYPERVISOR_update_va_mapping(PAGE_OFFSET + pa, pte, 0))
> > -			BUG();
> > -	}
> > -
> > -	xen_flush_tlb();
> > -}
> > -
> >  static void __init xen_post_allocator_init(void)
> >  {
> >  	pv_mmu_ops.set_pte = xen_set_pte;
> > diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> > index 506a3e6..d5f8714 100644
> > --- a/arch/x86/xen/setup.c
> > +++ b/arch/x86/xen/setup.c
> > @@ -139,6 +139,13 @@ static unsigned long __init xen_do_chunk(unsigned long start,
> >  
> >  	return len;
> >  }
> > +
> > +static unsigned long __init xen_release_chunk(unsigned long start,
> > +					      unsigned long end)
> > +{
> > +	return xen_do_chunk(start, end, true);
> > +}
> > +
> >  static unsigned long __init xen_populate_chunk(
> >  	const struct e820entry *list, size_t map_size,
> >  	unsigned long max_pfn, unsigned long *last_pfn,
> > @@ -197,6 +204,29 @@ static unsigned long __init xen_populate_chunk(
> >  	}
> >  	return done;
> >  }
> > +
> > +static void __init xen_set_identity_and_release_chunk(
> > +	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
> > +	unsigned long *released, unsigned long *identity)
> > +{
> > +	unsigned long pfn;
> > +
> > +	/*
> > +	 * If the PFNs are currently mapped, the VA mapping also needs
> > +	 * to be updated to be 1:1.
> > +	 */
> > +	for (pfn = start_pfn; pfn <= max_pfn_mapped && pfn < end_pfn; pfn++)
> > +		(void)HYPERVISOR_update_va_mapping(
> > +			(unsigned long)__va(pfn << PAGE_SHIFT),
> > +			mfn_pte(pfn, PAGE_KERNEL_IO), 0);
> > +
> > +	if (start_pfn < nr_pages)
> > +		*released += xen_release_chunk(
> > +			start_pfn, min(end_pfn, nr_pages));
> > +
> > +	*identity += set_phys_range_identity(start_pfn, end_pfn);
> > +}
> > +
> >  static unsigned long __init xen_set_identity_and_release(
> >  	const struct e820entry *list, size_t map_size, unsigned long nr_pages)
> >  {
> > @@ -226,14 +256,11 @@ static unsigned long __init xen_set_identity_and_release(
> >  			if (entry->type == E820_RAM)
> >  				end_pfn = PFN_UP(entry->addr);
> >  
> > -			if (start_pfn < end_pfn) {
> > -				if (start_pfn < nr_pages)
> > -					released += xen_do_chunk(
> > -						start_pfn, min(end_pfn, nr_pages), true);
> > +			if (start_pfn < end_pfn)
> > +				xen_set_identity_and_release_chunk(
> > +					start_pfn, end_pfn, nr_pages,
> > +					&released, &identity);
> >  
> > -				identity += set_phys_range_identity(
> > -					start_pfn, end_pfn);
> > -			}
> >  			start = end;
> >  		}
> >  	}
> > diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
> > index b095739..506fa08 100644
> > --- a/arch/x86/xen/xen-ops.h
> > +++ b/arch/x86/xen/xen-ops.h
> > @@ -28,7 +28,6 @@ void xen_setup_shared_info(void);
> >  void xen_build_mfn_list_list(void);
> >  void xen_setup_machphys_mapping(void);
> >  pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
> > -void xen_ident_map_ISA(void);
> >  void xen_reserve_top(void);
> >  extern unsigned long xen_max_p2m_pfn;
> >  
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 18:54:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 18:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRT4S-00077Y-D9; Mon, 07 May 2012 18:54:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRT4Q-00077T-Mr
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 18:54:06 +0000
Received: from [85.158.143.99:38055] by server-3.bemta-4.messagelabs.com id
	C6/7B-05853-E4A18AF4; Mon, 07 May 2012 18:54:06 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336416843!23504259!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21061 invoked from network); 7 May 2012 18:54:05 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 18:54:05 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47IrwYw023342
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 18:53:59 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47IrvMm015741
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 18:53:58 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47IrvZE017664; Mon, 7 May 2012 13:53:57 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 11:53:57 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9CBB54031D; Mon,  7 May 2012 14:48:08 -0400 (EDT)
Date: Mon, 7 May 2012 14:48:08 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Message-ID: <20120507184808.GA7249@phenom.dumpdata.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com> <4FA2A11E.1060907@cantab.net>
	<4FA2B1EF.8080900@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA2B1EF.8080900@citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 05:27:27PM +0100, David Vrabel wrote:
> On 03/05/12 16:15, David Vrabel wrote:
> > 
> > xen: update VA mapping when releasing memory during setup
> > 
> > In xen_memory_setup(), if a page that is being released has a VA
> > mapping this must also be updated.  Otherwise, the page will be not
> > released completely -- it will still be referenced in Xen and won't be
> > freed util the mapping is removed and this prevents it from being
> > reallocated at a different PFN.
> > 
> > This was already being done for the ISA memory region in
> > xen_ident_map_ISA() but on many systems this was omitting a few pages
> > as many systems marked a few pages below the ISA memory region as
> > reserved in the e820 map.
> > 
> > Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> > ---
> [...]
> > --- a/arch/x86/xen/mmu.c
> > +++ b/arch/x86/xen/mmu.c
> > @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
> >  #endif
> >  }
> >  
> > -void __init xen_ident_map_ISA(void)
> > -{
> > -	unsigned long pa;
> > -
> > -	/*
> > -	 * If we're dom0, then linear map the ISA machine addresses into
> > -	 * the kernel's address space.
> > -	 */
> > -	if (!xen_initial_domain())
> > -		return;
> 
> It might look like this test has gone, however the new code which
> updates the VA mapping uses the e820 map and for a domU its map will not
> have a ISA region so there's no mapping to be updated.

What if you use e820_hole=1 and the pci=xx in the guest?
> 
> David
> 
> > -
> > -	xen_raw_printk("Xen: setup ISA identity maps\n");
> > -
> > -	for (pa = ISA_START_ADDRESS; pa < ISA_END_ADDRESS; pa += PAGE_SIZE) {
> > -		pte_t pte = mfn_pte(PFN_DOWN(pa), PAGE_KERNEL_IO);
> > -
> > -		if (HYPERVISOR_update_va_mapping(PAGE_OFFSET + pa, pte, 0))
> > -			BUG();
> > -	}
> > -
> > -	xen_flush_tlb();
> > -}
> > -
> >  static void __init xen_post_allocator_init(void)
> >  {
> >  	pv_mmu_ops.set_pte = xen_set_pte;
> > diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> > index 506a3e6..d5f8714 100644
> > --- a/arch/x86/xen/setup.c
> > +++ b/arch/x86/xen/setup.c
> > @@ -139,6 +139,13 @@ static unsigned long __init xen_do_chunk(unsigned long start,
> >  
> >  	return len;
> >  }
> > +
> > +static unsigned long __init xen_release_chunk(unsigned long start,
> > +					      unsigned long end)
> > +{
> > +	return xen_do_chunk(start, end, true);
> > +}
> > +
> >  static unsigned long __init xen_populate_chunk(
> >  	const struct e820entry *list, size_t map_size,
> >  	unsigned long max_pfn, unsigned long *last_pfn,
> > @@ -197,6 +204,29 @@ static unsigned long __init xen_populate_chunk(
> >  	}
> >  	return done;
> >  }
> > +
> > +static void __init xen_set_identity_and_release_chunk(
> > +	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
> > +	unsigned long *released, unsigned long *identity)
> > +{
> > +	unsigned long pfn;
> > +
> > +	/*
> > +	 * If the PFNs are currently mapped, the VA mapping also needs
> > +	 * to be updated to be 1:1.
> > +	 */
> > +	for (pfn = start_pfn; pfn <= max_pfn_mapped && pfn < end_pfn; pfn++)
> > +		(void)HYPERVISOR_update_va_mapping(
> > +			(unsigned long)__va(pfn << PAGE_SHIFT),
> > +			mfn_pte(pfn, PAGE_KERNEL_IO), 0);
> > +
> > +	if (start_pfn < nr_pages)
> > +		*released += xen_release_chunk(
> > +			start_pfn, min(end_pfn, nr_pages));
> > +
> > +	*identity += set_phys_range_identity(start_pfn, end_pfn);
> > +}
> > +
> >  static unsigned long __init xen_set_identity_and_release(
> >  	const struct e820entry *list, size_t map_size, unsigned long nr_pages)
> >  {
> > @@ -226,14 +256,11 @@ static unsigned long __init xen_set_identity_and_release(
> >  			if (entry->type == E820_RAM)
> >  				end_pfn = PFN_UP(entry->addr);
> >  
> > -			if (start_pfn < end_pfn) {
> > -				if (start_pfn < nr_pages)
> > -					released += xen_do_chunk(
> > -						start_pfn, min(end_pfn, nr_pages), true);
> > +			if (start_pfn < end_pfn)
> > +				xen_set_identity_and_release_chunk(
> > +					start_pfn, end_pfn, nr_pages,
> > +					&released, &identity);
> >  
> > -				identity += set_phys_range_identity(
> > -					start_pfn, end_pfn);
> > -			}
> >  			start = end;
> >  		}
> >  	}
> > diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
> > index b095739..506fa08 100644
> > --- a/arch/x86/xen/xen-ops.h
> > +++ b/arch/x86/xen/xen-ops.h
> > @@ -28,7 +28,6 @@ void xen_setup_shared_info(void);
> >  void xen_build_mfn_list_list(void);
> >  void xen_setup_machphys_mapping(void);
> >  pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
> > -void xen_ident_map_ISA(void);
> >  void xen_reserve_top(void);
> >  extern unsigned long xen_max_p2m_pfn;
> >  
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 19:16:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 19:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRTQ8-0007MN-Cq; Mon, 07 May 2012 19:16:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SRTQ6-0007MI-Kq
	for xen-devel@lists.xen.org; Mon, 07 May 2012 19:16:30 +0000
Received: from [193.109.254.147:24427] by server-9.bemta-14.messagelabs.com id
	D6/A6-05787-D8F18AF4; Mon, 07 May 2012 19:16:29 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336418188!8083692!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16410 invoked from network); 7 May 2012 19:16:29 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-8.tower-27.messagelabs.com with SMTP;
	7 May 2012 19:16:29 -0000
X-TM-IMSS-Message-ID: <2a06ab69000b1959@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 2a06ab69000b1959 ;
	Mon, 7 May 2012 15:16:40 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q47JGLgx014644; 
	Mon, 7 May 2012 15:16:21 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Ian Jackson <ian.jackson@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>
Date: Mon,  7 May 2012 15:15:09 -0400
Message-Id: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: git-send-email 1.7.7.6
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
expression CTX->osevent_in_hook-- (usually 1) instead of the value of
the function call it made. Change the macro to a statement including the
return variable to fix this.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/libxl/libxl_event.c |   37 +++++++++++++++++++++----------------
 1 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 638b9ab..6aced19 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -27,18 +27,23 @@
  * these macros, with the ctx locked.  Likewise all the "occurred"
  * entrypoints from the application should assert(!in_hook);
  */
-#define OSEVENT_HOOK_INTERN(defval, hookname, ...)                      \
-    (CTX->osevent_hooks                                                 \
-     ? (CTX->osevent_in_hook++,                                         \
-        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__),   \
-        CTX->osevent_in_hook--)                                         \
-     : defval)
-
-#define OSEVENT_HOOK(hookname,...)                      \
-    OSEVENT_HOOK_INTERN(0, hookname, __VA_ARGS__)
-
-#define OSEVENT_HOOK_VOID(hookname,...)                 \
-    OSEVENT_HOOK_INTERN((void)0, hookname, __VA_ARGS__)
+#define OSEVENT_HOOK_RET(rc, hookname,...) do {                             \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
+        CTX->osevent_in_hook--;                                             \
+    } else {                                                                \
+        rc = 0;                                                             \
+    }                                                                       \
+} while (0)
+
+#define OSEVENT_HOOK_VOID(hookname,...) do {                                \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);       \
+        CTX->osevent_in_hook--;                                             \
+    }                                                                       \
+} while (0)
 
 /*
  * fd events
@@ -54,7 +59,7 @@ int libxl__ev_fd_register(libxl__gc *gc, libxl__ev_fd *ev,
 
     CTX_LOCK;
 
-    rc = OSEVENT_HOOK(fd_register, fd, &ev->for_app_reg, events, ev);
+    OSEVENT_HOOK_RET(rc, fd_register, fd, &ev->for_app_reg, events, ev);
     if (rc) goto out;
 
     ev->fd = fd;
@@ -77,7 +82,7 @@ int libxl__ev_fd_modify(libxl__gc *gc, libxl__ev_fd *ev, short events)
     CTX_LOCK;
     assert(libxl__ev_fd_isregistered(ev));
 
-    rc = OSEVENT_HOOK(fd_modify, ev->fd, &ev->for_app_reg, events);
+    OSEVENT_HOOK_RET(rc, fd_modify, ev->fd, &ev->for_app_reg, events);
     if (rc) goto out;
 
     ev->events = events;
@@ -147,7 +152,7 @@ static int time_register_finite(libxl__gc *gc, libxl__ev_time *ev,
 {
     int rc;
 
-    rc = OSEVENT_HOOK(timeout_register, &ev->for_app_reg, abs, ev);
+    OSEVENT_HOOK_RET(rc, timeout_register, &ev->for_app_reg, abs, ev);
     if (rc) return rc;
 
     ev->infinite = 0;
@@ -226,7 +231,7 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
         rc = time_register_finite(gc, ev, abs);
         if (rc) goto out;
     } else {
-        rc = OSEVENT_HOOK(timeout_modify, &ev->for_app_reg, abs);
+        OSEVENT_HOOK_RET(rc, timeout_modify, &ev->for_app_reg, abs);
         if (rc) goto out;
 
         LIBXL_TAILQ_REMOVE(&CTX->etimes, ev, entry);
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 19:16:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 19:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRTQ8-0007MN-Cq; Mon, 07 May 2012 19:16:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SRTQ6-0007MI-Kq
	for xen-devel@lists.xen.org; Mon, 07 May 2012 19:16:30 +0000
Received: from [193.109.254.147:24427] by server-9.bemta-14.messagelabs.com id
	D6/A6-05787-D8F18AF4; Mon, 07 May 2012 19:16:29 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336418188!8083692!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16410 invoked from network); 7 May 2012 19:16:29 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-8.tower-27.messagelabs.com with SMTP;
	7 May 2012 19:16:29 -0000
X-TM-IMSS-Message-ID: <2a06ab69000b1959@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 2a06ab69000b1959 ;
	Mon, 7 May 2012 15:16:40 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q47JGLgx014644; 
	Mon, 7 May 2012 15:16:21 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Ian Jackson <ian.jackson@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>
Date: Mon,  7 May 2012 15:15:09 -0400
Message-Id: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: git-send-email 1.7.7.6
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
expression CTX->osevent_in_hook-- (usually 1) instead of the value of
the function call it made. Change the macro to a statement including the
return variable to fix this.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/libxl/libxl_event.c |   37 +++++++++++++++++++++----------------
 1 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 638b9ab..6aced19 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -27,18 +27,23 @@
  * these macros, with the ctx locked.  Likewise all the "occurred"
  * entrypoints from the application should assert(!in_hook);
  */
-#define OSEVENT_HOOK_INTERN(defval, hookname, ...)                      \
-    (CTX->osevent_hooks                                                 \
-     ? (CTX->osevent_in_hook++,                                         \
-        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__),   \
-        CTX->osevent_in_hook--)                                         \
-     : defval)
-
-#define OSEVENT_HOOK(hookname,...)                      \
-    OSEVENT_HOOK_INTERN(0, hookname, __VA_ARGS__)
-
-#define OSEVENT_HOOK_VOID(hookname,...)                 \
-    OSEVENT_HOOK_INTERN((void)0, hookname, __VA_ARGS__)
+#define OSEVENT_HOOK_RET(rc, hookname,...) do {                             \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
+        CTX->osevent_in_hook--;                                             \
+    } else {                                                                \
+        rc = 0;                                                             \
+    }                                                                       \
+} while (0)
+
+#define OSEVENT_HOOK_VOID(hookname,...) do {                                \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);       \
+        CTX->osevent_in_hook--;                                             \
+    }                                                                       \
+} while (0)
 
 /*
  * fd events
@@ -54,7 +59,7 @@ int libxl__ev_fd_register(libxl__gc *gc, libxl__ev_fd *ev,
 
     CTX_LOCK;
 
-    rc = OSEVENT_HOOK(fd_register, fd, &ev->for_app_reg, events, ev);
+    OSEVENT_HOOK_RET(rc, fd_register, fd, &ev->for_app_reg, events, ev);
     if (rc) goto out;
 
     ev->fd = fd;
@@ -77,7 +82,7 @@ int libxl__ev_fd_modify(libxl__gc *gc, libxl__ev_fd *ev, short events)
     CTX_LOCK;
     assert(libxl__ev_fd_isregistered(ev));
 
-    rc = OSEVENT_HOOK(fd_modify, ev->fd, &ev->for_app_reg, events);
+    OSEVENT_HOOK_RET(rc, fd_modify, ev->fd, &ev->for_app_reg, events);
     if (rc) goto out;
 
     ev->events = events;
@@ -147,7 +152,7 @@ static int time_register_finite(libxl__gc *gc, libxl__ev_time *ev,
 {
     int rc;
 
-    rc = OSEVENT_HOOK(timeout_register, &ev->for_app_reg, abs, ev);
+    OSEVENT_HOOK_RET(rc, timeout_register, &ev->for_app_reg, abs, ev);
     if (rc) return rc;
 
     ev->infinite = 0;
@@ -226,7 +231,7 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
         rc = time_register_finite(gc, ev, abs);
         if (rc) goto out;
     } else {
-        rc = OSEVENT_HOOK(timeout_modify, &ev->for_app_reg, abs);
+        OSEVENT_HOOK_RET(rc, timeout_modify, &ev->for_app_reg, abs);
         if (rc) goto out;
 
         LIBXL_TAILQ_REMOVE(&CTX->etimes, ev, entry);
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 19:55:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 19:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRU1N-0007Zf-MD; Mon, 07 May 2012 19:55:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRU1M-0007Za-Jt
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 19:55:00 +0000
Received: from [193.109.254.147:50177] by server-11.bemta-14.messagelabs.com
	id A2/93-05858-39828AF4; Mon, 07 May 2012 19:54:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336420497!8087408!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4531 invoked from network); 7 May 2012 19:54:59 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 19:54:59 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47Jsj23019395
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 19:54:45 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47JsiGc002527
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 19:54:44 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47Jsf3x007366; Mon, 7 May 2012 14:54:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 12:54:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4087D4031D; Mon,  7 May 2012 15:48:51 -0400 (EDT)
Date: Mon, 7 May 2012 15:48:51 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120507194851.GA17718@phenom.dumpdata.com>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
	<4FA2615C.1000301@hfp.de>
	<1336042317.20716.40.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336042317.20716.40.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Andreas Kinzler <ml-xen-devel@hfp.de>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 11:51:57AM +0100, Ian Campbell wrote:
> On Thu, 2012-05-03 at 11:43 +0100, Andreas Kinzler wrote:
> > On 02.05.2012 15:31, Ian Campbell wrote:
> > > Did you happen to also compare 3.2.12 and 2.6.34.10 running these
> > > workloads natively?
> > 
> > Yes, I tested against 2.6.32.x. Differences exist, but are minor.
> 
> Good to know, thanks for testing
> 
> The other potential Xen perf thing which just occurred to to me is the
> ACPI power management stuff which the xen-acpi-processor patches in
> 3.4-rcN are fixing. These are necessary to enable things like turbo mode
> so have a pretty large perf impact.
> 
> Are you able to try the latest 3.4-rc kernel?
> 
> I'm not sure if backports to the kernels you are running exist or not,
> Konrad? 

No. But they should be easy to cherry-pick. However, I would suggest
trying v3.4-rc6 first and seeing if that makes a difference.

> 
> Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 19:55:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 19:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRU1N-0007Zf-MD; Mon, 07 May 2012 19:55:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRU1M-0007Za-Jt
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 19:55:00 +0000
Received: from [193.109.254.147:50177] by server-11.bemta-14.messagelabs.com
	id A2/93-05858-39828AF4; Mon, 07 May 2012 19:54:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336420497!8087408!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNjUzMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4531 invoked from network); 7 May 2012 19:54:59 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 19:54:59 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47Jsj23019395
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 19:54:45 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47JsiGc002527
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 19:54:44 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47Jsf3x007366; Mon, 7 May 2012 14:54:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 12:54:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4087D4031D; Mon,  7 May 2012 15:48:51 -0400 (EDT)
Date: Mon, 7 May 2012 15:48:51 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120507194851.GA17718@phenom.dumpdata.com>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
	<4FA2615C.1000301@hfp.de>
	<1336042317.20716.40.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336042317.20716.40.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Andreas Kinzler <ml-xen-devel@hfp.de>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 03, 2012 at 11:51:57AM +0100, Ian Campbell wrote:
> On Thu, 2012-05-03 at 11:43 +0100, Andreas Kinzler wrote:
> > On 02.05.2012 15:31, Ian Campbell wrote:
> > > Did you happen to also compare 3.2.12 and 2.6.34.10 running these
> > > workloads natively?
> > 
> > Yes, I tested against 2.6.32.x. Differences exist, but are minor.
> 
> Good to know, thanks for testing
> 
> The other potential Xen perf thing which just occurred to to me is the
> ACPI power management stuff which the xen-acpi-processor patches in
> 3.4-rcN are fixing. These are necessary to enable things like turbo mode
> so have a pretty large perf impact.
> 
> Are you able to try the latest 3.4-rc kernel?
> 
> I'm not sure if backports to the kernels you are running exist or not,
> Konrad? 

No. But they should be easy to cherry-pick. However, I would suggest
trying v3.4-rc6 first and seeing if that makes a difference.

> 
> Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 19:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 19:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRU5X-0007ga-BD; Mon, 07 May 2012 19:59:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SRU5V-0007gU-Uv
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 19:59:18 +0000
Received: from [193.109.254.147:57258] by server-8.bemta-14.messagelabs.com id
	A4/CB-23244-59928AF4; Mon, 07 May 2012 19:59:17 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336420755!8060744!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13590 invoked from network); 7 May 2012 19:59:16 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-4.tower-27.messagelabs.com with SMTP;
	7 May 2012 19:59:16 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q47JxEHA028382;
	Mon, 7 May 2012 15:59:14 -0400
Message-ID: <4FA82992.1030508@theshore.net>
Date: Mon, 07 May 2012 15:59:14 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120507171703.GA5746@phenom.dumpdata.com>
	<4FA81669.5040202@theshore.net>
In-Reply-To: <4FA81669.5040202@theshore.net>
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 5/7/12 2:37 PM, Christopher S. Aker wrote:
> This looks suspiciously like the problem described by Nai Xia in "mm:
> page_check_address bug fix and make it validate subpages in huge pages"
> <http://lkml.org/lkml/2011/3/28/196> - which never made it into mainline
> that I can detect.
>
> We've rebuilt without CONFIG_HIGHPTE and are running our test again. We
> shall see.

No joy just disabling CONFIG_HIGHPTE.  Triggered it on four boxes in no 
time.  Bugs out exactly the same as before except the second BUG 
"scheduling while atomic" doesn't happen.

On 5/7/12 1:17 PM, Konrad Rzeszutek Wilk wrote:
> Hm, can you give more details on what parameters you are passing to
> dom0 and the hypervisor so I can reproduce it?

Xen and dom0 binaries and modules, and arguments here:

http://theshore.net/~caker/xen/BUGS/lvm/

This is atop hardware RAID -- we haven't tested on anything other than 
Supermicro motherboards.

Thanks,
-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 19:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 19:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRU5X-0007ga-BD; Mon, 07 May 2012 19:59:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SRU5V-0007gU-Uv
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 19:59:18 +0000
Received: from [193.109.254.147:57258] by server-8.bemta-14.messagelabs.com id
	A4/CB-23244-59928AF4; Mon, 07 May 2012 19:59:17 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336420755!8060744!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13590 invoked from network); 7 May 2012 19:59:16 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-4.tower-27.messagelabs.com with SMTP;
	7 May 2012 19:59:16 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q47JxEHA028382;
	Mon, 7 May 2012 15:59:14 -0400
Message-ID: <4FA82992.1030508@theshore.net>
Date: Mon, 07 May 2012 15:59:14 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120507171703.GA5746@phenom.dumpdata.com>
	<4FA81669.5040202@theshore.net>
In-Reply-To: <4FA81669.5040202@theshore.net>
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 5/7/12 2:37 PM, Christopher S. Aker wrote:
> This looks suspiciously like the problem described by Nai Xia in "mm:
> page_check_address bug fix and make it validate subpages in huge pages"
> <http://lkml.org/lkml/2011/3/28/196> - which never made it into mainline
> that I can detect.
>
> We've rebuilt without CONFIG_HIGHPTE and are running our test again. We
> shall see.

No joy just disabling CONFIG_HIGHPTE.  Triggered it on four boxes in no 
time.  Bugs out exactly the same as before except the second BUG 
"scheduling while atomic" doesn't happen.

On 5/7/12 1:17 PM, Konrad Rzeszutek Wilk wrote:
> Hm, can you give more details on what parameters you are passing to
> dom0 and the hypervisor so I can reproduce it?

Xen and dom0 binaries and modules, and arguments here:

http://theshore.net/~caker/xen/BUGS/lvm/

This is atop hardware RAID -- we haven't tested on anything other than 
Supermicro motherboards.

Thanks,
-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 20:04:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 20:04:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRU9s-0007uK-14; Mon, 07 May 2012 20:03:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRU9q-0007uC-9s
	for xen-devel@lists.xen.org; Mon, 07 May 2012 20:03:46 +0000
Received: from [85.158.143.35:26037] by server-2.bemta-4.messagelabs.com id
	0E/37-17550-1AA28AF4; Mon, 07 May 2012 20:03:45 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336421024!14367881!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15357 invoked from network); 7 May 2012 20:03:45 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 20:03:45 -0000
Received: by eekc4 with SMTP id c4so1121983eek.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 13:03:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=P/mPIgppSnN6HbbnLmnaITxkW2XfeeAP+qBfz9Lju7Y=;
	b=XMzN1rWAMdHxb2WAsJ42IYuCQvVM+2IuYBqsBmQCIw50TG+bE+KW86YevLspQam02F
	ytlTbEZbeVTfQzSVAMuMsRBuQalwk+S6xVSG9Fu6IXQRDqr3l5AccIeKkrqLUDoOJEIZ
	Y9r/raDl/C0w3blkDkzSOBLGR7Z8g/AjQBPueCVbhbKex/TFx0D/Bj6iGLXZH8n/fH4a
	DSG34Yia4HQTdVmd6KG1pJ0mw4mPT7BUZWALGeL7OAF2KnokWZUkuDDEMt+nQCQZPCrP
	DiBi7rJj6Ts21U62jUBD/AA8cGzlhQ/hvTlN+hjn6iZNAgcsalOPU3HqIcNOdhsiQEAy
	m6yw==
Received: by 10.213.108.195 with SMTP id g3mr642045ebp.11.1336421024270;
	Mon, 07 May 2012 13:03:44 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id d18sm91204512eeb.7.2012.05.07.13.03.42
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 13:03:43 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 21:03:38 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Pavel =?ISO-8859-2?B?TWF07Gph?= <pavel@netsafe.cz>,
	<xen-devel@lists.xen.org>
Message-ID: <CBCDE92A.3284A%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
	and 4.1.3
Thread-Index: Ac0sjH26Iu1tku+sXU2sbaKqOjxtTw==
In-Reply-To: <201205071918.09014.pavel@netsafe.cz>
Mime-version: 1.0
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 18:18, "Pavel Mat=ECja" <pavel@netsafe.cz> wrote:

> On Mon 7. of May 2012 14:58:44 Keir Fraser wrote:
>> Folks,
>> =

>> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>> =

>> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
>> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>> =

>> Please test!
>> =

>>  -- Keir
> =

> And which kernel should we use please?

The kernel of your choice. We don't do kernels and hypervisors as matched
pairs these days. A recent pv_ops kernel ought to work with either 4.0 or
4.1.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 20:04:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 20:04:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRU9s-0007uK-14; Mon, 07 May 2012 20:03:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRU9q-0007uC-9s
	for xen-devel@lists.xen.org; Mon, 07 May 2012 20:03:46 +0000
Received: from [85.158.143.35:26037] by server-2.bemta-4.messagelabs.com id
	0E/37-17550-1AA28AF4; Mon, 07 May 2012 20:03:45 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336421024!14367881!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15357 invoked from network); 7 May 2012 20:03:45 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 20:03:45 -0000
Received: by eekc4 with SMTP id c4so1121983eek.32
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 13:03:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=P/mPIgppSnN6HbbnLmnaITxkW2XfeeAP+qBfz9Lju7Y=;
	b=XMzN1rWAMdHxb2WAsJ42IYuCQvVM+2IuYBqsBmQCIw50TG+bE+KW86YevLspQam02F
	ytlTbEZbeVTfQzSVAMuMsRBuQalwk+S6xVSG9Fu6IXQRDqr3l5AccIeKkrqLUDoOJEIZ
	Y9r/raDl/C0w3blkDkzSOBLGR7Z8g/AjQBPueCVbhbKex/TFx0D/Bj6iGLXZH8n/fH4a
	DSG34Yia4HQTdVmd6KG1pJ0mw4mPT7BUZWALGeL7OAF2KnokWZUkuDDEMt+nQCQZPCrP
	DiBi7rJj6Ts21U62jUBD/AA8cGzlhQ/hvTlN+hjn6iZNAgcsalOPU3HqIcNOdhsiQEAy
	m6yw==
Received: by 10.213.108.195 with SMTP id g3mr642045ebp.11.1336421024270;
	Mon, 07 May 2012 13:03:44 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id d18sm91204512eeb.7.2012.05.07.13.03.42
	(version=SSLv3 cipher=OTHER); Mon, 07 May 2012 13:03:43 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 07 May 2012 21:03:38 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Pavel =?ISO-8859-2?B?TWF07Gph?= <pavel@netsafe.cz>,
	<xen-devel@lists.xen.org>
Message-ID: <CBCDE92A.3284A%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
	and 4.1.3
Thread-Index: Ac0sjH26Iu1tku+sXU2sbaKqOjxtTw==
In-Reply-To: <201205071918.09014.pavel@netsafe.cz>
Mime-version: 1.0
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 18:18, "Pavel Mat=ECja" <pavel@netsafe.cz> wrote:

> On Mon 7. of May 2012 14:58:44 Keir Fraser wrote:
>> Folks,
>> =

>> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>> =

>> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
>> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>> =

>> Please test!
>> =

>>  -- Keir
> =

> And which kernel should we use please?

The kernel of your choice. We don't do kernels and hypervisors as matched
pairs these days. A recent pv_ops kernel ought to work with either 4.0 or
4.1.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 20:08:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 20:08:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRUEQ-00083H-N8; Mon, 07 May 2012 20:08:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRUEP-00083B-R6
	for xen-devel@lists.xen.org; Mon, 07 May 2012 20:08:29 +0000
Received: from [85.158.143.35:15912] by server-2.bemta-4.messagelabs.com id
	29/B9-17550-DBB28AF4; Mon, 07 May 2012 20:08:29 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336421308!11835245!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31160 invoked from network); 7 May 2012 20:08:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 20:08:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,545,1330905600"; d="scan'208";a="12339207"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 20:08:08 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	21:08:07 +0100
Message-ID: <4FA82BA6.7040508@citrix.com>
Date: Mon, 7 May 2012 21:08:06 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <CBCD8594.3FCE5%keir@xen.org>
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 13:58, Keir Fraser wrote:
> Folks,
>
> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>
> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>
> Please test!
>
>  -- Keir

XenServer trunk is currently running on xen-4.1-testing tip (minus the 3
changesets today) (plus a patch queue).

I am not aware of any outstanding hypervisor issues.

~Andrew

>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 20:08:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 20:08:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRUEQ-00083H-N8; Mon, 07 May 2012 20:08:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRUEP-00083B-R6
	for xen-devel@lists.xen.org; Mon, 07 May 2012 20:08:29 +0000
Received: from [85.158.143.35:15912] by server-2.bemta-4.messagelabs.com id
	29/B9-17550-DBB28AF4; Mon, 07 May 2012 20:08:29 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336421308!11835245!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31160 invoked from network); 7 May 2012 20:08:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 20:08:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,545,1330905600"; d="scan'208";a="12339207"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 20:08:08 +0000
Received: from [10.30.249.82] (10.30.249.82) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Mon, 7 May 2012
	21:08:07 +0100
Message-ID: <4FA82BA6.7040508@citrix.com>
Date: Mon, 7 May 2012 21:08:06 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <CBCD8594.3FCE5%keir@xen.org>
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 13:58, Keir Fraser wrote:
> Folks,
>
> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>
> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>
> Please test!
>
>  -- Keir

XenServer trunk is currently running on xen-4.1-testing tip (minus the 3
changesets today) (plus a patch queue).

I am not aware of any outstanding hypervisor issues.

~Andrew

>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 20:53:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 20:53:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRUvo-0008OE-Ml; Mon, 07 May 2012 20:53:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SRUvn-0008O9-48
	for xen-devel@lists.xen.org; Mon, 07 May 2012 20:53:19 +0000
Received: from [85.158.139.83:65353] by server-2.bemta-5.messagelabs.com id
	4E/C4-17016-E3638AF4; Mon, 07 May 2012 20:53:18 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336423997!15895668!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDMzNjc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14683 invoked from network); 7 May 2012 20:53:17 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 20:53:17 -0000
Received: from smtphost2.dur.ac.uk (smtphost2.dur.ac.uk [129.234.252.2])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q47Kr2YL030778;
	Mon, 7 May 2012 21:53:06 +0100
Received: from vega-b.dur.ac.uk (vega-b.dur.ac.uk [129.234.250.134])
	by smtphost2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q47KqkcX016708
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 21:52:46 +0100
Received: from vega-b.dur.ac.uk (localhost [127.0.0.1])
	by vega-b.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q47KqkY6015649;
	Mon, 7 May 2012 21:52:46 +0100
Received: from localhost (dcl0may@localhost)
	by vega-b.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q47KqkQ8015645;
	Mon, 7 May 2012 21:52:46 +0100
Date: Mon, 7 May 2012 21:52:46 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Keir Fraser <keir@xen.org>
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
Message-ID: <alpine.DEB.2.00.1205072123530.19527@vega-b.dur.ac.uk>
References: <CBCD8594.3FCE5%keir@xen.org>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q47Kr2YL030778
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and	4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012, Keir Fraser wrote:

> Folks,
>
> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>
> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>
> Please test!

I am seeing problems building 4.1.3-rc1 on Fedora 17, though it might be 
changes in Fedora 17 rather than xen changes that have triggered it. When 
trying to compile objects such as scheduler.c in tools/blktap2/drivers I 
get the error
/usr/include/features.h:329:3: error: #warning _FORTIFY_SOURCE requested but disabled [-Werror=cpp]

On checking that file I see that this is because -Wp,-D_FORTIFY_SOURCE=2 
is requested with -O0 . Fedora 17 decides to warn about this and it 
becomes an error as -Werror is specified.
This conflict occurs because of the line
CFLAGS += -Werror -g -O0
in tools/blktap2/drivers/Makefile
I can of course work around the problem in my build, but I was wondering 
if optimization level 0 is still necessary for this code. I think the 
only other place -O0 is used now is tools/security/Makefile which I 
assume will also trigger the problem.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 20:53:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 20:53:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRUvo-0008OE-Ml; Mon, 07 May 2012 20:53:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SRUvn-0008O9-48
	for xen-devel@lists.xen.org; Mon, 07 May 2012 20:53:19 +0000
Received: from [85.158.139.83:65353] by server-2.bemta-5.messagelabs.com id
	4E/C4-17016-E3638AF4; Mon, 07 May 2012 20:53:18 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336423997!15895668!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDMzNjc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14683 invoked from network); 7 May 2012 20:53:17 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 20:53:17 -0000
Received: from smtphost2.dur.ac.uk (smtphost2.dur.ac.uk [129.234.252.2])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q47Kr2YL030778;
	Mon, 7 May 2012 21:53:06 +0100
Received: from vega-b.dur.ac.uk (vega-b.dur.ac.uk [129.234.250.134])
	by smtphost2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q47KqkcX016708
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 21:52:46 +0100
Received: from vega-b.dur.ac.uk (localhost [127.0.0.1])
	by vega-b.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q47KqkY6015649;
	Mon, 7 May 2012 21:52:46 +0100
Received: from localhost (dcl0may@localhost)
	by vega-b.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q47KqkQ8015645;
	Mon, 7 May 2012 21:52:46 +0100
Date: Mon, 7 May 2012 21:52:46 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Keir Fraser <keir@xen.org>
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
Message-ID: <alpine.DEB.2.00.1205072123530.19527@vega-b.dur.ac.uk>
References: <CBCD8594.3FCE5%keir@xen.org>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q47Kr2YL030778
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and	4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012, Keir Fraser wrote:

> Folks,
>
> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>
> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>
> Please test!

I am seeing problems building 4.1.3-rc1 on Fedora 17, though it might be 
changes in Fedora 17 rather than xen changes that have triggered it. When 
trying to compile objects such as scheduler.c in tools/blktap2/drivers I 
get the error
/usr/include/features.h:329:3: error: #warning _FORTIFY_SOURCE requested but disabled [-Werror=cpp]

On checking that file I see that this is because -Wp,-D_FORTIFY_SOURCE=2 
is requested with -O0 . Fedora 17 decides to warn about this and it 
becomes an error as -Werror is specified.
This conflict occurs because of the line
CFLAGS += -Werror -g -O0
in tools/blktap2/drivers/Makefile
I can of course work around the problem in my build, but I was wondering 
if optimization level 0 is still necessary for this code. I think the 
only other place -O0 is used now is tools/security/Makefile which I 
assume will also trigger the problem.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 21:20:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:20:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVLz-0000FU-AB; Mon, 07 May 2012 21:20:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRVLx-0000FP-58
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 21:20:21 +0000
Received: from [85.158.138.51:59690] by server-11.bemta-3.messagelabs.com id
	B7/4F-18894-49C38AF4; Mon, 07 May 2012 21:20:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336425619!25754203!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12233 invoked from network); 7 May 2012 21:20:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 21:20:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,546,1330905600"; d="scan'208";a="12340837"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 21:20:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 22:20:18 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRVLu-0002w1-EC;
	Mon, 07 May 2012 21:20:18 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRVLu-0000Gf-6Z;
	Mon, 07 May 2012 22:20:18 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12795-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 22:20:18 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12795: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12795 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12795/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      9 guest-start               fail REGR. vs. 12784
 test-amd64-amd64-xl-winxpsp3  5 xen-boot                     fail   like 12769

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass

version targeted for testing:
 xen                  92c59e870d72
baseline version:
 xen                  d8fd425b60d3

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.0-testing
+ revision=92c59e870d72
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.0-testing 92c59e870d72
+ branch=xen-4.0-testing
+ revision=92c59e870d72
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.0-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.0-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.0-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.0-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.0-testing.git
++ : daily-cron.xen-4.0-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.0-testing.git
+ info_linux_tree xen-4.0-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.0-testing.hg
+ hg push -r 92c59e870d72 ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 4 changes to 4 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 21:20:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:20:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVLz-0000FU-AB; Mon, 07 May 2012 21:20:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRVLx-0000FP-58
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 21:20:21 +0000
Received: from [85.158.138.51:59690] by server-11.bemta-3.messagelabs.com id
	B7/4F-18894-49C38AF4; Mon, 07 May 2012 21:20:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336425619!25754203!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12233 invoked from network); 7 May 2012 21:20:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 21:20:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,546,1330905600"; d="scan'208";a="12340837"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 21:20:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 22:20:18 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRVLu-0002w1-EC;
	Mon, 07 May 2012 21:20:18 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRVLu-0000Gf-6Z;
	Mon, 07 May 2012 22:20:18 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12795-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 22:20:18 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12795: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12795 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12795/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      9 guest-start               fail REGR. vs. 12784
 test-amd64-amd64-xl-winxpsp3  5 xen-boot                     fail   like 12769

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass

version targeted for testing:
 xen                  92c59e870d72
baseline version:
 xen                  d8fd425b60d3

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.0-testing
+ revision=92c59e870d72
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.0-testing 92c59e870d72
+ branch=xen-4.0-testing
+ revision=92c59e870d72
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.0-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.0-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.0-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.0-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.0-testing.git
++ : daily-cron.xen-4.0-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.0-testing.git
+ info_linux_tree xen-4.0-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.0-testing.hg
+ hg push -r 92c59e870d72 ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 4 changes to 4 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 21:26:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:26:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVRE-0000NO-2W; Mon, 07 May 2012 21:25:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SRVRD-0000NG-07
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 21:25:47 +0000
Received: from [85.158.143.99:11639] by server-3.bemta-4.messagelabs.com id
	DB/E1-05853-ADD38AF4; Mon, 07 May 2012 21:25:46 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336425942!23516242!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4655 invoked from network); 7 May 2012 21:25:43 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 21:25:43 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q47LPaig024480
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Mon, 7 May 2012 17:25:36 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q47LPapV024478;
	Mon, 7 May 2012 17:25:36 -0400
Date: Mon, 7 May 2012 17:25:36 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120507212536.GA24344@andromeda.dapyr.net>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
User-Agent: Mutt/1.5.9i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
	FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Apr 17, 2012 at 11:58:58AM +0100, Stefano Stabellini wrote:
> On Mon, 16 Apr 2012, Konrad Rzeszutek Wilk wrote:
> > On Tue, Apr 10, 2012 at 05:25:19PM +0100, Stefano Stabellini wrote:
> > > Set pages as FOREIGN_FRAME whenever blkfront shares them with another
> > > domain. Then when blkfront un-share them, also removes the
> > > FOREIGN_FRAME_BIT from the p2m.
> > > 
> > > We do it so that when the source and the destination domain are the same
> > > (blkfront connected to blkback in the same domain) we can more easily

So I've been testing it with my mini config and it worked great. But
when I started using a distro .config it blew up. I am not really
sure why it does that, but here is the dmesg and .config.

Nothing fancy with the guest config:

cat /crash.xm  | grep -v \#
memory = 4096
name = "OL6_X86_64_PVHVM"
vcpus=12
vif = [ 'mac=00:0f:4b:00:00:72,bridge=switch' ]
disk= ['phy:/dev/guests/OL6_X86_64_PVHVM,hda,w']
vfb = [ 'vnc=1, vnclisten=0.0.0.0,vncunused=1']
vnc=1
vnclisten="0.0.0.0"
hvm_loader="/usr/bin/pygrub"


This is the #testing branch, but just using my #linux-next along
with stable/for-jens-3.5 should reproduce this.

I added a bit of debug statement and found that 0xffffffffffffffff
was passed in as a PFN in the set_phys_to_machine.


Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.4.0-rc6bug+ (root@g-oel6.dumpdata.com) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #2 SMP Mon May 7 16:34:26 EDT 2012
Command line: ro root=/dev/mapper/vg_goel6-lv_root rd_LVM_LV=vg_goel6/lv_root rd_LVM_LV=vg_goel6/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us  console=ttyS0,115200 debug loglevel=8 
ACPI in unprivileged domain disabled
E820_RAM 100000->100800, last OK PFN is 100000
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 00000000000a0000 (usable)
 Xen: 00000000000a0000 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 0000000100800000 (usable)
NX (Execute Disable) protection: active
DMI not present or invalid.
e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
No AGP bridge found
last_pfn = 0x100800 max_arch_pfn = 0x400000000
last_pfn = 0x100000 max_arch_pfn = 0x400000000
initial memory mapped : 0 - 0477c000
Base memory trampoline at [ffff88000009b000] 9b000 size 20480
init_memory_mapping: 0000000000000000-0000000100000000
 0000000000 - 0100000000 page 4k
kernel direct mapping tables up to 100000000 @ 7fb000-1000000
xen: setting RW the range fd0000 - 1000000
init_memory_mapping: 0000000100000000-0000000100800000
 0100000000 - 0100800000 page 4k
kernel direct mapping tables up to 100800000 @ ff7f6000-100000000
xen: setting RW the range ff7fb000 - 100000000
RAMDISK: 02136000 - 0477c000
No NUMA configuration found
Faking a node at 0000000000000000-0000000100800000
Initmem setup node 0 0000000000000000-0000000100800000
  NODE_DATA [00000000fffda000 - 00000000ffffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   0x00100000 -> 0x00100800
Movable zone start PFN for each node
Early memory PFN ranges
    0: 0x00000010 -> 0x000000a0
    0: 0x00000100 -> 0x00100800
On node 0 totalpages: 1050512
  DMA zone: 56 pages used for memmap
  DMA zone: 2010 pages reserved
  DMA zone: 1918 pages, LIFO batch:0
  DMA32 zone: 14280 pages used for memmap
  DMA32 zone: 1030200 pages, LIFO batch:31
  Normal zone: 28 pages used for memmap
  Normal zone: 2020 pages, LIFO batch:0
SFI: Simple Firmware Interface v0.81 http://simplefirmware.org
SMP: Allowing 12 CPUs, 0 hotplug CPUs
No local APIC present
APIC: disable apic facility
APIC: switched to apic NOOP
nr_irqs_gsi: 16
PM: Registered nosave memory: 00000000000a0000 - 0000000000100000
PCI: Warning: Cannot find a gap in the 32bit address range
PCI: Unassigned devices with 32bit resource registers may break!
Allocating PCI resources starting at 100900000 (gap: 100900000:400000)
Booting paravirtualized kernel on Xen
Xen version: 4.1-120507 (preserve-AD)
setup_percpu: NR_CPUS:4096 nr_cpumask_bits:12 nr_cpu_ids:12 nr_node_ids:1
PERCPU: Embedded 28 pages/cpu @ffff8800ffe3a000 s82304 r8192 d24192 u114688
pcpu-alloc: s82304 r8192 d24192 u114688 alloc=28*4096
pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] 06 [0] 07 
pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11 
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 1034138
Policy zone: Normal
Kernel command line: ro root=/dev/mapper/vg_goel6-lv_root rd_LVM_LV=vg_goel6/lv_root rd_LVM_LV=vg_goel6/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us  console=ttyS0,115200 debug loglevel=8 
PID hash table entries: 4096 (order: 3, 32768 bytes)
Checking aperture...
No AGP bridge found
Calgary: detecting Calgary via BIOS EBDA area
Calgary: Unable to locate Rio Grande table in EBDA - bailing!
Memory: 3997660k/4202496k available (5301k kernel code, 448k absent, 204388k reserved, 3502k data, 1492k init)
Hierarchical RCU implementation.
NR_IRQS:262400 nr_irqs:368 16
Console: colour dummy device 80x25
console [tty0] enabled
console [hvc0] enabled
console [ttyS0] enabled
allocated 17301504 bytes of page_cgroup
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
Detected 2294.526 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 4589.05 BogoMIPS (lpj=2294526)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys net_cls
Initializing cgroup subsys blkio
ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
ftrace: allocating 21183 entries in 83 pages
cpu 0 spinlock event irq 17
Performance Events: unsupported p6 CPU model 45 no PMU driver, software events only.
NMI watchdog: disabled (cpu0): hardware events not enabled
installing Xen timer for CPU 1
cpu 1 spinlock event irq 24
SMP alternatives: switching to SMP code
NMI watchdog: disabled (cpu1): hardware events not enabled
installing Xen timer for CPU 2
cpu 2 spinlock event irq 31
NMI watchdog: disabled (cpu2): hardware events not enabled
installing Xen timer for CPU 3
cpu 3 spinlock event irq 38
NMI watchdog: disabled (cpu3): hardware events not enabled
installing Xen timer for CPU 4
cpu 4 spinlock event irq 45
NMI watchdog: disabled (cpu4): hardware events not enabled
installing Xen timer for CPU 5
cpu 5 spinlock event irq 52
NMI watchdog: disabled (cpu5): hardware events not enabled
installing Xen timer for CPU 6
cpu 6 spinlock event irq 59
NMI watchdog: disabled (cpu6): hardware events not enabled
installing Xen timer for CPU 7
cpu 7 spinlock event irq 66
NMI watchdog: disabled (cpu7): hardware events not enabled
installing Xen timer for CPU 8
cpu 8 spinlock event irq 73
NMI watchdog: disabled (cpu8): hardware events not enabled
installing Xen timer for CPU 9
cpu 9 spinlock event irq 80
NMI watchdog: disabled (cpu9): hardware events not enabled
installing Xen timer for CPU 10
cpu 10 spinlock event irq 87
NMI watchdog: disabled (cpu10): hardware events not enabled
installing Xen timer for CPU 11
cpu 11 spinlock event irq 94
NMI watchdog: disabled (cpu11): hardware events not enabled
Brought up 12 CPUs
devtmpfs: initialized
Grant tables using version 2 layout.
Grant table initialized
dummy: 
NET: Registered protocol family 16
PCI: setting up Xen PCI frontend stub
PCI: pci_cache_line_size set to 64 bytes
bio: create slab <bio-0> at 0
ACPI: Interpreter disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: System does not support PCI
PCI: System does not support PCI
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
Switching to clocksource xen
pnp: PnP ACPI: disabled
NET: Registered protocol family 2
IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP: reno registered
UDP hash table entries: 2048 (order: 4, 65536 bytes)
UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
NET: Registered protocol family 1
PCI: CLS 0 bytes, default 64
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 39192k freed
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Placing 64MB software IO TLB between ffff8800f7000000 - ffff8800fb000000
software IO TLB at phys 0xf7000000 - 0xfb000000
platform rtc_cmos: registered platform RTC device (no PNP device found)
audit: initializing netlink socket (disabled)
type=2000 audit(1336425310.959:1): initialized
HugeTLB registered 2 MB page size, pre-allocated 0 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
msgmni has been set to 7884
SELinux:  Registering netfilter hooks
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
pciehp: PCI Express Hot Plug Controller Driver version: 0.4
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Console: switching to colour frame buffer device 100x37
intel_idle: does not run on family 6 model 45
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Non-volatile memory driver v1.3
Linux agpgart interface v0.103
brd: module loaded
loop: module loaded
Fixed MDIO Bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
uhci_hcd: USB Universal Host Controller Interface driver
i8042: PNP: No PS/2 controller found. Probing ports directly.
i8042: No controller found
mousedev: PS/2 mouse device common for all mice
input: Xen Virtual Keyboard as /devices/virtual/input/input0
input: Xen Virtual Pointer as /devices/virtual/input/input1
rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
rtc_cmos: probe of rtc_cmos failed with error -38
EFI Variables Facility v0.08 2004-May-17
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
zram: num_devices not specified. Using default: 1
zram: Creating 1 devices ...
TCP: cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 17
Registering the dns_resolver key type
registered taskstats version 1
IMA: No TPM chip found, activating TPM-bypass!
XENBUS: Device with no driver: device/vbd/768
XENBUS: Device with no driver: device/vif/0
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Initializing network drop monitor service
Freeing unused kernel memory: 1492k freed
dracut: dracut-004-256.0.1.el6
dracut: rd_NO_LUKS: removing cryptoluks activation
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
udev: starting version 147
udevd (116): /proc/116/oom_adj is deprecated, please use /proc/116/oom_score_adj instead.
dracut: Starting plymouth daemon
blkfront: xvda: barrier or flush: disabled
 xvda: xvda1 xvda2
dracut: Scanning devices xvda2  for LVM logical volumes vg_goel6/lv_root vg_goel6/lv_swap 
dracut: inactive '/dev/vg_goel6/lv_root' [37.54 GiB] inherit
dracut: inactive '/dev/vg_goel6/lv_swap' [1.97 GiB] inherit
EXT4-fs (dm-0): INFO: recovery required on readonly filesystem
EXT4-fs (dm-0): write access will be enabled during recovery
EXT4-fs (dm-0): recovery complete
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
dracut: Mounted root filesystem /dev/mapper/vg_goel6-lv_root
dracut: Loading SELinux policy
type=1404 audit(1336425312.753:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295
SELinux: 2048 avtab hash slots, 225597 rules.
SELinux: 2048 avtab hash slots, 225597 rules.
SELinux:  9 users, 12 roles, 3577 types, 179 bools, 1 sens, 1024 cats
SELinux:  81 classes, 225597 rules
SELinux:  Permission audit_access in class file not defined in policy.
SELinux:  Permission audit_access in class dir not defined in policy.
SELinux:  Permission execmod in class dir not defined in policy.
SELinux:  Permission audit_access in class lnk_file not defined in policy.
SELinux:  Permission open in class lnk_file not defined in policy.
SELinux:  Permission execmod in class lnk_file not defined in policy.
SELinux:  Permission audit_access in class chr_file not defined in policy.
SELinux:  Permission audit_access in class blk_file not defined in policy.
SELinux:  Permission execmod in class blk_file not defined in policy.
SELinux:  Permission audit_access in class sock_file not defined in policy.
SELinux:  Permission execmod in class sock_file not defined in policy.
SELinux:  Permission audit_access in class fifo_file not defined in policy.
SELinux:  Permission execmod in class fifo_file not defined in policy.
SELinux:  Permission syslog in class capability2 not defined in policy.
SELinux: the above unknown classes and permissions will be allowed
SELinux:  Completing initialization.
SELinux:  Setting up existing superblocks.
SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts
SELinux: initialized (dev bdev, type bdev), uses genfs_contexts
SELinux: initialized (dev proc, type proc), uses genfs_contexts
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
SELinux: initialized (dev devtmpfs, type devtmpfs), uses transition SIDs
SELinux: initialized (dev debugfs, type debugfs), uses genfs_contexts
SELinux: initialized (dev sockfs, type sockfs), uses task SIDs
SELinux: initialized (dev pipefs, type pipefs), uses task SIDs
SELinux: initialized (dev anon_inodefs, type anon_inodefs), uses genfs_contexts
SELinux: initialized (dev devpts, type devpts), uses transition SIDs
SELinux: initialized (dev hugetlbfs, type hugetlbfs), uses transition SIDs
SELinux: initialized (dev mqueue, type mqueue), uses transition SIDs
SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfs_contexts
SELinux: initialized (dev securityfs, type securityfs), uses genfs_contexts
SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
SELinux: initialized (dev dm-0, type ext4), uses xattr
type=1403 audit(1336425313.280:3): policy loaded auid=4294967295 ses=4294967295
dracut: 
dracut: Switching root
SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
readahead: starting
udev: starting version 147
input: PC Speaker as /devices/platform/pcspkr/input/input2
alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
Initialising Xen virtual ethernet driver.
vif vif-0: single tx ring
vif vif-0: single rx ring
vif vif-0: single event channel, irq = 105
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
EXT4-fs (dm-0): re-mounted. Opts: (null)
------------[ cut here ]------------
kernel BUG at arch/x86/xen/p2m.c:634!
invalid opcode: 0000 [#1] SMP 
CPU 0 
Modules linked in: vhost_net macvtap macvlan tun uinput xen_netfront coretemp hwmon crc32c_intel ghash_clmulni_intel aesni_intel cryptd aes_x86_64 aes_generic pcspkr ext4 mbcache jbd2 xen_blkfront dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]

Pid: 0, comm: swapper/0 Not tainted 3.4.0-rc6bug+ #2  
RIP: e030:[<ffffffff8100b078>]  [<ffffffff8100b078>] __set_phys_to_machine+0x108/0x120
RSP: e02b:ffff8800ffe3ddb8  EFLAGS: 00010887
RAX: 7fffffffffffffff RBX: ffffffffffffffff RCX: 00000000000001ee
RDX: 7fffffffffffffff RSI: 7fffffffffffffff RDI: ffffffffffffffff
RBP: ffff8800ffe3ddb8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: 7fffffffffffffff
R13: ffff8800035be000 R14: 0000000000000019 R15: 000000000000240d
FS:  00007fc24492c7e0(0000) GS:ffff8800ffe3a000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007fc243c2f358 CR3: 0000000003a55000 CR4: 0000000000002660
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper/0 (pid: 0, threadinfo ffffffff817a2000, task ffffffff817b5020)
Stack:
 ffff8800ffe3ddd8 ffffffff8100b431 0000000000000000 ffff8800035bf6d8
 ffff8800ffe3de48 ffffffffa0034f04 ffff8800035ad000 ffff880003615378
 0000000000000000 0000240e00000000 ffff8800035bf660 000000000000000d
Call Trace:
 <IRQ> 
 [<ffffffff8100b431>] set_phys_to_machine+0x21/0x50
 [<ffffffffa0034f04>] blkif_interrupt+0x114/0x360 [xen_blkfront]
 [<ffffffff810d198d>] handle_irq_event_percpu+0x6d/0x220
 [<ffffffff810d1b91>] handle_irq_event+0x51/0x80
 [<ffffffff810d52b0>] handle_edge_irq+0x80/0x140
 [<ffffffff812f5b91>] __xen_evtchn_do_upcall+0x1b1/0x280
 [<ffffffff812f677f>] xen_evtchn_do_upcall+0x2f/0x50
 [<ffffffff8152a92e>] xen_do_hypervisor_callback+0x1e/0x30
 <EOI> 
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff81009f10>] ? xen_safe_halt+0x10/0x20
 [<ffffffff8101d60d>] ? default_idle+0x5d/0x1b0
 [<ffffffff8101cc99>] ? cpu_idle+0xd9/0x120
 [<ffffffff815051d5>] ? rest_init+0x75/0x80
 [<ffffffff818aff22>] ? start_kernel+0x3ec/0x3f9
 [<ffffffff818af954>] ? kernel_init+0x284/0x284
 [<ffffffff818af346>] ? x86_64_start_reservations+0x131/0x136
 [<ffffffff818b335b>] ? xen_start_kernel+0x6b0/0x6b7
Code: 0f 94 c0 c3 0f 1f 80 00 00 00 00 b8 01 00 00 00 c9 c3 48 83 fe ff 74 f3 48 39 f7 74 ee 0f 0b 0f 1f 40 00 eb fa 48 83 fe ff 74 e0 <0f> 0b 66 0f 1f 44 00 00 eb f8 66 66 66 66 66 2e 0f 1f 84 00 00 
RIP  [<ffffffff8100b078>] __set_phys_to_machine+0x108/0x120
 RSP <ffff8800ffe3ddb8>
---[ end trace 595ea88467dca615 ]---
Kernel panic - not syncing: Fatal exception in interrupt
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 21:26:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:26:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVRE-0000NO-2W; Mon, 07 May 2012 21:25:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SRVRD-0000NG-07
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 21:25:47 +0000
Received: from [85.158.143.99:11639] by server-3.bemta-4.messagelabs.com id
	DB/E1-05853-ADD38AF4; Mon, 07 May 2012 21:25:46 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336425942!23516242!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4655 invoked from network); 7 May 2012 21:25:43 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 21:25:43 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q47LPaig024480
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Mon, 7 May 2012 17:25:36 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q47LPapV024478;
	Mon, 7 May 2012 17:25:36 -0400
Date: Mon, 7 May 2012 17:25:36 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120507212536.GA24344@andromeda.dapyr.net>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
User-Agent: Mutt/1.5.9i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
	FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Apr 17, 2012 at 11:58:58AM +0100, Stefano Stabellini wrote:
> On Mon, 16 Apr 2012, Konrad Rzeszutek Wilk wrote:
> > On Tue, Apr 10, 2012 at 05:25:19PM +0100, Stefano Stabellini wrote:
> > > Set pages as FOREIGN_FRAME whenever blkfront shares them with another
> > > domain. Then when blkfront un-share them, also removes the
> > > FOREIGN_FRAME_BIT from the p2m.
> > > 
> > > We do it so that when the source and the destination domain are the same
> > > (blkfront connected to blkback in the same domain) we can more easily

So I've been testing it with my mini config and it worked great. But
when I started using a distro .config it blew up. I am not really
sure why it does that, but here is the dmesg and .config.

Nothing fancy with the guest config:

cat /crash.xm  | grep -v \#
memory = 4096
name = "OL6_X86_64_PVHVM"
vcpus=12
vif = [ 'mac=00:0f:4b:00:00:72,bridge=switch' ]
disk= ['phy:/dev/guests/OL6_X86_64_PVHVM,hda,w']
vfb = [ 'vnc=1, vnclisten=0.0.0.0,vncunused=1']
vnc=1
vnclisten="0.0.0.0"
hvm_loader="/usr/bin/pygrub"


This is the #testing branch, but just using my #linux-next along
with stable/for-jens-3.5 should reproduce this.

I added a bit of debug statement and found that 0xffffffffffffffff
was passed in as a PFN in the set_phys_to_machine.


Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.4.0-rc6bug+ (root@g-oel6.dumpdata.com) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #2 SMP Mon May 7 16:34:26 EDT 2012
Command line: ro root=/dev/mapper/vg_goel6-lv_root rd_LVM_LV=vg_goel6/lv_root rd_LVM_LV=vg_goel6/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us  console=ttyS0,115200 debug loglevel=8 
ACPI in unprivileged domain disabled
E820_RAM 100000->100800, last OK PFN is 100000
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 00000000000a0000 (usable)
 Xen: 00000000000a0000 - 0000000000100000 (reserved)
 Xen: 0000000000100000 - 0000000100800000 (usable)
NX (Execute Disable) protection: active
DMI not present or invalid.
e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
No AGP bridge found
last_pfn = 0x100800 max_arch_pfn = 0x400000000
last_pfn = 0x100000 max_arch_pfn = 0x400000000
initial memory mapped : 0 - 0477c000
Base memory trampoline at [ffff88000009b000] 9b000 size 20480
init_memory_mapping: 0000000000000000-0000000100000000
 0000000000 - 0100000000 page 4k
kernel direct mapping tables up to 100000000 @ 7fb000-1000000
xen: setting RW the range fd0000 - 1000000
init_memory_mapping: 0000000100000000-0000000100800000
 0100000000 - 0100800000 page 4k
kernel direct mapping tables up to 100800000 @ ff7f6000-100000000
xen: setting RW the range ff7fb000 - 100000000
RAMDISK: 02136000 - 0477c000
No NUMA configuration found
Faking a node at 0000000000000000-0000000100800000
Initmem setup node 0 0000000000000000-0000000100800000
  NODE_DATA [00000000fffda000 - 00000000ffffffff]
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   0x00100000 -> 0x00100800
Movable zone start PFN for each node
Early memory PFN ranges
    0: 0x00000010 -> 0x000000a0
    0: 0x00000100 -> 0x00100800
On node 0 totalpages: 1050512
  DMA zone: 56 pages used for memmap
  DMA zone: 2010 pages reserved
  DMA zone: 1918 pages, LIFO batch:0
  DMA32 zone: 14280 pages used for memmap
  DMA32 zone: 1030200 pages, LIFO batch:31
  Normal zone: 28 pages used for memmap
  Normal zone: 2020 pages, LIFO batch:0
SFI: Simple Firmware Interface v0.81 http://simplefirmware.org
SMP: Allowing 12 CPUs, 0 hotplug CPUs
No local APIC present
APIC: disable apic facility
APIC: switched to apic NOOP
nr_irqs_gsi: 16
PM: Registered nosave memory: 00000000000a0000 - 0000000000100000
PCI: Warning: Cannot find a gap in the 32bit address range
PCI: Unassigned devices with 32bit resource registers may break!
Allocating PCI resources starting at 100900000 (gap: 100900000:400000)
Booting paravirtualized kernel on Xen
Xen version: 4.1-120507 (preserve-AD)
setup_percpu: NR_CPUS:4096 nr_cpumask_bits:12 nr_cpu_ids:12 nr_node_ids:1
PERCPU: Embedded 28 pages/cpu @ffff8800ffe3a000 s82304 r8192 d24192 u114688
pcpu-alloc: s82304 r8192 d24192 u114688 alloc=28*4096
pcpu-alloc: [0] 00 [0] 01 [0] 02 [0] 03 [0] 04 [0] 05 [0] 06 [0] 07 
pcpu-alloc: [0] 08 [0] 09 [0] 10 [0] 11 
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 1034138
Policy zone: Normal
Kernel command line: ro root=/dev/mapper/vg_goel6-lv_root rd_LVM_LV=vg_goel6/lv_root rd_LVM_LV=vg_goel6/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us  console=ttyS0,115200 debug loglevel=8 
PID hash table entries: 4096 (order: 3, 32768 bytes)
Checking aperture...
No AGP bridge found
Calgary: detecting Calgary via BIOS EBDA area
Calgary: Unable to locate Rio Grande table in EBDA - bailing!
Memory: 3997660k/4202496k available (5301k kernel code, 448k absent, 204388k reserved, 3502k data, 1492k init)
Hierarchical RCU implementation.
NR_IRQS:262400 nr_irqs:368 16
Console: colour dummy device 80x25
console [tty0] enabled
console [hvc0] enabled
console [ttyS0] enabled
allocated 17301504 bytes of page_cgroup
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
Detected 2294.526 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 4589.05 BogoMIPS (lpj=2294526)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys net_cls
Initializing cgroup subsys blkio
ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
ftrace: allocating 21183 entries in 83 pages
cpu 0 spinlock event irq 17
Performance Events: unsupported p6 CPU model 45 no PMU driver, software events only.
NMI watchdog: disabled (cpu0): hardware events not enabled
installing Xen timer for CPU 1
cpu 1 spinlock event irq 24
SMP alternatives: switching to SMP code
NMI watchdog: disabled (cpu1): hardware events not enabled
installing Xen timer for CPU 2
cpu 2 spinlock event irq 31
NMI watchdog: disabled (cpu2): hardware events not enabled
installing Xen timer for CPU 3
cpu 3 spinlock event irq 38
NMI watchdog: disabled (cpu3): hardware events not enabled
installing Xen timer for CPU 4
cpu 4 spinlock event irq 45
NMI watchdog: disabled (cpu4): hardware events not enabled
installing Xen timer for CPU 5
cpu 5 spinlock event irq 52
NMI watchdog: disabled (cpu5): hardware events not enabled
installing Xen timer for CPU 6
cpu 6 spinlock event irq 59
NMI watchdog: disabled (cpu6): hardware events not enabled
installing Xen timer for CPU 7
cpu 7 spinlock event irq 66
NMI watchdog: disabled (cpu7): hardware events not enabled
installing Xen timer for CPU 8
cpu 8 spinlock event irq 73
NMI watchdog: disabled (cpu8): hardware events not enabled
installing Xen timer for CPU 9
cpu 9 spinlock event irq 80
NMI watchdog: disabled (cpu9): hardware events not enabled
installing Xen timer for CPU 10
cpu 10 spinlock event irq 87
NMI watchdog: disabled (cpu10): hardware events not enabled
installing Xen timer for CPU 11
cpu 11 spinlock event irq 94
NMI watchdog: disabled (cpu11): hardware events not enabled
Brought up 12 CPUs
devtmpfs: initialized
Grant tables using version 2 layout.
Grant table initialized
dummy: 
NET: Registered protocol family 16
PCI: setting up Xen PCI frontend stub
PCI: pci_cache_line_size set to 64 bytes
bio: create slab <bio-0> at 0
ACPI: Interpreter disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: System does not support PCI
PCI: System does not support PCI
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
Switching to clocksource xen
pnp: PnP ACPI: disabled
NET: Registered protocol family 2
IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP: reno registered
UDP hash table entries: 2048 (order: 4, 65536 bytes)
UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
NET: Registered protocol family 1
PCI: CLS 0 bytes, default 64
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 39192k freed
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Placing 64MB software IO TLB between ffff8800f7000000 - ffff8800fb000000
software IO TLB at phys 0xf7000000 - 0xfb000000
platform rtc_cmos: registered platform RTC device (no PNP device found)
audit: initializing netlink socket (disabled)
type=2000 audit(1336425310.959:1): initialized
HugeTLB registered 2 MB page size, pre-allocated 0 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
msgmni has been set to 7884
SELinux:  Registering netfilter hooks
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
pciehp: PCI Express Hot Plug Controller Driver version: 0.4
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Console: switching to colour frame buffer device 100x37
intel_idle: does not run on family 6 model 45
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Non-volatile memory driver v1.3
Linux agpgart interface v0.103
brd: module loaded
loop: module loaded
Fixed MDIO Bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
uhci_hcd: USB Universal Host Controller Interface driver
i8042: PNP: No PS/2 controller found. Probing ports directly.
i8042: No controller found
mousedev: PS/2 mouse device common for all mice
input: Xen Virtual Keyboard as /devices/virtual/input/input0
input: Xen Virtual Pointer as /devices/virtual/input/input1
rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
rtc_cmos: probe of rtc_cmos failed with error -38
EFI Variables Facility v0.08 2004-May-17
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
zram: num_devices not specified. Using default: 1
zram: Creating 1 devices ...
TCP: cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 17
Registering the dns_resolver key type
registered taskstats version 1
IMA: No TPM chip found, activating TPM-bypass!
XENBUS: Device with no driver: device/vbd/768
XENBUS: Device with no driver: device/vif/0
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Initializing network drop monitor service
Freeing unused kernel memory: 1492k freed
dracut: dracut-004-256.0.1.el6
dracut: rd_NO_LUKS: removing cryptoluks activation
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
udev: starting version 147
udevd (116): /proc/116/oom_adj is deprecated, please use /proc/116/oom_score_adj instead.
dracut: Starting plymouth daemon
blkfront: xvda: barrier or flush: disabled
 xvda: xvda1 xvda2
dracut: Scanning devices xvda2  for LVM logical volumes vg_goel6/lv_root vg_goel6/lv_swap 
dracut: inactive '/dev/vg_goel6/lv_root' [37.54 GiB] inherit
dracut: inactive '/dev/vg_goel6/lv_swap' [1.97 GiB] inherit
EXT4-fs (dm-0): INFO: recovery required on readonly filesystem
EXT4-fs (dm-0): write access will be enabled during recovery
EXT4-fs (dm-0): recovery complete
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
dracut: Mounted root filesystem /dev/mapper/vg_goel6-lv_root
dracut: Loading SELinux policy
type=1404 audit(1336425312.753:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295
SELinux: 2048 avtab hash slots, 225597 rules.
SELinux: 2048 avtab hash slots, 225597 rules.
SELinux:  9 users, 12 roles, 3577 types, 179 bools, 1 sens, 1024 cats
SELinux:  81 classes, 225597 rules
SELinux:  Permission audit_access in class file not defined in policy.
SELinux:  Permission audit_access in class dir not defined in policy.
SELinux:  Permission execmod in class dir not defined in policy.
SELinux:  Permission audit_access in class lnk_file not defined in policy.
SELinux:  Permission open in class lnk_file not defined in policy.
SELinux:  Permission execmod in class lnk_file not defined in policy.
SELinux:  Permission audit_access in class chr_file not defined in policy.
SELinux:  Permission audit_access in class blk_file not defined in policy.
SELinux:  Permission execmod in class blk_file not defined in policy.
SELinux:  Permission audit_access in class sock_file not defined in policy.
SELinux:  Permission execmod in class sock_file not defined in policy.
SELinux:  Permission audit_access in class fifo_file not defined in policy.
SELinux:  Permission execmod in class fifo_file not defined in policy.
SELinux:  Permission syslog in class capability2 not defined in policy.
SELinux: the above unknown classes and permissions will be allowed
SELinux:  Completing initialization.
SELinux:  Setting up existing superblocks.
SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts
SELinux: initialized (dev bdev, type bdev), uses genfs_contexts
SELinux: initialized (dev proc, type proc), uses genfs_contexts
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
SELinux: initialized (dev devtmpfs, type devtmpfs), uses transition SIDs
SELinux: initialized (dev debugfs, type debugfs), uses genfs_contexts
SELinux: initialized (dev sockfs, type sockfs), uses task SIDs
SELinux: initialized (dev pipefs, type pipefs), uses task SIDs
SELinux: initialized (dev anon_inodefs, type anon_inodefs), uses genfs_contexts
SELinux: initialized (dev devpts, type devpts), uses transition SIDs
SELinux: initialized (dev hugetlbfs, type hugetlbfs), uses transition SIDs
SELinux: initialized (dev mqueue, type mqueue), uses transition SIDs
SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfs_contexts
SELinux: initialized (dev securityfs, type securityfs), uses genfs_contexts
SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
SELinux: initialized (dev dm-0, type ext4), uses xattr
type=1403 audit(1336425313.280:3): policy loaded auid=4294967295 ses=4294967295
dracut: 
dracut: Switching root
SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
readahead: starting
udev: starting version 147
input: PC Speaker as /devices/platform/pcspkr/input/input2
alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
Initialising Xen virtual ethernet driver.
vif vif-0: single tx ring
vif vif-0: single rx ring
vif vif-0: single event channel, irq = 105
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
EXT4-fs (dm-0): re-mounted. Opts: (null)
------------[ cut here ]------------
kernel BUG at arch/x86/xen/p2m.c:634!
invalid opcode: 0000 [#1] SMP 
CPU 0 
Modules linked in: vhost_net macvtap macvlan tun uinput xen_netfront coretemp hwmon crc32c_intel ghash_clmulni_intel aesni_intel cryptd aes_x86_64 aes_generic pcspkr ext4 mbcache jbd2 xen_blkfront dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]

Pid: 0, comm: swapper/0 Not tainted 3.4.0-rc6bug+ #2  
RIP: e030:[<ffffffff8100b078>]  [<ffffffff8100b078>] __set_phys_to_machine+0x108/0x120
RSP: e02b:ffff8800ffe3ddb8  EFLAGS: 00010887
RAX: 7fffffffffffffff RBX: ffffffffffffffff RCX: 00000000000001ee
RDX: 7fffffffffffffff RSI: 7fffffffffffffff RDI: ffffffffffffffff
RBP: ffff8800ffe3ddb8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: 7fffffffffffffff
R13: ffff8800035be000 R14: 0000000000000019 R15: 000000000000240d
FS:  00007fc24492c7e0(0000) GS:ffff8800ffe3a000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007fc243c2f358 CR3: 0000000003a55000 CR4: 0000000000002660
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper/0 (pid: 0, threadinfo ffffffff817a2000, task ffffffff817b5020)
Stack:
 ffff8800ffe3ddd8 ffffffff8100b431 0000000000000000 ffff8800035bf6d8
 ffff8800ffe3de48 ffffffffa0034f04 ffff8800035ad000 ffff880003615378
 0000000000000000 0000240e00000000 ffff8800035bf660 000000000000000d
Call Trace:
 <IRQ> 
 [<ffffffff8100b431>] set_phys_to_machine+0x21/0x50
 [<ffffffffa0034f04>] blkif_interrupt+0x114/0x360 [xen_blkfront]
 [<ffffffff810d198d>] handle_irq_event_percpu+0x6d/0x220
 [<ffffffff810d1b91>] handle_irq_event+0x51/0x80
 [<ffffffff810d52b0>] handle_edge_irq+0x80/0x140
 [<ffffffff812f5b91>] __xen_evtchn_do_upcall+0x1b1/0x280
 [<ffffffff812f677f>] xen_evtchn_do_upcall+0x2f/0x50
 [<ffffffff8152a92e>] xen_do_hypervisor_callback+0x1e/0x30
 <EOI> 
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff81009f10>] ? xen_safe_halt+0x10/0x20
 [<ffffffff8101d60d>] ? default_idle+0x5d/0x1b0
 [<ffffffff8101cc99>] ? cpu_idle+0xd9/0x120
 [<ffffffff815051d5>] ? rest_init+0x75/0x80
 [<ffffffff818aff22>] ? start_kernel+0x3ec/0x3f9
 [<ffffffff818af954>] ? kernel_init+0x284/0x284
 [<ffffffff818af346>] ? x86_64_start_reservations+0x131/0x136
 [<ffffffff818b335b>] ? xen_start_kernel+0x6b0/0x6b7
Code: 0f 94 c0 c3 0f 1f 80 00 00 00 00 b8 01 00 00 00 c9 c3 48 83 fe ff 74 f3 48 39 f7 74 ee 0f 0b 0f 1f 40 00 eb fa 48 83 fe ff 74 e0 <0f> 0b 66 0f 1f 44 00 00 eb f8 66 66 66 66 66 2e 0f 1f 84 00 00 
RIP  [<ffffffff8100b078>] __set_phys_to_machine+0x108/0x120
 RSP <ffff8800ffe3ddb8>
---[ end trace 595ea88467dca615 ]---
Kernel panic - not syncing: Fatal exception in interrupt
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 21:38:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:38:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVch-0000am-GK; Mon, 07 May 2012 21:37:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SRVcf-0000ah-IZ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 21:37:38 +0000
Received: from [85.158.139.83:56117] by server-1.bemta-5.messagelabs.com id
	6E/63-28458-0A048AF4; Mon, 07 May 2012 21:37:36 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336426645!27204262!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=3.5 required=7.0 tests=UNIQUE_WORDS, UPPERCASE_75_100
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11097 invoked from network); 7 May 2012 21:37:27 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 21:37:27 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q47LbGwn024843
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Mon, 7 May 2012 17:37:16 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q47LbGuE024841;
	Mon, 7 May 2012 17:37:16 -0400
Date: Mon, 7 May 2012 17:37:16 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120507213716.GA24819@andromeda.dapyr.net>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120507212536.GA24344@andromeda.dapyr.net>
User-Agent: Mutt/1.5.9i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
	FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 05:25:36PM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 17, 2012 at 11:58:58AM +0100, Stefano Stabellini wrote:
> > On Mon, 16 Apr 2012, Konrad Rzeszutek Wilk wrote:
> > > On Tue, Apr 10, 2012 at 05:25:19PM +0100, Stefano Stabellini wrote:
> > > > Set pages as FOREIGN_FRAME whenever blkfront shares them with another
> > > > domain. Then when blkfront un-share them, also removes the
> > > > FOREIGN_FRAME_BIT from the p2m.
> > > > 
> > > > We do it so that when the source and the destination domain are the same
> > > > (blkfront connected to blkback in the same domain) we can more easily
> 
> So I've been testing it with my mini config and it worked great. But
> when I started using a distro .config it blew up. I am not really
> sure why it does that, but here is the dmesg and .config.
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.4.0-rc6 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION="bug"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=20
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
# CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_PERF_COUNTERS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
CONFIG_OPTPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_THROTTLING=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="deadline"
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_ZONE_DMA=y
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_VSMP is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=500
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_MICROCODE_XEN=y
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS=4096
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
# CONFIG_NUMA_EMU is not set
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
# CONFIG_MEMORY_HOTREMOVE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_CLEANCACHE=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_EFI=y
# CONFIG_EFI_STUB is not set
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=m
# CONFIG_ACPI_CUSTOM_METHOD is not set
# CONFIG_ACPI_BGRT is not set
CONFIG_ACPI_APEI=y
# CONFIG_ACPI_APEI_GHES is not set
# CONFIG_ACPI_APEI_PCIEAER is not set
# CONFIG_ACPI_APEI_MEMORY_FAILURE is not set
CONFIG_ACPI_APEI_EINJ=m
CONFIG_ACPI_APEI_ERST_DEBUG=m
CONFIG_SFI=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# x86 CPU frequency scaling drivers
#
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K8=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_P4_CLOCKMOD=m

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_INTEL_IDLE=y

#
# Memory power savings
#
CONFIG_I7300_IDLE_IOAT_CHANNEL=y
CONFIG_I7300_IDLE=m

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=y
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=m
CONFIG_RAPIDIO=y
# CONFIG_RAPIDIO_TSI721 is not set
CONFIG_RAPIDIO_DISC_TIMEOUT=30
# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set
# CONFIG_RAPIDIO_DEBUG is not set
# CONFIG_RAPIDIO_TSI57X is not set
# CONFIG_RAPIDIO_CPS_XX is not set
# CONFIG_RAPIDIO_TSI568 is not set
# CONFIG_RAPIDIO_CPS_GEN2 is not set
# CONFIG_RAPIDIO_TSI500 is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not set
# CONFIG_X86_X32 is not set
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
# CONFIG_INET_UDP_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
# CONFIG_NETFILTER_NETLINK_ACCT is not set
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
# CONFIG_NF_CONNTRACK_ZONES is not set
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
# CONFIG_NETFILTER_XT_TARGET_LOG is not set
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETPORT=m
# CONFIG_IP_SET_HASH_NETIFACE is not set
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
# CONFIG_IP_VS_PE_SIP is not set

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
# CONFIG_IP_NF_MATCH_RPFILTER is not set
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_DCCP=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PROTO_UDPLITE=m
CONFIG_NF_NAT_PROTO_SCTP=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
# CONFIG_IP6_NF_MATCH_RPFILTER is not set
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
CONFIG_NET_SCTPPROBE=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
CONFIG_RDS=m
CONFIG_RDS_RDMA=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
# CONFIG_ATM_MPOA is not set
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
# CONFIG_DECNET is not set
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
CONFIG_PHONET=m
CONFIG_IEEE802154=m
# CONFIG_IEEE802154_6LOWPAN is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
# CONFIG_NET_SCH_QFQ is not set
CONFIG_NET_SCH_INGRESS=m
# CONFIG_NET_SCH_PLUG is not set

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=m
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_OPENVSWITCH is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
# CONFIG_NETPRIO_CGROUP is not set
CONFIG_BQL=y
CONFIG_HAVE_BPF_JIT=y
CONFIG_BPF_JIT=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NET_TCPPROBE is not set
CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
# CONFIG_CAN_GW is not set

#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_PCH_CAN=m
CONFIG_CAN_SJA1000=m
# CONFIG_CAN_SJA1000_ISA is not set
CONFIG_CAN_SJA1000_PLATFORM=m
# CONFIG_CAN_EMS_PCMCIA is not set
CONFIG_CAN_EMS_PCI=m
# CONFIG_CAN_PEAK_PCMCIA is not set
# CONFIG_CAN_PEAK_PCI is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PLX_PCI=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
# CONFIG_CAN_CC770 is not set

#
# CAN USB interfaces
#
CONFIG_CAN_EMS_USB=m
CONFIG_CAN_ESD_USB2=m
# CONFIG_CAN_PEAK_USB is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SOFTING_CS=m
# CONFIG_CAN_DEBUG_DEVICES is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
CONFIG_LIB80211_CRYPT_TKIP=m
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_REGULATOR is not set
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_RDMA=m
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
# CONFIG_NFC is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_REDBOOT_PARTS=m
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_AR7_PARTS=m

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=m
CONFIG_MTD_BLKDEVS=m
CONFIG_MTD_BLOCK=m
CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
# CONFIG_INFTL is not set
CONFIG_RFD_FTL=m
CONFIG_SSFDC=m
CONFIG_SM_FTL=m
CONFIG_MTD_OOPS=m
CONFIG_MTD_SWAP=m

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=m
CONFIG_MTD_JEDECPROBE=m
CONFIG_MTD_GEN_PROBE=m
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=m
CONFIG_MTD_CFI_AMDSTD=m
CONFIG_MTD_CFI_STAA=m
CONFIG_MTD_CFI_UTIL=m
CONFIG_MTD_RAM=m
CONFIG_MTD_ROM=m
CONFIG_MTD_ABSENT=m

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_SC520CDP=m
CONFIG_MTD_NETSC520=m
CONFIG_MTD_TS5500=m
# CONFIG_MTD_AMD76XROM is not set
# CONFIG_MTD_ICHXROM is not set
CONFIG_MTD_ESB2ROM=m
CONFIG_MTD_CK804XROM=m
CONFIG_MTD_SCB2_FLASH=m
# CONFIG_MTD_NETtel is not set
# CONFIG_MTD_L440GX is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
CONFIG_MTD_MTDRAM=m
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTD_BLOCK2MTD=m

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_DOCG3 is not set
CONFIG_MTD_NAND_ECC=m
CONFIG_MTD_NAND_ECC_SMC=y
CONFIG_MTD_NAND=m
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
CONFIG_MTD_NAND_BCH=m
CONFIG_MTD_NAND_ECC_BCH=y
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
# CONFIG_MTD_NAND_DENALI is not set
CONFIG_MTD_NAND_IDS=m
# CONFIG_MTD_NAND_RICOH is not set
CONFIG_MTD_NAND_DISKONCHIP=m
# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
# CONFIG_MTD_NAND_DOCG4 is not set
# CONFIG_MTD_NAND_CAFE is not set
CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_NAND_PLATFORM is not set
CONFIG_MTD_ALAUDA=m
# CONFIG_MTD_ONENAND is not set

#
# LPDDR flash memory drivers
#
CONFIG_MTD_LPDDR=m
CONFIG_MTD_QINFO_PROBE=m
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_DEBUG is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_BLK_CPQ_DA is not set
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_CISS_SCSI_TAPE=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
CONFIG_DRBD_FAULT_INJECTION=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_NVME is not set
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m

#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
CONFIG_AD525X_DPOT=m
CONFIG_AD525X_DPOT_I2C=m
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
CONFIG_INTEL_MID_PTI=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
CONFIG_ICS932S401=m
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_HP_ILO=m
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=m
CONFIG_SENSORS_TSL2550=m
CONFIG_SENSORS_BH1780=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_APDS990X=m
CONFIG_HMC6352=m
# CONFIG_DS1682 is not set
CONFIG_VMWARE_BALLOON=m
# CONFIG_BMP085 is not set
# CONFIG_PCH_PHUB is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EEPROM_93CX6=m
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
CONFIG_IWMC3200TOP=m
# CONFIG_IWMC3200TOP_DEBUG is not set
# CONFIG_IWMC3200TOP_DEBUGFS is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# CONFIG_SENSORS_LIS3_I2C is not set

#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
CONFIG_ISCSI_BOOT_SYSFS=m
CONFIG_SCSI_CXGB3_ISCSI=m
CONFIG_SCSI_CXGB4_ISCSI=m
CONFIG_SCSI_BNX2_ISCSI=m
CONFIG_SCSI_BNX2X_FCOE=m
CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_3W_SAS=m
# CONFIG_SCSI_ACARD is not set
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=4
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
# CONFIG_SCSI_MVSAS_TASKLET is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
CONFIG_SCSI_ARCMSR=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
# CONFIG_MEGARAID_LEGACY is not set
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS_LOGGING=y
# CONFIG_SCSI_UFSHCD is not set
CONFIG_SCSI_HPTIOP=m
# CONFIG_SCSI_BUSLOGIC is not set
CONFIG_VMWARE_PVSCSI=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_FCOE_FNIC=m
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_PMCRAID=m
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_SRP=m
CONFIG_SCSI_BFA_FC=m
# CONFIG_SCSI_VIRTIO is not set
CONFIG_XEN_SCSI_FRONTEND=m
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_SX4=m
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m

#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARASAN_CF=m
CONFIG_PATA_ARTOP=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_ATP867X=m
CONFIG_PATA_CMD64X=m
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
CONFIG_PATA_CS5536=m
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
CONFIG_PATA_HPT366=m
CONFIG_PATA_HPT37X=m
CONFIG_PATA_HPT3X2N=m
CONFIG_PATA_HPT3X3=m
# CONFIG_PATA_HPT3X3_DMA is not set
CONFIG_PATA_IT8213=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_JMICRON=m
CONFIG_PATA_MARVELL=m
CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=m
# CONFIG_PATA_OPTIDMA is not set
CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
# CONFIG_PATA_RADISYS is not set
CONFIG_PATA_RDC=m
# CONFIG_PATA_SC1200 is not set
CONFIG_PATA_SCH=m
CONFIG_PATA_SERVERWORKS=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
CONFIG_PATA_TOSHIBA=m
# CONFIG_PATA_TRIFLEX is not set
CONFIG_PATA_VIA=m
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_PCMCIA=m
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
CONFIG_PATA_ACPI=m
CONFIG_ATA_GENERIC=m
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MULTICORE_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_DEBUG=y
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
# CONFIG_DM_THIN_PROVISIONING is not set
CONFIG_DM_MIRROR=m
CONFIG_DM_RAID=m
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
# CONFIG_DM_VERITY is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
# CONFIG_TCM_FC is not set
# CONFIG_ISCSI_TARGET is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=m
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=m
CONFIG_FUSION_LAN=m
CONFIG_FUSION_LOGGING=y

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
# CONFIG_EQUALIZER is not set
CONFIG_NET_FC=y
CONFIG_MII=m
CONFIG_IEEE802154_DRIVERS=m
CONFIG_IEEE802154_FAKEHARD=m
CONFIG_IFB=m
# CONFIG_NET_TEAM is not set
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_RIONET is not set
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=m
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_AMBASSADOR is not set
# CONFIG_ATM_HORIZON is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set

#
# CAIF transport drivers
#

#
# Distributed Switch Architecture drivers
#
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA_MV88E6123_61_65=y
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_3C589=m
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
# CONFIG_NET_CALXEDA_XGMAC is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
# CONFIG_CHELSIO_T4VF is not set
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
CONFIG_DNET=m
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=m
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
CONFIG_ULI526X=m
CONFIG_PCMCIA_XIRCOM=m
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DE600 is not set
# CONFIG_DE620 is not set
CONFIG_DL2K=m
# CONFIG_SUNDANCE is not set
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=m
CONFIG_NET_VENDOR_EXAR=y
CONFIG_S2IO=m
CONFIG_VXGE=m
# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_NET_VENDOR_FUJITSU=y
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_NET_VENDOR_HP=y
# CONFIG_HP100 is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCA=y
CONFIG_IXGBE_DCB=y
CONFIG_IXGBEVF=m
CONFIG_NET_VENDOR_I825XX=y
# CONFIG_ZNET is not set
CONFIG_IP1000=m
CONFIG_JME=m
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
# CONFIG_SKGE_GENESIS is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8842 is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_KSZ884X_PCI is not set
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
CONFIG_NS83820=m
CONFIG_NET_VENDOR_8390=y
CONFIG_PCMCIA_AXNET=m
CONFIG_NE2K_PCI=m
CONFIG_PCMCIA_PCNET=m
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
CONFIG_NET_VENDOR_OKI=y
CONFIG_PCH_GBE=m
CONFIG_ETHOC=m
CONFIG_NET_PACKET_ENGINE=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=m
CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not set
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
CONFIG_NET_VENDOR_SEEQ=y
# CONFIG_SEEQ8005 is not set
CONFIG_NET_VENDOR_SILAN=y
CONFIG_SC92031=m
CONFIG_NET_VENDOR_SIS=y
CONFIG_SIS900=m
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_SFC_MTD=y
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=m
CONFIG_EPIC100=m
CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_PCI is not set
# CONFIG_STMMAC_DEBUG_FS is not set
CONFIG_STMMAC_DA=y
CONFIG_STMMAC_RING=y
# CONFIG_STMMAC_CHAINED is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_VELOCITY=m
CONFIG_NET_VENDOR_XIRCOM=y
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_GPIO is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
# CONFIG_PPP_BSDCOMP is not set
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=m
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_SLIP=m
CONFIG_SLHC=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
# CONFIG_TR is not set

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m
CONFIG_USB_NET_DM9601=m
# CONFIG_USB_NET_SMSC75XX is not set
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
CONFIG_USB_NET_KALMIA=m
# CONFIG_USB_NET_QMI_WWAN is not set
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
# CONFIG_USB_VL600 is not set
CONFIG_WLAN=y
# CONFIG_PCMCIA_RAYCS is not set
CONFIG_LIBERTAS_THINFIRM=m
# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
# CONFIG_PRISM54 is not set
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
CONFIG_MAC80211_HWSIM=m
CONFIG_MWL8K=m
# CONFIG_ATH_COMMON is not set
CONFIG_B43=m
CONFIG_B43_SSB=y
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_PIO=y
# CONFIG_B43_PHY_N is not set
CONFIG_B43_PHY_LP=y
# CONFIG_B43_PHY_HT is not set
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
# CONFIG_BRCMFMAC is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=m
# CONFIG_LIBIPW_DEBUG is not set
# CONFIG_IWLWIFI is not set
CONFIG_IWLEGACY=m
CONFIG_IWL4965=m
CONFIG_IWL3945=m

#
# iwl3945 / iwl4965 Debugging Options
#
# CONFIG_IWLEGACY_DEBUG is not set
CONFIG_IWM=m
# CONFIG_IWM_DEBUG is not set
# CONFIG_IWM_TRACING is not set
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
CONFIG_LIBERTAS_SDIO=m
CONFIG_LIBERTAS_DEBUG=y
# CONFIG_LIBERTAS_MESH is not set
CONFIG_HERMES=m
# CONFIG_HERMES_PRISM is not set
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_NORTEL_HERMES=m
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_SPECTRUM=m
# CONFIG_ORINOCO_USB is not set
CONFIG_P54_COMMON=m
CONFIG_P54_USB=m
CONFIG_P54_PCI=m
CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
# CONFIG_RT2800PCI is not set
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
# CONFIG_RT2800USB is not set
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
# CONFIG_RTL8192CE is not set
CONFIG_RTL8192SE=m
# CONFIG_RTL8192DE is not set
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTLWIFI_DEBUG=y
CONFIG_RTL8192C_COMMON=m
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
# CONFIG_WL12XX_MENU is not set
CONFIG_WL12XX_PLATFORM_DATA=y
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
# CONFIG_MWIFIEX is not set

#
# WiMAX Wireless Broadband devices
#
CONFIG_WIMAX_I2400M=m
CONFIG_WIMAX_I2400M_USB=m
CONFIG_WIMAX_I2400M_SDIO=m
# CONFIG_WIMAX_IWMC3200_SDIO is not set
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
CONFIG_WAN=y
# CONFIG_LANMEDIA is not set
CONFIG_HDLC=m
CONFIG_HDLC_RAW=m
# CONFIG_HDLC_RAW_ETH is not set
CONFIG_HDLC_CISCO=m
CONFIG_HDLC_FR=m
CONFIG_HDLC_PPP=m

#
# X.25/LAPB support is disabled
#
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
# CONFIG_DSCC4 is not set
CONFIG_DLCI=m
CONFIG_DLCI_MAX=8
# CONFIG_SBNI is not set
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_IPPP_FILTER=y
# CONFIG_ISDN_PPP_BSDCOMP is not set
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_TTY_FAX=y

#
# ISDN feature submodules
#
CONFIG_ISDN_DIVERSION=m

#
# ISDN4Linux hardware drivers
#

#
# Passive cards
#
CONFIG_ISDN_DRV_HISAX=m

#
# D-channel protocol features
#
CONFIG_HISAX_EURO=y
CONFIG_DE_AOC=y
CONFIG_HISAX_NO_SENDCOMPLETE=y
CONFIG_HISAX_NO_LLC=y
CONFIG_HISAX_NO_KEYPAD=y
CONFIG_HISAX_1TR6=y
CONFIG_HISAX_NI1=y
CONFIG_HISAX_MAX_CARDS=8

#
# HiSax supported cards
#
CONFIG_HISAX_16_3=y
CONFIG_HISAX_TELESPCI=y
CONFIG_HISAX_S0BOX=y
CONFIG_HISAX_FRITZPCI=y
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_ELSA=y
CONFIG_HISAX_DIEHLDIVA=y
CONFIG_HISAX_SEDLBAUER=y
CONFIG_HISAX_NETJET=y
CONFIG_HISAX_NETJET_U=y
CONFIG_HISAX_NICCY=y
CONFIG_HISAX_BKM_A4T=y
CONFIG_HISAX_SCT_QUADRO=y
CONFIG_HISAX_GAZEL=y
CONFIG_HISAX_HFC_PCI=y
CONFIG_HISAX_W6692=y
CONFIG_HISAX_HFC_SX=y
CONFIG_HISAX_ENTERNOW_PCI=y
# CONFIG_HISAX_DEBUG is not set

#
# HiSax PCMCIA card service modules
#
CONFIG_HISAX_SEDLBAUER_CS=m
CONFIG_HISAX_ELSA_CS=m
CONFIG_HISAX_AVM_A1_CS=m
CONFIG_HISAX_TELES_CS=m

#
# HiSax sub driver modules
#
CONFIG_HISAX_ST5481=m
# CONFIG_HISAX_HFCUSB is not set
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m

#
# Active cards
#
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
# CONFIG_CAPI_TRACE is not set
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_CAPIDRV=m

#
# CAPI hardware drivers
#
CONFIG_CAPI_AVM=y
CONFIG_ISDN_DRV_AVMB1_B1PCI=m
CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
CONFIG_ISDN_DRV_AVMB1_T1PCI=m
CONFIG_ISDN_DRV_AVMB1_C4=m
CONFIG_CAPI_EICON=y
# CONFIG_ISDN_DIVAS is not set
CONFIG_ISDN_DRV_GIGASET=m
# CONFIG_GIGASET_CAPI is not set
CONFIG_GIGASET_I4L=y
# CONFIG_GIGASET_DUMMYLL is not set
CONFIG_GIGASET_BASE=m
CONFIG_GIGASET_M105=m
CONFIG_GIGASET_M101=m
# CONFIG_GIGASET_DEBUG is not set
CONFIG_HYSDN=m
CONFIG_HYSDN_CAPI=y
CONFIG_MISDN=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_L1OIP=m

#
# mISDN hardware drivers
#
CONFIG_MISDN_HFCPCI=m
CONFIG_MISDN_HFCMULTI=m
CONFIG_MISDN_HFCUSB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_SPEEDFAX=m
CONFIG_MISDN_INFINEON=m
CONFIG_MISDN_W6692=m
CONFIG_MISDN_NETJET=m
CONFIG_MISDN_IPAC=m
CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1070=m
CONFIG_KEYBOARD_QT2160=m
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
CONFIG_KEYBOARD_TCA6416=m
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_MATRIX=m
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
CONFIG_KEYBOARD_MCS=m
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
CONFIG_MOUSE_GPIO=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_INPUT_JOYSTICK is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
CONFIG_TOUCHSCREEN_BU21013=m
CONFIG_TOUCHSCREEN_CY8CTMG110=m
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
# CONFIG_TOUCHSCREEN_EGALAX is not set
CONFIG_TOUCHSCREEN_FUJITSU=m
# CONFIG_TOUCHSCREEN_ILI210X is not set
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
CONFIG_TOUCHSCREEN_TSC2007=m
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_BMA150 is not set
CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MPU3050 is not set
CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_GP2A is not set
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_CMA3000 is not set
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_ROCKETPORT is not set
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
CONFIG_NOZOMI=m
# CONFIG_ISI is not set
CONFIG_N_HDLC=m
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set
# CONFIG_STALDRV is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MFD_HSU=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=m
CONFIG_SERIAL_TIMBERDALE=m
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=m
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
CONFIG_SERIAL_PCH_UART=m
# CONFIG_SERIAL_XILINX_PS_UART is not set
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
CONFIG_CARDMAN_4000=m
CONFIG_CARDMAN_4040=m
CONFIG_IPWIRELESS=m
# CONFIG_MWAVE is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=8192
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=y
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_RAMOOPS=m
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set
CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=m

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_STUB=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
# CONFIG_HSI is not set

#
# PPS support
#
CONFIG_PPS=m
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set

#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_VX855 is not set

#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_ADP5588 is not set

#
# PCI GPIO expanders:
#
# CONFIG_GPIO_LANGWELL is not set
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_RDC321X is not set

#
# SPI GPIO expanders:
#
# CONFIG_GPIO_MCP23S08 is not set

#
# AC97 GPIO expanders:
#

#
# MODULbus GPIO expanders:
#
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BATTERY_BQ27x00=m
CONFIG_BATTERY_BQ27X00_I2C=y
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_SMB347 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_FAM15H_POWER is not set
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHMD=m
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
CONFIG_SENSORS_LINEAGE=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4261=m
CONFIG_SENSORS_LM95241=m
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX16065 is not set
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_MAX1668 is not set
CONFIG_SENSORS_MAX6639=m
# CONFIG_SENSORS_MAX6642 is not set
CONFIG_SENSORS_MAX6650=m
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
# CONFIG_SENSORS_ADM1275 is not set
# CONFIG_SENSORS_LM25066 is not set
# CONFIG_SENSORS_LTC2978 is not set
CONFIG_SENSORS_MAX16064=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
# CONFIG_SENSORS_UCD9000 is not set
# CONFIG_SENSORS_UCD9200 is not set
# CONFIG_SENSORS_ZL6100 is not set
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMM665=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
CONFIG_SENSORS_EMC2103=m
# CONFIG_SENSORS_EMC6W201 is not set
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SCH56XX_COMMON=m
CONFIG_SENSORS_SCH5627=m
# CONFIG_SENSORS_SCH5636 is not set
CONFIG_SENSORS_ADS1015=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP401=m
# CONFIG_SENSORS_TMP421 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
# CONFIG_SENSORS_W83795 is not set
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_APPLESMC=m

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SC520_WDT is not set
CONFIG_SBC_FITPC2_WATCHDOG=m
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
CONFIG_IBMASR=m
# CONFIG_WAFER_WDT is not set
CONFIG_I6300ESB_WDT=m
CONFIG_ITCO_WDT=m
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=m
CONFIG_IT87_WDT=m
CONFIG_HP_WATCHDOG=m
CONFIG_HPWDT_NMI_DECODING=y
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
CONFIG_SMSC_SCH311X_WDT=m
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_VIA_WDT is not set
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=m
CONFIG_W83697UG_WDT=m
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
CONFIG_XEN_WDT=m

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=m
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=m
CONFIG_MFD_SM501=m
# CONFIG_MFD_SM501_GPIO is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_UCB1400_CORE is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
# CONFIG_MFD_PCF50633 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_TIMBERDALE is not set
CONFIG_LPC_SCH=m
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ISL6271A is not set
CONFIG_REGULATOR_MAX1586=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_LP3971=m
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_TPS62360 is not set
CONFIG_REGULATOR_TPS65023=m
CONFIG_REGULATOR_TPS6507X=m
CONFIG_REGULATOR_WM8400=m
CONFIG_MEDIA_SUPPORT=m

#
# Multimedia core support
#
# CONFIG_MEDIA_CONTROLLER is not set
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_DVB_CORE=m
CONFIG_DVB_NET=y
CONFIG_VIDEO_MEDIA=m

#
# Multimedia drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_RC_CORE=m
CONFIG_LIRC=m
CONFIG_RC_MAP=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_SONY_DECODER=m
CONFIG_IR_RC5_SZ_DECODER=m
CONFIG_IR_SANYO_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_LIRC_CODEC=m
# CONFIG_RC_ATI_REMOTE is not set
CONFIG_IR_ENE=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_ITE_CIR=m
# CONFIG_IR_FINTEK is not set
CONFIG_IR_NUVOTON=m
# CONFIG_IR_REDRAT3 is not set
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
# CONFIG_RC_LOOPBACK is not set
# CONFIG_IR_GPIO_CIR is not set
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_XC4000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEOBUF2_CORE=m
CONFIG_VIDEOBUF2_MEMOPS=m
CONFIG_VIDEOBUF2_VMALLOC=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m

#
# Audio decoders, processors and mixers
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m

#
# RDS decoders
#
CONFIG_VIDEO_SAA6588=m

#
# Video decoders
#
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_TVP5150=m

#
# Video and audio decoders
#
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_CX25840=m

#
# MPEG video encoders
#
CONFIG_VIDEO_CX2341X=m

#
# Video encoders
#
CONFIG_VIDEO_SAA7127=m

#
# Camera sensor devices
#
CONFIG_VIDEO_MT9V011=m

#
# Flash devices
#

#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m

#
# Miscelaneous helper chips
#
CONFIG_VIDEO_M52790=m
# CONFIG_VIDEO_VIVI is not set
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
CONFIG_USB_STV06XX=m
CONFIG_USB_GL860=m
CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
# CONFIG_USB_GSPCA_JEILINJ is not set
# CONFIG_USB_GSPCA_JL2005BCD is not set
# CONFIG_USB_GSPCA_KINECT is not set
CONFIG_USB_GSPCA_KONICA=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_NW80X=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
# CONFIG_USB_GSPCA_SE401 is not set
CONFIG_USB_GSPCA_SN9C2028=m
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SPCA1528=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_SQ930X=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
# CONFIG_USB_GSPCA_TOPRO is not set
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
# CONFIG_USB_GSPCA_VICAM is not set
CONFIG_USB_GSPCA_XIRLINK_CIT=m
CONFIG_USB_GSPCA_ZC3XX=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_VIDEO_EM28XX_RC=y
CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=m
CONFIG_VIDEO_CX231XX_DVB=m
# CONFIG_VIDEO_TM6000 is not set
CONFIG_VIDEO_USBVISION=m
CONFIG_USB_ET61X251=m
CONFIG_USB_SN9C102=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
# CONFIG_VIDEO_CPIA2 is not set
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
CONFIG_V4L_PCI_DRIVERS=y
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_CX23885=m
# CONFIG_MEDIA_ALTERA_CI is not set
# CONFIG_VIDEO_CX25821 is not set
# CONFIG_VIDEO_CX88 is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
# CONFIG_VIDEO_MEYE is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_SAA7134 is not set
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_V4L_ISA_PARPORT_DRIVERS is not set
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_MEM2MEM_DRIVERS is not set
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_CAPTURE_DRIVERS=y

#
# Supported SAA7146 based PCI Adapters
#
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_CORE=m
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m

#
# Supported USB Adapters
#
CONFIG_DVB_USB=m
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_M920X=m
CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_AU6610=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_GP8PSK=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_USB_OPERA1=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
# CONFIG_DVB_USB_PCTV452E is not set
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_EC168=m
# CONFIG_DVB_USB_AZ6007 is not set
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_LME2510=m
# CONFIG_DVB_USB_TECHNISAT_USB2 is not set
# CONFIG_DVB_USB_IT913X is not set
# CONFIG_DVB_USB_MXL111SF is not set
# CONFIG_DVB_USB_RTL28XXU is not set
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_SIANO_MDTV=m

#
# Siano module components
#
CONFIG_SMS_USB_DRV=m
CONFIG_SMS_SDIO_DRV=m

#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

#
# Supported BT878 Adapters
#
CONFIG_DVB_BT8XX=m

#
# Supported Pluto2 Adapters
#
CONFIG_DVB_PLUTO2=m

#
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m

#
# Supported FireWire (IEEE 1394) Adapters
#
CONFIG_DVB_FIREDTV=m
CONFIG_DVB_FIREDTV_INPUT=y

#
# Supported Earthsoft PT1 Adapters
#
CONFIG_DVB_PT1=m

#
# Supported Mantis Adapters
#
# CONFIG_MANTIS_CORE is not set

#
# Supported nGene Adapters
#
CONFIG_DVB_NGENE=m

#
# Supported ddbridge ('Octopus') Adapters
#
# CONFIG_DVB_DDBRIDGE is not set

#
# Supported DVB Frontends
#
# CONFIG_DVB_FE_CUSTOMISE is not set

#
# Multistandard (satellite) frontends
#
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m
CONFIG_DVB_STV090x=m
CONFIG_DVB_STV6110x=m

#
# Multistandard (cable + terrestrial) frontends
#
CONFIG_DVB_DRXK=m
CONFIG_DVB_TDA18271C2DD=m

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_STV6110=m
CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_DS3000=m
CONFIG_DVB_TDA10071=m

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_DRXD=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m

#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_LGDT3305=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m

#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_TUNER_DIB0090=m

#
# SEC control devices for DVB-S
#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_M88RS2000=m

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=y
CONFIG_AGP_VIA=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=64
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m
# CONFIG_DRM_TDFX is not set
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU_DEBUG is not set

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_I810 is not set
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
# CONFIG_DRM_SIS is not set
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
# CONFIG_DRM_VMWGFX is not set
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_STUB_POULSBO is not set
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_WMT_GE_ROPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not set
CONFIG_FB_RIVA_BACKLIGHT=y
# CONFIG_FB_I740 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
# CONFIG_FB_SIS is not set
CONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not set
# CONFIG_FB_VIA_X_COMPATIBILITY is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_TMIO is not set
CONFIG_FB_SM501=m
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
CONFIG_FB_VIRTUAL=m
CONFIG_XEN_FBDEV_FRONTEND=y
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_EXYNOS_VIDEO is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PROGEAR=m
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LP855X is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_SND_VMASTER=y
CONFIG_SND_KCTL_JACK=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_OPL3_LIB_SEQ=m
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCSP=m
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
CONFIG_SND_MPU401=m
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=5
CONFIG_SND_SB_COMMON=m
CONFIG_SND_SB16_DSP=m
CONFIG_SND_TEA575X=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
CONFIG_SND_ALI5451=m
# CONFIG_SND_ASIHPI is not set
CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
CONFIG_SND_AU8810=m
CONFIG_SND_AU8820=m
CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
CONFIG_SND_CA0106=m
# CONFIG_SND_CMIPCI is not set
CONFIG_SND_OXYGEN_LIB=m
CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
CONFIG_SND_DARLA24=m
CONFIG_SND_GINA24=m
CONFIG_SND_LAYLA24=m
CONFIG_SND_MONA=m
CONFIG_SND_MIA=m
CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGOIOX=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
CONFIG_SND_ENS1371=m
CONFIG_SND_ES1938=m
CONFIG_SND_ES1968=m
CONFIG_SND_ES1968_INPUT=y
# CONFIG_SND_ES1968_RADIO is not set
CONFIG_SND_FM801=m
CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PREALLOC_SIZE=64
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_JACK=y
# CONFIG_SND_HDA_PATCH_LOADER is not set
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
# CONFIG_SND_LOLA is not set
CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
CONFIG_SND_PCXHR=m
CONFIG_SND_RIPTIDE=m
CONFIG_SND_RME32=m
CONFIG_SND_RME96=m
CONFIG_SND_RME9652=m
CONFIG_SND_SONICVIBES=m
CONFIG_SND_TRIDENT=m
CONFIG_SND_VIA82XX=m
CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=m
CONFIG_SND_USB_6FIRE=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_FIREWIRE_SPEAKERS=m
# CONFIG_SND_ISIGHT is not set
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_BATTERY_STRENGTH is not set
CONFIG_HIDRAW=y

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACRUX=m
# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_EZKEY=y
# CONFIG_HID_HOLTEK is not set
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=m
CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=y
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=m
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NTRIG=y
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
# CONFIG_HID_PRIMAX is not set
CONFIG_HID_ROCCAT=m
# CONFIG_HID_SAITEK is not set
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
# CONFIG_HID_SPEEDLINK is not set
CONFIG_HID_SUNPLUS=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
# CONFIG_HID_TIVO is not set
CONFIG_HID_TOPSEED=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_WACOM=m
CONFIG_HID_WACOM_POWER_SUPPLY=y
# CONFIG_HID_WIIMOTE is not set
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
CONFIG_USB_MON=y
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=m
# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=m
# CONFIG_USB_SL811_HCD_ISO is not set
# CONFIG_USB_SL811_CS is not set
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=m
CONFIG_XEN_USBDEV_FRONTEND=m
CONFIG_XEN_USBDEV_BACKEND=m

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
CONFIG_USB_TMC=m

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
CONFIG_USB_STORAGE_ISD200=m
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
CONFIG_USB_STORAGE_ONETOUCH=m
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m

#
# USB port drivers
#
CONFIG_USB_USS720=m
CONFIG_USB_SERIAL=m
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_FUNSOFT=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
# CONFIG_USB_SERIAL_F81232 is not set
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
CONFIG_USB_SERIAL_MOS7720=m
# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
# CONFIG_USB_SERIAL_QCAUX is not set
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
# CONFIG_USB_SERIAL_ZIO is not set
# CONFIG_USB_SERIAL_SSU100 is not set
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m
# CONFIG_USB_RIO500 is not set
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
# CONFIG_USB_TRANCEVIBRATOR is not set
CONFIG_USB_IOWARRIOR=m
# CONFIG_USB_TEST is not set
CONFIG_USB_ISIGHTFW=m
# CONFIG_USB_YUREX is not set
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m
# CONFIG_USB_GADGET is not set

#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
# CONFIG_USB_GPIO_VBUS is not set
CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
# CONFIG_MMC_CLKGATE is not set

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
# CONFIG_MMC_RICOH_MMC is not set
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
# CONFIG_MMC_VUB300 is not set
CONFIG_MMC_USHC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
CONFIG_MSPRO_BLOCK=m

#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MEMSTICK_JMICRON_38X=m
# CONFIG_MEMSTICK_R592 is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA9633 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_DELL_NETBOOKS is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_OT200 is not set
CONFIG_LEDS_TRIGGERS=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
# CONFIG_LEDS_TRIGGER_GPIO is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
CONFIG_INFINIBAND_IPATH=m
CONFIG_INFINIBAND_QIB=m
# CONFIG_INFINIBAND_AMSO1100 is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
CONFIG_MLX4_INFINIBAND=m
CONFIG_INFINIBAND_NES=m
# CONFIG_INFINIBAND_NES_DEBUG is not set
CONFIG_INFINIBAND_IPOIB=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=m
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=m
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
# CONFIG_EDAC_MCE_INJ is not set
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD64=m
# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
CONFIG_EDAC_I5400=m
CONFIG_EDAC_I7CORE=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
CONFIG_EDAC_I7300=m
# CONFIG_EDAC_SBRIDGE is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
CONFIG_RTC_DRV_DS1672=m
# CONFIG_RTC_DRV_DS3232 is not set
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
# CONFIG_RTC_DRV_ISL12022 is not set
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_M48T86 is not set
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
# CONFIG_RTC_DRV_MSM6242 is not set
CONFIG_RTC_DRV_BQ4802=m
# CONFIG_RTC_DRV_RP5C01 is not set
CONFIG_RTC_DRV_V3020=m

#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
# CONFIG_INTEL_MID_DMAC is not set
CONFIG_INTEL_IOATDMA=m
# CONFIG_TIMB_DMA is not set
# CONFIG_PCH_DMA is not set
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_KS0108=m
CONFIG_KS0108_PORT=0x378
CONFIG_KS0108_DELAY=2
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
CONFIG_VIRTIO=m
CONFIG_VIRTIO_RING=m

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=m
# CONFIG_VIRTIO_MMIO is not set

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SELFBALLOONING=y
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=y
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_MCE_LOG=y
CONFIG_STAGING=y
# CONFIG_ET131X is not set
# CONFIG_SLICOSS is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_W35UND is not set
# CONFIG_PRISM2_USB is not set
# CONFIG_ECHO is not set
# CONFIG_COMEDI is not set
# CONFIG_ASUS_OLED is not set
# CONFIG_PANEL is not set
# CONFIG_R8187SE is not set
# CONFIG_RTL8192U is not set
# CONFIG_RTLLIB is not set
# CONFIG_R8712U is not set
# CONFIG_RTS_PSTOR is not set
# CONFIG_RTS5139 is not set
# CONFIG_TRANZPORT is not set
# CONFIG_IDE_PHISON is not set
# CONFIG_LINE6_USB is not set
# CONFIG_USB_SERIAL_QUATECH2 is not set
# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
# CONFIG_VT6655 is not set
# CONFIG_VT6656 is not set
# CONFIG_VME_BUS is not set
# CONFIG_DX_SEP is not set
# CONFIG_IIO is not set
CONFIG_ZRAM=y
CONFIG_ZRAM_DEBUG=y
CONFIG_ZCACHE=y
CONFIG_ZSMALLOC=y
# CONFIG_WLAGS49_H2 is not set
# CONFIG_WLAGS49_H25 is not set
# CONFIG_FB_SM7XX is not set
# CONFIG_CRYSTALHD is not set
# CONFIG_CXT1E1 is not set
# CONFIG_FB_XGI is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_SBE_2T3E3 is not set
# CONFIG_USB_ENESTORAGE is not set
# CONFIG_BCM_WIMAX is not set
# CONFIG_FT1000 is not set

#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
# CONFIG_INTEL_MEI is not set
# CONFIG_STAGING_MEDIA is not set

#
# Android
#
# CONFIG_ANDROID is not set
# CONFIG_PHONE is not set
# CONFIG_USB_WPAN_HCD is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
CONFIG_ASUS_LAPTOP=m
CONFIG_DELL_LAPTOP=m
CONFIG_DELL_WMI=m
# CONFIG_DELL_WMI_AIO is not set
CONFIG_FUJITSU_LAPTOP=m
# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_HP_ACCEL is not set
CONFIG_HP_WMI=m
CONFIG_MSI_LAPTOP=m
CONFIG_PANASONIC_LAPTOP=m
CONFIG_COMPAL_LAPTOP=m
CONFIG_SONY_LAPTOP=m
CONFIG_SONYPI_COMPAT=y
# CONFIG_IDEAPAD_LAPTOP is not set
CONFIG_THINKPAD_ACPI=m
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
# CONFIG_THINKPAD_ACPI_DEBUG is not set
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_SENSORS_HDAPS=m
# CONFIG_INTEL_MENLOW is not set
# CONFIG_EEEPC_LAPTOP is not set
# CONFIG_ASUS_WMI is not set
CONFIG_ACPI_WMI=m
CONFIG_MSI_WMI=m
# CONFIG_TOPSTAR_LAPTOP is not set
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
CONFIG_ACPI_CMPC=m
CONFIG_INTEL_IPS=m
CONFIG_IBM_RTL=m
CONFIG_XO15_EBOOK=m
CONFIG_SAMSUNG_LAPTOP=m
CONFIG_MXM_WMI=m
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_APPLE_GMUX is not set

#
# Hardware Spinlock drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_STATS=y
# CONFIG_AMD_IOMMU_V2 is not set
# CONFIG_INTEL_IOMMU is not set
# CONFIG_IRQ_REMAP is not set

#
# Remoteproc drivers (EXPERIMENTAL)
#

#
# Rpmsg drivers (EXPERIMENTAL)
#
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_PM_DEVFREQ is not set

#
# Firmware Drivers
#
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=m
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=m
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
# CONFIG_GOOGLE_FIRMWARE is not set

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=m
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_FS_XIP=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y

#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_ECRYPT_FS=m
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_JFFS2_FS=m
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
CONFIG_UBIFS_FS=m
CONFIG_UBIFS_FS_XATTR=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBIFS_FS_DEBUG is not set
# CONFIG_LOGFS is not set
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_XATTR is not set
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SQUASHFS_LZO is not set
# CONFIG_SQUASHFS_XZ is not set
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EXOFS_FS is not set
CONFIG_ORE=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_OBJLAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
CONFIG_NFS_FSCACHE=y
CONFIG_NFS_USE_LEGACY_DNS=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_FSCACHE is not set
CONFIG_CIFS_ACL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
CONFIG_DLM_DEBUG=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FTRACE_NMI_ENTER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_FTRACE_NMI_ENTER=y
CONFIG_EVENT_TRACING=y
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SCHED_TRACER=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
CONFIG_RING_BUFFER_BENCHMARK=m
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
CONFIG_BUILD_DOCSRC=y
CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set
# CONFIG_KGDB_LOW_LEVEL_TRAP is not set
# CONFIG_KGDB_KDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_TEST_KSTRTOX is not set
CONFIG_STRICT_DEVMEM=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
CONFIG_DEBUG_NX_TEST=m
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
# CONFIG_SECURITY_PATH is not set
CONFIG_LSM_MMAP_MIN_ADDR=65535
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_YAMA is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_AUDIT=y
CONFIG_IMA_LSM_RULES=y
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="selinux"
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m

#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA1_SSSE3 is not set
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
CONFIG_CRYPTO_CAMELLIA=m
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
# CONFIG_CRYPTO_SALSA20 is not set
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
CONFIG_CRYPTO_TEA=m
# CONFIG_CRYPTO_TWOFISH is not set
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=y

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
# CONFIG_KVM_MMU_AUDIT is not set
CONFIG_VHOST_NET=m
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
# CONFIG_CRC8 is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC16=y
CONFIG_BCH=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
# CONFIG_CORDIC is not set

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 21:38:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:38:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVch-0000am-GK; Mon, 07 May 2012 21:37:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SRVcf-0000ah-IZ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 21:37:38 +0000
Received: from [85.158.139.83:56117] by server-1.bemta-5.messagelabs.com id
	6E/63-28458-0A048AF4; Mon, 07 May 2012 21:37:36 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336426645!27204262!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=3.5 required=7.0 tests=UNIQUE_WORDS, UPPERCASE_75_100
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11097 invoked from network); 7 May 2012 21:37:27 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 21:37:27 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q47LbGwn024843
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Mon, 7 May 2012 17:37:16 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q47LbGuE024841;
	Mon, 7 May 2012 17:37:16 -0400
Date: Mon, 7 May 2012 17:37:16 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120507213716.GA24819@andromeda.dapyr.net>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120507212536.GA24344@andromeda.dapyr.net>
User-Agent: Mutt/1.5.9i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
	FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 05:25:36PM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 17, 2012 at 11:58:58AM +0100, Stefano Stabellini wrote:
> > On Mon, 16 Apr 2012, Konrad Rzeszutek Wilk wrote:
> > > On Tue, Apr 10, 2012 at 05:25:19PM +0100, Stefano Stabellini wrote:
> > > > Set pages as FOREIGN_FRAME whenever blkfront shares them with another
> > > > domain. Then when blkfront un-share them, also removes the
> > > > FOREIGN_FRAME_BIT from the p2m.
> > > > 
> > > > We do it so that when the source and the destination domain are the same
> > > > (blkfront connected to blkback in the same domain) we can more easily
> 
> So I've been testing it with my mini config and it worked great. But
> when I started using a distro .config it blew up. I am not really
> sure why it does that, but here is the dmesg and .config.
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.4.0-rc6 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION="bug"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=20
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
# CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_PERF_COUNTERS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
CONFIG_OPTPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_THROTTLING=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="deadline"
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_ZONE_DMA=y
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_VSMP is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=500
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_MICROCODE_XEN=y
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS=4096
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
# CONFIG_NUMA_EMU is not set
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
# CONFIG_MEMORY_HOTREMOVE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_CLEANCACHE=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_EFI=y
# CONFIG_EFI_STUB is not set
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=m
# CONFIG_ACPI_CUSTOM_METHOD is not set
# CONFIG_ACPI_BGRT is not set
CONFIG_ACPI_APEI=y
# CONFIG_ACPI_APEI_GHES is not set
# CONFIG_ACPI_APEI_PCIEAER is not set
# CONFIG_ACPI_APEI_MEMORY_FAILURE is not set
CONFIG_ACPI_APEI_EINJ=m
CONFIG_ACPI_APEI_ERST_DEBUG=m
CONFIG_SFI=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# x86 CPU frequency scaling drivers
#
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K8=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_P4_CLOCKMOD=m

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_INTEL_IDLE=y

#
# Memory power savings
#
CONFIG_I7300_IDLE_IOAT_CHANNEL=y
CONFIG_I7300_IDLE=m

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=y
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=m
CONFIG_RAPIDIO=y
# CONFIG_RAPIDIO_TSI721 is not set
CONFIG_RAPIDIO_DISC_TIMEOUT=30
# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set
# CONFIG_RAPIDIO_DEBUG is not set
# CONFIG_RAPIDIO_TSI57X is not set
# CONFIG_RAPIDIO_CPS_XX is not set
# CONFIG_RAPIDIO_TSI568 is not set
# CONFIG_RAPIDIO_CPS_GEN2 is not set
# CONFIG_RAPIDIO_TSI500 is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not set
# CONFIG_X86_X32 is not set
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
# CONFIG_INET_UDP_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
# CONFIG_NETFILTER_NETLINK_ACCT is not set
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
# CONFIG_NF_CONNTRACK_ZONES is not set
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
# CONFIG_NETFILTER_XT_TARGET_LOG is not set
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETPORT=m
# CONFIG_IP_SET_HASH_NETIFACE is not set
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
# CONFIG_IP_VS_PE_SIP is not set

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
# CONFIG_IP_NF_MATCH_RPFILTER is not set
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_DCCP=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PROTO_UDPLITE=m
CONFIG_NF_NAT_PROTO_SCTP=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
# CONFIG_IP6_NF_MATCH_RPFILTER is not set
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
CONFIG_NET_SCTPPROBE=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
CONFIG_RDS=m
CONFIG_RDS_RDMA=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
# CONFIG_ATM_MPOA is not set
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
# CONFIG_DECNET is not set
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
CONFIG_PHONET=m
CONFIG_IEEE802154=m
# CONFIG_IEEE802154_6LOWPAN is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
# CONFIG_NET_SCH_QFQ is not set
CONFIG_NET_SCH_INGRESS=m
# CONFIG_NET_SCH_PLUG is not set

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=m
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_OPENVSWITCH is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
# CONFIG_NETPRIO_CGROUP is not set
CONFIG_BQL=y
CONFIG_HAVE_BPF_JIT=y
CONFIG_BPF_JIT=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NET_TCPPROBE is not set
CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
# CONFIG_CAN_GW is not set

#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_PCH_CAN=m
CONFIG_CAN_SJA1000=m
# CONFIG_CAN_SJA1000_ISA is not set
CONFIG_CAN_SJA1000_PLATFORM=m
# CONFIG_CAN_EMS_PCMCIA is not set
CONFIG_CAN_EMS_PCI=m
# CONFIG_CAN_PEAK_PCMCIA is not set
# CONFIG_CAN_PEAK_PCI is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PLX_PCI=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
# CONFIG_CAN_CC770 is not set

#
# CAN USB interfaces
#
CONFIG_CAN_EMS_USB=m
CONFIG_CAN_ESD_USB2=m
# CONFIG_CAN_PEAK_USB is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SOFTING_CS=m
# CONFIG_CAN_DEBUG_DEVICES is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
CONFIG_LIB80211_CRYPT_TKIP=m
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_REGULATOR is not set
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
CONFIG_NET_9P_RDMA=m
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
# CONFIG_NFC is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_REDBOOT_PARTS=m
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_AR7_PARTS=m

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=m
CONFIG_MTD_BLKDEVS=m
CONFIG_MTD_BLOCK=m
CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
# CONFIG_INFTL is not set
CONFIG_RFD_FTL=m
CONFIG_SSFDC=m
CONFIG_SM_FTL=m
CONFIG_MTD_OOPS=m
CONFIG_MTD_SWAP=m

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=m
CONFIG_MTD_JEDECPROBE=m
CONFIG_MTD_GEN_PROBE=m
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=m
CONFIG_MTD_CFI_AMDSTD=m
CONFIG_MTD_CFI_STAA=m
CONFIG_MTD_CFI_UTIL=m
CONFIG_MTD_RAM=m
CONFIG_MTD_ROM=m
CONFIG_MTD_ABSENT=m

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_SC520CDP=m
CONFIG_MTD_NETSC520=m
CONFIG_MTD_TS5500=m
# CONFIG_MTD_AMD76XROM is not set
# CONFIG_MTD_ICHXROM is not set
CONFIG_MTD_ESB2ROM=m
CONFIG_MTD_CK804XROM=m
CONFIG_MTD_SCB2_FLASH=m
# CONFIG_MTD_NETtel is not set
# CONFIG_MTD_L440GX is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
CONFIG_MTD_MTDRAM=m
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTD_BLOCK2MTD=m

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_DOCG3 is not set
CONFIG_MTD_NAND_ECC=m
CONFIG_MTD_NAND_ECC_SMC=y
CONFIG_MTD_NAND=m
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
CONFIG_MTD_NAND_BCH=m
CONFIG_MTD_NAND_ECC_BCH=y
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
# CONFIG_MTD_NAND_DENALI is not set
CONFIG_MTD_NAND_IDS=m
# CONFIG_MTD_NAND_RICOH is not set
CONFIG_MTD_NAND_DISKONCHIP=m
# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
# CONFIG_MTD_NAND_DOCG4 is not set
# CONFIG_MTD_NAND_CAFE is not set
CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_NAND_PLATFORM is not set
CONFIG_MTD_ALAUDA=m
# CONFIG_MTD_ONENAND is not set

#
# LPDDR flash memory drivers
#
CONFIG_MTD_LPDDR=m
CONFIG_MTD_QINFO_PROBE=m
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_DEBUG is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_BLK_CPQ_DA is not set
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_CISS_SCSI_TAPE=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
CONFIG_DRBD_FAULT_INJECTION=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_NVME is not set
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m

#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
CONFIG_AD525X_DPOT=m
CONFIG_AD525X_DPOT_I2C=m
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
CONFIG_INTEL_MID_PTI=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
CONFIG_ICS932S401=m
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_HP_ILO=m
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=m
CONFIG_SENSORS_TSL2550=m
CONFIG_SENSORS_BH1780=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_APDS990X=m
CONFIG_HMC6352=m
# CONFIG_DS1682 is not set
CONFIG_VMWARE_BALLOON=m
# CONFIG_BMP085 is not set
# CONFIG_PCH_PHUB is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EEPROM_93CX6=m
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
CONFIG_IWMC3200TOP=m
# CONFIG_IWMC3200TOP_DEBUG is not set
# CONFIG_IWMC3200TOP_DEBUGFS is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# CONFIG_SENSORS_LIS3_I2C is not set

#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
CONFIG_ISCSI_BOOT_SYSFS=m
CONFIG_SCSI_CXGB3_ISCSI=m
CONFIG_SCSI_CXGB4_ISCSI=m
CONFIG_SCSI_BNX2_ISCSI=m
CONFIG_SCSI_BNX2X_FCOE=m
CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_3W_SAS=m
# CONFIG_SCSI_ACARD is not set
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=4
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
# CONFIG_SCSI_MVSAS_TASKLET is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
CONFIG_SCSI_ARCMSR=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
# CONFIG_MEGARAID_LEGACY is not set
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS_LOGGING=y
# CONFIG_SCSI_UFSHCD is not set
CONFIG_SCSI_HPTIOP=m
# CONFIG_SCSI_BUSLOGIC is not set
CONFIG_VMWARE_PVSCSI=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_FCOE_FNIC=m
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_PMCRAID=m
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_SRP=m
CONFIG_SCSI_BFA_FC=m
# CONFIG_SCSI_VIRTIO is not set
CONFIG_XEN_SCSI_FRONTEND=m
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_SX4=m
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m

#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARASAN_CF=m
CONFIG_PATA_ARTOP=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_ATP867X=m
CONFIG_PATA_CMD64X=m
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
CONFIG_PATA_CS5536=m
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
CONFIG_PATA_HPT366=m
CONFIG_PATA_HPT37X=m
CONFIG_PATA_HPT3X2N=m
CONFIG_PATA_HPT3X3=m
# CONFIG_PATA_HPT3X3_DMA is not set
CONFIG_PATA_IT8213=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_JMICRON=m
CONFIG_PATA_MARVELL=m
CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=m
# CONFIG_PATA_OPTIDMA is not set
CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
# CONFIG_PATA_RADISYS is not set
CONFIG_PATA_RDC=m
# CONFIG_PATA_SC1200 is not set
CONFIG_PATA_SCH=m
CONFIG_PATA_SERVERWORKS=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
CONFIG_PATA_TOSHIBA=m
# CONFIG_PATA_TRIFLEX is not set
CONFIG_PATA_VIA=m
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_PCMCIA=m
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
CONFIG_PATA_ACPI=m
CONFIG_ATA_GENERIC=m
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MULTICORE_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_DEBUG=y
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
# CONFIG_DM_THIN_PROVISIONING is not set
CONFIG_DM_MIRROR=m
CONFIG_DM_RAID=m
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
# CONFIG_DM_VERITY is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
# CONFIG_TCM_FC is not set
# CONFIG_ISCSI_TARGET is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=m
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=m
CONFIG_FUSION_LAN=m
CONFIG_FUSION_LOGGING=y

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
# CONFIG_EQUALIZER is not set
CONFIG_NET_FC=y
CONFIG_MII=m
CONFIG_IEEE802154_DRIVERS=m
CONFIG_IEEE802154_FAKEHARD=m
CONFIG_IFB=m
# CONFIG_NET_TEAM is not set
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_RIONET is not set
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=m
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_AMBASSADOR is not set
# CONFIG_ATM_HORIZON is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set

#
# CAIF transport drivers
#

#
# Distributed Switch Architecture drivers
#
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA_MV88E6123_61_65=y
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_3C589=m
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
# CONFIG_NET_CALXEDA_XGMAC is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
# CONFIG_CHELSIO_T4VF is not set
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
CONFIG_DNET=m
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=m
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
CONFIG_ULI526X=m
CONFIG_PCMCIA_XIRCOM=m
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DE600 is not set
# CONFIG_DE620 is not set
CONFIG_DL2K=m
# CONFIG_SUNDANCE is not set
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=m
CONFIG_NET_VENDOR_EXAR=y
CONFIG_S2IO=m
CONFIG_VXGE=m
# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_NET_VENDOR_FUJITSU=y
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_NET_VENDOR_HP=y
# CONFIG_HP100 is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCA=y
CONFIG_IXGBE_DCB=y
CONFIG_IXGBEVF=m
CONFIG_NET_VENDOR_I825XX=y
# CONFIG_ZNET is not set
CONFIG_IP1000=m
CONFIG_JME=m
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
# CONFIG_SKGE_GENESIS is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8842 is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_KSZ884X_PCI is not set
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
CONFIG_NS83820=m
CONFIG_NET_VENDOR_8390=y
CONFIG_PCMCIA_AXNET=m
CONFIG_NE2K_PCI=m
CONFIG_PCMCIA_PCNET=m
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=m
CONFIG_NET_VENDOR_OKI=y
CONFIG_PCH_GBE=m
CONFIG_ETHOC=m
CONFIG_NET_PACKET_ENGINE=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=m
CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not set
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
CONFIG_NET_VENDOR_SEEQ=y
# CONFIG_SEEQ8005 is not set
CONFIG_NET_VENDOR_SILAN=y
CONFIG_SC92031=m
CONFIG_NET_VENDOR_SIS=y
CONFIG_SIS900=m
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_SFC_MTD=y
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=m
CONFIG_EPIC100=m
CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_PCI is not set
# CONFIG_STMMAC_DEBUG_FS is not set
CONFIG_STMMAC_DA=y
CONFIG_STMMAC_RING=y
# CONFIG_STMMAC_CHAINED is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_VELOCITY=m
CONFIG_NET_VENDOR_XIRCOM=y
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_GPIO is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
# CONFIG_PPP_BSDCOMP is not set
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=m
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_SLIP=m
CONFIG_SLHC=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
# CONFIG_TR is not set

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m
CONFIG_USB_NET_DM9601=m
# CONFIG_USB_NET_SMSC75XX is not set
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_NET_CX82310_ETH=m
CONFIG_USB_NET_KALMIA=m
# CONFIG_USB_NET_QMI_WWAN is not set
CONFIG_USB_HSO=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
# CONFIG_USB_VL600 is not set
CONFIG_WLAN=y
# CONFIG_PCMCIA_RAYCS is not set
CONFIG_LIBERTAS_THINFIRM=m
# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
# CONFIG_PRISM54 is not set
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
CONFIG_MAC80211_HWSIM=m
CONFIG_MWL8K=m
# CONFIG_ATH_COMMON is not set
CONFIG_B43=m
CONFIG_B43_SSB=y
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_PIO=y
# CONFIG_B43_PHY_N is not set
CONFIG_B43_PHY_LP=y
# CONFIG_B43_PHY_HT is not set
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
# CONFIG_BRCMFMAC is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=m
# CONFIG_LIBIPW_DEBUG is not set
# CONFIG_IWLWIFI is not set
CONFIG_IWLEGACY=m
CONFIG_IWL4965=m
CONFIG_IWL3945=m

#
# iwl3945 / iwl4965 Debugging Options
#
# CONFIG_IWLEGACY_DEBUG is not set
CONFIG_IWM=m
# CONFIG_IWM_DEBUG is not set
# CONFIG_IWM_TRACING is not set
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
CONFIG_LIBERTAS_SDIO=m
CONFIG_LIBERTAS_DEBUG=y
# CONFIG_LIBERTAS_MESH is not set
CONFIG_HERMES=m
# CONFIG_HERMES_PRISM is not set
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_NORTEL_HERMES=m
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_SPECTRUM=m
# CONFIG_ORINOCO_USB is not set
CONFIG_P54_COMMON=m
CONFIG_P54_USB=m
CONFIG_P54_PCI=m
CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
# CONFIG_RT2800PCI is not set
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
# CONFIG_RT2800USB is not set
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
# CONFIG_RTL8192CE is not set
CONFIG_RTL8192SE=m
# CONFIG_RTL8192DE is not set
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTLWIFI_DEBUG=y
CONFIG_RTL8192C_COMMON=m
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
# CONFIG_WL12XX_MENU is not set
CONFIG_WL12XX_PLATFORM_DATA=y
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
# CONFIG_MWIFIEX is not set

#
# WiMAX Wireless Broadband devices
#
CONFIG_WIMAX_I2400M=m
CONFIG_WIMAX_I2400M_USB=m
CONFIG_WIMAX_I2400M_SDIO=m
# CONFIG_WIMAX_IWMC3200_SDIO is not set
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
CONFIG_WAN=y
# CONFIG_LANMEDIA is not set
CONFIG_HDLC=m
CONFIG_HDLC_RAW=m
# CONFIG_HDLC_RAW_ETH is not set
CONFIG_HDLC_CISCO=m
CONFIG_HDLC_FR=m
CONFIG_HDLC_PPP=m

#
# X.25/LAPB support is disabled
#
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
# CONFIG_DSCC4 is not set
CONFIG_DLCI=m
CONFIG_DLCI_MAX=8
# CONFIG_SBNI is not set
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_IPPP_FILTER=y
# CONFIG_ISDN_PPP_BSDCOMP is not set
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_TTY_FAX=y

#
# ISDN feature submodules
#
CONFIG_ISDN_DIVERSION=m

#
# ISDN4Linux hardware drivers
#

#
# Passive cards
#
CONFIG_ISDN_DRV_HISAX=m

#
# D-channel protocol features
#
CONFIG_HISAX_EURO=y
CONFIG_DE_AOC=y
CONFIG_HISAX_NO_SENDCOMPLETE=y
CONFIG_HISAX_NO_LLC=y
CONFIG_HISAX_NO_KEYPAD=y
CONFIG_HISAX_1TR6=y
CONFIG_HISAX_NI1=y
CONFIG_HISAX_MAX_CARDS=8

#
# HiSax supported cards
#
CONFIG_HISAX_16_3=y
CONFIG_HISAX_TELESPCI=y
CONFIG_HISAX_S0BOX=y
CONFIG_HISAX_FRITZPCI=y
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_ELSA=y
CONFIG_HISAX_DIEHLDIVA=y
CONFIG_HISAX_SEDLBAUER=y
CONFIG_HISAX_NETJET=y
CONFIG_HISAX_NETJET_U=y
CONFIG_HISAX_NICCY=y
CONFIG_HISAX_BKM_A4T=y
CONFIG_HISAX_SCT_QUADRO=y
CONFIG_HISAX_GAZEL=y
CONFIG_HISAX_HFC_PCI=y
CONFIG_HISAX_W6692=y
CONFIG_HISAX_HFC_SX=y
CONFIG_HISAX_ENTERNOW_PCI=y
# CONFIG_HISAX_DEBUG is not set

#
# HiSax PCMCIA card service modules
#
CONFIG_HISAX_SEDLBAUER_CS=m
CONFIG_HISAX_ELSA_CS=m
CONFIG_HISAX_AVM_A1_CS=m
CONFIG_HISAX_TELES_CS=m

#
# HiSax sub driver modules
#
CONFIG_HISAX_ST5481=m
# CONFIG_HISAX_HFCUSB is not set
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m

#
# Active cards
#
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
# CONFIG_CAPI_TRACE is not set
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_CAPIDRV=m

#
# CAPI hardware drivers
#
CONFIG_CAPI_AVM=y
CONFIG_ISDN_DRV_AVMB1_B1PCI=m
CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
CONFIG_ISDN_DRV_AVMB1_T1PCI=m
CONFIG_ISDN_DRV_AVMB1_C4=m
CONFIG_CAPI_EICON=y
# CONFIG_ISDN_DIVAS is not set
CONFIG_ISDN_DRV_GIGASET=m
# CONFIG_GIGASET_CAPI is not set
CONFIG_GIGASET_I4L=y
# CONFIG_GIGASET_DUMMYLL is not set
CONFIG_GIGASET_BASE=m
CONFIG_GIGASET_M105=m
CONFIG_GIGASET_M101=m
# CONFIG_GIGASET_DEBUG is not set
CONFIG_HYSDN=m
CONFIG_HYSDN_CAPI=y
CONFIG_MISDN=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_L1OIP=m

#
# mISDN hardware drivers
#
CONFIG_MISDN_HFCPCI=m
CONFIG_MISDN_HFCMULTI=m
CONFIG_MISDN_HFCUSB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_SPEEDFAX=m
CONFIG_MISDN_INFINEON=m
CONFIG_MISDN_W6692=m
CONFIG_MISDN_NETJET=m
CONFIG_MISDN_IPAC=m
CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1070=m
CONFIG_KEYBOARD_QT2160=m
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
CONFIG_KEYBOARD_TCA6416=m
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_MATRIX=m
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
CONFIG_KEYBOARD_MCS=m
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
CONFIG_MOUSE_GPIO=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_INPUT_JOYSTICK is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
CONFIG_TOUCHSCREEN_BU21013=m
CONFIG_TOUCHSCREEN_CY8CTMG110=m
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
# CONFIG_TOUCHSCREEN_EGALAX is not set
CONFIG_TOUCHSCREEN_FUJITSU=m
# CONFIG_TOUCHSCREEN_ILI210X is not set
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
CONFIG_TOUCHSCREEN_TSC2007=m
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_BMA150 is not set
CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MPU3050 is not set
CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_GP2A is not set
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_CMA3000 is not set
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_ROCKETPORT is not set
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
CONFIG_NOZOMI=m
# CONFIG_ISI is not set
CONFIG_N_HDLC=m
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set
# CONFIG_STALDRV is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MFD_HSU=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=m
CONFIG_SERIAL_TIMBERDALE=m
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=m
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
CONFIG_SERIAL_PCH_UART=m
# CONFIG_SERIAL_XILINX_PS_UART is not set
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
CONFIG_CARDMAN_4000=m
CONFIG_CARDMAN_4040=m
CONFIG_IPWIRELESS=m
# CONFIG_MWAVE is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=8192
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=y
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_RAMOOPS=m
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set
CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=m

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_STUB=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
# CONFIG_HSI is not set

#
# PPS support
#
CONFIG_PPS=m
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set

#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_VX855 is not set

#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_ADP5588 is not set

#
# PCI GPIO expanders:
#
# CONFIG_GPIO_LANGWELL is not set
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_RDC321X is not set

#
# SPI GPIO expanders:
#
# CONFIG_GPIO_MCP23S08 is not set

#
# AC97 GPIO expanders:
#

#
# MODULbus GPIO expanders:
#
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BATTERY_BQ27x00=m
CONFIG_BATTERY_BQ27X00_I2C=y
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_SMB347 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_FAM15H_POWER is not set
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHMD=m
CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
CONFIG_SENSORS_LINEAGE=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4261=m
CONFIG_SENSORS_LM95241=m
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX16065 is not set
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_MAX1668 is not set
CONFIG_SENSORS_MAX6639=m
# CONFIG_SENSORS_MAX6642 is not set
CONFIG_SENSORS_MAX6650=m
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
# CONFIG_SENSORS_ADM1275 is not set
# CONFIG_SENSORS_LM25066 is not set
# CONFIG_SENSORS_LTC2978 is not set
CONFIG_SENSORS_MAX16064=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
# CONFIG_SENSORS_UCD9000 is not set
# CONFIG_SENSORS_UCD9200 is not set
# CONFIG_SENSORS_ZL6100 is not set
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMM665=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
CONFIG_SENSORS_EMC2103=m
# CONFIG_SENSORS_EMC6W201 is not set
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SCH56XX_COMMON=m
CONFIG_SENSORS_SCH5627=m
# CONFIG_SENSORS_SCH5636 is not set
CONFIG_SENSORS_ADS1015=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP401=m
# CONFIG_SENSORS_TMP421 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
# CONFIG_SENSORS_W83795 is not set
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_APPLESMC=m

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SC520_WDT is not set
CONFIG_SBC_FITPC2_WATCHDOG=m
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
CONFIG_IBMASR=m
# CONFIG_WAFER_WDT is not set
CONFIG_I6300ESB_WDT=m
CONFIG_ITCO_WDT=m
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=m
CONFIG_IT87_WDT=m
CONFIG_HP_WATCHDOG=m
CONFIG_HPWDT_NMI_DECODING=y
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
CONFIG_SMSC_SCH311X_WDT=m
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_VIA_WDT is not set
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=m
CONFIG_W83697UG_WDT=m
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
CONFIG_XEN_WDT=m

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=m
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=m
CONFIG_MFD_SM501=m
# CONFIG_MFD_SM501_GPIO is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_UCB1400_CORE is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
# CONFIG_MFD_PCF50633 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_TIMBERDALE is not set
CONFIG_LPC_SCH=m
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ISL6271A is not set
CONFIG_REGULATOR_MAX1586=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_LP3971=m
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_TPS62360 is not set
CONFIG_REGULATOR_TPS65023=m
CONFIG_REGULATOR_TPS6507X=m
CONFIG_REGULATOR_WM8400=m
CONFIG_MEDIA_SUPPORT=m

#
# Multimedia core support
#
# CONFIG_MEDIA_CONTROLLER is not set
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_DVB_CORE=m
CONFIG_DVB_NET=y
CONFIG_VIDEO_MEDIA=m

#
# Multimedia drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_RC_CORE=m
CONFIG_LIRC=m
CONFIG_RC_MAP=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_SONY_DECODER=m
CONFIG_IR_RC5_SZ_DECODER=m
CONFIG_IR_SANYO_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_LIRC_CODEC=m
# CONFIG_RC_ATI_REMOTE is not set
CONFIG_IR_ENE=m
CONFIG_IR_IMON=m
CONFIG_IR_MCEUSB=m
CONFIG_IR_ITE_CIR=m
# CONFIG_IR_FINTEK is not set
CONFIG_IR_NUVOTON=m
# CONFIG_IR_REDRAT3 is not set
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
# CONFIG_RC_LOOPBACK is not set
# CONFIG_IR_GPIO_CIR is not set
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_XC4000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEOBUF2_CORE=m
CONFIG_VIDEOBUF2_MEMOPS=m
CONFIG_VIDEOBUF2_VMALLOC=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_IR_I2C=m

#
# Audio decoders, processors and mixers
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m

#
# RDS decoders
#
CONFIG_VIDEO_SAA6588=m

#
# Video decoders
#
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_TVP5150=m

#
# Video and audio decoders
#
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_CX25840=m

#
# MPEG video encoders
#
CONFIG_VIDEO_CX2341X=m

#
# Video encoders
#
CONFIG_VIDEO_SAA7127=m

#
# Camera sensor devices
#
CONFIG_VIDEO_MT9V011=m

#
# Flash devices
#

#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m

#
# Miscelaneous helper chips
#
CONFIG_VIDEO_M52790=m
# CONFIG_VIDEO_VIVI is not set
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
CONFIG_USB_STV06XX=m
CONFIG_USB_GL860=m
CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
# CONFIG_USB_GSPCA_JEILINJ is not set
# CONFIG_USB_GSPCA_JL2005BCD is not set
# CONFIG_USB_GSPCA_KINECT is not set
CONFIG_USB_GSPCA_KONICA=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_NW80X=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
# CONFIG_USB_GSPCA_SE401 is not set
CONFIG_USB_GSPCA_SN9C2028=m
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SPCA1528=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_SQ930X=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
# CONFIG_USB_GSPCA_TOPRO is not set
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
# CONFIG_USB_GSPCA_VICAM is not set
CONFIG_USB_GSPCA_XIRLINK_CIT=m
CONFIG_USB_GSPCA_ZC3XX=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_VIDEO_EM28XX_RC=y
CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=m
CONFIG_VIDEO_CX231XX_DVB=m
# CONFIG_VIDEO_TM6000 is not set
CONFIG_VIDEO_USBVISION=m
CONFIG_USB_ET61X251=m
CONFIG_USB_SN9C102=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
# CONFIG_VIDEO_CPIA2 is not set
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
CONFIG_V4L_PCI_DRIVERS=y
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_CX23885=m
# CONFIG_MEDIA_ALTERA_CI is not set
# CONFIG_VIDEO_CX25821 is not set
# CONFIG_VIDEO_CX88 is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
# CONFIG_VIDEO_MEYE is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_SAA7134 is not set
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_V4L_ISA_PARPORT_DRIVERS is not set
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_MEM2MEM_DRIVERS is not set
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_CAPTURE_DRIVERS=y

#
# Supported SAA7146 based PCI Adapters
#
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_CORE=m
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m

#
# Supported USB Adapters
#
CONFIG_DVB_USB=m
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_M920X=m
CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_AU6610=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_GP8PSK=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_USB_OPERA1=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
# CONFIG_DVB_USB_PCTV452E is not set
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_EC168=m
# CONFIG_DVB_USB_AZ6007 is not set
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_LME2510=m
# CONFIG_DVB_USB_TECHNISAT_USB2 is not set
# CONFIG_DVB_USB_IT913X is not set
# CONFIG_DVB_USB_MXL111SF is not set
# CONFIG_DVB_USB_RTL28XXU is not set
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_SMS_SIANO_MDTV=m

#
# Siano module components
#
CONFIG_SMS_USB_DRV=m
CONFIG_SMS_SDIO_DRV=m

#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

#
# Supported BT878 Adapters
#
CONFIG_DVB_BT8XX=m

#
# Supported Pluto2 Adapters
#
CONFIG_DVB_PLUTO2=m

#
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m

#
# Supported FireWire (IEEE 1394) Adapters
#
CONFIG_DVB_FIREDTV=m
CONFIG_DVB_FIREDTV_INPUT=y

#
# Supported Earthsoft PT1 Adapters
#
CONFIG_DVB_PT1=m

#
# Supported Mantis Adapters
#
# CONFIG_MANTIS_CORE is not set

#
# Supported nGene Adapters
#
CONFIG_DVB_NGENE=m

#
# Supported ddbridge ('Octopus') Adapters
#
# CONFIG_DVB_DDBRIDGE is not set

#
# Supported DVB Frontends
#
# CONFIG_DVB_FE_CUSTOMISE is not set

#
# Multistandard (satellite) frontends
#
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m
CONFIG_DVB_STV090x=m
CONFIG_DVB_STV6110x=m

#
# Multistandard (cable + terrestrial) frontends
#
CONFIG_DVB_DRXK=m
CONFIG_DVB_TDA18271C2DD=m

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_STV6110=m
CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_DS3000=m
CONFIG_DVB_TDA10071=m

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_DRXD=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m

#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_LGDT3305=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m

#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_TUNER_DIB0090=m

#
# SEC control devices for DVB-S
#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_M88RS2000=m

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=y
CONFIG_AGP_VIA=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=64
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m
# CONFIG_DRM_TDFX is not set
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU_DEBUG is not set

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_I810 is not set
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
# CONFIG_DRM_SIS is not set
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
# CONFIG_DRM_VMWGFX is not set
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_STUB_POULSBO is not set
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_WMT_GE_ROPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not set
CONFIG_FB_RIVA_BACKLIGHT=y
# CONFIG_FB_I740 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
# CONFIG_FB_SIS is not set
CONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not set
# CONFIG_FB_VIA_X_COMPATIBILITY is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_TMIO is not set
CONFIG_FB_SM501=m
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
CONFIG_FB_VIRTUAL=m
CONFIG_XEN_FBDEV_FRONTEND=y
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_EXYNOS_VIDEO is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PROGEAR=m
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LP855X is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_SND_VMASTER=y
CONFIG_SND_KCTL_JACK=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_OPL3_LIB_SEQ=m
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCSP=m
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
CONFIG_SND_MPU401=m
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=5
CONFIG_SND_SB_COMMON=m
CONFIG_SND_SB16_DSP=m
CONFIG_SND_TEA575X=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
CONFIG_SND_ALI5451=m
# CONFIG_SND_ASIHPI is not set
CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
CONFIG_SND_AU8810=m
CONFIG_SND_AU8820=m
CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
CONFIG_SND_CA0106=m
# CONFIG_SND_CMIPCI is not set
CONFIG_SND_OXYGEN_LIB=m
CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
CONFIG_SND_DARLA24=m
CONFIG_SND_GINA24=m
CONFIG_SND_LAYLA24=m
CONFIG_SND_MONA=m
CONFIG_SND_MIA=m
CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGOIOX=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
CONFIG_SND_ENS1371=m
CONFIG_SND_ES1938=m
CONFIG_SND_ES1968=m
CONFIG_SND_ES1968_INPUT=y
# CONFIG_SND_ES1968_RADIO is not set
CONFIG_SND_FM801=m
CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PREALLOC_SIZE=64
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_JACK=y
# CONFIG_SND_HDA_PATCH_LOADER is not set
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
# CONFIG_SND_LOLA is not set
CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
CONFIG_SND_PCXHR=m
CONFIG_SND_RIPTIDE=m
CONFIG_SND_RME32=m
CONFIG_SND_RME96=m
CONFIG_SND_RME9652=m
CONFIG_SND_SONICVIBES=m
CONFIG_SND_TRIDENT=m
CONFIG_SND_VIA82XX=m
CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=m
CONFIG_SND_USB_6FIRE=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_FIREWIRE_SPEAKERS=m
# CONFIG_SND_ISIGHT is not set
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_BATTERY_STRENGTH is not set
CONFIG_HIDRAW=y

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACRUX=m
# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_EZKEY=y
# CONFIG_HID_HOLTEK is not set
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=m
CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=y
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=m
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NTRIG=y
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
# CONFIG_HID_PRIMAX is not set
CONFIG_HID_ROCCAT=m
# CONFIG_HID_SAITEK is not set
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
# CONFIG_HID_SPEEDLINK is not set
CONFIG_HID_SUNPLUS=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
# CONFIG_HID_TIVO is not set
CONFIG_HID_TOPSEED=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_WACOM=m
CONFIG_HID_WACOM_POWER_SUPPLY=y
# CONFIG_HID_WIIMOTE is not set
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
CONFIG_USB_MON=y
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=m
# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=m
# CONFIG_USB_SL811_HCD_ISO is not set
# CONFIG_USB_SL811_CS is not set
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=m
CONFIG_XEN_USBDEV_FRONTEND=m
CONFIG_XEN_USBDEV_BACKEND=m

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
CONFIG_USB_TMC=m

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
CONFIG_USB_STORAGE_ISD200=m
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
CONFIG_USB_STORAGE_ONETOUCH=m
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m

#
# USB port drivers
#
CONFIG_USB_USS720=m
CONFIG_USB_SERIAL=m
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_FUNSOFT=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
# CONFIG_USB_SERIAL_F81232 is not set
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
CONFIG_USB_SERIAL_MOS7720=m
# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
# CONFIG_USB_SERIAL_QCAUX is not set
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
# CONFIG_USB_SERIAL_ZIO is not set
# CONFIG_USB_SERIAL_SSU100 is not set
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m
# CONFIG_USB_RIO500 is not set
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
# CONFIG_USB_TRANCEVIBRATOR is not set
CONFIG_USB_IOWARRIOR=m
# CONFIG_USB_TEST is not set
CONFIG_USB_ISIGHTFW=m
# CONFIG_USB_YUREX is not set
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m
# CONFIG_USB_GADGET is not set

#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
# CONFIG_USB_GPIO_VBUS is not set
CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
# CONFIG_MMC_CLKGATE is not set

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
# CONFIG_MMC_RICOH_MMC is not set
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_CB710=m
CONFIG_MMC_VIA_SDMMC=m
# CONFIG_MMC_VUB300 is not set
CONFIG_MMC_USHC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
CONFIG_MSPRO_BLOCK=m

#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MEMSTICK_JMICRON_38X=m
# CONFIG_MEMSTICK_R592 is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA9633 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_DELL_NETBOOKS is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_OT200 is not set
CONFIG_LEDS_TRIGGERS=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
# CONFIG_LEDS_TRIGGER_GPIO is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
CONFIG_INFINIBAND_IPATH=m
CONFIG_INFINIBAND_QIB=m
# CONFIG_INFINIBAND_AMSO1100 is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
CONFIG_MLX4_INFINIBAND=m
CONFIG_INFINIBAND_NES=m
# CONFIG_INFINIBAND_NES_DEBUG is not set
CONFIG_INFINIBAND_IPOIB=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=m
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=m
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
# CONFIG_EDAC_MCE_INJ is not set
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD64=m
# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
CONFIG_EDAC_I5400=m
CONFIG_EDAC_I7CORE=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
CONFIG_EDAC_I7300=m
# CONFIG_EDAC_SBRIDGE is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
CONFIG_RTC_DRV_DS1672=m
# CONFIG_RTC_DRV_DS3232 is not set
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
# CONFIG_RTC_DRV_ISL12022 is not set
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_M48T86 is not set
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
# CONFIG_RTC_DRV_MSM6242 is not set
CONFIG_RTC_DRV_BQ4802=m
# CONFIG_RTC_DRV_RP5C01 is not set
CONFIG_RTC_DRV_V3020=m

#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
# CONFIG_INTEL_MID_DMAC is not set
CONFIG_INTEL_IOATDMA=m
# CONFIG_TIMB_DMA is not set
# CONFIG_PCH_DMA is not set
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_KS0108=m
CONFIG_KS0108_PORT=0x378
CONFIG_KS0108_DELAY=2
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
CONFIG_VIRTIO=m
CONFIG_VIRTIO_RING=m

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=m
# CONFIG_VIRTIO_MMIO is not set

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SELFBALLOONING=y
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=y
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_MCE_LOG=y
CONFIG_STAGING=y
# CONFIG_ET131X is not set
# CONFIG_SLICOSS is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_W35UND is not set
# CONFIG_PRISM2_USB is not set
# CONFIG_ECHO is not set
# CONFIG_COMEDI is not set
# CONFIG_ASUS_OLED is not set
# CONFIG_PANEL is not set
# CONFIG_R8187SE is not set
# CONFIG_RTL8192U is not set
# CONFIG_RTLLIB is not set
# CONFIG_R8712U is not set
# CONFIG_RTS_PSTOR is not set
# CONFIG_RTS5139 is not set
# CONFIG_TRANZPORT is not set
# CONFIG_IDE_PHISON is not set
# CONFIG_LINE6_USB is not set
# CONFIG_USB_SERIAL_QUATECH2 is not set
# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
# CONFIG_VT6655 is not set
# CONFIG_VT6656 is not set
# CONFIG_VME_BUS is not set
# CONFIG_DX_SEP is not set
# CONFIG_IIO is not set
CONFIG_ZRAM=y
CONFIG_ZRAM_DEBUG=y
CONFIG_ZCACHE=y
CONFIG_ZSMALLOC=y
# CONFIG_WLAGS49_H2 is not set
# CONFIG_WLAGS49_H25 is not set
# CONFIG_FB_SM7XX is not set
# CONFIG_CRYSTALHD is not set
# CONFIG_CXT1E1 is not set
# CONFIG_FB_XGI is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_SBE_2T3E3 is not set
# CONFIG_USB_ENESTORAGE is not set
# CONFIG_BCM_WIMAX is not set
# CONFIG_FT1000 is not set

#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
# CONFIG_INTEL_MEI is not set
# CONFIG_STAGING_MEDIA is not set

#
# Android
#
# CONFIG_ANDROID is not set
# CONFIG_PHONE is not set
# CONFIG_USB_WPAN_HCD is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
CONFIG_ASUS_LAPTOP=m
CONFIG_DELL_LAPTOP=m
CONFIG_DELL_WMI=m
# CONFIG_DELL_WMI_AIO is not set
CONFIG_FUJITSU_LAPTOP=m
# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_HP_ACCEL is not set
CONFIG_HP_WMI=m
CONFIG_MSI_LAPTOP=m
CONFIG_PANASONIC_LAPTOP=m
CONFIG_COMPAL_LAPTOP=m
CONFIG_SONY_LAPTOP=m
CONFIG_SONYPI_COMPAT=y
# CONFIG_IDEAPAD_LAPTOP is not set
CONFIG_THINKPAD_ACPI=m
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
# CONFIG_THINKPAD_ACPI_DEBUG is not set
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_SENSORS_HDAPS=m
# CONFIG_INTEL_MENLOW is not set
# CONFIG_EEEPC_LAPTOP is not set
# CONFIG_ASUS_WMI is not set
CONFIG_ACPI_WMI=m
CONFIG_MSI_WMI=m
# CONFIG_TOPSTAR_LAPTOP is not set
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
CONFIG_ACPI_CMPC=m
CONFIG_INTEL_IPS=m
CONFIG_IBM_RTL=m
CONFIG_XO15_EBOOK=m
CONFIG_SAMSUNG_LAPTOP=m
CONFIG_MXM_WMI=m
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_APPLE_GMUX is not set

#
# Hardware Spinlock drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_STATS=y
# CONFIG_AMD_IOMMU_V2 is not set
# CONFIG_INTEL_IOMMU is not set
# CONFIG_IRQ_REMAP is not set

#
# Remoteproc drivers (EXPERIMENTAL)
#

#
# Rpmsg drivers (EXPERIMENTAL)
#
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_PM_DEVFREQ is not set

#
# Firmware Drivers
#
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=m
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=m
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
# CONFIG_GOOGLE_FIRMWARE is not set

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=m
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_FS_XIP=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y

#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_ECRYPT_FS=m
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_JFFS2_FS=m
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
CONFIG_UBIFS_FS=m
CONFIG_UBIFS_FS_XATTR=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBIFS_FS_DEBUG is not set
# CONFIG_LOGFS is not set
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_XATTR is not set
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SQUASHFS_LZO is not set
# CONFIG_SQUASHFS_XZ is not set
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EXOFS_FS is not set
CONFIG_ORE=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_OBJLAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
CONFIG_NFS_FSCACHE=y
CONFIG_NFS_USE_LEGACY_DNS=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_FSCACHE is not set
CONFIG_CIFS_ACL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
CONFIG_DLM_DEBUG=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FTRACE_NMI_ENTER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_FTRACE_NMI_ENTER=y
CONFIG_EVENT_TRACING=y
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SCHED_TRACER=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
CONFIG_RING_BUFFER_BENCHMARK=m
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
CONFIG_BUILD_DOCSRC=y
CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set
# CONFIG_KGDB_LOW_LEVEL_TRAP is not set
# CONFIG_KGDB_KDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_TEST_KSTRTOX is not set
CONFIG_STRICT_DEVMEM=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
CONFIG_DEBUG_NX_TEST=m
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
# CONFIG_SECURITY_PATH is not set
CONFIG_LSM_MMAP_MIN_ADDR=65535
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_YAMA is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_AUDIT=y
CONFIG_IMA_LSM_RULES=y
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="selinux"
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m

#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA1_SSSE3 is not set
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
CONFIG_CRYPTO_CAMELLIA=m
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
# CONFIG_CRYPTO_SALSA20 is not set
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
CONFIG_CRYPTO_TEA=m
# CONFIG_CRYPTO_TWOFISH is not set
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=y

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
# CONFIG_KVM_MMU_AUDIT is not set
CONFIG_VHOST_NET=m
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
# CONFIG_CRC8 is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC16=y
CONFIG_BCH=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
# CONFIG_CORDIC is not set

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 21:45:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:45:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVk9-0000yZ-Dw; Mon, 07 May 2012 21:45:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Huang2@amd.com>) id 1SRVk7-0000yM-DJ
	for xen-devel@lists.xen.org; Mon, 07 May 2012 21:45:20 +0000
Received: from [85.158.139.83:46798] by server-6.bemta-5.messagelabs.com id
	24/0C-13222-E6248AF4; Mon, 07 May 2012 21:45:18 +0000
X-Env-Sender: Wei.Huang2@amd.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336427113!27086760!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.6 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20573 invoked from network); 7 May 2012 21:45:15 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-15.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	7 May 2012 21:45:15 -0000
Received: from mail171-ch1-R.bigfish.com (10.43.68.231) by
	CH1EHSOBE006.bigfish.com (10.43.70.56) with Microsoft SMTP Server id
	14.1.225.23; Mon, 7 May 2012 21:45:00 +0000
Received: from mail171-ch1 (localhost [127.0.0.1])	by
	mail171-ch1-R.bigfish.com (Postfix) with ESMTP id E54A44E0608;
	Mon,  7 May 2012 21:44:59 +0000 (UTC)
X-SpamScore: -17
X-BigFish: VPS-17(zzbb2dI9371Ic85fh14e3M98dK11f6N4015Izz1202hzz8275bh8275dhc704dhz2dh668h839hd25h)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail171-ch1 (localhost.localdomain [127.0.0.1]) by mail171-ch1
	(MessageSwitch) id 1336427096442035_5786;
	Mon,  7 May 2012 21:44:56 +0000 (UTC)
Received: from CH1EHSMHS006.bigfish.com (snatpool3.int.messaging.microsoft.com
	[10.43.68.229])	by mail171-ch1.bigfish.com (Postfix) with ESMTP id
	651662E00FF;	Mon,  7 May 2012 21:44:56 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS006.bigfish.com (10.43.70.6) with Microsoft SMTP Server id
	14.1.225.23; Mon, 7 May 2012 21:44:55 +0000
X-WSS-ID: 0M3O9R4-01-EHX-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2EECD10281B9;	Mon,  7 May 2012 16:45:03 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 7 May 2012 16:45:10 -0500
Received: from SAUSEXDAG03.amd.com ([fe80::85b5:3838:d8b4:20ba]) by
	sausexdag02.amd.com ([fe80::ed3c:9786:3083:dd99%21]) with mapi id
	14.01.0323.003; Mon, 7 May 2012 16:45:03 -0500
From: "Huang2, Wei" <Wei.Huang2@amd.com>
To: "Teo En Ming (Zhang Enming)" <singapore.mr.teo.en.ming@gmail.com>
Thread-Topic: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
	Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough
	Documentation
Thread-Index: AQHNDVKcjm0Cx8zTR06RHTP4MgG7OZaBAluAgAC+IACAAC4WgP//xyKAgABpY4D//8aFgIAAtlQAgABPPICAO3ZUgIAAtl4Q
Date: Mon, 7 May 2012 21:44:48 +0000
Message-ID: <4400B41FB768044EA720935D0808176C0911799D@sausexdag03.amd.com>
References: <4F7334D9.2020700@gmail.com>
	<CAA7N5Ra53YKBPZqHKppsOCoNEF4JMO5emrPcSu=w2S+yxsQBfQ@mail.gmail.com>
	<4F73C718.9020905@gmail.com>
	<CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com>
	<4F7484C0.2060009@gmail.com> <4F74AB69.4080507@gmail.com>
	<4F74C205.9070104@amd.com>
	<CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com>
	<4F74EA35.4030305@amd.com> <4F753CD8.4050300@gmail.com>
	<4F75C59F.8030407@amd.com> <4FA760B9.4060501@gmail.com>
In-Reply-To: <4FA760B9.4060501@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.236.48.215]
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Casey DeLorme <cdelorme@gmail.com>,
	Tobias Geiger <tobias.geiger@vido.info>,
	'Teo En Ming' <teo.en.ming@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
 Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4355524141628207631=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4355524141628207631==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_"

--_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

No, I didn't ask them to include this patch in Xen 4.2. If you have an AMD =
GPU, you can try it as a secondary passthru without VBIOS patch. Most of th=
em will work from what I heard.

Thanks,
-Wei

From: Teo En Ming (Zhang Enming) [mailto:singapore.mr.teo.en.ming@gmail.com=
]
Sent: Monday, May 07, 2012 12:42 AM
To: Huang2, Wei
Cc: Casey DeLorme; xen-users@lists.xen.org; Tobias Geiger; xen-devel@lists.=
xen.org; 'Teo En Ming'
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to Att=
empt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation

On 30/03/2012 22:39, Wei Huang wrote:
On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) wrote:
On 30/03/2012 07:03, Wei Huang wrote:
On 03/29/2012 04:29 PM, Casey DeLorme wrote:
David,

XenServer VGA Passthrough requires a paid/licensed copy, which costs $2500,=
 a bit out of my price range for experimentation.  Important to note that t=
he feature is not a part of the 30-day trial license.

However, Citrix recently visited my college and I was able to preview hardw=
are access on a laptop one of the employees had, where they swapped between=
 Ubuntu and Windows with a hotkey, and various hardware components includin=
g onboard GPU and the WebCam were accessible.

In testing XenServer, I can say that if I had a business, that's the produc=
t I would use.  In the past month having tried Xen and ESXi, I was astonish=
ed with the ease of use for XenServer.

As for Catalyst, version 12.2 (the latest currently) worked for me.

Important to note that until I followed Andrews advice to omit the Catalyst=
 Control Center, the installation resulted in a BSOD.
I saw similar issue whiling playing with XenClient. After discussing with A=
MD GPU driver team, the conclusion was that the installer has a bug. But I =
have not received any further update from them. Also manual driver installa=
tion (after many tries) did fix problem for me.


The solution, select "Custom" installation and uncheck the CCC.  After the =
installation your first reboot should run some follow-up updates via cmd, y=
ou need to reboot a second time for fully functional drivers.

Also, I had underscan on my monitor so I went out on a limb and re-ran the =
setup for Catalyst, and was able to get CCC installed with a second run thr=
ough, which allowed me to fix my underscan issue.

My conclusion is that the CCC requires some driver functionality that isn't=
 available until after you install the drivers, this could be on all system=
s or it might be related to how HVM's handle the PCI devices, that much I c=
an't say.



Teo,

I could be spouting nonsense, and if so I'm sure Wei can correct me, but I =
am pretty sure AMD engineers have been contributing to Xen for a while, and=
 some patches have already been applied.  Obviously it isn't flawless, I my=
self haven't gotten video at boot time, only at the login screen.

This is because VBIOS patch wasn't applied. But as I said before, my VBIOS =
wasn't universal enough to put it as a production patch. So I am hesitant t=
o put it out.

Dear Wei Huang at AMD Corporation,

Please put your Xen VGA Passthrough patch out so that all of us can have a =
try.

Thank you very much.
http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.h=
tml


Dear Wei Huang,

Your VGA Passthrough patch is still not included in the Xen 4.2-unstable tr=
ee?

Thank you.




--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore


Mine works on 4.1.2, but it is possible that 4.1.0 had less of these "patch=
es" hence Sebastien's post.

Also, I apologize as I did not properly word my opinion before.  VGA Passth=
rough is new "for consumer components".  In 2010 the number of desktop (not=
 server) boards boasting VT-d functionality could probably be counted on on=
e hand.  To my understanding that means the technology is at most 3 years o=
ld, still a baby in my opinion.

I didn't mean that the technology hadn't been implemented into various Hype=
rvisors, just that it is clearly not a perfected feature.  If you consider =
3 years of consumer availability, dates become important when researching. =
 Sebastien's post was May 2011, just shy of one year ago, and Thomas's was =
in 2010.

There are newer patches still for ATI in Xen 4.2, which I intend to test ov=
er the next week.  I have NOT gotten ATI to work at boot time, video starts=
 at the login screen.

I agree with Wei that drivers can contribute to BSOD's and errors, but when=
 an install doesn't fail but the hardware reacts the same as before, I woul=
d like to assume the driver is irrelative.

Have you looked at XenClient project? It has a customized ATI component whi=
ch allows you to switch between VMs flawlessly. I think it is the most matu=
re Xen solution for GPU passthru in client area.

Dear Wei Huang at AMD Corporation,

May I know what is the XenClient project?




~Casey

On Thu, Mar 29, 2012 at 4:11 PM, Wei Huang <wei.huang2@amd.com<mailto:wei.h=
uang2@amd.com>> wrote:
On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
Dear Casey DeLorme,

This guy, Sebastien Gauthier, also has the same problems as us. He was usin=
g Xen 4.1.0 and an ATI Radeon 4550. He applied Mr. Wei Huang's patch. After=
 installing the latest ATI/AMD Catalyst drivers, he got a BSOD with Xen VGA=
 Passthrough to Windows 7.

Please read Sebastien Gauthier's case here:

http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html

Hence Sebastien Gauthier reported Xen VGA Passthrough with PARTIAL SUCCESS,=
 like us.

Dear Tobias Geiger,

You were saying that with ATI VGA cards, you do not need to apply any Xen V=
GA Passthrough patches. But this guy Sebastien Gauthier applied Mr. Wei Hua=
ng's patches to Xen 4.1.0 and got a BSOD after installing ATI Catalyst driv=
ers. Sebastien Gauthier did not get 100% success with Xen VGA Passthrough t=
o Windows 7 using an ATI VGA card.
Hi Teo,

The VBIOS patch I sent out did not work for all ATI cards. The patch itself=
 assumed certain behavior of GPU VBIOS. But this doesn't apply to every GPU=
 generation. From this perspective, my patch isn't universal. Also there ar=
e many factors, some of which are not in control by us (like graphics drive=
r), can contribute to BSOD you mentioned. I am not in a position to debug i=
t for everyone's card (as I don't have all cards).

Thanks,
-Wei



--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore




On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
On 29/03/2012 12:29, Casey DeLorme wrote:
My mistake for not hitting "Reply to All", sorry.

No worries Casey.



It might be of some value to mention that my tests were with Windows 7, I h=
ave no interest in using XP anymore.  Also, I did all of my testing through=
 remote VNC, not once did I actually get video, even 2D, working.

I bought 2 copies of Windows XP Home Edition in the past because it is chea=
p, at S$145. I did not buy Windows 7 because it is expensive. I got video w=
orking all right, but only 2D. I cannot get 3D graphics working.


However, my errors are exactly as you described:

1.  Windows recognizes the model (GTX 460), not "unknown PCI device".
2.  Device code 43.
3.  No resources assigned to the device.

We have the same set of errors.



Might be worth mentioning, I was able to run the latest nVidia driver insta=
llation without errors, but after rebooting there was no change, same error=
 code, still no video.

Same situation here with the latest NVIDIA drivers. But I only have 2D vide=
o working. I can't get 3D video to work.


 To me this would be evidence that driver version isn't a problem, but then=
 again I didn't have anything actually working.

I agree that driver version isn't a problem. Something is wrong somewhere.




I am an IT student in college, so my experience is limited to mostly progra=
mming with very little knowledge of the inner-workings of hardware.  So, fo=
rgive me for being unable to help with regards to memory addresses on the c=
ards.

I am hoping that Intel engineers and Xen developers would be able to help.



I've been using *nix for about 4 years, and Windows since I my age was a si=
ngle digit.  I have had experience setting up server features such as web, =
database, and application servers but I am still green when it comes to ker=
nel or hardware configuration.

I started learning Linux/UNIX since the year 2005, that is about 7 years ag=
o. I started using Windows when it was version 3.1. I love compiling the la=
test Linux kernel and assembling my own computer hardware.



My Xen adventure began 35 days ago, and it is no exaggeration to say that i=
n those 35 days I have learned more about linux than I had in the past two =
years.  I like challenges as much as the next IT person, but I ran out of t=
ime and ideas for debugging my nVidia problems.  The nVidia stretch of my a=
dventure lasted for 24 days through 54 fresh linux installations accompanie=
d by over 200~ pages worth of documented failures and not a single pixel si=
ghted.

Why not make your documentation into PDF? It is a very popular document for=
mat.



The ATI card took me a day, less than 12 hours of relatively easy debugging=
 by comparison to the aforementioned testing.  I do fully understanding fin=
ancial constraints, but it is a working solution and worth mentioning.  I d=
o not know what the prices are like in Singapore, but in the states I was a=
ble to buy an ATI Radeon HD 6870 for $160.  For me it came down to weighing=
 my objectives against my curiosity.

That ATI Radeon HD 6870 would cost me $279, I think.



If you do continue your nVidia endeavors I wish you success, but as in my f=
ormer email VGA passthrough is a new frontier, not even Guru's like David m=
ay not be able to help beyond their own hardware experiences.

I don't think VGA passthrough is a new frontier. Oracle VirtualBox and Linu=
x KVM supports VGA passthrough as well. Xen ATI VGA Passthrough works out o=
f the box, as Tobias Geiger suggested, but NVIDIA requires patches.




Documentation is one problem I agree with you on 100%.  I came into this kn=
owing relatively little about Linux & hardware, and nothing about Xen, and =
most every guide I found assumed I had been in a deep relationship with Lin=
ux for many years and had a basic understanding of Xen commands.

I started learning Xen since the year 2007, which is about 5 years ago.



Like you, I intend to use those documented failures as well as my recent su=
ccess to create a comprehensive guide with photographs, screen captures, an=
d perhaps even videos going from "assembled computer" to "Complete Xen Dom0=
 /w HVM & VGA Passthrough".  Provided the wiki will allow me to upload the =
screenshots, I'll be certain to post it there.

I will be looking forward to your documentation and videos. Right now Xen w=
iki allows uploading image files and PDF files. Why not create a PDF docume=
nt and share it with all of us? It is known as portable document format and=
 is very popular, but it appears that xen mailing lists don't like PDF form=
at.

I don't like wiki pages because anybody can edit and fundamentally mess up =
the wiki pages, even providing bogus and erroneous information. That's why =
I don't like creating wiki pages. Anybody can edit and mess up the informat=
ion you have painstakingly created on the wiki pages. So please take note.



--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore




~Casey

On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang Enming) <singapore.mr.=
teo.en.ming@gmail.com<mailto:singapore.mr.teo.en.ming@gmail.com>> wrote:
Dearest Casey DeLorme,

Thank you very very much for your kind feedback and input. I would also lik=
e to thank Mr. Tobias Geiger, again, for providing his suggestion on exposi=
ng the fourth memory region in tools/firmware/hvmloader/acpi/dsdt.asl. In a=
ny case, either exposing the first 3 memory regions only or exposing all th=
e 4 memory regions does not work. Sadly, Tobias Geiger is unable to help me=
 further.

I have asked Jean David Techer, what about the 4th PCI memory region? Why o=
nly expose the first 3 PCI memory regions? I don't understand, of course. J=
ean David Techer did not reply to my question.

I have decided to post your prompt reply to the xen-users and xen-devel mai=
ling lists, in case people think that I am finding fault with Jean David Te=
cher, or trying to irritate him, or trying to make him angry, or trying to =
aggravate him. Jean David Techer replied me with an email saying that I spe=
nt too much time and too bent on solving the yellow exclamation mark glitch=
 for my NVIDIA Geforce 8400GS in Device Manager in Windows 8 Consumer Previ=
ew and Windows XP Home Edition, and that I sent stupid requests. Stupid req=
uests? Did he read my emails carefully, word by word?

Casey DeLorme, please, can I confirm with you again that you are getting th=
e following errors after applying Jean David Techer's Xen 4.2-unstable VGA =
Passthrough patches:

(1) Yellow exclamation mark besides your NVIDIA GTX 460 in Device Manager
(2) Windows has stopped this device because it has reported problems. (Code=
 43)
(3) This device isn't using any resources because it has a problem.

Jean David Techer insists that our technical issues are due to a NVIDIA dri=
ver problem. He insists that you have to install NVIDIA driver versions 275=
.33 WHQL and 275.50 BETA. Any other NVIDIA driver versions (above 280.XX) w=
ill not work, according to Jean David Techer. However, I have tried install=
ing NVIDIA driver versions 275.33 and 275.50 from www.softpedia.com<http://=
www.softpedia.com>, as he suggested, but it caused my Windows XP Home Editi=
on HVM virtual machine to be destroyed/terminated/crash after a few minutes=
 and my dom0 to crash as well. NVIDIA driver versions 275.33 and 275.50 for=
 Windows XP 32-bit is not available from the official NVIDIA website.

So it is definitely not a NVIDIA driver problem. I suspect that the technic=
al issue has to do with MMIO BARs pBAR:vBAR 1:1 matching. I don't think the=
re is any problem with vgabios-pt.bin extracted out from our NVIDIA VGA car=
ds, because I have performed a "hexdump -C" on my extracted VGA BIOS EEPROM=
, or Electrically Erasable Programmable Read Only Memory.

Secondly, it does seem strange that Jean David Techer was able to attain 10=
0%, ie. perfect success with Xen 4.2-unstable VGA Passthrough to his Window=
s XP 32-bit and 64-bit HVM domU. Have you watched his Youtube video? It is =
only 4 minutes. Please do watch Jean David Techer's Youtube video at the fo=
llowing URL:

Jean David Techer's Xen 4.2-unstable VGA Passthrough to Windows XP x64 HVM =
domU Youtube video link: http://www.youtube.com/watch?v=3D3SaYO0ERW44

I am appalled and baffled that he has attained 100% success while both of u=
s have only attained partial success (i.e. less than 100%) on Xen 4.2-unsta=
ble VGA Passthrough to Windows 8 Consumer Preview and Windows XP.

Solving the yellow exclamation mark issue is important because we would not=
 be able to run 3D graphics benchmarks and play 3D games without solving it=
. I am not sending silly emails about some yellow marks, as Jean David Tech=
er suggested. I can't even run Unigine Heaven DX11, and 3dmark11 3D display=
 benchmarks, because of the yellow exclamation mark for NVIDIA Geforce 8400=
 GS in Device Manager.

Casey DeLorme, with your report on relatively easy success with ATI VGA car=
ds, I think I would go the ATI way, but I would have to spend a few hundred=
 dollars compared to my cheap SGD$44 NVIDIA Geforce 8400 GS card. And while=
 deciding to go the ATI way, I would also like to continue troubleshooting =
with the NVIDIA problem, because I consider it to be a technical challenge.

In essence, Jean David Techner is considered to be a "boss", or business ow=
ner, or proprietor, or technopreneur, or entrepreneur, or technical support=
 officer, or customer support officer, or IT helpdesk engineer, providing s=
ervices like his forward-ported Xen 4.2-unstable VGA Passthrough patches an=
d the documentation on his blog. I repost Jean David Techer's official webs=
ite here:

Jean David Techer's Xen 4.2-unstable VGA Passthrough blog: http://www.david=
gis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-th=
rough

Jean David Techer's official website is his business venture.

Basically, I am Jean David Techer's "customer", trying to obtain technical =
support from him. Of course, he is not obliged to provide technical support=
 to me since he is providing free services. It is, after all, an open sourc=
e software project. Nobody is obliged to provide anybody with technical sup=
port. To do Jean David Techer justice, he replied most of my questions whil=
e avoiding some of my questions.

Finally, I have also failed to obtain technical support from Xen developers=
 like Ian Campbell from Citrix Corporation and Konrad Wilk from Oracle Corp=
oration. I have always provided all the steps which I have taken, the confi=
guration files and necessary documentation, and kernel messages and error l=
ogs to xen-users and xen-devel mailing lists, but they keep insisting I did=
 not provide the information they required. I wondered why. I think they di=
d not read my emails carefully. They told me they would not reply to me any=
 more if I do not provide the information they requested. But the problem i=
s that I have always provided information they requested! I think they miss=
ed some of my emails, or did not read my emails carefully enough. I am an a=
rdent supporter and SERIOUS software tester for open source Xen virtualizat=
ion/hypervisor but they treated me lightly. I always read my emails WORD BY=
 WORD. I have even went to the point of making a video on the BUG and uploa=
ding my video to Youtube. The video is only THREE minutes.

As everybody says, a picture is worth a thousand words. A video is worth a =
BILLION words!

I have also failed to obtain technical support from Xen developers regardin=
g Xen 4.2-unstable VGA Passthrough.

I am hoping Xen 4.2 would have official support for Xen VGA Passthrough for=
 both NVIDIA and ATI cards.

Casey DeLorme, thank you very much once again. I will be making changes to =
my Xen, Linux Kernel and Xen VGA Passthrough Documentation and will be rele=
asing Version 1.7 shortly. Jean David Techer's documentation assumes some l=
evel of advanced Linux technical knowledge, so I am writing documentation o=
n my own so that everybody, not just advanced Linux and Xen users, can foll=
ow. I have made references to Jean David Techer's documentation in my own d=
ocumentation.

I would be very happy if people would use my documentation. Of course, it s=
atisfies my ego and my vanity. Haha.

I have been un-employed for nearly three years now, and I would hesitate to=
 spend a few hundred dollars on an ATI VGA card. I quit my job as an IT eng=
ineer 3 years ago because my father suffered from lacunar infarct, or more =
commonly known as stroke. My NVIDIA Geforce 8400 GS costs only S$44. Please=
 understand why I hesitate to buy an ATI VGA card. The cheapest one costs S=
GD$279.

I have a diploma in Mechanical+Electronics engineering from Singapore Polyt=
echnic and a Bachelor's degree in Mechanical Engineering from the National =
University of Singapore. But I do not have qualifications in Computer Scien=
ce or Information Technology. I have worked as an Information Technology en=
gineer in Defense Science and Technology Agency, Ministry of Defense, Singa=
pore, National Computer Systems Pte Ltd, Asiasoft Online Pte Ltd, and Ishin=
emax Singapore Pte Ltd.

Google search terms: Frenchman Jean David Techer, Singaporean Teo En Ming's=
 Xen, Linux Kernel and Xen VGA Passthrough Documentation, Xen 4.2-unstable =
VGA Passthrough to Windows 8 Consumer Preview and Windows XP HVM Virtual Ma=
chines

Thank you very much for reading my lengthy email. I am always courteous, sa=
ying "Please help me. Please. Please. Please." and "Thank you very much for=
 your kind assistance" in my emails.

Thank you very much.
--
Yours sincerely,
Mr. Teo En Ming (Zhang Enming)
Singapore Citizen

cc: His Excellency The Prime Minister Mr. Lee Hsien Loong, Prime Minister's=
 Office, Republic of Singapore

On 29/03/2012 03:53, Casey DeLorme wrote:
Hi Teo,

I tried David's patch files a while ago without success.  I had Xen compile=
d with the patch files and my GTX 460 VGA BIOS rom, but I got the same as y=
ou, either a BSOD or Code 43 in Device Manager.

You sound plenty competent, but it's important to remember that you are pio=
neering a technology that for consumers is still in its infancy.  Very few =
people are testing this with consumer equipment, so finding results seems t=
o be a rarity.




_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org<mailto:Xen-users@lists.xen.org>
http://lists.xen.org/xen-users












--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore

--_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Consolas","serif";
	color:black;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">No, I didn&#8217;t ask th=
em to include this patch in Xen 4.2. If you have an AMD GPU, you can try it=
 as a secondary passthru without VBIOS patch. Most of them will
 work from what I heard.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Thanks,<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">-Wei<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">From:</span></b><spa=
n style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif=
&quot;;color:windowtext"> Teo En Ming (Zhang Enming) [mailto:singapore.mr.t=
eo.en.ming@gmail.com]
<br>
<b>Sent:</b> Monday, May 07, 2012 12:42 AM<br>
<b>To:</b> Huang2, Wei<br>
<b>Cc:</b> Casey DeLorme; xen-users@lists.xen.org; Tobias Geiger; xen-devel=
@lists.xen.org; 'Teo En Ming'<br>
<b>Subject:</b> Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users=
 to Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentat=
ion<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">On 30/03/2012 22:39, Wei Huang wrote: <o:p></o:p></p=
>
<p class=3D"MsoNormal">On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) w=
rote: <o:p>
</o:p></p>
<p class=3D"MsoNormal">On 30/03/2012 07:03, Wei Huang wrote: <o:p></o:p></p=
>
<p class=3D"MsoNormal">On 03/29/2012 04:29 PM, Casey DeLorme wrote: <o:p></=
o:p></p>
<div>
<p class=3D"MsoNormal">David,<o:p></o:p></p>
</div>
<div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">XenServer VGA Passthrough requires a paid/licensed c=
opy, which costs $2500, a bit out of my price range for experimentation. &n=
bsp;Important to note that the feature is not a part of the 30-day trial li=
cense.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">However, Citrix recently visited my college and I wa=
s able to preview hardware access on a laptop one of the employees had, whe=
re they swapped between Ubuntu and Windows with a hotkey, and various hardw=
are components including onboard GPU
 and the WebCam were accessible.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">In testing XenServer, I can say that if I had a busi=
ness, that's the product I would use. &nbsp;In the past month having tried =
Xen and ESXi, I was astonished with the ease of use for XenServer.<o:p></o:=
p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">As for Catalyst, version 12.2 (the latest currently)=
 worked for me.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Important to note that until I followed Andrews advi=
ce to omit the Catalyst Control Center, the installation resulted in a BSOD=
.<o:p></o:p></p>
</div>
</div>
<p class=3D"MsoNormal">I saw similar issue whiling playing with XenClient. =
After discussing with AMD GPU driver team, the conclusion was that the inst=
aller has a bug. But I have not received any further update from them. Also=
 manual driver installation (after
 many tries) did fix problem for me. <br>
<br>
<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">The solution, select &quot;Custom&quot; installation=
 and uncheck the CCC. &nbsp;After the installation your first reboot should=
 run some follow-up updates via cmd, you need to reboot a second time for f=
ully functional drivers.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Also, I had underscan on my monitor so I went out on=
 a limb and re-ran the setup for Catalyst, and was able to get CCC installe=
d with a second run through, which allowed me to fix my underscan issue.<o:=
p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">My conclusion is that the CCC requires some driver f=
unctionality that isn't available until after you install the drivers, this=
 could be on all systems or it might be related to how HVM's handle the PCI=
 devices, that much I can't say.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Teo,<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I could be spouting nonsense, and if so I'm sure Wei=
 can correct me, but I am pretty sure AMD engineers have been contributing =
to Xen for a while, and some patches have already been applied. &nbsp;Obvio=
usly it isn't flawless, I myself haven't
 gotten video at boot time, only at the login screen.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
<p class=3D"MsoNormal">This is because VBIOS patch wasn't applied. But as I=
 said before, my VBIOS wasn't universal enough to put it as a production pa=
tch. So I am hesitant to put it out.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><br>
Dear Wei Huang at AMD Corporation,<br>
<br>
Please put your Xen VGA Passthrough patch out so that all of us can have a =
try.<br>
<br>
Thank you very much.<o:p></o:p></p>
<p class=3D"MsoNormal"><a href=3D"http://old-list-archives.xen.org/archives=
/html/xen-devel/2010-10/msg00284.html">http://old-list-archives.xen.org/arc=
hives/html/xen-devel/2010-10/msg00284.html</a><o:p></o:p></p>
<p class=3D"MsoNormal"><br>
<br>
Dear Wei Huang,<br>
<br>
Your VGA Passthrough patch is still not included in the Xen 4.2-unstable tr=
ee?<br>
<br>
Thank you.<br>
<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
<p class=3D"MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal">Mine works on 4.1.2, but it is possible that 4.1.0 h=
ad less of these &quot;patches&quot; hence Sebastien's post.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Also, I apologize as I did not properly word my opin=
ion before. &nbsp;VGA Passthrough is new &quot;for consumer components&quot=
;. &nbsp;In 2010 the number of desktop (not server) boards boasting VT-d fu=
nctionality could probably be counted on one hand. &nbsp;To
 my understanding that means the technology is at most 3 years old, still a=
 baby in my opinion.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I didn't mean that the technology hadn't been implem=
ented into various Hypervisors, just that it is clearly not a perfected fea=
ture. &nbsp;If you consider 3 years of consumer availability, dates become =
important when researching. &nbsp;Sebastien's
 post was May 2011, just shy of one year ago, and Thomas's was in 2010.<o:p=
></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">There are newer patches still for ATI in Xen 4.2, wh=
ich I intend to test over the next week. &nbsp;I have NOT gotten ATI to wor=
k at boot time, video starts at the login screen.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I agree with Wei that drivers can contribute to BSOD=
's and errors, but when an install doesn't fail but the hardware reacts the=
 same as before, I would like to assume the driver is irrelative.<o:p></o:p=
></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</blockquote>
<p class=3D"MsoNormal">Have you looked at XenClient project? It has a custo=
mized ATI component which allows you to switch between VMs flawlessly. I th=
ink it is the most mature Xen solution for GPU passthru in client area.<o:p=
></o:p></p>
<p class=3D"MsoNormal"><br>
Dear Wei Huang at AMD Corporation,<br>
<br>
May I know what is the XenClient project?<br>
<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">~Casey<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">On Thu, Mar 29, 2012 at 4:11 PM, Wei Huang &lt;<a hr=
ef=3D"mailto:wei.huang2@amd.com" target=3D"_blank">wei.huang2@amd.com</a>&g=
t; wrote:<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal">On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) w=
rote: <o:p>
</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Dear Casey DeLorme,<b=
r>
<br>
This guy, Sebastien Gauthier, also has the same problems as us. He was usin=
g Xen 4.1.0 and an ATI Radeon 4550. He applied Mr. Wei Huang's patch. After=
 installing the latest ATI/AMD Catalyst drivers, he got a BSOD with Xen VGA=
 Passthrough to Windows 7.<br>
<br>
Please read Sebastien Gauthier's case here: <br>
<br>
<a href=3D"http://readlist.com/lists/lists.xensource.com/xen-users/11/59090=
.html" target=3D"_blank">http://readlist.com/lists/lists.xensource.com/xen-=
users/11/59090.html</a><br>
<br>
Hence Sebastien Gauthier reported Xen VGA Passthrough with PARTIAL SUCCESS,=
 like us.<br>
<br>
Dear Tobias Geiger,<br>
<br>
You were saying that with ATI VGA cards, you do not need to apply any Xen V=
GA Passthrough patches. But this guy Sebastien Gauthier applied Mr. Wei Hua=
ng's patches to Xen 4.1.0 and got a BSOD after installing ATI Catalyst driv=
ers. Sebastien Gauthier did not
 get 100% success with Xen VGA Passthrough to Windows 7 using an ATI VGA ca=
rd.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal">Hi Teo,<br>
<br>
The VBIOS patch I sent out did not work for all ATI cards. The patch itself=
 assumed certain behavior of GPU VBIOS. But this doesn't apply to every GPU=
 generation. From this perspective, my patch isn't universal. Also there ar=
e many factors, some of which are
 not in control by us (like graphics driver), can contribute to BSOD you me=
ntioned. I am not in a position to debug it for everyone's card (as I don't=
 have all cards).<br>
<br>
Thanks,<br>
-Wei <o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
<p class=3D"MsoNormal"><br>
<br>
<br>
<br>
On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote: <o:p></o:p></p>
<p class=3D"MsoNormal">On 29/03/2012 12:29, Casey DeLorme wrote: <o:p></o:p=
></p>
<div>
<p class=3D"MsoNormal">My mistake for not hitting &quot;Reply to All&quot;,=
 sorry.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
No worries Casey.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">It might be of some value to mention that my tests w=
ere with Windows 7, I have no interest in using XP anymore. &nbsp;Also, I d=
id all of my testing through remote VNC, not once did I actually get video,=
 even 2D, working.&nbsp;
<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I bought 2 copies of Windows XP Home Edition in the past because it is chea=
p, at S$145. I did not buy Windows 7 because it is expensive. I got video w=
orking all right, but only 2D. I cannot get 3D graphics working.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal">However, my errors are exactly as you described:<o:p=
></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">1. &nbsp;Windows recognizes the model (GTX 460), not=
 &quot;unknown PCI device&quot;.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">2. &nbsp;Device code 43.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">3. &nbsp;No resources assigned to the device.<o:p></=
o:p></p>
</div>
<p class=3D"MsoNormal"><br>
We have the same set of errors.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Might be worth mentioning, I was able to run the lat=
est nVidia driver installation without errors, but after rebooting there wa=
s no change, same error code, still no video.
<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
Same situation here with the latest NVIDIA drivers. But I only have 2D vide=
o working. I can't get 3D video to work.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal">&nbsp;To me this would be evidence that driver versi=
on isn't a problem, but then again I didn't have anything actually working.=
<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I agree that driver version isn't a problem. Something is wrong somewhere.<=
br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I am an IT student in college, so my experience is l=
imited to mostly programming with very little knowledge of the inner-workin=
gs of hardware. &nbsp;So, forgive me for being unable to help with regards =
to memory addresses on the cards.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I am hoping that Intel engineers and Xen developers would be able to help.<=
br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I've been using *nix for about 4 years, and Windows =
since I my age was a single digit. &nbsp;I have had experience setting up s=
erver features such as web, database, and application servers but I am stil=
l green when it comes to kernel or hardware
 configuration.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I started learning Linux/UNIX since the year 2005, that is about 7 years ag=
o. I started using Windows when it was version 3.1. I love compiling the la=
test Linux kernel and assembling my own computer hardware.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">My Xen adventure began 35 days ago, and it is no exa=
ggeration to say that in those 35 days I have learned more about linux than=
 I had in the past two years. &nbsp;I like challenges as much as the next I=
T person, but I ran out of time and ideas
 for debugging my nVidia problems. &nbsp;The nVidia stretch of my adventure=
 lasted for 24 days through 54 fresh linux installations accompanied by ove=
r 200~ pages worth of documented failures and not a single pixel sighted.<o=
:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
Why not make your documentation into PDF? It is a very popular document for=
mat.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">The ATI card took me a day, less than 12 hours of re=
latively easy debugging by comparison to the aforementioned testing. &nbsp;=
I do fully understanding financial constraints, but it is a working solutio=
n and worth mentioning. &nbsp;I do not know
 what the prices are like in Singapore, but in the states I was able to buy=
 an ATI Radeon HD 6870 for $160. &nbsp;For me it came down to weighing my o=
bjectives against my curiosity.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
That ATI Radeon HD 6870 would cost me $279, I think.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">If you do continue your nVidia endeavors I wish you =
success, but as in my former email VGA passthrough is a new frontier, not e=
ven Guru's like David may not be able to help beyond their own hardware exp=
eriences.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I don't think VGA passthrough is a new frontier. Oracle VirtualBox and Linu=
x KVM supports VGA passthrough as well. Xen ATI VGA Passthrough works out o=
f the box, as Tobias Geiger suggested, but NVIDIA requires patches.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Documentation is one problem I agree with you on 100=
%. &nbsp;I came into this knowing relatively little about Linux &amp; hardw=
are, and nothing about Xen, and most every guide I found assumed I had been=
 in a deep relationship with Linux for many
 years and had a basic understanding of Xen commands.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I started learning Xen since the year 2007, which is about 5 years ago.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Like you, I intend to use those documented failures =
as well as my recent success to create a comprehensive guide with photograp=
hs, screen captures, and perhaps even videos going from &quot;assembled com=
puter&quot; to &quot;Complete Xen Dom0 /w HVM &amp; VGA
 Passthrough&quot;. &nbsp;Provided the wiki will allow me to upload the scr=
eenshots, I'll be certain to post it there.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I will be looking forward to your documentation and videos. Right now Xen w=
iki allows uploading image files and PDF files. Why not create a PDF docume=
nt and share it with all of us? It is known as portable document format and=
 is very popular, but it appears
 that xen mailing lists don't like PDF format.<br>
<br>
<b><u>I don't like wiki pages because anybody can edit and fundamentally me=
ss up the wiki pages, even providing bogus and erroneous information. That'=
s why I don't like creating wiki pages. Anybody can edit and mess up the in=
formation you have painstakingly
 created on the wiki pages. So please take note.</u></b><br>
<br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
<p class=3D"MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">~Casey<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang=
 Enming) &lt;<a href=3D"mailto:singapore.mr.teo.en.ming@gmail.com" target=
=3D"_blank">singapore.mr.teo.en.ming@gmail.com</a>&gt; wrote:<o:p></o:p></p=
>
<div>
<div>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Dearest Casey DeLorme=
,<br>
<br>
Thank you very very much for your kind feedback and input. I would also lik=
e to thank Mr. Tobias Geiger, again, for providing his suggestion on exposi=
ng the fourth memory region in tools/firmware/hvmloader/acpi/dsdt.asl.
<u>In any case, either exposing the first 3 memory regions only or exposing=
 all the 4 memory regions does not work.</u> Sadly, Tobias Geiger is unable=
 to help me further.<br>
<br>
I have asked Jean David Techer, what about the 4th PCI memory region? Why o=
nly expose the first 3 PCI memory regions? I don't understand, of course. J=
ean David Techer did not reply to my question.<br>
<br>
I have decided to post your prompt reply to the xen-users and xen-devel mai=
ling lists, in case people think that I am finding fault with Jean David Te=
cher, or trying to irritate him, or trying to make him angry, or trying to =
aggravate him. Jean David Techer
 replied me with an email saying that I <u>spent too much time</u> and <u>t=
oo bent</u> on solving the yellow exclamation mark glitch for my NVIDIA Gef=
orce 8400GS in Device Manager in Windows 8 Consumer Preview and Windows XP =
Home Edition, and that I sent
<b><u>stupid</u></b> requests. Stupid requests? Did he read my emails caref=
ully, word by word?<br>
<br>
Casey DeLorme, please, can I confirm with you again that you are getting th=
e following errors after applying Jean David Techer's Xen 4.2-unstable VGA =
Passthrough patches:<br>
<br>
<b><u>(1) Yellow exclamation mark besides your NVIDIA GTX 460 in Device Man=
ager<br>
(2) Windows has stopped this device because it has reported problems. (Code=
 43)<br>
(3) This device isn't using any resources because it has a problem.</u></b>=
<br>
<br>
Jean David Techer insists that our technical issues are due to a NVIDIA dri=
ver problem. He insists that you have to install NVIDIA driver versions 275=
.33 WHQL and 275.50 BETA. Any other NVIDIA driver versions (above 280.XX) w=
ill not work, according to Jean
 David Techer. <b><u>However, I have tried installing NVIDIA driver version=
s 275.33 and 275.50 from
<a href=3D"http://www.softpedia.com" target=3D"_blank">www.softpedia.com</a=
>, as he suggested, but it caused my Windows XP Home Edition HVM virtual ma=
chine to be destroyed/terminated/crash after a few minutes and my dom0 to c=
rash as well.</u></b> NVIDIA driver
 versions 275.33 and 275.50 for Windows XP 32-bit is not available from the=
 official NVIDIA website.<br>
<br>
So it is definitely not a NVIDIA driver problem. I suspect that the technic=
al issue has to do with
<b><u>MMIO BARs pBAR:vBAR 1:1 matching</u></b>. I don't think there is any =
problem with vgabios-pt.bin extracted out from our NVIDIA VGA cards, becaus=
e I have performed a &quot;hexdump -C&quot; on my extracted VGA BIOS EEPROM=
, or Electrically Erasable Programmable Read
 Only Memory.<br>
<br>
Secondly, it does seem strange that Jean David Techer was able to attain <b=
><u>100%</u></b>, ie.
<b><u>perfect success</u></b> with Xen 4.2-unstable VGA Passthrough to his =
Windows XP 32-bit and 64-bit HVM domU. Have you watched his Youtube video? =
It is only 4 minutes. Please do watch Jean David Techer's Youtube video at =
the following URL:<br>
<br>
Jean David Techer's Xen 4.2-unstable VGA Passthrough to Windows XP x64 HVM =
domU Youtube video link:
<b><u><a href=3D"http://www.youtube.com/watch?v=3D3SaYO0ERW44" target=3D"_b=
lank">http://www.youtube.com/watch?v=3D3SaYO0ERW44</a></u></b><br>
<br>
I am <b><u>appalled</u></b> and <b><u>baffled</u></b> that he has attained =
<b><u>100% success</u></b> while both of us have only attained
<b><u>partial success</u></b> (<b><u>i.e. less than 100%</u></b>) on Xen 4.=
2-unstable VGA Passthrough to Windows 8 Consumer Preview and Windows XP.<br=
>
<br>
<b><u>Solving the yellow exclamation mark issue is important because we wou=
ld not be able to run 3D graphics benchmarks and play 3D games without solv=
ing it. I am not sending silly emails about some yellow marks, as Jean Davi=
d Techer suggested. I can't even
 run Unigine Heaven DX11, and 3dmark11 3D display benchmarks, because of th=
e yellow exclamation mark for NVIDIA Geforce 8400 GS in Device Manager.</u>=
</b><br>
<br>
Casey DeLorme, with your report on relatively easy success with ATI VGA car=
ds, I think I would go the ATI way, but I would have to spend a few hundred=
 dollars compared to my cheap SGD$44 NVIDIA Geforce 8400 GS card. And while=
 deciding to go the ATI way, I would
 also like to continue troubleshooting with the NVIDIA problem, because I c=
onsider it to be a technical challenge.<br>
<br>
In essence, Jean David Techner is considered to be a &quot;boss&quot;, or b=
usiness owner, or proprietor, or technopreneur, or entrepreneur, or technic=
al support officer, or customer support officer, or IT helpdesk engineer, p=
roviding services like his forward-ported
 Xen 4.2-unstable VGA Passthrough patches and the documentation on his blog=
. I repost Jean David Techer's official website here:<br>
<br>
Jean David Techer's Xen 4.2-unstable VGA Passthrough blog: <b><u><a href=3D=
"http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patche=
s-for-vga-pass-through" target=3D"_blank">http://www.davidgis.fr/blog/index=
.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through</a></u></b>=
<br>
<br>
Jean David Techer's official website is his business venture.<br>
<br>
Basically, I am Jean David Techer's <b><u>&quot;customer&quot;</u></b>, try=
ing to obtain technical support from him. Of course, he is
<b><u>not obliged</u></b> to provide technical support to me since he is pr=
oviding
<b><u>free</u></b> services. It is, after all, an open source software proj=
ect. Nobody is obliged to provide anybody with technical support.
<b><u>To do Jean David Techer justice, he replied most of my questions whil=
e avoiding some of my questions.</u></b><br>
<br>
Finally, I have also failed to obtain technical support from Xen developers=
 like Ian Campbell from
<b><u><span style=3D"font-size:13.5pt">Citrix Corporation</span></u></b> an=
d Konrad Wilk from
<b><u><span style=3D"font-size:13.5pt">Oracle Corporation</span></u></b>. <=
b><u>I have always provided all the steps which I have taken, the configura=
tion files and necessary documentation, and kernel messages and error logs<=
/u></b> to xen-users and xen-devel
 mailing lists, but they keep insisting I did not provide the information t=
hey required. I wondered why. I think they did not read my emails carefully=
. They told me they would not reply to me any more if I do not provide the =
information they requested.
<b><u>But the problem is that I have always provided information they reque=
sted!</u></b> I think they missed some of my emails, or did not read my ema=
ils carefully enough. I am an
<b><u>ardent supporter</u></b> and <b><u>SERIOUS software tester</u></b> fo=
r open source Xen virtualization/hypervisor but they treated me lightly.
<b><u>I always read my emails WORD BY WORD.</u></b> I have even went to the=
 point of making a video on the
<b><u>BUG</u></b> and uploading my video to Youtube. The video is only THRE=
E minutes.
<br>
<br>
<b><u>As everybody says, a picture is worth a thousand words. A video is wo=
rth a BILLION words!</u></b><br>
<br>
I have also failed to obtain technical support from Xen developers regardin=
g Xen 4.2-unstable VGA Passthrough.<br>
<br>
I am hoping Xen 4.2 would have official support for Xen VGA Passthrough for=
 both NVIDIA and ATI cards.<br>
<br>
Casey DeLorme, thank you very much once again. I will be making changes to =
my Xen, Linux Kernel and Xen VGA Passthrough Documentation and will be rele=
asing Version 1.7 shortly. Jean David Techer's documentation assumes some l=
evel of advanced Linux technical
 knowledge, so I am writing documentation on my own so that everybody, not =
just advanced Linux and Xen users, can follow. I have made references to Je=
an David Techer's documentation in my own documentation.<br>
<br>
I would be very happy if people would use my documentation. Of course, it s=
atisfies my ego and my vanity. Haha.<br>
<br>
I have been un-employed for nearly three years now, and I would hesitate to=
 spend a few hundred dollars on an ATI VGA card. I quit my job as an IT eng=
ineer 3 years ago because my father suffered from lacunar infarct, or more =
commonly known as stroke. My NVIDIA
 Geforce 8400 GS costs only S$44. Please understand why I hesitate to buy a=
n ATI VGA card. The cheapest one costs SGD$279.<br>
<br>
I have a diploma in Mechanical&#43;Electronics engineering from Singapore P=
olytechnic and a Bachelor's degree in Mechanical Engineering from the Natio=
nal University of Singapore. But I do not have qualifications in Computer S=
cience or Information Technology. I
 have worked as an Information Technology engineer in Defense Science and T=
echnology Agency, Ministry of Defense, Singapore, National Computer Systems=
 Pte Ltd, Asiasoft Online Pte Ltd, and Ishinemax Singapore Pte Ltd.<br>
<br>
Google search terms: Frenchman Jean David Techer, Singaporean Teo En Ming's=
 Xen, Linux Kernel and Xen VGA Passthrough Documentation, Xen 4.2-unstable =
VGA Passthrough to Windows 8 Consumer Preview and Windows XP HVM Virtual Ma=
chines<br>
<br>
Thank you very much for reading my lengthy email. I am always courteous, sa=
ying &quot;Please help me. Please. Please. Please.&quot; and &quot;Thank yo=
u very much for your kind assistance&quot; in my emails.<br>
<br>
Thank you very much.<o:p></o:p></p>
</div>
</div>
<div>
<p class=3D"MsoNormal">-- <br>
Yours sincerely, <br>
Mr. Teo En Ming (Zhang Enming) <o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Singapore Citizen <br>
<br>
cc: His Excellency The Prime Minister Mr. Lee Hsien Loong, Prime Minister's=
 Office, Republic of Singapore
<br>
<br>
On 29/03/2012 03:53, Casey DeLorme wrote: <o:p></o:p></p>
</div>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal">Hi Teo,<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I tried David's patch files a while ago <b><u>withou=
t success</u></b>. &nbsp;I had Xen compiled with the patch files and my GTX=
 460 VGA BIOS rom,
<b><u>but I got the same as you, either a BSOD or Code 43 in Device Manager=
.</u></b><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">You sound plenty competent, but it's important to re=
member that you are pioneering a technology that for consumers is still in =
its infancy. &nbsp;Very few people are testing this with consumer equipment=
, so finding results seems to be a rarity.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</blockquote>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
</div>
</div>
<p class=3D"MsoNormal"><br>
_______________________________________________<br>
Xen-users mailing list<br>
<a href=3D"mailto:Xen-users@lists.xen.org" target=3D"_blank">Xen-users@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-users" target=3D"_blank">http://lists.x=
en.org/xen-users</a><o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</blockquote>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
</blockquote>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
</div>
</body>
</html>

--_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_--


--===============4355524141628207631==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4355524141628207631==--


From xen-devel-bounces@lists.xen.org Mon May 07 21:45:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 21:45:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRVk9-0000yZ-Dw; Mon, 07 May 2012 21:45:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Huang2@amd.com>) id 1SRVk7-0000yM-DJ
	for xen-devel@lists.xen.org; Mon, 07 May 2012 21:45:20 +0000
Received: from [85.158.139.83:46798] by server-6.bemta-5.messagelabs.com id
	24/0C-13222-E6248AF4; Mon, 07 May 2012 21:45:18 +0000
X-Env-Sender: Wei.Huang2@amd.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336427113!27086760!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.6 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20573 invoked from network); 7 May 2012 21:45:15 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-15.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	7 May 2012 21:45:15 -0000
Received: from mail171-ch1-R.bigfish.com (10.43.68.231) by
	CH1EHSOBE006.bigfish.com (10.43.70.56) with Microsoft SMTP Server id
	14.1.225.23; Mon, 7 May 2012 21:45:00 +0000
Received: from mail171-ch1 (localhost [127.0.0.1])	by
	mail171-ch1-R.bigfish.com (Postfix) with ESMTP id E54A44E0608;
	Mon,  7 May 2012 21:44:59 +0000 (UTC)
X-SpamScore: -17
X-BigFish: VPS-17(zzbb2dI9371Ic85fh14e3M98dK11f6N4015Izz1202hzz8275bh8275dhc704dhz2dh668h839hd25h)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail171-ch1 (localhost.localdomain [127.0.0.1]) by mail171-ch1
	(MessageSwitch) id 1336427096442035_5786;
	Mon,  7 May 2012 21:44:56 +0000 (UTC)
Received: from CH1EHSMHS006.bigfish.com (snatpool3.int.messaging.microsoft.com
	[10.43.68.229])	by mail171-ch1.bigfish.com (Postfix) with ESMTP id
	651662E00FF;	Mon,  7 May 2012 21:44:56 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS006.bigfish.com (10.43.70.6) with Microsoft SMTP Server id
	14.1.225.23; Mon, 7 May 2012 21:44:55 +0000
X-WSS-ID: 0M3O9R4-01-EHX-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2EECD10281B9;	Mon,  7 May 2012 16:45:03 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 7 May 2012 16:45:10 -0500
Received: from SAUSEXDAG03.amd.com ([fe80::85b5:3838:d8b4:20ba]) by
	sausexdag02.amd.com ([fe80::ed3c:9786:3083:dd99%21]) with mapi id
	14.01.0323.003; Mon, 7 May 2012 16:45:03 -0500
From: "Huang2, Wei" <Wei.Huang2@amd.com>
To: "Teo En Ming (Zhang Enming)" <singapore.mr.teo.en.ming@gmail.com>
Thread-Topic: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
	Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough
	Documentation
Thread-Index: AQHNDVKcjm0Cx8zTR06RHTP4MgG7OZaBAluAgAC+IACAAC4WgP//xyKAgABpY4D//8aFgIAAtlQAgABPPICAO3ZUgIAAtl4Q
Date: Mon, 7 May 2012 21:44:48 +0000
Message-ID: <4400B41FB768044EA720935D0808176C0911799D@sausexdag03.amd.com>
References: <4F7334D9.2020700@gmail.com>
	<CAA7N5Ra53YKBPZqHKppsOCoNEF4JMO5emrPcSu=w2S+yxsQBfQ@mail.gmail.com>
	<4F73C718.9020905@gmail.com>
	<CAA7N5RYjC4Y+zsd2C25muQ12n8=UmNy0=eS-Y0rD_s9R0sx3DQ@mail.gmail.com>
	<4F7484C0.2060009@gmail.com> <4F74AB69.4080507@gmail.com>
	<4F74C205.9070104@amd.com>
	<CAA7N5RZVYcpzHdkdZ2_EY1R8OMGNEbmvrXnFaMFxOM7wrUvLjQ@mail.gmail.com>
	<4F74EA35.4030305@amd.com> <4F753CD8.4050300@gmail.com>
	<4F75C59F.8030407@amd.com> <4FA760B9.4060501@gmail.com>
In-Reply-To: <4FA760B9.4060501@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.236.48.215]
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Casey DeLorme <cdelorme@gmail.com>,
	Tobias Geiger <tobias.geiger@vido.info>,
	'Teo En Ming' <teo.en.ming@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to
 Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4355524141628207631=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4355524141628207631==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_"

--_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

No, I didn't ask them to include this patch in Xen 4.2. If you have an AMD =
GPU, you can try it as a secondary passthru without VBIOS patch. Most of th=
em will work from what I heard.

Thanks,
-Wei

From: Teo En Ming (Zhang Enming) [mailto:singapore.mr.teo.en.ming@gmail.com=
]
Sent: Monday, May 07, 2012 12:42 AM
To: Huang2, Wei
Cc: Casey DeLorme; xen-users@lists.xen.org; Tobias Geiger; xen-devel@lists.=
xen.org; 'Teo En Ming'
Subject: Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users to Att=
empt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentation

On 30/03/2012 22:39, Wei Huang wrote:
On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) wrote:
On 30/03/2012 07:03, Wei Huang wrote:
On 03/29/2012 04:29 PM, Casey DeLorme wrote:
David,

XenServer VGA Passthrough requires a paid/licensed copy, which costs $2500,=
 a bit out of my price range for experimentation.  Important to note that t=
he feature is not a part of the 30-day trial license.

However, Citrix recently visited my college and I was able to preview hardw=
are access on a laptop one of the employees had, where they swapped between=
 Ubuntu and Windows with a hotkey, and various hardware components includin=
g onboard GPU and the WebCam were accessible.

In testing XenServer, I can say that if I had a business, that's the produc=
t I would use.  In the past month having tried Xen and ESXi, I was astonish=
ed with the ease of use for XenServer.

As for Catalyst, version 12.2 (the latest currently) worked for me.

Important to note that until I followed Andrews advice to omit the Catalyst=
 Control Center, the installation resulted in a BSOD.
I saw similar issue whiling playing with XenClient. After discussing with A=
MD GPU driver team, the conclusion was that the installer has a bug. But I =
have not received any further update from them. Also manual driver installa=
tion (after many tries) did fix problem for me.


The solution, select "Custom" installation and uncheck the CCC.  After the =
installation your first reboot should run some follow-up updates via cmd, y=
ou need to reboot a second time for fully functional drivers.

Also, I had underscan on my monitor so I went out on a limb and re-ran the =
setup for Catalyst, and was able to get CCC installed with a second run thr=
ough, which allowed me to fix my underscan issue.

My conclusion is that the CCC requires some driver functionality that isn't=
 available until after you install the drivers, this could be on all system=
s or it might be related to how HVM's handle the PCI devices, that much I c=
an't say.



Teo,

I could be spouting nonsense, and if so I'm sure Wei can correct me, but I =
am pretty sure AMD engineers have been contributing to Xen for a while, and=
 some patches have already been applied.  Obviously it isn't flawless, I my=
self haven't gotten video at boot time, only at the login screen.

This is because VBIOS patch wasn't applied. But as I said before, my VBIOS =
wasn't universal enough to put it as a production patch. So I am hesitant t=
o put it out.

Dear Wei Huang at AMD Corporation,

Please put your Xen VGA Passthrough patch out so that all of us can have a =
try.

Thank you very much.
http://old-list-archives.xen.org/archives/html/xen-devel/2010-10/msg00284.h=
tml


Dear Wei Huang,

Your VGA Passthrough patch is still not included in the Xen 4.2-unstable tr=
ee?

Thank you.




--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore


Mine works on 4.1.2, but it is possible that 4.1.0 had less of these "patch=
es" hence Sebastien's post.

Also, I apologize as I did not properly word my opinion before.  VGA Passth=
rough is new "for consumer components".  In 2010 the number of desktop (not=
 server) boards boasting VT-d functionality could probably be counted on on=
e hand.  To my understanding that means the technology is at most 3 years o=
ld, still a baby in my opinion.

I didn't mean that the technology hadn't been implemented into various Hype=
rvisors, just that it is clearly not a perfected feature.  If you consider =
3 years of consumer availability, dates become important when researching. =
 Sebastien's post was May 2011, just shy of one year ago, and Thomas's was =
in 2010.

There are newer patches still for ATI in Xen 4.2, which I intend to test ov=
er the next week.  I have NOT gotten ATI to work at boot time, video starts=
 at the login screen.

I agree with Wei that drivers can contribute to BSOD's and errors, but when=
 an install doesn't fail but the hardware reacts the same as before, I woul=
d like to assume the driver is irrelative.

Have you looked at XenClient project? It has a customized ATI component whi=
ch allows you to switch between VMs flawlessly. I think it is the most matu=
re Xen solution for GPU passthru in client area.

Dear Wei Huang at AMD Corporation,

May I know what is the XenClient project?




~Casey

On Thu, Mar 29, 2012 at 4:11 PM, Wei Huang <wei.huang2@amd.com<mailto:wei.h=
uang2@amd.com>> wrote:
On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) wrote:
Dear Casey DeLorme,

This guy, Sebastien Gauthier, also has the same problems as us. He was usin=
g Xen 4.1.0 and an ATI Radeon 4550. He applied Mr. Wei Huang's patch. After=
 installing the latest ATI/AMD Catalyst drivers, he got a BSOD with Xen VGA=
 Passthrough to Windows 7.

Please read Sebastien Gauthier's case here:

http://readlist.com/lists/lists.xensource.com/xen-users/11/59090.html

Hence Sebastien Gauthier reported Xen VGA Passthrough with PARTIAL SUCCESS,=
 like us.

Dear Tobias Geiger,

You were saying that with ATI VGA cards, you do not need to apply any Xen V=
GA Passthrough patches. But this guy Sebastien Gauthier applied Mr. Wei Hua=
ng's patches to Xen 4.1.0 and got a BSOD after installing ATI Catalyst driv=
ers. Sebastien Gauthier did not get 100% success with Xen VGA Passthrough t=
o Windows 7 using an ATI VGA card.
Hi Teo,

The VBIOS patch I sent out did not work for all ATI cards. The patch itself=
 assumed certain behavior of GPU VBIOS. But this doesn't apply to every GPU=
 generation. From this perspective, my patch isn't universal. Also there ar=
e many factors, some of which are not in control by us (like graphics drive=
r), can contribute to BSOD you mentioned. I am not in a position to debug i=
t for everyone's card (as I don't have all cards).

Thanks,
-Wei



--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore




On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote:
On 29/03/2012 12:29, Casey DeLorme wrote:
My mistake for not hitting "Reply to All", sorry.

No worries Casey.



It might be of some value to mention that my tests were with Windows 7, I h=
ave no interest in using XP anymore.  Also, I did all of my testing through=
 remote VNC, not once did I actually get video, even 2D, working.

I bought 2 copies of Windows XP Home Edition in the past because it is chea=
p, at S$145. I did not buy Windows 7 because it is expensive. I got video w=
orking all right, but only 2D. I cannot get 3D graphics working.


However, my errors are exactly as you described:

1.  Windows recognizes the model (GTX 460), not "unknown PCI device".
2.  Device code 43.
3.  No resources assigned to the device.

We have the same set of errors.



Might be worth mentioning, I was able to run the latest nVidia driver insta=
llation without errors, but after rebooting there was no change, same error=
 code, still no video.

Same situation here with the latest NVIDIA drivers. But I only have 2D vide=
o working. I can't get 3D video to work.


 To me this would be evidence that driver version isn't a problem, but then=
 again I didn't have anything actually working.

I agree that driver version isn't a problem. Something is wrong somewhere.




I am an IT student in college, so my experience is limited to mostly progra=
mming with very little knowledge of the inner-workings of hardware.  So, fo=
rgive me for being unable to help with regards to memory addresses on the c=
ards.

I am hoping that Intel engineers and Xen developers would be able to help.



I've been using *nix for about 4 years, and Windows since I my age was a si=
ngle digit.  I have had experience setting up server features such as web, =
database, and application servers but I am still green when it comes to ker=
nel or hardware configuration.

I started learning Linux/UNIX since the year 2005, that is about 7 years ag=
o. I started using Windows when it was version 3.1. I love compiling the la=
test Linux kernel and assembling my own computer hardware.



My Xen adventure began 35 days ago, and it is no exaggeration to say that i=
n those 35 days I have learned more about linux than I had in the past two =
years.  I like challenges as much as the next IT person, but I ran out of t=
ime and ideas for debugging my nVidia problems.  The nVidia stretch of my a=
dventure lasted for 24 days through 54 fresh linux installations accompanie=
d by over 200~ pages worth of documented failures and not a single pixel si=
ghted.

Why not make your documentation into PDF? It is a very popular document for=
mat.



The ATI card took me a day, less than 12 hours of relatively easy debugging=
 by comparison to the aforementioned testing.  I do fully understanding fin=
ancial constraints, but it is a working solution and worth mentioning.  I d=
o not know what the prices are like in Singapore, but in the states I was a=
ble to buy an ATI Radeon HD 6870 for $160.  For me it came down to weighing=
 my objectives against my curiosity.

That ATI Radeon HD 6870 would cost me $279, I think.



If you do continue your nVidia endeavors I wish you success, but as in my f=
ormer email VGA passthrough is a new frontier, not even Guru's like David m=
ay not be able to help beyond their own hardware experiences.

I don't think VGA passthrough is a new frontier. Oracle VirtualBox and Linu=
x KVM supports VGA passthrough as well. Xen ATI VGA Passthrough works out o=
f the box, as Tobias Geiger suggested, but NVIDIA requires patches.




Documentation is one problem I agree with you on 100%.  I came into this kn=
owing relatively little about Linux & hardware, and nothing about Xen, and =
most every guide I found assumed I had been in a deep relationship with Lin=
ux for many years and had a basic understanding of Xen commands.

I started learning Xen since the year 2007, which is about 5 years ago.



Like you, I intend to use those documented failures as well as my recent su=
ccess to create a comprehensive guide with photographs, screen captures, an=
d perhaps even videos going from "assembled computer" to "Complete Xen Dom0=
 /w HVM & VGA Passthrough".  Provided the wiki will allow me to upload the =
screenshots, I'll be certain to post it there.

I will be looking forward to your documentation and videos. Right now Xen w=
iki allows uploading image files and PDF files. Why not create a PDF docume=
nt and share it with all of us? It is known as portable document format and=
 is very popular, but it appears that xen mailing lists don't like PDF form=
at.

I don't like wiki pages because anybody can edit and fundamentally mess up =
the wiki pages, even providing bogus and erroneous information. That's why =
I don't like creating wiki pages. Anybody can edit and mess up the informat=
ion you have painstakingly created on the wiki pages. So please take note.



--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore




~Casey

On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang Enming) <singapore.mr.=
teo.en.ming@gmail.com<mailto:singapore.mr.teo.en.ming@gmail.com>> wrote:
Dearest Casey DeLorme,

Thank you very very much for your kind feedback and input. I would also lik=
e to thank Mr. Tobias Geiger, again, for providing his suggestion on exposi=
ng the fourth memory region in tools/firmware/hvmloader/acpi/dsdt.asl. In a=
ny case, either exposing the first 3 memory regions only or exposing all th=
e 4 memory regions does not work. Sadly, Tobias Geiger is unable to help me=
 further.

I have asked Jean David Techer, what about the 4th PCI memory region? Why o=
nly expose the first 3 PCI memory regions? I don't understand, of course. J=
ean David Techer did not reply to my question.

I have decided to post your prompt reply to the xen-users and xen-devel mai=
ling lists, in case people think that I am finding fault with Jean David Te=
cher, or trying to irritate him, or trying to make him angry, or trying to =
aggravate him. Jean David Techer replied me with an email saying that I spe=
nt too much time and too bent on solving the yellow exclamation mark glitch=
 for my NVIDIA Geforce 8400GS in Device Manager in Windows 8 Consumer Previ=
ew and Windows XP Home Edition, and that I sent stupid requests. Stupid req=
uests? Did he read my emails carefully, word by word?

Casey DeLorme, please, can I confirm with you again that you are getting th=
e following errors after applying Jean David Techer's Xen 4.2-unstable VGA =
Passthrough patches:

(1) Yellow exclamation mark besides your NVIDIA GTX 460 in Device Manager
(2) Windows has stopped this device because it has reported problems. (Code=
 43)
(3) This device isn't using any resources because it has a problem.

Jean David Techer insists that our technical issues are due to a NVIDIA dri=
ver problem. He insists that you have to install NVIDIA driver versions 275=
.33 WHQL and 275.50 BETA. Any other NVIDIA driver versions (above 280.XX) w=
ill not work, according to Jean David Techer. However, I have tried install=
ing NVIDIA driver versions 275.33 and 275.50 from www.softpedia.com<http://=
www.softpedia.com>, as he suggested, but it caused my Windows XP Home Editi=
on HVM virtual machine to be destroyed/terminated/crash after a few minutes=
 and my dom0 to crash as well. NVIDIA driver versions 275.33 and 275.50 for=
 Windows XP 32-bit is not available from the official NVIDIA website.

So it is definitely not a NVIDIA driver problem. I suspect that the technic=
al issue has to do with MMIO BARs pBAR:vBAR 1:1 matching. I don't think the=
re is any problem with vgabios-pt.bin extracted out from our NVIDIA VGA car=
ds, because I have performed a "hexdump -C" on my extracted VGA BIOS EEPROM=
, or Electrically Erasable Programmable Read Only Memory.

Secondly, it does seem strange that Jean David Techer was able to attain 10=
0%, ie. perfect success with Xen 4.2-unstable VGA Passthrough to his Window=
s XP 32-bit and 64-bit HVM domU. Have you watched his Youtube video? It is =
only 4 minutes. Please do watch Jean David Techer's Youtube video at the fo=
llowing URL:

Jean David Techer's Xen 4.2-unstable VGA Passthrough to Windows XP x64 HVM =
domU Youtube video link: http://www.youtube.com/watch?v=3D3SaYO0ERW44

I am appalled and baffled that he has attained 100% success while both of u=
s have only attained partial success (i.e. less than 100%) on Xen 4.2-unsta=
ble VGA Passthrough to Windows 8 Consumer Preview and Windows XP.

Solving the yellow exclamation mark issue is important because we would not=
 be able to run 3D graphics benchmarks and play 3D games without solving it=
. I am not sending silly emails about some yellow marks, as Jean David Tech=
er suggested. I can't even run Unigine Heaven DX11, and 3dmark11 3D display=
 benchmarks, because of the yellow exclamation mark for NVIDIA Geforce 8400=
 GS in Device Manager.

Casey DeLorme, with your report on relatively easy success with ATI VGA car=
ds, I think I would go the ATI way, but I would have to spend a few hundred=
 dollars compared to my cheap SGD$44 NVIDIA Geforce 8400 GS card. And while=
 deciding to go the ATI way, I would also like to continue troubleshooting =
with the NVIDIA problem, because I consider it to be a technical challenge.

In essence, Jean David Techner is considered to be a "boss", or business ow=
ner, or proprietor, or technopreneur, or entrepreneur, or technical support=
 officer, or customer support officer, or IT helpdesk engineer, providing s=
ervices like his forward-ported Xen 4.2-unstable VGA Passthrough patches an=
d the documentation on his blog. I repost Jean David Techer's official webs=
ite here:

Jean David Techer's Xen 4.2-unstable VGA Passthrough blog: http://www.david=
gis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-th=
rough

Jean David Techer's official website is his business venture.

Basically, I am Jean David Techer's "customer", trying to obtain technical =
support from him. Of course, he is not obliged to provide technical support=
 to me since he is providing free services. It is, after all, an open sourc=
e software project. Nobody is obliged to provide anybody with technical sup=
port. To do Jean David Techer justice, he replied most of my questions whil=
e avoiding some of my questions.

Finally, I have also failed to obtain technical support from Xen developers=
 like Ian Campbell from Citrix Corporation and Konrad Wilk from Oracle Corp=
oration. I have always provided all the steps which I have taken, the confi=
guration files and necessary documentation, and kernel messages and error l=
ogs to xen-users and xen-devel mailing lists, but they keep insisting I did=
 not provide the information they required. I wondered why. I think they di=
d not read my emails carefully. They told me they would not reply to me any=
 more if I do not provide the information they requested. But the problem i=
s that I have always provided information they requested! I think they miss=
ed some of my emails, or did not read my emails carefully enough. I am an a=
rdent supporter and SERIOUS software tester for open source Xen virtualizat=
ion/hypervisor but they treated me lightly. I always read my emails WORD BY=
 WORD. I have even went to the point of making a video on the BUG and uploa=
ding my video to Youtube. The video is only THREE minutes.

As everybody says, a picture is worth a thousand words. A video is worth a =
BILLION words!

I have also failed to obtain technical support from Xen developers regardin=
g Xen 4.2-unstable VGA Passthrough.

I am hoping Xen 4.2 would have official support for Xen VGA Passthrough for=
 both NVIDIA and ATI cards.

Casey DeLorme, thank you very much once again. I will be making changes to =
my Xen, Linux Kernel and Xen VGA Passthrough Documentation and will be rele=
asing Version 1.7 shortly. Jean David Techer's documentation assumes some l=
evel of advanced Linux technical knowledge, so I am writing documentation o=
n my own so that everybody, not just advanced Linux and Xen users, can foll=
ow. I have made references to Jean David Techer's documentation in my own d=
ocumentation.

I would be very happy if people would use my documentation. Of course, it s=
atisfies my ego and my vanity. Haha.

I have been un-employed for nearly three years now, and I would hesitate to=
 spend a few hundred dollars on an ATI VGA card. I quit my job as an IT eng=
ineer 3 years ago because my father suffered from lacunar infarct, or more =
commonly known as stroke. My NVIDIA Geforce 8400 GS costs only S$44. Please=
 understand why I hesitate to buy an ATI VGA card. The cheapest one costs S=
GD$279.

I have a diploma in Mechanical+Electronics engineering from Singapore Polyt=
echnic and a Bachelor's degree in Mechanical Engineering from the National =
University of Singapore. But I do not have qualifications in Computer Scien=
ce or Information Technology. I have worked as an Information Technology en=
gineer in Defense Science and Technology Agency, Ministry of Defense, Singa=
pore, National Computer Systems Pte Ltd, Asiasoft Online Pte Ltd, and Ishin=
emax Singapore Pte Ltd.

Google search terms: Frenchman Jean David Techer, Singaporean Teo En Ming's=
 Xen, Linux Kernel and Xen VGA Passthrough Documentation, Xen 4.2-unstable =
VGA Passthrough to Windows 8 Consumer Preview and Windows XP HVM Virtual Ma=
chines

Thank you very much for reading my lengthy email. I am always courteous, sa=
ying "Please help me. Please. Please. Please." and "Thank you very much for=
 your kind assistance" in my emails.

Thank you very much.
--
Yours sincerely,
Mr. Teo En Ming (Zhang Enming)
Singapore Citizen

cc: His Excellency The Prime Minister Mr. Lee Hsien Loong, Prime Minister's=
 Office, Republic of Singapore

On 29/03/2012 03:53, Casey DeLorme wrote:
Hi Teo,

I tried David's patch files a while ago without success.  I had Xen compile=
d with the patch files and my GTX 460 VGA BIOS rom, but I got the same as y=
ou, either a BSOD or Code 43 in Device Manager.

You sound plenty competent, but it's important to remember that you are pio=
neering a technology that for consumers is still in its infancy.  Very few =
people are testing this with consumer equipment, so finding results seems t=
o be a rarity.




_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org<mailto:Xen-users@lists.xen.org>
http://lists.xen.org/xen-users












--

Yours sincerely,



Mr. Teo En Ming (Zhang Enming)

Singapore

--_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Consolas","serif";
	color:black;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">No, I didn&#8217;t ask th=
em to include this patch in Xen 4.2. If you have an AMD GPU, you can try it=
 as a secondary passthru without VBIOS patch. Most of them will
 work from what I heard.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Thanks,<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">-Wei<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">From:</span></b><spa=
n style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif=
&quot;;color:windowtext"> Teo En Ming (Zhang Enming) [mailto:singapore.mr.t=
eo.en.ming@gmail.com]
<br>
<b>Sent:</b> Monday, May 07, 2012 12:42 AM<br>
<b>To:</b> Huang2, Wei<br>
<b>Cc:</b> Casey DeLorme; xen-users@lists.xen.org; Tobias Geiger; xen-devel=
@lists.xen.org; 'Teo En Ming'<br>
<b>Subject:</b> Re: [Xen-devel] [Xen-users] [REQUEST] Request for Xen Users=
 to Attempt Jean David Techer's Xen 4.2-unstable VGA Passthrough Documentat=
ion<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">On 30/03/2012 22:39, Wei Huang wrote: <o:p></o:p></p=
>
<p class=3D"MsoNormal">On 03/29/2012 11:55 PM, Teo En Ming (Zhang Enming) w=
rote: <o:p>
</o:p></p>
<p class=3D"MsoNormal">On 30/03/2012 07:03, Wei Huang wrote: <o:p></o:p></p=
>
<p class=3D"MsoNormal">On 03/29/2012 04:29 PM, Casey DeLorme wrote: <o:p></=
o:p></p>
<div>
<p class=3D"MsoNormal">David,<o:p></o:p></p>
</div>
<div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">XenServer VGA Passthrough requires a paid/licensed c=
opy, which costs $2500, a bit out of my price range for experimentation. &n=
bsp;Important to note that the feature is not a part of the 30-day trial li=
cense.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">However, Citrix recently visited my college and I wa=
s able to preview hardware access on a laptop one of the employees had, whe=
re they swapped between Ubuntu and Windows with a hotkey, and various hardw=
are components including onboard GPU
 and the WebCam were accessible.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">In testing XenServer, I can say that if I had a busi=
ness, that's the product I would use. &nbsp;In the past month having tried =
Xen and ESXi, I was astonished with the ease of use for XenServer.<o:p></o:=
p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">As for Catalyst, version 12.2 (the latest currently)=
 worked for me.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Important to note that until I followed Andrews advi=
ce to omit the Catalyst Control Center, the installation resulted in a BSOD=
.<o:p></o:p></p>
</div>
</div>
<p class=3D"MsoNormal">I saw similar issue whiling playing with XenClient. =
After discussing with AMD GPU driver team, the conclusion was that the inst=
aller has a bug. But I have not received any further update from them. Also=
 manual driver installation (after
 many tries) did fix problem for me. <br>
<br>
<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">The solution, select &quot;Custom&quot; installation=
 and uncheck the CCC. &nbsp;After the installation your first reboot should=
 run some follow-up updates via cmd, you need to reboot a second time for f=
ully functional drivers.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Also, I had underscan on my monitor so I went out on=
 a limb and re-ran the setup for Catalyst, and was able to get CCC installe=
d with a second run through, which allowed me to fix my underscan issue.<o:=
p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">My conclusion is that the CCC requires some driver f=
unctionality that isn't available until after you install the drivers, this=
 could be on all systems or it might be related to how HVM's handle the PCI=
 devices, that much I can't say.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Teo,<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I could be spouting nonsense, and if so I'm sure Wei=
 can correct me, but I am pretty sure AMD engineers have been contributing =
to Xen for a while, and some patches have already been applied. &nbsp;Obvio=
usly it isn't flawless, I myself haven't
 gotten video at boot time, only at the login screen.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
<p class=3D"MsoNormal">This is because VBIOS patch wasn't applied. But as I=
 said before, my VBIOS wasn't universal enough to put it as a production pa=
tch. So I am hesitant to put it out.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><br>
Dear Wei Huang at AMD Corporation,<br>
<br>
Please put your Xen VGA Passthrough patch out so that all of us can have a =
try.<br>
<br>
Thank you very much.<o:p></o:p></p>
<p class=3D"MsoNormal"><a href=3D"http://old-list-archives.xen.org/archives=
/html/xen-devel/2010-10/msg00284.html">http://old-list-archives.xen.org/arc=
hives/html/xen-devel/2010-10/msg00284.html</a><o:p></o:p></p>
<p class=3D"MsoNormal"><br>
<br>
Dear Wei Huang,<br>
<br>
Your VGA Passthrough patch is still not included in the Xen 4.2-unstable tr=
ee?<br>
<br>
Thank you.<br>
<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
<p class=3D"MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal">Mine works on 4.1.2, but it is possible that 4.1.0 h=
ad less of these &quot;patches&quot; hence Sebastien's post.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Also, I apologize as I did not properly word my opin=
ion before. &nbsp;VGA Passthrough is new &quot;for consumer components&quot=
;. &nbsp;In 2010 the number of desktop (not server) boards boasting VT-d fu=
nctionality could probably be counted on one hand. &nbsp;To
 my understanding that means the technology is at most 3 years old, still a=
 baby in my opinion.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I didn't mean that the technology hadn't been implem=
ented into various Hypervisors, just that it is clearly not a perfected fea=
ture. &nbsp;If you consider 3 years of consumer availability, dates become =
important when researching. &nbsp;Sebastien's
 post was May 2011, just shy of one year ago, and Thomas's was in 2010.<o:p=
></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">There are newer patches still for ATI in Xen 4.2, wh=
ich I intend to test over the next week. &nbsp;I have NOT gotten ATI to wor=
k at boot time, video starts at the login screen.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I agree with Wei that drivers can contribute to BSOD=
's and errors, but when an install doesn't fail but the hardware reacts the=
 same as before, I would like to assume the driver is irrelative.<o:p></o:p=
></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</blockquote>
<p class=3D"MsoNormal">Have you looked at XenClient project? It has a custo=
mized ATI component which allows you to switch between VMs flawlessly. I th=
ink it is the most mature Xen solution for GPU passthru in client area.<o:p=
></o:p></p>
<p class=3D"MsoNormal"><br>
Dear Wei Huang at AMD Corporation,<br>
<br>
May I know what is the XenClient project?<br>
<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">~Casey<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">On Thu, Mar 29, 2012 at 4:11 PM, Wei Huang &lt;<a hr=
ef=3D"mailto:wei.huang2@amd.com" target=3D"_blank">wei.huang2@amd.com</a>&g=
t; wrote:<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal">On 03/29/2012 01:35 PM, Teo En Ming (Zhang Enming) w=
rote: <o:p>
</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Dear Casey DeLorme,<b=
r>
<br>
This guy, Sebastien Gauthier, also has the same problems as us. He was usin=
g Xen 4.1.0 and an ATI Radeon 4550. He applied Mr. Wei Huang's patch. After=
 installing the latest ATI/AMD Catalyst drivers, he got a BSOD with Xen VGA=
 Passthrough to Windows 7.<br>
<br>
Please read Sebastien Gauthier's case here: <br>
<br>
<a href=3D"http://readlist.com/lists/lists.xensource.com/xen-users/11/59090=
.html" target=3D"_blank">http://readlist.com/lists/lists.xensource.com/xen-=
users/11/59090.html</a><br>
<br>
Hence Sebastien Gauthier reported Xen VGA Passthrough with PARTIAL SUCCESS,=
 like us.<br>
<br>
Dear Tobias Geiger,<br>
<br>
You were saying that with ATI VGA cards, you do not need to apply any Xen V=
GA Passthrough patches. But this guy Sebastien Gauthier applied Mr. Wei Hua=
ng's patches to Xen 4.1.0 and got a BSOD after installing ATI Catalyst driv=
ers. Sebastien Gauthier did not
 get 100% success with Xen VGA Passthrough to Windows 7 using an ATI VGA ca=
rd.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal">Hi Teo,<br>
<br>
The VBIOS patch I sent out did not work for all ATI cards. The patch itself=
 assumed certain behavior of GPU VBIOS. But this doesn't apply to every GPU=
 generation. From this perspective, my patch isn't universal. Also there ar=
e many factors, some of which are
 not in control by us (like graphics driver), can contribute to BSOD you me=
ntioned. I am not in a position to debug it for everyone's card (as I don't=
 have all cards).<br>
<br>
Thanks,<br>
-Wei <o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
<p class=3D"MsoNormal"><br>
<br>
<br>
<br>
On 29/03/2012 23:50, Teo En Ming (Zhang Enming) wrote: <o:p></o:p></p>
<p class=3D"MsoNormal">On 29/03/2012 12:29, Casey DeLorme wrote: <o:p></o:p=
></p>
<div>
<p class=3D"MsoNormal">My mistake for not hitting &quot;Reply to All&quot;,=
 sorry.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
No worries Casey.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">It might be of some value to mention that my tests w=
ere with Windows 7, I have no interest in using XP anymore. &nbsp;Also, I d=
id all of my testing through remote VNC, not once did I actually get video,=
 even 2D, working.&nbsp;
<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I bought 2 copies of Windows XP Home Edition in the past because it is chea=
p, at S$145. I did not buy Windows 7 because it is expensive. I got video w=
orking all right, but only 2D. I cannot get 3D graphics working.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal">However, my errors are exactly as you described:<o:p=
></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">1. &nbsp;Windows recognizes the model (GTX 460), not=
 &quot;unknown PCI device&quot;.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">2. &nbsp;Device code 43.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">3. &nbsp;No resources assigned to the device.<o:p></=
o:p></p>
</div>
<p class=3D"MsoNormal"><br>
We have the same set of errors.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Might be worth mentioning, I was able to run the lat=
est nVidia driver installation without errors, but after rebooting there wa=
s no change, same error code, still no video.
<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
Same situation here with the latest NVIDIA drivers. But I only have 2D vide=
o working. I can't get 3D video to work.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal">&nbsp;To me this would be evidence that driver versi=
on isn't a problem, but then again I didn't have anything actually working.=
<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I agree that driver version isn't a problem. Something is wrong somewhere.<=
br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I am an IT student in college, so my experience is l=
imited to mostly programming with very little knowledge of the inner-workin=
gs of hardware. &nbsp;So, forgive me for being unable to help with regards =
to memory addresses on the cards.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I am hoping that Intel engineers and Xen developers would be able to help.<=
br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I've been using *nix for about 4 years, and Windows =
since I my age was a single digit. &nbsp;I have had experience setting up s=
erver features such as web, database, and application servers but I am stil=
l green when it comes to kernel or hardware
 configuration.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I started learning Linux/UNIX since the year 2005, that is about 7 years ag=
o. I started using Windows when it was version 3.1. I love compiling the la=
test Linux kernel and assembling my own computer hardware.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">My Xen adventure began 35 days ago, and it is no exa=
ggeration to say that in those 35 days I have learned more about linux than=
 I had in the past two years. &nbsp;I like challenges as much as the next I=
T person, but I ran out of time and ideas
 for debugging my nVidia problems. &nbsp;The nVidia stretch of my adventure=
 lasted for 24 days through 54 fresh linux installations accompanied by ove=
r 200~ pages worth of documented failures and not a single pixel sighted.<o=
:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
Why not make your documentation into PDF? It is a very popular document for=
mat.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">The ATI card took me a day, less than 12 hours of re=
latively easy debugging by comparison to the aforementioned testing. &nbsp;=
I do fully understanding financial constraints, but it is a working solutio=
n and worth mentioning. &nbsp;I do not know
 what the prices are like in Singapore, but in the states I was able to buy=
 an ATI Radeon HD 6870 for $160. &nbsp;For me it came down to weighing my o=
bjectives against my curiosity.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
That ATI Radeon HD 6870 would cost me $279, I think.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">If you do continue your nVidia endeavors I wish you =
success, but as in my former email VGA passthrough is a new frontier, not e=
ven Guru's like David may not be able to help beyond their own hardware exp=
eriences.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I don't think VGA passthrough is a new frontier. Oracle VirtualBox and Linu=
x KVM supports VGA passthrough as well. Xen ATI VGA Passthrough works out o=
f the box, as Tobias Geiger suggested, but NVIDIA requires patches.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Documentation is one problem I agree with you on 100=
%. &nbsp;I came into this knowing relatively little about Linux &amp; hardw=
are, and nothing about Xen, and most every guide I found assumed I had been=
 in a deep relationship with Linux for many
 years and had a basic understanding of Xen commands.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I started learning Xen since the year 2007, which is about 5 years ago.<br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Like you, I intend to use those documented failures =
as well as my recent success to create a comprehensive guide with photograp=
hs, screen captures, and perhaps even videos going from &quot;assembled com=
puter&quot; to &quot;Complete Xen Dom0 /w HVM &amp; VGA
 Passthrough&quot;. &nbsp;Provided the wiki will allow me to upload the scr=
eenshots, I'll be certain to post it there.<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><br>
I will be looking forward to your documentation and videos. Right now Xen w=
iki allows uploading image files and PDF files. Why not create a PDF docume=
nt and share it with all of us? It is known as portable document format and=
 is very popular, but it appears
 that xen mailing lists don't like PDF format.<br>
<br>
<b><u>I don't like wiki pages because anybody can edit and fundamentally me=
ss up the wiki pages, even providing bogus and erroneous information. That'=
s why I don't like creating wiki pages. Anybody can edit and mess up the in=
formation you have painstakingly
 created on the wiki pages. So please take note.</u></b><br>
<br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
<p class=3D"MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">~Casey<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">On Wed, Mar 28, 2012 at 10:21 PM, Teo En Ming (Zhang=
 Enming) &lt;<a href=3D"mailto:singapore.mr.teo.en.ming@gmail.com" target=
=3D"_blank">singapore.mr.teo.en.ming@gmail.com</a>&gt; wrote:<o:p></o:p></p=
>
<div>
<div>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Dearest Casey DeLorme=
,<br>
<br>
Thank you very very much for your kind feedback and input. I would also lik=
e to thank Mr. Tobias Geiger, again, for providing his suggestion on exposi=
ng the fourth memory region in tools/firmware/hvmloader/acpi/dsdt.asl.
<u>In any case, either exposing the first 3 memory regions only or exposing=
 all the 4 memory regions does not work.</u> Sadly, Tobias Geiger is unable=
 to help me further.<br>
<br>
I have asked Jean David Techer, what about the 4th PCI memory region? Why o=
nly expose the first 3 PCI memory regions? I don't understand, of course. J=
ean David Techer did not reply to my question.<br>
<br>
I have decided to post your prompt reply to the xen-users and xen-devel mai=
ling lists, in case people think that I am finding fault with Jean David Te=
cher, or trying to irritate him, or trying to make him angry, or trying to =
aggravate him. Jean David Techer
 replied me with an email saying that I <u>spent too much time</u> and <u>t=
oo bent</u> on solving the yellow exclamation mark glitch for my NVIDIA Gef=
orce 8400GS in Device Manager in Windows 8 Consumer Preview and Windows XP =
Home Edition, and that I sent
<b><u>stupid</u></b> requests. Stupid requests? Did he read my emails caref=
ully, word by word?<br>
<br>
Casey DeLorme, please, can I confirm with you again that you are getting th=
e following errors after applying Jean David Techer's Xen 4.2-unstable VGA =
Passthrough patches:<br>
<br>
<b><u>(1) Yellow exclamation mark besides your NVIDIA GTX 460 in Device Man=
ager<br>
(2) Windows has stopped this device because it has reported problems. (Code=
 43)<br>
(3) This device isn't using any resources because it has a problem.</u></b>=
<br>
<br>
Jean David Techer insists that our technical issues are due to a NVIDIA dri=
ver problem. He insists that you have to install NVIDIA driver versions 275=
.33 WHQL and 275.50 BETA. Any other NVIDIA driver versions (above 280.XX) w=
ill not work, according to Jean
 David Techer. <b><u>However, I have tried installing NVIDIA driver version=
s 275.33 and 275.50 from
<a href=3D"http://www.softpedia.com" target=3D"_blank">www.softpedia.com</a=
>, as he suggested, but it caused my Windows XP Home Edition HVM virtual ma=
chine to be destroyed/terminated/crash after a few minutes and my dom0 to c=
rash as well.</u></b> NVIDIA driver
 versions 275.33 and 275.50 for Windows XP 32-bit is not available from the=
 official NVIDIA website.<br>
<br>
So it is definitely not a NVIDIA driver problem. I suspect that the technic=
al issue has to do with
<b><u>MMIO BARs pBAR:vBAR 1:1 matching</u></b>. I don't think there is any =
problem with vgabios-pt.bin extracted out from our NVIDIA VGA cards, becaus=
e I have performed a &quot;hexdump -C&quot; on my extracted VGA BIOS EEPROM=
, or Electrically Erasable Programmable Read
 Only Memory.<br>
<br>
Secondly, it does seem strange that Jean David Techer was able to attain <b=
><u>100%</u></b>, ie.
<b><u>perfect success</u></b> with Xen 4.2-unstable VGA Passthrough to his =
Windows XP 32-bit and 64-bit HVM domU. Have you watched his Youtube video? =
It is only 4 minutes. Please do watch Jean David Techer's Youtube video at =
the following URL:<br>
<br>
Jean David Techer's Xen 4.2-unstable VGA Passthrough to Windows XP x64 HVM =
domU Youtube video link:
<b><u><a href=3D"http://www.youtube.com/watch?v=3D3SaYO0ERW44" target=3D"_b=
lank">http://www.youtube.com/watch?v=3D3SaYO0ERW44</a></u></b><br>
<br>
I am <b><u>appalled</u></b> and <b><u>baffled</u></b> that he has attained =
<b><u>100% success</u></b> while both of us have only attained
<b><u>partial success</u></b> (<b><u>i.e. less than 100%</u></b>) on Xen 4.=
2-unstable VGA Passthrough to Windows 8 Consumer Preview and Windows XP.<br=
>
<br>
<b><u>Solving the yellow exclamation mark issue is important because we wou=
ld not be able to run 3D graphics benchmarks and play 3D games without solv=
ing it. I am not sending silly emails about some yellow marks, as Jean Davi=
d Techer suggested. I can't even
 run Unigine Heaven DX11, and 3dmark11 3D display benchmarks, because of th=
e yellow exclamation mark for NVIDIA Geforce 8400 GS in Device Manager.</u>=
</b><br>
<br>
Casey DeLorme, with your report on relatively easy success with ATI VGA car=
ds, I think I would go the ATI way, but I would have to spend a few hundred=
 dollars compared to my cheap SGD$44 NVIDIA Geforce 8400 GS card. And while=
 deciding to go the ATI way, I would
 also like to continue troubleshooting with the NVIDIA problem, because I c=
onsider it to be a technical challenge.<br>
<br>
In essence, Jean David Techner is considered to be a &quot;boss&quot;, or b=
usiness owner, or proprietor, or technopreneur, or entrepreneur, or technic=
al support officer, or customer support officer, or IT helpdesk engineer, p=
roviding services like his forward-ported
 Xen 4.2-unstable VGA Passthrough patches and the documentation on his blog=
. I repost Jean David Techer's official website here:<br>
<br>
Jean David Techer's Xen 4.2-unstable VGA Passthrough blog: <b><u><a href=3D=
"http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patche=
s-for-vga-pass-through" target=3D"_blank">http://www.davidgis.fr/blog/index=
.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through</a></u></b>=
<br>
<br>
Jean David Techer's official website is his business venture.<br>
<br>
Basically, I am Jean David Techer's <b><u>&quot;customer&quot;</u></b>, try=
ing to obtain technical support from him. Of course, he is
<b><u>not obliged</u></b> to provide technical support to me since he is pr=
oviding
<b><u>free</u></b> services. It is, after all, an open source software proj=
ect. Nobody is obliged to provide anybody with technical support.
<b><u>To do Jean David Techer justice, he replied most of my questions whil=
e avoiding some of my questions.</u></b><br>
<br>
Finally, I have also failed to obtain technical support from Xen developers=
 like Ian Campbell from
<b><u><span style=3D"font-size:13.5pt">Citrix Corporation</span></u></b> an=
d Konrad Wilk from
<b><u><span style=3D"font-size:13.5pt">Oracle Corporation</span></u></b>. <=
b><u>I have always provided all the steps which I have taken, the configura=
tion files and necessary documentation, and kernel messages and error logs<=
/u></b> to xen-users and xen-devel
 mailing lists, but they keep insisting I did not provide the information t=
hey required. I wondered why. I think they did not read my emails carefully=
. They told me they would not reply to me any more if I do not provide the =
information they requested.
<b><u>But the problem is that I have always provided information they reque=
sted!</u></b> I think they missed some of my emails, or did not read my ema=
ils carefully enough. I am an
<b><u>ardent supporter</u></b> and <b><u>SERIOUS software tester</u></b> fo=
r open source Xen virtualization/hypervisor but they treated me lightly.
<b><u>I always read my emails WORD BY WORD.</u></b> I have even went to the=
 point of making a video on the
<b><u>BUG</u></b> and uploading my video to Youtube. The video is only THRE=
E minutes.
<br>
<br>
<b><u>As everybody says, a picture is worth a thousand words. A video is wo=
rth a BILLION words!</u></b><br>
<br>
I have also failed to obtain technical support from Xen developers regardin=
g Xen 4.2-unstable VGA Passthrough.<br>
<br>
I am hoping Xen 4.2 would have official support for Xen VGA Passthrough for=
 both NVIDIA and ATI cards.<br>
<br>
Casey DeLorme, thank you very much once again. I will be making changes to =
my Xen, Linux Kernel and Xen VGA Passthrough Documentation and will be rele=
asing Version 1.7 shortly. Jean David Techer's documentation assumes some l=
evel of advanced Linux technical
 knowledge, so I am writing documentation on my own so that everybody, not =
just advanced Linux and Xen users, can follow. I have made references to Je=
an David Techer's documentation in my own documentation.<br>
<br>
I would be very happy if people would use my documentation. Of course, it s=
atisfies my ego and my vanity. Haha.<br>
<br>
I have been un-employed for nearly three years now, and I would hesitate to=
 spend a few hundred dollars on an ATI VGA card. I quit my job as an IT eng=
ineer 3 years ago because my father suffered from lacunar infarct, or more =
commonly known as stroke. My NVIDIA
 Geforce 8400 GS costs only S$44. Please understand why I hesitate to buy a=
n ATI VGA card. The cheapest one costs SGD$279.<br>
<br>
I have a diploma in Mechanical&#43;Electronics engineering from Singapore P=
olytechnic and a Bachelor's degree in Mechanical Engineering from the Natio=
nal University of Singapore. But I do not have qualifications in Computer S=
cience or Information Technology. I
 have worked as an Information Technology engineer in Defense Science and T=
echnology Agency, Ministry of Defense, Singapore, National Computer Systems=
 Pte Ltd, Asiasoft Online Pte Ltd, and Ishinemax Singapore Pte Ltd.<br>
<br>
Google search terms: Frenchman Jean David Techer, Singaporean Teo En Ming's=
 Xen, Linux Kernel and Xen VGA Passthrough Documentation, Xen 4.2-unstable =
VGA Passthrough to Windows 8 Consumer Preview and Windows XP HVM Virtual Ma=
chines<br>
<br>
Thank you very much for reading my lengthy email. I am always courteous, sa=
ying &quot;Please help me. Please. Please. Please.&quot; and &quot;Thank yo=
u very much for your kind assistance&quot; in my emails.<br>
<br>
Thank you very much.<o:p></o:p></p>
</div>
</div>
<div>
<p class=3D"MsoNormal">-- <br>
Yours sincerely, <br>
Mr. Teo En Ming (Zhang Enming) <o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Singapore Citizen <br>
<br>
cc: His Excellency The Prime Minister Mr. Lee Hsien Loong, Prime Minister's=
 Office, Republic of Singapore
<br>
<br>
On 29/03/2012 03:53, Casey DeLorme wrote: <o:p></o:p></p>
</div>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal">Hi Teo,<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I tried David's patch files a while ago <b><u>withou=
t success</u></b>. &nbsp;I had Xen compiled with the patch files and my GTX=
 460 VGA BIOS rom,
<b><u>but I got the same as you, either a BSOD or Code 43 in Device Manager=
.</u></b><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">You sound plenty competent, but it's important to re=
member that you are pioneering a technology that for consumers is still in =
its infancy. &nbsp;Very few people are testing this with consumer equipment=
, so finding results seems to be a rarity.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</blockquote>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
</div>
</div>
<p class=3D"MsoNormal"><br>
_______________________________________________<br>
Xen-users mailing list<br>
<a href=3D"mailto:Xen-users@lists.xen.org" target=3D"_blank">Xen-users@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-users" target=3D"_blank">http://lists.x=
en.org/xen-users</a><o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</blockquote>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
</blockquote>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>Yours sincerely,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Mr. Teo En Ming (Zhang Enming)<o:p></o:p></pre>
<pre>Singapore<o:p></o:p></pre>
</div>
</body>
</html>

--_000_4400B41FB768044EA720935D0808176C0911799Dsausexdag03amdc_--


--===============4355524141628207631==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4355524141628207631==--


From xen-devel-bounces@lists.xen.org Mon May 07 22:50:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 22:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRWkl-0002U1-OL; Mon, 07 May 2012 22:50:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRWkk-0002Tw-GQ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 22:50:02 +0000
Received: from [85.158.143.99:54555] by server-1.bemta-4.messagelabs.com id
	02/AD-20925-99158AF4; Mon, 07 May 2012 22:50:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336430999!26913579!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5491 invoked from network); 7 May 2012 22:49:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 22:49:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,546,1330905600"; d="scan'208";a="12341299"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 22:49:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 23:49:57 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRWkf-0003SF-HA;
	Mon, 07 May 2012 22:49:57 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRWkf-0005GL-Fy;
	Mon, 07 May 2012 23:49:57 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12796-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 23:49:57 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12796: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12796 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12796/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 22:50:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 22:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRWkl-0002U1-OL; Mon, 07 May 2012 22:50:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRWkk-0002Tw-GQ
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 22:50:02 +0000
Received: from [85.158.143.99:54555] by server-1.bemta-4.messagelabs.com id
	02/AD-20925-99158AF4; Mon, 07 May 2012 22:50:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336430999!26913579!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ1Mg==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5491 invoked from network); 7 May 2012 22:49:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 22:49:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,546,1330905600"; d="scan'208";a="12341299"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	07 May 2012 22:49:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 7 May 2012 23:49:57 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRWkf-0003SF-HA;
	Mon, 07 May 2012 22:49:57 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRWkf-0005GL-Fy;
	Mon, 07 May 2012 23:49:57 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12796-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 7 May 2012 23:49:57 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12796: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12796 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12796/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 22:55:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 22:55:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRWpz-0002bi-G4; Mon, 07 May 2012 22:55:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1SRWpw-0002bd-SZ
	for xen-devel@lists.xen.org; Mon, 07 May 2012 22:55:25 +0000
Received: from [193.109.254.147:42949] by server-10.bemta-14.messagelabs.com
	id 0C/6E-05847-CD258AF4; Mon, 07 May 2012 22:55:24 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336431321!8059899!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22252 invoked from network); 7 May 2012 22:55:23 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 22:55:23 -0000
Received: from saboo.goop.org (50-76-62-73-ip-static.hfc.comcastbusiness.net
	[50.76.62.73]) (Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id DBFD2AA08;
	Mon,  7 May 2012 15:55:20 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id D29E62046A;
	Mon,  7 May 2012 15:55:15 -0700 (PDT)
Message-ID: <4FA852D3.7060104@goop.org>
Date: Mon, 07 May 2012 15:55:15 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120424 Thunderbird/12.0
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
In-Reply-To: <4FA792C00200007800081F06@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: weidong.han@intel.com, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 12:15 AM, Jan Beulich wrote:
> The primary thing that strikes me as odd is that both calls are still
> indirect ones, even though I thought that they should get replaced
> by direct ones (or even the actual instruction, namely in the
> read_cr4() case) upon first use. Konrad, Jeremy - am I wrong here?

Patching happens as an explicit step during (moderately late) boot, not
as a side-effect of the first call, so it doesn't surprise me too much
that they haven't been updated at this point.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 22:55:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 22:55:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRWpz-0002bi-G4; Mon, 07 May 2012 22:55:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1SRWpw-0002bd-SZ
	for xen-devel@lists.xen.org; Mon, 07 May 2012 22:55:25 +0000
Received: from [193.109.254.147:42949] by server-10.bemta-14.messagelabs.com
	id 0C/6E-05847-CD258AF4; Mon, 07 May 2012 22:55:24 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336431321!8059899!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22252 invoked from network); 7 May 2012 22:55:23 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 22:55:23 -0000
Received: from saboo.goop.org (50-76-62-73-ip-static.hfc.comcastbusiness.net
	[50.76.62.73]) (Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id DBFD2AA08;
	Mon,  7 May 2012 15:55:20 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id D29E62046A;
	Mon,  7 May 2012 15:55:15 -0700 (PDT)
Message-ID: <4FA852D3.7060104@goop.org>
Date: Mon, 07 May 2012 15:55:15 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120424 Thunderbird/12.0
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
In-Reply-To: <4FA792C00200007800081F06@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: weidong.han@intel.com, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Tim.Deegan@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 12:15 AM, Jan Beulich wrote:
> The primary thing that strikes me as odd is that both calls are still
> indirect ones, even though I thought that they should get replaced
> by direct ones (or even the actual instruction, namely in the
> read_cr4() case) upon first use. Konrad, Jeremy - am I wrong here?

Patching happens as an explicit step during (moderately late) boot, not
as a side-effect of the first call, so it doesn't surprise me too much
that they haven't been updated at this point.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 23:11:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 23:11:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRX4i-0002pR-09; Mon, 07 May 2012 23:10:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRX4g-0002pM-7t
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 23:10:38 +0000
Received: from [85.158.143.35:53437] by server-3.bemta-4.messagelabs.com id
	D9/AA-05853-D6658AF4; Mon, 07 May 2012 23:10:37 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336432235!10121985!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17902 invoked from network); 7 May 2012 23:10:36 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-4.tower-21.messagelabs.com with SMTP;
	7 May 2012 23:10:36 -0000
Received: (qmail 20972 invoked from network); 8 May 2012 01:10:31 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-106.8 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	USER_IN_WHITELIST autolearn=ham version=3.2.5
Received: from unknown (HELO mail.netsafe.cz) (127.0.0.1)
	by localhost with SMTP; 8 May 2012 01:10:31 +0200
Received: from 195.47.79.16 (SquirrelMail authenticated user pavel)
	by mail.netsafe.cz with HTTP; Tue, 8 May 2012 01:10:32 +0200 (CEST)
Message-ID: <0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
In-Reply-To: <20120507173144.GB17704@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
	<20120507173144.GB17704@phenom.dumpdata.com>
Date: Tue, 8 May 2012 01:10:32 +0200 (CEST)
From: "Pavel Mateja" <pavel@netsafe.cz>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
User-Agent: SquirrelMail/1.4.15
MIME-Version: 1.0
X-Priority: 3 (Normal)
Importance: Normal
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> On Mon, May 07, 2012 at 01:45:23PM +0200, Pavel Mat=C4=9Bja wrote:
>> Hi,
>> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
>> kernel.
>> I already have working setup with ancient xen-devel 4.2 and 2.6.32.x
>> xenified
>> kernel. See attached log.
>>
>> So I tried just to update and patch xen and kernel, but I had no luck so
>> far.
>>
>> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang
>> recently.
>> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
>>
>> I tried two kernels
>> testing-3.5-with-extra and xen/next-3.2 from
>> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
>> and
>> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
>> Both with ioperm opcode patch which is required by the ATI patch. See
>> attachement.
>>
>> The xen/next-3.2 branch kernel was able to start booting windows.
>> With Catalyst driver installed I just saw bluescreen during Windows
>> boot.
>> Without Catalyst driver Windows were able to boot but Windows ended
>> frozen or
>> USB was not working. It was hard to tell because input devices had no
>> response
>> at all.
>>
>> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0
>> kernel
>> during Windows boot. I guess I have to rework the io_bitmap patch
>> somehow.
>
> When you say 'io_bitmap' patch are you referring to these ones:
>
> 70a357d xen: implement IO permission bitmap
> 0c596c5 x86/paravirt: paravirtualize IO permission bitmap
> 93b7a2a x86: demacro set_iopl_mask()
>
> ? I don't think those are in that tag. They are in the kitchensink -
> #testing
> - does it work with that branch?
>
> The next-3.2 is a bit old. I should actually delete it.

Hi,
I mean this patch below.
I think it was originally here:
http://old-list-archives.xen.org/archives/html/xen-devel/2009-05/msg01139.h=
tml
Then I was told by you to use devel/ioperm branch which I think doesn't
exist anymore:
http://old-list-archives.xen.org/archives/html/xen-devel/2011-11/msg01213.h=
tml

I'm too tired to test #testing branch now. I'll try it tomorrow after some
sleep.

>> diff --git a/arch/x86/include/asm/paravirt.h
>> b/arch/x86/include/asm/paravirt.h
>> index aa0f913..259ef7f 100644
>> --- a/arch/x86/include/asm/paravirt.h
>> +++ b/arch/x86/include/asm/paravirt.h
>> @@ -340,11 +340,18 @@ static inline void write_idt_entry(gate_desc *dt,
>> int entry, const gate_desc *g)
>>  {
>>  	PVOP_VCALL3(pv_cpu_ops.write_idt_entry, dt, entry, g);
>>  }
>> +
>>  static inline void set_iopl_mask(unsigned mask)
>>  {
>>  	PVOP_VCALL1(pv_cpu_ops.set_iopl_mask, mask);
>>  }
>>
>> +static inline void set_io_bitmap(struct thread_struct *thread,
>> +                                unsigned long bytes_updated)
>> +{
>> +       PVOP_VCALL2(pv_cpu_ops.set_io_bitmap, thread, bytes_updated);
>> +}
>> +
>>  /* The paravirtualized I/O functions */
>>  static inline void slow_down_io(void)
>>  {
>> diff --git a/arch/x86/include/asm/paravirt_types.h
>> b/arch/x86/include/asm/paravirt_types.h
>> index 8e8b9a4..96f267c 100644
>> --- a/arch/x86/include/asm/paravirt_types.h
>> +++ b/arch/x86/include/asm/paravirt_types.h
>> @@ -142,6 +142,8 @@ struct pv_cpu_ops {
>>  	void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t);
>>
>>  	void (*set_iopl_mask)(unsigned mask);
>> +        void (*set_io_bitmap)(struct thread_struct *thread,
>> +                              unsigned long bytes_updated);
>>
>>  	void (*wbinvd)(void);
>>  	void (*io_delay)(void);
>> diff --git a/arch/x86/include/asm/processor.h
>> b/arch/x86/include/asm/processor.h
>> index 4fa7dcc..62becce 100644
>> --- a/arch/x86/include/asm/processor.h
>> +++ b/arch/x86/include/asm/processor.h
>> @@ -503,6 +503,9 @@ static inline void native_set_iopl_mask(unsigned
>> mask)
>>  #endif
>>  }
>>
>> +extern void native_set_io_bitmap(struct thread_struct *thread,
>> +                                unsigned long updated_bytes);
>> +
>>  static inline void
>>  native_load_sp0(struct tss_struct *tss, struct thread_struct *thread)
>>  {
>> @@ -536,6 +539,7 @@ static inline void load_sp0(struct tss_struct *tss,
>>  }
>>
>>  #define set_iopl_mask native_set_iopl_mask
>> +#define set_io_bitmap native_set_io_bitmap
>>  #endif /* CONFIG_PARAVIRT */
>>
>>  /*
>> diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
>> index 8c96897..c372ef0 100644
>> --- a/arch/x86/kernel/ioport.c
>> +++ b/arch/x86/kernel/ioport.c
>> @@ -17,13 +17,29 @@
>>  #include <linux/bitmap.h>
>>  #include <asm/syscalls.h>
>>
>> +void native_set_io_bitmap(struct thread_struct *t,
>> +                         unsigned long bytes_updated)
>> +{
>> +       struct tss_struct *tss;
>> +
>> +       if (!bytes_updated)
>> +               return;
>> +
>> +       tss =3D &__get_cpu_var(init_tss);
>> +
>> +       /* Update the TSS: */
>> +       if (t->io_bitmap_ptr)
>> +               memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
>> +       else
>> +               memset(tss->io_bitmap, 0xff, bytes_updated);
>> +}
>> +
>>  /*
>>   * this changes the io permissions bitmap in the current task.
>>   */
>>  asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int
>> turn_on)
>>  {
>>  	struct thread_struct *t =3D &current->thread;
>> -	struct tss_struct *tss;
>>  	unsigned int i, max_long, bytes, bytes_updated;
>>
>>  	if ((from + num <=3D from) || (from + num > IO_BITMAP_BITS))
>> @@ -48,13 +64,13 @@ asmlinkage long sys_ioperm(unsigned long from,
>> unsigned long num, int turn_on)
>>  	}
>>
>>  	/*
>> -	 * do it in the per-thread copy and in the TSS ...
>> +	 * do it in the per-thread copy
>>  	 *
>> -	 * Disable preemption via get_cpu() - we must not switch away
>> +	 * Disable preemption - we must not switch away
>>  	 * because the ->io_bitmap_max value must match the bitmap
>>  	 * contents:
>>  	 */
>> -	tss =3D &per_cpu(init_tss, get_cpu());
>> +        preempt_disable();
>>
>>  	if (turn_on)
>>  		bitmap_clear(t->io_bitmap_ptr, from, num);
>> @@ -75,10 +91,9 @@ asmlinkage long sys_ioperm(unsigned long from,
>> unsigned long num, int turn_on)
>>
>>  	t->io_bitmap_max =3D bytes;
>>
>> -	/* Update the TSS: */
>> -	memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
>> +        set_io_bitmap(t, bytes_updated);
>>
>> -	put_cpu();
>> +        preempt_enable();
>>
>>  	return 0;
>>  }
>> diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
>> index ab13760..aa420e7 100644
>> --- a/arch/x86/kernel/paravirt.c
>> +++ b/arch/x86/kernel/paravirt.c
>> @@ -391,6 +391,7 @@ struct pv_cpu_ops pv_cpu_ops =3D {
>>  	.swapgs =3D native_swapgs,
>>
>>  	.set_iopl_mask =3D native_set_iopl_mask,
>> +        .set_io_bitmap =3D native_set_io_bitmap,
>>  	.io_delay =3D native_io_delay,
>>
>>  	.start_context_switch =3D paravirt_nop,
>> diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
>> index 1d92a5a..e8436cc 100644
>> --- a/arch/x86/kernel/process.c
>> +++ b/arch/x86/kernel/process.c
>> @@ -91,16 +91,12 @@ void exit_thread(void)
>>  	unsigned long *bp =3D t->io_bitmap_ptr;
>>
>>  	if (bp) {
>> -		struct tss_struct *tss =3D &per_cpu(init_tss, get_cpu());
>> -
>> +                preempt_disable();
>>  		t->io_bitmap_ptr =3D NULL;
>>  		clear_thread_flag(TIF_IO_BITMAP);
>> -		/*
>> -		 * Careful, clear this in the TSS too:
>> -		 */
>> -		memset(tss->io_bitmap, 0xff, t->io_bitmap_max);
>> +                set_io_bitmap(t, t->io_bitmap_max);
>>  		t->io_bitmap_max =3D 0;
>> -		put_cpu();
>> +                preempt_enable();
>>  		kfree(bp);
>>  	}
>>  }
>> @@ -237,19 +233,11 @@ void __switch_to_xtra(struct task_struct *prev_p,
>> struct task_struct *next_p,
>>  			hard_enable_TSC();
>>  	}
>>
>> -	if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) {
>> -		/*
>> -		 * Copy the relevant range of the IO bitmap.
>> -		 * Normally this is 128 bytes or less:
>> -		 */
>> -		memcpy(tss->io_bitmap, next->io_bitmap_ptr,
>> -		       max(prev->io_bitmap_max, next->io_bitmap_max));
>> -	} else if (test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) {
>> -		/*
>> -		 * Clear any possible leftover bits:
>> -		 */
>> -		memset(tss->io_bitmap, 0xff, prev->io_bitmap_max);
>> -	}
>> +        if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP) ||
>> +            test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))
>> +                set_io_bitmap(next,
>> +                              max(prev->io_bitmap_max,
>> next->io_bitmap_max));
>> +
>>  	propagate_user_return_notify(prev_p, next_p);
>>  }
>>
>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>> index 8853204..7a05509 100644
>> --- a/arch/x86/xen/enlighten.c
>> +++ b/arch/x86/xen/enlighten.c
>> @@ -808,6 +808,18 @@ static void xen_set_iopl_mask(unsigned mask)
>>  	HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
>>  }
>>
>> +static void xen_set_io_bitmap(struct thread_struct *thread,
>> +	int changed, unsigned long bytes_updated)
>> +{
>> +	struct physdev_set_iobitmap set_iobitmap;
>> +
>> +	set_xen_guest_handle(set_iobitmap.bitmap,
>> +		(char *)thread->io_bitmap_ptr);
>> +	set_iobitmap.nr_ports =3D thread->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
>> +	WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap,
>> +		&set_iobitmap));
>> +}
>> +
>>  static void xen_io_delay(void)
>>  {
>>  }
>> @@ -1117,6 +1129,7 @@ static const struct pv_cpu_ops xen_cpu_ops
>> __initconst =3D {
>>  	.load_sp0 =3D xen_load_sp0,
>>
>>  	.set_iopl_mask =3D xen_set_iopl_mask,
>> +	.set_io_bitmap =3D xen_set_io_bitmap,
>>  	.io_delay =3D xen_io_delay,
>>
>>  	/* Xen takes care of %gs when switching to usermode for us */

-- =

Pavel Mateja


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 23:11:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 23:11:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRX4i-0002pR-09; Mon, 07 May 2012 23:10:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRX4g-0002pM-7t
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 23:10:38 +0000
Received: from [85.158.143.35:53437] by server-3.bemta-4.messagelabs.com id
	D9/AA-05853-D6658AF4; Mon, 07 May 2012 23:10:37 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336432235!10121985!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17902 invoked from network); 7 May 2012 23:10:36 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-4.tower-21.messagelabs.com with SMTP;
	7 May 2012 23:10:36 -0000
Received: (qmail 20972 invoked from network); 8 May 2012 01:10:31 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-106.8 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	USER_IN_WHITELIST autolearn=ham version=3.2.5
Received: from unknown (HELO mail.netsafe.cz) (127.0.0.1)
	by localhost with SMTP; 8 May 2012 01:10:31 +0200
Received: from 195.47.79.16 (SquirrelMail authenticated user pavel)
	by mail.netsafe.cz with HTTP; Tue, 8 May 2012 01:10:32 +0200 (CEST)
Message-ID: <0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
In-Reply-To: <20120507173144.GB17704@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
	<20120507173144.GB17704@phenom.dumpdata.com>
Date: Tue, 8 May 2012 01:10:32 +0200 (CEST)
From: "Pavel Mateja" <pavel@netsafe.cz>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
User-Agent: SquirrelMail/1.4.15
MIME-Version: 1.0
X-Priority: 3 (Normal)
Importance: Normal
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> On Mon, May 07, 2012 at 01:45:23PM +0200, Pavel Mat=C4=9Bja wrote:
>> Hi,
>> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
>> kernel.
>> I already have working setup with ancient xen-devel 4.2 and 2.6.32.x
>> xenified
>> kernel. See attached log.
>>
>> So I tried just to update and patch xen and kernel, but I had no luck so
>> far.
>>
>> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang
>> recently.
>> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
>>
>> I tried two kernels
>> testing-3.5-with-extra and xen/next-3.2 from
>> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
>> and
>> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
>> Both with ioperm opcode patch which is required by the ATI patch. See
>> attachement.
>>
>> The xen/next-3.2 branch kernel was able to start booting windows.
>> With Catalyst driver installed I just saw bluescreen during Windows
>> boot.
>> Without Catalyst driver Windows were able to boot but Windows ended
>> frozen or
>> USB was not working. It was hard to tell because input devices had no
>> response
>> at all.
>>
>> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0
>> kernel
>> during Windows boot. I guess I have to rework the io_bitmap patch
>> somehow.
>
> When you say 'io_bitmap' patch are you referring to these ones:
>
> 70a357d xen: implement IO permission bitmap
> 0c596c5 x86/paravirt: paravirtualize IO permission bitmap
> 93b7a2a x86: demacro set_iopl_mask()
>
> ? I don't think those are in that tag. They are in the kitchensink -
> #testing
> - does it work with that branch?
>
> The next-3.2 is a bit old. I should actually delete it.

Hi,
I mean this patch below.
I think it was originally here:
http://old-list-archives.xen.org/archives/html/xen-devel/2009-05/msg01139.h=
tml
Then I was told by you to use devel/ioperm branch which I think doesn't
exist anymore:
http://old-list-archives.xen.org/archives/html/xen-devel/2011-11/msg01213.h=
tml

I'm too tired to test #testing branch now. I'll try it tomorrow after some
sleep.

>> diff --git a/arch/x86/include/asm/paravirt.h
>> b/arch/x86/include/asm/paravirt.h
>> index aa0f913..259ef7f 100644
>> --- a/arch/x86/include/asm/paravirt.h
>> +++ b/arch/x86/include/asm/paravirt.h
>> @@ -340,11 +340,18 @@ static inline void write_idt_entry(gate_desc *dt,
>> int entry, const gate_desc *g)
>>  {
>>  	PVOP_VCALL3(pv_cpu_ops.write_idt_entry, dt, entry, g);
>>  }
>> +
>>  static inline void set_iopl_mask(unsigned mask)
>>  {
>>  	PVOP_VCALL1(pv_cpu_ops.set_iopl_mask, mask);
>>  }
>>
>> +static inline void set_io_bitmap(struct thread_struct *thread,
>> +                                unsigned long bytes_updated)
>> +{
>> +       PVOP_VCALL2(pv_cpu_ops.set_io_bitmap, thread, bytes_updated);
>> +}
>> +
>>  /* The paravirtualized I/O functions */
>>  static inline void slow_down_io(void)
>>  {
>> diff --git a/arch/x86/include/asm/paravirt_types.h
>> b/arch/x86/include/asm/paravirt_types.h
>> index 8e8b9a4..96f267c 100644
>> --- a/arch/x86/include/asm/paravirt_types.h
>> +++ b/arch/x86/include/asm/paravirt_types.h
>> @@ -142,6 +142,8 @@ struct pv_cpu_ops {
>>  	void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t);
>>
>>  	void (*set_iopl_mask)(unsigned mask);
>> +        void (*set_io_bitmap)(struct thread_struct *thread,
>> +                              unsigned long bytes_updated);
>>
>>  	void (*wbinvd)(void);
>>  	void (*io_delay)(void);
>> diff --git a/arch/x86/include/asm/processor.h
>> b/arch/x86/include/asm/processor.h
>> index 4fa7dcc..62becce 100644
>> --- a/arch/x86/include/asm/processor.h
>> +++ b/arch/x86/include/asm/processor.h
>> @@ -503,6 +503,9 @@ static inline void native_set_iopl_mask(unsigned
>> mask)
>>  #endif
>>  }
>>
>> +extern void native_set_io_bitmap(struct thread_struct *thread,
>> +                                unsigned long updated_bytes);
>> +
>>  static inline void
>>  native_load_sp0(struct tss_struct *tss, struct thread_struct *thread)
>>  {
>> @@ -536,6 +539,7 @@ static inline void load_sp0(struct tss_struct *tss,
>>  }
>>
>>  #define set_iopl_mask native_set_iopl_mask
>> +#define set_io_bitmap native_set_io_bitmap
>>  #endif /* CONFIG_PARAVIRT */
>>
>>  /*
>> diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
>> index 8c96897..c372ef0 100644
>> --- a/arch/x86/kernel/ioport.c
>> +++ b/arch/x86/kernel/ioport.c
>> @@ -17,13 +17,29 @@
>>  #include <linux/bitmap.h>
>>  #include <asm/syscalls.h>
>>
>> +void native_set_io_bitmap(struct thread_struct *t,
>> +                         unsigned long bytes_updated)
>> +{
>> +       struct tss_struct *tss;
>> +
>> +       if (!bytes_updated)
>> +               return;
>> +
>> +       tss =3D &__get_cpu_var(init_tss);
>> +
>> +       /* Update the TSS: */
>> +       if (t->io_bitmap_ptr)
>> +               memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
>> +       else
>> +               memset(tss->io_bitmap, 0xff, bytes_updated);
>> +}
>> +
>>  /*
>>   * this changes the io permissions bitmap in the current task.
>>   */
>>  asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int
>> turn_on)
>>  {
>>  	struct thread_struct *t =3D &current->thread;
>> -	struct tss_struct *tss;
>>  	unsigned int i, max_long, bytes, bytes_updated;
>>
>>  	if ((from + num <=3D from) || (from + num > IO_BITMAP_BITS))
>> @@ -48,13 +64,13 @@ asmlinkage long sys_ioperm(unsigned long from,
>> unsigned long num, int turn_on)
>>  	}
>>
>>  	/*
>> -	 * do it in the per-thread copy and in the TSS ...
>> +	 * do it in the per-thread copy
>>  	 *
>> -	 * Disable preemption via get_cpu() - we must not switch away
>> +	 * Disable preemption - we must not switch away
>>  	 * because the ->io_bitmap_max value must match the bitmap
>>  	 * contents:
>>  	 */
>> -	tss =3D &per_cpu(init_tss, get_cpu());
>> +        preempt_disable();
>>
>>  	if (turn_on)
>>  		bitmap_clear(t->io_bitmap_ptr, from, num);
>> @@ -75,10 +91,9 @@ asmlinkage long sys_ioperm(unsigned long from,
>> unsigned long num, int turn_on)
>>
>>  	t->io_bitmap_max =3D bytes;
>>
>> -	/* Update the TSS: */
>> -	memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
>> +        set_io_bitmap(t, bytes_updated);
>>
>> -	put_cpu();
>> +        preempt_enable();
>>
>>  	return 0;
>>  }
>> diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
>> index ab13760..aa420e7 100644
>> --- a/arch/x86/kernel/paravirt.c
>> +++ b/arch/x86/kernel/paravirt.c
>> @@ -391,6 +391,7 @@ struct pv_cpu_ops pv_cpu_ops =3D {
>>  	.swapgs =3D native_swapgs,
>>
>>  	.set_iopl_mask =3D native_set_iopl_mask,
>> +        .set_io_bitmap =3D native_set_io_bitmap,
>>  	.io_delay =3D native_io_delay,
>>
>>  	.start_context_switch =3D paravirt_nop,
>> diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
>> index 1d92a5a..e8436cc 100644
>> --- a/arch/x86/kernel/process.c
>> +++ b/arch/x86/kernel/process.c
>> @@ -91,16 +91,12 @@ void exit_thread(void)
>>  	unsigned long *bp =3D t->io_bitmap_ptr;
>>
>>  	if (bp) {
>> -		struct tss_struct *tss =3D &per_cpu(init_tss, get_cpu());
>> -
>> +                preempt_disable();
>>  		t->io_bitmap_ptr =3D NULL;
>>  		clear_thread_flag(TIF_IO_BITMAP);
>> -		/*
>> -		 * Careful, clear this in the TSS too:
>> -		 */
>> -		memset(tss->io_bitmap, 0xff, t->io_bitmap_max);
>> +                set_io_bitmap(t, t->io_bitmap_max);
>>  		t->io_bitmap_max =3D 0;
>> -		put_cpu();
>> +                preempt_enable();
>>  		kfree(bp);
>>  	}
>>  }
>> @@ -237,19 +233,11 @@ void __switch_to_xtra(struct task_struct *prev_p,
>> struct task_struct *next_p,
>>  			hard_enable_TSC();
>>  	}
>>
>> -	if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) {
>> -		/*
>> -		 * Copy the relevant range of the IO bitmap.
>> -		 * Normally this is 128 bytes or less:
>> -		 */
>> -		memcpy(tss->io_bitmap, next->io_bitmap_ptr,
>> -		       max(prev->io_bitmap_max, next->io_bitmap_max));
>> -	} else if (test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) {
>> -		/*
>> -		 * Clear any possible leftover bits:
>> -		 */
>> -		memset(tss->io_bitmap, 0xff, prev->io_bitmap_max);
>> -	}
>> +        if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP) ||
>> +            test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))
>> +                set_io_bitmap(next,
>> +                              max(prev->io_bitmap_max,
>> next->io_bitmap_max));
>> +
>>  	propagate_user_return_notify(prev_p, next_p);
>>  }
>>
>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>> index 8853204..7a05509 100644
>> --- a/arch/x86/xen/enlighten.c
>> +++ b/arch/x86/xen/enlighten.c
>> @@ -808,6 +808,18 @@ static void xen_set_iopl_mask(unsigned mask)
>>  	HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
>>  }
>>
>> +static void xen_set_io_bitmap(struct thread_struct *thread,
>> +	int changed, unsigned long bytes_updated)
>> +{
>> +	struct physdev_set_iobitmap set_iobitmap;
>> +
>> +	set_xen_guest_handle(set_iobitmap.bitmap,
>> +		(char *)thread->io_bitmap_ptr);
>> +	set_iobitmap.nr_ports =3D thread->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
>> +	WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap,
>> +		&set_iobitmap));
>> +}
>> +
>>  static void xen_io_delay(void)
>>  {
>>  }
>> @@ -1117,6 +1129,7 @@ static const struct pv_cpu_ops xen_cpu_ops
>> __initconst =3D {
>>  	.load_sp0 =3D xen_load_sp0,
>>
>>  	.set_iopl_mask =3D xen_set_iopl_mask,
>> +	.set_io_bitmap =3D xen_set_io_bitmap,
>>  	.io_delay =3D xen_io_delay,
>>
>>  	/* Xen takes care of %gs when switching to usermode for us */

-- =

Pavel Mateja


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 23:13:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 23:13:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRX70-0002u9-Ht; Mon, 07 May 2012 23:13:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRX6z-0002u0-76
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 23:13:01 +0000
Received: from [193.109.254.147:62702] by server-8.bemta-14.messagelabs.com id
	11/43-23244-CF658AF4; Mon, 07 May 2012 23:13:00 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336432378!380025!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE1MTc2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30923 invoked from network); 7 May 2012 23:12:59 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 23:12:59 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47NCusZ021416
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 23:12:57 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47NCuck004699
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 23:12:56 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47NCujn019907; Mon, 7 May 2012 18:12:56 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 16:12:56 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 040BB4031D; Mon,  7 May 2012 19:07:07 -0400 (EDT)
Date: Mon, 7 May 2012 19:07:07 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pavel Mateja <pavel@netsafe.cz>
Message-ID: <20120507230707.GA28744@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
	<20120507173144.GB17704@phenom.dumpdata.com>
	<0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 01:10:32AM +0200, Pavel Mateja wrote:
> > On Mon, May 07, 2012 at 01:45:23PM +0200, Pavel Mat=C4=9Bja wrote:
> >> Hi,
> >> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
> >> kernel.
> >> I already have working setup with ancient xen-devel 4.2 and 2.6.32.x
> >> xenified
> >> kernel. See attached log.
> >>
> >> So I tried just to update and patch xen and kernel, but I had no luck =
so
> >> far.
> >>
> >> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang
> >> recently.
> >> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
> >>
> >> I tried two kernels
> >> testing-3.5-with-extra and xen/next-3.2 from
> >> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> >> and
> >> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> >> Both with ioperm opcode patch which is required by the ATI patch. See
> >> attachement.
> >>
> >> The xen/next-3.2 branch kernel was able to start booting windows.
> >> With Catalyst driver installed I just saw bluescreen during Windows
> >> boot.
> >> Without Catalyst driver Windows were able to boot but Windows ended
> >> frozen or
> >> USB was not working. It was hard to tell because input devices had no
> >> response
> >> at all.
> >>
> >> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0
> >> kernel
> >> during Windows boot. I guess I have to rework the io_bitmap patch
> >> somehow.
> >
> > When you say 'io_bitmap' patch are you referring to these ones:
> >
> > 70a357d xen: implement IO permission bitmap
> > 0c596c5 x86/paravirt: paravirtualize IO permission bitmap
> > 93b7a2a x86: demacro set_iopl_mask()
> >
> > ? I don't think those are in that tag. They are in the kitchensink -
> > #testing
> > - does it work with that branch?
> >
> > The next-3.2 is a bit old. I should actually delete it.
> =

> Hi,
> I mean this patch below.
> I think it was originally here:
> http://old-list-archives.xen.org/archives/html/xen-devel/2009-05/msg01139=
.html
> Then I was told by you to use devel/ioperm branch which I think doesn't
> exist anymore:
> http://old-list-archives.xen.org/archives/html/xen-devel/2011-11/msg01213=
.html

It certainly does :-)
> =

> I'm too tired to test #testing branch now. I'll try it tomorrow after some
> sleep.

OK, take your time.

> =

> >> diff --git a/arch/x86/include/asm/paravirt.h

Looks like those patches all squashed together.

> >> b/arch/x86/include/asm/paravirt.h
> >> index aa0f913..259ef7f 100644
> >> --- a/arch/x86/include/asm/paravirt.h
> >> +++ b/arch/x86/include/asm/paravirt.h
> >> @@ -340,11 +340,18 @@ static inline void write_idt_entry(gate_desc *dt,
> >> int entry, const gate_desc *g)
> >>  {
> >>  	PVOP_VCALL3(pv_cpu_ops.write_idt_entry, dt, entry, g);
> >>  }
> >> +
> >>  static inline void set_iopl_mask(unsigned mask)
> >>  {
> >>  	PVOP_VCALL1(pv_cpu_ops.set_iopl_mask, mask);
> >>  }
> >>
> >> +static inline void set_io_bitmap(struct thread_struct *thread,
> >> +                                unsigned long bytes_updated)
> >> +{
> >> +       PVOP_VCALL2(pv_cpu_ops.set_io_bitmap, thread, bytes_updated);
> >> +}
> >> +
> >>  /* The paravirtualized I/O functions */
> >>  static inline void slow_down_io(void)
> >>  {
> >> diff --git a/arch/x86/include/asm/paravirt_types.h
> >> b/arch/x86/include/asm/paravirt_types.h
> >> index 8e8b9a4..96f267c 100644
> >> --- a/arch/x86/include/asm/paravirt_types.h
> >> +++ b/arch/x86/include/asm/paravirt_types.h
> >> @@ -142,6 +142,8 @@ struct pv_cpu_ops {
> >>  	void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t);
> >>
> >>  	void (*set_iopl_mask)(unsigned mask);
> >> +        void (*set_io_bitmap)(struct thread_struct *thread,
> >> +                              unsigned long bytes_updated);
> >>
> >>  	void (*wbinvd)(void);
> >>  	void (*io_delay)(void);
> >> diff --git a/arch/x86/include/asm/processor.h
> >> b/arch/x86/include/asm/processor.h
> >> index 4fa7dcc..62becce 100644
> >> --- a/arch/x86/include/asm/processor.h
> >> +++ b/arch/x86/include/asm/processor.h
> >> @@ -503,6 +503,9 @@ static inline void native_set_iopl_mask(unsigned
> >> mask)
> >>  #endif
> >>  }
> >>
> >> +extern void native_set_io_bitmap(struct thread_struct *thread,
> >> +                                unsigned long updated_bytes);
> >> +
> >>  static inline void
> >>  native_load_sp0(struct tss_struct *tss, struct thread_struct *thread)
> >>  {
> >> @@ -536,6 +539,7 @@ static inline void load_sp0(struct tss_struct *tss,
> >>  }
> >>
> >>  #define set_iopl_mask native_set_iopl_mask
> >> +#define set_io_bitmap native_set_io_bitmap
> >>  #endif /* CONFIG_PARAVIRT */
> >>
> >>  /*
> >> diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
> >> index 8c96897..c372ef0 100644
> >> --- a/arch/x86/kernel/ioport.c
> >> +++ b/arch/x86/kernel/ioport.c
> >> @@ -17,13 +17,29 @@
> >>  #include <linux/bitmap.h>
> >>  #include <asm/syscalls.h>
> >>
> >> +void native_set_io_bitmap(struct thread_struct *t,
> >> +                         unsigned long bytes_updated)
> >> +{
> >> +       struct tss_struct *tss;
> >> +
> >> +       if (!bytes_updated)
> >> +               return;
> >> +
> >> +       tss =3D &__get_cpu_var(init_tss);
> >> +
> >> +       /* Update the TSS: */
> >> +       if (t->io_bitmap_ptr)
> >> +               memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated=
);
> >> +       else
> >> +               memset(tss->io_bitmap, 0xff, bytes_updated);
> >> +}
> >> +
> >>  /*
> >>   * this changes the io permissions bitmap in the current task.
> >>   */
> >>  asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int
> >> turn_on)
> >>  {
> >>  	struct thread_struct *t =3D &current->thread;
> >> -	struct tss_struct *tss;
> >>  	unsigned int i, max_long, bytes, bytes_updated;
> >>
> >>  	if ((from + num <=3D from) || (from + num > IO_BITMAP_BITS))
> >> @@ -48,13 +64,13 @@ asmlinkage long sys_ioperm(unsigned long from,
> >> unsigned long num, int turn_on)
> >>  	}
> >>
> >>  	/*
> >> -	 * do it in the per-thread copy and in the TSS ...
> >> +	 * do it in the per-thread copy
> >>  	 *
> >> -	 * Disable preemption via get_cpu() - we must not switch away
> >> +	 * Disable preemption - we must not switch away
> >>  	 * because the ->io_bitmap_max value must match the bitmap
> >>  	 * contents:
> >>  	 */
> >> -	tss =3D &per_cpu(init_tss, get_cpu());
> >> +        preempt_disable();
> >>
> >>  	if (turn_on)
> >>  		bitmap_clear(t->io_bitmap_ptr, from, num);
> >> @@ -75,10 +91,9 @@ asmlinkage long sys_ioperm(unsigned long from,
> >> unsigned long num, int turn_on)
> >>
> >>  	t->io_bitmap_max =3D bytes;
> >>
> >> -	/* Update the TSS: */
> >> -	memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
> >> +        set_io_bitmap(t, bytes_updated);
> >>
> >> -	put_cpu();
> >> +        preempt_enable();
> >>
> >>  	return 0;
> >>  }
> >> diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
> >> index ab13760..aa420e7 100644
> >> --- a/arch/x86/kernel/paravirt.c
> >> +++ b/arch/x86/kernel/paravirt.c
> >> @@ -391,6 +391,7 @@ struct pv_cpu_ops pv_cpu_ops =3D {
> >>  	.swapgs =3D native_swapgs,
> >>
> >>  	.set_iopl_mask =3D native_set_iopl_mask,
> >> +        .set_io_bitmap =3D native_set_io_bitmap,
> >>  	.io_delay =3D native_io_delay,
> >>
> >>  	.start_context_switch =3D paravirt_nop,
> >> diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
> >> index 1d92a5a..e8436cc 100644
> >> --- a/arch/x86/kernel/process.c
> >> +++ b/arch/x86/kernel/process.c
> >> @@ -91,16 +91,12 @@ void exit_thread(void)
> >>  	unsigned long *bp =3D t->io_bitmap_ptr;
> >>
> >>  	if (bp) {
> >> -		struct tss_struct *tss =3D &per_cpu(init_tss, get_cpu());
> >> -
> >> +                preempt_disable();
> >>  		t->io_bitmap_ptr =3D NULL;
> >>  		clear_thread_flag(TIF_IO_BITMAP);
> >> -		/*
> >> -		 * Careful, clear this in the TSS too:
> >> -		 */
> >> -		memset(tss->io_bitmap, 0xff, t->io_bitmap_max);
> >> +                set_io_bitmap(t, t->io_bitmap_max);
> >>  		t->io_bitmap_max =3D 0;
> >> -		put_cpu();
> >> +                preempt_enable();
> >>  		kfree(bp);
> >>  	}
> >>  }
> >> @@ -237,19 +233,11 @@ void __switch_to_xtra(struct task_struct *prev_p,
> >> struct task_struct *next_p,
> >>  			hard_enable_TSC();
> >>  	}
> >>
> >> -	if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) {
> >> -		/*
> >> -		 * Copy the relevant range of the IO bitmap.
> >> -		 * Normally this is 128 bytes or less:
> >> -		 */
> >> -		memcpy(tss->io_bitmap, next->io_bitmap_ptr,
> >> -		       max(prev->io_bitmap_max, next->io_bitmap_max));
> >> -	} else if (test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) {
> >> -		/*
> >> -		 * Clear any possible leftover bits:
> >> -		 */
> >> -		memset(tss->io_bitmap, 0xff, prev->io_bitmap_max);
> >> -	}
> >> +        if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP) ||
> >> +            test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))
> >> +                set_io_bitmap(next,
> >> +                              max(prev->io_bitmap_max,
> >> next->io_bitmap_max));
> >> +
> >>  	propagate_user_return_notify(prev_p, next_p);
> >>  }
> >>
> >> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >> index 8853204..7a05509 100644
> >> --- a/arch/x86/xen/enlighten.c
> >> +++ b/arch/x86/xen/enlighten.c
> >> @@ -808,6 +808,18 @@ static void xen_set_iopl_mask(unsigned mask)
> >>  	HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
> >>  }
> >>
> >> +static void xen_set_io_bitmap(struct thread_struct *thread,
> >> +	int changed, unsigned long bytes_updated)
> >> +{
> >> +	struct physdev_set_iobitmap set_iobitmap;
> >> +
> >> +	set_xen_guest_handle(set_iobitmap.bitmap,
> >> +		(char *)thread->io_bitmap_ptr);
> >> +	set_iobitmap.nr_ports =3D thread->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
> >> +	WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap,
> >> +		&set_iobitmap));
> >> +}
> >> +
> >>  static void xen_io_delay(void)
> >>  {
> >>  }
> >> @@ -1117,6 +1129,7 @@ static const struct pv_cpu_ops xen_cpu_ops
> >> __initconst =3D {
> >>  	.load_sp0 =3D xen_load_sp0,
> >>
> >>  	.set_iopl_mask =3D xen_set_iopl_mask,
> >> +	.set_io_bitmap =3D xen_set_io_bitmap,
> >>  	.io_delay =3D xen_io_delay,
> >>
> >>  	/* Xen takes care of %gs when switching to usermode for us */
> =

> -- =

> Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 23:13:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 23:13:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRX70-0002u9-Ht; Mon, 07 May 2012 23:13:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRX6z-0002u0-76
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 23:13:01 +0000
Received: from [193.109.254.147:62702] by server-8.bemta-14.messagelabs.com id
	11/43-23244-CF658AF4; Mon, 07 May 2012 23:13:00 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336432378!380025!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE1MTc2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30923 invoked from network); 7 May 2012 23:12:59 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 23:12:59 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q47NCusZ021416
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 23:12:57 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q47NCuck004699
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 7 May 2012 23:12:56 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q47NCujn019907; Mon, 7 May 2012 18:12:56 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 16:12:56 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 040BB4031D; Mon,  7 May 2012 19:07:07 -0400 (EDT)
Date: Mon, 7 May 2012 19:07:07 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pavel Mateja <pavel@netsafe.cz>
Message-ID: <20120507230707.GA28744@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
	<20120507173144.GB17704@phenom.dumpdata.com>
	<0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 01:10:32AM +0200, Pavel Mateja wrote:
> > On Mon, May 07, 2012 at 01:45:23PM +0200, Pavel Mat=C4=9Bja wrote:
> >> Hi,
> >> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
> >> kernel.
> >> I already have working setup with ancient xen-devel 4.2 and 2.6.32.x
> >> xenified
> >> kernel. See attached log.
> >>
> >> So I tried just to update and patch xen and kernel, but I had no luck =
so
> >> far.
> >>
> >> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang
> >> recently.
> >> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
> >>
> >> I tried two kernels
> >> testing-3.5-with-extra and xen/next-3.2 from
> >> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> >> and
> >> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> >> Both with ioperm opcode patch which is required by the ATI patch. See
> >> attachement.
> >>
> >> The xen/next-3.2 branch kernel was able to start booting windows.
> >> With Catalyst driver installed I just saw bluescreen during Windows
> >> boot.
> >> Without Catalyst driver Windows were able to boot but Windows ended
> >> frozen or
> >> USB was not working. It was hard to tell because input devices had no
> >> response
> >> at all.
> >>
> >> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0
> >> kernel
> >> during Windows boot. I guess I have to rework the io_bitmap patch
> >> somehow.
> >
> > When you say 'io_bitmap' patch are you referring to these ones:
> >
> > 70a357d xen: implement IO permission bitmap
> > 0c596c5 x86/paravirt: paravirtualize IO permission bitmap
> > 93b7a2a x86: demacro set_iopl_mask()
> >
> > ? I don't think those are in that tag. They are in the kitchensink -
> > #testing
> > - does it work with that branch?
> >
> > The next-3.2 is a bit old. I should actually delete it.
> =

> Hi,
> I mean this patch below.
> I think it was originally here:
> http://old-list-archives.xen.org/archives/html/xen-devel/2009-05/msg01139=
.html
> Then I was told by you to use devel/ioperm branch which I think doesn't
> exist anymore:
> http://old-list-archives.xen.org/archives/html/xen-devel/2011-11/msg01213=
.html

It certainly does :-)
> =

> I'm too tired to test #testing branch now. I'll try it tomorrow after some
> sleep.

OK, take your time.

> =

> >> diff --git a/arch/x86/include/asm/paravirt.h

Looks like those patches all squashed together.

> >> b/arch/x86/include/asm/paravirt.h
> >> index aa0f913..259ef7f 100644
> >> --- a/arch/x86/include/asm/paravirt.h
> >> +++ b/arch/x86/include/asm/paravirt.h
> >> @@ -340,11 +340,18 @@ static inline void write_idt_entry(gate_desc *dt,
> >> int entry, const gate_desc *g)
> >>  {
> >>  	PVOP_VCALL3(pv_cpu_ops.write_idt_entry, dt, entry, g);
> >>  }
> >> +
> >>  static inline void set_iopl_mask(unsigned mask)
> >>  {
> >>  	PVOP_VCALL1(pv_cpu_ops.set_iopl_mask, mask);
> >>  }
> >>
> >> +static inline void set_io_bitmap(struct thread_struct *thread,
> >> +                                unsigned long bytes_updated)
> >> +{
> >> +       PVOP_VCALL2(pv_cpu_ops.set_io_bitmap, thread, bytes_updated);
> >> +}
> >> +
> >>  /* The paravirtualized I/O functions */
> >>  static inline void slow_down_io(void)
> >>  {
> >> diff --git a/arch/x86/include/asm/paravirt_types.h
> >> b/arch/x86/include/asm/paravirt_types.h
> >> index 8e8b9a4..96f267c 100644
> >> --- a/arch/x86/include/asm/paravirt_types.h
> >> +++ b/arch/x86/include/asm/paravirt_types.h
> >> @@ -142,6 +142,8 @@ struct pv_cpu_ops {
> >>  	void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t);
> >>
> >>  	void (*set_iopl_mask)(unsigned mask);
> >> +        void (*set_io_bitmap)(struct thread_struct *thread,
> >> +                              unsigned long bytes_updated);
> >>
> >>  	void (*wbinvd)(void);
> >>  	void (*io_delay)(void);
> >> diff --git a/arch/x86/include/asm/processor.h
> >> b/arch/x86/include/asm/processor.h
> >> index 4fa7dcc..62becce 100644
> >> --- a/arch/x86/include/asm/processor.h
> >> +++ b/arch/x86/include/asm/processor.h
> >> @@ -503,6 +503,9 @@ static inline void native_set_iopl_mask(unsigned
> >> mask)
> >>  #endif
> >>  }
> >>
> >> +extern void native_set_io_bitmap(struct thread_struct *thread,
> >> +                                unsigned long updated_bytes);
> >> +
> >>  static inline void
> >>  native_load_sp0(struct tss_struct *tss, struct thread_struct *thread)
> >>  {
> >> @@ -536,6 +539,7 @@ static inline void load_sp0(struct tss_struct *tss,
> >>  }
> >>
> >>  #define set_iopl_mask native_set_iopl_mask
> >> +#define set_io_bitmap native_set_io_bitmap
> >>  #endif /* CONFIG_PARAVIRT */
> >>
> >>  /*
> >> diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
> >> index 8c96897..c372ef0 100644
> >> --- a/arch/x86/kernel/ioport.c
> >> +++ b/arch/x86/kernel/ioport.c
> >> @@ -17,13 +17,29 @@
> >>  #include <linux/bitmap.h>
> >>  #include <asm/syscalls.h>
> >>
> >> +void native_set_io_bitmap(struct thread_struct *t,
> >> +                         unsigned long bytes_updated)
> >> +{
> >> +       struct tss_struct *tss;
> >> +
> >> +       if (!bytes_updated)
> >> +               return;
> >> +
> >> +       tss =3D &__get_cpu_var(init_tss);
> >> +
> >> +       /* Update the TSS: */
> >> +       if (t->io_bitmap_ptr)
> >> +               memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated=
);
> >> +       else
> >> +               memset(tss->io_bitmap, 0xff, bytes_updated);
> >> +}
> >> +
> >>  /*
> >>   * this changes the io permissions bitmap in the current task.
> >>   */
> >>  asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int
> >> turn_on)
> >>  {
> >>  	struct thread_struct *t =3D &current->thread;
> >> -	struct tss_struct *tss;
> >>  	unsigned int i, max_long, bytes, bytes_updated;
> >>
> >>  	if ((from + num <=3D from) || (from + num > IO_BITMAP_BITS))
> >> @@ -48,13 +64,13 @@ asmlinkage long sys_ioperm(unsigned long from,
> >> unsigned long num, int turn_on)
> >>  	}
> >>
> >>  	/*
> >> -	 * do it in the per-thread copy and in the TSS ...
> >> +	 * do it in the per-thread copy
> >>  	 *
> >> -	 * Disable preemption via get_cpu() - we must not switch away
> >> +	 * Disable preemption - we must not switch away
> >>  	 * because the ->io_bitmap_max value must match the bitmap
> >>  	 * contents:
> >>  	 */
> >> -	tss =3D &per_cpu(init_tss, get_cpu());
> >> +        preempt_disable();
> >>
> >>  	if (turn_on)
> >>  		bitmap_clear(t->io_bitmap_ptr, from, num);
> >> @@ -75,10 +91,9 @@ asmlinkage long sys_ioperm(unsigned long from,
> >> unsigned long num, int turn_on)
> >>
> >>  	t->io_bitmap_max =3D bytes;
> >>
> >> -	/* Update the TSS: */
> >> -	memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated);
> >> +        set_io_bitmap(t, bytes_updated);
> >>
> >> -	put_cpu();
> >> +        preempt_enable();
> >>
> >>  	return 0;
> >>  }
> >> diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
> >> index ab13760..aa420e7 100644
> >> --- a/arch/x86/kernel/paravirt.c
> >> +++ b/arch/x86/kernel/paravirt.c
> >> @@ -391,6 +391,7 @@ struct pv_cpu_ops pv_cpu_ops =3D {
> >>  	.swapgs =3D native_swapgs,
> >>
> >>  	.set_iopl_mask =3D native_set_iopl_mask,
> >> +        .set_io_bitmap =3D native_set_io_bitmap,
> >>  	.io_delay =3D native_io_delay,
> >>
> >>  	.start_context_switch =3D paravirt_nop,
> >> diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
> >> index 1d92a5a..e8436cc 100644
> >> --- a/arch/x86/kernel/process.c
> >> +++ b/arch/x86/kernel/process.c
> >> @@ -91,16 +91,12 @@ void exit_thread(void)
> >>  	unsigned long *bp =3D t->io_bitmap_ptr;
> >>
> >>  	if (bp) {
> >> -		struct tss_struct *tss =3D &per_cpu(init_tss, get_cpu());
> >> -
> >> +                preempt_disable();
> >>  		t->io_bitmap_ptr =3D NULL;
> >>  		clear_thread_flag(TIF_IO_BITMAP);
> >> -		/*
> >> -		 * Careful, clear this in the TSS too:
> >> -		 */
> >> -		memset(tss->io_bitmap, 0xff, t->io_bitmap_max);
> >> +                set_io_bitmap(t, t->io_bitmap_max);
> >>  		t->io_bitmap_max =3D 0;
> >> -		put_cpu();
> >> +                preempt_enable();
> >>  		kfree(bp);
> >>  	}
> >>  }
> >> @@ -237,19 +233,11 @@ void __switch_to_xtra(struct task_struct *prev_p,
> >> struct task_struct *next_p,
> >>  			hard_enable_TSC();
> >>  	}
> >>
> >> -	if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) {
> >> -		/*
> >> -		 * Copy the relevant range of the IO bitmap.
> >> -		 * Normally this is 128 bytes or less:
> >> -		 */
> >> -		memcpy(tss->io_bitmap, next->io_bitmap_ptr,
> >> -		       max(prev->io_bitmap_max, next->io_bitmap_max));
> >> -	} else if (test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)) {
> >> -		/*
> >> -		 * Clear any possible leftover bits:
> >> -		 */
> >> -		memset(tss->io_bitmap, 0xff, prev->io_bitmap_max);
> >> -	}
> >> +        if (test_tsk_thread_flag(next_p, TIF_IO_BITMAP) ||
> >> +            test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))
> >> +                set_io_bitmap(next,
> >> +                              max(prev->io_bitmap_max,
> >> next->io_bitmap_max));
> >> +
> >>  	propagate_user_return_notify(prev_p, next_p);
> >>  }
> >>
> >> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >> index 8853204..7a05509 100644
> >> --- a/arch/x86/xen/enlighten.c
> >> +++ b/arch/x86/xen/enlighten.c
> >> @@ -808,6 +808,18 @@ static void xen_set_iopl_mask(unsigned mask)
> >>  	HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
> >>  }
> >>
> >> +static void xen_set_io_bitmap(struct thread_struct *thread,
> >> +	int changed, unsigned long bytes_updated)
> >> +{
> >> +	struct physdev_set_iobitmap set_iobitmap;
> >> +
> >> +	set_xen_guest_handle(set_iobitmap.bitmap,
> >> +		(char *)thread->io_bitmap_ptr);
> >> +	set_iobitmap.nr_ports =3D thread->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
> >> +	WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap,
> >> +		&set_iobitmap));
> >> +}
> >> +
> >>  static void xen_io_delay(void)
> >>  {
> >>  }
> >> @@ -1117,6 +1129,7 @@ static const struct pv_cpu_ops xen_cpu_ops
> >> __initconst =3D {
> >>  	.load_sp0 =3D xen_load_sp0,
> >>
> >>  	.set_iopl_mask =3D xen_set_iopl_mask,
> >> +	.set_io_bitmap =3D xen_set_io_bitmap,
> >>  	.io_delay =3D xen_io_delay,
> >>
> >>  	/* Xen takes care of %gs when switching to usermode for us */
> =

> -- =

> Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 23:58:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 23:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRXoQ-0003EY-IY; Mon, 07 May 2012 23:57:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SRXoP-0003ET-6J
	for xen-devel@lists.xen.org; Mon, 07 May 2012 23:57:53 +0000
Received: from [85.158.143.99:5612] by server-3.bemta-4.messagelabs.com id
	75/99-05853-08168AF4; Mon, 07 May 2012 23:57:52 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336435062!19855655!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22482 invoked from network); 7 May 2012 23:57:43 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 23:57:43 -0000
Received: by qaeb19 with SMTP id b19so103425qae.11
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 16:57:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=kGY1dxa8Bdho7/jdUvhFBuw3GWf3opfxOj5MraQWzS8=;
	b=YJGjfz8A6IflAvTR60znUKY/ACldOAeQB83MiuSgUrcF6oaihPEa8inqKwX2vYW/6r
	irAjjGtPENq0jgro6QRclpeLUSmD3pHotdR9b54QA8WKHKx2Z8CSi3XR/oKXOpoQA5oS
	tADxZpHSyTY5+K8RyEIPgjmw4lwVTHrKq9sc76vR2R7ro3I/h5pCl1ixHgzSEw5F+kOP
	BuSmK+Z4ZPzq1NIsXfdjXvapNjAjePzxKweuDo5UJ0xnI7Cr6qKbjGPuKXPFgaU5eKPn
	xYuzabdGcQ0sahFW80YpFWUsiDkyr1Z8DiXl4FZ4FX4R1T6czShg60nGj26gwykMjSHh
	91+Q==
MIME-Version: 1.0
Received: by 10.224.42.16 with SMTP id q16mr16621266qae.70.1336435061167; Mon,
	07 May 2012 16:57:41 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Mon, 7 May 2012 16:57:41 -0700 (PDT)
In-Reply-To: <4FA792C00200007800081F06@nat28.tlf.novell.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
Date: Mon, 7 May 2012 23:57:41 +0000
Message-ID: <CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 7, 2012 at 7:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 04.05.12 at 21:30, AP <apxeng@gmail.com> wrote:
> > From the above I realized that X86_CR4_OSXSAVE was never getting set
> > in v->arch.pv_vcpu.ctrlreg[4].
>
> Yes, that was the observation in the previous thread too, but the
> reporter didn't seem interested in continuing on from there.
>
>
> > So I tried the following patch:
> >
> > diff -r 5a0d60bb536b xen/arch/x86/domain.c
> > --- a/xen/arch/x86/domain.c =A0 Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/arch/x86/domain.c =A0 Fri May 04 12:23:57 2012 -0700
> > @@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
> > =A0 =A0 =A0 =A0 =A0hv_cr4_mask &=3D ~X86_CR4_DE;
> > =A0 =A0 =A0if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
> > =A0 =A0 =A0 =A0 =A0hv_cr4_mask &=3D ~X86_CR4_FSGSBASE;
> > - =A0 =A0if ( xsave_enabled(v) )
> > - =A0 =A0 =A0 =A0hv_cr4_mask &=3D ~X86_CR4_OSXSAVE;
> >
> > =A0 =A0 =A0if ( (guest_cr4 & hv_cr4_mask) !=3D (hv_cr4 & hv_cr4_mask) )
> > =A0 =A0 =A0 =A0 =A0gdprintk(XENLOG_WARNING,
> > diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
> > --- a/xen/include/asm-x86/domain.h =A0 =A0Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/include/asm-x86/domain.h =A0 =A0Fri May 04 12:23:57 2012 -0700
> > @@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
> > =A0 =A0 =A0 & ~X86_CR4_DE)
> > =A0#define real_cr4_to_pv_guest_cr4(c) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 \
> > =A0 =A0 =A0((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD =A0 =A0 =A0=
 =A0\
> > - =A0 =A0 =A0 =A0 =A0 =A0 | X86_CR4_OSXSAVE | X86_CR4_SMEP))
> > + =A0 =A0 =A0 =A0 =A0 =A0 | X86_CR4_SMEP))
> >
> > =A0void domain_cpuid(struct domain *d,
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int =A0input,
>
> No, this is specifically the wrong thing. From what we know so far
> (i.e. the outcome of the above printing you added) the problem in
> in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> attempting XSETBV). What your patch efectively does is take away
> control from the guest kernels to control the (virtual) CR4 flag...
>
> > That allowed the system to boot successfully though I did see the
> > following message:
> > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660
>
> ... which is what this message is telling you.
>
> > Not sure if the above patch is right fix but I hope it was at least
> > helpful in pointing at where the problem might be.
> >
> > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > xsave=3D1.
>
> Sure, as it's a kernel problem. It's the kernel that needs logging added,
> to find out why the CR4 write supposedly happening immediately
> prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> happen, or doesn't set the flag. Perhaps something fishy going on

xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.

static void xen_write_cr4(unsigned long cr4)
{
=A0 =A0 cr4 &=3D ~X86_CR4_PGE;
=A0 =A0 cr4 &=3D ~X86_CR4_PSE;
=A0 =A0 cr4 &=3D ~X86_CR4_OSXSAVE;

=A0 =A0 native_write_cr4(cr4);
}

I added some prints to the Ubuntu kernel (3.0.0-17) to confirm. Here
is what I see:

<snip>
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
[=A0=A0=A0 6.834419] xstate_enable: Setting X86_CR4_OSXSAVE
[=A0=A0=A0 6.838041] set_in_cr4: cr4: 0x42660
[=A0=A0=A0 6.841743] xen_write_cr4: cr4: 0x2660
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
[=A0=A0=A0 6.860546] xstate_enable: Exec xsetbv
(XEN) traps.c:2254:d0 XSETBV: lock: 0 rep_prefix: 0 opsize_prefix: 0 cr4: 0=
x2660
[=A0=A0=A0 6.870509] invalid opcode: 0000 [#1] SMP
<snip>

Removing the explicit turning off of=A0X86_CR4_OSXSAVE allowed the system t=
o boot.

(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
[    7.554262] Setting X86_CR4_OSXSAVE
[    7.557869] set_in_cr4: cr4: 0x42660
[    7.561551] xen_write_cr4: cr4: 0x42660
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x42660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x42660 write CR4: 0x426f0
[    7.580522] Exec xsetbv
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
[    7.597071] xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340

Thanks,
AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 07 23:58:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 07 May 2012 23:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRXoQ-0003EY-IY; Mon, 07 May 2012 23:57:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SRXoP-0003ET-6J
	for xen-devel@lists.xen.org; Mon, 07 May 2012 23:57:53 +0000
Received: from [85.158.143.99:5612] by server-3.bemta-4.messagelabs.com id
	75/99-05853-08168AF4; Mon, 07 May 2012 23:57:52 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336435062!19855655!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22482 invoked from network); 7 May 2012 23:57:43 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 23:57:43 -0000
Received: by qaeb19 with SMTP id b19so103425qae.11
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 16:57:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=kGY1dxa8Bdho7/jdUvhFBuw3GWf3opfxOj5MraQWzS8=;
	b=YJGjfz8A6IflAvTR60znUKY/ACldOAeQB83MiuSgUrcF6oaihPEa8inqKwX2vYW/6r
	irAjjGtPENq0jgro6QRclpeLUSmD3pHotdR9b54QA8WKHKx2Z8CSi3XR/oKXOpoQA5oS
	tADxZpHSyTY5+K8RyEIPgjmw4lwVTHrKq9sc76vR2R7ro3I/h5pCl1ixHgzSEw5F+kOP
	BuSmK+Z4ZPzq1NIsXfdjXvapNjAjePzxKweuDo5UJ0xnI7Cr6qKbjGPuKXPFgaU5eKPn
	xYuzabdGcQ0sahFW80YpFWUsiDkyr1Z8DiXl4FZ4FX4R1T6czShg60nGj26gwykMjSHh
	91+Q==
MIME-Version: 1.0
Received: by 10.224.42.16 with SMTP id q16mr16621266qae.70.1336435061167; Mon,
	07 May 2012 16:57:41 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Mon, 7 May 2012 16:57:41 -0700 (PDT)
In-Reply-To: <4FA792C00200007800081F06@nat28.tlf.novell.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
Date: Mon, 7 May 2012 23:57:41 +0000
Message-ID: <CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 7, 2012 at 7:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 04.05.12 at 21:30, AP <apxeng@gmail.com> wrote:
> > From the above I realized that X86_CR4_OSXSAVE was never getting set
> > in v->arch.pv_vcpu.ctrlreg[4].
>
> Yes, that was the observation in the previous thread too, but the
> reporter didn't seem interested in continuing on from there.
>
>
> > So I tried the following patch:
> >
> > diff -r 5a0d60bb536b xen/arch/x86/domain.c
> > --- a/xen/arch/x86/domain.c =A0 Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/arch/x86/domain.c =A0 Fri May 04 12:23:57 2012 -0700
> > @@ -691,8 +691,6 @@ unsigned long pv_guest_cr4_fixup(const s
> > =A0 =A0 =A0 =A0 =A0hv_cr4_mask &=3D ~X86_CR4_DE;
> > =A0 =A0 =A0if ( cpu_has_fsgsbase && !is_pv_32bit_domain(v->domain) )
> > =A0 =A0 =A0 =A0 =A0hv_cr4_mask &=3D ~X86_CR4_FSGSBASE;
> > - =A0 =A0if ( xsave_enabled(v) )
> > - =A0 =A0 =A0 =A0hv_cr4_mask &=3D ~X86_CR4_OSXSAVE;
> >
> > =A0 =A0 =A0if ( (guest_cr4 & hv_cr4_mask) !=3D (hv_cr4 & hv_cr4_mask) )
> > =A0 =A0 =A0 =A0 =A0gdprintk(XENLOG_WARNING,
> > diff -r 5a0d60bb536b xen/include/asm-x86/domain.h
> > --- a/xen/include/asm-x86/domain.h =A0 =A0Fri Apr 27 21:10:59 2012 -0700
> > +++ b/xen/include/asm-x86/domain.h =A0 =A0Fri May 04 12:23:57 2012 -0700
> > @@ -530,7 +530,7 @@ unsigned long pv_guest_cr4_fixup(const s
> > =A0 =A0 =A0 & ~X86_CR4_DE)
> > =A0#define real_cr4_to_pv_guest_cr4(c) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 \
> > =A0 =A0 =A0((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD =A0 =A0 =A0=
 =A0\
> > - =A0 =A0 =A0 =A0 =A0 =A0 | X86_CR4_OSXSAVE | X86_CR4_SMEP))
> > + =A0 =A0 =A0 =A0 =A0 =A0 | X86_CR4_SMEP))
> >
> > =A0void domain_cpuid(struct domain *d,
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int =A0input,
>
> No, this is specifically the wrong thing. From what we know so far
> (i.e. the outcome of the above printing you added) the problem in
> in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> attempting XSETBV). What your patch efectively does is take away
> control from the guest kernels to control the (virtual) CR4 flag...
>
> > That allowed the system to boot successfully though I did see the
> > following message:
> > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660
>
> ... which is what this message is telling you.
>
> > Not sure if the above patch is right fix but I hope it was at least
> > helpful in pointing at where the problem might be.
> >
> > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > xsave=3D1.
>
> Sure, as it's a kernel problem. It's the kernel that needs logging added,
> to find out why the CR4 write supposedly happening immediately
> prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> happen, or doesn't set the flag. Perhaps something fishy going on

xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.

static void xen_write_cr4(unsigned long cr4)
{
=A0 =A0 cr4 &=3D ~X86_CR4_PGE;
=A0 =A0 cr4 &=3D ~X86_CR4_PSE;
=A0 =A0 cr4 &=3D ~X86_CR4_OSXSAVE;

=A0 =A0 native_write_cr4(cr4);
}

I added some prints to the Ubuntu kernel (3.0.0-17) to confirm. Here
is what I see:

<snip>
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
[=A0=A0=A0 6.834419] xstate_enable: Setting X86_CR4_OSXSAVE
[=A0=A0=A0 6.838041] set_in_cr4: cr4: 0x42660
[=A0=A0=A0 6.841743] xen_write_cr4: cr4: 0x2660
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x2660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
[=A0=A0=A0 6.860546] xstate_enable: Exec xsetbv
(XEN) traps.c:2254:d0 XSETBV: lock: 0 rep_prefix: 0 opsize_prefix: 0 cr4: 0=
x2660
[=A0=A0=A0 6.870509] invalid opcode: 0000 [#1] SMP
<snip>

Removing the explicit turning off of=A0X86_CR4_OSXSAVE allowed the system t=
o boot.

(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
[    7.554262] Setting X86_CR4_OSXSAVE
[    7.557869] set_in_cr4: cr4: 0x42660
[    7.561551] xen_write_cr4: cr4: 0x42660
(XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
0xfffffffffffbfff3 returning cr4: 0x42660
(XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x42660 write CR4: 0x426f0
[    7.580522] Exec xsetbv
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
(XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
[    7.597071] xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340

Thanks,
AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 00:14:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 00:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRY4H-0003r6-65; Tue, 08 May 2012 00:14:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRY4F-0003r1-Ro
	for xen-devel@lists.xen.org; Tue, 08 May 2012 00:14:16 +0000
Received: from [193.109.254.147:22000] by server-3.bemta-14.messagelabs.com id
	A4/8F-23274-75568AF4; Tue, 08 May 2012 00:14:15 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336436053!8108173!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNzU4NA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20777 invoked from network); 8 May 2012 00:14:14 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 00:14:14 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q480E557026288
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 00:14:06 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q480E3wV005731
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 00:14:03 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q480E2Mp017657; Mon, 7 May 2012 19:14:02 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 17:14:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7D0FD4031D; Mon,  7 May 2012 20:08:13 -0400 (EDT)
Date: Mon, 7 May 2012 20:08:13 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: AP <apxeng@gmail.com>, stefan.bader@canonical.com
Message-ID: <20120508000813.GA29587@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > No, this is specifically the wrong thing. From what we know so far
> > (i.e. the outcome of the above printing you added) the problem in
> > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > attempting XSETBV). What your patch efectively does is take away
> > control from the guest kernels to control the (virtual) CR4 flag...
> >
> > > That allowed the system to boot successfully though I did see the
> > > following message:
> > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660
> >
> > ... which is what this message is telling you.
> >
> > > Not sure if the above patch is right fix but I hope it was at least
> > > helpful in pointing at where the problem might be.
> > >
> > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > xsave=3D1.
> >
> > Sure, as it's a kernel problem. It's the kernel that needs logging adde=
d,
> > to find out why the CR4 write supposedly happening immediately
> > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > happen, or doesn't set the flag. Perhaps something fishy going on
> =

> xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.

Where did you see that code? Looking at the Linus's tree this is what I see
http://git.kernel.org/?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=
=3Darch/x86/xen/enlighten.c;h=3Da8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=
=3DHEAD

So who added that code? I am not seeing it in v3.0 either?
> =

> static void xen_write_cr4(unsigned long cr4)
> {
> =A0 =A0 cr4 &=3D ~X86_CR4_PGE;
> =A0 =A0 cr4 &=3D ~X86_CR4_PSE;
> =A0 =A0 cr4 &=3D ~X86_CR4_OSXSAVE;
> =

> =A0 =A0 native_write_cr4(cr4);
> }
> =

> I added some prints to the Ubuntu kernel (3.0.0-17) to confirm. Here
> is what I see:
> =

> <snip>
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> [=A0=A0=A0 6.834419] xstate_enable: Setting X86_CR4_OSXSAVE
> [=A0=A0=A0 6.838041] set_in_cr4: cr4: 0x42660
> [=A0=A0=A0 6.841743] xen_write_cr4: cr4: 0x2660
> (XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
> 0xfffffffffffbfff3 returning cr4: 0x2660
> (XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
> [=A0=A0=A0 6.860546] xstate_enable: Exec xsetbv
> (XEN) traps.c:2254:d0 XSETBV: lock: 0 rep_prefix: 0 opsize_prefix: 0 cr4:=
 0x2660
> [=A0=A0=A0 6.870509] invalid opcode: 0000 [#1] SMP
> <snip>
> =

> Removing the explicit turning off of=A0X86_CR4_OSXSAVE allowed the system=
 to boot.
> =

> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> [    7.554262] Setting X86_CR4_OSXSAVE
> [    7.557869] set_in_cr4: cr4: 0x42660
> [    7.561551] xen_write_cr4: cr4: 0x42660
> (XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
> 0xfffffffffffbfff3 returning cr4: 0x42660
> (XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x42660 write CR4: 0x426f0
> [    7.580522] Exec xsetbv
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> [    7.597071] xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340
> =

> Thanks,
> AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 00:14:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 00:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRY4H-0003r6-65; Tue, 08 May 2012 00:14:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRY4F-0003r1-Ro
	for xen-devel@lists.xen.org; Tue, 08 May 2012 00:14:16 +0000
Received: from [193.109.254.147:22000] by server-3.bemta-14.messagelabs.com id
	A4/8F-23274-75568AF4; Tue, 08 May 2012 00:14:15 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336436053!8108173!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxNzU4NA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20777 invoked from network); 8 May 2012 00:14:14 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 00:14:14 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q480E557026288
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 00:14:06 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q480E3wV005731
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 00:14:03 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q480E2Mp017657; Mon, 7 May 2012 19:14:02 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 07 May 2012 17:14:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7D0FD4031D; Mon,  7 May 2012 20:08:13 -0400 (EDT)
Date: Mon, 7 May 2012 20:08:13 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: AP <apxeng@gmail.com>, stefan.bader@canonical.com
Message-ID: <20120508000813.GA29587@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, weidong.han@intel.com,
	Tim.Deegan@citrix.com, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > No, this is specifically the wrong thing. From what we know so far
> > (i.e. the outcome of the above printing you added) the problem in
> > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > attempting XSETBV). What your patch efectively does is take away
> > control from the guest kernels to control the (virtual) CR4 flag...
> >
> > > That allowed the system to boot successfully though I did see the
> > > following message:
> > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 -> 00002660
> >
> > ... which is what this message is telling you.
> >
> > > Not sure if the above patch is right fix but I hope it was at least
> > > helpful in pointing at where the problem might be.
> > >
> > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > xsave=3D1.
> >
> > Sure, as it's a kernel problem. It's the kernel that needs logging adde=
d,
> > to find out why the CR4 write supposedly happening immediately
> > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > happen, or doesn't set the flag. Perhaps something fishy going on
> =

> xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.

Where did you see that code? Looking at the Linus's tree this is what I see
http://git.kernel.org/?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=
=3Darch/x86/xen/enlighten.c;h=3Da8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=
=3DHEAD

So who added that code? I am not seeing it in v3.0 either?
> =

> static void xen_write_cr4(unsigned long cr4)
> {
> =A0 =A0 cr4 &=3D ~X86_CR4_PGE;
> =A0 =A0 cr4 &=3D ~X86_CR4_PSE;
> =A0 =A0 cr4 &=3D ~X86_CR4_OSXSAVE;
> =

> =A0 =A0 native_write_cr4(cr4);
> }
> =

> I added some prints to the Ubuntu kernel (3.0.0-17) to confirm. Here
> is what I see:
> =

> <snip>
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> [=A0=A0=A0 6.834419] xstate_enable: Setting X86_CR4_OSXSAVE
> [=A0=A0=A0 6.838041] set_in_cr4: cr4: 0x42660
> [=A0=A0=A0 6.841743] xen_write_cr4: cr4: 0x2660
> (XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
> 0xfffffffffffbfff3 returning cr4: 0x2660
> (XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x2660 write CR4: 0x426f0
> [=A0=A0=A0 6.860546] xstate_enable: Exec xsetbv
> (XEN) traps.c:2254:d0 XSETBV: lock: 0 rep_prefix: 0 opsize_prefix: 0 cr4:=
 0x2660
> [=A0=A0=A0 6.870509] invalid opcode: 0000 [#1] SMP
> <snip>
> =

> Removing the explicit turning off of=A0X86_CR4_OSXSAVE allowed the system=
 to boot.
> =

> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> [    7.554262] Setting X86_CR4_OSXSAVE
> [    7.557869] set_in_cr4: cr4: 0x42660
> [    7.561551] xen_write_cr4: cr4: 0x42660
> (XEN) domain.c:704:d0 vcpu[0] hv_cr4: 0x2660 hv_cr4_mask:
> 0xfffffffffffbfff3 returning cr4: 0x42660
> (XEN) traps.c:2409:d0 vcpu[0] pv cr4: 0x42660 write CR4: 0x426f0
> [    7.580522] Exec xsetbv
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> (XEN) traps.c:874:d0 vcpu[0] cpuid XSAVE supported
> [    7.597071] xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340
> =

> Thanks,
> AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 00:42:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 00:42:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRYUf-00043O-FS; Tue, 08 May 2012 00:41:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SRYUd-00043J-OJ
	for xen-devel@lists.xen.org; Tue, 08 May 2012 00:41:32 +0000
Received: from [193.109.254.147:42265] by server-10.bemta-14.messagelabs.com
	id 86/53-05847-BBB68AF4; Tue, 08 May 2012 00:41:31 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336437688!8076798!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32339 invoked from network); 8 May 2012 00:41:29 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 00:41:29 -0000
Received: by qafl39 with SMTP id l39so130493qaf.16
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 17:41:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=RPJynTei9EOzH205hPb9ailP727lf+kWRKaoJT98hJQ=;
	b=fW0jLzHVtlpIHt5qPkYg7OenOcrngkeFZpv11bOZMsYgQyFV551LLETez1fMpUzyzn
	CcYGx2iF11QuHsyMwTT4wee9KliST2uNHiTMWkpm1+/gEdGfCEw4JINXj+Fpo0Tz+tow
	8VwVF0M8VBRCEcJo5Wb6NaGmpNTWviaf3t5/R5UokHvoR2ivzSoPqNzPlVqnSKjM+DjY
	CUuhlbpaTmHI8MeOCle7ym+GaNbI1ecB88FO9jmzF0S6C5e9tDOjStRzlEKel4E2EndN
	3Vad4eFsYA+G89oRZ1TQnrCXLCx1Q7CkIvR4RNHHUxDg7HLNssg38IBINPl10C87XiUA
	Dr9Q==
MIME-Version: 1.0
Received: by 10.224.100.71 with SMTP id x7mr28218404qan.92.1336437688424; Mon,
	07 May 2012 17:41:28 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Mon, 7 May 2012 17:41:28 -0700 (PDT)
In-Reply-To: <20120508000813.GA29587@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
Date: Mon, 7 May 2012 17:41:28 -0700
Message-ID: <CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1582347597455724365=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1582347597455724365==
Content-Type: multipart/alternative; boundary=20cf306f7414aed87e04bf7ba5ca

--20cf306f7414aed87e04bf7ba5ca
Content-Type: text/plain; charset=ISO-8859-1

On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
konrad.wilk@oracle.com> wrote:
>
> > > No, this is specifically the wrong thing. From what we know so far
> > > (i.e. the outcome of the above printing you added) the problem in
> > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > attempting XSETBV). What your patch efectively does is take away
> > > control from the guest kernels to control the (virtual) CR4 flag...
> > >
> > > > That allowed the system to boot successfully though I did see the
> > > > following message:
> > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > 00002660
> > >
> > > ... which is what this message is telling you.
> > >
> > > > Not sure if the above patch is right fix but I hope it was at least
> > > > helpful in pointing at where the problem might be.
> > > >
> > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > xsave=1.
> > >
> > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > added,
> > > to find out why the CR4 write supposedly happening immediately
> > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > happen, or doesn't set the flag. Perhaps something fishy going on
> >
> > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
>
> Where did you see that code? Looking at the Linus's tree this is what I
> see
>
>
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
>
> So who added that code? I am not seeing it in v3.0 either?

This is in the Ubuntu 11.10 kernel:
http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812

After some digging around, it looks like this is an Ubuntu 11.10 only patch:
http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b

Thanks,
AP

--20cf306f7414aed87e04bf7ba5ca
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk &lt;<a href=3D"mailto=
:konrad.wilk@oracle.com">konrad.wilk@oracle.com</a>&gt; wrote:<br>&gt;<br>&=
gt; &gt; &gt; No, this is specifically the wrong thing. From what we know s=
o far<br>
&gt; &gt; &gt; (i.e. the outcome of the above printing you added) the probl=
em in<br>&gt; &gt; &gt; in the Dom0 kernel (in it never setting CR4.OSXSAVE=
 prior to<br>&gt; &gt; &gt; attempting XSETBV). What your patch efectively =
does is take away<br>
&gt; &gt; &gt; control from the guest kernels to control the (virtual) CR4 =
flag...<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; That allowed the system to=
 boot successfully though I did see the<br>&gt; &gt; &gt; &gt; following me=
ssage:<br>
&gt; &gt; &gt; &gt; (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042=
660 -&gt;<br>&gt; &gt; &gt; &gt; 00002660<br>&gt; &gt; &gt;<br>&gt; &gt; &g=
t; ... which is what this message is telling you.<br>&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Not sure if the above patch is right fix but I hope it =
was at least<br>&gt; &gt; &gt; &gt; helpful in pointing at where the proble=
m might be.<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; BTW, I see the sa=
me invalid op issue with Xen 4.1.2 if I boot with<br>
&gt; &gt; &gt; &gt; xsave=3D1.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Sure, as=
 it&#39;s a kernel problem. It&#39;s the kernel that needs logging<br>&gt; =
&gt; &gt; added,<br>&gt; &gt; &gt; to find out why the CR4 write supposedly=
 happening immediately<br>
&gt; &gt; &gt; prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn&#39;=
t actually<br>&gt; &gt; &gt; happen, or doesn&#39;t set the flag. Perhaps s=
omething fishy going on<br>&gt; &gt;<br>&gt; &gt; xen_write_cr4 explicitly =
turns off X86_CR4_OSXSAVE.<br>
&gt;<br>&gt; Where did you see that code? Looking at the Linus&#39;s tree t=
his is what I<br>&gt; see<br>&gt;<br>&gt; <a href=3D"http://git.kernel.org/=
?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=3Darch/x86/xen/enlighte=
n.c;h=3Da8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=3DHEAD">http://git.kern=
el.org/?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=3Darch/x86/xen/e=
nlighten.c;h=3Da8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=3DHEAD</a><br>
&gt;<br>&gt; So who added that code? I am not seeing it in v3.0 either?<br>=
<br>This is in the Ubuntu 11.10 kernel:<br><div><a href=3D"http://kernel.ub=
untu.com/git?p=3Dubuntu/ubuntu-oneiric.git;a=3Dblob;f=3Darch/x86/xen/enligh=
ten.c;h=3Dce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=3DHEAD#l812">http://k=
ernel.ubuntu.com/git?p=3Dubuntu/ubuntu-oneiric.git;a=3Dblob;f=3Darch/x86/xe=
n/enlighten.c;h=3Dce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=3DHEAD#l812</=
a></div>
<div><br></div><div>After some digging around, it looks=A0like this is an U=
buntu 11.10 only patch:</div><div><a href=3D"http://kernel.ubuntu.com/git?p=
=3Dubuntu/ubuntu-oneiric.git;a=3Dcommitdiff;h=3D3f3fba59aa5773836d94799d10b=
692f9b7ea16a0;hp=3D5e498fdb19f5b27699f063eb10040612b824160b">http://kernel.=
ubuntu.com/git?p=3Dubuntu/ubuntu-oneiric.git;a=3Dcommitdiff;h=3D3f3fba59aa5=
773836d94799d10b692f9b7ea16a0;hp=3D5e498fdb19f5b27699f063eb10040612b824160b=
</a></div>
<div><br></div><div>Thanks,</div><div>AP</div><div><br></div>

--20cf306f7414aed87e04bf7ba5ca--


--===============1582347597455724365==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1582347597455724365==--


From xen-devel-bounces@lists.xen.org Tue May 08 00:42:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 00:42:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRYUf-00043O-FS; Tue, 08 May 2012 00:41:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SRYUd-00043J-OJ
	for xen-devel@lists.xen.org; Tue, 08 May 2012 00:41:32 +0000
Received: from [193.109.254.147:42265] by server-10.bemta-14.messagelabs.com
	id 86/53-05847-BBB68AF4; Tue, 08 May 2012 00:41:31 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336437688!8076798!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32339 invoked from network); 8 May 2012 00:41:29 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 00:41:29 -0000
Received: by qafl39 with SMTP id l39so130493qaf.16
	for <xen-devel@lists.xen.org>; Mon, 07 May 2012 17:41:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=RPJynTei9EOzH205hPb9ailP727lf+kWRKaoJT98hJQ=;
	b=fW0jLzHVtlpIHt5qPkYg7OenOcrngkeFZpv11bOZMsYgQyFV551LLETez1fMpUzyzn
	CcYGx2iF11QuHsyMwTT4wee9KliST2uNHiTMWkpm1+/gEdGfCEw4JINXj+Fpo0Tz+tow
	8VwVF0M8VBRCEcJo5Wb6NaGmpNTWviaf3t5/R5UokHvoR2ivzSoPqNzPlVqnSKjM+DjY
	CUuhlbpaTmHI8MeOCle7ym+GaNbI1ecB88FO9jmzF0S6C5e9tDOjStRzlEKel4E2EndN
	3Vad4eFsYA+G89oRZ1TQnrCXLCx1Q7CkIvR4RNHHUxDg7HLNssg38IBINPl10C87XiUA
	Dr9Q==
MIME-Version: 1.0
Received: by 10.224.100.71 with SMTP id x7mr28218404qan.92.1336437688424; Mon,
	07 May 2012 17:41:28 -0700 (PDT)
Received: by 10.229.163.204 with HTTP; Mon, 7 May 2012 17:41:28 -0700 (PDT)
In-Reply-To: <20120508000813.GA29587@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
Date: Mon, 7 May 2012 17:41:28 -0700
Message-ID: <CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1582347597455724365=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1582347597455724365==
Content-Type: multipart/alternative; boundary=20cf306f7414aed87e04bf7ba5ca

--20cf306f7414aed87e04bf7ba5ca
Content-Type: text/plain; charset=ISO-8859-1

On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
konrad.wilk@oracle.com> wrote:
>
> > > No, this is specifically the wrong thing. From what we know so far
> > > (i.e. the outcome of the above printing you added) the problem in
> > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > attempting XSETBV). What your patch efectively does is take away
> > > control from the guest kernels to control the (virtual) CR4 flag...
> > >
> > > > That allowed the system to boot successfully though I did see the
> > > > following message:
> > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > 00002660
> > >
> > > ... which is what this message is telling you.
> > >
> > > > Not sure if the above patch is right fix but I hope it was at least
> > > > helpful in pointing at where the problem might be.
> > > >
> > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > xsave=1.
> > >
> > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > added,
> > > to find out why the CR4 write supposedly happening immediately
> > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > happen, or doesn't set the flag. Perhaps something fishy going on
> >
> > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
>
> Where did you see that code? Looking at the Linus's tree this is what I
> see
>
>
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
>
> So who added that code? I am not seeing it in v3.0 either?

This is in the Ubuntu 11.10 kernel:
http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812

After some digging around, it looks like this is an Ubuntu 11.10 only patch:
http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b

Thanks,
AP

--20cf306f7414aed87e04bf7ba5ca
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk &lt;<a href=3D"mailto=
:konrad.wilk@oracle.com">konrad.wilk@oracle.com</a>&gt; wrote:<br>&gt;<br>&=
gt; &gt; &gt; No, this is specifically the wrong thing. From what we know s=
o far<br>
&gt; &gt; &gt; (i.e. the outcome of the above printing you added) the probl=
em in<br>&gt; &gt; &gt; in the Dom0 kernel (in it never setting CR4.OSXSAVE=
 prior to<br>&gt; &gt; &gt; attempting XSETBV). What your patch efectively =
does is take away<br>
&gt; &gt; &gt; control from the guest kernels to control the (virtual) CR4 =
flag...<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; That allowed the system to=
 boot successfully though I did see the<br>&gt; &gt; &gt; &gt; following me=
ssage:<br>
&gt; &gt; &gt; &gt; (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042=
660 -&gt;<br>&gt; &gt; &gt; &gt; 00002660<br>&gt; &gt; &gt;<br>&gt; &gt; &g=
t; ... which is what this message is telling you.<br>&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Not sure if the above patch is right fix but I hope it =
was at least<br>&gt; &gt; &gt; &gt; helpful in pointing at where the proble=
m might be.<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; BTW, I see the sa=
me invalid op issue with Xen 4.1.2 if I boot with<br>
&gt; &gt; &gt; &gt; xsave=3D1.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Sure, as=
 it&#39;s a kernel problem. It&#39;s the kernel that needs logging<br>&gt; =
&gt; &gt; added,<br>&gt; &gt; &gt; to find out why the CR4 write supposedly=
 happening immediately<br>
&gt; &gt; &gt; prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn&#39;=
t actually<br>&gt; &gt; &gt; happen, or doesn&#39;t set the flag. Perhaps s=
omething fishy going on<br>&gt; &gt;<br>&gt; &gt; xen_write_cr4 explicitly =
turns off X86_CR4_OSXSAVE.<br>
&gt;<br>&gt; Where did you see that code? Looking at the Linus&#39;s tree t=
his is what I<br>&gt; see<br>&gt;<br>&gt; <a href=3D"http://git.kernel.org/=
?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=3Darch/x86/xen/enlighte=
n.c;h=3Da8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=3DHEAD">http://git.kern=
el.org/?p=3Dlinux/kernel/git/torvalds/linux.git;a=3Dblob;f=3Darch/x86/xen/e=
nlighten.c;h=3Da8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=3DHEAD</a><br>
&gt;<br>&gt; So who added that code? I am not seeing it in v3.0 either?<br>=
<br>This is in the Ubuntu 11.10 kernel:<br><div><a href=3D"http://kernel.ub=
untu.com/git?p=3Dubuntu/ubuntu-oneiric.git;a=3Dblob;f=3Darch/x86/xen/enligh=
ten.c;h=3Dce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=3DHEAD#l812">http://k=
ernel.ubuntu.com/git?p=3Dubuntu/ubuntu-oneiric.git;a=3Dblob;f=3Darch/x86/xe=
n/enlighten.c;h=3Dce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=3DHEAD#l812</=
a></div>
<div><br></div><div>After some digging around, it looks=A0like this is an U=
buntu 11.10 only patch:</div><div><a href=3D"http://kernel.ubuntu.com/git?p=
=3Dubuntu/ubuntu-oneiric.git;a=3Dcommitdiff;h=3D3f3fba59aa5773836d94799d10b=
692f9b7ea16a0;hp=3D5e498fdb19f5b27699f063eb10040612b824160b">http://kernel.=
ubuntu.com/git?p=3Dubuntu/ubuntu-oneiric.git;a=3Dcommitdiff;h=3D3f3fba59aa5=
773836d94799d10b692f9b7ea16a0;hp=3D5e498fdb19f5b27699f063eb10040612b824160b=
</a></div>
<div><br></div><div>Thanks,</div><div>AP</div><div><br></div>

--20cf306f7414aed87e04bf7ba5ca--


--===============1582347597455724365==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1582347597455724365==--


From xen-devel-bounces@lists.xen.org Tue May 08 02:56:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 02:56:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRaaN-0000Xz-CY; Tue, 08 May 2012 02:55:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRaaL-0000Xu-FS
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 02:55:33 +0000
Received: from [85.158.139.83:22065] by server-6.bemta-5.messagelabs.com id
	F2/5C-13222-42B88AF4; Tue, 08 May 2012 02:55:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336445730!23314772!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21790 invoked from network); 8 May 2012 02:55:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 02:55:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,547,1330905600"; d="scan'208";a="12342335"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 02:55:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 03:55:28 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRaaG-0004js-75;
	Tue, 08 May 2012 02:55:28 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRaaG-00054c-2o;
	Tue, 08 May 2012 03:55:28 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12797-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 03:55:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12797: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12797 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12797/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12792

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8f1e0cc4a507
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=8f1e0cc4a507
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 8f1e0cc4a507
+ branch=xen-unstable
+ revision=8f1e0cc4a507
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 8f1e0cc4a507 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 7 changesets with 7 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 02:56:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 02:56:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRaaN-0000Xz-CY; Tue, 08 May 2012 02:55:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRaaL-0000Xu-FS
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 02:55:33 +0000
Received: from [85.158.139.83:22065] by server-6.bemta-5.messagelabs.com id
	F2/5C-13222-42B88AF4; Tue, 08 May 2012 02:55:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336445730!23314772!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21790 invoked from network); 8 May 2012 02:55:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 02:55:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,547,1330905600"; d="scan'208";a="12342335"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 02:55:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 03:55:28 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRaaG-0004js-75;
	Tue, 08 May 2012 02:55:28 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRaaG-00054c-2o;
	Tue, 08 May 2012 03:55:28 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12797-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 03:55:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12797: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12797 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12797/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12792

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8f1e0cc4a507
baseline version:
 xen                  0f53540494f7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=8f1e0cc4a507
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 8f1e0cc4a507
+ branch=xen-unstable
+ revision=8f1e0cc4a507
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 8f1e0cc4a507 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 7 changesets with 7 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 06:23:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 06:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRdp2-0001aQ-JH; Tue, 08 May 2012 06:22:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRdp1-0001aL-65
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:22:55 +0000
Received: from [85.158.143.35:24497] by server-2.bemta-4.messagelabs.com id
	DE/80-17550-EBBB8AF4; Tue, 08 May 2012 06:22:54 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336458173!13181727!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11190 invoked from network); 8 May 2012 06:22:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 06:22:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12343951"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 06:22:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 07:22:52 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRdoy-0005q3-ET;
	Tue, 08 May 2012 06:22:52 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRdoy-0004v1-8G;
	Tue, 08 May 2012 07:22:52 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12799-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 07:22:52 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12799: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12799 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12799/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Tests which are failing intermittently (not blocking):
 test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12796

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check      fail in 12796 never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 06:23:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 06:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRdp2-0001aQ-JH; Tue, 08 May 2012 06:22:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRdp1-0001aL-65
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:22:55 +0000
Received: from [85.158.143.35:24497] by server-2.bemta-4.messagelabs.com id
	DE/80-17550-EBBB8AF4; Tue, 08 May 2012 06:22:54 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336458173!13181727!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11190 invoked from network); 8 May 2012 06:22:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 06:22:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12343951"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 06:22:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 07:22:52 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRdoy-0005q3-ET;
	Tue, 08 May 2012 06:22:52 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRdoy-0004v1-8G;
	Tue, 08 May 2012 07:22:52 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12799-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 07:22:52 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12799: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12799 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12799/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Tests which are failing intermittently (not blocking):
 test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12796

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check      fail in 12796 never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 07:51:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 07:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRfCO-0002NB-Jb; Tue, 08 May 2012 07:51:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRfCN-0002N6-4b
	for xen-devel@lists.xen.org; Tue, 08 May 2012 07:51:07 +0000
Received: from [85.158.143.35:41477] by server-3.bemta-4.messagelabs.com id
	9B/25-05853-A60D8AF4; Tue, 08 May 2012 07:51:06 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336463461!11885437!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26866 invoked from network); 8 May 2012 07:51:02 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 07:51:02 -0000
Received: by eekc4 with SMTP id c4so1235194eek.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 00:51:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=DGTRGLiE2XICY/vLZxm/VxzcUdPhllxj8V83hZQnhkE=;
	b=R+SkF8P3sVvgWGeIhW+sjyeyCKVvHozUSPRrz4wUknWQZap6O12wP+4ssn6fLqiXfh
	Q5bdyyMDLPm6/3M+6QQIZMTtXYiy2as3zNxjPqWpDKxHVDV0Os68wJJ2D6JtR0q5jnZF
	3lPwB4gBzqX3Io6/eIBZFkOPWBjCmU623rAKBRyCDxnGYA7YN03M8avIBdG7fKLWwjlb
	Nlp8GVeiPKoHjEwe9YFlyyVroq2bnkzSWapjxdOmC6CJiv02Wgl3ffUELWqkpAD+1J6i
	uW6mq1jDoYfp1Z9SdA3W1dkl0PCZ3cRFnKmLl/0Sq7czfYQjjxCAONjGtwTM5ArbaCLi
	eBAA==
Received: by 10.14.97.11 with SMTP id s11mr3198601eef.60.1336463461605;
	Tue, 08 May 2012 00:51:01 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id n52sm91397494eef.6.2012.05.08.00.50.59
	(version=SSLv3 cipher=OTHER); Tue, 08 May 2012 00:51:01 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 08 May 2012 08:50:51 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: M A Young <m.a.young@durham.ac.uk>
Message-ID: <CBCE8EEB.32870%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
	and 4.1.3
Thread-Index: Ac0s70nDwUS0vbgZ1ES46NHyU1nc4w==
In-Reply-To: <alpine.DEB.2.00.1205072123530.19527@vega-b.dur.ac.uk>
Mime-version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 21:52, "M A Young" <m.a.young@durham.ac.uk> wrote:

> On Mon, 7 May 2012, Keir Fraser wrote:
> 
>> Folks,
>> 
>> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>> 
>> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
>> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>> 
>> Please test!
> 
> I am seeing problems building 4.1.3-rc1 on Fedora 17, though it might be
> changes in Fedora 17 rather than xen changes that have triggered it. When
> trying to compile objects such as scheduler.c in tools/blktap2/drivers I
> get the error
> /usr/include/features.h:329:3: error: #warning _FORTIFY_SOURCE requested but
> disabled [-Werror=cpp]
> 
> On checking that file I see that this is because -Wp,-D_FORTIFY_SOURCE=2
> is requested with -O0 . Fedora 17 decides to warn about this and it
> becomes an error as -Werror is specified.
> This conflict occurs because of the line
> CFLAGS += -Werror -g -O0
> in tools/blktap2/drivers/Makefile
> I can of course work around the problem in my build, but I was wondering
> if optimization level 0 is still necessary for this code. I think the
> only other place -O0 is used now is tools/security/Makefile which I
> assume will also trigger the problem.

Thanks. The same appears to be true in xen-unstable also. Is the solution to
simply remove -O0 from the command line? We can test that out in
xen-unstable if so, and backport if it causes no problems.

 -- Keir


> Michael Young



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 07:51:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 07:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRfCO-0002NB-Jb; Tue, 08 May 2012 07:51:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRfCN-0002N6-4b
	for xen-devel@lists.xen.org; Tue, 08 May 2012 07:51:07 +0000
Received: from [85.158.143.35:41477] by server-3.bemta-4.messagelabs.com id
	9B/25-05853-A60D8AF4; Tue, 08 May 2012 07:51:06 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336463461!11885437!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26866 invoked from network); 8 May 2012 07:51:02 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 07:51:02 -0000
Received: by eekc4 with SMTP id c4so1235194eek.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 00:51:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=DGTRGLiE2XICY/vLZxm/VxzcUdPhllxj8V83hZQnhkE=;
	b=R+SkF8P3sVvgWGeIhW+sjyeyCKVvHozUSPRrz4wUknWQZap6O12wP+4ssn6fLqiXfh
	Q5bdyyMDLPm6/3M+6QQIZMTtXYiy2as3zNxjPqWpDKxHVDV0Os68wJJ2D6JtR0q5jnZF
	3lPwB4gBzqX3Io6/eIBZFkOPWBjCmU623rAKBRyCDxnGYA7YN03M8avIBdG7fKLWwjlb
	Nlp8GVeiPKoHjEwe9YFlyyVroq2bnkzSWapjxdOmC6CJiv02Wgl3ffUELWqkpAD+1J6i
	uW6mq1jDoYfp1Z9SdA3W1dkl0PCZ3cRFnKmLl/0Sq7czfYQjjxCAONjGtwTM5ArbaCLi
	eBAA==
Received: by 10.14.97.11 with SMTP id s11mr3198601eef.60.1336463461605;
	Tue, 08 May 2012 00:51:01 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id n52sm91397494eef.6.2012.05.08.00.50.59
	(version=SSLv3 cipher=OTHER); Tue, 08 May 2012 00:51:01 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 08 May 2012 08:50:51 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: M A Young <m.a.young@durham.ac.uk>
Message-ID: <CBCE8EEB.32870%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
	and 4.1.3
Thread-Index: Ac0s70nDwUS0vbgZ1ES46NHyU1nc4w==
In-Reply-To: <alpine.DEB.2.00.1205072123530.19527@vega-b.dur.ac.uk>
Mime-version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/2012 21:52, "M A Young" <m.a.young@durham.ac.uk> wrote:

> On Mon, 7 May 2012, Keir Fraser wrote:
> 
>> Folks,
>> 
>> I have just tagged first release candidates for 4.0.4 and 4.1.3:
>> 
>> http://xenbits.xen.org/staging/xen-4.0-testing.hg (tag 4.0.4-rc1)
>> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
>> 
>> Please test!
> 
> I am seeing problems building 4.1.3-rc1 on Fedora 17, though it might be
> changes in Fedora 17 rather than xen changes that have triggered it. When
> trying to compile objects such as scheduler.c in tools/blktap2/drivers I
> get the error
> /usr/include/features.h:329:3: error: #warning _FORTIFY_SOURCE requested but
> disabled [-Werror=cpp]
> 
> On checking that file I see that this is because -Wp,-D_FORTIFY_SOURCE=2
> is requested with -O0 . Fedora 17 decides to warn about this and it
> becomes an error as -Werror is specified.
> This conflict occurs because of the line
> CFLAGS += -Werror -g -O0
> in tools/blktap2/drivers/Makefile
> I can of course work around the problem in my build, but I was wondering
> if optimization level 0 is still necessary for this code. I think the
> only other place -O0 is used now is tools/security/Makefile which I
> assume will also trigger the problem.

Thanks. The same appears to be true in xen-unstable also. Is the solution to
simply remove -O0 from the command line? We can test that out in
xen-unstable if so, and backport if it causes no problems.

 -- Keir


> Michael Young



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 08:32:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 08:32:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRfq9-00032l-JJ; Tue, 08 May 2012 08:32:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRfq8-00032e-Rr
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 08:32:13 +0000
Received: from [85.158.138.51:64458] by server-7.bemta-3.messagelabs.com id
	BD/BC-03078-C0AD8AF4; Tue, 08 May 2012 08:32:12 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336465930!25880235!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27547 invoked from network); 8 May 2012 08:32:11 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 08:32:11 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 08 May 2012 09:33:29 +0100
Message-Id: <4FA8DB320200007800082312@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 08 May 2012 07:37:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<CAGU+auuOa04LSn_ebNRXyJQ=bn4PpLiL2ejYaqaivFKLEdnabQ@mail.gmail.com>
In-Reply-To: <CAGU+auuOa04LSn_ebNRXyJQ=bn4PpLiL2ejYaqaivFKLEdnabQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 20:29, AP <apxeng@gmail.com> wrote:
> On Mon, May 7, 2012 at 1:34 PM, Jan Beulich <JBeulich@suse.com> wrote:
>> Seeing the 'z' output might also be helpful, especially to see whether
>> any of the IO-APICs' RTEs is an ExtINT one.
> 
> (XEN) number of MP IRQ sources: 15.
> (XEN) number of IO-APIC #2 registers: 24.
> (XEN) testing the IO APIC.......................
> (XEN) IO APIC #2......
> (XEN) .... register #00: 02000000
> (XEN) .......    : physical APIC id: 02
> (XEN) .......    : Delivery Type: 0
> (XEN) .......    : LTS          : 0
> (XEN) .... register #01: 00170020
> (XEN) .......     : max redirection entries: 0017
> (XEN) .......     : PRQ implemented: 0
> (XEN) .......     : IO APIC version: 0020
> (XEN) .... IRQ redirection table:
> (XEN)  NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
> (XEN)  00 000 00  1    0    0   0   0    0    0    00
> (XEN)  01 000 00  0    0    0   0   0    1    1    85
> (XEN)  02 000 00  0    0    0   0   0    1    1    F0
> (XEN)  03 000 00  0    0    0   0   0    1    1    40
> (XEN)  04 000 00  0    0    0   0   0    1    1    48
> (XEN)  05 000 00  0    0    0   0   0    1    1    50
> (XEN)  06 000 00  0    0    0   0   0    1    1    58
> (XEN)  07 000 00  0    0    0   0   0    1    1    60
> (XEN)  08 000 00  0    0    0   0   0    1    1    29
> (XEN)  09 000 00  0    1    0   0   0    1    1    A7
> (XEN)  0a 000 00  0    0    0   0   0    1    1    78
> (XEN)  0b 000 00  0    0    0   0   0    1    1    88
> (XEN)  0c 000 00  0    0    0   0   0    1    1    D4
> (XEN)  0d 000 00  1    0    0   0   0    1    1    98
> (XEN)  0e 000 00  0    0    0   0   0    1    1    A0
> (XEN)  0f 000 00  0    0    0   0   0    1    1    A8
> (XEN)  10 000 00  0    1    0   1   0    1    1    AE
> (XEN)  11 000 00  1    1    0   1   0    1    1    C0
> (XEN)  12 000 00  1    1    0   1   0    1    1    C8
> (XEN)  13 000 00  0    1    0   1   0    1    1    F1
> (XEN)  14 000 00  1    1    0   1   0    1    1    61
> (XEN)  15 0CA 0A  1    0    0   0   0    1    2    71

This entry is definitely bogus (delivery mode is SMI, which is not
allowed in an IO-APIC RTE), but as it is masked it _shouldn't_
cause any harm.

> (XEN)  16 000 00  1    1    0   1   0    1    1    32
> (XEN)  17 000 00  0    1    0   1   0    1    1    AC

So we'll need to see the PIC (8259A) masks too. IRQ12 definitely
appears to get touched a lot (judging by the vector it uses), so while
this shouldn't be the case I would nevertheless consider the possibility
of a window where the 8259A interrupt gets temporarily unmasked.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 08:32:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 08:32:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRfq9-00032l-JJ; Tue, 08 May 2012 08:32:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRfq8-00032e-Rr
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 08:32:13 +0000
Received: from [85.158.138.51:64458] by server-7.bemta-3.messagelabs.com id
	BD/BC-03078-C0AD8AF4; Tue, 08 May 2012 08:32:12 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336465930!25880235!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27547 invoked from network); 8 May 2012 08:32:11 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 08:32:11 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 08 May 2012 09:33:29 +0100
Message-Id: <4FA8DB320200007800082312@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 08 May 2012 07:37:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <osstest-11946-mainreport@xen.org>
	<1329216291.31256.207.camel@zakaz.uk.xensource.com>
	<1332844592.25560.9.camel@zakaz.uk.xensource.com>
	<CAGU+auvEvjy3qi3d9ZxMyFdHxauGL6wC=out07rxF-0sMfP8jg@mail.gmail.com>
	<4FA437E7.6040105@citrix.com>
	<CAGU+auvu7DzVbRavS74AmNDOb3gS-dVHr3inVJFYZQQVbVMe6Q@mail.gmail.com>
	<4FA79F9F0200007800081F5F@nat28.tlf.novell.com>
	<4FA7B6EF.9030403@citrix.com>
	<4FA7EB80020000780008204B@nat28.tlf.novell.com>
	<CAGU+auuOa04LSn_ebNRXyJQ=bn4PpLiL2ejYaqaivFKLEdnabQ@mail.gmail.com>
In-Reply-To: <CAGU+auuOa04LSn_ebNRXyJQ=bn4PpLiL2ejYaqaivFKLEdnabQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [xen-unstable test] 11946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 20:29, AP <apxeng@gmail.com> wrote:
> On Mon, May 7, 2012 at 1:34 PM, Jan Beulich <JBeulich@suse.com> wrote:
>> Seeing the 'z' output might also be helpful, especially to see whether
>> any of the IO-APICs' RTEs is an ExtINT one.
> 
> (XEN) number of MP IRQ sources: 15.
> (XEN) number of IO-APIC #2 registers: 24.
> (XEN) testing the IO APIC.......................
> (XEN) IO APIC #2......
> (XEN) .... register #00: 02000000
> (XEN) .......    : physical APIC id: 02
> (XEN) .......    : Delivery Type: 0
> (XEN) .......    : LTS          : 0
> (XEN) .... register #01: 00170020
> (XEN) .......     : max redirection entries: 0017
> (XEN) .......     : PRQ implemented: 0
> (XEN) .......     : IO APIC version: 0020
> (XEN) .... IRQ redirection table:
> (XEN)  NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
> (XEN)  00 000 00  1    0    0   0   0    0    0    00
> (XEN)  01 000 00  0    0    0   0   0    1    1    85
> (XEN)  02 000 00  0    0    0   0   0    1    1    F0
> (XEN)  03 000 00  0    0    0   0   0    1    1    40
> (XEN)  04 000 00  0    0    0   0   0    1    1    48
> (XEN)  05 000 00  0    0    0   0   0    1    1    50
> (XEN)  06 000 00  0    0    0   0   0    1    1    58
> (XEN)  07 000 00  0    0    0   0   0    1    1    60
> (XEN)  08 000 00  0    0    0   0   0    1    1    29
> (XEN)  09 000 00  0    1    0   0   0    1    1    A7
> (XEN)  0a 000 00  0    0    0   0   0    1    1    78
> (XEN)  0b 000 00  0    0    0   0   0    1    1    88
> (XEN)  0c 000 00  0    0    0   0   0    1    1    D4
> (XEN)  0d 000 00  1    0    0   0   0    1    1    98
> (XEN)  0e 000 00  0    0    0   0   0    1    1    A0
> (XEN)  0f 000 00  0    0    0   0   0    1    1    A8
> (XEN)  10 000 00  0    1    0   1   0    1    1    AE
> (XEN)  11 000 00  1    1    0   1   0    1    1    C0
> (XEN)  12 000 00  1    1    0   1   0    1    1    C8
> (XEN)  13 000 00  0    1    0   1   0    1    1    F1
> (XEN)  14 000 00  1    1    0   1   0    1    1    61
> (XEN)  15 0CA 0A  1    0    0   0   0    1    2    71

This entry is definitely bogus (delivery mode is SMI, which is not
allowed in an IO-APIC RTE), but as it is masked it _shouldn't_
cause any harm.

> (XEN)  16 000 00  1    1    0   1   0    1    1    32
> (XEN)  17 000 00  0    1    0   1   0    1    1    AC

So we'll need to see the PIC (8259A) masks too. IRQ12 definitely
appears to get touched a lot (judging by the vector it uses), so while
this shouldn't be the case I would nevertheless consider the possibility
of a window where the 8259A interrupt gets temporarily unmasked.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 08:32:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 08:32:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRfq7-00032U-80; Tue, 08 May 2012 08:32:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRfq5-00032P-Gu
	for xen-devel@lists.xen.org; Tue, 08 May 2012 08:32:09 +0000
Received: from [85.158.138.51:20427] by server-5.bemta-3.messagelabs.com id
	E0/EF-17113-80AD8AF4; Tue, 08 May 2012 08:32:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336465927!24033037!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23847 invoked from network); 8 May 2012 08:32:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 08:32:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 08 May 2012 09:33:16 +0100
Message-Id: <4FA8D88F020000780008230F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 08 May 2012 07:25:51 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
In-Reply-To: <CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 08.05.12 at 01:57, AP <apxeng@gmail.com> wrote:
> On Mon, May 7, 2012 at 7:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>> Sure, as it's a kernel problem. It's the kernel that needs logging added,
>> to find out why the CR4 write supposedly happening immediately
>> prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
>> happen, or doesn't set the flag. Perhaps something fishy going on
> 
> xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> 
> static void xen_write_cr4(unsigned long cr4)
> {
>     cr4 &= ~X86_CR4_PGE;
>     cr4 &= ~X86_CR4_PSE;
>     cr4 &= ~X86_CR4_OSXSAVE;
> 
>     native_write_cr4(cr4);
> }

That's definitely not the case in _any_ upstream Linux release.
Which means that this must be introduced by a distro-specific
(and broken) patch.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 08:32:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 08:32:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRfq7-00032U-80; Tue, 08 May 2012 08:32:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRfq5-00032P-Gu
	for xen-devel@lists.xen.org; Tue, 08 May 2012 08:32:09 +0000
Received: from [85.158.138.51:20427] by server-5.bemta-3.messagelabs.com id
	E0/EF-17113-80AD8AF4; Tue, 08 May 2012 08:32:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336465927!24033037!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23847 invoked from network); 8 May 2012 08:32:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 08:32:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 08 May 2012 09:33:16 +0100
Message-Id: <4FA8D88F020000780008230F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 08 May 2012 07:25:51 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "AP" <apxeng@gmail.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
In-Reply-To: <CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	weidong.han@intel.com, Tim.Deegan@citrix.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 08.05.12 at 01:57, AP <apxeng@gmail.com> wrote:
> On Mon, May 7, 2012 at 7:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>> Sure, as it's a kernel problem. It's the kernel that needs logging added,
>> to find out why the CR4 write supposedly happening immediately
>> prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
>> happen, or doesn't set the flag. Perhaps something fishy going on
> 
> xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> 
> static void xen_write_cr4(unsigned long cr4)
> {
>     cr4 &= ~X86_CR4_PGE;
>     cr4 &= ~X86_CR4_PSE;
>     cr4 &= ~X86_CR4_OSXSAVE;
> 
>     native_write_cr4(cr4);
> }

That's definitely not the case in _any_ upstream Linux release.
Which means that this must be introduced by a distro-specific
(and broken) patch.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 08:51:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 08:51:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRg85-0003LQ-AZ; Tue, 08 May 2012 08:50:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SRg84-0003LL-99
	for xen-devel@lists.xen.org; Tue, 08 May 2012 08:50:44 +0000
Received: from [85.158.138.51:31333] by server-7.bemta-3.messagelabs.com id
	A6/32-03078-36ED8AF4; Tue, 08 May 2012 08:50:43 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336467042!16896118!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18676 invoked from network); 8 May 2012 08:50:42 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 08:50:42 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SRg80-000880-G3; Tue, 08 May 2012 08:50:40 +0000
Date: Tue, 8 May 2012 09:50:40 +0100
From: Tim Deegan <tim@xen.org>
To: Christian Limpach <christian.limpach@gmail.com>
Message-ID: <20120508085040.GB56981@ocelot.phlegethon.org>
References: <CAHDtvhr0_UG77fo8RiD=JV9PUR7TJo4nnzGop7mEQaU50n54zw@mail.gmail.com>
	<4FA3E156.2020602@citrix.com>
	<CAHDtvhqyZfA_j8wRmBZC3EUE2=ms+MobZkZ7X4mv4P_+aLzNag@mail.gmail.com>
	<20120508084951.GA56981@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120508084951.GA56981@ocelot.phlegethon.org>
User-Agent: Mutt/1.4.2.1i
Cc: Julien Grall <julien.grall@citrix.com>, "Keir \(Xen.org\)" <keir@xen.org>,
	Ian Pratt <ian@bromium.com>,
	"jean.guyader@gmail.com" <jean.guyader@gmail.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] ioreq pages in vm memory and ioreq demux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 09:49 +0100 on 08 May (1336470591), Tim Deegan wrote:
> Ccing xen-devel.

Actually this time.

> At 11:29 -0700 on 07 May (1336390171), Christian Limpach wrote:
> > > The current version of Xen allocates the shared page directly
> > > in vm memory with other pages (like XenStore page) called
> > > special pages. I just begin to hack Xen, so I used the same
> > > technique. If you have another idea I'm interested.
> > 
> > Yes, I think the ioreq pages should be allocated from the xen heap.
> > As far as I can tell, they don't need to be guest accessible.  Your
> > approach is fine, but since we're making the number of pages dynamic,
> > now might be a good time to change this.
> > 
> > I was hoping for someone to remember the reason why the pages are
> > where they are in the first place, anybody?
> 
> Before my time, but one advantage of it is that the pages are allocated
> up front as part of the VM's memory so the balloon code in the toolstack
> doesn't need to know about it.  That's not a big deal, but if you're
> going to change it it would be good to update xl, and at least contact
> the XCP devs about it.
> 
> Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 08:51:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 08:51:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRg85-0003LQ-AZ; Tue, 08 May 2012 08:50:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SRg84-0003LL-99
	for xen-devel@lists.xen.org; Tue, 08 May 2012 08:50:44 +0000
Received: from [85.158.138.51:31333] by server-7.bemta-3.messagelabs.com id
	A6/32-03078-36ED8AF4; Tue, 08 May 2012 08:50:43 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336467042!16896118!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18676 invoked from network); 8 May 2012 08:50:42 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 08:50:42 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SRg80-000880-G3; Tue, 08 May 2012 08:50:40 +0000
Date: Tue, 8 May 2012 09:50:40 +0100
From: Tim Deegan <tim@xen.org>
To: Christian Limpach <christian.limpach@gmail.com>
Message-ID: <20120508085040.GB56981@ocelot.phlegethon.org>
References: <CAHDtvhr0_UG77fo8RiD=JV9PUR7TJo4nnzGop7mEQaU50n54zw@mail.gmail.com>
	<4FA3E156.2020602@citrix.com>
	<CAHDtvhqyZfA_j8wRmBZC3EUE2=ms+MobZkZ7X4mv4P_+aLzNag@mail.gmail.com>
	<20120508084951.GA56981@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120508084951.GA56981@ocelot.phlegethon.org>
User-Agent: Mutt/1.4.2.1i
Cc: Julien Grall <julien.grall@citrix.com>, "Keir \(Xen.org\)" <keir@xen.org>,
	Ian Pratt <ian@bromium.com>,
	"jean.guyader@gmail.com" <jean.guyader@gmail.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] ioreq pages in vm memory and ioreq demux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 09:49 +0100 on 08 May (1336470591), Tim Deegan wrote:
> Ccing xen-devel.

Actually this time.

> At 11:29 -0700 on 07 May (1336390171), Christian Limpach wrote:
> > > The current version of Xen allocates the shared page directly
> > > in vm memory with other pages (like XenStore page) called
> > > special pages. I just begin to hack Xen, so I used the same
> > > technique. If you have another idea I'm interested.
> > 
> > Yes, I think the ioreq pages should be allocated from the xen heap.
> > As far as I can tell, they don't need to be guest accessible.  Your
> > approach is fine, but since we're making the number of pages dynamic,
> > now might be a good time to change this.
> > 
> > I was hoping for someone to remember the reason why the pages are
> > where they are in the first place, anybody?
> 
> Before my time, but one advantage of it is that the pages are allocated
> up front as part of the VM's memory so the balloon code in the toolstack
> doesn't need to know about it.  That's not a big deal, but if you're
> going to change it it would be good to update xl, and at least contact
> the XCP devs about it.
> 
> Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:05:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:05:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgMJ-0003XN-P2; Tue, 08 May 2012 09:05:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SRgMI-0003XI-BC
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:05:26 +0000
Received: from [85.158.139.83:29702] by server-8.bemta-5.messagelabs.com id
	72/8D-26964-5D1E8AF4; Tue, 08 May 2012 09:05:25 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336467922!26551056!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwNjc5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31411 invoked from network); 8 May 2012 09:05:23 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-182.messagelabs.com with SMTP;
	8 May 2012 09:05:23 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 08 May 2012 02:05:21 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="140237899"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 08 May 2012 02:05:21 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 8 May 2012 02:05:21 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 8 May 2012 17:05:19 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfw
Date: Tue, 8 May 2012 09:05:19 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
In-Reply-To: <20120507135410.GD361@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Monday, May 07, 2012 9:54 PM
> To: Hao, Xudong
> Cc: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> >
> > > -----Original Message-----
> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > Sent: Friday, May 04, 2012 9:21 PM
> > > To: Hao, Xudong
> > > Cc: xen-devel@lists.xensource.com
> > > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned
> > > by pciback
> > >
> > > On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> > > > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> > > LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so
> that
> > > guest with device assigned can be benefitted.
> > > >
> > > > Changes from v1:
> > > > - put the variable definition at the start of function
> > > > - add error log report
> > > >
> > >
> > > Don't you need to disable this when the device is un-assigned from the
> guest?
> > >
> >
> > I don't think this need to be disabled when device is un-assigned from guest.
> If host want to use device again, the host device driver need re-load, so
> whether disabling ltr/obff is up to host device driver.
> 
> What if the driver isn't doing that?

Make it clear, here host side do not be considered, host has its own driver. The only thing is to make sure ltr/obff is enabled before assigning guest, so that benefit on power.

Since device is owned by pciback again when it un-assigned from guest, we need not disable explicitly.
  
> >
> > > > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > > >
> > > > diff --git a/drivers/xen/xen-pciback/pci_stub.c
> > > b/drivers/xen/xen-pciback/pci_stub.c
> > > > index 097e536..74fbf23 100644
> > > > --- a/drivers/xen/xen-pciback/pci_stub.c
> > > > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > > > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> > > pci_dev *dev)
> > > >  	struct xen_pcibk_dev_data *dev_data;
> > > >  	int err = 0;
> > > >
> > > > +	/* set default value */
> > > > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > > > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> > >
> > > Why these values? Is there a way to fetch optimal values?
> >
> > These values is the max value that the register supported. I've no idea to get
> an optimal value, here it just be set max value as default.
> 
> Is the max value defined somewhere? Can it be defined somewhere so that
> both KVM adn the Xen patches re-use the same #define?
> 

Since there is not real device with ltr/obff supported now, so we can't determine the platform's maximum supported latency. I think the best way is using the default value 0, so I'd like to remove value setting. (if device is reset, the value still is 0)

> >
> > > > +
> > > >  	dev_dbg(&dev->dev, "initializing...\n");
> > > >
> > > >  	/* The PCI backend is not intended to be a module (or to work with
> > > > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> > > pci_dev *dev)
> > > >  	dev_dbg(&dev->dev, "reset device\n");
> > > >  	xen_pcibk_reset_device(dev);
> > > >
> > > > +	/* Enable LTR and OBFF before do device assignment */
> > > > +	/* LTR(Latency tolerance reporting) allows devices to send
> > > > +	 * messages to the root complex indicating their latency tolerance
> > > > +	 * for snooped & unsnooped memory transactions.
> > > > +	 */
> > > > +	err = pci_enable_ltr(dev);
> > > > +	if (err)
> > > > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> > > > +
> > > > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> > > > +	if (err)
> > > > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > > > +
> > > > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > > > +	 * improve energy efficiency by giving devices information about
> > > > +	 * when interrupts and other activity will have a reduced power
> > > > +	 * impact.
> > > > +	 */
> > > > +	err = pci_enable_obff(dev, type);
> > > > +	if (err)
> > > > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > > > +
> > > >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> > > >  	return 0;
> > > >
> > > >
> > > > _______________________________________________
> > > > Xen-devel mailing list
> > > > Xen-devel@lists.xen.org
> > > > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:05:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:05:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgMJ-0003XN-P2; Tue, 08 May 2012 09:05:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SRgMI-0003XI-BC
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:05:26 +0000
Received: from [85.158.139.83:29702] by server-8.bemta-5.messagelabs.com id
	72/8D-26964-5D1E8AF4; Tue, 08 May 2012 09:05:25 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336467922!26551056!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMwNjc5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31411 invoked from network); 8 May 2012 09:05:23 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-182.messagelabs.com with SMTP;
	8 May 2012 09:05:23 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 08 May 2012 02:05:21 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="140237899"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 08 May 2012 02:05:21 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 8 May 2012 02:05:21 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 8 May 2012 17:05:19 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfw
Date: Tue, 8 May 2012 09:05:19 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
In-Reply-To: <20120507135410.GD361@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Monday, May 07, 2012 9:54 PM
> To: Hao, Xudong
> Cc: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> >
> > > -----Original Message-----
> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > Sent: Friday, May 04, 2012 9:21 PM
> > > To: Hao, Xudong
> > > Cc: xen-devel@lists.xensource.com
> > > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned
> > > by pciback
> > >
> > > On Fri, May 04, 2012 at 07:49:21AM +0000, Hao, Xudong wrote:
> > > > When PCIE device which has LTR/OBFF capabilities is owned by pciback,
> > > LTR/OBFF feature may be disabled. This patch re-enable LTR and OBFF, so
> that
> > > guest with device assigned can be benefitted.
> > > >
> > > > Changes from v1:
> > > > - put the variable definition at the start of function
> > > > - add error log report
> > > >
> > >
> > > Don't you need to disable this when the device is un-assigned from the
> guest?
> > >
> >
> > I don't think this need to be disabled when device is un-assigned from guest.
> If host want to use device again, the host device driver need re-load, so
> whether disabling ltr/obff is up to host device driver.
> 
> What if the driver isn't doing that?

Make it clear, here host side do not be considered, host has its own driver. The only thing is to make sure ltr/obff is enabled before assigning guest, so that benefit on power.

Since device is owned by pciback again when it un-assigned from guest, we need not disable explicitly.
  
> >
> > > > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > > >
> > > > diff --git a/drivers/xen/xen-pciback/pci_stub.c
> > > b/drivers/xen/xen-pciback/pci_stub.c
> > > > index 097e536..74fbf23 100644
> > > > --- a/drivers/xen/xen-pciback/pci_stub.c
> > > > +++ b/drivers/xen/xen-pciback/pci_stub.c
> > > > @@ -313,6 +313,10 @@ static int __devinit pcistub_init_device(struct
> > > pci_dev *dev)
> > > >  	struct xen_pcibk_dev_data *dev_data;
> > > >  	int err = 0;
> > > >
> > > > +	/* set default value */
> > > > +	unsigned long type = PCI_EXP_OBFF_SIGNAL_ALWAYS;
> > > > +	int snoop_lat_ns = 1024, nosnoop_lat_ns = 1024;
> > >
> > > Why these values? Is there a way to fetch optimal values?
> >
> > These values is the max value that the register supported. I've no idea to get
> an optimal value, here it just be set max value as default.
> 
> Is the max value defined somewhere? Can it be defined somewhere so that
> both KVM adn the Xen patches re-use the same #define?
> 

Since there is not real device with ltr/obff supported now, so we can't determine the platform's maximum supported latency. I think the best way is using the default value 0, so I'd like to remove value setting. (if device is reset, the value still is 0)

> >
> > > > +
> > > >  	dev_dbg(&dev->dev, "initializing...\n");
> > > >
> > > >  	/* The PCI backend is not intended to be a module (or to work with
> > > > @@ -369,6 +373,28 @@ static int __devinit pcistub_init_device(struct
> > > pci_dev *dev)
> > > >  	dev_dbg(&dev->dev, "reset device\n");
> > > >  	xen_pcibk_reset_device(dev);
> > > >
> > > > +	/* Enable LTR and OBFF before do device assignment */
> > > > +	/* LTR(Latency tolerance reporting) allows devices to send
> > > > +	 * messages to the root complex indicating their latency tolerance
> > > > +	 * for snooped & unsnooped memory transactions.
> > > > +	 */
> > > > +	err = pci_enable_ltr(dev);
> > > > +	if (err)
> > > > +		dev_err(&dev->dev, "Counld not enalbe LTR for device!\n");
> > > > +
> > > > +	err = pci_set_ltr(dev, snoop_lat_ns, nosnoop_lat_ns);
> > > > +	if (err)
> > > > +		dev_err(&dev->dev, "Set LTR latency values failed.\n");
> > > > +
> > > > +	/* OBFF (optimized buffer flush/fill), where supported, can help
> > > > +	 * improve energy efficiency by giving devices information about
> > > > +	 * when interrupts and other activity will have a reduced power
> > > > +	 * impact.
> > > > +	 */
> > > > +	err = pci_enable_obff(dev, type);
> > > > +	if (err)
> > > > +		dev_err(&dev->dev, "Counld not enalbe OBFF for device!\n");
> > > > +
> > > >  	dev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
> > > >  	return 0;
> > > >
> > > >
> > > > _______________________________________________
> > > > Xen-devel mailing list
> > > > Xen-devel@lists.xen.org
> > > > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:25:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:25:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgfS-0003l1-0X; Tue, 08 May 2012 09:25:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRgfQ-0003kt-Fh
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:25:12 +0000
Received: from [85.158.139.83:47910] by server-9.bemta-5.messagelabs.com id
	11/89-09826-776E8AF4; Tue, 08 May 2012 09:25:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336469107!24525253!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29895 invoked from network); 8 May 2012 09:25:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:25:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12347719"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:25:05 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 10:25:05 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRgfJ-0006vq-ET;
	Tue, 08 May 2012 09:25:05 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRgfJ-0002K1-7F;
	Tue, 08 May 2012 10:25:05 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12800-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 10:25:05 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12800 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12800/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12797

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12797

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check      fail in 12797 never pass

version targeted for testing:
 xen                  8f1e0cc4a507
baseline version:
 xen                  8f1e0cc4a507

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:25:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:25:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgfS-0003l1-0X; Tue, 08 May 2012 09:25:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRgfQ-0003kt-Fh
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:25:12 +0000
Received: from [85.158.139.83:47910] by server-9.bemta-5.messagelabs.com id
	11/89-09826-776E8AF4; Tue, 08 May 2012 09:25:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336469107!24525253!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29895 invoked from network); 8 May 2012 09:25:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:25:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12347719"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:25:05 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 10:25:05 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRgfJ-0006vq-ET;
	Tue, 08 May 2012 09:25:05 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRgfJ-0002K1-7F;
	Tue, 08 May 2012 10:25:05 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12800-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 10:25:05 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12800 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12800/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12797

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12797

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check      fail in 12797 never pass

version targeted for testing:
 xen                  8f1e0cc4a507
baseline version:
 xen                  8f1e0cc4a507

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:35:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgpG-0003ut-42; Tue, 08 May 2012 09:35:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRgpE-0003uo-TG
	for xen-devel@lists.xen.org; Tue, 08 May 2012 09:35:21 +0000
Received: from [85.158.139.83:29704] by server-12.bemta-5.messagelabs.com id
	7B/26-01344-7D8E8AF4; Tue, 08 May 2012 09:35:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336469718!15974814!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4538 invoked from network); 8 May 2012 09:35:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:35:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348002"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:34:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:34:16 +0100
Message-ID: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 10:34:15 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpUaGUgdXBkYXRlZCBUT0RPIGxpc3QgZm9sbG93cy4gUGVyIHRoZSByZWxlYXNlIHBsYW4g
YSBzdHJvbmcgY2FzZSB3aWxsCm5vdyBoYXZlIHRvIGJlIG1hZGUgYXMgdG8gd2h5IG5ldyBpdGVt
cyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGxpc3QsCmVzcGVjaWFsbHkgYXMgYSBibG9ja2VyLCBy
YXRoZXIgdGhhbiBkZWZlcnJlZCB0byA0LjMuCgpoeXBlcnZpc29yLCBibG9ja2VyczoKICAgICAg
KiBQZXJmb3JtYW5jZSByZWdyZXNzaW9uIGR1ZSB0byBjb250ZW50aW9uIG9uIHAybSBsb2NrLiBQ
YXRjaGVzCiAgICAgICAgcG9zdGVkLCByZXZpZXdlZCwgdXBkYXRlZCwgdG8gZ28gaW4gc2hvcnRs
eSAoVGltLCBBbmRyZXMpIAogCnRvb2xzLCBibG9ja2VyczoKICAgICAgKiBsaWJ4bCBzdGFibGUg
QVBJIC0tIHdlIHdvdWxkIGxpa2UgNC4yIHRvIGRlZmluZSBhIHN0YWJsZSBBUEkKICAgICAgICB3
aGljaCBkb3duc3RyZWFtJ3MgY2FuIHN0YXJ0IHRvIHJlbHkgb24gbm90IGNoYW5naW5nLiBBc3Bl
Y3RzIG9mCiAgICAgICAgdGhpcyBhcmU6CiAgICAgICAgICAgICAgKiBTYWZlIGZvcmsgdnMuIGZk
IGhhbmRsaW5nIGhvb2tzLiBJbnZvbHZlcyBBUEkgY2hhbmdlcwogICAgICAgICAgICAgICAgKElh
biBKLCBwYXRjaGVzIHBvc3RlZCkKICAgICAgICAgICAgICAqIGxpYnhsX3dhaXRfZm9yX2ZyZWVf
bWVtb3J5L2xpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJnZXQuCiAgICAgICAgICAgICAgICBJbnRl
cmZhY2UgbmVlZHMgYW4gb3ZlcmhhdWwsIHJlbGF0ZWQgdG8KICAgICAgICAgICAgICAgIGxvY2tp
bmcvc2VyaWFsaXphdGlvbiBvdmVyIGRvbWFpbiBjcmVhdGUgKGRlZmVycmVkIHRvCiAgICAgICAg
ICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFib3V0IHRoaXMgaW50ZXJmYWNlIGJlaW5n
CiAgICAgICAgICAgICAgICBzdWJzdGFuZGFyZCBidXQgb3RoZXJ3aXNlIGRlZmVyIHRvIDQuMy4K
ICAgICAgICAgICAgICAqIGxpYnhsXypfcGF0aC4gTWFqb3JpdHkgbWFkZSBpbnRlcm5hbCwgb25s
eSBjb25maWdkaXIgYW5kCiAgICAgICAgICAgICAgICBsb2NrZGlyIHJlbWFpbiBwdWJsaWMgKHVz
ZWQgYnkgeGwpLiBHb29kIGVub3VnaD8KICAgICAgICAgICAgICAqIEludGVyZmFjZXMgd2hpY2gg
bWF5IG5lZWQgdG8gYmUgYXN5bmM6CiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RvbWFp
bl9zdXNwZW5kLiBQcm9iYWJseSBuZWVkIHRvIG1vdmUKICAgICAgICAgICAgICAgICAgICAgICAg
eGNfZG9tYWluX3NhdmUgaW50byBhIHNlcGFyYXRlIHByb2Nlc3MsIGFzIHBlcgogICAgICAgICAg
ICAgICAgICAgICAgICA8MjAzNjYuNDAxODMuNDEwMzg4LjQ0NzYzMEBtYXJpbmVyLnVrLnhlbnNv
dXJjZS5jb20+LiBMaWtlbHkgbmVlZCB0byBkbyB0aGUgc2FtZSBmb3IgeGNfZG9tYWluX3Jlc3Rv
cmUgdG9vLiBJJ20gbm90IHN1cmUgaWYgSWFuSiBpcyB3b3JraW5nIChvciBwbGFubmluZyB0byB3
b3JrIG9uKSB0aGlzLgogICAgICAgICAgICAgICAgICAgICAgKiBsaWJ4bF9kb21haW5fY3JlYXRl
X3tuZXcscmVzdG9yZX0gLS0gSWFuSiBoYXMKICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hl
cyBhcyBwYXJ0IG9mIGV2ZW50IHNlcmllcy4KICAgICAgICAgICAgICAgICAgICAgICogbGlieGxf
ZG9tYWluX2NvcmVfZHVtcC4gQ2FuIHRha2UgYSBkdW1teSBhb19ob3cKICAgICAgICAgICAgICAg
ICAgICAgICAgYW5kIHJlbWFpbiBzeW5jaHJvbm91cyBpbnRlcm5hbGx5LiAoSWFuQywgcGF0Y2gK
ICAgICAgICAgICAgICAgICAgICAgICAgcG9zdGVkKQogICAgICAgICAgICAgICAgICAgICAgKiBs
aWJ4bF9kZXZpY2Vfe2Rpc2ssbmljLHZrYixhZGR9X2FkZCAoYW5kCiAgICAgICAgICAgICAgICAg
ICAgICAgIHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sgYXMgcGFydCBvZgog
ICAgICAgICAgICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFkZHMgaW5m
cmFzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggc2hvdWxkIG1ha2UgdGhl
IG90aGVycyB0cml2aWFsLiAoUm9nZXIKICAgICAgICAgICAgICAgICAgICAgICAgaW52ZXN0aWdh
dGluZykKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91bGQg
YmUgZWFzeSBvbmNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9IGRv
bmUsIElhbkogdG8gbG9vayBhdCAob3IKICAgICAgICAgICAgICAgICAgICAgICAgZG9pbmcgc28/
KS4KICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfZGV2aWNlX2Rpc2tfbG9jYWxfe2F0dGFj
aCxkZXRhY2h9LiBCZWNvbWUKICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWwgYXMgcGFy
dCBvZiBTdGVmYW5vJ3MgZG9tYWluIDAgZGlzawogICAgICAgICAgICAgICAgICAgICAgICBhdHRh
Y2ggc2VyaWVzIChwYXRjaGVzIHBvc3RlZCkKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxf
ZGV2aWNlX3BjaV97YWRkLHJlbW92ZX0uIFJvZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dmVzdGlnYXRpbmcgYWxvbmcgd2l0aCBvdGhlciBhZGQscmVtb3ZlCiAgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9ucy4KICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfeGVuX3RtZW1f
Ki4gQWxsIGZ1bmN0aW9ucyBhcmUgImZhc3QiIGFuZAogICAgICAgICAgICAgICAgICAgICAgICB0
aGVyZWZvcmUgbm8gYXN5bmMgbmVlZGVkLiBFeGNlcHRpb24gaXMKICAgICAgICAgICAgICAgICAg
ICAgICAgdG1lbV9kZXN0cm95IHdoaWNoIERhbiBNYWdlbmhlaW1lciBzYXlzIGlzCiAgICAgICAg
ICAgICAgICAgICAgICAgIG9ic29sZXRlIGFuZCBjYW4ganVzdCBiZSByZW1vdmVkLiAoSWFuIEMs
IHBhdGNoCiAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJlbW92ZSB0bWVtX2Rlc3Ryb3kgaW5j
bHVkZWQsIERPTkUpCiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2ZvcmsgLS0gSWFuSidz
IGV2ZW50IHNlcmllcyB3aWxsIHJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICBhbGwgdXNl
cnMgb2YgdGhpcy4KICAgICAgKiBbQlVHXSBNYW51YWxseSBiYWxsb29uaW5nIGRvbTAuICB4bCBt
ZW0tc2V0IDAgW2Zvb10gZmFpbHMgd2l0aAogICAgICAgICJsaWJ4bDogZXJyb3I6IGxpYnhsLmM6
MjU2OTpsaWJ4bF9zZXRfbWVtb3J5X3RhcmdldDogY2Fubm90IGdldAogICAgICAgIG1lbW9yeSBp
bmZvIGZyb20gL2xvY2FsL2RvbWFpbi8wL21lbW9yeS9zdGF0aWMtbWF4OiBObyBzdWNoIGZpbGUK
ICAgICAgICBvciBkaXJlY3RvcnkiLiBUaGlzIG1pZ2h0IGJlIHN1aXRhYmxlIGZvciBhbiBlbnRo
dXNpYXN0aWMKICAgICAgICBvbi1sb29rZXIuIChHZW9yZ2UgRHVubGFwLCBpbiB0aGUgYWJzZW5j
ZSBvZiBzYWlkIG9ubG9va2VyKQogICAgICAqIHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToKICAg
ICAgICAgICAgICAqIFtCVUddIGNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgQ0QtUk9NIGRyaXZlciBv
biBIVk0gZ3Vlc3QsCiAgICAgICAgICAgICAgICByZXBvcnRlZCBieSBGYWJpbyBGYW50b25pIGlu
CiAgICAgICAgICAgICAgICA8NEY5NjcyREQuMjA4MDkwMkB0aXNjYWxpLml0PgogICAgICAgICAg
ICAgICogW0JVR10gZG9lcyBub3QgaG9ub3VyIHNjaGVkdWxlciB3ZWlnaHQgcGFyYW1zLCByZXBv
cnRlZAogICAgICAgICAgICAgICAgYnkgRGlldGVyIEJsb21zIGluIDwyMDEyMDQyMzE5MzUxOC5H
QTE2MTM0QGJsb21zLmRlPiwKICAgICAgICAgICAgICAgIERpZXRlcidzIHBhdGNoIGhhcyBiZWVu
IGFjY2VwdGVkLiAoRE9ORSwgSG93ZXZlciBzZWUKICAgICAgICAgICAgICAgIG5leHQgYnVnLi4u
KQogICAgICAgICAgICAgICogW0JVR10gU3B1cmlvdXMgQ1BVIHBhcmFtcyBlcnJvciBtZXNzYWdl
IHdoZW4gc3RhcnRpbmcgYQogICAgICAgICAgICAgICAgZG9tYWluLCBlLmcuICJDcHUgd2VpZ2h0
IG91dCBvZiByYW5nZSwgdmFsaWQgdmFsdWVzIGFyZQogICAgICAgICAgICAgICAgd2l0aGluIHJh
bmdlIGZyb20gMSB0byA2NTUzNSIuIFRoaXMgaXMgYW4gaXNzdWUgd2l0aAogICAgICAgICAgICAg
ICAgRGlldGVyIEJsb21zJyBwYXRjaCB0byBob25vdXIgc2NoZWR1bGVyIHBhcmFtcy4KICAgICAg
ICAgICAgICAqIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgdHJ5IHRvIHNlbGVjdCBhIChzZXQgb2Yp
ICBub2RlKHMpCiAgICAgICAgICAgICAgICBvbiB3aGljaCB0byBjcmVhdGUgYSBWTSBhbmQgcGlu
IGl0cyB2Y3B1cyB0aGVyZS4gKERhcmlvCiAgICAgICAgICAgICAgICBGYWdnaW9saSkKICAgICAg
KiBNb3JlIGZvcm1hbGx5IGRlcHJlY2F0ZSB4bS94ZW5kLiBNYW5wYWdlIHBhdGNoZXMgYWxyZWFk
eSBpbgogICAgICAgIHRyZWUuIE5lZWRzIHJlbGVhc2Ugbm90aW5nIGFuZCBjb21tdW5pY2F0aW9u
IGFyb3VuZCAtcmMxIHRvCiAgICAgICAgcmVtaW5kIHBlb3BsZSB0byB0ZXN0IHhsLgogICAgICAq
IHhsIHRvIHJlZnVzZSB0byBydW4gaWYgeGVuZCBpcyBydW5uaW5nLCBSb2dlciBQYXUgTW9ubsOp
IChwYXRjaAogICAgICAgIHBvc3RlZCkKICAgICAgKiBEb21haW4gMCBibG9jayBhdHRhY2ggJiBn
ZW5lcmFsIGhvdHBsdWcgd2hlbiB1c2luZyBxZGlzayBiYWNrZW5kCiAgICAgICAgKG5lZWQgdG8g
c3RhcnQgcWVtdSBhcyBuZWNlc3NhcnkgZXRjKSAoU3RlZmFubyBTLCBwYXRjaGVzCiAgICAgICAg
cG9zdGVkKQogICAgICAqIGZpbGU6Ly8gYmFja2VuZCBwZXJmb3JtYW5jZSAoRE9ORSkKICAgICAg
ICAgICAgICAqIHFlbXUteGVuLXRyYWRpdGlvbmFsIGFuZCB1cHN0cmVhbSBxZW11LXhlbiBwZXJm
b3JtYW5jZQogICAgICAgICAgICAgICAgaGFzIGJlZW4gaW1wcm92ZWQgYW5kIGlzIG5vdyBzYXRp
c2ZhY3RvcnkuIChIZW5jZSB0aGlzCiAgICAgICAgICAgICAgICB3aG9sZSBpdGVtIGlzIERPTkUp
CiAgICAgICAgICAgICAgKiBYZW4gNC4yIHdpbGwgcHJlZmVyIGJsa3RhcDIgaWYgYSBrZXJuZWwg
bW9kdWxlIGlzCiAgICAgICAgICAgICAgICBhdmFpbGFibGUgKGUuZy4gb2xkZXIgZG9tMCBrZXJu
ZWwgb3IgREtNUyBwcm92aWRlZAogICAgICAgICAgICAgICAga2VybmVsIG1vZHVsZSkgYW5kIHdp
bGwgZmFsbGJhY2sgdG8gcWVtdSBxZGlzayBpZiBubwogICAgICAgICAgICAgICAgYmxrdGFwMiBp
cyBhdmFpbGFibGUuCiAgICAgICAgICAgICAgKiBUaGVyZSB3aWxsIGJlIG5vIHVzZXJzcGFjZSAi
YmxrdGFwMyIgZm9yIFhlbiA0LjIKICAgICAgKiBJbXByb3ZlZCBIb3RwbHVnIHNjcmlwdCBzdXBw
b3J0IChSb2dlciBQYXUgTW9ubsOpLCBwYXRjaGVzCiAgICAgICAgcG9zdGVkKQogICAgICAqIEJs
b2NrIHNjcmlwdCBzdXBwb3J0IC0tIGZvbGxvd3Mgb24gZnJvbSBob3RwbHVnIHNjcmlwdCAoUm9n
ZXIKICAgICAgICBQYXUgTW9ubsOpKQoKaHlwZXJ2aXNvciwgbmljZSB0byBoYXZlOgogICAgICAq
IFBvRCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgKEdlb3JnZSBEdW5sYXApCgp0b29scywgbmlj
ZSB0byBoYXZlOgogICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgogICAgICAg
ICAgICAgICogVXBzdHJlYW0gcWVtdSBQQ0kgcGFzc3Rocm91Z2ggc3VwcG9ydCAoQW50aG9ueSBQ
ZXJhcmQsCiAgICAgICAgICAgICAgICBwYXRjaGVzIHNlbnQpCiAgICAgICAgICAgICAgKiBVcHN0
cmVhbSBxZW11IHNhdmUgcmVzdG9yZSAoQW50aG9ueSBQZXJhcmQsIFN0ZWZhbm8KICAgICAgICAg
ICAgICAgIFN0YWJlbGxpbmksIHFlbXUgcGF0Y2hlcyBhcHBsaWVkLCB3YWl0aW5nIGZvciBsaWJ4
bCBldGMKICAgICAgICAgICAgICAgIHNpZGUgd2hpY2ggaGFzIGJlZW4gcmVjZW50bHkgcmVwb3N0
ZWQpCiAgICAgICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAobWVtb3J5IGNoZWNrcG9p
bnQsIGJsYWNraG9saW5nKQogICAgICAgIChTaHJpcmFtLCB3YWl0aW5nIG9uIGxpYnhsIHNpZGUg
b2YgcWVtdSB1cHN0cmVhbSBzYXZlL3Jlc3RvcmUpCiAgICAgICogeGwgY29tcGF0aWJpbGl0eSB3
aXRoIHhtOgogICAgICAgICAgICAgICogeGwgc3VwcG9ydCBmb3IgYXV0b3NwYXduaW5nIHZuY3Zp
ZXdlciAodm5jdmlld2VyPTEgb3IKICAgICAgICAgICAgICAgIG90aGVyd2lzZSkgKEdvbmNhbG8g
R29tZXMsIG5ldyB2ZXJzaW9uIG9mIHBhdGNoIHBvc3RlZAogICAgICAgICAgICAgICAgcmVjZW50
bHkpCiAgICAgICAgICAgICAgKiBzdXBwb3J0IGZvciB2aWYgInJhdGUiIHBhcmFtZXRlciAoTWF0
aGlldSBHYWduw6ksIGFsbCBub3cKICAgICAgICAgICAgICAgIGFwcGxpZWQsIERPTkUpCgpbMF0g
aHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cw
MDg4My5odG1sCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 08 09:35:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgpG-0003ut-42; Tue, 08 May 2012 09:35:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRgpE-0003uo-TG
	for xen-devel@lists.xen.org; Tue, 08 May 2012 09:35:21 +0000
Received: from [85.158.139.83:29704] by server-12.bemta-5.messagelabs.com id
	7B/26-01344-7D8E8AF4; Tue, 08 May 2012 09:35:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336469718!15974814!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4538 invoked from network); 8 May 2012 09:35:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:35:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348002"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:34:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:34:16 +0100
Message-ID: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 10:34:15 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpUaGUgdXBkYXRlZCBUT0RPIGxpc3QgZm9sbG93cy4gUGVyIHRoZSByZWxlYXNlIHBsYW4g
YSBzdHJvbmcgY2FzZSB3aWxsCm5vdyBoYXZlIHRvIGJlIG1hZGUgYXMgdG8gd2h5IG5ldyBpdGVt
cyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGxpc3QsCmVzcGVjaWFsbHkgYXMgYSBibG9ja2VyLCBy
YXRoZXIgdGhhbiBkZWZlcnJlZCB0byA0LjMuCgpoeXBlcnZpc29yLCBibG9ja2VyczoKICAgICAg
KiBQZXJmb3JtYW5jZSByZWdyZXNzaW9uIGR1ZSB0byBjb250ZW50aW9uIG9uIHAybSBsb2NrLiBQ
YXRjaGVzCiAgICAgICAgcG9zdGVkLCByZXZpZXdlZCwgdXBkYXRlZCwgdG8gZ28gaW4gc2hvcnRs
eSAoVGltLCBBbmRyZXMpIAogCnRvb2xzLCBibG9ja2VyczoKICAgICAgKiBsaWJ4bCBzdGFibGUg
QVBJIC0tIHdlIHdvdWxkIGxpa2UgNC4yIHRvIGRlZmluZSBhIHN0YWJsZSBBUEkKICAgICAgICB3
aGljaCBkb3duc3RyZWFtJ3MgY2FuIHN0YXJ0IHRvIHJlbHkgb24gbm90IGNoYW5naW5nLiBBc3Bl
Y3RzIG9mCiAgICAgICAgdGhpcyBhcmU6CiAgICAgICAgICAgICAgKiBTYWZlIGZvcmsgdnMuIGZk
IGhhbmRsaW5nIGhvb2tzLiBJbnZvbHZlcyBBUEkgY2hhbmdlcwogICAgICAgICAgICAgICAgKElh
biBKLCBwYXRjaGVzIHBvc3RlZCkKICAgICAgICAgICAgICAqIGxpYnhsX3dhaXRfZm9yX2ZyZWVf
bWVtb3J5L2xpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJnZXQuCiAgICAgICAgICAgICAgICBJbnRl
cmZhY2UgbmVlZHMgYW4gb3ZlcmhhdWwsIHJlbGF0ZWQgdG8KICAgICAgICAgICAgICAgIGxvY2tp
bmcvc2VyaWFsaXphdGlvbiBvdmVyIGRvbWFpbiBjcmVhdGUgKGRlZmVycmVkIHRvCiAgICAgICAg
ICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFib3V0IHRoaXMgaW50ZXJmYWNlIGJlaW5n
CiAgICAgICAgICAgICAgICBzdWJzdGFuZGFyZCBidXQgb3RoZXJ3aXNlIGRlZmVyIHRvIDQuMy4K
ICAgICAgICAgICAgICAqIGxpYnhsXypfcGF0aC4gTWFqb3JpdHkgbWFkZSBpbnRlcm5hbCwgb25s
eSBjb25maWdkaXIgYW5kCiAgICAgICAgICAgICAgICBsb2NrZGlyIHJlbWFpbiBwdWJsaWMgKHVz
ZWQgYnkgeGwpLiBHb29kIGVub3VnaD8KICAgICAgICAgICAgICAqIEludGVyZmFjZXMgd2hpY2gg
bWF5IG5lZWQgdG8gYmUgYXN5bmM6CiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RvbWFp
bl9zdXNwZW5kLiBQcm9iYWJseSBuZWVkIHRvIG1vdmUKICAgICAgICAgICAgICAgICAgICAgICAg
eGNfZG9tYWluX3NhdmUgaW50byBhIHNlcGFyYXRlIHByb2Nlc3MsIGFzIHBlcgogICAgICAgICAg
ICAgICAgICAgICAgICA8MjAzNjYuNDAxODMuNDEwMzg4LjQ0NzYzMEBtYXJpbmVyLnVrLnhlbnNv
dXJjZS5jb20+LiBMaWtlbHkgbmVlZCB0byBkbyB0aGUgc2FtZSBmb3IgeGNfZG9tYWluX3Jlc3Rv
cmUgdG9vLiBJJ20gbm90IHN1cmUgaWYgSWFuSiBpcyB3b3JraW5nIChvciBwbGFubmluZyB0byB3
b3JrIG9uKSB0aGlzLgogICAgICAgICAgICAgICAgICAgICAgKiBsaWJ4bF9kb21haW5fY3JlYXRl
X3tuZXcscmVzdG9yZX0gLS0gSWFuSiBoYXMKICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hl
cyBhcyBwYXJ0IG9mIGV2ZW50IHNlcmllcy4KICAgICAgICAgICAgICAgICAgICAgICogbGlieGxf
ZG9tYWluX2NvcmVfZHVtcC4gQ2FuIHRha2UgYSBkdW1teSBhb19ob3cKICAgICAgICAgICAgICAg
ICAgICAgICAgYW5kIHJlbWFpbiBzeW5jaHJvbm91cyBpbnRlcm5hbGx5LiAoSWFuQywgcGF0Y2gK
ICAgICAgICAgICAgICAgICAgICAgICAgcG9zdGVkKQogICAgICAgICAgICAgICAgICAgICAgKiBs
aWJ4bF9kZXZpY2Vfe2Rpc2ssbmljLHZrYixhZGR9X2FkZCAoYW5kCiAgICAgICAgICAgICAgICAg
ICAgICAgIHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sgYXMgcGFydCBvZgog
ICAgICAgICAgICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFkZHMgaW5m
cmFzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggc2hvdWxkIG1ha2UgdGhl
IG90aGVycyB0cml2aWFsLiAoUm9nZXIKICAgICAgICAgICAgICAgICAgICAgICAgaW52ZXN0aWdh
dGluZykKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91bGQg
YmUgZWFzeSBvbmNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9IGRv
bmUsIElhbkogdG8gbG9vayBhdCAob3IKICAgICAgICAgICAgICAgICAgICAgICAgZG9pbmcgc28/
KS4KICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfZGV2aWNlX2Rpc2tfbG9jYWxfe2F0dGFj
aCxkZXRhY2h9LiBCZWNvbWUKICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWwgYXMgcGFy
dCBvZiBTdGVmYW5vJ3MgZG9tYWluIDAgZGlzawogICAgICAgICAgICAgICAgICAgICAgICBhdHRh
Y2ggc2VyaWVzIChwYXRjaGVzIHBvc3RlZCkKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxf
ZGV2aWNlX3BjaV97YWRkLHJlbW92ZX0uIFJvZ2VyCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dmVzdGlnYXRpbmcgYWxvbmcgd2l0aCBvdGhlciBhZGQscmVtb3ZlCiAgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9ucy4KICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfeGVuX3RtZW1f
Ki4gQWxsIGZ1bmN0aW9ucyBhcmUgImZhc3QiIGFuZAogICAgICAgICAgICAgICAgICAgICAgICB0
aGVyZWZvcmUgbm8gYXN5bmMgbmVlZGVkLiBFeGNlcHRpb24gaXMKICAgICAgICAgICAgICAgICAg
ICAgICAgdG1lbV9kZXN0cm95IHdoaWNoIERhbiBNYWdlbmhlaW1lciBzYXlzIGlzCiAgICAgICAg
ICAgICAgICAgICAgICAgIG9ic29sZXRlIGFuZCBjYW4ganVzdCBiZSByZW1vdmVkLiAoSWFuIEMs
IHBhdGNoCiAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJlbW92ZSB0bWVtX2Rlc3Ryb3kgaW5j
bHVkZWQsIERPTkUpCiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2ZvcmsgLS0gSWFuSidz
IGV2ZW50IHNlcmllcyB3aWxsIHJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICBhbGwgdXNl
cnMgb2YgdGhpcy4KICAgICAgKiBbQlVHXSBNYW51YWxseSBiYWxsb29uaW5nIGRvbTAuICB4bCBt
ZW0tc2V0IDAgW2Zvb10gZmFpbHMgd2l0aAogICAgICAgICJsaWJ4bDogZXJyb3I6IGxpYnhsLmM6
MjU2OTpsaWJ4bF9zZXRfbWVtb3J5X3RhcmdldDogY2Fubm90IGdldAogICAgICAgIG1lbW9yeSBp
bmZvIGZyb20gL2xvY2FsL2RvbWFpbi8wL21lbW9yeS9zdGF0aWMtbWF4OiBObyBzdWNoIGZpbGUK
ICAgICAgICBvciBkaXJlY3RvcnkiLiBUaGlzIG1pZ2h0IGJlIHN1aXRhYmxlIGZvciBhbiBlbnRo
dXNpYXN0aWMKICAgICAgICBvbi1sb29rZXIuIChHZW9yZ2UgRHVubGFwLCBpbiB0aGUgYWJzZW5j
ZSBvZiBzYWlkIG9ubG9va2VyKQogICAgICAqIHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToKICAg
ICAgICAgICAgICAqIFtCVUddIGNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgQ0QtUk9NIGRyaXZlciBv
biBIVk0gZ3Vlc3QsCiAgICAgICAgICAgICAgICByZXBvcnRlZCBieSBGYWJpbyBGYW50b25pIGlu
CiAgICAgICAgICAgICAgICA8NEY5NjcyREQuMjA4MDkwMkB0aXNjYWxpLml0PgogICAgICAgICAg
ICAgICogW0JVR10gZG9lcyBub3QgaG9ub3VyIHNjaGVkdWxlciB3ZWlnaHQgcGFyYW1zLCByZXBv
cnRlZAogICAgICAgICAgICAgICAgYnkgRGlldGVyIEJsb21zIGluIDwyMDEyMDQyMzE5MzUxOC5H
QTE2MTM0QGJsb21zLmRlPiwKICAgICAgICAgICAgICAgIERpZXRlcidzIHBhdGNoIGhhcyBiZWVu
IGFjY2VwdGVkLiAoRE9ORSwgSG93ZXZlciBzZWUKICAgICAgICAgICAgICAgIG5leHQgYnVnLi4u
KQogICAgICAgICAgICAgICogW0JVR10gU3B1cmlvdXMgQ1BVIHBhcmFtcyBlcnJvciBtZXNzYWdl
IHdoZW4gc3RhcnRpbmcgYQogICAgICAgICAgICAgICAgZG9tYWluLCBlLmcuICJDcHUgd2VpZ2h0
IG91dCBvZiByYW5nZSwgdmFsaWQgdmFsdWVzIGFyZQogICAgICAgICAgICAgICAgd2l0aGluIHJh
bmdlIGZyb20gMSB0byA2NTUzNSIuIFRoaXMgaXMgYW4gaXNzdWUgd2l0aAogICAgICAgICAgICAg
ICAgRGlldGVyIEJsb21zJyBwYXRjaCB0byBob25vdXIgc2NoZWR1bGVyIHBhcmFtcy4KICAgICAg
ICAgICAgICAqIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgdHJ5IHRvIHNlbGVjdCBhIChzZXQgb2Yp
ICBub2RlKHMpCiAgICAgICAgICAgICAgICBvbiB3aGljaCB0byBjcmVhdGUgYSBWTSBhbmQgcGlu
IGl0cyB2Y3B1cyB0aGVyZS4gKERhcmlvCiAgICAgICAgICAgICAgICBGYWdnaW9saSkKICAgICAg
KiBNb3JlIGZvcm1hbGx5IGRlcHJlY2F0ZSB4bS94ZW5kLiBNYW5wYWdlIHBhdGNoZXMgYWxyZWFk
eSBpbgogICAgICAgIHRyZWUuIE5lZWRzIHJlbGVhc2Ugbm90aW5nIGFuZCBjb21tdW5pY2F0aW9u
IGFyb3VuZCAtcmMxIHRvCiAgICAgICAgcmVtaW5kIHBlb3BsZSB0byB0ZXN0IHhsLgogICAgICAq
IHhsIHRvIHJlZnVzZSB0byBydW4gaWYgeGVuZCBpcyBydW5uaW5nLCBSb2dlciBQYXUgTW9ubsOp
IChwYXRjaAogICAgICAgIHBvc3RlZCkKICAgICAgKiBEb21haW4gMCBibG9jayBhdHRhY2ggJiBn
ZW5lcmFsIGhvdHBsdWcgd2hlbiB1c2luZyBxZGlzayBiYWNrZW5kCiAgICAgICAgKG5lZWQgdG8g
c3RhcnQgcWVtdSBhcyBuZWNlc3NhcnkgZXRjKSAoU3RlZmFubyBTLCBwYXRjaGVzCiAgICAgICAg
cG9zdGVkKQogICAgICAqIGZpbGU6Ly8gYmFja2VuZCBwZXJmb3JtYW5jZSAoRE9ORSkKICAgICAg
ICAgICAgICAqIHFlbXUteGVuLXRyYWRpdGlvbmFsIGFuZCB1cHN0cmVhbSBxZW11LXhlbiBwZXJm
b3JtYW5jZQogICAgICAgICAgICAgICAgaGFzIGJlZW4gaW1wcm92ZWQgYW5kIGlzIG5vdyBzYXRp
c2ZhY3RvcnkuIChIZW5jZSB0aGlzCiAgICAgICAgICAgICAgICB3aG9sZSBpdGVtIGlzIERPTkUp
CiAgICAgICAgICAgICAgKiBYZW4gNC4yIHdpbGwgcHJlZmVyIGJsa3RhcDIgaWYgYSBrZXJuZWwg
bW9kdWxlIGlzCiAgICAgICAgICAgICAgICBhdmFpbGFibGUgKGUuZy4gb2xkZXIgZG9tMCBrZXJu
ZWwgb3IgREtNUyBwcm92aWRlZAogICAgICAgICAgICAgICAga2VybmVsIG1vZHVsZSkgYW5kIHdp
bGwgZmFsbGJhY2sgdG8gcWVtdSBxZGlzayBpZiBubwogICAgICAgICAgICAgICAgYmxrdGFwMiBp
cyBhdmFpbGFibGUuCiAgICAgICAgICAgICAgKiBUaGVyZSB3aWxsIGJlIG5vIHVzZXJzcGFjZSAi
YmxrdGFwMyIgZm9yIFhlbiA0LjIKICAgICAgKiBJbXByb3ZlZCBIb3RwbHVnIHNjcmlwdCBzdXBw
b3J0IChSb2dlciBQYXUgTW9ubsOpLCBwYXRjaGVzCiAgICAgICAgcG9zdGVkKQogICAgICAqIEJs
b2NrIHNjcmlwdCBzdXBwb3J0IC0tIGZvbGxvd3Mgb24gZnJvbSBob3RwbHVnIHNjcmlwdCAoUm9n
ZXIKICAgICAgICBQYXUgTW9ubsOpKQoKaHlwZXJ2aXNvciwgbmljZSB0byBoYXZlOgogICAgICAq
IFBvRCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgKEdlb3JnZSBEdW5sYXApCgp0b29scywgbmlj
ZSB0byBoYXZlOgogICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgogICAgICAg
ICAgICAgICogVXBzdHJlYW0gcWVtdSBQQ0kgcGFzc3Rocm91Z2ggc3VwcG9ydCAoQW50aG9ueSBQ
ZXJhcmQsCiAgICAgICAgICAgICAgICBwYXRjaGVzIHNlbnQpCiAgICAgICAgICAgICAgKiBVcHN0
cmVhbSBxZW11IHNhdmUgcmVzdG9yZSAoQW50aG9ueSBQZXJhcmQsIFN0ZWZhbm8KICAgICAgICAg
ICAgICAgIFN0YWJlbGxpbmksIHFlbXUgcGF0Y2hlcyBhcHBsaWVkLCB3YWl0aW5nIGZvciBsaWJ4
bCBldGMKICAgICAgICAgICAgICAgIHNpZGUgd2hpY2ggaGFzIGJlZW4gcmVjZW50bHkgcmVwb3N0
ZWQpCiAgICAgICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAobWVtb3J5IGNoZWNrcG9p
bnQsIGJsYWNraG9saW5nKQogICAgICAgIChTaHJpcmFtLCB3YWl0aW5nIG9uIGxpYnhsIHNpZGUg
b2YgcWVtdSB1cHN0cmVhbSBzYXZlL3Jlc3RvcmUpCiAgICAgICogeGwgY29tcGF0aWJpbGl0eSB3
aXRoIHhtOgogICAgICAgICAgICAgICogeGwgc3VwcG9ydCBmb3IgYXV0b3NwYXduaW5nIHZuY3Zp
ZXdlciAodm5jdmlld2VyPTEgb3IKICAgICAgICAgICAgICAgIG90aGVyd2lzZSkgKEdvbmNhbG8g
R29tZXMsIG5ldyB2ZXJzaW9uIG9mIHBhdGNoIHBvc3RlZAogICAgICAgICAgICAgICAgcmVjZW50
bHkpCiAgICAgICAgICAgICAgKiBzdXBwb3J0IGZvciB2aWYgInJhdGUiIHBhcmFtZXRlciAoTWF0
aGlldSBHYWduw6ksIGFsbCBub3cKICAgICAgICAgICAgICAgIGFwcGxpZWQsIERPTkUpCgpbMF0g
aHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cw
MDg4My5odG1sCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 08 09:37:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgqk-0003yX-Ja; Tue, 08 May 2012 09:36:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRgqj-0003yQ-BS
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:36:53 +0000
Received: from [85.158.143.35:61624] by server-1.bemta-4.messagelabs.com id
	91/CF-20925-439E8AF4; Tue, 08 May 2012 09:36:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336469810!10076847!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32149 invoked from network); 8 May 2012 09:36:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:36:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348065"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:36:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:36:21 +0100
Message-ID: <1336469780.14542.23.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Tue, 8 May 2012 10:36:20 +0100
In-Reply-To: <fb4089f411e49a3f6059.1336155843@probook.site>
References: <fb4089f411e49a3f6059.1336155843@probook.site>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: add missing space to rename-restart
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 19:24 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336155798 -7200
> # Node ID fb4089f411e49a3f60596c6782083a2785e544ea
> # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> xl.cfg: add missing space to rename-restart
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 8f556a70ae0b -r fb4089f411e4 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -172,7 +172,7 @@ configuration
>          
>  =item B<rename-restart>
>  
> -rename the domain which terminated, and thenimmediately create a new
> +rename the domain which terminated, and then immediately create a new
>  domain with the same configuration as the original
>  
>  =item B<preserve>
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:37:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgqk-0003yX-Ja; Tue, 08 May 2012 09:36:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRgqj-0003yQ-BS
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:36:53 +0000
Received: from [85.158.143.35:61624] by server-1.bemta-4.messagelabs.com id
	91/CF-20925-439E8AF4; Tue, 08 May 2012 09:36:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336469810!10076847!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32149 invoked from network); 8 May 2012 09:36:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:36:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348065"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:36:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:36:21 +0100
Message-ID: <1336469780.14542.23.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Tue, 8 May 2012 10:36:20 +0100
In-Reply-To: <fb4089f411e49a3f6059.1336155843@probook.site>
References: <fb4089f411e49a3f6059.1336155843@probook.site>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: add missing space to rename-restart
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-04 at 19:24 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336155798 -7200
> # Node ID fb4089f411e49a3f60596c6782083a2785e544ea
> # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> xl.cfg: add missing space to rename-restart
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 8f556a70ae0b -r fb4089f411e4 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -172,7 +172,7 @@ configuration
>          
>  =item B<rename-restart>
>  
> -rename the domain which terminated, and thenimmediately create a new
> +rename the domain which terminated, and then immediately create a new
>  domain with the same configuration as the original
>  
>  =item B<preserve>
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:42:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:42:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgvY-0004BK-Ar; Tue, 08 May 2012 09:41:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRgvW-0004BE-Mp
	for xen-devel@lists.xen.org; Tue, 08 May 2012 09:41:50 +0000
Received: from [193.109.254.147:41054] by server-4.bemta-14.messagelabs.com id
	E7/1D-11570-E5AE8AF4; Tue, 08 May 2012 09:41:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336470108!8136367!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31192 invoked from network); 8 May 2012 09:41:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 09:41:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 08 May 2012 10:41:47 +0100
Message-Id: <4FA906780200007800082364@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 08 May 2012 10:41:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>>  -----Original Message-----
>> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
>> On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
>> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
>> > > Don't you need to disable this when the device is un-assigned from the
>> guest?
>> > >
>> >
>> > I don't think this need to be disabled when device is un-assigned from 
> guest.
>> If host want to use device again, the host device driver need re-load, so
>> whether disabling ltr/obff is up to host device driver.
>> 
>> What if the driver isn't doing that?
> 
> Make it clear, here host side do not be considered, host has its own driver. 
> The only thing is to make sure ltr/obff is enabled before assigning guest, so 
> that benefit on power.
> 
> Since device is owned by pciback again when it un-assigned from guest, we 
> need not disable explicitly.

As you didn't answer my respective earlier question - _if_ this is a
feature needing enabling (and parameter tweaking), I'd imply there
are possible incompatibilities (i.e. reasons for not enabling this
always), and hence this shouldn't be done universally (and with
fixed values for the parameters) _and_ should be properly reset.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:42:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:42:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRgvY-0004BK-Ar; Tue, 08 May 2012 09:41:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SRgvW-0004BE-Mp
	for xen-devel@lists.xen.org; Tue, 08 May 2012 09:41:50 +0000
Received: from [193.109.254.147:41054] by server-4.bemta-14.messagelabs.com id
	E7/1D-11570-E5AE8AF4; Tue, 08 May 2012 09:41:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336470108!8136367!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31192 invoked from network); 8 May 2012 09:41:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 8 May 2012 09:41:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 08 May 2012 10:41:47 +0100
Message-Id: <4FA906780200007800082364@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 08 May 2012 10:41:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>>  -----Original Message-----
>> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
>> On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
>> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
>> > > Don't you need to disable this when the device is un-assigned from the
>> guest?
>> > >
>> >
>> > I don't think this need to be disabled when device is un-assigned from 
> guest.
>> If host want to use device again, the host device driver need re-load, so
>> whether disabling ltr/obff is up to host device driver.
>> 
>> What if the driver isn't doing that?
> 
> Make it clear, here host side do not be considered, host has its own driver. 
> The only thing is to make sure ltr/obff is enabled before assigning guest, so 
> that benefit on power.
> 
> Since device is owned by pciback again when it un-assigned from guest, we 
> need not disable explicitly.

As you didn't answer my respective earlier question - _if_ this is a
feature needing enabling (and parameter tweaking), I'd imply there
are possible incompatibilities (i.e. reasons for not enabling this
always), and hence this shouldn't be done universally (and with
fixed values for the parameters) _and_ should be properly reset.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:51:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:51:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRh4n-0004xo-AN; Tue, 08 May 2012 09:51:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRh4l-0004xV-T0
	for xen-devel@lists.xen.org; Tue, 08 May 2012 09:51:24 +0000
Received: from [85.158.143.35:2678] by server-1.bemta-4.messagelabs.com id
	F6/89-20925-B9CE8AF4; Tue, 08 May 2012 09:51:23 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336470679!11283193!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM0ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24814 invoked from network); 8 May 2012 09:51:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:51:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330923600"; d="scan'208";a="24969013"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 05:51:18 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	05:51:18 -0400
Message-ID: <4FA8EC95.8020508@citrix.com>
Date: Tue, 8 May 2012 10:51:17 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Jan Beulich
	<JBeulich@suse.com>, Keir Fraser <keir@xen.org>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------000708070408040800030402"
Subject: [Xen-devel] x86_64: fix naming of rflags in elf regset structure
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------000708070408040800030402
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

This is a trivial, non-functional, change so should be considered for
4.2, and backported to 4.1 and 4.0 release candidates.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------000708070408040800030402
Content-Type: text/x-patch; name="x86-elf-rflags-name.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="x86-elf-rflags-name.patch"

# HG changeset patch
# Parent 8f1e0cc4a507a52a49a2eb7832a57ecc7e032dce
x86_64: fix naming of rflags in elf regset structure

'pushfq' pushes rflags, not eflags.  Fix up naming of the structure.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 8f1e0cc4a507 xen/include/asm-x86/x86_64/elf.h
--- a/xen/include/asm-x86/x86_64/elf.h
+++ b/xen/include/asm-x86/x86_64/elf.h
@@ -20,7 +20,7 @@ typedef struct {
     unsigned long orig_rax;
     unsigned long rip;
     unsigned long cs;
-    unsigned long eflags;
+    unsigned long rflags;
     unsigned long rsp;
     unsigned long ss;
     unsigned long thread_fs;
@@ -54,7 +54,7 @@ static inline void elf_core_save_regs(EL
     /* orig_rax not filled in for now */
     core_regs->rip = (unsigned long)elf_core_save_regs;
     asm volatile("movl %%cs, %%eax;" :"=a"(core_regs->cs));
-    asm volatile("pushfq; popq %0" :"=m"(core_regs->eflags));
+    asm volatile("pushfq; popq %0" :"=m"(core_regs->rflags));
     asm volatile("movq %%rsp,%0" : "=m"(core_regs->rsp));
     asm volatile("movl %%ss, %%eax;" :"=a"(core_regs->ss));
     /* thread_fs not filled in for now */

--------------000708070408040800030402
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------000708070408040800030402--


From xen-devel-bounces@lists.xen.org Tue May 08 09:51:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:51:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRh4n-0004xo-AN; Tue, 08 May 2012 09:51:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SRh4l-0004xV-T0
	for xen-devel@lists.xen.org; Tue, 08 May 2012 09:51:24 +0000
Received: from [85.158.143.35:2678] by server-1.bemta-4.messagelabs.com id
	F6/89-20925-B9CE8AF4; Tue, 08 May 2012 09:51:23 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336470679!11283193!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM0ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24814 invoked from network); 8 May 2012 09:51:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:51:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330923600"; d="scan'208";a="24969013"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 05:51:18 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	05:51:18 -0400
Message-ID: <4FA8EC95.8020508@citrix.com>
Date: Tue, 8 May 2012 10:51:17 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Jan Beulich
	<JBeulich@suse.com>, Keir Fraser <keir@xen.org>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------000708070408040800030402"
Subject: [Xen-devel] x86_64: fix naming of rflags in elf regset structure
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------000708070408040800030402
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

This is a trivial, non-functional, change so should be considered for
4.2, and backported to 4.1 and 4.0 release candidates.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------000708070408040800030402
Content-Type: text/x-patch; name="x86-elf-rflags-name.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="x86-elf-rflags-name.patch"

# HG changeset patch
# Parent 8f1e0cc4a507a52a49a2eb7832a57ecc7e032dce
x86_64: fix naming of rflags in elf regset structure

'pushfq' pushes rflags, not eflags.  Fix up naming of the structure.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 8f1e0cc4a507 xen/include/asm-x86/x86_64/elf.h
--- a/xen/include/asm-x86/x86_64/elf.h
+++ b/xen/include/asm-x86/x86_64/elf.h
@@ -20,7 +20,7 @@ typedef struct {
     unsigned long orig_rax;
     unsigned long rip;
     unsigned long cs;
-    unsigned long eflags;
+    unsigned long rflags;
     unsigned long rsp;
     unsigned long ss;
     unsigned long thread_fs;
@@ -54,7 +54,7 @@ static inline void elf_core_save_regs(EL
     /* orig_rax not filled in for now */
     core_regs->rip = (unsigned long)elf_core_save_regs;
     asm volatile("movl %%cs, %%eax;" :"=a"(core_regs->cs));
-    asm volatile("pushfq; popq %0" :"=m"(core_regs->eflags));
+    asm volatile("pushfq; popq %0" :"=m"(core_regs->rflags));
     asm volatile("movq %%rsp,%0" : "=m"(core_regs->rsp));
     asm volatile("movl %%ss, %%eax;" :"=a"(core_regs->ss));
     /* thread_fs not filled in for now */

--------------000708070408040800030402
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------000708070408040800030402--


From xen-devel-bounces@lists.xen.org Tue May 08 09:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhBU-0005Mc-8F; Tue, 08 May 2012 09:58:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhBS-0005MW-G1
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:58:18 +0000
Received: from [85.158.143.99:63811] by server-1.bemta-4.messagelabs.com id
	D5/E5-20925-93EE8AF4; Tue, 08 May 2012 09:58:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336471096!17336821!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5607 invoked from network); 8 May 2012 09:58:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348795"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:58:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:58:15 +0100
Message-ID: <1336471094.14542.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 10:58:14 +0100
In-Reply-To: <53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 6] Update xl man page to include
	vncviewer options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> diff -r 0f53540494f7 -r 53f124f82cfd docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Fri May 04 11:18:48 2012 +0100
> +++ b/docs/man/xl.pod.1	Mon May 07 01:10:57 2012 +0000
> @@ -120,6 +120,14 @@ Use the given configuration file.
>  
>  Leave the domain paused after it is created.
>  
> +=item B<-V>, B<--vncviewer>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>, B<--vncviewer-autopass>
> +
> +Pass VNC password to vncviewer via stdin.
> +
>  =item B<-c>
>  
>  Attach console to the domain as soon as it has started.  This is
> @@ -433,6 +441,14 @@ See the corresponding option of the I<cr
>  
>  Enable debug messages.
>  
> +=item B<-V>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>
> +
> +Pass VNC password to vncviewer via stdin.

No long form for these two?

> +
>  =back
>  
>  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 09:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 09:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhBU-0005Mc-8F; Tue, 08 May 2012 09:58:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhBS-0005MW-G1
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:58:18 +0000
Received: from [85.158.143.99:63811] by server-1.bemta-4.messagelabs.com id
	D5/E5-20925-93EE8AF4; Tue, 08 May 2012 09:58:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336471096!17336821!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5607 invoked from network); 8 May 2012 09:58:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 09:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348795"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:58:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:58:15 +0100
Message-ID: <1336471094.14542.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 10:58:14 +0100
In-Reply-To: <53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 6] Update xl man page to include
	vncviewer options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> diff -r 0f53540494f7 -r 53f124f82cfd docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Fri May 04 11:18:48 2012 +0100
> +++ b/docs/man/xl.pod.1	Mon May 07 01:10:57 2012 +0000
> @@ -120,6 +120,14 @@ Use the given configuration file.
>  
>  Leave the domain paused after it is created.
>  
> +=item B<-V>, B<--vncviewer>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>, B<--vncviewer-autopass>
> +
> +Pass VNC password to vncviewer via stdin.
> +
>  =item B<-c>
>  
>  Attach console to the domain as soon as it has started.  This is
> @@ -433,6 +441,14 @@ See the corresponding option of the I<cr
>  
>  Enable debug messages.
>  
> +=item B<-V>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>
> +
> +Pass VNC password to vncviewer via stdin.

No long form for these two?

> +
>  =back
>  
>  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:00:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:00:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhDg-0005Z4-UE; Tue, 08 May 2012 10:00:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhDg-0005Yx-5m
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:00:36 +0000
Received: from [85.158.143.35:20159] by server-3.bemta-4.messagelabs.com id
	70/BB-05853-3CEE8AF4; Tue, 08 May 2012 10:00:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336471227!13214290!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28139 invoked from network); 8 May 2012 10:00:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:00:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348857"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:00:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:00:26 +0100
Message-ID: <1336471225.14542.38.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:00:25 +0100
In-Reply-To: <497a6061df08d6451f3b.1336353618@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<497a6061df08d6451f3b.1336353618@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 6] libxl: add vncviewer boolean options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_create.c
> --- a/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
> +++ b/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
> @@ -156,6 +156,7 @@ int libxl__domain_build_info_setdefault(
>      if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT)
>          b_info->target_memkb = b_info->max_memkb;
>  
> +    libxl_defbool_setdefault(&b_info->vncviewer, false);
>      libxl_defbool_setdefault(&b_info->localtime, false);
>  
>      libxl_defbool_setdefault(&b_info->disable_migrate, false);
> diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
> +++ b/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
> @@ -250,6 +250,7 @@ libxl_domain_build_info = Struct("domain
>      ("video_memkb",     MemKB),
>      ("shadow_memkb",    MemKB),
>      ("rtc_timeoffset",  uint32),
> +    ("vncviewer",       libxl_defbool),

libxl never does anything with this, other that set the default as
above.

Does this value need to be in the libxl API, could it not be entirely an
xl thing, as part of the struct domain_create?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:00:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:00:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhDg-0005Z4-UE; Tue, 08 May 2012 10:00:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhDg-0005Yx-5m
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:00:36 +0000
Received: from [85.158.143.35:20159] by server-3.bemta-4.messagelabs.com id
	70/BB-05853-3CEE8AF4; Tue, 08 May 2012 10:00:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336471227!13214290!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28139 invoked from network); 8 May 2012 10:00:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:00:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348857"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:00:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:00:26 +0100
Message-ID: <1336471225.14542.38.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:00:25 +0100
In-Reply-To: <497a6061df08d6451f3b.1336353618@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<497a6061df08d6451f3b.1336353618@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 6] libxl: add vncviewer boolean options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_create.c
> --- a/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
> +++ b/tools/libxl/libxl_create.c	Mon May 07 01:10:58 2012 +0000
> @@ -156,6 +156,7 @@ int libxl__domain_build_info_setdefault(
>      if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT)
>          b_info->target_memkb = b_info->max_memkb;
>  
> +    libxl_defbool_setdefault(&b_info->vncviewer, false);
>      libxl_defbool_setdefault(&b_info->localtime, false);
>  
>      libxl_defbool_setdefault(&b_info->disable_migrate, false);
> diff -r 79526068a874 -r 497a6061df08 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
> +++ b/tools/libxl/libxl_types.idl	Mon May 07 01:10:58 2012 +0000
> @@ -250,6 +250,7 @@ libxl_domain_build_info = Struct("domain
>      ("video_memkb",     MemKB),
>      ("shadow_memkb",    MemKB),
>      ("rtc_timeoffset",  uint32),
> +    ("vncviewer",       libxl_defbool),

libxl never does anything with this, other that set the default as
above.

Does this value need to be in the libxl API, could it not be entirely an
xl thing, as part of the struct domain_create?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:01:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:01:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhDz-0005b5-BU; Tue, 08 May 2012 10:00:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhDx-0005af-Ux
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:00:54 +0000
Received: from [85.158.143.99:22696] by server-3.bemta-4.messagelabs.com id
	9A/4C-05853-4DEE8AF4; Tue, 08 May 2012 10:00:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336471251!21687199!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25578 invoked from network); 8 May 2012 10:00:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:00:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348871"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:00:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:00:50 +0100
Message-ID: <1336471249.14542.39.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:00:49 +0100
In-Reply-To: <0663afbb57f586cea07f.1336353619@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<0663afbb57f586cea07f.1336353619@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 6] xl: move vncviewer function closer
 to the start of file so it can be seen by create_domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 497a6061df08 -r 0663afbb57f5 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
> +++ b/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
> @@ -186,6 +186,14 @@ static void find_domain(const char *p)
>      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
>  }
>  
> +static int vncviewer(const char *domain_spec, int autopass)
> +{
> +    find_domain(domain_spec);
> +    libxl_vncviewer_exec(ctx, domid, autopass);
> +    fprintf(stderr, "Unable to execute vncviewer\n");
> +    return 1;
> +}
> +
>  static int acquire_lock(void)
>  {
>      int rc;
> @@ -2170,14 +2178,6 @@ int main_console(int argc, char **argv)
>      return 1;
>  }
>  
> -static int vncviewer(const char *domain_spec, int autopass)
> -{
> -    find_domain(domain_spec);
> -    libxl_vncviewer_exec(ctx, domid, autopass);
> -    fprintf(stderr, "Unable to execute vncviewer\n");
> -    return 1;
> -}
> -
>  int main_vncviewer(int argc, char **argv)
>  {
>      static const struct option long_options[] = {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:01:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:01:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhDz-0005b5-BU; Tue, 08 May 2012 10:00:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhDx-0005af-Ux
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:00:54 +0000
Received: from [85.158.143.99:22696] by server-3.bemta-4.messagelabs.com id
	9A/4C-05853-4DEE8AF4; Tue, 08 May 2012 10:00:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336471251!21687199!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25578 invoked from network); 8 May 2012 10:00:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:00:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12348871"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:00:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:00:50 +0100
Message-ID: <1336471249.14542.39.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:00:49 +0100
In-Reply-To: <0663afbb57f586cea07f.1336353619@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<0663afbb57f586cea07f.1336353619@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 6] xl: move vncviewer function closer
 to the start of file so it can be seen by create_domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 497a6061df08 -r 0663afbb57f5 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
> +++ b/tools/libxl/xl_cmdimpl.c	Mon May 07 01:10:58 2012 +0000
> @@ -186,6 +186,14 @@ static void find_domain(const char *p)
>      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
>  }
>  
> +static int vncviewer(const char *domain_spec, int autopass)
> +{
> +    find_domain(domain_spec);
> +    libxl_vncviewer_exec(ctx, domid, autopass);
> +    fprintf(stderr, "Unable to execute vncviewer\n");
> +    return 1;
> +}
> +
>  static int acquire_lock(void)
>  {
>      int rc;
> @@ -2170,14 +2178,6 @@ int main_console(int argc, char **argv)
>      return 1;
>  }
>  
> -static int vncviewer(const char *domain_spec, int autopass)
> -{
> -    find_domain(domain_spec);
> -    libxl_vncviewer_exec(ctx, domid, autopass);
> -    fprintf(stderr, "Unable to execute vncviewer\n");
> -    return 1;
> -}
> -
>  int main_vncviewer(int argc, char **argv)
>  {
>      static const struct option long_options[] = {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:04:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:04:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhHO-0005v8-0U; Tue, 08 May 2012 10:04:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhHL-0005up-SU
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:04:23 +0000
Received: from [193.109.254.147:56194] by server-11.bemta-14.messagelabs.com
	id 16/78-05858-7AFE8AF4; Tue, 08 May 2012 10:04:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336471462!5719897!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7449 invoked from network); 8 May 2012 10:04:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:04:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12349060"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:04:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:04:21 +0100
Message-ID: <1336471460.14542.42.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:04:20 +0100
In-Reply-To: <ed41714d9ce9bc73b792.1336353620@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<ed41714d9ce9bc73b792.1336353620@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 5 of 6] xl: Add vncviewer options to create
	and restore
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> @@ -1734,6 +1739,14 @@ start:
>      if (!daemonize && !monitor)
>          goto out;
>  
> +    if (vnc || (libxl_defbool_val(d_config.b_info.vncviewer) == 1)) {

I think this can be just "if (vnc)", per my previous comment about
including this in the libxl API.

> +        char *domspec = libxl_domid_to_name(ctx, domid);

Error out if this fails? But...

vncviewer will immediately call "find_domain(domain_spec)" to turn this
back into a domid. I think you'd be better to make that function take a
domid and pull the find_domain call up into main_vncviewer.

> +        if (domspec) {
> +            vncviewer(domspec, vncautopass);
> +            free(domsec);
> +        }
> +    }
> +
>      if (need_daemon) {
>          char *fullname, *name;
>          pid_t child1, got_child;

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:04:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:04:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhHO-0005v8-0U; Tue, 08 May 2012 10:04:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhHL-0005up-SU
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:04:23 +0000
Received: from [193.109.254.147:56194] by server-11.bemta-14.messagelabs.com
	id 16/78-05858-7AFE8AF4; Tue, 08 May 2012 10:04:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336471462!5719897!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7449 invoked from network); 8 May 2012 10:04:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:04:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12349060"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:04:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:04:21 +0100
Message-ID: <1336471460.14542.42.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:04:20 +0100
In-Reply-To: <ed41714d9ce9bc73b792.1336353620@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<ed41714d9ce9bc73b792.1336353620@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 5 of 6] xl: Add vncviewer options to create
	and restore
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> @@ -1734,6 +1739,14 @@ start:
>      if (!daemonize && !monitor)
>          goto out;
>  
> +    if (vnc || (libxl_defbool_val(d_config.b_info.vncviewer) == 1)) {

I think this can be just "if (vnc)", per my previous comment about
including this in the libxl API.

> +        char *domspec = libxl_domid_to_name(ctx, domid);

Error out if this fails? But...

vncviewer will immediately call "find_domain(domain_spec)" to turn this
back into a domid. I think you'd be better to make that function take a
domid and pull the find_domain call up into main_vncviewer.

> +        if (domspec) {
> +            vncviewer(domspec, vncautopass);
> +            free(domsec);
> +        }
> +    }
> +
>      if (need_daemon) {
>          char *fullname, *name;
>          pid_t child1, got_child;

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:17:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhTj-00067Y-C7; Tue, 08 May 2012 10:17:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRhTh-00067T-UQ
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:17:10 +0000
Received: from [85.158.138.51:60298] by server-8.bemta-3.messagelabs.com id
	15/2D-24428-4A2F8AF4; Tue, 08 May 2012 10:17:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336472228!24061643!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8612 invoked from network); 8 May 2012 10:17:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:17:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12349370"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:16:33 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 8 May 2012 11:16:33 +0100
Date: Tue, 8 May 2012 11:13:01 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508101301.GA14795@eire.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
	<1336471094.14542.35.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336471094.14542.35.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 6] Update xl man page to include
	vncviewer options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 08 May 2012, Ian Campbell wrote:

> On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> > Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> > 
> > diff -r 0f53540494f7 -r 53f124f82cfd docs/man/xl.pod.1
> > --- a/docs/man/xl.pod.1	Fri May 04 11:18:48 2012 +0100
> > +++ b/docs/man/xl.pod.1	Mon May 07 01:10:57 2012 +0000
> > @@ -120,6 +120,14 @@ Use the given configuration file.
> >  
> >  Leave the domain paused after it is created.
> >  
> > +=item B<-V>, B<--vncviewer>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>, B<--vncviewer-autopass>
> > +
> > +Pass VNC password to vncviewer via stdin.
> > +
> >  =item B<-c>
> >  
> >  Attach console to the domain as soon as it has started.  This is
> > @@ -433,6 +441,14 @@ See the corresponding option of the I<cr
> >  
> >  Enable debug messages.
> >  
> > +=item B<-V>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>
> > +
> > +Pass VNC password to vncviewer via stdin.
> 
> No long form for these two?

It was deliberate as (1) `xm restore` doesn't originally have these 
options and (2) `xl restore` only supports short options. I'm happy to 
add long options and will include them in my follow up patch.

Thanks,

Goncalo

 
> > +
> >  =back
> >  
> >  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:17:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhTj-00067Y-C7; Tue, 08 May 2012 10:17:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SRhTh-00067T-UQ
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:17:10 +0000
Received: from [85.158.138.51:60298] by server-8.bemta-3.messagelabs.com id
	15/2D-24428-4A2F8AF4; Tue, 08 May 2012 10:17:08 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336472228!24061643!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8612 invoked from network); 8 May 2012 10:17:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:17:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12349370"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:16:33 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 8 May 2012 11:16:33 +0100
Date: Tue, 8 May 2012 11:13:01 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508101301.GA14795@eire.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<53f124f82cfd5a8760bb.1336353616@dt29.uk.xensource.com>
	<1336471094.14542.35.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336471094.14542.35.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 6] Update xl man page to include
	vncviewer options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 08 May 2012, Ian Campbell wrote:

> On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> > Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> > 
> > diff -r 0f53540494f7 -r 53f124f82cfd docs/man/xl.pod.1
> > --- a/docs/man/xl.pod.1	Fri May 04 11:18:48 2012 +0100
> > +++ b/docs/man/xl.pod.1	Mon May 07 01:10:57 2012 +0000
> > @@ -120,6 +120,14 @@ Use the given configuration file.
> >  
> >  Leave the domain paused after it is created.
> >  
> > +=item B<-V>, B<--vncviewer>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>, B<--vncviewer-autopass>
> > +
> > +Pass VNC password to vncviewer via stdin.
> > +
> >  =item B<-c>
> >  
> >  Attach console to the domain as soon as it has started.  This is
> > @@ -433,6 +441,14 @@ See the corresponding option of the I<cr
> >  
> >  Enable debug messages.
> >  
> > +=item B<-V>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>
> > +
> > +Pass VNC password to vncviewer via stdin.
> 
> No long form for these two?

It was deliberate as (1) `xm restore` doesn't originally have these 
options and (2) `xl restore` only supports short options. I'm happy to 
add long options and will include them in my follow up patch.

Thanks,

Goncalo

 
> > +
> >  =back
> >  
> >  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:31:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:31:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhh8-0006He-Np; Tue, 08 May 2012 10:31:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhh7-0006HZ-HW
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:31:01 +0000
Received: from [85.158.138.51:35076] by server-1.bemta-3.messagelabs.com id
	8B/D1-11491-4E5F8AF4; Tue, 08 May 2012 10:31:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336473059!19799963!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8821 invoked from network); 8 May 2012 10:30:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:30:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350004"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:30:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:30:59 +0100
Message-ID: <1336473058.14542.45.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:30:58 +0100
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 6] Add vncviewer xm compatibility
	options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> The following series of patches introduce vncviewer compatibility 
> options to the create and restore commands.

I have a look through and it generally looks good, I made some comments
on specific patches as I went.

One overall comment is that, while we generally prefer that a series is
broken down into "one feature per patch", I think you've gone a little
too far here. The docs updates, parser updates and the implementation
can all reasonably come together in the same patch.

The only thing which could be separate is "[...4 of 6] xl: move
vncviewer function closer to the start of file so it can be seen by
create_domain" which it would be useful to have as an early patch in the
series (since splitting pure code motion out is always useful).

Cheers,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:31:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:31:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhh8-0006He-Np; Tue, 08 May 2012 10:31:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhh7-0006HZ-HW
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:31:01 +0000
Received: from [85.158.138.51:35076] by server-1.bemta-3.messagelabs.com id
	8B/D1-11491-4E5F8AF4; Tue, 08 May 2012 10:31:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336473059!19799963!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8821 invoked from network); 8 May 2012 10:30:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:30:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350004"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:30:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:30:59 +0100
Message-ID: <1336473058.14542.45.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 8 May 2012 11:30:58 +0100
In-Reply-To: <patchbomb.1336353615@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 6] Add vncviewer xm compatibility
	options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 02:20 +0100, Goncalo Gomes wrote:
> The following series of patches introduce vncviewer compatibility 
> options to the create and restore commands.

I have a look through and it generally looks good, I made some comments
on specific patches as I went.

One overall comment is that, while we generally prefer that a series is
broken down into "one feature per patch", I think you've gone a little
too far here. The docs updates, parser updates and the implementation
can all reasonably come together in the same patch.

The only thing which could be separate is "[...4 of 6] xl: move
vncviewer function closer to the start of file so it can be seen by
create_domain" which it would be useful to have as an early patch in the
series (since splitting pure code motion out is always useful).

Cheers,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:33:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhio-0006Mm-7h; Tue, 08 May 2012 10:32:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhim-0006Ma-37
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:32:44 +0000
Received: from [85.158.143.99:59014] by server-2.bemta-4.messagelabs.com id
	1A/5F-17550-B46F8AF4; Tue, 08 May 2012 10:32:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336473162!26066838!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17049 invoked from network); 8 May 2012 10:32:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:32:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350053"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:32:42 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:32:42 +0100
Message-ID: <1336473160.14542.47.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:32:40 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George.Dunlap@citrix.com
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
>       * [BUG] Manually ballooning dom0.  xl mem-set 0 [foo] fails with
>         "libxl: error: libxl.c:2569:libxl_set_memory_target: cannot get
>         memory info from /local/domain/0/memory/static-max: No such file
>         or directory". This might be suitable for an enthusiastic
>         on-looker. (George Dunlap, in the absence of said onlooker)

I just tried this and it appeared to work, has it been sneakily fixed?



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:33:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhio-0006Mm-7h; Tue, 08 May 2012 10:32:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhim-0006Ma-37
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:32:44 +0000
Received: from [85.158.143.99:59014] by server-2.bemta-4.messagelabs.com id
	1A/5F-17550-B46F8AF4; Tue, 08 May 2012 10:32:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336473162!26066838!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17049 invoked from network); 8 May 2012 10:32:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:32:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350053"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:32:42 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:32:42 +0100
Message-ID: <1336473160.14542.47.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:32:40 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George.Dunlap@citrix.com
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
>       * [BUG] Manually ballooning dom0.  xl mem-set 0 [foo] fails with
>         "libxl: error: libxl.c:2569:libxl_set_memory_target: cannot get
>         memory info from /local/domain/0/memory/static-max: No such file
>         or directory". This might be suitable for an enthusiastic
>         on-looker. (George Dunlap, in the absence of said onlooker)

I just tried this and it appeared to work, has it been sneakily fixed?



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:41:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhqb-0006bI-5t; Tue, 08 May 2012 10:40:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SRhqa-0006bD-J0
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:40:48 +0000
Received: from [85.158.143.35:41294] by server-3.bemta-4.messagelabs.com id
	2A/E2-05853-F28F8AF4; Tue, 08 May 2012 10:40:47 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336473645!13221110!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM0ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26241 invoked from network); 8 May 2012 10:40:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:40:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330923600"; d="scan'208";a="24970160"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 06:40:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 8 May 2012 06:40:44 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SRhqW-00008Q-BQ;
	Tue, 08 May 2012 11:40:44 +0100
Message-ID: <4FA8F7E8.9030204@eu.citrix.com>
Date: Tue, 8 May 2012 11:39:36 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473160.14542.47.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336473160.14542.47.camel@zakaz.uk.xensource.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 08/05/12 11:32, Ian Campbell wrote:
> On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
>>        * [BUG] Manually ballooning dom0.  xl mem-set 0 [foo] fails with
>>          "libxl: error: libxl.c:2569:libxl_set_memory_target: cannot get
>>          memory info from /local/domain/0/memory/static-max: No such file
>>          or directory". This might be suitable for an enthusiastic
>>          on-looker. (George Dunlap, in the absence of said onlooker)
> I just tried this and it appeared to work, has it been sneakily fixed?
Seems to work for me too -- I do vaguely recall someone (perhaps 
Goncalo?) volunteering to fix it.  At any rate, I'm happy taking it off 
the list.  Thanks for checking.

  -George


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:41:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhqb-0006bI-5t; Tue, 08 May 2012 10:40:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SRhqa-0006bD-J0
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:40:48 +0000
Received: from [85.158.143.35:41294] by server-3.bemta-4.messagelabs.com id
	2A/E2-05853-F28F8AF4; Tue, 08 May 2012 10:40:47 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336473645!13221110!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM0ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26241 invoked from network); 8 May 2012 10:40:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:40:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330923600"; d="scan'208";a="24970160"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 06:40:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 8 May 2012 06:40:44 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SRhqW-00008Q-BQ;
	Tue, 08 May 2012 11:40:44 +0100
Message-ID: <4FA8F7E8.9030204@eu.citrix.com>
Date: Tue, 8 May 2012 11:39:36 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473160.14542.47.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336473160.14542.47.camel@zakaz.uk.xensource.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 08/05/12 11:32, Ian Campbell wrote:
> On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
>>        * [BUG] Manually ballooning dom0.  xl mem-set 0 [foo] fails with
>>          "libxl: error: libxl.c:2569:libxl_set_memory_target: cannot get
>>          memory info from /local/domain/0/memory/static-max: No such file
>>          or directory". This might be suitable for an enthusiastic
>>          on-looker. (George Dunlap, in the absence of said onlooker)
> I just tried this and it appeared to work, has it been sneakily fixed?
Seems to work for me too -- I do vaguely recall someone (perhaps 
Goncalo?) volunteering to fix it.  At any rate, I'm happy taking it off 
the list.  Thanks for checking.

  -George


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:43:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRht3-0006hn-2b; Tue, 08 May 2012 10:43:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRht1-0006hU-B6
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:43:19 +0000
Received: from [85.158.143.35:54272] by server-1.bemta-4.messagelabs.com id
	45/D2-20925-6C8F8AF4; Tue, 08 May 2012 10:43:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336473797!11914765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 561 invoked from network); 8 May 2012 10:43:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:43:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350372"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:42:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:42:46 +0100
Message-ID: <1336473765.14542.52.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:42:45 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCAyMDEyLTA1LTA4IGF0IDEwOjM0ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4g
UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKPiBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9o
dG1sL3hlbi1kZXZlbC8yMDEyLTAzL21zZzAwNzkzLmh0bWwKPiAKPiBUaGUgdGltZSBsaW5lIGlz
IGFzIGZvbGxvd3M6Cj4gCj4gMTkgTWFyY2ggICAgICAgIC0tIFRPRE8gbGlzdCBsb2NrZWQgZG93
bgo+IDIgQXByaWwgICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQo+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8IFdFIEFSRSBIRVJFCj4gTWlkL0xhdGUg
TWF5ICAgIC0tIEZpcnN0IHJlbGVhc2UgY2FuZGlkYXRlCj4gV2Vla2x5ICAgICAgICAgIC0tIFJD
TisxIHVudGlsIGl0IGlzIHJlYWR5CgpJIHRoaW5rIHRoZSBjcml0aWNhbCBwYXRoIGhlcmUgaXMg
dGhlIGxpYnhsIHN0YWJsZSBBUEkgc3R1ZmYuCgpPZiB0aGVzZSBJIHRoaW5rIHRoZSBlbGVtZW50
cyBhcmUgSWFuSidzIHNlcmllcyB0byBoYW5kbGUgZm9yayBldGMgYW5kCnZhcmlvdXMgb3RoZXIg
Yml0cywgZm9sbG93ZWQgYnkgUm9nZXIncyBob3RwbHVnIHN0dWZmICh3aGljaCBkZXBlbmRzIG9u
CklhbkoncyBzdHVmZikuCgpJJ20gYml0IHVuc3VyZSB3aGljaCBiaXRzIG9mIHRoZSBmb2xsb3dp
bmcgbGlzdCBhcmUgZG9uZSwgaW4tcHJvZ3Jlc3MKKHBhcnQgb2YgYSBwb3N0ZWQgb3IgdW5wb3N0
ZWQgc2VyaWVzKSBvciB5ZXQgdG8gYmUgc3RhcnRlZC4gQ291bGQgeW91Cmd1eXMgaGF2ZSBhIHF1
aWNrIGxvb2sgdGhyb3VnaCBhbmQgbGV0IG1lIGtub3c/CgpBbHNvLCBpcyBpdCB3b3J0aCB0cnlp
bmcgdG8gZmluZCBzb21lIG90aGVyIGhlYWRzIHRvIHRha2Ugb3ZlciBzb21lIG9mCnRoZSBzbWFs
bGVyIHNpZGUsIG5vbi1kZXBlbmRlbnQgaXNzdWVzIHRvIGNsZWFyIHlvdXIgcGF0aCAoSWFuSiBp
bgpwYXJ0aWN1bGFyKT8KIAo+IHRvb2xzLCBibG9ja2VyczoKPiAgICAgICAqIGxpYnhsIHN0YWJs
ZSBBUEkgLS0gd2Ugd291bGQgbGlrZSA0LjIgdG8gZGVmaW5lIGEgc3RhYmxlIEFQSQo+ICAgICAg
ICAgd2hpY2ggZG93bnN0cmVhbSdzIGNhbiBzdGFydCB0byByZWx5IG9uIG5vdCBjaGFuZ2luZy4g
QXNwZWN0cyBvZgo+ICAgICAgICAgdGhpcyBhcmU6Cj4gICAgICAgICAgICAgICAqIFNhZmUgZm9y
ayB2cy4gZmQgaGFuZGxpbmcgaG9va3MuIEludm9sdmVzIEFQSSBjaGFuZ2VzCj4gICAgICAgICAg
ICAgICAgIChJYW4gSiwgcGF0Y2hlcyBwb3N0ZWQpCj4gICAgICAgICAgICAgICAqIGxpYnhsX3dh
aXRfZm9yX2ZyZWVfbWVtb3J5L2xpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJnZXQuCj4gICAgICAg
ICAgICAgICAgIEludGVyZmFjZSBuZWVkcyBhbiBvdmVyaGF1bCwgcmVsYXRlZCB0bwo+ICAgICAg
ICAgICAgICAgICBsb2NraW5nL3NlcmlhbGl6YXRpb24gb3ZlciBkb21haW4gY3JlYXRlIChkZWZl
cnJlZCB0bwo+ICAgICAgICAgICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFib3V0IHRo
aXMgaW50ZXJmYWNlIGJlaW5nCj4gICAgICAgICAgICAgICAgIHN1YnN0YW5kYXJkIGJ1dCBvdGhl
cndpc2UgZGVmZXIgdG8gNC4zLgo+ICAgICAgICAgICAgICAgKiBsaWJ4bF8qX3BhdGguIE1ham9y
aXR5IG1hZGUgaW50ZXJuYWwsIG9ubHkgY29uZmlnZGlyIGFuZAo+ICAgICAgICAgICAgICAgICBs
b2NrZGlyIHJlbWFpbiBwdWJsaWMgKHVzZWQgYnkgeGwpLiBHb29kIGVub3VnaD8KPiAgICAgICAg
ICAgICAgICogSW50ZXJmYWNlcyB3aGljaCBtYXkgbmVlZCB0byBiZSBhc3luYzoKPiAgICAgICAg
ICAgICAgICAgICAgICAgKiBsaWJ4bF9kb21haW5fc3VzcGVuZC4gUHJvYmFibHkgbmVlZCB0byBt
b3ZlCj4gICAgICAgICAgICAgICAgICAgICAgICAgeGNfZG9tYWluX3NhdmUgaW50byBhIHNlcGFy
YXRlIHByb2Nlc3MsIGFzIHBlcgo+ICAgICAgICAgICAgICAgICAgICAgICAgIDwyMDM2Ni40MDE4
My40MTAzODguNDQ3NjMwQG1hcmluZXIudWsueGVuc291cmNlLmNvbT4uIExpa2VseSBuZWVkIHRv
IGRvIHRoZSBzYW1lIGZvciB4Y19kb21haW5fcmVzdG9yZSB0b28uIEknbSBub3Qgc3VyZSBpZiBJ
YW5KIGlzIHdvcmtpbmcgKG9yIHBsYW5uaW5nIHRvIHdvcmsgb24pIHRoaXMuCj4gICAgICAgICAg
ICAgICAgICAgICAgICogbGlieGxfZG9tYWluX2NyZWF0ZV97bmV3LHJlc3RvcmV9IC0tIElhbkog
aGFzCj4gICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hlcyBhcyBwYXJ0IG9mIGV2ZW50IHNl
cmllcy4KPiAgICAgICAgICAgICAgICAgICAgICAgKiBsaWJ4bF9kb21haW5fY29yZV9kdW1wLiBD
YW4gdGFrZSBhIGR1bW15IGFvX2hvdwo+ICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZW1h
aW4gc3luY2hyb25vdXMgaW50ZXJuYWxseS4gKElhbkMsIHBhdGNoCj4gICAgICAgICAgICAgICAg
ICAgICAgICAgcG9zdGVkKQo+ICAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RldmljZV97
ZGlzayxuaWMsdmtiLGFkZH1fYWRkIChhbmQKPiAgICAgICAgICAgICAgICAgICAgICAgICByZW1v
dmU/KS4gUm9nZXIgUGF1IE1vbm7DqSBmaXhlcyBkaXNrIGFzIHBhcnQgb2YKPiAgICAgICAgICAg
ICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFkZHMgaW5mcmFzdHJ1Y3R1
cmUKPiAgICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBzaG91bGQgbWFrZSB0aGUgb3RoZXJz
IHRyaXZpYWwuIChSb2dlcgo+ICAgICAgICAgICAgICAgICAgICAgICAgIGludmVzdGlnYXRpbmcp
Cj4gICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91bGQgYmUg
ZWFzeSBvbmNlCj4gICAgICAgICAgICAgICAgICAgICAgICAgZGlza197YWRkLHJlbW92ZX0gZG9u
ZSwgSWFuSiB0byBsb29rIGF0IChvcgo+ICAgICAgICAgICAgICAgICAgICAgICAgIGRvaW5nIHNv
PykuCj4gICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfZGV2aWNlX2Rpc2tfbG9jYWxfe2F0
dGFjaCxkZXRhY2h9LiBCZWNvbWUKPiAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbCBh
cyBwYXJ0IG9mIFN0ZWZhbm8ncyBkb21haW4gMCBkaXNrCj4gICAgICAgICAgICAgICAgICAgICAg
ICAgYXR0YWNoIHNlcmllcyAocGF0Y2hlcyBwb3N0ZWQpCj4gICAgICAgICAgICAgICAgICAgICAg
ICogbGlieGxfZGV2aWNlX3BjaV97YWRkLHJlbW92ZX0uIFJvZ2VyCj4gICAgICAgICAgICAgICAg
ICAgICAgICAgaW52ZXN0aWdhdGluZyBhbG9uZyB3aXRoIG90aGVyIGFkZCxyZW1vdmUKPiAgICAg
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMuCj4gICAgICAgICAgICAgICAgICAgICAgICog
bGlieGxfeGVuX3RtZW1fKi4gQWxsIGZ1bmN0aW9ucyBhcmUgImZhc3QiIGFuZAo+ICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoZXJlZm9yZSBubyBhc3luYyBuZWVkZWQuIEV4Y2VwdGlvbiBpcwo+
ICAgICAgICAgICAgICAgICAgICAgICAgIHRtZW1fZGVzdHJveSB3aGljaCBEYW4gTWFnZW5oZWlt
ZXIgc2F5cyBpcwo+ICAgICAgICAgICAgICAgICAgICAgICAgIG9ic29sZXRlIGFuZCBjYW4ganVz
dCBiZSByZW1vdmVkLiAoSWFuIEMsIHBhdGNoCj4gICAgICAgICAgICAgICAgICAgICAgICAgdG8g
cmVtb3ZlIHRtZW1fZGVzdHJveSBpbmNsdWRlZCwgRE9ORSkKPiAgICAgICAgICAgICAgICAgICAg
ICAgKiBsaWJ4bF9mb3JrIC0tIElhbkoncyBldmVudCBzZXJpZXMgd2lsbCByZW1vdmUKPiAgICAg
ICAgICAgICAgICAgICAgICAgICBhbGwgdXNlcnMgb2YgdGhpcy4KCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY
ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Tue May 08 10:43:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRht3-0006hn-2b; Tue, 08 May 2012 10:43:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRht1-0006hU-B6
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:43:19 +0000
Received: from [85.158.143.35:54272] by server-1.bemta-4.messagelabs.com id
	45/D2-20925-6C8F8AF4; Tue, 08 May 2012 10:43:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336473797!11914765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 561 invoked from network); 8 May 2012 10:43:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:43:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350372"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:42:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:42:46 +0100
Message-ID: <1336473765.14542.52.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:42:45 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCAyMDEyLTA1LTA4IGF0IDEwOjM0ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4g
UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKPiBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9o
dG1sL3hlbi1kZXZlbC8yMDEyLTAzL21zZzAwNzkzLmh0bWwKPiAKPiBUaGUgdGltZSBsaW5lIGlz
IGFzIGZvbGxvd3M6Cj4gCj4gMTkgTWFyY2ggICAgICAgIC0tIFRPRE8gbGlzdCBsb2NrZWQgZG93
bgo+IDIgQXByaWwgICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQo+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8IFdFIEFSRSBIRVJFCj4gTWlkL0xhdGUg
TWF5ICAgIC0tIEZpcnN0IHJlbGVhc2UgY2FuZGlkYXRlCj4gV2Vla2x5ICAgICAgICAgIC0tIFJD
TisxIHVudGlsIGl0IGlzIHJlYWR5CgpJIHRoaW5rIHRoZSBjcml0aWNhbCBwYXRoIGhlcmUgaXMg
dGhlIGxpYnhsIHN0YWJsZSBBUEkgc3R1ZmYuCgpPZiB0aGVzZSBJIHRoaW5rIHRoZSBlbGVtZW50
cyBhcmUgSWFuSidzIHNlcmllcyB0byBoYW5kbGUgZm9yayBldGMgYW5kCnZhcmlvdXMgb3RoZXIg
Yml0cywgZm9sbG93ZWQgYnkgUm9nZXIncyBob3RwbHVnIHN0dWZmICh3aGljaCBkZXBlbmRzIG9u
CklhbkoncyBzdHVmZikuCgpJJ20gYml0IHVuc3VyZSB3aGljaCBiaXRzIG9mIHRoZSBmb2xsb3dp
bmcgbGlzdCBhcmUgZG9uZSwgaW4tcHJvZ3Jlc3MKKHBhcnQgb2YgYSBwb3N0ZWQgb3IgdW5wb3N0
ZWQgc2VyaWVzKSBvciB5ZXQgdG8gYmUgc3RhcnRlZC4gQ291bGQgeW91Cmd1eXMgaGF2ZSBhIHF1
aWNrIGxvb2sgdGhyb3VnaCBhbmQgbGV0IG1lIGtub3c/CgpBbHNvLCBpcyBpdCB3b3J0aCB0cnlp
bmcgdG8gZmluZCBzb21lIG90aGVyIGhlYWRzIHRvIHRha2Ugb3ZlciBzb21lIG9mCnRoZSBzbWFs
bGVyIHNpZGUsIG5vbi1kZXBlbmRlbnQgaXNzdWVzIHRvIGNsZWFyIHlvdXIgcGF0aCAoSWFuSiBp
bgpwYXJ0aWN1bGFyKT8KIAo+IHRvb2xzLCBibG9ja2VyczoKPiAgICAgICAqIGxpYnhsIHN0YWJs
ZSBBUEkgLS0gd2Ugd291bGQgbGlrZSA0LjIgdG8gZGVmaW5lIGEgc3RhYmxlIEFQSQo+ICAgICAg
ICAgd2hpY2ggZG93bnN0cmVhbSdzIGNhbiBzdGFydCB0byByZWx5IG9uIG5vdCBjaGFuZ2luZy4g
QXNwZWN0cyBvZgo+ICAgICAgICAgdGhpcyBhcmU6Cj4gICAgICAgICAgICAgICAqIFNhZmUgZm9y
ayB2cy4gZmQgaGFuZGxpbmcgaG9va3MuIEludm9sdmVzIEFQSSBjaGFuZ2VzCj4gICAgICAgICAg
ICAgICAgIChJYW4gSiwgcGF0Y2hlcyBwb3N0ZWQpCj4gICAgICAgICAgICAgICAqIGxpYnhsX3dh
aXRfZm9yX2ZyZWVfbWVtb3J5L2xpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJnZXQuCj4gICAgICAg
ICAgICAgICAgIEludGVyZmFjZSBuZWVkcyBhbiBvdmVyaGF1bCwgcmVsYXRlZCB0bwo+ICAgICAg
ICAgICAgICAgICBsb2NraW5nL3NlcmlhbGl6YXRpb24gb3ZlciBkb21haW4gY3JlYXRlIChkZWZl
cnJlZCB0bwo+ICAgICAgICAgICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFib3V0IHRo
aXMgaW50ZXJmYWNlIGJlaW5nCj4gICAgICAgICAgICAgICAgIHN1YnN0YW5kYXJkIGJ1dCBvdGhl
cndpc2UgZGVmZXIgdG8gNC4zLgo+ICAgICAgICAgICAgICAgKiBsaWJ4bF8qX3BhdGguIE1ham9y
aXR5IG1hZGUgaW50ZXJuYWwsIG9ubHkgY29uZmlnZGlyIGFuZAo+ICAgICAgICAgICAgICAgICBs
b2NrZGlyIHJlbWFpbiBwdWJsaWMgKHVzZWQgYnkgeGwpLiBHb29kIGVub3VnaD8KPiAgICAgICAg
ICAgICAgICogSW50ZXJmYWNlcyB3aGljaCBtYXkgbmVlZCB0byBiZSBhc3luYzoKPiAgICAgICAg
ICAgICAgICAgICAgICAgKiBsaWJ4bF9kb21haW5fc3VzcGVuZC4gUHJvYmFibHkgbmVlZCB0byBt
b3ZlCj4gICAgICAgICAgICAgICAgICAgICAgICAgeGNfZG9tYWluX3NhdmUgaW50byBhIHNlcGFy
YXRlIHByb2Nlc3MsIGFzIHBlcgo+ICAgICAgICAgICAgICAgICAgICAgICAgIDwyMDM2Ni40MDE4
My40MTAzODguNDQ3NjMwQG1hcmluZXIudWsueGVuc291cmNlLmNvbT4uIExpa2VseSBuZWVkIHRv
IGRvIHRoZSBzYW1lIGZvciB4Y19kb21haW5fcmVzdG9yZSB0b28uIEknbSBub3Qgc3VyZSBpZiBJ
YW5KIGlzIHdvcmtpbmcgKG9yIHBsYW5uaW5nIHRvIHdvcmsgb24pIHRoaXMuCj4gICAgICAgICAg
ICAgICAgICAgICAgICogbGlieGxfZG9tYWluX2NyZWF0ZV97bmV3LHJlc3RvcmV9IC0tIElhbkog
aGFzCj4gICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hlcyBhcyBwYXJ0IG9mIGV2ZW50IHNl
cmllcy4KPiAgICAgICAgICAgICAgICAgICAgICAgKiBsaWJ4bF9kb21haW5fY29yZV9kdW1wLiBD
YW4gdGFrZSBhIGR1bW15IGFvX2hvdwo+ICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZW1h
aW4gc3luY2hyb25vdXMgaW50ZXJuYWxseS4gKElhbkMsIHBhdGNoCj4gICAgICAgICAgICAgICAg
ICAgICAgICAgcG9zdGVkKQo+ICAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RldmljZV97
ZGlzayxuaWMsdmtiLGFkZH1fYWRkIChhbmQKPiAgICAgICAgICAgICAgICAgICAgICAgICByZW1v
dmU/KS4gUm9nZXIgUGF1IE1vbm7DqSBmaXhlcyBkaXNrIGFzIHBhcnQgb2YKPiAgICAgICAgICAg
ICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFkZHMgaW5mcmFzdHJ1Y3R1
cmUKPiAgICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBzaG91bGQgbWFrZSB0aGUgb3RoZXJz
IHRyaXZpYWwuIChSb2dlcgo+ICAgICAgICAgICAgICAgICAgICAgICAgIGludmVzdGlnYXRpbmcp
Cj4gICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91bGQgYmUg
ZWFzeSBvbmNlCj4gICAgICAgICAgICAgICAgICAgICAgICAgZGlza197YWRkLHJlbW92ZX0gZG9u
ZSwgSWFuSiB0byBsb29rIGF0IChvcgo+ICAgICAgICAgICAgICAgICAgICAgICAgIGRvaW5nIHNv
PykuCj4gICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfZGV2aWNlX2Rpc2tfbG9jYWxfe2F0
dGFjaCxkZXRhY2h9LiBCZWNvbWUKPiAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbCBh
cyBwYXJ0IG9mIFN0ZWZhbm8ncyBkb21haW4gMCBkaXNrCj4gICAgICAgICAgICAgICAgICAgICAg
ICAgYXR0YWNoIHNlcmllcyAocGF0Y2hlcyBwb3N0ZWQpCj4gICAgICAgICAgICAgICAgICAgICAg
ICogbGlieGxfZGV2aWNlX3BjaV97YWRkLHJlbW92ZX0uIFJvZ2VyCj4gICAgICAgICAgICAgICAg
ICAgICAgICAgaW52ZXN0aWdhdGluZyBhbG9uZyB3aXRoIG90aGVyIGFkZCxyZW1vdmUKPiAgICAg
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMuCj4gICAgICAgICAgICAgICAgICAgICAgICog
bGlieGxfeGVuX3RtZW1fKi4gQWxsIGZ1bmN0aW9ucyBhcmUgImZhc3QiIGFuZAo+ICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoZXJlZm9yZSBubyBhc3luYyBuZWVkZWQuIEV4Y2VwdGlvbiBpcwo+
ICAgICAgICAgICAgICAgICAgICAgICAgIHRtZW1fZGVzdHJveSB3aGljaCBEYW4gTWFnZW5oZWlt
ZXIgc2F5cyBpcwo+ICAgICAgICAgICAgICAgICAgICAgICAgIG9ic29sZXRlIGFuZCBjYW4ganVz
dCBiZSByZW1vdmVkLiAoSWFuIEMsIHBhdGNoCj4gICAgICAgICAgICAgICAgICAgICAgICAgdG8g
cmVtb3ZlIHRtZW1fZGVzdHJveSBpbmNsdWRlZCwgRE9ORSkKPiAgICAgICAgICAgICAgICAgICAg
ICAgKiBsaWJ4bF9mb3JrIC0tIElhbkoncyBldmVudCBzZXJpZXMgd2lsbCByZW1vdmUKPiAgICAg
ICAgICAgICAgICAgICAgICAgICBhbGwgdXNlcnMgb2YgdGhpcy4KCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY
ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Tue May 08 10:43:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRht2-0006hf-Nt; Tue, 08 May 2012 10:43:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRht1-0006hT-8U
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:43:19 +0000
Received: from [85.158.143.35:54270] by server-3.bemta-4.messagelabs.com id
	8D/37-05853-6C8F8AF4; Tue, 08 May 2012 10:43:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336473797!11914765!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 567 invoked from network); 8 May 2012 10:43:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:43:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350380"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:43:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:43:17 +0100
Message-ID: <1336473796.14542.53.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 8 May 2012 11:43:16 +0100
In-Reply-To: <4FA8F7E8.9030204@eu.citrix.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473160.14542.47.camel@zakaz.uk.xensource.com>
	<4FA8F7E8.9030204@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 11:39 +0100, George Dunlap wrote:
> On 08/05/12 11:32, Ian Campbell wrote:
> > On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
> >>        * [BUG] Manually ballooning dom0.  xl mem-set 0 [foo] fails with
> >>          "libxl: error: libxl.c:2569:libxl_set_memory_target: cannot get
> >>          memory info from /local/domain/0/memory/static-max: No such file
> >>          or directory". This might be suitable for an enthusiastic
> >>          on-looker. (George Dunlap, in the absence of said onlooker)
> > I just tried this and it appeared to work, has it been sneakily fixed?
> Seems to work for me too -- I do vaguely recall someone (perhaps 
> Goncalo?) volunteering to fix it.  At any rate, I'm happy taking it off 
> the list.  Thanks for checking.

Great, I'll mark it DONE next week.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:43:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRht2-0006hf-Nt; Tue, 08 May 2012 10:43:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRht1-0006hT-8U
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:43:19 +0000
Received: from [85.158.143.35:54270] by server-3.bemta-4.messagelabs.com id
	8D/37-05853-6C8F8AF4; Tue, 08 May 2012 10:43:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336473797!11914765!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 567 invoked from network); 8 May 2012 10:43:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:43:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350380"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:43:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:43:17 +0100
Message-ID: <1336473796.14542.53.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 8 May 2012 11:43:16 +0100
In-Reply-To: <4FA8F7E8.9030204@eu.citrix.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473160.14542.47.camel@zakaz.uk.xensource.com>
	<4FA8F7E8.9030204@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 11:39 +0100, George Dunlap wrote:
> On 08/05/12 11:32, Ian Campbell wrote:
> > On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
> >>        * [BUG] Manually ballooning dom0.  xl mem-set 0 [foo] fails with
> >>          "libxl: error: libxl.c:2569:libxl_set_memory_target: cannot get
> >>          memory info from /local/domain/0/memory/static-max: No such file
> >>          or directory". This might be suitable for an enthusiastic
> >>          on-looker. (George Dunlap, in the absence of said onlooker)
> > I just tried this and it appeared to work, has it been sneakily fixed?
> Seems to work for me too -- I do vaguely recall someone (perhaps 
> Goncalo?) volunteering to fix it.  At any rate, I'm happy taking it off 
> the list.  Thanks for checking.

Great, I'll mark it DONE next week.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:45:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:45:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhvM-0006xT-Px; Tue, 08 May 2012 10:45:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhvL-0006xF-Lv
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:45:43 +0000
Received: from [85.158.139.83:38507] by server-12.bemta-5.messagelabs.com id
	24/73-01344-459F8AF4; Tue, 08 May 2012 10:45:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336473939!20030892!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21346 invoked from network); 8 May 2012 10:45:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:45:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350448"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:45:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:45:39 +0100
Message-ID: <1336473938.14542.55.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:45:38 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <raistlin@linux.it>, Dieter Bloms <dieter@bloms.de>
Subject: [Xen-devel] sched params spurious error message (Was: Re: 4.2 TODO
 / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
>       * xl compatibility with xm:
> [...]
>               * [BUG] does not honour scheduler weight params, reported
>                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
>                 Dieter's patch has been accepted. (DONE, However see
>                 next bug...)
>               * [BUG] Spurious CPU params error message when starting a
>                 domain, e.g. "Cpu weight out of range, valid values are
>                 within range from 1 to 65535". This is an issue with
>                 Dieter Bloms' patch to honour scheduler params.

Is anyone looking into this?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:45:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:45:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhvM-0006xT-Px; Tue, 08 May 2012 10:45:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhvL-0006xF-Lv
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:45:43 +0000
Received: from [85.158.139.83:38507] by server-12.bemta-5.messagelabs.com id
	24/73-01344-459F8AF4; Tue, 08 May 2012 10:45:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336473939!20030892!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21346 invoked from network); 8 May 2012 10:45:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:45:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350448"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:45:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:45:39 +0100
Message-ID: <1336473938.14542.55.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:45:38 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <raistlin@linux.it>, Dieter Bloms <dieter@bloms.de>
Subject: [Xen-devel] sched params spurious error message (Was: Re: 4.2 TODO
 / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
>       * xl compatibility with xm:
> [...]
>               * [BUG] does not honour scheduler weight params, reported
>                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
>                 Dieter's patch has been accepted. (DONE, However see
>                 next bug...)
>               * [BUG] Spurious CPU params error message when starting a
>                 domain, e.g. "Cpu weight out of range, valid values are
>                 within range from 1 to 65535". This is an issue with
>                 Dieter Bloms' patch to honour scheduler params.

Is anyone looking into this?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:48:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:48:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhxS-000795-AZ; Tue, 08 May 2012 10:47:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhxR-00078x-B0
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:47:53 +0000
Received: from [85.158.139.83:41251] by server-2.bemta-5.messagelabs.com id
	DF/54-17016-8D9F8AF4; Tue, 08 May 2012 10:47:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336474070!19910967!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7444 invoked from network); 8 May 2012 10:47:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:47:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350511"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:47:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:47:49 +0100
Message-ID: <1336474068.14542.57.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:47:48 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Fantu <fantonifabio@tiscali.it>
Subject: [Xen-devel] Volunteer wanted: xl and empty HVM CD ROM drives (Was:
 Re: 4.2 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
> [...]      * xl compatibility with xm:
>               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
>                 reported by Fabio Fantoni in
>                 <4F9672DD.2080902@tiscali.it>

I don't think anyone is currently working on this. Any volunteers?

I think this should be a relatively easy thing, suitable for a beginner
(e..g someone who is interested in making a start at toolstack hacking.)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:48:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:48:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRhxS-000795-AZ; Tue, 08 May 2012 10:47:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRhxR-00078x-B0
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:47:53 +0000
Received: from [85.158.139.83:41251] by server-2.bemta-5.messagelabs.com id
	DF/54-17016-8D9F8AF4; Tue, 08 May 2012 10:47:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336474070!19910967!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7444 invoked from network); 8 May 2012 10:47:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:47:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350511"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:47:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:47:49 +0100
Message-ID: <1336474068.14542.57.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:47:48 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Fantu <fantonifabio@tiscali.it>
Subject: [Xen-devel] Volunteer wanted: xl and empty HVM CD ROM drives (Was:
 Re: 4.2 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
> [...]      * xl compatibility with xm:
>               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
>                 reported by Fabio Fantoni in
>                 <4F9672DD.2080902@tiscali.it>

I don't think anyone is currently working on this. Any volunteers?

I think this should be a relatively easy thing, suitable for a beginner
(e..g someone who is interested in making a start at toolstack hacking.)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:52:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:52:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRi1q-0007Kb-0G; Tue, 08 May 2012 10:52:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRi1o-0007KT-Sb
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:52:25 +0000
Received: from [85.158.143.35:41965] by server-2.bemta-4.messagelabs.com id
	E6/A0-17550-8EAF8AF4; Tue, 08 May 2012 10:52:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336474342!4736454!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25367 invoked from network); 8 May 2012 10:52:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:52:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350693"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:52:03 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:52:03 +0100
Message-ID: <1336474322.14542.61.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:52:02 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

V2hlcmUgYXJlIHdlIHdpdGggdGhlIGZvbGxvd2luZz8KCkkndmUgbm90IHNlZW4gYW55dGhpbmcg
cmVjZW50bHkgYWJvdXQgUENJIHBhc3N0aHJvdWdoLgoKSXMgaXQgc3RpbGwgdGhlIGNhc2UgdGhh
dCBzYXZlL3Jlc3RvcmUgaXMgd2FpdGluZyBvbiBsaWJ7YyxsfSBwYXRjaGVzCmFuZCBSZW11cyBp
cyB3YWl0aW5nIGZvciB0aG9zZT8gV2hhdCdzIHRoZSBob2xkIHVwIHRoZXJlPwoKT24gVHVlLCAy
MDEyLTA1LTA4IGF0IDEwOjM0ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4gdG9vbHMsIG5p
Y2UgdG8gaGF2ZToKPiAgICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgo+ICAg
ICAgICAgICAgICAgKiBVcHN0cmVhbSBxZW11IFBDSSBwYXNzdGhyb3VnaCBzdXBwb3J0IChBbnRo
b255IFBlcmFyZCwKPiAgICAgICAgICAgICAgICAgcGF0Y2hlcyBzZW50KQo+ICAgICAgICAgICAg
ICAgKiBVcHN0cmVhbSBxZW11IHNhdmUgcmVzdG9yZSAoQW50aG9ueSBQZXJhcmQsIFN0ZWZhbm8K
PiAgICAgICAgICAgICAgICAgU3RhYmVsbGluaSwgcWVtdSBwYXRjaGVzIGFwcGxpZWQsIHdhaXRp
bmcgZm9yIGxpYnhsIGV0Ywo+ICAgICAgICAgICAgICAgICBzaWRlIHdoaWNoIGhhcyBiZWVuIHJl
Y2VudGx5IHJlcG9zdGVkKQo+ICAgICAgICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAo
bWVtb3J5IGNoZWNrcG9pbnQsIGJsYWNraG9saW5nKQo+ICAgICAgICAgKFNocmlyYW0sIHdhaXRp
bmcgb24gbGlieGwgc2lkZSBvZiBxZW11IHVwc3RyZWFtIHNhdmUvcmVzdG9yZSkKPiAgICAgICAq
IHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToKPiAgICAgICAgICAgICAgICogeGwgc3VwcG9ydCBm
b3IgYXV0b3NwYXduaW5nIHZuY3ZpZXdlciAodm5jdmlld2VyPTEgb3IKPiAgICAgICAgICAgICAg
ICAgb3RoZXJ3aXNlKSAoR29uY2FsbyBHb21lcywgbmV3IHZlcnNpb24gb2YgcGF0Y2ggcG9zdGVk
Cj4gICAgICAgICAgICAgICAgIHJlY2VudGx5KQo+ICAgICAgICAgICAgICAgKiBzdXBwb3J0IGZv
ciB2aWYgInJhdGUiIHBhcmFtZXRlciAoTWF0aGlldSBHYWduw6ksIGFsbCBub3cKPiAgICAgICAg
ICAgICAgICAgYXBwbGllZCwgRE9ORSkKPiAKPiBbMF0gaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJj
aGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDg4My5odG1sCj4gCj4gCj4gCj4gX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2ZWwg
bWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMueGVu
Lm9yZy94ZW4tZGV2ZWwKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo
dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Tue May 08 10:52:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:52:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRi1q-0007Kb-0G; Tue, 08 May 2012 10:52:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRi1o-0007KT-Sb
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:52:25 +0000
Received: from [85.158.143.35:41965] by server-2.bemta-4.messagelabs.com id
	E6/A0-17550-8EAF8AF4; Tue, 08 May 2012 10:52:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336474342!4736454!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzQ0Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25367 invoked from network); 8 May 2012 10:52:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:52:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12350693"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:52:03 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:52:03 +0100
Message-ID: <1336474322.14542.61.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Tue, 8 May 2012 11:52:02 +0100
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

V2hlcmUgYXJlIHdlIHdpdGggdGhlIGZvbGxvd2luZz8KCkkndmUgbm90IHNlZW4gYW55dGhpbmcg
cmVjZW50bHkgYWJvdXQgUENJIHBhc3N0aHJvdWdoLgoKSXMgaXQgc3RpbGwgdGhlIGNhc2UgdGhh
dCBzYXZlL3Jlc3RvcmUgaXMgd2FpdGluZyBvbiBsaWJ7YyxsfSBwYXRjaGVzCmFuZCBSZW11cyBp
cyB3YWl0aW5nIGZvciB0aG9zZT8gV2hhdCdzIHRoZSBob2xkIHVwIHRoZXJlPwoKT24gVHVlLCAy
MDEyLTA1LTA4IGF0IDEwOjM0ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4gdG9vbHMsIG5p
Y2UgdG8gaGF2ZToKPiAgICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgo+ICAg
ICAgICAgICAgICAgKiBVcHN0cmVhbSBxZW11IFBDSSBwYXNzdGhyb3VnaCBzdXBwb3J0IChBbnRo
b255IFBlcmFyZCwKPiAgICAgICAgICAgICAgICAgcGF0Y2hlcyBzZW50KQo+ICAgICAgICAgICAg
ICAgKiBVcHN0cmVhbSBxZW11IHNhdmUgcmVzdG9yZSAoQW50aG9ueSBQZXJhcmQsIFN0ZWZhbm8K
PiAgICAgICAgICAgICAgICAgU3RhYmVsbGluaSwgcWVtdSBwYXRjaGVzIGFwcGxpZWQsIHdhaXRp
bmcgZm9yIGxpYnhsIGV0Ywo+ICAgICAgICAgICAgICAgICBzaWRlIHdoaWNoIGhhcyBiZWVuIHJl
Y2VudGx5IHJlcG9zdGVkKQo+ICAgICAgICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAo
bWVtb3J5IGNoZWNrcG9pbnQsIGJsYWNraG9saW5nKQo+ICAgICAgICAgKFNocmlyYW0sIHdhaXRp
bmcgb24gbGlieGwgc2lkZSBvZiBxZW11IHVwc3RyZWFtIHNhdmUvcmVzdG9yZSkKPiAgICAgICAq
IHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToKPiAgICAgICAgICAgICAgICogeGwgc3VwcG9ydCBm
b3IgYXV0b3NwYXduaW5nIHZuY3ZpZXdlciAodm5jdmlld2VyPTEgb3IKPiAgICAgICAgICAgICAg
ICAgb3RoZXJ3aXNlKSAoR29uY2FsbyBHb21lcywgbmV3IHZlcnNpb24gb2YgcGF0Y2ggcG9zdGVk
Cj4gICAgICAgICAgICAgICAgIHJlY2VudGx5KQo+ICAgICAgICAgICAgICAgKiBzdXBwb3J0IGZv
ciB2aWYgInJhdGUiIHBhcmFtZXRlciAoTWF0aGlldSBHYWduw6ksIGFsbCBub3cKPiAgICAgICAg
ICAgICAgICAgYXBwbGllZCwgRE9ORSkKPiAKPiBbMF0gaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJj
aGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDg4My5odG1sCj4gCj4gCj4gCj4gX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2ZWwg
bWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMueGVu
Lm9yZy94ZW4tZGV2ZWwKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo
dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Tue May 08 10:55:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRi4j-0007Rs-JZ; Tue, 08 May 2012 10:55:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRi4h-0007Rc-W9
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:55:24 +0000
Received: from [85.158.138.51:10940] by server-7.bemta-3.messagelabs.com id
	C3/B2-03078-89BF8AF4; Tue, 08 May 2012 10:55:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336474518!16929387!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21994 invoked from network); 8 May 2012 10:55:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:55:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12351048"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:55:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:55:15 +0100
Message-ID: <1336474514.14542.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@eu.citrix.com>
Date: Tue, 8 May 2012 11:55:14 +0100
In-Reply-To: <20120506212337.GA15262@eire.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
	<1336296147.5933.5.camel@cthulhu.hellion.org.uk>
	<20120506212337.GA15262@eire.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 2012-05-06 at 22:23 +0100, Goncalo Gomes wrote:
> On Sun, 06 May 2012, Ian Campbell wrote:
> 
> > I've tried reproducing using your config file with the patch applied and
> > I can't.
> > 
> > > [...]
> > > This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
> > > which gets triggered from an erroneous b_info->type with a bogus value 
> > > of 0x84 (which is neither PV nor HVM.)
> > 
> > I think it might be useful to sprinkle prints of b_info->type everywhere
> > from the call to libxl_domain_build_info_init_type up until this switch
> > statement to see if you can identify the line which is overwriting this
> > field. I couldn't spot it by eye but something in there is presumably
> > blowing off the end of a buffer or something similar.
> > 
> > You should probably also validate the initial value, which comes from
> > c_info->type, and if that is wrong trace it back to the place which sets
> > that initial value.
> 
> Running 'make install' after various attempts seems to have done it. 
> 
> I was all along under the impression that the dynamic linker would 
> pick the libxenlight in the current dir, which is why I hadn't run 
> 'make install' every so often, but did instead occasionally run 'make 
> clean all' Coming to think of it, if the DLD was to pick the library 
> from the current directory, a world of security bugs and pain would 
> ensue, but for some reason I kept expecting the behaviour to be that.

Yeah, "." is not normally in the default library lookup path for a
variety of security etc issues as you suspected.You can either use
LD_LIBRARY_PATH=stuff:other-stuff or just run make install.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:55:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRi4j-0007Rs-JZ; Tue, 08 May 2012 10:55:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRi4h-0007Rc-W9
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 10:55:24 +0000
Received: from [85.158.138.51:10940] by server-7.bemta-3.messagelabs.com id
	C3/B2-03078-89BF8AF4; Tue, 08 May 2012 10:55:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336474518!16929387!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21994 invoked from network); 8 May 2012 10:55:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 10:55:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,549,1330905600"; d="scan'208";a="12351048"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:55:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:55:15 +0100
Message-ID: <1336474514.14542.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@eu.citrix.com>
Date: Tue, 8 May 2012 11:55:14 +0100
In-Reply-To: <20120506212337.GA15262@eire.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
	<1336296147.5933.5.camel@cthulhu.hellion.org.uk>
	<20120506212337.GA15262@eire.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 2012-05-06 at 22:23 +0100, Goncalo Gomes wrote:
> On Sun, 06 May 2012, Ian Campbell wrote:
> 
> > I've tried reproducing using your config file with the patch applied and
> > I can't.
> > 
> > > [...]
> > > This abort is the `default` case in the switch at xl_cmdimpl.c:736, 
> > > which gets triggered from an erroneous b_info->type with a bogus value 
> > > of 0x84 (which is neither PV nor HVM.)
> > 
> > I think it might be useful to sprinkle prints of b_info->type everywhere
> > from the call to libxl_domain_build_info_init_type up until this switch
> > statement to see if you can identify the line which is overwriting this
> > field. I couldn't spot it by eye but something in there is presumably
> > blowing off the end of a buffer or something similar.
> > 
> > You should probably also validate the initial value, which comes from
> > c_info->type, and if that is wrong trace it back to the place which sets
> > that initial value.
> 
> Running 'make install' after various attempts seems to have done it. 
> 
> I was all along under the impression that the dynamic linker would 
> pick the libxenlight in the current dir, which is why I hadn't run 
> 'make install' every so often, but did instead occasionally run 'make 
> clean all' Coming to think of it, if the DLD was to pick the library 
> from the current directory, a world of security bugs and pain would 
> ensue, but for some reason I kept expecting the behaviour to be that.

Yeah, "." is not normally in the default library lookup path for a
variety of security etc issues as you suspected.You can either use
LD_LIBRARY_PATH=stuff:other-stuff or just run make install.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:56:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRi5b-0007W9-1P; Tue, 08 May 2012 10:56:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dieter@bloms.de>) id 1SRi5Z-0007Vy-7D
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:56:18 +0000
Received: from [85.158.143.35:20656] by server-2.bemta-4.messagelabs.com id
	F9/A6-17550-0DBF8AF4; Tue, 08 May 2012 10:56:16 +0000
X-Env-Sender: dieter@bloms.de
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336474574!13223782!1
X-Originating-IP: [84.200.248.35]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30841 invoked from network); 8 May 2012 10:56:15 -0000
Received: from smtp.bloms.de (HELO smtp.bloms.de) (84.200.248.35)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 10:56:15 -0000
Received: from smtp.bloms.de (localhost [127.0.0.1])
	by smtp.bloms.de (Postfix) with ESMTP id 5A7C51C14021;
	Tue,  8 May 2012 12:56:13 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=bloms.de; h=date:from:to
	:cc:subject:message-id:references:mime-version:content-type
	:in-reply-to; s=selector1; bh=T0stLLKeRh87y2Xs7jtQARV4dec=; b=16
	43zPIh65ksXJSdXHc2OG+bc1DTfRHXLbBy8NyO0XEX/FZ6Hvz5ybPiCxdX6hUej6
	6Q9Obbr7uWRoqKCgoU/znWUPlLk/9a1eDhUiUOx82ZTUxTT+Jn+62QSdXmAJNaci
	wzOfKlIcGmZmibeGlG2vThfuxCYu4W3EamH8NBjeKzbytqfpvuQhMwqjrP9U/OOM
	Cy2ksvu2NUQpytyydkLOd3Qd28bbleNFKBkKc1b6LXrgZKPot5aKDfmSnRAUfKNJ
	ae3hkiuaPoLTwuG2zFeRdlY84df43yJXGuymzIinwiA0ATJB4yJ/PsbCJ4YPs7Zi
	2uOxMvBmh9XP12h4di/O2MtpmBJqoBkmC+wmgKJ7W9lhAzYPzustmPg+QQWxDwtY
	QoXia5XzslUqGUPM0mwP35PVWhOlgscnQETNFbGtsYtUNwyFBnDTI+4QyhUOwZLD
	5mhvhFWs7+1BbYu7JG6xo/KBw3CHsvPWMX49NWxiPPlSqZCGRdupt2htKPr078jf
	NZoyQdZmUsa3bB1hfgTCRGeNFMkIU4tc7EQ5o+9LfiC3ooIUtaplo8qJxi3JbNMR
	zJ1v7O05qd0VZo7Xiln3ULekxvY0J3pUZr/5qK3cHUYYUnOKVxgdJeJbvr66IeW/
	qpGjp5Rdb0BYCAenlLQ7AklJ/YB6oSDou1KaB0yQw=
Received: by smtp.bloms.de (Postfix, from userid 1000)
	id E19AD1C14022; Tue,  8 May 2012 12:56:12 +0200 (CEST)
Date: Tue, 8 May 2012 12:56:12 +0200
From: Dieter Bloms <dieter@bloms.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508105612.GA1341@bloms.de>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473938.14542.55.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336473938.14542.55.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Dario Faggioli <raistlin@linux.it>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] sched params spurious error message (Was: Re: 4.2
 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

On Tue, May 08, Ian Campbell wrote:

> On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
> >       * xl compatibility with xm:
> > [...]
> >               * [BUG] does not honour scheduler weight params, reported
> >                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
> >                 Dieter's patch has been accepted. (DONE, However see
> >                 next bug...)
> >               * [BUG] Spurious CPU params error message when starting a
> >                 domain, e.g. "Cpu weight out of range, valid values are
> >                 within range from 1 to 65535". This is an issue with
> >                 Dieter Bloms' patch to honour scheduler params.
> 
> Is anyone looking into this?

I've made a little patch to set this value to 256 when it wasn't defined
in the configfile, but George Dunlap didn't like it (rightly).
I'm sorry, my skill is not enough to implement a reasonable solution for
this issue :(
Maybe we should revert my patch as long as there isn't a fix.


-- 
Best regards

  Dieter

--
I do not get viruses because I do not use MS software.
If you use Outlook then please do not put my email address in your
address-book so that WHEN you get a virus it won't use my address in the
>From field.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 10:56:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 10:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRi5b-0007W9-1P; Tue, 08 May 2012 10:56:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dieter@bloms.de>) id 1SRi5Z-0007Vy-7D
	for xen-devel@lists.xen.org; Tue, 08 May 2012 10:56:18 +0000
Received: from [85.158.143.35:20656] by server-2.bemta-4.messagelabs.com id
	F9/A6-17550-0DBF8AF4; Tue, 08 May 2012 10:56:16 +0000
X-Env-Sender: dieter@bloms.de
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336474574!13223782!1
X-Originating-IP: [84.200.248.35]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30841 invoked from network); 8 May 2012 10:56:15 -0000
Received: from smtp.bloms.de (HELO smtp.bloms.de) (84.200.248.35)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 10:56:15 -0000
Received: from smtp.bloms.de (localhost [127.0.0.1])
	by smtp.bloms.de (Postfix) with ESMTP id 5A7C51C14021;
	Tue,  8 May 2012 12:56:13 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=bloms.de; h=date:from:to
	:cc:subject:message-id:references:mime-version:content-type
	:in-reply-to; s=selector1; bh=T0stLLKeRh87y2Xs7jtQARV4dec=; b=16
	43zPIh65ksXJSdXHc2OG+bc1DTfRHXLbBy8NyO0XEX/FZ6Hvz5ybPiCxdX6hUej6
	6Q9Obbr7uWRoqKCgoU/znWUPlLk/9a1eDhUiUOx82ZTUxTT+Jn+62QSdXmAJNaci
	wzOfKlIcGmZmibeGlG2vThfuxCYu4W3EamH8NBjeKzbytqfpvuQhMwqjrP9U/OOM
	Cy2ksvu2NUQpytyydkLOd3Qd28bbleNFKBkKc1b6LXrgZKPot5aKDfmSnRAUfKNJ
	ae3hkiuaPoLTwuG2zFeRdlY84df43yJXGuymzIinwiA0ATJB4yJ/PsbCJ4YPs7Zi
	2uOxMvBmh9XP12h4di/O2MtpmBJqoBkmC+wmgKJ7W9lhAzYPzustmPg+QQWxDwtY
	QoXia5XzslUqGUPM0mwP35PVWhOlgscnQETNFbGtsYtUNwyFBnDTI+4QyhUOwZLD
	5mhvhFWs7+1BbYu7JG6xo/KBw3CHsvPWMX49NWxiPPlSqZCGRdupt2htKPr078jf
	NZoyQdZmUsa3bB1hfgTCRGeNFMkIU4tc7EQ5o+9LfiC3ooIUtaplo8qJxi3JbNMR
	zJ1v7O05qd0VZo7Xiln3ULekxvY0J3pUZr/5qK3cHUYYUnOKVxgdJeJbvr66IeW/
	qpGjp5Rdb0BYCAenlLQ7AklJ/YB6oSDou1KaB0yQw=
Received: by smtp.bloms.de (Postfix, from userid 1000)
	id E19AD1C14022; Tue,  8 May 2012 12:56:12 +0200 (CEST)
Date: Tue, 8 May 2012 12:56:12 +0200
From: Dieter Bloms <dieter@bloms.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508105612.GA1341@bloms.de>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473938.14542.55.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336473938.14542.55.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Dario Faggioli <raistlin@linux.it>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] sched params spurious error message (Was: Re: 4.2
 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

On Tue, May 08, Ian Campbell wrote:

> On Tue, 2012-05-08 at 10:34 +0100, Ian Campbell wrote:
> >       * xl compatibility with xm:
> > [...]
> >               * [BUG] does not honour scheduler weight params, reported
> >                 by Dieter Bloms in <20120423193518.GA16134@bloms.de>,
> >                 Dieter's patch has been accepted. (DONE, However see
> >                 next bug...)
> >               * [BUG] Spurious CPU params error message when starting a
> >                 domain, e.g. "Cpu weight out of range, valid values are
> >                 within range from 1 to 65535". This is an issue with
> >                 Dieter Bloms' patch to honour scheduler params.
> 
> Is anyone looking into this?

I've made a little patch to set this value to 256 when it wasn't defined
in the configfile, but George Dunlap didn't like it (rightly).
I'm sorry, my skill is not enough to implement a reasonable solution for
this issue :(
Maybe we should revert my patch as long as there isn't a fix.


-- 
Best regards

  Dieter

--
I do not get viruses because I do not use MS software.
If you use Outlook then please do not put my email address in your
address-book so that WHEN you get a virus it won't use my address in the
>From field.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 11:13:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 11:13:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRiLZ-0007rx-Dn; Tue, 08 May 2012 11:12:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRiLY-0007rm-DE
	for xen-devel@lists.xen.org; Tue, 08 May 2012 11:12:48 +0000
Received: from [85.158.143.99:31048] by server-3.bemta-4.messagelabs.com id
	74/89-05853-FAFF8AF4; Tue, 08 May 2012 11:12:47 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336475566!19453147!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4386 invoked from network); 8 May 2012 11:12:46 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-11.tower-216.messagelabs.com with SMTP;
	8 May 2012 11:12:46 -0000
Received: (qmail 10088 invoked from network); 8 May 2012 13:12:44 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	8 May 2012 13:12:44 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Tue, 8 May 2012 13:12:39 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
	<0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
	<20120507230707.GA28744@phenom.dumpdata.com>
In-Reply-To: <20120507230707.GA28744@phenom.dumpdata.com>
MIME-Version: 1.0
Message-Id: <201205081312.39927.pavel@netsafe.cz>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue 8. of May 2012 01:07:07 Konrad Rzeszutek Wilk wrote:
> On Tue, May 08, 2012 at 01:10:32AM +0200, Pavel Mateja wrote:
> > > On Mon, May 07, 2012 at 01:45:23PM +0200, Pavel Mat=C4=9Bja wrote:
> > >> Hi,
> > >> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
> > >> kernel.
> > >> I already have working setup with ancient xen-devel 4.2 and 2.6.32.x
> > >> xenified
> > >> kernel. See attached log.
> > >> =

> > >> So I tried just to update and patch xen and kernel, but I had no luck
> > >> so far.
> > >> =

> > >> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang
> > >> recently.
> > >> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
> > >> =

> > >> I tried two kernels
> > >> testing-3.5-with-extra and xen/next-3.2 from
> > >> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> > >> and
> > >> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> > >> Both with ioperm opcode patch which is required by the ATI patch. See
> > >> attachement.
> > >> =

> > >> The xen/next-3.2 branch kernel was able to start booting windows.
> > >> With Catalyst driver installed I just saw bluescreen during Windows
> > >> boot.
> > >> Without Catalyst driver Windows were able to boot but Windows ended
> > >> frozen or
> > >> USB was not working. It was hard to tell because input devices had no
> > >> response
> > >> at all.
> > >> =

> > >> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0
> > >> kernel
> > >> during Windows boot. I guess I have to rework the io_bitmap patch
> > >> somehow.
> > > =

> > > When you say 'io_bitmap' patch are you referring to these ones:
> > > =

> > > 70a357d xen: implement IO permission bitmap
> > > 0c596c5 x86/paravirt: paravirtualize IO permission bitmap
> > > 93b7a2a x86: demacro set_iopl_mask()
> > > =

> > > ? I don't think those are in that tag. They are in the kitchensink -
> > > #testing
> > > - does it work with that branch?
> > > =

> > > The next-3.2 is a bit old. I should actually delete it.
> > =

> > Hi,
> > I mean this patch below.
> > I think it was originally here:
> > http://old-list-archives.xen.org/archives/html/xen-devel/2009-05/msg011=
39
> > .html Then I was told by you to use devel/ioperm branch which I think
> > doesn't exist anymore:
> > http://old-list-archives.xen.org/archives/html/xen-devel/2011-11/msg012=
13
> > .html
> =

> It certainly does :-)
> =

> > I'm too tired to test #testing branch now. I'll try it tomorrow after
> > some sleep.
> =

> OK, take your time.

Hi again!
I did first tests with xen-unstable and the #testing kernel.

Windows showed blue screen during boot with xm toolstack.

But I had luck with xl. Windows booted succesfully so I ran the experience =

index tests:
kernel:	2.6.32.57	#testing
CPU		7,4		7,4
RAM		7,4		5,5
Aero		7,1		7,1
Gr.card	7,1		7,1
Disk		7,3		7,5
I tried to run some games as well but the feeling is much worse compared to =

older configuration. Like lags..

Are there some older branches which are supposed to work?

I tried xen-4.1.3-rc1 with #testing kernel but it just freezes after while =

even with Dom0 running. Only sys-rq worked.

I have second slightly newer system too so I'll retest that one later.
-- =

Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 11:13:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 11:13:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRiLZ-0007rx-Dn; Tue, 08 May 2012 11:12:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SRiLY-0007rm-DE
	for xen-devel@lists.xen.org; Tue, 08 May 2012 11:12:48 +0000
Received: from [85.158.143.99:31048] by server-3.bemta-4.messagelabs.com id
	74/89-05853-FAFF8AF4; Tue, 08 May 2012 11:12:47 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336475566!19453147!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4386 invoked from network); 8 May 2012 11:12:46 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-11.tower-216.messagelabs.com with SMTP;
	8 May 2012 11:12:46 -0000
Received: (qmail 10088 invoked from network); 8 May 2012 13:12:44 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	8 May 2012 13:12:44 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Tue, 8 May 2012 13:12:39 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
	<0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
	<20120507230707.GA28744@phenom.dumpdata.com>
In-Reply-To: <20120507230707.GA28744@phenom.dumpdata.com>
MIME-Version: 1.0
Message-Id: <201205081312.39927.pavel@netsafe.cz>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue 8. of May 2012 01:07:07 Konrad Rzeszutek Wilk wrote:
> On Tue, May 08, 2012 at 01:10:32AM +0200, Pavel Mateja wrote:
> > > On Mon, May 07, 2012 at 01:45:23PM +0200, Pavel Mat=C4=9Bja wrote:
> > >> Hi,
> > >> I'm trying to run AMD VGA passthru on latest XEN unstable with latest
> > >> kernel.
> > >> I already have working setup with ancient xen-devel 4.2 and 2.6.32.x
> > >> xenified
> > >> kernel. See attached log.
> > >> =

> > >> So I tried just to update and patch xen and kernel, but I had no luck
> > >> so far.
> > >> =

> > >> Xen has ati_vbios_patch_respin.txt sent to xen-devel by Wei Huang
> > >> recently.
> > >> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00291.html
> > >> =

> > >> I tried two kernels
> > >> testing-3.5-with-extra and xen/next-3.2 from
> > >> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> > >> and
> > >> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> > >> Both with ioperm opcode patch which is required by the ATI patch. See
> > >> attachement.
> > >> =

> > >> The xen/next-3.2 branch kernel was able to start booting windows.
> > >> With Catalyst driver installed I just saw bluescreen during Windows
> > >> boot.
> > >> Without Catalyst driver Windows were able to boot but Windows ended
> > >> frozen or
> > >> USB was not working. It was hard to tell because input devices had no
> > >> response
> > >> at all.
> > >> =

> > >> The testing-3.5-with-extra (reported as 3.4.0-rc4) just crashed dom0
> > >> kernel
> > >> during Windows boot. I guess I have to rework the io_bitmap patch
> > >> somehow.
> > > =

> > > When you say 'io_bitmap' patch are you referring to these ones:
> > > =

> > > 70a357d xen: implement IO permission bitmap
> > > 0c596c5 x86/paravirt: paravirtualize IO permission bitmap
> > > 93b7a2a x86: demacro set_iopl_mask()
> > > =

> > > ? I don't think those are in that tag. They are in the kitchensink -
> > > #testing
> > > - does it work with that branch?
> > > =

> > > The next-3.2 is a bit old. I should actually delete it.
> > =

> > Hi,
> > I mean this patch below.
> > I think it was originally here:
> > http://old-list-archives.xen.org/archives/html/xen-devel/2009-05/msg011=
39
> > .html Then I was told by you to use devel/ioperm branch which I think
> > doesn't exist anymore:
> > http://old-list-archives.xen.org/archives/html/xen-devel/2011-11/msg012=
13
> > .html
> =

> It certainly does :-)
> =

> > I'm too tired to test #testing branch now. I'll try it tomorrow after
> > some sleep.
> =

> OK, take your time.

Hi again!
I did first tests with xen-unstable and the #testing kernel.

Windows showed blue screen during boot with xm toolstack.

But I had luck with xl. Windows booted succesfully so I ran the experience =

index tests:
kernel:	2.6.32.57	#testing
CPU		7,4		7,4
RAM		7,4		5,5
Aero		7,1		7,1
Gr.card	7,1		7,1
Disk		7,3		7,5
I tried to run some games as well but the feeling is much worse compared to =

older configuration. Like lags..

Are there some older branches which are supposed to work?

I tried xen-4.1.3-rc1 with #testing kernel but it just freezes after while =

even with Dom0 running. Only sys-rq worked.

I have second slightly newer system too so I'll retest that one later.
-- =

Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:36:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:36:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRje7-0000nF-1q; Tue, 08 May 2012 12:36:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SRje6-0000n9-30
	for xen-devel@lists.xen.org; Tue, 08 May 2012 12:36:02 +0000
Received: from [85.158.143.35:65467] by server-2.bemta-4.messagelabs.com id
	2E/42-17550-13319AF4; Tue, 08 May 2012 12:36:01 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336480558!11957567!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12268 invoked from network); 8 May 2012 12:36:00 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:36:00 -0000
Received: by qcsc20 with SMTP id c20so2365904qcs.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 05:35:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=yItEtelLX0GKbTY7+V0BGNkzY+uwkyGd3Urgw0def+k=;
	b=fZVTZHla0AZ08zQAlc2ovygvNF8VUPsYSwwahb7zO4MbyDBIog6aMmHKsP/h0TPQgz
	mUL2yxrKmlHvju+WsG/GGftIwX7KxcX4Qfn9AvUyxfqI8JQPcbsjPPpbTF6VsL6NCQc4
	99s+ClJK2l2fpd4V2dn0VpZAV04uTEPlw3RnkrBgbgoyAx1DXjfvTRlsqBIwaJxxd1MN
	pAmlv7LP8FG0c5BJ6yO7PTT9dFhBVZfVNYf+qGzNya8uO1Zi6M2i+U2OVUV7i++tJFki
	1+tD8QbTs+G/LwTMW7VNz9UR5DP3xFADglw9kpqEWEAyeVIUMHzrTiSsdQX4usWbLMyl
	ZgoQ==
MIME-Version: 1.0
Received: by 10.224.1.68 with SMTP id 4mr31063142qae.6.1336480558495; Tue, 08
	May 2012 05:35:58 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 8 May 2012 05:35:58 -0700 (PDT)
In-Reply-To: <20120508105612.GA1341@bloms.de>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473938.14542.55.camel@zakaz.uk.xensource.com>
	<20120508105612.GA1341@bloms.de>
Date: Tue, 8 May 2012 13:35:58 +0100
X-Google-Sender-Auth: 4UU3cZca36nhHt6BWHcRsVA_S1s
Message-ID: <CAFLBxZaBhy0Sa5hFMUiCGYBYLzgz8HoBv9FQxVGha_8ABcrzxg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Dieter Bloms <dieter@bloms.de>
Cc: Dario Faggioli <raistlin@linux.it>, Ian Campbell <Ian.Campbell@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] sched params spurious error message (Was: Re: 4.2
 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 8, 2012 at 11:56 AM, Dieter Bloms <dieter@bloms.de> wrote:
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 * [BUG] Spurious CPU params error message =
when starting a
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 domain, e.g. "Cpu weight out of range,=
 valid values are
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 within range from 1 to 65535". This is=
 an issue with
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Dieter Bloms' patch to honour schedule=
r params.
>>
>> Is anyone looking into this?
>
> I've made a little patch to set this value to 256 when it wasn't defined
> in the configfile, but George Dunlap didn't like it (rightly).
> I'm sorry, my skill is not enough to implement a reasonable solution for
> this issue :(
> Maybe we should revert my patch as long as there isn't a fix.

No, I think having the ability to set it is important.  You can mark
this "George will do it if no one else steps up". :-)

Thanks for your help, Dieter.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:36:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:36:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRje7-0000nF-1q; Tue, 08 May 2012 12:36:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SRje6-0000n9-30
	for xen-devel@lists.xen.org; Tue, 08 May 2012 12:36:02 +0000
Received: from [85.158.143.35:65467] by server-2.bemta-4.messagelabs.com id
	2E/42-17550-13319AF4; Tue, 08 May 2012 12:36:01 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336480558!11957567!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12268 invoked from network); 8 May 2012 12:36:00 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:36:00 -0000
Received: by qcsc20 with SMTP id c20so2365904qcs.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 05:35:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=yItEtelLX0GKbTY7+V0BGNkzY+uwkyGd3Urgw0def+k=;
	b=fZVTZHla0AZ08zQAlc2ovygvNF8VUPsYSwwahb7zO4MbyDBIog6aMmHKsP/h0TPQgz
	mUL2yxrKmlHvju+WsG/GGftIwX7KxcX4Qfn9AvUyxfqI8JQPcbsjPPpbTF6VsL6NCQc4
	99s+ClJK2l2fpd4V2dn0VpZAV04uTEPlw3RnkrBgbgoyAx1DXjfvTRlsqBIwaJxxd1MN
	pAmlv7LP8FG0c5BJ6yO7PTT9dFhBVZfVNYf+qGzNya8uO1Zi6M2i+U2OVUV7i++tJFki
	1+tD8QbTs+G/LwTMW7VNz9UR5DP3xFADglw9kpqEWEAyeVIUMHzrTiSsdQX4usWbLMyl
	ZgoQ==
MIME-Version: 1.0
Received: by 10.224.1.68 with SMTP id 4mr31063142qae.6.1336480558495; Tue, 08
	May 2012 05:35:58 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 8 May 2012 05:35:58 -0700 (PDT)
In-Reply-To: <20120508105612.GA1341@bloms.de>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473938.14542.55.camel@zakaz.uk.xensource.com>
	<20120508105612.GA1341@bloms.de>
Date: Tue, 8 May 2012 13:35:58 +0100
X-Google-Sender-Auth: 4UU3cZca36nhHt6BWHcRsVA_S1s
Message-ID: <CAFLBxZaBhy0Sa5hFMUiCGYBYLzgz8HoBv9FQxVGha_8ABcrzxg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Dieter Bloms <dieter@bloms.de>
Cc: Dario Faggioli <raistlin@linux.it>, Ian Campbell <Ian.Campbell@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] sched params spurious error message (Was: Re: 4.2
 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 8, 2012 at 11:56 AM, Dieter Bloms <dieter@bloms.de> wrote:
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 * [BUG] Spurious CPU params error message =
when starting a
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 domain, e.g. "Cpu weight out of range,=
 valid values are
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 within range from 1 to 65535". This is=
 an issue with
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Dieter Bloms' patch to honour schedule=
r params.
>>
>> Is anyone looking into this?
>
> I've made a little patch to set this value to 256 when it wasn't defined
> in the configfile, but George Dunlap didn't like it (rightly).
> I'm sorry, my skill is not enough to implement a reasonable solution for
> this issue :(
> Maybe we should revert my patch as long as there isn't a fix.

No, I think having the ability to set it is important.  You can mark
this "George will do it if no one else steps up". :-)

Thanks for your help, Dieter.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:38:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:38:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjfb-0000sP-HE; Tue, 08 May 2012 12:37:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SRjfa-0000sI-Bv
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:37:34 +0000
Received: from [193.109.254.147:13695] by server-5.bemta-14.messagelabs.com id
	73/40-30733-D8319AF4; Tue, 08 May 2012 12:37:33 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336480652!8175374!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30707 invoked from network); 8 May 2012 12:37:33 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:37:33 -0000
Received: by qady23 with SMTP id y23so568297qad.7
	for <xen-devel@lists.xensource.com>;
	Tue, 08 May 2012 05:37:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=u8lc3pinpSYEM3xC6aAHttnYaZ36DAbfm/nQYID5MMg=;
	b=thcPtgISdb7IFG2SEq2tjFcDmjDPBBY1tfy5pYO6b6y6PiJI3bh0ikKjruc6XVuM3S
	EgwT8/6m3opy8venR5WgYJZ1UdgMpF4T+OD0sFdq380KRAB81UWSNSkb7NgweL3rM9Yk
	3Gg1MV7C1mcjibh8zARr7qCCj+Mcz+GJVNivAuW9Ac9EgJDgdkaSZHZj3f0DfxDuhP1V
	QvwKGZ6UAL6G2ALlMl70ZMh3I8B7t+4kE5FG5qJsyq59cfLHNtUMp4QF8OIS2tuiRJQn
	POu8n62LEJBczubg6lhAEJ+8qcuJ1pyorI0UY5oPqckbbgmi/51pyaPI0gaKIXVfNkic
	TfFQ==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr12000814qab.1.1336480651740; Tue,
	08 May 2012 05:37:31 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 8 May 2012 05:37:31 -0700 (PDT)
In-Reply-To: <1336474514.14542.64.camel@zakaz.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
	<1336296147.5933.5.camel@cthulhu.hellion.org.uk>
	<20120506212337.GA15262@eire.uk.xensource.com>
	<1336474514.14542.64.camel@zakaz.uk.xensource.com>
Date: Tue, 8 May 2012 13:37:31 +0100
X-Google-Sender-Auth: ZUijo1fhY0s5LbaGfRYftChiBo0
Message-ID: <CAFLBxZb8xOmR0RkSVTOgGoYhmSZBoioRZcd16N_2rCQpR60Bqg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Goncalo Gomes <Goncalo.Gomes@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 8, 2012 at 11:55 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> Yeah, "." is not normally in the default library lookup path for a
> variety of security etc issues as you suspected.You can either use
> LD_LIBRARY_PATH=stuff:other-stuff or just run make install.

...or if you're on a .deb-based system, "make deb && dpkg -i
dist/xen-*.deb".  That makes a nice easy way to un-install as well.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:38:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:38:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjfb-0000sP-HE; Tue, 08 May 2012 12:37:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SRjfa-0000sI-Bv
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:37:34 +0000
Received: from [193.109.254.147:13695] by server-5.bemta-14.messagelabs.com id
	73/40-30733-D8319AF4; Tue, 08 May 2012 12:37:33 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336480652!8175374!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30707 invoked from network); 8 May 2012 12:37:33 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:37:33 -0000
Received: by qady23 with SMTP id y23so568297qad.7
	for <xen-devel@lists.xensource.com>;
	Tue, 08 May 2012 05:37:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=u8lc3pinpSYEM3xC6aAHttnYaZ36DAbfm/nQYID5MMg=;
	b=thcPtgISdb7IFG2SEq2tjFcDmjDPBBY1tfy5pYO6b6y6PiJI3bh0ikKjruc6XVuM3S
	EgwT8/6m3opy8venR5WgYJZ1UdgMpF4T+OD0sFdq380KRAB81UWSNSkb7NgweL3rM9Yk
	3Gg1MV7C1mcjibh8zARr7qCCj+Mcz+GJVNivAuW9Ac9EgJDgdkaSZHZj3f0DfxDuhP1V
	QvwKGZ6UAL6G2ALlMl70ZMh3I8B7t+4kE5FG5qJsyq59cfLHNtUMp4QF8OIS2tuiRJQn
	POu8n62LEJBczubg6lhAEJ+8qcuJ1pyorI0UY5oPqckbbgmi/51pyaPI0gaKIXVfNkic
	TfFQ==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr12000814qab.1.1336480651740; Tue,
	08 May 2012 05:37:31 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 8 May 2012 05:37:31 -0700 (PDT)
In-Reply-To: <1336474514.14542.64.camel@zakaz.uk.xensource.com>
References: <20120505231926.GA8059@eire.uk.xensource.com>
	<1336296147.5933.5.camel@cthulhu.hellion.org.uk>
	<20120506212337.GA15262@eire.uk.xensource.com>
	<1336474514.14542.64.camel@zakaz.uk.xensource.com>
Date: Tue, 8 May 2012 13:37:31 +0100
X-Google-Sender-Auth: ZUijo1fhY0s5LbaGfRYftChiBo0
Message-ID: <CAFLBxZb8xOmR0RkSVTOgGoYhmSZBoioRZcd16N_2rCQpR60Bqg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Goncalo Gomes <Goncalo.Gomes@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] libxl parser question
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 8, 2012 at 11:55 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> Yeah, "." is not normally in the default library lookup path for a
> variety of security etc issues as you suspected.You can either use
> LD_LIBRARY_PATH=stuff:other-stuff or just run make install.

...or if you're on a .deb-based system, "make deb && dpkg -i
dist/xen-*.deb".  That makes a nice easy way to un-install as well.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:38:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjgL-0000wP-Ur; Tue, 08 May 2012 12:38:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjgK-0000wC-9M
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:38:20 +0000
Received: from [85.158.138.51:58752] by server-10.bemta-3.messagelabs.com id
	2D/A4-29478-BB319AF4; Tue, 08 May 2012 12:38:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336480698!14895673!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5817 invoked from network); 8 May 2012 12:38:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:38:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354676"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:38:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:38:14 +0100
Message-ID: <1336480693.14542.71.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 13:38:13 +0100
In-Reply-To: <1336399932385-5691153.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 15:12 +0100, Fantu wrote:
> Dom0:
> Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
> 3.2.15-1, package blktap-dkms and all dependency packages for xen, spice and
> usb redirection.
> -------------------------
> /etc/modules
> ------------
> loop max_loop=64
> xenfs
> xen-evtchn
> blktap
> -------------------------
> hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
> 25259:0f53540494f7)
> vi Makefile # removed dist-kernel to not compile kernel

This should not be necessary at all. No kernel will be built, if you are
seeing kernels getting built in the default configuration then please
let me know.

> vi Config.mk # test seabios unstable

I don't think this will have any impact on any of the issues you relate
below. But also note that results with SeaBIOS other than the one
referenced by the tree would not be considered problems for Xen 4.2.

> PYTHON_PREFIX_ARG =
> QEMU_UPSTREAM_URL ?= git://git.qemu.org/qemu.git #commit
> 8f473dd104f0937ce98523fa6f9de0bd845aebbe
> SEABIOS_UPSTREAM_URL ?= git://git.seabios.org/seabios.git #commit
> 74f96123e7e37c219403b50e39dabc8e8c450948
> SEABIOS_UPSTREAM_TAG ?= master
> -------------------------
> Added some patches:
> - autoconf: add variable for pass arbitrary options to qemu upstream v3
> - tools: Improve make deb
> -------------------------
> ./configure --enable-qemuu-spice --enable-qemuu-usbredir
> --enable-qemuu-debug
> -------------------------
> make deb
> 
> -------------------------
> Recent regression:
> -------------
> - CRITICAL - PV domU unable to start:
> With pygrub:
> xl create /etc/xen/lucid.cfg
> Parsing config file /etc/xen/lucid.cfg
> libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
> -3
> With pv-grub:
> xl create /etc/xen/lucid.cfg
> Parsing config file /etc/xen/lucid.cfg
> xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
> kernel is not a bzImage: Invalid kernel
> Daemon running with PID 6136
> Same error also with other linux pv domU.

When we went through this on you last posting this seemed to be related
to the python path stuff on Ubuntu/Debian. However you don't mention
tweaking that in your setup -- are you sure you have corrected this
issue?

If this isn't the issue then please can you provide (separately) full
logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.

> -------------------------
> 
> -------------------------
> Old issue:
> - Save/restore not working with qemu-xen

This is expected -- this support is not yet added to the tree.

> -------------
> - Unable to get QXL vga working correctly and with full videoram

I think we have now established that this is not currently a feature of
Xen. If you or Zhou Peng are interested in doing the development work
for then this is something we would likely accept as a new feature for
Xen 4.3. It's not 4.2 material though.

> -------------
> - On hvm domU start, domU work also this output on xl create:
> libxl: error: libxl.c:3115:libxl_sched_credit_domain_set: Cpu weight out of
> range, valid values are within range from 1 to 65535

I have added this one to the TODO list as a bug, hopefully someone is
looking into it.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:38:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjgL-0000wP-Ur; Tue, 08 May 2012 12:38:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjgK-0000wC-9M
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:38:20 +0000
Received: from [85.158.138.51:58752] by server-10.bemta-3.messagelabs.com id
	2D/A4-29478-BB319AF4; Tue, 08 May 2012 12:38:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336480698!14895673!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5817 invoked from network); 8 May 2012 12:38:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:38:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354676"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:38:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:38:14 +0100
Message-ID: <1336480693.14542.71.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 13:38:13 +0100
In-Reply-To: <1336399932385-5691153.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 15:12 +0100, Fantu wrote:
> Dom0:
> Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
> 3.2.15-1, package blktap-dkms and all dependency packages for xen, spice and
> usb redirection.
> -------------------------
> /etc/modules
> ------------
> loop max_loop=64
> xenfs
> xen-evtchn
> blktap
> -------------------------
> hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
> 25259:0f53540494f7)
> vi Makefile # removed dist-kernel to not compile kernel

This should not be necessary at all. No kernel will be built, if you are
seeing kernels getting built in the default configuration then please
let me know.

> vi Config.mk # test seabios unstable

I don't think this will have any impact on any of the issues you relate
below. But also note that results with SeaBIOS other than the one
referenced by the tree would not be considered problems for Xen 4.2.

> PYTHON_PREFIX_ARG =
> QEMU_UPSTREAM_URL ?= git://git.qemu.org/qemu.git #commit
> 8f473dd104f0937ce98523fa6f9de0bd845aebbe
> SEABIOS_UPSTREAM_URL ?= git://git.seabios.org/seabios.git #commit
> 74f96123e7e37c219403b50e39dabc8e8c450948
> SEABIOS_UPSTREAM_TAG ?= master
> -------------------------
> Added some patches:
> - autoconf: add variable for pass arbitrary options to qemu upstream v3
> - tools: Improve make deb
> -------------------------
> ./configure --enable-qemuu-spice --enable-qemuu-usbredir
> --enable-qemuu-debug
> -------------------------
> make deb
> 
> -------------------------
> Recent regression:
> -------------
> - CRITICAL - PV domU unable to start:
> With pygrub:
> xl create /etc/xen/lucid.cfg
> Parsing config file /etc/xen/lucid.cfg
> libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
> -3
> With pv-grub:
> xl create /etc/xen/lucid.cfg
> Parsing config file /etc/xen/lucid.cfg
> xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
> kernel is not a bzImage: Invalid kernel
> Daemon running with PID 6136
> Same error also with other linux pv domU.

When we went through this on you last posting this seemed to be related
to the python path stuff on Ubuntu/Debian. However you don't mention
tweaking that in your setup -- are you sure you have corrected this
issue?

If this isn't the issue then please can you provide (separately) full
logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.

> -------------------------
> 
> -------------------------
> Old issue:
> - Save/restore not working with qemu-xen

This is expected -- this support is not yet added to the tree.

> -------------
> - Unable to get QXL vga working correctly and with full videoram

I think we have now established that this is not currently a feature of
Xen. If you or Zhou Peng are interested in doing the development work
for then this is something we would likely accept as a new feature for
Xen 4.3. It's not 4.2 material though.

> -------------
> - On hvm domU start, domU work also this output on xl create:
> libxl: error: libxl.c:3115:libxl_sched_credit_domain_set: Cpu weight out of
> range, valid values are within range from 1 to 65535

I have added this one to the TODO list as a bug, hopefully someone is
looking into it.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:39:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:39:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjhQ-00013X-D1; Tue, 08 May 2012 12:39:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjhP-00013E-6G
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:39:27 +0000
Received: from [85.158.139.83:23831] by server-2.bemta-5.messagelabs.com id
	BC/EB-17016-EF319AF4; Tue, 08 May 2012 12:39:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336480764!20052391!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8131 invoked from network); 8 May 2012 12:39:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:39:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354707"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:39:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:39:23 +0100
Message-ID: <1336480761.14542.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Tue, 8 May 2012 13:39:21 +0100
In-Reply-To: <aa4a499106c37c60f955.1336406051@probook.site>
References: <aa4a499106c37c60f955.1336406051@probook.site>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: fix typo in opengl section
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 16:54 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336406048 -7200
> # Node ID aa4a499106c37c60f955662da81000db559ab5be
> # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
> xl.cfg: fix typo in opengl section
> 
> Add missing i to qemu-xen-traditonal
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 0f53540494f7 -r aa4a499106c3 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -278,7 +278,7 @@ Simple DirectMedia Layer). The default i
>  =item C<opengl=BOOLEAN>
>  
>  Enable OpenGL acceleration of the SDL display. Only effects machines
> -using C<device_model_version="qemu-xen-traditonal"> and only if the
> +using C<device_model_version="qemu-xen-traditional"> and only if the
>  device-model was compiled with OpenGL support. Disabled by default.
>  
>  =item C<keymap="LANG">
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:39:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:39:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjhQ-00013X-D1; Tue, 08 May 2012 12:39:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjhP-00013E-6G
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:39:27 +0000
Received: from [85.158.139.83:23831] by server-2.bemta-5.messagelabs.com id
	BC/EB-17016-EF319AF4; Tue, 08 May 2012 12:39:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336480764!20052391!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8131 invoked from network); 8 May 2012 12:39:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:39:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354707"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:39:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:39:23 +0100
Message-ID: <1336480761.14542.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Tue, 8 May 2012 13:39:21 +0100
In-Reply-To: <aa4a499106c37c60f955.1336406051@probook.site>
References: <aa4a499106c37c60f955.1336406051@probook.site>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: fix typo in opengl section
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 16:54 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336406048 -7200
> # Node ID aa4a499106c37c60f955662da81000db559ab5be
> # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
> xl.cfg: fix typo in opengl section
> 
> Add missing i to qemu-xen-traditonal
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 0f53540494f7 -r aa4a499106c3 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -278,7 +278,7 @@ Simple DirectMedia Layer). The default i
>  =item C<opengl=BOOLEAN>
>  
>  Enable OpenGL acceleration of the SDL display. Only effects machines
> -using C<device_model_version="qemu-xen-traditonal"> and only if the
> +using C<device_model_version="qemu-xen-traditional"> and only if the
>  device-model was compiled with OpenGL support. Disabled by default.
>  
>  =item C<keymap="LANG">
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:41:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:41:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjj8-0001GG-15; Tue, 08 May 2012 12:41:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjj7-0001Fq-24
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:41:13 +0000
Received: from [85.158.138.51:50649] by server-9.bemta-3.messagelabs.com id
	44/69-26691-86419AF4; Tue, 08 May 2012 12:41:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336480871!14896385!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18618 invoked from network); 8 May 2012 12:41:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:41:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354749"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:41:11 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:41:11 +0100
Message-ID: <1336480869.14542.74.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Date: Tue, 8 May 2012 13:41:09 +0100
In-Reply-To: <aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
	<aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 17:37 +0100, Dan Magenheimer wrote:
> > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > Sent: Sunday, May 06, 2012 3:36 AM
> > To: Olaf Hering
> > Cc: xen-devel@lists.xensource.com; Konrad Rzeszutek Wilk
> > Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> > 
> > On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> > >
> > > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > > # HG changeset patch
> > > > > # User Olaf Hering <olaf@aepfle.de>
> > > > > # Date 1336159720 -7200
> > > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > > xl.cfg: document the maxmem= option
> > > > >
> > > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > > >
> > > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > > --- a/docs/man/xl.cfg.pod.5
> > > > > +++ b/docs/man/xl.cfg.pod.5
> > > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > > >  mode) and your guest workload consists of a a very large number of
> > > > >  similar processes then increasing this value may improve performance.
> > > > >
> > > > > +=item B<maxmem=MBYTES>
> > > > > +
> > > > > +Specifies the maximum amount of memory the HVM guest can ever see.
> 
> can _ever_ see...
> 
> What about guest OS's that support hotplug memory?

Does the toolstack (need to) expose the capability to drive that as a
host admin? I don't think xl does... In which case this wording can be
tweaked when that feature is added?

> Also, a subtle point, but is this the maximum physical address that
> will contain read/write pages or the maximum amount of RAM that the
> guest OS should be prepared to map as read/writeable (e.g. after
> subtracting off reserved e820 ranges) or ???

I think it is total number of memory pages, not the maximum PFN. e.g.
the maximum address might be 4.5GB on a 4GB machine with a PCI hole.

I *think*...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:41:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:41:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjj8-0001GG-15; Tue, 08 May 2012 12:41:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjj7-0001Fq-24
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:41:13 +0000
Received: from [85.158.138.51:50649] by server-9.bemta-3.messagelabs.com id
	44/69-26691-86419AF4; Tue, 08 May 2012 12:41:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336480871!14896385!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18618 invoked from network); 8 May 2012 12:41:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:41:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354749"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:41:11 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:41:11 +0100
Message-ID: <1336480869.14542.74.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Date: Tue, 8 May 2012 13:41:09 +0100
In-Reply-To: <aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
	<aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-07 at 17:37 +0100, Dan Magenheimer wrote:
> > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > Sent: Sunday, May 06, 2012 3:36 AM
> > To: Olaf Hering
> > Cc: xen-devel@lists.xensource.com; Konrad Rzeszutek Wilk
> > Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> > 
> > On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> > >
> > > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > > # HG changeset patch
> > > > > # User Olaf Hering <olaf@aepfle.de>
> > > > > # Date 1336159720 -7200
> > > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > > xl.cfg: document the maxmem= option
> > > > >
> > > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > > >
> > > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > > --- a/docs/man/xl.cfg.pod.5
> > > > > +++ b/docs/man/xl.cfg.pod.5
> > > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > > >  mode) and your guest workload consists of a a very large number of
> > > > >  similar processes then increasing this value may improve performance.
> > > > >
> > > > > +=item B<maxmem=MBYTES>
> > > > > +
> > > > > +Specifies the maximum amount of memory the HVM guest can ever see.
> 
> can _ever_ see...
> 
> What about guest OS's that support hotplug memory?

Does the toolstack (need to) expose the capability to drive that as a
host admin? I don't think xl does... In which case this wording can be
tweaked when that feature is added?

> Also, a subtle point, but is this the maximum physical address that
> will contain read/write pages or the maximum amount of RAM that the
> guest OS should be prepared to map as read/writeable (e.g. after
> subtracting off reserved e820 ranges) or ???

I think it is total number of memory pages, not the maximum PFN. e.g.
the maximum address might be 4.5GB on a 4GB machine with a PCI hole.

I *think*...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:45:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjmi-0001ak-LE; Tue, 08 May 2012 12:44:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@gmail.com>) id 1SRjmg-0001aR-I2
	for xen-devel@lists.xen.org; Tue, 08 May 2012 12:44:54 +0000
Received: from [85.158.138.51:51467] by server-11.bemta-3.messagelabs.com id
	9A/02-18894-54519AF4; Tue, 08 May 2012 12:44:53 +0000
X-Env-Sender: rshriram@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336481091!16956656!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=MIME_QP_LONG_LINE,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16812 invoked from network); 8 May 2012 12:44:53 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:44:53 -0000
Received: by yenm4 with SMTP id m4so3024693yen.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 05:44:51 -0700 (PDT)
Received: by 10.50.157.138 with SMTP id wm10mr5562705igb.65.1336481091407;
	Tue, 08 May 2012 05:44:51 -0700 (PDT)
Received: from [192.168.2.2] (c-24-14-60-133.hsd1.il.comcast.net.
	[24.14.60.133])
	by mx.google.com with ESMTPS id ew6sm8436826igc.6.2012.05.08.05.44.48
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 08 May 2012 05:44:49 -0700 (PDT)
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336474322.14542.61.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0 (1.0)
Message-Id: <A13B69A8-9F5A-403A-A85D-1AAD07D1A2D7@cs.ubc.ca>
X-Mailer: iPhone Mail (9B176)
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Tue, 8 May 2012 07:45:47 -0500
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	IanJackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
	Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMjAxMi0wNS0wOCwgYXQgNTo1MiBBTSwgSWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJlbGxAY2l0
cml4LmNvbT4gd3JvdGU6Cgo+IFdoZXJlIGFyZSB3ZSB3aXRoIHRoZSBmb2xsb3dpbmc/Cj4gCj4g
SSd2ZSBub3Qgc2VlbiBhbnl0aGluZyByZWNlbnRseSBhYm91dCBQQ0kgcGFzc3Rocm91Z2guCj4g
Cj4gSXMgaXQgc3RpbGwgdGhlIGNhc2UgdGhhdCBzYXZlL3Jlc3RvcmUgaXMgd2FpdGluZyBvbiBs
aWJ7YyxsfSBwYXRjaGVzCj4gYW5kIFJlbXVzIGlzIHdhaXRpbmcgZm9yIHRob3NlPyBXaGF0J3Mg
dGhlIGhvbGQgdXAgdGhlcmU/CgpUaGUgbGFzdCBJIHJlbWVtYmVyLCBTdGVmYW5vIHJlcG9zdGVk
IHRoZSBwYXRjaGVzIGZvciB0aGUgTnRoIHRpbWUgCmJ1dCB1bmZvcnR1bmF0ZWx5IGZvcmdvdCB0
byBhZGQgdGhlIGFja2VkLWJ5IGZyb20gc29tZW9uZS4KCkkgc3RvcHBlZCByZXBvc3RpbmcgbXkg
cGF0Y2hlcyBldmVyeSB0aW1lIFN0ZWZhbm8gcmVwb3N0ZWQgaGlzLCAKbGVzdCBJIHNwYW0gdGhl
IGxpc3QuCgpJIGFtIGp1c3Qgd2FpdGluZyBmb3IgaGlzIHBhdGNoZXMgdG8gZ28gaW4gYmVmb3Jl
IEkgcmViYXNlL3JlcG9zdCBtaW5lLgoKU2hyaXJhbQoKPiAKPiBPbiBUdWUsIDIwMTItMDUtMDgg
YXQgMTA6MzQgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4gdG9vbHMsIG5pY2UgdG8gaGF2
ZToKPj4gICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgo+PiAgICAgICAgICAg
ICAgKiBVcHN0cmVhbSBxZW11IFBDSSBwYXNzdGhyb3VnaCBzdXBwb3J0IChBbnRob255IFBlcmFy
ZCwKPj4gICAgICAgICAgICAgICAgcGF0Y2hlcyBzZW50KQo+PiAgICAgICAgICAgICAgKiBVcHN0
cmVhbSBxZW11IHNhdmUgcmVzdG9yZSAoQW50aG9ueSBQZXJhcmQsIFN0ZWZhbm8KPj4gICAgICAg
ICAgICAgICAgU3RhYmVsbGluaSwgcWVtdSBwYXRjaGVzIGFwcGxpZWQsIHdhaXRpbmcgZm9yIGxp
YnhsIGV0Ywo+PiAgICAgICAgICAgICAgICBzaWRlIHdoaWNoIGhhcyBiZWVuIHJlY2VudGx5IHJl
cG9zdGVkKQo+PiAgICAgICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAobWVtb3J5IGNo
ZWNrcG9pbnQsIGJsYWNraG9saW5nKQo+PiAgICAgICAgKFNocmlyYW0sIHdhaXRpbmcgb24gbGli
eGwgc2lkZSBvZiBxZW11IHVwc3RyZWFtIHNhdmUvcmVzdG9yZSkKPj4gICAgICAqIHhsIGNvbXBh
dGliaWxpdHkgd2l0aCB4bToKPj4gICAgICAgICAgICAgICogeGwgc3VwcG9ydCBmb3IgYXV0b3Nw
YXduaW5nIHZuY3ZpZXdlciAodm5jdmlld2VyPTEgb3IKPj4gICAgICAgICAgICAgICAgb3RoZXJ3
aXNlKSAoR29uY2FsbyBHb21lcywgbmV3IHZlcnNpb24gb2YgcGF0Y2ggcG9zdGVkCj4+ICAgICAg
ICAgICAgICAgIHJlY2VudGx5KQo+PiAgICAgICAgICAgICAgKiBzdXBwb3J0IGZvciB2aWYgInJh
dGUiIHBhcmFtZXRlciAoTWF0aGlldSBHYWduw6ksIGFsbCBub3cKPj4gICAgICAgICAgICAgICAg
YXBwbGllZCwgRE9ORSkKPj4gCj4+IFswXSBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9o
dG1sL3hlbi1kZXZlbC8yMDEyLTAzL21zZzAwODgzLmh0bWwKPj4gCj4+IAo+PiAKPj4gX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gWGVuLWRldmVsIG1h
aWxpbmcgbGlzdAo+PiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+PiBodHRwOi8vbGlzdHMueGVu
Lm9yZy94ZW4tZGV2ZWwKPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlz
dHMueGVuLm9yZwo+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz
dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Tue May 08 12:45:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjmi-0001ak-LE; Tue, 08 May 2012 12:44:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@gmail.com>) id 1SRjmg-0001aR-I2
	for xen-devel@lists.xen.org; Tue, 08 May 2012 12:44:54 +0000
Received: from [85.158.138.51:51467] by server-11.bemta-3.messagelabs.com id
	9A/02-18894-54519AF4; Tue, 08 May 2012 12:44:53 +0000
X-Env-Sender: rshriram@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336481091!16956656!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=MIME_QP_LONG_LINE,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16812 invoked from network); 8 May 2012 12:44:53 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:44:53 -0000
Received: by yenm4 with SMTP id m4so3024693yen.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 05:44:51 -0700 (PDT)
Received: by 10.50.157.138 with SMTP id wm10mr5562705igb.65.1336481091407;
	Tue, 08 May 2012 05:44:51 -0700 (PDT)
Received: from [192.168.2.2] (c-24-14-60-133.hsd1.il.comcast.net.
	[24.14.60.133])
	by mx.google.com with ESMTPS id ew6sm8436826igc.6.2012.05.08.05.44.48
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 08 May 2012 05:44:49 -0700 (PDT)
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336474322.14542.61.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0 (1.0)
Message-Id: <A13B69A8-9F5A-403A-A85D-1AAD07D1A2D7@cs.ubc.ca>
X-Mailer: iPhone Mail (9B176)
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Tue, 8 May 2012 07:45:47 -0500
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	IanJackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
	Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMjAxMi0wNS0wOCwgYXQgNTo1MiBBTSwgSWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJlbGxAY2l0
cml4LmNvbT4gd3JvdGU6Cgo+IFdoZXJlIGFyZSB3ZSB3aXRoIHRoZSBmb2xsb3dpbmc/Cj4gCj4g
SSd2ZSBub3Qgc2VlbiBhbnl0aGluZyByZWNlbnRseSBhYm91dCBQQ0kgcGFzc3Rocm91Z2guCj4g
Cj4gSXMgaXQgc3RpbGwgdGhlIGNhc2UgdGhhdCBzYXZlL3Jlc3RvcmUgaXMgd2FpdGluZyBvbiBs
aWJ7YyxsfSBwYXRjaGVzCj4gYW5kIFJlbXVzIGlzIHdhaXRpbmcgZm9yIHRob3NlPyBXaGF0J3Mg
dGhlIGhvbGQgdXAgdGhlcmU/CgpUaGUgbGFzdCBJIHJlbWVtYmVyLCBTdGVmYW5vIHJlcG9zdGVk
IHRoZSBwYXRjaGVzIGZvciB0aGUgTnRoIHRpbWUgCmJ1dCB1bmZvcnR1bmF0ZWx5IGZvcmdvdCB0
byBhZGQgdGhlIGFja2VkLWJ5IGZyb20gc29tZW9uZS4KCkkgc3RvcHBlZCByZXBvc3RpbmcgbXkg
cGF0Y2hlcyBldmVyeSB0aW1lIFN0ZWZhbm8gcmVwb3N0ZWQgaGlzLCAKbGVzdCBJIHNwYW0gdGhl
IGxpc3QuCgpJIGFtIGp1c3Qgd2FpdGluZyBmb3IgaGlzIHBhdGNoZXMgdG8gZ28gaW4gYmVmb3Jl
IEkgcmViYXNlL3JlcG9zdCBtaW5lLgoKU2hyaXJhbQoKPiAKPiBPbiBUdWUsIDIwMTItMDUtMDgg
YXQgMTA6MzQgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4gdG9vbHMsIG5pY2UgdG8gaGF2
ZToKPj4gICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgo+PiAgICAgICAgICAg
ICAgKiBVcHN0cmVhbSBxZW11IFBDSSBwYXNzdGhyb3VnaCBzdXBwb3J0IChBbnRob255IFBlcmFy
ZCwKPj4gICAgICAgICAgICAgICAgcGF0Y2hlcyBzZW50KQo+PiAgICAgICAgICAgICAgKiBVcHN0
cmVhbSBxZW11IHNhdmUgcmVzdG9yZSAoQW50aG9ueSBQZXJhcmQsIFN0ZWZhbm8KPj4gICAgICAg
ICAgICAgICAgU3RhYmVsbGluaSwgcWVtdSBwYXRjaGVzIGFwcGxpZWQsIHdhaXRpbmcgZm9yIGxp
YnhsIGV0Ywo+PiAgICAgICAgICAgICAgICBzaWRlIHdoaWNoIGhhcyBiZWVuIHJlY2VudGx5IHJl
cG9zdGVkKQo+PiAgICAgICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAobWVtb3J5IGNo
ZWNrcG9pbnQsIGJsYWNraG9saW5nKQo+PiAgICAgICAgKFNocmlyYW0sIHdhaXRpbmcgb24gbGli
eGwgc2lkZSBvZiBxZW11IHVwc3RyZWFtIHNhdmUvcmVzdG9yZSkKPj4gICAgICAqIHhsIGNvbXBh
dGliaWxpdHkgd2l0aCB4bToKPj4gICAgICAgICAgICAgICogeGwgc3VwcG9ydCBmb3IgYXV0b3Nw
YXduaW5nIHZuY3ZpZXdlciAodm5jdmlld2VyPTEgb3IKPj4gICAgICAgICAgICAgICAgb3RoZXJ3
aXNlKSAoR29uY2FsbyBHb21lcywgbmV3IHZlcnNpb24gb2YgcGF0Y2ggcG9zdGVkCj4+ICAgICAg
ICAgICAgICAgIHJlY2VudGx5KQo+PiAgICAgICAgICAgICAgKiBzdXBwb3J0IGZvciB2aWYgInJh
dGUiIHBhcmFtZXRlciAoTWF0aGlldSBHYWduw6ksIGFsbCBub3cKPj4gICAgICAgICAgICAgICAg
YXBwbGllZCwgRE9ORSkKPj4gCj4+IFswXSBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9o
dG1sL3hlbi1kZXZlbC8yMDEyLTAzL21zZzAwODgzLmh0bWwKPj4gCj4+IAo+PiAKPj4gX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gWGVuLWRldmVsIG1h
aWxpbmcgbGlzdAo+PiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+PiBodHRwOi8vbGlzdHMueGVu
Lm9yZy94ZW4tZGV2ZWwKPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlz
dHMueGVuLm9yZwo+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz
dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Tue May 08 12:50:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjsB-0001lS-DV; Tue, 08 May 2012 12:50:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjsA-0001lN-Q6
	for xen-devel@lists.xen.org; Tue, 08 May 2012 12:50:35 +0000
Received: from [85.158.139.83:33174] by server-10.bemta-5.messagelabs.com id
	9F/F1-08260-A9619AF4; Tue, 08 May 2012 12:50:34 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336481432!27201396!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22972 invoked from network); 8 May 2012 12:50:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:50:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354933"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:50:32 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:50:32 +0100
Message-ID: <1336481430.14542.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Tue, 8 May 2012 13:50:30 +0100
In-Reply-To: <CAFLBxZaBhy0Sa5hFMUiCGYBYLzgz8HoBv9FQxVGha_8ABcrzxg@mail.gmail.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473938.14542.55.camel@zakaz.uk.xensource.com>
	<20120508105612.GA1341@bloms.de>
	<CAFLBxZaBhy0Sa5hFMUiCGYBYLzgz8HoBv9FQxVGha_8ABcrzxg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <raistlin@linux.it>, Dieter Bloms <dieter@bloms.de>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] sched params spurious error message (Was: Re: 4.2
 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 13:35 +0100, George Dunlap wrote:
> On Tue, May 8, 2012 at 11:56 AM, Dieter Bloms <dieter@bloms.de> wrote:
> >> >               * [BUG] Spurious CPU params error message when starting a
> >> >                 domain, e.g. "Cpu weight out of range, valid values are
> >> >                 within range from 1 to 65535". This is an issue with
> >> >                 Dieter Bloms' patch to honour scheduler params.
> >>
> >> Is anyone looking into this?
> >
> > I've made a little patch to set this value to 256 when it wasn't defined
> > in the configfile, but George Dunlap didn't like it (rightly).
> > I'm sorry, my skill is not enough to implement a reasonable solution for
> > this issue :(
> > Maybe we should revert my patch as long as there isn't a fix.
> 
> No, I think having the ability to set it is important.  You can mark
> this "George will do it if no one else steps up". :-)

You've got yerself a deal ;-)

> Thanks for your help, Dieter.

Yes, thanks!

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:50:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjsB-0001lS-DV; Tue, 08 May 2012 12:50:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRjsA-0001lN-Q6
	for xen-devel@lists.xen.org; Tue, 08 May 2012 12:50:35 +0000
Received: from [85.158.139.83:33174] by server-10.bemta-5.messagelabs.com id
	9F/F1-08260-A9619AF4; Tue, 08 May 2012 12:50:34 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336481432!27201396!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22972 invoked from network); 8 May 2012 12:50:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:50:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12354933"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:50:32 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	13:50:32 +0100
Message-ID: <1336481430.14542.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Tue, 8 May 2012 13:50:30 +0100
In-Reply-To: <CAFLBxZaBhy0Sa5hFMUiCGYBYLzgz8HoBv9FQxVGha_8ABcrzxg@mail.gmail.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336473938.14542.55.camel@zakaz.uk.xensource.com>
	<20120508105612.GA1341@bloms.de>
	<CAFLBxZaBhy0Sa5hFMUiCGYBYLzgz8HoBv9FQxVGha_8ABcrzxg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <raistlin@linux.it>, Dieter Bloms <dieter@bloms.de>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] sched params spurious error message (Was: Re: 4.2
 TODO / Release Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 13:35 +0100, George Dunlap wrote:
> On Tue, May 8, 2012 at 11:56 AM, Dieter Bloms <dieter@bloms.de> wrote:
> >> >               * [BUG] Spurious CPU params error message when starting a
> >> >                 domain, e.g. "Cpu weight out of range, valid values are
> >> >                 within range from 1 to 65535". This is an issue with
> >> >                 Dieter Bloms' patch to honour scheduler params.
> >>
> >> Is anyone looking into this?
> >
> > I've made a little patch to set this value to 256 when it wasn't defined
> > in the configfile, but George Dunlap didn't like it (rightly).
> > I'm sorry, my skill is not enough to implement a reasonable solution for
> > this issue :(
> > Maybe we should revert my patch as long as there isn't a fix.
> 
> No, I think having the ability to set it is important.  You can mark
> this "George will do it if no one else steps up". :-)

You've got yerself a deal ;-)

> Thanks for your help, Dieter.

Yes, thanks!

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:58:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjzj-0001uy-Ea; Tue, 08 May 2012 12:58:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRjzi-0001ut-MY
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:58:23 +0000
Received: from [85.158.139.83:14137] by server-8.bemta-5.messagelabs.com id
	A8/1D-26964-D6819AF4; Tue, 08 May 2012 12:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336481898!23330448!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7924 invoked from network); 8 May 2012 12:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12355144"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 13:58:17 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRjzc-0008Ec-Uo;
	Tue, 08 May 2012 12:58:16 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRjzc-0002KB-RY;
	Tue, 08 May 2012 13:58:16 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12801-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 13:58:16 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12801: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12801 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12801/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 12:58:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 12:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRjzj-0001uy-Ea; Tue, 08 May 2012 12:58:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRjzi-0001ut-MY
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 12:58:23 +0000
Received: from [85.158.139.83:14137] by server-8.bemta-5.messagelabs.com id
	A8/1D-26964-D6819AF4; Tue, 08 May 2012 12:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336481898!23330448!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7924 invoked from network); 8 May 2012 12:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 12:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12355144"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 12:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 13:58:17 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRjzc-0008Ec-Uo;
	Tue, 08 May 2012 12:58:16 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRjzc-0002KB-RY;
	Tue, 08 May 2012 13:58:16 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12801-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 13:58:16 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12801: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12801 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12801/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:10:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:10:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkAq-0002OP-E3; Tue, 08 May 2012 13:09:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRkAo-0002OJ-GR
	for xen-devel@lists.xen.org; Tue, 08 May 2012 13:09:50 +0000
Received: from [85.158.143.99:31149] by server-3.bemta-4.messagelabs.com id
	79/28-05853-D1B19AF4; Tue, 08 May 2012 13:09:49 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336482588!21684303!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32728 invoked from network); 8 May 2012 13:09:49 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:09:49 -0000
Received: by eekc4 with SMTP id c4so1353986eek.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 06:09:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=MfKuTNyyXXvTIV/z9Td3gVUqK+L28SoffeBaSbG/ORg=;
	b=d4elzIC2xI0m3cNmMR/grRlJuuWf7btCWAk8ztM8VaPErjoVzitc9nYpriZMvV8O0l
	8wOpzSmTJEDTJL+m4UdVwpYiJ9NTzyIdtHMY+fKEXOtDxOMZFWqpDGY71LZDqTc6xs55
	TG7/MPbvecPcV6rPskKrKSJ4FqkBbWnM1NoGuHEVW+S2nNnIiIlOzqQmsuNxFo3bYlQK
	btZdrJT6duaFaeQsWaf4/ZFP9z4tw5fHGn5nOApNuhyF6j4jv441DI5N1CpJ2aDGI7hm
	N2NCy+DuGurdKYlaN/sadRb91hU6EmUOjTOA/9iTMrzZcYU10ChaH7BEemSmCzuktKMZ
	kgWw==
Received: by 10.213.152.1 with SMTP id e1mr3410205ebw.125.1336482588354;
	Tue, 08 May 2012 06:09:48 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id d18sm102255626eeb.7.2012.05.08.06.09.47
	(version=SSLv3 cipher=OTHER); Tue, 08 May 2012 06:09:47 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 08 May 2012 14:09:41 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Message-ID: <CBCED9A5.328AB%keir.xen@gmail.com>
Thread-Topic: x86_64: fix naming of rflags in elf regset structure
Thread-Index: Ac0tG9QiYCvkjAS7jEC6tuaW61j0NA==
In-Reply-To: <4FA8EC95.8020508@citrix.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] x86_64: fix naming of rflags in elf regset structure
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 08/05/2012 10:51, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:

> This is a trivial, non-functional, change so should be considered for
> 4.2, and backported to 4.1 and 4.0 release candidates.

Since this doesn't fix anything, apart from a source-code name, this would
be pointless to backport.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:10:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:10:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkAq-0002OP-E3; Tue, 08 May 2012 13:09:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SRkAo-0002OJ-GR
	for xen-devel@lists.xen.org; Tue, 08 May 2012 13:09:50 +0000
Received: from [85.158.143.99:31149] by server-3.bemta-4.messagelabs.com id
	79/28-05853-D1B19AF4; Tue, 08 May 2012 13:09:49 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336482588!21684303!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32728 invoked from network); 8 May 2012 13:09:49 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:09:49 -0000
Received: by eekc4 with SMTP id c4so1353986eek.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 06:09:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=MfKuTNyyXXvTIV/z9Td3gVUqK+L28SoffeBaSbG/ORg=;
	b=d4elzIC2xI0m3cNmMR/grRlJuuWf7btCWAk8ztM8VaPErjoVzitc9nYpriZMvV8O0l
	8wOpzSmTJEDTJL+m4UdVwpYiJ9NTzyIdtHMY+fKEXOtDxOMZFWqpDGY71LZDqTc6xs55
	TG7/MPbvecPcV6rPskKrKSJ4FqkBbWnM1NoGuHEVW+S2nNnIiIlOzqQmsuNxFo3bYlQK
	btZdrJT6duaFaeQsWaf4/ZFP9z4tw5fHGn5nOApNuhyF6j4jv441DI5N1CpJ2aDGI7hm
	N2NCy+DuGurdKYlaN/sadRb91hU6EmUOjTOA/9iTMrzZcYU10ChaH7BEemSmCzuktKMZ
	kgWw==
Received: by 10.213.152.1 with SMTP id e1mr3410205ebw.125.1336482588354;
	Tue, 08 May 2012 06:09:48 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id d18sm102255626eeb.7.2012.05.08.06.09.47
	(version=SSLv3 cipher=OTHER); Tue, 08 May 2012 06:09:47 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 08 May 2012 14:09:41 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Message-ID: <CBCED9A5.328AB%keir.xen@gmail.com>
Thread-Topic: x86_64: fix naming of rflags in elf regset structure
Thread-Index: Ac0tG9QiYCvkjAS7jEC6tuaW61j0NA==
In-Reply-To: <4FA8EC95.8020508@citrix.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] x86_64: fix naming of rflags in elf regset structure
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 08/05/2012 10:51, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:

> This is a trivial, non-functional, change so should be considered for
> 4.2, and backported to 4.1 and 4.0 release candidates.

Since this doesn't fix anything, apart from a source-code name, this would
be pointless to backport.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:23:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:23:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkNZ-0002e6-PP; Tue, 08 May 2012 13:23:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkNY-0002e1-9k
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:23:00 +0000
Received: from [85.158.143.35:9910] by server-3.bemta-4.messagelabs.com id
	F9/BF-05853-33E19AF4; Tue, 08 May 2012 13:22:59 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336483376!15837279!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10115 invoked from network); 8 May 2012 13:22:58 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	8 May 2012 13:22:58 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkNU-0004LQ-1Y
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:22:56 -0700
Date: Tue, 8 May 2012 06:22:56 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336483376041-5694297.post@n5.nabble.com>
In-Reply-To: <1336480693.14542.71.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> When we went through this on you last posting this seemed to be related
> to the python path stuff on Ubuntu/Debian. However you don't mention
> tweaking that in your setup -- are you sure you have corrected this
> issue?
> 
> If this isn't the issue then please can you provide (separately) full
> logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.
> 
"PYTHON_PREFIX_ARG =" in Config.mk solves python error on pygrub but not
domU pv boot error.

--------------------------------------
lucid.cfg
--------
name="lucid"
vcpus=2
memory=512
disk=['/mnt/vm/disks/lucid.disk1.xm,raw,xvda1,rw',
'/mnt/vm/disks/lucid.disk2.xm,raw,xvda2,rw']
vif=['bridge=xenbr0']
vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
bootloader = '/usr/bin/pygrub'
#kernel = "/usr/lib/xen/boot/pv-grub-x86_64.gz"
#extra = "(hd0,0)/grub/grub.cfg"
--------------------------------------

With pygrub:
--------------------------------------
xl -vvv create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda2, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=tap
libxl: debug: libxl.c:1689:libxl_device_disk_local_attach: locally attaching
tap disk /mnt/vm/disks/lucid.disk1.xm directly (ie without using blktap)
libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
-3
xc: debug: hypercall buffer: total allocations:13 total releases:13
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:10 misses:2 toobig:1
-------------------------------
xl-lucid.log seems not to be created during this xl create
--------------------------------------

With pv-grub:
--------------------------------------
xl -vvv create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda2, using backend tap
domainbuilder: detail: xc_dom_allocate: cmdline="(hd0,0)/grub/grub.cfg",
features="(null)"
domainbuilder: detail: xc_dom_kernel_file:
filename="/usr/lib/xen/boot/pv-grub-x86_64.gz"
domainbuilder: detail: xc_dom_malloc_filemap    : 978 kB
domainbuilder: detail: xc_dom_malloc            : 14277 kB
domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0xf4ac6 -> 0xdf17c6
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
... 
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... 
xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
kernel is not a bzImage: Invalid kernel
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... 
domainbuilder: detail: loader probe OK
xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
xc: detail: elf_xen_parse: __xen_guest:
"GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
xc: detail: elf_xen_parse_guest_info: LOADER="generic"
xc: detail: elf_xen_addr_calc_check: addresses:
xc: detail:     virt_base        = 0x0
xc: detail:     elf_paddr_offset = 0x0
xc: detail:     virt_offset      = 0x0
xc: detail:     virt_kstart      = 0x0
xc: detail:     virt_kend        = 0x99ef00
xc: detail:     virt_entry       = 0x0
xc: detail:     p2m_base         = 0xffffffffffffffff
domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0x0 ->
0x99ef00
domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x20000 pages, 4k
each
domainbuilder: detail: xc_dom_mem_init: 0x20000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64
domainbuilder: detail: xc_dom_malloc            : 1024 kB
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 0x0 ->
0x99f000  (pfn 0x0 + 0x99f pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x0+0x99f at
0x7f6a04b45000
xc: detail: elf_load_binary: phdr 0 at 0x0x7f6a04b45000 -> 0x0x7f6a054e3f00
domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 0x99f000 ->
0xa9f000  (pfn 0x99f + 0x100 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x99f+0x100 at
0x7f6a04a45000
domainbuilder: detail: xc_dom_alloc_page   :   start info   : 0xa9f000 (pfn
0xa9f)
domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 0xaa0000 (pfn
0xaa0)
domainbuilder: detail: xc_dom_alloc_page   :   console      : 0xaa1000 (pfn
0xaa1)
domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48:
0x0000000000000000 -> 0x0000ffffffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39:
0x0000000000000000 -> 0x0000007fffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30:
0x0000000000000000 -> 0x000000003fffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21:
0x0000000000000000 -> 0x0000000000bfffff, 6 table(s)
domainbuilder: detail: xc_dom_alloc_segment:   page tables  : 0xaa2000 ->
0xaab000  (pfn 0xaa2 + 0x9 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xaa2+0x9 at
0x7f6a04a3c000
domainbuilder: detail: xc_dom_alloc_page   :   boot stack   : 0xaab000 (pfn
0xaab)
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0xaac000
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0xc00000
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_64 <= matches
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_64
domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x20000
domainbuilder: detail: clear_page: pfn 0xaa1, mfn 0x33f1c8
domainbuilder: detail: clear_page: pfn 0xaa0, mfn 0x33f1c9
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xa9f+0x1 at
0x7f6a04a3b000
domainbuilder: detail: start_info_x86_64: called
domainbuilder: detail: setup_hypercall_page: vaddr=0x2000 pfn=0x2
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:    allocated
domainbuilder: detail:       malloc             : 15368 kB
domainbuilder: detail:       anon mmap          : 0 bytes
domainbuilder: detail:    mapped
domainbuilder: detail:       file mmap          : 978 kB
domainbuilder: detail:       domU mmap          : 10916 kB
domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn
0xbf111
domainbuilder: detail: shared_info_x86_64: called
domainbuilder: detail: vcpu_x86_64: called
domainbuilder: detail: vcpu_x86_64: cr3: pfn 0xaa2 mfn 0x33f1c7
domainbuilder: detail: launch_vm: called, ctxt=0x7fff4b0bd640
domainbuilder: detail: xc_dom_release: called
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=tap
libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
/usr/lib/xen/bin/qemu-system-i386
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-domid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   21
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -chardev
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-21,server,nowait
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -mon
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
chardev=libxl-cmd,mode=control
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-attach
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -name
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   lucid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -vnc
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   0.0.0.0:0,to=99
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -k
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   it
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -M
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   xenpv
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -m
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   513
libxl: debug: libxl_qmp.c:692:libxl__qmp_initialize: connected to
/var/run/xen/qmp-libxl-21
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: qmp
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"qmp_capabilities","id":1}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-chardev","id":2}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-vnc","id":3}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
Daemon running with PID 9230
xc: debug: hypercall buffer: total allocations:154 total releases:154
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:149 misses:2 toobig:3
-------------------------------
/var/log/xen/xl-lucid.log
-----------------------
Waiting for domain lucid (domid 21) to die [pid 9231]
libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x1bd0818
libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x1bcd920:21]
from domid=21 nentries=1 rc=1
libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x1bcd920:21]  
got=domaininfos[0] got->domain=21
libxl: debug: libxl.c:844:domain_death_xswatch_callback:  exists
shutdown_reported=0 dominf.flags=ffff0020
libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
reported
libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
done
libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x1bd0818
libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x1bcd920:21]
from domid=21 nentries=1 rc=0
libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x1bcd920:21]  
got=domaininfos[0] got->domain=-1
libxl: debug: libxl.c:761:domain_death_occurred: empty list
libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
reported
libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
done
Domain 21 has been destroyed.
--------------------------------------

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5694297.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:23:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:23:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkNZ-0002e6-PP; Tue, 08 May 2012 13:23:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkNY-0002e1-9k
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:23:00 +0000
Received: from [85.158.143.35:9910] by server-3.bemta-4.messagelabs.com id
	F9/BF-05853-33E19AF4; Tue, 08 May 2012 13:22:59 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336483376!15837279!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10115 invoked from network); 8 May 2012 13:22:58 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	8 May 2012 13:22:58 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkNU-0004LQ-1Y
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:22:56 -0700
Date: Tue, 8 May 2012 06:22:56 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336483376041-5694297.post@n5.nabble.com>
In-Reply-To: <1336480693.14542.71.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> When we went through this on you last posting this seemed to be related
> to the python path stuff on Ubuntu/Debian. However you don't mention
> tweaking that in your setup -- are you sure you have corrected this
> issue?
> 
> If this isn't the issue then please can you provide (separately) full
> logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.
> 
"PYTHON_PREFIX_ARG =" in Config.mk solves python error on pygrub but not
domU pv boot error.

--------------------------------------
lucid.cfg
--------
name="lucid"
vcpus=2
memory=512
disk=['/mnt/vm/disks/lucid.disk1.xm,raw,xvda1,rw',
'/mnt/vm/disks/lucid.disk2.xm,raw,xvda2,rw']
vif=['bridge=xenbr0']
vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
bootloader = '/usr/bin/pygrub'
#kernel = "/usr/lib/xen/boot/pv-grub-x86_64.gz"
#extra = "(hd0,0)/grub/grub.cfg"
--------------------------------------

With pygrub:
--------------------------------------
xl -vvv create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda2, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=tap
libxl: debug: libxl.c:1689:libxl_device_disk_local_attach: locally attaching
tap disk /mnt/vm/disks/lucid.disk1.xm directly (ie without using blktap)
libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
-3
xc: debug: hypercall buffer: total allocations:13 total releases:13
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:10 misses:2 toobig:1
-------------------------------
xl-lucid.log seems not to be created during this xl create
--------------------------------------

With pv-grub:
--------------------------------------
xl -vvv create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda2, using backend tap
domainbuilder: detail: xc_dom_allocate: cmdline="(hd0,0)/grub/grub.cfg",
features="(null)"
domainbuilder: detail: xc_dom_kernel_file:
filename="/usr/lib/xen/boot/pv-grub-x86_64.gz"
domainbuilder: detail: xc_dom_malloc_filemap    : 978 kB
domainbuilder: detail: xc_dom_malloc            : 14277 kB
domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0xf4ac6 -> 0xdf17c6
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
... 
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... 
xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
kernel is not a bzImage: Invalid kernel
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... 
domainbuilder: detail: loader probe OK
xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
xc: detail: elf_xen_parse: __xen_guest:
"GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
xc: detail: elf_xen_parse_guest_info: LOADER="generic"
xc: detail: elf_xen_addr_calc_check: addresses:
xc: detail:     virt_base        = 0x0
xc: detail:     elf_paddr_offset = 0x0
xc: detail:     virt_offset      = 0x0
xc: detail:     virt_kstart      = 0x0
xc: detail:     virt_kend        = 0x99ef00
xc: detail:     virt_entry       = 0x0
xc: detail:     p2m_base         = 0xffffffffffffffff
domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0x0 ->
0x99ef00
domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x20000 pages, 4k
each
domainbuilder: detail: xc_dom_mem_init: 0x20000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64
domainbuilder: detail: xc_dom_malloc            : 1024 kB
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 0x0 ->
0x99f000  (pfn 0x0 + 0x99f pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x0+0x99f at
0x7f6a04b45000
xc: detail: elf_load_binary: phdr 0 at 0x0x7f6a04b45000 -> 0x0x7f6a054e3f00
domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 0x99f000 ->
0xa9f000  (pfn 0x99f + 0x100 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x99f+0x100 at
0x7f6a04a45000
domainbuilder: detail: xc_dom_alloc_page   :   start info   : 0xa9f000 (pfn
0xa9f)
domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 0xaa0000 (pfn
0xaa0)
domainbuilder: detail: xc_dom_alloc_page   :   console      : 0xaa1000 (pfn
0xaa1)
domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48:
0x0000000000000000 -> 0x0000ffffffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39:
0x0000000000000000 -> 0x0000007fffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30:
0x0000000000000000 -> 0x000000003fffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21:
0x0000000000000000 -> 0x0000000000bfffff, 6 table(s)
domainbuilder: detail: xc_dom_alloc_segment:   page tables  : 0xaa2000 ->
0xaab000  (pfn 0xaa2 + 0x9 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xaa2+0x9 at
0x7f6a04a3c000
domainbuilder: detail: xc_dom_alloc_page   :   boot stack   : 0xaab000 (pfn
0xaab)
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0xaac000
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0xc00000
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_64 <= matches
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_64
domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x20000
domainbuilder: detail: clear_page: pfn 0xaa1, mfn 0x33f1c8
domainbuilder: detail: clear_page: pfn 0xaa0, mfn 0x33f1c9
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xa9f+0x1 at
0x7f6a04a3b000
domainbuilder: detail: start_info_x86_64: called
domainbuilder: detail: setup_hypercall_page: vaddr=0x2000 pfn=0x2
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:    allocated
domainbuilder: detail:       malloc             : 15368 kB
domainbuilder: detail:       anon mmap          : 0 bytes
domainbuilder: detail:    mapped
domainbuilder: detail:       file mmap          : 978 kB
domainbuilder: detail:       domU mmap          : 10916 kB
domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn
0xbf111
domainbuilder: detail: shared_info_x86_64: called
domainbuilder: detail: vcpu_x86_64: called
domainbuilder: detail: vcpu_x86_64: cr3: pfn 0xaa2 mfn 0x33f1c7
domainbuilder: detail: launch_vm: called, ctxt=0x7fff4b0bd640
domainbuilder: detail: xc_dom_release: called
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=tap
libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
/usr/lib/xen/bin/qemu-system-i386
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-domid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   21
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -chardev
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-21,server,nowait
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -mon
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
chardev=libxl-cmd,mode=control
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-attach
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -name
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   lucid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -vnc
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   0.0.0.0:0,to=99
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -k
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   it
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -M
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   xenpv
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -m
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   513
libxl: debug: libxl_qmp.c:692:libxl__qmp_initialize: connected to
/var/run/xen/qmp-libxl-21
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: qmp
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"qmp_capabilities","id":1}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-chardev","id":2}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-vnc","id":3}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
Daemon running with PID 9230
xc: debug: hypercall buffer: total allocations:154 total releases:154
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:149 misses:2 toobig:3
-------------------------------
/var/log/xen/xl-lucid.log
-----------------------
Waiting for domain lucid (domid 21) to die [pid 9231]
libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x1bd0818
libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x1bcd920:21]
from domid=21 nentries=1 rc=1
libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x1bcd920:21]  
got=domaininfos[0] got->domain=21
libxl: debug: libxl.c:844:domain_death_xswatch_callback:  exists
shutdown_reported=0 dominf.flags=ffff0020
libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
reported
libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
done
libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x1bd0818
libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x1bcd920:21]
from domid=21 nentries=1 rc=0
libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x1bcd920:21]  
got=domaininfos[0] got->domain=-1
libxl: debug: libxl.c:761:domain_death_occurred: empty list
libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
reported
libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
done
Domain 21 has been destroyed.
--------------------------------------

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5694297.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:28:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:28:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkSU-0002nJ-Ga; Tue, 08 May 2012 13:28:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkSS-0002nD-Mt
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:28:05 +0000
Received: from [193.109.254.147:49306] by server-2.bemta-14.messagelabs.com id
	45/14-19409-46F19AF4; Tue, 08 May 2012 13:28:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336483683!8214602!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20690 invoked from network); 8 May 2012 13:28:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:28:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12355933"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 13:27:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:27:00 +0100
Message-ID: <1336483619.14542.86.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 14:26:59 +0100
In-Reply-To: <osstest-12800-mainreport@xen.org>
References: <osstest-12800-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:25 +0100, xen.org wrote:
> flight 12800 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12800/
> 
> Failures :-/ but no regressions.
> 
> Tests which are failing intermittently (not blocking):
>  test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12797

        2012-05-08 07:11:44 Z executing ssh ... root@10.80.249.57 xl create /etc/xen/redhat.guest.osstest.cfg
        WARNING: ignoring "kernel" directive for HVM guest. Use "firmware_override" instead if you really want a non-default firmware
        xc: info: VIRTUAL MEMORY ARRANGEMENT:
          Loader:        0000000000100000->000000000019bca4
          TOTAL:         0000000000000000->000000002f800000
          ENTRY ADDRESS: 0000000000100000
        xc: info: PHYSICAL MEMORY ALLOCATION:
          4KB PAGES: 0x0000000000000200
          2MB PAGES: 0x000000000000017b
          1GB PAGES: 0x0000000000000000
        libxl: error: libxl.c:3115:libxl_sched_credit_domain_set: Cpu weight out of range, valid values are within range from 1 to 65535
        libxl: error: libxl_create.c:628:do_domain_create: cannot add disk 1 to domain: -3
        libxl: error: libxl_dm.c:1045:libxl__destroy_device_model: Couldn't find device model's pid: No such file or directory
        libxl: error: libxl.c:1094:libxl_domain_destroy: libxl__destroy_device_model failed for 2
        Parsing config file /etc/xen/redhat.guest.osstest.cfg

-3 is ERROR_FAIL from libxl_device_disk_add() and I don't see anything else in the logs.
Weird thing is I don't see any logs from libxl__device_disk_set_backend
which is unconditionally the first thing libxl_device_disk_add calls and
which always logs something with at least LIBXL__LOG_DEBUG -- which I
expected would go to /var/log/xen/xl-NAME.log but
http://www.chiark.greenend.org.uk/~xensrcts/logs/12800/test-amd64-i386-rhel6hvm-amd/potato-beetle---var-log-xen-xl-redhat.guest.osstest.log doesn't have anything. However I suspect that is the log of the previous boot of the guest -- in which case where is the log from this one?

Ignoring the missing logs, the only place I can see an ERROR_FAIL from
libxl_device_disk_add is the call to libxl__blktap_devpath, which is
unlogged (patch below).

Both 12797 (previous pass) and 12800 (this fail) seem to be testing the
same Xen version (8f1e0cc4a507), so I'm not sure what changed.

Ian.

8<--------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336483471 -3600
# Node ID 662621bcecd59b34acfda54a4c8d360389a40536
# Parent  5f72f4fd7f048c2e325c5070bb7adcc216b5772f
libxl: log failure from libxl__blktap_devpath in libxl_device_disk_add

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 5f72f4fd7f04 -r 662621bcecd5 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Sun May 06 10:12:04 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 08 14:24:31 2012 +0100
@@ -1351,6 +1351,8 @@ int libxl_device_disk_add(libxl_ctx *ctx
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
             if (!dev) {
+                LOG(ERROR, "failed to get blktap devpath for %p\n",
+                    disk->pdev_path);
                 rc = ERROR_FAIL;
                 goto out_free;
             }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:28:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:28:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkSU-0002nJ-Ga; Tue, 08 May 2012 13:28:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkSS-0002nD-Mt
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:28:05 +0000
Received: from [193.109.254.147:49306] by server-2.bemta-14.messagelabs.com id
	45/14-19409-46F19AF4; Tue, 08 May 2012 13:28:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336483683!8214602!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20690 invoked from network); 8 May 2012 13:28:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:28:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12355933"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 13:27:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:27:00 +0100
Message-ID: <1336483619.14542.86.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 14:26:59 +0100
In-Reply-To: <osstest-12800-mainreport@xen.org>
References: <osstest-12800-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:25 +0100, xen.org wrote:
> flight 12800 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12800/
> 
> Failures :-/ but no regressions.
> 
> Tests which are failing intermittently (not blocking):
>  test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12797

        2012-05-08 07:11:44 Z executing ssh ... root@10.80.249.57 xl create /etc/xen/redhat.guest.osstest.cfg
        WARNING: ignoring "kernel" directive for HVM guest. Use "firmware_override" instead if you really want a non-default firmware
        xc: info: VIRTUAL MEMORY ARRANGEMENT:
          Loader:        0000000000100000->000000000019bca4
          TOTAL:         0000000000000000->000000002f800000
          ENTRY ADDRESS: 0000000000100000
        xc: info: PHYSICAL MEMORY ALLOCATION:
          4KB PAGES: 0x0000000000000200
          2MB PAGES: 0x000000000000017b
          1GB PAGES: 0x0000000000000000
        libxl: error: libxl.c:3115:libxl_sched_credit_domain_set: Cpu weight out of range, valid values are within range from 1 to 65535
        libxl: error: libxl_create.c:628:do_domain_create: cannot add disk 1 to domain: -3
        libxl: error: libxl_dm.c:1045:libxl__destroy_device_model: Couldn't find device model's pid: No such file or directory
        libxl: error: libxl.c:1094:libxl_domain_destroy: libxl__destroy_device_model failed for 2
        Parsing config file /etc/xen/redhat.guest.osstest.cfg

-3 is ERROR_FAIL from libxl_device_disk_add() and I don't see anything else in the logs.
Weird thing is I don't see any logs from libxl__device_disk_set_backend
which is unconditionally the first thing libxl_device_disk_add calls and
which always logs something with at least LIBXL__LOG_DEBUG -- which I
expected would go to /var/log/xen/xl-NAME.log but
http://www.chiark.greenend.org.uk/~xensrcts/logs/12800/test-amd64-i386-rhel6hvm-amd/potato-beetle---var-log-xen-xl-redhat.guest.osstest.log doesn't have anything. However I suspect that is the log of the previous boot of the guest -- in which case where is the log from this one?

Ignoring the missing logs, the only place I can see an ERROR_FAIL from
libxl_device_disk_add is the call to libxl__blktap_devpath, which is
unlogged (patch below).

Both 12797 (previous pass) and 12800 (this fail) seem to be testing the
same Xen version (8f1e0cc4a507), so I'm not sure what changed.

Ian.

8<--------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336483471 -3600
# Node ID 662621bcecd59b34acfda54a4c8d360389a40536
# Parent  5f72f4fd7f048c2e325c5070bb7adcc216b5772f
libxl: log failure from libxl__blktap_devpath in libxl_device_disk_add

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 5f72f4fd7f04 -r 662621bcecd5 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Sun May 06 10:12:04 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 08 14:24:31 2012 +0100
@@ -1351,6 +1351,8 @@ int libxl_device_disk_add(libxl_ctx *ctx
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
             if (!dev) {
+                LOG(ERROR, "failed to get blktap devpath for %p\n",
+                    disk->pdev_path);
                 rc = ERROR_FAIL;
                 goto out_free;
             }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:31:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:31:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkVQ-0002tf-3R; Tue, 08 May 2012 13:31:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkVO-0002tY-JI
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:31:06 +0000
Received: from [85.158.139.83:16700] by server-9.bemta-5.messagelabs.com id
	4E/A4-09826-91029AF4; Tue, 08 May 2012 13:31:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336483864!19944906!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9347 invoked from network); 8 May 2012 13:31:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:31:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12355996"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 13:30:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:30:01 +0100
Message-ID: <1336483800.14542.88.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 14:30:00 +0100
In-Reply-To: <1336483376041-5694297.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 14:22 +0100, Fantu wrote:
> Ian Campbell-10 wrote
> >
> > When we went through this on you last posting this seemed to be related
> > to the python path stuff on Ubuntu/Debian. However you don't mention
> > tweaking that in your setup -- are you sure you have corrected this
> > issue?
> >
> > If this isn't the issue then please can you provide (separately) full
> > logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.
> >
> "PYTHON_PREFIX_ARG =" in Config.mk solves python error on pygrub but not
> domU pv boot error.

Your logs seem to show the opposite -- pygrub still fails by pvgrub
works ok.

> --------------------------------------
> lucid.cfg
> --------
> name="lucid"
> vcpus=2
> memory=512
> disk=['/mnt/vm/disks/lucid.disk1.xm,raw,xvda1,rw',
> '/mnt/vm/disks/lucid.disk2.xm,raw,xvda2,rw']
> vif=['bridge=xenbr0']
> vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
> bootloader = '/usr/bin/pygrub'
> #kernel = "/usr/lib/xen/boot/pv-grub-x86_64.gz"
> #extra = "(hd0,0)/grub/grub.cfg"
> --------------------------------------
> 
> With pygrub:
> --------------------------------------
> xl -vvv create /etc/xen/lucid.cfg
> Parsing config file /etc/xen/lucid.cfg
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda1, using backend tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda2 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda2, using backend tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=tap
> libxl: debug: libxl.c:1689:libxl_device_disk_local_attach: locally attaching
> tap disk /mnt/vm/disks/lucid.disk1.xm directly (ie without using blktap)
> libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
> -3

Do you still get the same error about xen.lowlevel.xc as before if you
run
	pygrub /mnt/vm/disks/lucid.disk1.xm
by hand?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:31:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:31:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkVQ-0002tf-3R; Tue, 08 May 2012 13:31:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkVO-0002tY-JI
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:31:06 +0000
Received: from [85.158.139.83:16700] by server-9.bemta-5.messagelabs.com id
	4E/A4-09826-91029AF4; Tue, 08 May 2012 13:31:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336483864!19944906!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9347 invoked from network); 8 May 2012 13:31:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:31:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12355996"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 13:30:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:30:01 +0100
Message-ID: <1336483800.14542.88.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 14:30:00 +0100
In-Reply-To: <1336483376041-5694297.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 14:22 +0100, Fantu wrote:
> Ian Campbell-10 wrote
> >
> > When we went through this on you last posting this seemed to be related
> > to the python path stuff on Ubuntu/Debian. However you don't mention
> > tweaking that in your setup -- are you sure you have corrected this
> > issue?
> >
> > If this isn't the issue then please can you provide (separately) full
> > logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.
> >
> "PYTHON_PREFIX_ARG =" in Config.mk solves python error on pygrub but not
> domU pv boot error.

Your logs seem to show the opposite -- pygrub still fails by pvgrub
works ok.

> --------------------------------------
> lucid.cfg
> --------
> name="lucid"
> vcpus=2
> memory=512
> disk=['/mnt/vm/disks/lucid.disk1.xm,raw,xvda1,rw',
> '/mnt/vm/disks/lucid.disk2.xm,raw,xvda2,rw']
> vif=['bridge=xenbr0']
> vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
> bootloader = '/usr/bin/pygrub'
> #kernel = "/usr/lib/xen/boot/pv-grub-x86_64.gz"
> #extra = "(hd0,0)/grub/grub.cfg"
> --------------------------------------
> 
> With pygrub:
> --------------------------------------
> xl -vvv create /etc/xen/lucid.cfg
> Parsing config file /etc/xen/lucid.cfg
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda1, using backend tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda2 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda2, using backend tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=tap
> libxl: debug: libxl.c:1689:libxl_device_disk_local_attach: locally attaching
> tap disk /mnt/vm/disks/lucid.disk1.xm directly (ie without using blktap)
> libxl: error: libxl_create.c:603:do_domain_create: failed to run bootloader:
> -3

Do you still get the same error about xen.lowlevel.xc as before if you
run
	pygrub /mnt/vm/disks/lucid.disk1.xm
by hand?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:38:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:38:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkcF-000381-VQ; Tue, 08 May 2012 13:38:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkcE-00037w-Pd
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:38:10 +0000
Received: from [193.109.254.147:40270] by server-10.bemta-14.messagelabs.com
	id A6/12-05847-2C129AF4; Tue, 08 May 2012 13:38:10 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336484288!8230853!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4347 invoked from network); 8 May 2012 13:38:09 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	8 May 2012 13:38:09 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkcB-00066W-B7
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:38:07 -0700
Date: Tue, 8 May 2012 06:38:07 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336484287336-5694426.post@n5.nabble.com>
In-Reply-To: <1336483800.14542.88.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> On Tue, 2012-05-08 at 14:22 +0100, Fantu wrote:
>> Ian Campbell-10 wrote
>> >
>> > When we went through this on you last posting this seemed to be related
>> > to the python path stuff on Ubuntu/Debian. However you don't mention
>> > tweaking that in your setup -- are you sure you have corrected this
>> > issue?
>> >
>> > If this isn't the issue then please can you provide (separately) full
>> > logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.
>> >
>> "PYTHON_PREFIX_ARG =" in Config.mk solves python error on pygrub but not
>> domU pv boot error.
> 
> Your logs seem to show the opposite -- pygrub still fails by pvgrub
> works ok.
> 
>> --------------------------------------
>> lucid.cfg
>> --------
>> name="lucid"
>> vcpus=2
>> memory=512
>> disk=['/mnt/vm/disks/lucid.disk1.xm,raw,xvda1,rw',
>> '/mnt/vm/disks/lucid.disk2.xm,raw,xvda2,rw']
>> vif=['bridge=xenbr0']
>> vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
>> bootloader = '/usr/bin/pygrub'
>> #kernel = "/usr/lib/xen/boot/pv-grub-x86_64.gz"
>> #extra = "(hd0,0)/grub/grub.cfg"
>> --------------------------------------
>> 
>> With pygrub:
>> --------------------------------------
>> xl -vvv create /etc/xen/lucid.cfg
>> Parsing config file /etc/xen/lucid.cfg
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=xvda1 spec.backend=unknown
>> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1,
>> backend
>> phy unsuitable as phys path not a block device
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=xvda1, using backend tap
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=xvda2 spec.backend=unknown
>> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2,
>> backend
>> phy unsuitable as phys path not a block device
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=xvda2, using backend tap
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=xvda1 spec.backend=tap
>> libxl: debug: libxl.c:1689:libxl_device_disk_local_attach: locally
>> attaching
>> tap disk /mnt/vm/disks/lucid.disk1.xm directly (ie without using blktap)
>> libxl: error: libxl_create.c:603:do_domain_create: failed to run
>> bootloader:
>> -3
> 
> Do you still get the same error about xen.lowlevel.xc as before if you
> run
> 	pygrub /mnt/vm/disks/lucid.disk1.xm
> by hand?
> 
> Ian.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 
---------------------------------------------
pygrub /mnt/vm/disks/lucid.disk1.xm 
Traceback (most recent call last):
  File "/usr/local/bin/pygrub", line 822, in <module>
    raise RuntimeError, "Unable to find partition containing kernel"
RuntimeError: Unable to find partition containing kernel
---------------------------------------------

About pv-grub I think it fails with:
... (from xl create...)
xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
kernel is not a bzImage: Invalid kernel
...
And after seems start as hvm domU but is not working and I must destroy it.

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5694426.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:38:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:38:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkcF-000381-VQ; Tue, 08 May 2012 13:38:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkcE-00037w-Pd
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:38:10 +0000
Received: from [193.109.254.147:40270] by server-10.bemta-14.messagelabs.com
	id A6/12-05847-2C129AF4; Tue, 08 May 2012 13:38:10 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336484288!8230853!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4347 invoked from network); 8 May 2012 13:38:09 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	8 May 2012 13:38:09 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRkcB-00066W-B7
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:38:07 -0700
Date: Tue, 8 May 2012 06:38:07 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336484287336-5694426.post@n5.nabble.com>
In-Reply-To: <1336483800.14542.88.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> On Tue, 2012-05-08 at 14:22 +0100, Fantu wrote:
>> Ian Campbell-10 wrote
>> >
>> > When we went through this on you last posting this seemed to be related
>> > to the python path stuff on Ubuntu/Debian. However you don't mention
>> > tweaking that in your setup -- are you sure you have corrected this
>> > issue?
>> >
>> > If this isn't the issue then please can you provide (separately) full
>> > logs (xl cr -vvv & /var/log/xen/foo, etc) for both these cases.
>> >
>> "PYTHON_PREFIX_ARG =" in Config.mk solves python error on pygrub but not
>> domU pv boot error.
> 
> Your logs seem to show the opposite -- pygrub still fails by pvgrub
> works ok.
> 
>> --------------------------------------
>> lucid.cfg
>> --------
>> name="lucid"
>> vcpus=2
>> memory=512
>> disk=['/mnt/vm/disks/lucid.disk1.xm,raw,xvda1,rw',
>> '/mnt/vm/disks/lucid.disk2.xm,raw,xvda2,rw']
>> vif=['bridge=xenbr0']
>> vfb=['vnc=1,vncunused=1,vnclisten=0.0.0.0,keymap=it']
>> bootloader = '/usr/bin/pygrub'
>> #kernel = "/usr/lib/xen/boot/pv-grub-x86_64.gz"
>> #extra = "(hd0,0)/grub/grub.cfg"
>> --------------------------------------
>> 
>> With pygrub:
>> --------------------------------------
>> xl -vvv create /etc/xen/lucid.cfg
>> Parsing config file /etc/xen/lucid.cfg
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=xvda1 spec.backend=unknown
>> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1,
>> backend
>> phy unsuitable as phys path not a block device
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=xvda1, using backend tap
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=xvda2 spec.backend=unknown
>> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2,
>> backend
>> phy unsuitable as phys path not a block device
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=xvda2, using backend tap
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=xvda1 spec.backend=tap
>> libxl: debug: libxl.c:1689:libxl_device_disk_local_attach: locally
>> attaching
>> tap disk /mnt/vm/disks/lucid.disk1.xm directly (ie without using blktap)
>> libxl: error: libxl_create.c:603:do_domain_create: failed to run
>> bootloader:
>> -3
> 
> Do you still get the same error about xen.lowlevel.xc as before if you
> run
> 	pygrub /mnt/vm/disks/lucid.disk1.xm
> by hand?
> 
> Ian.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 
---------------------------------------------
pygrub /mnt/vm/disks/lucid.disk1.xm 
Traceback (most recent call last):
  File "/usr/local/bin/pygrub", line 822, in <module>
    raise RuntimeError, "Unable to find partition containing kernel"
RuntimeError: Unable to find partition containing kernel
---------------------------------------------

About pv-grub I think it fails with:
... (from xl create...)
xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
kernel is not a bzImage: Invalid kernel
...
And after seems start as hvm domU but is not working and I must destroy it.

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5694426.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:46:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:46:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkjt-0003Iy-4S; Tue, 08 May 2012 13:46:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkjr-0003It-GK
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:46:03 +0000
Received: from [85.158.143.35:34063] by server-2.bemta-4.messagelabs.com id
	61/47-17550-A9329AF4; Tue, 08 May 2012 13:46:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336484760!13667569!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15030 invoked from network); 8 May 2012 13:46:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:46:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12356372"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 13:46:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:46:00 +0100
Message-ID: <1336484759.14542.91.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 14:45:59 +0100
In-Reply-To: <1336484287336-5694426.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 14:38 +0100, Fantu wrote:
> ---------------------------------------------
> pygrub /mnt/vm/disks/lucid.disk1.xm 
> Traceback (most recent call last):
>   File "/usr/local/bin/pygrub", line 822, in <module>
>     raise RuntimeError, "Unable to find partition containing kernel"
> RuntimeError: Unable to find partition containing kernel

/usr/local/bin? Are you sure this is the pygrub you built and installed
just now and not some other cruft?

Are you able to identify when it last worked and run a bisect? You don't
need to do a full boot of the guest, just run pygrub manually at each
stage.

> ---------------------------------------------
> 
> About pv-grub I think it fails with:
> ... (from xl create...)
> xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
> kernel is not a bzImage: Invalid kernel
> ...
> And after seems start as hvm domU but is not working and I must destroy it.

I think this is just a warning (which needs to be toned down), since the
pvgrub kernel isn't a bzImage, it's a simple elf file.

Your logs show it building a Mini-OS domain, not an HVM one:
        domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ...
        domainbuilder: detail: loader probe OK
        xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
        xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
        xc: detail: elf_xen_parse: __xen_guest:
        "GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
        xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
        xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
        xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
        xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
        xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
        xc: detail: elf_xen_parse_guest_info: LOADER="generic"
        xc: detail: elf_xen_addr_calc_check: addresses:
        xc: detail:     virt_base        = 0x0
        xc: detail:     elf_paddr_offset = 0x0
        xc: detail:     virt_offset      = 0x0
        xc: detail:     virt_kstart      = 0x0
        xc: detail:     virt_kend        = 0x99ef00
        xc: detail:     virt_entry       = 0x0
        xc: detail:     p2m_base         = 0xffffffffffffffff
        
I think if you investigate more closely you would find it is working, at
least as far as building an running something..

Ian


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:46:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:46:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkjt-0003Iy-4S; Tue, 08 May 2012 13:46:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkjr-0003It-GK
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:46:03 +0000
Received: from [85.158.143.35:34063] by server-2.bemta-4.messagelabs.com id
	61/47-17550-A9329AF4; Tue, 08 May 2012 13:46:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336484760!13667569!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15030 invoked from network); 8 May 2012 13:46:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:46:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12356372"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 13:46:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:46:00 +0100
Message-ID: <1336484759.14542.91.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 14:45:59 +0100
In-Reply-To: <1336484287336-5694426.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 14:38 +0100, Fantu wrote:
> ---------------------------------------------
> pygrub /mnt/vm/disks/lucid.disk1.xm 
> Traceback (most recent call last):
>   File "/usr/local/bin/pygrub", line 822, in <module>
>     raise RuntimeError, "Unable to find partition containing kernel"
> RuntimeError: Unable to find partition containing kernel

/usr/local/bin? Are you sure this is the pygrub you built and installed
just now and not some other cruft?

Are you able to identify when it last worked and run a bisect? You don't
need to do a full boot of the guest, just run pygrub manually at each
stage.

> ---------------------------------------------
> 
> About pv-grub I think it fails with:
> ... (from xl create...)
> xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
> kernel is not a bzImage: Invalid kernel
> ...
> And after seems start as hvm domU but is not working and I must destroy it.

I think this is just a warning (which needs to be toned down), since the
pvgrub kernel isn't a bzImage, it's a simple elf file.

Your logs show it building a Mini-OS domain, not an HVM one:
        domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ...
        domainbuilder: detail: loader probe OK
        xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
        xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
        xc: detail: elf_xen_parse: __xen_guest:
        "GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
        xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
        xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
        xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
        xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
        xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
        xc: detail: elf_xen_parse_guest_info: LOADER="generic"
        xc: detail: elf_xen_addr_calc_check: addresses:
        xc: detail:     virt_base        = 0x0
        xc: detail:     elf_paddr_offset = 0x0
        xc: detail:     virt_offset      = 0x0
        xc: detail:     virt_kstart      = 0x0
        xc: detail:     virt_kend        = 0x99ef00
        xc: detail:     virt_entry       = 0x0
        xc: detail:     p2m_base         = 0xffffffffffffffff
        
I think if you investigate more closely you would find it is working, at
least as far as building an running something..

Ian


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRksP-0003Sh-AV; Tue, 08 May 2012 13:54:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRksM-0003Sc-VM
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:54:51 +0000
Received: from [85.158.143.99:26055] by server-1.bemta-4.messagelabs.com id
	DC/2B-20925-AA529AF4; Tue, 08 May 2012 13:54:50 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336485288!27036084!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10594 invoked from network); 8 May 2012 13:54:49 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-9.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	8 May 2012 13:54:49 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRksK-0008BX-8l
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:54:48 -0700
Date: Tue, 8 May 2012 06:54:48 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336485288265-5694597.post@n5.nabble.com>
In-Reply-To: <1336484759.14542.91.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> Your logs show it building a Mini-OS domain, not an HVM one:
>         domainbuilder: detail: xc_dom_find_loader: trying ELF-generic
> loader ...
>         domainbuilder: detail: loader probe OK
>         xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
>         xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
>         xc: detail: elf_xen_parse: __xen_guest:
>        
> "GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
>         xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
>         xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
>         xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
>         xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
>         xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
>         xc: detail: elf_xen_parse_guest_info: LOADER="generic"
>         xc: detail: elf_xen_addr_calc_check: addresses:
>         xc: detail:     virt_base        = 0x0
>         xc: detail:     elf_paddr_offset = 0x0
>         xc: detail:     virt_offset      = 0x0
>         xc: detail:     virt_kstart      = 0x0
>         xc: detail:     virt_kend        = 0x99ef00
>         xc: detail:     virt_entry       = 0x0
>         xc: detail:     p2m_base         = 0xffffffffffffffff
>         
> I think if you investigate more closely you would find it is working, at
> least as far as building an running something..
> 
Please try to see further in the xl create output on pv-grub test...
...
libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
/usr/lib/xen/bin/qemu-system-i386
...
Is it right?

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5694597.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRksP-0003Sh-AV; Tue, 08 May 2012 13:54:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRksM-0003Sc-VM
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 13:54:51 +0000
Received: from [85.158.143.99:26055] by server-1.bemta-4.messagelabs.com id
	DC/2B-20925-AA529AF4; Tue, 08 May 2012 13:54:50 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336485288!27036084!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10594 invoked from network); 8 May 2012 13:54:49 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-9.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	8 May 2012 13:54:49 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SRksK-0008BX-8l
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:54:48 -0700
Date: Tue, 8 May 2012 06:54:48 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336485288265-5694597.post@n5.nabble.com>
In-Reply-To: <1336484759.14542.91.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> Your logs show it building a Mini-OS domain, not an HVM one:
>         domainbuilder: detail: xc_dom_find_loader: trying ELF-generic
> loader ...
>         domainbuilder: detail: loader probe OK
>         xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
>         xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
>         xc: detail: elf_xen_parse: __xen_guest:
>        
> "GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
>         xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
>         xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
>         xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
>         xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
>         xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
>         xc: detail: elf_xen_parse_guest_info: LOADER="generic"
>         xc: detail: elf_xen_addr_calc_check: addresses:
>         xc: detail:     virt_base        = 0x0
>         xc: detail:     elf_paddr_offset = 0x0
>         xc: detail:     virt_offset      = 0x0
>         xc: detail:     virt_kstart      = 0x0
>         xc: detail:     virt_kend        = 0x99ef00
>         xc: detail:     virt_entry       = 0x0
>         xc: detail:     p2m_base         = 0xffffffffffffffff
>         
> I think if you investigate more closely you would find it is working, at
> least as far as building an running something..
> 
Please try to see further in the xl create output on pv-grub test...
...
libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
/usr/lib/xen/bin/qemu-system-i386
...
Is it right?

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5694597.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:59:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkwE-0003aF-Uw; Tue, 08 May 2012 13:58:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SRkwD-0003a7-GU
	for xen-devel@lists.xen.org; Tue, 08 May 2012 13:58:49 +0000
Received: from [85.158.138.51:57598] by server-6.bemta-3.messagelabs.com id
	FF/51-05145-89629AF4; Tue, 08 May 2012 13:58:48 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336485526!16976511!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2540 invoked from network); 8 May 2012 13:58:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:58:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193855837"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:58:45 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	09:58:45 -0400
Message-ID: <4FA92694.4000204@citrix.com>
Date: Tue, 8 May 2012 14:58:44 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com> <4FA41D83.2010809@citrix.com>
	<4FA7A1AB0200007800081F71@nat28.tlf.novell.com>
In-Reply-To: <4FA7A1AB0200007800081F71@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
 flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/12 09:19, Jan Beulich wrote:
>> Subject: [PATCH] x86: make the dom0_max_vcpus option more flexible
>>
>> The dom0_max_vcpus command line option only allows the exact number of
>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>> but no more than the number physically present."
>>
>> Allow a range for the option to set a minimum number of VCPUs, and a
>> maximum which does not exceed the number of PCPUs.
>>
>> For example, with "dom0_max_vcpus=4-8":
>>
>>     PCPUs  Dom0 VCPUs
>>      2      4
>>      4      4
>>      6      6
>>      8      8
>>     10      8
>>
>> Existing command lines with "dom0_max_vcpus=N" still work as before.
>>
>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> But I'm not sure whether this qualifies for going in for 4.2...

I don't think it's a 4.2 candidate.  I posted it now we need this
functionality in XenServer and I didn't want to change the command line
in a way that would be incompatible with upstream.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 13:59:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 13:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkwE-0003aF-Uw; Tue, 08 May 2012 13:58:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SRkwD-0003a7-GU
	for xen-devel@lists.xen.org; Tue, 08 May 2012 13:58:49 +0000
Received: from [85.158.138.51:57598] by server-6.bemta-3.messagelabs.com id
	FF/51-05145-89629AF4; Tue, 08 May 2012 13:58:48 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336485526!16976511!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2540 invoked from network); 8 May 2012 13:58:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 13:58:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193855837"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 09:58:45 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	09:58:45 -0400
Message-ID: <4FA92694.4000204@citrix.com>
Date: Tue, 8 May 2012 14:58:44 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1336147301-12681-1-git-send-email-david.vrabel@citrix.com>
	<4FA41BF20200007800081BFE@nat28.tlf.novell.com>
	<4FA40321.3080201@citrix.com> <4FA41D83.2010809@citrix.com>
	<4FA7A1AB0200007800081F71@nat28.tlf.novell.com>
In-Reply-To: <4FA7A1AB0200007800081F71@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: make the dom0_max_vcpus option more
 flexible
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/12 09:19, Jan Beulich wrote:
>> Subject: [PATCH] x86: make the dom0_max_vcpus option more flexible
>>
>> The dom0_max_vcpus command line option only allows the exact number of
>> VCPUs for dom0 to be set.  It is not possible to say "up to N VCPUs
>> but no more than the number physically present."
>>
>> Allow a range for the option to set a minimum number of VCPUs, and a
>> maximum which does not exceed the number of PCPUs.
>>
>> For example, with "dom0_max_vcpus=4-8":
>>
>>     PCPUs  Dom0 VCPUs
>>      2      4
>>      4      4
>>      6      6
>>      8      8
>>     10      8
>>
>> Existing command lines with "dom0_max_vcpus=N" still work as before.
>>
>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> But I'm not sure whether this qualifies for going in for 4.2...

I don't think it's a 4.2 candidate.  I posted it now we need this
functionality in XenServer and I didn't want to change the command line
in a way that would be incompatible with upstream.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:01:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkyZ-0003l2-GD; Tue, 08 May 2012 14:01:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkyY-0003ks-9Z
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 14:01:14 +0000
Received: from [85.158.139.83:42510] by server-10.bemta-5.messagelabs.com id
	67/B7-08260-92729AF4; Tue, 08 May 2012 14:01:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336485672!26613300!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15393 invoked from network); 8 May 2012 14:01:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:01:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12356791"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 14:01:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	15:01:12 +0100
Message-ID: <1336485670.14542.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>, Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 8 May 2012 15:01:10 +0100
In-Reply-To: <1336484759.14542.91.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> > About pv-grub I think it fails with:
> > ... (from xl create...)
> > xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
> > kernel is not a bzImage: Invalid kernel
> > ...
> > And after seems start as hvm domU but is not working and I must destroy it.
> 
> I think this is just a warning (which needs to be toned down), since the
> pvgrub kernel isn't a bzImage, it's a simple elf file.

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336485612 -3600
# Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
# Parent  2fe12fc7bf1f863487920e06589641904b3d9466
libxc: do not "panic" if a kernel is not a bzImage.

Up untul the point where we think this is a bzImage there is no point in
printing panicy messages -- some other loader will have a go (probably the
compressed ELF one)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
--- a/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 14:25:27 2012 +0100
+++ b/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 15:00:12 2012 +0100
@@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( dom->kernel_size < sizeof(struct setup_header) )
     {
-        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
-                     "%s: kernel image too small", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel image too small", __FUNCTION__);
         return -EINVAL;
     }
 
@@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
     {
-        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
-                     "%s: kernel is not a bzImage", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage", __FUNCTION__);
         return -EINVAL;
     }
 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:01:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRkyZ-0003l2-GD; Tue, 08 May 2012 14:01:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRkyY-0003ks-9Z
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 14:01:14 +0000
Received: from [85.158.139.83:42510] by server-10.bemta-5.messagelabs.com id
	67/B7-08260-92729AF4; Tue, 08 May 2012 14:01:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336485672!26613300!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15393 invoked from network); 8 May 2012 14:01:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:01:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12356791"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 14:01:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	15:01:12 +0100
Message-ID: <1336485670.14542.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>, Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 8 May 2012 15:01:10 +0100
In-Reply-To: <1336484759.14542.91.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> > About pv-grub I think it fails with:
> > ... (from xl create...)
> > xc: error: panic: xc_dom_bzimageloader.c:588: xc_dom_probe_bzimage_kernel:
> > kernel is not a bzImage: Invalid kernel
> > ...
> > And after seems start as hvm domU but is not working and I must destroy it.
> 
> I think this is just a warning (which needs to be toned down), since the
> pvgrub kernel isn't a bzImage, it's a simple elf file.

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336485612 -3600
# Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
# Parent  2fe12fc7bf1f863487920e06589641904b3d9466
libxc: do not "panic" if a kernel is not a bzImage.

Up untul the point where we think this is a bzImage there is no point in
printing panicy messages -- some other loader will have a go (probably the
compressed ELF one)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
--- a/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 14:25:27 2012 +0100
+++ b/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 15:00:12 2012 +0100
@@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( dom->kernel_size < sizeof(struct setup_header) )
     {
-        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
-                     "%s: kernel image too small", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel image too small", __FUNCTION__);
         return -EINVAL;
     }
 
@@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
     {
-        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
-                     "%s: kernel is not a bzImage", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage", __FUNCTION__);
         return -EINVAL;
     }
 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:03:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:03:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRl0D-0003ri-87; Tue, 08 May 2012 14:02:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SRl0C-0003rZ-1W
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:02:56 +0000
Received: from [85.158.139.83:38498] by server-5.bemta-5.messagelabs.com id
	2A/C3-13566-F8729AF4; Tue, 08 May 2012 14:02:55 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336485773!23423419!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3198 invoked from network); 8 May 2012 14:02:54 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-6.tower-182.messagelabs.com with SMTP;
	8 May 2012 14:02:54 -0000
X-TM-IMSS-Message-ID: <2e008ee9000b92bf@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 2e008ee9000b92bf ;
	Tue, 8 May 2012 09:48:28 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q48DmASc032587; 
	Tue, 8 May 2012 09:48:10 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: konrad.wilk@oracle.com
Date: Tue,  8 May 2012 09:46:57 -0400
Message-Id: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: git-send-email 1.7.7.6
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, JBeulich@suse.com,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH RESEND] xenbus: Add support for xenbus backend
	in stub domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add an ioctl to the /dev/xen/xenbus_backend device allowing the xenbus
backend to be started after the kernel has booted. This allows xenstore
to run in a different domain from the dom0.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 drivers/xen/xenbus/xenbus_comms.c       |    6 ++++
 drivers/xen/xenbus/xenbus_comms.h       |    1 +
 drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++++++++++++++++++++++++
 include/xen/grant_table.h               |    2 +
 include/xen/xenbus_dev.h                |    3 ++
 5 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
index 2eff7a6..52fe7ad 100644
--- a/drivers/xen/xenbus/xenbus_comms.c
+++ b/drivers/xen/xenbus/xenbus_comms.c
@@ -234,3 +234,9 @@ int xb_init_comms(void)
 
 	return 0;
 }
+
+void xb_deinit_comms(void)
+{
+	unbind_from_irqhandler(xenbus_irq, &xb_waitq);
+	xenbus_irq = 0;
+}
diff --git a/drivers/xen/xenbus/xenbus_comms.h b/drivers/xen/xenbus/xenbus_comms.h
index 6e42800..c8abd3b 100644
--- a/drivers/xen/xenbus/xenbus_comms.h
+++ b/drivers/xen/xenbus/xenbus_comms.h
@@ -35,6 +35,7 @@
 
 int xs_init(void);
 int xb_init_comms(void);
+void xb_deinit_comms(void);
 
 /* Low level routines. */
 int xb_write(const void *data, unsigned len);
diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
index 3d3be78..be738c4 100644
--- a/drivers/xen/xenbus/xenbus_dev_backend.c
+++ b/drivers/xen/xenbus/xenbus_dev_backend.c
@@ -8,7 +8,11 @@
 
 #include <xen/xen.h>
 #include <xen/page.h>
+#include <xen/xenbus.h>
 #include <xen/xenbus_dev.h>
+#include <xen/grant_table.h>
+#include <xen/events.h>
+#include <asm/xen/hypervisor.h>
 
 #include "xenbus_comms.h"
 
@@ -22,6 +26,50 @@ static int xenbus_backend_open(struct inode *inode, struct file *filp)
 	return nonseekable_open(inode, filp);
 }
 
+static long xenbus_alloc(domid_t domid)
+{
+	struct evtchn_alloc_unbound arg;
+	int err = -EEXIST;
+
+	xs_suspend();
+
+	/* If xenstored_ready is nonzero, that means we have already talked to
+	 * xenstore and set up watches. These watches will be restored by
+	 * xs_resume, but that requires communication over the port established
+	 * below that is not visible to anyone until the ioctl returns.
+	 *
+	 * This can be resolved by splitting the ioctl into two parts
+	 * (postponing the resume until xenstored is active) but this is
+	 * unnecessarily complex for the intended use where xenstored is only
+	 * started once - so return -EEXIST if it's already running.
+	 */
+	if (xenstored_ready)
+		goto out_err;
+
+	gnttab_grant_foreign_access_ref(GNTTAB_RESERVED_XENSTORE, domid,
+			virt_to_mfn(xen_store_interface), 0 /* writable */);
+
+	arg.dom = DOMID_SELF;
+	arg.remote_dom = domid;
+
+	err = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &arg);
+	if (err)
+		goto out_err;
+
+	if (xen_store_evtchn > 0)
+		xb_deinit_comms();
+
+	xen_store_evtchn = arg.port;
+
+	xs_resume();
+
+	return arg.port;
+
+ out_err:
+	xs_suspend_cancel();
+	return err;
+}
+
 static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned long data)
 {
 	if (!capable(CAP_SYS_ADMIN))
@@ -33,6 +81,9 @@ static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned l
 				return xen_store_evtchn;
 			return -ENODEV;
 
+		case IOCTL_XENBUS_BACKEND_SETUP:
+			return xenbus_alloc(data);
+
 		default:
 			return -ENOTTY;
 	}
diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
index 15f8a00..11e27c3 100644
--- a/include/xen/grant_table.h
+++ b/include/xen/grant_table.h
@@ -46,6 +46,8 @@
 
 #include <xen/features.h>
 
+#define GNTTAB_RESERVED_XENSTORE 1
+
 /* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
 #define NR_GRANT_FRAMES 4
 
diff --git a/include/xen/xenbus_dev.h b/include/xen/xenbus_dev.h
index ac5f0fe..bbee8c6 100644
--- a/include/xen/xenbus_dev.h
+++ b/include/xen/xenbus_dev.h
@@ -38,4 +38,7 @@
 #define IOCTL_XENBUS_BACKEND_EVTCHN			\
 	_IOC(_IOC_NONE, 'B', 0, 0)
 
+#define IOCTL_XENBUS_BACKEND_SETUP			\
+	_IOC(_IOC_NONE, 'B', 1, 0)
+
 #endif /* __LINUX_XEN_XENBUS_DEV_H__ */
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:03:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:03:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRl0D-0003ri-87; Tue, 08 May 2012 14:02:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SRl0C-0003rZ-1W
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:02:56 +0000
Received: from [85.158.139.83:38498] by server-5.bemta-5.messagelabs.com id
	2A/C3-13566-F8729AF4; Tue, 08 May 2012 14:02:55 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336485773!23423419!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3198 invoked from network); 8 May 2012 14:02:54 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-6.tower-182.messagelabs.com with SMTP;
	8 May 2012 14:02:54 -0000
X-TM-IMSS-Message-ID: <2e008ee9000b92bf@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 2e008ee9000b92bf ;
	Tue, 8 May 2012 09:48:28 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q48DmASc032587; 
	Tue, 8 May 2012 09:48:10 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: konrad.wilk@oracle.com
Date: Tue,  8 May 2012 09:46:57 -0400
Message-Id: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: git-send-email 1.7.7.6
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, JBeulich@suse.com,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH RESEND] xenbus: Add support for xenbus backend
	in stub domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add an ioctl to the /dev/xen/xenbus_backend device allowing the xenbus
backend to be started after the kernel has booted. This allows xenstore
to run in a different domain from the dom0.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 drivers/xen/xenbus/xenbus_comms.c       |    6 ++++
 drivers/xen/xenbus/xenbus_comms.h       |    1 +
 drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++++++++++++++++++++++++
 include/xen/grant_table.h               |    2 +
 include/xen/xenbus_dev.h                |    3 ++
 5 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
index 2eff7a6..52fe7ad 100644
--- a/drivers/xen/xenbus/xenbus_comms.c
+++ b/drivers/xen/xenbus/xenbus_comms.c
@@ -234,3 +234,9 @@ int xb_init_comms(void)
 
 	return 0;
 }
+
+void xb_deinit_comms(void)
+{
+	unbind_from_irqhandler(xenbus_irq, &xb_waitq);
+	xenbus_irq = 0;
+}
diff --git a/drivers/xen/xenbus/xenbus_comms.h b/drivers/xen/xenbus/xenbus_comms.h
index 6e42800..c8abd3b 100644
--- a/drivers/xen/xenbus/xenbus_comms.h
+++ b/drivers/xen/xenbus/xenbus_comms.h
@@ -35,6 +35,7 @@
 
 int xs_init(void);
 int xb_init_comms(void);
+void xb_deinit_comms(void);
 
 /* Low level routines. */
 int xb_write(const void *data, unsigned len);
diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
index 3d3be78..be738c4 100644
--- a/drivers/xen/xenbus/xenbus_dev_backend.c
+++ b/drivers/xen/xenbus/xenbus_dev_backend.c
@@ -8,7 +8,11 @@
 
 #include <xen/xen.h>
 #include <xen/page.h>
+#include <xen/xenbus.h>
 #include <xen/xenbus_dev.h>
+#include <xen/grant_table.h>
+#include <xen/events.h>
+#include <asm/xen/hypervisor.h>
 
 #include "xenbus_comms.h"
 
@@ -22,6 +26,50 @@ static int xenbus_backend_open(struct inode *inode, struct file *filp)
 	return nonseekable_open(inode, filp);
 }
 
+static long xenbus_alloc(domid_t domid)
+{
+	struct evtchn_alloc_unbound arg;
+	int err = -EEXIST;
+
+	xs_suspend();
+
+	/* If xenstored_ready is nonzero, that means we have already talked to
+	 * xenstore and set up watches. These watches will be restored by
+	 * xs_resume, but that requires communication over the port established
+	 * below that is not visible to anyone until the ioctl returns.
+	 *
+	 * This can be resolved by splitting the ioctl into two parts
+	 * (postponing the resume until xenstored is active) but this is
+	 * unnecessarily complex for the intended use where xenstored is only
+	 * started once - so return -EEXIST if it's already running.
+	 */
+	if (xenstored_ready)
+		goto out_err;
+
+	gnttab_grant_foreign_access_ref(GNTTAB_RESERVED_XENSTORE, domid,
+			virt_to_mfn(xen_store_interface), 0 /* writable */);
+
+	arg.dom = DOMID_SELF;
+	arg.remote_dom = domid;
+
+	err = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &arg);
+	if (err)
+		goto out_err;
+
+	if (xen_store_evtchn > 0)
+		xb_deinit_comms();
+
+	xen_store_evtchn = arg.port;
+
+	xs_resume();
+
+	return arg.port;
+
+ out_err:
+	xs_suspend_cancel();
+	return err;
+}
+
 static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned long data)
 {
 	if (!capable(CAP_SYS_ADMIN))
@@ -33,6 +81,9 @@ static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned l
 				return xen_store_evtchn;
 			return -ENODEV;
 
+		case IOCTL_XENBUS_BACKEND_SETUP:
+			return xenbus_alloc(data);
+
 		default:
 			return -ENOTTY;
 	}
diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
index 15f8a00..11e27c3 100644
--- a/include/xen/grant_table.h
+++ b/include/xen/grant_table.h
@@ -46,6 +46,8 @@
 
 #include <xen/features.h>
 
+#define GNTTAB_RESERVED_XENSTORE 1
+
 /* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
 #define NR_GRANT_FRAMES 4
 
diff --git a/include/xen/xenbus_dev.h b/include/xen/xenbus_dev.h
index ac5f0fe..bbee8c6 100644
--- a/include/xen/xenbus_dev.h
+++ b/include/xen/xenbus_dev.h
@@ -38,4 +38,7 @@
 #define IOCTL_XENBUS_BACKEND_EVTCHN			\
 	_IOC(_IOC_NONE, 'B', 0, 0)
 
+#define IOCTL_XENBUS_BACKEND_SETUP			\
+	_IOC(_IOC_NONE, 'B', 1, 0)
+
 #endif /* __LINUX_XEN_XENBUS_DEV_H__ */
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:10:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:10:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRl6l-00047r-3R; Tue, 08 May 2012 14:09:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <waldi@debian.org>) id 1SRl6j-00047m-GJ
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:09:41 +0000
Received: from [85.158.143.99:24110] by server-2.bemta-4.messagelabs.com id
	6D/5E-17550-42929AF4; Tue, 08 May 2012 14:09:40 +0000
X-Env-Sender: waldi@debian.org
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336486178!19977032!1
X-Originating-IP: [82.139.201.20]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31399 invoked from network); 8 May 2012 14:09:39 -0000
Received: from wavehammer.waldi.eu.org (HELO wavehammer.waldi.eu.org)
	(82.139.201.20)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 14:09:39 -0000
Received: by wavehammer.waldi.eu.org (Postfix, from userid 1000)
	id D99EF541C6; Tue,  8 May 2012 16:09:36 +0200 (CEST)
Date: Tue, 8 May 2012 16:09:36 +0200
From: Bastian Blank <waldi@debian.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508140936.GA25033@wavehammer.waldi.eu.org>
Mail-Followup-To: Bastian Blank <waldi@debian.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 10:34:15AM +0100, Ian Campbell wrote:
> The updated TODO list follows. Per the release plan a strong case will
> now have to be made as to why new items should be added to the list,
> especially as a blocker, rather than deferred to 4.3.

For the beginning, I have the following points:

* xs.h -> xenstore.h
* Directory usage in libxl
  - dumps in /var/xen: wtf?
  - user data files in /var/lib/xen:
    What are the guarantees given for this files?
  - /var/run/libxl for temporary files

Bastian

-- 
Deflector shields just came on, Captain.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:10:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:10:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRl6l-00047r-3R; Tue, 08 May 2012 14:09:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <waldi@debian.org>) id 1SRl6j-00047m-GJ
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:09:41 +0000
Received: from [85.158.143.99:24110] by server-2.bemta-4.messagelabs.com id
	6D/5E-17550-42929AF4; Tue, 08 May 2012 14:09:40 +0000
X-Env-Sender: waldi@debian.org
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336486178!19977032!1
X-Originating-IP: [82.139.201.20]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31399 invoked from network); 8 May 2012 14:09:39 -0000
Received: from wavehammer.waldi.eu.org (HELO wavehammer.waldi.eu.org)
	(82.139.201.20)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 14:09:39 -0000
Received: by wavehammer.waldi.eu.org (Postfix, from userid 1000)
	id D99EF541C6; Tue,  8 May 2012 16:09:36 +0200 (CEST)
Date: Tue, 8 May 2012 16:09:36 +0200
From: Bastian Blank <waldi@debian.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508140936.GA25033@wavehammer.waldi.eu.org>
Mail-Followup-To: Bastian Blank <waldi@debian.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 10:34:15AM +0100, Ian Campbell wrote:
> The updated TODO list follows. Per the release plan a strong case will
> now have to be made as to why new items should be added to the list,
> especially as a blocker, rather than deferred to 4.3.

For the beginning, I have the following points:

* xs.h -> xenstore.h
* Directory usage in libxl
  - dumps in /var/xen: wtf?
  - user data files in /var/lib/xen:
    What are the guarantees given for this files?
  - /var/run/libxl for temporary files

Bastian

-- 
Deflector shields just came on, Captain.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:22:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:22:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRlIn-0004Hx-BO; Tue, 08 May 2012 14:22:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRlIm-0004Hs-DD
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 14:22:08 +0000
Received: from [85.158.143.35:45419] by server-2.bemta-4.messagelabs.com id
	0D/D2-17550-F0C29AF4; Tue, 08 May 2012 14:22:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336486925!14484907!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25207 invoked from network); 8 May 2012 14:22:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:22:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193861051"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:21:50 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:21:49 -0400
Message-ID: <1336486906.13218.0.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 15:21:46 +0100
In-Reply-To: <1336485288265-5694597.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485288265-5694597.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

[...]
> Please try to see further in the xl create output on pv-grub test...
> ...
> libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
> device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
> /usr/lib/xen/bin/qemu-system-i386
> ...
> Is it right?

It's not inherently wrong. A PV guest can end up with a qemu service
process to provide backends, like disk or VNC etc.

So the presence of a qemu does not necessarily imply an HVM guest.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:22:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:22:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRlIn-0004Hx-BO; Tue, 08 May 2012 14:22:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRlIm-0004Hs-DD
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 14:22:08 +0000
Received: from [85.158.143.35:45419] by server-2.bemta-4.messagelabs.com id
	0D/D2-17550-F0C29AF4; Tue, 08 May 2012 14:22:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336486925!14484907!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25207 invoked from network); 8 May 2012 14:22:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:22:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193861051"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:21:50 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:21:49 -0400
Message-ID: <1336486906.13218.0.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>
Date: Tue, 8 May 2012 15:21:46 +0100
In-Reply-To: <1336485288265-5694597.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485288265-5694597.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

[...]
> Please try to see further in the xl create output on pv-grub test...
> ...
> libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
> device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
> /usr/lib/xen/bin/qemu-system-i386
> ...
> Is it right?

It's not inherently wrong. A PV guest can end up with a qemu service
process to provide backends, like disk or VNC etc.

So the presence of a qemu does not necessarily imply an HVM guest.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:39:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:39:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRlZD-0004T9-Sm; Tue, 08 May 2012 14:39:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRlZB-0004T4-PB
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:39:05 +0000
Received: from [85.158.143.99:42733] by server-1.bemta-4.messagelabs.com id
	BA/D4-20925-90039AF4; Tue, 08 May 2012 14:39:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336487942!21740351!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24024 invoked from network); 8 May 2012 14:39:04 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:39:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193864790"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:38:52 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:38:52 -0400
Message-ID: <1336487933.13218.9.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bastian Blank <waldi@debian.org>
Date: Tue, 8 May 2012 15:38:53 +0100
In-Reply-To: <20120508140936.GA25033@wavehammer.waldi.eu.org>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<20120508140936.GA25033@wavehammer.waldi.eu.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian.Jackson@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:09 -0400, Bastian Blank wrote:
> On Tue, May 08, 2012 at 10:34:15AM +0100, Ian Campbell wrote:
> > The updated TODO list follows. Per the release plan a strong case will
> > now have to be made as to why new items should be added to the list,
> > especially as a blocker, rather than deferred to 4.3.
> 
> For the beginning, I have the following points:
> 
> * xs.h -> xenstore.h

I think there was general agreement that this should be done for 4.2.

> * Directory usage in libxl
>   - dumps in /var/xen: wtf?

This is the same location as xend uses, so in that sense it is
compatible.

However I don't think this is somewhere that xl (nb: this is a property
of xl, not libxl) needs to slavishly follow what xend did.

What would the correct FHS location for these dumps be?

>   - user data files in /var/lib/xen:
>     What are the guarantees given for this files?

I suppose you are asking for /var/lib vs /var/run (or /run) reasons?

One of the keys by which you lookup this userdata is domid. Which means
that the lifetime of this data is bounded by the life of a domain. Which
means that it need not persist over reboot (which I think argues for
(/var)?/run)

I suppose the other interesting facet is allowable size. The description
of the interface doesn't have anything to say about size. Ian J -- any
thoughts?

>   - /var/run/libxl for temporary files

Are you suggesting that this is being wrongly used by libxl, or that
libxl should use this location for more things than it currently does?
Perhaps some stuff should instead be in /tmp or $TMPDIR?

Other than the xs.h naming issue I don't see anything here which I think
is a blocker for 4.2, I'd say they are mostly "nice to have".

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:39:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:39:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRlZD-0004T9-Sm; Tue, 08 May 2012 14:39:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRlZB-0004T4-PB
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:39:05 +0000
Received: from [85.158.143.99:42733] by server-1.bemta-4.messagelabs.com id
	BA/D4-20925-90039AF4; Tue, 08 May 2012 14:39:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336487942!21740351!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24024 invoked from network); 8 May 2012 14:39:04 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:39:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193864790"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:38:52 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:38:52 -0400
Message-ID: <1336487933.13218.9.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bastian Blank <waldi@debian.org>
Date: Tue, 8 May 2012 15:38:53 +0100
In-Reply-To: <20120508140936.GA25033@wavehammer.waldi.eu.org>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<20120508140936.GA25033@wavehammer.waldi.eu.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian.Jackson@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:09 -0400, Bastian Blank wrote:
> On Tue, May 08, 2012 at 10:34:15AM +0100, Ian Campbell wrote:
> > The updated TODO list follows. Per the release plan a strong case will
> > now have to be made as to why new items should be added to the list,
> > especially as a blocker, rather than deferred to 4.3.
> 
> For the beginning, I have the following points:
> 
> * xs.h -> xenstore.h

I think there was general agreement that this should be done for 4.2.

> * Directory usage in libxl
>   - dumps in /var/xen: wtf?

This is the same location as xend uses, so in that sense it is
compatible.

However I don't think this is somewhere that xl (nb: this is a property
of xl, not libxl) needs to slavishly follow what xend did.

What would the correct FHS location for these dumps be?

>   - user data files in /var/lib/xen:
>     What are the guarantees given for this files?

I suppose you are asking for /var/lib vs /var/run (or /run) reasons?

One of the keys by which you lookup this userdata is domid. Which means
that the lifetime of this data is bounded by the life of a domain. Which
means that it need not persist over reboot (which I think argues for
(/var)?/run)

I suppose the other interesting facet is allowable size. The description
of the interface doesn't have anything to say about size. Ian J -- any
thoughts?

>   - /var/run/libxl for temporary files

Are you suggesting that this is being wrongly used by libxl, or that
libxl should use this location for more things than it currently does?
Perhaps some stuff should instead be in /tmp or $TMPDIR?

Other than the xs.h naming issue I don't see anything here which I think
is a blocker for 4.2, I'd say they are mostly "nice to have".

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:55:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:55:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRloa-0004eq-P2; Tue, 08 May 2012 14:55:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SRloZ-0004el-Ge
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:54:59 +0000
Received: from [85.158.139.83:8353] by server-5.bemta-5.messagelabs.com id
	01/12-13566-2C339AF4; Tue, 08 May 2012 14:54:58 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336488898!27305484!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8781 invoked from network); 8 May 2012 14:54:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:54:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12358310"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 14:54:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 15:54:56 +0100
Date: Tue, 8 May 2012 15:54:24 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336474322.14542.61.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 8 May 2012, Ian Campbell wrote:
> Where are we with the following?
> 
> I've not seen anything recently about PCI passthrough.

The last patch series that was sent is:

http://marc.info/?l=qemu-devel&m=133346733411606&w=2

it is still stuck waiting for reviews. Given that QEMU is in freeze for
the next release release now, I don't think anything is going to happen
in the next few weeks.
I could backport the patch series to the upstream QEMU tree that we use
with xen-unstable, but considering that we are in freeze ourselves and
that upstream QEMU is not used by default with HVM guests we
might as well wait for the beginning of the next release cycle.


> Is it still the case that save/restore is waiting on lib{c,l} patches
> and Remus is waiting for those? What's the hold up there?

The libxl save/restore patches haven't been applied yet.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 14:55:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 14:55:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRloa-0004eq-P2; Tue, 08 May 2012 14:55:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SRloZ-0004el-Ge
	for xen-devel@lists.xen.org; Tue, 08 May 2012 14:54:59 +0000
Received: from [85.158.139.83:8353] by server-5.bemta-5.messagelabs.com id
	01/12-13566-2C339AF4; Tue, 08 May 2012 14:54:58 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336488898!27305484!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8781 invoked from network); 8 May 2012 14:54:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 14:54:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330905600"; d="scan'208";a="12358310"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 14:54:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 15:54:56 +0100
Date: Tue, 8 May 2012 15:54:24 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336474322.14542.61.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 8 May 2012, Ian Campbell wrote:
> Where are we with the following?
> 
> I've not seen anything recently about PCI passthrough.

The last patch series that was sent is:

http://marc.info/?l=qemu-devel&m=133346733411606&w=2

it is still stuck waiting for reviews. Given that QEMU is in freeze for
the next release release now, I don't think anything is going to happen
in the next few weeks.
I could backport the patch series to the upstream QEMU tree that we use
with xen-unstable, but considering that we are in freeze ourselves and
that upstream QEMU is not used by default with HVM guests we
might as well wait for the beginning of the next release cycle.


> Is it still the case that save/restore is waiting on lib{c,l} patches
> and Remus is waiting for those? What's the hold up there?

The libxl save/restore patches haven't been applied yet.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:00:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:00:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRltj-0004oi-H5; Tue, 08 May 2012 15:00:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRlti-0004ob-5T
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:00:18 +0000
Received: from [85.158.143.35:50192] by server-3.bemta-4.messagelabs.com id
	AD/36-05853-00539AF4; Tue, 08 May 2012 15:00:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336489212!10130759!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20207 invoked from network); 8 May 2012 15:00:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 15:00:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193869487"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:59:33 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:59:33 -0400
Message-ID: <1336489170.13218.11.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Date: Tue, 8 May 2012 15:59:30 +0100
In-Reply-To: <alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wrote:
> On Tue, 8 May 2012, Ian Campbell wrote:
> > Where are we with the following?
> > 
> > I've not seen anything recently about PCI passthrough.
> 
> The last patch series that was sent is:
> 
> http://marc.info/?l=qemu-devel&m=133346733411606&w=2
> 
> it is still stuck waiting for reviews. Given that QEMU is in freeze for
> the next release release now, I don't think anything is going to happen
> in the next few weeks.
> I could backport the patch series to the upstream QEMU tree that we use
> with xen-unstable, but considering that we are in freeze ourselves and
> that upstream QEMU is not used by default with HVM guests we
> might as well wait for the beginning of the next release cycle.

Thanks. I will mark these as "deferred to 4.3" and remove from the list.
If they do go into upstream we can revisit whether we backport.

> > Is it still the case that save/restore is waiting on lib{c,l} patches
> > and Remus is waiting for those? What's the hold up there?
> 
> The libxl save/restore patches haven't been applied yet.

Ian J -- have you dropped these or are you waiting for something?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:00:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:00:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRltj-0004oi-H5; Tue, 08 May 2012 15:00:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRlti-0004ob-5T
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:00:18 +0000
Received: from [85.158.143.35:50192] by server-3.bemta-4.messagelabs.com id
	AD/36-05853-00539AF4; Tue, 08 May 2012 15:00:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336489212!10130759!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20207 invoked from network); 8 May 2012 15:00:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 15:00:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,551,1330923600"; d="scan'208";a="193869487"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 10:59:33 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	10:59:33 -0400
Message-ID: <1336489170.13218.11.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Date: Tue, 8 May 2012 15:59:30 +0100
In-Reply-To: <alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wrote:
> On Tue, 8 May 2012, Ian Campbell wrote:
> > Where are we with the following?
> > 
> > I've not seen anything recently about PCI passthrough.
> 
> The last patch series that was sent is:
> 
> http://marc.info/?l=qemu-devel&m=133346733411606&w=2
> 
> it is still stuck waiting for reviews. Given that QEMU is in freeze for
> the next release release now, I don't think anything is going to happen
> in the next few weeks.
> I could backport the patch series to the upstream QEMU tree that we use
> with xen-unstable, but considering that we are in freeze ourselves and
> that upstream QEMU is not used by default with HVM guests we
> might as well wait for the beginning of the next release cycle.

Thanks. I will mark these as "deferred to 4.3" and remove from the list.
If they do go into upstream we can revisit whether we backport.

> > Is it still the case that save/restore is waiting on lib{c,l} patches
> > and Remus is waiting for those? What's the hold up there?
> 
> The libxl save/restore patches haven't been applied yet.

Ian J -- have you dropped these or are you waiting for something?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:07:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:07:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRm0i-00050Y-Dp; Tue, 08 May 2012 15:07:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SRm0h-00050T-UK
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:07:32 +0000
Received: from [85.158.143.35:37216] by server-1.bemta-4.messagelabs.com id
	49/73-20925-3B639AF4; Tue, 08 May 2012 15:07:31 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336489648!11321897!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=1.8 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	INFO_TLD,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3695 invoked from network); 8 May 2012 15:07:30 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:07:30 -0000
Received: from mail-bk0-f45.google.com (mail-bk0-f45.google.com
	[209.85.214.45]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q48F7CpC025282
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xen.org>; Tue, 8 May 2012 08:07:13 -0700
Received: by bkwj10 with SMTP id j10so5434516bkw.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 08:07:10 -0700 (PDT)
Received: by 10.204.148.83 with SMTP id o19mr7062232bkv.96.1336489630660; Tue,
	08 May 2012 08:07:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.53.198 with HTTP; Tue, 8 May 2012 08:06:30 -0700 (PDT)
In-Reply-To: <1336489170.13218.11.camel@cthulhu.hellion.org.uk>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Tue, 8 May 2012 10:06:30 -0500
Message-ID: <CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
	Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3403722634409047213=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3403722634409047213==
Content-Type: multipart/alternative; boundary=0015175cdc56ae79d104bf87bdcd

--0015175cdc56ae79d104bf87bdcd
Content-Type: text/plain; charset=ISO-8859-1

On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wrote:
> > On Tue, 8 May 2012, Ian Campbell wrote:
> > > Where are we with the following?
> > >
> > > I've not seen anything recently about PCI passthrough.
> >
> > The last patch series that was sent is:
> >
> > http://marc.info/?l=qemu-devel&m=133346733411606&w=2
> >
> > it is still stuck waiting for reviews. Given that QEMU is in freeze for
> > the next release release now, I don't think anything is going to happen
> > in the next few weeks.
> > I could backport the patch series to the upstream QEMU tree that we use
> > with xen-unstable, but considering that we are in freeze ourselves and
> > that upstream QEMU is not used by default with HVM guests we
> > might as well wait for the beginning of the next release cycle.
>
> Thanks. I will mark these as "deferred to 4.3" and remove from the list.
> If they do go into upstream we can revisit whether we backport.
>
> > > Is it still the case that save/restore is waiting on lib{c,l} patches
> > > and Remus is waiting for those? What's the hold up there?
> >
> > The libxl save/restore patches haven't been applied yet.
>
> Ian J -- have you dropped these or are you waiting for something?
>
>
>

Ian J, also note that the remus libxl patches may not apply cleanly after
applying stefano's patches (even these might require some re-basing),
given that a lot of patches that came in later (the event based stuff, Ian
C's refactorings,etc)
went in.
If you could just let me know when they have been committed, I can
certainly
rebase mine and post them.

thanks
shriram

--0015175cdc56ae79d104bf87bdcd
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <sp=
an dir=3D"ltr">&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_bl=
ank">Ian.Campbell@citrix.com</a>&gt;</span> wrote:<br><blockquote style=3D"=
margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204=
);border-left-width:1px;border-left-style:solid" class=3D"gmail_quote">

<div class=3D"im">On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wro=
te:<br>
&gt; On Tue, 8 May 2012, Ian Campbell wrote:<br>
&gt; &gt; Where are we with the following?<br>
&gt; &gt;<br>
&gt; &gt; I&#39;ve not seen anything recently about PCI passthrough.<br>
&gt;<br>
&gt; The last patch series that was sent is:<br>
&gt;<br>
&gt; <a href=3D"http://marc.info/?l=3Dqemu-devel&amp;m=3D133346733411606&am=
p;w=3D2" target=3D"_blank">http://marc.info/?l=3Dqemu-devel&amp;m=3D1333467=
33411606&amp;w=3D2</a><br>
&gt;<br>
&gt; it is still stuck waiting for reviews. Given that QEMU is in freeze fo=
r<br>
&gt; the next release release now, I don&#39;t think anything is going to h=
appen<br>
&gt; in the next few weeks.<br>
&gt; I could backport the patch series to the upstream QEMU tree that we us=
e<br>
&gt; with xen-unstable, but considering that we are in freeze ourselves and=
<br>
&gt; that upstream QEMU is not used by default with HVM guests we<br>
&gt; might as well wait for the beginning of the next release cycle.<br>
<br>
</div>Thanks. I will mark these as &quot;deferred to 4.3&quot; and remove f=
rom the list.<br>
If they do go into upstream we can revisit whether we backport.<br>
<div class=3D"im"><br>
&gt; &gt; Is it still the case that save/restore is waiting on lib{c,l} pat=
ches<br>
&gt; &gt; and Remus is waiting for those? What&#39;s the hold up there?<br>
&gt;<br>
&gt; The libxl save/restore patches haven&#39;t been applied yet.<br>
<br>
</div><p>Ian J -- have you dropped these or are you waiting for something?<=
br>
</p><p>=A0</p></blockquote><div>=A0</div></div><div>Ian J, also note that t=
he remus libxl patches may not apply cleanly after</div><div>applying stefa=
no&#39;s patches (even these might require some re-basing),</div><div>given=
 that a lot of patches that came in later=A0(the event based stuff, Ian C&#=
39;s refactorings,etc)</div>

<div>went in.<br></div><div>If you could just let me know when they have be=
en committed, I can certainly </div><div>rebase mine and post them.</div><d=
iv>=A0</div><div>thanks</div><div>shriram</div>

--0015175cdc56ae79d104bf87bdcd--


--===============3403722634409047213==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3403722634409047213==--


From xen-devel-bounces@lists.xen.org Tue May 08 15:07:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:07:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRm0i-00050Y-Dp; Tue, 08 May 2012 15:07:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SRm0h-00050T-UK
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:07:32 +0000
Received: from [85.158.143.35:37216] by server-1.bemta-4.messagelabs.com id
	49/73-20925-3B639AF4; Tue, 08 May 2012 15:07:31 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336489648!11321897!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=1.8 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	INFO_TLD,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3695 invoked from network); 8 May 2012 15:07:30 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:07:30 -0000
Received: from mail-bk0-f45.google.com (mail-bk0-f45.google.com
	[209.85.214.45]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q48F7CpC025282
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xen.org>; Tue, 8 May 2012 08:07:13 -0700
Received: by bkwj10 with SMTP id j10so5434516bkw.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 08:07:10 -0700 (PDT)
Received: by 10.204.148.83 with SMTP id o19mr7062232bkv.96.1336489630660; Tue,
	08 May 2012 08:07:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.53.198 with HTTP; Tue, 8 May 2012 08:06:30 -0700 (PDT)
In-Reply-To: <1336489170.13218.11.camel@cthulhu.hellion.org.uk>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Tue, 8 May 2012 10:06:30 -0500
Message-ID: <CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
	Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3403722634409047213=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3403722634409047213==
Content-Type: multipart/alternative; boundary=0015175cdc56ae79d104bf87bdcd

--0015175cdc56ae79d104bf87bdcd
Content-Type: text/plain; charset=ISO-8859-1

On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wrote:
> > On Tue, 8 May 2012, Ian Campbell wrote:
> > > Where are we with the following?
> > >
> > > I've not seen anything recently about PCI passthrough.
> >
> > The last patch series that was sent is:
> >
> > http://marc.info/?l=qemu-devel&m=133346733411606&w=2
> >
> > it is still stuck waiting for reviews. Given that QEMU is in freeze for
> > the next release release now, I don't think anything is going to happen
> > in the next few weeks.
> > I could backport the patch series to the upstream QEMU tree that we use
> > with xen-unstable, but considering that we are in freeze ourselves and
> > that upstream QEMU is not used by default with HVM guests we
> > might as well wait for the beginning of the next release cycle.
>
> Thanks. I will mark these as "deferred to 4.3" and remove from the list.
> If they do go into upstream we can revisit whether we backport.
>
> > > Is it still the case that save/restore is waiting on lib{c,l} patches
> > > and Remus is waiting for those? What's the hold up there?
> >
> > The libxl save/restore patches haven't been applied yet.
>
> Ian J -- have you dropped these or are you waiting for something?
>
>
>

Ian J, also note that the remus libxl patches may not apply cleanly after
applying stefano's patches (even these might require some re-basing),
given that a lot of patches that came in later (the event based stuff, Ian
C's refactorings,etc)
went in.
If you could just let me know when they have been committed, I can
certainly
rebase mine and post them.

thanks
shriram

--0015175cdc56ae79d104bf87bdcd
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <sp=
an dir=3D"ltr">&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_bl=
ank">Ian.Campbell@citrix.com</a>&gt;</span> wrote:<br><blockquote style=3D"=
margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204=
);border-left-width:1px;border-left-style:solid" class=3D"gmail_quote">

<div class=3D"im">On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wro=
te:<br>
&gt; On Tue, 8 May 2012, Ian Campbell wrote:<br>
&gt; &gt; Where are we with the following?<br>
&gt; &gt;<br>
&gt; &gt; I&#39;ve not seen anything recently about PCI passthrough.<br>
&gt;<br>
&gt; The last patch series that was sent is:<br>
&gt;<br>
&gt; <a href=3D"http://marc.info/?l=3Dqemu-devel&amp;m=3D133346733411606&am=
p;w=3D2" target=3D"_blank">http://marc.info/?l=3Dqemu-devel&amp;m=3D1333467=
33411606&amp;w=3D2</a><br>
&gt;<br>
&gt; it is still stuck waiting for reviews. Given that QEMU is in freeze fo=
r<br>
&gt; the next release release now, I don&#39;t think anything is going to h=
appen<br>
&gt; in the next few weeks.<br>
&gt; I could backport the patch series to the upstream QEMU tree that we us=
e<br>
&gt; with xen-unstable, but considering that we are in freeze ourselves and=
<br>
&gt; that upstream QEMU is not used by default with HVM guests we<br>
&gt; might as well wait for the beginning of the next release cycle.<br>
<br>
</div>Thanks. I will mark these as &quot;deferred to 4.3&quot; and remove f=
rom the list.<br>
If they do go into upstream we can revisit whether we backport.<br>
<div class=3D"im"><br>
&gt; &gt; Is it still the case that save/restore is waiting on lib{c,l} pat=
ches<br>
&gt; &gt; and Remus is waiting for those? What&#39;s the hold up there?<br>
&gt;<br>
&gt; The libxl save/restore patches haven&#39;t been applied yet.<br>
<br>
</div><p>Ian J -- have you dropped these or are you waiting for something?<=
br>
</p><p>=A0</p></blockquote><div>=A0</div></div><div>Ian J, also note that t=
he remus libxl patches may not apply cleanly after</div><div>applying stefa=
no&#39;s patches (even these might require some re-basing),</div><div>given=
 that a lot of patches that came in later=A0(the event based stuff, Ian C&#=
39;s refactorings,etc)</div>

<div>went in.<br></div><div>If you could just let me know when they have be=
en committed, I can certainly </div><div>rebase mine and post them.</div><d=
iv>=A0</div><div>thanks</div><div>shriram</div>

--0015175cdc56ae79d104bf87bdcd--


--===============3403722634409047213==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3403722634409047213==--


From xen-devel-bounces@lists.xen.org Tue May 08 15:12:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:12:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRm4o-00057z-44; Tue, 08 May 2012 15:11:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <waldi@debian.org>) id 1SRm4n-00057t-4g
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:11:45 +0000
Received: from [193.109.254.147:19225] by server-12.bemta-14.messagelabs.com
	id CF/11-05898-0B739AF4; Tue, 08 May 2012 15:11:44 +0000
X-Env-Sender: waldi@debian.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336489902!1355301!1
X-Originating-IP: [82.139.201.20]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19280 invoked from network); 8 May 2012 15:11:43 -0000
Received: from wavehammer.waldi.eu.org (HELO wavehammer.waldi.eu.org)
	(82.139.201.20)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:11:43 -0000
Received: by wavehammer.waldi.eu.org (Postfix, from userid 1000)
	id E131D541C6; Tue,  8 May 2012 17:11:40 +0200 (CEST)
Date: Tue, 8 May 2012 17:11:40 +0200
From: Bastian Blank <waldi@debian.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508151140.GA26382@wavehammer.waldi.eu.org>
Mail-Followup-To: Bastian Blank <waldi@debian.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>, Ian.Jackson@citrix.com
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<20120508140936.GA25033@wavehammer.waldi.eu.org>
	<1336487933.13218.9.camel@cthulhu.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336487933.13218.9.camel@cthulhu.hellion.org.uk>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Ian.Jackson@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 03:38:53PM +0100, Ian Campbell wrote:
> On Tue, 2012-05-08 at 10:09 -0400, Bastian Blank wrote:
> > * Directory usage in libxl
> >   - dumps in /var/xen: wtf?
> However I don't think this is somewhere that xl (nb: this is a property
> of xl, not libxl) needs to slavishly follow what xend did.
> What would the correct FHS location for these dumps be?

Unsure. The FHS defines /var/crash for system crash dumps, but it is not
used everywhere. So I would use /var/lib/xen/dump or so.

> >   - user data files in /var/lib/xen:
> >     What are the guarantees given for this files?
> I suppose you are asking for /var/lib vs /var/run (or /run) reasons?

Exactly.

> One of the keys by which you lookup this userdata is domid. Which means
> that the lifetime of this data is bounded by the life of a domain. Which
> means that it need not persist over reboot (which I think argues for
> (/var)?/run)

I don't think rebooting the control domain without rebooting Xen will
work right now. So /var/run is the correct location.

On further thoughts: Why not push them into xenstore?

> >   - /var/run/libxl for temporary files
> Are you suggesting that this is being wrongly used by libxl, or that
> libxl should use this location for more things than it currently does?
> Perhaps some stuff should instead be in /tmp or $TMPDIR?

$TMPDIR or the fallback /tmp is the correct location.

> Other than the xs.h naming issue I don't see anything here which I think
> is a blocker for 4.2, I'd say they are mostly "nice to have".

I'm just collecting changes for the Debian packages.

Bastian

-- 
There is a multi-legged creature crawling on your shoulder.
		-- Spock, "A Taste of Armageddon", stardate 3193.9

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:12:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:12:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRm4o-00057z-44; Tue, 08 May 2012 15:11:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <waldi@debian.org>) id 1SRm4n-00057t-4g
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:11:45 +0000
Received: from [193.109.254.147:19225] by server-12.bemta-14.messagelabs.com
	id CF/11-05898-0B739AF4; Tue, 08 May 2012 15:11:44 +0000
X-Env-Sender: waldi@debian.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336489902!1355301!1
X-Originating-IP: [82.139.201.20]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19280 invoked from network); 8 May 2012 15:11:43 -0000
Received: from wavehammer.waldi.eu.org (HELO wavehammer.waldi.eu.org)
	(82.139.201.20)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:11:43 -0000
Received: by wavehammer.waldi.eu.org (Postfix, from userid 1000)
	id E131D541C6; Tue,  8 May 2012 17:11:40 +0200 (CEST)
Date: Tue, 8 May 2012 17:11:40 +0200
From: Bastian Blank <waldi@debian.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508151140.GA26382@wavehammer.waldi.eu.org>
Mail-Followup-To: Bastian Blank <waldi@debian.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>, Ian.Jackson@citrix.com
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<20120508140936.GA25033@wavehammer.waldi.eu.org>
	<1336487933.13218.9.camel@cthulhu.hellion.org.uk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336487933.13218.9.camel@cthulhu.hellion.org.uk>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Ian.Jackson@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 03:38:53PM +0100, Ian Campbell wrote:
> On Tue, 2012-05-08 at 10:09 -0400, Bastian Blank wrote:
> > * Directory usage in libxl
> >   - dumps in /var/xen: wtf?
> However I don't think this is somewhere that xl (nb: this is a property
> of xl, not libxl) needs to slavishly follow what xend did.
> What would the correct FHS location for these dumps be?

Unsure. The FHS defines /var/crash for system crash dumps, but it is not
used everywhere. So I would use /var/lib/xen/dump or so.

> >   - user data files in /var/lib/xen:
> >     What are the guarantees given for this files?
> I suppose you are asking for /var/lib vs /var/run (or /run) reasons?

Exactly.

> One of the keys by which you lookup this userdata is domid. Which means
> that the lifetime of this data is bounded by the life of a domain. Which
> means that it need not persist over reboot (which I think argues for
> (/var)?/run)

I don't think rebooting the control domain without rebooting Xen will
work right now. So /var/run is the correct location.

On further thoughts: Why not push them into xenstore?

> >   - /var/run/libxl for temporary files
> Are you suggesting that this is being wrongly used by libxl, or that
> libxl should use this location for more things than it currently does?
> Perhaps some stuff should instead be in /tmp or $TMPDIR?

$TMPDIR or the fallback /tmp is the correct location.

> Other than the xs.h naming issue I don't see anything here which I think
> is a blocker for 4.2, I'd say they are mostly "nice to have".

I'm just collecting changes for the Debian packages.

Bastian

-- 
There is a multi-legged creature crawling on your shoulder.
		-- Spock, "A Taste of Armageddon", stardate 3193.9

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:16:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:16:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRm9V-0005HH-Qb; Tue, 08 May 2012 15:16:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRm9U-0005HC-1d
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:16:36 +0000
Received: from [85.158.139.83:62658] by server-10.bemta-5.messagelabs.com id
	79/F8-08260-0D839AF4; Tue, 08 May 2012 15:16:32 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336490190!23438279!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTAyNDg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTAyNDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17345 invoked from network); 8 May 2012 15:16:31 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:16:31 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGji0NGuc=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-080-039.pools.arcor-ip.net [88.65.80.39])
	by smtp.strato.de (jored mo7) (RZmta 29.6 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id 602ef6o48EPciV ;
	Tue, 8 May 2012 17:16:30 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 5B44218637; Tue,  8 May 2012 17:16:29 +0200 (CEST)
Date: Tue, 8 May 2012 17:16:29 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508151629.GA14353@aepfle.de>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, Ian Campbell wrote:

> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
> 
> The time line is as follows:
> 
> 19 March        -- TODO list locked down
> 2 April         -- Feature Freeze
>                                                 << WE ARE HERE
> Mid/Late May    -- First release candidate
> Weekly          -- RCN+1 until it is ready
> 
> The updated TODO list follows. Per the release plan a strong case will
> now have to be made as to why new items should be added to the list,
> especially as a blocker, rather than deferred to 4.3.

Please consider "tools/configure: add options to pass EXTRA_CFLAGS"
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00537.html

Since qemu-upstream was imported, building tools with RPM_OPT_FLAGS will
not work anymore.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:16:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:16:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRm9V-0005HH-Qb; Tue, 08 May 2012 15:16:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SRm9U-0005HC-1d
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:16:36 +0000
Received: from [85.158.139.83:62658] by server-10.bemta-5.messagelabs.com id
	79/F8-08260-0D839AF4; Tue, 08 May 2012 15:16:32 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336490190!23438279!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTAyNDg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTAyNDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17345 invoked from network); 8 May 2012 15:16:31 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:16:31 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGji0NGuc=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-080-039.pools.arcor-ip.net [88.65.80.39])
	by smtp.strato.de (jored mo7) (RZmta 29.6 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id 602ef6o48EPciV ;
	Tue, 8 May 2012 17:16:30 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 5B44218637; Tue,  8 May 2012 17:16:29 +0200 (CEST)
Date: Tue, 8 May 2012 17:16:29 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508151629.GA14353@aepfle.de>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, Ian Campbell wrote:

> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
> 
> The time line is as follows:
> 
> 19 March        -- TODO list locked down
> 2 April         -- Feature Freeze
>                                                 << WE ARE HERE
> Mid/Late May    -- First release candidate
> Weekly          -- RCN+1 until it is ready
> 
> The updated TODO list follows. Per the release plan a strong case will
> now have to be made as to why new items should be added to the list,
> especially as a blocker, rather than deferred to 4.3.

Please consider "tools/configure: add options to pass EXTRA_CFLAGS"
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00537.html

Since qemu-upstream was imported, building tools with RPM_OPT_FLAGS will
not work anymore.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:24:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:24:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRmGi-0005nj-Uy; Tue, 08 May 2012 15:24:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRmGh-0005nZ-LC
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:24:03 +0000
Received: from [193.109.254.147:43333] by server-9.bemta-14.messagelabs.com id
	D7/29-05787-29A39AF4; Tue, 08 May 2012 15:24:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336490640!529579!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30895 invoked from network); 8 May 2012 15:24:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 15:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330923600"; d="scan'208";a="193875241"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 11:23:45 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:23:45 -0400
Message-ID: <1336490625.13218.17.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bastian Blank <waldi@debian.org>
Date: Tue, 8 May 2012 16:23:45 +0100
In-Reply-To: <20120508151140.GA26382@wavehammer.waldi.eu.org>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<20120508140936.GA25033@wavehammer.waldi.eu.org>
	<1336487933.13218.9.camel@cthulhu.hellion.org.uk>
	<20120508151140.GA26382@wavehammer.waldi.eu.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 11:11 -0400, Bastian Blank wrote:
> On Tue, May 08, 2012 at 03:38:53PM +0100, Ian Campbell wrote:
> > On Tue, 2012-05-08 at 10:09 -0400, Bastian Blank wrote:
> > > * Directory usage in libxl
> > >   - dumps in /var/xen: wtf?
> > However I don't think this is somewhere that xl (nb: this is a property
> > of xl, not libxl) needs to slavishly follow what xend did.
> > What would the correct FHS location for these dumps be?
> 
> Unsure. The FHS defines /var/crash for system crash dumps, but it is not
> used everywhere. So I would use /var/lib/xen/dump or so.

OK. Do you have that patch to hand?

> > >   - user data files in /var/lib/xen:
> > >     What are the guarantees given for this files?
> > I suppose you are asking for /var/lib vs /var/run (or /run) reasons?
> 
> Exactly.

Do you have that patch to hand too?

> > One of the keys by which you lookup this userdata is domid. Which means
> > that the lifetime of this data is bounded by the life of a domain. Which
> > means that it need not persist over reboot (which I think argues for
> > (/var)?/run)
> 
> I don't think rebooting the control domain without rebooting Xen will
> work right now. So /var/run is the correct location.

Right. (Can you guess my next question...)

Do you have that patch to hand too?

( ;-) )

> On further thoughts: Why not push them into xenstore?

AIUI the userdata facility is provided specifically for data which is
unsuitable for xenstore, due to size or whatever (XS has various limits,
to avoid abuse, which are relatively low).

> > >   - /var/run/libxl for temporary files
> > Are you suggesting that this is being wrongly used by libxl, or that
> > libxl should use this location for more things than it currently does?
> > Perhaps some stuff should instead be in /tmp or $TMPDIR?
> 
> $TMPDIR or the fallback /tmp is the correct location.
> 
> > Other than the xs.h naming issue I don't see anything here which I think
> > is a blocker for 4.2, I'd say they are mostly "nice to have".
> 
> I'm just collecting changes for the Debian packages.

Sure. I guess you will send out those patches as and when you are happy
with them?

Cheers,
Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:24:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:24:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRmGi-0005nj-Uy; Tue, 08 May 2012 15:24:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRmGh-0005nZ-LC
	for xen-devel@lists.xen.org; Tue, 08 May 2012 15:24:03 +0000
Received: from [193.109.254.147:43333] by server-9.bemta-14.messagelabs.com id
	D7/29-05787-29A39AF4; Tue, 08 May 2012 15:24:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336490640!529579!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTA4MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30895 invoked from network); 8 May 2012 15:24:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 15:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330923600"; d="scan'208";a="193875241"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 11:23:45 -0400
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	11:23:45 -0400
Message-ID: <1336490625.13218.17.camel@cthulhu.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bastian Blank <waldi@debian.org>
Date: Tue, 8 May 2012 16:23:45 +0100
In-Reply-To: <20120508151140.GA26382@wavehammer.waldi.eu.org>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<20120508140936.GA25033@wavehammer.waldi.eu.org>
	<1336487933.13218.9.camel@cthulhu.hellion.org.uk>
	<20120508151140.GA26382@wavehammer.waldi.eu.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] 4.2 TODO / Release Status
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 11:11 -0400, Bastian Blank wrote:
> On Tue, May 08, 2012 at 03:38:53PM +0100, Ian Campbell wrote:
> > On Tue, 2012-05-08 at 10:09 -0400, Bastian Blank wrote:
> > > * Directory usage in libxl
> > >   - dumps in /var/xen: wtf?
> > However I don't think this is somewhere that xl (nb: this is a property
> > of xl, not libxl) needs to slavishly follow what xend did.
> > What would the correct FHS location for these dumps be?
> 
> Unsure. The FHS defines /var/crash for system crash dumps, but it is not
> used everywhere. So I would use /var/lib/xen/dump or so.

OK. Do you have that patch to hand?

> > >   - user data files in /var/lib/xen:
> > >     What are the guarantees given for this files?
> > I suppose you are asking for /var/lib vs /var/run (or /run) reasons?
> 
> Exactly.

Do you have that patch to hand too?

> > One of the keys by which you lookup this userdata is domid. Which means
> > that the lifetime of this data is bounded by the life of a domain. Which
> > means that it need not persist over reboot (which I think argues for
> > (/var)?/run)
> 
> I don't think rebooting the control domain without rebooting Xen will
> work right now. So /var/run is the correct location.

Right. (Can you guess my next question...)

Do you have that patch to hand too?

( ;-) )

> On further thoughts: Why not push them into xenstore?

AIUI the userdata facility is provided specifically for data which is
unsuitable for xenstore, due to size or whatever (XS has various limits,
to avoid abuse, which are relatively low).

> > >   - /var/run/libxl for temporary files
> > Are you suggesting that this is being wrongly used by libxl, or that
> > libxl should use this location for more things than it currently does?
> > Perhaps some stuff should instead be in /tmp or $TMPDIR?
> 
> $TMPDIR or the fallback /tmp is the correct location.
> 
> > Other than the xs.h naming issue I don't see anything here which I think
> > is a blocker for 4.2, I'd say they are mostly "nice to have".
> 
> I'm just collecting changes for the Debian packages.

Sure. I guess you will send out those patches as and when you are happy
with them?

Cheers,
Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:42:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:42:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRmXg-0006GT-Q0; Tue, 08 May 2012 15:41:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SRmXf-0006GO-6j
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 15:41:35 +0000
Received: from [193.109.254.147:7784] by server-10.bemta-14.messagelabs.com id
	F4/7A-05847-EAE39AF4; Tue, 08 May 2012 15:41:34 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336491677!8218832!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14060 invoked from network); 8 May 2012 15:41:18 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:41:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48FfAcI000810
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 15:41:10 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48Ff9t7003385
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 15:41:09 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48Ff8Bh016109; Tue, 8 May 2012 10:41:08 -0500
MIME-Version: 1.0
Message-ID: <96f33541-2f55-4a5b-8815-1c41a0fbd592@default>
Date: Tue, 8 May 2012 08:40:51 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
	<aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
	<1336480869.14542.74.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336480869.14542.74.camel@zakaz.uk.xensource.com>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel@lists.xensource.com,
	Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Tuesday, May 08, 2012 6:41 AM
> To: Dan Magenheimer
> Cc: Olaf Hering; xen-devel@lists.xensource.com; Konrad Wilk
> Subject: RE: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> 
> On Mon, 2012-05-07 at 17:37 +0100, Dan Magenheimer wrote:
> > > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > > Sent: Sunday, May 06, 2012 3:36 AM
> > > To: Olaf Hering
> > > Cc: xen-devel@lists.xensource.com; Konrad Rzeszutek Wilk
> > > Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> > >
> > > On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > > > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> > > >
> > > > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > > > # HG changeset patch
> > > > > > # User Olaf Hering <olaf@aepfle.de>
> > > > > > # Date 1336159720 -7200
> > > > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > > > xl.cfg: document the maxmem= option
> > > > > >
> > > > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > > > >
> > > > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > > > --- a/docs/man/xl.cfg.pod.5
> > > > > > +++ b/docs/man/xl.cfg.pod.5
> > > > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > > > >  mode) and your guest workload consists of a a very large number of
> > > > > >  similar processes then increasing this value may improve performance.
> > > > > >
> > > > > > +=item B<maxmem=MBYTES>
> > > > > > +
> > > > > > +Specifies the maximum amount of memory the HVM guest can ever see.
> >
> > can _ever_ see...
> >
> > What about guest OS's that support hotplug memory?
> 
> Does the toolstack (need to) expose the capability to drive that as a
> host admin? I don't think xl does... In which case this wording can be
> tweaked when that feature is added?

I don't know if the matching support ever was implemented in xl,
but hotplug memory support for Xen is in upstream Linux.

http://lists.xen.org/archives/html/xen-devel/2011-05/msg01060.html 

If it _is_ in xl, "can ever see" seems a bit too strong... maybe
something like "memory the HVM guest can see unless changed later
via 'xl mem-max'" or "memory the HVM guest can see when it boots"
would be better.

But this is a nit.  It's impossible to both be precise and brief
in descriptions such as these.

> > Also, a subtle point, but is this the maximum physical address that
> > will contain read/write pages or the maximum amount of RAM that the
> > guest OS should be prepared to map as read/writeable (e.g. after
> > subtracting off reserved e820 ranges) or ???
> 
> I think it is total number of memory pages, not the maximum PFN. e.g.
> the maximum address might be 4.5GB on a 4GB machine with a PCI hole.
> 
> I *think*...

OK.  If so, then the proposed wording is fine, though maybe adding
one word "maximum amount of _usable_ memory" might help.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 15:42:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 15:42:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRmXg-0006GT-Q0; Tue, 08 May 2012 15:41:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SRmXf-0006GO-6j
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 15:41:35 +0000
Received: from [193.109.254.147:7784] by server-10.bemta-14.messagelabs.com id
	F4/7A-05847-EAE39AF4; Tue, 08 May 2012 15:41:34 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336491677!8218832!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14060 invoked from network); 8 May 2012 15:41:18 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 15:41:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48FfAcI000810
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 15:41:10 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48Ff9t7003385
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 15:41:09 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48Ff8Bh016109; Tue, 8 May 2012 10:41:08 -0500
MIME-Version: 1.0
Message-ID: <96f33541-2f55-4a5b-8815-1c41a0fbd592@default>
Date: Tue, 8 May 2012 08:40:51 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <c414728d0d12f1c3e416.1336159902@probook.site>
	<20120504194222.GA28634@phenom.dumpdata.com>
	<20120504201802.GA16466@aepfle.de>
	<1336296932.5933.9.camel@cthulhu.hellion.org.uk>
	<aefbf18f-3bfe-4af2-bc49-2488bc9cc490@default>
	<1336480869.14542.74.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336480869.14542.74.camel@zakaz.uk.xensource.com>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel@lists.xensource.com,
	Konrad Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Tuesday, May 08, 2012 6:41 AM
> To: Dan Magenheimer
> Cc: Olaf Hering; xen-devel@lists.xensource.com; Konrad Wilk
> Subject: RE: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> 
> On Mon, 2012-05-07 at 17:37 +0100, Dan Magenheimer wrote:
> > > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > > Sent: Sunday, May 06, 2012 3:36 AM
> > > To: Olaf Hering
> > > Cc: xen-devel@lists.xensource.com; Konrad Rzeszutek Wilk
> > > Subject: Re: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
> > >
> > > On Fri, 2012-05-04 at 16:18 -0400, Olaf Hering wrote:
> > > > On Fri, May 04, Konrad Rzeszutek Wilk wrote:
> > > >
> > > > > On Fri, May 04, 2012 at 09:31:42PM +0200, Olaf Hering wrote:
> > > > > > # HG changeset patch
> > > > > > # User Olaf Hering <olaf@aepfle.de>
> > > > > > # Date 1336159720 -7200
> > > > > > # Node ID c414728d0d12f1c3e416e40cceefca2f0b00578e
> > > > > > # Parent  8f556a70ae0bef47e242f9e7be0a054769fc8277
> > > > > > xl.cfg: document the maxmem= option
> > > > > >
> > > > > > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > > > > >
> > > > > > diff -r 8f556a70ae0b -r c414728d0d12 docs/man/xl.cfg.pod.5
> > > > > > --- a/docs/man/xl.cfg.pod.5
> > > > > > +++ b/docs/man/xl.cfg.pod.5
> > > > > > @@ -484,6 +484,14 @@ are not using hardware assisted paging (
> > > > > >  mode) and your guest workload consists of a a very large number of
> > > > > >  similar processes then increasing this value may improve performance.
> > > > > >
> > > > > > +=item B<maxmem=MBYTES>
> > > > > > +
> > > > > > +Specifies the maximum amount of memory the HVM guest can ever see.
> >
> > can _ever_ see...
> >
> > What about guest OS's that support hotplug memory?
> 
> Does the toolstack (need to) expose the capability to drive that as a
> host admin? I don't think xl does... In which case this wording can be
> tweaked when that feature is added?

I don't know if the matching support ever was implemented in xl,
but hotplug memory support for Xen is in upstream Linux.

http://lists.xen.org/archives/html/xen-devel/2011-05/msg01060.html 

If it _is_ in xl, "can ever see" seems a bit too strong... maybe
something like "memory the HVM guest can see unless changed later
via 'xl mem-max'" or "memory the HVM guest can see when it boots"
would be better.

But this is a nit.  It's impossible to both be precise and brief
in descriptions such as these.

> > Also, a subtle point, but is this the maximum physical address that
> > will contain read/write pages or the maximum amount of RAM that the
> > guest OS should be prepared to map as read/writeable (e.g. after
> > subtracting off reserved e820 ranges) or ???
> 
> I think it is total number of memory pages, not the maximum PFN. e.g.
> the maximum address might be 4.5GB on a 4GB machine with a PCI hole.
> 
> I *think*...

OK.  If so, then the proposed wording is fine, though maybe adding
one word "maximum amount of _usable_ memory" might help.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 16:25:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 16:25:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnDD-0006y6-G0; Tue, 08 May 2012 16:24:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SRnDB-0006y1-Vb
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 16:24:30 +0000
Received: from [193.109.254.147:55666] by server-8.bemta-14.messagelabs.com id
	75/A9-23244-DB849AF4; Tue, 08 May 2012 16:24:29 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336494268!8248994!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0Mzk4NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10566 invoked from network); 8 May 2012 16:24:28 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 16:24:28 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 122691766;
	Tue,  8 May 2012 19:24:26 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id D01872005D; Tue,  8 May 2012 19:24:26 +0300 (EEST)
Date: Tue, 8 May 2012 19:24:26 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508162426.GD2058@reaktio.net>
References: <1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336131139.2361.60.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 12:32:19PM +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 12:21 +0100, Anthony PERARD wrote:
> > On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > > Anthony -- any idea why the videoram setting doesn't work with upstream
> > > qemu?
> > 
> > Well, the parameter could be pass to qemu qxl, but it's not yet. But
> > then, it seams you have to have this value of at least 32MB, otherwise
> > the value is increase in qemu.
> > 
> > For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> > size in qemu is fixed to 8MB.
> 
> OK, so this is simply a feature which upstream qemu doesn't have. That's
> fine.
> 

Is this something that should be forward-ported from qemu-xen-traditional
to upstream qemu ?

> I guess xl.cfg(5) needs updating to make it clear that this option only
> applies to qemu-xen-traditional.
> 
> The docs also currently say that for stdvga the default is 8MB and for
> not stdvga (by which I guess it means Cirrus) the default if 4MB. So I
> guess even this is inaccurate for qemu-xen-upstream?
> 
> Can someone send a patch please?
> 

For the documentation patch maybe add this to the 4.2 status todo list
as a reminder :) 

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 16:25:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 16:25:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnDD-0006y6-G0; Tue, 08 May 2012 16:24:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SRnDB-0006y1-Vb
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 16:24:30 +0000
Received: from [193.109.254.147:55666] by server-8.bemta-14.messagelabs.com id
	75/A9-23244-DB849AF4; Tue, 08 May 2012 16:24:29 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336494268!8248994!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0Mzk4NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10566 invoked from network); 8 May 2012 16:24:28 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 16:24:28 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 122691766;
	Tue,  8 May 2012 19:24:26 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id D01872005D; Tue,  8 May 2012 19:24:26 +0300 (EEST)
Date: Tue, 8 May 2012 19:24:26 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120508162426.GD2058@reaktio.net>
References: <1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336131139.2361.60.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 04, 2012 at 12:32:19PM +0100, Ian Campbell wrote:
> On Fri, 2012-05-04 at 12:21 +0100, Anthony PERARD wrote:
> > On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > > Anthony -- any idea why the videoram setting doesn't work with upstream
> > > qemu?
> > 
> > Well, the parameter could be pass to qemu qxl, but it's not yet. But
> > then, it seams you have to have this value of at least 32MB, otherwise
> > the value is increase in qemu.
> > 
> > For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> > size in qemu is fixed to 8MB.
> 
> OK, so this is simply a feature which upstream qemu doesn't have. That's
> fine.
> 

Is this something that should be forward-ported from qemu-xen-traditional
to upstream qemu ?

> I guess xl.cfg(5) needs updating to make it clear that this option only
> applies to qemu-xen-traditional.
> 
> The docs also currently say that for stdvga the default is 8MB and for
> not stdvga (by which I guess it means Cirrus) the default if 4MB. So I
> guess even this is inaccurate for qemu-xen-upstream?
> 
> Can someone send a patch please?
> 

For the documentation patch maybe add this to the 4.2 status todo list
as a reminder :) 

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 16:40:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 16:40:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnSD-00079r-Vr; Tue, 08 May 2012 16:40:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRnSB-00079i-W5
	for xen-devel@lists.xen.org; Tue, 08 May 2012 16:40:00 +0000
Received: from [85.158.143.35:3873] by server-1.bemta-4.messagelabs.com id
	AB/54-20925-F5C49AF4; Tue, 08 May 2012 16:39:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336495197!13276027!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9128 invoked from network); 8 May 2012 16:39:58 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 16:39:58 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48GdscR008267
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 16:39:55 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48Gdsne013214
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 16:39:54 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48GdriQ007008; Tue, 8 May 2012 11:39:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 09:39:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B90C14031D; Tue,  8 May 2012 12:34:02 -0400 (EDT)
Date: Tue, 8 May 2012 12:34:02 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Message-ID: <20120508163402.GA6184@phenom.dumpdata.com>
References: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: JBeulich@suse.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RESEND] xenbus: Add support for xenbus
 backend in stub domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 09:46:57AM -0400, Daniel De Graaf wrote:
> Add an ioctl to the /dev/xen/xenbus_backend device allowing the xenbus
> backend to be started after the kernel has booted. This allows xenstore
> to run in a different domain from the dom0.
> 
> Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
> ---
>  drivers/xen/xenbus/xenbus_comms.c       |    6 ++++
>  drivers/xen/xenbus/xenbus_comms.h       |    1 +
>  drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++++++++++++++++++++++++
>  include/xen/grant_table.h               |    2 +
>  include/xen/xenbus_dev.h                |    3 ++
>  5 files changed, 63 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
> index 2eff7a6..52fe7ad 100644
> --- a/drivers/xen/xenbus/xenbus_comms.c
> +++ b/drivers/xen/xenbus/xenbus_comms.c
> @@ -234,3 +234,9 @@ int xb_init_comms(void)
>  
>  	return 0;
>  }
> +
> +void xb_deinit_comms(void)
> +{
> +	unbind_from_irqhandler(xenbus_irq, &xb_waitq);
> +	xenbus_irq = 0;
> +}
> diff --git a/drivers/xen/xenbus/xenbus_comms.h b/drivers/xen/xenbus/xenbus_comms.h
> index 6e42800..c8abd3b 100644
> --- a/drivers/xen/xenbus/xenbus_comms.h
> +++ b/drivers/xen/xenbus/xenbus_comms.h
> @@ -35,6 +35,7 @@
>  
>  int xs_init(void);
>  int xb_init_comms(void);
> +void xb_deinit_comms(void);
>  
>  /* Low level routines. */
>  int xb_write(const void *data, unsigned len);
> diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
> index 3d3be78..be738c4 100644
> --- a/drivers/xen/xenbus/xenbus_dev_backend.c
> +++ b/drivers/xen/xenbus/xenbus_dev_backend.c
> @@ -8,7 +8,11 @@
>  
>  #include <xen/xen.h>
>  #include <xen/page.h>
> +#include <xen/xenbus.h>
>  #include <xen/xenbus_dev.h>
> +#include <xen/grant_table.h>
> +#include <xen/events.h>
> +#include <asm/xen/hypervisor.h>
>  
>  #include "xenbus_comms.h"
>  
> @@ -22,6 +26,50 @@ static int xenbus_backend_open(struct inode *inode, struct file *filp)
>  	return nonseekable_open(inode, filp);
>  }
>  
> +static long xenbus_alloc(domid_t domid)
> +{
> +	struct evtchn_alloc_unbound arg;
> +	int err = -EEXIST;
> +
> +	xs_suspend();
> +
> +	/* If xenstored_ready is nonzero, that means we have already talked to
> +	 * xenstore and set up watches. These watches will be restored by
> +	 * xs_resume, but that requires communication over the port established
> +	 * below that is not visible to anyone until the ioctl returns.
> +	 *
> +	 * This can be resolved by splitting the ioctl into two parts
> +	 * (postponing the resume until xenstored is active) but this is
> +	 * unnecessarily complex for the intended use where xenstored is only
> +	 * started once - so return -EEXIST if it's already running.
> +	 */
> +	if (xenstored_ready)
> +		goto out_err;
> +
> +	gnttab_grant_foreign_access_ref(GNTTAB_RESERVED_XENSTORE, domid,
> +			virt_to_mfn(xen_store_interface), 0 /* writable */);
> +
> +	arg.dom = DOMID_SELF;
> +	arg.remote_dom = domid;

If I specify as domid = DOMID_SELF what will happen? Should we filter some
of the obvious no-no values? Like DOMID_IO, DOMID_SELF?
> +
> +	err = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &arg);
> +	if (err)
> +		goto out_err;
> +
> +	if (xen_store_evtchn > 0)
> +		xb_deinit_comms();
> +
> +	xen_store_evtchn = arg.port;
> +
> +	xs_resume();
> +
> +	return arg.port;
> +
> + out_err:
> +	xs_suspend_cancel();
> +	return err;
> +}
> +
>  static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned long data)
>  {
>  	if (!capable(CAP_SYS_ADMIN))
> @@ -33,6 +81,9 @@ static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned l
>  				return xen_store_evtchn;
>  			return -ENODEV;
>  
> +		case IOCTL_XENBUS_BACKEND_SETUP:
> +			return xenbus_alloc(data);
> +
>  		default:
>  			return -ENOTTY;
>  	}
> diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
> index 15f8a00..11e27c3 100644
> --- a/include/xen/grant_table.h
> +++ b/include/xen/grant_table.h
> @@ -46,6 +46,8 @@
>  
>  #include <xen/features.h>
>  
> +#define GNTTAB_RESERVED_XENSTORE 1
> +
>  /* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
>  #define NR_GRANT_FRAMES 4
>  
> diff --git a/include/xen/xenbus_dev.h b/include/xen/xenbus_dev.h
> index ac5f0fe..bbee8c6 100644
> --- a/include/xen/xenbus_dev.h
> +++ b/include/xen/xenbus_dev.h
> @@ -38,4 +38,7 @@
>  #define IOCTL_XENBUS_BACKEND_EVTCHN			\
>  	_IOC(_IOC_NONE, 'B', 0, 0)
>  
> +#define IOCTL_XENBUS_BACKEND_SETUP			\
> +	_IOC(_IOC_NONE, 'B', 1, 0)
> +
>  #endif /* __LINUX_XEN_XENBUS_DEV_H__ */
> -- 
> 1.7.7.6

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 16:40:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 16:40:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnSD-00079r-Vr; Tue, 08 May 2012 16:40:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRnSB-00079i-W5
	for xen-devel@lists.xen.org; Tue, 08 May 2012 16:40:00 +0000
Received: from [85.158.143.35:3873] by server-1.bemta-4.messagelabs.com id
	AB/54-20925-F5C49AF4; Tue, 08 May 2012 16:39:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336495197!13276027!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUxODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9128 invoked from network); 8 May 2012 16:39:58 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 16:39:58 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48GdscR008267
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 16:39:55 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48Gdsne013214
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 16:39:54 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48GdriQ007008; Tue, 8 May 2012 11:39:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 09:39:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B90C14031D; Tue,  8 May 2012 12:34:02 -0400 (EDT)
Date: Tue, 8 May 2012 12:34:02 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Message-ID: <20120508163402.GA6184@phenom.dumpdata.com>
References: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: JBeulich@suse.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RESEND] xenbus: Add support for xenbus
 backend in stub domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 09:46:57AM -0400, Daniel De Graaf wrote:
> Add an ioctl to the /dev/xen/xenbus_backend device allowing the xenbus
> backend to be started after the kernel has booted. This allows xenstore
> to run in a different domain from the dom0.
> 
> Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
> ---
>  drivers/xen/xenbus/xenbus_comms.c       |    6 ++++
>  drivers/xen/xenbus/xenbus_comms.h       |    1 +
>  drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++++++++++++++++++++++++
>  include/xen/grant_table.h               |    2 +
>  include/xen/xenbus_dev.h                |    3 ++
>  5 files changed, 63 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
> index 2eff7a6..52fe7ad 100644
> --- a/drivers/xen/xenbus/xenbus_comms.c
> +++ b/drivers/xen/xenbus/xenbus_comms.c
> @@ -234,3 +234,9 @@ int xb_init_comms(void)
>  
>  	return 0;
>  }
> +
> +void xb_deinit_comms(void)
> +{
> +	unbind_from_irqhandler(xenbus_irq, &xb_waitq);
> +	xenbus_irq = 0;
> +}
> diff --git a/drivers/xen/xenbus/xenbus_comms.h b/drivers/xen/xenbus/xenbus_comms.h
> index 6e42800..c8abd3b 100644
> --- a/drivers/xen/xenbus/xenbus_comms.h
> +++ b/drivers/xen/xenbus/xenbus_comms.h
> @@ -35,6 +35,7 @@
>  
>  int xs_init(void);
>  int xb_init_comms(void);
> +void xb_deinit_comms(void);
>  
>  /* Low level routines. */
>  int xb_write(const void *data, unsigned len);
> diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
> index 3d3be78..be738c4 100644
> --- a/drivers/xen/xenbus/xenbus_dev_backend.c
> +++ b/drivers/xen/xenbus/xenbus_dev_backend.c
> @@ -8,7 +8,11 @@
>  
>  #include <xen/xen.h>
>  #include <xen/page.h>
> +#include <xen/xenbus.h>
>  #include <xen/xenbus_dev.h>
> +#include <xen/grant_table.h>
> +#include <xen/events.h>
> +#include <asm/xen/hypervisor.h>
>  
>  #include "xenbus_comms.h"
>  
> @@ -22,6 +26,50 @@ static int xenbus_backend_open(struct inode *inode, struct file *filp)
>  	return nonseekable_open(inode, filp);
>  }
>  
> +static long xenbus_alloc(domid_t domid)
> +{
> +	struct evtchn_alloc_unbound arg;
> +	int err = -EEXIST;
> +
> +	xs_suspend();
> +
> +	/* If xenstored_ready is nonzero, that means we have already talked to
> +	 * xenstore and set up watches. These watches will be restored by
> +	 * xs_resume, but that requires communication over the port established
> +	 * below that is not visible to anyone until the ioctl returns.
> +	 *
> +	 * This can be resolved by splitting the ioctl into two parts
> +	 * (postponing the resume until xenstored is active) but this is
> +	 * unnecessarily complex for the intended use where xenstored is only
> +	 * started once - so return -EEXIST if it's already running.
> +	 */
> +	if (xenstored_ready)
> +		goto out_err;
> +
> +	gnttab_grant_foreign_access_ref(GNTTAB_RESERVED_XENSTORE, domid,
> +			virt_to_mfn(xen_store_interface), 0 /* writable */);
> +
> +	arg.dom = DOMID_SELF;
> +	arg.remote_dom = domid;

If I specify as domid = DOMID_SELF what will happen? Should we filter some
of the obvious no-no values? Like DOMID_IO, DOMID_SELF?
> +
> +	err = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &arg);
> +	if (err)
> +		goto out_err;
> +
> +	if (xen_store_evtchn > 0)
> +		xb_deinit_comms();
> +
> +	xen_store_evtchn = arg.port;
> +
> +	xs_resume();
> +
> +	return arg.port;
> +
> + out_err:
> +	xs_suspend_cancel();
> +	return err;
> +}
> +
>  static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned long data)
>  {
>  	if (!capable(CAP_SYS_ADMIN))
> @@ -33,6 +81,9 @@ static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned l
>  				return xen_store_evtchn;
>  			return -ENODEV;
>  
> +		case IOCTL_XENBUS_BACKEND_SETUP:
> +			return xenbus_alloc(data);
> +
>  		default:
>  			return -ENOTTY;
>  	}
> diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
> index 15f8a00..11e27c3 100644
> --- a/include/xen/grant_table.h
> +++ b/include/xen/grant_table.h
> @@ -46,6 +46,8 @@
>  
>  #include <xen/features.h>
>  
> +#define GNTTAB_RESERVED_XENSTORE 1
> +
>  /* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
>  #define NR_GRANT_FRAMES 4
>  
> diff --git a/include/xen/xenbus_dev.h b/include/xen/xenbus_dev.h
> index ac5f0fe..bbee8c6 100644
> --- a/include/xen/xenbus_dev.h
> +++ b/include/xen/xenbus_dev.h
> @@ -38,4 +38,7 @@
>  #define IOCTL_XENBUS_BACKEND_EVTCHN			\
>  	_IOC(_IOC_NONE, 'B', 0, 0)
>  
> +#define IOCTL_XENBUS_BACKEND_SETUP			\
> +	_IOC(_IOC_NONE, 'B', 1, 0)
> +
>  #endif /* __LINUX_XEN_XENBUS_DEV_H__ */
> -- 
> 1.7.7.6

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 16:46:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 16:46:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnY0-0007I4-OI; Tue, 08 May 2012 16:46:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRnXz-0007Hy-LU
	for xen-devel@lists.xen.org; Tue, 08 May 2012 16:45:59 +0000
Received: from [193.109.254.147:4923] by server-9.bemta-14.messagelabs.com id
	04/83-05787-6CD49AF4; Tue, 08 May 2012 16:45:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336495556!5805168!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE2NDQz\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32735 invoked from network); 8 May 2012 16:45:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 16:45:58 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48GjmQq008162
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 16:45:49 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48GjllI027575
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 16:45:47 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48GjkTx012163; Tue, 8 May 2012 11:45:46 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 09:45:46 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 321984031D; Tue,  8 May 2012 12:39:57 -0400 (EDT)
Date: Tue, 8 May 2012 12:39:57 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: AP <apxeng@gmail.com>, msw@amazon.com, snoonan@amazon.com
Message-ID: <20120508163957.GB6319@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> konrad.wilk@oracle.com> wrote:
> >
> > > > No, this is specifically the wrong thing. From what we know so far
> > > > (i.e. the outcome of the above printing you added) the problem in
> > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > attempting XSETBV). What your patch efectively does is take away
> > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > >
> > > > > That allowed the system to boot successfully though I did see the
> > > > > following message:
> > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > 00002660
> > > >
> > > > ... which is what this message is telling you.
> > > >
> > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > helpful in pointing at where the problem might be.
> > > > >
> > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > xsave=1.
> > > >
> > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > added,
> > > > to find out why the CR4 write supposedly happening immediately
> > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > >
> > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> >
> > Where did you see that code? Looking at the Linus's tree this is what I
> > see
> >
> >
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> >
> > So who added that code? I am not seeing it in v3.0 either?
> 
> This is in the Ubuntu 11.10 kernel:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> 
> After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b

Which seems to say that Amazon's HV is advertising the OXSAVE bit?

Lets ping them and see if they have some recomendations.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 16:46:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 16:46:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnY0-0007I4-OI; Tue, 08 May 2012 16:46:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRnXz-0007Hy-LU
	for xen-devel@lists.xen.org; Tue, 08 May 2012 16:45:59 +0000
Received: from [193.109.254.147:4923] by server-9.bemta-14.messagelabs.com id
	04/83-05787-6CD49AF4; Tue, 08 May 2012 16:45:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336495556!5805168!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE2NDQz\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32735 invoked from network); 8 May 2012 16:45:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 16:45:58 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48GjmQq008162
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 16:45:49 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48GjllI027575
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 16:45:47 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48GjkTx012163; Tue, 8 May 2012 11:45:46 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 09:45:46 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 321984031D; Tue,  8 May 2012 12:39:57 -0400 (EDT)
Date: Tue, 8 May 2012 12:39:57 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: AP <apxeng@gmail.com>, msw@amazon.com, snoonan@amazon.com
Message-ID: <20120508163957.GB6319@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> konrad.wilk@oracle.com> wrote:
> >
> > > > No, this is specifically the wrong thing. From what we know so far
> > > > (i.e. the outcome of the above printing you added) the problem in
> > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > attempting XSETBV). What your patch efectively does is take away
> > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > >
> > > > > That allowed the system to boot successfully though I did see the
> > > > > following message:
> > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > 00002660
> > > >
> > > > ... which is what this message is telling you.
> > > >
> > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > helpful in pointing at where the problem might be.
> > > > >
> > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > xsave=1.
> > > >
> > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > added,
> > > > to find out why the CR4 write supposedly happening immediately
> > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > >
> > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> >
> > Where did you see that code? Looking at the Linus's tree this is what I
> > see
> >
> >
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> >
> > So who added that code? I am not seeing it in v3.0 either?
> 
> This is in the Ubuntu 11.10 kernel:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> 
> After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b

Which seems to say that Amazon's HV is advertising the OXSAVE bit?

Lets ping them and see if they have some recomendations.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:02:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnnv-0007iI-Sv; Tue, 08 May 2012 17:02:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <msw@amazon.com>) id 1SRnnt-0007iD-TR
	for xen-devel@lists.xen.org; Tue, 08 May 2012 17:02:26 +0000
Received: from [85.158.143.99:41745] by server-2.bemta-4.messagelabs.com id
	17/3D-17550-1A159AF4; Tue, 08 May 2012 17:02:25 +0000
X-Env-Sender: msw@amazon.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336496542!20658022!1
X-Originating-IP: [207.171.178.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA3LjE3MS4xNzguMjUgPT4gNDY2MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3703 invoked from network); 8 May 2012 17:02:24 -0000
Received: from smtp-fw-31001.amazon.com (HELO smtp-fw-31001.amazon.com)
	(207.171.178.25)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 17:02:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="230177894"
Received: from smtp-in-1101.vdc.amazon.com ([10.146.54.37])
	by smtp-border-fw-out-31001.sea31.amazon.com with
	ESMTP/TLS/DHE-RSA-AES256-SHA; 08 May 2012 17:01:40 +0000
Received: from US-SEA-R8XVZTX (us-sea-r8xvztx.ant.amazon.com [10.61.116.180])
	by smtp-in-1101.vdc.amazon.com (8.13.8/8.13.8) with SMTP id
	q48H2ENm003214; Tue, 8 May 2012 17:02:15 GMT
Received: by US-SEA-R8XVZTX (sSMTP sendmail emulation);
	Tue, 08 May 2012 10:02:09 -0700
Date: Tue, 8 May 2012 10:02:09 -0700
From: Matt Wilson <msw@amazon.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120508170209.GA5684@US-SEA-R8XVZTX>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120508163957.GB6319@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120508163957.GB6319@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-12-10)
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, "Noonan,
	Steven" <snoonan@amazon.com>,
	"Tim.Deegan@citrix.com" <Tim.Deegan@citrix.com>,
	"weidong.han@intel.com" <weidong.han@intel.com>,
	"stefan.bader@canonical.com" <stefan.bader@canonical.com>,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 09:39:57AM -0700, Konrad Rzeszutek Wilk wrote:
> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> > On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> > konrad.wilk@oracle.com> wrote:
> > 
> > This is in the Ubuntu 11.10 kernel:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> > 
> > After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b
> 
> Which seems to say that Amazon's HV is advertising the OXSAVE bit?
> 
> Lets ping them and see if they have some recomendations.

Hi,

The kernel requirements for EC2 are documented in our User Guide here:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html#PVGRUB_compatible_kernels

Specifically, there's a callout regarding XSAVE: 
  "Kernels that disable the pv-ops XSAVE hypercall are known to work
   on all instance types, whereas those that enable this hypercall
   will fail to launch in some cases. Similarly, non-pv-ops kernels
   that do not adhere to the Xen 3.0.2 interface might fail to launch
   in some cases."

Apologies for the miswording of the note, it should say something like
"kernels that disable the XSAVE capability" instead.

Cheers,

Matt

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:02:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRnnv-0007iI-Sv; Tue, 08 May 2012 17:02:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <msw@amazon.com>) id 1SRnnt-0007iD-TR
	for xen-devel@lists.xen.org; Tue, 08 May 2012 17:02:26 +0000
Received: from [85.158.143.99:41745] by server-2.bemta-4.messagelabs.com id
	17/3D-17550-1A159AF4; Tue, 08 May 2012 17:02:25 +0000
X-Env-Sender: msw@amazon.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336496542!20658022!1
X-Originating-IP: [207.171.178.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA3LjE3MS4xNzguMjUgPT4gNDY2MDQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3703 invoked from network); 8 May 2012 17:02:24 -0000
Received: from smtp-fw-31001.amazon.com (HELO smtp-fw-31001.amazon.com)
	(207.171.178.25)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 17:02:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,544,1330905600"; d="scan'208";a="230177894"
Received: from smtp-in-1101.vdc.amazon.com ([10.146.54.37])
	by smtp-border-fw-out-31001.sea31.amazon.com with
	ESMTP/TLS/DHE-RSA-AES256-SHA; 08 May 2012 17:01:40 +0000
Received: from US-SEA-R8XVZTX (us-sea-r8xvztx.ant.amazon.com [10.61.116.180])
	by smtp-in-1101.vdc.amazon.com (8.13.8/8.13.8) with SMTP id
	q48H2ENm003214; Tue, 8 May 2012 17:02:15 GMT
Received: by US-SEA-R8XVZTX (sSMTP sendmail emulation);
	Tue, 08 May 2012 10:02:09 -0700
Date: Tue, 8 May 2012 10:02:09 -0700
From: Matt Wilson <msw@amazon.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120508170209.GA5684@US-SEA-R8XVZTX>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120508163957.GB6319@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120508163957.GB6319@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-12-10)
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, "Noonan,
	Steven" <snoonan@amazon.com>,
	"Tim.Deegan@citrix.com" <Tim.Deegan@citrix.com>,
	"weidong.han@intel.com" <weidong.han@intel.com>,
	"stefan.bader@canonical.com" <stefan.bader@canonical.com>,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 09:39:57AM -0700, Konrad Rzeszutek Wilk wrote:
> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> > On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> > konrad.wilk@oracle.com> wrote:
> > 
> > This is in the Ubuntu 11.10 kernel:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> > 
> > After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b
> 
> Which seems to say that Amazon's HV is advertising the OXSAVE bit?
> 
> Lets ping them and see if they have some recomendations.

Hi,

The kernel requirements for EC2 are documented in our User Guide here:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html#PVGRUB_compatible_kernels

Specifically, there's a callout regarding XSAVE: 
  "Kernels that disable the pv-ops XSAVE hypercall are known to work
   on all instance types, whereas those that enable this hypercall
   will fail to launch in some cases. Similarly, non-pv-ops kernels
   that do not adhere to the Xen 3.0.2 interface might fail to launch
   in some cases."

Apologies for the miswording of the note, it should say something like
"kernels that disable the XSAVE capability" instead.

Cheers,

Matt

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:25:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRoA1-00084C-1U; Tue, 08 May 2012 17:25:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRo9z-000847-Qm
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 17:25:16 +0000
Received: from [85.158.143.99:11908] by server-3.bemta-4.messagelabs.com id
	7D/CD-05853-BF659AF4; Tue, 08 May 2012 17:25:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336497912!27069686!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25414 invoked from network); 8 May 2012 17:25:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 17:25:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330905600"; d="scan'208";a="12362212"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 17:25:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 18:25:10 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRo9u-0001Jx-PB;
	Tue, 08 May 2012 17:25:10 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRo9u-0007LU-IK;
	Tue, 08 May 2012 18:25:10 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12802-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 18:25:10 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12802: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12802 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12802/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12787

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3
baseline version:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:25:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRoA1-00084C-1U; Tue, 08 May 2012 17:25:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRo9z-000847-Qm
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 17:25:16 +0000
Received: from [85.158.143.99:11908] by server-3.bemta-4.messagelabs.com id
	7D/CD-05853-BF659AF4; Tue, 08 May 2012 17:25:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336497912!27069686!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25414 invoked from network); 8 May 2012 17:25:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 17:25:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330905600"; d="scan'208";a="12362212"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 17:25:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 18:25:10 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRo9u-0001Jx-PB;
	Tue, 08 May 2012 17:25:10 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRo9u-0007LU-IK;
	Tue, 08 May 2012 18:25:10 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12802-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 18:25:10 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12802: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12802 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12802/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12787

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3
baseline version:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:30:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRoER-0008C4-Pj; Tue, 08 May 2012 17:29:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SRoEQ-0008Bx-Pf
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 17:29:50 +0000
Received: from [193.109.254.147:52051] by server-4.bemta-14.messagelabs.com id
	30/01-11570-E0859AF4; Tue, 08 May 2012 17:29:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336498189!2579371!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12301 invoked from network); 8 May 2012 17:29:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 17:29:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330905600"; d="scan'208";a="12362280"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 17:29:49 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 18:29:48 +0100
Date: Tue, 8 May 2012 18:29:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
In-Reply-To: <20120507212536.GA24344@andromeda.dapyr.net>
Message-ID: <alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
 FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012, Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 17, 2012 at 11:58:58AM +0100, Stefano Stabellini wrote:
> > On Mon, 16 Apr 2012, Konrad Rzeszutek Wilk wrote:
> > > On Tue, Apr 10, 2012 at 05:25:19PM +0100, Stefano Stabellini wrote:
> > > > Set pages as FOREIGN_FRAME whenever blkfront shares them with another
> > > > domain. Then when blkfront un-share them, also removes the
> > > > FOREIGN_FRAME_BIT from the p2m.
> > > >
> > > > We do it so that when the source and the destination domain are the same
> > > > (blkfront connected to blkback in the same domain) we can more easily
> 
> So I've been testing it with my mini config and it worked great. But
> when I started using a distro .config it blew up. I am not really
> sure why it does that, but here is the dmesg and .config.
> 
> Nothing fancy with the guest config:
> 
> cat /crash.xm  | grep -v \#
> memory = 4096
> name = "OL6_X86_64_PVHVM"
> vcpus=12
> vif = [ 'mac=00:0f:4b:00:00:72,bridge=switch' ]
> disk= ['phy:/dev/guests/OL6_X86_64_PVHVM,hda,w']
> vfb = [ 'vnc=1, vnclisten=0.0.0.0,vncunused=1']
> vnc=1
> vnclisten="0.0.0.0"
> hvm_loader="/usr/bin/pygrub"
> 
> 
> This is the #testing branch, but just using my #linux-next along
> with stable/for-jens-3.5 should reproduce this.
> 
> I added a bit of debug statement and found that 0xffffffffffffffff
> was passed in as a PFN in the set_phys_to_machine.

I have been unable to reproduce this problem (I haven't given up yet)
but I bet that the following patch fixes it:


diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index e3a9945..88e9304 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -333,7 +333,7 @@ static int blkif_queue_request(struct request *req)
 					buffer_mfn,
 					rq_data_dir(req));
 
-			info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn);
+			info->shadow[id].frame[i] = buffer_pfn;
 			ring_req->u.rw.seg[i] =
 					(struct blkif_request_segment) {
 						.gref       = ref,


The idea is that the request contains a page for which

pfn->mfn->pfn == 0xffffffffffffffff

I am not sure exactly how it could be possible to get into this state in
blkfront, I hope that some more tracing and code reading will be able to
shed some lights on the issue.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:30:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRoER-0008C4-Pj; Tue, 08 May 2012 17:29:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SRoEQ-0008Bx-Pf
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 17:29:50 +0000
Received: from [193.109.254.147:52051] by server-4.bemta-14.messagelabs.com id
	30/01-11570-E0859AF4; Tue, 08 May 2012 17:29:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336498189!2579371!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12301 invoked from network); 8 May 2012 17:29:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 17:29:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330905600"; d="scan'208";a="12362280"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 17:29:49 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 18:29:48 +0100
Date: Tue, 8 May 2012 18:29:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
In-Reply-To: <20120507212536.GA24344@andromeda.dapyr.net>
Message-ID: <alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
 FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012, Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 17, 2012 at 11:58:58AM +0100, Stefano Stabellini wrote:
> > On Mon, 16 Apr 2012, Konrad Rzeszutek Wilk wrote:
> > > On Tue, Apr 10, 2012 at 05:25:19PM +0100, Stefano Stabellini wrote:
> > > > Set pages as FOREIGN_FRAME whenever blkfront shares them with another
> > > > domain. Then when blkfront un-share them, also removes the
> > > > FOREIGN_FRAME_BIT from the p2m.
> > > >
> > > > We do it so that when the source and the destination domain are the same
> > > > (blkfront connected to blkback in the same domain) we can more easily
> 
> So I've been testing it with my mini config and it worked great. But
> when I started using a distro .config it blew up. I am not really
> sure why it does that, but here is the dmesg and .config.
> 
> Nothing fancy with the guest config:
> 
> cat /crash.xm  | grep -v \#
> memory = 4096
> name = "OL6_X86_64_PVHVM"
> vcpus=12
> vif = [ 'mac=00:0f:4b:00:00:72,bridge=switch' ]
> disk= ['phy:/dev/guests/OL6_X86_64_PVHVM,hda,w']
> vfb = [ 'vnc=1, vnclisten=0.0.0.0,vncunused=1']
> vnc=1
> vnclisten="0.0.0.0"
> hvm_loader="/usr/bin/pygrub"
> 
> 
> This is the #testing branch, but just using my #linux-next along
> with stable/for-jens-3.5 should reproduce this.
> 
> I added a bit of debug statement and found that 0xffffffffffffffff
> was passed in as a PFN in the set_phys_to_machine.

I have been unable to reproduce this problem (I haven't given up yet)
but I bet that the following patch fixes it:


diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index e3a9945..88e9304 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -333,7 +333,7 @@ static int blkif_queue_request(struct request *req)
 					buffer_mfn,
 					rq_data_dir(req));
 
-			info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn);
+			info->shadow[id].frame[i] = buffer_pfn;
 			ring_req->u.rw.seg[i] =
 					(struct blkif_request_segment) {
 						.gref       = ref,


The idea is that the request contains a page for which

pfn->mfn->pfn == 0xffffffffffffffff

I am not sure exactly how it could be possible to get into this state in
blkfront, I hope that some more tracing and code reading will be able to
shed some lights on the issue.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:33:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRoHg-0008MV-JJ; Tue, 08 May 2012 17:33:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SRoHe-0008MM-Kd
	for xen-devel@lists.xen.org; Tue, 08 May 2012 17:33:10 +0000
Received: from [193.109.254.147:33658] by server-2.bemta-14.messagelabs.com id
	74/3D-19409-5D859AF4; Tue, 08 May 2012 17:33:09 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336498388!8246209!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13598 invoked from network); 8 May 2012 17:33:09 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-4.tower-27.messagelabs.com with SMTP;
	8 May 2012 17:33:09 -0000
X-TM-IMSS-Message-ID: <2ece56fc000be20a@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 2ece56fc000be20a ;
	Tue, 8 May 2012 13:33:14 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q48HWvZw013911; 
	Tue, 8 May 2012 13:32:57 -0400
Message-ID: <4FA95884.8020105@tycho.nsa.gov>
Date: Tue, 08 May 2012 13:31:48 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20120508163402.GA6184@phenom.dumpdata.com>
In-Reply-To: <20120508163402.GA6184@phenom.dumpdata.com>
Cc: JBeulich@suse.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RESEND] xenbus: Add support for xenbus
 backend in stub domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/08/2012 12:34 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 08, 2012 at 09:46:57AM -0400, Daniel De Graaf wrote:
>> Add an ioctl to the /dev/xen/xenbus_backend device allowing the xenbus
>> backend to be started after the kernel has booted. This allows xenstore
>> to run in a different domain from the dom0.
>>
>> Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
>> ---
>>  drivers/xen/xenbus/xenbus_comms.c       |    6 ++++
>>  drivers/xen/xenbus/xenbus_comms.h       |    1 +
>>  drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++++++++++++++++++++++++
>>  include/xen/grant_table.h               |    2 +
>>  include/xen/xenbus_dev.h                |    3 ++
>>  5 files changed, 63 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
>> index 2eff7a6..52fe7ad 100644
>> --- a/drivers/xen/xenbus/xenbus_comms.c
>> +++ b/drivers/xen/xenbus/xenbus_comms.c
>> @@ -234,3 +234,9 @@ int xb_init_comms(void)
>>  
>>  	return 0;
>>  }
>> +
>> +void xb_deinit_comms(void)
>> +{
>> +	unbind_from_irqhandler(xenbus_irq, &xb_waitq);
>> +	xenbus_irq = 0;
>> +}
>> diff --git a/drivers/xen/xenbus/xenbus_comms.h b/drivers/xen/xenbus/xenbus_comms.h
>> index 6e42800..c8abd3b 100644
>> --- a/drivers/xen/xenbus/xenbus_comms.h
>> +++ b/drivers/xen/xenbus/xenbus_comms.h
>> @@ -35,6 +35,7 @@
>>  
>>  int xs_init(void);
>>  int xb_init_comms(void);
>> +void xb_deinit_comms(void);
>>  
>>  /* Low level routines. */
>>  int xb_write(const void *data, unsigned len);
>> diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
>> index 3d3be78..be738c4 100644
>> --- a/drivers/xen/xenbus/xenbus_dev_backend.c
>> +++ b/drivers/xen/xenbus/xenbus_dev_backend.c
>> @@ -8,7 +8,11 @@
>>  
>>  #include <xen/xen.h>
>>  #include <xen/page.h>
>> +#include <xen/xenbus.h>
>>  #include <xen/xenbus_dev.h>
>> +#include <xen/grant_table.h>
>> +#include <xen/events.h>
>> +#include <asm/xen/hypervisor.h>
>>  
>>  #include "xenbus_comms.h"
>>  
>> @@ -22,6 +26,50 @@ static int xenbus_backend_open(struct inode *inode, struct file *filp)
>>  	return nonseekable_open(inode, filp);
>>  }
>>  
>> +static long xenbus_alloc(domid_t domid)
>> +{
>> +	struct evtchn_alloc_unbound arg;
>> +	int err = -EEXIST;
>> +
>> +	xs_suspend();
>> +
>> +	/* If xenstored_ready is nonzero, that means we have already talked to
>> +	 * xenstore and set up watches. These watches will be restored by
>> +	 * xs_resume, but that requires communication over the port established
>> +	 * below that is not visible to anyone until the ioctl returns.
>> +	 *
>> +	 * This can be resolved by splitting the ioctl into two parts
>> +	 * (postponing the resume until xenstored is active) but this is
>> +	 * unnecessarily complex for the intended use where xenstored is only
>> +	 * started once - so return -EEXIST if it's already running.
>> +	 */
>> +	if (xenstored_ready)
>> +		goto out_err;
>> +
>> +	gnttab_grant_foreign_access_ref(GNTTAB_RESERVED_XENSTORE, domid,
>> +			virt_to_mfn(xen_store_interface), 0 /* writable */);
>> +
>> +	arg.dom = DOMID_SELF;
>> +	arg.remote_dom = domid;
> 
> If I specify as domid = DOMID_SELF what will happen? Should we filter some
> of the obvious no-no values? Like DOMID_IO, DOMID_SELF?

For DOMID_SELF, this will just be a convoluted way of getting a xenstore
event channel bound locally - the same as from the existing ioctl. This ends up
being a useless re-allocation of the event channel since it closes the existing
one.

Specifying an invalid domain ID will leave xenstore in the uninitialized state
because no domain will ever connect and send the notify to make xenstored_ready
nonzero. Until this happens, you can call the ioctl again, so there's no need to
filter out the invalid values.

>> +
>> +	err = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &arg);
>> +	if (err)
>> +		goto out_err;
>> +
>> +	if (xen_store_evtchn > 0)
>> +		xb_deinit_comms();
>> +
>> +	xen_store_evtchn = arg.port;
>> +
>> +	xs_resume();
>> +
>> +	return arg.port;
>> +
>> + out_err:
>> +	xs_suspend_cancel();
>> +	return err;
>> +}
>> +
>>  static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned long data)
>>  {
>>  	if (!capable(CAP_SYS_ADMIN))
>> @@ -33,6 +81,9 @@ static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned l
>>  				return xen_store_evtchn;
>>  			return -ENODEV;
>>  
>> +		case IOCTL_XENBUS_BACKEND_SETUP:
>> +			return xenbus_alloc(data);
>> +
>>  		default:
>>  			return -ENOTTY;
>>  	}
>> diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
>> index 15f8a00..11e27c3 100644
>> --- a/include/xen/grant_table.h
>> +++ b/include/xen/grant_table.h
>> @@ -46,6 +46,8 @@
>>  
>>  #include <xen/features.h>
>>  
>> +#define GNTTAB_RESERVED_XENSTORE 1
>> +
>>  /* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
>>  #define NR_GRANT_FRAMES 4
>>  
>> diff --git a/include/xen/xenbus_dev.h b/include/xen/xenbus_dev.h
>> index ac5f0fe..bbee8c6 100644
>> --- a/include/xen/xenbus_dev.h
>> +++ b/include/xen/xenbus_dev.h
>> @@ -38,4 +38,7 @@
>>  #define IOCTL_XENBUS_BACKEND_EVTCHN			\
>>  	_IOC(_IOC_NONE, 'B', 0, 0)
>>  
>> +#define IOCTL_XENBUS_BACKEND_SETUP			\
>> +	_IOC(_IOC_NONE, 'B', 1, 0)
>> +
>>  #endif /* __LINUX_XEN_XENBUS_DEV_H__ */
>> -- 
>> 1.7.7.6


-- 
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 17:33:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 17:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRoHg-0008MV-JJ; Tue, 08 May 2012 17:33:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SRoHe-0008MM-Kd
	for xen-devel@lists.xen.org; Tue, 08 May 2012 17:33:10 +0000
Received: from [193.109.254.147:33658] by server-2.bemta-14.messagelabs.com id
	74/3D-19409-5D859AF4; Tue, 08 May 2012 17:33:09 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336498388!8246209!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13598 invoked from network); 8 May 2012 17:33:09 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-4.tower-27.messagelabs.com with SMTP;
	8 May 2012 17:33:09 -0000
X-TM-IMSS-Message-ID: <2ece56fc000be20a@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 2ece56fc000be20a ;
	Tue, 8 May 2012 13:33:14 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q48HWvZw013911; 
	Tue, 8 May 2012 13:32:57 -0400
Message-ID: <4FA95884.8020105@tycho.nsa.gov>
Date: Tue, 08 May 2012 13:31:48 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1336484817-12105-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20120508163402.GA6184@phenom.dumpdata.com>
In-Reply-To: <20120508163402.GA6184@phenom.dumpdata.com>
Cc: JBeulich@suse.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RESEND] xenbus: Add support for xenbus
 backend in stub domain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/08/2012 12:34 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 08, 2012 at 09:46:57AM -0400, Daniel De Graaf wrote:
>> Add an ioctl to the /dev/xen/xenbus_backend device allowing the xenbus
>> backend to be started after the kernel has booted. This allows xenstore
>> to run in a different domain from the dom0.
>>
>> Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
>> ---
>>  drivers/xen/xenbus/xenbus_comms.c       |    6 ++++
>>  drivers/xen/xenbus/xenbus_comms.h       |    1 +
>>  drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++++++++++++++++++++++++
>>  include/xen/grant_table.h               |    2 +
>>  include/xen/xenbus_dev.h                |    3 ++
>>  5 files changed, 63 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
>> index 2eff7a6..52fe7ad 100644
>> --- a/drivers/xen/xenbus/xenbus_comms.c
>> +++ b/drivers/xen/xenbus/xenbus_comms.c
>> @@ -234,3 +234,9 @@ int xb_init_comms(void)
>>  
>>  	return 0;
>>  }
>> +
>> +void xb_deinit_comms(void)
>> +{
>> +	unbind_from_irqhandler(xenbus_irq, &xb_waitq);
>> +	xenbus_irq = 0;
>> +}
>> diff --git a/drivers/xen/xenbus/xenbus_comms.h b/drivers/xen/xenbus/xenbus_comms.h
>> index 6e42800..c8abd3b 100644
>> --- a/drivers/xen/xenbus/xenbus_comms.h
>> +++ b/drivers/xen/xenbus/xenbus_comms.h
>> @@ -35,6 +35,7 @@
>>  
>>  int xs_init(void);
>>  int xb_init_comms(void);
>> +void xb_deinit_comms(void);
>>  
>>  /* Low level routines. */
>>  int xb_write(const void *data, unsigned len);
>> diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
>> index 3d3be78..be738c4 100644
>> --- a/drivers/xen/xenbus/xenbus_dev_backend.c
>> +++ b/drivers/xen/xenbus/xenbus_dev_backend.c
>> @@ -8,7 +8,11 @@
>>  
>>  #include <xen/xen.h>
>>  #include <xen/page.h>
>> +#include <xen/xenbus.h>
>>  #include <xen/xenbus_dev.h>
>> +#include <xen/grant_table.h>
>> +#include <xen/events.h>
>> +#include <asm/xen/hypervisor.h>
>>  
>>  #include "xenbus_comms.h"
>>  
>> @@ -22,6 +26,50 @@ static int xenbus_backend_open(struct inode *inode, struct file *filp)
>>  	return nonseekable_open(inode, filp);
>>  }
>>  
>> +static long xenbus_alloc(domid_t domid)
>> +{
>> +	struct evtchn_alloc_unbound arg;
>> +	int err = -EEXIST;
>> +
>> +	xs_suspend();
>> +
>> +	/* If xenstored_ready is nonzero, that means we have already talked to
>> +	 * xenstore and set up watches. These watches will be restored by
>> +	 * xs_resume, but that requires communication over the port established
>> +	 * below that is not visible to anyone until the ioctl returns.
>> +	 *
>> +	 * This can be resolved by splitting the ioctl into two parts
>> +	 * (postponing the resume until xenstored is active) but this is
>> +	 * unnecessarily complex for the intended use where xenstored is only
>> +	 * started once - so return -EEXIST if it's already running.
>> +	 */
>> +	if (xenstored_ready)
>> +		goto out_err;
>> +
>> +	gnttab_grant_foreign_access_ref(GNTTAB_RESERVED_XENSTORE, domid,
>> +			virt_to_mfn(xen_store_interface), 0 /* writable */);
>> +
>> +	arg.dom = DOMID_SELF;
>> +	arg.remote_dom = domid;
> 
> If I specify as domid = DOMID_SELF what will happen? Should we filter some
> of the obvious no-no values? Like DOMID_IO, DOMID_SELF?

For DOMID_SELF, this will just be a convoluted way of getting a xenstore
event channel bound locally - the same as from the existing ioctl. This ends up
being a useless re-allocation of the event channel since it closes the existing
one.

Specifying an invalid domain ID will leave xenstore in the uninitialized state
because no domain will ever connect and send the notify to make xenstored_ready
nonzero. Until this happens, you can call the ioctl again, so there's no need to
filter out the invalid values.

>> +
>> +	err = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &arg);
>> +	if (err)
>> +		goto out_err;
>> +
>> +	if (xen_store_evtchn > 0)
>> +		xb_deinit_comms();
>> +
>> +	xen_store_evtchn = arg.port;
>> +
>> +	xs_resume();
>> +
>> +	return arg.port;
>> +
>> + out_err:
>> +	xs_suspend_cancel();
>> +	return err;
>> +}
>> +
>>  static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned long data)
>>  {
>>  	if (!capable(CAP_SYS_ADMIN))
>> @@ -33,6 +81,9 @@ static long xenbus_backend_ioctl(struct file *file, unsigned int cmd, unsigned l
>>  				return xen_store_evtchn;
>>  			return -ENODEV;
>>  
>> +		case IOCTL_XENBUS_BACKEND_SETUP:
>> +			return xenbus_alloc(data);
>> +
>>  		default:
>>  			return -ENOTTY;
>>  	}
>> diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
>> index 15f8a00..11e27c3 100644
>> --- a/include/xen/grant_table.h
>> +++ b/include/xen/grant_table.h
>> @@ -46,6 +46,8 @@
>>  
>>  #include <xen/features.h>
>>  
>> +#define GNTTAB_RESERVED_XENSTORE 1
>> +
>>  /* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
>>  #define NR_GRANT_FRAMES 4
>>  
>> diff --git a/include/xen/xenbus_dev.h b/include/xen/xenbus_dev.h
>> index ac5f0fe..bbee8c6 100644
>> --- a/include/xen/xenbus_dev.h
>> +++ b/include/xen/xenbus_dev.h
>> @@ -38,4 +38,7 @@
>>  #define IOCTL_XENBUS_BACKEND_EVTCHN			\
>>  	_IOC(_IOC_NONE, 'B', 0, 0)
>>  
>> +#define IOCTL_XENBUS_BACKEND_SETUP			\
>> +	_IOC(_IOC_NONE, 'B', 1, 0)
>> +
>>  #endif /* __LINUX_XEN_XENBUS_DEV_H__ */
>> -- 
>> 1.7.7.6


-- 
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 18:12:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 18:12:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRotf-0000Zf-U7; Tue, 08 May 2012 18:12:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SRote-0000Za-O5
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 18:12:26 +0000
Received: from [85.158.143.35:19419] by server-1.bemta-4.messagelabs.com id
	56/EA-20925-A0269AF4; Tue, 08 May 2012 18:12:26 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336500741!13697804!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM0ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23857 invoked from network); 8 May 2012 18:12:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 18:12:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330923600"; d="scan'208";a="24990131"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 14:12:20 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:12:20 -0400
Message-ID: <4FA96202.9010503@citrix.com>
Date: Tue, 8 May 2012 19:12:18 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>	<20120501163707.GA8741@phenom.dumpdata.com>	<4FA27084.4030005@citrix.com>
	<4FA2A11E.1060907@cantab.net>	<4FA2B1EF.8080900@citrix.com>
	<20120507184808.GA7249@phenom.dumpdata.com>
In-Reply-To: <20120507184808.GA7249@phenom.dumpdata.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/12 19:48, Konrad Rzeszutek Wilk wrote:
> On Thu, May 03, 2012 at 05:27:27PM +0100, David Vrabel wrote:
>> On 03/05/12 16:15, David Vrabel wrote:
>>>
>>> xen: update VA mapping when releasing memory during setup
>>>
>>> In xen_memory_setup(), if a page that is being released has a VA
>>> mapping this must also be updated.  Otherwise, the page will be not
>>> released completely -- it will still be referenced in Xen and won't be
>>> freed util the mapping is removed and this prevents it from being
>>> reallocated at a different PFN.
>>>
>>> This was already being done for the ISA memory region in
>>> xen_ident_map_ISA() but on many systems this was omitting a few pages
>>> as many systems marked a few pages below the ISA memory region as
>>> reserved in the e820 map.
>>>
>>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
>>> ---
>> [...]
>>> --- a/arch/x86/xen/mmu.c
>>> +++ b/arch/x86/xen/mmu.c
>>> @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
>>>  #endif
>>>  }
>>>  
>>> -void __init xen_ident_map_ISA(void)
>>> -{
>>> -	unsigned long pa;
>>> -
>>> -	/*
>>> -	 * If we're dom0, then linear map the ISA machine addresses into
>>> -	 * the kernel's address space.
>>> -	 */
>>> -	if (!xen_initial_domain())
>>> -		return;
>>
>> It might look like this test has gone, however the new code which
>> updates the VA mapping uses the e820 map and for a domU its map will not
>> have a ISA region so there's no mapping to be updated.
> 
> What if you use e820_hole=1 and the pci=xx in the guest?

Are these xl configuration options? I'm not familiar with xl.

The PCI memory hole should be above 3 GiB so this hole will be will
above the memory that will be initially mapped at boot.

I've not managed to persuade my test box to passthrough a PCI device to
a guest (using xapi as the toolstack) to confirm, though.  I'll have
another go tomorrow.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 18:12:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 18:12:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRotf-0000Zf-U7; Tue, 08 May 2012 18:12:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SRote-0000Za-O5
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 18:12:26 +0000
Received: from [85.158.143.35:19419] by server-1.bemta-4.messagelabs.com id
	56/EA-20925-A0269AF4; Tue, 08 May 2012 18:12:26 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336500741!13697804!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM0ODQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23857 invoked from network); 8 May 2012 18:12:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 18:12:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,552,1330923600"; d="scan'208";a="24990131"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 14:12:20 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	14:12:20 -0400
Message-ID: <4FA96202.9010503@citrix.com>
Date: Tue, 8 May 2012 19:12:18 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>	<20120501163707.GA8741@phenom.dumpdata.com>	<4FA27084.4030005@citrix.com>
	<4FA2A11E.1060907@cantab.net>	<4FA2B1EF.8080900@citrix.com>
	<20120507184808.GA7249@phenom.dumpdata.com>
In-Reply-To: <20120507184808.GA7249@phenom.dumpdata.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 07/05/12 19:48, Konrad Rzeszutek Wilk wrote:
> On Thu, May 03, 2012 at 05:27:27PM +0100, David Vrabel wrote:
>> On 03/05/12 16:15, David Vrabel wrote:
>>>
>>> xen: update VA mapping when releasing memory during setup
>>>
>>> In xen_memory_setup(), if a page that is being released has a VA
>>> mapping this must also be updated.  Otherwise, the page will be not
>>> released completely -- it will still be referenced in Xen and won't be
>>> freed util the mapping is removed and this prevents it from being
>>> reallocated at a different PFN.
>>>
>>> This was already being done for the ISA memory region in
>>> xen_ident_map_ISA() but on many systems this was omitting a few pages
>>> as many systems marked a few pages below the ISA memory region as
>>> reserved in the e820 map.
>>>
>>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
>>> ---
>> [...]
>>> --- a/arch/x86/xen/mmu.c
>>> +++ b/arch/x86/xen/mmu.c
>>> @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
>>>  #endif
>>>  }
>>>  
>>> -void __init xen_ident_map_ISA(void)
>>> -{
>>> -	unsigned long pa;
>>> -
>>> -	/*
>>> -	 * If we're dom0, then linear map the ISA machine addresses into
>>> -	 * the kernel's address space.
>>> -	 */
>>> -	if (!xen_initial_domain())
>>> -		return;
>>
>> It might look like this test has gone, however the new code which
>> updates the VA mapping uses the e820 map and for a domU its map will not
>> have a ISA region so there's no mapping to be updated.
> 
> What if you use e820_hole=1 and the pci=xx in the guest?

Are these xl configuration options? I'm not familiar with xl.

The PCI memory hole should be above 3 GiB so this hole will be will
above the memory that will be initially mapped at boot.

I've not managed to persuade my test box to passthrough a PCI device to
a guest (using xapi as the toolstack) to confirm, though.  I'll have
another go tomorrow.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 18:30:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 18:30:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRpAz-0000jf-JI; Tue, 08 May 2012 18:30:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRpAx-0000ja-QV
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 18:30:20 +0000
Received: from [193.109.254.147:32030] by server-4.bemta-14.messagelabs.com id
	EE/32-11570-B3669AF4; Tue, 08 May 2012 18:30:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336501814!1428334!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE2NDQz\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11309 invoked from network); 8 May 2012 18:30:16 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 18:30:16 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48IUA3V025702
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 18:30:11 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48IU9UL007362
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 18:30:09 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48IU8fi027481; Tue, 8 May 2012 13:30:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 11:30:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 892EC4031D; Tue,  8 May 2012 14:24:19 -0400 (EDT)
Date: Tue, 8 May 2012 14:24:19 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Message-ID: <20120508182419.GA9888@phenom.dumpdata.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com> <4FA2A11E.1060907@cantab.net>
	<4FA2B1EF.8080900@citrix.com>
	<20120507184808.GA7249@phenom.dumpdata.com>
	<4FA96202.9010503@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA96202.9010503@citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 07:12:18PM +0100, David Vrabel wrote:
> On 07/05/12 19:48, Konrad Rzeszutek Wilk wrote:
> > On Thu, May 03, 2012 at 05:27:27PM +0100, David Vrabel wrote:
> >> On 03/05/12 16:15, David Vrabel wrote:
> >>>
> >>> xen: update VA mapping when releasing memory during setup
> >>>
> >>> In xen_memory_setup(), if a page that is being released has a VA
> >>> mapping this must also be updated.  Otherwise, the page will be not
> >>> released completely -- it will still be referenced in Xen and won't be
> >>> freed util the mapping is removed and this prevents it from being
> >>> reallocated at a different PFN.
> >>>
> >>> This was already being done for the ISA memory region in
> >>> xen_ident_map_ISA() but on many systems this was omitting a few pages
> >>> as many systems marked a few pages below the ISA memory region as
> >>> reserved in the e820 map.
> >>>
> >>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> >>> ---
> >> [...]
> >>> --- a/arch/x86/xen/mmu.c
> >>> +++ b/arch/x86/xen/mmu.c
> >>> @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
> >>>  #endif
> >>>  }
> >>>  
> >>> -void __init xen_ident_map_ISA(void)
> >>> -{
> >>> -	unsigned long pa;
> >>> -
> >>> -	/*
> >>> -	 * If we're dom0, then linear map the ISA machine addresses into
> >>> -	 * the kernel's address space.
> >>> -	 */
> >>> -	if (!xen_initial_domain())
> >>> -		return;
> >>
> >> It might look like this test has gone, however the new code which
> >> updates the VA mapping uses the e820 map and for a domU its map will not
> >> have a ISA region so there's no mapping to be updated.
> > 
> > What if you use e820_hole=1 and the pci=xx in the guest?
> 
> Are these xl configuration options? I'm not familiar with xl.

Yeah. Just have this in your guest config:

e820_hole=1
pci=["01:00.0"]

(And do the PCI bind/unbind to the xen-pciback module)

but looking at the source there is this comment:
/* Weed out anything under 1MB */

so I think we are fine.

> 
> The PCI memory hole should be above 3 GiB so this hole will be will
> above the memory that will be initially mapped at boot.
> 
> I've not managed to persuade my test box to passthrough a PCI device to
> a guest (using xapi as the toolstack) to confirm, though.  I'll have
> another go tomorrow.
> 
> David
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 18:30:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 18:30:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRpAz-0000jf-JI; Tue, 08 May 2012 18:30:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRpAx-0000ja-QV
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 18:30:20 +0000
Received: from [193.109.254.147:32030] by server-4.bemta-14.messagelabs.com id
	EE/32-11570-B3669AF4; Tue, 08 May 2012 18:30:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336501814!1428334!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE2NDQz\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11309 invoked from network); 8 May 2012 18:30:16 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 18:30:16 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q48IUA3V025702
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 18:30:11 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q48IU9UL007362
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 8 May 2012 18:30:09 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q48IU8fi027481; Tue, 8 May 2012 13:30:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 11:30:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 892EC4031D; Tue,  8 May 2012 14:24:19 -0400 (EDT)
Date: Tue, 8 May 2012 14:24:19 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Message-ID: <20120508182419.GA9888@phenom.dumpdata.com>
References: <1334596539-18172-1-git-send-email-konrad.wilk@oracle.com>
	<20120501163707.GA8741@phenom.dumpdata.com>
	<4FA27084.4030005@citrix.com> <4FA2A11E.1060907@cantab.net>
	<4FA2B1EF.8080900@citrix.com>
	<20120507184808.GA7249@phenom.dumpdata.com>
	<4FA96202.9010503@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA96202.9010503@citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH] auto balloon initial domain and fix
 dom0_mem=X inconsistencies (v5).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 07:12:18PM +0100, David Vrabel wrote:
> On 07/05/12 19:48, Konrad Rzeszutek Wilk wrote:
> > On Thu, May 03, 2012 at 05:27:27PM +0100, David Vrabel wrote:
> >> On 03/05/12 16:15, David Vrabel wrote:
> >>>
> >>> xen: update VA mapping when releasing memory during setup
> >>>
> >>> In xen_memory_setup(), if a page that is being released has a VA
> >>> mapping this must also be updated.  Otherwise, the page will be not
> >>> released completely -- it will still be referenced in Xen and won't be
> >>> freed util the mapping is removed and this prevents it from being
> >>> reallocated at a different PFN.
> >>>
> >>> This was already being done for the ISA memory region in
> >>> xen_ident_map_ISA() but on many systems this was omitting a few pages
> >>> as many systems marked a few pages below the ISA memory region as
> >>> reserved in the e820 map.
> >>>
> >>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> >>> ---
> >> [...]
> >>> --- a/arch/x86/xen/mmu.c
> >>> +++ b/arch/x86/xen/mmu.c
> >>> @@ -1929,29 +1929,6 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
> >>>  #endif
> >>>  }
> >>>  
> >>> -void __init xen_ident_map_ISA(void)
> >>> -{
> >>> -	unsigned long pa;
> >>> -
> >>> -	/*
> >>> -	 * If we're dom0, then linear map the ISA machine addresses into
> >>> -	 * the kernel's address space.
> >>> -	 */
> >>> -	if (!xen_initial_domain())
> >>> -		return;
> >>
> >> It might look like this test has gone, however the new code which
> >> updates the VA mapping uses the e820 map and for a domU its map will not
> >> have a ISA region so there's no mapping to be updated.
> > 
> > What if you use e820_hole=1 and the pci=xx in the guest?
> 
> Are these xl configuration options? I'm not familiar with xl.

Yeah. Just have this in your guest config:

e820_hole=1
pci=["01:00.0"]

(And do the PCI bind/unbind to the xen-pciback module)

but looking at the source there is this comment:
/* Weed out anything under 1MB */

so I think we are fine.

> 
> The PCI memory hole should be above 3 GiB so this hole will be will
> above the memory that will be initially mapped at boot.
> 
> I've not managed to persuade my test box to passthrough a PCI device to
> a guest (using xapi as the toolstack) to confirm, though.  I'll have
> another go tomorrow.
> 
> David
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 19:16:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 19:16:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRptA-0000zL-8j; Tue, 08 May 2012 19:16:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRpt8-0000zG-9m
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 19:15:58 +0000
Received: from [85.158.143.35:38230] by server-3.bemta-4.messagelabs.com id
	34/47-05853-DE079AF4; Tue, 08 May 2012 19:15:57 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336504556!13289327!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11450 invoked from network); 8 May 2012 19:15:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 19:15:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,553,1330905600"; d="scan'208";a="12363638"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 19:15:56 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	20:15:55 +0100
Message-ID: <1336504555.4350.22.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Pasi =?ISO-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Date: Tue, 8 May 2012 20:15:55 +0100
In-Reply-To: <20120508162426.GD2058@reaktio.net>
References: <1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
	<20120508162426.GD2058@reaktio.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 17:24 +0100, Pasi K=E4rkk=E4inen wrote:
> On Fri, May 04, 2012 at 12:32:19PM +0100, Ian Campbell wrote:
> > On Fri, 2012-05-04 at 12:21 +0100, Anthony PERARD wrote:
> > > On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com=
> wrote:
> > > > Anthony -- any idea why the videoram setting doesn't work with upst=
ream
> > > > qemu?
> > > =

> > > Well, the parameter could be pass to qemu qxl, but it's not yet. But
> > > then, it seams you have to have this value of at least 32MB, otherwise
> > > the value is increase in qemu.
> > > =

> > > For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> > > size in qemu is fixed to 8MB.
> > =

> > OK, so this is simply a feature which upstream qemu doesn't have. That's
> > fine.
> > =

> =

> Is this something that should be forward-ported from qemu-xen-traditional
> to upstream qemu ?

If there are reasons why this should be configurable, then I guess so.
Are you going to look into that?

This doesn't seem like 4.2 material to me though.

> > I guess xl.cfg(5) needs updating to make it clear that this option only
> > applies to qemu-xen-traditional.
> > =

> > The docs also currently say that for stdvga the default is 8MB and for
> > not stdvga (by which I guess it means Cirrus) the default if 4MB. So I
> > guess even this is inaccurate for qemu-xen-upstream?
> > =

> > Can someone send a patch please?
> > =

> =

> For the documentation patch maybe add this to the 4.2 status todo list
> as a reminder :) =


Please make requests for additions to the TODO list in the most recent
TODO list thread, with a link to the relevant thread. Otherwise the
chances are I won't remember when I update the list, since I only look
at replies in the TODO threads.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 19:16:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 19:16:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRptA-0000zL-8j; Tue, 08 May 2012 19:16:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SRpt8-0000zG-9m
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 19:15:58 +0000
Received: from [85.158.143.35:38230] by server-3.bemta-4.messagelabs.com id
	34/47-05853-DE079AF4; Tue, 08 May 2012 19:15:57 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336504556!13289327!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11450 invoked from network); 8 May 2012 19:15:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 19:15:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,553,1330905600"; d="scan'208";a="12363638"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 19:15:56 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Tue, 8 May 2012
	20:15:55 +0100
Message-ID: <1336504555.4350.22.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Pasi =?ISO-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Date: Tue, 8 May 2012 20:15:55 +0100
In-Reply-To: <20120508162426.GD2058@reaktio.net>
References: <1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
	<20120508162426.GD2058@reaktio.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
 issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 17:24 +0100, Pasi K=E4rkk=E4inen wrote:
> On Fri, May 04, 2012 at 12:32:19PM +0100, Ian Campbell wrote:
> > On Fri, 2012-05-04 at 12:21 +0100, Anthony PERARD wrote:
> > > On Fri, May 4, 2012 at 9:28 AM, Ian Campbell <Ian.Campbell@citrix.com=
> wrote:
> > > > Anthony -- any idea why the videoram setting doesn't work with upst=
ream
> > > > qemu?
> > > =

> > > Well, the parameter could be pass to qemu qxl, but it's not yet. But
> > > then, it seams you have to have this value of at least 32MB, otherwise
> > > the value is increase in qemu.
> > > =

> > > For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> > > size in qemu is fixed to 8MB.
> > =

> > OK, so this is simply a feature which upstream qemu doesn't have. That's
> > fine.
> > =

> =

> Is this something that should be forward-ported from qemu-xen-traditional
> to upstream qemu ?

If there are reasons why this should be configurable, then I guess so.
Are you going to look into that?

This doesn't seem like 4.2 material to me though.

> > I guess xl.cfg(5) needs updating to make it clear that this option only
> > applies to qemu-xen-traditional.
> > =

> > The docs also currently say that for stdvga the default is 8MB and for
> > not stdvga (by which I guess it means Cirrus) the default if 4MB. So I
> > guess even this is inaccurate for qemu-xen-upstream?
> > =

> > Can someone send a patch please?
> > =

> =

> For the documentation patch maybe add this to the 4.2 status todo list
> as a reminder :) =


Please make requests for additions to the TODO list in the most recent
TODO list thread, with a link to the relevant thread. Otherwise the
chances are I won't remember when I update the list, since I only look
at replies in the TODO threads.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 20:42:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 20:42:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRrDn-00033W-4J; Tue, 08 May 2012 20:41:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRrDl-00033R-5h
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 20:41:21 +0000
Received: from [85.158.139.83:18227] by server-8.bemta-5.messagelabs.com id
	73/A1-26964-0F489AF4; Tue, 08 May 2012 20:41:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336509679!23476638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24791 invoked from network); 8 May 2012 20:41:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 20:41:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,553,1330905600"; d="scan'208";a="12364286"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 20:41:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 21:41:19 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRrDi-0002OD-Tq;
	Tue, 08 May 2012 20:41:18 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRrDi-0005kX-TH;
	Tue, 08 May 2012 21:41:18 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12806-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 21:41:18 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12806: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12806 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12806/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pv             9 guest-start               fail REGR. vs. 12800

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12800
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12800

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8a86d841e6d4
baseline version:
 xen                  8f1e0cc4a507

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            fail    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 08 20:42:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 08 May 2012 20:42:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRrDn-00033W-4J; Tue, 08 May 2012 20:41:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SRrDl-00033R-5h
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 20:41:21 +0000
Received: from [85.158.139.83:18227] by server-8.bemta-5.messagelabs.com id
	73/A1-26964-0F489AF4; Tue, 08 May 2012 20:41:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336509679!23476638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzU0OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24791 invoked from network); 8 May 2012 20:41:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	8 May 2012 20:41:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,553,1330905600"; d="scan'208";a="12364286"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	08 May 2012 20:41:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 8 May 2012 21:41:19 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SRrDi-0002OD-Tq;
	Tue, 08 May 2012 20:41:18 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SRrDi-0005kX-TH;
	Tue, 08 May 2012 21:41:18 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12806-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 8 May 2012 21:41:18 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12806: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12806 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12806/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pv             9 guest-start               fail REGR. vs. 12800

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12800
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12800

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8a86d841e6d4
baseline version:
 xen                  8f1e0cc4a507

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            fail    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 00:42:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 00:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRuy9-0004Ur-CL; Wed, 09 May 2012 00:41:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRuy7-0004Um-OH
	for xen-devel@lists.xen.org; Wed, 09 May 2012 00:41:27 +0000
Received: from [193.109.254.147:12428] by server-4.bemta-14.messagelabs.com id
	CB/9C-11570-73DB9AF4; Wed, 09 May 2012 00:41:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336524084!8347376!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyMDE4NA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13977 invoked from network); 9 May 2012 00:41:26 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-3.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 00:41:26 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q490fGp7009044
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 9 May 2012 00:41:17 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q490fFd6015381
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 00:41:15 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q490fDrr019475; Tue, 8 May 2012 19:41:13 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 17:41:13 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3054C4031D; Tue,  8 May 2012 20:35:11 -0400 (EDT)
Date: Tue, 8 May 2012 20:35:11 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: AP <apxeng@gmail.com>
Message-ID: <20120509003510.GA19643@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> konrad.wilk@oracle.com> wrote:
> >
> > > > No, this is specifically the wrong thing. From what we know so far
> > > > (i.e. the outcome of the above printing you added) the problem in
> > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > attempting XSETBV). What your patch efectively does is take away
> > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > >
> > > > > That allowed the system to boot successfully though I did see the
> > > > > following message:
> > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > 00002660
> > > >
> > > > ... which is what this message is telling you.
> > > >
> > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > helpful in pointing at where the problem might be.
> > > > >
> > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > xsave=1.
> > > >
> > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > added,
> > > > to find out why the CR4 write supposedly happening immediately
> > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > >
> > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> >
> > Where did you see that code? Looking at the Linus's tree this is what I
> > see
> >
> >
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> >
> > So who added that code? I am not seeing it in v3.0 either?
> 
> This is in the Ubuntu 11.10 kernel:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> 
> After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b


Ugh. There are looks to be a bug in Fedora as well: https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 00:42:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 00:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRuy9-0004Ur-CL; Wed, 09 May 2012 00:41:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SRuy7-0004Um-OH
	for xen-devel@lists.xen.org; Wed, 09 May 2012 00:41:27 +0000
Received: from [193.109.254.147:12428] by server-4.bemta-14.messagelabs.com id
	CB/9C-11570-73DB9AF4; Wed, 09 May 2012 00:41:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336524084!8347376!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyMDE4NA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13977 invoked from network); 9 May 2012 00:41:26 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-3.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 00:41:26 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q490fGp7009044
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 9 May 2012 00:41:17 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q490fFd6015381
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 00:41:15 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q490fDrr019475; Tue, 8 May 2012 19:41:13 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 08 May 2012 17:41:13 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3054C4031D; Tue,  8 May 2012 20:35:11 -0400 (EDT)
Date: Tue, 8 May 2012 20:35:11 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: AP <apxeng@gmail.com>
Message-ID: <20120509003510.GA19643@phenom.dumpdata.com>
References: <20120430193713.GA12817@phenom.dumpdata.com>
	<4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> konrad.wilk@oracle.com> wrote:
> >
> > > > No, this is specifically the wrong thing. From what we know so far
> > > > (i.e. the outcome of the above printing you added) the problem in
> > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > attempting XSETBV). What your patch efectively does is take away
> > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > >
> > > > > That allowed the system to boot successfully though I did see the
> > > > > following message:
> > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > 00002660
> > > >
> > > > ... which is what this message is telling you.
> > > >
> > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > helpful in pointing at where the problem might be.
> > > > >
> > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > xsave=1.
> > > >
> > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > added,
> > > > to find out why the CR4 write supposedly happening immediately
> > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > >
> > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> >
> > Where did you see that code? Looking at the Linus's tree this is what I
> > see
> >
> >
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> >
> > So who added that code? I am not seeing it in v3.0 either?
> 
> This is in the Ubuntu 11.10 kernel:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> 
> After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b


Ugh. There are looks to be a bug in Fedora as well: https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 05:26:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 05:26:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRzPP-0001o4-6e; Wed, 09 May 2012 05:25:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SRzPO-0001nz-48
	for xen-devel@lists.xen.org; Wed, 09 May 2012 05:25:54 +0000
Received: from [193.109.254.147:45092] by server-9.bemta-14.messagelabs.com id
	23/21-05787-1EFF9AF4; Wed, 09 May 2012 05:25:53 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336541151!8268126!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8627 invoked from network); 9 May 2012 05:25:52 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 05:25:52 -0000
Received: by vbbfn1 with SMTP id fn1so1663791vbb.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 22:25:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=7c400S3h9BjyM/uglAoitLDXEq9UAl9DtwgahUq/UK0=;
	b=ShLkF+rUBGZcwX08Jnea5GnW95o25viIWJ0C7jh0NC9kIVg+74fa3Z05knO5Lu+Y61
	K8w9q/HY1JvPNSiVFS6mpJ1g/fWI8oFh4RNVAJ+Iu1fn/kgzD4hNa/+w3x87sDUpHlwG
	7szDO6KJ+u/T6VeiZZv8YA0CfR1VjcgBLpb0+djLMWdvmK+lyY824R72Z2Ll1S494707
	ncHQTNUAZ00Q7RsgoNGTjpUezU0yRN2leQNyOaozl7LNe68+4Q/aX8Rz97HGWbMSlwM7
	fbTeViv1cEYdReyba2sRS+C1ypoQR4SHKvcdn4aLSRmLLd7+UfgvyKrdbY/l+PYHl/x2
	NvrA==
MIME-Version: 1.0
Received: by 10.220.154.2 with SMTP id m2mr13962686vcw.55.1336541150780; Tue,
	08 May 2012 22:25:50 -0700 (PDT)
Received: by 10.220.35.142 with HTTP; Tue, 8 May 2012 22:25:50 -0700 (PDT)
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
Date: Wed, 9 May 2012 14:25:50 +0900
Message-ID: <CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: James Harper <james.harper@bendigoit.com.au>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I am writing the PV Driver front end in Seabios.

Could you explain your method in a little more detail please?

Thanks,

Daniel

On Mon, May 7, 2012 at 5:53 PM, James Harper
<james.harper@bendigoit.com.au> wrote:
>> >
>> > >>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
>> > > Hello List,
>> > >
>> > > I have a small problem with the ring when transferring blocks the id
>> > > on the response is different from the request.
>> > > This is the boot up read, count 0.
>> > > The guest requests block 0, it has to be located at 7c00.
>> > >
>> > > I go ahead and create a REQUEST with this data:
>> > > ring_req =3D RING_GET_REQUEST(priv,priv->req_prod_pvt);
>> > > ring_req->id =3D 9;
>> > > ring_req->nr_segments=3D1;
>> > > ring_req->operation =3D BLKIF_OP_READ; ring_req->sector_number =3D
>> > > (int)op->lba; //sector to be read ring_req->seg[0].gref =3D
>> > > (bi->buffer_gref); //this should be get_free_gref();
>> > > ring_req->seg[0].first_sect =3D 0;//op->lba;
>> > > ring_req->seg[0].last_sect =3D 7;//op->lba + op->count;
>> > >
>> > > RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify); =A0//return
>> > notify=3D0
>> > > if(notify){
>> > > =A0 =A0 =A0 =A0 =A0 dprintf(1,"Start notify procedure\n");
>> > > =A0 =A0 =A0 =A0 =A0 evtchn_send_t send;
>> > > =A0 =A0 =A0 =A0 =A0 send.port =3D (bi->port);
>> > > =A0 =A0 =A0 =A0 =A0 dprintf(1,"In notify before hypercall port is %d=
\n",send.port);
>> > > =A0 =A0 =A0 =A0 =A0 //hypercall_event_channel_op(EVTCHNOP_send, &sen=
d);
>> > > =A0 =A0 =A0 =A0 =A0 dprintf(1,"HYPERCALL read operation notify res %=
d\n",
>> > > hypercall_event_channel_op(EVTCHNOP_send,&send));
>> > > }
>> > > ring_res =3D RING_GET_RESPONSE((priv),(temp->rsp_prod));
>> > > Then I get:
>> > > FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0 this is
>> > > the line:
>> > > dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
>> > > ring_res,ring_res->id,ring_res->status,ring_res->operation);
>> > >
>> > >
>> > > The id should be the same on both the request and response, there
>> > > are bi ither requests on the fly.
>> > >
>> > > Any clue?=3D
>> >
>> > With status happening to be 9 when id should be, is this perhaps a
>> > broken response structure definition?
>> >
>>
>> That would be my guess too. The structure aligns differently under 64 an=
d 32
>> bits so I'd guess the OP is talking between the two.
>>
>
> Further to this, Dom0 sets the "protocol" entry in the frontend xenstore =
(/local/domain/<domu id>/device/vbd/<vbd id>/protocol) to tell it what alig=
nment it is using. I wrote GPLPV before this setting existed so I solved th=
e problem by sending 2 invalid requests down the ring and checking the resp=
onse. If the fields have shifted around I assume that dom0 is not the same =
bit width as the domu and switch structure definitions on the fly.
>
> Are you writing a new frontend driver?
>
> James
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 05:26:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 05:26:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SRzPP-0001o4-6e; Wed, 09 May 2012 05:25:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SRzPO-0001nz-48
	for xen-devel@lists.xen.org; Wed, 09 May 2012 05:25:54 +0000
Received: from [193.109.254.147:45092] by server-9.bemta-14.messagelabs.com id
	23/21-05787-1EFF9AF4; Wed, 09 May 2012 05:25:53 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336541151!8268126!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8627 invoked from network); 9 May 2012 05:25:52 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 05:25:52 -0000
Received: by vbbfn1 with SMTP id fn1so1663791vbb.32
	for <xen-devel@lists.xen.org>; Tue, 08 May 2012 22:25:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=7c400S3h9BjyM/uglAoitLDXEq9UAl9DtwgahUq/UK0=;
	b=ShLkF+rUBGZcwX08Jnea5GnW95o25viIWJ0C7jh0NC9kIVg+74fa3Z05knO5Lu+Y61
	K8w9q/HY1JvPNSiVFS6mpJ1g/fWI8oFh4RNVAJ+Iu1fn/kgzD4hNa/+w3x87sDUpHlwG
	7szDO6KJ+u/T6VeiZZv8YA0CfR1VjcgBLpb0+djLMWdvmK+lyY824R72Z2Ll1S494707
	ncHQTNUAZ00Q7RsgoNGTjpUezU0yRN2leQNyOaozl7LNe68+4Q/aX8Rz97HGWbMSlwM7
	fbTeViv1cEYdReyba2sRS+C1ypoQR4SHKvcdn4aLSRmLLd7+UfgvyKrdbY/l+PYHl/x2
	NvrA==
MIME-Version: 1.0
Received: by 10.220.154.2 with SMTP id m2mr13962686vcw.55.1336541150780; Tue,
	08 May 2012 22:25:50 -0700 (PDT)
Received: by 10.220.35.142 with HTTP; Tue, 8 May 2012 22:25:50 -0700 (PDT)
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
Date: Wed, 9 May 2012 14:25:50 +0900
Message-ID: <CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: James Harper <james.harper@bendigoit.com.au>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I am writing the PV Driver front end in Seabios.

Could you explain your method in a little more detail please?

Thanks,

Daniel

On Mon, May 7, 2012 at 5:53 PM, James Harper
<james.harper@bendigoit.com.au> wrote:
>> >
>> > >>> On 07.05.12 at 08:23, Daniel Castro <evil.dani@gmail.com> wrote:
>> > > Hello List,
>> > >
>> > > I have a small problem with the ring when transferring blocks the id
>> > > on the response is different from the request.
>> > > This is the boot up read, count 0.
>> > > The guest requests block 0, it has to be located at 7c00.
>> > >
>> > > I go ahead and create a REQUEST with this data:
>> > > ring_req =3D RING_GET_REQUEST(priv,priv->req_prod_pvt);
>> > > ring_req->id =3D 9;
>> > > ring_req->nr_segments=3D1;
>> > > ring_req->operation =3D BLKIF_OP_READ; ring_req->sector_number =3D
>> > > (int)op->lba; //sector to be read ring_req->seg[0].gref =3D
>> > > (bi->buffer_gref); //this should be get_free_gref();
>> > > ring_req->seg[0].first_sect =3D 0;//op->lba;
>> > > ring_req->seg[0].last_sect =3D 7;//op->lba + op->count;
>> > >
>> > > RING_PUSH_REQUESTS_AND_CHECK_NOTIFY((priv),notify); =A0//return
>> > notify=3D0
>> > > if(notify){
>> > > =A0 =A0 =A0 =A0 =A0 dprintf(1,"Start notify procedure\n");
>> > > =A0 =A0 =A0 =A0 =A0 evtchn_send_t send;
>> > > =A0 =A0 =A0 =A0 =A0 send.port =3D (bi->port);
>> > > =A0 =A0 =A0 =A0 =A0 dprintf(1,"In notify before hypercall port is %d=
\n",send.port);
>> > > =A0 =A0 =A0 =A0 =A0 //hypercall_event_channel_op(EVTCHNOP_send, &sen=
d);
>> > > =A0 =A0 =A0 =A0 =A0 dprintf(1,"HYPERCALL read operation notify res %=
d\n",
>> > > hypercall_event_channel_op(EVTCHNOP_send,&send));
>> > > }
>> > > ring_res =3D RING_GET_RESPONSE((priv),(temp->rsp_prod));
>> > > Then I get:
>> > > FAIL RING RESPONSE 0x0009a040 id:256 status:9 operation 0 this is
>> > > the line:
>> > > dprintf(1,"FAIL RING RESPONSE %p id:%d status:%d operation %d\n",
>> > > ring_res,ring_res->id,ring_res->status,ring_res->operation);
>> > >
>> > >
>> > > The id should be the same on both the request and response, there
>> > > are bi ither requests on the fly.
>> > >
>> > > Any clue?=3D
>> >
>> > With status happening to be 9 when id should be, is this perhaps a
>> > broken response structure definition?
>> >
>>
>> That would be my guess too. The structure aligns differently under 64 an=
d 32
>> bits so I'd guess the OP is talking between the two.
>>
>
> Further to this, Dom0 sets the "protocol" entry in the frontend xenstore =
(/local/domain/<domu id>/device/vbd/<vbd id>/protocol) to tell it what alig=
nment it is using. I wrote GPLPV before this setting existed so I solved th=
e problem by sending 2 invalid requests down the ring and checking the resp=
onse. If the fields have shifted around I assume that dom0 is not the same =
bit width as the domu and switch structure definitions on the fly.
>
> Are you writing a new frontend driver?
>
> James
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 06:19:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 06:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS0Eg-0002SU-BU; Wed, 09 May 2012 06:18:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS0Ef-0002SO-5D
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 06:18:53 +0000
Received: from [85.158.138.51:48220] by server-4.bemta-3.messagelabs.com id
	2B/E3-15341-C4C0AAF4; Wed, 09 May 2012 06:18:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336544331!19652855!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Nzc4NA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 968 invoked from network); 9 May 2012 06:18:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 06:18:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,556,1330905600"; d="scan'208";a="12368158"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:18:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 07:18:50 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SS0Ec-0005SJ-B1;
	Wed, 09 May 2012 06:18:50 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SS0Ec-0005sA-9A;
	Wed, 09 May 2012 07:18:50 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12822-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 07:18:50 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12822: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12822 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12822/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 06:19:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 06:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS0Eg-0002SU-BU; Wed, 09 May 2012 06:18:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS0Ef-0002SO-5D
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 06:18:53 +0000
Received: from [85.158.138.51:48220] by server-4.bemta-3.messagelabs.com id
	2B/E3-15341-C4C0AAF4; Wed, 09 May 2012 06:18:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336544331!19652855!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Nzc4NA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 968 invoked from network); 9 May 2012 06:18:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 06:18:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,556,1330905600"; d="scan'208";a="12368158"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:18:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 07:18:50 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SS0Ec-0005SJ-B1;
	Wed, 09 May 2012 06:18:50 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SS0Ec-0005sA-9A;
	Wed, 09 May 2012 07:18:50 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12822-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 07:18:50 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12822: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12822 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12822/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install    fail REGR. vs. 12785

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 06:26:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 06:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS0LP-0002cq-6L; Wed, 09 May 2012 06:25:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SS0LN-0002ck-RJ
	for xen-devel@lists.xen.org; Wed, 09 May 2012 06:25:50 +0000
Received: from [193.109.254.147:42465] by server-2.bemta-14.messagelabs.com id
	CC/8D-19409-CED0AAF4; Wed, 09 May 2012 06:25:48 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336544747!8294182!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMxODM5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11641 invoked from network); 9 May 2012 06:25:48 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-27.messagelabs.com with SMTP;
	9 May 2012 06:25:48 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 08 May 2012 23:25:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="97969684"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 08 May 2012 23:25:46 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 8 May 2012 23:25:46 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 9 May 2012 14:25:44 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoA==
Date: Wed, 9 May 2012 06:25:43 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
In-Reply-To: <4FA906780200007800082364@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Tuesday, May 08, 2012 5:42 PM
> To: Hao, Xudong; Konrad Rzeszutek Wilk
> Cc: xen-devel
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >>  -----Original Message-----
> >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> >> On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> >> > > Don't you need to disable this when the device is un-assigned from the
> >> guest?
> >> > >
> >> >
> >> > I don't think this need to be disabled when device is un-assigned from
> > guest.
> >> If host want to use device again, the host device driver need re-load, so
> >> whether disabling ltr/obff is up to host device driver.
> >>
> >> What if the driver isn't doing that?
> >
> > Make it clear, here host side do not be considered, host has its own driver.
> > The only thing is to make sure ltr/obff is enabled before assigning guest, so
> > that benefit on power.
> >
> > Since device is owned by pciback again when it un-assigned from guest, we
> > need not disable explicitly.
> 
> As you didn't answer my respective earlier question - _if_ this is a
> feature needing enabling (and parameter tweaking), I'd imply there
> are possible incompatibilities (i.e. reasons for not enabling this
> always), and hence this shouldn't be done universally (and with
> fixed values for the parameters) _and_ should be properly reset.
> 
Only Xen administrator can hide a device by pciback, and can assign a device to guest. These power feature such as ltr and obff should be enabled by a sys-admin, I do not know which situation is a possible disabling these features, and why sys-admin want to disable them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 06:26:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 06:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS0LP-0002cq-6L; Wed, 09 May 2012 06:25:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SS0LN-0002ck-RJ
	for xen-devel@lists.xen.org; Wed, 09 May 2012 06:25:50 +0000
Received: from [193.109.254.147:42465] by server-2.bemta-14.messagelabs.com id
	CC/8D-19409-CED0AAF4; Wed, 09 May 2012 06:25:48 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336544747!8294182!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMxODM5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11641 invoked from network); 9 May 2012 06:25:48 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-27.messagelabs.com with SMTP;
	9 May 2012 06:25:48 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 08 May 2012 23:25:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="97969684"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 08 May 2012 23:25:46 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 8 May 2012 23:25:46 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 9 May 2012 14:25:44 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoA==
Date: Wed, 9 May 2012 06:25:43 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
In-Reply-To: <4FA906780200007800082364@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Tuesday, May 08, 2012 5:42 PM
> To: Hao, Xudong; Konrad Rzeszutek Wilk
> Cc: xen-devel
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
> by pciback
> 
> >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >>  -----Original Message-----
> >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> >> On Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> >> > > Don't you need to disable this when the device is un-assigned from the
> >> guest?
> >> > >
> >> >
> >> > I don't think this need to be disabled when device is un-assigned from
> > guest.
> >> If host want to use device again, the host device driver need re-load, so
> >> whether disabling ltr/obff is up to host device driver.
> >>
> >> What if the driver isn't doing that?
> >
> > Make it clear, here host side do not be considered, host has its own driver.
> > The only thing is to make sure ltr/obff is enabled before assigning guest, so
> > that benefit on power.
> >
> > Since device is owned by pciback again when it un-assigned from guest, we
> > need not disable explicitly.
> 
> As you didn't answer my respective earlier question - _if_ this is a
> feature needing enabling (and parameter tweaking), I'd imply there
> are possible incompatibilities (i.e. reasons for not enabling this
> always), and hence this shouldn't be done universally (and with
> fixed values for the parameters) _and_ should be properly reset.
> 
Only Xen administrator can hide a device by pciback, and can assign a device to guest. These power feature such as ltr and obff should be enabled by a sys-admin, I do not know which situation is a possible disabling these features, and why sys-admin want to disable them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 07:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 07:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS1jP-00034f-Qw; Wed, 09 May 2012 07:54:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SS1jN-00034a-NR
	for xen-devel@lists.xen.org; Wed, 09 May 2012 07:54:41 +0000
Received: from [85.158.143.99:3329] by server-1.bemta-4.messagelabs.com id
	81/28-20925-1C22AAF4; Wed, 09 May 2012 07:54:41 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336550077!15921150!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13176 invoked from network); 9 May 2012 07:54:40 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-16.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 07:54:40 -0000
Received: from smtp2.bendigoit.com.au ([203.16.207.99]
	helo=mail.bendigoit.com.au)
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SS1jD-00006i-84; Wed, 09 May 2012 17:54:31 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Wed, 9 May 2012 17:54:31 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Wed, 9 May 2012 17:54:30 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: Daniel Castro <evil.dani@gmail.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DCAAAKHAIACRCsAgADOceA=
Date: Wed, 9 May 2012 07:54:29 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
In-Reply-To: <CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 09 May 2012 07:54:31.0062 (UTC)
	FILETIME=[F7588B60:01CD2DB8]
X-Really-From-Bendigo-IT: magichashvalue
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> I am writing the PV Driver front end in Seabios.
> 
> Could you explain your method in a little more detail please?
> 

I'm not sure that my way is the best way. The existing linux pv drivers should do what you want - have a look at the source. If you really want to look at my code you can get it from hg and have a look. It's in the xenvbd driver.

And I think I got it backwards in a previous email. It seems that the frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64 bit. You should probably just make sure your structures are correctly laid out for a 32 bit system and then write the correct protocol string into the frontend when you set up communications and that should ensure that it will work on all but the most ancient Xen implementations.

James

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 07:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 07:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS1jP-00034f-Qw; Wed, 09 May 2012 07:54:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SS1jN-00034a-NR
	for xen-devel@lists.xen.org; Wed, 09 May 2012 07:54:41 +0000
Received: from [85.158.143.99:3329] by server-1.bemta-4.messagelabs.com id
	81/28-20925-1C22AAF4; Wed, 09 May 2012 07:54:41 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336550077!15921150!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13176 invoked from network); 9 May 2012 07:54:40 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-16.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 07:54:40 -0000
Received: from smtp2.bendigoit.com.au ([203.16.207.99]
	helo=mail.bendigoit.com.au)
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SS1jD-00006i-84; Wed, 09 May 2012 17:54:31 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Wed, 9 May 2012 17:54:31 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Wed, 9 May 2012 17:54:30 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: Daniel Castro <evil.dani@gmail.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DCAAAKHAIACRCsAgADOceA=
Date: Wed, 9 May 2012 07:54:29 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
In-Reply-To: <CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 09 May 2012 07:54:31.0062 (UTC)
	FILETIME=[F7588B60:01CD2DB8]
X-Really-From-Bendigo-IT: magichashvalue
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> I am writing the PV Driver front end in Seabios.
> 
> Could you explain your method in a little more detail please?
> 

I'm not sure that my way is the best way. The existing linux pv drivers should do what you want - have a look at the source. If you really want to look at my code you can get it from hg and have a look. It's in the xenvbd driver.

And I think I got it backwards in a previous email. It seems that the frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64 bit. You should probably just make sure your structures are correctly laid out for a 32 bit system and then write the correct protocol string into the frontend when you set up communications and that should ensure that it will work on all but the most ancient Xen implementations.

James

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 08:19:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 08:19:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS26w-0003in-4P; Wed, 09 May 2012 08:19:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS26u-0003ii-Gx
	for xen-devel@lists.xen.org; Wed, 09 May 2012 08:19:00 +0000
Received: from [85.158.139.83:17873] by server-9.bemta-5.messagelabs.com id
	14/79-09826-3782AAF4; Wed, 09 May 2012 08:18:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336551539!20070352!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Nzc4NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13292 invoked from network); 9 May 2012 08:18:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 08:18:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12370860"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:18:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	09:18:58 +0100
Message-ID: <1336551537.25514.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: James Harper <james.harper@bendigoit.com.au>
Date: Wed, 9 May 2012 09:18:57 +0100
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel Castro <evil.dani@gmail.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 08:54 +0100, James Harper wrote:
> > 
> > I am writing the PV Driver front end in Seabios.
> > 
> > Could you explain your method in a little more detail please?
> > 
> 
> I'm not sure that my way is the best way. The existing linux pv
> drivers should do what you want - have a look at the source. If you
> really want to look at my code you can get it from hg and have a look.
> It's in the xenvbd driver.
> 
> And I think I got it backwards in a previous email. It seems that the
> frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64
> bit.

That's right, xen/include/public/io/protocols.h defines the valid
protocols, your frontend should publish the one it implements (probably
x86_32-abi for a SeaBIOS driver).

>  You should probably just make sure your structures are correctly laid
> out for a 32 bit system and then write the correct protocol string
> into the frontend when you set up communications and that should
> ensure that it will work on all but the most ancient Xen
> implementations.
> 
> James
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 08:19:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 08:19:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS26w-0003in-4P; Wed, 09 May 2012 08:19:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS26u-0003ii-Gx
	for xen-devel@lists.xen.org; Wed, 09 May 2012 08:19:00 +0000
Received: from [85.158.139.83:17873] by server-9.bemta-5.messagelabs.com id
	14/79-09826-3782AAF4; Wed, 09 May 2012 08:18:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336551539!20070352!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5Nzc4NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13292 invoked from network); 9 May 2012 08:18:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 08:18:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12370860"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:18:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	09:18:58 +0100
Message-ID: <1336551537.25514.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: James Harper <james.harper@bendigoit.com.au>
Date: Wed, 9 May 2012 09:18:57 +0100
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel Castro <evil.dani@gmail.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 08:54 +0100, James Harper wrote:
> > 
> > I am writing the PV Driver front end in Seabios.
> > 
> > Could you explain your method in a little more detail please?
> > 
> 
> I'm not sure that my way is the best way. The existing linux pv
> drivers should do what you want - have a look at the source. If you
> really want to look at my code you can get it from hg and have a look.
> It's in the xenvbd driver.
> 
> And I think I got it backwards in a previous email. It seems that the
> frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64
> bit.

That's right, xen/include/public/io/protocols.h defines the valid
protocols, your frontend should publish the one it implements (probably
x86_32-abi for a SeaBIOS driver).

>  You should probably just make sure your structures are correctly laid
> out for a 32 bit system and then write the correct protocol string
> into the frontend when you set up communications and that should
> ensure that it will work on all but the most ancient Xen
> implementations.
> 
> James
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 08:33:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 08:33:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS2Kj-0004Bj-IJ; Wed, 09 May 2012 08:33:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SS2Ki-0004Be-3h
	for xen-devel@lists.xen.org; Wed, 09 May 2012 08:33:16 +0000
Received: from [85.158.138.51:17052] by server-10.bemta-3.messagelabs.com id
	C3/64-29478-BCB2AAF4; Wed, 09 May 2012 08:33:15 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336552392!17121883!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc2NjQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23010 invoked from network); 9 May 2012 08:33:14 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-174.messagelabs.com with SMTP;
	9 May 2012 08:33:14 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 09 May 2012 01:33:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98006581"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 09 May 2012 01:33:11 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 9 May 2012 01:33:11 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 9 May 2012 16:33:09 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Wu, GabrielX"
	<gabrielx.wu@intel.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: AQHNKfeXJsb0jMTM1kmo0tMgmN2cyJbAsTkQ
Date: Wed, 9 May 2012 08:33:09 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<20120504131244.GA26418@phenom.dumpdata.com>
In-Reply-To: <20120504131244.GA26418@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org
> [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Konrad Rzeszutek
> Wilk
> Sent: Friday, May 04, 2012 9:13 PM
> To: Wu, GabrielX
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> 
> On Fri, May 04, 2012 at 10:06:26AM +0000, Wu, GabrielX wrote:
> > Hi all,
> >
> > This is the test report of xen-unstable tree. There are one bug found.
> >
> > Version Info:
> >
> ============================================================
> =====
> > xen-changeset:   25256
> > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> 
> Please update your dom0.

I think we can use 3.4-RCx kernel as dom0 when sending the report next time.

> >
> ============================================================
> =====
> >
> > New issue(1)
> > ==============
> > 1. cpu weight out of range error when create hvm domU
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> 
> And what is the guest config? Does it have any cpu weights?

Added the config in the BZ.  It doesn't have any cpu weight in config. 
Some other person also reported this issue in the mailing list several days ago.

> >
> > Fixed issue(0)
> > ==============
> >
> > Old issues(8)
> > ==============
> > 1. [ACPI] System cann't resume after do suspend
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707
> 
> That shouldn't be a surprise. The patches for that are not yet
> in the mainline.
> 
OK. Leave it here as a tracking.

> > 2. [XL]"xl vcpu-set" causes dom0 crash or panic
> 
> This should be fixed with 3.4-rc5.
> 
Will update this status in next report based on 3.4-RCx.

> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > 3. [VT-D]fail to detach NIC from guest
> 
> Hmm, the last update is from a year ago. Are you sure this
> is an issue?
> 
Yeah, it still exist.  It may be a similar issue with BZ# 1812.
According to our recent testing, it something about VNC console.
Also added some latest info in the BZ.

> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> 
> the bug talks about 2.6.32. Can you update it to include the
> 3.4 (or 3.3) dmesg output?
> 
This is about 32bit Xen.
As we don't test 32bit Xen for a long time, we may update it when we're free.

> > 5. [VT-D] device reset fail when create/destroy guest
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> 
> Does this happen if you manually echo 1 > ../reset? And is this
> an issue with the kernel if you upgrade it to 3.4-rc5?
> 
When doing 'echo 1 >../reset', I get the same error as list in the BZ.
"/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid argument".
This bug only exists when we use 'pcistub' to hide a device.
If using 'pciback' to hide the device, it doesn't show any error info.
If Xen will support both 'pcisback' and 'pcistub' to hide a device, I'll leave the bug open in BZ.

> > 6. when detaching a VF from hvm guest, "xl dmesg" will show some
> warning information
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809
> 
> .. Not sure about that.
> 
Oh, it has been fixed by Jan. Marked as verified.

> > 7. RHEL6.2/6.1 guest runs quite slow
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811
> 
> Is the issue present when using an LVM disk?
> 
Not sure about this, because we don't use LVM in our testing.
We're still testing this bug. If any update, we'll add it in the BZ.

> > 8. after detaching a VF from a guest, shutdown the guest is very slow
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> 
> Where does it slow down? When bringing the NIC down or in specific
> cases?
> Is this an issue with if you are using a different guest (say Fedora Core 16?)
> 
We found it is related to 'stdgva' option in guest config file.
If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.
Also updated BZ, you can get detailed info in BZ.

> >
> > Thanks,
> > Wu Ronghui(Gabriel)
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 08:33:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 08:33:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS2Kj-0004Bj-IJ; Wed, 09 May 2012 08:33:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SS2Ki-0004Be-3h
	for xen-devel@lists.xen.org; Wed, 09 May 2012 08:33:16 +0000
Received: from [85.158.138.51:17052] by server-10.bemta-3.messagelabs.com id
	C3/64-29478-BCB2AAF4; Wed, 09 May 2012 08:33:15 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336552392!17121883!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc2NjQ2\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23010 invoked from network); 9 May 2012 08:33:14 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-174.messagelabs.com with SMTP;
	9 May 2012 08:33:14 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 09 May 2012 01:33:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98006581"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 09 May 2012 01:33:11 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 9 May 2012 01:33:11 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 9 May 2012 16:33:09 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Wu, GabrielX"
	<gabrielx.wu@intel.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: AQHNKfeXJsb0jMTM1kmo0tMgmN2cyJbAsTkQ
Date: Wed, 9 May 2012 08:33:09 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<20120504131244.GA26418@phenom.dumpdata.com>
In-Reply-To: <20120504131244.GA26418@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org
> [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Konrad Rzeszutek
> Wilk
> Sent: Friday, May 04, 2012 9:13 PM
> To: Wu, GabrielX
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> 
> On Fri, May 04, 2012 at 10:06:26AM +0000, Wu, GabrielX wrote:
> > Hi all,
> >
> > This is the test report of xen-unstable tree. There are one bug found.
> >
> > Version Info:
> >
> ============================================================
> =====
> > xen-changeset:   25256
> > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> 
> Please update your dom0.

I think we can use 3.4-RCx kernel as dom0 when sending the report next time.

> >
> ============================================================
> =====
> >
> > New issue(1)
> > ==============
> > 1. cpu weight out of range error when create hvm domU
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> 
> And what is the guest config? Does it have any cpu weights?

Added the config in the BZ.  It doesn't have any cpu weight in config. 
Some other person also reported this issue in the mailing list several days ago.

> >
> > Fixed issue(0)
> > ==============
> >
> > Old issues(8)
> > ==============
> > 1. [ACPI] System cann't resume after do suspend
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707
> 
> That shouldn't be a surprise. The patches for that are not yet
> in the mainline.
> 
OK. Leave it here as a tracking.

> > 2. [XL]"xl vcpu-set" causes dom0 crash or panic
> 
> This should be fixed with 3.4-rc5.
> 
Will update this status in next report based on 3.4-RCx.

> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > 3. [VT-D]fail to detach NIC from guest
> 
> Hmm, the last update is from a year ago. Are you sure this
> is an issue?
> 
Yeah, it still exist.  It may be a similar issue with BZ# 1812.
According to our recent testing, it something about VNC console.
Also added some latest info in the BZ.

> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> 
> the bug talks about 2.6.32. Can you update it to include the
> 3.4 (or 3.3) dmesg output?
> 
This is about 32bit Xen.
As we don't test 32bit Xen for a long time, we may update it when we're free.

> > 5. [VT-D] device reset fail when create/destroy guest
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> 
> Does this happen if you manually echo 1 > ../reset? And is this
> an issue with the kernel if you upgrade it to 3.4-rc5?
> 
When doing 'echo 1 >../reset', I get the same error as list in the BZ.
"/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid argument".
This bug only exists when we use 'pcistub' to hide a device.
If using 'pciback' to hide the device, it doesn't show any error info.
If Xen will support both 'pcisback' and 'pcistub' to hide a device, I'll leave the bug open in BZ.

> > 6. when detaching a VF from hvm guest, "xl dmesg" will show some
> warning information
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809
> 
> .. Not sure about that.
> 
Oh, it has been fixed by Jan. Marked as verified.

> > 7. RHEL6.2/6.1 guest runs quite slow
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811
> 
> Is the issue present when using an LVM disk?
> 
Not sure about this, because we don't use LVM in our testing.
We're still testing this bug. If any update, we'll add it in the BZ.

> > 8. after detaching a VF from a guest, shutdown the guest is very slow
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> 
> Where does it slow down? When bringing the NIC down or in specific
> cases?
> Is this an issue with if you are using a different guest (say Fedora Core 16?)
> 
We found it is related to 'stdgva' option in guest config file.
If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.
Also updated BZ, you can get detailed info in BZ.

> >
> > Thanks,
> > Wu Ronghui(Gabriel)
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 08:47:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 08:47:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS2YC-0004XY-J2; Wed, 09 May 2012 08:47:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SS2YB-0004XJ-2m
	for xen-devel@lists.xen.org; Wed, 09 May 2012 08:47:11 +0000
Received: from [85.158.143.35:20383] by server-1.bemta-4.messagelabs.com id
	D3/E8-20925-E0F2AAF4; Wed, 09 May 2012 08:47:10 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336553213!15271421!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM1OTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31933 invoked from network); 9 May 2012 08:46:54 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 08:46:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25009910"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 04:46:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 04:46:52 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SS2Xr-0003ea-Qg	for xen-devel@lists.xen.org;
	Wed, 09 May 2012 09:46:51 +0100
Message-ID: <4FAA2EFC.3030609@citrix.com>
Date: Wed, 9 May 2012 09:46:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <1334592052-7995-1-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1334592052-7995-1-git-send-email-roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: make libxl_device_{vkb,
	vfb}_add take a dummy ao
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne escribi=F3:
> Add a dummy ao parameter to both functions, since they may become slow in=
 the
> future.
>
> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>

This is completely wrong, please don't even review it.

> ---
>
> Requires Ian Jackson's "libxl: Allow AO_GC and EGC_GC even if not used"
>
>   tools/libxl/libxl.c        |   20 ++++++++++++--------
>   tools/libxl/libxl.h        |    6 ++++--
>   tools/libxl/libxl_create.c |    6 +++---
>   tools/libxl/libxl_dm.c     |    4 ++--
>   4 files changed, 21 insertions(+), 15 deletions(-)
>
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 44a54cb..3fd8d5b 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -2208,9 +2208,10 @@ static int libxl__device_from_vkb(libxl__gc *gc, u=
int32_t domid,
>       return 0;
>   }
>
> -int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb)
> +int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb,
> +                         const libxl_asyncop_how *ao_how)
>   {
> -    GC_INIT(ctx);
> +    AO_CREATE(ctx, domid, ao_how);
>       flexarray_t *front;
>       flexarray_t *back;
>       libxl__device device;
> @@ -2255,8 +2256,9 @@ out_free:
>       flexarray_free(back);
>       flexarray_free(front);
>   out:
> -    GC_FREE;
> -    return rc;
> +    /* Dummy ao */
> +    libxl__ao_complete(egc, ao, rc);
> +    return AO_INPROGRESS;
>   }
>
>   int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
> @@ -2339,9 +2341,10 @@ static int libxl__device_from_vfb(libxl__gc *gc, u=
int32_t domid,
>       return 0;
>   }
>
> -int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb)
> +int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb,
> +                         const libxl_asyncop_how *ao_how)
>   {
> -    GC_INIT(ctx);
> +    AO_CREATE(ctx, domid, ao_how);
>       flexarray_t *front;
>       flexarray_t *back;
>       libxl__device device;
> @@ -2399,8 +2402,9 @@ out_free:
>       flexarray_free(front);
>       flexarray_free(back);
>   out:
> -    GC_FREE;
> -    return rc;
> +    /* Dummy ao */
> +    libxl__ao_complete(egc, ao, rc);
> +    return AO_INPROGRESS;
>   }
>
>   int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> index 6da6107..ce89b31 100644
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -563,14 +563,16 @@ int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32=
_t domid,
>                                 libxl_device_nic *nic, libxl_nicinfo *nic=
info);
>
>   /* Keyboard */
> -int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb);
> +int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb,
> +                         const libxl_asyncop_how *ao_how);
>   int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
>                               libxl_device_vkb *vkb,
>                               const libxl_asyncop_how *ao_how);
>   int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_devi=
ce_vkb *vkb);
>
>   /* Framebuffer */
> -int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb);
> +int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb,
> +                         const libxl_asyncop_how *ao_how);
>   int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
>                               libxl_device_vfb *vfb,
>                               const libxl_asyncop_how *ao_how);
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index a1f5731..39e9257 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -628,7 +628,7 @@ static int do_domain_create(libxl__gc *gc, libxl_doma=
in_config *d_config,
>           libxl__device_console_dispose(&console);
>
>           libxl_device_vkb_init(&vkb);
> -        libxl_device_vkb_add(ctx, domid,&vkb);
> +        libxl_device_vkb_add(ctx, domid,&vkb, 0);
>           libxl_device_vkb_dispose(&vkb);
>
>           ret =3D libxl__create_device_model(gc, domid, d_config,
> @@ -646,8 +646,8 @@ static int do_domain_create(libxl__gc *gc, libxl_doma=
in_config *d_config,
>           libxl__device_console console;
>
>           for (i =3D 0; i<  d_config->num_vfbs; i++) {
> -            libxl_device_vfb_add(ctx, domid,&d_config->vfbs[i]);
> -            libxl_device_vkb_add(ctx, domid,&d_config->vkbs[i]);
> +            libxl_device_vfb_add(ctx, domid,&d_config->vfbs[i], 0);
> +            libxl_device_vkb_add(ctx, domid,&d_config->vkbs[i], 0);
>           }
>
>           ret =3D init_console_info(&console, 0);
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 8dc588d..4a2b5c1 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -804,10 +804,10 @@ retry_transaction:
>           if (ret)
>               goto out_free;
>       }
> -    ret =3D libxl_device_vfb_add(ctx, dm_domid,&dm_config.vfbs[0]);
> +    ret =3D libxl_device_vfb_add(ctx, dm_domid,&dm_config.vfbs[0], 0);
>       if (ret)
>           goto out_free;
> -    ret =3D libxl_device_vkb_add(ctx, dm_domid,&dm_config.vkbs[0]);
> +    ret =3D libxl_device_vkb_add(ctx, dm_domid,&dm_config.vkbs[0], 0);
>       if (ret)
>           goto out_free;
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 08:47:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 08:47:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS2YC-0004XY-J2; Wed, 09 May 2012 08:47:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SS2YB-0004XJ-2m
	for xen-devel@lists.xen.org; Wed, 09 May 2012 08:47:11 +0000
Received: from [85.158.143.35:20383] by server-1.bemta-4.messagelabs.com id
	D3/E8-20925-E0F2AAF4; Wed, 09 May 2012 08:47:10 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336553213!15271421!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM1OTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31933 invoked from network); 9 May 2012 08:46:54 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 08:46:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25009910"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 04:46:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 04:46:52 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SS2Xr-0003ea-Qg	for xen-devel@lists.xen.org;
	Wed, 09 May 2012 09:46:51 +0100
Message-ID: <4FAA2EFC.3030609@citrix.com>
Date: Wed, 9 May 2012 09:46:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <1334592052-7995-1-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1334592052-7995-1-git-send-email-roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: make libxl_device_{vkb,
	vfb}_add take a dummy ao
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne escribi=F3:
> Add a dummy ao parameter to both functions, since they may become slow in=
 the
> future.
>
> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>

This is completely wrong, please don't even review it.

> ---
>
> Requires Ian Jackson's "libxl: Allow AO_GC and EGC_GC even if not used"
>
>   tools/libxl/libxl.c        |   20 ++++++++++++--------
>   tools/libxl/libxl.h        |    6 ++++--
>   tools/libxl/libxl_create.c |    6 +++---
>   tools/libxl/libxl_dm.c     |    4 ++--
>   4 files changed, 21 insertions(+), 15 deletions(-)
>
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 44a54cb..3fd8d5b 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -2208,9 +2208,10 @@ static int libxl__device_from_vkb(libxl__gc *gc, u=
int32_t domid,
>       return 0;
>   }
>
> -int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb)
> +int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb,
> +                         const libxl_asyncop_how *ao_how)
>   {
> -    GC_INIT(ctx);
> +    AO_CREATE(ctx, domid, ao_how);
>       flexarray_t *front;
>       flexarray_t *back;
>       libxl__device device;
> @@ -2255,8 +2256,9 @@ out_free:
>       flexarray_free(back);
>       flexarray_free(front);
>   out:
> -    GC_FREE;
> -    return rc;
> +    /* Dummy ao */
> +    libxl__ao_complete(egc, ao, rc);
> +    return AO_INPROGRESS;
>   }
>
>   int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
> @@ -2339,9 +2341,10 @@ static int libxl__device_from_vfb(libxl__gc *gc, u=
int32_t domid,
>       return 0;
>   }
>
> -int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb)
> +int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb,
> +                         const libxl_asyncop_how *ao_how)
>   {
> -    GC_INIT(ctx);
> +    AO_CREATE(ctx, domid, ao_how);
>       flexarray_t *front;
>       flexarray_t *back;
>       libxl__device device;
> @@ -2399,8 +2402,9 @@ out_free:
>       flexarray_free(front);
>       flexarray_free(back);
>   out:
> -    GC_FREE;
> -    return rc;
> +    /* Dummy ao */
> +    libxl__ao_complete(egc, ao, rc);
> +    return AO_INPROGRESS;
>   }
>
>   int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> index 6da6107..ce89b31 100644
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -563,14 +563,16 @@ int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32=
_t domid,
>                                 libxl_device_nic *nic, libxl_nicinfo *nic=
info);
>
>   /* Keyboard */
> -int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb);
> +int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vk=
b *vkb,
> +                         const libxl_asyncop_how *ao_how);
>   int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
>                               libxl_device_vkb *vkb,
>                               const libxl_asyncop_how *ao_how);
>   int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_devi=
ce_vkb *vkb);
>
>   /* Framebuffer */
> -int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb);
> +int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vf=
b *vfb,
> +                         const libxl_asyncop_how *ao_how);
>   int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
>                               libxl_device_vfb *vfb,
>                               const libxl_asyncop_how *ao_how);
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index a1f5731..39e9257 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -628,7 +628,7 @@ static int do_domain_create(libxl__gc *gc, libxl_doma=
in_config *d_config,
>           libxl__device_console_dispose(&console);
>
>           libxl_device_vkb_init(&vkb);
> -        libxl_device_vkb_add(ctx, domid,&vkb);
> +        libxl_device_vkb_add(ctx, domid,&vkb, 0);
>           libxl_device_vkb_dispose(&vkb);
>
>           ret =3D libxl__create_device_model(gc, domid, d_config,
> @@ -646,8 +646,8 @@ static int do_domain_create(libxl__gc *gc, libxl_doma=
in_config *d_config,
>           libxl__device_console console;
>
>           for (i =3D 0; i<  d_config->num_vfbs; i++) {
> -            libxl_device_vfb_add(ctx, domid,&d_config->vfbs[i]);
> -            libxl_device_vkb_add(ctx, domid,&d_config->vkbs[i]);
> +            libxl_device_vfb_add(ctx, domid,&d_config->vfbs[i], 0);
> +            libxl_device_vkb_add(ctx, domid,&d_config->vkbs[i], 0);
>           }
>
>           ret =3D init_console_info(&console, 0);
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 8dc588d..4a2b5c1 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -804,10 +804,10 @@ retry_transaction:
>           if (ret)
>               goto out_free;
>       }
> -    ret =3D libxl_device_vfb_add(ctx, dm_domid,&dm_config.vfbs[0]);
> +    ret =3D libxl_device_vfb_add(ctx, dm_domid,&dm_config.vfbs[0], 0);
>       if (ret)
>           goto out_free;
> -    ret =3D libxl_device_vkb_add(ctx, dm_domid,&dm_config.vkbs[0]);
> +    ret =3D libxl_device_vkb_add(ctx, dm_domid,&dm_config.vkbs[0], 0);
>       if (ret)
>           goto out_free;
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:21:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS350-0005sv-Dp; Wed, 09 May 2012 09:21:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS34z-0005sq-68
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:21:05 +0000
Received: from [85.158.138.51:15912] by server-2.bemta-3.messagelabs.com id
	D0/F1-09269-0073AAF4; Wed, 09 May 2012 09:21:04 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336555261!26040664!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18756 invoked from network); 9 May 2012 09:21:02 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-11.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 09:21:02 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS34u-0004OV-4B
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 02:21:00 -0700
Date: Wed, 9 May 2012 02:21:00 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336555260123-5696877.post@n5.nabble.com>
In-Reply-To: <1336485670.14542.92.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
>> > About pv-grub I think it fails with:
>> > ... (from xl create...)
>> > xc: error: panic: xc_dom_bzimageloader.c:588:
>> xc_dom_probe_bzimage_kernel:
>> > kernel is not a bzImage: Invalid kernel
>> > ...
>> > And after seems start as hvm domU but is not working and I must destroy
>> it.
>> 
>> I think this is just a warning (which needs to be toned down), since the
>> pvgrub kernel isn't a bzImage, it's a simple elf file.
> 
> # HG changeset patch
> # User Ian Campbell &lt;ian.campbell@&gt;
> # Date 1336485612 -3600
> # Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
> # Parent  2fe12fc7bf1f863487920e06589641904b3d9466
> libxc: do not "panic" if a kernel is not a bzImage.
> 
> Up untul the point where we think this is a bzImage there is no point in
> printing panicy messages -- some other loader will have a go (probably the
> compressed ELF one)
> 
> Signed-off-by: Ian Campbell &lt;ian.campbell@&gt;
> 
> diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
> --- a/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 14:25:27 2012 +0100
> +++ b/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 15:00:12 2012 +0100
> @@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
>  
>      if ( dom->kernel_size < sizeof(struct setup_header) )
>      {
> -        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
> -                     "%s: kernel image too small", __FUNCTION__);
> +        xc_dom_printf(dom->xch, "%s: kernel image too small",
> __FUNCTION__);
>          return -EINVAL;
>      }
>  
> @@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
>  
>      if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
>      {
> -        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
> -                     "%s: kernel is not a bzImage", __FUNCTION__);
> +        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage",
> __FUNCTION__);
>          return -EINVAL;
>      }
>  
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 
I rebuilt with this patch and on fully clean install  on test server.

With pygrub same result.

With pv-grub:
Vnc seems not to work (black screen), possible regression with qemu-xen as
default for PV guest? Should I try to revert this
(http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/a095e157f280) on next
build to make sure there aren't any bugs left on qemu-xen?
With xl console I get the pv-grub "recovery mode", possible regression about
disks?

-----------------------------------
xl -vvv create /etc/xenlucid.cfg
Parsing config file lucid.cfg
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda2, using backend tap
domainbuilder: detail: xc_dom_allocate: cmdline="(hd0,0)/grub/grub.cfg",
features="(null)"
domainbuilder: detail: xc_dom_kernel_file:
filename="/usr/lib/xen/boot/pv-grub-x86_64.gz"
domainbuilder: detail: xc_dom_malloc_filemap    : 978 kB
domainbuilder: detail: xc_dom_malloc            : 14274 kB
domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0xf4abe -> 0xdf08ce
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
... 
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... 
domainbuilder: detail: xc_dom_probe_bzimage_kernel: kernel is not a bzImage
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... 
domainbuilder: detail: loader probe OK
xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
xc: detail: elf_xen_parse: __xen_guest:
"GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
xc: detail: elf_xen_parse_guest_info: LOADER="generic"
xc: detail: elf_xen_addr_calc_check: addresses:
xc: detail:     virt_base        = 0x0
xc: detail:     elf_paddr_offset = 0x0
xc: detail:     virt_offset      = 0x0
xc: detail:     virt_kstart      = 0x0
xc: detail:     virt_kend        = 0x99ef00
xc: detail:     virt_entry       = 0x0
xc: detail:     p2m_base         = 0xffffffffffffffff
domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0x0 ->
0x99ef00
domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x20000 pages, 4k
each
domainbuilder: detail: xc_dom_mem_init: 0x20000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64
domainbuilder: detail: xc_dom_malloc            : 1024 kB
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 0x0 ->
0x99f000  (pfn 0x0 + 0x99f pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x0+0x99f at
0x7fcf39dc4000
xc: detail: elf_load_binary: phdr 0 at 0x0x7fcf39dc4000 -> 0x0x7fcf3a762f00
domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 0x99f000 ->
0xa9f000  (pfn 0x99f + 0x100 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x99f+0x100 at
0x7fcf39cc4000
domainbuilder: detail: xc_dom_alloc_page   :   start info   : 0xa9f000 (pfn
0xa9f)
domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 0xaa0000 (pfn
0xaa0)
domainbuilder: detail: xc_dom_alloc_page   :   console      : 0xaa1000 (pfn
0xaa1)
domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48:
0x0000000000000000 -> 0x0000ffffffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39:
0x0000000000000000 -> 0x0000007fffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30:
0x0000000000000000 -> 0x000000003fffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21:
0x0000000000000000 -> 0x0000000000bfffff, 6 table(s)
domainbuilder: detail: xc_dom_alloc_segment:   page tables  : 0xaa2000 ->
0xaab000  (pfn 0xaa2 + 0x9 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xaa2+0x9 at
0x7fcf39cbb000
domainbuilder: detail: xc_dom_alloc_page   :   boot stack   : 0xaab000 (pfn
0xaab)
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0xaac000
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0xc00000
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_64 <= matches
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_64
domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x20000
domainbuilder: detail: clear_page: pfn 0xaa1, mfn 0x41b9d0
domainbuilder: detail: clear_page: pfn 0xaa0, mfn 0x41b9d1
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xa9f+0x1 at
0x7fcf39cba000
domainbuilder: detail: start_info_x86_64: called
domainbuilder: detail: setup_hypercall_page: vaddr=0x2000 pfn=0x2
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:    allocated
domainbuilder: detail:       malloc             : 15364 kB
domainbuilder: detail:       anon mmap          : 0 bytes
domainbuilder: detail:    mapped
domainbuilder: detail:       file mmap          : 978 kB
domainbuilder: detail:       domU mmap          : 10916 kB
domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn
0xcedda
domainbuilder: detail: shared_info_x86_64: called
domainbuilder: detail: vcpu_x86_64: called
domainbuilder: detail: vcpu_x86_64: cr3: pfn 0xaa2 mfn 0x41b9cf
domainbuilder: detail: launch_vm: called, ctxt=0x7fffd27bcdf0
domainbuilder: detail: xc_dom_release: called
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=tap
libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
/usr/lib/xen/bin/qemu-system-i386
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-domid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   4
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -chardev
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-4,server,nowait
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -mon
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
chardev=libxl-cmd,mode=control
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-attach
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -name
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   lucid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -vnc
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   0.0.0.0:0,to=99
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -k
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   it
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -M
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   xenpv
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -m
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   513
libxl: debug: libxl_qmp.c:692:libxl__qmp_initialize: connected to
/var/run/xen/qmp-libxl-4
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: qmp
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"qmp_capabilities","id":1}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-chardev","id":2}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-vnc","id":3}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
Daemon running with PID 2616
xc: debug: hypercall buffer: total allocations:154 total releases:154
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:149 misses:2 toobig:3
--------------------------
xl-lucid.log
-----------
libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x7002a8
libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x6fbc90:4]
from domid=4 nentries=1 rc=1
libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x6fbc90:4]  
got=domaininfos[0] got->domain=4
libxl: debug: libxl.c:844:domain_death_xswatch_callback:  exists
shutdown_reported=0 dominf.flags=ffff0020
libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
reported
libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
done
-----------------------------------


--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5696877.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:21:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS350-0005sv-Dp; Wed, 09 May 2012 09:21:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS34z-0005sq-68
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:21:05 +0000
Received: from [85.158.138.51:15912] by server-2.bemta-3.messagelabs.com id
	D0/F1-09269-0073AAF4; Wed, 09 May 2012 09:21:04 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336555261!26040664!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18756 invoked from network); 9 May 2012 09:21:02 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-11.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 09:21:02 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS34u-0004OV-4B
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 02:21:00 -0700
Date: Wed, 9 May 2012 02:21:00 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336555260123-5696877.post@n5.nabble.com>
In-Reply-To: <1336485670.14542.92.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
>> > About pv-grub I think it fails with:
>> > ... (from xl create...)
>> > xc: error: panic: xc_dom_bzimageloader.c:588:
>> xc_dom_probe_bzimage_kernel:
>> > kernel is not a bzImage: Invalid kernel
>> > ...
>> > And after seems start as hvm domU but is not working and I must destroy
>> it.
>> 
>> I think this is just a warning (which needs to be toned down), since the
>> pvgrub kernel isn't a bzImage, it's a simple elf file.
> 
> # HG changeset patch
> # User Ian Campbell &lt;ian.campbell@&gt;
> # Date 1336485612 -3600
> # Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
> # Parent  2fe12fc7bf1f863487920e06589641904b3d9466
> libxc: do not "panic" if a kernel is not a bzImage.
> 
> Up untul the point where we think this is a bzImage there is no point in
> printing panicy messages -- some other loader will have a go (probably the
> compressed ELF one)
> 
> Signed-off-by: Ian Campbell &lt;ian.campbell@&gt;
> 
> diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
> --- a/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 14:25:27 2012 +0100
> +++ b/tools/libxc/xc_dom_bzimageloader.c	Tue May 08 15:00:12 2012 +0100
> @@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
>  
>      if ( dom->kernel_size < sizeof(struct setup_header) )
>      {
> -        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
> -                     "%s: kernel image too small", __FUNCTION__);
> +        xc_dom_printf(dom->xch, "%s: kernel image too small",
> __FUNCTION__);
>          return -EINVAL;
>      }
>  
> @@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
>  
>      if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
>      {
> -        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
> -                     "%s: kernel is not a bzImage", __FUNCTION__);
> +        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage",
> __FUNCTION__);
>          return -EINVAL;
>      }
>  
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@.xen
> http://lists.xen.org/xen-devel
> 
I rebuilt with this patch and on fully clean install  on test server.

With pygrub same result.

With pv-grub:
Vnc seems not to work (black screen), possible regression with qemu-xen as
default for PV guest? Should I try to revert this
(http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/a095e157f280) on next
build to make sure there aren't any bugs left on qemu-xen?
With xl console I get the pv-grub "recovery mode", possible regression about
disks?

-----------------------------------
xl -vvv create /etc/xenlucid.cfg
Parsing config file lucid.cfg
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=unknown
libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
phy unsuitable as phys path not a block device
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=xvda2, using backend tap
domainbuilder: detail: xc_dom_allocate: cmdline="(hd0,0)/grub/grub.cfg",
features="(null)"
domainbuilder: detail: xc_dom_kernel_file:
filename="/usr/lib/xen/boot/pv-grub-x86_64.gz"
domainbuilder: detail: xc_dom_malloc_filemap    : 978 kB
domainbuilder: detail: xc_dom_malloc            : 14274 kB
domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0xf4abe -> 0xdf08ce
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
... 
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... 
domainbuilder: detail: xc_dom_probe_bzimage_kernel: kernel is not a bzImage
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... 
domainbuilder: detail: loader probe OK
xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
xc: detail: elf_xen_parse: __xen_guest:
"GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
xc: detail: elf_xen_parse_guest_info: LOADER="generic"
xc: detail: elf_xen_addr_calc_check: addresses:
xc: detail:     virt_base        = 0x0
xc: detail:     elf_paddr_offset = 0x0
xc: detail:     virt_offset      = 0x0
xc: detail:     virt_kstart      = 0x0
xc: detail:     virt_kend        = 0x99ef00
xc: detail:     virt_entry       = 0x0
xc: detail:     p2m_base         = 0xffffffffffffffff
domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0x0 ->
0x99ef00
domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x20000 pages, 4k
each
domainbuilder: detail: xc_dom_mem_init: 0x20000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64
domainbuilder: detail: xc_dom_malloc            : 1024 kB
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 0x0 ->
0x99f000  (pfn 0x0 + 0x99f pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x0+0x99f at
0x7fcf39dc4000
xc: detail: elf_load_binary: phdr 0 at 0x0x7fcf39dc4000 -> 0x0x7fcf3a762f00
domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 0x99f000 ->
0xa9f000  (pfn 0x99f + 0x100 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x99f+0x100 at
0x7fcf39cc4000
domainbuilder: detail: xc_dom_alloc_page   :   start info   : 0xa9f000 (pfn
0xa9f)
domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 0xaa0000 (pfn
0xaa0)
domainbuilder: detail: xc_dom_alloc_page   :   console      : 0xaa1000 (pfn
0xaa1)
domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48:
0x0000000000000000 -> 0x0000ffffffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39:
0x0000000000000000 -> 0x0000007fffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30:
0x0000000000000000 -> 0x000000003fffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21:
0x0000000000000000 -> 0x0000000000bfffff, 6 table(s)
domainbuilder: detail: xc_dom_alloc_segment:   page tables  : 0xaa2000 ->
0xaab000  (pfn 0xaa2 + 0x9 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xaa2+0x9 at
0x7fcf39cbb000
domainbuilder: detail: xc_dom_alloc_page   :   boot stack   : 0xaab000 (pfn
0xaab)
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0xaac000
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0xc00000
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_64 <= matches
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_64
domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x20000
domainbuilder: detail: clear_page: pfn 0xaa1, mfn 0x41b9d0
domainbuilder: detail: clear_page: pfn 0xaa0, mfn 0x41b9d1
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xa9f+0x1 at
0x7fcf39cba000
domainbuilder: detail: start_info_x86_64: called
domainbuilder: detail: setup_hypercall_page: vaddr=0x2000 pfn=0x2
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:    allocated
domainbuilder: detail:       malloc             : 15364 kB
domainbuilder: detail:       anon mmap          : 0 bytes
domainbuilder: detail:    mapped
domainbuilder: detail:       file mmap          : 978 kB
domainbuilder: detail:       domU mmap          : 10916 kB
domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn
0xcedda
domainbuilder: detail: shared_info_x86_64: called
domainbuilder: detail: vcpu_x86_64: called
domainbuilder: detail: vcpu_x86_64: cr3: pfn 0xaa2 mfn 0x41b9cf
domainbuilder: detail: launch_vm: called, ctxt=0x7fffd27bcdf0
domainbuilder: detail: xc_dom_release: called
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=tap
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=xvda2 spec.backend=tap
libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
/usr/lib/xen/bin/qemu-system-i386
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-domid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   4
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -chardev
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-4,server,nowait
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -mon
libxl: debug: libxl_dm.c:989:libxl__create_device_model:  
chardev=libxl-cmd,mode=control
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-attach
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -name
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   lucid
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -vnc
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   0.0.0.0:0,to=99
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -k
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   it
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -M
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   xenpv
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -m
libxl: debug: libxl_dm.c:989:libxl__create_device_model:   513
libxl: debug: libxl_qmp.c:692:libxl__qmp_initialize: connected to
/var/run/xen/qmp-libxl-4
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: qmp
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"qmp_capabilities","id":1}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-chardev","id":2}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
'{"execute":"query-vnc","id":3}'
libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
Daemon running with PID 2616
xc: debug: hypercall buffer: total allocations:154 total releases:154
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:149 misses:2 toobig:3
--------------------------
xl-lucid.log
-----------
libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x7002a8
libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x6fbc90:4]
from domid=4 nentries=1 rc=1
libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x6fbc90:4]  
got=domaininfos[0] got->domain=4
libxl: debug: libxl.c:844:domain_death_xswatch_callback:  exists
shutdown_reported=0 dominf.flags=ffff0020
libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
reported
libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
done
-----------------------------------


--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5696877.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:33:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:33:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS3GV-00064s-Ur; Wed, 09 May 2012 09:32:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS3GT-00064m-NS
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:32:58 +0000
Received: from [85.158.143.99:4816] by server-1.bemta-4.messagelabs.com id
	90/FF-20925-8C93AAF4; Wed, 09 May 2012 09:32:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336555976!26811575!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15394 invoked from network); 9 May 2012 09:32:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 09:32:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12373107"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 09:32:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	10:32:44 +0100
Message-ID: <1336555963.25514.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>, Stefano Stabellini
	<stefano.stabellini@citrix.com>
Date: Wed, 9 May 2012 10:32:43 +0100
In-Reply-To: <1336555260123-5696877.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
	<1336555260123-5696877.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 10:21 +0100, Fantu wrote:
> Ian Campbell-10 wrote
> >
> >> > About pv-grub I think it fails with:
> >> > ... (from xl create...)
> >> > xc: error: panic: xc_dom_bzimageloader.c:588:
> >> xc_dom_probe_bzimage_kernel:
> >> > kernel is not a bzImage: Invalid kernel
> >> > ...
> >> > And after seems start as hvm domU but is not working and I must destroy
> >> it.
> >>
> >> I think this is just a warning (which needs to be toned down), since the
> >> pvgrub kernel isn't a bzImage, it's a simple elf file.
> >
> > # HG changeset patch
> > # User Ian Campbell &lt;ian.campbell@&gt;
> > # Date 1336485612 -3600
> > # Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
> > # Parent  2fe12fc7bf1f863487920e06589641904b3d9466
> > libxc: do not "panic" if a kernel is not a bzImage.
> >
> > Up untul the point where we think this is a bzImage there is no point in
> > printing panicy messages -- some other loader will have a go (probably the
> > compressed ELF one)
> >
> > Signed-off-by: Ian Campbell &lt;ian.campbell@&gt;
> >
> > diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
> > --- a/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 14:25:27 2012 +0100
> > +++ b/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 15:00:12 2012 +0100
> > @@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
> >
> >      if ( dom->kernel_size < sizeof(struct setup_header) )
> >      {
> > -        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
> > -                     "%s: kernel image too small", __FUNCTION__);
> > +        xc_dom_printf(dom->xch, "%s: kernel image too small",
> > __FUNCTION__);
> >          return -EINVAL;
> >      }
> >
> > @@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
> >
> >      if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
> >      {
> > -        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
> > -                     "%s: kernel is not a bzImage", __FUNCTION__);
> > +        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage",
> > __FUNCTION__);
> >          return -EINVAL;
> >      }
> >
> >
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> >
> I rebuilt with this patch and on fully clean install  on test server.
> 
> With pygrub same result.

Can you bisect this please.

> With pv-grub:
> Vnc seems not to work (black screen), possible regression with qemu-xen as
> default for PV guest? Should I try to revert this
> (http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/a095e157f280) on next
> build to make sure there aren't any bugs left on qemu-xen?

Yes please.

Also setting "device_model_version" to qemu-xen-traditional should have
the same overall effect as reverting.


> With xl console I get the pv-grub "recovery mode", possible regression about
> disks?
> 
> -----------------------------------
> xl -vvv create /etc/xenlucid.cfg
> Parsing config file lucid.cfg
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda1, using backend tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda2 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda2, using backend tap
> domainbuilder: detail: xc_dom_allocate: cmdline="(hd0,0)/grub/grub.cfg",
> features="(null)"
> domainbuilder: detail: xc_dom_kernel_file:
> filename="/usr/lib/xen/boot/pv-grub-x86_64.gz"
> domainbuilder: detail: xc_dom_malloc_filemap    : 978 kB
> domainbuilder: detail: xc_dom_malloc            : 14274 kB
> domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0xf4abe -> 0xdf08ce
> domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64
> xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
> domainbuilder: detail: xc_dom_parse_image: called
> domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
> ...
> domainbuilder: detail: loader probe failed
> domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ...
> domainbuilder: detail: xc_dom_probe_bzimage_kernel: kernel is not a bzImage
> domainbuilder: detail: loader probe failed
> domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ...
> domainbuilder: detail: loader probe OK
> xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
> xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
> xc: detail: elf_xen_parse: __xen_guest:
> "GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
> xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
> xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
> xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
> xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
> xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
> xc: detail: elf_xen_parse_guest_info: LOADER="generic"
> xc: detail: elf_xen_addr_calc_check: addresses:
> xc: detail:     virt_base        = 0x0
> xc: detail:     elf_paddr_offset = 0x0
> xc: detail:     virt_offset      = 0x0
> xc: detail:     virt_kstart      = 0x0
> xc: detail:     virt_kend        = 0x99ef00
> xc: detail:     virt_entry       = 0x0
> xc: detail:     p2m_base         = 0xffffffffffffffff
> domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0x0 ->
> 0x99ef00
> domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x20000 pages, 4k
> each
> domainbuilder: detail: xc_dom_mem_init: 0x20000 pages
> domainbuilder: detail: xc_dom_boot_mem_init: called
> domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64
> domainbuilder: detail: xc_dom_malloc            : 1024 kB
> domainbuilder: detail: xc_dom_build_image: called
> domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 0x0 ->
> 0x99f000  (pfn 0x0 + 0x99f pages)
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x0+0x99f at
> 0x7fcf39dc4000
> xc: detail: elf_load_binary: phdr 0 at 0x0x7fcf39dc4000 -> 0x0x7fcf3a762f00
> domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 0x99f000 ->
> 0xa9f000  (pfn 0x99f + 0x100 pages)
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x99f+0x100 at
> 0x7fcf39cc4000
> domainbuilder: detail: xc_dom_alloc_page   :   start info   : 0xa9f000 (pfn
> 0xa9f)
> domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 0xaa0000 (pfn
> 0xaa0)
> domainbuilder: detail: xc_dom_alloc_page   :   console      : 0xaa1000 (pfn
> 0xaa1)
> domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48:
> 0x0000000000000000 -> 0x0000ffffffffffff, 1 table(s)
> domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39:
> 0x0000000000000000 -> 0x0000007fffffffff, 1 table(s)
> domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30:
> 0x0000000000000000 -> 0x000000003fffffff, 1 table(s)
> domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21:
> 0x0000000000000000 -> 0x0000000000bfffff, 6 table(s)
> domainbuilder: detail: xc_dom_alloc_segment:   page tables  : 0xaa2000 ->
> 0xaab000  (pfn 0xaa2 + 0x9 pages)
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xaa2+0x9 at
> 0x7fcf39cbb000
> domainbuilder: detail: xc_dom_alloc_page   :   boot stack   : 0xaab000 (pfn
> 0xaab)
> domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0xaac000
> domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0xc00000
> domainbuilder: detail: xc_dom_boot_image: called
> domainbuilder: detail: arch_setup_bootearly: doing nothing
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> xen-3.0-x86_64 <= matches
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> xen-3.0-x86_32p
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> hvm-3.0-x86_32
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> hvm-3.0-x86_32p
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> hvm-3.0-x86_64
> domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x20000
> domainbuilder: detail: clear_page: pfn 0xaa1, mfn 0x41b9d0
> domainbuilder: detail: clear_page: pfn 0xaa0, mfn 0x41b9d1
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xa9f+0x1 at
> 0x7fcf39cba000
> domainbuilder: detail: start_info_x86_64: called
> domainbuilder: detail: setup_hypercall_page: vaddr=0x2000 pfn=0x2
> domainbuilder: detail: domain builder memory footprint
> domainbuilder: detail:    allocated
> domainbuilder: detail:       malloc             : 15364 kB
> domainbuilder: detail:       anon mmap          : 0 bytes
> domainbuilder: detail:    mapped
> domainbuilder: detail:       file mmap          : 978 kB
> domainbuilder: detail:       domU mmap          : 10916 kB
> domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn
> 0xcedda
> domainbuilder: detail: shared_info_x86_64: called
> domainbuilder: detail: vcpu_x86_64: called
> domainbuilder: detail: vcpu_x86_64: cr3: pfn 0xaa2 mfn 0x41b9cf
> domainbuilder: detail: launch_vm: called, ctxt=0x7fffd27bcdf0
> domainbuilder: detail: xc_dom_release: called
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda2 spec.backend=tap
> libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
> device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:
> /usr/lib/xen/bin/qemu-system-i386
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-domid
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   4
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -chardev
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:
> socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-4,server,nowait
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -mon
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:
> chardev=libxl-cmd,mode=control
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-attach
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -name
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   lucid
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -vnc
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   0.0.0.0:0,to=99
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -k
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   it
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -M
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   xenpv
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -m
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   513
> libxl: debug: libxl_qmp.c:692:libxl__qmp_initialize: connected to
> /var/run/xen/qmp-libxl-4
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: qmp
> libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
> '{"execute":"qmp_capabilities","id":1}'
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
> libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
> '{"execute":"query-chardev","id":2}'
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
> libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
> '{"execute":"query-vnc","id":3}'
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
> Daemon running with PID 2616
> xc: debug: hypercall buffer: total allocations:154 total releases:154
> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
> xc: debug: hypercall buffer: cache current size:2
> xc: debug: hypercall buffer: cache hits:149 misses:2 toobig:3
> --------------------------
> xl-lucid.log
> -----------
> libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
> epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x7002a8
> libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x6fbc90:4]
> from domid=4 nentries=1 rc=1
> libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x6fbc90:4]
> got=domaininfos[0] got->domain=4
> libxl: debug: libxl.c:844:domain_death_xswatch_callback:  exists
> shutdown_reported=0 dominf.flags=ffff0020
> libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
> reported
> libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
> done
> -----------------------------------
> 
> 
> --
> View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5696877.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:33:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:33:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS3GV-00064s-Ur; Wed, 09 May 2012 09:32:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS3GT-00064m-NS
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:32:58 +0000
Received: from [85.158.143.99:4816] by server-1.bemta-4.messagelabs.com id
	90/FF-20925-8C93AAF4; Wed, 09 May 2012 09:32:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336555976!26811575!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15394 invoked from network); 9 May 2012 09:32:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 09:32:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12373107"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 09:32:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	10:32:44 +0100
Message-ID: <1336555963.25514.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Fantu <fantonifabio@tiscali.it>, Stefano Stabellini
	<stefano.stabellini@citrix.com>
Date: Wed, 9 May 2012 10:32:43 +0100
In-Reply-To: <1336555260123-5696877.post@n5.nabble.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
	<1336555260123-5696877.post@n5.nabble.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 10:21 +0100, Fantu wrote:
> Ian Campbell-10 wrote
> >
> >> > About pv-grub I think it fails with:
> >> > ... (from xl create...)
> >> > xc: error: panic: xc_dom_bzimageloader.c:588:
> >> xc_dom_probe_bzimage_kernel:
> >> > kernel is not a bzImage: Invalid kernel
> >> > ...
> >> > And after seems start as hvm domU but is not working and I must destroy
> >> it.
> >>
> >> I think this is just a warning (which needs to be toned down), since the
> >> pvgrub kernel isn't a bzImage, it's a simple elf file.
> >
> > # HG changeset patch
> > # User Ian Campbell &lt;ian.campbell@&gt;
> > # Date 1336485612 -3600
> > # Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
> > # Parent  2fe12fc7bf1f863487920e06589641904b3d9466
> > libxc: do not "panic" if a kernel is not a bzImage.
> >
> > Up untul the point where we think this is a bzImage there is no point in
> > printing panicy messages -- some other loader will have a go (probably the
> > compressed ELF one)
> >
> > Signed-off-by: Ian Campbell &lt;ian.campbell@&gt;
> >
> > diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
> > --- a/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 14:25:27 2012 +0100
> > +++ b/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 15:00:12 2012 +0100
> > @@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
> >
> >      if ( dom->kernel_size < sizeof(struct setup_header) )
> >      {
> > -        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
> > -                     "%s: kernel image too small", __FUNCTION__);
> > +        xc_dom_printf(dom->xch, "%s: kernel image too small",
> > __FUNCTION__);
> >          return -EINVAL;
> >      }
> >
> > @@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
> >
> >      if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
> >      {
> > -        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
> > -                     "%s: kernel is not a bzImage", __FUNCTION__);
> > +        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage",
> > __FUNCTION__);
> >          return -EINVAL;
> >      }
> >
> >
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@.xen
> > http://lists.xen.org/xen-devel
> >
> I rebuilt with this patch and on fully clean install  on test server.
> 
> With pygrub same result.

Can you bisect this please.

> With pv-grub:
> Vnc seems not to work (black screen), possible regression with qemu-xen as
> default for PV guest? Should I try to revert this
> (http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/a095e157f280) on next
> build to make sure there aren't any bugs left on qemu-xen?

Yes please.

Also setting "device_model_version" to qemu-xen-traditional should have
the same overall effect as reverting.


> With xl console I get the pv-grub "recovery mode", possible regression about
> disks?
> 
> -----------------------------------
> xl -vvv create /etc/xenlucid.cfg
> Parsing config file lucid.cfg
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda1, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda1, using backend tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda2 spec.backend=unknown
> libxl: debug: libxl_device.c:137:disk_try_backend: Disk vdev=xvda2, backend
> phy unsuitable as phys path not a block device
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=xvda2, using backend tap
> domainbuilder: detail: xc_dom_allocate: cmdline="(hd0,0)/grub/grub.cfg",
> features="(null)"
> domainbuilder: detail: xc_dom_kernel_file:
> filename="/usr/lib/xen/boot/pv-grub-x86_64.gz"
> domainbuilder: detail: xc_dom_malloc_filemap    : 978 kB
> domainbuilder: detail: xc_dom_malloc            : 14274 kB
> domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0xf4abe -> 0xdf08ce
> domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64
> xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
> domainbuilder: detail: xc_dom_parse_image: called
> domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
> ...
> domainbuilder: detail: loader probe failed
> domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ...
> domainbuilder: detail: xc_dom_probe_bzimage_kernel: kernel is not a bzImage
> domainbuilder: detail: loader probe failed
> domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ...
> domainbuilder: detail: loader probe OK
> xc: detail: elf_parse_binary: phdr: paddr=0x0 memsz=0x99ef00
> xc: detail: elf_parse_binary: memory: 0x0 -> 0x99ef00
> xc: detail: elf_xen_parse: __xen_guest:
> "GUEST_OS=Mini-OS,XEN_VER=xen-3.0,VIRT_BASE=0x0,ELF_PADDR_OFFSET=0x0,HYPERCALL_PAGE=0x2,LOADER=generic"
> xc: detail: elf_xen_parse_guest_info: GUEST_OS="Mini-OS"
> xc: detail: elf_xen_parse_guest_info: XEN_VER="xen-3.0"
> xc: detail: elf_xen_parse_guest_info: VIRT_BASE="0x0"
> xc: detail: elf_xen_parse_guest_info: ELF_PADDR_OFFSET="0x0"
> xc: detail: elf_xen_parse_guest_info: HYPERCALL_PAGE="0x2"
> xc: detail: elf_xen_parse_guest_info: LOADER="generic"
> xc: detail: elf_xen_addr_calc_check: addresses:
> xc: detail:     virt_base        = 0x0
> xc: detail:     elf_paddr_offset = 0x0
> xc: detail:     virt_offset      = 0x0
> xc: detail:     virt_kstart      = 0x0
> xc: detail:     virt_kend        = 0x99ef00
> xc: detail:     virt_entry       = 0x0
> xc: detail:     p2m_base         = 0xffffffffffffffff
> domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 0x0 ->
> 0x99ef00
> domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x20000 pages, 4k
> each
> domainbuilder: detail: xc_dom_mem_init: 0x20000 pages
> domainbuilder: detail: xc_dom_boot_mem_init: called
> domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64
> domainbuilder: detail: xc_dom_malloc            : 1024 kB
> domainbuilder: detail: xc_dom_build_image: called
> domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 0x0 ->
> 0x99f000  (pfn 0x0 + 0x99f pages)
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x0+0x99f at
> 0x7fcf39dc4000
> xc: detail: elf_load_binary: phdr 0 at 0x0x7fcf39dc4000 -> 0x0x7fcf3a762f00
> domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 0x99f000 ->
> 0xa9f000  (pfn 0x99f + 0x100 pages)
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x99f+0x100 at
> 0x7fcf39cc4000
> domainbuilder: detail: xc_dom_alloc_page   :   start info   : 0xa9f000 (pfn
> 0xa9f)
> domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 0xaa0000 (pfn
> 0xaa0)
> domainbuilder: detail: xc_dom_alloc_page   :   console      : 0xaa1000 (pfn
> 0xaa1)
> domainbuilder: detail: nr_page_tables: 0x0000ffffffffffff/48:
> 0x0000000000000000 -> 0x0000ffffffffffff, 1 table(s)
> domainbuilder: detail: nr_page_tables: 0x0000007fffffffff/39:
> 0x0000000000000000 -> 0x0000007fffffffff, 1 table(s)
> domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30:
> 0x0000000000000000 -> 0x000000003fffffff, 1 table(s)
> domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21:
> 0x0000000000000000 -> 0x0000000000bfffff, 6 table(s)
> domainbuilder: detail: xc_dom_alloc_segment:   page tables  : 0xaa2000 ->
> 0xaab000  (pfn 0xaa2 + 0x9 pages)
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xaa2+0x9 at
> 0x7fcf39cbb000
> domainbuilder: detail: xc_dom_alloc_page   :   boot stack   : 0xaab000 (pfn
> 0xaab)
> domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0xaac000
> domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0xc00000
> domainbuilder: detail: xc_dom_boot_image: called
> domainbuilder: detail: arch_setup_bootearly: doing nothing
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> xen-3.0-x86_64 <= matches
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> xen-3.0-x86_32p
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> hvm-3.0-x86_32
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> hvm-3.0-x86_32p
> domainbuilder: detail: xc_dom_compat_check: supported guest type:
> hvm-3.0-x86_64
> domainbuilder: detail: xc_dom_update_guest_p2m: dst 64bit, pages 0x20000
> domainbuilder: detail: clear_page: pfn 0xaa1, mfn 0x41b9d0
> domainbuilder: detail: clear_page: pfn 0xaa0, mfn 0x41b9d1
> domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0xa9f+0x1 at
> 0x7fcf39cba000
> domainbuilder: detail: start_info_x86_64: called
> domainbuilder: detail: setup_hypercall_page: vaddr=0x2000 pfn=0x2
> domainbuilder: detail: domain builder memory footprint
> domainbuilder: detail:    allocated
> domainbuilder: detail:       malloc             : 15364 kB
> domainbuilder: detail:       anon mmap          : 0 bytes
> domainbuilder: detail:    mapped
> domainbuilder: detail:       file mmap          : 978 kB
> domainbuilder: detail:       domU mmap          : 10916 kB
> domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn
> 0xcedda
> domainbuilder: detail: shared_info_x86_64: called
> domainbuilder: detail: vcpu_x86_64: called
> domainbuilder: detail: vcpu_x86_64: cr3: pfn 0xaa2 mfn 0x41b9cf
> domainbuilder: detail: launch_vm: called, ctxt=0x7fffd27bcdf0
> domainbuilder: detail: xc_dom_release: called
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda1 spec.backend=tap
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=xvda2 spec.backend=tap
> libxl: debug: libxl_dm.c:987:libxl__create_device_model: Spawning
> device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:
> /usr/lib/xen/bin/qemu-system-i386
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-domid
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   4
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -chardev
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:
> socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-4,server,nowait
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -mon
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:
> chardev=libxl-cmd,mode=control
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -xen-attach
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -name
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   lucid
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -vnc
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   0.0.0.0:0,to=99
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -k
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   it
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -M
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   xenpv
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   -m
> libxl: debug: libxl_dm.c:989:libxl__create_device_model:   513
> libxl: debug: libxl_qmp.c:692:libxl__qmp_initialize: connected to
> /var/run/xen/qmp-libxl-4
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: qmp
> libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
> '{"execute":"qmp_capabilities","id":1}'
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
> libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
> '{"execute":"query-chardev","id":2}'
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
> libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command:
> '{"execute":"query-vnc","id":3}'
> libxl: debug: libxl_qmp.c:298:qmp_handle_response: message type: return
> Daemon running with PID 2616
> xc: debug: hypercall buffer: total allocations:154 total releases:154
> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
> xc: debug: hypercall buffer: cache current size:2
> xc: debug: hypercall buffer: cache hits:149 misses:2 toobig:3
> --------------------------
> xl-lucid.log
> -----------
> libxl: debug: libxl_event.c:406:watchfd_callback: watch event:
> epath=@releaseDomain token=3/0 wpath=@releaseDomain w=0x7002a8
> libxl: debug: libxl.c:806:domain_death_xswatch_callback: [evg=0x6fbc90:4]
> from domid=4 nentries=1 rc=1
> libxl: debug: libxl.c:817:domain_death_xswatch_callback: [evg=0x6fbc90:4]
> got=domaininfos[0] got->domain=4
> libxl: debug: libxl.c:844:domain_death_xswatch_callback:  exists
> shutdown_reported=0 dominf.flags=ffff0020
> libxl: debug: libxl.c:810:domain_death_xswatch_callback: [evg=0] all
> reported
> libxl: debug: libxl.c:874:domain_death_xswatch_callback: domain death search
> done
> -----------------------------------
> 
> 
> --
> View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5696877.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:37:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:37:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS3KG-0006D2-LE; Wed, 09 May 2012 09:36:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS3KF-0006Ct-SJ
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:36:52 +0000
Received: from [85.158.143.99:55947] by server-3.bemta-4.messagelabs.com id
	59/89-05853-3BA3AAF4; Wed, 09 May 2012 09:36:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336556210!19616376!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27882 invoked from network); 9 May 2012 09:36:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 09:36:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12373220"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 09:36:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 10:36:49 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SS3KD-0006Wi-Gb;
	Wed, 09 May 2012 09:36:49 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SS3KD-00027r-89;
	Wed, 09 May 2012 10:36:49 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12823-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 10:36:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12823: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12823 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12823/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12800

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8a86d841e6d4
baseline version:
 xen                  8f1e0cc4a507

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=8a86d841e6d4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 8a86d841e6d4
+ branch=xen-unstable
+ revision=8a86d841e6d4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 8a86d841e6d4 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:37:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:37:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS3KG-0006D2-LE; Wed, 09 May 2012 09:36:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS3KF-0006Ct-SJ
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:36:52 +0000
Received: from [85.158.143.99:55947] by server-3.bemta-4.messagelabs.com id
	59/89-05853-3BA3AAF4; Wed, 09 May 2012 09:36:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336556210!19616376!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27882 invoked from network); 9 May 2012 09:36:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 09:36:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12373220"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 09:36:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 10:36:49 +0100
Received: from [10.80.248.135] (helo=woking.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SS3KD-0006Wi-Gb;
	Wed, 09 May 2012 09:36:49 +0000
Received: from osstest by woking.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SS3KD-00027r-89;
	Wed, 09 May 2012 10:36:49 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12823-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 10:36:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12823: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12823 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12823/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12800

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8a86d841e6d4
baseline version:
 xen                  8f1e0cc4a507

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=8a86d841e6d4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 8a86d841e6d4
+ branch=xen-unstable
+ revision=8a86d841e6d4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 8a86d841e6d4 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:52:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:52:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS3Yu-0006iv-4n; Wed, 09 May 2012 09:52:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS3Yt-0006iq-5x
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:51:59 +0000
Received: from [193.109.254.147:2921] by server-9.bemta-14.messagelabs.com id
	40/BB-05787-E3E3AAF4; Wed, 09 May 2012 09:51:58 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336557116!3193655!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 732 invoked from network); 9 May 2012 09:51:57 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 09:51:57 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS3Yp-0007C9-JM
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 02:51:55 -0700
Date: Wed, 9 May 2012 02:51:55 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336557115594-5696949.post@n5.nabble.com>
In-Reply-To: <1336555963.25514.43.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
	<1336555260123-5696877.post@n5.nabble.com>
	<1336555963.25514.43.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> On Wed, 2012-05-09 at 10:21 +0100, Fantu wrote:
>> Ian Campbell-10 wrote
>> >
>> >> > About pv-grub I think it fails with:
>> >> > ... (from xl create...)
>> >> > xc: error: panic: xc_dom_bzimageloader.c:588:
>> >> xc_dom_probe_bzimage_kernel:
>> >> > kernel is not a bzImage: Invalid kernel
>> >> > ...
>> >> > And after seems start as hvm domU but is not working and I must
>> destroy
>> >> it.
>> >>
>> >> I think this is just a warning (which needs to be toned down), since
>> the
>> >> pvgrub kernel isn't a bzImage, it's a simple elf file.
>> >
>> > # HG changeset patch
>> > # User Ian Campbell &lt;ian.campbell@&gt;
>> > # Date 1336485612 -3600
>> > # Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
>> > # Parent  2fe12fc7bf1f863487920e06589641904b3d9466
>> > libxc: do not "panic" if a kernel is not a bzImage.
>> >
>> > Up untul the point where we think this is a bzImage there is no point
>> in
>> > printing panicy messages -- some other loader will have a go (probably
>> the
>> > compressed ELF one)
>> >
>> > Signed-off-by: Ian Campbell &lt;ian.campbell@&gt;
>> >
>> > diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
>> > --- a/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 14:25:27 2012
>> +0100
>> > +++ b/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 15:00:12 2012
>> +0100
>> > @@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
>> >
>> >      if ( dom->kernel_size < sizeof(struct setup_header) )
>> >      {
>> > -        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
>> > -                     "%s: kernel image too small", __FUNCTION__);
>> > +        xc_dom_printf(dom->xch, "%s: kernel image too small",
>> > __FUNCTION__);
>> >          return -EINVAL;
>> >      }
>> >
>> > @@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
>> >
>> >      if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
>> >      {
>> > -        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
>> > -                     "%s: kernel is not a bzImage", __FUNCTION__);
>> > +        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage",
>> > __FUNCTION__);
>> >          return -EINVAL;
>> >      }
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Xen-devel mailing list
>> > Xen-devel@.xen
>> > http://lists.xen.org/xen-devel
>> >
>> I rebuilt with this patch and on fully clean install  on test server.
>> 
>> With pygrub same result.
> 
> Can you bisect this please.
> 
>> With pv-grub:
>> Vnc seems not to work (black screen), possible regression with qemu-xen
>> as
>> default for PV guest? Should I try to revert this
>> (http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/a095e157f280) on
>> next
>> build to make sure there aren't any bugs left on qemu-xen?
> 
> Yes please.
> 
> Also setting "device_model_version" to qemu-xen-traditional should have
> the same overall effect as reverting.
> 
About bisect, I will do it.
About qemu devices on pv I tried device_model_version="qemu-xen-traditional"
but same problem on pygrub and pv-grub, it seems the problem is not about
qemu-xen.

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5696949.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 09:52:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 09:52:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS3Yu-0006iv-4n; Wed, 09 May 2012 09:52:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS3Yt-0006iq-5x
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 09:51:59 +0000
Received: from [193.109.254.147:2921] by server-9.bemta-14.messagelabs.com id
	40/BB-05787-E3E3AAF4; Wed, 09 May 2012 09:51:58 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336557116!3193655!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 732 invoked from network); 9 May 2012 09:51:57 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 09:51:57 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS3Yp-0007C9-JM
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 02:51:55 -0700
Date: Wed, 9 May 2012 02:51:55 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336557115594-5696949.post@n5.nabble.com>
In-Reply-To: <1336555963.25514.43.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
	<1336555260123-5696877.post@n5.nabble.com>
	<1336555963.25514.43.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Ian Campbell-10 wrote
> 
> On Wed, 2012-05-09 at 10:21 +0100, Fantu wrote:
>> Ian Campbell-10 wrote
>> >
>> >> > About pv-grub I think it fails with:
>> >> > ... (from xl create...)
>> >> > xc: error: panic: xc_dom_bzimageloader.c:588:
>> >> xc_dom_probe_bzimage_kernel:
>> >> > kernel is not a bzImage: Invalid kernel
>> >> > ...
>> >> > And after seems start as hvm domU but is not working and I must
>> destroy
>> >> it.
>> >>
>> >> I think this is just a warning (which needs to be toned down), since
>> the
>> >> pvgrub kernel isn't a bzImage, it's a simple elf file.
>> >
>> > # HG changeset patch
>> > # User Ian Campbell &lt;ian.campbell@&gt;
>> > # Date 1336485612 -3600
>> > # Node ID 8aba3396a61a2224b7cb36046ce06bad053e956b
>> > # Parent  2fe12fc7bf1f863487920e06589641904b3d9466
>> > libxc: do not "panic" if a kernel is not a bzImage.
>> >
>> > Up untul the point where we think this is a bzImage there is no point
>> in
>> > printing panicy messages -- some other loader will have a go (probably
>> the
>> > compressed ELF one)
>> >
>> > Signed-off-by: Ian Campbell &lt;ian.campbell@&gt;
>> >
>> > diff -r 2fe12fc7bf1f -r 8aba3396a61a tools/libxc/xc_dom_bzimageloader.c
>> > --- a/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 14:25:27 2012
>> +0100
>> > +++ b/tools/libxc/xc_dom_bzimageloader.c      Tue May 08 15:00:12 2012
>> +0100
>> > @@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
>> >
>> >      if ( dom->kernel_size < sizeof(struct setup_header) )
>> >      {
>> > -        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
>> > -                     "%s: kernel image too small", __FUNCTION__);
>> > +        xc_dom_printf(dom->xch, "%s: kernel image too small",
>> > __FUNCTION__);
>> >          return -EINVAL;
>> >      }
>> >
>> > @@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
>> >
>> >      if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
>> >      {
>> > -        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
>> > -                     "%s: kernel is not a bzImage", __FUNCTION__);
>> > +        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage",
>> > __FUNCTION__);
>> >          return -EINVAL;
>> >      }
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Xen-devel mailing list
>> > Xen-devel@.xen
>> > http://lists.xen.org/xen-devel
>> >
>> I rebuilt with this patch and on fully clean install  on test server.
>> 
>> With pygrub same result.
> 
> Can you bisect this please.
> 
>> With pv-grub:
>> Vnc seems not to work (black screen), possible regression with qemu-xen
>> as
>> default for PV guest? Should I try to revert this
>> (http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/a095e157f280) on
>> next
>> build to make sure there aren't any bugs left on qemu-xen?
> 
> Yes please.
> 
> Also setting "device_model_version" to qemu-xen-traditional should have
> the same overall effect as reverting.
> 
About bisect, I will do it.
About qemu devices on pv I tried device_model_version="qemu-xen-traditional"
but same problem on pygrub and pv-grub, it seems the problem is not about
qemu-xen.

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25259-tp5691153p5696949.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:22:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:22:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS42E-0007RU-SH; Wed, 09 May 2012 10:22:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SS42D-0007RP-N4
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:22:17 +0000
Received: from [85.158.143.35:8135] by server-1.bemta-4.messagelabs.com id
	93/56-20925-8554AAF4; Wed, 09 May 2012 10:22:16 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336558934!3870526!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30120 invoked from network); 9 May 2012 10:22:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:22:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194010064"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:22:14 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	06:22:13 -0400
Message-ID: <4FAA4554.3080005@citrix.com>
Date: Wed, 9 May 2012 11:22:12 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Keir Fraser
	<keir@xen.org>, Jan Beulich <JBeulich@suse.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------000003060208070400050109"
Subject: [Xen-devel] x86_64: Fix off-by-one error setting up the Interrupt
	Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------000003060208070400050109
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

This affects every version of Xen at least as back as 3.4

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------000003060208070400050109
Content-Type: text/x-patch; name="x86_64-ist-off-by-one-error.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="x86_64-ist-off-by-one-error.patch"

# HG changeset patch
# Parent 8f1e0cc4a507a52a49a2eb7832a57ecc7e032dce
x86_64: Fix off-by-one error setting up the Interrupt Stack Tables

The Interrupt Stack Table entries in a 64bit TSS are a 1 based data
structure as far as hardware is concerned.  As a result, the code
setting up stacks in subarch_percpu_traps_init() fills in the wrong IST
entries.

The result is that the MCE handler executes on the stack set up for
NMIs; the NMI handler executes on a stack set up for Double Faults, and
Double Faults are executed with a stack pointer set to 0.

Once the #DF handler starts to execute, it will usually take a page
fault looking up the address at 0xfffffffffffffff8, which will cause a
triple fault.  If a guest has mapped a page in that location, then it
will have some state overwritten, but as the #DF handler always calls
panic(), this is not a problem the guest will have time to care about.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 8f1e0cc4a507 xen/arch/x86/x86_64/traps.c
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -386,13 +386,13 @@ void __devinit subarch_percpu_traps_init
     BUILD_BUG_ON((IST_MAX + 2) * PAGE_SIZE + PRIMARY_STACK_SIZE > STACK_SIZE);
 
     /* Machine Check handler has its own per-CPU 4kB stack. */
-    this_cpu(init_tss).ist[IST_MCE] = (unsigned long)&stack[IST_MCE * PAGE_SIZE];
+    this_cpu(init_tss).ist[IST_MCE-1] = (unsigned long)&stack[IST_MCE * PAGE_SIZE];
 
     /* Double-fault handler has its own per-CPU 4kB stack. */
-    this_cpu(init_tss).ist[IST_DF] = (unsigned long)&stack[IST_DF * PAGE_SIZE];
+    this_cpu(init_tss).ist[IST_DF-1] = (unsigned long)&stack[IST_DF * PAGE_SIZE];
 
     /* NMI handler has its own per-CPU 4kB stack. */
-    this_cpu(init_tss).ist[IST_NMI] = (unsigned long)&stack[IST_NMI * PAGE_SIZE];
+    this_cpu(init_tss).ist[IST_NMI-1] = (unsigned long)&stack[IST_NMI * PAGE_SIZE];
 
     /* Trampoline for SYSCALL entry from long mode. */
     stack = &stack[IST_MAX * PAGE_SIZE]; /* Skip the IST stacks. */
diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
--- a/xen/include/asm-x86/processor.h
+++ b/xen/include/asm-x86/processor.h
@@ -424,7 +424,9 @@ struct tss_struct {
     union { u64 rsp1, esp1; };
     union { u64 rsp2, esp2; };
     u64 reserved1;
-    u64 ist[7];
+    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
+                 * corresponds to an IST value of 1 in an Interrupt
+                 * Descriptor */
     u64 reserved2;
     u16 reserved3;
 #else

--------------000003060208070400050109
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------000003060208070400050109--


From xen-devel-bounces@lists.xen.org Wed May 09 10:22:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:22:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS42E-0007RU-SH; Wed, 09 May 2012 10:22:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SS42D-0007RP-N4
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:22:17 +0000
Received: from [85.158.143.35:8135] by server-1.bemta-4.messagelabs.com id
	93/56-20925-8554AAF4; Wed, 09 May 2012 10:22:16 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336558934!3870526!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30120 invoked from network); 9 May 2012 10:22:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:22:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194010064"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:22:14 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	06:22:13 -0400
Message-ID: <4FAA4554.3080005@citrix.com>
Date: Wed, 9 May 2012 11:22:12 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Keir Fraser
	<keir@xen.org>, Jan Beulich <JBeulich@suse.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------000003060208070400050109"
Subject: [Xen-devel] x86_64: Fix off-by-one error setting up the Interrupt
	Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------000003060208070400050109
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

This affects every version of Xen at least as back as 3.4

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------000003060208070400050109
Content-Type: text/x-patch; name="x86_64-ist-off-by-one-error.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="x86_64-ist-off-by-one-error.patch"

# HG changeset patch
# Parent 8f1e0cc4a507a52a49a2eb7832a57ecc7e032dce
x86_64: Fix off-by-one error setting up the Interrupt Stack Tables

The Interrupt Stack Table entries in a 64bit TSS are a 1 based data
structure as far as hardware is concerned.  As a result, the code
setting up stacks in subarch_percpu_traps_init() fills in the wrong IST
entries.

The result is that the MCE handler executes on the stack set up for
NMIs; the NMI handler executes on a stack set up for Double Faults, and
Double Faults are executed with a stack pointer set to 0.

Once the #DF handler starts to execute, it will usually take a page
fault looking up the address at 0xfffffffffffffff8, which will cause a
triple fault.  If a guest has mapped a page in that location, then it
will have some state overwritten, but as the #DF handler always calls
panic(), this is not a problem the guest will have time to care about.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 8f1e0cc4a507 xen/arch/x86/x86_64/traps.c
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -386,13 +386,13 @@ void __devinit subarch_percpu_traps_init
     BUILD_BUG_ON((IST_MAX + 2) * PAGE_SIZE + PRIMARY_STACK_SIZE > STACK_SIZE);
 
     /* Machine Check handler has its own per-CPU 4kB stack. */
-    this_cpu(init_tss).ist[IST_MCE] = (unsigned long)&stack[IST_MCE * PAGE_SIZE];
+    this_cpu(init_tss).ist[IST_MCE-1] = (unsigned long)&stack[IST_MCE * PAGE_SIZE];
 
     /* Double-fault handler has its own per-CPU 4kB stack. */
-    this_cpu(init_tss).ist[IST_DF] = (unsigned long)&stack[IST_DF * PAGE_SIZE];
+    this_cpu(init_tss).ist[IST_DF-1] = (unsigned long)&stack[IST_DF * PAGE_SIZE];
 
     /* NMI handler has its own per-CPU 4kB stack. */
-    this_cpu(init_tss).ist[IST_NMI] = (unsigned long)&stack[IST_NMI * PAGE_SIZE];
+    this_cpu(init_tss).ist[IST_NMI-1] = (unsigned long)&stack[IST_NMI * PAGE_SIZE];
 
     /* Trampoline for SYSCALL entry from long mode. */
     stack = &stack[IST_MAX * PAGE_SIZE]; /* Skip the IST stacks. */
diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
--- a/xen/include/asm-x86/processor.h
+++ b/xen/include/asm-x86/processor.h
@@ -424,7 +424,9 @@ struct tss_struct {
     union { u64 rsp1, esp1; };
     union { u64 rsp2, esp2; };
     u64 reserved1;
-    u64 ist[7];
+    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
+                 * corresponds to an IST value of 1 in an Interrupt
+                 * Descriptor */
     u64 reserved2;
     u16 reserved3;
 #else

--------------000003060208070400050109
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------000003060208070400050109--


From xen-devel-bounces@lists.xen.org Wed May 09 10:31:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B6-0007bb-5b; Wed, 09 May 2012 10:31:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B4-0007av-8H
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:26 +0000
Received: from [193.109.254.147:41234] by server-12.bemta-14.messagelabs.com
	id E9/15-05898-D774AAF4; Wed, 09 May 2012 10:31:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336559483!1540634!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21586 invoked from network); 9 May 2012 10:31:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011027"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-F2;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5b5070d487d948ff654c70e9d08c5a130b07ac98
Message-ID: <5b5070d487d948ff654c.1336559322@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:42 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 4] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

...to prepare for a consistent "pci_assignable_*" naming scheme.

Also move the man page entry into the PCI PASS-THROUGH section, rather
than the XEN HOST section.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 0772f1d07d1c -r 5b5070d487d9 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 08 17:18:31 2012 +0100
+++ b/docs/man/xl.pod.1	Wed May 09 11:21:19 2012 +0100
@@ -687,13 +687,6 @@ explanatory.
 
 Prints the current uptime of the domains running.
 
-=item B<pci-list-assignable-devices>
-
-List all the assignable PCI devices.
-These are devices in the system which are configured to be
-available for passthrough and are bound to a suitable PCI
-backend driver in domain 0 rather than a real driver.
-
 =back
 
 =head1 SCHEDULER SUBCOMMANDS
@@ -1026,6 +1019,13 @@ List virtual network interfaces for a do
 
 =over 4
 
+=item B<pci-assignable-list>
+
+List all the assignable PCI devices.
+These are devices in the system which are configured to be
+available for passthrough and are bound to a suitable PCI
+backend driver in domain 0 rather than a real driver.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 09 11:21:19 2012 +0100
@@ -662,7 +662,7 @@ libxl_device_pci *libxl_device_pci_list(
  * could be assigned to a domain (i.e. are bound to the backend
  * driver) but are not currently.
  */
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
 int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Wed May 09 11:21:19 2012 +0100
@@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
     return 0;
 }
 
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
     libxl_device_pci *pcidevs = NULL, *new, *assigned;
@@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
     libxl_device_pci *pcidevs;
     int num, i;
 
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
     for (i = 0; i < num; i++) {
         if (pcidevs[i].domain == pcidev->domain &&
             pcidevs[i].bus == pcidev->bus &&
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/xl.h	Wed May 09 11:21:19 2012 +0100
@@ -34,9 +34,9 @@ int main_cd_insert(int argc, char **argv
 int main_console(int argc, char **argv);
 int main_vncviewer(int argc, char **argv);
 int main_pcilist(int argc, char **argv);
-int main_pcilist_assignable(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
 int main_save(int argc, char **argv);
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:19 2012 +0100
@@ -2223,34 +2223,6 @@ int main_vncviewer(int argc, char **argv
     return 0;
 }
 
-static void pcilist_assignable(void)
-{
-    libxl_device_pci *pcidevs;
-    int num, i;
-
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
-
-    if ( pcidevs == NULL )
-        return;
-    for (i = 0; i < num; i++) {
-        printf("%04x:%02x:%02x.%01x\n",
-               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
-        libxl_device_pci_dispose(&pcidevs[i]);
-    }
-    free(pcidevs);
-}
-
-int main_pcilist_assignable(int argc, char **argv)
-{
-    int opt;
-
-    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
-        return opt;
-
-    pcilist_assignable();
-    return 0;
-}
-
 static void pcilist(const char *dom)
 {
     libxl_device_pci *pcidevs;
@@ -2368,6 +2340,34 @@ int main_pciattach(int argc, char **argv
     return 0;
 }
 
+static void pciassignable_list(void)
+{
+    libxl_device_pci *pcidevs;
+    int num, i;
+
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
+
+    if ( pcidevs == NULL )
+        return;
+    for (i = 0; i < num; i++) {
+        printf("%04x:%02x:%02x.%01x\n",
+               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
+        libxl_device_pci_dispose(&pcidevs[i]);
+    }
+    free(pcidevs);
+}
+
+int main_pciassignable_list(int argc, char **argv)
+{
+    int opt;
+
+    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
+        return opt;
+
+    pciassignable_list();
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:19 2012 +0100
@@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
-    { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0,
+    { "pci-assignable-list",
+      &main_pciassignable_list, 0,
       "List all the assignable pci devices",
       "",
     },
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Wed May 09 11:21:19 2012 +0100
@@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
     return (PyObject *)pci;
 }
 
-static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
+static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
 {
     libxl_device_pci *dev;
     PyObject *list;
     int nr_dev, i;
 
-    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
+    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
     if ( dev == NULL ) {
         PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
         return NULL;
@@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
          "Parse pass-through PCI device spec (BDF)"},
     {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
         "List PCI devices assigned to a domain"},
-    {"device_pci_list_assignable",
-        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
+    {"device_pci_assignable_list",
+        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
         "List assignable PCI devices"},
     { NULL, NULL, 0, NULL }
 };

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B6-0007bb-5b; Wed, 09 May 2012 10:31:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B4-0007av-8H
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:26 +0000
Received: from [193.109.254.147:41234] by server-12.bemta-14.messagelabs.com
	id E9/15-05898-D774AAF4; Wed, 09 May 2012 10:31:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336559483!1540634!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21586 invoked from network); 9 May 2012 10:31:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011027"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-F2;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5b5070d487d948ff654c70e9d08c5a130b07ac98
Message-ID: <5b5070d487d948ff654c.1336559322@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:42 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 4] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

...to prepare for a consistent "pci_assignable_*" naming scheme.

Also move the man page entry into the PCI PASS-THROUGH section, rather
than the XEN HOST section.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 0772f1d07d1c -r 5b5070d487d9 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 08 17:18:31 2012 +0100
+++ b/docs/man/xl.pod.1	Wed May 09 11:21:19 2012 +0100
@@ -687,13 +687,6 @@ explanatory.
 
 Prints the current uptime of the domains running.
 
-=item B<pci-list-assignable-devices>
-
-List all the assignable PCI devices.
-These are devices in the system which are configured to be
-available for passthrough and are bound to a suitable PCI
-backend driver in domain 0 rather than a real driver.
-
 =back
 
 =head1 SCHEDULER SUBCOMMANDS
@@ -1026,6 +1019,13 @@ List virtual network interfaces for a do
 
 =over 4
 
+=item B<pci-assignable-list>
+
+List all the assignable PCI devices.
+These are devices in the system which are configured to be
+available for passthrough and are bound to a suitable PCI
+backend driver in domain 0 rather than a real driver.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 09 11:21:19 2012 +0100
@@ -662,7 +662,7 @@ libxl_device_pci *libxl_device_pci_list(
  * could be assigned to a domain (i.e. are bound to the backend
  * driver) but are not currently.
  */
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
 int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Wed May 09 11:21:19 2012 +0100
@@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
     return 0;
 }
 
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
     libxl_device_pci *pcidevs = NULL, *new, *assigned;
@@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
     libxl_device_pci *pcidevs;
     int num, i;
 
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
     for (i = 0; i < num; i++) {
         if (pcidevs[i].domain == pcidev->domain &&
             pcidevs[i].bus == pcidev->bus &&
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/xl.h	Wed May 09 11:21:19 2012 +0100
@@ -34,9 +34,9 @@ int main_cd_insert(int argc, char **argv
 int main_console(int argc, char **argv);
 int main_vncviewer(int argc, char **argv);
 int main_pcilist(int argc, char **argv);
-int main_pcilist_assignable(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
 int main_save(int argc, char **argv);
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:19 2012 +0100
@@ -2223,34 +2223,6 @@ int main_vncviewer(int argc, char **argv
     return 0;
 }
 
-static void pcilist_assignable(void)
-{
-    libxl_device_pci *pcidevs;
-    int num, i;
-
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
-
-    if ( pcidevs == NULL )
-        return;
-    for (i = 0; i < num; i++) {
-        printf("%04x:%02x:%02x.%01x\n",
-               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
-        libxl_device_pci_dispose(&pcidevs[i]);
-    }
-    free(pcidevs);
-}
-
-int main_pcilist_assignable(int argc, char **argv)
-{
-    int opt;
-
-    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
-        return opt;
-
-    pcilist_assignable();
-    return 0;
-}
-
 static void pcilist(const char *dom)
 {
     libxl_device_pci *pcidevs;
@@ -2368,6 +2340,34 @@ int main_pciattach(int argc, char **argv
     return 0;
 }
 
+static void pciassignable_list(void)
+{
+    libxl_device_pci *pcidevs;
+    int num, i;
+
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
+
+    if ( pcidevs == NULL )
+        return;
+    for (i = 0; i < num; i++) {
+        printf("%04x:%02x:%02x.%01x\n",
+               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
+        libxl_device_pci_dispose(&pcidevs[i]);
+    }
+    free(pcidevs);
+}
+
+int main_pciassignable_list(int argc, char **argv)
+{
+    int opt;
+
+    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
+        return opt;
+
+    pciassignable_list();
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:19 2012 +0100
@@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
-    { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0,
+    { "pci-assignable-list",
+      &main_pciassignable_list, 0,
       "List all the assignable pci devices",
       "",
     },
diff -r 0772f1d07d1c -r 5b5070d487d9 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 08 17:18:31 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Wed May 09 11:21:19 2012 +0100
@@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
     return (PyObject *)pci;
 }
 
-static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
+static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
 {
     libxl_device_pci *dev;
     PyObject *list;
     int nr_dev, i;
 
-    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
+    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
     if ( dev == NULL ) {
         PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
         return NULL;
@@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
          "Parse pass-through PCI device spec (BDF)"},
     {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
         "List PCI devices assigned to a domain"},
-    {"device_pci_list_assignable",
-        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
+    {"device_pci_assignable_list",
+        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
         "List assignable PCI devices"},
     { NULL, NULL, 0, NULL }
 };

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B5-0007bI-Bi; Wed, 09 May 2012 10:31:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B3-0007at-E5
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:25 +0000
Received: from [85.158.139.83:9046] by server-10.bemta-5.messagelabs.com id
	0D/C4-08260-C774AAF4; Wed, 09 May 2012 10:31:24 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336559480!26762909!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26189 invoked from network); 9 May 2012 10:31:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011025"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-EY;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: 0772f1d07d1c0b91fc376ae7a0d169488461efd5
Message-ID: <0772f1d07d1c0b91fc37.1336559321@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:41 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 4] libxl: Make a helper function write a
 BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This functionality will be used several times in subsequent patches.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r d5268710a5ca -r 0772f1d07d1c tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Fri May 04 10:46:23 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
@@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
     return 0;
 }
 
+/* Write the standard BDF into the sysfs path given by sysfs_path. */
+static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
+                           libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc, fd;
+    char *buf;
+
+    fd = open(sysfs_path, O_WRONLY);
+    if (fd < 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         sysfs_path);
+        return ERROR_FAIL;
+    }
+        
+    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
+                         pcidev->dev, pcidev->func);
+    rc = write(fd, buf, strlen(buf));
+    /* Annoying to have two if's, but we need the errno */
+    if (rc < 0)
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "write to %s returned %d", sysfs_path, rc);
+    close(fd);
+
+    if (rc < 0)
+        return ERROR_FAIL;
+
+    return 0;
+}
+
 libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
@@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
 
         /* Don't restrict writes to the PCI config space from this VM */
         if (pcidev->permissive) {
-            int fd;
-            char *buf;
-            
-            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
-            fd = open(sysfs_path, O_WRONLY);
-            if (fd < 0) {
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
-                                 sysfs_path);
+            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Setting permissive for device");
                 return ERROR_FAIL;
             }
- 
-            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
-                                 pcidev->dev, pcidev->func);
-            rc = write(fd, buf, strlen(buf));
-            /* Annoying to have two if's, but we need the errno */
-            if (rc < 0)
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                                 "write to %s returned %d", sysfs_path, rc);
-            close(fd);
-            if (rc < 0)
-                return ERROR_FAIL;
         }
         break;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B5-0007bI-Bi; Wed, 09 May 2012 10:31:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B3-0007at-E5
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:25 +0000
Received: from [85.158.139.83:9046] by server-10.bemta-5.messagelabs.com id
	0D/C4-08260-C774AAF4; Wed, 09 May 2012 10:31:24 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336559480!26762909!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26189 invoked from network); 9 May 2012 10:31:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011025"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-EY;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: 0772f1d07d1c0b91fc376ae7a0d169488461efd5
Message-ID: <0772f1d07d1c0b91fc37.1336559321@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:41 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 4] libxl: Make a helper function write a
 BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This functionality will be used several times in subsequent patches.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r d5268710a5ca -r 0772f1d07d1c tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Fri May 04 10:46:23 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
@@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
     return 0;
 }
 
+/* Write the standard BDF into the sysfs path given by sysfs_path. */
+static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
+                           libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc, fd;
+    char *buf;
+
+    fd = open(sysfs_path, O_WRONLY);
+    if (fd < 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         sysfs_path);
+        return ERROR_FAIL;
+    }
+        
+    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
+                         pcidev->dev, pcidev->func);
+    rc = write(fd, buf, strlen(buf));
+    /* Annoying to have two if's, but we need the errno */
+    if (rc < 0)
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "write to %s returned %d", sysfs_path, rc);
+    close(fd);
+
+    if (rc < 0)
+        return ERROR_FAIL;
+
+    return 0;
+}
+
 libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
@@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
 
         /* Don't restrict writes to the PCI config space from this VM */
         if (pcidev->permissive) {
-            int fd;
-            char *buf;
-            
-            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
-            fd = open(sysfs_path, O_WRONLY);
-            if (fd < 0) {
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
-                                 sysfs_path);
+            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Setting permissive for device");
                 return ERROR_FAIL;
             }
- 
-            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
-                                 pcidev->dev, pcidev->func);
-            rc = write(fd, buf, strlen(buf));
-            /* Annoying to have two if's, but we need the errno */
-            if (rc < 0)
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                                 "write to %s returned %d", sysfs_path, rc);
-            close(fd);
-            if (rc < 0)
-                return ERROR_FAIL;
         }
         break;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B3-0007b0-Uk; Wed, 09 May 2012 10:31:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B2-0007ao-CF
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:24 +0000
Received: from [85.158.139.83:43068] by server-8.bemta-5.messagelabs.com id
	19/80-26964-B774AAF4; Wed, 09 May 2012 10:31:23 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336559480!26762909!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26133 invoked from network); 9 May 2012 10:31:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011024"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-Dx;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:40 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The current method for passing through devices requires users to
either modify cryptic Linux boot parameters and reboot, or do a lot of
manual reads and writes into sysfs nodes.

This set of patches introduces commands to make this easier.  It expands
on the concept of "assignable" (from the list_assignable_devices command).

The new xl commands are:

pci_assignable_add: Make a device assignable to guests.  This involves
unbinding the device from its old driver, creating a slot for it in
pciback (if necessary), and binding it to pciback.

pci_assignable_list: List devices assignable to guests.  Just renamed
from pci_list_assignable.

pci_assignable_remove: Make the device no longer assignable to guests. 
This involves unbinding the device from pciback and removing the slot.  It 
optionally involves rebinding the device to the driver from which we stole
it.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B3-0007b0-Uk; Wed, 09 May 2012 10:31:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B2-0007ao-CF
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:24 +0000
Received: from [85.158.139.83:43068] by server-8.bemta-5.messagelabs.com id
	19/80-26964-B774AAF4; Wed, 09 May 2012 10:31:23 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336559480!26762909!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26133 invoked from network); 9 May 2012 10:31:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011024"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-Dx;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:40 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The current method for passing through devices requires users to
either modify cryptic Linux boot parameters and reboot, or do a lot of
manual reads and writes into sysfs nodes.

This set of patches introduces commands to make this easier.  It expands
on the concept of "assignable" (from the list_assignable_devices command).

The new xl commands are:

pci_assignable_add: Make a device assignable to guests.  This involves
unbinding the device from its old driver, creating a slot for it in
pciback (if necessary), and binding it to pciback.

pci_assignable_list: List devices assignable to guests.  Just renamed
from pci_list_assignable.

pci_assignable_remove: Make the device no longer assignable to guests. 
This involves unbinding the device from pciback and removing the slot.  It 
optionally involves rebinding the device to the driver from which we stole
it.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B5-0007bQ-Q0; Wed, 09 May 2012 10:31:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B3-0007au-VS
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:26 +0000
Received: from [85.158.139.83:9109] by server-12.bemta-5.messagelabs.com id
	21/64-01344-D774AAF4; Wed, 09 May 2012 10:31:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336559480!26762909!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26266 invoked from network); 9 May 2012 10:31:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011026"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-G8;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: a1c3578537355b988d5e650afa3117674303fc3c
Message-ID: <a1c3578537355b988d5e.1336559324@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:44 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and remove
	commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pci-assignable-add will always store the driver rebind path, but
pci-assignable-remove will only actually rebind if asked to do so.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 17a5b562d1e7 -r a1c357853735 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Wed May 09 11:21:28 2012 +0100
+++ b/docs/man/xl.pod.1	Wed May 09 11:24:01 2012 +0100
@@ -1026,6 +1026,26 @@ These are devices in the system which ar
 available for passthrough and are bound to a suitable PCI
 backend driver in domain 0 rather than a real driver.
 
+=item B<pci-assignable-add> I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will bind the device to the pciback driver.  If it is already bound to a
+driver, it will first be unbound, and the original driver stored so that it
+can be re-bound to the same driver later if desired.  
+
+CAUTION: This will make the device unusable by Domain 0 until it is
+returned with pci-assignable-remove.  Care should therefore be taken
+not to do this on a device critical to domain 0's operation, such as
+storage controllers, network interfaces, or GPUs that are currently
+being used.
+
+=item B<pci-assignable-remove> [I<-r>] I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will at least unbind the device from pciback.  If the -r option is specified,
+it will also attempt to re-bind the device to its original driver, making it
+usable by Domain 0 again.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Wed May 09 11:21:28 2012 +0100
+++ b/tools/libxl/xl.h	Wed May 09 11:24:01 2012 +0100
@@ -36,6 +36,8 @@ int main_vncviewer(int argc, char **argv
 int main_pcilist(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_add(int argc, char **argv);
+int main_pciassignable_remove(int argc, char **argv);
 int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:28 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:24:01 2012 +0100
@@ -2368,6 +2368,82 @@ int main_pciassignable_list(int argc, ch
     return 0;
 }
 
+static void pciassignable_add(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    memset(&pcidev, 0x00, sizeof(pcidev));
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
+    libxl_device_pci_dispose(&pcidev);
+}
+
+int main_pciassignable_add(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+
+    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_add(bdf, 1);
+    return 0;
+}
+
+static void pciassignable_remove(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    memset(&pcidev, 0x00, sizeof(pcidev));
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
+    libxl_device_pci_dispose(&pcidev);
+}
+
+int main_pciassignable_remove(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+    int rebind = 0;
+
+    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        case 'r':
+            rebind=1;
+            break;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_remove(bdf, rebind);
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:28 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:24:01 2012 +0100
@@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
+    { "pci-assignable-add",
+      &main_pciassignable_add, 0,
+      "Make a device assignable for pci-passthru",
+      "<BDF>",
+      "-h                      Print this help.\n"
+    },
+    { "pci-assignable-remove",
+      &main_pciassignable_remove, 0,
+      "Remove a device from being assignable",
+      "[options] <BDF>",
+      "-h                      Print this help.\n"
+      "-r                      Attempt to re-assign the device to the\n"
+      "                        original driver"
+    },
     { "pci-assignable-list",
       &main_pciassignable_list, 0,
       "List all the assignable pci devices",

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B5-0007bQ-Q0; Wed, 09 May 2012 10:31:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4B3-0007au-VS
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:31:26 +0000
Received: from [85.158.139.83:9109] by server-12.bemta-5.messagelabs.com id
	21/64-01344-D774AAF4; Wed, 09 May 2012 10:31:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336559480!26762909!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26266 invoked from network); 9 May 2012 10:31:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194011026"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-G8;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: a1c3578537355b988d5e650afa3117674303fc3c
Message-ID: <a1c3578537355b988d5e.1336559324@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:44 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and remove
	commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pci-assignable-add will always store the driver rebind path, but
pci-assignable-remove will only actually rebind if asked to do so.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 17a5b562d1e7 -r a1c357853735 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Wed May 09 11:21:28 2012 +0100
+++ b/docs/man/xl.pod.1	Wed May 09 11:24:01 2012 +0100
@@ -1026,6 +1026,26 @@ These are devices in the system which ar
 available for passthrough and are bound to a suitable PCI
 backend driver in domain 0 rather than a real driver.
 
+=item B<pci-assignable-add> I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will bind the device to the pciback driver.  If it is already bound to a
+driver, it will first be unbound, and the original driver stored so that it
+can be re-bound to the same driver later if desired.  
+
+CAUTION: This will make the device unusable by Domain 0 until it is
+returned with pci-assignable-remove.  Care should therefore be taken
+not to do this on a device critical to domain 0's operation, such as
+storage controllers, network interfaces, or GPUs that are currently
+being used.
+
+=item B<pci-assignable-remove> [I<-r>] I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will at least unbind the device from pciback.  If the -r option is specified,
+it will also attempt to re-bind the device to its original driver, making it
+usable by Domain 0 again.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Wed May 09 11:21:28 2012 +0100
+++ b/tools/libxl/xl.h	Wed May 09 11:24:01 2012 +0100
@@ -36,6 +36,8 @@ int main_vncviewer(int argc, char **argv
 int main_pcilist(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_add(int argc, char **argv);
+int main_pciassignable_remove(int argc, char **argv);
 int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:28 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:24:01 2012 +0100
@@ -2368,6 +2368,82 @@ int main_pciassignable_list(int argc, ch
     return 0;
 }
 
+static void pciassignable_add(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    memset(&pcidev, 0x00, sizeof(pcidev));
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
+    libxl_device_pci_dispose(&pcidev);
+}
+
+int main_pciassignable_add(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+
+    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_add(bdf, 1);
+    return 0;
+}
+
+static void pciassignable_remove(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    memset(&pcidev, 0x00, sizeof(pcidev));
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
+    libxl_device_pci_dispose(&pcidev);
+}
+
+int main_pciassignable_remove(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+    int rebind = 0;
+
+    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        case 'r':
+            rebind=1;
+            break;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_remove(bdf, rebind);
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:28 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:24:01 2012 +0100
@@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
+    { "pci-assignable-add",
+      &main_pciassignable_add, 0,
+      "Make a device assignable for pci-passthru",
+      "<BDF>",
+      "-h                      Print this help.\n"
+    },
+    { "pci-assignable-remove",
+      &main_pciassignable_remove, 0,
+      "Remove a device from being assignable",
+      "[options] <BDF>",
+      "-h                      Print this help.\n"
+      "-r                      Attempt to re-assign the device to the\n"
+      "                        original driver"
+    },
     { "pci-assignable-list",
       &main_pciassignable_list, 0,
       "List all the assignable pci devices",

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B6-0007bv-Mt; Wed, 09 May 2012 10:31:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS4B5-0007bH-NZ
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:31:27 +0000
Received: from [85.158.138.51:26443] by server-8.bemta-3.messagelabs.com id
	BC/7E-24428-E774AAF4; Wed, 09 May 2012 10:31:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336559480!26099388!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6496 invoked from network); 9 May 2012 10:31:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12374595"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:31:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	11:31:14 +0100
Message-ID: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Date: Wed, 9 May 2012 11:31:13 +0100
In-Reply-To: <4FAA4554.3080005@citrix.com>
References: <4FAA4554.3080005@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
> --- a/xen/include/asm-x86/processor.h
> +++ b/xen/include/asm-x86/processor.h
> @@ -424,7 +424,9 @@ struct tss_struct {
>      union { u64 rsp1, esp1; };
>      union { u64 rsp2, esp2; };
>      u64 reserved1;
> -    u64 ist[7];
> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
> +                 * corresponds to an IST value of 1 in an Interrupt
> +                 * Descriptor */

Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
then ist[1] would actually be the slot corresponding to a value of 1 in
an IDT entry.

>      u64 reserved2;
>      u16 reserved3; 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:31:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:31:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4B6-0007bv-Mt; Wed, 09 May 2012 10:31:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS4B5-0007bH-NZ
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:31:27 +0000
Received: from [85.158.138.51:26443] by server-8.bemta-3.messagelabs.com id
	BC/7E-24428-E774AAF4; Wed, 09 May 2012 10:31:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336559480!26099388!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6496 invoked from network); 9 May 2012 10:31:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:31:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12374595"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:31:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	11:31:14 +0100
Message-ID: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Date: Wed, 9 May 2012 11:31:13 +0100
In-Reply-To: <4FAA4554.3080005@citrix.com>
References: <4FAA4554.3080005@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
> --- a/xen/include/asm-x86/processor.h
> +++ b/xen/include/asm-x86/processor.h
> @@ -424,7 +424,9 @@ struct tss_struct {
>      union { u64 rsp1, esp1; };
>      union { u64 rsp2, esp2; };
>      u64 reserved1;
> -    u64 ist[7];
> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
> +                 * corresponds to an IST value of 1 in an Interrupt
> +                 * Descriptor */

Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
then ist[1] would actually be the slot corresponding to a value of 1 in
an IDT entry.

>      u64 reserved2;
>      u16 reserved3; 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:32:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:32:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4C6-0007sH-68; Wed, 09 May 2012 10:32:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4C4-0007rS-A5
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:32:29 +0000
Received: from [193.109.254.147:55958] by server-5.bemta-14.messagelabs.com id
	09/93-30733-BB74AAF4; Wed, 09 May 2012 10:32:27 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336559545!3202150!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21620 invoked from network); 9 May 2012 10:32:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:32:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25012290"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-FY;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: 17a5b562d1e79d094c58f5640af7809e0cfdd252
Message-ID: <17a5b562d1e79d094c58.1336559323@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:43 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add and
 pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl helper functions to prepare devices to be passed through to
guests.  This is meant to replace of all the manual sysfs commands which
are currently required.

pci_assignable_add accepts a BDF for a device and will:
* Unbind a device from its current driver, if any
* If "rebind" is set, it will store the path of the driver from which we
  unplugged it in /libxl/pciback/$BDF/driver_path
* If necessary, create a slot for it in pciback
* Bind the device to pciback

At this point it will show up in pci_assignable_list, and is ready to be passed
through to a guest.

pci_assignable_remove accepts a BDF for a device and will:
* Unbind the device from pciback
* Remove the slot from pciback
* If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it will
  attempt to rebind the device to its original driver.

NB that "$BDF" in this case uses dashes instead of : and ., because : and . are
illegal characters in xenstore paths.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Wed May 09 11:21:19 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 09 11:21:28 2012 +0100
@@ -658,10 +658,25 @@ int libxl_device_pci_destroy(libxl_ctx *
 libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
 
 /*
- * Similar to libxl_device_pci_list but returns all devices which
- * could be assigned to a domain (i.e. are bound to the backend
- * driver) but are not currently.
+ * Functions related to making devices assignable -- that is, bound to
+ * the pciback driver, ready to be given to a guest via
+ * libxl_pci_device_add.
+ *
+ * - ..._add() will unbind the device from its current driver (if
+ * already bound) and re-bind it to pciback; at that point it will be
+ * ready to be assigned to a VM.  If rebind is set, it will store the
+ * path to the old driver in xenstore so that it can be handed back to
+ * dom0 on restore.
+ *
+ * - ..._remove() will unbind the device from pciback, and if
+ * rebind is non-zero, attempt to assign it back to the driver
+ * from whence it came.
+ *
+ * - ..._list() will return a list of the PCI devices available to be
+ * assigned.
  */
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
 libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Wed May 09 11:21:19 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Wed May 09 11:21:28 2012 +0100
@@ -21,6 +21,7 @@
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
 #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
+#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
 
 static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
 {
@@ -408,6 +409,347 @@ out:
     return pcidevs;
 }
 
+/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
+ * store the path to the original driver in it. */
+static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev, char **driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath, *_dp, **dp;
+    struct stat st;
+
+    if ( driver_path )
+        dp = driver_path;
+    else
+        dp = &_dp;
+
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func);
+    if ( !lstat(spath, &st) ) {
+        /* Find the canonical path to the driver. */
+        *dp = libxl__zalloc(gc, PATH_MAX);
+        *dp = realpath(spath, *dp);
+        if ( !*dp ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realpath() failed");
+            return -1;
+        }
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
+                   *dp);
+        
+        /* Unbind from the old driver */
+        spath = libxl__sprintf(gc, "%s/unbind", *dp);
+        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
+            return -1;
+        }
+    }
+    return 0;
+}
+
+/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
+static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    FILE *f;
+    int rc = 0;
+    unsigned bus, dev, func;
+    
+    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
+
+    if (f == NULL) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         SYSFS_PCIBACK_DRIVER"/slots");
+        return ERROR_FAIL;
+    }
+
+    while(fscanf(f, "0000:%x:%x.%x\n", &bus, &dev, &func)==3) {
+        if(bus == pcidev->bus
+           && dev == pcidev->dev
+           && func == pcidev->func) {
+            rc = 1;
+            goto out;
+        }
+    }
+out:
+    fclose(f);
+    return rc;
+}
+
+static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath;
+    int rc;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
+                           pcidev->domain, pcidev->bus,
+                           pcidev->dev, pcidev->func);
+    rc = lstat(spath, &st);
+
+    if( rc == 0 )
+        return 1;
+    if ( rc < 0 && errno == ENOENT )
+        return 0;
+    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
+    return -1;
+}
+
+static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+
+    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "Error checking for pciback slot");
+        return ERROR_FAIL;
+    } else if (rc == 0) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't bind device to pciback!");
+            return ERROR_FAIL;
+        }
+    }
+    
+    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove from pciback */
+    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
+        return ERROR_FAIL;
+    }
+
+    /* Remove slot if necessary */
+    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't remove pciback slot");
+            return ERROR_FAIL;
+        }
+    }
+    return 0;
+}
+
+/* FIXME */
+#define PCIBACK_INFO_PATH "/libxl/pciback"
+
+static void pci_assignable_driver_path_write(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            char *driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char *path;
+    xs_transaction_t t = 0;
+    struct xs_permissions perm[1];
+
+    perm[0].id = 0;
+    perm[0].perms = XS_PERM_NONE;
+
+retry:
+    t = xs_transaction_start(ctx->xsh);
+
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    xs_rm(ctx->xsh, t, path);
+    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Write of %s to node %s failed",
+                         driver_path, path);
+    }
+
+    if (!xs_transaction_end(ctx->xsh, t, 0)) {
+        if (errno == EAGAIN) {
+            t = 0;
+            goto retry;
+        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "xenstore transaction commit failed; device "
+                         " will not be rebound to original driver.");
+    }
+}
+
+static char * pci_assignable_driver_path_read(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    return libxl__xs_read(gc, XBT_NULL, 
+                          libxl__sprintf(gc,
+                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func));
+}
+
+static void pci_assignable_driver_path_remove(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * path;
+    xs_transaction_t t;
+
+    /* Remove the xenstore entry */
+retry:
+    t = xs_transaction_start(ctx->xsh);
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    xs_rm(ctx->xsh, t, path);
+    if (!xs_transaction_end(ctx->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry;
+        else
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "Failed to remove xenstore entry");
+    }
+}
+
+static int libxl__device_pci_assignable_add(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    unsigned dom, bus, dev, func;
+    char *spath, *driver_path = NULL;
+    struct stat st;
+
+    /* Local copy for convenience */
+    dom = pcidev->domain;
+    bus = pcidev->bus;
+    dev = pcidev->dev;
+    func = pcidev->func;
+
+    /* See if the device exists */
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
+    if ( lstat(spath, &st) ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
+        return ERROR_FAIL;
+    }
+
+    /* Check to see if it's already assigned to pciback */
+    if ( pciback_dev_is_assigned(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, PCI_BDF" already assigned to pciback",
+                   dom, bus, dev, func);
+        return 0;
+    }
+
+    /* Check to see if there's already a driver that we need to unbind from */
+    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind "PCI_BDF" from driver",
+                   dom, bus, dev, func);
+        return ERROR_FAIL;
+    }
+
+    /* Store driver_path for rebinding to dom0 */
+    if ( rebind ) {
+        if ( driver_path ) {
+            pci_assignable_driver_path_write(gc, pcidev, driver_path);
+        } else {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       PCI_BDF" not bound to a driver, will not be rebound.",
+                       dom, bus, dev, func);
+        }
+    }
+
+    if ( pciback_dev_assign(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+static int libxl__device_pci_assignable_remove(libxl__gc *gc,
+                                               libxl_device_pci *pcidev,
+                                               int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    char *driver_path;
+
+    /* Unbind from pciback */
+    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
+        return ERROR_FAIL;
+    } else if ( rc ) {
+        pciback_dev_unassign(gc, pcidev);
+    } else {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "Not bound to pciback");
+    }
+
+    /* Rebind if necessary */
+    driver_path = pci_assignable_driver_path_read(gc, pcidev);
+
+    if ( driver_path ) {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
+                       driver_path);
+
+            if ( sysfs_write_bdf(gc,
+                                 libxl__sprintf(gc, "%s/bind", driver_path),
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Couldn't bind device to %s", driver_path);
+                return -1;
+            }
+        }
+
+        pci_assignable_driver_path_remove(gc, pcidev);
+    } else {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       "Couldn't find path for original driver; not rebinding");
+        }
+    }
+
+    return 0;
+}
+
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                    int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
+
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                       int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
 /*
  * This function checks that all functions of a device are bound to pciback
  * driver. It also initialises a bit-mask of which function numbers are present

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:32:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:32:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4C6-0007sH-68; Wed, 09 May 2012 10:32:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4C4-0007rS-A5
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:32:29 +0000
Received: from [193.109.254.147:55958] by server-5.bemta-14.messagelabs.com id
	09/93-30733-BB74AAF4; Wed, 09 May 2012 10:32:27 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336559545!3202150!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21620 invoked from network); 9 May 2012 10:32:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:32:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25012290"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:31:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:31:19 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ax-0005Rz-FY;
	Wed, 09 May 2012 11:31:19 +0100
MIME-Version: 1.0
X-Mercurial-Node: 17a5b562d1e79d094c58f5640af7809e0cfdd252
Message-ID: <17a5b562d1e79d094c58.1336559323@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:28:43 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add and
 pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl helper functions to prepare devices to be passed through to
guests.  This is meant to replace of all the manual sysfs commands which
are currently required.

pci_assignable_add accepts a BDF for a device and will:
* Unbind a device from its current driver, if any
* If "rebind" is set, it will store the path of the driver from which we
  unplugged it in /libxl/pciback/$BDF/driver_path
* If necessary, create a slot for it in pciback
* Bind the device to pciback

At this point it will show up in pci_assignable_list, and is ready to be passed
through to a guest.

pci_assignable_remove accepts a BDF for a device and will:
* Unbind the device from pciback
* Remove the slot from pciback
* If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it will
  attempt to rebind the device to its original driver.

NB that "$BDF" in this case uses dashes instead of : and ., because : and . are
illegal characters in xenstore paths.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Wed May 09 11:21:19 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 09 11:21:28 2012 +0100
@@ -658,10 +658,25 @@ int libxl_device_pci_destroy(libxl_ctx *
 libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
 
 /*
- * Similar to libxl_device_pci_list but returns all devices which
- * could be assigned to a domain (i.e. are bound to the backend
- * driver) but are not currently.
+ * Functions related to making devices assignable -- that is, bound to
+ * the pciback driver, ready to be given to a guest via
+ * libxl_pci_device_add.
+ *
+ * - ..._add() will unbind the device from its current driver (if
+ * already bound) and re-bind it to pciback; at that point it will be
+ * ready to be assigned to a VM.  If rebind is set, it will store the
+ * path to the old driver in xenstore so that it can be handed back to
+ * dom0 on restore.
+ *
+ * - ..._remove() will unbind the device from pciback, and if
+ * rebind is non-zero, attempt to assign it back to the driver
+ * from whence it came.
+ *
+ * - ..._list() will return a list of the PCI devices available to be
+ * assigned.
  */
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
 libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Wed May 09 11:21:19 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Wed May 09 11:21:28 2012 +0100
@@ -21,6 +21,7 @@
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
 #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
+#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
 
 static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
 {
@@ -408,6 +409,347 @@ out:
     return pcidevs;
 }
 
+/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
+ * store the path to the original driver in it. */
+static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev, char **driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath, *_dp, **dp;
+    struct stat st;
+
+    if ( driver_path )
+        dp = driver_path;
+    else
+        dp = &_dp;
+
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func);
+    if ( !lstat(spath, &st) ) {
+        /* Find the canonical path to the driver. */
+        *dp = libxl__zalloc(gc, PATH_MAX);
+        *dp = realpath(spath, *dp);
+        if ( !*dp ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realpath() failed");
+            return -1;
+        }
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
+                   *dp);
+        
+        /* Unbind from the old driver */
+        spath = libxl__sprintf(gc, "%s/unbind", *dp);
+        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
+            return -1;
+        }
+    }
+    return 0;
+}
+
+/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
+static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    FILE *f;
+    int rc = 0;
+    unsigned bus, dev, func;
+    
+    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
+
+    if (f == NULL) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         SYSFS_PCIBACK_DRIVER"/slots");
+        return ERROR_FAIL;
+    }
+
+    while(fscanf(f, "0000:%x:%x.%x\n", &bus, &dev, &func)==3) {
+        if(bus == pcidev->bus
+           && dev == pcidev->dev
+           && func == pcidev->func) {
+            rc = 1;
+            goto out;
+        }
+    }
+out:
+    fclose(f);
+    return rc;
+}
+
+static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath;
+    int rc;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
+                           pcidev->domain, pcidev->bus,
+                           pcidev->dev, pcidev->func);
+    rc = lstat(spath, &st);
+
+    if( rc == 0 )
+        return 1;
+    if ( rc < 0 && errno == ENOENT )
+        return 0;
+    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
+    return -1;
+}
+
+static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+
+    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "Error checking for pciback slot");
+        return ERROR_FAIL;
+    } else if (rc == 0) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't bind device to pciback!");
+            return ERROR_FAIL;
+        }
+    }
+    
+    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove from pciback */
+    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
+        return ERROR_FAIL;
+    }
+
+    /* Remove slot if necessary */
+    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't remove pciback slot");
+            return ERROR_FAIL;
+        }
+    }
+    return 0;
+}
+
+/* FIXME */
+#define PCIBACK_INFO_PATH "/libxl/pciback"
+
+static void pci_assignable_driver_path_write(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            char *driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char *path;
+    xs_transaction_t t = 0;
+    struct xs_permissions perm[1];
+
+    perm[0].id = 0;
+    perm[0].perms = XS_PERM_NONE;
+
+retry:
+    t = xs_transaction_start(ctx->xsh);
+
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    xs_rm(ctx->xsh, t, path);
+    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Write of %s to node %s failed",
+                         driver_path, path);
+    }
+
+    if (!xs_transaction_end(ctx->xsh, t, 0)) {
+        if (errno == EAGAIN) {
+            t = 0;
+            goto retry;
+        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "xenstore transaction commit failed; device "
+                         " will not be rebound to original driver.");
+    }
+}
+
+static char * pci_assignable_driver_path_read(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    return libxl__xs_read(gc, XBT_NULL, 
+                          libxl__sprintf(gc,
+                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func));
+}
+
+static void pci_assignable_driver_path_remove(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * path;
+    xs_transaction_t t;
+
+    /* Remove the xenstore entry */
+retry:
+    t = xs_transaction_start(ctx->xsh);
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    xs_rm(ctx->xsh, t, path);
+    if (!xs_transaction_end(ctx->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry;
+        else
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "Failed to remove xenstore entry");
+    }
+}
+
+static int libxl__device_pci_assignable_add(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    unsigned dom, bus, dev, func;
+    char *spath, *driver_path = NULL;
+    struct stat st;
+
+    /* Local copy for convenience */
+    dom = pcidev->domain;
+    bus = pcidev->bus;
+    dev = pcidev->dev;
+    func = pcidev->func;
+
+    /* See if the device exists */
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
+    if ( lstat(spath, &st) ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
+        return ERROR_FAIL;
+    }
+
+    /* Check to see if it's already assigned to pciback */
+    if ( pciback_dev_is_assigned(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, PCI_BDF" already assigned to pciback",
+                   dom, bus, dev, func);
+        return 0;
+    }
+
+    /* Check to see if there's already a driver that we need to unbind from */
+    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind "PCI_BDF" from driver",
+                   dom, bus, dev, func);
+        return ERROR_FAIL;
+    }
+
+    /* Store driver_path for rebinding to dom0 */
+    if ( rebind ) {
+        if ( driver_path ) {
+            pci_assignable_driver_path_write(gc, pcidev, driver_path);
+        } else {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       PCI_BDF" not bound to a driver, will not be rebound.",
+                       dom, bus, dev, func);
+        }
+    }
+
+    if ( pciback_dev_assign(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+static int libxl__device_pci_assignable_remove(libxl__gc *gc,
+                                               libxl_device_pci *pcidev,
+                                               int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    char *driver_path;
+
+    /* Unbind from pciback */
+    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
+        return ERROR_FAIL;
+    } else if ( rc ) {
+        pciback_dev_unassign(gc, pcidev);
+    } else {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "Not bound to pciback");
+    }
+
+    /* Rebind if necessary */
+    driver_path = pci_assignable_driver_path_read(gc, pcidev);
+
+    if ( driver_path ) {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
+                       driver_path);
+
+            if ( sysfs_write_bdf(gc,
+                                 libxl__sprintf(gc, "%s/bind", driver_path),
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Couldn't bind device to %s", driver_path);
+                return -1;
+            }
+        }
+
+        pci_assignable_driver_path_remove(gc, pcidev);
+    } else {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       "Couldn't find path for original driver; not rebinding");
+        }
+    }
+
+    return 0;
+}
+
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                    int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
+
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                       int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
 /*
  * This function checks that all functions of a device are bound to pciback
  * driver. It also initialises a bit-mask of which function numbers are present

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:49:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:49:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4SD-0008UE-Sp; Wed, 09 May 2012 10:49:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS4SC-0008U9-Ix
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:49:08 +0000
Received: from [85.158.139.83:22430] by server-5.bemta-5.messagelabs.com id
	AD/6C-13566-3AB4AAF4; Wed, 09 May 2012 10:49:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336560545!23179121!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26295 invoked from network); 9 May 2012 10:49:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:49:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12375094"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:49:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	11:49:04 +0100
Message-ID: <1336560543.25514.74.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 11:49:03 +0100
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> The current method for passing through devices requires users to
> either modify cryptic Linux boot parameters and reboot, or do a lot of
> manual reads and writes into sysfs nodes.
> 
> This set of patches introduces commands to make this easier.

Is this intended for 4.2 or an RFC for 4.3?

>   It expands
> on the concept of "assignable" (from the list_assignable_devices command).
> 
> The new xl commands are:
> 
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
> 
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.
> 
> pci_assignable_remove: Make the device no longer assignable to guests. 
> This involves unbinding the device from pciback and removing the slot.  It 
> optionally involves rebinding the device to the driver from which we stole
> it.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:49:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:49:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4SD-0008UE-Sp; Wed, 09 May 2012 10:49:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS4SC-0008U9-Ix
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:49:08 +0000
Received: from [85.158.139.83:22430] by server-5.bemta-5.messagelabs.com id
	AD/6C-13566-3AB4AAF4; Wed, 09 May 2012 10:49:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336560545!23179121!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26295 invoked from network); 9 May 2012 10:49:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:49:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12375094"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:49:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	11:49:04 +0100
Message-ID: <1336560543.25514.74.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 11:49:03 +0100
In-Reply-To: <patchbomb.1336559320@kodo2>
References: <patchbomb.1336559320@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> The current method for passing through devices requires users to
> either modify cryptic Linux boot parameters and reboot, or do a lot of
> manual reads and writes into sysfs nodes.
> 
> This set of patches introduces commands to make this easier.

Is this intended for 4.2 or an RFC for 4.3?

>   It expands
> on the concept of "assignable" (from the list_assignable_devices command).
> 
> The new xl commands are:
> 
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
> 
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.
> 
> pci_assignable_remove: Make the device no longer assignable to guests. 
> This involves unbinding the device from pciback and removing the slot.  It 
> optionally involves rebinding the device to the driver from which we stole
> it.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:53:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:53:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4WZ-0000AF-Ie; Wed, 09 May 2012 10:53:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SS4WX-0000A9-Dx
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:53:37 +0000
Received: from [193.109.254.147:35725] by server-10.bemta-14.messagelabs.com
	id 50/16-05847-0BC4AAF4; Wed, 09 May 2012 10:53:36 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336560814!8433247!1
X-Originating-IP: [209.85.213.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15362 invoked from network); 9 May 2012 10:53:36 -0000
Received: from mail-yw0-f45.google.com (HELO mail-yw0-f45.google.com)
	(209.85.213.45)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:53:36 -0000
Received: by yhoo21 with SMTP id o21so138446yho.32
	for <xen-devel@lists.xen.org>; Wed, 09 May 2012 03:53:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=p/cl3X83usCPGFbVAjePJzld99texXqC2azyyx+hZr4=;
	b=iBtAInWGoO6zYvv+NbHxLOBtzL6Ys4BBA4UIJaGatQgtm6jlnEljnW7NVYBdqJBWZx
	nTQBOY48xhKWPH8jt/+MdMUALfsKwd00o+xb5KsE1oKy7qzali7scT3v5sp8oN2h0ISw
	AQ8D2MXnD7iB+IaqQy9YQbwqG+Jh630lsSgXHeJR53BVudih3nYSXqYCr9UjhZPw2zBy
	R8OoduT+0d4908HKSnHI8vG758kYuSVByUKb32sdNlRb1nSE9IfEYpR5r2Y+psHPZZx7
	DQCtwcDkIQSX7r+SfPDbu5sC/kSRogJeWQ0vZ+KX375uHq03p8aAJg8fQu+8dd8zqdxq
	dzxw==
Received: by 10.236.76.41 with SMTP id a29mr28395569yhe.117.1336560814703;
	Wed, 09 May 2012 03:53:34 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id c11sm3583430ank.12.2012.05.09.03.53.31
	(version=SSLv3 cipher=OTHER); Wed, 09 May 2012 03:53:33 -0700 (PDT)
Message-ID: <4FAA4CA9.6080702@cantab.net>
Date: Wed, 09 May 2012 11:53:29 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:31, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
>> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -424,7 +424,9 @@ struct tss_struct {
>>      union { u64 rsp1, esp1; };
>>      union { u64 rsp2, esp2; };
>>      u64 reserved1;
>> -    u64 ist[7];
>> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
>> +                 * corresponds to an IST value of 1 in an Interrupt
>> +                 * Descriptor */
> 
> Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> then ist[1] would actually be the slot corresponding to a value of 1 in
> an IDT entry.

We did discuss this briefly internally and I thought it would be too
sneaky.  But perhaps it is ok if there is also #define IST_RESERVED 0
and a comment.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:53:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:53:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4WZ-0000AF-Ie; Wed, 09 May 2012 10:53:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SS4WX-0000A9-Dx
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:53:37 +0000
Received: from [193.109.254.147:35725] by server-10.bemta-14.messagelabs.com
	id 50/16-05847-0BC4AAF4; Wed, 09 May 2012 10:53:36 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336560814!8433247!1
X-Originating-IP: [209.85.213.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15362 invoked from network); 9 May 2012 10:53:36 -0000
Received: from mail-yw0-f45.google.com (HELO mail-yw0-f45.google.com)
	(209.85.213.45)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:53:36 -0000
Received: by yhoo21 with SMTP id o21so138446yho.32
	for <xen-devel@lists.xen.org>; Wed, 09 May 2012 03:53:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=p/cl3X83usCPGFbVAjePJzld99texXqC2azyyx+hZr4=;
	b=iBtAInWGoO6zYvv+NbHxLOBtzL6Ys4BBA4UIJaGatQgtm6jlnEljnW7NVYBdqJBWZx
	nTQBOY48xhKWPH8jt/+MdMUALfsKwd00o+xb5KsE1oKy7qzali7scT3v5sp8oN2h0ISw
	AQ8D2MXnD7iB+IaqQy9YQbwqG+Jh630lsSgXHeJR53BVudih3nYSXqYCr9UjhZPw2zBy
	R8OoduT+0d4908HKSnHI8vG758kYuSVByUKb32sdNlRb1nSE9IfEYpR5r2Y+psHPZZx7
	DQCtwcDkIQSX7r+SfPDbu5sC/kSRogJeWQ0vZ+KX375uHq03p8aAJg8fQu+8dd8zqdxq
	dzxw==
Received: by 10.236.76.41 with SMTP id a29mr28395569yhe.117.1336560814703;
	Wed, 09 May 2012 03:53:34 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id c11sm3583430ank.12.2012.05.09.03.53.31
	(version=SSLv3 cipher=OTHER); Wed, 09 May 2012 03:53:33 -0700 (PDT)
Message-ID: <4FAA4CA9.6080702@cantab.net>
Date: Wed, 09 May 2012 11:53:29 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:31, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
>> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -424,7 +424,9 @@ struct tss_struct {
>>      union { u64 rsp1, esp1; };
>>      union { u64 rsp2, esp2; };
>>      u64 reserved1;
>> -    u64 ist[7];
>> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
>> +                 * corresponds to an IST value of 1 in an Interrupt
>> +                 * Descriptor */
> 
> Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> then ist[1] would actually be the slot corresponding to a value of 1 in
> an IDT entry.

We did discuss this briefly internally and I thought it would be too
sneaky.  But perhaps it is ok if there is also #define IST_RESERVED 0
and a comment.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wh-0000At-Uz; Wed, 09 May 2012 10:53:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SS4Wg-0000Ai-So
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:53:47 +0000
Received: from [85.158.143.99:9402] by server-3.bemta-4.messagelabs.com id
	96/9F-05853-ABC4AAF4; Wed, 09 May 2012 10:53:46 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336560824!23789891!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29046 invoked from network); 9 May 2012 10:53:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:53:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25012706"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:43 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	06:53:43 -0400
Message-ID: <4FAA4CB6.2060107@citrix.com>
Date: Wed, 9 May 2012 11:53:42 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
X-Enigmail-Version: 1.4.1
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:31, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
>> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -424,7 +424,9 @@ struct tss_struct {
>>      union { u64 rsp1, esp1; };
>>      union { u64 rsp2, esp2; };
>>      u64 reserved1;
>> -    u64 ist[7];
>> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
>> +                 * corresponds to an IST value of 1 in an Interrupt
>> +                 * Descriptor */
> Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> then ist[1] would actually be the slot corresponding to a value of 1 in
> an IDT entry.

I considered that, but given no particular preference, I went with the
visibly safer fix.

I can change it if general opinion is that it would be clearer that way.

~Andrew

>
>>      u64 reserved2;
>>      u16 reserved3; 

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wh-0000At-Uz; Wed, 09 May 2012 10:53:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SS4Wg-0000Ai-So
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:53:47 +0000
Received: from [85.158.143.99:9402] by server-3.bemta-4.messagelabs.com id
	96/9F-05853-ABC4AAF4; Wed, 09 May 2012 10:53:46 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336560824!23789891!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29046 invoked from network); 9 May 2012 10:53:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:53:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25012706"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:43 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	06:53:43 -0400
Message-ID: <4FAA4CB6.2060107@citrix.com>
Date: Wed, 9 May 2012 11:53:42 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120412 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
X-Enigmail-Version: 1.4.1
Cc: "Keir \(Xen.org\)" <keir@xen.org>, Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:31, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
>> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -424,7 +424,9 @@ struct tss_struct {
>>      union { u64 rsp1, esp1; };
>>      union { u64 rsp2, esp2; };
>>      u64 reserved1;
>> -    u64 ist[7];
>> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
>> +                 * corresponds to an IST value of 1 in an Interrupt
>> +                 * Descriptor */
> Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> then ist[1] would actually be the slot corresponding to a value of 1 in
> an IDT entry.

I considered that, but given no particular preference, I went with the
visibly safer fix.

I can change it if general opinion is that it would be clearer that way.

~Andrew

>
>>      u64 reserved2;
>>      u16 reserved3; 

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wy-0000E8-HH; Wed, 09 May 2012 10:54:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Ww-0000DO-T1
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:03 +0000
Received: from [85.158.143.35:56112] by server-3.bemta-4.messagelabs.com id
	12/10-05853-ACC4AAF4; Wed, 09 May 2012 10:54:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1532 invoked from network); 9 May 2012 10:54:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013110"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-Np;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
X-Mercurial-Node: 794778a6e9fa761bd38820c6166aa4e2e8998143
Message-ID: <794778a6e9fa761bd388.1336560666@kodo2>
In-Reply-To: <patchbomb.1336560663@kodo2>
References: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:06 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub
	is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 52f45b258ccc -r 794778a6e9fa tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Wed May 09 11:39:43 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:42:19 2012 +0100
@@ -15,6 +15,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include <termios.h>
+#include <string.h>
 
 #include "libxl_internal.h"
 
@@ -398,6 +399,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
+    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "WARNING: bootloader='/usr/bin/pygrub' "             \
+                   "is deprecated; use bootloader='pygrub' instead");
+    
     bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
                                  libxl__libexec_path());
     if ( bootloader == NULL ) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wy-0000E8-HH; Wed, 09 May 2012 10:54:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Ww-0000DO-T1
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:03 +0000
Received: from [85.158.143.35:56112] by server-3.bemta-4.messagelabs.com id
	12/10-05853-ACC4AAF4; Wed, 09 May 2012 10:54:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1532 invoked from network); 9 May 2012 10:54:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013110"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-Np;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
X-Mercurial-Node: 794778a6e9fa761bd38820c6166aa4e2e8998143
Message-ID: <794778a6e9fa761bd388.1336560666@kodo2>
In-Reply-To: <patchbomb.1336560663@kodo2>
References: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:06 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub
	is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 52f45b258ccc -r 794778a6e9fa tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Wed May 09 11:39:43 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:42:19 2012 +0100
@@ -15,6 +15,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include <termios.h>
+#include <string.h>
 
 #include "libxl_internal.h"
 
@@ -398,6 +399,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
+    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "WARNING: bootloader='/usr/bin/pygrub' "             \
+                   "is deprecated; use bootloader='pygrub' instead");
+    
     bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
                                  libxl__libexec_path());
     if ( bootloader == NULL ) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wz-0000Ec-A0; Wed, 09 May 2012 10:54:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Wx-0000DO-TN
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:04 +0000
Received: from [85.158.143.35:51942] by server-3.bemta-4.messagelabs.com id
	CA/10-05853-BCC4AAF4; Wed, 09 May 2012 10:54:03 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1966 invoked from network); 9 May 2012 10:54:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013112"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-Mt;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
X-Mercurial-Node: e43157a8693305e5627061c4a198bcbe70e06003
Message-ID: <e43157a8693305e56270.1336560664@kodo2>
In-Reply-To: <patchbomb.1336560663@kodo2>
References: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:04 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3 RESEND] libxl: Look for bootloader in
	libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
given, look for it in the libexec path.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 8a86d841e6d4 -r e43157a86933 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 08 13:36:24 2012 +0200
+++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:38:50 2012 +0100
@@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
 
     char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
     char *tempdir;
+    const char *bootloader = NULL;
 
     char *dom_console_xs_path;
     char dom_console_slave_tty_path[PATH_MAX];
@@ -397,6 +398,13 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
+    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
+                                 libxl__libexec_path());
+    if ( bootloader == NULL ) {
+        rc = ERROR_NOMEM;
+        goto out_close;
+    }
+
     /*
      * We need to present the bootloader's tty as a pty slave that xenconsole
      * can access.  Since the bootloader itself needs a pty slave,
@@ -417,7 +425,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
     libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
 
-    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
+    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
     if (pid < 0) {
         goto out_close;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wz-0000Ec-A0; Wed, 09 May 2012 10:54:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Wx-0000DO-TN
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:04 +0000
Received: from [85.158.143.35:51942] by server-3.bemta-4.messagelabs.com id
	CA/10-05853-BCC4AAF4; Wed, 09 May 2012 10:54:03 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1966 invoked from network); 9 May 2012 10:54:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013112"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-Mt;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
X-Mercurial-Node: e43157a8693305e5627061c4a198bcbe70e06003
Message-ID: <e43157a8693305e56270.1336560664@kodo2>
In-Reply-To: <patchbomb.1336560663@kodo2>
References: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:04 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3 RESEND] libxl: Look for bootloader in
	libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
given, look for it in the libexec path.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 8a86d841e6d4 -r e43157a86933 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 08 13:36:24 2012 +0200
+++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:38:50 2012 +0100
@@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
 
     char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
     char *tempdir;
+    const char *bootloader = NULL;
 
     char *dom_console_xs_path;
     char dom_console_slave_tty_path[PATH_MAX];
@@ -397,6 +398,13 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
+    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
+                                 libxl__libexec_path());
+    if ( bootloader == NULL ) {
+        rc = ERROR_NOMEM;
+        goto out_close;
+    }
+
     /*
      * We need to present the bootloader's tty as a pty slave that xenconsole
      * can access.  Since the bootloader itself needs a pty slave,
@@ -417,7 +425,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
     libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
 
-    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
+    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
     if (pid < 0) {
         goto out_close;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wy-0000EN-T4; Wed, 09 May 2012 10:54:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Wx-0000DT-CH
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:03 +0000
Received: from [85.158.143.35:51882] by server-2.bemta-4.messagelabs.com id
	BE/7A-17550-ACC4AAF4; Wed, 09 May 2012 10:54:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1605 invoked from network); 9 May 2012 10:54:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013111"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-Lk;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:03 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3 RESEND] tools: Move bootloaders to
	libexec directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
series:
* Causes libxl to look in the libexec dir if a full path is not specified
* Moves pygrub and xenpvnetboot into the libexec dir
* For compatibility with existing configs, puts a link to pygrub in /usr/bin
* Warns the user that /usr/bin/pygrub is deprecated

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wy-0000EN-T4; Wed, 09 May 2012 10:54:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Wx-0000DT-CH
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:03 +0000
Received: from [85.158.143.35:51882] by server-2.bemta-4.messagelabs.com id
	BE/7A-17550-ACC4AAF4; Wed, 09 May 2012 10:54:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1605 invoked from network); 9 May 2012 10:54:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013111"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-Lk;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:03 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3 RESEND] tools: Move bootloaders to
	libexec directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
series:
* Causes libxl to look in the libexec dir if a full path is not specified
* Moves pygrub and xenpvnetboot into the libexec dir
* For compatibility with existing configs, puts a link to pygrub in /usr/bin
* Warns the user that /usr/bin/pygrub is deprecated

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wz-0000Ep-Li; Wed, 09 May 2012 10:54:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Wy-0000DT-DU
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:04 +0000
Received: from [85.158.143.35:51971] by server-2.bemta-4.messagelabs.com id
	C8/8A-17550-CCC4AAF4; Wed, 09 May 2012 10:54:04 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2042 invoked from network); 9 May 2012 10:54:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013113"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-NN;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
X-Mercurial-Node: 52f45b258cccd8bb49230551336b760dc1ca7a5e
Message-ID: <52f45b258cccd8bb4923.1336560665@kodo2>
In-Reply-To: <patchbomb.1336560663@kodo2>
References: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:05 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3 RESEND] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.

Because most config files will still have an absolute path pointing to
/usr/bin/pygrub, make a symbolic link that we will deprecate.

diff -r e43157a86933 -r 52f45b258ccc tools/misc/Makefile
--- a/tools/misc/Makefile	Wed May 09 11:38:50 2012 +0100
+++ b/tools/misc/Makefile	Wed May 09 11:39:43 2012 +0100
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
-INSTALL_BIN-y := xencons xenpvnetboot
+INSTALL_BIN-y := xencons
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
@@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
+INSTALL_PRIVBIN-y := xenpvnetboot
+INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
+
 # Include configure output (config.h) to headers search path
 CFLAGS += -I$(XEN_ROOT)/tools
 
@@ -41,8 +44,10 @@ build: $(TARGETS)
 install: build
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
 	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
 
 .PHONY: clean
diff -r e43157a86933 -r 52f45b258ccc tools/pygrub/Makefile
--- a/tools/pygrub/Makefile	Wed May 09 11:38:50 2012 +0100
+++ b/tools/pygrub/Makefile	Wed May 09 11:39:43 2012 +0100
@@ -11,9 +11,11 @@ build:
 .PHONY: install
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
-	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
+		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
+	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:54:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:54:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Wz-0000Ep-Li; Wed, 09 May 2012 10:54:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4Wy-0000DT-DU
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:54:04 +0000
Received: from [85.158.143.35:51971] by server-2.bemta-4.messagelabs.com id
	C8/8A-17550-CCC4AAF4; Wed, 09 May 2012 10:54:04 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336560839!10249438!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2042 invoked from network); 9 May 2012 10:54:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:54:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194013113"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 06:53:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 06:53:59 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4Ws-0005nR-NN;
	Wed, 09 May 2012 11:53:58 +0100
MIME-Version: 1.0
X-Mercurial-Node: 52f45b258cccd8bb49230551336b760dc1ca7a5e
Message-ID: <52f45b258cccd8bb4923.1336560665@kodo2>
In-Reply-To: <patchbomb.1336560663@kodo2>
References: <patchbomb.1336560663@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 9 May 2012 11:51:05 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3 RESEND] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.

Because most config files will still have an absolute path pointing to
/usr/bin/pygrub, make a symbolic link that we will deprecate.

diff -r e43157a86933 -r 52f45b258ccc tools/misc/Makefile
--- a/tools/misc/Makefile	Wed May 09 11:38:50 2012 +0100
+++ b/tools/misc/Makefile	Wed May 09 11:39:43 2012 +0100
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
-INSTALL_BIN-y := xencons xenpvnetboot
+INSTALL_BIN-y := xencons
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
@@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
+INSTALL_PRIVBIN-y := xenpvnetboot
+INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
+
 # Include configure output (config.h) to headers search path
 CFLAGS += -I$(XEN_ROOT)/tools
 
@@ -41,8 +44,10 @@ build: $(TARGETS)
 install: build
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
 	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
 
 .PHONY: clean
diff -r e43157a86933 -r 52f45b258ccc tools/pygrub/Makefile
--- a/tools/pygrub/Makefile	Wed May 09 11:38:50 2012 +0100
+++ b/tools/pygrub/Makefile	Wed May 09 11:39:43 2012 +0100
@@ -11,9 +11,11 @@ build:
 .PHONY: install
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
-	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
+		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
+	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:55:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:55:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Xp-0000Wv-2u; Wed, 09 May 2012 10:54:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SS4Xn-0000WR-Bq
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:54:55 +0000
Received: from [85.158.138.51:4310] by server-5.bemta-3.messagelabs.com id
	99/6F-17113-EFC4AAF4; Wed, 09 May 2012 10:54:54 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336560893!26097378!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13887 invoked from network); 9 May 2012 10:54:53 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 10:54:53 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 09 May 2012 11:54:52 +0100
Message-Id: <4FAA693102000078000827D0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 09 May 2012 11:55:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Ian Campbell" <Ian.Campbell@citrix.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 09.05.12 at 12:31, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
>> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -424,7 +424,9 @@ struct tss_struct {
>>      union { u64 rsp1, esp1; };
>>      union { u64 rsp2, esp2; };
>>      u64 reserved1;
>> -    u64 ist[7];
>> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
>> +                 * corresponds to an IST value of 1 in an Interrupt
>> +                 * Descriptor */
> 
> Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> then ist[1] would actually be the slot corresponding to a value of 1 in
> an IDT entry.

While appealing at a first glance, I wouldn't recommend doing so:
Documentation specifies it the way it's defined currently, and Linux
also uses the same definition, so we'd only call for future bugs if
we did it differently in our code.

Jan

>>      u64 reserved2;
>>      u16 reserved3; 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:55:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:55:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4Xp-0000Wv-2u; Wed, 09 May 2012 10:54:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SS4Xn-0000WR-Bq
	for xen-devel@lists.xen.org; Wed, 09 May 2012 10:54:55 +0000
Received: from [85.158.138.51:4310] by server-5.bemta-3.messagelabs.com id
	99/6F-17113-EFC4AAF4; Wed, 09 May 2012 10:54:54 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336560893!26097378!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13887 invoked from network); 9 May 2012 10:54:53 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 10:54:53 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 09 May 2012 11:54:52 +0100
Message-Id: <4FAA693102000078000827D0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 09 May 2012 11:55:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Ian Campbell" <Ian.Campbell@citrix.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336559473.25514.64.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 09.05.12 at 12:31, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
>> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -424,7 +424,9 @@ struct tss_struct {
>>      union { u64 rsp1, esp1; };
>>      union { u64 rsp2, esp2; };
>>      u64 reserved1;
>> -    u64 ist[7];
>> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
>> +                 * corresponds to an IST value of 1 in an Interrupt
>> +                 * Descriptor */
> 
> Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> then ist[1] would actually be the slot corresponding to a value of 1 in
> an IDT entry.

While appealing at a first glance, I wouldn't recommend doing so:
Documentation specifies it the way it's defined currently, and Linux
also uses the same definition, so we'd only call for future bugs if
we did it differently in our code.

Jan

>>      u64 reserved2;
>>      u16 reserved3; 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:56:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:56:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4ZB-0000oV-HO; Wed, 09 May 2012 10:56:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SS4ZA-0000oE-Af
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:56:20 +0000
Received: from [85.158.139.83:4437] by server-11.bemta-5.messagelabs.com id
	0A/3C-12959-35D4AAF4; Wed, 09 May 2012 10:56:19 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336560977!27442016!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3847 invoked from network); 9 May 2012 10:56:18 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:56:18 -0000
Received: by yhkk6 with SMTP id k6so160656yhk.30
	for <xen-devel@lists.xensource.com>;
	Wed, 09 May 2012 03:56:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=0Pb19050vkzYOmd72M4rBbi9GmDxv5/PDTkxzuVVSFQ=;
	b=UvynL0Vw4jPtBeHHW/rNJIuxsCEHBLe4ye55HgpBgCZBoPhuNMmVrmoql76KCkj+TO
	sB1+lcKYmGnyFR5EhutPqDmk0Nc6wT21wAamy+hA8/4OgTNxPQr1BJwzwVtCoCfVXzYP
	lfJbBgj6O6u8hd3dzUAp1knPxSahSsBStRbP2xNtc1SAaj8N6TpkZgLUxvDUAYw4S5ZL
	GU1YJpVKb3V7YY3sWgsC22HbiZnHIz/ElfSmd1jT8o8MtamUhDykwVUXybfTfrHC+k46
	vWZxO/YNdi86HqJBV+wtxYKZiQg9lwSCAzLSeeL4CJx8kfp6KmvHcz9wT3WbhyOUPVnD
	oa9A==
Received: by 10.236.78.5 with SMTP id f5mr22652816yhe.14.1336560977327;
	Wed, 09 May 2012 03:56:17 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id n14sm3592980anl.11.2012.05.09.03.56.16
	(version=SSLv3 cipher=OTHER); Wed, 09 May 2012 03:56:16 -0700 (PDT)
Message-ID: <4FAA4D4F.9070804@cantab.net>
Date: Wed, 09 May 2012 11:56:15 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: George Dunlap <george.dunlap@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:28, George Dunlap wrote:
> The current method for passing through devices requires users to
> either modify cryptic Linux boot parameters and reboot, or do a lot of
> manual reads and writes into sysfs nodes.
> 
> This set of patches introduces commands to make this easier.  It expands
> on the concept of "assignable" (from the list_assignable_devices command).
> 
> The new xl commands are:
> 
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
> 
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.

You use underscores here (and elsewhere in the commit message) but the
code uses dashes.  Suggest updating the commit messages with the format
for the commands.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 10:56:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 10:56:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4ZB-0000oV-HO; Wed, 09 May 2012 10:56:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <d.vrabel.98@gmail.com>) id 1SS4ZA-0000oE-Af
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 10:56:20 +0000
Received: from [85.158.139.83:4437] by server-11.bemta-5.messagelabs.com id
	0A/3C-12959-35D4AAF4; Wed, 09 May 2012 10:56:19 +0000
X-Env-Sender: d.vrabel.98@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336560977!27442016!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3847 invoked from network); 9 May 2012 10:56:18 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 10:56:18 -0000
Received: by yhkk6 with SMTP id k6so160656yhk.30
	for <xen-devel@lists.xensource.com>;
	Wed, 09 May 2012 03:56:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=0Pb19050vkzYOmd72M4rBbi9GmDxv5/PDTkxzuVVSFQ=;
	b=UvynL0Vw4jPtBeHHW/rNJIuxsCEHBLe4ye55HgpBgCZBoPhuNMmVrmoql76KCkj+TO
	sB1+lcKYmGnyFR5EhutPqDmk0Nc6wT21wAamy+hA8/4OgTNxPQr1BJwzwVtCoCfVXzYP
	lfJbBgj6O6u8hd3dzUAp1knPxSahSsBStRbP2xNtc1SAaj8N6TpkZgLUxvDUAYw4S5ZL
	GU1YJpVKb3V7YY3sWgsC22HbiZnHIz/ElfSmd1jT8o8MtamUhDykwVUXybfTfrHC+k46
	vWZxO/YNdi86HqJBV+wtxYKZiQg9lwSCAzLSeeL4CJx8kfp6KmvHcz9wT3WbhyOUPVnD
	oa9A==
Received: by 10.236.78.5 with SMTP id f5mr22652816yhe.14.1336560977327;
	Wed, 09 May 2012 03:56:17 -0700 (PDT)
Received: from [10.80.2.76] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id n14sm3592980anl.11.2012.05.09.03.56.16
	(version=SSLv3 cipher=OTHER); Wed, 09 May 2012 03:56:16 -0700 (PDT)
Message-ID: <4FAA4D4F.9070804@cantab.net>
Date: Wed, 09 May 2012 11:56:15 +0100
From: David Vrabel <dvrabel@cantab.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: George Dunlap <george.dunlap@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
In-Reply-To: <patchbomb.1336559320@kodo2>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:28, George Dunlap wrote:
> The current method for passing through devices requires users to
> either modify cryptic Linux boot parameters and reboot, or do a lot of
> manual reads and writes into sysfs nodes.
> 
> This set of patches introduces commands to make this easier.  It expands
> on the concept of "assignable" (from the list_assignable_devices command).
> 
> The new xl commands are:
> 
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
> 
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.

You use underscores here (and elsewhere in the commit message) but the
code uses dashes.  Suggest updating the commit messages with the format
for the commands.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:00:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4cn-0001J4-7z; Wed, 09 May 2012 11:00:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS4cl-0001Iw-HO
	for xen-devel@lists.xen.org; Wed, 09 May 2012 11:00:03 +0000
Received: from [85.158.139.83:2027] by server-2.bemta-5.messagelabs.com id
	B3/DB-17016-23E4AAF4; Wed, 09 May 2012 11:00:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336561202!23181500!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23569 invoked from network); 9 May 2012 11:00:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:00:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12375365"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 11:00:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	12:00:01 +0100
Message-ID: <1336561200.25514.81.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 9 May 2012 12:00:00 +0100
In-Reply-To: <4FAA693102000078000827D0@nat28.tlf.novell.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
	<4FAA693102000078000827D0@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:55 +0100, Jan Beulich wrote:
> >>> On 09.05.12 at 12:31, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
> >> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
> >> --- a/xen/include/asm-x86/processor.h
> >> +++ b/xen/include/asm-x86/processor.h
> >> @@ -424,7 +424,9 @@ struct tss_struct {
> >>      union { u64 rsp1, esp1; };
> >>      union { u64 rsp2, esp2; };
> >>      u64 reserved1;
> >> -    u64 ist[7];
> >> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
> >> +                 * corresponds to an IST value of 1 in an Interrupt
> >> +                 * Descriptor */
> > 
> > Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> > then ist[1] would actually be the slot corresponding to a value of 1 in
> > an IDT entry.
> 
> While appealing at a first glance, I wouldn't recommend doing so:
> Documentation specifies it the way it's defined currently, and Linux
> also uses the same definition, so we'd only call for future bugs if
> we did it differently in our code.

I thought someone would say something like that ;-) OK then.

> 
> Jan
> 
> >>      u64 reserved2;
> >>      u16 reserved3; 
> 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:00:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4cn-0001J4-7z; Wed, 09 May 2012 11:00:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS4cl-0001Iw-HO
	for xen-devel@lists.xen.org; Wed, 09 May 2012 11:00:03 +0000
Received: from [85.158.139.83:2027] by server-2.bemta-5.messagelabs.com id
	B3/DB-17016-23E4AAF4; Wed, 09 May 2012 11:00:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336561202!23181500!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23569 invoked from network); 9 May 2012 11:00:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:00:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12375365"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 11:00:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	12:00:01 +0100
Message-ID: <1336561200.25514.81.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 9 May 2012 12:00:00 +0100
In-Reply-To: <4FAA693102000078000827D0@nat28.tlf.novell.com>
References: <4FAA4554.3080005@citrix.com>
	<1336559473.25514.64.camel@zakaz.uk.xensource.com>
	<4FAA693102000078000827D0@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix off-by-one error setting up the
 Interrupt Stack Tables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:55 +0100, Jan Beulich wrote:
> >>> On 09.05.12 at 12:31, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Wed, 2012-05-09 at 11:22 +0100, Andrew Cooper wrote:
> >> diff -r 8f1e0cc4a507 xen/include/asm-x86/processor.h
> >> --- a/xen/include/asm-x86/processor.h
> >> +++ b/xen/include/asm-x86/processor.h
> >> @@ -424,7 +424,9 @@ struct tss_struct {
> >>      union { u64 rsp1, esp1; };
> >>      union { u64 rsp2, esp2; };
> >>      u64 reserved1;
> >> -    u64 ist[7];
> >> +    u64 ist[7]; /* Interrupt Stack Table is 1-based so tss->ist[0]
> >> +                 * corresponds to an IST value of 1 in an Interrupt
> >> +                 * Descriptor */
> > 
> > Would it be too sneaky to drop "reserved1" and make ist be 8 elements?
> > then ist[1] would actually be the slot corresponding to a value of 1 in
> > an IDT entry.
> 
> While appealing at a first glance, I wouldn't recommend doing so:
> Documentation specifies it the way it's defined currently, and Linux
> also uses the same definition, so we'd only call for future bugs if
> we did it differently in our code.

I thought someone would say something like that ;-) OK then.

> 
> Jan
> 
> >>      u64 reserved2;
> >>      u16 reserved3; 
> 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:04:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:04:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4ge-0001TT-17; Wed, 09 May 2012 11:04:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SS4gc-0001TO-Ng
	for xen-devel@lists.xen.org; Wed, 09 May 2012 11:04:02 +0000
Received: from [85.158.143.35:46579] by server-3.bemta-4.messagelabs.com id
	82/02-05853-22F4AAF4; Wed, 09 May 2012 11:04:02 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336561441!8099927!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22911 invoked from network); 9 May 2012 11:04:01 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:04:01 -0000
Received: by eekc4 with SMTP id c4so65315eek.32
	for <xen-devel@lists.xen.org>; Wed, 09 May 2012 04:04:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=OH0HKOOakLtmuLYOZYckQpJI89xJJmRJSSt3gH9LnHw=;
	b=fSQz23k1O/3WO5g8q/1PqXNd+JwHhRKY/VuB+jFBe0Qzm2NTFC5rmKOimjA8wIcjYz
	9OXyFKcYpFPD4k6i7YVjmzwAvJCncqAz0lCvZ0XkSOC2XWLxvyl6TWkF7mYXY4oiDFv4
	vjw/toeS7p6dFUh0jA9PUTTm5Y/bcHCM0arCRZfqQKqhlp5RBvMZQRS0z5Tib+qoAmET
	1boAST6hrMwuOIeRoLgyn78PnirUu+T5K00Tt/CpbXRHWs0xfaHum2XKbrLW9jxBNMt+
	66b/h+7hnA/QEVVJusFib/1I2zcNk0PhpEkM/zRmfAC7zvoXu7Se0fKn94MDZPiCgeRD
	bDqA==
Received: by 10.14.101.132 with SMTP id b4mr3959643eeg.33.1336561441129;
	Wed, 09 May 2012 04:04:01 -0700 (PDT)
Received: from [127.0.1.1] (ip-182-223.sn1.eutelia.it. [62.94.182.223])
	by mx.google.com with ESMTPS id f16sm11089887eec.2.2012.05.09.04.03.58
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 09 May 2012 04:03:59 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 420c8861a2d2a61a7e806b4519a6e90ca58d7ff9
Message-Id: <420c8861a2d2a61a7e80.1336561430@Solace>
User-Agent: Mercurial-patchbomb/2.2
Date: Wed, 09 May 2012 13:03:50 +0200
From: Darrio Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out how
 many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
supports to be valid topology entries might lead to misleading and incorrect
behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:
...
cpu_topology           :
cpu:    core    socket     node
  0:       0        1        0
  1:       0        1        0
  2:       1        1        0
  3:       1        1        0
  4:       9        1        0
  5:       9        1        0
  6:      10        1        0
  7:      10        1        0
  8:       0        0        1
  9:       0        0        1
 10:       1        0        1
 11:       1        0        1
 12:       9        0        1
 13:       9        0        1
 14:      10        0        1
 15:      10        0        1
 16:       0        0        0
 17:       0        0        0
 18:       0        0        0
 19:       0        0        0
 20:       0        0        0
 ...
 ...
 62:       0        0        0
 63:       0        0        0

However, xc_topologyinfo() tells us (in max_cpu_index) how many entries
arrays it returns corresponds to actually valid CPUs, so let's use that
information.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2903,7 +2903,8 @@ libxl_cputopology *libxl_get_cpu_topolog
     }
 
     for (i = 0; i < max_cpus; i++) {
-#define V(map, i) (map[i] == INVALID_TOPOLOGY_ID) ? \
+#define V(map, i) (i > tinfo.max_cpu_index || \
+    map[i] == INVALID_TOPOLOGY_ID) ? \
     LIBXL_CPUTOPOLOGY_INVALID_ENTRY : map[i]
         ret[i].core = V(coremap, i);
         ret[i].socket = V(socketmap, i);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:04:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:04:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4ge-0001TT-17; Wed, 09 May 2012 11:04:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SS4gc-0001TO-Ng
	for xen-devel@lists.xen.org; Wed, 09 May 2012 11:04:02 +0000
Received: from [85.158.143.35:46579] by server-3.bemta-4.messagelabs.com id
	82/02-05853-22F4AAF4; Wed, 09 May 2012 11:04:02 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336561441!8099927!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22911 invoked from network); 9 May 2012 11:04:01 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:04:01 -0000
Received: by eekc4 with SMTP id c4so65315eek.32
	for <xen-devel@lists.xen.org>; Wed, 09 May 2012 04:04:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=OH0HKOOakLtmuLYOZYckQpJI89xJJmRJSSt3gH9LnHw=;
	b=fSQz23k1O/3WO5g8q/1PqXNd+JwHhRKY/VuB+jFBe0Qzm2NTFC5rmKOimjA8wIcjYz
	9OXyFKcYpFPD4k6i7YVjmzwAvJCncqAz0lCvZ0XkSOC2XWLxvyl6TWkF7mYXY4oiDFv4
	vjw/toeS7p6dFUh0jA9PUTTm5Y/bcHCM0arCRZfqQKqhlp5RBvMZQRS0z5Tib+qoAmET
	1boAST6hrMwuOIeRoLgyn78PnirUu+T5K00Tt/CpbXRHWs0xfaHum2XKbrLW9jxBNMt+
	66b/h+7hnA/QEVVJusFib/1I2zcNk0PhpEkM/zRmfAC7zvoXu7Se0fKn94MDZPiCgeRD
	bDqA==
Received: by 10.14.101.132 with SMTP id b4mr3959643eeg.33.1336561441129;
	Wed, 09 May 2012 04:04:01 -0700 (PDT)
Received: from [127.0.1.1] (ip-182-223.sn1.eutelia.it. [62.94.182.223])
	by mx.google.com with ESMTPS id f16sm11089887eec.2.2012.05.09.04.03.58
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 09 May 2012 04:03:59 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 420c8861a2d2a61a7e806b4519a6e90ca58d7ff9
Message-Id: <420c8861a2d2a61a7e80.1336561430@Solace>
User-Agent: Mercurial-patchbomb/2.2
Date: Wed, 09 May 2012 13:03:50 +0200
From: Darrio Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out how
 many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
supports to be valid topology entries might lead to misleading and incorrect
behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:
...
cpu_topology           :
cpu:    core    socket     node
  0:       0        1        0
  1:       0        1        0
  2:       1        1        0
  3:       1        1        0
  4:       9        1        0
  5:       9        1        0
  6:      10        1        0
  7:      10        1        0
  8:       0        0        1
  9:       0        0        1
 10:       1        0        1
 11:       1        0        1
 12:       9        0        1
 13:       9        0        1
 14:      10        0        1
 15:      10        0        1
 16:       0        0        0
 17:       0        0        0
 18:       0        0        0
 19:       0        0        0
 20:       0        0        0
 ...
 ...
 62:       0        0        0
 63:       0        0        0

However, xc_topologyinfo() tells us (in max_cpu_index) how many entries
arrays it returns corresponds to actually valid CPUs, so let's use that
information.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2903,7 +2903,8 @@ libxl_cputopology *libxl_get_cpu_topolog
     }
 
     for (i = 0; i < max_cpus; i++) {
-#define V(map, i) (map[i] == INVALID_TOPOLOGY_ID) ? \
+#define V(map, i) (i > tinfo.max_cpu_index || \
+    map[i] == INVALID_TOPOLOGY_ID) ? \
     LIBXL_CPUTOPOLOGY_INVALID_ENTRY : map[i]
         ret[i].core = V(coremap, i);
         ret[i].socket = V(socketmap, i);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:04:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4hM-0001YI-N7; Wed, 09 May 2012 11:04:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4hK-0001Y0-UU
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 11:04:47 +0000
Received: from [85.158.138.51:42045] by server-4.bemta-3.messagelabs.com id
	B3/33-15341-E4F4AAF4; Wed, 09 May 2012 11:04:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336561482!26067503!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30536 invoked from network); 9 May 2012 11:04:45 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:04:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194014341"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 07:04:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 07:04:41 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4hF-0005yQ-C0;
	Wed, 09 May 2012 12:04:41 +0100
Message-ID: <4FAA4F03.600@eu.citrix.com>
Date: Wed, 9 May 2012 12:03:31 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336560543.25514.74.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:49, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
>> The current method for passing through devices requires users to
>> either modify cryptic Linux boot parameters and reboot, or do a lot of
>> manual reads and writes into sysfs nodes.
>>
>> This set of patches introduces commands to make this easier.
> Is this intended for 4.2 or an RFC for 4.3?
Well, I would really like it to go in to 4.2 -- it's been on my to-do 
list for a month at least, and it will make doing pci pass-through, and 
thus driver domains, a lot more straightforward.

  -George


>
>>    It expands
>> on the concept of "assignable" (from the list_assignable_devices command).
>>
>> The new xl commands are:
>>
>> pci_assignable_add: Make a device assignable to guests.  This involves
>> unbinding the device from its old driver, creating a slot for it in
>> pciback (if necessary), and binding it to pciback.
>>
>> pci_assignable_list: List devices assignable to guests.  Just renamed
>> from pci_list_assignable.
>>
>> pci_assignable_remove: Make the device no longer assignable to guests.
>> This involves unbinding the device from pciback and removing the slot.  It
>> optionally involves rebinding the device to the driver from which we stole
>> it.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:04:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4hM-0001YI-N7; Wed, 09 May 2012 11:04:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4hK-0001Y0-UU
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 11:04:47 +0000
Received: from [85.158.138.51:42045] by server-4.bemta-3.messagelabs.com id
	B3/33-15341-E4F4AAF4; Wed, 09 May 2012 11:04:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336561482!26067503!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30536 invoked from network); 9 May 2012 11:04:45 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:04:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194014341"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 07:04:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 07:04:41 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4hF-0005yQ-C0;
	Wed, 09 May 2012 12:04:41 +0100
Message-ID: <4FAA4F03.600@eu.citrix.com>
Date: Wed, 9 May 2012 12:03:31 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336560543.25514.74.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:49, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
>> The current method for passing through devices requires users to
>> either modify cryptic Linux boot parameters and reboot, or do a lot of
>> manual reads and writes into sysfs nodes.
>>
>> This set of patches introduces commands to make this easier.
> Is this intended for 4.2 or an RFC for 4.3?
Well, I would really like it to go in to 4.2 -- it's been on my to-do 
list for a month at least, and it will make doing pci pass-through, and 
thus driver domains, a lot more straightforward.

  -George


>
>>    It expands
>> on the concept of "assignable" (from the list_assignable_devices command).
>>
>> The new xl commands are:
>>
>> pci_assignable_add: Make a device assignable to guests.  This involves
>> unbinding the device from its old driver, creating a slot for it in
>> pciback (if necessary), and binding it to pciback.
>>
>> pci_assignable_list: List devices assignable to guests.  Just renamed
>> from pci_list_assignable.
>>
>> pci_assignable_remove: Make the device no longer assignable to guests.
>> This involves unbinding the device from pciback and removing the slot.  It
>> optionally involves rebinding the device to the driver from which we stole
>> it.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:12:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:12:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4oB-0001qS-Oq; Wed, 09 May 2012 11:11:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SS4oA-0001qN-Rx
	for xen-devel@lists.xen.org; Wed, 09 May 2012 11:11:51 +0000
Received: from [85.158.143.99:20570] by server-1.bemta-4.messagelabs.com id
	1F/97-20925-6F05AAF4; Wed, 09 May 2012 11:11:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336561909!23793251!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14595 invoked from network); 9 May 2012 11:11:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-216.messagelabs.com with SMTP;
	9 May 2012 11:11:49 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77729385; Wed, 09 May 2012 13:11:48 +0200
Message-ID: <1336561898.2621.4.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Wed, 09 May 2012 13:11:38 +0200
In-Reply-To: <420c8861a2d2a61a7e80.1336561430@Solace>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6894980105098005633=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6894980105098005633==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-f2O9odqswB6uANpHDu+T"


--=-f2O9odqswB6uANpHDu+T
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-09 at 13:03 +0200, Darrio Faggioli wrote:=20
> Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
> supports to be valid topology entries might lead to misleading and incorr=
ect
> behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:
> ...
> <snip>
>=20
> However, xc_topologyinfo() tells us (in max_cpu_index) how many entries
> arrays it returns corresponds to actually valid CPUs, so let's use that
> information.
>=20
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
>=20
And, as it is an actual bugfix and very very small in size, not to
forget that I'd need that for the NUMA placement series, I'm proposing
this for 4.2... Does it make sense?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-f2O9odqswB6uANpHDu+T
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+qUOoACgkQk4XaBE3IOsQN4ACfdpTC75rh8EY19S5jD95LadQU
oBEAnRfsCl2YfqilaTpVT3gPIOIN43sb
=yHgc
-----END PGP SIGNATURE-----

--=-f2O9odqswB6uANpHDu+T--



--===============6894980105098005633==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6894980105098005633==--



From xen-devel-bounces@lists.xen.org Wed May 09 11:12:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:12:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4oB-0001qS-Oq; Wed, 09 May 2012 11:11:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SS4oA-0001qN-Rx
	for xen-devel@lists.xen.org; Wed, 09 May 2012 11:11:51 +0000
Received: from [85.158.143.99:20570] by server-1.bemta-4.messagelabs.com id
	1F/97-20925-6F05AAF4; Wed, 09 May 2012 11:11:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336561909!23793251!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14595 invoked from network); 9 May 2012 11:11:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-216.messagelabs.com with SMTP;
	9 May 2012 11:11:49 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77729385; Wed, 09 May 2012 13:11:48 +0200
Message-ID: <1336561898.2621.4.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Wed, 09 May 2012 13:11:38 +0200
In-Reply-To: <420c8861a2d2a61a7e80.1336561430@Solace>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6894980105098005633=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6894980105098005633==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-f2O9odqswB6uANpHDu+T"


--=-f2O9odqswB6uANpHDu+T
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-09 at 13:03 +0200, Darrio Faggioli wrote:=20
> Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
> supports to be valid topology entries might lead to misleading and incorr=
ect
> behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:
> ...
> <snip>
>=20
> However, xc_topologyinfo() tells us (in max_cpu_index) how many entries
> arrays it returns corresponds to actually valid CPUs, so let's use that
> information.
>=20
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
>=20
And, as it is an actual bugfix and very very small in size, not to
forget that I'd need that for the NUMA placement series, I'm proposing
this for 4.2... Does it make sense?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-f2O9odqswB6uANpHDu+T
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+qUOoACgkQk4XaBE3IOsQN4ACfdpTC75rh8EY19S5jD95LadQU
oBEAnRfsCl2YfqilaTpVT3gPIOIN43sb
=yHgc
-----END PGP SIGNATURE-----

--=-f2O9odqswB6uANpHDu+T--



--===============6894980105098005633==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6894980105098005633==--



From xen-devel-bounces@lists.xen.org Wed May 09 11:13:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4pc-0001uf-8a; Wed, 09 May 2012 11:13:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4pa-0001ua-N7
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 11:13:18 +0000
Received: from [85.158.139.83:12220] by server-5.bemta-5.messagelabs.com id
	7C/F4-13566-D415AAF4; Wed, 09 May 2012 11:13:17 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336561994!27446135!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1119 invoked from network); 9 May 2012 11:13:16 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:13:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25013126"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 07:13:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 07:13:06 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4pO-00065X-5e;
	Wed, 09 May 2012 12:13:06 +0100
Message-ID: <4FAA50FC.60105@eu.citrix.com>
Date: Wed, 9 May 2012 12:11:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <dvrabel@cantab.net>
References: <patchbomb.1336559320@kodo2> <4FAA4D4F.9070804@cantab.net>
In-Reply-To: <4FAA4D4F.9070804@cantab.net>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:56, David Vrabel wrote:
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
>
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.
> You use underscores here (and elsewhere in the commit message) but the
> code uses dashes.  Suggest updating the commit messages with the format
> for the commands.
I used underscores in the patch to libxl, because the libxl functions 
have undescores, and dashes in the xl patch, because the xl commands use 
dashes.  :-)

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 11:13:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 11:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS4pc-0001uf-8a; Wed, 09 May 2012 11:13:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS4pa-0001ua-N7
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 11:13:18 +0000
Received: from [85.158.139.83:12220] by server-5.bemta-5.messagelabs.com id
	7C/F4-13566-D415AAF4; Wed, 09 May 2012 11:13:17 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336561994!27446135!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1119 invoked from network); 9 May 2012 11:13:16 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:13:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25013126"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 07:13:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 07:13:06 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS4pO-00065X-5e;
	Wed, 09 May 2012 12:13:06 +0100
Message-ID: <4FAA50FC.60105@eu.citrix.com>
Date: Wed, 9 May 2012 12:11:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <dvrabel@cantab.net>
References: <patchbomb.1336559320@kodo2> <4FAA4D4F.9070804@cantab.net>
In-Reply-To: <4FAA4D4F.9070804@cantab.net>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 11:56, David Vrabel wrote:
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
>
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.
> You use underscores here (and elsewhere in the commit message) but the
> code uses dashes.  Suggest updating the commit messages with the format
> for the commands.
I used underscores in the patch to libxl, because the libxl functions 
have undescores, and dashes in the xl patch, because the xl commands use 
dashes.  :-)

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:00:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS5YR-00038U-Tw; Wed, 09 May 2012 11:59:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS5YQ-00038P-Fh
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 11:59:38 +0000
Received: from [85.158.143.35:47131] by server-2.bemta-4.messagelabs.com id
	A6/07-17550-92C5AAF4; Wed, 09 May 2012 11:59:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336564776!14715495!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32537 invoked from network); 9 May 2012 11:59:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:59:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12376596"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 11:59:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	12:59:35 +0100
Message-ID: <1336564773.25514.101.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 12:59:33 +0100
In-Reply-To: <4FAA4F03.600@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 12:03 +0100, George Dunlap wrote:
> On 09/05/12 11:49, Ian Campbell wrote:
> > On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> >> The current method for passing through devices requires users to
> >> either modify cryptic Linux boot parameters and reboot, or do a lot of
> >> manual reads and writes into sysfs nodes.
> >>
> >> This set of patches introduces commands to make this easier.
> > Is this intended for 4.2 or an RFC for 4.3?
> Well, I would really like it to go in to 4.2 -- it's been on my to-do 
> list for a month at least, and it will make doing pci pass-through, and 
> thus driver domains, a lot more straightforward.

Right, however it is strictly speaking a new feature which is not
mentioned on the TODO list and has not previously been posted (AFAIK,
please correct me if not) and we are currently supposed to be in feature
freeze (and have been for several weeks, if not a month).

IIRC this functionality was mooted when the pci permissive patch was
being done as something which would be a 4.3 feature.

We need to decide if we want to make an exception for this new feature
or not. Although I'm sure this feature is very nice and handy, we've
lived without it for years and people seem to be able to use the
existing scheme.

Ian.

> 
>   -George
> 
> 
> >
> >>    It expands
> >> on the concept of "assignable" (from the list_assignable_devices command).
> >>
> >> The new xl commands are:
> >>
> >> pci_assignable_add: Make a device assignable to guests.  This involves
> >> unbinding the device from its old driver, creating a slot for it in
> >> pciback (if necessary), and binding it to pciback.
> >>
> >> pci_assignable_list: List devices assignable to guests.  Just renamed
> >> from pci_list_assignable.
> >>
> >> pci_assignable_remove: Make the device no longer assignable to guests.
> >> This involves unbinding the device from pciback and removing the slot.  It
> >> optionally involves rebinding the device to the driver from which we stole
> >> it.
> >>
> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >>
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@lists.xen.org
> >> http://lists.xen.org/xen-devel
> >
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:00:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS5YR-00038U-Tw; Wed, 09 May 2012 11:59:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS5YQ-00038P-Fh
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 11:59:38 +0000
Received: from [85.158.143.35:47131] by server-2.bemta-4.messagelabs.com id
	A6/07-17550-92C5AAF4; Wed, 09 May 2012 11:59:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336564776!14715495!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32537 invoked from network); 9 May 2012 11:59:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 11:59:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12376596"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 11:59:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	12:59:35 +0100
Message-ID: <1336564773.25514.101.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 12:59:33 +0100
In-Reply-To: <4FAA4F03.600@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 12:03 +0100, George Dunlap wrote:
> On 09/05/12 11:49, Ian Campbell wrote:
> > On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> >> The current method for passing through devices requires users to
> >> either modify cryptic Linux boot parameters and reboot, or do a lot of
> >> manual reads and writes into sysfs nodes.
> >>
> >> This set of patches introduces commands to make this easier.
> > Is this intended for 4.2 or an RFC for 4.3?
> Well, I would really like it to go in to 4.2 -- it's been on my to-do 
> list for a month at least, and it will make doing pci pass-through, and 
> thus driver domains, a lot more straightforward.

Right, however it is strictly speaking a new feature which is not
mentioned on the TODO list and has not previously been posted (AFAIK,
please correct me if not) and we are currently supposed to be in feature
freeze (and have been for several weeks, if not a month).

IIRC this functionality was mooted when the pci permissive patch was
being done as something which would be a 4.3 feature.

We need to decide if we want to make an exception for this new feature
or not. Although I'm sure this feature is very nice and handy, we've
lived without it for years and people seem to be able to use the
existing scheme.

Ian.

> 
>   -George
> 
> 
> >
> >>    It expands
> >> on the concept of "assignable" (from the list_assignable_devices command).
> >>
> >> The new xl commands are:
> >>
> >> pci_assignable_add: Make a device assignable to guests.  This involves
> >> unbinding the device from its old driver, creating a slot for it in
> >> pciback (if necessary), and binding it to pciback.
> >>
> >> pci_assignable_list: List devices assignable to guests.  Just renamed
> >> from pci_list_assignable.
> >>
> >> pci_assignable_remove: Make the device no longer assignable to guests.
> >> This involves unbinding the device from pciback and removing the slot.  It
> >> optionally involves rebinding the device to the driver from which we stole
> >> it.
> >>
> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >>
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@lists.xen.org
> >> http://lists.xen.org/xen-devel
> >
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:05:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS5dW-0003VR-AY; Wed, 09 May 2012 12:04:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS5dV-0003VF-O6
	for xen-devel@lists.xen.org; Wed, 09 May 2012 12:04:53 +0000
Received: from [193.109.254.147:5264] by server-1.bemta-14.messagelabs.com id
	78/4A-29372-46D5AAF4; Wed, 09 May 2012 12:04:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336565076!1546913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14061 invoked from network); 9 May 2012 12:04:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:04:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12376715"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 12:04:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	13:04:35 +0100
Message-ID: <1336565074.25514.104.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Darrio Faggioli <raistlin@linux.it>
Date: Wed, 9 May 2012 13:04:34 +0100
In-Reply-To: <420c8861a2d2a61a7e80.1336561430@Solace>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 12:03 +0100, Darrio Faggioli wrote:
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -2903,7 +2903,8 @@ libxl_cputopology *libxl_get_cpu_topolog
>      }
>  
>      for (i = 0; i < max_cpus; i++) {
> -#define V(map, i) (map[i] == INVALID_TOPOLOGY_ID) ? \
> +#define V(map, i) (i > tinfo.max_cpu_index || \
> +    map[i] == INVALID_TOPOLOGY_ID) ? \

This ensures that cpus entries above max_cpu_index are
INVALID_TOPOLOGY_ID but do you also want to size the return array using
tinfo.max_cpu_index too? And also return that in *nr instead of?

(I don't know the answer, either of max-possible- and max-online-cpus is
a reasonable size for this array)

>      LIBXL_CPUTOPOLOGY_INVALID_ENTRY : map[i]
>          ret[i].core = V(coremap, i);
>          ret[i].socket = V(socketmap, i);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:05:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS5dW-0003VR-AY; Wed, 09 May 2012 12:04:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS5dV-0003VF-O6
	for xen-devel@lists.xen.org; Wed, 09 May 2012 12:04:53 +0000
Received: from [193.109.254.147:5264] by server-1.bemta-14.messagelabs.com id
	78/4A-29372-46D5AAF4; Wed, 09 May 2012 12:04:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336565076!1546913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14061 invoked from network); 9 May 2012 12:04:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:04:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12376715"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 12:04:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	13:04:35 +0100
Message-ID: <1336565074.25514.104.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Darrio Faggioli <raistlin@linux.it>
Date: Wed, 9 May 2012 13:04:34 +0100
In-Reply-To: <420c8861a2d2a61a7e80.1336561430@Solace>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 12:03 +0100, Darrio Faggioli wrote:
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -2903,7 +2903,8 @@ libxl_cputopology *libxl_get_cpu_topolog
>      }
>  
>      for (i = 0; i < max_cpus; i++) {
> -#define V(map, i) (map[i] == INVALID_TOPOLOGY_ID) ? \
> +#define V(map, i) (i > tinfo.max_cpu_index || \
> +    map[i] == INVALID_TOPOLOGY_ID) ? \

This ensures that cpus entries above max_cpu_index are
INVALID_TOPOLOGY_ID but do you also want to size the return array using
tinfo.max_cpu_index too? And also return that in *nr instead of?

(I don't know the answer, either of max-possible- and max-online-cpus is
a reasonable size for this array)

>      LIBXL_CPUTOPOLOGY_INVALID_ENTRY : map[i]
>          ret[i].core = V(coremap, i);
>          ret[i].socket = V(socketmap, i);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Ex-0003mE-1S; Wed, 09 May 2012 12:43:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Ev-0003ly-KB
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:43:33 +0000
Received: from [85.158.138.51:23904] by server-9.bemta-3.messagelabs.com id
	71/13-26691-4766AAF4; Wed, 09 May 2012 12:43:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336567410!26048124!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7797 invoked from network); 9 May 2012 12:43:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:43:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12377597"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 12:43:25 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 13:43:25 +0100
Date: Wed, 9 May 2012 13:43:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: <qemu-devel@nongnu.org>
Message-ID: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1] rebase xen patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series is a collection of the outstanding Xen patches for
QEMU 1.1: all of them have been sent to qemu-devel at least once
already, some of them as many as 6 times.

Patch 1 and 2 remove unneeded devices and timers when Xen is enabled,
patch 3 and 4 are improvements for xen_disk.c.

Stefano Stabellini (4):
      xen: do not initialize the interval timer and PCSPK emulator
      xen: disable rtc_clock
      xen_disk: remove syncwrite option
      xen_disk: use bdrv_aio_flush instead of bdrv_flush

 hw/pc.c       |   23 +++++++++++++----------
 hw/xen_disk.c |   30 +++++++++++++++++++-----------
 xen-all.c     |    4 ++++
 3 files changed, 36 insertions(+), 21 deletions(-)

git://xenbits.xen.org/people/sstabellini/qemu-dm.git for_1.1

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Ex-0003mE-1S; Wed, 09 May 2012 12:43:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Ev-0003ly-KB
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:43:33 +0000
Received: from [85.158.138.51:23904] by server-9.bemta-3.messagelabs.com id
	71/13-26691-4766AAF4; Wed, 09 May 2012 12:43:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336567410!26048124!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7797 invoked from network); 9 May 2012 12:43:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:43:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12377597"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 12:43:25 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 13:43:25 +0100
Date: Wed, 9 May 2012 13:43:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: <qemu-devel@nongnu.org>
Message-ID: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1] rebase xen patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series is a collection of the outstanding Xen patches for
QEMU 1.1: all of them have been sent to qemu-devel at least once
already, some of them as many as 6 times.

Patch 1 and 2 remove unneeded devices and timers when Xen is enabled,
patch 3 and 4 are improvements for xen_disk.c.

Stefano Stabellini (4):
      xen: do not initialize the interval timer and PCSPK emulator
      xen: disable rtc_clock
      xen_disk: remove syncwrite option
      xen_disk: use bdrv_aio_flush instead of bdrv_flush

 hw/pc.c       |   23 +++++++++++++----------
 hw/xen_disk.c |   30 +++++++++++++++++++-----------
 xen-all.c     |    4 ++++
 3 files changed, 36 insertions(+), 21 deletions(-)

git://xenbits.xen.org/people/sstabellini/qemu-dm.git for_1.1

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Ew-0003m7-MS; Wed, 09 May 2012 12:43:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Ev-0003lx-3M
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:43:33 +0000
Received: from [85.158.138.51:23845] by server-5.bemta-3.messagelabs.com id
	FA/74-17113-4766AAF4; Wed, 09 May 2012 12:43:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336567410!26048124!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7771 invoked from network); 9 May 2012 12:43:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:43:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12377587"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 12:42:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 13:42:57 +0100
Date: Wed, 9 May 2012 13:42:41 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120426154101.GD26830@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205091342290.26786@kaball-desktop>
References: <1334595957-12552-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120425084524.GA17537@lst.de>
	<1335344565.28015.7.camel@zakaz.uk.xensource.com>
	<20120425102024.GA19800@lst.de>
	<alpine.DEB.2.00.1204251213480.26786@kaball-desktop>
	<20120425112335.GA20868@lst.de>
	<20120426154101.GD26830@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "kwolf@redhat.com" <kwolf@redhat.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH] xen_disk: implement
 BLKIF_OP_FLUSH_DISKCACHE, remove BLKIF_OP_WRITE_BARRIER
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 26 Apr 2012, Konrad Rzeszutek Wilk wrote:
> On Wed, Apr 25, 2012 at 01:23:35PM +0200, Christoph Hellwig wrote:
> > On Wed, Apr 25, 2012 at 12:21:53PM +0100, Stefano Stabellini wrote:
> > > That is true, in fact I couldn't figure out what I had to implement just
> > > reading the comment. So I went through the blkback code and tried to
> > > understand what I had to do, but I got it wrong.
> > > 
> > > Reading the code again it seems to me that BLKIF_OP_FLUSH_DISKCACHE
> > > is supposed to have the same semantics as REQ_FLUSH, that implies a
> > > preflush if nr_segments > 0, not a postflush like I did.
> > 
> > It's worse - blkfront translates both a REQ_FLUSH or a REQ_FUA
> > into BLKIF_OP_FLUSH_DISKCACHE.
> 
> I think that is what remained of the BARRIER request.
> > 
> > REQ_FLUSH either is a pre flush or a pure flush without a data transfer,
> > and REQ_FUA is a post flush.  So to get the proper semantics you'll have
> > to do both, _and_ sequence it so that no operation starts before the
> > previous one finished.
> 
> If I were to emulate the SCSI SYNC command which one would it be?
> 
> I think REQ_FLUSH? In which I would think that the blkfront needs to
> get rid of the REQ_FUA part?
> 

ping?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Ew-0003m7-MS; Wed, 09 May 2012 12:43:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Ev-0003lx-3M
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:43:33 +0000
Received: from [85.158.138.51:23845] by server-5.bemta-3.messagelabs.com id
	FA/74-17113-4766AAF4; Wed, 09 May 2012 12:43:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336567410!26048124!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7771 invoked from network); 9 May 2012 12:43:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:43:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12377587"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 12:42:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 13:42:57 +0100
Date: Wed, 9 May 2012 13:42:41 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120426154101.GD26830@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205091342290.26786@kaball-desktop>
References: <1334595957-12552-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120425084524.GA17537@lst.de>
	<1335344565.28015.7.camel@zakaz.uk.xensource.com>
	<20120425102024.GA19800@lst.de>
	<alpine.DEB.2.00.1204251213480.26786@kaball-desktop>
	<20120425112335.GA20868@lst.de>
	<20120426154101.GD26830@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "kwolf@redhat.com" <kwolf@redhat.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH] xen_disk: implement
 BLKIF_OP_FLUSH_DISKCACHE, remove BLKIF_OP_WRITE_BARRIER
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 26 Apr 2012, Konrad Rzeszutek Wilk wrote:
> On Wed, Apr 25, 2012 at 01:23:35PM +0200, Christoph Hellwig wrote:
> > On Wed, Apr 25, 2012 at 12:21:53PM +0100, Stefano Stabellini wrote:
> > > That is true, in fact I couldn't figure out what I had to implement just
> > > reading the comment. So I went through the blkback code and tried to
> > > understand what I had to do, but I got it wrong.
> > > 
> > > Reading the code again it seems to me that BLKIF_OP_FLUSH_DISKCACHE
> > > is supposed to have the same semantics as REQ_FLUSH, that implies a
> > > preflush if nr_segments > 0, not a postflush like I did.
> > 
> > It's worse - blkfront translates both a REQ_FLUSH or a REQ_FUA
> > into BLKIF_OP_FLUSH_DISKCACHE.
> 
> I think that is what remained of the BARRIER request.
> > 
> > REQ_FLUSH either is a pre flush or a pure flush without a data transfer,
> > and REQ_FUA is a post flush.  So to get the proper semantics you'll have
> > to do both, _and_ sequence it so that no operation starts before the
> > previous one finished.
> 
> If I were to emulate the SCSI SYNC command which one would it be?
> 
> I think REQ_FLUSH? In which I would think that the blkfront needs to
> get rid of the REQ_FUA part?
> 

ping?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fp-0003r1-Eq; Wed, 09 May 2012 12:44:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fo-0003qi-3E
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:28 +0000
Received: from [193.109.254.147:30528] by server-4.bemta-14.messagelabs.com id
	11/12-11570-BA66AAF4; Wed, 09 May 2012 12:44:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336567464!8457491!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22045 invoked from network); 9 May 2012 12:44:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015419"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-6v; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:15 +0100
Message-ID: <1336567456-20202-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 3/4] xen_disk: remove syncwrite option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch removes a dead option.

The same can be achieved removing BDRV_O_NOCACHE and BDRV_O_CACHE_WB
from the flags passed to bdrv_open.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 22dbd10..49e53b7 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -48,7 +48,6 @@
 
 /* ------------------------------------------------------------- */
 
-static int syncwrite    = 0;
 static int batch_maps   = 0;
 
 static int max_requests = 32;
@@ -189,15 +188,10 @@ static int ioreq_parse(struct ioreq *ioreq)
             ioreq->presync = 1;
             return 0;
         }
-        if (!syncwrite) {
-            ioreq->presync = ioreq->postsync = 1;
-        }
+        ioreq->presync = ioreq->postsync = 1;
         /* fall through */
     case BLKIF_OP_WRITE:
         ioreq->prot = PROT_READ; /* from memory */
-        if (syncwrite) {
-            ioreq->postsync = 1;
-        }
         break;
     default:
         xen_be_printf(&blkdev->xendev, 0, "error: unknown operation (%d)\n",
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fp-0003r1-Eq; Wed, 09 May 2012 12:44:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fo-0003qi-3E
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:28 +0000
Received: from [193.109.254.147:30528] by server-4.bemta-14.messagelabs.com id
	11/12-11570-BA66AAF4; Wed, 09 May 2012 12:44:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336567464!8457491!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22045 invoked from network); 9 May 2012 12:44:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015419"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-6v; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:15 +0100
Message-ID: <1336567456-20202-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 3/4] xen_disk: remove syncwrite option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch removes a dead option.

The same can be achieved removing BDRV_O_NOCACHE and BDRV_O_CACHE_WB
from the flags passed to bdrv_open.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 22dbd10..49e53b7 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -48,7 +48,6 @@
 
 /* ------------------------------------------------------------- */
 
-static int syncwrite    = 0;
 static int batch_maps   = 0;
 
 static int max_requests = 32;
@@ -189,15 +188,10 @@ static int ioreq_parse(struct ioreq *ioreq)
             ioreq->presync = 1;
             return 0;
         }
-        if (!syncwrite) {
-            ioreq->presync = ioreq->postsync = 1;
-        }
+        ioreq->presync = ioreq->postsync = 1;
         /* fall through */
     case BLKIF_OP_WRITE:
         ioreq->prot = PROT_READ; /* from memory */
-        if (syncwrite) {
-            ioreq->postsync = 1;
-        }
         break;
     default:
         xen_be_printf(&blkdev->xendev, 0, "error: unknown operation (%d)\n",
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fq-0003rS-RJ; Wed, 09 May 2012 12:44:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fp-0003qx-KL
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:29 +0000
Received: from [85.158.143.99:49518] by server-1.bemta-4.messagelabs.com id
	15/3C-20925-CA66AAF4; Wed, 09 May 2012 12:44:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336567466!26277943!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23311 invoked from network); 9 May 2012 12:44:28 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015422"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-5D; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:14 +0100
Message-ID: <1336567456-20202-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 2/4] xen: disable rtc_clock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

rtc_clock is only used by the RTC emulator (mc146818rtc.c), however Xen
has its own RTC emulator in the hypervisor so we can disable it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen-all.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/xen-all.c b/xen-all.c
index bdf9c0f..b88ad5d 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -603,6 +603,10 @@ void xen_vcpu_init(void)
         qemu_register_reset(xen_reset_vcpu, first_cpu);
         xen_reset_vcpu(first_cpu);
     }
+    /* if rtc_clock is left to default (host_clock), disable it */
+    if (rtc_clock == host_clock) {
+        qemu_clock_enable(rtc_clock, false);
+    }
 }
 
 /* get the ioreq packets from share mem */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fq-0003rS-RJ; Wed, 09 May 2012 12:44:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fp-0003qx-KL
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:29 +0000
Received: from [85.158.143.99:49518] by server-1.bemta-4.messagelabs.com id
	15/3C-20925-CA66AAF4; Wed, 09 May 2012 12:44:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336567466!26277943!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23311 invoked from network); 9 May 2012 12:44:28 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015422"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-5D; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:14 +0100
Message-ID: <1336567456-20202-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 2/4] xen: disable rtc_clock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

rtc_clock is only used by the RTC emulator (mc146818rtc.c), however Xen
has its own RTC emulator in the hypervisor so we can disable it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen-all.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/xen-all.c b/xen-all.c
index bdf9c0f..b88ad5d 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -603,6 +603,10 @@ void xen_vcpu_init(void)
         qemu_register_reset(xen_reset_vcpu, first_cpu);
         xen_reset_vcpu(first_cpu);
     }
+    /* if rtc_clock is left to default (host_clock), disable it */
+    if (rtc_clock == host_clock) {
+        qemu_clock_enable(rtc_clock, false);
+    }
 }
 
 /* get the ioreq packets from share mem */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fr-0003rp-Lt; Wed, 09 May 2012 12:44:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fq-0003r7-CI
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:30 +0000
Received: from [193.109.254.147:30652] by server-10.bemta-14.messagelabs.com
	id 0D/D3-05847-CA66AAF4; Wed, 09 May 2012 12:44:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336567464!8457491!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22163 invoked from network); 9 May 2012 12:44:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015420"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-4a; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:13 +0100
Message-ID: <1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 1/4] xen: do not initialize the interval
	timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
them in Qemu: this patch prevents Qemu from waking up needlessly at
PIT_FREQ on Xen.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/pc.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/hw/pc.c b/hw/pc.c
index 4d34a33..c52caf6 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -47,6 +47,7 @@
 #include "ui/qemu-spice.h"
 #include "memory.h"
 #include "exec-memory.h"
+#include "arch_init.h"
 
 /* output Bochs bios info messages */
 //#define DEBUG_BIOS
@@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
     qemu_irq pit_alt_irq = NULL;
     qemu_irq rtc_irq = NULL;
     qemu_irq *a20_line;
-    ISADevice *i8042, *port92, *vmmouse, *pit;
+    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
     qemu_irq *cpu_exit_irq;
 
     register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
@@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
 
     qemu_register_boot_set(pc_boot_set, *rtc_state);
 
-    if (kvm_irqchip_in_kernel()) {
-        pit = kvm_pit_init(isa_bus, 0x40);
-    } else {
-        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
-    }
-    if (hpet) {
-        /* connect PIT to output control line of the HPET */
-        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+    if (!xen_available()) {
+        if (kvm_irqchip_in_kernel()) {
+            pit = kvm_pit_init(isa_bus, 0x40);
+        } else {
+            pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
+        }
+        if (hpet) {
+            /* connect PIT to output control line of the HPET */
+            qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+        }
+        pcspk_init(isa_bus, pit);
     }
-    pcspk_init(isa_bus, pit);
 
     for(i = 0; i < MAX_SERIAL_PORTS; i++) {
         if (serial_hds[i]) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fr-0003rp-Lt; Wed, 09 May 2012 12:44:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fq-0003r7-CI
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:30 +0000
Received: from [193.109.254.147:30652] by server-10.bemta-14.messagelabs.com
	id 0D/D3-05847-CA66AAF4; Wed, 09 May 2012 12:44:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336567464!8457491!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22163 invoked from network); 9 May 2012 12:44:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015420"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-4a; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:13 +0100
Message-ID: <1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 1/4] xen: do not initialize the interval
	timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
them in Qemu: this patch prevents Qemu from waking up needlessly at
PIT_FREQ on Xen.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/pc.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/hw/pc.c b/hw/pc.c
index 4d34a33..c52caf6 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -47,6 +47,7 @@
 #include "ui/qemu-spice.h"
 #include "memory.h"
 #include "exec-memory.h"
+#include "arch_init.h"
 
 /* output Bochs bios info messages */
 //#define DEBUG_BIOS
@@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
     qemu_irq pit_alt_irq = NULL;
     qemu_irq rtc_irq = NULL;
     qemu_irq *a20_line;
-    ISADevice *i8042, *port92, *vmmouse, *pit;
+    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
     qemu_irq *cpu_exit_irq;
 
     register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
@@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
 
     qemu_register_boot_set(pc_boot_set, *rtc_state);
 
-    if (kvm_irqchip_in_kernel()) {
-        pit = kvm_pit_init(isa_bus, 0x40);
-    } else {
-        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
-    }
-    if (hpet) {
-        /* connect PIT to output control line of the HPET */
-        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+    if (!xen_available()) {
+        if (kvm_irqchip_in_kernel()) {
+            pit = kvm_pit_init(isa_bus, 0x40);
+        } else {
+            pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
+        }
+        if (hpet) {
+            /* connect PIT to output control line of the HPET */
+            qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+        }
+        pcspk_init(isa_bus, pit);
     }
-    pcspk_init(isa_bus, pit);
 
     for(i = 0; i < MAX_SERIAL_PORTS; i++) {
         if (serial_hds[i]) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fr-0003rb-7h; Wed, 09 May 2012 12:44:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fp-0003qv-GW
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:29 +0000
Received: from [193.109.254.147:34165] by server-7.bemta-14.messagelabs.com id
	4A/58-01627-CA66AAF4; Wed, 09 May 2012 12:44:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336567464!8457491!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22221 invoked from network); 9 May 2012 12:44:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015421"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-88; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:16 +0100
Message-ID: <1336567456-20202-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 4/4] xen_disk: use bdrv_aio_flush instead of
	bdrv_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Use bdrv_aio_flush instead of bdrv_flush.

Make sure to call bdrv_aio_writev/readv after the presync bdrv_aio_flush is fully
completed and make sure to call the postsync bdrv_aio_flush after
bdrv_aio_writev/readv is fully completed.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 49e53b7..cf06243 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -66,6 +66,7 @@ struct ioreq {
     QEMUIOVector        v;
     int                 presync;
     int                 postsync;
+    uint8_t             mapped;
 
     /* grant mapping */
     uint32_t            domids[BLKIF_MAX_SEGMENTS_PER_REQUEST];
@@ -242,7 +243,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 0) {
         return;
     }
     if (batch_maps) {
@@ -268,6 +269,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
             ioreq->page[i] = NULL;
         }
     }
+    ioreq->mapped = 0;
 }
 
 static int ioreq_map(struct ioreq *ioreq)
@@ -275,7 +277,7 @@ static int ioreq_map(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 1) {
         return 0;
     }
     if (batch_maps) {
@@ -307,9 +309,12 @@ static int ioreq_map(struct ioreq *ioreq)
             ioreq->blkdev->cnt_map++;
         }
     }
+    ioreq->mapped = 1;
     return 0;
 }
 
+static int ioreq_runio_qemu_aio(struct ioreq *ioreq);
+
 static void qemu_aio_complete(void *opaque, int ret)
 {
     struct ioreq *ioreq = opaque;
@@ -321,11 +326,19 @@ static void qemu_aio_complete(void *opaque, int ret)
     }
 
     ioreq->aio_inflight--;
+    if (ioreq->presync) {
+        ioreq->presync = 0;
+        ioreq_runio_qemu_aio(ioreq);
+        return;
+    }
     if (ioreq->aio_inflight > 0) {
         return;
     }
     if (ioreq->postsync) {
-        bdrv_flush(ioreq->blkdev->bs);
+        ioreq->postsync = 0;
+        ioreq->aio_inflight++;
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return;
     }
 
     ioreq->status = ioreq->aio_errors ? BLKIF_RSP_ERROR : BLKIF_RSP_OKAY;
@@ -345,7 +358,8 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
 
     ioreq->aio_inflight++;
     if (ioreq->presync) {
-        bdrv_flush(blkdev->bs); /* FIXME: aio_flush() ??? */
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return 0;
     }
 
     switch (ioreq->req.operation) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:44:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:44:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Fr-0003rb-7h; Wed, 09 May 2012 12:44:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SS6Fp-0003qv-GW
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 12:44:29 +0000
Received: from [193.109.254.147:34165] by server-7.bemta-14.messagelabs.com id
	4A/58-01627-CA66AAF4; Wed, 09 May 2012 12:44:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336567464!8457491!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22221 invoked from network); 9 May 2012 12:44:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:44:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25015421"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 08:44:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 08:44:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SS6Fe-0007ez-88; Wed, 09 May 2012 13:44:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Wed, 9 May 2012 13:44:16 +0100
Message-ID: <1336567456-20202-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 4/4] xen_disk: use bdrv_aio_flush instead of
	bdrv_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Use bdrv_aio_flush instead of bdrv_flush.

Make sure to call bdrv_aio_writev/readv after the presync bdrv_aio_flush is fully
completed and make sure to call the postsync bdrv_aio_flush after
bdrv_aio_writev/readv is fully completed.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 49e53b7..cf06243 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -66,6 +66,7 @@ struct ioreq {
     QEMUIOVector        v;
     int                 presync;
     int                 postsync;
+    uint8_t             mapped;
 
     /* grant mapping */
     uint32_t            domids[BLKIF_MAX_SEGMENTS_PER_REQUEST];
@@ -242,7 +243,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 0) {
         return;
     }
     if (batch_maps) {
@@ -268,6 +269,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
             ioreq->page[i] = NULL;
         }
     }
+    ioreq->mapped = 0;
 }
 
 static int ioreq_map(struct ioreq *ioreq)
@@ -275,7 +277,7 @@ static int ioreq_map(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 1) {
         return 0;
     }
     if (batch_maps) {
@@ -307,9 +309,12 @@ static int ioreq_map(struct ioreq *ioreq)
             ioreq->blkdev->cnt_map++;
         }
     }
+    ioreq->mapped = 1;
     return 0;
 }
 
+static int ioreq_runio_qemu_aio(struct ioreq *ioreq);
+
 static void qemu_aio_complete(void *opaque, int ret)
 {
     struct ioreq *ioreq = opaque;
@@ -321,11 +326,19 @@ static void qemu_aio_complete(void *opaque, int ret)
     }
 
     ioreq->aio_inflight--;
+    if (ioreq->presync) {
+        ioreq->presync = 0;
+        ioreq_runio_qemu_aio(ioreq);
+        return;
+    }
     if (ioreq->aio_inflight > 0) {
         return;
     }
     if (ioreq->postsync) {
-        bdrv_flush(ioreq->blkdev->bs);
+        ioreq->postsync = 0;
+        ioreq->aio_inflight++;
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return;
     }
 
     ioreq->status = ioreq->aio_errors ? BLKIF_RSP_ERROR : BLKIF_RSP_OKAY;
@@ -345,7 +358,8 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
 
     ioreq->aio_inflight++;
     if (ioreq->presync) {
-        bdrv_flush(blkdev->bs); /* FIXME: aio_flush() ??? */
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return 0;
     }
 
     switch (ioreq->req.operation) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:45:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:45:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Gq-00046u-5R; Wed, 09 May 2012 12:45:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SS6Go-00046N-Gv
	for xen-devel@lists.xen.org; Wed, 09 May 2012 12:45:30 +0000
Received: from [85.158.143.35:49278] by server-2.bemta-4.messagelabs.com id
	6F/5E-17550-9E66AAF4; Wed, 09 May 2012 12:45:29 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336567527!15311289!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 338 invoked from network); 9 May 2012 12:45:27 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-21.messagelabs.com with SMTP;
	9 May 2012 12:45:27 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77731675; Wed, 09 May 2012 14:45:25 +0200
Message-ID: <1336567524.2621.16.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 09 May 2012 14:45:24 +0200
In-Reply-To: <1336565074.25514.104.camel@zakaz.uk.xensource.com>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
	<1336565074.25514.104.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2106433101483885304=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2106433101483885304==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-Zt+sEP/VIgQbIUIvPJLC"


--=-Zt+sEP/VIgQbIUIvPJLC
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-09 at 13:04 +0100, Ian Campbell wrote:=20
> On Wed, 2012-05-09 at 12:03 +0100, Darrio Faggioli wrote:
> > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > --- a/tools/libxl/libxl.c
> > +++ b/tools/libxl/libxl.c
> > @@ -2903,7 +2903,8 @@ libxl_cputopology *libxl_get_cpu_topolog
> >      }
> > =20
> >      for (i =3D 0; i < max_cpus; i++) {
> > -#define V(map, i) (map[i] =3D=3D INVALID_TOPOLOGY_ID) ? \
> > +#define V(map, i) (i > tinfo.max_cpu_index || \
> > +    map[i] =3D=3D INVALID_TOPOLOGY_ID) ? \
>=20
> This ensures that cpus entries above max_cpu_index are
> INVALID_TOPOLOGY_ID=20
>
Yep, thus giving consumers of this call the chance to figure out what
the valid entries are. It looked the most natural way of doing this,
given output_topology (for instance) already check for
LIBXL_CPUTOPOLOGY_INVALID_ENTRY entries and skip them.

Also, the get-cpu-topology command in xenpm, which always worked
properly on my testbox, does exactly that.

> but do you also want to size the return array using
> tinfo.max_cpu_index too? And also return that in *nr instead of?
>=20
> (I don't know the answer, either of max-possible- and max-online-cpus is
> a reasonable size for this array)
>=20
Well, I really don't know either. This is the minimum impact working
version. For sure, I'd like very much to return that value via *nr, as
it will give me something more sensible to work with... You know what,
I'm sending a patch doing exactly that, as I think what you're
suggesting is actually better.

Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-Zt+sEP/VIgQbIUIvPJLC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+qZuQACgkQk4XaBE3IOsQsGwCfUVKyiupQ+mx/Q90zSwXfaQEi
omgAnjc2eoVK8jUNPLiCgnAL18yUgeqb
=fjnn
-----END PGP SIGNATURE-----

--=-Zt+sEP/VIgQbIUIvPJLC--



--===============2106433101483885304==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2106433101483885304==--



From xen-devel-bounces@lists.xen.org Wed May 09 12:45:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:45:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Gq-00046u-5R; Wed, 09 May 2012 12:45:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SS6Go-00046N-Gv
	for xen-devel@lists.xen.org; Wed, 09 May 2012 12:45:30 +0000
Received: from [85.158.143.35:49278] by server-2.bemta-4.messagelabs.com id
	6F/5E-17550-9E66AAF4; Wed, 09 May 2012 12:45:29 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336567527!15311289!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 338 invoked from network); 9 May 2012 12:45:27 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-21.messagelabs.com with SMTP;
	9 May 2012 12:45:27 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77731675; Wed, 09 May 2012 14:45:25 +0200
Message-ID: <1336567524.2621.16.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 09 May 2012 14:45:24 +0200
In-Reply-To: <1336565074.25514.104.camel@zakaz.uk.xensource.com>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
	<1336565074.25514.104.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2106433101483885304=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2106433101483885304==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-Zt+sEP/VIgQbIUIvPJLC"


--=-Zt+sEP/VIgQbIUIvPJLC
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-09 at 13:04 +0100, Ian Campbell wrote:=20
> On Wed, 2012-05-09 at 12:03 +0100, Darrio Faggioli wrote:
> > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > --- a/tools/libxl/libxl.c
> > +++ b/tools/libxl/libxl.c
> > @@ -2903,7 +2903,8 @@ libxl_cputopology *libxl_get_cpu_topolog
> >      }
> > =20
> >      for (i =3D 0; i < max_cpus; i++) {
> > -#define V(map, i) (map[i] =3D=3D INVALID_TOPOLOGY_ID) ? \
> > +#define V(map, i) (i > tinfo.max_cpu_index || \
> > +    map[i] =3D=3D INVALID_TOPOLOGY_ID) ? \
>=20
> This ensures that cpus entries above max_cpu_index are
> INVALID_TOPOLOGY_ID=20
>
Yep, thus giving consumers of this call the chance to figure out what
the valid entries are. It looked the most natural way of doing this,
given output_topology (for instance) already check for
LIBXL_CPUTOPOLOGY_INVALID_ENTRY entries and skip them.

Also, the get-cpu-topology command in xenpm, which always worked
properly on my testbox, does exactly that.

> but do you also want to size the return array using
> tinfo.max_cpu_index too? And also return that in *nr instead of?
>=20
> (I don't know the answer, either of max-possible- and max-online-cpus is
> a reasonable size for this array)
>=20
Well, I really don't know either. This is the minimum impact working
version. For sure, I'd like very much to return that value via *nr, as
it will give me something more sensible to work with... You know what,
I'm sending a patch doing exactly that, as I think what you're
suggesting is actually better.

Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-Zt+sEP/VIgQbIUIvPJLC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+qZuQACgkQk4XaBE3IOsQsGwCfUVKyiupQ+mx/Q90zSwXfaQEi
omgAnjc2eoVK8jUNPLiCgnAL18yUgeqb
=fjnn
-----END PGP SIGNATURE-----

--=-Zt+sEP/VIgQbIUIvPJLC--



--===============2106433101483885304==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2106433101483885304==--



From xen-devel-bounces@lists.xen.org Wed May 09 12:46:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:46:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Hq-0004KZ-R5; Wed, 09 May 2012 12:46:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SS6Ho-0004Jx-PV
	for xen-devel@lists.xen.org; Wed, 09 May 2012 12:46:33 +0000
Received: from [85.158.138.51:57567] by server-6.bemta-3.messagelabs.com id
	08/60-05145-7276AAF4; Wed, 09 May 2012 12:46:31 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336567590!18150883!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28039 invoked from network); 9 May 2012 12:46:30 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:46:30 -0000
Received: by eaak12 with SMTP id k12so106023eaa.32
	for <xen-devel@lists.xen.org>; Wed, 09 May 2012 05:46:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=JRzYrdHsZUPf+4I10ByIVSrfsUpEMCcq7bf5cAzylh8=;
	b=AN/zRay9a9K5uonolqb2loW03/tEBdSh9MuWooVxfie/f/Vi0eq5Ut3Tgryz/U47nR
	QEaWRhZ68Q/Gy7UnR8xvUns64rAQTKr6goFFUS0WfoERfqDAbJ39kwy7o+YZsxEASTZW
	RCVdA1d0SgRaI0kPzlWr7bTL/L3IjW2KuiF1GRQGOLFYkH7q9wa+6vsoBeFuJ4cnxRcy
	LZ6zThRywJsTDAorRpbxvkhi+qs/2sxQgEwRuqkhs+J5UuSGOaV7QHdqaRXnhnFw5o/G
	O/j9tuY9KOa6dl4qk2wLsswQYzoyZdq6+rSoQnuO7hrxCGlu6cP1udTxlmKtJxqJseQ4
	88lQ==
Received: by 10.213.4.200 with SMTP id 8mr565715ebs.27.1336567590222;
	Wed, 09 May 2012 05:46:30 -0700 (PDT)
Received: from [127.0.1.1] (ip-182-223.sn1.eutelia.it. [62.94.182.223])
	by mx.google.com with ESMTPS id p57sm12291093eei.8.2012.05.09.05.46.28
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 09 May 2012 05:46:29 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 95f7eacc32f0bf7ba2819014ebc1ba2293f16782
Message-Id: <95f7eacc32f0bf7ba281.1336567580@Solace>
User-Agent: Mercurial-patchbomb/2.2
Date: Wed, 09 May 2012 14:46:20 +0200
From: Darrio Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v2] libxl: use xc_topologyinfo to figure out how
 many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
supports to be valid topology entries might lead to misleading and incorrect
behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:
...
cpu_topology           :
cpu:    core    socket     node
  0:       0        1        0
  1:       0        1        0
  2:       1        1        0
  3:       1        1        0
  4:       9        1        0
  5:       9        1        0
  6:      10        1        0
  7:      10        1        0
  8:       0        0        1
  9:       0        0        1
 10:       1        0        1
 11:       1        0        1
 12:       9        0        1
 13:       9        0        1
 14:      10        0        1
 15:      10        0        1
 16:       0        0        0
 17:       0        0        0
 18:       0        0        0
 19:       0        0        0
 20:       0        0        0
 ...
 ...
 62:       0        0        0
 63:       0        0        0

However, xc_topologyinfo() tells us (in max_cpu_index) how many entries
arrays it returns corresponds to actually valid CPUs, so let's use that
information.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2895,6 +2895,9 @@ libxl_cputopology *libxl_get_cpu_topolog
         goto fail;
     }
 
+    if (tinfo.max_cpu_index < max_cpus - 1)
+        max_cpus = tinfo.max_cpu_index + 1;
+
     ret = malloc(sizeof(libxl_cputopology) * max_cpus);
     if (ret == NULL) {
         LIBXL__LOG_ERRNOVAL(ctx, XTL_ERROR, ENOMEM,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 12:46:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 12:46:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6Hq-0004KZ-R5; Wed, 09 May 2012 12:46:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SS6Ho-0004Jx-PV
	for xen-devel@lists.xen.org; Wed, 09 May 2012 12:46:33 +0000
Received: from [85.158.138.51:57567] by server-6.bemta-3.messagelabs.com id
	08/60-05145-7276AAF4; Wed, 09 May 2012 12:46:31 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336567590!18150883!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28039 invoked from network); 9 May 2012 12:46:30 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 12:46:30 -0000
Received: by eaak12 with SMTP id k12so106023eaa.32
	for <xen-devel@lists.xen.org>; Wed, 09 May 2012 05:46:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=JRzYrdHsZUPf+4I10ByIVSrfsUpEMCcq7bf5cAzylh8=;
	b=AN/zRay9a9K5uonolqb2loW03/tEBdSh9MuWooVxfie/f/Vi0eq5Ut3Tgryz/U47nR
	QEaWRhZ68Q/Gy7UnR8xvUns64rAQTKr6goFFUS0WfoERfqDAbJ39kwy7o+YZsxEASTZW
	RCVdA1d0SgRaI0kPzlWr7bTL/L3IjW2KuiF1GRQGOLFYkH7q9wa+6vsoBeFuJ4cnxRcy
	LZ6zThRywJsTDAorRpbxvkhi+qs/2sxQgEwRuqkhs+J5UuSGOaV7QHdqaRXnhnFw5o/G
	O/j9tuY9KOa6dl4qk2wLsswQYzoyZdq6+rSoQnuO7hrxCGlu6cP1udTxlmKtJxqJseQ4
	88lQ==
Received: by 10.213.4.200 with SMTP id 8mr565715ebs.27.1336567590222;
	Wed, 09 May 2012 05:46:30 -0700 (PDT)
Received: from [127.0.1.1] (ip-182-223.sn1.eutelia.it. [62.94.182.223])
	by mx.google.com with ESMTPS id p57sm12291093eei.8.2012.05.09.05.46.28
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 09 May 2012 05:46:29 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 95f7eacc32f0bf7ba2819014ebc1ba2293f16782
Message-Id: <95f7eacc32f0bf7ba281.1336567580@Solace>
User-Agent: Mercurial-patchbomb/2.2
Date: Wed, 09 May 2012 14:46:20 +0200
From: Darrio Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v2] libxl: use xc_topologyinfo to figure out how
 many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
supports to be valid topology entries might lead to misleading and incorrect
behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:
...
cpu_topology           :
cpu:    core    socket     node
  0:       0        1        0
  1:       0        1        0
  2:       1        1        0
  3:       1        1        0
  4:       9        1        0
  5:       9        1        0
  6:      10        1        0
  7:      10        1        0
  8:       0        0        1
  9:       0        0        1
 10:       1        0        1
 11:       1        0        1
 12:       9        0        1
 13:       9        0        1
 14:      10        0        1
 15:      10        0        1
 16:       0        0        0
 17:       0        0        0
 18:       0        0        0
 19:       0        0        0
 20:       0        0        0
 ...
 ...
 62:       0        0        0
 63:       0        0        0

However, xc_topologyinfo() tells us (in max_cpu_index) how many entries
arrays it returns corresponds to actually valid CPUs, so let's use that
information.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2895,6 +2895,9 @@ libxl_cputopology *libxl_get_cpu_topolog
         goto fail;
     }
 
+    if (tinfo.max_cpu_index < max_cpus - 1)
+        max_cpus = tinfo.max_cpu_index + 1;
+
     ret = malloc(sizeof(libxl_cputopology) * max_cpus);
     if (ret == NULL) {
         LIBXL__LOG_ERRNOVAL(ctx, XTL_ERROR, ENOMEM,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:12:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:12:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6gl-0004zr-1Y; Wed, 09 May 2012 13:12:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SS6gk-0004zm-8D
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:12:18 +0000
Received: from [193.109.254.147:60648] by server-1.bemta-14.messagelabs.com id
	D2/D6-29372-13D6AAF4; Wed, 09 May 2012 13:12:17 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336569134!1530297!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27103 invoked from network); 9 May 2012 13:12:15 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 13:12:15 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q49DBxTp014100
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 9 May 2012 09:11:59 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q49DBsaP014089;
	Wed, 9 May 2012 09:11:54 -0400
Date: Wed, 9 May 2012 09:11:54 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, haitao.shan@intel.com
Message-ID: <20120509131153.GA13956@andromeda.dapyr.net>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120509003510.GA19643@phenom.dumpdata.com>
User-Agent: Mutt/1.5.9i
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
	4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> > On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> > konrad.wilk@oracle.com> wrote:
> > >
> > > > > No, this is specifically the wrong thing. From what we know so far
> > > > > (i.e. the outcome of the above printing you added) the problem in
> > > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > > attempting XSETBV). What your patch efectively does is take away
> > > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > > >
> > > > > > That allowed the system to boot successfully though I did see the
> > > > > > following message:
> > > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > > 00002660
> > > > >
> > > > > ... which is what this message is telling you.
> > > > >
> > > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > > helpful in pointing at where the problem might be.
> > > > > >
> > > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > > xsave=1.
> > > > >
> > > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > > added,
> > > > > to find out why the CR4 write supposedly happening immediately
> > > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > > >
> > > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> > >
> > > Where did you see that code? Looking at the Linus's tree this is what I
> > > see
> > >
> > >
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> > >
> > > So who added that code? I am not seeing it in v3.0 either?
> > 
> > This is in the Ubuntu 11.10 kernel:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> > 
> > After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b
> 
> 
> Ugh. There are looks to be a bug in Fedora as well: https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
> 

CC-ing Intel. It seems that the userspace programs are crashingon
Sandybridge machines even if 'xsave=0' is provided on the command line.
Any advice?
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:12:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:12:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6gl-0004zr-1Y; Wed, 09 May 2012 13:12:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SS6gk-0004zm-8D
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:12:18 +0000
Received: from [193.109.254.147:60648] by server-1.bemta-14.messagelabs.com id
	D2/D6-29372-13D6AAF4; Wed, 09 May 2012 13:12:17 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336569134!1530297!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27103 invoked from network); 9 May 2012 13:12:15 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 13:12:15 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q49DBxTp014100
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 9 May 2012 09:11:59 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q49DBsaP014089;
	Wed, 9 May 2012 09:11:54 -0400
Date: Wed, 9 May 2012 09:11:54 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, haitao.shan@intel.com
Message-ID: <20120509131153.GA13956@andromeda.dapyr.net>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120509003510.GA19643@phenom.dumpdata.com>
User-Agent: Mutt/1.5.9i
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
	4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> > On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> > konrad.wilk@oracle.com> wrote:
> > >
> > > > > No, this is specifically the wrong thing. From what we know so far
> > > > > (i.e. the outcome of the above printing you added) the problem in
> > > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > > attempting XSETBV). What your patch efectively does is take away
> > > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > > >
> > > > > > That allowed the system to boot successfully though I did see the
> > > > > > following message:
> > > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > > 00002660
> > > > >
> > > > > ... which is what this message is telling you.
> > > > >
> > > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > > helpful in pointing at where the problem might be.
> > > > > >
> > > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > > xsave=1.
> > > > >
> > > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > > added,
> > > > > to find out why the CR4 write supposedly happening immediately
> > > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > > >
> > > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> > >
> > > Where did you see that code? Looking at the Linus's tree this is what I
> > > see
> > >
> > >
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> > >
> > > So who added that code? I am not seeing it in v3.0 either?
> > 
> > This is in the Ubuntu 11.10 kernel:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> > 
> > After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b
> 
> 
> Ugh. There are looks to be a bug in Fedora as well: https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
> 

CC-ing Intel. It seems that the userspace programs are crashingon
Sandybridge machines even if 'xsave=0' is provided on the command line.
Any advice?
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:19:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:19:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6nV-00058j-Sw; Wed, 09 May 2012 13:19:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS6nU-00058e-1Y
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:19:16 +0000
Received: from [193.109.254.147:24702] by server-11.bemta-14.messagelabs.com
	id 97/EA-05858-3DE6AAF4; Wed, 09 May 2012 13:19:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336569554!1562651!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15286 invoked from network); 9 May 2012 13:19:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:19:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12378729"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:19:14 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:19:14 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS6nS-0007pu-2h; Wed, 09 May 2012 13:19:14 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS6nR-0003Gm-Uj;
	Wed, 09 May 2012 14:19:14 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.28369.936242.527916@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:19:13 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
> the function call it made. Change the macro to a statement including the
> return variable to fix this.

Well spotted, thanks.  But I think it would be better to use the GCC
statement expression syntax to avoid changing the call sites ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:19:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:19:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6nV-00058j-Sw; Wed, 09 May 2012 13:19:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS6nU-00058e-1Y
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:19:16 +0000
Received: from [193.109.254.147:24702] by server-11.bemta-14.messagelabs.com
	id 97/EA-05858-3DE6AAF4; Wed, 09 May 2012 13:19:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336569554!1562651!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15286 invoked from network); 9 May 2012 13:19:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:19:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12378729"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:19:14 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:19:14 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS6nS-0007pu-2h; Wed, 09 May 2012 13:19:14 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS6nR-0003Gm-Uj;
	Wed, 09 May 2012 14:19:14 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.28369.936242.527916@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:19:13 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
> the function call it made. Change the macro to a statement including the
> return variable to fix this.

Well spotted, thanks.  But I think it would be better to use the GCC
statement expression syntax to avoid changing the call sites ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:20:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:20:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6oZ-0005Ba-BU; Wed, 09 May 2012 13:20:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS6oX-0005BQ-CG
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:20:21 +0000
Received: from [85.158.143.99:13060] by server-1.bemta-4.messagelabs.com id
	4D/FD-20925-41F6AAF4; Wed, 09 May 2012 13:20:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336569619!26286578!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19085 invoked from network); 9 May 2012 13:20:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:20:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12378757"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:20:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:20:18 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS6oU-0007qO-1H; Wed, 09 May 2012 13:20:18 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS6oU-0003I7-07;
	Wed, 09 May 2012 14:20:18 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.28433.983986.883494@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:20:17 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
> the function call it made. Change the macro to a statement including the
> return variable to fix this.

Also, does this mean that you're using this in anger, or did you just
happen to spot it while perusing the code ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:20:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:20:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6oZ-0005Ba-BU; Wed, 09 May 2012 13:20:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS6oX-0005BQ-CG
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:20:21 +0000
Received: from [85.158.143.99:13060] by server-1.bemta-4.messagelabs.com id
	4D/FD-20925-41F6AAF4; Wed, 09 May 2012 13:20:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336569619!26286578!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19085 invoked from network); 9 May 2012 13:20:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:20:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12378757"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:20:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:20:18 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS6oU-0007qO-1H; Wed, 09 May 2012 13:20:18 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS6oU-0003I7-07;
	Wed, 09 May 2012 14:20:18 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.28433.983986.883494@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:20:17 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
> the function call it made. Change the macro to a statement including the
> return variable to fix this.

Also, does this mean that you're using this in anger, or did you just
happen to spot it while perusing the code ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:30:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:30:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6y1-0005Qk-Gu; Wed, 09 May 2012 13:30:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS6y0-0005Qf-AX
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:30:08 +0000
Received: from [85.158.143.35:29162] by server-2.bemta-4.messagelabs.com id
	81/50-17550-F517AAF4; Wed, 09 May 2012 13:30:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336570204!3901035!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10898 invoked from network); 9 May 2012 13:30:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:30:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379068"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:30:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:30:04 +0100
Message-ID: <1336570202.25514.112.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
Date: Wed, 9 May 2012 14:30:02 +0100
In-Reply-To: <20120509131153.GA13956@andromeda.dapyr.net>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, "Tim Deegan
	\(3P\)" <Tim.Deegan@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"haitao.shan@intel.com" <haitao.shan@intel.com>,
	"weidong.han@intel.com" <weidong.han@intel.com>,
	"stefan.bader@canonical.com" <stefan.bader@canonical.com>,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 14:11 +0100, Konrad Rzeszutek Wilk wrote:
> On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
> > On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> > > On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> > > konrad.wilk@oracle.com> wrote:
> > > >
> > > > > > No, this is specifically the wrong thing. From what we know so far
> > > > > > (i.e. the outcome of the above printing you added) the problem in
> > > > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > > > attempting XSETBV). What your patch efectively does is take away
> > > > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > > > >
> > > > > > > That allowed the system to boot successfully though I did see the
> > > > > > > following message:
> > > > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > > > 00002660
> > > > > >
> > > > > > ... which is what this message is telling you.
> > > > > >
> > > > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > > > helpful in pointing at where the problem might be.
> > > > > > >
> > > > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > > > xsave=1.
> > > > > >
> > > > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > > > added,
> > > > > > to find out why the CR4 write supposedly happening immediately
> > > > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > > > >
> > > > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> > > >
> > > > Where did you see that code? Looking at the Linus's tree this is what I
> > > > see
> > > >
> > > >
> > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> > > >
> > > > So who added that code? I am not seeing it in v3.0 either?
> > > 
> > > This is in the Ubuntu 11.10 kernel:
> > > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> > > 
> > > After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> > > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b
> > 
> > 
> > Ugh. There are looks to be a bug in Fedora as well: https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
> > 
> 
> CC-ing Intel. It seems that the userspace programs are crashingon
> Sandybridge machines even if 'xsave=0' is provided on the command line.

Is this related to the glibc bug which uses xsave/avx without properly
following the defined procedure to detect if it is available, as
described in http://marc.info/?l=xen-devel&m=133612371602480 ?

That bug has come up a couple of times recently, I'm not sure if this is
the same one though.

Ian.

> Any advice?
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:30:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:30:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS6y1-0005Qk-Gu; Wed, 09 May 2012 13:30:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS6y0-0005Qf-AX
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:30:08 +0000
Received: from [85.158.143.35:29162] by server-2.bemta-4.messagelabs.com id
	81/50-17550-F517AAF4; Wed, 09 May 2012 13:30:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336570204!3901035!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10898 invoked from network); 9 May 2012 13:30:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:30:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379068"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:30:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:30:04 +0100
Message-ID: <1336570202.25514.112.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
Date: Wed, 9 May 2012 14:30:02 +0100
In-Reply-To: <20120509131153.GA13956@andromeda.dapyr.net>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, "Tim Deegan
	\(3P\)" <Tim.Deegan@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"haitao.shan@intel.com" <haitao.shan@intel.com>,
	"weidong.han@intel.com" <weidong.han@intel.com>,
	"stefan.bader@canonical.com" <stefan.bader@canonical.com>,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 14:11 +0100, Konrad Rzeszutek Wilk wrote:
> On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
> > On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> > > On Mon, May 7, 2012 at 5:08 PM, Konrad Rzeszutek Wilk <
> > > konrad.wilk@oracle.com> wrote:
> > > >
> > > > > > No, this is specifically the wrong thing. From what we know so far
> > > > > > (i.e. the outcome of the above printing you added) the problem in
> > > > > > in the Dom0 kernel (in it never setting CR4.OSXSAVE prior to
> > > > > > attempting XSETBV). What your patch efectively does is take away
> > > > > > control from the guest kernels to control the (virtual) CR4 flag...
> > > > > >
> > > > > > > That allowed the system to boot successfully though I did see the
> > > > > > > following message:
> > > > > > > (XEN) domain.c:698:d0 Attempt to change CR4 flags 00042660 ->
> > > > > > > 00002660
> > > > > >
> > > > > > ... which is what this message is telling you.
> > > > > >
> > > > > > > Not sure if the above patch is right fix but I hope it was at least
> > > > > > > helpful in pointing at where the problem might be.
> > > > > > >
> > > > > > > BTW, I see the same invalid op issue with Xen 4.1.2 if I boot with
> > > > > > > xsave=1.
> > > > > >
> > > > > > Sure, as it's a kernel problem. It's the kernel that needs logging
> > > > > > added,
> > > > > > to find out why the CR4 write supposedly happening immediately
> > > > > > prior to the XSETBV (set_in_cr4(X86_CR4_OSXSAVE)) doesn't actually
> > > > > > happen, or doesn't set the flag. Perhaps something fishy going on
> > > > >
> > > > > xen_write_cr4 explicitly turns off X86_CR4_OSXSAVE.
> > > >
> > > > Where did you see that code? Looking at the Linus's tree this is what I
> > > > see
> > > >
> > > >
> > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/x86/xen/enlighten.c;h=a8f8844b8d32690b8a189bc37d12cd3f286a81cd;hb=HEAD
> > > >
> > > > So who added that code? I am not seeing it in v3.0 either?
> > > 
> > > This is in the Ubuntu 11.10 kernel:
> > > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=blob;f=arch/x86/xen/enlighten.c;h=ce01f6d63507fd44288989ca0ba81a0f5bf04e3f;hb=HEAD#l812
> > > 
> > > After some digging around, it looks like this is an Ubuntu 11.10 only patch:
> > > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fba59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b824160b
> > 
> > 
> > Ugh. There are looks to be a bug in Fedora as well: https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
> > 
> 
> CC-ing Intel. It seems that the userspace programs are crashingon
> Sandybridge machines even if 'xsave=0' is provided on the command line.

Is this related to the glibc bug which uses xsave/avx without properly
following the defined procedure to detect if it is available, as
described in http://marc.info/?l=xen-devel&m=133612371602480 ?

That bug has come up a couple of times recently, I'm not sure if this is
the same one though.

Ian.

> Any advice?
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:34:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:34:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS72G-0005bC-9A; Wed, 09 May 2012 13:34:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SS72E-0005b6-N2
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:34:30 +0000
Received: from [85.158.139.83:8199] by server-4.bemta-5.messagelabs.com id
	74/8F-10788-5627AAF4; Wed, 09 May 2012 13:34:29 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336570467!27476007!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13422 invoked from network); 9 May 2012 13:34:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 13:34:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 09 May 2012 14:34:26 +0100
Message-Id: <4FAA8E96020000780008288F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 09 May 2012 14:34:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad@darnok.org>, <haitao.shan@intel.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
In-Reply-To: <20120509131153.GA13956@andromeda.dapyr.net>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 09.05.12 at 15:11, Konrad Rzeszutek Wilk <konrad@darnok.org> wrote:
> On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
>> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
>> > After some digging around, it looks like this is an Ubuntu 11.10 only 
> patch:
>> > 
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fb 
> a59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b82416
> 0b
>> 
>> 
>> Ugh. There are looks to be a bug in Fedora as well: 
> https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
>> 
> 
> CC-ing Intel. It seems that the userspace programs are crashingon
> Sandybridge machines even if 'xsave=0' is provided on the command line.
> Any advice?

Going through the bug, all I can see are bogus attempts to pass
"xsave=" (with value 0 or 1) to the kernel. That's a hypervisor
option though, and the only kernel option that's relevant here
is "noxsave" afaik.

Further, when the hypervisor has xsave support enabled, there's
(in the pv case) nothing the kernel can do to hide the functionality
from applications, as the hardware's CR4.OSXSAVE will be set, and
hence CPUID.OSXSAVE will be too. So "noxsave" on the kernel
command line when "xsave=1" (or xsave enabled by default as in
4.2) just doesn't make any sense.

And finally one always has to keep in mind that there is this nice
glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
when trying to determine whether AVX or FMA is available.

Jan

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:34:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:34:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS72G-0005bC-9A; Wed, 09 May 2012 13:34:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SS72E-0005b6-N2
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:34:30 +0000
Received: from [85.158.139.83:8199] by server-4.bemta-5.messagelabs.com id
	74/8F-10788-5627AAF4; Wed, 09 May 2012 13:34:29 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336570467!27476007!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13422 invoked from network); 9 May 2012 13:34:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 13:34:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 09 May 2012 14:34:26 +0100
Message-Id: <4FAA8E96020000780008288F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 09 May 2012 14:34:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad@darnok.org>, <haitao.shan@intel.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <4FA113B902000078000810C3@nat28.tlf.novell.com>
	<CAGU+ausGJ9BmzkWaKd3cS+yDcQkU6Rabh6tZ9GJxn-SXHLxZsw@mail.gmail.com>
	<4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
In-Reply-To: <20120509131153.GA13956@andromeda.dapyr.net>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, stefan.bader@canonical.com,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 09.05.12 at 15:11, Konrad Rzeszutek Wilk <konrad@darnok.org> wrote:
> On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
>> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
>> > After some digging around, it looks like this is an Ubuntu 11.10 only 
> patch:
>> > 
> http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fb 
> a59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b82416
> 0b
>> 
>> 
>> Ugh. There are looks to be a bug in Fedora as well: 
> https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
>> 
> 
> CC-ing Intel. It seems that the userspace programs are crashingon
> Sandybridge machines even if 'xsave=0' is provided on the command line.
> Any advice?

Going through the bug, all I can see are bogus attempts to pass
"xsave=" (with value 0 or 1) to the kernel. That's a hypervisor
option though, and the only kernel option that's relevant here
is "noxsave" afaik.

Further, when the hypervisor has xsave support enabled, there's
(in the pv case) nothing the kernel can do to hide the functionality
from applications, as the hardware's CR4.OSXSAVE will be set, and
hence CPUID.OSXSAVE will be too. So "noxsave" on the kernel
command line when "xsave=1" (or xsave enabled by default as in
4.2) just doesn't make any sense.

And finally one always has to keep in mind that there is this nice
glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
when trying to determine whether AVX or FMA is available.

Jan

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:35:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:35:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS73D-0005ep-Nr; Wed, 09 May 2012 13:35:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS73C-0005ed-Ft
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:35:30 +0000
Received: from [85.158.143.35:27623] by server-2.bemta-4.messagelabs.com id
	A1/4A-17550-1A27AAF4; Wed, 09 May 2012 13:35:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336570527!15321371!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5670 invoked from network); 9 May 2012 13:35:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:35:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379418"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:35:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:35:27 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS738-0007vK-On; Wed, 09 May 2012 13:35:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS738-0003Yp-NZ;
	Wed, 09 May 2012 14:35:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.29342.710868.71635@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:35:26 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336485670.14542.92.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] Test result of xen-unstable changeset 25259"):
> 
> libxc: do not "panic" if a kernel is not a bzImage.
> 
> Up untul the point where we think this is a bzImage there is no point in
> printing panicy messages -- some other loader will have a go (probably the
> compressed ELF one)
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Looks plausible.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:35:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:35:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS73D-0005ep-Nr; Wed, 09 May 2012 13:35:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS73C-0005ed-Ft
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:35:30 +0000
Received: from [85.158.143.35:27623] by server-2.bemta-4.messagelabs.com id
	A1/4A-17550-1A27AAF4; Wed, 09 May 2012 13:35:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336570527!15321371!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5670 invoked from network); 9 May 2012 13:35:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:35:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379418"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:35:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:35:27 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS738-0007vK-On; Wed, 09 May 2012 13:35:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS738-0003Yp-NZ;
	Wed, 09 May 2012 14:35:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.29342.710868.71635@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:35:26 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336485670.14542.92.camel@zakaz.uk.xensource.com>
References: <1336399932385-5691153.post@n5.nabble.com>
	<1336480693.14542.71.camel@zakaz.uk.xensource.com>
	<1336483376041-5694297.post@n5.nabble.com>
	<1336483800.14542.88.camel@zakaz.uk.xensource.com>
	<1336484287336-5694426.post@n5.nabble.com>
	<1336484759.14542.91.camel@zakaz.uk.xensource.com>
	<1336485670.14542.92.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25259
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] Test result of xen-unstable changeset 25259"):
> 
> libxc: do not "panic" if a kernel is not a bzImage.
> 
> Up untul the point where we think this is a bzImage there is no point in
> printing panicy messages -- some other loader will have a go (probably the
> compressed ELF one)
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Looks plausible.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:40:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:40:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS77L-0005uN-Ib; Wed, 09 May 2012 13:39:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SS77K-0005uF-Do
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:39:46 +0000
Received: from [85.158.139.83:59588] by server-11.bemta-5.messagelabs.com id
	80/A9-12959-1A37AAF4; Wed, 09 May 2012 13:39:45 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336570784!27472712!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9614 invoked from network); 9 May 2012 13:39:44 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-2.tower-182.messagelabs.com with SMTP;
	9 May 2012 13:39:44 -0000
X-TM-IMSS-Message-ID: <331f1091000c4fcb@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 331f1091000c4fcb ;
	Wed, 9 May 2012 09:39:54 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49DdcB9005551; 
	Wed, 9 May 2012 09:39:38 -0400
Message-ID: <4FAA7354.5070802@tycho.nsa.gov>
Date: Wed, 09 May 2012 09:38:28 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
In-Reply-To: <20394.28369.936242.527916@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 09:19 AM, Ian Jackson wrote:
> Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
>> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
>> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
>> the function call it made. Change the macro to a statement including the
>> return variable to fix this.
> 
> Well spotted, thanks.  But I think it would be better to use the GCC
> statement expression syntax to avoid changing the call sites ?
> 
> Ian.
> 

Agreed, using the statement expression syntax seems cleaner here.

------8<------------------------------

The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
expression CTX->osevent_in_hook-- (usually 1) instead of the value of
the function call it made. Fix the macro to return the proper value.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/libxl/libxl_event.c |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 638b9ab..bee0e27 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -27,18 +27,25 @@
  * these macros, with the ctx locked.  Likewise all the "occurred"
  * entrypoints from the application should assert(!in_hook);
  */
-#define OSEVENT_HOOK_INTERN(defval, hookname, ...)                      \
-    (CTX->osevent_hooks                                                 \
-     ? (CTX->osevent_in_hook++,                                         \
-        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__),   \
-        CTX->osevent_in_hook--)                                         \
-     : defval)
-
-#define OSEVENT_HOOK(hookname,...)                      \
-    OSEVENT_HOOK_INTERN(0, hookname, __VA_ARGS__)
-
-#define OSEVENT_HOOK_VOID(hookname,...)                 \
-    OSEVENT_HOOK_INTERN((void)0, hookname, __VA_ARGS__)
+#define OSEVENT_HOOK(hookname,...) ({                                       \
+    int rc;                                                                 \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
+        CTX->osevent_in_hook--;                                             \
+    } else {                                                                \
+        rc = 0;                                                             \
+    }                                                                       \
+    rc;                                                                     \
+})
+
+#define OSEVENT_HOOK_VOID(hookname,...) do {                                \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);       \
+        CTX->osevent_in_hook--;                                             \
+    }                                                                       \
+} while (0)
 
 /*
  * fd events


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:40:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:40:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS77L-0005uN-Ib; Wed, 09 May 2012 13:39:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SS77K-0005uF-Do
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:39:46 +0000
Received: from [85.158.139.83:59588] by server-11.bemta-5.messagelabs.com id
	80/A9-12959-1A37AAF4; Wed, 09 May 2012 13:39:45 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336570784!27472712!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9614 invoked from network); 9 May 2012 13:39:44 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-2.tower-182.messagelabs.com with SMTP;
	9 May 2012 13:39:44 -0000
X-TM-IMSS-Message-ID: <331f1091000c4fcb@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 331f1091000c4fcb ;
	Wed, 9 May 2012 09:39:54 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49DdcB9005551; 
	Wed, 9 May 2012 09:39:38 -0400
Message-ID: <4FAA7354.5070802@tycho.nsa.gov>
Date: Wed, 09 May 2012 09:38:28 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
In-Reply-To: <20394.28369.936242.527916@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 09:19 AM, Ian Jackson wrote:
> Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
>> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
>> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
>> the function call it made. Change the macro to a statement including the
>> return variable to fix this.
> 
> Well spotted, thanks.  But I think it would be better to use the GCC
> statement expression syntax to avoid changing the call sites ?
> 
> Ian.
> 

Agreed, using the statement expression syntax seems cleaner here.

------8<------------------------------

The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
expression CTX->osevent_in_hook-- (usually 1) instead of the value of
the function call it made. Fix the macro to return the proper value.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/libxl/libxl_event.c |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 638b9ab..bee0e27 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -27,18 +27,25 @@
  * these macros, with the ctx locked.  Likewise all the "occurred"
  * entrypoints from the application should assert(!in_hook);
  */
-#define OSEVENT_HOOK_INTERN(defval, hookname, ...)                      \
-    (CTX->osevent_hooks                                                 \
-     ? (CTX->osevent_in_hook++,                                         \
-        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__),   \
-        CTX->osevent_in_hook--)                                         \
-     : defval)
-
-#define OSEVENT_HOOK(hookname,...)                      \
-    OSEVENT_HOOK_INTERN(0, hookname, __VA_ARGS__)
-
-#define OSEVENT_HOOK_VOID(hookname,...)                 \
-    OSEVENT_HOOK_INTERN((void)0, hookname, __VA_ARGS__)
+#define OSEVENT_HOOK(hookname,...) ({                                       \
+    int rc;                                                                 \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
+        CTX->osevent_in_hook--;                                             \
+    } else {                                                                \
+        rc = 0;                                                             \
+    }                                                                       \
+    rc;                                                                     \
+})
+
+#define OSEVENT_HOOK_VOID(hookname,...) do {                                \
+    if (CTX->osevent_hooks) {                                               \
+        CTX->osevent_in_hook++;                                             \
+        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);       \
+        CTX->osevent_in_hook--;                                             \
+    }                                                                       \
+} while (0)
 
 /*
  * fd events


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:40:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:40:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS77S-0005uu-VP; Wed, 09 May 2012 13:39:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS77R-0005uo-PJ
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:39:54 +0000
Received: from [193.109.254.147:36951] by server-10.bemta-14.messagelabs.com
	id 3B/0F-05847-8A37AAF4; Wed, 09 May 2012 13:39:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336570789!8370696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32306 invoked from network); 9 May 2012 13:39:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:39:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379558"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:39:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:39:49 +0100
Message-ID: <1336570788.25514.117.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 14:39:48 +0100
In-Reply-To: <e43157a8693305e56270.1336560664@kodo2>
References: <patchbomb.1336560663@kodo2>
	<e43157a8693305e56270.1336560664@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3 RESEND] libxl: Look for bootloader in
 libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
> given, look for it in the libexec path.

xend used to do something similar, see tools/python/xen/util/auxbin.py
where it searches in:
        SEARCHDIRS = [ BINDIR, SBINDIR, LIBEXEC, PRIVATE_BINDIR, XENFIRMWAREDIR ]
where:
        SBINDIR="/usr/sbin"
        BINDIR="/usr/bin"
        LIBEXEC="/usr/lib/xen/bin"
        PRIVATE_BINDIR="/usr/lib/xen/bin"
        XENFIRMWAREDIR="/usr/lib/xen/boot"

I think since libxl uses execvp the first two are handled by path
expansion, the next two are what you are adding (so has priority over
$PATH in your patch, which I think is OK) and the last one is irrelevant
in this context (xend uses the same function for other contexts).

However in order to not differ on the first two execvp needs to be given
the opportunity to search the path, which means that you need to check
of your newly constructed bootloader exists, and if it doesn't then try
and continue with the relative path not the absolute one.

Also since this patch comes before the rename+symlink patch as it stands
this patch will temporarily break people who just have "pygrub" without
a path in their config.

Ian.

> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 8a86d841e6d4 -r e43157a86933 tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Tue May 08 13:36:24 2012 +0200
> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:38:50 2012 +0100
> @@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>  
>      char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>      char *tempdir;
> +    const char *bootloader = NULL;
>  
>      char *dom_console_xs_path;
>      char dom_console_slave_tty_path[PATH_MAX];
> @@ -397,6 +398,13 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> +    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
> +                                 libxl__libexec_path());
> +    if ( bootloader == NULL ) {
> +        rc = ERROR_NOMEM;
> +        goto out_close;
> +    }
> +
>      /*
>       * We need to present the bootloader's tty as a pty slave that xenconsole
>       * can access.  Since the bootloader itself needs a pty slave,
> @@ -417,7 +425,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
>      libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
>  
> -    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
> +    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
>      if (pid < 0) {
>          goto out_close;
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:40:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:40:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS77S-0005uu-VP; Wed, 09 May 2012 13:39:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS77R-0005uo-PJ
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:39:54 +0000
Received: from [193.109.254.147:36951] by server-10.bemta-14.messagelabs.com
	id 3B/0F-05847-8A37AAF4; Wed, 09 May 2012 13:39:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336570789!8370696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32306 invoked from network); 9 May 2012 13:39:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:39:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379558"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:39:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:39:49 +0100
Message-ID: <1336570788.25514.117.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 14:39:48 +0100
In-Reply-To: <e43157a8693305e56270.1336560664@kodo2>
References: <patchbomb.1336560663@kodo2>
	<e43157a8693305e56270.1336560664@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3 RESEND] libxl: Look for bootloader in
 libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
> given, look for it in the libexec path.

xend used to do something similar, see tools/python/xen/util/auxbin.py
where it searches in:
        SEARCHDIRS = [ BINDIR, SBINDIR, LIBEXEC, PRIVATE_BINDIR, XENFIRMWAREDIR ]
where:
        SBINDIR="/usr/sbin"
        BINDIR="/usr/bin"
        LIBEXEC="/usr/lib/xen/bin"
        PRIVATE_BINDIR="/usr/lib/xen/bin"
        XENFIRMWAREDIR="/usr/lib/xen/boot"

I think since libxl uses execvp the first two are handled by path
expansion, the next two are what you are adding (so has priority over
$PATH in your patch, which I think is OK) and the last one is irrelevant
in this context (xend uses the same function for other contexts).

However in order to not differ on the first two execvp needs to be given
the opportunity to search the path, which means that you need to check
of your newly constructed bootloader exists, and if it doesn't then try
and continue with the relative path not the absolute one.

Also since this patch comes before the rename+symlink patch as it stands
this patch will temporarily break people who just have "pygrub" without
a path in their config.

Ian.

> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 8a86d841e6d4 -r e43157a86933 tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Tue May 08 13:36:24 2012 +0200
> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:38:50 2012 +0100
> @@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>  
>      char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>      char *tempdir;
> +    const char *bootloader = NULL;
>  
>      char *dom_console_xs_path;
>      char dom_console_slave_tty_path[PATH_MAX];
> @@ -397,6 +398,13 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> +    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
> +                                 libxl__libexec_path());
> +    if ( bootloader == NULL ) {
> +        rc = ERROR_NOMEM;
> +        goto out_close;
> +    }
> +
>      /*
>       * We need to present the bootloader's tty as a pty slave that xenconsole
>       * can access.  Since the bootloader itself needs a pty slave,
> @@ -417,7 +425,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
>      libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
>  
> -    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
> +    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
>      if (pid < 0) {
>          goto out_close;
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:42:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:42:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS79b-00065S-GM; Wed, 09 May 2012 13:42:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS79Z-00065G-Ii
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:42:05 +0000
Received: from [85.158.143.99:44551] by server-3.bemta-4.messagelabs.com id
	B7/85-05853-C247AAF4; Wed, 09 May 2012 13:42:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336570920!21872615!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4755 invoked from network); 9 May 2012 13:42:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:42:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379648"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:41:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:41:58 +0100
Message-ID: <1336570917.25514.119.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 14:41:57 +0100
In-Reply-To: <52f45b258cccd8bb4923.1336560665@kodo2>
References: <patchbomb.1336560663@kodo2>
	<52f45b258cccd8bb4923.1336560665@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 3 RESEND] tools: Install pv bootloaders
 in libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin.
> 
> Because most config files will still have an absolute path pointing to
> /usr/bin/pygrub, make a symbolic link that we will deprecate.

You forgot your S-o-b.

I think that moving xenpvnetboot out of $PATH before 4.2 is a good idea,
so we don't have to worry about compatibility concerns since we never
previously released with xenpvnetboot.

I think this patch should go in before 1 of 3 to minimise the window of
breakage (see my comment on that patch).

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r e43157a86933 -r 52f45b258ccc tools/misc/Makefile
> --- a/tools/misc/Makefile	Wed May 09 11:38:50 2012 +0100
> +++ b/tools/misc/Makefile	Wed May 09 11:39:43 2012 +0100
> @@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
>  SUBDIRS-$(CONFIG_MINITERM) += miniterm
>  SUBDIRS := $(SUBDIRS-y)
>  
> -INSTALL_BIN-y := xencons xenpvnetboot
> +INSTALL_BIN-y := xencons
>  INSTALL_BIN-$(CONFIG_X86) += xen-detect
>  INSTALL_BIN := $(INSTALL_BIN-y)
>  
> @@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
>  INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
>  INSTALL_SBIN := $(INSTALL_SBIN-y)
>  
> +INSTALL_PRIVBIN-y := xenpvnetboot
> +INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
> +
>  # Include configure output (config.h) to headers search path
>  CFLAGS += -I$(XEN_ROOT)/tools
>  
> @@ -41,8 +44,10 @@ build: $(TARGETS)
>  install: build
>  	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
>  	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
>  
>  .PHONY: clean
> diff -r e43157a86933 -r 52f45b258ccc tools/pygrub/Makefile
> --- a/tools/pygrub/Makefile	Wed May 09 11:38:50 2012 +0100
> +++ b/tools/pygrub/Makefile	Wed May 09 11:39:43 2012 +0100
> @@ -11,9 +11,11 @@ build:
>  .PHONY: install
>  install: all
>  	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
> -		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
> -	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
> +		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
> +		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
> +	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
>  	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> +	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
>  
>  .PHONY: clean
>  clean:
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:42:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:42:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS79b-00065S-GM; Wed, 09 May 2012 13:42:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS79Z-00065G-Ii
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:42:05 +0000
Received: from [85.158.143.99:44551] by server-3.bemta-4.messagelabs.com id
	B7/85-05853-C247AAF4; Wed, 09 May 2012 13:42:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336570920!21872615!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4755 invoked from network); 9 May 2012 13:42:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:42:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379648"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:41:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:41:58 +0100
Message-ID: <1336570917.25514.119.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 14:41:57 +0100
In-Reply-To: <52f45b258cccd8bb4923.1336560665@kodo2>
References: <patchbomb.1336560663@kodo2>
	<52f45b258cccd8bb4923.1336560665@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 3 RESEND] tools: Install pv bootloaders
 in libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin.
> 
> Because most config files will still have an absolute path pointing to
> /usr/bin/pygrub, make a symbolic link that we will deprecate.

You forgot your S-o-b.

I think that moving xenpvnetboot out of $PATH before 4.2 is a good idea,
so we don't have to worry about compatibility concerns since we never
previously released with xenpvnetboot.

I think this patch should go in before 1 of 3 to minimise the window of
breakage (see my comment on that patch).

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r e43157a86933 -r 52f45b258ccc tools/misc/Makefile
> --- a/tools/misc/Makefile	Wed May 09 11:38:50 2012 +0100
> +++ b/tools/misc/Makefile	Wed May 09 11:39:43 2012 +0100
> @@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
>  SUBDIRS-$(CONFIG_MINITERM) += miniterm
>  SUBDIRS := $(SUBDIRS-y)
>  
> -INSTALL_BIN-y := xencons xenpvnetboot
> +INSTALL_BIN-y := xencons
>  INSTALL_BIN-$(CONFIG_X86) += xen-detect
>  INSTALL_BIN := $(INSTALL_BIN-y)
>  
> @@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
>  INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
>  INSTALL_SBIN := $(INSTALL_SBIN-y)
>  
> +INSTALL_PRIVBIN-y := xenpvnetboot
> +INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
> +
>  # Include configure output (config.h) to headers search path
>  CFLAGS += -I$(XEN_ROOT)/tools
>  
> @@ -41,8 +44,10 @@ build: $(TARGETS)
>  install: build
>  	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
>  	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
>  
>  .PHONY: clean
> diff -r e43157a86933 -r 52f45b258ccc tools/pygrub/Makefile
> --- a/tools/pygrub/Makefile	Wed May 09 11:38:50 2012 +0100
> +++ b/tools/pygrub/Makefile	Wed May 09 11:39:43 2012 +0100
> @@ -11,9 +11,11 @@ build:
>  .PHONY: install
>  install: all
>  	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
> -		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
> -	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
> +		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
> +		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
> +	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
>  	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> +	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
>  
>  .PHONY: clean
>  clean:
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:42:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS79i-000668-RS; Wed, 09 May 2012 13:42:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS79h-00065s-MP
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:42:13 +0000
Received: from [193.109.254.147:14367] by server-4.bemta-14.messagelabs.com id
	67/56-11570-4347AAF4; Wed, 09 May 2012 13:42:12 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336570932!1537263!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19973 invoked from network); 9 May 2012 13:42:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:42:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379669"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:42:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:42:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS79f-0007xO-RI; Wed, 09 May 2012 13:42:11 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS79f-0003gT-Q2;
	Wed, 09 May 2012 14:42:11 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.29747.791679.439889@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:42:11 +0100
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
In-Reply-To: <CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Shriram Rajagopalan writes ("Re: Upstream Qemu Status (Was: Re: [Xen-devel] 4.2 TODO / Release Status)"):
> On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <Ian.Campbell@citrix.com<mailto:Ian.Campbell@citrix.com>> wrote:
> > The libxl save/restore patches haven't been applied yet.
> 
> Ian J -- have you dropped these or are you waiting for something?

I have an enormous patch backlog.  Apologies to everyone.  We have
been dealing with an unrelated crisis here.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:42:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS79i-000668-RS; Wed, 09 May 2012 13:42:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS79h-00065s-MP
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:42:13 +0000
Received: from [193.109.254.147:14367] by server-4.bemta-14.messagelabs.com id
	67/56-11570-4347AAF4; Wed, 09 May 2012 13:42:12 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336570932!1537263!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19973 invoked from network); 9 May 2012 13:42:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:42:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379669"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:42:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 14:42:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS79f-0007xO-RI; Wed, 09 May 2012 13:42:11 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS79f-0003gT-Q2;
	Wed, 09 May 2012 14:42:11 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.29747.791679.439889@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 14:42:11 +0100
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
In-Reply-To: <CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Shriram Rajagopalan writes ("Re: Upstream Qemu Status (Was: Re: [Xen-devel] 4.2 TODO / Release Status)"):
> On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <Ian.Campbell@citrix.com<mailto:Ian.Campbell@citrix.com>> wrote:
> > The libxl save/restore patches haven't been applied yet.
> 
> Ian J -- have you dropped these or are you waiting for something?

I have an enormous patch backlog.  Apologies to everyone.  We have
been dealing with an unrelated crisis here.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:43:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:43:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7AZ-0006Do-AR; Wed, 09 May 2012 13:43:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS7AX-0006DZ-R7
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:43:05 +0000
Received: from [85.158.139.83:30875] by server-11.bemta-5.messagelabs.com id
	E7/A5-12959-9647AAF4; Wed, 09 May 2012 13:43:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336570984!20258769!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31368 invoked from network); 9 May 2012 13:43:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:43:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379730"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:43:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:43:03 +0100
Message-ID: <1336570982.25514.120.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 14:43:02 +0100
In-Reply-To: <794778a6e9fa761bd388.1336560666@kodo2>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 52f45b258ccc -r 794778a6e9fa tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Wed May 09 11:39:43 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:42:19 2012 +0100
> @@ -15,6 +15,7 @@
>  #include "libxl_osdeps.h" /* must come before any other headers */
>  
>  #include <termios.h>
> +#include <string.h>
>  
>  #include "libxl_internal.h"
>  
> @@ -398,6 +399,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )

Why strncmp and not just strcmp? And why 20? AFAIK
strlen("/usr/bin/pygrub") == 15 or 16 or so...

Ian.

> +        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                   "WARNING: bootloader='/usr/bin/pygrub' "             \
> +                   "is deprecated; use bootloader='pygrub' instead");
> +    
>      bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
>                                   libxl__libexec_path());
>      if ( bootloader == NULL ) {
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:43:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:43:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7AZ-0006Do-AR; Wed, 09 May 2012 13:43:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SS7AX-0006DZ-R7
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 13:43:05 +0000
Received: from [85.158.139.83:30875] by server-11.bemta-5.messagelabs.com id
	E7/A5-12959-9647AAF4; Wed, 09 May 2012 13:43:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336570984!20258769!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31368 invoked from network); 9 May 2012 13:43:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:43:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12379730"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 13:43:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	14:43:03 +0100
Message-ID: <1336570982.25514.120.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 9 May 2012 14:43:02 +0100
In-Reply-To: <794778a6e9fa761bd388.1336560666@kodo2>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 52f45b258ccc -r 794778a6e9fa tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Wed May 09 11:39:43 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:42:19 2012 +0100
> @@ -15,6 +15,7 @@
>  #include "libxl_osdeps.h" /* must come before any other headers */
>  
>  #include <termios.h>
> +#include <string.h>
>  
>  #include "libxl_internal.h"
>  
> @@ -398,6 +399,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )

Why strncmp and not just strcmp? And why 20? AFAIK
strlen("/usr/bin/pygrub") == 15 or 16 or so...

Ian.

> +        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                   "WARNING: bootloader='/usr/bin/pygrub' "             \
> +                   "is deprecated; use bootloader='pygrub' instead");
> +    
>      bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
>                                   libxl__libexec_path());
>      if ( bootloader == NULL ) {
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:50:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:50:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7HM-0006bv-8O; Wed, 09 May 2012 13:50:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS7HK-0006bq-RM
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:50:07 +0000
Received: from [193.109.254.147:27785] by server-9.bemta-14.messagelabs.com id
	43/C4-05787-E067AAF4; Wed, 09 May 2012 13:50:06 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336571403!8420196!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25208 invoked from network); 9 May 2012 13:50:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:50:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194042417"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 09:46:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 09:46:50 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS7EA-0000O5-4V;
	Wed, 09 May 2012 14:46:50 +0100
Message-ID: <4FAA7504.5030103@eu.citrix.com>
Date: Wed, 9 May 2012 14:45:40 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>, 
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336564773.25514.101.camel@zakaz.uk.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 12:59, Ian Campbell wrote:
> Right, however it is strictly speaking a new feature which is not
> mentioned on the TODO list and has not previously been posted (AFAIK,
> please correct me if not) and we are currently supposed to be in feature
> freeze (and have been for several weeks, if not a month).
>
> IIRC this functionality was mooted when the pci permissive patch was
> being done as something which would be a 4.3 feature.
> We need to decide if we want to make an exception for this new feature
> or not. Although I'm sure this feature is very nice and handy, we've
> lived without it for years and people seem to be able to use the
> existing scheme.
My recollection was that I did "moot" the functionailty basically a day 
or two after the official feature freeze; my impression from those 
discussions was that we wouldn't add the feature to the list, but that 
it was reasonable to ask for an exception at such time as I actually had 
the patches.  (Quite possible that my understanding is wrong there.)  
Unfortunately due to other priorities, I didn't manage to actually start 
working on them until the end of last week.

Maybe part of the issue is how they're being presented.  My original 
plan was to add options to libxl_pci_{add,remove} do the rebinding, 
which would have looked less like a new feature and more like an 
improvement.  This version actually introduces new functions, so it 
looks much more like a "new feature", even though the functionality is 
the same, and arguably having a separate step is less of a risk of 
someone tripping over something.

Of course everyone thinks their pet feature is incredibly important. 
:-)  But we are planning on making a public push on some of the security 
features of Xen this summer, which will hopefully mean a lot of people 
investigate the idea of using pci pass-through functionality for network 
driver domains.  The problem with saying "people seem to be able to use 
the existing scheme" is that you only see those who have gone through it 
and succeeded; you don't see how many took at look at the instructions 
and said, "That sounds too complicated/dangerous for me."  It would be a 
shame if we tooted Xen's horn about security, got an extra several 
thousand people to look into it, and then had half of them go away 
because of something simple like this.  I think that's my main concern.

We could of course make the HOWTOs easier to follow even without 
including this functionality; including Anthony's (very useful) 
rebinding script would certainly be a lot better than having everyone 
manually doing the sysfs stuff.  But not nearly as good as having the 
commands in-tree.

If we decide not to take the new functions, can I propose that we at 
least take the one that renames "pci-device-list-assignable", so we 
won't have to rename it / deal with compatibility issues when these are 
implemented for 4.3?

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:50:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:50:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7HM-0006bv-8O; Wed, 09 May 2012 13:50:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS7HK-0006bq-RM
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:50:07 +0000
Received: from [193.109.254.147:27785] by server-9.bemta-14.messagelabs.com id
	43/C4-05787-E067AAF4; Wed, 09 May 2012 13:50:06 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336571403!8420196!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25208 invoked from network); 9 May 2012 13:50:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 13:50:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194042417"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 09:46:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 09:46:50 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS7EA-0000O5-4V;
	Wed, 09 May 2012 14:46:50 +0100
Message-ID: <4FAA7504.5030103@eu.citrix.com>
Date: Wed, 9 May 2012 14:45:40 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>, 
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336564773.25514.101.camel@zakaz.uk.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 12:59, Ian Campbell wrote:
> Right, however it is strictly speaking a new feature which is not
> mentioned on the TODO list and has not previously been posted (AFAIK,
> please correct me if not) and we are currently supposed to be in feature
> freeze (and have been for several weeks, if not a month).
>
> IIRC this functionality was mooted when the pci permissive patch was
> being done as something which would be a 4.3 feature.
> We need to decide if we want to make an exception for this new feature
> or not. Although I'm sure this feature is very nice and handy, we've
> lived without it for years and people seem to be able to use the
> existing scheme.
My recollection was that I did "moot" the functionailty basically a day 
or two after the official feature freeze; my impression from those 
discussions was that we wouldn't add the feature to the list, but that 
it was reasonable to ask for an exception at such time as I actually had 
the patches.  (Quite possible that my understanding is wrong there.)  
Unfortunately due to other priorities, I didn't manage to actually start 
working on them until the end of last week.

Maybe part of the issue is how they're being presented.  My original 
plan was to add options to libxl_pci_{add,remove} do the rebinding, 
which would have looked less like a new feature and more like an 
improvement.  This version actually introduces new functions, so it 
looks much more like a "new feature", even though the functionality is 
the same, and arguably having a separate step is less of a risk of 
someone tripping over something.

Of course everyone thinks their pet feature is incredibly important. 
:-)  But we are planning on making a public push on some of the security 
features of Xen this summer, which will hopefully mean a lot of people 
investigate the idea of using pci pass-through functionality for network 
driver domains.  The problem with saying "people seem to be able to use 
the existing scheme" is that you only see those who have gone through it 
and succeeded; you don't see how many took at look at the instructions 
and said, "That sounds too complicated/dangerous for me."  It would be a 
shame if we tooted Xen's horn about security, got an extra several 
thousand people to look into it, and then had half of them go away 
because of something simple like this.  I think that's my main concern.

We could of course make the HOWTOs easier to follow even without 
including this functionality; including Anthony's (very useful) 
rebinding script would certainly be a lot better than having everyone 
manually doing the sysfs stuff.  But not nearly as good as having the 
commands in-tree.

If we decide not to take the new functions, can I propose that we at 
least take the one that renames "pci-device-list-assignable", so we 
won't have to rename it / deal with compatibility issues when these are 
implemented for 4.3?

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:52:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:52:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7J5-0006ff-OQ; Wed, 09 May 2012 13:51:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SS7J3-0006fX-J7
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:51:53 +0000
Received: from [85.158.139.83:53267] by server-1.bemta-5.messagelabs.com id
	5C/47-28458-8767AAF4; Wed, 09 May 2012 13:51:52 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336571511!24773081!1
X-Originating-IP: [63.239.67.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3249 invoked from network); 9 May 2012 13:51:51 -0000
Received: from emvm-gh1-uea09.nsa.gov (HELO nsa.gov) (63.239.67.10)
	by server-4.tower-182.messagelabs.com with SMTP;
	9 May 2012 13:51:51 -0000
X-TM-IMSS-Message-ID: <56e20400000c95ac@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov
	([63.239.67.10]) with ESMTP (TREND IMSS SMTP Service 7.1) id
	56e20400000c95ac ; Wed, 9 May 2012 09:53:36 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49Dpfnb006365; 
	Wed, 9 May 2012 09:51:41 -0400
Message-ID: <4FAA7627.4010003@tycho.nsa.gov>
Date: Wed, 09 May 2012 09:50:31 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28433.983986.883494@mariner.uk.xensource.com>
In-Reply-To: <20394.28433.983986.883494@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 09:20 AM, Ian Jackson wrote:
> Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
>> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
>> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
>> the function call it made. Change the macro to a statement including the
>> return variable to fix this.
> 
> Also, does this mean that you're using this in anger, or did you just
> happen to spot it while perusing the code ?
> 
> Thanks,
> Ian.
> 

I am using this functionality in a locally-patched libvirt where I have
replaced libxl 4.1 support with 4.2. I don't think the changes I made are
suitable for upstream as I assume libvirt will want to continue to support
libxl 4.1 in addition to 4.2 (and my patch discards the 4.1 support).

-- 
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 13:52:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 13:52:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7J5-0006ff-OQ; Wed, 09 May 2012 13:51:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SS7J3-0006fX-J7
	for xen-devel@lists.xen.org; Wed, 09 May 2012 13:51:53 +0000
Received: from [85.158.139.83:53267] by server-1.bemta-5.messagelabs.com id
	5C/47-28458-8767AAF4; Wed, 09 May 2012 13:51:52 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336571511!24773081!1
X-Originating-IP: [63.239.67.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3249 invoked from network); 9 May 2012 13:51:51 -0000
Received: from emvm-gh1-uea09.nsa.gov (HELO nsa.gov) (63.239.67.10)
	by server-4.tower-182.messagelabs.com with SMTP;
	9 May 2012 13:51:51 -0000
X-TM-IMSS-Message-ID: <56e20400000c95ac@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov
	([63.239.67.10]) with ESMTP (TREND IMSS SMTP Service 7.1) id
	56e20400000c95ac ; Wed, 9 May 2012 09:53:36 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49Dpfnb006365; 
	Wed, 9 May 2012 09:51:41 -0400
Message-ID: <4FAA7627.4010003@tycho.nsa.gov>
Date: Wed, 09 May 2012 09:50:31 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28433.983986.883494@mariner.uk.xensource.com>
In-Reply-To: <20394.28433.983986.883494@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 09:20 AM, Ian Jackson wrote:
> Daniel De Graaf writes ("[PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
>> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
>> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
>> the function call it made. Change the macro to a statement including the
>> return variable to fix this.
> 
> Also, does this mean that you're using this in anger, or did you just
> happen to spot it while perusing the code ?
> 
> Thanks,
> Ian.
> 

I am using this functionality in a locally-patched libvirt where I have
replaced libxl 4.1 support with 4.2. I don't think the changes I made are
suitable for upstream as I assume libvirt will want to continue to support
libxl 4.1 in addition to 4.2 (and my patch discards the 4.1 support).

-- 
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 14:07:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 14:07:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7Xs-0007Hh-0c; Wed, 09 May 2012 14:07:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS7Xq-0007HQ-1h
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 14:07:10 +0000
Received: from [85.158.138.51:17248] by server-8.bemta-3.messagelabs.com id
	57/29-24428-D0A7AAF4; Wed, 09 May 2012 14:07:09 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336572426!26021123!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6098 invoked from network); 9 May 2012 14:07:08 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-16.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 14:07:08 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS7Xm-0000Xf-9Z
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 07:07:06 -0700
Date: Wed, 9 May 2012 07:07:06 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336572426286-5697470.post@n5.nabble.com>
In-Reply-To: <1336504555.4350.22.camel@dagon.hellion.org.uk>
References: <1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
	<20120508162426.GD2058@reaktio.net>
	<1336504555.4350.22.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CklhbiBDYW1wYmVsbC0xMCB3cm90ZQo+IAo+IE9uIFR1ZSwgMjAxMi0wNS0wOCBhdCAxNzoyNCAr
MDEwMCwgUGFzaSBLw6Rya2vDpGluZW4gd3JvdGU6Cj4+IE9uIEZyaSwgTWF5IDA0LCAyMDEyIGF0
IDEyOjMyOjE5UE0gKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4gPiBPbiBGcmksIDIwMTIt
MDUtMDQgYXQgMTI6MjEgKzAxMDAsIEFudGhvbnkgUEVSQVJEIHdyb3RlOgo+PiA+ID4gT24gRnJp
LCBNYXkgNCwgMjAxMiBhdCA5OjI4IEFNLCBJYW4gQ2FtcGJlbGwgJmx0O0lhbi5DYW1wYmVsbEAm
Z3Q7Cj4+IHdyb3RlOgo+PiA+ID4gPiBBbnRob255IC0tIGFueSBpZGVhIHdoeSB0aGUgdmlkZW9y
YW0gc2V0dGluZyBkb2Vzbid0IHdvcmsgd2l0aAo+PiB1cHN0cmVhbQo+PiA+ID4gPiBxZW11Pwo+
PiA+ID4gCj4+ID4gPiBXZWxsLCB0aGUgcGFyYW1ldGVyIGNvdWxkIGJlIHBhc3MgdG8gcWVtdSBx
eGwsIGJ1dCBpdCdzIG5vdCB5ZXQuIEJ1dAo+PiA+ID4gdGhlbiwgaXQgc2VhbXMgeW91IGhhdmUg
dG8gaGF2ZSB0aGlzIHZhbHVlIG9mIGF0IGxlYXN0IDMyTUIsCj4+IG90aGVyd2lzZQo+PiA+ID4g
dGhlIHZhbHVlIGlzIGluY3JlYXNlIGluIHFlbXUuCj4+ID4gPiAKPj4gPiA+IEZvciBjaXJydXMv
c3RkdmdhLCB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyB0aGUgcGFyYW1ldGVyIHRvIHFlbXUsIHRo
ZQo+PiA+ID4gc2l6ZSBpbiBxZW11IGlzIGZpeGVkIHRvIDhNQi4KPj4gPiAKPj4gPiBPSywgc28g
dGhpcyBpcyBzaW1wbHkgYSBmZWF0dXJlIHdoaWNoIHVwc3RyZWFtIHFlbXUgZG9lc24ndCBoYXZl
Lgo+PiBUaGF0J3MKPj4gPiBmaW5lLgo+PiA+IAo+PiAKPj4gSXMgdGhpcyBzb21ldGhpbmcgdGhh
dCBzaG91bGQgYmUgZm9yd2FyZC1wb3J0ZWQgZnJvbSBxZW11LXhlbi10cmFkaXRpb25hbAo+PiB0
byB1cHN0cmVhbSBxZW11ID8KPiAKPiBJZiB0aGVyZSBhcmUgcmVhc29ucyB3aHkgdGhpcyBzaG91
bGQgYmUgY29uZmlndXJhYmxlLCB0aGVuIEkgZ3Vlc3Mgc28uCj4gQXJlIHlvdSBnb2luZyB0byBs
b29rIGludG8gdGhhdD8KPiAKPiBUaGlzIGRvZXNuJ3Qgc2VlbSBsaWtlIDQuMiBtYXRlcmlhbCB0
byBtZSB0aG91Z2guCj4gCj4+ID4gSSBndWVzcyB4bC5jZmcoNSkgbmVlZHMgdXBkYXRpbmcgdG8g
bWFrZSBpdCBjbGVhciB0aGF0IHRoaXMgb3B0aW9uIG9ubHkKPj4gPiBhcHBsaWVzIHRvIHFlbXUt
eGVuLXRyYWRpdGlvbmFsLgo+PiA+IAo+PiA+IFRoZSBkb2NzIGFsc28gY3VycmVudGx5IHNheSB0
aGF0IGZvciBzdGR2Z2EgdGhlIGRlZmF1bHQgaXMgOE1CIGFuZCBmb3IKPj4gPiBub3Qgc3Rkdmdh
IChieSB3aGljaCBJIGd1ZXNzIGl0IG1lYW5zIENpcnJ1cykgdGhlIGRlZmF1bHQgaWYgNE1CLiBT
byBJCj4+ID4gZ3Vlc3MgZXZlbiB0aGlzIGlzIGluYWNjdXJhdGUgZm9yIHFlbXUteGVuLXVwc3Ry
ZWFtPwo+PiA+IAo+PiA+IENhbiBzb21lb25lIHNlbmQgYSBwYXRjaCBwbGVhc2U/Cj4+ID4gCj4+
IAo+PiBGb3IgdGhlIGRvY3VtZW50YXRpb24gcGF0Y2ggbWF5YmUgYWRkIHRoaXMgdG8gdGhlIDQu
MiBzdGF0dXMgdG9kbyBsaXN0Cj4+IGFzIGEgcmVtaW5kZXIgOikgCj4gCj4gUGxlYXNlIG1ha2Ug
cmVxdWVzdHMgZm9yIGFkZGl0aW9ucyB0byB0aGUgVE9ETyBsaXN0IGluIHRoZSBtb3N0IHJlY2Vu
dAo+IFRPRE8gbGlzdCB0aHJlYWQsIHdpdGggYSBsaW5rIHRvIHRoZSByZWxldmFudCB0aHJlYWQu
IE90aGVyd2lzZSB0aGUKPiBjaGFuY2VzIGFyZSBJIHdvbid0IHJlbWVtYmVyIHdoZW4gSSB1cGRh
dGUgdGhlIGxpc3QsIHNpbmNlIEkgb25seSBsb29rCj4gYXQgcmVwbGllcyBpbiB0aGUgVE9ETyB0
aHJlYWRzLgo+IAo+IElhbi4KPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxALnhl
bgo+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo+IApJIG1heSBoYXZlIGZvdW5kIHNv
bWV0aGluZyB0aGF0IG1ha2VzIHRoZSBwcm9ibGVtIGNsZWFyZXIuCldpdGggUHJlY2lzZSBodm0g
ZG9tVSB3aXRoIHNwaWNlIGFuZCBjaXJydXMgKGRlZmF1bHQgdmdhKSBvbiBxZW11LXhlbiBsc3Bj
aQpzaG93IDMyIG1iIGJ1dCBYb3JnIG9ubHkgc2VlcyA0IG1iLgoKLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpsc3BjaSAtdnZ2Ci4uLgowMDowMi4w
IFZHQSBjb21wYXRpYmxlIGNvbnRyb2xsZXI6IENpcnJ1cyBMb2dpYyBHRCA1NDQ2IChwcm9nLWlm
IDAwIFtWR0EKY29udHJvbGxlcl0pCglTdWJzeXN0ZW06IFJlZCBIYXQsIEluYyBEZXZpY2UgMTEw
MAoJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FT
bm9vcC0gUGFyRXJyLQpTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0KCVN0YXR1czog
Q2FwLSA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxU
QWJvcnQtCjxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAKCVJlZ2lvbiAw
OiBNZW1vcnkgYXQgZjAwMDAwMDAgKDMyLWJpdCwgcHJlZmV0Y2hhYmxlKSBbc2l6ZT0mbHQ7Yj4z
Mk0qXQoJUmVnaW9uIDE6IE1lbW9yeSBhdCBmMzAyMDAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hh
YmxlKSBbc2l6ZT00S10KCUV4cGFuc2lvbiBST00gYXQgZjMwMDAwMDAgW2Rpc2FibGVkXSBbc2l6
ZT02NEtdCglLZXJuZWwgbW9kdWxlczogY2lycnVzZmIKLi4uCi0tLS0tLS0tLS0tLS0tLS0tClhv
cmcuMC5sb2cKLS0tLS0tLS0tLS0tLS0tCi4uLgpbICAgICA2LjQ0M10gKC0tKSBDSVJSVVMoMCk6
IFZpZGVvUkFNOiA0MDk2IGtCeXRlCi4uLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJZiB5b3UgbmVlZCBtb3JlIGluZm9ybWF0aW9uIEknbGwg
cG9zdCBpdC4KCi0tClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IGh0dHA6Ly94ZW4uMTA0
NTcxMi5uNS5uYWJibGUuY29tL1VuYWJsZS10by1nZXQtUVhMLXZnYS13b3JraW5nLXRwNTY2Nzkx
OXA1Njk3NDcwLmh0bWwKU2VudCBmcm9tIHRoZSBYZW4gLSBEZXYgbWFpbGluZyBsaXN0IGFyY2hp
dmUgYXQgTmFiYmxlLmNvbS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 09 14:07:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 14:07:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7Xs-0007Hh-0c; Wed, 09 May 2012 14:07:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS7Xq-0007HQ-1h
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 14:07:10 +0000
Received: from [85.158.138.51:17248] by server-8.bemta-3.messagelabs.com id
	57/29-24428-D0A7AAF4; Wed, 09 May 2012 14:07:09 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336572426!26021123!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6098 invoked from network); 9 May 2012 14:07:08 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-16.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	9 May 2012 14:07:08 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SS7Xm-0000Xf-9Z
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 07:07:06 -0700
Date: Wed, 9 May 2012 07:07:06 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336572426286-5697470.post@n5.nabble.com>
In-Reply-To: <1336504555.4350.22.camel@dagon.hellion.org.uk>
References: <1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
	<20120508162426.GD2058@reaktio.net>
	<1336504555.4350.22.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CklhbiBDYW1wYmVsbC0xMCB3cm90ZQo+IAo+IE9uIFR1ZSwgMjAxMi0wNS0wOCBhdCAxNzoyNCAr
MDEwMCwgUGFzaSBLw6Rya2vDpGluZW4gd3JvdGU6Cj4+IE9uIEZyaSwgTWF5IDA0LCAyMDEyIGF0
IDEyOjMyOjE5UE0gKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4gPiBPbiBGcmksIDIwMTIt
MDUtMDQgYXQgMTI6MjEgKzAxMDAsIEFudGhvbnkgUEVSQVJEIHdyb3RlOgo+PiA+ID4gT24gRnJp
LCBNYXkgNCwgMjAxMiBhdCA5OjI4IEFNLCBJYW4gQ2FtcGJlbGwgJmx0O0lhbi5DYW1wYmVsbEAm
Z3Q7Cj4+IHdyb3RlOgo+PiA+ID4gPiBBbnRob255IC0tIGFueSBpZGVhIHdoeSB0aGUgdmlkZW9y
YW0gc2V0dGluZyBkb2Vzbid0IHdvcmsgd2l0aAo+PiB1cHN0cmVhbQo+PiA+ID4gPiBxZW11Pwo+
PiA+ID4gCj4+ID4gPiBXZWxsLCB0aGUgcGFyYW1ldGVyIGNvdWxkIGJlIHBhc3MgdG8gcWVtdSBx
eGwsIGJ1dCBpdCdzIG5vdCB5ZXQuIEJ1dAo+PiA+ID4gdGhlbiwgaXQgc2VhbXMgeW91IGhhdmUg
dG8gaGF2ZSB0aGlzIHZhbHVlIG9mIGF0IGxlYXN0IDMyTUIsCj4+IG90aGVyd2lzZQo+PiA+ID4g
dGhlIHZhbHVlIGlzIGluY3JlYXNlIGluIHFlbXUuCj4+ID4gPiAKPj4gPiA+IEZvciBjaXJydXMv
c3RkdmdhLCB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyB0aGUgcGFyYW1ldGVyIHRvIHFlbXUsIHRo
ZQo+PiA+ID4gc2l6ZSBpbiBxZW11IGlzIGZpeGVkIHRvIDhNQi4KPj4gPiAKPj4gPiBPSywgc28g
dGhpcyBpcyBzaW1wbHkgYSBmZWF0dXJlIHdoaWNoIHVwc3RyZWFtIHFlbXUgZG9lc24ndCBoYXZl
Lgo+PiBUaGF0J3MKPj4gPiBmaW5lLgo+PiA+IAo+PiAKPj4gSXMgdGhpcyBzb21ldGhpbmcgdGhh
dCBzaG91bGQgYmUgZm9yd2FyZC1wb3J0ZWQgZnJvbSBxZW11LXhlbi10cmFkaXRpb25hbAo+PiB0
byB1cHN0cmVhbSBxZW11ID8KPiAKPiBJZiB0aGVyZSBhcmUgcmVhc29ucyB3aHkgdGhpcyBzaG91
bGQgYmUgY29uZmlndXJhYmxlLCB0aGVuIEkgZ3Vlc3Mgc28uCj4gQXJlIHlvdSBnb2luZyB0byBs
b29rIGludG8gdGhhdD8KPiAKPiBUaGlzIGRvZXNuJ3Qgc2VlbSBsaWtlIDQuMiBtYXRlcmlhbCB0
byBtZSB0aG91Z2guCj4gCj4+ID4gSSBndWVzcyB4bC5jZmcoNSkgbmVlZHMgdXBkYXRpbmcgdG8g
bWFrZSBpdCBjbGVhciB0aGF0IHRoaXMgb3B0aW9uIG9ubHkKPj4gPiBhcHBsaWVzIHRvIHFlbXUt
eGVuLXRyYWRpdGlvbmFsLgo+PiA+IAo+PiA+IFRoZSBkb2NzIGFsc28gY3VycmVudGx5IHNheSB0
aGF0IGZvciBzdGR2Z2EgdGhlIGRlZmF1bHQgaXMgOE1CIGFuZCBmb3IKPj4gPiBub3Qgc3Rkdmdh
IChieSB3aGljaCBJIGd1ZXNzIGl0IG1lYW5zIENpcnJ1cykgdGhlIGRlZmF1bHQgaWYgNE1CLiBT
byBJCj4+ID4gZ3Vlc3MgZXZlbiB0aGlzIGlzIGluYWNjdXJhdGUgZm9yIHFlbXUteGVuLXVwc3Ry
ZWFtPwo+PiA+IAo+PiA+IENhbiBzb21lb25lIHNlbmQgYSBwYXRjaCBwbGVhc2U/Cj4+ID4gCj4+
IAo+PiBGb3IgdGhlIGRvY3VtZW50YXRpb24gcGF0Y2ggbWF5YmUgYWRkIHRoaXMgdG8gdGhlIDQu
MiBzdGF0dXMgdG9kbyBsaXN0Cj4+IGFzIGEgcmVtaW5kZXIgOikgCj4gCj4gUGxlYXNlIG1ha2Ug
cmVxdWVzdHMgZm9yIGFkZGl0aW9ucyB0byB0aGUgVE9ETyBsaXN0IGluIHRoZSBtb3N0IHJlY2Vu
dAo+IFRPRE8gbGlzdCB0aHJlYWQsIHdpdGggYSBsaW5rIHRvIHRoZSByZWxldmFudCB0aHJlYWQu
IE90aGVyd2lzZSB0aGUKPiBjaGFuY2VzIGFyZSBJIHdvbid0IHJlbWVtYmVyIHdoZW4gSSB1cGRh
dGUgdGhlIGxpc3QsIHNpbmNlIEkgb25seSBsb29rCj4gYXQgcmVwbGllcyBpbiB0aGUgVE9ETyB0
aHJlYWRzLgo+IAo+IElhbi4KPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxALnhl
bgo+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo+IApJIG1heSBoYXZlIGZvdW5kIHNv
bWV0aGluZyB0aGF0IG1ha2VzIHRoZSBwcm9ibGVtIGNsZWFyZXIuCldpdGggUHJlY2lzZSBodm0g
ZG9tVSB3aXRoIHNwaWNlIGFuZCBjaXJydXMgKGRlZmF1bHQgdmdhKSBvbiBxZW11LXhlbiBsc3Bj
aQpzaG93IDMyIG1iIGJ1dCBYb3JnIG9ubHkgc2VlcyA0IG1iLgoKLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpsc3BjaSAtdnZ2Ci4uLgowMDowMi4w
IFZHQSBjb21wYXRpYmxlIGNvbnRyb2xsZXI6IENpcnJ1cyBMb2dpYyBHRCA1NDQ2IChwcm9nLWlm
IDAwIFtWR0EKY29udHJvbGxlcl0pCglTdWJzeXN0ZW06IFJlZCBIYXQsIEluYyBEZXZpY2UgMTEw
MAoJQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FT
bm9vcC0gUGFyRXJyLQpTdGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeC0KCVN0YXR1czog
Q2FwLSA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxU
QWJvcnQtCjxNQWJvcnQtID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAKCVJlZ2lvbiAw
OiBNZW1vcnkgYXQgZjAwMDAwMDAgKDMyLWJpdCwgcHJlZmV0Y2hhYmxlKSBbc2l6ZT0mbHQ7Yj4z
Mk0qXQoJUmVnaW9uIDE6IE1lbW9yeSBhdCBmMzAyMDAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hh
YmxlKSBbc2l6ZT00S10KCUV4cGFuc2lvbiBST00gYXQgZjMwMDAwMDAgW2Rpc2FibGVkXSBbc2l6
ZT02NEtdCglLZXJuZWwgbW9kdWxlczogY2lycnVzZmIKLi4uCi0tLS0tLS0tLS0tLS0tLS0tClhv
cmcuMC5sb2cKLS0tLS0tLS0tLS0tLS0tCi4uLgpbICAgICA2LjQ0M10gKC0tKSBDSVJSVVMoMCk6
IFZpZGVvUkFNOiA0MDk2IGtCeXRlCi4uLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJZiB5b3UgbmVlZCBtb3JlIGluZm9ybWF0aW9uIEknbGwg
cG9zdCBpdC4KCi0tClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IGh0dHA6Ly94ZW4uMTA0
NTcxMi5uNS5uYWJibGUuY29tL1VuYWJsZS10by1nZXQtUVhMLXZnYS13b3JraW5nLXRwNTY2Nzkx
OXA1Njk3NDcwLmh0bWwKU2VudCBmcm9tIHRoZSBYZW4gLSBEZXYgbWFpbGluZyBsaXN0IGFyY2hp
dmUgYXQgTmFiYmxlLmNvbS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 09 14:13:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 14:13:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7e6-0007Wr-Qw; Wed, 09 May 2012 14:13:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS7e4-0007Wi-I7
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 14:13:36 +0000
Received: from [85.158.143.35:37425] by server-3.bemta-4.messagelabs.com id
	58/ED-05853-F8B7AAF4; Wed, 09 May 2012 14:13:35 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336572813!14636726!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11408 invoked from network); 9 May 2012 14:13:34 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 14:13:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194049072"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:06:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 10:06:41 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS7T1-0000fE-6H;
	Wed, 09 May 2012 15:02:11 +0100
Message-ID: <4FAA789D.4080905@eu.citrix.com>
Date: Wed, 9 May 2012 15:01:01 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336560663@kodo2>
	<e43157a8693305e56270.1336560664@kodo2>
	<1336570788.25514.117.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336570788.25514.117.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3 RESEND] libxl: Look for bootloader in
 libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 14:39, Ian Campbell wrote:
> I think since libxl uses execvp the first two are handled by path
> expansion, the next two are what you are adding (so has priority over
> $PATH in your patch, which I think is OK) and the last one is irrelevant
> in this context (xend uses the same function for other contexts).
>
> However in order to not differ on the first two execvp needs to be given
> the opportunity to search the path, which means that you need to check
> of your newly constructed bootloader exists, and if it doesn't then try
> and continue with the relative path not the absolute one.
>
> Also since this patch comes before the rename+symlink patch as it stands
> this patch will temporarily break people who just have "pygrub" without
> a path in their config.
Ah, I didn't realize that xl would already search the path (via execvp).

I think it should be pretty straightforward to add a check for 
existence, and if not fall back to letting execvp search the path.

If I do that, arguably this patch would still come first in the series?  
Not that it matters much, really.

  -George

>
> Ian.
>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> diff -r 8a86d841e6d4 -r e43157a86933 tools/libxl/libxl_bootloader.c
>> --- a/tools/libxl/libxl_bootloader.c	Tue May 08 13:36:24 2012 +0200
>> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:38:50 2012 +0100
>> @@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>
>>       char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>>       char *tempdir;
>> +    const char *bootloader = NULL;
>>
>>       char *dom_console_xs_path;
>>       char dom_console_slave_tty_path[PATH_MAX];
>> @@ -397,6 +398,13 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>           goto out_close;
>>       }
>>
>> +    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
>> +                                 libxl__libexec_path());
>> +    if ( bootloader == NULL ) {
>> +        rc = ERROR_NOMEM;
>> +        goto out_close;
>> +    }
>> +
>>       /*
>>        * We need to present the bootloader's tty as a pty slave that xenconsole
>>        * can access.  Since the bootloader itself needs a pty slave,
>> @@ -417,7 +425,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>       dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
>>       libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
>>
>> -    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
>> +    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
>>       if (pid<  0) {
>>           goto out_close;
>>       }
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 14:13:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 14:13:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS7e6-0007Wr-Qw; Wed, 09 May 2012 14:13:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS7e4-0007Wi-I7
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 14:13:36 +0000
Received: from [85.158.143.35:37425] by server-3.bemta-4.messagelabs.com id
	58/ED-05853-F8B7AAF4; Wed, 09 May 2012 14:13:35 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336572813!14636726!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTEwNzE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11408 invoked from network); 9 May 2012 14:13:34 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 14:13:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="194049072"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:06:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 10:06:41 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS7T1-0000fE-6H;
	Wed, 09 May 2012 15:02:11 +0100
Message-ID: <4FAA789D.4080905@eu.citrix.com>
Date: Wed, 9 May 2012 15:01:01 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336560663@kodo2>
	<e43157a8693305e56270.1336560664@kodo2>
	<1336570788.25514.117.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336570788.25514.117.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3 RESEND] libxl: Look for bootloader in
 libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 14:39, Ian Campbell wrote:
> I think since libxl uses execvp the first two are handled by path
> expansion, the next two are what you are adding (so has priority over
> $PATH in your patch, which I think is OK) and the last one is irrelevant
> in this context (xend uses the same function for other contexts).
>
> However in order to not differ on the first two execvp needs to be given
> the opportunity to search the path, which means that you need to check
> of your newly constructed bootloader exists, and if it doesn't then try
> and continue with the relative path not the absolute one.
>
> Also since this patch comes before the rename+symlink patch as it stands
> this patch will temporarily break people who just have "pygrub" without
> a path in their config.
Ah, I didn't realize that xl would already search the path (via execvp).

I think it should be pretty straightforward to add a check for 
existence, and if not fall back to letting execvp search the path.

If I do that, arguably this patch would still come first in the series?  
Not that it matters much, really.

  -George

>
> Ian.
>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> diff -r 8a86d841e6d4 -r e43157a86933 tools/libxl/libxl_bootloader.c
>> --- a/tools/libxl/libxl_bootloader.c	Tue May 08 13:36:24 2012 +0200
>> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:38:50 2012 +0100
>> @@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>
>>       char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>>       char *tempdir;
>> +    const char *bootloader = NULL;
>>
>>       char *dom_console_xs_path;
>>       char dom_console_slave_tty_path[PATH_MAX];
>> @@ -397,6 +398,13 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>           goto out_close;
>>       }
>>
>> +    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
>> +                                 libxl__libexec_path());
>> +    if ( bootloader == NULL ) {
>> +        rc = ERROR_NOMEM;
>> +        goto out_close;
>> +    }
>> +
>>       /*
>>        * We need to present the bootloader's tty as a pty slave that xenconsole
>>        * can access.  Since the bootloader itself needs a pty slave,
>> @@ -417,7 +425,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>       dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
>>       libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
>>
>> -    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
>> +    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
>>       if (pid<  0) {
>>           goto out_close;
>>       }
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 14:49:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 14:49:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8Ci-0007os-QF; Wed, 09 May 2012 14:49:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS8Ch-0007on-Gv
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 14:49:23 +0000
Received: from [85.158.143.35:4848] by server-3.bemta-4.messagelabs.com id
	45/C7-05853-2F38AAF4; Wed, 09 May 2012 14:49:22 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336574960!15333459!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16860 invoked from network); 9 May 2012 14:49:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 14:49:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25025098"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:49:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 10:49:18 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS8Cc-0001cE-F9;
	Wed, 09 May 2012 15:49:18 +0100
Message-ID: <4FAA83A8.8070804@eu.citrix.com>
Date: Wed, 9 May 2012 15:48:08 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336570982.25514.120.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 14:43, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> diff -r 52f45b258ccc -r 794778a6e9fa tools/libxl/libxl_bootloader.c
>> --- a/tools/libxl/libxl_bootloader.c	Wed May 09 11:39:43 2012 +0100
>> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:42:19 2012 +0100
>> @@ -15,6 +15,7 @@
>>   #include "libxl_osdeps.h" /* must come before any other headers */
>>
>>   #include<termios.h>
>> +#include<string.h>
>>
>>   #include "libxl_internal.h"
>>
>> @@ -398,6 +399,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>           goto out_close;
>>       }
>>
>> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
> Why strncmp and not just strcmp? And why 20? AFAIK
> strlen("/usr/bin/pygrub") == 15 or 16 or so...
ISTR in the past build processes throwing warnings that strcmp() is 
unsafe, and since warnings turn to errors, pre-emptively used the "safe" 
version instead.  Let me give it a try; it should be perfectly safe for 
us, and will remove the issue with manually syncronizing string with its 
size.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 14:49:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 14:49:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8Ci-0007os-QF; Wed, 09 May 2012 14:49:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SS8Ch-0007on-Gv
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 14:49:23 +0000
Received: from [85.158.143.35:4848] by server-3.bemta-4.messagelabs.com id
	45/C7-05853-2F38AAF4; Wed, 09 May 2012 14:49:22 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336574960!15333459!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16860 invoked from network); 9 May 2012 14:49:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 14:49:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330923600"; d="scan'208";a="25025098"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 10:49:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 9 May 2012 10:49:18 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SS8Cc-0001cE-F9;
	Wed, 09 May 2012 15:49:18 +0100
Message-ID: <4FAA83A8.8070804@eu.citrix.com>
Date: Wed, 9 May 2012 15:48:08 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336570982.25514.120.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 14:43, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> diff -r 52f45b258ccc -r 794778a6e9fa tools/libxl/libxl_bootloader.c
>> --- a/tools/libxl/libxl_bootloader.c	Wed May 09 11:39:43 2012 +0100
>> +++ b/tools/libxl/libxl_bootloader.c	Wed May 09 11:42:19 2012 +0100
>> @@ -15,6 +15,7 @@
>>   #include "libxl_osdeps.h" /* must come before any other headers */
>>
>>   #include<termios.h>
>> +#include<string.h>
>>
>>   #include "libxl_internal.h"
>>
>> @@ -398,6 +399,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>>           goto out_close;
>>       }
>>
>> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
> Why strncmp and not just strcmp? And why 20? AFAIK
> strlen("/usr/bin/pygrub") == 15 or 16 or so...
ISTR in the past build processes throwing warnings that strcmp() is 
unsafe, and since warnings turn to errors, pre-emptively used the "safe" 
version instead.  Let me give it a try; it should be perfectly safe for 
us, and will remove the issue with manually syncronizing string with its 
size.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 15:24:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 15:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8ja-00085b-JY; Wed, 09 May 2012 15:23:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS8jY-00085W-SM
	for xen-devel@lists.xen.org; Wed, 09 May 2012 15:23:21 +0000
Received: from [85.158.138.51:57250] by server-9.bemta-3.messagelabs.com id
	0B/B9-26691-8EB8AAF4; Wed, 09 May 2012 15:23:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336576999!17225602!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9778 invoked from network); 9 May 2012 15:23:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 15:23:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12383443"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:23:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 16:23:18 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS8jV-000050-Su; Wed, 09 May 2012 15:23:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS8jV-0005TR-Rr;
	Wed, 09 May 2012 16:23:17 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.35813.845562.695653@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 16:23:17 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <1336561898.2621.4.camel@Abyss>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
	<1336561898.2621.4.camel@Abyss>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("Re: [PATCH] libxl: use xc_topologyinfo to figure out how many CPUs we actually have"):
> And, as it is an actual bugfix and very very small in size, not to
> forget that I'd need that for the NUMA placement series, I'm proposing
> this for 4.2... Does it make sense?

It seems to to me that this is indeed 4.2 material.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 15:24:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 15:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8ja-00085b-JY; Wed, 09 May 2012 15:23:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS8jY-00085W-SM
	for xen-devel@lists.xen.org; Wed, 09 May 2012 15:23:21 +0000
Received: from [85.158.138.51:57250] by server-9.bemta-3.messagelabs.com id
	0B/B9-26691-8EB8AAF4; Wed, 09 May 2012 15:23:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336576999!17225602!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9778 invoked from network); 9 May 2012 15:23:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 15:23:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12383443"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:23:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 16:23:18 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS8jV-000050-Su; Wed, 09 May 2012 15:23:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS8jV-0005TR-Rr;
	Wed, 09 May 2012 16:23:17 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.35813.845562.695653@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 16:23:17 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <1336561898.2621.4.camel@Abyss>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
	<1336561898.2621.4.camel@Abyss>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("Re: [PATCH] libxl: use xc_topologyinfo to figure out how many CPUs we actually have"):
> And, as it is an actual bugfix and very very small in size, not to
> forget that I'd need that for the NUMA placement series, I'm proposing
> this for 4.2... Does it make sense?

It seems to to me that this is indeed 4.2 material.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 15:33:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 15:33:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8sr-0008HK-LV; Wed, 09 May 2012 15:32:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS8sp-0008Fi-Uz
	for xen-devel@lists.xen.org; Wed, 09 May 2012 15:32:56 +0000
Received: from [85.158.138.51:28731] by server-6.bemta-3.messagelabs.com id
	EF/27-05145-42E8AAF4; Wed, 09 May 2012 15:32:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336577571!18190903!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3669 invoked from network); 9 May 2012 15:32:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 15:32:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12383644"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:32:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 16:32:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS8sl-00007w-2w; Wed, 09 May 2012 15:32:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS8sl-0005eU-23;
	Wed, 09 May 2012 16:32:51 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.36387.49258.141494@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 16:32:51 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FAA7354.5070802@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
	<4FAA7354.5070802@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of
	OSEVENT_HOOK macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("[PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> Agreed, using the statement expression syntax seems cleaner here.
...
> +#define OSEVENT_HOOK(hookname,...) ({                                       \
> +    int rc;                                                                 \
> +    if (CTX->osevent_hooks) {                                               \
> +        CTX->osevent_in_hook++;                                             \
> +        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
> +        CTX->osevent_in_hook--;                                             \
> +    } else {                                                                \
> +        rc = 0;                                                             \
> +    }                                                                       \
> +    rc;                                                                     \
> +})

Thanks.  However, you need to use a different variable name to "rc".
"rc" might theoretically be present int __VA_ARGS__ in which case this
will go wrong.  Also if we ever enable -Wshadow, this construction
will cause a warning.  I suggest   int osevent_hook_rc;

You could preserve the unification of the two macros by having

 #define OSEVENT_HOOK(hookname,...)                                           \
     OSEVENT_HOOK_INTERN(osevent_hook_rc =, /*empty*/, hookname, __VA_ARGS__)

 #define OSEVENT_HOOK_VOID(hookname,...)                                      \
     OSEVENT_HOOK_INTERN(/*empty*/,         (void),    hookname, __VA_ARGS__)

or some such.  I don't know whether you like that idea; if you do
please go ahead and do it.  If not then I'm happy to take the patch
which duplicates the macro.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 15:33:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 15:33:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8sr-0008HK-LV; Wed, 09 May 2012 15:32:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS8sp-0008Fi-Uz
	for xen-devel@lists.xen.org; Wed, 09 May 2012 15:32:56 +0000
Received: from [85.158.138.51:28731] by server-6.bemta-3.messagelabs.com id
	EF/27-05145-42E8AAF4; Wed, 09 May 2012 15:32:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336577571!18190903!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3669 invoked from network); 9 May 2012 15:32:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 15:32:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12383644"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:32:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 16:32:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS8sl-00007w-2w; Wed, 09 May 2012 15:32:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS8sl-0005eU-23;
	Wed, 09 May 2012 16:32:51 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.36387.49258.141494@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 16:32:51 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FAA7354.5070802@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
	<4FAA7354.5070802@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of
	OSEVENT_HOOK macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("[PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> Agreed, using the statement expression syntax seems cleaner here.
...
> +#define OSEVENT_HOOK(hookname,...) ({                                       \
> +    int rc;                                                                 \
> +    if (CTX->osevent_hooks) {                                               \
> +        CTX->osevent_in_hook++;                                             \
> +        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
> +        CTX->osevent_in_hook--;                                             \
> +    } else {                                                                \
> +        rc = 0;                                                             \
> +    }                                                                       \
> +    rc;                                                                     \
> +})

Thanks.  However, you need to use a different variable name to "rc".
"rc" might theoretically be present int __VA_ARGS__ in which case this
will go wrong.  Also if we ever enable -Wshadow, this construction
will cause a warning.  I suggest   int osevent_hook_rc;

You could preserve the unification of the two macros by having

 #define OSEVENT_HOOK(hookname,...)                                           \
     OSEVENT_HOOK_INTERN(osevent_hook_rc =, /*empty*/, hookname, __VA_ARGS__)

 #define OSEVENT_HOOK_VOID(hookname,...)                                      \
     OSEVENT_HOOK_INTERN(/*empty*/,         (void),    hookname, __VA_ARGS__)

or some such.  I don't know whether you like that idea; if you do
please go ahead and do it.  If not then I'm happy to take the patch
which duplicates the macro.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 15:34:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 15:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8uN-0008Kq-4l; Wed, 09 May 2012 15:34:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS8uM-0008Ki-GL
	for xen-devel@lists.xen.org; Wed, 09 May 2012 15:34:30 +0000
Received: from [85.158.143.35:40909] by server-2.bemta-4.messagelabs.com id
	F0/F6-17550-58E8AAF4; Wed, 09 May 2012 15:34:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336577667!10260330!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1394 invoked from network); 9 May 2012 15:34:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 15:34:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12383673"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:33:49 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 16:33:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS8tg-00008T-QF; Wed, 09 May 2012 15:33:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS8tg-0005fh-PA;
	Wed, 09 May 2012 16:33:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.36444.760368.974206@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 16:33:48 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FAA7627.4010003@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28433.983986.883494@mariner.uk.xensource.com>
	<4FAA7627.4010003@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("Re: [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> I am using this functionality in a locally-patched libvirt where I have
> replaced libxl 4.1 support with 4.2. I don't think the changes I made are
> suitable for upstream as I assume libvirt will want to continue to support
> libxl 4.1 in addition to 4.2 (and my patch discards the 4.1 support).

Right.  But we might like to see them anyway; they might provide a
basis for a more-compatibility-respecting 4.2 port.

Thanks!

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 15:34:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 15:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS8uN-0008Kq-4l; Wed, 09 May 2012 15:34:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS8uM-0008Ki-GL
	for xen-devel@lists.xen.org; Wed, 09 May 2012 15:34:30 +0000
Received: from [85.158.143.35:40909] by server-2.bemta-4.messagelabs.com id
	F0/F6-17550-58E8AAF4; Wed, 09 May 2012 15:34:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336577667!10260330!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1394 invoked from network); 9 May 2012 15:34:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 15:34:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12383673"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:33:49 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 16:33:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SS8tg-00008T-QF; Wed, 09 May 2012 15:33:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SS8tg-0005fh-PA;
	Wed, 09 May 2012 16:33:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20394.36444.760368.974206@mariner.uk.xensource.com>
Date: Wed, 9 May 2012 16:33:48 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FAA7627.4010003@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28433.983986.883494@mariner.uk.xensource.com>
	<4FAA7627.4010003@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK
	macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("Re: [PATCH] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> I am using this functionality in a locally-patched libvirt where I have
> replaced libxl 4.1 support with 4.2. I don't think the changes I made are
> suitable for upstream as I assume libvirt will want to continue to support
> libxl 4.1 in addition to 4.2 (and my patch discards the 4.1 support).

Right.  But we might like to see them anyway; they might provide a
basis for a more-compatibility-respecting 4.2 port.

Thanks!

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 16:07:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 16:07:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS9Po-0000tc-EY; Wed, 09 May 2012 16:07:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SS9Pn-0000tW-0O
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 16:06:59 +0000
Received: from [85.158.143.99:32117] by server-1.bemta-4.messagelabs.com id
	65/52-20925-2269AAF4; Wed, 09 May 2012 16:06:58 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336579617!17448181!1
X-Originating-IP: [209.85.212.177]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1179 invoked from network); 9 May 2012 16:06:57 -0000
Received: from mail-wi0-f177.google.com (HELO mail-wi0-f177.google.com)
	(209.85.212.177)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 16:06:57 -0000
Received: by wibhj13 with SMTP id hj13so471799wib.6
	for <xen-devel@lists.xensource.com>;
	Wed, 09 May 2012 09:06:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=yvI4zc0tHXFtB3bfbgf4L51O9cxNj8E8NPZwPi5IKSE=;
	b=yfxCzJlVy5lyAhLGGsch6aqd4ZHpL89cr6IXD5fIM9DeChniTuZDgGmjFTazpTRaGI
	5RCUONcW41yMBDy053nIQnLG372efgTcwkFfUzbp8BLWP+7d40O1h2m72dvy8fZZJzhv
	iPzll2elN8Evk8N4X5wg0fl1nWlNGw1TAjXlWUb8IofLeP/i0sOfArysQ52YRBfTTfGT
	gyr/MmjX4MhwhDE2nwBi9iWWqAz/AUXByiXJgcCZynGnVJcz1wbdYQDfBP3xla+2WqGP
	JjR0cL7XJHRFz7sIf03jVpNWlx9JvXInCFsSWJMcI8bBh0LhJjET3FyFjPABvunncKcp
	T7dw==
Received: by 10.50.149.134 with SMTP id ua6mr1855645igb.11.1336579291706; Wed,
	09 May 2012 09:01:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.73.228 with HTTP; Wed, 9 May 2012 09:01:01 -0700 (PDT)
In-Reply-To: <1336572426286-5697470.post@n5.nabble.com>
References: <1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
	<20120508162426.GD2058@reaktio.net>
	<1336504555.4350.22.camel@dagon.hellion.org.uk>
	<1336572426286-5697470.post@n5.nabble.com>
From: Anthony PERARD <anthony.perard@gmail.com>
Date: Wed, 9 May 2012 17:01:01 +0100
Message-ID: <CAJJyHjKtd6oSZLADhm+eqgzM22LYbDrwZBMWZpFC9KzMxugztw@mail.gmail.com>
To: Fantu <fantonifabio@tiscali.it>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PiBJIG1heSBoYXZlIGZvdW5kIHNvbWV0aGluZyB0aGF0IG1ha2VzIHRoZSBwcm9ibGVtIGNsZWFy
ZXIuCj4gV2l0aCBQcmVjaXNlIGh2bSBkb21VIHdpdGggc3BpY2UgYW5kIGNpcnJ1cyAoZGVmYXVs
dCB2Z2EpIG9uIHFlbXUteGVuIGxzcGNpCj4gc2hvdyAzMiBtYiBidXQgWG9yZyBvbmx5IHNlZXMg
NCBtYi4KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KPiBsc3BjaSAtdnZ2Cj4gLi4uCj4gMDA6MDIuMCBWR0EgY29tcGF0aWJsZSBjb250cm9s
bGVyOiBDaXJydXMgTG9naWMgR0QgNTQ0NiAocHJvZy1pZiAwMCBbVkdBCj4gY29udHJvbGxlcl0p
Cj4gwqAgwqAgwqAgwqBTdWJzeXN0ZW06IFJlZCBIYXQsIEluYyBEZXZpY2UgMTEwMAo+IMKgIMKg
IMKgIMKgQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBW
R0FTbm9vcC0gUGFyRXJyLQo+IFN0ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQo+IMKg
IMKgIMKgIMKgU3RhdHVzOiBDYXAtIDY2TUh6LSBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VM
PWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0KPiA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCj4g
wqAgwqAgwqAgwqBMYXRlbmN5OiAwCj4gwqAgwqAgwqAgwqBSZWdpb24gMDogTWVtb3J5IGF0IGYw
MDAwMDAwICgzMi1iaXQsIHByZWZldGNoYWJsZSkgW3NpemU9Jmx0O2I+MzJNKl0KPiDCoCDCoCDC
oCDCoFJlZ2lvbiAxOiBNZW1vcnkgYXQgZjMwMjAwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJs
ZSkgW3NpemU9NEtdCj4gwqAgwqAgwqAgwqBFeHBhbnNpb24gUk9NIGF0IGYzMDAwMDAwIFtkaXNh
YmxlZF0gW3NpemU9NjRLXQo+IMKgIMKgIMKgIMKgS2VybmVsIG1vZHVsZXM6IGNpcnJ1c2ZiCj4g
Li4uCj4gLS0tLS0tLS0tLS0tLS0tLS0KPiBYb3JnLjAubG9nCj4gLS0tLS0tLS0tLS0tLS0tCj4g
Li4uCj4gWyDCoCDCoCA2LjQ0M10gKC0tKSBDSVJSVVMoMCk6IFZpZGVvUkFNOiA0MDk2IGtCeXRl
Cj4gLi4uCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQo+Cj4gSWYgeW91IG5lZWQgbW9yZSBpbmZvcm1hdGlvbiBJJ2xsIHBvc3QgaXQuCgpUaGlz
IGlzIHByb2JhYmx5IG5vdCByZWxhdGVkLgoKSSB0cnkgdG8gcnVuIHF4bCwgYW5kIGZvdW5kIHRo
ZSBzYW1lIGlzc3VlIGFzIHlvdSwgWG9yZy1zZXJ2ZXIKc2VnZmF1bHQuIEJ1dCBJIHNlZSB0aGF0
IFhlbiBnaXZlIGFuIGVycm9yIG1lc3NhZ2U6CihYRU4pIGVtdWxhdGUuYzo5NzpkMjQgYmFkIG1t
aW8gc2l6ZSAxNgooWEVOKSBpby5jOjE5OTpkMjQgTU1JTyBlbXVsYXRpb24gZmFpbGVkIEAgMDAz
Mzo3ZmY1ZGQ4ZDc5Mzg6IGYzIDBmIDZmCjE5IGYzIDBmIDZmIDUxIDEwIGYzCgpUaGF0IHByb2Jh
Ymx5IHdoeSBxeGwgZG9lcyBub3Qgd29yayB3aXRoIFhlbi4KCi0tIApBbnRob255IFBFUkFSRAoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs
IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y
Zy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Wed May 09 16:07:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 16:07:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS9Po-0000tc-EY; Wed, 09 May 2012 16:07:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SS9Pn-0000tW-0O
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 16:06:59 +0000
Received: from [85.158.143.99:32117] by server-1.bemta-4.messagelabs.com id
	65/52-20925-2269AAF4; Wed, 09 May 2012 16:06:58 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336579617!17448181!1
X-Originating-IP: [209.85.212.177]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1179 invoked from network); 9 May 2012 16:06:57 -0000
Received: from mail-wi0-f177.google.com (HELO mail-wi0-f177.google.com)
	(209.85.212.177)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 16:06:57 -0000
Received: by wibhj13 with SMTP id hj13so471799wib.6
	for <xen-devel@lists.xensource.com>;
	Wed, 09 May 2012 09:06:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=yvI4zc0tHXFtB3bfbgf4L51O9cxNj8E8NPZwPi5IKSE=;
	b=yfxCzJlVy5lyAhLGGsch6aqd4ZHpL89cr6IXD5fIM9DeChniTuZDgGmjFTazpTRaGI
	5RCUONcW41yMBDy053nIQnLG372efgTcwkFfUzbp8BLWP+7d40O1h2m72dvy8fZZJzhv
	iPzll2elN8Evk8N4X5wg0fl1nWlNGw1TAjXlWUb8IofLeP/i0sOfArysQ52YRBfTTfGT
	gyr/MmjX4MhwhDE2nwBi9iWWqAz/AUXByiXJgcCZynGnVJcz1wbdYQDfBP3xla+2WqGP
	JjR0cL7XJHRFz7sIf03jVpNWlx9JvXInCFsSWJMcI8bBh0LhJjET3FyFjPABvunncKcp
	T7dw==
Received: by 10.50.149.134 with SMTP id ua6mr1855645igb.11.1336579291706; Wed,
	09 May 2012 09:01:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.73.228 with HTTP; Wed, 9 May 2012 09:01:01 -0700 (PDT)
In-Reply-To: <1336572426286-5697470.post@n5.nabble.com>
References: <1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336131139.2361.60.camel@zakaz.uk.xensource.com>
	<20120508162426.GD2058@reaktio.net>
	<1336504555.4350.22.camel@dagon.hellion.org.uk>
	<1336572426286-5697470.post@n5.nabble.com>
From: Anthony PERARD <anthony.perard@gmail.com>
Date: Wed, 9 May 2012 17:01:01 +0100
Message-ID: <CAJJyHjKtd6oSZLADhm+eqgzM22LYbDrwZBMWZpFC9KzMxugztw@mail.gmail.com>
To: Fantu <fantonifabio@tiscali.it>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PiBJIG1heSBoYXZlIGZvdW5kIHNvbWV0aGluZyB0aGF0IG1ha2VzIHRoZSBwcm9ibGVtIGNsZWFy
ZXIuCj4gV2l0aCBQcmVjaXNlIGh2bSBkb21VIHdpdGggc3BpY2UgYW5kIGNpcnJ1cyAoZGVmYXVs
dCB2Z2EpIG9uIHFlbXUteGVuIGxzcGNpCj4gc2hvdyAzMiBtYiBidXQgWG9yZyBvbmx5IHNlZXMg
NCBtYi4KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KPiBsc3BjaSAtdnZ2Cj4gLi4uCj4gMDA6MDIuMCBWR0EgY29tcGF0aWJsZSBjb250cm9s
bGVyOiBDaXJydXMgTG9naWMgR0QgNTQ0NiAocHJvZy1pZiAwMCBbVkdBCj4gY29udHJvbGxlcl0p
Cj4gwqAgwqAgwqAgwqBTdWJzeXN0ZW06IFJlZCBIYXQsIEluYyBEZXZpY2UgMTEwMAo+IMKgIMKg
IMKgIMKgQ29udHJvbDogSS9PKyBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBW
R0FTbm9vcC0gUGFyRXJyLQo+IFN0ZXBwaW5nLSBTRVJSLSBGYXN0QjJCLSBEaXNJTlR4LQo+IMKg
IMKgIMKgIMKgU3RhdHVzOiBDYXAtIDY2TUh6LSBVREYtIEZhc3RCMkItIFBhckVyci0gREVWU0VM
PWZhc3QgPlRBYm9ydC0gPFRBYm9ydC0KPiA8TUFib3J0LSA+U0VSUi0gPFBFUlItIElOVHgtCj4g
wqAgwqAgwqAgwqBMYXRlbmN5OiAwCj4gwqAgwqAgwqAgwqBSZWdpb24gMDogTWVtb3J5IGF0IGYw
MDAwMDAwICgzMi1iaXQsIHByZWZldGNoYWJsZSkgW3NpemU9Jmx0O2I+MzJNKl0KPiDCoCDCoCDC
oCDCoFJlZ2lvbiAxOiBNZW1vcnkgYXQgZjMwMjAwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJs
ZSkgW3NpemU9NEtdCj4gwqAgwqAgwqAgwqBFeHBhbnNpb24gUk9NIGF0IGYzMDAwMDAwIFtkaXNh
YmxlZF0gW3NpemU9NjRLXQo+IMKgIMKgIMKgIMKgS2VybmVsIG1vZHVsZXM6IGNpcnJ1c2ZiCj4g
Li4uCj4gLS0tLS0tLS0tLS0tLS0tLS0KPiBYb3JnLjAubG9nCj4gLS0tLS0tLS0tLS0tLS0tCj4g
Li4uCj4gWyDCoCDCoCA2LjQ0M10gKC0tKSBDSVJSVVMoMCk6IFZpZGVvUkFNOiA0MDk2IGtCeXRl
Cj4gLi4uCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQo+Cj4gSWYgeW91IG5lZWQgbW9yZSBpbmZvcm1hdGlvbiBJJ2xsIHBvc3QgaXQuCgpUaGlz
IGlzIHByb2JhYmx5IG5vdCByZWxhdGVkLgoKSSB0cnkgdG8gcnVuIHF4bCwgYW5kIGZvdW5kIHRo
ZSBzYW1lIGlzc3VlIGFzIHlvdSwgWG9yZy1zZXJ2ZXIKc2VnZmF1bHQuIEJ1dCBJIHNlZSB0aGF0
IFhlbiBnaXZlIGFuIGVycm9yIG1lc3NhZ2U6CihYRU4pIGVtdWxhdGUuYzo5NzpkMjQgYmFkIG1t
aW8gc2l6ZSAxNgooWEVOKSBpby5jOjE5OTpkMjQgTU1JTyBlbXVsYXRpb24gZmFpbGVkIEAgMDAz
Mzo3ZmY1ZGQ4ZDc5Mzg6IGYzIDBmIDZmCjE5IGYzIDBmIDZmIDUxIDEwIGYzCgpUaGF0IHByb2Jh
Ymx5IHdoeSBxeGwgZG9lcyBub3Qgd29yayB3aXRoIFhlbi4KCi0tIApBbnRob255IFBFUkFSRAoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs
IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y
Zy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Wed May 09 16:37:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 16:37:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS9sP-0001Am-5I; Wed, 09 May 2012 16:36:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS9sO-0001Ah-4s
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 16:36:32 +0000
Received: from [85.158.138.51:29180] by server-5.bemta-3.messagelabs.com id
	F3/59-17113-F0D9AAF4; Wed, 09 May 2012 16:36:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336581390!17239862!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3438 invoked from network); 9 May 2012 16:36:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 16:36:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12385533"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 16:36:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 17:36:29 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SS9sL-0000Wy-Eu;
	Wed, 09 May 2012 16:36:29 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SS9sL-0003dT-Al;
	Wed, 09 May 2012 17:36:29 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12825-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 17:36:29 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12825: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12825 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12825/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pv           9 guest-start                 fail pass in 12822
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12822 pass in 12825

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          fail    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=513ca342fd86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing 513ca342fd86
+ branch=xen-4.1-testing
+ revision=513ca342fd86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r 513ca342fd86 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 4 changes to 4 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 16:37:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 16:37:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS9sP-0001Am-5I; Wed, 09 May 2012 16:36:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SS9sO-0001Ah-4s
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 16:36:32 +0000
Received: from [85.158.138.51:29180] by server-5.bemta-3.messagelabs.com id
	F3/59-17113-F0D9AAF4; Wed, 09 May 2012 16:36:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336581390!17239862!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3438 invoked from network); 9 May 2012 16:36:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 16:36:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,557,1330905600"; d="scan'208";a="12385533"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 16:36:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 17:36:29 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SS9sL-0000Wy-Eu;
	Wed, 09 May 2012 16:36:29 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SS9sL-0003dT-Al;
	Wed, 09 May 2012 17:36:29 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12825-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 17:36:29 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12825: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12825 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12825/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pv           9 guest-start                 fail pass in 12822
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12822 pass in 12825

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12785

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass

version targeted for testing:
 xen                  513ca342fd86
baseline version:
 xen                  a21938b58fc4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          fail    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=513ca342fd86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing 513ca342fd86
+ branch=xen-4.1-testing
+ revision=513ca342fd86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r 513ca342fd86 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 4 changes to 4 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 16:44:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 16:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS9zj-0001Nb-2B; Wed, 09 May 2012 16:44:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SS9zh-0001NU-V5
	for xen-devel@lists.xen.org; Wed, 09 May 2012 16:44:06 +0000
Received: from [85.158.139.83:8792] by server-7.bemta-5.messagelabs.com id
	1D/D6-16195-5DE9AAF4; Wed, 09 May 2012 16:44:05 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336581843!27508099!1
X-Originating-IP: [63.239.67.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13383 invoked from network); 9 May 2012 16:44:04 -0000
Received: from emvm-gh1-uea09.nsa.gov (HELO nsa.gov) (63.239.67.10)
	by server-2.tower-182.messagelabs.com with SMTP;
	9 May 2012 16:44:04 -0000
X-TM-IMSS-Message-ID: <577faf9d000cd295@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov
	([63.239.67.10]) with ESMTP (TREND IMSS SMTP Service 7.1) id
	577faf9d000cd295 ; Wed, 9 May 2012 12:45:49 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49GhtIq016292; 
	Wed, 9 May 2012 12:43:55 -0400
Message-ID: <4FAA9E85.9010007@tycho.nsa.gov>
Date: Wed, 09 May 2012 12:42:45 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
	<4FAA7354.5070802@tycho.nsa.gov>
	<20394.36387.49258.141494@mariner.uk.xensource.com>
In-Reply-To: <20394.36387.49258.141494@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of
	OSEVENT_HOOK macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 11:32 AM, Ian Jackson wrote:
> Daniel De Graaf writes ("[PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
>> Agreed, using the statement expression syntax seems cleaner here.
> ...
>> +#define OSEVENT_HOOK(hookname,...) ({                                       \
>> +    int rc;                                                                 \
>> +    if (CTX->osevent_hooks) {                                               \
>> +        CTX->osevent_in_hook++;                                             \
>> +        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
>> +        CTX->osevent_in_hook--;                                             \
>> +    } else {                                                                \
>> +        rc = 0;                                                             \
>> +    }                                                                       \
>> +    rc;                                                                     \
>> +})
> 
> Thanks.  However, you need to use a different variable name to "rc".
> "rc" might theoretically be present int __VA_ARGS__ in which case this
> will go wrong.  Also if we ever enable -Wshadow, this construction
> will cause a warning.  I suggest   int osevent_hook_rc;
> 
> You could preserve the unification of the two macros by having
> 
>  #define OSEVENT_HOOK(hookname,...)                                           \
>      OSEVENT_HOOK_INTERN(osevent_hook_rc =, /*empty*/, hookname, __VA_ARGS__)
> 
>  #define OSEVENT_HOOK_VOID(hookname,...)                                      \
>      OSEVENT_HOOK_INTERN(/*empty*/,         (void),    hookname, __VA_ARGS__)
> 
> or some such.  I don't know whether you like that idea; if you do
> please go ahead and do it.  If not then I'm happy to take the patch
> which duplicates the macro.
> 
> Ian.
> 

I like that method (or this slight tweak to it):

-----------8<-------------------------

The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
expression CTX->osevent_in_hook-- (usually 1) instead of the value of
the function call it made. Fix the macro to return the proper value.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/libxl/libxl_event.c |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 638b9ab..a31aec7 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -27,18 +27,22 @@
  * these macros, with the ctx locked.  Likewise all the "occurred"
  * entrypoints from the application should assert(!in_hook);
  */
-#define OSEVENT_HOOK_INTERN(defval, hookname, ...)                      \
-    (CTX->osevent_hooks                                                 \
-     ? (CTX->osevent_in_hook++,                                         \
-        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__),   \
-        CTX->osevent_in_hook--)                                         \
-     : defval)
-
-#define OSEVENT_HOOK(hookname,...)                      \
-    OSEVENT_HOOK_INTERN(0, hookname, __VA_ARGS__)
-
-#define OSEVENT_HOOK_VOID(hookname,...)                 \
-    OSEVENT_HOOK_INTERN((void)0, hookname, __VA_ARGS__)
+#define OSEVENT_HOOK_INTERN(retval, hookname, ...) do {                      \
+    if (CTX->osevent_hooks) {                                                \
+        CTX->osevent_in_hook++;                                              \
+        retval CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__); \
+        CTX->osevent_in_hook--;                                              \
+    }                                                                        \
+} while (0)
+
+#define OSEVENT_HOOK(hookname, ...) ({                                       \
+    int osevent_hook_rc = 0;                                                 \
+    OSEVENT_HOOK_INTERN(osevent_hook_rc = , hookname, __VA_ARGS__);          \
+    osevent_hook_rc;                                                         \
+})
+
+#define OSEVENT_HOOK_VOID(hookname, ...) \
+    OSEVENT_HOOK_INTERN(/* void */, hookname, __VA_ARGS__)
 
 /*
  * fd events


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 16:44:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 16:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SS9zj-0001Nb-2B; Wed, 09 May 2012 16:44:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SS9zh-0001NU-V5
	for xen-devel@lists.xen.org; Wed, 09 May 2012 16:44:06 +0000
Received: from [85.158.139.83:8792] by server-7.bemta-5.messagelabs.com id
	1D/D6-16195-5DE9AAF4; Wed, 09 May 2012 16:44:05 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336581843!27508099!1
X-Originating-IP: [63.239.67.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13383 invoked from network); 9 May 2012 16:44:04 -0000
Received: from emvm-gh1-uea09.nsa.gov (HELO nsa.gov) (63.239.67.10)
	by server-2.tower-182.messagelabs.com with SMTP;
	9 May 2012 16:44:04 -0000
X-TM-IMSS-Message-ID: <577faf9d000cd295@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov
	([63.239.67.10]) with ESMTP (TREND IMSS SMTP Service 7.1) id
	577faf9d000cd295 ; Wed, 9 May 2012 12:45:49 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49GhtIq016292; 
	Wed, 9 May 2012 12:43:55 -0400
Message-ID: <4FAA9E85.9010007@tycho.nsa.gov>
Date: Wed, 09 May 2012 12:42:45 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
	<4FAA7354.5070802@tycho.nsa.gov>
	<20394.36387.49258.141494@mariner.uk.xensource.com>
In-Reply-To: <20394.36387.49258.141494@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of
	OSEVENT_HOOK macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 11:32 AM, Ian Jackson wrote:
> Daniel De Graaf writes ("[PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
>> Agreed, using the statement expression syntax seems cleaner here.
> ...
>> +#define OSEVENT_HOOK(hookname,...) ({                                       \
>> +    int rc;                                                                 \
>> +    if (CTX->osevent_hooks) {                                               \
>> +        CTX->osevent_in_hook++;                                             \
>> +        rc = CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__);  \
>> +        CTX->osevent_in_hook--;                                             \
>> +    } else {                                                                \
>> +        rc = 0;                                                             \
>> +    }                                                                       \
>> +    rc;                                                                     \
>> +})
> 
> Thanks.  However, you need to use a different variable name to "rc".
> "rc" might theoretically be present int __VA_ARGS__ in which case this
> will go wrong.  Also if we ever enable -Wshadow, this construction
> will cause a warning.  I suggest   int osevent_hook_rc;
> 
> You could preserve the unification of the two macros by having
> 
>  #define OSEVENT_HOOK(hookname,...)                                           \
>      OSEVENT_HOOK_INTERN(osevent_hook_rc =, /*empty*/, hookname, __VA_ARGS__)
> 
>  #define OSEVENT_HOOK_VOID(hookname,...)                                      \
>      OSEVENT_HOOK_INTERN(/*empty*/,         (void),    hookname, __VA_ARGS__)
> 
> or some such.  I don't know whether you like that idea; if you do
> please go ahead and do it.  If not then I'm happy to take the patch
> which duplicates the macro.
> 
> Ian.
> 

I like that method (or this slight tweak to it):

-----------8<-------------------------

The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
expression CTX->osevent_in_hook-- (usually 1) instead of the value of
the function call it made. Fix the macro to return the proper value.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/libxl/libxl_event.c |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 638b9ab..a31aec7 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -27,18 +27,22 @@
  * these macros, with the ctx locked.  Likewise all the "occurred"
  * entrypoints from the application should assert(!in_hook);
  */
-#define OSEVENT_HOOK_INTERN(defval, hookname, ...)                      \
-    (CTX->osevent_hooks                                                 \
-     ? (CTX->osevent_in_hook++,                                         \
-        CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__),   \
-        CTX->osevent_in_hook--)                                         \
-     : defval)
-
-#define OSEVENT_HOOK(hookname,...)                      \
-    OSEVENT_HOOK_INTERN(0, hookname, __VA_ARGS__)
-
-#define OSEVENT_HOOK_VOID(hookname,...)                 \
-    OSEVENT_HOOK_INTERN((void)0, hookname, __VA_ARGS__)
+#define OSEVENT_HOOK_INTERN(retval, hookname, ...) do {                      \
+    if (CTX->osevent_hooks) {                                                \
+        CTX->osevent_in_hook++;                                              \
+        retval CTX->osevent_hooks->hookname(CTX->osevent_user, __VA_ARGS__); \
+        CTX->osevent_in_hook--;                                              \
+    }                                                                        \
+} while (0)
+
+#define OSEVENT_HOOK(hookname, ...) ({                                       \
+    int osevent_hook_rc = 0;                                                 \
+    OSEVENT_HOOK_INTERN(osevent_hook_rc = , hookname, __VA_ARGS__);          \
+    osevent_hook_rc;                                                         \
+})
+
+#define OSEVENT_HOOK_VOID(hookname, ...) \
+    OSEVENT_HOOK_INTERN(/* void */, hookname, __VA_ARGS__)
 
 /*
  * fd events


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 17:16:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 17:16:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSAU4-0001bM-Mm; Wed, 09 May 2012 17:15:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SSAU1-0001bH-Pu
	for xen-devel@lists.xen.org; Wed, 09 May 2012 17:15:26 +0000
Received: from [193.109.254.147:34677] by server-12.bemta-14.messagelabs.com
	id 3F/E0-05898-C26AAAF4; Wed, 09 May 2012 17:15:24 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336583716!2776811!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6072 invoked from network); 9 May 2012 17:15:17 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-6.tower-27.messagelabs.com with SMTP;
	9 May 2012 17:15:17 -0000
X-TM-IMSS-Message-ID: <33e4363e000c79df@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 33e4363e000c79df ;
	Wed, 9 May 2012 13:15:14 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49HEwwU017964; 
	Wed, 9 May 2012 13:14:58 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Bamvor Jian Zhang <bjzhang@suse.com>
Date: Wed,  9 May 2012 13:13:23 -0400
Message-Id: <1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: git-send-email 1.7.7.6
In-Reply-To: <20394.36444.760368.974206@mariner.uk.xensource.com>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>
Cc: libvir-list@redhat.com, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH-RFC] Change libxl to use Xen 4.2 interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch changes libxl to use the interface in Xen 4.2. It is provided
as an example, not intended to go in to libvirt as-is since it removes
all support for libxl from Xen 4.1. It also still has some cruft (extra
void casts on parameters) and the device model info population is not
written. It has been tested with simple domain create/destroy.
---
 src/libxl/libxl_conf.c   |  134 +++++++++------
 src/libxl/libxl_conf.h   |    8 +-
 src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
 3 files changed, 326 insertions(+), 246 deletions(-)

diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 62621f1..c5b5561 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -41,7 +41,7 @@
 #include "capabilities.h"
 #include "libxl_driver.h"
 #include "libxl_conf.h"
-
+#include "libxl_utils.h"
 
 #define VIR_FROM_THIS VIR_FROM_LIBXL
 
@@ -358,18 +358,29 @@ libxlMakeCapabilitiesInternal(const char *hostmachine,
 }
 
 static int
-libxlMakeDomCreateInfo(virDomainDefPtr def, libxl_domain_create_info *c_info)
+libxlMakeDomCreateInfo(libxlDriverPrivatePtr driver, virDomainDefPtr def, libxl_domain_create_info *c_info)
 {
     char uuidstr[VIR_UUID_STRING_BUFLEN];
 
-    libxl_init_create_info(c_info);
+    libxl_domain_create_info_init(c_info);
+
+    if (STREQ(def->os.type, "hvm"))
+        c_info->type = LIBXL_DOMAIN_TYPE_HVM;
+    else
+        c_info->type = LIBXL_DOMAIN_TYPE_PV;
 
-    c_info->hvm = STREQ(def->os.type, "hvm");
     if ((c_info->name = strdup(def->name)) == NULL) {
         virReportOOMError();
         goto error;
     }
 
+    if (def->seclabel.type == VIR_DOMAIN_SECLABEL_STATIC) {
+        if (libxl_flask_context_to_sid(driver->ctx, def->seclabel.label, strlen(def->seclabel.label), &c_info->ssidref)) {
+            libxlError(VIR_ERR_INTERNAL_ERROR,
+                     _("libxenlight failed to resolve security label '%s'"), def->seclabel.label);
+        }
+    }
+
     virUUIDFormat(def->uuid, uuidstr);
     if (libxl_uuid_from_string(&c_info->uuid, uuidstr) ) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
@@ -380,7 +391,7 @@ libxlMakeDomCreateInfo(virDomainDefPtr def, libxl_domain_create_info *c_info)
     return 0;
 
 error:
-    libxl_domain_create_info_destroy(c_info);
+    libxl_domain_create_info_dispose(c_info);
     return -1;
 }
 
@@ -403,9 +414,9 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
         return -1;
     }
 
-    libxl_init_build_info(b_info, &d_config->c_info);
+    libxl_domain_build_info_init(b_info);
 
-    b_info->hvm = hvm;
+    b_info->type = hvm ? LIBXL_DOMAIN_TYPE_HVM : LIBXL_DOMAIN_TYPE_PV;
     b_info->max_vcpus = def->maxvcpus;
     if (def->vcpus == 32)
         b_info->cur_vcpus = (uint32_t) -1;
@@ -424,16 +435,17 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
                 b_info->tsc_mode = 1;
         }
     }
+    b_info->sched_params.weight = 1000;
     b_info->max_memkb = def->mem.max_balloon;
     b_info->target_memkb = def->mem.cur_balloon;
     if (hvm) {
-        b_info->u.hvm.pae = def->features & (1 << VIR_DOMAIN_FEATURE_PAE);
-        b_info->u.hvm.apic = def->features & (1 << VIR_DOMAIN_FEATURE_APIC);
-        b_info->u.hvm.acpi = def->features & (1 << VIR_DOMAIN_FEATURE_ACPI);
+        libxl_defbool_set(&b_info->u.hvm.pae, def->features & (1 << VIR_DOMAIN_FEATURE_PAE));
+        libxl_defbool_set(&b_info->u.hvm.apic, def->features & (1 << VIR_DOMAIN_FEATURE_APIC));
+        libxl_defbool_set(&b_info->u.hvm.acpi, def->features & (1 << VIR_DOMAIN_FEATURE_ACPI));
         for (i = 0; i < def->clock.ntimers; i++) {
             if (def->clock.timers[i]->name == VIR_DOMAIN_TIMER_NAME_HPET &&
                 def->clock.timers[i]->present == 1) {
-                b_info->u.hvm.hpet = 1;
+                libxl_defbool_set(&b_info->u.hvm.hpet, 1);
             }
         }
 
@@ -454,7 +466,14 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
             }
         }
         if (def->os.bootloaderArgs) {
-            if ((b_info->u.pv.bootloader_args = strdup(def->os.bootloaderArgs)) == NULL) {
+            // XXX may need to split these arguments on a delimiter
+            b_info->u.pv.bootloader_args = malloc(sizeof(char*));
+            if (b_info->u.pv.bootloader_args == NULL) {
+                virReportOOMError();
+                goto error;
+            }
+            b_info->u.pv.bootloader_args[0] = strdup(def->os.bootloaderArgs);
+            if (b_info->u.pv.bootloader_args[0] == NULL) {
                 virReportOOMError();
                 goto error;
             }
@@ -467,8 +486,8 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
         }
         if (def->os.kernel) {
             /* libxl_init_build_info() sets kernel.path = strdup("hvmloader") */
-            VIR_FREE(b_info->kernel.path);
-            if ((b_info->kernel.path = strdup(def->os.kernel)) == NULL) {
+            VIR_FREE(b_info->u.pv.kernel.path);
+            if ((b_info->u.pv.kernel.path = strdup(def->os.kernel)) == NULL) {
                 virReportOOMError();
                 goto error;
             }
@@ -484,7 +503,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
     return 0;
 
 error:
-    libxl_domain_build_info_destroy(b_info);
+    libxl_domain_build_info_dispose(b_info);
     return -1;
 }
 
@@ -507,30 +526,30 @@ libxlMakeDisk(virDomainDefPtr def, virDomainDiskDefPtr l_disk,
             STREQ(l_disk->driverName, "tap2")) {
             if (l_disk->driverType) {
                 if (STREQ(l_disk->driverType, "qcow")) {
-                    x_disk->format = DISK_FORMAT_QCOW;
-                    x_disk->backend = DISK_BACKEND_QDISK;
+                    x_disk->format = LIBXL_DISK_FORMAT_QCOW;
+                    x_disk->backend = LIBXL_DISK_BACKEND_QDISK;
                 } else if (STREQ(l_disk->driverType, "qcow2")) {
-                    x_disk->format = DISK_FORMAT_QCOW2;
-                    x_disk->backend = DISK_BACKEND_QDISK;
+                    x_disk->format = LIBXL_DISK_FORMAT_QCOW2;
+                    x_disk->backend = LIBXL_DISK_BACKEND_QDISK;
                 } else if (STREQ(l_disk->driverType, "vhd")) {
-                    x_disk->format = DISK_FORMAT_VHD;
-                    x_disk->backend = DISK_BACKEND_TAP;
+                    x_disk->format = LIBXL_DISK_FORMAT_VHD;
+                    x_disk->backend = LIBXL_DISK_BACKEND_TAP;
                 } else if (STREQ(l_disk->driverType, "aio") ||
                             STREQ(l_disk->driverType, "raw")) {
-                    x_disk->format = DISK_FORMAT_RAW;
-                    x_disk->backend = DISK_BACKEND_TAP;
+                    x_disk->format = LIBXL_DISK_FORMAT_RAW;
+                    x_disk->backend = LIBXL_DISK_BACKEND_TAP;
                 }
             } else {
                 /* No subtype specified, default to raw/tap */
-                    x_disk->format = DISK_FORMAT_RAW;
-                    x_disk->backend = DISK_BACKEND_TAP;
+                    x_disk->format = LIBXL_DISK_FORMAT_RAW;
+                    x_disk->backend = LIBXL_DISK_BACKEND_TAP;
             }
         } else if (STREQ(l_disk->driverName, "file")) {
-            x_disk->format = DISK_FORMAT_RAW;
-            x_disk->backend = DISK_BACKEND_TAP;
+            x_disk->format = LIBXL_DISK_FORMAT_RAW;
+            x_disk->backend = LIBXL_DISK_BACKEND_TAP;
         } else if (STREQ(l_disk->driverName, "phy")) {
-            x_disk->format = DISK_FORMAT_RAW;
-            x_disk->backend = DISK_BACKEND_PHY;
+            x_disk->format = LIBXL_DISK_FORMAT_RAW;
+            x_disk->backend = LIBXL_DISK_BACKEND_PHY;
         } else {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                         _("libxenlight does not support disk driver %s"),
@@ -538,13 +557,14 @@ libxlMakeDisk(virDomainDefPtr def, virDomainDiskDefPtr l_disk,
             return -1;
         }
     } else {
-        /* No driverName - default to raw/tap?? */
-        x_disk->format = DISK_FORMAT_RAW;
-        x_disk->backend = DISK_BACKEND_TAP;
+ 
+        /* No driverName - default to raw/phy?? */
+        x_disk->format = LIBXL_DISK_FORMAT_RAW;
+        x_disk->backend = LIBXL_DISK_BACKEND_PHY;
     }
 
-    /* How to set unpluggable? */
-    x_disk->unpluggable = 1;
+    /* XXX is this right? */
+    x_disk->removable = 1;
     x_disk->readwrite = !l_disk->readonly;
     x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
     if (l_disk->transient) {
@@ -553,7 +573,7 @@ libxlMakeDisk(virDomainDefPtr def, virDomainDiskDefPtr l_disk,
         return -1;
     }
 
-    x_disk->domid = def->id;
+    (void)def->id;
 
     return 0;
 }
@@ -583,7 +603,7 @@ libxlMakeDiskList(virDomainDefPtr def, libxl_domain_config *d_config)
 
 error:
     for (i = 0; i < ndisks; i++)
-        libxl_device_disk_destroy(&x_disks[i]);
+        libxl_device_disk_dispose(&x_disks[i]);
     VIR_FREE(x_disks);
     return -1;
 }
@@ -595,7 +615,7 @@ libxlMakeNic(virDomainDefPtr def, virDomainNetDefPtr l_nic,
     // TODO: Where is mtu stored?
     //x_nics[i].mtu = 1492;
 
-    x_nic->domid = def->id;
+    (void)def->id;
     memcpy(x_nic->mac, l_nic->mac, sizeof(libxl_mac));
 
     if (l_nic->model && !STREQ(l_nic->model, "netfront")) {
@@ -603,9 +623,9 @@ libxlMakeNic(virDomainDefPtr def, virDomainNetDefPtr l_nic,
             virReportOOMError();
             return -1;
         }
-        x_nic->nictype = NICTYPE_IOEMU;
+        x_nic->nictype = LIBXL_NIC_TYPE_IOEMU;
     } else {
-        x_nic->nictype = NICTYPE_VIF;
+        x_nic->nictype = LIBXL_NIC_TYPE_VIF;
     }
 
     if (l_nic->ifname && (x_nic->ifname = strdup(l_nic->ifname)) == NULL) {
@@ -663,7 +683,7 @@ libxlMakeNicList(virDomainDefPtr def,  libxl_domain_config *d_config)
 
 error:
     for (i = 0; i < nnics; i++)
-        libxl_device_nic_destroy(&x_nics[i]);
+        libxl_device_nic_dispose(&x_nics[i]);
     VIR_FREE(x_nics);
     return -1;
 }
@@ -677,23 +697,23 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, virDomainDefPtr def,
 
     switch (l_vfb->type) {
         case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
-            x_vfb->sdl = 1;
+            libxl_defbool_set(&x_vfb->sdl.enable, 1);
             if (l_vfb->data.sdl.display &&
-                (x_vfb->display = strdup(l_vfb->data.sdl.display)) == NULL) {
+                (x_vfb->sdl.display = strdup(l_vfb->data.sdl.display)) == NULL) {
                 virReportOOMError();
                 return -1;
             }
             if (l_vfb->data.sdl.xauth &&
-                (x_vfb->xauthority =
+                (x_vfb->sdl.xauthority =
                     strdup(l_vfb->data.sdl.xauth)) == NULL) {
                 virReportOOMError();
                 return -1;
             }
             break;
         case  VIR_DOMAIN_GRAPHICS_TYPE_VNC:
-            x_vfb->vnc = 1;
+            libxl_defbool_set(&x_vfb->vnc.enable, 1);
             /* driver handles selection of free port */
-            x_vfb->vncunused = 0;
+            libxl_defbool_set(&x_vfb->vnc.findunused, 0);
             if (l_vfb->data.vnc.autoport) {
                 port = libxlNextFreeVncPort(driver, LIBXL_VNC_PORT_MIN);
                 if (port < 0) {
@@ -703,13 +723,13 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, virDomainDefPtr def,
                 }
                 l_vfb->data.vnc.port = port;
             }
-            x_vfb->vncdisplay = l_vfb->data.vnc.port - LIBXL_VNC_PORT_MIN;
+            x_vfb->vnc.display = l_vfb->data.vnc.port - LIBXL_VNC_PORT_MIN;
 
             listenAddr = virDomainGraphicsListenGetAddress(l_vfb, 0);
             if (listenAddr) {
                 /* libxl_device_vfb_init() does strdup("127.0.0.1") */
-                VIR_FREE(x_vfb->vnclisten);
-                if ((x_vfb->vnclisten = strdup(listenAddr)) == NULL) {
+                VIR_FREE(x_vfb->vnc.listen);
+                if ((x_vfb->vnc.listen = strdup(listenAddr)) == NULL) {
                     virReportOOMError();
                     return -1;
                 }
@@ -722,7 +742,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, virDomainDefPtr def,
             }
             break;
     }
-    x_vfb->domid = def->id;
+    (void) def->id;
     return 0;
 }
 
@@ -750,8 +770,8 @@ libxlMakeVfbList(libxlDriverPrivatePtr driver,
     }
 
     for (i = 0; i < nvfbs; i++) {
-        libxl_device_vfb_init(&x_vfbs[i], i);
-        libxl_device_vkb_init(&x_vkbs[i], i);
+        libxl_device_vfb_init(&x_vfbs[i]);
+        libxl_device_vkb_init(&x_vkbs[i]);
 
         if (libxlMakeVfb(driver, def, l_vfbs[i], &x_vfbs[i]) < 0)
             goto error;
@@ -765,14 +785,15 @@ libxlMakeVfbList(libxlDriverPrivatePtr driver,
 
 error:
     for (i = 0; i < nvfbs; i++) {
-        libxl_device_vfb_destroy(&x_vfbs[i]);
-        libxl_device_vkb_destroy(&x_vkbs[i]);
+        libxl_device_vfb_dispose(&x_vfbs[i]);
+        libxl_device_vkb_dispose(&x_vkbs[i]);
     }
     VIR_FREE(x_vfbs);
     VIR_FREE(x_vkbs);
     return -1;
 }
 
+#if 0
 static int
 libxlMakeChrdevStr(virDomainChrDefPtr def, char **buf)
 {
@@ -906,6 +927,7 @@ error:
     libxl_device_model_info_destroy(dm_info);
     return -1;
 }
+#endif
 
 virCapsPtr
 libxlMakeCapabilities(libxl_ctx *ctx)
@@ -940,7 +962,7 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
                        virDomainDefPtr def, libxl_domain_config *d_config)
 {
 
-    if (libxlMakeDomCreateInfo(def, &d_config->c_info) < 0)
+    if (libxlMakeDomCreateInfo(driver, def, &d_config->c_info) < 0)
         return -1;
 
     if (libxlMakeDomBuildInfo(def, d_config) < 0) {
@@ -959,9 +981,11 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
         goto error;
     }
 
+#if 0
     if (libxlMakeDeviceModelInfo(def, d_config) < 0) {
         goto error;
     }
+#endif
 
     d_config->on_reboot = def->onReboot;
     d_config->on_poweroff = def->onPoweroff;
@@ -970,6 +994,6 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
     return 0;
 
 error:
-    libxl_domain_config_destroy(d_config);
+    libxl_domain_config_dispose(d_config);
     return -1;
 }
diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h
index 2820afb..73ab733 100644
--- a/src/libxl/libxl_conf.h
+++ b/src/libxl/libxl_conf.h
@@ -58,7 +58,7 @@ struct _libxlDriverPrivate {
     FILE *logger_file;
     xentoollog_logger *logger;
     /* libxl ctx for driver wide ops; getVersion, getNodeInfo, ... */
-    libxl_ctx ctx;
+    libxl_ctx *ctx;
 
     virBitmapPtr reservedVNCPorts;
     virDomainObjList domains;
@@ -77,10 +77,8 @@ typedef struct _libxlDomainObjPrivate libxlDomainObjPrivate;
 typedef libxlDomainObjPrivate *libxlDomainObjPrivatePtr;
 struct _libxlDomainObjPrivate {
     /* per domain libxl ctx */
-    libxl_ctx ctx;
-    libxl_waiter *dWaiter;
-    int waiterFD;
-    int eventHdl;
+    libxl_ctx *ctx;
+    libxl_evgen_domain_death *deathW;
 };
 
 # define LIBXL_SAVE_MAGIC "libvirt-xml\n \0 \r"
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 45bf1f8..8656f35 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -40,6 +40,7 @@
 #include "memory.h"
 #include "uuid.h"
 #include "command.h"
+#include "libxl.h"
 #include "libxl_driver.h"
 #include "libxl_conf.h"
 #include "xen_xm.h"
@@ -79,6 +80,138 @@ libxlDriverUnlock(libxlDriverPrivatePtr driver)
     virMutexUnlock(&driver->lock);
 }
 
+struct libxl_osevent_hook_fdinfo {
+    libxlDomainObjPrivatePtr priv;
+    void *xl_priv;
+    int watch;
+};
+
+static void cb_fd_event(int watch, int fd, int vir_events, void *fdinfo)
+{
+    struct libxl_osevent_hook_fdinfo *info = fdinfo;
+    int events = 0;
+    (void)watch; (void)fd;
+    if (vir_events & VIR_EVENT_HANDLE_READABLE)
+        events |= POLLIN;
+    if (vir_events & VIR_EVENT_HANDLE_WRITABLE)
+        events |= POLLOUT;
+    if (vir_events & VIR_EVENT_HANDLE_ERROR)
+        events |= POLLERR;
+    if (vir_events & VIR_EVENT_HANDLE_HANGUP)
+        events |= POLLHUP;
+    libxl_osevent_occurred_fd(info->priv->ctx, info->xl_priv, fd, 0, events);
+}
+
+static void free_fdinfo(void *opaque)
+{
+    free(opaque);
+}
+
+static int evhook_fd_register(void *priv, int fd, void **hndp, short events, void *xl_priv)
+{
+    int vir_events = VIR_EVENT_HANDLE_ERROR;
+    struct libxl_osevent_hook_fdinfo *fdinfo;
+    fdinfo = malloc(sizeof(fdinfo));
+    fdinfo->priv = priv;
+    fdinfo->xl_priv = xl_priv;
+    *hndp = fdinfo;
+
+    if (events & POLLIN)
+        vir_events |= VIR_EVENT_HANDLE_READABLE;
+    if (events & POLLOUT)
+        vir_events |= VIR_EVENT_HANDLE_WRITABLE;
+    fdinfo->watch = virEventAddHandle(fd, vir_events, cb_fd_event, fdinfo, free_fdinfo);
+    if (fdinfo->watch < 0)
+        return fdinfo->watch;
+    return 0;
+}
+
+static int evhook_fd_modify(void *priv, int fd, void **hndp, short events)
+{
+    struct libxl_osevent_hook_fdinfo *fdinfo = *hndp;
+    (void)fd; (void)priv;
+    int vir_events = VIR_EVENT_HANDLE_ERROR;
+    if (events & POLLIN)
+        vir_events |= VIR_EVENT_HANDLE_READABLE;
+    if (events & POLLOUT)
+        vir_events |= VIR_EVENT_HANDLE_WRITABLE;
+    virEventUpdateHandle(fdinfo->watch, vir_events);
+    return 0;
+}
+
+static void evhook_fd_deregister(void *priv, int fd, void *hnd)
+{
+    struct libxl_osevent_hook_fdinfo *fdinfo = hnd;
+    (void)priv; (void)fd;
+    virEventRemoveHandle(fdinfo->watch);
+}
+
+struct libxl_osevent_hook_timerinfo {
+    libxlDomainObjPrivatePtr priv;
+    void *xl_priv;
+    int id;
+};
+
+
+static void cb_timer(int timer, void *timer_v)
+{
+    struct libxl_osevent_hook_timerinfo *timer_info = timer_v;
+    (void)timer;
+    libxl_osevent_occurred_timeout(timer_info->priv->ctx, timer_info->xl_priv);
+}
+
+static void timer_info_free(void* obj)
+{
+    free(obj);
+}
+
+static int evhook_timeout_register(void *priv, void **hndp, struct timeval abs_t, void *for_libxl)
+{
+    struct timeval now;
+    struct libxl_osevent_hook_timerinfo *timer_info;
+    int timeout, timer_id;
+    timer_info = malloc(sizeof(*timer_info));
+    gettimeofday(&now, NULL);
+    timeout = (abs_t.tv_usec - now.tv_usec) / 1000;
+    timeout += (abs_t.tv_sec - now.tv_sec) * 1000;
+    timer_id = virEventAddTimeout(timeout, cb_timer, timer_info, timer_info_free);
+    if (timer_id < 0)
+        return timer_id;
+    timer_info->priv = priv;
+    timer_info->xl_priv = for_libxl;
+    timer_info->id = timer_id;
+    *hndp = timer_info;
+    return 0;
+}
+
+static int evhook_timeout_modify(void *priv, void **hndp, struct timeval abs_t)
+{
+    struct timeval now;
+    int timeout;
+    struct libxl_osevent_hook_timerinfo *timer_info = *hndp;
+    (void)priv;
+    gettimeofday(&now, NULL);
+    timeout = (abs_t.tv_usec - now.tv_usec) / 1000;
+    timeout += (abs_t.tv_sec - now.tv_sec) * 1000;
+    virEventUpdateTimeout(timer_info->id, timeout);
+    return 0;
+}
+
+static void evhook_timeout_deregister(void *priv, void *hnd) {
+    struct libxl_osevent_hook_timerinfo *timer_info = hnd;
+    virEventRemoveTimeout(timer_info->id);
+    (void)priv;
+}
+
+static const libxl_osevent_hooks event_callbacks = {
+    .fd_register = evhook_fd_register,
+    .fd_modify = evhook_fd_modify,
+    .fd_deregister = evhook_fd_deregister,
+    .timeout_register = evhook_timeout_register,
+    .timeout_modify = evhook_timeout_modify,
+    .timeout_deregister = evhook_timeout_deregister,
+};  
+
 static void *
 libxlDomainObjPrivateAlloc(void)
 {
@@ -87,9 +220,9 @@ libxlDomainObjPrivateAlloc(void)
     if (VIR_ALLOC(priv) < 0)
         return NULL;
 
-    libxl_ctx_init(&priv->ctx, LIBXL_VERSION, libxl_driver->logger);
-    priv->waiterFD = -1;
-    priv->eventHdl = -1;
+    libxl_ctx_alloc(&priv->ctx, LIBXL_VERSION, 0, libxl_driver->logger);
+    priv->deathW = NULL;
+    libxl_osevent_register_hooks(priv->ctx, &event_callbacks, priv);
 
     return priv;
 }
@@ -99,16 +232,12 @@ libxlDomainObjPrivateFree(void *data)
 {
     libxlDomainObjPrivatePtr priv = data;
 
-    if (priv->eventHdl >= 0)
-        virEventRemoveHandle(priv->eventHdl);
-
-    if (priv->dWaiter) {
-        libxl_stop_waiting(&priv->ctx, priv->dWaiter);
-        libxl_free_waiter(priv->dWaiter);
-        VIR_FREE(priv->dWaiter);
+    if (priv->deathW) {
+        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
+        VIR_FREE(priv->deathW);
     }
 
-    libxl_ctx_free(&priv->ctx);
+    libxl_ctx_free(priv->ctx);
     VIR_FREE(priv);
 }
 
@@ -120,17 +249,6 @@ libxlDomainEventQueue(libxlDriverPrivatePtr driver, virDomainEventPtr event)
     virDomainEventStateQueue(driver->domainEventState, event);
 }
 
-/*
- * Remove reference to domain object.
- */
-static void
-libxlDomainObjUnref(void *data)
-{
-    virDomainObjPtr vm = data;
-
-    ignore_value(virDomainObjUnref(vm));
-}
-
 static void
 libxlAutostartDomain(void *payload, const void *name ATTRIBUTE_UNUSED,
                      void *opaque)
@@ -161,13 +279,13 @@ libxlDoNodeGetInfo(libxlDriverPrivatePtr driver, virNodeInfoPtr info)
     const libxl_version_info* ver_info;
     struct utsname utsname;
 
-    if (libxl_get_physinfo(&driver->ctx, &phy_info)) {
+    if (libxl_get_physinfo(driver->ctx, &phy_info)) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxl_get_physinfo_info failed"));
         return -1;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxl_get_version_info failed"));
         return -1;
@@ -291,15 +409,9 @@ libxlVmCleanup(libxlDriverPrivatePtr driver,
     char *file;
     int i;
 
-    if (priv->eventHdl >= 0) {
-        virEventRemoveHandle(priv->eventHdl);
-        priv->eventHdl = -1;
-    }
-
-    if (priv->dWaiter) {
-        libxl_stop_waiting(&priv->ctx, priv->dWaiter);
-        libxl_free_waiter(priv->dWaiter);
-        VIR_FREE(priv->dWaiter);
+    if (priv->deathW) {
+        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
+        priv->deathW = NULL;
     }
 
     if (vm->persistent) {
@@ -350,12 +462,11 @@ libxlVmCleanup(libxlDriverPrivatePtr driver,
 static int
 libxlVmReap(libxlDriverPrivatePtr driver,
             virDomainObjPtr vm,
-            int force,
             virDomainShutoffReason reason)
 {
     libxlDomainObjPrivatePtr priv = vm->privateData;
 
-    if (libxl_domain_destroy(&priv->ctx, vm->def->id, force) < 0) {
+    if (libxl_domain_destroy(priv->ctx, vm->def->id) < 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Unable to cleanup domain %d"), vm->def->id);
         return -1;
@@ -368,56 +479,26 @@ libxlVmReap(libxlDriverPrivatePtr driver,
 /*
  * Handle previously registered event notification from libxenlight
  */
-static void libxlEventHandler(int watch,
-                              int fd,
-                              int events,
-                              void *data)
+static void libxlEventHandler(void *data, const libxl_event *event)
 {
     libxlDriverPrivatePtr driver = libxl_driver;
     virDomainObjPtr vm = data;
-    libxlDomainObjPrivatePtr priv;
     virDomainEventPtr dom_event = NULL;
-    libxl_event event;
-    libxl_dominfo info;
 
     libxlDriverLock(driver);
     virDomainObjLock(vm);
     libxlDriverUnlock(driver);
 
-    priv = vm->privateData;
-
-    memset(&event, 0, sizeof(event));
-    memset(&info, 0, sizeof(info));
-
-    if (priv->waiterFD != fd || priv->eventHdl != watch) {
-        virEventRemoveHandle(watch);
-        priv->eventHdl = -1;
-        goto cleanup;
-    }
-
-    if (!(events & VIR_EVENT_HANDLE_READABLE))
-        goto cleanup;
-
-    if (libxl_get_event(&priv->ctx, &event))
-        goto cleanup;
-
-    if (event.type == LIBXL_EVENT_DOMAIN_DEATH) {
+    if (event->type == LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN) {
         virDomainShutoffReason reason;
 
-        /* libxl_event_get_domain_death_info returns 1 if death
-         * event was for this domid */
-        if (libxl_event_get_domain_death_info(&priv->ctx,
-                                              vm->def->id,
-                                              &event,
-                                              &info) != 1)
+        if (event->domid != vm->def->id)
             goto cleanup;
 
-        virEventRemoveHandle(watch);
-        priv->eventHdl = -1;
-        switch (info.shutdown_reason) {
-            case SHUTDOWN_poweroff:
-            case SHUTDOWN_crash:
-                if (info.shutdown_reason == SHUTDOWN_crash) {
+        switch (event->u.domain_shutdown.shutdown_reason) {
+            case LIBXL_SHUTDOWN_REASON_POWEROFF:
+            case LIBXL_SHUTDOWN_REASON_CRASH:
+                if (event->u.domain_shutdown.shutdown_reason == LIBXL_SHUTDOWN_REASON_CRASH) {
                     dom_event = virDomainEventNewFromObj(vm,
                                               VIR_DOMAIN_EVENT_STOPPED,
                                               VIR_DOMAIN_EVENT_STOPPED_CRASHED);
@@ -425,18 +506,18 @@ static void libxlEventHandler(int watch,
                 } else {
                     reason = VIR_DOMAIN_SHUTOFF_SHUTDOWN;
                 }
-                libxlVmReap(driver, vm, 0, reason);
+                libxlVmReap(driver, vm, reason);
                 if (!vm->persistent) {
                     virDomainRemoveInactive(&driver->domains, vm);
                     vm = NULL;
                 }
                 break;
-            case SHUTDOWN_reboot:
-                libxlVmReap(driver, vm, 0, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
+            case LIBXL_SHUTDOWN_REASON_REBOOT:
+                libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
                 libxlVmStart(driver, vm, 0, -1);
                 break;
             default:
-                VIR_INFO("Unhandled shutdown_reason %d", info.shutdown_reason);
+                VIR_INFO("Unhandled shutdown_reason %d", event->u.domain_shutdown.shutdown_reason);
                 break;
         }
     }
@@ -449,9 +530,14 @@ cleanup:
         libxlDomainEventQueue(driver, dom_event);
         libxlDriverUnlock(driver);
     }
-    libxl_free_event(&event);
 }
 
+static const struct libxl_event_hooks ev_hooks = {
+    .event_occurs_mask = LIBXL_EVENTMASK_ALL,
+    .event_occurs = libxlEventHandler,
+    .disaster = NULL,
+};
+
 /*
  * Register domain events with libxenlight and insert event handles
  * in libvirt's event loop.
@@ -460,40 +546,18 @@ static int
 libxlCreateDomEvents(virDomainObjPtr vm)
 {
     libxlDomainObjPrivatePtr priv = vm->privateData;
-    int fd;
-
-    if (VIR_ALLOC(priv->dWaiter) < 0) {
-        virReportOOMError();
-        return -1;
-    }
 
-    if (libxl_wait_for_domain_death(&priv->ctx, vm->def->id, priv->dWaiter))
-        goto error;
+    libxl_event_register_callbacks(priv->ctx, &ev_hooks, vm);
 
-    libxl_get_wait_fd(&priv->ctx, &fd);
-    if (fd < 0)
+    if (libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW))
         goto error;
 
-    priv->waiterFD = fd;
-    /* Add a reference to the domain object while it is injected in
-     * the event loop.
-     */
-    virDomainObjRef(vm);
-    if ((priv->eventHdl = virEventAddHandle(
-             fd,
-             VIR_EVENT_HANDLE_READABLE | VIR_EVENT_HANDLE_ERROR,
-             libxlEventHandler,
-             vm, libxlDomainObjUnref)) < 0) {
-        ignore_value(virDomainObjUnref(vm));
-        goto error;
-    }
-
     return 0;
 
 error:
-    libxl_free_waiter(priv->dWaiter);
-    VIR_FREE(priv->dWaiter);
-    priv->eventHdl = -1;
+    if (priv->deathW)
+        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
+    free(priv->deathW);
     return -1;
 }
 
@@ -534,7 +598,7 @@ libxlDomainSetVcpuAffinites(libxlDriverPrivatePtr driver, virDomainObjPtr vm)
         map.size = cpumaplen;
         map.map = cpumap;
 
-        if (libxl_set_vcpuaffinity(&priv->ctx, def->id, vcpu, &map) != 0) {
+        if (libxl_set_vcpuaffinity(priv->ctx, def->id, vcpu, &map) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to pin vcpu '%d' with libxenlight"), vcpu);
             goto cleanup;
@@ -560,11 +624,10 @@ libxlFreeMem(libxlDomainObjPrivatePtr priv, libxl_domain_config *d_config)
     int tries = 3;
     int wait_secs = 10;
 
-    if ((ret = libxl_domain_need_memory(&priv->ctx, &d_config->b_info,
-                                        &d_config->dm_info,
+    if ((ret = libxl_domain_need_memory(priv->ctx, &d_config->b_info,
                                         &needed_mem)) >= 0) {
         for (i = 0; i < tries; ++i) {
-            if ((ret = libxl_get_free_memory(&priv->ctx, &free_mem)) < 0)
+            if ((ret = libxl_get_free_memory(priv->ctx, &free_mem)) < 0)
                 break;
 
             if (free_mem >= needed_mem) {
@@ -572,17 +635,17 @@ libxlFreeMem(libxlDomainObjPrivatePtr priv, libxl_domain_config *d_config)
                 break;
             }
 
-            if ((ret = libxl_set_memory_target(&priv->ctx, 0,
+            if ((ret = libxl_set_memory_target(priv->ctx, 0,
                                                free_mem - needed_mem,
                                                /* relative */ 1, 0)) < 0)
                 break;
 
-            ret = libxl_wait_for_free_memory(&priv->ctx, 0, needed_mem,
+            ret = libxl_wait_for_free_memory(priv->ctx, 0, needed_mem,
                                              wait_secs);
             if (ret == 0 || ret != ERROR_NOMEM)
                 break;
 
-            if ((ret = libxl_wait_for_memory_target(&priv->ctx, 0, 1)) < 0)
+            if ((ret = libxl_wait_for_memory_target(priv->ctx, 0, 1)) < 0)
                 break;
         }
     }
@@ -651,7 +714,7 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         VIR_FREE(managed_save_path);
     }
 
-    memset(&d_config, 0, sizeof(d_config));
+    libxl_domain_config_init(&d_config);
 
     if (libxlBuildDomainConfig(driver, vm->def, &d_config) < 0 )
         return -1;
@@ -664,10 +727,10 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
     }
 
     if (restore_fd < 0)
-        ret = libxl_domain_create_new(&priv->ctx, &d_config,
+        ret = libxl_domain_create_new(priv->ctx, &d_config,
                                       NULL, &child_console_pid, &domid);
     else
-        ret = libxl_domain_create_restore(&priv->ctx, &d_config, NULL,
+        ret = libxl_domain_create_restore(priv->ctx, &d_config, NULL,
                                           &child_console_pid, &domid,
                                           restore_fd);
 
@@ -687,7 +750,7 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
     if ((dom_xml = virDomainDefFormat(vm->def, 0)) == NULL)
         goto error;
 
-    if (libxl_userdata_store(&priv->ctx, domid, "libvirt-xml",
+    if (libxl_userdata_store(priv->ctx, domid, "libvirt-xml",
                              (uint8_t *)dom_xml, strlen(dom_xml) + 1)) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxenlight failed to store userdata"));
@@ -701,7 +764,7 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         goto error;
 
     if (!start_paused) {
-        libxl_domain_unpause(&priv->ctx, domid);
+        libxl_domain_unpause(priv->ctx, domid);
         virDomainObjSetState(vm, VIR_DOMAIN_RUNNING, VIR_DOMAIN_RUNNING_BOOTED);
     } else {
         virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_USER);
@@ -717,18 +780,18 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
                                          VIR_DOMAIN_EVENT_STARTED_RESTORED);
     libxlDomainEventQueue(driver, event);
 
-    libxl_domain_config_destroy(&d_config);
+    libxl_domain_config_dispose(&d_config);
     VIR_FREE(dom_xml);
     VIR_FORCE_CLOSE(managed_save_fd);
     return 0;
 
 error:
     if (domid > 0) {
-        libxl_domain_destroy(&priv->ctx, domid, 0);
+        libxl_domain_destroy(priv->ctx, domid);
         vm->def->id = -1;
         virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, VIR_DOMAIN_SHUTOFF_FAILED);
     }
-    libxl_domain_config_destroy(&d_config);
+    libxl_domain_config_dispose(&d_config);
     VIR_FREE(dom_xml);
     VIR_FREE(managed_save_path);
     virDomainDefFree(def);
@@ -756,7 +819,7 @@ libxlReconnectDomain(void *payload,
     virDomainObjLock(vm);
 
     /* Does domain still exist? */
-    rc = libxl_domain_info(&driver->ctx, &d_info, vm->def->id);
+    rc = libxl_domain_info(driver->ctx, &d_info, vm->def->id);
     if (rc == ERROR_INVAL) {
         goto out;
     } else if (rc != 0) {
@@ -766,7 +829,7 @@ libxlReconnectDomain(void *payload,
     }
 
     /* Is this a domain that was under libvirt control? */
-    if (libxl_userdata_retrieve(&driver->ctx, vm->def->id,
+    if (libxl_userdata_retrieve(driver->ctx, vm->def->id,
                                 "libvirt-xml", &data, &len)) {
         VIR_DEBUG("libxl_userdata_retrieve failed, ignoring domain %d", vm->def->id);
         goto out;
@@ -804,7 +867,7 @@ libxlShutdown(void)
     libxlDriverLock(libxl_driver);
     virCapabilitiesFree(libxl_driver->caps);
     virDomainObjListDeinit(&libxl_driver->domains);
-    libxl_ctx_free(&libxl_driver->ctx);
+    libxl_ctx_free(libxl_driver->ctx);
     xtl_logger_destroy(libxl_driver->logger);
     if (libxl_driver->logger_file)
         VIR_FORCE_FCLOSE(libxl_driver->logger_file);
@@ -937,14 +1000,14 @@ libxlStartup(int privileged) {
         goto fail;
     }
 
-    if (libxl_ctx_init(&libxl_driver->ctx,
-                       LIBXL_VERSION,
+    if (libxl_ctx_alloc(&libxl_driver->ctx,
+                       LIBXL_VERSION, 0,
                        libxl_driver->logger)) {
         VIR_INFO("cannot initialize libxenlight context, probably not running in a Xen Dom0, disabling driver");
         goto fail;
     }
 
-    if ((ver_info = libxl_get_version_info(&libxl_driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(libxl_driver->ctx)) == NULL) {
         VIR_INFO("cannot version information from libxenlight, disabling driver");
         goto fail;
     }
@@ -952,7 +1015,7 @@ libxlStartup(int privileged) {
             (ver_info->xen_version_minor * 1000);
 
     if ((libxl_driver->caps =
-         libxlMakeCapabilities(&libxl_driver->ctx)) == NULL) {
+         libxlMakeCapabilities(libxl_driver->ctx)) == NULL) {
         VIR_ERROR(_("cannot create capabilities for libxenlight"));
         goto error;
     }
@@ -1112,7 +1175,7 @@ libxlGetMaxVcpus(virConnectPtr conn, const char *type ATTRIBUTE_UNUSED)
     int ret;
     libxlDriverPrivatePtr driver = conn->privateData;
 
-    ret = libxl_get_max_cpus(&driver->ctx);
+    ret = libxl_get_max_cpus(driver->ctx);
     /* libxl_get_max_cpus() will return 0 if there were any failures,
        e.g. xc_physinfo() failing */
     if (ret == 0)
@@ -1317,7 +1380,7 @@ libxlDomainSuspend(virDomainPtr dom)
     priv = vm->privateData;
 
     if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_PAUSED) {
-        if (libxl_domain_pause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_pause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to suspend domain '%d' with libxenlight"),
                        dom->id);
@@ -1376,7 +1439,7 @@ libxlDomainResume(virDomainPtr dom)
     priv = vm->privateData;
 
     if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_PAUSED) {
-        if (libxl_domain_unpause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_unpause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to resume domain '%d' with libxenlight"),
                        dom->id);
@@ -1433,7 +1496,7 @@ libxlDomainShutdownFlags(virDomainPtr dom, unsigned int flags)
     }
 
     priv = vm->privateData;
-    if (libxl_domain_shutdown(&priv->ctx, dom->id, LIBXL_DOM_REQ_POWEROFF) != 0) {
+    if (libxl_domain_shutdown(priv->ctx, dom->id) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to shutdown domain '%d' with libxenlight"),
                    dom->id);
@@ -1486,7 +1549,7 @@ libxlDomainReboot(virDomainPtr dom, unsigned int flags)
     }
 
     priv = vm->privateData;
-    if (libxl_domain_shutdown(&priv->ctx, dom->id, LIBXL_DOM_REQ_REBOOT) != 0) {
+    if (libxl_domain_reboot(priv->ctx, dom->id) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to reboot domain '%d' with libxenlight"),
                    dom->id);
@@ -1531,7 +1594,7 @@ libxlDomainDestroyFlags(virDomainPtr dom,
     event = virDomainEventNewFromObj(vm,VIR_DOMAIN_EVENT_STOPPED,
                                      VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
 
-    if (libxlVmReap(driver, vm, 1, VIR_DOMAIN_SHUTOFF_DESTROYED) != 0) {
+    if (libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to destroy domain '%d'"), dom->id);
         goto cleanup;
@@ -1669,7 +1732,7 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem,
 
         if (flags & VIR_DOMAIN_MEM_LIVE) {
             priv = vm->privateData;
-            if (libxl_domain_setmaxmem(&priv->ctx, dom->id, newmem) < 0) {
+            if (libxl_domain_setmaxmem(priv->ctx, dom->id, newmem) < 0) {
                 libxlError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set maximum memory for domain '%d'"
                              " with libxenlight"), dom->id);
@@ -1698,7 +1761,7 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem,
 
         if (flags & VIR_DOMAIN_MEM_LIVE) {
             priv = vm->privateData;
-            if (libxl_set_memory_target(&priv->ctx, dom->id, newmem, 0,
+            if (libxl_set_memory_target(priv->ctx, dom->id, newmem, 0,
                                         /* force */ 1) < 0) {
                 libxlError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set memory for domain '%d'"
@@ -1758,7 +1821,7 @@ libxlDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
         info->memory = vm->def->mem.cur_balloon;
         info->maxMem = vm->def->mem.max_balloon;
     } else {
-        if (libxl_domain_info(&driver->ctx, &d_info, dom->id) != 0) {
+        if (libxl_domain_info(driver->ctx, &d_info, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("libxl_domain_info failed for domain '%d'"), dom->id);
             goto cleanup;
@@ -1858,7 +1921,7 @@ libxlDoDomainSave(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         goto cleanup;
     }
 
-    if (libxl_domain_suspend(&priv->ctx, NULL, vm->def->id, fd) != 0) {
+    if (libxl_domain_suspend(priv->ctx, NULL, vm->def->id, fd) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                     _("Failed to save domain '%d' with libxenlight"),
                     vm->def->id);
@@ -1868,7 +1931,7 @@ libxlDoDomainSave(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
     event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED,
                                          VIR_DOMAIN_EVENT_STOPPED_SAVED);
 
-    if (libxlVmReap(driver, vm, 1, VIR_DOMAIN_SHUTOFF_SAVED) != 0) {
+    if (libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_SAVED) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                     _("Failed to destroy domain '%d'"), vm->def->id);
         goto cleanup;
@@ -2023,7 +2086,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
 
     if (!(flags & VIR_DUMP_LIVE) &&
         virDomainObjGetState(vm, NULL) == VIR_DOMAIN_RUNNING) {
-        if (libxl_domain_pause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_pause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Before dumping core, failed to suspend domain '%d'"
                          " with libxenlight"),
@@ -2034,7 +2097,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
         paused = true;
     }
 
-    if (libxl_domain_core_dump(&priv->ctx, dom->id, to) != 0) {
+    if (libxl_domain_core_dump(priv->ctx, dom->id, to) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to dump core of domain '%d' with libxenlight"),
                    dom->id);
@@ -2043,7 +2106,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
 
     libxlDriverLock(driver);
     if (flags & VIR_DUMP_CRASH) {
-        if (libxlVmReap(driver, vm, 1, VIR_DOMAIN_SHUTOFF_CRASHED) != 0) {
+        if (libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_CRASHED) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to destroy domain '%d'"), dom->id);
             goto cleanup_unlock;
@@ -2064,7 +2127,7 @@ cleanup_unlock:
     libxlDriverUnlock(driver);
 cleanup_unpause:
     if (virDomainObjIsActive(vm) && paused) {
-        if (libxl_domain_unpause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_unpause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("After dumping core, failed to resume domain '%d' with"
                          " libxenlight"), dom->id);
@@ -2301,7 +2364,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
         break;
 
     case VIR_DOMAIN_VCPU_LIVE:
-        if (libxl_set_vcpuonline(&priv->ctx, dom->id, &map) != 0) {
+        if (libxl_set_vcpuonline(priv->ctx, dom->id, &map) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to set vcpus for domain '%d'"
                          " with libxenlight"), dom->id);
@@ -2310,7 +2373,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
         break;
 
     case VIR_DOMAIN_VCPU_LIVE | VIR_DOMAIN_VCPU_CONFIG:
-        if (libxl_set_vcpuonline(&priv->ctx, dom->id, &map) != 0) {
+        if (libxl_set_vcpuonline(priv->ctx, dom->id, &map) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to set vcpus for domain '%d'"
                          " with libxenlight"), dom->id);
@@ -2427,7 +2490,7 @@ libxlDomainPinVcpu(virDomainPtr dom, unsigned int vcpu, unsigned char *cpumap,
 
     map.size = maplen;
     map.map = cpumap;
-    if (libxl_set_vcpuaffinity(&priv->ctx, dom->id, vcpu, &map) != 0) {
+    if (libxl_set_vcpuaffinity(priv->ctx, dom->id, vcpu, &map) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to pin vcpu '%d' with libxenlight"), vcpu);
         goto cleanup;
@@ -2479,7 +2542,7 @@ libxlDomainGetVcpus(virDomainPtr dom, virVcpuInfoPtr info, int maxinfo,
     }
 
     priv = vm->privateData;
-    if ((vcpuinfo = libxl_list_vcpu(&priv->ctx, dom->id, &maxcpu,
+    if ((vcpuinfo = libxl_list_vcpu(priv->ctx, dom->id, &maxcpu,
                                     &hostcpus)) == NULL) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to list vcpus for domain '%d' with libxenlight"),
@@ -2506,7 +2569,7 @@ libxlDomainGetVcpus(virDomainPtr dom, virVcpuInfoPtr info, int maxinfo,
                    MIN(maplen, vcpuinfo[i].cpumap.size));
         }
 
-        libxl_vcpuinfo_destroy(&vcpuinfo[i]);
+        libxl_vcpuinfo_dispose(&vcpuinfo[i]);
     }
     VIR_FREE(vcpuinfo);
 
@@ -2564,7 +2627,7 @@ libxlDomainXMLFromNative(virConnectPtr conn, const char * nativeFormat,
         goto cleanup;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         VIR_ERROR(_("cannot get version information from libxenlight"));
         goto cleanup;
     }
@@ -2607,7 +2670,7 @@ libxlDomainXMLToNative(virConnectPtr conn, const char * nativeFormat,
         goto cleanup;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         VIR_ERROR(_("cannot get version information from libxenlight"));
         goto cleanup;
     }
@@ -2870,7 +2933,7 @@ libxlDomainChangeEjectableMedia(libxlDomainObjPrivatePtr priv,
     if (libxlMakeDisk(vm->def, disk, &x_disk) < 0)
         goto cleanup;
 
-    if ((ret = libxl_cdrom_insert(&priv->ctx, vm->def->id, &x_disk)) < 0) {
+    if ((ret = libxl_cdrom_insert(priv->ctx, vm->def->id, &x_disk)) < 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxenlight failed to change media for disk '%s'"),
                    disk->dst);
@@ -2925,7 +2988,7 @@ libxlDomainAttachDeviceDiskLive(libxlDomainObjPrivatePtr priv,
                 if (libxlMakeDisk(vm->def, l_disk, &x_disk) < 0)
                     goto cleanup;
 
-                if ((ret = libxl_device_disk_add(&priv->ctx, vm->def->id,
+                if ((ret = libxl_device_disk_add(priv->ctx, vm->def->id,
                                                 &x_disk)) < 0) {
                     libxlError(VIR_ERR_INTERNAL_ERROR,
                             _("libxenlight failed to attach disk '%s'"),
@@ -2959,7 +3022,6 @@ libxlDomainDetachDeviceDiskLive(libxlDomainObjPrivatePtr priv,
     virDomainDiskDefPtr l_disk = NULL;
     libxl_device_disk x_disk;
     int i;
-    int wait_secs = 2;
     int ret = -1;
 
     switch (dev->data.disk->device)  {
@@ -2979,8 +3041,7 @@ libxlDomainDetachDeviceDiskLive(libxlDomainObjPrivatePtr priv,
                 if (libxlMakeDisk(vm->def, l_disk, &x_disk) < 0)
                     goto cleanup;
 
-                if ((ret = libxl_device_disk_del(&priv->ctx, &x_disk,
-                                                 wait_secs)) < 0) {
+                if ((ret = libxl_device_disk_remove(priv->ctx, vm->def->id, &x_disk, NULL)) < 0) {
                     libxlError(VIR_ERR_INTERNAL_ERROR,
                                _("libxenlight failed to detach disk '%s'"),
                                l_disk->dst);
@@ -3355,12 +3416,12 @@ libxlNodeGetFreeMemory(virConnectPtr conn)
     const libxl_version_info* ver_info;
     libxlDriverPrivatePtr driver = conn->privateData;
 
-    if (libxl_get_physinfo(&driver->ctx, &phy_info)) {
+    if (libxl_get_physinfo(driver->ctx, &phy_info)) {
         libxlError(VIR_ERR_INTERNAL_ERROR, _("libxl_get_physinfo_info failed"));
         return 0;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         libxlError(VIR_ERR_INTERNAL_ERROR, _("libxl_get_version_info failed"));
         return 0;
     }
@@ -3506,7 +3567,7 @@ libxlDomainGetSchedulerType(virDomainPtr dom, int *nparams)
     libxlDomainObjPrivatePtr priv;
     virDomainObjPtr vm;
     char * ret = NULL;
-    int sched_id;
+    libxl_scheduler sched_id;
 
     libxlDriverLock(driver);
     vm = virDomainFindByUUID(&driver->domains, dom->uuid);
@@ -3523,31 +3584,29 @@ libxlDomainGetSchedulerType(virDomainPtr dom, int *nparams)
     }
 
     priv = vm->privateData;
-    if ((sched_id = libxl_get_sched_id(&priv->ctx)) < 0) {
-        libxlError(VIR_ERR_INTERNAL_ERROR,
-                   _("Failed to get scheduler id for domain '%d'"
-                     " with libxenlight"), dom->id);
-        goto cleanup;
-    }
+    sched_id = libxl_get_scheduler(priv->ctx);
 
     if (nparams)
         *nparams = 0;
     switch(sched_id) {
-    case XEN_SCHEDULER_SEDF:
+    case LIBXL_SCHEDULER_SEDF:
         ret = strdup("sedf");
         break;
-    case XEN_SCHEDULER_CREDIT:
+    case LIBXL_SCHEDULER_CREDIT:
         ret = strdup("credit");
         if (nparams)
             *nparams = XEN_SCHED_CREDIT_NPARAM;
         break;
-    case XEN_SCHEDULER_CREDIT2:
+    case LIBXL_SCHEDULER_CREDIT2:
         ret = strdup("credit2");
         break;
-    case XEN_SCHEDULER_ARINC653:
+    case LIBXL_SCHEDULER_ARINC653:
         ret = strdup("arinc653");
         break;
     default:
+        libxlError(VIR_ERR_INTERNAL_ERROR,
+                   _("Failed to get scheduler id for domain '%d'"
+                     " with libxenlight"), dom->id);
         goto cleanup;
     }
 
@@ -3566,11 +3625,16 @@ libxlDomainGetSchedulerParametersFlags(virDomainPtr dom,
                                        int *nparams,
                                        unsigned int flags)
 {
+    (void)dom;
+    (void)params;
+    (void)nparams;
+    (void)flags;
+
     libxlDriverPrivatePtr driver = dom->conn->privateData;
     libxlDomainObjPrivatePtr priv;
     virDomainObjPtr vm;
-    libxl_sched_credit sc_info;
-    int sched_id;
+    libxl_sched_credit_domain sc_info;
+    libxl_scheduler sched_id;
     int ret = -1;
 
     virCheckFlags(0, -1);
@@ -3591,20 +3655,15 @@ libxlDomainGetSchedulerParametersFlags(virDomainPtr dom,
 
     priv = vm->privateData;
 
-    if ((sched_id = libxl_get_sched_id(&priv->ctx)) < 0) {
-        libxlError(VIR_ERR_INTERNAL_ERROR,
-                   _("Failed to get scheduler id for domain '%d'"
-                     " with libxenlight"), dom->id);
-        goto cleanup;
-    }
+    sched_id = libxl_get_scheduler(priv->ctx);
 
-    if (sched_id != XEN_SCHEDULER_CREDIT) {
+    if (sched_id != LIBXL_SCHEDULER_CREDIT) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Only 'credit' scheduler is supported"));
         goto cleanup;
     }
 
-    if (libxl_sched_credit_domain_get(&priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_sched_credit_domain_get(priv->ctx, dom->id, &sc_info) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to get scheduler parameters for domain '%d'"
                      " with libxenlight"), dom->id);
@@ -3644,10 +3703,14 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
                                        int nparams,
                                        unsigned int flags)
 {
+    (void)dom;
+    (void)params;
+    (void)nparams;
+    (void)flags;
     libxlDriverPrivatePtr driver = dom->conn->privateData;
     libxlDomainObjPrivatePtr priv;
     virDomainObjPtr vm;
-    libxl_sched_credit sc_info;
+    libxl_sched_credit_domain sc_info;
     int sched_id;
     int i;
     int ret = -1;
@@ -3677,20 +3740,15 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
 
     priv = vm->privateData;
 
-    if ((sched_id = libxl_get_sched_id(&priv->ctx)) < 0) {
-        libxlError(VIR_ERR_INTERNAL_ERROR,
-                   _("Failed to get scheduler id for domain '%d'"
-                     " with libxenlight"), dom->id);
-        goto cleanup;
-    }
+    sched_id = libxl_get_scheduler(priv->ctx);
 
-    if (sched_id != XEN_SCHEDULER_CREDIT) {
+    if (sched_id != LIBXL_SCHEDULER_CREDIT) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Only 'credit' scheduler is supported"));
         goto cleanup;
     }
 
-    if (libxl_sched_credit_domain_get(&priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_sched_credit_domain_get(priv->ctx, dom->id, &sc_info) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to get scheduler parameters for domain '%d'"
                      " with libxenlight"), dom->id);
@@ -3707,7 +3765,7 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
         }
     }
 
-    if (libxl_sched_credit_domain_set(&priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_sched_credit_domain_set(priv->ctx, dom->id, &sc_info) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to set scheduler parameters for domain '%d'"
                      " with libxenlight"), dom->id);
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 17:16:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 17:16:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSAU4-0001bM-Mm; Wed, 09 May 2012 17:15:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SSAU1-0001bH-Pu
	for xen-devel@lists.xen.org; Wed, 09 May 2012 17:15:26 +0000
Received: from [193.109.254.147:34677] by server-12.bemta-14.messagelabs.com
	id 3F/E0-05898-C26AAAF4; Wed, 09 May 2012 17:15:24 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336583716!2776811!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6072 invoked from network); 9 May 2012 17:15:17 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-6.tower-27.messagelabs.com with SMTP;
	9 May 2012 17:15:17 -0000
X-TM-IMSS-Message-ID: <33e4363e000c79df@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 33e4363e000c79df ;
	Wed, 9 May 2012 13:15:14 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q49HEwwU017964; 
	Wed, 9 May 2012 13:14:58 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Bamvor Jian Zhang <bjzhang@suse.com>
Date: Wed,  9 May 2012 13:13:23 -0400
Message-Id: <1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
X-Mailer: git-send-email 1.7.7.6
In-Reply-To: <20394.36444.760368.974206@mariner.uk.xensource.com>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>
Cc: libvir-list@redhat.com, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH-RFC] Change libxl to use Xen 4.2 interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch changes libxl to use the interface in Xen 4.2. It is provided
as an example, not intended to go in to libvirt as-is since it removes
all support for libxl from Xen 4.1. It also still has some cruft (extra
void casts on parameters) and the device model info population is not
written. It has been tested with simple domain create/destroy.
---
 src/libxl/libxl_conf.c   |  134 +++++++++------
 src/libxl/libxl_conf.h   |    8 +-
 src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
 3 files changed, 326 insertions(+), 246 deletions(-)

diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 62621f1..c5b5561 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -41,7 +41,7 @@
 #include "capabilities.h"
 #include "libxl_driver.h"
 #include "libxl_conf.h"
-
+#include "libxl_utils.h"
 
 #define VIR_FROM_THIS VIR_FROM_LIBXL
 
@@ -358,18 +358,29 @@ libxlMakeCapabilitiesInternal(const char *hostmachine,
 }
 
 static int
-libxlMakeDomCreateInfo(virDomainDefPtr def, libxl_domain_create_info *c_info)
+libxlMakeDomCreateInfo(libxlDriverPrivatePtr driver, virDomainDefPtr def, libxl_domain_create_info *c_info)
 {
     char uuidstr[VIR_UUID_STRING_BUFLEN];
 
-    libxl_init_create_info(c_info);
+    libxl_domain_create_info_init(c_info);
+
+    if (STREQ(def->os.type, "hvm"))
+        c_info->type = LIBXL_DOMAIN_TYPE_HVM;
+    else
+        c_info->type = LIBXL_DOMAIN_TYPE_PV;
 
-    c_info->hvm = STREQ(def->os.type, "hvm");
     if ((c_info->name = strdup(def->name)) == NULL) {
         virReportOOMError();
         goto error;
     }
 
+    if (def->seclabel.type == VIR_DOMAIN_SECLABEL_STATIC) {
+        if (libxl_flask_context_to_sid(driver->ctx, def->seclabel.label, strlen(def->seclabel.label), &c_info->ssidref)) {
+            libxlError(VIR_ERR_INTERNAL_ERROR,
+                     _("libxenlight failed to resolve security label '%s'"), def->seclabel.label);
+        }
+    }
+
     virUUIDFormat(def->uuid, uuidstr);
     if (libxl_uuid_from_string(&c_info->uuid, uuidstr) ) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
@@ -380,7 +391,7 @@ libxlMakeDomCreateInfo(virDomainDefPtr def, libxl_domain_create_info *c_info)
     return 0;
 
 error:
-    libxl_domain_create_info_destroy(c_info);
+    libxl_domain_create_info_dispose(c_info);
     return -1;
 }
 
@@ -403,9 +414,9 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
         return -1;
     }
 
-    libxl_init_build_info(b_info, &d_config->c_info);
+    libxl_domain_build_info_init(b_info);
 
-    b_info->hvm = hvm;
+    b_info->type = hvm ? LIBXL_DOMAIN_TYPE_HVM : LIBXL_DOMAIN_TYPE_PV;
     b_info->max_vcpus = def->maxvcpus;
     if (def->vcpus == 32)
         b_info->cur_vcpus = (uint32_t) -1;
@@ -424,16 +435,17 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
                 b_info->tsc_mode = 1;
         }
     }
+    b_info->sched_params.weight = 1000;
     b_info->max_memkb = def->mem.max_balloon;
     b_info->target_memkb = def->mem.cur_balloon;
     if (hvm) {
-        b_info->u.hvm.pae = def->features & (1 << VIR_DOMAIN_FEATURE_PAE);
-        b_info->u.hvm.apic = def->features & (1 << VIR_DOMAIN_FEATURE_APIC);
-        b_info->u.hvm.acpi = def->features & (1 << VIR_DOMAIN_FEATURE_ACPI);
+        libxl_defbool_set(&b_info->u.hvm.pae, def->features & (1 << VIR_DOMAIN_FEATURE_PAE));
+        libxl_defbool_set(&b_info->u.hvm.apic, def->features & (1 << VIR_DOMAIN_FEATURE_APIC));
+        libxl_defbool_set(&b_info->u.hvm.acpi, def->features & (1 << VIR_DOMAIN_FEATURE_ACPI));
         for (i = 0; i < def->clock.ntimers; i++) {
             if (def->clock.timers[i]->name == VIR_DOMAIN_TIMER_NAME_HPET &&
                 def->clock.timers[i]->present == 1) {
-                b_info->u.hvm.hpet = 1;
+                libxl_defbool_set(&b_info->u.hvm.hpet, 1);
             }
         }
 
@@ -454,7 +466,14 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
             }
         }
         if (def->os.bootloaderArgs) {
-            if ((b_info->u.pv.bootloader_args = strdup(def->os.bootloaderArgs)) == NULL) {
+            // XXX may need to split these arguments on a delimiter
+            b_info->u.pv.bootloader_args = malloc(sizeof(char*));
+            if (b_info->u.pv.bootloader_args == NULL) {
+                virReportOOMError();
+                goto error;
+            }
+            b_info->u.pv.bootloader_args[0] = strdup(def->os.bootloaderArgs);
+            if (b_info->u.pv.bootloader_args[0] == NULL) {
                 virReportOOMError();
                 goto error;
             }
@@ -467,8 +486,8 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
         }
         if (def->os.kernel) {
             /* libxl_init_build_info() sets kernel.path = strdup("hvmloader") */
-            VIR_FREE(b_info->kernel.path);
-            if ((b_info->kernel.path = strdup(def->os.kernel)) == NULL) {
+            VIR_FREE(b_info->u.pv.kernel.path);
+            if ((b_info->u.pv.kernel.path = strdup(def->os.kernel)) == NULL) {
                 virReportOOMError();
                 goto error;
             }
@@ -484,7 +503,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
     return 0;
 
 error:
-    libxl_domain_build_info_destroy(b_info);
+    libxl_domain_build_info_dispose(b_info);
     return -1;
 }
 
@@ -507,30 +526,30 @@ libxlMakeDisk(virDomainDefPtr def, virDomainDiskDefPtr l_disk,
             STREQ(l_disk->driverName, "tap2")) {
             if (l_disk->driverType) {
                 if (STREQ(l_disk->driverType, "qcow")) {
-                    x_disk->format = DISK_FORMAT_QCOW;
-                    x_disk->backend = DISK_BACKEND_QDISK;
+                    x_disk->format = LIBXL_DISK_FORMAT_QCOW;
+                    x_disk->backend = LIBXL_DISK_BACKEND_QDISK;
                 } else if (STREQ(l_disk->driverType, "qcow2")) {
-                    x_disk->format = DISK_FORMAT_QCOW2;
-                    x_disk->backend = DISK_BACKEND_QDISK;
+                    x_disk->format = LIBXL_DISK_FORMAT_QCOW2;
+                    x_disk->backend = LIBXL_DISK_BACKEND_QDISK;
                 } else if (STREQ(l_disk->driverType, "vhd")) {
-                    x_disk->format = DISK_FORMAT_VHD;
-                    x_disk->backend = DISK_BACKEND_TAP;
+                    x_disk->format = LIBXL_DISK_FORMAT_VHD;
+                    x_disk->backend = LIBXL_DISK_BACKEND_TAP;
                 } else if (STREQ(l_disk->driverType, "aio") ||
                             STREQ(l_disk->driverType, "raw")) {
-                    x_disk->format = DISK_FORMAT_RAW;
-                    x_disk->backend = DISK_BACKEND_TAP;
+                    x_disk->format = LIBXL_DISK_FORMAT_RAW;
+                    x_disk->backend = LIBXL_DISK_BACKEND_TAP;
                 }
             } else {
                 /* No subtype specified, default to raw/tap */
-                    x_disk->format = DISK_FORMAT_RAW;
-                    x_disk->backend = DISK_BACKEND_TAP;
+                    x_disk->format = LIBXL_DISK_FORMAT_RAW;
+                    x_disk->backend = LIBXL_DISK_BACKEND_TAP;
             }
         } else if (STREQ(l_disk->driverName, "file")) {
-            x_disk->format = DISK_FORMAT_RAW;
-            x_disk->backend = DISK_BACKEND_TAP;
+            x_disk->format = LIBXL_DISK_FORMAT_RAW;
+            x_disk->backend = LIBXL_DISK_BACKEND_TAP;
         } else if (STREQ(l_disk->driverName, "phy")) {
-            x_disk->format = DISK_FORMAT_RAW;
-            x_disk->backend = DISK_BACKEND_PHY;
+            x_disk->format = LIBXL_DISK_FORMAT_RAW;
+            x_disk->backend = LIBXL_DISK_BACKEND_PHY;
         } else {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                         _("libxenlight does not support disk driver %s"),
@@ -538,13 +557,14 @@ libxlMakeDisk(virDomainDefPtr def, virDomainDiskDefPtr l_disk,
             return -1;
         }
     } else {
-        /* No driverName - default to raw/tap?? */
-        x_disk->format = DISK_FORMAT_RAW;
-        x_disk->backend = DISK_BACKEND_TAP;
+ 
+        /* No driverName - default to raw/phy?? */
+        x_disk->format = LIBXL_DISK_FORMAT_RAW;
+        x_disk->backend = LIBXL_DISK_BACKEND_PHY;
     }
 
-    /* How to set unpluggable? */
-    x_disk->unpluggable = 1;
+    /* XXX is this right? */
+    x_disk->removable = 1;
     x_disk->readwrite = !l_disk->readonly;
     x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
     if (l_disk->transient) {
@@ -553,7 +573,7 @@ libxlMakeDisk(virDomainDefPtr def, virDomainDiskDefPtr l_disk,
         return -1;
     }
 
-    x_disk->domid = def->id;
+    (void)def->id;
 
     return 0;
 }
@@ -583,7 +603,7 @@ libxlMakeDiskList(virDomainDefPtr def, libxl_domain_config *d_config)
 
 error:
     for (i = 0; i < ndisks; i++)
-        libxl_device_disk_destroy(&x_disks[i]);
+        libxl_device_disk_dispose(&x_disks[i]);
     VIR_FREE(x_disks);
     return -1;
 }
@@ -595,7 +615,7 @@ libxlMakeNic(virDomainDefPtr def, virDomainNetDefPtr l_nic,
     // TODO: Where is mtu stored?
     //x_nics[i].mtu = 1492;
 
-    x_nic->domid = def->id;
+    (void)def->id;
     memcpy(x_nic->mac, l_nic->mac, sizeof(libxl_mac));
 
     if (l_nic->model && !STREQ(l_nic->model, "netfront")) {
@@ -603,9 +623,9 @@ libxlMakeNic(virDomainDefPtr def, virDomainNetDefPtr l_nic,
             virReportOOMError();
             return -1;
         }
-        x_nic->nictype = NICTYPE_IOEMU;
+        x_nic->nictype = LIBXL_NIC_TYPE_IOEMU;
     } else {
-        x_nic->nictype = NICTYPE_VIF;
+        x_nic->nictype = LIBXL_NIC_TYPE_VIF;
     }
 
     if (l_nic->ifname && (x_nic->ifname = strdup(l_nic->ifname)) == NULL) {
@@ -663,7 +683,7 @@ libxlMakeNicList(virDomainDefPtr def,  libxl_domain_config *d_config)
 
 error:
     for (i = 0; i < nnics; i++)
-        libxl_device_nic_destroy(&x_nics[i]);
+        libxl_device_nic_dispose(&x_nics[i]);
     VIR_FREE(x_nics);
     return -1;
 }
@@ -677,23 +697,23 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, virDomainDefPtr def,
 
     switch (l_vfb->type) {
         case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
-            x_vfb->sdl = 1;
+            libxl_defbool_set(&x_vfb->sdl.enable, 1);
             if (l_vfb->data.sdl.display &&
-                (x_vfb->display = strdup(l_vfb->data.sdl.display)) == NULL) {
+                (x_vfb->sdl.display = strdup(l_vfb->data.sdl.display)) == NULL) {
                 virReportOOMError();
                 return -1;
             }
             if (l_vfb->data.sdl.xauth &&
-                (x_vfb->xauthority =
+                (x_vfb->sdl.xauthority =
                     strdup(l_vfb->data.sdl.xauth)) == NULL) {
                 virReportOOMError();
                 return -1;
             }
             break;
         case  VIR_DOMAIN_GRAPHICS_TYPE_VNC:
-            x_vfb->vnc = 1;
+            libxl_defbool_set(&x_vfb->vnc.enable, 1);
             /* driver handles selection of free port */
-            x_vfb->vncunused = 0;
+            libxl_defbool_set(&x_vfb->vnc.findunused, 0);
             if (l_vfb->data.vnc.autoport) {
                 port = libxlNextFreeVncPort(driver, LIBXL_VNC_PORT_MIN);
                 if (port < 0) {
@@ -703,13 +723,13 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, virDomainDefPtr def,
                 }
                 l_vfb->data.vnc.port = port;
             }
-            x_vfb->vncdisplay = l_vfb->data.vnc.port - LIBXL_VNC_PORT_MIN;
+            x_vfb->vnc.display = l_vfb->data.vnc.port - LIBXL_VNC_PORT_MIN;
 
             listenAddr = virDomainGraphicsListenGetAddress(l_vfb, 0);
             if (listenAddr) {
                 /* libxl_device_vfb_init() does strdup("127.0.0.1") */
-                VIR_FREE(x_vfb->vnclisten);
-                if ((x_vfb->vnclisten = strdup(listenAddr)) == NULL) {
+                VIR_FREE(x_vfb->vnc.listen);
+                if ((x_vfb->vnc.listen = strdup(listenAddr)) == NULL) {
                     virReportOOMError();
                     return -1;
                 }
@@ -722,7 +742,7 @@ libxlMakeVfb(libxlDriverPrivatePtr driver, virDomainDefPtr def,
             }
             break;
     }
-    x_vfb->domid = def->id;
+    (void) def->id;
     return 0;
 }
 
@@ -750,8 +770,8 @@ libxlMakeVfbList(libxlDriverPrivatePtr driver,
     }
 
     for (i = 0; i < nvfbs; i++) {
-        libxl_device_vfb_init(&x_vfbs[i], i);
-        libxl_device_vkb_init(&x_vkbs[i], i);
+        libxl_device_vfb_init(&x_vfbs[i]);
+        libxl_device_vkb_init(&x_vkbs[i]);
 
         if (libxlMakeVfb(driver, def, l_vfbs[i], &x_vfbs[i]) < 0)
             goto error;
@@ -765,14 +785,15 @@ libxlMakeVfbList(libxlDriverPrivatePtr driver,
 
 error:
     for (i = 0; i < nvfbs; i++) {
-        libxl_device_vfb_destroy(&x_vfbs[i]);
-        libxl_device_vkb_destroy(&x_vkbs[i]);
+        libxl_device_vfb_dispose(&x_vfbs[i]);
+        libxl_device_vkb_dispose(&x_vkbs[i]);
     }
     VIR_FREE(x_vfbs);
     VIR_FREE(x_vkbs);
     return -1;
 }
 
+#if 0
 static int
 libxlMakeChrdevStr(virDomainChrDefPtr def, char **buf)
 {
@@ -906,6 +927,7 @@ error:
     libxl_device_model_info_destroy(dm_info);
     return -1;
 }
+#endif
 
 virCapsPtr
 libxlMakeCapabilities(libxl_ctx *ctx)
@@ -940,7 +962,7 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
                        virDomainDefPtr def, libxl_domain_config *d_config)
 {
 
-    if (libxlMakeDomCreateInfo(def, &d_config->c_info) < 0)
+    if (libxlMakeDomCreateInfo(driver, def, &d_config->c_info) < 0)
         return -1;
 
     if (libxlMakeDomBuildInfo(def, d_config) < 0) {
@@ -959,9 +981,11 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
         goto error;
     }
 
+#if 0
     if (libxlMakeDeviceModelInfo(def, d_config) < 0) {
         goto error;
     }
+#endif
 
     d_config->on_reboot = def->onReboot;
     d_config->on_poweroff = def->onPoweroff;
@@ -970,6 +994,6 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
     return 0;
 
 error:
-    libxl_domain_config_destroy(d_config);
+    libxl_domain_config_dispose(d_config);
     return -1;
 }
diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h
index 2820afb..73ab733 100644
--- a/src/libxl/libxl_conf.h
+++ b/src/libxl/libxl_conf.h
@@ -58,7 +58,7 @@ struct _libxlDriverPrivate {
     FILE *logger_file;
     xentoollog_logger *logger;
     /* libxl ctx for driver wide ops; getVersion, getNodeInfo, ... */
-    libxl_ctx ctx;
+    libxl_ctx *ctx;
 
     virBitmapPtr reservedVNCPorts;
     virDomainObjList domains;
@@ -77,10 +77,8 @@ typedef struct _libxlDomainObjPrivate libxlDomainObjPrivate;
 typedef libxlDomainObjPrivate *libxlDomainObjPrivatePtr;
 struct _libxlDomainObjPrivate {
     /* per domain libxl ctx */
-    libxl_ctx ctx;
-    libxl_waiter *dWaiter;
-    int waiterFD;
-    int eventHdl;
+    libxl_ctx *ctx;
+    libxl_evgen_domain_death *deathW;
 };
 
 # define LIBXL_SAVE_MAGIC "libvirt-xml\n \0 \r"
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 45bf1f8..8656f35 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -40,6 +40,7 @@
 #include "memory.h"
 #include "uuid.h"
 #include "command.h"
+#include "libxl.h"
 #include "libxl_driver.h"
 #include "libxl_conf.h"
 #include "xen_xm.h"
@@ -79,6 +80,138 @@ libxlDriverUnlock(libxlDriverPrivatePtr driver)
     virMutexUnlock(&driver->lock);
 }
 
+struct libxl_osevent_hook_fdinfo {
+    libxlDomainObjPrivatePtr priv;
+    void *xl_priv;
+    int watch;
+};
+
+static void cb_fd_event(int watch, int fd, int vir_events, void *fdinfo)
+{
+    struct libxl_osevent_hook_fdinfo *info = fdinfo;
+    int events = 0;
+    (void)watch; (void)fd;
+    if (vir_events & VIR_EVENT_HANDLE_READABLE)
+        events |= POLLIN;
+    if (vir_events & VIR_EVENT_HANDLE_WRITABLE)
+        events |= POLLOUT;
+    if (vir_events & VIR_EVENT_HANDLE_ERROR)
+        events |= POLLERR;
+    if (vir_events & VIR_EVENT_HANDLE_HANGUP)
+        events |= POLLHUP;
+    libxl_osevent_occurred_fd(info->priv->ctx, info->xl_priv, fd, 0, events);
+}
+
+static void free_fdinfo(void *opaque)
+{
+    free(opaque);
+}
+
+static int evhook_fd_register(void *priv, int fd, void **hndp, short events, void *xl_priv)
+{
+    int vir_events = VIR_EVENT_HANDLE_ERROR;
+    struct libxl_osevent_hook_fdinfo *fdinfo;
+    fdinfo = malloc(sizeof(fdinfo));
+    fdinfo->priv = priv;
+    fdinfo->xl_priv = xl_priv;
+    *hndp = fdinfo;
+
+    if (events & POLLIN)
+        vir_events |= VIR_EVENT_HANDLE_READABLE;
+    if (events & POLLOUT)
+        vir_events |= VIR_EVENT_HANDLE_WRITABLE;
+    fdinfo->watch = virEventAddHandle(fd, vir_events, cb_fd_event, fdinfo, free_fdinfo);
+    if (fdinfo->watch < 0)
+        return fdinfo->watch;
+    return 0;
+}
+
+static int evhook_fd_modify(void *priv, int fd, void **hndp, short events)
+{
+    struct libxl_osevent_hook_fdinfo *fdinfo = *hndp;
+    (void)fd; (void)priv;
+    int vir_events = VIR_EVENT_HANDLE_ERROR;
+    if (events & POLLIN)
+        vir_events |= VIR_EVENT_HANDLE_READABLE;
+    if (events & POLLOUT)
+        vir_events |= VIR_EVENT_HANDLE_WRITABLE;
+    virEventUpdateHandle(fdinfo->watch, vir_events);
+    return 0;
+}
+
+static void evhook_fd_deregister(void *priv, int fd, void *hnd)
+{
+    struct libxl_osevent_hook_fdinfo *fdinfo = hnd;
+    (void)priv; (void)fd;
+    virEventRemoveHandle(fdinfo->watch);
+}
+
+struct libxl_osevent_hook_timerinfo {
+    libxlDomainObjPrivatePtr priv;
+    void *xl_priv;
+    int id;
+};
+
+
+static void cb_timer(int timer, void *timer_v)
+{
+    struct libxl_osevent_hook_timerinfo *timer_info = timer_v;
+    (void)timer;
+    libxl_osevent_occurred_timeout(timer_info->priv->ctx, timer_info->xl_priv);
+}
+
+static void timer_info_free(void* obj)
+{
+    free(obj);
+}
+
+static int evhook_timeout_register(void *priv, void **hndp, struct timeval abs_t, void *for_libxl)
+{
+    struct timeval now;
+    struct libxl_osevent_hook_timerinfo *timer_info;
+    int timeout, timer_id;
+    timer_info = malloc(sizeof(*timer_info));
+    gettimeofday(&now, NULL);
+    timeout = (abs_t.tv_usec - now.tv_usec) / 1000;
+    timeout += (abs_t.tv_sec - now.tv_sec) * 1000;
+    timer_id = virEventAddTimeout(timeout, cb_timer, timer_info, timer_info_free);
+    if (timer_id < 0)
+        return timer_id;
+    timer_info->priv = priv;
+    timer_info->xl_priv = for_libxl;
+    timer_info->id = timer_id;
+    *hndp = timer_info;
+    return 0;
+}
+
+static int evhook_timeout_modify(void *priv, void **hndp, struct timeval abs_t)
+{
+    struct timeval now;
+    int timeout;
+    struct libxl_osevent_hook_timerinfo *timer_info = *hndp;
+    (void)priv;
+    gettimeofday(&now, NULL);
+    timeout = (abs_t.tv_usec - now.tv_usec) / 1000;
+    timeout += (abs_t.tv_sec - now.tv_sec) * 1000;
+    virEventUpdateTimeout(timer_info->id, timeout);
+    return 0;
+}
+
+static void evhook_timeout_deregister(void *priv, void *hnd) {
+    struct libxl_osevent_hook_timerinfo *timer_info = hnd;
+    virEventRemoveTimeout(timer_info->id);
+    (void)priv;
+}
+
+static const libxl_osevent_hooks event_callbacks = {
+    .fd_register = evhook_fd_register,
+    .fd_modify = evhook_fd_modify,
+    .fd_deregister = evhook_fd_deregister,
+    .timeout_register = evhook_timeout_register,
+    .timeout_modify = evhook_timeout_modify,
+    .timeout_deregister = evhook_timeout_deregister,
+};  
+
 static void *
 libxlDomainObjPrivateAlloc(void)
 {
@@ -87,9 +220,9 @@ libxlDomainObjPrivateAlloc(void)
     if (VIR_ALLOC(priv) < 0)
         return NULL;
 
-    libxl_ctx_init(&priv->ctx, LIBXL_VERSION, libxl_driver->logger);
-    priv->waiterFD = -1;
-    priv->eventHdl = -1;
+    libxl_ctx_alloc(&priv->ctx, LIBXL_VERSION, 0, libxl_driver->logger);
+    priv->deathW = NULL;
+    libxl_osevent_register_hooks(priv->ctx, &event_callbacks, priv);
 
     return priv;
 }
@@ -99,16 +232,12 @@ libxlDomainObjPrivateFree(void *data)
 {
     libxlDomainObjPrivatePtr priv = data;
 
-    if (priv->eventHdl >= 0)
-        virEventRemoveHandle(priv->eventHdl);
-
-    if (priv->dWaiter) {
-        libxl_stop_waiting(&priv->ctx, priv->dWaiter);
-        libxl_free_waiter(priv->dWaiter);
-        VIR_FREE(priv->dWaiter);
+    if (priv->deathW) {
+        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
+        VIR_FREE(priv->deathW);
     }
 
-    libxl_ctx_free(&priv->ctx);
+    libxl_ctx_free(priv->ctx);
     VIR_FREE(priv);
 }
 
@@ -120,17 +249,6 @@ libxlDomainEventQueue(libxlDriverPrivatePtr driver, virDomainEventPtr event)
     virDomainEventStateQueue(driver->domainEventState, event);
 }
 
-/*
- * Remove reference to domain object.
- */
-static void
-libxlDomainObjUnref(void *data)
-{
-    virDomainObjPtr vm = data;
-
-    ignore_value(virDomainObjUnref(vm));
-}
-
 static void
 libxlAutostartDomain(void *payload, const void *name ATTRIBUTE_UNUSED,
                      void *opaque)
@@ -161,13 +279,13 @@ libxlDoNodeGetInfo(libxlDriverPrivatePtr driver, virNodeInfoPtr info)
     const libxl_version_info* ver_info;
     struct utsname utsname;
 
-    if (libxl_get_physinfo(&driver->ctx, &phy_info)) {
+    if (libxl_get_physinfo(driver->ctx, &phy_info)) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxl_get_physinfo_info failed"));
         return -1;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxl_get_version_info failed"));
         return -1;
@@ -291,15 +409,9 @@ libxlVmCleanup(libxlDriverPrivatePtr driver,
     char *file;
     int i;
 
-    if (priv->eventHdl >= 0) {
-        virEventRemoveHandle(priv->eventHdl);
-        priv->eventHdl = -1;
-    }
-
-    if (priv->dWaiter) {
-        libxl_stop_waiting(&priv->ctx, priv->dWaiter);
-        libxl_free_waiter(priv->dWaiter);
-        VIR_FREE(priv->dWaiter);
+    if (priv->deathW) {
+        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
+        priv->deathW = NULL;
     }
 
     if (vm->persistent) {
@@ -350,12 +462,11 @@ libxlVmCleanup(libxlDriverPrivatePtr driver,
 static int
 libxlVmReap(libxlDriverPrivatePtr driver,
             virDomainObjPtr vm,
-            int force,
             virDomainShutoffReason reason)
 {
     libxlDomainObjPrivatePtr priv = vm->privateData;
 
-    if (libxl_domain_destroy(&priv->ctx, vm->def->id, force) < 0) {
+    if (libxl_domain_destroy(priv->ctx, vm->def->id) < 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Unable to cleanup domain %d"), vm->def->id);
         return -1;
@@ -368,56 +479,26 @@ libxlVmReap(libxlDriverPrivatePtr driver,
 /*
  * Handle previously registered event notification from libxenlight
  */
-static void libxlEventHandler(int watch,
-                              int fd,
-                              int events,
-                              void *data)
+static void libxlEventHandler(void *data, const libxl_event *event)
 {
     libxlDriverPrivatePtr driver = libxl_driver;
     virDomainObjPtr vm = data;
-    libxlDomainObjPrivatePtr priv;
     virDomainEventPtr dom_event = NULL;
-    libxl_event event;
-    libxl_dominfo info;
 
     libxlDriverLock(driver);
     virDomainObjLock(vm);
     libxlDriverUnlock(driver);
 
-    priv = vm->privateData;
-
-    memset(&event, 0, sizeof(event));
-    memset(&info, 0, sizeof(info));
-
-    if (priv->waiterFD != fd || priv->eventHdl != watch) {
-        virEventRemoveHandle(watch);
-        priv->eventHdl = -1;
-        goto cleanup;
-    }
-
-    if (!(events & VIR_EVENT_HANDLE_READABLE))
-        goto cleanup;
-
-    if (libxl_get_event(&priv->ctx, &event))
-        goto cleanup;
-
-    if (event.type == LIBXL_EVENT_DOMAIN_DEATH) {
+    if (event->type == LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN) {
         virDomainShutoffReason reason;
 
-        /* libxl_event_get_domain_death_info returns 1 if death
-         * event was for this domid */
-        if (libxl_event_get_domain_death_info(&priv->ctx,
-                                              vm->def->id,
-                                              &event,
-                                              &info) != 1)
+        if (event->domid != vm->def->id)
             goto cleanup;
 
-        virEventRemoveHandle(watch);
-        priv->eventHdl = -1;
-        switch (info.shutdown_reason) {
-            case SHUTDOWN_poweroff:
-            case SHUTDOWN_crash:
-                if (info.shutdown_reason == SHUTDOWN_crash) {
+        switch (event->u.domain_shutdown.shutdown_reason) {
+            case LIBXL_SHUTDOWN_REASON_POWEROFF:
+            case LIBXL_SHUTDOWN_REASON_CRASH:
+                if (event->u.domain_shutdown.shutdown_reason == LIBXL_SHUTDOWN_REASON_CRASH) {
                     dom_event = virDomainEventNewFromObj(vm,
                                               VIR_DOMAIN_EVENT_STOPPED,
                                               VIR_DOMAIN_EVENT_STOPPED_CRASHED);
@@ -425,18 +506,18 @@ static void libxlEventHandler(int watch,
                 } else {
                     reason = VIR_DOMAIN_SHUTOFF_SHUTDOWN;
                 }
-                libxlVmReap(driver, vm, 0, reason);
+                libxlVmReap(driver, vm, reason);
                 if (!vm->persistent) {
                     virDomainRemoveInactive(&driver->domains, vm);
                     vm = NULL;
                 }
                 break;
-            case SHUTDOWN_reboot:
-                libxlVmReap(driver, vm, 0, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
+            case LIBXL_SHUTDOWN_REASON_REBOOT:
+                libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
                 libxlVmStart(driver, vm, 0, -1);
                 break;
             default:
-                VIR_INFO("Unhandled shutdown_reason %d", info.shutdown_reason);
+                VIR_INFO("Unhandled shutdown_reason %d", event->u.domain_shutdown.shutdown_reason);
                 break;
         }
     }
@@ -449,9 +530,14 @@ cleanup:
         libxlDomainEventQueue(driver, dom_event);
         libxlDriverUnlock(driver);
     }
-    libxl_free_event(&event);
 }
 
+static const struct libxl_event_hooks ev_hooks = {
+    .event_occurs_mask = LIBXL_EVENTMASK_ALL,
+    .event_occurs = libxlEventHandler,
+    .disaster = NULL,
+};
+
 /*
  * Register domain events with libxenlight and insert event handles
  * in libvirt's event loop.
@@ -460,40 +546,18 @@ static int
 libxlCreateDomEvents(virDomainObjPtr vm)
 {
     libxlDomainObjPrivatePtr priv = vm->privateData;
-    int fd;
-
-    if (VIR_ALLOC(priv->dWaiter) < 0) {
-        virReportOOMError();
-        return -1;
-    }
 
-    if (libxl_wait_for_domain_death(&priv->ctx, vm->def->id, priv->dWaiter))
-        goto error;
+    libxl_event_register_callbacks(priv->ctx, &ev_hooks, vm);
 
-    libxl_get_wait_fd(&priv->ctx, &fd);
-    if (fd < 0)
+    if (libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW))
         goto error;
 
-    priv->waiterFD = fd;
-    /* Add a reference to the domain object while it is injected in
-     * the event loop.
-     */
-    virDomainObjRef(vm);
-    if ((priv->eventHdl = virEventAddHandle(
-             fd,
-             VIR_EVENT_HANDLE_READABLE | VIR_EVENT_HANDLE_ERROR,
-             libxlEventHandler,
-             vm, libxlDomainObjUnref)) < 0) {
-        ignore_value(virDomainObjUnref(vm));
-        goto error;
-    }
-
     return 0;
 
 error:
-    libxl_free_waiter(priv->dWaiter);
-    VIR_FREE(priv->dWaiter);
-    priv->eventHdl = -1;
+    if (priv->deathW)
+        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
+    free(priv->deathW);
     return -1;
 }
 
@@ -534,7 +598,7 @@ libxlDomainSetVcpuAffinites(libxlDriverPrivatePtr driver, virDomainObjPtr vm)
         map.size = cpumaplen;
         map.map = cpumap;
 
-        if (libxl_set_vcpuaffinity(&priv->ctx, def->id, vcpu, &map) != 0) {
+        if (libxl_set_vcpuaffinity(priv->ctx, def->id, vcpu, &map) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to pin vcpu '%d' with libxenlight"), vcpu);
             goto cleanup;
@@ -560,11 +624,10 @@ libxlFreeMem(libxlDomainObjPrivatePtr priv, libxl_domain_config *d_config)
     int tries = 3;
     int wait_secs = 10;
 
-    if ((ret = libxl_domain_need_memory(&priv->ctx, &d_config->b_info,
-                                        &d_config->dm_info,
+    if ((ret = libxl_domain_need_memory(priv->ctx, &d_config->b_info,
                                         &needed_mem)) >= 0) {
         for (i = 0; i < tries; ++i) {
-            if ((ret = libxl_get_free_memory(&priv->ctx, &free_mem)) < 0)
+            if ((ret = libxl_get_free_memory(priv->ctx, &free_mem)) < 0)
                 break;
 
             if (free_mem >= needed_mem) {
@@ -572,17 +635,17 @@ libxlFreeMem(libxlDomainObjPrivatePtr priv, libxl_domain_config *d_config)
                 break;
             }
 
-            if ((ret = libxl_set_memory_target(&priv->ctx, 0,
+            if ((ret = libxl_set_memory_target(priv->ctx, 0,
                                                free_mem - needed_mem,
                                                /* relative */ 1, 0)) < 0)
                 break;
 
-            ret = libxl_wait_for_free_memory(&priv->ctx, 0, needed_mem,
+            ret = libxl_wait_for_free_memory(priv->ctx, 0, needed_mem,
                                              wait_secs);
             if (ret == 0 || ret != ERROR_NOMEM)
                 break;
 
-            if ((ret = libxl_wait_for_memory_target(&priv->ctx, 0, 1)) < 0)
+            if ((ret = libxl_wait_for_memory_target(priv->ctx, 0, 1)) < 0)
                 break;
         }
     }
@@ -651,7 +714,7 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         VIR_FREE(managed_save_path);
     }
 
-    memset(&d_config, 0, sizeof(d_config));
+    libxl_domain_config_init(&d_config);
 
     if (libxlBuildDomainConfig(driver, vm->def, &d_config) < 0 )
         return -1;
@@ -664,10 +727,10 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
     }
 
     if (restore_fd < 0)
-        ret = libxl_domain_create_new(&priv->ctx, &d_config,
+        ret = libxl_domain_create_new(priv->ctx, &d_config,
                                       NULL, &child_console_pid, &domid);
     else
-        ret = libxl_domain_create_restore(&priv->ctx, &d_config, NULL,
+        ret = libxl_domain_create_restore(priv->ctx, &d_config, NULL,
                                           &child_console_pid, &domid,
                                           restore_fd);
 
@@ -687,7 +750,7 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
     if ((dom_xml = virDomainDefFormat(vm->def, 0)) == NULL)
         goto error;
 
-    if (libxl_userdata_store(&priv->ctx, domid, "libvirt-xml",
+    if (libxl_userdata_store(priv->ctx, domid, "libvirt-xml",
                              (uint8_t *)dom_xml, strlen(dom_xml) + 1)) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxenlight failed to store userdata"));
@@ -701,7 +764,7 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         goto error;
 
     if (!start_paused) {
-        libxl_domain_unpause(&priv->ctx, domid);
+        libxl_domain_unpause(priv->ctx, domid);
         virDomainObjSetState(vm, VIR_DOMAIN_RUNNING, VIR_DOMAIN_RUNNING_BOOTED);
     } else {
         virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_USER);
@@ -717,18 +780,18 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
                                          VIR_DOMAIN_EVENT_STARTED_RESTORED);
     libxlDomainEventQueue(driver, event);
 
-    libxl_domain_config_destroy(&d_config);
+    libxl_domain_config_dispose(&d_config);
     VIR_FREE(dom_xml);
     VIR_FORCE_CLOSE(managed_save_fd);
     return 0;
 
 error:
     if (domid > 0) {
-        libxl_domain_destroy(&priv->ctx, domid, 0);
+        libxl_domain_destroy(priv->ctx, domid);
         vm->def->id = -1;
         virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, VIR_DOMAIN_SHUTOFF_FAILED);
     }
-    libxl_domain_config_destroy(&d_config);
+    libxl_domain_config_dispose(&d_config);
     VIR_FREE(dom_xml);
     VIR_FREE(managed_save_path);
     virDomainDefFree(def);
@@ -756,7 +819,7 @@ libxlReconnectDomain(void *payload,
     virDomainObjLock(vm);
 
     /* Does domain still exist? */
-    rc = libxl_domain_info(&driver->ctx, &d_info, vm->def->id);
+    rc = libxl_domain_info(driver->ctx, &d_info, vm->def->id);
     if (rc == ERROR_INVAL) {
         goto out;
     } else if (rc != 0) {
@@ -766,7 +829,7 @@ libxlReconnectDomain(void *payload,
     }
 
     /* Is this a domain that was under libvirt control? */
-    if (libxl_userdata_retrieve(&driver->ctx, vm->def->id,
+    if (libxl_userdata_retrieve(driver->ctx, vm->def->id,
                                 "libvirt-xml", &data, &len)) {
         VIR_DEBUG("libxl_userdata_retrieve failed, ignoring domain %d", vm->def->id);
         goto out;
@@ -804,7 +867,7 @@ libxlShutdown(void)
     libxlDriverLock(libxl_driver);
     virCapabilitiesFree(libxl_driver->caps);
     virDomainObjListDeinit(&libxl_driver->domains);
-    libxl_ctx_free(&libxl_driver->ctx);
+    libxl_ctx_free(libxl_driver->ctx);
     xtl_logger_destroy(libxl_driver->logger);
     if (libxl_driver->logger_file)
         VIR_FORCE_FCLOSE(libxl_driver->logger_file);
@@ -937,14 +1000,14 @@ libxlStartup(int privileged) {
         goto fail;
     }
 
-    if (libxl_ctx_init(&libxl_driver->ctx,
-                       LIBXL_VERSION,
+    if (libxl_ctx_alloc(&libxl_driver->ctx,
+                       LIBXL_VERSION, 0,
                        libxl_driver->logger)) {
         VIR_INFO("cannot initialize libxenlight context, probably not running in a Xen Dom0, disabling driver");
         goto fail;
     }
 
-    if ((ver_info = libxl_get_version_info(&libxl_driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(libxl_driver->ctx)) == NULL) {
         VIR_INFO("cannot version information from libxenlight, disabling driver");
         goto fail;
     }
@@ -952,7 +1015,7 @@ libxlStartup(int privileged) {
             (ver_info->xen_version_minor * 1000);
 
     if ((libxl_driver->caps =
-         libxlMakeCapabilities(&libxl_driver->ctx)) == NULL) {
+         libxlMakeCapabilities(libxl_driver->ctx)) == NULL) {
         VIR_ERROR(_("cannot create capabilities for libxenlight"));
         goto error;
     }
@@ -1112,7 +1175,7 @@ libxlGetMaxVcpus(virConnectPtr conn, const char *type ATTRIBUTE_UNUSED)
     int ret;
     libxlDriverPrivatePtr driver = conn->privateData;
 
-    ret = libxl_get_max_cpus(&driver->ctx);
+    ret = libxl_get_max_cpus(driver->ctx);
     /* libxl_get_max_cpus() will return 0 if there were any failures,
        e.g. xc_physinfo() failing */
     if (ret == 0)
@@ -1317,7 +1380,7 @@ libxlDomainSuspend(virDomainPtr dom)
     priv = vm->privateData;
 
     if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_PAUSED) {
-        if (libxl_domain_pause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_pause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to suspend domain '%d' with libxenlight"),
                        dom->id);
@@ -1376,7 +1439,7 @@ libxlDomainResume(virDomainPtr dom)
     priv = vm->privateData;
 
     if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_PAUSED) {
-        if (libxl_domain_unpause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_unpause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to resume domain '%d' with libxenlight"),
                        dom->id);
@@ -1433,7 +1496,7 @@ libxlDomainShutdownFlags(virDomainPtr dom, unsigned int flags)
     }
 
     priv = vm->privateData;
-    if (libxl_domain_shutdown(&priv->ctx, dom->id, LIBXL_DOM_REQ_POWEROFF) != 0) {
+    if (libxl_domain_shutdown(priv->ctx, dom->id) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to shutdown domain '%d' with libxenlight"),
                    dom->id);
@@ -1486,7 +1549,7 @@ libxlDomainReboot(virDomainPtr dom, unsigned int flags)
     }
 
     priv = vm->privateData;
-    if (libxl_domain_shutdown(&priv->ctx, dom->id, LIBXL_DOM_REQ_REBOOT) != 0) {
+    if (libxl_domain_reboot(priv->ctx, dom->id) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to reboot domain '%d' with libxenlight"),
                    dom->id);
@@ -1531,7 +1594,7 @@ libxlDomainDestroyFlags(virDomainPtr dom,
     event = virDomainEventNewFromObj(vm,VIR_DOMAIN_EVENT_STOPPED,
                                      VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
 
-    if (libxlVmReap(driver, vm, 1, VIR_DOMAIN_SHUTOFF_DESTROYED) != 0) {
+    if (libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to destroy domain '%d'"), dom->id);
         goto cleanup;
@@ -1669,7 +1732,7 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem,
 
         if (flags & VIR_DOMAIN_MEM_LIVE) {
             priv = vm->privateData;
-            if (libxl_domain_setmaxmem(&priv->ctx, dom->id, newmem) < 0) {
+            if (libxl_domain_setmaxmem(priv->ctx, dom->id, newmem) < 0) {
                 libxlError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set maximum memory for domain '%d'"
                              " with libxenlight"), dom->id);
@@ -1698,7 +1761,7 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem,
 
         if (flags & VIR_DOMAIN_MEM_LIVE) {
             priv = vm->privateData;
-            if (libxl_set_memory_target(&priv->ctx, dom->id, newmem, 0,
+            if (libxl_set_memory_target(priv->ctx, dom->id, newmem, 0,
                                         /* force */ 1) < 0) {
                 libxlError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set memory for domain '%d'"
@@ -1758,7 +1821,7 @@ libxlDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
         info->memory = vm->def->mem.cur_balloon;
         info->maxMem = vm->def->mem.max_balloon;
     } else {
-        if (libxl_domain_info(&driver->ctx, &d_info, dom->id) != 0) {
+        if (libxl_domain_info(driver->ctx, &d_info, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("libxl_domain_info failed for domain '%d'"), dom->id);
             goto cleanup;
@@ -1858,7 +1921,7 @@ libxlDoDomainSave(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         goto cleanup;
     }
 
-    if (libxl_domain_suspend(&priv->ctx, NULL, vm->def->id, fd) != 0) {
+    if (libxl_domain_suspend(priv->ctx, NULL, vm->def->id, fd) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                     _("Failed to save domain '%d' with libxenlight"),
                     vm->def->id);
@@ -1868,7 +1931,7 @@ libxlDoDomainSave(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
     event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED,
                                          VIR_DOMAIN_EVENT_STOPPED_SAVED);
 
-    if (libxlVmReap(driver, vm, 1, VIR_DOMAIN_SHUTOFF_SAVED) != 0) {
+    if (libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_SAVED) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                     _("Failed to destroy domain '%d'"), vm->def->id);
         goto cleanup;
@@ -2023,7 +2086,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
 
     if (!(flags & VIR_DUMP_LIVE) &&
         virDomainObjGetState(vm, NULL) == VIR_DOMAIN_RUNNING) {
-        if (libxl_domain_pause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_pause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Before dumping core, failed to suspend domain '%d'"
                          " with libxenlight"),
@@ -2034,7 +2097,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
         paused = true;
     }
 
-    if (libxl_domain_core_dump(&priv->ctx, dom->id, to) != 0) {
+    if (libxl_domain_core_dump(priv->ctx, dom->id, to) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to dump core of domain '%d' with libxenlight"),
                    dom->id);
@@ -2043,7 +2106,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
 
     libxlDriverLock(driver);
     if (flags & VIR_DUMP_CRASH) {
-        if (libxlVmReap(driver, vm, 1, VIR_DOMAIN_SHUTOFF_CRASHED) != 0) {
+        if (libxlVmReap(driver, vm, VIR_DOMAIN_SHUTOFF_CRASHED) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to destroy domain '%d'"), dom->id);
             goto cleanup_unlock;
@@ -2064,7 +2127,7 @@ cleanup_unlock:
     libxlDriverUnlock(driver);
 cleanup_unpause:
     if (virDomainObjIsActive(vm) && paused) {
-        if (libxl_domain_unpause(&priv->ctx, dom->id) != 0) {
+        if (libxl_domain_unpause(priv->ctx, dom->id) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("After dumping core, failed to resume domain '%d' with"
                          " libxenlight"), dom->id);
@@ -2301,7 +2364,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
         break;
 
     case VIR_DOMAIN_VCPU_LIVE:
-        if (libxl_set_vcpuonline(&priv->ctx, dom->id, &map) != 0) {
+        if (libxl_set_vcpuonline(priv->ctx, dom->id, &map) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to set vcpus for domain '%d'"
                          " with libxenlight"), dom->id);
@@ -2310,7 +2373,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
         break;
 
     case VIR_DOMAIN_VCPU_LIVE | VIR_DOMAIN_VCPU_CONFIG:
-        if (libxl_set_vcpuonline(&priv->ctx, dom->id, &map) != 0) {
+        if (libxl_set_vcpuonline(priv->ctx, dom->id, &map) != 0) {
             libxlError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to set vcpus for domain '%d'"
                          " with libxenlight"), dom->id);
@@ -2427,7 +2490,7 @@ libxlDomainPinVcpu(virDomainPtr dom, unsigned int vcpu, unsigned char *cpumap,
 
     map.size = maplen;
     map.map = cpumap;
-    if (libxl_set_vcpuaffinity(&priv->ctx, dom->id, vcpu, &map) != 0) {
+    if (libxl_set_vcpuaffinity(priv->ctx, dom->id, vcpu, &map) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to pin vcpu '%d' with libxenlight"), vcpu);
         goto cleanup;
@@ -2479,7 +2542,7 @@ libxlDomainGetVcpus(virDomainPtr dom, virVcpuInfoPtr info, int maxinfo,
     }
 
     priv = vm->privateData;
-    if ((vcpuinfo = libxl_list_vcpu(&priv->ctx, dom->id, &maxcpu,
+    if ((vcpuinfo = libxl_list_vcpu(priv->ctx, dom->id, &maxcpu,
                                     &hostcpus)) == NULL) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to list vcpus for domain '%d' with libxenlight"),
@@ -2506,7 +2569,7 @@ libxlDomainGetVcpus(virDomainPtr dom, virVcpuInfoPtr info, int maxinfo,
                    MIN(maplen, vcpuinfo[i].cpumap.size));
         }
 
-        libxl_vcpuinfo_destroy(&vcpuinfo[i]);
+        libxl_vcpuinfo_dispose(&vcpuinfo[i]);
     }
     VIR_FREE(vcpuinfo);
 
@@ -2564,7 +2627,7 @@ libxlDomainXMLFromNative(virConnectPtr conn, const char * nativeFormat,
         goto cleanup;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         VIR_ERROR(_("cannot get version information from libxenlight"));
         goto cleanup;
     }
@@ -2607,7 +2670,7 @@ libxlDomainXMLToNative(virConnectPtr conn, const char * nativeFormat,
         goto cleanup;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         VIR_ERROR(_("cannot get version information from libxenlight"));
         goto cleanup;
     }
@@ -2870,7 +2933,7 @@ libxlDomainChangeEjectableMedia(libxlDomainObjPrivatePtr priv,
     if (libxlMakeDisk(vm->def, disk, &x_disk) < 0)
         goto cleanup;
 
-    if ((ret = libxl_cdrom_insert(&priv->ctx, vm->def->id, &x_disk)) < 0) {
+    if ((ret = libxl_cdrom_insert(priv->ctx, vm->def->id, &x_disk)) < 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("libxenlight failed to change media for disk '%s'"),
                    disk->dst);
@@ -2925,7 +2988,7 @@ libxlDomainAttachDeviceDiskLive(libxlDomainObjPrivatePtr priv,
                 if (libxlMakeDisk(vm->def, l_disk, &x_disk) < 0)
                     goto cleanup;
 
-                if ((ret = libxl_device_disk_add(&priv->ctx, vm->def->id,
+                if ((ret = libxl_device_disk_add(priv->ctx, vm->def->id,
                                                 &x_disk)) < 0) {
                     libxlError(VIR_ERR_INTERNAL_ERROR,
                             _("libxenlight failed to attach disk '%s'"),
@@ -2959,7 +3022,6 @@ libxlDomainDetachDeviceDiskLive(libxlDomainObjPrivatePtr priv,
     virDomainDiskDefPtr l_disk = NULL;
     libxl_device_disk x_disk;
     int i;
-    int wait_secs = 2;
     int ret = -1;
 
     switch (dev->data.disk->device)  {
@@ -2979,8 +3041,7 @@ libxlDomainDetachDeviceDiskLive(libxlDomainObjPrivatePtr priv,
                 if (libxlMakeDisk(vm->def, l_disk, &x_disk) < 0)
                     goto cleanup;
 
-                if ((ret = libxl_device_disk_del(&priv->ctx, &x_disk,
-                                                 wait_secs)) < 0) {
+                if ((ret = libxl_device_disk_remove(priv->ctx, vm->def->id, &x_disk, NULL)) < 0) {
                     libxlError(VIR_ERR_INTERNAL_ERROR,
                                _("libxenlight failed to detach disk '%s'"),
                                l_disk->dst);
@@ -3355,12 +3416,12 @@ libxlNodeGetFreeMemory(virConnectPtr conn)
     const libxl_version_info* ver_info;
     libxlDriverPrivatePtr driver = conn->privateData;
 
-    if (libxl_get_physinfo(&driver->ctx, &phy_info)) {
+    if (libxl_get_physinfo(driver->ctx, &phy_info)) {
         libxlError(VIR_ERR_INTERNAL_ERROR, _("libxl_get_physinfo_info failed"));
         return 0;
     }
 
-    if ((ver_info = libxl_get_version_info(&driver->ctx)) == NULL) {
+    if ((ver_info = libxl_get_version_info(driver->ctx)) == NULL) {
         libxlError(VIR_ERR_INTERNAL_ERROR, _("libxl_get_version_info failed"));
         return 0;
     }
@@ -3506,7 +3567,7 @@ libxlDomainGetSchedulerType(virDomainPtr dom, int *nparams)
     libxlDomainObjPrivatePtr priv;
     virDomainObjPtr vm;
     char * ret = NULL;
-    int sched_id;
+    libxl_scheduler sched_id;
 
     libxlDriverLock(driver);
     vm = virDomainFindByUUID(&driver->domains, dom->uuid);
@@ -3523,31 +3584,29 @@ libxlDomainGetSchedulerType(virDomainPtr dom, int *nparams)
     }
 
     priv = vm->privateData;
-    if ((sched_id = libxl_get_sched_id(&priv->ctx)) < 0) {
-        libxlError(VIR_ERR_INTERNAL_ERROR,
-                   _("Failed to get scheduler id for domain '%d'"
-                     " with libxenlight"), dom->id);
-        goto cleanup;
-    }
+    sched_id = libxl_get_scheduler(priv->ctx);
 
     if (nparams)
         *nparams = 0;
     switch(sched_id) {
-    case XEN_SCHEDULER_SEDF:
+    case LIBXL_SCHEDULER_SEDF:
         ret = strdup("sedf");
         break;
-    case XEN_SCHEDULER_CREDIT:
+    case LIBXL_SCHEDULER_CREDIT:
         ret = strdup("credit");
         if (nparams)
             *nparams = XEN_SCHED_CREDIT_NPARAM;
         break;
-    case XEN_SCHEDULER_CREDIT2:
+    case LIBXL_SCHEDULER_CREDIT2:
         ret = strdup("credit2");
         break;
-    case XEN_SCHEDULER_ARINC653:
+    case LIBXL_SCHEDULER_ARINC653:
         ret = strdup("arinc653");
         break;
     default:
+        libxlError(VIR_ERR_INTERNAL_ERROR,
+                   _("Failed to get scheduler id for domain '%d'"
+                     " with libxenlight"), dom->id);
         goto cleanup;
     }
 
@@ -3566,11 +3625,16 @@ libxlDomainGetSchedulerParametersFlags(virDomainPtr dom,
                                        int *nparams,
                                        unsigned int flags)
 {
+    (void)dom;
+    (void)params;
+    (void)nparams;
+    (void)flags;
+
     libxlDriverPrivatePtr driver = dom->conn->privateData;
     libxlDomainObjPrivatePtr priv;
     virDomainObjPtr vm;
-    libxl_sched_credit sc_info;
-    int sched_id;
+    libxl_sched_credit_domain sc_info;
+    libxl_scheduler sched_id;
     int ret = -1;
 
     virCheckFlags(0, -1);
@@ -3591,20 +3655,15 @@ libxlDomainGetSchedulerParametersFlags(virDomainPtr dom,
 
     priv = vm->privateData;
 
-    if ((sched_id = libxl_get_sched_id(&priv->ctx)) < 0) {
-        libxlError(VIR_ERR_INTERNAL_ERROR,
-                   _("Failed to get scheduler id for domain '%d'"
-                     " with libxenlight"), dom->id);
-        goto cleanup;
-    }
+    sched_id = libxl_get_scheduler(priv->ctx);
 
-    if (sched_id != XEN_SCHEDULER_CREDIT) {
+    if (sched_id != LIBXL_SCHEDULER_CREDIT) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Only 'credit' scheduler is supported"));
         goto cleanup;
     }
 
-    if (libxl_sched_credit_domain_get(&priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_sched_credit_domain_get(priv->ctx, dom->id, &sc_info) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to get scheduler parameters for domain '%d'"
                      " with libxenlight"), dom->id);
@@ -3644,10 +3703,14 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
                                        int nparams,
                                        unsigned int flags)
 {
+    (void)dom;
+    (void)params;
+    (void)nparams;
+    (void)flags;
     libxlDriverPrivatePtr driver = dom->conn->privateData;
     libxlDomainObjPrivatePtr priv;
     virDomainObjPtr vm;
-    libxl_sched_credit sc_info;
+    libxl_sched_credit_domain sc_info;
     int sched_id;
     int i;
     int ret = -1;
@@ -3677,20 +3740,15 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
 
     priv = vm->privateData;
 
-    if ((sched_id = libxl_get_sched_id(&priv->ctx)) < 0) {
-        libxlError(VIR_ERR_INTERNAL_ERROR,
-                   _("Failed to get scheduler id for domain '%d'"
-                     " with libxenlight"), dom->id);
-        goto cleanup;
-    }
+    sched_id = libxl_get_scheduler(priv->ctx);
 
-    if (sched_id != XEN_SCHEDULER_CREDIT) {
+    if (sched_id != LIBXL_SCHEDULER_CREDIT) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Only 'credit' scheduler is supported"));
         goto cleanup;
     }
 
-    if (libxl_sched_credit_domain_get(&priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_sched_credit_domain_get(priv->ctx, dom->id, &sc_info) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to get scheduler parameters for domain '%d'"
                      " with libxenlight"), dom->id);
@@ -3707,7 +3765,7 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
         }
     }
 
-    if (libxl_sched_credit_domain_set(&priv->ctx, dom->id, &sc_info) != 0) {
+    if (libxl_sched_credit_domain_set(priv->ctx, dom->id, &sc_info) != 0) {
         libxlError(VIR_ERR_INTERNAL_ERROR,
                    _("Failed to set scheduler parameters for domain '%d'"
                      " with libxenlight"), dom->id);
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 17:45:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 17:45:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSAx6-0001pH-K6; Wed, 09 May 2012 17:45:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSAx5-0001pC-2A
	for xen-devel@lists.xen.org; Wed, 09 May 2012 17:45:27 +0000
Received: from [85.158.139.83:22243] by server-10.bemta-5.messagelabs.com id
	10/56-08260-63DAAAF4; Wed, 09 May 2012 17:45:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336585523!27441986!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE5MzAw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21621 invoked from network); 9 May 2012 17:45:25 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 17:45:25 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q49HiUxb024230
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 9 May 2012 17:44:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q49HiTYi006111
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 17:44:29 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q49HiPGh016264; Wed, 9 May 2012 12:44:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 09 May 2012 10:44:25 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 582B64031D; Wed,  9 May 2012 13:38:36 -0400 (EDT)
Date: Wed, 9 May 2012 13:38:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>, law@redhat.com
Message-ID: <20120509173836.GB9094@phenom.dumpdata.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FAA8E96020000780008288F@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 09, 2012 at 02:34:46PM +0100, Jan Beulich wrote:
> >>> On 09.05.12 at 15:11, Konrad Rzeszutek Wilk <konrad@darnok.org> wrote:
> > On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
> >> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> >> > After some digging around, it looks like this is an Ubuntu 11.10 only 
> > patch:
> >> > 
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fb 
> > a59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b82416
> > 0b
> >> 
> >> 
> >> Ugh. There are looks to be a bug in Fedora as well: 
> > https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
> >> 
> > 
> > CC-ing Intel. It seems that the userspace programs are crashingon
> > Sandybridge machines even if 'xsave=0' is provided on the command line.
> > Any advice?
> 
> Going through the bug, all I can see are bogus attempts to pass
> "xsave=" (with value 0 or 1) to the kernel. That's a hypervisor
> option though, and the only kernel option that's relevant here
> is "noxsave" afaik.
> 
> Further, when the hypervisor has xsave support enabled, there's
> (in the pv case) nothing the kernel can do to hide the functionality
> from applications, as the hardware's CR4.OSXSAVE will be set, and
> hence CPUID.OSXSAVE will be too. So "noxsave" on the kernel
> command line when "xsave=1" (or xsave enabled by default as in
> 4.2) just doesn't make any sense.
> 
> And finally one always has to keep in mind that there is this nice
> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
> when trying to determine whether AVX or FMA is available.

It has this:
146 
147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
148     {
149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) != 0
151           && ({ unsigned int xcrlow;
152                 unsigned int xcrhigh;
153                 asm ("xgetbv"
154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
155                 (xcrlow & 6) == 6; }))
156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
157     }


And when I ran a little silly C program (attached) to probe the CPUID flags, I got:
 /root/test-xsave 
SSE3 CMOV
AVX  XSAVE
Trying XGETBV
Illegal instruction (core dumped)

Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV guest
still crashes on that machine) - which means that in multi-lib the bit_YMM_Usable
is _not_ set. But then looking at the sources I see:

# ifdef USE_AS_STRCASECMP_L
102 ENTRY(__strcasecmp)
103         .type   __strcasecmp, @gnu_indirect_function
104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
105         jne     1f
106         call    __init_cpu_features
107 1:
108 #  ifdef HAVE_AVX_SUPPORT
109         leaq    __strcasecmp_avx(%rip), %rax
110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
111         jnz     2f
112 #  endif

which would imply that the AVX bit is sampled here instead of the
YMM one.

Perhaps this is needed:

--- glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c.orig	2012-05-09 13:32:10.832000122 -0400
+++ glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c	2012-05-09 13:33:31.043000138 -0400
@@ -154,6 +154,8 @@ __init_cpu_features (void)
 		     : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
 		(xcrlow & 6) == 6; }))
 	__cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
+	else
+	__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
     }
 
   __cpu_features.family = family;

?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 17:45:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 17:45:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSAx6-0001pH-K6; Wed, 09 May 2012 17:45:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSAx5-0001pC-2A
	for xen-devel@lists.xen.org; Wed, 09 May 2012 17:45:27 +0000
Received: from [85.158.139.83:22243] by server-10.bemta-5.messagelabs.com id
	10/56-08260-63DAAAF4; Wed, 09 May 2012 17:45:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336585523!27441986!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE5MzAw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21621 invoked from network); 9 May 2012 17:45:25 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 17:45:25 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q49HiUxb024230
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 9 May 2012 17:44:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q49HiTYi006111
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 17:44:29 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q49HiPGh016264; Wed, 9 May 2012 12:44:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 09 May 2012 10:44:25 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 582B64031D; Wed,  9 May 2012 13:38:36 -0400 (EDT)
Date: Wed, 9 May 2012 13:38:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>, law@redhat.com
Message-ID: <20120509173836.GB9094@phenom.dumpdata.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FAA8E96020000780008288F@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 09, 2012 at 02:34:46PM +0100, Jan Beulich wrote:
> >>> On 09.05.12 at 15:11, Konrad Rzeszutek Wilk <konrad@darnok.org> wrote:
> > On Tue, May 08, 2012 at 08:35:11PM -0400, Konrad Rzeszutek Wilk wrote:
> >> On Mon, May 07, 2012 at 05:41:28PM -0700, AP wrote:
> >> > After some digging around, it looks like this is an Ubuntu 11.10 only 
> > patch:
> >> > 
> > http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-oneiric.git;a=commitdiff;h=3f3fb 
> > a59aa5773836d94799d10b692f9b7ea16a0;hp=5e498fdb19f5b27699f063eb10040612b82416
> > 0b
> >> 
> >> 
> >> Ugh. There are looks to be a bug in Fedora as well: 
> > https://bugzilla.redhat.com/show_bug.cgi?id=801650 for this.
> >> 
> > 
> > CC-ing Intel. It seems that the userspace programs are crashingon
> > Sandybridge machines even if 'xsave=0' is provided on the command line.
> > Any advice?
> 
> Going through the bug, all I can see are bogus attempts to pass
> "xsave=" (with value 0 or 1) to the kernel. That's a hypervisor
> option though, and the only kernel option that's relevant here
> is "noxsave" afaik.
> 
> Further, when the hypervisor has xsave support enabled, there's
> (in the pv case) nothing the kernel can do to hide the functionality
> from applications, as the hardware's CR4.OSXSAVE will be set, and
> hence CPUID.OSXSAVE will be too. So "noxsave" on the kernel
> command line when "xsave=1" (or xsave enabled by default as in
> 4.2) just doesn't make any sense.
> 
> And finally one always has to keep in mind that there is this nice
> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
> when trying to determine whether AVX or FMA is available.

It has this:
146 
147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
148     {
149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) != 0
151           && ({ unsigned int xcrlow;
152                 unsigned int xcrhigh;
153                 asm ("xgetbv"
154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
155                 (xcrlow & 6) == 6; }))
156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
157     }


And when I ran a little silly C program (attached) to probe the CPUID flags, I got:
 /root/test-xsave 
SSE3 CMOV
AVX  XSAVE
Trying XGETBV
Illegal instruction (core dumped)

Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV guest
still crashes on that machine) - which means that in multi-lib the bit_YMM_Usable
is _not_ set. But then looking at the sources I see:

# ifdef USE_AS_STRCASECMP_L
102 ENTRY(__strcasecmp)
103         .type   __strcasecmp, @gnu_indirect_function
104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
105         jne     1f
106         call    __init_cpu_features
107 1:
108 #  ifdef HAVE_AVX_SUPPORT
109         leaq    __strcasecmp_avx(%rip), %rax
110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
111         jnz     2f
112 #  endif

which would imply that the AVX bit is sampled here instead of the
YMM one.

Perhaps this is needed:

--- glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c.orig	2012-05-09 13:32:10.832000122 -0400
+++ glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c	2012-05-09 13:33:31.043000138 -0400
@@ -154,6 +154,8 @@ __init_cpu_features (void)
 		     : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
 		(xcrlow & 6) == 6; }))
 	__cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
+	else
+	__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
     }
 
   __cpu_features.family = family;

?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 17:51:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 17:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSB1u-0001wV-Bc; Wed, 09 May 2012 17:50:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSB1s-0001wP-E0
	for xen-devel@lists.xen.org; Wed, 09 May 2012 17:50:24 +0000
Received: from [193.109.254.147:54119] by server-9.bemta-14.messagelabs.com id
	F8/F2-05787-F5EAAAF4; Wed, 09 May 2012 17:50:23 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336585818!1610429!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE5MzAw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6271 invoked from network); 9 May 2012 17:50:19 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 17:50:19 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q49HoGs4030396
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 9 May 2012 17:50:17 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q49HoFhw013872
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 17:50:16 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q49HoENh027747; Wed, 9 May 2012 12:50:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 09 May 2012 10:50:14 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 66C824031D; Wed,  9 May 2012 13:44:26 -0400 (EDT)
Date: Wed, 9 May 2012 13:44:26 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pavel =?utf-8?Q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Message-ID: <20120509174426.GD9094@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
	<0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
	<20120507230707.GA28744@phenom.dumpdata.com>
	<201205081312.39927.pavel@netsafe.cz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <201205081312.39927.pavel@netsafe.cz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCBNYXkgMDgsIDIwMTIgYXQgMDE6MTI6MzlQTSArMDIwMCwgUGF2ZWwgTWF0xJtqYSB3
cm90ZToKPiBPbiBUdWUgOC4gb2YgTWF5IDIwMTIgMDE6MDc6MDcgS29ucmFkIFJ6ZXN6dXRlayBX
aWxrIHdyb3RlOgo+ID4gT24gVHVlLCBNYXkgMDgsIDIwMTIgYXQgMDE6MTA6MzJBTSArMDIwMCwg
UGF2ZWwgTWF0ZWphIHdyb3RlOgo+ID4gPiA+IE9uIE1vbiwgTWF5IDA3LCAyMDEyIGF0IDAxOjQ1
OjIzUE0gKzAyMDAsIFBhdmVsIE1hdMOEwptqYSB3cm90ZToKPiA+ID4gPj4gSGksCj4gPiA+ID4+
IEknbSB0cnlpbmcgdG8gcnVuIEFNRCBWR0EgcGFzc3RocnUgb24gbGF0ZXN0IFhFTiB1bnN0YWJs
ZSB3aXRoIGxhdGVzdAo+ID4gPiA+PiBrZXJuZWwuCj4gPiA+ID4+IEkgYWxyZWFkeSBoYXZlIHdv
cmtpbmcgc2V0dXAgd2l0aCBhbmNpZW50IHhlbi1kZXZlbCA0LjIgYW5kIDIuNi4zMi54Cj4gPiA+
ID4+IHhlbmlmaWVkCj4gPiA+ID4+IGtlcm5lbC4gU2VlIGF0dGFjaGVkIGxvZy4KPiA+ID4gPj4g
Cj4gPiA+ID4+IFNvIEkgdHJpZWQganVzdCB0byB1cGRhdGUgYW5kIHBhdGNoIHhlbiBhbmQga2Vy
bmVsLCBidXQgSSBoYWQgbm8gbHVjawo+ID4gPiA+PiBzbyBmYXIuCj4gPiA+ID4+IAo+ID4gPiA+
PiBYZW4gaGFzIGF0aV92Ymlvc19wYXRjaF9yZXNwaW4udHh0IHNlbnQgdG8geGVuLWRldmVsIGJ5
IFdlaSBIdWFuZwo+ID4gPiA+PiByZWNlbnRseS4KPiA+ID4gPj4gaHR0cDovL2xpc3RzLnhlbi5v
cmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxMi0wNC9tc2cwMDI5MS5odG1sCj4gPiA+ID4+
IAo+ID4gPiA+PiBJIHRyaWVkIHR3byBrZXJuZWxzCj4gPiA+ID4+IHRlc3RpbmctMy41LXdpdGgt
ZXh0cmEgYW5kIHhlbi9uZXh0LTMuMiBmcm9tCj4gPiA+ID4+IGdpdDovL2dpdC5rZXJuZWwub3Jn
L3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9rb25yYWQveGVuLmdpdAo+ID4gPiA+PiBhbmQKPiA+
ID4gPj4gZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2plcmVt
eS94ZW4uZ2l0Cj4gPiA+ID4+IEJvdGggd2l0aCBpb3Blcm0gb3Bjb2RlIHBhdGNoIHdoaWNoIGlz
IHJlcXVpcmVkIGJ5IHRoZSBBVEkgcGF0Y2guIFNlZQo+ID4gPiA+PiBhdHRhY2hlbWVudC4KPiA+
ID4gPj4gCj4gPiA+ID4+IFRoZSB4ZW4vbmV4dC0zLjIgYnJhbmNoIGtlcm5lbCB3YXMgYWJsZSB0
byBzdGFydCBib290aW5nIHdpbmRvd3MuCj4gPiA+ID4+IFdpdGggQ2F0YWx5c3QgZHJpdmVyIGlu
c3RhbGxlZCBJIGp1c3Qgc2F3IGJsdWVzY3JlZW4gZHVyaW5nIFdpbmRvd3MKPiA+ID4gPj4gYm9v
dC4KPiA+ID4gPj4gV2l0aG91dCBDYXRhbHlzdCBkcml2ZXIgV2luZG93cyB3ZXJlIGFibGUgdG8g
Ym9vdCBidXQgV2luZG93cyBlbmRlZAo+ID4gPiA+PiBmcm96ZW4gb3IKPiA+ID4gPj4gVVNCIHdh
cyBub3Qgd29ya2luZy4gSXQgd2FzIGhhcmQgdG8gdGVsbCBiZWNhdXNlIGlucHV0IGRldmljZXMg
aGFkIG5vCj4gPiA+ID4+IHJlc3BvbnNlCj4gPiA+ID4+IGF0IGFsbC4KPiA+ID4gPj4gCj4gPiA+
ID4+IFRoZSB0ZXN0aW5nLTMuNS13aXRoLWV4dHJhIChyZXBvcnRlZCBhcyAzLjQuMC1yYzQpIGp1
c3QgY3Jhc2hlZCBkb20wCj4gPiA+ID4+IGtlcm5lbAo+ID4gPiA+PiBkdXJpbmcgV2luZG93cyBi
b290LiBJIGd1ZXNzIEkgaGF2ZSB0byByZXdvcmsgdGhlIGlvX2JpdG1hcCBwYXRjaAo+ID4gPiA+
PiBzb21laG93Lgo+ID4gPiA+IAo+ID4gPiA+IFdoZW4geW91IHNheSAnaW9fYml0bWFwJyBwYXRj
aCBhcmUgeW91IHJlZmVycmluZyB0byB0aGVzZSBvbmVzOgo+ID4gPiA+IAo+ID4gPiA+IDcwYTM1
N2QgeGVuOiBpbXBsZW1lbnQgSU8gcGVybWlzc2lvbiBiaXRtYXAKPiA+ID4gPiAwYzU5NmM1IHg4
Ni9wYXJhdmlydDogcGFyYXZpcnR1YWxpemUgSU8gcGVybWlzc2lvbiBiaXRtYXAKPiA+ID4gPiA5
M2I3YTJhIHg4NjogZGVtYWNybyBzZXRfaW9wbF9tYXNrKCkKPiA+ID4gPiAKPiA+ID4gPiA/IEkg
ZG9uJ3QgdGhpbmsgdGhvc2UgYXJlIGluIHRoYXQgdGFnLiBUaGV5IGFyZSBpbiB0aGUga2l0Y2hl
bnNpbmsgLQo+ID4gPiA+ICN0ZXN0aW5nCj4gPiA+ID4gLSBkb2VzIGl0IHdvcmsgd2l0aCB0aGF0
IGJyYW5jaD8KPiA+ID4gPiAKPiA+ID4gPiBUaGUgbmV4dC0zLjIgaXMgYSBiaXQgb2xkLiBJIHNo
b3VsZCBhY3R1YWxseSBkZWxldGUgaXQuCj4gPiA+IAo+ID4gPiBIaSwKPiA+ID4gSSBtZWFuIHRo
aXMgcGF0Y2ggYmVsb3cuCj4gPiA+IEkgdGhpbmsgaXQgd2FzIG9yaWdpbmFsbHkgaGVyZToKPiA+
ID4gaHR0cDovL29sZC1saXN0LWFyY2hpdmVzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2
ZWwvMjAwOS0wNS9tc2cwMTEzOQo+ID4gPiAuaHRtbCBUaGVuIEkgd2FzIHRvbGQgYnkgeW91IHRv
IHVzZSBkZXZlbC9pb3Blcm0gYnJhbmNoIHdoaWNoIEkgdGhpbmsKPiA+ID4gZG9lc24ndCBleGlz
dCBhbnltb3JlOgo+ID4gPiBodHRwOi8vb2xkLWxpc3QtYXJjaGl2ZXMueGVuLm9yZy9hcmNoaXZl
cy9odG1sL3hlbi1kZXZlbC8yMDExLTExL21zZzAxMjEzCj4gPiA+IC5odG1sCj4gPiAKPiA+IEl0
IGNlcnRhaW5seSBkb2VzIDotKQo+ID4gCj4gPiA+IEknbSB0b28gdGlyZWQgdG8gdGVzdCAjdGVz
dGluZyBicmFuY2ggbm93LiBJJ2xsIHRyeSBpdCB0b21vcnJvdyBhZnRlcgo+ID4gPiBzb21lIHNs
ZWVwLgo+ID4gCj4gPiBPSywgdGFrZSB5b3VyIHRpbWUuCj4gCj4gSGkgYWdhaW4hCj4gSSBkaWQg
Zmlyc3QgdGVzdHMgd2l0aCB4ZW4tdW5zdGFibGUgYW5kIHRoZSAjdGVzdGluZyBrZXJuZWwuCj4g
Cj4gV2luZG93cyBzaG93ZWQgYmx1ZSBzY3JlZW4gZHVyaW5nIGJvb3Qgd2l0aCB4bSB0b29sc3Rh
Y2suCj4gCj4gQnV0IEkgaGFkIGx1Y2sgd2l0aCB4bC4gV2luZG93cyBib290ZWQgc3VjY2VzZnVs
bHkgc28gSSByYW4gdGhlIGV4cGVyaWVuY2UgCj4gaW5kZXggdGVzdHM6Cgo+IGtlcm5lbDoJMi42
LjMyLjU3CSN0ZXN0aW5nCj4gQ1BVCQk3LDQJCTcsNAo+IFJBTQkJNyw0CQk1LDUKPiBBZXJvCQk3
LDEJCTcsMQo+IEdyLmNhcmQJNywxCQk3LDEKPiBEaXNrCQk3LDMJCTcsNQoKU28gdGhlIGlzc3Vl
IHdhcyB0aGF0ICd4bScgZGlkbid0IHdvcmsgYnV0ICd4bCcgZGlkPwoKPiBJIHRyaWVkIHRvIHJ1
biBzb21lIGdhbWVzIGFzIHdlbGwgYnV0IHRoZSBmZWVsaW5nIGlzIG11Y2ggd29yc2UgY29tcGFy
ZWQgdG8gCj4gb2xkZXIgY29uZmlndXJhdGlvbi4gTGlrZSBsYWdzLi4KCkRvIHRoZSBsYWdzIGRp
c2FwcGVhciBpZiB5b3UgcGluIHRoZSB2Q1BVcz8KPiAKPiBBcmUgdGhlcmUgc29tZSBvbGRlciBi
cmFuY2hlcyB3aGljaCBhcmUgc3VwcG9zZWQgdG8gd29yaz8KClRoZXJlIGlzIG5vdCBhIHNwZWNp
ZmljIGJyYW5jaCBwZXIgc2F5LiBUaGVyZSBhcmUgc29tZSBhdXhpbGxhcnkgYnJhbmNoZXMKd2l0
aCBwYXRjaGVzIHRoYXQgZW5hYmxlIHRoaXMgYW5kIHRoYXQuIFNvIHdoYXQgbWlnaHQgd29yayBp
cwp0byB1c2UgbXkgI2xpbnV4LW5leHQgYnJhbmNoIGFuZCBtZXJnZSBib3RoIGRldmVsL21pc2Mg
YW5kIGRldmVsL2lvcGVybQppbiBhbmQgc2VlIHdoYXQgaGFwcGVucy4gSWYgSSBnZXQgc29tZSB0
aW1lIHRvZGF5IEkgd2lsbCB0cnkgdGhhdCBhbmQKc3RpY2sgaXQgYXMgdGFnLgoKPiAKPiBJIHRy
aWVkIHhlbi00LjEuMy1yYzEgd2l0aCAjdGVzdGluZyBrZXJuZWwgYnV0IGl0IGp1c3QgZnJlZXpl
cyBhZnRlciB3aGlsZSAKPiBldmVuIHdpdGggRG9tMCBydW5uaW5nLiBPbmx5IHN5cy1ycSB3b3Jr
ZWQuCgpPaCBubyEKPiAKPiBJIGhhdmUgc2Vjb25kIHNsaWdodGx5IG5ld2VyIHN5c3RlbSB0b28g
c28gSSdsbCByZXRlc3QgdGhhdCBvbmUgbGF0ZXIuCj4gLS0gCj4gUGF2ZWwgTWF0ZWphCj4gCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2
ZWwgbWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMu
eGVuLm9yZy94ZW4tZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 09 17:51:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 17:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSB1u-0001wV-Bc; Wed, 09 May 2012 17:50:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSB1s-0001wP-E0
	for xen-devel@lists.xen.org; Wed, 09 May 2012 17:50:24 +0000
Received: from [193.109.254.147:54119] by server-9.bemta-14.messagelabs.com id
	F8/F2-05787-F5EAAAF4; Wed, 09 May 2012 17:50:23 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336585818!1610429!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTE5MzAw\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6271 invoked from network); 9 May 2012 17:50:19 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 17:50:19 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q49HoGs4030396
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 9 May 2012 17:50:17 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q49HoFhw013872
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 17:50:16 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q49HoENh027747; Wed, 9 May 2012 12:50:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 09 May 2012 10:50:14 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 66C824031D; Wed,  9 May 2012 13:44:26 -0400 (EDT)
Date: Wed, 9 May 2012 13:44:26 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Pavel =?utf-8?Q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Message-ID: <20120509174426.GD9094@phenom.dumpdata.com>
References: <201205071345.23619.pavel@netsafe.cz>
	<0f6f2245ebbaab7e505b7cca86bdeefe.squirrel@mail.netsafe.cz>
	<20120507230707.GA28744@phenom.dumpdata.com>
	<201205081312.39927.pavel@netsafe.cz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <201205081312.39927.pavel@netsafe.cz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCBNYXkgMDgsIDIwMTIgYXQgMDE6MTI6MzlQTSArMDIwMCwgUGF2ZWwgTWF0xJtqYSB3
cm90ZToKPiBPbiBUdWUgOC4gb2YgTWF5IDIwMTIgMDE6MDc6MDcgS29ucmFkIFJ6ZXN6dXRlayBX
aWxrIHdyb3RlOgo+ID4gT24gVHVlLCBNYXkgMDgsIDIwMTIgYXQgMDE6MTA6MzJBTSArMDIwMCwg
UGF2ZWwgTWF0ZWphIHdyb3RlOgo+ID4gPiA+IE9uIE1vbiwgTWF5IDA3LCAyMDEyIGF0IDAxOjQ1
OjIzUE0gKzAyMDAsIFBhdmVsIE1hdMOEwptqYSB3cm90ZToKPiA+ID4gPj4gSGksCj4gPiA+ID4+
IEknbSB0cnlpbmcgdG8gcnVuIEFNRCBWR0EgcGFzc3RocnUgb24gbGF0ZXN0IFhFTiB1bnN0YWJs
ZSB3aXRoIGxhdGVzdAo+ID4gPiA+PiBrZXJuZWwuCj4gPiA+ID4+IEkgYWxyZWFkeSBoYXZlIHdv
cmtpbmcgc2V0dXAgd2l0aCBhbmNpZW50IHhlbi1kZXZlbCA0LjIgYW5kIDIuNi4zMi54Cj4gPiA+
ID4+IHhlbmlmaWVkCj4gPiA+ID4+IGtlcm5lbC4gU2VlIGF0dGFjaGVkIGxvZy4KPiA+ID4gPj4g
Cj4gPiA+ID4+IFNvIEkgdHJpZWQganVzdCB0byB1cGRhdGUgYW5kIHBhdGNoIHhlbiBhbmQga2Vy
bmVsLCBidXQgSSBoYWQgbm8gbHVjawo+ID4gPiA+PiBzbyBmYXIuCj4gPiA+ID4+IAo+ID4gPiA+
PiBYZW4gaGFzIGF0aV92Ymlvc19wYXRjaF9yZXNwaW4udHh0IHNlbnQgdG8geGVuLWRldmVsIGJ5
IFdlaSBIdWFuZwo+ID4gPiA+PiByZWNlbnRseS4KPiA+ID4gPj4gaHR0cDovL2xpc3RzLnhlbi5v
cmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxMi0wNC9tc2cwMDI5MS5odG1sCj4gPiA+ID4+
IAo+ID4gPiA+PiBJIHRyaWVkIHR3byBrZXJuZWxzCj4gPiA+ID4+IHRlc3RpbmctMy41LXdpdGgt
ZXh0cmEgYW5kIHhlbi9uZXh0LTMuMiBmcm9tCj4gPiA+ID4+IGdpdDovL2dpdC5rZXJuZWwub3Jn
L3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9rb25yYWQveGVuLmdpdAo+ID4gPiA+PiBhbmQKPiA+
ID4gPj4gZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2plcmVt
eS94ZW4uZ2l0Cj4gPiA+ID4+IEJvdGggd2l0aCBpb3Blcm0gb3Bjb2RlIHBhdGNoIHdoaWNoIGlz
IHJlcXVpcmVkIGJ5IHRoZSBBVEkgcGF0Y2guIFNlZQo+ID4gPiA+PiBhdHRhY2hlbWVudC4KPiA+
ID4gPj4gCj4gPiA+ID4+IFRoZSB4ZW4vbmV4dC0zLjIgYnJhbmNoIGtlcm5lbCB3YXMgYWJsZSB0
byBzdGFydCBib290aW5nIHdpbmRvd3MuCj4gPiA+ID4+IFdpdGggQ2F0YWx5c3QgZHJpdmVyIGlu
c3RhbGxlZCBJIGp1c3Qgc2F3IGJsdWVzY3JlZW4gZHVyaW5nIFdpbmRvd3MKPiA+ID4gPj4gYm9v
dC4KPiA+ID4gPj4gV2l0aG91dCBDYXRhbHlzdCBkcml2ZXIgV2luZG93cyB3ZXJlIGFibGUgdG8g
Ym9vdCBidXQgV2luZG93cyBlbmRlZAo+ID4gPiA+PiBmcm96ZW4gb3IKPiA+ID4gPj4gVVNCIHdh
cyBub3Qgd29ya2luZy4gSXQgd2FzIGhhcmQgdG8gdGVsbCBiZWNhdXNlIGlucHV0IGRldmljZXMg
aGFkIG5vCj4gPiA+ID4+IHJlc3BvbnNlCj4gPiA+ID4+IGF0IGFsbC4KPiA+ID4gPj4gCj4gPiA+
ID4+IFRoZSB0ZXN0aW5nLTMuNS13aXRoLWV4dHJhIChyZXBvcnRlZCBhcyAzLjQuMC1yYzQpIGp1
c3QgY3Jhc2hlZCBkb20wCj4gPiA+ID4+IGtlcm5lbAo+ID4gPiA+PiBkdXJpbmcgV2luZG93cyBi
b290LiBJIGd1ZXNzIEkgaGF2ZSB0byByZXdvcmsgdGhlIGlvX2JpdG1hcCBwYXRjaAo+ID4gPiA+
PiBzb21laG93Lgo+ID4gPiA+IAo+ID4gPiA+IFdoZW4geW91IHNheSAnaW9fYml0bWFwJyBwYXRj
aCBhcmUgeW91IHJlZmVycmluZyB0byB0aGVzZSBvbmVzOgo+ID4gPiA+IAo+ID4gPiA+IDcwYTM1
N2QgeGVuOiBpbXBsZW1lbnQgSU8gcGVybWlzc2lvbiBiaXRtYXAKPiA+ID4gPiAwYzU5NmM1IHg4
Ni9wYXJhdmlydDogcGFyYXZpcnR1YWxpemUgSU8gcGVybWlzc2lvbiBiaXRtYXAKPiA+ID4gPiA5
M2I3YTJhIHg4NjogZGVtYWNybyBzZXRfaW9wbF9tYXNrKCkKPiA+ID4gPiAKPiA+ID4gPiA/IEkg
ZG9uJ3QgdGhpbmsgdGhvc2UgYXJlIGluIHRoYXQgdGFnLiBUaGV5IGFyZSBpbiB0aGUga2l0Y2hl
bnNpbmsgLQo+ID4gPiA+ICN0ZXN0aW5nCj4gPiA+ID4gLSBkb2VzIGl0IHdvcmsgd2l0aCB0aGF0
IGJyYW5jaD8KPiA+ID4gPiAKPiA+ID4gPiBUaGUgbmV4dC0zLjIgaXMgYSBiaXQgb2xkLiBJIHNo
b3VsZCBhY3R1YWxseSBkZWxldGUgaXQuCj4gPiA+IAo+ID4gPiBIaSwKPiA+ID4gSSBtZWFuIHRo
aXMgcGF0Y2ggYmVsb3cuCj4gPiA+IEkgdGhpbmsgaXQgd2FzIG9yaWdpbmFsbHkgaGVyZToKPiA+
ID4gaHR0cDovL29sZC1saXN0LWFyY2hpdmVzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2
ZWwvMjAwOS0wNS9tc2cwMTEzOQo+ID4gPiAuaHRtbCBUaGVuIEkgd2FzIHRvbGQgYnkgeW91IHRv
IHVzZSBkZXZlbC9pb3Blcm0gYnJhbmNoIHdoaWNoIEkgdGhpbmsKPiA+ID4gZG9lc24ndCBleGlz
dCBhbnltb3JlOgo+ID4gPiBodHRwOi8vb2xkLWxpc3QtYXJjaGl2ZXMueGVuLm9yZy9hcmNoaXZl
cy9odG1sL3hlbi1kZXZlbC8yMDExLTExL21zZzAxMjEzCj4gPiA+IC5odG1sCj4gPiAKPiA+IEl0
IGNlcnRhaW5seSBkb2VzIDotKQo+ID4gCj4gPiA+IEknbSB0b28gdGlyZWQgdG8gdGVzdCAjdGVz
dGluZyBicmFuY2ggbm93LiBJJ2xsIHRyeSBpdCB0b21vcnJvdyBhZnRlcgo+ID4gPiBzb21lIHNs
ZWVwLgo+ID4gCj4gPiBPSywgdGFrZSB5b3VyIHRpbWUuCj4gCj4gSGkgYWdhaW4hCj4gSSBkaWQg
Zmlyc3QgdGVzdHMgd2l0aCB4ZW4tdW5zdGFibGUgYW5kIHRoZSAjdGVzdGluZyBrZXJuZWwuCj4g
Cj4gV2luZG93cyBzaG93ZWQgYmx1ZSBzY3JlZW4gZHVyaW5nIGJvb3Qgd2l0aCB4bSB0b29sc3Rh
Y2suCj4gCj4gQnV0IEkgaGFkIGx1Y2sgd2l0aCB4bC4gV2luZG93cyBib290ZWQgc3VjY2VzZnVs
bHkgc28gSSByYW4gdGhlIGV4cGVyaWVuY2UgCj4gaW5kZXggdGVzdHM6Cgo+IGtlcm5lbDoJMi42
LjMyLjU3CSN0ZXN0aW5nCj4gQ1BVCQk3LDQJCTcsNAo+IFJBTQkJNyw0CQk1LDUKPiBBZXJvCQk3
LDEJCTcsMQo+IEdyLmNhcmQJNywxCQk3LDEKPiBEaXNrCQk3LDMJCTcsNQoKU28gdGhlIGlzc3Vl
IHdhcyB0aGF0ICd4bScgZGlkbid0IHdvcmsgYnV0ICd4bCcgZGlkPwoKPiBJIHRyaWVkIHRvIHJ1
biBzb21lIGdhbWVzIGFzIHdlbGwgYnV0IHRoZSBmZWVsaW5nIGlzIG11Y2ggd29yc2UgY29tcGFy
ZWQgdG8gCj4gb2xkZXIgY29uZmlndXJhdGlvbi4gTGlrZSBsYWdzLi4KCkRvIHRoZSBsYWdzIGRp
c2FwcGVhciBpZiB5b3UgcGluIHRoZSB2Q1BVcz8KPiAKPiBBcmUgdGhlcmUgc29tZSBvbGRlciBi
cmFuY2hlcyB3aGljaCBhcmUgc3VwcG9zZWQgdG8gd29yaz8KClRoZXJlIGlzIG5vdCBhIHNwZWNp
ZmljIGJyYW5jaCBwZXIgc2F5LiBUaGVyZSBhcmUgc29tZSBhdXhpbGxhcnkgYnJhbmNoZXMKd2l0
aCBwYXRjaGVzIHRoYXQgZW5hYmxlIHRoaXMgYW5kIHRoYXQuIFNvIHdoYXQgbWlnaHQgd29yayBp
cwp0byB1c2UgbXkgI2xpbnV4LW5leHQgYnJhbmNoIGFuZCBtZXJnZSBib3RoIGRldmVsL21pc2Mg
YW5kIGRldmVsL2lvcGVybQppbiBhbmQgc2VlIHdoYXQgaGFwcGVucy4gSWYgSSBnZXQgc29tZSB0
aW1lIHRvZGF5IEkgd2lsbCB0cnkgdGhhdCBhbmQKc3RpY2sgaXQgYXMgdGFnLgoKPiAKPiBJIHRy
aWVkIHhlbi00LjEuMy1yYzEgd2l0aCAjdGVzdGluZyBrZXJuZWwgYnV0IGl0IGp1c3QgZnJlZXpl
cyBhZnRlciB3aGlsZSAKPiBldmVuIHdpdGggRG9tMCBydW5uaW5nLiBPbmx5IHN5cy1ycSB3b3Jr
ZWQuCgpPaCBubyEKPiAKPiBJIGhhdmUgc2Vjb25kIHNsaWdodGx5IG5ld2VyIHN5c3RlbSB0b28g
c28gSSdsbCByZXRlc3QgdGhhdCBvbmUgbGF0ZXIuCj4gLS0gCj4gUGF2ZWwgTWF0ZWphCj4gCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4tZGV2
ZWwgbWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8vbGlzdHMu
eGVuLm9yZy94ZW4tZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 09 18:26:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 18:26:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSBaP-0002HR-Fo; Wed, 09 May 2012 18:26:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SSBaO-0002HM-1a
	for xen-devel@lists.xen.org; Wed, 09 May 2012 18:26:04 +0000
Received: from [193.109.254.147:51253] by server-11.bemta-14.messagelabs.com
	id 25/D1-05858-BB6BAAF4; Wed, 09 May 2012 18:26:03 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336587961!1629005!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9769 invoked from network); 9 May 2012 18:26:02 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-11.tower-27.messagelabs.com with SMTP;
	9 May 2012 18:26:02 -0000
Received: (qmail 23310 invoked from network); 9 May 2012 20:26:00 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	9 May 2012 20:26:00 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 9 May 2012 20:25:56 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
	<201205081312.39927.pavel@netsafe.cz>
	<20120509174426.GD9094@phenom.dumpdata.com>
In-Reply-To: <20120509174426.GD9094@phenom.dumpdata.com>
MIME-Version: 1.0
Message-Id: <201205092025.57037.pavel@netsafe.cz>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed 9. of May 2012 19:44:26 you wrote:
> > Hi again!
> > I did first tests with xen-unstable and the #testing kernel.
> > 
> > Windows showed blue screen during boot with xm toolstack.
> > 
> > But I had luck with xl. Windows booted succesfully so I ran the
> > experience index tests:
> > 
> > kernel:	2.6.32.57	#testing
> > CPU		7,4		7,4
> > RAM		7,4		5,5
> > Aero		7,1		7,1
> > Gr.card	7,1		7,1
> > Disk		7,3		7,5
> 
> So the issue was that 'xm' didn't work but 'xl' did?

In fact it's:
2.6.32.57 and old xen-unstable build (May 2011) with xm toolstack,
#testing and latest xen-unstable with xl toolstack.
No other combinations are working.

> > I tried to run some games as well but the feeling is much worse compared
> > to older configuration. Like lags..
> 
> Do the lags disappear if you pin the vCPUs?

Do you mean for Dom0 or DomU?
I already pin all vCPUs for DomUs. I can try to dedicate one to xen and rest 
to Windows.
But current config (Phenom II X6) was able to run 3 cores for first Windows, 
other 3 cores for second Windows and Dom0 had 2 unpinned cores. All was 
smooth.
Even 2 cores per instance fro three Windows instances were just fine.
Right now I'm trying just one Windows instance with all cores pinned.

> > Are there some older branches which are supposed to work?
> 
> There is not a specific branch per say. There are some auxillary branches
> with patches that enable this and that. So what might work is
> to use my #linux-next branch and merge both devel/misc and devel/ioperm
> in and see what happens. If I get some time today I will try that and
> stick it as tag.
> 
> > I tried xen-4.1.3-rc1 with #testing kernel but it just freezes after
> > while even with Dom0 running. Only sys-rq worked.
> 
> Oh no!

On no to my english.
;)
It should be: system freezes after while even when only Dom0 is running.
How can I debug this? All I can do is reading sysrq messages but I see no real 
dumps in serial console. Like:
..
SysRq : Show Regs
SysRq : Show Blocked State
SysRq : Show clockevent devices & pending hrtimers (no others)
..

> > I have second slightly newer system too so I'll retest that one later.

Sorry, no time yet. I just tried same thing I did on old system and result is 
instant reboot somewhere after NIC detection. Maybe the fs is gone somehow..
I have to switch the serial card to debug that one.
-- 
Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 18:26:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 18:26:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSBaP-0002HR-Fo; Wed, 09 May 2012 18:26:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SSBaO-0002HM-1a
	for xen-devel@lists.xen.org; Wed, 09 May 2012 18:26:04 +0000
Received: from [193.109.254.147:51253] by server-11.bemta-14.messagelabs.com
	id 25/D1-05858-BB6BAAF4; Wed, 09 May 2012 18:26:03 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336587961!1629005!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9769 invoked from network); 9 May 2012 18:26:02 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-11.tower-27.messagelabs.com with SMTP;
	9 May 2012 18:26:02 -0000
Received: (qmail 23310 invoked from network); 9 May 2012 20:26:00 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	9 May 2012 20:26:00 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 9 May 2012 20:25:56 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
	<201205081312.39927.pavel@netsafe.cz>
	<20120509174426.GD9094@phenom.dumpdata.com>
In-Reply-To: <20120509174426.GD9094@phenom.dumpdata.com>
MIME-Version: 1.0
Message-Id: <201205092025.57037.pavel@netsafe.cz>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed 9. of May 2012 19:44:26 you wrote:
> > Hi again!
> > I did first tests with xen-unstable and the #testing kernel.
> > 
> > Windows showed blue screen during boot with xm toolstack.
> > 
> > But I had luck with xl. Windows booted succesfully so I ran the
> > experience index tests:
> > 
> > kernel:	2.6.32.57	#testing
> > CPU		7,4		7,4
> > RAM		7,4		5,5
> > Aero		7,1		7,1
> > Gr.card	7,1		7,1
> > Disk		7,3		7,5
> 
> So the issue was that 'xm' didn't work but 'xl' did?

In fact it's:
2.6.32.57 and old xen-unstable build (May 2011) with xm toolstack,
#testing and latest xen-unstable with xl toolstack.
No other combinations are working.

> > I tried to run some games as well but the feeling is much worse compared
> > to older configuration. Like lags..
> 
> Do the lags disappear if you pin the vCPUs?

Do you mean for Dom0 or DomU?
I already pin all vCPUs for DomUs. I can try to dedicate one to xen and rest 
to Windows.
But current config (Phenom II X6) was able to run 3 cores for first Windows, 
other 3 cores for second Windows and Dom0 had 2 unpinned cores. All was 
smooth.
Even 2 cores per instance fro three Windows instances were just fine.
Right now I'm trying just one Windows instance with all cores pinned.

> > Are there some older branches which are supposed to work?
> 
> There is not a specific branch per say. There are some auxillary branches
> with patches that enable this and that. So what might work is
> to use my #linux-next branch and merge both devel/misc and devel/ioperm
> in and see what happens. If I get some time today I will try that and
> stick it as tag.
> 
> > I tried xen-4.1.3-rc1 with #testing kernel but it just freezes after
> > while even with Dom0 running. Only sys-rq worked.
> 
> Oh no!

On no to my english.
;)
It should be: system freezes after while even when only Dom0 is running.
How can I debug this? All I can do is reading sysrq messages but I see no real 
dumps in serial console. Like:
..
SysRq : Show Regs
SysRq : Show Blocked State
SysRq : Show clockevent devices & pending hrtimers (no others)
..

> > I have second slightly newer system too so I'll retest that one later.

Sorry, no time yet. I just tried same thing I did on old system and result is 
instant reboot somewhere after NIC detection. Maybe the fs is gone somehow..
I have to switch the serial card to debug that one.
-- 
Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 18:43:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 18:43:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSBqg-0002Rf-2q; Wed, 09 May 2012 18:42:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSBqe-0002Ra-BA
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 18:42:52 +0000
Received: from [193.109.254.147:44823] by server-9.bemta-14.messagelabs.com id
	E4/9E-05787-BAABAAF4; Wed, 09 May 2012 18:42:51 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336588970!755439!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26077 invoked from network); 9 May 2012 18:42:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 18:42:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,559,1330905600"; d="scan'208";a="12387349"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 18:42:50 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 19:42:49 +0100
Date: Wed, 9 May 2012 19:42:33 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205091849580.26786@kaball-desktop>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
	<alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
 FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 8 May 2012, Stefano Stabellini wrote:
> I have been unable to reproduce this problem (I haven't given up yet)
> but I bet that the following patch fixes it:
> 
> 
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index e3a9945..88e9304 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -333,7 +333,7 @@ static int blkif_queue_request(struct request *req)
>  					buffer_mfn,
>  					rq_data_dir(req));
>  
> -			info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn);
> +			info->shadow[id].frame[i] = buffer_pfn;
>  			ring_req->u.rw.seg[i] =
>  					(struct blkif_request_segment) {
>  						.gref       = ref,
> 
> 
> The idea is that the request contains a page for which
> 
> pfn->mfn->pfn == 0xffffffffffffffff
> 
> I am not sure exactly how it could be possible to get into this state in
> blkfront, I hope that some more tracing and code reading will be able to
> shed some lights on the issue.

The one line patch fixes the issue: when using LVM in the guest the same
page can be used in two different requests (in blkif_queue_request)
before being unmapped.
The second time mfn_to_pfn is going to return ~0 because buffer_mfn has
the FOREIGN_FRAME_BIT set.
But actually we don't need to call mfn_to_pfn at all because we already
know the pfn value, that is stored in buffer_pfn.

However the real problem remains at the time of blkif_completion: we
will remove the FOREIGN_FRAME_BIT before the other requests have been
completed.

If sharing the same page twice (or more) is a normal condition then I
might have to revisit this patch completely and choose another
strategy...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 18:43:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 18:43:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSBqg-0002Rf-2q; Wed, 09 May 2012 18:42:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSBqe-0002Ra-BA
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 18:42:52 +0000
Received: from [193.109.254.147:44823] by server-9.bemta-14.messagelabs.com id
	E4/9E-05787-BAABAAF4; Wed, 09 May 2012 18:42:51 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336588970!755439!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26077 invoked from network); 9 May 2012 18:42:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 18:42:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,559,1330905600"; d="scan'208";a="12387349"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 18:42:50 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 19:42:49 +0100
Date: Wed, 9 May 2012 19:42:33 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205091849580.26786@kaball-desktop>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
	<alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
 FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 8 May 2012, Stefano Stabellini wrote:
> I have been unable to reproduce this problem (I haven't given up yet)
> but I bet that the following patch fixes it:
> 
> 
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index e3a9945..88e9304 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -333,7 +333,7 @@ static int blkif_queue_request(struct request *req)
>  					buffer_mfn,
>  					rq_data_dir(req));
>  
> -			info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn);
> +			info->shadow[id].frame[i] = buffer_pfn;
>  			ring_req->u.rw.seg[i] =
>  					(struct blkif_request_segment) {
>  						.gref       = ref,
> 
> 
> The idea is that the request contains a page for which
> 
> pfn->mfn->pfn == 0xffffffffffffffff
> 
> I am not sure exactly how it could be possible to get into this state in
> blkfront, I hope that some more tracing and code reading will be able to
> shed some lights on the issue.

The one line patch fixes the issue: when using LVM in the guest the same
page can be used in two different requests (in blkif_queue_request)
before being unmapped.
The second time mfn_to_pfn is going to return ~0 because buffer_mfn has
the FOREIGN_FRAME_BIT set.
But actually we don't need to call mfn_to_pfn at all because we already
know the pfn value, that is stored in buffer_pfn.

However the real problem remains at the time of blkif_completion: we
will remove the FOREIGN_FRAME_BIT before the other requests have been
completed.

If sharing the same page twice (or more) is a normal condition then I
might have to revisit this patch completely and choose another
strategy...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 18:59:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 18:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSC6f-0002bX-L6; Wed, 09 May 2012 18:59:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SSC6e-0002bS-My
	for xen-devel@lists.xen.org; Wed, 09 May 2012 18:59:24 +0000
Received: from [85.158.139.83:52925] by server-9.bemta-5.messagelabs.com id
	31/8C-09826-B8EBAAF4; Wed, 09 May 2012 18:59:23 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336589962!20306611!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24311 invoked from network); 9 May 2012 18:59:23 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-11.tower-182.messagelabs.com with SMTP;
	9 May 2012 18:59:23 -0000
Received: (qmail 25646 invoked from network); 9 May 2012 20:59:21 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	9 May 2012 20:59:21 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Wed, 9 May 2012 20:59:17 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
	<201205081312.39927.pavel@netsafe.cz>
	<20120509174426.GD9094@phenom.dumpdata.com>
In-Reply-To: <20120509174426.GD9094@phenom.dumpdata.com>
MIME-Version: 1.0
Message-Id: <201205092059.17957.pavel@netsafe.cz>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed 9. of May 2012 19:44:26 Konrad Rzeszutek Wilk wrote:
> > I tried to run some games as well but the feeling is much worse compared
> > to older configuration. Like lags..
> 
> Do the lags disappear if you pin the vCPUs?

One stupid question:
I tried:
xl vcpu-list
Name                                ID  VCPU   CPU State   Time(s) CPU Affinity
Domain-0                             0     0    3   -b-      74.8  any cpu
Domain-0                             0     1    2   -b-       7.7  any cpu
Domain-0                             0     2    5   -b-       7.4  any cpu
Domain-0                             0     3    2   -b-       8.2  any cpu
Domain-0                             0     4    0   r--       8.4  any cpu
Domain-0                             0     5    1   -b-       7.4  any cpu
windows                              2     0    3   -b-      27.8  1-5
windows                              2     1    4   -b-      23.5  1-5
windows                              2     2    5   -b-      24.9  1-5
windows                              2     3    1   -b-      27.3  1-5
windows                              2     4    1   -b-      25.2  1-5

Do the last two lines mean that two vCPUs in winows are running on one real?
The output changes and mostly is real - virtual cpu mapped one to one.
I have to study the pinning more. I guess I was wrong when I wrote I already 
have it.
-- 
Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 18:59:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 18:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSC6f-0002bX-L6; Wed, 09 May 2012 18:59:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pavel@netsafe.cz>) id 1SSC6e-0002bS-My
	for xen-devel@lists.xen.org; Wed, 09 May 2012 18:59:24 +0000
Received: from [85.158.139.83:52925] by server-9.bemta-5.messagelabs.com id
	31/8C-09826-B8EBAAF4; Wed, 09 May 2012 18:59:23 +0000
X-Env-Sender: pavel@netsafe.cz
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336589962!20306611!1
X-Originating-IP: [83.223.49.132]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24311 invoked from network); 9 May 2012 18:59:23 -0000
Received: from gate1.netsafe.cz (HELO gate1.netsafe.cz) (83.223.49.132)
	by server-11.tower-182.messagelabs.com with SMTP;
	9 May 2012 18:59:23 -0000
Received: (qmail 25646 invoked from network); 9 May 2012 20:59:21 +0200
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on webgate.netsafe.cz
X-Spam-Level: 
X-Spam-Status: No, score=-104.9 required=5.0 tests=BAYES_00,RDNS_NONE,
	USER_IN_WHITELIST autolearn=no version=3.2.5
Received: from unknown (HELO lemra.localnet) (pavel@195.47.79.16)
	by webgate.netsafe.cz with AES256-SHA encrypted SMTP;
	9 May 2012 20:59:21 +0200
From: Pavel =?utf-8?q?Mat=C4=9Bja?= <pavel@netsafe.cz>
Organization: Netsafe Solutions s.r.o.
To: xen-devel@lists.xen.org
Date: Wed, 9 May 2012 20:59:17 +0200
User-Agent: KMail/1.13.7 (Linux/3.3.4; KDE/4.7.4; x86_64; ; )
References: <201205071345.23619.pavel@netsafe.cz>
	<201205081312.39927.pavel@netsafe.cz>
	<20120509174426.GD9094@phenom.dumpdata.com>
In-Reply-To: <20120509174426.GD9094@phenom.dumpdata.com>
MIME-Version: 1.0
Message-Id: <201205092059.17957.pavel@netsafe.cz>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed 9. of May 2012 19:44:26 Konrad Rzeszutek Wilk wrote:
> > I tried to run some games as well but the feeling is much worse compared
> > to older configuration. Like lags..
> 
> Do the lags disappear if you pin the vCPUs?

One stupid question:
I tried:
xl vcpu-list
Name                                ID  VCPU   CPU State   Time(s) CPU Affinity
Domain-0                             0     0    3   -b-      74.8  any cpu
Domain-0                             0     1    2   -b-       7.7  any cpu
Domain-0                             0     2    5   -b-       7.4  any cpu
Domain-0                             0     3    2   -b-       8.2  any cpu
Domain-0                             0     4    0   r--       8.4  any cpu
Domain-0                             0     5    1   -b-       7.4  any cpu
windows                              2     0    3   -b-      27.8  1-5
windows                              2     1    4   -b-      23.5  1-5
windows                              2     2    5   -b-      24.9  1-5
windows                              2     3    1   -b-      27.3  1-5
windows                              2     4    1   -b-      25.2  1-5

Do the last two lines mean that two vCPUs in winows are running on one real?
The output changes and mostly is real - virtual cpu mapped one to one.
I have to study the pinning more. I guess I was wrong when I wrote I already 
have it.
-- 
Pavel Mateja

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 19:04:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:04:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCB8-0002kt-BT; Wed, 09 May 2012 19:04:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SSCB7-0002kn-1R
	for xen-devel@lists.xen.org; Wed, 09 May 2012 19:04:01 +0000
Received: from [193.109.254.147:51920] by server-6.bemta-14.messagelabs.com id
	59/C9-04960-F9FBAAF4; Wed, 09 May 2012 19:03:59 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336590236!8468318!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDMzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32674 invoked from network); 9 May 2012 19:03:59 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 19:03:59 -0000
Received: from smtphost4.dur.ac.uk (smtphost4.dur.ac.uk [129.234.252.4])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q49J3Usr014649;
	Wed, 9 May 2012 20:03:34 +0100
Received: from vega-c.dur.ac.uk (vega-c.dur.ac.uk [129.234.250.135])
	by smtphost4.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q49J3GQT023062
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 20:03:16 +0100
Received: from vega-c.dur.ac.uk (localhost [127.0.0.1])
	by vega-c.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q49J3FPc017342;
	Wed, 9 May 2012 20:03:15 +0100
Received: from localhost (dcl0may@localhost)
	by vega-c.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q49J3Fk2017337;
	Wed, 9 May 2012 20:03:15 +0100
Date: Wed, 9 May 2012 20:03:15 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Keir Fraser <keir.xen@gmail.com>
In-Reply-To: <CBCE8EEB.32870%keir.xen@gmail.com>
Message-ID: <alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
References: <CBCE8EEB.32870%keir.xen@gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-1587021364-1336590195=:14172"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q49J3Usr014649
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1587021364-1336590195=:14172
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Tue, 8 May 2012, Keir Fraser wrote:

> Thanks. The same appears to be true in xen-unstable also. Is the solution to
> simply remove -O0 from the command line? We can test that out in
> xen-unstable if so, and backport if it causes no problems.

I got it to build with the attached patch -
http://koji.fedoraproject.org/koji/taskinfo?taskID=4063767 .

It seems the -O0 option was masking some other compile issues so I had to 
add -Wno-error=unused-result -Wno-error=array-bounds as well though I 
imagine the right solution would be to fix the code so it doesn't give 
warnings (if they haven't already been fixed in xen-unstable).

 	Michael Young
--8323329-1587021364-1336590195=:14172
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=f17buildfix.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=f17buildfix.patch

LS0tIHhlbi00LjEuMy90b29scy9ibGt0YXAyL2RyaXZlcnMvTWFrZWZpbGUu
b3JpZwkyMDEyLTA1LTA3IDE3OjMyOjMxLjAwMDAwMDAwMCArMDEwMA0KKysr
IHhlbi00LjEuMy90b29scy9ibGt0YXAyL2RyaXZlcnMvTWFrZWZpbGUJMjAx
Mi0wNS0wOCAyMTozMjo0OC45NzU4Njg5MTMgKzAxMDANCkBAIC05LDcgKzks
NyBAQA0KIExPQ0tfVVRJTCAgPSBsb2NrLXV0aWwNCiBJTlNUX0RJUiAgID0g
JChTQklORElSKQ0KIA0KLUNGTEFHUyAgICArPSAtV2Vycm9yIC1nIC1PMA0K
K0NGTEFHUyAgICArPSAtV2Vycm9yIC1nIC1Xbm8tZXJyb3I9dW51c2VkLXJl
c3VsdCAtV25vLWVycm9yPWFycmF5LWJvdW5kcw0KIENGTEFHUyAgICArPSAt
V25vLXVudXNlZA0KIENGTEFHUyAgICArPSAtZm5vLXN0cmljdC1hbGlhc2lu
Zw0KIENGTEFHUyAgICArPSAtSSQoQkxLVEFQX1JPT1QpL2luY2x1ZGUgLUkk
KEJMS1RBUF9ST09UKS9kcml2ZXJzDQotLS0geGVuLTQuMS4zL3Rvb2xzL3Nl
Y3VyaXR5L01ha2VmaWxlLm9yaWcJMjAxMi0wNS0wNyAxNzozMjozMi4wMDAw
MDAwMDAgKzAxMDANCisrKyB4ZW4tNC4xLjMvdG9vbHMvc2VjdXJpdHkvTWFr
ZWZpbGUJMjAxMi0wNS0wOCAyMTozNDozNS40Nzk1Mzc0MzUgKzAxMDANCkBA
IC03Niw3ICs3Niw3IEBADQogCWNobW9kIDcwMCAkKEFDTV9TQ1JJUFRTKQ0K
IA0KIHhlbnNlY190b29sOiAkKE9CSlNfVE9PTCkNCi0JJChDQykgLWcgJChD
RkxBR1MpICQoTERGTEFHUykgLU8wIC1vICRAICReICQoTERMSUJTX2xpYnhl
bmN0cmwpDQorCSQoQ0MpIC1nICQoQ0ZMQUdTKSAkKExERkxBR1MpIC1vICRA
ICReICQoTERMSUJTX2xpYnhlbmN0cmwpDQogDQogeGVuc2VjX2dlbjogeGVu
c2VjX2dlbi5weQ0KIAljcCAtZiAkXiAkQA0K

--8323329-1587021364-1336590195=:14172
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-1587021364-1336590195=:14172--


From xen-devel-bounces@lists.xen.org Wed May 09 19:04:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:04:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCB8-0002kt-BT; Wed, 09 May 2012 19:04:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SSCB7-0002kn-1R
	for xen-devel@lists.xen.org; Wed, 09 May 2012 19:04:01 +0000
Received: from [193.109.254.147:51920] by server-6.bemta-14.messagelabs.com id
	59/C9-04960-F9FBAAF4; Wed, 09 May 2012 19:03:59 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336590236!8468318!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDMzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32674 invoked from network); 9 May 2012 19:03:59 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 19:03:59 -0000
Received: from smtphost4.dur.ac.uk (smtphost4.dur.ac.uk [129.234.252.4])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q49J3Usr014649;
	Wed, 9 May 2012 20:03:34 +0100
Received: from vega-c.dur.ac.uk (vega-c.dur.ac.uk [129.234.250.135])
	by smtphost4.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q49J3GQT023062
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 9 May 2012 20:03:16 +0100
Received: from vega-c.dur.ac.uk (localhost [127.0.0.1])
	by vega-c.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q49J3FPc017342;
	Wed, 9 May 2012 20:03:15 +0100
Received: from localhost (dcl0may@localhost)
	by vega-c.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q49J3Fk2017337;
	Wed, 9 May 2012 20:03:15 +0100
Date: Wed, 9 May 2012 20:03:15 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Keir Fraser <keir.xen@gmail.com>
In-Reply-To: <CBCE8EEB.32870%keir.xen@gmail.com>
Message-ID: <alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
References: <CBCE8EEB.32870%keir.xen@gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-1587021364-1336590195=:14172"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q49J3Usr014649
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1587021364-1336590195=:14172
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Tue, 8 May 2012, Keir Fraser wrote:

> Thanks. The same appears to be true in xen-unstable also. Is the solution to
> simply remove -O0 from the command line? We can test that out in
> xen-unstable if so, and backport if it causes no problems.

I got it to build with the attached patch -
http://koji.fedoraproject.org/koji/taskinfo?taskID=4063767 .

It seems the -O0 option was masking some other compile issues so I had to 
add -Wno-error=unused-result -Wno-error=array-bounds as well though I 
imagine the right solution would be to fix the code so it doesn't give 
warnings (if they haven't already been fixed in xen-unstable).

 	Michael Young
--8323329-1587021364-1336590195=:14172
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=f17buildfix.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=f17buildfix.patch

LS0tIHhlbi00LjEuMy90b29scy9ibGt0YXAyL2RyaXZlcnMvTWFrZWZpbGUu
b3JpZwkyMDEyLTA1LTA3IDE3OjMyOjMxLjAwMDAwMDAwMCArMDEwMA0KKysr
IHhlbi00LjEuMy90b29scy9ibGt0YXAyL2RyaXZlcnMvTWFrZWZpbGUJMjAx
Mi0wNS0wOCAyMTozMjo0OC45NzU4Njg5MTMgKzAxMDANCkBAIC05LDcgKzks
NyBAQA0KIExPQ0tfVVRJTCAgPSBsb2NrLXV0aWwNCiBJTlNUX0RJUiAgID0g
JChTQklORElSKQ0KIA0KLUNGTEFHUyAgICArPSAtV2Vycm9yIC1nIC1PMA0K
K0NGTEFHUyAgICArPSAtV2Vycm9yIC1nIC1Xbm8tZXJyb3I9dW51c2VkLXJl
c3VsdCAtV25vLWVycm9yPWFycmF5LWJvdW5kcw0KIENGTEFHUyAgICArPSAt
V25vLXVudXNlZA0KIENGTEFHUyAgICArPSAtZm5vLXN0cmljdC1hbGlhc2lu
Zw0KIENGTEFHUyAgICArPSAtSSQoQkxLVEFQX1JPT1QpL2luY2x1ZGUgLUkk
KEJMS1RBUF9ST09UKS9kcml2ZXJzDQotLS0geGVuLTQuMS4zL3Rvb2xzL3Nl
Y3VyaXR5L01ha2VmaWxlLm9yaWcJMjAxMi0wNS0wNyAxNzozMjozMi4wMDAw
MDAwMDAgKzAxMDANCisrKyB4ZW4tNC4xLjMvdG9vbHMvc2VjdXJpdHkvTWFr
ZWZpbGUJMjAxMi0wNS0wOCAyMTozNDozNS40Nzk1Mzc0MzUgKzAxMDANCkBA
IC03Niw3ICs3Niw3IEBADQogCWNobW9kIDcwMCAkKEFDTV9TQ1JJUFRTKQ0K
IA0KIHhlbnNlY190b29sOiAkKE9CSlNfVE9PTCkNCi0JJChDQykgLWcgJChD
RkxBR1MpICQoTERGTEFHUykgLU8wIC1vICRAICReICQoTERMSUJTX2xpYnhl
bmN0cmwpDQorCSQoQ0MpIC1nICQoQ0ZMQUdTKSAkKExERkxBR1MpIC1vICRA
ICReICQoTERMSUJTX2xpYnhlbmN0cmwpDQogDQogeGVuc2VjX2dlbjogeGVu
c2VjX2dlbi5weQ0KIAljcCAtZiAkXiAkQA0K

--8323329-1587021364-1336590195=:14172
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-1587021364-1336590195=:14172--


From xen-devel-bounces@lists.xen.org Wed May 09 19:11:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCHd-0002x3-Bn; Wed, 09 May 2012 19:10:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SSCHc-0002wy-4N
	for xen-devel@lists.xen.org; Wed, 09 May 2012 19:10:44 +0000
Received: from [85.158.143.99:55208] by server-1.bemta-4.messagelabs.com id
	F5/AA-20925-331CAAF4; Wed, 09 May 2012 19:10:43 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336590641!27261730!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2585 invoked from network); 9 May 2012 19:10:42 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 19:10:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,559,1330923600"; d="scan'208";a="25036513"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:10:41 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	15:10:40 -0400
Message-ID: <4FAAC12F.8010507@citrix.com>
Date: Wed, 9 May 2012 20:10:39 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <CBCE8EEB.32870%keir.xen@gmail.com>
	<alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
In-Reply-To: <alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 20:03, M A Young wrote:
> On Tue, 8 May 2012, Keir Fraser wrote:
>
>> Thanks. The same appears to be true in xen-unstable also. Is the solution to
>> simply remove -O0 from the command line? We can test that out in
>> xen-unstable if so, and backport if it causes no problems.
> I got it to build with the attached patch -
> http://koji.fedoraproject.org/koji/taskinfo?taskID=4063767 .
>
> It seems the -O0 option was masking some other compile issues so I had to 
> add -Wno-error=unused-result -Wno-error=array-bounds as well though I 
> imagine the right solution would be to fix the code so it doesn't give 
> warnings (if they haven't already been fixed in xen-unstable).
>
>  	Michael Young

If it is failing -Warray-bounds then the source code probably needs fixing.

Do you have a log of the failures caused by -Warray-bounds ?

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 19:11:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCHd-0002x3-Bn; Wed, 09 May 2012 19:10:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SSCHc-0002wy-4N
	for xen-devel@lists.xen.org; Wed, 09 May 2012 19:10:44 +0000
Received: from [85.158.143.99:55208] by server-1.bemta-4.messagelabs.com id
	F5/AA-20925-331CAAF4; Wed, 09 May 2012 19:10:43 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336590641!27261730!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDM3ODM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2585 invoked from network); 9 May 2012 19:10:42 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 19:10:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,559,1330923600"; d="scan'208";a="25036513"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 15:10:41 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Wed, 9 May 2012
	15:10:40 -0400
Message-ID: <4FAAC12F.8010507@citrix.com>
Date: Wed, 9 May 2012 20:10:39 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <CBCE8EEB.32870%keir.xen@gmail.com>
	<alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
In-Reply-To: <alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 09/05/12 20:03, M A Young wrote:
> On Tue, 8 May 2012, Keir Fraser wrote:
>
>> Thanks. The same appears to be true in xen-unstable also. Is the solution to
>> simply remove -O0 from the command line? We can test that out in
>> xen-unstable if so, and backport if it causes no problems.
> I got it to build with the attached patch -
> http://koji.fedoraproject.org/koji/taskinfo?taskID=4063767 .
>
> It seems the -O0 option was masking some other compile issues so I had to 
> add -Wno-error=unused-result -Wno-error=array-bounds as well though I 
> imagine the right solution would be to fix the code so it doesn't give 
> warnings (if they haven't already been fixed in xen-unstable).
>
>  	Michael Young

If it is failing -Warray-bounds then the source code probably needs fixing.

Do you have a log of the failures caused by -Warray-bounds ?

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 19:19:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:19:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCPB-00036G-Au; Wed, 09 May 2012 19:18:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <djmagee@mageenet.net>) id 1SSCPA-00036B-Dh
	for xen-devel@lists.xen.org; Wed, 09 May 2012 19:18:32 +0000
Received: from [85.158.139.83:7629] by server-3.bemta-5.messagelabs.com id
	4C/63-25237-703CAAF4; Wed, 09 May 2012 19:18:31 +0000
X-Env-Sender: djmagee@mageenet.net
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336591109!20308431!1
X-Originating-IP: [64.78.148.213]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 599 invoked from network); 9 May 2012 19:18:30 -0000
Received: from host213.adamapps.net (HELO host213.adamapps.net) (64.78.148.213)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 19:18:30 -0000
Received: from mnetexch2.adamapps.host ([172.23.68.3])
	by host213.adamapps.net (8.13.8/8.13.8) with ESMTP id q49JISHm030402;
	Wed, 9 May 2012 15:18:28 -0400
Content-class: urn:content-classes:message
MIME-Version: 1.0
X-MimeOLE: Produced By Microsoft Exchange V6.5
Date: Wed, 9 May 2012 15:18:46 -0400
Message-ID: <EECC125FCE18E740AF561189E12602851452B6@mnetexch2.adamapps.host>
In-Reply-To: <201205092059.17957.pavel@netsafe.cz>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [Xen-devel] ATI/AMD VGA passthru report
Thread-Index: Ac0uFrb3v3NhzMjWTv6Nzn+QUHKtuAAANrSA
References: <201205071345.23619.pavel@netsafe.cz><201205081312.39927.pavel@netsafe.cz><20120509174426.GD9094@phenom.dumpdata.com>
	<201205092059.17957.pavel@netsafe.cz>
From: <djmagee@mageenet.net>
To: =?UTF-8?B?UGF2ZWwgTWF0xJtqYQ==?= <pavel@netsafe.cz>,
	<xen-devel@lists.xen.org>
X-Spam-Score: undef - spam scanning disabled
X-CanItPRO-Stream: internal
X-Canit-Stats-ID: Bayes signature not available
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org [mailto:xen-devel-
> bounces@lists.xen.org] On Behalf Of Pavel Mateja
> Sent: Wednesday, May 09, 2012 2:59 PM
> To: xen-devel@lists.xen.org
> Cc: Konrad Rzeszutek Wilk
> Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
> 
> On Wed 9. of May 2012 19:44:26 Konrad Rzeszutek Wilk wrote:
> > > I tried to run some games as well but the feeling is much worse
> > > compared to older configuration. Like lags..
> >
> > Do the lags disappear if you pin the vCPUs?
> 
> One stupid question:
> I tried:
> xl vcpu-list
> Name                                ID  VCPU   CPU State   Time(s) CPU
> Affinity
> Domain-0                             0     0    3   -b-      74.8  any
> cpu
> Domain-0                             0     1    2   -b-       7.7  any
> cpu
> Domain-0                             0     2    5   -b-       7.4  any
> cpu
> Domain-0                             0     3    2   -b-       8.2  any
> cpu
> Domain-0                             0     4    0   r--       8.4  any
> cpu
> Domain-0                             0     5    1   -b-       7.4  any
> cpu
> windows                              2     0    3   -b-      27.8  1-5
> windows                              2     1    4   -b-      23.5  1-5
> windows                              2     2    5   -b-      24.9  1-5
> windows                              2     3    1   -b-      27.3  1-5
> windows                              2     4    1   -b-      25.2  1-5
> 
> Do the last two lines mean that two vCPUs in winows are running on one
> real?
> The output changes and mostly is real - virtual cpu mapped one to one.
> I have to study the pinning more. I guess I was wrong when I wrote I
> already have it.

In my experience passing through video and sound devices, performance in the guest is noticeably better if you pin the domU vCpus 1:1 with pCpus.  As an example, on a 4 core machine, I'll pin the dom0 cpus 1:1 using the dom0_vcpu_pin boot line argument, and restrict dom0 to 1 or 2 cpus.  Then, for a 2 vcpu domu, after I start the guest, I'll do 'xl vcpu-pin 1 0 2; xl vcpu-pin 1 1 3'.  This way guest cpu 0 is always running on physical cpu 2 and guest 1 on physical 3.

I don't think there's currently a way in xl config to do this on xl create, which is why I pin after I create the domain.  That is, I think you can only set the affinity for all vcpus in the config file, and not per-vcpu.

> --
> Pavel Mateja
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 19:19:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:19:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCPB-00036G-Au; Wed, 09 May 2012 19:18:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <djmagee@mageenet.net>) id 1SSCPA-00036B-Dh
	for xen-devel@lists.xen.org; Wed, 09 May 2012 19:18:32 +0000
Received: from [85.158.139.83:7629] by server-3.bemta-5.messagelabs.com id
	4C/63-25237-703CAAF4; Wed, 09 May 2012 19:18:31 +0000
X-Env-Sender: djmagee@mageenet.net
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336591109!20308431!1
X-Originating-IP: [64.78.148.213]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 599 invoked from network); 9 May 2012 19:18:30 -0000
Received: from host213.adamapps.net (HELO host213.adamapps.net) (64.78.148.213)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 May 2012 19:18:30 -0000
Received: from mnetexch2.adamapps.host ([172.23.68.3])
	by host213.adamapps.net (8.13.8/8.13.8) with ESMTP id q49JISHm030402;
	Wed, 9 May 2012 15:18:28 -0400
Content-class: urn:content-classes:message
MIME-Version: 1.0
X-MimeOLE: Produced By Microsoft Exchange V6.5
Date: Wed, 9 May 2012 15:18:46 -0400
Message-ID: <EECC125FCE18E740AF561189E12602851452B6@mnetexch2.adamapps.host>
In-Reply-To: <201205092059.17957.pavel@netsafe.cz>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [Xen-devel] ATI/AMD VGA passthru report
Thread-Index: Ac0uFrb3v3NhzMjWTv6Nzn+QUHKtuAAANrSA
References: <201205071345.23619.pavel@netsafe.cz><201205081312.39927.pavel@netsafe.cz><20120509174426.GD9094@phenom.dumpdata.com>
	<201205092059.17957.pavel@netsafe.cz>
From: <djmagee@mageenet.net>
To: =?UTF-8?B?UGF2ZWwgTWF0xJtqYQ==?= <pavel@netsafe.cz>,
	<xen-devel@lists.xen.org>
X-Spam-Score: undef - spam scanning disabled
X-CanItPRO-Stream: internal
X-Canit-Stats-ID: Bayes signature not available
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org [mailto:xen-devel-
> bounces@lists.xen.org] On Behalf Of Pavel Mateja
> Sent: Wednesday, May 09, 2012 2:59 PM
> To: xen-devel@lists.xen.org
> Cc: Konrad Rzeszutek Wilk
> Subject: Re: [Xen-devel] ATI/AMD VGA passthru report
> 
> On Wed 9. of May 2012 19:44:26 Konrad Rzeszutek Wilk wrote:
> > > I tried to run some games as well but the feeling is much worse
> > > compared to older configuration. Like lags..
> >
> > Do the lags disappear if you pin the vCPUs?
> 
> One stupid question:
> I tried:
> xl vcpu-list
> Name                                ID  VCPU   CPU State   Time(s) CPU
> Affinity
> Domain-0                             0     0    3   -b-      74.8  any
> cpu
> Domain-0                             0     1    2   -b-       7.7  any
> cpu
> Domain-0                             0     2    5   -b-       7.4  any
> cpu
> Domain-0                             0     3    2   -b-       8.2  any
> cpu
> Domain-0                             0     4    0   r--       8.4  any
> cpu
> Domain-0                             0     5    1   -b-       7.4  any
> cpu
> windows                              2     0    3   -b-      27.8  1-5
> windows                              2     1    4   -b-      23.5  1-5
> windows                              2     2    5   -b-      24.9  1-5
> windows                              2     3    1   -b-      27.3  1-5
> windows                              2     4    1   -b-      25.2  1-5
> 
> Do the last two lines mean that two vCPUs in winows are running on one
> real?
> The output changes and mostly is real - virtual cpu mapped one to one.
> I have to study the pinning more. I guess I was wrong when I wrote I
> already have it.

In my experience passing through video and sound devices, performance in the guest is noticeably better if you pin the domU vCpus 1:1 with pCpus.  As an example, on a 4 core machine, I'll pin the dom0 cpus 1:1 using the dom0_vcpu_pin boot line argument, and restrict dom0 to 1 or 2 cpus.  Then, for a 2 vcpu domu, after I start the guest, I'll do 'xl vcpu-pin 1 0 2; xl vcpu-pin 1 1 3'.  This way guest cpu 0 is always running on physical cpu 2 and guest 1 on physical 3.

I don't think there's currently a way in xl config to do this on xl create, which is why I pin after I create the domain.  That is, I think you can only set the affinity for all vcpus in the config file, and not per-vcpu.

> --
> Pavel Mateja
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 19:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCnP-0003Mn-7d; Wed, 09 May 2012 19:43:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSCnM-0003Mi-VM
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 19:43:33 +0000
Received: from [193.109.254.147:55614] by server-12.bemta-14.messagelabs.com
	id B4/00-05898-4E8CAAF4; Wed, 09 May 2012 19:43:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336592610!8448201!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13263 invoked from network); 9 May 2012 19:43:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 19:43:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,559,1330905600"; d="scan'208";a="12388475"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 19:43:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 20:43:30 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSCnJ-0001ba-Rw;
	Wed, 09 May 2012 19:43:29 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSCnJ-0007Ml-Qb;
	Wed, 09 May 2012 20:43:29 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12826-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 20:43:29 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12826: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12826 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12826/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3
baseline version:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=linux-3.0
+ revision=bea37381fd9a34c6660e5195d31beea86aa3dda3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push linux-3.0 bea37381fd9a34c6660e5195d31beea86aa3dda3
+ branch=linux-3.0
+ revision=bea37381fd9a34c6660e5195d31beea86aa3dda3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=linux
+ xenbranch=xen-unstable
+ '[' xlinux = xlinux ']'
+ linuxbranch=linux-3.0
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.linux-3.0
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.linux-3.0
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree linux-3.0
+ case $1 in
+ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+ : linux-3.0.y
+ : linux-3.0.y
+ : git
+ : git
+ : git://xenbits.xen.org/linux-pvops.git
+ : xen@xenbits.xensource.com:git/linux-pvops.git
+ : tested/linux-3.0
+ : tested/linux-3.0
+ return 0
+ cd /export/home/osstest/repos/linux
+ git push xen@xenbits.xensource.com:git/linux-pvops.git bea37381fd9a34c6660e5195d31beea86aa3dda3:tested/linux-3.0
Counting objects: 1   
Counting objects: 403, done.
Compressing objects:   1% (1/51)   
Compressing objects:   3% (2/51)   
Compressing objects:   5% (3/51)   
Compressing objects:   7% (4/51)   
Compressing objects:   9% (5/51)   
Compressing objects:  11% (6/51)   
Compressing objects:  13% (7/51)   
Compressing objects:  15% (8/51)   
Compressing objects:  17% (9/51)   
Compressing objects:  19% (10/51)   
Compressing objects:  21% (11/51)   
Compressing objects:  23% (12/51)   
Compressing objects:  25% (13/51)   
Compressing objects:  27% (14/51)   
Compressing objects:  29% (15/51)   
Compressing objects:  31% (16/51)   
Compressing objects:  33% (17/51)   
Compressing objects:  35% (18/51)   
Compressing objects:  37% (19/51)   
Compressing objects:  39% (20/51)   
Compressing objects:  41% (21/51)   
Compressing objects:  43% (22/51)   
Compressing objects:  45% (23/51)   
Compressing objects:  47% (24/51)   
Compressing objects:  49% (25/51)   
Compressing objects:  50% (26/51)   
Compressing objects:  52% (27/51)   
Compressing objects:  54% (28/51)   
Compressing objects:  56% (29/51)   
Compressing objects:  58% (30/51)   
Compressing objects:  60% (31/51)   
Compressing objects:  62% (32/51)   
Compressing objects:  64% (33/51)   
Compressing objects:  66% (34/51)   
Compressing objects:  68% (35/51)   
Compressing objects:  70% (36/51)   
Compressing objects:  72% (37/51)   
Compressing objects:  74% (38/51)   
Compressing objects:  76% (39/51)   
Compressing objects:  78% (40/51)   
Compressing objects:  80% (41/51)   
Compressing objects:  82% (42/51)   
Compressing objects:  84% (43/51)   
Compressing objects:  86% (44/51)   
Compressing objects:  88% (45/51)   
Compressing objects:  90% (46/51)   
Compressing objects:  92% (47/51)   
Compressing objects:  94% (48/51)   
Compressing objects:  96% (49/51)   
Compressing objects:  98% (50/51)   
Compressing objects: 100% (51/51)   
Compressing objects: 100% (51/51), done.
Writing objects:   0% (1/296)   
Writing objects:   1% (3/296)   
Writing objects:   2% (6/296)   
Writing objects:   3% (9/296)   
Writing objects:   4% (12/296)   
Writing objects:   5% (15/296)   
Writing objects:   6% (18/296)   
Writing objects:   7% (21/296)   
Writing objects:   8% (24/296)   
Writing objects:   9% (27/296)   
Writing objects:  10% (30/296)   
Writing objects:  11% (33/296)   
Writing objects:  12% (37/296)   
Writing objects:  13% (39/296)   
Writing objects:  14% (42/296)   
Writing objects:  15% (45/296)   
Writing objects:  16% (48/296)   
Writing objects:  17% (51/296)   
Writing objects:  18% (54/296)   
Writing objects:  19% (57/296)   
Writing objects:  20% (60/296)   
Writing objects:  21% (63/296)   
Writing objects:  22% (66/296)   
Writing objects:  23% (69/296)   
Writing objects:  24% (72/296)   
Writing objects:  25% (74/296)   
Writing objects:  26% (77/296)   
Writing objects:  27% (80/296)   
Writing objects:  28% (83/296)   
Writing objects:  29% (86/296)   
Writing objects:  30% (89/296)   
Writing objects:  31% (92/296)   
Writing objects:  32% (95/296)   
Writing objects:  33% (98/296)   
Writing objects:  34% (101/296)   
Writing objects:  35% (104/296)   
Writing objects:  36% (107/296)   
Writing objects:  37% (110/296)   
Writing objects:  38% (113/296)   
Writing objects:  39% (116/296)   
Writing objects:  40% (119/296)   
Writing objects:  41% (122/296)   
Writing objects:  42% (125/296)   
Writing objects:  43% (128/296)   
Writing objects:  44% (131/296)   
Writing objects:  45% (134/296)   
Writing objects:  46% (137/296)   
Writing objects:  47% (140/296)   
Writing objects:  48% (143/296)   
Writing objects:  49% (146/296)   
Writing objects:  50% (148/296)   
Writing objects:  51% (151/296)   
Writing objects:  52% (154/296)   
Writing objects:  53% (157/296)   
Writing objects:  54% (160/296)   
Writing objects:  55% (163/296)   
Writing objects:  56% (166/296)   
Writing objects:  57% (169/296)   
Writing objects:  58% (172/296)   
Writing objects:  59% (175/296)   
Writing objects:  60% (178/296)   
Writing objects:  61% (181/296)   
Writing objects:  62% (184/296)   
Writing objects:  63% (187/296)   
Writing objects:  64% (190/296)   
Writing objects:  65% (193/296)   
Writing objects:  66% (196/296)   
Writing objects:  67% (199/296)   
Writing objects:  68% (202/296)   
Writing objects:  69% (205/296)   
Writing objects:  70% (208/296)   
Writing objects:  71% (211/296)   
Writing objects:  72% (214/296)   
Writing objects:  73% (217/296)   
Writing objects:  74% (220/296)   
Writing objects:  75% (222/296)   
Writing objects:  76% (225/296)   
Writing objects:  77% (228/296)   
Writing objects:  78% (231/296)   
Writing objects:  79% (234/296)   
Writing objects:  80% (237/296)   
Writing objects:  81% (240/296)   
Writing objects:  82% (243/296)   
Writing objects:  83% (246/296)   
Writing objects:  84% (249/296)   
Writing objects:  85% (252/296)   
Writing objects:  86% (255/296)   
Writing objects:  87% (258/296)   
Writing objects:  88% (261/296)   
Writing objects:  89% (264/296)   
Writing objects:  90% (267/296)   
Writing objects:  91% (270/296)   
Writing objects:  92% (273/296)   
Writing objects:  93% (276/296)   
Writing objects:  94% (279/296)   
Writing objects:  95% (282/296)   
Writing objects:  96% (285/296)   
Writing objects:  97% (288/296)   
Writing objects:  98% (291/296)   
Writing objects:  99% (294/296)   
Writing objects: 100% (296/296)   
Writing objects: 100% (296/296), 55.09 KiB, done.
Total 296 (delta 243), reused 296 (delta 243)
To xen@xenbits.xensource.com:git/linux-pvops.git
   f1c84a5..bea3738  bea37381fd9a34c6660e5195d31beea86aa3dda3 -> tested/linux-3.0
+ exit 0

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 19:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 19:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSCnP-0003Mn-7d; Wed, 09 May 2012 19:43:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSCnM-0003Mi-VM
	for xen-devel@lists.xensource.com; Wed, 09 May 2012 19:43:33 +0000
Received: from [193.109.254.147:55614] by server-12.bemta-14.messagelabs.com
	id B4/00-05898-4E8CAAF4; Wed, 09 May 2012 19:43:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336592610!8448201!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5NzkzMQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13263 invoked from network); 9 May 2012 19:43:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	9 May 2012 19:43:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,559,1330905600"; d="scan'208";a="12388475"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	09 May 2012 19:43:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 9 May 2012 20:43:30 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSCnJ-0001ba-Rw;
	Wed, 09 May 2012 19:43:29 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSCnJ-0007Ml-Qb;
	Wed, 09 May 2012 20:43:29 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12826-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 9 May 2012 20:43:29 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12826: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12826 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12826/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3
baseline version:
 linux                f1c84a5cb52ee2915457b481c756fcc1dfe6a471

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=linux-3.0
+ revision=bea37381fd9a34c6660e5195d31beea86aa3dda3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push linux-3.0 bea37381fd9a34c6660e5195d31beea86aa3dda3
+ branch=linux-3.0
+ revision=bea37381fd9a34c6660e5195d31beea86aa3dda3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=linux
+ xenbranch=xen-unstable
+ '[' xlinux = xlinux ']'
+ linuxbranch=linux-3.0
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.linux-3.0
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.linux-3.0
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree linux-3.0
+ case $1 in
+ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+ : linux-3.0.y
+ : linux-3.0.y
+ : git
+ : git
+ : git://xenbits.xen.org/linux-pvops.git
+ : xen@xenbits.xensource.com:git/linux-pvops.git
+ : tested/linux-3.0
+ : tested/linux-3.0
+ return 0
+ cd /export/home/osstest/repos/linux
+ git push xen@xenbits.xensource.com:git/linux-pvops.git bea37381fd9a34c6660e5195d31beea86aa3dda3:tested/linux-3.0
Counting objects: 1   
Counting objects: 403, done.
Compressing objects:   1% (1/51)   
Compressing objects:   3% (2/51)   
Compressing objects:   5% (3/51)   
Compressing objects:   7% (4/51)   
Compressing objects:   9% (5/51)   
Compressing objects:  11% (6/51)   
Compressing objects:  13% (7/51)   
Compressing objects:  15% (8/51)   
Compressing objects:  17% (9/51)   
Compressing objects:  19% (10/51)   
Compressing objects:  21% (11/51)   
Compressing objects:  23% (12/51)   
Compressing objects:  25% (13/51)   
Compressing objects:  27% (14/51)   
Compressing objects:  29% (15/51)   
Compressing objects:  31% (16/51)   
Compressing objects:  33% (17/51)   
Compressing objects:  35% (18/51)   
Compressing objects:  37% (19/51)   
Compressing objects:  39% (20/51)   
Compressing objects:  41% (21/51)   
Compressing objects:  43% (22/51)   
Compressing objects:  45% (23/51)   
Compressing objects:  47% (24/51)   
Compressing objects:  49% (25/51)   
Compressing objects:  50% (26/51)   
Compressing objects:  52% (27/51)   
Compressing objects:  54% (28/51)   
Compressing objects:  56% (29/51)   
Compressing objects:  58% (30/51)   
Compressing objects:  60% (31/51)   
Compressing objects:  62% (32/51)   
Compressing objects:  64% (33/51)   
Compressing objects:  66% (34/51)   
Compressing objects:  68% (35/51)   
Compressing objects:  70% (36/51)   
Compressing objects:  72% (37/51)   
Compressing objects:  74% (38/51)   
Compressing objects:  76% (39/51)   
Compressing objects:  78% (40/51)   
Compressing objects:  80% (41/51)   
Compressing objects:  82% (42/51)   
Compressing objects:  84% (43/51)   
Compressing objects:  86% (44/51)   
Compressing objects:  88% (45/51)   
Compressing objects:  90% (46/51)   
Compressing objects:  92% (47/51)   
Compressing objects:  94% (48/51)   
Compressing objects:  96% (49/51)   
Compressing objects:  98% (50/51)   
Compressing objects: 100% (51/51)   
Compressing objects: 100% (51/51), done.
Writing objects:   0% (1/296)   
Writing objects:   1% (3/296)   
Writing objects:   2% (6/296)   
Writing objects:   3% (9/296)   
Writing objects:   4% (12/296)   
Writing objects:   5% (15/296)   
Writing objects:   6% (18/296)   
Writing objects:   7% (21/296)   
Writing objects:   8% (24/296)   
Writing objects:   9% (27/296)   
Writing objects:  10% (30/296)   
Writing objects:  11% (33/296)   
Writing objects:  12% (37/296)   
Writing objects:  13% (39/296)   
Writing objects:  14% (42/296)   
Writing objects:  15% (45/296)   
Writing objects:  16% (48/296)   
Writing objects:  17% (51/296)   
Writing objects:  18% (54/296)   
Writing objects:  19% (57/296)   
Writing objects:  20% (60/296)   
Writing objects:  21% (63/296)   
Writing objects:  22% (66/296)   
Writing objects:  23% (69/296)   
Writing objects:  24% (72/296)   
Writing objects:  25% (74/296)   
Writing objects:  26% (77/296)   
Writing objects:  27% (80/296)   
Writing objects:  28% (83/296)   
Writing objects:  29% (86/296)   
Writing objects:  30% (89/296)   
Writing objects:  31% (92/296)   
Writing objects:  32% (95/296)   
Writing objects:  33% (98/296)   
Writing objects:  34% (101/296)   
Writing objects:  35% (104/296)   
Writing objects:  36% (107/296)   
Writing objects:  37% (110/296)   
Writing objects:  38% (113/296)   
Writing objects:  39% (116/296)   
Writing objects:  40% (119/296)   
Writing objects:  41% (122/296)   
Writing objects:  42% (125/296)   
Writing objects:  43% (128/296)   
Writing objects:  44% (131/296)   
Writing objects:  45% (134/296)   
Writing objects:  46% (137/296)   
Writing objects:  47% (140/296)   
Writing objects:  48% (143/296)   
Writing objects:  49% (146/296)   
Writing objects:  50% (148/296)   
Writing objects:  51% (151/296)   
Writing objects:  52% (154/296)   
Writing objects:  53% (157/296)   
Writing objects:  54% (160/296)   
Writing objects:  55% (163/296)   
Writing objects:  56% (166/296)   
Writing objects:  57% (169/296)   
Writing objects:  58% (172/296)   
Writing objects:  59% (175/296)   
Writing objects:  60% (178/296)   
Writing objects:  61% (181/296)   
Writing objects:  62% (184/296)   
Writing objects:  63% (187/296)   
Writing objects:  64% (190/296)   
Writing objects:  65% (193/296)   
Writing objects:  66% (196/296)   
Writing objects:  67% (199/296)   
Writing objects:  68% (202/296)   
Writing objects:  69% (205/296)   
Writing objects:  70% (208/296)   
Writing objects:  71% (211/296)   
Writing objects:  72% (214/296)   
Writing objects:  73% (217/296)   
Writing objects:  74% (220/296)   
Writing objects:  75% (222/296)   
Writing objects:  76% (225/296)   
Writing objects:  77% (228/296)   
Writing objects:  78% (231/296)   
Writing objects:  79% (234/296)   
Writing objects:  80% (237/296)   
Writing objects:  81% (240/296)   
Writing objects:  82% (243/296)   
Writing objects:  83% (246/296)   
Writing objects:  84% (249/296)   
Writing objects:  85% (252/296)   
Writing objects:  86% (255/296)   
Writing objects:  87% (258/296)   
Writing objects:  88% (261/296)   
Writing objects:  89% (264/296)   
Writing objects:  90% (267/296)   
Writing objects:  91% (270/296)   
Writing objects:  92% (273/296)   
Writing objects:  93% (276/296)   
Writing objects:  94% (279/296)   
Writing objects:  95% (282/296)   
Writing objects:  96% (285/296)   
Writing objects:  97% (288/296)   
Writing objects:  98% (291/296)   
Writing objects:  99% (294/296)   
Writing objects: 100% (296/296)   
Writing objects: 100% (296/296), 55.09 KiB, done.
Total 296 (delta 243), reused 296 (delta 243)
To xen@xenbits.xensource.com:git/linux-pvops.git
   f1c84a5..bea3738  bea37381fd9a34c6660e5195d31beea86aa3dda3 -> tested/linux-3.0
+ exit 0

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 20:31:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 20:31:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSDXK-0003i4-AD; Wed, 09 May 2012 20:31:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSDXI-0003hz-SO
	for xen-devel@lists.xen.org; Wed, 09 May 2012 20:31:00 +0000
Received: from [85.158.139.83:37485] by server-8.bemta-5.messagelabs.com id
	A0/CB-26964-304DAAF4; Wed, 09 May 2012 20:30:59 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336595458!23593860!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzczMjg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzczMjg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29356 invoked from network); 9 May 2012 20:30:59 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 20:30:59 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGii0HECo=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-084-093.pools.arcor-ip.net [88.65.84.93])
	by smtp.strato.de (jorabe mo38) (RZmta 29.6 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id j07867o49JrFhH ;
	Wed, 9 May 2012 22:30:58 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id A34EF18637; Wed,  9 May 2012 22:30:57 +0200 (CEST)
Date: Wed, 9 May 2012 22:30:57 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <20120509203057.GA19370@aepfle.de>
References: <CBCE8EEB.32870%keir.xen@gmail.com>
	<alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
	<4FAAC12F.8010507@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FAAC12F.8010507@citrix.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 09, Andrew Cooper wrote:

> If it is failing -Warray-bounds then the source code probably needs fixing.
> 
> Do you have a log of the failures caused by -Warray-bounds ?

http://lists.xen.org/archives/html/xen-devel/2012-03/msg02583.html

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 09 20:31:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 09 May 2012 20:31:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSDXK-0003i4-AD; Wed, 09 May 2012 20:31:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSDXI-0003hz-SO
	for xen-devel@lists.xen.org; Wed, 09 May 2012 20:31:00 +0000
Received: from [85.158.139.83:37485] by server-8.bemta-5.messagelabs.com id
	A0/CB-26964-304DAAF4; Wed, 09 May 2012 20:30:59 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336595458!23593860!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzczMjg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzczMjg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29356 invoked from network); 9 May 2012 20:30:59 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 9 May 2012 20:30:59 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFGii0HECo=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-084-093.pools.arcor-ip.net [88.65.84.93])
	by smtp.strato.de (jorabe mo38) (RZmta 29.6 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id j07867o49JrFhH ;
	Wed, 9 May 2012 22:30:58 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id A34EF18637; Wed,  9 May 2012 22:30:57 +0200 (CEST)
Date: Wed, 9 May 2012 22:30:57 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <20120509203057.GA19370@aepfle.de>
References: <CBCE8EEB.32870%keir.xen@gmail.com>
	<alpine.DEB.2.00.1205091956510.14172@vega-c.dur.ac.uk>
	<4FAAC12F.8010507@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FAAC12F.8010507@citrix.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 09, Andrew Cooper wrote:

> If it is failing -Warray-bounds then the source code probably needs fixing.
> 
> Do you have a log of the failures caused by -Warray-bounds ?

http://lists.xen.org/archives/html/xen-devel/2012-03/msg02583.html

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 07:14:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 07:14:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSNZW-0002F4-DU; Thu, 10 May 2012 07:13:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSNZU-0002Ez-Ll
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 07:13:57 +0000
Received: from [193.109.254.147:64111] by server-5.bemta-14.messagelabs.com id
	7E/5F-30733-3BA6BAF4; Thu, 10 May 2012 07:13:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336634034!3356904!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODAzMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27650 invoked from network); 10 May 2012 07:13:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 07:13:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,563,1330905600"; d="scan'208";a="12393980"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:13:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 08:13:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSNZS-0005Gb-6K;
	Thu, 10 May 2012 07:13:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSNZS-00056K-0l;
	Thu, 10 May 2012 08:13:54 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12827-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 08:13:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12827: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12827 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12827/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12823
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12806

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8a86d841e6d4
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 07:14:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 07:14:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSNZW-0002F4-DU; Thu, 10 May 2012 07:13:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSNZU-0002Ez-Ll
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 07:13:57 +0000
Received: from [193.109.254.147:64111] by server-5.bemta-14.messagelabs.com id
	7E/5F-30733-3BA6BAF4; Thu, 10 May 2012 07:13:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336634034!3356904!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODAzMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27650 invoked from network); 10 May 2012 07:13:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 07:13:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,563,1330905600"; d="scan'208";a="12393980"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:13:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 08:13:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSNZS-0005Gb-6K;
	Thu, 10 May 2012 07:13:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSNZS-00056K-0l;
	Thu, 10 May 2012 08:13:54 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12827-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 08:13:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12827: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12827 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12827/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12823
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12806

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  8a86d841e6d4
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 07:49:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 07:49:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSO7R-0002Tb-N5; Thu, 10 May 2012 07:49:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSO7P-0002TW-Uo
	for xen-devel@lists.xen.org; Thu, 10 May 2012 07:49:00 +0000
Received: from [85.158.143.99:49440] by server-2.bemta-4.messagelabs.com id
	2A/0A-17550-AE27BAF4; Thu, 10 May 2012 07:48:58 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336636136!20268223!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30307 invoked from network); 10 May 2012 07:48:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 07:48:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 08:48:55 +0100
Message-Id: <4FAB8F1D0200007800082A79@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 08:49:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] qemu xen_disk mis-accounting?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

ioreq_release() gets called from two places, yet only in the
blk_send_response_all() case does it appear appropriate to decrement
blkdev->requests_finished. In the error handling path of
blk_handle_requests() I would think it should decrement
blkdev->requests_inflight instead.

While blkdev->requests_finished isn't being used anywhere,
blkdev->requests_inflight serves blk_handle_requests() to tell
whether to call qemu_bh_schedule(), so this isn't a purely cosmetic
mistake afaics (and the error path in question is actually being
consistently exercised by our frontends probing for the packet
command extension - yes, it should have been implemented via
xenstore node presence, but the author failed to do so back then).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 07:49:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 07:49:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSO7R-0002Tb-N5; Thu, 10 May 2012 07:49:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSO7P-0002TW-Uo
	for xen-devel@lists.xen.org; Thu, 10 May 2012 07:49:00 +0000
Received: from [85.158.143.99:49440] by server-2.bemta-4.messagelabs.com id
	2A/0A-17550-AE27BAF4; Thu, 10 May 2012 07:48:58 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336636136!20268223!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30307 invoked from network); 10 May 2012 07:48:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 07:48:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 08:48:55 +0100
Message-Id: <4FAB8F1D0200007800082A79@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 08:49:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] qemu xen_disk mis-accounting?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

ioreq_release() gets called from two places, yet only in the
blk_send_response_all() case does it appear appropriate to decrement
blkdev->requests_finished. In the error handling path of
blk_handle_requests() I would think it should decrement
blkdev->requests_inflight instead.

While blkdev->requests_finished isn't being used anywhere,
blkdev->requests_inflight serves blk_handle_requests() to tell
whether to call qemu_bh_schedule(), so this isn't a purely cosmetic
mistake afaics (and the error path in question is actually being
consistently exercised by our frontends probing for the packet
command extension - yes, it should have been implemented via
xenstore node presence, but the author failed to do so back then).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 09:21:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPYJ-0003bp-0t; Thu, 10 May 2012 09:20:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSPYH-0003bj-9w
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:20:49 +0000
Received: from [85.158.143.99:4001] by server-1.bemta-4.messagelabs.com id
	48/D8-20925-F688BAF4; Thu, 10 May 2012 09:20:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336641644!20287345!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4827 invoked from network); 10 May 2012 09:20:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 09:20:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 10:20:44 +0100
Message-Id: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 10:21:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part95BB7C91.1__="
Cc: andrew.cooper3@citrix.com
Subject: [Xen-devel] [PATCH] x86/irq: fix locking for c/s 24707:96987c324a4f
 debugging code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part95BB7C91.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Without this, dump_irqs() may try to acquire the lock the caller is
currently holding.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -668,6 +668,7 @@ void irq_move_cleanup_interrupt(struct c
             {
                 if ( unlikely(!test_bit(vector, desc->arch.used_vectors)) =
)
                 {
+                    spin_unlock(&desc->lock);
                     bitmap_scnlistprintf(keyhandler_scratch,
                                          sizeof(keyhandler_scratch),
                                          desc->arch.used_vectors->_bits,




--=__Part95BB7C91.1__=
Content-Type: text/plain; name="x86-24707-locking.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-24707-locking.patch"

x86/irq: fix locking for c/s 24707:96987c324a4f debugging code=0A=0AWithout=
 this, dump_irqs() may try to acquire the lock the caller is=0Acurrently =
holding.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/irq.c=0A+++ b/xen/arch/x86/irq.c=0A@@ -668,6 +668,7 @@ void =
irq_move_cleanup_interrupt(struct c=0A             {=0A                 if =
( unlikely(!test_bit(vector, desc->arch.used_vectors)) )=0A                =
 {=0A+                    spin_unlock(&desc->lock);=0A                     =
bitmap_scnlistprintf(keyhandler_scratch,=0A                                =
          sizeof(keyhandler_scratch),=0A                                   =
       desc->arch.used_vectors->_bits,=0A
--=__Part95BB7C91.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part95BB7C91.1__=--


From xen-devel-bounces@lists.xen.org Thu May 10 09:21:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPYJ-0003bp-0t; Thu, 10 May 2012 09:20:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSPYH-0003bj-9w
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:20:49 +0000
Received: from [85.158.143.99:4001] by server-1.bemta-4.messagelabs.com id
	48/D8-20925-F688BAF4; Thu, 10 May 2012 09:20:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336641644!20287345!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4827 invoked from network); 10 May 2012 09:20:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 09:20:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 10:20:44 +0100
Message-Id: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 10:21:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part95BB7C91.1__="
Cc: andrew.cooper3@citrix.com
Subject: [Xen-devel] [PATCH] x86/irq: fix locking for c/s 24707:96987c324a4f
 debugging code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part95BB7C91.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Without this, dump_irqs() may try to acquire the lock the caller is
currently holding.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -668,6 +668,7 @@ void irq_move_cleanup_interrupt(struct c
             {
                 if ( unlikely(!test_bit(vector, desc->arch.used_vectors)) =
)
                 {
+                    spin_unlock(&desc->lock);
                     bitmap_scnlistprintf(keyhandler_scratch,
                                          sizeof(keyhandler_scratch),
                                          desc->arch.used_vectors->_bits,




--=__Part95BB7C91.1__=
Content-Type: text/plain; name="x86-24707-locking.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-24707-locking.patch"

x86/irq: fix locking for c/s 24707:96987c324a4f debugging code=0A=0AWithout=
 this, dump_irqs() may try to acquire the lock the caller is=0Acurrently =
holding.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/irq.c=0A+++ b/xen/arch/x86/irq.c=0A@@ -668,6 +668,7 @@ void =
irq_move_cleanup_interrupt(struct c=0A             {=0A                 if =
( unlikely(!test_bit(vector, desc->arch.used_vectors)) )=0A                =
 {=0A+                    spin_unlock(&desc->lock);=0A                     =
bitmap_scnlistprintf(keyhandler_scratch,=0A                                =
          sizeof(keyhandler_scratch),=0A                                   =
       desc->arch.used_vectors->_bits,=0A
--=__Part95BB7C91.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part95BB7C91.1__=--


From xen-devel-bounces@lists.xen.org Thu May 10 09:27:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:27:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPe0-0003jj-Tw; Thu, 10 May 2012 09:26:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SSPdz-0003jd-BJ
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:26:43 +0000
Received: from [85.158.143.35:42733] by server-1.bemta-4.messagelabs.com id
	00/E3-20925-2D98BAF4; Thu, 10 May 2012 09:26:42 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336641999!12238842!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6438 invoked from network); 10 May 2012 09:26:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:26:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194220151"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 05:26:26 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Thu, 10 May 2012
	05:26:26 -0400
Message-ID: <4FAB89C1.6040702@citrix.com>
Date: Thu, 10 May 2012 10:26:25 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
In-Reply-To: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86/irq: fix locking for c/s
 24707:96987c324a4f debugging code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 10:21, Jan Beulich wrote:
> Without this, dump_irqs() may try to acquire the lock the caller is
> currently holding.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

With the proviso that this is patch will disappear when all (3 so far)
of these debugging patches disappear.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -668,6 +668,7 @@ void irq_move_cleanup_interrupt(struct c
>              {
>                  if ( unlikely(!test_bit(vector, desc->arch.used_vectors)) )
>                  {
> +                    spin_unlock(&desc->lock);
>                      bitmap_scnlistprintf(keyhandler_scratch,
>                                           sizeof(keyhandler_scratch),
>                                           desc->arch.used_vectors->_bits,
>
>
>

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 09:27:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:27:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPe0-0003jj-Tw; Thu, 10 May 2012 09:26:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SSPdz-0003jd-BJ
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:26:43 +0000
Received: from [85.158.143.35:42733] by server-1.bemta-4.messagelabs.com id
	00/E3-20925-2D98BAF4; Thu, 10 May 2012 09:26:42 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336641999!12238842!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6438 invoked from network); 10 May 2012 09:26:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:26:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194220151"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 05:26:26 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Thu, 10 May 2012
	05:26:26 -0400
Message-ID: <4FAB89C1.6040702@citrix.com>
Date: Thu, 10 May 2012 10:26:25 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
In-Reply-To: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86/irq: fix locking for c/s
 24707:96987c324a4f debugging code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 10:21, Jan Beulich wrote:
> Without this, dump_irqs() may try to acquire the lock the caller is
> currently holding.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

With the proviso that this is patch will disappear when all (3 so far)
of these debugging patches disappear.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -668,6 +668,7 @@ void irq_move_cleanup_interrupt(struct c
>              {
>                  if ( unlikely(!test_bit(vector, desc->arch.used_vectors)) )
>                  {
> +                    spin_unlock(&desc->lock);
>                      bitmap_scnlistprintf(keyhandler_scratch,
>                                           sizeof(keyhandler_scratch),
>                                           desc->arch.used_vectors->_bits,
>
>
>

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 09:27:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:27:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPeC-0003kQ-A9; Thu, 10 May 2012 09:26:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SSPeA-0003kF-UM
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:26:55 +0000
Received: from [85.158.143.35:56716] by server-2.bemta-4.messagelabs.com id
	D7/B2-17550-ED98BAF4; Thu, 10 May 2012 09:26:54 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336642012!13922086!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2633 invoked from network); 10 May 2012 09:26:52 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-21.messagelabs.com with SMTP;
	10 May 2012 09:26:52 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77761230; Thu, 10 May 2012 11:26:51 +0200
Message-ID: <1336642009.3376.16.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 11:26:49 +0200
In-Reply-To: <20394.35813.845562.695653@mariner.uk.xensource.com>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
	<1336561898.2621.4.camel@Abyss>
	<20394.35813.845562.695653@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1737679525413951273=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1737679525413951273==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-yz3/024UA61m0ObOfe57"


--=-yz3/024UA61m0ObOfe57
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-09 at 16:23 +0100, Ian Jackson wrote:=20
> Dario Faggioli writes ("Re: [PATCH] libxl: use xc_topologyinfo to figure =
out how many CPUs we actually have"):
> > And, as it is an actual bugfix and very very small in size, not to
> > forget that I'd need that for the NUMA placement series, I'm proposing
> > this for 4.2... Does it make sense?
>=20
> It seems to to me that this is indeed 4.2 material.
>=20
Cool. :-) Aside from that, any comments (better if on the v2 here
http://permalink.gmane.org/gmane.comp.emulators.xen.devel/130218) ?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)




--=-yz3/024UA61m0ObOfe57
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+ridkACgkQk4XaBE3IOsSp8ACfWy1WL4wMQ2GOe/H4rAd8UTV3
W+IAn3ugXid79Rh8orpTD2v58UcnZNX8
=Ce2K
-----END PGP SIGNATURE-----

--=-yz3/024UA61m0ObOfe57--



--===============1737679525413951273==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1737679525413951273==--



From xen-devel-bounces@lists.xen.org Thu May 10 09:27:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:27:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPeC-0003kQ-A9; Thu, 10 May 2012 09:26:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SSPeA-0003kF-UM
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:26:55 +0000
Received: from [85.158.143.35:56716] by server-2.bemta-4.messagelabs.com id
	D7/B2-17550-ED98BAF4; Thu, 10 May 2012 09:26:54 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336642012!13922086!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2633 invoked from network); 10 May 2012 09:26:52 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-21.messagelabs.com with SMTP;
	10 May 2012 09:26:52 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77761230; Thu, 10 May 2012 11:26:51 +0200
Message-ID: <1336642009.3376.16.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 11:26:49 +0200
In-Reply-To: <20394.35813.845562.695653@mariner.uk.xensource.com>
References: <420c8861a2d2a61a7e80.1336561430@Solace>
	<1336561898.2621.4.camel@Abyss>
	<20394.35813.845562.695653@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1737679525413951273=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1737679525413951273==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-yz3/024UA61m0ObOfe57"


--=-yz3/024UA61m0ObOfe57
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-09 at 16:23 +0100, Ian Jackson wrote:=20
> Dario Faggioli writes ("Re: [PATCH] libxl: use xc_topologyinfo to figure =
out how many CPUs we actually have"):
> > And, as it is an actual bugfix and very very small in size, not to
> > forget that I'd need that for the NUMA placement series, I'm proposing
> > this for 4.2... Does it make sense?
>=20
> It seems to to me that this is indeed 4.2 material.
>=20
Cool. :-) Aside from that, any comments (better if on the v2 here
http://permalink.gmane.org/gmane.comp.emulators.xen.devel/130218) ?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)




--=-yz3/024UA61m0ObOfe57
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+ridkACgkQk4XaBE3IOsSp8ACfWy1WL4wMQ2GOe/H4rAd8UTV3
W+IAn3ugXid79Rh8orpTD2v58UcnZNX8
=Ce2K
-----END PGP SIGNATURE-----

--=-yz3/024UA61m0ObOfe57--



--===============1737679525413951273==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1737679525413951273==--



From xen-devel-bounces@lists.xen.org Thu May 10 09:33:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:33:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPkY-000427-6C; Thu, 10 May 2012 09:33:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSPkW-00041u-1C
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:33:28 +0000
Received: from [85.158.138.51:33334] by server-12.bemta-3.messagelabs.com id
	80/35-29760-46B8BAF4; Thu, 10 May 2012 09:33:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336642403!19927937!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23613 invoked from network); 10 May 2012 09:33:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 09:33:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 10:33:23 +0100
Message-Id: <4FABA7980200007800082AB9@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 10:33:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
	<4FAB89C1.6040702@citrix.com>
In-Reply-To: <4FAB89C1.6040702@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86/irq: fix locking for c/s
 24707:96987c324a4f debugging code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 10.05.12 at 11:26, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 10/05/12 10:21, Jan Beulich wrote:
>> Without this, dump_irqs() may try to acquire the lock the caller is
>> currently holding.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> With the proviso that this is patch will disappear when all (3 so far)
> of these debugging patches disappear.

That must be the goal, sure.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 09:33:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:33:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPkY-000427-6C; Thu, 10 May 2012 09:33:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSPkW-00041u-1C
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:33:28 +0000
Received: from [85.158.138.51:33334] by server-12.bemta-3.messagelabs.com id
	80/35-29760-46B8BAF4; Thu, 10 May 2012 09:33:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336642403!19927937!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23613 invoked from network); 10 May 2012 09:33:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 09:33:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 10:33:23 +0100
Message-Id: <4FABA7980200007800082AB9@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 10:33:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FABA4A10200007800082A9B@nat28.tlf.novell.com>
	<4FAB89C1.6040702@citrix.com>
In-Reply-To: <4FAB89C1.6040702@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86/irq: fix locking for c/s
 24707:96987c324a4f debugging code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 10.05.12 at 11:26, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 10/05/12 10:21, Jan Beulich wrote:
>> Without this, dump_irqs() may try to acquire the lock the caller is
>> currently holding.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> With the proviso that this is patch will disappear when all (3 so far)
> of these debugging patches disappear.

That must be the goal, sure.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 09:44:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPua-0004BT-9I; Thu, 10 May 2012 09:43:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSPuZ-0004BO-2h
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 09:43:51 +0000
Received: from [193.109.254.147:30908] by server-9.bemta-14.messagelabs.com id
	5D/85-05787-6DD8BAF4; Thu, 10 May 2012 09:43:50 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336643027!1715251!1
X-Originating-IP: [209.85.212.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9427 invoked from network); 10 May 2012 09:43:48 -0000
Received: from mail-vb0-f43.google.com (HELO mail-vb0-f43.google.com)
	(209.85.212.43)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:43:48 -0000
Received: by vbbfq11 with SMTP id fq11so1691258vbb.30
	for <xen-devel@lists.xensource.com>;
	Thu, 10 May 2012 02:43:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=bHW1xk9b4nRJZn5baZ9bekilQ90bFk+otnDe4mWVv1g=;
	b=BFiEHb0HE9/V/LnYU+W2fTT0+hjSU9BKlIpKwSQq2LfLBh9499GBfa5IFAxeXvhdiK
	njETnJD0NUP+LbW9fTHx4cOVw2T7M6X4B/MpSckVZGjgG9zPW5k98A0/TkJVVVOrTPmE
	BLEL4jm5/izWk8DbgE0N+RXrqrh1RgDaxBpxD75cccLuhS2KlZntgaABa7d/rIYbsClS
	GV42Zeay0VkuHs5B5Wwx9gl+V4+cC0SZTkB5V0gEkVNv5/UsH6YfcS8UVf9XocUQYSgB
	hySgq/zclVest1RohugZl/d1v5BbNXySoe2lcEdGYh7ruAAvEk+KStC2LIOHoU6Erme2
	np5g==
Received: by 10.52.72.137 with SMTP id d9mr1656030vdv.122.1336643027062; Thu,
	10 May 2012 02:43:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:43:26 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:43:26 +0100
Message-ID: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
To: xen-devel@lists.xensource.com
Content-Type: multipart/mixed; boundary=bcaec5016301d1cef604bfab7425
Subject: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--bcaec5016301d1cef604bfab7425
Content-Type: text/plain; charset=ISO-8859-1

Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
The default behaviour remains the same (log into plain files)

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--bcaec5016301d1cef604bfab7425
Content-Type: text/x-patch; charset=US-ASCII; name="xenconsoled-syslog.patch"
Content-Disposition: attachment; filename="xenconsoled-syslog.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21mn1zq1

ZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgYi90b29scy9jb25zb2xlL2Rh
ZW1vbi9pby5jCmluZGV4IGI2ZDQxZGUuLmIxOGJlM2UgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbnNv
bGUvZGFlbW9uL2lvLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYwpAQCAtNzMsMTMg
KzczLDE0IEBAIHN0YXRpYyB4Y19ldnRjaG4gKnhjZV9oYW5kbGUgPSBOVUxMOwogc3RydWN0IGJ1
ZmZlciB7CiAJY2hhciAqZGF0YTsKIAlzaXplX3QgY29uc3VtZWQ7Ci0Jc2l6ZV90IHNpemU7Ci0J
c2l6ZV90IGNhcGFjaXR5OworCXNpemVfdCBzaXplOyAgICAgICAgIC8qIEFtb3VudCBvZiBkYXRh
IGN1cnJlbnRseSBpbiB0aGUgYnVmZmVyICovCisJc2l6ZV90IGNhcGFjaXR5OyAgICAgLyogQW1v
dW50IG9mIGFsbG9jYXRlZCBkYXRhIGZvciB0aGUgYnVmZmVyICovCiAJc2l6ZV90IG1heF9jYXBh
Y2l0eTsKIH07CiAKIHN0cnVjdCBkb21haW4gewogCWludCBkb21pZDsKKwljaGFyICpuYW1lOwog
CWludCBtYXN0ZXJfZmQ7CiAJaW50IHNsYXZlX2ZkOwogCWludCBsb2dfZmQ7CkBAIC0xNDcsNiAr
MTQ4LDcgQEAgc3RhdGljIGludCB3cml0ZV93aXRoX3RpbWVzdGFtcChpbnQgZmQsIGNvbnN0IGNo
YXIgKmRhdGEsIHNpemVfdCBzeiwKIHN0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGRv
bWFpbiAqZG9tKQogewogCXN0cnVjdCBidWZmZXIgKmJ1ZmZlciA9ICZkb20tPmJ1ZmZlcjsKKwlz
dHJ1Y3QgYnVmZmVyIHNsYnVmID0geyAwIH07CiAJWEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9k
LCBzaXplOwogCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9IGRvbS0+aW50ZXJmYWNl
OwogCkBAIC0xNTgsNyArMTYwLDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3Qg
ZG9tYWluICpkb20pCiAJaWYgKChzaXplID09IDApIHx8IChzaXplID4gc2l6ZW9mKGludGYtPm91
dCkpKQogCQlyZXR1cm47CiAKLQlpZiAoKGJ1ZmZlci0+Y2FwYWNpdHkgLSBidWZmZXItPnNpemUp
IDwgc2l6ZSkgeworCWlmICgoYnVmZmVyLT5jYXBhY2l0eSAtIGJ1ZmZlci0+c2l6ZSkgPCBzaXpl
ICsgMSkgewogCQlidWZmZXItPmNhcGFjaXR5ICs9IChzaXplICsgMTAyNCk7CiAJCWJ1ZmZlci0+
ZGF0YSA9IHJlYWxsb2MoYnVmZmVyLT5kYXRhLCBidWZmZXItPmNhcGFjaXR5KTsKIAkJaWYgKGJ1
ZmZlci0+ZGF0YSA9PSBOVUxMKSB7CkBAIC0xNjYsMTAgKzE2OCwzMSBAQCBzdGF0aWMgdm9pZCBi
dWZmZXJfYXBwZW5kKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJCWV4aXQoRU5PTUVNKTsKIAkJfQog
CX0KKwlzbGJ1Zi5jYXBhY2l0eSA9IGJ1ZmZlci0+Y2FwYWNpdHk7CisJc2xidWYubWF4X2NhcGFj
aXR5ID0gYnVmZmVyLT5tYXhfY2FwYWNpdHk7CisJc2xidWYuZGF0YSA9IG1hbGxvYyhzbGJ1Zi5j
YXBhY2l0eSk7CisJaWYgKCFzbGJ1Zi5kYXRhKSB7CisJCWRvbG9nKExPR19FUlIsICJNZW1vcnkg
YWxsb2NhdGlvbiBmYWlsZWQiKTsKKwkJZXhpdChFTk9NRU0pOworCX0KIAotCXdoaWxlIChjb25z
ICE9IHByb2QpCi0JCWJ1ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBpbnRmLT5vdXRbCi0J
CQlNQVNLX1hFTkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJZm9yICg7IGNvbnMgIT0g
cHJvZDsgKytjb25zKSB7CisJCWNoYXIgY2ggPSBpbnRmLT5vdXRbTUFTS19YRU5DT05TX0lEWChj
b25zLCBpbnRmLT5vdXQpXTsKKwkJc2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCWJ1
ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBjaDsKKwkJaWYgIChjaCA9PSAnXHInIHx8IGNo
ID09ICdcbicpIHsKKwkJCXNsYnVmLmRhdGFbc2xidWYuc2l6ZSAtIDFdID0gJ1wwJzsKKwkJCSsr
Y29uczsKKwkJCWlmIChjb25zICE9IHByb2QpIHsKKwkJCQljaCA9IGludGYtPm91dFtNQVNLX1hF
TkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJCQkJYnVmZmVyLT5kYXRhW2J1ZmZlci0+
c2l6ZSsrXSA9IGNoOworCQkJCWlmIChjaCAhPSAnXHInICYmIGNoICE9ICdcbicpIHsKKwkJCQkJ
c2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCQkJfQorCQkJfQorCQkJYnJlYWs7CisJ
CX0KKwl9CiAKIAl4ZW5fbWIoKTsKIAlpbnRmLT5vdXRfY29ucyA9IGNvbnM7CkBAIC0xOTYsNiAr
MjE5LDkgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpkb20pCiAJ
CQlkb2xvZyhMT0dfRVJSLCAiV3JpdGUgdG8gbG9nIGZhaWxlZCAiCiAJCQkgICAgICAib24gZG9t
YWluICVkOiAlZCAoJXMpXG4iLAogCQkJICAgICAgZG9tLT5kb21pZCwgZXJybm8sIHN0cmVycm9y
KGVycm5vKSk7CisJfSBlbHNlIHsKKwkJLyogRmFsbHMgYmFjayB0byBzeXNsb2cgaXMgdGhlIGRv
bWFpbiBkb2Vzbid0IGhhdmUgYSBsb2cgZmlsZSAqLworCQlzeXNsb2coTE9HX0lORk8sICIlcyAo
JWkpOiAlcyIsIGRvbS0+bmFtZSwgZG9tLT5kb21pZCwgc2xidWYuZGF0YSk7CiAJfQogCiAJaWYg
KGRpc2NhcmRfb3ZlcmZsb3dlZF9kYXRhICYmIGJ1ZmZlci0+bWF4X2NhcGFjaXR5ICYmCkBAIC0y
MTksNiArMjQ1LDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpk
b20pCiAJCQlidWZmZXItPnNpemUgPSBidWZmZXItPm1heF9jYXBhY2l0eSAvIDIgKyBvdmVyOwog
CQl9CiAJfQorCWZyZWUoc2xidWYuZGF0YSk7CiB9CiAKIHN0YXRpYyBib29sIGJ1ZmZlcl9lbXB0
eShzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCkBAIC0yNTUsNiArMjgyLDEwIEBAIHN0YXRpYyBpbnQg
Y3JlYXRlX2h2X2xvZyh2b2lkKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07CiAJaW50IGZk
OworCisJaWYgKCFsb2dfZGlyKQorCQlyZXR1cm4gLTE7CisKIAlzbnByaW50Zihsb2dmaWxlLCBQ
QVRIX01BWC0xLCAiJXMvaHlwZXJ2aXNvci5sb2ciLCBsb2dfZGlyKTsKIAlsb2dmaWxlW1BBVEhf
TUFYLTFdID0gJ1wwJzsKIApAQCAtMjc1LDMyICszMDYsNTYgQEAgc3RhdGljIGludCBjcmVhdGVf
aHZfbG9nKHZvaWQpCiAJcmV0dXJuIGZkOwogfQogCitzdGF0aWMgY2hhciAqc2FmZV94c19yZWFk
KGNvbnN0IGNoYXIgKmtleSwgaW50IHRyaWVzKQoreworCWNoYXIgKmRhdGEgPSBOVUxMOworCXVu
c2lnbmVkIGludCBsZW47CisJc3RydWN0IHRpbWVzcGVjIHJlcSA9IHsgLnR2X3NlYyA9IDAsIC50
dl9uc2VjID0gMTAwMDAwMDAwIH07IC8qIDEwMCBtcyAqLworCWludCBpOworCisJZm9yIChpID0g
MDsgaSA8IHRyaWVzOyBpKyspIHsKKwkJZGF0YSA9IHhzX3JlYWQoeHMsIFhCVF9OVUxMLCBrZXks
ICZsZW4pOworCQlpZiAoZGF0YSAmJiBsZW4gPiAwKQorCQkJYnJlYWs7CisJCWZyZWUoZGF0YSk7
CisJCW5hbm9zbGVlcCgmcmVxLCBOVUxMKTsKKwl9CisJcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRp
YyBjaGFyICpuYW1lX2Zyb21fZG9tcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgbmFt
ZXBhdGhbNjRdID0geyAwIH0sICpuYW1lOworCXN0cm5jYXQoIG5hbWVwYXRoLCBwYXRoICwgc2l6
ZW9mKG5hbWVwYXRoKSApOworCXN0cm5jYXQoIG5hbWVwYXRoLCAiL25hbWUiLCBzaXplb2YobmFt
ZXBhdGgpIC0gc3RybGVuKG5hbWVwYXRoKSApOworCisJbmFtZSA9IHNhZmVfeHNfcmVhZChuYW1l
cGF0aCwgMSk7CisJLyogd2l0aG91dCBhbnkgbmFtZSBhZnRlciAxMDAgdHJpZXMsIGp1c3QgZGVm
YXVsdCB0byB1bm5hbWVkICovCisJaWYgKCFuYW1lKQorCQluYW1lID0gc3RyZHVwKCJ1bm5hbWVk
Iik7CisJcmV0dXJuIG5hbWU7Cit9CisKIHN0YXRpYyBpbnQgY3JlYXRlX2RvbWFpbl9sb2coc3Ry
dWN0IGRvbWFpbiAqZG9tKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07Ci0JY2hhciAqbmFt
ZXBhdGgsICpkYXRhLCAqczsKKwljaGFyICpuYW1lcGF0aDsKIAlpbnQgZmQ7Ci0JdW5zaWduZWQg
aW50IGxlbjsKIAogCW5hbWVwYXRoID0geHNfZ2V0X2RvbWFpbl9wYXRoKHhzLCBkb20tPmRvbWlk
KTsKLQlzID0gcmVhbGxvYyhuYW1lcGF0aCwgc3RybGVuKG5hbWVwYXRoKSArIDYpOwotCWlmIChz
ID09IE5VTEwpIHsKKwlpZiAobmFtZXBhdGggPT0gTlVMTCkgewogCQlmcmVlKG5hbWVwYXRoKTsK
IAkJcmV0dXJuIC0xOwogCX0KLQluYW1lcGF0aCA9IHM7Ci0Jc3RyY2F0KG5hbWVwYXRoLCAiL25h
bWUiKTsKLQlkYXRhID0geHNfcmVhZCh4cywgWEJUX05VTEwsIG5hbWVwYXRoLCAmbGVuKTsKKwlk
b20tPm5hbWUgPSBuYW1lX2Zyb21fZG9tcGF0aChuYW1lcGF0aCk7CiAJZnJlZShuYW1lcGF0aCk7
Ci0JaWYgKCFkYXRhKQorCWlmICghZG9tLT5uYW1lKSB7CiAJCXJldHVybiAtMTsKLQlpZiAoIWxl
bikgewotCQlmcmVlKGRhdGEpOworCX0KKwlpZiAoIWxvZ19kaXIpIHsKIAkJcmV0dXJuIC0xOwog
CX0KLQotCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFYLTEsICIlcy9ndWVzdC0lcy5sb2ciLCBs
b2dfZGlyLCBkYXRhKTsKLQlmcmVlKGRhdGEpOworCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFY
IC0gMSwgIiVzLyVzLmxvZyIsIGxvZ19kaXIsIGRvbS0+bmFtZSk7CiAJbG9nZmlsZVtQQVRIX01B
WC0xXSA9ICdcMCc7CiAKIAlmZCA9IG9wZW4obG9nZmlsZSwgT19XUk9OTFl8T19DUkVBVHxPX0FQ
UEVORCwgMDY0NCk7CkBAIC02NTYsNiArNzExLDcgQEAgc3RhdGljIHN0cnVjdCBkb21haW4gKmNy
ZWF0ZV9kb21haW4oaW50IGRvbWlkKQogCWRvbS0+cmVtb3RlX3BvcnQgPSAtMTsKIAlkb20tPmlu
dGVyZmFjZSA9IE5VTEw7CiAJZG9tLT54Y2VfaGFuZGxlID0gTlVMTDsKKwlkb20tPm5hbWUgPSBO
VUxMOwogCiAJaWYgKCF3YXRjaF9kb21haW4oZG9tLCB0cnVlKSkKIAkJZ290byBvdXQ7CkBAIC03
MTIsNiArNzY4LDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBfZG9tYWluKHN0cnVjdCBkb21haW4g
KmQpCiAJZnJlZShkLT5jb25zcGF0aCk7CiAJZC0+Y29uc3BhdGggPSBOVUxMOwogCisgICAgICAg
IGlmIChkLT5uYW1lKSB7CisJICAgIGZyZWUoZC0+bmFtZSk7CisJICAgIGQtPm5hbWUgPSBOVUxM
OworICAgICAgICB9CisKIAlyZW1vdmVfZG9tYWluKGQpOwogfQogCkBAIC04NzgsNyArOTM5LDEw
IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV94cyh2b2lkKQogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHZf
bG9ncyh2b2lkKQogewotCWNoYXIgYnVmZmVyWzEwMjQqMTZdOworCWNoYXIgYnVmZmVyWzEwMjQq
MTYgKyAxXTsKKwlzdGF0aWMgY2hhciBsYnVmWzEwMjQqMTYgKyAxXTsKKwlzdGF0aWMgaW50IGxv
ZmYgPSAwOworCWludCBpID0gMDsKIAljaGFyICpidWZwdHIgPSBidWZmZXI7CiAJdW5zaWduZWQg
aW50IHNpemUgPSBzaXplb2YoYnVmZmVyKTsKIAlzdGF0aWMgdWludDMyX3QgaW5kZXggPSAwOwpA
QCAtODg4LDE3ICs5NTIsMzYgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2h2X2xvZ3Modm9pZCkKIAkJ
cmV0dXJuOwogCiAJaWYgKHhjX3JlYWRjb25zb2xlcmluZyh4Y2gsIGJ1ZnB0ciwgJnNpemUsIDAs
IDEsICZpbmRleCkgPT0gMCAmJiBzaXplID4gMCkgewotCQlpbnQgbG9ncmV0OwotCQlpZiAobG9n
X3RpbWVfaHYpCi0JCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKLQkJCQkJCSAgICAgICZsb2dfdGltZV9odl9uZWVkdHMpOwotCQllbHNlCi0J
CQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOwotCi0JCWlmIChs
b2dyZXQgPCAwKQotCQkJZG9sb2coTE9HX0VSUiwgIkZhaWxlZCB0byB3cml0ZSBoeXBlcnZpc29y
IGxvZzogIgotCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwot
CX0KKwkJaWYgKGxvZ19odl9mZCAhPSAtMSkgeworCQkJaW50IGxvZ3JldDsKKwkJCWlmIChsb2df
dGltZV9odikKKwkJCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKKwkJCQkJCQkgICAgICAmbG9nX3RpbWVfaHZfbmVlZHRzKTsKKwkJCWVsc2UK
KwkJCQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOworCisJCQlp
ZiAobG9ncmV0IDwgMCkKKwkJCQlkb2xvZyhMT0dfRVJSLCAiRmFpbGVkIHRvIHdyaXRlIGh5cGVy
dmlzb3IgbG9nOiAiCisJCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJu
bykpOworCQl9IGVsc2UgeworCQkJd2hpbGUgKGkgPCBzaXplKSB7CisJCQkJd2hpbGUgKChpIDwg
c2l6ZSkgJiYKKwkJCQkgICAgICAgKGJ1ZmZlcltpXSAhPSAnXG4nKSAmJiAoYnVmZmVyW2ldICE9
ICdccicpKSB7CisJCQkJCWxidWZbbG9mZisrXSA9IGJ1ZmZlcltpKytdOworCQkJCX0KKwkJCQlp
ZiAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSB7CisJCQkJCWxi
dWZbbG9mZl0gPSAnXDAnOworCQkJCQkrK2k7CisJCQkJCWlmICgoaSA8IHNpemUpICYmCisJCQkJ
CSAgICAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSkgeworCQkJ
CQkJKytpOworCQkJCQl9CisJCQkJCXN5c2xvZyhMT0dfSU5GTywgImh5cGVydmlzb3I6ICVzIiwg
bGJ1Zik7CisJCQkJCWxvZmYgPSAwOworCQkJCX0KKwkJCX0KKwkJfQorICAgICAgICB9CiAKIAko
dm9pZCl4Y19ldnRjaG5fdW5tYXNrKHhjZV9oYW5kbGUsIHBvcnQpOwogfQpAQCAtOTQwLDggKzEw
MjMsNiBAQCB2b2lkIGhhbmRsZV9pbyh2b2lkKQogCQkJZ290byBvdXQ7CiAJCX0KIAkJbG9nX2h2
X2ZkID0gY3JlYXRlX2h2X2xvZygpOwotCQlpZiAobG9nX2h2X2ZkID09IC0xKQotCQkJZ290byBv
dXQ7CiAJCWxvZ19odl9ldnRjaG4gPSB4Y19ldnRjaG5fYmluZF92aXJxKHhjZV9oYW5kbGUsIFZJ
UlFfQ09OX1JJTkcpOwogCQlpZiAobG9nX2h2X2V2dGNobiA9PSAtMSkgewogCQkJZG9sb2coTE9H
X0VSUiwgIkZhaWxlZCB0byBiaW5kIHRvIFZJUlFfQ09OX1JJTkc6ICIKZGlmZiAtLWdpdCBhL3Rv
b2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYwpp
bmRleCA3ODliYWE2Li45MTljODZlIDEwMDY0NAotLS0gYS90b29scy9jb25zb2xlL2RhZW1vbi9t
YWluLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vbWFpbi5jCkBAIC0zOSw2ICszOSw3IEBA
IGludCBsb2dfdGltZV9odiA9IDA7CiBpbnQgbG9nX3RpbWVfZ3Vlc3QgPSAwOwogY2hhciAqbG9n
X2RpciA9IE5VTEw7CiBpbnQgZGlzY2FyZF9vdmVyZmxvd2VkX2RhdGEgPSAxOworaW50IHVzZV9z
eXNsb2cgPSAwOwogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHVwKGludCBzaWcpCiB7CkBAIC00Nyw3
ICs0OCw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9odXAoaW50IHNpZykKIAogc3RhdGljIHZvaWQg
dXNhZ2UoY2hhciAqbmFtZSkKIHsKLQlwcmludGYoIlVzYWdlOiAlcyBbLWhdIFstVl0gWy12XSBb
LWldIFstLWxvZz1ub25lfGd1ZXN0fGh2fGFsbF0gWy0tbG9nLWRpcj1ESVJdIFstLXBpZC1maWxl
PVBBVEhdIFstdCwgLS10aW1lc3RhbXA9bm9uZXxndWVzdHxodnxhbGxdIFstbywgLS1vdmVyZmxv
dy1kYXRhPWRpc2NhcmR8a2VlcF1cbiIsIG5hbWUpOworCXByaW50ZigiVXNhZ2U6ICVzIFstaF0g
Wy1WXSBbLXZdIFstaV0gWy0tbG9nPW5vbmV8Z3Vlc3R8aHZ8YWxsXSBbLS1zeXNsb2ddIFstLWxv
Zy1kaXI9RElSXSBbLS1waWQtZmlsZT1QQVRIXSBbLXQsIC0tdGltZXN0YW1wPW5vbmV8Z3Vlc3R8
aHZ8YWxsXSBbLW8sIC0tb3ZlcmZsb3ctZGF0YT1kaXNjYXJkfGtlZXBdXG4iLCBuYW1lKTsKIH0K
IAogc3RhdGljIHZvaWQgdmVyc2lvbihjaGFyICpuYW1lKQpAQCAtNjgsNiArNjksNyBAQCBpbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCXsgInBpZC1maWxlIiwgMSwgMCwgJ3AnIH0s
CiAJCXsgInRpbWVzdGFtcCIsIDEsIDAsICd0JyB9LAogCQl7ICJvdmVyZmxvdy1kYXRhIiwgMSwg
MCwgJ28nfSwKKwkJeyAic3lzbG9nIiwgMCwgMCwgJ3MnIH0sCiAJCXsgMCB9LAogCX07CiAJYm9v
bCBpc19pbnRlcmFjdGl2ZSA9IGZhbHNlOwpAQCAtMTA2LDYgKzEwOCw5IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICoqYXJndikKIAkJCSAgICAgIGxvZ19ndWVzdCA9IDE7CiAJCQl9CiAJCQli
cmVhazsKKwkJY2FzZSAncyc6CisJCQl1c2Vfc3lzbG9nID0gMTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogCQljYXNlICdyJzoKIAkJICAgICAgICBsb2dfZGlyID0gc3RyZHVwKG9w
dGFyZyk7CiAJCQlicmVhazsKQEAgLTE0MCw3ICsxNDUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhciAqKmFyZ3YpCiAJCX0KIAl9CiAKLQlpZiAoIWxvZ19kaXIpIHsKKwlpZiAoIWxvZ19kaXIg
JiYgIXVzZV9zeXNsb2cpIHsKIAkJbG9nX2RpciA9IHN0cmR1cCgiL3Zhci9sb2cveGVuL2NvbnNv
bGUiKTsKIAl9CiAK
--bcaec5016301d1cef604bfab7425
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--bcaec5016301d1cef604bfab7425--


From xen-devel-bounces@lists.xen.org Thu May 10 09:44:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSPua-0004BT-9I; Thu, 10 May 2012 09:43:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSPuZ-0004BO-2h
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 09:43:51 +0000
Received: from [193.109.254.147:30908] by server-9.bemta-14.messagelabs.com id
	5D/85-05787-6DD8BAF4; Thu, 10 May 2012 09:43:50 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336643027!1715251!1
X-Originating-IP: [209.85.212.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9427 invoked from network); 10 May 2012 09:43:48 -0000
Received: from mail-vb0-f43.google.com (HELO mail-vb0-f43.google.com)
	(209.85.212.43)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:43:48 -0000
Received: by vbbfq11 with SMTP id fq11so1691258vbb.30
	for <xen-devel@lists.xensource.com>;
	Thu, 10 May 2012 02:43:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=bHW1xk9b4nRJZn5baZ9bekilQ90bFk+otnDe4mWVv1g=;
	b=BFiEHb0HE9/V/LnYU+W2fTT0+hjSU9BKlIpKwSQq2LfLBh9499GBfa5IFAxeXvhdiK
	njETnJD0NUP+LbW9fTHx4cOVw2T7M6X4B/MpSckVZGjgG9zPW5k98A0/TkJVVVOrTPmE
	BLEL4jm5/izWk8DbgE0N+RXrqrh1RgDaxBpxD75cccLuhS2KlZntgaABa7d/rIYbsClS
	GV42Zeay0VkuHs5B5Wwx9gl+V4+cC0SZTkB5V0gEkVNv5/UsH6YfcS8UVf9XocUQYSgB
	hySgq/zclVest1RohugZl/d1v5BbNXySoe2lcEdGYh7ruAAvEk+KStC2LIOHoU6Erme2
	np5g==
Received: by 10.52.72.137 with SMTP id d9mr1656030vdv.122.1336643027062; Thu,
	10 May 2012 02:43:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:43:26 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:43:26 +0100
Message-ID: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
To: xen-devel@lists.xensource.com
Content-Type: multipart/mixed; boundary=bcaec5016301d1cef604bfab7425
Subject: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--bcaec5016301d1cef604bfab7425
Content-Type: text/plain; charset=ISO-8859-1

Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
The default behaviour remains the same (log into plain files)

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--bcaec5016301d1cef604bfab7425
Content-Type: text/x-patch; charset=US-ASCII; name="xenconsoled-syslog.patch"
Content-Disposition: attachment; filename="xenconsoled-syslog.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21mn1zq1

ZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgYi90b29scy9jb25zb2xlL2Rh
ZW1vbi9pby5jCmluZGV4IGI2ZDQxZGUuLmIxOGJlM2UgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbnNv
bGUvZGFlbW9uL2lvLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYwpAQCAtNzMsMTMg
KzczLDE0IEBAIHN0YXRpYyB4Y19ldnRjaG4gKnhjZV9oYW5kbGUgPSBOVUxMOwogc3RydWN0IGJ1
ZmZlciB7CiAJY2hhciAqZGF0YTsKIAlzaXplX3QgY29uc3VtZWQ7Ci0Jc2l6ZV90IHNpemU7Ci0J
c2l6ZV90IGNhcGFjaXR5OworCXNpemVfdCBzaXplOyAgICAgICAgIC8qIEFtb3VudCBvZiBkYXRh
IGN1cnJlbnRseSBpbiB0aGUgYnVmZmVyICovCisJc2l6ZV90IGNhcGFjaXR5OyAgICAgLyogQW1v
dW50IG9mIGFsbG9jYXRlZCBkYXRhIGZvciB0aGUgYnVmZmVyICovCiAJc2l6ZV90IG1heF9jYXBh
Y2l0eTsKIH07CiAKIHN0cnVjdCBkb21haW4gewogCWludCBkb21pZDsKKwljaGFyICpuYW1lOwog
CWludCBtYXN0ZXJfZmQ7CiAJaW50IHNsYXZlX2ZkOwogCWludCBsb2dfZmQ7CkBAIC0xNDcsNiAr
MTQ4LDcgQEAgc3RhdGljIGludCB3cml0ZV93aXRoX3RpbWVzdGFtcChpbnQgZmQsIGNvbnN0IGNo
YXIgKmRhdGEsIHNpemVfdCBzeiwKIHN0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGRv
bWFpbiAqZG9tKQogewogCXN0cnVjdCBidWZmZXIgKmJ1ZmZlciA9ICZkb20tPmJ1ZmZlcjsKKwlz
dHJ1Y3QgYnVmZmVyIHNsYnVmID0geyAwIH07CiAJWEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9k
LCBzaXplOwogCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9IGRvbS0+aW50ZXJmYWNl
OwogCkBAIC0xNTgsNyArMTYwLDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3Qg
ZG9tYWluICpkb20pCiAJaWYgKChzaXplID09IDApIHx8IChzaXplID4gc2l6ZW9mKGludGYtPm91
dCkpKQogCQlyZXR1cm47CiAKLQlpZiAoKGJ1ZmZlci0+Y2FwYWNpdHkgLSBidWZmZXItPnNpemUp
IDwgc2l6ZSkgeworCWlmICgoYnVmZmVyLT5jYXBhY2l0eSAtIGJ1ZmZlci0+c2l6ZSkgPCBzaXpl
ICsgMSkgewogCQlidWZmZXItPmNhcGFjaXR5ICs9IChzaXplICsgMTAyNCk7CiAJCWJ1ZmZlci0+
ZGF0YSA9IHJlYWxsb2MoYnVmZmVyLT5kYXRhLCBidWZmZXItPmNhcGFjaXR5KTsKIAkJaWYgKGJ1
ZmZlci0+ZGF0YSA9PSBOVUxMKSB7CkBAIC0xNjYsMTAgKzE2OCwzMSBAQCBzdGF0aWMgdm9pZCBi
dWZmZXJfYXBwZW5kKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJCWV4aXQoRU5PTUVNKTsKIAkJfQog
CX0KKwlzbGJ1Zi5jYXBhY2l0eSA9IGJ1ZmZlci0+Y2FwYWNpdHk7CisJc2xidWYubWF4X2NhcGFj
aXR5ID0gYnVmZmVyLT5tYXhfY2FwYWNpdHk7CisJc2xidWYuZGF0YSA9IG1hbGxvYyhzbGJ1Zi5j
YXBhY2l0eSk7CisJaWYgKCFzbGJ1Zi5kYXRhKSB7CisJCWRvbG9nKExPR19FUlIsICJNZW1vcnkg
YWxsb2NhdGlvbiBmYWlsZWQiKTsKKwkJZXhpdChFTk9NRU0pOworCX0KIAotCXdoaWxlIChjb25z
ICE9IHByb2QpCi0JCWJ1ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBpbnRmLT5vdXRbCi0J
CQlNQVNLX1hFTkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJZm9yICg7IGNvbnMgIT0g
cHJvZDsgKytjb25zKSB7CisJCWNoYXIgY2ggPSBpbnRmLT5vdXRbTUFTS19YRU5DT05TX0lEWChj
b25zLCBpbnRmLT5vdXQpXTsKKwkJc2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCWJ1
ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBjaDsKKwkJaWYgIChjaCA9PSAnXHInIHx8IGNo
ID09ICdcbicpIHsKKwkJCXNsYnVmLmRhdGFbc2xidWYuc2l6ZSAtIDFdID0gJ1wwJzsKKwkJCSsr
Y29uczsKKwkJCWlmIChjb25zICE9IHByb2QpIHsKKwkJCQljaCA9IGludGYtPm91dFtNQVNLX1hF
TkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJCQkJYnVmZmVyLT5kYXRhW2J1ZmZlci0+
c2l6ZSsrXSA9IGNoOworCQkJCWlmIChjaCAhPSAnXHInICYmIGNoICE9ICdcbicpIHsKKwkJCQkJ
c2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCQkJfQorCQkJfQorCQkJYnJlYWs7CisJ
CX0KKwl9CiAKIAl4ZW5fbWIoKTsKIAlpbnRmLT5vdXRfY29ucyA9IGNvbnM7CkBAIC0xOTYsNiAr
MjE5LDkgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpkb20pCiAJ
CQlkb2xvZyhMT0dfRVJSLCAiV3JpdGUgdG8gbG9nIGZhaWxlZCAiCiAJCQkgICAgICAib24gZG9t
YWluICVkOiAlZCAoJXMpXG4iLAogCQkJICAgICAgZG9tLT5kb21pZCwgZXJybm8sIHN0cmVycm9y
KGVycm5vKSk7CisJfSBlbHNlIHsKKwkJLyogRmFsbHMgYmFjayB0byBzeXNsb2cgaXMgdGhlIGRv
bWFpbiBkb2Vzbid0IGhhdmUgYSBsb2cgZmlsZSAqLworCQlzeXNsb2coTE9HX0lORk8sICIlcyAo
JWkpOiAlcyIsIGRvbS0+bmFtZSwgZG9tLT5kb21pZCwgc2xidWYuZGF0YSk7CiAJfQogCiAJaWYg
KGRpc2NhcmRfb3ZlcmZsb3dlZF9kYXRhICYmIGJ1ZmZlci0+bWF4X2NhcGFjaXR5ICYmCkBAIC0y
MTksNiArMjQ1LDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpk
b20pCiAJCQlidWZmZXItPnNpemUgPSBidWZmZXItPm1heF9jYXBhY2l0eSAvIDIgKyBvdmVyOwog
CQl9CiAJfQorCWZyZWUoc2xidWYuZGF0YSk7CiB9CiAKIHN0YXRpYyBib29sIGJ1ZmZlcl9lbXB0
eShzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCkBAIC0yNTUsNiArMjgyLDEwIEBAIHN0YXRpYyBpbnQg
Y3JlYXRlX2h2X2xvZyh2b2lkKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07CiAJaW50IGZk
OworCisJaWYgKCFsb2dfZGlyKQorCQlyZXR1cm4gLTE7CisKIAlzbnByaW50Zihsb2dmaWxlLCBQ
QVRIX01BWC0xLCAiJXMvaHlwZXJ2aXNvci5sb2ciLCBsb2dfZGlyKTsKIAlsb2dmaWxlW1BBVEhf
TUFYLTFdID0gJ1wwJzsKIApAQCAtMjc1LDMyICszMDYsNTYgQEAgc3RhdGljIGludCBjcmVhdGVf
aHZfbG9nKHZvaWQpCiAJcmV0dXJuIGZkOwogfQogCitzdGF0aWMgY2hhciAqc2FmZV94c19yZWFk
KGNvbnN0IGNoYXIgKmtleSwgaW50IHRyaWVzKQoreworCWNoYXIgKmRhdGEgPSBOVUxMOworCXVu
c2lnbmVkIGludCBsZW47CisJc3RydWN0IHRpbWVzcGVjIHJlcSA9IHsgLnR2X3NlYyA9IDAsIC50
dl9uc2VjID0gMTAwMDAwMDAwIH07IC8qIDEwMCBtcyAqLworCWludCBpOworCisJZm9yIChpID0g
MDsgaSA8IHRyaWVzOyBpKyspIHsKKwkJZGF0YSA9IHhzX3JlYWQoeHMsIFhCVF9OVUxMLCBrZXks
ICZsZW4pOworCQlpZiAoZGF0YSAmJiBsZW4gPiAwKQorCQkJYnJlYWs7CisJCWZyZWUoZGF0YSk7
CisJCW5hbm9zbGVlcCgmcmVxLCBOVUxMKTsKKwl9CisJcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRp
YyBjaGFyICpuYW1lX2Zyb21fZG9tcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgbmFt
ZXBhdGhbNjRdID0geyAwIH0sICpuYW1lOworCXN0cm5jYXQoIG5hbWVwYXRoLCBwYXRoICwgc2l6
ZW9mKG5hbWVwYXRoKSApOworCXN0cm5jYXQoIG5hbWVwYXRoLCAiL25hbWUiLCBzaXplb2YobmFt
ZXBhdGgpIC0gc3RybGVuKG5hbWVwYXRoKSApOworCisJbmFtZSA9IHNhZmVfeHNfcmVhZChuYW1l
cGF0aCwgMSk7CisJLyogd2l0aG91dCBhbnkgbmFtZSBhZnRlciAxMDAgdHJpZXMsIGp1c3QgZGVm
YXVsdCB0byB1bm5hbWVkICovCisJaWYgKCFuYW1lKQorCQluYW1lID0gc3RyZHVwKCJ1bm5hbWVk
Iik7CisJcmV0dXJuIG5hbWU7Cit9CisKIHN0YXRpYyBpbnQgY3JlYXRlX2RvbWFpbl9sb2coc3Ry
dWN0IGRvbWFpbiAqZG9tKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07Ci0JY2hhciAqbmFt
ZXBhdGgsICpkYXRhLCAqczsKKwljaGFyICpuYW1lcGF0aDsKIAlpbnQgZmQ7Ci0JdW5zaWduZWQg
aW50IGxlbjsKIAogCW5hbWVwYXRoID0geHNfZ2V0X2RvbWFpbl9wYXRoKHhzLCBkb20tPmRvbWlk
KTsKLQlzID0gcmVhbGxvYyhuYW1lcGF0aCwgc3RybGVuKG5hbWVwYXRoKSArIDYpOwotCWlmIChz
ID09IE5VTEwpIHsKKwlpZiAobmFtZXBhdGggPT0gTlVMTCkgewogCQlmcmVlKG5hbWVwYXRoKTsK
IAkJcmV0dXJuIC0xOwogCX0KLQluYW1lcGF0aCA9IHM7Ci0Jc3RyY2F0KG5hbWVwYXRoLCAiL25h
bWUiKTsKLQlkYXRhID0geHNfcmVhZCh4cywgWEJUX05VTEwsIG5hbWVwYXRoLCAmbGVuKTsKKwlk
b20tPm5hbWUgPSBuYW1lX2Zyb21fZG9tcGF0aChuYW1lcGF0aCk7CiAJZnJlZShuYW1lcGF0aCk7
Ci0JaWYgKCFkYXRhKQorCWlmICghZG9tLT5uYW1lKSB7CiAJCXJldHVybiAtMTsKLQlpZiAoIWxl
bikgewotCQlmcmVlKGRhdGEpOworCX0KKwlpZiAoIWxvZ19kaXIpIHsKIAkJcmV0dXJuIC0xOwog
CX0KLQotCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFYLTEsICIlcy9ndWVzdC0lcy5sb2ciLCBs
b2dfZGlyLCBkYXRhKTsKLQlmcmVlKGRhdGEpOworCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFY
IC0gMSwgIiVzLyVzLmxvZyIsIGxvZ19kaXIsIGRvbS0+bmFtZSk7CiAJbG9nZmlsZVtQQVRIX01B
WC0xXSA9ICdcMCc7CiAKIAlmZCA9IG9wZW4obG9nZmlsZSwgT19XUk9OTFl8T19DUkVBVHxPX0FQ
UEVORCwgMDY0NCk7CkBAIC02NTYsNiArNzExLDcgQEAgc3RhdGljIHN0cnVjdCBkb21haW4gKmNy
ZWF0ZV9kb21haW4oaW50IGRvbWlkKQogCWRvbS0+cmVtb3RlX3BvcnQgPSAtMTsKIAlkb20tPmlu
dGVyZmFjZSA9IE5VTEw7CiAJZG9tLT54Y2VfaGFuZGxlID0gTlVMTDsKKwlkb20tPm5hbWUgPSBO
VUxMOwogCiAJaWYgKCF3YXRjaF9kb21haW4oZG9tLCB0cnVlKSkKIAkJZ290byBvdXQ7CkBAIC03
MTIsNiArNzY4LDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBfZG9tYWluKHN0cnVjdCBkb21haW4g
KmQpCiAJZnJlZShkLT5jb25zcGF0aCk7CiAJZC0+Y29uc3BhdGggPSBOVUxMOwogCisgICAgICAg
IGlmIChkLT5uYW1lKSB7CisJICAgIGZyZWUoZC0+bmFtZSk7CisJICAgIGQtPm5hbWUgPSBOVUxM
OworICAgICAgICB9CisKIAlyZW1vdmVfZG9tYWluKGQpOwogfQogCkBAIC04NzgsNyArOTM5LDEw
IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV94cyh2b2lkKQogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHZf
bG9ncyh2b2lkKQogewotCWNoYXIgYnVmZmVyWzEwMjQqMTZdOworCWNoYXIgYnVmZmVyWzEwMjQq
MTYgKyAxXTsKKwlzdGF0aWMgY2hhciBsYnVmWzEwMjQqMTYgKyAxXTsKKwlzdGF0aWMgaW50IGxv
ZmYgPSAwOworCWludCBpID0gMDsKIAljaGFyICpidWZwdHIgPSBidWZmZXI7CiAJdW5zaWduZWQg
aW50IHNpemUgPSBzaXplb2YoYnVmZmVyKTsKIAlzdGF0aWMgdWludDMyX3QgaW5kZXggPSAwOwpA
QCAtODg4LDE3ICs5NTIsMzYgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2h2X2xvZ3Modm9pZCkKIAkJ
cmV0dXJuOwogCiAJaWYgKHhjX3JlYWRjb25zb2xlcmluZyh4Y2gsIGJ1ZnB0ciwgJnNpemUsIDAs
IDEsICZpbmRleCkgPT0gMCAmJiBzaXplID4gMCkgewotCQlpbnQgbG9ncmV0OwotCQlpZiAobG9n
X3RpbWVfaHYpCi0JCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKLQkJCQkJCSAgICAgICZsb2dfdGltZV9odl9uZWVkdHMpOwotCQllbHNlCi0J
CQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOwotCi0JCWlmIChs
b2dyZXQgPCAwKQotCQkJZG9sb2coTE9HX0VSUiwgIkZhaWxlZCB0byB3cml0ZSBoeXBlcnZpc29y
IGxvZzogIgotCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwot
CX0KKwkJaWYgKGxvZ19odl9mZCAhPSAtMSkgeworCQkJaW50IGxvZ3JldDsKKwkJCWlmIChsb2df
dGltZV9odikKKwkJCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKKwkJCQkJCQkgICAgICAmbG9nX3RpbWVfaHZfbmVlZHRzKTsKKwkJCWVsc2UK
KwkJCQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOworCisJCQlp
ZiAobG9ncmV0IDwgMCkKKwkJCQlkb2xvZyhMT0dfRVJSLCAiRmFpbGVkIHRvIHdyaXRlIGh5cGVy
dmlzb3IgbG9nOiAiCisJCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJu
bykpOworCQl9IGVsc2UgeworCQkJd2hpbGUgKGkgPCBzaXplKSB7CisJCQkJd2hpbGUgKChpIDwg
c2l6ZSkgJiYKKwkJCQkgICAgICAgKGJ1ZmZlcltpXSAhPSAnXG4nKSAmJiAoYnVmZmVyW2ldICE9
ICdccicpKSB7CisJCQkJCWxidWZbbG9mZisrXSA9IGJ1ZmZlcltpKytdOworCQkJCX0KKwkJCQlp
ZiAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSB7CisJCQkJCWxi
dWZbbG9mZl0gPSAnXDAnOworCQkJCQkrK2k7CisJCQkJCWlmICgoaSA8IHNpemUpICYmCisJCQkJ
CSAgICAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSkgeworCQkJ
CQkJKytpOworCQkJCQl9CisJCQkJCXN5c2xvZyhMT0dfSU5GTywgImh5cGVydmlzb3I6ICVzIiwg
bGJ1Zik7CisJCQkJCWxvZmYgPSAwOworCQkJCX0KKwkJCX0KKwkJfQorICAgICAgICB9CiAKIAko
dm9pZCl4Y19ldnRjaG5fdW5tYXNrKHhjZV9oYW5kbGUsIHBvcnQpOwogfQpAQCAtOTQwLDggKzEw
MjMsNiBAQCB2b2lkIGhhbmRsZV9pbyh2b2lkKQogCQkJZ290byBvdXQ7CiAJCX0KIAkJbG9nX2h2
X2ZkID0gY3JlYXRlX2h2X2xvZygpOwotCQlpZiAobG9nX2h2X2ZkID09IC0xKQotCQkJZ290byBv
dXQ7CiAJCWxvZ19odl9ldnRjaG4gPSB4Y19ldnRjaG5fYmluZF92aXJxKHhjZV9oYW5kbGUsIFZJ
UlFfQ09OX1JJTkcpOwogCQlpZiAobG9nX2h2X2V2dGNobiA9PSAtMSkgewogCQkJZG9sb2coTE9H
X0VSUiwgIkZhaWxlZCB0byBiaW5kIHRvIFZJUlFfQ09OX1JJTkc6ICIKZGlmZiAtLWdpdCBhL3Rv
b2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYwpp
bmRleCA3ODliYWE2Li45MTljODZlIDEwMDY0NAotLS0gYS90b29scy9jb25zb2xlL2RhZW1vbi9t
YWluLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vbWFpbi5jCkBAIC0zOSw2ICszOSw3IEBA
IGludCBsb2dfdGltZV9odiA9IDA7CiBpbnQgbG9nX3RpbWVfZ3Vlc3QgPSAwOwogY2hhciAqbG9n
X2RpciA9IE5VTEw7CiBpbnQgZGlzY2FyZF9vdmVyZmxvd2VkX2RhdGEgPSAxOworaW50IHVzZV9z
eXNsb2cgPSAwOwogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHVwKGludCBzaWcpCiB7CkBAIC00Nyw3
ICs0OCw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9odXAoaW50IHNpZykKIAogc3RhdGljIHZvaWQg
dXNhZ2UoY2hhciAqbmFtZSkKIHsKLQlwcmludGYoIlVzYWdlOiAlcyBbLWhdIFstVl0gWy12XSBb
LWldIFstLWxvZz1ub25lfGd1ZXN0fGh2fGFsbF0gWy0tbG9nLWRpcj1ESVJdIFstLXBpZC1maWxl
PVBBVEhdIFstdCwgLS10aW1lc3RhbXA9bm9uZXxndWVzdHxodnxhbGxdIFstbywgLS1vdmVyZmxv
dy1kYXRhPWRpc2NhcmR8a2VlcF1cbiIsIG5hbWUpOworCXByaW50ZigiVXNhZ2U6ICVzIFstaF0g
Wy1WXSBbLXZdIFstaV0gWy0tbG9nPW5vbmV8Z3Vlc3R8aHZ8YWxsXSBbLS1zeXNsb2ddIFstLWxv
Zy1kaXI9RElSXSBbLS1waWQtZmlsZT1QQVRIXSBbLXQsIC0tdGltZXN0YW1wPW5vbmV8Z3Vlc3R8
aHZ8YWxsXSBbLW8sIC0tb3ZlcmZsb3ctZGF0YT1kaXNjYXJkfGtlZXBdXG4iLCBuYW1lKTsKIH0K
IAogc3RhdGljIHZvaWQgdmVyc2lvbihjaGFyICpuYW1lKQpAQCAtNjgsNiArNjksNyBAQCBpbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCXsgInBpZC1maWxlIiwgMSwgMCwgJ3AnIH0s
CiAJCXsgInRpbWVzdGFtcCIsIDEsIDAsICd0JyB9LAogCQl7ICJvdmVyZmxvdy1kYXRhIiwgMSwg
MCwgJ28nfSwKKwkJeyAic3lzbG9nIiwgMCwgMCwgJ3MnIH0sCiAJCXsgMCB9LAogCX07CiAJYm9v
bCBpc19pbnRlcmFjdGl2ZSA9IGZhbHNlOwpAQCAtMTA2LDYgKzEwOCw5IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICoqYXJndikKIAkJCSAgICAgIGxvZ19ndWVzdCA9IDE7CiAJCQl9CiAJCQli
cmVhazsKKwkJY2FzZSAncyc6CisJCQl1c2Vfc3lzbG9nID0gMTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogCQljYXNlICdyJzoKIAkJICAgICAgICBsb2dfZGlyID0gc3RyZHVwKG9w
dGFyZyk7CiAJCQlicmVhazsKQEAgLTE0MCw3ICsxNDUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhciAqKmFyZ3YpCiAJCX0KIAl9CiAKLQlpZiAoIWxvZ19kaXIpIHsKKwlpZiAoIWxvZ19kaXIg
JiYgIXVzZV9zeXNsb2cpIHsKIAkJbG9nX2RpciA9IHN0cmR1cCgiL3Zhci9sb2cveGVuL2NvbnNv
bGUiKTsKIAl9CiAK
--bcaec5016301d1cef604bfab7425
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--bcaec5016301d1cef604bfab7425--


From xen-devel-bounces@lists.xen.org Thu May 10 09:51:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:51:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ1x-0004MC-Bq; Thu, 10 May 2012 09:51:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ1w-0004M7-0t
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 09:51:28 +0000
Received: from [85.158.139.83:6122] by server-1.bemta-5.messagelabs.com id
	CF/9D-28458-E9F8BAF4; Thu, 10 May 2012 09:51:26 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336643484!27943697!1
X-Originating-IP: [209.85.212.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25897 invoked from network); 10 May 2012 09:51:25 -0000
Received: from mail-vb0-f43.google.com (HELO mail-vb0-f43.google.com)
	(209.85.212.43)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:51:25 -0000
Received: by vbbfq11 with SMTP id fq11so1699725vbb.30
	for <xen-devel@lists.xensource.com>;
	Thu, 10 May 2012 02:51:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=asWQItcK1RwmaeDcCuhFWpqG25y8dZ5p1O0VzlNqi7g=;
	b=X4r+Ks2JQgRGHG1ct4n4zKgq7gupDWhfHcWnbY4MGVECOO+JKvL6r4FDcWrVXKtHJ2
	3LYOPCS4SkETSY6RGPOifpu41ldm1znqpOBekAdalwjcLThvfOaNVfKQadHhPvwYDs5P
	kW5h2+dB1C3yMh6Av4hxuOmjO4mfWkRrTIo54gHD7bzjghPwvjscWxQF0s6NcU7B5WID
	EKUs0/fD7v9FS1eBgjeLZi4YqOgcK3Y1yq2cq7zjHGlkngkYRNK+KT78u/Y2HFVJzlvz
	WQvpbpveTGtH+Buf3G3tA12+TKepQDF8+Wco+EpwPC9yuPaYMPGH4B/JnzMb+v0/FcM/
	vBgA==
Received: by 10.220.63.9 with SMTP id z9mr2207780vch.64.1336643484615; Thu, 10
	May 2012 02:51:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:51:04 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:51:04 +0100
Message-ID: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
To: xen-devel@lists.xensource.com
Content-Type: multipart/mixed; boundary=e0cb4e88751717840804bfab9019
Subject: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--e0cb4e88751717840804bfab9019
Content-Type: text/plain; charset=ISO-8859-1

Add a new xc function to destroy the shadow pages table for a given guest.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--e0cb4e88751717840804bfab9019
Content-Type: text/x-patch; charset=US-ASCII; name="shadow-blow-tables.patch"
Content-Disposition: attachment; filename="shadow-blow-tables.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21n1dt80

ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jIGIvdG9vbHMvbGlieGMveGNfZG9t
YWluLmMKaW5kZXggZDk4ZTY4Yi4uMmJhZWFlNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNf
ZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTQxNiw2ICs0MTYsMTcg
QEAgaW50IHhjX3dhdGNoZG9nKHhjX2ludGVyZmFjZSAqeGNoLAogICAgIHJldHVybiByZXQ7CiB9
CiAKK2ludCB4Y19zaGFkb3dfYmxvd190YWJsZXMoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQoreworICAgIERFQ0xBUkVfRE9NQ1RM
OworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NoYWRvd19vcDsKKyAgICBkb21jdGwuZG9t
YWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLnUuc2hhZG93X29wLm9wICAgICA9IFhF
Tl9ET01DVExfU0hBRE9XX09QX0JMT1dfVEFCTEVTOworICAgIGRvbWN0bC51LnNoYWRvd19vcC5k
b21pZCAgPSAoZG9taWRfdClkb21pZDsKKyAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0
bCk7Cit9CisKIAogaW50IHhjX3NoYWRvd19jb250cm9sKHhjX2ludGVyZmFjZSAqeGNoLAogICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGMveGVuY3RybC5oIGIvdG9vbHMvbGlieGMveGVuY3RybC5oCmluZGV4IDNiYmM4MjcuLmIyM2Nj
YmUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy94
ZW5jdHJsLmgKQEAgLTY1Miw2ICs2NTIsNyBAQCBpbnQgeGNfc2hhZG93X2NvbnRyb2woeGNfaW50
ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqbWIsCiAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbW9kZSwKICAgICAgICAgICAgICAgICAgICAg
ICB4Y19zaGFkb3dfb3Bfc3RhdHNfdCAqc3RhdHMpOworaW50IHhjX3NoYWRvd19ibG93X3RhYmxl
cyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQpOwogCiBpbnQgeGNfc2VkZl9kb21h
aW5fc2V0KHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBkb21pZCwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgYi94
ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IDU5YmU5OTMuLjdkMzE2MzYgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKKysrIGIveGVuL2FyY2gv
eDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtMzc4OSw2ICszNzg5LDcgQEAgaW50IHNoYWRvd19k
b21jdGwoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5E
TEUodm9pZCkgdV9kb21jdGwpCiB7CiAgICAgaW50IHJjLCBwcmVlbXB0ZWQgPSAwOworICAgIHN0
cnVjdCBkb21haW4gKmRvbTsKIAogICAgIHN3aXRjaCAoIHNjLT5vcCApCiAgICAgewpAQCAtMzgz
Myw2ICszODM0LDEzIEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsCiAgICAg
ICAgICAgICBzYy0+bWIgPSBzaGFkb3dfZ2V0X2FsbG9jYXRpb24oZCk7CiAgICAgICAgIHJldHVy
biByYzsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQkxPV19UQUJMRVM6CisgICAg
ICAgIGRvbSA9IHJjdV9sb2NrX2RvbWFpbl9ieV9pZChzYy0+ZG9taWQpOworICAgICAgICBzaGFk
b3dfYmxvd190YWJsZXNfcGVyX2RvbWFpbihkb20pOworICAgICAgICByY3VfdW5sb2NrX2RvbWFp
bihkb20pOworCisgICAgICAgIHJldHVybiAwOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgU0hB
RE9XX0VSUk9SKCJCYWQgc2hhZG93IG9wICV1XG4iLCBzYy0+b3ApOwogICAgICAgICByZXR1cm4g
LUVJTlZBTDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9p
bmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCAyNDBjZWI5Li44MTY5OTc1IDEwMDY0NAotLS0g
YS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2Rv
bWN0bC5oCkBAIC0xODksNiArMTg5LDggQEAgc3RydWN0IHhlbl9kb21jdGxfZ2V0cGFnZWZyYW1l
aW5mbzMgewogI2RlZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9HRVRfQUxMT0NBVElPTiAgIDMw
CiAjZGVmaW5lIFhFTl9ET01DVExfU0hBRE9XX09QX1NFVF9BTExPQ0FUSU9OICAgMzEKIAorI2Rl
ZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9CTE9XX1RBQkxFUyAgICAgIDMzCisKIC8qIExlZ2Fj
eSBlbmFibGUgb3BlcmF0aW9ucy4gKi8KICAvKiBFcXVpdi4gdG8gRU5BQkxFIHdpdGggbm8gbW9k
ZSBmbGFncy4gKi8KICNkZWZpbmUgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX1RFU1QgICAg
ICAgMQpAQCAtMjM5LDYgKzI0MSw5IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCB7CiAg
ICAgWEVOX0dVRVNUX0hBTkRMRV82NCh1aW50OCkgZGlydHlfYml0bWFwOwogICAgIHVpbnQ2NF9h
bGlnbmVkX3QgcGFnZXM7IC8qIFNpemUgb2YgYnVmZmVyLiBVcGRhdGVkIHdpdGggYWN0dWFsIHNp
emUuICovCiAgICAgc3RydWN0IHhlbl9kb21jdGxfc2hhZG93X29wX3N0YXRzIHN0YXRzOworCisg
ICAgLyogT1BfQkxPV19UQUJMRSAqLworICAgIGRvbWlkX3QgICAgICAgZG9taWQ7CiB9OwogdHlw
ZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF9zaGFkb3dfb3AgeGVuX2RvbWN0bF9zaGFkb3dfb3BfdDsK
IERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfc2hhZG93X29wX3QpOwpkaWZmIC0t
Z2l0IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4
IGM5M2I4ZDAuLjY0NzZjNmMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysg
Yi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTEwMzUsNiArMTAzNSw3IEBAIHN0YXRpYyBpbnQg
Zmxhc2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3ApCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9FTkFCTEVfVFJBTlNMQVRFOgogICAgIGNhc2UgWEVO
X0RPTUNUTF9TSEFET1dfT1BfR0VUX0FMTE9DQVRJT046CiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NI
QURPV19PUF9TRVRfQUxMT0NBVElPTjoKKyAgICBjYXNlIFhFTl9ET01DVExfU0hBRE9XX09QX0JM
T1dfVEFCTEVTOgogICAgICAgICBwZXJtID0gU0hBRE9XX19FTkFCTEU7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX0xPR0RJUlRZOgo=
--e0cb4e88751717840804bfab9019
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--e0cb4e88751717840804bfab9019--


From xen-devel-bounces@lists.xen.org Thu May 10 09:51:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:51:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ1x-0004MC-Bq; Thu, 10 May 2012 09:51:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ1w-0004M7-0t
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 09:51:28 +0000
Received: from [85.158.139.83:6122] by server-1.bemta-5.messagelabs.com id
	CF/9D-28458-E9F8BAF4; Thu, 10 May 2012 09:51:26 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336643484!27943697!1
X-Originating-IP: [209.85.212.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25897 invoked from network); 10 May 2012 09:51:25 -0000
Received: from mail-vb0-f43.google.com (HELO mail-vb0-f43.google.com)
	(209.85.212.43)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:51:25 -0000
Received: by vbbfq11 with SMTP id fq11so1699725vbb.30
	for <xen-devel@lists.xensource.com>;
	Thu, 10 May 2012 02:51:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=asWQItcK1RwmaeDcCuhFWpqG25y8dZ5p1O0VzlNqi7g=;
	b=X4r+Ks2JQgRGHG1ct4n4zKgq7gupDWhfHcWnbY4MGVECOO+JKvL6r4FDcWrVXKtHJ2
	3LYOPCS4SkETSY6RGPOifpu41ldm1znqpOBekAdalwjcLThvfOaNVfKQadHhPvwYDs5P
	kW5h2+dB1C3yMh6Av4hxuOmjO4mfWkRrTIo54gHD7bzjghPwvjscWxQF0s6NcU7B5WID
	EKUs0/fD7v9FS1eBgjeLZi4YqOgcK3Y1yq2cq7zjHGlkngkYRNK+KT78u/Y2HFVJzlvz
	WQvpbpveTGtH+Buf3G3tA12+TKepQDF8+Wco+EpwPC9yuPaYMPGH4B/JnzMb+v0/FcM/
	vBgA==
Received: by 10.220.63.9 with SMTP id z9mr2207780vch.64.1336643484615; Thu, 10
	May 2012 02:51:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:51:04 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:51:04 +0100
Message-ID: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
To: xen-devel@lists.xensource.com
Content-Type: multipart/mixed; boundary=e0cb4e88751717840804bfab9019
Subject: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--e0cb4e88751717840804bfab9019
Content-Type: text/plain; charset=ISO-8859-1

Add a new xc function to destroy the shadow pages table for a given guest.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--e0cb4e88751717840804bfab9019
Content-Type: text/x-patch; charset=US-ASCII; name="shadow-blow-tables.patch"
Content-Disposition: attachment; filename="shadow-blow-tables.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21n1dt80

ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jIGIvdG9vbHMvbGlieGMveGNfZG9t
YWluLmMKaW5kZXggZDk4ZTY4Yi4uMmJhZWFlNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNf
ZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTQxNiw2ICs0MTYsMTcg
QEAgaW50IHhjX3dhdGNoZG9nKHhjX2ludGVyZmFjZSAqeGNoLAogICAgIHJldHVybiByZXQ7CiB9
CiAKK2ludCB4Y19zaGFkb3dfYmxvd190YWJsZXMoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQoreworICAgIERFQ0xBUkVfRE9NQ1RM
OworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NoYWRvd19vcDsKKyAgICBkb21jdGwuZG9t
YWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLnUuc2hhZG93X29wLm9wICAgICA9IFhF
Tl9ET01DVExfU0hBRE9XX09QX0JMT1dfVEFCTEVTOworICAgIGRvbWN0bC51LnNoYWRvd19vcC5k
b21pZCAgPSAoZG9taWRfdClkb21pZDsKKyAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0
bCk7Cit9CisKIAogaW50IHhjX3NoYWRvd19jb250cm9sKHhjX2ludGVyZmFjZSAqeGNoLAogICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGMveGVuY3RybC5oIGIvdG9vbHMvbGlieGMveGVuY3RybC5oCmluZGV4IDNiYmM4MjcuLmIyM2Nj
YmUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy94
ZW5jdHJsLmgKQEAgLTY1Miw2ICs2NTIsNyBAQCBpbnQgeGNfc2hhZG93X2NvbnRyb2woeGNfaW50
ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqbWIsCiAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbW9kZSwKICAgICAgICAgICAgICAgICAgICAg
ICB4Y19zaGFkb3dfb3Bfc3RhdHNfdCAqc3RhdHMpOworaW50IHhjX3NoYWRvd19ibG93X3RhYmxl
cyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQpOwogCiBpbnQgeGNfc2VkZl9kb21h
aW5fc2V0KHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBkb21pZCwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgYi94
ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IDU5YmU5OTMuLjdkMzE2MzYgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKKysrIGIveGVuL2FyY2gv
eDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtMzc4OSw2ICszNzg5LDcgQEAgaW50IHNoYWRvd19k
b21jdGwoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5E
TEUodm9pZCkgdV9kb21jdGwpCiB7CiAgICAgaW50IHJjLCBwcmVlbXB0ZWQgPSAwOworICAgIHN0
cnVjdCBkb21haW4gKmRvbTsKIAogICAgIHN3aXRjaCAoIHNjLT5vcCApCiAgICAgewpAQCAtMzgz
Myw2ICszODM0LDEzIEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsCiAgICAg
ICAgICAgICBzYy0+bWIgPSBzaGFkb3dfZ2V0X2FsbG9jYXRpb24oZCk7CiAgICAgICAgIHJldHVy
biByYzsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQkxPV19UQUJMRVM6CisgICAg
ICAgIGRvbSA9IHJjdV9sb2NrX2RvbWFpbl9ieV9pZChzYy0+ZG9taWQpOworICAgICAgICBzaGFk
b3dfYmxvd190YWJsZXNfcGVyX2RvbWFpbihkb20pOworICAgICAgICByY3VfdW5sb2NrX2RvbWFp
bihkb20pOworCisgICAgICAgIHJldHVybiAwOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgU0hB
RE9XX0VSUk9SKCJCYWQgc2hhZG93IG9wICV1XG4iLCBzYy0+b3ApOwogICAgICAgICByZXR1cm4g
LUVJTlZBTDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9p
bmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCAyNDBjZWI5Li44MTY5OTc1IDEwMDY0NAotLS0g
YS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2Rv
bWN0bC5oCkBAIC0xODksNiArMTg5LDggQEAgc3RydWN0IHhlbl9kb21jdGxfZ2V0cGFnZWZyYW1l
aW5mbzMgewogI2RlZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9HRVRfQUxMT0NBVElPTiAgIDMw
CiAjZGVmaW5lIFhFTl9ET01DVExfU0hBRE9XX09QX1NFVF9BTExPQ0FUSU9OICAgMzEKIAorI2Rl
ZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9CTE9XX1RBQkxFUyAgICAgIDMzCisKIC8qIExlZ2Fj
eSBlbmFibGUgb3BlcmF0aW9ucy4gKi8KICAvKiBFcXVpdi4gdG8gRU5BQkxFIHdpdGggbm8gbW9k
ZSBmbGFncy4gKi8KICNkZWZpbmUgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX1RFU1QgICAg
ICAgMQpAQCAtMjM5LDYgKzI0MSw5IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCB7CiAg
ICAgWEVOX0dVRVNUX0hBTkRMRV82NCh1aW50OCkgZGlydHlfYml0bWFwOwogICAgIHVpbnQ2NF9h
bGlnbmVkX3QgcGFnZXM7IC8qIFNpemUgb2YgYnVmZmVyLiBVcGRhdGVkIHdpdGggYWN0dWFsIHNp
emUuICovCiAgICAgc3RydWN0IHhlbl9kb21jdGxfc2hhZG93X29wX3N0YXRzIHN0YXRzOworCisg
ICAgLyogT1BfQkxPV19UQUJMRSAqLworICAgIGRvbWlkX3QgICAgICAgZG9taWQ7CiB9OwogdHlw
ZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF9zaGFkb3dfb3AgeGVuX2RvbWN0bF9zaGFkb3dfb3BfdDsK
IERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfc2hhZG93X29wX3QpOwpkaWZmIC0t
Z2l0IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4
IGM5M2I4ZDAuLjY0NzZjNmMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysg
Yi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTEwMzUsNiArMTAzNSw3IEBAIHN0YXRpYyBpbnQg
Zmxhc2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3ApCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9FTkFCTEVfVFJBTlNMQVRFOgogICAgIGNhc2UgWEVO
X0RPTUNUTF9TSEFET1dfT1BfR0VUX0FMTE9DQVRJT046CiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NI
QURPV19PUF9TRVRfQUxMT0NBVElPTjoKKyAgICBjYXNlIFhFTl9ET01DVExfU0hBRE9XX09QX0JM
T1dfVEFCTEVTOgogICAgICAgICBwZXJtID0gU0hBRE9XX19FTkFCTEU7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX0xPR0RJUlRZOgo=
--e0cb4e88751717840804bfab9019
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--e0cb4e88751717840804bfab9019--


From xen-devel-bounces@lists.xen.org Thu May 10 09:56:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:56:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ6a-0004U6-2A; Thu, 10 May 2012 09:56:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQ6Y-0004U0-6y
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:56:14 +0000
Received: from [85.158.139.83:32533] by server-6.bemta-5.messagelabs.com id
	D2/82-13222-DB09BAF4; Thu, 10 May 2012 09:56:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336643771!27631084!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29258 invoked from network); 10 May 2012 09:56:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:56:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12400923"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 09:56:09 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 10:56:08 +0100
Message-ID: <1336643766.7098.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Date: Thu, 10 May 2012 10:56:06 +0100
In-Reply-To: <1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>
	<1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "libvir-list@redhat.com" <libvir-list@redhat.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Bamvor Jian Zhang <bjzhang@suse.com>
Subject: Re: [Xen-devel] [PATCH-RFC] Change libxl to use Xen 4.2 interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 18:13 +0100, Daniel De Graaf wrote:
> This patch changes libxl to use the interface in Xen 4.2. It is provided
> as an example, not intended to go in to libvirt as-is since it removes
> all support for libxl from Xen 4.1. It also still has some cruft (extra
> void casts on parameters) and the device model info population is not
> written. It has been tested with simple domain create/destroy.
> ---
>  src/libxl/libxl_conf.c   |  134 +++++++++------
>  src/libxl/libxl_conf.h   |    8 +-
>  src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
>  3 files changed, 326 insertions(+), 246 deletions(-)

Thanks Daniel, interesting to see. It doesn't seem as invasive as I
expected given the number of changes to libxl's interfaces between 4.1
and 4.2. 

I suppose it is worth mentioning in this context that we are intending
to maintain the 4.2 libxl API in a stable manner going forward, as
described near the top of:
http://xenbits.xen.org/hg/staging/xen-unstable.hg/file/tip/tools/libxl/libxl.h

Since libvirt is one of the main reasons we are doing this it would be
useful to check that this actually meets the needs from that side.

That doesn't really help with support 4.1 and 4.2+. A large portion of
the below looks like it would be reasonably easy to abstract away with a
header full of compat defines for naming changes etc, other bits don't
look so simple to deal with.

> @@ -403,9 +414,9 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
>          return -1;
>      }
> 
> -    libxl_init_build_info(b_info, &d_config->c_info);
> +    libxl_domain_build_info_init(b_info);
> 
> -    b_info->hvm = hvm;
> +    b_info->type = hvm ? LIBXL_DOMAIN_TYPE_HVM : LIBXL_DOMAIN_TYPE_PV;

I'm not sure what version of "4.2" you are currently using but this
should become libxl_domain_build_info_init_type(b_info, hvm ? LIBXL...)
at some point.

>      b_info->max_vcpus = def->maxvcpus;
>      if (def->vcpus == 32)
>          b_info->cur_vcpus = (uint32_t) -1;
[...]
> @@ -454,7 +466,14 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
>              }
>          }
>          if (def->os.bootloaderArgs) {
> -            if ((b_info->u.pv.bootloader_args = strdup(def->os.bootloaderArgs)) == NULL) {
> +            // XXX may need to split these arguments on a delimiter

I think you do. We could consider moving split_string_into_string_list
from xl into the xlu(tility) library if libvirt doesn't have an existing
helper for that, or you can just copy it (I'm the sole author of that
function, I'd be happy to ack any reasonable license for use in libvirt,
some variant of (L)GPL I presume?)

[...]
> +static const libxl_osevent_hooks event_callbacks = {
> +    .fd_register = evhook_fd_register,
> +    .fd_modify = evhook_fd_modify,
> +    .fd_deregister = evhook_fd_deregister,
> +    .timeout_register = evhook_timeout_register,
> +    .timeout_modify = evhook_timeout_modify,
> +    .timeout_deregister = evhook_timeout_deregister,
> +};

Glad to see that this interface seems to fit in well with libvirt's
infrastructure -- that was the point of it after all ;-)

> +static const struct libxl_event_hooks ev_hooks = {
> +    .event_occurs_mask = LIBXL_EVENTMASK_ALL,
> +    .event_occurs = libxlEventHandler,
> +    .disaster = NULL,
> +};

Same for this interface.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 09:56:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:56:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ6a-0004U6-2A; Thu, 10 May 2012 09:56:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQ6Y-0004U0-6y
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:56:14 +0000
Received: from [85.158.139.83:32533] by server-6.bemta-5.messagelabs.com id
	D2/82-13222-DB09BAF4; Thu, 10 May 2012 09:56:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336643771!27631084!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29258 invoked from network); 10 May 2012 09:56:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:56:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12400923"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 09:56:09 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 10:56:08 +0100
Message-ID: <1336643766.7098.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Date: Thu, 10 May 2012 10:56:06 +0100
In-Reply-To: <1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>
	<1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "libvir-list@redhat.com" <libvir-list@redhat.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Bamvor Jian Zhang <bjzhang@suse.com>
Subject: Re: [Xen-devel] [PATCH-RFC] Change libxl to use Xen 4.2 interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 18:13 +0100, Daniel De Graaf wrote:
> This patch changes libxl to use the interface in Xen 4.2. It is provided
> as an example, not intended to go in to libvirt as-is since it removes
> all support for libxl from Xen 4.1. It also still has some cruft (extra
> void casts on parameters) and the device model info population is not
> written. It has been tested with simple domain create/destroy.
> ---
>  src/libxl/libxl_conf.c   |  134 +++++++++------
>  src/libxl/libxl_conf.h   |    8 +-
>  src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
>  3 files changed, 326 insertions(+), 246 deletions(-)

Thanks Daniel, interesting to see. It doesn't seem as invasive as I
expected given the number of changes to libxl's interfaces between 4.1
and 4.2. 

I suppose it is worth mentioning in this context that we are intending
to maintain the 4.2 libxl API in a stable manner going forward, as
described near the top of:
http://xenbits.xen.org/hg/staging/xen-unstable.hg/file/tip/tools/libxl/libxl.h

Since libvirt is one of the main reasons we are doing this it would be
useful to check that this actually meets the needs from that side.

That doesn't really help with support 4.1 and 4.2+. A large portion of
the below looks like it would be reasonably easy to abstract away with a
header full of compat defines for naming changes etc, other bits don't
look so simple to deal with.

> @@ -403,9 +414,9 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
>          return -1;
>      }
> 
> -    libxl_init_build_info(b_info, &d_config->c_info);
> +    libxl_domain_build_info_init(b_info);
> 
> -    b_info->hvm = hvm;
> +    b_info->type = hvm ? LIBXL_DOMAIN_TYPE_HVM : LIBXL_DOMAIN_TYPE_PV;

I'm not sure what version of "4.2" you are currently using but this
should become libxl_domain_build_info_init_type(b_info, hvm ? LIBXL...)
at some point.

>      b_info->max_vcpus = def->maxvcpus;
>      if (def->vcpus == 32)
>          b_info->cur_vcpus = (uint32_t) -1;
[...]
> @@ -454,7 +466,14 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_domain_config *d_config)
>              }
>          }
>          if (def->os.bootloaderArgs) {
> -            if ((b_info->u.pv.bootloader_args = strdup(def->os.bootloaderArgs)) == NULL) {
> +            // XXX may need to split these arguments on a delimiter

I think you do. We could consider moving split_string_into_string_list
from xl into the xlu(tility) library if libvirt doesn't have an existing
helper for that, or you can just copy it (I'm the sole author of that
function, I'd be happy to ack any reasonable license for use in libvirt,
some variant of (L)GPL I presume?)

[...]
> +static const libxl_osevent_hooks event_callbacks = {
> +    .fd_register = evhook_fd_register,
> +    .fd_modify = evhook_fd_modify,
> +    .fd_deregister = evhook_fd_deregister,
> +    .timeout_register = evhook_timeout_register,
> +    .timeout_modify = evhook_timeout_modify,
> +    .timeout_deregister = evhook_timeout_deregister,
> +};

Glad to see that this interface seems to fit in well with libvirt's
infrastructure -- that was the point of it after all ;-)

> +static const struct libxl_event_hooks ev_hooks = {
> +    .event_occurs_mask = LIBXL_EVENTMASK_ALL,
> +    .event_occurs = libxlEventHandler,
> +    .disaster = NULL,
> +};

Same for this interface.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 09:57:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ7E-0004Wi-FO; Thu, 10 May 2012 09:56:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ7D-0004WW-2B
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:56:55 +0000
Received: from [85.158.143.99:21992] by server-3.bemta-4.messagelabs.com id
	B9/4A-05853-6E09BAF4; Thu, 10 May 2012 09:56:54 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336643812!26767428!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6417 invoked from network); 10 May 2012 09:56:53 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:56:53 -0000
Received: by vbbfn1 with SMTP id fn1so247387vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 02:56:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=D8LRAK5niO9PKVZ7Tku9JFvDiQyOuEP+f2N8JEJmkHQ=;
	b=Jo/tt11woC86GSq+o2j+JTevXmFDesMaRVXbNcVyORZewDzGqqMGXydTy//vqglFWU
	THA3eeMvHPQYKECbQci/BNOsA3BDMKZxk6I6qsbuH9bT0KABQaWyCxdfYts3tqakOcow
	dvPxj7j74bWPsMcDJQ0QqyX1KOhwOELMxWmp3D9VcHyOAzBUTJSlpcC6qz32YqyYljAE
	7UmUUamRrIdXwrL565Tw4TD2EEwaRGe1pazROtgSf+cBPJJ3YnxacCGPHVLyJNEwHN+t
	fZX396WNT4DpTfgOOd00ljox8LtiwzMj7rhJpQNWDb9Spsr7APjBr0QsfCF5FsPyX2ML
	Lzeg==
Received: by 10.52.100.67 with SMTP id ew3mr1795360vdb.36.1336643811772; Thu,
	10 May 2012 02:56:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:56:31 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:56:31 +0100
Message-ID: <CAEBdQ90uXdPyxqK+8c=QsB-m348TuLd2c0Mjywg1487XMFdZLw@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=20cf307f349a9789f204bfaba3c2
Cc: Tomasz Wroblewski <tomasz.wroblewski@citrix.com>
Subject: [Xen-devel] [PATCH] xen: evtchn_set_pending for guest in S3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf307f349a9789f204bfaba3c2
Content-Type: text/plain; charset=ISO-8859-1

If domain is in S3 it will miss the notification so returns an error.

From: Tomasz Wroblewski <tomasz.wroblewski@citrix.com>
Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--20cf307f349a9789f204bfaba3c2
Content-Type: text/x-patch; charset=US-ASCII; name="evtchn-do-not-set-pending-if-s3.patch"
Content-Disposition: attachment; 
	filename="evtchn-do-not-set-pending-if-s3.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21n81xm0

Y29tbWl0IGQ2NTM3ZTg1ZWUzZGM0YTg1YzhiNjk5YzE1ZDEwZGI3ZjA3YzM3NDUKQXV0aG9yOiBK
ZWFuIEd1eWFkZXIgPGplYW4uZ3V5YWRlckBldS5jaXRyaXguY29tPgpEYXRlOiAgIFRodSBNYXkg
MyAxMDoxODo1MiAyMDEyICswMTAwCgogICAgcGF0Y2ggZXZ0Y2huLWRvLW5vdC1zZXQtcGVuZGlu
Zy1pZi1zMwoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZXZlbnRfY2hhbm5lbC5jIGIveGVuL2Nv
bW1vbi9ldmVudF9jaGFubmVsLmMKaW5kZXggZmVlOWE3YS4uZDZkYTVhZiAxMDA2NDQKLS0tIGEv
eGVuL2NvbW1vbi9ldmVudF9jaGFubmVsLmMKKysrIGIveGVuL2NvbW1vbi9ldmVudF9jaGFubmVs
LmMKQEAgLTU3Myw2ICs1NzMsMTEgQEAgc3RhdGljIGludCBldnRjaG5fc2V0X3BlbmRpbmcoc3Ry
dWN0IHZjcHUgKnYsIGludCBwb3J0KQogICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47
CiAgICAgaW50IHZjcHVpZDsKIAorICAgIC8qIGlmIGRvbWFpbiBpcyBpbiBTMyBpdCB3aWxsIG1p
c3MgdGhlIG5vdGlmaWNhdGlvbiwgc28gY2hlY2sgaGVyZSAqLworICAgIGlmIChkLT5hcmNoLmh2
bV9kb21haW4uaXNfczNfc3VzcGVuZGVkKSB7CisgICAgICAgIHJldHVybiAtRUZBVUxUOworICAg
IH0KKwogICAgIC8qCiAgICAgICogVGhlIGZvbGxvd2luZyBiaXQgb3BlcmF0aW9ucyBtdXN0IGhh
cHBlbiBpbiBzdHJpY3Qgb3JkZXIuCiAgICAgICogTkIuIE9uIHg4NiwgdGhlIGF0b21pYyBiaXQg
b3BlcmF0aW9ucyBhbHNvIGFjdCBhcyBtZW1vcnkgYmFycmllcnMuCg==
--20cf307f349a9789f204bfaba3c2
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf307f349a9789f204bfaba3c2--


From xen-devel-bounces@lists.xen.org Thu May 10 09:57:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ7E-0004Wi-FO; Thu, 10 May 2012 09:56:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ7D-0004WW-2B
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:56:55 +0000
Received: from [85.158.143.99:21992] by server-3.bemta-4.messagelabs.com id
	B9/4A-05853-6E09BAF4; Thu, 10 May 2012 09:56:54 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336643812!26767428!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6417 invoked from network); 10 May 2012 09:56:53 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:56:53 -0000
Received: by vbbfn1 with SMTP id fn1so247387vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 02:56:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=D8LRAK5niO9PKVZ7Tku9JFvDiQyOuEP+f2N8JEJmkHQ=;
	b=Jo/tt11woC86GSq+o2j+JTevXmFDesMaRVXbNcVyORZewDzGqqMGXydTy//vqglFWU
	THA3eeMvHPQYKECbQci/BNOsA3BDMKZxk6I6qsbuH9bT0KABQaWyCxdfYts3tqakOcow
	dvPxj7j74bWPsMcDJQ0QqyX1KOhwOELMxWmp3D9VcHyOAzBUTJSlpcC6qz32YqyYljAE
	7UmUUamRrIdXwrL565Tw4TD2EEwaRGe1pazROtgSf+cBPJJ3YnxacCGPHVLyJNEwHN+t
	fZX396WNT4DpTfgOOd00ljox8LtiwzMj7rhJpQNWDb9Spsr7APjBr0QsfCF5FsPyX2ML
	Lzeg==
Received: by 10.52.100.67 with SMTP id ew3mr1795360vdb.36.1336643811772; Thu,
	10 May 2012 02:56:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:56:31 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:56:31 +0100
Message-ID: <CAEBdQ90uXdPyxqK+8c=QsB-m348TuLd2c0Mjywg1487XMFdZLw@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=20cf307f349a9789f204bfaba3c2
Cc: Tomasz Wroblewski <tomasz.wroblewski@citrix.com>
Subject: [Xen-devel] [PATCH] xen: evtchn_set_pending for guest in S3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf307f349a9789f204bfaba3c2
Content-Type: text/plain; charset=ISO-8859-1

If domain is in S3 it will miss the notification so returns an error.

From: Tomasz Wroblewski <tomasz.wroblewski@citrix.com>
Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--20cf307f349a9789f204bfaba3c2
Content-Type: text/x-patch; charset=US-ASCII; name="evtchn-do-not-set-pending-if-s3.patch"
Content-Disposition: attachment; 
	filename="evtchn-do-not-set-pending-if-s3.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21n81xm0

Y29tbWl0IGQ2NTM3ZTg1ZWUzZGM0YTg1YzhiNjk5YzE1ZDEwZGI3ZjA3YzM3NDUKQXV0aG9yOiBK
ZWFuIEd1eWFkZXIgPGplYW4uZ3V5YWRlckBldS5jaXRyaXguY29tPgpEYXRlOiAgIFRodSBNYXkg
MyAxMDoxODo1MiAyMDEyICswMTAwCgogICAgcGF0Y2ggZXZ0Y2huLWRvLW5vdC1zZXQtcGVuZGlu
Zy1pZi1zMwoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZXZlbnRfY2hhbm5lbC5jIGIveGVuL2Nv
bW1vbi9ldmVudF9jaGFubmVsLmMKaW5kZXggZmVlOWE3YS4uZDZkYTVhZiAxMDA2NDQKLS0tIGEv
eGVuL2NvbW1vbi9ldmVudF9jaGFubmVsLmMKKysrIGIveGVuL2NvbW1vbi9ldmVudF9jaGFubmVs
LmMKQEAgLTU3Myw2ICs1NzMsMTEgQEAgc3RhdGljIGludCBldnRjaG5fc2V0X3BlbmRpbmcoc3Ry
dWN0IHZjcHUgKnYsIGludCBwb3J0KQogICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47
CiAgICAgaW50IHZjcHVpZDsKIAorICAgIC8qIGlmIGRvbWFpbiBpcyBpbiBTMyBpdCB3aWxsIG1p
c3MgdGhlIG5vdGlmaWNhdGlvbiwgc28gY2hlY2sgaGVyZSAqLworICAgIGlmIChkLT5hcmNoLmh2
bV9kb21haW4uaXNfczNfc3VzcGVuZGVkKSB7CisgICAgICAgIHJldHVybiAtRUZBVUxUOworICAg
IH0KKwogICAgIC8qCiAgICAgICogVGhlIGZvbGxvd2luZyBiaXQgb3BlcmF0aW9ucyBtdXN0IGhh
cHBlbiBpbiBzdHJpY3Qgb3JkZXIuCiAgICAgICogTkIuIE9uIHg4NiwgdGhlIGF0b21pYyBiaXQg
b3BlcmF0aW9ucyBhbHNvIGFjdCBhcyBtZW1vcnkgYmFycmllcnMuCg==
--20cf307f349a9789f204bfaba3c2
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf307f349a9789f204bfaba3c2--


From xen-devel-bounces@lists.xen.org Thu May 10 09:58:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ8H-0004cG-Tw; Thu, 10 May 2012 09:58:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ8G-0004c7-MK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:58:01 +0000
Received: from [193.109.254.147:65302] by server-11.bemta-14.messagelabs.com
	id 51/94-05858-7219BAF4; Thu, 10 May 2012 09:57:59 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336643877!8359335!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13421 invoked from network); 10 May 2012 09:57:58 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:57:58 -0000
Received: by vbbfn1 with SMTP id fn1so248785vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 02:57:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=nq26jWqtKottA+lQ7ZCxk4+J2LnWawYgr6aA+JkvUiw=;
	b=yVJEB4ZfIvAlpy3Fd7NNFAwPwO8xXFOdoD2/cjmxSCDahR1Qsy8ikKESNuxWpVMMgl
	OjZ7lT8vx1NX/DQeLtwrAT8FHF102VJi2tEtD20kQuGJOGwaxQJ29MMJufawmfJ332yw
	S2VOMRU2ANqtqK8bf4M7UaxDlXwE7GiGuD40j+XofhHN91sTuH6GJWbFBVhjrRYYmROI
	yCgEWNLk1wQ00k3IxpRFd+qqW4OsGd6iB/3F4bfkXwDqLcqNnJHqjUPRxYrHVFZx8wZe
	PXIAjeQEVZrL6+HVEtwqYkTtuRMJ1yXe5+LWqc5iFIuhjhPvsrzquShQ1MLF8FwikrSO
	mVMQ==
Received: by 10.52.32.34 with SMTP id f2mr1739437vdi.76.1336643877056; Thu, 10
	May 2012 02:57:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:57:36 -0700 (PDT)
In-Reply-To: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:57:36 +0100
Message-ID: <CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=bcaec51d2b807baf1104bfaba79c
Cc: tim@xen.org
Subject: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--bcaec51d2b807baf1104bfaba79c
Content-Type: text/plain; charset=ISO-8859-1

Add a new xc function to destroy the shadow pages table for a given
guest from userspace.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--bcaec51d2b807baf1104bfaba79c
Content-Type: text/x-patch; charset=US-ASCII; name="shadow-blow-tables.patch"
Content-Disposition: attachment; filename="shadow-blow-tables.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21n1dt80

ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jIGIvdG9vbHMvbGlieGMveGNfZG9t
YWluLmMKaW5kZXggZDk4ZTY4Yi4uMmJhZWFlNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNf
ZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTQxNiw2ICs0MTYsMTcg
QEAgaW50IHhjX3dhdGNoZG9nKHhjX2ludGVyZmFjZSAqeGNoLAogICAgIHJldHVybiByZXQ7CiB9
CiAKK2ludCB4Y19zaGFkb3dfYmxvd190YWJsZXMoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQoreworICAgIERFQ0xBUkVfRE9NQ1RM
OworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NoYWRvd19vcDsKKyAgICBkb21jdGwuZG9t
YWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLnUuc2hhZG93X29wLm9wICAgICA9IFhF
Tl9ET01DVExfU0hBRE9XX09QX0JMT1dfVEFCTEVTOworICAgIGRvbWN0bC51LnNoYWRvd19vcC5k
b21pZCAgPSAoZG9taWRfdClkb21pZDsKKyAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0
bCk7Cit9CisKIAogaW50IHhjX3NoYWRvd19jb250cm9sKHhjX2ludGVyZmFjZSAqeGNoLAogICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGMveGVuY3RybC5oIGIvdG9vbHMvbGlieGMveGVuY3RybC5oCmluZGV4IDNiYmM4MjcuLmIyM2Nj
YmUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy94
ZW5jdHJsLmgKQEAgLTY1Miw2ICs2NTIsNyBAQCBpbnQgeGNfc2hhZG93X2NvbnRyb2woeGNfaW50
ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqbWIsCiAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbW9kZSwKICAgICAgICAgICAgICAgICAgICAg
ICB4Y19zaGFkb3dfb3Bfc3RhdHNfdCAqc3RhdHMpOworaW50IHhjX3NoYWRvd19ibG93X3RhYmxl
cyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQpOwogCiBpbnQgeGNfc2VkZl9kb21h
aW5fc2V0KHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBkb21pZCwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgYi94
ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IDU5YmU5OTMuLjdkMzE2MzYgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKKysrIGIveGVuL2FyY2gv
eDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtMzc4OSw2ICszNzg5LDcgQEAgaW50IHNoYWRvd19k
b21jdGwoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5E
TEUodm9pZCkgdV9kb21jdGwpCiB7CiAgICAgaW50IHJjLCBwcmVlbXB0ZWQgPSAwOworICAgIHN0
cnVjdCBkb21haW4gKmRvbTsKIAogICAgIHN3aXRjaCAoIHNjLT5vcCApCiAgICAgewpAQCAtMzgz
Myw2ICszODM0LDEzIEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsCiAgICAg
ICAgICAgICBzYy0+bWIgPSBzaGFkb3dfZ2V0X2FsbG9jYXRpb24oZCk7CiAgICAgICAgIHJldHVy
biByYzsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQkxPV19UQUJMRVM6CisgICAg
ICAgIGRvbSA9IHJjdV9sb2NrX2RvbWFpbl9ieV9pZChzYy0+ZG9taWQpOworICAgICAgICBzaGFk
b3dfYmxvd190YWJsZXNfcGVyX2RvbWFpbihkb20pOworICAgICAgICByY3VfdW5sb2NrX2RvbWFp
bihkb20pOworCisgICAgICAgIHJldHVybiAwOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgU0hB
RE9XX0VSUk9SKCJCYWQgc2hhZG93IG9wICV1XG4iLCBzYy0+b3ApOwogICAgICAgICByZXR1cm4g
LUVJTlZBTDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9p
bmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCAyNDBjZWI5Li44MTY5OTc1IDEwMDY0NAotLS0g
YS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2Rv
bWN0bC5oCkBAIC0xODksNiArMTg5LDggQEAgc3RydWN0IHhlbl9kb21jdGxfZ2V0cGFnZWZyYW1l
aW5mbzMgewogI2RlZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9HRVRfQUxMT0NBVElPTiAgIDMw
CiAjZGVmaW5lIFhFTl9ET01DVExfU0hBRE9XX09QX1NFVF9BTExPQ0FUSU9OICAgMzEKIAorI2Rl
ZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9CTE9XX1RBQkxFUyAgICAgIDMzCisKIC8qIExlZ2Fj
eSBlbmFibGUgb3BlcmF0aW9ucy4gKi8KICAvKiBFcXVpdi4gdG8gRU5BQkxFIHdpdGggbm8gbW9k
ZSBmbGFncy4gKi8KICNkZWZpbmUgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX1RFU1QgICAg
ICAgMQpAQCAtMjM5LDYgKzI0MSw5IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCB7CiAg
ICAgWEVOX0dVRVNUX0hBTkRMRV82NCh1aW50OCkgZGlydHlfYml0bWFwOwogICAgIHVpbnQ2NF9h
bGlnbmVkX3QgcGFnZXM7IC8qIFNpemUgb2YgYnVmZmVyLiBVcGRhdGVkIHdpdGggYWN0dWFsIHNp
emUuICovCiAgICAgc3RydWN0IHhlbl9kb21jdGxfc2hhZG93X29wX3N0YXRzIHN0YXRzOworCisg
ICAgLyogT1BfQkxPV19UQUJMRSAqLworICAgIGRvbWlkX3QgICAgICAgZG9taWQ7CiB9OwogdHlw
ZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF9zaGFkb3dfb3AgeGVuX2RvbWN0bF9zaGFkb3dfb3BfdDsK
IERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfc2hhZG93X29wX3QpOwpkaWZmIC0t
Z2l0IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4
IGM5M2I4ZDAuLjY0NzZjNmMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysg
Yi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTEwMzUsNiArMTAzNSw3IEBAIHN0YXRpYyBpbnQg
Zmxhc2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3ApCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9FTkFCTEVfVFJBTlNMQVRFOgogICAgIGNhc2UgWEVO
X0RPTUNUTF9TSEFET1dfT1BfR0VUX0FMTE9DQVRJT046CiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NI
QURPV19PUF9TRVRfQUxMT0NBVElPTjoKKyAgICBjYXNlIFhFTl9ET01DVExfU0hBRE9XX09QX0JM
T1dfVEFCTEVTOgogICAgICAgICBwZXJtID0gU0hBRE9XX19FTkFCTEU7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX0xPR0RJUlRZOgo=
--bcaec51d2b807baf1104bfaba79c
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--bcaec51d2b807baf1104bfaba79c--


From xen-devel-bounces@lists.xen.org Thu May 10 09:58:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ8H-0004cG-Tw; Thu, 10 May 2012 09:58:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ8G-0004c7-MK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:58:01 +0000
Received: from [193.109.254.147:65302] by server-11.bemta-14.messagelabs.com
	id 51/94-05858-7219BAF4; Thu, 10 May 2012 09:57:59 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336643877!8359335!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13421 invoked from network); 10 May 2012 09:57:58 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:57:58 -0000
Received: by vbbfn1 with SMTP id fn1so248785vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 02:57:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=nq26jWqtKottA+lQ7ZCxk4+J2LnWawYgr6aA+JkvUiw=;
	b=yVJEB4ZfIvAlpy3Fd7NNFAwPwO8xXFOdoD2/cjmxSCDahR1Qsy8ikKESNuxWpVMMgl
	OjZ7lT8vx1NX/DQeLtwrAT8FHF102VJi2tEtD20kQuGJOGwaxQJ29MMJufawmfJ332yw
	S2VOMRU2ANqtqK8bf4M7UaxDlXwE7GiGuD40j+XofhHN91sTuH6GJWbFBVhjrRYYmROI
	yCgEWNLk1wQ00k3IxpRFd+qqW4OsGd6iB/3F4bfkXwDqLcqNnJHqjUPRxYrHVFZx8wZe
	PXIAjeQEVZrL6+HVEtwqYkTtuRMJ1yXe5+LWqc5iFIuhjhPvsrzquShQ1MLF8FwikrSO
	mVMQ==
Received: by 10.52.32.34 with SMTP id f2mr1739437vdi.76.1336643877056; Thu, 10
	May 2012 02:57:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:57:36 -0700 (PDT)
In-Reply-To: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:57:36 +0100
Message-ID: <CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=bcaec51d2b807baf1104bfaba79c
Cc: tim@xen.org
Subject: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--bcaec51d2b807baf1104bfaba79c
Content-Type: text/plain; charset=ISO-8859-1

Add a new xc function to destroy the shadow pages table for a given
guest from userspace.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--bcaec51d2b807baf1104bfaba79c
Content-Type: text/x-patch; charset=US-ASCII; name="shadow-blow-tables.patch"
Content-Disposition: attachment; filename="shadow-blow-tables.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21n1dt80

ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jIGIvdG9vbHMvbGlieGMveGNfZG9t
YWluLmMKaW5kZXggZDk4ZTY4Yi4uMmJhZWFlNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNf
ZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTQxNiw2ICs0MTYsMTcg
QEAgaW50IHhjX3dhdGNoZG9nKHhjX2ludGVyZmFjZSAqeGNoLAogICAgIHJldHVybiByZXQ7CiB9
CiAKK2ludCB4Y19zaGFkb3dfYmxvd190YWJsZXMoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQoreworICAgIERFQ0xBUkVfRE9NQ1RM
OworICAgIGRvbWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NoYWRvd19vcDsKKyAgICBkb21jdGwuZG9t
YWluID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLnUuc2hhZG93X29wLm9wICAgICA9IFhF
Tl9ET01DVExfU0hBRE9XX09QX0JMT1dfVEFCTEVTOworICAgIGRvbWN0bC51LnNoYWRvd19vcC5k
b21pZCAgPSAoZG9taWRfdClkb21pZDsKKyAgICByZXR1cm4gZG9fZG9tY3RsKHhjaCwgJmRvbWN0
bCk7Cit9CisKIAogaW50IHhjX3NoYWRvd19jb250cm9sKHhjX2ludGVyZmFjZSAqeGNoLAogICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGMveGVuY3RybC5oIGIvdG9vbHMvbGlieGMveGVuY3RybC5oCmluZGV4IDNiYmM4MjcuLmIyM2Nj
YmUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy94
ZW5jdHJsLmgKQEAgLTY1Miw2ICs2NTIsNyBAQCBpbnQgeGNfc2hhZG93X2NvbnRyb2woeGNfaW50
ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqbWIsCiAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbW9kZSwKICAgICAgICAgICAgICAgICAgICAg
ICB4Y19zaGFkb3dfb3Bfc3RhdHNfdCAqc3RhdHMpOworaW50IHhjX3NoYWRvd19ibG93X3RhYmxl
cyh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQpOwogCiBpbnQgeGNfc2VkZl9kb21h
aW5fc2V0KHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf
dCBkb21pZCwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgYi94
ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IDU5YmU5OTMuLjdkMzE2MzYgMTAw
NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKKysrIGIveGVuL2FyY2gv
eDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtMzc4OSw2ICszNzg5LDcgQEAgaW50IHNoYWRvd19k
b21jdGwoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5E
TEUodm9pZCkgdV9kb21jdGwpCiB7CiAgICAgaW50IHJjLCBwcmVlbXB0ZWQgPSAwOworICAgIHN0
cnVjdCBkb21haW4gKmRvbTsKIAogICAgIHN3aXRjaCAoIHNjLT5vcCApCiAgICAgewpAQCAtMzgz
Myw2ICszODM0LDEzIEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsCiAgICAg
ICAgICAgICBzYy0+bWIgPSBzaGFkb3dfZ2V0X2FsbG9jYXRpb24oZCk7CiAgICAgICAgIHJldHVy
biByYzsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQkxPV19UQUJMRVM6CisgICAg
ICAgIGRvbSA9IHJjdV9sb2NrX2RvbWFpbl9ieV9pZChzYy0+ZG9taWQpOworICAgICAgICBzaGFk
b3dfYmxvd190YWJsZXNfcGVyX2RvbWFpbihkb20pOworICAgICAgICByY3VfdW5sb2NrX2RvbWFp
bihkb20pOworCisgICAgICAgIHJldHVybiAwOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgU0hB
RE9XX0VSUk9SKCJCYWQgc2hhZG93IG9wICV1XG4iLCBzYy0+b3ApOwogICAgICAgICByZXR1cm4g
LUVJTlZBTDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9p
bmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCAyNDBjZWI5Li44MTY5OTc1IDEwMDY0NAotLS0g
YS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2Rv
bWN0bC5oCkBAIC0xODksNiArMTg5LDggQEAgc3RydWN0IHhlbl9kb21jdGxfZ2V0cGFnZWZyYW1l
aW5mbzMgewogI2RlZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9HRVRfQUxMT0NBVElPTiAgIDMw
CiAjZGVmaW5lIFhFTl9ET01DVExfU0hBRE9XX09QX1NFVF9BTExPQ0FUSU9OICAgMzEKIAorI2Rl
ZmluZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9CTE9XX1RBQkxFUyAgICAgIDMzCisKIC8qIExlZ2Fj
eSBlbmFibGUgb3BlcmF0aW9ucy4gKi8KICAvKiBFcXVpdi4gdG8gRU5BQkxFIHdpdGggbm8gbW9k
ZSBmbGFncy4gKi8KICNkZWZpbmUgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX1RFU1QgICAg
ICAgMQpAQCAtMjM5LDYgKzI0MSw5IEBAIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCB7CiAg
ICAgWEVOX0dVRVNUX0hBTkRMRV82NCh1aW50OCkgZGlydHlfYml0bWFwOwogICAgIHVpbnQ2NF9h
bGlnbmVkX3QgcGFnZXM7IC8qIFNpemUgb2YgYnVmZmVyLiBVcGRhdGVkIHdpdGggYWN0dWFsIHNp
emUuICovCiAgICAgc3RydWN0IHhlbl9kb21jdGxfc2hhZG93X29wX3N0YXRzIHN0YXRzOworCisg
ICAgLyogT1BfQkxPV19UQUJMRSAqLworICAgIGRvbWlkX3QgICAgICAgZG9taWQ7CiB9OwogdHlw
ZWRlZiBzdHJ1Y3QgeGVuX2RvbWN0bF9zaGFkb3dfb3AgeGVuX2RvbWN0bF9zaGFkb3dfb3BfdDsK
IERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfc2hhZG93X29wX3QpOwpkaWZmIC0t
Z2l0IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4
IGM5M2I4ZDAuLjY0NzZjNmMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysg
Yi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTEwMzUsNiArMTAzNSw3IEBAIHN0YXRpYyBpbnQg
Zmxhc2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3ApCiAgICAg
Y2FzZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9FTkFCTEVfVFJBTlNMQVRFOgogICAgIGNhc2UgWEVO
X0RPTUNUTF9TSEFET1dfT1BfR0VUX0FMTE9DQVRJT046CiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NI
QURPV19PUF9TRVRfQUxMT0NBVElPTjoKKyAgICBjYXNlIFhFTl9ET01DVExfU0hBRE9XX09QX0JM
T1dfVEFCTEVTOgogICAgICAgICBwZXJtID0gU0hBRE9XX19FTkFCTEU7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfRU5BQkxFX0xPR0RJUlRZOgo=
--bcaec51d2b807baf1104bfaba79c
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--bcaec51d2b807baf1104bfaba79c--


From xen-devel-bounces@lists.xen.org Thu May 10 09:59:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ9F-0004ik-CM; Thu, 10 May 2012 09:59:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ9D-0004iR-Os
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:59:00 +0000
Received: from [85.158.143.99:36228] by server-3.bemta-4.messagelabs.com id
	35/2E-05853-2619BAF4; Thu, 10 May 2012 09:58:58 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336643936!16132435!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28886 invoked from network); 10 May 2012 09:58:57 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:58:57 -0000
Received: by vbbfn1 with SMTP id fn1so249971vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 02:58:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=xIfub88OwXh4HGATw152y5+U3E/E5LF5X+aXl1Buz0k=;
	b=unkBQs550bKKNg6VUYvWEkfBDFYWdlmKerJZ0BsiwkUNjofhUnW1aeCQfejPDE8KMH
	t5pEf7jnA5CAEY3yk/sOPHaZX8dOPYzZi7zbcBw7o+aLYEblVLKx0EjkQMU/c9RFsV6W
	RAA1BGoxojygoYe/WXMmTrTCI9F1+ZVH1YTRuKP8bt8tcSSIYTOj2V7lc+H3+9OIgQww
	ACxr5dRuSt49UZG46uhNGLV8S9J+mwbQXbCAsRxwc56p8xPWpn/gqB7sCTCgiF+Qdx/k
	lcyPxWgrIFmtbcdJJOKYVZbhRi9oPChoSvmilk9HYwqixsjT1/hvETV/iJJNX915ho1y
	wEYQ==
Received: by 10.52.97.41 with SMTP id dx9mr1700695vdb.89.1336643936339; Thu,
	10 May 2012 02:58:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:58:36 -0700 (PDT)
In-Reply-To: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:58:36 +0100
Message-ID: <CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=20cf307f38060445a804bfabab62
Cc: Eric Chanudet <eric.chanudet@gmail.com>
Subject: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf307f38060445a804bfabab62
Content-Type: text/plain; charset=ISO-8859-1

Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
The default behaviour remains the same (log into plain files)

From: Eric Chanudet <eric.chanudet@citrix.com>
Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--20cf307f38060445a804bfabab62
Content-Type: text/x-patch; charset=US-ASCII; name="xenconsoled-syslog.patch"
Content-Disposition: attachment; filename="xenconsoled-syslog.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21mn1zq1

ZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgYi90b29scy9jb25zb2xlL2Rh
ZW1vbi9pby5jCmluZGV4IGI2ZDQxZGUuLmIxOGJlM2UgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbnNv
bGUvZGFlbW9uL2lvLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYwpAQCAtNzMsMTMg
KzczLDE0IEBAIHN0YXRpYyB4Y19ldnRjaG4gKnhjZV9oYW5kbGUgPSBOVUxMOwogc3RydWN0IGJ1
ZmZlciB7CiAJY2hhciAqZGF0YTsKIAlzaXplX3QgY29uc3VtZWQ7Ci0Jc2l6ZV90IHNpemU7Ci0J
c2l6ZV90IGNhcGFjaXR5OworCXNpemVfdCBzaXplOyAgICAgICAgIC8qIEFtb3VudCBvZiBkYXRh
IGN1cnJlbnRseSBpbiB0aGUgYnVmZmVyICovCisJc2l6ZV90IGNhcGFjaXR5OyAgICAgLyogQW1v
dW50IG9mIGFsbG9jYXRlZCBkYXRhIGZvciB0aGUgYnVmZmVyICovCiAJc2l6ZV90IG1heF9jYXBh
Y2l0eTsKIH07CiAKIHN0cnVjdCBkb21haW4gewogCWludCBkb21pZDsKKwljaGFyICpuYW1lOwog
CWludCBtYXN0ZXJfZmQ7CiAJaW50IHNsYXZlX2ZkOwogCWludCBsb2dfZmQ7CkBAIC0xNDcsNiAr
MTQ4LDcgQEAgc3RhdGljIGludCB3cml0ZV93aXRoX3RpbWVzdGFtcChpbnQgZmQsIGNvbnN0IGNo
YXIgKmRhdGEsIHNpemVfdCBzeiwKIHN0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGRv
bWFpbiAqZG9tKQogewogCXN0cnVjdCBidWZmZXIgKmJ1ZmZlciA9ICZkb20tPmJ1ZmZlcjsKKwlz
dHJ1Y3QgYnVmZmVyIHNsYnVmID0geyAwIH07CiAJWEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9k
LCBzaXplOwogCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9IGRvbS0+aW50ZXJmYWNl
OwogCkBAIC0xNTgsNyArMTYwLDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3Qg
ZG9tYWluICpkb20pCiAJaWYgKChzaXplID09IDApIHx8IChzaXplID4gc2l6ZW9mKGludGYtPm91
dCkpKQogCQlyZXR1cm47CiAKLQlpZiAoKGJ1ZmZlci0+Y2FwYWNpdHkgLSBidWZmZXItPnNpemUp
IDwgc2l6ZSkgeworCWlmICgoYnVmZmVyLT5jYXBhY2l0eSAtIGJ1ZmZlci0+c2l6ZSkgPCBzaXpl
ICsgMSkgewogCQlidWZmZXItPmNhcGFjaXR5ICs9IChzaXplICsgMTAyNCk7CiAJCWJ1ZmZlci0+
ZGF0YSA9IHJlYWxsb2MoYnVmZmVyLT5kYXRhLCBidWZmZXItPmNhcGFjaXR5KTsKIAkJaWYgKGJ1
ZmZlci0+ZGF0YSA9PSBOVUxMKSB7CkBAIC0xNjYsMTAgKzE2OCwzMSBAQCBzdGF0aWMgdm9pZCBi
dWZmZXJfYXBwZW5kKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJCWV4aXQoRU5PTUVNKTsKIAkJfQog
CX0KKwlzbGJ1Zi5jYXBhY2l0eSA9IGJ1ZmZlci0+Y2FwYWNpdHk7CisJc2xidWYubWF4X2NhcGFj
aXR5ID0gYnVmZmVyLT5tYXhfY2FwYWNpdHk7CisJc2xidWYuZGF0YSA9IG1hbGxvYyhzbGJ1Zi5j
YXBhY2l0eSk7CisJaWYgKCFzbGJ1Zi5kYXRhKSB7CisJCWRvbG9nKExPR19FUlIsICJNZW1vcnkg
YWxsb2NhdGlvbiBmYWlsZWQiKTsKKwkJZXhpdChFTk9NRU0pOworCX0KIAotCXdoaWxlIChjb25z
ICE9IHByb2QpCi0JCWJ1ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBpbnRmLT5vdXRbCi0J
CQlNQVNLX1hFTkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJZm9yICg7IGNvbnMgIT0g
cHJvZDsgKytjb25zKSB7CisJCWNoYXIgY2ggPSBpbnRmLT5vdXRbTUFTS19YRU5DT05TX0lEWChj
b25zLCBpbnRmLT5vdXQpXTsKKwkJc2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCWJ1
ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBjaDsKKwkJaWYgIChjaCA9PSAnXHInIHx8IGNo
ID09ICdcbicpIHsKKwkJCXNsYnVmLmRhdGFbc2xidWYuc2l6ZSAtIDFdID0gJ1wwJzsKKwkJCSsr
Y29uczsKKwkJCWlmIChjb25zICE9IHByb2QpIHsKKwkJCQljaCA9IGludGYtPm91dFtNQVNLX1hF
TkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJCQkJYnVmZmVyLT5kYXRhW2J1ZmZlci0+
c2l6ZSsrXSA9IGNoOworCQkJCWlmIChjaCAhPSAnXHInICYmIGNoICE9ICdcbicpIHsKKwkJCQkJ
c2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCQkJfQorCQkJfQorCQkJYnJlYWs7CisJ
CX0KKwl9CiAKIAl4ZW5fbWIoKTsKIAlpbnRmLT5vdXRfY29ucyA9IGNvbnM7CkBAIC0xOTYsNiAr
MjE5LDkgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpkb20pCiAJ
CQlkb2xvZyhMT0dfRVJSLCAiV3JpdGUgdG8gbG9nIGZhaWxlZCAiCiAJCQkgICAgICAib24gZG9t
YWluICVkOiAlZCAoJXMpXG4iLAogCQkJICAgICAgZG9tLT5kb21pZCwgZXJybm8sIHN0cmVycm9y
KGVycm5vKSk7CisJfSBlbHNlIHsKKwkJLyogRmFsbHMgYmFjayB0byBzeXNsb2cgaXMgdGhlIGRv
bWFpbiBkb2Vzbid0IGhhdmUgYSBsb2cgZmlsZSAqLworCQlzeXNsb2coTE9HX0lORk8sICIlcyAo
JWkpOiAlcyIsIGRvbS0+bmFtZSwgZG9tLT5kb21pZCwgc2xidWYuZGF0YSk7CiAJfQogCiAJaWYg
KGRpc2NhcmRfb3ZlcmZsb3dlZF9kYXRhICYmIGJ1ZmZlci0+bWF4X2NhcGFjaXR5ICYmCkBAIC0y
MTksNiArMjQ1LDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpk
b20pCiAJCQlidWZmZXItPnNpemUgPSBidWZmZXItPm1heF9jYXBhY2l0eSAvIDIgKyBvdmVyOwog
CQl9CiAJfQorCWZyZWUoc2xidWYuZGF0YSk7CiB9CiAKIHN0YXRpYyBib29sIGJ1ZmZlcl9lbXB0
eShzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCkBAIC0yNTUsNiArMjgyLDEwIEBAIHN0YXRpYyBpbnQg
Y3JlYXRlX2h2X2xvZyh2b2lkKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07CiAJaW50IGZk
OworCisJaWYgKCFsb2dfZGlyKQorCQlyZXR1cm4gLTE7CisKIAlzbnByaW50Zihsb2dmaWxlLCBQ
QVRIX01BWC0xLCAiJXMvaHlwZXJ2aXNvci5sb2ciLCBsb2dfZGlyKTsKIAlsb2dmaWxlW1BBVEhf
TUFYLTFdID0gJ1wwJzsKIApAQCAtMjc1LDMyICszMDYsNTYgQEAgc3RhdGljIGludCBjcmVhdGVf
aHZfbG9nKHZvaWQpCiAJcmV0dXJuIGZkOwogfQogCitzdGF0aWMgY2hhciAqc2FmZV94c19yZWFk
KGNvbnN0IGNoYXIgKmtleSwgaW50IHRyaWVzKQoreworCWNoYXIgKmRhdGEgPSBOVUxMOworCXVu
c2lnbmVkIGludCBsZW47CisJc3RydWN0IHRpbWVzcGVjIHJlcSA9IHsgLnR2X3NlYyA9IDAsIC50
dl9uc2VjID0gMTAwMDAwMDAwIH07IC8qIDEwMCBtcyAqLworCWludCBpOworCisJZm9yIChpID0g
MDsgaSA8IHRyaWVzOyBpKyspIHsKKwkJZGF0YSA9IHhzX3JlYWQoeHMsIFhCVF9OVUxMLCBrZXks
ICZsZW4pOworCQlpZiAoZGF0YSAmJiBsZW4gPiAwKQorCQkJYnJlYWs7CisJCWZyZWUoZGF0YSk7
CisJCW5hbm9zbGVlcCgmcmVxLCBOVUxMKTsKKwl9CisJcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRp
YyBjaGFyICpuYW1lX2Zyb21fZG9tcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgbmFt
ZXBhdGhbNjRdID0geyAwIH0sICpuYW1lOworCXN0cm5jYXQoIG5hbWVwYXRoLCBwYXRoICwgc2l6
ZW9mKG5hbWVwYXRoKSApOworCXN0cm5jYXQoIG5hbWVwYXRoLCAiL25hbWUiLCBzaXplb2YobmFt
ZXBhdGgpIC0gc3RybGVuKG5hbWVwYXRoKSApOworCisJbmFtZSA9IHNhZmVfeHNfcmVhZChuYW1l
cGF0aCwgMSk7CisJLyogd2l0aG91dCBhbnkgbmFtZSBhZnRlciAxMDAgdHJpZXMsIGp1c3QgZGVm
YXVsdCB0byB1bm5hbWVkICovCisJaWYgKCFuYW1lKQorCQluYW1lID0gc3RyZHVwKCJ1bm5hbWVk
Iik7CisJcmV0dXJuIG5hbWU7Cit9CisKIHN0YXRpYyBpbnQgY3JlYXRlX2RvbWFpbl9sb2coc3Ry
dWN0IGRvbWFpbiAqZG9tKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07Ci0JY2hhciAqbmFt
ZXBhdGgsICpkYXRhLCAqczsKKwljaGFyICpuYW1lcGF0aDsKIAlpbnQgZmQ7Ci0JdW5zaWduZWQg
aW50IGxlbjsKIAogCW5hbWVwYXRoID0geHNfZ2V0X2RvbWFpbl9wYXRoKHhzLCBkb20tPmRvbWlk
KTsKLQlzID0gcmVhbGxvYyhuYW1lcGF0aCwgc3RybGVuKG5hbWVwYXRoKSArIDYpOwotCWlmIChz
ID09IE5VTEwpIHsKKwlpZiAobmFtZXBhdGggPT0gTlVMTCkgewogCQlmcmVlKG5hbWVwYXRoKTsK
IAkJcmV0dXJuIC0xOwogCX0KLQluYW1lcGF0aCA9IHM7Ci0Jc3RyY2F0KG5hbWVwYXRoLCAiL25h
bWUiKTsKLQlkYXRhID0geHNfcmVhZCh4cywgWEJUX05VTEwsIG5hbWVwYXRoLCAmbGVuKTsKKwlk
b20tPm5hbWUgPSBuYW1lX2Zyb21fZG9tcGF0aChuYW1lcGF0aCk7CiAJZnJlZShuYW1lcGF0aCk7
Ci0JaWYgKCFkYXRhKQorCWlmICghZG9tLT5uYW1lKSB7CiAJCXJldHVybiAtMTsKLQlpZiAoIWxl
bikgewotCQlmcmVlKGRhdGEpOworCX0KKwlpZiAoIWxvZ19kaXIpIHsKIAkJcmV0dXJuIC0xOwog
CX0KLQotCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFYLTEsICIlcy9ndWVzdC0lcy5sb2ciLCBs
b2dfZGlyLCBkYXRhKTsKLQlmcmVlKGRhdGEpOworCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFY
IC0gMSwgIiVzLyVzLmxvZyIsIGxvZ19kaXIsIGRvbS0+bmFtZSk7CiAJbG9nZmlsZVtQQVRIX01B
WC0xXSA9ICdcMCc7CiAKIAlmZCA9IG9wZW4obG9nZmlsZSwgT19XUk9OTFl8T19DUkVBVHxPX0FQ
UEVORCwgMDY0NCk7CkBAIC02NTYsNiArNzExLDcgQEAgc3RhdGljIHN0cnVjdCBkb21haW4gKmNy
ZWF0ZV9kb21haW4oaW50IGRvbWlkKQogCWRvbS0+cmVtb3RlX3BvcnQgPSAtMTsKIAlkb20tPmlu
dGVyZmFjZSA9IE5VTEw7CiAJZG9tLT54Y2VfaGFuZGxlID0gTlVMTDsKKwlkb20tPm5hbWUgPSBO
VUxMOwogCiAJaWYgKCF3YXRjaF9kb21haW4oZG9tLCB0cnVlKSkKIAkJZ290byBvdXQ7CkBAIC03
MTIsNiArNzY4LDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBfZG9tYWluKHN0cnVjdCBkb21haW4g
KmQpCiAJZnJlZShkLT5jb25zcGF0aCk7CiAJZC0+Y29uc3BhdGggPSBOVUxMOwogCisgICAgICAg
IGlmIChkLT5uYW1lKSB7CisJICAgIGZyZWUoZC0+bmFtZSk7CisJICAgIGQtPm5hbWUgPSBOVUxM
OworICAgICAgICB9CisKIAlyZW1vdmVfZG9tYWluKGQpOwogfQogCkBAIC04NzgsNyArOTM5LDEw
IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV94cyh2b2lkKQogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHZf
bG9ncyh2b2lkKQogewotCWNoYXIgYnVmZmVyWzEwMjQqMTZdOworCWNoYXIgYnVmZmVyWzEwMjQq
MTYgKyAxXTsKKwlzdGF0aWMgY2hhciBsYnVmWzEwMjQqMTYgKyAxXTsKKwlzdGF0aWMgaW50IGxv
ZmYgPSAwOworCWludCBpID0gMDsKIAljaGFyICpidWZwdHIgPSBidWZmZXI7CiAJdW5zaWduZWQg
aW50IHNpemUgPSBzaXplb2YoYnVmZmVyKTsKIAlzdGF0aWMgdWludDMyX3QgaW5kZXggPSAwOwpA
QCAtODg4LDE3ICs5NTIsMzYgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2h2X2xvZ3Modm9pZCkKIAkJ
cmV0dXJuOwogCiAJaWYgKHhjX3JlYWRjb25zb2xlcmluZyh4Y2gsIGJ1ZnB0ciwgJnNpemUsIDAs
IDEsICZpbmRleCkgPT0gMCAmJiBzaXplID4gMCkgewotCQlpbnQgbG9ncmV0OwotCQlpZiAobG9n
X3RpbWVfaHYpCi0JCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKLQkJCQkJCSAgICAgICZsb2dfdGltZV9odl9uZWVkdHMpOwotCQllbHNlCi0J
CQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOwotCi0JCWlmIChs
b2dyZXQgPCAwKQotCQkJZG9sb2coTE9HX0VSUiwgIkZhaWxlZCB0byB3cml0ZSBoeXBlcnZpc29y
IGxvZzogIgotCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwot
CX0KKwkJaWYgKGxvZ19odl9mZCAhPSAtMSkgeworCQkJaW50IGxvZ3JldDsKKwkJCWlmIChsb2df
dGltZV9odikKKwkJCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKKwkJCQkJCQkgICAgICAmbG9nX3RpbWVfaHZfbmVlZHRzKTsKKwkJCWVsc2UK
KwkJCQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOworCisJCQlp
ZiAobG9ncmV0IDwgMCkKKwkJCQlkb2xvZyhMT0dfRVJSLCAiRmFpbGVkIHRvIHdyaXRlIGh5cGVy
dmlzb3IgbG9nOiAiCisJCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJu
bykpOworCQl9IGVsc2UgeworCQkJd2hpbGUgKGkgPCBzaXplKSB7CisJCQkJd2hpbGUgKChpIDwg
c2l6ZSkgJiYKKwkJCQkgICAgICAgKGJ1ZmZlcltpXSAhPSAnXG4nKSAmJiAoYnVmZmVyW2ldICE9
ICdccicpKSB7CisJCQkJCWxidWZbbG9mZisrXSA9IGJ1ZmZlcltpKytdOworCQkJCX0KKwkJCQlp
ZiAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSB7CisJCQkJCWxi
dWZbbG9mZl0gPSAnXDAnOworCQkJCQkrK2k7CisJCQkJCWlmICgoaSA8IHNpemUpICYmCisJCQkJ
CSAgICAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSkgeworCQkJ
CQkJKytpOworCQkJCQl9CisJCQkJCXN5c2xvZyhMT0dfSU5GTywgImh5cGVydmlzb3I6ICVzIiwg
bGJ1Zik7CisJCQkJCWxvZmYgPSAwOworCQkJCX0KKwkJCX0KKwkJfQorICAgICAgICB9CiAKIAko
dm9pZCl4Y19ldnRjaG5fdW5tYXNrKHhjZV9oYW5kbGUsIHBvcnQpOwogfQpAQCAtOTQwLDggKzEw
MjMsNiBAQCB2b2lkIGhhbmRsZV9pbyh2b2lkKQogCQkJZ290byBvdXQ7CiAJCX0KIAkJbG9nX2h2
X2ZkID0gY3JlYXRlX2h2X2xvZygpOwotCQlpZiAobG9nX2h2X2ZkID09IC0xKQotCQkJZ290byBv
dXQ7CiAJCWxvZ19odl9ldnRjaG4gPSB4Y19ldnRjaG5fYmluZF92aXJxKHhjZV9oYW5kbGUsIFZJ
UlFfQ09OX1JJTkcpOwogCQlpZiAobG9nX2h2X2V2dGNobiA9PSAtMSkgewogCQkJZG9sb2coTE9H
X0VSUiwgIkZhaWxlZCB0byBiaW5kIHRvIFZJUlFfQ09OX1JJTkc6ICIKZGlmZiAtLWdpdCBhL3Rv
b2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYwpp
bmRleCA3ODliYWE2Li45MTljODZlIDEwMDY0NAotLS0gYS90b29scy9jb25zb2xlL2RhZW1vbi9t
YWluLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vbWFpbi5jCkBAIC0zOSw2ICszOSw3IEBA
IGludCBsb2dfdGltZV9odiA9IDA7CiBpbnQgbG9nX3RpbWVfZ3Vlc3QgPSAwOwogY2hhciAqbG9n
X2RpciA9IE5VTEw7CiBpbnQgZGlzY2FyZF9vdmVyZmxvd2VkX2RhdGEgPSAxOworaW50IHVzZV9z
eXNsb2cgPSAwOwogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHVwKGludCBzaWcpCiB7CkBAIC00Nyw3
ICs0OCw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9odXAoaW50IHNpZykKIAogc3RhdGljIHZvaWQg
dXNhZ2UoY2hhciAqbmFtZSkKIHsKLQlwcmludGYoIlVzYWdlOiAlcyBbLWhdIFstVl0gWy12XSBb
LWldIFstLWxvZz1ub25lfGd1ZXN0fGh2fGFsbF0gWy0tbG9nLWRpcj1ESVJdIFstLXBpZC1maWxl
PVBBVEhdIFstdCwgLS10aW1lc3RhbXA9bm9uZXxndWVzdHxodnxhbGxdIFstbywgLS1vdmVyZmxv
dy1kYXRhPWRpc2NhcmR8a2VlcF1cbiIsIG5hbWUpOworCXByaW50ZigiVXNhZ2U6ICVzIFstaF0g
Wy1WXSBbLXZdIFstaV0gWy0tbG9nPW5vbmV8Z3Vlc3R8aHZ8YWxsXSBbLS1zeXNsb2ddIFstLWxv
Zy1kaXI9RElSXSBbLS1waWQtZmlsZT1QQVRIXSBbLXQsIC0tdGltZXN0YW1wPW5vbmV8Z3Vlc3R8
aHZ8YWxsXSBbLW8sIC0tb3ZlcmZsb3ctZGF0YT1kaXNjYXJkfGtlZXBdXG4iLCBuYW1lKTsKIH0K
IAogc3RhdGljIHZvaWQgdmVyc2lvbihjaGFyICpuYW1lKQpAQCAtNjgsNiArNjksNyBAQCBpbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCXsgInBpZC1maWxlIiwgMSwgMCwgJ3AnIH0s
CiAJCXsgInRpbWVzdGFtcCIsIDEsIDAsICd0JyB9LAogCQl7ICJvdmVyZmxvdy1kYXRhIiwgMSwg
MCwgJ28nfSwKKwkJeyAic3lzbG9nIiwgMCwgMCwgJ3MnIH0sCiAJCXsgMCB9LAogCX07CiAJYm9v
bCBpc19pbnRlcmFjdGl2ZSA9IGZhbHNlOwpAQCAtMTA2LDYgKzEwOCw5IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICoqYXJndikKIAkJCSAgICAgIGxvZ19ndWVzdCA9IDE7CiAJCQl9CiAJCQli
cmVhazsKKwkJY2FzZSAncyc6CisJCQl1c2Vfc3lzbG9nID0gMTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogCQljYXNlICdyJzoKIAkJICAgICAgICBsb2dfZGlyID0gc3RyZHVwKG9w
dGFyZyk7CiAJCQlicmVhazsKQEAgLTE0MCw3ICsxNDUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhciAqKmFyZ3YpCiAJCX0KIAl9CiAKLQlpZiAoIWxvZ19kaXIpIHsKKwlpZiAoIWxvZ19kaXIg
JiYgIXVzZV9zeXNsb2cpIHsKIAkJbG9nX2RpciA9IHN0cmR1cCgiL3Zhci9sb2cveGVuL2NvbnNv
bGUiKTsKIAl9CiAK
--20cf307f38060445a804bfabab62
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf307f38060445a804bfabab62--


From xen-devel-bounces@lists.xen.org Thu May 10 09:59:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 09:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQ9F-0004ik-CM; Thu, 10 May 2012 09:59:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQ9D-0004iR-Os
	for xen-devel@lists.xen.org; Thu, 10 May 2012 09:59:00 +0000
Received: from [85.158.143.99:36228] by server-3.bemta-4.messagelabs.com id
	35/2E-05853-2619BAF4; Thu, 10 May 2012 09:58:58 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336643936!16132435!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28886 invoked from network); 10 May 2012 09:58:57 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 09:58:57 -0000
Received: by vbbfn1 with SMTP id fn1so249971vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 02:58:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=xIfub88OwXh4HGATw152y5+U3E/E5LF5X+aXl1Buz0k=;
	b=unkBQs550bKKNg6VUYvWEkfBDFYWdlmKerJZ0BsiwkUNjofhUnW1aeCQfejPDE8KMH
	t5pEf7jnA5CAEY3yk/sOPHaZX8dOPYzZi7zbcBw7o+aLYEblVLKx0EjkQMU/c9RFsV6W
	RAA1BGoxojygoYe/WXMmTrTCI9F1+ZVH1YTRuKP8bt8tcSSIYTOj2V7lc+H3+9OIgQww
	ACxr5dRuSt49UZG46uhNGLV8S9J+mwbQXbCAsRxwc56p8xPWpn/gqB7sCTCgiF+Qdx/k
	lcyPxWgrIFmtbcdJJOKYVZbhRi9oPChoSvmilk9HYwqixsjT1/hvETV/iJJNX915ho1y
	wEYQ==
Received: by 10.52.97.41 with SMTP id dx9mr1700695vdb.89.1336643936339; Thu,
	10 May 2012 02:58:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 02:58:36 -0700 (PDT)
In-Reply-To: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 10:58:36 +0100
Message-ID: <CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=20cf307f38060445a804bfabab62
Cc: Eric Chanudet <eric.chanudet@gmail.com>
Subject: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--20cf307f38060445a804bfabab62
Content-Type: text/plain; charset=ISO-8859-1

Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
The default behaviour remains the same (log into plain files)

From: Eric Chanudet <eric.chanudet@citrix.com>
Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--20cf307f38060445a804bfabab62
Content-Type: text/x-patch; charset=US-ASCII; name="xenconsoled-syslog.patch"
Content-Disposition: attachment; filename="xenconsoled-syslog.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21mn1zq1

ZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgYi90b29scy9jb25zb2xlL2Rh
ZW1vbi9pby5jCmluZGV4IGI2ZDQxZGUuLmIxOGJlM2UgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbnNv
bGUvZGFlbW9uL2lvLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYwpAQCAtNzMsMTMg
KzczLDE0IEBAIHN0YXRpYyB4Y19ldnRjaG4gKnhjZV9oYW5kbGUgPSBOVUxMOwogc3RydWN0IGJ1
ZmZlciB7CiAJY2hhciAqZGF0YTsKIAlzaXplX3QgY29uc3VtZWQ7Ci0Jc2l6ZV90IHNpemU7Ci0J
c2l6ZV90IGNhcGFjaXR5OworCXNpemVfdCBzaXplOyAgICAgICAgIC8qIEFtb3VudCBvZiBkYXRh
IGN1cnJlbnRseSBpbiB0aGUgYnVmZmVyICovCisJc2l6ZV90IGNhcGFjaXR5OyAgICAgLyogQW1v
dW50IG9mIGFsbG9jYXRlZCBkYXRhIGZvciB0aGUgYnVmZmVyICovCiAJc2l6ZV90IG1heF9jYXBh
Y2l0eTsKIH07CiAKIHN0cnVjdCBkb21haW4gewogCWludCBkb21pZDsKKwljaGFyICpuYW1lOwog
CWludCBtYXN0ZXJfZmQ7CiAJaW50IHNsYXZlX2ZkOwogCWludCBsb2dfZmQ7CkBAIC0xNDcsNiAr
MTQ4LDcgQEAgc3RhdGljIGludCB3cml0ZV93aXRoX3RpbWVzdGFtcChpbnQgZmQsIGNvbnN0IGNo
YXIgKmRhdGEsIHNpemVfdCBzeiwKIHN0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGRv
bWFpbiAqZG9tKQogewogCXN0cnVjdCBidWZmZXIgKmJ1ZmZlciA9ICZkb20tPmJ1ZmZlcjsKKwlz
dHJ1Y3QgYnVmZmVyIHNsYnVmID0geyAwIH07CiAJWEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9k
LCBzaXplOwogCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9IGRvbS0+aW50ZXJmYWNl
OwogCkBAIC0xNTgsNyArMTYwLDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3Qg
ZG9tYWluICpkb20pCiAJaWYgKChzaXplID09IDApIHx8IChzaXplID4gc2l6ZW9mKGludGYtPm91
dCkpKQogCQlyZXR1cm47CiAKLQlpZiAoKGJ1ZmZlci0+Y2FwYWNpdHkgLSBidWZmZXItPnNpemUp
IDwgc2l6ZSkgeworCWlmICgoYnVmZmVyLT5jYXBhY2l0eSAtIGJ1ZmZlci0+c2l6ZSkgPCBzaXpl
ICsgMSkgewogCQlidWZmZXItPmNhcGFjaXR5ICs9IChzaXplICsgMTAyNCk7CiAJCWJ1ZmZlci0+
ZGF0YSA9IHJlYWxsb2MoYnVmZmVyLT5kYXRhLCBidWZmZXItPmNhcGFjaXR5KTsKIAkJaWYgKGJ1
ZmZlci0+ZGF0YSA9PSBOVUxMKSB7CkBAIC0xNjYsMTAgKzE2OCwzMSBAQCBzdGF0aWMgdm9pZCBi
dWZmZXJfYXBwZW5kKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJCWV4aXQoRU5PTUVNKTsKIAkJfQog
CX0KKwlzbGJ1Zi5jYXBhY2l0eSA9IGJ1ZmZlci0+Y2FwYWNpdHk7CisJc2xidWYubWF4X2NhcGFj
aXR5ID0gYnVmZmVyLT5tYXhfY2FwYWNpdHk7CisJc2xidWYuZGF0YSA9IG1hbGxvYyhzbGJ1Zi5j
YXBhY2l0eSk7CisJaWYgKCFzbGJ1Zi5kYXRhKSB7CisJCWRvbG9nKExPR19FUlIsICJNZW1vcnkg
YWxsb2NhdGlvbiBmYWlsZWQiKTsKKwkJZXhpdChFTk9NRU0pOworCX0KIAotCXdoaWxlIChjb25z
ICE9IHByb2QpCi0JCWJ1ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBpbnRmLT5vdXRbCi0J
CQlNQVNLX1hFTkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJZm9yICg7IGNvbnMgIT0g
cHJvZDsgKytjb25zKSB7CisJCWNoYXIgY2ggPSBpbnRmLT5vdXRbTUFTS19YRU5DT05TX0lEWChj
b25zLCBpbnRmLT5vdXQpXTsKKwkJc2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCWJ1
ZmZlci0+ZGF0YVtidWZmZXItPnNpemUrK10gPSBjaDsKKwkJaWYgIChjaCA9PSAnXHInIHx8IGNo
ID09ICdcbicpIHsKKwkJCXNsYnVmLmRhdGFbc2xidWYuc2l6ZSAtIDFdID0gJ1wwJzsKKwkJCSsr
Y29uczsKKwkJCWlmIChjb25zICE9IHByb2QpIHsKKwkJCQljaCA9IGludGYtPm91dFtNQVNLX1hF
TkNPTlNfSURYKGNvbnMrKywgaW50Zi0+b3V0KV07CisJCQkJYnVmZmVyLT5kYXRhW2J1ZmZlci0+
c2l6ZSsrXSA9IGNoOworCQkJCWlmIChjaCAhPSAnXHInICYmIGNoICE9ICdcbicpIHsKKwkJCQkJ
c2xidWYuZGF0YVtzbGJ1Zi5zaXplKytdID0gY2g7CisJCQkJfQorCQkJfQorCQkJYnJlYWs7CisJ
CX0KKwl9CiAKIAl4ZW5fbWIoKTsKIAlpbnRmLT5vdXRfY29ucyA9IGNvbnM7CkBAIC0xOTYsNiAr
MjE5LDkgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpkb20pCiAJ
CQlkb2xvZyhMT0dfRVJSLCAiV3JpdGUgdG8gbG9nIGZhaWxlZCAiCiAJCQkgICAgICAib24gZG9t
YWluICVkOiAlZCAoJXMpXG4iLAogCQkJICAgICAgZG9tLT5kb21pZCwgZXJybm8sIHN0cmVycm9y
KGVycm5vKSk7CisJfSBlbHNlIHsKKwkJLyogRmFsbHMgYmFjayB0byBzeXNsb2cgaXMgdGhlIGRv
bWFpbiBkb2Vzbid0IGhhdmUgYSBsb2cgZmlsZSAqLworCQlzeXNsb2coTE9HX0lORk8sICIlcyAo
JWkpOiAlcyIsIGRvbS0+bmFtZSwgZG9tLT5kb21pZCwgc2xidWYuZGF0YSk7CiAJfQogCiAJaWYg
KGRpc2NhcmRfb3ZlcmZsb3dlZF9kYXRhICYmIGJ1ZmZlci0+bWF4X2NhcGFjaXR5ICYmCkBAIC0y
MTksNiArMjQ1LDcgQEAgc3RhdGljIHZvaWQgYnVmZmVyX2FwcGVuZChzdHJ1Y3QgZG9tYWluICpk
b20pCiAJCQlidWZmZXItPnNpemUgPSBidWZmZXItPm1heF9jYXBhY2l0eSAvIDIgKyBvdmVyOwog
CQl9CiAJfQorCWZyZWUoc2xidWYuZGF0YSk7CiB9CiAKIHN0YXRpYyBib29sIGJ1ZmZlcl9lbXB0
eShzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCkBAIC0yNTUsNiArMjgyLDEwIEBAIHN0YXRpYyBpbnQg
Y3JlYXRlX2h2X2xvZyh2b2lkKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07CiAJaW50IGZk
OworCisJaWYgKCFsb2dfZGlyKQorCQlyZXR1cm4gLTE7CisKIAlzbnByaW50Zihsb2dmaWxlLCBQ
QVRIX01BWC0xLCAiJXMvaHlwZXJ2aXNvci5sb2ciLCBsb2dfZGlyKTsKIAlsb2dmaWxlW1BBVEhf
TUFYLTFdID0gJ1wwJzsKIApAQCAtMjc1LDMyICszMDYsNTYgQEAgc3RhdGljIGludCBjcmVhdGVf
aHZfbG9nKHZvaWQpCiAJcmV0dXJuIGZkOwogfQogCitzdGF0aWMgY2hhciAqc2FmZV94c19yZWFk
KGNvbnN0IGNoYXIgKmtleSwgaW50IHRyaWVzKQoreworCWNoYXIgKmRhdGEgPSBOVUxMOworCXVu
c2lnbmVkIGludCBsZW47CisJc3RydWN0IHRpbWVzcGVjIHJlcSA9IHsgLnR2X3NlYyA9IDAsIC50
dl9uc2VjID0gMTAwMDAwMDAwIH07IC8qIDEwMCBtcyAqLworCWludCBpOworCisJZm9yIChpID0g
MDsgaSA8IHRyaWVzOyBpKyspIHsKKwkJZGF0YSA9IHhzX3JlYWQoeHMsIFhCVF9OVUxMLCBrZXks
ICZsZW4pOworCQlpZiAoZGF0YSAmJiBsZW4gPiAwKQorCQkJYnJlYWs7CisJCWZyZWUoZGF0YSk7
CisJCW5hbm9zbGVlcCgmcmVxLCBOVUxMKTsKKwl9CisJcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRp
YyBjaGFyICpuYW1lX2Zyb21fZG9tcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgbmFt
ZXBhdGhbNjRdID0geyAwIH0sICpuYW1lOworCXN0cm5jYXQoIG5hbWVwYXRoLCBwYXRoICwgc2l6
ZW9mKG5hbWVwYXRoKSApOworCXN0cm5jYXQoIG5hbWVwYXRoLCAiL25hbWUiLCBzaXplb2YobmFt
ZXBhdGgpIC0gc3RybGVuKG5hbWVwYXRoKSApOworCisJbmFtZSA9IHNhZmVfeHNfcmVhZChuYW1l
cGF0aCwgMSk7CisJLyogd2l0aG91dCBhbnkgbmFtZSBhZnRlciAxMDAgdHJpZXMsIGp1c3QgZGVm
YXVsdCB0byB1bm5hbWVkICovCisJaWYgKCFuYW1lKQorCQluYW1lID0gc3RyZHVwKCJ1bm5hbWVk
Iik7CisJcmV0dXJuIG5hbWU7Cit9CisKIHN0YXRpYyBpbnQgY3JlYXRlX2RvbWFpbl9sb2coc3Ry
dWN0IGRvbWFpbiAqZG9tKQogewogCWNoYXIgbG9nZmlsZVtQQVRIX01BWF07Ci0JY2hhciAqbmFt
ZXBhdGgsICpkYXRhLCAqczsKKwljaGFyICpuYW1lcGF0aDsKIAlpbnQgZmQ7Ci0JdW5zaWduZWQg
aW50IGxlbjsKIAogCW5hbWVwYXRoID0geHNfZ2V0X2RvbWFpbl9wYXRoKHhzLCBkb20tPmRvbWlk
KTsKLQlzID0gcmVhbGxvYyhuYW1lcGF0aCwgc3RybGVuKG5hbWVwYXRoKSArIDYpOwotCWlmIChz
ID09IE5VTEwpIHsKKwlpZiAobmFtZXBhdGggPT0gTlVMTCkgewogCQlmcmVlKG5hbWVwYXRoKTsK
IAkJcmV0dXJuIC0xOwogCX0KLQluYW1lcGF0aCA9IHM7Ci0Jc3RyY2F0KG5hbWVwYXRoLCAiL25h
bWUiKTsKLQlkYXRhID0geHNfcmVhZCh4cywgWEJUX05VTEwsIG5hbWVwYXRoLCAmbGVuKTsKKwlk
b20tPm5hbWUgPSBuYW1lX2Zyb21fZG9tcGF0aChuYW1lcGF0aCk7CiAJZnJlZShuYW1lcGF0aCk7
Ci0JaWYgKCFkYXRhKQorCWlmICghZG9tLT5uYW1lKSB7CiAJCXJldHVybiAtMTsKLQlpZiAoIWxl
bikgewotCQlmcmVlKGRhdGEpOworCX0KKwlpZiAoIWxvZ19kaXIpIHsKIAkJcmV0dXJuIC0xOwog
CX0KLQotCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFYLTEsICIlcy9ndWVzdC0lcy5sb2ciLCBs
b2dfZGlyLCBkYXRhKTsKLQlmcmVlKGRhdGEpOworCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFY
IC0gMSwgIiVzLyVzLmxvZyIsIGxvZ19kaXIsIGRvbS0+bmFtZSk7CiAJbG9nZmlsZVtQQVRIX01B
WC0xXSA9ICdcMCc7CiAKIAlmZCA9IG9wZW4obG9nZmlsZSwgT19XUk9OTFl8T19DUkVBVHxPX0FQ
UEVORCwgMDY0NCk7CkBAIC02NTYsNiArNzExLDcgQEAgc3RhdGljIHN0cnVjdCBkb21haW4gKmNy
ZWF0ZV9kb21haW4oaW50IGRvbWlkKQogCWRvbS0+cmVtb3RlX3BvcnQgPSAtMTsKIAlkb20tPmlu
dGVyZmFjZSA9IE5VTEw7CiAJZG9tLT54Y2VfaGFuZGxlID0gTlVMTDsKKwlkb20tPm5hbWUgPSBO
VUxMOwogCiAJaWYgKCF3YXRjaF9kb21haW4oZG9tLCB0cnVlKSkKIAkJZ290byBvdXQ7CkBAIC03
MTIsNiArNzY4LDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBfZG9tYWluKHN0cnVjdCBkb21haW4g
KmQpCiAJZnJlZShkLT5jb25zcGF0aCk7CiAJZC0+Y29uc3BhdGggPSBOVUxMOwogCisgICAgICAg
IGlmIChkLT5uYW1lKSB7CisJICAgIGZyZWUoZC0+bmFtZSk7CisJICAgIGQtPm5hbWUgPSBOVUxM
OworICAgICAgICB9CisKIAlyZW1vdmVfZG9tYWluKGQpOwogfQogCkBAIC04NzgsNyArOTM5LDEw
IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV94cyh2b2lkKQogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHZf
bG9ncyh2b2lkKQogewotCWNoYXIgYnVmZmVyWzEwMjQqMTZdOworCWNoYXIgYnVmZmVyWzEwMjQq
MTYgKyAxXTsKKwlzdGF0aWMgY2hhciBsYnVmWzEwMjQqMTYgKyAxXTsKKwlzdGF0aWMgaW50IGxv
ZmYgPSAwOworCWludCBpID0gMDsKIAljaGFyICpidWZwdHIgPSBidWZmZXI7CiAJdW5zaWduZWQg
aW50IHNpemUgPSBzaXplb2YoYnVmZmVyKTsKIAlzdGF0aWMgdWludDMyX3QgaW5kZXggPSAwOwpA
QCAtODg4LDE3ICs5NTIsMzYgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2h2X2xvZ3Modm9pZCkKIAkJ
cmV0dXJuOwogCiAJaWYgKHhjX3JlYWRjb25zb2xlcmluZyh4Y2gsIGJ1ZnB0ciwgJnNpemUsIDAs
IDEsICZpbmRleCkgPT0gMCAmJiBzaXplID4gMCkgewotCQlpbnQgbG9ncmV0OwotCQlpZiAobG9n
X3RpbWVfaHYpCi0JCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKLQkJCQkJCSAgICAgICZsb2dfdGltZV9odl9uZWVkdHMpOwotCQllbHNlCi0J
CQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOwotCi0JCWlmIChs
b2dyZXQgPCAwKQotCQkJZG9sb2coTE9HX0VSUiwgIkZhaWxlZCB0byB3cml0ZSBoeXBlcnZpc29y
IGxvZzogIgotCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwot
CX0KKwkJaWYgKGxvZ19odl9mZCAhPSAtMSkgeworCQkJaW50IGxvZ3JldDsKKwkJCWlmIChsb2df
dGltZV9odikKKwkJCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChsb2dfaHZfZmQsIGJ1
ZmZlciwgc2l6ZSwKKwkJCQkJCQkgICAgICAmbG9nX3RpbWVfaHZfbmVlZHRzKTsKKwkJCWVsc2UK
KwkJCQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUpOworCisJCQlp
ZiAobG9ncmV0IDwgMCkKKwkJCQlkb2xvZyhMT0dfRVJSLCAiRmFpbGVkIHRvIHdyaXRlIGh5cGVy
dmlzb3IgbG9nOiAiCisJCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBzdHJlcnJvcihlcnJu
bykpOworCQl9IGVsc2UgeworCQkJd2hpbGUgKGkgPCBzaXplKSB7CisJCQkJd2hpbGUgKChpIDwg
c2l6ZSkgJiYKKwkJCQkgICAgICAgKGJ1ZmZlcltpXSAhPSAnXG4nKSAmJiAoYnVmZmVyW2ldICE9
ICdccicpKSB7CisJCQkJCWxidWZbbG9mZisrXSA9IGJ1ZmZlcltpKytdOworCQkJCX0KKwkJCQlp
ZiAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSB7CisJCQkJCWxi
dWZbbG9mZl0gPSAnXDAnOworCQkJCQkrK2k7CisJCQkJCWlmICgoaSA8IHNpemUpICYmCisJCQkJ
CSAgICAoKGJ1ZmZlcltpXSA9PSAnXG4nKSB8fCAoYnVmZmVyW2ldID09ICdccicpKSkgeworCQkJ
CQkJKytpOworCQkJCQl9CisJCQkJCXN5c2xvZyhMT0dfSU5GTywgImh5cGVydmlzb3I6ICVzIiwg
bGJ1Zik7CisJCQkJCWxvZmYgPSAwOworCQkJCX0KKwkJCX0KKwkJfQorICAgICAgICB9CiAKIAko
dm9pZCl4Y19ldnRjaG5fdW5tYXNrKHhjZV9oYW5kbGUsIHBvcnQpOwogfQpAQCAtOTQwLDggKzEw
MjMsNiBAQCB2b2lkIGhhbmRsZV9pbyh2b2lkKQogCQkJZ290byBvdXQ7CiAJCX0KIAkJbG9nX2h2
X2ZkID0gY3JlYXRlX2h2X2xvZygpOwotCQlpZiAobG9nX2h2X2ZkID09IC0xKQotCQkJZ290byBv
dXQ7CiAJCWxvZ19odl9ldnRjaG4gPSB4Y19ldnRjaG5fYmluZF92aXJxKHhjZV9oYW5kbGUsIFZJ
UlFfQ09OX1JJTkcpOwogCQlpZiAobG9nX2h2X2V2dGNobiA9PSAtMSkgewogCQkJZG9sb2coTE9H
X0VSUiwgIkZhaWxlZCB0byBiaW5kIHRvIFZJUlFfQ09OX1JJTkc6ICIKZGlmZiAtLWdpdCBhL3Rv
b2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYwpp
bmRleCA3ODliYWE2Li45MTljODZlIDEwMDY0NAotLS0gYS90b29scy9jb25zb2xlL2RhZW1vbi9t
YWluLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vbWFpbi5jCkBAIC0zOSw2ICszOSw3IEBA
IGludCBsb2dfdGltZV9odiA9IDA7CiBpbnQgbG9nX3RpbWVfZ3Vlc3QgPSAwOwogY2hhciAqbG9n
X2RpciA9IE5VTEw7CiBpbnQgZGlzY2FyZF9vdmVyZmxvd2VkX2RhdGEgPSAxOworaW50IHVzZV9z
eXNsb2cgPSAwOwogCiBzdGF0aWMgdm9pZCBoYW5kbGVfaHVwKGludCBzaWcpCiB7CkBAIC00Nyw3
ICs0OCw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9odXAoaW50IHNpZykKIAogc3RhdGljIHZvaWQg
dXNhZ2UoY2hhciAqbmFtZSkKIHsKLQlwcmludGYoIlVzYWdlOiAlcyBbLWhdIFstVl0gWy12XSBb
LWldIFstLWxvZz1ub25lfGd1ZXN0fGh2fGFsbF0gWy0tbG9nLWRpcj1ESVJdIFstLXBpZC1maWxl
PVBBVEhdIFstdCwgLS10aW1lc3RhbXA9bm9uZXxndWVzdHxodnxhbGxdIFstbywgLS1vdmVyZmxv
dy1kYXRhPWRpc2NhcmR8a2VlcF1cbiIsIG5hbWUpOworCXByaW50ZigiVXNhZ2U6ICVzIFstaF0g
Wy1WXSBbLXZdIFstaV0gWy0tbG9nPW5vbmV8Z3Vlc3R8aHZ8YWxsXSBbLS1zeXNsb2ddIFstLWxv
Zy1kaXI9RElSXSBbLS1waWQtZmlsZT1QQVRIXSBbLXQsIC0tdGltZXN0YW1wPW5vbmV8Z3Vlc3R8
aHZ8YWxsXSBbLW8sIC0tb3ZlcmZsb3ctZGF0YT1kaXNjYXJkfGtlZXBdXG4iLCBuYW1lKTsKIH0K
IAogc3RhdGljIHZvaWQgdmVyc2lvbihjaGFyICpuYW1lKQpAQCAtNjgsNiArNjksNyBAQCBpbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCXsgInBpZC1maWxlIiwgMSwgMCwgJ3AnIH0s
CiAJCXsgInRpbWVzdGFtcCIsIDEsIDAsICd0JyB9LAogCQl7ICJvdmVyZmxvdy1kYXRhIiwgMSwg
MCwgJ28nfSwKKwkJeyAic3lzbG9nIiwgMCwgMCwgJ3MnIH0sCiAJCXsgMCB9LAogCX07CiAJYm9v
bCBpc19pbnRlcmFjdGl2ZSA9IGZhbHNlOwpAQCAtMTA2LDYgKzEwOCw5IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICoqYXJndikKIAkJCSAgICAgIGxvZ19ndWVzdCA9IDE7CiAJCQl9CiAJCQli
cmVhazsKKwkJY2FzZSAncyc6CisJCQl1c2Vfc3lzbG9nID0gMTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogCQljYXNlICdyJzoKIAkJICAgICAgICBsb2dfZGlyID0gc3RyZHVwKG9w
dGFyZyk7CiAJCQlicmVhazsKQEAgLTE0MCw3ICsxNDUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhciAqKmFyZ3YpCiAJCX0KIAl9CiAKLQlpZiAoIWxvZ19kaXIpIHsKKwlpZiAoIWxvZ19kaXIg
JiYgIXVzZV9zeXNsb2cpIHsKIAkJbG9nX2RpciA9IHN0cmR1cCgiL3Zhci9sb2cveGVuL2NvbnNv
bGUiKTsKIAl9CiAK
--20cf307f38060445a804bfabab62
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--20cf307f38060445a804bfabab62--


From xen-devel-bounces@lists.xen.org Thu May 10 10:11:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQKt-0005Ap-Q6; Thu, 10 May 2012 10:11:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <berrange@redhat.com>) id 1SSQKs-0005Ak-IR
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:11:02 +0000
Received: from [193.109.254.147:8778] by server-9.bemta-14.messagelabs.com id
	88/05-05787-4349BAF4; Thu, 10 May 2012 10:11:00 +0000
X-Env-Sender: berrange@redhat.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336644657!862412!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE2MjA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15264 invoked from network); 10 May 2012 10:10:58 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-7.tower-27.messagelabs.com with SMTP;
	10 May 2012 10:10:58 -0000
Received: from int-mx01.intmail.prod.int.phx2.redhat.com
	(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4AAArXn020161
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 06:10:53 -0400
Received: from redhat.com (vpn1-4-177.ams2.redhat.com [10.36.4.177])
	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q4AAAhgI031164
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Thu, 10 May 2012 06:10:46 -0400
Date: Thu, 10 May 2012 11:10:43 +0100
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120510101043.GH1223@redhat.com>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>
	<1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
	<1336643766.7098.40.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336643766.7098.40.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
Cc: "libvir-list@redhat.com" <libvir-list@redhat.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Bamvor Jian Zhang <bjzhang@suse.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [libvirt] [PATCH-RFC] Change libxl to use Xen 4.2
	interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: "Daniel P. Berrange" <berrange@redhat.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 10:56:06AM +0100, Ian Campbell wrote:
> On Wed, 2012-05-09 at 18:13 +0100, Daniel De Graaf wrote:
> > This patch changes libxl to use the interface in Xen 4.2. It is provided
> > as an example, not intended to go in to libvirt as-is since it removes
> > all support for libxl from Xen 4.1. It also still has some cruft (extra
> > void casts on parameters) and the device model info population is not
> > written. It has been tested with simple domain create/destroy.
> > ---
> >  src/libxl/libxl_conf.c   |  134 +++++++++------
> >  src/libxl/libxl_conf.h   |    8 +-
> >  src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
> >  3 files changed, 326 insertions(+), 246 deletions(-)
> 
> Thanks Daniel, interesting to see. It doesn't seem as invasive as I
> expected given the number of changes to libxl's interfaces between 4.1
> and 4.2. 
> 
> I suppose it is worth mentioning in this context that we are intending
> to maintain the 4.2 libxl API in a stable manner going forward, as
> described near the top of:
> http://xenbits.xen.org/hg/staging/xen-unstable.hg/file/tip/tools/libxl/libxl.h
> 
> Since libvirt is one of the main reasons we are doing this it would be
> useful to check that this actually meets the needs from that side.

Having a long term stable API for libxl certainly gets our vote.

WRT the use of LIBXL_API_VERSION to control API version. Libvirt generally
aims to support all possible API versions, so I expect we would not want
to define LIBXL_API_VERSION. Instead the libvirt code would #ifdef various
bits according to the libxl version it detects.

> That doesn't really help with support 4.1 and 4.2+. A large portion of
> the below looks like it would be reasonably easy to abstract away with a
> header full of compat defines for naming changes etc, other bits don't
> look so simple to deal with.

Personally I would prefer to keep support for all 4.x versions, but I'll
defer to Suse developers to decide upon this since they are the primary
maintainers & users of the libxl driver.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:11:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQKt-0005Ap-Q6; Thu, 10 May 2012 10:11:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <berrange@redhat.com>) id 1SSQKs-0005Ak-IR
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:11:02 +0000
Received: from [193.109.254.147:8778] by server-9.bemta-14.messagelabs.com id
	88/05-05787-4349BAF4; Thu, 10 May 2012 10:11:00 +0000
X-Env-Sender: berrange@redhat.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336644657!862412!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE2MjA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15264 invoked from network); 10 May 2012 10:10:58 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-7.tower-27.messagelabs.com with SMTP;
	10 May 2012 10:10:58 -0000
Received: from int-mx01.intmail.prod.int.phx2.redhat.com
	(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4AAArXn020161
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 06:10:53 -0400
Received: from redhat.com (vpn1-4-177.ams2.redhat.com [10.36.4.177])
	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q4AAAhgI031164
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Thu, 10 May 2012 06:10:46 -0400
Date: Thu, 10 May 2012 11:10:43 +0100
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120510101043.GH1223@redhat.com>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>
	<1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>
	<1336643766.7098.40.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336643766.7098.40.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
Cc: "libvir-list@redhat.com" <libvir-list@redhat.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Bamvor Jian Zhang <bjzhang@suse.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [libvirt] [PATCH-RFC] Change libxl to use Xen 4.2
	interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: "Daniel P. Berrange" <berrange@redhat.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 10:56:06AM +0100, Ian Campbell wrote:
> On Wed, 2012-05-09 at 18:13 +0100, Daniel De Graaf wrote:
> > This patch changes libxl to use the interface in Xen 4.2. It is provided
> > as an example, not intended to go in to libvirt as-is since it removes
> > all support for libxl from Xen 4.1. It also still has some cruft (extra
> > void casts on parameters) and the device model info population is not
> > written. It has been tested with simple domain create/destroy.
> > ---
> >  src/libxl/libxl_conf.c   |  134 +++++++++------
> >  src/libxl/libxl_conf.h   |    8 +-
> >  src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
> >  3 files changed, 326 insertions(+), 246 deletions(-)
> 
> Thanks Daniel, interesting to see. It doesn't seem as invasive as I
> expected given the number of changes to libxl's interfaces between 4.1
> and 4.2. 
> 
> I suppose it is worth mentioning in this context that we are intending
> to maintain the 4.2 libxl API in a stable manner going forward, as
> described near the top of:
> http://xenbits.xen.org/hg/staging/xen-unstable.hg/file/tip/tools/libxl/libxl.h
> 
> Since libvirt is one of the main reasons we are doing this it would be
> useful to check that this actually meets the needs from that side.

Having a long term stable API for libxl certainly gets our vote.

WRT the use of LIBXL_API_VERSION to control API version. Libvirt generally
aims to support all possible API versions, so I expect we would not want
to define LIBXL_API_VERSION. Instead the libvirt code would #ifdef various
bits according to the libxl version it detects.

> That doesn't really help with support 4.1 and 4.2+. A large portion of
> the below looks like it would be reasonably easy to abstract away with a
> header full of compat defines for naming changes etc, other bits don't
> look so simple to deal with.

Personally I would prefer to keep support for all 4.x versions, but I'll
defer to Suse developers to decide upon this since they are the primary
maintainers & users of the libxl driver.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:17:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:17:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQQu-0005Jd-LZ; Thu, 10 May 2012 10:17:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SSQQs-0005JY-V0
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:17:15 +0000
Received: from [85.158.143.35:15632] by server-1.bemta-4.messagelabs.com id
	50/DF-20925-AA59BAF4; Thu, 10 May 2012 10:17:14 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336645028!11587670!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12277 invoked from network); 10 May 2012 10:17:09 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:17:09 -0000
Received: by qcsc20 with SMTP id c20so1198957qcs.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 03:17:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:content-type;
	bh=8A77/6oXC/MfJVn0DmTgpNYzeYIx6RjA95m3coL2dDM=;
	b=MTMf2xbk/BR2MC5AKjAOefWxeSlrEGiQH2iO17d9/cSGNlJRES19u4TQBUkLSqCQQD
	ylutj3TlRp1OJo1O5Otu+wDPgpSX4IGRl/ysQre2JIb4KG5QE8joYI5hTuU09UtBA4/G
	spJwEbQA+EHSoyaIwTFWX4dKIYrIKjNnwZppQ4B7byOlvrYaHa3ivN/L4VLfTS0JzqZe
	j/6rXaGe9mp1dHK3scPwHAl8aF3Wrml09MEK/aYZrcVCpMPCgT3SiZaMjP5dNWNq/8z+
	Izo9h+v3xvUmu4ccUZnCWdnGfda+0iAY4I8FOacur/9rPAsvundnASW3ddicWp1rsFDq
	Pc+A==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr10847186qab.1.1336645028384; Thu,
	10 May 2012 03:17:08 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 10 May 2012 03:17:08 -0700 (PDT)
In-Reply-To: <4FAA7504.5030103@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
Date: Thu, 10 May 2012 11:17:08 +0100
X-Google-Sender-Auth: --atiUqCjTmzcbAXuPSV-YV1XPY
Message-ID: <CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, 
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 9, 2012 at 2:45 PM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
> On 09/05/12 12:59, Ian Campbell wrote:
>>
>> Right, however it is strictly speaking a new feature which is not
>> mentioned on the TODO list and has not previously been posted (AFAIK,
>> please correct me if not) and we are currently supposed to be in feature
>> freeze (and have been for several weeks, if not a month).
>>
>> IIRC this functionality was mooted when the pci permissive patch was
>> being done as something which would be a 4.3 feature.
>> We need to decide if we want to make an exception for this new feature
>> or not. Although I'm sure this feature is very nice and handy, we've
>> lived without it for years and people seem to be able to use the
>> existing scheme.

And, I realize that at some point all of the deadlines are going to be
arbitrary; but I have always felt this is important enough to get an
exception.  I consider having to muck about with sysfs to be basically
a UI bug that really needs fixing.  I have a lot of other things that
I would like to get done for the 4.2 release; but I thought this was
important enough to get priority (above the PoD patch series, for
instance).  NB I'm not saying that you should accept it because I
worked on it; I only bring it up to demonstrate how important I think
the feature is.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:17:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:17:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQQu-0005Jd-LZ; Thu, 10 May 2012 10:17:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SSQQs-0005JY-V0
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:17:15 +0000
Received: from [85.158.143.35:15632] by server-1.bemta-4.messagelabs.com id
	50/DF-20925-AA59BAF4; Thu, 10 May 2012 10:17:14 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336645028!11587670!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12277 invoked from network); 10 May 2012 10:17:09 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:17:09 -0000
Received: by qcsc20 with SMTP id c20so1198957qcs.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 03:17:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:content-type;
	bh=8A77/6oXC/MfJVn0DmTgpNYzeYIx6RjA95m3coL2dDM=;
	b=MTMf2xbk/BR2MC5AKjAOefWxeSlrEGiQH2iO17d9/cSGNlJRES19u4TQBUkLSqCQQD
	ylutj3TlRp1OJo1O5Otu+wDPgpSX4IGRl/ysQre2JIb4KG5QE8joYI5hTuU09UtBA4/G
	spJwEbQA+EHSoyaIwTFWX4dKIYrIKjNnwZppQ4B7byOlvrYaHa3ivN/L4VLfTS0JzqZe
	j/6rXaGe9mp1dHK3scPwHAl8aF3Wrml09MEK/aYZrcVCpMPCgT3SiZaMjP5dNWNq/8z+
	Izo9h+v3xvUmu4ccUZnCWdnGfda+0iAY4I8FOacur/9rPAsvundnASW3ddicWp1rsFDq
	Pc+A==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr10847186qab.1.1336645028384; Thu,
	10 May 2012 03:17:08 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 10 May 2012 03:17:08 -0700 (PDT)
In-Reply-To: <4FAA7504.5030103@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
Date: Thu, 10 May 2012 11:17:08 +0100
X-Google-Sender-Auth: --atiUqCjTmzcbAXuPSV-YV1XPY
Message-ID: <CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, 
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 9, 2012 at 2:45 PM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
> On 09/05/12 12:59, Ian Campbell wrote:
>>
>> Right, however it is strictly speaking a new feature which is not
>> mentioned on the TODO list and has not previously been posted (AFAIK,
>> please correct me if not) and we are currently supposed to be in feature
>> freeze (and have been for several weeks, if not a month).
>>
>> IIRC this functionality was mooted when the pci permissive patch was
>> being done as something which would be a 4.3 feature.
>> We need to decide if we want to make an exception for this new feature
>> or not. Although I'm sure this feature is very nice and handy, we've
>> lived without it for years and people seem to be able to use the
>> existing scheme.

And, I realize that at some point all of the deadlines are going to be
arbitrary; but I have always felt this is important enough to get an
exception.  I consider having to muck about with sysfs to be basically
a UI bug that really needs fixing.  I have a lot of other things that
I would like to get done for the 4.2 release; but I thought this was
important enough to get priority (above the PoD patch series, for
instance).  NB I'm not saying that you should accept it because I
worked on it; I only bring it up to demonstrate how important I think
the feature is.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQTd-0005PX-6w; Thu, 10 May 2012 10:20:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQTb-0005PP-2o
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:20:03 +0000
Received: from [85.158.143.99:10130] by server-1.bemta-4.messagelabs.com id
	2B/E3-20925-2569BAF4; Thu, 10 May 2012 10:20:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336645201!20951858!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11412 invoked from network); 10 May 2012 10:20:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:20:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12401517"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:18:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:18:40 +0100
Message-ID: <1336645119.7098.49.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 11:18:39 +0100
In-Reply-To: <20394.29747.791679.439889@mariner.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
	<20394.29747.791679.439889@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu Status
 (Was: Re: 4.2 TODO / Release Status))
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 14:42 +0100, Ian Jackson wrote:
> I have an enormous patch backlog.  Apologies to everyone.

I think it would be useful to have another committer to help keep the
turnaround time for libxl patches (one of our most actively developed
components) down.

I've been reviewing many of the patches anyway so how about I volunteer
for that role.

I'm not actually a libxl MAINTAINER so I suppose I should also nominate
myself for that too. We don't seem to have a separate libxl entry in
MAINTAINERS, just the top level "tools". We could split it out
explicitly (which I think might be a good idea anyway) or just go with:

8<----------------------------------------------------

MAINTAINERS: add myself as a tools maintainer

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 8aba3396a61a MAINTAINERS
--- a/MAINTAINERS	Tue May 08 15:00:12 2012 +0100
+++ b/MAINTAINERS	Thu May 10 11:11:10 2012 +0100
@@ -217,6 +217,7 @@ F:	stubdom/
 TOOLSTACK
 M:	Ian Jackson <ian.jackson@eu.citrix.com>
 M:	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
+M:	Ian Campbell <ian.campbell@citrix.com>
 S:	Supported
 F:	tools/
 


Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQTd-0005PX-6w; Thu, 10 May 2012 10:20:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQTb-0005PP-2o
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:20:03 +0000
Received: from [85.158.143.99:10130] by server-1.bemta-4.messagelabs.com id
	2B/E3-20925-2569BAF4; Thu, 10 May 2012 10:20:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336645201!20951858!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11412 invoked from network); 10 May 2012 10:20:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:20:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12401517"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:18:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:18:40 +0100
Message-ID: <1336645119.7098.49.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 11:18:39 +0100
In-Reply-To: <20394.29747.791679.439889@mariner.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
	<20394.29747.791679.439889@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu Status
 (Was: Re: 4.2 TODO / Release Status))
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 14:42 +0100, Ian Jackson wrote:
> I have an enormous patch backlog.  Apologies to everyone.

I think it would be useful to have another committer to help keep the
turnaround time for libxl patches (one of our most actively developed
components) down.

I've been reviewing many of the patches anyway so how about I volunteer
for that role.

I'm not actually a libxl MAINTAINER so I suppose I should also nominate
myself for that too. We don't seem to have a separate libxl entry in
MAINTAINERS, just the top level "tools". We could split it out
explicitly (which I think might be a good idea anyway) or just go with:

8<----------------------------------------------------

MAINTAINERS: add myself as a tools maintainer

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 8aba3396a61a MAINTAINERS
--- a/MAINTAINERS	Tue May 08 15:00:12 2012 +0100
+++ b/MAINTAINERS	Thu May 10 11:11:10 2012 +0100
@@ -217,6 +217,7 @@ F:	stubdom/
 TOOLSTACK
 M:	Ian Jackson <ian.jackson@eu.citrix.com>
 M:	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
+M:	Ian Campbell <ian.campbell@citrix.com>
 S:	Supported
 F:	tools/
 


Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:38:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:38:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQke-0005e0-Sc; Thu, 10 May 2012 10:37:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSQke-0005dv-4z
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:37:40 +0000
Received: from [193.109.254.147:58449] by server-1.bemta-14.messagelabs.com id
	43/6B-29372-27A9BAF4; Thu, 10 May 2012 10:37:38 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336646257!8531585!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1608 invoked from network); 10 May 2012 10:37:38 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 10:37:38 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSQka-000KUy-TE; Thu, 10 May 2012 10:37:36 +0000
Date: Thu, 10 May 2012 11:37:36 +0100
From: Tim Deegan <tim@xen.org>
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <20120510103736.GA73773@ocelot.phlegethon.org>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
	<CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 10:57 +0100 on 10 May (1336647456), Jean Guyader wrote:
> Add a new xc function to destroy the shadow pages table for a given
> guest from userspace.

Looks OK, but what will it be used for?  There might be some more
appropriate semantics at the hypercall interface than exposing the
shadow internals as such.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:38:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:38:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQke-0005e0-Sc; Thu, 10 May 2012 10:37:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSQke-0005dv-4z
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:37:40 +0000
Received: from [193.109.254.147:58449] by server-1.bemta-14.messagelabs.com id
	43/6B-29372-27A9BAF4; Thu, 10 May 2012 10:37:38 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336646257!8531585!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1608 invoked from network); 10 May 2012 10:37:38 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 10:37:38 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSQka-000KUy-TE; Thu, 10 May 2012 10:37:36 +0000
Date: Thu, 10 May 2012 11:37:36 +0100
From: Tim Deegan <tim@xen.org>
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <20120510103736.GA73773@ocelot.phlegethon.org>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
	<CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 10:57 +0100 on 10 May (1336647456), Jean Guyader wrote:
> Add a new xc function to destroy the shadow pages table for a given
> guest from userspace.

Looks OK, but what will it be used for?  There might be some more
appropriate semantics at the hypercall interface than exposing the
shadow internals as such.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:39:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:39:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQm2-0005iv-VC; Thu, 10 May 2012 10:39:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQm0-0005ie-Ta
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:39:05 +0000
Received: from [85.158.139.83:4602] by server-10.bemta-5.messagelabs.com id
	CD/9B-08260-7CA9BAF4; Thu, 10 May 2012 10:39:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336646343!27641666!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25854 invoked from network); 10 May 2012 10:39:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:39:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402088"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:38:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:38:41 +0100
Message-ID: <1336646320.7098.62.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 11:38:40 +0100
In-Reply-To: <CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 11:17 +0100, George Dunlap wrote:
> On Wed, May 9, 2012 at 2:45 PM, George Dunlap
> <george.dunlap@eu.citrix.com> wrote:
> > On 09/05/12 12:59, Ian Campbell wrote:
> >>
> >> Right, however it is strictly speaking a new feature which is not
> >> mentioned on the TODO list and has not previously been posted (AFAIK,
> >> please correct me if not) and we are currently supposed to be in feature
> >> freeze (and have been for several weeks, if not a month).
> >>
> >> IIRC this functionality was mooted when the pci permissive patch was
> >> being done as something which would be a 4.3 feature.
> >> We need to decide if we want to make an exception for this new feature
> >> or not. Although I'm sure this feature is very nice and handy, we've
> >> lived without it for years and people seem to be able to use the
> >> existing scheme.
> 
> And, I realize that at some point all of the deadlines are going to be
> arbitrary; but I have always felt this is important enough to get an
> exception.  I consider having to muck about with sysfs to be basically
> a UI bug that really needs fixing.  I have a lot of other things that
> I would like to get done for the 4.2 release; but I thought this was
> important enough to get priority (above the PoD patch series, for
> instance).  NB I'm not saying that you should accept it because I
> worked on it; I only bring it up to demonstrate how important I think
> the feature is.

OK, given that the code is basically self contained and shouldn't effect
anything unless a user "opts-in" to using it I think you've convinced
me. Lets take this (I'll review the actual patches shortly).

BTW, IMHO it is preferable for actual deployments to use the kernel
command line options to hide devices rather than either this feature or
sysfs.

Fully hiding the device from dom0 drivers generally seems like it is
always better. That way the first driver to try and touch the hardware
is the one inside the domU. This avoids issues with dom0 drivers setting
stuff up but not tearing it down in a way that domU can cope with and
makes the use of hardware which doesn't support FLR more reliable etc.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:39:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:39:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQm2-0005iv-VC; Thu, 10 May 2012 10:39:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQm0-0005ie-Ta
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:39:05 +0000
Received: from [85.158.139.83:4602] by server-10.bemta-5.messagelabs.com id
	CD/9B-08260-7CA9BAF4; Thu, 10 May 2012 10:39:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336646343!27641666!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25854 invoked from network); 10 May 2012 10:39:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:39:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402088"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:38:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:38:41 +0100
Message-ID: <1336646320.7098.62.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 11:38:40 +0100
In-Reply-To: <CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 11:17 +0100, George Dunlap wrote:
> On Wed, May 9, 2012 at 2:45 PM, George Dunlap
> <george.dunlap@eu.citrix.com> wrote:
> > On 09/05/12 12:59, Ian Campbell wrote:
> >>
> >> Right, however it is strictly speaking a new feature which is not
> >> mentioned on the TODO list and has not previously been posted (AFAIK,
> >> please correct me if not) and we are currently supposed to be in feature
> >> freeze (and have been for several weeks, if not a month).
> >>
> >> IIRC this functionality was mooted when the pci permissive patch was
> >> being done as something which would be a 4.3 feature.
> >> We need to decide if we want to make an exception for this new feature
> >> or not. Although I'm sure this feature is very nice and handy, we've
> >> lived without it for years and people seem to be able to use the
> >> existing scheme.
> 
> And, I realize that at some point all of the deadlines are going to be
> arbitrary; but I have always felt this is important enough to get an
> exception.  I consider having to muck about with sysfs to be basically
> a UI bug that really needs fixing.  I have a lot of other things that
> I would like to get done for the 4.2 release; but I thought this was
> important enough to get priority (above the PoD patch series, for
> instance).  NB I'm not saying that you should accept it because I
> worked on it; I only bring it up to demonstrate how important I think
> the feature is.

OK, given that the code is basically self contained and shouldn't effect
anything unless a user "opts-in" to using it I think you've convinced
me. Lets take this (I'll review the actual patches shortly).

BTW, IMHO it is preferable for actual deployments to use the kernel
command line options to hide devices rather than either this feature or
sysfs.

Fully hiding the device from dom0 drivers generally seems like it is
always better. That way the first driver to try and touch the hardware
is the one inside the domU. This avoids issues with dom0 drivers setting
stuff up but not tearing it down in a way that domU can cope with and
makes the use of hardware which doesn't support FLR more reliable etc.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:41:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:41:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQnt-0005v8-Ie; Thu, 10 May 2012 10:41:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQnr-0005up-M7
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 10:40:59 +0000
Received: from [85.158.143.99:31273] by server-1.bemta-4.messagelabs.com id
	AD/B6-20925-A3B9BAF4; Thu, 10 May 2012 10:40:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336646456!16141391!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8391 invoked from network); 10 May 2012 10:40:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:40:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402142"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:40:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:40:55 +0100
Message-ID: <1336646454.7098.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 11:40:54 +0100
In-Reply-To: <0772f1d07d1c0b91fc37.1336559321@kodo2>
References: <patchbomb.1336559320@kodo2>
	<0772f1d07d1c0b91fc37.1336559321@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 4] libxl: Make a helper function write
 a BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> This functionality will be used several times in subsequent patches.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> diff -r d5268710a5ca -r 0772f1d07d1c tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c	Fri May 04 10:46:23 2012 +0100
> +++ b/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
> @@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
>      return 0;
>  }
>  
> +/* Write the standard BDF into the sysfs path given by sysfs_path. */
> +static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
> +                           libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int rc, fd;
> +    char *buf;
> +
> +    fd = open(sysfs_path, O_WRONLY);
> +    if (fd < 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> +                         sysfs_path);
> +        return ERROR_FAIL;
> +    }
> +        
> +    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
> +                         pcidev->dev, pcidev->func);
> +    rc = write(fd, buf, strlen(buf));
> +    /* Annoying to have two if's, but we need the errno */
> +    if (rc < 0)
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "write to %s returned %d", sysfs_path, rc);
> +    close(fd);
> +
> +    if (rc < 0)
> +        return ERROR_FAIL;
> +
> +    return 0;
> +}
> +
>  libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
>  {
>      GC_INIT(ctx);
> @@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
>  
>          /* Don't restrict writes to the PCI config space from this VM */
>          if (pcidev->permissive) {
> -            int fd;
> -            char *buf;
> -            
> -            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
> -            fd = open(sysfs_path, O_WRONLY);
> -            if (fd < 0) {
> -                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> -                                 sysfs_path);
> +            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
> +                                 pcidev) < 0 ) {
> +                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                           "Setting permissive for device");
>                  return ERROR_FAIL;
>              }
> - 
> -            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
> -                                 pcidev->dev, pcidev->func);
> -            rc = write(fd, buf, strlen(buf));
> -            /* Annoying to have two if's, but we need the errno */
> -            if (rc < 0)
> -                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                                 "write to %s returned %d", sysfs_path, rc);
> -            close(fd);
> -            if (rc < 0)
> -                return ERROR_FAIL;
>          }
>          break;
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:41:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:41:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQnt-0005v8-Ie; Thu, 10 May 2012 10:41:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQnr-0005up-M7
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 10:40:59 +0000
Received: from [85.158.143.99:31273] by server-1.bemta-4.messagelabs.com id
	AD/B6-20925-A3B9BAF4; Thu, 10 May 2012 10:40:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336646456!16141391!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8391 invoked from network); 10 May 2012 10:40:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:40:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402142"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:40:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:40:55 +0100
Message-ID: <1336646454.7098.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 11:40:54 +0100
In-Reply-To: <0772f1d07d1c0b91fc37.1336559321@kodo2>
References: <patchbomb.1336559320@kodo2>
	<0772f1d07d1c0b91fc37.1336559321@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 4] libxl: Make a helper function write
 a BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> This functionality will be used several times in subsequent patches.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> diff -r d5268710a5ca -r 0772f1d07d1c tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c	Fri May 04 10:46:23 2012 +0100
> +++ b/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
> @@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
>      return 0;
>  }
>  
> +/* Write the standard BDF into the sysfs path given by sysfs_path. */
> +static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
> +                           libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int rc, fd;
> +    char *buf;
> +
> +    fd = open(sysfs_path, O_WRONLY);
> +    if (fd < 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> +                         sysfs_path);
> +        return ERROR_FAIL;
> +    }
> +        
> +    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
> +                         pcidev->dev, pcidev->func);
> +    rc = write(fd, buf, strlen(buf));
> +    /* Annoying to have two if's, but we need the errno */
> +    if (rc < 0)
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "write to %s returned %d", sysfs_path, rc);
> +    close(fd);
> +
> +    if (rc < 0)
> +        return ERROR_FAIL;
> +
> +    return 0;
> +}
> +
>  libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
>  {
>      GC_INIT(ctx);
> @@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
>  
>          /* Don't restrict writes to the PCI config space from this VM */
>          if (pcidev->permissive) {
> -            int fd;
> -            char *buf;
> -            
> -            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
> -            fd = open(sysfs_path, O_WRONLY);
> -            if (fd < 0) {
> -                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> -                                 sysfs_path);
> +            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
> +                                 pcidev) < 0 ) {
> +                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                           "Setting permissive for device");
>                  return ERROR_FAIL;
>              }
> - 
> -            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
> -                                 pcidev->dev, pcidev->func);
> -            rc = write(fd, buf, strlen(buf));
> -            /* Annoying to have two if's, but we need the errno */
> -            if (rc < 0)
> -                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                                 "write to %s returned %d", sysfs_path, rc);
> -            close(fd);
> -            if (rc < 0)
> -                return ERROR_FAIL;
>          }
>          break;
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:44:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:44:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQr8-0006EN-6f; Thu, 10 May 2012 10:44:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQr6-0006ED-QT
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 10:44:21 +0000
Received: from [193.109.254.147:16606] by server-11.bemta-14.messagelabs.com
	id 2B/A8-05858-30C9BAF4; Thu, 10 May 2012 10:44:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336646650!3406954!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9902 invoked from network); 10 May 2012 10:44:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:44:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402204"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:43:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:43:41 +0100
Message-ID: <1336646620.7098.66.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 11:43:40 +0100
In-Reply-To: <5b5070d487d948ff654c.1336559322@kodo2>
References: <patchbomb.1336559320@kodo2>
	<5b5070d487d948ff654c.1336559322@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 4] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> ...to prepare for a consistent "pci_assignable_*" naming scheme.
> 
> Also move the man page entry into the PCI PASS-THROUGH section, rather
> than the XEN HOST section.
> 
> No functional changes.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

(moving the definition of pcilist_assignable et al seems superfluous,
but I suppose it serves some purpose later in the series and the
function is small enough to review the changes + code motion by eye)

> 
> diff -r 0772f1d07d1c -r 5b5070d487d9 docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Tue May 08 17:18:31 2012 +0100
> +++ b/docs/man/xl.pod.1	Wed May 09 11:21:19 2012 +0100
> @@ -687,13 +687,6 @@ explanatory.
>  
>  Prints the current uptime of the domains running.
>  
> -=item B<pci-list-assignable-devices>
> -
> -List all the assignable PCI devices.
> -These are devices in the system which are configured to be
> -available for passthrough and are bound to a suitable PCI
> -backend driver in domain 0 rather than a real driver.
> -
>  =back
>  
>  =head1 SCHEDULER SUBCOMMANDS
> @@ -1026,6 +1019,13 @@ List virtual network interfaces for a do
>  
>  =over 4
>  
> +=item B<pci-assignable-list>
> +
> +List all the assignable PCI devices.
> +These are devices in the system which are configured to be
> +available for passthrough and are bound to a suitable PCI
> +backend driver in domain 0 rather than a real driver.
> +
>  =item B<pci-attach> I<domain-id> I<BDF>
>  
>  Hot-plug a new pass-through pci device to the specified domain.
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/libxl.h	Wed May 09 11:21:19 2012 +0100
> @@ -662,7 +662,7 @@ libxl_device_pci *libxl_device_pci_list(
>   * could be assigned to a domain (i.e. are bound to the backend
>   * driver) but are not currently.
>   */
> -libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
> +libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
>  
>  /* CPUID handling */
>  int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/libxl_pci.c	Wed May 09 11:21:19 2012 +0100
> @@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
>      return 0;
>  }
>  
> -libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
> +libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
>  {
>      GC_INIT(ctx);
>      libxl_device_pci *pcidevs = NULL, *new, *assigned;
> @@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
>      libxl_device_pci *pcidevs;
>      int num, i;
>  
> -    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
> +    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
>      for (i = 0; i < num; i++) {
>          if (pcidevs[i].domain == pcidev->domain &&
>              pcidevs[i].bus == pcidev->bus &&
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl.h
> --- a/tools/libxl/xl.h	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/xl.h	Wed May 09 11:21:19 2012 +0100
> @@ -34,9 +34,9 @@ int main_cd_insert(int argc, char **argv
>  int main_console(int argc, char **argv);
>  int main_vncviewer(int argc, char **argv);
>  int main_pcilist(int argc, char **argv);
> -int main_pcilist_assignable(int argc, char **argv);
>  int main_pcidetach(int argc, char **argv);
>  int main_pciattach(int argc, char **argv);
> +int main_pciassignable_list(int argc, char **argv);
>  int main_restore(int argc, char **argv);
>  int main_migrate_receive(int argc, char **argv);
>  int main_save(int argc, char **argv);
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:19 2012 +0100
> @@ -2223,34 +2223,6 @@ int main_vncviewer(int argc, char **argv
>      return 0;
>  }
>  
> -static void pcilist_assignable(void)
> -{
> -    libxl_device_pci *pcidevs;
> -    int num, i;
> -
> -    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
> -
> -    if ( pcidevs == NULL )
> -        return;
> -    for (i = 0; i < num; i++) {
> -        printf("%04x:%02x:%02x.%01x\n",
> -               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
> -        libxl_device_pci_dispose(&pcidevs[i]);
> -    }
> -    free(pcidevs);
> -}
> -
> -int main_pcilist_assignable(int argc, char **argv)
> -{
> -    int opt;
> -
> -    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
> -        return opt;
> -
> -    pcilist_assignable();
> -    return 0;
> -}
> -
>  static void pcilist(const char *dom)
>  {
>      libxl_device_pci *pcidevs;
> @@ -2368,6 +2340,34 @@ int main_pciattach(int argc, char **argv
>      return 0;
>  }
>  
> +static void pciassignable_list(void)
> +{
> +    libxl_device_pci *pcidevs;
> +    int num, i;
> +
> +    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
> +
> +    if ( pcidevs == NULL )
> +        return;
> +    for (i = 0; i < num; i++) {
> +        printf("%04x:%02x:%02x.%01x\n",
> +               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
> +        libxl_device_pci_dispose(&pcidevs[i]);
> +    }
> +    free(pcidevs);
> +}
> +
> +int main_pciassignable_list(int argc, char **argv)
> +{
> +    int opt;
> +
> +    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
> +        return opt;
> +
> +    pciassignable_list();
> +    return 0;
> +}
> +
>  static void pause_domain(const char *p)
>  {
>      find_domain(p);
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdtable.c
> --- a/tools/libxl/xl_cmdtable.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:19 2012 +0100
> @@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
>        "List pass-through pci devices for a domain",
>        "<Domain>",
>      },
> -    { "pci-list-assignable-devices",
> -      &main_pcilist_assignable, 0,
> +    { "pci-assignable-list",
> +      &main_pciassignable_list, 0,
>        "List all the assignable pci devices",
>        "",
>      },
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/python/xen/lowlevel/xl/xl.c
> --- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/python/xen/lowlevel/xl/xl.c	Wed May 09 11:21:19 2012 +0100
> @@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
>      return (PyObject *)pci;
>  }
>  
> -static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
> +static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
>  {
>      libxl_device_pci *dev;
>      PyObject *list;
>      int nr_dev, i;
>  
> -    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
> +    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
>      if ( dev == NULL ) {
>          PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
>          return NULL;
> @@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
>           "Parse pass-through PCI device spec (BDF)"},
>      {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
>          "List PCI devices assigned to a domain"},
> -    {"device_pci_list_assignable",
> -        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
> +    {"device_pci_assignable_list",
> +        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
>          "List assignable PCI devices"},
>      { NULL, NULL, 0, NULL }
>  };
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:44:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:44:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQr8-0006EN-6f; Thu, 10 May 2012 10:44:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSQr6-0006ED-QT
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 10:44:21 +0000
Received: from [193.109.254.147:16606] by server-11.bemta-14.messagelabs.com
	id 2B/A8-05858-30C9BAF4; Thu, 10 May 2012 10:44:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336646650!3406954!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9902 invoked from network); 10 May 2012 10:44:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:44:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402204"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:43:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:43:41 +0100
Message-ID: <1336646620.7098.66.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 11:43:40 +0100
In-Reply-To: <5b5070d487d948ff654c.1336559322@kodo2>
References: <patchbomb.1336559320@kodo2>
	<5b5070d487d948ff654c.1336559322@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 4] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> ...to prepare for a consistent "pci_assignable_*" naming scheme.
> 
> Also move the man page entry into the PCI PASS-THROUGH section, rather
> than the XEN HOST section.
> 
> No functional changes.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

(moving the definition of pcilist_assignable et al seems superfluous,
but I suppose it serves some purpose later in the series and the
function is small enough to review the changes + code motion by eye)

> 
> diff -r 0772f1d07d1c -r 5b5070d487d9 docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Tue May 08 17:18:31 2012 +0100
> +++ b/docs/man/xl.pod.1	Wed May 09 11:21:19 2012 +0100
> @@ -687,13 +687,6 @@ explanatory.
>  
>  Prints the current uptime of the domains running.
>  
> -=item B<pci-list-assignable-devices>
> -
> -List all the assignable PCI devices.
> -These are devices in the system which are configured to be
> -available for passthrough and are bound to a suitable PCI
> -backend driver in domain 0 rather than a real driver.
> -
>  =back
>  
>  =head1 SCHEDULER SUBCOMMANDS
> @@ -1026,6 +1019,13 @@ List virtual network interfaces for a do
>  
>  =over 4
>  
> +=item B<pci-assignable-list>
> +
> +List all the assignable PCI devices.
> +These are devices in the system which are configured to be
> +available for passthrough and are bound to a suitable PCI
> +backend driver in domain 0 rather than a real driver.
> +
>  =item B<pci-attach> I<domain-id> I<BDF>
>  
>  Hot-plug a new pass-through pci device to the specified domain.
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/libxl.h	Wed May 09 11:21:19 2012 +0100
> @@ -662,7 +662,7 @@ libxl_device_pci *libxl_device_pci_list(
>   * could be assigned to a domain (i.e. are bound to the backend
>   * driver) but are not currently.
>   */
> -libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
> +libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
>  
>  /* CPUID handling */
>  int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/libxl_pci.c	Wed May 09 11:21:19 2012 +0100
> @@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
>      return 0;
>  }
>  
> -libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
> +libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
>  {
>      GC_INIT(ctx);
>      libxl_device_pci *pcidevs = NULL, *new, *assigned;
> @@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
>      libxl_device_pci *pcidevs;
>      int num, i;
>  
> -    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
> +    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
>      for (i = 0; i < num; i++) {
>          if (pcidevs[i].domain == pcidev->domain &&
>              pcidevs[i].bus == pcidev->bus &&
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl.h
> --- a/tools/libxl/xl.h	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/xl.h	Wed May 09 11:21:19 2012 +0100
> @@ -34,9 +34,9 @@ int main_cd_insert(int argc, char **argv
>  int main_console(int argc, char **argv);
>  int main_vncviewer(int argc, char **argv);
>  int main_pcilist(int argc, char **argv);
> -int main_pcilist_assignable(int argc, char **argv);
>  int main_pcidetach(int argc, char **argv);
>  int main_pciattach(int argc, char **argv);
> +int main_pciassignable_list(int argc, char **argv);
>  int main_restore(int argc, char **argv);
>  int main_migrate_receive(int argc, char **argv);
>  int main_save(int argc, char **argv);
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:19 2012 +0100
> @@ -2223,34 +2223,6 @@ int main_vncviewer(int argc, char **argv
>      return 0;
>  }
>  
> -static void pcilist_assignable(void)
> -{
> -    libxl_device_pci *pcidevs;
> -    int num, i;
> -
> -    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
> -
> -    if ( pcidevs == NULL )
> -        return;
> -    for (i = 0; i < num; i++) {
> -        printf("%04x:%02x:%02x.%01x\n",
> -               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
> -        libxl_device_pci_dispose(&pcidevs[i]);
> -    }
> -    free(pcidevs);
> -}
> -
> -int main_pcilist_assignable(int argc, char **argv)
> -{
> -    int opt;
> -
> -    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
> -        return opt;
> -
> -    pcilist_assignable();
> -    return 0;
> -}
> -
>  static void pcilist(const char *dom)
>  {
>      libxl_device_pci *pcidevs;
> @@ -2368,6 +2340,34 @@ int main_pciattach(int argc, char **argv
>      return 0;
>  }
>  
> +static void pciassignable_list(void)
> +{
> +    libxl_device_pci *pcidevs;
> +    int num, i;
> +
> +    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
> +
> +    if ( pcidevs == NULL )
> +        return;
> +    for (i = 0; i < num; i++) {
> +        printf("%04x:%02x:%02x.%01x\n",
> +               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
> +        libxl_device_pci_dispose(&pcidevs[i]);
> +    }
> +    free(pcidevs);
> +}
> +
> +int main_pciassignable_list(int argc, char **argv)
> +{
> +    int opt;
> +
> +    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
> +        return opt;
> +
> +    pciassignable_list();
> +    return 0;
> +}
> +
>  static void pause_domain(const char *p)
>  {
>      find_domain(p);
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/libxl/xl_cmdtable.c
> --- a/tools/libxl/xl_cmdtable.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:19 2012 +0100
> @@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
>        "List pass-through pci devices for a domain",
>        "<Domain>",
>      },
> -    { "pci-list-assignable-devices",
> -      &main_pcilist_assignable, 0,
> +    { "pci-assignable-list",
> +      &main_pciassignable_list, 0,
>        "List all the assignable pci devices",
>        "",
>      },
> diff -r 0772f1d07d1c -r 5b5070d487d9 tools/python/xen/lowlevel/xl/xl.c
> --- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 08 17:18:31 2012 +0100
> +++ b/tools/python/xen/lowlevel/xl/xl.c	Wed May 09 11:21:19 2012 +0100
> @@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
>      return (PyObject *)pci;
>  }
>  
> -static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
> +static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
>  {
>      libxl_device_pci *dev;
>      PyObject *list;
>      int nr_dev, i;
>  
> -    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
> +    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
>      if ( dev == NULL ) {
>          PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
>          return NULL;
> @@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
>           "Parse pass-through PCI device spec (BDF)"},
>      {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
>          "List PCI devices assigned to a domain"},
> -    {"device_pci_list_assignable",
> -        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
> +    {"device_pci_assignable_list",
> +        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
>          "List assignable PCI devices"},
>      { NULL, NULL, 0, NULL }
>  };
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:46:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQtG-0006OC-T1; Thu, 10 May 2012 10:46:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSQtF-0006O4-HG
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:46:33 +0000
Received: from [85.158.143.99:10299] by server-3.bemta-4.messagelabs.com id
	78/71-05853-88C9BAF4; Thu, 10 May 2012 10:46:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336646791!23970012!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12486 invoked from network); 10 May 2012 10:46:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:46:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:46:30 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 11:46:30 +0100
Date: Thu, 10 May 2012 11:46:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336645119.7098.49.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205101146020.26786@kaball-desktop>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
	<20394.29747.791679.439889@mariner.uk.xensource.com>
	<1336645119.7098.49.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu
 Status (Was: Re: 4.2 TODO / Release Status))
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Ian Campbell wrote:
> On Wed, 2012-05-09 at 14:42 +0100, Ian Jackson wrote:
> > I have an enormous patch backlog.  Apologies to everyone.
> 
> I think it would be useful to have another committer to help keep the
> turnaround time for libxl patches (one of our most actively developed
> components) down.
> 
> I've been reviewing many of the patches anyway so how about I volunteer
> for that role.
> 
> I'm not actually a libxl MAINTAINER so I suppose I should also nominate
> myself for that too. We don't seem to have a separate libxl entry in
> MAINTAINERS, just the top level "tools". We could split it out
> explicitly (which I think might be a good idea anyway) or just go with:
> 
> 8<----------------------------------------------------
> 
> MAINTAINERS: add myself as a tools maintainer
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> 
> diff -r 8aba3396a61a MAINTAINERS
> --- a/MAINTAINERS	Tue May 08 15:00:12 2012 +0100
> +++ b/MAINTAINERS	Thu May 10 11:11:10 2012 +0100
> @@ -217,6 +217,7 @@ F:	stubdom/
>  TOOLSTACK
>  M:	Ian Jackson <ian.jackson@eu.citrix.com>
>  M:	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> +M:	Ian Campbell <ian.campbell@citrix.com>
>  S:	Supported
>  F:	tools/
>  

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:46:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQtG-0006OC-T1; Thu, 10 May 2012 10:46:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSQtF-0006O4-HG
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:46:33 +0000
Received: from [85.158.143.99:10299] by server-3.bemta-4.messagelabs.com id
	78/71-05853-88C9BAF4; Thu, 10 May 2012 10:46:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336646791!23970012!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12486 invoked from network); 10 May 2012 10:46:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:46:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12402322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:46:30 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 11:46:30 +0100
Date: Thu, 10 May 2012 11:46:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336645119.7098.49.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205101146020.26786@kaball-desktop>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
	<20394.29747.791679.439889@mariner.uk.xensource.com>
	<1336645119.7098.49.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu
 Status (Was: Re: 4.2 TODO / Release Status))
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Ian Campbell wrote:
> On Wed, 2012-05-09 at 14:42 +0100, Ian Jackson wrote:
> > I have an enormous patch backlog.  Apologies to everyone.
> 
> I think it would be useful to have another committer to help keep the
> turnaround time for libxl patches (one of our most actively developed
> components) down.
> 
> I've been reviewing many of the patches anyway so how about I volunteer
> for that role.
> 
> I'm not actually a libxl MAINTAINER so I suppose I should also nominate
> myself for that too. We don't seem to have a separate libxl entry in
> MAINTAINERS, just the top level "tools". We could split it out
> explicitly (which I think might be a good idea anyway) or just go with:
> 
> 8<----------------------------------------------------
> 
> MAINTAINERS: add myself as a tools maintainer
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> 
> diff -r 8aba3396a61a MAINTAINERS
> --- a/MAINTAINERS	Tue May 08 15:00:12 2012 +0100
> +++ b/MAINTAINERS	Thu May 10 11:11:10 2012 +0100
> @@ -217,6 +217,7 @@ F:	stubdom/
>  TOOLSTACK
>  M:	Ian Jackson <ian.jackson@eu.citrix.com>
>  M:	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> +M:	Ian Campbell <ian.campbell@citrix.com>
>  S:	Supported
>  F:	tools/
>  

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQwC-0006YX-F3; Thu, 10 May 2012 10:49:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQwA-0006YG-KS
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:49:34 +0000
Received: from [85.158.138.51:12998] by server-4.bemta-3.messagelabs.com id
	28/5E-15341-B3D9BAF4; Thu, 10 May 2012 10:49:31 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336646970!17391873!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13129 invoked from network); 10 May 2012 10:49:31 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:49:31 -0000
Received: by vbbfn1 with SMTP id fn1so309898vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 03:49:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=ogiNfnBZyB+XUfnjdqcSJQDc2UhYdYZN6Y4lqtJppgY=;
	b=iOl/oOtyt2MgAriUC70TrN7qnxU1xG6gBgHdlXMeDNe+ghploYMxU2TSSpICdba+0Y
	LvOM0CD1TW6o5Me7E24hLCl9AuvJ0yzTr+eOcF3Tz8qDwnV2la3wpuXFof4sAXa2q+cW
	BeCDRn9Ij3u24EsCjs8Brg4szthsLmqHNVwNZdkzdIv3qBbMysfZnJzeiABYdgIZHd7u
	0q+AfEESP6vNk46TyJNMEcAezmsAJqbzoc5HHXzrFQHD0sdGqKmPnEnaxEjZXOk754dU
	UStpegYp+SK7G7Ue9+feD43rRIRvEUqTms27q8J8qCY54wP73Dn+GuMPoWOYnOZrlZGe
	FcWA==
Received: by 10.52.21.51 with SMTP id s19mr1861652vde.35.1336646969854; Thu,
	10 May 2012 03:49:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 03:49:09 -0700 (PDT)
In-Reply-To: <20120510103736.GA73773@ocelot.phlegethon.org>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
	<CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
	<20120510103736.GA73773@ocelot.phlegethon.org>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 11:49:09 +0100
Message-ID: <CAEBdQ92M3G8tS-sB+SBCE2h-L6RKF8DN95WNieiJqmhUpoM=Xg@mail.gmail.com>
To: Tim Deegan <tim@xen.org>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10 May 2012 11:37, Tim Deegan <tim@xen.org> wrote:
> At 10:57 +0100 on 10 May (1336647456), Jean Guyader wrote:
>> Add a new xc function to destroy the shadow pages table for a given
>> guest from userspace.
>
> Looks OK, but what will it be used for? =A0There might be some more
> appropriate semantics at the hypercall interface than exposing the
> shadow internals as such.
>

It's related to the use of hvm_set_mem_pinned_cacheattr to set the default
caching policy when a guest starts to use a given gfn.

If this function is called after the guest has mapped the gfn it won't
have any affect.
The easy and surely not the best way to fix this is to destroy all the
shadow page
tables for this domain.

Maybe the ideal thing to do would be to make the cacheattr code aware
of the shadow page table and only clear the relevant set of shadow pages.

Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSQwC-0006YX-F3; Thu, 10 May 2012 10:49:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSQwA-0006YG-KS
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:49:34 +0000
Received: from [85.158.138.51:12998] by server-4.bemta-3.messagelabs.com id
	28/5E-15341-B3D9BAF4; Thu, 10 May 2012 10:49:31 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336646970!17391873!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13129 invoked from network); 10 May 2012 10:49:31 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:49:31 -0000
Received: by vbbfn1 with SMTP id fn1so309898vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 03:49:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=ogiNfnBZyB+XUfnjdqcSJQDc2UhYdYZN6Y4lqtJppgY=;
	b=iOl/oOtyt2MgAriUC70TrN7qnxU1xG6gBgHdlXMeDNe+ghploYMxU2TSSpICdba+0Y
	LvOM0CD1TW6o5Me7E24hLCl9AuvJ0yzTr+eOcF3Tz8qDwnV2la3wpuXFof4sAXa2q+cW
	BeCDRn9Ij3u24EsCjs8Brg4szthsLmqHNVwNZdkzdIv3qBbMysfZnJzeiABYdgIZHd7u
	0q+AfEESP6vNk46TyJNMEcAezmsAJqbzoc5HHXzrFQHD0sdGqKmPnEnaxEjZXOk754dU
	UStpegYp+SK7G7Ue9+feD43rRIRvEUqTms27q8J8qCY54wP73Dn+GuMPoWOYnOZrlZGe
	FcWA==
Received: by 10.52.21.51 with SMTP id s19mr1861652vde.35.1336646969854; Thu,
	10 May 2012 03:49:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 03:49:09 -0700 (PDT)
In-Reply-To: <20120510103736.GA73773@ocelot.phlegethon.org>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
	<CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
	<20120510103736.GA73773@ocelot.phlegethon.org>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 11:49:09 +0100
Message-ID: <CAEBdQ92M3G8tS-sB+SBCE2h-L6RKF8DN95WNieiJqmhUpoM=Xg@mail.gmail.com>
To: Tim Deegan <tim@xen.org>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10 May 2012 11:37, Tim Deegan <tim@xen.org> wrote:
> At 10:57 +0100 on 10 May (1336647456), Jean Guyader wrote:
>> Add a new xc function to destroy the shadow pages table for a given
>> guest from userspace.
>
> Looks OK, but what will it be used for? =A0There might be some more
> appropriate semantics at the hypercall interface than exposing the
> shadow internals as such.
>

It's related to the use of hvm_set_mem_pinned_cacheattr to set the default
caching policy when a guest starts to use a given gfn.

If this function is called after the guest has mapped the gfn it won't
have any affect.
The easy and surely not the best way to fix this is to destroy all the
shadow page
tables for this domain.

Maybe the ideal thing to do would be to make the cacheattr code aware
of the shadow page table and only clear the relevant set of shadow pages.

Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:55:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:55:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSR1P-0006ms-7A; Thu, 10 May 2012 10:54:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSR1N-0006mk-JP
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:54:58 +0000
Received: from [85.158.139.83:64200] by server-5.bemta-5.messagelabs.com id
	95/8C-13566-08E9BAF4; Thu, 10 May 2012 10:54:56 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336647293!27678582!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21257 invoked from network); 10 May 2012 10:54:54 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:54:54 -0000
Received: by vbbfn1 with SMTP id fn1so315927vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 03:54:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=lcn6rP/C4B2Ij7YyzURIbMS/EiayEwHXqdT/IlWe0/o=;
	b=xmm5K4Qx+LouxvB430NobhxIpB2HD5MIkcqwQGOJp42m04g2AVvKU96V2VM1EaFwnr
	tTMmFGLgucI50qWCgHH4tCsKBuAMeGBoG2BsivHQfpRHoGuiXBFAAhJ6ZzfbVTw9CdwR
	Zfq8zK5xM7tEFKG5FmkUPVVpU6ctqgSDci4XLlFDfFm+9h6SiYRs8dU/BFgJyxovkOwc
	EnNgTjahKSphueKgY/wg+8FRIJcIUZDr6ZYkHxT4X+6ZzusLYFnaO4b0NQH0HsKN9AKt
	mTVSL5MyPkm87X3cjYBhqjm0RjTKGKLwO+mho7BXjFeIOkLcUxviOLGavoNKRv/VTuPq
	ktUw==
Received: by 10.52.72.137 with SMTP id d9mr1795300vdv.122.1336647293146; Thu,
	10 May 2012 03:54:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 03:54:32 -0700 (PDT)
In-Reply-To: <20120131145142.GB23556@spongy.cam.xci-test.com>
References: <1326372062-20905-1-git-send-email-jean.guyader@eu.citrix.com>
	<20120112124254.GB11262@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201121416200.3150@kaball-desktop>
	<CAEBdQ90KcOi6RvbUYcyXKZPpsKWvu2ERg35eBZosKNuUrCGabQ@mail.gmail.com>
	<alpine.DEB.2.00.1201171447450.3150@kaball-desktop>
	<20120117162414.GA25281@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201171634300.3150@kaball-desktop>
	<20120131145142.GB23556@spongy.cam.xci-test.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 11:54:32 +0100
Message-ID: <CAEBdQ91F+VTs9P6vH6eAPVMudKpAhUUjKOwSE5T+OEybKPZ_NQ@mail.gmail.com>
To: xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"konrad@darnok.org" <konrad@darnok.org>,
	"allen.m.kay@intel.com" <allen.m.kay@intel.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping. (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31 January 2012 14:51, Jean Guyader <jean.guyader@eu.citrix.com> wrote:
> On 17/01 04:34, Stefano Stabellini wrote:
>> On Tue, 17 Jan 2012, Jean Guyader wrote:
>> > On 17/01 02:51, Stefano Stabellini wrote:
>> > > On Mon, 16 Jan 2012, Jean Guyader wrote:
>> > > > On 12 January 2012 14:34, Stefano Stabellini
>> > > > <stefano.stabellini@eu.citrix.com> wrote:
>> > > > > On Thu, 12 Jan 2012, Jean Guyader wrote:
>> > > > >> On 12/01 12:41, Jean Guyader wrote:
>> > > > >> > The OpRegion shouldn't be mapped 1:1 because the address in the host
>> > > > >> > can't be used in the guest directly.
>> > > > >> >
>> > > > >> > This patch traps read and write access to the opregion of the Intel
>> > > > >> > GPU config space (offset 0xfc).
>> > > > >> >
>> > > > >> > To work correctly this patch needs a change in hvmloader.
>> > > > >> >
>> > > > >> > HVMloader will allocate 2 pages for the OpRegion and write this address
>> > > > >> > on the config space of the Intel GPU. Qemu will trap and map the host
>> > > > >> > OpRegion to the guest. Any write to this offset after that won't have
>> > > > >> > any effect. Any read of this config space offset will return the address
>> > > > >> > in the guest.
>> > > > >> >
>> > > > >> > Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
>> > > > >> commit a6036bee23bb338e6cf48e9f0d75ff0845f8cfe3
>> > > > >> Author: Jean Guyader <jean.guyader@eu.citrix.com>
>> > > > >> Date: ?? Wed Nov 23 07:53:30 2011 +0000
>> > > > >>
>> > > > >> ?? ?? qemu-xen: Intel GPU passthrough, fix OpRegion mapping.
>> > > > >>
>> > > > >> ?? ?? The OpRegion shouldn't be mapped 1:1 because the address in the host
>> > > > >> ?? ?? can't be used in the guest directly.
>> > > > >>
>> > > > >> ?? ?? This patch traps read and write access to the opregion of the Intel
>> > > > >> ?? ?? GPU config space (offset 0xfc).
>> > > > >>
>> > > > >> ?? ?? To work correctly this patch needs a change in hvmloader.
>> > > > >>
>> > > > >> ?? ?? HVMloader will allocate 2 pages for the OpRegion and write this address
>> > > > >> ?? ?? on the config space of the Intel GPU. Qemu will trap and map the host
>> > > > >> ?? ?? OpRegion to the guest. Any write to this offset after that won't have
>> > > > >> ?? ?? any effect. Any read of this config space offset will return the address
>> > > > >> ?? ?? in the guest.
>> > > > >>
>> > > > >> diff --git a/hw/pass-through.c b/hw/pass-through.c
>> > > > >> index dbe8804..7ee3c61 100644
>> > > > >> --- a/hw/pass-through.c
>> > > > >> +++ b/hw/pass-through.c
>> > > > >> @@ -238,6 +238,14 @@ static int pt_bar_reg_restore(struct pt_dev *ptdev,
>> > > > >> ??static int pt_exp_rom_bar_reg_restore(struct pt_dev *ptdev,
>> > > > >> ?? ?? ??struct pt_reg_tbl *cfg_entry,
>> > > > >> ?? ?? ??uint32_t real_offset, uint32_t dev_value, uint32_t *value);
>> > > > >> +static int pt_intel_opregion_read(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
>> > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t valid_mask);
>> > > > >> +static int pt_intel_opregion_write(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
>> > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t dev_value, uint32_t valid_mask);
>> > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset);
>> > > > >>
>> > > > >> ??/* pt_reg_info_tbl declaration
>> > > > >> ?? * - only for emulated register (either a part or whole bit).
>> > > > >> @@ -444,6 +452,16 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = {
>> > > > >> ?? ?? ?? ?? ??.u.dw.write = pt_exp_rom_bar_reg_write,
>> > > > >> ?? ?? ?? ?? ??.u.dw.restore = pt_exp_rom_bar_reg_restore,
>> > > > >> ?? ?? ??},
>> > > > >> + ?? ??/* Intel IGFX OpRegion reg */
>> > > > >> + ?? ??{
>> > > > >> + ?? ?? ?? ??.offset ?? ?? = PCI_INTEL_OPREGION,
>> > > > >> + ?? ?? ?? ??.size ?? ?? ?? = 4,
>> > > > >> + ?? ?? ?? ??.init_val ?? = 0,
>> > > > >> + ?? ?? ?? ??.no_wb ?? ?? ??= 1,
>> > > > >> + ?? ?? ?? ??.u.dw.read ?? = pt_intel_opregion_read,
>> > > > >> + ?? ?? ?? ??.u.dw.write ??= pt_intel_opregion_write,
>> > > > >> + ?? ?? ?? ??.u.dw.restore ??= NULL,
>> > > > >> + ?? ??},
>> > > > >> ?? ?? ??{
>> > > > >> ?? ?? ?? ?? ??.size = 0,
>> > > > >> ?? ?? ??},
>> > > > >> @@ -737,7 +755,7 @@ static const struct pt_reg_grp_info_tbl pt_emu_reg_grp_tbl[] = {
>> > > > >> ?? ?? ?? ?? ??.grp_id ?? ?? = 0xFF,
>> > > > >> ?? ?? ?? ?? ??.grp_type ?? = GRP_TYPE_EMU,
>> > > > >> ?? ?? ?? ?? ??.grp_size ?? = 0x40,
>> > > > >> - ?? ?? ?? ??.size_init ??= pt_reg_grp_size_init,
>> > > > >> + ?? ?? ?? ??.size_init ??= pt_reg_grp_header0_size_init,
>> > > > >> ?? ?? ?? ?? ??.emu_reg_tbl= pt_emu_reg_header0_tbl,
>> > > > >> ?? ?? ??},
>> > > > >> ?? ?? ??/* PCI PowerManagement Capability reg group */
>> > > > >> @@ -3006,6 +3024,19 @@ static uint32_t pt_msixctrl_reg_init(struct pt_dev *ptdev,
>> > > > >> ?? ?? ??return reg->init_val;
>> > > > >> ??}
>> > > > >>
>> > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset)
>> > > > >> +{
>> > > > >> + ?? ??/*
>> > > > >> + ?? ??** By default we will trap up to 0x40 in the cfg space.
>> > > > >> + ?? ??** If an intel device is pass through we need to trap 0xfc,
>> > > > >> + ?? ??** therefore the size should be 0xff.
>> > > > >> + ?? ??*/
>> > > > >> + ?? ??if (igd_passthru)
>> > > > >> + ?? ?? ?? ??return 0xFF;
>> > > > >> + ?? ??return grp_reg->grp_size;
>> > > > >> +}
>> > > > >
>> > > > > Apart from the trivial code style error in the comment above, is this
>> > > > > going to have the unintended side effect of initializing as 0 all the
>> > > > > emulated registers between 0x40 and 0xff, that previously were probably
>> > > > > passed through?
>> > > > >
>> > > >
>> > > > Based on how pt_find_reg_grp is implemented that doesn't make any difference.
>> > >
>> > > actually there is a small change in behaviour: before your patch
>> > > pt_find_reg_grp would return NULL for any cfg register between 0x40 and
>> > > 0xff. Now if igd_passthru is set pt_find_reg_grp would return the
>> > > reg_grp_entry corresponding to "Header Type0 reg group" and then
>> > > pt_find_reg would return NULL.
>> > > This case seems to be handled correctly and bring to the same results
>> > > in both pt_pci_write_config and pt_pci_read_config.
>> > >
>> > > In any case PCI_INTEL_OPREGION should be part of "Header Type0 reg
>> > > group" only it if really is part of this group otherwise it should be in
>> > > its own separate group.
>> >
>> > The pci pass through groups have been designed to pass through pci capabilities
>> > from the device. You can't really create a group for something which isn't a pci
>> > capability.
>> >
>> > I have noted the change of behavior but that doesn't have any impact on what we
>> > will return to the guest so I think it fine.
>>
>> in that case, ack
>
> Ian,
>
> Could you apply this patch please?
>
> Jean

On 31 January 2012 14:51, Jean Guyader <jean.guyader@eu.citrix.com> wrote:
>
> On 17/01 04:34, Stefano Stabellini wrote:
> > On Tue, 17 Jan 2012, Jean Guyader wrote:
> > > On 17/01 02:51, Stefano Stabellini wrote:
> > > > On Mon, 16 Jan 2012, Jean Guyader wrote:
> > > > > On 12 January 2012 14:34, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > On Thu, 12 Jan 2012, Jean Guyader wrote:
> > > > > >> On 12/01 12:41, Jean Guyader wrote:
> > > > > >> > The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> > can't be used in the guest directly.
> > > > > >> >
> > > > > >> > This patch traps read and write access to the opregion of the Intel
> > > > > >> > GPU config space (offset 0xfc).
> > > > > >> >
> > > > > >> > To work correctly this patch needs a change in hvmloader.
> > > > > >> >
> > > > > >> > HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> > on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> > OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> > any effect. Any read of this config space offset will return the address
> > > > > >> > in the guest.
> > > > > >> >
> > > > > >> > Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> commit a6036bee23bb338e6cf48e9f0d75ff0845f8cfe3
> > > > > >> Author: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> Date: ?? Wed Nov 23 07:53:30 2011 +0000
> > > > > >>
> > > > > >> ?? ?? qemu-xen: Intel GPU passthrough, fix OpRegion mapping.
> > > > > >>
> > > > > >> ?? ?? The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> ?? ?? can't be used in the guest directly.
> > > > > >>
> > > > > >> ?? ?? This patch traps read and write access to the opregion of the Intel
> > > > > >> ?? ?? GPU config space (offset 0xfc).
> > > > > >>
> > > > > >> ?? ?? To work correctly this patch needs a change in hvmloader.
> > > > > >>
> > > > > >> ?? ?? HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> ?? ?? on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> ?? ?? OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> ?? ?? any effect. Any read of this config space offset will return the address
> > > > > >> ?? ?? in the guest.
> > > > > >>
> > > > > >> diff --git a/hw/pass-through.c b/hw/pass-through.c
> > > > > >> index dbe8804..7ee3c61 100644
> > > > > >> --- a/hw/pass-through.c
> > > > > >> +++ b/hw/pass-through.c
> > > > > >> @@ -238,6 +238,14 @@ static int pt_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ??static int pt_exp_rom_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> ?? ?? ??uint32_t real_offset, uint32_t dev_value, uint32_t *value);
> > > > > >> +static int pt_intel_opregion_read(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t valid_mask);
> > > > > >> +static int pt_intel_opregion_write(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t dev_value, uint32_t valid_mask);
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset);
> > > > > >>
> > > > > >> ??/* pt_reg_info_tbl declaration
> > > > > >> ?? * - only for emulated register (either a part or whole bit).
> > > > > >> @@ -444,6 +452,16 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.u.dw.write = pt_exp_rom_bar_reg_write,
> > > > > >> ?? ?? ?? ?? ??.u.dw.restore = pt_exp_rom_bar_reg_restore,
> > > > > >> ?? ?? ??},
> > > > > >> + ?? ??/* Intel IGFX OpRegion reg */
> > > > > >> + ?? ??{
> > > > > >> + ?? ?? ?? ??.offset ?? ?? = PCI_INTEL_OPREGION,
> > > > > >> + ?? ?? ?? ??.size ?? ?? ?? = 4,
> > > > > >> + ?? ?? ?? ??.init_val ?? = 0,
> > > > > >> + ?? ?? ?? ??.no_wb ?? ?? ??= 1,
> > > > > >> + ?? ?? ?? ??.u.dw.read ?? = pt_intel_opregion_read,
> > > > > >> + ?? ?? ?? ??.u.dw.write ??= pt_intel_opregion_write,
> > > > > >> + ?? ?? ?? ??.u.dw.restore ??= NULL,
> > > > > >> + ?? ??},
> > > > > >> ?? ?? ??{
> > > > > >> ?? ?? ?? ?? ??.size = 0,
> > > > > >> ?? ?? ??},
> > > > > >> @@ -737,7 +755,7 @@ static const struct pt_reg_grp_info_tbl pt_emu_reg_grp_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.grp_id ?? ?? = 0xFF,
> > > > > >> ?? ?? ?? ?? ??.grp_type ?? = GRP_TYPE_EMU,
> > > > > >> ?? ?? ?? ?? ??.grp_size ?? = 0x40,
> > > > > >> - ?? ?? ?? ??.size_init ??= pt_reg_grp_size_init,
> > > > > >> + ?? ?? ?? ??.size_init ??= pt_reg_grp_header0_size_init,
> > > > > >> ?? ?? ?? ?? ??.emu_reg_tbl= pt_emu_reg_header0_tbl,
> > > > > >> ?? ?? ??},
> > > > > >> ?? ?? ??/* PCI PowerManagement Capability reg group */
> > > > > >> @@ -3006,6 +3024,19 @@ static uint32_t pt_msixctrl_reg_init(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??return reg->init_val;
> > > > > >> ??}
> > > > > >>
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset)
> > > > > >> +{
> > > > > >> + ?? ??/*
> > > > > >> + ?? ??** By default we will trap up to 0x40 in the cfg space.
> > > > > >> + ?? ??** If an intel device is pass through we need to trap 0xfc,
> > > > > >> + ?? ??** therefore the size should be 0xff.
> > > > > >> + ?? ??*/
> > > > > >> + ?? ??if (igd_passthru)
> > > > > >> + ?? ?? ?? ??return 0xFF;
> > > > > >> + ?? ??return grp_reg->grp_size;
> > > > > >> +}
> > > > > >
> > > > > > Apart from the trivial code style error in the comment above, is this
> > > > > > going to have the unintended side effect of initializing as 0 all the
> > > > > > emulated registers between 0x40 and 0xff, that previously were probably
> > > > > > passed through?
> > > > > >
> > > > >
> > > > > Based on how pt_find_reg_grp is implemented that doesn't make any difference.
> > > >
> > > > actually there is a small change in behaviour: before your patch
> > > > pt_find_reg_grp would return NULL for any cfg register between 0x40 and
> > > > 0xff. Now if igd_passthru is set pt_find_reg_grp would return the
> > > > reg_grp_entry corresponding to "Header Type0 reg group" and then
> > > > pt_find_reg would return NULL.
> > > > This case seems to be handled correctly and bring to the same results
> > > > in both pt_pci_write_config and pt_pci_read_config.
> > > >
> > > > In any case PCI_INTEL_OPREGION should be part of "Header Type0 reg
> > > > group" only it if really is part of this group otherwise it should be in
> > > > its own separate group.
> > >
> > > The pci pass through groups have been designed to pass through pci capabilities
> > > from the device. You can't really create a group for something which isn't a pci
> > > capability.
> > >
> > > I have noted the change of behavior but that doesn't have any impact on what we
> > > will return to the guest so I think it fine.
> >
> > in that case, ack
>
> Ian,
>
> Could you apply this patch please?
>

Hi Ian,

I was going through my email and it seems that this patch didn't make
it into qemu-xen-unstable.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

Thanks,
Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:55:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:55:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSR1P-0006ms-7A; Thu, 10 May 2012 10:54:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSR1N-0006mk-JP
	for xen-devel@lists.xen.org; Thu, 10 May 2012 10:54:58 +0000
Received: from [85.158.139.83:64200] by server-5.bemta-5.messagelabs.com id
	95/8C-13566-08E9BAF4; Thu, 10 May 2012 10:54:56 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336647293!27678582!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21257 invoked from network); 10 May 2012 10:54:54 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:54:54 -0000
Received: by vbbfn1 with SMTP id fn1so315927vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 03:54:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=lcn6rP/C4B2Ij7YyzURIbMS/EiayEwHXqdT/IlWe0/o=;
	b=xmm5K4Qx+LouxvB430NobhxIpB2HD5MIkcqwQGOJp42m04g2AVvKU96V2VM1EaFwnr
	tTMmFGLgucI50qWCgHH4tCsKBuAMeGBoG2BsivHQfpRHoGuiXBFAAhJ6ZzfbVTw9CdwR
	Zfq8zK5xM7tEFKG5FmkUPVVpU6ctqgSDci4XLlFDfFm+9h6SiYRs8dU/BFgJyxovkOwc
	EnNgTjahKSphueKgY/wg+8FRIJcIUZDr6ZYkHxT4X+6ZzusLYFnaO4b0NQH0HsKN9AKt
	mTVSL5MyPkm87X3cjYBhqjm0RjTKGKLwO+mho7BXjFeIOkLcUxviOLGavoNKRv/VTuPq
	ktUw==
Received: by 10.52.72.137 with SMTP id d9mr1795300vdv.122.1336647293146; Thu,
	10 May 2012 03:54:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 03:54:32 -0700 (PDT)
In-Reply-To: <20120131145142.GB23556@spongy.cam.xci-test.com>
References: <1326372062-20905-1-git-send-email-jean.guyader@eu.citrix.com>
	<20120112124254.GB11262@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201121416200.3150@kaball-desktop>
	<CAEBdQ90KcOi6RvbUYcyXKZPpsKWvu2ERg35eBZosKNuUrCGabQ@mail.gmail.com>
	<alpine.DEB.2.00.1201171447450.3150@kaball-desktop>
	<20120117162414.GA25281@spongy.cam.xci-test.com>
	<alpine.DEB.2.00.1201171634300.3150@kaball-desktop>
	<20120131145142.GB23556@spongy.cam.xci-test.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 11:54:32 +0100
Message-ID: <CAEBdQ91F+VTs9P6vH6eAPVMudKpAhUUjKOwSE5T+OEybKPZ_NQ@mail.gmail.com>
To: xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"konrad@darnok.org" <konrad@darnok.org>,
	"allen.m.kay@intel.com" <allen.m.kay@intel.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping. (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31 January 2012 14:51, Jean Guyader <jean.guyader@eu.citrix.com> wrote:
> On 17/01 04:34, Stefano Stabellini wrote:
>> On Tue, 17 Jan 2012, Jean Guyader wrote:
>> > On 17/01 02:51, Stefano Stabellini wrote:
>> > > On Mon, 16 Jan 2012, Jean Guyader wrote:
>> > > > On 12 January 2012 14:34, Stefano Stabellini
>> > > > <stefano.stabellini@eu.citrix.com> wrote:
>> > > > > On Thu, 12 Jan 2012, Jean Guyader wrote:
>> > > > >> On 12/01 12:41, Jean Guyader wrote:
>> > > > >> > The OpRegion shouldn't be mapped 1:1 because the address in the host
>> > > > >> > can't be used in the guest directly.
>> > > > >> >
>> > > > >> > This patch traps read and write access to the opregion of the Intel
>> > > > >> > GPU config space (offset 0xfc).
>> > > > >> >
>> > > > >> > To work correctly this patch needs a change in hvmloader.
>> > > > >> >
>> > > > >> > HVMloader will allocate 2 pages for the OpRegion and write this address
>> > > > >> > on the config space of the Intel GPU. Qemu will trap and map the host
>> > > > >> > OpRegion to the guest. Any write to this offset after that won't have
>> > > > >> > any effect. Any read of this config space offset will return the address
>> > > > >> > in the guest.
>> > > > >> >
>> > > > >> > Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
>> > > > >> commit a6036bee23bb338e6cf48e9f0d75ff0845f8cfe3
>> > > > >> Author: Jean Guyader <jean.guyader@eu.citrix.com>
>> > > > >> Date: ?? Wed Nov 23 07:53:30 2011 +0000
>> > > > >>
>> > > > >> ?? ?? qemu-xen: Intel GPU passthrough, fix OpRegion mapping.
>> > > > >>
>> > > > >> ?? ?? The OpRegion shouldn't be mapped 1:1 because the address in the host
>> > > > >> ?? ?? can't be used in the guest directly.
>> > > > >>
>> > > > >> ?? ?? This patch traps read and write access to the opregion of the Intel
>> > > > >> ?? ?? GPU config space (offset 0xfc).
>> > > > >>
>> > > > >> ?? ?? To work correctly this patch needs a change in hvmloader.
>> > > > >>
>> > > > >> ?? ?? HVMloader will allocate 2 pages for the OpRegion and write this address
>> > > > >> ?? ?? on the config space of the Intel GPU. Qemu will trap and map the host
>> > > > >> ?? ?? OpRegion to the guest. Any write to this offset after that won't have
>> > > > >> ?? ?? any effect. Any read of this config space offset will return the address
>> > > > >> ?? ?? in the guest.
>> > > > >>
>> > > > >> diff --git a/hw/pass-through.c b/hw/pass-through.c
>> > > > >> index dbe8804..7ee3c61 100644
>> > > > >> --- a/hw/pass-through.c
>> > > > >> +++ b/hw/pass-through.c
>> > > > >> @@ -238,6 +238,14 @@ static int pt_bar_reg_restore(struct pt_dev *ptdev,
>> > > > >> ??static int pt_exp_rom_bar_reg_restore(struct pt_dev *ptdev,
>> > > > >> ?? ?? ??struct pt_reg_tbl *cfg_entry,
>> > > > >> ?? ?? ??uint32_t real_offset, uint32_t dev_value, uint32_t *value);
>> > > > >> +static int pt_intel_opregion_read(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
>> > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t valid_mask);
>> > > > >> +static int pt_intel_opregion_write(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
>> > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t dev_value, uint32_t valid_mask);
>> > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset);
>> > > > >>
>> > > > >> ??/* pt_reg_info_tbl declaration
>> > > > >> ?? * - only for emulated register (either a part or whole bit).
>> > > > >> @@ -444,6 +452,16 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = {
>> > > > >> ?? ?? ?? ?? ??.u.dw.write = pt_exp_rom_bar_reg_write,
>> > > > >> ?? ?? ?? ?? ??.u.dw.restore = pt_exp_rom_bar_reg_restore,
>> > > > >> ?? ?? ??},
>> > > > >> + ?? ??/* Intel IGFX OpRegion reg */
>> > > > >> + ?? ??{
>> > > > >> + ?? ?? ?? ??.offset ?? ?? = PCI_INTEL_OPREGION,
>> > > > >> + ?? ?? ?? ??.size ?? ?? ?? = 4,
>> > > > >> + ?? ?? ?? ??.init_val ?? = 0,
>> > > > >> + ?? ?? ?? ??.no_wb ?? ?? ??= 1,
>> > > > >> + ?? ?? ?? ??.u.dw.read ?? = pt_intel_opregion_read,
>> > > > >> + ?? ?? ?? ??.u.dw.write ??= pt_intel_opregion_write,
>> > > > >> + ?? ?? ?? ??.u.dw.restore ??= NULL,
>> > > > >> + ?? ??},
>> > > > >> ?? ?? ??{
>> > > > >> ?? ?? ?? ?? ??.size = 0,
>> > > > >> ?? ?? ??},
>> > > > >> @@ -737,7 +755,7 @@ static const struct pt_reg_grp_info_tbl pt_emu_reg_grp_tbl[] = {
>> > > > >> ?? ?? ?? ?? ??.grp_id ?? ?? = 0xFF,
>> > > > >> ?? ?? ?? ?? ??.grp_type ?? = GRP_TYPE_EMU,
>> > > > >> ?? ?? ?? ?? ??.grp_size ?? = 0x40,
>> > > > >> - ?? ?? ?? ??.size_init ??= pt_reg_grp_size_init,
>> > > > >> + ?? ?? ?? ??.size_init ??= pt_reg_grp_header0_size_init,
>> > > > >> ?? ?? ?? ?? ??.emu_reg_tbl= pt_emu_reg_header0_tbl,
>> > > > >> ?? ?? ??},
>> > > > >> ?? ?? ??/* PCI PowerManagement Capability reg group */
>> > > > >> @@ -3006,6 +3024,19 @@ static uint32_t pt_msixctrl_reg_init(struct pt_dev *ptdev,
>> > > > >> ?? ?? ??return reg->init_val;
>> > > > >> ??}
>> > > > >>
>> > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
>> > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset)
>> > > > >> +{
>> > > > >> + ?? ??/*
>> > > > >> + ?? ??** By default we will trap up to 0x40 in the cfg space.
>> > > > >> + ?? ??** If an intel device is pass through we need to trap 0xfc,
>> > > > >> + ?? ??** therefore the size should be 0xff.
>> > > > >> + ?? ??*/
>> > > > >> + ?? ??if (igd_passthru)
>> > > > >> + ?? ?? ?? ??return 0xFF;
>> > > > >> + ?? ??return grp_reg->grp_size;
>> > > > >> +}
>> > > > >
>> > > > > Apart from the trivial code style error in the comment above, is this
>> > > > > going to have the unintended side effect of initializing as 0 all the
>> > > > > emulated registers between 0x40 and 0xff, that previously were probably
>> > > > > passed through?
>> > > > >
>> > > >
>> > > > Based on how pt_find_reg_grp is implemented that doesn't make any difference.
>> > >
>> > > actually there is a small change in behaviour: before your patch
>> > > pt_find_reg_grp would return NULL for any cfg register between 0x40 and
>> > > 0xff. Now if igd_passthru is set pt_find_reg_grp would return the
>> > > reg_grp_entry corresponding to "Header Type0 reg group" and then
>> > > pt_find_reg would return NULL.
>> > > This case seems to be handled correctly and bring to the same results
>> > > in both pt_pci_write_config and pt_pci_read_config.
>> > >
>> > > In any case PCI_INTEL_OPREGION should be part of "Header Type0 reg
>> > > group" only it if really is part of this group otherwise it should be in
>> > > its own separate group.
>> >
>> > The pci pass through groups have been designed to pass through pci capabilities
>> > from the device. You can't really create a group for something which isn't a pci
>> > capability.
>> >
>> > I have noted the change of behavior but that doesn't have any impact on what we
>> > will return to the guest so I think it fine.
>>
>> in that case, ack
>
> Ian,
>
> Could you apply this patch please?
>
> Jean

On 31 January 2012 14:51, Jean Guyader <jean.guyader@eu.citrix.com> wrote:
>
> On 17/01 04:34, Stefano Stabellini wrote:
> > On Tue, 17 Jan 2012, Jean Guyader wrote:
> > > On 17/01 02:51, Stefano Stabellini wrote:
> > > > On Mon, 16 Jan 2012, Jean Guyader wrote:
> > > > > On 12 January 2012 14:34, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > On Thu, 12 Jan 2012, Jean Guyader wrote:
> > > > > >> On 12/01 12:41, Jean Guyader wrote:
> > > > > >> > The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> > can't be used in the guest directly.
> > > > > >> >
> > > > > >> > This patch traps read and write access to the opregion of the Intel
> > > > > >> > GPU config space (offset 0xfc).
> > > > > >> >
> > > > > >> > To work correctly this patch needs a change in hvmloader.
> > > > > >> >
> > > > > >> > HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> > on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> > OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> > any effect. Any read of this config space offset will return the address
> > > > > >> > in the guest.
> > > > > >> >
> > > > > >> > Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> commit a6036bee23bb338e6cf48e9f0d75ff0845f8cfe3
> > > > > >> Author: Jean Guyader <jean.guyader@eu.citrix.com>
> > > > > >> Date: ?? Wed Nov 23 07:53:30 2011 +0000
> > > > > >>
> > > > > >> ?? ?? qemu-xen: Intel GPU passthrough, fix OpRegion mapping.
> > > > > >>
> > > > > >> ?? ?? The OpRegion shouldn't be mapped 1:1 because the address in the host
> > > > > >> ?? ?? can't be used in the guest directly.
> > > > > >>
> > > > > >> ?? ?? This patch traps read and write access to the opregion of the Intel
> > > > > >> ?? ?? GPU config space (offset 0xfc).
> > > > > >>
> > > > > >> ?? ?? To work correctly this patch needs a change in hvmloader.
> > > > > >>
> > > > > >> ?? ?? HVMloader will allocate 2 pages for the OpRegion and write this address
> > > > > >> ?? ?? on the config space of the Intel GPU. Qemu will trap and map the host
> > > > > >> ?? ?? OpRegion to the guest. Any write to this offset after that won't have
> > > > > >> ?? ?? any effect. Any read of this config space offset will return the address
> > > > > >> ?? ?? in the guest.
> > > > > >>
> > > > > >> diff --git a/hw/pass-through.c b/hw/pass-through.c
> > > > > >> index dbe8804..7ee3c61 100644
> > > > > >> --- a/hw/pass-through.c
> > > > > >> +++ b/hw/pass-through.c
> > > > > >> @@ -238,6 +238,14 @@ static int pt_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ??static int pt_exp_rom_bar_reg_restore(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> ?? ?? ??uint32_t real_offset, uint32_t dev_value, uint32_t *value);
> > > > > >> +static int pt_intel_opregion_read(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t valid_mask);
> > > > > >> +static int pt_intel_opregion_write(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_tbl *cfg_entry,
> > > > > >> + ?? ?? ?? ??uint32_t *value, uint32_t dev_value, uint32_t valid_mask);
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset);
> > > > > >>
> > > > > >> ??/* pt_reg_info_tbl declaration
> > > > > >> ?? * - only for emulated register (either a part or whole bit).
> > > > > >> @@ -444,6 +452,16 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.u.dw.write = pt_exp_rom_bar_reg_write,
> > > > > >> ?? ?? ?? ?? ??.u.dw.restore = pt_exp_rom_bar_reg_restore,
> > > > > >> ?? ?? ??},
> > > > > >> + ?? ??/* Intel IGFX OpRegion reg */
> > > > > >> + ?? ??{
> > > > > >> + ?? ?? ?? ??.offset ?? ?? = PCI_INTEL_OPREGION,
> > > > > >> + ?? ?? ?? ??.size ?? ?? ?? = 4,
> > > > > >> + ?? ?? ?? ??.init_val ?? = 0,
> > > > > >> + ?? ?? ?? ??.no_wb ?? ?? ??= 1,
> > > > > >> + ?? ?? ?? ??.u.dw.read ?? = pt_intel_opregion_read,
> > > > > >> + ?? ?? ?? ??.u.dw.write ??= pt_intel_opregion_write,
> > > > > >> + ?? ?? ?? ??.u.dw.restore ??= NULL,
> > > > > >> + ?? ??},
> > > > > >> ?? ?? ??{
> > > > > >> ?? ?? ?? ?? ??.size = 0,
> > > > > >> ?? ?? ??},
> > > > > >> @@ -737,7 +755,7 @@ static const struct pt_reg_grp_info_tbl pt_emu_reg_grp_tbl[] = {
> > > > > >> ?? ?? ?? ?? ??.grp_id ?? ?? = 0xFF,
> > > > > >> ?? ?? ?? ?? ??.grp_type ?? = GRP_TYPE_EMU,
> > > > > >> ?? ?? ?? ?? ??.grp_size ?? = 0x40,
> > > > > >> - ?? ?? ?? ??.size_init ??= pt_reg_grp_size_init,
> > > > > >> + ?? ?? ?? ??.size_init ??= pt_reg_grp_header0_size_init,
> > > > > >> ?? ?? ?? ?? ??.emu_reg_tbl= pt_emu_reg_header0_tbl,
> > > > > >> ?? ?? ??},
> > > > > >> ?? ?? ??/* PCI PowerManagement Capability reg group */
> > > > > >> @@ -3006,6 +3024,19 @@ static uint32_t pt_msixctrl_reg_init(struct pt_dev *ptdev,
> > > > > >> ?? ?? ??return reg->init_val;
> > > > > >> ??}
> > > > > >>
> > > > > >> +static uint8_t pt_reg_grp_header0_size_init(struct pt_dev *ptdev,
> > > > > >> + ?? ?? ?? ??struct pt_reg_grp_info_tbl *grp_reg, uint32_t base_offset)
> > > > > >> +{
> > > > > >> + ?? ??/*
> > > > > >> + ?? ??** By default we will trap up to 0x40 in the cfg space.
> > > > > >> + ?? ??** If an intel device is pass through we need to trap 0xfc,
> > > > > >> + ?? ??** therefore the size should be 0xff.
> > > > > >> + ?? ??*/
> > > > > >> + ?? ??if (igd_passthru)
> > > > > >> + ?? ?? ?? ??return 0xFF;
> > > > > >> + ?? ??return grp_reg->grp_size;
> > > > > >> +}
> > > > > >
> > > > > > Apart from the trivial code style error in the comment above, is this
> > > > > > going to have the unintended side effect of initializing as 0 all the
> > > > > > emulated registers between 0x40 and 0xff, that previously were probably
> > > > > > passed through?
> > > > > >
> > > > >
> > > > > Based on how pt_find_reg_grp is implemented that doesn't make any difference.
> > > >
> > > > actually there is a small change in behaviour: before your patch
> > > > pt_find_reg_grp would return NULL for any cfg register between 0x40 and
> > > > 0xff. Now if igd_passthru is set pt_find_reg_grp would return the
> > > > reg_grp_entry corresponding to "Header Type0 reg group" and then
> > > > pt_find_reg would return NULL.
> > > > This case seems to be handled correctly and bring to the same results
> > > > in both pt_pci_write_config and pt_pci_read_config.
> > > >
> > > > In any case PCI_INTEL_OPREGION should be part of "Header Type0 reg
> > > > group" only it if really is part of this group otherwise it should be in
> > > > its own separate group.
> > >
> > > The pci pass through groups have been designed to pass through pci capabilities
> > > from the device. You can't really create a group for something which isn't a pci
> > > capability.
> > >
> > > I have noted the change of behavior but that doesn't have any impact on what we
> > > will return to the guest so I think it fine.
> >
> > in that case, ack
>
> Ian,
>
> Could you apply this patch please?
>

Hi Ian,

I was going through my email and it seems that this patch didn't make
it into qemu-xen-unstable.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

Thanks,
Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:56:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:56:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSR2b-0006rp-M8; Thu, 10 May 2012 10:56:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSR2a-0006rc-1M
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 10:56:12 +0000
Received: from [85.158.139.83:21238] by server-10.bemta-5.messagelabs.com id
	1A/F2-08260-BCE9BAF4; Thu, 10 May 2012 10:56:11 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336647368!27678954!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31890 invoked from network); 10 May 2012 10:56:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:56:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="25058136"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 06:56:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 06:56:07 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSR2V-0003So-Jm;
	Thu, 10 May 2012 11:56:07 +0100
Message-ID: <4FAB9E80.9040308@eu.citrix.com>
Date: Thu, 10 May 2012 11:54:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<5b5070d487d948ff654c.1336559322@kodo2>
	<1336646620.7098.66.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336646620.7098.66.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 4] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 11:43, Ian Campbell wrote:
> Acked-by: Ian Campbell<ian.campbell@citrix.com>
>
> (moving the definition of pcilist_assignable et al seems superfluous,
> but I suppose it serves some purpose later in the series and the
> function is small enough to review the changes + code motion by eye)
Ah, right -- I didn't think about that.  I'll try to avoid motion + 
changes in the future.  You're right, the code motion is because we're 
changing the function from being mainly a "pcilist" thing (thus grouped 
with the other pci-list command) to mainly being an "assignable" thing 
(and thus grouped with other "assignable" commands).

  -George


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 10:56:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 10:56:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSR2b-0006rp-M8; Thu, 10 May 2012 10:56:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSR2a-0006rc-1M
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 10:56:12 +0000
Received: from [85.158.139.83:21238] by server-10.bemta-5.messagelabs.com id
	1A/F2-08260-BCE9BAF4; Thu, 10 May 2012 10:56:11 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336647368!27678954!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31890 invoked from network); 10 May 2012 10:56:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 10:56:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="25058136"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 06:56:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 06:56:07 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSR2V-0003So-Jm;
	Thu, 10 May 2012 11:56:07 +0100
Message-ID: <4FAB9E80.9040308@eu.citrix.com>
Date: Thu, 10 May 2012 11:54:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<5b5070d487d948ff654c.1336559322@kodo2>
	<1336646620.7098.66.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336646620.7098.66.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 4] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 11:43, Ian Campbell wrote:
> Acked-by: Ian Campbell<ian.campbell@citrix.com>
>
> (moving the definition of pcilist_assignable et al seems superfluous,
> but I suppose it serves some purpose later in the series and the
> function is small enough to review the changes + code motion by eye)
Ah, right -- I didn't think about that.  I'll try to avoid motion + 
changes in the future.  You're right, the code motion is because we're 
changing the function from being mainly a "pcilist" thing (thus grouped 
with the other pci-list command) to mainly being an "assignable" thing 
(and thus grouped with other "assignable" commands).

  -George


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:01:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSR77-000778-DA; Thu, 10 May 2012 11:00:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSR75-000772-Pq
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:00:51 +0000
Received: from [85.158.143.35:19969] by server-2.bemta-4.messagelabs.com id
	A1/59-17550-2EF9BAF4; Thu, 10 May 2012 11:00:50 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336647649!11605142!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13799 invoked from network); 10 May 2012 11:00:49 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 11:00:49 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSR72-000KmB-5n; Thu, 10 May 2012 11:00:48 +0000
Date: Thu, 10 May 2012 12:00:48 +0100
From: Tim Deegan <tim@xen.org>
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <20120510110048.GB73773@ocelot.phlegethon.org>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
	<CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
	<20120510103736.GA73773@ocelot.phlegethon.org>
	<CAEBdQ92M3G8tS-sB+SBCE2h-L6RKF8DN95WNieiJqmhUpoM=Xg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEBdQ92M3G8tS-sB+SBCE2h-L6RKF8DN95WNieiJqmhUpoM=Xg@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 11:49 +0100 on 10 May (1336650549), Jean Guyader wrote:
> On 10 May 2012 11:37, Tim Deegan <tim@xen.org> wrote:
> > Looks OK, but what will it be used for? =A0There might be some more
> > appropriate semantics at the hypercall interface than exposing the
> > shadow internals as such.
> =

> It's related to the use of hvm_set_mem_pinned_cacheattr to set the default
> caching policy when a guest starts to use a given gfn.
> =

> If this function is called after the guest has mapped the gfn it won't
> have any affect.
> The easy and surely not the best way to fix this is to destroy all the
> shadow page
> tables for this domain.
> =

> Maybe the ideal thing to do would be to make the cacheattr code aware
> of the shadow page table and only clear the relevant set of shadow pages.

Yes, I think that would be much better.  That way we don't rely on the
tools to maintain cache-attribute consistency within the hypervisor.

You could use sh_remove_shadows() to unmap just the frames you want, but
that will only make sense if the number of frames is small, since it may
end up walking all the shadows searching for mappings each time.  So if the
hvm_set_mem_pinned_cacheattr() isn't going to be called very often, it
would be OK just to call shadow_blow_tables_per_domain().

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:01:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSR77-000778-DA; Thu, 10 May 2012 11:00:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSR75-000772-Pq
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:00:51 +0000
Received: from [85.158.143.35:19969] by server-2.bemta-4.messagelabs.com id
	A1/59-17550-2EF9BAF4; Thu, 10 May 2012 11:00:50 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336647649!11605142!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13799 invoked from network); 10 May 2012 11:00:49 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 11:00:49 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSR72-000KmB-5n; Thu, 10 May 2012 11:00:48 +0000
Date: Thu, 10 May 2012 12:00:48 +0100
From: Tim Deegan <tim@xen.org>
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <20120510110048.GB73773@ocelot.phlegethon.org>
References: <CAEBdQ90D4fy6ZiHZUMBbhZAaE4GKvqid4N2kz_EMk5a04T5XVQ@mail.gmail.com>
	<CAEBdQ91qe9AhELZg5b2pqEfW_bhr4wy9B2Kj7n2ybZ9oS_rfhQ@mail.gmail.com>
	<20120510103736.GA73773@ocelot.phlegethon.org>
	<CAEBdQ92M3G8tS-sB+SBCE2h-L6RKF8DN95WNieiJqmhUpoM=Xg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEBdQ92M3G8tS-sB+SBCE2h-L6RKF8DN95WNieiJqmhUpoM=Xg@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: expose shadow_blow_tables to userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 11:49 +0100 on 10 May (1336650549), Jean Guyader wrote:
> On 10 May 2012 11:37, Tim Deegan <tim@xen.org> wrote:
> > Looks OK, but what will it be used for? =A0There might be some more
> > appropriate semantics at the hypercall interface than exposing the
> > shadow internals as such.
> =

> It's related to the use of hvm_set_mem_pinned_cacheattr to set the default
> caching policy when a guest starts to use a given gfn.
> =

> If this function is called after the guest has mapped the gfn it won't
> have any affect.
> The easy and surely not the best way to fix this is to destroy all the
> shadow page
> tables for this domain.
> =

> Maybe the ideal thing to do would be to make the cacheattr code aware
> of the shadow page table and only clear the relevant set of shadow pages.

Yes, I think that would be much better.  That way we don't rely on the
tools to maintain cache-attribute consistency within the hypervisor.

You could use sh_remove_shadows() to unmap just the frames you want, but
that will only make sense if the number of frames is small, since it may
end up walking all the shadows searching for mappings each time.  So if the
hvm_set_mem_pinned_cacheattr() isn't going to be called very often, it
would be OK just to call shadow_blow_tables_per_domain().

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:12:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:12:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRHp-0007KF-Ni; Thu, 10 May 2012 11:11:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSRHo-0007KA-JK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:11:56 +0000
Received: from [193.109.254.147:31834] by server-9.bemta-14.messagelabs.com id
	EA/B8-05787-B72ABAF4; Thu, 10 May 2012 11:11:55 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336648313!1708579!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7627 invoked from network); 10 May 2012 11:11:54 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:11:54 -0000
Received: by vbbfn1 with SMTP id fn1so337629vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 04:11:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=DwN4JKVGQllCHUpXwkupvJpbWER2lJ69REPkdMZwM94=;
	b=zq+yHm5zmdB5xm4KphVRGZblYrD0rYh1O8ume2oDQ5ZnjYmeZs2rueIPcjNIhkpcEz
	hHj9uo8LCnI8V15h50TmeCz2fAREIQ0z+XzUwWc6C1KPhBf9n3E+JRQsLn3GY+DaldUf
	ikyrVbG7TjpMhwApi+w5OTIzKtB8JxQ86jYYSj4M39eR2FC8THzaov+mmWkZLolsONhh
	QrxZy+9arY5vLNkARp1k1ZOG+g/Pj9qWQHeDJTO3Bzq2Z0K3+TeN/eHTPEQg+J/D1b1q
	J/e/GB5js505QDN9uwgOBXMuZEHYBsaeyC4LGsId72L0s4iN2imrW4RkWv+pqkTl+GPF
	jXMQ==
Received: by 10.220.150.12 with SMTP id w12mr2410393vcv.39.1336648313590; Thu,
	10 May 2012 04:11:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 04:11:33 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 12:11:33 +0100
Message-ID: <CAEBdQ92QSeSyd3=cZR1zgp+3qGQw_GFACL53FnnY+B4r3R6KNg@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=f46d04389097ebd44804bfacaf14
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--f46d04389097ebd44804bfacaf14
Content-Type: text/plain; charset=ISO-8859-1

After a host sleep MSI will be off on the host but qemu still thinks
it's on because of some state that have been set previously.

If qemu thinks that the device has been configure already
and the host MSI are disabled tell Xen to reconfigure the MSI.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--f46d04389097ebd44804bfacaf14
Content-Type: text/x-patch; charset=US-ASCII; name="msi-after-sleep.patch"
Content-Disposition: attachment; filename="msi-after-sleep.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21pw1xk0

ZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5jIGIvaHcvcGFzcy10aHJvdWdoLmMKaW5kZXgg
ZjgzMmM1YS4uNWMzMmEyZSAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJvdWdoLmMKKysrIGIvaHcv
cGFzcy10aHJvdWdoLmMKQEAgLTM3NzIsNiArMzc3MiwyMSBAQCBzdGF0aWMgaW50IHB0X3BtY3Ny
X3JlZ193cml0ZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKICAgICByZXR1cm4gMDsKIH0KIAorc3Rh
dGljIGludCBtc2lfaXNfZW5hYmxlKHN0cnVjdCBwdF9kZXYgKmRldikKK3sKKyAgICB1aW50MTZf
dCB2YWwgPSAwOworICAgIHVpbnQzMl90IGFkZHJlc3MgPSAwOworICAgIGlmICghZGV2LT5tc2kp
CisgICAgICAgIHJldHVybiAwOworCisgICAgYWRkcmVzcyA9IGRldi0+bXNpLT5jdHJsX29mZnNl
dDsKKyAgICBpZiAoIWFkZHJlc3MpCisgICAgICAgIHJldHVybiAwOworCisgICAgdmFsID0gcGNp
X3JlYWRfd29yZChkZXYtPnBjaV9kZXYsIGFkZHJlc3MpOworICAgIHJldHVybiB2YWwgJiBQQ0lf
TVNJX0ZMQUdTX0VOQUJMRTsKK30KKwogLyogd3JpdGUgTWVzc2FnZSBDb250cm9sIHJlZ2lzdGVy
ICovCiBzdGF0aWMgaW50IHB0X21zZ2N0cmxfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2
LAogICAgIHN0cnVjdCBwdF9yZWdfdGJsICpjZmdfZW50cnksCkBAIC0zODM1LDYgKzM4NTAsMTQg
QEAgc3RhdGljIGludCBwdF9tc2djdHJsX3JlZ193cml0ZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwK
ICAgICAgICAgICAgIHB0ZGV2LT5tc2ktPmZsYWdzICY9IH5NU0lfRkxBR19VTklOSVQ7CiAgICAg
ICAgICAgICBwdGRldi0+bXNpLT5mbGFncyB8PSBQVF9NU0lfTUFQUEVEOwogICAgICAgICB9Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtc2lfaXNfZW5hYmxlKHB0
ZGV2KSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwdF9tc2lfc2V0dXAocHRkZXYp
OworICAgICAgICAgICAgICAgIHB0X21zaV91cGRhdGUocHRkZXYpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CiAgICAgICAgIHB0ZGV2LT5tc2ktPmZsYWdzIHw9IFBDSV9NU0lfRkxBR1NfRU5B
QkxFOwogICAgIH0KICAgICBlbHNlCmRpZmYgLS1naXQgYS9ody9wdC1tc2kuYyBiL2h3L3B0LW1z
aS5jCmluZGV4IDcwYzQwMjMuLjk5ZjlhZmQgMTAwNjQ0Ci0tLSBhL2h3L3B0LW1zaS5jCisrKyBi
L2h3L3B0LW1zaS5jCkBAIC02NywxMiArNjcsNiBAQCBpbnQgcHRfbXNpX3NldHVwKHN0cnVjdCBw
dF9kZXYgKmRldikKICAgICBpbnQgcGlycSA9IC0xOwogICAgIHVpbnQ4X3QgZ3ZlYyA9IDA7CiAK
LSAgICBpZiAoICEoZGV2LT5tc2ktPmZsYWdzICYgTVNJX0ZMQUdfVU5JTklUKSApCi0gICAgewot
ICAgICAgICBQVF9MT0coIkVycm9yOiBzZXR1cCBwaHlzaWNhbCBhZnRlciBpbml0aWFsaXplZD8/
IFxuIik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KICAgICBndmVjID0gZGV2LT5tc2kt
PmRhdGEgJiAweEZGOwogICAgIGlmICghZ3ZlYykgewogICAgICAgICAvKiBpZiBndmVjIGlzIDAs
IHRoZSBndWVzdCBpcyBhc2tpbmcgZm9yIGEgcGFydGljdWxhciBwaXJxIHRoYXQK
--f46d04389097ebd44804bfacaf14
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--f46d04389097ebd44804bfacaf14--


From xen-devel-bounces@lists.xen.org Thu May 10 11:12:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:12:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRHp-0007KF-Ni; Thu, 10 May 2012 11:11:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSRHo-0007KA-JK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:11:56 +0000
Received: from [193.109.254.147:31834] by server-9.bemta-14.messagelabs.com id
	EA/B8-05787-B72ABAF4; Thu, 10 May 2012 11:11:55 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336648313!1708579!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7627 invoked from network); 10 May 2012 11:11:54 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:11:54 -0000
Received: by vbbfn1 with SMTP id fn1so337629vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 04:11:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=DwN4JKVGQllCHUpXwkupvJpbWER2lJ69REPkdMZwM94=;
	b=zq+yHm5zmdB5xm4KphVRGZblYrD0rYh1O8ume2oDQ5ZnjYmeZs2rueIPcjNIhkpcEz
	hHj9uo8LCnI8V15h50TmeCz2fAREIQ0z+XzUwWc6C1KPhBf9n3E+JRQsLn3GY+DaldUf
	ikyrVbG7TjpMhwApi+w5OTIzKtB8JxQ86jYYSj4M39eR2FC8THzaov+mmWkZLolsONhh
	QrxZy+9arY5vLNkARp1k1ZOG+g/Pj9qWQHeDJTO3Bzq2Z0K3+TeN/eHTPEQg+J/D1b1q
	J/e/GB5js505QDN9uwgOBXMuZEHYBsaeyC4LGsId72L0s4iN2imrW4RkWv+pqkTl+GPF
	jXMQ==
Received: by 10.220.150.12 with SMTP id w12mr2410393vcv.39.1336648313590; Thu,
	10 May 2012 04:11:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 04:11:33 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 12:11:33 +0100
Message-ID: <CAEBdQ92QSeSyd3=cZR1zgp+3qGQw_GFACL53FnnY+B4r3R6KNg@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=f46d04389097ebd44804bfacaf14
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--f46d04389097ebd44804bfacaf14
Content-Type: text/plain; charset=ISO-8859-1

After a host sleep MSI will be off on the host but qemu still thinks
it's on because of some state that have been set previously.

If qemu thinks that the device has been configure already
and the host MSI are disabled tell Xen to reconfigure the MSI.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--f46d04389097ebd44804bfacaf14
Content-Type: text/x-patch; charset=US-ASCII; name="msi-after-sleep.patch"
Content-Disposition: attachment; filename="msi-after-sleep.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h21pw1xk0

ZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5jIGIvaHcvcGFzcy10aHJvdWdoLmMKaW5kZXgg
ZjgzMmM1YS4uNWMzMmEyZSAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJvdWdoLmMKKysrIGIvaHcv
cGFzcy10aHJvdWdoLmMKQEAgLTM3NzIsNiArMzc3MiwyMSBAQCBzdGF0aWMgaW50IHB0X3BtY3Ny
X3JlZ193cml0ZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKICAgICByZXR1cm4gMDsKIH0KIAorc3Rh
dGljIGludCBtc2lfaXNfZW5hYmxlKHN0cnVjdCBwdF9kZXYgKmRldikKK3sKKyAgICB1aW50MTZf
dCB2YWwgPSAwOworICAgIHVpbnQzMl90IGFkZHJlc3MgPSAwOworICAgIGlmICghZGV2LT5tc2kp
CisgICAgICAgIHJldHVybiAwOworCisgICAgYWRkcmVzcyA9IGRldi0+bXNpLT5jdHJsX29mZnNl
dDsKKyAgICBpZiAoIWFkZHJlc3MpCisgICAgICAgIHJldHVybiAwOworCisgICAgdmFsID0gcGNp
X3JlYWRfd29yZChkZXYtPnBjaV9kZXYsIGFkZHJlc3MpOworICAgIHJldHVybiB2YWwgJiBQQ0lf
TVNJX0ZMQUdTX0VOQUJMRTsKK30KKwogLyogd3JpdGUgTWVzc2FnZSBDb250cm9sIHJlZ2lzdGVy
ICovCiBzdGF0aWMgaW50IHB0X21zZ2N0cmxfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2
LAogICAgIHN0cnVjdCBwdF9yZWdfdGJsICpjZmdfZW50cnksCkBAIC0zODM1LDYgKzM4NTAsMTQg
QEAgc3RhdGljIGludCBwdF9tc2djdHJsX3JlZ193cml0ZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwK
ICAgICAgICAgICAgIHB0ZGV2LT5tc2ktPmZsYWdzICY9IH5NU0lfRkxBR19VTklOSVQ7CiAgICAg
ICAgICAgICBwdGRldi0+bXNpLT5mbGFncyB8PSBQVF9NU0lfTUFQUEVEOwogICAgICAgICB9Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtc2lfaXNfZW5hYmxlKHB0
ZGV2KSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwdF9tc2lfc2V0dXAocHRkZXYp
OworICAgICAgICAgICAgICAgIHB0X21zaV91cGRhdGUocHRkZXYpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CiAgICAgICAgIHB0ZGV2LT5tc2ktPmZsYWdzIHw9IFBDSV9NU0lfRkxBR1NfRU5B
QkxFOwogICAgIH0KICAgICBlbHNlCmRpZmYgLS1naXQgYS9ody9wdC1tc2kuYyBiL2h3L3B0LW1z
aS5jCmluZGV4IDcwYzQwMjMuLjk5ZjlhZmQgMTAwNjQ0Ci0tLSBhL2h3L3B0LW1zaS5jCisrKyBi
L2h3L3B0LW1zaS5jCkBAIC02NywxMiArNjcsNiBAQCBpbnQgcHRfbXNpX3NldHVwKHN0cnVjdCBw
dF9kZXYgKmRldikKICAgICBpbnQgcGlycSA9IC0xOwogICAgIHVpbnQ4X3QgZ3ZlYyA9IDA7CiAK
LSAgICBpZiAoICEoZGV2LT5tc2ktPmZsYWdzICYgTVNJX0ZMQUdfVU5JTklUKSApCi0gICAgewot
ICAgICAgICBQVF9MT0coIkVycm9yOiBzZXR1cCBwaHlzaWNhbCBhZnRlciBpbml0aWFsaXplZD8/
IFxuIik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KICAgICBndmVjID0gZGV2LT5tc2kt
PmRhdGEgJiAweEZGOwogICAgIGlmICghZ3ZlYykgewogICAgICAgICAvKiBpZiBndmVjIGlzIDAs
IHRoZSBndWVzdCBpcyBhc2tpbmcgZm9yIGEgcGFydGljdWxhciBwaXJxIHRoYXQK
--f46d04389097ebd44804bfacaf14
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--f46d04389097ebd44804bfacaf14--


From xen-devel-bounces@lists.xen.org Thu May 10 11:20:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRPT-0007UP-QQ; Thu, 10 May 2012 11:19:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSRPS-0007UJ-8t
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:19:50 +0000
Received: from [193.109.254.147:33166] by server-10.bemta-14.messagelabs.com
	id 99/E6-05847-554ABAF4; Thu, 10 May 2012 11:19:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336648788!8601748!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6048 invoked from network); 10 May 2012 11:19:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:19:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403240"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:19:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 12:19:47 +0100
Message-ID: <1336648786.7098.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 12:19:46 +0100
In-Reply-To: <17a5b562d1e79d094c58.1336559323@kodo2>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> Introduce libxl helper functions to prepare devices to be passed through to
> guests.  This is meant to replace of all the manual sysfs commands which
> are currently required.
> 
> pci_assignable_add accepts a BDF for a device and will:
> * Unbind a device from its current driver, if any
> * If "rebind" is set, it will store the path of the driver from which we
>   unplugged it in /libxl/pciback/$BDF/driver_path

Since you don't know whether the user is going to pass -r to
assignable_remove why not always store this?

> * If necessary, create a slot for it in pciback

I must confess I'm a bit fuzzy on the relationship between slots and
bindings, where does the "if necessary" come into it?

I was wondering while reading the patch if unconditionally adding a
removing the slot might simplify a bunch of stuff, but I suspect I just
don't appreciate some particular aspect of how pciback works...

> * Bind the device to pciback
> 
> At this point it will show up in pci_assignable_list, and is ready to be passed
> through to a guest.
> 
> pci_assignable_remove accepts a BDF for a device and will:
> * Unbind the device from pciback
> * Remove the slot from pciback
> * If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it will
>   attempt to rebind the device to its original driver.
> 
> NB that "$BDF" in this case uses dashes instead of : and ., because : and . are
> illegal characters in xenstore paths.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Wed May 09 11:21:19 2012 +0100
> +++ b/tools/libxl/libxl.h       Wed May 09 11:21:28 2012 +0100
> @@ -658,10 +658,25 @@ int libxl_device_pci_destroy(libxl_ctx *
>  libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
> 
>  /*
> - * Similar to libxl_device_pci_list but returns all devices which
> - * could be assigned to a domain (i.e. are bound to the backend
> - * driver) but are not currently.
> + * Functions related to making devices assignable -- that is, bound to
> + * the pciback driver, ready to be given to a guest via
> + * libxl_pci_device_add.
> + *
> + * - ..._add() will unbind the device from its current driver (if
> + * already bound) and re-bind it to pciback; at that point it will be
> + * ready to be assigned to a VM.  If rebind is set, it will store the
> + * path to the old driver in xenstore so that it can be handed back to
> + * dom0 on restore.
> + *
> + * - ..._remove() will unbind the device from pciback, and if
> + * rebind is non-zero, attempt to assign it back to the driver
> + * from whence it came.
> + *
> + * - ..._list() will return a list of the PCI devices available to be
> + * assigned.
>   */
> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
> +int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
>  libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
> 
>  /* CPUID handling */
> diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c   Wed May 09 11:21:19 2012 +0100
> +++ b/tools/libxl/libxl_pci.c   Wed May 09 11:21:28 2012 +0100
> @@ -21,6 +21,7 @@
>  #define PCI_BDF                "%04x:%02x:%02x.%01x"
>  #define PCI_BDF_SHORT          "%02x:%02x.%01x"
>  #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
> +#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
> 
>  static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
>  {
> @@ -408,6 +409,347 @@ out:
>      return pcidevs;
>  }
> 
> +/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
> + * store the path to the original driver in it. */
> +static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev, char **driver_path)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char * spath, *_dp, **dp;
> +    struct stat st;
> +
> +    if ( driver_path )
> +        dp = driver_path;
> +    else
> +        dp = &_dp;
> +
> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
> +                           pcidev->domain,
> +                           pcidev->bus,
> +                           pcidev->dev,
> +                           pcidev->func);
> +    if ( !lstat(spath, &st) ) {
> +        /* Find the canonical path to the driver. */
> +        *dp = libxl__zalloc(gc, PATH_MAX);

Should we be actually using fpathconf / sysconf here?

> +        *dp = realpath(spath, *dp);
> +        if ( !*dp ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realpath() failed");

Since errno is meaningful you want LIBXL__LOGERRNO here. Or the short
form LOGE().

Where you have pointer output params (like driver_path here) in general
I think it is preferable to do everything with a local (single
indirection) pointer and only update the output parameter on success.
This means you avoid leaking/exposing a partial result on error but also
means you can drop a lot of "*" from around the function.

Maybe the gc makes this moot, but the "if ( driver_path )" stuff at the
top of the fn took me several seconds to work out also ;-).

> +            return -1;
> +        }
> +
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
> +                   *dp);
> +
> +        /* Unbind from the old driver */
> +        spath = libxl__sprintf(gc, "%s/unbind", *dp);
> +        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");

Not sure what errno is like here, worth printing it. Looking back at
patch #1 I suspect sysfs_write_bdf should preserve errno over the call
to close, so that suitable reporting can happen in the caller.

> +            return -1;
> +        }
> +    }
> +    return 0;
> +}
> +
> +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)

Is the concept of "having a slot" distinct from being bound to pciback?

> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    FILE *f;
> +    int rc = 0;
> +    unsigned bus, dev, func;
> +
> +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> +
> +    if (f == NULL) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> +                         SYSFS_PCIBACK_DRIVER"/slots");
> +        return ERROR_FAIL;
> +    }
> +
> +    while(fscanf(f, "0000:%x:%x.%x\n", &bus, &dev, &func)==3) {

Jan recently added support for PCI domains, does that have any impact on
the hardcoded 0000 here? I suppose that would require PCI domains
support in the dom0 kernel -- but that seems likely to already be there
(or be imminent)

I think the 0000 should be %x into domain compared with pcidev->domain.

> +        if(bus == pcidev->bus
> +           && dev == pcidev->dev
> +           && func == pcidev->func) {
> +            rc = 1;
> +            goto out;
> +        }
> +    }
> +out:
> +    fclose(f);
> +    return rc;
> +}
> +
> +static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char * spath;
> +    int rc;
> +    struct stat st;
> +
> +    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
> +                           pcidev->domain, pcidev->bus,
> +                           pcidev->dev, pcidev->func);
> +    rc = lstat(spath, &st);
> +
> +    if( rc == 0 )
> +        return 1;
> +    if ( rc < 0 && errno == ENOENT )
> +        return 0;
> +    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
> +    return -1;
> +}
> +
> +static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int rc;
> +
> +    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                   "Error checking for pciback slot");

Log errno?

Also pciback_dev_has_slot itself always logs on error, you probably
don't need both.

> +        return ERROR_FAIL;
> +    } else if (rc == 0) {
> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
> +                             pcidev) < 0 ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Couldn't bind device to pciback!");

ERRNO here too.

> +            return ERROR_FAIL;
> +        }
> +    }
> +
> +    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");

ERRNO here too. Or since there are loads of these perhaps sysfs_write_bf
should log on failure, either just the fact of the failed write to a
path (which implies the  underlying failure was to bind/unbind) or you
could add a "const char *what" param to use in logging.

> +        return ERROR_FAIL;
> +    }
> +    return 0;
> +}
> +
> +static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +
> +    /* Remove from pciback */
> +    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
> +        return ERROR_FAIL;
> +    }
> +
> +    /* Remove slot if necessary */
> +    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
> +                             pcidev) < 0 ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Couldn't remove pciback slot");

ERRNO

> +            return ERROR_FAIL;
> +        }
> +    }
> +    return 0;
> +}
> +
> +/* FIXME */

Leftover?

> +#define PCIBACK_INFO_PATH "/libxl/pciback"
> +
> +static void pci_assignable_driver_path_write(libxl__gc *gc,
> +                                            libxl_device_pci *pcidev,
> +                                            char *driver_path)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char *path;
> +    xs_transaction_t t = 0;
> +    struct xs_permissions perm[1];
> +
> +    perm[0].id = 0;
> +    perm[0].perms = XS_PERM_NONE;
> +
> +retry:
> +    t = xs_transaction_start(ctx->xsh);
> +
> +    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
> +                          pcidev->domain,
> +                          pcidev->bus,
> +                          pcidev->dev,
> +                          pcidev->func);
> +    xs_rm(ctx->xsh, t, path);

Why do you need to rm first? Won't the write just replace whatever it is
(and that means the need for a transaction goes away too)

In any case you should create path outside the retry loop instead of
needlessly recreating it each time around.

> +    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "Write of %s to node %s failed",
> +                         driver_path, path);
> +    }
> +
> +    if (!xs_transaction_end(ctx->xsh, t, 0)) {
> +        if (errno == EAGAIN) {
> +            t = 0;
> +            goto retry;
> +        }
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "xenstore transaction commit failed; device "
> +                         " will not be rebound to original driver.");
> +    }
> +}
> +
> +static char * pci_assignable_driver_path_read(libxl__gc *gc,
> +                                              libxl_device_pci *pcidev)
> +{
> +    return libxl__xs_read(gc, XBT_NULL,
> +                          libxl__sprintf(gc,
> +                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
> +                           pcidev->domain,
> +                           pcidev->bus,
> +                           pcidev->dev,
> +                           pcidev->func));
> +}
> +
> +static void pci_assignable_driver_path_remove(libxl__gc *gc,
> +                                              libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char * path;
> +    xs_transaction_t t;
> +
> +    /* Remove the xenstore entry */
> +retry:
> +    t = xs_transaction_start(ctx->xsh);
> +    path = libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
> +                          pcidev->domain,
> +                          pcidev->bus,
> +                          pcidev->dev,
> +                          pcidev->func);
> +    xs_rm(ctx->xsh, t, path);

You don't need a transaction for a single operation. (and if you did
then "path = ..." could have been hoisted out)

> +    if (!xs_transaction_end(ctx->xsh, t, 0)) {
> +        if (errno == EAGAIN)
> +            goto retry;
> +        else
> +            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                             "Failed to remove xenstore entry");
> +    }
> +}
> +
> +static int libxl__device_pci_assignable_add(libxl__gc *gc,
> +                                            libxl_device_pci *pcidev,
> +                                            int rebind)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    unsigned dom, bus, dev, func;
> +    char *spath, *driver_path = NULL;
> +    struct stat st;
> +
> +    /* Local copy for convenience */
> +    dom = pcidev->domain;
> +    bus = pcidev->bus;
> +    dev = pcidev->dev;
> +    func = pcidev->func;
> +
> +    /* See if the device exists */
> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
> +    if ( lstat(spath, &st) ) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
> +        return ERROR_FAIL;
> +    }
> +
> +    /* Check to see if it's already assigned to pciback */
> +    if ( pciback_dev_is_assigned(gc, pcidev) ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, PCI_BDF" already assigned to pciback",
> +                   dom, bus, dev, func);
> +        return 0;
> +    }
> +
> +    /* Check to see if there's already a driver that we need to unbind from */
> +    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind "PCI_BDF" from driver",
> +                   dom, bus, dev, func);
> +        return ERROR_FAIL;
> +    }
> +
> +    /* Store driver_path for rebinding to dom0 */
> +    if ( rebind ) {
> +        if ( driver_path ) {
> +            pci_assignable_driver_path_write(gc, pcidev, driver_path);
> +        } else {
> +            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                       PCI_BDF" not bound to a driver, will not be rebound.",
> +                       dom, bus, dev, func);
> +        }
> +    }
> +
> +    if ( pciback_dev_assign(gc, pcidev) ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
> +        return ERROR_FAIL;
> +    }
> +
> +    return 0;
> +}
> +
> +static int libxl__device_pci_assignable_remove(libxl__gc *gc,
> +                                               libxl_device_pci *pcidev,
> +                                               int rebind)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int rc;
> +    char *driver_path;
> +
> +    /* Unbind from pciback */
> +    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
> +        return ERROR_FAIL;
> +    } else if ( rc ) {
> +        pciback_dev_unassign(gc, pcidev);
> +    } else {
> +        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                   "Not bound to pciback");
> +    }
> +
> +    /* Rebind if necessary */
> +    driver_path = pci_assignable_driver_path_read(gc, pcidev);
> +
> +    if ( driver_path ) {
> +        if ( rebind ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
> +                       driver_path);
> +
> +            if ( sysfs_write_bdf(gc,
> +                                 libxl__sprintf(gc, "%s/bind", driver_path),
> +                                 pcidev) < 0 ) {
> +                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                           "Couldn't bind device to %s", driver_path);
> +                return -1;
> +            }
> +        }
> +
> +        pci_assignable_driver_path_remove(gc, pcidev);
> +    } else {
> +        if ( rebind ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                       "Couldn't find path for original driver; not rebinding");
> +        }
> +    }
> +
> +    return 0;
> +}
> +
> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
> +                                    int rebind)
> +{
> +    GC_INIT(ctx);
> +    int rc;
> +
> +    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
> +
> +    GC_FREE;
> +    return rc;
> +}

Are there internal callers of libxl__device_pci_assignable_add/remove?
If not then there's no reason to split into internal/external functions.
Doesn't matter much I guess.

> +
> +
> +int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
> +                                       int rebind)
> +{
> +    GC_INIT(ctx);
> +    int rc;
> +
> +    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
> +
> +    GC_FREE;
> +    return rc;
> +}
> +
>  /*
>   * This function checks that all functions of a device are bound to pciback
>   * driver. It also initialises a bit-mask of which function numbers are present
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:20:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRPT-0007UP-QQ; Thu, 10 May 2012 11:19:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSRPS-0007UJ-8t
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:19:50 +0000
Received: from [193.109.254.147:33166] by server-10.bemta-14.messagelabs.com
	id 99/E6-05847-554ABAF4; Thu, 10 May 2012 11:19:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336648788!8601748!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6048 invoked from network); 10 May 2012 11:19:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:19:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403240"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:19:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 12:19:47 +0100
Message-ID: <1336648786.7098.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 12:19:46 +0100
In-Reply-To: <17a5b562d1e79d094c58.1336559323@kodo2>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> Introduce libxl helper functions to prepare devices to be passed through to
> guests.  This is meant to replace of all the manual sysfs commands which
> are currently required.
> 
> pci_assignable_add accepts a BDF for a device and will:
> * Unbind a device from its current driver, if any
> * If "rebind" is set, it will store the path of the driver from which we
>   unplugged it in /libxl/pciback/$BDF/driver_path

Since you don't know whether the user is going to pass -r to
assignable_remove why not always store this?

> * If necessary, create a slot for it in pciback

I must confess I'm a bit fuzzy on the relationship between slots and
bindings, where does the "if necessary" come into it?

I was wondering while reading the patch if unconditionally adding a
removing the slot might simplify a bunch of stuff, but I suspect I just
don't appreciate some particular aspect of how pciback works...

> * Bind the device to pciback
> 
> At this point it will show up in pci_assignable_list, and is ready to be passed
> through to a guest.
> 
> pci_assignable_remove accepts a BDF for a device and will:
> * Unbind the device from pciback
> * Remove the slot from pciback
> * If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it will
>   attempt to rebind the device to its original driver.
> 
> NB that "$BDF" in this case uses dashes instead of : and ., because : and . are
> illegal characters in xenstore paths.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Wed May 09 11:21:19 2012 +0100
> +++ b/tools/libxl/libxl.h       Wed May 09 11:21:28 2012 +0100
> @@ -658,10 +658,25 @@ int libxl_device_pci_destroy(libxl_ctx *
>  libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
> 
>  /*
> - * Similar to libxl_device_pci_list but returns all devices which
> - * could be assigned to a domain (i.e. are bound to the backend
> - * driver) but are not currently.
> + * Functions related to making devices assignable -- that is, bound to
> + * the pciback driver, ready to be given to a guest via
> + * libxl_pci_device_add.
> + *
> + * - ..._add() will unbind the device from its current driver (if
> + * already bound) and re-bind it to pciback; at that point it will be
> + * ready to be assigned to a VM.  If rebind is set, it will store the
> + * path to the old driver in xenstore so that it can be handed back to
> + * dom0 on restore.
> + *
> + * - ..._remove() will unbind the device from pciback, and if
> + * rebind is non-zero, attempt to assign it back to the driver
> + * from whence it came.
> + *
> + * - ..._list() will return a list of the PCI devices available to be
> + * assigned.
>   */
> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
> +int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
>  libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
> 
>  /* CPUID handling */
> diff -r 5b5070d487d9 -r 17a5b562d1e7 tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c   Wed May 09 11:21:19 2012 +0100
> +++ b/tools/libxl/libxl_pci.c   Wed May 09 11:21:28 2012 +0100
> @@ -21,6 +21,7 @@
>  #define PCI_BDF                "%04x:%02x:%02x.%01x"
>  #define PCI_BDF_SHORT          "%02x:%02x.%01x"
>  #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
> +#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
> 
>  static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
>  {
> @@ -408,6 +409,347 @@ out:
>      return pcidevs;
>  }
> 
> +/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
> + * store the path to the original driver in it. */
> +static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev, char **driver_path)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char * spath, *_dp, **dp;
> +    struct stat st;
> +
> +    if ( driver_path )
> +        dp = driver_path;
> +    else
> +        dp = &_dp;
> +
> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
> +                           pcidev->domain,
> +                           pcidev->bus,
> +                           pcidev->dev,
> +                           pcidev->func);
> +    if ( !lstat(spath, &st) ) {
> +        /* Find the canonical path to the driver. */
> +        *dp = libxl__zalloc(gc, PATH_MAX);

Should we be actually using fpathconf / sysconf here?

> +        *dp = realpath(spath, *dp);
> +        if ( !*dp ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realpath() failed");

Since errno is meaningful you want LIBXL__LOGERRNO here. Or the short
form LOGE().

Where you have pointer output params (like driver_path here) in general
I think it is preferable to do everything with a local (single
indirection) pointer and only update the output parameter on success.
This means you avoid leaking/exposing a partial result on error but also
means you can drop a lot of "*" from around the function.

Maybe the gc makes this moot, but the "if ( driver_path )" stuff at the
top of the fn took me several seconds to work out also ;-).

> +            return -1;
> +        }
> +
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
> +                   *dp);
> +
> +        /* Unbind from the old driver */
> +        spath = libxl__sprintf(gc, "%s/unbind", *dp);
> +        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");

Not sure what errno is like here, worth printing it. Looking back at
patch #1 I suspect sysfs_write_bdf should preserve errno over the call
to close, so that suitable reporting can happen in the caller.

> +            return -1;
> +        }
> +    }
> +    return 0;
> +}
> +
> +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)

Is the concept of "having a slot" distinct from being bound to pciback?

> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    FILE *f;
> +    int rc = 0;
> +    unsigned bus, dev, func;
> +
> +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> +
> +    if (f == NULL) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> +                         SYSFS_PCIBACK_DRIVER"/slots");
> +        return ERROR_FAIL;
> +    }
> +
> +    while(fscanf(f, "0000:%x:%x.%x\n", &bus, &dev, &func)==3) {

Jan recently added support for PCI domains, does that have any impact on
the hardcoded 0000 here? I suppose that would require PCI domains
support in the dom0 kernel -- but that seems likely to already be there
(or be imminent)

I think the 0000 should be %x into domain compared with pcidev->domain.

> +        if(bus == pcidev->bus
> +           && dev == pcidev->dev
> +           && func == pcidev->func) {
> +            rc = 1;
> +            goto out;
> +        }
> +    }
> +out:
> +    fclose(f);
> +    return rc;
> +}
> +
> +static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char * spath;
> +    int rc;
> +    struct stat st;
> +
> +    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
> +                           pcidev->domain, pcidev->bus,
> +                           pcidev->dev, pcidev->func);
> +    rc = lstat(spath, &st);
> +
> +    if( rc == 0 )
> +        return 1;
> +    if ( rc < 0 && errno == ENOENT )
> +        return 0;
> +    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
> +    return -1;
> +}
> +
> +static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int rc;
> +
> +    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                   "Error checking for pciback slot");

Log errno?

Also pciback_dev_has_slot itself always logs on error, you probably
don't need both.

> +        return ERROR_FAIL;
> +    } else if (rc == 0) {
> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
> +                             pcidev) < 0 ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Couldn't bind device to pciback!");

ERRNO here too.

> +            return ERROR_FAIL;
> +        }
> +    }
> +
> +    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");

ERRNO here too. Or since there are loads of these perhaps sysfs_write_bf
should log on failure, either just the fact of the failed write to a
path (which implies the  underlying failure was to bind/unbind) or you
could add a "const char *what" param to use in logging.

> +        return ERROR_FAIL;
> +    }
> +    return 0;
> +}
> +
> +static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +
> +    /* Remove from pciback */
> +    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
> +        return ERROR_FAIL;
> +    }
> +
> +    /* Remove slot if necessary */
> +    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
> +                             pcidev) < 0 ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Couldn't remove pciback slot");

ERRNO

> +            return ERROR_FAIL;
> +        }
> +    }
> +    return 0;
> +}
> +
> +/* FIXME */

Leftover?

> +#define PCIBACK_INFO_PATH "/libxl/pciback"
> +
> +static void pci_assignable_driver_path_write(libxl__gc *gc,
> +                                            libxl_device_pci *pcidev,
> +                                            char *driver_path)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char *path;
> +    xs_transaction_t t = 0;
> +    struct xs_permissions perm[1];
> +
> +    perm[0].id = 0;
> +    perm[0].perms = XS_PERM_NONE;
> +
> +retry:
> +    t = xs_transaction_start(ctx->xsh);
> +
> +    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
> +                          pcidev->domain,
> +                          pcidev->bus,
> +                          pcidev->dev,
> +                          pcidev->func);
> +    xs_rm(ctx->xsh, t, path);

Why do you need to rm first? Won't the write just replace whatever it is
(and that means the need for a transaction goes away too)

In any case you should create path outside the retry loop instead of
needlessly recreating it each time around.

> +    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "Write of %s to node %s failed",
> +                         driver_path, path);
> +    }
> +
> +    if (!xs_transaction_end(ctx->xsh, t, 0)) {
> +        if (errno == EAGAIN) {
> +            t = 0;
> +            goto retry;
> +        }
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "xenstore transaction commit failed; device "
> +                         " will not be rebound to original driver.");
> +    }
> +}
> +
> +static char * pci_assignable_driver_path_read(libxl__gc *gc,
> +                                              libxl_device_pci *pcidev)
> +{
> +    return libxl__xs_read(gc, XBT_NULL,
> +                          libxl__sprintf(gc,
> +                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
> +                           pcidev->domain,
> +                           pcidev->bus,
> +                           pcidev->dev,
> +                           pcidev->func));
> +}
> +
> +static void pci_assignable_driver_path_remove(libxl__gc *gc,
> +                                              libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    char * path;
> +    xs_transaction_t t;
> +
> +    /* Remove the xenstore entry */
> +retry:
> +    t = xs_transaction_start(ctx->xsh);
> +    path = libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
> +                          pcidev->domain,
> +                          pcidev->bus,
> +                          pcidev->dev,
> +                          pcidev->func);
> +    xs_rm(ctx->xsh, t, path);

You don't need a transaction for a single operation. (and if you did
then "path = ..." could have been hoisted out)

> +    if (!xs_transaction_end(ctx->xsh, t, 0)) {
> +        if (errno == EAGAIN)
> +            goto retry;
> +        else
> +            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                             "Failed to remove xenstore entry");
> +    }
> +}
> +
> +static int libxl__device_pci_assignable_add(libxl__gc *gc,
> +                                            libxl_device_pci *pcidev,
> +                                            int rebind)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    unsigned dom, bus, dev, func;
> +    char *spath, *driver_path = NULL;
> +    struct stat st;
> +
> +    /* Local copy for convenience */
> +    dom = pcidev->domain;
> +    bus = pcidev->bus;
> +    dev = pcidev->dev;
> +    func = pcidev->func;
> +
> +    /* See if the device exists */
> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
> +    if ( lstat(spath, &st) ) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
> +        return ERROR_FAIL;
> +    }
> +
> +    /* Check to see if it's already assigned to pciback */
> +    if ( pciback_dev_is_assigned(gc, pcidev) ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, PCI_BDF" already assigned to pciback",
> +                   dom, bus, dev, func);
> +        return 0;
> +    }
> +
> +    /* Check to see if there's already a driver that we need to unbind from */
> +    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind "PCI_BDF" from driver",
> +                   dom, bus, dev, func);
> +        return ERROR_FAIL;
> +    }
> +
> +    /* Store driver_path for rebinding to dom0 */
> +    if ( rebind ) {
> +        if ( driver_path ) {
> +            pci_assignable_driver_path_write(gc, pcidev, driver_path);
> +        } else {
> +            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                       PCI_BDF" not bound to a driver, will not be rebound.",
> +                       dom, bus, dev, func);
> +        }
> +    }
> +
> +    if ( pciback_dev_assign(gc, pcidev) ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
> +        return ERROR_FAIL;
> +    }
> +
> +    return 0;
> +}
> +
> +static int libxl__device_pci_assignable_remove(libxl__gc *gc,
> +                                               libxl_device_pci *pcidev,
> +                                               int rebind)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int rc;
> +    char *driver_path;
> +
> +    /* Unbind from pciback */
> +    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
> +        return ERROR_FAIL;
> +    } else if ( rc ) {
> +        pciback_dev_unassign(gc, pcidev);
> +    } else {
> +        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                   "Not bound to pciback");
> +    }
> +
> +    /* Rebind if necessary */
> +    driver_path = pci_assignable_driver_path_read(gc, pcidev);
> +
> +    if ( driver_path ) {
> +        if ( rebind ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
> +                       driver_path);
> +
> +            if ( sysfs_write_bdf(gc,
> +                                 libxl__sprintf(gc, "%s/bind", driver_path),
> +                                 pcidev) < 0 ) {
> +                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                           "Couldn't bind device to %s", driver_path);
> +                return -1;
> +            }
> +        }
> +
> +        pci_assignable_driver_path_remove(gc, pcidev);
> +    } else {
> +        if ( rebind ) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                       "Couldn't find path for original driver; not rebinding");
> +        }
> +    }
> +
> +    return 0;
> +}
> +
> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
> +                                    int rebind)
> +{
> +    GC_INIT(ctx);
> +    int rc;
> +
> +    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
> +
> +    GC_FREE;
> +    return rc;
> +}

Are there internal callers of libxl__device_pci_assignable_add/remove?
If not then there's no reason to split into internal/external functions.
Doesn't matter much I guess.

> +
> +
> +int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
> +                                       int rebind)
> +{
> +    GC_INIT(ctx);
> +    int rc;
> +
> +    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
> +
> +    GC_FREE;
> +    return rc;
> +}
> +
>  /*
>   * This function checks that all functions of a device are bound to pciback
>   * driver. It also initialises a bit-mask of which function numbers are present
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRPj-0007V9-6x; Thu, 10 May 2012 11:20:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRPh-0007Ux-Ed
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:20:05 +0000
Received: from [85.158.143.35:7689] by server-1.bemta-4.messagelabs.com id
	7E/A9-20925-464ABAF4; Thu, 10 May 2012 11:20:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336648802!8255367!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9531 invoked from network); 10 May 2012 11:20:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403246"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:01 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRPd-0006ep-4g; Thu, 10 May 2012 11:20:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRPd-0004o0-2O;
	Thu, 10 May 2012 12:20:01 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42080.935833.873461@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:00 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <aa4a499106c37c60f955.1336406051@probook.site>
References: <aa4a499106c37c60f955.1336406051@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] xl.cfg: fix typo in opengl section
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] xl.cfg: fix typo in opengl section"):
> xl.cfg: fix typo in opengl section

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRPj-0007V9-6x; Thu, 10 May 2012 11:20:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRPh-0007Ux-Ed
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:20:05 +0000
Received: from [85.158.143.35:7689] by server-1.bemta-4.messagelabs.com id
	7E/A9-20925-464ABAF4; Thu, 10 May 2012 11:20:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336648802!8255367!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9531 invoked from network); 10 May 2012 11:20:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403246"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:01 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRPd-0006ep-4g; Thu, 10 May 2012 11:20:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRPd-0004o0-2O;
	Thu, 10 May 2012 12:20:01 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42080.935833.873461@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:00 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <aa4a499106c37c60f955.1336406051@probook.site>
References: <aa4a499106c37c60f955.1336406051@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] xl.cfg: fix typo in opengl section
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] xl.cfg: fix typo in opengl section"):
> xl.cfg: fix typo in opengl section

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:20:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRQ1-0007XZ-Ja; Thu, 10 May 2012 11:20:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRPz-0007X9-I3
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:20:23 +0000
Received: from [85.158.138.51:19999] by server-7.bemta-3.messagelabs.com id
	CD/23-03078-674ABAF4; Thu, 10 May 2012 11:20:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336648821!18364405!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26968 invoked from network); 10 May 2012 11:20:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403257"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRPw-0006f4-Cs; Thu, 10 May 2012 11:20:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRPw-0004o6-Bw;
	Thu, 10 May 2012 12:20:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42099.431647.59015@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:19 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4FAA9E85.9010007@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
	<4FAA7354.5070802@tycho.nsa.gov>
	<20394.36387.49258.141494@mariner.uk.xensource.com>
	<4FAA9E85.9010007@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return
	of	OSEVENT_HOOK macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> I like that method (or this slight tweak to it):
> 
> -----------8<-------------------------
> 
> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
> the function call it made. Fix the macro to return the proper value.

Excellent, thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:20:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRQ1-0007XZ-Ja; Thu, 10 May 2012 11:20:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRPz-0007X9-I3
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:20:23 +0000
Received: from [85.158.138.51:19999] by server-7.bemta-3.messagelabs.com id
	CD/23-03078-674ABAF4; Thu, 10 May 2012 11:20:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336648821!18364405!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26968 invoked from network); 10 May 2012 11:20:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403257"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRPw-0006f4-Cs; Thu, 10 May 2012 11:20:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRPw-0004o6-Bw;
	Thu, 10 May 2012 12:20:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42099.431647.59015@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:19 +0100
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4FAA9E85.9010007@tycho.nsa.gov>
References: <1336418109-6335-1-git-send-email-dgdegra@tycho.nsa.gov>
	<20394.28369.936242.527916@mariner.uk.xensource.com>
	<4FAA7354.5070802@tycho.nsa.gov>
	<20394.36387.49258.141494@mariner.uk.xensource.com>
	<4FAA9E85.9010007@tycho.nsa.gov>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return
	of	OSEVENT_HOOK macro
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel De Graaf writes ("Re: [Xen-devel] [PATCH v2] libxl: Fix incorrect return of OSEVENT_HOOK macro"):
> I like that method (or this slight tweak to it):
> 
> -----------8<-------------------------
> 
> The OSEVENT_HOOK_INTERN macro incorrectly returned the value of the
> expression CTX->osevent_in_hook-- (usually 1) instead of the value of
> the function call it made. Fix the macro to return the proper value.

Excellent, thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:20:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRQF-0007Zq-6d; Thu, 10 May 2012 11:20:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRQD-0007ZQ-I8
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:20:37 +0000
Received: from [85.158.143.99:51445] by server-2.bemta-4.messagelabs.com id
	01/9B-17550-484ABAF4; Thu, 10 May 2012 11:20:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336648834!27324208!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1639 invoked from network); 10 May 2012 11:20:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403261"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRQ8-0006f8-St; Thu, 10 May 2012 11:20:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRQ8-0004oA-S2;
	Thu, 10 May 2012 12:20:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42112.751343.783836@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:32 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336483619.14542.86.camel@zakaz.uk.xensource.com>
References: <osstest-12800-mainreport@xen.org>
	<1336483619.14542.86.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen.org" <ian.jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL"):
> libxl: log failure from libxl__blktap_devpath in libxl_device_disk_add

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:20:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRQF-0007Zq-6d; Thu, 10 May 2012 11:20:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRQD-0007ZQ-I8
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:20:37 +0000
Received: from [85.158.143.99:51445] by server-2.bemta-4.messagelabs.com id
	01/9B-17550-484ABAF4; Thu, 10 May 2012 11:20:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336648834!27324208!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1639 invoked from network); 10 May 2012 11:20:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403261"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRQ8-0006f8-St; Thu, 10 May 2012 11:20:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRQ8-0004oA-S2;
	Thu, 10 May 2012 12:20:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42112.751343.783836@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:32 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336483619.14542.86.camel@zakaz.uk.xensource.com>
References: <osstest-12800-mainreport@xen.org>
	<1336483619.14542.86.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen.org" <ian.jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12800: tolerable FAIL"):
> libxl: log failure from libxl__blktap_devpath in libxl_device_disk_add

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:27:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:27:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRWX-00083X-1X; Thu, 10 May 2012 11:27:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRWV-00083S-Af
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:27:07 +0000
Received: from [193.109.254.147:38762] by server-3.bemta-14.messagelabs.com id
	E4/6B-23274-A06ABAF4; Thu, 10 May 2012 11:27:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336648845!1738464!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15219 invoked from network); 10 May 2012 11:20:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403267"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRQK-0006fE-TE; Thu, 10 May 2012 11:20:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRQK-0004oJ-SL;
	Thu, 10 May 2012 12:20:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42124.863218.895547@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336645119.7098.49.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
	<20394.29747.791679.439889@mariner.uk.xensource.com>
	<1336645119.7098.49.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu Status
 (Was: Re: 4.2 TODO / Release Status))
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu Status (Was: Re: 4.2 TODO / Release Status))"):
> MAINTAINERS: add myself as a tools maintainer
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:27:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:27:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRWX-00083X-1X; Thu, 10 May 2012 11:27:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRWV-00083S-Af
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:27:07 +0000
Received: from [193.109.254.147:38762] by server-3.bemta-14.messagelabs.com id
	E4/6B-23274-A06ABAF4; Thu, 10 May 2012 11:27:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336648845!1738464!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15219 invoked from network); 10 May 2012 11:20:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:20:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403267"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:20:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:20:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRQK-0006fE-TE; Thu, 10 May 2012 11:20:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRQK-0004oJ-SL;
	Thu, 10 May 2012 12:20:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.42124.863218.895547@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:20:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336645119.7098.49.camel@zakaz.uk.xensource.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
	<20394.29747.791679.439889@mariner.uk.xensource.com>
	<1336645119.7098.49.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu Status
 (Was: Re: 4.2 TODO / Release Status))
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[Xen-devel] Extra libxl committer? (Was: Re: Upstream Qemu Status (Was: Re: 4.2 TODO / Release Status))"):
> MAINTAINERS: add myself as a tools maintainer
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY5-00087p-EG; Thu, 10 May 2012 11:28:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY4-00086z-8a
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:44 +0000
Received: from [85.158.143.99:13321] by server-3.bemta-4.messagelabs.com id
	5A/5C-05853-A66ABAF4; Thu, 10 May 2012 11:28:42 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336649317!26447743!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2206 invoked from network); 10 May 2012 11:28:40 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234742"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-MN;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:29 +0100
Message-ID: <1336649312-11198-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 1/4] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add another parameter to libxl__exec call that contains the
environment variables to use when performing the execvp call.

Changes since v3:

 * Use CTX instead of defining libxl_ctx *ctx.

 * Error checking on setenv.

 * Better comment on header for libxl__exec function.

 * Added some const-correctness.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c            |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_dm.c         |    2 +-
 tools/libxl/libxl_exec.c       |   20 ++++++++++++++++++--
 tools/libxl/libxl_internal.h   |   20 ++++++++++++++++++--
 5 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8f63941..79d7708 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1251,7 +1251,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
         args[2] = "-autopass";
     }
 
-    libxl__exec(autopass_fd, -1, -1, args[0], args);
+    libxl__exec(gc, autopass_fd, -1, -1, args[0], args, NULL);
     abort();
 
  x_fail:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..0021a7b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -359,6 +359,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
     libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
     STATE_AO_GC(bl->ao);
     int rc, r;
+    char *const env[] = { "TERM", "vt100", NULL };
 
     if (bl->openpty.rc) {
         rc = bl->openpty.rc;
@@ -452,8 +453,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         /* child */
         r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
         if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        libxl__exec(gc, -1, -1, -1, bl->args[0], (char **) bl->args, env);
         exit(-1);
     }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index b2bae68..5de3aef 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1006,7 +1006,7 @@ retry_transaction:
         goto out_close;
     if (!rc) { /* inner child */
         setsid();
-        libxl__exec(null, logfile_w, logfile_w, dm, args);
+        libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
     rc = 0;
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b46b893..fba4cb4 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -66,8 +66,8 @@ static void check_open_fds(const char *what)
     if (badness) abort();
 }
 
-void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
-                char **args)
+void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd, int stderrfd,
+                 const char *arg0, char *const args[], char *const env[])
      /* call this in the child */
 {
     if (stdinfd != -1)
@@ -90,8 +90,24 @@ void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
     /* in case our caller set it to IGN.  subprocesses are entitled
      * to assume they got DFL. */
 
+    if (env != NULL) {
+        for (int i = 0; env[i] != NULL && env[i+1] != NULL; i += 2) {
+            if (setenv(env[i], env[i+1], 1) < 0) {
+                switch (errno) {
+                case EINVAL:
+                    LOGEV(ERROR, errno, "invalid env variables (%s = %s)",
+                                        env[i], env[i+1]);
+                    break;
+                case ENOMEM:
+                    libxl__alloc_failed(CTX, __func__, 0, 0);
+                }
+                goto out;
+            }
+        }
+    }
     execvp(arg0, args);
 
+out:
     fprintf(stderr, "libxl: cannot execute %s: %s\n", arg0, strerror(errno));
     _exit(-1);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 8a90622..9ab76f8 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1138,8 +1138,24 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
-_hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
-               const char *arg0, char **args); // logs errors, never returns
+/*
+ * env should be passed using the following format,
+ *
+ * env[0]: name of env variable
+ * env[1]: value of env variable
+ * env[n]: ...
+ *
+ * So it efectively becomes something like:
+ * export env[n]=env[n+1]
+ * (where n%2 = 0)
+ *
+ * The last entry of the array always has to be NULL.
+ *
+ * Logs errors, never returns.
+ */
+_hidden  void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd,
+                          int stderrfd, const char *arg0, char *const args[],
+                          char *const env[]);
 
 /* from xl_create */
 _hidden int libxl__domain_make(libxl__gc *gc,
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY5-00087p-EG; Thu, 10 May 2012 11:28:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY4-00086z-8a
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:44 +0000
Received: from [85.158.143.99:13321] by server-3.bemta-4.messagelabs.com id
	5A/5C-05853-A66ABAF4; Thu, 10 May 2012 11:28:42 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336649317!26447743!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2206 invoked from network); 10 May 2012 11:28:40 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234742"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-MN;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:29 +0100
Message-ID: <1336649312-11198-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 1/4] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add another parameter to libxl__exec call that contains the
environment variables to use when performing the execvp call.

Changes since v3:

 * Use CTX instead of defining libxl_ctx *ctx.

 * Error checking on setenv.

 * Better comment on header for libxl__exec function.

 * Added some const-correctness.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c            |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_dm.c         |    2 +-
 tools/libxl/libxl_exec.c       |   20 ++++++++++++++++++--
 tools/libxl/libxl_internal.h   |   20 ++++++++++++++++++--
 5 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8f63941..79d7708 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1251,7 +1251,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
         args[2] = "-autopass";
     }
 
-    libxl__exec(autopass_fd, -1, -1, args[0], args);
+    libxl__exec(gc, autopass_fd, -1, -1, args[0], args, NULL);
     abort();
 
  x_fail:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..0021a7b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -359,6 +359,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
     libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
     STATE_AO_GC(bl->ao);
     int rc, r;
+    char *const env[] = { "TERM", "vt100", NULL };
 
     if (bl->openpty.rc) {
         rc = bl->openpty.rc;
@@ -452,8 +453,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         /* child */
         r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
         if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        libxl__exec(gc, -1, -1, -1, bl->args[0], (char **) bl->args, env);
         exit(-1);
     }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index b2bae68..5de3aef 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1006,7 +1006,7 @@ retry_transaction:
         goto out_close;
     if (!rc) { /* inner child */
         setsid();
-        libxl__exec(null, logfile_w, logfile_w, dm, args);
+        libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
     rc = 0;
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b46b893..fba4cb4 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -66,8 +66,8 @@ static void check_open_fds(const char *what)
     if (badness) abort();
 }
 
-void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
-                char **args)
+void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd, int stderrfd,
+                 const char *arg0, char *const args[], char *const env[])
      /* call this in the child */
 {
     if (stdinfd != -1)
@@ -90,8 +90,24 @@ void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
     /* in case our caller set it to IGN.  subprocesses are entitled
      * to assume they got DFL. */
 
+    if (env != NULL) {
+        for (int i = 0; env[i] != NULL && env[i+1] != NULL; i += 2) {
+            if (setenv(env[i], env[i+1], 1) < 0) {
+                switch (errno) {
+                case EINVAL:
+                    LOGEV(ERROR, errno, "invalid env variables (%s = %s)",
+                                        env[i], env[i+1]);
+                    break;
+                case ENOMEM:
+                    libxl__alloc_failed(CTX, __func__, 0, 0);
+                }
+                goto out;
+            }
+        }
+    }
     execvp(arg0, args);
 
+out:
     fprintf(stderr, "libxl: cannot execute %s: %s\n", arg0, strerror(errno));
     _exit(-1);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 8a90622..9ab76f8 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1138,8 +1138,24 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
-_hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
-               const char *arg0, char **args); // logs errors, never returns
+/*
+ * env should be passed using the following format,
+ *
+ * env[0]: name of env variable
+ * env[1]: value of env variable
+ * env[n]: ...
+ *
+ * So it efectively becomes something like:
+ * export env[n]=env[n+1]
+ * (where n%2 = 0)
+ *
+ * The last entry of the array always has to be NULL.
+ *
+ * Logs errors, never returns.
+ */
+_hidden  void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd,
+                          int stderrfd, const char *arg0, char *const args[],
+                          char *const env[]);
 
 /* from xl_create */
 _hidden int libxl__domain_make(libxl__gc *gc,
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY3-000872-Gp; Thu, 10 May 2012 11:28:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY1-00086s-L7
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:42 +0000
Received: from [193.109.254.147:17925] by server-7.bemta-14.messagelabs.com id
	E9/6F-01627-866ABAF4; Thu, 10 May 2012 11:28:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336649318!6144586!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20534 invoked from network); 10 May 2012 11:28:39 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="25058753"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-Pt;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:32 +0100
Message-ID: <1336649312-11198-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 4/4] libxl: call hotplug scripts from libxl
	for vif
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

As the previous change already introduces most of needed machinery to
call hotplug scripts from libxl, this only adds the necessary bits to
call this scripts for vif interfaces also.

libxl_device_nic_add has been changed to make use of the new event
functionality, and the necessary vif hotplug code has been added. No
changes where needed in the teardown part, since it uses exactly the
same code introduced for vbd.

Network devices are added after the domain model has launched, since
we need the tap inteface to be present when the hotplug script
is executed.

PV nic devices are set to LIBXL_NIC_TYPE_VIF, since the default value
is LIBXL_NIC_TYPE_IOEMU regardless of the guest type.

Changes since v3:

 * Entangle network device addition with the new AO domain creation,
   assute that network interfaces are always added after device model
   creation. Make sure the same happens for stubdomain network
   interfaces.

 * Make use of the new functions LOG, LOGE, GCNEW_ARRAY...

 * Remove disable_xl_vif_scripts, since now it's a global option that
   affects both vifs and disks hotplug scripts.

 * Added proper handling of IOEMU type of nics, we need to
   execute two different hotplug scripts. Now both scripts are
   chained, and one is executed after the other has finished (we call
   the next script from the callback of the previous one). Previously
   we used to launch both scripts simultaneously.

Changes since v2:

 * Added fancy functions to fetch tap and vif names, now the prefix of
   the tap device has been saved in a constant, called
   TAP_DEVICE_PREFIX.

 * Wait for timeout before nuking frontend xenstore entries.

 * Changed disable_vif_scripts to disable_xl_vif_scripts, it's easier
   to understand.

 * Default nic type set by libxl__device_nic_setdefault is VIF now
   (was IOEMU).

 * Save nic type and udev script exection inside
   /libxl/devices/<domid>/nic/<devid>/ instead of saving it in the
   backend path.

Changes since v1:

 * Propagated changes from previous patch (disable_udev and
   libxl_device_nic_add switch).

 * Modified udev rules to add the new env variable.

 * Added support for named interfaces.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl.c                   |  122 ++++---------------------------
 tools/libxl/libxl.h                   |    3 +-
 tools/libxl/libxl_create.c            |   78 ++++++++++++++++++--
 tools/libxl/libxl_device.c            |  122 +++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c                |   64 +++++++++++++++-
 tools/libxl/libxl_internal.h          |    9 ++
 tools/libxl/libxl_linux.c             |  130 ++++++++++++++++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c              |    2 +-
 9 files changed, 412 insertions(+), 124 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b438fbf..5a681b1 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1634,123 +1634,29 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_nic *nic,
-                                  libxl__device *device)
-{
-    device->backend_devid    = nic->devid;
-    device->backend_domid    = nic->backend_domid;
-    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
-    device->devid            = nic->devid;
-    device->domid            = domid;
-    device->kind             = LIBXL__DEVICE_KIND_VIF;
-
-    return 0;
-}
-
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
-    char *dompath, **l;
-    unsigned int nb, rc;
-
-    rc = libxl__device_nic_setdefault(gc, nic);
-    if (rc) goto out;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+    int rc;
 
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_nic_add(egc, domid, nic, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add nic %s", nic->ifname);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (nic->devid == -1) {
-        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
-            rc = ERROR_FAIL;
-            goto out_free;
-        }
-        if (!(l = libxl__xs_directory(gc, XBT_NULL,
-                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
-            nic->devid = 0;
-        } else {
-            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
-        }
-    }
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if ( rc != 0 ) goto out_free;
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    if (nic->script) {
-        flexarray_append(back, "script");
-        flexarray_append(back, nic->script[0]=='/' ? nic->script
-                         : libxl__sprintf(gc, "%s/%s",
-                                          libxl__xen_script_dir_path(),
-                                          nic->script));
-    }
-
-    if (nic->ifname) {
-        flexarray_append(back, "vifname");
-        flexarray_append(back, nic->ifname);
-    }
-
-    flexarray_append(back, "mac");
-    flexarray_append(back,libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    if (nic->ip) {
-        flexarray_append(back, "ip");
-        flexarray_append(back, libxl__strdup(gc, nic->ip));
-    }
-
-    if (nic->rate_interval_usecs > 0) {
-        flexarray_append(back, "rate");
-        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
-                            nic->rate_bytes_per_interval,
-                            nic->rate_interval_usecs));
-    }
 
-    flexarray_append(back, "bridge");
-    flexarray_append(back, libxl__strdup(gc, nic->bridge));
-    flexarray_append(back, "handle");
-    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "handle");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
-    flexarray_append(front, "mac");
-    flexarray_append(front, libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-
-    /* FIXME: wait for plug */
-    rc = 0;
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 0ab1531..6689baf 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -688,7 +688,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index db58fd0..69f4e4d 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -605,6 +605,11 @@ static void domcreate_disk_connected(libxl__egc *egc,
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence if domain creation is successful. */
 static void domcreate_complete(libxl__egc *egc,
@@ -747,13 +752,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
         }
     }
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     return;
 
@@ -885,6 +888,67 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
+        dcs->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+            dcs->devices[i].callback = domcreate_nics_connected;
+            ret = libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                                        &dcs->devices[i]);
+            if (ret) {
+                LOGE(ERROR, "cannot add nic %d to domain: %d", i, domid);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 275ab43..6b431a2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -191,6 +191,20 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
+int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                           libxl_device_nic *nic,
+                           libxl__device *device)
+{
+    device->backend_devid    = nic->devid;
+    device->backend_domid    = nic->backend_domid;
+    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
+    device->devid            = nic->devid;
+    device->domid            = domid;
+    device->kind             = LIBXL__DEVICE_KIND_VIF;
+
+    return 0;
+}
+
 int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                            libxl_device_disk *disk,
                            libxl__ao_device *aorm)
@@ -324,6 +338,114 @@ out:
     return rc;
 }
 
+int libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                          libxl_device_nic *nic, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device *device;
+    char *dompath, **l;
+    unsigned int nb, rc;
+
+    rc = libxl__device_nic_setdefault(gc, nic);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(18, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (nic->devid == -1) {
+        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
+            rc = ERROR_FAIL;
+            goto out_free;
+        }
+        if (!(l = libxl__xs_directory(gc, XBT_NULL, GCSPRINTF("%s/device/vif",
+                                                            dompath), &nb))) {
+            nic->devid = 0;
+        } else {
+            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
+        }
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
+    if (rc != 0) goto out_free;
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, GCSPRINTF("%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "state");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    if (nic->script) {
+        flexarray_append(back, "script");
+        flexarray_append(back, nic->script[0] == '/' ?
+                               nic->script :
+                               GCSPRINTF("%s/%s", libxl__xen_script_dir_path(),
+                         nic->script));
+    }
+
+    if (nic->ifname) {
+        flexarray_append(back, "vifname");
+        flexarray_append(back, nic->ifname);
+    }
+
+    flexarray_append(back, "mac");
+    flexarray_append(back, GCSPRINTF(LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    if (nic->ip) {
+        flexarray_append(back, "ip");
+        flexarray_append(back, libxl__strdup(gc, nic->ip));
+    }
+
+    if (nic->rate_interval_usecs > 0) {
+        flexarray_append(back, "rate");
+        flexarray_append(back, GCSPRINTF("%"PRIu64",%"PRIu32"",
+                                         nic->rate_bytes_per_interval,
+                                         nic->rate_interval_usecs));
+    }
+
+    flexarray_append(back, "bridge");
+    flexarray_append(back, libxl__strdup(gc, nic->bridge));
+    flexarray_append(back, "handle");
+    flexarray_append(back, GCSPRINTF("%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, GCSPRINTF("%s",
+                                     libxl_nic_type_to_string(nic->nictype)));
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, GCSPRINTF("%d", nic->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, GCSPRINTF("%d", 1));
+    flexarray_append(front, "handle");
+    flexarray_append(front, GCSPRINTF("%d", nic->devid));
+    flexarray_append(front, "mac");
+    flexarray_append(front, GCSPRINTF(LIBXL_MAC_FMT,
+                                      LIBXL_MAC_BYTES(nic->mac)));
+    libxl__device_generic_add(gc, device,
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
+    rc = 0;
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
+
 typedef struct {
     libxl__gc *gc;
     libxl_device_disk *disk;
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index b2622ee..ff5f8ad 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -666,6 +666,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -838,9 +844,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -915,9 +923,59 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
+    int ret2, i;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        GCNEW_ARRAY(stubdom_dmss->devices, d_config->num_vifs);
+        stubdom_dmss->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&stubdom_dmss->devices[i], ao,
+                                  &stubdom_dmss->devices);
+            stubdom_dmss->devices[i].callback = stubdom_nics_connected;
+            ret2 = libxl__device_nic_add(egc, dm_domid, &d_config->vifs[i],
+                                        &stubdom_dmss->devices[i]);
+            if (ret2) {
+                LOGE(ERROR, "cannot add nic %d to domain: %d", i, dm_domid);
+                rc = ERROR_FAIL;
+                goto out;
+            }
+        }
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(aorm->base, *dmss, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dmss->devices,
+                                      dmss->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, dmss, ret);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index faeb965..91eba63 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -782,6 +782,9 @@ _hidden int libxl__domain_pvcontrol_write(libxl__gc *gc, xs_transaction_t t,
 _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend backend);
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
+_hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__device *device);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__device *device);
@@ -965,6 +968,7 @@ struct libxl__ao_device {
     libxl__device_callback *callback;
     /* private for implementation */
     int rc;
+    int vif_executed;
     libxl__ev_time ev;
     libxl__ev_child child;
     libxl__ev_devstate ds;
@@ -974,6 +978,9 @@ struct libxl__ao_device {
 _hidden int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__ao_device *aorm);
+_hidden int libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                  libxl_device_nic *nic,
+                                  libxl__ao_device *aorm);
 
 /*
  *----- spawn -----
@@ -1147,6 +1154,8 @@ struct libxl__dm_spawn_state {
     libxl_domain_config *guest_config;
     libxl__domain_build_state *build_state; /* relates to guest_domid */
     libxl__dm_spawn_cb *callback;
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 _hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 315ce15..6e752bd 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -28,6 +28,26 @@ int libxl__try_phy_backend(mode_t st_mode)
 
 /* Hotplug scripts helpers */
 
+static libxl_nic_type get_nic_type(libxl__gc *gc, libxl__device *dev)
+{
+    char *snictype, *be_path;
+    libxl_nic_type nictype;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        return -1;
+    }
+    if (libxl_nic_type_from_string(snictype, &nictype) < 0) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        return -1;
+    }
+
+    return nictype;
+}
+
 static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
 {
     if (!aorm) return;
@@ -47,7 +67,18 @@ static void callback(libxl__egc *egc, libxl__ev_child *child,
                                                     : LIBXL__LOG_WARNING,
                                       aorm->what, pid, status);
         aorm->rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        get_nic_type(gc, aorm->dev) == LIBXL_NIC_TYPE_IOEMU &&
+        !aorm->vif_executed) {
+        aorm->vif_executed = 1;
+        libxl__device_hotplug(egc, aorm);
+        return;
     }
+
+out:
     aorm->callback(egc, aorm);
 }
 
@@ -66,7 +97,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    GCNEW_ARRAY(env, 9);
+    GCNEW_ARRAY(env, 13);
     env[nr++] = "script";
     env[nr++] = script;
     env[nr++] = "XENBUS_TYPE";
@@ -75,6 +106,24 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        switch (get_nic_type(gc, dev)) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
 
     return env;
@@ -119,6 +168,81 @@ out_free:
     return rc;
 }
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *what, *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        return -1;
+    }
+
+    nictype = get_nic_type(gc, aorm->dev);
+    if (nictype < 0) {
+        LOGE(ERROR, "error when fetching nic type");
+        return -1;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return -1;
+
+    GCNEW_ARRAY(args, 4);
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (!aorm->vif_executed) goto execute_vif;
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+        args[nr++] = libxl__strdup(gc, "type_if=tap");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "online" : "offline";
+        args[nr++] = libxl__strdup(gc, "type_if=vif");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    default:
+        /* Unknown network type */
+        LOG(DEBUG, "unknown network card type with id %"PRIu32,
+                   aorm->dev->devid);
+        return 0;
+    }
+
+    rc = 0;
+
+out:
+    return rc;
+}
+
 void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
@@ -132,6 +256,10 @@ void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
         aorm->rc = libxl__hotplug_disk(gc, aorm);
         if (aorm->rc) goto error;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        aorm->rc = libxl__hotplug_nic(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3f1bbf6..162bb82 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4967,7 +4967,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY3-000872-Gp; Thu, 10 May 2012 11:28:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY1-00086s-L7
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:42 +0000
Received: from [193.109.254.147:17925] by server-7.bemta-14.messagelabs.com id
	E9/6F-01627-866ABAF4; Thu, 10 May 2012 11:28:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336649318!6144586!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20534 invoked from network); 10 May 2012 11:28:39 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="25058753"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-Pt;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:32 +0100
Message-ID: <1336649312-11198-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 4/4] libxl: call hotplug scripts from libxl
	for vif
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

As the previous change already introduces most of needed machinery to
call hotplug scripts from libxl, this only adds the necessary bits to
call this scripts for vif interfaces also.

libxl_device_nic_add has been changed to make use of the new event
functionality, and the necessary vif hotplug code has been added. No
changes where needed in the teardown part, since it uses exactly the
same code introduced for vbd.

Network devices are added after the domain model has launched, since
we need the tap inteface to be present when the hotplug script
is executed.

PV nic devices are set to LIBXL_NIC_TYPE_VIF, since the default value
is LIBXL_NIC_TYPE_IOEMU regardless of the guest type.

Changes since v3:

 * Entangle network device addition with the new AO domain creation,
   assute that network interfaces are always added after device model
   creation. Make sure the same happens for stubdomain network
   interfaces.

 * Make use of the new functions LOG, LOGE, GCNEW_ARRAY...

 * Remove disable_xl_vif_scripts, since now it's a global option that
   affects both vifs and disks hotplug scripts.

 * Added proper handling of IOEMU type of nics, we need to
   execute two different hotplug scripts. Now both scripts are
   chained, and one is executed after the other has finished (we call
   the next script from the callback of the previous one). Previously
   we used to launch both scripts simultaneously.

Changes since v2:

 * Added fancy functions to fetch tap and vif names, now the prefix of
   the tap device has been saved in a constant, called
   TAP_DEVICE_PREFIX.

 * Wait for timeout before nuking frontend xenstore entries.

 * Changed disable_vif_scripts to disable_xl_vif_scripts, it's easier
   to understand.

 * Default nic type set by libxl__device_nic_setdefault is VIF now
   (was IOEMU).

 * Save nic type and udev script exection inside
   /libxl/devices/<domid>/nic/<devid>/ instead of saving it in the
   backend path.

Changes since v1:

 * Propagated changes from previous patch (disable_udev and
   libxl_device_nic_add switch).

 * Modified udev rules to add the new env variable.

 * Added support for named interfaces.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl.c                   |  122 ++++---------------------------
 tools/libxl/libxl.h                   |    3 +-
 tools/libxl/libxl_create.c            |   78 ++++++++++++++++++--
 tools/libxl/libxl_device.c            |  122 +++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c                |   64 +++++++++++++++-
 tools/libxl/libxl_internal.h          |    9 ++
 tools/libxl/libxl_linux.c             |  130 ++++++++++++++++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c              |    2 +-
 9 files changed, 412 insertions(+), 124 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b438fbf..5a681b1 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1634,123 +1634,29 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_nic *nic,
-                                  libxl__device *device)
-{
-    device->backend_devid    = nic->devid;
-    device->backend_domid    = nic->backend_domid;
-    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
-    device->devid            = nic->devid;
-    device->domid            = domid;
-    device->kind             = LIBXL__DEVICE_KIND_VIF;
-
-    return 0;
-}
-
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
-    char *dompath, **l;
-    unsigned int nb, rc;
-
-    rc = libxl__device_nic_setdefault(gc, nic);
-    if (rc) goto out;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+    int rc;
 
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_nic_add(egc, domid, nic, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add nic %s", nic->ifname);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (nic->devid == -1) {
-        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
-            rc = ERROR_FAIL;
-            goto out_free;
-        }
-        if (!(l = libxl__xs_directory(gc, XBT_NULL,
-                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
-            nic->devid = 0;
-        } else {
-            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
-        }
-    }
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if ( rc != 0 ) goto out_free;
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    if (nic->script) {
-        flexarray_append(back, "script");
-        flexarray_append(back, nic->script[0]=='/' ? nic->script
-                         : libxl__sprintf(gc, "%s/%s",
-                                          libxl__xen_script_dir_path(),
-                                          nic->script));
-    }
-
-    if (nic->ifname) {
-        flexarray_append(back, "vifname");
-        flexarray_append(back, nic->ifname);
-    }
-
-    flexarray_append(back, "mac");
-    flexarray_append(back,libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    if (nic->ip) {
-        flexarray_append(back, "ip");
-        flexarray_append(back, libxl__strdup(gc, nic->ip));
-    }
-
-    if (nic->rate_interval_usecs > 0) {
-        flexarray_append(back, "rate");
-        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
-                            nic->rate_bytes_per_interval,
-                            nic->rate_interval_usecs));
-    }
 
-    flexarray_append(back, "bridge");
-    flexarray_append(back, libxl__strdup(gc, nic->bridge));
-    flexarray_append(back, "handle");
-    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "handle");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
-    flexarray_append(front, "mac");
-    flexarray_append(front, libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-
-    /* FIXME: wait for plug */
-    rc = 0;
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 0ab1531..6689baf 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -688,7 +688,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index db58fd0..69f4e4d 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -605,6 +605,11 @@ static void domcreate_disk_connected(libxl__egc *egc,
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence if domain creation is successful. */
 static void domcreate_complete(libxl__egc *egc,
@@ -747,13 +752,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
         }
     }
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     return;
 
@@ -885,6 +888,67 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
+        dcs->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+            dcs->devices[i].callback = domcreate_nics_connected;
+            ret = libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                                        &dcs->devices[i]);
+            if (ret) {
+                LOGE(ERROR, "cannot add nic %d to domain: %d", i, domid);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 275ab43..6b431a2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -191,6 +191,20 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
+int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                           libxl_device_nic *nic,
+                           libxl__device *device)
+{
+    device->backend_devid    = nic->devid;
+    device->backend_domid    = nic->backend_domid;
+    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
+    device->devid            = nic->devid;
+    device->domid            = domid;
+    device->kind             = LIBXL__DEVICE_KIND_VIF;
+
+    return 0;
+}
+
 int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                            libxl_device_disk *disk,
                            libxl__ao_device *aorm)
@@ -324,6 +338,114 @@ out:
     return rc;
 }
 
+int libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                          libxl_device_nic *nic, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device *device;
+    char *dompath, **l;
+    unsigned int nb, rc;
+
+    rc = libxl__device_nic_setdefault(gc, nic);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(18, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (nic->devid == -1) {
+        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
+            rc = ERROR_FAIL;
+            goto out_free;
+        }
+        if (!(l = libxl__xs_directory(gc, XBT_NULL, GCSPRINTF("%s/device/vif",
+                                                            dompath), &nb))) {
+            nic->devid = 0;
+        } else {
+            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
+        }
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
+    if (rc != 0) goto out_free;
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, GCSPRINTF("%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "state");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    if (nic->script) {
+        flexarray_append(back, "script");
+        flexarray_append(back, nic->script[0] == '/' ?
+                               nic->script :
+                               GCSPRINTF("%s/%s", libxl__xen_script_dir_path(),
+                         nic->script));
+    }
+
+    if (nic->ifname) {
+        flexarray_append(back, "vifname");
+        flexarray_append(back, nic->ifname);
+    }
+
+    flexarray_append(back, "mac");
+    flexarray_append(back, GCSPRINTF(LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    if (nic->ip) {
+        flexarray_append(back, "ip");
+        flexarray_append(back, libxl__strdup(gc, nic->ip));
+    }
+
+    if (nic->rate_interval_usecs > 0) {
+        flexarray_append(back, "rate");
+        flexarray_append(back, GCSPRINTF("%"PRIu64",%"PRIu32"",
+                                         nic->rate_bytes_per_interval,
+                                         nic->rate_interval_usecs));
+    }
+
+    flexarray_append(back, "bridge");
+    flexarray_append(back, libxl__strdup(gc, nic->bridge));
+    flexarray_append(back, "handle");
+    flexarray_append(back, GCSPRINTF("%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, GCSPRINTF("%s",
+                                     libxl_nic_type_to_string(nic->nictype)));
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, GCSPRINTF("%d", nic->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, GCSPRINTF("%d", 1));
+    flexarray_append(front, "handle");
+    flexarray_append(front, GCSPRINTF("%d", nic->devid));
+    flexarray_append(front, "mac");
+    flexarray_append(front, GCSPRINTF(LIBXL_MAC_FMT,
+                                      LIBXL_MAC_BYTES(nic->mac)));
+    libxl__device_generic_add(gc, device,
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
+    rc = 0;
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
+
 typedef struct {
     libxl__gc *gc;
     libxl_device_disk *disk;
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index b2622ee..ff5f8ad 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -666,6 +666,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -838,9 +844,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -915,9 +923,59 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
+    int ret2, i;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        GCNEW_ARRAY(stubdom_dmss->devices, d_config->num_vifs);
+        stubdom_dmss->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&stubdom_dmss->devices[i], ao,
+                                  &stubdom_dmss->devices);
+            stubdom_dmss->devices[i].callback = stubdom_nics_connected;
+            ret2 = libxl__device_nic_add(egc, dm_domid, &d_config->vifs[i],
+                                        &stubdom_dmss->devices[i]);
+            if (ret2) {
+                LOGE(ERROR, "cannot add nic %d to domain: %d", i, dm_domid);
+                rc = ERROR_FAIL;
+                goto out;
+            }
+        }
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(aorm->base, *dmss, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dmss->devices,
+                                      dmss->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, dmss, ret);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index faeb965..91eba63 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -782,6 +782,9 @@ _hidden int libxl__domain_pvcontrol_write(libxl__gc *gc, xs_transaction_t t,
 _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend backend);
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
+_hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__device *device);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__device *device);
@@ -965,6 +968,7 @@ struct libxl__ao_device {
     libxl__device_callback *callback;
     /* private for implementation */
     int rc;
+    int vif_executed;
     libxl__ev_time ev;
     libxl__ev_child child;
     libxl__ev_devstate ds;
@@ -974,6 +978,9 @@ struct libxl__ao_device {
 _hidden int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__ao_device *aorm);
+_hidden int libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                  libxl_device_nic *nic,
+                                  libxl__ao_device *aorm);
 
 /*
  *----- spawn -----
@@ -1147,6 +1154,8 @@ struct libxl__dm_spawn_state {
     libxl_domain_config *guest_config;
     libxl__domain_build_state *build_state; /* relates to guest_domid */
     libxl__dm_spawn_cb *callback;
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 _hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 315ce15..6e752bd 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -28,6 +28,26 @@ int libxl__try_phy_backend(mode_t st_mode)
 
 /* Hotplug scripts helpers */
 
+static libxl_nic_type get_nic_type(libxl__gc *gc, libxl__device *dev)
+{
+    char *snictype, *be_path;
+    libxl_nic_type nictype;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        return -1;
+    }
+    if (libxl_nic_type_from_string(snictype, &nictype) < 0) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        return -1;
+    }
+
+    return nictype;
+}
+
 static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
 {
     if (!aorm) return;
@@ -47,7 +67,18 @@ static void callback(libxl__egc *egc, libxl__ev_child *child,
                                                     : LIBXL__LOG_WARNING,
                                       aorm->what, pid, status);
         aorm->rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        get_nic_type(gc, aorm->dev) == LIBXL_NIC_TYPE_IOEMU &&
+        !aorm->vif_executed) {
+        aorm->vif_executed = 1;
+        libxl__device_hotplug(egc, aorm);
+        return;
     }
+
+out:
     aorm->callback(egc, aorm);
 }
 
@@ -66,7 +97,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    GCNEW_ARRAY(env, 9);
+    GCNEW_ARRAY(env, 13);
     env[nr++] = "script";
     env[nr++] = script;
     env[nr++] = "XENBUS_TYPE";
@@ -75,6 +106,24 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        switch (get_nic_type(gc, dev)) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
 
     return env;
@@ -119,6 +168,81 @@ out_free:
     return rc;
 }
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *what, *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        return -1;
+    }
+
+    nictype = get_nic_type(gc, aorm->dev);
+    if (nictype < 0) {
+        LOGE(ERROR, "error when fetching nic type");
+        return -1;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return -1;
+
+    GCNEW_ARRAY(args, 4);
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (!aorm->vif_executed) goto execute_vif;
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+        args[nr++] = libxl__strdup(gc, "type_if=tap");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "online" : "offline";
+        args[nr++] = libxl__strdup(gc, "type_if=vif");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    default:
+        /* Unknown network type */
+        LOG(DEBUG, "unknown network card type with id %"PRIu32,
+                   aorm->dev->devid);
+        return 0;
+    }
+
+    rc = 0;
+
+out:
+    return rc;
+}
+
 void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
@@ -132,6 +256,10 @@ void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
         aorm->rc = libxl__hotplug_disk(gc, aorm);
         if (aorm->rc) goto error;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        aorm->rc = libxl__hotplug_nic(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3f1bbf6..162bb82 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4967,7 +4967,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY6-00088G-R7; Thu, 10 May 2012 11:28:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY4-00086z-Ui
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:45 +0000
Received: from [85.158.143.99:13353] by server-3.bemta-4.messagelabs.com id
	4E/5C-05853-B66ABAF4; Thu, 10 May 2012 11:28:43 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336649317!26447743!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2315 invoked from network); 10 May 2012 11:28:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234743"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-Mw;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:30 +0100
Message-ID: <1336649312-11198-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 2/4] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a function which behaves like "xenstore-rm -t", and which will be
used to
clean xenstore after unplug since we will be no longer executing
xen-hotplug-cleanup script, that used to do that for us.

Changes since v3:

 * Better error checking and function description.

Changes since v2:

 * Moved the function to libxl_xshelp.c and added the prototype to
   libxl_internal.h.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |    7 +++++++
 tools/libxl/libxl_xshelp.c   |   30 ++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9ab76f8..fc2024d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -494,6 +494,13 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+/*
+ * This is a recursive delete, from top to bottom. What this function does
+ * is remove empty folders that contained the deleted entry.
+ *
+ * It mimics xenstore-rm -t behaviour.
+ */
+_hidden int libxl__xs_path_cleanup(libxl__gc *gc, char *user_path);
 
 /*
  * Event generation functions provided by the libxl event core to the
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 3ea8d08..7339236 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,36 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_path_cleanup(libxl__gc *gc, char *user_path)
+{
+    unsigned int nb = 0;
+    char *path, *last;
+
+    if (!user_path) {
+        LOGE(ERROR, "null path provided");
+        return ERROR_FAIL;
+    }
+
+    path = libxl__strdup(gc, user_path);
+    xs_rm(CTX->xsh, XBT_NULL, path);
+
+    for (last = strrchr(path, '/'); last != NULL; last = strrchr(path, '/')) {
+        *last = '\0';
+
+        if (!strlen(path)) break;
+
+        if (!libxl__xs_directory(gc, XBT_NULL, path, &nb)) {
+            LOG(DEBUG, "failed to read directory contents of %s", path);
+            return ERROR_FAIL;
+        }
+
+        if (nb == 0) {
+            xs_rm(CTX->xsh, XBT_NULL, path);
+        }
+    }
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY5-00087a-2q; Thu, 10 May 2012 11:28:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY3-00086z-N6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:43 +0000
Received: from [85.158.143.99:21594] by server-3.bemta-4.messagelabs.com id
	0A/5C-05853-A66ABAF4; Thu, 10 May 2012 11:28:42 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336649317!26447743!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2137 invoked from network); 10 May 2012 11:28:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234741"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-KH	for xen-devel@lists.xen.org;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:28 +0100
Message-ID: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v4 0/4] libxl: call hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series removes the use of udev rules to call hotplug scripts when 
using libxl. Scripts are directly called from the toolstack at the 
necessary points, making use of the new event library and it's fork 
support.

They should be applied after IanJ v8 "libxl: subprocess handling" and 
IanC "libxl/xend: name tap devices vifX.Y-emu".

This version (v4) introduces many changes, and makes proper use of the 
event library. It entangles device addition with domain creation, 
following IanJ changes to domain creation, and also introduces AO 
operations to domain destruction and specifically to device teardown.

Many changes are introduced, and also a lot of code motion, since 
libxl_device_{disk,nic}_add are now mere wrappers arround their 
respective libxl__device_{disk,nic}_add counterparts, which can be 
called within an already running AO operation, and perform all the 
work.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY6-00088G-R7; Thu, 10 May 2012 11:28:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY4-00086z-Ui
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:45 +0000
Received: from [85.158.143.99:13353] by server-3.bemta-4.messagelabs.com id
	4E/5C-05853-B66ABAF4; Thu, 10 May 2012 11:28:43 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336649317!26447743!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2315 invoked from network); 10 May 2012 11:28:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234743"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-Mw;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:30 +0100
Message-ID: <1336649312-11198-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 2/4] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a function which behaves like "xenstore-rm -t", and which will be
used to
clean xenstore after unplug since we will be no longer executing
xen-hotplug-cleanup script, that used to do that for us.

Changes since v3:

 * Better error checking and function description.

Changes since v2:

 * Moved the function to libxl_xshelp.c and added the prototype to
   libxl_internal.h.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |    7 +++++++
 tools/libxl/libxl_xshelp.c   |   30 ++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9ab76f8..fc2024d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -494,6 +494,13 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+/*
+ * This is a recursive delete, from top to bottom. What this function does
+ * is remove empty folders that contained the deleted entry.
+ *
+ * It mimics xenstore-rm -t behaviour.
+ */
+_hidden int libxl__xs_path_cleanup(libxl__gc *gc, char *user_path);
 
 /*
  * Event generation functions provided by the libxl event core to the
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 3ea8d08..7339236 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,36 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_path_cleanup(libxl__gc *gc, char *user_path)
+{
+    unsigned int nb = 0;
+    char *path, *last;
+
+    if (!user_path) {
+        LOGE(ERROR, "null path provided");
+        return ERROR_FAIL;
+    }
+
+    path = libxl__strdup(gc, user_path);
+    xs_rm(CTX->xsh, XBT_NULL, path);
+
+    for (last = strrchr(path, '/'); last != NULL; last = strrchr(path, '/')) {
+        *last = '\0';
+
+        if (!strlen(path)) break;
+
+        if (!libxl__xs_directory(gc, XBT_NULL, path, &nb)) {
+            LOG(DEBUG, "failed to read directory contents of %s", path);
+            return ERROR_FAIL;
+        }
+
+        if (nb == 0) {
+            xs_rm(CTX->xsh, XBT_NULL, path);
+        }
+    }
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY5-00087a-2q; Thu, 10 May 2012 11:28:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY3-00086z-N6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:43 +0000
Received: from [85.158.143.99:21594] by server-3.bemta-4.messagelabs.com id
	0A/5C-05853-A66ABAF4; Thu, 10 May 2012 11:28:42 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336649317!26447743!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2137 invoked from network); 10 May 2012 11:28:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234741"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-KH	for xen-devel@lists.xen.org;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:28 +0100
Message-ID: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v4 0/4] libxl: call hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series removes the use of udev rules to call hotplug scripts when 
using libxl. Scripts are directly called from the toolstack at the 
necessary points, making use of the new event library and it's fork 
support.

They should be applied after IanJ v8 "libxl: subprocess handling" and 
IanC "libxl/xend: name tap devices vifX.Y-emu".

This version (v4) introduces many changes, and makes proper use of the 
event library. It entangles device addition with domain creation, 
following IanJ changes to domain creation, and also introduces AO 
operations to domain destruction and specifically to device teardown.

Many changes are introduced, and also a lot of code motion, since 
libxl_device_{disk,nic}_add are now mere wrappers arround their 
respective libxl__device_{disk,nic}_add counterparts, which can be 
called within an already running AO operation, and perform all the 
work.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY8-00088h-9J; Thu, 10 May 2012 11:28:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY5-00087k-Tw
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:46 +0000
Received: from [85.158.143.35:53320] by server-1.bemta-4.messagelabs.com id
	16/F8-20925-D66ABAF4; Thu, 10 May 2012 11:28:45 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336649320!11599598!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17354 invoked from network); 10 May 2012 11:28:42 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234744"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-On;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:31 +0100
Message-ID: <1336649312-11198-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from libxl
	for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a rather big change, that adds the necessary machinery to
perform hotplug script calling from libxl for Linux. This patch
launches the necessary scripts to attach and detach PHY and TAP
backend types (Qemu doesn't use hotplug scripts).

Here's a list of the major changes introduced:

 * libxl_device_disk_add makes use of the new event library and takes
   the optional parameter libxl_asyncop_how, to choose how the
   operation has to be issued (sync or async).

 * Disk addition waits for backend to switch to state 2
   (XenbusInitWait) and then launches the hotplug script.

 * Created and internal function (libxl__device_disk_add), that can be
   called within an already running AO, and that will plug the
   requested disk and execute the callback afterward.
   libxl_device_disk_add is a user of this newly created function.

 * libxl__devices_destroy no longer calls libxl__device_destroy, and
   instead calls libxl__initiate_device_remove, so we can disconnect
   the device and execute the necessary hotplug scripts instead of
   just deleting the backend entries. So libxl__devices_destroy now
   uses the event library, and so does libxl_domain_destroy, that has
   been converted to an AO operation function

 * The internal API for hotplug scripts has been added, which
   consists of one function; libxl__device_hotplug that takes the
   device and a struct with the necessary info about the action to
   execute.

 * Linux hotplug scripts are called by setting the necessary env
   variables to emulate udev rules, so there's no need to change them
   (although a rework to pass this as parameters insted of env
   variables would be suitable, so both NetBSD and Linux hotplug
   scripts take the same parameters).

 * Added a check in xen-hotplug-common.sh, so scripts are only
   executed from udev when using xend. xl adds a disable_udev=1 to
   xenstore libxl local directory and with the modification of the
   udev rules every call from udev gets UDEV_CALL passed, that points
   to disable_udev. If UDEV_CALL is passed and points to a value, the
   hotplug script is not executed.

Changes since v3 (changes based on IanJ review):

 * Store disable_udev in libxl/disable_udev, which now is not device
   dependant, but backend domain dependant.

 * Added a global callback to device addition/destruction, that is now
   called when we have finished all the oprtations and handles the
   call to ao_complete if no other operations are pending.

 * Unified both device creation/destruction flows, so now all of them
   use the same data structure and callbacks.

 * Used the event interface in a proper way, and merged disk addition
   with the new async flow of the domain creation.

 * Make use of the new functions LOG, LOGE, GCNEW_ARRAY...

 * Passed NULL as ao_how in Python bindings.

Changes since v1:

 * Replaced the hotplug snippet that prevents execution from udev
   when necessary, and now we set the env var from udev rules instead
   of libxl.

 * Replaced the libxl_device_disk_add "if" with a "switch".

 * Removed libxl__xs_path_cleanup (replaced with xs_rm).

 * Fixed several spelling mistakes.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5                    |    8 +
 tools/examples/xl.conf                    |    5 +
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 +
 tools/libxl/Makefile                      |    3 +-
 tools/libxl/libxl.c                       |  351 +++++++--------------
 tools/libxl/libxl.h                       |    7 +-
 tools/libxl/libxl_create.c                |  102 ++++++-
 tools/libxl/libxl_device.c                |  497 +++++++++++++++++++++++++----
 tools/libxl/libxl_dm.c                    |  136 +++++----
 tools/libxl/libxl_dom.c                   |  170 ++++++++++
 tools/libxl/libxl_hotplug.c               |   84 +++++
 tools/libxl/libxl_internal.h              |  170 ++++++++++-
 tools/libxl/libxl_linux.c                 |  126 ++++++++
 tools/libxl/libxl_types.idl               |    1 +
 tools/libxl/xl.c                          |    4 +
 tools/libxl/xl.h                          |    1 +
 tools/libxl/xl_cmdimpl.c                  |   15 +-
 tools/python/xen/lowlevel/xl/xl.c         |    2 +-
 19 files changed, 1291 insertions(+), 403 deletions(-)
 create mode 100644 tools/libxl/libxl_hotplug.c

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..6443a63 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   `xenstore-read "libxl/disable_udev" >/dev/null 2>&1`; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9abadff 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,7 +66,8 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
+			libxl_qmp.o libxl_event.o libxl_fork.o libxl_hotplug.o \
+			$(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 79d7708..b438fbf 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1058,82 +1058,36 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_INIT(ctx);
     libxl__evdisable_disk_eject(gc, evg);
     GC_FREE;
-}    
+}
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
-{
-    GC_INIT(ctx);
-    char *dom_path;
-    char *vm_path;
-    char *pid;
-    int rc, dm_present;
+/* Callback for domain destruction */
 
-    rc = libxl_domain_info(ctx, NULL, domid);
-    switch(rc) {
-    case 0:
-        break;
-    case ERROR_INVAL:
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
-    default:
-        return rc;
-    }
+static void domain_destroy_cb(libxl__egc *, libxl__domain_destroy_state *, int);
 
-    switch (libxl__domain_type(gc, domid)) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        dm_present = 1;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-        dm_present = (pid != NULL);
-        break;
-    default:
-        abort();
-    }
-
-    dom_path = libxl__xs_get_dompath(gc, domid);
-    if (!dom_path) {
-        rc = ERROR_FAIL;
-        goto out;
-    }
-
-    if (libxl__device_pci_destroy_all(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "pci shutdown failed for domid %d", domid);
-    rc = xc_domain_pause(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_pause failed for %d", domid);
-    }
-    if (dm_present) {
-        if (libxl__destroy_device_model(gc, domid) < 0)
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl__destroy_device_model failed for %d", domid);
-
-        libxl__qmp_cleanup(gc, domid);
-    }
-    if (libxl__devices_destroy(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
-                   "libxl__devices_destroy failed for %d", domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
 
-    vm_path = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/vm", dom_path));
-    if (vm_path)
-        if (!xs_rm(ctx->xsh, XBT_NULL, vm_path))
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", vm_path);
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
 
-    if (!xs_rm(ctx->xsh, XBT_NULL, dom_path))
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", dom_path);
+    return AO_INPROGRESS;
+}
 
-    xs_rm(ctx->xsh, XBT_NULL, libxl__xs_libxl_path(gc, domid));
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
 
-    libxl__userdata_destroyall(gc, domid);
+    if (rc)
+        LOGE(ERROR, "destruction of domain %u failed", dds->domid);
 
-    rc = xc_domain_destroy(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_destroy failed for %d", domid);
-        rc = ERROR_FAIL;
-        goto out;
-    }
-    rc = 0;
-out:
-    GC_FREE;
-    return rc;
+    libxl__ao_complete(egc, ao, rc);
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1261,171 +1215,56 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
-int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
+/* generic callback for devices that only need to set ao_complete */
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
 {
-    int rc;
+    STATE_AO_GC(aorm->ao);
 
-    rc = libxl__device_disk_set_backend(gc, disk);
-    if (rc) return rc;
+    if (aorm->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aorm->dev->kind),
+                    aorm->dev->devid);
+        goto out;
+    }
 
-    return rc;
+out:
+    libxl__ao_complete(egc, ao, aorm->rc);
+    return;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
+/******************************************************************************/
 
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
+int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
+{
+    int rc;
 
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
+    rc = libxl__device_disk_set_backend(gc, disk);
+    if (rc) return rc;
 
-    return 0;
+    return rc;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+    int rc;
 
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_disk_add(egc, domid, disk, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add disk %s", disk->pdev_path);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    rc = 0;
-
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
@@ -1433,19 +1272,25 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -1663,12 +1508,14 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 
     ret = 0;
 
+    /* fixme-ao */
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
+        /* fixme-ao */
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
@@ -1911,19 +1758,25 @@ int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2273,19 +2126,25 @@ int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2406,19 +2265,25 @@ int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 0ff4a83..0ab1531 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
@@ -660,7 +661,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 788e553..db58fd0 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -400,7 +400,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
   * on exit (even error exit), domid may be valid and refer to a domain */
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -521,6 +521,28 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOGE(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        if (!libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOGE(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+    } else {
+        if (libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOGE(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+    }
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
@@ -577,15 +599,25 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc,
+                                     libxl__ao_device *aorm);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
 /* Our own function to clean up and call the user's callback.
- * The final call in the sequence. */
+ * The final call in the sequence if domain creation is successful. */
 static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                    libxl__domain_destroy_state *dds,
+                                    int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -700,8 +732,13 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
+    GCNEW_ARRAY(dcs->devices, d_config->num_disks);
+    dcs->num_devices = d_config->num_disks;
     for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
+        libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+        dcs->devices[i].callback = domcreate_disk_connected;
+        ret = libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                                     &dcs->devices[i]);
         if (ret) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "cannot add disk %d to domain: %d", i, ret);
@@ -718,6 +755,42 @@ static void domcreate_bootloader_done(libxl__egc *egc,
             goto error_out;
         }
     }
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int i, last, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto error_out;
+    }
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
+
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
@@ -853,16 +926,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..275ab43 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -110,6 +152,178 @@ retry_transaction:
     return 0;
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid == -1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+    case LIBXL_DISK_BACKEND_PHY:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_TAP:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_QDISK:
+        device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+        break;
+    default:
+        LOGE(ERROR, "unrecognized disk backend type: %d", disk->backend);
+        return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
+int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_disk *disk,
+                           libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front = NULL;
+    flexarray_t *back = NULL;
+    char *dev;
+    libxl__device *device;
+    int major, minor, rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(20, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LOGE(ERROR, "External block scripts not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
+    if (rc != 0) {
+        LOGE(ERROR, "Invalid or unsupported virtual disk identifier %s",
+                    disk->vdev);
+        goto out;
+    }
+
+    switch (disk->backend) {
+    case LIBXL_DISK_BACKEND_PHY:
+        dev = disk->pdev_path;
+    do_backend_phy:
+        libxl__device_physdisk_major_minor(dev, &major, &minor);
+        flexarray_append(back, "physical-device");
+        flexarray_append(back, GCSPRINTF("%x:%x", major, minor));
+
+        flexarray_append(back, "params");
+        flexarray_append(back, dev);
+
+        flexarray_append(back, "script");
+        flexarray_append(back, GCSPRINTF("%s/%s",
+                                         libxl__xen_script_dir_path(),
+                                         "block"));
+
+        assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
+        break;
+    case LIBXL_DISK_BACKEND_TAP:
+        dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+        if (!dev) {
+            rc = ERROR_FAIL;
+            goto out_free;
+        }
+        flexarray_append(back, "tapdisk-params");
+        flexarray_append(back, GCSPRINTF("%s:%s",
+                         libxl__device_disk_string_of_format(disk->format),
+                         disk->pdev_path));
+
+        flexarray_append(back, "script");
+        flexarray_append(back, GCSPRINTF("%s/%s",
+                                         libxl__xen_script_dir_path(),
+                                         "blktap"));
+
+        /* now create a phy device to export the device to the guest */
+        goto do_backend_phy;
+    case LIBXL_DISK_BACKEND_QDISK:
+        flexarray_append(back, "params");
+        flexarray_append(back, GCSPRINTF("%s:%s",
+                         libxl__device_disk_string_of_format(disk->format),
+                         disk->pdev_path));
+        assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
+        break;
+    default:
+        LOGE(ERROR, "unrecognized disk backend type: %d", disk->backend);
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, GCSPRINTF("%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, GCSPRINTF("%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, GCSPRINTF("%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, GCSPRINTF("%d", device->devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, device,
+                    libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                    libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 typedef struct {
     libxl__gc *gc;
     libxl_device_disk *disk;
@@ -356,49 +570,116 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
-
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
-
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
     if (!aorm) return;
     libxl__ev_devstate_cancel(gc, &aorm->ds);
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
-                                   int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                           libxl__ao_device **base)
+{
+    aorm->ao = ao;
+    aorm->state = DEVICE_ACTIVE;
+    aorm->rc = 0;
+    aorm->base = base;
 }
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num, int *last)
 {
-    AO_GC;
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    int i, ret = 0;
+
+    device->state = DEVICE_FINISHED;
+    *last = 1;
+    for (i = 0; i < num; i++) {
+        if (list[i].state != DEVICE_FINISHED && *last) {
+            *last = 0;
+            if (!device->rc) break;
+        }
+        if (device->rc && device->action == DEVICE_CONNECT) {
+            /* Cancel pending events */
+            if (list[i].pid) {
+                libxl__ev_time_deregister(gc, &list[i].ev);
+                kill(list[i].pid, SIGKILL);
+            } else {
+                libxl__ev_devstate_cancel(gc, &list[i].ds);
+            }
+            ret = list[i].rc;
+        }
+    }
+    return ret;
+}
+
+/* Common callbacks for device add/remove */
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc);
+
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
     char *state = libxl__xs_read(gc, XBT_NULL, state_path);
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aorm->callback(egc, aorm);
+        return;
+    }
+
+    if (atoi(state) == XenbusStateInitWait)
+        goto out_ok;
+
+    libxl__ev_devstate_init(&aorm->ds);
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+
+out_ok:
+    libxl__device_hotplug(egc, aorm);
+    return;
+}
+
+void libxl__initiate_device_remove(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state;
+    int rc = 0;
+
+    if (aorm->force)
+        libxl__xs_path_cleanup(gc, libxl__device_frontend_path(gc, aorm->dev));
+        /* Remove frontend xs paths to force backend disconnection */
+
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) != XenbusStateConnected &&
+        atoi(state) != XenbusStateClosing) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
 
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
-    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
+    xs_write(ctx->xsh, t, GCSPRINTF("%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
@@ -408,60 +689,67 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
     libxl__ev_devstate_init(&aorm->ds);
-
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOGE(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    libxl__device_hotplug(egc, aorm);
+    return;
 }
 
-int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char *be_path = libxl__device_backend_path(gc, dev);
-    char *fe_path = libxl__device_frontend_path(gc, dev);
-
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
-
-    libxl__device_destroy_tapdisk(gc, be_path);
+/* Callback for device destruction */
 
-    return 0;
-}
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm);
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
+    STATE_AO_GC(drs->ao);
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, rc = 0, numdev = 0;
+    libxl__device *dev;
     libxl__device_kind kind;
 
-    path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOGE(ERROR, "unable to get number of devices for domain %u",
+                    drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aorm, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__init_ao_device(&drs->aorm[i], drs->ao, &drs->aorm);
+    }
+
+    path = GCSPRINTF("/local/domain/%d/device", drs->domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
         if (errno != ENOENT) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get xenstore"
-                             " device listing %s", path);
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
             goto out;
         }
         num_kinds = 0;
@@ -470,37 +758,106 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
         if (libxl__device_kind_from_string(kinds[i], &kind))
             continue;
 
-        path = libxl__sprintf(gc, "/local/domain/%d/device/%s", domid, kinds[i]);
+        path = GCSPRINTF("/local/domain/%d/device/%s", drs->domid, kinds[i]);
         devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
         if (!devs)
             continue;
         for (j = 0; j < num_devs; j++) {
-            path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
-                                  domid, kinds[i], devs[j]);
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             drs->domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                dev->domid = drs->domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                drs->aorm[numdev].action = DEVICE_DISCONNECT;
+                drs->aorm[numdev].dev = dev;
+                drs->aorm[numdev].callback = device_remove_callback;
+                libxl__initiate_device_remove(egc, &drs->aorm[numdev]);
+                numdev++;
             }
         }
     }
 
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
-    path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
+    path = GCSPRINTF("/local/domain/%d/console/backend", drs->domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = drs->domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
+}
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
+    STATE_AO_GC(aorm->ao);
+
+    device_backend_cleanup(gc, aorm);
+
+    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
+        !aorm->force) {
+        aorm->force = 1;
+        libxl__initiate_device_remove(egc, aorm);
+        return;
+    }
+
+    if (rc) {
+        LOGE(ERROR, "unable to %s device with path %s",
+                    aorm->action == DEVICE_DISCONNECT ? "disconnect" :
+                                                        "connect",
+                    libxl__device_backend_path(gc, aorm->dev));
+        goto error;
+    }
+
+    libxl__device_hotplug(egc, aorm);
+    return;
+
+error:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
+    int rc = 0, last;
+
+    if (aorm->action == DEVICE_DISCONNECT) {
+        libxl__xs_path_cleanup(gc, libxl__device_frontend_path(gc, aorm->dev));
+        libxl__xs_path_cleanup(gc, libxl__device_backend_path(gc, aorm->dev));
+    }
+
+    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
+                                     drs->num_devices, &last);
+
+    if (last)
+        drs->callback(egc, drs, rc);
+    return;
+}
+
+int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *fe_path = libxl__device_frontend_path(gc, dev);
+
+    libxl__xs_path_cleanup(gc, be_path);
+    libxl__xs_path_cleanup(gc, fe_path);
+
+    libxl__device_destroy_tapdisk(gc, be_path);
     return 0;
 }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 5de3aef..b2622ee 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -660,6 +660,8 @@ retry_transaction:
     return 0;
 }
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
@@ -668,8 +670,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int i, ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -787,22 +788,66 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
+    GCNEW_ARRAY(sdss->devices, dm_config->num_disks);
+    sdss->num_devices = dm_config->num_disks;
     for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
+        libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
+        sdss->devices[i].callback = spawn_stub_disk_connected;
+        ret = libxl__device_disk_add(egc, dm_domid, &dm_config->disks[i],
+                                     &sdss->devices[i]);
+        if (ret) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "cannot add disk %d to domain: %d", i, ret);
+            ret = ERROR_FAIL;
             goto out_free;
+        }
+    }
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0, last;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto out;
     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -810,7 +855,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -846,7 +891,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -856,13 +901,9 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
-    assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
 }
 
@@ -883,7 +924,7 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
  out:
     if (rc) {
         if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+            libxl_domain_destroy(CTX, dm_domid, 0);
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
@@ -1075,62 +1116,35 @@ static void device_model_spawn_outcome(libxl__egc *egc,
 
 int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *pid;
     int ret;
 
-    pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-        ret = ERROR_INVAL;
-        goto out;
-    }
-    if (!atoi(pid)) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
+    pid = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("/local/domain/%d/image/device-model-pid",
+                            domid));
+    if (!pid || !atoi(pid)) {
+            LOGE(ERROR, "Couldn't find device model's pid");
             ret = ERROR_INVAL;
             goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LOG(DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LOG(DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LOGEV(ERROR, errno, "failed to kill Device Model [%d]", atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
 
 out:
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
+    xs_rm(CTX->xsh, XBT_NULL, GCSPRINTF("/local/domain/0/device-model/%d",
+                                        domid));
+    xs_rm(CTX->xsh, XBT_NULL, GCSPRINTF("/local/domain/%d/hvmloader",
+                                        domid));
     return ret;
 }
 
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index c246211..9b016e8 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -973,6 +973,176 @@ out:
     return rc;
 }
 
+/* Callbacks for libxl__domain_destroy */
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc)
+        LOGE(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    if (dds->domain_finished)
+        dds->callback(egc, dds, rc);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc)
+        LOGE(ERROR, "unable to destroy guest with domid %u", dis->domid);
+
+    dds->domain_finished = 1;
+    if (dds->stubdom_finished)
+        dds->callback(egc, dds, rc);
+}
+
+/* Callbacks for libxl__domain_clean */
+
+/* Device destruction callback */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    int rc;
+
+    rc = libxl_domain_info(CTX, NULL, dis->domid);
+    switch (rc) {
+    case 0:
+        break;
+    case ERROR_INVAL:
+        LOGE(ERROR, "non-existant domain %d", dis->domid);
+    default:
+        goto out;
+    }
+
+    switch (libxl__domain_type(gc, dis->domid)) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        dis->dm_present = 1;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        dis->pid = libxl__xs_read(gc, XBT_NULL,
+                        GCSPRINTF("/local/domain/%d/image/device-model-pid",
+                        dis->domid));
+        dis->dm_present = (dis->pid != NULL);
+        break;
+    default:
+        abort();
+    }
+
+    dis->dom_path = libxl__xs_get_dompath(gc, dis->domid);
+    if (!dis->dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl__device_pci_destroy_all(gc, dis->domid) < 0)
+        LOGE(ERROR, "pci shutdown failed for domid %d", dis->domid);
+    rc = xc_domain_pause(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_pause failed for %d", dis->domid);
+    }
+    if (dis->dm_present) {
+        rc = libxl__destroy_device_model(gc, dis->domid);
+        if (rc < 0)
+            LOGE(ERROR, "libxl__destroy_device_model failed for %d",
+                        dis->domid);
+        libxl__qmp_cleanup(gc, dis->domid);
+    }
+    dis->drs.ao = ao;
+    dis->drs.domid = dis->domid;
+    dis->drs.callback = devices_destroy_cb;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+
+    if (rc < 0)
+        LOGE(ERROR, "libxl__devices_destroy failed for %d", dis->domid);
+
+    dis->vm_path = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/vm",
+                                                          dis->dom_path));
+    if (dis->vm_path)
+        if (!xs_rm(CTX->xsh, XBT_NULL, dis->vm_path))
+            LOGE(ERROR, "xs_rm failed for %s", dis->vm_path);
+
+    if (!xs_rm(CTX->xsh, XBT_NULL, dis->dom_path))
+        LOGE(ERROR, "xs_rm failed for %s", dis->dom_path);
+
+    xs_rm(CTX->xsh, XBT_NULL, libxl__xs_libxl_path(gc, dis->domid));
+
+    libxl__userdata_destroyall(gc, dis->domid);
+
+    rc = xc_domain_destroy(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_destroy failed for %d", dis->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = 0;
+
+out:
+    dis->callback(egc, dis, rc);
+    return;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_hotplug.c b/tools/libxl/libxl_hotplug.c
new file mode 100644
index 0000000..686a38d
--- /dev/null
+++ b/tools/libxl/libxl_hotplug.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2012
+ * Author Roger Pau Monne <roger.pau@citrix.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+
+/*
+ * Generic hotplug helpers
+ *
+ * This helpers are both used by Linux and NetBSD hotplug script
+ * dispatcher functions.
+ */
+
+static void device_hotplug_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                   const struct timeval *requested_abs)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ev, *aorm, ev);
+    STATE_AO_GC(aorm->ao);
+
+    if (!aorm) return;
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        if (kill(aorm->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aorm->what, (unsigned long)aorm->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return;
+}
+
+int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                          const char *arg0, char *const args[],
+                          char *const env[], libxl__ev_child_callback *death)
+{
+    int rc = 0;
+    pid_t pid = -1;
+
+    libxl__ev_time_init(&aorm->ev);
+    libxl__ev_child_init(&aorm->child);
+
+    rc = libxl__ev_time_register_rel(gc, &aorm->ev, device_hotplug_timeout,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to register timeout for hotplug script %s", arg0);
+        goto out;
+    }
+
+    pid = libxl__ev_child_fork(gc, &aorm->child, death);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, arg0, args, env);
+        LOGE(ERROR, "unable execute hotplug scripts for device %"PRIu32 " on "
+                    "dom %"PRIu32, aorm->dev->devid, aorm->dev->backend_domid);
+        abort();
+    }
+out:
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        aorm->pid = pid;
+        /* we will get a callback when the child dies */
+        return 0;
+    }
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return rc;
+}
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index fc2024d..faeb965 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -71,6 +71,8 @@
 #include "_libxl_types_internal_json.h"
 
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_INIT_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -85,6 +87,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -779,6 +782,9 @@ _hidden int libxl__domain_pvcontrol_write(libxl__gc *gc, xs_transaction_t t,
 _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend backend);
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__device *device);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
@@ -795,7 +801,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -826,13 +831,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -918,6 +916,65 @@ _hidden int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
                                       libxl_device_pci *pcidev, int num);
 _hidden int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid);
 
+/*----- device addition/removal -----*/
+
+/* During the init/destruction process, the device can be in several states:
+ *
+ * DEVICE_UNKNOWN: device in unknown state (default value when struct is
+ * initialized).
+ *
+ * DEVICE_WAIT_BACKEND: waiting for the backend to switch to XenbusStateInit or
+ * XenbusStateClosed.
+ *
+ * DEVICE_WAIT_HOTPLUG: waiting for hotplug script to finish execution.
+ *
+ * DEVICE_FINISHED: device is connected/disconnected.
+ */
+typedef enum {
+    DEVICE_ACTIVE,
+    DEVICE_FINISHED
+} libxl__device_state;
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+_hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                                   libxl__ao_device **base);
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list,
+                                        int num, int *last);
+
+struct libxl__ao_device {
+    libxl__ao *ao;
+    /* State in which the device is */
+    libxl__device_state state;
+    /* action being performed */
+    libxl__device_action action;
+    /* device teardown (back for xenstore backend to connect/disconnect) */
+    libxl__device *dev;
+    int force;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int rc;
+    libxl__ev_time ev;
+    libxl__ev_child child;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+_hidden int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__ao_device *aorm);
+
 /*
  *----- spawn -----
  *
@@ -1106,6 +1163,8 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1797,6 +1856,98 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*
+ * libxl__hotplug_launch is an internal function that should not be used
+ * directly, all hotplug script calls have to implement and use
+ * libxl__device_hotplug.
+ */
+_hidden void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm);
+_hidden int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                                  const char *arg0, char *const args[],
+                                  char *const env[],
+                                  libxl__ev_child_callback *death);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aorm);
+
+/*----- Domain destruction -----*/
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domain_clean_cb(libxl__egc *egc,
+                                    libxl__destroy_domid_state *dis,
+                                    int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* set by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    /* private */
+    libxl__ao_device *aorm;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_clean_cb *callback;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+    char *dom_path;
+    char *vm_path;
+    char *pid;
+    int dm_present;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/* Entry point for domain destruction */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
@@ -1816,6 +1967,9 @@ struct libxl__domain_create_state {
     int guest_domid;
     libxl__domain_build_state build_state;
     libxl__bootloader_state bl;
+    libxl__ao_device *devices;
+    int num_devices;
+    libxl__domain_destroy_state dds;
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..315ce15 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,129 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    if (!aorm) return;
+    libxl__ev_time_deregister(gc, &aorm->ev);
+}
+
+static void callback(libxl__egc *egc, libxl__ev_child *child,
+                                    pid_t pid, int status)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(child, *aorm, child);
+    STATE_AO_GC(aorm->ao);
+
+    cleanup(gc, aorm);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aorm->rc ? LIBXL__LOG_ERROR
+                                                    : LIBXL__LOG_WARNING,
+                                      aorm->what, pid, status);
+        aorm->rc = ERROR_FAIL;
+    }
+    aorm->callback(egc, aorm);
+}
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, 9);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return ERROR_FAIL;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return ERROR_FAIL;
+
+    GCNEW_ARRAY(args, 3);
+
+    args[nr++] = script;
+    args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+    args[nr++] = NULL;
+
+    aorm->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+    if (rc) {
+        goto out_free;
+    }
+
+    rc = 0;
+
+out_free:
+    return rc;
+}
+
+void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) goto out;
+
+    switch (aorm->dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        aorm->rc = libxl__hotplug_disk(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        aorm->rc = 0;
+        aorm->callback(egc, aorm);
+        break;
+    }
+
+    return;
+
+error:
+    assert(aorm->rc);
+    LOGE(ERROR, "unable to queue execution of hotplug script for device "
+                "with path %s", libxl__device_backend_path(gc, aorm->dev));
+out:
+    aorm->callback(egc, aorm);
+    return;
+}
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 8908581..3f1bbf6 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
@@ -1333,7 +1334,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1900,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2386,7 +2387,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2660,7 +2661,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2892,7 +2893,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3010,7 +3011,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
@@ -5077,7 +5078,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index c4f7c52..ce7a2b2 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -447,7 +447,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, NULL) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:28:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:28:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRY8-00088h-9J; Thu, 10 May 2012 11:28:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSRY5-00087k-Tw
	for xen-devel@lists.xen.org; Thu, 10 May 2012 11:28:46 +0000
Received: from [85.158.143.35:53320] by server-1.bemta-4.messagelabs.com id
	16/F8-20925-D66ABAF4; Thu, 10 May 2012 11:28:45 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336649320!11599598!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17354 invoked from network); 10 May 2012 11:28:42 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:28:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194234744"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:28:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:28:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSRXw-0003yv-On;
	Thu, 10 May 2012 12:28:36 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 12:28:31 +0100
Message-ID: <1336649312-11198-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from libxl
	for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a rather big change, that adds the necessary machinery to
perform hotplug script calling from libxl for Linux. This patch
launches the necessary scripts to attach and detach PHY and TAP
backend types (Qemu doesn't use hotplug scripts).

Here's a list of the major changes introduced:

 * libxl_device_disk_add makes use of the new event library and takes
   the optional parameter libxl_asyncop_how, to choose how the
   operation has to be issued (sync or async).

 * Disk addition waits for backend to switch to state 2
   (XenbusInitWait) and then launches the hotplug script.

 * Created and internal function (libxl__device_disk_add), that can be
   called within an already running AO, and that will plug the
   requested disk and execute the callback afterward.
   libxl_device_disk_add is a user of this newly created function.

 * libxl__devices_destroy no longer calls libxl__device_destroy, and
   instead calls libxl__initiate_device_remove, so we can disconnect
   the device and execute the necessary hotplug scripts instead of
   just deleting the backend entries. So libxl__devices_destroy now
   uses the event library, and so does libxl_domain_destroy, that has
   been converted to an AO operation function

 * The internal API for hotplug scripts has been added, which
   consists of one function; libxl__device_hotplug that takes the
   device and a struct with the necessary info about the action to
   execute.

 * Linux hotplug scripts are called by setting the necessary env
   variables to emulate udev rules, so there's no need to change them
   (although a rework to pass this as parameters insted of env
   variables would be suitable, so both NetBSD and Linux hotplug
   scripts take the same parameters).

 * Added a check in xen-hotplug-common.sh, so scripts are only
   executed from udev when using xend. xl adds a disable_udev=1 to
   xenstore libxl local directory and with the modification of the
   udev rules every call from udev gets UDEV_CALL passed, that points
   to disable_udev. If UDEV_CALL is passed and points to a value, the
   hotplug script is not executed.

Changes since v3 (changes based on IanJ review):

 * Store disable_udev in libxl/disable_udev, which now is not device
   dependant, but backend domain dependant.

 * Added a global callback to device addition/destruction, that is now
   called when we have finished all the oprtations and handles the
   call to ao_complete if no other operations are pending.

 * Unified both device creation/destruction flows, so now all of them
   use the same data structure and callbacks.

 * Used the event interface in a proper way, and merged disk addition
   with the new async flow of the domain creation.

 * Make use of the new functions LOG, LOGE, GCNEW_ARRAY...

 * Passed NULL as ao_how in Python bindings.

Changes since v1:

 * Replaced the hotplug snippet that prevents execution from udev
   when necessary, and now we set the env var from udev rules instead
   of libxl.

 * Replaced the libxl_device_disk_add "if" with a "switch".

 * Removed libxl__xs_path_cleanup (replaced with xs_rm).

 * Fixed several spelling mistakes.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5                    |    8 +
 tools/examples/xl.conf                    |    5 +
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 +
 tools/libxl/Makefile                      |    3 +-
 tools/libxl/libxl.c                       |  351 +++++++--------------
 tools/libxl/libxl.h                       |    7 +-
 tools/libxl/libxl_create.c                |  102 ++++++-
 tools/libxl/libxl_device.c                |  497 +++++++++++++++++++++++++----
 tools/libxl/libxl_dm.c                    |  136 +++++----
 tools/libxl/libxl_dom.c                   |  170 ++++++++++
 tools/libxl/libxl_hotplug.c               |   84 +++++
 tools/libxl/libxl_internal.h              |  170 ++++++++++-
 tools/libxl/libxl_linux.c                 |  126 ++++++++
 tools/libxl/libxl_types.idl               |    1 +
 tools/libxl/xl.c                          |    4 +
 tools/libxl/xl.h                          |    1 +
 tools/libxl/xl_cmdimpl.c                  |   15 +-
 tools/python/xen/lowlevel/xl/xl.c         |    2 +-
 19 files changed, 1291 insertions(+), 403 deletions(-)
 create mode 100644 tools/libxl/libxl_hotplug.c

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..6443a63 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   `xenstore-read "libxl/disable_udev" >/dev/null 2>&1`; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9abadff 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,7 +66,8 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
+			libxl_qmp.o libxl_event.o libxl_fork.o libxl_hotplug.o \
+			$(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 79d7708..b438fbf 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1058,82 +1058,36 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_INIT(ctx);
     libxl__evdisable_disk_eject(gc, evg);
     GC_FREE;
-}    
+}
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
-{
-    GC_INIT(ctx);
-    char *dom_path;
-    char *vm_path;
-    char *pid;
-    int rc, dm_present;
+/* Callback for domain destruction */
 
-    rc = libxl_domain_info(ctx, NULL, domid);
-    switch(rc) {
-    case 0:
-        break;
-    case ERROR_INVAL:
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
-    default:
-        return rc;
-    }
+static void domain_destroy_cb(libxl__egc *, libxl__domain_destroy_state *, int);
 
-    switch (libxl__domain_type(gc, domid)) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        dm_present = 1;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-        dm_present = (pid != NULL);
-        break;
-    default:
-        abort();
-    }
-
-    dom_path = libxl__xs_get_dompath(gc, domid);
-    if (!dom_path) {
-        rc = ERROR_FAIL;
-        goto out;
-    }
-
-    if (libxl__device_pci_destroy_all(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "pci shutdown failed for domid %d", domid);
-    rc = xc_domain_pause(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_pause failed for %d", domid);
-    }
-    if (dm_present) {
-        if (libxl__destroy_device_model(gc, domid) < 0)
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl__destroy_device_model failed for %d", domid);
-
-        libxl__qmp_cleanup(gc, domid);
-    }
-    if (libxl__devices_destroy(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
-                   "libxl__devices_destroy failed for %d", domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
 
-    vm_path = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/vm", dom_path));
-    if (vm_path)
-        if (!xs_rm(ctx->xsh, XBT_NULL, vm_path))
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", vm_path);
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
 
-    if (!xs_rm(ctx->xsh, XBT_NULL, dom_path))
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", dom_path);
+    return AO_INPROGRESS;
+}
 
-    xs_rm(ctx->xsh, XBT_NULL, libxl__xs_libxl_path(gc, domid));
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
 
-    libxl__userdata_destroyall(gc, domid);
+    if (rc)
+        LOGE(ERROR, "destruction of domain %u failed", dds->domid);
 
-    rc = xc_domain_destroy(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_destroy failed for %d", domid);
-        rc = ERROR_FAIL;
-        goto out;
-    }
-    rc = 0;
-out:
-    GC_FREE;
-    return rc;
+    libxl__ao_complete(egc, ao, rc);
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1261,171 +1215,56 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
-int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
+/* generic callback for devices that only need to set ao_complete */
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
 {
-    int rc;
+    STATE_AO_GC(aorm->ao);
 
-    rc = libxl__device_disk_set_backend(gc, disk);
-    if (rc) return rc;
+    if (aorm->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aorm->dev->kind),
+                    aorm->dev->devid);
+        goto out;
+    }
 
-    return rc;
+out:
+    libxl__ao_complete(egc, ao, aorm->rc);
+    return;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
+/******************************************************************************/
 
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
+int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
+{
+    int rc;
 
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
+    rc = libxl__device_disk_set_backend(gc, disk);
+    if (rc) return rc;
 
-    return 0;
+    return rc;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+    int rc;
 
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_disk_add(egc, domid, disk, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add disk %s", disk->pdev_path);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    rc = 0;
-
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
@@ -1433,19 +1272,25 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -1663,12 +1508,14 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 
     ret = 0;
 
+    /* fixme-ao */
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
+        /* fixme-ao */
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
@@ -1911,19 +1758,25 @@ int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2273,19 +2126,25 @@ int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2406,19 +2265,25 @@ int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 0ff4a83..0ab1531 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
@@ -660,7 +661,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 788e553..db58fd0 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -400,7 +400,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
   * on exit (even error exit), domid may be valid and refer to a domain */
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -521,6 +521,28 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOGE(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        if (!libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOGE(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+    } else {
+        if (libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOGE(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+    }
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
@@ -577,15 +599,25 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc,
+                                     libxl__ao_device *aorm);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
 /* Our own function to clean up and call the user's callback.
- * The final call in the sequence. */
+ * The final call in the sequence if domain creation is successful. */
 static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                    libxl__domain_destroy_state *dds,
+                                    int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -700,8 +732,13 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
+    GCNEW_ARRAY(dcs->devices, d_config->num_disks);
+    dcs->num_devices = d_config->num_disks;
     for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
+        libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+        dcs->devices[i].callback = domcreate_disk_connected;
+        ret = libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                                     &dcs->devices[i]);
         if (ret) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "cannot add disk %d to domain: %d", i, ret);
@@ -718,6 +755,42 @@ static void domcreate_bootloader_done(libxl__egc *egc,
             goto error_out;
         }
     }
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int i, last, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto error_out;
+    }
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
+
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
@@ -853,16 +926,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..275ab43 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -110,6 +152,178 @@ retry_transaction:
     return 0;
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid == -1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+    case LIBXL_DISK_BACKEND_PHY:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_TAP:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_QDISK:
+        device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+        break;
+    default:
+        LOGE(ERROR, "unrecognized disk backend type: %d", disk->backend);
+        return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
+int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_disk *disk,
+                           libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front = NULL;
+    flexarray_t *back = NULL;
+    char *dev;
+    libxl__device *device;
+    int major, minor, rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(20, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LOGE(ERROR, "External block scripts not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
+    if (rc != 0) {
+        LOGE(ERROR, "Invalid or unsupported virtual disk identifier %s",
+                    disk->vdev);
+        goto out;
+    }
+
+    switch (disk->backend) {
+    case LIBXL_DISK_BACKEND_PHY:
+        dev = disk->pdev_path;
+    do_backend_phy:
+        libxl__device_physdisk_major_minor(dev, &major, &minor);
+        flexarray_append(back, "physical-device");
+        flexarray_append(back, GCSPRINTF("%x:%x", major, minor));
+
+        flexarray_append(back, "params");
+        flexarray_append(back, dev);
+
+        flexarray_append(back, "script");
+        flexarray_append(back, GCSPRINTF("%s/%s",
+                                         libxl__xen_script_dir_path(),
+                                         "block"));
+
+        assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
+        break;
+    case LIBXL_DISK_BACKEND_TAP:
+        dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+        if (!dev) {
+            rc = ERROR_FAIL;
+            goto out_free;
+        }
+        flexarray_append(back, "tapdisk-params");
+        flexarray_append(back, GCSPRINTF("%s:%s",
+                         libxl__device_disk_string_of_format(disk->format),
+                         disk->pdev_path));
+
+        flexarray_append(back, "script");
+        flexarray_append(back, GCSPRINTF("%s/%s",
+                                         libxl__xen_script_dir_path(),
+                                         "blktap"));
+
+        /* now create a phy device to export the device to the guest */
+        goto do_backend_phy;
+    case LIBXL_DISK_BACKEND_QDISK:
+        flexarray_append(back, "params");
+        flexarray_append(back, GCSPRINTF("%s:%s",
+                         libxl__device_disk_string_of_format(disk->format),
+                         disk->pdev_path));
+        assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
+        break;
+    default:
+        LOGE(ERROR, "unrecognized disk backend type: %d", disk->backend);
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, GCSPRINTF("%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, GCSPRINTF("%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, GCSPRINTF("%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, GCSPRINTF("%d", device->devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, device,
+                    libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                    libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 typedef struct {
     libxl__gc *gc;
     libxl_device_disk *disk;
@@ -356,49 +570,116 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
-
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
-
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
     if (!aorm) return;
     libxl__ev_devstate_cancel(gc, &aorm->ds);
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
-                                   int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                           libxl__ao_device **base)
+{
+    aorm->ao = ao;
+    aorm->state = DEVICE_ACTIVE;
+    aorm->rc = 0;
+    aorm->base = base;
 }
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num, int *last)
 {
-    AO_GC;
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    int i, ret = 0;
+
+    device->state = DEVICE_FINISHED;
+    *last = 1;
+    for (i = 0; i < num; i++) {
+        if (list[i].state != DEVICE_FINISHED && *last) {
+            *last = 0;
+            if (!device->rc) break;
+        }
+        if (device->rc && device->action == DEVICE_CONNECT) {
+            /* Cancel pending events */
+            if (list[i].pid) {
+                libxl__ev_time_deregister(gc, &list[i].ev);
+                kill(list[i].pid, SIGKILL);
+            } else {
+                libxl__ev_devstate_cancel(gc, &list[i].ds);
+            }
+            ret = list[i].rc;
+        }
+    }
+    return ret;
+}
+
+/* Common callbacks for device add/remove */
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc);
+
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
     char *state = libxl__xs_read(gc, XBT_NULL, state_path);
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aorm->callback(egc, aorm);
+        return;
+    }
+
+    if (atoi(state) == XenbusStateInitWait)
+        goto out_ok;
+
+    libxl__ev_devstate_init(&aorm->ds);
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+
+out_ok:
+    libxl__device_hotplug(egc, aorm);
+    return;
+}
+
+void libxl__initiate_device_remove(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state;
+    int rc = 0;
+
+    if (aorm->force)
+        libxl__xs_path_cleanup(gc, libxl__device_frontend_path(gc, aorm->dev));
+        /* Remove frontend xs paths to force backend disconnection */
+
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) != XenbusStateConnected &&
+        atoi(state) != XenbusStateClosing) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
 
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
-    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
+    xs_write(ctx->xsh, t, GCSPRINTF("%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
@@ -408,60 +689,67 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
     libxl__ev_devstate_init(&aorm->ds);
-
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOGE(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    libxl__device_hotplug(egc, aorm);
+    return;
 }
 
-int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char *be_path = libxl__device_backend_path(gc, dev);
-    char *fe_path = libxl__device_frontend_path(gc, dev);
-
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
-
-    libxl__device_destroy_tapdisk(gc, be_path);
+/* Callback for device destruction */
 
-    return 0;
-}
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm);
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
+    STATE_AO_GC(drs->ao);
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, rc = 0, numdev = 0;
+    libxl__device *dev;
     libxl__device_kind kind;
 
-    path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOGE(ERROR, "unable to get number of devices for domain %u",
+                    drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aorm, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__init_ao_device(&drs->aorm[i], drs->ao, &drs->aorm);
+    }
+
+    path = GCSPRINTF("/local/domain/%d/device", drs->domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
         if (errno != ENOENT) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get xenstore"
-                             " device listing %s", path);
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
             goto out;
         }
         num_kinds = 0;
@@ -470,37 +758,106 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
         if (libxl__device_kind_from_string(kinds[i], &kind))
             continue;
 
-        path = libxl__sprintf(gc, "/local/domain/%d/device/%s", domid, kinds[i]);
+        path = GCSPRINTF("/local/domain/%d/device/%s", drs->domid, kinds[i]);
         devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
         if (!devs)
             continue;
         for (j = 0; j < num_devs; j++) {
-            path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
-                                  domid, kinds[i], devs[j]);
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             drs->domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                dev->domid = drs->domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                drs->aorm[numdev].action = DEVICE_DISCONNECT;
+                drs->aorm[numdev].dev = dev;
+                drs->aorm[numdev].callback = device_remove_callback;
+                libxl__initiate_device_remove(egc, &drs->aorm[numdev]);
+                numdev++;
             }
         }
     }
 
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
-    path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
+    path = GCSPRINTF("/local/domain/%d/console/backend", drs->domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = drs->domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
+}
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
+    STATE_AO_GC(aorm->ao);
+
+    device_backend_cleanup(gc, aorm);
+
+    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
+        !aorm->force) {
+        aorm->force = 1;
+        libxl__initiate_device_remove(egc, aorm);
+        return;
+    }
+
+    if (rc) {
+        LOGE(ERROR, "unable to %s device with path %s",
+                    aorm->action == DEVICE_DISCONNECT ? "disconnect" :
+                                                        "connect",
+                    libxl__device_backend_path(gc, aorm->dev));
+        goto error;
+    }
+
+    libxl__device_hotplug(egc, aorm);
+    return;
+
+error:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
+    int rc = 0, last;
+
+    if (aorm->action == DEVICE_DISCONNECT) {
+        libxl__xs_path_cleanup(gc, libxl__device_frontend_path(gc, aorm->dev));
+        libxl__xs_path_cleanup(gc, libxl__device_backend_path(gc, aorm->dev));
+    }
+
+    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
+                                     drs->num_devices, &last);
+
+    if (last)
+        drs->callback(egc, drs, rc);
+    return;
+}
+
+int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *fe_path = libxl__device_frontend_path(gc, dev);
+
+    libxl__xs_path_cleanup(gc, be_path);
+    libxl__xs_path_cleanup(gc, fe_path);
+
+    libxl__device_destroy_tapdisk(gc, be_path);
     return 0;
 }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 5de3aef..b2622ee 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -660,6 +660,8 @@ retry_transaction:
     return 0;
 }
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
@@ -668,8 +670,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int i, ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -787,22 +788,66 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
+    GCNEW_ARRAY(sdss->devices, dm_config->num_disks);
+    sdss->num_devices = dm_config->num_disks;
     for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
+        libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
+        sdss->devices[i].callback = spawn_stub_disk_connected;
+        ret = libxl__device_disk_add(egc, dm_domid, &dm_config->disks[i],
+                                     &sdss->devices[i]);
+        if (ret) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "cannot add disk %d to domain: %d", i, ret);
+            ret = ERROR_FAIL;
             goto out_free;
+        }
+    }
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0, last;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto out;
     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -810,7 +855,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -846,7 +891,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -856,13 +901,9 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
-    assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
 }
 
@@ -883,7 +924,7 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
  out:
     if (rc) {
         if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+            libxl_domain_destroy(CTX, dm_domid, 0);
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
@@ -1075,62 +1116,35 @@ static void device_model_spawn_outcome(libxl__egc *egc,
 
 int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *pid;
     int ret;
 
-    pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-        ret = ERROR_INVAL;
-        goto out;
-    }
-    if (!atoi(pid)) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
+    pid = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("/local/domain/%d/image/device-model-pid",
+                            domid));
+    if (!pid || !atoi(pid)) {
+            LOGE(ERROR, "Couldn't find device model's pid");
             ret = ERROR_INVAL;
             goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LOG(DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LOG(DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LOGEV(ERROR, errno, "failed to kill Device Model [%d]", atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
 
 out:
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
+    xs_rm(CTX->xsh, XBT_NULL, GCSPRINTF("/local/domain/0/device-model/%d",
+                                        domid));
+    xs_rm(CTX->xsh, XBT_NULL, GCSPRINTF("/local/domain/%d/hvmloader",
+                                        domid));
     return ret;
 }
 
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index c246211..9b016e8 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -973,6 +973,176 @@ out:
     return rc;
 }
 
+/* Callbacks for libxl__domain_destroy */
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc)
+        LOGE(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    if (dds->domain_finished)
+        dds->callback(egc, dds, rc);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc)
+        LOGE(ERROR, "unable to destroy guest with domid %u", dis->domid);
+
+    dds->domain_finished = 1;
+    if (dds->stubdom_finished)
+        dds->callback(egc, dds, rc);
+}
+
+/* Callbacks for libxl__domain_clean */
+
+/* Device destruction callback */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    int rc;
+
+    rc = libxl_domain_info(CTX, NULL, dis->domid);
+    switch (rc) {
+    case 0:
+        break;
+    case ERROR_INVAL:
+        LOGE(ERROR, "non-existant domain %d", dis->domid);
+    default:
+        goto out;
+    }
+
+    switch (libxl__domain_type(gc, dis->domid)) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        dis->dm_present = 1;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        dis->pid = libxl__xs_read(gc, XBT_NULL,
+                        GCSPRINTF("/local/domain/%d/image/device-model-pid",
+                        dis->domid));
+        dis->dm_present = (dis->pid != NULL);
+        break;
+    default:
+        abort();
+    }
+
+    dis->dom_path = libxl__xs_get_dompath(gc, dis->domid);
+    if (!dis->dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl__device_pci_destroy_all(gc, dis->domid) < 0)
+        LOGE(ERROR, "pci shutdown failed for domid %d", dis->domid);
+    rc = xc_domain_pause(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_pause failed for %d", dis->domid);
+    }
+    if (dis->dm_present) {
+        rc = libxl__destroy_device_model(gc, dis->domid);
+        if (rc < 0)
+            LOGE(ERROR, "libxl__destroy_device_model failed for %d",
+                        dis->domid);
+        libxl__qmp_cleanup(gc, dis->domid);
+    }
+    dis->drs.ao = ao;
+    dis->drs.domid = dis->domid;
+    dis->drs.callback = devices_destroy_cb;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+
+    if (rc < 0)
+        LOGE(ERROR, "libxl__devices_destroy failed for %d", dis->domid);
+
+    dis->vm_path = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/vm",
+                                                          dis->dom_path));
+    if (dis->vm_path)
+        if (!xs_rm(CTX->xsh, XBT_NULL, dis->vm_path))
+            LOGE(ERROR, "xs_rm failed for %s", dis->vm_path);
+
+    if (!xs_rm(CTX->xsh, XBT_NULL, dis->dom_path))
+        LOGE(ERROR, "xs_rm failed for %s", dis->dom_path);
+
+    xs_rm(CTX->xsh, XBT_NULL, libxl__xs_libxl_path(gc, dis->domid));
+
+    libxl__userdata_destroyall(gc, dis->domid);
+
+    rc = xc_domain_destroy(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_destroy failed for %d", dis->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = 0;
+
+out:
+    dis->callback(egc, dis, rc);
+    return;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_hotplug.c b/tools/libxl/libxl_hotplug.c
new file mode 100644
index 0000000..686a38d
--- /dev/null
+++ b/tools/libxl/libxl_hotplug.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2012
+ * Author Roger Pau Monne <roger.pau@citrix.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+
+/*
+ * Generic hotplug helpers
+ *
+ * This helpers are both used by Linux and NetBSD hotplug script
+ * dispatcher functions.
+ */
+
+static void device_hotplug_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                   const struct timeval *requested_abs)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ev, *aorm, ev);
+    STATE_AO_GC(aorm->ao);
+
+    if (!aorm) return;
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        if (kill(aorm->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aorm->what, (unsigned long)aorm->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return;
+}
+
+int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                          const char *arg0, char *const args[],
+                          char *const env[], libxl__ev_child_callback *death)
+{
+    int rc = 0;
+    pid_t pid = -1;
+
+    libxl__ev_time_init(&aorm->ev);
+    libxl__ev_child_init(&aorm->child);
+
+    rc = libxl__ev_time_register_rel(gc, &aorm->ev, device_hotplug_timeout,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to register timeout for hotplug script %s", arg0);
+        goto out;
+    }
+
+    pid = libxl__ev_child_fork(gc, &aorm->child, death);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, arg0, args, env);
+        LOGE(ERROR, "unable execute hotplug scripts for device %"PRIu32 " on "
+                    "dom %"PRIu32, aorm->dev->devid, aorm->dev->backend_domid);
+        abort();
+    }
+out:
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        aorm->pid = pid;
+        /* we will get a callback when the child dies */
+        return 0;
+    }
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return rc;
+}
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index fc2024d..faeb965 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -71,6 +71,8 @@
 #include "_libxl_types_internal_json.h"
 
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_INIT_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -85,6 +87,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -779,6 +782,9 @@ _hidden int libxl__domain_pvcontrol_write(libxl__gc *gc, xs_transaction_t t,
 _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend backend);
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__device *device);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
@@ -795,7 +801,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -826,13 +831,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -918,6 +916,65 @@ _hidden int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
                                       libxl_device_pci *pcidev, int num);
 _hidden int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid);
 
+/*----- device addition/removal -----*/
+
+/* During the init/destruction process, the device can be in several states:
+ *
+ * DEVICE_UNKNOWN: device in unknown state (default value when struct is
+ * initialized).
+ *
+ * DEVICE_WAIT_BACKEND: waiting for the backend to switch to XenbusStateInit or
+ * XenbusStateClosed.
+ *
+ * DEVICE_WAIT_HOTPLUG: waiting for hotplug script to finish execution.
+ *
+ * DEVICE_FINISHED: device is connected/disconnected.
+ */
+typedef enum {
+    DEVICE_ACTIVE,
+    DEVICE_FINISHED
+} libxl__device_state;
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+_hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                                   libxl__ao_device **base);
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list,
+                                        int num, int *last);
+
+struct libxl__ao_device {
+    libxl__ao *ao;
+    /* State in which the device is */
+    libxl__device_state state;
+    /* action being performed */
+    libxl__device_action action;
+    /* device teardown (back for xenstore backend to connect/disconnect) */
+    libxl__device *dev;
+    int force;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int rc;
+    libxl__ev_time ev;
+    libxl__ev_child child;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+_hidden int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__ao_device *aorm);
+
 /*
  *----- spawn -----
  *
@@ -1106,6 +1163,8 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1797,6 +1856,98 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*
+ * libxl__hotplug_launch is an internal function that should not be used
+ * directly, all hotplug script calls have to implement and use
+ * libxl__device_hotplug.
+ */
+_hidden void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm);
+_hidden int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                                  const char *arg0, char *const args[],
+                                  char *const env[],
+                                  libxl__ev_child_callback *death);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aorm);
+
+/*----- Domain destruction -----*/
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domain_clean_cb(libxl__egc *egc,
+                                    libxl__destroy_domid_state *dis,
+                                    int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* set by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    /* private */
+    libxl__ao_device *aorm;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_clean_cb *callback;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+    char *dom_path;
+    char *vm_path;
+    char *pid;
+    int dm_present;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/* Entry point for domain destruction */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
@@ -1816,6 +1967,9 @@ struct libxl__domain_create_state {
     int guest_domid;
     libxl__domain_build_state build_state;
     libxl__bootloader_state bl;
+    libxl__ao_device *devices;
+    int num_devices;
+    libxl__domain_destroy_state dds;
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..315ce15 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,129 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    if (!aorm) return;
+    libxl__ev_time_deregister(gc, &aorm->ev);
+}
+
+static void callback(libxl__egc *egc, libxl__ev_child *child,
+                                    pid_t pid, int status)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(child, *aorm, child);
+    STATE_AO_GC(aorm->ao);
+
+    cleanup(gc, aorm);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aorm->rc ? LIBXL__LOG_ERROR
+                                                    : LIBXL__LOG_WARNING,
+                                      aorm->what, pid, status);
+        aorm->rc = ERROR_FAIL;
+    }
+    aorm->callback(egc, aorm);
+}
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, 9);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return ERROR_FAIL;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return ERROR_FAIL;
+
+    GCNEW_ARRAY(args, 3);
+
+    args[nr++] = script;
+    args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+    args[nr++] = NULL;
+
+    aorm->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+    if (rc) {
+        goto out_free;
+    }
+
+    rc = 0;
+
+out_free:
+    return rc;
+}
+
+void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) goto out;
+
+    switch (aorm->dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        aorm->rc = libxl__hotplug_disk(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        aorm->rc = 0;
+        aorm->callback(egc, aorm);
+        break;
+    }
+
+    return;
+
+error:
+    assert(aorm->rc);
+    LOGE(ERROR, "unable to queue execution of hotplug script for device "
+                "with path %s", libxl__device_backend_path(gc, aorm->dev));
+out:
+    aorm->callback(egc, aorm);
+    return;
+}
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 8908581..3f1bbf6 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
@@ -1333,7 +1334,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1900,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2386,7 +2387,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2660,7 +2661,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2892,7 +2893,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3010,7 +3011,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
@@ -5077,7 +5078,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index c4f7c52..ce7a2b2 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -447,7 +447,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, NULL) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:32:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:32:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRb7-0000Ha-6N; Thu, 10 May 2012 11:31:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSRb5-0000H3-Ci
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:31:51 +0000
Received: from [85.158.139.83:57218] by server-11.bemta-5.messagelabs.com id
	05/07-12959-627ABAF4; Thu, 10 May 2012 11:31:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336649509!24935946!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22920 invoked from network); 10 May 2012 11:31:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:31:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403486"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:31:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 12:31:49 +0100
Message-ID: <1336649508.7098.97.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 12:31:48 +0100
In-Reply-To: <a1c3578537355b988d5e.1336559324@kodo2>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> pci-assignable-add will always store the driver rebind path, but
> pci-assignable-remove will only actually rebind if asked to do so.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 17a5b562d1e7 -r a1c357853735 docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Wed May 09 11:21:28 2012 +0100
> +++ b/docs/man/xl.pod.1	Wed May 09 11:24:01 2012 +0100
> @@ -1026,6 +1026,26 @@ These are devices in the system which ar
>  available for passthrough and are bound to a suitable PCI
>  backend driver in domain 0 rather than a real driver.
>  
> +=item B<pci-assignable-add> I<BDF>
> +
> +Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
> +will bind the device to the pciback driver.  If it is already bound to a
> +driver, it will first be unbound, and the original driver stored so that it
> +can be re-bound to the same driver later if desired.  
> +
> +CAUTION: This will make the device unusable by Domain 0 until it is
> +returned with pci-assignable-remove.  Care should therefore be taken
> +not to do this on a device critical to domain 0's operation, such as
> +storage controllers, network interfaces, or GPUs that are currently
> +being used.
> +
> +=item B<pci-assignable-remove> [I<-r>] I<BDF>
> +
> +Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
> +will at least unbind the device from pciback.  If the -r option is specified,
> +it will also attempt to re-bind the device to its original driver, making it
> +usable by Domain 0 again.
> +
>  =item B<pci-attach> I<domain-id> I<BDF>
>  
>  Hot-plug a new pass-through pci device to the specified domain.
> diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl.h
> --- a/tools/libxl/xl.h	Wed May 09 11:21:28 2012 +0100
> +++ b/tools/libxl/xl.h	Wed May 09 11:24:01 2012 +0100
> @@ -36,6 +36,8 @@ int main_vncviewer(int argc, char **argv
>  int main_pcilist(int argc, char **argv);
>  int main_pcidetach(int argc, char **argv);
>  int main_pciattach(int argc, char **argv);
> +int main_pciassignable_add(int argc, char **argv);
> +int main_pciassignable_remove(int argc, char **argv);
>  int main_pciassignable_list(int argc, char **argv);
>  int main_restore(int argc, char **argv);
>  int main_migrate_receive(int argc, char **argv);
> diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:28 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:24:01 2012 +0100
> @@ -2368,6 +2368,82 @@ int main_pciassignable_list(int argc, ch
>      return 0;
>  }
>  
> +static void pciassignable_add(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    memset(&pcidev, 0x00, sizeof(pcidev));

libxl_device_pci_init please.

> +
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
> +
> +    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
> +        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
> +        exit(2);
> +    }
> +    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
> +    libxl_device_pci_dispose(&pcidev);
> +}
> +
> +int main_pciassignable_add(int argc, char **argv)
> +{
> +    int opt;
> +    const char *bdf = NULL;
> +
> +    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
> +        switch (opt) {
> +        case 0: case 2:
> +            return opt;
> +        }
> +    }
> +
> +    bdf = argv[optind];
> +
> +    pciassignable_add(bdf, 1);
> +    return 0;
> +}
> +
> +static void pciassignable_remove(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    memset(&pcidev, 0x00, sizeof(pcidev));

libxl_device_pci_init also.

You are also missing the xlu_cfg_destroy both here and in the add fn.

(it's a bit annoying that an XLU_COnfig is needed for these simple
helper functions, I suppose it's for logging, but maybe they could log
to stderr if cfg==NULL. Anyway, lets not fix that here)

> +
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
> +
> +    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
> +        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
> +        exit(2);
> +    }
> +    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
> +    libxl_device_pci_dispose(&pcidev);
> +}
> +
> +int main_pciassignable_remove(int argc, char **argv)
> +{
> +    int opt;
> +    const char *bdf = NULL;
> +    int rebind = 0;
> +
> +    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
> +        switch (opt) {
> +        case 0: case 2:
> +            return opt;
> +        case 'r':
> +            rebind=1;
> +            break;
> +        }
> +    }
> +
> +    bdf = argv[optind];
> +
> +    pciassignable_remove(bdf, rebind);
> +    return 0;
> +}
> +
>  static void pause_domain(const char *p)
>  {
>      find_domain(p);
> diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdtable.c
> --- a/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:28 2012 +0100
> +++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:24:01 2012 +0100
> @@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
>        "List pass-through pci devices for a domain",
>        "<Domain>",
>      },
> +    { "pci-assignable-add",
> +      &main_pciassignable_add, 0,
> +      "Make a device assignable for pci-passthru",
> +      "<BDF>",
> +      "-h                      Print this help.\n"
> +    },
> +    { "pci-assignable-remove",
> +      &main_pciassignable_remove, 0,
> +      "Remove a device from being assignable",
> +      "[options] <BDF>",
> +      "-h                      Print this help.\n"
> +      "-r                      Attempt to re-assign the device to the\n"
> +      "                        original driver"
> +    },
>      { "pci-assignable-list",
>        &main_pciassignable_list, 0,
>        "List all the assignable pci devices",
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:32:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:32:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRb7-0000Ha-6N; Thu, 10 May 2012 11:31:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSRb5-0000H3-Ci
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:31:51 +0000
Received: from [85.158.139.83:57218] by server-11.bemta-5.messagelabs.com id
	05/07-12959-627ABAF4; Thu, 10 May 2012 11:31:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336649509!24935946!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22920 invoked from network); 10 May 2012 11:31:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:31:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403486"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:31:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 12:31:49 +0100
Message-ID: <1336649508.7098.97.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 12:31:48 +0100
In-Reply-To: <a1c3578537355b988d5e.1336559324@kodo2>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> pci-assignable-add will always store the driver rebind path, but
> pci-assignable-remove will only actually rebind if asked to do so.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 17a5b562d1e7 -r a1c357853735 docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Wed May 09 11:21:28 2012 +0100
> +++ b/docs/man/xl.pod.1	Wed May 09 11:24:01 2012 +0100
> @@ -1026,6 +1026,26 @@ These are devices in the system which ar
>  available for passthrough and are bound to a suitable PCI
>  backend driver in domain 0 rather than a real driver.
>  
> +=item B<pci-assignable-add> I<BDF>
> +
> +Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
> +will bind the device to the pciback driver.  If it is already bound to a
> +driver, it will first be unbound, and the original driver stored so that it
> +can be re-bound to the same driver later if desired.  
> +
> +CAUTION: This will make the device unusable by Domain 0 until it is
> +returned with pci-assignable-remove.  Care should therefore be taken
> +not to do this on a device critical to domain 0's operation, such as
> +storage controllers, network interfaces, or GPUs that are currently
> +being used.
> +
> +=item B<pci-assignable-remove> [I<-r>] I<BDF>
> +
> +Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
> +will at least unbind the device from pciback.  If the -r option is specified,
> +it will also attempt to re-bind the device to its original driver, making it
> +usable by Domain 0 again.
> +
>  =item B<pci-attach> I<domain-id> I<BDF>
>  
>  Hot-plug a new pass-through pci device to the specified domain.
> diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl.h
> --- a/tools/libxl/xl.h	Wed May 09 11:21:28 2012 +0100
> +++ b/tools/libxl/xl.h	Wed May 09 11:24:01 2012 +0100
> @@ -36,6 +36,8 @@ int main_vncviewer(int argc, char **argv
>  int main_pcilist(int argc, char **argv);
>  int main_pcidetach(int argc, char **argv);
>  int main_pciattach(int argc, char **argv);
> +int main_pciassignable_add(int argc, char **argv);
> +int main_pciassignable_remove(int argc, char **argv);
>  int main_pciassignable_list(int argc, char **argv);
>  int main_restore(int argc, char **argv);
>  int main_migrate_receive(int argc, char **argv);
> diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Wed May 09 11:21:28 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Wed May 09 11:24:01 2012 +0100
> @@ -2368,6 +2368,82 @@ int main_pciassignable_list(int argc, ch
>      return 0;
>  }
>  
> +static void pciassignable_add(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    memset(&pcidev, 0x00, sizeof(pcidev));

libxl_device_pci_init please.

> +
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
> +
> +    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
> +        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
> +        exit(2);
> +    }
> +    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
> +    libxl_device_pci_dispose(&pcidev);
> +}
> +
> +int main_pciassignable_add(int argc, char **argv)
> +{
> +    int opt;
> +    const char *bdf = NULL;
> +
> +    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
> +        switch (opt) {
> +        case 0: case 2:
> +            return opt;
> +        }
> +    }
> +
> +    bdf = argv[optind];
> +
> +    pciassignable_add(bdf, 1);
> +    return 0;
> +}
> +
> +static void pciassignable_remove(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    memset(&pcidev, 0x00, sizeof(pcidev));

libxl_device_pci_init also.

You are also missing the xlu_cfg_destroy both here and in the add fn.

(it's a bit annoying that an XLU_COnfig is needed for these simple
helper functions, I suppose it's for logging, but maybe they could log
to stderr if cfg==NULL. Anyway, lets not fix that here)

> +
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
> +
> +    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
> +        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
> +        exit(2);
> +    }
> +    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
> +    libxl_device_pci_dispose(&pcidev);
> +}
> +
> +int main_pciassignable_remove(int argc, char **argv)
> +{
> +    int opt;
> +    const char *bdf = NULL;
> +    int rebind = 0;
> +
> +    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
> +        switch (opt) {
> +        case 0: case 2:
> +            return opt;
> +        case 'r':
> +            rebind=1;
> +            break;
> +        }
> +    }
> +
> +    bdf = argv[optind];
> +
> +    pciassignable_remove(bdf, rebind);
> +    return 0;
> +}
> +
>  static void pause_domain(const char *p)
>  {
>      find_domain(p);
> diff -r 17a5b562d1e7 -r a1c357853735 tools/libxl/xl_cmdtable.c
> --- a/tools/libxl/xl_cmdtable.c	Wed May 09 11:21:28 2012 +0100
> +++ b/tools/libxl/xl_cmdtable.c	Wed May 09 11:24:01 2012 +0100
> @@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
>        "List pass-through pci devices for a domain",
>        "<Domain>",
>      },
> +    { "pci-assignable-add",
> +      &main_pciassignable_add, 0,
> +      "Make a device assignable for pci-passthru",
> +      "<BDF>",
> +      "-h                      Print this help.\n"
> +    },
> +    { "pci-assignable-remove",
> +      &main_pciassignable_remove, 0,
> +      "Remove a device from being assignable",
> +      "[options] <BDF>",
> +      "-h                      Print this help.\n"
> +      "-r                      Attempt to re-assign the device to the\n"
> +      "                        original driver"
> +    },
>      { "pci-assignable-list",
>        &main_pciassignable_list, 0,
>        "List all the assignable pci devices",
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:36:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:36:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRfk-0000dY-UZ; Thu, 10 May 2012 11:36:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRfj-0000dR-T2
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:36:40 +0000
Received: from [85.158.143.35:35284] by server-3.bemta-4.messagelabs.com id
	85/0B-05853-748ABAF4; Thu, 10 May 2012 11:36:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336649797!10374559!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15900 invoked from network); 10 May 2012 11:36:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:36:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403587"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:36:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:36:35 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRff-0006lJ-Is; Thu, 10 May 2012 11:36:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRff-0004qA-Ho;
	Thu, 10 May 2012 12:36:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.43075.534483.485017@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:36:35 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4FAA83A8.8070804@eu.citrix.com>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> On 09/05/12 14:43, Ian Campbell wrote:
> > On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> >> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
> > Why strncmp and not just strcmp? And why 20? AFAIK
> > strlen("/usr/bin/pygrub") == 15 or 16 or so...
>
> ISTR in the past build processes throwing warnings that strcmp() is 
> unsafe, and since warnings turn to errors, pre-emptively used the "safe" 
> version instead.

Boggle.  Any such build processes need to be taken out and shot.
There is nothing wrong with strcmp.  Are you sure you're not thinking
of strcat or sprintf ?

>  Let me give it a try; it should be perfectly safe for 
> us, and will remove the issue with manually syncronizing string with its 
> size.

Right, yes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:36:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:36:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRfk-0000dY-UZ; Thu, 10 May 2012 11:36:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSRfj-0000dR-T2
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:36:40 +0000
Received: from [85.158.143.35:35284] by server-3.bemta-4.messagelabs.com id
	85/0B-05853-748ABAF4; Thu, 10 May 2012 11:36:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336649797!10374559!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15900 invoked from network); 10 May 2012 11:36:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:36:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330905600"; d="scan'208";a="12403587"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:36:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:36:35 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSRff-0006lJ-Is; Thu, 10 May 2012 11:36:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSRff-0004qA-Ho;
	Thu, 10 May 2012 12:36:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.43075.534483.485017@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 12:36:35 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4FAA83A8.8070804@eu.citrix.com>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> On 09/05/12 14:43, Ian Campbell wrote:
> > On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> >> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
> > Why strncmp and not just strcmp? And why 20? AFAIK
> > strlen("/usr/bin/pygrub") == 15 or 16 or so...
>
> ISTR in the past build processes throwing warnings that strcmp() is 
> unsafe, and since warnings turn to errors, pre-emptively used the "safe" 
> version instead.

Boggle.  Any such build processes need to be taken out and shot.
There is nothing wrong with strcmp.  Are you sure you're not thinking
of strcat or sprintf ?

>  Let me give it a try; it should be perfectly safe for 
> us, and will remove the issue with manually syncronizing string with its 
> size.

Right, yes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:38:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:38:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRhV-0000ie-E6; Thu, 10 May 2012 11:38:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSRhU-0000iY-KK
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:38:28 +0000
Received: from [85.158.143.35:43213] by server-3.bemta-4.messagelabs.com id
	AE/5E-05853-3B8ABAF4; Thu, 10 May 2012 11:38:27 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336649903!14765785!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28375 invoked from network); 10 May 2012 11:38:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:38:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="25058969"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:38:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:38:22 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSRhO-000483-Dp;
	Thu, 10 May 2012 12:38:22 +0100
Message-ID: <4FABA867.2050000@eu.citrix.com>
Date: Thu, 10 May 2012 12:37:11 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
In-Reply-To: <20395.43075.534483.485017@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 12:36, Ian Jackson wrote:
> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
>> On 09/05/12 14:43, Ian Campbell wrote:
>>> On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
>>>> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
>>> Why strncmp and not just strcmp? And why 20? AFAIK
>>> strlen("/usr/bin/pygrub") == 15 or 16 or so...
>> ISTR in the past build processes throwing warnings that strcmp() is
>> unsafe, and since warnings turn to errors, pre-emptively used the "safe"
>> version instead.
> Boggle.  Any such build processes need to be taken out and shot.
> There is nothing wrong with strcmp.  Are you sure you're not thinking
> of strcat or sprintf ?
Perhaps, or strcpy.  At any rate, it compiles just fine with strcmp(), 
so I'll include that in the next post.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:38:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:38:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRhV-0000ie-E6; Thu, 10 May 2012 11:38:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSRhU-0000iY-KK
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:38:28 +0000
Received: from [85.158.143.35:43213] by server-3.bemta-4.messagelabs.com id
	AE/5E-05853-3B8ABAF4; Thu, 10 May 2012 11:38:27 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336649903!14765785!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28375 invoked from network); 10 May 2012 11:38:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:38:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="25058969"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:38:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:38:22 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSRhO-000483-Dp;
	Thu, 10 May 2012 12:38:22 +0100
Message-ID: <4FABA867.2050000@eu.citrix.com>
Date: Thu, 10 May 2012 12:37:11 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
In-Reply-To: <20395.43075.534483.485017@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 12:36, Ian Jackson wrote:
> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
>> On 09/05/12 14:43, Ian Campbell wrote:
>>> On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
>>>> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
>>> Why strncmp and not just strcmp? And why 20? AFAIK
>>> strlen("/usr/bin/pygrub") == 15 or 16 or so...
>> ISTR in the past build processes throwing warnings that strcmp() is
>> unsafe, and since warnings turn to errors, pre-emptively used the "safe"
>> version instead.
> Boggle.  Any such build processes need to be taken out and shot.
> There is nothing wrong with strcmp.  Are you sure you're not thinking
> of strcat or sprintf ?
Perhaps, or strcpy.  At any rate, it compiles just fine with strcmp(), 
so I'll include that in the next post.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:44:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRnA-0000vC-71; Thu, 10 May 2012 11:44:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSRn8-0000v7-IS
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:44:18 +0000
Received: from [85.158.143.99:20982] by server-1.bemta-4.messagelabs.com id
	64/C4-20925-11AABAF4; Thu, 10 May 2012 11:44:17 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336650256!27375238!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12452 invoked from network); 10 May 2012 11:44:17 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 11:44:17 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSRn4-000LIT-5u; Thu, 10 May 2012 11:44:14 +0000
Date: Thu, 10 May 2012 12:44:14 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120510114414.GC73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20395.43075.534483.485017@mariner.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
	/usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> > On 09/05/12 14:43, Ian Campbell wrote:
> > > On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> > >> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
> > > Why strncmp and not just strcmp? And why 20? AFAIK
> > > strlen("/usr/bin/pygrub") == 15 or 16 or so...
> >
> > ISTR in the past build processes throwing warnings that strcmp() is 
> > unsafe, and since warnings turn to errors, pre-emptively used the "safe" 
> > version instead.
> 
> Boggle.  Any such build processes need to be taken out and shot.
> There is nothing wrong with strcmp.  Are you sure you're not thinking
> of strcat or sprintf ?

If the user controlled both the length and contents of
info->u.pv.bootloader, it could cause this to overrun that buffer and
cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
for many people.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:44:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRnA-0000vC-71; Thu, 10 May 2012 11:44:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSRn8-0000v7-IS
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:44:18 +0000
Received: from [85.158.143.99:20982] by server-1.bemta-4.messagelabs.com id
	64/C4-20925-11AABAF4; Thu, 10 May 2012 11:44:17 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336650256!27375238!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12452 invoked from network); 10 May 2012 11:44:17 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 11:44:17 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSRn4-000LIT-5u; Thu, 10 May 2012 11:44:14 +0000
Date: Thu, 10 May 2012 12:44:14 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120510114414.GC73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20395.43075.534483.485017@mariner.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
	/usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> > On 09/05/12 14:43, Ian Campbell wrote:
> > > On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
> > >> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
> > > Why strncmp and not just strcmp? And why 20? AFAIK
> > > strlen("/usr/bin/pygrub") == 15 or 16 or so...
> >
> > ISTR in the past build processes throwing warnings that strcmp() is 
> > unsafe, and since warnings turn to errors, pre-emptively used the "safe" 
> > version instead.
> 
> Boggle.  Any such build processes need to be taken out and shot.
> There is nothing wrong with strcmp.  Are you sure you're not thinking
> of strcat or sprintf ?

If the user controlled both the length and contents of
info->u.pv.bootloader, it could cause this to overrun that buffer and
cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
for many people.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:48:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:48:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRrR-00012o-TK; Thu, 10 May 2012 11:48:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSRrQ-00012g-8n
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:48:44 +0000
Received: from [85.158.143.35:39793] by server-1.bemta-4.messagelabs.com id
	87/FA-20925-B1BABAF4; Thu, 10 May 2012 11:48:43 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336650517!11612786!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4928 invoked from network); 10 May 2012 11:48:38 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:48:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194236760"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:48:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:48:36 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSRrH-0004IV-MI;
	Thu, 10 May 2012 12:48:35 +0100
Message-ID: <4FABAACC.9000301@eu.citrix.com>
Date: Thu, 10 May 2012 12:47:24 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Tim Deegan <tim@xen.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
In-Reply-To: <20120510114414.GC73773@ocelot.phlegethon.org>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 12:44, Tim Deegan wrote:
> At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
>> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
>>> On 09/05/12 14:43, Ian Campbell wrote:
>>>> On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
>>>>> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
>>>> Why strncmp and not just strcmp? And why 20? AFAIK
>>>> strlen("/usr/bin/pygrub") == 15 or 16 or so...
>>> ISTR in the past build processes throwing warnings that strcmp() is
>>> unsafe, and since warnings turn to errors, pre-emptively used the "safe"
>>> version instead.
>> Boggle.  Any such build processes need to be taken out and shot.
>> There is nothing wrong with strcmp.  Are you sure you're not thinking
>> of strcat or sprintf ?
> If the user controlled both the length and contents of
> info->u.pv.bootloader, it could cause this to overrun that buffer and
> cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> for many people.
Hmm, yes, I suppose it's *technically* possible that even when comparing 
to a static string, if info->u.pv.bootloader contains a short, 
non-null-terminated string, and were close to the edge of a page, it 
could cause a SEGV.  But using strncmp wouldn't solve that, would it?

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:48:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:48:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSRrR-00012o-TK; Thu, 10 May 2012 11:48:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSRrQ-00012g-8n
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:48:44 +0000
Received: from [85.158.143.35:39793] by server-1.bemta-4.messagelabs.com id
	87/FA-20925-B1BABAF4; Thu, 10 May 2012 11:48:43 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336650517!11612786!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4928 invoked from network); 10 May 2012 11:48:38 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:48:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,564,1330923600"; d="scan'208";a="194236760"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 07:48:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 07:48:36 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSRrH-0004IV-MI;
	Thu, 10 May 2012 12:48:35 +0100
Message-ID: <4FABAACC.9000301@eu.citrix.com>
Date: Thu, 10 May 2012 12:47:24 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Tim Deegan <tim@xen.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
In-Reply-To: <20120510114414.GC73773@ocelot.phlegethon.org>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 12:44, Tim Deegan wrote:
> At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
>> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
>>> On 09/05/12 14:43, Ian Campbell wrote:
>>>> On Wed, 2012-05-09 at 11:51 +0100, George Dunlap wrote:
>>>>> +    if ( !strncmp(info->u.pv.bootloader, "/usr/bin/pygrub", 20) )
>>>> Why strncmp and not just strcmp? And why 20? AFAIK
>>>> strlen("/usr/bin/pygrub") == 15 or 16 or so...
>>> ISTR in the past build processes throwing warnings that strcmp() is
>>> unsafe, and since warnings turn to errors, pre-emptively used the "safe"
>>> version instead.
>> Boggle.  Any such build processes need to be taken out and shot.
>> There is nothing wrong with strcmp.  Are you sure you're not thinking
>> of strcat or sprintf ?
> If the user controlled both the length and contents of
> info->u.pv.bootloader, it could cause this to overrun that buffer and
> cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> for many people.
Hmm, yes, I suppose it's *technically* possible that even when comparing 
to a static string, if info->u.pv.bootloader contains a short, 
non-null-terminated string, and were close to the edge of a page, it 
could cause a SEGV.  But using strncmp wouldn't solve that, would it?

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:58:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSS0q-0001Ef-0X; Thu, 10 May 2012 11:58:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSS0o-0001Ea-9j
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:58:26 +0000
Received: from [85.158.143.99:40763] by server-2.bemta-4.messagelabs.com id
	E6/5A-17550-16DABAF4; Thu, 10 May 2012 11:58:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336651103!22036758!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21079 invoked from network); 10 May 2012 11:58:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:58:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12404070"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:58:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:58:22 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSS0k-0006th-AU;
	Thu, 10 May 2012 11:58:22 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSS0k-00078S-9Z;
	Thu, 10 May 2012 12:58:22 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12828-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 12:58:22 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12828 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386                    4 xen-build                 fail REGR. vs. 12827
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12827
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12827
 build-amd64                   4 xen-build                 fail REGR. vs. 12827

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  27d63b9f111a
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  fail    
 build-i386                                                   fail    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 11:58:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 11:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSS0q-0001Ef-0X; Thu, 10 May 2012 11:58:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSS0o-0001Ea-9j
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 11:58:26 +0000
Received: from [85.158.143.99:40763] by server-2.bemta-4.messagelabs.com id
	E6/5A-17550-16DABAF4; Thu, 10 May 2012 11:58:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336651103!22036758!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21079 invoked from network); 10 May 2012 11:58:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 11:58:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12404070"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:58:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 12:58:22 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSS0k-0006th-AU;
	Thu, 10 May 2012 11:58:22 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSS0k-00078S-9Z;
	Thu, 10 May 2012 12:58:22 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12828-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 12:58:22 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12828 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386                    4 xen-build                 fail REGR. vs. 12827
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12827
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12827
 build-amd64                   4 xen-build                 fail REGR. vs. 12827

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  27d63b9f111a
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  fail    
 build-i386                                                   fail    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:03:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:03:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSS5Q-0001WR-Dk; Thu, 10 May 2012 12:03:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSS5N-0001WG-Sg
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:03:10 +0000
Received: from [85.158.138.51:20450] by server-10.bemta-3.messagelabs.com id
	C2/F4-29478-C7EABAF4; Thu, 10 May 2012 12:03:08 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336651387!7626491!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10150 invoked from network); 10 May 2012 12:03:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:03:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12404177"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 12:03:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 13:03:07 +0100
Message-ID: <1336651386.7098.113.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 13:03:06 +0100
In-Reply-To: <CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
	<CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Eric Chanudet <eric.chanudet@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 10:58 +0100, Jean Guyader wrote:
> @@ -158,7 +160,7 @@ static void buffer_append(struct domain *dom)
>         if ((size == 0) || (size > sizeof(intf->out)))
>                 return;
>  
> -       if ((buffer->capacity - buffer->size) < size) {
> +       if ((buffer->capacity - buffer->size) < size + 1) {

What's this?

>                 buffer->capacity += (size + 1024);
>                 buffer->data = realloc(buffer->data,
> buffer->capacity);
>                 if (buffer->data == NULL) {
> @@ -166,10 +168,31 @@ static void buffer_append(struct domain *dom)
>                         exit(ENOMEM);
>                 }
>         }
> +       slbuf.capacity = buffer->capacity;
> +       slbuf.max_capacity = buffer->max_capacity;
> +       slbuf.data = malloc(slbuf.capacity);
> +       if (!slbuf.data) {
> +               dolog(LOG_ERR, "Memory allocation failed");
> +               exit(ENOMEM);
> +       }
>  
> -       while (cons != prod)
> -               buffer->data[buffer->size++] = intf->out[
> -                       MASK_XENCONS_IDX(cons++, intf->out)];
> +       for (; cons != prod; ++cons) {
> +               char ch = intf->out[MASK_XENCONS_IDX(cons,
> intf->out)];
> +               slbuf.data[slbuf.size++] = ch;
> +               buffer->data[buffer->size++] = ch;
> +               if  (ch == '\r' || ch == '\n') {
> +                       slbuf.data[slbuf.size - 1] = '\0';
> +                       ++cons;
> +                       if (cons != prod) {
> +                               ch = intf->out[MASK_XENCONS_IDX(cons
> ++, intf->out)];
> +                               buffer->data[buffer->size++] = ch;
> +                               if (ch != '\r' && ch != '\n') {
> +                                       slbuf.data[slbuf.size++] = ch;
> +                               }
> +                       }

This is chomping \r\n or \n\r into a \0 for the syslog buffer only?

It's a bit fiddly, worth a comment I would say..

> +                       break;
> +               }
> +       }
>  
>         xen_mb();
>         intf->out_cons = cons;
> @@ -196,6 +219,9 @@ static void buffer_append(struct domain *dom)
>                         dolog(LOG_ERR, "Write to log failed "
>                               "on domain %d: %d (%s)\n",
>                               dom->domid, errno, strerror(errno));
> +       } else {
> +               /* Falls back to syslog is the domain doesn't have a
> log file */

Isn't that the same as logging to syslog by default? Shouldn't there be
a check for if (use_syslog) in here somewhere?

> +               syslog(LOG_INFO, "%s (%i): %s", dom->name, dom->domid,
> slbuf.data);
>         }
>  
>         if (discard_overflowed_data && buffer->max_capacity &&
> @@ -219,6 +245,7 @@ static void buffer_append(struct domain *dom)
>                         buffer->size = buffer->max_capacity / 2 +
> over;
>                 }
>         }
> +       free(slbuf.data);
>  }
>  
>  static bool buffer_empty(struct buffer *buffer)
> @@ -255,6 +282,10 @@ static int create_hv_log(void)
>  {
>         char logfile[PATH_MAX];
>         int fd;
> +
> +       if (!log_dir)
> +               return -1;
> +
>         snprintf(logfile, PATH_MAX-1, "%s/hypervisor.log", log_dir);
>         logfile[PATH_MAX-1] = '\0';
>  
> @@ -275,32 +306,56 @@ static int create_hv_log(void)
>         return fd;
>  }
>  
> +static char *safe_xs_read(const char *key, int tries)
> +{
> +       char *data = NULL;
> +       unsigned int len;
> +       struct timespec req = { .tv_sec = 0, .tv_nsec =
> 100000000 }; /* 100 ms */
> +       int i;
> +
> +       for (i = 0; i < tries; i++) {
> +               data = xs_read(xs, XBT_NULL, key, &len);
> +               if (data && len > 0)
> +                       break;
> +               free(data);
> +               nanosleep(&req, NULL);
> +       }
> +       return data;
> +}
> +
> +static char *name_from_dompath(const char *path)
> +{
> +       char namepath[64] = { 0 }, *name;

I suppose 64 is enough, but you could use strlen + N here...

> +       strncat( namepath, path , sizeof(namepath) );
> +       strncat( namepath, "/name", sizeof(namepath) -
> strlen(namepath) );
> +
> +       name = safe_xs_read(namepath, 1);
> +       /* without any name after 100 tries, just default to unnamed
> */

Does this ever happen in practice? What sort of failure mode does it
indicate?

You do this for both the logfile and the sysfs name, so I guess this is
strictly speaking an unrelated fix?

> +       if (!name)
> +               name = strdup("unnamed");
> +       return name;
> +}
> +
>  static int create_domain_log(struct domain *dom)
>  {
>         char logfile[PATH_MAX];
> -       char *namepath, *data, *s;
> +       char *namepath;
>         int fd;
> -       unsigned int len;
>  
>         namepath = xs_get_domain_path(xs, dom->domid);
> -       s = realloc(namepath, strlen(namepath) + 6);
> -       if (s == NULL) {
> +       if (namepath == NULL) {
>                 free(namepath);
>                 return -1;
>         }
> -       namepath = s;
> -       strcat(namepath, "/name");
> -       data = xs_read(xs, XBT_NULL, namepath, &len);
> +       dom->name = name_from_dompath(namepath);
>         free(namepath);
> -       if (!data)
> +       if (!dom->name) {
>                 return -1;
> -       if (!len) {
> -               free(data);
> +       }
> +       if (!log_dir) {
>                 return -1;
>         }
> -
> -       snprintf(logfile, PATH_MAX-1, "%s/guest-%s.log", log_dir,
> data);
> -       free(data);
> +       snprintf(logfile, PATH_MAX - 1, "%s/%s.log", log_dir,
> dom->name);

Have you just changed the name of the logfile or does the "guest-"
prefix come from somewhere else?

I think the guest namespace is important to avoid clobbering the
hypervisor.log (ok, so naming a guest "hypervisor" is dumb, but still).

More plausibly someone could name a domain "smtp" which would be
confusing when seen in syslog next to the dom0 MTA logging, perhaps.

>         logfile[PATH_MAX-1] = '\0';
>  
>         fd = open(logfile, O_WRONLY|O_CREAT|O_APPEND, 0644);
> @@ -878,7 +939,10 @@ static void handle_xs(void)
>  
>  static void handle_hv_logs(void)
>  {
> -       char buffer[1024*16];
> +       char buffer[1024*16 + 1];
> +       static char lbuf[1024*16 + 1];
> +       static int loff = 0;
> +       int i = 0;
>         char *bufptr = buffer;
>         unsigned int size = sizeof(buffer);
>         static uint32_t index = 0;
> @@ -888,17 +952,36 @@ static void handle_hv_logs(void)
>                 return;
>  
>         if (xc_readconsolering(xch, bufptr, &size, 0, 1, &index) == 0
> && size > 0) {
> -               int logret;
> -               if (log_time_hv)
> -                       logret = write_with_timestamp(log_hv_fd,
> buffer, size,
> -
> &log_time_hv_needts);
> -               else
> -                       logret = write_all(log_hv_fd, buffer, size);
> -
> -               if (logret < 0)
> -                       dolog(LOG_ERR, "Failed to write hypervisor
> log: "
> -                                      "%d (%s)", errno,
> strerror(errno));
> -       }
> +               if (log_hv_fd != -1) {
> +                       int logret;
> +                       if (log_time_hv)
> +                               logret =
> write_with_timestamp(log_hv_fd, buffer, size,
> +
> &log_time_hv_needts);
> +                       else
> +                               logret = write_all(log_hv_fd, buffer,
> size);
> +
> +                       if (logret < 0)
> +                               dolog(LOG_ERR, "Failed to write
> hypervisor log: "
> +                                              "%d (%s)", errno,
> strerror(errno));
> +               } else {
> +                       while (i < size) {
> +                               while ((i < size) &&
> +                                      (buffer[i] != '\n') &&
> (buffer[i] != '\r')) {
> +                                       lbuf[loff++] = buffer[i++];
> +                               }
> +                               if ((buffer[i] == '\n') || (buffer[i]
> == '\r')) {

Is this now the second time we have done this \n\r conversion?

FWIW this seems like the better location for it to me, since it made the
code at the other location hard to follow whereas it looks more natural
to skip char here.

Also, can't you do this inplace in buffer[] and therefore avoid copying
all the bytes plus the overhead of a second buffer?

And could you also avoid the whole separate "struct buffer slbuf"? The
need for that did make me pause earlier...

> +                                       lbuf[loff] = '\0';
> +                                       ++i;
> +                                       if ((i < size) &&
> +                                           ((buffer[i] == '\n') ||
> (buffer[i] == '\r'))) {
> +                                               ++i;
> +                                       }
> +                                       syslog(LOG_INFO, "hypervisor:
> %s", lbuf);
> +                                       loff = 0;
> +                               }
> +                       }
> +               }
> +        }
>  
>         (void)xc_evtchn_unmask(xce_handle, port);
>  }
> @@ -940,8 +1023,6 @@ void handle_io(void)
>                         goto out;
>                 }
>                 log_hv_fd = create_hv_log();
> -               if (log_hv_fd == -1)
> -                       goto out;
>                 log_hv_evtchn = xc_evtchn_bind_virq(xce_handle,
> VIRQ_CON_RING);
>                 if (log_hv_evtchn == -1) {
>                         dolog(LOG_ERR, "Failed to bind to
> VIRQ_CON_RING: "
> diff --git a/tools/console/daemon/main.c b/tools/console/daemon/main.c



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:03:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:03:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSS5Q-0001WR-Dk; Thu, 10 May 2012 12:03:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSS5N-0001WG-Sg
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:03:10 +0000
Received: from [85.158.138.51:20450] by server-10.bemta-3.messagelabs.com id
	C2/F4-29478-C7EABAF4; Thu, 10 May 2012 12:03:08 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336651387!7626491!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10150 invoked from network); 10 May 2012 12:03:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:03:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12404177"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 12:03:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 13:03:07 +0100
Message-ID: <1336651386.7098.113.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 13:03:06 +0100
In-Reply-To: <CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
	<CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Eric Chanudet <eric.chanudet@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 10:58 +0100, Jean Guyader wrote:
> @@ -158,7 +160,7 @@ static void buffer_append(struct domain *dom)
>         if ((size == 0) || (size > sizeof(intf->out)))
>                 return;
>  
> -       if ((buffer->capacity - buffer->size) < size) {
> +       if ((buffer->capacity - buffer->size) < size + 1) {

What's this?

>                 buffer->capacity += (size + 1024);
>                 buffer->data = realloc(buffer->data,
> buffer->capacity);
>                 if (buffer->data == NULL) {
> @@ -166,10 +168,31 @@ static void buffer_append(struct domain *dom)
>                         exit(ENOMEM);
>                 }
>         }
> +       slbuf.capacity = buffer->capacity;
> +       slbuf.max_capacity = buffer->max_capacity;
> +       slbuf.data = malloc(slbuf.capacity);
> +       if (!slbuf.data) {
> +               dolog(LOG_ERR, "Memory allocation failed");
> +               exit(ENOMEM);
> +       }
>  
> -       while (cons != prod)
> -               buffer->data[buffer->size++] = intf->out[
> -                       MASK_XENCONS_IDX(cons++, intf->out)];
> +       for (; cons != prod; ++cons) {
> +               char ch = intf->out[MASK_XENCONS_IDX(cons,
> intf->out)];
> +               slbuf.data[slbuf.size++] = ch;
> +               buffer->data[buffer->size++] = ch;
> +               if  (ch == '\r' || ch == '\n') {
> +                       slbuf.data[slbuf.size - 1] = '\0';
> +                       ++cons;
> +                       if (cons != prod) {
> +                               ch = intf->out[MASK_XENCONS_IDX(cons
> ++, intf->out)];
> +                               buffer->data[buffer->size++] = ch;
> +                               if (ch != '\r' && ch != '\n') {
> +                                       slbuf.data[slbuf.size++] = ch;
> +                               }
> +                       }

This is chomping \r\n or \n\r into a \0 for the syslog buffer only?

It's a bit fiddly, worth a comment I would say..

> +                       break;
> +               }
> +       }
>  
>         xen_mb();
>         intf->out_cons = cons;
> @@ -196,6 +219,9 @@ static void buffer_append(struct domain *dom)
>                         dolog(LOG_ERR, "Write to log failed "
>                               "on domain %d: %d (%s)\n",
>                               dom->domid, errno, strerror(errno));
> +       } else {
> +               /* Falls back to syslog is the domain doesn't have a
> log file */

Isn't that the same as logging to syslog by default? Shouldn't there be
a check for if (use_syslog) in here somewhere?

> +               syslog(LOG_INFO, "%s (%i): %s", dom->name, dom->domid,
> slbuf.data);
>         }
>  
>         if (discard_overflowed_data && buffer->max_capacity &&
> @@ -219,6 +245,7 @@ static void buffer_append(struct domain *dom)
>                         buffer->size = buffer->max_capacity / 2 +
> over;
>                 }
>         }
> +       free(slbuf.data);
>  }
>  
>  static bool buffer_empty(struct buffer *buffer)
> @@ -255,6 +282,10 @@ static int create_hv_log(void)
>  {
>         char logfile[PATH_MAX];
>         int fd;
> +
> +       if (!log_dir)
> +               return -1;
> +
>         snprintf(logfile, PATH_MAX-1, "%s/hypervisor.log", log_dir);
>         logfile[PATH_MAX-1] = '\0';
>  
> @@ -275,32 +306,56 @@ static int create_hv_log(void)
>         return fd;
>  }
>  
> +static char *safe_xs_read(const char *key, int tries)
> +{
> +       char *data = NULL;
> +       unsigned int len;
> +       struct timespec req = { .tv_sec = 0, .tv_nsec =
> 100000000 }; /* 100 ms */
> +       int i;
> +
> +       for (i = 0; i < tries; i++) {
> +               data = xs_read(xs, XBT_NULL, key, &len);
> +               if (data && len > 0)
> +                       break;
> +               free(data);
> +               nanosleep(&req, NULL);
> +       }
> +       return data;
> +}
> +
> +static char *name_from_dompath(const char *path)
> +{
> +       char namepath[64] = { 0 }, *name;

I suppose 64 is enough, but you could use strlen + N here...

> +       strncat( namepath, path , sizeof(namepath) );
> +       strncat( namepath, "/name", sizeof(namepath) -
> strlen(namepath) );
> +
> +       name = safe_xs_read(namepath, 1);
> +       /* without any name after 100 tries, just default to unnamed
> */

Does this ever happen in practice? What sort of failure mode does it
indicate?

You do this for both the logfile and the sysfs name, so I guess this is
strictly speaking an unrelated fix?

> +       if (!name)
> +               name = strdup("unnamed");
> +       return name;
> +}
> +
>  static int create_domain_log(struct domain *dom)
>  {
>         char logfile[PATH_MAX];
> -       char *namepath, *data, *s;
> +       char *namepath;
>         int fd;
> -       unsigned int len;
>  
>         namepath = xs_get_domain_path(xs, dom->domid);
> -       s = realloc(namepath, strlen(namepath) + 6);
> -       if (s == NULL) {
> +       if (namepath == NULL) {
>                 free(namepath);
>                 return -1;
>         }
> -       namepath = s;
> -       strcat(namepath, "/name");
> -       data = xs_read(xs, XBT_NULL, namepath, &len);
> +       dom->name = name_from_dompath(namepath);
>         free(namepath);
> -       if (!data)
> +       if (!dom->name) {
>                 return -1;
> -       if (!len) {
> -               free(data);
> +       }
> +       if (!log_dir) {
>                 return -1;
>         }
> -
> -       snprintf(logfile, PATH_MAX-1, "%s/guest-%s.log", log_dir,
> data);
> -       free(data);
> +       snprintf(logfile, PATH_MAX - 1, "%s/%s.log", log_dir,
> dom->name);

Have you just changed the name of the logfile or does the "guest-"
prefix come from somewhere else?

I think the guest namespace is important to avoid clobbering the
hypervisor.log (ok, so naming a guest "hypervisor" is dumb, but still).

More plausibly someone could name a domain "smtp" which would be
confusing when seen in syslog next to the dom0 MTA logging, perhaps.

>         logfile[PATH_MAX-1] = '\0';
>  
>         fd = open(logfile, O_WRONLY|O_CREAT|O_APPEND, 0644);
> @@ -878,7 +939,10 @@ static void handle_xs(void)
>  
>  static void handle_hv_logs(void)
>  {
> -       char buffer[1024*16];
> +       char buffer[1024*16 + 1];
> +       static char lbuf[1024*16 + 1];
> +       static int loff = 0;
> +       int i = 0;
>         char *bufptr = buffer;
>         unsigned int size = sizeof(buffer);
>         static uint32_t index = 0;
> @@ -888,17 +952,36 @@ static void handle_hv_logs(void)
>                 return;
>  
>         if (xc_readconsolering(xch, bufptr, &size, 0, 1, &index) == 0
> && size > 0) {
> -               int logret;
> -               if (log_time_hv)
> -                       logret = write_with_timestamp(log_hv_fd,
> buffer, size,
> -
> &log_time_hv_needts);
> -               else
> -                       logret = write_all(log_hv_fd, buffer, size);
> -
> -               if (logret < 0)
> -                       dolog(LOG_ERR, "Failed to write hypervisor
> log: "
> -                                      "%d (%s)", errno,
> strerror(errno));
> -       }
> +               if (log_hv_fd != -1) {
> +                       int logret;
> +                       if (log_time_hv)
> +                               logret =
> write_with_timestamp(log_hv_fd, buffer, size,
> +
> &log_time_hv_needts);
> +                       else
> +                               logret = write_all(log_hv_fd, buffer,
> size);
> +
> +                       if (logret < 0)
> +                               dolog(LOG_ERR, "Failed to write
> hypervisor log: "
> +                                              "%d (%s)", errno,
> strerror(errno));
> +               } else {
> +                       while (i < size) {
> +                               while ((i < size) &&
> +                                      (buffer[i] != '\n') &&
> (buffer[i] != '\r')) {
> +                                       lbuf[loff++] = buffer[i++];
> +                               }
> +                               if ((buffer[i] == '\n') || (buffer[i]
> == '\r')) {

Is this now the second time we have done this \n\r conversion?

FWIW this seems like the better location for it to me, since it made the
code at the other location hard to follow whereas it looks more natural
to skip char here.

Also, can't you do this inplace in buffer[] and therefore avoid copying
all the bytes plus the overhead of a second buffer?

And could you also avoid the whole separate "struct buffer slbuf"? The
need for that did make me pause earlier...

> +                                       lbuf[loff] = '\0';
> +                                       ++i;
> +                                       if ((i < size) &&
> +                                           ((buffer[i] == '\n') ||
> (buffer[i] == '\r'))) {
> +                                               ++i;
> +                                       }
> +                                       syslog(LOG_INFO, "hypervisor:
> %s", lbuf);
> +                                       loff = 0;
> +                               }
> +                       }
> +               }
> +        }
>  
>         (void)xc_evtchn_unmask(xce_handle, port);
>  }
> @@ -940,8 +1023,6 @@ void handle_io(void)
>                         goto out;
>                 }
>                 log_hv_fd = create_hv_log();
> -               if (log_hv_fd == -1)
> -                       goto out;
>                 log_hv_evtchn = xc_evtchn_bind_virq(xce_handle,
> VIRQ_CON_RING);
>                 if (log_hv_evtchn == -1) {
>                         dolog(LOG_ERR, "Failed to bind to
> VIRQ_CON_RING: "
> diff --git a/tools/console/daemon/main.c b/tools/console/daemon/main.c



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:10:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSCD-0001ja-Bp; Thu, 10 May 2012 12:10:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSSCC-0001jS-7b
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 12:10:12 +0000
Received: from [85.158.143.99:6452] by server-2.bemta-4.messagelabs.com id
	E2/CD-17550-320BBAF4; Thu, 10 May 2012 12:10:11 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336651809!16158630!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8743 invoked from network); 10 May 2012 12:10:10 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 12:10:10 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSSC7-000Lbz-GC; Thu, 10 May 2012 12:10:07 +0000
Date: Thu, 10 May 2012 13:10:07 +0100
From: Tim Deegan <tim@xen.org>
To: George Dunlap <george.dunlap@eu.citrix.com>
Message-ID: <20120510121007.GD73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
	<4FABAACC.9000301@eu.citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FABAACC.9000301@eu.citrix.com>
User-Agent: Mutt/1.4.2.1i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
	/usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 12:47 +0100 on 10 May (1336654044), George Dunlap wrote:
> On 10/05/12 12:44, Tim Deegan wrote:
> >If the user controlled both the length and contents of
> >info->u.pv.bootloader, it could cause this to overrun that buffer and
> >cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> >for many people.
> 
> Hmm, yes, I suppose it's *technically* possible that even when comparing 
> to a static string, if info->u.pv.bootloader contains a short, 
> non-null-terminated string, and were close to the edge of a page, it 
> could cause a SEGV.  But using strncmp wouldn't solve that, would it?

Yes - you give it the length of the info->u.pv.bootloader buffer and it
guards against from exactly this problem.  That's assuming you allocated
it yourself and filled it with user-supplied bytes.  If the user
supplied the buffer, of course, you're forced to trust them and
strncmp() doesn't buy you anything.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:10:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSCD-0001ja-Bp; Thu, 10 May 2012 12:10:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSSCC-0001jS-7b
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 12:10:12 +0000
Received: from [85.158.143.99:6452] by server-2.bemta-4.messagelabs.com id
	E2/CD-17550-320BBAF4; Thu, 10 May 2012 12:10:11 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336651809!16158630!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8743 invoked from network); 10 May 2012 12:10:10 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 12:10:10 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSSC7-000Lbz-GC; Thu, 10 May 2012 12:10:07 +0000
Date: Thu, 10 May 2012 13:10:07 +0100
From: Tim Deegan <tim@xen.org>
To: George Dunlap <george.dunlap@eu.citrix.com>
Message-ID: <20120510121007.GD73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
	<4FABAACC.9000301@eu.citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FABAACC.9000301@eu.citrix.com>
User-Agent: Mutt/1.4.2.1i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
	/usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 12:47 +0100 on 10 May (1336654044), George Dunlap wrote:
> On 10/05/12 12:44, Tim Deegan wrote:
> >If the user controlled both the length and contents of
> >info->u.pv.bootloader, it could cause this to overrun that buffer and
> >cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> >for many people.
> 
> Hmm, yes, I suppose it's *technically* possible that even when comparing 
> to a static string, if info->u.pv.bootloader contains a short, 
> non-null-terminated string, and were close to the edge of a page, it 
> could cause a SEGV.  But using strncmp wouldn't solve that, would it?

Yes - you give it the length of the info->u.pv.bootloader buffer and it
guards against from exactly this problem.  That's assuming you allocated
it yourself and filled it with user-supplied bytes.  If the user
supplied the buffer, of course, you're forced to trust them and
strncmp() doesn't buy you anything.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:19:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSKw-0001sv-CD; Thu, 10 May 2012 12:19:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSKu-0001sk-HY
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:19:12 +0000
Received: from [193.109.254.147:48850] by server-12.bemta-14.messagelabs.com
	id BF/C5-05898-F32BBAF4; Thu, 10 May 2012 12:19:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336652349!1749703!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28723 invoked from network); 10 May 2012 12:19:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:19:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194240786"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:19:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:19:07 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSKp-0004n2-Eh;
	Thu, 10 May 2012 13:19:07 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:19:03 +0100
Message-ID: <1336652343-12279-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
References: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 2/2] libxl: fix indentation in libxl_dm.c for
	qemu
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fixed indentation on Qemu argument construction for network devices.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_dm.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 0d7524c..c0d7ca1 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -213,8 +213,10 @@ static char ** libxl__build_device_model_args_old(libxl__gc *gc,
                                                 domid, vifs[i].devid,
                                                 LIBXL_NIC_TYPE_IOEMU);
                 flexarray_vappend(dm_args,
-                                "-net", libxl__sprintf(gc, "nic,vlan=%d,macaddr=%s,model=%s",
-                                                       vifs[i].devid, smac, vifs[i].model),
+                                  "-net",
+                                  GCSPRINTF(
+                                      "nic,vlan=%d,macaddr=%s,model=%s",
+                                      vifs[i].devid, smac, vifs[i].model),
                                   "-net",
                                   GCSPRINTF(
                                       "tap,vlan=%d,ifname=%s,bridge=%s,"
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:19:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSKw-0001sv-CD; Thu, 10 May 2012 12:19:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSKu-0001sk-HY
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:19:12 +0000
Received: from [193.109.254.147:48850] by server-12.bemta-14.messagelabs.com
	id BF/C5-05898-F32BBAF4; Thu, 10 May 2012 12:19:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336652349!1749703!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28723 invoked from network); 10 May 2012 12:19:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:19:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194240786"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:19:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:19:07 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSKp-0004n2-Eh;
	Thu, 10 May 2012 13:19:07 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:19:03 +0100
Message-ID: <1336652343-12279-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
References: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 2/2] libxl: fix indentation in libxl_dm.c for
	qemu
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fixed indentation on Qemu argument construction for network devices.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_dm.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 0d7524c..c0d7ca1 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -213,8 +213,10 @@ static char ** libxl__build_device_model_args_old(libxl__gc *gc,
                                                 domid, vifs[i].devid,
                                                 LIBXL_NIC_TYPE_IOEMU);
                 flexarray_vappend(dm_args,
-                                "-net", libxl__sprintf(gc, "nic,vlan=%d,macaddr=%s,model=%s",
-                                                       vifs[i].devid, smac, vifs[i].model),
+                                  "-net",
+                                  GCSPRINTF(
+                                      "nic,vlan=%d,macaddr=%s,model=%s",
+                                      vifs[i].devid, smac, vifs[i].model),
                                   "-net",
                                   GCSPRINTF(
                                       "tap,vlan=%d,ifname=%s,bridge=%s,"
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:19:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSKw-0001t2-NJ; Thu, 10 May 2012 12:19:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSKv-0001sl-4E
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:19:13 +0000
Received: from [193.109.254.147:48910] by server-6.bemta-14.messagelabs.com id
	B5/31-04960-042BBAF4; Thu, 10 May 2012 12:19:12 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336652349!1749703!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28742 invoked from network); 10 May 2012 12:19:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:19:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194240787"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:19:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:19:07 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSKp-0004n2-E5;
	Thu, 10 May 2012 13:19:07 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:19:02 +0100
Message-ID: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 1/2] libxl: add "downscript=no" to Qemu call
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Currently we only pass script=no to Qemu, to avoid calling any scripts when
attaching a tap interface, but we should also pass downscript=no to avoid Qemu
trying to execute a script when disconnecting the interface. This prevents the
following harmless error message:

/etc/qemu-ifdown: could not launch network script

Changes since v2:

 * Remove non related indentation changes.

Changes since v1:

 * Indentation fixes.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_dm.c |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index ff5f8ad..0d7524c 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -215,9 +215,14 @@ static char ** libxl__build_device_model_args_old(libxl__gc *gc,
                 flexarray_vappend(dm_args,
                                 "-net", libxl__sprintf(gc, "nic,vlan=%d,macaddr=%s,model=%s",
                                                        vifs[i].devid, smac, vifs[i].model),
-                                "-net", libxl__sprintf(gc, "tap,vlan=%d,ifname=%s,bridge=%s,script=%s",
-                                                       vifs[i].devid, ifname, vifs[i].bridge, libxl_tapif_script(gc)),
-                                NULL);
+                                  "-net",
+                                  GCSPRINTF(
+                                      "tap,vlan=%d,ifname=%s,bridge=%s,"
+                                      "script=%s,downscript=%s",
+                                      vifs[i].devid, ifname, vifs[i].bridge,
+                                      libxl_tapif_script(gc),
+                                      libxl_tapif_script(gc)),
+                                  NULL);
                 ioemu_vifs++;
             }
         }
@@ -455,10 +460,12 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc,
                                                 vifs[i].model, vifs[i].devid,
                                                 vifs[i].devid, smac));
                 flexarray_append(dm_args, "-netdev");
-                flexarray_append(dm_args,
-                   libxl__sprintf(gc, "type=tap,id=net%d,ifname=%s,script=%s",
-                                                vifs[i].devid, ifname,
-                                                libxl_tapif_script(gc)));
+                flexarray_append(dm_args, GCSPRINTF(
+                                          "type=tap,id=net%d,ifname=%s,"
+                                          "script=%s,downscript=%s",
+                                          vifs[i].devid, ifname,
+                                          libxl_tapif_script(gc),
+                                          libxl_tapif_script(gc)));
                 ioemu_vifs++;
             }
         }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:19:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSKw-0001t2-NJ; Thu, 10 May 2012 12:19:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSKv-0001sl-4E
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:19:13 +0000
Received: from [193.109.254.147:48910] by server-6.bemta-14.messagelabs.com id
	B5/31-04960-042BBAF4; Thu, 10 May 2012 12:19:12 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336652349!1749703!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28742 invoked from network); 10 May 2012 12:19:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:19:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194240787"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:19:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:19:07 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSKp-0004n2-E5;
	Thu, 10 May 2012 13:19:07 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:19:02 +0100
Message-ID: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 1/2] libxl: add "downscript=no" to Qemu call
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Currently we only pass script=no to Qemu, to avoid calling any scripts when
attaching a tap interface, but we should also pass downscript=no to avoid Qemu
trying to execute a script when disconnecting the interface. This prevents the
following harmless error message:

/etc/qemu-ifdown: could not launch network script

Changes since v2:

 * Remove non related indentation changes.

Changes since v1:

 * Indentation fixes.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_dm.c |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index ff5f8ad..0d7524c 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -215,9 +215,14 @@ static char ** libxl__build_device_model_args_old(libxl__gc *gc,
                 flexarray_vappend(dm_args,
                                 "-net", libxl__sprintf(gc, "nic,vlan=%d,macaddr=%s,model=%s",
                                                        vifs[i].devid, smac, vifs[i].model),
-                                "-net", libxl__sprintf(gc, "tap,vlan=%d,ifname=%s,bridge=%s,script=%s",
-                                                       vifs[i].devid, ifname, vifs[i].bridge, libxl_tapif_script(gc)),
-                                NULL);
+                                  "-net",
+                                  GCSPRINTF(
+                                      "tap,vlan=%d,ifname=%s,bridge=%s,"
+                                      "script=%s,downscript=%s",
+                                      vifs[i].devid, ifname, vifs[i].bridge,
+                                      libxl_tapif_script(gc),
+                                      libxl_tapif_script(gc)),
+                                  NULL);
                 ioemu_vifs++;
             }
         }
@@ -455,10 +460,12 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc,
                                                 vifs[i].model, vifs[i].devid,
                                                 vifs[i].devid, smac));
                 flexarray_append(dm_args, "-netdev");
-                flexarray_append(dm_args,
-                   libxl__sprintf(gc, "type=tap,id=net%d,ifname=%s,script=%s",
-                                                vifs[i].devid, ifname,
-                                                libxl_tapif_script(gc)));
+                flexarray_append(dm_args, GCSPRINTF(
+                                          "type=tap,id=net%d,ifname=%s,"
+                                          "script=%s,downscript=%s",
+                                          vifs[i].devid, ifname,
+                                          libxl_tapif_script(gc),
+                                          libxl_tapif_script(gc)));
                 ioemu_vifs++;
             }
         }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:29:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:29:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSUG-0002PZ-8a; Thu, 10 May 2012 12:28:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSUE-0002PS-1I
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:28:50 +0000
Received: from [85.158.143.99:18974] by server-3.bemta-4.messagelabs.com id
	31/85-05853-184BBAF4; Thu, 10 May 2012 12:28:49 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336652925!22043002!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10296 invoked from network); 10 May 2012 12:28:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:28:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25060537"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:28:44 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:28:43 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSU7-0004vP-Cz;
	Thu, 10 May 2012 13:28:43 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:28:40 +0100
Message-ID: <1336652920-12358-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2] libxl: make libxl_device_{vkb,
	vfb}_add async operations.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add an ao parameter to both functions, since they may become slow in
the future.

Also move the functions to libxl_device.c, as done with disk and nic
add fuctions, so libxl_device_{vkb,vfb}_add are mere wrappers arround
libxl__device_{vkb,vfb}_add, that can be called from a running AO
operation. Quite a lot of code motion here also, and integration with
the new AO domain creation.

This should be applied after my "libxl: call hotplug scripts from
libxl for vif" series.

Changes since v1:

 * Everything as far as I can tell.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  148 +++++++-----------------------------------
 tools/libxl/libxl.h          |    6 +-
 tools/libxl/libxl_create.c   |  100 ++++++++++++++++++++++++++--
 tools/libxl/libxl_device.c   |  147 +++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |    4 +-
 tools/libxl/libxl_internal.h |   13 ++++-
 6 files changed, 281 insertions(+), 137 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 5a681b1..f50ecaf 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1962,69 +1962,25 @@ int libxl__device_vkb_setdefault(libxl__gc *gc, libxl_device_vkb *vkb)
     return 0;
 }
 
-static int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_vkb *vkb,
-                                  libxl__device *device)
-{
-    device->backend_devid = vkb->devid;
-    device->backend_domid = vkb->backend_domid;
-    device->backend_kind = LIBXL__DEVICE_KIND_VKBD;
-    device->devid = vkb->devid;
-    device->domid = domid;
-    device->kind = LIBXL__DEVICE_KIND_VKBD;
-
-    return 0;
-}
-
-int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
+int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
     int rc;
 
-    rc = libxl__device_vkb_setdefault(gc, vkb);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_vkb_add(egc, domid, vkb, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add vkb %d", vkb->devid);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out_free;
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "domain");
-    flexarray_append(back, libxl__domid_to_name(gc, domid));
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", vkb->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-    rc = 0;
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
@@ -2089,81 +2045,25 @@ int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
     return 0;
 }
 
-static int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_vfb *vfb,
-                                  libxl__device *device)
-{
-    device->backend_devid = vfb->devid;
-    device->backend_domid = vfb->backend_domid;
-    device->backend_kind = LIBXL__DEVICE_KIND_VFB;
-    device->devid = vfb->devid;
-    device->domid = domid;
-    device->kind = LIBXL__DEVICE_KIND_VFB;
-    return 0;
-}
-
-int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
+int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
     int rc;
 
-    rc = libxl__device_vfb_setdefault(gc, vfb);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_vfb_add(egc, domid, vfb, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add vfb %d", vfb->devid);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out_free;
-
-    flexarray_append_pair(back, "frontend-id", libxl__sprintf(gc, "%d", domid));
-    flexarray_append_pair(back, "online", "1");
-    flexarray_append_pair(back, "state", libxl__sprintf(gc, "%d", 1));
-    flexarray_append_pair(back, "domain", libxl__domid_to_name(gc, domid));
-    flexarray_append_pair(back, "vnc",
-                          libxl_defbool_val(vfb->vnc.enable) ? "1" : "0");
-    flexarray_append_pair(back, "vnclisten", vfb->vnc.listen);
-    flexarray_append_pair(back, "vncpasswd", vfb->vnc.passwd);
-    flexarray_append_pair(back, "vncdisplay",
-                          libxl__sprintf(gc, "%d", vfb->vnc.display));
-    flexarray_append_pair(back, "vncunused",
-                          libxl_defbool_val(vfb->vnc.findunused) ? "1" : "0");
-    flexarray_append_pair(back, "sdl",
-                          libxl_defbool_val(vfb->sdl.enable) ? "1" : "0");
-    flexarray_append_pair(back, "opengl",
-                          libxl_defbool_val(vfb->sdl.opengl) ? "1" : "0");
-    if (vfb->sdl.xauthority) {
-        flexarray_append_pair(back, "xauthority", vfb->sdl.xauthority);
-    }
-    if (vfb->sdl.display) {
-        flexarray_append_pair(back, "display", vfb->sdl.display);
-    }
-
-    flexarray_append_pair(front, "backend-id",
-                          libxl__sprintf(gc, "%d", vfb->backend_domid));
-    flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-    rc = 0;
-out_free:
-    flexarray_free(front);
-    flexarray_free(back);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 6689baf..0497175 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -700,14 +700,16 @@ int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
                               libxl_device_nic *nic, libxl_nicinfo *nicinfo);
 
 /* Keyboard */
-int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 
 /* Framebuffer */
-int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 69f4e4d..974ed89 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -602,6 +602,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 static void domcreate_disk_connected(libxl__egc *egc,
                                      libxl__ao_device *aorm);
 
+static void domcreate_misc_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_start_devmodel(libxl__egc *egc,
+                                     libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -775,7 +780,6 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     const uint32_t domid = dcs->guest_domid;
     libxl_domain_config *const d_config = dcs->guest_config;
     libxl__domain_build_state *const state = &dcs->build_state;
-    libxl_ctx *const ctx = CTX;
 
     ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
                                       dcs->num_devices, &last);
@@ -797,8 +801,8 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
-        libxl__device_console console;
         libxl_device_vkb vkb;
+        libxl__device_console console;
 
         ret = init_console_info(&console, 0);
         if ( ret )
@@ -806,10 +810,94 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
         libxl__device_console_add(gc, domid, &console, state);
         libxl__device_console_dispose(&console);
 
+        GCNEW_ARRAY(dcs->devices, 1);
+        dcs->num_devices = 1;
+        libxl__init_ao_device(&dcs->devices[0], ao, &dcs->devices);
+        dcs->devices[0].callback = domcreate_misc_connected;
         libxl_device_vkb_init(&vkb);
-        libxl_device_vkb_add(ctx, domid, &vkb);
+        libxl__device_vkb_add(egc, domid, &vkb, &dcs->devices[0]);
         libxl_device_vkb_dispose(&vkb);
 
+        return;
+    }
+    case LIBXL_DOMAIN_TYPE_PV:
+    {
+        GCNEW_ARRAY(dcs->devices, d_config->num_vfbs*2);
+        dcs->num_devices = d_config->num_vfbs*2;
+        for (i = 0; i < d_config->num_vfbs; i++) {
+            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+            dcs->devices[i].callback = domcreate_misc_connected;
+            libxl__init_ao_device(&dcs->devices[i+1], ao, &dcs->devices);
+            dcs->devices[i+1].callback = domcreate_misc_connected;
+            libxl__device_vfb_add(egc, domid, &d_config->vfbs[i],
+                                  &dcs->devices[i]);
+            libxl__device_vkb_add(egc, domid, &d_config->vkbs[i],
+                                  &dcs->devices[i+1]);
+        }
+
+        if (!dcs->num_devices)
+            domcreate_start_devmodel(egc, dcs);
+
+        return;
+    }
+    default:
+        ret = ERROR_INVAL;
+        goto error_out;
+    }
+    abort(); /* not reached */
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_misc_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    aorm->state = DEVICE_FINISHED;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting misc devices");
+        goto error_out;
+    }
+
+    domcreate_start_devmodel(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_start_devmodel(libxl__egc *egc,
+                                     libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int ret;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
+
+    switch (d_config->c_info.type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+    {
         dcs->dmss.dm.guest_domid = domid;
         if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
             libxl__spawn_stub_dm(egc, &dcs->dmss);
@@ -822,11 +910,6 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
         int need_qemu = 0;
         libxl__device_console console;
 
-        for (i = 0; i < d_config->num_vfbs; i++) {
-            libxl_device_vfb_add(ctx, domid, &d_config->vfbs[i]);
-            libxl_device_vkb_add(ctx, domid, &d_config->vkbs[i]);
-        }
-
         ret = init_console_info(&console, 0);
         if ( ret )
             goto error_out;
@@ -862,6 +945,7 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     domcreate_complete(egc, dcs, ret);
 }
 
+
 static void domcreate_devmodel_started(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int ret)
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6b431a2..f2c4d50 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -205,6 +205,33 @@ int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
+int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid,
+                           libxl_device_vkb *vkb,
+                           libxl__device *device)
+{
+    device->backend_devid = vkb->devid;
+    device->backend_domid = vkb->backend_domid;
+    device->backend_kind = LIBXL__DEVICE_KIND_VKBD;
+    device->devid = vkb->devid;
+    device->domid = domid;
+    device->kind = LIBXL__DEVICE_KIND_VKBD;
+
+    return 0;
+}
+
+int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid,
+                           libxl_device_vfb *vfb,
+                           libxl__device *device)
+{
+    device->backend_devid = vfb->devid;
+    device->backend_domid = vfb->backend_domid;
+    device->backend_kind = LIBXL__DEVICE_KIND_VFB;
+    device->devid = vfb->devid;
+    device->domid = domid;
+    device->kind = LIBXL__DEVICE_KIND_VFB;
+    return 0;
+}
+
 int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                            libxl_device_disk *disk,
                            libxl__ao_device *aorm)
@@ -445,6 +472,126 @@ out:
     return rc;
 }
 
+int libxl__device_vkb_add(libxl__egc *egc, uint32_t domid,
+                          libxl_device_vkb *vkb, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device *device;
+    int rc;
+
+    rc = libxl__device_vkb_setdefault(gc, vkb);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
+    if (rc != 0) goto out_free;
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, GCSPRINTF("%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "state");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    flexarray_append(back, "domain");
+    flexarray_append(back, libxl__domid_to_name(gc, domid));
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, GCSPRINTF("%d", vkb->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, GCSPRINTF("%d", 1));
+
+    libxl__device_generic_add(gc, device,
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    rc = 0;
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return rc;
+}
+
+int libxl__device_vfb_add(libxl__egc *egc, uint32_t domid,
+                          libxl_device_vfb *vfb, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device *device;
+    int rc;
+
+    rc = libxl__device_vfb_setdefault(gc, vfb);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
+    if (rc != 0) goto out_free;
+
+    flexarray_append_pair(back, "frontend-id", GCSPRINTF("%d", domid));
+    flexarray_append_pair(back, "online", "1");
+    flexarray_append_pair(back, "state", GCSPRINTF("%d", 1));
+    flexarray_append_pair(back, "domain", libxl__domid_to_name(gc, domid));
+    flexarray_append_pair(back, "vnc",
+                          libxl_defbool_val(vfb->vnc.enable) ? "1" : "0");
+    flexarray_append_pair(back, "vnclisten", vfb->vnc.listen);
+    flexarray_append_pair(back, "vncpasswd", vfb->vnc.passwd);
+    flexarray_append_pair(back, "vncdisplay",
+                                GCSPRINTF("%d", vfb->vnc.display));
+    flexarray_append_pair(back, "vncunused",
+                          libxl_defbool_val(vfb->vnc.findunused) ? "1" : "0");
+    flexarray_append_pair(back, "sdl",
+                          libxl_defbool_val(vfb->sdl.enable) ? "1" : "0");
+    flexarray_append_pair(back, "opengl",
+                          libxl_defbool_val(vfb->sdl.opengl) ? "1" : "0");
+    if (vfb->sdl.xauthority) {
+        flexarray_append_pair(back, "xauthority", vfb->sdl.xauthority);
+    }
+    if (vfb->sdl.display) {
+        flexarray_append_pair(back, "display", vfb->sdl.display);
+    }
+
+    flexarray_append_pair(front, "backend-id",
+                                 GCSPRINTF("%d", vfb->backend_domid));
+    flexarray_append_pair(front, "state", GCSPRINTF("%d", 1));
+
+    libxl__device_generic_add(gc, device,
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    rc = 0;
+out_free:
+    flexarray_free(front);
+    flexarray_free(back);
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return rc;
+}
 
 typedef struct {
     libxl__gc *gc;
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index c0d7ca1..ed3aae4 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -859,10 +859,10 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
          */
         libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
-    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
+    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0], 0);
     if (ret)
         goto out;
-    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
+    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0], 0);
     if (ret)
         goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 91eba63..d57200f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -788,6 +788,12 @@ _hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__device *device);
+_hidden int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_vkb *vkb,
+                                   libxl__device *device);
+_hidden int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_vfb *vfb,
+                                   libxl__device *device);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
@@ -981,7 +987,12 @@ _hidden int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
 _hidden int libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
                                   libxl_device_nic *nic,
                                   libxl__ao_device *aorm);
-
+_hidden int libxl__device_vkb_add(libxl__egc *egc, uint32_t domid,
+                                  libxl_device_vkb *vkb,
+                                  libxl__ao_device *aorm);
+_hidden int libxl__device_vfb_add(libxl__egc *egc, uint32_t domid,
+                                  libxl_device_vfb *vfb,
+                                  libxl__ao_device *aorm);
 /*
  *----- spawn -----
  *
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:29:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:29:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSUG-0002PZ-8a; Thu, 10 May 2012 12:28:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSUE-0002PS-1I
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:28:50 +0000
Received: from [85.158.143.99:18974] by server-3.bemta-4.messagelabs.com id
	31/85-05853-184BBAF4; Thu, 10 May 2012 12:28:49 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336652925!22043002!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10296 invoked from network); 10 May 2012 12:28:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:28:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25060537"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:28:44 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:28:43 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSU7-0004vP-Cz;
	Thu, 10 May 2012 13:28:43 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:28:40 +0100
Message-ID: <1336652920-12358-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2] libxl: make libxl_device_{vkb,
	vfb}_add async operations.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add an ao parameter to both functions, since they may become slow in
the future.

Also move the functions to libxl_device.c, as done with disk and nic
add fuctions, so libxl_device_{vkb,vfb}_add are mere wrappers arround
libxl__device_{vkb,vfb}_add, that can be called from a running AO
operation. Quite a lot of code motion here also, and integration with
the new AO domain creation.

This should be applied after my "libxl: call hotplug scripts from
libxl for vif" series.

Changes since v1:

 * Everything as far as I can tell.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  148 +++++++-----------------------------------
 tools/libxl/libxl.h          |    6 +-
 tools/libxl/libxl_create.c   |  100 ++++++++++++++++++++++++++--
 tools/libxl/libxl_device.c   |  147 +++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |    4 +-
 tools/libxl/libxl_internal.h |   13 ++++-
 6 files changed, 281 insertions(+), 137 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 5a681b1..f50ecaf 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1962,69 +1962,25 @@ int libxl__device_vkb_setdefault(libxl__gc *gc, libxl_device_vkb *vkb)
     return 0;
 }
 
-static int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_vkb *vkb,
-                                  libxl__device *device)
-{
-    device->backend_devid = vkb->devid;
-    device->backend_domid = vkb->backend_domid;
-    device->backend_kind = LIBXL__DEVICE_KIND_VKBD;
-    device->devid = vkb->devid;
-    device->domid = domid;
-    device->kind = LIBXL__DEVICE_KIND_VKBD;
-
-    return 0;
-}
-
-int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
+int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
     int rc;
 
-    rc = libxl__device_vkb_setdefault(gc, vkb);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_vkb_add(egc, domid, vkb, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add vkb %d", vkb->devid);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out_free;
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "domain");
-    flexarray_append(back, libxl__domid_to_name(gc, domid));
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", vkb->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-    rc = 0;
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
@@ -2089,81 +2045,25 @@ int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
     return 0;
 }
 
-static int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_vfb *vfb,
-                                  libxl__device *device)
-{
-    device->backend_devid = vfb->devid;
-    device->backend_domid = vfb->backend_domid;
-    device->backend_kind = LIBXL__DEVICE_KIND_VFB;
-    device->devid = vfb->devid;
-    device->domid = domid;
-    device->kind = LIBXL__DEVICE_KIND_VFB;
-    return 0;
-}
-
-int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
+int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
     int rc;
 
-    rc = libxl__device_vfb_setdefault(gc, vfb);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    rc = libxl__device_vfb_add(egc, domid, vfb, device);
+    if (rc) {
+        LOGE(ERROR, "unable to add vfb %d", vfb->devid);
         goto out;
     }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out_free;
-
-    flexarray_append_pair(back, "frontend-id", libxl__sprintf(gc, "%d", domid));
-    flexarray_append_pair(back, "online", "1");
-    flexarray_append_pair(back, "state", libxl__sprintf(gc, "%d", 1));
-    flexarray_append_pair(back, "domain", libxl__domid_to_name(gc, domid));
-    flexarray_append_pair(back, "vnc",
-                          libxl_defbool_val(vfb->vnc.enable) ? "1" : "0");
-    flexarray_append_pair(back, "vnclisten", vfb->vnc.listen);
-    flexarray_append_pair(back, "vncpasswd", vfb->vnc.passwd);
-    flexarray_append_pair(back, "vncdisplay",
-                          libxl__sprintf(gc, "%d", vfb->vnc.display));
-    flexarray_append_pair(back, "vncunused",
-                          libxl_defbool_val(vfb->vnc.findunused) ? "1" : "0");
-    flexarray_append_pair(back, "sdl",
-                          libxl_defbool_val(vfb->sdl.enable) ? "1" : "0");
-    flexarray_append_pair(back, "opengl",
-                          libxl_defbool_val(vfb->sdl.opengl) ? "1" : "0");
-    if (vfb->sdl.xauthority) {
-        flexarray_append_pair(back, "xauthority", vfb->sdl.xauthority);
-    }
-    if (vfb->sdl.display) {
-        flexarray_append_pair(back, "display", vfb->sdl.display);
-    }
-
-    flexarray_append_pair(front, "backend-id",
-                          libxl__sprintf(gc, "%d", vfb->backend_domid));
-    flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-    rc = 0;
-out_free:
-    flexarray_free(front);
-    flexarray_free(back);
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 6689baf..0497175 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -700,14 +700,16 @@ int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
                               libxl_device_nic *nic, libxl_nicinfo *nicinfo);
 
 /* Keyboard */
-int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 
 /* Framebuffer */
-int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 69f4e4d..974ed89 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -602,6 +602,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 static void domcreate_disk_connected(libxl__egc *egc,
                                      libxl__ao_device *aorm);
 
+static void domcreate_misc_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_start_devmodel(libxl__egc *egc,
+                                     libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -775,7 +780,6 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     const uint32_t domid = dcs->guest_domid;
     libxl_domain_config *const d_config = dcs->guest_config;
     libxl__domain_build_state *const state = &dcs->build_state;
-    libxl_ctx *const ctx = CTX;
 
     ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
                                       dcs->num_devices, &last);
@@ -797,8 +801,8 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
-        libxl__device_console console;
         libxl_device_vkb vkb;
+        libxl__device_console console;
 
         ret = init_console_info(&console, 0);
         if ( ret )
@@ -806,10 +810,94 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
         libxl__device_console_add(gc, domid, &console, state);
         libxl__device_console_dispose(&console);
 
+        GCNEW_ARRAY(dcs->devices, 1);
+        dcs->num_devices = 1;
+        libxl__init_ao_device(&dcs->devices[0], ao, &dcs->devices);
+        dcs->devices[0].callback = domcreate_misc_connected;
         libxl_device_vkb_init(&vkb);
-        libxl_device_vkb_add(ctx, domid, &vkb);
+        libxl__device_vkb_add(egc, domid, &vkb, &dcs->devices[0]);
         libxl_device_vkb_dispose(&vkb);
 
+        return;
+    }
+    case LIBXL_DOMAIN_TYPE_PV:
+    {
+        GCNEW_ARRAY(dcs->devices, d_config->num_vfbs*2);
+        dcs->num_devices = d_config->num_vfbs*2;
+        for (i = 0; i < d_config->num_vfbs; i++) {
+            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+            dcs->devices[i].callback = domcreate_misc_connected;
+            libxl__init_ao_device(&dcs->devices[i+1], ao, &dcs->devices);
+            dcs->devices[i+1].callback = domcreate_misc_connected;
+            libxl__device_vfb_add(egc, domid, &d_config->vfbs[i],
+                                  &dcs->devices[i]);
+            libxl__device_vkb_add(egc, domid, &d_config->vkbs[i],
+                                  &dcs->devices[i+1]);
+        }
+
+        if (!dcs->num_devices)
+            domcreate_start_devmodel(egc, dcs);
+
+        return;
+    }
+    default:
+        ret = ERROR_INVAL;
+        goto error_out;
+    }
+    abort(); /* not reached */
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_misc_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    aorm->state = DEVICE_FINISHED;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting misc devices");
+        goto error_out;
+    }
+
+    domcreate_start_devmodel(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_start_devmodel(libxl__egc *egc,
+                                     libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int ret;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
+
+    switch (d_config->c_info.type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+    {
         dcs->dmss.dm.guest_domid = domid;
         if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
             libxl__spawn_stub_dm(egc, &dcs->dmss);
@@ -822,11 +910,6 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
         int need_qemu = 0;
         libxl__device_console console;
 
-        for (i = 0; i < d_config->num_vfbs; i++) {
-            libxl_device_vfb_add(ctx, domid, &d_config->vfbs[i]);
-            libxl_device_vkb_add(ctx, domid, &d_config->vkbs[i]);
-        }
-
         ret = init_console_info(&console, 0);
         if ( ret )
             goto error_out;
@@ -862,6 +945,7 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     domcreate_complete(egc, dcs, ret);
 }
 
+
 static void domcreate_devmodel_started(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int ret)
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6b431a2..f2c4d50 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -205,6 +205,33 @@ int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
+int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid,
+                           libxl_device_vkb *vkb,
+                           libxl__device *device)
+{
+    device->backend_devid = vkb->devid;
+    device->backend_domid = vkb->backend_domid;
+    device->backend_kind = LIBXL__DEVICE_KIND_VKBD;
+    device->devid = vkb->devid;
+    device->domid = domid;
+    device->kind = LIBXL__DEVICE_KIND_VKBD;
+
+    return 0;
+}
+
+int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid,
+                           libxl_device_vfb *vfb,
+                           libxl__device *device)
+{
+    device->backend_devid = vfb->devid;
+    device->backend_domid = vfb->backend_domid;
+    device->backend_kind = LIBXL__DEVICE_KIND_VFB;
+    device->devid = vfb->devid;
+    device->domid = domid;
+    device->kind = LIBXL__DEVICE_KIND_VFB;
+    return 0;
+}
+
 int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                            libxl_device_disk *disk,
                            libxl__ao_device *aorm)
@@ -445,6 +472,126 @@ out:
     return rc;
 }
 
+int libxl__device_vkb_add(libxl__egc *egc, uint32_t domid,
+                          libxl_device_vkb *vkb, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device *device;
+    int rc;
+
+    rc = libxl__device_vkb_setdefault(gc, vkb);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
+    if (rc != 0) goto out_free;
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, GCSPRINTF("%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "state");
+    flexarray_append(back, GCSPRINTF("%d", 1));
+    flexarray_append(back, "domain");
+    flexarray_append(back, libxl__domid_to_name(gc, domid));
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, GCSPRINTF("%d", vkb->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, GCSPRINTF("%d", 1));
+
+    libxl__device_generic_add(gc, device,
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    rc = 0;
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return rc;
+}
+
+int libxl__device_vfb_add(libxl__egc *egc, uint32_t domid,
+                          libxl_device_vfb *vfb, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device *device;
+    int rc;
+
+    rc = libxl__device_vfb_setdefault(gc, vfb);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
+    if (rc != 0) goto out_free;
+
+    flexarray_append_pair(back, "frontend-id", GCSPRINTF("%d", domid));
+    flexarray_append_pair(back, "online", "1");
+    flexarray_append_pair(back, "state", GCSPRINTF("%d", 1));
+    flexarray_append_pair(back, "domain", libxl__domid_to_name(gc, domid));
+    flexarray_append_pair(back, "vnc",
+                          libxl_defbool_val(vfb->vnc.enable) ? "1" : "0");
+    flexarray_append_pair(back, "vnclisten", vfb->vnc.listen);
+    flexarray_append_pair(back, "vncpasswd", vfb->vnc.passwd);
+    flexarray_append_pair(back, "vncdisplay",
+                                GCSPRINTF("%d", vfb->vnc.display));
+    flexarray_append_pair(back, "vncunused",
+                          libxl_defbool_val(vfb->vnc.findunused) ? "1" : "0");
+    flexarray_append_pair(back, "sdl",
+                          libxl_defbool_val(vfb->sdl.enable) ? "1" : "0");
+    flexarray_append_pair(back, "opengl",
+                          libxl_defbool_val(vfb->sdl.opengl) ? "1" : "0");
+    if (vfb->sdl.xauthority) {
+        flexarray_append_pair(back, "xauthority", vfb->sdl.xauthority);
+    }
+    if (vfb->sdl.display) {
+        flexarray_append_pair(back, "display", vfb->sdl.display);
+    }
+
+    flexarray_append_pair(front, "backend-id",
+                                 GCSPRINTF("%d", vfb->backend_domid));
+    flexarray_append_pair(front, "state", GCSPRINTF("%d", 1));
+
+    libxl__device_generic_add(gc, device,
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    rc = 0;
+out_free:
+    flexarray_free(front);
+    flexarray_free(back);
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return rc;
+}
 
 typedef struct {
     libxl__gc *gc;
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index c0d7ca1..ed3aae4 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -859,10 +859,10 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
          */
         libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
-    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
+    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0], 0);
     if (ret)
         goto out;
-    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
+    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0], 0);
     if (ret)
         goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 91eba63..d57200f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -788,6 +788,12 @@ _hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__device *device);
+_hidden int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_vkb *vkb,
+                                   libxl__device *device);
+_hidden int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_vfb *vfb,
+                                   libxl__device *device);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
@@ -981,7 +987,12 @@ _hidden int libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
 _hidden int libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
                                   libxl_device_nic *nic,
                                   libxl__ao_device *aorm);
-
+_hidden int libxl__device_vkb_add(libxl__egc *egc, uint32_t domid,
+                                  libxl_device_vkb *vkb,
+                                  libxl__ao_device *aorm);
+_hidden int libxl__device_vfb_add(libxl__egc *egc, uint32_t domid,
+                                  libxl_device_vfb *vfb,
+                                  libxl__ao_device *aorm);
 /*
  *----- spawn -----
  *
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:48:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSnL-0002jP-IA; Thu, 10 May 2012 12:48:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSnJ-0002jK-77
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:48:34 +0000
Received: from [193.109.254.147:28799] by server-9.bemta-14.messagelabs.com id
	3C/7B-05787-029BBAF4; Thu, 10 May 2012 12:48:32 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336654108!1756098!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15694 invoked from network); 10 May 2012 12:48:30 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:48:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194246401"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:47:09 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:47:08 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSlv-0005Db-R3;
	Thu, 10 May 2012 13:47:07 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:46:53 +0100
Message-ID: <1336654013-12457-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH RFC] scripts: add checkpatch.pl script
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This script is a copy from the QEMU one, wich is itself a copy from
the Linux kernel one (as far as I can tell).

This script will only check for parts of the patches that touch libxl
files, and I've adapted it to match our CODING_STYLE a little bit,
major differences include the following:

 * Allow if (...) do_something(....);

 * Allow if (...)
             do_something(...);

 * Allow declarations like: libxl_type *var;

 * Checks for the use of the following functions, and complains if
   found: libxl__sprintf, LIBXL__LOG_*, libxl__gc_owner, printing a
   nice error message about how to replace them.

 * Print error message when "libxl_ctx *ctx =" is used, telling the
   user to use CTX directly instead.

To use it, simply go to the root of the repository and use:

$ scripts/checkpatch.pl xxxx.patch

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 scripts/checkpatch.pl | 2906 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2906 insertions(+), 0 deletions(-)
 create mode 100755 scripts/checkpatch.pl

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
new file mode 100755
index 0000000..7e82fab
--- /dev/null
+++ b/scripts/checkpatch.pl
@@ -0,0 +1,2906 @@
+#!/usr/bin/perl -w
+# (c) 2001, Dave Jones. (the file handling bit)
+# (c) 2005, Joel Schopp <jschopp@austin.ibm.com> (the ugly bit)
+# (c) 2007,2008, Andy Whitcroft <apw@uk.ibm.com> (new conditions, test suite)
+# (c) 2008-2010 Andy Whitcroft <apw@canonical.com>
+# Licensed under the terms of the GNU GPL License version 2
+
+use strict;
+
+my $P = $0;
+$P =~ s@.*/@@g;
+
+my $V = '0.31';
+
+use Getopt::Long qw(:config no_auto_abbrev);
+
+my $quiet = 0;
+my $tree = 1;
+my $chk_signoff = 1;
+my $chk_patch = 1;
+my $tst_only;
+my $emacs = 0;
+my $terse = 0;
+my $file = 0;
+my $check = 0;
+my $summary = 1;
+my $mailback = 0;
+my $summary_file = 0;
+my $root;
+my %debug;
+my $help = 0;
+
+sub help {
+	my ($exitcode) = @_;
+
+	print << "EOM";
+Usage: $P [OPTION]... [FILE]...
+Version: $V
+
+Options:
+  -q, --quiet                quiet
+  --no-tree                  run without a kernel tree
+  --no-signoff               do not check for 'Signed-off-by' line
+  --patch                    treat FILE as patchfile (default)
+  --emacs                    emacs compile window format
+  --terse                    one line per report
+  -f, --file                 treat FILE as regular source file
+  --subjective, --strict     enable more subjective tests
+  --root=PATH                PATH to the kernel tree root
+  --no-summary               suppress the per-file summary
+  --mailback                 only produce a report in case of warnings/errors
+  --summary-file             include the filename in summary
+  --debug KEY=[0|1]          turn on/off debugging of KEY, where KEY is one of
+                             'values', 'possible', 'type', and 'attr' (default
+                             is all off)
+  --test-only=WORD           report only warnings/errors containing WORD
+                             literally
+  -h, --help, --version      display this help and exit
+
+When FILE is - read standard input.
+EOM
+
+	exit($exitcode);
+}
+
+GetOptions(
+	'q|quiet+'	=> \$quiet,
+	'tree!'		=> \$tree,
+	'signoff!'	=> \$chk_signoff,
+	'patch!'	=> \$chk_patch,
+	'emacs!'	=> \$emacs,
+	'terse!'	=> \$terse,
+	'f|file!'	=> \$file,
+	'subjective!'	=> \$check,
+	'strict!'	=> \$check,
+	'root=s'	=> \$root,
+	'summary!'	=> \$summary,
+	'mailback!'	=> \$mailback,
+	'summary-file!'	=> \$summary_file,
+
+	'debug=s'	=> \%debug,
+	'test-only=s'	=> \$tst_only,
+	'h|help'	=> \$help,
+	'version'	=> \$help
+) or help(1);
+
+help(0) if ($help);
+
+my $exit = 0;
+
+if ($#ARGV < 0) {
+	print "$P: no input files\n";
+	exit(1);
+}
+
+my $dbg_values = 0;
+my $dbg_possible = 0;
+my $dbg_type = 0;
+my $dbg_attr = 0;
+for my $key (keys %debug) {
+	## no critic
+	eval "\${dbg_$key} = '$debug{$key}';";
+	die "$@" if ($@);
+}
+
+my $rpt_cleaners = 0;
+
+if ($terse) {
+	$emacs = 1;
+	$quiet++;
+}
+
+if ($tree) {
+	if (defined $root) {
+		if (!top_of_kernel_tree($root)) {
+			die "$P: $root: --root does not point at a valid tree\n";
+		}
+	} else {
+		if (top_of_kernel_tree('.')) {
+			$root = '.';
+		} elsif ($0 =~ m@(.*)/scripts/[^/]*$@ &&
+						top_of_kernel_tree($1)) {
+			$root = $1;
+		}
+	}
+
+	if (!defined $root) {
+		print "Must be run from the top-level dir. of a kernel tree\n";
+		exit(2);
+	}
+}
+
+my $emitted_corrupt = 0;
+
+our $Ident	= qr{
+			[A-Za-z_][A-Za-z\d_]*
+			(?:\s*\#\#\s*[A-Za-z_][A-Za-z\d_]*)*
+		}x;
+our $Storage	= qr{extern|static|asmlinkage};
+our $Sparse	= qr{
+			__user|
+			__kernel|
+			__force|
+			__iomem|
+			__must_check|
+			__init_refok|
+			__kprobes|
+			__ref
+		}x;
+
+# Notes to $Attribute:
+# We need \b after 'init' otherwise 'initconst' will cause a false positive in a check
+our $Attribute	= qr{
+			const|
+			__percpu|
+			__nocast|
+			__safe|
+			__bitwise__|
+			__packed__|
+			__packed2__|
+			__naked|
+			__maybe_unused|
+			__always_unused|
+			__noreturn|
+			__used|
+			__cold|
+			__noclone|
+			__deprecated|
+			__read_mostly|
+			__kprobes|
+			__(?:mem|cpu|dev|)(?:initdata|initconst|init\b)|
+			____cacheline_aligned|
+			____cacheline_aligned_in_smp|
+			____cacheline_internodealigned_in_smp|
+			__weak
+		  }x;
+our $Modifier;
+our $Inline	= qr{inline|__always_inline|noinline};
+our $Member	= qr{->$Ident|\.$Ident|\[[^]]*\]};
+our $Lval	= qr{$Ident(?:$Member)*};
+
+our $Constant	= qr{(?:[0-9]+|0x[0-9a-fA-F]+)[UL]*};
+our $Assignment	= qr{(?:\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=)};
+our $Compare    = qr{<=|>=|==|!=|<|>};
+our $Operators	= qr{
+			<=|>=|==|!=|
+			=>|->|<<|>>|<|>|!|~|
+			&&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%
+		  }x;
+
+our $NonptrType;
+our $Type;
+our $Declare;
+
+our $UTF8	= qr {
+	[\x09\x0A\x0D\x20-\x7E]              # ASCII
+	| [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
+	|  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
+	| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
+	|  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
+	|  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
+	| [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
+	|  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
+}x;
+
+our $typeTypedefs = qr{(?x:
+	(?:__)?(?:u|s|be|le)(?:8|16|32|64)|
+	atomic_t
+)};
+
+our $logFunctions = qr{(?x:
+	printk|
+	pr_(debug|dbg|vdbg|devel|info|warning|err|notice|alert|crit|emerg|cont)|
+	(dev|netdev|netif)_(printk|dbg|vdbg|info|warn|err|notice|alert|crit|emerg|WARN)|
+	WARN|
+	panic
+)};
+
+our @typeList = (
+	qr{void},
+	qr{(?:unsigned\s+)?char},
+	qr{(?:unsigned\s+)?short},
+	qr{(?:unsigned\s+)?int},
+	qr{(?:unsigned\s+)?long},
+	qr{(?:unsigned\s+)?long\s+int},
+	qr{(?:unsigned\s+)?long\s+long},
+	qr{(?:unsigned\s+)?long\s+long\s+int},
+	qr{unsigned},
+	qr{float},
+	qr{double},
+	qr{bool},
+	qr{struct\s+$Ident},
+	qr{union\s+$Ident},
+	qr{enum\s+$Ident},
+	qr{${Ident}_t},
+	qr{${Ident}_handler},
+	qr{${Ident}_handler_fn},
+);
+our @modifierList = (
+	qr{fastcall},
+);
+
+our $allowed_asm_includes = qr{(?x:
+	irq|
+	memory
+)};
+# memory.h: ARM has a custom one
+
+sub build_types {
+	my $mods = "(?x:  \n" . join("|\n  ", @modifierList) . "\n)";
+	my $all = "(?x:  \n" . join("|\n  ", @typeList) . "\n)";
+	$Modifier	= qr{(?:$Attribute|$Sparse|$mods)};
+	$NonptrType	= qr{
+			(?:$Modifier\s+|const\s+)*
+			(?:
+				(?:typeof|__typeof__)\s*\(\s*\**\s*$Ident\s*\)|
+				(?:$typeTypedefs\b)|
+				(?:${all}\b)
+			)
+			(?:\s+$Modifier|\s+const)*
+		  }x;
+	$Type	= qr{
+			$NonptrType
+			(?:[\s\*]+\s*const|[\s\*]+|(?:\s*\[\s*\])+)?
+			(?:\s+$Inline|\s+$Modifier)*
+		  }x;
+	$Declare	= qr{(?:$Storage\s+)?$Type};
+}
+build_types();
+
+$chk_signoff = 0 if ($file);
+
+my @dep_includes = ();
+my @dep_functions = ();
+my $removal = "Documentation/feature-removal-schedule.txt";
+if ($tree && -f "$root/$removal") {
+	open(my $REMOVE, '<', "$root/$removal") ||
+				die "$P: $removal: open failed - $!\n";
+	while (<$REMOVE>) {
+		if (/^Check:\s+(.*\S)/) {
+			for my $entry (split(/[, ]+/, $1)) {
+				if ($entry =~ m@include/(.*)@) {
+					push(@dep_includes, $1);
+
+				} elsif ($entry !~ m@/@) {
+					push(@dep_functions, $entry);
+				}
+			}
+		}
+	}
+	close($REMOVE);
+}
+
+my @rawlines = ();
+my @lines = ();
+my $vname;
+for my $filename (@ARGV) {
+	my $FILE;
+	if ($file) {
+		open($FILE, '-|', "diff -u /dev/null $filename") ||
+			die "$P: $filename: diff failed - $!\n";
+	} elsif ($filename eq '-') {
+		open($FILE, '<&STDIN');
+	} else {
+		open($FILE, '<', "$filename") ||
+			die "$P: $filename: open failed - $!\n";
+	}
+	if ($filename eq '-') {
+		$vname = 'Your patch';
+	} else {
+		$vname = $filename;
+	}
+	while (<$FILE>) {
+		chomp;
+		push(@rawlines, $_);
+	}
+	close($FILE);
+	if (!process($filename)) {
+		$exit = 1;
+	}
+	@rawlines = ();
+	@lines = ();
+}
+
+exit($exit);
+
+sub top_of_kernel_tree {
+	my ($root) = @_;
+
+	my @tree_check = (
+		"COPYING", "MAINTAINERS", "Makefile",
+		"README", "docs"
+	);
+
+	foreach my $check (@tree_check) {
+		if (! -e $root . '/' . $check) {
+			return 0;
+		}
+	}
+	return 1;
+}
+
+sub expand_tabs {
+	my ($str) = @_;
+
+	my $res = '';
+	my $n = 0;
+	for my $c (split(//, $str)) {
+		if ($c eq "\t") {
+			$res .= ' ';
+			$n++;
+			for (; ($n % 8) != 0; $n++) {
+				$res .= ' ';
+			}
+			next;
+		}
+		$res .= $c;
+		$n++;
+	}
+
+	return $res;
+}
+sub copy_spacing {
+	(my $res = shift) =~ tr/\t/ /c;
+	return $res;
+}
+
+sub line_stats {
+	my ($line) = @_;
+
+	# Drop the diff line leader and expand tabs
+	$line =~ s/^.//;
+	$line = expand_tabs($line);
+
+	# Pick the indent from the front of the line.
+	my ($white) = ($line =~ /^(\s*)/);
+
+	return (length($line), length($white));
+}
+
+my $sanitise_quote = '';
+
+sub sanitise_line_reset {
+	my ($in_comment) = @_;
+
+	if ($in_comment) {
+		$sanitise_quote = '*/';
+	} else {
+		$sanitise_quote = '';
+	}
+}
+sub sanitise_line {
+	my ($line) = @_;
+
+	my $res = '';
+	my $l = '';
+
+	my $qlen = 0;
+	my $off = 0;
+	my $c;
+
+	# Always copy over the diff marker.
+	$res = substr($line, 0, 1);
+
+	for ($off = 1; $off < length($line); $off++) {
+		$c = substr($line, $off, 1);
+
+		# Comments we are wacking completly including the begin
+		# and end, all to $;.
+		if ($sanitise_quote eq '' && substr($line, $off, 2) eq '/*') {
+			$sanitise_quote = '*/';
+
+			substr($res, $off, 2, "$;$;");
+			$off++;
+			next;
+		}
+		if ($sanitise_quote eq '*/' && substr($line, $off, 2) eq '*/') {
+			$sanitise_quote = '';
+			substr($res, $off, 2, "$;$;");
+			$off++;
+			next;
+		}
+		if ($sanitise_quote eq '' && substr($line, $off, 2) eq '//') {
+			$sanitise_quote = '//';
+
+			substr($res, $off, 2, $sanitise_quote);
+			$off++;
+			next;
+		}
+
+		# A \ in a string means ignore the next character.
+		if (($sanitise_quote eq "'" || $sanitise_quote eq '"') &&
+		    $c eq "\\") {
+			substr($res, $off, 2, 'XX');
+			$off++;
+			next;
+		}
+		# Regular quotes.
+		if ($c eq "'" || $c eq '"') {
+			if ($sanitise_quote eq '') {
+				$sanitise_quote = $c;
+
+				substr($res, $off, 1, $c);
+				next;
+			} elsif ($sanitise_quote eq $c) {
+				$sanitise_quote = '';
+			}
+		}
+
+		#print "c<$c> SQ<$sanitise_quote>\n";
+		if ($off != 0 && $sanitise_quote eq '*/' && $c ne "\t") {
+			substr($res, $off, 1, $;);
+		} elsif ($off != 0 && $sanitise_quote eq '//' && $c ne "\t") {
+			substr($res, $off, 1, $;);
+		} elsif ($off != 0 && $sanitise_quote && $c ne "\t") {
+			substr($res, $off, 1, 'X');
+		} else {
+			substr($res, $off, 1, $c);
+		}
+	}
+
+	if ($sanitise_quote eq '//') {
+		$sanitise_quote = '';
+	}
+
+	# The pathname on a #include may be surrounded by '<' and '>'.
+	if ($res =~ /^.\s*\#\s*include\s+\<(.*)\>/) {
+		my $clean = 'X' x length($1);
+		$res =~ s@\<.*\>@<$clean>@;
+
+	# The whole of a #error is a string.
+	} elsif ($res =~ /^.\s*\#\s*(?:error|warning)\s+(.*)\b/) {
+		my $clean = 'X' x length($1);
+		$res =~ s@(\#\s*(?:error|warning)\s+).*@$1$clean@;
+	}
+
+	return $res;
+}
+
+sub ctx_statement_block {
+	my ($linenr, $remain, $off) = @_;
+	my $line = $linenr - 1;
+	my $blk = '';
+	my $soff = $off;
+	my $coff = $off - 1;
+	my $coff_set = 0;
+
+	my $loff = 0;
+
+	my $type = '';
+	my $level = 0;
+	my @stack = ();
+	my $p;
+	my $c;
+	my $len = 0;
+
+	my $remainder;
+	while (1) {
+		@stack = (['', 0]) if ($#stack == -1);
+
+		#warn "CSB: blk<$blk> remain<$remain>\n";
+		# If we are about to drop off the end, pull in more
+		# context.
+		if ($off >= $len) {
+			for (; $remain > 0; $line++) {
+				last if (!defined $lines[$line]);
+				next if ($lines[$line] =~ /^-/);
+				$remain--;
+				$loff = $len;
+				$blk .= $lines[$line] . "\n";
+				$len = length($blk);
+				$line++;
+				last;
+			}
+			# Bail if there is no further context.
+			#warn "CSB: blk<$blk> off<$off> len<$len>\n";
+			if ($off >= $len) {
+				last;
+			}
+		}
+		$p = $c;
+		$c = substr($blk, $off, 1);
+		$remainder = substr($blk, $off);
+
+		#warn "CSB: c<$c> type<$type> level<$level> remainder<$remainder> coff_set<$coff_set>\n";
+
+		# Handle nested #if/#else.
+		if ($remainder =~ /^#\s*(?:ifndef|ifdef|if)\s/) {
+			push(@stack, [ $type, $level ]);
+		} elsif ($remainder =~ /^#\s*(?:else|elif)\b/) {
+			($type, $level) = @{$stack[$#stack - 1]};
+		} elsif ($remainder =~ /^#\s*endif\b/) {
+			($type, $level) = @{pop(@stack)};
+		}
+
+		# Statement ends at the ';' or a close '}' at the
+		# outermost level.
+		if ($level == 0 && $c eq ';') {
+			last;
+		}
+
+		# An else is really a conditional as long as its not else if
+		if ($level == 0 && $coff_set == 0 &&
+				(!defined($p) || $p =~ /(?:\s|\}|\+)/) &&
+				$remainder =~ /^(else)(?:\s|{)/ &&
+				$remainder !~ /^else\s+if\b/) {
+			$coff = $off + length($1) - 1;
+			$coff_set = 1;
+			#warn "CSB: mark coff<$coff> soff<$soff> 1<$1>\n";
+			#warn "[" . substr($blk, $soff, $coff - $soff + 1) . "]\n";
+		}
+
+		if (($type eq '' || $type eq '(') && $c eq '(') {
+			$level++;
+			$type = '(';
+		}
+		if ($type eq '(' && $c eq ')') {
+			$level--;
+			$type = ($level != 0)? '(' : '';
+
+			if ($level == 0 && $coff < $soff) {
+				$coff = $off;
+				$coff_set = 1;
+				#warn "CSB: mark coff<$coff>\n";
+			}
+		}
+		if (($type eq '' || $type eq '{') && $c eq '{') {
+			$level++;
+			$type = '{';
+		}
+		if ($type eq '{' && $c eq '}') {
+			$level--;
+			$type = ($level != 0)? '{' : '';
+
+			if ($level == 0) {
+				if (substr($blk, $off + 1, 1) eq ';') {
+					$off++;
+				}
+				last;
+			}
+		}
+		$off++;
+	}
+	# We are truly at the end, so shuffle to the next line.
+	if ($off == $len) {
+		$loff = $len + 1;
+		$line++;
+		$remain--;
+	}
+
+	my $statement = substr($blk, $soff, $off - $soff + 1);
+	my $condition = substr($blk, $soff, $coff - $soff + 1);
+
+	#warn "STATEMENT<$statement>\n";
+	#warn "CONDITION<$condition>\n";
+
+	#print "coff<$coff> soff<$off> loff<$loff>\n";
+
+	return ($statement, $condition,
+			$line, $remain + 1, $off - $loff + 1, $level);
+}
+
+sub statement_lines {
+	my ($stmt) = @_;
+
+	# Strip the diff line prefixes and rip blank lines at start and end.
+	$stmt =~ s/(^|\n)./$1/g;
+	$stmt =~ s/^\s*//;
+	$stmt =~ s/\s*$//;
+
+	my @stmt_lines = ($stmt =~ /\n/g);
+
+	return $#stmt_lines + 2;
+}
+
+sub statement_rawlines {
+	my ($stmt) = @_;
+
+	my @stmt_lines = ($stmt =~ /\n/g);
+
+	return $#stmt_lines + 2;
+}
+
+sub statement_block_size {
+	my ($stmt) = @_;
+
+	$stmt =~ s/(^|\n)./$1/g;
+	$stmt =~ s/^\s*{//;
+	$stmt =~ s/}\s*$//;
+	$stmt =~ s/^\s*//;
+	$stmt =~ s/\s*$//;
+
+	my @stmt_lines = ($stmt =~ /\n/g);
+	my @stmt_statements = ($stmt =~ /;/g);
+
+	my $stmt_lines = $#stmt_lines + 2;
+	my $stmt_statements = $#stmt_statements + 1;
+
+	if ($stmt_lines > $stmt_statements) {
+		return $stmt_lines;
+	} else {
+		return $stmt_statements;
+	}
+}
+
+sub ctx_statement_full {
+	my ($linenr, $remain, $off) = @_;
+	my ($statement, $condition, $level);
+
+	my (@chunks);
+
+	# Grab the first conditional/block pair.
+	($statement, $condition, $linenr, $remain, $off, $level) =
+				ctx_statement_block($linenr, $remain, $off);
+	#print "F: c<$condition> s<$statement> remain<$remain>\n";
+	push(@chunks, [ $condition, $statement ]);
+	if (!($remain > 0 && $condition =~ /^\s*(?:\n[+-])?\s*(?:if|else|do)\b/s)) {
+		return ($level, $linenr, @chunks);
+	}
+
+	# Pull in the following conditional/block pairs and see if they
+	# could continue the statement.
+	for (;;) {
+		($statement, $condition, $linenr, $remain, $off, $level) =
+				ctx_statement_block($linenr, $remain, $off);
+		#print "C: c<$condition> s<$statement> remain<$remain>\n";
+		last if (!($remain > 0 && $condition =~ /^(?:\s*\n[+-])*\s*(?:else|do)\b/s));
+		#print "C: push\n";
+		push(@chunks, [ $condition, $statement ]);
+	}
+
+	return ($level, $linenr, @chunks);
+}
+
+sub ctx_block_get {
+	my ($linenr, $remain, $outer, $open, $close, $off) = @_;
+	my $line;
+	my $start = $linenr - 1;
+	my $blk = '';
+	my @o;
+	my @c;
+	my @res = ();
+
+	my $level = 0;
+	my @stack = ($level);
+	for ($line = $start; $remain > 0; $line++) {
+		next if ($rawlines[$line] =~ /^-/);
+		$remain--;
+
+		$blk .= $rawlines[$line];
+
+		# Handle nested #if/#else.
+		if ($lines[$line] =~ /^.\s*#\s*(?:ifndef|ifdef|if)\s/) {
+			push(@stack, $level);
+		} elsif ($lines[$line] =~ /^.\s*#\s*(?:else|elif)\b/) {
+			$level = $stack[$#stack - 1];
+		} elsif ($lines[$line] =~ /^.\s*#\s*endif\b/) {
+			$level = pop(@stack);
+		}
+
+		foreach my $c (split(//, $lines[$line])) {
+			##print "C<$c>L<$level><$open$close>O<$off>\n";
+			if ($off > 0) {
+				$off--;
+				next;
+			}
+
+			if ($c eq $close && $level > 0) {
+				$level--;
+				last if ($level == 0);
+			} elsif ($c eq $open) {
+				$level++;
+			}
+		}
+
+		if (!$outer || $level <= 1) {
+			push(@res, $rawlines[$line]);
+		}
+
+		last if ($level == 0);
+	}
+
+	return ($level, @res);
+}
+sub ctx_block_outer {
+	my ($linenr, $remain) = @_;
+
+	my ($level, @r) = ctx_block_get($linenr, $remain, 1, '{', '}', 0);
+	return @r;
+}
+sub ctx_block {
+	my ($linenr, $remain) = @_;
+
+	my ($level, @r) = ctx_block_get($linenr, $remain, 0, '{', '}', 0);
+	return @r;
+}
+sub ctx_statement {
+	my ($linenr, $remain, $off) = @_;
+
+	my ($level, @r) = ctx_block_get($linenr, $remain, 0, '(', ')', $off);
+	return @r;
+}
+sub ctx_block_level {
+	my ($linenr, $remain) = @_;
+
+	return ctx_block_get($linenr, $remain, 0, '{', '}', 0);
+}
+sub ctx_statement_level {
+	my ($linenr, $remain, $off) = @_;
+
+	return ctx_block_get($linenr, $remain, 0, '(', ')', $off);
+}
+
+sub ctx_locate_comment {
+	my ($first_line, $end_line) = @_;
+
+	# Catch a comment on the end of the line itself.
+	my ($current_comment) = ($rawlines[$end_line - 1] =~ m@.*(/\*.*\*/)\s*(?:\\\s*)?$@);
+	return $current_comment if (defined $current_comment);
+
+	# Look through the context and try and figure out if there is a
+	# comment.
+	my $in_comment = 0;
+	$current_comment = '';
+	for (my $linenr = $first_line; $linenr < $end_line; $linenr++) {
+		my $line = $rawlines[$linenr - 1];
+		#warn "           $line\n";
+		if ($linenr == $first_line and $line =~ m@^.\s*\*@) {
+			$in_comment = 1;
+		}
+		if ($line =~ m@/\*@) {
+			$in_comment = 1;
+		}
+		if (!$in_comment && $current_comment ne '') {
+			$current_comment = '';
+		}
+		$current_comment .= $line . "\n" if ($in_comment);
+		if ($line =~ m@\*/@) {
+			$in_comment = 0;
+		}
+	}
+
+	chomp($current_comment);
+	return($current_comment);
+}
+sub ctx_has_comment {
+	my ($first_line, $end_line) = @_;
+	my $cmt = ctx_locate_comment($first_line, $end_line);
+
+	##print "LINE: $rawlines[$end_line - 1 ]\n";
+	##print "CMMT: $cmt\n";
+
+	return ($cmt ne '');
+}
+
+sub raw_line {
+	my ($linenr, $cnt) = @_;
+
+	my $offset = $linenr - 1;
+	$cnt++;
+
+	my $line;
+	while ($cnt) {
+		$line = $rawlines[$offset++];
+		next if (defined($line) && $line =~ /^-/);
+		$cnt--;
+	}
+
+	return $line;
+}
+
+sub cat_vet {
+	my ($vet) = @_;
+	my ($res, $coded);
+
+	$res = '';
+	while ($vet =~ /([^[:cntrl:]]*)([[:cntrl:]]|$)/g) {
+		$res .= $1;
+		if ($2 ne '') {
+			$coded = sprintf("^%c", unpack('C', $2) + 64);
+			$res .= $coded;
+		}
+	}
+	$res =~ s/$/\$/;
+
+	return $res;
+}
+
+my $av_preprocessor = 0;
+my $av_pending;
+my @av_paren_type;
+my $av_pend_colon;
+
+sub annotate_reset {
+	$av_preprocessor = 0;
+	$av_pending = '_';
+	@av_paren_type = ('E');
+	$av_pend_colon = 'O';
+}
+
+sub annotate_values {
+	my ($stream, $type) = @_;
+
+	my $res;
+	my $var = '_' x length($stream);
+	my $cur = $stream;
+
+	print "$stream\n" if ($dbg_values > 1);
+
+	while (length($cur)) {
+		@av_paren_type = ('E') if ($#av_paren_type < 0);
+		print " <" . join('', @av_paren_type) .
+				"> <$type> <$av_pending>" if ($dbg_values > 1);
+		if ($cur =~ /^(\s+)/o) {
+			print "WS($1)\n" if ($dbg_values > 1);
+			if ($1 =~ /\n/ && $av_preprocessor) {
+				$type = pop(@av_paren_type);
+				$av_preprocessor = 0;
+			}
+
+		} elsif ($cur =~ /^(\(\s*$Type\s*)\)/ && $av_pending eq '_') {
+			print "CAST($1)\n" if ($dbg_values > 1);
+			push(@av_paren_type, $type);
+			$type = 'C';
+
+		} elsif ($cur =~ /^($Type)\s*(?:$Ident|,|\)|\(|\s*$)/) {
+			print "DECLARE($1)\n" if ($dbg_values > 1);
+			$type = 'T';
+
+		} elsif ($cur =~ /^($Modifier)\s*/) {
+			print "MODIFIER($1)\n" if ($dbg_values > 1);
+			$type = 'T';
+
+		} elsif ($cur =~ /^(\#\s*define\s*$Ident)(\(?)/o) {
+			print "DEFINE($1,$2)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+			push(@av_paren_type, $type);
+			if ($2 ne '') {
+				$av_pending = 'N';
+			}
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\#\s*(?:undef\s*$Ident|include\b))/o) {
+			print "UNDEF($1)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+			push(@av_paren_type, $type);
+
+		} elsif ($cur =~ /^(\#\s*(?:ifdef|ifndef|if))/o) {
+			print "PRE_START($1)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+
+			push(@av_paren_type, $type);
+			push(@av_paren_type, $type);
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\#\s*(?:else|elif))/o) {
+			print "PRE_RESTART($1)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+
+			push(@av_paren_type, $av_paren_type[$#av_paren_type]);
+
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\#\s*(?:endif))/o) {
+			print "PRE_END($1)\n" if ($dbg_values > 1);
+
+			$av_preprocessor = 1;
+
+			# Assume all arms of the conditional end as this
+			# one does, and continue as if the #endif was not here.
+			pop(@av_paren_type);
+			push(@av_paren_type, $type);
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\\\n)/o) {
+			print "PRECONT($1)\n" if ($dbg_values > 1);
+
+		} elsif ($cur =~ /^(__attribute__)\s*\(?/o) {
+			print "ATTR($1)\n" if ($dbg_values > 1);
+			$av_pending = $type;
+			$type = 'N';
+
+		} elsif ($cur =~ /^(sizeof)\s*(\()?/o) {
+			print "SIZEOF($1)\n" if ($dbg_values > 1);
+			if (defined $2) {
+				$av_pending = 'V';
+			}
+			$type = 'N';
+
+		} elsif ($cur =~ /^(if|while|for)\b/o) {
+			print "COND($1)\n" if ($dbg_values > 1);
+			$av_pending = 'E';
+			$type = 'N';
+
+		} elsif ($cur =~/^(case)/o) {
+			print "CASE($1)\n" if ($dbg_values > 1);
+			$av_pend_colon = 'C';
+			$type = 'N';
+
+		} elsif ($cur =~/^(return|else|goto|typeof|__typeof__)\b/o) {
+			print "KEYWORD($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~ /^(\()/o) {
+			print "PAREN('$1')\n" if ($dbg_values > 1);
+			push(@av_paren_type, $av_pending);
+			$av_pending = '_';
+			$type = 'N';
+
+		} elsif ($cur =~ /^(\))/o) {
+			my $new_type = pop(@av_paren_type);
+			if ($new_type ne '_') {
+				$type = $new_type;
+				print "PAREN('$1') -> $type\n"
+							if ($dbg_values > 1);
+			} else {
+				print "PAREN('$1')\n" if ($dbg_values > 1);
+			}
+
+		} elsif ($cur =~ /^($Ident)\s*\(/o) {
+			print "FUNC($1)\n" if ($dbg_values > 1);
+			$type = 'V';
+			$av_pending = 'V';
+
+		} elsif ($cur =~ /^($Ident\s*):(?:\s*\d+\s*(,|=|;))?/) {
+			if (defined $2 && $type eq 'C' || $type eq 'T') {
+				$av_pend_colon = 'B';
+			} elsif ($type eq 'E') {
+				$av_pend_colon = 'L';
+			}
+			print "IDENT_COLON($1,$type>$av_pend_colon)\n" if ($dbg_values > 1);
+			$type = 'V';
+
+		} elsif ($cur =~ /^($Ident|$Constant)/o) {
+			print "IDENT($1)\n" if ($dbg_values > 1);
+			$type = 'V';
+
+		} elsif ($cur =~ /^($Assignment)/o) {
+			print "ASSIGN($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~/^(;|{|})/) {
+			print "END($1)\n" if ($dbg_values > 1);
+			$type = 'E';
+			$av_pend_colon = 'O';
+
+		} elsif ($cur =~/^(,)/) {
+			print "COMMA($1)\n" if ($dbg_values > 1);
+			$type = 'C';
+
+		} elsif ($cur =~ /^(\?)/o) {
+			print "QUESTION($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~ /^(:)/o) {
+			print "COLON($1,$av_pend_colon)\n" if ($dbg_values > 1);
+
+			substr($var, length($res), 1, $av_pend_colon);
+			if ($av_pend_colon eq 'C' || $av_pend_colon eq 'L') {
+				$type = 'E';
+			} else {
+				$type = 'N';
+			}
+			$av_pend_colon = 'O';
+
+		} elsif ($cur =~ /^(\[)/o) {
+			print "CLOSE($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~ /^(-(?![->])|\+(?!\+)|\*|\&\&|\&)/o) {
+			my $variant;
+
+			print "OPV($1)\n" if ($dbg_values > 1);
+			if ($type eq 'V') {
+				$variant = 'B';
+			} else {
+				$variant = 'U';
+			}
+
+			substr($var, length($res), 1, $variant);
+			$type = 'N';
+
+		} elsif ($cur =~ /^($Operators)/o) {
+			print "OP($1)\n" if ($dbg_values > 1);
+			if ($1 ne '++' && $1 ne '--') {
+				$type = 'N';
+			}
+
+		} elsif ($cur =~ /(^.)/o) {
+			print "C($1)\n" if ($dbg_values > 1);
+		}
+		if (defined $1) {
+			$cur = substr($cur, length($1));
+			$res .= $type x length($1);
+		}
+	}
+
+	return ($res, $var);
+}
+
+sub possible {
+	my ($possible, $line) = @_;
+	my $notPermitted = qr{(?:
+		^(?:
+			$Modifier|
+			$Storage|
+			$Type|
+			DEFINE_\S+
+		)$|
+		^(?:
+			goto|
+			return|
+			case|
+			else|
+			asm|__asm__|
+			do
+		)(?:\s|$)|
+		^(?:typedef|struct|enum)\b
+	    )}x;
+	warn "CHECK<$possible> ($line)\n" if ($dbg_possible > 2);
+	if ($possible !~ $notPermitted) {
+		# Check for modifiers.
+		$possible =~ s/\s*$Storage\s*//g;
+		$possible =~ s/\s*$Sparse\s*//g;
+		if ($possible =~ /^\s*$/) {
+
+		} elsif ($possible =~ /\s/) {
+			$possible =~ s/\s*$Type\s*//g;
+			for my $modifier (split(' ', $possible)) {
+				if ($modifier !~ $notPermitted) {
+					warn "MODIFIER: $modifier ($possible) ($line)\n" if ($dbg_possible);
+					push(@modifierList, $modifier);
+				}
+			}
+
+		} else {
+			warn "POSSIBLE: $possible ($line)\n" if ($dbg_possible);
+			push(@typeList, $possible);
+		}
+		build_types();
+	} else {
+		warn "NOTPOSS: $possible ($line)\n" if ($dbg_possible > 1);
+	}
+}
+
+my $prefix = '';
+
+sub report {
+	if (defined $tst_only && $_[0] !~ /\Q$tst_only\E/) {
+		return 0;
+	}
+	my $line = $prefix . $_[0];
+
+	$line = (split('\n', $line))[0] . "\n" if ($terse);
+
+	push(our @report, $line);
+
+	return 1;
+}
+sub report_dump {
+	our @report;
+}
+sub ERROR {
+	if (report("ERROR: $_[0]\n")) {
+		our $clean = 0;
+		our $cnt_error++;
+	}
+}
+sub WARN {
+	if (report("WARNING: $_[0]\n")) {
+		our $clean = 0;
+		our $cnt_warn++;
+	}
+}
+sub CHK {
+	if ($check && report("CHECK: $_[0]\n")) {
+		our $clean = 0;
+		our $cnt_chk++;
+	}
+}
+
+sub check_absolute_file {
+	my ($absolute, $herecurr) = @_;
+	my $file = $absolute;
+
+	##print "absolute<$absolute>\n";
+
+	# See if any suffix of this path is a path within the tree.
+	while ($file =~ s@^[^/]*/@@) {
+		if (-f "$root/$file") {
+			##print "file<$file>\n";
+			last;
+		}
+	}
+	if (! -f _)  {
+		return 0;
+	}
+
+	# It is, so see if the prefix is acceptable.
+	my $prefix = $absolute;
+	substr($prefix, -length($file)) = '';
+
+	##print "prefix<$prefix>\n";
+	if ($prefix ne ".../") {
+		WARN("use relative pathname instead of absolute in changelog text\n" . $herecurr);
+	}
+}
+
+sub process {
+	my $filename = shift;
+
+	my $linenr=0;
+	my $prevline="";
+	my $prevrawline="";
+	my $stashline="";
+	my $stashrawline="";
+
+	my $length;
+	my $indent;
+	my $previndent=0;
+	my $stashindent=0;
+
+	our $clean = 1;
+	my $signoff = 0;
+	my $is_patch = 0;
+
+	our @report = ();
+	our $cnt_lines = 0;
+	our $cnt_error = 0;
+	our $cnt_warn = 0;
+	our $cnt_chk = 0;
+
+	# Trace the real file/line as we go.
+	my $realfile = '';
+	my $realline = 0;
+	my $realcnt = 0;
+	my $here = '';
+	my $in_comment = 0;
+	my $comment_edge = 0;
+	my $first_line = 0;
+	my $p1_prefix = '';
+
+	my $prev_values = 'E';
+
+	# suppression flags
+	my %suppress_ifbraces;
+	my %suppress_whiletrailers;
+	my %suppress_export;
+
+	# Pre-scan the patch sanitizing the lines.
+	# Pre-scan the patch looking for any __setup documentation.
+	#
+	my @setup_docs = ();
+	my $setup_docs = 0;
+
+	sanitise_line_reset();
+	my $line;
+	foreach my $rawline (@rawlines) {
+		$linenr++;
+		$line = $rawline;
+
+		if ($rawline=~/^\+\+\+\s+(\S+)/) {
+			$setup_docs = 0;
+			if ($1 =~ m@Documentation/kernel-parameters.txt$@) {
+				$setup_docs = 1;
+			}
+			#next;
+		}
+		if ($rawline=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
+			$realline=$1-1;
+			if (defined $2) {
+				$realcnt=$3+1;
+			} else {
+				$realcnt=1+1;
+			}
+			$in_comment = 0;
+
+			# Guestimate if this is a continuing comment.  Run
+			# the context looking for a comment "edge".  If this
+			# edge is a close comment then we must be in a comment
+			# at context start.
+			my $edge;
+			my $cnt = $realcnt;
+			for (my $ln = $linenr + 1; $cnt > 0; $ln++) {
+				next if (defined $rawlines[$ln - 1] &&
+					 $rawlines[$ln - 1] =~ /^-/);
+				$cnt--;
+				#print "RAW<$rawlines[$ln - 1]>\n";
+				last if (!defined $rawlines[$ln - 1]);
+				if ($rawlines[$ln - 1] =~ m@(/\*|\*/)@ &&
+				    $rawlines[$ln - 1] !~ m@"[^"]*(?:/\*|\*/)[^"]*"@) {
+					($edge) = $1;
+					last;
+				}
+			}
+			if (defined $edge && $edge eq '*/') {
+				$in_comment = 1;
+			}
+
+			# Guestimate if this is a continuing comment.  If this
+			# is the start of a diff block and this line starts
+			# ' *' then it is very likely a comment.
+			if (!defined $edge &&
+			    $rawlines[$linenr] =~ m@^.\s*(?:\*\*+| \*)(?:\s|$)@)
+			{
+				$in_comment = 1;
+			}
+
+			##print "COMMENT:$in_comment edge<$edge> $rawline\n";
+			sanitise_line_reset($in_comment);
+
+		} elsif ($realcnt && $rawline =~ /^(?:\+| |$)/) {
+			# Standardise the strings and chars within the input to
+			# simplify matching -- only bother with positive lines.
+			$line = sanitise_line($rawline);
+		}
+		push(@lines, $line);
+
+		if ($realcnt > 1) {
+			$realcnt-- if ($line =~ /^(?:\+| |$)/);
+		} else {
+			$realcnt = 0;
+		}
+
+		#print "==>$rawline\n";
+		#print "-->$line\n";
+
+		if ($setup_docs && $line =~ /^\+/) {
+			push(@setup_docs, $line);
+		}
+	}
+
+	$prefix = '';
+
+	$realcnt = 0;
+	$linenr = 0;
+	foreach my $line (@lines) {
+		$linenr++;
+
+		my $rawline = $rawlines[$linenr - 1];
+
+#extract the line range in the file after the patch is applied
+		if ($line=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
+			$is_patch = 1;
+			$first_line = $linenr + 1;
+			$realline=$1-1;
+			if (defined $2) {
+				$realcnt=$3+1;
+			} else {
+				$realcnt=1+1;
+			}
+			annotate_reset();
+			$prev_values = 'E';
+
+			%suppress_ifbraces = ();
+			%suppress_whiletrailers = ();
+			%suppress_export = ();
+			next;
+
+# track the line number as we move through the hunk, note that
+# new versions of GNU diff omit the leading space on completely
+# blank context lines so we need to count that too.
+		} elsif ($line =~ /^( |\+|$)/) {
+			$realline++;
+			$realcnt-- if ($realcnt != 0);
+
+			# Measure the line length and indent.
+			($length, $indent) = line_stats($rawline);
+
+			# Track the previous line.
+			($prevline, $stashline) = ($stashline, $line);
+			($previndent, $stashindent) = ($stashindent, $indent);
+			($prevrawline, $stashrawline) = ($stashrawline, $rawline);
+
+			#warn "line<$line>\n";
+
+		} elsif ($realcnt == 1) {
+			$realcnt--;
+		}
+
+		my $hunk_line = ($realcnt != 0);
+
+#make up the handle for any error we report on this line
+		$prefix = "$filename:$realline: " if ($emacs && $file);
+		$prefix = "$filename:$linenr: " if ($emacs && !$file);
+
+		$here = "#$linenr: " if (!$file);
+		$here = "#$realline: " if ($file);
+
+		# extract the filename as it passes
+		if ($line =~ /^diff --git.*?(\S+)$/) {
+			$realfile = $1;
+			$realfile =~ s@^([^/]*)/@@;
+
+		} elsif ($line =~ /^\+\+\+\s+(\S+)/) {
+			$realfile = $1;
+			$realfile =~ s@^([^/]*)/@@;
+
+			$p1_prefix = $1;
+			if (!$file && $tree && $p1_prefix ne '' &&
+			    -e "$root/$p1_prefix") {
+				WARN("patch prefix '$p1_prefix' exists, appears to be a -p0 patch\n");
+			}
+
+			if ($realfile =~ m@^include/asm/@) {
+				ERROR("do not modify files in include/asm, change architecture specific files in include/asm-<architecture>\n" . "$here$rawline\n");
+			}
+			next;
+		}
+
+		$here .= "FILE: $realfile:$realline:" if ($realcnt != 0);
+
+		my $hereline = "$here\n$rawline\n";
+		my $herecurr = "$here\n$rawline\n";
+		my $hereprev = "$here\n$prevrawline\n$rawline\n";
+
+		$cnt_lines++ if ($realcnt != 0);
+
+# Check for incorrect file permissions
+		if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) {
+			my $permhere = $here . "FILE: $realfile\n";
+			if ($realfile =~ /(Makefile|Kconfig|\.c|\.h|\.S|\.tmpl)$/) {
+				ERROR("do not set execute permissions for source files\n" . $permhere);
+			}
+		}
+
+#check the patch for a signoff:
+		if ($line =~ /^\s*signed-off-by:/i) {
+			# This is a signoff, if ugly, so do not double report.
+			$signoff++;
+			if (!($line =~ /^\s*Signed-off-by:/)) {
+				WARN("Signed-off-by: is the preferred form\n" .
+					$herecurr);
+			}
+			if ($line =~ /^\s*signed-off-by:\S/i) {
+				WARN("space required after Signed-off-by:\n" .
+					$herecurr);
+			}
+		}
+
+# Check for wrappage within a valid hunk of the file
+		if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) {
+			ERROR("patch seems to be corrupt (line wrapped?)\n" .
+				$herecurr) if (!$emitted_corrupt++);
+		}
+
+# Check for absolute kernel paths.
+		if ($tree) {
+			while ($line =~ m{(?:^|\s)(/\S*)}g) {
+				my $file = $1;
+
+				if ($file =~ m{^(.*?)(?::\d+)+:?$} &&
+				    check_absolute_file($1, $herecurr)) {
+					#
+				} else {
+					check_absolute_file($file, $herecurr);
+				}
+			}
+		}
+
+# UTF-8 regex found at http://www.w3.org/International/questions/qa-forms-utf-8.en.php
+		if (($realfile =~ /^$/ || $line =~ /^\+/) &&
+		    $rawline !~ m/^$UTF8*$/) {
+			my ($utf8_prefix) = ($rawline =~ /^($UTF8*)/);
+
+			my $blank = copy_spacing($rawline);
+			my $ptr = substr($blank, 0, length($utf8_prefix)) . "^";
+			my $hereptr = "$hereline$ptr\n";
+
+			ERROR("Invalid UTF-8, patch and commit message should be encoded in UTF-8\n" . $hereptr);
+		}
+
+# ignore non-hunk lines and lines being removed
+		next if (!$hunk_line || $line =~ /^-/);
+
+#trailing whitespace
+		if ($line =~ /^\+.*\015/) {
+			my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+			ERROR("DOS line endings\n" . $herevet);
+
+		} elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) {
+			my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+			ERROR("trailing whitespace\n" . $herevet);
+			$rpt_cleaners = 1;
+		}
+
+# check for Kconfig help text having a real description
+# Only applies when adding the entry originally, after that we do not have
+# sufficient context to determine whether it is indeed long enough.
+		if ($realfile =~ /Kconfig/ &&
+		    $line =~ /\+\s*(?:---)?help(?:---)?$/) {
+			my $length = 0;
+			my $cnt = $realcnt;
+			my $ln = $linenr + 1;
+			my $f;
+			my $is_end = 0;
+			while ($cnt > 0 && defined $lines[$ln - 1]) {
+				$f = $lines[$ln - 1];
+				$cnt-- if ($lines[$ln - 1] !~ /^-/);
+				$is_end = $lines[$ln - 1] =~ /^\+/;
+				$ln++;
+
+				next if ($f =~ /^-/);
+				$f =~ s/^.//;
+				$f =~ s/#.*//;
+				$f =~ s/^\s+//;
+				next if ($f =~ /^$/);
+				if ($f =~ /^\s*config\s/) {
+					$is_end = 1;
+					last;
+				}
+				$length++;
+			}
+			WARN("please write a paragraph that describes the config symbol fully\n" . $herecurr) if ($is_end && $length < 4);
+			#print "is_end<$is_end> length<$length>\n";
+		}
+
+# check we are in a valid source file if not then ignore this hunk
+# only chek files in tools/libxl/
+		next if ($realfile !~ /^tools\/libxl\/.*\.(h|c|s|S|pl|sh)$/);
+
+#80 column limit
+		if ($line =~ /^\+/ && $prevrawline !~ /\/\*\*/ &&
+		    $rawline !~ /^.\s*\*\s*\@$Ident\s/ &&
+		    !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(KERN_\S+\s*|[^"]*))?"[X\t]*"\s*(?:,|\)\s*;)\s*$/ ||
+		    $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
+		    $length > 80)
+		{
+			WARN("line over 80 characters\n" . $herecurr);
+		}
+
+# check for spaces before a quoted newline
+		if ($rawline =~ /^.*\".*\s\\n/) {
+			WARN("unnecessary whitespace before a quoted newline\n" . $herecurr);
+		}
+
+# check for adding lines without a newline.
+		if ($line =~ /^\+/ && defined $lines[$linenr] && $lines[$linenr] =~ /^\\ No newline at end of file/) {
+			WARN("adding a line without newline at end of file\n" . $herecurr);
+		}
+
+
+# check we are in a valid source file C or perl if not then ignore this hunk
+		next if ($realfile !~ /\.(h|c|pl)$/);
+
+# in QEMU, no tabs are allowed
+		if ($rawline =~ /^\+.*\t/) {
+			my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+			ERROR("code indent should never use tabs\n" . $herevet);
+			$rpt_cleaners = 1;
+		}
+
+# check we are in a valid C source file if not then ignore this hunk
+		next if ($realfile !~ /\.(h|c)$/);
+
+# check for RCS/CVS revision markers
+		if ($rawline =~ /^\+.*\$(Revision|Log|Id)(?:\$|)/) {
+			WARN("CVS style keyword markers, these will _not_ be updated\n". $herecurr);
+		}
+
+# Check for libxl__sprintf
+		if ($line =~ /^\+.*libxl__sprintf/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the GCSPRINTF macro instead of libxl__sprintf\n" . $herevet);
+		}
+# Check for old log functions
+		if ($line =~ /^\+.*LIBXL__LOG_/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the new set of logging functions, LOG, LOGE and LOGEV\n" . $herevet);
+		}
+# Check for definitions of ctx
+		if ($line =~ /^\+.*libxl_ctx *ctx =/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the CTX macro directly instead of a variable\n" . $herevet);
+		}
+# Check for use of libxl__gc_owner
+		if ($line =~ /^\+.*libxl__gc_owner/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the CTX macro\n" . $herevet);
+		}
+
+# Check for potential 'bare' types
+		my ($stat, $cond, $line_nr_next, $remain_next, $off_next,
+		    $realline_next);
+		if ($realcnt && $line =~ /.\s*\S/) {
+			($stat, $cond, $line_nr_next, $remain_next, $off_next) =
+				ctx_statement_block($linenr, $realcnt, 0);
+			$stat =~ s/\n./\n /g;
+			$cond =~ s/\n./\n /g;
+
+			# Find the real next line.
+			$realline_next = $line_nr_next;
+			if (defined $realline_next &&
+			    (!defined $lines[$realline_next - 1] ||
+			     substr($lines[$realline_next - 1], $off_next) =~ /^\s*$/)) {
+				$realline_next++;
+			}
+
+			my $s = $stat;
+			$s =~ s/{.*$//s;
+
+			# Ignore goto labels.
+			if ($s =~ /$Ident:\*$/s) {
+
+			# Ignore functions being called
+			} elsif ($s =~ /^.\s*$Ident\s*\(/s) {
+
+			} elsif ($s =~ /^.\s*else\b/s) {
+
+			# declarations always start with types
+			} elsif ($prev_values eq 'E' && $s =~ /^.\s*(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?((?:\s*$Ident)+?)\b(?:\s+$Sparse)?\s*\**\s*(?:$Ident|\(\*[^\)]*\))(?:\s*$Modifier)?\s*(?:;|=|,|\()/s) {
+				my $type = $1;
+				$type =~ s/\s+/ /g;
+				possible($type, "A:" . $s);
+
+			# definitions in global scope can only start with types
+			} elsif ($s =~ /^.(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?($Ident)\b\s*(?!:)/s) {
+				possible($1, "B:" . $s);
+			}
+
+			# any (foo ... *) is a pointer cast, and foo is a type
+			while ($s =~ /\(($Ident)(?:\s+$Sparse)*[\s\*]+\s*\)/sg) {
+				possible($1, "C:" . $s);
+			}
+
+			# Check for any sort of function declaration.
+			# int foo(something bar, other baz);
+			# void (*store_gdt)(x86_descr_ptr *);
+			if ($prev_values eq 'E' && $s =~ /^(.(?:typedef\s*)?(?:(?:$Storage|$Inline)\s*)*\s*$Type\s*(?:\b$Ident|\(\*\s*$Ident\))\s*)\(/s) {
+				my ($name_len) = length($1);
+
+				my $ctx = $s;
+				substr($ctx, 0, $name_len + 1, '');
+				$ctx =~ s/\)[^\)]*$//;
+
+				for my $arg (split(/\s*,\s*/, $ctx)) {
+					if ($arg =~ /^(?:const\s+)?($Ident)(?:\s+$Sparse)*\s*\**\s*(:?\b$Ident)?$/s || $arg =~ /^($Ident)$/s) {
+
+						possible($1, "D:" . $s);
+					}
+				}
+			}
+
+		}
+
+#
+# Checks which may be anchored in the context.
+#
+
+# Check for switch () and associated case and default
+# statements should be at the same indent.
+		if ($line=~/\bswitch\s*\(.*\)/) {
+			my $err = '';
+			my $sep = '';
+			my @ctx = ctx_block_outer($linenr, $realcnt);
+			shift(@ctx);
+			for my $ctx (@ctx) {
+				my ($clen, $cindent) = line_stats($ctx);
+				if ($ctx =~ /^\+\s*(case\s+|default:)/ &&
+							$indent != $cindent) {
+					$err .= "$sep$ctx\n";
+					$sep = '';
+				} else {
+					$sep = "[...]\n";
+				}
+			}
+			if ($err ne '') {
+				ERROR("switch and case should be at the same indent\n$hereline$err");
+			}
+		}
+
+# if/while/etc brace do not go on next line, unless defining a do while loop,
+# or if that brace on the next line is for something else
+		if ($line =~ /(.*)\b((?:if|while|for|switch)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) {
+			my $pre_ctx = "$1$2";
+
+			my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0);
+			my $ctx_cnt = $realcnt - $#ctx - 1;
+			my $ctx = join("\n", @ctx);
+
+			my $ctx_ln = $linenr;
+			my $ctx_skip = $realcnt;
+
+			while ($ctx_skip > $ctx_cnt || ($ctx_skip == $ctx_cnt &&
+					defined $lines[$ctx_ln - 1] &&
+					$lines[$ctx_ln - 1] =~ /^-/)) {
+				##print "SKIP<$ctx_skip> CNT<$ctx_cnt>\n";
+				$ctx_skip-- if (!defined $lines[$ctx_ln - 1] || $lines[$ctx_ln - 1] !~ /^-/);
+				$ctx_ln++;
+			}
+
+			#print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n";
+			#print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n";
+
+			if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) {
+				ERROR("that open brace { should be on the previous line\n" .
+					"$here\n$ctx\n$rawlines[$ctx_ln - 1]\n");
+			}
+			if ($level == 0 && $pre_ctx !~ /}\s*while\s*\($/ &&
+			    $ctx =~ /\)\s*\;\s*$/ &&
+			    defined $lines[$ctx_ln - 1])
+			{
+				my ($nlength, $nindent) = line_stats($lines[$ctx_ln - 1]);
+				if ($nindent > $indent) {
+					WARN("trailing semicolon indicates no statements, indent implies otherwise\n" .
+						"$here\n$ctx\n$rawlines[$ctx_ln - 1]\n");
+				}
+			}
+		}
+
+# Check relative indent for conditionals and blocks.
+		if ($line =~ /\b(?:(?:if|while|for)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) {
+			my ($s, $c) = ($stat, $cond);
+
+			substr($s, 0, length($c), '');
+
+			# Make sure we remove the line prefixes as we have
+			# none on the first line, and are going to readd them
+			# where necessary.
+			$s =~ s/\n./\n/gs;
+
+			# Find out how long the conditional actually is.
+			my @newlines = ($c =~ /\n/gs);
+			my $cond_lines = 1 + $#newlines;
+
+			# We want to check the first line inside the block
+			# starting at the end of the conditional, so remove:
+			#  1) any blank line termination
+			#  2) any opening brace { on end of the line
+			#  3) any do (...) {
+			my $continuation = 0;
+			my $check = 0;
+			$s =~ s/^.*\bdo\b//;
+			$s =~ s/^\s*{//;
+			if ($s =~ s/^\s*\\//) {
+				$continuation = 1;
+			}
+			if ($s =~ s/^\s*?\n//) {
+				$check = 1;
+				$cond_lines++;
+			}
+
+			# Also ignore a loop construct at the end of a
+			# preprocessor statement.
+			if (($prevline =~ /^.\s*#\s*define\s/ ||
+			    $prevline =~ /\\\s*$/) && $continuation == 0) {
+				$check = 0;
+			}
+
+			my $cond_ptr = -1;
+			$continuation = 0;
+			while ($cond_ptr != $cond_lines) {
+				$cond_ptr = $cond_lines;
+
+				# If we see an #else/#elif then the code
+				# is not linear.
+				if ($s =~ /^\s*\#\s*(?:else|elif)/) {
+					$check = 0;
+				}
+
+				# Ignore:
+				#  1) blank lines, they should be at 0,
+				#  2) preprocessor lines, and
+				#  3) labels.
+				if ($continuation ||
+				    $s =~ /^\s*?\n/ ||
+				    $s =~ /^\s*#\s*?/ ||
+				    $s =~ /^\s*$Ident\s*:/) {
+					$continuation = ($s =~ /^.*?\\\n/) ? 1 : 0;
+					if ($s =~ s/^.*?\n//) {
+						$cond_lines++;
+					}
+				}
+			}
+
+			my (undef, $sindent) = line_stats("+" . $s);
+			my $stat_real = raw_line($linenr, $cond_lines);
+
+			# Check if either of these lines are modified, else
+			# this is not this patch's fault.
+			if (!defined($stat_real) ||
+			    $stat !~ /^\+/ && $stat_real !~ /^\+/) {
+				$check = 0;
+			}
+			if (defined($stat_real) && $cond_lines > 1) {
+				$stat_real = "[...]\n$stat_real";
+			}
+
+			#print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n";
+
+			if ($check && (($sindent % 4) != 0 ||
+			    ($sindent <= $indent && $s ne ''))) {
+				WARN("suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n");
+			}
+		}
+
+		# Track the 'values' across context and added lines.
+		my $opline = $line; $opline =~ s/^./ /;
+		my ($curr_values, $curr_vars) =
+				annotate_values($opline . "\n", $prev_values);
+		$curr_values = $prev_values . $curr_values;
+		if ($dbg_values) {
+			my $outline = $opline; $outline =~ s/\t/ /g;
+			print "$linenr > .$outline\n";
+			print "$linenr > $curr_values\n";
+			print "$linenr >  $curr_vars\n";
+		}
+		$prev_values = substr($curr_values, -1);
+
+#ignore lines not being added
+		if ($line=~/^[^\+]/) {next;}
+
+# TEST: allow direct testing of the type matcher.
+		if ($dbg_type) {
+			if ($line =~ /^.\s*$Declare\s*$/) {
+				ERROR("TEST: is type\n" . $herecurr);
+			} elsif ($dbg_type > 1 && $line =~ /^.+($Declare)/) {
+				ERROR("TEST: is not type ($1 is)\n". $herecurr);
+			}
+			next;
+		}
+# TEST: allow direct testing of the attribute matcher.
+		if ($dbg_attr) {
+			if ($line =~ /^.\s*$Modifier\s*$/) {
+				ERROR("TEST: is attr\n" . $herecurr);
+			} elsif ($dbg_attr > 1 && $line =~ /^.+($Modifier)/) {
+				ERROR("TEST: is not attr ($1 is)\n". $herecurr);
+			}
+			next;
+		}
+
+# check for initialisation to aggregates open brace on the next line
+		if ($line =~ /^.\s*{/ &&
+		    $prevline =~ /(?:^|[^=])=\s*$/) {
+			ERROR("that open brace { should be on the previous line\n" . $hereprev);
+		}
+
+#
+# Checks which are anchored on the added line.
+#
+
+# check for malformed paths in #include statements (uses RAW line)
+		if ($rawline =~ m{^.\s*\#\s*include\s+[<"](.*)[">]}) {
+			my $path = $1;
+			if ($path =~ m{//}) {
+				ERROR("malformed #include filename\n" .
+					$herecurr);
+			}
+		}
+
+# no C99 // comments
+		if ($line =~ m{//}) {
+			ERROR("do not use C99 // comments\n" . $herecurr);
+		}
+		# Remove C99 comments.
+		$line =~ s@//.*@@;
+		$opline =~ s@//.*@@;
+
+# EXPORT_SYMBOL should immediately follow the thing it is exporting, consider
+# the whole statement.
+#print "APW <$lines[$realline_next - 1]>\n";
+		if (defined $realline_next &&
+		    exists $lines[$realline_next - 1] &&
+		    !defined $suppress_export{$realline_next} &&
+		    ($lines[$realline_next - 1] =~ /EXPORT_SYMBOL.*\((.*)\)/ ||
+		     $lines[$realline_next - 1] =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) {
+			# Handle definitions which produce identifiers with
+			# a prefix:
+			#   XXX(foo);
+			#   EXPORT_SYMBOL(something_foo);
+			my $name = $1;
+			if ($stat =~ /^.([A-Z_]+)\s*\(\s*($Ident)/ &&
+			    $name =~ /^${Ident}_$2/) {
+#print "FOO C name<$name>\n";
+				$suppress_export{$realline_next} = 1;
+
+			} elsif ($stat !~ /(?:
+				\n.}\s*$|
+				^.DEFINE_$Ident\(\Q$name\E\)|
+				^.DECLARE_$Ident\(\Q$name\E\)|
+				^.LIST_HEAD\(\Q$name\E\)|
+				^.(?:$Storage\s+)?$Type\s*\(\s*\*\s*\Q$name\E\s*\)\s*\(|
+				\b\Q$name\E(?:\s+$Attribute)*\s*(?:;|=|\[|\()
+			    )/x) {
+#print "FOO A<$lines[$realline_next - 1]> stat<$stat> name<$name>\n";
+				$suppress_export{$realline_next} = 2;
+			} else {
+				$suppress_export{$realline_next} = 1;
+			}
+		}
+		if (!defined $suppress_export{$linenr} &&
+		    $prevline =~ /^.\s*$/ &&
+		    ($line =~ /EXPORT_SYMBOL.*\((.*)\)/ ||
+		     $line =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) {
+#print "FOO B <$lines[$linenr - 1]>\n";
+			$suppress_export{$linenr} = 2;
+		}
+		if (defined $suppress_export{$linenr} &&
+		    $suppress_export{$linenr} == 2) {
+			WARN("EXPORT_SYMBOL(foo); should immediately follow its function/variable\n" . $herecurr);
+		}
+
+# check for global initialisers.
+		if ($line =~ /^.$Type\s*$Ident\s*(?:\s+$Modifier)*\s*=\s*(0|NULL|false)\s*;/) {
+			ERROR("do not initialise globals to 0 or NULL\n" .
+				$herecurr);
+		}
+# check for static initialisers.
+		if ($line =~ /\bstatic\s.*=\s*(0|NULL|false)\s*;/) {
+			ERROR("do not initialise statics to 0 or NULL\n" .
+				$herecurr);
+		}
+
+# * goes on variable not on type
+		# (char*[ const])
+		if ($line =~ m{\($NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)\)}) {
+			my ($from, $to) = ($1, $1);
+
+			# Should start with a space.
+			$to =~ s/^(\S)/ $1/;
+			# Should not end with a space.
+			$to =~ s/\s+$//;
+			# '*'s should not have spaces between.
+			while ($to =~ s/\*\s+\*/\*\*/) {
+			}
+
+			#print "from<$from> to<$to>\n";
+			if ($from ne $to) {
+				ERROR("\"(foo$from)\" should be \"(foo$to)\"\n" .  $herecurr);
+			}
+		} elsif ($line =~ m{\b$NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)($Ident)}) {
+			my ($from, $to, $ident) = ($1, $1, $2);
+
+			# Should start with a space.
+			$to =~ s/^(\S)/ $1/;
+			# Should not end with a space.
+			$to =~ s/\s+$//;
+			# '*'s should not have spaces between.
+			while ($to =~ s/\*\s+\*/\*\*/) {
+			}
+			# Modifiers should have spaces.
+			$to =~ s/(\b$Modifier$)/$1 /;
+
+			#print "from<$from> to<$to> ident<$ident>\n";
+			if ($from ne $to && $ident !~ /^$Modifier$/) {
+				ERROR("\"foo${from}bar\" should be \"foo${to}bar\"\n" .  $herecurr);
+			}
+		}
+
+# # no BUG() or BUG_ON()
+# 		if ($line =~ /\b(BUG|BUG_ON)\b/) {
+# 			print "Try to use WARN_ON & Recovery code rather than BUG() or BUG_ON()\n";
+# 			print "$herecurr";
+# 			$clean = 0;
+# 		}
+
+		if ($line =~ /\bLINUX_VERSION_CODE\b/) {
+			WARN("LINUX_VERSION_CODE should be avoided, code should be for the version to which it is merged\n" . $herecurr);
+		}
+
+# printk should use KERN_* levels.  Note that follow on printk's on the
+# same line do not need a level, so we use the current block context
+# to try and find and validate the current printk.  In summary the current
+# printk includes all preceding printk's which have no newline on the end.
+# we assume the first bad printk is the one to report.
+		if ($line =~ /\bprintk\((?!KERN_)\s*"/) {
+			my $ok = 0;
+			for (my $ln = $linenr - 1; $ln >= $first_line; $ln--) {
+				#print "CHECK<$lines[$ln - 1]\n";
+				# we have a preceding printk if it ends
+				# with "\n" ignore it, else it is to blame
+				if ($lines[$ln - 1] =~ m{\bprintk\(}) {
+					if ($rawlines[$ln - 1] !~ m{\\n"}) {
+						$ok = 1;
+					}
+					last;
+				}
+			}
+			if ($ok == 0) {
+				WARN("printk() should include KERN_ facility level\n" . $herecurr);
+			}
+		}
+
+# function brace can't be on same line, except for #defines of do while,
+# or if closed on same line
+		if (($line=~/$Type\s*$Ident\(.*\).*\s{/) and
+		    !($line=~/\#\s*define.*do\s{/) and !($line=~/}/)) {
+			ERROR("open brace '{' following function declarations go on the next line\n" . $herecurr);
+		}
+
+# open braces for enum, union and struct go on the same line.
+		if ($line =~ /^.\s*{/ &&
+		    $prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) {
+			ERROR("open brace '{' following $1 go on the same line\n" . $hereprev);
+		}
+
+# missing space after union, struct or enum definition
+		if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?(?:\s+$Ident)?[=\{]/) {
+		    WARN("missing space after $1 definition\n" . $herecurr);
+		}
+
+# check for spacing round square brackets; allowed:
+#  1. with a type on the left -- int [] a;
+#  2. at the beginning of a line for slice initialisers -- [0...10] = 5,
+#  3. inside a curly brace -- = { [0...10] = 5 }
+		while ($line =~ /(.*?\s)\[/g) {
+			my ($where, $prefix) = ($-[1], $1);
+			if ($prefix !~ /$Type\s+$/ &&
+			    ($where != 0 || $prefix !~ /^.\s+$/) &&
+			    $prefix !~ /{\s+$/) {
+				ERROR("space prohibited before open square bracket '['\n" . $herecurr);
+			}
+		}
+
+# check for spaces between functions and their parentheses.
+		while ($line =~ /($Ident)\s+\(/g) {
+			my $name = $1;
+			my $ctx_before = substr($line, 0, $-[1]);
+			my $ctx = "$ctx_before$name";
+
+			# Ignore those directives where spaces _are_ permitted.
+			if ($name =~ /^(?:
+				if|for|while|switch|return|case|
+				volatile|__volatile__|
+				__attribute__|format|__extension__|
+				asm|__asm__)$/x)
+			{
+
+			# cpp #define statements have non-optional spaces, ie
+			# if there is a space between the name and the open
+			# parenthesis it is simply not a parameter group.
+			} elsif ($ctx_before =~ /^.\s*\#\s*define\s*$/) {
+
+			# cpp #elif statement condition may start with a (
+			} elsif ($ctx =~ /^.\s*\#\s*elif\s*$/) {
+
+			# If this whole things ends with a type its most
+			# likely a typedef for a function.
+			} elsif ($ctx =~ /$Type$/) {
+
+			} else {
+				WARN("space prohibited between function name and open parenthesis '('\n" . $herecurr);
+			}
+		}
+# Check operator spacing.
+		if (!($line=~/\#\s*include/)) {
+			my $ops = qr{
+				<<=|>>=|<=|>=|==|!=|
+				\+=|-=|\*=|\/=|%=|\^=|\|=|&=|
+				=>|->|<<|>>|<|>|=|!|~|
+				&&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%|
+				\?|:
+			}x;
+			my @elements = split(/($ops|;)/, $opline);
+			my $off = 0;
+
+			my $blank = copy_spacing($opline);
+
+			for (my $n = 0; $n < $#elements; $n += 2) {
+				$off += length($elements[$n]);
+
+				# Pick up the preceding and succeeding characters.
+				my $ca = substr($opline, 0, $off);
+				my $cc = '';
+				if (length($opline) >= ($off + length($elements[$n + 1]))) {
+					$cc = substr($opline, $off + length($elements[$n + 1]));
+				}
+				my $cb = "$ca$;$cc";
+
+				my $a = '';
+				$a = 'V' if ($elements[$n] ne '');
+				$a = 'W' if ($elements[$n] =~ /\s$/);
+				$a = 'C' if ($elements[$n] =~ /$;$/);
+				$a = 'B' if ($elements[$n] =~ /(\[|\()$/);
+				$a = 'O' if ($elements[$n] eq '');
+				$a = 'E' if ($ca =~ /^\s*$/);
+
+				my $op = $elements[$n + 1];
+
+				my $c = '';
+				if (defined $elements[$n + 2]) {
+					$c = 'V' if ($elements[$n + 2] ne '');
+					$c = 'W' if ($elements[$n + 2] =~ /^\s/);
+					$c = 'C' if ($elements[$n + 2] =~ /^$;/);
+					$c = 'B' if ($elements[$n + 2] =~ /^(\)|\]|;)/);
+					$c = 'O' if ($elements[$n + 2] eq '');
+					$c = 'E' if ($elements[$n + 2] =~ /^\s*\\$/);
+				} else {
+					$c = 'E';
+				}
+
+				my $ctx = "${a}x${c}";
+
+				my $at = "(ctx:$ctx)";
+
+				my $ptr = substr($blank, 0, $off) . "^";
+				my $hereptr = "$hereline$ptr\n";
+
+				# Pull out the value of this operator.
+				my $op_type = substr($curr_values, $off + 1, 1);
+
+				# Get the full operator variant.
+				my $opv = $op . substr($curr_vars, $off, 1);
+
+				# Ignore operators passed as parameters.
+				if ($op_type ne 'V' &&
+				    $ca =~ /\s$/ && $cc =~ /^\s*,/) {
+
+#				# Ignore comments
+#				} elsif ($op =~ /^$;+$/) {
+
+				# ; should have either the end of line or a space or \ after it
+				} elsif ($op eq ';') {
+					if ($ctx !~ /.x[WEBC]/ &&
+					    $cc !~ /^\\/ && $cc !~ /^;/) {
+						ERROR("space required after that '$op' $at\n" . $hereptr);
+					}
+
+				# // is a comment
+				} elsif ($op eq '//') {
+
+				# No spaces for:
+				#   ->
+				#   :   when part of a bitfield
+				} elsif ($op eq '->' || $opv eq ':B') {
+					if ($ctx =~ /Wx.|.xW/) {
+						ERROR("spaces prohibited around that '$op' $at\n" . $hereptr);
+					}
+
+				# , must have a space on the right.
+                                # not required when having a single },{ on one line
+				} elsif ($op eq ',') {
+					if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/ &&
+                                            ($elements[$n] . $elements[$n + 2]) !~ " *}{") {
+						ERROR("space required after that '$op' $at\n" . $hereptr);
+					}
+
+				# '*' as part of a type definition -- reported already.
+				} elsif ($opv eq '*_') {
+					#warn "'*' is part of type\n";
+
+				# unary operators should have a space before and
+				# none after.  May be left adjacent to another
+				# unary operator, or a cast
+				} elsif ($op eq '!' || $op eq '~' ||
+					 $opv eq '*U' || $opv eq '-U' ||
+					 $opv eq '&U' || $opv eq '&&U') {
+					if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) {
+						ERROR("space required before that '$op' $at\n" . $hereptr);
+					}
+					if ($op eq '*' && $cc =~/\s*$Modifier\b/) {
+						# A unary '*' may be const
+
+					} elsif ($ctx =~ /.xW/) {
+						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
+					}
+
+				# unary ++ and unary -- are allowed no space on one side.
+				} elsif ($op eq '++' or $op eq '--') {
+					if ($ctx !~ /[WEOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) {
+						ERROR("space required one side of that '$op' $at\n" . $hereptr);
+					}
+					if ($ctx =~ /Wx[BE]/ ||
+					    ($ctx =~ /Wx./ && $cc =~ /^;/)) {
+						ERROR("space prohibited before that '$op' $at\n" . $hereptr);
+					}
+					if ($ctx =~ /ExW/) {
+						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
+					}
+
+
+				# << and >> may either have or not have spaces both sides
+				} elsif ($op eq '<<' or $op eq '>>' or
+					 $op eq '&' or $op eq '^' or $op eq '|' or
+					 $op eq '+' or $op eq '-' or
+					 $op eq '/' or $op eq '%')
+				{
+					if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) {
+						ERROR("need consistent spacing around '$op' $at\n" .
+							$hereptr);
+					}
+
+				# A colon needs no spaces before when it is
+				# terminating a case value or a label.
+				} elsif ($opv eq ':C' || $opv eq ':L') {
+					if ($ctx =~ /Wx./) {
+						ERROR("space prohibited before that '$op' $at\n" . $hereptr);
+					}
+
+				# All the others need spaces both sides.
+				} elsif ($ctx !~ /[EWC]x[CWE]/ && $opv ne '*B') {
+					my $ok = 0;
+
+					# Ignore email addresses <foo@bar>
+					if (($op eq '<' &&
+					     $cc =~ /^\S+\@\S+>/) ||
+					    ($op eq '>' &&
+					     $ca =~ /<\S+\@\S+$/))
+					{
+						$ok = 1;
+					}
+
+					# Ignore ?:
+					if (($opv eq ':O' && $ca =~ /\?$/) ||
+					    ($op eq '?' && $cc =~ /^:/)) {
+						$ok = 1;
+					}
+
+					if ($ok == 0) {
+						ERROR("spaces required around that '$op' $at\n" . $hereptr);
+					}
+				}
+				$off += length($elements[$n + 1]);
+			}
+		}
+
+# check for multiple assignments
+		if ($line =~ /^.\s*$Lval\s*=\s*$Lval\s*=(?!=)/) {
+			CHK("multiple assignments should be avoided\n" . $herecurr);
+		}
+
+## # check for multiple declarations, allowing for a function declaration
+## # continuation.
+## 		if ($line =~ /^.\s*$Type\s+$Ident(?:\s*=[^,{]*)?\s*,\s*$Ident.*/ &&
+## 		    $line !~ /^.\s*$Type\s+$Ident(?:\s*=[^,{]*)?\s*,\s*$Type\s*$Ident.*/) {
+##
+## 			# Remove any bracketed sections to ensure we do not
+## 			# falsly report the parameters of functions.
+## 			my $ln = $line;
+## 			while ($ln =~ s/\([^\(\)]*\)//g) {
+## 			}
+## 			if ($ln =~ /,/) {
+## 				WARN("declaring multiple variables together should be avoided\n" . $herecurr);
+## 			}
+## 		}
+
+#need space before brace following if, while, etc
+		if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) ||
+		    $line =~ /do{/) {
+			ERROR("space required before the open brace '{'\n" . $herecurr);
+		}
+
+# closing brace should have a space following it when it has anything
+# on the line
+		if ($line =~ /}(?!(?:,|;|\)))\S/) {
+			ERROR("space required after that close brace '}'\n" . $herecurr);
+		}
+
+# check spacing on square brackets
+		if ($line =~ /\[\s/ && $line !~ /\[\s*$/) {
+			ERROR("space prohibited after that open square bracket '['\n" . $herecurr);
+		}
+		if ($line =~ /\s\]/) {
+			ERROR("space prohibited before that close square bracket ']'\n" . $herecurr);
+		}
+
+# check spacing on parentheses
+		if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ &&
+		    $line !~ /for\s*\(\s+;/) {
+			ERROR("space prohibited after that open parenthesis '('\n" . $herecurr);
+		}
+		if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ &&
+		    $line !~ /for\s*\(.*;\s+\)/ &&
+		    $line !~ /:\s+\)/) {
+			ERROR("space prohibited before that close parenthesis ')'\n" . $herecurr);
+		}
+
+# Return is not a function.
+		if (defined($stat) && $stat =~ /^.\s*return(\s*)(\(.*);/s) {
+			my $spacing = $1;
+			my $value = $2;
+
+			# Flatten any parentheses
+			$value =~ s/\(/ \(/g;
+			$value =~ s/\)/\) /g;
+			while ($value =~ s/\[[^\{\}]*\]/1/ ||
+			       $value !~ /(?:$Ident|-?$Constant)\s*
+					     $Compare\s*
+					     (?:$Ident|-?$Constant)/x &&
+			       $value =~ s/\([^\(\)]*\)/1/) {
+			}
+#print "value<$value>\n";
+			if ($value =~ /^\s*(?:$Ident|-?$Constant)\s*$/) {
+				ERROR("return is not a function, parentheses are not required\n" . $herecurr);
+
+			} elsif ($spacing !~ /\s+/) {
+				ERROR("space required before the open parenthesis '('\n" . $herecurr);
+			}
+		}
+# Return of what appears to be an errno should normally be -'ve
+		if ($line =~ /^.\s*return\s*(E[A-Z]*)\s*;/) {
+			my $name = $1;
+			if ($name ne 'EOF' && $name ne 'ERROR') {
+				CHK("return of an errno should typically be -ve (return -$1)\n" . $herecurr);
+			}
+		}
+
+# Need a space before open parenthesis after if, while etc
+		if ($line=~/\b(if|while|for|switch)\(/) {
+			ERROR("space required before the open parenthesis '('\n" . $herecurr);
+		}
+
+# Check for illegal assignment in if conditional -- and check for trailing
+# statements after the conditional.
+		if ($line =~ /do\s*(?!{)/) {
+			my ($stat_next) = ctx_statement_block($line_nr_next,
+						$remain_next, $off_next);
+			$stat_next =~ s/\n./\n /g;
+			##print "stat<$stat> stat_next<$stat_next>\n";
+
+			if ($stat_next =~ /^\s*while\b/) {
+				# If the statement carries leading newlines,
+				# then count those as offsets.
+				my ($whitespace) =
+					($stat_next =~ /^((?:\s*\n[+-])*\s*)/s);
+				my $offset =
+					statement_rawlines($whitespace) - 1;
+
+				$suppress_whiletrailers{$line_nr_next +
+								$offset} = 1;
+			}
+		}
+		if (!defined $suppress_whiletrailers{$linenr} &&
+		    $line =~ /\b(?:if|while|for)\s*\(/ && $line !~ /^.\s*#/) {
+			my ($s, $c) = ($stat, $cond);
+
+			if ($c =~ /\bif\s*\(.*[^<>!=]=[^=].*/s) {
+				ERROR("do not use assignment in if condition\n" . $herecurr);
+			}
+
+			# Find out what is on the end of the line after the
+			# conditional.
+			substr($s, 0, length($c), '');
+			$s =~ s/\n.*//g;
+			$s =~ s/$;//g; 	# Remove any comments
+			if (length($c) && $s !~ /^\s*{?\s*\\*\s*$/ &&
+			    $c !~ /}\s*while\s*/ && length($s) == 1)
+			{
+				# Find out how long the conditional actually is.
+				my @newlines = ($c =~ /\n/gs);
+				my $cond_lines = 1 + $#newlines;
+				my $stat_real = '';
+
+				$stat_real = raw_line($linenr, $cond_lines)
+							. "\n" if ($cond_lines);
+				if (defined($stat_real) && $cond_lines > 1) {
+					$stat_real = "[...]\n$stat_real";
+				}
+
+				ERROR("trailing statements should be on next line\n" . $herecurr . $stat_real);
+			}
+		}
+
+# Check for bitwise tests written as boolean
+		if ($line =~ /
+			(?:
+				(?:\[|\(|\&\&|\|\|)
+				\s*0[xX][0-9]+\s*
+				(?:\&\&|\|\|)
+			|
+				(?:\&\&|\|\|)
+				\s*0[xX][0-9]+\s*
+				(?:\&\&|\|\||\)|\])
+			)/x)
+		{
+			WARN("boolean test with hexadecimal, perhaps just 1 \& or \|?\n" . $herecurr);
+		}
+
+# if and else should not have general statements after it
+		if ($line =~ /^.\s*(?:}\s*)?else\b(.*)/) {
+			my $s = $1;
+			$s =~ s/$;//g; 	# Remove any comments
+			if ($s !~ /^\s*(?:\sif|(?:{|)\s*\\?\s*$)/) {
+				ERROR("trailing statements should be on next line\n" . $herecurr);
+			}
+		}
+# if should not continue a brace
+		if ($line =~ /}\s*if\b/) {
+			ERROR("trailing statements should be on next line\n" .
+				$herecurr);
+		}
+# case and default should not have general statements after them
+		if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g &&
+		    $line !~ /\G(?:
+			(?:\s*$;*)(?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$|
+			\s*return\s+
+		    )/xg)
+		{
+			ERROR("trailing statements should be on next line\n" . $herecurr);
+		}
+
+		# Check for }<nl>else {, these must be at the same
+		# indent level to be relevant to each other.
+		if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and
+						$previndent == $indent) {
+			ERROR("else should follow close brace '}'\n" . $hereprev);
+		}
+
+		if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ and
+						$previndent == $indent) {
+			my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0);
+
+			# Find out what is on the end of the line after the
+			# conditional.
+			substr($s, 0, length($c), '');
+			$s =~ s/\n.*//g;
+
+			if ($s =~ /^\s*;/) {
+				ERROR("while should follow close brace '}'\n" . $hereprev);
+			}
+		}
+
+#studly caps, commented out until figure out how to distinguish between use of existing and adding new
+#		if (($line=~/[\w_][a-z\d]+[A-Z]/) and !($line=~/print/)) {
+#		    print "No studly caps, use _\n";
+#		    print "$herecurr";
+#		    $clean = 0;
+#		}
+
+#no spaces allowed after \ in define
+		if ($line=~/\#\s*define.*\\\s$/) {
+			WARN("Whitepspace after \\ makes next lines useless\n" . $herecurr);
+		}
+
+#warn if <asm/foo.h> is #included and <linux/foo.h> is available (uses RAW line)
+		if ($tree && $rawline =~ m{^.\s*\#\s*include\s*\<asm\/(.*)\.h\>}) {
+			my $file = "$1.h";
+			my $checkfile = "include/linux/$file";
+			if (-f "$root/$checkfile" &&
+			    $realfile ne $checkfile &&
+			    $1 !~ /$allowed_asm_includes/)
+			{
+				if ($realfile =~ m{^arch/}) {
+					CHK("Consider using #include <linux/$file> instead of <asm/$file>\n" . $herecurr);
+				} else {
+					WARN("Use #include <linux/$file> instead of <asm/$file>\n" . $herecurr);
+				}
+			}
+		}
+
+# multi-statement macros should be enclosed in a do while loop, grab the
+# first statement and ensure its the whole macro if its not enclosed
+# in a known good container
+		if ($realfile !~ m@/vmlinux.lds.h$@ &&
+		    $line =~ /^.\s*\#\s*define\s*$Ident(\()?/) {
+			my $ln = $linenr;
+			my $cnt = $realcnt;
+			my ($off, $dstat, $dcond, $rest);
+			my $ctx = '';
+
+			my $args = defined($1);
+
+			# Find the end of the macro and limit our statement
+			# search to that.
+			while ($cnt > 0 && defined $lines[$ln - 1] &&
+				$lines[$ln - 1] =~ /^(?:-|..*\\$)/)
+			{
+				$ctx .= $rawlines[$ln - 1] . "\n";
+				$cnt-- if ($lines[$ln - 1] !~ /^-/);
+				$ln++;
+			}
+			$ctx .= $rawlines[$ln - 1];
+
+			($dstat, $dcond, $ln, $cnt, $off) =
+				ctx_statement_block($linenr, $ln - $linenr + 1, 0);
+			#print "dstat<$dstat> dcond<$dcond> cnt<$cnt> off<$off>\n";
+			#print "LINE<$lines[$ln-1]> len<" . length($lines[$ln-1]) . "\n";
+
+			# Extract the remainder of the define (if any) and
+			# rip off surrounding spaces, and trailing \'s.
+			$rest = '';
+			while ($off != 0 || ($cnt > 0 && $rest =~ /\\\s*$/)) {
+				#print "ADDING cnt<$cnt> $off <" . substr($lines[$ln - 1], $off) . "> rest<$rest>\n";
+				if ($off != 0 || $lines[$ln - 1] !~ /^-/) {
+					$rest .= substr($lines[$ln - 1], $off) . "\n";
+					$cnt--;
+				}
+				$ln++;
+				$off = 0;
+			}
+			$rest =~ s/\\\n.//g;
+			$rest =~ s/^\s*//s;
+			$rest =~ s/\s*$//s;
+
+			# Clean up the original statement.
+			if ($args) {
+				substr($dstat, 0, length($dcond), '');
+			} else {
+				$dstat =~ s/^.\s*\#\s*define\s+$Ident\s*//;
+			}
+			$dstat =~ s/$;//g;
+			$dstat =~ s/\\\n.//g;
+			$dstat =~ s/^\s*//s;
+			$dstat =~ s/\s*$//s;
+
+			# Flatten any parentheses and braces
+			while ($dstat =~ s/\([^\(\)]*\)/1/ ||
+			       $dstat =~ s/\{[^\{\}]*\}/1/ ||
+			       $dstat =~ s/\[[^\{\}]*\]/1/)
+			{
+			}
+
+			my $exceptions = qr{
+				$Declare|
+				module_param_named|
+				MODULE_PARAM_DESC|
+				DECLARE_PER_CPU|
+				DEFINE_PER_CPU|
+				__typeof__\(|
+				union|
+				struct|
+				\.$Ident\s*=\s*|
+				^\"|\"$
+			}x;
+			#print "REST<$rest> dstat<$dstat> ctx<$ctx>\n";
+			if ($rest ne '' && $rest ne ',') {
+				if ($rest !~ /while\s*\(/ &&
+				    $dstat !~ /$exceptions/)
+				{
+					ERROR("Macros with multiple statements should be enclosed in a do - while loop\n" . "$here\n$ctx\n");
+				}
+
+			} elsif ($ctx !~ /;/) {
+				if ($dstat ne '' &&
+				    $dstat !~ /^(?:$Ident|-?$Constant)$/ &&
+				    $dstat !~ /$exceptions/ &&
+				    $dstat !~ /^\.$Ident\s*=/ &&
+				    $dstat =~ /$Operators/)
+				{
+					ERROR("Macros with complex values should be enclosed in parenthesis\n" . "$here\n$ctx\n");
+				}
+			}
+		}
+
+# make sure symbols are always wrapped with VMLINUX_SYMBOL() ...
+# all assignments may have only one of the following with an assignment:
+#	.
+#	ALIGN(...)
+#	VMLINUX_SYMBOL(...)
+		if ($realfile eq 'vmlinux.lds.h' && $line =~ /(?:(?:^|\s)$Ident\s*=|=\s*$Ident(?:\s|$))/) {
+			WARN("vmlinux.lds.h needs VMLINUX_SYMBOL() around C-visible symbols\n" . $herecurr);
+		}
+
+# check for missing bracing round if etc
+		if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) {
+			my ($level, $endln, @chunks) =
+				ctx_statement_full($linenr, $realcnt, 1);
+			#print "chunks<$#chunks> linenr<$linenr> endln<$endln> level<$level>\n";
+			#print "APW: <<$chunks[1][0]>><<$chunks[1][1]>>\n";
+			if ($#chunks >= 0 && $level == 0) {
+				my $allowed = 0;
+				my $seen = 0;
+				my $herectx = $here . "\n";
+				my $ln = $linenr - 1;
+				for my $chunk (@chunks) {
+					my ($cond, $block) = @{$chunk};
+
+					# If the condition carries leading newlines, then count those as offsets.
+					my ($whitespace) = ($cond =~ /^((?:\s*\n[+-])*\s*)/s);
+					my $offset = statement_rawlines($whitespace) - 1;
+
+					#print "COND<$cond> whitespace<$whitespace> offset<$offset>\n";
+
+					# We have looked at and allowed this specific line.
+					$suppress_ifbraces{$ln + $offset} = 1;
+
+					$herectx .= "$rawlines[$ln + $offset]\n[...]\n";
+					$ln += statement_rawlines($block) - 1;
+
+					substr($block, 0, length($cond), '');
+					$seen++ if ($block =~ /^\s*{/ || $block =~ /;{1,1}/);
+
+					#print "cond<$cond> block<$block> allowed<$allowed>\n";
+					if (statement_lines($cond) > 1) {
+						#print "APW: ALLOWED: cond<$cond>\n";
+						$allowed = 1;
+					}
+					if ($block =~/\b(?:if|for|while)\b/) {
+						#print "APW: ALLOWED: block<$block>\n";
+						$allowed = 1;
+					}
+					if (statement_block_size($block) > 1) {
+						#print "APW: ALLOWED: lines block<$block>\n";
+						$allowed = 1;
+					}
+				}
+				#print "seen: $seen\nchunks: $#chunks\nln: $ln\nlinenr: $linenr\n";
+				if ($seen != ($#chunks + 1)) {
+					WARN("braces {} are necessary for all arms of this statement\n" . $herectx);
+				}
+			}
+		}
+		if (!defined $suppress_ifbraces{$linenr - 1} &&
+					$line =~ /\b(if|while|for|else)\b/ &&
+					$line !~ /\#\s*if/ &&
+					$line !~ /\#\s*else/) {
+			my $allowed = 0;
+
+			# Check the pre-context.
+			if (substr($line, 0, $-[0]) =~ /(\}\s*)$/) {
+				#print "APW: ALLOWED: pre<$1>\n";
+				$allowed = 1;
+			}
+
+			my ($level, $endln, @chunks) =
+				ctx_statement_full($linenr, $realcnt, $-[0]);
+
+			# Check the condition.
+			my ($cond, $block) = @{$chunks[0]};
+			#print "CHECKING<$linenr> cond<$cond> block<$block>\n";
+			if (defined $cond) {
+				substr($block, 0, length($cond), '');
+			}
+			if (statement_lines($cond) > 1) {
+				#print "APW: ALLOWED: cond<$cond>\n";
+				$allowed = 1;
+			}
+			if ($block =~/\b(?:if|for|while)\b/) {
+				#print "APW: ALLOWED: block<$block>\n";
+				$allowed = 1;
+			}
+			if (statement_block_size($block) > 1) {
+				#print "APW: ALLOWED: lines block<$block>\n";
+				$allowed = 1;
+			}
+			# Check the post-context.
+			if (defined $chunks[1]) {
+				my ($cond, $block) = @{$chunks[1]};
+				if (defined $cond) {
+					substr($block, 0, length($cond), '');
+				}
+				if ($block =~ /^\s*\{/) {
+					#print "APW: ALLOWED: chunk-1 block<$block>\n";
+					$allowed = 1;
+				}
+			}
+			if ($level == 0 && $block !~ /^\s*\{/ && !$allowed) {
+				my $herectx = $here . "\n";;
+				my $cnt = statement_rawlines($block);
+
+				for (my $n = 0; $n < $cnt; $n++) {
+					$herectx .= raw_line($linenr, $n) . "\n";;
+				}
+
+				WARN("braces {} are necessary even for single statement blocks\n" . $herectx);
+			}
+		}
+
+# don't include deprecated include files (uses RAW line)
+		for my $inc (@dep_includes) {
+			if ($rawline =~ m@^.\s*\#\s*include\s*\<$inc>@) {
+				ERROR("Don't use <$inc>: see Documentation/feature-removal-schedule.txt\n" . $herecurr);
+			}
+		}
+
+# don't use deprecated functions
+		for my $func (@dep_functions) {
+			if ($line =~ /\b$func\b/) {
+				ERROR("Don't use $func(): see Documentation/feature-removal-schedule.txt\n" . $herecurr);
+			}
+		}
+
+# no volatiles please
+		my $asm_volatile = qr{\b(__asm__|asm)\s+(__volatile__|volatile)\b};
+		if ($line =~ /\bvolatile\b/ && $line !~ /$asm_volatile/) {
+			WARN("Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n" . $herecurr);
+		}
+
+# SPIN_LOCK_UNLOCKED & RW_LOCK_UNLOCKED are deprecated
+		if ($line =~ /\b(SPIN_LOCK_UNLOCKED|RW_LOCK_UNLOCKED)/) {
+			ERROR("Use of $1 is deprecated: see Documentation/spinlocks.txt\n" . $herecurr);
+		}
+
+# warn about #if 0
+		if ($line =~ /^.\s*\#\s*if\s+0\b/) {
+			CHK("if this code is redundant consider removing it\n" .
+				$herecurr);
+		}
+
+# check for needless kfree() checks
+		if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
+			my $expr = $1;
+			if ($line =~ /\bkfree\(\Q$expr\E\);/) {
+				WARN("kfree(NULL) is safe this check is probably not required\n" . $hereprev);
+			}
+		}
+# check for needless usb_free_urb() checks
+		if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
+			my $expr = $1;
+			if ($line =~ /\busb_free_urb\(\Q$expr\E\);/) {
+				WARN("usb_free_urb(NULL) is safe this check is probably not required\n" . $hereprev);
+			}
+		}
+
+# prefer usleep_range over udelay
+		if ($line =~ /\budelay\s*\(\s*(\w+)\s*\)/) {
+			# ignore udelay's < 10, however
+			if (! (($1 =~ /(\d+)/) && ($1 < 10)) ) {
+				CHK("usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $line);
+			}
+		}
+
+# warn about unexpectedly long msleep's
+		if ($line =~ /\bmsleep\s*\((\d+)\);/) {
+			if ($1 < 20) {
+				WARN("msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $line);
+			}
+		}
+
+# warn about #ifdefs in C files
+#		if ($line =~ /^.\s*\#\s*if(|n)def/ && ($realfile =~ /\.c$/)) {
+#			print "#ifdef in C files should be avoided\n";
+#			print "$herecurr";
+#			$clean = 0;
+#		}
+
+# warn about spacing in #ifdefs
+		if ($line =~ /^.\s*\#\s*(ifdef|ifndef|elif)\s\s+/) {
+			ERROR("exactly one space required after that #$1\n" . $herecurr);
+		}
+
+# check for spinlock_t definitions without a comment.
+		if ($line =~ /^.\s*(struct\s+mutex|spinlock_t)\s+\S+;/ ||
+		    $line =~ /^.\s*(DEFINE_MUTEX)\s*\(/) {
+			my $which = $1;
+			if (!ctx_has_comment($first_line, $linenr)) {
+				CHK("$1 definition without comment\n" . $herecurr);
+			}
+		}
+# check for memory barriers without a comment.
+		if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+			if (!ctx_has_comment($first_line, $linenr)) {
+				CHK("memory barrier without comment\n" . $herecurr);
+			}
+		}
+# check of hardware specific defines
+		if ($line =~ m@^.\s*\#\s*if.*\b(__i386__|__powerpc64__|__sun__|__s390x__)\b@ && $realfile !~ m@include/asm-@) {
+			CHK("architecture specific defines should be avoided\n" .  $herecurr);
+		}
+
+# Check that the storage class is at the beginning of a declaration
+		if ($line =~ /\b$Storage\b/ && $line !~ /^.\s*$Storage\b/) {
+			WARN("storage class should be at the beginning of the declaration\n" . $herecurr)
+		}
+
+# check the location of the inline attribute, that it is between
+# storage class and type.
+		if ($line =~ /\b$Type\s+$Inline\b/ ||
+		    $line =~ /\b$Inline\s+$Storage\b/) {
+			ERROR("inline keyword should sit between storage class and type\n" . $herecurr);
+		}
+
+# Check for __inline__ and __inline, prefer inline
+		if ($line =~ /\b(__inline__|__inline)\b/) {
+			WARN("plain inline is preferred over $1\n" . $herecurr);
+		}
+
+# check for sizeof(&)
+		if ($line =~ /\bsizeof\s*\(\s*\&/) {
+			WARN("sizeof(& should be avoided\n" . $herecurr);
+		}
+
+# check for new externs in .c files.
+		if ($realfile =~ /\.c$/ && defined $stat &&
+		    $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s)
+		{
+			my $function_name = $1;
+			my $paren_space = $2;
+
+			my $s = $stat;
+			if (defined $cond) {
+				substr($s, 0, length($cond), '');
+			}
+			if ($s =~ /^\s*;/ &&
+			    $function_name ne 'uninitialized_var')
+			{
+				WARN("externs should be avoided in .c files\n" .  $herecurr);
+			}
+
+			if ($paren_space =~ /\n/) {
+				WARN("arguments for function declarations should follow identifier\n" . $herecurr);
+			}
+
+		} elsif ($realfile =~ /\.c$/ && defined $stat &&
+		    $stat =~ /^.\s*extern\s+/)
+		{
+			WARN("externs should be avoided in .c files\n" .  $herecurr);
+		}
+
+# checks for new __setup's
+		if ($rawline =~ /\b__setup\("([^"]*)"/) {
+			my $name = $1;
+
+			if (!grep(/$name/, @setup_docs)) {
+				CHK("__setup appears un-documented -- check Documentation/kernel-parameters.txt\n" . $herecurr);
+			}
+		}
+
+# check for pointless casting of kmalloc return
+		if ($line =~ /\*\s*\)\s*k[czm]alloc\b/) {
+			WARN("unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr);
+		}
+
+# check for gcc specific __FUNCTION__
+		if ($line =~ /__FUNCTION__/) {
+			WARN("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
+		}
+
+# check for semaphores used as mutexes
+		if ($line =~ /^.\s*(DECLARE_MUTEX|init_MUTEX)\s*\(/) {
+			WARN("mutexes are preferred for single holder semaphores\n" . $herecurr);
+		}
+# check for semaphores used as mutexes
+		if ($line =~ /^.\s*init_MUTEX_LOCKED\s*\(/) {
+			WARN("consider using a completion\n" . $herecurr);
+
+		}
+# recommend strict_strto* over simple_strto*
+		if ($line =~ /\bsimple_(strto.*?)\s*\(/) {
+			WARN("consider using strict_$1 in preference to simple_$1\n" . $herecurr);
+		}
+# check for __initcall(), use device_initcall() explicitly please
+		if ($line =~ /^.\s*__initcall\s*\(/) {
+			WARN("please use device_initcall() instead of __initcall()\n" . $herecurr);
+		}
+# check for various ops structs, ensure they are const.
+		my $struct_ops = qr{acpi_dock_ops|
+				address_space_operations|
+				backlight_ops|
+				block_device_operations|
+				dentry_operations|
+				dev_pm_ops|
+				dma_map_ops|
+				extent_io_ops|
+				file_lock_operations|
+				file_operations|
+				hv_ops|
+				ide_dma_ops|
+				intel_dvo_dev_ops|
+				item_operations|
+				iwl_ops|
+				kgdb_arch|
+				kgdb_io|
+				kset_uevent_ops|
+				lock_manager_operations|
+				microcode_ops|
+				mtrr_ops|
+				neigh_ops|
+				nlmsvc_binding|
+				pci_raw_ops|
+				pipe_buf_operations|
+				platform_hibernation_ops|
+				platform_suspend_ops|
+				proto_ops|
+				rpc_pipe_ops|
+				seq_operations|
+				snd_ac97_build_ops|
+				soc_pcmcia_socket_ops|
+				stacktrace_ops|
+				sysfs_ops|
+				tty_operations|
+				usb_mon_operations|
+				wd_ops}x;
+		if ($line !~ /\bconst\b/ &&
+		    $line =~ /\bstruct\s+($struct_ops)\b/) {
+			WARN("struct $1 should normally be const\n" .
+				$herecurr);
+		}
+
+# use of NR_CPUS is usually wrong
+# ignore definitions of NR_CPUS and usage to define arrays as likely right
+		if ($line =~ /\bNR_CPUS\b/ &&
+		    $line !~ /^.\s*\s*#\s*if\b.*\bNR_CPUS\b/ &&
+		    $line !~ /^.\s*\s*#\s*define\b.*\bNR_CPUS\b/ &&
+		    $line !~ /^.\s*$Declare\s.*\[[^\]]*NR_CPUS[^\]]*\]/ &&
+		    $line !~ /\[[^\]]*\.\.\.[^\]]*NR_CPUS[^\]]*\]/ &&
+		    $line !~ /\[[^\]]*NR_CPUS[^\]]*\.\.\.[^\]]*\]/)
+		{
+			WARN("usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc\n" . $herecurr);
+		}
+
+# check for %L{u,d,i} in strings
+		my $string;
+		while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) {
+			$string = substr($rawline, $-[1], $+[1] - $-[1]);
+			$string =~ s/%%/__/g;
+			if ($string =~ /(?<!%)%L[udi]/) {
+				WARN("\%Ld/%Lu are not-standard C, use %lld/%llu\n" . $herecurr);
+				last;
+			}
+		}
+
+# whine mightly about in_atomic
+		if ($line =~ /\bin_atomic\s*\(/) {
+			if ($realfile =~ m@^drivers/@) {
+				ERROR("do not use in_atomic in drivers\n" . $herecurr);
+			} elsif ($realfile !~ m@^kernel/@) {
+				WARN("use of in_atomic() is incorrect outside core kernel code\n" . $herecurr);
+			}
+		}
+
+# check for lockdep_set_novalidate_class
+		if ($line =~ /^.\s*lockdep_set_novalidate_class\s*\(/ ||
+		    $line =~ /__lockdep_no_validate__\s*\)/ ) {
+			if ($realfile !~ m@^kernel/lockdep@ &&
+			    $realfile !~ m@^include/linux/lockdep@ &&
+			    $realfile !~ m@^drivers/base/core@) {
+				ERROR("lockdep_no_validate class is reserved for device->mutex.\n" . $herecurr);
+			}
+		}
+	}
+
+	# If we have no input at all, then there is nothing to report on
+	# so just keep quiet.
+	if ($#rawlines == -1) {
+		exit(0);
+	}
+
+	# In mailback mode only produce a report in the negative, for
+	# things that appear to be patches.
+	if ($mailback && ($clean == 1 || !$is_patch)) {
+		exit(0);
+	}
+
+	# This is not a patch, and we are are in 'no-patch' mode so
+	# just keep quiet.
+	if (!$chk_patch && !$is_patch) {
+		exit(0);
+	}
+
+	if (!$is_patch) {
+		ERROR("Does not appear to be a unified-diff format patch\n");
+	}
+	if ($is_patch && $chk_signoff && $signoff == 0) {
+		ERROR("Missing Signed-off-by: line(s)\n");
+	}
+
+	print report_dump();
+	if ($summary && !($clean == 1 && $quiet == 1)) {
+		print "$filename " if ($summary_file);
+		print "total: $cnt_error errors, $cnt_warn warnings, " .
+			(($check)? "$cnt_chk checks, " : "") .
+			"$cnt_lines lines checked\n";
+		print "\n" if ($quiet == 0);
+	}
+
+	if ($quiet == 0) {
+		# If there were whitespace errors which cleanpatch can fix
+		# then suggest that.
+#		if ($rpt_cleaners) {
+#			print "NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or\n";
+#			print "      scripts/cleanfile\n\n";
+#		}
+	}
+
+	if ($clean == 1 && $quiet == 0) {
+		print "$vname has no obvious style problems and is ready for submission.\n"
+	}
+	if ($clean == 0 && $quiet == 0) {
+		print "$vname has style problems, please review.  If any of these errors\n";
+		print "are false positives report them to the maintainer, see\n";
+		print "CHECKPATCH in MAINTAINERS.\n";
+	}
+
+	return $clean;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:48:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSnL-0002jP-IA; Thu, 10 May 2012 12:48:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSSnJ-0002jK-77
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:48:34 +0000
Received: from [193.109.254.147:28799] by server-9.bemta-14.messagelabs.com id
	3C/7B-05787-029BBAF4; Thu, 10 May 2012 12:48:32 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336654108!1756098!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15694 invoked from network); 10 May 2012 12:48:30 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:48:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194246401"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 08:47:09 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 08:47:08 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSSlv-0005Db-R3;
	Thu, 10 May 2012 13:47:07 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 10 May 2012 13:46:53 +0100
Message-ID: <1336654013-12457-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH RFC] scripts: add checkpatch.pl script
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This script is a copy from the QEMU one, wich is itself a copy from
the Linux kernel one (as far as I can tell).

This script will only check for parts of the patches that touch libxl
files, and I've adapted it to match our CODING_STYLE a little bit,
major differences include the following:

 * Allow if (...) do_something(....);

 * Allow if (...)
             do_something(...);

 * Allow declarations like: libxl_type *var;

 * Checks for the use of the following functions, and complains if
   found: libxl__sprintf, LIBXL__LOG_*, libxl__gc_owner, printing a
   nice error message about how to replace them.

 * Print error message when "libxl_ctx *ctx =" is used, telling the
   user to use CTX directly instead.

To use it, simply go to the root of the repository and use:

$ scripts/checkpatch.pl xxxx.patch

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 scripts/checkpatch.pl | 2906 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2906 insertions(+), 0 deletions(-)
 create mode 100755 scripts/checkpatch.pl

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
new file mode 100755
index 0000000..7e82fab
--- /dev/null
+++ b/scripts/checkpatch.pl
@@ -0,0 +1,2906 @@
+#!/usr/bin/perl -w
+# (c) 2001, Dave Jones. (the file handling bit)
+# (c) 2005, Joel Schopp <jschopp@austin.ibm.com> (the ugly bit)
+# (c) 2007,2008, Andy Whitcroft <apw@uk.ibm.com> (new conditions, test suite)
+# (c) 2008-2010 Andy Whitcroft <apw@canonical.com>
+# Licensed under the terms of the GNU GPL License version 2
+
+use strict;
+
+my $P = $0;
+$P =~ s@.*/@@g;
+
+my $V = '0.31';
+
+use Getopt::Long qw(:config no_auto_abbrev);
+
+my $quiet = 0;
+my $tree = 1;
+my $chk_signoff = 1;
+my $chk_patch = 1;
+my $tst_only;
+my $emacs = 0;
+my $terse = 0;
+my $file = 0;
+my $check = 0;
+my $summary = 1;
+my $mailback = 0;
+my $summary_file = 0;
+my $root;
+my %debug;
+my $help = 0;
+
+sub help {
+	my ($exitcode) = @_;
+
+	print << "EOM";
+Usage: $P [OPTION]... [FILE]...
+Version: $V
+
+Options:
+  -q, --quiet                quiet
+  --no-tree                  run without a kernel tree
+  --no-signoff               do not check for 'Signed-off-by' line
+  --patch                    treat FILE as patchfile (default)
+  --emacs                    emacs compile window format
+  --terse                    one line per report
+  -f, --file                 treat FILE as regular source file
+  --subjective, --strict     enable more subjective tests
+  --root=PATH                PATH to the kernel tree root
+  --no-summary               suppress the per-file summary
+  --mailback                 only produce a report in case of warnings/errors
+  --summary-file             include the filename in summary
+  --debug KEY=[0|1]          turn on/off debugging of KEY, where KEY is one of
+                             'values', 'possible', 'type', and 'attr' (default
+                             is all off)
+  --test-only=WORD           report only warnings/errors containing WORD
+                             literally
+  -h, --help, --version      display this help and exit
+
+When FILE is - read standard input.
+EOM
+
+	exit($exitcode);
+}
+
+GetOptions(
+	'q|quiet+'	=> \$quiet,
+	'tree!'		=> \$tree,
+	'signoff!'	=> \$chk_signoff,
+	'patch!'	=> \$chk_patch,
+	'emacs!'	=> \$emacs,
+	'terse!'	=> \$terse,
+	'f|file!'	=> \$file,
+	'subjective!'	=> \$check,
+	'strict!'	=> \$check,
+	'root=s'	=> \$root,
+	'summary!'	=> \$summary,
+	'mailback!'	=> \$mailback,
+	'summary-file!'	=> \$summary_file,
+
+	'debug=s'	=> \%debug,
+	'test-only=s'	=> \$tst_only,
+	'h|help'	=> \$help,
+	'version'	=> \$help
+) or help(1);
+
+help(0) if ($help);
+
+my $exit = 0;
+
+if ($#ARGV < 0) {
+	print "$P: no input files\n";
+	exit(1);
+}
+
+my $dbg_values = 0;
+my $dbg_possible = 0;
+my $dbg_type = 0;
+my $dbg_attr = 0;
+for my $key (keys %debug) {
+	## no critic
+	eval "\${dbg_$key} = '$debug{$key}';";
+	die "$@" if ($@);
+}
+
+my $rpt_cleaners = 0;
+
+if ($terse) {
+	$emacs = 1;
+	$quiet++;
+}
+
+if ($tree) {
+	if (defined $root) {
+		if (!top_of_kernel_tree($root)) {
+			die "$P: $root: --root does not point at a valid tree\n";
+		}
+	} else {
+		if (top_of_kernel_tree('.')) {
+			$root = '.';
+		} elsif ($0 =~ m@(.*)/scripts/[^/]*$@ &&
+						top_of_kernel_tree($1)) {
+			$root = $1;
+		}
+	}
+
+	if (!defined $root) {
+		print "Must be run from the top-level dir. of a kernel tree\n";
+		exit(2);
+	}
+}
+
+my $emitted_corrupt = 0;
+
+our $Ident	= qr{
+			[A-Za-z_][A-Za-z\d_]*
+			(?:\s*\#\#\s*[A-Za-z_][A-Za-z\d_]*)*
+		}x;
+our $Storage	= qr{extern|static|asmlinkage};
+our $Sparse	= qr{
+			__user|
+			__kernel|
+			__force|
+			__iomem|
+			__must_check|
+			__init_refok|
+			__kprobes|
+			__ref
+		}x;
+
+# Notes to $Attribute:
+# We need \b after 'init' otherwise 'initconst' will cause a false positive in a check
+our $Attribute	= qr{
+			const|
+			__percpu|
+			__nocast|
+			__safe|
+			__bitwise__|
+			__packed__|
+			__packed2__|
+			__naked|
+			__maybe_unused|
+			__always_unused|
+			__noreturn|
+			__used|
+			__cold|
+			__noclone|
+			__deprecated|
+			__read_mostly|
+			__kprobes|
+			__(?:mem|cpu|dev|)(?:initdata|initconst|init\b)|
+			____cacheline_aligned|
+			____cacheline_aligned_in_smp|
+			____cacheline_internodealigned_in_smp|
+			__weak
+		  }x;
+our $Modifier;
+our $Inline	= qr{inline|__always_inline|noinline};
+our $Member	= qr{->$Ident|\.$Ident|\[[^]]*\]};
+our $Lval	= qr{$Ident(?:$Member)*};
+
+our $Constant	= qr{(?:[0-9]+|0x[0-9a-fA-F]+)[UL]*};
+our $Assignment	= qr{(?:\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=)};
+our $Compare    = qr{<=|>=|==|!=|<|>};
+our $Operators	= qr{
+			<=|>=|==|!=|
+			=>|->|<<|>>|<|>|!|~|
+			&&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%
+		  }x;
+
+our $NonptrType;
+our $Type;
+our $Declare;
+
+our $UTF8	= qr {
+	[\x09\x0A\x0D\x20-\x7E]              # ASCII
+	| [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
+	|  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
+	| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
+	|  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
+	|  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
+	| [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
+	|  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
+}x;
+
+our $typeTypedefs = qr{(?x:
+	(?:__)?(?:u|s|be|le)(?:8|16|32|64)|
+	atomic_t
+)};
+
+our $logFunctions = qr{(?x:
+	printk|
+	pr_(debug|dbg|vdbg|devel|info|warning|err|notice|alert|crit|emerg|cont)|
+	(dev|netdev|netif)_(printk|dbg|vdbg|info|warn|err|notice|alert|crit|emerg|WARN)|
+	WARN|
+	panic
+)};
+
+our @typeList = (
+	qr{void},
+	qr{(?:unsigned\s+)?char},
+	qr{(?:unsigned\s+)?short},
+	qr{(?:unsigned\s+)?int},
+	qr{(?:unsigned\s+)?long},
+	qr{(?:unsigned\s+)?long\s+int},
+	qr{(?:unsigned\s+)?long\s+long},
+	qr{(?:unsigned\s+)?long\s+long\s+int},
+	qr{unsigned},
+	qr{float},
+	qr{double},
+	qr{bool},
+	qr{struct\s+$Ident},
+	qr{union\s+$Ident},
+	qr{enum\s+$Ident},
+	qr{${Ident}_t},
+	qr{${Ident}_handler},
+	qr{${Ident}_handler_fn},
+);
+our @modifierList = (
+	qr{fastcall},
+);
+
+our $allowed_asm_includes = qr{(?x:
+	irq|
+	memory
+)};
+# memory.h: ARM has a custom one
+
+sub build_types {
+	my $mods = "(?x:  \n" . join("|\n  ", @modifierList) . "\n)";
+	my $all = "(?x:  \n" . join("|\n  ", @typeList) . "\n)";
+	$Modifier	= qr{(?:$Attribute|$Sparse|$mods)};
+	$NonptrType	= qr{
+			(?:$Modifier\s+|const\s+)*
+			(?:
+				(?:typeof|__typeof__)\s*\(\s*\**\s*$Ident\s*\)|
+				(?:$typeTypedefs\b)|
+				(?:${all}\b)
+			)
+			(?:\s+$Modifier|\s+const)*
+		  }x;
+	$Type	= qr{
+			$NonptrType
+			(?:[\s\*]+\s*const|[\s\*]+|(?:\s*\[\s*\])+)?
+			(?:\s+$Inline|\s+$Modifier)*
+		  }x;
+	$Declare	= qr{(?:$Storage\s+)?$Type};
+}
+build_types();
+
+$chk_signoff = 0 if ($file);
+
+my @dep_includes = ();
+my @dep_functions = ();
+my $removal = "Documentation/feature-removal-schedule.txt";
+if ($tree && -f "$root/$removal") {
+	open(my $REMOVE, '<', "$root/$removal") ||
+				die "$P: $removal: open failed - $!\n";
+	while (<$REMOVE>) {
+		if (/^Check:\s+(.*\S)/) {
+			for my $entry (split(/[, ]+/, $1)) {
+				if ($entry =~ m@include/(.*)@) {
+					push(@dep_includes, $1);
+
+				} elsif ($entry !~ m@/@) {
+					push(@dep_functions, $entry);
+				}
+			}
+		}
+	}
+	close($REMOVE);
+}
+
+my @rawlines = ();
+my @lines = ();
+my $vname;
+for my $filename (@ARGV) {
+	my $FILE;
+	if ($file) {
+		open($FILE, '-|', "diff -u /dev/null $filename") ||
+			die "$P: $filename: diff failed - $!\n";
+	} elsif ($filename eq '-') {
+		open($FILE, '<&STDIN');
+	} else {
+		open($FILE, '<', "$filename") ||
+			die "$P: $filename: open failed - $!\n";
+	}
+	if ($filename eq '-') {
+		$vname = 'Your patch';
+	} else {
+		$vname = $filename;
+	}
+	while (<$FILE>) {
+		chomp;
+		push(@rawlines, $_);
+	}
+	close($FILE);
+	if (!process($filename)) {
+		$exit = 1;
+	}
+	@rawlines = ();
+	@lines = ();
+}
+
+exit($exit);
+
+sub top_of_kernel_tree {
+	my ($root) = @_;
+
+	my @tree_check = (
+		"COPYING", "MAINTAINERS", "Makefile",
+		"README", "docs"
+	);
+
+	foreach my $check (@tree_check) {
+		if (! -e $root . '/' . $check) {
+			return 0;
+		}
+	}
+	return 1;
+}
+
+sub expand_tabs {
+	my ($str) = @_;
+
+	my $res = '';
+	my $n = 0;
+	for my $c (split(//, $str)) {
+		if ($c eq "\t") {
+			$res .= ' ';
+			$n++;
+			for (; ($n % 8) != 0; $n++) {
+				$res .= ' ';
+			}
+			next;
+		}
+		$res .= $c;
+		$n++;
+	}
+
+	return $res;
+}
+sub copy_spacing {
+	(my $res = shift) =~ tr/\t/ /c;
+	return $res;
+}
+
+sub line_stats {
+	my ($line) = @_;
+
+	# Drop the diff line leader and expand tabs
+	$line =~ s/^.//;
+	$line = expand_tabs($line);
+
+	# Pick the indent from the front of the line.
+	my ($white) = ($line =~ /^(\s*)/);
+
+	return (length($line), length($white));
+}
+
+my $sanitise_quote = '';
+
+sub sanitise_line_reset {
+	my ($in_comment) = @_;
+
+	if ($in_comment) {
+		$sanitise_quote = '*/';
+	} else {
+		$sanitise_quote = '';
+	}
+}
+sub sanitise_line {
+	my ($line) = @_;
+
+	my $res = '';
+	my $l = '';
+
+	my $qlen = 0;
+	my $off = 0;
+	my $c;
+
+	# Always copy over the diff marker.
+	$res = substr($line, 0, 1);
+
+	for ($off = 1; $off < length($line); $off++) {
+		$c = substr($line, $off, 1);
+
+		# Comments we are wacking completly including the begin
+		# and end, all to $;.
+		if ($sanitise_quote eq '' && substr($line, $off, 2) eq '/*') {
+			$sanitise_quote = '*/';
+
+			substr($res, $off, 2, "$;$;");
+			$off++;
+			next;
+		}
+		if ($sanitise_quote eq '*/' && substr($line, $off, 2) eq '*/') {
+			$sanitise_quote = '';
+			substr($res, $off, 2, "$;$;");
+			$off++;
+			next;
+		}
+		if ($sanitise_quote eq '' && substr($line, $off, 2) eq '//') {
+			$sanitise_quote = '//';
+
+			substr($res, $off, 2, $sanitise_quote);
+			$off++;
+			next;
+		}
+
+		# A \ in a string means ignore the next character.
+		if (($sanitise_quote eq "'" || $sanitise_quote eq '"') &&
+		    $c eq "\\") {
+			substr($res, $off, 2, 'XX');
+			$off++;
+			next;
+		}
+		# Regular quotes.
+		if ($c eq "'" || $c eq '"') {
+			if ($sanitise_quote eq '') {
+				$sanitise_quote = $c;
+
+				substr($res, $off, 1, $c);
+				next;
+			} elsif ($sanitise_quote eq $c) {
+				$sanitise_quote = '';
+			}
+		}
+
+		#print "c<$c> SQ<$sanitise_quote>\n";
+		if ($off != 0 && $sanitise_quote eq '*/' && $c ne "\t") {
+			substr($res, $off, 1, $;);
+		} elsif ($off != 0 && $sanitise_quote eq '//' && $c ne "\t") {
+			substr($res, $off, 1, $;);
+		} elsif ($off != 0 && $sanitise_quote && $c ne "\t") {
+			substr($res, $off, 1, 'X');
+		} else {
+			substr($res, $off, 1, $c);
+		}
+	}
+
+	if ($sanitise_quote eq '//') {
+		$sanitise_quote = '';
+	}
+
+	# The pathname on a #include may be surrounded by '<' and '>'.
+	if ($res =~ /^.\s*\#\s*include\s+\<(.*)\>/) {
+		my $clean = 'X' x length($1);
+		$res =~ s@\<.*\>@<$clean>@;
+
+	# The whole of a #error is a string.
+	} elsif ($res =~ /^.\s*\#\s*(?:error|warning)\s+(.*)\b/) {
+		my $clean = 'X' x length($1);
+		$res =~ s@(\#\s*(?:error|warning)\s+).*@$1$clean@;
+	}
+
+	return $res;
+}
+
+sub ctx_statement_block {
+	my ($linenr, $remain, $off) = @_;
+	my $line = $linenr - 1;
+	my $blk = '';
+	my $soff = $off;
+	my $coff = $off - 1;
+	my $coff_set = 0;
+
+	my $loff = 0;
+
+	my $type = '';
+	my $level = 0;
+	my @stack = ();
+	my $p;
+	my $c;
+	my $len = 0;
+
+	my $remainder;
+	while (1) {
+		@stack = (['', 0]) if ($#stack == -1);
+
+		#warn "CSB: blk<$blk> remain<$remain>\n";
+		# If we are about to drop off the end, pull in more
+		# context.
+		if ($off >= $len) {
+			for (; $remain > 0; $line++) {
+				last if (!defined $lines[$line]);
+				next if ($lines[$line] =~ /^-/);
+				$remain--;
+				$loff = $len;
+				$blk .= $lines[$line] . "\n";
+				$len = length($blk);
+				$line++;
+				last;
+			}
+			# Bail if there is no further context.
+			#warn "CSB: blk<$blk> off<$off> len<$len>\n";
+			if ($off >= $len) {
+				last;
+			}
+		}
+		$p = $c;
+		$c = substr($blk, $off, 1);
+		$remainder = substr($blk, $off);
+
+		#warn "CSB: c<$c> type<$type> level<$level> remainder<$remainder> coff_set<$coff_set>\n";
+
+		# Handle nested #if/#else.
+		if ($remainder =~ /^#\s*(?:ifndef|ifdef|if)\s/) {
+			push(@stack, [ $type, $level ]);
+		} elsif ($remainder =~ /^#\s*(?:else|elif)\b/) {
+			($type, $level) = @{$stack[$#stack - 1]};
+		} elsif ($remainder =~ /^#\s*endif\b/) {
+			($type, $level) = @{pop(@stack)};
+		}
+
+		# Statement ends at the ';' or a close '}' at the
+		# outermost level.
+		if ($level == 0 && $c eq ';') {
+			last;
+		}
+
+		# An else is really a conditional as long as its not else if
+		if ($level == 0 && $coff_set == 0 &&
+				(!defined($p) || $p =~ /(?:\s|\}|\+)/) &&
+				$remainder =~ /^(else)(?:\s|{)/ &&
+				$remainder !~ /^else\s+if\b/) {
+			$coff = $off + length($1) - 1;
+			$coff_set = 1;
+			#warn "CSB: mark coff<$coff> soff<$soff> 1<$1>\n";
+			#warn "[" . substr($blk, $soff, $coff - $soff + 1) . "]\n";
+		}
+
+		if (($type eq '' || $type eq '(') && $c eq '(') {
+			$level++;
+			$type = '(';
+		}
+		if ($type eq '(' && $c eq ')') {
+			$level--;
+			$type = ($level != 0)? '(' : '';
+
+			if ($level == 0 && $coff < $soff) {
+				$coff = $off;
+				$coff_set = 1;
+				#warn "CSB: mark coff<$coff>\n";
+			}
+		}
+		if (($type eq '' || $type eq '{') && $c eq '{') {
+			$level++;
+			$type = '{';
+		}
+		if ($type eq '{' && $c eq '}') {
+			$level--;
+			$type = ($level != 0)? '{' : '';
+
+			if ($level == 0) {
+				if (substr($blk, $off + 1, 1) eq ';') {
+					$off++;
+				}
+				last;
+			}
+		}
+		$off++;
+	}
+	# We are truly at the end, so shuffle to the next line.
+	if ($off == $len) {
+		$loff = $len + 1;
+		$line++;
+		$remain--;
+	}
+
+	my $statement = substr($blk, $soff, $off - $soff + 1);
+	my $condition = substr($blk, $soff, $coff - $soff + 1);
+
+	#warn "STATEMENT<$statement>\n";
+	#warn "CONDITION<$condition>\n";
+
+	#print "coff<$coff> soff<$off> loff<$loff>\n";
+
+	return ($statement, $condition,
+			$line, $remain + 1, $off - $loff + 1, $level);
+}
+
+sub statement_lines {
+	my ($stmt) = @_;
+
+	# Strip the diff line prefixes and rip blank lines at start and end.
+	$stmt =~ s/(^|\n)./$1/g;
+	$stmt =~ s/^\s*//;
+	$stmt =~ s/\s*$//;
+
+	my @stmt_lines = ($stmt =~ /\n/g);
+
+	return $#stmt_lines + 2;
+}
+
+sub statement_rawlines {
+	my ($stmt) = @_;
+
+	my @stmt_lines = ($stmt =~ /\n/g);
+
+	return $#stmt_lines + 2;
+}
+
+sub statement_block_size {
+	my ($stmt) = @_;
+
+	$stmt =~ s/(^|\n)./$1/g;
+	$stmt =~ s/^\s*{//;
+	$stmt =~ s/}\s*$//;
+	$stmt =~ s/^\s*//;
+	$stmt =~ s/\s*$//;
+
+	my @stmt_lines = ($stmt =~ /\n/g);
+	my @stmt_statements = ($stmt =~ /;/g);
+
+	my $stmt_lines = $#stmt_lines + 2;
+	my $stmt_statements = $#stmt_statements + 1;
+
+	if ($stmt_lines > $stmt_statements) {
+		return $stmt_lines;
+	} else {
+		return $stmt_statements;
+	}
+}
+
+sub ctx_statement_full {
+	my ($linenr, $remain, $off) = @_;
+	my ($statement, $condition, $level);
+
+	my (@chunks);
+
+	# Grab the first conditional/block pair.
+	($statement, $condition, $linenr, $remain, $off, $level) =
+				ctx_statement_block($linenr, $remain, $off);
+	#print "F: c<$condition> s<$statement> remain<$remain>\n";
+	push(@chunks, [ $condition, $statement ]);
+	if (!($remain > 0 && $condition =~ /^\s*(?:\n[+-])?\s*(?:if|else|do)\b/s)) {
+		return ($level, $linenr, @chunks);
+	}
+
+	# Pull in the following conditional/block pairs and see if they
+	# could continue the statement.
+	for (;;) {
+		($statement, $condition, $linenr, $remain, $off, $level) =
+				ctx_statement_block($linenr, $remain, $off);
+		#print "C: c<$condition> s<$statement> remain<$remain>\n";
+		last if (!($remain > 0 && $condition =~ /^(?:\s*\n[+-])*\s*(?:else|do)\b/s));
+		#print "C: push\n";
+		push(@chunks, [ $condition, $statement ]);
+	}
+
+	return ($level, $linenr, @chunks);
+}
+
+sub ctx_block_get {
+	my ($linenr, $remain, $outer, $open, $close, $off) = @_;
+	my $line;
+	my $start = $linenr - 1;
+	my $blk = '';
+	my @o;
+	my @c;
+	my @res = ();
+
+	my $level = 0;
+	my @stack = ($level);
+	for ($line = $start; $remain > 0; $line++) {
+		next if ($rawlines[$line] =~ /^-/);
+		$remain--;
+
+		$blk .= $rawlines[$line];
+
+		# Handle nested #if/#else.
+		if ($lines[$line] =~ /^.\s*#\s*(?:ifndef|ifdef|if)\s/) {
+			push(@stack, $level);
+		} elsif ($lines[$line] =~ /^.\s*#\s*(?:else|elif)\b/) {
+			$level = $stack[$#stack - 1];
+		} elsif ($lines[$line] =~ /^.\s*#\s*endif\b/) {
+			$level = pop(@stack);
+		}
+
+		foreach my $c (split(//, $lines[$line])) {
+			##print "C<$c>L<$level><$open$close>O<$off>\n";
+			if ($off > 0) {
+				$off--;
+				next;
+			}
+
+			if ($c eq $close && $level > 0) {
+				$level--;
+				last if ($level == 0);
+			} elsif ($c eq $open) {
+				$level++;
+			}
+		}
+
+		if (!$outer || $level <= 1) {
+			push(@res, $rawlines[$line]);
+		}
+
+		last if ($level == 0);
+	}
+
+	return ($level, @res);
+}
+sub ctx_block_outer {
+	my ($linenr, $remain) = @_;
+
+	my ($level, @r) = ctx_block_get($linenr, $remain, 1, '{', '}', 0);
+	return @r;
+}
+sub ctx_block {
+	my ($linenr, $remain) = @_;
+
+	my ($level, @r) = ctx_block_get($linenr, $remain, 0, '{', '}', 0);
+	return @r;
+}
+sub ctx_statement {
+	my ($linenr, $remain, $off) = @_;
+
+	my ($level, @r) = ctx_block_get($linenr, $remain, 0, '(', ')', $off);
+	return @r;
+}
+sub ctx_block_level {
+	my ($linenr, $remain) = @_;
+
+	return ctx_block_get($linenr, $remain, 0, '{', '}', 0);
+}
+sub ctx_statement_level {
+	my ($linenr, $remain, $off) = @_;
+
+	return ctx_block_get($linenr, $remain, 0, '(', ')', $off);
+}
+
+sub ctx_locate_comment {
+	my ($first_line, $end_line) = @_;
+
+	# Catch a comment on the end of the line itself.
+	my ($current_comment) = ($rawlines[$end_line - 1] =~ m@.*(/\*.*\*/)\s*(?:\\\s*)?$@);
+	return $current_comment if (defined $current_comment);
+
+	# Look through the context and try and figure out if there is a
+	# comment.
+	my $in_comment = 0;
+	$current_comment = '';
+	for (my $linenr = $first_line; $linenr < $end_line; $linenr++) {
+		my $line = $rawlines[$linenr - 1];
+		#warn "           $line\n";
+		if ($linenr == $first_line and $line =~ m@^.\s*\*@) {
+			$in_comment = 1;
+		}
+		if ($line =~ m@/\*@) {
+			$in_comment = 1;
+		}
+		if (!$in_comment && $current_comment ne '') {
+			$current_comment = '';
+		}
+		$current_comment .= $line . "\n" if ($in_comment);
+		if ($line =~ m@\*/@) {
+			$in_comment = 0;
+		}
+	}
+
+	chomp($current_comment);
+	return($current_comment);
+}
+sub ctx_has_comment {
+	my ($first_line, $end_line) = @_;
+	my $cmt = ctx_locate_comment($first_line, $end_line);
+
+	##print "LINE: $rawlines[$end_line - 1 ]\n";
+	##print "CMMT: $cmt\n";
+
+	return ($cmt ne '');
+}
+
+sub raw_line {
+	my ($linenr, $cnt) = @_;
+
+	my $offset = $linenr - 1;
+	$cnt++;
+
+	my $line;
+	while ($cnt) {
+		$line = $rawlines[$offset++];
+		next if (defined($line) && $line =~ /^-/);
+		$cnt--;
+	}
+
+	return $line;
+}
+
+sub cat_vet {
+	my ($vet) = @_;
+	my ($res, $coded);
+
+	$res = '';
+	while ($vet =~ /([^[:cntrl:]]*)([[:cntrl:]]|$)/g) {
+		$res .= $1;
+		if ($2 ne '') {
+			$coded = sprintf("^%c", unpack('C', $2) + 64);
+			$res .= $coded;
+		}
+	}
+	$res =~ s/$/\$/;
+
+	return $res;
+}
+
+my $av_preprocessor = 0;
+my $av_pending;
+my @av_paren_type;
+my $av_pend_colon;
+
+sub annotate_reset {
+	$av_preprocessor = 0;
+	$av_pending = '_';
+	@av_paren_type = ('E');
+	$av_pend_colon = 'O';
+}
+
+sub annotate_values {
+	my ($stream, $type) = @_;
+
+	my $res;
+	my $var = '_' x length($stream);
+	my $cur = $stream;
+
+	print "$stream\n" if ($dbg_values > 1);
+
+	while (length($cur)) {
+		@av_paren_type = ('E') if ($#av_paren_type < 0);
+		print " <" . join('', @av_paren_type) .
+				"> <$type> <$av_pending>" if ($dbg_values > 1);
+		if ($cur =~ /^(\s+)/o) {
+			print "WS($1)\n" if ($dbg_values > 1);
+			if ($1 =~ /\n/ && $av_preprocessor) {
+				$type = pop(@av_paren_type);
+				$av_preprocessor = 0;
+			}
+
+		} elsif ($cur =~ /^(\(\s*$Type\s*)\)/ && $av_pending eq '_') {
+			print "CAST($1)\n" if ($dbg_values > 1);
+			push(@av_paren_type, $type);
+			$type = 'C';
+
+		} elsif ($cur =~ /^($Type)\s*(?:$Ident|,|\)|\(|\s*$)/) {
+			print "DECLARE($1)\n" if ($dbg_values > 1);
+			$type = 'T';
+
+		} elsif ($cur =~ /^($Modifier)\s*/) {
+			print "MODIFIER($1)\n" if ($dbg_values > 1);
+			$type = 'T';
+
+		} elsif ($cur =~ /^(\#\s*define\s*$Ident)(\(?)/o) {
+			print "DEFINE($1,$2)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+			push(@av_paren_type, $type);
+			if ($2 ne '') {
+				$av_pending = 'N';
+			}
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\#\s*(?:undef\s*$Ident|include\b))/o) {
+			print "UNDEF($1)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+			push(@av_paren_type, $type);
+
+		} elsif ($cur =~ /^(\#\s*(?:ifdef|ifndef|if))/o) {
+			print "PRE_START($1)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+
+			push(@av_paren_type, $type);
+			push(@av_paren_type, $type);
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\#\s*(?:else|elif))/o) {
+			print "PRE_RESTART($1)\n" if ($dbg_values > 1);
+			$av_preprocessor = 1;
+
+			push(@av_paren_type, $av_paren_type[$#av_paren_type]);
+
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\#\s*(?:endif))/o) {
+			print "PRE_END($1)\n" if ($dbg_values > 1);
+
+			$av_preprocessor = 1;
+
+			# Assume all arms of the conditional end as this
+			# one does, and continue as if the #endif was not here.
+			pop(@av_paren_type);
+			push(@av_paren_type, $type);
+			$type = 'E';
+
+		} elsif ($cur =~ /^(\\\n)/o) {
+			print "PRECONT($1)\n" if ($dbg_values > 1);
+
+		} elsif ($cur =~ /^(__attribute__)\s*\(?/o) {
+			print "ATTR($1)\n" if ($dbg_values > 1);
+			$av_pending = $type;
+			$type = 'N';
+
+		} elsif ($cur =~ /^(sizeof)\s*(\()?/o) {
+			print "SIZEOF($1)\n" if ($dbg_values > 1);
+			if (defined $2) {
+				$av_pending = 'V';
+			}
+			$type = 'N';
+
+		} elsif ($cur =~ /^(if|while|for)\b/o) {
+			print "COND($1)\n" if ($dbg_values > 1);
+			$av_pending = 'E';
+			$type = 'N';
+
+		} elsif ($cur =~/^(case)/o) {
+			print "CASE($1)\n" if ($dbg_values > 1);
+			$av_pend_colon = 'C';
+			$type = 'N';
+
+		} elsif ($cur =~/^(return|else|goto|typeof|__typeof__)\b/o) {
+			print "KEYWORD($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~ /^(\()/o) {
+			print "PAREN('$1')\n" if ($dbg_values > 1);
+			push(@av_paren_type, $av_pending);
+			$av_pending = '_';
+			$type = 'N';
+
+		} elsif ($cur =~ /^(\))/o) {
+			my $new_type = pop(@av_paren_type);
+			if ($new_type ne '_') {
+				$type = $new_type;
+				print "PAREN('$1') -> $type\n"
+							if ($dbg_values > 1);
+			} else {
+				print "PAREN('$1')\n" if ($dbg_values > 1);
+			}
+
+		} elsif ($cur =~ /^($Ident)\s*\(/o) {
+			print "FUNC($1)\n" if ($dbg_values > 1);
+			$type = 'V';
+			$av_pending = 'V';
+
+		} elsif ($cur =~ /^($Ident\s*):(?:\s*\d+\s*(,|=|;))?/) {
+			if (defined $2 && $type eq 'C' || $type eq 'T') {
+				$av_pend_colon = 'B';
+			} elsif ($type eq 'E') {
+				$av_pend_colon = 'L';
+			}
+			print "IDENT_COLON($1,$type>$av_pend_colon)\n" if ($dbg_values > 1);
+			$type = 'V';
+
+		} elsif ($cur =~ /^($Ident|$Constant)/o) {
+			print "IDENT($1)\n" if ($dbg_values > 1);
+			$type = 'V';
+
+		} elsif ($cur =~ /^($Assignment)/o) {
+			print "ASSIGN($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~/^(;|{|})/) {
+			print "END($1)\n" if ($dbg_values > 1);
+			$type = 'E';
+			$av_pend_colon = 'O';
+
+		} elsif ($cur =~/^(,)/) {
+			print "COMMA($1)\n" if ($dbg_values > 1);
+			$type = 'C';
+
+		} elsif ($cur =~ /^(\?)/o) {
+			print "QUESTION($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~ /^(:)/o) {
+			print "COLON($1,$av_pend_colon)\n" if ($dbg_values > 1);
+
+			substr($var, length($res), 1, $av_pend_colon);
+			if ($av_pend_colon eq 'C' || $av_pend_colon eq 'L') {
+				$type = 'E';
+			} else {
+				$type = 'N';
+			}
+			$av_pend_colon = 'O';
+
+		} elsif ($cur =~ /^(\[)/o) {
+			print "CLOSE($1)\n" if ($dbg_values > 1);
+			$type = 'N';
+
+		} elsif ($cur =~ /^(-(?![->])|\+(?!\+)|\*|\&\&|\&)/o) {
+			my $variant;
+
+			print "OPV($1)\n" if ($dbg_values > 1);
+			if ($type eq 'V') {
+				$variant = 'B';
+			} else {
+				$variant = 'U';
+			}
+
+			substr($var, length($res), 1, $variant);
+			$type = 'N';
+
+		} elsif ($cur =~ /^($Operators)/o) {
+			print "OP($1)\n" if ($dbg_values > 1);
+			if ($1 ne '++' && $1 ne '--') {
+				$type = 'N';
+			}
+
+		} elsif ($cur =~ /(^.)/o) {
+			print "C($1)\n" if ($dbg_values > 1);
+		}
+		if (defined $1) {
+			$cur = substr($cur, length($1));
+			$res .= $type x length($1);
+		}
+	}
+
+	return ($res, $var);
+}
+
+sub possible {
+	my ($possible, $line) = @_;
+	my $notPermitted = qr{(?:
+		^(?:
+			$Modifier|
+			$Storage|
+			$Type|
+			DEFINE_\S+
+		)$|
+		^(?:
+			goto|
+			return|
+			case|
+			else|
+			asm|__asm__|
+			do
+		)(?:\s|$)|
+		^(?:typedef|struct|enum)\b
+	    )}x;
+	warn "CHECK<$possible> ($line)\n" if ($dbg_possible > 2);
+	if ($possible !~ $notPermitted) {
+		# Check for modifiers.
+		$possible =~ s/\s*$Storage\s*//g;
+		$possible =~ s/\s*$Sparse\s*//g;
+		if ($possible =~ /^\s*$/) {
+
+		} elsif ($possible =~ /\s/) {
+			$possible =~ s/\s*$Type\s*//g;
+			for my $modifier (split(' ', $possible)) {
+				if ($modifier !~ $notPermitted) {
+					warn "MODIFIER: $modifier ($possible) ($line)\n" if ($dbg_possible);
+					push(@modifierList, $modifier);
+				}
+			}
+
+		} else {
+			warn "POSSIBLE: $possible ($line)\n" if ($dbg_possible);
+			push(@typeList, $possible);
+		}
+		build_types();
+	} else {
+		warn "NOTPOSS: $possible ($line)\n" if ($dbg_possible > 1);
+	}
+}
+
+my $prefix = '';
+
+sub report {
+	if (defined $tst_only && $_[0] !~ /\Q$tst_only\E/) {
+		return 0;
+	}
+	my $line = $prefix . $_[0];
+
+	$line = (split('\n', $line))[0] . "\n" if ($terse);
+
+	push(our @report, $line);
+
+	return 1;
+}
+sub report_dump {
+	our @report;
+}
+sub ERROR {
+	if (report("ERROR: $_[0]\n")) {
+		our $clean = 0;
+		our $cnt_error++;
+	}
+}
+sub WARN {
+	if (report("WARNING: $_[0]\n")) {
+		our $clean = 0;
+		our $cnt_warn++;
+	}
+}
+sub CHK {
+	if ($check && report("CHECK: $_[0]\n")) {
+		our $clean = 0;
+		our $cnt_chk++;
+	}
+}
+
+sub check_absolute_file {
+	my ($absolute, $herecurr) = @_;
+	my $file = $absolute;
+
+	##print "absolute<$absolute>\n";
+
+	# See if any suffix of this path is a path within the tree.
+	while ($file =~ s@^[^/]*/@@) {
+		if (-f "$root/$file") {
+			##print "file<$file>\n";
+			last;
+		}
+	}
+	if (! -f _)  {
+		return 0;
+	}
+
+	# It is, so see if the prefix is acceptable.
+	my $prefix = $absolute;
+	substr($prefix, -length($file)) = '';
+
+	##print "prefix<$prefix>\n";
+	if ($prefix ne ".../") {
+		WARN("use relative pathname instead of absolute in changelog text\n" . $herecurr);
+	}
+}
+
+sub process {
+	my $filename = shift;
+
+	my $linenr=0;
+	my $prevline="";
+	my $prevrawline="";
+	my $stashline="";
+	my $stashrawline="";
+
+	my $length;
+	my $indent;
+	my $previndent=0;
+	my $stashindent=0;
+
+	our $clean = 1;
+	my $signoff = 0;
+	my $is_patch = 0;
+
+	our @report = ();
+	our $cnt_lines = 0;
+	our $cnt_error = 0;
+	our $cnt_warn = 0;
+	our $cnt_chk = 0;
+
+	# Trace the real file/line as we go.
+	my $realfile = '';
+	my $realline = 0;
+	my $realcnt = 0;
+	my $here = '';
+	my $in_comment = 0;
+	my $comment_edge = 0;
+	my $first_line = 0;
+	my $p1_prefix = '';
+
+	my $prev_values = 'E';
+
+	# suppression flags
+	my %suppress_ifbraces;
+	my %suppress_whiletrailers;
+	my %suppress_export;
+
+	# Pre-scan the patch sanitizing the lines.
+	# Pre-scan the patch looking for any __setup documentation.
+	#
+	my @setup_docs = ();
+	my $setup_docs = 0;
+
+	sanitise_line_reset();
+	my $line;
+	foreach my $rawline (@rawlines) {
+		$linenr++;
+		$line = $rawline;
+
+		if ($rawline=~/^\+\+\+\s+(\S+)/) {
+			$setup_docs = 0;
+			if ($1 =~ m@Documentation/kernel-parameters.txt$@) {
+				$setup_docs = 1;
+			}
+			#next;
+		}
+		if ($rawline=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
+			$realline=$1-1;
+			if (defined $2) {
+				$realcnt=$3+1;
+			} else {
+				$realcnt=1+1;
+			}
+			$in_comment = 0;
+
+			# Guestimate if this is a continuing comment.  Run
+			# the context looking for a comment "edge".  If this
+			# edge is a close comment then we must be in a comment
+			# at context start.
+			my $edge;
+			my $cnt = $realcnt;
+			for (my $ln = $linenr + 1; $cnt > 0; $ln++) {
+				next if (defined $rawlines[$ln - 1] &&
+					 $rawlines[$ln - 1] =~ /^-/);
+				$cnt--;
+				#print "RAW<$rawlines[$ln - 1]>\n";
+				last if (!defined $rawlines[$ln - 1]);
+				if ($rawlines[$ln - 1] =~ m@(/\*|\*/)@ &&
+				    $rawlines[$ln - 1] !~ m@"[^"]*(?:/\*|\*/)[^"]*"@) {
+					($edge) = $1;
+					last;
+				}
+			}
+			if (defined $edge && $edge eq '*/') {
+				$in_comment = 1;
+			}
+
+			# Guestimate if this is a continuing comment.  If this
+			# is the start of a diff block and this line starts
+			# ' *' then it is very likely a comment.
+			if (!defined $edge &&
+			    $rawlines[$linenr] =~ m@^.\s*(?:\*\*+| \*)(?:\s|$)@)
+			{
+				$in_comment = 1;
+			}
+
+			##print "COMMENT:$in_comment edge<$edge> $rawline\n";
+			sanitise_line_reset($in_comment);
+
+		} elsif ($realcnt && $rawline =~ /^(?:\+| |$)/) {
+			# Standardise the strings and chars within the input to
+			# simplify matching -- only bother with positive lines.
+			$line = sanitise_line($rawline);
+		}
+		push(@lines, $line);
+
+		if ($realcnt > 1) {
+			$realcnt-- if ($line =~ /^(?:\+| |$)/);
+		} else {
+			$realcnt = 0;
+		}
+
+		#print "==>$rawline\n";
+		#print "-->$line\n";
+
+		if ($setup_docs && $line =~ /^\+/) {
+			push(@setup_docs, $line);
+		}
+	}
+
+	$prefix = '';
+
+	$realcnt = 0;
+	$linenr = 0;
+	foreach my $line (@lines) {
+		$linenr++;
+
+		my $rawline = $rawlines[$linenr - 1];
+
+#extract the line range in the file after the patch is applied
+		if ($line=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
+			$is_patch = 1;
+			$first_line = $linenr + 1;
+			$realline=$1-1;
+			if (defined $2) {
+				$realcnt=$3+1;
+			} else {
+				$realcnt=1+1;
+			}
+			annotate_reset();
+			$prev_values = 'E';
+
+			%suppress_ifbraces = ();
+			%suppress_whiletrailers = ();
+			%suppress_export = ();
+			next;
+
+# track the line number as we move through the hunk, note that
+# new versions of GNU diff omit the leading space on completely
+# blank context lines so we need to count that too.
+		} elsif ($line =~ /^( |\+|$)/) {
+			$realline++;
+			$realcnt-- if ($realcnt != 0);
+
+			# Measure the line length and indent.
+			($length, $indent) = line_stats($rawline);
+
+			# Track the previous line.
+			($prevline, $stashline) = ($stashline, $line);
+			($previndent, $stashindent) = ($stashindent, $indent);
+			($prevrawline, $stashrawline) = ($stashrawline, $rawline);
+
+			#warn "line<$line>\n";
+
+		} elsif ($realcnt == 1) {
+			$realcnt--;
+		}
+
+		my $hunk_line = ($realcnt != 0);
+
+#make up the handle for any error we report on this line
+		$prefix = "$filename:$realline: " if ($emacs && $file);
+		$prefix = "$filename:$linenr: " if ($emacs && !$file);
+
+		$here = "#$linenr: " if (!$file);
+		$here = "#$realline: " if ($file);
+
+		# extract the filename as it passes
+		if ($line =~ /^diff --git.*?(\S+)$/) {
+			$realfile = $1;
+			$realfile =~ s@^([^/]*)/@@;
+
+		} elsif ($line =~ /^\+\+\+\s+(\S+)/) {
+			$realfile = $1;
+			$realfile =~ s@^([^/]*)/@@;
+
+			$p1_prefix = $1;
+			if (!$file && $tree && $p1_prefix ne '' &&
+			    -e "$root/$p1_prefix") {
+				WARN("patch prefix '$p1_prefix' exists, appears to be a -p0 patch\n");
+			}
+
+			if ($realfile =~ m@^include/asm/@) {
+				ERROR("do not modify files in include/asm, change architecture specific files in include/asm-<architecture>\n" . "$here$rawline\n");
+			}
+			next;
+		}
+
+		$here .= "FILE: $realfile:$realline:" if ($realcnt != 0);
+
+		my $hereline = "$here\n$rawline\n";
+		my $herecurr = "$here\n$rawline\n";
+		my $hereprev = "$here\n$prevrawline\n$rawline\n";
+
+		$cnt_lines++ if ($realcnt != 0);
+
+# Check for incorrect file permissions
+		if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) {
+			my $permhere = $here . "FILE: $realfile\n";
+			if ($realfile =~ /(Makefile|Kconfig|\.c|\.h|\.S|\.tmpl)$/) {
+				ERROR("do not set execute permissions for source files\n" . $permhere);
+			}
+		}
+
+#check the patch for a signoff:
+		if ($line =~ /^\s*signed-off-by:/i) {
+			# This is a signoff, if ugly, so do not double report.
+			$signoff++;
+			if (!($line =~ /^\s*Signed-off-by:/)) {
+				WARN("Signed-off-by: is the preferred form\n" .
+					$herecurr);
+			}
+			if ($line =~ /^\s*signed-off-by:\S/i) {
+				WARN("space required after Signed-off-by:\n" .
+					$herecurr);
+			}
+		}
+
+# Check for wrappage within a valid hunk of the file
+		if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) {
+			ERROR("patch seems to be corrupt (line wrapped?)\n" .
+				$herecurr) if (!$emitted_corrupt++);
+		}
+
+# Check for absolute kernel paths.
+		if ($tree) {
+			while ($line =~ m{(?:^|\s)(/\S*)}g) {
+				my $file = $1;
+
+				if ($file =~ m{^(.*?)(?::\d+)+:?$} &&
+				    check_absolute_file($1, $herecurr)) {
+					#
+				} else {
+					check_absolute_file($file, $herecurr);
+				}
+			}
+		}
+
+# UTF-8 regex found at http://www.w3.org/International/questions/qa-forms-utf-8.en.php
+		if (($realfile =~ /^$/ || $line =~ /^\+/) &&
+		    $rawline !~ m/^$UTF8*$/) {
+			my ($utf8_prefix) = ($rawline =~ /^($UTF8*)/);
+
+			my $blank = copy_spacing($rawline);
+			my $ptr = substr($blank, 0, length($utf8_prefix)) . "^";
+			my $hereptr = "$hereline$ptr\n";
+
+			ERROR("Invalid UTF-8, patch and commit message should be encoded in UTF-8\n" . $hereptr);
+		}
+
+# ignore non-hunk lines and lines being removed
+		next if (!$hunk_line || $line =~ /^-/);
+
+#trailing whitespace
+		if ($line =~ /^\+.*\015/) {
+			my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+			ERROR("DOS line endings\n" . $herevet);
+
+		} elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) {
+			my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+			ERROR("trailing whitespace\n" . $herevet);
+			$rpt_cleaners = 1;
+		}
+
+# check for Kconfig help text having a real description
+# Only applies when adding the entry originally, after that we do not have
+# sufficient context to determine whether it is indeed long enough.
+		if ($realfile =~ /Kconfig/ &&
+		    $line =~ /\+\s*(?:---)?help(?:---)?$/) {
+			my $length = 0;
+			my $cnt = $realcnt;
+			my $ln = $linenr + 1;
+			my $f;
+			my $is_end = 0;
+			while ($cnt > 0 && defined $lines[$ln - 1]) {
+				$f = $lines[$ln - 1];
+				$cnt-- if ($lines[$ln - 1] !~ /^-/);
+				$is_end = $lines[$ln - 1] =~ /^\+/;
+				$ln++;
+
+				next if ($f =~ /^-/);
+				$f =~ s/^.//;
+				$f =~ s/#.*//;
+				$f =~ s/^\s+//;
+				next if ($f =~ /^$/);
+				if ($f =~ /^\s*config\s/) {
+					$is_end = 1;
+					last;
+				}
+				$length++;
+			}
+			WARN("please write a paragraph that describes the config symbol fully\n" . $herecurr) if ($is_end && $length < 4);
+			#print "is_end<$is_end> length<$length>\n";
+		}
+
+# check we are in a valid source file if not then ignore this hunk
+# only chek files in tools/libxl/
+		next if ($realfile !~ /^tools\/libxl\/.*\.(h|c|s|S|pl|sh)$/);
+
+#80 column limit
+		if ($line =~ /^\+/ && $prevrawline !~ /\/\*\*/ &&
+		    $rawline !~ /^.\s*\*\s*\@$Ident\s/ &&
+		    !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(KERN_\S+\s*|[^"]*))?"[X\t]*"\s*(?:,|\)\s*;)\s*$/ ||
+		    $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
+		    $length > 80)
+		{
+			WARN("line over 80 characters\n" . $herecurr);
+		}
+
+# check for spaces before a quoted newline
+		if ($rawline =~ /^.*\".*\s\\n/) {
+			WARN("unnecessary whitespace before a quoted newline\n" . $herecurr);
+		}
+
+# check for adding lines without a newline.
+		if ($line =~ /^\+/ && defined $lines[$linenr] && $lines[$linenr] =~ /^\\ No newline at end of file/) {
+			WARN("adding a line without newline at end of file\n" . $herecurr);
+		}
+
+
+# check we are in a valid source file C or perl if not then ignore this hunk
+		next if ($realfile !~ /\.(h|c|pl)$/);
+
+# in QEMU, no tabs are allowed
+		if ($rawline =~ /^\+.*\t/) {
+			my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+			ERROR("code indent should never use tabs\n" . $herevet);
+			$rpt_cleaners = 1;
+		}
+
+# check we are in a valid C source file if not then ignore this hunk
+		next if ($realfile !~ /\.(h|c)$/);
+
+# check for RCS/CVS revision markers
+		if ($rawline =~ /^\+.*\$(Revision|Log|Id)(?:\$|)/) {
+			WARN("CVS style keyword markers, these will _not_ be updated\n". $herecurr);
+		}
+
+# Check for libxl__sprintf
+		if ($line =~ /^\+.*libxl__sprintf/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the GCSPRINTF macro instead of libxl__sprintf\n" . $herevet);
+		}
+# Check for old log functions
+		if ($line =~ /^\+.*LIBXL__LOG_/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the new set of logging functions, LOG, LOGE and LOGEV\n" . $herevet);
+		}
+# Check for definitions of ctx
+		if ($line =~ /^\+.*libxl_ctx *ctx =/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the CTX macro directly instead of a variable\n" . $herevet);
+		}
+# Check for use of libxl__gc_owner
+		if ($line =~ /^\+.*libxl__gc_owner/) {
+			my $herevet = "$here\n" . cat_vet($line) . "\n";
+			ERROR("use the CTX macro\n" . $herevet);
+		}
+
+# Check for potential 'bare' types
+		my ($stat, $cond, $line_nr_next, $remain_next, $off_next,
+		    $realline_next);
+		if ($realcnt && $line =~ /.\s*\S/) {
+			($stat, $cond, $line_nr_next, $remain_next, $off_next) =
+				ctx_statement_block($linenr, $realcnt, 0);
+			$stat =~ s/\n./\n /g;
+			$cond =~ s/\n./\n /g;
+
+			# Find the real next line.
+			$realline_next = $line_nr_next;
+			if (defined $realline_next &&
+			    (!defined $lines[$realline_next - 1] ||
+			     substr($lines[$realline_next - 1], $off_next) =~ /^\s*$/)) {
+				$realline_next++;
+			}
+
+			my $s = $stat;
+			$s =~ s/{.*$//s;
+
+			# Ignore goto labels.
+			if ($s =~ /$Ident:\*$/s) {
+
+			# Ignore functions being called
+			} elsif ($s =~ /^.\s*$Ident\s*\(/s) {
+
+			} elsif ($s =~ /^.\s*else\b/s) {
+
+			# declarations always start with types
+			} elsif ($prev_values eq 'E' && $s =~ /^.\s*(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?((?:\s*$Ident)+?)\b(?:\s+$Sparse)?\s*\**\s*(?:$Ident|\(\*[^\)]*\))(?:\s*$Modifier)?\s*(?:;|=|,|\()/s) {
+				my $type = $1;
+				$type =~ s/\s+/ /g;
+				possible($type, "A:" . $s);
+
+			# definitions in global scope can only start with types
+			} elsif ($s =~ /^.(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?($Ident)\b\s*(?!:)/s) {
+				possible($1, "B:" . $s);
+			}
+
+			# any (foo ... *) is a pointer cast, and foo is a type
+			while ($s =~ /\(($Ident)(?:\s+$Sparse)*[\s\*]+\s*\)/sg) {
+				possible($1, "C:" . $s);
+			}
+
+			# Check for any sort of function declaration.
+			# int foo(something bar, other baz);
+			# void (*store_gdt)(x86_descr_ptr *);
+			if ($prev_values eq 'E' && $s =~ /^(.(?:typedef\s*)?(?:(?:$Storage|$Inline)\s*)*\s*$Type\s*(?:\b$Ident|\(\*\s*$Ident\))\s*)\(/s) {
+				my ($name_len) = length($1);
+
+				my $ctx = $s;
+				substr($ctx, 0, $name_len + 1, '');
+				$ctx =~ s/\)[^\)]*$//;
+
+				for my $arg (split(/\s*,\s*/, $ctx)) {
+					if ($arg =~ /^(?:const\s+)?($Ident)(?:\s+$Sparse)*\s*\**\s*(:?\b$Ident)?$/s || $arg =~ /^($Ident)$/s) {
+
+						possible($1, "D:" . $s);
+					}
+				}
+			}
+
+		}
+
+#
+# Checks which may be anchored in the context.
+#
+
+# Check for switch () and associated case and default
+# statements should be at the same indent.
+		if ($line=~/\bswitch\s*\(.*\)/) {
+			my $err = '';
+			my $sep = '';
+			my @ctx = ctx_block_outer($linenr, $realcnt);
+			shift(@ctx);
+			for my $ctx (@ctx) {
+				my ($clen, $cindent) = line_stats($ctx);
+				if ($ctx =~ /^\+\s*(case\s+|default:)/ &&
+							$indent != $cindent) {
+					$err .= "$sep$ctx\n";
+					$sep = '';
+				} else {
+					$sep = "[...]\n";
+				}
+			}
+			if ($err ne '') {
+				ERROR("switch and case should be at the same indent\n$hereline$err");
+			}
+		}
+
+# if/while/etc brace do not go on next line, unless defining a do while loop,
+# or if that brace on the next line is for something else
+		if ($line =~ /(.*)\b((?:if|while|for|switch)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) {
+			my $pre_ctx = "$1$2";
+
+			my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0);
+			my $ctx_cnt = $realcnt - $#ctx - 1;
+			my $ctx = join("\n", @ctx);
+
+			my $ctx_ln = $linenr;
+			my $ctx_skip = $realcnt;
+
+			while ($ctx_skip > $ctx_cnt || ($ctx_skip == $ctx_cnt &&
+					defined $lines[$ctx_ln - 1] &&
+					$lines[$ctx_ln - 1] =~ /^-/)) {
+				##print "SKIP<$ctx_skip> CNT<$ctx_cnt>\n";
+				$ctx_skip-- if (!defined $lines[$ctx_ln - 1] || $lines[$ctx_ln - 1] !~ /^-/);
+				$ctx_ln++;
+			}
+
+			#print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n";
+			#print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n";
+
+			if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) {
+				ERROR("that open brace { should be on the previous line\n" .
+					"$here\n$ctx\n$rawlines[$ctx_ln - 1]\n");
+			}
+			if ($level == 0 && $pre_ctx !~ /}\s*while\s*\($/ &&
+			    $ctx =~ /\)\s*\;\s*$/ &&
+			    defined $lines[$ctx_ln - 1])
+			{
+				my ($nlength, $nindent) = line_stats($lines[$ctx_ln - 1]);
+				if ($nindent > $indent) {
+					WARN("trailing semicolon indicates no statements, indent implies otherwise\n" .
+						"$here\n$ctx\n$rawlines[$ctx_ln - 1]\n");
+				}
+			}
+		}
+
+# Check relative indent for conditionals and blocks.
+		if ($line =~ /\b(?:(?:if|while|for)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) {
+			my ($s, $c) = ($stat, $cond);
+
+			substr($s, 0, length($c), '');
+
+			# Make sure we remove the line prefixes as we have
+			# none on the first line, and are going to readd them
+			# where necessary.
+			$s =~ s/\n./\n/gs;
+
+			# Find out how long the conditional actually is.
+			my @newlines = ($c =~ /\n/gs);
+			my $cond_lines = 1 + $#newlines;
+
+			# We want to check the first line inside the block
+			# starting at the end of the conditional, so remove:
+			#  1) any blank line termination
+			#  2) any opening brace { on end of the line
+			#  3) any do (...) {
+			my $continuation = 0;
+			my $check = 0;
+			$s =~ s/^.*\bdo\b//;
+			$s =~ s/^\s*{//;
+			if ($s =~ s/^\s*\\//) {
+				$continuation = 1;
+			}
+			if ($s =~ s/^\s*?\n//) {
+				$check = 1;
+				$cond_lines++;
+			}
+
+			# Also ignore a loop construct at the end of a
+			# preprocessor statement.
+			if (($prevline =~ /^.\s*#\s*define\s/ ||
+			    $prevline =~ /\\\s*$/) && $continuation == 0) {
+				$check = 0;
+			}
+
+			my $cond_ptr = -1;
+			$continuation = 0;
+			while ($cond_ptr != $cond_lines) {
+				$cond_ptr = $cond_lines;
+
+				# If we see an #else/#elif then the code
+				# is not linear.
+				if ($s =~ /^\s*\#\s*(?:else|elif)/) {
+					$check = 0;
+				}
+
+				# Ignore:
+				#  1) blank lines, they should be at 0,
+				#  2) preprocessor lines, and
+				#  3) labels.
+				if ($continuation ||
+				    $s =~ /^\s*?\n/ ||
+				    $s =~ /^\s*#\s*?/ ||
+				    $s =~ /^\s*$Ident\s*:/) {
+					$continuation = ($s =~ /^.*?\\\n/) ? 1 : 0;
+					if ($s =~ s/^.*?\n//) {
+						$cond_lines++;
+					}
+				}
+			}
+
+			my (undef, $sindent) = line_stats("+" . $s);
+			my $stat_real = raw_line($linenr, $cond_lines);
+
+			# Check if either of these lines are modified, else
+			# this is not this patch's fault.
+			if (!defined($stat_real) ||
+			    $stat !~ /^\+/ && $stat_real !~ /^\+/) {
+				$check = 0;
+			}
+			if (defined($stat_real) && $cond_lines > 1) {
+				$stat_real = "[...]\n$stat_real";
+			}
+
+			#print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n";
+
+			if ($check && (($sindent % 4) != 0 ||
+			    ($sindent <= $indent && $s ne ''))) {
+				WARN("suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n");
+			}
+		}
+
+		# Track the 'values' across context and added lines.
+		my $opline = $line; $opline =~ s/^./ /;
+		my ($curr_values, $curr_vars) =
+				annotate_values($opline . "\n", $prev_values);
+		$curr_values = $prev_values . $curr_values;
+		if ($dbg_values) {
+			my $outline = $opline; $outline =~ s/\t/ /g;
+			print "$linenr > .$outline\n";
+			print "$linenr > $curr_values\n";
+			print "$linenr >  $curr_vars\n";
+		}
+		$prev_values = substr($curr_values, -1);
+
+#ignore lines not being added
+		if ($line=~/^[^\+]/) {next;}
+
+# TEST: allow direct testing of the type matcher.
+		if ($dbg_type) {
+			if ($line =~ /^.\s*$Declare\s*$/) {
+				ERROR("TEST: is type\n" . $herecurr);
+			} elsif ($dbg_type > 1 && $line =~ /^.+($Declare)/) {
+				ERROR("TEST: is not type ($1 is)\n". $herecurr);
+			}
+			next;
+		}
+# TEST: allow direct testing of the attribute matcher.
+		if ($dbg_attr) {
+			if ($line =~ /^.\s*$Modifier\s*$/) {
+				ERROR("TEST: is attr\n" . $herecurr);
+			} elsif ($dbg_attr > 1 && $line =~ /^.+($Modifier)/) {
+				ERROR("TEST: is not attr ($1 is)\n". $herecurr);
+			}
+			next;
+		}
+
+# check for initialisation to aggregates open brace on the next line
+		if ($line =~ /^.\s*{/ &&
+		    $prevline =~ /(?:^|[^=])=\s*$/) {
+			ERROR("that open brace { should be on the previous line\n" . $hereprev);
+		}
+
+#
+# Checks which are anchored on the added line.
+#
+
+# check for malformed paths in #include statements (uses RAW line)
+		if ($rawline =~ m{^.\s*\#\s*include\s+[<"](.*)[">]}) {
+			my $path = $1;
+			if ($path =~ m{//}) {
+				ERROR("malformed #include filename\n" .
+					$herecurr);
+			}
+		}
+
+# no C99 // comments
+		if ($line =~ m{//}) {
+			ERROR("do not use C99 // comments\n" . $herecurr);
+		}
+		# Remove C99 comments.
+		$line =~ s@//.*@@;
+		$opline =~ s@//.*@@;
+
+# EXPORT_SYMBOL should immediately follow the thing it is exporting, consider
+# the whole statement.
+#print "APW <$lines[$realline_next - 1]>\n";
+		if (defined $realline_next &&
+		    exists $lines[$realline_next - 1] &&
+		    !defined $suppress_export{$realline_next} &&
+		    ($lines[$realline_next - 1] =~ /EXPORT_SYMBOL.*\((.*)\)/ ||
+		     $lines[$realline_next - 1] =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) {
+			# Handle definitions which produce identifiers with
+			# a prefix:
+			#   XXX(foo);
+			#   EXPORT_SYMBOL(something_foo);
+			my $name = $1;
+			if ($stat =~ /^.([A-Z_]+)\s*\(\s*($Ident)/ &&
+			    $name =~ /^${Ident}_$2/) {
+#print "FOO C name<$name>\n";
+				$suppress_export{$realline_next} = 1;
+
+			} elsif ($stat !~ /(?:
+				\n.}\s*$|
+				^.DEFINE_$Ident\(\Q$name\E\)|
+				^.DECLARE_$Ident\(\Q$name\E\)|
+				^.LIST_HEAD\(\Q$name\E\)|
+				^.(?:$Storage\s+)?$Type\s*\(\s*\*\s*\Q$name\E\s*\)\s*\(|
+				\b\Q$name\E(?:\s+$Attribute)*\s*(?:;|=|\[|\()
+			    )/x) {
+#print "FOO A<$lines[$realline_next - 1]> stat<$stat> name<$name>\n";
+				$suppress_export{$realline_next} = 2;
+			} else {
+				$suppress_export{$realline_next} = 1;
+			}
+		}
+		if (!defined $suppress_export{$linenr} &&
+		    $prevline =~ /^.\s*$/ &&
+		    ($line =~ /EXPORT_SYMBOL.*\((.*)\)/ ||
+		     $line =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) {
+#print "FOO B <$lines[$linenr - 1]>\n";
+			$suppress_export{$linenr} = 2;
+		}
+		if (defined $suppress_export{$linenr} &&
+		    $suppress_export{$linenr} == 2) {
+			WARN("EXPORT_SYMBOL(foo); should immediately follow its function/variable\n" . $herecurr);
+		}
+
+# check for global initialisers.
+		if ($line =~ /^.$Type\s*$Ident\s*(?:\s+$Modifier)*\s*=\s*(0|NULL|false)\s*;/) {
+			ERROR("do not initialise globals to 0 or NULL\n" .
+				$herecurr);
+		}
+# check for static initialisers.
+		if ($line =~ /\bstatic\s.*=\s*(0|NULL|false)\s*;/) {
+			ERROR("do not initialise statics to 0 or NULL\n" .
+				$herecurr);
+		}
+
+# * goes on variable not on type
+		# (char*[ const])
+		if ($line =~ m{\($NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)\)}) {
+			my ($from, $to) = ($1, $1);
+
+			# Should start with a space.
+			$to =~ s/^(\S)/ $1/;
+			# Should not end with a space.
+			$to =~ s/\s+$//;
+			# '*'s should not have spaces between.
+			while ($to =~ s/\*\s+\*/\*\*/) {
+			}
+
+			#print "from<$from> to<$to>\n";
+			if ($from ne $to) {
+				ERROR("\"(foo$from)\" should be \"(foo$to)\"\n" .  $herecurr);
+			}
+		} elsif ($line =~ m{\b$NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)($Ident)}) {
+			my ($from, $to, $ident) = ($1, $1, $2);
+
+			# Should start with a space.
+			$to =~ s/^(\S)/ $1/;
+			# Should not end with a space.
+			$to =~ s/\s+$//;
+			# '*'s should not have spaces between.
+			while ($to =~ s/\*\s+\*/\*\*/) {
+			}
+			# Modifiers should have spaces.
+			$to =~ s/(\b$Modifier$)/$1 /;
+
+			#print "from<$from> to<$to> ident<$ident>\n";
+			if ($from ne $to && $ident !~ /^$Modifier$/) {
+				ERROR("\"foo${from}bar\" should be \"foo${to}bar\"\n" .  $herecurr);
+			}
+		}
+
+# # no BUG() or BUG_ON()
+# 		if ($line =~ /\b(BUG|BUG_ON)\b/) {
+# 			print "Try to use WARN_ON & Recovery code rather than BUG() or BUG_ON()\n";
+# 			print "$herecurr";
+# 			$clean = 0;
+# 		}
+
+		if ($line =~ /\bLINUX_VERSION_CODE\b/) {
+			WARN("LINUX_VERSION_CODE should be avoided, code should be for the version to which it is merged\n" . $herecurr);
+		}
+
+# printk should use KERN_* levels.  Note that follow on printk's on the
+# same line do not need a level, so we use the current block context
+# to try and find and validate the current printk.  In summary the current
+# printk includes all preceding printk's which have no newline on the end.
+# we assume the first bad printk is the one to report.
+		if ($line =~ /\bprintk\((?!KERN_)\s*"/) {
+			my $ok = 0;
+			for (my $ln = $linenr - 1; $ln >= $first_line; $ln--) {
+				#print "CHECK<$lines[$ln - 1]\n";
+				# we have a preceding printk if it ends
+				# with "\n" ignore it, else it is to blame
+				if ($lines[$ln - 1] =~ m{\bprintk\(}) {
+					if ($rawlines[$ln - 1] !~ m{\\n"}) {
+						$ok = 1;
+					}
+					last;
+				}
+			}
+			if ($ok == 0) {
+				WARN("printk() should include KERN_ facility level\n" . $herecurr);
+			}
+		}
+
+# function brace can't be on same line, except for #defines of do while,
+# or if closed on same line
+		if (($line=~/$Type\s*$Ident\(.*\).*\s{/) and
+		    !($line=~/\#\s*define.*do\s{/) and !($line=~/}/)) {
+			ERROR("open brace '{' following function declarations go on the next line\n" . $herecurr);
+		}
+
+# open braces for enum, union and struct go on the same line.
+		if ($line =~ /^.\s*{/ &&
+		    $prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) {
+			ERROR("open brace '{' following $1 go on the same line\n" . $hereprev);
+		}
+
+# missing space after union, struct or enum definition
+		if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?(?:\s+$Ident)?[=\{]/) {
+		    WARN("missing space after $1 definition\n" . $herecurr);
+		}
+
+# check for spacing round square brackets; allowed:
+#  1. with a type on the left -- int [] a;
+#  2. at the beginning of a line for slice initialisers -- [0...10] = 5,
+#  3. inside a curly brace -- = { [0...10] = 5 }
+		while ($line =~ /(.*?\s)\[/g) {
+			my ($where, $prefix) = ($-[1], $1);
+			if ($prefix !~ /$Type\s+$/ &&
+			    ($where != 0 || $prefix !~ /^.\s+$/) &&
+			    $prefix !~ /{\s+$/) {
+				ERROR("space prohibited before open square bracket '['\n" . $herecurr);
+			}
+		}
+
+# check for spaces between functions and their parentheses.
+		while ($line =~ /($Ident)\s+\(/g) {
+			my $name = $1;
+			my $ctx_before = substr($line, 0, $-[1]);
+			my $ctx = "$ctx_before$name";
+
+			# Ignore those directives where spaces _are_ permitted.
+			if ($name =~ /^(?:
+				if|for|while|switch|return|case|
+				volatile|__volatile__|
+				__attribute__|format|__extension__|
+				asm|__asm__)$/x)
+			{
+
+			# cpp #define statements have non-optional spaces, ie
+			# if there is a space between the name and the open
+			# parenthesis it is simply not a parameter group.
+			} elsif ($ctx_before =~ /^.\s*\#\s*define\s*$/) {
+
+			# cpp #elif statement condition may start with a (
+			} elsif ($ctx =~ /^.\s*\#\s*elif\s*$/) {
+
+			# If this whole things ends with a type its most
+			# likely a typedef for a function.
+			} elsif ($ctx =~ /$Type$/) {
+
+			} else {
+				WARN("space prohibited between function name and open parenthesis '('\n" . $herecurr);
+			}
+		}
+# Check operator spacing.
+		if (!($line=~/\#\s*include/)) {
+			my $ops = qr{
+				<<=|>>=|<=|>=|==|!=|
+				\+=|-=|\*=|\/=|%=|\^=|\|=|&=|
+				=>|->|<<|>>|<|>|=|!|~|
+				&&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%|
+				\?|:
+			}x;
+			my @elements = split(/($ops|;)/, $opline);
+			my $off = 0;
+
+			my $blank = copy_spacing($opline);
+
+			for (my $n = 0; $n < $#elements; $n += 2) {
+				$off += length($elements[$n]);
+
+				# Pick up the preceding and succeeding characters.
+				my $ca = substr($opline, 0, $off);
+				my $cc = '';
+				if (length($opline) >= ($off + length($elements[$n + 1]))) {
+					$cc = substr($opline, $off + length($elements[$n + 1]));
+				}
+				my $cb = "$ca$;$cc";
+
+				my $a = '';
+				$a = 'V' if ($elements[$n] ne '');
+				$a = 'W' if ($elements[$n] =~ /\s$/);
+				$a = 'C' if ($elements[$n] =~ /$;$/);
+				$a = 'B' if ($elements[$n] =~ /(\[|\()$/);
+				$a = 'O' if ($elements[$n] eq '');
+				$a = 'E' if ($ca =~ /^\s*$/);
+
+				my $op = $elements[$n + 1];
+
+				my $c = '';
+				if (defined $elements[$n + 2]) {
+					$c = 'V' if ($elements[$n + 2] ne '');
+					$c = 'W' if ($elements[$n + 2] =~ /^\s/);
+					$c = 'C' if ($elements[$n + 2] =~ /^$;/);
+					$c = 'B' if ($elements[$n + 2] =~ /^(\)|\]|;)/);
+					$c = 'O' if ($elements[$n + 2] eq '');
+					$c = 'E' if ($elements[$n + 2] =~ /^\s*\\$/);
+				} else {
+					$c = 'E';
+				}
+
+				my $ctx = "${a}x${c}";
+
+				my $at = "(ctx:$ctx)";
+
+				my $ptr = substr($blank, 0, $off) . "^";
+				my $hereptr = "$hereline$ptr\n";
+
+				# Pull out the value of this operator.
+				my $op_type = substr($curr_values, $off + 1, 1);
+
+				# Get the full operator variant.
+				my $opv = $op . substr($curr_vars, $off, 1);
+
+				# Ignore operators passed as parameters.
+				if ($op_type ne 'V' &&
+				    $ca =~ /\s$/ && $cc =~ /^\s*,/) {
+
+#				# Ignore comments
+#				} elsif ($op =~ /^$;+$/) {
+
+				# ; should have either the end of line or a space or \ after it
+				} elsif ($op eq ';') {
+					if ($ctx !~ /.x[WEBC]/ &&
+					    $cc !~ /^\\/ && $cc !~ /^;/) {
+						ERROR("space required after that '$op' $at\n" . $hereptr);
+					}
+
+				# // is a comment
+				} elsif ($op eq '//') {
+
+				# No spaces for:
+				#   ->
+				#   :   when part of a bitfield
+				} elsif ($op eq '->' || $opv eq ':B') {
+					if ($ctx =~ /Wx.|.xW/) {
+						ERROR("spaces prohibited around that '$op' $at\n" . $hereptr);
+					}
+
+				# , must have a space on the right.
+                                # not required when having a single },{ on one line
+				} elsif ($op eq ',') {
+					if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/ &&
+                                            ($elements[$n] . $elements[$n + 2]) !~ " *}{") {
+						ERROR("space required after that '$op' $at\n" . $hereptr);
+					}
+
+				# '*' as part of a type definition -- reported already.
+				} elsif ($opv eq '*_') {
+					#warn "'*' is part of type\n";
+
+				# unary operators should have a space before and
+				# none after.  May be left adjacent to another
+				# unary operator, or a cast
+				} elsif ($op eq '!' || $op eq '~' ||
+					 $opv eq '*U' || $opv eq '-U' ||
+					 $opv eq '&U' || $opv eq '&&U') {
+					if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) {
+						ERROR("space required before that '$op' $at\n" . $hereptr);
+					}
+					if ($op eq '*' && $cc =~/\s*$Modifier\b/) {
+						# A unary '*' may be const
+
+					} elsif ($ctx =~ /.xW/) {
+						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
+					}
+
+				# unary ++ and unary -- are allowed no space on one side.
+				} elsif ($op eq '++' or $op eq '--') {
+					if ($ctx !~ /[WEOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) {
+						ERROR("space required one side of that '$op' $at\n" . $hereptr);
+					}
+					if ($ctx =~ /Wx[BE]/ ||
+					    ($ctx =~ /Wx./ && $cc =~ /^;/)) {
+						ERROR("space prohibited before that '$op' $at\n" . $hereptr);
+					}
+					if ($ctx =~ /ExW/) {
+						ERROR("space prohibited after that '$op' $at\n" . $hereptr);
+					}
+
+
+				# << and >> may either have or not have spaces both sides
+				} elsif ($op eq '<<' or $op eq '>>' or
+					 $op eq '&' or $op eq '^' or $op eq '|' or
+					 $op eq '+' or $op eq '-' or
+					 $op eq '/' or $op eq '%')
+				{
+					if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) {
+						ERROR("need consistent spacing around '$op' $at\n" .
+							$hereptr);
+					}
+
+				# A colon needs no spaces before when it is
+				# terminating a case value or a label.
+				} elsif ($opv eq ':C' || $opv eq ':L') {
+					if ($ctx =~ /Wx./) {
+						ERROR("space prohibited before that '$op' $at\n" . $hereptr);
+					}
+
+				# All the others need spaces both sides.
+				} elsif ($ctx !~ /[EWC]x[CWE]/ && $opv ne '*B') {
+					my $ok = 0;
+
+					# Ignore email addresses <foo@bar>
+					if (($op eq '<' &&
+					     $cc =~ /^\S+\@\S+>/) ||
+					    ($op eq '>' &&
+					     $ca =~ /<\S+\@\S+$/))
+					{
+						$ok = 1;
+					}
+
+					# Ignore ?:
+					if (($opv eq ':O' && $ca =~ /\?$/) ||
+					    ($op eq '?' && $cc =~ /^:/)) {
+						$ok = 1;
+					}
+
+					if ($ok == 0) {
+						ERROR("spaces required around that '$op' $at\n" . $hereptr);
+					}
+				}
+				$off += length($elements[$n + 1]);
+			}
+		}
+
+# check for multiple assignments
+		if ($line =~ /^.\s*$Lval\s*=\s*$Lval\s*=(?!=)/) {
+			CHK("multiple assignments should be avoided\n" . $herecurr);
+		}
+
+## # check for multiple declarations, allowing for a function declaration
+## # continuation.
+## 		if ($line =~ /^.\s*$Type\s+$Ident(?:\s*=[^,{]*)?\s*,\s*$Ident.*/ &&
+## 		    $line !~ /^.\s*$Type\s+$Ident(?:\s*=[^,{]*)?\s*,\s*$Type\s*$Ident.*/) {
+##
+## 			# Remove any bracketed sections to ensure we do not
+## 			# falsly report the parameters of functions.
+## 			my $ln = $line;
+## 			while ($ln =~ s/\([^\(\)]*\)//g) {
+## 			}
+## 			if ($ln =~ /,/) {
+## 				WARN("declaring multiple variables together should be avoided\n" . $herecurr);
+## 			}
+## 		}
+
+#need space before brace following if, while, etc
+		if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) ||
+		    $line =~ /do{/) {
+			ERROR("space required before the open brace '{'\n" . $herecurr);
+		}
+
+# closing brace should have a space following it when it has anything
+# on the line
+		if ($line =~ /}(?!(?:,|;|\)))\S/) {
+			ERROR("space required after that close brace '}'\n" . $herecurr);
+		}
+
+# check spacing on square brackets
+		if ($line =~ /\[\s/ && $line !~ /\[\s*$/) {
+			ERROR("space prohibited after that open square bracket '['\n" . $herecurr);
+		}
+		if ($line =~ /\s\]/) {
+			ERROR("space prohibited before that close square bracket ']'\n" . $herecurr);
+		}
+
+# check spacing on parentheses
+		if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ &&
+		    $line !~ /for\s*\(\s+;/) {
+			ERROR("space prohibited after that open parenthesis '('\n" . $herecurr);
+		}
+		if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ &&
+		    $line !~ /for\s*\(.*;\s+\)/ &&
+		    $line !~ /:\s+\)/) {
+			ERROR("space prohibited before that close parenthesis ')'\n" . $herecurr);
+		}
+
+# Return is not a function.
+		if (defined($stat) && $stat =~ /^.\s*return(\s*)(\(.*);/s) {
+			my $spacing = $1;
+			my $value = $2;
+
+			# Flatten any parentheses
+			$value =~ s/\(/ \(/g;
+			$value =~ s/\)/\) /g;
+			while ($value =~ s/\[[^\{\}]*\]/1/ ||
+			       $value !~ /(?:$Ident|-?$Constant)\s*
+					     $Compare\s*
+					     (?:$Ident|-?$Constant)/x &&
+			       $value =~ s/\([^\(\)]*\)/1/) {
+			}
+#print "value<$value>\n";
+			if ($value =~ /^\s*(?:$Ident|-?$Constant)\s*$/) {
+				ERROR("return is not a function, parentheses are not required\n" . $herecurr);
+
+			} elsif ($spacing !~ /\s+/) {
+				ERROR("space required before the open parenthesis '('\n" . $herecurr);
+			}
+		}
+# Return of what appears to be an errno should normally be -'ve
+		if ($line =~ /^.\s*return\s*(E[A-Z]*)\s*;/) {
+			my $name = $1;
+			if ($name ne 'EOF' && $name ne 'ERROR') {
+				CHK("return of an errno should typically be -ve (return -$1)\n" . $herecurr);
+			}
+		}
+
+# Need a space before open parenthesis after if, while etc
+		if ($line=~/\b(if|while|for|switch)\(/) {
+			ERROR("space required before the open parenthesis '('\n" . $herecurr);
+		}
+
+# Check for illegal assignment in if conditional -- and check for trailing
+# statements after the conditional.
+		if ($line =~ /do\s*(?!{)/) {
+			my ($stat_next) = ctx_statement_block($line_nr_next,
+						$remain_next, $off_next);
+			$stat_next =~ s/\n./\n /g;
+			##print "stat<$stat> stat_next<$stat_next>\n";
+
+			if ($stat_next =~ /^\s*while\b/) {
+				# If the statement carries leading newlines,
+				# then count those as offsets.
+				my ($whitespace) =
+					($stat_next =~ /^((?:\s*\n[+-])*\s*)/s);
+				my $offset =
+					statement_rawlines($whitespace) - 1;
+
+				$suppress_whiletrailers{$line_nr_next +
+								$offset} = 1;
+			}
+		}
+		if (!defined $suppress_whiletrailers{$linenr} &&
+		    $line =~ /\b(?:if|while|for)\s*\(/ && $line !~ /^.\s*#/) {
+			my ($s, $c) = ($stat, $cond);
+
+			if ($c =~ /\bif\s*\(.*[^<>!=]=[^=].*/s) {
+				ERROR("do not use assignment in if condition\n" . $herecurr);
+			}
+
+			# Find out what is on the end of the line after the
+			# conditional.
+			substr($s, 0, length($c), '');
+			$s =~ s/\n.*//g;
+			$s =~ s/$;//g; 	# Remove any comments
+			if (length($c) && $s !~ /^\s*{?\s*\\*\s*$/ &&
+			    $c !~ /}\s*while\s*/ && length($s) == 1)
+			{
+				# Find out how long the conditional actually is.
+				my @newlines = ($c =~ /\n/gs);
+				my $cond_lines = 1 + $#newlines;
+				my $stat_real = '';
+
+				$stat_real = raw_line($linenr, $cond_lines)
+							. "\n" if ($cond_lines);
+				if (defined($stat_real) && $cond_lines > 1) {
+					$stat_real = "[...]\n$stat_real";
+				}
+
+				ERROR("trailing statements should be on next line\n" . $herecurr . $stat_real);
+			}
+		}
+
+# Check for bitwise tests written as boolean
+		if ($line =~ /
+			(?:
+				(?:\[|\(|\&\&|\|\|)
+				\s*0[xX][0-9]+\s*
+				(?:\&\&|\|\|)
+			|
+				(?:\&\&|\|\|)
+				\s*0[xX][0-9]+\s*
+				(?:\&\&|\|\||\)|\])
+			)/x)
+		{
+			WARN("boolean test with hexadecimal, perhaps just 1 \& or \|?\n" . $herecurr);
+		}
+
+# if and else should not have general statements after it
+		if ($line =~ /^.\s*(?:}\s*)?else\b(.*)/) {
+			my $s = $1;
+			$s =~ s/$;//g; 	# Remove any comments
+			if ($s !~ /^\s*(?:\sif|(?:{|)\s*\\?\s*$)/) {
+				ERROR("trailing statements should be on next line\n" . $herecurr);
+			}
+		}
+# if should not continue a brace
+		if ($line =~ /}\s*if\b/) {
+			ERROR("trailing statements should be on next line\n" .
+				$herecurr);
+		}
+# case and default should not have general statements after them
+		if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g &&
+		    $line !~ /\G(?:
+			(?:\s*$;*)(?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$|
+			\s*return\s+
+		    )/xg)
+		{
+			ERROR("trailing statements should be on next line\n" . $herecurr);
+		}
+
+		# Check for }<nl>else {, these must be at the same
+		# indent level to be relevant to each other.
+		if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and
+						$previndent == $indent) {
+			ERROR("else should follow close brace '}'\n" . $hereprev);
+		}
+
+		if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ and
+						$previndent == $indent) {
+			my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0);
+
+			# Find out what is on the end of the line after the
+			# conditional.
+			substr($s, 0, length($c), '');
+			$s =~ s/\n.*//g;
+
+			if ($s =~ /^\s*;/) {
+				ERROR("while should follow close brace '}'\n" . $hereprev);
+			}
+		}
+
+#studly caps, commented out until figure out how to distinguish between use of existing and adding new
+#		if (($line=~/[\w_][a-z\d]+[A-Z]/) and !($line=~/print/)) {
+#		    print "No studly caps, use _\n";
+#		    print "$herecurr";
+#		    $clean = 0;
+#		}
+
+#no spaces allowed after \ in define
+		if ($line=~/\#\s*define.*\\\s$/) {
+			WARN("Whitepspace after \\ makes next lines useless\n" . $herecurr);
+		}
+
+#warn if <asm/foo.h> is #included and <linux/foo.h> is available (uses RAW line)
+		if ($tree && $rawline =~ m{^.\s*\#\s*include\s*\<asm\/(.*)\.h\>}) {
+			my $file = "$1.h";
+			my $checkfile = "include/linux/$file";
+			if (-f "$root/$checkfile" &&
+			    $realfile ne $checkfile &&
+			    $1 !~ /$allowed_asm_includes/)
+			{
+				if ($realfile =~ m{^arch/}) {
+					CHK("Consider using #include <linux/$file> instead of <asm/$file>\n" . $herecurr);
+				} else {
+					WARN("Use #include <linux/$file> instead of <asm/$file>\n" . $herecurr);
+				}
+			}
+		}
+
+# multi-statement macros should be enclosed in a do while loop, grab the
+# first statement and ensure its the whole macro if its not enclosed
+# in a known good container
+		if ($realfile !~ m@/vmlinux.lds.h$@ &&
+		    $line =~ /^.\s*\#\s*define\s*$Ident(\()?/) {
+			my $ln = $linenr;
+			my $cnt = $realcnt;
+			my ($off, $dstat, $dcond, $rest);
+			my $ctx = '';
+
+			my $args = defined($1);
+
+			# Find the end of the macro and limit our statement
+			# search to that.
+			while ($cnt > 0 && defined $lines[$ln - 1] &&
+				$lines[$ln - 1] =~ /^(?:-|..*\\$)/)
+			{
+				$ctx .= $rawlines[$ln - 1] . "\n";
+				$cnt-- if ($lines[$ln - 1] !~ /^-/);
+				$ln++;
+			}
+			$ctx .= $rawlines[$ln - 1];
+
+			($dstat, $dcond, $ln, $cnt, $off) =
+				ctx_statement_block($linenr, $ln - $linenr + 1, 0);
+			#print "dstat<$dstat> dcond<$dcond> cnt<$cnt> off<$off>\n";
+			#print "LINE<$lines[$ln-1]> len<" . length($lines[$ln-1]) . "\n";
+
+			# Extract the remainder of the define (if any) and
+			# rip off surrounding spaces, and trailing \'s.
+			$rest = '';
+			while ($off != 0 || ($cnt > 0 && $rest =~ /\\\s*$/)) {
+				#print "ADDING cnt<$cnt> $off <" . substr($lines[$ln - 1], $off) . "> rest<$rest>\n";
+				if ($off != 0 || $lines[$ln - 1] !~ /^-/) {
+					$rest .= substr($lines[$ln - 1], $off) . "\n";
+					$cnt--;
+				}
+				$ln++;
+				$off = 0;
+			}
+			$rest =~ s/\\\n.//g;
+			$rest =~ s/^\s*//s;
+			$rest =~ s/\s*$//s;
+
+			# Clean up the original statement.
+			if ($args) {
+				substr($dstat, 0, length($dcond), '');
+			} else {
+				$dstat =~ s/^.\s*\#\s*define\s+$Ident\s*//;
+			}
+			$dstat =~ s/$;//g;
+			$dstat =~ s/\\\n.//g;
+			$dstat =~ s/^\s*//s;
+			$dstat =~ s/\s*$//s;
+
+			# Flatten any parentheses and braces
+			while ($dstat =~ s/\([^\(\)]*\)/1/ ||
+			       $dstat =~ s/\{[^\{\}]*\}/1/ ||
+			       $dstat =~ s/\[[^\{\}]*\]/1/)
+			{
+			}
+
+			my $exceptions = qr{
+				$Declare|
+				module_param_named|
+				MODULE_PARAM_DESC|
+				DECLARE_PER_CPU|
+				DEFINE_PER_CPU|
+				__typeof__\(|
+				union|
+				struct|
+				\.$Ident\s*=\s*|
+				^\"|\"$
+			}x;
+			#print "REST<$rest> dstat<$dstat> ctx<$ctx>\n";
+			if ($rest ne '' && $rest ne ',') {
+				if ($rest !~ /while\s*\(/ &&
+				    $dstat !~ /$exceptions/)
+				{
+					ERROR("Macros with multiple statements should be enclosed in a do - while loop\n" . "$here\n$ctx\n");
+				}
+
+			} elsif ($ctx !~ /;/) {
+				if ($dstat ne '' &&
+				    $dstat !~ /^(?:$Ident|-?$Constant)$/ &&
+				    $dstat !~ /$exceptions/ &&
+				    $dstat !~ /^\.$Ident\s*=/ &&
+				    $dstat =~ /$Operators/)
+				{
+					ERROR("Macros with complex values should be enclosed in parenthesis\n" . "$here\n$ctx\n");
+				}
+			}
+		}
+
+# make sure symbols are always wrapped with VMLINUX_SYMBOL() ...
+# all assignments may have only one of the following with an assignment:
+#	.
+#	ALIGN(...)
+#	VMLINUX_SYMBOL(...)
+		if ($realfile eq 'vmlinux.lds.h' && $line =~ /(?:(?:^|\s)$Ident\s*=|=\s*$Ident(?:\s|$))/) {
+			WARN("vmlinux.lds.h needs VMLINUX_SYMBOL() around C-visible symbols\n" . $herecurr);
+		}
+
+# check for missing bracing round if etc
+		if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) {
+			my ($level, $endln, @chunks) =
+				ctx_statement_full($linenr, $realcnt, 1);
+			#print "chunks<$#chunks> linenr<$linenr> endln<$endln> level<$level>\n";
+			#print "APW: <<$chunks[1][0]>><<$chunks[1][1]>>\n";
+			if ($#chunks >= 0 && $level == 0) {
+				my $allowed = 0;
+				my $seen = 0;
+				my $herectx = $here . "\n";
+				my $ln = $linenr - 1;
+				for my $chunk (@chunks) {
+					my ($cond, $block) = @{$chunk};
+
+					# If the condition carries leading newlines, then count those as offsets.
+					my ($whitespace) = ($cond =~ /^((?:\s*\n[+-])*\s*)/s);
+					my $offset = statement_rawlines($whitespace) - 1;
+
+					#print "COND<$cond> whitespace<$whitespace> offset<$offset>\n";
+
+					# We have looked at and allowed this specific line.
+					$suppress_ifbraces{$ln + $offset} = 1;
+
+					$herectx .= "$rawlines[$ln + $offset]\n[...]\n";
+					$ln += statement_rawlines($block) - 1;
+
+					substr($block, 0, length($cond), '');
+					$seen++ if ($block =~ /^\s*{/ || $block =~ /;{1,1}/);
+
+					#print "cond<$cond> block<$block> allowed<$allowed>\n";
+					if (statement_lines($cond) > 1) {
+						#print "APW: ALLOWED: cond<$cond>\n";
+						$allowed = 1;
+					}
+					if ($block =~/\b(?:if|for|while)\b/) {
+						#print "APW: ALLOWED: block<$block>\n";
+						$allowed = 1;
+					}
+					if (statement_block_size($block) > 1) {
+						#print "APW: ALLOWED: lines block<$block>\n";
+						$allowed = 1;
+					}
+				}
+				#print "seen: $seen\nchunks: $#chunks\nln: $ln\nlinenr: $linenr\n";
+				if ($seen != ($#chunks + 1)) {
+					WARN("braces {} are necessary for all arms of this statement\n" . $herectx);
+				}
+			}
+		}
+		if (!defined $suppress_ifbraces{$linenr - 1} &&
+					$line =~ /\b(if|while|for|else)\b/ &&
+					$line !~ /\#\s*if/ &&
+					$line !~ /\#\s*else/) {
+			my $allowed = 0;
+
+			# Check the pre-context.
+			if (substr($line, 0, $-[0]) =~ /(\}\s*)$/) {
+				#print "APW: ALLOWED: pre<$1>\n";
+				$allowed = 1;
+			}
+
+			my ($level, $endln, @chunks) =
+				ctx_statement_full($linenr, $realcnt, $-[0]);
+
+			# Check the condition.
+			my ($cond, $block) = @{$chunks[0]};
+			#print "CHECKING<$linenr> cond<$cond> block<$block>\n";
+			if (defined $cond) {
+				substr($block, 0, length($cond), '');
+			}
+			if (statement_lines($cond) > 1) {
+				#print "APW: ALLOWED: cond<$cond>\n";
+				$allowed = 1;
+			}
+			if ($block =~/\b(?:if|for|while)\b/) {
+				#print "APW: ALLOWED: block<$block>\n";
+				$allowed = 1;
+			}
+			if (statement_block_size($block) > 1) {
+				#print "APW: ALLOWED: lines block<$block>\n";
+				$allowed = 1;
+			}
+			# Check the post-context.
+			if (defined $chunks[1]) {
+				my ($cond, $block) = @{$chunks[1]};
+				if (defined $cond) {
+					substr($block, 0, length($cond), '');
+				}
+				if ($block =~ /^\s*\{/) {
+					#print "APW: ALLOWED: chunk-1 block<$block>\n";
+					$allowed = 1;
+				}
+			}
+			if ($level == 0 && $block !~ /^\s*\{/ && !$allowed) {
+				my $herectx = $here . "\n";;
+				my $cnt = statement_rawlines($block);
+
+				for (my $n = 0; $n < $cnt; $n++) {
+					$herectx .= raw_line($linenr, $n) . "\n";;
+				}
+
+				WARN("braces {} are necessary even for single statement blocks\n" . $herectx);
+			}
+		}
+
+# don't include deprecated include files (uses RAW line)
+		for my $inc (@dep_includes) {
+			if ($rawline =~ m@^.\s*\#\s*include\s*\<$inc>@) {
+				ERROR("Don't use <$inc>: see Documentation/feature-removal-schedule.txt\n" . $herecurr);
+			}
+		}
+
+# don't use deprecated functions
+		for my $func (@dep_functions) {
+			if ($line =~ /\b$func\b/) {
+				ERROR("Don't use $func(): see Documentation/feature-removal-schedule.txt\n" . $herecurr);
+			}
+		}
+
+# no volatiles please
+		my $asm_volatile = qr{\b(__asm__|asm)\s+(__volatile__|volatile)\b};
+		if ($line =~ /\bvolatile\b/ && $line !~ /$asm_volatile/) {
+			WARN("Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n" . $herecurr);
+		}
+
+# SPIN_LOCK_UNLOCKED & RW_LOCK_UNLOCKED are deprecated
+		if ($line =~ /\b(SPIN_LOCK_UNLOCKED|RW_LOCK_UNLOCKED)/) {
+			ERROR("Use of $1 is deprecated: see Documentation/spinlocks.txt\n" . $herecurr);
+		}
+
+# warn about #if 0
+		if ($line =~ /^.\s*\#\s*if\s+0\b/) {
+			CHK("if this code is redundant consider removing it\n" .
+				$herecurr);
+		}
+
+# check for needless kfree() checks
+		if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
+			my $expr = $1;
+			if ($line =~ /\bkfree\(\Q$expr\E\);/) {
+				WARN("kfree(NULL) is safe this check is probably not required\n" . $hereprev);
+			}
+		}
+# check for needless usb_free_urb() checks
+		if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
+			my $expr = $1;
+			if ($line =~ /\busb_free_urb\(\Q$expr\E\);/) {
+				WARN("usb_free_urb(NULL) is safe this check is probably not required\n" . $hereprev);
+			}
+		}
+
+# prefer usleep_range over udelay
+		if ($line =~ /\budelay\s*\(\s*(\w+)\s*\)/) {
+			# ignore udelay's < 10, however
+			if (! (($1 =~ /(\d+)/) && ($1 < 10)) ) {
+				CHK("usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $line);
+			}
+		}
+
+# warn about unexpectedly long msleep's
+		if ($line =~ /\bmsleep\s*\((\d+)\);/) {
+			if ($1 < 20) {
+				WARN("msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $line);
+			}
+		}
+
+# warn about #ifdefs in C files
+#		if ($line =~ /^.\s*\#\s*if(|n)def/ && ($realfile =~ /\.c$/)) {
+#			print "#ifdef in C files should be avoided\n";
+#			print "$herecurr";
+#			$clean = 0;
+#		}
+
+# warn about spacing in #ifdefs
+		if ($line =~ /^.\s*\#\s*(ifdef|ifndef|elif)\s\s+/) {
+			ERROR("exactly one space required after that #$1\n" . $herecurr);
+		}
+
+# check for spinlock_t definitions without a comment.
+		if ($line =~ /^.\s*(struct\s+mutex|spinlock_t)\s+\S+;/ ||
+		    $line =~ /^.\s*(DEFINE_MUTEX)\s*\(/) {
+			my $which = $1;
+			if (!ctx_has_comment($first_line, $linenr)) {
+				CHK("$1 definition without comment\n" . $herecurr);
+			}
+		}
+# check for memory barriers without a comment.
+		if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+			if (!ctx_has_comment($first_line, $linenr)) {
+				CHK("memory barrier without comment\n" . $herecurr);
+			}
+		}
+# check of hardware specific defines
+		if ($line =~ m@^.\s*\#\s*if.*\b(__i386__|__powerpc64__|__sun__|__s390x__)\b@ && $realfile !~ m@include/asm-@) {
+			CHK("architecture specific defines should be avoided\n" .  $herecurr);
+		}
+
+# Check that the storage class is at the beginning of a declaration
+		if ($line =~ /\b$Storage\b/ && $line !~ /^.\s*$Storage\b/) {
+			WARN("storage class should be at the beginning of the declaration\n" . $herecurr)
+		}
+
+# check the location of the inline attribute, that it is between
+# storage class and type.
+		if ($line =~ /\b$Type\s+$Inline\b/ ||
+		    $line =~ /\b$Inline\s+$Storage\b/) {
+			ERROR("inline keyword should sit between storage class and type\n" . $herecurr);
+		}
+
+# Check for __inline__ and __inline, prefer inline
+		if ($line =~ /\b(__inline__|__inline)\b/) {
+			WARN("plain inline is preferred over $1\n" . $herecurr);
+		}
+
+# check for sizeof(&)
+		if ($line =~ /\bsizeof\s*\(\s*\&/) {
+			WARN("sizeof(& should be avoided\n" . $herecurr);
+		}
+
+# check for new externs in .c files.
+		if ($realfile =~ /\.c$/ && defined $stat &&
+		    $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s)
+		{
+			my $function_name = $1;
+			my $paren_space = $2;
+
+			my $s = $stat;
+			if (defined $cond) {
+				substr($s, 0, length($cond), '');
+			}
+			if ($s =~ /^\s*;/ &&
+			    $function_name ne 'uninitialized_var')
+			{
+				WARN("externs should be avoided in .c files\n" .  $herecurr);
+			}
+
+			if ($paren_space =~ /\n/) {
+				WARN("arguments for function declarations should follow identifier\n" . $herecurr);
+			}
+
+		} elsif ($realfile =~ /\.c$/ && defined $stat &&
+		    $stat =~ /^.\s*extern\s+/)
+		{
+			WARN("externs should be avoided in .c files\n" .  $herecurr);
+		}
+
+# checks for new __setup's
+		if ($rawline =~ /\b__setup\("([^"]*)"/) {
+			my $name = $1;
+
+			if (!grep(/$name/, @setup_docs)) {
+				CHK("__setup appears un-documented -- check Documentation/kernel-parameters.txt\n" . $herecurr);
+			}
+		}
+
+# check for pointless casting of kmalloc return
+		if ($line =~ /\*\s*\)\s*k[czm]alloc\b/) {
+			WARN("unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr);
+		}
+
+# check for gcc specific __FUNCTION__
+		if ($line =~ /__FUNCTION__/) {
+			WARN("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
+		}
+
+# check for semaphores used as mutexes
+		if ($line =~ /^.\s*(DECLARE_MUTEX|init_MUTEX)\s*\(/) {
+			WARN("mutexes are preferred for single holder semaphores\n" . $herecurr);
+		}
+# check for semaphores used as mutexes
+		if ($line =~ /^.\s*init_MUTEX_LOCKED\s*\(/) {
+			WARN("consider using a completion\n" . $herecurr);
+
+		}
+# recommend strict_strto* over simple_strto*
+		if ($line =~ /\bsimple_(strto.*?)\s*\(/) {
+			WARN("consider using strict_$1 in preference to simple_$1\n" . $herecurr);
+		}
+# check for __initcall(), use device_initcall() explicitly please
+		if ($line =~ /^.\s*__initcall\s*\(/) {
+			WARN("please use device_initcall() instead of __initcall()\n" . $herecurr);
+		}
+# check for various ops structs, ensure they are const.
+		my $struct_ops = qr{acpi_dock_ops|
+				address_space_operations|
+				backlight_ops|
+				block_device_operations|
+				dentry_operations|
+				dev_pm_ops|
+				dma_map_ops|
+				extent_io_ops|
+				file_lock_operations|
+				file_operations|
+				hv_ops|
+				ide_dma_ops|
+				intel_dvo_dev_ops|
+				item_operations|
+				iwl_ops|
+				kgdb_arch|
+				kgdb_io|
+				kset_uevent_ops|
+				lock_manager_operations|
+				microcode_ops|
+				mtrr_ops|
+				neigh_ops|
+				nlmsvc_binding|
+				pci_raw_ops|
+				pipe_buf_operations|
+				platform_hibernation_ops|
+				platform_suspend_ops|
+				proto_ops|
+				rpc_pipe_ops|
+				seq_operations|
+				snd_ac97_build_ops|
+				soc_pcmcia_socket_ops|
+				stacktrace_ops|
+				sysfs_ops|
+				tty_operations|
+				usb_mon_operations|
+				wd_ops}x;
+		if ($line !~ /\bconst\b/ &&
+		    $line =~ /\bstruct\s+($struct_ops)\b/) {
+			WARN("struct $1 should normally be const\n" .
+				$herecurr);
+		}
+
+# use of NR_CPUS is usually wrong
+# ignore definitions of NR_CPUS and usage to define arrays as likely right
+		if ($line =~ /\bNR_CPUS\b/ &&
+		    $line !~ /^.\s*\s*#\s*if\b.*\bNR_CPUS\b/ &&
+		    $line !~ /^.\s*\s*#\s*define\b.*\bNR_CPUS\b/ &&
+		    $line !~ /^.\s*$Declare\s.*\[[^\]]*NR_CPUS[^\]]*\]/ &&
+		    $line !~ /\[[^\]]*\.\.\.[^\]]*NR_CPUS[^\]]*\]/ &&
+		    $line !~ /\[[^\]]*NR_CPUS[^\]]*\.\.\.[^\]]*\]/)
+		{
+			WARN("usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc\n" . $herecurr);
+		}
+
+# check for %L{u,d,i} in strings
+		my $string;
+		while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) {
+			$string = substr($rawline, $-[1], $+[1] - $-[1]);
+			$string =~ s/%%/__/g;
+			if ($string =~ /(?<!%)%L[udi]/) {
+				WARN("\%Ld/%Lu are not-standard C, use %lld/%llu\n" . $herecurr);
+				last;
+			}
+		}
+
+# whine mightly about in_atomic
+		if ($line =~ /\bin_atomic\s*\(/) {
+			if ($realfile =~ m@^drivers/@) {
+				ERROR("do not use in_atomic in drivers\n" . $herecurr);
+			} elsif ($realfile !~ m@^kernel/@) {
+				WARN("use of in_atomic() is incorrect outside core kernel code\n" . $herecurr);
+			}
+		}
+
+# check for lockdep_set_novalidate_class
+		if ($line =~ /^.\s*lockdep_set_novalidate_class\s*\(/ ||
+		    $line =~ /__lockdep_no_validate__\s*\)/ ) {
+			if ($realfile !~ m@^kernel/lockdep@ &&
+			    $realfile !~ m@^include/linux/lockdep@ &&
+			    $realfile !~ m@^drivers/base/core@) {
+				ERROR("lockdep_no_validate class is reserved for device->mutex.\n" . $herecurr);
+			}
+		}
+	}
+
+	# If we have no input at all, then there is nothing to report on
+	# so just keep quiet.
+	if ($#rawlines == -1) {
+		exit(0);
+	}
+
+	# In mailback mode only produce a report in the negative, for
+	# things that appear to be patches.
+	if ($mailback && ($clean == 1 || !$is_patch)) {
+		exit(0);
+	}
+
+	# This is not a patch, and we are are in 'no-patch' mode so
+	# just keep quiet.
+	if (!$chk_patch && !$is_patch) {
+		exit(0);
+	}
+
+	if (!$is_patch) {
+		ERROR("Does not appear to be a unified-diff format patch\n");
+	}
+	if ($is_patch && $chk_signoff && $signoff == 0) {
+		ERROR("Missing Signed-off-by: line(s)\n");
+	}
+
+	print report_dump();
+	if ($summary && !($clean == 1 && $quiet == 1)) {
+		print "$filename " if ($summary_file);
+		print "total: $cnt_error errors, $cnt_warn warnings, " .
+			(($check)? "$cnt_chk checks, " : "") .
+			"$cnt_lines lines checked\n";
+		print "\n" if ($quiet == 0);
+	}
+
+	if ($quiet == 0) {
+		# If there were whitespace errors which cleanpatch can fix
+		# then suggest that.
+#		if ($rpt_cleaners) {
+#			print "NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or\n";
+#			print "      scripts/cleanfile\n\n";
+#		}
+	}
+
+	if ($clean == 1 && $quiet == 0) {
+		print "$vname has no obvious style problems and is ready for submission.\n"
+	}
+	if ($clean == 0 && $quiet == 0) {
+		print "$vname has style problems, please review.  If any of these errors\n";
+		print "are false positives report them to the maintainer, see\n";
+		print "CHECKPATCH in MAINTAINERS.\n";
+	}
+
+	return $clean;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:53:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:53:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSrg-0002rU-Ff; Thu, 10 May 2012 12:53:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSSrf-0002rN-4g
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:53:03 +0000
Received: from [85.158.143.35:51190] by server-1.bemta-4.messagelabs.com id
	59/87-20925-E2ABBAF4; Thu, 10 May 2012 12:53:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336654378!13388409!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19033 invoked from network); 10 May 2012 12:52:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:52:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12405548"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 12:52:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 13:52:57 +0100
Date: Thu, 10 May 2012 13:52:42 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FAB8F1D0200007800082A79@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205101246420.26786@kaball-desktop>
References: <4FAB8F1D0200007800082A79@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] qemu xen_disk mis-accounting?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jan Beulich wrote:
> ioreq_release() gets called from two places, yet only in the
> blk_send_response_all() case does it appear appropriate to decrement
> blkdev->requests_finished. In the error handling path of
> blk_handle_requests() I would think it should decrement
> blkdev->requests_inflight instead.
>
> While blkdev->requests_finished isn't being used anywhere,
> blkdev->requests_inflight serves blk_handle_requests() to tell
> whether to call qemu_bh_schedule(), so this isn't a purely cosmetic
> mistake afaics (and the error path in question is actually being
> consistently exercised by our frontends probing for the packet
> command extension - yes, it should have been implemented via
> xenstore node presence, but the author failed to do so back then).

The error handling path of blk_handle_requests() should definitely
decrement blkdev->requests_inflight for the reasons you mentioned, but
it should also call ioreq_release(), because otherwise
blk_send_response_all could call blk_send_response_one on the ioreq that
wasn't parsed correctly.

Could you please submit a patch to add blkdev->requests_inflight-- in
the right place?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 12:53:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 12:53:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSrg-0002rU-Ff; Thu, 10 May 2012 12:53:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSSrf-0002rN-4g
	for xen-devel@lists.xen.org; Thu, 10 May 2012 12:53:03 +0000
Received: from [85.158.143.35:51190] by server-1.bemta-4.messagelabs.com id
	59/87-20925-E2ABBAF4; Thu, 10 May 2012 12:53:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336654378!13388409!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19033 invoked from network); 10 May 2012 12:52:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 12:52:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12405548"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 12:52:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 13:52:57 +0100
Date: Thu, 10 May 2012 13:52:42 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FAB8F1D0200007800082A79@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205101246420.26786@kaball-desktop>
References: <4FAB8F1D0200007800082A79@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] qemu xen_disk mis-accounting?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jan Beulich wrote:
> ioreq_release() gets called from two places, yet only in the
> blk_send_response_all() case does it appear appropriate to decrement
> blkdev->requests_finished. In the error handling path of
> blk_handle_requests() I would think it should decrement
> blkdev->requests_inflight instead.
>
> While blkdev->requests_finished isn't being used anywhere,
> blkdev->requests_inflight serves blk_handle_requests() to tell
> whether to call qemu_bh_schedule(), so this isn't a purely cosmetic
> mistake afaics (and the error path in question is actually being
> consistently exercised by our frontends probing for the packet
> command extension - yes, it should have been implemented via
> xenstore node presence, but the author failed to do so back then).

The error handling path of blk_handle_requests() should definitely
decrement blkdev->requests_inflight for the reasons you mentioned, but
it should also call ioreq_release(), because otherwise
blk_send_response_all could call blk_send_response_one on the ioreq that
wasn't parsed correctly.

Could you please submit a patch to add blkdev->requests_inflight-- in
the right place?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:01:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSzY-000394-JX; Thu, 10 May 2012 13:01:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSSzW-00038w-8W
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:01:10 +0000
Received: from [85.158.138.51:48055] by server-8.bemta-3.messagelabs.com id
	C0/7B-24428-51CBBAF4; Thu, 10 May 2012 13:01:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336654868!17426877!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1274 invoked from network); 10 May 2012 13:01:09 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:01:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12405815"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:01:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:01:08 +0100
Message-ID: <1336654867.7098.118.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>, Keir Fraser <keir@xen.org>, "Olaf
	Hering" <olaf@aepfle.de>
Date: Thu, 10 May 2012 14:01:07 +0100
In-Reply-To: <osstest-12828-mainreport@xen.org>
References: <osstest-12828-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 12:58 +0100, xen.org wrote:
> flight 12828 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-i386                    4 xen-build                 fail REGR. vs. 12827

gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .img2qcow.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o img2qcow.o img2qcow.c 
gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .qcow2raw.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o qcow2raw.o qcow2raw.c 
cc1: warnings being treated as errors
block-remus.c: In function 'ramdisk_flush':
block-remus.c:508: error: 'buf' may be used uninitialized in this function
make[5]: *** [block-remus.o] Error 1
make[5]: *** Waiting for unfinished jobs....

I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
one of the followup patches?

Ah:

> version targeted for testing:
>  xen                  27d63b9f111a

So before all the fixups -- I suppose this will pass on the next run.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:01:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSSzY-000394-JX; Thu, 10 May 2012 13:01:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSSzW-00038w-8W
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:01:10 +0000
Received: from [85.158.138.51:48055] by server-8.bemta-3.messagelabs.com id
	C0/7B-24428-51CBBAF4; Thu, 10 May 2012 13:01:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336654868!17426877!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1274 invoked from network); 10 May 2012 13:01:09 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:01:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12405815"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:01:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:01:08 +0100
Message-ID: <1336654867.7098.118.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>, Keir Fraser <keir@xen.org>, "Olaf
	Hering" <olaf@aepfle.de>
Date: Thu, 10 May 2012 14:01:07 +0100
In-Reply-To: <osstest-12828-mainreport@xen.org>
References: <osstest-12828-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 12:58 +0100, xen.org wrote:
> flight 12828 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-i386                    4 xen-build                 fail REGR. vs. 12827

gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .img2qcow.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o img2qcow.o img2qcow.c 
gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .qcow2raw.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o qcow2raw.o qcow2raw.c 
cc1: warnings being treated as errors
block-remus.c: In function 'ramdisk_flush':
block-remus.c:508: error: 'buf' may be used uninitialized in this function
make[5]: *** [block-remus.o] Error 1
make[5]: *** Waiting for unfinished jobs....

I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
one of the followup patches?

Ah:

> version targeted for testing:
>  xen                  27d63b9f111a

So before all the fixups -- I suppose this will pass on the next run.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:07:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:07:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SST5d-0003W5-0q; Thu, 10 May 2012 13:07:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SST5b-0003Vx-LX
	for xen-devel@lists.xen.org; Thu, 10 May 2012 13:07:27 +0000
Received: from [85.158.139.83:22534] by server-8.bemta-5.messagelabs.com id
	C4/36-26964-E8DBBAF4; Thu, 10 May 2012 13:07:26 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336655245!27708611!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12581 invoked from network); 10 May 2012 13:07:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 13:07:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 14:07:24 +0100
Message-Id: <4FABD9C00200007800082BC5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 14:07:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <Stefano.Stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v5 0/8] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 13:12, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> Hi all,
> this patch implements local_attach support for QDISK: that means that
> you can use qcow2 as disk format for your PV guests disks and use
> pygrub to retrieve the kernel and initrd in dom0.
> 
> The idea is that we start a QEMU instance at boot time to listen to
> local_attach requests. When libxl_device_disk_local_attach is called on
> a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
> so that blkfront in dom0 will create a new xvd device for it.
> Then pygrub can be pointed at this device to retrieve kernel and
> initrd.

So I pulled this into my local tree to be able to debug problems in
our gntdev driver in a reasonably isolated way (i.e. not needing
to fire up guests). While block-attach works fine, block-detach
doesn't at all. This may be related to me using the deprecated
file:/ form of specifying the source during attach, as all of the
supposedly modern forms I tried weren't accepted by the parser.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:07:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:07:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SST5d-0003W5-0q; Thu, 10 May 2012 13:07:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SST5b-0003Vx-LX
	for xen-devel@lists.xen.org; Thu, 10 May 2012 13:07:27 +0000
Received: from [85.158.139.83:22534] by server-8.bemta-5.messagelabs.com id
	C4/36-26964-E8DBBAF4; Thu, 10 May 2012 13:07:26 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336655245!27708611!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12581 invoked from network); 10 May 2012 13:07:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 13:07:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 14:07:24 +0100
Message-Id: <4FABD9C00200007800082BC5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 14:07:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <Stefano.Stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v5 0/8] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 04.05.12 at 13:12, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> Hi all,
> this patch implements local_attach support for QDISK: that means that
> you can use qcow2 as disk format for your PV guests disks and use
> pygrub to retrieve the kernel and initrd in dom0.
> 
> The idea is that we start a QEMU instance at boot time to listen to
> local_attach requests. When libxl_device_disk_local_attach is called on
> a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
> so that blkfront in dom0 will create a new xvd device for it.
> Then pygrub can be pointed at this device to retrieve kernel and
> initrd.

So I pulled this into my local tree to be able to debug problems in
our gntdev driver in a reasonably isolated way (i.e. not needing
to fire up guests). While block-attach works fine, block-detach
doesn't at all. This may be related to me using the deprecated
file:/ form of specifying the source during attach, as all of the
supposedly modern forms I tried weren't accepted by the parser.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:16:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:16:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTDc-0003kD-Va; Thu, 10 May 2012 13:15:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTDb-0003k8-Qp
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:15:44 +0000
Received: from [85.158.143.35:14006] by server-1.bemta-4.messagelabs.com id
	5B/F4-20925-F7FBBAF4; Thu, 10 May 2012 13:15:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336655740!13391969!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3868 invoked from network); 10 May 2012 13:15:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:15:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406456"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:15:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:15:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTDX-0007J7-NS; Thu, 10 May 2012 13:15:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTDX-0005Dp-MI;
	Thu, 10 May 2012 14:15:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.49019.672920.1826@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:15:39 +0100
To: Tim Deegan <tim@xen.org>
In-Reply-To: <20120510114414.GC73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Tim Deegan writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
> > Boggle.  Any such build processes need to be taken out and shot.
> > There is nothing wrong with strcmp.  Are you sure you're not thinking
> > of strcat or sprintf ?
> 
> If the user controlled both the length and contents of
> info->u.pv.bootloader, it could cause this to overrun that buffer and
> cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> for many people.

info->u.pv.bootloader is a string.  The in-process caller of libxl
is required to provide a nul-terminated buffer.  In general, strcmp is
correct for user-provided strings when the string is a string.

I think perhaps people have been confused by the habit of some kernel
ABI designers to write something like:
   struct mumble {
       char mumblename[16];
       ...
   };
and then to allow callers to supply 16-octet mumblenames (necessarily,
then, without a trailing nul), or shorter mumblenames (with trailing
nul).  In that case strncmp is indeed necessary.

But these kind of interfaces are a rarity in userland and certainly
libxl's API/ABI doesn't have anything like that.  In the case of
info->u.pv.bootloader the string is from malloc and the "buffer
length" isn't even recorded anywhere so there would be no correct
value to pass to strncmp that wasn't ~(size_t)0.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:16:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:16:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTDc-0003kD-Va; Thu, 10 May 2012 13:15:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTDb-0003k8-Qp
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:15:44 +0000
Received: from [85.158.143.35:14006] by server-1.bemta-4.messagelabs.com id
	5B/F4-20925-F7FBBAF4; Thu, 10 May 2012 13:15:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336655740!13391969!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3868 invoked from network); 10 May 2012 13:15:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:15:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406456"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:15:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:15:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTDX-0007J7-NS; Thu, 10 May 2012 13:15:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTDX-0005Dp-MI;
	Thu, 10 May 2012 14:15:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.49019.672920.1826@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:15:39 +0100
To: Tim Deegan <tim@xen.org>
In-Reply-To: <20120510114414.GC73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
 /usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Tim Deegan writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
> > Boggle.  Any such build processes need to be taken out and shot.
> > There is nothing wrong with strcmp.  Are you sure you're not thinking
> > of strcat or sprintf ?
> 
> If the user controlled both the length and contents of
> info->u.pv.bootloader, it could cause this to overrun that buffer and
> cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> for many people.

info->u.pv.bootloader is a string.  The in-process caller of libxl
is required to provide a nul-terminated buffer.  In general, strcmp is
correct for user-provided strings when the string is a string.

I think perhaps people have been confused by the habit of some kernel
ABI designers to write something like:
   struct mumble {
       char mumblename[16];
       ...
   };
and then to allow callers to supply 16-octet mumblenames (necessarily,
then, without a trailing nul), or shorter mumblenames (with trailing
nul).  In that case strncmp is indeed necessary.

But these kind of interfaces are a rarity in userland and certainly
libxl's API/ABI doesn't have anything like that.  In the case of
info->u.pv.bootloader the string is from malloc and the "buffer
length" isn't even recorded anywhere so there would be no correct
value to pass to strncmp that wasn't ~(size_t)0.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:16:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:16:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTED-0003mM-Cs; Thu, 10 May 2012 13:16:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSTEC-0003m8-7m
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:16:20 +0000
Received: from [193.109.254.147:41199] by server-6.bemta-14.messagelabs.com id
	29/03-04960-3AFBBAF4; Thu, 10 May 2012 13:16:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336655760!1735584!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31637 invoked from network); 10 May 2012 13:16:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:16:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406470"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:16:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:16:00 +0100
Message-ID: <1336655758.7098.121.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:15:58 +0100
In-Reply-To: <1336654867.7098.118.camel@zakaz.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Shriram Rajagopalan <rshriram@cs.ubc.ca>, Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:01 +0100, Ian Campbell wrote:
> On Thu, 2012-05-10 at 12:58 +0100, xen.org wrote:
> > flight 12828 xen-unstable real [real]
> > http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/
> > 
> > Regressions :-(
> > 
> > Tests which did not succeed and are blocking,
> > including tests which could not be run:
> >  build-i386                    4 xen-build                 fail REGR. vs. 12827
> 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .img2qcow.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o img2qcow.o img2qcow.c 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .qcow2raw.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o qcow2raw.o qcow2raw.c 
> cc1: warnings being treated as errors
> block-remus.c: In function 'ramdisk_flush':
> block-remus.c:508: error: 'buf' may be used uninitialized in this function
> make[5]: *** [block-remus.o] Error 1
> make[5]: *** Waiting for unfinished jobs....
> 
> I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> one of the followup patches?
> 
> Ah:
> 
> > version targeted for testing:
> >  xen                  27d63b9f111a
> 
> So before all the fixups -- I suppose this will pass on the next run.

Keir says this isn't one he has fixed. I can't repro it either (and I
run Squeeze, just like the build system) but by inspection this ought to
solve it.

8<--------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336655664 -3600
# Node ID 6d45fbdca09be60726eb7043a42dbac552e202e0
# Parent  bc8630bc68025bdee747ebe707b764e323914fd6
blktap2/remus: initialise variable.

gcc seems to not be able to spot that it is always initialised, based on the
complexity of merge_requests' error handling I don't blame it.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r bc8630bc6802 -r 6d45fbdca09b tools/blktap2/drivers/block-remus.c
--- a/tools/blktap2/drivers/block-remus.c	Thu May 10 14:07:31 2012 +0100
+++ b/tools/blktap2/drivers/block-remus.c	Thu May 10 14:14:24 2012 +0100
@@ -533,6 +533,7 @@ static int ramdisk_flush(td_driver_t *dr
 			i++;
 		batchlen = sectors[i-1] - base + 1;
 
+		buf = NULL;
 		j = merge_requests(&s->ramdisk, base, batchlen, &buf);
 			
 		if (j) {




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:16:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:16:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTED-0003mM-Cs; Thu, 10 May 2012 13:16:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSTEC-0003m8-7m
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:16:20 +0000
Received: from [193.109.254.147:41199] by server-6.bemta-14.messagelabs.com id
	29/03-04960-3AFBBAF4; Thu, 10 May 2012 13:16:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336655760!1735584!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31637 invoked from network); 10 May 2012 13:16:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:16:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406470"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:16:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:16:00 +0100
Message-ID: <1336655758.7098.121.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:15:58 +0100
In-Reply-To: <1336654867.7098.118.camel@zakaz.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Shriram Rajagopalan <rshriram@cs.ubc.ca>, Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:01 +0100, Ian Campbell wrote:
> On Thu, 2012-05-10 at 12:58 +0100, xen.org wrote:
> > flight 12828 xen-unstable real [real]
> > http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/
> > 
> > Regressions :-(
> > 
> > Tests which did not succeed and are blocking,
> > including tests which could not be run:
> >  build-i386                    4 xen-build                 fail REGR. vs. 12827
> 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .img2qcow.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o img2qcow.o img2qcow.c 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .qcow2raw.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o qcow2raw.o qcow2raw.c 
> cc1: warnings being treated as errors
> block-remus.c: In function 'ramdisk_flush':
> block-remus.c:508: error: 'buf' may be used uninitialized in this function
> make[5]: *** [block-remus.o] Error 1
> make[5]: *** Waiting for unfinished jobs....
> 
> I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> one of the followup patches?
> 
> Ah:
> 
> > version targeted for testing:
> >  xen                  27d63b9f111a
> 
> So before all the fixups -- I suppose this will pass on the next run.

Keir says this isn't one he has fixed. I can't repro it either (and I
run Squeeze, just like the build system) but by inspection this ought to
solve it.

8<--------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336655664 -3600
# Node ID 6d45fbdca09be60726eb7043a42dbac552e202e0
# Parent  bc8630bc68025bdee747ebe707b764e323914fd6
blktap2/remus: initialise variable.

gcc seems to not be able to spot that it is always initialised, based on the
complexity of merge_requests' error handling I don't blame it.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r bc8630bc6802 -r 6d45fbdca09b tools/blktap2/drivers/block-remus.c
--- a/tools/blktap2/drivers/block-remus.c	Thu May 10 14:07:31 2012 +0100
+++ b/tools/blktap2/drivers/block-remus.c	Thu May 10 14:14:24 2012 +0100
@@ -533,6 +533,7 @@ static int ramdisk_flush(td_driver_t *dr
 			i++;
 		batchlen = sectors[i-1] - base + 1;
 
+		buf = NULL;
 		j = merge_requests(&s->ramdisk, base, batchlen, &buf);
 			
 		if (j) {




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:21:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:21:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTIT-00040W-3A; Thu, 10 May 2012 13:20:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSTIR-00040O-Bn
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:20:43 +0000
Received: from [85.158.143.99:34830] by server-2.bemta-4.messagelabs.com id
	B2/BD-17550-AA0CBAF4; Thu, 10 May 2012 13:20:42 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336656040!17741112!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18350 invoked from network); 10 May 2012 13:20:41 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 13:20:41 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSTIN-000MSJ-Pr; Thu, 10 May 2012 13:20:39 +0000
Date: Thu, 10 May 2012 14:20:39 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120510132039.GE73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
	<20395.49019.672920.1826@mariner.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20395.49019.672920.1826@mariner.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
	/usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 14:15 +0100 on 10 May (1336659339), Ian Jackson wrote:
> Tim Deegan writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> > At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
> > > Boggle.  Any such build processes need to be taken out and shot.
> > > There is nothing wrong with strcmp.  Are you sure you're not thinking
> > > of strcat or sprintf ?
> > 
> > If the user controlled both the length and contents of
> > info->u.pv.bootloader, it could cause this to overrun that buffer and
> > cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> > for many people.
> 
> info->u.pv.bootloader is a string.  The in-process caller of libxl
> is required to provide a nul-terminated buffer.  In general, strcmp is
> correct for user-provided strings when the string is a string.

Sure, in this case, strcmp is fine; I was talking about the reasons why
people are scared of it.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:21:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:21:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTIT-00040W-3A; Thu, 10 May 2012 13:20:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSTIR-00040O-Bn
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:20:43 +0000
Received: from [85.158.143.99:34830] by server-2.bemta-4.messagelabs.com id
	B2/BD-17550-AA0CBAF4; Thu, 10 May 2012 13:20:42 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336656040!17741112!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18350 invoked from network); 10 May 2012 13:20:41 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 13:20:41 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SSTIN-000MSJ-Pr; Thu, 10 May 2012 13:20:39 +0000
Date: Thu, 10 May 2012 14:20:39 +0100
From: Tim Deegan <tim@xen.org>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120510132039.GE73773@ocelot.phlegethon.org>
References: <patchbomb.1336560663@kodo2>
	<794778a6e9fa761bd388.1336560666@kodo2>
	<1336570982.25514.120.camel@zakaz.uk.xensource.com>
	<4FAA83A8.8070804@eu.citrix.com>
	<20395.43075.534483.485017@mariner.uk.xensource.com>
	<20120510114414.GC73773@ocelot.phlegethon.org>
	<20395.49019.672920.1826@mariner.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20395.49019.672920.1826@mariner.uk.xensource.com>
User-Agent: Mutt/1.4.2.1i
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that
	/usr/bin/pygrub is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 14:15 +0100 on 10 May (1336659339), Ian Jackson wrote:
> Tim Deegan writes ("Re: [Xen-devel] [PATCH 3 of 3 RESEND] libxl: Warn that /usr/bin/pygrub is deprecated"):
> > At 12:36 +0100 on 10 May (1336653395), Ian Jackson wrote:
> > > Boggle.  Any such build processes need to be taken out and shot.
> > > There is nothing wrong with strcmp.  Are you sure you're not thinking
> > > of strcat or sprintf ?
> > 
> > If the user controlled both the length and contents of
> > info->u.pv.bootloader, it could cause this to overrun that buffer and
> > cause a SEGV.  So, sadly, strcmp goes on the 'just never use it' list
> > for many people.
> 
> info->u.pv.bootloader is a string.  The in-process caller of libxl
> is required to provide a nul-terminated buffer.  In general, strcmp is
> correct for user-provided strings when the string is a string.

Sure, in this case, strcmp is fine; I was talking about the reasons why
people are scared of it.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:26:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTNn-0004HB-Ks; Thu, 10 May 2012 13:26:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSTNm-0004H2-Er
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:26:14 +0000
Received: from [85.158.143.35:31571] by server-3.bemta-4.messagelabs.com id
	99/D4-05853-5F1CBAF4; Thu, 10 May 2012 13:26:13 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336656372!11629161!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzkzNjQ=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzkzNjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14029 invoked from network); 10 May 2012 13:26:12 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 13:26:12 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHii0PFpY=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-094-015.pools.arcor-ip.net [88.65.94.15])
	by smtp.strato.de (josoe mo22) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id R014a2o4AC2Tk4 ;
	Thu, 10 May 2012 15:26:11 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id A9E4818637; Thu, 10 May 2012 15:26:10 +0200 (CEST)
Date: Thu, 10 May 2012 15:26:10 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120510132610.GA5002@aepfle.de>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<1336655758.7098.121.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336655758.7098.121.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Shriram Rajagopalan <rshriram@cs.ubc.ca>, "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, Ian Campbell wrote:

> On Thu, 2012-05-10 at 14:01 +0100, Ian Campbell wrote:
> > On Thu, 2012-05-10 at 12:58 +0100, xen.org wrote:
> > > flight 12828 xen-unstable real [real]
> > > http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/
> > > 
> > > Regressions :-(
> > > 
> > > Tests which did not succeed and are blocking,
> > > including tests which could not be run:
> > >  build-i386                    4 xen-build                 fail REGR. vs. 12827
> > 
> > gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .img2qcow.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o img2qcow.o img2qcow.c 
> > gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .qcow2raw.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o qcow2raw.o qcow2raw.c 
> > cc1: warnings being treated as errors
> > block-remus.c: In function 'ramdisk_flush':
> > block-remus.c:508: error: 'buf' may be used uninitialized in this function
> > make[5]: *** [block-remus.o] Error 1
> > make[5]: *** Waiting for unfinished jobs....
> > 
> > I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> > one of the followup patches?
> > 
> > Ah:
> > 
> > > version targeted for testing:
> > >  xen                  27d63b9f111a
> > 
> > So before all the fixups -- I suppose this will pass on the next run.
> 
> Keir says this isn't one he has fixed. I can't repro it either (and I
> run Squeeze, just like the build system) but by inspection this ought to
> solve it.

Looks like a compiler issue, since merge_requests() seems to correctly
return a non-null value when it does not touch the passed pointer to
buf. So your simple change looks like a correct workaround.


In general I think Makefiles should rather not mess with -W* and -O*
options like this, and use only the global flags if possible.


Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:26:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTNn-0004HB-Ks; Thu, 10 May 2012 13:26:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSTNm-0004H2-Er
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:26:14 +0000
Received: from [85.158.143.35:31571] by server-3.bemta-4.messagelabs.com id
	99/D4-05853-5F1CBAF4; Thu, 10 May 2012 13:26:13 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336656372!11629161!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzkzNjQ=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyNzkzNjQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14029 invoked from network); 10 May 2012 13:26:12 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 13:26:12 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHii0PFpY=
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-094-015.pools.arcor-ip.net [88.65.94.15])
	by smtp.strato.de (josoe mo22) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id R014a2o4AC2Tk4 ;
	Thu, 10 May 2012 15:26:11 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id A9E4818637; Thu, 10 May 2012 15:26:10 +0200 (CEST)
Date: Thu, 10 May 2012 15:26:10 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120510132610.GA5002@aepfle.de>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<1336655758.7098.121.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336655758.7098.121.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Shriram Rajagopalan <rshriram@cs.ubc.ca>, "Keir \(Xen.org\)" <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, Ian Campbell wrote:

> On Thu, 2012-05-10 at 14:01 +0100, Ian Campbell wrote:
> > On Thu, 2012-05-10 at 12:58 +0100, xen.org wrote:
> > > flight 12828 xen-unstable real [real]
> > > http://www.chiark.greenend.org.uk/~xensrcts/logs/12828/
> > > 
> > > Regressions :-(
> > > 
> > > Tests which did not succeed and are blocking,
> > > including tests which could not be run:
> > >  build-i386                    4 xen-build                 fail REGR. vs. 12827
> > 
> > gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .img2qcow.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o img2qcow.o img2qcow.c 
> > gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .qcow2raw.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-amd64/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC  -c -o qcow2raw.o qcow2raw.c 
> > cc1: warnings being treated as errors
> > block-remus.c: In function 'ramdisk_flush':
> > block-remus.c:508: error: 'buf' may be used uninitialized in this function
> > make[5]: *** [block-remus.o] Error 1
> > make[5]: *** Waiting for unfinished jobs....
> > 
> > I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> > one of the followup patches?
> > 
> > Ah:
> > 
> > > version targeted for testing:
> > >  xen                  27d63b9f111a
> > 
> > So before all the fixups -- I suppose this will pass on the next run.
> 
> Keir says this isn't one he has fixed. I can't repro it either (and I
> run Squeeze, just like the build system) but by inspection this ought to
> solve it.

Looks like a compiler issue, since merge_requests() seems to correctly
return a non-null value when it does not touch the passed pointer to
buf. So your simple change looks like a correct workaround.


In general I think Makefiles should rather not mess with -W* and -O*
options like this, and use only the global flags if possible.


Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:27:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:27:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTOM-0004LV-7y; Thu, 10 May 2012 13:26:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTOK-0004LL-Pa
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:26:48 +0000
Received: from [193.109.254.147:41511] by server-7.bemta-14.messagelabs.com id
	27/17-01627-812CBAF4; Thu, 10 May 2012 13:26:48 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336656407!8407372!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 835 invoked from network); 10 May 2012 13:26:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:26:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:26:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:26:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTOI-0007Ms-IX	for xen-devel@lists.xensource.com;
	Thu, 10 May 2012 13:26:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTOI-0005Ij-Hc	for
	xen-devel@lists.xensource.com; Thu, 10 May 2012 14:26:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.49686.531779.62494@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:26:46 +0100
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
In-Reply-To: <osstest-12828-mainreport@xen.org>
References: <osstest-12828-mainreport@xen.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xen.org writes ("[xen-unstable test] 12828: regressions - FAIL"):
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-i386                    4 xen-build              fail REGR. vs. 12827

I have just committed the patch below to fix this.

Ian.

# HG changeset patch
# User Ian Jackson <Ian.Jackson@eu.citrix.com>
# Date 1336656374 -3600
# Node ID 60064411a8a9b68136e16ae5abdd98410745d5c7
# Parent  81088df89e80b960ba922e4b82fcc504d86cb499
blktap2: Fix another uninitialised value error

gcc  -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .block-remus.o.d -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-i386/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-i386/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS  -c -o block-remus.o block-remus.c

block-remus.c: In function 'ramdisk_flush':
block-remus.c:508: error: 'buf' may be used uninitialized in this function
make[5]: *** [block-remus.o] Error 1

This is because gcc can see that merge_requests doesn't always set
*mergedbuf but gcc isn't able to prove that it always does so if
merge_requests returns 0 and that in that case the value of
ramdisk_flush::buf isn't used.

This is too useful a warning to disable, despite the occasional false
positive of this form.  The conventional approach is to suppress the
warning by explicitly initialising the variable to 0.

This has just come to light because 25275:27d63b9f111a reenabled
optimisation for this area of code, and gcc's data flow analysis
(which is required to trigger the uninitialised variable warning) only
occurs when optimisation is turned on.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

diff -r 81088df89e80 -r 60064411a8a9 tools/blktap2/drivers/block-remus.c
--- a/tools/blktap2/drivers/block-remus.c	Thu May 10 12:19:16 2012 +0100
+++ b/tools/blktap2/drivers/block-remus.c	Thu May 10 14:26:14 2012 +0100
@@ -505,7 +505,7 @@ fail:
 static int ramdisk_flush(td_driver_t *driver, struct tdremus_state* s)
 {
 	uint64_t* sectors;
-	char* buf;
+	char* buf = NULL;
 	uint64_t base, batchlen;
 	int i, j, count = 0;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:27:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:27:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTOM-0004LV-7y; Thu, 10 May 2012 13:26:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTOK-0004LL-Pa
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:26:48 +0000
Received: from [193.109.254.147:41511] by server-7.bemta-14.messagelabs.com id
	27/17-01627-812CBAF4; Thu, 10 May 2012 13:26:48 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336656407!8407372!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 835 invoked from network); 10 May 2012 13:26:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:26:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:26:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:26:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTOI-0007Ms-IX	for xen-devel@lists.xensource.com;
	Thu, 10 May 2012 13:26:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTOI-0005Ij-Hc	for
	xen-devel@lists.xensource.com; Thu, 10 May 2012 14:26:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.49686.531779.62494@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:26:46 +0100
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
In-Reply-To: <osstest-12828-mainreport@xen.org>
References: <osstest-12828-mainreport@xen.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xen.org writes ("[xen-unstable test] 12828: regressions - FAIL"):
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-i386                    4 xen-build              fail REGR. vs. 12827

I have just committed the patch below to fix this.

Ian.

# HG changeset patch
# User Ian Jackson <Ian.Jackson@eu.citrix.com>
# Date 1336656374 -3600
# Node ID 60064411a8a9b68136e16ae5abdd98410745d5c7
# Parent  81088df89e80b960ba922e4b82fcc504d86cb499
blktap2: Fix another uninitialised value error

gcc  -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .block-remus.o.d -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-i386/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-i386/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS  -c -o block-remus.o block-remus.c

block-remus.c: In function 'ramdisk_flush':
block-remus.c:508: error: 'buf' may be used uninitialized in this function
make[5]: *** [block-remus.o] Error 1

This is because gcc can see that merge_requests doesn't always set
*mergedbuf but gcc isn't able to prove that it always does so if
merge_requests returns 0 and that in that case the value of
ramdisk_flush::buf isn't used.

This is too useful a warning to disable, despite the occasional false
positive of this form.  The conventional approach is to suppress the
warning by explicitly initialising the variable to 0.

This has just come to light because 25275:27d63b9f111a reenabled
optimisation for this area of code, and gcc's data flow analysis
(which is required to trigger the uninitialised variable warning) only
occurs when optimisation is turned on.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

diff -r 81088df89e80 -r 60064411a8a9 tools/blktap2/drivers/block-remus.c
--- a/tools/blktap2/drivers/block-remus.c	Thu May 10 12:19:16 2012 +0100
+++ b/tools/blktap2/drivers/block-remus.c	Thu May 10 14:26:14 2012 +0100
@@ -505,7 +505,7 @@ fail:
 static int ramdisk_flush(td_driver_t *driver, struct tdremus_state* s)
 {
 	uint64_t* sectors;
-	char* buf;
+	char* buf = NULL;
 	uint64_t base, batchlen;
 	int i, j, count = 0;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:28:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:28:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTPt-0004Xn-Nj; Thu, 10 May 2012 13:28:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTPt-0004Xg-3D
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:28:25 +0000
Received: from [85.158.139.83:13647] by server-10.bemta-5.messagelabs.com id
	CE/9F-08260-772CBAF4; Thu, 10 May 2012 13:28:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336656498!27680267!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18703 invoked from network); 10 May 2012 13:28:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:28:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406897"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:28:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:28:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTPl-0007NQ-RS; Thu, 10 May 2012 13:28:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTPl-0005J3-QG;
	Thu, 10 May 2012 14:28:17 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.49777.634130.544681@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:28:17 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336654867.7098.118.camel@zakaz.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> one of the followup patches?
> 
> Ah:
> 
> > version targeted for testing:
> >  xen                  27d63b9f111a
> 
> So before all the fixups -- I suppose this will pass on the next run.

I repro'd this particular failure in 25280:81088df89e80 and have
therefore committed a fix.  I guess Keir's compiler is different to
mine.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:28:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:28:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTPt-0004Xn-Nj; Thu, 10 May 2012 13:28:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTPt-0004Xg-3D
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:28:25 +0000
Received: from [85.158.139.83:13647] by server-10.bemta-5.messagelabs.com id
	CE/9F-08260-772CBAF4; Thu, 10 May 2012 13:28:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336656498!27680267!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18703 invoked from network); 10 May 2012 13:28:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:28:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12406897"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:28:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:28:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTPl-0007NQ-RS; Thu, 10 May 2012 13:28:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTPl-0005J3-QG;
	Thu, 10 May 2012 14:28:17 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.49777.634130.544681@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:28:17 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336654867.7098.118.camel@zakaz.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> one of the followup patches?
> 
> Ah:
> 
> > version targeted for testing:
> >  xen                  27d63b9f111a
> 
> So before all the fixups -- I suppose this will pass on the next run.

I repro'd this particular failure in 25280:81088df89e80 and have
therefore committed a fix.  I guess Keir's compiler is different to
mine.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:31:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTSu-0004pf-CD; Thu, 10 May 2012 13:31:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSTSt-0004ou-CE
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:31:31 +0000
Received: from [85.158.139.83:49610] by server-2.bemta-5.messagelabs.com id
	1C/62-17016-F23CBAF4; Thu, 10 May 2012 13:31:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336656676!26996696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21506 invoked from network); 10 May 2012 13:31:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:31:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407000"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:31:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:31:05 +0100
Message-ID: <1336656664.7098.124.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:31:04 +0100
In-Reply-To: <20395.49777.634130.544681@mariner.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<20395.49777.634130.544681@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:28 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> > I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> > one of the followup patches?
> > 
> > Ah:
> > 
> > > version targeted for testing:
> > >  xen                  27d63b9f111a
> > 
> > So before all the fixups -- I suppose this will pass on the next run.
> 
> I repro'd this particular failure in 25280:81088df89e80 and have
> therefore committed a fix.  I guess Keir's compiler is different to
> mine.

He runs Fedora IIRC.

I tried to repro on Squeeze though and couldn't -- I expected you and
the test system to also be running Squeeze.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:31:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTSu-0004pf-CD; Thu, 10 May 2012 13:31:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSTSt-0004ou-CE
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:31:31 +0000
Received: from [85.158.139.83:49610] by server-2.bemta-5.messagelabs.com id
	1C/62-17016-F23CBAF4; Thu, 10 May 2012 13:31:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336656676!26996696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21506 invoked from network); 10 May 2012 13:31:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:31:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407000"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:31:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:31:05 +0100
Message-ID: <1336656664.7098.124.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:31:04 +0100
In-Reply-To: <20395.49777.634130.544681@mariner.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<20395.49777.634130.544681@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:28 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> > I presume this is 25289:27d63b9f111a "blktap2: Do not build with -O0" or
> > one of the followup patches?
> > 
> > Ah:
> > 
> > > version targeted for testing:
> > >  xen                  27d63b9f111a
> > 
> > So before all the fixups -- I suppose this will pass on the next run.
> 
> I repro'd this particular failure in 25280:81088df89e80 and have
> therefore committed a fix.  I guess Keir's compiler is different to
> mine.

He runs Fedora IIRC.

I tried to repro on Squeeze though and couldn't -- I expected you and
the test system to also be running Squeeze.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:33:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:33:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTUz-000506-Tc; Thu, 10 May 2012 13:33:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTUy-0004zz-AM
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:33:40 +0000
Received: from [85.158.139.83:44097] by server-10.bemta-5.messagelabs.com id
	61/D4-08260-3B3CBAF4; Thu, 10 May 2012 13:33:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336656747!26996900!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28348 invoked from network); 10 May 2012 13:32:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:32:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407042"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:32:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:32:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTTm-0007Oi-Fw; Thu, 10 May 2012 13:32:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTTm-0005JT-Es;
	Thu, 10 May 2012 14:32:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.50026.445263.650522@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:32:26 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336656664.7098.124.camel@zakaz.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<20395.49777.634130.544681@mariner.uk.xensource.com>
	<1336656664.7098.124.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> I tried to repro on Squeeze though and couldn't -- I expected you and
> the test system to also be running Squeeze.

Well, who knows :-).  Anyway my fix is in staging now.  (And I think I
prefer mine, initialising the variable in its definition, to yours,
which assigns NULL to it at some midpoint.)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:33:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:33:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTUz-000506-Tc; Thu, 10 May 2012 13:33:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTUy-0004zz-AM
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:33:40 +0000
Received: from [85.158.139.83:44097] by server-10.bemta-5.messagelabs.com id
	61/D4-08260-3B3CBAF4; Thu, 10 May 2012 13:33:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336656747!26996900!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28348 invoked from network); 10 May 2012 13:32:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:32:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407042"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:32:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:32:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTTm-0007Oi-Fw; Thu, 10 May 2012 13:32:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTTm-0005JT-Es;
	Thu, 10 May 2012 14:32:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.50026.445263.650522@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:32:26 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336656664.7098.124.camel@zakaz.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<20395.49777.634130.544681@mariner.uk.xensource.com>
	<1336656664.7098.124.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> I tried to repro on Squeeze though and couldn't -- I expected you and
> the test system to also be running Squeeze.

Well, who knows :-).  Anyway my fix is in staging now.  (And I think I
prefer mine, initialising the variable in its definition, to yours,
which assigns NULL to it at some midpoint.)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTXR-00059X-En; Thu, 10 May 2012 13:36:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSTXQ-00059L-28
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:36:12 +0000
Received: from [193.109.254.147:13104] by server-6.bemta-14.messagelabs.com id
	A4/DB-04960-A44CBAF4; Thu, 10 May 2012 13:36:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336656968!2939414!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7919 invoked from network); 10 May 2012 13:36:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:36:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407205"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:36:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:36:08 +0100
Message-ID: <1336656966.7098.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:36:06 +0100
In-Reply-To: <20395.50026.445263.650522@mariner.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<20395.49777.634130.544681@mariner.uk.xensource.com>
	<1336656664.7098.124.camel@zakaz.uk.xensource.com>
	<20395.50026.445263.650522@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:32 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> > I tried to repro on Squeeze though and couldn't -- I expected you and
> > the test system to also be running Squeeze.
> 
> Well, who knows :-).  Anyway my fix is in staging now.  (And I think I
> prefer mine, initialising the variable in its definition, to yours,
> which assigns NULL to it at some midpoint.)

Yeah, I'm happy with yours too.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTXR-00059X-En; Thu, 10 May 2012 13:36:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSTXQ-00059L-28
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 13:36:12 +0000
Received: from [193.109.254.147:13104] by server-6.bemta-14.messagelabs.com id
	A4/DB-04960-A44CBAF4; Thu, 10 May 2012 13:36:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336656968!2939414!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7919 invoked from network); 10 May 2012 13:36:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:36:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407205"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:36:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:36:08 +0100
Message-ID: <1336656966.7098.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:36:06 +0100
In-Reply-To: <20395.50026.445263.650522@mariner.uk.xensource.com>
References: <osstest-12828-mainreport@xen.org>
	<1336654867.7098.118.camel@zakaz.uk.xensource.com>
	<20395.49777.634130.544681@mariner.uk.xensource.com>
	<1336656664.7098.124.camel@zakaz.uk.xensource.com>
	<20395.50026.445263.650522@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>
Subject: Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:32 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12828: regressions - FAIL"):
> > I tried to repro on Squeeze though and couldn't -- I expected you and
> > the test system to also be running Squeeze.
> 
> Well, who knows :-).  Anyway my fix is in staging now.  (And I think I
> prefer mine, initialising the variable in its definition, to yours,
> which assigns NULL to it at some midpoint.)

Yeah, I'm happy with yours too.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:37:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:37:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTYc-0005Gi-Tf; Thu, 10 May 2012 13:37:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTYc-0005GV-3b
	for xen-devel@lists.xen.org; Thu, 10 May 2012 13:37:26 +0000
Received: from [85.158.143.99:41967] by server-3.bemta-4.messagelabs.com id
	06/DB-05853-594CBAF4; Thu, 10 May 2012 13:37:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336657043!17602599!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24458 invoked from network); 10 May 2012 13:37:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:37:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407234"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:37:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:37:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTYM-0007QQ-6X; Thu, 10 May 2012 13:37:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTYM-0005K4-5d;
	Thu, 10 May 2012 14:37:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.50310.159688.722301@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:37:10 +0100
To: Jean Guyader <jean.guyader@gmail.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
	<CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Eric Chanudet <eric.chanudet@gmail.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jean Guyader writes ("[Xen-devel] [PATCH] tools/xenconsoled: Add syslog"):
> Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
> The default behaviour remains the same (log into plain files)

Thanks.  This sounds like a very useful new feature.

However xen-unstable.hg is now in feature freeze for the 4.2 release,
and we are very busy working on the remaining release blockers and
bugfixes.  Can I ask you to repost this after 4.2 has branched and
development has reopened ?  I will review it properly then.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:37:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:37:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSTYc-0005Gi-Tf; Thu, 10 May 2012 13:37:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSTYc-0005GV-3b
	for xen-devel@lists.xen.org; Thu, 10 May 2012 13:37:26 +0000
Received: from [85.158.143.99:41967] by server-3.bemta-4.messagelabs.com id
	06/DB-05853-594CBAF4; Thu, 10 May 2012 13:37:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336657043!17602599!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24458 invoked from network); 10 May 2012 13:37:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:37:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407234"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:37:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 14:37:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSTYM-0007QQ-6X; Thu, 10 May 2012 13:37:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSTYM-0005K4-5d;
	Thu, 10 May 2012 14:37:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.50310.159688.722301@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 14:37:10 +0100
To: Jean Guyader <jean.guyader@gmail.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
	<CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Eric Chanudet <eric.chanudet@gmail.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jean Guyader writes ("[Xen-devel] [PATCH] tools/xenconsoled: Add syslog"):
> Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
> The default behaviour remains the same (log into plain files)

Thanks.  This sounds like a very useful new feature.

However xen-unstable.hg is now in feature freeze for the 4.2 release,
and we are very busy working on the remaining release blockers and
bugfixes.  Can I ask you to repost this after 4.2 has branched and
development has reopened ?  I will review it properly then.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:46:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:46:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSThX-0005Wv-Hu; Thu, 10 May 2012 13:46:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSThV-0005Wq-Nk
	for xen-devel@lists.xen.org; Thu, 10 May 2012 13:46:37 +0000
Received: from [85.158.143.99:38458] by server-3.bemta-4.messagelabs.com id
	91/5D-05853-DB6CBAF4; Thu, 10 May 2012 13:46:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336657596!24006994!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4297 invoked from network); 10 May 2012 13:46:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:46:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407882"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:46:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:46:35 +0100
Message-ID: <1336657594.7098.130.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:46:34 +0100
In-Reply-To: <20395.50310.159688.722301@mariner.uk.xensource.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
	<CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
	<20395.50310.159688.722301@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Eric Chanudet <eric.chanudet@gmail.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:37 +0100, Ian Jackson wrote:
> Jean Guyader writes ("[Xen-devel] [PATCH] tools/xenconsoled: Add syslog"):
> > Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
> > The default behaviour remains the same (log into plain files)
> 
> Thanks.  This sounds like a very useful new feature.
> 
> However xen-unstable.hg is now in feature freeze for the 4.2 release,
> and we are very busy working on the remaining release blockers and
> bugfixes.  Can I ask you to repost this after 4.2 has branched and
> development has reopened ?

/release hat on...

Yes, I should have said that too, thanks!

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 13:46:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 13:46:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSThX-0005Wv-Hu; Thu, 10 May 2012 13:46:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSThV-0005Wq-Nk
	for xen-devel@lists.xen.org; Thu, 10 May 2012 13:46:37 +0000
Received: from [85.158.143.99:38458] by server-3.bemta-4.messagelabs.com id
	91/5D-05853-DB6CBAF4; Thu, 10 May 2012 13:46:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336657596!24006994!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4297 invoked from network); 10 May 2012 13:46:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 13:46:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12407882"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 13:46:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 14:46:35 +0100
Message-ID: <1336657594.7098.130.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 10 May 2012 14:46:34 +0100
In-Reply-To: <20395.50310.159688.722301@mariner.uk.xensource.com>
References: <CAEBdQ93NmNN2vFcyzVd5YfhnSb1tb0KkLF4Lcm+JkHJ4TMrpPw@mail.gmail.com>
	<CAEBdQ917PBj=NBgHsPMKeWuFHM2iggyAgU_fHNQqKcOMzg0SHQ@mail.gmail.com>
	<20395.50310.159688.722301@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Eric Chanudet <eric.chanudet@gmail.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] tools/xenconsoled: Add syslog
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 14:37 +0100, Ian Jackson wrote:
> Jean Guyader writes ("[Xen-devel] [PATCH] tools/xenconsoled: Add syslog"):
> > Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
> > The default behaviour remains the same (log into plain files)
> 
> Thanks.  This sounds like a very useful new feature.
> 
> However xen-unstable.hg is now in feature freeze for the 4.2 release,
> and we are very busy working on the remaining release blockers and
> bugfixes.  Can I ask you to repost this after 4.2 has branched and
> development has reopened ?

/release hat on...

Yes, I should have said that too, thanks!

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:12:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:12:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSU6K-00065P-CQ; Thu, 10 May 2012 14:12:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1SSU6J-00065J-Gn
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:12:15 +0000
Received: from [85.158.143.35:59324] by server-3.bemta-4.messagelabs.com id
	57/95-05853-EBCCBAF4; Thu, 10 May 2012 14:12:14 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336659132!13564524!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24833 invoked from network); 10 May 2012 14:12:13 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	10 May 2012 14:12:13 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:49874
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1SSU1k-00022s-Fq; Thu, 10 May 2012 16:07:32 +0200
Date: Thu, 10 May 2012 16:12:11 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <686683228.20120510161211@eikelenboom.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336646320.7098.62.camel@zakaz.uk.xensource.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
	<1336646320.7098.62.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
	devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Ian,

Thursday, May 10, 2012, 12:38:40 PM, you wrote:

> On Thu, 2012-05-10 at 11:17 +0100, George Dunlap wrote:
>> On Wed, May 9, 2012 at 2:45 PM, George Dunlap
>> <george.dunlap@eu.citrix.com> wrote:
>> > On 09/05/12 12:59, Ian Campbell wrote:
>> >>
>> >> Right, however it is strictly speaking a new feature which is not
>> >> mentioned on the TODO list and has not previously been posted (AFAIK,
>> >> please correct me if not) and we are currently supposed to be in feature
>> >> freeze (and have been for several weeks, if not a month).
>> >>
>> >> IIRC this functionality was mooted when the pci permissive patch was
>> >> being done as something which would be a 4.3 feature.
>> >> We need to decide if we want to make an exception for this new feature
>> >> or not. Although I'm sure this feature is very nice and handy, we've
>> >> lived without it for years and people seem to be able to use the
>> >> existing scheme.
>> 
>> And, I realize that at some point all of the deadlines are going to be
>> arbitrary; but I have always felt this is important enough to get an
>> exception.  I consider having to muck about with sysfs to be basically
>> a UI bug that really needs fixing.  I have a lot of other things that
>> I would like to get done for the 4.2 release; but I thought this was
>> important enough to get priority (above the PoD patch series, for
>> instance).  NB I'm not saying that you should accept it because I
>> worked on it; I only bring it up to demonstrate how important I think
>> the feature is.

> OK, given that the code is basically self contained and shouldn't effect
> anything unless a user "opts-in" to using it I think you've convinced
> me. Lets take this (I'll review the actual patches shortly).

> BTW, IMHO it is preferable for actual deployments to use the kernel
> command line options to hide devices rather than either this feature or
> sysfs.

> Fully hiding the device from dom0 drivers generally seems like it is
> always better. That way the first driver to try and touch the hardware
> is the one inside the domU. This avoids issues with dom0 drivers setting
> stuff up but not tearing it down in a way that domU can cope with and
> makes the use of hardware which doesn't support FLR more reliable etc.

Haven't checked it (haven't got the time right now) but:
Is using wildcards in the BDF's on the commandline supported already (like the ones supported in the config files for domains)

I tend to have quite long commandlines to hide a pci-e card with 8 functions (needed to specify 8 BDF's seperatly) for pci passthrough, would be nice if one could just specify 09:00.* for example.


> Ian.







-- 
Best regards,
 Sander                            mailto:linux@eikelenboom.it


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:12:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:12:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSU6K-00065P-CQ; Thu, 10 May 2012 14:12:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1SSU6J-00065J-Gn
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:12:15 +0000
Received: from [85.158.143.35:59324] by server-3.bemta-4.messagelabs.com id
	57/95-05853-EBCCBAF4; Thu, 10 May 2012 14:12:14 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336659132!13564524!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24833 invoked from network); 10 May 2012 14:12:13 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	10 May 2012 14:12:13 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:49874
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1SSU1k-00022s-Fq; Thu, 10 May 2012 16:07:32 +0200
Date: Thu, 10 May 2012 16:12:11 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <686683228.20120510161211@eikelenboom.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336646320.7098.62.camel@zakaz.uk.xensource.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
	<1336646320.7098.62.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
	devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Ian,

Thursday, May 10, 2012, 12:38:40 PM, you wrote:

> On Thu, 2012-05-10 at 11:17 +0100, George Dunlap wrote:
>> On Wed, May 9, 2012 at 2:45 PM, George Dunlap
>> <george.dunlap@eu.citrix.com> wrote:
>> > On 09/05/12 12:59, Ian Campbell wrote:
>> >>
>> >> Right, however it is strictly speaking a new feature which is not
>> >> mentioned on the TODO list and has not previously been posted (AFAIK,
>> >> please correct me if not) and we are currently supposed to be in feature
>> >> freeze (and have been for several weeks, if not a month).
>> >>
>> >> IIRC this functionality was mooted when the pci permissive patch was
>> >> being done as something which would be a 4.3 feature.
>> >> We need to decide if we want to make an exception for this new feature
>> >> or not. Although I'm sure this feature is very nice and handy, we've
>> >> lived without it for years and people seem to be able to use the
>> >> existing scheme.
>> 
>> And, I realize that at some point all of the deadlines are going to be
>> arbitrary; but I have always felt this is important enough to get an
>> exception.  I consider having to muck about with sysfs to be basically
>> a UI bug that really needs fixing.  I have a lot of other things that
>> I would like to get done for the 4.2 release; but I thought this was
>> important enough to get priority (above the PoD patch series, for
>> instance).  NB I'm not saying that you should accept it because I
>> worked on it; I only bring it up to demonstrate how important I think
>> the feature is.

> OK, given that the code is basically self contained and shouldn't effect
> anything unless a user "opts-in" to using it I think you've convinced
> me. Lets take this (I'll review the actual patches shortly).

> BTW, IMHO it is preferable for actual deployments to use the kernel
> command line options to hide devices rather than either this feature or
> sysfs.

> Fully hiding the device from dom0 drivers generally seems like it is
> always better. That way the first driver to try and touch the hardware
> is the one inside the domU. This avoids issues with dom0 drivers setting
> stuff up but not tearing it down in a way that domU can cope with and
> makes the use of hardware which doesn't support FLR more reliable etc.

Haven't checked it (haven't got the time right now) but:
Is using wildcards in the BDF's on the commandline supported already (like the ones supported in the config files for domains)

I tend to have quite long commandlines to hide a pci-e card with 8 functions (needed to specify 8 BDF's seperatly) for pci passthrough, would be nice if one could just specify 09:00.* for example.


> Ian.







-- 
Best regards,
 Sander                            mailto:linux@eikelenboom.it


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:17:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:17:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUAx-0006HN-9j; Thu, 10 May 2012 14:17:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSUAv-0006HG-RK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:17:02 +0000
Received: from [85.158.139.83:40855] by server-6.bemta-5.messagelabs.com id
	1D/9B-13222-DDDCBAF4; Thu, 10 May 2012 14:17:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336659419!24976548!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2547 invoked from network); 10 May 2012 14:16:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 14:16:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12408914"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 14:16:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 15:16:58 +0100
Message-ID: <1336659417.14220.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Sander Eikelenboom <linux@eikelenboom.it>
Date: Thu, 10 May 2012 15:16:57 +0100
In-Reply-To: <686683228.20120510161211@eikelenboom.it>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
	<1336646320.7098.62.camel@zakaz.uk.xensource.com>
	<686683228.20120510161211@eikelenboom.it>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:12 +0100, Sander Eikelenboom wrote:
> Hello Ian,
> 
> Thursday, May 10, 2012, 12:38:40 PM, you wrote:
> 
> > On Thu, 2012-05-10 at 11:17 +0100, George Dunlap wrote:
> >> On Wed, May 9, 2012 at 2:45 PM, George Dunlap
> >> <george.dunlap@eu.citrix.com> wrote:
> >> > On 09/05/12 12:59, Ian Campbell wrote:
> >> >>
> >> >> Right, however it is strictly speaking a new feature which is not
> >> >> mentioned on the TODO list and has not previously been posted (AFAIK,
> >> >> please correct me if not) and we are currently supposed to be in feature
> >> >> freeze (and have been for several weeks, if not a month).
> >> >>
> >> >> IIRC this functionality was mooted when the pci permissive patch was
> >> >> being done as something which would be a 4.3 feature.
> >> >> We need to decide if we want to make an exception for this new feature
> >> >> or not. Although I'm sure this feature is very nice and handy, we've
> >> >> lived without it for years and people seem to be able to use the
> >> >> existing scheme.
> >> 
> >> And, I realize that at some point all of the deadlines are going to be
> >> arbitrary; but I have always felt this is important enough to get an
> >> exception.  I consider having to muck about with sysfs to be basically
> >> a UI bug that really needs fixing.  I have a lot of other things that
> >> I would like to get done for the 4.2 release; but I thought this was
> >> important enough to get priority (above the PoD patch series, for
> >> instance).  NB I'm not saying that you should accept it because I
> >> worked on it; I only bring it up to demonstrate how important I think
> >> the feature is.
> 
> > OK, given that the code is basically self contained and shouldn't effect
> > anything unless a user "opts-in" to using it I think you've convinced
> > me. Lets take this (I'll review the actual patches shortly).
> 
> > BTW, IMHO it is preferable for actual deployments to use the kernel
> > command line options to hide devices rather than either this feature or
> > sysfs.
> 
> > Fully hiding the device from dom0 drivers generally seems like it is
> > always better. That way the first driver to try and touch the hardware
> > is the one inside the domU. This avoids issues with dom0 drivers setting
> > stuff up but not tearing it down in a way that domU can cope with and
> > makes the use of hardware which doesn't support FLR more reliable etc.
> 
> Haven't checked it (haven't got the time right now) but:
> Is using wildcards in the BDF's on the commandline supported already
> (like the ones supported in the config files for domains)

Based on a quick scan of the code it doesn't appear so, I don't maintain
PCI backthough so there might be something in the pipeline.

> I tend to have quite long commandlines to hide a pci-e card with 8
> functions (needed to specify 8 BDF's seperatly) for pci passthrough,
> would be nice if one could just specify 09:00.* for example.

It sounds useful to me.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:17:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:17:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUAx-0006HN-9j; Thu, 10 May 2012 14:17:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSUAv-0006HG-RK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:17:02 +0000
Received: from [85.158.139.83:40855] by server-6.bemta-5.messagelabs.com id
	1D/9B-13222-DDDCBAF4; Thu, 10 May 2012 14:17:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336659419!24976548!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2547 invoked from network); 10 May 2012 14:16:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 14:16:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12408914"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 14:16:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 15:16:58 +0100
Message-ID: <1336659417.14220.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Sander Eikelenboom <linux@eikelenboom.it>
Date: Thu, 10 May 2012 15:16:57 +0100
In-Reply-To: <686683228.20120510161211@eikelenboom.it>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
	<1336646320.7098.62.camel@zakaz.uk.xensource.com>
	<686683228.20120510161211@eikelenboom.it>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:12 +0100, Sander Eikelenboom wrote:
> Hello Ian,
> 
> Thursday, May 10, 2012, 12:38:40 PM, you wrote:
> 
> > On Thu, 2012-05-10 at 11:17 +0100, George Dunlap wrote:
> >> On Wed, May 9, 2012 at 2:45 PM, George Dunlap
> >> <george.dunlap@eu.citrix.com> wrote:
> >> > On 09/05/12 12:59, Ian Campbell wrote:
> >> >>
> >> >> Right, however it is strictly speaking a new feature which is not
> >> >> mentioned on the TODO list and has not previously been posted (AFAIK,
> >> >> please correct me if not) and we are currently supposed to be in feature
> >> >> freeze (and have been for several weeks, if not a month).
> >> >>
> >> >> IIRC this functionality was mooted when the pci permissive patch was
> >> >> being done as something which would be a 4.3 feature.
> >> >> We need to decide if we want to make an exception for this new feature
> >> >> or not. Although I'm sure this feature is very nice and handy, we've
> >> >> lived without it for years and people seem to be able to use the
> >> >> existing scheme.
> >> 
> >> And, I realize that at some point all of the deadlines are going to be
> >> arbitrary; but I have always felt this is important enough to get an
> >> exception.  I consider having to muck about with sysfs to be basically
> >> a UI bug that really needs fixing.  I have a lot of other things that
> >> I would like to get done for the 4.2 release; but I thought this was
> >> important enough to get priority (above the PoD patch series, for
> >> instance).  NB I'm not saying that you should accept it because I
> >> worked on it; I only bring it up to demonstrate how important I think
> >> the feature is.
> 
> > OK, given that the code is basically self contained and shouldn't effect
> > anything unless a user "opts-in" to using it I think you've convinced
> > me. Lets take this (I'll review the actual patches shortly).
> 
> > BTW, IMHO it is preferable for actual deployments to use the kernel
> > command line options to hide devices rather than either this feature or
> > sysfs.
> 
> > Fully hiding the device from dom0 drivers generally seems like it is
> > always better. That way the first driver to try and touch the hardware
> > is the one inside the domU. This avoids issues with dom0 drivers setting
> > stuff up but not tearing it down in a way that domU can cope with and
> > makes the use of hardware which doesn't support FLR more reliable etc.
> 
> Haven't checked it (haven't got the time right now) but:
> Is using wildcards in the BDF's on the commandline supported already
> (like the ones supported in the config files for domains)

Based on a quick scan of the code it doesn't appear so, I don't maintain
PCI backthough so there might be something in the pipeline.

> I tend to have quite long commandlines to hide a pci-e card with 8
> functions (needed to specify 8 BDF's seperatly) for pci passthrough,
> would be nice if one could just specify 09:00.* for example.

It sounds useful to me.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:45:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUbo-0006kb-JE; Thu, 10 May 2012 14:44:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUbm-0006kT-IK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:44:46 +0000
Received: from [85.158.143.99:54445] by server-2.bemta-4.messagelabs.com id
	DB/3B-17550-C54DBAF4; Thu, 10 May 2012 14:44:44 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336661082!27058840!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2767 invoked from network); 10 May 2012 14:44:43 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 14:44:43 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AEicEn008401
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 14:44:39 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AEibu8012037
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 14:44:38 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AEiYlM012287; Thu, 10 May 2012 09:44:34 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 07:44:34 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7F5FE4032D; Thu, 10 May 2012 10:38:30 -0400 (EDT)
Date: Thu, 10 May 2012 10:38:30 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120510143830.GH26152@phenom.dumpdata.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<20120504131244.GA26418@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Wu, GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > > xen-changeset:   25256
> > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > 
> > Please update your dom0.
> 
> I think we can use 3.4-RCx kernel as dom0 when sending the report next time.

Excellent!
> 
> > >
> > ============================================================
> > =====
> > >
> > > New issue(1)
> > > ==============
> > > 1. cpu weight out of range error when create hvm domU
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> > 
> > And what is the guest config? Does it have any cpu weights?
> 
> Added the config in the BZ.  It doesn't have any cpu weight in config. 
> Some other person also reported this issue in the mailing list several days ago.

I think some of the Citrix folks were going to take a look at this.

> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > > 3. [VT-D]fail to detach NIC from guest
> > 
> > Hmm, the last update is from a year ago. Are you sure this
> > is an issue?
> > 
> Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> According to our recent testing, it something about VNC console.
> Also added some latest info in the BZ.
> 
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> > 
> > the bug talks about 2.6.32. Can you update it to include the
> > 3.4 (or 3.3) dmesg output?
> > 
> This is about 32bit Xen.
> As we don't test 32bit Xen for a long time, we may update it when we're free.
> 
> > > 5. [VT-D] device reset fail when create/destroy guest
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> > 
> > Does this happen if you manually echo 1 > ../reset? And is this
> > an issue with the kernel if you upgrade it to 3.4-rc5?
> > 
> When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid argument".

OK, so then the device can't do reset's properly. Is this the
physical adaptor or the virtual one?

> This bug only exists when we use 'pcistub' to hide a device.

Ok, so it looks like upstream Linux can't do this properly on that device.

> 
> > > 8. after detaching a VF from a guest, shutdown the guest is very slow
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> > 
> > Where does it slow down? When bringing the NIC down or in specific
> > cases?
> > Is this an issue with if you are using a different guest (say Fedora Core 16?)
> > 
> We found it is related to 'stdgva' option in guest config file.
> If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
> If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.

What does turning standard VGA and VNC on mean to the guest? Doesn't that mean
that the VGA adapter is gone from the guest? And is this issue only
present if you have PCI devices in the guest? Meaning do you get this
if you boot a normal HVM guest and do 'stdvga=0' and 'vnc='1?


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:45:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUbo-0006kb-JE; Thu, 10 May 2012 14:44:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUbm-0006kT-IK
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:44:46 +0000
Received: from [85.158.143.99:54445] by server-2.bemta-4.messagelabs.com id
	DB/3B-17550-C54DBAF4; Thu, 10 May 2012 14:44:44 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336661082!27058840!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2767 invoked from network); 10 May 2012 14:44:43 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 14:44:43 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AEicEn008401
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 14:44:39 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AEibu8012037
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 14:44:38 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AEiYlM012287; Thu, 10 May 2012 09:44:34 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 07:44:34 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7F5FE4032D; Thu, 10 May 2012 10:38:30 -0400 (EDT)
Date: Thu, 10 May 2012 10:38:30 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120510143830.GH26152@phenom.dumpdata.com>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<20120504131244.GA26418@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Wu, GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > > xen-changeset:   25256
> > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > 
> > Please update your dom0.
> 
> I think we can use 3.4-RCx kernel as dom0 when sending the report next time.

Excellent!
> 
> > >
> > ============================================================
> > =====
> > >
> > > New issue(1)
> > > ==============
> > > 1. cpu weight out of range error when create hvm domU
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> > 
> > And what is the guest config? Does it have any cpu weights?
> 
> Added the config in the BZ.  It doesn't have any cpu weight in config. 
> Some other person also reported this issue in the mailing list several days ago.

I think some of the Citrix folks were going to take a look at this.

> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > > 3. [VT-D]fail to detach NIC from guest
> > 
> > Hmm, the last update is from a year ago. Are you sure this
> > is an issue?
> > 
> Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> According to our recent testing, it something about VNC console.
> Also added some latest info in the BZ.
> 
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> > 
> > the bug talks about 2.6.32. Can you update it to include the
> > 3.4 (or 3.3) dmesg output?
> > 
> This is about 32bit Xen.
> As we don't test 32bit Xen for a long time, we may update it when we're free.
> 
> > > 5. [VT-D] device reset fail when create/destroy guest
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> > 
> > Does this happen if you manually echo 1 > ../reset? And is this
> > an issue with the kernel if you upgrade it to 3.4-rc5?
> > 
> When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid argument".

OK, so then the device can't do reset's properly. Is this the
physical adaptor or the virtual one?

> This bug only exists when we use 'pcistub' to hide a device.

Ok, so it looks like upstream Linux can't do this properly on that device.

> 
> > > 8. after detaching a VF from a guest, shutdown the guest is very slow
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> > 
> > Where does it slow down? When bringing the NIC down or in specific
> > cases?
> > Is this an issue with if you are using a different guest (say Fedora Core 16?)
> > 
> We found it is related to 'stdgva' option in guest config file.
> If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
> If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.

What does turning standard VGA and VNC on mean to the guest? Doesn't that mean
that the VGA adapter is gone from the guest? And is this issue only
present if you have PCI devices in the guest? Meaning do you get this
if you boot a normal HVM guest and do 'stdvga=0' and 'vnc='1?


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:49:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:49:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUfh-0006u3-8K; Thu, 10 May 2012 14:48:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUfg-0006tu-0p
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 14:48:48 +0000
Received: from [85.158.139.83:34670] by server-3.bemta-5.messagelabs.com id
	14/0E-25237-F45DBAF4; Thu, 10 May 2012 14:48:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336661325!20470941!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30264 invoked from network); 10 May 2012 14:48:46 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 14:48:46 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AEmgEt005902
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 14:48:43 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AEmgPZ010839
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 14:48:42 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AEmfoq029455; Thu, 10 May 2012 09:48:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 07:48:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4F45D4032D; Thu, 10 May 2012 10:42:37 -0400 (EDT)
Date: Thu, 10 May 2012 10:42:37 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Message-ID: <20120510144237.GI26152@phenom.dumpdata.com>
References: <1335728058.4574.18.camel@localhost>
	<d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
	<1335953632.3599.16.camel@localhost>
	<3a2da977-299d-4200-8f31-542b8a4fcb34@default>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <3a2da977-299d-4200-8f31-542b8a4fcb34@default>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, Jana Saout <jana@saout.de>
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 10:51:12AM -0700, Dan Magenheimer wrote:
> > From: Jana Saout [mailto:jana@saout.de]
> > Subject: Re: [Xen-devel] Self-ballooning question / cache issue
> > 
> 
> Hi Jana --
> 
> Since you have tested this patch and have found it useful, and
> since its use is entirely optional, it is OK with me for it to
> be upstreamed at the next window.  Konrad cc'ed.
> 
> You will need to add a Signed-off-by line to the patch
> but other than that you can consider it
> 
> Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>

Looks good. Can you resend it with the right tags to
xen-devel and lkml and to me please?
> 
> > > Your idea of the tunable is interesting (and patches are always
> > > welcome!) but I am skeptical that it will solve the problem
> > > since I would guess the Linux kernel is shrinking dcache
> > > proportional to the size of the page cache.  So adding more
> > > RAM with your "user-specified amount of pages that is
> > > added on top of the computed target number of pages",
> > > the RAM will still be shared across all caches and only
> > > some small portion of the added RAM will likely be used
> > > for dcache.
> > 
> > That's true.  In fact, I have to add about 1 GB of memory in order to
> > keep the relevant dcache / inode cache entries to stay in the cache.
> > When I do that the largest portion of memory is still eaten up by the
> > regular page cache.  So this is more of a workaround than a solution,
> > but for now it works.
> > 
> > I've attached the simple patch I've whipped up below.
> > 
> > > However, if you have a chance to try it, I would be interested
> > > in your findings.  Note that you already can set a
> > > permanent floor for selfballooning ("min_usable_mb") or,
> > > of course, just turn off selfballooning altogether.
> > 
> > Sure, that's always a possibility.  However, the VM already had an
> > overly large amount of memory before to avoid the problem.  Now it runs
> > with less memory (still a bit more than required), and when a load spike
> > comes, it can quickly balloon up, which is exactly what I was looking
> > for.
> > 
> > 	Jana
> > 
> > ----
> > Author: Jana Saout <jana@saout.de>
> > Date:   Sun Apr 29 22:09:29 2012 +0200
> > 
> >     Add selfballoning memory reservation tunable.
> > 
> > diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
> > index 146c948..7d041cb 100644
> > --- a/drivers/xen/xen-selfballoon.c
> > +++ b/drivers/xen/xen-selfballoon.c
> > @@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
> >   */
> >  static unsigned int selfballoon_min_usable_mb;
> > 
> > +/*
> > + * Amount of RAM in MB to add to the target number of pages.
> > + * Can be used to reserve some more room for caches and the like.
> > + */
> > +static unsigned int selfballoon_reserved_mb;
> > +
> >  static void selfballoon_process(struct work_struct *work);
> >  static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
> > 
> > @@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
> >  		cur_pages = totalram_pages;
> >  		tgt_pages = cur_pages; /* default is no change */
> >  		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
> > -				totalreserve_pages;
> > +				totalreserve_pages +
> > +				MB2PAGES(selfballoon_reserved_mb);
> >  #ifdef CONFIG_FRONTSWAP
> >  		/* allow space for frontswap pages to be repatriated */
> >  		if (frontswap_selfshrinking && frontswap_enabled)
> > @@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
> >  		   show_selfballoon_min_usable_mb,
> >  		   store_selfballoon_min_usable_mb);
> > 
> > +SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
> > +				selfballoon_reserved_mb);
> > +
> > +static ssize_t store_selfballoon_reserved_mb(struct device *dev,
> > +					     struct device_attribute *attr,
> > +					     const char *buf,
> > +					     size_t count)
> > +{
> > +	unsigned long val;
> > +	int err;
> > +
> > +	if (!capable(CAP_SYS_ADMIN))
> > +		return -EPERM;
> > +	err = strict_strtoul(buf, 10, &val);
> > +	if (err)
> > +		return -EINVAL;
> > +	selfballoon_reserved_mb = val;
> > +	return count;
> > +}
> > +
> > +static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
> > +		   show_selfballoon_reserved_mb,
> > +		   store_selfballoon_reserved_mb);
> > +
> > 
> >  #ifdef CONFIG_FRONTSWAP
> >  SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
> > @@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
> >  	&dev_attr_selfballoon_downhysteresis.attr,
> >  	&dev_attr_selfballoon_uphysteresis.attr,
> >  	&dev_attr_selfballoon_min_usable_mb.attr,
> > +	&dev_attr_selfballoon_reserved_mb.attr,
> >  #ifdef CONFIG_FRONTSWAP
> >  	&dev_attr_frontswap_selfshrinking.attr,
> >  	&dev_attr_frontswap_hysteresis.attr,
> > 
> > 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:49:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:49:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUfh-0006u3-8K; Thu, 10 May 2012 14:48:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUfg-0006tu-0p
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 14:48:48 +0000
Received: from [85.158.139.83:34670] by server-3.bemta-5.messagelabs.com id
	14/0E-25237-F45DBAF4; Thu, 10 May 2012 14:48:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336661325!20470941!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30264 invoked from network); 10 May 2012 14:48:46 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 14:48:46 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AEmgEt005902
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 14:48:43 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AEmgPZ010839
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 14:48:42 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AEmfoq029455; Thu, 10 May 2012 09:48:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 07:48:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4F45D4032D; Thu, 10 May 2012 10:42:37 -0400 (EDT)
Date: Thu, 10 May 2012 10:42:37 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Message-ID: <20120510144237.GI26152@phenom.dumpdata.com>
References: <1335728058.4574.18.camel@localhost>
	<d9a09803-cfe6-4c69-b069-adb51e2d2848@default>
	<1335953632.3599.16.camel@localhost>
	<3a2da977-299d-4200-8f31-542b8a4fcb34@default>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <3a2da977-299d-4200-8f31-542b8a4fcb34@default>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, Jana Saout <jana@saout.de>
Subject: Re: [Xen-devel] Self-ballooning question / cache issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 02, 2012 at 10:51:12AM -0700, Dan Magenheimer wrote:
> > From: Jana Saout [mailto:jana@saout.de]
> > Subject: Re: [Xen-devel] Self-ballooning question / cache issue
> > 
> 
> Hi Jana --
> 
> Since you have tested this patch and have found it useful, and
> since its use is entirely optional, it is OK with me for it to
> be upstreamed at the next window.  Konrad cc'ed.
> 
> You will need to add a Signed-off-by line to the patch
> but other than that you can consider it
> 
> Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>

Looks good. Can you resend it with the right tags to
xen-devel and lkml and to me please?
> 
> > > Your idea of the tunable is interesting (and patches are always
> > > welcome!) but I am skeptical that it will solve the problem
> > > since I would guess the Linux kernel is shrinking dcache
> > > proportional to the size of the page cache.  So adding more
> > > RAM with your "user-specified amount of pages that is
> > > added on top of the computed target number of pages",
> > > the RAM will still be shared across all caches and only
> > > some small portion of the added RAM will likely be used
> > > for dcache.
> > 
> > That's true.  In fact, I have to add about 1 GB of memory in order to
> > keep the relevant dcache / inode cache entries to stay in the cache.
> > When I do that the largest portion of memory is still eaten up by the
> > regular page cache.  So this is more of a workaround than a solution,
> > but for now it works.
> > 
> > I've attached the simple patch I've whipped up below.
> > 
> > > However, if you have a chance to try it, I would be interested
> > > in your findings.  Note that you already can set a
> > > permanent floor for selfballooning ("min_usable_mb") or,
> > > of course, just turn off selfballooning altogether.
> > 
> > Sure, that's always a possibility.  However, the VM already had an
> > overly large amount of memory before to avoid the problem.  Now it runs
> > with less memory (still a bit more than required), and when a load spike
> > comes, it can quickly balloon up, which is exactly what I was looking
> > for.
> > 
> > 	Jana
> > 
> > ----
> > Author: Jana Saout <jana@saout.de>
> > Date:   Sun Apr 29 22:09:29 2012 +0200
> > 
> >     Add selfballoning memory reservation tunable.
> > 
> > diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
> > index 146c948..7d041cb 100644
> > --- a/drivers/xen/xen-selfballoon.c
> > +++ b/drivers/xen/xen-selfballoon.c
> > @@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
> >   */
> >  static unsigned int selfballoon_min_usable_mb;
> > 
> > +/*
> > + * Amount of RAM in MB to add to the target number of pages.
> > + * Can be used to reserve some more room for caches and the like.
> > + */
> > +static unsigned int selfballoon_reserved_mb;
> > +
> >  static void selfballoon_process(struct work_struct *work);
> >  static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
> > 
> > @@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
> >  		cur_pages = totalram_pages;
> >  		tgt_pages = cur_pages; /* default is no change */
> >  		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
> > -				totalreserve_pages;
> > +				totalreserve_pages +
> > +				MB2PAGES(selfballoon_reserved_mb);
> >  #ifdef CONFIG_FRONTSWAP
> >  		/* allow space for frontswap pages to be repatriated */
> >  		if (frontswap_selfshrinking && frontswap_enabled)
> > @@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
> >  		   show_selfballoon_min_usable_mb,
> >  		   store_selfballoon_min_usable_mb);
> > 
> > +SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
> > +				selfballoon_reserved_mb);
> > +
> > +static ssize_t store_selfballoon_reserved_mb(struct device *dev,
> > +					     struct device_attribute *attr,
> > +					     const char *buf,
> > +					     size_t count)
> > +{
> > +	unsigned long val;
> > +	int err;
> > +
> > +	if (!capable(CAP_SYS_ADMIN))
> > +		return -EPERM;
> > +	err = strict_strtoul(buf, 10, &val);
> > +	if (err)
> > +		return -EINVAL;
> > +	selfballoon_reserved_mb = val;
> > +	return count;
> > +}
> > +
> > +static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
> > +		   show_selfballoon_reserved_mb,
> > +		   store_selfballoon_reserved_mb);
> > +
> > 
> >  #ifdef CONFIG_FRONTSWAP
> >  SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
> > @@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
> >  	&dev_attr_selfballoon_downhysteresis.attr,
> >  	&dev_attr_selfballoon_uphysteresis.attr,
> >  	&dev_attr_selfballoon_min_usable_mb.attr,
> > +	&dev_attr_selfballoon_reserved_mb.attr,
> >  #ifdef CONFIG_FRONTSWAP
> >  	&dev_attr_frontswap_selfshrinking.attr,
> >  	&dev_attr_frontswap_hysteresis.attr,
> > 
> > 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:50:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:50:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUh6-000700-GR; Thu, 10 May 2012 14:50:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUh4-0006zD-9c
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:50:14 +0000
Received: from [85.158.143.35:4213] by server-2.bemta-4.messagelabs.com id
	9B/74-17550-5A5DBAF4; Thu, 10 May 2012 14:50:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336661401!11642650!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1391 invoked from network); 10 May 2012 14:50:11 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 14:50:11 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AEnwsp007214
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 14:49:59 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AEnvsZ013647
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 14:49:58 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AEnvUC026464; Thu, 10 May 2012 09:49:57 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 07:49:57 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 69DC64032D; Thu, 10 May 2012 10:43:53 -0400 (EDT)
Date: Thu, 10 May 2012 10:43:53 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lars Kurth <lars.kurth@xen.org>
Message-ID: <20120510144353.GJ26152@phenom.dumpdata.com>
References: <4F912F15.2030202@xen.org>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4F912F15.2030202@xen.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-api@lists.xen.org, xen-arm@lists.xen.org, xen-users@lists.xen.org,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [Xen-API] Xen Documentation Day : April 23rd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Apr 20, 2012 at 10:40:37AM +0100, Lars Kurth wrote:
> Hi everybody,
> 
> we have another Xen Documentation Day come up next Monday, April 23.

When is the next one? I am itching to write some new docs!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:50:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:50:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUh6-000700-GR; Thu, 10 May 2012 14:50:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUh4-0006zD-9c
	for xen-devel@lists.xen.org; Thu, 10 May 2012 14:50:14 +0000
Received: from [85.158.143.35:4213] by server-2.bemta-4.messagelabs.com id
	9B/74-17550-5A5DBAF4; Thu, 10 May 2012 14:50:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336661401!11642650!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1391 invoked from network); 10 May 2012 14:50:11 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 14:50:11 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AEnwsp007214
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 14:49:59 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AEnvsZ013647
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 14:49:58 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AEnvUC026464; Thu, 10 May 2012 09:49:57 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 07:49:57 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 69DC64032D; Thu, 10 May 2012 10:43:53 -0400 (EDT)
Date: Thu, 10 May 2012 10:43:53 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lars Kurth <lars.kurth@xen.org>
Message-ID: <20120510144353.GJ26152@phenom.dumpdata.com>
References: <4F912F15.2030202@xen.org>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4F912F15.2030202@xen.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-api@lists.xen.org, xen-arm@lists.xen.org, xen-users@lists.xen.org,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [Xen-API] Xen Documentation Day : April 23rd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Apr 20, 2012 at 10:40:37AM +0100, Lars Kurth wrote:
> Hi everybody,
> 
> we have another Xen Documentation Day come up next Monday, April 23.

When is the next one? I am itching to write some new docs!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:54:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:54:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUky-0007Sy-6i; Thu, 10 May 2012 14:54:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSUkw-0007Sk-NE
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 14:54:15 +0000
Received: from [193.109.254.147:13051] by server-3.bemta-14.messagelabs.com id
	03/50-23274-696DBAF4; Thu, 10 May 2012 14:54:14 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336661652!1758296!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3OTkx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5060 invoked from network); 10 May 2012 14:54:13 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-14.tower-27.messagelabs.com with SMTP;
	10 May 2012 14:54:13 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 10 May 2012 07:54:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="141424688"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 10 May 2012 07:54:10 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 07:54:09 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 10 May 2012 22:54:07 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNHys61b8pDRiwSFiwkpXixs4X8JbDMq/Q
Date: Thu, 10 May 2012 14:54:07 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
In-Reply-To: <20120420192439.GA32170@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad,

Thanks for help me review!
Update according to your suggestion. 
Add some comments below.

>> 
>> Manage physical cpus in dom0, get physical cpus info and provide sys
>> interface. 
> 
> Anything that exposes SysFS attributes needs documentation in
> Documentation/ABI

Yes, added.

> 
> Can you explain what this solves? And if there are any
> userland applications that use this?
> 

It provide cpu online/offline interface to user. User can use it for their own purpose, like power saving - by offlining some cpus when light workload it save power greatly.

> 
> 
>> +	switch (buf[0]) {
> 
> Use strict_strtoull pls.

kernel suggest:
WARNING: strict_strtoull is obsolete, use kstrtoull instead :)

> 
>> +	case '0':
>> +		ret = xen_pcpu_down(cpu->xen_id);
>> +		break;
>> +	case '1':
>> +		ret = xen_pcpu_up(cpu->xen_id);
>> +		break;
>> +	default:
>> +		ret = -EINVAL;
>> +	}
>> +
>> +	if (ret >= 0)
>> +		ret = count;
>> +	return ret;
>> +}
>> +static DEVICE_ATTR(online, S_IRUGO | S_IWUSR, show_online,
>> store_online); 
> 
>> +
>> +static ssize_t show_apicid(struct device *dev,
>> +			   struct device_attribute *attr,
>> +			   char *buf)
>> +{
>> +	struct pcpu *cpu = container_of(dev, struct pcpu, dev); +
>> +	return sprintf(buf, "%u\n", cpu->apic_id);
>> +}
>> +
>> +static ssize_t show_acpiid(struct device *dev,
>> +			   struct device_attribute *attr,
>> +			   char *buf)
>> +{
>> +	struct pcpu *cpu = container_of(dev, struct pcpu, dev); +
>> +	return sprintf(buf, "%u\n", cpu->acpi_id);
>> +}
>> +static DEVICE_ATTR(apic_id, S_IRUGO, show_apicid, NULL);
>> +static DEVICE_ATTR(acpi_id, S_IRUGO, show_acpiid, NULL);
> 
> What benefit is there in exposing these values to the user?

Yes, no benefit so let's cancel exposing acpi_id and apic_id.

>> +
>> +static void pcpu_sys_remove(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +
>> +	if (!pcpu)
>> +		return;
>> +
>> +	dev = &pcpu->dev;
>> +	if (dev->id)
>> +		device_remove_file(dev, &dev_attr_online);
>> +	device_remove_file(dev, &dev_attr_acpi_id);
>> +	device_remove_file(dev, &dev_attr_apic_id);
>> +	device_unregister(dev);
> 
> So .. if you are using that, can't you use the .release
> and define something like:
> 
> static void pcpu_release(struct device *dev)
> {
> 	struct pcpu *pcpu = container_of(dev, struct pcpu, dev);
> 
> 	list_del(&pcpu->pcpu_list);
> 	kfree(pcpu);
> }
>> +}
>> +
>> +static void free_pcpu(struct pcpu *pcpu)
>> +{
>> +	if (!pcpu)
>> +		return;
>> +
>> +	pcpu_sys_remove(pcpu);
> 
>> +	list_del(&pcpu->pcpu_list);
>> +	kfree(pcpu);
> 
> Those two shouldn't be there. They sould be part of the
> release function.
>> +}
>> +
>> +static int pcpu_sys_create(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +	int err = -EINVAL;
>> +
>> +	if (!pcpu)
>> +		return err;
>> +
>> +	dev = &pcpu->dev;
>> +	dev->bus = &xen_pcpu_subsys;
>> +	dev->id = pcpu->xen_id;
> 
> And then here dev->release = &pcpu_release;
> 

Hmm, it's good if it's convenient to do it automatically via dev->release.
However, dev container (pcpu) would be free at some other error cases, so I prefer do it 'manually'.

> 
>> +	/* Not open pcpu0 online access to user */
> 
> Huh? You mean "Nobody can touch PCPU0" ?

Add comments:
        /*
         * Xen never offline cpu0 due to several restrictions
         * and assumptions. This basically doesn't add a sys control
         * to user, one cannot attempt to offline BSP.
         */

> 
> Why? Why can they touch the other ones? And better yet,
> what happens if one boots without "dom0_max_vcpus=X"
> and powers of some of the CPUs?
> 

Only those at cpu present map has its sys interface.

>> +static int __init xen_pcpu_init(void)
>> +{
>> +	int ret;
>> +
>> +	if (!xen_initial_domain())
>> +		return -ENODEV;
>> +
>> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL); +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
>> +		return ret; +	}
>> +
>> +	INIT_LIST_HEAD(&xen_pcpus.list);
>> +
>> +	ret = xen_sync_pcpus();
>> +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n"); +		return ret;
>> +	}
>> +
>> +	ret = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
>> +				      xen_pcpu_interrupt, 0,
>> +				      "pcpu", NULL);
> 
> "xen-pcpu"
> 
>> +	if (ret < 0) {
>> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
> 
> Shouldn't you delete what 'xen_sync_pcpus' did?

yes, add error handling.

> Or is it OK to still work without the interrupts? What is the purpose
> of that interrupt? How does it actually work - the hypervisor
> decides when/where to turn off CPUs?
> 

user online/offline cpu via sys interface --> xen implement --> inject virq back to dom0 --> sync cpu status.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:54:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:54:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUky-0007Sy-6i; Thu, 10 May 2012 14:54:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSUkw-0007Sk-NE
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 14:54:15 +0000
Received: from [193.109.254.147:13051] by server-3.bemta-14.messagelabs.com id
	03/50-23274-696DBAF4; Thu, 10 May 2012 14:54:14 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336661652!1758296!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3OTkx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5060 invoked from network); 10 May 2012 14:54:13 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-14.tower-27.messagelabs.com with SMTP;
	10 May 2012 14:54:13 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 10 May 2012 07:54:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="141424688"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 10 May 2012 07:54:10 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 07:54:09 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 10 May 2012 22:54:07 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNHys61b8pDRiwSFiwkpXixs4X8JbDMq/Q
Date: Thu, 10 May 2012 14:54:07 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
In-Reply-To: <20120420192439.GA32170@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad,

Thanks for help me review!
Update according to your suggestion. 
Add some comments below.

>> 
>> Manage physical cpus in dom0, get physical cpus info and provide sys
>> interface. 
> 
> Anything that exposes SysFS attributes needs documentation in
> Documentation/ABI

Yes, added.

> 
> Can you explain what this solves? And if there are any
> userland applications that use this?
> 

It provide cpu online/offline interface to user. User can use it for their own purpose, like power saving - by offlining some cpus when light workload it save power greatly.

> 
> 
>> +	switch (buf[0]) {
> 
> Use strict_strtoull pls.

kernel suggest:
WARNING: strict_strtoull is obsolete, use kstrtoull instead :)

> 
>> +	case '0':
>> +		ret = xen_pcpu_down(cpu->xen_id);
>> +		break;
>> +	case '1':
>> +		ret = xen_pcpu_up(cpu->xen_id);
>> +		break;
>> +	default:
>> +		ret = -EINVAL;
>> +	}
>> +
>> +	if (ret >= 0)
>> +		ret = count;
>> +	return ret;
>> +}
>> +static DEVICE_ATTR(online, S_IRUGO | S_IWUSR, show_online,
>> store_online); 
> 
>> +
>> +static ssize_t show_apicid(struct device *dev,
>> +			   struct device_attribute *attr,
>> +			   char *buf)
>> +{
>> +	struct pcpu *cpu = container_of(dev, struct pcpu, dev); +
>> +	return sprintf(buf, "%u\n", cpu->apic_id);
>> +}
>> +
>> +static ssize_t show_acpiid(struct device *dev,
>> +			   struct device_attribute *attr,
>> +			   char *buf)
>> +{
>> +	struct pcpu *cpu = container_of(dev, struct pcpu, dev); +
>> +	return sprintf(buf, "%u\n", cpu->acpi_id);
>> +}
>> +static DEVICE_ATTR(apic_id, S_IRUGO, show_apicid, NULL);
>> +static DEVICE_ATTR(acpi_id, S_IRUGO, show_acpiid, NULL);
> 
> What benefit is there in exposing these values to the user?

Yes, no benefit so let's cancel exposing acpi_id and apic_id.

>> +
>> +static void pcpu_sys_remove(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +
>> +	if (!pcpu)
>> +		return;
>> +
>> +	dev = &pcpu->dev;
>> +	if (dev->id)
>> +		device_remove_file(dev, &dev_attr_online);
>> +	device_remove_file(dev, &dev_attr_acpi_id);
>> +	device_remove_file(dev, &dev_attr_apic_id);
>> +	device_unregister(dev);
> 
> So .. if you are using that, can't you use the .release
> and define something like:
> 
> static void pcpu_release(struct device *dev)
> {
> 	struct pcpu *pcpu = container_of(dev, struct pcpu, dev);
> 
> 	list_del(&pcpu->pcpu_list);
> 	kfree(pcpu);
> }
>> +}
>> +
>> +static void free_pcpu(struct pcpu *pcpu)
>> +{
>> +	if (!pcpu)
>> +		return;
>> +
>> +	pcpu_sys_remove(pcpu);
> 
>> +	list_del(&pcpu->pcpu_list);
>> +	kfree(pcpu);
> 
> Those two shouldn't be there. They sould be part of the
> release function.
>> +}
>> +
>> +static int pcpu_sys_create(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +	int err = -EINVAL;
>> +
>> +	if (!pcpu)
>> +		return err;
>> +
>> +	dev = &pcpu->dev;
>> +	dev->bus = &xen_pcpu_subsys;
>> +	dev->id = pcpu->xen_id;
> 
> And then here dev->release = &pcpu_release;
> 

Hmm, it's good if it's convenient to do it automatically via dev->release.
However, dev container (pcpu) would be free at some other error cases, so I prefer do it 'manually'.

> 
>> +	/* Not open pcpu0 online access to user */
> 
> Huh? You mean "Nobody can touch PCPU0" ?

Add comments:
        /*
         * Xen never offline cpu0 due to several restrictions
         * and assumptions. This basically doesn't add a sys control
         * to user, one cannot attempt to offline BSP.
         */

> 
> Why? Why can they touch the other ones? And better yet,
> what happens if one boots without "dom0_max_vcpus=X"
> and powers of some of the CPUs?
> 

Only those at cpu present map has its sys interface.

>> +static int __init xen_pcpu_init(void)
>> +{
>> +	int ret;
>> +
>> +	if (!xen_initial_domain())
>> +		return -ENODEV;
>> +
>> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL); +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
>> +		return ret; +	}
>> +
>> +	INIT_LIST_HEAD(&xen_pcpus.list);
>> +
>> +	ret = xen_sync_pcpus();
>> +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n"); +		return ret;
>> +	}
>> +
>> +	ret = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
>> +				      xen_pcpu_interrupt, 0,
>> +				      "pcpu", NULL);
> 
> "xen-pcpu"
> 
>> +	if (ret < 0) {
>> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
> 
> Shouldn't you delete what 'xen_sync_pcpus' did?

yes, add error handling.

> Or is it OK to still work without the interrupts? What is the purpose
> of that interrupt? How does it actually work - the hypervisor
> decides when/where to turn off CPUs?
> 

user online/offline cpu via sys interface --> xen implement --> inject virq back to dom0 --> sync cpu status.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUq5-0007mO-P7; Thu, 10 May 2012 14:59:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SSUq4-0007m1-7m
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 14:59:32 +0000
Received: from [85.158.138.51:4427] by server-2.bemta-3.messagelabs.com id
	0B/D1-09269-3D7DBAF4; Thu, 10 May 2012 14:59:31 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336661970!17460442!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28287 invoked from network); 10 May 2012 14:59:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 14:59:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12410475"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 14:59:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 15:59:29 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SSUq1-0007r6-NP;
	Thu, 10 May 2012 14:59:29 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 10 May 2012 15:59:19 +0100
Message-ID: <1336661959-13259-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH] x86/hvm: put value of emulated register reads
	into trace records
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The tracepoint for emulated MMIO and I/O port reads was always before
the emulated read or write was done.  This means that for reads the
register value in the trace record was always 0.

So for reads, move the tracepoint until the register value is
available.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>
---
A candidate for 4.0 and 4.1?
---
 xen/arch/x86/hvm/emulate.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 82efd1a..3a7fe95 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -191,7 +191,8 @@ static int hvmemul_do_io(
     p->df = df;
     p->data = value;
 
-    hvmtrace_io_assist(is_mmio, p);
+    if ( dir == IOREQ_WRITE )
+        hvmtrace_io_assist(is_mmio, p);
 
     if ( is_mmio )
     {
@@ -232,6 +233,9 @@ static int hvmemul_do_io(
     }
 
  finish_access:
+    if ( dir == IOREQ_READ )
+        hvmtrace_io_assist(is_mmio, p);
+
     if ( p_data != NULL )
         memcpy(p_data, &vio->io_data, size);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 14:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 14:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUq5-0007mO-P7; Thu, 10 May 2012 14:59:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SSUq4-0007m1-7m
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 14:59:32 +0000
Received: from [85.158.138.51:4427] by server-2.bemta-3.messagelabs.com id
	0B/D1-09269-3D7DBAF4; Thu, 10 May 2012 14:59:31 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336661970!17460442!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28287 invoked from network); 10 May 2012 14:59:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 14:59:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12410475"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 14:59:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 15:59:29 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SSUq1-0007r6-NP;
	Thu, 10 May 2012 14:59:29 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 10 May 2012 15:59:19 +0100
Message-ID: <1336661959-13259-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH] x86/hvm: put value of emulated register reads
	into trace records
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

The tracepoint for emulated MMIO and I/O port reads was always before
the emulated read or write was done.  This means that for reads the
register value in the trace record was always 0.

So for reads, move the tracepoint until the register value is
available.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>
---
A candidate for 4.0 and 4.1?
---
 xen/arch/x86/hvm/emulate.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 82efd1a..3a7fe95 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -191,7 +191,8 @@ static int hvmemul_do_io(
     p->df = df;
     p->data = value;
 
-    hvmtrace_io_assist(is_mmio, p);
+    if ( dir == IOREQ_WRITE )
+        hvmtrace_io_assist(is_mmio, p);
 
     if ( is_mmio )
     {
@@ -232,6 +233,9 @@ static int hvmemul_do_io(
     }
 
  finish_access:
+    if ( dir == IOREQ_READ )
+        hvmtrace_io_assist(is_mmio, p);
+
     if ( p_data != NULL )
         memcpy(p_data, &vio->io_data, size);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:01:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUrY-0007yY-9o; Thu, 10 May 2012 15:01:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSUrW-0007yF-Qh
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:01:03 +0000
Received: from [85.158.143.99:43227] by server-1.bemta-4.messagelabs.com id
	0E/5B-20925-E28DBAF4; Thu, 10 May 2012 15:01:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336662059!24022551!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7262 invoked from network); 10 May 2012 15:01:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:01:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194274615"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:56:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 10:56:54 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSUnW-0007HN-IA;
	Thu, 10 May 2012 15:56:54 +0100
Message-ID: <4FABD6EF.4020607@eu.citrix.com>
Date: Thu, 10 May 2012 15:55:43 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336648786.7098.89.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 12:19, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
>> Introduce libxl helper functions to prepare devices to be passed through to
>> guests.  This is meant to replace of all the manual sysfs commands which
>> are currently required.
>>
>> pci_assignable_add accepts a BDF for a device and will:
>> * Unbind a device from its current driver, if any
>> * If "rebind" is set, it will store the path of the driver from which we
>>    unplugged it in /libxl/pciback/$BDF/driver_path
> Since you don't know whether the user is going to pass -r to
> assignable_remove why not always store this?
The xl command does in fact do this (i.e., always passes '1' here).  I 
considered just taking this option out, as you suggest,  but I thought 
it might be useful for the libxl implementation to have more flexibility.
>> * If necessary, create a slot for it in pciback
> I must confess I'm a bit fuzzy on the relationship between slots and
> bindings, where does the "if necessary" come into it?
>
> I was wondering while reading the patch if unconditionally adding a
> removing the slot might simplify a bunch of stuff, but I suspect I just
> don't appreciate some particular aspect of how pciback works...
I have no idea what the "slot" thing is for.  What I've determined by 
experimentation is:
* Before "echo $BDF > .../pciback/bind" will work, $BDF must be listed 
in pciback/slots
* The way to get $BDF listed in pciback/slots is "echo $BDF > 
pciback/new_slot"
* The above command is not idempotent; if you do it twice, you'll get 
two entries of $BDF in pciback/slots

I wasn't sure if having two slots would be a problem or not; so I did 
the conservative thing, and check for the existence of $BDF in 
pciback/slots first, only creating a new slot if there is not already an 
existing slot.

So "if necessary" means, "if the device doesn't already have a slot".

>> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
>> +                           pcidev->domain,
>> +                           pcidev->bus,
>> +                           pcidev->dev,
>> +                           pcidev->func);
>> +    if ( !lstat(spath,&st) ) {
>> +        /* Find the canonical path to the driver. */
>> +        *dp = libxl__zalloc(gc, PATH_MAX);
> Should we be actually using fpathconf / sysconf here?
I don't really follow.  What exactly is it you're proposing?
>> +        *dp = realpath(spath, *dp);
>> +        if ( !*dp ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realpath() failed");
> Since errno is meaningful you want LIBXL__LOGERRNO here. Or the short
> form LOGE().
Done.
>
> Where you have pointer output params (like driver_path here) in general
> I think it is preferable to do everything with a local (single
> indirection) pointer and only update the output parameter on success.
> This means you avoid leaking/exposing a partial result on error but also
> means you can drop a lot of "*" from around the function.
>
> Maybe the gc makes this moot, but the "if ( driver_path )" stuff at the
> top of the fn took me several seconds to work out also ;-).
Yeah, that's a lot simpler, and easier to read.  Done.
>> +            return -1;
>> +        }
>> +
>> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
>> +                   *dp);
>> +
>> +        /* Unbind from the old driver */
>> +        spath = libxl__sprintf(gc, "%s/unbind", *dp);
>> +        if ( sysfs_write_bdf(gc, spath, pcidev)<  0 ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
> Not sure what errno is like here, worth printing it. Looking back at
> patch #1 I suspect sysfs_write_bdf should preserve errno over the call
> to close, so that suitable reporting can happen in the caller.
Done.
>> +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
>> +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> Is the concept of "having a slot" distinct from being bound to pciback?
Technically, yes.  You can't be bound without a slot; but you can have a 
slot without being bound.  I don't know exactly what the "slot" 
functionality is for, and why it's a separate step, but that's the way 
it is at the moment.
>> +{
>> +    libxl_ctx *ctx = libxl__gc_owner(gc);
>> +    FILE *f;
>> +    int rc = 0;
>> +    unsigned bus, dev, func;
>> +
>> +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
>> +
>> +    if (f == NULL) {
>> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
>> +                         SYSFS_PCIBACK_DRIVER"/slots");
>> +        return ERROR_FAIL;
>> +    }
>> +
>> +    while(fscanf(f, "0000:%x:%x.%x\n",&bus,&dev,&func)==3) {
> Jan recently added support for PCI domains, does that have any impact on
> the hardcoded 0000 here? I suppose that would require PCI domains
> support in the dom0 kernel -- but that seems likely to already be there
> (or be imminent)
>
> I think the 0000 should be %x into domain compared with pcidev->domain.
Ah, right -- I don't think I knew anything about the whole PCI domains 
thing. Done.
>
>> +    if ( (rc=pciback_dev_has_slot(gc, pcidev))<  0 ) {
>> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> +                   "Error checking for pciback slot");
> Log errno?
>
> Also pciback_dev_has_slot itself always logs on error, you probably
> don't need both.
This way you get a sort of callback path; but I could take it out if you 
want.
>
>> +        return ERROR_FAIL;
>> +    } else if (rc == 0) {
>> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
>> +                             pcidev)<  0 ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> +                       "Couldn't bind device to pciback!");
> ERRNO here too.
ack
>
>> +            return ERROR_FAIL;
>> +        }
>> +    }
>> +
>> +    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev)<  0 ) {
>> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
> ERRNO here too. Or since there are loads of these perhaps sysfs_write_bf
> should log on failure, either just the fact of the failed write to a
> path (which implies the  underlying failure was to bind/unbind) or you
> could add a "const char *what" param to use in logging.
Just doing ERRNO for all the callers makes more sense to me.
>> +    /* Remove slot if necessary */
>> +    if ( pciback_dev_has_slot(gc, pcidev)>  0 ) {
>> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
>> +                             pcidev)<  0 ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> +                       "Couldn't remove pciback slot");
> ERRNO
ack
>
>> +            return ERROR_FAIL;
>> +        }
>> +    }
>> +    return 0;
>> +}
>> +
>> +/* FIXME */
> Leftover?
Yeah, noticed this just after I sent it. :-)
>> +retry:
>> +    t = xs_transaction_start(ctx->xsh);
>> +
>> +    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
>> +                          pcidev->domain,
>> +                          pcidev->bus,
>> +                          pcidev->dev,
>> +                          pcidev->func);
>> +    xs_rm(ctx->xsh, t, path);
> Why do you need to rm first? Won't the write just replace whatever it is
> (and that means the need for a transaction goes away too)
>
> In any case you should create path outside the retry loop instead of
> needlessly recreating it each time around.
TBH, I just looked at another bit of code that did xs transactions and 
tried to follow suit.  Since I only need one operation, I'll take out 
the transaction stuff.
>> +    xs_rm(ctx->xsh, t, path);
> You don't need a transaction for a single operation. (and if you did
> then "path = ..." could have been hoisted out)
Very well.
>
>> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
>> +                                    int rebind)
>> +{
>> +    GC_INIT(ctx);
>> +    int rc;
>> +
>> +    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
>> +
>> +    GC_FREE;
>> +    return rc;
>> +}
> Are there internal callers of libxl__device_pci_assignable_add/remove?
> If not then there's no reason to split into internal/external functions.
> Doesn't matter much I guess.
Not yet, but I don't think it hurts to have that flexibility.

Thanks for the detailed review.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:01:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUrY-0007yY-9o; Thu, 10 May 2012 15:01:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSUrW-0007yF-Qh
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:01:03 +0000
Received: from [85.158.143.99:43227] by server-1.bemta-4.messagelabs.com id
	0E/5B-20925-E28DBAF4; Thu, 10 May 2012 15:01:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336662059!24022551!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7262 invoked from network); 10 May 2012 15:01:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:01:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194274615"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 10:56:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 10:56:54 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSUnW-0007HN-IA;
	Thu, 10 May 2012 15:56:54 +0100
Message-ID: <4FABD6EF.4020607@eu.citrix.com>
Date: Thu, 10 May 2012 15:55:43 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336648786.7098.89.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10/05/12 12:19, Ian Campbell wrote:
> On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
>> Introduce libxl helper functions to prepare devices to be passed through to
>> guests.  This is meant to replace of all the manual sysfs commands which
>> are currently required.
>>
>> pci_assignable_add accepts a BDF for a device and will:
>> * Unbind a device from its current driver, if any
>> * If "rebind" is set, it will store the path of the driver from which we
>>    unplugged it in /libxl/pciback/$BDF/driver_path
> Since you don't know whether the user is going to pass -r to
> assignable_remove why not always store this?
The xl command does in fact do this (i.e., always passes '1' here).  I 
considered just taking this option out, as you suggest,  but I thought 
it might be useful for the libxl implementation to have more flexibility.
>> * If necessary, create a slot for it in pciback
> I must confess I'm a bit fuzzy on the relationship between slots and
> bindings, where does the "if necessary" come into it?
>
> I was wondering while reading the patch if unconditionally adding a
> removing the slot might simplify a bunch of stuff, but I suspect I just
> don't appreciate some particular aspect of how pciback works...
I have no idea what the "slot" thing is for.  What I've determined by 
experimentation is:
* Before "echo $BDF > .../pciback/bind" will work, $BDF must be listed 
in pciback/slots
* The way to get $BDF listed in pciback/slots is "echo $BDF > 
pciback/new_slot"
* The above command is not idempotent; if you do it twice, you'll get 
two entries of $BDF in pciback/slots

I wasn't sure if having two slots would be a problem or not; so I did 
the conservative thing, and check for the existence of $BDF in 
pciback/slots first, only creating a new slot if there is not already an 
existing slot.

So "if necessary" means, "if the device doesn't already have a slot".

>> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
>> +                           pcidev->domain,
>> +                           pcidev->bus,
>> +                           pcidev->dev,
>> +                           pcidev->func);
>> +    if ( !lstat(spath,&st) ) {
>> +        /* Find the canonical path to the driver. */
>> +        *dp = libxl__zalloc(gc, PATH_MAX);
> Should we be actually using fpathconf / sysconf here?
I don't really follow.  What exactly is it you're proposing?
>> +        *dp = realpath(spath, *dp);
>> +        if ( !*dp ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realpath() failed");
> Since errno is meaningful you want LIBXL__LOGERRNO here. Or the short
> form LOGE().
Done.
>
> Where you have pointer output params (like driver_path here) in general
> I think it is preferable to do everything with a local (single
> indirection) pointer and only update the output parameter on success.
> This means you avoid leaking/exposing a partial result on error but also
> means you can drop a lot of "*" from around the function.
>
> Maybe the gc makes this moot, but the "if ( driver_path )" stuff at the
> top of the fn took me several seconds to work out also ;-).
Yeah, that's a lot simpler, and easier to read.  Done.
>> +            return -1;
>> +        }
>> +
>> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
>> +                   *dp);
>> +
>> +        /* Unbind from the old driver */
>> +        spath = libxl__sprintf(gc, "%s/unbind", *dp);
>> +        if ( sysfs_write_bdf(gc, spath, pcidev)<  0 ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
> Not sure what errno is like here, worth printing it. Looking back at
> patch #1 I suspect sysfs_write_bdf should preserve errno over the call
> to close, so that suitable reporting can happen in the caller.
Done.
>> +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
>> +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> Is the concept of "having a slot" distinct from being bound to pciback?
Technically, yes.  You can't be bound without a slot; but you can have a 
slot without being bound.  I don't know exactly what the "slot" 
functionality is for, and why it's a separate step, but that's the way 
it is at the moment.
>> +{
>> +    libxl_ctx *ctx = libxl__gc_owner(gc);
>> +    FILE *f;
>> +    int rc = 0;
>> +    unsigned bus, dev, func;
>> +
>> +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
>> +
>> +    if (f == NULL) {
>> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
>> +                         SYSFS_PCIBACK_DRIVER"/slots");
>> +        return ERROR_FAIL;
>> +    }
>> +
>> +    while(fscanf(f, "0000:%x:%x.%x\n",&bus,&dev,&func)==3) {
> Jan recently added support for PCI domains, does that have any impact on
> the hardcoded 0000 here? I suppose that would require PCI domains
> support in the dom0 kernel -- but that seems likely to already be there
> (or be imminent)
>
> I think the 0000 should be %x into domain compared with pcidev->domain.
Ah, right -- I don't think I knew anything about the whole PCI domains 
thing. Done.
>
>> +    if ( (rc=pciback_dev_has_slot(gc, pcidev))<  0 ) {
>> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> +                   "Error checking for pciback slot");
> Log errno?
>
> Also pciback_dev_has_slot itself always logs on error, you probably
> don't need both.
This way you get a sort of callback path; but I could take it out if you 
want.
>
>> +        return ERROR_FAIL;
>> +    } else if (rc == 0) {
>> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
>> +                             pcidev)<  0 ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> +                       "Couldn't bind device to pciback!");
> ERRNO here too.
ack
>
>> +            return ERROR_FAIL;
>> +        }
>> +    }
>> +
>> +    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev)<  0 ) {
>> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
> ERRNO here too. Or since there are loads of these perhaps sysfs_write_bf
> should log on failure, either just the fact of the failed write to a
> path (which implies the  underlying failure was to bind/unbind) or you
> could add a "const char *what" param to use in logging.
Just doing ERRNO for all the callers makes more sense to me.
>> +    /* Remove slot if necessary */
>> +    if ( pciback_dev_has_slot(gc, pcidev)>  0 ) {
>> +        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
>> +                             pcidev)<  0 ) {
>> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> +                       "Couldn't remove pciback slot");
> ERRNO
ack
>
>> +            return ERROR_FAIL;
>> +        }
>> +    }
>> +    return 0;
>> +}
>> +
>> +/* FIXME */
> Leftover?
Yeah, noticed this just after I sent it. :-)
>> +retry:
>> +    t = xs_transaction_start(ctx->xsh);
>> +
>> +    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
>> +                          pcidev->domain,
>> +                          pcidev->bus,
>> +                          pcidev->dev,
>> +                          pcidev->func);
>> +    xs_rm(ctx->xsh, t, path);
> Why do you need to rm first? Won't the write just replace whatever it is
> (and that means the need for a transaction goes away too)
>
> In any case you should create path outside the retry loop instead of
> needlessly recreating it each time around.
TBH, I just looked at another bit of code that did xs transactions and 
tried to follow suit.  Since I only need one operation, I'll take out 
the transaction stuff.
>> +    xs_rm(ctx->xsh, t, path);
> You don't need a transaction for a single operation. (and if you did
> then "path = ..." could have been hoisted out)
Very well.
>
>> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
>> +                                    int rebind)
>> +{
>> +    GC_INIT(ctx);
>> +    int rc;
>> +
>> +    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
>> +
>> +    GC_FREE;
>> +    return rc;
>> +}
> Are there internal callers of libxl__device_pci_assignable_add/remove?
> If not then there's no reason to split into internal/external functions.
> Doesn't matter much I guess.
Not yet, but I don't think it hurts to have that flexibility.

Thanks for the detailed review.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:04:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:04:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUuK-0008Mi-Ko; Thu, 10 May 2012 15:03:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUuJ-0008MV-Mt
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:03:55 +0000
Received: from [85.158.143.35:35220] by server-1.bemta-4.messagelabs.com id
	8C/21-20925-BD8DBAF4; Thu, 10 May 2012 15:03:55 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336662232!8291547!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32472 invoked from network); 10 May 2012 15:03:54 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:03:54 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AF3oag032654
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:03:51 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AF3o5e015625
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:03:50 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AF3nkK011178; Thu, 10 May 2012 10:03:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:03:50 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DC13B4032D; Thu, 10 May 2012 10:57:45 -0400 (EDT)
Date: Thu, 10 May 2012 10:57:45 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120510145745.GO26152@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 02:54:07PM +0000, Liu, Jinsong wrote:
> Konrad,
> 
> Thanks for help me review!

Sure thing.
> Update according to your suggestion. 
> Add some comments below.
> 
> >> 
> >> Manage physical cpus in dom0, get physical cpus info and provide sys
> >> interface. 
> > 
> > Anything that exposes SysFS attributes needs documentation in
> > Documentation/ABI
> 
> Yes, added.
> 
> > 
> > Can you explain what this solves? And if there are any
> > userland applications that use this?
> > 
> 
> It provide cpu online/offline interface to user. User can use it for their own purpose, like power saving - by offlining some cpus when light workload it save power greatly.

OK, please include that in the descritpion.

> 
> > 
> > 
> >> +	switch (buf[0]) {
> > 
> > Use strict_strtoull pls.
> 
> kernel suggest:
> WARNING: strict_strtoull is obsolete, use kstrtoull instead :)

Ah yes.
.. snip..
> > And then here dev->release = &pcpu_release;
> > 
> 
> Hmm, it's good if it's convenient to do it automatically via dev->release.
> However, dev container (pcpu) would be free at some other error cases, so I prefer do it 'manually'.

You could also call pcpu_release(..) to do it manually.

> 
> > 
> >> +	/* Not open pcpu0 online access to user */
> > 
> > Huh? You mean "Nobody can touch PCPU0" ?
> 
> Add comments:
>         /*
>          * Xen never offline cpu0 due to several restrictions
>          * and assumptions. This basically doesn't add a sys control
>          * to user, one cannot attempt to offline BSP.
>          */
> 
> > 
> > Why? Why can they touch the other ones? And better yet,
> > what happens if one boots without "dom0_max_vcpus=X"
> > and powers of some of the CPUs?
> > 
> 
> Only those at cpu present map has its sys interface.

OK, put that in the file so folks are aware of the limitations.

> 
> >> +static int __init xen_pcpu_init(void)
> >> +{
> >> +	int ret;
> >> +
> >> +	if (!xen_initial_domain())
> >> +		return -ENODEV;
> >> +
> >> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL); +	if (ret) {
> >> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
> >> +		return ret; +	}
> >> +
> >> +	INIT_LIST_HEAD(&xen_pcpus.list);
> >> +
> >> +	ret = xen_sync_pcpus();
> >> +	if (ret) {
> >> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n"); +		return ret;
> >> +	}
> >> +
> >> +	ret = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
> >> +				      xen_pcpu_interrupt, 0,
> >> +				      "pcpu", NULL);
> > 
> > "xen-pcpu"
> > 
> >> +	if (ret < 0) {
> >> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
> > 
> > Shouldn't you delete what 'xen_sync_pcpus' did?
> 
> yes, add error handling.
> 
> > Or is it OK to still work without the interrupts? What is the purpose
> > of that interrupt? How does it actually work - the hypervisor
> > decides when/where to turn off CPUs?
> > 
> 
> user online/offline cpu via sys interface --> xen implement --> inject virq back to dom0 --> sync cpu status.

Add that in the file so the workflow is explained.
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:04:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:04:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUuK-0008Mi-Ko; Thu, 10 May 2012 15:03:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSUuJ-0008MV-Mt
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:03:55 +0000
Received: from [85.158.143.35:35220] by server-1.bemta-4.messagelabs.com id
	8C/21-20925-BD8DBAF4; Thu, 10 May 2012 15:03:55 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336662232!8291547!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32472 invoked from network); 10 May 2012 15:03:54 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:03:54 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AF3oag032654
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:03:51 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AF3o5e015625
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:03:50 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AF3nkK011178; Thu, 10 May 2012 10:03:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:03:50 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DC13B4032D; Thu, 10 May 2012 10:57:45 -0400 (EDT)
Date: Thu, 10 May 2012 10:57:45 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120510145745.GO26152@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 02:54:07PM +0000, Liu, Jinsong wrote:
> Konrad,
> 
> Thanks for help me review!

Sure thing.
> Update according to your suggestion. 
> Add some comments below.
> 
> >> 
> >> Manage physical cpus in dom0, get physical cpus info and provide sys
> >> interface. 
> > 
> > Anything that exposes SysFS attributes needs documentation in
> > Documentation/ABI
> 
> Yes, added.
> 
> > 
> > Can you explain what this solves? And if there are any
> > userland applications that use this?
> > 
> 
> It provide cpu online/offline interface to user. User can use it for their own purpose, like power saving - by offlining some cpus when light workload it save power greatly.

OK, please include that in the descritpion.

> 
> > 
> > 
> >> +	switch (buf[0]) {
> > 
> > Use strict_strtoull pls.
> 
> kernel suggest:
> WARNING: strict_strtoull is obsolete, use kstrtoull instead :)

Ah yes.
.. snip..
> > And then here dev->release = &pcpu_release;
> > 
> 
> Hmm, it's good if it's convenient to do it automatically via dev->release.
> However, dev container (pcpu) would be free at some other error cases, so I prefer do it 'manually'.

You could also call pcpu_release(..) to do it manually.

> 
> > 
> >> +	/* Not open pcpu0 online access to user */
> > 
> > Huh? You mean "Nobody can touch PCPU0" ?
> 
> Add comments:
>         /*
>          * Xen never offline cpu0 due to several restrictions
>          * and assumptions. This basically doesn't add a sys control
>          * to user, one cannot attempt to offline BSP.
>          */
> 
> > 
> > Why? Why can they touch the other ones? And better yet,
> > what happens if one boots without "dom0_max_vcpus=X"
> > and powers of some of the CPUs?
> > 
> 
> Only those at cpu present map has its sys interface.

OK, put that in the file so folks are aware of the limitations.

> 
> >> +static int __init xen_pcpu_init(void)
> >> +{
> >> +	int ret;
> >> +
> >> +	if (!xen_initial_domain())
> >> +		return -ENODEV;
> >> +
> >> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL); +	if (ret) {
> >> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
> >> +		return ret; +	}
> >> +
> >> +	INIT_LIST_HEAD(&xen_pcpus.list);
> >> +
> >> +	ret = xen_sync_pcpus();
> >> +	if (ret) {
> >> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n"); +		return ret;
> >> +	}
> >> +
> >> +	ret = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
> >> +				      xen_pcpu_interrupt, 0,
> >> +				      "pcpu", NULL);
> > 
> > "xen-pcpu"
> > 
> >> +	if (ret < 0) {
> >> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
> > 
> > Shouldn't you delete what 'xen_sync_pcpus' did?
> 
> yes, add error handling.
> 
> > Or is it OK to still work without the interrupts? What is the purpose
> > of that interrupt? How does it actually work - the hypervisor
> > decides when/where to turn off CPUs?
> > 
> 
> user online/offline cpu via sys interface --> xen implement --> inject virq back to dom0 --> sync cpu status.

Add that in the file so the workflow is explained.
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:04:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:04:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUv9-0008Uw-7A; Thu, 10 May 2012 15:04:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSUv7-0008UV-Ok
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:04:45 +0000
Received: from [85.158.143.99:12047] by server-2.bemta-4.messagelabs.com id
	C0/BC-17550-D09DBAF4; Thu, 10 May 2012 15:04:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336662284!22143658!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23442 invoked from network); 10 May 2012 15:04:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:04:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12410644"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:04:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:04:43 +0100
Message-ID: <1336662282.14220.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 16:04:42 +0100
In-Reply-To: <4FABD6EF.4020607@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
	<4FABD6EF.4020607@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:55 +0100, George Dunlap wrote:
> On 10/05/12 12:19, Ian Campbell wrote:
> > On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> >> Introduce libxl helper functions to prepare devices to be passed through to
> >> guests.  This is meant to replace of all the manual sysfs commands which
> >> are currently required.
> >>
> >> pci_assignable_add accepts a BDF for a device and will:
> >> * Unbind a device from its current driver, if any
> >> * If "rebind" is set, it will store the path of the driver from which we
> >>    unplugged it in /libxl/pciback/$BDF/driver_path
> > Since you don't know whether the user is going to pass -r to
> > assignable_remove why not always store this?
> The xl command does in fact do this (i.e., always passes '1' here).  I 
> considered just taking this option out, as you suggest,  but I thought 
> it might be useful for the libxl implementation to have more flexibility.

Oh, I see, I lost track of this being a libxl patch. That seems fine.

> >> * If necessary, create a slot for it in pciback
> > I must confess I'm a bit fuzzy on the relationship between slots and
> > bindings, where does the "if necessary" come into it?
> >
> > I was wondering while reading the patch if unconditionally adding a
> > removing the slot might simplify a bunch of stuff, but I suspect I just
> > don't appreciate some particular aspect of how pciback works...
> I have no idea what the "slot" thing is for.  What I've determined by 
> experimentation is:
> * Before "echo $BDF > .../pciback/bind" will work, $BDF must be listed 
> in pciback/slots
> * The way to get $BDF listed in pciback/slots is "echo $BDF > 
> pciback/new_slot"
> * The above command is not idempotent; if you do it twice, you'll get 
> two entries of $BDF in pciback/slots
> 
> I wasn't sure if having two slots would be a problem or not; so I did 
> the conservative thing, and check for the existence of $BDF in 
> pciback/slots first, only creating a new slot if there is not already an 
> existing slot.
> 
> So "if necessary" means, "if the device doesn't already have a slot".

OK, so it looks like the stuff to check all this is in fact necessary.

> 
> >> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
> >> +                           pcidev->domain,
> >> +                           pcidev->bus,
> >> +                           pcidev->dev,
> >> +                           pcidev->func);
> >> +    if ( !lstat(spath,&st) ) {
> >> +        /* Find the canonical path to the driver. */
> >> +        *dp = libxl__zalloc(gc, PATH_MAX);
> > Should we be actually using fpathconf / sysconf here?
> I don't really follow.  What exactly is it you're proposing?

PATH_MAX isn't really a constant these days, you can get the dynamic
value for a particular filesystem from fpathconf. I honestly don't know
how much of a concern this really is, especially given we are always
necessarily talking to sysfs.

> >> +    if ( (rc=pciback_dev_has_slot(gc, pcidev))<  0 ) {
> >> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> >> +                   "Error checking for pciback slot");
> > Log errno?
> >
> > Also pciback_dev_has_slot itself always logs on error, you probably
> > don't need both.
> This way you get a sort of callback path; but I could take it out if you 
> want.

I don't feel especially strongly, up to you (/knocks ball back over
net ;-) )

> >
> >> +            return ERROR_FAIL;
> >> +        }
> >> +    }
> >> +    return 0;
> >> +}
> >> +
> >> +/* FIXME */
> > Leftover?
> Yeah, noticed this just after I sent it. :-)

That's always the way...

> >> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
> >> +                                    int rebind)
> >> +{
> >> +    GC_INIT(ctx);
> >> +    int rc;
> >> +
> >> +    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
> >> +
> >> +    GC_FREE;
> >> +    return rc;
> >> +}
> > Are there internal callers of libxl__device_pci_assignable_add/remove?
> > If not then there's no reason to split into internal/external functions.
> > Doesn't matter much I guess.
> Not yet, but I don't think it hurts to have that flexibility.

Sure.

> Thanks for the detailed review.

No problem. BTW, rather than writing done/ack dozens of times I normally
assume agreement if someone just trims the whole section.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:04:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:04:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUv9-0008Uw-7A; Thu, 10 May 2012 15:04:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSUv7-0008UV-Ok
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:04:45 +0000
Received: from [85.158.143.99:12047] by server-2.bemta-4.messagelabs.com id
	C0/BC-17550-D09DBAF4; Thu, 10 May 2012 15:04:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336662284!22143658!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23442 invoked from network); 10 May 2012 15:04:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:04:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12410644"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:04:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:04:43 +0100
Message-ID: <1336662282.14220.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 16:04:42 +0100
In-Reply-To: <4FABD6EF.4020607@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
	<4FABD6EF.4020607@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:55 +0100, George Dunlap wrote:
> On 10/05/12 12:19, Ian Campbell wrote:
> > On Wed, 2012-05-09 at 11:28 +0100, George Dunlap wrote:
> >> Introduce libxl helper functions to prepare devices to be passed through to
> >> guests.  This is meant to replace of all the manual sysfs commands which
> >> are currently required.
> >>
> >> pci_assignable_add accepts a BDF for a device and will:
> >> * Unbind a device from its current driver, if any
> >> * If "rebind" is set, it will store the path of the driver from which we
> >>    unplugged it in /libxl/pciback/$BDF/driver_path
> > Since you don't know whether the user is going to pass -r to
> > assignable_remove why not always store this?
> The xl command does in fact do this (i.e., always passes '1' here).  I 
> considered just taking this option out, as you suggest,  but I thought 
> it might be useful for the libxl implementation to have more flexibility.

Oh, I see, I lost track of this being a libxl patch. That seems fine.

> >> * If necessary, create a slot for it in pciback
> > I must confess I'm a bit fuzzy on the relationship between slots and
> > bindings, where does the "if necessary" come into it?
> >
> > I was wondering while reading the patch if unconditionally adding a
> > removing the slot might simplify a bunch of stuff, but I suspect I just
> > don't appreciate some particular aspect of how pciback works...
> I have no idea what the "slot" thing is for.  What I've determined by 
> experimentation is:
> * Before "echo $BDF > .../pciback/bind" will work, $BDF must be listed 
> in pciback/slots
> * The way to get $BDF listed in pciback/slots is "echo $BDF > 
> pciback/new_slot"
> * The above command is not idempotent; if you do it twice, you'll get 
> two entries of $BDF in pciback/slots
> 
> I wasn't sure if having two slots would be a problem or not; so I did 
> the conservative thing, and check for the existence of $BDF in 
> pciback/slots first, only creating a new slot if there is not already an 
> existing slot.
> 
> So "if necessary" means, "if the device doesn't already have a slot".

OK, so it looks like the stuff to check all this is in fact necessary.

> 
> >> +    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
> >> +                           pcidev->domain,
> >> +                           pcidev->bus,
> >> +                           pcidev->dev,
> >> +                           pcidev->func);
> >> +    if ( !lstat(spath,&st) ) {
> >> +        /* Find the canonical path to the driver. */
> >> +        *dp = libxl__zalloc(gc, PATH_MAX);
> > Should we be actually using fpathconf / sysconf here?
> I don't really follow.  What exactly is it you're proposing?

PATH_MAX isn't really a constant these days, you can get the dynamic
value for a particular filesystem from fpathconf. I honestly don't know
how much of a concern this really is, especially given we are always
necessarily talking to sysfs.

> >> +    if ( (rc=pciback_dev_has_slot(gc, pcidev))<  0 ) {
> >> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> >> +                   "Error checking for pciback slot");
> > Log errno?
> >
> > Also pciback_dev_has_slot itself always logs on error, you probably
> > don't need both.
> This way you get a sort of callback path; but I could take it out if you 
> want.

I don't feel especially strongly, up to you (/knocks ball back over
net ;-) )

> >
> >> +            return ERROR_FAIL;
> >> +        }
> >> +    }
> >> +    return 0;
> >> +}
> >> +
> >> +/* FIXME */
> > Leftover?
> Yeah, noticed this just after I sent it. :-)

That's always the way...

> >> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
> >> +                                    int rebind)
> >> +{
> >> +    GC_INIT(ctx);
> >> +    int rc;
> >> +
> >> +    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
> >> +
> >> +    GC_FREE;
> >> +    return rc;
> >> +}
> > Are there internal callers of libxl__device_pci_assignable_add/remove?
> > If not then there's no reason to split into internal/external functions.
> > Doesn't matter much I guess.
> Not yet, but I don't think it hurts to have that flexibility.

Sure.

> Thanks for the detailed review.

No problem. BTW, rather than writing done/ack dozens of times I normally
assume agreement if someone just trims the whole section.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:05:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:05:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUw3-0000Bc-LY; Thu, 10 May 2012 15:05:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUw2-0000BR-9E
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:05:42 +0000
Received: from [85.158.143.99:31787] by server-3.bemta-4.messagelabs.com id
	89/F3-05853-549DBAF4; Thu, 10 May 2012 15:05:41 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336662338!26831018!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28905 invoked from network); 10 May 2012 15:05:40 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068386"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:37 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUvw-0007Os-I7; Thu, 10 May 2012 16:05:36 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvu-0000JW-Rl;
	Thu, 10 May 2012 16:05:34 +0100
MIME-Version: 1.0
X-Mercurial-Node: 4a99c5456e9d8aa707bbd57bb4f4af88e1d456ca
Message-ID: <4a99c5456e9d8aa707bb.1336661985@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:45 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 01 of 11] x86/mm: make p2m lock into an rwlock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID 4a99c5456e9d8aa707bbd57bb4f4af88e1d456ca
# Parent  8a86d841e6d42fbffc9e20d3028875dd4990882d
x86/mm: make p2m lock into an rwlock

Because the p2m lock was already recursive, we need to add a new
mm-lock class of recursive rwlocks.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/arch/x86/mm/mm-locks.h
--- a/xen/arch/x86/mm/mm-locks.h	Tue May 08 13:36:24 2012 +0200
+++ b/xen/arch/x86/mm/mm-locks.h	Thu May 10 15:54:16 2012 +0100
@@ -97,13 +97,71 @@ static inline void _mm_enforce_order_loc
     __set_lock_level(level);
 }
 
+
+static inline void mm_rwlock_init(mm_rwlock_t *l)
+{
+    rwlock_init(&l->lock);
+    l->locker = -1;
+    l->locker_function = "nobody";
+    l->unlock_level = 0;
+}
+
+static inline int mm_write_locked_by_me(mm_rwlock_t *l)
+{
+    return (l->locker == get_processor_id());
+}
+
+static inline void _mm_write_lock(mm_rwlock_t *l, const char *func, int level)
+{
+    if ( !mm_write_locked_by_me(l) )
+    {
+        __check_lock_level(level);
+        write_lock(&l->lock);
+        l->locker = get_processor_id();
+        l->locker_function = func;
+        l->unlock_level = __get_lock_level();
+        __set_lock_level(level);
+    }
+    l->recurse_count++;
+}
+
+static inline void mm_write_unlock(mm_rwlock_t *l)
+{
+    if ( --(l->recurse_count) != 0 )
+        return;
+    l->locker = -1;
+    l->locker_function = "nobody";
+    __set_lock_level(l->unlock_level);
+    write_unlock(&l->lock);
+}
+
+static inline void _mm_read_lock(mm_rwlock_t *l, int level)
+{
+    __check_lock_level(level);
+    read_lock(&l->lock);
+    /* There's nowhere to store the per-CPU unlock level so we can't
+     * set the lock level. */
+}
+
+static inline void mm_read_unlock(mm_rwlock_t *l)
+{
+    read_unlock(&l->lock);
+}
+
 /* This wrapper uses the line number to express the locking order below */
 #define declare_mm_lock(name)                                                 \
     static inline void mm_lock_##name(mm_lock_t *l, const char *func, int rec)\
     { _mm_lock(l, func, __LINE__, rec); }
+#define declare_mm_rwlock(name)                                               \
+    static inline void mm_write_lock_##name(mm_rwlock_t *l, const char *func) \
+    { _mm_write_lock(l, func, __LINE__); }                                    \
+    static inline void mm_read_lock_##name(mm_rwlock_t *l)                    \
+    { _mm_read_lock(l, __LINE__); }
 /* These capture the name of the calling function */
 #define mm_lock(name, l) mm_lock_##name(l, __func__, 0)
 #define mm_lock_recursive(name, l) mm_lock_##name(l, __func__, 1)
+#define mm_write_lock(name, l) mm_write_lock_##name(l, __func__)
+#define mm_read_lock(name, l) mm_read_lock_##name(l)
 
 /* This wrapper is intended for "external" locks which do not use
  * the mm_lock_t types. Such locks inside the mm code are also subject
@@ -152,27 +210,24 @@ declare_mm_lock(nestedp2m)
 #define nestedp2m_unlock(d) mm_unlock(&(d)->arch.nested_p2m_lock)
 
 /* P2M lock (per-p2m-table)
- * 
- * This protects all queries and updates to the p2m table. 
  *
- * A note about ordering:
- *   The order established here is enforced on all mutations of a p2m.
- *   For lookups, the order established here is enforced only for hap
- *   domains (1. shadow domains present a few nasty inversions; 
- *            2. shadow domains do not support paging and sharing, 
- *               the main sources of dynamic p2m mutations)
- * 
- * The lock is recursive as it is common for a code path to look up a gfn
- * and later mutate it.
+ * This protects all queries and updates to the p2m table.
+ * Queries may be made under the read lock but all modifications
+ * need the main (write) lock.
+ *
+ * The write lock is recursive as it is common for a code path to look
+ * up a gfn and later mutate it.
  */
 
-declare_mm_lock(p2m)
-#define p2m_lock(p)           mm_lock_recursive(p2m, &(p)->lock)
-#define gfn_lock(p,g,o)       mm_lock_recursive(p2m, &(p)->lock)
-#define p2m_unlock(p)         mm_unlock(&(p)->lock)
-#define gfn_unlock(p,g,o)     mm_unlock(&(p)->lock)
-#define p2m_locked_by_me(p)   mm_locked_by_me(&(p)->lock)
-#define gfn_locked_by_me(p,g) mm_locked_by_me(&(p)->lock)
+declare_mm_rwlock(p2m);
+#define p2m_lock(p)           mm_write_lock(p2m, &(p)->lock);
+#define p2m_unlock(p)         mm_write_unlock(&(p)->lock);
+#define gfn_lock(p,g,o)       p2m_lock(p)
+#define gfn_unlock(p,g,o)     p2m_unlock(p)
+#define p2m_read_lock(p)      mm_read_lock(p2m, &(p)->lock)
+#define p2m_read_unlock(p)    mm_read_unlock(&(p)->lock)
+#define p2m_locked_by_me(p)   mm_write_locked_by_me(&(p)->lock)
+#define gfn_locked_by_me(p,g) p2m_locked_by_me(p)
 
 /* Sharing per page lock
  *
diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c	Tue May 08 13:36:24 2012 +0200
+++ b/xen/arch/x86/mm/p2m.c	Thu May 10 15:54:16 2012 +0100
@@ -71,7 +71,7 @@ boolean_param("hap_2mb", opt_hap_2mb);
 /* Init the datastructures for later use by the p2m code */
 static void p2m_initialise(struct domain *d, struct p2m_domain *p2m)
 {
-    mm_lock_init(&p2m->lock);
+    mm_rwlock_init(&p2m->lock);
     mm_lock_init(&p2m->pod.lock);
     INIT_LIST_HEAD(&p2m->np2m_list);
     INIT_PAGE_LIST_HEAD(&p2m->pages);
diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/include/asm-x86/mm.h
--- a/xen/include/asm-x86/mm.h	Tue May 08 13:36:24 2012 +0200
+++ b/xen/include/asm-x86/mm.h	Thu May 10 15:54:16 2012 +0100
@@ -649,4 +649,12 @@ typedef struct mm_lock {
     const char        *locker_function; /* func that took it */
 } mm_lock_t;
 
+typedef struct mm_rwlock {
+    rwlock_t           lock;
+    int                unlock_level;
+    int                recurse_count;
+    int                locker; /* CPU that holds the write lock */
+    const char        *locker_function; /* func that took it */
+} mm_rwlock_t;
+
 #endif /* __ASM_X86_MM_H__ */
diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h	Tue May 08 13:36:24 2012 +0200
+++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -192,7 +192,7 @@ typedef unsigned int p2m_query_t;
 /* Per-p2m-table state */
 struct p2m_domain {
     /* Lock that protects updates to the p2m */
-    mm_lock_t          lock;
+    mm_rwlock_t           lock;
 
     /* Shadow translated domain: p2m mapping */
     pagetable_t        phys_table;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:05:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:05:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUw3-0000Bc-LY; Thu, 10 May 2012 15:05:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUw2-0000BR-9E
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:05:42 +0000
Received: from [85.158.143.99:31787] by server-3.bemta-4.messagelabs.com id
	89/F3-05853-549DBAF4; Thu, 10 May 2012 15:05:41 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336662338!26831018!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28905 invoked from network); 10 May 2012 15:05:40 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068386"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:37 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUvw-0007Os-I7; Thu, 10 May 2012 16:05:36 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvu-0000JW-Rl;
	Thu, 10 May 2012 16:05:34 +0100
MIME-Version: 1.0
X-Mercurial-Node: 4a99c5456e9d8aa707bbd57bb4f4af88e1d456ca
Message-ID: <4a99c5456e9d8aa707bb.1336661985@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:45 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 01 of 11] x86/mm: make p2m lock into an rwlock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID 4a99c5456e9d8aa707bbd57bb4f4af88e1d456ca
# Parent  8a86d841e6d42fbffc9e20d3028875dd4990882d
x86/mm: make p2m lock into an rwlock

Because the p2m lock was already recursive, we need to add a new
mm-lock class of recursive rwlocks.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/arch/x86/mm/mm-locks.h
--- a/xen/arch/x86/mm/mm-locks.h	Tue May 08 13:36:24 2012 +0200
+++ b/xen/arch/x86/mm/mm-locks.h	Thu May 10 15:54:16 2012 +0100
@@ -97,13 +97,71 @@ static inline void _mm_enforce_order_loc
     __set_lock_level(level);
 }
 
+
+static inline void mm_rwlock_init(mm_rwlock_t *l)
+{
+    rwlock_init(&l->lock);
+    l->locker = -1;
+    l->locker_function = "nobody";
+    l->unlock_level = 0;
+}
+
+static inline int mm_write_locked_by_me(mm_rwlock_t *l)
+{
+    return (l->locker == get_processor_id());
+}
+
+static inline void _mm_write_lock(mm_rwlock_t *l, const char *func, int level)
+{
+    if ( !mm_write_locked_by_me(l) )
+    {
+        __check_lock_level(level);
+        write_lock(&l->lock);
+        l->locker = get_processor_id();
+        l->locker_function = func;
+        l->unlock_level = __get_lock_level();
+        __set_lock_level(level);
+    }
+    l->recurse_count++;
+}
+
+static inline void mm_write_unlock(mm_rwlock_t *l)
+{
+    if ( --(l->recurse_count) != 0 )
+        return;
+    l->locker = -1;
+    l->locker_function = "nobody";
+    __set_lock_level(l->unlock_level);
+    write_unlock(&l->lock);
+}
+
+static inline void _mm_read_lock(mm_rwlock_t *l, int level)
+{
+    __check_lock_level(level);
+    read_lock(&l->lock);
+    /* There's nowhere to store the per-CPU unlock level so we can't
+     * set the lock level. */
+}
+
+static inline void mm_read_unlock(mm_rwlock_t *l)
+{
+    read_unlock(&l->lock);
+}
+
 /* This wrapper uses the line number to express the locking order below */
 #define declare_mm_lock(name)                                                 \
     static inline void mm_lock_##name(mm_lock_t *l, const char *func, int rec)\
     { _mm_lock(l, func, __LINE__, rec); }
+#define declare_mm_rwlock(name)                                               \
+    static inline void mm_write_lock_##name(mm_rwlock_t *l, const char *func) \
+    { _mm_write_lock(l, func, __LINE__); }                                    \
+    static inline void mm_read_lock_##name(mm_rwlock_t *l)                    \
+    { _mm_read_lock(l, __LINE__); }
 /* These capture the name of the calling function */
 #define mm_lock(name, l) mm_lock_##name(l, __func__, 0)
 #define mm_lock_recursive(name, l) mm_lock_##name(l, __func__, 1)
+#define mm_write_lock(name, l) mm_write_lock_##name(l, __func__)
+#define mm_read_lock(name, l) mm_read_lock_##name(l)
 
 /* This wrapper is intended for "external" locks which do not use
  * the mm_lock_t types. Such locks inside the mm code are also subject
@@ -152,27 +210,24 @@ declare_mm_lock(nestedp2m)
 #define nestedp2m_unlock(d) mm_unlock(&(d)->arch.nested_p2m_lock)
 
 /* P2M lock (per-p2m-table)
- * 
- * This protects all queries and updates to the p2m table. 
  *
- * A note about ordering:
- *   The order established here is enforced on all mutations of a p2m.
- *   For lookups, the order established here is enforced only for hap
- *   domains (1. shadow domains present a few nasty inversions; 
- *            2. shadow domains do not support paging and sharing, 
- *               the main sources of dynamic p2m mutations)
- * 
- * The lock is recursive as it is common for a code path to look up a gfn
- * and later mutate it.
+ * This protects all queries and updates to the p2m table.
+ * Queries may be made under the read lock but all modifications
+ * need the main (write) lock.
+ *
+ * The write lock is recursive as it is common for a code path to look
+ * up a gfn and later mutate it.
  */
 
-declare_mm_lock(p2m)
-#define p2m_lock(p)           mm_lock_recursive(p2m, &(p)->lock)
-#define gfn_lock(p,g,o)       mm_lock_recursive(p2m, &(p)->lock)
-#define p2m_unlock(p)         mm_unlock(&(p)->lock)
-#define gfn_unlock(p,g,o)     mm_unlock(&(p)->lock)
-#define p2m_locked_by_me(p)   mm_locked_by_me(&(p)->lock)
-#define gfn_locked_by_me(p,g) mm_locked_by_me(&(p)->lock)
+declare_mm_rwlock(p2m);
+#define p2m_lock(p)           mm_write_lock(p2m, &(p)->lock);
+#define p2m_unlock(p)         mm_write_unlock(&(p)->lock);
+#define gfn_lock(p,g,o)       p2m_lock(p)
+#define gfn_unlock(p,g,o)     p2m_unlock(p)
+#define p2m_read_lock(p)      mm_read_lock(p2m, &(p)->lock)
+#define p2m_read_unlock(p)    mm_read_unlock(&(p)->lock)
+#define p2m_locked_by_me(p)   mm_write_locked_by_me(&(p)->lock)
+#define gfn_locked_by_me(p,g) p2m_locked_by_me(p)
 
 /* Sharing per page lock
  *
diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c	Tue May 08 13:36:24 2012 +0200
+++ b/xen/arch/x86/mm/p2m.c	Thu May 10 15:54:16 2012 +0100
@@ -71,7 +71,7 @@ boolean_param("hap_2mb", opt_hap_2mb);
 /* Init the datastructures for later use by the p2m code */
 static void p2m_initialise(struct domain *d, struct p2m_domain *p2m)
 {
-    mm_lock_init(&p2m->lock);
+    mm_rwlock_init(&p2m->lock);
     mm_lock_init(&p2m->pod.lock);
     INIT_LIST_HEAD(&p2m->np2m_list);
     INIT_PAGE_LIST_HEAD(&p2m->pages);
diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/include/asm-x86/mm.h
--- a/xen/include/asm-x86/mm.h	Tue May 08 13:36:24 2012 +0200
+++ b/xen/include/asm-x86/mm.h	Thu May 10 15:54:16 2012 +0100
@@ -649,4 +649,12 @@ typedef struct mm_lock {
     const char        *locker_function; /* func that took it */
 } mm_lock_t;
 
+typedef struct mm_rwlock {
+    rwlock_t           lock;
+    int                unlock_level;
+    int                recurse_count;
+    int                locker; /* CPU that holds the write lock */
+    const char        *locker_function; /* func that took it */
+} mm_rwlock_t;
+
 #endif /* __ASM_X86_MM_H__ */
diff -r 8a86d841e6d4 -r 4a99c5456e9d xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h	Tue May 08 13:36:24 2012 +0200
+++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -192,7 +192,7 @@ typedef unsigned int p2m_query_t;
 /* Per-p2m-table state */
 struct p2m_domain {
     /* Lock that protects updates to the p2m */
-    mm_lock_t          lock;
+    mm_rwlock_t           lock;
 
     /* Shadow translated domain: p2m mapping */
     pagetable_t        phys_table;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwM-0000Fb-L8; Thu, 10 May 2012 15:06:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwL-0000F5-S7
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:02 +0000
Received: from [193.109.254.147:25602] by server-4.bemta-14.messagelabs.com id
	20/2D-11570-959DBAF4; Thu, 10 May 2012 15:06:01 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336662356!8429487!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1652 invoked from network); 10 May 2012 15:05:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068397"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:56 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwG-0007Pq-Ez; Thu, 10 May 2012 16:05:56 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwG-0000KF-5C;
	Thu, 10 May 2012 16:05:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 65768e16352c6bb0e11bb6c661da5137e99ecceb
Message-ID: <65768e16352c6bb0e11b.1336661994@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:54 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 10 of 11] x86/hvm/svm: used unlocked p2m lookups
 in trace and error paths
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Andres Lagar-Cavilla <andres@lagarcavilla.org>
# Date 1336661656 -3600
# Node ID 65768e16352c6bb0e11bb6c661da5137e99ecceb
# Parent  d514c4cfcd2b18baafa3aa61cb4cc4971cdbeecc
x86/hvm/svm: used unlocked p2m lookups in trace and error paths.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r d514c4cfcd2b -r 65768e16352c xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
@@ -1321,8 +1321,7 @@ static void svm_do_nested_pgfault(struct
         p2m = p2m_get_p2m(v);
         _d.gpa = gpa;
         _d.qualification = 0;
-        mfn = get_gfn_type_access(p2m, gfn, &_d.p2mt, &p2ma, 0, NULL);
-        __put_gfn(p2m, gfn);
+        mfn = __get_gfn_type_access(p2m, gfn, &_d.p2mt, &p2ma, 0, NULL, 0);
         _d.mfn = mfn_x(mfn);
         
         __trace_var(TRC_HVM_NPF, 0, sizeof(_d), &_d);
@@ -1343,8 +1342,7 @@ static void svm_do_nested_pgfault(struct
     if ( p2m == NULL )
         p2m = p2m_get_p2m(v);
     /* Everything else is an error. */
-    mfn = get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL);
-    __put_gfn(p2m, gfn);
+    mfn = __get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL, 0);
     gdprintk(XENLOG_ERR,
          "SVM violation gpa %#"PRIpaddr", mfn %#lx, type %i\n",
          gpa, mfn_x(mfn), p2mt);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwM-0000Fb-L8; Thu, 10 May 2012 15:06:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwL-0000F5-S7
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:02 +0000
Received: from [193.109.254.147:25602] by server-4.bemta-14.messagelabs.com id
	20/2D-11570-959DBAF4; Thu, 10 May 2012 15:06:01 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336662356!8429487!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1652 invoked from network); 10 May 2012 15:05:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068397"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:56 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwG-0007Pq-Ez; Thu, 10 May 2012 16:05:56 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwG-0000KF-5C;
	Thu, 10 May 2012 16:05:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 65768e16352c6bb0e11bb6c661da5137e99ecceb
Message-ID: <65768e16352c6bb0e11b.1336661994@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:54 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 10 of 11] x86/hvm/svm: used unlocked p2m lookups
 in trace and error paths
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Andres Lagar-Cavilla <andres@lagarcavilla.org>
# Date 1336661656 -3600
# Node ID 65768e16352c6bb0e11bb6c661da5137e99ecceb
# Parent  d514c4cfcd2b18baafa3aa61cb4cc4971cdbeecc
x86/hvm/svm: used unlocked p2m lookups in trace and error paths.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r d514c4cfcd2b -r 65768e16352c xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
@@ -1321,8 +1321,7 @@ static void svm_do_nested_pgfault(struct
         p2m = p2m_get_p2m(v);
         _d.gpa = gpa;
         _d.qualification = 0;
-        mfn = get_gfn_type_access(p2m, gfn, &_d.p2mt, &p2ma, 0, NULL);
-        __put_gfn(p2m, gfn);
+        mfn = __get_gfn_type_access(p2m, gfn, &_d.p2mt, &p2ma, 0, NULL, 0);
         _d.mfn = mfn_x(mfn);
         
         __trace_var(TRC_HVM_NPF, 0, sizeof(_d), &_d);
@@ -1343,8 +1342,7 @@ static void svm_do_nested_pgfault(struct
     if ( p2m == NULL )
         p2m = p2m_get_p2m(v);
     /* Everything else is an error. */
-    mfn = get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL);
-    __put_gfn(p2m, gfn);
+    mfn = __get_gfn_type_access(p2m, gfn, &p2mt, &p2ma, 0, NULL, 0);
     gdprintk(XENLOG_ERR,
          "SVM violation gpa %#"PRIpaddr", mfn %#lx, type %i\n",
          gpa, mfn_x(mfn), p2mt);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwM-0000FM-7O; Thu, 10 May 2012 15:06:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwL-0000Ew-2I
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:01 +0000
Received: from [193.109.254.147:25546] by server-10.bemta-14.messagelabs.com
	id D2/04-05847-859DBAF4; Thu, 10 May 2012 15:06:00 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336662356!8429487!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1623 invoked from network); 10 May 2012 15:05:57 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068396"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:53 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwC-0007Pe-Qi; Thu, 10 May 2012 16:05:52 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUw9-0000Jy-9t;
	Thu, 10 May 2012 16:05:49 +0100
MIME-Version: 1.0
X-Mercurial-Node: d19b3ba026fd844d21a250f768f70a1543d6bbd7
Message-ID: <d19b3ba026fd844d21a2.1336661990@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:50 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 06 of 11] x86: Use get_page_from_gfn() instead
 of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d19b3ba026fd844d21a250f768f70a1543d6bbd7
# Parent  c68f83ff7bf403637ade5a6002a7749226602c05
x86: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/domain.c	Thu May 10 15:54:16 2012 +0100
@@ -716,7 +716,7 @@ int arch_set_info_guest(
 {
     struct domain *d = v->domain;
     unsigned long cr3_gfn;
-    unsigned long cr3_pfn = INVALID_MFN;
+    struct page_info *cr3_page;
     unsigned long flags, cr4;
     unsigned int i;
     int rc = 0, compat;
@@ -925,46 +925,45 @@ int arch_set_info_guest(
     if ( !compat )
     {
         cr3_gfn = xen_cr3_to_pfn(c.nat->ctrlreg[3]);
-        cr3_pfn = get_gfn_untyped(d, cr3_gfn);
+        cr3_page = get_page_from_gfn(d, cr3_gfn, NULL, P2M_ALLOC);
 
-        if ( !mfn_valid(cr3_pfn) ||
-             (paging_mode_refcounts(d)
-              ? !get_page(mfn_to_page(cr3_pfn), d)
-              : !get_page_and_type(mfn_to_page(cr3_pfn), d,
-                                   PGT_base_page_table)) )
+        if ( !cr3_page )
         {
-            put_gfn(d, cr3_gfn);
+            destroy_gdt(v);
+            return -EINVAL;
+        }
+        if ( !paging_mode_refcounts(d)
+             && !get_page_type(cr3_page, PGT_base_page_table) )
+        {
+            put_page(cr3_page);
             destroy_gdt(v);
             return -EINVAL;
         }
 
-        v->arch.guest_table = pagetable_from_pfn(cr3_pfn);
-        put_gfn(d, cr3_gfn);
+        v->arch.guest_table = pagetable_from_page(cr3_page);
 #ifdef __x86_64__
         if ( c.nat->ctrlreg[1] )
         {
             cr3_gfn = xen_cr3_to_pfn(c.nat->ctrlreg[1]);
-            cr3_pfn = get_gfn_untyped(d, cr3_gfn);
+            cr3_page = get_page_from_gfn(d, cr3_gfn, NULL, P2M_ALLOC);
 
-            if ( !mfn_valid(cr3_pfn) ||
-                 (paging_mode_refcounts(d)
-                  ? !get_page(mfn_to_page(cr3_pfn), d)
-                  : !get_page_and_type(mfn_to_page(cr3_pfn), d,
-                                       PGT_base_page_table)) )
+            if ( !cr3_page ||
+                 (!paging_mode_refcounts(d)
+                  && !get_page_type(cr3_page, PGT_base_page_table)) )
             {
-                cr3_pfn = pagetable_get_pfn(v->arch.guest_table);
+                if (cr3_page)
+                    put_page(cr3_page);
+                cr3_page = pagetable_get_page(v->arch.guest_table);
                 v->arch.guest_table = pagetable_null();
                 if ( paging_mode_refcounts(d) )
-                    put_page(mfn_to_page(cr3_pfn));
+                    put_page(cr3_page);
                 else
-                    put_page_and_type(mfn_to_page(cr3_pfn));
-                put_gfn(d, cr3_gfn); 
+                    put_page_and_type(cr3_page);
                 destroy_gdt(v);
                 return -EINVAL;
             }
 
-            v->arch.guest_table_user = pagetable_from_pfn(cr3_pfn);
-            put_gfn(d, cr3_gfn); 
+            v->arch.guest_table_user = pagetable_from_page(cr3_page);
         }
         else if ( !(flags & VGCF_in_kernel) )
         {
@@ -977,23 +976,25 @@ int arch_set_info_guest(
         l4_pgentry_t *l4tab;
 
         cr3_gfn = compat_cr3_to_pfn(c.cmp->ctrlreg[3]);
-        cr3_pfn = get_gfn_untyped(d, cr3_gfn);
+        cr3_page = get_page_from_gfn(d, cr3_gfn, NULL, P2M_ALLOC);
 
-        if ( !mfn_valid(cr3_pfn) ||
-             (paging_mode_refcounts(d)
-              ? !get_page(mfn_to_page(cr3_pfn), d)
-              : !get_page_and_type(mfn_to_page(cr3_pfn), d,
-                                   PGT_l3_page_table)) )
+        if ( !cr3_page)
         {
-            put_gfn(d, cr3_gfn); 
+            destroy_gdt(v);
+            return -EINVAL;
+        }
+
+        if (!paging_mode_refcounts(d)
+            && !get_page_type(cr3_page, PGT_l3_page_table) )
+        {
+            put_page(cr3_page);
             destroy_gdt(v);
             return -EINVAL;
         }
 
         l4tab = __va(pagetable_get_paddr(v->arch.guest_table));
-        *l4tab = l4e_from_pfn(
-            cr3_pfn, _PAGE_PRESENT|_PAGE_RW|_PAGE_USER|_PAGE_ACCESSED);
-        put_gfn(d, cr3_gfn); 
+        *l4tab = l4e_from_pfn(page_to_mfn(cr3_page),
+            _PAGE_PRESENT|_PAGE_RW|_PAGE_USER|_PAGE_ACCESSED);
 #endif
     }
 
@@ -1064,7 +1065,7 @@ map_vcpu_info(struct vcpu *v, unsigned l
     struct domain *d = v->domain;
     void *mapping;
     vcpu_info_t *new_info;
-    unsigned long mfn;
+    struct page_info *page;
     int i;
 
     if ( offset > (PAGE_SIZE - sizeof(vcpu_info_t)) )
@@ -1077,19 +1078,20 @@ map_vcpu_info(struct vcpu *v, unsigned l
     if ( (v != current) && !test_bit(_VPF_down, &v->pause_flags) )
         return -EINVAL;
 
-    mfn = get_gfn_untyped(d, gfn);
-    if ( !mfn_valid(mfn) ||
-         !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+    page = get_page_from_gfn(d, gfn, NULL, P2M_ALLOC);
+    if ( !page )
+        return -EINVAL;
+
+    if ( !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gfn); 
+        put_page(page);
         return -EINVAL;
     }
 
-    mapping = map_domain_page_global(mfn);
+    mapping = __map_domain_page_global(page);
     if ( mapping == NULL )
     {
-        put_page_and_type(mfn_to_page(mfn));
-        put_gfn(d, gfn); 
+        put_page_and_type(page);
         return -ENOMEM;
     }
 
@@ -1106,7 +1108,7 @@ map_vcpu_info(struct vcpu *v, unsigned l
     }
 
     v->vcpu_info = new_info;
-    v->arch.pv_vcpu.vcpu_info_mfn = mfn;
+    v->arch.pv_vcpu.vcpu_info_mfn = page_to_mfn(page);
 
     /* Set new vcpu_info pointer /before/ setting pending flags. */
     wmb();
@@ -1119,7 +1121,6 @@ map_vcpu_info(struct vcpu *v, unsigned l
     for ( i = 0; i < BITS_PER_EVTCHN_WORD(d); i++ )
         set_bit(i, &vcpu_info(v, evtchn_pending_sel));
 
-    put_gfn(d, gfn); 
     return 0;
 }
 
diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/domctl.c
--- a/xen/arch/x86/domctl.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/domctl.c	Thu May 10 15:54:16 2012 +0100
@@ -202,16 +202,16 @@ long arch_do_domctl(
 
                 for ( j = 0; j < k; j++ )
                 {
-                    unsigned long type = 0, mfn = get_gfn_untyped(d, arr[j]);
+                    unsigned long type = 0;
 
-                    page = mfn_to_page(mfn);
+                    page = get_page_from_gfn(d, arr[j], NULL, P2M_ALLOC);
 
-                    if ( unlikely(!mfn_valid(mfn)) ||
-                         unlikely(is_xen_heap_mfn(mfn)) )
+                    if ( unlikely(!page) ||
+                         unlikely(is_xen_heap_page(page)) )
                         type = XEN_DOMCTL_PFINFO_XTAB;
                     else if ( xsm_getpageframeinfo(page) != 0 )
                         ;
-                    else if ( likely(get_page(page, d)) )
+                    else
                     {
                         switch( page->u.inuse.type_info & PGT_type_mask )
                         {
@@ -231,13 +231,10 @@ long arch_do_domctl(
 
                         if ( page->u.inuse.type_info & PGT_pinned )
                             type |= XEN_DOMCTL_PFINFO_LPINTAB;
+                    }
 
+                    if ( page )
                         put_page(page);
-                    }
-                    else
-                        type = XEN_DOMCTL_PFINFO_XTAB;
-
-                    put_gfn(d, arr[j]);
                     arr[j] = type;
                 }
 
@@ -304,21 +301,21 @@ long arch_do_domctl(
             {      
                 struct page_info *page;
                 unsigned long gfn = arr32[j];
-                unsigned long mfn = get_gfn_untyped(d, gfn);
 
-                page = mfn_to_page(mfn);
+                page = get_page_from_gfn(d, gfn, NULL, P2M_ALLOC);
 
                 if ( domctl->cmd == XEN_DOMCTL_getpageframeinfo3)
                     arr32[j] = 0;
 
-                if ( unlikely(!mfn_valid(mfn)) ||
-                     unlikely(is_xen_heap_mfn(mfn)) )
+                if ( unlikely(!page) ||
+                     unlikely(is_xen_heap_page(page)) )
                     arr32[j] |= XEN_DOMCTL_PFINFO_XTAB;
                 else if ( xsm_getpageframeinfo(page) != 0 )
                 {
-                    put_gfn(d, gfn); 
+                    put_page(page);
                     continue;
-                } else if ( likely(get_page(page, d)) )
+                }
+                else
                 {
                     unsigned long type = 0;
 
@@ -341,12 +338,10 @@ long arch_do_domctl(
                     if ( page->u.inuse.type_info & PGT_pinned )
                         type |= XEN_DOMCTL_PFINFO_LPINTAB;
                     arr32[j] |= type;
+                }
+
+                if ( page )
                     put_page(page);
-                }
-                else
-                    arr32[j] |= XEN_DOMCTL_PFINFO_XTAB;
-
-                put_gfn(d, gfn); 
             }
 
             if ( copy_to_guest_offset(domctl->u.getpageframeinfo2.array,
@@ -419,7 +414,7 @@ long arch_do_domctl(
     {
         struct domain *d = rcu_lock_domain_by_id(domctl->domain);
         unsigned long gmfn = domctl->u.hypercall_init.gmfn;
-        unsigned long mfn;
+        struct page_info *page;
         void *hypercall_page;
 
         ret = -ESRCH;
@@ -433,26 +428,25 @@ long arch_do_domctl(
             break;
         }
 
-        mfn = get_gfn_untyped(d, gmfn);
+        page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
 
         ret = -EACCES;
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+        if ( !page || !get_page_type(page, PGT_writable_page) )
         {
-            put_gfn(d, gmfn); 
+            if ( page )
+                put_page(page);
             rcu_unlock_domain(d);
             break;
         }
 
         ret = 0;
 
-        hypercall_page = map_domain_page(mfn);
+        hypercall_page = __map_domain_page(page);
         hypercall_page_initialise(d, hypercall_page);
         unmap_domain_page(hypercall_page);
 
-        put_page_and_type(mfn_to_page(mfn));
+        put_page_and_type(page);
 
-        put_gfn(d, gmfn); 
         rcu_unlock_domain(d);
     }
     break;
diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/physdev.c
--- a/xen/arch/x86/physdev.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/physdev.c	Thu May 10 15:54:16 2012 +0100
@@ -306,26 +306,27 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
     case PHYSDEVOP_pirq_eoi_gmfn_v1: {
         struct physdev_pirq_eoi_gmfn info;
         unsigned long mfn;
+        struct page_info *page;
 
         ret = -EFAULT;
         if ( copy_from_guest(&info, arg, 1) != 0 )
             break;
 
         ret = -EINVAL;
-        mfn = get_gfn_untyped(current->domain, info.gmfn);
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), v->domain,
-                                PGT_writable_page) )
+        page = get_page_from_gfn(current->domain, info.gmfn, NULL, P2M_ALLOC);
+        if ( !page )
+            break;
+        if ( !get_page_type(page, PGT_writable_page) )
         {
-            put_gfn(current->domain, info.gmfn);
+            put_page(page);
             break;
         }
+        mfn = page_to_mfn(page);
 
         if ( cmpxchg(&v->domain->arch.pv_domain.pirq_eoi_map_mfn,
                      0, mfn) != 0 )
         {
             put_page_and_type(mfn_to_page(mfn));
-            put_gfn(current->domain, info.gmfn);
             ret = -EBUSY;
             break;
         }
@@ -335,14 +336,12 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
         {
             v->domain->arch.pv_domain.pirq_eoi_map_mfn = 0;
             put_page_and_type(mfn_to_page(mfn));
-            put_gfn(current->domain, info.gmfn);
             ret = -ENOSPC;
             break;
         }
         if ( cmd == PHYSDEVOP_pirq_eoi_gmfn_v1 )
             v->domain->arch.pv_domain.auto_unmask = 1;
 
-        put_gfn(current->domain, info.gmfn);
         ret = 0;
         break;
     }
diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/traps.c	Thu May 10 15:54:16 2012 +0100
@@ -662,9 +662,9 @@ int wrmsr_hypervisor_regs(uint32_t idx, 
     case 0:
     {
         void *hypercall_page;
-        unsigned long mfn;
         unsigned long gmfn = val >> 12;
         unsigned int idx  = val & 0xfff;
+        struct page_info *page;
 
         if ( idx > 0 )
         {
@@ -674,24 +674,23 @@ int wrmsr_hypervisor_regs(uint32_t idx, 
             return 0;
         }
 
-        mfn = get_gfn_untyped(d, gmfn);
-
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+        page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+
+        if ( !page || !get_page_type(page, PGT_writable_page) )
         {
-            put_gfn(d, gmfn);
+            if ( page )
+                put_page(page);
             gdprintk(XENLOG_WARNING,
                      "Bad GMFN %lx (MFN %lx) to MSR %08x\n",
-                     gmfn, mfn, base + idx);
+                     gmfn, page_to_mfn(page), base + idx);
             return 0;
         }
 
-        hypercall_page = map_domain_page(mfn);
+        hypercall_page = __map_domain_page(page);
         hypercall_page_initialise(d, hypercall_page);
         unmap_domain_page(hypercall_page);
 
-        put_page_and_type(mfn_to_page(mfn));
-        put_gfn(d, gmfn);
+        put_page_and_type(page);
         break;
     }
 
@@ -2374,7 +2373,8 @@ static int emulate_privileged_op(struct 
             break;
 
         case 3: {/* Write CR3 */
-            unsigned long mfn, gfn;
+            unsigned long gfn;
+            struct page_info *page;
             domain_lock(v->domain);
             if ( !is_pv_32on64_vcpu(v) )
             {
@@ -2384,9 +2384,10 @@ static int emulate_privileged_op(struct 
                 gfn = compat_cr3_to_pfn(*reg);
 #endif
             }
-            mfn = get_gfn_untyped(v->domain, gfn);
-            rc = new_guest_cr3(mfn);
-            put_gfn(v->domain, gfn);
+            page = get_page_from_gfn(v->domain, gfn, NULL, P2M_ALLOC);
+            rc = page ? new_guest_cr3(page_to_mfn(page)) : 0;
+            if ( page )
+                put_page(page);
             domain_unlock(v->domain);
             if ( rc == 0 ) /* not okay */
                 goto fail;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwM-0000FM-7O; Thu, 10 May 2012 15:06:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwL-0000Ew-2I
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:01 +0000
Received: from [193.109.254.147:25546] by server-10.bemta-14.messagelabs.com
	id D2/04-05847-859DBAF4; Thu, 10 May 2012 15:06:00 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336662356!8429487!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1623 invoked from network); 10 May 2012 15:05:57 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068396"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:53 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwC-0007Pe-Qi; Thu, 10 May 2012 16:05:52 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUw9-0000Jy-9t;
	Thu, 10 May 2012 16:05:49 +0100
MIME-Version: 1.0
X-Mercurial-Node: d19b3ba026fd844d21a250f768f70a1543d6bbd7
Message-ID: <d19b3ba026fd844d21a2.1336661990@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:50 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 06 of 11] x86: Use get_page_from_gfn() instead
 of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d19b3ba026fd844d21a250f768f70a1543d6bbd7
# Parent  c68f83ff7bf403637ade5a6002a7749226602c05
x86: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/domain.c	Thu May 10 15:54:16 2012 +0100
@@ -716,7 +716,7 @@ int arch_set_info_guest(
 {
     struct domain *d = v->domain;
     unsigned long cr3_gfn;
-    unsigned long cr3_pfn = INVALID_MFN;
+    struct page_info *cr3_page;
     unsigned long flags, cr4;
     unsigned int i;
     int rc = 0, compat;
@@ -925,46 +925,45 @@ int arch_set_info_guest(
     if ( !compat )
     {
         cr3_gfn = xen_cr3_to_pfn(c.nat->ctrlreg[3]);
-        cr3_pfn = get_gfn_untyped(d, cr3_gfn);
+        cr3_page = get_page_from_gfn(d, cr3_gfn, NULL, P2M_ALLOC);
 
-        if ( !mfn_valid(cr3_pfn) ||
-             (paging_mode_refcounts(d)
-              ? !get_page(mfn_to_page(cr3_pfn), d)
-              : !get_page_and_type(mfn_to_page(cr3_pfn), d,
-                                   PGT_base_page_table)) )
+        if ( !cr3_page )
         {
-            put_gfn(d, cr3_gfn);
+            destroy_gdt(v);
+            return -EINVAL;
+        }
+        if ( !paging_mode_refcounts(d)
+             && !get_page_type(cr3_page, PGT_base_page_table) )
+        {
+            put_page(cr3_page);
             destroy_gdt(v);
             return -EINVAL;
         }
 
-        v->arch.guest_table = pagetable_from_pfn(cr3_pfn);
-        put_gfn(d, cr3_gfn);
+        v->arch.guest_table = pagetable_from_page(cr3_page);
 #ifdef __x86_64__
         if ( c.nat->ctrlreg[1] )
         {
             cr3_gfn = xen_cr3_to_pfn(c.nat->ctrlreg[1]);
-            cr3_pfn = get_gfn_untyped(d, cr3_gfn);
+            cr3_page = get_page_from_gfn(d, cr3_gfn, NULL, P2M_ALLOC);
 
-            if ( !mfn_valid(cr3_pfn) ||
-                 (paging_mode_refcounts(d)
-                  ? !get_page(mfn_to_page(cr3_pfn), d)
-                  : !get_page_and_type(mfn_to_page(cr3_pfn), d,
-                                       PGT_base_page_table)) )
+            if ( !cr3_page ||
+                 (!paging_mode_refcounts(d)
+                  && !get_page_type(cr3_page, PGT_base_page_table)) )
             {
-                cr3_pfn = pagetable_get_pfn(v->arch.guest_table);
+                if (cr3_page)
+                    put_page(cr3_page);
+                cr3_page = pagetable_get_page(v->arch.guest_table);
                 v->arch.guest_table = pagetable_null();
                 if ( paging_mode_refcounts(d) )
-                    put_page(mfn_to_page(cr3_pfn));
+                    put_page(cr3_page);
                 else
-                    put_page_and_type(mfn_to_page(cr3_pfn));
-                put_gfn(d, cr3_gfn); 
+                    put_page_and_type(cr3_page);
                 destroy_gdt(v);
                 return -EINVAL;
             }
 
-            v->arch.guest_table_user = pagetable_from_pfn(cr3_pfn);
-            put_gfn(d, cr3_gfn); 
+            v->arch.guest_table_user = pagetable_from_page(cr3_page);
         }
         else if ( !(flags & VGCF_in_kernel) )
         {
@@ -977,23 +976,25 @@ int arch_set_info_guest(
         l4_pgentry_t *l4tab;
 
         cr3_gfn = compat_cr3_to_pfn(c.cmp->ctrlreg[3]);
-        cr3_pfn = get_gfn_untyped(d, cr3_gfn);
+        cr3_page = get_page_from_gfn(d, cr3_gfn, NULL, P2M_ALLOC);
 
-        if ( !mfn_valid(cr3_pfn) ||
-             (paging_mode_refcounts(d)
-              ? !get_page(mfn_to_page(cr3_pfn), d)
-              : !get_page_and_type(mfn_to_page(cr3_pfn), d,
-                                   PGT_l3_page_table)) )
+        if ( !cr3_page)
         {
-            put_gfn(d, cr3_gfn); 
+            destroy_gdt(v);
+            return -EINVAL;
+        }
+
+        if (!paging_mode_refcounts(d)
+            && !get_page_type(cr3_page, PGT_l3_page_table) )
+        {
+            put_page(cr3_page);
             destroy_gdt(v);
             return -EINVAL;
         }
 
         l4tab = __va(pagetable_get_paddr(v->arch.guest_table));
-        *l4tab = l4e_from_pfn(
-            cr3_pfn, _PAGE_PRESENT|_PAGE_RW|_PAGE_USER|_PAGE_ACCESSED);
-        put_gfn(d, cr3_gfn); 
+        *l4tab = l4e_from_pfn(page_to_mfn(cr3_page),
+            _PAGE_PRESENT|_PAGE_RW|_PAGE_USER|_PAGE_ACCESSED);
 #endif
     }
 
@@ -1064,7 +1065,7 @@ map_vcpu_info(struct vcpu *v, unsigned l
     struct domain *d = v->domain;
     void *mapping;
     vcpu_info_t *new_info;
-    unsigned long mfn;
+    struct page_info *page;
     int i;
 
     if ( offset > (PAGE_SIZE - sizeof(vcpu_info_t)) )
@@ -1077,19 +1078,20 @@ map_vcpu_info(struct vcpu *v, unsigned l
     if ( (v != current) && !test_bit(_VPF_down, &v->pause_flags) )
         return -EINVAL;
 
-    mfn = get_gfn_untyped(d, gfn);
-    if ( !mfn_valid(mfn) ||
-         !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+    page = get_page_from_gfn(d, gfn, NULL, P2M_ALLOC);
+    if ( !page )
+        return -EINVAL;
+
+    if ( !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gfn); 
+        put_page(page);
         return -EINVAL;
     }
 
-    mapping = map_domain_page_global(mfn);
+    mapping = __map_domain_page_global(page);
     if ( mapping == NULL )
     {
-        put_page_and_type(mfn_to_page(mfn));
-        put_gfn(d, gfn); 
+        put_page_and_type(page);
         return -ENOMEM;
     }
 
@@ -1106,7 +1108,7 @@ map_vcpu_info(struct vcpu *v, unsigned l
     }
 
     v->vcpu_info = new_info;
-    v->arch.pv_vcpu.vcpu_info_mfn = mfn;
+    v->arch.pv_vcpu.vcpu_info_mfn = page_to_mfn(page);
 
     /* Set new vcpu_info pointer /before/ setting pending flags. */
     wmb();
@@ -1119,7 +1121,6 @@ map_vcpu_info(struct vcpu *v, unsigned l
     for ( i = 0; i < BITS_PER_EVTCHN_WORD(d); i++ )
         set_bit(i, &vcpu_info(v, evtchn_pending_sel));
 
-    put_gfn(d, gfn); 
     return 0;
 }
 
diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/domctl.c
--- a/xen/arch/x86/domctl.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/domctl.c	Thu May 10 15:54:16 2012 +0100
@@ -202,16 +202,16 @@ long arch_do_domctl(
 
                 for ( j = 0; j < k; j++ )
                 {
-                    unsigned long type = 0, mfn = get_gfn_untyped(d, arr[j]);
+                    unsigned long type = 0;
 
-                    page = mfn_to_page(mfn);
+                    page = get_page_from_gfn(d, arr[j], NULL, P2M_ALLOC);
 
-                    if ( unlikely(!mfn_valid(mfn)) ||
-                         unlikely(is_xen_heap_mfn(mfn)) )
+                    if ( unlikely(!page) ||
+                         unlikely(is_xen_heap_page(page)) )
                         type = XEN_DOMCTL_PFINFO_XTAB;
                     else if ( xsm_getpageframeinfo(page) != 0 )
                         ;
-                    else if ( likely(get_page(page, d)) )
+                    else
                     {
                         switch( page->u.inuse.type_info & PGT_type_mask )
                         {
@@ -231,13 +231,10 @@ long arch_do_domctl(
 
                         if ( page->u.inuse.type_info & PGT_pinned )
                             type |= XEN_DOMCTL_PFINFO_LPINTAB;
+                    }
 
+                    if ( page )
                         put_page(page);
-                    }
-                    else
-                        type = XEN_DOMCTL_PFINFO_XTAB;
-
-                    put_gfn(d, arr[j]);
                     arr[j] = type;
                 }
 
@@ -304,21 +301,21 @@ long arch_do_domctl(
             {      
                 struct page_info *page;
                 unsigned long gfn = arr32[j];
-                unsigned long mfn = get_gfn_untyped(d, gfn);
 
-                page = mfn_to_page(mfn);
+                page = get_page_from_gfn(d, gfn, NULL, P2M_ALLOC);
 
                 if ( domctl->cmd == XEN_DOMCTL_getpageframeinfo3)
                     arr32[j] = 0;
 
-                if ( unlikely(!mfn_valid(mfn)) ||
-                     unlikely(is_xen_heap_mfn(mfn)) )
+                if ( unlikely(!page) ||
+                     unlikely(is_xen_heap_page(page)) )
                     arr32[j] |= XEN_DOMCTL_PFINFO_XTAB;
                 else if ( xsm_getpageframeinfo(page) != 0 )
                 {
-                    put_gfn(d, gfn); 
+                    put_page(page);
                     continue;
-                } else if ( likely(get_page(page, d)) )
+                }
+                else
                 {
                     unsigned long type = 0;
 
@@ -341,12 +338,10 @@ long arch_do_domctl(
                     if ( page->u.inuse.type_info & PGT_pinned )
                         type |= XEN_DOMCTL_PFINFO_LPINTAB;
                     arr32[j] |= type;
+                }
+
+                if ( page )
                     put_page(page);
-                }
-                else
-                    arr32[j] |= XEN_DOMCTL_PFINFO_XTAB;
-
-                put_gfn(d, gfn); 
             }
 
             if ( copy_to_guest_offset(domctl->u.getpageframeinfo2.array,
@@ -419,7 +414,7 @@ long arch_do_domctl(
     {
         struct domain *d = rcu_lock_domain_by_id(domctl->domain);
         unsigned long gmfn = domctl->u.hypercall_init.gmfn;
-        unsigned long mfn;
+        struct page_info *page;
         void *hypercall_page;
 
         ret = -ESRCH;
@@ -433,26 +428,25 @@ long arch_do_domctl(
             break;
         }
 
-        mfn = get_gfn_untyped(d, gmfn);
+        page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
 
         ret = -EACCES;
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+        if ( !page || !get_page_type(page, PGT_writable_page) )
         {
-            put_gfn(d, gmfn); 
+            if ( page )
+                put_page(page);
             rcu_unlock_domain(d);
             break;
         }
 
         ret = 0;
 
-        hypercall_page = map_domain_page(mfn);
+        hypercall_page = __map_domain_page(page);
         hypercall_page_initialise(d, hypercall_page);
         unmap_domain_page(hypercall_page);
 
-        put_page_and_type(mfn_to_page(mfn));
+        put_page_and_type(page);
 
-        put_gfn(d, gmfn); 
         rcu_unlock_domain(d);
     }
     break;
diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/physdev.c
--- a/xen/arch/x86/physdev.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/physdev.c	Thu May 10 15:54:16 2012 +0100
@@ -306,26 +306,27 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
     case PHYSDEVOP_pirq_eoi_gmfn_v1: {
         struct physdev_pirq_eoi_gmfn info;
         unsigned long mfn;
+        struct page_info *page;
 
         ret = -EFAULT;
         if ( copy_from_guest(&info, arg, 1) != 0 )
             break;
 
         ret = -EINVAL;
-        mfn = get_gfn_untyped(current->domain, info.gmfn);
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), v->domain,
-                                PGT_writable_page) )
+        page = get_page_from_gfn(current->domain, info.gmfn, NULL, P2M_ALLOC);
+        if ( !page )
+            break;
+        if ( !get_page_type(page, PGT_writable_page) )
         {
-            put_gfn(current->domain, info.gmfn);
+            put_page(page);
             break;
         }
+        mfn = page_to_mfn(page);
 
         if ( cmpxchg(&v->domain->arch.pv_domain.pirq_eoi_map_mfn,
                      0, mfn) != 0 )
         {
             put_page_and_type(mfn_to_page(mfn));
-            put_gfn(current->domain, info.gmfn);
             ret = -EBUSY;
             break;
         }
@@ -335,14 +336,12 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
         {
             v->domain->arch.pv_domain.pirq_eoi_map_mfn = 0;
             put_page_and_type(mfn_to_page(mfn));
-            put_gfn(current->domain, info.gmfn);
             ret = -ENOSPC;
             break;
         }
         if ( cmd == PHYSDEVOP_pirq_eoi_gmfn_v1 )
             v->domain->arch.pv_domain.auto_unmask = 1;
 
-        put_gfn(current->domain, info.gmfn);
         ret = 0;
         break;
     }
diff -r c68f83ff7bf4 -r d19b3ba026fd xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/traps.c	Thu May 10 15:54:16 2012 +0100
@@ -662,9 +662,9 @@ int wrmsr_hypervisor_regs(uint32_t idx, 
     case 0:
     {
         void *hypercall_page;
-        unsigned long mfn;
         unsigned long gmfn = val >> 12;
         unsigned int idx  = val & 0xfff;
+        struct page_info *page;
 
         if ( idx > 0 )
         {
@@ -674,24 +674,23 @@ int wrmsr_hypervisor_regs(uint32_t idx, 
             return 0;
         }
 
-        mfn = get_gfn_untyped(d, gmfn);
-
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+        page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+
+        if ( !page || !get_page_type(page, PGT_writable_page) )
         {
-            put_gfn(d, gmfn);
+            if ( page )
+                put_page(page);
             gdprintk(XENLOG_WARNING,
                      "Bad GMFN %lx (MFN %lx) to MSR %08x\n",
-                     gmfn, mfn, base + idx);
+                     gmfn, page_to_mfn(page), base + idx);
             return 0;
         }
 
-        hypercall_page = map_domain_page(mfn);
+        hypercall_page = __map_domain_page(page);
         hypercall_page_initialise(d, hypercall_page);
         unmap_domain_page(hypercall_page);
 
-        put_page_and_type(mfn_to_page(mfn));
-        put_gfn(d, gmfn);
+        put_page_and_type(page);
         break;
     }
 
@@ -2374,7 +2373,8 @@ static int emulate_privileged_op(struct 
             break;
 
         case 3: {/* Write CR3 */
-            unsigned long mfn, gfn;
+            unsigned long gfn;
+            struct page_info *page;
             domain_lock(v->domain);
             if ( !is_pv_32on64_vcpu(v) )
             {
@@ -2384,9 +2384,10 @@ static int emulate_privileged_op(struct 
                 gfn = compat_cr3_to_pfn(*reg);
 #endif
             }
-            mfn = get_gfn_untyped(v->domain, gfn);
-            rc = new_guest_cr3(mfn);
-            put_gfn(v->domain, gfn);
+            page = get_page_from_gfn(v->domain, gfn, NULL, P2M_ALLOC);
+            rc = page ? new_guest_cr3(page_to_mfn(page)) : 0;
+            if ( page )
+                put_page(page);
             domain_unlock(v->domain);
             if ( rc == 0 ) /* not okay */
                 goto fail;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwS-0000HL-Gi; Thu, 10 May 2012 15:06:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwQ-0000GO-2L
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:06 +0000
Received: from [193.109.254.147:2829] by server-11.bemta-14.messagelabs.com id
	CF/26-05858-D59DBAF4; Thu, 10 May 2012 15:06:05 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336662354!8614845!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16991 invoked from network); 10 May 2012 15:05:55 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068395"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:48 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUw7-0007P4-FJ; Thu, 10 May 2012 16:05:47 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUw2-0000Jo-FL;
	Thu, 10 May 2012 16:05:42 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9da426cdc7e478e426bcbd5391b8deacdc85db1e
Message-ID: <9da426cdc7e478e426bc.1336661988@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:48 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 04 of 11] x86/hvm: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID 9da426cdc7e478e426bcbd5391b8deacdc85db1e
# Parent  d774bb5c6326d1a7e88a3bfadc546d154a2ad895
x86/hvm: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/emulate.c
--- a/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
@@ -60,34 +60,25 @@ static int hvmemul_do_io(
     ioreq_t *p = get_ioreq(curr);
     unsigned long ram_gfn = paddr_to_pfn(ram_gpa);
     p2m_type_t p2mt;
-    mfn_t ram_mfn;
+    struct page_info *ram_page;
     int rc;
 
     /* Check for paged out page */
-    ram_mfn = get_gfn_unshare(curr->domain, ram_gfn, &p2mt);
+    ram_page = get_page_from_gfn(curr->domain, ram_gfn, &p2mt, P2M_UNSHARE);
     if ( p2m_is_paging(p2mt) )
     {
-        put_gfn(curr->domain, ram_gfn); 
+        if ( ram_page )
+            put_page(ram_page);
         p2m_mem_paging_populate(curr->domain, ram_gfn);
         return X86EMUL_RETRY;
     }
     if ( p2m_is_shared(p2mt) )
     {
-        put_gfn(curr->domain, ram_gfn); 
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_RETRY;
     }
 
-    /* Maintain a ref on the mfn to ensure liveness. Put the gfn
-     * to avoid potential deadlock wrt event channel lock, later. */
-    if ( mfn_valid(mfn_x(ram_mfn)) )
-        if ( !get_page(mfn_to_page(mfn_x(ram_mfn)),
-             curr->domain) )
-        {
-            put_gfn(curr->domain, ram_gfn);
-            return X86EMUL_RETRY;
-        }
-    put_gfn(curr->domain, ram_gfn);
-
     /*
      * Weird-sized accesses have undefined behaviour: we discard writes
      * and read all-ones.
@@ -98,8 +89,8 @@ static int hvmemul_do_io(
         ASSERT(p_data != NULL); /* cannot happen with a REP prefix */
         if ( dir == IOREQ_READ )
             memset(p_data, ~0, size);
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_UNHANDLEABLE;
     }
 
@@ -120,8 +111,8 @@ static int hvmemul_do_io(
             unsigned int bytes = vio->mmio_large_write_bytes;
             if ( (addr >= pa) && ((addr + size) <= (pa + bytes)) )
             {
-                if ( mfn_valid(mfn_x(ram_mfn)) )
-                    put_page(mfn_to_page(mfn_x(ram_mfn)));
+                if ( ram_page )
+                    put_page(ram_page);
                 return X86EMUL_OKAY;
             }
         }
@@ -133,8 +124,8 @@ static int hvmemul_do_io(
             {
                 memcpy(p_data, &vio->mmio_large_read[addr - pa],
                        size);
-                if ( mfn_valid(mfn_x(ram_mfn)) )
-                    put_page(mfn_to_page(mfn_x(ram_mfn)));
+                if ( ram_page )
+                    put_page(ram_page);
                 return X86EMUL_OKAY;
             }
         }
@@ -148,8 +139,8 @@ static int hvmemul_do_io(
         vio->io_state = HVMIO_none;
         if ( p_data == NULL )
         {
-            if ( mfn_valid(mfn_x(ram_mfn)) )
-                put_page(mfn_to_page(mfn_x(ram_mfn)));
+            if ( ram_page )
+                put_page(ram_page);
             return X86EMUL_UNHANDLEABLE;
         }
         goto finish_access;
@@ -159,13 +150,13 @@ static int hvmemul_do_io(
              (addr == (vio->mmio_large_write_pa +
                        vio->mmio_large_write_bytes)) )
         {
-            if ( mfn_valid(mfn_x(ram_mfn)) )
-                put_page(mfn_to_page(mfn_x(ram_mfn)));
+            if ( ram_page )
+                put_page(ram_page);
             return X86EMUL_RETRY;
         }
     default:
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_UNHANDLEABLE;
     }
 
@@ -173,8 +164,8 @@ static int hvmemul_do_io(
     {
         gdprintk(XENLOG_WARNING, "WARNING: io already pending (%d)?\n",
                  p->state);
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_UNHANDLEABLE;
     }
 
@@ -226,8 +217,8 @@ static int hvmemul_do_io(
 
     if ( rc != X86EMUL_OKAY )
     {
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return rc;
     }
 
@@ -263,8 +254,8 @@ static int hvmemul_do_io(
         }
     }
 
-    if ( mfn_valid(mfn_x(ram_mfn)) )
-        put_page(mfn_to_page(mfn_x(ram_mfn)));
+    if ( ram_page )
+        put_page(ram_page);
     return X86EMUL_OKAY;
 }
 
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/hvm.c	Thu May 10 15:54:16 2012 +0100
@@ -395,48 +395,41 @@ int prepare_ring_for_helper(
 {
     struct page_info *page;
     p2m_type_t p2mt;
-    unsigned long mfn;
     void *va;
 
-    mfn = mfn_x(get_gfn_unshare(d, gmfn, &p2mt));
-    if ( !p2m_is_ram(p2mt) )
-    {
-        put_gfn(d, gmfn);
-        return -EINVAL;
-    }
+    page = get_page_from_gfn(d, gmfn, &p2mt, P2M_UNSHARE);
     if ( p2m_is_paging(p2mt) )
     {
-        put_gfn(d, gmfn);
+        if ( page )
+            put_page(page);
         p2m_mem_paging_populate(d, gmfn);
         return -ENOENT;
     }
     if ( p2m_is_shared(p2mt) )
     {
-        put_gfn(d, gmfn);
+        if ( page )
+            put_page(page);
         return -ENOENT;
     }
-    ASSERT(mfn_valid(mfn));
-
-    page = mfn_to_page(mfn);
-    if ( !get_page_and_type(page, d, PGT_writable_page) )
+    if ( !page )
+        return -EINVAL;
+
+    if ( !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gmfn);
+        put_page(page);
         return -EINVAL;
     }
 
-    va = map_domain_page_global(mfn);
+    va = __map_domain_page_global(page);
     if ( va == NULL )
     {
         put_page_and_type(page);
-        put_gfn(d, gmfn);
         return -ENOMEM;
     }
 
     *_va = va;
     *_page = page;
 
-    put_gfn(d, gmfn);
-
     return 0;
 }
 
@@ -1607,8 +1600,8 @@ int hvm_mov_from_cr(unsigned int cr, uns
 int hvm_set_cr0(unsigned long value)
 {
     struct vcpu *v = current;
-    p2m_type_t p2mt;
-    unsigned long gfn, mfn, old_value = v->arch.hvm_vcpu.guest_cr[0];
+    unsigned long gfn, old_value = v->arch.hvm_vcpu.guest_cr[0];
+    struct page_info *page;
 
     HVM_DBG_LOG(DBG_LEVEL_VMMU, "Update CR0 value = %lx", value);
 
@@ -1647,23 +1640,20 @@ int hvm_set_cr0(unsigned long value)
         {
             /* The guest CR3 must be pointing to the guest physical. */
             gfn = v->arch.hvm_vcpu.guest_cr[3]>>PAGE_SHIFT;
-            mfn = mfn_x(get_gfn(v->domain, gfn, &p2mt));
-            if ( !p2m_is_ram(p2mt) || !mfn_valid(mfn) ||
-                 !get_page(mfn_to_page(mfn), v->domain))
+            page = get_page_from_gfn(v->domain, gfn, NULL, P2M_ALLOC);
+            if ( !page )
             {
-                put_gfn(v->domain, gfn);
-                gdprintk(XENLOG_ERR, "Invalid CR3 value = %lx (mfn=%lx)\n",
-                         v->arch.hvm_vcpu.guest_cr[3], mfn);
+                gdprintk(XENLOG_ERR, "Invalid CR3 value = %lx\n",
+                         v->arch.hvm_vcpu.guest_cr[3]);
                 domain_crash(v->domain);
                 return X86EMUL_UNHANDLEABLE;
             }
 
             /* Now arch.guest_table points to machine physical. */
-            v->arch.guest_table = pagetable_from_pfn(mfn);
+            v->arch.guest_table = pagetable_from_page(page);
 
             HVM_DBG_LOG(DBG_LEVEL_VMMU, "Update CR3 value = %lx, mfn = %lx",
-                        v->arch.hvm_vcpu.guest_cr[3], mfn);
-            put_gfn(v->domain, gfn);
+                        v->arch.hvm_vcpu.guest_cr[3], page_to_mfn(page));
         }
     }
     else if ( !(value & X86_CR0_PG) && (old_value & X86_CR0_PG) )
@@ -1738,26 +1728,21 @@ int hvm_set_cr0(unsigned long value)
 
 int hvm_set_cr3(unsigned long value)
 {
-    unsigned long mfn;
-    p2m_type_t p2mt;
     struct vcpu *v = current;
+    struct page_info *page;
 
     if ( hvm_paging_enabled(v) && !paging_mode_hap(v->domain) &&
          (value != v->arch.hvm_vcpu.guest_cr[3]) )
     {
         /* Shadow-mode CR3 change. Check PDBR and update refcounts. */
         HVM_DBG_LOG(DBG_LEVEL_VMMU, "CR3 value = %lx", value);
-        mfn = mfn_x(get_gfn(v->domain, value >> PAGE_SHIFT, &p2mt));
-        if ( !p2m_is_ram(p2mt) || !mfn_valid(mfn) ||
-             !get_page(mfn_to_page(mfn), v->domain) )
-        {
-              put_gfn(v->domain, value >> PAGE_SHIFT);
-              goto bad_cr3;
-        }
+        page = get_page_from_gfn(v->domain, value >> PAGE_SHIFT,
+                                 NULL, P2M_ALLOC);
+        if ( !page )
+            goto bad_cr3;
 
         put_page(pagetable_get_page(v->arch.guest_table));
-        v->arch.guest_table = pagetable_from_pfn(mfn);
-        put_gfn(v->domain, value >> PAGE_SHIFT);
+        v->arch.guest_table = pagetable_from_page(page);
 
         HVM_DBG_LOG(DBG_LEVEL_VMMU, "Update CR3 value = %lx", value);
     }
@@ -1914,46 +1899,29 @@ int hvm_virtual_to_linear_addr(
 static void *__hvm_map_guest_frame(unsigned long gfn, bool_t writable)
 {
     void *map;
-    unsigned long mfn;
     p2m_type_t p2mt;
-    struct page_info *pg;
+    struct page_info *page;
     struct domain *d = current->domain;
-    int rc;
-
-    mfn = mfn_x(writable
-                ? get_gfn_unshare(d, gfn, &p2mt)
-                : get_gfn(d, gfn, &p2mt));
-    if ( (p2m_is_shared(p2mt) && writable) || !p2m_is_ram(p2mt) )
+
+    page = get_page_from_gfn(d, gfn, &p2mt,
+                             writable ? P2M_UNSHARE : P2M_ALLOC);
+    if ( (p2m_is_shared(p2mt) && writable) || !page )
     {
-        put_gfn(d, gfn);
+        if ( page )
+            put_page(page);
         return NULL;
     }
     if ( p2m_is_paging(p2mt) )
     {
-        put_gfn(d, gfn);
+        put_page(page);
         p2m_mem_paging_populate(d, gfn);
         return NULL;
     }
 
-    ASSERT(mfn_valid(mfn));
-
     if ( writable )
-        paging_mark_dirty(d, mfn);
-
-    /* Get a ref on the page, considering that it could be shared */
-    pg = mfn_to_page(mfn);
-    rc = get_page(pg, d);
-    if ( !rc && !writable )
-        /* Page could be shared */
-        rc = get_page(pg, dom_cow);
-    if ( !rc )
-    {
-        put_gfn(d, gfn);
-        return NULL;
-    }
-
-    map = map_domain_page(mfn);
-    put_gfn(d, gfn);
+        paging_mark_dirty(d, page_to_mfn(page));
+
+    map = __map_domain_page(page);
     return map;
 }
 
@@ -2358,7 +2326,8 @@ static enum hvm_copy_result __hvm_copy(
     void *buf, paddr_t addr, int size, unsigned int flags, uint32_t pfec)
 {
     struct vcpu *curr = current;
-    unsigned long gfn, mfn;
+    unsigned long gfn;
+    struct page_info *page;
     p2m_type_t p2mt;
     char *p;
     int count, todo = size;
@@ -2402,32 +2371,33 @@ static enum hvm_copy_result __hvm_copy(
             gfn = addr >> PAGE_SHIFT;
         }
 
-        mfn = mfn_x(get_gfn_unshare(curr->domain, gfn, &p2mt));
+        page = get_page_from_gfn(curr->domain, gfn, &p2mt, P2M_UNSHARE);
 
         if ( p2m_is_paging(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             p2m_mem_paging_populate(curr->domain, gfn);
             return HVMCOPY_gfn_paged_out;
         }
         if ( p2m_is_shared(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_gfn_shared;
         }
         if ( p2m_is_grant(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_unhandleable;
         }
-        if ( !p2m_is_ram(p2mt) )
+        if ( !page )
         {
-            put_gfn(curr->domain, gfn);
             return HVMCOPY_bad_gfn_to_mfn;
         }
-        ASSERT(mfn_valid(mfn));
-
-        p = (char *)map_domain_page(mfn) + (addr & ~PAGE_MASK);
+
+        p = (char *)__map_domain_page(page) + (addr & ~PAGE_MASK);
 
         if ( flags & HVMCOPY_to_guest )
         {
@@ -2437,12 +2407,12 @@ static enum hvm_copy_result __hvm_copy(
                 if ( xchg(&lastpage, gfn) != gfn )
                     gdprintk(XENLOG_DEBUG, "guest attempted write to read-only"
                              " memory page. gfn=%#lx, mfn=%#lx\n",
-                             gfn, mfn);
+                             gfn, page_to_mfn(page));
             }
             else
             {
                 memcpy(p, buf, count);
-                paging_mark_dirty(curr->domain, mfn);
+                paging_mark_dirty(curr->domain, page_to_mfn(page));
             }
         }
         else
@@ -2455,7 +2425,7 @@ static enum hvm_copy_result __hvm_copy(
         addr += count;
         buf  += count;
         todo -= count;
-        put_gfn(curr->domain, gfn);
+        put_page(page);
     }
 
     return HVMCOPY_okay;
@@ -2464,7 +2434,8 @@ static enum hvm_copy_result __hvm_copy(
 static enum hvm_copy_result __hvm_clear(paddr_t addr, int size)
 {
     struct vcpu *curr = current;
-    unsigned long gfn, mfn;
+    unsigned long gfn;
+    struct page_info *page;
     p2m_type_t p2mt;
     char *p;
     int count, todo = size;
@@ -2500,32 +2471,35 @@ static enum hvm_copy_result __hvm_clear(
             return HVMCOPY_bad_gva_to_gfn;
         }
 
-        mfn = mfn_x(get_gfn_unshare(curr->domain, gfn, &p2mt));
+        page = get_page_from_gfn(curr->domain, gfn, &p2mt, P2M_UNSHARE);
 
         if ( p2m_is_paging(p2mt) )
         {
+            if ( page )
+                put_page(page);
             p2m_mem_paging_populate(curr->domain, gfn);
-            put_gfn(curr->domain, gfn);
             return HVMCOPY_gfn_paged_out;
         }
         if ( p2m_is_shared(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_gfn_shared;
         }
         if ( p2m_is_grant(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_unhandleable;
         }
-        if ( !p2m_is_ram(p2mt) )
+        if ( !page )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_bad_gfn_to_mfn;
         }
-        ASSERT(mfn_valid(mfn));
-
-        p = (char *)map_domain_page(mfn) + (addr & ~PAGE_MASK);
+
+        p = (char *)__map_domain_page(page) + (addr & ~PAGE_MASK);
 
         if ( p2mt == p2m_ram_ro )
         {
@@ -2533,19 +2507,19 @@ static enum hvm_copy_result __hvm_clear(
             if ( xchg(&lastpage, gfn) != gfn )
                 gdprintk(XENLOG_DEBUG, "guest attempted write to read-only"
                         " memory page. gfn=%#lx, mfn=%#lx\n",
-                        gfn, mfn);
+                         gfn, page_to_mfn(page));
         }
         else
         {
             memset(p, 0x00, count);
-            paging_mark_dirty(curr->domain, mfn);
+            paging_mark_dirty(curr->domain, page_to_mfn(page));
         }
 
         unmap_domain_page(p);
 
         addr += count;
         todo -= count;
-        put_gfn(curr->domain, gfn);
+        put_page(page);
     }
 
     return HVMCOPY_okay;
@@ -4000,35 +3974,16 @@ long do_hvm_op(unsigned long op, XEN_GUE
 
         for ( pfn = a.first_pfn; pfn < a.first_pfn + a.nr; pfn++ )
         {
-            p2m_type_t t;
-            mfn_t mfn = get_gfn_unshare(d, pfn, &t);
-            if ( p2m_is_paging(t) )
+            struct page_info *page;
+            page = get_page_from_gfn(d, pfn, NULL, P2M_UNSHARE);
+            if ( page )
             {
-                put_gfn(d, pfn);
-                p2m_mem_paging_populate(d, pfn);
-                rc = -EINVAL;
-                goto param_fail3;
-            }
-            if( p2m_is_shared(t) )
-            {
-                /* If it insists on not unsharing itself, crash the domain 
-                 * rather than crashing the host down in mark dirty */
-                gdprintk(XENLOG_WARNING,
-                         "shared pfn 0x%lx modified?\n", pfn);
-                domain_crash(d);
-                put_gfn(d, pfn);
-                rc = -EINVAL;
-                goto param_fail3;
-            }
-            
-            if ( mfn_x(mfn) != INVALID_MFN )
-            {
-                paging_mark_dirty(d, mfn_x(mfn));
+                paging_mark_dirty(d, page_to_mfn(page));
                 /* These are most probably not page tables any more */
                 /* don't take a long time and don't die either */
-                sh_remove_shadows(d->vcpu[0], mfn, 1, 0);
+                sh_remove_shadows(d->vcpu[0], _mfn(page_to_mfn(page)), 1, 0);
+                put_page(page);
             }
-            put_gfn(d, pfn);
         }
 
     param_fail3:
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/stdvga.c
--- a/xen/arch/x86/hvm/stdvga.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/stdvga.c	Thu May 10 15:54:16 2012 +0100
@@ -482,7 +482,8 @@ static int mmio_move(struct hvm_hw_stdvg
                 if ( hvm_copy_to_guest_phys(data, &tmp, p->size) !=
                      HVMCOPY_okay )
                 {
-                    (void)get_gfn(d, data >> PAGE_SHIFT, &p2mt);
+                    struct page_info *dp = get_page_from_gfn(
+                            d, data >> PAGE_SHIFT, &p2mt, P2M_ALLOC);
                     /*
                      * The only case we handle is vga_mem <-> vga_mem.
                      * Anything else disables caching and leaves it to qemu-dm.
@@ -490,11 +491,12 @@ static int mmio_move(struct hvm_hw_stdvg
                     if ( (p2mt != p2m_mmio_dm) || (data < VGA_MEM_BASE) ||
                          ((data + p->size) > (VGA_MEM_BASE + VGA_MEM_SIZE)) )
                     {
-                        put_gfn(d, data >> PAGE_SHIFT);
+                        if ( dp )
+                            put_page(dp);
                         return 0;
                     }
+                    ASSERT(!dp);
                     stdvga_mem_write(data, tmp, p->size);
-                    put_gfn(d, data >> PAGE_SHIFT);
                 }
                 data += sign * p->size;
                 addr += sign * p->size;
@@ -508,15 +510,16 @@ static int mmio_move(struct hvm_hw_stdvg
                 if ( hvm_copy_from_guest_phys(&tmp, data, p->size) !=
                      HVMCOPY_okay )
                 {
-                    (void)get_gfn(d, data >> PAGE_SHIFT, &p2mt);
+                    struct page_info *dp = get_page_from_gfn(
+                        d, data >> PAGE_SHIFT, &p2mt, P2M_ALLOC);
                     if ( (p2mt != p2m_mmio_dm) || (data < VGA_MEM_BASE) ||
                          ((data + p->size) > (VGA_MEM_BASE + VGA_MEM_SIZE)) )
                     {
-                        put_gfn(d, data >> PAGE_SHIFT);
+                        if ( dp )
+                            put_page(dp);
                         return 0;
                     }
                     tmp = stdvga_mem_read(data, p->size);
-                    put_gfn(d, data >> PAGE_SHIFT);
                 }
                 stdvga_mem_write(addr, tmp, p->size);
                 data += sign * p->size;
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
@@ -232,8 +232,7 @@ static int svm_vmcb_save(struct vcpu *v,
 
 static int svm_vmcb_restore(struct vcpu *v, struct hvm_hw_cpu *c)
 {
-    unsigned long mfn = 0;
-    p2m_type_t p2mt;
+    struct page_info *page = NULL;
     struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb;
     struct p2m_domain *p2m = p2m_get_hostp2m(v->domain);
 
@@ -250,10 +249,10 @@ static int svm_vmcb_restore(struct vcpu 
     {
         if ( c->cr0 & X86_CR0_PG )
         {
-            mfn = mfn_x(get_gfn(v->domain, c->cr3 >> PAGE_SHIFT, &p2mt));
-            if ( !p2m_is_ram(p2mt) || !get_page(mfn_to_page(mfn), v->domain) )
+            page = get_page_from_gfn(v->domain, c->cr3 >> PAGE_SHIFT,
+                                     NULL, P2M_ALLOC);
+            if ( !page )
             {
-                put_gfn(v->domain, c->cr3 >> PAGE_SHIFT);
                 gdprintk(XENLOG_ERR, "Invalid CR3 value=0x%"PRIx64"\n",
                          c->cr3);
                 return -EINVAL;
@@ -263,9 +262,8 @@ static int svm_vmcb_restore(struct vcpu 
         if ( v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_PG )
             put_page(pagetable_get_page(v->arch.guest_table));
 
-        v->arch.guest_table = pagetable_from_pfn(mfn);
-        if ( c->cr0 & X86_CR0_PG )
-            put_gfn(v->domain, c->cr3 >> PAGE_SHIFT);
+        v->arch.guest_table =
+            page ? pagetable_from_page(page) : pagetable_null();
     }
 
     v->arch.hvm_vcpu.guest_cr[0] = c->cr0 | X86_CR0_ET;
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/viridian.c
--- a/xen/arch/x86/hvm/viridian.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/viridian.c	Thu May 10 15:54:16 2012 +0100
@@ -134,18 +134,19 @@ void dump_apic_assist(struct vcpu *v)
 static void enable_hypercall_page(struct domain *d)
 {
     unsigned long gmfn = d->arch.hvm_domain.viridian.hypercall_gpa.fields.pfn;
-    unsigned long mfn = get_gfn_untyped(d, gmfn);
+    struct page_info *page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
     uint8_t *p;
 
-    if ( !mfn_valid(mfn) ||
-         !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+    if ( !page || !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gmfn); 
-        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn, mfn);
+        if ( page )
+            put_page(page);
+        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn,
+                 page_to_mfn(page));
         return;
     }
 
-    p = map_domain_page(mfn);
+    p = __map_domain_page(page);
 
     /*
      * We set the bit 31 in %eax (reserved field in the Viridian hypercall
@@ -162,15 +163,14 @@ static void enable_hypercall_page(struct
 
     unmap_domain_page(p);
 
-    put_page_and_type(mfn_to_page(mfn));
-    put_gfn(d, gmfn); 
+    put_page_and_type(page);
 }
 
 void initialize_apic_assist(struct vcpu *v)
 {
     struct domain *d = v->domain;
     unsigned long gmfn = v->arch.hvm_vcpu.viridian.apic_assist.fields.pfn;
-    unsigned long mfn = get_gfn_untyped(d, gmfn);
+    struct page_info *page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
     uint8_t *p;
 
     /*
@@ -183,22 +183,22 @@ void initialize_apic_assist(struct vcpu 
      * details of how Windows uses the page.
      */
 
-    if ( !mfn_valid(mfn) ||
-         !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+    if ( !page || !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gmfn); 
-        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn, mfn);
+        if ( page )
+            put_page(page);
+        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn,
+                 page_to_mfn(page));
         return;
     }
 
-    p = map_domain_page(mfn);
+    p = __map_domain_page(page);
 
     *(u32 *)p = 0;
 
     unmap_domain_page(p);
 
-    put_page_and_type(mfn_to_page(mfn));
-    put_gfn(d, gmfn); 
+    put_page_and_type(page);
 }
 
 int wrmsr_viridian_regs(uint32_t idx, uint64_t val)
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Thu May 10 15:54:16 2012 +0100
@@ -480,17 +480,16 @@ static void vmx_vmcs_save(struct vcpu *v
 static int vmx_restore_cr0_cr3(
     struct vcpu *v, unsigned long cr0, unsigned long cr3)
 {
-    unsigned long mfn = 0;
-    p2m_type_t p2mt;
+    struct page_info *page = NULL;
 
     if ( paging_mode_shadow(v->domain) )
     {
         if ( cr0 & X86_CR0_PG )
         {
-            mfn = mfn_x(get_gfn(v->domain, cr3 >> PAGE_SHIFT, &p2mt));
-            if ( !p2m_is_ram(p2mt) || !get_page(mfn_to_page(mfn), v->domain) )
+            page = get_page_from_gfn(v->domain, cr3 >> PAGE_SHIFT,
+                                     NULL, P2M_ALLOC);
+            if ( !page )
             {
-                put_gfn(v->domain, cr3 >> PAGE_SHIFT);
                 gdprintk(XENLOG_ERR, "Invalid CR3 value=0x%lx\n", cr3);
                 return -EINVAL;
             }
@@ -499,9 +498,8 @@ static int vmx_restore_cr0_cr3(
         if ( hvm_paging_enabled(v) )
             put_page(pagetable_get_page(v->arch.guest_table));
 
-        v->arch.guest_table = pagetable_from_pfn(mfn);
-        if ( cr0 & X86_CR0_PG )
-            put_gfn(v->domain, cr3 >> PAGE_SHIFT);
+        v->arch.guest_table =
+            page ? pagetable_from_page(page) : pagetable_null();
     }
 
     v->arch.hvm_vcpu.guest_cr[0] = cr0 | X86_CR0_ET;
@@ -1035,8 +1033,9 @@ static void vmx_set_interrupt_shadow(str
 
 static void vmx_load_pdptrs(struct vcpu *v)
 {
-    unsigned long cr3 = v->arch.hvm_vcpu.guest_cr[3], mfn;
+    unsigned long cr3 = v->arch.hvm_vcpu.guest_cr[3];
     uint64_t *guest_pdptrs;
+    struct page_info *page;
     p2m_type_t p2mt;
     char *p;
 
@@ -1047,24 +1046,19 @@ static void vmx_load_pdptrs(struct vcpu 
     if ( (cr3 & 0x1fUL) && !hvm_pcid_enabled(v) )
         goto crash;
 
-    mfn = mfn_x(get_gfn_unshare(v->domain, cr3 >> PAGE_SHIFT, &p2mt));
-    if ( !p2m_is_ram(p2mt) || !mfn_valid(mfn) || 
-         /* If we didn't succeed in unsharing, get_page will fail
-          * (page still belongs to dom_cow) */
-         !get_page(mfn_to_page(mfn), v->domain) )
+    page = get_page_from_gfn(v->domain, cr3 >> PAGE_SHIFT, &p2mt, P2M_UNSHARE);
+    if ( !page )
     {
         /* Ideally you don't want to crash but rather go into a wait 
          * queue, but this is the wrong place. We're holding at least
          * the paging lock */
         gdprintk(XENLOG_ERR,
-                 "Bad cr3 on load pdptrs gfn %lx mfn %lx type %d\n",
-                 cr3 >> PAGE_SHIFT, mfn, (int) p2mt);
-        put_gfn(v->domain, cr3 >> PAGE_SHIFT);
+                 "Bad cr3 on load pdptrs gfn %lx type %d\n",
+                 cr3 >> PAGE_SHIFT, (int) p2mt);
         goto crash;
     }
-    put_gfn(v->domain, cr3 >> PAGE_SHIFT);
-
-    p = map_domain_page(mfn);
+
+    p = __map_domain_page(page);
 
     guest_pdptrs = (uint64_t *)(p + (cr3 & ~PAGE_MASK));
 
@@ -1090,7 +1084,7 @@ static void vmx_load_pdptrs(struct vcpu 
     vmx_vmcs_exit(v);
 
     unmap_domain_page(p);
-    put_page(mfn_to_page(mfn));
+    put_page(page);
     return;
 
  crash:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwS-0000HL-Gi; Thu, 10 May 2012 15:06:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwQ-0000GO-2L
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:06 +0000
Received: from [193.109.254.147:2829] by server-11.bemta-14.messagelabs.com id
	CF/26-05858-D59DBAF4; Thu, 10 May 2012 15:06:05 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336662354!8614845!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16991 invoked from network); 10 May 2012 15:05:55 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068395"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:48 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUw7-0007P4-FJ; Thu, 10 May 2012 16:05:47 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUw2-0000Jo-FL;
	Thu, 10 May 2012 16:05:42 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9da426cdc7e478e426bcbd5391b8deacdc85db1e
Message-ID: <9da426cdc7e478e426bc.1336661988@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:48 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 04 of 11] x86/hvm: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID 9da426cdc7e478e426bcbd5391b8deacdc85db1e
# Parent  d774bb5c6326d1a7e88a3bfadc546d154a2ad895
x86/hvm: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/emulate.c
--- a/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
@@ -60,34 +60,25 @@ static int hvmemul_do_io(
     ioreq_t *p = get_ioreq(curr);
     unsigned long ram_gfn = paddr_to_pfn(ram_gpa);
     p2m_type_t p2mt;
-    mfn_t ram_mfn;
+    struct page_info *ram_page;
     int rc;
 
     /* Check for paged out page */
-    ram_mfn = get_gfn_unshare(curr->domain, ram_gfn, &p2mt);
+    ram_page = get_page_from_gfn(curr->domain, ram_gfn, &p2mt, P2M_UNSHARE);
     if ( p2m_is_paging(p2mt) )
     {
-        put_gfn(curr->domain, ram_gfn); 
+        if ( ram_page )
+            put_page(ram_page);
         p2m_mem_paging_populate(curr->domain, ram_gfn);
         return X86EMUL_RETRY;
     }
     if ( p2m_is_shared(p2mt) )
     {
-        put_gfn(curr->domain, ram_gfn); 
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_RETRY;
     }
 
-    /* Maintain a ref on the mfn to ensure liveness. Put the gfn
-     * to avoid potential deadlock wrt event channel lock, later. */
-    if ( mfn_valid(mfn_x(ram_mfn)) )
-        if ( !get_page(mfn_to_page(mfn_x(ram_mfn)),
-             curr->domain) )
-        {
-            put_gfn(curr->domain, ram_gfn);
-            return X86EMUL_RETRY;
-        }
-    put_gfn(curr->domain, ram_gfn);
-
     /*
      * Weird-sized accesses have undefined behaviour: we discard writes
      * and read all-ones.
@@ -98,8 +89,8 @@ static int hvmemul_do_io(
         ASSERT(p_data != NULL); /* cannot happen with a REP prefix */
         if ( dir == IOREQ_READ )
             memset(p_data, ~0, size);
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_UNHANDLEABLE;
     }
 
@@ -120,8 +111,8 @@ static int hvmemul_do_io(
             unsigned int bytes = vio->mmio_large_write_bytes;
             if ( (addr >= pa) && ((addr + size) <= (pa + bytes)) )
             {
-                if ( mfn_valid(mfn_x(ram_mfn)) )
-                    put_page(mfn_to_page(mfn_x(ram_mfn)));
+                if ( ram_page )
+                    put_page(ram_page);
                 return X86EMUL_OKAY;
             }
         }
@@ -133,8 +124,8 @@ static int hvmemul_do_io(
             {
                 memcpy(p_data, &vio->mmio_large_read[addr - pa],
                        size);
-                if ( mfn_valid(mfn_x(ram_mfn)) )
-                    put_page(mfn_to_page(mfn_x(ram_mfn)));
+                if ( ram_page )
+                    put_page(ram_page);
                 return X86EMUL_OKAY;
             }
         }
@@ -148,8 +139,8 @@ static int hvmemul_do_io(
         vio->io_state = HVMIO_none;
         if ( p_data == NULL )
         {
-            if ( mfn_valid(mfn_x(ram_mfn)) )
-                put_page(mfn_to_page(mfn_x(ram_mfn)));
+            if ( ram_page )
+                put_page(ram_page);
             return X86EMUL_UNHANDLEABLE;
         }
         goto finish_access;
@@ -159,13 +150,13 @@ static int hvmemul_do_io(
              (addr == (vio->mmio_large_write_pa +
                        vio->mmio_large_write_bytes)) )
         {
-            if ( mfn_valid(mfn_x(ram_mfn)) )
-                put_page(mfn_to_page(mfn_x(ram_mfn)));
+            if ( ram_page )
+                put_page(ram_page);
             return X86EMUL_RETRY;
         }
     default:
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_UNHANDLEABLE;
     }
 
@@ -173,8 +164,8 @@ static int hvmemul_do_io(
     {
         gdprintk(XENLOG_WARNING, "WARNING: io already pending (%d)?\n",
                  p->state);
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return X86EMUL_UNHANDLEABLE;
     }
 
@@ -226,8 +217,8 @@ static int hvmemul_do_io(
 
     if ( rc != X86EMUL_OKAY )
     {
-        if ( mfn_valid(mfn_x(ram_mfn)) )
-            put_page(mfn_to_page(mfn_x(ram_mfn)));
+        if ( ram_page )
+            put_page(ram_page);
         return rc;
     }
 
@@ -263,8 +254,8 @@ static int hvmemul_do_io(
         }
     }
 
-    if ( mfn_valid(mfn_x(ram_mfn)) )
-        put_page(mfn_to_page(mfn_x(ram_mfn)));
+    if ( ram_page )
+        put_page(ram_page);
     return X86EMUL_OKAY;
 }
 
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/hvm.c	Thu May 10 15:54:16 2012 +0100
@@ -395,48 +395,41 @@ int prepare_ring_for_helper(
 {
     struct page_info *page;
     p2m_type_t p2mt;
-    unsigned long mfn;
     void *va;
 
-    mfn = mfn_x(get_gfn_unshare(d, gmfn, &p2mt));
-    if ( !p2m_is_ram(p2mt) )
-    {
-        put_gfn(d, gmfn);
-        return -EINVAL;
-    }
+    page = get_page_from_gfn(d, gmfn, &p2mt, P2M_UNSHARE);
     if ( p2m_is_paging(p2mt) )
     {
-        put_gfn(d, gmfn);
+        if ( page )
+            put_page(page);
         p2m_mem_paging_populate(d, gmfn);
         return -ENOENT;
     }
     if ( p2m_is_shared(p2mt) )
     {
-        put_gfn(d, gmfn);
+        if ( page )
+            put_page(page);
         return -ENOENT;
     }
-    ASSERT(mfn_valid(mfn));
-
-    page = mfn_to_page(mfn);
-    if ( !get_page_and_type(page, d, PGT_writable_page) )
+    if ( !page )
+        return -EINVAL;
+
+    if ( !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gmfn);
+        put_page(page);
         return -EINVAL;
     }
 
-    va = map_domain_page_global(mfn);
+    va = __map_domain_page_global(page);
     if ( va == NULL )
     {
         put_page_and_type(page);
-        put_gfn(d, gmfn);
         return -ENOMEM;
     }
 
     *_va = va;
     *_page = page;
 
-    put_gfn(d, gmfn);
-
     return 0;
 }
 
@@ -1607,8 +1600,8 @@ int hvm_mov_from_cr(unsigned int cr, uns
 int hvm_set_cr0(unsigned long value)
 {
     struct vcpu *v = current;
-    p2m_type_t p2mt;
-    unsigned long gfn, mfn, old_value = v->arch.hvm_vcpu.guest_cr[0];
+    unsigned long gfn, old_value = v->arch.hvm_vcpu.guest_cr[0];
+    struct page_info *page;
 
     HVM_DBG_LOG(DBG_LEVEL_VMMU, "Update CR0 value = %lx", value);
 
@@ -1647,23 +1640,20 @@ int hvm_set_cr0(unsigned long value)
         {
             /* The guest CR3 must be pointing to the guest physical. */
             gfn = v->arch.hvm_vcpu.guest_cr[3]>>PAGE_SHIFT;
-            mfn = mfn_x(get_gfn(v->domain, gfn, &p2mt));
-            if ( !p2m_is_ram(p2mt) || !mfn_valid(mfn) ||
-                 !get_page(mfn_to_page(mfn), v->domain))
+            page = get_page_from_gfn(v->domain, gfn, NULL, P2M_ALLOC);
+            if ( !page )
             {
-                put_gfn(v->domain, gfn);
-                gdprintk(XENLOG_ERR, "Invalid CR3 value = %lx (mfn=%lx)\n",
-                         v->arch.hvm_vcpu.guest_cr[3], mfn);
+                gdprintk(XENLOG_ERR, "Invalid CR3 value = %lx\n",
+                         v->arch.hvm_vcpu.guest_cr[3]);
                 domain_crash(v->domain);
                 return X86EMUL_UNHANDLEABLE;
             }
 
             /* Now arch.guest_table points to machine physical. */
-            v->arch.guest_table = pagetable_from_pfn(mfn);
+            v->arch.guest_table = pagetable_from_page(page);
 
             HVM_DBG_LOG(DBG_LEVEL_VMMU, "Update CR3 value = %lx, mfn = %lx",
-                        v->arch.hvm_vcpu.guest_cr[3], mfn);
-            put_gfn(v->domain, gfn);
+                        v->arch.hvm_vcpu.guest_cr[3], page_to_mfn(page));
         }
     }
     else if ( !(value & X86_CR0_PG) && (old_value & X86_CR0_PG) )
@@ -1738,26 +1728,21 @@ int hvm_set_cr0(unsigned long value)
 
 int hvm_set_cr3(unsigned long value)
 {
-    unsigned long mfn;
-    p2m_type_t p2mt;
     struct vcpu *v = current;
+    struct page_info *page;
 
     if ( hvm_paging_enabled(v) && !paging_mode_hap(v->domain) &&
          (value != v->arch.hvm_vcpu.guest_cr[3]) )
     {
         /* Shadow-mode CR3 change. Check PDBR and update refcounts. */
         HVM_DBG_LOG(DBG_LEVEL_VMMU, "CR3 value = %lx", value);
-        mfn = mfn_x(get_gfn(v->domain, value >> PAGE_SHIFT, &p2mt));
-        if ( !p2m_is_ram(p2mt) || !mfn_valid(mfn) ||
-             !get_page(mfn_to_page(mfn), v->domain) )
-        {
-              put_gfn(v->domain, value >> PAGE_SHIFT);
-              goto bad_cr3;
-        }
+        page = get_page_from_gfn(v->domain, value >> PAGE_SHIFT,
+                                 NULL, P2M_ALLOC);
+        if ( !page )
+            goto bad_cr3;
 
         put_page(pagetable_get_page(v->arch.guest_table));
-        v->arch.guest_table = pagetable_from_pfn(mfn);
-        put_gfn(v->domain, value >> PAGE_SHIFT);
+        v->arch.guest_table = pagetable_from_page(page);
 
         HVM_DBG_LOG(DBG_LEVEL_VMMU, "Update CR3 value = %lx", value);
     }
@@ -1914,46 +1899,29 @@ int hvm_virtual_to_linear_addr(
 static void *__hvm_map_guest_frame(unsigned long gfn, bool_t writable)
 {
     void *map;
-    unsigned long mfn;
     p2m_type_t p2mt;
-    struct page_info *pg;
+    struct page_info *page;
     struct domain *d = current->domain;
-    int rc;
-
-    mfn = mfn_x(writable
-                ? get_gfn_unshare(d, gfn, &p2mt)
-                : get_gfn(d, gfn, &p2mt));
-    if ( (p2m_is_shared(p2mt) && writable) || !p2m_is_ram(p2mt) )
+
+    page = get_page_from_gfn(d, gfn, &p2mt,
+                             writable ? P2M_UNSHARE : P2M_ALLOC);
+    if ( (p2m_is_shared(p2mt) && writable) || !page )
     {
-        put_gfn(d, gfn);
+        if ( page )
+            put_page(page);
         return NULL;
     }
     if ( p2m_is_paging(p2mt) )
     {
-        put_gfn(d, gfn);
+        put_page(page);
         p2m_mem_paging_populate(d, gfn);
         return NULL;
     }
 
-    ASSERT(mfn_valid(mfn));
-
     if ( writable )
-        paging_mark_dirty(d, mfn);
-
-    /* Get a ref on the page, considering that it could be shared */
-    pg = mfn_to_page(mfn);
-    rc = get_page(pg, d);
-    if ( !rc && !writable )
-        /* Page could be shared */
-        rc = get_page(pg, dom_cow);
-    if ( !rc )
-    {
-        put_gfn(d, gfn);
-        return NULL;
-    }
-
-    map = map_domain_page(mfn);
-    put_gfn(d, gfn);
+        paging_mark_dirty(d, page_to_mfn(page));
+
+    map = __map_domain_page(page);
     return map;
 }
 
@@ -2358,7 +2326,8 @@ static enum hvm_copy_result __hvm_copy(
     void *buf, paddr_t addr, int size, unsigned int flags, uint32_t pfec)
 {
     struct vcpu *curr = current;
-    unsigned long gfn, mfn;
+    unsigned long gfn;
+    struct page_info *page;
     p2m_type_t p2mt;
     char *p;
     int count, todo = size;
@@ -2402,32 +2371,33 @@ static enum hvm_copy_result __hvm_copy(
             gfn = addr >> PAGE_SHIFT;
         }
 
-        mfn = mfn_x(get_gfn_unshare(curr->domain, gfn, &p2mt));
+        page = get_page_from_gfn(curr->domain, gfn, &p2mt, P2M_UNSHARE);
 
         if ( p2m_is_paging(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             p2m_mem_paging_populate(curr->domain, gfn);
             return HVMCOPY_gfn_paged_out;
         }
         if ( p2m_is_shared(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_gfn_shared;
         }
         if ( p2m_is_grant(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_unhandleable;
         }
-        if ( !p2m_is_ram(p2mt) )
+        if ( !page )
         {
-            put_gfn(curr->domain, gfn);
             return HVMCOPY_bad_gfn_to_mfn;
         }
-        ASSERT(mfn_valid(mfn));
-
-        p = (char *)map_domain_page(mfn) + (addr & ~PAGE_MASK);
+
+        p = (char *)__map_domain_page(page) + (addr & ~PAGE_MASK);
 
         if ( flags & HVMCOPY_to_guest )
         {
@@ -2437,12 +2407,12 @@ static enum hvm_copy_result __hvm_copy(
                 if ( xchg(&lastpage, gfn) != gfn )
                     gdprintk(XENLOG_DEBUG, "guest attempted write to read-only"
                              " memory page. gfn=%#lx, mfn=%#lx\n",
-                             gfn, mfn);
+                             gfn, page_to_mfn(page));
             }
             else
             {
                 memcpy(p, buf, count);
-                paging_mark_dirty(curr->domain, mfn);
+                paging_mark_dirty(curr->domain, page_to_mfn(page));
             }
         }
         else
@@ -2455,7 +2425,7 @@ static enum hvm_copy_result __hvm_copy(
         addr += count;
         buf  += count;
         todo -= count;
-        put_gfn(curr->domain, gfn);
+        put_page(page);
     }
 
     return HVMCOPY_okay;
@@ -2464,7 +2434,8 @@ static enum hvm_copy_result __hvm_copy(
 static enum hvm_copy_result __hvm_clear(paddr_t addr, int size)
 {
     struct vcpu *curr = current;
-    unsigned long gfn, mfn;
+    unsigned long gfn;
+    struct page_info *page;
     p2m_type_t p2mt;
     char *p;
     int count, todo = size;
@@ -2500,32 +2471,35 @@ static enum hvm_copy_result __hvm_clear(
             return HVMCOPY_bad_gva_to_gfn;
         }
 
-        mfn = mfn_x(get_gfn_unshare(curr->domain, gfn, &p2mt));
+        page = get_page_from_gfn(curr->domain, gfn, &p2mt, P2M_UNSHARE);
 
         if ( p2m_is_paging(p2mt) )
         {
+            if ( page )
+                put_page(page);
             p2m_mem_paging_populate(curr->domain, gfn);
-            put_gfn(curr->domain, gfn);
             return HVMCOPY_gfn_paged_out;
         }
         if ( p2m_is_shared(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_gfn_shared;
         }
         if ( p2m_is_grant(p2mt) )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_unhandleable;
         }
-        if ( !p2m_is_ram(p2mt) )
+        if ( !page )
         {
-            put_gfn(curr->domain, gfn);
+            if ( page )
+                put_page(page);
             return HVMCOPY_bad_gfn_to_mfn;
         }
-        ASSERT(mfn_valid(mfn));
-
-        p = (char *)map_domain_page(mfn) + (addr & ~PAGE_MASK);
+
+        p = (char *)__map_domain_page(page) + (addr & ~PAGE_MASK);
 
         if ( p2mt == p2m_ram_ro )
         {
@@ -2533,19 +2507,19 @@ static enum hvm_copy_result __hvm_clear(
             if ( xchg(&lastpage, gfn) != gfn )
                 gdprintk(XENLOG_DEBUG, "guest attempted write to read-only"
                         " memory page. gfn=%#lx, mfn=%#lx\n",
-                        gfn, mfn);
+                         gfn, page_to_mfn(page));
         }
         else
         {
             memset(p, 0x00, count);
-            paging_mark_dirty(curr->domain, mfn);
+            paging_mark_dirty(curr->domain, page_to_mfn(page));
         }
 
         unmap_domain_page(p);
 
         addr += count;
         todo -= count;
-        put_gfn(curr->domain, gfn);
+        put_page(page);
     }
 
     return HVMCOPY_okay;
@@ -4000,35 +3974,16 @@ long do_hvm_op(unsigned long op, XEN_GUE
 
         for ( pfn = a.first_pfn; pfn < a.first_pfn + a.nr; pfn++ )
         {
-            p2m_type_t t;
-            mfn_t mfn = get_gfn_unshare(d, pfn, &t);
-            if ( p2m_is_paging(t) )
+            struct page_info *page;
+            page = get_page_from_gfn(d, pfn, NULL, P2M_UNSHARE);
+            if ( page )
             {
-                put_gfn(d, pfn);
-                p2m_mem_paging_populate(d, pfn);
-                rc = -EINVAL;
-                goto param_fail3;
-            }
-            if( p2m_is_shared(t) )
-            {
-                /* If it insists on not unsharing itself, crash the domain 
-                 * rather than crashing the host down in mark dirty */
-                gdprintk(XENLOG_WARNING,
-                         "shared pfn 0x%lx modified?\n", pfn);
-                domain_crash(d);
-                put_gfn(d, pfn);
-                rc = -EINVAL;
-                goto param_fail3;
-            }
-            
-            if ( mfn_x(mfn) != INVALID_MFN )
-            {
-                paging_mark_dirty(d, mfn_x(mfn));
+                paging_mark_dirty(d, page_to_mfn(page));
                 /* These are most probably not page tables any more */
                 /* don't take a long time and don't die either */
-                sh_remove_shadows(d->vcpu[0], mfn, 1, 0);
+                sh_remove_shadows(d->vcpu[0], _mfn(page_to_mfn(page)), 1, 0);
+                put_page(page);
             }
-            put_gfn(d, pfn);
         }
 
     param_fail3:
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/stdvga.c
--- a/xen/arch/x86/hvm/stdvga.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/stdvga.c	Thu May 10 15:54:16 2012 +0100
@@ -482,7 +482,8 @@ static int mmio_move(struct hvm_hw_stdvg
                 if ( hvm_copy_to_guest_phys(data, &tmp, p->size) !=
                      HVMCOPY_okay )
                 {
-                    (void)get_gfn(d, data >> PAGE_SHIFT, &p2mt);
+                    struct page_info *dp = get_page_from_gfn(
+                            d, data >> PAGE_SHIFT, &p2mt, P2M_ALLOC);
                     /*
                      * The only case we handle is vga_mem <-> vga_mem.
                      * Anything else disables caching and leaves it to qemu-dm.
@@ -490,11 +491,12 @@ static int mmio_move(struct hvm_hw_stdvg
                     if ( (p2mt != p2m_mmio_dm) || (data < VGA_MEM_BASE) ||
                          ((data + p->size) > (VGA_MEM_BASE + VGA_MEM_SIZE)) )
                     {
-                        put_gfn(d, data >> PAGE_SHIFT);
+                        if ( dp )
+                            put_page(dp);
                         return 0;
                     }
+                    ASSERT(!dp);
                     stdvga_mem_write(data, tmp, p->size);
-                    put_gfn(d, data >> PAGE_SHIFT);
                 }
                 data += sign * p->size;
                 addr += sign * p->size;
@@ -508,15 +510,16 @@ static int mmio_move(struct hvm_hw_stdvg
                 if ( hvm_copy_from_guest_phys(&tmp, data, p->size) !=
                      HVMCOPY_okay )
                 {
-                    (void)get_gfn(d, data >> PAGE_SHIFT, &p2mt);
+                    struct page_info *dp = get_page_from_gfn(
+                        d, data >> PAGE_SHIFT, &p2mt, P2M_ALLOC);
                     if ( (p2mt != p2m_mmio_dm) || (data < VGA_MEM_BASE) ||
                          ((data + p->size) > (VGA_MEM_BASE + VGA_MEM_SIZE)) )
                     {
-                        put_gfn(d, data >> PAGE_SHIFT);
+                        if ( dp )
+                            put_page(dp);
                         return 0;
                     }
                     tmp = stdvga_mem_read(data, p->size);
-                    put_gfn(d, data >> PAGE_SHIFT);
                 }
                 stdvga_mem_write(addr, tmp, p->size);
                 data += sign * p->size;
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c	Thu May 10 15:54:16 2012 +0100
@@ -232,8 +232,7 @@ static int svm_vmcb_save(struct vcpu *v,
 
 static int svm_vmcb_restore(struct vcpu *v, struct hvm_hw_cpu *c)
 {
-    unsigned long mfn = 0;
-    p2m_type_t p2mt;
+    struct page_info *page = NULL;
     struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb;
     struct p2m_domain *p2m = p2m_get_hostp2m(v->domain);
 
@@ -250,10 +249,10 @@ static int svm_vmcb_restore(struct vcpu 
     {
         if ( c->cr0 & X86_CR0_PG )
         {
-            mfn = mfn_x(get_gfn(v->domain, c->cr3 >> PAGE_SHIFT, &p2mt));
-            if ( !p2m_is_ram(p2mt) || !get_page(mfn_to_page(mfn), v->domain) )
+            page = get_page_from_gfn(v->domain, c->cr3 >> PAGE_SHIFT,
+                                     NULL, P2M_ALLOC);
+            if ( !page )
             {
-                put_gfn(v->domain, c->cr3 >> PAGE_SHIFT);
                 gdprintk(XENLOG_ERR, "Invalid CR3 value=0x%"PRIx64"\n",
                          c->cr3);
                 return -EINVAL;
@@ -263,9 +262,8 @@ static int svm_vmcb_restore(struct vcpu 
         if ( v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_PG )
             put_page(pagetable_get_page(v->arch.guest_table));
 
-        v->arch.guest_table = pagetable_from_pfn(mfn);
-        if ( c->cr0 & X86_CR0_PG )
-            put_gfn(v->domain, c->cr3 >> PAGE_SHIFT);
+        v->arch.guest_table =
+            page ? pagetable_from_page(page) : pagetable_null();
     }
 
     v->arch.hvm_vcpu.guest_cr[0] = c->cr0 | X86_CR0_ET;
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/viridian.c
--- a/xen/arch/x86/hvm/viridian.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/viridian.c	Thu May 10 15:54:16 2012 +0100
@@ -134,18 +134,19 @@ void dump_apic_assist(struct vcpu *v)
 static void enable_hypercall_page(struct domain *d)
 {
     unsigned long gmfn = d->arch.hvm_domain.viridian.hypercall_gpa.fields.pfn;
-    unsigned long mfn = get_gfn_untyped(d, gmfn);
+    struct page_info *page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
     uint8_t *p;
 
-    if ( !mfn_valid(mfn) ||
-         !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+    if ( !page || !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gmfn); 
-        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn, mfn);
+        if ( page )
+            put_page(page);
+        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn,
+                 page_to_mfn(page));
         return;
     }
 
-    p = map_domain_page(mfn);
+    p = __map_domain_page(page);
 
     /*
      * We set the bit 31 in %eax (reserved field in the Viridian hypercall
@@ -162,15 +163,14 @@ static void enable_hypercall_page(struct
 
     unmap_domain_page(p);
 
-    put_page_and_type(mfn_to_page(mfn));
-    put_gfn(d, gmfn); 
+    put_page_and_type(page);
 }
 
 void initialize_apic_assist(struct vcpu *v)
 {
     struct domain *d = v->domain;
     unsigned long gmfn = v->arch.hvm_vcpu.viridian.apic_assist.fields.pfn;
-    unsigned long mfn = get_gfn_untyped(d, gmfn);
+    struct page_info *page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
     uint8_t *p;
 
     /*
@@ -183,22 +183,22 @@ void initialize_apic_assist(struct vcpu 
      * details of how Windows uses the page.
      */
 
-    if ( !mfn_valid(mfn) ||
-         !get_page_and_type(mfn_to_page(mfn), d, PGT_writable_page) )
+    if ( !page || !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(d, gmfn); 
-        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn, mfn);
+        if ( page )
+            put_page(page);
+        gdprintk(XENLOG_WARNING, "Bad GMFN %lx (MFN %lx)\n", gmfn,
+                 page_to_mfn(page));
         return;
     }
 
-    p = map_domain_page(mfn);
+    p = __map_domain_page(page);
 
     *(u32 *)p = 0;
 
     unmap_domain_page(p);
 
-    put_page_and_type(mfn_to_page(mfn));
-    put_gfn(d, gmfn); 
+    put_page_and_type(page);
 }
 
 int wrmsr_viridian_regs(uint32_t idx, uint64_t val)
diff -r d774bb5c6326 -r 9da426cdc7e4 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Thu May 10 15:54:16 2012 +0100
@@ -480,17 +480,16 @@ static void vmx_vmcs_save(struct vcpu *v
 static int vmx_restore_cr0_cr3(
     struct vcpu *v, unsigned long cr0, unsigned long cr3)
 {
-    unsigned long mfn = 0;
-    p2m_type_t p2mt;
+    struct page_info *page = NULL;
 
     if ( paging_mode_shadow(v->domain) )
     {
         if ( cr0 & X86_CR0_PG )
         {
-            mfn = mfn_x(get_gfn(v->domain, cr3 >> PAGE_SHIFT, &p2mt));
-            if ( !p2m_is_ram(p2mt) || !get_page(mfn_to_page(mfn), v->domain) )
+            page = get_page_from_gfn(v->domain, cr3 >> PAGE_SHIFT,
+                                     NULL, P2M_ALLOC);
+            if ( !page )
             {
-                put_gfn(v->domain, cr3 >> PAGE_SHIFT);
                 gdprintk(XENLOG_ERR, "Invalid CR3 value=0x%lx\n", cr3);
                 return -EINVAL;
             }
@@ -499,9 +498,8 @@ static int vmx_restore_cr0_cr3(
         if ( hvm_paging_enabled(v) )
             put_page(pagetable_get_page(v->arch.guest_table));
 
-        v->arch.guest_table = pagetable_from_pfn(mfn);
-        if ( cr0 & X86_CR0_PG )
-            put_gfn(v->domain, cr3 >> PAGE_SHIFT);
+        v->arch.guest_table =
+            page ? pagetable_from_page(page) : pagetable_null();
     }
 
     v->arch.hvm_vcpu.guest_cr[0] = cr0 | X86_CR0_ET;
@@ -1035,8 +1033,9 @@ static void vmx_set_interrupt_shadow(str
 
 static void vmx_load_pdptrs(struct vcpu *v)
 {
-    unsigned long cr3 = v->arch.hvm_vcpu.guest_cr[3], mfn;
+    unsigned long cr3 = v->arch.hvm_vcpu.guest_cr[3];
     uint64_t *guest_pdptrs;
+    struct page_info *page;
     p2m_type_t p2mt;
     char *p;
 
@@ -1047,24 +1046,19 @@ static void vmx_load_pdptrs(struct vcpu 
     if ( (cr3 & 0x1fUL) && !hvm_pcid_enabled(v) )
         goto crash;
 
-    mfn = mfn_x(get_gfn_unshare(v->domain, cr3 >> PAGE_SHIFT, &p2mt));
-    if ( !p2m_is_ram(p2mt) || !mfn_valid(mfn) || 
-         /* If we didn't succeed in unsharing, get_page will fail
-          * (page still belongs to dom_cow) */
-         !get_page(mfn_to_page(mfn), v->domain) )
+    page = get_page_from_gfn(v->domain, cr3 >> PAGE_SHIFT, &p2mt, P2M_UNSHARE);
+    if ( !page )
     {
         /* Ideally you don't want to crash but rather go into a wait 
          * queue, but this is the wrong place. We're holding at least
          * the paging lock */
         gdprintk(XENLOG_ERR,
-                 "Bad cr3 on load pdptrs gfn %lx mfn %lx type %d\n",
-                 cr3 >> PAGE_SHIFT, mfn, (int) p2mt);
-        put_gfn(v->domain, cr3 >> PAGE_SHIFT);
+                 "Bad cr3 on load pdptrs gfn %lx type %d\n",
+                 cr3 >> PAGE_SHIFT, (int) p2mt);
         goto crash;
     }
-    put_gfn(v->domain, cr3 >> PAGE_SHIFT);
-
-    p = map_domain_page(mfn);
+
+    p = __map_domain_page(page);
 
     guest_pdptrs = (uint64_t *)(p + (cr3 & ~PAGE_MASK));
 
@@ -1090,7 +1084,7 @@ static void vmx_load_pdptrs(struct vcpu 
     vmx_vmcs_exit(v);
 
     unmap_domain_page(p);
-    put_page(mfn_to_page(mfn));
+    put_page(page);
     return;
 
  crash:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwS-0000H8-3D; Thu, 10 May 2012 15:06:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwQ-0000Ew-6T
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:06 +0000
Received: from [193.109.254.147:44084] by server-10.bemta-14.messagelabs.com
	id F2/24-05847-D59DBAF4; Thu, 10 May 2012 15:06:05 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336662354!8614845!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17225 invoked from network); 10 May 2012 15:05:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068398"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:56 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwF-0007Pk-RM; Thu, 10 May 2012 16:05:55 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwD-0000K7-Do;
	Thu, 10 May 2012 16:05:53 +0100
MIME-Version: 1.0
X-Mercurial-Node: ed61cd76e3e3fad3ec4c216669d1e9ee8c0bfa4b
Message-ID: <ed61cd76e3e3fad3ec4c.1336661992@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:52 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 08 of 11] grant-tables: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Andres Lagar-Cavilla <andres@lagarcavilla.org>
# Date 1336661656 -3600
# Node ID ed61cd76e3e3fad3ec4c216669d1e9ee8c0bfa4b
# Parent  28d15a29ab59d29a1fd5deb79ceda5d557343f14
grant-tables: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

This requires some careful re-engineering of __get_paged_frame and its callers.
Functions that previously returned gfn's to be put now return pages to be put.

Tested with Win7 + Citrix PV drivers guest, using speedtest for networking
(yes!) plus the loginVSI framework to constantly hit disk.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 28d15a29ab59 -r ed61cd76e3e3 xen/common/grant_table.c
--- a/xen/common/grant_table.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/common/grant_table.c	Thu May 10 15:54:16 2012 +0100
@@ -107,18 +107,6 @@ static unsigned inline int max_nr_maptra
     return (max_nr_grant_frames * MAX_MAPTRACK_TO_GRANTS_RATIO);
 }
 
-#ifdef CONFIG_X86
-#define gfn_to_mfn_private(_d, _gfn) ({                     \
-    p2m_type_t __p2mt;                                      \
-    unsigned long __x;                                      \
-    __x = mfn_x(get_gfn_unshare((_d), (_gfn), &__p2mt));    \
-    if ( p2m_is_shared(__p2mt) || !p2m_is_valid(__p2mt) )   \
-        __x = INVALID_MFN;                                  \
-    __x; })
-#else
-#define gfn_to_mfn_private(_d, _gfn) gmfn_to_mfn(_d, _gfn)
-#endif
-
 #define SHGNT_PER_PAGE_V1 (PAGE_SIZE / sizeof(grant_entry_v1_t))
 #define shared_entry_v1(t, e) \
     ((t)->shared_v1[(e)/SHGNT_PER_PAGE_V1][(e)%SHGNT_PER_PAGE_V1])
@@ -141,41 +129,41 @@ shared_entry_header(struct grant_table *
 #define active_entry(t, e) \
     ((t)->active[(e)/ACGNT_PER_PAGE][(e)%ACGNT_PER_PAGE])
 
-/* Check if the page has been paged out. If rc == GNTST_okay, caller must do put_gfn(rd, gfn) */
-static int __get_paged_frame(unsigned long gfn, unsigned long *frame, int readonly, struct domain *rd)
+/* Check if the page has been paged out, or needs unsharing. 
+   If rc == GNTST_okay, *page contains the page struct with a ref taken.
+   Caller must do put_page(*page).
+   If any error, *page = NULL, *frame = INVALID_MFN, no ref taken. */
+static int __get_paged_frame(unsigned long gfn, unsigned long *frame, struct page_info **page,
+                                int readonly, struct domain *rd)
 {
     int rc = GNTST_okay;
 #if defined(P2M_PAGED_TYPES) || defined(P2M_SHARED_TYPES)
     p2m_type_t p2mt;
-    mfn_t mfn;
-
-    if ( readonly )
-        mfn = get_gfn(rd, gfn, &p2mt);
-    else
+
+    *page = get_page_from_gfn(rd, gfn, &p2mt, 
+                              (readonly) ? P2M_ALLOC : P2M_UNSHARE);
+    if ( !(*page) )
     {
-        mfn = get_gfn_unshare(rd, gfn, &p2mt);
+        *frame = INVALID_MFN;
         if ( p2m_is_shared(p2mt) )
+            return GNTST_eagain;
+        if ( p2m_is_paging(p2mt) )
         {
-            put_gfn(rd, gfn);
+            p2m_mem_paging_populate(rd, gfn);
             return GNTST_eagain;
         }
+        return GNTST_bad_page;
     }
-
-    if ( p2m_is_valid(p2mt) ) {
-        *frame = mfn_x(mfn);
-        if ( p2m_is_paging(p2mt) )
-        {
-            put_gfn(rd, gfn);
-            p2m_mem_paging_populate(rd, gfn);
-            rc = GNTST_eagain;
-        }
-    } else {
-       put_gfn(rd, gfn);
-       *frame = INVALID_MFN;
-       rc = GNTST_bad_page;
+    *frame = page_to_mfn(*page);
+#else
+    *frame = gmfn_to_mfn(rd, gfn);
+    *page = mfn_valid(*frame) ? mfn_to_page(*frame) : NULL;
+    if ( (!(*page)) || (!get_page(*page, rd)) )
+    {
+        *frame = INVALID_MFN;
+        *page = NULL;
+        rc = GNTST_bad_page;
     }
-#else
-    *frame = readonly ? gmfn_to_mfn(rd, gfn) : gfn_to_mfn_private(rd, gfn);
 #endif
 
     return rc;
@@ -470,12 +458,11 @@ static void
 __gnttab_map_grant_ref(
     struct gnttab_map_grant_ref *op)
 {
-    struct domain *ld, *rd, *owner;
+    struct domain *ld, *rd, *owner = NULL;
     struct vcpu   *led;
     int            handle;
-    unsigned long  gfn = INVALID_GFN;
     unsigned long  frame = 0, nr_gets = 0;
-    struct page_info *pg;
+    struct page_info *pg = NULL;
     int            rc = GNTST_okay;
     u32            old_pin;
     u32            act_pin;
@@ -573,13 +560,11 @@ static void
         {
             unsigned long frame;
 
-            gfn = sha1 ? sha1->frame : sha2->full_page.frame;
-            rc = __get_paged_frame(gfn, &frame, !!(op->flags & GNTMAP_readonly), rd);
+            unsigned long gfn = sha1 ? sha1->frame : sha2->full_page.frame;
+            rc = __get_paged_frame(gfn, &frame, &pg, 
+                                    !!(op->flags & GNTMAP_readonly), rd);
             if ( rc != GNTST_okay )
-            {
-                gfn = INVALID_GFN;
                 goto unlock_out_clear;
-            }
             act->gfn = gfn;
             act->domid = ld->domain_id;
             act->frame = frame;
@@ -606,9 +591,17 @@ static void
 
     spin_unlock(&rd->grant_table->lock);
 
-    pg = mfn_valid(frame) ? mfn_to_page(frame) : NULL;
-
-    if ( !pg || (owner = page_get_owner_and_reference(pg)) == dom_io )
+    /* pg may be set, with a refcount included, from __get_paged_frame */
+    if ( !pg )
+    {
+        pg = mfn_valid(frame) ? mfn_to_page(frame) : NULL;
+        if ( pg )
+            owner = page_get_owner_and_reference(pg);
+    }
+    else
+        owner = page_get_owner(pg);
+
+    if ( !pg || (owner == dom_io) )
     {
         /* Only needed the reference to confirm dom_io ownership. */
         if ( pg )
@@ -708,8 +701,6 @@ static void
     op->handle       = handle;
     op->status       = GNTST_okay;
 
-    if ( gfn != INVALID_GFN )
-        put_gfn(rd, gfn);
     rcu_unlock_domain(rd);
     return;
 
@@ -748,8 +739,6 @@ static void
         gnttab_clear_flag(_GTF_reading, status);
 
  unlock_out:
-    if ( gfn != INVALID_GFN )
-        put_gfn(rd, gfn);
     spin_unlock(&rd->grant_table->lock);
     op->status = rc;
     put_maptrack_handle(ld->grant_table, handle);
@@ -1479,7 +1468,16 @@ gnttab_transfer(
             return -EFAULT;
         }
 
-        mfn = gfn_to_mfn_private(d, gop.mfn);
+#ifdef CONFIG_X86
+        {
+            p2m_type_t __p2mt;
+            mfn = mfn_x(get_gfn_unshare(d, gop.mfn, &__p2mt));
+            if ( p2m_is_shared(__p2mt) || !p2m_is_valid(__p2mt) )
+                mfn = INVALID_MFN;
+        }
+#else
+        mfn = gmfn_to_mfn(d, gop.mfn);
+#endif
 
         /* Check the passed page frame for basic validity. */
         if ( unlikely(!mfn_valid(mfn)) )
@@ -1723,15 +1721,14 @@ static void __fixup_status_for_pin(const
 }
 
 /* Grab a frame number from a grant entry and update the flags and pin
-   count as appropriate.  Note that this does *not* update the page
-   type or reference counts, and does not check that the mfn is
-   actually valid. If *gfn != INVALID_GFN, and rc == GNTST_okay, then
-   we leave this function holding the p2m entry for *gfn in *owning_domain */
+   count as appropriate. If rc == GNTST_okay, note that this *does* 
+   take one ref count on the target page, stored in *page.
+   If there is any error, *page = NULL, no ref taken. */
 static int
 __acquire_grant_for_copy(
     struct domain *rd, unsigned long gref, struct domain *ld, int readonly,
-    unsigned long *frame, unsigned long *gfn, unsigned *page_off, unsigned *length,
-    unsigned allow_transitive, struct domain **owning_domain)
+    unsigned long *frame, struct page_info **page, 
+    unsigned *page_off, unsigned *length, unsigned allow_transitive)
 {
     grant_entry_v1_t *sha1;
     grant_entry_v2_t *sha2;
@@ -1746,11 +1743,9 @@ static int
     unsigned trans_page_off;
     unsigned trans_length;
     int is_sub_page;
-    struct domain *ignore;
     s16 rc = GNTST_okay;
 
-    *owning_domain = NULL;
-    *gfn = INVALID_GFN;
+    *page = NULL;
 
     spin_lock(&rd->grant_table->lock);
 
@@ -1827,14 +1822,13 @@ static int
             spin_unlock(&rd->grant_table->lock);
 
             rc = __acquire_grant_for_copy(td, trans_gref, rd,
-                                          readonly, &grant_frame, gfn,
-                                          &trans_page_off, &trans_length,
-                                          0, &ignore);
+                                          readonly, &grant_frame, page,
+                                          &trans_page_off, &trans_length, 0);
 
             spin_lock(&rd->grant_table->lock);
             if ( rc != GNTST_okay ) {
                 __fixup_status_for_pin(act, status);
-	        rcu_unlock_domain(td);
+                rcu_unlock_domain(td);
                 spin_unlock(&rd->grant_table->lock);
                 return rc;
             }
@@ -1846,56 +1840,49 @@ static int
             if ( act->pin != old_pin )
             {
                 __fixup_status_for_pin(act, status);
-	        rcu_unlock_domain(td);
+                rcu_unlock_domain(td);
                 spin_unlock(&rd->grant_table->lock);
+                put_page(*page);
                 return __acquire_grant_for_copy(rd, gref, ld, readonly,
-                                                frame, gfn, page_off, length,
-                                                allow_transitive,
-                                                owning_domain);
+                                                frame, page, page_off, length,
+                                                allow_transitive);
             }
 
             /* The actual remote remote grant may or may not be a
                sub-page, but we always treat it as one because that
                blocks mappings of transitive grants. */
             is_sub_page = 1;
-            *owning_domain = td;
             act->gfn = -1ul;
         }
         else if ( sha1 )
         {
-            *gfn = sha1->frame;
-            rc = __get_paged_frame(*gfn, &grant_frame, readonly, rd);
+            rc = __get_paged_frame(sha1->frame, &grant_frame, page, readonly, rd);
             if ( rc != GNTST_okay )
                 goto unlock_out;
-            act->gfn = *gfn;
+            act->gfn = sha1->frame;
             is_sub_page = 0;
             trans_page_off = 0;
             trans_length = PAGE_SIZE;
-            *owning_domain = rd;
         }
         else if ( !(sha2->hdr.flags & GTF_sub_page) )
         {
-            *gfn = sha2->full_page.frame;
-            rc = __get_paged_frame(*gfn, &grant_frame, readonly, rd);
+            rc = __get_paged_frame(sha2->full_page.frame, &grant_frame, page, readonly, rd);
             if ( rc != GNTST_okay )
                 goto unlock_out;
-            act->gfn = *gfn;
+            act->gfn = sha2->full_page.frame;
             is_sub_page = 0;
             trans_page_off = 0;
             trans_length = PAGE_SIZE;
-            *owning_domain = rd;
         }
         else
         {
-            *gfn = sha2->sub_page.frame;
-            rc = __get_paged_frame(*gfn, &grant_frame, readonly, rd);
+            rc = __get_paged_frame(sha2->sub_page.frame, &grant_frame, page, readonly, rd);
             if ( rc != GNTST_okay )
                 goto unlock_out;
-            act->gfn = *gfn;
+            act->gfn = sha2->sub_page.frame;
             is_sub_page = 1;
             trans_page_off = sha2->sub_page.page_off;
             trans_length = sha2->sub_page.length;
-            *owning_domain = rd;
         }
 
         if ( !act->pin )
@@ -1911,7 +1898,9 @@ static int
     }
     else
     {
-        *owning_domain = rd;
+        ASSERT(mfn_valid(act->frame));
+        *page = mfn_to_page(act->frame);
+        (void)page_get_owner_and_reference(*page);
     }
 
     act->pin += readonly ? GNTPIN_hstr_inc : GNTPIN_hstw_inc;
@@ -1930,11 +1919,11 @@ static void
     struct gnttab_copy *op)
 {
     struct domain *sd = NULL, *dd = NULL;
-    struct domain *source_domain = NULL, *dest_domain = NULL;
-    unsigned long s_frame, d_frame, s_gfn = INVALID_GFN, d_gfn = INVALID_GFN;
+    unsigned long s_frame, d_frame;
+    struct page_info *s_pg = NULL, *d_pg = NULL;
     char *sp, *dp;
     s16 rc = GNTST_okay;
-    int have_d_grant = 0, have_s_grant = 0, have_s_ref = 0;
+    int have_d_grant = 0, have_s_grant = 0;
     int src_is_gref, dest_is_gref;
 
     if ( ((op->source.offset + op->len) > PAGE_SIZE) ||
@@ -1972,82 +1961,54 @@ static void
     {
         unsigned source_off, source_len;
         rc = __acquire_grant_for_copy(sd, op->source.u.ref, current->domain, 1,
-                                      &s_frame, &s_gfn, &source_off, &source_len, 1,
-                                      &source_domain);
+                                      &s_frame, &s_pg, &source_off, &source_len, 1);
         if ( rc != GNTST_okay )
             goto error_out;
         have_s_grant = 1;
         if ( op->source.offset < source_off ||
              op->len > source_len )
-            PIN_FAIL(error_put_s_gfn, GNTST_general_error,
+            PIN_FAIL(error_out, GNTST_general_error,
                      "copy source out of bounds: %d < %d || %d > %d\n",
                      op->source.offset, source_off,
                      op->len, source_len);
     }
     else
     {
-#ifdef CONFIG_X86
-        s_gfn = op->source.u.gmfn;
-        rc = __get_paged_frame(op->source.u.gmfn, &s_frame, 1, sd);
+        rc = __get_paged_frame(op->source.u.gmfn, &s_frame, &s_pg, 1, sd);
         if ( rc != GNTST_okay )
-            goto error_out;
-#else
-        s_frame = gmfn_to_mfn(sd, op->source.u.gmfn);        
-#endif
-        source_domain = sd;
+            PIN_FAIL(error_out, rc,
+                     "source frame %lx invalid.\n", s_frame);
     }
-    if ( unlikely(!mfn_valid(s_frame)) )
-        PIN_FAIL(error_put_s_gfn, GNTST_general_error,
-                 "source frame %lx invalid.\n", s_frame);
-    /* For the source frame, the page could still be shared, so
-     * don't assume ownership by source_domain */
-    if ( !page_get_owner_and_reference(mfn_to_page(s_frame)) )
-    {
-        if ( !sd->is_dying )
-            gdprintk(XENLOG_WARNING, "Could not get src frame %lx\n", s_frame);
-        rc = GNTST_general_error;
-        goto error_put_s_gfn;
-    }
-    have_s_ref = 1;
 
     if ( dest_is_gref )
     {
         unsigned dest_off, dest_len;
         rc = __acquire_grant_for_copy(dd, op->dest.u.ref, current->domain, 0,
-                                      &d_frame, &d_gfn, &dest_off, &dest_len, 1,
-                                      &dest_domain);
+                                      &d_frame, &d_pg, &dest_off, &dest_len, 1);
         if ( rc != GNTST_okay )
-            goto error_put_s_gfn;
+            goto error_out;
         have_d_grant = 1;
         if ( op->dest.offset < dest_off ||
              op->len > dest_len )
-            PIN_FAIL(error_put_d_gfn, GNTST_general_error,
+            PIN_FAIL(error_out, GNTST_general_error,
                      "copy dest out of bounds: %d < %d || %d > %d\n",
                      op->dest.offset, dest_off,
                      op->len, dest_len);
     }
     else
     {
-#ifdef CONFIG_X86
-        d_gfn = op->dest.u.gmfn;
-        rc = __get_paged_frame(op->dest.u.gmfn, &d_frame, 0, dd);
+        rc = __get_paged_frame(op->dest.u.gmfn, &d_frame, &d_pg, 0, dd);
         if ( rc != GNTST_okay )
-            goto error_put_s_gfn;
-#else
-        d_frame = gmfn_to_mfn(dd, op->dest.u.gmfn);
-#endif
-        dest_domain = dd;
+            PIN_FAIL(error_out, rc,
+                     "destination frame %lx invalid.\n", d_frame);
     }
-    if ( unlikely(!mfn_valid(d_frame)) )
-        PIN_FAIL(error_put_d_gfn, GNTST_general_error,
-                 "destination frame %lx invalid.\n", d_frame);
-    if ( !get_page_and_type(mfn_to_page(d_frame), dest_domain,
-                            PGT_writable_page) )
+
+    if ( !get_page_type(d_pg, PGT_writable_page) )
     {
         if ( !dd->is_dying )
             gdprintk(XENLOG_WARNING, "Could not get dst frame %lx\n", d_frame);
         rc = GNTST_general_error;
-        goto error_put_d_gfn;
+        goto error_out;
     }
 
     sp = map_domain_page(s_frame);
@@ -2060,16 +2021,12 @@ static void
 
     gnttab_mark_dirty(dd, d_frame);
 
-    put_page_and_type(mfn_to_page(d_frame));
- error_put_d_gfn:
-    if ( (d_gfn != INVALID_GFN) && (dest_domain) )
-        put_gfn(dest_domain, d_gfn);
- error_put_s_gfn:
-    if ( (s_gfn != INVALID_GFN) && (source_domain) )
-        put_gfn(source_domain, s_gfn);
+    put_page_type(d_pg);
  error_out:
-    if ( have_s_ref )
-        put_page(mfn_to_page(s_frame));
+    if ( d_pg )
+        put_page(d_pg);
+    if ( s_pg )
+        put_page(s_pg);
     if ( have_s_grant )
         __release_grant_for_copy(sd, op->source.u.ref, 1);
     if ( have_d_grant )

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:06:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUwS-0000H8-3D; Thu, 10 May 2012 15:06:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSUwQ-0000Ew-6T
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:06:06 +0000
Received: from [193.109.254.147:44084] by server-10.bemta-14.messagelabs.com
	id F2/24-05847-D59DBAF4; Thu, 10 May 2012 15:06:05 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336662354!8614845!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17225 invoked from network); 10 May 2012 15:05:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:05:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25068398"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:56 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwF-0007Pk-RM; Thu, 10 May 2012 16:05:55 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwD-0000K7-Do;
	Thu, 10 May 2012 16:05:53 +0100
MIME-Version: 1.0
X-Mercurial-Node: ed61cd76e3e3fad3ec4c216669d1e9ee8c0bfa4b
Message-ID: <ed61cd76e3e3fad3ec4c.1336661992@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:52 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 08 of 11] grant-tables: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Andres Lagar-Cavilla <andres@lagarcavilla.org>
# Date 1336661656 -3600
# Node ID ed61cd76e3e3fad3ec4c216669d1e9ee8c0bfa4b
# Parent  28d15a29ab59d29a1fd5deb79ceda5d557343f14
grant-tables: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

This requires some careful re-engineering of __get_paged_frame and its callers.
Functions that previously returned gfn's to be put now return pages to be put.

Tested with Win7 + Citrix PV drivers guest, using speedtest for networking
(yes!) plus the loginVSI framework to constantly hit disk.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 28d15a29ab59 -r ed61cd76e3e3 xen/common/grant_table.c
--- a/xen/common/grant_table.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/common/grant_table.c	Thu May 10 15:54:16 2012 +0100
@@ -107,18 +107,6 @@ static unsigned inline int max_nr_maptra
     return (max_nr_grant_frames * MAX_MAPTRACK_TO_GRANTS_RATIO);
 }
 
-#ifdef CONFIG_X86
-#define gfn_to_mfn_private(_d, _gfn) ({                     \
-    p2m_type_t __p2mt;                                      \
-    unsigned long __x;                                      \
-    __x = mfn_x(get_gfn_unshare((_d), (_gfn), &__p2mt));    \
-    if ( p2m_is_shared(__p2mt) || !p2m_is_valid(__p2mt) )   \
-        __x = INVALID_MFN;                                  \
-    __x; })
-#else
-#define gfn_to_mfn_private(_d, _gfn) gmfn_to_mfn(_d, _gfn)
-#endif
-
 #define SHGNT_PER_PAGE_V1 (PAGE_SIZE / sizeof(grant_entry_v1_t))
 #define shared_entry_v1(t, e) \
     ((t)->shared_v1[(e)/SHGNT_PER_PAGE_V1][(e)%SHGNT_PER_PAGE_V1])
@@ -141,41 +129,41 @@ shared_entry_header(struct grant_table *
 #define active_entry(t, e) \
     ((t)->active[(e)/ACGNT_PER_PAGE][(e)%ACGNT_PER_PAGE])
 
-/* Check if the page has been paged out. If rc == GNTST_okay, caller must do put_gfn(rd, gfn) */
-static int __get_paged_frame(unsigned long gfn, unsigned long *frame, int readonly, struct domain *rd)
+/* Check if the page has been paged out, or needs unsharing. 
+   If rc == GNTST_okay, *page contains the page struct with a ref taken.
+   Caller must do put_page(*page).
+   If any error, *page = NULL, *frame = INVALID_MFN, no ref taken. */
+static int __get_paged_frame(unsigned long gfn, unsigned long *frame, struct page_info **page,
+                                int readonly, struct domain *rd)
 {
     int rc = GNTST_okay;
 #if defined(P2M_PAGED_TYPES) || defined(P2M_SHARED_TYPES)
     p2m_type_t p2mt;
-    mfn_t mfn;
-
-    if ( readonly )
-        mfn = get_gfn(rd, gfn, &p2mt);
-    else
+
+    *page = get_page_from_gfn(rd, gfn, &p2mt, 
+                              (readonly) ? P2M_ALLOC : P2M_UNSHARE);
+    if ( !(*page) )
     {
-        mfn = get_gfn_unshare(rd, gfn, &p2mt);
+        *frame = INVALID_MFN;
         if ( p2m_is_shared(p2mt) )
+            return GNTST_eagain;
+        if ( p2m_is_paging(p2mt) )
         {
-            put_gfn(rd, gfn);
+            p2m_mem_paging_populate(rd, gfn);
             return GNTST_eagain;
         }
+        return GNTST_bad_page;
     }
-
-    if ( p2m_is_valid(p2mt) ) {
-        *frame = mfn_x(mfn);
-        if ( p2m_is_paging(p2mt) )
-        {
-            put_gfn(rd, gfn);
-            p2m_mem_paging_populate(rd, gfn);
-            rc = GNTST_eagain;
-        }
-    } else {
-       put_gfn(rd, gfn);
-       *frame = INVALID_MFN;
-       rc = GNTST_bad_page;
+    *frame = page_to_mfn(*page);
+#else
+    *frame = gmfn_to_mfn(rd, gfn);
+    *page = mfn_valid(*frame) ? mfn_to_page(*frame) : NULL;
+    if ( (!(*page)) || (!get_page(*page, rd)) )
+    {
+        *frame = INVALID_MFN;
+        *page = NULL;
+        rc = GNTST_bad_page;
     }
-#else
-    *frame = readonly ? gmfn_to_mfn(rd, gfn) : gfn_to_mfn_private(rd, gfn);
 #endif
 
     return rc;
@@ -470,12 +458,11 @@ static void
 __gnttab_map_grant_ref(
     struct gnttab_map_grant_ref *op)
 {
-    struct domain *ld, *rd, *owner;
+    struct domain *ld, *rd, *owner = NULL;
     struct vcpu   *led;
     int            handle;
-    unsigned long  gfn = INVALID_GFN;
     unsigned long  frame = 0, nr_gets = 0;
-    struct page_info *pg;
+    struct page_info *pg = NULL;
     int            rc = GNTST_okay;
     u32            old_pin;
     u32            act_pin;
@@ -573,13 +560,11 @@ static void
         {
             unsigned long frame;
 
-            gfn = sha1 ? sha1->frame : sha2->full_page.frame;
-            rc = __get_paged_frame(gfn, &frame, !!(op->flags & GNTMAP_readonly), rd);
+            unsigned long gfn = sha1 ? sha1->frame : sha2->full_page.frame;
+            rc = __get_paged_frame(gfn, &frame, &pg, 
+                                    !!(op->flags & GNTMAP_readonly), rd);
             if ( rc != GNTST_okay )
-            {
-                gfn = INVALID_GFN;
                 goto unlock_out_clear;
-            }
             act->gfn = gfn;
             act->domid = ld->domain_id;
             act->frame = frame;
@@ -606,9 +591,17 @@ static void
 
     spin_unlock(&rd->grant_table->lock);
 
-    pg = mfn_valid(frame) ? mfn_to_page(frame) : NULL;
-
-    if ( !pg || (owner = page_get_owner_and_reference(pg)) == dom_io )
+    /* pg may be set, with a refcount included, from __get_paged_frame */
+    if ( !pg )
+    {
+        pg = mfn_valid(frame) ? mfn_to_page(frame) : NULL;
+        if ( pg )
+            owner = page_get_owner_and_reference(pg);
+    }
+    else
+        owner = page_get_owner(pg);
+
+    if ( !pg || (owner == dom_io) )
     {
         /* Only needed the reference to confirm dom_io ownership. */
         if ( pg )
@@ -708,8 +701,6 @@ static void
     op->handle       = handle;
     op->status       = GNTST_okay;
 
-    if ( gfn != INVALID_GFN )
-        put_gfn(rd, gfn);
     rcu_unlock_domain(rd);
     return;
 
@@ -748,8 +739,6 @@ static void
         gnttab_clear_flag(_GTF_reading, status);
 
  unlock_out:
-    if ( gfn != INVALID_GFN )
-        put_gfn(rd, gfn);
     spin_unlock(&rd->grant_table->lock);
     op->status = rc;
     put_maptrack_handle(ld->grant_table, handle);
@@ -1479,7 +1468,16 @@ gnttab_transfer(
             return -EFAULT;
         }
 
-        mfn = gfn_to_mfn_private(d, gop.mfn);
+#ifdef CONFIG_X86
+        {
+            p2m_type_t __p2mt;
+            mfn = mfn_x(get_gfn_unshare(d, gop.mfn, &__p2mt));
+            if ( p2m_is_shared(__p2mt) || !p2m_is_valid(__p2mt) )
+                mfn = INVALID_MFN;
+        }
+#else
+        mfn = gmfn_to_mfn(d, gop.mfn);
+#endif
 
         /* Check the passed page frame for basic validity. */
         if ( unlikely(!mfn_valid(mfn)) )
@@ -1723,15 +1721,14 @@ static void __fixup_status_for_pin(const
 }
 
 /* Grab a frame number from a grant entry and update the flags and pin
-   count as appropriate.  Note that this does *not* update the page
-   type or reference counts, and does not check that the mfn is
-   actually valid. If *gfn != INVALID_GFN, and rc == GNTST_okay, then
-   we leave this function holding the p2m entry for *gfn in *owning_domain */
+   count as appropriate. If rc == GNTST_okay, note that this *does* 
+   take one ref count on the target page, stored in *page.
+   If there is any error, *page = NULL, no ref taken. */
 static int
 __acquire_grant_for_copy(
     struct domain *rd, unsigned long gref, struct domain *ld, int readonly,
-    unsigned long *frame, unsigned long *gfn, unsigned *page_off, unsigned *length,
-    unsigned allow_transitive, struct domain **owning_domain)
+    unsigned long *frame, struct page_info **page, 
+    unsigned *page_off, unsigned *length, unsigned allow_transitive)
 {
     grant_entry_v1_t *sha1;
     grant_entry_v2_t *sha2;
@@ -1746,11 +1743,9 @@ static int
     unsigned trans_page_off;
     unsigned trans_length;
     int is_sub_page;
-    struct domain *ignore;
     s16 rc = GNTST_okay;
 
-    *owning_domain = NULL;
-    *gfn = INVALID_GFN;
+    *page = NULL;
 
     spin_lock(&rd->grant_table->lock);
 
@@ -1827,14 +1822,13 @@ static int
             spin_unlock(&rd->grant_table->lock);
 
             rc = __acquire_grant_for_copy(td, trans_gref, rd,
-                                          readonly, &grant_frame, gfn,
-                                          &trans_page_off, &trans_length,
-                                          0, &ignore);
+                                          readonly, &grant_frame, page,
+                                          &trans_page_off, &trans_length, 0);
 
             spin_lock(&rd->grant_table->lock);
             if ( rc != GNTST_okay ) {
                 __fixup_status_for_pin(act, status);
-	        rcu_unlock_domain(td);
+                rcu_unlock_domain(td);
                 spin_unlock(&rd->grant_table->lock);
                 return rc;
             }
@@ -1846,56 +1840,49 @@ static int
             if ( act->pin != old_pin )
             {
                 __fixup_status_for_pin(act, status);
-	        rcu_unlock_domain(td);
+                rcu_unlock_domain(td);
                 spin_unlock(&rd->grant_table->lock);
+                put_page(*page);
                 return __acquire_grant_for_copy(rd, gref, ld, readonly,
-                                                frame, gfn, page_off, length,
-                                                allow_transitive,
-                                                owning_domain);
+                                                frame, page, page_off, length,
+                                                allow_transitive);
             }
 
             /* The actual remote remote grant may or may not be a
                sub-page, but we always treat it as one because that
                blocks mappings of transitive grants. */
             is_sub_page = 1;
-            *owning_domain = td;
             act->gfn = -1ul;
         }
         else if ( sha1 )
         {
-            *gfn = sha1->frame;
-            rc = __get_paged_frame(*gfn, &grant_frame, readonly, rd);
+            rc = __get_paged_frame(sha1->frame, &grant_frame, page, readonly, rd);
             if ( rc != GNTST_okay )
                 goto unlock_out;
-            act->gfn = *gfn;
+            act->gfn = sha1->frame;
             is_sub_page = 0;
             trans_page_off = 0;
             trans_length = PAGE_SIZE;
-            *owning_domain = rd;
         }
         else if ( !(sha2->hdr.flags & GTF_sub_page) )
         {
-            *gfn = sha2->full_page.frame;
-            rc = __get_paged_frame(*gfn, &grant_frame, readonly, rd);
+            rc = __get_paged_frame(sha2->full_page.frame, &grant_frame, page, readonly, rd);
             if ( rc != GNTST_okay )
                 goto unlock_out;
-            act->gfn = *gfn;
+            act->gfn = sha2->full_page.frame;
             is_sub_page = 0;
             trans_page_off = 0;
             trans_length = PAGE_SIZE;
-            *owning_domain = rd;
         }
         else
         {
-            *gfn = sha2->sub_page.frame;
-            rc = __get_paged_frame(*gfn, &grant_frame, readonly, rd);
+            rc = __get_paged_frame(sha2->sub_page.frame, &grant_frame, page, readonly, rd);
             if ( rc != GNTST_okay )
                 goto unlock_out;
-            act->gfn = *gfn;
+            act->gfn = sha2->sub_page.frame;
             is_sub_page = 1;
             trans_page_off = sha2->sub_page.page_off;
             trans_length = sha2->sub_page.length;
-            *owning_domain = rd;
         }
 
         if ( !act->pin )
@@ -1911,7 +1898,9 @@ static int
     }
     else
     {
-        *owning_domain = rd;
+        ASSERT(mfn_valid(act->frame));
+        *page = mfn_to_page(act->frame);
+        (void)page_get_owner_and_reference(*page);
     }
 
     act->pin += readonly ? GNTPIN_hstr_inc : GNTPIN_hstw_inc;
@@ -1930,11 +1919,11 @@ static void
     struct gnttab_copy *op)
 {
     struct domain *sd = NULL, *dd = NULL;
-    struct domain *source_domain = NULL, *dest_domain = NULL;
-    unsigned long s_frame, d_frame, s_gfn = INVALID_GFN, d_gfn = INVALID_GFN;
+    unsigned long s_frame, d_frame;
+    struct page_info *s_pg = NULL, *d_pg = NULL;
     char *sp, *dp;
     s16 rc = GNTST_okay;
-    int have_d_grant = 0, have_s_grant = 0, have_s_ref = 0;
+    int have_d_grant = 0, have_s_grant = 0;
     int src_is_gref, dest_is_gref;
 
     if ( ((op->source.offset + op->len) > PAGE_SIZE) ||
@@ -1972,82 +1961,54 @@ static void
     {
         unsigned source_off, source_len;
         rc = __acquire_grant_for_copy(sd, op->source.u.ref, current->domain, 1,
-                                      &s_frame, &s_gfn, &source_off, &source_len, 1,
-                                      &source_domain);
+                                      &s_frame, &s_pg, &source_off, &source_len, 1);
         if ( rc != GNTST_okay )
             goto error_out;
         have_s_grant = 1;
         if ( op->source.offset < source_off ||
              op->len > source_len )
-            PIN_FAIL(error_put_s_gfn, GNTST_general_error,
+            PIN_FAIL(error_out, GNTST_general_error,
                      "copy source out of bounds: %d < %d || %d > %d\n",
                      op->source.offset, source_off,
                      op->len, source_len);
     }
     else
     {
-#ifdef CONFIG_X86
-        s_gfn = op->source.u.gmfn;
-        rc = __get_paged_frame(op->source.u.gmfn, &s_frame, 1, sd);
+        rc = __get_paged_frame(op->source.u.gmfn, &s_frame, &s_pg, 1, sd);
         if ( rc != GNTST_okay )
-            goto error_out;
-#else
-        s_frame = gmfn_to_mfn(sd, op->source.u.gmfn);        
-#endif
-        source_domain = sd;
+            PIN_FAIL(error_out, rc,
+                     "source frame %lx invalid.\n", s_frame);
     }
-    if ( unlikely(!mfn_valid(s_frame)) )
-        PIN_FAIL(error_put_s_gfn, GNTST_general_error,
-                 "source frame %lx invalid.\n", s_frame);
-    /* For the source frame, the page could still be shared, so
-     * don't assume ownership by source_domain */
-    if ( !page_get_owner_and_reference(mfn_to_page(s_frame)) )
-    {
-        if ( !sd->is_dying )
-            gdprintk(XENLOG_WARNING, "Could not get src frame %lx\n", s_frame);
-        rc = GNTST_general_error;
-        goto error_put_s_gfn;
-    }
-    have_s_ref = 1;
 
     if ( dest_is_gref )
     {
         unsigned dest_off, dest_len;
         rc = __acquire_grant_for_copy(dd, op->dest.u.ref, current->domain, 0,
-                                      &d_frame, &d_gfn, &dest_off, &dest_len, 1,
-                                      &dest_domain);
+                                      &d_frame, &d_pg, &dest_off, &dest_len, 1);
         if ( rc != GNTST_okay )
-            goto error_put_s_gfn;
+            goto error_out;
         have_d_grant = 1;
         if ( op->dest.offset < dest_off ||
              op->len > dest_len )
-            PIN_FAIL(error_put_d_gfn, GNTST_general_error,
+            PIN_FAIL(error_out, GNTST_general_error,
                      "copy dest out of bounds: %d < %d || %d > %d\n",
                      op->dest.offset, dest_off,
                      op->len, dest_len);
     }
     else
     {
-#ifdef CONFIG_X86
-        d_gfn = op->dest.u.gmfn;
-        rc = __get_paged_frame(op->dest.u.gmfn, &d_frame, 0, dd);
+        rc = __get_paged_frame(op->dest.u.gmfn, &d_frame, &d_pg, 0, dd);
         if ( rc != GNTST_okay )
-            goto error_put_s_gfn;
-#else
-        d_frame = gmfn_to_mfn(dd, op->dest.u.gmfn);
-#endif
-        dest_domain = dd;
+            PIN_FAIL(error_out, rc,
+                     "destination frame %lx invalid.\n", d_frame);
     }
-    if ( unlikely(!mfn_valid(d_frame)) )
-        PIN_FAIL(error_put_d_gfn, GNTST_general_error,
-                 "destination frame %lx invalid.\n", d_frame);
-    if ( !get_page_and_type(mfn_to_page(d_frame), dest_domain,
-                            PGT_writable_page) )
+
+    if ( !get_page_type(d_pg, PGT_writable_page) )
     {
         if ( !dd->is_dying )
             gdprintk(XENLOG_WARNING, "Could not get dst frame %lx\n", d_frame);
         rc = GNTST_general_error;
-        goto error_put_d_gfn;
+        goto error_out;
     }
 
     sp = map_domain_page(s_frame);
@@ -2060,16 +2021,12 @@ static void
 
     gnttab_mark_dirty(dd, d_frame);
 
-    put_page_and_type(mfn_to_page(d_frame));
- error_put_d_gfn:
-    if ( (d_gfn != INVALID_GFN) && (dest_domain) )
-        put_gfn(dest_domain, d_gfn);
- error_put_s_gfn:
-    if ( (s_gfn != INVALID_GFN) && (source_domain) )
-        put_gfn(source_domain, s_gfn);
+    put_page_type(d_pg);
  error_out:
-    if ( have_s_ref )
-        put_page(mfn_to_page(s_frame));
+    if ( d_pg )
+        put_page(d_pg);
+    if ( s_pg )
+        put_page(s_pg);
     if ( have_s_grant )
         __release_grant_for_copy(sd, op->source.u.ref, 1);
     if ( have_d_grant )

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:07:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:07:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUxj-0000ic-AD; Thu, 10 May 2012 15:07:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSUxh-0000i1-RQ
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:07:26 +0000
Received: from [85.158.143.35:26535] by server-1.bemta-4.messagelabs.com id
	36/C6-20925-DA9DBAF4; Thu, 10 May 2012 15:07:25 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336662442!15490098!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3OTkx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2801 invoked from network); 10 May 2012 15:07:22 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-21.messagelabs.com with SMTP;
	10 May 2012 15:07:22 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 10 May 2012 08:07:21 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="141431584"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 10 May 2012 08:06:17 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 08:06:16 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 10 May 2012 23:06:14 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface (V2)
Thread-Index: Ac0uvnBnJV8RtIigTTax7Uicx2M6Kw==
Date: Thu, 10 May 2012 15:06:14 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 7aa4cf7c1172e24611dc76163397b8708acacc59 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 11 May 2012 06:55:35 +0800
Subject: [PATCH 3/3] Xen physical cpus interface

Manage physical cpus in dom0, get physical cpus info and provide sys interf=
ace.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
---
 .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
 drivers/xen/Makefile                               |    1 +
 drivers/xen/pcpu.c                                 |  374 ++++++++++++++++=
++++
 include/xen/interface/platform.h                   |    8 +
 include/xen/interface/xen.h                        |    1 +
 5 files changed, 404 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-devices-system-xen_cpu
 create mode 100644 drivers/xen/pcpu.c

diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu b/Docum=
entation/ABI/testing/sysfs-devices-system-xen_cpu
new file mode 100644
index 0000000..9ca02fb
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
@@ -0,0 +1,20 @@
+What:		/sys/devices/system/xen_cpu/
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		A collection of global/individual Xen physical cpu attributes
+
+		Individual physical cpu attributes are contained in
+		subdirectories named by the Xen's logical cpu number, e.g.:
+		/sys/devices/system/xen_cpu/xen_cpu#/
+
+
+What:		/sys/devices/system/xen_cpu/xen_cpu#/online
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		Interface to online/offline Xen physical cpus
+
+		When running under Xen platform, it provide user interface
+		to online/offline physical cpus, except cpu0 due to several
+		logic restrictions and assumptions.
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 1d3e763..d12d14d 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o
+obj-$(CONFIG_XEN_DOM0)			+=3D pcpu.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
new file mode 100644
index 0000000..9014ff1
--- /dev/null
+++ b/drivers/xen/pcpu.c
@@ -0,0 +1,374 @@
+/*************************************************************************=
*****
+ * pcpu.c
+ * Management physical cpu in dom0, get pcpu info and provide sys interfac=
e
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/interrupt.h>
+#include <linux/spinlock.h>
+#include <linux/cpu.h>
+#include <linux/stat.h>
+#include <linux/capability.h>
+
+#include <xen/xen.h>
+#include <xen/xenbus.h>
+#include <xen/events.h>
+#include <xen/interface/platform.h>
+#include <asm/xen/hypervisor.h>
+#include <asm/xen/hypercall.h>
+
+#define XEN_PCPU "xen_cpu: "
+
+/*
+ * @cpu_id: Xen physical cpu logic number
+ * @flags: Xen physical cpu status flag
+ * - XEN_PCPU_FLAGS_ONLINE: cpu is online
+ * - XEN_PCPU_FLAGS_INVALID: cpu is not present
+ */
+struct pcpu {
+	struct list_head list;
+	struct device dev;
+	uint32_t cpu_id;
+	uint32_t flags;
+};
+
+static struct bus_type xen_pcpu_subsys =3D {
+	.name =3D "xen_cpu",
+	.dev_name =3D "xen_cpu",
+};
+
+static DEFINE_MUTEX(xen_pcpu_lock);
+
+static LIST_HEAD(xen_pcpus);
+
+static int xen_pcpu_down(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_offline,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static int xen_pcpu_up(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_online,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static ssize_t show_online(struct device *dev,
+			   struct device_attribute *attr,
+			   char *buf)
+{
+	struct pcpu *cpu =3D container_of(dev, struct pcpu, dev);
+
+	return sprintf(buf, "%u\n", !!(cpu->flags & XEN_PCPU_FLAGS_ONLINE));
+}
+
+static ssize_t __ref store_online(struct device *dev,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
+{
+	struct pcpu *pcpu =3D container_of(dev, struct pcpu, dev);
+	unsigned long long val;
+	ssize_t ret;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	if (kstrtoull(buf, 0, &val) < 0)
+		return -EINVAL;
+
+	switch (val) {
+	case 0:
+		ret =3D xen_pcpu_down(pcpu->cpu_id);
+		break;
+	case 1:
+		ret =3D xen_pcpu_up(pcpu->cpu_id);
+		break;
+	default:
+		ret =3D -EINVAL;
+	}
+
+	if (ret >=3D 0)
+		ret =3D count;
+	return ret;
+}
+static DEVICE_ATTR(online, S_IRUGO | S_IWUSR, show_online, store_online);
+
+static bool xen_pcpu_online(uint32_t flags)
+{
+	return !!(flags & XEN_PCPU_FLAGS_ONLINE);
+}
+
+static void pcpu_online_status(struct xenpf_pcpuinfo *info,
+			       struct pcpu *pcpu)
+{
+	if (xen_pcpu_online(info->flags) &&
+	   !xen_pcpu_online(pcpu->flags)) {
+		/* the pcpu is onlined */
+		pcpu->flags |=3D XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_ONLINE);
+	} else if (!xen_pcpu_online(info->flags) &&
+		    xen_pcpu_online(pcpu->flags)) {
+		/* The pcpu is offlined */
+		pcpu->flags &=3D ~XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_OFFLINE);
+	}
+}
+
+static struct pcpu *get_pcpu(uint32_t cpu_id)
+{
+	struct list_head *cur;
+	struct pcpu *pcpu;
+
+	list_for_each(cur, &xen_pcpus) {
+		pcpu =3D list_entry(cur, struct pcpu, list);
+		if (pcpu->cpu_id =3D=3D cpu_id)
+			return pcpu;
+	}
+
+	return NULL;
+}
+
+static void pcpu_sys_remove(struct pcpu *pcpu)
+{
+	struct device *dev;
+
+	if (!pcpu)
+		return;
+
+	dev =3D &pcpu->dev;
+	if (dev->id)
+		device_remove_file(dev, &dev_attr_online);
+
+	device_unregister(dev);
+}
+
+static void free_pcpu(struct pcpu *pcpu)
+{
+	if (!pcpu)
+		return;
+
+	pcpu_sys_remove(pcpu);
+
+	list_del(&pcpu->list);
+	kfree(pcpu);
+}
+
+static int pcpu_sys_create(struct pcpu *pcpu)
+{
+	struct device *dev;
+	int err =3D -EINVAL;
+
+	if (!pcpu)
+		return err;
+
+	dev =3D &pcpu->dev;
+	dev->bus =3D &xen_pcpu_subsys;
+	dev->id =3D pcpu->cpu_id;
+
+	err =3D device_register(dev);
+	if (err)
+		return err;
+
+	/*
+	 * Xen never offline cpu0 due to several restrictions
+	 * and assumptions. This basically doesn't add a sys control
+	 * to user, one cannot attempt to offline BSP.
+	 */
+	if (dev->id) {
+		err =3D device_create_file(dev, &dev_attr_online);
+		if (err) {
+			device_unregister(dev);
+			return err;
+		}
+	}
+
+	return 0;
+}
+
+static struct pcpu *init_pcpu(struct xenpf_pcpuinfo *info)
+{
+	struct pcpu *pcpu;
+	int err;
+
+	if (info->flags & XEN_PCPU_FLAGS_INVALID)
+		return ERR_PTR(-ENODEV);
+
+	pcpu =3D kzalloc(sizeof(struct pcpu), GFP_KERNEL);
+	if (!pcpu)
+		return ERR_PTR(-ENOMEM);
+
+	INIT_LIST_HEAD(&pcpu->list);
+	pcpu->cpu_id =3D info->xen_cpuid;
+	pcpu->flags =3D info->flags;
+
+	err =3D pcpu_sys_create(pcpu);
+	if (err) {
+		pr_warning(XEN_PCPU "Failed to register pcpu%u\n",
+			   info->xen_cpuid);
+		kfree(pcpu);
+		return ERR_PTR(-ENOENT);
+	}
+
+	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
+	list_add_tail(&pcpu->list, &xen_pcpus);
+	return pcpu;
+}
+
+/*
+ * Caller should hold the xen_pcpu_lock
+ */
+static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu)
+{
+	int ret;
+	struct pcpu *pcpu =3D NULL;
+	struct xenpf_pcpuinfo *info;
+	struct xen_platform_op op =3D {
+		.cmd                   =3D XENPF_get_cpuinfo,
+		.interface_version     =3D XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid =3D cpu,
+	};
+
+	ret =3D HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return ret;
+
+	info =3D &op.u.pcpu_info;
+	if (max_cpu)
+		*max_cpu =3D info->max_present;
+
+	pcpu =3D get_pcpu(cpu);
+
+	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
+		/* The pcpu has been removed */
+		if (pcpu)
+			free_pcpu(pcpu);
+		return 0;
+	}
+
+	if (!pcpu) {
+		pcpu =3D init_pcpu(info);
+		if (IS_ERR_OR_NULL(pcpu))
+			return -ENODEV;
+	} else
+		pcpu_online_status(info, pcpu);
+
+	return 0;
+}
+
+/*
+ * Sync dom0's pcpu information with xen hypervisor's
+ */
+static int xen_sync_pcpus(void)
+{
+	/*
+	 * Boot cpu always have cpu_id 0 in xen
+	 */
+	uint32_t cpu =3D 0, max_cpu =3D 0;
+	int err =3D 0;
+	struct list_head *cur, *tmp;
+	struct pcpu *pcpu;
+
+	mutex_lock(&xen_pcpu_lock);
+
+	while (!err && (cpu <=3D max_cpu)) {
+		err =3D sync_pcpu(cpu, &max_cpu);
+		cpu++;
+	}
+
+	if (err) {
+		list_for_each_safe(cur, tmp, &xen_pcpus) {
+			pcpu =3D list_entry(cur, struct pcpu, list);
+			free_pcpu(pcpu);
+		}
+	}
+
+	mutex_unlock(&xen_pcpu_lock);
+
+	return err;
+}
+
+static void xen_pcpu_work_fn(struct work_struct *work)
+{
+	xen_sync_pcpus();
+}
+static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn);
+
+static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id)
+{
+	schedule_work(&xen_pcpu_work);
+	return IRQ_HANDLED;
+}
+
+static int __init xen_pcpu_init(void)
+{
+	int irq, ret;
+
+	if (!xen_initial_domain())
+		return -ENODEV;
+
+	irq =3D bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
+				      xen_pcpu_interrupt, 0,
+				      "xen-pcpu", NULL);
+	if (irq < 0) {
+		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
+		return irq;
+	}
+
+	ret =3D subsys_system_register(&xen_pcpu_subsys, NULL);
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
+		goto err1;
+	}
+
+	ret =3D xen_sync_pcpus();
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to sync pcpu info\n");
+		goto err2;
+	}
+
+	return 0;
+
+err2:
+	bus_unregister(&xen_pcpu_subsys);
+err1:
+	unbind_from_irqhandler(irq, NULL);
+	return ret;
+}
+arch_initcall(xen_pcpu_init);
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platf=
orm.h
index 486653f..61fa661 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -314,6 +314,13 @@ struct xenpf_pcpuinfo {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
=20
+#define XENPF_cpu_online	56
+#define XENPF_cpu_offline	57
+struct xenpf_cpu_ol {
+	uint32_t cpuid;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -330,6 +337,7 @@ struct xen_platform_op {
 		struct xenpf_getidletime       getidletime;
 		struct xenpf_set_processor_pminfo set_pminfo;
 		struct xenpf_pcpuinfo          pcpu_info;
+		struct xenpf_cpu_ol            cpu_ol;
 		uint8_t                        pad[128];
 	} u;
 };
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index a890804..0801468 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -80,6 +80,7 @@
 #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency console. =
*/
 #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event for some domain.   =
*/
 #define VIRQ_DEBUGGER   6  /* (DOM0) A domain has paused for debugging.   =
*/
+#define VIRQ_PCPU_STATE 9  /* (DOM0) PCPU state changed                   =
*/
=20
 /* Architecture-specific VIRQ definitions. */
 #define VIRQ_ARCH_0    16
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0003-Xen-physical-cpus-interface.patch"
Content-Description: 0003-Xen-physical-cpus-interface.patch
Content-Disposition: attachment;
	filename="0003-Xen-physical-cpus-interface.patch"; size=12603;
	creation-date="Thu, 10 May 2012 15:03:13 GMT";
	modification-date="Thu, 10 May 2012 22:58:00 GMT"
Content-Transfer-Encoding: base64

RnJvbSA3YWE0Y2Y3YzExNzJlMjQ2MTFkYzc2MTYzMzk3Yjg3MDhhY2FjYzU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxMSBNYXkgMjAxMiAwNjo1NTozNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMy8z
XSBYZW4gcGh5c2ljYWwgY3B1cyBpbnRlcmZhY2UKCk1hbmFnZSBwaHlzaWNhbCBjcHVzIGluIGRv
bTAsIGdldCBwaHlzaWNhbCBjcHVzIGluZm8gYW5kIHByb3ZpZGUgc3lzIGludGVyZmFjZS4KClNp
Z25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgpTaWduZWQt
b2ZmLWJ5OiBKaWFuZywgWXVuaG9uZyA8eXVuaG9uZy5qaWFuZ0BpbnRlbC5jb20+Ci0tLQogLi4u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUgICAgICAgfCAgIDIwICsK
IGRyaXZlcnMveGVuL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg
MSArCiBkcml2ZXJzL3hlbi9wY3B1LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAzNzQgKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUveGVuL2ludGVyZmFjZS9wbGF0Zm9y
bS5oICAgICAgICAgICAgICAgICAgIHwgICAgOCArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVu
LmggICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCA0MDQg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVu
dGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBkcml2ZXJzL3hlbi9wY3B1LmMKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUgYi9Eb2N1bWVudGF0aW9u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOWNhMDJmYgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50
YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2NwdQpAQCAtMCwwICsx
LDIwIEBACitXaGF0OgkJL3N5cy9kZXZpY2VzL3N5c3RlbS94ZW5fY3B1LworRGF0ZToJCU1heSAy
MDEyCitDb250YWN0OglMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4KK0Rlc2Ny
aXB0aW9uOgorCQlBIGNvbGxlY3Rpb24gb2YgZ2xvYmFsL2luZGl2aWR1YWwgWGVuIHBoeXNpY2Fs
IGNwdSBhdHRyaWJ1dGVzCisKKwkJSW5kaXZpZHVhbCBwaHlzaWNhbCBjcHUgYXR0cmlidXRlcyBh
cmUgY29udGFpbmVkIGluCisJCXN1YmRpcmVjdG9yaWVzIG5hbWVkIGJ5IHRoZSBYZW4ncyBsb2dp
Y2FsIGNwdSBudW1iZXIsIGUuZy46CisJCS9zeXMvZGV2aWNlcy9zeXN0ZW0veGVuX2NwdS94ZW5f
Y3B1Iy8KKworCitXaGF0OgkJL3N5cy9kZXZpY2VzL3N5c3RlbS94ZW5fY3B1L3hlbl9jcHUjL29u
bGluZQorRGF0ZToJCU1heSAyMDEyCitDb250YWN0OglMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1
QGludGVsLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlJbnRlcmZhY2UgdG8gb25saW5lL29mZmxpbmUg
WGVuIHBoeXNpY2FsIGNwdXMKKworCQlXaGVuIHJ1bm5pbmcgdW5kZXIgWGVuIHBsYXRmb3JtLCBp
dCBwcm92aWRlIHVzZXIgaW50ZXJmYWNlCisJCXRvIG9ubGluZS9vZmZsaW5lIHBoeXNpY2FsIGNw
dXMsIGV4Y2VwdCBjcHUwIGR1ZSB0byBzZXZlcmFsCisJCWxvZ2ljIHJlc3RyaWN0aW9ucyBhbmQg
YXNzdW1wdGlvbnMuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9NYWtlZmlsZSBiL2RyaXZlcnMv
eGVuL01ha2VmaWxlCmluZGV4IDFkM2U3NjMuLmQxMmQxNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv
eGVuL01ha2VmaWxlCisrKyBiL2RyaXZlcnMveGVuL01ha2VmaWxlCkBAIC0xOSw2ICsxOSw3IEBA
IG9iai0kKENPTkZJR19YRU5fUFZIVk0pCQkJKz0gcGxhdGZvcm0tcGNpLm8KIG9iai0kKENPTkZJ
R19YRU5fVE1FTSkJCQkrPSB0bWVtLm8KIG9iai0kKENPTkZJR19TV0lPVExCX1hFTikJCSs9IHN3
aW90bGIteGVuLm8KIG9iai0kKENPTkZJR19YRU5fRE9NMCkJCQkrPSBwY2kubworb2JqLSQoQ09O
RklHX1hFTl9ET00wKQkJCSs9IHBjcHUubwogb2JqLSQoQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VO
RCkJKz0geGVuLXBjaWJhY2svCiBvYmotJChDT05GSUdfWEVOX1BSSVZDTUQpCQkrPSB4ZW4tcHJp
dmNtZC5vCiBvYmotJChDT05GSUdfWEVOX0FDUElfUFJPQ0VTU09SKQkrPSB4ZW4tYWNwaS1wcm9j
ZXNzb3IubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vcGNwdS5jIGIvZHJpdmVycy94ZW4vcGNw
dS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMTRmZjEKLS0tIC9kZXYv
bnVsbAorKysgYi9kcml2ZXJzL3hlbi9wY3B1LmMKQEAgLTAsMCArMSwzNzQgQEAKKy8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKKyAqIHBjcHUuYworICogTWFuYWdlbWVudCBwaHlzaWNhbCBjcHUgaW4g
ZG9tMCwgZ2V0IHBjcHUgaW5mbyBhbmQgcHJvdmlkZSBzeXMgaW50ZXJmYWNlCisgKgorICogQ29w
eXJpZ2h0IChjKSAyMDEyIEludGVsIENvcnBvcmF0aW9uCisgKiBBdXRob3I6IExpdSwgSmluc29u
ZyA8amluc29uZy5saXVAaW50ZWwuY29tPgorICogQXV0aG9yOiBKaWFuZywgWXVuaG9uZyA8eXVu
aG9uZy5qaWFuZ0BpbnRlbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCisgKiBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgb3IsIHdoZW4gZGlz
dHJpYnV0ZWQKKyAqIHNlcGFyYXRlbHkgZnJvbSB0aGUgTGludXgga2VybmVsIG9yIGluY29ycG9y
YXRlZCBpbnRvIG90aGVyCisgKiBzb2Z0d2FyZSBwYWNrYWdlcywgc3ViamVjdCB0byB0aGUgZm9s
bG93aW5nIGxpY2Vuc2U6CisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBz
b3VyY2UgZmlsZSAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRo
b3V0CisgKiByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LAorICogbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsCisgKiBhbmQg
dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqLwor
CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2su
aD4KKyNpbmNsdWRlIDxsaW51eC9jcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+CisjaW5j
bHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorCisjaW5jbHVkZSA8eGVuL3hlbi5oPgorI2luY2x1
ZGUgPHhlbi94ZW5idXMuaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisjaW5jbHVkZSA8eGVu
L2ludGVyZmFjZS9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgor
I2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisKKyNkZWZpbmUgWEVOX1BDUFUgInhlbl9j
cHU6ICIKKworLyoKKyAqIEBjcHVfaWQ6IFhlbiBwaHlzaWNhbCBjcHUgbG9naWMgbnVtYmVyCisg
KiBAZmxhZ3M6IFhlbiBwaHlzaWNhbCBjcHUgc3RhdHVzIGZsYWcKKyAqIC0gWEVOX1BDUFVfRkxB
R1NfT05MSU5FOiBjcHUgaXMgb25saW5lCisgKiAtIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQ6IGNw
dSBpcyBub3QgcHJlc2VudAorICovCitzdHJ1Y3QgcGNwdSB7CisJc3RydWN0IGxpc3RfaGVhZCBs
aXN0OworCXN0cnVjdCBkZXZpY2UgZGV2OworCXVpbnQzMl90IGNwdV9pZDsKKwl1aW50MzJfdCBm
bGFnczsKK307CisKK3N0YXRpYyBzdHJ1Y3QgYnVzX3R5cGUgeGVuX3BjcHVfc3Vic3lzID0gewor
CS5uYW1lID0gInhlbl9jcHUiLAorCS5kZXZfbmFtZSA9ICJ4ZW5fY3B1IiwKK307CisKK3N0YXRp
YyBERUZJTkVfTVVURVgoeGVuX3BjcHVfbG9jayk7CisKK3N0YXRpYyBMSVNUX0hFQUQoeGVuX3Bj
cHVzKTsKKworc3RhdGljIGludCB4ZW5fcGNwdV9kb3duKHVpbnQzMl90IGNwdV9pZCkKK3sKKwlz
dHJ1Y3QgeGVuX3BsYXRmb3JtX29wIG9wID0geworCQkuY21kCQkJPSBYRU5QRl9jcHVfb2ZmbGlu
ZSwKKwkJLmludGVyZmFjZV92ZXJzaW9uCT0gWEVOUEZfSU5URVJGQUNFX1ZFUlNJT04sCisJCS51
LmNwdV9vbC5jcHVpZAkJPSBjcHVfaWQsCisJfTsKKworCXJldHVybiBIWVBFUlZJU09SX2RvbTBf
b3AoJm9wKTsKK30KKworc3RhdGljIGludCB4ZW5fcGNwdV91cCh1aW50MzJfdCBjcHVfaWQpCit7
CisJc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCBvcCA9IHsKKwkJLmNtZAkJCT0gWEVOUEZfY3B1X29u
bGluZSwKKwkJLmludGVyZmFjZV92ZXJzaW9uCT0gWEVOUEZfSU5URVJGQUNFX1ZFUlNJT04sCisJ
CS51LmNwdV9vbC5jcHVpZAkJPSBjcHVfaWQsCisJfTsKKworCXJldHVybiBIWVBFUlZJU09SX2Rv
bTBfb3AoJm9wKTsKK30KKworc3RhdGljIHNzaXplX3Qgc2hvd19vbmxpbmUoc3RydWN0IGRldmlj
ZSAqZGV2LAorCQkJICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgICBjaGFy
ICpidWYpCit7CisJc3RydWN0IHBjcHUgKmNwdSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBw
Y3B1LCBkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJXVcbiIsICEhKGNwdS0+ZmxhZ3Mg
JiBYRU5fUENQVV9GTEFHU19PTkxJTkUpKTsKK30KKworc3RhdGljIHNzaXplX3QgX19yZWYgc3Rv
cmVfb25saW5lKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgIHN0cnVjdCBkZXZpY2VfYXR0cmli
dXRlICphdHRyLAorCQkJCSAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCit7CisJc3Ry
dWN0IHBjcHUgKnBjcHUgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgcGNwdSwgZGV2KTsKKwl1
bnNpZ25lZCBsb25nIGxvbmcgdmFsOworCXNzaXplX3QgcmV0OworCisJaWYgKCFjYXBhYmxlKENB
UF9TWVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJaWYgKGtzdHJ0b3VsbChidWYsIDAs
ICZ2YWwpIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2ggKHZhbCkgeworCWNhc2Ug
MDoKKwkJcmV0ID0geGVuX3BjcHVfZG93bihwY3B1LT5jcHVfaWQpOworCQlicmVhazsKKwljYXNl
IDE6CisJCXJldCA9IHhlbl9wY3B1X3VwKHBjcHUtPmNwdV9pZCk7CisJCWJyZWFrOworCWRlZmF1
bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCisJaWYgKHJldCA+PSAwKQorCQlyZXQgPSBjb3Vu
dDsKKwlyZXR1cm4gcmV0OworfQorc3RhdGljIERFVklDRV9BVFRSKG9ubGluZSwgU19JUlVHTyB8
IFNfSVdVU1IsIHNob3dfb25saW5lLCBzdG9yZV9vbmxpbmUpOworCitzdGF0aWMgYm9vbCB4ZW5f
cGNwdV9vbmxpbmUodWludDMyX3QgZmxhZ3MpCit7CisJcmV0dXJuICEhKGZsYWdzICYgWEVOX1BD
UFVfRkxBR1NfT05MSU5FKTsKK30KKworc3RhdGljIHZvaWQgcGNwdV9vbmxpbmVfc3RhdHVzKHN0
cnVjdCB4ZW5wZl9wY3B1aW5mbyAqaW5mbywKKwkJCSAgICAgICBzdHJ1Y3QgcGNwdSAqcGNwdSkK
K3sKKwlpZiAoeGVuX3BjcHVfb25saW5lKGluZm8tPmZsYWdzKSAmJgorCSAgICF4ZW5fcGNwdV9v
bmxpbmUocGNwdS0+ZmxhZ3MpKSB7CisJCS8qIHRoZSBwY3B1IGlzIG9ubGluZWQgKi8KKwkJcGNw
dS0+ZmxhZ3MgfD0gWEVOX1BDUFVfRkxBR1NfT05MSU5FOworCQlrb2JqZWN0X3VldmVudCgmcGNw
dS0+ZGV2LmtvYmosIEtPQkpfT05MSU5FKTsKKwl9IGVsc2UgaWYgKCF4ZW5fcGNwdV9vbmxpbmUo
aW5mby0+ZmxhZ3MpICYmCisJCSAgICB4ZW5fcGNwdV9vbmxpbmUocGNwdS0+ZmxhZ3MpKSB7CisJ
CS8qIFRoZSBwY3B1IGlzIG9mZmxpbmVkICovCisJCXBjcHUtPmZsYWdzICY9IH5YRU5fUENQVV9G
TEFHU19PTkxJTkU7CisJCWtvYmplY3RfdWV2ZW50KCZwY3B1LT5kZXYua29iaiwgS09CSl9PRkZM
SU5FKTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNwdSAqZ2V0X3BjcHUodWludDMyX3QgY3B1
X2lkKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKmN1cjsKKwlzdHJ1Y3QgcGNwdSAqcGNwdTsKKwor
CWxpc3RfZm9yX2VhY2goY3VyLCAmeGVuX3BjcHVzKSB7CisJCXBjcHUgPSBsaXN0X2VudHJ5KGN1
ciwgc3RydWN0IHBjcHUsIGxpc3QpOworCQlpZiAocGNwdS0+Y3B1X2lkID09IGNwdV9pZCkKKwkJ
CXJldHVybiBwY3B1OworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBwY3B1
X3N5c19yZW1vdmUoc3RydWN0IHBjcHUgKnBjcHUpCit7CisJc3RydWN0IGRldmljZSAqZGV2Owor
CisJaWYgKCFwY3B1KQorCQlyZXR1cm47CisKKwlkZXYgPSAmcGNwdS0+ZGV2OworCWlmIChkZXYt
PmlkKQorCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfb25saW5lKTsKKworCWRl
dmljZV91bnJlZ2lzdGVyKGRldik7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfcGNwdShzdHJ1Y3Qg
cGNwdSAqcGNwdSkKK3sKKwlpZiAoIXBjcHUpCisJCXJldHVybjsKKworCXBjcHVfc3lzX3JlbW92
ZShwY3B1KTsKKworCWxpc3RfZGVsKCZwY3B1LT5saXN0KTsKKwlrZnJlZShwY3B1KTsKK30KKwor
c3RhdGljIGludCBwY3B1X3N5c19jcmVhdGUoc3RydWN0IHBjcHUgKnBjcHUpCit7CisJc3RydWN0
IGRldmljZSAqZGV2OworCWludCBlcnIgPSAtRUlOVkFMOworCisJaWYgKCFwY3B1KQorCQlyZXR1
cm4gZXJyOworCisJZGV2ID0gJnBjcHUtPmRldjsKKwlkZXYtPmJ1cyA9ICZ4ZW5fcGNwdV9zdWJz
eXM7CisJZGV2LT5pZCA9IHBjcHUtPmNwdV9pZDsKKworCWVyciA9IGRldmljZV9yZWdpc3Rlcihk
ZXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwkvKgorCSAqIFhlbiBuZXZlciBvZmZs
aW5lIGNwdTAgZHVlIHRvIHNldmVyYWwgcmVzdHJpY3Rpb25zCisJICogYW5kIGFzc3VtcHRpb25z
LiBUaGlzIGJhc2ljYWxseSBkb2Vzbid0IGFkZCBhIHN5cyBjb250cm9sCisJICogdG8gdXNlciwg
b25lIGNhbm5vdCBhdHRlbXB0IHRvIG9mZmxpbmUgQlNQLgorCSAqLworCWlmIChkZXYtPmlkKSB7
CisJCWVyciA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYsICZkZXZfYXR0cl9vbmxpbmUpOworCQlp
ZiAoZXJyKSB7CisJCQlkZXZpY2VfdW5yZWdpc3RlcihkZXYpOworCQkJcmV0dXJuIGVycjsKKwkJ
fQorCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHBjcHUgKmluaXRfcGNwdShz
dHJ1Y3QgeGVucGZfcGNwdWluZm8gKmluZm8pCit7CisJc3RydWN0IHBjcHUgKnBjcHU7CisJaW50
IGVycjsKKworCWlmIChpbmZvLT5mbGFncyAmIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQpCisJCXJl
dHVybiBFUlJfUFRSKC1FTk9ERVYpOworCisJcGNwdSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBw
Y3B1KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwY3B1KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN
KTsKKworCUlOSVRfTElTVF9IRUFEKCZwY3B1LT5saXN0KTsKKwlwY3B1LT5jcHVfaWQgPSBpbmZv
LT54ZW5fY3B1aWQ7CisJcGNwdS0+ZmxhZ3MgPSBpbmZvLT5mbGFnczsKKworCWVyciA9IHBjcHVf
c3lzX2NyZWF0ZShwY3B1KTsKKwlpZiAoZXJyKSB7CisJCXByX3dhcm5pbmcoWEVOX1BDUFUgIkZh
aWxlZCB0byByZWdpc3RlciBwY3B1JXVcbiIsCisJCQkgICBpbmZvLT54ZW5fY3B1aWQpOworCQlr
ZnJlZShwY3B1KTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CisJfQorCisJLyogTmVlZCBo
b2xkIG9uIHhlbl9wY3B1X2xvY2sgYmVmb3JlIHBjcHUgbGlzdCBtYW5pcHVsYXRpb25zICovCisJ
bGlzdF9hZGRfdGFpbCgmcGNwdS0+bGlzdCwgJnhlbl9wY3B1cyk7CisJcmV0dXJuIHBjcHU7Cit9
CisKKy8qCisgKiBDYWxsZXIgc2hvdWxkIGhvbGQgdGhlIHhlbl9wY3B1X2xvY2sKKyAqLworc3Rh
dGljIGludCBzeW5jX3BjcHUodWludDMyX3QgY3B1LCB1aW50MzJfdCAqbWF4X2NwdSkKK3sKKwlp
bnQgcmV0OworCXN0cnVjdCBwY3B1ICpwY3B1ID0gTlVMTDsKKwlzdHJ1Y3QgeGVucGZfcGNwdWlu
Zm8gKmluZm87CisJc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCBvcCA9IHsKKwkJLmNtZCAgICAgICAg
ICAgICAgICAgICA9IFhFTlBGX2dldF9jcHVpbmZvLAorCQkuaW50ZXJmYWNlX3ZlcnNpb24gICAg
ID0gWEVOUEZfSU5URVJGQUNFX1ZFUlNJT04sCisJCS51LnBjcHVfaW5mby54ZW5fY3B1aWQgPSBj
cHUsCisJfTsKKworCXJldCA9IEhZUEVSVklTT1JfZG9tMF9vcCgmb3ApOworCWlmIChyZXQpCisJ
CXJldHVybiByZXQ7CisKKwlpbmZvID0gJm9wLnUucGNwdV9pbmZvOworCWlmIChtYXhfY3B1KQor
CQkqbWF4X2NwdSA9IGluZm8tPm1heF9wcmVzZW50OworCisJcGNwdSA9IGdldF9wY3B1KGNwdSk7
CisKKwlpZiAoaW5mby0+ZmxhZ3MgJiBYRU5fUENQVV9GTEFHU19JTlZBTElEKSB7CisJCS8qIFRo
ZSBwY3B1IGhhcyBiZWVuIHJlbW92ZWQgKi8KKwkJaWYgKHBjcHUpCisJCQlmcmVlX3BjcHUocGNw
dSk7CisJCXJldHVybiAwOworCX0KKworCWlmICghcGNwdSkgeworCQlwY3B1ID0gaW5pdF9wY3B1
KGluZm8pOworCQlpZiAoSVNfRVJSX09SX05VTEwocGNwdSkpCisJCQlyZXR1cm4gLUVOT0RFVjsK
Kwl9IGVsc2UKKwkJcGNwdV9vbmxpbmVfc3RhdHVzKGluZm8sIHBjcHUpOworCisJcmV0dXJuIDA7
Cit9CisKKy8qCisgKiBTeW5jIGRvbTAncyBwY3B1IGluZm9ybWF0aW9uIHdpdGggeGVuIGh5cGVy
dmlzb3IncworICovCitzdGF0aWMgaW50IHhlbl9zeW5jX3BjcHVzKHZvaWQpCit7CisJLyoKKwkg
KiBCb290IGNwdSBhbHdheXMgaGF2ZSBjcHVfaWQgMCBpbiB4ZW4KKwkgKi8KKwl1aW50MzJfdCBj
cHUgPSAwLCBtYXhfY3B1ID0gMDsKKwlpbnQgZXJyID0gMDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpj
dXIsICp0bXA7CisJc3RydWN0IHBjcHUgKnBjcHU7CisKKwltdXRleF9sb2NrKCZ4ZW5fcGNwdV9s
b2NrKTsKKworCXdoaWxlICghZXJyICYmIChjcHUgPD0gbWF4X2NwdSkpIHsKKwkJZXJyID0gc3lu
Y19wY3B1KGNwdSwgJm1heF9jcHUpOworCQljcHUrKzsKKwl9CisKKwlpZiAoZXJyKSB7CisJCWxp
c3RfZm9yX2VhY2hfc2FmZShjdXIsIHRtcCwgJnhlbl9wY3B1cykgeworCQkJcGNwdSA9IGxpc3Rf
ZW50cnkoY3VyLCBzdHJ1Y3QgcGNwdSwgbGlzdCk7CisJCQlmcmVlX3BjcHUocGNwdSk7CisJCX0K
Kwl9CisKKwltdXRleF91bmxvY2soJnhlbl9wY3B1X2xvY2spOworCisJcmV0dXJuIGVycjsKK30K
Kworc3RhdGljIHZvaWQgeGVuX3BjcHVfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp
Cit7CisJeGVuX3N5bmNfcGNwdXMoKTsKK30KK3N0YXRpYyBERUNMQVJFX1dPUksoeGVuX3BjcHVf
d29yaywgeGVuX3BjcHVfd29ya19mbik7CisKK3N0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fcGNwdV9p
bnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXNjaGVkdWxlX3dvcmsoJnhlbl9w
Y3B1X3dvcmspOworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGludCBfX2luaXQg
eGVuX3BjcHVfaW5pdCh2b2lkKQoreworCWludCBpcnEsIHJldDsKKworCWlmICgheGVuX2luaXRp
YWxfZG9tYWluKCkpCisJCXJldHVybiAtRU5PREVWOworCisJaXJxID0gYmluZF92aXJxX3RvX2ly
cWhhbmRsZXIoVklSUV9QQ1BVX1NUQVRFLCAwLAorCQkJCSAgICAgIHhlbl9wY3B1X2ludGVycnVw
dCwgMCwKKwkJCQkgICAgICAieGVuLXBjcHUiLCBOVUxMKTsKKwlpZiAoaXJxIDwgMCkgeworCQlw
cl93YXJuaW5nKFhFTl9QQ1BVICJGYWlsZWQgdG8gYmluZCBwY3B1IHZpcnFcbiIpOworCQlyZXR1
cm4gaXJxOworCX0KKworCXJldCA9IHN1YnN5c19zeXN0ZW1fcmVnaXN0ZXIoJnhlbl9wY3B1X3N1
YnN5cywgTlVMTCk7CisJaWYgKHJldCkgeworCQlwcl93YXJuaW5nKFhFTl9QQ1BVICJGYWlsZWQg
dG8gcmVnaXN0ZXIgcGNwdSBzdWJzeXNcbiIpOworCQlnb3RvIGVycjE7CisJfQorCisJcmV0ID0g
eGVuX3N5bmNfcGNwdXMoKTsKKwlpZiAocmV0KSB7CisJCXByX3dhcm5pbmcoWEVOX1BDUFUgIkZh
aWxlZCB0byBzeW5jIHBjcHUgaW5mb1xuIik7CisJCWdvdG8gZXJyMjsKKwl9CisKKwlyZXR1cm4g
MDsKKworZXJyMjoKKwlidXNfdW5yZWdpc3RlcigmeGVuX3BjcHVfc3Vic3lzKTsKK2VycjE6CisJ
dW5iaW5kX2Zyb21faXJxaGFuZGxlcihpcnEsIE5VTEwpOworCXJldHVybiByZXQ7Cit9CithcmNo
X2luaXRjYWxsKHhlbl9wY3B1X2luaXQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJm
YWNlL3BsYXRmb3JtLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvcGxhdGZvcm0uaAppbmRleCA0
ODY2NTNmLi42MWZhNjYxIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvcGxhdGZv
cm0uaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvcGxhdGZvcm0uaApAQCAtMzE0LDYgKzMx
NCwxMyBAQCBzdHJ1Y3QgeGVucGZfcGNwdWluZm8gewogfTsKIERFRklORV9HVUVTVF9IQU5ETEVf
U1RSVUNUKHhlbnBmX3BjcHVpbmZvKTsKIAorI2RlZmluZSBYRU5QRl9jcHVfb25saW5lCTU2Cisj
ZGVmaW5lIFhFTlBGX2NwdV9vZmZsaW5lCTU3CitzdHJ1Y3QgeGVucGZfY3B1X29sIHsKKwl1aW50
MzJfdCBjcHVpZDsKK307CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5wZl9jcHVfb2wp
OworCiBzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wIHsKIAl1aW50MzJfdCBjbWQ7CiAJdWludDMyX3Qg
aW50ZXJmYWNlX3ZlcnNpb247IC8qIFhFTlBGX0lOVEVSRkFDRV9WRVJTSU9OICovCkBAIC0zMzAs
NiArMzM3LDcgQEAgc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCB7CiAJCXN0cnVjdCB4ZW5wZl9nZXRp
ZGxldGltZSAgICAgICBnZXRpZGxldGltZTsKIAkJc3RydWN0IHhlbnBmX3NldF9wcm9jZXNzb3Jf
cG1pbmZvIHNldF9wbWluZm87CiAJCXN0cnVjdCB4ZW5wZl9wY3B1aW5mbyAgICAgICAgICBwY3B1
X2luZm87CisJCXN0cnVjdCB4ZW5wZl9jcHVfb2wgICAgICAgICAgICBjcHVfb2w7CiAJCXVpbnQ4
X3QgICAgICAgICAgICAgICAgICAgICAgICBwYWRbMTI4XTsKIAl9IHU7CiB9OwpkaWZmIC0tZ2l0
IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hl
bi5oCmluZGV4IGE4OTA4MDQuLjA4MDE0NjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVy
ZmFjZS94ZW4uaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKQEAgLTgwLDYgKzgw
LDcgQEAKICNkZWZpbmUgVklSUV9DT05TT0xFICAgIDIgIC8qIChET00wKSBCeXRlcyByZWNlaXZl
ZCBvbiBlbWVyZ2VuY3kgY29uc29sZS4gKi8KICNkZWZpbmUgVklSUV9ET01fRVhDICAgIDMgIC8q
IChET00wKSBFeGNlcHRpb25hbCBldmVudCBmb3Igc29tZSBkb21haW4uICAgKi8KICNkZWZpbmUg
VklSUV9ERUJVR0dFUiAgIDYgIC8qIChET00wKSBBIGRvbWFpbiBoYXMgcGF1c2VkIGZvciBkZWJ1
Z2dpbmcuICAgKi8KKyNkZWZpbmUgVklSUV9QQ1BVX1NUQVRFIDkgIC8qIChET00wKSBQQ1BVIHN0
YXRlIGNoYW5nZWQgICAgICAgICAgICAgICAgICAgKi8KIAogLyogQXJjaGl0ZWN0dXJlLXNwZWNp
ZmljIFZJUlEgZGVmaW5pdGlvbnMuICovCiAjZGVmaW5lIFZJUlFfQVJDSF8wICAgIDE2Ci0tIAox
LjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 10 15:07:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:07:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSUxj-0000ic-AD; Thu, 10 May 2012 15:07:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSUxh-0000i1-RQ
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:07:26 +0000
Received: from [85.158.143.35:26535] by server-1.bemta-4.messagelabs.com id
	36/C6-20925-DA9DBAF4; Thu, 10 May 2012 15:07:25 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336662442!15490098!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3OTkx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2801 invoked from network); 10 May 2012 15:07:22 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-21.messagelabs.com with SMTP;
	10 May 2012 15:07:22 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 10 May 2012 08:07:21 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="141431584"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 10 May 2012 08:06:17 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 08:06:16 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 10 May 2012 23:06:14 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface (V2)
Thread-Index: Ac0uvnBnJV8RtIigTTax7Uicx2M6Kw==
Date: Thu, 10 May 2012 15:06:14 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 7aa4cf7c1172e24611dc76163397b8708acacc59 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 11 May 2012 06:55:35 +0800
Subject: [PATCH 3/3] Xen physical cpus interface

Manage physical cpus in dom0, get physical cpus info and provide sys interf=
ace.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
---
 .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
 drivers/xen/Makefile                               |    1 +
 drivers/xen/pcpu.c                                 |  374 ++++++++++++++++=
++++
 include/xen/interface/platform.h                   |    8 +
 include/xen/interface/xen.h                        |    1 +
 5 files changed, 404 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-devices-system-xen_cpu
 create mode 100644 drivers/xen/pcpu.c

diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu b/Docum=
entation/ABI/testing/sysfs-devices-system-xen_cpu
new file mode 100644
index 0000000..9ca02fb
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
@@ -0,0 +1,20 @@
+What:		/sys/devices/system/xen_cpu/
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		A collection of global/individual Xen physical cpu attributes
+
+		Individual physical cpu attributes are contained in
+		subdirectories named by the Xen's logical cpu number, e.g.:
+		/sys/devices/system/xen_cpu/xen_cpu#/
+
+
+What:		/sys/devices/system/xen_cpu/xen_cpu#/online
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		Interface to online/offline Xen physical cpus
+
+		When running under Xen platform, it provide user interface
+		to online/offline physical cpus, except cpu0 due to several
+		logic restrictions and assumptions.
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 1d3e763..d12d14d 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o
+obj-$(CONFIG_XEN_DOM0)			+=3D pcpu.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
new file mode 100644
index 0000000..9014ff1
--- /dev/null
+++ b/drivers/xen/pcpu.c
@@ -0,0 +1,374 @@
+/*************************************************************************=
*****
+ * pcpu.c
+ * Management physical cpu in dom0, get pcpu info and provide sys interfac=
e
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/interrupt.h>
+#include <linux/spinlock.h>
+#include <linux/cpu.h>
+#include <linux/stat.h>
+#include <linux/capability.h>
+
+#include <xen/xen.h>
+#include <xen/xenbus.h>
+#include <xen/events.h>
+#include <xen/interface/platform.h>
+#include <asm/xen/hypervisor.h>
+#include <asm/xen/hypercall.h>
+
+#define XEN_PCPU "xen_cpu: "
+
+/*
+ * @cpu_id: Xen physical cpu logic number
+ * @flags: Xen physical cpu status flag
+ * - XEN_PCPU_FLAGS_ONLINE: cpu is online
+ * - XEN_PCPU_FLAGS_INVALID: cpu is not present
+ */
+struct pcpu {
+	struct list_head list;
+	struct device dev;
+	uint32_t cpu_id;
+	uint32_t flags;
+};
+
+static struct bus_type xen_pcpu_subsys =3D {
+	.name =3D "xen_cpu",
+	.dev_name =3D "xen_cpu",
+};
+
+static DEFINE_MUTEX(xen_pcpu_lock);
+
+static LIST_HEAD(xen_pcpus);
+
+static int xen_pcpu_down(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_offline,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static int xen_pcpu_up(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_online,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static ssize_t show_online(struct device *dev,
+			   struct device_attribute *attr,
+			   char *buf)
+{
+	struct pcpu *cpu =3D container_of(dev, struct pcpu, dev);
+
+	return sprintf(buf, "%u\n", !!(cpu->flags & XEN_PCPU_FLAGS_ONLINE));
+}
+
+static ssize_t __ref store_online(struct device *dev,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
+{
+	struct pcpu *pcpu =3D container_of(dev, struct pcpu, dev);
+	unsigned long long val;
+	ssize_t ret;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	if (kstrtoull(buf, 0, &val) < 0)
+		return -EINVAL;
+
+	switch (val) {
+	case 0:
+		ret =3D xen_pcpu_down(pcpu->cpu_id);
+		break;
+	case 1:
+		ret =3D xen_pcpu_up(pcpu->cpu_id);
+		break;
+	default:
+		ret =3D -EINVAL;
+	}
+
+	if (ret >=3D 0)
+		ret =3D count;
+	return ret;
+}
+static DEVICE_ATTR(online, S_IRUGO | S_IWUSR, show_online, store_online);
+
+static bool xen_pcpu_online(uint32_t flags)
+{
+	return !!(flags & XEN_PCPU_FLAGS_ONLINE);
+}
+
+static void pcpu_online_status(struct xenpf_pcpuinfo *info,
+			       struct pcpu *pcpu)
+{
+	if (xen_pcpu_online(info->flags) &&
+	   !xen_pcpu_online(pcpu->flags)) {
+		/* the pcpu is onlined */
+		pcpu->flags |=3D XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_ONLINE);
+	} else if (!xen_pcpu_online(info->flags) &&
+		    xen_pcpu_online(pcpu->flags)) {
+		/* The pcpu is offlined */
+		pcpu->flags &=3D ~XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_OFFLINE);
+	}
+}
+
+static struct pcpu *get_pcpu(uint32_t cpu_id)
+{
+	struct list_head *cur;
+	struct pcpu *pcpu;
+
+	list_for_each(cur, &xen_pcpus) {
+		pcpu =3D list_entry(cur, struct pcpu, list);
+		if (pcpu->cpu_id =3D=3D cpu_id)
+			return pcpu;
+	}
+
+	return NULL;
+}
+
+static void pcpu_sys_remove(struct pcpu *pcpu)
+{
+	struct device *dev;
+
+	if (!pcpu)
+		return;
+
+	dev =3D &pcpu->dev;
+	if (dev->id)
+		device_remove_file(dev, &dev_attr_online);
+
+	device_unregister(dev);
+}
+
+static void free_pcpu(struct pcpu *pcpu)
+{
+	if (!pcpu)
+		return;
+
+	pcpu_sys_remove(pcpu);
+
+	list_del(&pcpu->list);
+	kfree(pcpu);
+}
+
+static int pcpu_sys_create(struct pcpu *pcpu)
+{
+	struct device *dev;
+	int err =3D -EINVAL;
+
+	if (!pcpu)
+		return err;
+
+	dev =3D &pcpu->dev;
+	dev->bus =3D &xen_pcpu_subsys;
+	dev->id =3D pcpu->cpu_id;
+
+	err =3D device_register(dev);
+	if (err)
+		return err;
+
+	/*
+	 * Xen never offline cpu0 due to several restrictions
+	 * and assumptions. This basically doesn't add a sys control
+	 * to user, one cannot attempt to offline BSP.
+	 */
+	if (dev->id) {
+		err =3D device_create_file(dev, &dev_attr_online);
+		if (err) {
+			device_unregister(dev);
+			return err;
+		}
+	}
+
+	return 0;
+}
+
+static struct pcpu *init_pcpu(struct xenpf_pcpuinfo *info)
+{
+	struct pcpu *pcpu;
+	int err;
+
+	if (info->flags & XEN_PCPU_FLAGS_INVALID)
+		return ERR_PTR(-ENODEV);
+
+	pcpu =3D kzalloc(sizeof(struct pcpu), GFP_KERNEL);
+	if (!pcpu)
+		return ERR_PTR(-ENOMEM);
+
+	INIT_LIST_HEAD(&pcpu->list);
+	pcpu->cpu_id =3D info->xen_cpuid;
+	pcpu->flags =3D info->flags;
+
+	err =3D pcpu_sys_create(pcpu);
+	if (err) {
+		pr_warning(XEN_PCPU "Failed to register pcpu%u\n",
+			   info->xen_cpuid);
+		kfree(pcpu);
+		return ERR_PTR(-ENOENT);
+	}
+
+	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
+	list_add_tail(&pcpu->list, &xen_pcpus);
+	return pcpu;
+}
+
+/*
+ * Caller should hold the xen_pcpu_lock
+ */
+static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu)
+{
+	int ret;
+	struct pcpu *pcpu =3D NULL;
+	struct xenpf_pcpuinfo *info;
+	struct xen_platform_op op =3D {
+		.cmd                   =3D XENPF_get_cpuinfo,
+		.interface_version     =3D XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid =3D cpu,
+	};
+
+	ret =3D HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return ret;
+
+	info =3D &op.u.pcpu_info;
+	if (max_cpu)
+		*max_cpu =3D info->max_present;
+
+	pcpu =3D get_pcpu(cpu);
+
+	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
+		/* The pcpu has been removed */
+		if (pcpu)
+			free_pcpu(pcpu);
+		return 0;
+	}
+
+	if (!pcpu) {
+		pcpu =3D init_pcpu(info);
+		if (IS_ERR_OR_NULL(pcpu))
+			return -ENODEV;
+	} else
+		pcpu_online_status(info, pcpu);
+
+	return 0;
+}
+
+/*
+ * Sync dom0's pcpu information with xen hypervisor's
+ */
+static int xen_sync_pcpus(void)
+{
+	/*
+	 * Boot cpu always have cpu_id 0 in xen
+	 */
+	uint32_t cpu =3D 0, max_cpu =3D 0;
+	int err =3D 0;
+	struct list_head *cur, *tmp;
+	struct pcpu *pcpu;
+
+	mutex_lock(&xen_pcpu_lock);
+
+	while (!err && (cpu <=3D max_cpu)) {
+		err =3D sync_pcpu(cpu, &max_cpu);
+		cpu++;
+	}
+
+	if (err) {
+		list_for_each_safe(cur, tmp, &xen_pcpus) {
+			pcpu =3D list_entry(cur, struct pcpu, list);
+			free_pcpu(pcpu);
+		}
+	}
+
+	mutex_unlock(&xen_pcpu_lock);
+
+	return err;
+}
+
+static void xen_pcpu_work_fn(struct work_struct *work)
+{
+	xen_sync_pcpus();
+}
+static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn);
+
+static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id)
+{
+	schedule_work(&xen_pcpu_work);
+	return IRQ_HANDLED;
+}
+
+static int __init xen_pcpu_init(void)
+{
+	int irq, ret;
+
+	if (!xen_initial_domain())
+		return -ENODEV;
+
+	irq =3D bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
+				      xen_pcpu_interrupt, 0,
+				      "xen-pcpu", NULL);
+	if (irq < 0) {
+		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
+		return irq;
+	}
+
+	ret =3D subsys_system_register(&xen_pcpu_subsys, NULL);
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
+		goto err1;
+	}
+
+	ret =3D xen_sync_pcpus();
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to sync pcpu info\n");
+		goto err2;
+	}
+
+	return 0;
+
+err2:
+	bus_unregister(&xen_pcpu_subsys);
+err1:
+	unbind_from_irqhandler(irq, NULL);
+	return ret;
+}
+arch_initcall(xen_pcpu_init);
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platf=
orm.h
index 486653f..61fa661 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -314,6 +314,13 @@ struct xenpf_pcpuinfo {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
=20
+#define XENPF_cpu_online	56
+#define XENPF_cpu_offline	57
+struct xenpf_cpu_ol {
+	uint32_t cpuid;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -330,6 +337,7 @@ struct xen_platform_op {
 		struct xenpf_getidletime       getidletime;
 		struct xenpf_set_processor_pminfo set_pminfo;
 		struct xenpf_pcpuinfo          pcpu_info;
+		struct xenpf_cpu_ol            cpu_ol;
 		uint8_t                        pad[128];
 	} u;
 };
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index a890804..0801468 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -80,6 +80,7 @@
 #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency console. =
*/
 #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event for some domain.   =
*/
 #define VIRQ_DEBUGGER   6  /* (DOM0) A domain has paused for debugging.   =
*/
+#define VIRQ_PCPU_STATE 9  /* (DOM0) PCPU state changed                   =
*/
=20
 /* Architecture-specific VIRQ definitions. */
 #define VIRQ_ARCH_0    16
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0003-Xen-physical-cpus-interface.patch"
Content-Description: 0003-Xen-physical-cpus-interface.patch
Content-Disposition: attachment;
	filename="0003-Xen-physical-cpus-interface.patch"; size=12603;
	creation-date="Thu, 10 May 2012 15:03:13 GMT";
	modification-date="Thu, 10 May 2012 22:58:00 GMT"
Content-Transfer-Encoding: base64

RnJvbSA3YWE0Y2Y3YzExNzJlMjQ2MTFkYzc2MTYzMzk3Yjg3MDhhY2FjYzU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxMSBNYXkgMjAxMiAwNjo1NTozNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMy8z
XSBYZW4gcGh5c2ljYWwgY3B1cyBpbnRlcmZhY2UKCk1hbmFnZSBwaHlzaWNhbCBjcHVzIGluIGRv
bTAsIGdldCBwaHlzaWNhbCBjcHVzIGluZm8gYW5kIHByb3ZpZGUgc3lzIGludGVyZmFjZS4KClNp
Z25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgpTaWduZWQt
b2ZmLWJ5OiBKaWFuZywgWXVuaG9uZyA8eXVuaG9uZy5qaWFuZ0BpbnRlbC5jb20+Ci0tLQogLi4u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUgICAgICAgfCAgIDIwICsK
IGRyaXZlcnMveGVuL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg
MSArCiBkcml2ZXJzL3hlbi9wY3B1LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAzNzQgKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUveGVuL2ludGVyZmFjZS9wbGF0Zm9y
bS5oICAgICAgICAgICAgICAgICAgIHwgICAgOCArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVu
LmggICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCA0MDQg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVu
dGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBkcml2ZXJzL3hlbi9wY3B1LmMKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUgYi9Eb2N1bWVudGF0aW9u
L0FCSS90ZXN0aW5nL3N5c2ZzLWRldmljZXMtc3lzdGVtLXhlbl9jcHUKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOWNhMDJmYgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50
YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2NwdQpAQCAtMCwwICsx
LDIwIEBACitXaGF0OgkJL3N5cy9kZXZpY2VzL3N5c3RlbS94ZW5fY3B1LworRGF0ZToJCU1heSAy
MDEyCitDb250YWN0OglMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4KK0Rlc2Ny
aXB0aW9uOgorCQlBIGNvbGxlY3Rpb24gb2YgZ2xvYmFsL2luZGl2aWR1YWwgWGVuIHBoeXNpY2Fs
IGNwdSBhdHRyaWJ1dGVzCisKKwkJSW5kaXZpZHVhbCBwaHlzaWNhbCBjcHUgYXR0cmlidXRlcyBh
cmUgY29udGFpbmVkIGluCisJCXN1YmRpcmVjdG9yaWVzIG5hbWVkIGJ5IHRoZSBYZW4ncyBsb2dp
Y2FsIGNwdSBudW1iZXIsIGUuZy46CisJCS9zeXMvZGV2aWNlcy9zeXN0ZW0veGVuX2NwdS94ZW5f
Y3B1Iy8KKworCitXaGF0OgkJL3N5cy9kZXZpY2VzL3N5c3RlbS94ZW5fY3B1L3hlbl9jcHUjL29u
bGluZQorRGF0ZToJCU1heSAyMDEyCitDb250YWN0OglMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1
QGludGVsLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlJbnRlcmZhY2UgdG8gb25saW5lL29mZmxpbmUg
WGVuIHBoeXNpY2FsIGNwdXMKKworCQlXaGVuIHJ1bm5pbmcgdW5kZXIgWGVuIHBsYXRmb3JtLCBp
dCBwcm92aWRlIHVzZXIgaW50ZXJmYWNlCisJCXRvIG9ubGluZS9vZmZsaW5lIHBoeXNpY2FsIGNw
dXMsIGV4Y2VwdCBjcHUwIGR1ZSB0byBzZXZlcmFsCisJCWxvZ2ljIHJlc3RyaWN0aW9ucyBhbmQg
YXNzdW1wdGlvbnMuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9NYWtlZmlsZSBiL2RyaXZlcnMv
eGVuL01ha2VmaWxlCmluZGV4IDFkM2U3NjMuLmQxMmQxNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv
eGVuL01ha2VmaWxlCisrKyBiL2RyaXZlcnMveGVuL01ha2VmaWxlCkBAIC0xOSw2ICsxOSw3IEBA
IG9iai0kKENPTkZJR19YRU5fUFZIVk0pCQkJKz0gcGxhdGZvcm0tcGNpLm8KIG9iai0kKENPTkZJ
R19YRU5fVE1FTSkJCQkrPSB0bWVtLm8KIG9iai0kKENPTkZJR19TV0lPVExCX1hFTikJCSs9IHN3
aW90bGIteGVuLm8KIG9iai0kKENPTkZJR19YRU5fRE9NMCkJCQkrPSBwY2kubworb2JqLSQoQ09O
RklHX1hFTl9ET00wKQkJCSs9IHBjcHUubwogb2JqLSQoQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VO
RCkJKz0geGVuLXBjaWJhY2svCiBvYmotJChDT05GSUdfWEVOX1BSSVZDTUQpCQkrPSB4ZW4tcHJp
dmNtZC5vCiBvYmotJChDT05GSUdfWEVOX0FDUElfUFJPQ0VTU09SKQkrPSB4ZW4tYWNwaS1wcm9j
ZXNzb3IubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vcGNwdS5jIGIvZHJpdmVycy94ZW4vcGNw
dS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMTRmZjEKLS0tIC9kZXYv
bnVsbAorKysgYi9kcml2ZXJzL3hlbi9wY3B1LmMKQEAgLTAsMCArMSwzNzQgQEAKKy8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKKyAqIHBjcHUuYworICogTWFuYWdlbWVudCBwaHlzaWNhbCBjcHUgaW4g
ZG9tMCwgZ2V0IHBjcHUgaW5mbyBhbmQgcHJvdmlkZSBzeXMgaW50ZXJmYWNlCisgKgorICogQ29w
eXJpZ2h0IChjKSAyMDEyIEludGVsIENvcnBvcmF0aW9uCisgKiBBdXRob3I6IExpdSwgSmluc29u
ZyA8amluc29uZy5saXVAaW50ZWwuY29tPgorICogQXV0aG9yOiBKaWFuZywgWXVuaG9uZyA8eXVu
aG9uZy5qaWFuZ0BpbnRlbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCisgKiBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgb3IsIHdoZW4gZGlz
dHJpYnV0ZWQKKyAqIHNlcGFyYXRlbHkgZnJvbSB0aGUgTGludXgga2VybmVsIG9yIGluY29ycG9y
YXRlZCBpbnRvIG90aGVyCisgKiBzb2Z0d2FyZSBwYWNrYWdlcywgc3ViamVjdCB0byB0aGUgZm9s
bG93aW5nIGxpY2Vuc2U6CisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBz
b3VyY2UgZmlsZSAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRo
b3V0CisgKiByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LAorICogbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsCisgKiBhbmQg
dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqLwor
CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2su
aD4KKyNpbmNsdWRlIDxsaW51eC9jcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+CisjaW5j
bHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorCisjaW5jbHVkZSA8eGVuL3hlbi5oPgorI2luY2x1
ZGUgPHhlbi94ZW5idXMuaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisjaW5jbHVkZSA8eGVu
L2ludGVyZmFjZS9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgor
I2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisKKyNkZWZpbmUgWEVOX1BDUFUgInhlbl9j
cHU6ICIKKworLyoKKyAqIEBjcHVfaWQ6IFhlbiBwaHlzaWNhbCBjcHUgbG9naWMgbnVtYmVyCisg
KiBAZmxhZ3M6IFhlbiBwaHlzaWNhbCBjcHUgc3RhdHVzIGZsYWcKKyAqIC0gWEVOX1BDUFVfRkxB
R1NfT05MSU5FOiBjcHUgaXMgb25saW5lCisgKiAtIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQ6IGNw
dSBpcyBub3QgcHJlc2VudAorICovCitzdHJ1Y3QgcGNwdSB7CisJc3RydWN0IGxpc3RfaGVhZCBs
aXN0OworCXN0cnVjdCBkZXZpY2UgZGV2OworCXVpbnQzMl90IGNwdV9pZDsKKwl1aW50MzJfdCBm
bGFnczsKK307CisKK3N0YXRpYyBzdHJ1Y3QgYnVzX3R5cGUgeGVuX3BjcHVfc3Vic3lzID0gewor
CS5uYW1lID0gInhlbl9jcHUiLAorCS5kZXZfbmFtZSA9ICJ4ZW5fY3B1IiwKK307CisKK3N0YXRp
YyBERUZJTkVfTVVURVgoeGVuX3BjcHVfbG9jayk7CisKK3N0YXRpYyBMSVNUX0hFQUQoeGVuX3Bj
cHVzKTsKKworc3RhdGljIGludCB4ZW5fcGNwdV9kb3duKHVpbnQzMl90IGNwdV9pZCkKK3sKKwlz
dHJ1Y3QgeGVuX3BsYXRmb3JtX29wIG9wID0geworCQkuY21kCQkJPSBYRU5QRl9jcHVfb2ZmbGlu
ZSwKKwkJLmludGVyZmFjZV92ZXJzaW9uCT0gWEVOUEZfSU5URVJGQUNFX1ZFUlNJT04sCisJCS51
LmNwdV9vbC5jcHVpZAkJPSBjcHVfaWQsCisJfTsKKworCXJldHVybiBIWVBFUlZJU09SX2RvbTBf
b3AoJm9wKTsKK30KKworc3RhdGljIGludCB4ZW5fcGNwdV91cCh1aW50MzJfdCBjcHVfaWQpCit7
CisJc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCBvcCA9IHsKKwkJLmNtZAkJCT0gWEVOUEZfY3B1X29u
bGluZSwKKwkJLmludGVyZmFjZV92ZXJzaW9uCT0gWEVOUEZfSU5URVJGQUNFX1ZFUlNJT04sCisJ
CS51LmNwdV9vbC5jcHVpZAkJPSBjcHVfaWQsCisJfTsKKworCXJldHVybiBIWVBFUlZJU09SX2Rv
bTBfb3AoJm9wKTsKK30KKworc3RhdGljIHNzaXplX3Qgc2hvd19vbmxpbmUoc3RydWN0IGRldmlj
ZSAqZGV2LAorCQkJICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgICBjaGFy
ICpidWYpCit7CisJc3RydWN0IHBjcHUgKmNwdSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBw
Y3B1LCBkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJXVcbiIsICEhKGNwdS0+ZmxhZ3Mg
JiBYRU5fUENQVV9GTEFHU19PTkxJTkUpKTsKK30KKworc3RhdGljIHNzaXplX3QgX19yZWYgc3Rv
cmVfb25saW5lKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgIHN0cnVjdCBkZXZpY2VfYXR0cmli
dXRlICphdHRyLAorCQkJCSAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCit7CisJc3Ry
dWN0IHBjcHUgKnBjcHUgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgcGNwdSwgZGV2KTsKKwl1
bnNpZ25lZCBsb25nIGxvbmcgdmFsOworCXNzaXplX3QgcmV0OworCisJaWYgKCFjYXBhYmxlKENB
UF9TWVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJaWYgKGtzdHJ0b3VsbChidWYsIDAs
ICZ2YWwpIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2ggKHZhbCkgeworCWNhc2Ug
MDoKKwkJcmV0ID0geGVuX3BjcHVfZG93bihwY3B1LT5jcHVfaWQpOworCQlicmVhazsKKwljYXNl
IDE6CisJCXJldCA9IHhlbl9wY3B1X3VwKHBjcHUtPmNwdV9pZCk7CisJCWJyZWFrOworCWRlZmF1
bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCisJaWYgKHJldCA+PSAwKQorCQlyZXQgPSBjb3Vu
dDsKKwlyZXR1cm4gcmV0OworfQorc3RhdGljIERFVklDRV9BVFRSKG9ubGluZSwgU19JUlVHTyB8
IFNfSVdVU1IsIHNob3dfb25saW5lLCBzdG9yZV9vbmxpbmUpOworCitzdGF0aWMgYm9vbCB4ZW5f
cGNwdV9vbmxpbmUodWludDMyX3QgZmxhZ3MpCit7CisJcmV0dXJuICEhKGZsYWdzICYgWEVOX1BD
UFVfRkxBR1NfT05MSU5FKTsKK30KKworc3RhdGljIHZvaWQgcGNwdV9vbmxpbmVfc3RhdHVzKHN0
cnVjdCB4ZW5wZl9wY3B1aW5mbyAqaW5mbywKKwkJCSAgICAgICBzdHJ1Y3QgcGNwdSAqcGNwdSkK
K3sKKwlpZiAoeGVuX3BjcHVfb25saW5lKGluZm8tPmZsYWdzKSAmJgorCSAgICF4ZW5fcGNwdV9v
bmxpbmUocGNwdS0+ZmxhZ3MpKSB7CisJCS8qIHRoZSBwY3B1IGlzIG9ubGluZWQgKi8KKwkJcGNw
dS0+ZmxhZ3MgfD0gWEVOX1BDUFVfRkxBR1NfT05MSU5FOworCQlrb2JqZWN0X3VldmVudCgmcGNw
dS0+ZGV2LmtvYmosIEtPQkpfT05MSU5FKTsKKwl9IGVsc2UgaWYgKCF4ZW5fcGNwdV9vbmxpbmUo
aW5mby0+ZmxhZ3MpICYmCisJCSAgICB4ZW5fcGNwdV9vbmxpbmUocGNwdS0+ZmxhZ3MpKSB7CisJ
CS8qIFRoZSBwY3B1IGlzIG9mZmxpbmVkICovCisJCXBjcHUtPmZsYWdzICY9IH5YRU5fUENQVV9G
TEFHU19PTkxJTkU7CisJCWtvYmplY3RfdWV2ZW50KCZwY3B1LT5kZXYua29iaiwgS09CSl9PRkZM
SU5FKTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNwdSAqZ2V0X3BjcHUodWludDMyX3QgY3B1
X2lkKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKmN1cjsKKwlzdHJ1Y3QgcGNwdSAqcGNwdTsKKwor
CWxpc3RfZm9yX2VhY2goY3VyLCAmeGVuX3BjcHVzKSB7CisJCXBjcHUgPSBsaXN0X2VudHJ5KGN1
ciwgc3RydWN0IHBjcHUsIGxpc3QpOworCQlpZiAocGNwdS0+Y3B1X2lkID09IGNwdV9pZCkKKwkJ
CXJldHVybiBwY3B1OworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBwY3B1
X3N5c19yZW1vdmUoc3RydWN0IHBjcHUgKnBjcHUpCit7CisJc3RydWN0IGRldmljZSAqZGV2Owor
CisJaWYgKCFwY3B1KQorCQlyZXR1cm47CisKKwlkZXYgPSAmcGNwdS0+ZGV2OworCWlmIChkZXYt
PmlkKQorCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfb25saW5lKTsKKworCWRl
dmljZV91bnJlZ2lzdGVyKGRldik7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfcGNwdShzdHJ1Y3Qg
cGNwdSAqcGNwdSkKK3sKKwlpZiAoIXBjcHUpCisJCXJldHVybjsKKworCXBjcHVfc3lzX3JlbW92
ZShwY3B1KTsKKworCWxpc3RfZGVsKCZwY3B1LT5saXN0KTsKKwlrZnJlZShwY3B1KTsKK30KKwor
c3RhdGljIGludCBwY3B1X3N5c19jcmVhdGUoc3RydWN0IHBjcHUgKnBjcHUpCit7CisJc3RydWN0
IGRldmljZSAqZGV2OworCWludCBlcnIgPSAtRUlOVkFMOworCisJaWYgKCFwY3B1KQorCQlyZXR1
cm4gZXJyOworCisJZGV2ID0gJnBjcHUtPmRldjsKKwlkZXYtPmJ1cyA9ICZ4ZW5fcGNwdV9zdWJz
eXM7CisJZGV2LT5pZCA9IHBjcHUtPmNwdV9pZDsKKworCWVyciA9IGRldmljZV9yZWdpc3Rlcihk
ZXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwkvKgorCSAqIFhlbiBuZXZlciBvZmZs
aW5lIGNwdTAgZHVlIHRvIHNldmVyYWwgcmVzdHJpY3Rpb25zCisJICogYW5kIGFzc3VtcHRpb25z
LiBUaGlzIGJhc2ljYWxseSBkb2Vzbid0IGFkZCBhIHN5cyBjb250cm9sCisJICogdG8gdXNlciwg
b25lIGNhbm5vdCBhdHRlbXB0IHRvIG9mZmxpbmUgQlNQLgorCSAqLworCWlmIChkZXYtPmlkKSB7
CisJCWVyciA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYsICZkZXZfYXR0cl9vbmxpbmUpOworCQlp
ZiAoZXJyKSB7CisJCQlkZXZpY2VfdW5yZWdpc3RlcihkZXYpOworCQkJcmV0dXJuIGVycjsKKwkJ
fQorCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHBjcHUgKmluaXRfcGNwdShz
dHJ1Y3QgeGVucGZfcGNwdWluZm8gKmluZm8pCit7CisJc3RydWN0IHBjcHUgKnBjcHU7CisJaW50
IGVycjsKKworCWlmIChpbmZvLT5mbGFncyAmIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQpCisJCXJl
dHVybiBFUlJfUFRSKC1FTk9ERVYpOworCisJcGNwdSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBw
Y3B1KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwY3B1KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN
KTsKKworCUlOSVRfTElTVF9IRUFEKCZwY3B1LT5saXN0KTsKKwlwY3B1LT5jcHVfaWQgPSBpbmZv
LT54ZW5fY3B1aWQ7CisJcGNwdS0+ZmxhZ3MgPSBpbmZvLT5mbGFnczsKKworCWVyciA9IHBjcHVf
c3lzX2NyZWF0ZShwY3B1KTsKKwlpZiAoZXJyKSB7CisJCXByX3dhcm5pbmcoWEVOX1BDUFUgIkZh
aWxlZCB0byByZWdpc3RlciBwY3B1JXVcbiIsCisJCQkgICBpbmZvLT54ZW5fY3B1aWQpOworCQlr
ZnJlZShwY3B1KTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CisJfQorCisJLyogTmVlZCBo
b2xkIG9uIHhlbl9wY3B1X2xvY2sgYmVmb3JlIHBjcHUgbGlzdCBtYW5pcHVsYXRpb25zICovCisJ
bGlzdF9hZGRfdGFpbCgmcGNwdS0+bGlzdCwgJnhlbl9wY3B1cyk7CisJcmV0dXJuIHBjcHU7Cit9
CisKKy8qCisgKiBDYWxsZXIgc2hvdWxkIGhvbGQgdGhlIHhlbl9wY3B1X2xvY2sKKyAqLworc3Rh
dGljIGludCBzeW5jX3BjcHUodWludDMyX3QgY3B1LCB1aW50MzJfdCAqbWF4X2NwdSkKK3sKKwlp
bnQgcmV0OworCXN0cnVjdCBwY3B1ICpwY3B1ID0gTlVMTDsKKwlzdHJ1Y3QgeGVucGZfcGNwdWlu
Zm8gKmluZm87CisJc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCBvcCA9IHsKKwkJLmNtZCAgICAgICAg
ICAgICAgICAgICA9IFhFTlBGX2dldF9jcHVpbmZvLAorCQkuaW50ZXJmYWNlX3ZlcnNpb24gICAg
ID0gWEVOUEZfSU5URVJGQUNFX1ZFUlNJT04sCisJCS51LnBjcHVfaW5mby54ZW5fY3B1aWQgPSBj
cHUsCisJfTsKKworCXJldCA9IEhZUEVSVklTT1JfZG9tMF9vcCgmb3ApOworCWlmIChyZXQpCisJ
CXJldHVybiByZXQ7CisKKwlpbmZvID0gJm9wLnUucGNwdV9pbmZvOworCWlmIChtYXhfY3B1KQor
CQkqbWF4X2NwdSA9IGluZm8tPm1heF9wcmVzZW50OworCisJcGNwdSA9IGdldF9wY3B1KGNwdSk7
CisKKwlpZiAoaW5mby0+ZmxhZ3MgJiBYRU5fUENQVV9GTEFHU19JTlZBTElEKSB7CisJCS8qIFRo
ZSBwY3B1IGhhcyBiZWVuIHJlbW92ZWQgKi8KKwkJaWYgKHBjcHUpCisJCQlmcmVlX3BjcHUocGNw
dSk7CisJCXJldHVybiAwOworCX0KKworCWlmICghcGNwdSkgeworCQlwY3B1ID0gaW5pdF9wY3B1
KGluZm8pOworCQlpZiAoSVNfRVJSX09SX05VTEwocGNwdSkpCisJCQlyZXR1cm4gLUVOT0RFVjsK
Kwl9IGVsc2UKKwkJcGNwdV9vbmxpbmVfc3RhdHVzKGluZm8sIHBjcHUpOworCisJcmV0dXJuIDA7
Cit9CisKKy8qCisgKiBTeW5jIGRvbTAncyBwY3B1IGluZm9ybWF0aW9uIHdpdGggeGVuIGh5cGVy
dmlzb3IncworICovCitzdGF0aWMgaW50IHhlbl9zeW5jX3BjcHVzKHZvaWQpCit7CisJLyoKKwkg
KiBCb290IGNwdSBhbHdheXMgaGF2ZSBjcHVfaWQgMCBpbiB4ZW4KKwkgKi8KKwl1aW50MzJfdCBj
cHUgPSAwLCBtYXhfY3B1ID0gMDsKKwlpbnQgZXJyID0gMDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpj
dXIsICp0bXA7CisJc3RydWN0IHBjcHUgKnBjcHU7CisKKwltdXRleF9sb2NrKCZ4ZW5fcGNwdV9s
b2NrKTsKKworCXdoaWxlICghZXJyICYmIChjcHUgPD0gbWF4X2NwdSkpIHsKKwkJZXJyID0gc3lu
Y19wY3B1KGNwdSwgJm1heF9jcHUpOworCQljcHUrKzsKKwl9CisKKwlpZiAoZXJyKSB7CisJCWxp
c3RfZm9yX2VhY2hfc2FmZShjdXIsIHRtcCwgJnhlbl9wY3B1cykgeworCQkJcGNwdSA9IGxpc3Rf
ZW50cnkoY3VyLCBzdHJ1Y3QgcGNwdSwgbGlzdCk7CisJCQlmcmVlX3BjcHUocGNwdSk7CisJCX0K
Kwl9CisKKwltdXRleF91bmxvY2soJnhlbl9wY3B1X2xvY2spOworCisJcmV0dXJuIGVycjsKK30K
Kworc3RhdGljIHZvaWQgeGVuX3BjcHVfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp
Cit7CisJeGVuX3N5bmNfcGNwdXMoKTsKK30KK3N0YXRpYyBERUNMQVJFX1dPUksoeGVuX3BjcHVf
d29yaywgeGVuX3BjcHVfd29ya19mbik7CisKK3N0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fcGNwdV9p
bnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXNjaGVkdWxlX3dvcmsoJnhlbl9w
Y3B1X3dvcmspOworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIGludCBfX2luaXQg
eGVuX3BjcHVfaW5pdCh2b2lkKQoreworCWludCBpcnEsIHJldDsKKworCWlmICgheGVuX2luaXRp
YWxfZG9tYWluKCkpCisJCXJldHVybiAtRU5PREVWOworCisJaXJxID0gYmluZF92aXJxX3RvX2ly
cWhhbmRsZXIoVklSUV9QQ1BVX1NUQVRFLCAwLAorCQkJCSAgICAgIHhlbl9wY3B1X2ludGVycnVw
dCwgMCwKKwkJCQkgICAgICAieGVuLXBjcHUiLCBOVUxMKTsKKwlpZiAoaXJxIDwgMCkgeworCQlw
cl93YXJuaW5nKFhFTl9QQ1BVICJGYWlsZWQgdG8gYmluZCBwY3B1IHZpcnFcbiIpOworCQlyZXR1
cm4gaXJxOworCX0KKworCXJldCA9IHN1YnN5c19zeXN0ZW1fcmVnaXN0ZXIoJnhlbl9wY3B1X3N1
YnN5cywgTlVMTCk7CisJaWYgKHJldCkgeworCQlwcl93YXJuaW5nKFhFTl9QQ1BVICJGYWlsZWQg
dG8gcmVnaXN0ZXIgcGNwdSBzdWJzeXNcbiIpOworCQlnb3RvIGVycjE7CisJfQorCisJcmV0ID0g
eGVuX3N5bmNfcGNwdXMoKTsKKwlpZiAocmV0KSB7CisJCXByX3dhcm5pbmcoWEVOX1BDUFUgIkZh
aWxlZCB0byBzeW5jIHBjcHUgaW5mb1xuIik7CisJCWdvdG8gZXJyMjsKKwl9CisKKwlyZXR1cm4g
MDsKKworZXJyMjoKKwlidXNfdW5yZWdpc3RlcigmeGVuX3BjcHVfc3Vic3lzKTsKK2VycjE6CisJ
dW5iaW5kX2Zyb21faXJxaGFuZGxlcihpcnEsIE5VTEwpOworCXJldHVybiByZXQ7Cit9CithcmNo
X2luaXRjYWxsKHhlbl9wY3B1X2luaXQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJm
YWNlL3BsYXRmb3JtLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvcGxhdGZvcm0uaAppbmRleCA0
ODY2NTNmLi42MWZhNjYxIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvcGxhdGZv
cm0uaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvcGxhdGZvcm0uaApAQCAtMzE0LDYgKzMx
NCwxMyBAQCBzdHJ1Y3QgeGVucGZfcGNwdWluZm8gewogfTsKIERFRklORV9HVUVTVF9IQU5ETEVf
U1RSVUNUKHhlbnBmX3BjcHVpbmZvKTsKIAorI2RlZmluZSBYRU5QRl9jcHVfb25saW5lCTU2Cisj
ZGVmaW5lIFhFTlBGX2NwdV9vZmZsaW5lCTU3CitzdHJ1Y3QgeGVucGZfY3B1X29sIHsKKwl1aW50
MzJfdCBjcHVpZDsKK307CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5wZl9jcHVfb2wp
OworCiBzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wIHsKIAl1aW50MzJfdCBjbWQ7CiAJdWludDMyX3Qg
aW50ZXJmYWNlX3ZlcnNpb247IC8qIFhFTlBGX0lOVEVSRkFDRV9WRVJTSU9OICovCkBAIC0zMzAs
NiArMzM3LDcgQEAgc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCB7CiAJCXN0cnVjdCB4ZW5wZl9nZXRp
ZGxldGltZSAgICAgICBnZXRpZGxldGltZTsKIAkJc3RydWN0IHhlbnBmX3NldF9wcm9jZXNzb3Jf
cG1pbmZvIHNldF9wbWluZm87CiAJCXN0cnVjdCB4ZW5wZl9wY3B1aW5mbyAgICAgICAgICBwY3B1
X2luZm87CisJCXN0cnVjdCB4ZW5wZl9jcHVfb2wgICAgICAgICAgICBjcHVfb2w7CiAJCXVpbnQ4
X3QgICAgICAgICAgICAgICAgICAgICAgICBwYWRbMTI4XTsKIAl9IHU7CiB9OwpkaWZmIC0tZ2l0
IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hl
bi5oCmluZGV4IGE4OTA4MDQuLjA4MDE0NjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVy
ZmFjZS94ZW4uaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKQEAgLTgwLDYgKzgw
LDcgQEAKICNkZWZpbmUgVklSUV9DT05TT0xFICAgIDIgIC8qIChET00wKSBCeXRlcyByZWNlaXZl
ZCBvbiBlbWVyZ2VuY3kgY29uc29sZS4gKi8KICNkZWZpbmUgVklSUV9ET01fRVhDICAgIDMgIC8q
IChET00wKSBFeGNlcHRpb25hbCBldmVudCBmb3Igc29tZSBkb21haW4uICAgKi8KICNkZWZpbmUg
VklSUV9ERUJVR0dFUiAgIDYgIC8qIChET00wKSBBIGRvbWFpbiBoYXMgcGF1c2VkIGZvciBkZWJ1
Z2dpbmcuICAgKi8KKyNkZWZpbmUgVklSUV9QQ1BVX1NUQVRFIDkgIC8qIChET00wKSBQQ1BVIHN0
YXRlIGNoYW5nZWQgICAgICAgICAgICAgICAgICAgKi8KIAogLyogQXJjaGl0ZWN0dXJlLXNwZWNp
ZmljIFZJUlEgZGVmaW5pdGlvbnMuICovCiAjZGVmaW5lIFZJUlFfQVJDSF8wICAgIDE2Ci0tIAox
LjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351B58A3SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 10 15:10:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0A-0001F9-3o; Thu, 10 May 2012 15:09:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV09-0001Ew-Kz
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:09:57 +0000
Received: from [85.158.139.83:5055] by server-6.bemta-5.messagelabs.com id
	CF/DA-13222-44ADBAF4; Thu, 10 May 2012 15:09:56 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336662594!27018446!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10548 invoked from network); 10 May 2012 15:09:56 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:09:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276829"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:35 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUvu-0007Op-RQ; Thu, 10 May 2012 16:05:34 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvs-0000JJ-33;
	Thu, 10 May 2012 16:05:32 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:44 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 00 of 11] Use a reader-writer lock for the p2m
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a cleaned-up version of my patch of two weeks ago to make the 
p2m lock into an rwlock, with some updates from Andres folded in.
With these applied, p2m lookups are no longer serialized in the 
common case (where there are few updates).

I hope to check these in next week, before we branch for 4.2.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0A-0001F9-3o; Thu, 10 May 2012 15:09:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV09-0001Ew-Kz
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:09:57 +0000
Received: from [85.158.139.83:5055] by server-6.bemta-5.messagelabs.com id
	CF/DA-13222-44ADBAF4; Thu, 10 May 2012 15:09:56 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336662594!27018446!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10548 invoked from network); 10 May 2012 15:09:56 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:09:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276829"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:35 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUvu-0007Op-RQ; Thu, 10 May 2012 16:05:34 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvs-0000JJ-33;
	Thu, 10 May 2012 16:05:32 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:44 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 00 of 11] Use a reader-writer lock for the p2m
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a cleaned-up version of my patch of two weeks ago to make the 
p2m lock into an rwlock, with some updates from Andres folded in.
With these applied, p2m lookups are no longer serialized in the 
common case (where there are few updates).

I hope to check these in next week, before we branch for 4.2.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0C-0001Fj-GN; Thu, 10 May 2012 15:10:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0A-0001FE-Qz
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:09:59 +0000
Received: from [85.158.139.83:5200] by server-8.bemta-5.messagelabs.com id
	47/63-26964-54ADBAF4; Thu, 10 May 2012 15:09:57 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336662594!27018446!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10640 invoked from network); 10 May 2012 15:09:57 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:09:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276842"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:38 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUvx-0007Ov-DD; Thu, 10 May 2012 16:05:37 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvw-0000Je-IU;
	Thu, 10 May 2012 16:05:36 +0100
MIME-Version: 1.0
X-Mercurial-Node: e03806b10f0026590e7775008f24d2a96051552e
Message-ID: <e03806b10f0026590e77.1336661986@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:46 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 02 of 11] x86/mm: Introduce get_page_from_gfn()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID e03806b10f0026590e7775008f24d2a96051552e
# Parent  4a99c5456e9d8aa707bbd57bb4f4af88e1d456ca
x86/mm: Introduce get_page_from_gfn().

This new function does a p2m lookup under the read lock, falling back
to the write lock only if it needs to make a change.  If the GFN is
backed by RAM, it takes a refcount on the underlying page.

The following patches will convert many paths that currently use
get_gfn/put_gfn to use the new interface.  That will avoid serializing
p2m accesses in the common case where no updates are needed (i.e. no
page-sharing, VM paging or other p2m trickery).

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 4a99c5456e9d -r e03806b10f00 xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm/p2m.c	Thu May 10 15:54:16 2012 +0100
@@ -207,6 +207,59 @@ void __put_gfn(struct p2m_domain *p2m, u
     gfn_unlock(p2m, gfn, 0);
 }
 
+/* Atomically look up a GFN and take a reference count on the backing page. */
+struct page_info *get_page_from_gfn_p2m(
+    struct domain *d, struct p2m_domain *p2m, unsigned long gfn,
+    p2m_type_t *t, p2m_access_t *a, p2m_query_t q)
+{
+    struct page_info *page = NULL;
+    p2m_access_t _a;
+    p2m_type_t _t;
+    mfn_t mfn;
+
+    /* Allow t or a to be NULL */
+    t = t ?: &_t;
+    a = a ?: &_a;
+
+    if ( likely(!p2m_locked_by_me(p2m)) )
+    {
+        /* Fast path: look up and get out */
+        p2m_read_lock(p2m);
+        mfn = __get_gfn_type_access(p2m, gfn, t, a, 0, NULL, 0);
+        if ( (p2m_is_ram(*t) || p2m_is_grant(*t))
+             && mfn_valid(mfn)
+             && !((q & P2M_UNSHARE) && p2m_is_shared(*t)) )
+        {
+            page = mfn_to_page(mfn);
+            if ( !get_page(page, d)
+                 /* Page could be shared */
+                 && !get_page(page, dom_cow) )
+                page = NULL;
+        }
+        p2m_read_unlock(p2m);
+
+        if ( page )
+            return page;
+
+        /* Error path: not a suitable GFN at all */
+        if ( !p2m_is_ram(*t) && !p2m_is_paging(*t) && !p2m_is_magic(*t) )
+            return NULL;
+    }
+
+    /* Slow path: take the write lock and do fixups */
+    mfn = get_gfn_type_access(p2m, gfn, t, a, q, NULL);
+    if ( p2m_is_ram(*t) && mfn_valid(mfn) )
+    {
+        page = mfn_to_page(mfn);
+        if ( !get_page(page, d) )
+            page = NULL;
+    }
+    put_gfn(d, gfn);
+
+    return page;
+}
+
+
 int set_p2m_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn, 
                   unsigned int page_order, p2m_type_t p2mt, p2m_access_t p2ma)
 {
diff -r 4a99c5456e9d -r e03806b10f00 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -377,6 +377,33 @@ static inline mfn_t get_gfn_query_unlock
     return __get_gfn_type_access(p2m_get_hostp2m(d), gfn, t, &a, 0, NULL, 0);
 }
 
+/* Atomically look up a GFN and take a reference count on the backing page.
+ * This makes sure the page doesn't get freed (or shared) underfoot,
+ * and should be used by any path that intends to write to the backing page.
+ * Returns NULL if the page is not backed by RAM.
+ * The caller is responsible for calling put_page() afterwards. */
+struct page_info *get_page_from_gfn_p2m(struct domain *d,
+                                        struct p2m_domain *p2m,
+                                        unsigned long gfn,
+                                        p2m_type_t *t, p2m_access_t *a,
+                                        p2m_query_t q);
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    struct page_info *page;
+
+    if ( paging_mode_translate(d) )
+        return get_page_from_gfn_p2m(d, p2m_get_hostp2m(d), gfn, t, NULL, q);
+
+    /* Non-translated guests see 1-1 RAM mappings everywhere */
+    if (t)
+        *t = p2m_ram_rw;
+    page = __mfn_to_page(gfn);
+    return get_page(page, d) ? page : NULL;
+}
+
+
 /* General conversion function from mfn to gfn */
 static inline unsigned long mfn_to_gfn(struct domain *d, mfn_t mfn)
 {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0C-0001Fj-GN; Thu, 10 May 2012 15:10:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0A-0001FE-Qz
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:09:59 +0000
Received: from [85.158.139.83:5200] by server-8.bemta-5.messagelabs.com id
	47/63-26964-54ADBAF4; Thu, 10 May 2012 15:09:57 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336662594!27018446!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10640 invoked from network); 10 May 2012 15:09:57 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:09:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276842"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:38 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUvx-0007Ov-DD; Thu, 10 May 2012 16:05:37 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvw-0000Je-IU;
	Thu, 10 May 2012 16:05:36 +0100
MIME-Version: 1.0
X-Mercurial-Node: e03806b10f0026590e7775008f24d2a96051552e
Message-ID: <e03806b10f0026590e77.1336661986@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:46 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 02 of 11] x86/mm: Introduce get_page_from_gfn()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID e03806b10f0026590e7775008f24d2a96051552e
# Parent  4a99c5456e9d8aa707bbd57bb4f4af88e1d456ca
x86/mm: Introduce get_page_from_gfn().

This new function does a p2m lookup under the read lock, falling back
to the write lock only if it needs to make a change.  If the GFN is
backed by RAM, it takes a refcount on the underlying page.

The following patches will convert many paths that currently use
get_gfn/put_gfn to use the new interface.  That will avoid serializing
p2m accesses in the common case where no updates are needed (i.e. no
page-sharing, VM paging or other p2m trickery).

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 4a99c5456e9d -r e03806b10f00 xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm/p2m.c	Thu May 10 15:54:16 2012 +0100
@@ -207,6 +207,59 @@ void __put_gfn(struct p2m_domain *p2m, u
     gfn_unlock(p2m, gfn, 0);
 }
 
+/* Atomically look up a GFN and take a reference count on the backing page. */
+struct page_info *get_page_from_gfn_p2m(
+    struct domain *d, struct p2m_domain *p2m, unsigned long gfn,
+    p2m_type_t *t, p2m_access_t *a, p2m_query_t q)
+{
+    struct page_info *page = NULL;
+    p2m_access_t _a;
+    p2m_type_t _t;
+    mfn_t mfn;
+
+    /* Allow t or a to be NULL */
+    t = t ?: &_t;
+    a = a ?: &_a;
+
+    if ( likely(!p2m_locked_by_me(p2m)) )
+    {
+        /* Fast path: look up and get out */
+        p2m_read_lock(p2m);
+        mfn = __get_gfn_type_access(p2m, gfn, t, a, 0, NULL, 0);
+        if ( (p2m_is_ram(*t) || p2m_is_grant(*t))
+             && mfn_valid(mfn)
+             && !((q & P2M_UNSHARE) && p2m_is_shared(*t)) )
+        {
+            page = mfn_to_page(mfn);
+            if ( !get_page(page, d)
+                 /* Page could be shared */
+                 && !get_page(page, dom_cow) )
+                page = NULL;
+        }
+        p2m_read_unlock(p2m);
+
+        if ( page )
+            return page;
+
+        /* Error path: not a suitable GFN at all */
+        if ( !p2m_is_ram(*t) && !p2m_is_paging(*t) && !p2m_is_magic(*t) )
+            return NULL;
+    }
+
+    /* Slow path: take the write lock and do fixups */
+    mfn = get_gfn_type_access(p2m, gfn, t, a, q, NULL);
+    if ( p2m_is_ram(*t) && mfn_valid(mfn) )
+    {
+        page = mfn_to_page(mfn);
+        if ( !get_page(page, d) )
+            page = NULL;
+    }
+    put_gfn(d, gfn);
+
+    return page;
+}
+
+
 int set_p2m_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn, 
                   unsigned int page_order, p2m_type_t p2mt, p2m_access_t p2ma)
 {
diff -r 4a99c5456e9d -r e03806b10f00 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -377,6 +377,33 @@ static inline mfn_t get_gfn_query_unlock
     return __get_gfn_type_access(p2m_get_hostp2m(d), gfn, t, &a, 0, NULL, 0);
 }
 
+/* Atomically look up a GFN and take a reference count on the backing page.
+ * This makes sure the page doesn't get freed (or shared) underfoot,
+ * and should be used by any path that intends to write to the backing page.
+ * Returns NULL if the page is not backed by RAM.
+ * The caller is responsible for calling put_page() afterwards. */
+struct page_info *get_page_from_gfn_p2m(struct domain *d,
+                                        struct p2m_domain *p2m,
+                                        unsigned long gfn,
+                                        p2m_type_t *t, p2m_access_t *a,
+                                        p2m_query_t q);
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    struct page_info *page;
+
+    if ( paging_mode_translate(d) )
+        return get_page_from_gfn_p2m(d, p2m_get_hostp2m(d), gfn, t, NULL, q);
+
+    /* Non-translated guests see 1-1 RAM mappings everywhere */
+    if (t)
+        *t = p2m_ram_rw;
+    page = __mfn_to_page(gfn);
+    return get_page(page, d) ? page : NULL;
+}
+
+
 /* General conversion function from mfn to gfn */
 static inline unsigned long mfn_to_gfn(struct domain *d, mfn_t mfn)
 {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0K-0001IO-TV; Thu, 10 May 2012 15:10:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0J-0001He-5N
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:07 +0000
Received: from [85.158.143.99:14224] by server-3.bemta-4.messagelabs.com id
	FA/2B-05853-E4ADBAF4; Thu, 10 May 2012 15:10:06 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336662604!26493992!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7372 invoked from network); 10 May 2012 15:10:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276864"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:43 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUw2-0007Oy-FB; Thu, 10 May 2012 16:05:42 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvx-0000Jj-DT;
	Thu, 10 May 2012 16:05:37 +0100
MIME-Version: 1.0
X-Mercurial-Node: d774bb5c6326d1a7e88a3bfadc546d154a2ad895
Message-ID: <d774bb5c6326d1a7e88a.1336661987@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:47 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 03 of 11] arm: Implement get_page_from_gfn()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d774bb5c6326d1a7e88a3bfadc546d154a2ad895
# Parent  e03806b10f0026590e7775008f24d2a96051552e
arm: Implement get_page_from_gfn()

We will be calling this from common code, so add a basic
implementation to arch/arm.

After 4.2 we should reshuffle some of the p2m interface out of
arch/x86 into common headers; for now duplicate a little bit of it.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r e03806b10f00 -r d774bb5c6326 xen/include/asm-arm/p2m.h
--- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -53,6 +53,28 @@ p2m_pod_decrease_reservation(struct doma
                              xen_pfn_t gpfn,
                              unsigned int order);
 
+/* Look up a GFN and take a reference count on the backing page. */
+typedef int p2m_type_t;
+typedef unsigned int p2m_query_t;
+#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
+#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    struct page_info *page;
+    unsigned long mfn = gmfn_to_mfn(d, gfn);
+
+    ASSERT(t == NULL);
+
+    if (!mfn_valid(mfn))
+        return NULL;
+    page = mfn_to_page(mfn);
+    if ( !get_page(page, d) )
+        return NULL;
+    return page;
+}
+
 /* Compatibility function exporting the old untyped interface */
 static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
 {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0K-0001IO-TV; Thu, 10 May 2012 15:10:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0J-0001He-5N
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:07 +0000
Received: from [85.158.143.99:14224] by server-3.bemta-4.messagelabs.com id
	FA/2B-05853-E4ADBAF4; Thu, 10 May 2012 15:10:06 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336662604!26493992!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7372 invoked from network); 10 May 2012 15:10:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276864"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:43 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUw2-0007Oy-FB; Thu, 10 May 2012 16:05:42 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUvx-0000Jj-DT;
	Thu, 10 May 2012 16:05:37 +0100
MIME-Version: 1.0
X-Mercurial-Node: d774bb5c6326d1a7e88a3bfadc546d154a2ad895
Message-ID: <d774bb5c6326d1a7e88a.1336661987@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:47 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 03 of 11] arm: Implement get_page_from_gfn()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d774bb5c6326d1a7e88a3bfadc546d154a2ad895
# Parent  e03806b10f0026590e7775008f24d2a96051552e
arm: Implement get_page_from_gfn()

We will be calling this from common code, so add a basic
implementation to arch/arm.

After 4.2 we should reshuffle some of the p2m interface out of
arch/x86 into common headers; for now duplicate a little bit of it.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r e03806b10f00 -r d774bb5c6326 xen/include/asm-arm/p2m.h
--- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -53,6 +53,28 @@ p2m_pod_decrease_reservation(struct doma
                              xen_pfn_t gpfn,
                              unsigned int order);
 
+/* Look up a GFN and take a reference count on the backing page. */
+typedef int p2m_type_t;
+typedef unsigned int p2m_query_t;
+#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
+#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    struct page_info *page;
+    unsigned long mfn = gmfn_to_mfn(d, gfn);
+
+    ASSERT(t == NULL);
+
+    if (!mfn_valid(mfn))
+        return NULL;
+    page = mfn_to_page(mfn);
+    if ( !get_page(page, d) )
+        return NULL;
+    return page;
+}
+
 /* Compatibility function exporting the old untyped interface */
 static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
 {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0V-0001Ly-Ap; Thu, 10 May 2012 15:10:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0U-0001LR-Dj
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:18 +0000
Received: from [85.158.138.51:48147] by server-12.bemta-3.messagelabs.com id
	37/A5-29760-95ADBAF4; Thu, 10 May 2012 15:10:17 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336662615!26333110!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14581 invoked from network); 10 May 2012 15:10:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276899"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:56 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwG-0007Pn-4l; Thu, 10 May 2012 16:05:56 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwF-0000KB-Rf;
	Thu, 10 May 2012 16:05:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: d514c4cfcd2b18baafa3aa61cb4cc4971cdbeecc
Message-ID: <d514c4cfcd2b18baafa3.1336661993@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:53 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 09 of 11] x86/hvm: use unlocked p2m lookups in
 hvmemul_rep_movs()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d514c4cfcd2b18baafa3aa61cb4cc4971cdbeecc
# Parent  ed61cd76e3e3fad3ec4c216669d1e9ee8c0bfa4b
x86/hvm: use unlocked p2m lookups in hvmemul_rep_movs()

The eventual hvm_copy or IO emulations will re-check the p2m and DTRT.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r ed61cd76e3e3 -r d514c4cfcd2b xen/arch/x86/hvm/emulate.c
--- a/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
@@ -677,7 +677,6 @@ static int hvmemul_rep_movs(
     p2m_type_t sp2mt, dp2mt;
     int rc, df = !!(ctxt->regs->eflags & X86_EFLAGS_DF);
     char *buf;
-    struct two_gfns tg;
 
     rc = hvmemul_virtual_to_linear(
         src_seg, src_offset, bytes_per_rep, reps, hvm_access_read,
@@ -705,25 +704,17 @@ static int hvmemul_rep_movs(
     if ( rc != X86EMUL_OKAY )
         return rc;
 
-    get_two_gfns(current->domain, sgpa >> PAGE_SHIFT, &sp2mt, NULL, NULL,
-                 current->domain, dgpa >> PAGE_SHIFT, &dp2mt, NULL, NULL,
-                 P2M_ALLOC, &tg);
+    /* Check for MMIO ops */
+    (void) get_gfn_query_unlocked(current->domain, sgpa >> PAGE_SHIFT, &sp2mt);
+    (void) get_gfn_query_unlocked(current->domain, dgpa >> PAGE_SHIFT, &dp2mt);
 
-    if ( !p2m_is_ram(sp2mt) && !p2m_is_grant(sp2mt) )
-    {
-        rc = hvmemul_do_mmio(
+    if ( sp2mt == p2m_mmio_dm )
+        return hvmemul_do_mmio(
             sgpa, reps, bytes_per_rep, dgpa, IOREQ_READ, df, NULL);
-        put_two_gfns(&tg);
-        return rc;
-    }
 
-    if ( !p2m_is_ram(dp2mt) && !p2m_is_grant(dp2mt) )
-    {
-        rc = hvmemul_do_mmio(
+    if ( dp2mt == p2m_mmio_dm )
+        return hvmemul_do_mmio(
             dgpa, reps, bytes_per_rep, sgpa, IOREQ_WRITE, df, NULL);
-        put_two_gfns(&tg);
-        return rc;
-    }
 
     /* RAM-to-RAM copy: emulate as equivalent of memmove(dgpa, sgpa, bytes). */
     bytes = *reps * bytes_per_rep;
@@ -738,10 +729,7 @@ static int hvmemul_rep_movs(
      * can be emulated by a source-to-buffer-to-destination block copy.
      */
     if ( ((dgpa + bytes_per_rep) > sgpa) && (dgpa < (sgpa + bytes)) )
-    {
-        put_two_gfns(&tg);
         return X86EMUL_UNHANDLEABLE;
-    }
 
     /* Adjust destination address for reverse copy. */
     if ( df )
@@ -750,10 +738,7 @@ static int hvmemul_rep_movs(
     /* Allocate temporary buffer. Fall back to slow emulation if this fails. */
     buf = xmalloc_bytes(bytes);
     if ( buf == NULL )
-    {
-        put_two_gfns(&tg);
         return X86EMUL_UNHANDLEABLE;
-    }
 
     /*
      * We do a modicum of checking here, just for paranoia's sake and to
@@ -764,7 +749,6 @@ static int hvmemul_rep_movs(
         rc = hvm_copy_to_guest_phys(dgpa, buf, bytes);
 
     xfree(buf);
-    put_two_gfns(&tg);
 
     if ( rc == HVMCOPY_gfn_paged_out )
         return X86EMUL_RETRY;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0V-0001Ly-Ap; Thu, 10 May 2012 15:10:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0U-0001LR-Dj
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:18 +0000
Received: from [85.158.138.51:48147] by server-12.bemta-3.messagelabs.com id
	37/A5-29760-95ADBAF4; Thu, 10 May 2012 15:10:17 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336662615!26333110!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14581 invoked from network); 10 May 2012 15:10:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276899"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:56 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwG-0007Pn-4l; Thu, 10 May 2012 16:05:56 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwF-0000KB-Rf;
	Thu, 10 May 2012 16:05:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: d514c4cfcd2b18baafa3aa61cb4cc4971cdbeecc
Message-ID: <d514c4cfcd2b18baafa3.1336661993@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:53 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 09 of 11] x86/hvm: use unlocked p2m lookups in
 hvmemul_rep_movs()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d514c4cfcd2b18baafa3aa61cb4cc4971cdbeecc
# Parent  ed61cd76e3e3fad3ec4c216669d1e9ee8c0bfa4b
x86/hvm: use unlocked p2m lookups in hvmemul_rep_movs()

The eventual hvm_copy or IO emulations will re-check the p2m and DTRT.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r ed61cd76e3e3 -r d514c4cfcd2b xen/arch/x86/hvm/emulate.c
--- a/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/hvm/emulate.c	Thu May 10 15:54:16 2012 +0100
@@ -677,7 +677,6 @@ static int hvmemul_rep_movs(
     p2m_type_t sp2mt, dp2mt;
     int rc, df = !!(ctxt->regs->eflags & X86_EFLAGS_DF);
     char *buf;
-    struct two_gfns tg;
 
     rc = hvmemul_virtual_to_linear(
         src_seg, src_offset, bytes_per_rep, reps, hvm_access_read,
@@ -705,25 +704,17 @@ static int hvmemul_rep_movs(
     if ( rc != X86EMUL_OKAY )
         return rc;
 
-    get_two_gfns(current->domain, sgpa >> PAGE_SHIFT, &sp2mt, NULL, NULL,
-                 current->domain, dgpa >> PAGE_SHIFT, &dp2mt, NULL, NULL,
-                 P2M_ALLOC, &tg);
+    /* Check for MMIO ops */
+    (void) get_gfn_query_unlocked(current->domain, sgpa >> PAGE_SHIFT, &sp2mt);
+    (void) get_gfn_query_unlocked(current->domain, dgpa >> PAGE_SHIFT, &dp2mt);
 
-    if ( !p2m_is_ram(sp2mt) && !p2m_is_grant(sp2mt) )
-    {
-        rc = hvmemul_do_mmio(
+    if ( sp2mt == p2m_mmio_dm )
+        return hvmemul_do_mmio(
             sgpa, reps, bytes_per_rep, dgpa, IOREQ_READ, df, NULL);
-        put_two_gfns(&tg);
-        return rc;
-    }
 
-    if ( !p2m_is_ram(dp2mt) && !p2m_is_grant(dp2mt) )
-    {
-        rc = hvmemul_do_mmio(
+    if ( dp2mt == p2m_mmio_dm )
+        return hvmemul_do_mmio(
             dgpa, reps, bytes_per_rep, sgpa, IOREQ_WRITE, df, NULL);
-        put_two_gfns(&tg);
-        return rc;
-    }
 
     /* RAM-to-RAM copy: emulate as equivalent of memmove(dgpa, sgpa, bytes). */
     bytes = *reps * bytes_per_rep;
@@ -738,10 +729,7 @@ static int hvmemul_rep_movs(
      * can be emulated by a source-to-buffer-to-destination block copy.
      */
     if ( ((dgpa + bytes_per_rep) > sgpa) && (dgpa < (sgpa + bytes)) )
-    {
-        put_two_gfns(&tg);
         return X86EMUL_UNHANDLEABLE;
-    }
 
     /* Adjust destination address for reverse copy. */
     if ( df )
@@ -750,10 +738,7 @@ static int hvmemul_rep_movs(
     /* Allocate temporary buffer. Fall back to slow emulation if this fails. */
     buf = xmalloc_bytes(bytes);
     if ( buf == NULL )
-    {
-        put_two_gfns(&tg);
         return X86EMUL_UNHANDLEABLE;
-    }
 
     /*
      * We do a modicum of checking here, just for paranoia's sake and to
@@ -764,7 +749,6 @@ static int hvmemul_rep_movs(
         rc = hvm_copy_to_guest_phys(dgpa, buf, bytes);
 
     xfree(buf);
-    put_two_gfns(&tg);
 
     if ( rc == HVMCOPY_gfn_paged_out )
         return X86EMUL_RETRY;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0W-0001Mj-Pu; Thu, 10 May 2012 15:10:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0V-0001Lg-29
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:19 +0000
Received: from [85.158.143.35:55777] by server-2.bemta-4.messagelabs.com id
	51/55-17550-A5ADBAF4; Thu, 10 May 2012 15:10:18 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336662614!12295526!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18241 invoked from network); 10 May 2012 15:10:15 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276895"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:52 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUw9-0007P7-9P; Thu, 10 May 2012 16:05:49 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUw7-0000Ju-FW;
	Thu, 10 May 2012 16:05:47 +0100
MIME-Version: 1.0
X-Mercurial-Node: c68f83ff7bf403637ade5a6002a7749226602c05
Message-ID: <c68f83ff7bf403637ade.1336661989@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:49 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 05 of 11] x86/mm: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID c68f83ff7bf403637ade5a6002a7749226602c05
# Parent  9da426cdc7e478e426bcbd5391b8deacdc85db1e
x86/mm: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 9da426cdc7e4 -r c68f83ff7bf4 xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
@@ -651,7 +651,8 @@ int map_ldt_shadow_page(unsigned int off
 {
     struct vcpu *v = current;
     struct domain *d = v->domain;
-    unsigned long gmfn, mfn;
+    unsigned long gmfn;
+    struct page_info *page;
     l1_pgentry_t l1e, nl1e;
     unsigned long gva = v->arch.pv_vcpu.ldt_base + (off << PAGE_SHIFT);
     int okay;
@@ -663,28 +664,24 @@ int map_ldt_shadow_page(unsigned int off
         return 0;
 
     gmfn = l1e_get_pfn(l1e);
-    mfn = get_gfn_untyped(d, gmfn);
-    if ( unlikely(!mfn_valid(mfn)) )
+    page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+    if ( unlikely(!page) )
+        return 0;
+
+    okay = get_page_type(page, PGT_seg_desc_page);
+    if ( unlikely(!okay) )
     {
-        put_gfn(d, gmfn); 
+        put_page(page);
         return 0;
     }
 
-    okay = get_page_and_type(mfn_to_page(mfn), d, PGT_seg_desc_page);
-    if ( unlikely(!okay) )
-    {
-        put_gfn(d, gmfn); 
-        return 0;
-    }
-
-    nl1e = l1e_from_pfn(mfn, l1e_get_flags(l1e) | _PAGE_RW);
+    nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(l1e) | _PAGE_RW);
 
     spin_lock(&v->arch.pv_vcpu.shadow_ldt_lock);
     l1e_write(&v->arch.perdomain_ptes[off + 16], nl1e);
     v->arch.pv_vcpu.shadow_ldt_mapcnt++;
     spin_unlock(&v->arch.pv_vcpu.shadow_ldt_lock);
 
-    put_gfn(d, gmfn); 
     return 1;
 }
 
@@ -1819,7 +1816,6 @@ static int mod_l1_entry(l1_pgentry_t *pl
 {
     l1_pgentry_t ol1e;
     struct domain *pt_dom = pt_vcpu->domain;
-    p2m_type_t p2mt;
     int rc = 0;
 
     if ( unlikely(__copy_from_user(&ol1e, pl1e, sizeof(ol1e)) != 0) )
@@ -1835,22 +1831,21 @@ static int mod_l1_entry(l1_pgentry_t *pl
     if ( l1e_get_flags(nl1e) & _PAGE_PRESENT )
     {
         /* Translate foreign guest addresses. */
-        unsigned long mfn, gfn;
-        gfn = l1e_get_pfn(nl1e);
-        mfn = mfn_x(get_gfn(pg_dom, gfn, &p2mt));
-        if ( !p2m_is_ram(p2mt) || unlikely(mfn == INVALID_MFN) )
+        struct page_info *page = NULL;
+        if ( paging_mode_translate(pg_dom) )
         {
-            put_gfn(pg_dom, gfn);
-            return -EINVAL;
+            page = get_page_from_gfn(pg_dom, l1e_get_pfn(nl1e), NULL, P2M_ALLOC);
+            if ( !page )
+                return -EINVAL;
+            nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(nl1e));
         }
-        ASSERT((mfn & ~(PADDR_MASK >> PAGE_SHIFT)) == 0);
-        nl1e = l1e_from_pfn(mfn, l1e_get_flags(nl1e));
 
         if ( unlikely(l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom)) )
         {
             MEM_LOG("Bad L1 flags %x",
                     l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom));
-            put_gfn(pg_dom, gfn);
+            if ( page )
+                put_page(page);
             return -EINVAL;
         }
 
@@ -1860,15 +1855,21 @@ static int mod_l1_entry(l1_pgentry_t *pl
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
                               preserve_ad) )
+            {
+                if ( page )
+                    put_page(page);
                 return 0;
-            put_gfn(pg_dom, gfn);
+            }
+            if ( page )
+                put_page(page);
             return -EBUSY;
         }
 
         switch ( rc = get_page_from_l1e(nl1e, pt_dom, pg_dom) )
         {
         default:
-            put_gfn(pg_dom, gfn);
+            if ( page )
+                put_page(page);
             return rc;
         case 0:
             break;
@@ -1876,7 +1877,9 @@ static int mod_l1_entry(l1_pgentry_t *pl
             l1e_remove_flags(nl1e, _PAGE_RW);
             break;
         }
-        
+        if ( page )
+            put_page(page);
+
         adjust_guest_l1e(nl1e, pt_dom);
         if ( unlikely(!UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
                                     preserve_ad)) )
@@ -1884,7 +1887,6 @@ static int mod_l1_entry(l1_pgentry_t *pl
             ol1e = nl1e;
             rc = -EBUSY;
         }
-        put_gfn(pg_dom, gfn);
     }
     else if ( unlikely(!UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
                                      preserve_ad)) )
@@ -3042,7 +3044,6 @@ int do_mmuext_op(
             type = PGT_l4_page_table;
 
         pin_page: {
-            unsigned long mfn;
             struct page_info *page;
 
             /* Ignore pinning of invalid paging levels. */
@@ -3052,25 +3053,28 @@ int do_mmuext_op(
             if ( paging_mode_refcounts(pg_owner) )
                 break;
 
-            mfn = get_gfn_untyped(pg_owner, op.arg1.mfn);
-            rc = get_page_and_type_from_pagenr(mfn, type, pg_owner, 0, 1);
+            page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC);
+            if ( unlikely(!page) )
+            {
+                rc = -EINVAL;
+                break;
+            }
+
+            rc = get_page_type_preemptible(page, type);
             okay = !rc;
             if ( unlikely(!okay) )
             {
                 if ( rc == -EINTR )
                     rc = -EAGAIN;
                 else if ( rc != -EAGAIN )
-                    MEM_LOG("Error while pinning mfn %lx", mfn);
-                put_gfn(pg_owner, op.arg1.mfn);
+                    MEM_LOG("Error while pinning mfn %lx", page_to_mfn(page));
+                put_page(page);
                 break;
             }
 
-            page = mfn_to_page(mfn);
-
             if ( (rc = xsm_memory_pin_page(d, page)) != 0 )
             {
                 put_page_and_type(page);
-                put_gfn(pg_owner, op.arg1.mfn);
                 okay = 0;
                 break;
             }
@@ -3078,16 +3082,15 @@ int do_mmuext_op(
             if ( unlikely(test_and_set_bit(_PGT_pinned,
                                            &page->u.inuse.type_info)) )
             {
-                MEM_LOG("Mfn %lx already pinned", mfn);
+                MEM_LOG("Mfn %lx already pinned", page_to_mfn(page));
                 put_page_and_type(page);
-                put_gfn(pg_owner, op.arg1.mfn);
                 okay = 0;
                 break;
             }
 
             /* A page is dirtied when its pin status is set. */
-            paging_mark_dirty(pg_owner, mfn);
-           
+            paging_mark_dirty(pg_owner, page_to_mfn(page));
+
             /* We can race domain destruction (domain_relinquish_resources). */
             if ( unlikely(pg_owner != d) )
             {
@@ -3099,35 +3102,29 @@ int do_mmuext_op(
                 spin_unlock(&pg_owner->page_alloc_lock);
                 if ( drop_ref )
                     put_page_and_type(page);
-                put_gfn(pg_owner, op.arg1.mfn);
             }
 
             break;
         }
 
         case MMUEXT_UNPIN_TABLE: {
-            unsigned long mfn;
             struct page_info *page;
 
             if ( paging_mode_refcounts(pg_owner) )
                 break;
 
-            mfn = get_gfn_untyped(pg_owner, op.arg1.mfn);
-            if ( unlikely(!(okay = get_page_from_pagenr(mfn, pg_owner))) )
+            page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC);
+            if ( unlikely(!page) )
             {
-                put_gfn(pg_owner, op.arg1.mfn);
-                MEM_LOG("Mfn %lx bad domain", mfn);
+                MEM_LOG("Mfn %lx bad domain", op.arg1.mfn);
                 break;
             }
 
-            page = mfn_to_page(mfn);
-
             if ( !test_and_clear_bit(_PGT_pinned, &page->u.inuse.type_info) )
             {
                 okay = 0;
                 put_page(page);
-                put_gfn(pg_owner, op.arg1.mfn);
-                MEM_LOG("Mfn %lx not pinned", mfn);
+                MEM_LOG("Mfn %lx not pinned", op.arg1.mfn);
                 break;
             }
 
@@ -3135,40 +3132,43 @@ int do_mmuext_op(
             put_page(page);
 
             /* A page is dirtied when its pin status is cleared. */
-            paging_mark_dirty(pg_owner, mfn);
-
-            put_gfn(pg_owner, op.arg1.mfn);
+            paging_mark_dirty(pg_owner, page_to_mfn(page));
+
             break;
         }
 
         case MMUEXT_NEW_BASEPTR:
-            okay = new_guest_cr3(get_gfn_untyped(d, op.arg1.mfn));
-            put_gfn(d, op.arg1.mfn);
+            okay = (!paging_mode_translate(d)
+                    && new_guest_cr3(op.arg1.mfn));
             break;
+
         
 #ifdef __x86_64__
         case MMUEXT_NEW_USER_BASEPTR: {
-            unsigned long old_mfn, mfn;
-
-            mfn = get_gfn_untyped(d, op.arg1.mfn);
-            if ( mfn != 0 )
+            unsigned long old_mfn;
+
+            if ( paging_mode_translate(current->domain) )
+            {
+                okay = 0;
+                break;
+            }
+
+            if ( op.arg1.mfn != 0 )
             {
                 if ( paging_mode_refcounts(d) )
-                    okay = get_page_from_pagenr(mfn, d);
+                    okay = get_page_from_pagenr(op.arg1.mfn, d);
                 else
                     okay = !get_page_and_type_from_pagenr(
-                        mfn, PGT_root_page_table, d, 0, 0);
+                        op.arg1.mfn, PGT_root_page_table, d, 0, 0);
                 if ( unlikely(!okay) )
                 {
-                    put_gfn(d, op.arg1.mfn);
-                    MEM_LOG("Error while installing new mfn %lx", mfn);
+                    MEM_LOG("Error while installing new mfn %lx", op.arg1.mfn);
                     break;
                 }
             }
 
             old_mfn = pagetable_get_pfn(curr->arch.guest_table_user);
-            curr->arch.guest_table_user = pagetable_from_pfn(mfn);
-            put_gfn(d, op.arg1.mfn);
+            curr->arch.guest_table_user = pagetable_from_pfn(op.arg1.mfn);
 
             if ( old_mfn != 0 )
             {
@@ -3283,28 +3283,27 @@ int do_mmuext_op(
         }
 
         case MMUEXT_CLEAR_PAGE: {
-            unsigned long mfn;
+            struct page_info *page;
             unsigned char *ptr;
 
-            mfn = get_gfn_untyped(d, op.arg1.mfn);
-            okay = !get_page_and_type_from_pagenr(
-                mfn, PGT_writable_page, d, 0, 0);
-            if ( unlikely(!okay) )
+            page = get_page_from_gfn(d, op.arg1.mfn, NULL, P2M_ALLOC);
+            if ( !page || !get_page_type(page, PGT_writable_page) )
             {
-                put_gfn(d, op.arg1.mfn);
-                MEM_LOG("Error while clearing mfn %lx", mfn);
+                if ( page )
+                    put_page(page);
+                MEM_LOG("Error while clearing mfn %lx", op.arg1.mfn);
+                okay = 0;
                 break;
             }
 
             /* A page is dirtied when it's being cleared. */
-            paging_mark_dirty(d, mfn);
-
-            ptr = fixmap_domain_page(mfn);
+            paging_mark_dirty(d, page_to_mfn(page));
+
+            ptr = fixmap_domain_page(page_to_mfn(page));
             clear_page(ptr);
             fixunmap_domain_page(ptr);
 
-            put_page_and_type(mfn_to_page(mfn));
-            put_gfn(d, op.arg1.mfn);
+            put_page_and_type(page);
             break;
         }
 
@@ -3312,42 +3311,38 @@ int do_mmuext_op(
         {
             const unsigned char *src;
             unsigned char *dst;
-            unsigned long src_mfn, mfn;
-
-            src_mfn = get_gfn_untyped(d, op.arg2.src_mfn);
-            okay = get_page_from_pagenr(src_mfn, d);
+            struct page_info *src_page, *dst_page;
+
+            src_page = get_page_from_gfn(d, op.arg2.src_mfn, NULL, P2M_ALLOC);
+            if ( unlikely(!src_page) )
+            {
+                okay = 0;
+                MEM_LOG("Error while copying from mfn %lx", op.arg2.src_mfn);
+                break;
+            }
+
+            dst_page = get_page_from_gfn(d, op.arg1.mfn, NULL, P2M_ALLOC);
+            okay = (dst_page && get_page_type(dst_page, PGT_writable_page));
             if ( unlikely(!okay) )
             {
-                put_gfn(d, op.arg2.src_mfn);
-                MEM_LOG("Error while copying from mfn %lx", src_mfn);
+                put_page(src_page);
+                if ( dst_page )
+                    put_page(dst_page);
+                MEM_LOG("Error while copying to mfn %lx", op.arg1.mfn);
                 break;
             }
 
-            mfn = get_gfn_untyped(d, op.arg1.mfn);
-            okay = !get_page_and_type_from_pagenr(
-                mfn, PGT_writable_page, d, 0, 0);
-            if ( unlikely(!okay) )
-            {
-                put_gfn(d, op.arg1.mfn);
-                put_page(mfn_to_page(src_mfn));
-                put_gfn(d, op.arg2.src_mfn);
-                MEM_LOG("Error while copying to mfn %lx", mfn);
-                break;
-            }
-
             /* A page is dirtied when it's being copied to. */
-            paging_mark_dirty(d, mfn);
-
-            src = map_domain_page(src_mfn);
-            dst = fixmap_domain_page(mfn);
+            paging_mark_dirty(d, page_to_mfn(dst_page));
+
+            src = __map_domain_page(src_page);
+            dst = fixmap_domain_page(page_to_mfn(dst_page));
             copy_page(dst, src);
             fixunmap_domain_page(dst);
             unmap_domain_page(src);
 
-            put_page_and_type(mfn_to_page(mfn));
-            put_gfn(d, op.arg1.mfn);
-            put_page(mfn_to_page(src_mfn));
-            put_gfn(d, op.arg2.src_mfn);
+            put_page_and_type(dst_page);
+            put_page(src_page);
             break;
         }
 
@@ -3538,29 +3533,26 @@ int do_mmu_update(
 
             req.ptr -= cmd;
             gmfn = req.ptr >> PAGE_SHIFT;
-            mfn = mfn_x(get_gfn(pt_owner, gmfn, &p2mt));
-            if ( !p2m_is_valid(p2mt) )
-                mfn = INVALID_MFN;
+            page = get_page_from_gfn(pt_owner, gmfn, &p2mt, P2M_ALLOC);
 
             if ( p2m_is_paged(p2mt) )
             {
-                put_gfn(pt_owner, gmfn);
+                ASSERT(!page);
                 p2m_mem_paging_populate(pg_owner, gmfn);
                 rc = -ENOENT;
                 break;
             }
 
-            if ( unlikely(!get_page_from_pagenr(mfn, pt_owner)) )
+            if ( unlikely(!page) )
             {
                 MEM_LOG("Could not get page for normal update");
-                put_gfn(pt_owner, gmfn);
                 break;
             }
 
+            mfn = page_to_mfn(page);
             va = map_domain_page_with_cache(mfn, &mapcache);
             va = (void *)((unsigned long)va +
                           (unsigned long)(req.ptr & ~PAGE_MASK));
-            page = mfn_to_page(mfn);
 
             if ( page_lock(page) )
             {
@@ -3569,22 +3561,23 @@ int do_mmu_update(
                 case PGT_l1_page_table:
                 {
                     l1_pgentry_t l1e = l1e_from_intpte(req.val);
-                    p2m_type_t l1e_p2mt;
-                    unsigned long l1egfn = l1e_get_pfn(l1e), l1emfn;
-    
-                    l1emfn = mfn_x(get_gfn(pg_owner, l1egfn, &l1e_p2mt));
+                    p2m_type_t l1e_p2mt = p2m_ram_rw;
+                    struct page_info *target = NULL;
+
+                    if ( paging_mode_translate(pg_owner) )
+                        target = get_page_from_gfn(pg_owner, l1e_get_pfn(l1e),
+                                                   &l1e_p2mt, P2M_ALLOC);
 
                     if ( p2m_is_paged(l1e_p2mt) )
                     {
-                        put_gfn(pg_owner, l1egfn);
+                        if ( target )
+                            put_page(target);
                         p2m_mem_paging_populate(pg_owner, l1e_get_pfn(l1e));
                         rc = -ENOENT;
                         break;
                     }
-                    else if ( p2m_ram_paging_in == l1e_p2mt && 
-                                !mfn_valid(l1emfn) )
+                    else if ( p2m_ram_paging_in == l1e_p2mt && !target )
                     {
-                        put_gfn(pg_owner, l1egfn);
                         rc = -ENOENT;
                         break;
                     }
@@ -3601,7 +3594,8 @@ int do_mmu_update(
                             rc = mem_sharing_unshare_page(pg_owner, gfn, 0); 
                             if ( rc )
                             {
-                                put_gfn(pg_owner, l1egfn);
+                                if ( target )
+                                    put_page(target);
                                 /* Notify helper, don't care about errors, will not
                                  * sleep on wq, since we're a foreign domain. */
                                 (void)mem_sharing_notify_enomem(pg_owner, gfn, 0);
@@ -3614,112 +3608,22 @@ int do_mmu_update(
                     rc = mod_l1_entry(va, l1e, mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, v,
                                       pg_owner);
-                    put_gfn(pg_owner, l1egfn);
+                    if ( target )
+                        put_page(target);
                 }
                 break;
                 case PGT_l2_page_table:
-                {
-                    l2_pgentry_t l2e = l2e_from_intpte(req.val);
-                    p2m_type_t l2e_p2mt;
-                    unsigned long l2egfn = l2e_get_pfn(l2e), l2emfn;
-
-                    l2emfn = mfn_x(get_gfn(pg_owner, l2egfn, &l2e_p2mt));
-
-                    if ( p2m_is_paged(l2e_p2mt) )
-                    {
-                        put_gfn(pg_owner, l2egfn);
-                        p2m_mem_paging_populate(pg_owner, l2egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_paging_in == l2e_p2mt && 
-                                !mfn_valid(l2emfn) )
-                    {
-                        put_gfn(pg_owner, l2egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_shared == l2e_p2mt )
-                    {
-                        put_gfn(pg_owner, l2egfn);
-                        MEM_LOG("Unexpected attempt to map shared page.\n");
-                        break;
-                    }
-
-
-                    rc = mod_l2_entry(va, l2e, mfn,
+                    rc = mod_l2_entry(va, l2e_from_intpte(req.val), mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, v);
-                    put_gfn(pg_owner, l2egfn);
-                }
-                break;
+                    break;
                 case PGT_l3_page_table:
-                {
-                    l3_pgentry_t l3e = l3e_from_intpte(req.val);
-                    p2m_type_t l3e_p2mt;
-                    unsigned long l3egfn = l3e_get_pfn(l3e), l3emfn;
-
-                    l3emfn = mfn_x(get_gfn(pg_owner, l3egfn, &l3e_p2mt));
-
-                    if ( p2m_is_paged(l3e_p2mt) )
-                    {
-                        put_gfn(pg_owner, l3egfn);
-                        p2m_mem_paging_populate(pg_owner, l3egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_paging_in == l3e_p2mt && 
-                                !mfn_valid(l3emfn) )
-                    {
-                        put_gfn(pg_owner, l3egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_shared == l3e_p2mt )
-                    {
-                        put_gfn(pg_owner, l3egfn);
-                        MEM_LOG("Unexpected attempt to map shared page.\n");
-                        break;
-                    }
-
-                    rc = mod_l3_entry(va, l3e, mfn,
+                    rc = mod_l3_entry(va, l3e_from_intpte(req.val), mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, 1, v);
-                    put_gfn(pg_owner, l3egfn);
-                }
-                break;
+                    break;
 #if CONFIG_PAGING_LEVELS >= 4
                 case PGT_l4_page_table:
-                {
-                    l4_pgentry_t l4e = l4e_from_intpte(req.val);
-                    p2m_type_t l4e_p2mt;
-                    unsigned long l4egfn = l4e_get_pfn(l4e), l4emfn;
-
-                    l4emfn = mfn_x(get_gfn(pg_owner, l4egfn, &l4e_p2mt));
-
-                    if ( p2m_is_paged(l4e_p2mt) )
-                    {
-                        put_gfn(pg_owner, l4egfn);
-                        p2m_mem_paging_populate(pg_owner, l4egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_paging_in == l4e_p2mt && 
-                                !mfn_valid(l4emfn) )
-                    {
-                        put_gfn(pg_owner, l4egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_shared == l4e_p2mt )
-                    {
-                        put_gfn(pg_owner, l4egfn);
-                        MEM_LOG("Unexpected attempt to map shared page.\n");
-                        break;
-                    }
-
-                    rc = mod_l4_entry(va, l4e, mfn,
+                    rc = mod_l4_entry(va, l4e_from_intpte(req.val), mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, 1, v);
-                    put_gfn(pg_owner, l4egfn);
-                }
                 break;
 #endif
                 case PGT_writable_page:
@@ -3742,7 +3646,6 @@ int do_mmu_update(
 
             unmap_domain_page_with_cache(va, &mapcache);
             put_page(page);
-            put_gfn(pt_owner, gmfn);
         }
         break;
 
@@ -3829,18 +3732,17 @@ static int create_grant_pte_mapping(
     adjust_guest_l1e(nl1e, d);
 
     gmfn = pte_addr >> PAGE_SHIFT;
-    mfn = get_gfn_untyped(d, gmfn);
-
-    if ( unlikely(!get_page_from_pagenr(mfn, current->domain)) )
+    page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+
+    if ( unlikely(!page) )
     {
-        put_gfn(d, gmfn);
         MEM_LOG("Could not get page for normal update");
         return GNTST_general_error;
     }
     
+    mfn = page_to_mfn(page);
     va = map_domain_page(mfn);
     va = (void *)((unsigned long)va + ((unsigned long)pte_addr & ~PAGE_MASK));
-    page = mfn_to_page(mfn);
 
     if ( !page_lock(page) )
     {
@@ -3871,7 +3773,6 @@ static int create_grant_pte_mapping(
  failed:
     unmap_domain_page(va);
     put_page(page);
-    put_gfn(d, gmfn);
 
     return rc;
 }
@@ -3886,18 +3787,17 @@ static int destroy_grant_pte_mapping(
     l1_pgentry_t ol1e;
 
     gmfn = addr >> PAGE_SHIFT;
-    mfn = get_gfn_untyped(d, gmfn);
-
-    if ( unlikely(!get_page_from_pagenr(mfn, current->domain)) )
+    page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+
+    if ( unlikely(!page) )
     {
-        put_gfn(d, gmfn);
         MEM_LOG("Could not get page for normal update");
         return GNTST_general_error;
     }
     
+    mfn = page_to_mfn(page);
     va = map_domain_page(mfn);
     va = (void *)((unsigned long)va + ((unsigned long)addr & ~PAGE_MASK));
-    page = mfn_to_page(mfn);
 
     if ( !page_lock(page) )
     {
@@ -3942,7 +3842,6 @@ static int destroy_grant_pte_mapping(
  failed:
     unmap_domain_page(va);
     put_page(page);
-    put_gfn(d, gmfn);
     return rc;
 }
 
@@ -4465,11 +4364,17 @@ long set_gdt(struct vcpu *v,
     /* Check the pages in the new GDT. */
     for ( i = 0; i < nr_pages; i++ )
     {
+        struct page_info *page;
         pfns[i] = frames[i];
-        mfn = frames[i] = get_gfn_untyped(d, frames[i]);
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), d, PGT_seg_desc_page) )
+        page = get_page_from_gfn(d, frames[i], NULL, P2M_ALLOC);
+        if ( !page )
             goto fail;
+        if ( !get_page_type(page, PGT_seg_desc_page) )
+        {
+            put_page(page);
+            goto fail;
+        }
+        mfn = frames[i] = page_to_mfn(page);
     }
 
     /* Tear down the old GDT. */
@@ -4482,7 +4387,6 @@ long set_gdt(struct vcpu *v,
         v->arch.pv_vcpu.gdt_frames[i] = frames[i];
         l1e_write(&v->arch.perdomain_ptes[i],
                   l1e_from_pfn(frames[i], __PAGE_HYPERVISOR));
-        put_gfn(d, pfns[i]);
     }
 
     xfree(pfns);
@@ -4492,7 +4396,6 @@ long set_gdt(struct vcpu *v,
     while ( i-- > 0 )
     {
         put_page_and_type(mfn_to_page(frames[i]));
-        put_gfn(d, pfns[i]);
     }
     xfree(pfns);
     return -EINVAL;
@@ -4538,21 +4441,16 @@ long do_update_descriptor(u64 pa, u64 de
 
     *(u64 *)&d = desc;
 
-    mfn = get_gfn_untyped(dom, gmfn);
+    page = get_page_from_gfn(dom, gmfn, NULL, P2M_ALLOC);
     if ( (((unsigned int)pa % sizeof(struct desc_struct)) != 0) ||
-         !mfn_valid(mfn) ||
+         !page ||
          !check_descriptor(dom, &d) )
     {
-        put_gfn(dom, gmfn);
+        if ( page )
+            put_page(page);
         return -EINVAL;
     }
-
-    page = mfn_to_page(mfn);
-    if ( unlikely(!get_page(page, dom)) )
-    {
-        put_gfn(dom, gmfn);
-        return -EINVAL;
-    }
+    mfn = page_to_mfn(page);
 
     /* Check if the given frame is in use in an unsafe context. */
     switch ( page->u.inuse.type_info & PGT_type_mask )
@@ -4580,7 +4478,6 @@ long do_update_descriptor(u64 pa, u64 de
 
  out:
     put_page(page);
-    put_gfn(dom, gmfn);
 
     return ret;
 }
diff -r 9da426cdc7e4 -r c68f83ff7bf4 xen/arch/x86/mm/guest_walk.c
--- a/xen/arch/x86/mm/guest_walk.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm/guest_walk.c	Thu May 10 15:54:16 2012 +0100
@@ -94,39 +94,37 @@ static inline void *map_domain_gfn(struc
                                    p2m_type_t *p2mt,
                                    uint32_t *rc) 
 {
-    p2m_access_t p2ma;
+    struct page_info *page;
     void *map;
 
     /* Translate the gfn, unsharing if shared */
-    *mfn = get_gfn_type_access(p2m, gfn_x(gfn), p2mt, &p2ma, 
-                               P2M_ALLOC | P2M_UNSHARE, NULL);
+    page = get_page_from_gfn_p2m(p2m->domain, p2m, gfn_x(gfn), p2mt, NULL,
+                                  P2M_ALLOC | P2M_UNSHARE);
     if ( p2m_is_paging(*p2mt) )
     {
         ASSERT(!p2m_is_nestedp2m(p2m));
-        __put_gfn(p2m, gfn_x(gfn));
+        if ( page )
+            put_page(page);
         p2m_mem_paging_populate(p2m->domain, gfn_x(gfn));
         *rc = _PAGE_PAGED;
         return NULL;
     }
     if ( p2m_is_shared(*p2mt) )
     {
-        __put_gfn(p2m, gfn_x(gfn));
+        if ( page )
+            put_page(page);
         *rc = _PAGE_SHARED;
         return NULL;
     }
-    if ( !p2m_is_ram(*p2mt) ) 
+    if ( !page )
     {
-        __put_gfn(p2m, gfn_x(gfn));
         *rc |= _PAGE_PRESENT;
         return NULL;
     }
+    *mfn = _mfn(page_to_mfn(page));
     ASSERT(mfn_valid(mfn_x(*mfn)));
-    
-    /* Get an extra ref to the page to ensure liveness of the map.
-     * Then we can safely put gfn */
-    page_get_owner_and_reference(mfn_to_page(mfn_x(*mfn)));
+
     map = map_domain_page(mfn_x(*mfn));
-    __put_gfn(p2m, gfn_x(gfn));
     return map;
 }
 
diff -r 9da426cdc7e4 -r c68f83ff7bf4 xen/arch/x86/mm/hap/guest_walk.c
--- a/xen/arch/x86/mm/hap/guest_walk.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm/hap/guest_walk.c	Thu May 10 15:54:16 2012 +0100
@@ -54,34 +54,36 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PA
     mfn_t top_mfn;
     void *top_map;
     p2m_type_t p2mt;
-    p2m_access_t p2ma;
     walk_t gw;
     unsigned long top_gfn;
+    struct page_info *top_page;
 
     /* Get the top-level table's MFN */
     top_gfn = cr3 >> PAGE_SHIFT;
-    top_mfn = get_gfn_type_access(p2m, top_gfn, &p2mt, &p2ma, 
-                                  P2M_ALLOC | P2M_UNSHARE, NULL);
+    top_page = get_page_from_gfn_p2m(p2m->domain, p2m, top_gfn,
+                                     &p2mt, NULL, P2M_ALLOC | P2M_UNSHARE);
     if ( p2m_is_paging(p2mt) )
     {
         ASSERT(!p2m_is_nestedp2m(p2m));
         pfec[0] = PFEC_page_paged;
-        __put_gfn(p2m, top_gfn);
+        if ( top_page )
+            put_page(top_page);
         p2m_mem_paging_populate(p2m->domain, cr3 >> PAGE_SHIFT);
         return INVALID_GFN;
     }
     if ( p2m_is_shared(p2mt) )
     {
         pfec[0] = PFEC_page_shared;
-        __put_gfn(p2m, top_gfn);
+        if ( top_page )
+            put_page(top_page);
         return INVALID_GFN;
     }
-    if ( !p2m_is_ram(p2mt) )
+    if ( !top_page )
     {
         pfec[0] &= ~PFEC_page_present;
-        __put_gfn(p2m, top_gfn);
         return INVALID_GFN;
     }
+    top_mfn = _mfn(page_to_mfn(top_page));
 
     /* Map the top-level table and call the tree-walker */
     ASSERT(mfn_valid(mfn_x(top_mfn)));
@@ -91,31 +93,30 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PA
 #endif
     missing = guest_walk_tables(v, p2m, ga, &gw, pfec[0], top_mfn, top_map);
     unmap_domain_page(top_map);
-    __put_gfn(p2m, top_gfn);
+    put_page(top_page);
 
     /* Interpret the answer */
     if ( missing == 0 )
     {
         gfn_t gfn = guest_l1e_get_gfn(gw.l1e);
-        (void)get_gfn_type_access(p2m, gfn_x(gfn), &p2mt, &p2ma,
-                                  P2M_ALLOC | P2M_UNSHARE, NULL); 
+        struct page_info *page;
+        page = get_page_from_gfn_p2m(p2m->domain, p2m, gfn_x(gfn), &p2mt,
+                                     NULL, P2M_ALLOC | P2M_UNSHARE);
+        if ( page )
+            put_page(page);
         if ( p2m_is_paging(p2mt) )
         {
             ASSERT(!p2m_is_nestedp2m(p2m));
             pfec[0] = PFEC_page_paged;
-            __put_gfn(p2m, gfn_x(gfn));
             p2m_mem_paging_populate(p2m->domain, gfn_x(gfn));
             return INVALID_GFN;
         }
         if ( p2m_is_shared(p2mt) )
         {
             pfec[0] = PFEC_page_shared;
-            __put_gfn(p2m, gfn_x(gfn));
             return INVALID_GFN;
         }
 
-        __put_gfn(p2m, gfn_x(gfn));
-
         if ( page_order )
             *page_order = guest_walk_to_page_order(&gw);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0W-0001Mj-Pu; Thu, 10 May 2012 15:10:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0V-0001Lg-29
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:19 +0000
Received: from [85.158.143.35:55777] by server-2.bemta-4.messagelabs.com id
	51/55-17550-A5ADBAF4; Thu, 10 May 2012 15:10:18 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336662614!12295526!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18241 invoked from network); 10 May 2012 15:10:15 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276895"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:52 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUw9-0007P7-9P; Thu, 10 May 2012 16:05:49 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUw7-0000Ju-FW;
	Thu, 10 May 2012 16:05:47 +0100
MIME-Version: 1.0
X-Mercurial-Node: c68f83ff7bf403637ade5a6002a7749226602c05
Message-ID: <c68f83ff7bf403637ade.1336661989@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:49 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 05 of 11] x86/mm: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID c68f83ff7bf403637ade5a6002a7749226602c05
# Parent  9da426cdc7e478e426bcbd5391b8deacdc85db1e
x86/mm: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 9da426cdc7e4 -r c68f83ff7bf4 xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
@@ -651,7 +651,8 @@ int map_ldt_shadow_page(unsigned int off
 {
     struct vcpu *v = current;
     struct domain *d = v->domain;
-    unsigned long gmfn, mfn;
+    unsigned long gmfn;
+    struct page_info *page;
     l1_pgentry_t l1e, nl1e;
     unsigned long gva = v->arch.pv_vcpu.ldt_base + (off << PAGE_SHIFT);
     int okay;
@@ -663,28 +664,24 @@ int map_ldt_shadow_page(unsigned int off
         return 0;
 
     gmfn = l1e_get_pfn(l1e);
-    mfn = get_gfn_untyped(d, gmfn);
-    if ( unlikely(!mfn_valid(mfn)) )
+    page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+    if ( unlikely(!page) )
+        return 0;
+
+    okay = get_page_type(page, PGT_seg_desc_page);
+    if ( unlikely(!okay) )
     {
-        put_gfn(d, gmfn); 
+        put_page(page);
         return 0;
     }
 
-    okay = get_page_and_type(mfn_to_page(mfn), d, PGT_seg_desc_page);
-    if ( unlikely(!okay) )
-    {
-        put_gfn(d, gmfn); 
-        return 0;
-    }
-
-    nl1e = l1e_from_pfn(mfn, l1e_get_flags(l1e) | _PAGE_RW);
+    nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(l1e) | _PAGE_RW);
 
     spin_lock(&v->arch.pv_vcpu.shadow_ldt_lock);
     l1e_write(&v->arch.perdomain_ptes[off + 16], nl1e);
     v->arch.pv_vcpu.shadow_ldt_mapcnt++;
     spin_unlock(&v->arch.pv_vcpu.shadow_ldt_lock);
 
-    put_gfn(d, gmfn); 
     return 1;
 }
 
@@ -1819,7 +1816,6 @@ static int mod_l1_entry(l1_pgentry_t *pl
 {
     l1_pgentry_t ol1e;
     struct domain *pt_dom = pt_vcpu->domain;
-    p2m_type_t p2mt;
     int rc = 0;
 
     if ( unlikely(__copy_from_user(&ol1e, pl1e, sizeof(ol1e)) != 0) )
@@ -1835,22 +1831,21 @@ static int mod_l1_entry(l1_pgentry_t *pl
     if ( l1e_get_flags(nl1e) & _PAGE_PRESENT )
     {
         /* Translate foreign guest addresses. */
-        unsigned long mfn, gfn;
-        gfn = l1e_get_pfn(nl1e);
-        mfn = mfn_x(get_gfn(pg_dom, gfn, &p2mt));
-        if ( !p2m_is_ram(p2mt) || unlikely(mfn == INVALID_MFN) )
+        struct page_info *page = NULL;
+        if ( paging_mode_translate(pg_dom) )
         {
-            put_gfn(pg_dom, gfn);
-            return -EINVAL;
+            page = get_page_from_gfn(pg_dom, l1e_get_pfn(nl1e), NULL, P2M_ALLOC);
+            if ( !page )
+                return -EINVAL;
+            nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(nl1e));
         }
-        ASSERT((mfn & ~(PADDR_MASK >> PAGE_SHIFT)) == 0);
-        nl1e = l1e_from_pfn(mfn, l1e_get_flags(nl1e));
 
         if ( unlikely(l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom)) )
         {
             MEM_LOG("Bad L1 flags %x",
                     l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom));
-            put_gfn(pg_dom, gfn);
+            if ( page )
+                put_page(page);
             return -EINVAL;
         }
 
@@ -1860,15 +1855,21 @@ static int mod_l1_entry(l1_pgentry_t *pl
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
                               preserve_ad) )
+            {
+                if ( page )
+                    put_page(page);
                 return 0;
-            put_gfn(pg_dom, gfn);
+            }
+            if ( page )
+                put_page(page);
             return -EBUSY;
         }
 
         switch ( rc = get_page_from_l1e(nl1e, pt_dom, pg_dom) )
         {
         default:
-            put_gfn(pg_dom, gfn);
+            if ( page )
+                put_page(page);
             return rc;
         case 0:
             break;
@@ -1876,7 +1877,9 @@ static int mod_l1_entry(l1_pgentry_t *pl
             l1e_remove_flags(nl1e, _PAGE_RW);
             break;
         }
-        
+        if ( page )
+            put_page(page);
+
         adjust_guest_l1e(nl1e, pt_dom);
         if ( unlikely(!UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
                                     preserve_ad)) )
@@ -1884,7 +1887,6 @@ static int mod_l1_entry(l1_pgentry_t *pl
             ol1e = nl1e;
             rc = -EBUSY;
         }
-        put_gfn(pg_dom, gfn);
     }
     else if ( unlikely(!UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
                                      preserve_ad)) )
@@ -3042,7 +3044,6 @@ int do_mmuext_op(
             type = PGT_l4_page_table;
 
         pin_page: {
-            unsigned long mfn;
             struct page_info *page;
 
             /* Ignore pinning of invalid paging levels. */
@@ -3052,25 +3053,28 @@ int do_mmuext_op(
             if ( paging_mode_refcounts(pg_owner) )
                 break;
 
-            mfn = get_gfn_untyped(pg_owner, op.arg1.mfn);
-            rc = get_page_and_type_from_pagenr(mfn, type, pg_owner, 0, 1);
+            page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC);
+            if ( unlikely(!page) )
+            {
+                rc = -EINVAL;
+                break;
+            }
+
+            rc = get_page_type_preemptible(page, type);
             okay = !rc;
             if ( unlikely(!okay) )
             {
                 if ( rc == -EINTR )
                     rc = -EAGAIN;
                 else if ( rc != -EAGAIN )
-                    MEM_LOG("Error while pinning mfn %lx", mfn);
-                put_gfn(pg_owner, op.arg1.mfn);
+                    MEM_LOG("Error while pinning mfn %lx", page_to_mfn(page));
+                put_page(page);
                 break;
             }
 
-            page = mfn_to_page(mfn);
-
             if ( (rc = xsm_memory_pin_page(d, page)) != 0 )
             {
                 put_page_and_type(page);
-                put_gfn(pg_owner, op.arg1.mfn);
                 okay = 0;
                 break;
             }
@@ -3078,16 +3082,15 @@ int do_mmuext_op(
             if ( unlikely(test_and_set_bit(_PGT_pinned,
                                            &page->u.inuse.type_info)) )
             {
-                MEM_LOG("Mfn %lx already pinned", mfn);
+                MEM_LOG("Mfn %lx already pinned", page_to_mfn(page));
                 put_page_and_type(page);
-                put_gfn(pg_owner, op.arg1.mfn);
                 okay = 0;
                 break;
             }
 
             /* A page is dirtied when its pin status is set. */
-            paging_mark_dirty(pg_owner, mfn);
-           
+            paging_mark_dirty(pg_owner, page_to_mfn(page));
+
             /* We can race domain destruction (domain_relinquish_resources). */
             if ( unlikely(pg_owner != d) )
             {
@@ -3099,35 +3102,29 @@ int do_mmuext_op(
                 spin_unlock(&pg_owner->page_alloc_lock);
                 if ( drop_ref )
                     put_page_and_type(page);
-                put_gfn(pg_owner, op.arg1.mfn);
             }
 
             break;
         }
 
         case MMUEXT_UNPIN_TABLE: {
-            unsigned long mfn;
             struct page_info *page;
 
             if ( paging_mode_refcounts(pg_owner) )
                 break;
 
-            mfn = get_gfn_untyped(pg_owner, op.arg1.mfn);
-            if ( unlikely(!(okay = get_page_from_pagenr(mfn, pg_owner))) )
+            page = get_page_from_gfn(pg_owner, op.arg1.mfn, NULL, P2M_ALLOC);
+            if ( unlikely(!page) )
             {
-                put_gfn(pg_owner, op.arg1.mfn);
-                MEM_LOG("Mfn %lx bad domain", mfn);
+                MEM_LOG("Mfn %lx bad domain", op.arg1.mfn);
                 break;
             }
 
-            page = mfn_to_page(mfn);
-
             if ( !test_and_clear_bit(_PGT_pinned, &page->u.inuse.type_info) )
             {
                 okay = 0;
                 put_page(page);
-                put_gfn(pg_owner, op.arg1.mfn);
-                MEM_LOG("Mfn %lx not pinned", mfn);
+                MEM_LOG("Mfn %lx not pinned", op.arg1.mfn);
                 break;
             }
 
@@ -3135,40 +3132,43 @@ int do_mmuext_op(
             put_page(page);
 
             /* A page is dirtied when its pin status is cleared. */
-            paging_mark_dirty(pg_owner, mfn);
-
-            put_gfn(pg_owner, op.arg1.mfn);
+            paging_mark_dirty(pg_owner, page_to_mfn(page));
+
             break;
         }
 
         case MMUEXT_NEW_BASEPTR:
-            okay = new_guest_cr3(get_gfn_untyped(d, op.arg1.mfn));
-            put_gfn(d, op.arg1.mfn);
+            okay = (!paging_mode_translate(d)
+                    && new_guest_cr3(op.arg1.mfn));
             break;
+
         
 #ifdef __x86_64__
         case MMUEXT_NEW_USER_BASEPTR: {
-            unsigned long old_mfn, mfn;
-
-            mfn = get_gfn_untyped(d, op.arg1.mfn);
-            if ( mfn != 0 )
+            unsigned long old_mfn;
+
+            if ( paging_mode_translate(current->domain) )
+            {
+                okay = 0;
+                break;
+            }
+
+            if ( op.arg1.mfn != 0 )
             {
                 if ( paging_mode_refcounts(d) )
-                    okay = get_page_from_pagenr(mfn, d);
+                    okay = get_page_from_pagenr(op.arg1.mfn, d);
                 else
                     okay = !get_page_and_type_from_pagenr(
-                        mfn, PGT_root_page_table, d, 0, 0);
+                        op.arg1.mfn, PGT_root_page_table, d, 0, 0);
                 if ( unlikely(!okay) )
                 {
-                    put_gfn(d, op.arg1.mfn);
-                    MEM_LOG("Error while installing new mfn %lx", mfn);
+                    MEM_LOG("Error while installing new mfn %lx", op.arg1.mfn);
                     break;
                 }
             }
 
             old_mfn = pagetable_get_pfn(curr->arch.guest_table_user);
-            curr->arch.guest_table_user = pagetable_from_pfn(mfn);
-            put_gfn(d, op.arg1.mfn);
+            curr->arch.guest_table_user = pagetable_from_pfn(op.arg1.mfn);
 
             if ( old_mfn != 0 )
             {
@@ -3283,28 +3283,27 @@ int do_mmuext_op(
         }
 
         case MMUEXT_CLEAR_PAGE: {
-            unsigned long mfn;
+            struct page_info *page;
             unsigned char *ptr;
 
-            mfn = get_gfn_untyped(d, op.arg1.mfn);
-            okay = !get_page_and_type_from_pagenr(
-                mfn, PGT_writable_page, d, 0, 0);
-            if ( unlikely(!okay) )
+            page = get_page_from_gfn(d, op.arg1.mfn, NULL, P2M_ALLOC);
+            if ( !page || !get_page_type(page, PGT_writable_page) )
             {
-                put_gfn(d, op.arg1.mfn);
-                MEM_LOG("Error while clearing mfn %lx", mfn);
+                if ( page )
+                    put_page(page);
+                MEM_LOG("Error while clearing mfn %lx", op.arg1.mfn);
+                okay = 0;
                 break;
             }
 
             /* A page is dirtied when it's being cleared. */
-            paging_mark_dirty(d, mfn);
-
-            ptr = fixmap_domain_page(mfn);
+            paging_mark_dirty(d, page_to_mfn(page));
+
+            ptr = fixmap_domain_page(page_to_mfn(page));
             clear_page(ptr);
             fixunmap_domain_page(ptr);
 
-            put_page_and_type(mfn_to_page(mfn));
-            put_gfn(d, op.arg1.mfn);
+            put_page_and_type(page);
             break;
         }
 
@@ -3312,42 +3311,38 @@ int do_mmuext_op(
         {
             const unsigned char *src;
             unsigned char *dst;
-            unsigned long src_mfn, mfn;
-
-            src_mfn = get_gfn_untyped(d, op.arg2.src_mfn);
-            okay = get_page_from_pagenr(src_mfn, d);
+            struct page_info *src_page, *dst_page;
+
+            src_page = get_page_from_gfn(d, op.arg2.src_mfn, NULL, P2M_ALLOC);
+            if ( unlikely(!src_page) )
+            {
+                okay = 0;
+                MEM_LOG("Error while copying from mfn %lx", op.arg2.src_mfn);
+                break;
+            }
+
+            dst_page = get_page_from_gfn(d, op.arg1.mfn, NULL, P2M_ALLOC);
+            okay = (dst_page && get_page_type(dst_page, PGT_writable_page));
             if ( unlikely(!okay) )
             {
-                put_gfn(d, op.arg2.src_mfn);
-                MEM_LOG("Error while copying from mfn %lx", src_mfn);
+                put_page(src_page);
+                if ( dst_page )
+                    put_page(dst_page);
+                MEM_LOG("Error while copying to mfn %lx", op.arg1.mfn);
                 break;
             }
 
-            mfn = get_gfn_untyped(d, op.arg1.mfn);
-            okay = !get_page_and_type_from_pagenr(
-                mfn, PGT_writable_page, d, 0, 0);
-            if ( unlikely(!okay) )
-            {
-                put_gfn(d, op.arg1.mfn);
-                put_page(mfn_to_page(src_mfn));
-                put_gfn(d, op.arg2.src_mfn);
-                MEM_LOG("Error while copying to mfn %lx", mfn);
-                break;
-            }
-
             /* A page is dirtied when it's being copied to. */
-            paging_mark_dirty(d, mfn);
-
-            src = map_domain_page(src_mfn);
-            dst = fixmap_domain_page(mfn);
+            paging_mark_dirty(d, page_to_mfn(dst_page));
+
+            src = __map_domain_page(src_page);
+            dst = fixmap_domain_page(page_to_mfn(dst_page));
             copy_page(dst, src);
             fixunmap_domain_page(dst);
             unmap_domain_page(src);
 
-            put_page_and_type(mfn_to_page(mfn));
-            put_gfn(d, op.arg1.mfn);
-            put_page(mfn_to_page(src_mfn));
-            put_gfn(d, op.arg2.src_mfn);
+            put_page_and_type(dst_page);
+            put_page(src_page);
             break;
         }
 
@@ -3538,29 +3533,26 @@ int do_mmu_update(
 
             req.ptr -= cmd;
             gmfn = req.ptr >> PAGE_SHIFT;
-            mfn = mfn_x(get_gfn(pt_owner, gmfn, &p2mt));
-            if ( !p2m_is_valid(p2mt) )
-                mfn = INVALID_MFN;
+            page = get_page_from_gfn(pt_owner, gmfn, &p2mt, P2M_ALLOC);
 
             if ( p2m_is_paged(p2mt) )
             {
-                put_gfn(pt_owner, gmfn);
+                ASSERT(!page);
                 p2m_mem_paging_populate(pg_owner, gmfn);
                 rc = -ENOENT;
                 break;
             }
 
-            if ( unlikely(!get_page_from_pagenr(mfn, pt_owner)) )
+            if ( unlikely(!page) )
             {
                 MEM_LOG("Could not get page for normal update");
-                put_gfn(pt_owner, gmfn);
                 break;
             }
 
+            mfn = page_to_mfn(page);
             va = map_domain_page_with_cache(mfn, &mapcache);
             va = (void *)((unsigned long)va +
                           (unsigned long)(req.ptr & ~PAGE_MASK));
-            page = mfn_to_page(mfn);
 
             if ( page_lock(page) )
             {
@@ -3569,22 +3561,23 @@ int do_mmu_update(
                 case PGT_l1_page_table:
                 {
                     l1_pgentry_t l1e = l1e_from_intpte(req.val);
-                    p2m_type_t l1e_p2mt;
-                    unsigned long l1egfn = l1e_get_pfn(l1e), l1emfn;
-    
-                    l1emfn = mfn_x(get_gfn(pg_owner, l1egfn, &l1e_p2mt));
+                    p2m_type_t l1e_p2mt = p2m_ram_rw;
+                    struct page_info *target = NULL;
+
+                    if ( paging_mode_translate(pg_owner) )
+                        target = get_page_from_gfn(pg_owner, l1e_get_pfn(l1e),
+                                                   &l1e_p2mt, P2M_ALLOC);
 
                     if ( p2m_is_paged(l1e_p2mt) )
                     {
-                        put_gfn(pg_owner, l1egfn);
+                        if ( target )
+                            put_page(target);
                         p2m_mem_paging_populate(pg_owner, l1e_get_pfn(l1e));
                         rc = -ENOENT;
                         break;
                     }
-                    else if ( p2m_ram_paging_in == l1e_p2mt && 
-                                !mfn_valid(l1emfn) )
+                    else if ( p2m_ram_paging_in == l1e_p2mt && !target )
                     {
-                        put_gfn(pg_owner, l1egfn);
                         rc = -ENOENT;
                         break;
                     }
@@ -3601,7 +3594,8 @@ int do_mmu_update(
                             rc = mem_sharing_unshare_page(pg_owner, gfn, 0); 
                             if ( rc )
                             {
-                                put_gfn(pg_owner, l1egfn);
+                                if ( target )
+                                    put_page(target);
                                 /* Notify helper, don't care about errors, will not
                                  * sleep on wq, since we're a foreign domain. */
                                 (void)mem_sharing_notify_enomem(pg_owner, gfn, 0);
@@ -3614,112 +3608,22 @@ int do_mmu_update(
                     rc = mod_l1_entry(va, l1e, mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, v,
                                       pg_owner);
-                    put_gfn(pg_owner, l1egfn);
+                    if ( target )
+                        put_page(target);
                 }
                 break;
                 case PGT_l2_page_table:
-                {
-                    l2_pgentry_t l2e = l2e_from_intpte(req.val);
-                    p2m_type_t l2e_p2mt;
-                    unsigned long l2egfn = l2e_get_pfn(l2e), l2emfn;
-
-                    l2emfn = mfn_x(get_gfn(pg_owner, l2egfn, &l2e_p2mt));
-
-                    if ( p2m_is_paged(l2e_p2mt) )
-                    {
-                        put_gfn(pg_owner, l2egfn);
-                        p2m_mem_paging_populate(pg_owner, l2egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_paging_in == l2e_p2mt && 
-                                !mfn_valid(l2emfn) )
-                    {
-                        put_gfn(pg_owner, l2egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_shared == l2e_p2mt )
-                    {
-                        put_gfn(pg_owner, l2egfn);
-                        MEM_LOG("Unexpected attempt to map shared page.\n");
-                        break;
-                    }
-
-
-                    rc = mod_l2_entry(va, l2e, mfn,
+                    rc = mod_l2_entry(va, l2e_from_intpte(req.val), mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, v);
-                    put_gfn(pg_owner, l2egfn);
-                }
-                break;
+                    break;
                 case PGT_l3_page_table:
-                {
-                    l3_pgentry_t l3e = l3e_from_intpte(req.val);
-                    p2m_type_t l3e_p2mt;
-                    unsigned long l3egfn = l3e_get_pfn(l3e), l3emfn;
-
-                    l3emfn = mfn_x(get_gfn(pg_owner, l3egfn, &l3e_p2mt));
-
-                    if ( p2m_is_paged(l3e_p2mt) )
-                    {
-                        put_gfn(pg_owner, l3egfn);
-                        p2m_mem_paging_populate(pg_owner, l3egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_paging_in == l3e_p2mt && 
-                                !mfn_valid(l3emfn) )
-                    {
-                        put_gfn(pg_owner, l3egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_shared == l3e_p2mt )
-                    {
-                        put_gfn(pg_owner, l3egfn);
-                        MEM_LOG("Unexpected attempt to map shared page.\n");
-                        break;
-                    }
-
-                    rc = mod_l3_entry(va, l3e, mfn,
+                    rc = mod_l3_entry(va, l3e_from_intpte(req.val), mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, 1, v);
-                    put_gfn(pg_owner, l3egfn);
-                }
-                break;
+                    break;
 #if CONFIG_PAGING_LEVELS >= 4
                 case PGT_l4_page_table:
-                {
-                    l4_pgentry_t l4e = l4e_from_intpte(req.val);
-                    p2m_type_t l4e_p2mt;
-                    unsigned long l4egfn = l4e_get_pfn(l4e), l4emfn;
-
-                    l4emfn = mfn_x(get_gfn(pg_owner, l4egfn, &l4e_p2mt));
-
-                    if ( p2m_is_paged(l4e_p2mt) )
-                    {
-                        put_gfn(pg_owner, l4egfn);
-                        p2m_mem_paging_populate(pg_owner, l4egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_paging_in == l4e_p2mt && 
-                                !mfn_valid(l4emfn) )
-                    {
-                        put_gfn(pg_owner, l4egfn);
-                        rc = -ENOENT;
-                        break;
-                    }
-                    else if ( p2m_ram_shared == l4e_p2mt )
-                    {
-                        put_gfn(pg_owner, l4egfn);
-                        MEM_LOG("Unexpected attempt to map shared page.\n");
-                        break;
-                    }
-
-                    rc = mod_l4_entry(va, l4e, mfn,
+                    rc = mod_l4_entry(va, l4e_from_intpte(req.val), mfn,
                                       cmd == MMU_PT_UPDATE_PRESERVE_AD, 1, v);
-                    put_gfn(pg_owner, l4egfn);
-                }
                 break;
 #endif
                 case PGT_writable_page:
@@ -3742,7 +3646,6 @@ int do_mmu_update(
 
             unmap_domain_page_with_cache(va, &mapcache);
             put_page(page);
-            put_gfn(pt_owner, gmfn);
         }
         break;
 
@@ -3829,18 +3732,17 @@ static int create_grant_pte_mapping(
     adjust_guest_l1e(nl1e, d);
 
     gmfn = pte_addr >> PAGE_SHIFT;
-    mfn = get_gfn_untyped(d, gmfn);
-
-    if ( unlikely(!get_page_from_pagenr(mfn, current->domain)) )
+    page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+
+    if ( unlikely(!page) )
     {
-        put_gfn(d, gmfn);
         MEM_LOG("Could not get page for normal update");
         return GNTST_general_error;
     }
     
+    mfn = page_to_mfn(page);
     va = map_domain_page(mfn);
     va = (void *)((unsigned long)va + ((unsigned long)pte_addr & ~PAGE_MASK));
-    page = mfn_to_page(mfn);
 
     if ( !page_lock(page) )
     {
@@ -3871,7 +3773,6 @@ static int create_grant_pte_mapping(
  failed:
     unmap_domain_page(va);
     put_page(page);
-    put_gfn(d, gmfn);
 
     return rc;
 }
@@ -3886,18 +3787,17 @@ static int destroy_grant_pte_mapping(
     l1_pgentry_t ol1e;
 
     gmfn = addr >> PAGE_SHIFT;
-    mfn = get_gfn_untyped(d, gmfn);
-
-    if ( unlikely(!get_page_from_pagenr(mfn, current->domain)) )
+    page = get_page_from_gfn(d, gmfn, NULL, P2M_ALLOC);
+
+    if ( unlikely(!page) )
     {
-        put_gfn(d, gmfn);
         MEM_LOG("Could not get page for normal update");
         return GNTST_general_error;
     }
     
+    mfn = page_to_mfn(page);
     va = map_domain_page(mfn);
     va = (void *)((unsigned long)va + ((unsigned long)addr & ~PAGE_MASK));
-    page = mfn_to_page(mfn);
 
     if ( !page_lock(page) )
     {
@@ -3942,7 +3842,6 @@ static int destroy_grant_pte_mapping(
  failed:
     unmap_domain_page(va);
     put_page(page);
-    put_gfn(d, gmfn);
     return rc;
 }
 
@@ -4465,11 +4364,17 @@ long set_gdt(struct vcpu *v,
     /* Check the pages in the new GDT. */
     for ( i = 0; i < nr_pages; i++ )
     {
+        struct page_info *page;
         pfns[i] = frames[i];
-        mfn = frames[i] = get_gfn_untyped(d, frames[i]);
-        if ( !mfn_valid(mfn) ||
-             !get_page_and_type(mfn_to_page(mfn), d, PGT_seg_desc_page) )
+        page = get_page_from_gfn(d, frames[i], NULL, P2M_ALLOC);
+        if ( !page )
             goto fail;
+        if ( !get_page_type(page, PGT_seg_desc_page) )
+        {
+            put_page(page);
+            goto fail;
+        }
+        mfn = frames[i] = page_to_mfn(page);
     }
 
     /* Tear down the old GDT. */
@@ -4482,7 +4387,6 @@ long set_gdt(struct vcpu *v,
         v->arch.pv_vcpu.gdt_frames[i] = frames[i];
         l1e_write(&v->arch.perdomain_ptes[i],
                   l1e_from_pfn(frames[i], __PAGE_HYPERVISOR));
-        put_gfn(d, pfns[i]);
     }
 
     xfree(pfns);
@@ -4492,7 +4396,6 @@ long set_gdt(struct vcpu *v,
     while ( i-- > 0 )
     {
         put_page_and_type(mfn_to_page(frames[i]));
-        put_gfn(d, pfns[i]);
     }
     xfree(pfns);
     return -EINVAL;
@@ -4538,21 +4441,16 @@ long do_update_descriptor(u64 pa, u64 de
 
     *(u64 *)&d = desc;
 
-    mfn = get_gfn_untyped(dom, gmfn);
+    page = get_page_from_gfn(dom, gmfn, NULL, P2M_ALLOC);
     if ( (((unsigned int)pa % sizeof(struct desc_struct)) != 0) ||
-         !mfn_valid(mfn) ||
+         !page ||
          !check_descriptor(dom, &d) )
     {
-        put_gfn(dom, gmfn);
+        if ( page )
+            put_page(page);
         return -EINVAL;
     }
-
-    page = mfn_to_page(mfn);
-    if ( unlikely(!get_page(page, dom)) )
-    {
-        put_gfn(dom, gmfn);
-        return -EINVAL;
-    }
+    mfn = page_to_mfn(page);
 
     /* Check if the given frame is in use in an unsafe context. */
     switch ( page->u.inuse.type_info & PGT_type_mask )
@@ -4580,7 +4478,6 @@ long do_update_descriptor(u64 pa, u64 de
 
  out:
     put_page(page);
-    put_gfn(dom, gmfn);
 
     return ret;
 }
diff -r 9da426cdc7e4 -r c68f83ff7bf4 xen/arch/x86/mm/guest_walk.c
--- a/xen/arch/x86/mm/guest_walk.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm/guest_walk.c	Thu May 10 15:54:16 2012 +0100
@@ -94,39 +94,37 @@ static inline void *map_domain_gfn(struc
                                    p2m_type_t *p2mt,
                                    uint32_t *rc) 
 {
-    p2m_access_t p2ma;
+    struct page_info *page;
     void *map;
 
     /* Translate the gfn, unsharing if shared */
-    *mfn = get_gfn_type_access(p2m, gfn_x(gfn), p2mt, &p2ma, 
-                               P2M_ALLOC | P2M_UNSHARE, NULL);
+    page = get_page_from_gfn_p2m(p2m->domain, p2m, gfn_x(gfn), p2mt, NULL,
+                                  P2M_ALLOC | P2M_UNSHARE);
     if ( p2m_is_paging(*p2mt) )
     {
         ASSERT(!p2m_is_nestedp2m(p2m));
-        __put_gfn(p2m, gfn_x(gfn));
+        if ( page )
+            put_page(page);
         p2m_mem_paging_populate(p2m->domain, gfn_x(gfn));
         *rc = _PAGE_PAGED;
         return NULL;
     }
     if ( p2m_is_shared(*p2mt) )
     {
-        __put_gfn(p2m, gfn_x(gfn));
+        if ( page )
+            put_page(page);
         *rc = _PAGE_SHARED;
         return NULL;
     }
-    if ( !p2m_is_ram(*p2mt) ) 
+    if ( !page )
     {
-        __put_gfn(p2m, gfn_x(gfn));
         *rc |= _PAGE_PRESENT;
         return NULL;
     }
+    *mfn = _mfn(page_to_mfn(page));
     ASSERT(mfn_valid(mfn_x(*mfn)));
-    
-    /* Get an extra ref to the page to ensure liveness of the map.
-     * Then we can safely put gfn */
-    page_get_owner_and_reference(mfn_to_page(mfn_x(*mfn)));
+
     map = map_domain_page(mfn_x(*mfn));
-    __put_gfn(p2m, gfn_x(gfn));
     return map;
 }
 
diff -r 9da426cdc7e4 -r c68f83ff7bf4 xen/arch/x86/mm/hap/guest_walk.c
--- a/xen/arch/x86/mm/hap/guest_walk.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm/hap/guest_walk.c	Thu May 10 15:54:16 2012 +0100
@@ -54,34 +54,36 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PA
     mfn_t top_mfn;
     void *top_map;
     p2m_type_t p2mt;
-    p2m_access_t p2ma;
     walk_t gw;
     unsigned long top_gfn;
+    struct page_info *top_page;
 
     /* Get the top-level table's MFN */
     top_gfn = cr3 >> PAGE_SHIFT;
-    top_mfn = get_gfn_type_access(p2m, top_gfn, &p2mt, &p2ma, 
-                                  P2M_ALLOC | P2M_UNSHARE, NULL);
+    top_page = get_page_from_gfn_p2m(p2m->domain, p2m, top_gfn,
+                                     &p2mt, NULL, P2M_ALLOC | P2M_UNSHARE);
     if ( p2m_is_paging(p2mt) )
     {
         ASSERT(!p2m_is_nestedp2m(p2m));
         pfec[0] = PFEC_page_paged;
-        __put_gfn(p2m, top_gfn);
+        if ( top_page )
+            put_page(top_page);
         p2m_mem_paging_populate(p2m->domain, cr3 >> PAGE_SHIFT);
         return INVALID_GFN;
     }
     if ( p2m_is_shared(p2mt) )
     {
         pfec[0] = PFEC_page_shared;
-        __put_gfn(p2m, top_gfn);
+        if ( top_page )
+            put_page(top_page);
         return INVALID_GFN;
     }
-    if ( !p2m_is_ram(p2mt) )
+    if ( !top_page )
     {
         pfec[0] &= ~PFEC_page_present;
-        __put_gfn(p2m, top_gfn);
         return INVALID_GFN;
     }
+    top_mfn = _mfn(page_to_mfn(top_page));
 
     /* Map the top-level table and call the tree-walker */
     ASSERT(mfn_valid(mfn_x(top_mfn)));
@@ -91,31 +93,30 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PA
 #endif
     missing = guest_walk_tables(v, p2m, ga, &gw, pfec[0], top_mfn, top_map);
     unmap_domain_page(top_map);
-    __put_gfn(p2m, top_gfn);
+    put_page(top_page);
 
     /* Interpret the answer */
     if ( missing == 0 )
     {
         gfn_t gfn = guest_l1e_get_gfn(gw.l1e);
-        (void)get_gfn_type_access(p2m, gfn_x(gfn), &p2mt, &p2ma,
-                                  P2M_ALLOC | P2M_UNSHARE, NULL); 
+        struct page_info *page;
+        page = get_page_from_gfn_p2m(p2m->domain, p2m, gfn_x(gfn), &p2mt,
+                                     NULL, P2M_ALLOC | P2M_UNSHARE);
+        if ( page )
+            put_page(page);
         if ( p2m_is_paging(p2mt) )
         {
             ASSERT(!p2m_is_nestedp2m(p2m));
             pfec[0] = PFEC_page_paged;
-            __put_gfn(p2m, gfn_x(gfn));
             p2m_mem_paging_populate(p2m->domain, gfn_x(gfn));
             return INVALID_GFN;
         }
         if ( p2m_is_shared(p2mt) )
         {
             pfec[0] = PFEC_page_shared;
-            __put_gfn(p2m, gfn_x(gfn));
             return INVALID_GFN;
         }
 
-        __put_gfn(p2m, gfn_x(gfn));
-
         if ( page_order )
             *page_order = guest_walk_to_page_order(&gw);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0X-0001Mx-6E; Thu, 10 May 2012 15:10:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0V-0001Lq-Eb
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:19 +0000
Received: from [85.158.138.51:48323] by server-11.bemta-3.messagelabs.com id
	68/51-18894-A5ADBAF4; Thu, 10 May 2012 15:10:18 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336662615!26333110!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14620 invoked from network); 10 May 2012 15:10:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276901"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:57 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwG-0007Pt-QL; Thu, 10 May 2012 16:05:56 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwG-0000KJ-FI;
	Thu, 10 May 2012 16:05:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: d95f0fb6c358f7e2624d317da6e405e8d733603a
Message-ID: <d95f0fb6c358f7e2624d.1336661995@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:55 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 11 of 11] x86/p2m,
	arm/p2m: remove get_gfn_untyped()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d95f0fb6c358f7e2624d317da6e405e8d733603a
# Parent  65768e16352c6bb0e11bb6c661da5137e99ecceb
x86/p2m, arm/p2m: remove get_gfn_untyped().

Adjust its only user to use get_gfn.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 65768e16352c -r d95f0fb6c358 xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
@@ -4524,6 +4524,7 @@ static int xenmem_add_to_physmap_once(
     unsigned long gfn = 0; /* gcc ... */
     unsigned long prev_mfn, mfn = 0, gpfn, idx;
     int rc;
+    p2m_type_t p2mt;
 
     switch ( xatp->space )
     {
@@ -4596,7 +4597,7 @@ static int xenmem_add_to_physmap_once(
         put_page(page);
 
     /* Remove previously mapped page if it was present. */
-    prev_mfn = get_gfn_untyped(d, xatp->gpfn);
+    prev_mfn = mfn_x(get_gfn(d, xatp->gpfn, &p2mt));
     if ( mfn_valid(prev_mfn) )
     {
         if ( is_xen_heap_mfn(prev_mfn) )
diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-arm/p2m.h
--- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -75,12 +75,6 @@ static inline struct page_info *get_page
     return page;
 }
 
-/* Compatibility function exporting the old untyped interface */
-static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
-{
-    return gmfn_to_mfn(d, gpfn);
-}
-
 int get_page_type(struct page_info *page, unsigned long type);
 int is_iomem_page(unsigned long mfn);
 static inline int get_page_and_type(struct page_info *page,
diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -339,17 +339,6 @@ static inline mfn_t get_gfn_type(struct 
 #define get_gfn_unshare(d, g, t) get_gfn_type((d), (g), (t), \
                                               P2M_ALLOC | P2M_UNSHARE)
 
-/* Compatibility function exporting the old untyped interface */
-static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
-{
-    mfn_t mfn;
-    p2m_type_t t;
-    mfn = get_gfn(d, gpfn, &t);
-    if ( p2m_is_valid(t) )
-        return mfn_x(mfn);
-    return INVALID_MFN;
-}
-
 /* Will release the p2m_lock for this gfn entry. */
 void __put_gfn(struct p2m_domain *p2m, unsigned long gfn);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0X-0001Mx-6E; Thu, 10 May 2012 15:10:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSV0V-0001Lq-Eb
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:19 +0000
Received: from [85.158.138.51:48323] by server-11.bemta-3.messagelabs.com id
	68/51-18894-A5ADBAF4; Thu, 10 May 2012 15:10:18 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336662615!26333110!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14620 invoked from network); 10 May 2012 15:10:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194276901"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:05:57 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwG-0007Pt-QL; Thu, 10 May 2012 16:05:56 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwG-0000KJ-FI;
	Thu, 10 May 2012 16:05:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: d95f0fb6c358f7e2624d317da6e405e8d733603a
Message-ID: <d95f0fb6c358f7e2624d.1336661995@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:55 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 11 of 11] x86/p2m,
	arm/p2m: remove get_gfn_untyped()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID d95f0fb6c358f7e2624d317da6e405e8d733603a
# Parent  65768e16352c6bb0e11bb6c661da5137e99ecceb
x86/p2m, arm/p2m: remove get_gfn_untyped().

Adjust its only user to use get_gfn.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 65768e16352c -r d95f0fb6c358 xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
@@ -4524,6 +4524,7 @@ static int xenmem_add_to_physmap_once(
     unsigned long gfn = 0; /* gcc ... */
     unsigned long prev_mfn, mfn = 0, gpfn, idx;
     int rc;
+    p2m_type_t p2mt;
 
     switch ( xatp->space )
     {
@@ -4596,7 +4597,7 @@ static int xenmem_add_to_physmap_once(
         put_page(page);
 
     /* Remove previously mapped page if it was present. */
-    prev_mfn = get_gfn_untyped(d, xatp->gpfn);
+    prev_mfn = mfn_x(get_gfn(d, xatp->gpfn, &p2mt));
     if ( mfn_valid(prev_mfn) )
     {
         if ( is_xen_heap_mfn(prev_mfn) )
diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-arm/p2m.h
--- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -75,12 +75,6 @@ static inline struct page_info *get_page
     return page;
 }
 
-/* Compatibility function exporting the old untyped interface */
-static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
-{
-    return gmfn_to_mfn(d, gpfn);
-}
-
 int get_page_type(struct page_info *page, unsigned long type);
 int is_iomem_page(unsigned long mfn);
 static inline int get_page_and_type(struct page_info *page,
diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
+++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
@@ -339,17 +339,6 @@ static inline mfn_t get_gfn_type(struct 
 #define get_gfn_unshare(d, g, t) get_gfn_type((d), (g), (t), \
                                               P2M_ALLOC | P2M_UNSHARE)
 
-/* Compatibility function exporting the old untyped interface */
-static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
-{
-    mfn_t mfn;
-    p2m_type_t t;
-    mfn = get_gfn(d, gpfn, &t);
-    if ( p2m_is_valid(t) )
-        return mfn_x(mfn);
-    return INVALID_MFN;
-}
-
 /* Will release the p2m_lock for this gfn entry. */
 void __put_gfn(struct p2m_domain *p2m, unsigned long gfn);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0y-0001aA-Ml; Thu, 10 May 2012 15:10:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSV0x-0001Yp-CI
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:47 +0000
Received: from [85.158.143.99:20857] by server-2.bemta-4.messagelabs.com id
	AA/F5-17550-67ADBAF4; Thu, 10 May 2012 15:10:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336662645!19864850!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13434 invoked from network); 10 May 2012 15:10:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12410803"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:10:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:10:11 +0100
Message-ID: <1336662609.14220.12.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 10 May 2012 16:10:09 +0100
In-Reply-To: <20120510144353.GJ26152@phenom.dumpdata.com>
References: <4F912F15.2030202@xen.org>
	<20120510144353.GJ26152@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-arm@lists.xen.org" <xen-arm@lists.xen.org>,
	"xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Lars Kurth <lars.kurth@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-API] Xen Documentation Day : April 23rd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:43 +0100, Konrad Rzeszutek Wilk wrote:
> On Fri, Apr 20, 2012 at 10:40:37AM +0100, Lars Kurth wrote:
> > Hi everybody,
> > 
> > we have another Xen Documentation Day come up next Monday, April 23.
> 
> When is the next one? I am itching to write some new docs!

http://wiki.xen.org/wiki/Xen_Document_Days says "last Monday of each
month" and names May 28 as the next one.

There's nothing stopping you writing docs on the other N-1 days of the
month ;-)

Ian



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:10:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:10:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV0y-0001aA-Ml; Thu, 10 May 2012 15:10:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSV0x-0001Yp-CI
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:10:47 +0000
Received: from [85.158.143.99:20857] by server-2.bemta-4.messagelabs.com id
	AA/F5-17550-67ADBAF4; Thu, 10 May 2012 15:10:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336662645!19864850!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13434 invoked from network); 10 May 2012 15:10:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:10:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12410803"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:10:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:10:11 +0100
Message-ID: <1336662609.14220.12.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 10 May 2012 16:10:09 +0100
In-Reply-To: <20120510144353.GJ26152@phenom.dumpdata.com>
References: <4F912F15.2030202@xen.org>
	<20120510144353.GJ26152@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-arm@lists.xen.org" <xen-arm@lists.xen.org>,
	"xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Lars Kurth <lars.kurth@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-API] Xen Documentation Day : April 23rd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:43 +0100, Konrad Rzeszutek Wilk wrote:
> On Fri, Apr 20, 2012 at 10:40:37AM +0100, Lars Kurth wrote:
> > Hi everybody,
> > 
> > we have another Xen Documentation Day come up next Monday, April 23.
> 
> When is the next one? I am itching to write some new docs!

http://wiki.xen.org/wiki/Xen_Document_Days says "last Monday of each
month" and names May 28 as the next one.

There's nothing stopping you writing docs on the other N-1 days of the
month ;-)

Ian



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:16:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV5v-0002iQ-G2; Thu, 10 May 2012 15:15:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV5u-0002iG-Gh
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:15:54 +0000
Received: from [85.158.139.83:42112] by server-11.bemta-5.messagelabs.com id
	A7/1D-12959-9ABDBAF4; Thu, 10 May 2012 15:15:53 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336662952!24990747!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31858 invoked from network); 10 May 2012 15:15:53 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:15:53 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:15:52 +0100
Message-Id: <4FABF7DD0200007800082C7E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:16:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] [PATCH 0/4] linux-2.6.18/gntdev: various adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

1: fix VM_FOREIGN users after c/s 878:eba6fe6d8d53
2: gntdev: fix multi-page slot allocation
3: gntdev: adjust indentation (and fix bugs noticed by doing so)
4: gntdev: misc cleanup

Signed-off-by: Jan Beulich <jbeulich@suse.com>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:16:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV5v-0002iQ-G2; Thu, 10 May 2012 15:15:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV5u-0002iG-Gh
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:15:54 +0000
Received: from [85.158.139.83:42112] by server-11.bemta-5.messagelabs.com id
	A7/1D-12959-9ABDBAF4; Thu, 10 May 2012 15:15:53 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336662952!24990747!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31858 invoked from network); 10 May 2012 15:15:53 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:15:53 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:15:52 +0100
Message-Id: <4FABF7DD0200007800082C7E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:16:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] [PATCH 0/4] linux-2.6.18/gntdev: various adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

1: fix VM_FOREIGN users after c/s 878:eba6fe6d8d53
2: gntdev: fix multi-page slot allocation
3: gntdev: adjust indentation (and fix bugs noticed by doing so)
4: gntdev: misc cleanup

Signed-off-by: Jan Beulich <jbeulich@suse.com>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:16:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:16:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV6m-0002oR-Tv; Thu, 10 May 2012 15:16:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV6l-0002oH-I6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:16:47 +0000
Received: from [85.158.139.83:53641] by server-9.bemta-5.messagelabs.com id
	E9/A1-09826-EDBDBAF4; Thu, 10 May 2012 15:16:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336663004!27621628!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8471 invoked from network); 10 May 2012 15:16:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:16:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:16:44 +0100
Message-Id: <4FABF8120200007800082C87@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:17:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartB59B5CE2.0__="
Subject: [Xen-devel] [PATCH 1/4] linux-2.6.18: fix VM_FOREIGN users after
 c/s 878:eba6fe6d8d53
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartB59B5CE2.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

The level of indirection got increased by the blktap2 changes, yet
existing users were not properly updated. While c/s 901:9242c5b965c1
did so for a specific case in blktap, this was incomplete and left out
gntdev altogether.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/blktap/blktap.c
+++ b/drivers/xen/blktap/blktap.c
@@ -120,7 +120,7 @@ typedef struct tap_blkif {
 					[req id, idx] tuple                =
  */
 	blkif_t *blkif;               /*Associate blkif with tapdev        =
  */
 	struct domid_translate_ext trans; /*Translation from domid to bus. =
  */
-	struct vm_foreign_map foreign_map;    /*Mapping page */
+	struct vm_foreign_map *foreign_maps; /*Mapping pages               =
  */
 } tap_blkif_t;
=20
 static struct tap_blkif *tapfds[MAX_TAP_DEV];
@@ -329,7 +329,7 @@ static pte_t blktap_clear_pte(struct vm_
=20
 	pg =3D idx_to_page(mmap_idx, pending_idx, seg);
 	ClearPageReserved(pg);
-	info->foreign_map.map[offset + RING_PAGES] =3D NULL;
+	info->foreign_maps->map[offset + RING_PAGES] =3D NULL;
=20
 	khandle =3D &pending_handle(mmap_idx, pending_idx, seg);
=20
@@ -377,12 +377,17 @@ static pte_t blktap_clear_pte(struct vm_
 static void blktap_vma_open(struct vm_area_struct *vma)
 {
 	tap_blkif_t *info;
+	unsigned long idx;
+	struct vm_foreign_map *foreign_map;
+
 	if (vma->vm_file =3D=3D NULL)
 		return;
=20
 	info =3D vma->vm_file->private_data;
-	vma->vm_private_data =3D
-		&info->foreign_map.map[(vma->vm_start - info->rings_vstart)=
 >> PAGE_SHIFT];
+	idx =3D (vma->vm_start - info->rings_vstart) >> PAGE_SHIFT;
+	foreign_map =3D &info->foreign_maps[idx];
+	foreign_map->map =3D &info->foreign_maps->map[idx];
+	vma->vm_private_data =3D foreign_map;
 }
=20
 /* tricky part
@@ -392,7 +397,6 @@ static void blktap_vma_open(struct vm_ar
  */
 static void blktap_vma_close(struct vm_area_struct *vma)
 {
-	tap_blkif_t *info;
 	struct vm_area_struct *next =3D vma->vm_next;
=20
 	if (next =3D=3D NULL ||
@@ -402,9 +406,7 @@ static void blktap_vma_close(struct vm_a
 	    vma->vm_file !=3D next->vm_file)
 		return;
=20
-	info =3D vma->vm_file->private_data;
-	next->vm_private_data =3D
-		&info->foreign_map.map[(next->vm_start - info->rings_vstart=
) >> PAGE_SHIFT];
+	blktap_vma_open(next);
 }
=20
 static struct vm_operations_struct blktap_vm_ops =3D {
@@ -640,8 +642,9 @@ static int blktap_release(struct inode *
 	mm =3D xchg(&info->mm, NULL);
 	if (mm)
 		mmput(mm);
-	kfree(info->foreign_map.map);
-	info->foreign_map.map =3D NULL;
+	kfree(info->foreign_maps->map);
+	kfree(info->foreign_maps);
+	info->foreign_maps =3D NULL;
=20
 	/* Free the ring page. */
 	ClearPageReserved(virt_to_page(info->ufe_ring.sring));
@@ -730,14 +733,19 @@ static int blktap_mmap(struct file *filp
 	}
=20
 	/* Mark this VM as containing foreign pages, and set up mappings. =
*/
-	info->foreign_map.map =3D kzalloc(((vma->vm_end - vma->vm_start) =
>> PAGE_SHIFT) *
-			    sizeof(*info->foreign_map.map), GFP_KERNEL);
-	if (info->foreign_map.map =3D=3D NULL) {
+	info->foreign_maps =3D kcalloc(size, sizeof(*info->foreign_maps),
+				     GFP_KERNEL);
+	if (info->foreign_maps)
+		info->foreign_maps->map =3D
+			kcalloc(size, sizeof(*info->foreign_maps->map),
+				GFP_KERNEL);
+	if (!info->foreign_maps || !info->foreign_maps->map) {
+		kfree(info->foreign_maps);
 		WPRINTK("Couldn't alloc VM_FOREIGN map.\n");
 		goto fail;
 	}
=20
-	vma->vm_private_data =3D &info->foreign_map;
+	vma->vm_private_data =3D info->foreign_maps;
 	vma->vm_flags |=3D VM_FOREIGN;
 	vma->vm_flags |=3D VM_DONTCOPY;
=20
@@ -1242,7 +1250,7 @@ static int blktap_read_ufe_ring(tap_blki
 			pg =3D idx_to_page(mmap_idx, pending_idx, j);
 			ClearPageReserved(pg);
 			offset =3D (uvaddr - info->rings_vstart) >> =
PAGE_SHIFT;
-			info->foreign_map.map[offset] =3D NULL;
+			info->foreign_maps->map[offset] =3D NULL;
 		}
 		fast_flush_area(pending_req, pending_idx, usr_idx, info);
 		make_response(blkif, pending_req->id, res.operation,
@@ -1530,7 +1538,7 @@ static void dispatch_rw_block_io(blkif_t
 					    FOREIGN_FRAME(map[i].dev_bus_ad=
dr
 							  >> PAGE_SHIFT));
 			offset =3D (uvaddr - info->rings_vstart) >> =
PAGE_SHIFT;
-			info->foreign_map.map[offset] =3D pg;
+			info->foreign_maps->map[offset] =3D pg;
 		}
 	} else {
 		for (i =3D 0; i < nseg; i++) {
@@ -1556,7 +1564,7 @@ static void dispatch_rw_block_io(blkif_t
=20
 			offset =3D (uvaddr - info->rings_vstart) >> =
PAGE_SHIFT;
 			pg =3D idx_to_page(mmap_idx, pending_idx, i);
-			info->foreign_map.map[offset] =3D pg;
+			info->foreign_maps->map[offset] =3D pg;
 		}
 	}
=20
--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -459,6 +459,7 @@ static int gntdev_mmap (struct file *fli
 	int i;
 	struct page *page;
 	gntdev_file_private_data_t *private_data =3D flip->private_data;
+	struct vm_foreign_map *foreign_map;
=20
 	if (unlikely(!private_data)) {
 		printk(KERN_ERR "File's private data is NULL.\n");
@@ -487,6 +488,14 @@ static int gntdev_mmap (struct file *fli
 		return -EINVAL;
 	}
=20
+	foreign_map =3D kmalloc(sizeof(*foreign_map), GFP_KERNEL);
+	if (!foreign_map) {
+		printk(KERN_ERR "Couldn't allocate mapping structure for =
VM "
+		       "area.\n");
+		return -ENOMEM;
+	}
+	foreign_map->map =3D &private_data->foreign_pages[slot_index];
+
 	/* Slots must be in the NOT_YET_MAPPED state. */
 	down_write(&private_data->grants_sem);
 	for (i =3D 0; i < size; ++i) {
@@ -496,6 +505,7 @@ static int gntdev_mmap (struct file *fli
 			       "state (%d).\n", slot_index + i,=20
 			       private_data->grants[slot_index + i].state);=

 			up_write(&private_data->grants_sem);
+			kfree(foreign_map);
 			return -EINVAL;
 		}
 	}
@@ -504,14 +514,8 @@ static int gntdev_mmap (struct file *fli
 	vma->vm_ops =3D &gntdev_vmops;
    =20
 	/* The VM area contains pages from another VM. */
+	vma->vm_private_data =3D foreign_map;
 	vma->vm_flags |=3D VM_FOREIGN;
-	vma->vm_private_data =3D kzalloc(size * sizeof(struct page *),
-				       GFP_KERNEL);
-	if (vma->vm_private_data =3D=3D NULL) {
-		printk(KERN_ERR "Couldn't allocate mapping structure for =
VM "
-		       "area.\n");
-		return -ENOMEM;
-	}
=20
 	/* This flag prevents Bad PTE errors when the memory is unmapped. =
*/
 	vma->vm_flags |=3D VM_RESERVED;
@@ -567,11 +571,6 @@ static int gntdev_mmap (struct file *fli
 			goto undo_map_out;
 		}
=20
-		/* Store a reference to the page that will be mapped into =
user
-		 * space.
-		 */
-		((struct page **) vma->vm_private_data)[i] =3D page;
-
 		/* Mark mapped page as reserved. */
 		SetPageReserved(page);
=20
@@ -676,7 +675,8 @@ undo_map_out:
 	 * by do_mmap_pgoff(), which will eventually call gntdev_clear_pte(=
).
 	 * All we need to do here is free the vma_private_data.
 	 */
-	kfree(vma->vm_private_data);
+	vma->vm_flags &=3D ~VM_FOREIGN;
+	kfree(foreign_map);
=20
 	/* THIS IS VERY UNPLEASANT: do_mmap_pgoff() will set the vma->vm_fi=
le
 	 * to NULL on failure. However, we need this in gntdev_clear_pte() =
to
@@ -780,9 +780,8 @@ static pte_t gntdev_clear_pte(struct vm_
 /* "Destructor" for a VM area.
  */
 static void gntdev_vma_close(struct vm_area_struct *vma) {
-	if (vma->vm_private_data) {
+	if (vma->vm_flags & VM_FOREIGN)
 		kfree(vma->vm_private_data);
-	}
 }
=20
 /* Called when an ioctl is made on the device.



--=__PartB59B5CE2.0__=
Content-Type: text/plain; name="xen-foreign-map.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-foreign-map.patch"

fix VM_FOREIGN users after c/s 878:eba6fe6d8d53=0A=0AThe level of =
indirection got increased by the blktap2 changes, yet=0Aexisting users =
were not properly updated. While c/s 901:9242c5b965c1=0Adid so for a =
specific case in blktap, this was incomplete and left out=0Agntdev =
altogether.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/drivers/xen/blktap/blktap.c=0A+++ b/drivers/xen/blktap/blktap.c=0A@@ =
-120,7 +120,7 @@ typedef struct tap_blkif {=0A 					=
[req id, idx] tuple                  */=0A 	blkif_t *blkif;            =
   /*Associate blkif with tapdev          */=0A 	struct domid_transl=
ate_ext trans; /*Translation from domid to bus.   */=0A-	struct =
vm_foreign_map foreign_map;    /*Mapping page */=0A+	struct vm_foreign_m=
ap *foreign_maps; /*Mapping pages                 */=0A } tap_blkif_t;=0A =
=0A static struct tap_blkif *tapfds[MAX_TAP_DEV];=0A@@ -329,7 +329,7 @@ =
static pte_t blktap_clear_pte(struct vm_=0A =0A 	pg =3D idx_to_page(=
mmap_idx, pending_idx, seg);=0A 	ClearPageReserved(pg);=0A-	=
info->foreign_map.map[offset + RING_PAGES] =3D NULL;=0A+	info->forei=
gn_maps->map[offset + RING_PAGES] =3D NULL;=0A =0A 	khandle =3D =
&pending_handle(mmap_idx, pending_idx, seg);=0A =0A@@ -377,12 +377,17 @@ =
static pte_t blktap_clear_pte(struct vm_=0A static void blktap_vma_open(str=
uct vm_area_struct *vma)=0A {=0A 	tap_blkif_t *info;=0A+	unsigned =
long idx;=0A+	struct vm_foreign_map *foreign_map;=0A+=0A 	if =
(vma->vm_file =3D=3D NULL)=0A 		return;=0A =0A 	info =3D vma->vm_fi=
le->private_data;=0A-	vma->vm_private_data =3D=0A-		&info->fore=
ign_map.map[(vma->vm_start - info->rings_vstart) >> PAGE_SHIFT];=0A+	=
idx =3D (vma->vm_start - info->rings_vstart) >> PAGE_SHIFT;=0A+	foreign_map=
 =3D &info->foreign_maps[idx];=0A+	foreign_map->map =3D &info->foreign=
_maps->map[idx];=0A+	vma->vm_private_data =3D foreign_map;=0A }=0A =0A =
/* tricky part=0A@@ -392,7 +397,6 @@ static void blktap_vma_open(struct =
vm_ar=0A  */=0A static void blktap_vma_close(struct vm_area_struct =
*vma)=0A {=0A-	tap_blkif_t *info;=0A 	struct vm_area_struct *next =3D =
vma->vm_next;=0A =0A 	if (next =3D=3D NULL ||=0A@@ -402,9 +406,7 @@ =
static void blktap_vma_close(struct vm_a=0A 	    vma->vm_file !=3D =
next->vm_file)=0A 		return;=0A =0A-	info =3D vma->vm_file->priv=
ate_data;=0A-	next->vm_private_data =3D=0A-		&info->foreign_map.=
map[(next->vm_start - info->rings_vstart) >> PAGE_SHIFT];=0A+	blktap_vma_=
open(next);=0A }=0A =0A static struct vm_operations_struct blktap_vm_ops =
=3D {=0A@@ -640,8 +642,9 @@ static int blktap_release(struct inode *=0A 	=
mm =3D xchg(&info->mm, NULL);=0A 	if (mm)=0A 		mmput(mm);=
=0A-	kfree(info->foreign_map.map);=0A-	info->foreign_map.map =3D =
NULL;=0A+	kfree(info->foreign_maps->map);=0A+	kfree(info->foreign=
_maps);=0A+	info->foreign_maps =3D NULL;=0A =0A 	/* Free the ring =
page. */=0A 	ClearPageReserved(virt_to_page(info->ufe_ring.sring));=0A@@=
 -730,14 +733,19 @@ static int blktap_mmap(struct file *filp=0A 	=
}=0A =0A 	/* Mark this VM as containing foreign pages, and set up =
mappings. */=0A-	info->foreign_map.map =3D kzalloc(((vma->vm_end - =
vma->vm_start) >> PAGE_SHIFT) *=0A-			    sizeof(*info->f=
oreign_map.map), GFP_KERNEL);=0A-	if (info->foreign_map.map =3D=3D =
NULL) {=0A+	info->foreign_maps =3D kcalloc(size, sizeof(*info->foreign_=
maps),=0A+				     GFP_KERNEL);=0A+	if =
(info->foreign_maps)=0A+		info->foreign_maps->map =3D=0A+		=
	kcalloc(size, sizeof(*info->foreign_maps->map),=0A+			=
	GFP_KERNEL);=0A+	if (!info->foreign_maps || !info->foreign_m=
aps->map) {=0A+		kfree(info->foreign_maps);=0A 		WPRINTK("Co=
uldn't alloc VM_FOREIGN map.\n");=0A 		goto fail;=0A 	}=0A =0A-	=
vma->vm_private_data =3D &info->foreign_map;=0A+	vma->vm_private_dat=
a =3D info->foreign_maps;=0A 	vma->vm_flags |=3D VM_FOREIGN;=0A 	=
vma->vm_flags |=3D VM_DONTCOPY;=0A =0A@@ -1242,7 +1250,7 @@ static int =
blktap_read_ufe_ring(tap_blki=0A 			pg =3D idx_to_page(=
mmap_idx, pending_idx, j);=0A 			ClearPageReserved(pg);=0A 	=
		offset =3D (uvaddr - info->rings_vstart) >> PAGE_SHIFT;=0A-=
			info->foreign_map.map[offset] =3D NULL;=0A+		=
	info->foreign_maps->map[offset] =3D NULL;=0A 		}=0A 		=
fast_flush_area(pending_req, pending_idx, usr_idx, info);=0A 		=
make_response(blkif, pending_req->id, res.operation,=0A@@ -1530,7 +1538,7 =
@@ static void dispatch_rw_block_io(blkif_t=0A 					=
    FOREIGN_FRAME(map[i].dev_bus_addr=0A 					=
		  >> PAGE_SHIFT));=0A 			offset =3D (uvaddr =
- info->rings_vstart) >> PAGE_SHIFT;=0A-			info->forei=
gn_map.map[offset] =3D pg;=0A+			info->foreign_maps->map[off=
set] =3D pg;=0A 		}=0A 	} else {=0A 		for (i =3D =
0; i < nseg; i++) {=0A@@ -1556,7 +1564,7 @@ static void dispatch_rw_block_i=
o(blkif_t=0A =0A 			offset =3D (uvaddr - info->rings_vs=
tart) >> PAGE_SHIFT;=0A 			pg =3D idx_to_page(mmap_idx=
, pending_idx, i);=0A-			info->foreign_map.map[offset] =3D =
pg;=0A+			info->foreign_maps->map[offset] =3D pg;=0A 		=
}=0A 	}=0A =0A--- a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntde=
v/gntdev.c=0A@@ -459,6 +459,7 @@ static int gntdev_mmap (struct file =
*fli=0A 	int i;=0A 	struct page *page;=0A 	gntdev_file_private=
_data_t *private_data =3D flip->private_data;=0A+	struct vm_foreign_m=
ap *foreign_map;=0A =0A 	if (unlikely(!private_data)) {=0A 		=
printk(KERN_ERR "File's private data is NULL.\n");=0A@@ -487,6 +488,14 @@ =
static int gntdev_mmap (struct file *fli=0A 		return -EINVAL;=0A =
	}=0A =0A+	foreign_map =3D kmalloc(sizeof(*foreign_map), =
GFP_KERNEL);=0A+	if (!foreign_map) {=0A+		printk(KERN_ERR =
"Couldn't allocate mapping structure for VM "=0A+		       =
"area.\n");=0A+		return -ENOMEM;=0A+	}=0A+	foreign_map->map =
=3D &private_data->foreign_pages[slot_index];=0A+=0A 	/* Slots must be =
in the NOT_YET_MAPPED state. */=0A 	down_write(&private_data->grants_se=
m);=0A 	for (i =3D 0; i < size; ++i) {=0A@@ -496,6 +505,7 @@ static int =
gntdev_mmap (struct file *fli=0A 			       "state =
(%d).\n", slot_index + i, =0A 			       private_data->grants=
[slot_index + i].state);=0A 			up_write(&private_data->gra=
nts_sem);=0A+			kfree(foreign_map);=0A 			=
return -EINVAL;=0A 		}=0A 	}=0A@@ -504,14 +514,8 @@ static =
int gntdev_mmap (struct file *fli=0A 	vma->vm_ops =3D &gntdev_vmops;=0A  =
   =0A 	/* The VM area contains pages from another VM. */=0A+	vma->vm_pri=
vate_data =3D foreign_map;=0A 	vma->vm_flags |=3D VM_FOREIGN;=0A-	=
vma->vm_private_data =3D kzalloc(size * sizeof(struct page *),=0A-		=
		       GFP_KERNEL);=0A-	if (vma->vm_private_data =3D=3D =
NULL) {=0A-		printk(KERN_ERR "Couldn't allocate mapping =
structure for VM "=0A-		       "area.\n");=0A-		return =
-ENOMEM;=0A-	}=0A =0A 	/* This flag prevents Bad PTE errors when =
the memory is unmapped. */=0A 	vma->vm_flags |=3D VM_RESERVED;=0A@@ =
-567,11 +571,6 @@ static int gntdev_mmap (struct file *fli=0A 			=
goto undo_map_out;=0A 		}=0A =0A-		/* Store a =
reference to the page that will be mapped into user=0A-		 * =
space.=0A-		 */=0A-		((struct page **) vma->vm_private_d=
ata)[i] =3D page;=0A-=0A 		/* Mark mapped page as reserved. =
*/=0A 		SetPageReserved(page);=0A =0A@@ -676,7 +675,8 @@ undo_map_o=
ut:=0A 	 * by do_mmap_pgoff(), which will eventually call gntdev_clear_pte(=
).=0A 	 * All we need to do here is free the vma_private_data.=0A 	 =
*/=0A-	kfree(vma->vm_private_data);=0A+	vma->vm_flags &=3D =
~VM_FOREIGN;=0A+	kfree(foreign_map);=0A =0A 	/* THIS IS VERY =
UNPLEASANT: do_mmap_pgoff() will set the vma->vm_file=0A 	 * to NULL =
on failure. However, we need this in gntdev_clear_pte() to=0A@@ -780,9 =
+780,8 @@ static pte_t gntdev_clear_pte(struct vm_=0A /* "Destructor" for =
a VM area.=0A  */=0A static void gntdev_vma_close(struct vm_area_struct =
*vma) {=0A-	if (vma->vm_private_data) {=0A+	if (vma->vm_flags & =
VM_FOREIGN)=0A 		kfree(vma->vm_private_data);=0A-	}=0A }=0A =
=0A /* Called when an ioctl is made on the device.=0A
--=__PartB59B5CE2.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartB59B5CE2.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:16:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:16:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV6m-0002oR-Tv; Thu, 10 May 2012 15:16:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV6l-0002oH-I6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:16:47 +0000
Received: from [85.158.139.83:53641] by server-9.bemta-5.messagelabs.com id
	E9/A1-09826-EDBDBAF4; Thu, 10 May 2012 15:16:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336663004!27621628!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8471 invoked from network); 10 May 2012 15:16:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:16:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:16:44 +0100
Message-Id: <4FABF8120200007800082C87@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:17:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartB59B5CE2.0__="
Subject: [Xen-devel] [PATCH 1/4] linux-2.6.18: fix VM_FOREIGN users after
 c/s 878:eba6fe6d8d53
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartB59B5CE2.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

The level of indirection got increased by the blktap2 changes, yet
existing users were not properly updated. While c/s 901:9242c5b965c1
did so for a specific case in blktap, this was incomplete and left out
gntdev altogether.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/blktap/blktap.c
+++ b/drivers/xen/blktap/blktap.c
@@ -120,7 +120,7 @@ typedef struct tap_blkif {
 					[req id, idx] tuple                =
  */
 	blkif_t *blkif;               /*Associate blkif with tapdev        =
  */
 	struct domid_translate_ext trans; /*Translation from domid to bus. =
  */
-	struct vm_foreign_map foreign_map;    /*Mapping page */
+	struct vm_foreign_map *foreign_maps; /*Mapping pages               =
  */
 } tap_blkif_t;
=20
 static struct tap_blkif *tapfds[MAX_TAP_DEV];
@@ -329,7 +329,7 @@ static pte_t blktap_clear_pte(struct vm_
=20
 	pg =3D idx_to_page(mmap_idx, pending_idx, seg);
 	ClearPageReserved(pg);
-	info->foreign_map.map[offset + RING_PAGES] =3D NULL;
+	info->foreign_maps->map[offset + RING_PAGES] =3D NULL;
=20
 	khandle =3D &pending_handle(mmap_idx, pending_idx, seg);
=20
@@ -377,12 +377,17 @@ static pte_t blktap_clear_pte(struct vm_
 static void blktap_vma_open(struct vm_area_struct *vma)
 {
 	tap_blkif_t *info;
+	unsigned long idx;
+	struct vm_foreign_map *foreign_map;
+
 	if (vma->vm_file =3D=3D NULL)
 		return;
=20
 	info =3D vma->vm_file->private_data;
-	vma->vm_private_data =3D
-		&info->foreign_map.map[(vma->vm_start - info->rings_vstart)=
 >> PAGE_SHIFT];
+	idx =3D (vma->vm_start - info->rings_vstart) >> PAGE_SHIFT;
+	foreign_map =3D &info->foreign_maps[idx];
+	foreign_map->map =3D &info->foreign_maps->map[idx];
+	vma->vm_private_data =3D foreign_map;
 }
=20
 /* tricky part
@@ -392,7 +397,6 @@ static void blktap_vma_open(struct vm_ar
  */
 static void blktap_vma_close(struct vm_area_struct *vma)
 {
-	tap_blkif_t *info;
 	struct vm_area_struct *next =3D vma->vm_next;
=20
 	if (next =3D=3D NULL ||
@@ -402,9 +406,7 @@ static void blktap_vma_close(struct vm_a
 	    vma->vm_file !=3D next->vm_file)
 		return;
=20
-	info =3D vma->vm_file->private_data;
-	next->vm_private_data =3D
-		&info->foreign_map.map[(next->vm_start - info->rings_vstart=
) >> PAGE_SHIFT];
+	blktap_vma_open(next);
 }
=20
 static struct vm_operations_struct blktap_vm_ops =3D {
@@ -640,8 +642,9 @@ static int blktap_release(struct inode *
 	mm =3D xchg(&info->mm, NULL);
 	if (mm)
 		mmput(mm);
-	kfree(info->foreign_map.map);
-	info->foreign_map.map =3D NULL;
+	kfree(info->foreign_maps->map);
+	kfree(info->foreign_maps);
+	info->foreign_maps =3D NULL;
=20
 	/* Free the ring page. */
 	ClearPageReserved(virt_to_page(info->ufe_ring.sring));
@@ -730,14 +733,19 @@ static int blktap_mmap(struct file *filp
 	}
=20
 	/* Mark this VM as containing foreign pages, and set up mappings. =
*/
-	info->foreign_map.map =3D kzalloc(((vma->vm_end - vma->vm_start) =
>> PAGE_SHIFT) *
-			    sizeof(*info->foreign_map.map), GFP_KERNEL);
-	if (info->foreign_map.map =3D=3D NULL) {
+	info->foreign_maps =3D kcalloc(size, sizeof(*info->foreign_maps),
+				     GFP_KERNEL);
+	if (info->foreign_maps)
+		info->foreign_maps->map =3D
+			kcalloc(size, sizeof(*info->foreign_maps->map),
+				GFP_KERNEL);
+	if (!info->foreign_maps || !info->foreign_maps->map) {
+		kfree(info->foreign_maps);
 		WPRINTK("Couldn't alloc VM_FOREIGN map.\n");
 		goto fail;
 	}
=20
-	vma->vm_private_data =3D &info->foreign_map;
+	vma->vm_private_data =3D info->foreign_maps;
 	vma->vm_flags |=3D VM_FOREIGN;
 	vma->vm_flags |=3D VM_DONTCOPY;
=20
@@ -1242,7 +1250,7 @@ static int blktap_read_ufe_ring(tap_blki
 			pg =3D idx_to_page(mmap_idx, pending_idx, j);
 			ClearPageReserved(pg);
 			offset =3D (uvaddr - info->rings_vstart) >> =
PAGE_SHIFT;
-			info->foreign_map.map[offset] =3D NULL;
+			info->foreign_maps->map[offset] =3D NULL;
 		}
 		fast_flush_area(pending_req, pending_idx, usr_idx, info);
 		make_response(blkif, pending_req->id, res.operation,
@@ -1530,7 +1538,7 @@ static void dispatch_rw_block_io(blkif_t
 					    FOREIGN_FRAME(map[i].dev_bus_ad=
dr
 							  >> PAGE_SHIFT));
 			offset =3D (uvaddr - info->rings_vstart) >> =
PAGE_SHIFT;
-			info->foreign_map.map[offset] =3D pg;
+			info->foreign_maps->map[offset] =3D pg;
 		}
 	} else {
 		for (i =3D 0; i < nseg; i++) {
@@ -1556,7 +1564,7 @@ static void dispatch_rw_block_io(blkif_t
=20
 			offset =3D (uvaddr - info->rings_vstart) >> =
PAGE_SHIFT;
 			pg =3D idx_to_page(mmap_idx, pending_idx, i);
-			info->foreign_map.map[offset] =3D pg;
+			info->foreign_maps->map[offset] =3D pg;
 		}
 	}
=20
--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -459,6 +459,7 @@ static int gntdev_mmap (struct file *fli
 	int i;
 	struct page *page;
 	gntdev_file_private_data_t *private_data =3D flip->private_data;
+	struct vm_foreign_map *foreign_map;
=20
 	if (unlikely(!private_data)) {
 		printk(KERN_ERR "File's private data is NULL.\n");
@@ -487,6 +488,14 @@ static int gntdev_mmap (struct file *fli
 		return -EINVAL;
 	}
=20
+	foreign_map =3D kmalloc(sizeof(*foreign_map), GFP_KERNEL);
+	if (!foreign_map) {
+		printk(KERN_ERR "Couldn't allocate mapping structure for =
VM "
+		       "area.\n");
+		return -ENOMEM;
+	}
+	foreign_map->map =3D &private_data->foreign_pages[slot_index];
+
 	/* Slots must be in the NOT_YET_MAPPED state. */
 	down_write(&private_data->grants_sem);
 	for (i =3D 0; i < size; ++i) {
@@ -496,6 +505,7 @@ static int gntdev_mmap (struct file *fli
 			       "state (%d).\n", slot_index + i,=20
 			       private_data->grants[slot_index + i].state);=

 			up_write(&private_data->grants_sem);
+			kfree(foreign_map);
 			return -EINVAL;
 		}
 	}
@@ -504,14 +514,8 @@ static int gntdev_mmap (struct file *fli
 	vma->vm_ops =3D &gntdev_vmops;
    =20
 	/* The VM area contains pages from another VM. */
+	vma->vm_private_data =3D foreign_map;
 	vma->vm_flags |=3D VM_FOREIGN;
-	vma->vm_private_data =3D kzalloc(size * sizeof(struct page *),
-				       GFP_KERNEL);
-	if (vma->vm_private_data =3D=3D NULL) {
-		printk(KERN_ERR "Couldn't allocate mapping structure for =
VM "
-		       "area.\n");
-		return -ENOMEM;
-	}
=20
 	/* This flag prevents Bad PTE errors when the memory is unmapped. =
*/
 	vma->vm_flags |=3D VM_RESERVED;
@@ -567,11 +571,6 @@ static int gntdev_mmap (struct file *fli
 			goto undo_map_out;
 		}
=20
-		/* Store a reference to the page that will be mapped into =
user
-		 * space.
-		 */
-		((struct page **) vma->vm_private_data)[i] =3D page;
-
 		/* Mark mapped page as reserved. */
 		SetPageReserved(page);
=20
@@ -676,7 +675,8 @@ undo_map_out:
 	 * by do_mmap_pgoff(), which will eventually call gntdev_clear_pte(=
).
 	 * All we need to do here is free the vma_private_data.
 	 */
-	kfree(vma->vm_private_data);
+	vma->vm_flags &=3D ~VM_FOREIGN;
+	kfree(foreign_map);
=20
 	/* THIS IS VERY UNPLEASANT: do_mmap_pgoff() will set the vma->vm_fi=
le
 	 * to NULL on failure. However, we need this in gntdev_clear_pte() =
to
@@ -780,9 +780,8 @@ static pte_t gntdev_clear_pte(struct vm_
 /* "Destructor" for a VM area.
  */
 static void gntdev_vma_close(struct vm_area_struct *vma) {
-	if (vma->vm_private_data) {
+	if (vma->vm_flags & VM_FOREIGN)
 		kfree(vma->vm_private_data);
-	}
 }
=20
 /* Called when an ioctl is made on the device.



--=__PartB59B5CE2.0__=
Content-Type: text/plain; name="xen-foreign-map.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-foreign-map.patch"

fix VM_FOREIGN users after c/s 878:eba6fe6d8d53=0A=0AThe level of =
indirection got increased by the blktap2 changes, yet=0Aexisting users =
were not properly updated. While c/s 901:9242c5b965c1=0Adid so for a =
specific case in blktap, this was incomplete and left out=0Agntdev =
altogether.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/drivers/xen/blktap/blktap.c=0A+++ b/drivers/xen/blktap/blktap.c=0A@@ =
-120,7 +120,7 @@ typedef struct tap_blkif {=0A 					=
[req id, idx] tuple                  */=0A 	blkif_t *blkif;            =
   /*Associate blkif with tapdev          */=0A 	struct domid_transl=
ate_ext trans; /*Translation from domid to bus.   */=0A-	struct =
vm_foreign_map foreign_map;    /*Mapping page */=0A+	struct vm_foreign_m=
ap *foreign_maps; /*Mapping pages                 */=0A } tap_blkif_t;=0A =
=0A static struct tap_blkif *tapfds[MAX_TAP_DEV];=0A@@ -329,7 +329,7 @@ =
static pte_t blktap_clear_pte(struct vm_=0A =0A 	pg =3D idx_to_page(=
mmap_idx, pending_idx, seg);=0A 	ClearPageReserved(pg);=0A-	=
info->foreign_map.map[offset + RING_PAGES] =3D NULL;=0A+	info->forei=
gn_maps->map[offset + RING_PAGES] =3D NULL;=0A =0A 	khandle =3D =
&pending_handle(mmap_idx, pending_idx, seg);=0A =0A@@ -377,12 +377,17 @@ =
static pte_t blktap_clear_pte(struct vm_=0A static void blktap_vma_open(str=
uct vm_area_struct *vma)=0A {=0A 	tap_blkif_t *info;=0A+	unsigned =
long idx;=0A+	struct vm_foreign_map *foreign_map;=0A+=0A 	if =
(vma->vm_file =3D=3D NULL)=0A 		return;=0A =0A 	info =3D vma->vm_fi=
le->private_data;=0A-	vma->vm_private_data =3D=0A-		&info->fore=
ign_map.map[(vma->vm_start - info->rings_vstart) >> PAGE_SHIFT];=0A+	=
idx =3D (vma->vm_start - info->rings_vstart) >> PAGE_SHIFT;=0A+	foreign_map=
 =3D &info->foreign_maps[idx];=0A+	foreign_map->map =3D &info->foreign=
_maps->map[idx];=0A+	vma->vm_private_data =3D foreign_map;=0A }=0A =0A =
/* tricky part=0A@@ -392,7 +397,6 @@ static void blktap_vma_open(struct =
vm_ar=0A  */=0A static void blktap_vma_close(struct vm_area_struct =
*vma)=0A {=0A-	tap_blkif_t *info;=0A 	struct vm_area_struct *next =3D =
vma->vm_next;=0A =0A 	if (next =3D=3D NULL ||=0A@@ -402,9 +406,7 @@ =
static void blktap_vma_close(struct vm_a=0A 	    vma->vm_file !=3D =
next->vm_file)=0A 		return;=0A =0A-	info =3D vma->vm_file->priv=
ate_data;=0A-	next->vm_private_data =3D=0A-		&info->foreign_map.=
map[(next->vm_start - info->rings_vstart) >> PAGE_SHIFT];=0A+	blktap_vma_=
open(next);=0A }=0A =0A static struct vm_operations_struct blktap_vm_ops =
=3D {=0A@@ -640,8 +642,9 @@ static int blktap_release(struct inode *=0A 	=
mm =3D xchg(&info->mm, NULL);=0A 	if (mm)=0A 		mmput(mm);=
=0A-	kfree(info->foreign_map.map);=0A-	info->foreign_map.map =3D =
NULL;=0A+	kfree(info->foreign_maps->map);=0A+	kfree(info->foreign=
_maps);=0A+	info->foreign_maps =3D NULL;=0A =0A 	/* Free the ring =
page. */=0A 	ClearPageReserved(virt_to_page(info->ufe_ring.sring));=0A@@=
 -730,14 +733,19 @@ static int blktap_mmap(struct file *filp=0A 	=
}=0A =0A 	/* Mark this VM as containing foreign pages, and set up =
mappings. */=0A-	info->foreign_map.map =3D kzalloc(((vma->vm_end - =
vma->vm_start) >> PAGE_SHIFT) *=0A-			    sizeof(*info->f=
oreign_map.map), GFP_KERNEL);=0A-	if (info->foreign_map.map =3D=3D =
NULL) {=0A+	info->foreign_maps =3D kcalloc(size, sizeof(*info->foreign_=
maps),=0A+				     GFP_KERNEL);=0A+	if =
(info->foreign_maps)=0A+		info->foreign_maps->map =3D=0A+		=
	kcalloc(size, sizeof(*info->foreign_maps->map),=0A+			=
	GFP_KERNEL);=0A+	if (!info->foreign_maps || !info->foreign_m=
aps->map) {=0A+		kfree(info->foreign_maps);=0A 		WPRINTK("Co=
uldn't alloc VM_FOREIGN map.\n");=0A 		goto fail;=0A 	}=0A =0A-	=
vma->vm_private_data =3D &info->foreign_map;=0A+	vma->vm_private_dat=
a =3D info->foreign_maps;=0A 	vma->vm_flags |=3D VM_FOREIGN;=0A 	=
vma->vm_flags |=3D VM_DONTCOPY;=0A =0A@@ -1242,7 +1250,7 @@ static int =
blktap_read_ufe_ring(tap_blki=0A 			pg =3D idx_to_page(=
mmap_idx, pending_idx, j);=0A 			ClearPageReserved(pg);=0A 	=
		offset =3D (uvaddr - info->rings_vstart) >> PAGE_SHIFT;=0A-=
			info->foreign_map.map[offset] =3D NULL;=0A+		=
	info->foreign_maps->map[offset] =3D NULL;=0A 		}=0A 		=
fast_flush_area(pending_req, pending_idx, usr_idx, info);=0A 		=
make_response(blkif, pending_req->id, res.operation,=0A@@ -1530,7 +1538,7 =
@@ static void dispatch_rw_block_io(blkif_t=0A 					=
    FOREIGN_FRAME(map[i].dev_bus_addr=0A 					=
		  >> PAGE_SHIFT));=0A 			offset =3D (uvaddr =
- info->rings_vstart) >> PAGE_SHIFT;=0A-			info->forei=
gn_map.map[offset] =3D pg;=0A+			info->foreign_maps->map[off=
set] =3D pg;=0A 		}=0A 	} else {=0A 		for (i =3D =
0; i < nseg; i++) {=0A@@ -1556,7 +1564,7 @@ static void dispatch_rw_block_i=
o(blkif_t=0A =0A 			offset =3D (uvaddr - info->rings_vs=
tart) >> PAGE_SHIFT;=0A 			pg =3D idx_to_page(mmap_idx=
, pending_idx, i);=0A-			info->foreign_map.map[offset] =3D =
pg;=0A+			info->foreign_maps->map[offset] =3D pg;=0A 		=
}=0A 	}=0A =0A--- a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntde=
v/gntdev.c=0A@@ -459,6 +459,7 @@ static int gntdev_mmap (struct file =
*fli=0A 	int i;=0A 	struct page *page;=0A 	gntdev_file_private=
_data_t *private_data =3D flip->private_data;=0A+	struct vm_foreign_m=
ap *foreign_map;=0A =0A 	if (unlikely(!private_data)) {=0A 		=
printk(KERN_ERR "File's private data is NULL.\n");=0A@@ -487,6 +488,14 @@ =
static int gntdev_mmap (struct file *fli=0A 		return -EINVAL;=0A =
	}=0A =0A+	foreign_map =3D kmalloc(sizeof(*foreign_map), =
GFP_KERNEL);=0A+	if (!foreign_map) {=0A+		printk(KERN_ERR =
"Couldn't allocate mapping structure for VM "=0A+		       =
"area.\n");=0A+		return -ENOMEM;=0A+	}=0A+	foreign_map->map =
=3D &private_data->foreign_pages[slot_index];=0A+=0A 	/* Slots must be =
in the NOT_YET_MAPPED state. */=0A 	down_write(&private_data->grants_se=
m);=0A 	for (i =3D 0; i < size; ++i) {=0A@@ -496,6 +505,7 @@ static int =
gntdev_mmap (struct file *fli=0A 			       "state =
(%d).\n", slot_index + i, =0A 			       private_data->grants=
[slot_index + i].state);=0A 			up_write(&private_data->gra=
nts_sem);=0A+			kfree(foreign_map);=0A 			=
return -EINVAL;=0A 		}=0A 	}=0A@@ -504,14 +514,8 @@ static =
int gntdev_mmap (struct file *fli=0A 	vma->vm_ops =3D &gntdev_vmops;=0A  =
   =0A 	/* The VM area contains pages from another VM. */=0A+	vma->vm_pri=
vate_data =3D foreign_map;=0A 	vma->vm_flags |=3D VM_FOREIGN;=0A-	=
vma->vm_private_data =3D kzalloc(size * sizeof(struct page *),=0A-		=
		       GFP_KERNEL);=0A-	if (vma->vm_private_data =3D=3D =
NULL) {=0A-		printk(KERN_ERR "Couldn't allocate mapping =
structure for VM "=0A-		       "area.\n");=0A-		return =
-ENOMEM;=0A-	}=0A =0A 	/* This flag prevents Bad PTE errors when =
the memory is unmapped. */=0A 	vma->vm_flags |=3D VM_RESERVED;=0A@@ =
-567,11 +571,6 @@ static int gntdev_mmap (struct file *fli=0A 			=
goto undo_map_out;=0A 		}=0A =0A-		/* Store a =
reference to the page that will be mapped into user=0A-		 * =
space.=0A-		 */=0A-		((struct page **) vma->vm_private_d=
ata)[i] =3D page;=0A-=0A 		/* Mark mapped page as reserved. =
*/=0A 		SetPageReserved(page);=0A =0A@@ -676,7 +675,8 @@ undo_map_o=
ut:=0A 	 * by do_mmap_pgoff(), which will eventually call gntdev_clear_pte(=
).=0A 	 * All we need to do here is free the vma_private_data.=0A 	 =
*/=0A-	kfree(vma->vm_private_data);=0A+	vma->vm_flags &=3D =
~VM_FOREIGN;=0A+	kfree(foreign_map);=0A =0A 	/* THIS IS VERY =
UNPLEASANT: do_mmap_pgoff() will set the vma->vm_file=0A 	 * to NULL =
on failure. However, we need this in gntdev_clear_pte() to=0A@@ -780,9 =
+780,8 @@ static pte_t gntdev_clear_pte(struct vm_=0A /* "Destructor" for =
a VM area.=0A  */=0A static void gntdev_vma_close(struct vm_area_struct =
*vma) {=0A-	if (vma->vm_private_data) {=0A+	if (vma->vm_flags & =
VM_FOREIGN)=0A 		kfree(vma->vm_private_data);=0A-	}=0A }=0A =
=0A /* Called when an ioctl is made on the device.=0A
--=__PartB59B5CE2.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartB59B5CE2.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:17:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:17:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV7S-0002sg-Bf; Thu, 10 May 2012 15:17:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV7Q-0002s2-9S
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:17:28 +0000
Received: from [85.158.139.83:20726] by server-7.bemta-5.messagelabs.com id
	21/97-16195-50CDBAF4; Thu, 10 May 2012 15:17:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336663044!27737939!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19690 invoked from network); 10 May 2012 15:17:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:17:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:17:23 +0100
Message-Id: <4FABF83A0200007800082C8B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:17:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5A74B30A.0__="
Subject: [Xen-devel] [PATCH 2/4] linux-2.6.18/gntdev: fix multi-page slot
 allocation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5A74B30A.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Any range with the first slot available would have got considered
usable, as range_length never got reset when encountering an in-use
slot.

Additionally fold the two almost identical loops into a single
instance, at once avoiding to go through both loops when start_index
was zero even for the first one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -285,35 +285,27 @@ static void compress_free_list(gntdev_fi
 static int find_contiguous_free_range(gntdev_file_private_data_t =
*private_data,
 				      uint32_t num_slots)=20
 {
-	uint32_t i, start_index =3D private_data->next_fit_index;
-	uint32_t range_start =3D 0, range_length;
-
-	/* First search from the start_index to the end of the array. */
-	range_length =3D 0;
-	for (i =3D start_index; i < private_data->grants_size; ++i) {
-		if (private_data->grants[i].state =3D=3D GNTDEV_SLOT_INVALI=
D) {
-			if (range_length =3D=3D 0) {
-				range_start =3D i;
-			}
-			++range_length;
-			if (range_length =3D=3D num_slots) {
-				return range_start;
-			}
-		}
-	}
-=09
-	/* Now search from the start of the array to the start_index. */
-	range_length =3D 0;
-	for (i =3D 0; i < start_index; ++i) {
-		if (private_data->grants[i].state =3D=3D GNTDEV_SLOT_INVALI=
D) {
-			if (range_length =3D=3D 0) {
-				range_start =3D i;
-			}
-			++range_length;
-			if (range_length =3D=3D num_slots) {
-				return range_start;
-			}
-		}
+	/* First search from next_fit_index to the end of the array. */
+	uint32_t start_index =3D private_data->next_fit_index;
+	uint32_t end_index =3D private_data->grants_size;
+
+	for (;;) {
+		uint32_t i, range_start =3D 0, range_length =3D 0;
+
+		for (i =3D start_index; i < end_index; ++i) {
+			if (private_data->grants[i].state =3D=3D GNTDEV_SLO=
T_INVALID) {
+				if (range_length =3D=3D 0)
+					range_start =3D i;
+				if (++range_length =3D=3D num_slots)
+					return range_start;
+			} else
+				range_length =3D 0;
+		}
+		/* Now search from the start of the array to next_fit_index=
. */
+		if (!start_index)
+			break;
+		end_index =3D start_index;
+		start_index =3D 0;
 	}
 =09
 	return -ENOMEM;




--=__Part5A74B30A.0__=
Content-Type: text/plain; name="xen-gntdev-multi-page.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-gntdev-multi-page.patch"

gntdev: fix multi-page slot allocation=0A=0AAny range with the first slot =
available would have got considered=0Ausable, as range_length never got =
reset when encountering an in-use=0Aslot.=0A=0AAdditionally fold the two =
almost identical loops into a single=0Ainstance, at once avoiding to go =
through both loops when start_index=0Awas zero even for the first =
one.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntdev/gntdev.c=0A@@ =
-285,35 +285,27 @@ static void compress_free_list(gntdev_fi=0A static int =
find_contiguous_free_range(gntdev_file_private_data_t *private_data,=0A 	=
			      uint32_t num_slots) =0A {=0A-	uint32_t =
i, start_index =3D private_data->next_fit_index;=0A-	uint32_t range_star=
t =3D 0, range_length;=0A-=0A-	/* First search from the start_index to =
the end of the array. */=0A-	range_length =3D 0;=0A-	for (i =3D =
start_index; i < private_data->grants_size; ++i) {=0A-		if =
(private_data->grants[i].state =3D=3D GNTDEV_SLOT_INVALID) {=0A-		=
	if (range_length =3D=3D 0) {=0A-				=
range_start =3D i;=0A-			}=0A-			++range_len=
gth;=0A-			if (range_length =3D=3D num_slots) {=0A-	=
			return range_start;=0A-			}=0A-		=
}=0A-	}=0A-	=0A-	/* Now search from the start of the array to the =
start_index. */=0A-	range_length =3D 0;=0A-	for (i =3D 0; i < =
start_index; ++i) {=0A-		if (private_data->grants[i].state =3D=3D =
GNTDEV_SLOT_INVALID) {=0A-			if (range_length =3D=3D 0) =
{=0A-				range_start =3D i;=0A-			=
}=0A-			++range_length;=0A-			if =
(range_length =3D=3D num_slots) {=0A-				return =
range_start;=0A-			}=0A-		}=0A+	/* First =
search from next_fit_index to the end of the array. */=0A+	uint32_t =
start_index =3D private_data->next_fit_index;=0A+	uint32_t end_index =
=3D private_data->grants_size;=0A+=0A+	for (;;) {=0A+		uint32_t =
i, range_start =3D 0, range_length =3D 0;=0A+=0A+		for (i =3D =
start_index; i < end_index; ++i) {=0A+			if (private_data->g=
rants[i].state =3D=3D GNTDEV_SLOT_INVALID) {=0A+				=
if (range_length =3D=3D 0)=0A+					range_start=
 =3D i;=0A+				if (++range_length =3D=3D =
num_slots)=0A+					return range_start;=0A+		=
	} else=0A+				range_length =3D 0;=0A+		=
}=0A+		/* Now search from the start of the array to next_fit_index=
. */=0A+		if (!start_index)=0A+			break;=0A+	=
	end_index =3D start_index;=0A+		start_index =3D 0;=0A 	=
}=0A 	=0A 	return -ENOMEM;=0A
--=__Part5A74B30A.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5A74B30A.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:17:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:17:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV7S-0002sg-Bf; Thu, 10 May 2012 15:17:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV7Q-0002s2-9S
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:17:28 +0000
Received: from [85.158.139.83:20726] by server-7.bemta-5.messagelabs.com id
	21/97-16195-50CDBAF4; Thu, 10 May 2012 15:17:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336663044!27737939!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19690 invoked from network); 10 May 2012 15:17:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:17:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:17:23 +0100
Message-Id: <4FABF83A0200007800082C8B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:17:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5A74B30A.0__="
Subject: [Xen-devel] [PATCH 2/4] linux-2.6.18/gntdev: fix multi-page slot
 allocation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5A74B30A.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Any range with the first slot available would have got considered
usable, as range_length never got reset when encountering an in-use
slot.

Additionally fold the two almost identical loops into a single
instance, at once avoiding to go through both loops when start_index
was zero even for the first one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -285,35 +285,27 @@ static void compress_free_list(gntdev_fi
 static int find_contiguous_free_range(gntdev_file_private_data_t =
*private_data,
 				      uint32_t num_slots)=20
 {
-	uint32_t i, start_index =3D private_data->next_fit_index;
-	uint32_t range_start =3D 0, range_length;
-
-	/* First search from the start_index to the end of the array. */
-	range_length =3D 0;
-	for (i =3D start_index; i < private_data->grants_size; ++i) {
-		if (private_data->grants[i].state =3D=3D GNTDEV_SLOT_INVALI=
D) {
-			if (range_length =3D=3D 0) {
-				range_start =3D i;
-			}
-			++range_length;
-			if (range_length =3D=3D num_slots) {
-				return range_start;
-			}
-		}
-	}
-=09
-	/* Now search from the start of the array to the start_index. */
-	range_length =3D 0;
-	for (i =3D 0; i < start_index; ++i) {
-		if (private_data->grants[i].state =3D=3D GNTDEV_SLOT_INVALI=
D) {
-			if (range_length =3D=3D 0) {
-				range_start =3D i;
-			}
-			++range_length;
-			if (range_length =3D=3D num_slots) {
-				return range_start;
-			}
-		}
+	/* First search from next_fit_index to the end of the array. */
+	uint32_t start_index =3D private_data->next_fit_index;
+	uint32_t end_index =3D private_data->grants_size;
+
+	for (;;) {
+		uint32_t i, range_start =3D 0, range_length =3D 0;
+
+		for (i =3D start_index; i < end_index; ++i) {
+			if (private_data->grants[i].state =3D=3D GNTDEV_SLO=
T_INVALID) {
+				if (range_length =3D=3D 0)
+					range_start =3D i;
+				if (++range_length =3D=3D num_slots)
+					return range_start;
+			} else
+				range_length =3D 0;
+		}
+		/* Now search from the start of the array to next_fit_index=
. */
+		if (!start_index)
+			break;
+		end_index =3D start_index;
+		start_index =3D 0;
 	}
 =09
 	return -ENOMEM;




--=__Part5A74B30A.0__=
Content-Type: text/plain; name="xen-gntdev-multi-page.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-gntdev-multi-page.patch"

gntdev: fix multi-page slot allocation=0A=0AAny range with the first slot =
available would have got considered=0Ausable, as range_length never got =
reset when encountering an in-use=0Aslot.=0A=0AAdditionally fold the two =
almost identical loops into a single=0Ainstance, at once avoiding to go =
through both loops when start_index=0Awas zero even for the first =
one.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntdev/gntdev.c=0A@@ =
-285,35 +285,27 @@ static void compress_free_list(gntdev_fi=0A static int =
find_contiguous_free_range(gntdev_file_private_data_t *private_data,=0A 	=
			      uint32_t num_slots) =0A {=0A-	uint32_t =
i, start_index =3D private_data->next_fit_index;=0A-	uint32_t range_star=
t =3D 0, range_length;=0A-=0A-	/* First search from the start_index to =
the end of the array. */=0A-	range_length =3D 0;=0A-	for (i =3D =
start_index; i < private_data->grants_size; ++i) {=0A-		if =
(private_data->grants[i].state =3D=3D GNTDEV_SLOT_INVALID) {=0A-		=
	if (range_length =3D=3D 0) {=0A-				=
range_start =3D i;=0A-			}=0A-			++range_len=
gth;=0A-			if (range_length =3D=3D num_slots) {=0A-	=
			return range_start;=0A-			}=0A-		=
}=0A-	}=0A-	=0A-	/* Now search from the start of the array to the =
start_index. */=0A-	range_length =3D 0;=0A-	for (i =3D 0; i < =
start_index; ++i) {=0A-		if (private_data->grants[i].state =3D=3D =
GNTDEV_SLOT_INVALID) {=0A-			if (range_length =3D=3D 0) =
{=0A-				range_start =3D i;=0A-			=
}=0A-			++range_length;=0A-			if =
(range_length =3D=3D num_slots) {=0A-				return =
range_start;=0A-			}=0A-		}=0A+	/* First =
search from next_fit_index to the end of the array. */=0A+	uint32_t =
start_index =3D private_data->next_fit_index;=0A+	uint32_t end_index =
=3D private_data->grants_size;=0A+=0A+	for (;;) {=0A+		uint32_t =
i, range_start =3D 0, range_length =3D 0;=0A+=0A+		for (i =3D =
start_index; i < end_index; ++i) {=0A+			if (private_data->g=
rants[i].state =3D=3D GNTDEV_SLOT_INVALID) {=0A+				=
if (range_length =3D=3D 0)=0A+					range_start=
 =3D i;=0A+				if (++range_length =3D=3D =
num_slots)=0A+					return range_start;=0A+		=
	} else=0A+				range_length =3D 0;=0A+		=
}=0A+		/* Now search from the start of the array to next_fit_index=
. */=0A+		if (!start_index)=0A+			break;=0A+	=
	end_index =3D start_index;=0A+		start_index =3D 0;=0A 	=
}=0A 	=0A 	return -ENOMEM;=0A
--=__Part5A74B30A.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5A74B30A.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:18:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:18:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV89-00030J-Vg; Thu, 10 May 2012 15:18:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV88-0002zz-7o
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:18:12 +0000
Received: from [85.158.139.83:39148] by server-12.bemta-5.messagelabs.com id
	44/7A-01344-33CDBAF4; Thu, 10 May 2012 15:18:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336663089!27169730!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22599 invoked from network); 10 May 2012 15:18:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:18:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:18:09 +0100
Message-Id: <4FABF8670200007800082C8F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:18:31 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part0729EE57.0__="
Subject: [Xen-devel] [PATCH 3/4] linux-2.6.18/gntdev: adjust indentation
 (and fix bugs noticed by doing so)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part0729EE57.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

By inverting two conditions, indentation can be decreased by one level
for large code portions, thus improving legibility.

In gntdev_mmap(), this made obvious that failure of vm_insert_page()
was silently ignored rather than being propagated to the caller.

In gntdev_clear_pte(), the final set_phys_to_machine() must not be
called for the auto-translated case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -607,85 +607,85 @@ static int gntdev_mmap (struct file *fli
 			GNTDEV_INVALID_HANDLE;
=20
 		/* Now perform the mapping to user space. */
-		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
-
-			/* NOT USING SHADOW PAGE TABLES. */
-			/* In this case, we map the grant(s) straight into =
user
-			 * space.
-			 */
-
-			/* Get the machine address of the PTE for the =
user=20
-			 *  page.
-			 */
-			if ((ret =3D create_lookup_pte_addr(vma->vm_mm,=20
-							  vma->vm_start=20
-							  + (i << =
PAGE_SHIFT),=20
-							  &ptep)))
-			{
-				printk(KERN_ERR "Error obtaining PTE =
pointer "
-				       "(%d).\n", ret);
-				goto undo_map_out;
-			}
-		=09
-			/* Configure the map operation. */
-	=09
-			/* The reference is to be used by host CPUs. */
-			flags =3D GNTMAP_host_map;
-		=09
-			/* Specifies a user space mapping. */
-			flags |=3D GNTMAP_application_map;
-		=09
-			/* The map request contains the machine address of =
the
-			 * PTE to update.
-			 */
-			flags |=3D GNTMAP_contains_pte;
-		=09
-			if (!(vma->vm_flags & VM_WRITE))
-				flags |=3D GNTMAP_readonly;
-
-			gnttab_set_map_op(&op, ptep, flags,=20
-					  private_data->grants[slot_index+i=
]
-					  .u.valid.ref,=20
-					  private_data->grants[slot_index+i=
]
-					  .u.valid.domid);
-
-			/* Carry out the mapping of the grant reference. =
*/
-			ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_gran=
t_ref,
-							&op, 1);
-			BUG_ON(ret);
-			if (op.status !=3D GNTST_okay) {
-				printk(KERN_ERR "Error mapping the grant "
-				       "reference into user space (%d). =
domid "
-				       "=3D %d; ref =3D %d\n", op.status,
-				       private_data->grants[slot_index+i].u=

-				       .valid.domid,
-				       private_data->grants[slot_index+i].u=

-				       .valid.ref);
-				/* This should never happen after we've =
mapped into
-				* the kernel space. */
-				BUG_ON(op.status =3D=3D GNTST_eagain);
-				goto undo_map_out;
-			}
-		=09
-			/* Record the grant handle, for use in the =
unmap=20
-			 * operation.=20
-			 */
-			private_data->grants[slot_index+i].u.
-				valid.user_handle =3D op.handle;
-
-			/* Update p2m structure with the new mapping. */
-			set_phys_to_machine(__pa(kernel_vaddr) >> =
PAGE_SHIFT,
-					    FOREIGN_FRAME(private_data->
-							  grants[slot_index=
+i]
-							  .u.valid.dev_bus_=
addr
-							  >> PAGE_SHIFT));
-		} else {
+		if (xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* USING SHADOW PAGE TABLES. */
 			/* In this case, we simply insert the page into =
the VM
 			 * area. */
 			ret =3D vm_insert_page(vma, user_vaddr, page);
+			if (!ret)
+				continue;
+			exit_ret =3D ret;
+			goto undo_map_out;
+		}
+
+		/* NOT USING SHADOW PAGE TABLES. */
+		/* In this case, we map the grant(s) straight into user
+		 * space.
+		 */
+
+		/* Get the machine address of the PTE for the user page. =
*/
+		if ((ret =3D create_lookup_pte_addr(vma->vm_mm,
+						  vma->vm_start
+						  + (i << PAGE_SHIFT),
+						  &ptep)))
+		{
+			printk(KERN_ERR "Error obtaining PTE pointer =
(%d)\n",
+			       ret);
+			goto undo_map_out;
+		}
+
+		/* Configure the map operation. */
+
+		/* The reference is to be used by host CPUs. */
+		flags =3D GNTMAP_host_map;
+
+		/* Specifies a user space mapping. */
+		flags |=3D GNTMAP_application_map;
+
+		/* The map request contains the machine address of the
+		 * PTE to update.
+		 */
+		flags |=3D GNTMAP_contains_pte;
+
+		if (!(vma->vm_flags & VM_WRITE))
+			flags |=3D GNTMAP_readonly;
+
+		gnttab_set_map_op(&op, ptep, flags,
+				  private_data->grants[slot_index+i]
+				  .u.valid.ref,
+				  private_data->grants[slot_index+i]
+				  .u.valid.domid);
+
+		/* Carry out the mapping of the grant reference. */
+		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
+						&op, 1);
+		BUG_ON(ret);
+		if (op.status !=3D GNTST_okay) {
+			printk(KERN_ERR "Error mapping the grant reference =
"
+			       "into user space (%d). domid =3D %d; ref =
=3D %d\n",
+			       op.status,
+			       private_data->grants[slot_index+i].u
+			       .valid.domid,
+			       private_data->grants[slot_index+i].u
+			       .valid.ref);
+			/* This should never happen after we've mapped =
into
+			 * the kernel space. */
+			BUG_ON(op.status =3D=3D GNTST_eagain);
+			goto undo_map_out;
 		}
=20
+		/* Record the grant handle, for use in the unmap
+		 * operation.
+		 */
+		private_data->grants[slot_index+i].u.valid.user_handle
+			=3D op.handle;
+
+		/* Update p2m structure with the new mapping. */
+		set_phys_to_machine(__pa(kernel_vaddr) >> PAGE_SHIFT,
+				    FOREIGN_FRAME(private_data->
+						  grants[slot_index+i]
+						  .u.valid.dev_bus_addr
+						  >> PAGE_SHIFT));
 	}
 	exit_ret =3D 0;
=20
@@ -745,55 +745,52 @@ static pte_t gntdev_clear_pte(struct vm_
 	/* Only unmap grants if the slot has been mapped. This could be =
being
 	 * called from a failing mmap().
 	 */
-	if (private_data->grants[slot_index].state =3D=3D GNTDEV_SLOT_MAPPE=
D) {
-
-		/* First, we clear the user space mapping, if it has been =
made.
-		 */
-		if (private_data->grants[slot_index].u.valid.user_handle =
!=3D
-		    GNTDEV_INVALID_HANDLE &&=20
-		    !xen_feature(XENFEAT_auto_translated_physmap)) {
-			/* NOT USING SHADOW PAGE TABLES. */
-			gnttab_set_unmap_op(&op, ptep_to_machine(ptep),=20
-					    GNTMAP_contains_pte,
-					    private_data->grants[slot_index=
]
-					    .u.valid.user_handle);
-			ret =3D HYPERVISOR_grant_table_op(
-				GNTTABOP_unmap_grant_ref, &op, 1);
-			BUG_ON(ret);
-			if (op.status !=3D GNTST_okay)
-				printk("User unmap grant status =3D =
%d\n",=20
-				       op.status);
-		} else {
-			/* USING SHADOW PAGE TABLES. */
-			pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
-		}
+	if (private_data->grants[slot_index].state !=3D GNTDEV_SLOT_MAPPED)=
 {
+		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
+		return copy;
+	}
=20
-		/* Finally, we unmap the grant from kernel space. */
-		gnttab_set_unmap_op(&op,=20
-				    get_kernel_vaddr(private_data, =
slot_index),
-				    GNTMAP_host_map,=20
+	/* First, we clear the user space mapping, if it has been made.
+	 */
+	if (private_data->grants[slot_index].u.valid.user_handle !=3D
+	    GNTDEV_INVALID_HANDLE &&
+	    !xen_feature(XENFEAT_auto_translated_physmap)) {
+		/* NOT USING SHADOW PAGE TABLES. */
+		gnttab_set_unmap_op(&op, ptep_to_machine(ptep),
+				    GNTMAP_contains_pte,
 				    private_data->grants[slot_index].u.vali=
d
-				    .kernel_handle);
-		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=
=20
+				    .user_handle);
+		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=

 						&op, 1);
 		BUG_ON(ret);
 		if (op.status !=3D GNTST_okay)
-			printk("Kernel unmap grant status =3D %d\n", =
op.status);
+			printk("User unmap grant status =3D %d\n", =
op.status);
+	} else {
+		/* USING SHADOW PAGE TABLES. */
+		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
+	}
=20
+	/* Finally, we unmap the grant from kernel space. */
+	gnttab_set_unmap_op(&op,
+			    get_kernel_vaddr(private_data, slot_index),
+			    GNTMAP_host_map,
+			    private_data->grants[slot_index].u.valid
+			    .kernel_handle);
+	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, =
1);
+	BUG_ON(ret);
+	if (op.status !=3D GNTST_okay)
+		printk("Kernel unmap grant status =3D %d\n", op.status);
=20
-		/* Return slot to the not-yet-mapped state, so that it may =
be
-		 * mapped again, or removed by a subsequent ioctl.
-		 */
-		private_data->grants[slot_index].state =3D=20
-			GNTDEV_SLOT_NOT_YET_MAPPED;
+	/* Return slot to the not-yet-mapped state, so that it may be
+	 * mapped again, or removed by a subsequent ioctl.
+	 */
+	private_data->grants[slot_index].state =3D GNTDEV_SLOT_NOT_YET_MAPP=
ED;
=20
+	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
 		/* Invalidate the physical to machine mapping for this =
page. */
 		set_phys_to_machine(
 			page_to_pfn(private_data->foreign_pages[slot_index]=
),
 			INVALID_P2M_ENTRY);
-
-	} else {
-		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
 	}
=20
 	return copy;



--=__Part0729EE57.0__=
Content-Type: text/plain; name="xen-gntdev-indent.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-gntdev-indent.patch"

gntdev: adjust indentation (and fix bugs noticed by doing so)=0A=0ABy =
inverting two conditions, indentation can be decreased by one level=0Afor =
large code portions, thus improving legibility.=0A=0AIn gntdev_mmap(), =
this made obvious that failure of vm_insert_page()=0Awas silently ignored =
rather than being propagated to the caller.=0A=0AIn gntdev_clear_pte(), =
the final set_phys_to_machine() must not be=0Acalled for the auto-translate=
d case.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntdev/gntdev.c=0A@@ =
-607,85 +607,85 @@ static int gntdev_mmap (struct file *fli=0A 			=
GNTDEV_INVALID_HANDLE;=0A =0A 		/* Now perform the mapping to user =
space. */=0A-		if (!xen_feature(XENFEAT_auto_translated_physmap)) =
{=0A-=0A-			/* NOT USING SHADOW PAGE TABLES. */=0A-		=
	/* In this case, we map the grant(s) straight into user=0A-		=
	 * space.=0A-			 */=0A-=0A-			/* =
Get the machine address of the PTE for the user =0A-			 * =
 page.=0A-			 */=0A-			if ((ret =3D =
create_lookup_pte_addr(vma->vm_mm, =0A-						=
	  vma->vm_start =0A-							=
  + (i << PAGE_SHIFT), =0A-							=
  &ptep)))=0A-			{=0A-				printk(KERN=
_ERR "Error obtaining PTE pointer "=0A-				       =
"(%d).\n", ret);=0A-				goto undo_map_out;=0A-		=
	}=0A-			=0A-			/* Configure the =
map operation. */=0A-		=0A-			/* The reference =
is to be used by host CPUs. */=0A-			flags =3D =
GNTMAP_host_map;=0A-			=0A-			/* =
Specifies a user space mapping. */=0A-			flags |=3D =
GNTMAP_application_map;=0A-			=0A-			/* =
The map request contains the machine address of the=0A-			 * =
PTE to update.=0A-			 */=0A-			flags |=3D =
GNTMAP_contains_pte;=0A-			=0A-			if =
(!(vma->vm_flags & VM_WRITE))=0A-				flags |=3D =
GNTMAP_readonly;=0A-=0A-			gnttab_set_map_op(&op, =
ptep, flags, =0A-					  private_data->gra=
nts[slot_index+i]=0A-					  .u.valid.ref, =
=0A-					  private_data->grants[slot_index+i=
]=0A-					  .u.valid.domid);=0A-=0A-		=
	/* Carry out the mapping of the grant reference. */=0A-			=
ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,=0A-			=
				&op, 1);=0A-			BUG_ON(ret)=
;=0A-			if (op.status !=3D GNTST_okay) {=0A-			=
	printk(KERN_ERR "Error mapping the grant "=0A-				=
       "reference into user space (%d). domid "=0A-				=
       "=3D %d; ref =3D %d\n", op.status,=0A-				   =
    private_data->grants[slot_index+i].u=0A-				   =
    .valid.domid,=0A-				       private_data->grants=
[slot_index+i].u=0A-				       .valid.ref);=0A-		=
		/* This should never happen after we've mapped into=0A-		=
		* the kernel space. */=0A-				=
BUG_ON(op.status =3D=3D GNTST_eagain);=0A-				=
goto undo_map_out;=0A-			}=0A-			=0A-		=
	/* Record the grant handle, for use in the unmap =0A-			=
 * operation. =0A-			 */=0A-			private_dat=
a->grants[slot_index+i].u.=0A-				valid.user_handle =
=3D op.handle;=0A-=0A-			/* Update p2m structure with the =
new mapping. */=0A-			set_phys_to_machine(__pa(kernel_vad=
dr) >> PAGE_SHIFT,=0A-					    FOREIGN_FRAME(p=
rivate_data->=0A-							  =
grants[slot_index+i]=0A-							=
  .u.valid.dev_bus_addr=0A-							=
  >> PAGE_SHIFT));=0A-		} else {=0A+		if (xen_feature(XEN=
FEAT_auto_translated_physmap)) {=0A 			/* USING SHADOW =
PAGE TABLES. */=0A 			/* In this case, we simply insert =
the page into the VM=0A 			 * area. */=0A 			=
ret =3D vm_insert_page(vma, user_vaddr, page);=0A+			if =
(!ret)=0A+				continue;=0A+			=
exit_ret =3D ret;=0A+			goto undo_map_out;=0A+		=
}=0A+=0A+		/* NOT USING SHADOW PAGE TABLES. */=0A+		/* =
In this case, we map the grant(s) straight into user=0A+		 * =
space.=0A+		 */=0A+=0A+		/* Get the machine address =
of the PTE for the user page. */=0A+		if ((ret =3D create_lookup_=
pte_addr(vma->vm_mm,=0A+						  =
vma->vm_start=0A+						  + (i << =
PAGE_SHIFT),=0A+						  =
&ptep)))=0A+		{=0A+			printk(KERN_ERR "Error =
obtaining PTE pointer (%d)\n",=0A+			       ret);=0A+	=
		goto undo_map_out;=0A+		}=0A+=0A+		/* =
Configure the map operation. */=0A+=0A+		/* The reference is to be =
used by host CPUs. */=0A+		flags =3D GNTMAP_host_map;=0A+=0A+	=
	/* Specifies a user space mapping. */=0A+		flags |=3D =
GNTMAP_application_map;=0A+=0A+		/* The map request contains the =
machine address of the=0A+		 * PTE to update.=0A+		 =
*/=0A+		flags |=3D GNTMAP_contains_pte;=0A+=0A+		if =
(!(vma->vm_flags & VM_WRITE))=0A+			flags |=3D =
GNTMAP_readonly;=0A+=0A+		gnttab_set_map_op(&op, ptep, =
flags,=0A+				  private_data->grants[slot_index+i=
]=0A+				  .u.valid.ref,=0A+				=
  private_data->grants[slot_index+i]=0A+				  =
.u.valid.domid);=0A+=0A+		/* Carry out the mapping of the =
grant reference. */=0A+		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_=
map_grant_ref,=0A+						&op, =
1);=0A+		BUG_ON(ret);=0A+		if (op.status !=3D =
GNTST_okay) {=0A+			printk(KERN_ERR "Error mapping the =
grant reference "=0A+			       "into user space (%d). =
domid =3D %d; ref =3D %d\n",=0A+			       op.status,=
=0A+			       private_data->grants[slot_index+i].u=0A+		=
	       .valid.domid,=0A+			       private_data=
->grants[slot_index+i].u=0A+			       .valid.ref);=0A+		=
	/* This should never happen after we've mapped into=0A+			=
 * the kernel space. */=0A+			BUG_ON(op.status =3D=3D =
GNTST_eagain);=0A+			goto undo_map_out;=0A 		=
}=0A =0A+		/* Record the grant handle, for use in the =
unmap=0A+		 * operation.=0A+		 */=0A+		=
private_data->grants[slot_index+i].u.valid.user_handle=0A+			=
=3D op.handle;=0A+=0A+		/* Update p2m structure with the new =
mapping. */=0A+		set_phys_to_machine(__pa(kernel_vaddr) >> =
PAGE_SHIFT,=0A+				    FOREIGN_FRAME(private_data->=0A=
+						  grants[slot_index+i]=0A+	=
					  .u.valid.dev_bus_addr=0A+		=
				  >> PAGE_SHIFT));=0A 	}=0A 	exit_ret =
=3D 0;=0A =0A@@ -745,55 +745,52 @@ static pte_t gntdev_clear_pte(struct =
vm_=0A 	/* Only unmap grants if the slot has been mapped. This could be =
being=0A 	 * called from a failing mmap().=0A 	 */=0A-	if =
(private_data->grants[slot_index].state =3D=3D GNTDEV_SLOT_MAPPED) =
{=0A-=0A-		/* First, we clear the user space mapping, if it =
has been made.=0A-		 */=0A-		if (private_data->grants[sl=
ot_index].u.valid.user_handle !=3D=0A-		    GNTDEV_INVALID_HANDLE =
&& =0A-		    !xen_feature(XENFEAT_auto_translated_physmap)) {=0A-	=
		/* NOT USING SHADOW PAGE TABLES. */=0A-			=
gnttab_set_unmap_op(&op, ptep_to_machine(ptep), =0A-				=
	    GNTMAP_contains_pte,=0A-					   =
 private_data->grants[slot_index]=0A-					   =
 .u.valid.user_handle);=0A-			ret =3D HYPERVISOR_grant_ta=
ble_op(=0A-				GNTTABOP_unmap_grant_ref, &op, =
1);=0A-			BUG_ON(ret);=0A-			if =
(op.status !=3D GNTST_okay)=0A-				printk("User unmap =
grant status =3D %d\n", =0A-				       op.status);=
=0A-		} else {=0A-			/* USING SHADOW PAGE =
TABLES. */=0A-			pte_clear_full(vma->vm_mm, addr, ptep, =
is_fullmm);=0A-		}=0A+	if (private_data->grants[slot_index].state =
!=3D GNTDEV_SLOT_MAPPED) {=0A+		pte_clear_full(vma->vm_mm, addr, =
ptep, is_fullmm);=0A+		return copy;=0A+	}=0A =0A-		=
/* Finally, we unmap the grant from kernel space. */=0A-		=
gnttab_set_unmap_op(&op, =0A-				    get_kernel_vadd=
r(private_data, slot_index),=0A-				    =
GNTMAP_host_map, =0A+	/* First, we clear the user space mapping, if it =
has been made.=0A+	 */=0A+	if (private_data->grants[slot_index].u.vali=
d.user_handle !=3D=0A+	    GNTDEV_INVALID_HANDLE &&=0A+	    =
!xen_feature(XENFEAT_auto_translated_physmap)) {=0A+		/* NOT =
USING SHADOW PAGE TABLES. */=0A+		gnttab_set_unmap_op(&op, =
ptep_to_machine(ptep),=0A+				    GNTMAP_contains=
_pte,=0A 				    private_data->grants[slot_index=
].u.valid=0A-				    .kernel_handle);=0A-		=
ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, =0A+		=
		    .user_handle);=0A+		ret =3D HYPERVISOR_grant_ta=
ble_op(GNTTABOP_unmap_grant_ref,=0A 						=
&op, 1);=0A 		BUG_ON(ret);=0A 		if (op.status !=3D =
GNTST_okay)=0A-			printk("Kernel unmap grant status =3D =
%d\n", op.status);=0A+			printk("User unmap grant status =
=3D %d\n", op.status);=0A+	} else {=0A+		/* USING SHADOW =
PAGE TABLES. */=0A+		pte_clear_full(vma->vm_mm, addr, ptep, =
is_fullmm);=0A+	}=0A =0A+	/* Finally, we unmap the grant from kernel =
space. */=0A+	gnttab_set_unmap_op(&op,=0A+			    =
get_kernel_vaddr(private_data, slot_index),=0A+			    =
GNTMAP_host_map,=0A+			    private_data->grants[slot_index=
].u.valid=0A+			    .kernel_handle);=0A+	ret =3D =
HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, 1);=0A+	=
BUG_ON(ret);=0A+	if (op.status !=3D GNTST_okay)=0A+		=
printk("Kernel unmap grant status =3D %d\n", op.status);=0A =0A-		=
/* Return slot to the not-yet-mapped state, so that it may be=0A-		=
 * mapped again, or removed by a subsequent ioctl.=0A-		 */=0A-		=
private_data->grants[slot_index].state =3D =0A-			GNTDEV_SLOT=
_NOT_YET_MAPPED;=0A+	/* Return slot to the not-yet-mapped state, so =
that it may be=0A+	 * mapped again, or removed by a subsequent =
ioctl.=0A+	 */=0A+	private_data->grants[slot_index].state =3D =
GNTDEV_SLOT_NOT_YET_MAPPED;=0A =0A+	if (!xen_feature(XENFEAT_auto_trans=
lated_physmap)) {=0A 		/* Invalidate the physical to machine =
mapping for this page. */=0A 		set_phys_to_machine(=0A 		=
	page_to_pfn(private_data->foreign_pages[slot_index]),=0A 		=
	INVALID_P2M_ENTRY);=0A-=0A-	} else {=0A-		pte_clear_f=
ull(vma->vm_mm, addr, ptep, is_fullmm);=0A 	}=0A =0A 	return =
copy;=0A
--=__Part0729EE57.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part0729EE57.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:18:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:18:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV89-00030J-Vg; Thu, 10 May 2012 15:18:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV88-0002zz-7o
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:18:12 +0000
Received: from [85.158.139.83:39148] by server-12.bemta-5.messagelabs.com id
	44/7A-01344-33CDBAF4; Thu, 10 May 2012 15:18:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1336663089!27169730!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22599 invoked from network); 10 May 2012 15:18:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:18:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:18:09 +0100
Message-Id: <4FABF8670200007800082C8F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:18:31 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part0729EE57.0__="
Subject: [Xen-devel] [PATCH 3/4] linux-2.6.18/gntdev: adjust indentation
 (and fix bugs noticed by doing so)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part0729EE57.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

By inverting two conditions, indentation can be decreased by one level
for large code portions, thus improving legibility.

In gntdev_mmap(), this made obvious that failure of vm_insert_page()
was silently ignored rather than being propagated to the caller.

In gntdev_clear_pte(), the final set_phys_to_machine() must not be
called for the auto-translated case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -607,85 +607,85 @@ static int gntdev_mmap (struct file *fli
 			GNTDEV_INVALID_HANDLE;
=20
 		/* Now perform the mapping to user space. */
-		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
-
-			/* NOT USING SHADOW PAGE TABLES. */
-			/* In this case, we map the grant(s) straight into =
user
-			 * space.
-			 */
-
-			/* Get the machine address of the PTE for the =
user=20
-			 *  page.
-			 */
-			if ((ret =3D create_lookup_pte_addr(vma->vm_mm,=20
-							  vma->vm_start=20
-							  + (i << =
PAGE_SHIFT),=20
-							  &ptep)))
-			{
-				printk(KERN_ERR "Error obtaining PTE =
pointer "
-				       "(%d).\n", ret);
-				goto undo_map_out;
-			}
-		=09
-			/* Configure the map operation. */
-	=09
-			/* The reference is to be used by host CPUs. */
-			flags =3D GNTMAP_host_map;
-		=09
-			/* Specifies a user space mapping. */
-			flags |=3D GNTMAP_application_map;
-		=09
-			/* The map request contains the machine address of =
the
-			 * PTE to update.
-			 */
-			flags |=3D GNTMAP_contains_pte;
-		=09
-			if (!(vma->vm_flags & VM_WRITE))
-				flags |=3D GNTMAP_readonly;
-
-			gnttab_set_map_op(&op, ptep, flags,=20
-					  private_data->grants[slot_index+i=
]
-					  .u.valid.ref,=20
-					  private_data->grants[slot_index+i=
]
-					  .u.valid.domid);
-
-			/* Carry out the mapping of the grant reference. =
*/
-			ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_gran=
t_ref,
-							&op, 1);
-			BUG_ON(ret);
-			if (op.status !=3D GNTST_okay) {
-				printk(KERN_ERR "Error mapping the grant "
-				       "reference into user space (%d). =
domid "
-				       "=3D %d; ref =3D %d\n", op.status,
-				       private_data->grants[slot_index+i].u=

-				       .valid.domid,
-				       private_data->grants[slot_index+i].u=

-				       .valid.ref);
-				/* This should never happen after we've =
mapped into
-				* the kernel space. */
-				BUG_ON(op.status =3D=3D GNTST_eagain);
-				goto undo_map_out;
-			}
-		=09
-			/* Record the grant handle, for use in the =
unmap=20
-			 * operation.=20
-			 */
-			private_data->grants[slot_index+i].u.
-				valid.user_handle =3D op.handle;
-
-			/* Update p2m structure with the new mapping. */
-			set_phys_to_machine(__pa(kernel_vaddr) >> =
PAGE_SHIFT,
-					    FOREIGN_FRAME(private_data->
-							  grants[slot_index=
+i]
-							  .u.valid.dev_bus_=
addr
-							  >> PAGE_SHIFT));
-		} else {
+		if (xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* USING SHADOW PAGE TABLES. */
 			/* In this case, we simply insert the page into =
the VM
 			 * area. */
 			ret =3D vm_insert_page(vma, user_vaddr, page);
+			if (!ret)
+				continue;
+			exit_ret =3D ret;
+			goto undo_map_out;
+		}
+
+		/* NOT USING SHADOW PAGE TABLES. */
+		/* In this case, we map the grant(s) straight into user
+		 * space.
+		 */
+
+		/* Get the machine address of the PTE for the user page. =
*/
+		if ((ret =3D create_lookup_pte_addr(vma->vm_mm,
+						  vma->vm_start
+						  + (i << PAGE_SHIFT),
+						  &ptep)))
+		{
+			printk(KERN_ERR "Error obtaining PTE pointer =
(%d)\n",
+			       ret);
+			goto undo_map_out;
+		}
+
+		/* Configure the map operation. */
+
+		/* The reference is to be used by host CPUs. */
+		flags =3D GNTMAP_host_map;
+
+		/* Specifies a user space mapping. */
+		flags |=3D GNTMAP_application_map;
+
+		/* The map request contains the machine address of the
+		 * PTE to update.
+		 */
+		flags |=3D GNTMAP_contains_pte;
+
+		if (!(vma->vm_flags & VM_WRITE))
+			flags |=3D GNTMAP_readonly;
+
+		gnttab_set_map_op(&op, ptep, flags,
+				  private_data->grants[slot_index+i]
+				  .u.valid.ref,
+				  private_data->grants[slot_index+i]
+				  .u.valid.domid);
+
+		/* Carry out the mapping of the grant reference. */
+		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
+						&op, 1);
+		BUG_ON(ret);
+		if (op.status !=3D GNTST_okay) {
+			printk(KERN_ERR "Error mapping the grant reference =
"
+			       "into user space (%d). domid =3D %d; ref =
=3D %d\n",
+			       op.status,
+			       private_data->grants[slot_index+i].u
+			       .valid.domid,
+			       private_data->grants[slot_index+i].u
+			       .valid.ref);
+			/* This should never happen after we've mapped =
into
+			 * the kernel space. */
+			BUG_ON(op.status =3D=3D GNTST_eagain);
+			goto undo_map_out;
 		}
=20
+		/* Record the grant handle, for use in the unmap
+		 * operation.
+		 */
+		private_data->grants[slot_index+i].u.valid.user_handle
+			=3D op.handle;
+
+		/* Update p2m structure with the new mapping. */
+		set_phys_to_machine(__pa(kernel_vaddr) >> PAGE_SHIFT,
+				    FOREIGN_FRAME(private_data->
+						  grants[slot_index+i]
+						  .u.valid.dev_bus_addr
+						  >> PAGE_SHIFT));
 	}
 	exit_ret =3D 0;
=20
@@ -745,55 +745,52 @@ static pte_t gntdev_clear_pte(struct vm_
 	/* Only unmap grants if the slot has been mapped. This could be =
being
 	 * called from a failing mmap().
 	 */
-	if (private_data->grants[slot_index].state =3D=3D GNTDEV_SLOT_MAPPE=
D) {
-
-		/* First, we clear the user space mapping, if it has been =
made.
-		 */
-		if (private_data->grants[slot_index].u.valid.user_handle =
!=3D
-		    GNTDEV_INVALID_HANDLE &&=20
-		    !xen_feature(XENFEAT_auto_translated_physmap)) {
-			/* NOT USING SHADOW PAGE TABLES. */
-			gnttab_set_unmap_op(&op, ptep_to_machine(ptep),=20
-					    GNTMAP_contains_pte,
-					    private_data->grants[slot_index=
]
-					    .u.valid.user_handle);
-			ret =3D HYPERVISOR_grant_table_op(
-				GNTTABOP_unmap_grant_ref, &op, 1);
-			BUG_ON(ret);
-			if (op.status !=3D GNTST_okay)
-				printk("User unmap grant status =3D =
%d\n",=20
-				       op.status);
-		} else {
-			/* USING SHADOW PAGE TABLES. */
-			pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
-		}
+	if (private_data->grants[slot_index].state !=3D GNTDEV_SLOT_MAPPED)=
 {
+		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
+		return copy;
+	}
=20
-		/* Finally, we unmap the grant from kernel space. */
-		gnttab_set_unmap_op(&op,=20
-				    get_kernel_vaddr(private_data, =
slot_index),
-				    GNTMAP_host_map,=20
+	/* First, we clear the user space mapping, if it has been made.
+	 */
+	if (private_data->grants[slot_index].u.valid.user_handle !=3D
+	    GNTDEV_INVALID_HANDLE &&
+	    !xen_feature(XENFEAT_auto_translated_physmap)) {
+		/* NOT USING SHADOW PAGE TABLES. */
+		gnttab_set_unmap_op(&op, ptep_to_machine(ptep),
+				    GNTMAP_contains_pte,
 				    private_data->grants[slot_index].u.vali=
d
-				    .kernel_handle);
-		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=
=20
+				    .user_handle);
+		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=

 						&op, 1);
 		BUG_ON(ret);
 		if (op.status !=3D GNTST_okay)
-			printk("Kernel unmap grant status =3D %d\n", =
op.status);
+			printk("User unmap grant status =3D %d\n", =
op.status);
+	} else {
+		/* USING SHADOW PAGE TABLES. */
+		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
+	}
=20
+	/* Finally, we unmap the grant from kernel space. */
+	gnttab_set_unmap_op(&op,
+			    get_kernel_vaddr(private_data, slot_index),
+			    GNTMAP_host_map,
+			    private_data->grants[slot_index].u.valid
+			    .kernel_handle);
+	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, =
1);
+	BUG_ON(ret);
+	if (op.status !=3D GNTST_okay)
+		printk("Kernel unmap grant status =3D %d\n", op.status);
=20
-		/* Return slot to the not-yet-mapped state, so that it may =
be
-		 * mapped again, or removed by a subsequent ioctl.
-		 */
-		private_data->grants[slot_index].state =3D=20
-			GNTDEV_SLOT_NOT_YET_MAPPED;
+	/* Return slot to the not-yet-mapped state, so that it may be
+	 * mapped again, or removed by a subsequent ioctl.
+	 */
+	private_data->grants[slot_index].state =3D GNTDEV_SLOT_NOT_YET_MAPP=
ED;
=20
+	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
 		/* Invalidate the physical to machine mapping for this =
page. */
 		set_phys_to_machine(
 			page_to_pfn(private_data->foreign_pages[slot_index]=
),
 			INVALID_P2M_ENTRY);
-
-	} else {
-		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
 	}
=20
 	return copy;



--=__Part0729EE57.0__=
Content-Type: text/plain; name="xen-gntdev-indent.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-gntdev-indent.patch"

gntdev: adjust indentation (and fix bugs noticed by doing so)=0A=0ABy =
inverting two conditions, indentation can be decreased by one level=0Afor =
large code portions, thus improving legibility.=0A=0AIn gntdev_mmap(), =
this made obvious that failure of vm_insert_page()=0Awas silently ignored =
rather than being propagated to the caller.=0A=0AIn gntdev_clear_pte(), =
the final set_phys_to_machine() must not be=0Acalled for the auto-translate=
d case.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntdev/gntdev.c=0A@@ =
-607,85 +607,85 @@ static int gntdev_mmap (struct file *fli=0A 			=
GNTDEV_INVALID_HANDLE;=0A =0A 		/* Now perform the mapping to user =
space. */=0A-		if (!xen_feature(XENFEAT_auto_translated_physmap)) =
{=0A-=0A-			/* NOT USING SHADOW PAGE TABLES. */=0A-		=
	/* In this case, we map the grant(s) straight into user=0A-		=
	 * space.=0A-			 */=0A-=0A-			/* =
Get the machine address of the PTE for the user =0A-			 * =
 page.=0A-			 */=0A-			if ((ret =3D =
create_lookup_pte_addr(vma->vm_mm, =0A-						=
	  vma->vm_start =0A-							=
  + (i << PAGE_SHIFT), =0A-							=
  &ptep)))=0A-			{=0A-				printk(KERN=
_ERR "Error obtaining PTE pointer "=0A-				       =
"(%d).\n", ret);=0A-				goto undo_map_out;=0A-		=
	}=0A-			=0A-			/* Configure the =
map operation. */=0A-		=0A-			/* The reference =
is to be used by host CPUs. */=0A-			flags =3D =
GNTMAP_host_map;=0A-			=0A-			/* =
Specifies a user space mapping. */=0A-			flags |=3D =
GNTMAP_application_map;=0A-			=0A-			/* =
The map request contains the machine address of the=0A-			 * =
PTE to update.=0A-			 */=0A-			flags |=3D =
GNTMAP_contains_pte;=0A-			=0A-			if =
(!(vma->vm_flags & VM_WRITE))=0A-				flags |=3D =
GNTMAP_readonly;=0A-=0A-			gnttab_set_map_op(&op, =
ptep, flags, =0A-					  private_data->gra=
nts[slot_index+i]=0A-					  .u.valid.ref, =
=0A-					  private_data->grants[slot_index+i=
]=0A-					  .u.valid.domid);=0A-=0A-		=
	/* Carry out the mapping of the grant reference. */=0A-			=
ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,=0A-			=
				&op, 1);=0A-			BUG_ON(ret)=
;=0A-			if (op.status !=3D GNTST_okay) {=0A-			=
	printk(KERN_ERR "Error mapping the grant "=0A-				=
       "reference into user space (%d). domid "=0A-				=
       "=3D %d; ref =3D %d\n", op.status,=0A-				   =
    private_data->grants[slot_index+i].u=0A-				   =
    .valid.domid,=0A-				       private_data->grants=
[slot_index+i].u=0A-				       .valid.ref);=0A-		=
		/* This should never happen after we've mapped into=0A-		=
		* the kernel space. */=0A-				=
BUG_ON(op.status =3D=3D GNTST_eagain);=0A-				=
goto undo_map_out;=0A-			}=0A-			=0A-		=
	/* Record the grant handle, for use in the unmap =0A-			=
 * operation. =0A-			 */=0A-			private_dat=
a->grants[slot_index+i].u.=0A-				valid.user_handle =
=3D op.handle;=0A-=0A-			/* Update p2m structure with the =
new mapping. */=0A-			set_phys_to_machine(__pa(kernel_vad=
dr) >> PAGE_SHIFT,=0A-					    FOREIGN_FRAME(p=
rivate_data->=0A-							  =
grants[slot_index+i]=0A-							=
  .u.valid.dev_bus_addr=0A-							=
  >> PAGE_SHIFT));=0A-		} else {=0A+		if (xen_feature(XEN=
FEAT_auto_translated_physmap)) {=0A 			/* USING SHADOW =
PAGE TABLES. */=0A 			/* In this case, we simply insert =
the page into the VM=0A 			 * area. */=0A 			=
ret =3D vm_insert_page(vma, user_vaddr, page);=0A+			if =
(!ret)=0A+				continue;=0A+			=
exit_ret =3D ret;=0A+			goto undo_map_out;=0A+		=
}=0A+=0A+		/* NOT USING SHADOW PAGE TABLES. */=0A+		/* =
In this case, we map the grant(s) straight into user=0A+		 * =
space.=0A+		 */=0A+=0A+		/* Get the machine address =
of the PTE for the user page. */=0A+		if ((ret =3D create_lookup_=
pte_addr(vma->vm_mm,=0A+						  =
vma->vm_start=0A+						  + (i << =
PAGE_SHIFT),=0A+						  =
&ptep)))=0A+		{=0A+			printk(KERN_ERR "Error =
obtaining PTE pointer (%d)\n",=0A+			       ret);=0A+	=
		goto undo_map_out;=0A+		}=0A+=0A+		/* =
Configure the map operation. */=0A+=0A+		/* The reference is to be =
used by host CPUs. */=0A+		flags =3D GNTMAP_host_map;=0A+=0A+	=
	/* Specifies a user space mapping. */=0A+		flags |=3D =
GNTMAP_application_map;=0A+=0A+		/* The map request contains the =
machine address of the=0A+		 * PTE to update.=0A+		 =
*/=0A+		flags |=3D GNTMAP_contains_pte;=0A+=0A+		if =
(!(vma->vm_flags & VM_WRITE))=0A+			flags |=3D =
GNTMAP_readonly;=0A+=0A+		gnttab_set_map_op(&op, ptep, =
flags,=0A+				  private_data->grants[slot_index+i=
]=0A+				  .u.valid.ref,=0A+				=
  private_data->grants[slot_index+i]=0A+				  =
.u.valid.domid);=0A+=0A+		/* Carry out the mapping of the =
grant reference. */=0A+		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_=
map_grant_ref,=0A+						&op, =
1);=0A+		BUG_ON(ret);=0A+		if (op.status !=3D =
GNTST_okay) {=0A+			printk(KERN_ERR "Error mapping the =
grant reference "=0A+			       "into user space (%d). =
domid =3D %d; ref =3D %d\n",=0A+			       op.status,=
=0A+			       private_data->grants[slot_index+i].u=0A+		=
	       .valid.domid,=0A+			       private_data=
->grants[slot_index+i].u=0A+			       .valid.ref);=0A+		=
	/* This should never happen after we've mapped into=0A+			=
 * the kernel space. */=0A+			BUG_ON(op.status =3D=3D =
GNTST_eagain);=0A+			goto undo_map_out;=0A 		=
}=0A =0A+		/* Record the grant handle, for use in the =
unmap=0A+		 * operation.=0A+		 */=0A+		=
private_data->grants[slot_index+i].u.valid.user_handle=0A+			=
=3D op.handle;=0A+=0A+		/* Update p2m structure with the new =
mapping. */=0A+		set_phys_to_machine(__pa(kernel_vaddr) >> =
PAGE_SHIFT,=0A+				    FOREIGN_FRAME(private_data->=0A=
+						  grants[slot_index+i]=0A+	=
					  .u.valid.dev_bus_addr=0A+		=
				  >> PAGE_SHIFT));=0A 	}=0A 	exit_ret =
=3D 0;=0A =0A@@ -745,55 +745,52 @@ static pte_t gntdev_clear_pte(struct =
vm_=0A 	/* Only unmap grants if the slot has been mapped. This could be =
being=0A 	 * called from a failing mmap().=0A 	 */=0A-	if =
(private_data->grants[slot_index].state =3D=3D GNTDEV_SLOT_MAPPED) =
{=0A-=0A-		/* First, we clear the user space mapping, if it =
has been made.=0A-		 */=0A-		if (private_data->grants[sl=
ot_index].u.valid.user_handle !=3D=0A-		    GNTDEV_INVALID_HANDLE =
&& =0A-		    !xen_feature(XENFEAT_auto_translated_physmap)) {=0A-	=
		/* NOT USING SHADOW PAGE TABLES. */=0A-			=
gnttab_set_unmap_op(&op, ptep_to_machine(ptep), =0A-				=
	    GNTMAP_contains_pte,=0A-					   =
 private_data->grants[slot_index]=0A-					   =
 .u.valid.user_handle);=0A-			ret =3D HYPERVISOR_grant_ta=
ble_op(=0A-				GNTTABOP_unmap_grant_ref, &op, =
1);=0A-			BUG_ON(ret);=0A-			if =
(op.status !=3D GNTST_okay)=0A-				printk("User unmap =
grant status =3D %d\n", =0A-				       op.status);=
=0A-		} else {=0A-			/* USING SHADOW PAGE =
TABLES. */=0A-			pte_clear_full(vma->vm_mm, addr, ptep, =
is_fullmm);=0A-		}=0A+	if (private_data->grants[slot_index].state =
!=3D GNTDEV_SLOT_MAPPED) {=0A+		pte_clear_full(vma->vm_mm, addr, =
ptep, is_fullmm);=0A+		return copy;=0A+	}=0A =0A-		=
/* Finally, we unmap the grant from kernel space. */=0A-		=
gnttab_set_unmap_op(&op, =0A-				    get_kernel_vadd=
r(private_data, slot_index),=0A-				    =
GNTMAP_host_map, =0A+	/* First, we clear the user space mapping, if it =
has been made.=0A+	 */=0A+	if (private_data->grants[slot_index].u.vali=
d.user_handle !=3D=0A+	    GNTDEV_INVALID_HANDLE &&=0A+	    =
!xen_feature(XENFEAT_auto_translated_physmap)) {=0A+		/* NOT =
USING SHADOW PAGE TABLES. */=0A+		gnttab_set_unmap_op(&op, =
ptep_to_machine(ptep),=0A+				    GNTMAP_contains=
_pte,=0A 				    private_data->grants[slot_index=
].u.valid=0A-				    .kernel_handle);=0A-		=
ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, =0A+		=
		    .user_handle);=0A+		ret =3D HYPERVISOR_grant_ta=
ble_op(GNTTABOP_unmap_grant_ref,=0A 						=
&op, 1);=0A 		BUG_ON(ret);=0A 		if (op.status !=3D =
GNTST_okay)=0A-			printk("Kernel unmap grant status =3D =
%d\n", op.status);=0A+			printk("User unmap grant status =
=3D %d\n", op.status);=0A+	} else {=0A+		/* USING SHADOW =
PAGE TABLES. */=0A+		pte_clear_full(vma->vm_mm, addr, ptep, =
is_fullmm);=0A+	}=0A =0A+	/* Finally, we unmap the grant from kernel =
space. */=0A+	gnttab_set_unmap_op(&op,=0A+			    =
get_kernel_vaddr(private_data, slot_index),=0A+			    =
GNTMAP_host_map,=0A+			    private_data->grants[slot_index=
].u.valid=0A+			    .kernel_handle);=0A+	ret =3D =
HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, 1);=0A+	=
BUG_ON(ret);=0A+	if (op.status !=3D GNTST_okay)=0A+		=
printk("Kernel unmap grant status =3D %d\n", op.status);=0A =0A-		=
/* Return slot to the not-yet-mapped state, so that it may be=0A-		=
 * mapped again, or removed by a subsequent ioctl.=0A-		 */=0A-		=
private_data->grants[slot_index].state =3D =0A-			GNTDEV_SLOT=
_NOT_YET_MAPPED;=0A+	/* Return slot to the not-yet-mapped state, so =
that it may be=0A+	 * mapped again, or removed by a subsequent =
ioctl.=0A+	 */=0A+	private_data->grants[slot_index].state =3D =
GNTDEV_SLOT_NOT_YET_MAPPED;=0A =0A+	if (!xen_feature(XENFEAT_auto_trans=
lated_physmap)) {=0A 		/* Invalidate the physical to machine =
mapping for this page. */=0A 		set_phys_to_machine(=0A 		=
	page_to_pfn(private_data->foreign_pages[slot_index]),=0A 		=
	INVALID_P2M_ENTRY);=0A-=0A-	} else {=0A-		pte_clear_f=
ull(vma->vm_mm, addr, ptep, is_fullmm);=0A 	}=0A =0A 	return =
copy;=0A
--=__Part0729EE57.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part0729EE57.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:18:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV8i-00036A-E5; Thu, 10 May 2012 15:18:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV8g-00035k-M1
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:18:47 +0000
Received: from [85.158.139.83:22286] by server-9.bemta-5.messagelabs.com id
	C1/29-09826-55CDBAF4; Thu, 10 May 2012 15:18:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336663123!27622200!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21047 invoked from network); 10 May 2012 15:18:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:18:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:18:43 +0100
Message-Id: <4FABF88A0200007800082C93@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:19:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2A04C37A.0__="
Subject: [Xen-devel] [PATCH 4/4] linux-2.6.18/gntdev: misc cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2A04C37A.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- eliminate struct gntdev_grant_info's dev_bus_addr member (which was
  used to communicate a value inside the main loop of gntdev_mmap())
- correct types
- use a local variable 'grants' in gntdev_mmap() to improve readability
- avoid re-calculating already calculated values
- properly check for out of range values
- combine both GNTTABOP_unmap_grant_ref calls in gntdev_clear_pte()
  into a single hypercall
- adjust error diagnostic in unmap ioctl to be more useful and better
  legible

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -80,7 +80,6 @@ typedef struct gntdev_grant_info {
 			grant_ref_t ref;
 			grant_handle_t kernel_handle;
 			grant_handle_t user_handle;
-			uint64_t dev_bus_addr;
 		} valid;
 	} u;
 } gntdev_grant_info_t;
@@ -473,14 +472,14 @@ static int gntdev_mmap (struct file *fli
 {
 	struct gnttab_map_grant_ref op;
 	unsigned long slot_index =3D vma->vm_pgoff;
-	unsigned long kernel_vaddr, user_vaddr;
-	uint32_t size =3D (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+	unsigned long kernel_vaddr, user_vaddr, mfn;
+	unsigned long size =3D (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;=

 	uint64_t ptep;
 	int ret, exit_ret;
-	int flags;
-	int i;
+	unsigned int i, flags;
 	struct page *page;
 	gntdev_file_private_data_t *private_data =3D flip->private_data;
+	gntdev_grant_info_t *grants;
 	struct vm_foreign_map *foreign_map;
=20
 	if (unlikely(!private_data)) {
@@ -490,17 +489,19 @@ static int gntdev_mmap (struct file *fli
=20
 	/* Test to make sure that the grants array has been initialised. =
*/
 	down_read(&private_data->grants_sem);
-	if (unlikely(!private_data->grants)) {
-		up_read(&private_data->grants_sem);
+	grants =3D private_data->grants;
+	up_read(&private_data->grants_sem);
+
+	if (unlikely(!grants)) {
 		printk(KERN_ERR "Attempted to mmap before ioctl.\n");
 		return -EINVAL;
 	}
-	up_read(&private_data->grants_sem);
+	grants +=3D slot_index;
=20
-	if (unlikely((size <=3D 0) ||=20
-		     (size + slot_index) > private_data->grants_size)) {
+	if (unlikely(size + slot_index <=3D slot_index ||
+		     size + slot_index > private_data->grants_size)) {
 		printk(KERN_ERR "Invalid number of pages or offset"
-		       "(num_pages =3D %d, first_slot =3D %ld).\n",
+		       "(num_pages =3D %lu, first_slot =3D %lu)\n",
 		       size, slot_index);
 		return -ENXIO;
 	}
@@ -521,11 +522,10 @@ static int gntdev_mmap (struct file *fli
 	/* Slots must be in the NOT_YET_MAPPED state. */
 	down_write(&private_data->grants_sem);
 	for (i =3D 0; i < size; ++i) {
-		if (private_data->grants[slot_index + i].state !=3D=20
-		    GNTDEV_SLOT_NOT_YET_MAPPED) {
-			printk(KERN_ERR "Slot (index =3D %ld) is in the =
wrong "
+		if (grants[i].state !=3D GNTDEV_SLOT_NOT_YET_MAPPED) {
+			printk(KERN_ERR "Slot (index =3D %lu) is in the =
wrong "
 			       "state (%d).\n", slot_index + i,=20
-			       private_data->grants[slot_index + i].state);=

+			       grants[i].state);
 			up_write(&private_data->grants_sem);
 			kfree(foreign_map);
 			return -EINVAL;
@@ -565,14 +565,11 @@ static int gntdev_mmap (struct file *fli
 			flags |=3D GNTMAP_readonly;
=20
 		kernel_vaddr =3D get_kernel_vaddr(private_data, slot_index =
+ i);
-		user_vaddr =3D get_user_vaddr(vma, i);
 		page =3D private_data->foreign_pages[slot_index + i];
=20
 		gnttab_set_map_op(&op, kernel_vaddr, flags,  =20
-				  private_data->grants[slot_index+i]
-				  .u.valid.ref,=20
-				  private_data->grants[slot_index+i]
-				  .u.valid.domid);
+				  grants[i].u.valid.ref,
+				  grants[i].u.valid.domid);
=20
 		/* Carry out the mapping of the grant reference. */
 		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,=
=20
@@ -583,10 +580,8 @@ static int gntdev_mmap (struct file *fli
 				printk(KERN_ERR "Error mapping the grant =
reference "
 				       "into the kernel (%d). domid =3D =
%d; ref =3D %d\n",
 				       op.status,
-				       private_data->grants[slot_index+i]
-				       .u.valid.domid,
-				       private_data->grants[slot_index+i]
-				       .u.valid.ref);
+				       grants[i].u.valid.domid,
+				       grants[i].u.valid.ref);
 			else
 				/* Propagate eagain instead of trying to =
fix it up */
 				exit_ret =3D -EAGAIN;
@@ -597,16 +592,14 @@ static int gntdev_mmap (struct file *fli
 		SetPageReserved(page);
=20
 		/* Record the grant handle, for use in the unmap operation.=
 */
-		private_data->grants[slot_index+i].u.valid.kernel_handle =
=3D=20
-			op.handle;
-		private_data->grants[slot_index+i].u.valid.dev_bus_addr =
=3D=20
-			op.dev_bus_addr;
+		grants[i].u.valid.kernel_handle =3D op.handle;
 	=09
-		private_data->grants[slot_index+i].state =3D GNTDEV_SLOT_MA=
PPED;
-		private_data->grants[slot_index+i].u.valid.user_handle =3D
-			GNTDEV_INVALID_HANDLE;
+		grants[i].state =3D GNTDEV_SLOT_MAPPED;
+		grants[i].u.valid.user_handle =3D GNTDEV_INVALID_HANDLE;
=20
 		/* Now perform the mapping to user space. */
+		user_vaddr =3D get_user_vaddr(vma, i);
+
 		if (xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* USING SHADOW PAGE TABLES. */
 			/* In this case, we simply insert the page into =
the VM
@@ -622,11 +615,11 @@ static int gntdev_mmap (struct file *fli
 		/* In this case, we map the grant(s) straight into user
 		 * space.
 		 */
+		mfn =3D op.dev_bus_addr >> PAGE_SHIFT;
=20
 		/* Get the machine address of the PTE for the user page. =
*/
 		if ((ret =3D create_lookup_pte_addr(vma->vm_mm,
-						  vma->vm_start
-						  + (i << PAGE_SHIFT),
+						  user_vaddr,
 						  &ptep)))
 		{
 			printk(KERN_ERR "Error obtaining PTE pointer =
(%d)\n",
@@ -636,9 +629,6 @@ static int gntdev_mmap (struct file *fli
=20
 		/* Configure the map operation. */
=20
-		/* The reference is to be used by host CPUs. */
-		flags =3D GNTMAP_host_map;
-
 		/* Specifies a user space mapping. */
 		flags |=3D GNTMAP_application_map;
=20
@@ -647,14 +637,9 @@ static int gntdev_mmap (struct file *fli
 		 */
 		flags |=3D GNTMAP_contains_pte;
=20
-		if (!(vma->vm_flags & VM_WRITE))
-			flags |=3D GNTMAP_readonly;
-
 		gnttab_set_map_op(&op, ptep, flags,
-				  private_data->grants[slot_index+i]
-				  .u.valid.ref,
-				  private_data->grants[slot_index+i]
-				  .u.valid.domid);
+				  grants[i].u.valid.ref,
+				  grants[i].u.valid.domid);
=20
 		/* Carry out the mapping of the grant reference. */
 		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
@@ -664,10 +649,8 @@ static int gntdev_mmap (struct file *fli
 			printk(KERN_ERR "Error mapping the grant reference =
"
 			       "into user space (%d). domid =3D %d; ref =
=3D %d\n",
 			       op.status,
-			       private_data->grants[slot_index+i].u
-			       .valid.domid,
-			       private_data->grants[slot_index+i].u
-			       .valid.ref);
+			       grants[i].u.valid.domid,
+			       grants[i].u.valid.ref);
 			/* This should never happen after we've mapped =
into
 			 * the kernel space. */
 			BUG_ON(op.status =3D=3D GNTST_eagain);
@@ -677,15 +660,11 @@ static int gntdev_mmap (struct file *fli
 		/* Record the grant handle, for use in the unmap
 		 * operation.
 		 */
-		private_data->grants[slot_index+i].u.valid.user_handle
-			=3D op.handle;
+		grants[i].u.valid.user_handle =3D op.handle;
=20
 		/* Update p2m structure with the new mapping. */
 		set_phys_to_machine(__pa(kernel_vaddr) >> PAGE_SHIFT,
-				    FOREIGN_FRAME(private_data->
-						  grants[slot_index+i]
-						  .u.valid.dev_bus_addr
-						  >> PAGE_SHIFT));
+				    FOREIGN_FRAME(mfn));
 	}
 	exit_ret =3D 0;
=20
@@ -715,9 +694,11 @@ undo_map_out:
 static pte_t gntdev_clear_pte(struct vm_area_struct *vma, unsigned long =
addr,
 			      pte_t *ptep, int is_fullmm)
 {
-	int slot_index, ret;
+	int ret;
+	unsigned int nr;
+	unsigned long slot_index;
 	pte_t copy;
-	struct gnttab_unmap_grant_ref op;
+	struct gnttab_unmap_grant_ref op[2];
 	gntdev_file_private_data_t *private_data;
=20
 	/* THIS IS VERY UNPLEASANT: do_mmap_pgoff() will set the vma->vm_fi=
le
@@ -750,36 +731,35 @@ static pte_t gntdev_clear_pte(struct vm_
 		return copy;
 	}
=20
-	/* First, we clear the user space mapping, if it has been made.
-	 */
+	/* Clear the user space mapping, if it has been made. */
 	if (private_data->grants[slot_index].u.valid.user_handle !=3D
-	    GNTDEV_INVALID_HANDLE &&
-	    !xen_feature(XENFEAT_auto_translated_physmap)) {
-		/* NOT USING SHADOW PAGE TABLES. */
-		gnttab_set_unmap_op(&op, ptep_to_machine(ptep),
+	    GNTDEV_INVALID_HANDLE) {
+		/* NOT USING SHADOW PAGE TABLES (and user handle valid). =
*/
+		gnttab_set_unmap_op(&op[0], ptep_to_machine(ptep),
 				    GNTMAP_contains_pte,
 				    private_data->grants[slot_index].u.vali=
d
 				    .user_handle);
-		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=

-						&op, 1);
-		BUG_ON(ret);
-		if (op.status !=3D GNTST_okay)
-			printk("User unmap grant status =3D %d\n", =
op.status);
+		nr =3D 1;
 	} else {
-		/* USING SHADOW PAGE TABLES. */
+		/* USING SHADOW PAGE TABLES (or user handle invalid). */
 		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
+		nr =3D 0;
 	}
=20
-	/* Finally, we unmap the grant from kernel space. */
-	gnttab_set_unmap_op(&op,
+	/* We always unmap the grant from kernel space. */
+	gnttab_set_unmap_op(&op[nr],
 			    get_kernel_vaddr(private_data, slot_index),
 			    GNTMAP_host_map,
 			    private_data->grants[slot_index].u.valid
 			    .kernel_handle);
-	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, =
1);
+
+	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, op, nr =
+ 1);
 	BUG_ON(ret);
-	if (op.status !=3D GNTST_okay)
-		printk("Kernel unmap grant status =3D %d\n", op.status);
+
+	if (nr && op[0].status !=3D GNTST_okay)
+		printk("User unmap grant status =3D %d\n", op[0].status);
+	if (op[nr].status !=3D GNTST_okay)
+		printk("Kernel unmap grant status =3D %d\n", op[nr].status)=
;
=20
 	/* Return slot to the not-yet-mapped state, so that it may be
 	 * mapped again, or removed by a subsequent ioctl.
@@ -915,7 +895,8 @@ private_data_initialised:
 			return -EFAULT;
=20
 		start_index =3D op.index >> PAGE_SHIFT;
-		if (start_index + op.count > private_data->grants_size)
+		if (start_index + op.count < start_index ||
+		    start_index + op.count > private_data->grants_size)
 			return -EINVAL;
=20
 		down_write(&private_data->grants_sem);
@@ -924,28 +905,29 @@ private_data_initialised:
 		 * state.
 		 */
 		for (i =3D 0; i < op.count; ++i) {
-			if (unlikely
-			    (private_data->grants[start_index + i].state
-			     !=3D GNTDEV_SLOT_NOT_YET_MAPPED)) {
-				if (private_data->grants[start_index + =
i].state
-				    =3D=3D GNTDEV_SLOT_INVALID) {
-					printk(KERN_ERR
-					       "Tried to remove an invalid =
"
-					       "grant at offset 0x%x.",
-					       (start_index + i)=20
-					       << PAGE_SHIFT);
-					rc =3D -EINVAL;
-				} else {
-					printk(KERN_ERR
-					       "Tried to remove a grant =
which "
-					       "is currently mmap()-ed at =
"
-					       "offset 0x%x.",
-					       (start_index + i)=20
-					       << PAGE_SHIFT);
-					rc =3D -EBUSY;
-				}
-				goto unmap_out;
+			const char *what;
+
+			switch (private_data->grants[start_index + =
i].state) {
+			case GNTDEV_SLOT_NOT_YET_MAPPED:
+				continue;
+			case GNTDEV_SLOT_INVALID:
+				what =3D "invalid";
+				rc =3D -EINVAL;
+				break;
+			case GNTDEV_SLOT_MAPPED:
+				what =3D "currently mmap()-ed";
+				rc =3D -EBUSY;
+				break;
+			default:
+				what =3D "in an invalid state";
+				rc =3D -ENXIO;
+				break;
 			}
+			printk(KERN_ERR "%s[%d] tried to remove a grant"
+			       " which is %s at %#x+%#x\n",
+			       current->comm, current->pid,
+			       what, start_index, i);
+			goto unmap_out;
 		}
=20
 		down_write(&private_data->free_list_sem);



--=__Part2A04C37A.0__=
Content-Type: text/plain; name="xen-gntdev-cleanup.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-gntdev-cleanup.patch"

gntdev: misc cleanup=0A=0A- eliminate struct gntdev_grant_info's dev_bus_ad=
dr member (which was=0A  used to communicate a value inside the main loop =
of gntdev_mmap())=0A- correct types=0A- use a local variable 'grants' in =
gntdev_mmap() to improve readability=0A- avoid re-calculating already =
calculated values=0A- properly check for out of range values=0A- combine =
both GNTTABOP_unmap_grant_ref calls in gntdev_clear_pte()=0A  into a =
single hypercall=0A- adjust error diagnostic in unmap ioctl to be more =
useful and better=0A  legible=0A=0ASigned-off-by: Jan Beulich <jbeulich@sus=
e.com>=0A=0A--- a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntdev/gn=
tdev.c=0A@@ -80,7 +80,6 @@ typedef struct gntdev_grant_info {=0A 		=
	grant_ref_t ref;=0A 			grant_handle_t kernel_handl=
e;=0A 			grant_handle_t user_handle;=0A-			=
uint64_t dev_bus_addr;=0A 		} valid;=0A 	} u;=0A } =
gntdev_grant_info_t;=0A@@ -473,14 +472,14 @@ static int gntdev_mmap =
(struct file *fli=0A {=0A 	struct gnttab_map_grant_ref op;=0A 	=
unsigned long slot_index =3D vma->vm_pgoff;=0A-	unsigned long kernel_vaddr,=
 user_vaddr;=0A-	uint32_t size =3D (vma->vm_end - vma->vm_start) >> =
PAGE_SHIFT;=0A+	unsigned long kernel_vaddr, user_vaddr, mfn;=0A+	=
unsigned long size =3D (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;=0A 	=
uint64_t ptep;=0A 	int ret, exit_ret;=0A-	int flags;=0A-	int i;=0A+	=
unsigned int i, flags;=0A 	struct page *page;=0A 	gntdev_file_private=
_data_t *private_data =3D flip->private_data;=0A+	gntdev_grant_info_t=
 *grants;=0A 	struct vm_foreign_map *foreign_map;=0A =0A 	if =
(unlikely(!private_data)) {=0A@@ -490,17 +489,19 @@ static int gntdev_mmap =
(struct file *fli=0A =0A 	/* Test to make sure that the grants array =
has been initialised. */=0A 	down_read(&private_data->grants_sem);=0A-	=
if (unlikely(!private_data->grants)) {=0A-		up_read(&private_da=
ta->grants_sem);=0A+	grants =3D private_data->grants;=0A+	up_read(&pr=
ivate_data->grants_sem);=0A+=0A+	if (unlikely(!grants)) {=0A 		=
printk(KERN_ERR "Attempted to mmap before ioctl.\n");=0A 		=
return -EINVAL;=0A 	}=0A-	up_read(&private_data->grants_sem);=0A+	=
grants +=3D slot_index;=0A =0A-	if (unlikely((size <=3D 0) || =0A-		=
     (size + slot_index) > private_data->grants_size)) {=0A+	if =
(unlikely(size + slot_index <=3D slot_index ||=0A+		     size =
+ slot_index > private_data->grants_size)) {=0A 		printk(KERN=
_ERR "Invalid number of pages or offset"=0A-		       "(num_pages =
=3D %d, first_slot =3D %ld).\n",=0A+		       "(num_pages =3D =
%lu, first_slot =3D %lu)\n",=0A 		       size, slot_index);=
=0A 		return -ENXIO;=0A 	}=0A@@ -521,11 +522,10 @@ static =
int gntdev_mmap (struct file *fli=0A 	/* Slots must be in the NOT_YET_MAP=
PED state. */=0A 	down_write(&private_data->grants_sem);=0A 	=
for (i =3D 0; i < size; ++i) {=0A-		if (private_data->grants[sl=
ot_index + i].state !=3D =0A-		    GNTDEV_SLOT_NOT_YET_MAPPED) =
{=0A-			printk(KERN_ERR "Slot (index =3D %ld) is in the =
wrong "=0A+		if (grants[i].state !=3D GNTDEV_SLOT_NOT_YET_MAPPED=
) {=0A+			printk(KERN_ERR "Slot (index =3D %lu) is in the =
wrong "=0A 			       "state (%d).\n", slot_index + i, =
=0A-			       private_data->grants[slot_index + i].state);=
=0A+			       grants[i].state);=0A 			=
up_write(&private_data->grants_sem);=0A 			kfree(forei=
gn_map);=0A 			return -EINVAL;=0A@@ -565,14 +565,11 @@ =
static int gntdev_mmap (struct file *fli=0A 			flags |=3D =
GNTMAP_readonly;=0A =0A 		kernel_vaddr =3D get_kernel_vaddr(p=
rivate_data, slot_index + i);=0A-		user_vaddr =3D get_user_vad=
dr(vma, i);=0A 		page =3D private_data->foreign_pages[slot_index + =
i];=0A =0A 		gnttab_set_map_op(&op, kernel_vaddr, flags,   =0A-	=
			  private_data->grants[slot_index+i]=0A-		=
		  .u.valid.ref, =0A-				  =
private_data->grants[slot_index+i]=0A-				  =
.u.valid.domid);=0A+				  grants[i].u.valid.ref,=0A=
+				  grants[i].u.valid.domid);=0A =0A 		=
/* Carry out the mapping of the grant reference. */=0A 		ret =3D =
HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, =0A@@ -583,10 +580,8 @@ =
static int gntdev_mmap (struct file *fli=0A 				=
printk(KERN_ERR "Error mapping the grant reference "=0A 			=
	       "into the kernel (%d). domid =3D %d; ref =3D %d\n",=0A 		=
		       op.status,=0A-				       =
private_data->grants[slot_index+i]=0A-				       =
.u.valid.domid,=0A-				       private_data->grants=
[slot_index+i]=0A-				       .u.valid.ref);=0A+	=
			       grants[i].u.valid.domid,=0A+			=
	       grants[i].u.valid.ref);=0A 			else=0A 	=
			/* Propagate eagain instead of trying to fix it up =
*/=0A 				exit_ret =3D -EAGAIN;=0A@@ -597,16 +592,14 =
@@ static int gntdev_mmap (struct file *fli=0A 		SetPageReserved(pag=
e);=0A =0A 		/* Record the grant handle, for use in the unmap =
operation. */=0A-		private_data->grants[slot_index+i].u.valid.=
kernel_handle =3D =0A-			op.handle;=0A-		private_dat=
a->grants[slot_index+i].u.valid.dev_bus_addr =3D =0A-			=
op.dev_bus_addr;=0A+		grants[i].u.valid.kernel_handle =3D =
op.handle;=0A 		=0A-		private_data->grants[slot_index+i].=
state =3D GNTDEV_SLOT_MAPPED;=0A-		private_data->grants[slot_i=
ndex+i].u.valid.user_handle =3D=0A-			GNTDEV_INVALID_HAND=
LE;=0A+		grants[i].state =3D GNTDEV_SLOT_MAPPED;=0A+		=
grants[i].u.valid.user_handle =3D GNTDEV_INVALID_HANDLE;=0A =0A 		=
/* Now perform the mapping to user space. */=0A+		user_vaddr =
=3D get_user_vaddr(vma, i);=0A+=0A 		if (xen_feature(XENFEAT_aut=
o_translated_physmap)) {=0A 			/* USING SHADOW PAGE =
TABLES. */=0A 			/* In this case, we simply insert the page =
into the VM=0A@@ -622,11 +615,11 @@ static int gntdev_mmap (struct file =
*fli=0A 		/* In this case, we map the grant(s) straight into =
user=0A 		 * space.=0A 		 */=0A+		mfn =3D =
op.dev_bus_addr >> PAGE_SHIFT;=0A =0A 		/* Get the machine address =
of the PTE for the user page. */=0A 		if ((ret =3D create_lookup_=
pte_addr(vma->vm_mm,=0A-						  =
vma->vm_start=0A-						  + (i << =
PAGE_SHIFT),=0A+						  =
user_vaddr,=0A 						  &ptep)))=0A 		=
{=0A 			printk(KERN_ERR "Error obtaining PTE pointer =
(%d)\n",=0A@@ -636,9 +629,6 @@ static int gntdev_mmap (struct file *fli=0A =
=0A 		/* Configure the map operation. */=0A =0A-		/* =
The reference is to be used by host CPUs. */=0A-		flags =3D =
GNTMAP_host_map;=0A-=0A 		/* Specifies a user space mapping. =
*/=0A 		flags |=3D GNTMAP_application_map;=0A =0A@@ -647,14 +637,9 =
@@ static int gntdev_mmap (struct file *fli=0A 		 */=0A 		=
flags |=3D GNTMAP_contains_pte;=0A =0A-		if (!(vma->vm_flags & =
VM_WRITE))=0A-			flags |=3D GNTMAP_readonly;=0A-=0A 		=
gnttab_set_map_op(&op, ptep, flags,=0A-				  =
private_data->grants[slot_index+i]=0A-				  =
.u.valid.ref,=0A-				  private_data->grants[slot=
_index+i]=0A-				  .u.valid.domid);=0A+			=
	  grants[i].u.valid.ref,=0A+				  =
grants[i].u.valid.domid);=0A =0A 		/* Carry out the mapping =
of the grant reference. */=0A 		ret =3D HYPERVISOR_grant_table_op(G=
NTTABOP_map_grant_ref,=0A@@ -664,10 +649,8 @@ static int gntdev_mmap =
(struct file *fli=0A 			printk(KERN_ERR "Error mapping the =
grant reference "=0A 			       "into user space (%d). =
domid =3D %d; ref =3D %d\n",=0A 			       op.status,=
=0A-			       private_data->grants[slot_index+i].u=0A-		=
	       .valid.domid,=0A-			       private_data=
->grants[slot_index+i].u=0A-			       .valid.ref);=0A+		=
	       grants[i].u.valid.domid,=0A+			       =
grants[i].u.valid.ref);=0A 			/* This should never =
happen after we've mapped into=0A 			 * the kernel =
space. */=0A 			BUG_ON(op.status =3D=3D GNTST_eagain);=0A@@=
 -677,15 +660,11 @@ static int gntdev_mmap (struct file *fli=0A 		=
/* Record the grant handle, for use in the unmap=0A 		 * =
operation.=0A 		 */=0A-		private_data->grants[slot_index+i].=
u.valid.user_handle=0A-			=3D op.handle;=0A+		=
grants[i].u.valid.user_handle =3D op.handle;=0A =0A 		/* Update =
p2m structure with the new mapping. */=0A 		set_phys_to_machine=
(__pa(kernel_vaddr) >> PAGE_SHIFT,=0A-				    =
FOREIGN_FRAME(private_data->=0A-						=
  grants[slot_index+i]=0A-						  =
.u.valid.dev_bus_addr=0A-						  =
>> PAGE_SHIFT));=0A+				    FOREIGN_FRAME(mfn));=0A=
 	}=0A 	exit_ret =3D 0;=0A =0A@@ -715,9 +694,11 @@ undo_map_out:=0A=
 static pte_t gntdev_clear_pte(struct vm_area_struct *vma, unsigned long =
addr,=0A 			      pte_t *ptep, int is_fullmm)=0A {=0A-	=
int slot_index, ret;=0A+	int ret;=0A+	unsigned int nr;=0A+	=
unsigned long slot_index;=0A 	pte_t copy;=0A-	struct gnttab_unmap_grant_r=
ef op;=0A+	struct gnttab_unmap_grant_ref op[2];=0A 	gntdev_file=
_private_data_t *private_data;=0A =0A 	/* THIS IS VERY UNPLEASANT: =
do_mmap_pgoff() will set the vma->vm_file=0A@@ -750,36 +731,35 @@ static =
pte_t gntdev_clear_pte(struct vm_=0A 		return copy;=0A 	=
}=0A =0A-	/* First, we clear the user space mapping, if it has been =
made.=0A-	 */=0A+	/* Clear the user space mapping, if it has been =
made. */=0A 	if (private_data->grants[slot_index].u.valid.user_handle =
!=3D=0A-	    GNTDEV_INVALID_HANDLE &&=0A-	    !xen_feature(XE=
NFEAT_auto_translated_physmap)) {=0A-		/* NOT USING SHADOW PAGE =
TABLES. */=0A-		gnttab_set_unmap_op(&op, ptep_to_machine(ptep),=0A+=
	    GNTDEV_INVALID_HANDLE) {=0A+		/* NOT USING =
SHADOW PAGE TABLES (and user handle valid). */=0A+		gnttab_set_=
unmap_op(&op[0], ptep_to_machine(ptep),=0A 				   =
 GNTMAP_contains_pte,=0A 				    private_data->g=
rants[slot_index].u.valid=0A 				    .user_handle);=
=0A-		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=
=0A-						&op, 1);=0A-		=
BUG_ON(ret);=0A-		if (op.status !=3D GNTST_okay)=0A-		=
	printk("User unmap grant status =3D %d\n", op.status);=0A+		=
nr =3D 1;=0A 	} else {=0A-		/* USING SHADOW PAGE TABLES. =
*/=0A+		/* USING SHADOW PAGE TABLES (or user handle invalid). =
*/=0A 		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);=0A+		=
nr =3D 0;=0A 	}=0A =0A-	/* Finally, we unmap the grant from kernel =
space. */=0A-	gnttab_set_unmap_op(&op,=0A+	/* We always unmap the =
grant from kernel space. */=0A+	gnttab_set_unmap_op(&op[nr],=0A 		=
	    get_kernel_vaddr(private_data, slot_index),=0A 			=
    GNTMAP_host_map,=0A 			    private_data->grants[sl=
ot_index].u.valid=0A 			    .kernel_handle);=0A-	=
ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, 1);=0A+=0A=
+	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, op, nr =
+ 1);=0A 	BUG_ON(ret);=0A-	if (op.status !=3D GNTST_okay)=0A-	=
	printk("Kernel unmap grant status =3D %d\n", op.status);=0A+=0A+	=
if (nr && op[0].status !=3D GNTST_okay)=0A+		printk("User unmap =
grant status =3D %d\n", op[0].status);=0A+	if (op[nr].status !=3D =
GNTST_okay)=0A+		printk("Kernel unmap grant status =3D %d\n", =
op[nr].status);=0A =0A 	/* Return slot to the not-yet-mapped state, so =
that it may be=0A 	 * mapped again, or removed by a subsequent =
ioctl.=0A@@ -915,7 +895,8 @@ private_data_initialised:=0A 			=
return -EFAULT;=0A =0A 		start_index =3D op.index >> PAGE_SHIFT;=0A-=
		if (start_index + op.count > private_data->grants_size)=0A+=
		if (start_index + op.count < start_index ||=0A+		   =
 start_index + op.count > private_data->grants_size)=0A 			=
return -EINVAL;=0A =0A 		down_write(&private_data->grants_sem);=0A@@=
 -924,28 +905,29 @@ private_data_initialised:=0A 		 * =
state.=0A 		 */=0A 		for (i =3D 0; i < op.count; ++i) =
{=0A-			if (unlikely=0A-			    =
(private_data->grants[start_index + i].state=0A-			   =
  !=3D GNTDEV_SLOT_NOT_YET_MAPPED)) {=0A-				if =
(private_data->grants[start_index + i].state=0A-				=
    =3D=3D GNTDEV_SLOT_INVALID) {=0A-					=
printk(KERN_ERR=0A-					       "Tried to =
remove an invalid "=0A-					       "grant at =
offset 0x%x.",=0A-					       (start_index=
 + i) =0A-					       << PAGE_SHIFT);=0A-	=
				rc =3D -EINVAL;=0A-				=
} else {=0A-					printk(KERN_ERR=0A-		=
			       "Tried to remove a grant which "=0A-		=
			       "is currently mmap()-ed at "=0A-			=
		       "offset 0x%x.",=0A-					=
       (start_index + i) =0A-					       << =
PAGE_SHIFT);=0A-					rc =3D -EBUSY;=0A-	=
			}=0A-				goto unmap_out;=0A+=
			const char *what;=0A+=0A+			=
switch (private_data->grants[start_index + i].state) {=0A+			=
case GNTDEV_SLOT_NOT_YET_MAPPED:=0A+				=
continue;=0A+			case GNTDEV_SLOT_INVALID:=0A+			=
	what =3D "invalid";=0A+				rc =3D -EINVAL;=0A+=
				break;=0A+			case =
GNTDEV_SLOT_MAPPED:=0A+				what =3D "currently =
mmap()-ed";=0A+				rc =3D -EBUSY;=0A+			=
	break;=0A+			default:=0A+				=
what =3D "in an invalid state";=0A+				rc =3D =
-ENXIO;=0A+				break;=0A 			=
}=0A+			printk(KERN_ERR "%s[%d] tried to remove a =
grant"=0A+			       " which is %s at %#x+%#x\n",=0A+		=
	       current->comm, current->pid,=0A+			       =
what, start_index, i);=0A+			goto unmap_out;=0A 		=
}=0A =0A 		down_write(&private_data->free_list_sem);=0A
--=__Part2A04C37A.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2A04C37A.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:18:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSV8i-00036A-E5; Thu, 10 May 2012 15:18:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSV8g-00035k-M1
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:18:47 +0000
Received: from [85.158.139.83:22286] by server-9.bemta-5.messagelabs.com id
	C1/29-09826-55CDBAF4; Thu, 10 May 2012 15:18:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336663123!27622200!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21047 invoked from network); 10 May 2012 15:18:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:18:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:18:43 +0100
Message-Id: <4FABF88A0200007800082C93@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:19:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2A04C37A.0__="
Subject: [Xen-devel] [PATCH 4/4] linux-2.6.18/gntdev: misc cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2A04C37A.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- eliminate struct gntdev_grant_info's dev_bus_addr member (which was
  used to communicate a value inside the main loop of gntdev_mmap())
- correct types
- use a local variable 'grants' in gntdev_mmap() to improve readability
- avoid re-calculating already calculated values
- properly check for out of range values
- combine both GNTTABOP_unmap_grant_ref calls in gntdev_clear_pte()
  into a single hypercall
- adjust error diagnostic in unmap ioctl to be more useful and better
  legible

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/gntdev/gntdev.c
+++ b/drivers/xen/gntdev/gntdev.c
@@ -80,7 +80,6 @@ typedef struct gntdev_grant_info {
 			grant_ref_t ref;
 			grant_handle_t kernel_handle;
 			grant_handle_t user_handle;
-			uint64_t dev_bus_addr;
 		} valid;
 	} u;
 } gntdev_grant_info_t;
@@ -473,14 +472,14 @@ static int gntdev_mmap (struct file *fli
 {
 	struct gnttab_map_grant_ref op;
 	unsigned long slot_index =3D vma->vm_pgoff;
-	unsigned long kernel_vaddr, user_vaddr;
-	uint32_t size =3D (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+	unsigned long kernel_vaddr, user_vaddr, mfn;
+	unsigned long size =3D (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;=

 	uint64_t ptep;
 	int ret, exit_ret;
-	int flags;
-	int i;
+	unsigned int i, flags;
 	struct page *page;
 	gntdev_file_private_data_t *private_data =3D flip->private_data;
+	gntdev_grant_info_t *grants;
 	struct vm_foreign_map *foreign_map;
=20
 	if (unlikely(!private_data)) {
@@ -490,17 +489,19 @@ static int gntdev_mmap (struct file *fli
=20
 	/* Test to make sure that the grants array has been initialised. =
*/
 	down_read(&private_data->grants_sem);
-	if (unlikely(!private_data->grants)) {
-		up_read(&private_data->grants_sem);
+	grants =3D private_data->grants;
+	up_read(&private_data->grants_sem);
+
+	if (unlikely(!grants)) {
 		printk(KERN_ERR "Attempted to mmap before ioctl.\n");
 		return -EINVAL;
 	}
-	up_read(&private_data->grants_sem);
+	grants +=3D slot_index;
=20
-	if (unlikely((size <=3D 0) ||=20
-		     (size + slot_index) > private_data->grants_size)) {
+	if (unlikely(size + slot_index <=3D slot_index ||
+		     size + slot_index > private_data->grants_size)) {
 		printk(KERN_ERR "Invalid number of pages or offset"
-		       "(num_pages =3D %d, first_slot =3D %ld).\n",
+		       "(num_pages =3D %lu, first_slot =3D %lu)\n",
 		       size, slot_index);
 		return -ENXIO;
 	}
@@ -521,11 +522,10 @@ static int gntdev_mmap (struct file *fli
 	/* Slots must be in the NOT_YET_MAPPED state. */
 	down_write(&private_data->grants_sem);
 	for (i =3D 0; i < size; ++i) {
-		if (private_data->grants[slot_index + i].state !=3D=20
-		    GNTDEV_SLOT_NOT_YET_MAPPED) {
-			printk(KERN_ERR "Slot (index =3D %ld) is in the =
wrong "
+		if (grants[i].state !=3D GNTDEV_SLOT_NOT_YET_MAPPED) {
+			printk(KERN_ERR "Slot (index =3D %lu) is in the =
wrong "
 			       "state (%d).\n", slot_index + i,=20
-			       private_data->grants[slot_index + i].state);=

+			       grants[i].state);
 			up_write(&private_data->grants_sem);
 			kfree(foreign_map);
 			return -EINVAL;
@@ -565,14 +565,11 @@ static int gntdev_mmap (struct file *fli
 			flags |=3D GNTMAP_readonly;
=20
 		kernel_vaddr =3D get_kernel_vaddr(private_data, slot_index =
+ i);
-		user_vaddr =3D get_user_vaddr(vma, i);
 		page =3D private_data->foreign_pages[slot_index + i];
=20
 		gnttab_set_map_op(&op, kernel_vaddr, flags,  =20
-				  private_data->grants[slot_index+i]
-				  .u.valid.ref,=20
-				  private_data->grants[slot_index+i]
-				  .u.valid.domid);
+				  grants[i].u.valid.ref,
+				  grants[i].u.valid.domid);
=20
 		/* Carry out the mapping of the grant reference. */
 		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,=
=20
@@ -583,10 +580,8 @@ static int gntdev_mmap (struct file *fli
 				printk(KERN_ERR "Error mapping the grant =
reference "
 				       "into the kernel (%d). domid =3D =
%d; ref =3D %d\n",
 				       op.status,
-				       private_data->grants[slot_index+i]
-				       .u.valid.domid,
-				       private_data->grants[slot_index+i]
-				       .u.valid.ref);
+				       grants[i].u.valid.domid,
+				       grants[i].u.valid.ref);
 			else
 				/* Propagate eagain instead of trying to =
fix it up */
 				exit_ret =3D -EAGAIN;
@@ -597,16 +592,14 @@ static int gntdev_mmap (struct file *fli
 		SetPageReserved(page);
=20
 		/* Record the grant handle, for use in the unmap operation.=
 */
-		private_data->grants[slot_index+i].u.valid.kernel_handle =
=3D=20
-			op.handle;
-		private_data->grants[slot_index+i].u.valid.dev_bus_addr =
=3D=20
-			op.dev_bus_addr;
+		grants[i].u.valid.kernel_handle =3D op.handle;
 	=09
-		private_data->grants[slot_index+i].state =3D GNTDEV_SLOT_MA=
PPED;
-		private_data->grants[slot_index+i].u.valid.user_handle =3D
-			GNTDEV_INVALID_HANDLE;
+		grants[i].state =3D GNTDEV_SLOT_MAPPED;
+		grants[i].u.valid.user_handle =3D GNTDEV_INVALID_HANDLE;
=20
 		/* Now perform the mapping to user space. */
+		user_vaddr =3D get_user_vaddr(vma, i);
+
 		if (xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* USING SHADOW PAGE TABLES. */
 			/* In this case, we simply insert the page into =
the VM
@@ -622,11 +615,11 @@ static int gntdev_mmap (struct file *fli
 		/* In this case, we map the grant(s) straight into user
 		 * space.
 		 */
+		mfn =3D op.dev_bus_addr >> PAGE_SHIFT;
=20
 		/* Get the machine address of the PTE for the user page. =
*/
 		if ((ret =3D create_lookup_pte_addr(vma->vm_mm,
-						  vma->vm_start
-						  + (i << PAGE_SHIFT),
+						  user_vaddr,
 						  &ptep)))
 		{
 			printk(KERN_ERR "Error obtaining PTE pointer =
(%d)\n",
@@ -636,9 +629,6 @@ static int gntdev_mmap (struct file *fli
=20
 		/* Configure the map operation. */
=20
-		/* The reference is to be used by host CPUs. */
-		flags =3D GNTMAP_host_map;
-
 		/* Specifies a user space mapping. */
 		flags |=3D GNTMAP_application_map;
=20
@@ -647,14 +637,9 @@ static int gntdev_mmap (struct file *fli
 		 */
 		flags |=3D GNTMAP_contains_pte;
=20
-		if (!(vma->vm_flags & VM_WRITE))
-			flags |=3D GNTMAP_readonly;
-
 		gnttab_set_map_op(&op, ptep, flags,
-				  private_data->grants[slot_index+i]
-				  .u.valid.ref,
-				  private_data->grants[slot_index+i]
-				  .u.valid.domid);
+				  grants[i].u.valid.ref,
+				  grants[i].u.valid.domid);
=20
 		/* Carry out the mapping of the grant reference. */
 		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
@@ -664,10 +649,8 @@ static int gntdev_mmap (struct file *fli
 			printk(KERN_ERR "Error mapping the grant reference =
"
 			       "into user space (%d). domid =3D %d; ref =
=3D %d\n",
 			       op.status,
-			       private_data->grants[slot_index+i].u
-			       .valid.domid,
-			       private_data->grants[slot_index+i].u
-			       .valid.ref);
+			       grants[i].u.valid.domid,
+			       grants[i].u.valid.ref);
 			/* This should never happen after we've mapped =
into
 			 * the kernel space. */
 			BUG_ON(op.status =3D=3D GNTST_eagain);
@@ -677,15 +660,11 @@ static int gntdev_mmap (struct file *fli
 		/* Record the grant handle, for use in the unmap
 		 * operation.
 		 */
-		private_data->grants[slot_index+i].u.valid.user_handle
-			=3D op.handle;
+		grants[i].u.valid.user_handle =3D op.handle;
=20
 		/* Update p2m structure with the new mapping. */
 		set_phys_to_machine(__pa(kernel_vaddr) >> PAGE_SHIFT,
-				    FOREIGN_FRAME(private_data->
-						  grants[slot_index+i]
-						  .u.valid.dev_bus_addr
-						  >> PAGE_SHIFT));
+				    FOREIGN_FRAME(mfn));
 	}
 	exit_ret =3D 0;
=20
@@ -715,9 +694,11 @@ undo_map_out:
 static pte_t gntdev_clear_pte(struct vm_area_struct *vma, unsigned long =
addr,
 			      pte_t *ptep, int is_fullmm)
 {
-	int slot_index, ret;
+	int ret;
+	unsigned int nr;
+	unsigned long slot_index;
 	pte_t copy;
-	struct gnttab_unmap_grant_ref op;
+	struct gnttab_unmap_grant_ref op[2];
 	gntdev_file_private_data_t *private_data;
=20
 	/* THIS IS VERY UNPLEASANT: do_mmap_pgoff() will set the vma->vm_fi=
le
@@ -750,36 +731,35 @@ static pte_t gntdev_clear_pte(struct vm_
 		return copy;
 	}
=20
-	/* First, we clear the user space mapping, if it has been made.
-	 */
+	/* Clear the user space mapping, if it has been made. */
 	if (private_data->grants[slot_index].u.valid.user_handle !=3D
-	    GNTDEV_INVALID_HANDLE &&
-	    !xen_feature(XENFEAT_auto_translated_physmap)) {
-		/* NOT USING SHADOW PAGE TABLES. */
-		gnttab_set_unmap_op(&op, ptep_to_machine(ptep),
+	    GNTDEV_INVALID_HANDLE) {
+		/* NOT USING SHADOW PAGE TABLES (and user handle valid). =
*/
+		gnttab_set_unmap_op(&op[0], ptep_to_machine(ptep),
 				    GNTMAP_contains_pte,
 				    private_data->grants[slot_index].u.vali=
d
 				    .user_handle);
-		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=

-						&op, 1);
-		BUG_ON(ret);
-		if (op.status !=3D GNTST_okay)
-			printk("User unmap grant status =3D %d\n", =
op.status);
+		nr =3D 1;
 	} else {
-		/* USING SHADOW PAGE TABLES. */
+		/* USING SHADOW PAGE TABLES (or user handle invalid). */
 		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);
+		nr =3D 0;
 	}
=20
-	/* Finally, we unmap the grant from kernel space. */
-	gnttab_set_unmap_op(&op,
+	/* We always unmap the grant from kernel space. */
+	gnttab_set_unmap_op(&op[nr],
 			    get_kernel_vaddr(private_data, slot_index),
 			    GNTMAP_host_map,
 			    private_data->grants[slot_index].u.valid
 			    .kernel_handle);
-	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, =
1);
+
+	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, op, nr =
+ 1);
 	BUG_ON(ret);
-	if (op.status !=3D GNTST_okay)
-		printk("Kernel unmap grant status =3D %d\n", op.status);
+
+	if (nr && op[0].status !=3D GNTST_okay)
+		printk("User unmap grant status =3D %d\n", op[0].status);
+	if (op[nr].status !=3D GNTST_okay)
+		printk("Kernel unmap grant status =3D %d\n", op[nr].status)=
;
=20
 	/* Return slot to the not-yet-mapped state, so that it may be
 	 * mapped again, or removed by a subsequent ioctl.
@@ -915,7 +895,8 @@ private_data_initialised:
 			return -EFAULT;
=20
 		start_index =3D op.index >> PAGE_SHIFT;
-		if (start_index + op.count > private_data->grants_size)
+		if (start_index + op.count < start_index ||
+		    start_index + op.count > private_data->grants_size)
 			return -EINVAL;
=20
 		down_write(&private_data->grants_sem);
@@ -924,28 +905,29 @@ private_data_initialised:
 		 * state.
 		 */
 		for (i =3D 0; i < op.count; ++i) {
-			if (unlikely
-			    (private_data->grants[start_index + i].state
-			     !=3D GNTDEV_SLOT_NOT_YET_MAPPED)) {
-				if (private_data->grants[start_index + =
i].state
-				    =3D=3D GNTDEV_SLOT_INVALID) {
-					printk(KERN_ERR
-					       "Tried to remove an invalid =
"
-					       "grant at offset 0x%x.",
-					       (start_index + i)=20
-					       << PAGE_SHIFT);
-					rc =3D -EINVAL;
-				} else {
-					printk(KERN_ERR
-					       "Tried to remove a grant =
which "
-					       "is currently mmap()-ed at =
"
-					       "offset 0x%x.",
-					       (start_index + i)=20
-					       << PAGE_SHIFT);
-					rc =3D -EBUSY;
-				}
-				goto unmap_out;
+			const char *what;
+
+			switch (private_data->grants[start_index + =
i].state) {
+			case GNTDEV_SLOT_NOT_YET_MAPPED:
+				continue;
+			case GNTDEV_SLOT_INVALID:
+				what =3D "invalid";
+				rc =3D -EINVAL;
+				break;
+			case GNTDEV_SLOT_MAPPED:
+				what =3D "currently mmap()-ed";
+				rc =3D -EBUSY;
+				break;
+			default:
+				what =3D "in an invalid state";
+				rc =3D -ENXIO;
+				break;
 			}
+			printk(KERN_ERR "%s[%d] tried to remove a grant"
+			       " which is %s at %#x+%#x\n",
+			       current->comm, current->pid,
+			       what, start_index, i);
+			goto unmap_out;
 		}
=20
 		down_write(&private_data->free_list_sem);



--=__Part2A04C37A.0__=
Content-Type: text/plain; name="xen-gntdev-cleanup.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-gntdev-cleanup.patch"

gntdev: misc cleanup=0A=0A- eliminate struct gntdev_grant_info's dev_bus_ad=
dr member (which was=0A  used to communicate a value inside the main loop =
of gntdev_mmap())=0A- correct types=0A- use a local variable 'grants' in =
gntdev_mmap() to improve readability=0A- avoid re-calculating already =
calculated values=0A- properly check for out of range values=0A- combine =
both GNTTABOP_unmap_grant_ref calls in gntdev_clear_pte()=0A  into a =
single hypercall=0A- adjust error diagnostic in unmap ioctl to be more =
useful and better=0A  legible=0A=0ASigned-off-by: Jan Beulich <jbeulich@sus=
e.com>=0A=0A--- a/drivers/xen/gntdev/gntdev.c=0A+++ b/drivers/xen/gntdev/gn=
tdev.c=0A@@ -80,7 +80,6 @@ typedef struct gntdev_grant_info {=0A 		=
	grant_ref_t ref;=0A 			grant_handle_t kernel_handl=
e;=0A 			grant_handle_t user_handle;=0A-			=
uint64_t dev_bus_addr;=0A 		} valid;=0A 	} u;=0A } =
gntdev_grant_info_t;=0A@@ -473,14 +472,14 @@ static int gntdev_mmap =
(struct file *fli=0A {=0A 	struct gnttab_map_grant_ref op;=0A 	=
unsigned long slot_index =3D vma->vm_pgoff;=0A-	unsigned long kernel_vaddr,=
 user_vaddr;=0A-	uint32_t size =3D (vma->vm_end - vma->vm_start) >> =
PAGE_SHIFT;=0A+	unsigned long kernel_vaddr, user_vaddr, mfn;=0A+	=
unsigned long size =3D (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;=0A 	=
uint64_t ptep;=0A 	int ret, exit_ret;=0A-	int flags;=0A-	int i;=0A+	=
unsigned int i, flags;=0A 	struct page *page;=0A 	gntdev_file_private=
_data_t *private_data =3D flip->private_data;=0A+	gntdev_grant_info_t=
 *grants;=0A 	struct vm_foreign_map *foreign_map;=0A =0A 	if =
(unlikely(!private_data)) {=0A@@ -490,17 +489,19 @@ static int gntdev_mmap =
(struct file *fli=0A =0A 	/* Test to make sure that the grants array =
has been initialised. */=0A 	down_read(&private_data->grants_sem);=0A-	=
if (unlikely(!private_data->grants)) {=0A-		up_read(&private_da=
ta->grants_sem);=0A+	grants =3D private_data->grants;=0A+	up_read(&pr=
ivate_data->grants_sem);=0A+=0A+	if (unlikely(!grants)) {=0A 		=
printk(KERN_ERR "Attempted to mmap before ioctl.\n");=0A 		=
return -EINVAL;=0A 	}=0A-	up_read(&private_data->grants_sem);=0A+	=
grants +=3D slot_index;=0A =0A-	if (unlikely((size <=3D 0) || =0A-		=
     (size + slot_index) > private_data->grants_size)) {=0A+	if =
(unlikely(size + slot_index <=3D slot_index ||=0A+		     size =
+ slot_index > private_data->grants_size)) {=0A 		printk(KERN=
_ERR "Invalid number of pages or offset"=0A-		       "(num_pages =
=3D %d, first_slot =3D %ld).\n",=0A+		       "(num_pages =3D =
%lu, first_slot =3D %lu)\n",=0A 		       size, slot_index);=
=0A 		return -ENXIO;=0A 	}=0A@@ -521,11 +522,10 @@ static =
int gntdev_mmap (struct file *fli=0A 	/* Slots must be in the NOT_YET_MAP=
PED state. */=0A 	down_write(&private_data->grants_sem);=0A 	=
for (i =3D 0; i < size; ++i) {=0A-		if (private_data->grants[sl=
ot_index + i].state !=3D =0A-		    GNTDEV_SLOT_NOT_YET_MAPPED) =
{=0A-			printk(KERN_ERR "Slot (index =3D %ld) is in the =
wrong "=0A+		if (grants[i].state !=3D GNTDEV_SLOT_NOT_YET_MAPPED=
) {=0A+			printk(KERN_ERR "Slot (index =3D %lu) is in the =
wrong "=0A 			       "state (%d).\n", slot_index + i, =
=0A-			       private_data->grants[slot_index + i].state);=
=0A+			       grants[i].state);=0A 			=
up_write(&private_data->grants_sem);=0A 			kfree(forei=
gn_map);=0A 			return -EINVAL;=0A@@ -565,14 +565,11 @@ =
static int gntdev_mmap (struct file *fli=0A 			flags |=3D =
GNTMAP_readonly;=0A =0A 		kernel_vaddr =3D get_kernel_vaddr(p=
rivate_data, slot_index + i);=0A-		user_vaddr =3D get_user_vad=
dr(vma, i);=0A 		page =3D private_data->foreign_pages[slot_index + =
i];=0A =0A 		gnttab_set_map_op(&op, kernel_vaddr, flags,   =0A-	=
			  private_data->grants[slot_index+i]=0A-		=
		  .u.valid.ref, =0A-				  =
private_data->grants[slot_index+i]=0A-				  =
.u.valid.domid);=0A+				  grants[i].u.valid.ref,=0A=
+				  grants[i].u.valid.domid);=0A =0A 		=
/* Carry out the mapping of the grant reference. */=0A 		ret =3D =
HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, =0A@@ -583,10 +580,8 @@ =
static int gntdev_mmap (struct file *fli=0A 				=
printk(KERN_ERR "Error mapping the grant reference "=0A 			=
	       "into the kernel (%d). domid =3D %d; ref =3D %d\n",=0A 		=
		       op.status,=0A-				       =
private_data->grants[slot_index+i]=0A-				       =
.u.valid.domid,=0A-				       private_data->grants=
[slot_index+i]=0A-				       .u.valid.ref);=0A+	=
			       grants[i].u.valid.domid,=0A+			=
	       grants[i].u.valid.ref);=0A 			else=0A 	=
			/* Propagate eagain instead of trying to fix it up =
*/=0A 				exit_ret =3D -EAGAIN;=0A@@ -597,16 +592,14 =
@@ static int gntdev_mmap (struct file *fli=0A 		SetPageReserved(pag=
e);=0A =0A 		/* Record the grant handle, for use in the unmap =
operation. */=0A-		private_data->grants[slot_index+i].u.valid.=
kernel_handle =3D =0A-			op.handle;=0A-		private_dat=
a->grants[slot_index+i].u.valid.dev_bus_addr =3D =0A-			=
op.dev_bus_addr;=0A+		grants[i].u.valid.kernel_handle =3D =
op.handle;=0A 		=0A-		private_data->grants[slot_index+i].=
state =3D GNTDEV_SLOT_MAPPED;=0A-		private_data->grants[slot_i=
ndex+i].u.valid.user_handle =3D=0A-			GNTDEV_INVALID_HAND=
LE;=0A+		grants[i].state =3D GNTDEV_SLOT_MAPPED;=0A+		=
grants[i].u.valid.user_handle =3D GNTDEV_INVALID_HANDLE;=0A =0A 		=
/* Now perform the mapping to user space. */=0A+		user_vaddr =
=3D get_user_vaddr(vma, i);=0A+=0A 		if (xen_feature(XENFEAT_aut=
o_translated_physmap)) {=0A 			/* USING SHADOW PAGE =
TABLES. */=0A 			/* In this case, we simply insert the page =
into the VM=0A@@ -622,11 +615,11 @@ static int gntdev_mmap (struct file =
*fli=0A 		/* In this case, we map the grant(s) straight into =
user=0A 		 * space.=0A 		 */=0A+		mfn =3D =
op.dev_bus_addr >> PAGE_SHIFT;=0A =0A 		/* Get the machine address =
of the PTE for the user page. */=0A 		if ((ret =3D create_lookup_=
pte_addr(vma->vm_mm,=0A-						  =
vma->vm_start=0A-						  + (i << =
PAGE_SHIFT),=0A+						  =
user_vaddr,=0A 						  &ptep)))=0A 		=
{=0A 			printk(KERN_ERR "Error obtaining PTE pointer =
(%d)\n",=0A@@ -636,9 +629,6 @@ static int gntdev_mmap (struct file *fli=0A =
=0A 		/* Configure the map operation. */=0A =0A-		/* =
The reference is to be used by host CPUs. */=0A-		flags =3D =
GNTMAP_host_map;=0A-=0A 		/* Specifies a user space mapping. =
*/=0A 		flags |=3D GNTMAP_application_map;=0A =0A@@ -647,14 +637,9 =
@@ static int gntdev_mmap (struct file *fli=0A 		 */=0A 		=
flags |=3D GNTMAP_contains_pte;=0A =0A-		if (!(vma->vm_flags & =
VM_WRITE))=0A-			flags |=3D GNTMAP_readonly;=0A-=0A 		=
gnttab_set_map_op(&op, ptep, flags,=0A-				  =
private_data->grants[slot_index+i]=0A-				  =
.u.valid.ref,=0A-				  private_data->grants[slot=
_index+i]=0A-				  .u.valid.domid);=0A+			=
	  grants[i].u.valid.ref,=0A+				  =
grants[i].u.valid.domid);=0A =0A 		/* Carry out the mapping =
of the grant reference. */=0A 		ret =3D HYPERVISOR_grant_table_op(G=
NTTABOP_map_grant_ref,=0A@@ -664,10 +649,8 @@ static int gntdev_mmap =
(struct file *fli=0A 			printk(KERN_ERR "Error mapping the =
grant reference "=0A 			       "into user space (%d). =
domid =3D %d; ref =3D %d\n",=0A 			       op.status,=
=0A-			       private_data->grants[slot_index+i].u=0A-		=
	       .valid.domid,=0A-			       private_data=
->grants[slot_index+i].u=0A-			       .valid.ref);=0A+		=
	       grants[i].u.valid.domid,=0A+			       =
grants[i].u.valid.ref);=0A 			/* This should never =
happen after we've mapped into=0A 			 * the kernel =
space. */=0A 			BUG_ON(op.status =3D=3D GNTST_eagain);=0A@@=
 -677,15 +660,11 @@ static int gntdev_mmap (struct file *fli=0A 		=
/* Record the grant handle, for use in the unmap=0A 		 * =
operation.=0A 		 */=0A-		private_data->grants[slot_index+i].=
u.valid.user_handle=0A-			=3D op.handle;=0A+		=
grants[i].u.valid.user_handle =3D op.handle;=0A =0A 		/* Update =
p2m structure with the new mapping. */=0A 		set_phys_to_machine=
(__pa(kernel_vaddr) >> PAGE_SHIFT,=0A-				    =
FOREIGN_FRAME(private_data->=0A-						=
  grants[slot_index+i]=0A-						  =
.u.valid.dev_bus_addr=0A-						  =
>> PAGE_SHIFT));=0A+				    FOREIGN_FRAME(mfn));=0A=
 	}=0A 	exit_ret =3D 0;=0A =0A@@ -715,9 +694,11 @@ undo_map_out:=0A=
 static pte_t gntdev_clear_pte(struct vm_area_struct *vma, unsigned long =
addr,=0A 			      pte_t *ptep, int is_fullmm)=0A {=0A-	=
int slot_index, ret;=0A+	int ret;=0A+	unsigned int nr;=0A+	=
unsigned long slot_index;=0A 	pte_t copy;=0A-	struct gnttab_unmap_grant_r=
ef op;=0A+	struct gnttab_unmap_grant_ref op[2];=0A 	gntdev_file=
_private_data_t *private_data;=0A =0A 	/* THIS IS VERY UNPLEASANT: =
do_mmap_pgoff() will set the vma->vm_file=0A@@ -750,36 +731,35 @@ static =
pte_t gntdev_clear_pte(struct vm_=0A 		return copy;=0A 	=
}=0A =0A-	/* First, we clear the user space mapping, if it has been =
made.=0A-	 */=0A+	/* Clear the user space mapping, if it has been =
made. */=0A 	if (private_data->grants[slot_index].u.valid.user_handle =
!=3D=0A-	    GNTDEV_INVALID_HANDLE &&=0A-	    !xen_feature(XE=
NFEAT_auto_translated_physmap)) {=0A-		/* NOT USING SHADOW PAGE =
TABLES. */=0A-		gnttab_set_unmap_op(&op, ptep_to_machine(ptep),=0A+=
	    GNTDEV_INVALID_HANDLE) {=0A+		/* NOT USING =
SHADOW PAGE TABLES (and user handle valid). */=0A+		gnttab_set_=
unmap_op(&op[0], ptep_to_machine(ptep),=0A 				   =
 GNTMAP_contains_pte,=0A 				    private_data->g=
rants[slot_index].u.valid=0A 				    .user_handle);=
=0A-		ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,=
=0A-						&op, 1);=0A-		=
BUG_ON(ret);=0A-		if (op.status !=3D GNTST_okay)=0A-		=
	printk("User unmap grant status =3D %d\n", op.status);=0A+		=
nr =3D 1;=0A 	} else {=0A-		/* USING SHADOW PAGE TABLES. =
*/=0A+		/* USING SHADOW PAGE TABLES (or user handle invalid). =
*/=0A 		pte_clear_full(vma->vm_mm, addr, ptep, is_fullmm);=0A+		=
nr =3D 0;=0A 	}=0A =0A-	/* Finally, we unmap the grant from kernel =
space. */=0A-	gnttab_set_unmap_op(&op,=0A+	/* We always unmap the =
grant from kernel space. */=0A+	gnttab_set_unmap_op(&op[nr],=0A 		=
	    get_kernel_vaddr(private_data, slot_index),=0A 			=
    GNTMAP_host_map,=0A 			    private_data->grants[sl=
ot_index].u.valid=0A 			    .kernel_handle);=0A-	=
ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, 1);=0A+=0A=
+	ret =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, op, nr =
+ 1);=0A 	BUG_ON(ret);=0A-	if (op.status !=3D GNTST_okay)=0A-	=
	printk("Kernel unmap grant status =3D %d\n", op.status);=0A+=0A+	=
if (nr && op[0].status !=3D GNTST_okay)=0A+		printk("User unmap =
grant status =3D %d\n", op[0].status);=0A+	if (op[nr].status !=3D =
GNTST_okay)=0A+		printk("Kernel unmap grant status =3D %d\n", =
op[nr].status);=0A =0A 	/* Return slot to the not-yet-mapped state, so =
that it may be=0A 	 * mapped again, or removed by a subsequent =
ioctl.=0A@@ -915,7 +895,8 @@ private_data_initialised:=0A 			=
return -EFAULT;=0A =0A 		start_index =3D op.index >> PAGE_SHIFT;=0A-=
		if (start_index + op.count > private_data->grants_size)=0A+=
		if (start_index + op.count < start_index ||=0A+		   =
 start_index + op.count > private_data->grants_size)=0A 			=
return -EINVAL;=0A =0A 		down_write(&private_data->grants_sem);=0A@@=
 -924,28 +905,29 @@ private_data_initialised:=0A 		 * =
state.=0A 		 */=0A 		for (i =3D 0; i < op.count; ++i) =
{=0A-			if (unlikely=0A-			    =
(private_data->grants[start_index + i].state=0A-			   =
  !=3D GNTDEV_SLOT_NOT_YET_MAPPED)) {=0A-				if =
(private_data->grants[start_index + i].state=0A-				=
    =3D=3D GNTDEV_SLOT_INVALID) {=0A-					=
printk(KERN_ERR=0A-					       "Tried to =
remove an invalid "=0A-					       "grant at =
offset 0x%x.",=0A-					       (start_index=
 + i) =0A-					       << PAGE_SHIFT);=0A-	=
				rc =3D -EINVAL;=0A-				=
} else {=0A-					printk(KERN_ERR=0A-		=
			       "Tried to remove a grant which "=0A-		=
			       "is currently mmap()-ed at "=0A-			=
		       "offset 0x%x.",=0A-					=
       (start_index + i) =0A-					       << =
PAGE_SHIFT);=0A-					rc =3D -EBUSY;=0A-	=
			}=0A-				goto unmap_out;=0A+=
			const char *what;=0A+=0A+			=
switch (private_data->grants[start_index + i].state) {=0A+			=
case GNTDEV_SLOT_NOT_YET_MAPPED:=0A+				=
continue;=0A+			case GNTDEV_SLOT_INVALID:=0A+			=
	what =3D "invalid";=0A+				rc =3D -EINVAL;=0A+=
				break;=0A+			case =
GNTDEV_SLOT_MAPPED:=0A+				what =3D "currently =
mmap()-ed";=0A+				rc =3D -EBUSY;=0A+			=
	break;=0A+			default:=0A+				=
what =3D "in an invalid state";=0A+				rc =3D =
-ENXIO;=0A+				break;=0A 			=
}=0A+			printk(KERN_ERR "%s[%d] tried to remove a =
grant"=0A+			       " which is %s at %#x+%#x\n",=0A+		=
	       current->comm, current->pid,=0A+			       =
what, start_index, i);=0A+			goto unmap_out;=0A 		=
}=0A =0A 		down_write(&private_data->free_list_sem);=0A
--=__Part2A04C37A.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2A04C37A.0__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:20:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:20:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVAa-0003QC-8s; Thu, 10 May 2012 15:20:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSVAZ-0003Pu-75
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:20:43 +0000
Received: from [193.109.254.147:45790] by server-4.bemta-14.messagelabs.com id
	DC/8D-11570-ACCDBAF4; Thu, 10 May 2012 15:20:42 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336663237!8655149!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3OTkx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20161 invoked from network); 10 May 2012 15:20:38 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-8.tower-27.messagelabs.com with SMTP;
	10 May 2012 15:20:38 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 10 May 2012 08:20:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98561246"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 10 May 2012 08:20:37 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 08:20:36 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 10 May 2012 23:20:34 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQ
Date: Thu, 10 May 2012 15:20:34 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B5A1A@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
In-Reply-To: <20120510145745.GO26152@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just notice your reply (so quick :)

Agree and will update later, except 1 concern below.

Konrad Rzeszutek Wilk wrote:
>> 
>> Hmm, it's good if it's convenient to do it automatically via
>> dev->release. 
>> However, dev container (pcpu) would be free at some other error
>> cases, so I prefer do it 'manually'. 
> 
> You could also call pcpu_release(..) to do it manually.
> 

that means kfree(pcpu) would be done twice at some error cases, do you think it really good?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:20:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:20:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVAa-0003QC-8s; Thu, 10 May 2012 15:20:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSVAZ-0003Pu-75
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:20:43 +0000
Received: from [193.109.254.147:45790] by server-4.bemta-14.messagelabs.com id
	DC/8D-11570-ACCDBAF4; Thu, 10 May 2012 15:20:42 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336663237!8655149!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3OTkx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20161 invoked from network); 10 May 2012 15:20:38 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-8.tower-27.messagelabs.com with SMTP;
	10 May 2012 15:20:38 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 10 May 2012 08:20:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98561246"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 10 May 2012 08:20:37 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 08:20:36 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 10 May 2012 23:20:34 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQ
Date: Thu, 10 May 2012 15:20:34 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B5A1A@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
In-Reply-To: <20120510145745.GO26152@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just notice your reply (so quick :)

Agree and will update later, except 1 concern below.

Konrad Rzeszutek Wilk wrote:
>> 
>> Hmm, it's good if it's convenient to do it automatically via
>> dev->release. 
>> However, dev container (pcpu) would be free at some other error
>> cases, so I prefer do it 'manually'. 
> 
> You could also call pcpu_release(..) to do it manually.
> 

that means kfree(pcpu) would be done twice at some error cases, do you think it really good?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:21:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:21:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVBD-0003Wm-Mo; Thu, 10 May 2012 15:21:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSVBC-0003WR-Gy
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:21:22 +0000
Received: from [193.109.254.147:44127] by server-10.bemta-14.messagelabs.com
	id 7E/CA-05847-1FCDBAF4; Thu, 10 May 2012 15:21:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336663280!1763756!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6807 invoked from network); 10 May 2012 15:21:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:21:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411160"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:21:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:21:20 +0100
Message-ID: <1336663279.14220.13.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Thu, 10 May 2012 16:21:19 +0100
In-Reply-To: <d774bb5c6326d1a7e88a.1336661987@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
	<d774bb5c6326d1a7e88a.1336661987@whitby.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] arm: Implement get_page_from_gfn()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:59 +0100, Tim Deegan wrote:
> # HG changeset patch
> # User Tim Deegan <tim@xen.org>
> # Date 1336661656 -3600
> # Node ID d774bb5c6326d1a7e88a3bfadc546d154a2ad895
> # Parent  e03806b10f0026590e7775008f24d2a96051552e
> arm: Implement get_page_from_gfn()
> 
> We will be calling this from common code, so add a basic
> implementation to arch/arm.
> 
> After 4.2 we should reshuffle some of the p2m interface out of
> arch/x86 into common headers; for now duplicate a little bit of it.
> 
> Signed-off-by: Tim Deegan <tim@xen.org>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

Feel free to commit along with the rest of the series.

Ian.

> 
> diff -r e03806b10f00 -r d774bb5c6326 xen/include/asm-arm/p2m.h
> --- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> @@ -53,6 +53,28 @@ p2m_pod_decrease_reservation(struct doma
>                               xen_pfn_t gpfn,
>                               unsigned int order);
>  
> +/* Look up a GFN and take a reference count on the backing page. */
> +typedef int p2m_type_t;
> +typedef unsigned int p2m_query_t;
> +#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
> +#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
> +
> +static inline struct page_info *get_page_from_gfn(
> +    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
> +{
> +    struct page_info *page;
> +    unsigned long mfn = gmfn_to_mfn(d, gfn);
> +
> +    ASSERT(t == NULL);
> +
> +    if (!mfn_valid(mfn))
> +        return NULL;
> +    page = mfn_to_page(mfn);
> +    if ( !get_page(page, d) )
> +        return NULL;
> +    return page;
> +}
> +
>  /* Compatibility function exporting the old untyped interface */
>  static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
>  {
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:21:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:21:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVBD-0003Wm-Mo; Thu, 10 May 2012 15:21:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSVBC-0003WR-Gy
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:21:22 +0000
Received: from [193.109.254.147:44127] by server-10.bemta-14.messagelabs.com
	id 7E/CA-05847-1FCDBAF4; Thu, 10 May 2012 15:21:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336663280!1763756!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6807 invoked from network); 10 May 2012 15:21:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:21:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411160"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:21:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:21:20 +0100
Message-ID: <1336663279.14220.13.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Thu, 10 May 2012 16:21:19 +0100
In-Reply-To: <d774bb5c6326d1a7e88a.1336661987@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
	<d774bb5c6326d1a7e88a.1336661987@whitby.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] arm: Implement get_page_from_gfn()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:59 +0100, Tim Deegan wrote:
> # HG changeset patch
> # User Tim Deegan <tim@xen.org>
> # Date 1336661656 -3600
> # Node ID d774bb5c6326d1a7e88a3bfadc546d154a2ad895
> # Parent  e03806b10f0026590e7775008f24d2a96051552e
> arm: Implement get_page_from_gfn()
> 
> We will be calling this from common code, so add a basic
> implementation to arch/arm.
> 
> After 4.2 we should reshuffle some of the p2m interface out of
> arch/x86 into common headers; for now duplicate a little bit of it.
> 
> Signed-off-by: Tim Deegan <tim@xen.org>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

Feel free to commit along with the rest of the series.

Ian.

> 
> diff -r e03806b10f00 -r d774bb5c6326 xen/include/asm-arm/p2m.h
> --- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> @@ -53,6 +53,28 @@ p2m_pod_decrease_reservation(struct doma
>                               xen_pfn_t gpfn,
>                               unsigned int order);
>  
> +/* Look up a GFN and take a reference count on the backing page. */
> +typedef int p2m_type_t;
> +typedef unsigned int p2m_query_t;
> +#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
> +#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
> +
> +static inline struct page_info *get_page_from_gfn(
> +    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
> +{
> +    struct page_info *page;
> +    unsigned long mfn = gmfn_to_mfn(d, gfn);
> +
> +    ASSERT(t == NULL);
> +
> +    if (!mfn_valid(mfn))
> +        return NULL;
> +    page = mfn_to_page(mfn);
> +    if ( !get_page(page, d) )
> +        return NULL;
> +    return page;
> +}
> +
>  /* Compatibility function exporting the old untyped interface */
>  static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
>  {
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:25:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:25:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVFU-0003ul-HG; Thu, 10 May 2012 15:25:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSVFT-0003ud-6T
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:25:47 +0000
Received: from [85.158.143.35:29669] by server-3.bemta-4.messagelabs.com id
	56/04-05853-AFDDBAF4; Thu, 10 May 2012 15:25:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336663545!10410443!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20542 invoked from network); 10 May 2012 15:25:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:25:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411263"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:24:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:24:55 +0100
Message-ID: <1336663493.14220.14.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Thu, 10 May 2012 16:24:53 +0100
In-Reply-To: <d95f0fb6c358f7e2624d.1336661995@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
	<d95f0fb6c358f7e2624d.1336661995@whitby.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11 of 11] x86/p2m,
 arm/p2m: remove get_gfn_untyped()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:59 +0100, Tim Deegan wrote:
> # HG changeset patch
> # User Tim Deegan <tim@xen.org>
> # Date 1336661656 -3600
> # Node ID d95f0fb6c358f7e2624d317da6e405e8d733603a
> # Parent  65768e16352c6bb0e11bb6c661da5137e99ecceb
> x86/p2m, arm/p2m: remove get_gfn_untyped().
> 
> Adjust its only user to use get_gfn.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> Signed-off-by: Tim Deegan <tim@xen.org>

(trivial) ARM bit:
Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 65768e16352c -r d95f0fb6c358 xen/arch/x86/mm.c
> --- a/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
> @@ -4524,6 +4524,7 @@ static int xenmem_add_to_physmap_once(
>      unsigned long gfn = 0; /* gcc ... */
>      unsigned long prev_mfn, mfn = 0, gpfn, idx;
>      int rc;
> +    p2m_type_t p2mt;
>  
>      switch ( xatp->space )
>      {
> @@ -4596,7 +4597,7 @@ static int xenmem_add_to_physmap_once(
>          put_page(page);
>  
>      /* Remove previously mapped page if it was present. */
> -    prev_mfn = get_gfn_untyped(d, xatp->gpfn);
> +    prev_mfn = mfn_x(get_gfn(d, xatp->gpfn, &p2mt));
>      if ( mfn_valid(prev_mfn) )
>      {
>          if ( is_xen_heap_mfn(prev_mfn) )
> diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-arm/p2m.h
> --- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> @@ -75,12 +75,6 @@ static inline struct page_info *get_page
>      return page;
>  }
>  
> -/* Compatibility function exporting the old untyped interface */
> -static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
> -{
> -    return gmfn_to_mfn(d, gpfn);
> -}
> -
>  int get_page_type(struct page_info *page, unsigned long type);
>  int is_iomem_page(unsigned long mfn);
>  static inline int get_page_and_type(struct page_info *page,
> diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-x86/p2m.h
> --- a/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
> @@ -339,17 +339,6 @@ static inline mfn_t get_gfn_type(struct 
>  #define get_gfn_unshare(d, g, t) get_gfn_type((d), (g), (t), \
>                                                P2M_ALLOC | P2M_UNSHARE)
>  
> -/* Compatibility function exporting the old untyped interface */
> -static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
> -{
> -    mfn_t mfn;
> -    p2m_type_t t;
> -    mfn = get_gfn(d, gpfn, &t);
> -    if ( p2m_is_valid(t) )
> -        return mfn_x(mfn);
> -    return INVALID_MFN;
> -}
> -
>  /* Will release the p2m_lock for this gfn entry. */
>  void __put_gfn(struct p2m_domain *p2m, unsigned long gfn);
>  
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:25:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:25:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVFU-0003ul-HG; Thu, 10 May 2012 15:25:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSVFT-0003ud-6T
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:25:47 +0000
Received: from [85.158.143.35:29669] by server-3.bemta-4.messagelabs.com id
	56/04-05853-AFDDBAF4; Thu, 10 May 2012 15:25:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336663545!10410443!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20542 invoked from network); 10 May 2012 15:25:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:25:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411263"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:24:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 16:24:55 +0100
Message-ID: <1336663493.14220.14.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Tim Deegan <tim@xen.org>
Date: Thu, 10 May 2012 16:24:53 +0100
In-Reply-To: <d95f0fb6c358f7e2624d.1336661995@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
	<d95f0fb6c358f7e2624d.1336661995@whitby.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11 of 11] x86/p2m,
 arm/p2m: remove get_gfn_untyped()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-10 at 15:59 +0100, Tim Deegan wrote:
> # HG changeset patch
> # User Tim Deegan <tim@xen.org>
> # Date 1336661656 -3600
> # Node ID d95f0fb6c358f7e2624d317da6e405e8d733603a
> # Parent  65768e16352c6bb0e11bb6c661da5137e99ecceb
> x86/p2m, arm/p2m: remove get_gfn_untyped().
> 
> Adjust its only user to use get_gfn.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> Signed-off-by: Tim Deegan <tim@xen.org>

(trivial) ARM bit:
Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 65768e16352c -r d95f0fb6c358 xen/arch/x86/mm.c
> --- a/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/arch/x86/mm.c	Thu May 10 15:54:16 2012 +0100
> @@ -4524,6 +4524,7 @@ static int xenmem_add_to_physmap_once(
>      unsigned long gfn = 0; /* gcc ... */
>      unsigned long prev_mfn, mfn = 0, gpfn, idx;
>      int rc;
> +    p2m_type_t p2mt;
>  
>      switch ( xatp->space )
>      {
> @@ -4596,7 +4597,7 @@ static int xenmem_add_to_physmap_once(
>          put_page(page);
>  
>      /* Remove previously mapped page if it was present. */
> -    prev_mfn = get_gfn_untyped(d, xatp->gpfn);
> +    prev_mfn = mfn_x(get_gfn(d, xatp->gpfn, &p2mt));
>      if ( mfn_valid(prev_mfn) )
>      {
>          if ( is_xen_heap_mfn(prev_mfn) )
> diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-arm/p2m.h
> --- a/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/include/asm-arm/p2m.h	Thu May 10 15:54:16 2012 +0100
> @@ -75,12 +75,6 @@ static inline struct page_info *get_page
>      return page;
>  }
>  
> -/* Compatibility function exporting the old untyped interface */
> -static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
> -{
> -    return gmfn_to_mfn(d, gpfn);
> -}
> -
>  int get_page_type(struct page_info *page, unsigned long type);
>  int is_iomem_page(unsigned long mfn);
>  static inline int get_page_and_type(struct page_info *page,
> diff -r 65768e16352c -r d95f0fb6c358 xen/include/asm-x86/p2m.h
> --- a/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
> +++ b/xen/include/asm-x86/p2m.h	Thu May 10 15:54:16 2012 +0100
> @@ -339,17 +339,6 @@ static inline mfn_t get_gfn_type(struct 
>  #define get_gfn_unshare(d, g, t) get_gfn_type((d), (g), (t), \
>                                                P2M_ALLOC | P2M_UNSHARE)
>  
> -/* Compatibility function exporting the old untyped interface */
> -static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
> -{
> -    mfn_t mfn;
> -    p2m_type_t t;
> -    mfn = get_gfn(d, gpfn, &t);
> -    if ( p2m_is_valid(t) )
> -        return mfn_x(mfn);
> -    return INVALID_MFN;
> -}
> -
>  /* Will release the p2m_lock for this gfn entry. */
>  void __put_gfn(struct p2m_domain *p2m, unsigned long gfn);
>  
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:29:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:29:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVJ5-00046s-6I; Thu, 10 May 2012 15:29:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSVJ3-00046k-5V
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:29:29 +0000
Received: from [85.158.143.99:47149] by server-3.bemta-4.messagelabs.com id
	D4/29-05853-8DEDBAF4; Thu, 10 May 2012 15:29:28 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336663764!26497699!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29832 invoked from network); 10 May 2012 15:29:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:29:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194281894"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:26:29 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:26:29 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwD-0007Ph-DQ; Thu, 10 May 2012 16:05:53 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwC-0000K2-R1;
	Thu, 10 May 2012 16:05:52 +0100
MIME-Version: 1.0
X-Mercurial-Node: 28d15a29ab59d29a1fd5deb79ceda5d557343f14
Message-ID: <28d15a29ab59d29a1fd5.1336661991@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:51 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 07 of 11] common: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID 28d15a29ab59d29a1fd5deb79ceda5d557343f14
# Parent  d19b3ba026fd844d21a250f768f70a1543d6bbd7
common: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r d19b3ba026fd -r 28d15a29ab59 xen/common/memory.c
--- a/xen/common/memory.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/common/memory.c	Thu May 10 15:54:16 2012 +0100
@@ -676,7 +676,7 @@ long do_memory_op(unsigned long cmd, XEN
     case XENMEM_remove_from_physmap:
     {
         struct xen_remove_from_physmap xrfp;
-        unsigned long mfn;
+        struct page_info *page;
         struct domain *d;
 
         if ( copy_from_guest(&xrfp, arg, 1) )
@@ -694,15 +694,15 @@ long do_memory_op(unsigned long cmd, XEN
 
         domain_lock(d);
 
-        mfn = get_gfn_untyped(d, xrfp.gpfn);
-
-        if ( mfn_valid(mfn) )
-            guest_physmap_remove_page(d, xrfp.gpfn, mfn, 0);
+        page = get_page_from_gfn(d, xrfp.gpfn, NULL, P2M_ALLOC);
+        if ( page )
+        {
+            guest_physmap_remove_page(d, xrfp.gpfn, page_to_mfn(page), 0);
+            put_page(page);
+        }
         else
             rc = -ENOENT;
 
-        put_gfn(d, xrfp.gpfn);
-
         domain_unlock(d);
 
         rcu_unlock_domain(d);
diff -r d19b3ba026fd -r 28d15a29ab59 xen/common/tmem_xen.c
--- a/xen/common/tmem_xen.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/common/tmem_xen.c	Thu May 10 15:54:16 2012 +0100
@@ -107,30 +107,25 @@ static inline void cli_put_page(tmem_cli
 static inline void *cli_get_page(tmem_cli_mfn_t cmfn, unsigned long *pcli_mfn,
                                  pfp_t **pcli_pfp, bool_t cli_write)
 {
-    unsigned long cli_mfn;
     p2m_type_t t;
     struct page_info *page;
-    int ret;
 
-    cli_mfn = mfn_x(get_gfn(current->domain, cmfn, &t));
-    if ( t != p2m_ram_rw || !mfn_valid(cli_mfn) )
+    page = get_page_from_gfn(current->domain, cmfn, &t, P2M_ALLOC);
+    if ( !page || t != p2m_ram_rw )
     {
-            put_gfn(current->domain, (unsigned long) cmfn);
-            return NULL;
+        if ( page )
+            put_page(page);
     }
-    page = mfn_to_page(cli_mfn);
-    if ( cli_write )
-        ret = get_page_and_type(page, current->domain, PGT_writable_page);
-    else
-        ret = get_page(page, current->domain);
-    if ( !ret )
+
+    if ( cli_write && !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(current->domain, (unsigned long) cmfn);
+        put_page(page);
         return NULL;
     }
-    *pcli_mfn = cli_mfn;
+
+    *pcli_mfn = page_to_mfn(page);
     *pcli_pfp = (pfp_t *)page;
-    return map_domain_page(cli_mfn);
+    return map_domain_page(*pcli_mfn);
 }
 
 static inline void cli_put_page(tmem_cli_mfn_t cmfn, void *cli_va, pfp_t *cli_pfp,
@@ -144,7 +139,6 @@ static inline void cli_put_page(tmem_cli
     else
         put_page((struct page_info *)cli_pfp);
     unmap_domain_page(cli_va);
-    put_gfn(current->domain, (unsigned long) cmfn);
 }
 #endif
 
diff -r d19b3ba026fd -r 28d15a29ab59 xen/xsm/flask/hooks.c
--- a/xen/xsm/flask/hooks.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/xsm/flask/hooks.c	Thu May 10 15:54:16 2012 +0100
@@ -1318,6 +1318,7 @@ static int flask_mmu_normal_update(struc
     struct domain_security_struct *dsec;
     u32 fsid;
     struct avc_audit_data ad;
+    struct page_info *page = NULL;
 
     if (d != t)
         rc = domain_has_perm(d, t, SECCLASS_MMU, MMU__REMOTE_REMAP);
@@ -1333,8 +1334,9 @@ static int flask_mmu_normal_update(struc
         map_perms |= MMU__MAP_WRITE;
 
     AVC_AUDIT_DATA_INIT(&ad, MEMORY);
-    fmfn = get_gfn_untyped(f, l1e_get_pfn(l1e_from_intpte(fpte)));
-
+    page = get_page_from_gfn(f, l1e_get_pfn(l1e_from_intpte(fpte)),
+                             NULL, P2M_ALLOC);
+    fmfn = page ? page_to_mfn(page) : INVALID_MFN;
     ad.sdom = d;
     ad.tdom = f;
     ad.memory.pte = fpte;
@@ -1342,7 +1344,8 @@ static int flask_mmu_normal_update(struc
 
     rc = get_mfn_sid(fmfn, &fsid);
 
-    put_gfn(f, fmfn);
+    if ( page )
+        put_page(page);
 
     if ( rc )
         return rc;
@@ -1370,7 +1373,7 @@ static int flask_update_va_mapping(struc
     int rc = 0;
     u32 psid;
     u32 map_perms = MMU__MAP_READ;
-    unsigned long mfn;
+    struct page_info *page = NULL;
     struct domain_security_struct *dsec;
 
     if ( !(l1e_get_flags(pte) & _PAGE_PRESENT) )
@@ -1381,8 +1384,10 @@ static int flask_update_va_mapping(struc
 
     dsec = d->ssid;
 
-    mfn = get_gfn_untyped(f, l1e_get_pfn(pte));
-    rc = get_mfn_sid(mfn, &psid);
+    page = get_page_from_gfn(f, l1e_get_pfn(pte), NULL, P2M_ALLOC);
+    rc = get_mfn_sid(page ? page_to_mfn(page) : INVALID_MFN, &psid);
+    if ( page )
+        put_page(page);
     if ( rc )
         return rc;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:29:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:29:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVJ5-00046s-6I; Thu, 10 May 2012 15:29:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SSVJ3-00046k-5V
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:29:29 +0000
Received: from [85.158.143.99:47149] by server-3.bemta-4.messagelabs.com id
	D4/29-05853-8DEDBAF4; Thu, 10 May 2012 15:29:28 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336663764!26497699!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE0NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29832 invoked from network); 10 May 2012 15:29:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:29:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="194281894"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 11:26:29 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 11:26:29 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1SSUwD-0007Ph-DQ; Thu, 10 May 2012 16:05:53 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1SSUwC-0000K2-R1;
	Thu, 10 May 2012 16:05:52 +0100
MIME-Version: 1.0
X-Mercurial-Node: 28d15a29ab59d29a1fd5deb79ceda5d557343f14
Message-ID: <28d15a29ab59d29a1fd5.1336661991@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 10 May 2012 15:59:51 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Subject: [Xen-devel] [PATCH 07 of 11] common: Use get_page_from_gfn()
 instead of get_gfn()/put_gfn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1336661656 -3600
# Node ID 28d15a29ab59d29a1fd5deb79ceda5d557343f14
# Parent  d19b3ba026fd844d21a250f768f70a1543d6bbd7
common: Use get_page_from_gfn() instead of get_gfn()/put_gfn.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r d19b3ba026fd -r 28d15a29ab59 xen/common/memory.c
--- a/xen/common/memory.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/common/memory.c	Thu May 10 15:54:16 2012 +0100
@@ -676,7 +676,7 @@ long do_memory_op(unsigned long cmd, XEN
     case XENMEM_remove_from_physmap:
     {
         struct xen_remove_from_physmap xrfp;
-        unsigned long mfn;
+        struct page_info *page;
         struct domain *d;
 
         if ( copy_from_guest(&xrfp, arg, 1) )
@@ -694,15 +694,15 @@ long do_memory_op(unsigned long cmd, XEN
 
         domain_lock(d);
 
-        mfn = get_gfn_untyped(d, xrfp.gpfn);
-
-        if ( mfn_valid(mfn) )
-            guest_physmap_remove_page(d, xrfp.gpfn, mfn, 0);
+        page = get_page_from_gfn(d, xrfp.gpfn, NULL, P2M_ALLOC);
+        if ( page )
+        {
+            guest_physmap_remove_page(d, xrfp.gpfn, page_to_mfn(page), 0);
+            put_page(page);
+        }
         else
             rc = -ENOENT;
 
-        put_gfn(d, xrfp.gpfn);
-
         domain_unlock(d);
 
         rcu_unlock_domain(d);
diff -r d19b3ba026fd -r 28d15a29ab59 xen/common/tmem_xen.c
--- a/xen/common/tmem_xen.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/common/tmem_xen.c	Thu May 10 15:54:16 2012 +0100
@@ -107,30 +107,25 @@ static inline void cli_put_page(tmem_cli
 static inline void *cli_get_page(tmem_cli_mfn_t cmfn, unsigned long *pcli_mfn,
                                  pfp_t **pcli_pfp, bool_t cli_write)
 {
-    unsigned long cli_mfn;
     p2m_type_t t;
     struct page_info *page;
-    int ret;
 
-    cli_mfn = mfn_x(get_gfn(current->domain, cmfn, &t));
-    if ( t != p2m_ram_rw || !mfn_valid(cli_mfn) )
+    page = get_page_from_gfn(current->domain, cmfn, &t, P2M_ALLOC);
+    if ( !page || t != p2m_ram_rw )
     {
-            put_gfn(current->domain, (unsigned long) cmfn);
-            return NULL;
+        if ( page )
+            put_page(page);
     }
-    page = mfn_to_page(cli_mfn);
-    if ( cli_write )
-        ret = get_page_and_type(page, current->domain, PGT_writable_page);
-    else
-        ret = get_page(page, current->domain);
-    if ( !ret )
+
+    if ( cli_write && !get_page_type(page, PGT_writable_page) )
     {
-        put_gfn(current->domain, (unsigned long) cmfn);
+        put_page(page);
         return NULL;
     }
-    *pcli_mfn = cli_mfn;
+
+    *pcli_mfn = page_to_mfn(page);
     *pcli_pfp = (pfp_t *)page;
-    return map_domain_page(cli_mfn);
+    return map_domain_page(*pcli_mfn);
 }
 
 static inline void cli_put_page(tmem_cli_mfn_t cmfn, void *cli_va, pfp_t *cli_pfp,
@@ -144,7 +139,6 @@ static inline void cli_put_page(tmem_cli
     else
         put_page((struct page_info *)cli_pfp);
     unmap_domain_page(cli_va);
-    put_gfn(current->domain, (unsigned long) cmfn);
 }
 #endif
 
diff -r d19b3ba026fd -r 28d15a29ab59 xen/xsm/flask/hooks.c
--- a/xen/xsm/flask/hooks.c	Thu May 10 15:54:16 2012 +0100
+++ b/xen/xsm/flask/hooks.c	Thu May 10 15:54:16 2012 +0100
@@ -1318,6 +1318,7 @@ static int flask_mmu_normal_update(struc
     struct domain_security_struct *dsec;
     u32 fsid;
     struct avc_audit_data ad;
+    struct page_info *page = NULL;
 
     if (d != t)
         rc = domain_has_perm(d, t, SECCLASS_MMU, MMU__REMOTE_REMAP);
@@ -1333,8 +1334,9 @@ static int flask_mmu_normal_update(struc
         map_perms |= MMU__MAP_WRITE;
 
     AVC_AUDIT_DATA_INIT(&ad, MEMORY);
-    fmfn = get_gfn_untyped(f, l1e_get_pfn(l1e_from_intpte(fpte)));
-
+    page = get_page_from_gfn(f, l1e_get_pfn(l1e_from_intpte(fpte)),
+                             NULL, P2M_ALLOC);
+    fmfn = page ? page_to_mfn(page) : INVALID_MFN;
     ad.sdom = d;
     ad.tdom = f;
     ad.memory.pte = fpte;
@@ -1342,7 +1344,8 @@ static int flask_mmu_normal_update(struc
 
     rc = get_mfn_sid(fmfn, &fsid);
 
-    put_gfn(f, fmfn);
+    if ( page )
+        put_page(page);
 
     if ( rc )
         return rc;
@@ -1370,7 +1373,7 @@ static int flask_update_va_mapping(struc
     int rc = 0;
     u32 psid;
     u32 map_perms = MMU__MAP_READ;
-    unsigned long mfn;
+    struct page_info *page = NULL;
     struct domain_security_struct *dsec;
 
     if ( !(l1e_get_flags(pte) & _PAGE_PRESENT) )
@@ -1381,8 +1384,10 @@ static int flask_update_va_mapping(struc
 
     dsec = d->ssid;
 
-    mfn = get_gfn_untyped(f, l1e_get_pfn(pte));
-    rc = get_mfn_sid(mfn, &psid);
+    page = get_page_from_gfn(f, l1e_get_pfn(pte), NULL, P2M_ALLOC);
+    rc = get_mfn_sid(page ? page_to_mfn(page) : INVALID_MFN, &psid);
+    if ( page )
+        put_page(page);
     if ( rc )
         return rc;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:35:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:35:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVOP-0004LT-0e; Thu, 10 May 2012 15:35:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVOM-0004LM-VF
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:35:00 +0000
Received: from [85.158.138.51:14741] by server-8.bemta-3.messagelabs.com id
	7A/4A-24428-220EBAF4; Thu, 10 May 2012 15:34:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336664094!26279570!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21647 invoked from network); 10 May 2012 15:34:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:34:55 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFYqQW008028
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:34:53 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFYp8O017068
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:34:51 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFYoU5025893; Thu, 10 May 2012 10:34:50 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:34:48 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D59284032D; Thu, 10 May 2012 11:28:44 -0400 (EDT)
Date: Thu, 10 May 2012 11:28:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: JBeulich@suse.com, xen-devel@lists.xensource.com
Message-ID: <20120510152844.GP26152@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="azLHFNyN32YCQGCU"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Subject: [Xen-devel] pvops domU guest booting problem - 131GB ok,
	132GB not ok.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hey Jan,

I've just started to trying to track down why a pvops 64-bit
PV guest can't boot with more than 128GB of memory. The issue
I am seeing is that the module loading subsystem stops working and
I get this:


WARNING: at /home/konrad/ssd/linux/mm/vmalloc.c:107 vmap_page_range_noflush+0x328/0x3a0()
Modules linked in:
Pid: 1051, comm: modprobe Not tainted 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff810704da>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8102fcd9>] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
 [<ffffffff81070525>] warn_slowpath_null+0x15/0x20
 [<ffffffff81129e68>] vmap_page_range_noflush+0x328/0x3a0
 [<ffffffff81129f1d>] vmap_page_range+0x3d/0x60
 [<ffffffff81129f6d>] map_vm_area+0x2d/0x50
 [<ffffffff8112b3a0>] __vmalloc_node_range+0x160/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
---[ end trace efd7fe3e15953dc6 ]---
vmalloc: allocation failure, allocated 16384 of 20480 bytes
modprobe: page allocation failure: order:0, mode:0xd2
Pid: 1051, comm: modprobe Tainted: G        W    3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff8110389b>] warn_alloc_failed+0xeb/0x130
 [<ffffffff81129f24>] ? vmap_page_range+0x44/0x60
 [<ffffffff8112b456>] __vmalloc_node_range+0x216/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
Mem-Info:
Node 0 DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Node 0 DMA32 per-cpu:
CPU    0: hi:  186, btch:  31 usd: 168
Node 0 Normal per-cpu:
CPU    0: hi:  186, btch:  31 usd:  73
active_anon:253 inactive_anon:31970 isolated_anon:0
 active_file:391 inactive_file:27806 isolated_file:0
 unevictable:0 dirty:0 writeback:0 unstable:0
 free:33525733 slab_reclaimable:1660 slab_unreclaimable:976
 mapped:340 shmem:31960 pagetables:34 bounce:0
Node 0 DMA free:8760kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8536kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 4024 132160 132160
Node 0 DMA32 free:3637796kB min:1416kB low:1768kB high:2124kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4120800kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 128135 128135
Node 0 Normal free:130456376kB min:45112kB low:56388kB high:67668kB active_anon:1012kB inactive_anon:127880kB active_file:1564kB inactive_file:111224kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:131211120kB mlocked:0kB dirty:0kB writeback:0kB mapped:1360kB shmem:127840kB slab_reclaimable:6640kB slab_unreclaimable:3904kB kernel_stack:368kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Node 0 DMA: 2*4kB 2*8kB 0*16kB 3*32kB 3*64kB 2*128kB 2*256kB 1*512kB 3*1024kB 2*2048kB 0*4096kB = 8760kB
Node 0 DMA32: 5*4kB 2*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 4*512kB 1*1024kB 0*2048kB 887*4096kB = 3637796kB
Node 0 Normal: 26*4kB 26*8kB 14*16kB 11*32kB 11*64kB 6*128kB 8*256kB 7*512kB 9*1024kB 3*2048kB 31844*4096kB = 130456376kB
60151 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
34306032 pages RAM
612977 pages reserved
983 pages shared
166525 pages non-shared

Which tells me that there is more than enough memory. So my thinking
is that it is either:
 - it can't stick the new pagetables in the memory b/c there isn't enough
   physical space in the region it wants - but the region it uses is
   Normal, so that should be OK?
 - it is hitting some page tables that are used by the hypervisor?


Was wondering if you had hit this at some point with SLES guests
and if there are any ideas of what I should look for ? Thanks!
 

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="131gb.txt"
Content-Transfer-Encoding: quoted-printable

console [hvc0] enabled, bootconsole disabled
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
Detected 2261.074 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. =
4522.14 BogoMIPS (lpj=3D2261074)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
Dentry cache hash table entries: 16777216 (order: 15, 134217728 bytes)
Inode-cache hash table entries: 8388608 (order: 14, 67108864 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys cpuacct
Initializing cgroup subsys freezer
ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
Freeing SMP alternatives: 24k freed
cpu 0 spinlock event irq 17
Performance Events: unsupported p6 CPU model 46 no PMU driver, software eve=
nts only.
NMI watchdog: disabled (cpu0): hardware events not enabled
Brought up 1 CPUs
kworker/u:0 used greatest stack depth: 6000 bytes left
Grant tables using version 2 layout.
Grant table initialized
RTC time: 165:165:165, date: 165/165/65
NET: Registered protocol family 16
kworker/u:0 used greatest stack depth: 5536 bytes left
dca service started, version 1.12.1
PCI: setting up Xen PCI frontend stub
PCI: pci_cache_line_size set to 64 bytes
bio: create slab <bio-0> at 0
ACPI: Interpreter disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: loaded
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: System does not support PCI
PCI: System does not support PCI
NetLabel: Initializing
NetLabel:  domain hash size =3D 128
NetLabel:  protocols =3D UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
Switching to clocksource xen
pnp: PnP ACPI: disabled
NET: Registered protocol family 2
IP route cache hash table entries: 524288 (order: 10, 4194304 bytes)
TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP: reno registered
UDP hash table entries: 65536 (order: 9, 2097152 bytes)
UDP-Lite hash table entries: 65536 (order: 9, 2097152 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 64
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 227672k freed
platform rtc_cmos: registered platform RTC device (no PNP device found)
Machine check injector initialized
microcode: CPU0 sig=3D0x206e5, pf=3D0x4, revision=3D0xffff0018
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Pe=
ter Oruba
audit: initializing netlink socket (disabled)
type=3D2000 audit(1336419344.018:1): initialized
HugeTLB registered 2 MB page size, pre-allocated 0 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 32768
SELinux:  Registering netfilter hooks
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ioatdma: Intel(R) QuickData Technology Driver 4.00
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Non-volatile memory driver v1.3
Linux agpgart interface v0.103
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - =
version 2.2.0-k
ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd: block sizes: qh 112 qtd 96 itd 192 sitd 96
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd: block sizes: ed 80 td 96
uhci_hcd: USB Universal Host Controller Interface driver
usbcore: registered new interface driver usblp
usbcore: registered new interface driver libusual
i8042: PNP: No PS/2 controller found. Probing ports directly.
i8042: No controller found
mousedev: PS/2 mouse device common for all mice
rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
rtc_cmos: probe of rtc_cmos failed with error -38
EFI Variables Facility v0.08 2004-May-17
zram: num_devices not specified. Using default: 1
zram: Creating 1 devices ...
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ctnetlink v0.93: registering with nfnetlink.
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP: cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Registering the dns_resolver key type
PM: Hibernation image not present or could not be loaded.
registered taskstats version 1
  Magic number: 1:252:3141
Freeing unused kernel memory: 692k freed
Write protecting the kernel read-only data: 8192k
Freeing unused kernel memory: 292k freed
Freeing unused kernel memory: 400k freed
BusyBox v1.14.3 (2012-05-07 12:16:33 EDT)
consoletype used greatest stack depth: 5336 bytes left
ories  [  OK  ]
modprobe used greatest stack depth: 5096 bytes left
int /sys/kernel/config does not exist
core_filesystem used greatest stack depth: 5016 bytes left
Initialising Xen virtual ethernet driver.
 16:       2062  xen-percpu-virq      timer0
 17:          0  xen-percpu-ipi       spinlock0
 18:          0  xen-percpu-ipi       resched0
 19:          0  xen-percpu-ipi       callfunc0
 20:          0  xen-percpu-virq      debug0
 21:          0  xen-percpu-ipi       callfuncsingle0
 22:          0  xen-percpu-ipi       irqwork0
 23:         47   xen-dyn-event     xenbus
 24:         61   xen-dyn-event     hvc_console
NMI:          0   Non-maskable interrupts
LOC:          0   Local timer interrupts
SPU:          0   Spurious interrupts
PMI:          0   Performance monitoring interrupts
IWI:          0   IRQ work interrupts
RTR:          0   APIC ICR read retries
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
MCE:          0   Machine check exceptions
MCP:          0   Machine check polls
ERR:          0
MIS:          0
00000000-0000ffff : reserved
00010000-0009ffff : System RAM
000a0000-000fffff : reserved
  000f0000-000fffff : System ROM
00100000-1f407fffff : System RAM
  01000000-015b1d63 : Kernel code
  015b1d64-018838bf : Kernel data
  01939000-01a1efff : Kernel bss
MemTotal:       128734892 kB
MemFree:        128251264 kB
Buffers:               0 kB
Cached:           240696 kB
SwapCached:            0 kB
Active:            20436 kB
Inactive:         219972 kB
Active(anon):      14760 kB
Inactive(anon):   116532 kB
Active(file):       5676 kB
Inactive(file):   103440 kB
Unevictable:        4876 kB
Mlocked:            4896 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          4708 kB
Mapped:             5056 kB
Shmem:            127992 kB
Slab:              15880 kB
SReclaimable:       9344 kB
SUnreclaim:         6536 kB
KernelStack:         328 kB
PageTables:          668 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    64367444 kB
Committed_AS:     136444 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      214720 kB
VmallocChunk:   34359523635 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:    131080192 kB
DirectMap2M:           0 kB
Waiting for init.late [  OK  ]
connect: Network is unreachable
May  7 19:35:50 (none) rpc.statd[2099]: Caught signal 15, un-registering an=
d exiting
connect: Network is unreachable
May  7 19:35:50 (none) iscsid: semop down failed 22
warning: /sysctl.conf(1): invalid syntax, continuing...
net.ipv4.ip_forward =3D 0
net.ipv4.conf.default.rp_filter =3D 2
net.ipv4.conf.default.accept_source_route =3D 0
kernel.sysrq =3D 0
kernel.core_uses_pid =3D 1
net.ipv4.tcp_syncookies =3D 1
kernel.msgmnb =3D 65536
kernel.msgmax =3D 65536
kernel.shmmax =3D 68719476736
kernel.shmall =3D 4294967296
vm.min_free_kbytes =3D 65536
kernel.panic_on_oops =3D 1
kernel.panic =3D 60
Error : Name or service not known
Linux (none) 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1 SMP Mon May 7 13:30:=
51 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
MemTotal:       128734892 kB
MemFree:        128254048 kB
Buffers:               0 kB
Cached:           240844 kB
SwapCached:            0 kB
Active:            19576 kB
Inactive:         219628 kB
Active(anon):      13424 kB
Inactive(anon):   116512 kB
Active(file):       6152 kB
Inactive(file):   103116 kB
Unevictable:        3584 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          1944 kB
Mapped:             1676 kB
Shmem:            127992 kB
Slab:              15860 kB
SReclaimable:       9324 kB
SUnreclaim:         6536 kB
KernelStack:         320 kB
PageTables:          516 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    64367444 kB
Committed_AS:     133016 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      214720 kB
VmallocChunk:   34359523635 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:    131080192 kB
DirectMap2M:           0 kB
0xffffc90000000000-0xffffc90008001000 134221824 alloc_large_system_hash+0x1=
54/0x213 pages=3D32768 vmalloc vpages N0=3D32768
0xffffc90008001000-0xffffc90008042000  266240 alloc_large_system_hash+0x154=
/0x213 pages=3D64 vmalloc N0=3D64
0xffffc90008042000-0xffffc9000c043000 67112960 alloc_large_system_hash+0x15=
4/0x213 pages=3D16384 vmalloc vpages N0=3D16384
0xffffc9000c043000-0xffffc9000c064000  135168 alloc_large_system_hash+0x154=
/0x213 pages=3D32 vmalloc N0=3D32
0xffffc9000c064000-0xffffc9000c067000   12288 alloc_large_system_hash+0x154=
/0x213 pages=3D2 vmalloc N0=3D2
0xffffc9000c068000-0xffffc9000c06d000   20480 arch_gnttab_map_status+0x50/0=
x70 ioremap
0xffffc9000c06d000-0xffffc9000c072000   20480 alloc_large_system_hash+0x154=
/0x213 pages=3D4 vmalloc N0=3D4
0xffffc9000c072000-0xffffc9000c07e000   49152 zisofs_init+0x11/0x23 pages=
=3D11 vmalloc N0=3D11
0xffffc9000c080000-0xffffc9000c0a1000  135168 arch_gnttab_map_shared+0x50/0=
x70 ioremap
0xffffc9000c0a1000-0xffffc9000c4a2000 4198400 alloc_large_system_hash+0x154=
/0x213 pages=3D1024 vmalloc vpages N0=3D1024
0xffffc9000c4a2000-0xffffc9000cca3000 8392704 alloc_large_system_hash+0x154=
/0x213 pages=3D2048 vmalloc vpages N0=3D2048
0xffffc9000cca3000-0xffffc9000cda4000 1052672 alloc_large_system_hash+0x154=
/0x213 pages=3D256 vmalloc N0=3D256
0xffffc9000cda4000-0xffffc9000cfa5000 2101248 alloc_large_system_hash+0x154=
/0x213 pages=3D512 vmalloc N0=3D512
0xffffc9000cfa5000-0xffffc9000d1a6000 2101248 alloc_large_system_hash+0x154=
/0x213 pages=3D512 vmalloc N0=3D512
0xffffc9000d1a6000-0xffffc9000d1b3000   53248 netback_init+0x4c/0x210 pages=
=3D12 vmalloc N0=3D12
0xffffffffa0000000-0xffffffffa0005000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0008000-0xffffffffa000d000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0010000-0xffffffffa0015000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0018000-0xffffffffa001d000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa001d000-0xffffffffa0022000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0022000-0xffffffffa0027000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0027000-0xffffffffa002c000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa002c000-0xffffffffa0032000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa0036000-0xffffffffa003e000   32768 module_alloc_update_bounds+0x=
19/0x80 pages=3D7 vmalloc N0=3D7
0xffffffffa0042000-0xffffffffa0049000   28672 module_alloc_update_bounds+0x=
19/0x80 pages=3D6 vmalloc N0=3D6
0xffffffffa004d000-0xffffffffa0052000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0052000-0xffffffffa005c000   40960 module_alloc_update_bounds+0x=
19/0x80 pages=3D9 vmalloc N0=3D9
0xffffffffa005c000-0xffffffffa0061000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0061000-0xffffffffa0074000   77824 module_alloc_update_bounds+0x=
19/0x80 pages=3D18 vmalloc N0=3D18
0xffffffffa0074000-0xffffffffa007a000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa007c000-0xffffffffa0081000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0081000-0xffffffffa0086000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0086000-0xffffffffa0093000   53248 module_alloc_update_bounds+0x=
19/0x80 pages=3D12 vmalloc N0=3D12
0xffffffffa0097000-0xffffffffa0169000  860160 module_alloc_update_bounds+0x=
19/0x80 pages=3D209 vmalloc N0=3D209
0xffffffffa0169000-0xffffffffa016e000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa016e000-0xffffffffa0173000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0173000-0xffffffffa0199000  155648 module_alloc_update_bounds+0x=
19/0x80 pages=3D37 vmalloc N0=3D37
0xffffffffa0199000-0xffffffffa01a4000   45056 module_alloc_update_bounds+0x=
19/0x80 pages=3D10 vmalloc N0=3D10
0xffffffffa01a8000-0xffffffffa01b4000   49152 module_alloc_update_bounds+0x=
19/0x80 pages=3D11 vmalloc N0=3D11
0xffffffffa01b4000-0xffffffffa01ba000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa01ba000-0xffffffffa01c0000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa01c4000-0xffffffffa01c9000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa01c9000-0xffffffffa01ce000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
# lsmod
Module                  Size  Used by
xen_evtchn             12835  0=20
iscsi_boot_sysfs       12922  0=20
iscsi_tcp              17580  0=20
libiscsi_tcp           17354  1 iscsi_tcp
libiscsi               39804  2 iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi    43755  2 iscsi_tcp,libiscsi
scsi_mod              148537  3 iscsi_tcp,libiscsi,scsi_transport_iscsi
libcrc32c              12426  0=20
crc32c                 12656  0=20
radeon                854431  0=20
fbcon                  47234  0=20
tileblit               12581  1 fbcon
font                   16484  1 fbcon
bitblit                12610  1 fbcon
softcursor             12349  1 bitblit
ttm                    73322  1 radeon
drm_kms_helper         35139  1 radeon,[permanent]
crc32c_intel           12704  1=20
xen_blkfront           21357  0=20
xen_netfront           25845  0=20
xen_fbfront            17211  0=20
fb_sys_fops            12350  1 xen_fbfront
sysimgblt              12313  1 xen_fbfront
sysfillrect            12522  1 xen_fbfront
syscopyarea            12313  1 xen_fbfront
xen_kbdfront           12686  0=20
xenfs                  12737  1=20
xen_privcmd            12829  1 xenfs
# cat /sys/kernel/debug/=1B[Jker=1B[21D# cat /sys/kernel/debug/kernel_page_=
tables =1B[J
---[ User Space ]---
0x0000000000000000-0xffff800000000000    16777088T                         =
  pgd
---[ Kernel Space ]---
0xffff800000000000-0xffff814000000000        1280G                         =
  pud
0xffff814000000000-0xffff8140a0000000        2560M                         =
  pmd
0xffff8140a0000000-0xffff8140a0500000           5M                         =
  pte
0xffff8140a0500000-0xffff8140a0501000           4K USR RW                 x=
  pte
0xffff8140a0501000-0xffff8140a0503000           8K     RW                 x=
  pte
0xffff8140a0503000-0xffff8140a0504000           4K                         =
  pte
0xffff8140a0504000-0xffff8140a0505000           4K     RW                 x=
  pte
0xffff8140a0505000-0xffff8140a0507000           8K USR RW                 x=
  pte
0xffff8140a0507000-0xffff8140a0509000           8K     RW                 x=
  pte
0xffff8140a0509000-0xffff8140a0510000          28K                         =
  pte
0xffff8140a0510000-0xffff8140a0511000           4K USR RW                 x=
  pte
0xffff8140a0511000-0xffff8140a0592000         516K                         =
  pte
0xffff8140a0592000-0xffff8140a0593000           4K USR RW                 x=
  pte
0xffff8140a0593000-0xffff8140a05d4000         260K                         =
  pte
0xffff8140a05d4000-0xffff8140a05d5000           4K USR RW                 x=
  pte
0xffff8140a05d5000-0xffff8140a05ff000         168K                         =
  pte
0xffff8140a05ff000-0xffff8140a0600000           4K USR RW                 x=
  pte
0xffff8140a0600000-0xffff8140a0800000           2M                         =
  pmd
0xffff8140a0800000-0xffff8140a1200000          10M                         =
  pte
0xffff8140a1200000-0xffff8140a2000000          14M                         =
  pmd
0xffff8140a2000000-0xffff8140a207e000         504K USR RW                 x=
  pte
0xffff8140a207e000-0xffff8140a2200000        1544K                         =
  pte
0xffff8140a2200000-0xffff8140b2400000         258M                         =
  pmd
0xffff8140b2400000-0xffff8140b2401000           4K USR RW                 x=
  pte
0xffff8140b2401000-0xffff8140b2600000        2044K                         =
  pte
0xffff8140b2600000-0xffff8140ba800000         130M                         =
  pmd
0xffff8140ba800000-0xffff8140ba802000           8K USR RW                 x=
  pte
0xffff8140ba802000-0xffff8140baa00000        2040K                         =
  pte
0xffff8140baa00000-0xffff8140bfe00000          84M                         =
  pmd
0xffff8140bfe00000-0xffff8140bfffe000        2040K                         =
  pte
0xffff8140bfffe000-0xffff8140c0000000           8K USR RW                 x=
  pte
0xffff8140c0000000-0xffff814100000000           1G                         =
  pud
0xffff814100000000-0xffff814240000000           5G                         =
  pmd
0xffff814240000000-0xffff814400000000           7G                         =
  pud
0xffff814400000000-0xffff81440fa04000      256016K USR RW                 x=
  pte
0xffff81440fa04000-0xffff81440fc00000        2032K                         =
  pte
0xffff81440fc00000-0xffff814440000000         772M                         =
  pmd
0xffff814440000000-0xffff816480000000         129G                         =
  pud
0xffff816480000000-0xffff81648006c000         432K USR RW                 x=
  pte
0xffff81648006c000-0xffff816480200000        1616K                         =
  pte
0xffff816480200000-0xffff8164c0000000        1022M                         =
  pmd
0xffff8164c0000000-0xffff817500000000          65G                         =
  pud
0xffff817500000000-0xffff81750036c000        3504K USR RW                 x=
  pte
0xffff81750036c000-0xffff817500400000         592K                         =
  pte
0xffff817500400000-0xffff817540000000        1020M                         =
  pmd
0xffff817540000000-0xffff817fc0000000          42G                         =
  pud
0xffff817fc0000000-0xffff817fffc00000        1020M                         =
  pmd
0xffff817fffc00000-0xffff817fffc08000          32K                         =
  pte
0xffff817fffc08000-0xffff817fffc0e000          24K USR RW                 x=
  pte
0xffff817fffc0e000-0xffff817fffc7e000         448K                         =
  pte
0xffff817fffc7e000-0xffff817fffcfe000         512K USR RW                 x=
  pte
0xffff817fffcfe000-0xffff817fffd00000           8K                         =
  pte
0xffff817fffd00000-0xffff817fffd01000           4K USR RW                 x=
  pte
0xffff817fffd01000-0xffff817fffe00000        1020K                         =
  pte
0xffff817fffe00000-0xffff817fffefe000        1016K USR RW                 x=
  pte
0xffff817fffefe000-0xffff817fffffa000        1008K                         =
  pte
0xffff817fffffa000-0xffff817fffffc000           8K USR RW                 x=
  pte
0xffff817fffffc000-0xffff818000000000          16K                         =
  pte
0xffff818000000000-0xffff820000000000         512G                         =
  pgd
0xffff820000000000-0xffff848000000000        2560G                         =
  pud
0xffff848000000000-0xffff880000000000        3584G                         =
  pgd
---[ Low Kernel Mapping ]---
0xffff880000000000-0xffff88000009b000         620K USR RW                 x=
  pte
0xffff88000009b000-0xffff8800000a0000          20K USR RW                 x=
  pte
0xffff8800000a0000-0xffff8800007fb000        7532K USR RW                 x=
  pte
0xffff8800007fb000-0xffff880000efc000        7172K USR ro                 x=
  pte
0xffff880000efc000-0xffff880001000000        1040K USR RW                 x=
  pte
0xffff880001000000-0xffff880001002000           8K USR ro                 x=
  pte
0xffff880001002000-0xffff880001013000          68K USR ro                 x=
  pte
0xffff880001013000-0xffff880001015000           8K USR ro                 x=
  pte
0xffff880001015000-0xffff880001017000           8K USR ro                 x=
  pte
0xffff880001017000-0xffff880001019000           8K USR ro                 x=
  pte
0xffff880001019000-0xffff88000101a000           4K USR ro                 x=
  pte
0xffff88000101a000-0xffff88000101b000           4K USR ro                 x=
  pte
0xffff88000101b000-0xffff88000101f000          16K USR ro                 x=
  pte
0xffff88000101f000-0xffff880001028000          36K USR ro                 x=
  pte
0xffff880001028000-0xffff88000102a000           8K USR ro                 x=
  pte
0xffff88000102a000-0xffff88000102c000           8K USR ro                 x=
  pte
0xffff88000102c000-0xffff88000103c000          64K USR ro                 x=
  pte
0xffff88000103c000-0xffff88000103d000           4K USR ro                 x=
  pte
0xffff88000103d000-0xffff880001051000          80K USR ro                 x=
  pte
0xffff880001051000-0xffff880001052000           4K USR ro                 x=
  pte
0xffff880001052000-0xffff880001057000          20K USR ro                 x=
  pte
0xffff880001057000-0xffff880001058000           4K USR ro                 x=
  pte
0xffff880001058000-0xffff880001061000          36K USR ro                 x=
  pte
0xffff880001061000-0xffff880001063000           8K USR ro                 x=
  pte
0xffff880001063000-0xffff88000106b000          32K USR ro                 x=
  pte
0xffff88000106b000-0xffff88000106c000           4K USR ro                 x=
  pte
0xffff88000106c000-0xffff880001078000          48K USR ro                 x=
  pte
0xffff880001078000-0xffff88000107a000           8K USR ro                 x=
  pte
0xffff88000107a000-0xffff880001083000          36K USR ro                 x=
  pte
0xffff880001083000-0xffff880001084000           4K USR ro                 x=
  pte
0xffff880001084000-0xffff88000108f000          44K USR ro                 x=
  pte
0xffff88000108f000-0xffff880001090000           4K USR ro                 x=
  pte
0xffff880001090000-0xffff880001094000          16K USR ro                 x=
  pte
0xffff880001094000-0xffff880001097000          12K USR ro                 x=
  pte
0xffff880001097000-0xffff8800010a0000          36K USR ro                 x=
  pte
0xffff8800010a0000-0xffff8800010a2000           8K USR ro                 x=
  pte
0xffff8800010a2000-0xffff8800010a7000          20K USR ro                 x=
  pte
0xffff8800010a7000-0xffff8800010a8000           4K USR ro                 x=
  pte
0xffff8800010a8000-0xffff8800010aa000           8K USR ro                 x=
  pte
0xffff8800010aa000-0xffff8800010af000          20K USR ro                 x=
  pte
0xffff8800010af000-0xffff8800010b4000          20K USR ro                 x=
  pte
0xffff8800010b4000-0xffff8800010b6000           8K USR ro                 x=
  pte
0xffff8800010b6000-0xffff8800010c0000          40K USR ro                 x=
  pte
0xffff8800010c0000-0xffff8800010c4000          16K USR ro                 x=
  pte
0xffff8800010c4000-0xffff8800010c6000           8K USR ro                 x=
  pte
0xffff8800010c6000-0xffff8800010ca000          16K USR ro                 x=
  pte
0xffff8800010ca000-0xffff8800010cc000           8K USR ro                 x=
  pte
0xffff8800010cc000-0xffff8800010cd000           4K USR ro                 x=
  pte
0xffff8800010cd000-0xffff8800010d5000          32K USR ro                 x=
  pte
0xffff8800010d5000-0xffff8800010d9000          16K USR ro                 x=
  pte
0xffff8800010d9000-0xffff8800010da000           4K USR ro                 x=
  pte
0xffff8800010da000-0xffff8800010db000           4K USR ro                 x=
  pte
0xffff8800010db000-0xffff8800010dc000           4K USR ro                 x=
  pte
0xffff8800010dc000-0xffff8800010dd000           4K USR ro                 x=
  pte
0xffff8800010dd000-0xffff8800010e2000          20K USR ro                 x=
  pte
0xffff8800010e2000-0xffff8800010e3000           4K USR ro                 x=
  pte
0xffff8800010e3000-0xffff8800010f8000          84K USR ro                 x=
  pte
0xffff8800010f8000-0xffff8800010fb000          12K USR ro                 x=
  pte
0xffff8800010fb000-0xffff880001101000          24K USR ro                 x=
  pte
0xffff880001101000-0xffff880001102000           4K USR ro                 x=
  pte
0xffff880001102000-0xffff880001106000          16K USR ro                 x=
  pte
0xffff880001106000-0xffff880001107000           4K USR ro                 x=
  pte
0xffff880001107000-0xffff880001108000           4K USR ro                 x=
  pte
0xffff880001108000-0xffff880001109000           4K USR ro                 x=
  pte
0xffff880001109000-0xffff880001113000          40K USR ro                 x=
  pte
0xffff880001113000-0xffff880001114000           4K USR ro                 x=
  pte
0xffff880001114000-0xffff880001117000          12K USR ro                 x=
  pte
0xffff880001117000-0xffff880001118000           4K USR ro                 x=
  pte
0xffff880001118000-0xffff880001122000          40K USR ro                 x=
  pte
0xffff880001122000-0xffff880001124000           8K USR ro                 x=
  pte
0xffff880001124000-0xffff880001143000         124K USR ro                 x=
  pte
0xffff880001143000-0xffff880001145000           8K USR ro                 x=
  pte
0xffff880001145000-0xffff880001166000         132K USR ro                 x=
  pte
0xffff880001166000-0xffff880001168000           8K USR ro                 x=
  pte
0xffff880001168000-0xffff88000116d000          20K USR ro                 x=
  pte
0xffff88000116d000-0xffff88000116e000           4K USR ro                 x=
  pte
0xffff88000116e000-0xffff88000116f000           4K USR ro                 x=
  pte
0xffff88000116f000-0xffff880001170000           4K USR ro                 x=
  pte
0xffff880001170000-0xffff880001174000          16K USR ro                 x=
  pte
0xffff880001174000-0xffff880001177000          12K USR ro                 x=
  pte
0xffff880001177000-0xffff88000117a000          12K USR ro                 x=
  pte
0xffff88000117a000-0xffff88000117e000          16K USR ro                 x=
  pte
0xffff88000117e000-0xffff88000118d000          60K USR ro                 x=
  pte
0xffff88000118d000-0xffff88000118e000           4K USR ro                 x=
  pte
0xffff88000118e000-0xffff880001190000           8K USR ro                 x=
  pte
0xffff880001190000-0xffff880001191000           4K USR ro                 x=
  pte
0xffff880001191000-0xffff880001192000           4K USR ro                 x=
  pte
0xffff880001192000-0xffff880001193000           4K USR ro                 x=
  pte
0xffff880001193000-0xffff880001194000           4K USR ro                 x=
  pte
0xffff880001194000-0xffff880001197000          12K USR ro                 x=
  pte
0xffff880001197000-0xffff880001198000           4K USR ro                 x=
  pte
0xffff880001198000-0xffff880001199000           4K USR ro                 x=
  pte
0xffff880001199000-0xffff8800011a0000          28K USR ro                 x=
  pte
0xffff8800011a0000-0xffff8800011a1000           4K USR ro                 x=
  pte
0xffff8800011a1000-0xffff8800011ab000          40K USR ro                 x=
  pte
0xffff8800011ab000-0xffff8800011ac000           4K USR ro                 x=
  pte
0xffff8800011ac000-0xffff8800011af000          12K USR ro                 x=
  pte
0xffff8800011af000-0xffff8800011b1000           8K USR ro                 x=
  pte
0xffff8800011b1000-0xffff8800011b4000          12K USR ro                 x=
  pte
0xffff8800011b4000-0xffff8800011b5000           4K USR ro                 x=
  pte
0xffff8800011b5000-0xffff8800011b9000          16K USR ro                 x=
  pte
0xffff8800011b9000-0xffff8800011bb000           8K USR ro                 x=
  pte
0xffff8800011bb000-0xffff8800011bd000           8K USR ro                 x=
  pte
0xffff8800011bd000-0xffff8800011be000           4K USR ro                 x=
  pte
0xffff8800011be000-0xffff8800011c2000          16K USR ro                 x=
  pte
0xffff8800011c2000-0xffff8800011c6000          16K USR ro                 x=
  pte
0xffff8800011c6000-0xffff8800011c7000           4K USR ro                 x=
  pte
0xffff8800011c7000-0xffff8800011c8000           4K USR ro                 x=
  pte
0xffff8800011c8000-0xffff8800011c9000           4K USR ro                 x=
  pte
0xffff8800011c9000-0xffff8800011ca000           4K USR ro                 x=
  pte
0xffff8800011ca000-0xffff8800011cf000          20K USR ro                 x=
  pte
0xffff8800011cf000-0xffff8800011d0000           4K USR ro                 x=
  pte
0xffff8800011d0000-0xffff8800011d3000          12K USR ro                 x=
  pte
0xffff8800011d3000-0xffff8800011d5000           8K USR ro                 x=
  pte
0xffff8800011d5000-0xffff8800011d6000           4K USR ro                 x=
  pte
0xffff8800011d6000-0xffff8800011d8000           8K USR ro                 x=
  pte
0xffff8800011d8000-0xffff8800011d9000           4K USR ro                 x=
  pte
0xffff8800011d9000-0xffff8800011da000           4K USR ro                 x=
  pte
0xffff8800011da000-0xffff8800011e0000          24K USR ro                 x=
  pte
0xffff8800011e0000-0xffff8800011e3000          12K USR ro                 x=
  pte
0xffff8800011e3000-0xffff8800011e9000          24K USR ro                 x=
  pte
0xffff8800011e9000-0xffff8800011ea000           4K USR ro                 x=
  pte
0xffff8800011ea000-0xffff8800011eb000           4K USR ro                 x=
  pte
0xffff8800011eb000-0xffff8800011f1000          24K USR ro                 x=
  pte
0xffff8800011f1000-0xffff8800011f7000          24K USR ro                 x=
  pte
0xffff8800011f7000-0xffff8800011f8000           4K USR ro                 x=
  pte
0xffff8800011f8000-0xffff8800011fa000           8K USR ro                 x=
  pte
0xffff8800011fa000-0xffff8800011fb000           4K USR ro                 x=
  pte
0xffff8800011fb000-0xffff8800011fd000           8K USR ro                 x=
  pte
0xffff8800011fd000-0xffff8800011fe000           4K USR ro                 x=
  pte
0xffff8800011fe000-0xffff880001200000           8K USR ro                 x=
  pte
0xffff880001200000-0xffff880001201000           4K USR ro                 x=
  pte
0xffff880001201000-0xffff880001203000           8K USR ro                 x=
  pte
0xffff880001203000-0xffff880001207000          16K USR ro                 x=
  pte
0xffff880001207000-0xffff880001209000           8K USR ro                 x=
  pte
0xffff880001209000-0xffff88000120a000           4K USR ro                 x=
  pte
0xffff88000120a000-0xffff88000120b000           4K USR ro                 x=
  pte
0xffff88000120b000-0xffff88000120c000           4K USR ro                 x=
  pte
0xffff88000120c000-0xffff88000120e000           8K USR ro                 x=
  pte
0xffff88000120e000-0xffff880001223000          84K USR ro                 x=
  pte
0xffff880001223000-0xffff880001228000          20K USR ro                 x=
  pte
0xffff880001228000-0xffff880001229000           4K USR ro                 x=
  pte
0xffff880001229000-0xffff88000123b000          72K USR ro                 x=
  pte
0xffff88000123b000-0xffff88000123d000           8K USR ro                 x=
  pte
0xffff88000123d000-0xffff88000123e000           4K USR ro                 x=
  pte
0xffff88000123e000-0xffff88000123f000           4K USR ro                 x=
  pte
0xffff88000123f000-0xffff880001242000          12K USR ro                 x=
  pte
0xffff880001242000-0xffff880001244000           8K USR ro                 x=
  pte
0xffff880001244000-0xffff880001245000           4K USR ro                 x=
  pte
0xffff880001245000-0xffff880001247000           8K USR ro                 x=
  pte
0xffff880001247000-0xffff880001248000           4K USR ro                 x=
  pte
0xffff880001248000-0xffff880001252000          40K USR ro                 x=
  pte
0xffff880001252000-0xffff880001253000           4K USR ro                 x=
  pte
0xffff880001253000-0xffff880001254000           4K USR ro                 x=
  pte
0xffff880001254000-0xffff880001255000           4K USR ro                 x=
  pte
0xffff880001255000-0xffff880001258000          12K USR ro                 x=
  pte
0xffff880001258000-0xffff880001259000           4K USR ro                 x=
  pte
0xffff880001259000-0xffff880001268000          60K USR ro                 x=
  pte
0xffff880001268000-0xffff88000126e000          24K USR ro                 x=
  pte
0xffff88000126e000-0xffff88000126f000           4K USR ro                 x=
  pte
0xffff88000126f000-0xffff880001272000          12K USR ro                 x=
  pte
0xffff880001272000-0xffff880001273000           4K USR ro                 x=
  pte
0xffff880001273000-0xffff880001274000           4K USR ro                 x=
  pte
0xffff880001274000-0xffff88000127a000          24K USR ro                 x=
  pte
0xffff88000127a000-0xffff88000127c000           8K USR ro                 x=
  pte
0xffff88000127c000-0xffff88000127d000           4K USR ro                 x=
  pte
0xffff88000127d000-0xffff880001285000          32K USR ro                 x=
  pte
0xffff880001285000-0xffff880001286000           4K USR ro                 x=
  pte
0xffff880001286000-0xffff880001287000           4K USR ro                 x=
  pte
0xffff880001287000-0xffff880001288000           4K USR ro                 x=
  pte
0xffff880001288000-0xffff880001289000           4K USR ro                 x=
  pte
0xffff880001289000-0xffff88000128d000          16K USR ro                 x=
  pte
0xffff88000128d000-0xffff88000128f000           8K USR ro                 x=
  pte
0xffff88000128f000-0xffff880001291000           8K USR ro                 x=
  pte
0xffff880001291000-0xffff880001292000           4K USR ro                 x=
  pte
0xffff880001292000-0xffff88000129f000          52K USR ro                 x=
  pte
0xffff88000129f000-0xffff8800012a0000           4K USR ro                 x=
  pte
0xffff8800012a0000-0xffff8800012a1000           4K USR ro                 x=
  pte
0xffff8800012a1000-0xffff8800012a3000           8K USR ro                 x=
  pte
0xffff8800012a3000-0xffff8800012a5000           8K USR ro                 x=
  pte
0xffff8800012a5000-0xffff8800012a6000           4K USR ro                 x=
  pte
0xffff8800012a6000-0xffff8800012a9000          12K USR ro                 x=
  pte
0xffff8800012a9000-0xffff8800012ab000           8K USR ro                 x=
  pte
0xffff8800012ab000-0xffff8800012c3000          96K USR ro                 x=
  pte
0xffff8800012c3000-0xffff8800012c6000          12K USR ro                 x=
  pte
0xffff8800012c6000-0xffff8800012cc000          24K USR ro                 x=
  pte
0xffff8800012cc000-0xffff8800012cf000          12K USR ro                 x=
  pte
0xffff8800012cf000-0xffff8800012d1000           8K USR ro                 x=
  pte
0xffff8800012d1000-0xffff8800012d2000           4K USR ro                 x=
  pte
0xffff8800012d2000-0xffff8800012d3000           4K USR ro                 x=
  pte
0xffff8800012d3000-0xffff8800012d7000          16K USR ro                 x=
  pte
0xffff8800012d7000-0xffff8800012d8000           4K USR ro                 x=
  pte
0xffff8800012d8000-0xffff8800012da000           8K USR ro                 x=
  pte
0xffff8800012da000-0xffff8800012dc000           8K USR ro                 x=
  pte
0xffff8800012dc000-0xffff8800012e1000          20K USR ro                 x=
  pte
0xffff8800012e1000-0xffff8800012e3000           8K USR ro                 x=
  pte
0xffff8800012e3000-0xffff8800012e4000           4K USR ro                 x=
  pte
0xffff8800012e4000-0xffff8800012e5000           4K USR ro                 x=
  pte
0xffff8800012e5000-0xffff8800012e6000           4K USR ro                 x=
  pte
0xffff8800012e6000-0xffff8800012e7000           4K USR ro                 x=
  pte
0xffff8800012e7000-0xffff8800012ed000          24K USR ro                 x=
  pte
0xffff8800012ed000-0xffff8800012ee000           4K USR ro                 x=
  pte
0xffff8800012ee000-0xffff8800012f9000          44K USR ro                 x=
  pte
0xffff8800012f9000-0xffff8800012fa000           4K USR ro                 x=
  pte
0xffff8800012fa000-0xffff8800012fe000          16K USR ro                 x=
  pte
0xffff8800012fe000-0xffff880001300000           8K USR ro                 x=
  pte
0xffff880001300000-0xffff880001302000           8K USR ro                 x=
  pte
0xffff880001302000-0xffff88000130d000          44K USR ro                 x=
  pte
0xffff88000130d000-0xffff88000130e000           4K USR ro                 x=
  pte
0xffff88000130e000-0xffff88000130f000           4K USR ro                 x=
  pte
0xffff88000130f000-0xffff880001312000          12K USR ro                 x=
  pte
0xffff880001312000-0xffff880001314000           8K USR ro                 x=
  pte
0xffff880001314000-0xffff880001318000          16K USR ro                 x=
  pte
0xffff880001318000-0xffff88000131b000          12K USR ro                 x=
  pte
0xffff88000131b000-0xffff88000131c000           4K USR ro                 x=
  pte
0xffff88000131c000-0xffff880001324000          32K USR ro                 x=
  pte
0xffff880001324000-0xffff880001329000          20K USR ro                 x=
  pte
0xffff880001329000-0xffff88000132d000          16K USR ro                 x=
  pte
0xffff88000132d000-0xffff88000132e000           4K USR ro                 x=
  pte
0xffff88000132e000-0xffff88000132f000           4K USR ro                 x=
  pte
0xffff88000132f000-0xffff880001332000          12K USR ro                 x=
  pte
0xffff880001332000-0xffff880001333000           4K USR ro                 x=
  pte
0xffff880001333000-0xffff880001334000           4K USR ro                 x=
  pte
0xffff880001334000-0xffff880001335000           4K USR ro                 x=
  pte
0xffff880001335000-0xffff880001337000           8K USR ro                 x=
  pte
0xffff880001337000-0xffff88000133b000          16K USR ro                 x=
  pte
0xffff88000133b000-0xffff88000133c000           4K USR ro                 x=
  pte
0xffff88000133c000-0xffff880001340000          16K USR ro                 x=
  pte
0xffff880001340000-0xffff880001342000           8K USR ro                 x=
  pte
0xffff880001342000-0xffff880001343000           4K USR ro                 x=
  pte
0xffff880001343000-0xffff880001348000          20K USR ro                 x=
  pte
0xffff880001348000-0xffff88000134c000          16K USR ro                 x=
  pte
0xffff88000134c000-0xffff880001350000          16K USR ro                 x=
  pte
0xffff880001350000-0xffff880001351000           4K USR ro                 x=
  pte
0xffff880001351000-0xffff880001353000           8K USR ro                 x=
  pte
0xffff880001353000-0xffff880001358000          20K USR ro                 x=
  pte
0xffff880001358000-0xffff88000135e000          24K USR ro                 x=
  pte
0xffff88000135e000-0xffff88000135f000           4K USR ro                 x=
  pte
0xffff88000135f000-0xffff880001361000           8K USR ro                 x=
  pte
0xffff880001361000-0xffff880001366000          20K USR ro                 x=
  pte
0xffff880001366000-0xffff880001367000           4K USR ro                 x=
  pte
0xffff880001367000-0xffff880001368000           4K USR ro                 x=
  pte
0xffff880001368000-0xffff88000136a000           8K USR ro                 x=
  pte
0xffff88000136a000-0xffff880001374000          40K USR ro                 x=
  pte
0xffff880001374000-0xffff880001376000           8K USR ro                 x=
  pte
0xffff880001376000-0xffff880001379000          12K USR ro                 x=
  pte
0xffff880001379000-0xffff88000137f000          24K USR ro                 x=
  pte
0xffff88000137f000-0xffff880001380000           4K USR ro                 x=
  pte
0xffff880001380000-0xffff880001383000          12K USR ro                 x=
  pte
0xffff880001383000-0xffff880001384000           4K USR ro                 x=
  pte
0xffff880001384000-0xffff880001387000          12K USR ro                 x=
  pte
0xffff880001387000-0xffff880001389000           8K USR ro                 x=
  pte
0xffff880001389000-0xffff88000138c000          12K USR ro                 x=
  pte
0xffff88000138c000-0xffff880001393000          28K USR ro                 x=
  pte
0xffff880001393000-0xffff880001395000           8K USR ro                 x=
  pte
0xffff880001395000-0xffff880001398000          12K USR ro                 x=
  pte
0xffff880001398000-0xffff88000139a000           8K USR ro                 x=
  pte
0xffff88000139a000-0xffff88000139c000           8K USR ro                 x=
  pte
0xffff88000139c000-0xffff88000139d000           4K USR ro                 x=
  pte
0xffff88000139d000-0xffff8800013a3000          24K USR ro                 x=
  pte
0xffff8800013a3000-0xffff8800013a4000           4K USR ro                 x=
  pte
0xffff8800013a4000-0xffff8800013a5000           4K USR ro                 x=
  pte
0xffff8800013a5000-0xffff8800013a6000           4K USR ro                 x=
  pte
0xffff8800013a6000-0xffff8800013a9000          12K USR ro                 x=
  pte
0xffff8800013a9000-0xffff8800013ab000           8K USR ro                 x=
  pte
0xffff8800013ab000-0xffff8800013ac000           4K USR ro                 x=
  pte
0xffff8800013ac000-0xffff8800013ae000           8K USR ro                 x=
  pte
0xffff8800013ae000-0xffff8800013b1000          12K USR ro                 x=
  pte
0xffff8800013b1000-0xffff8800013b3000           8K USR ro                 x=
  pte
0xffff8800013b3000-0xffff8800013b5000           8K USR ro                 x=
  pte
0xffff8800013b5000-0xffff8800013b9000          16K USR ro                 x=
  pte
0xffff8800013b9000-0xffff8800013ba000           4K USR ro                 x=
  pte
0xffff8800013ba000-0xffff8800013bf000          20K USR ro                 x=
  pte
0xffff8800013bf000-0xffff8800013ce000          60K USR ro                 x=
  pte
0xffff8800013ce000-0xffff8800013cf000           4K USR ro                 x=
  pte
0xffff8800013cf000-0xffff8800013d0000           4K USR ro                 x=
  pte
0xffff8800013d0000-0xffff8800013d2000           8K USR ro                 x=
  pte
0xffff8800013d2000-0xffff8800013d3000           4K USR ro                 x=
  pte
0xffff8800013d3000-0xffff8800013db000          32K USR ro                 x=
  pte
0xffff8800013db000-0xffff8800013dc000           4K USR ro                 x=
  pte
0xffff8800013dc000-0xffff8800013dd000           4K USR ro                 x=
  pte
0xffff8800013dd000-0xffff8800013de000           4K USR ro                 x=
  pte
0xffff8800013de000-0xffff8800013e0000           8K USR ro                 x=
  pte
0xffff8800013e0000-0xffff8800013e3000          12K USR ro                 x=
  pte
0xffff8800013e3000-0xffff8800013e5000           8K USR ro                 x=
  pte
0xffff8800013e5000-0xffff8800013e8000          12K USR ro                 x=
  pte
0xffff8800013e8000-0xffff8800013ea000           8K USR ro                 x=
  pte
0xffff8800013ea000-0xffff8800013ec000           8K USR ro                 x=
  pte
0xffff8800013ec000-0xffff8800013ed000           4K USR ro                 x=
  pte
0xffff8800013ed000-0xffff8800013ef000           8K USR ro                 x=
  pte
0xffff8800013ef000-0xffff8800013f3000          16K USR ro                 x=
  pte
0xffff8800013f3000-0xffff8800013f4000           4K USR ro                 x=
  pte
0xffff8800013f4000-0xffff8800013f6000           8K USR ro                 x=
  pte
0xffff8800013f6000-0xffff8800013f7000           4K USR ro                 x=
  pte
0xffff8800013f7000-0xffff8800013fa000          12K USR ro                 x=
  pte
0xffff8800013fa000-0xffff8800013fb000           4K USR ro                 x=
  pte
0xffff8800013fb000-0xffff8800013fd000           8K USR ro                 x=
  pte
0xffff8800013fd000-0xffff8800013fe000           4K USR ro                 x=
  pte
0xffff8800013fe000-0xffff880001403000          20K USR ro                 x=
  pte
0xffff880001403000-0xffff880001404000           4K USR ro                 x=
  pte
0xffff880001404000-0xffff880001406000           8K USR ro                 x=
  pte
0xffff880001406000-0xffff880001408000           8K USR ro                 x=
  pte
0xffff880001408000-0xffff880001411000          36K USR ro                 x=
  pte
0xffff880001411000-0xffff880001412000           4K USR ro                 x=
  pte
0xffff880001412000-0xffff880001413000           4K USR ro                 x=
  pte
0xffff880001413000-0xffff880001415000           8K USR ro                 x=
  pte
0xffff880001415000-0xffff880001416000           4K USR ro                 x=
  pte
0xffff880001416000-0xffff880001419000          12K USR ro                 x=
  pte
0xffff880001419000-0xffff88000141e000          20K USR ro                 x=
  pte
0xffff88000141e000-0xffff880001425000          28K USR ro                 x=
  pte
0xffff880001425000-0xffff880001426000           4K USR ro                 x=
  pte
0xffff880001426000-0xffff880001428000           8K USR ro                 x=
  pte
0xffff880001428000-0xffff88000142f000          28K USR ro                 x=
  pte
0xffff88000142f000-0xffff880001430000           4K USR ro                 x=
  pte
0xffff880001430000-0xffff880001437000          28K USR ro                 x=
  pte
0xffff880001437000-0xffff880001438000           4K USR ro                 x=
  pte
0xffff880001438000-0xffff880001439000           4K USR ro                 x=
  pte
0xffff880001439000-0xffff88000143d000          16K USR ro                 x=
  pte
0xffff88000143d000-0xffff88000143e000           4K USR ro                 x=
  pte
0xffff88000143e000-0xffff88000143f000           4K USR ro                 x=
  pte
0xffff88000143f000-0xffff880001440000           4K USR ro                 x=
  pte
0xffff880001440000-0xffff880001443000          12K USR ro                 x=
  pte
0xffff880001443000-0xffff880001445000           8K USR ro                 x=
  pte
0xffff880001445000-0xffff880001446000           4K USR ro                 x=
  pte
0xffff880001446000-0xffff880001448000           8K USR ro                 x=
  pte
0xffff880001448000-0xffff88000144d000          20K USR ro                 x=
  pte
0xffff88000144d000-0xffff88000144f000           8K USR ro                 x=
  pte
0xffff88000144f000-0xffff880001451000           8K USR ro                 x=
  pte
0xffff880001451000-0xffff880001452000           4K USR ro                 x=
  pte
0xffff880001452000-0xffff880001458000          24K USR ro                 x=
  pte
0xffff880001458000-0xffff880001459000           4K USR ro                 x=
  pte
0xffff880001459000-0xffff88000145a000           4K USR ro                 x=
  pte
0xffff88000145a000-0xffff88000145c000           8K USR ro                 x=
  pte
0xffff88000145c000-0xffff88000145d000           4K USR ro                 x=
  pte
0xffff88000145d000-0xffff880001462000          20K USR ro                 x=
  pte
0xffff880001462000-0xffff880001463000           4K USR ro                 x=
  pte
0xffff880001463000-0xffff880001464000           4K USR ro                 x=
  pte
0xffff880001464000-0xffff880001465000           4K USR ro                 x=
  pte
0xffff880001465000-0xffff880001467000           8K USR ro                 x=
  pte
0xffff880001467000-0xffff880001468000           4K USR ro                 x=
  pte
0xffff880001468000-0xffff880001469000           4K USR ro                 x=
  pte
0xffff880001469000-0xffff88000146a000           4K USR ro                 x=
  pte
0xffff88000146a000-0xffff88000146b000           4K USR ro                 x=
  pte
0xffff88000146b000-0xffff880001470000          20K USR ro                 x=
  pte
0xffff880001470000-0xffff880001471000           4K USR ro                 x=
  pte
0xffff880001471000-0xffff880001473000           8K USR ro                 x=
  pte
0xffff880001473000-0xffff880001477000          16K USR ro                 x=
  pte
0xffff880001477000-0xffff88000147a000          12K USR ro                 x=
  pte
0xffff88000147a000-0xffff88000147b000           4K USR ro                 x=
  pte
0xffff88000147b000-0xffff88000147c000           4K USR ro                 x=
  pte
0xffff88000147c000-0xffff88000147d000           4K USR ro                 x=
  pte
0xffff88000147d000-0xffff880001482000          20K USR ro                 x=
  pte
0xffff880001482000-0xffff880001484000           8K USR ro                 x=
  pte
0xffff880001484000-0xffff880001485000           4K USR ro                 x=
  pte
0xffff880001485000-0xffff880001486000           4K USR ro                 x=
  pte
0xffff880001486000-0xffff880001489000          12K USR ro                 x=
  pte
0xffff880001489000-0xffff88000148a000           4K USR ro                 x=
  pte
0xffff88000148a000-0xffff88000148b000           4K USR ro                 x=
  pte
0xffff88000148b000-0xffff88000148c000           4K USR ro                 x=
  pte
0xffff88000148c000-0xffff880001499000          52K USR ro                 x=
  pte
0xffff880001499000-0xffff88000149a000           4K USR ro                 x=
  pte
0xffff88000149a000-0xffff8800014a2000          32K USR ro                 x=
  pte
0xffff8800014a2000-0xffff8800014a5000          12K USR ro                 x=
  pte
0xffff8800014a5000-0xffff8800014a8000          12K USR ro                 x=
  pte
0xffff8800014a8000-0xffff8800014b0000          32K USR ro                 x=
  pte
0xffff8800014b0000-0xffff8800014b1000           4K USR ro                 x=
  pte
0xffff8800014b1000-0xffff8800014b2000           4K USR ro                 x=
  pte
0xffff8800014b2000-0xffff8800014c2000          64K USR ro                 x=
  pte
0xffff8800014c2000-0xffff8800014c3000           4K USR ro                 x=
  pte
0xffff8800014c3000-0xffff8800014c5000           8K USR ro                 x=
  pte
0xffff8800014c5000-0xffff8800014cb000          24K USR ro                 x=
  pte
0xffff8800014cb000-0xffff8800014cc000           4K USR ro                 x=
  pte
0xffff8800014cc000-0xffff8800014cf000          12K USR ro                 x=
  pte
0xffff8800014cf000-0xffff8800014d0000           4K USR ro                 x=
  pte
0xffff8800014d0000-0xffff8800014d1000           4K USR ro                 x=
  pte
0xffff8800014d1000-0xffff8800014d3000           8K USR ro                 x=
  pte
0xffff8800014d3000-0xffff8800014d4000           4K USR ro                 x=
  pte
0xffff8800014d4000-0xffff8800014d6000           8K USR ro                 x=
  pte
0xffff8800014d6000-0xffff8800014d7000           4K USR ro                 x=
  pte
0xffff8800014d7000-0xffff8800014db000          16K USR ro                 x=
  pte
0xffff8800014db000-0xffff8800014dc000           4K USR ro                 x=
  pte
0xffff8800014dc000-0xffff8800014de000           8K USR ro                 x=
  pte
0xffff8800014de000-0xffff8800014df000           4K USR ro                 x=
  pte
0xffff8800014df000-0xffff8800014e3000          16K USR ro                 x=
  pte
0xffff8800014e3000-0xffff8800014e7000          16K USR ro                 x=
  pte
0xffff8800014e7000-0xffff8800014e8000           4K USR ro                 x=
  pte
0xffff8800014e8000-0xffff8800014e9000           4K USR ro                 x=
  pte
0xffff8800014e9000-0xffff8800014f1000          32K USR ro                 x=
  pte
0xffff8800014f1000-0xffff8800014f2000           4K USR ro                 x=
  pte
0xffff8800014f2000-0xffff8800014f6000          16K USR ro                 x=
  pte
0xffff8800014f6000-0xffff8800014f7000           4K USR ro                 x=
  pte
0xffff8800014f7000-0xffff8800014f8000           4K USR ro                 x=
  pte
0xffff8800014f8000-0xffff8800014f9000           4K USR ro                 x=
  pte
0xffff8800014f9000-0xffff8800014fe000          20K USR ro                 x=
  pte
0xffff8800014fe000-0xffff880001503000          20K USR ro                 x=
  pte
0xffff880001503000-0xffff880001508000          20K USR ro                 x=
  pte
0xffff880001508000-0xffff88000150d000          20K USR ro                 x=
  pte
0xffff88000150d000-0xffff880001511000          16K USR ro                 x=
  pte
0xffff880001511000-0xffff880001513000           8K USR ro                 x=
  pte
0xffff880001513000-0xffff880001514000           4K USR ro                 x=
  pte
0xffff880001514000-0xffff880001515000           4K USR ro                 x=
  pte
0xffff880001515000-0xffff880001516000           4K USR ro                 x=
  pte
0xffff880001516000-0xffff88000151b000          20K USR ro                 x=
  pte
0xffff88000151b000-0xffff880001520000          20K USR ro                 x=
  pte
0xffff880001520000-0xffff880001521000           4K USR ro                 x=
  pte
0xffff880001521000-0xffff880001523000           8K USR ro                 x=
  pte
0xffff880001523000-0xffff880001525000           8K USR ro                 x=
  pte
0xffff880001525000-0xffff880001526000           4K USR ro                 x=
  pte
0xffff880001526000-0xffff880001529000          12K USR ro                 x=
  pte
0xffff880001529000-0xffff88000152a000           4K USR ro                 x=
  pte
0xffff88000152a000-0xffff88000152b000           4K USR ro                 x=
  pte
0xffff88000152b000-0xffff88000152e000          12K USR ro                 x=
  pte
0xffff88000152e000-0xffff880001533000          20K USR ro                 x=
  pte
0xffff880001533000-0xffff880001535000           8K USR ro                 x=
  pte
0xffff880001535000-0xffff880001537000           8K USR ro                 x=
  pte
0xffff880001537000-0xffff880001538000           4K USR ro                 x=
  pte
0xffff880001538000-0xffff880001539000           4K USR ro                 x=
  pte
0xffff880001539000-0xffff88000153b000           8K USR ro                 x=
  pte
0xffff88000153b000-0xffff88000153d000           8K USR ro                 x=
  pte
0xffff88000153d000-0xffff880001541000          16K USR ro                 x=
  pte
0xffff880001541000-0xffff880001542000           4K USR ro                 x=
  pte
0xffff880001542000-0xffff880001544000           8K USR ro                 x=
  pte
0xffff880001544000-0xffff880001545000           4K USR ro                 x=
  pte
0xffff880001545000-0xffff880001547000           8K USR ro                 x=
  pte
0xffff880001547000-0xffff880001551000          40K USR ro                 x=
  pte
0xffff880001551000-0xffff880001552000           4K USR ro                 x=
  pte
0xffff880001552000-0xffff880001554000           8K USR ro                 x=
  pte
0xffff880001554000-0xffff880001555000           4K USR ro                 x=
  pte
0xffff880001555000-0xffff88000155d000          32K USR ro                 x=
  pte
0xffff88000155d000-0xffff88000155f000           8K USR ro                 x=
  pte
0xffff88000155f000-0xffff880001563000          16K USR ro                 x=
  pte
0xffff880001563000-0xffff880001566000          12K USR ro                 x=
  pte
0xffff880001566000-0xffff880001567000           4K USR ro                 x=
  pte
0xffff880001567000-0xffff880001568000           4K USR ro                 x=
  pte
0xffff880001568000-0xffff88000156a000           8K USR ro                 x=
  pte
0xffff88000156a000-0xffff88000156b000           4K USR ro                 x=
  pte
0xffff88000156b000-0xffff880001572000          28K USR ro                 x=
  pte
0xffff880001572000-0xffff880001573000           4K USR ro                 x=
  pte
0xffff880001573000-0xffff880001576000          12K USR ro                 x=
  pte
0xffff880001576000-0xffff880001577000           4K USR ro                 x=
  pte
0xffff880001577000-0xffff880001578000           4K USR ro                 x=
  pte
0xffff880001578000-0xffff880001579000           4K USR ro                 x=
  pte
0xffff880001579000-0xffff88000157a000           4K USR ro                 x=
  pte
0xffff88000157a000-0xffff88000157b000           4K USR ro                 x=
  pte
0xffff88000157b000-0xffff88000157d000           8K USR ro                 x=
  pte
0xffff88000157d000-0xffff88000157f000           8K USR ro                 x=
  pte
0xffff88000157f000-0xffff880001582000          12K USR ro                 x=
  pte
0xffff880001582000-0xffff880001584000           8K USR ro                 x=
  pte
0xffff880001584000-0xffff880001586000           8K USR ro                 x=
  pte
0xffff880001586000-0xffff880001588000           8K USR ro                 x=
  pte
0xffff880001588000-0xffff880001589000           4K USR ro                 x=
  pte
0xffff880001589000-0xffff88000158d000          16K USR ro                 x=
  pte
0xffff88000158d000-0xffff88000158f000           8K USR ro                 x=
  pte
0xffff88000158f000-0xffff880001593000          16K USR ro                 x=
  pte
0xffff880001593000-0xffff880001594000           4K USR ro                 x=
  pte
0xffff880001594000-0xffff880001595000           4K USR ro                 x=
  pte
0xffff880001595000-0xffff880001596000           4K USR ro                 x=
  pte
0xffff880001596000-0xffff880001599000          12K USR ro                 x=
  pte
0xffff880001599000-0xffff8800015ab000          72K USR ro                 x=
  pte
0xffff8800015ab000-0xffff8800015ac000           4K USR ro                 x=
  pte
0xffff8800015ac000-0xffff8800015b0000          16K USR ro                 x=
  pte
0xffff8800015b0000-0xffff8800015b1000           4K USR ro                 x=
  pte
0xffff8800015b1000-0xffff8800015b7000          24K USR ro                 x=
  pte
0xffff8800015b7000-0xffff880001600000         292K USR RW                 N=
X pte
0xffff880001600000-0xffff88000179c000        1648K USR ro                 N=
X pte
0xffff88000179c000-0xffff880001800000         400K USR RW                 N=
X pte
0xffff880001800000-0xffff880001802000           8K USR RW                 x=
  pte
0xffff880001802000-0xffff880001803000           4K USR RW                 x=
  pte
0xffff880001803000-0xffff880001805000           8K USR RW                 x=
  pte
0xffff880001805000-0xffff88000180b000          24K USR RW                 x=
  pte
0xffff88000180b000-0xffff88000180f000          16K USR ro                 x=
  pte
0xffff88000180f000-0xffff880001810000           4K USR RW                 x=
  pte
0xffff880001810000-0xffff880001812000           8K USR ro                 x=
  pte
0xffff880001812000-0xffff880001813000           4K USR RW                 x=
  pte
0xffff880001813000-0xffff880001815000           8K USR RW                 x=
  pte
0xffff880001815000-0xffff880001816000           4K USR RW                 x=
  pte
0xffff880001816000-0xffff880001818000           8K USR RW                 x=
  pte
0xffff880001818000-0xffff88000181a000           8K USR RW                 x=
  pte
0xffff88000181a000-0xffff88000181d000          12K USR RW                 x=
  pte
0xffff88000181d000-0xffff88000181e000           4K USR RW                 x=
  pte
0xffff88000181e000-0xffff880001832000          80K USR RW                 x=
  pte
0xffff880001832000-0xffff880001834000           8K USR RW                 x=
  pte
0xffff880001834000-0xffff88000183a000          24K USR RW                 x=
  pte
0xffff88000183a000-0xffff88000183d000          12K USR RW                 x=
  pte
0xffff88000183d000-0xffff880001841000          16K USR RW                 x=
  pte
0xffff880001841000-0xffff880001843000           8K USR RW                 x=
  pte
0xffff880001843000-0xffff880001845000           8K USR RW                 x=
  pte
0xffff880001845000-0xffff880001846000           4K USR RW                 x=
  pte
0xffff880001846000-0xffff880001849000          12K USR RW                 x=
  pte
0xffff880001849000-0xffff88000184a000           4K USR RW                 x=
  pte
0xffff88000184a000-0xffff88000184f000          20K USR RW                 x=
  pte
0xffff88000184f000-0xffff880001850000           4K USR RW                 x=
  pte
0xffff880001850000-0xffff880001885000         212K USR RW                 x=
  pte
0xffff880001885000-0xffff880001938000         716K USR RW                 N=
X pte
0xffff880001938000-0xffff88000193a000           8K USR RW                 x=
  pte
0xffff88000193a000-0xffff88000193b000           4K USR ro                 x=
  pte
0xffff88000193b000-0xffff88000193d000           8K USR RW                 x=
  pte
0xffff88000193d000-0xffff88000193e000           4K USR ro                 x=
  pte
0xffff88000193e000-0xffff880001948000          40K USR RW                 x=
  pte
0xffff880001948000-0xffff88000194a000           8K USR RW                 x=
  pte
0xffff88000194a000-0xffff88000194c000           8K USR RW                 x=
  pte
0xffff88000194c000-0xffff88000196c000         128K USR RW                 x=
  pte
0xffff88000196c000-0xffff88000196d000           4K USR RW                 x=
  pte
0xffff88000196d000-0xffff880001970000          12K USR RW                 x=
  pte
0xffff880001970000-0xffff880001971000           4K USR RW                 x=
  pte
0xffff880001971000-0xffff880001972000           4K USR RW                 x=
  pte
0xffff880001972000-0xffff880001973000           4K USR RW                 x=
  pte
0xffff880001973000-0xffff880001975000           8K USR RW                 x=
  pte
0xffff880001975000-0xffff880001976000           4K USR RW                 x=
  pte
0xffff880001976000-0xffff880001977000           4K USR RW                 x=
  pte
0xffff880001977000-0xffff88000197b000          16K USR RW                 x=
  pte
0xffff88000197b000-0xffff8800019b9000         248K USR RW                 x=
  pte
0xffff8800019b9000-0xffff8800019c0000          28K USR RW                 x=
  pte
0xffff8800019c0000-0xffff8800019df000         124K USR RW                 x=
  pte
0xffff8800019df000-0xffff8800019e8000          36K USR RW                 x=
  pte
0xffff8800019e8000-0xffff8800019f1000          36K USR RW                 x=
  pte
0xffff8800019f1000-0xffff8800019f2000           4K USR RW                 x=
  pte
0xffff8800019f2000-0xffff8800019f3000           4K USR RW                 x=
  pte
0xffff8800019f3000-0xffff8800019f5000           8K USR RW                 x=
  pte
0xffff8800019f5000-0xffff8800019f8000          12K USR RW                 x=
  pte
0xffff8800019f8000-0xffff880001a0a000          72K USR RW                 x=
  pte
0xffff880001a0a000-0xffff880001a0f000          20K USR RW                 x=
  pte
0xffff880001a0f000-0xffff880001a1c000          52K USR RW                 x=
  pte
0xffff880001a1c000-0xffff880001a1d000           4K USR RW                 x=
  pte
0xffff880001a1d000-0xffff880001aa4000         540K USR RW                 x=
  pte
0xffff880001aa4000-0xffff880001aa8000          16K USR ro                 x=
  pte
0xffff880001aa8000-0xffff880001b28000         512K USR RW                 x=
  pte
0xffff880001b28000-0xffff880001e3d000        3156K USR RW                 x=
  pte
0xffff880001e3d000-0xffff88000fc93000      227672K USR RW                 N=
X pte
0xffff88000fc93000-0xffff88001f694000      256004K USR RW                 x=
  pte
0xffff88001f694000-0xffff88001f696000           8K USR RW                 x=
  pte
0xffff88001f696000-0xffff88001f797000        1028K USR ro                 x=
  pte
0xffff88001f797000-0xffff88001fc00000        4516K USR RW                 x=
  pte
0xffff88001fc00000-0xffff880020400000           8M USR RW                 x=
  pte
0xffff880020400000-0xffff8800f057d000     3409396K USR RW                 N=
X pte
0xffff8800f057d000-0xffff8800ff7fb000      248312K USR ro                 N=
X pte
0xffff8800ff7fb000-0xffff881eb3801000   124583960K USR RW                 N=
X pte
0xffff881eb3801000-0xffff881eb3802000           4K USR ro                 N=
X pte
0xffff881eb3802000-0xffff881eb3838000         216K USR RW                 N=
X pte
0xffff881eb3838000-0xffff881eb3839000           4K USR ro                 N=
X pte
0xffff881eb3839000-0xffff881eb384d000          80K USR RW                 N=
X pte
0xffff881eb384d000-0xffff881eb384e000           4K USR ro                 N=
X pte
0xffff881eb384e000-0xffff881eb3888000         232K USR RW                 N=
X pte
0xffff881eb3888000-0xffff881eb3889000           4K USR ro                 N=
X pte
0xffff881eb3889000-0xffff881eb388f000          24K USR RW                 N=
X pte
0xffff881eb388f000-0xffff881eb3892000          12K USR ro                 N=
X pte
0xffff881eb3892000-0xffff881eb3894000           8K USR RW                 N=
X pte
0xffff881eb3894000-0xffff881eb3896000           8K USR ro                 N=
X pte
0xffff881eb3896000-0xffff881eb389a000          16K USR RW                 N=
X pte
0xffff881eb389a000-0xffff881eb389b000           4K USR ro                 N=
X pte
0xffff881eb389b000-0xffff881eb389c000           4K USR RW                 N=
X pte
0xffff881eb389c000-0xffff881eb389d000           4K USR ro                 N=
X pte
0xffff881eb389d000-0xffff881eb389e000           4K USR RW                 N=
X pte
0xffff881eb389e000-0xffff881eb38a0000           8K USR ro                 N=
X pte
0xffff881eb38a0000-0xffff881eb38a3000          12K USR RW                 N=
X pte
0xffff881eb38a3000-0xffff881eb38a7000          16K USR ro                 N=
X pte
0xffff881eb38a7000-0xffff881eb38aa000          12K USR RW                 N=
X pte
0xffff881eb38aa000-0xffff881eb38ac000           8K USR ro                 N=
X pte
0xffff881eb38ac000-0xffff881eb38ae000           8K USR RW                 N=
X pte
0xffff881eb38ae000-0xffff881eb38af000           4K USR ro                 N=
X pte
0xffff881eb38af000-0xffff881eb38bc000          52K USR RW                 N=
X pte
0xffff881eb38bc000-0xffff881eb38c0000          16K USR ro                 N=
X pte
0xffff881eb38c0000-0xffff881eb3c36000        3544K USR RW                 N=
X pte
0xffff881eb3c36000-0xffff881eb3c37000           4K USR ro                 N=
X pte
0xffff881eb3c37000-0xffff881eb3c80000         292K USR RW                 N=
X pte
0xffff881eb3c80000-0xffff881eb3c82000           8K USR ro                 N=
X pte
0xffff881eb3c82000-0xffff881eb3f30000        2744K USR RW                 N=
X pte
0xffff881eb3f30000-0xffff881eb3f34000          16K USR ro                 N=
X pte
0xffff881eb3f34000-0xffff881eb3f52000         120K USR RW                 N=
X pte
0xffff881eb3f52000-0xffff881eb3f54000           8K USR ro                 N=
X pte
0xffff881eb3f54000-0xffff881eb3f61000          52K USR RW                 N=
X pte
0xffff881eb3f61000-0xffff881eb3f62000           4K USR ro                 N=
X pte
0xffff881eb3f62000-0xffff881eb3fae000         304K USR RW                 N=
X pte
0xffff881eb3fae000-0xffff881eb3fb2000          16K USR ro                 N=
X pte
0xffff881eb3fb2000-0xffff881eb3fb3000           4K USR RW                 N=
X pte
0xffff881eb3fb3000-0xffff881eb3fb6000          12K USR ro                 N=
X pte
0xffff881eb3fb6000-0xffff881eb3fb7000           4K USR RW                 N=
X pte
0xffff881eb3fb7000-0xffff881eb3fbf000          32K USR ro                 N=
X pte
0xffff881eb3fbf000-0xffff881eb3fc3000          16K USR RW                 N=
X pte
0xffff881eb3fc3000-0xffff881eb3fca000          28K USR ro                 N=
X pte
0xffff881eb3fca000-0xffff881eb3fcb000           4K USR RW                 N=
X pte
0xffff881eb3fcb000-0xffff881eb3fcc000           4K USR ro                 N=
X pte
0xffff881eb3fcc000-0xffff881eb3fd5000          36K USR RW                 N=
X pte
0xffff881eb3fd5000-0xffff881eb3fd7000           8K USR ro                 N=
X pte
0xffff881eb3fd7000-0xffff881eb3fdb000          16K USR RW                 N=
X pte
0xffff881eb3fdb000-0xffff881eb3fdd000           8K USR ro                 N=
X pte
0xffff881eb3fdd000-0xffff881eb3fef000          72K USR RW                 N=
X pte
0xffff881eb3fef000-0xffff881eb3ff1000           8K USR ro                 N=
X pte
0xffff881eb3ff1000-0xffff881eb3ff3000           8K USR RW                 N=
X pte
0xffff881eb3ff3000-0xffff881eb3ff4000           4K USR ro                 N=
X pte
0xffff881eb3ff4000-0xffff881eb3ff8000          16K USR RW                 N=
X pte
0xffff881eb3ff8000-0xffff881eb3ff9000           4K USR ro                 N=
X pte
0xffff881eb3ff9000-0xffff881eb3ffb000           8K USR RW                 N=
X pte
0xffff881eb3ffb000-0xffff881eb3ffc000           4K USR ro                 N=
X pte
0xffff881eb3ffc000-0xffff881eb4023000         156K USR RW                 N=
X pte
0xffff881eb4023000-0xffff881eb4024000           4K USR ro                 N=
X pte
0xffff881eb4024000-0xffff881eb402b000          28K USR RW                 N=
X pte
0xffff881eb402b000-0xffff881eb4030000          20K USR ro                 N=
X pte
0xffff881eb4030000-0xffff881eb4035000          20K USR RW                 N=
X pte
0xffff881eb4035000-0xffff881eb4037000           8K USR ro                 N=
X pte
0xffff881eb4037000-0xffff881eb4038000           4K USR RW                 N=
X pte
0xffff881eb4038000-0xffff881eb4039000           4K USR ro                 N=
X pte
0xffff881eb4039000-0xffff881eb403a000           4K USR RW                 N=
X pte
0xffff881eb403a000-0xffff881eb403b000           4K USR ro                 N=
X pte
0xffff881eb403b000-0xffff881eb4041000          24K USR RW                 N=
X pte
0xffff881eb4041000-0xffff881eb4044000          12K USR ro                 N=
X pte
0xffff881eb4044000-0xffff881eb431a000        2904K USR RW                 N=
X pte
0xffff881eb431a000-0xffff881eb431c000           8K USR ro                 N=
X pte
0xffff881eb431c000-0xffff881eb4389000         436K USR RW                 N=
X pte
0xffff881eb4389000-0xffff881eb438a000           4K USR ro                 N=
X pte
0xffff881eb438a000-0xffff881eb5a16000       23088K USR RW                 N=
X pte
0xffff881eb5a16000-0xffff881eb5a17000           4K USR ro                 N=
X pte
0xffff881eb5a17000-0xffff881eb5a31000         104K USR RW                 N=
X pte
0xffff881eb5a31000-0xffff881eb5a32000           4K USR ro                 N=
X pte
0xffff881eb5a32000-0xffff881eb5a36000          16K USR RW                 N=
X pte
0xffff881eb5a36000-0xffff881eb5a38000           8K USR ro                 N=
X pte
0xffff881eb5a38000-0xffff881eb5b57000        1148K USR RW                 N=
X pte
0xffff881eb5b57000-0xffff881eb5b58000           4K USR ro                 N=
X pte
0xffff881eb5b58000-0xffff881eb5b5a000           8K USR RW                 N=
X pte
0xffff881eb5b5a000-0xffff881eb5b5d000          12K USR ro                 N=
X pte
0xffff881eb5b5d000-0xffff881eb5b61000          16K USR RW                 N=
X pte
0xffff881eb5b61000-0xffff881eb5b71000          64K USR ro                 N=
X pte
0xffff881eb5b71000-0xffff881eb5b74000          12K USR RW                 N=
X pte
0xffff881eb5b74000-0xffff881eb5b76000           8K USR ro                 N=
X pte
0xffff881eb5b76000-0xffff881eb5b77000           4K USR RW                 N=
X pte
0xffff881eb5b77000-0xffff881eb5b78000           4K USR ro                 N=
X pte
0xffff881eb5b78000-0xffff881eb5b79000           4K USR RW                 N=
X pte
0xffff881eb5b79000-0xffff881eb5b7b000           8K USR ro                 N=
X pte
0xffff881eb5b7b000-0xffff881eb5b7f000          16K USR RW                 N=
X pte
0xffff881eb5b7f000-0xffff881eb5b86000          28K USR ro                 N=
X pte
0xffff881eb5b86000-0xffff881eb5b87000           4K USR RW                 N=
X pte
0xffff881eb5b87000-0xffff881eb5b89000           8K USR ro                 N=
X pte
0xffff881eb5b89000-0xffff881eb5b96000          52K USR RW                 N=
X pte
0xffff881eb5b96000-0xffff881eb5b97000           4K USR ro                 N=
X pte
0xffff881eb5b97000-0xffff881eb5bc9000         200K USR RW                 N=
X pte
0xffff881eb5bc9000-0xffff881eb5bca000           4K USR ro                 N=
X pte
0xffff881eb5bca000-0xffff881eb5bd6000          48K USR RW                 N=
X pte
0xffff881eb5bd6000-0xffff881eb5bd7000           4K USR ro                 N=
X pte
0xffff881eb5bd7000-0xffff881eb5bda000          12K USR RW                 N=
X pte
0xffff881eb5bda000-0xffff881eb5bdb000           4K USR ro                 N=
X pte
0xffff881eb5bdb000-0xffff881eb5bed000          72K USR RW                 N=
X pte
0xffff881eb5bed000-0xffff881eb5bee000           4K USR ro                 N=
X pte
0xffff881eb5bee000-0xffff881eb5bf0000           8K USR RW                 N=
X pte
0xffff881eb5bf0000-0xffff881eb5bf1000           4K USR ro                 N=
X pte
0xffff881eb5bf1000-0xffff881eb5bf8000          28K USR RW                 N=
X pte
0xffff881eb5bf8000-0xffff881eb5bf9000           4K USR ro                 N=
X pte
0xffff881eb5bf9000-0xffff881eb5bfe000          20K USR RW                 N=
X pte
0xffff881eb5bfe000-0xffff881eb5c00000           8K USR ro                 N=
X pte
0xffff881eb5c00000-0xffff881eb7600000          26M USR RW                 N=
X pte
0xffff881eb7600000-0xffff881eb761b000         108K USR ro                 N=
X pte
0xffff881eb761b000-0xffff881eb7622000          28K USR RW                 N=
X pte
0xffff881eb7622000-0xffff881eb7626000          16K USR ro                 N=
X pte
0xffff881eb7626000-0xffff881eb7627000           4K USR RW                 N=
X pte
0xffff881eb7627000-0xffff881eb7628000           4K USR ro                 N=
X pte
0xffff881eb7628000-0xffff881eb7629000           4K USR RW                 N=
X pte
0xffff881eb7629000-0xffff881eb762a000           4K USR ro                 N=
X pte
0xffff881eb762a000-0xffff881eb7631000          28K USR RW                 N=
X pte
0xffff881eb7631000-0xffff881eb7632000           4K USR ro                 N=
X pte
0xffff881eb7632000-0xffff881eb7633000           4K USR RW                 N=
X pte
0xffff881eb7633000-0xffff881eb7634000           4K USR ro                 N=
X pte
0xffff881eb7634000-0xffff881eb7640000          48K USR RW                 N=
X pte
0xffff881eb7640000-0xffff881eb76f4000         720K USR ro                 N=
X pte
0xffff881eb76f4000-0xffff881eb77a9000         724K USR RW                 N=
X pte
0xffff881eb77a9000-0xffff881eb77aa000           4K USR ro                 N=
X pte
0xffff881eb77aa000-0xffff881eb77b4000          40K USR RW                 N=
X pte
0xffff881eb77b4000-0xffff881eb77ba000          24K USR ro                 N=
X pte
0xffff881eb77ba000-0xffff881eb77bb000           4K USR RW                 N=
X pte
0xffff881eb77bb000-0xffff881eb77bc000           4K USR ro                 N=
X pte
0xffff881eb77bc000-0xffff881eb77c8000          48K USR RW                 N=
X pte
0xffff881eb77c8000-0xffff881eb77ca000           8K USR ro                 N=
X pte
0xffff881eb77ca000-0xffff881eb77cb000           4K USR RW                 N=
X pte
0xffff881eb77cb000-0xffff881eb77cc000           4K USR ro                 N=
X pte
0xffff881eb77cc000-0xffff881eb77ce000           8K USR RW                 N=
X pte
0xffff881eb77ce000-0xffff881eb77d0000           8K USR ro                 N=
X pte
0xffff881eb77d0000-0xffff881eb77da000          40K USR RW                 N=
X pte
0xffff881eb77da000-0xffff881eb77dd000          12K USR ro                 N=
X pte
0xffff881eb77dd000-0xffff881eb77df000           8K USR RW                 N=
X pte
0xffff881eb77df000-0xffff881eb77e0000           4K USR ro                 N=
X pte
0xffff881eb77e0000-0xffff881eb77ee000          56K USR RW                 N=
X pte
0xffff881eb77ee000-0xffff881eb77f0000           8K USR ro                 N=
X pte
0xffff881eb77f0000-0xffff881ebb489000       62052K USR RW                 N=
X pte
0xffff881ebb489000-0xffff881ebb48c000          12K USR ro                 N=
X pte
0xffff881ebb48c000-0xffff881ebb48f000          12K USR RW                 N=
X pte
0xffff881ebb48f000-0xffff881ebb491000           8K USR ro                 N=
X pte
0xffff881ebb491000-0xffff881ebb495000          16K USR RW                 N=
X pte
0xffff881ebb495000-0xffff881ebb49a000          20K USR ro                 N=
X pte
0xffff881ebb49a000-0xffff881ebb49c000           8K USR RW                 N=
X pte
0xffff881ebb49c000-0xffff881ebb49d000           4K USR ro                 N=
X pte
0xffff881ebb49d000-0xffff881ebb49e000           4K USR RW                 N=
X pte
0xffff881ebb49e000-0xffff881ebb49f000           4K USR ro                 N=
X pte
0xffff881ebb49f000-0xffff881ebb4a2000          12K USR RW                 N=
X pte
0xffff881ebb4a2000-0xffff881ebb4a3000           4K USR ro                 N=
X pte
0xffff881ebb4a3000-0xffff881ebb4a6000          12K USR RW                 N=
X pte
0xffff881ebb4a6000-0xffff881ebb4a8000           8K USR ro                 N=
X pte
0xffff881ebb4a8000-0xffff881ebb4af000          28K USR RW                 N=
X pte
0xffff881ebb4af000-0xffff881ebb4b0000           4K USR ro                 N=
X pte
0xffff881ebb4b0000-0xffff881ebb4b1000           4K USR RW                 N=
X pte
0xffff881ebb4b1000-0xffff881ebb4b6000          20K USR ro                 N=
X pte
0xffff881ebb4b6000-0xffff881ebb4bf000          36K USR RW                 N=
X pte
0xffff881ebb4bf000-0xffff881ebb4c0000           4K USR ro                 N=
X pte
0xffff881ebb4c0000-0xffff881ebb4c9000          36K USR RW                 N=
X pte
0xffff881ebb4c9000-0xffff881ebb4ca000           4K USR ro                 N=
X pte
0xffff881ebb4ca000-0xffff881ebb4ce000          16K USR RW                 N=
X pte
0xffff881ebb4ce000-0xffff881ebb4cf000           4K USR ro                 N=
X pte
0xffff881ebb4cf000-0xffff881ebb4d0000           4K USR RW                 N=
X pte
0xffff881ebb4d0000-0xffff881ebb4d4000          16K USR ro                 N=
X pte
0xffff881ebb4d4000-0xffff881ebb4d5000           4K USR RW                 N=
X pte
0xffff881ebb4d5000-0xffff881ebb4d6000           4K USR ro                 N=
X pte
0xffff881ebb4d6000-0xffff881ebb4d7000           4K USR RW                 N=
X pte
0xffff881ebb4d7000-0xffff881ebb4d8000           4K USR ro                 N=
X pte
0xffff881ebb4d8000-0xffff881ebb4db000          12K USR RW                 N=
X pte
0xffff881ebb4db000-0xffff881ebb4dc000           4K USR ro                 N=
X pte
0xffff881ebb4dc000-0xffff881ebb4e0000          16K USR RW                 N=
X pte
0xffff881ebb4e0000-0xffff881ebb4e1000           4K USR ro                 N=
X pte
0xffff881ebb4e1000-0xffff881ebb4ea000          36K USR RW                 N=
X pte
0xffff881ebb4ea000-0xffff881ebb4eb000           4K USR ro                 N=
X pte
0xffff881ebb4eb000-0xffff881ebb4f9000          56K USR RW                 N=
X pte
0xffff881ebb4f9000-0xffff881ebb4fa000           4K USR ro                 N=
X pte
0xffff881ebb4fa000-0xffff881ebb4ff000          20K USR RW                 N=
X pte
0xffff881ebb4ff000-0xffff881ebb500000           4K USR ro                 N=
X pte
0xffff881ebb500000-0xffff881ebb684000        1552K USR RW                 N=
X pte
0xffff881ebb684000-0xffff881ebb686000           8K USR ro                 N=
X pte
0xffff881ebb686000-0xffff881ebb68c000          24K USR RW                 N=
X pte
0xffff881ebb68c000-0xffff881ebb68d000           4K USR ro                 N=
X pte
0xffff881ebb68d000-0xffff881ebb68f000           8K USR RW                 N=
X pte
0xffff881ebb68f000-0xffff881ebb690000           4K USR ro                 N=
X pte
0xffff881ebb690000-0xffff881ebb6a6000          88K USR RW                 N=
X pte
0xffff881ebb6a6000-0xffff881ebb6a8000           8K USR ro                 N=
X pte
0xffff881ebb6a8000-0xffff881ebb6b7000          60K USR RW                 N=
X pte
0xffff881ebb6b7000-0xffff881ebb6b8000           4K USR ro                 N=
X pte
0xffff881ebb6b8000-0xffff881ebb6bb000          12K USR RW                 N=
X pte
0xffff881ebb6bb000-0xffff881ebb6bc000           4K USR ro                 N=
X pte
0xffff881ebb6bc000-0xffff881ebb6c4000          32K USR RW                 N=
X pte
0xffff881ebb6c4000-0xffff881ebb6d0000          48K USR ro                 N=
X pte
0xffff881ebb6d0000-0xffff881ebb6d1000           4K USR RW                 N=
X pte
0xffff881ebb6d1000-0xffff881ebb6d4000          12K USR ro                 N=
X pte
0xffff881ebb6d4000-0xffff881ebb6d9000          20K USR RW                 N=
X pte
0xffff881ebb6d9000-0xffff881ebb6db000           8K USR ro                 N=
X pte
0xffff881ebb6db000-0xffff881ebb6de000          12K USR RW                 N=
X pte
0xffff881ebb6de000-0xffff881ebb6df000           4K USR ro                 N=
X pte
0xffff881ebb6df000-0xffff881ebb6e5000          24K USR RW                 N=
X pte
0xffff881ebb6e5000-0xffff881ebb6e6000           4K USR ro                 N=
X pte
0xffff881ebb6e6000-0xffff881ebbf06000        8320K USR RW                 N=
X pte
0xffff881ebbf06000-0xffff881ebbf08000           8K USR ro                 N=
X pte
0xffff881ebbf08000-0xffff881ebbf0e000          24K USR RW                 N=
X pte
0xffff881ebbf0e000-0xffff881ebbf10000           8K USR ro                 N=
X pte
0xffff881ebbf10000-0xffff881ebbf11000           4K USR RW                 N=
X pte
0xffff881ebbf11000-0xffff881ebbf13000           8K USR ro                 N=
X pte
0xffff881ebbf13000-0xffff881ebbf14000           4K USR RW                 N=
X pte
0xffff881ebbf14000-0xffff881ebbf19000          20K USR ro                 N=
X pte
0xffff881ebbf19000-0xffff881ebbf24000          44K USR RW                 N=
X pte
0xffff881ebbf24000-0xffff881ebbf25000           4K USR ro                 N=
X pte
0xffff881ebbf25000-0xffff881ebbf26000           4K USR RW                 N=
X pte
0xffff881ebbf26000-0xffff881ebbf27000           4K USR ro                 N=
X pte
0xffff881ebbf27000-0xffff881ebbf30000          36K USR RW                 N=
X pte
0xffff881ebbf30000-0xffff881ebbf31000           4K USR ro                 N=
X pte
0xffff881ebbf31000-0xffff881ebbf3c000          44K USR RW                 N=
X pte
0xffff881ebbf3c000-0xffff881ebbf3d000           4K USR ro                 N=
X pte
0xffff881ebbf3d000-0xffff881ebbf41000          16K USR RW                 N=
X pte
0xffff881ebbf41000-0xffff881ebbf42000           4K USR ro                 N=
X pte
0xffff881ebbf42000-0xffff881ebbf5e000         112K USR RW                 N=
X pte
0xffff881ebbf5e000-0xffff881ebbf5f000           4K USR ro                 N=
X pte
0xffff881ebbf5f000-0xffff881ebbf68000          36K USR RW                 N=
X pte
0xffff881ebbf68000-0xffff881ebbf69000           4K USR ro                 N=
X pte
0xffff881ebbf69000-0xffff881ebbf81000          96K USR RW                 N=
X pte
0xffff881ebbf81000-0xffff881ebbf83000           8K USR ro                 N=
X pte
0xffff881ebbf83000-0xffff881ebbf84000           4K USR RW                 N=
X pte
0xffff881ebbf84000-0xffff881ebbf86000           8K USR ro                 N=
X pte
0xffff881ebbf86000-0xffff881ebbf8c000          24K USR RW                 N=
X pte
0xffff881ebbf8c000-0xffff881ebbf8d000           4K USR ro                 N=
X pte
0xffff881ebbf8d000-0xffff881ebbf8e000           4K USR RW                 N=
X pte
0xffff881ebbf8e000-0xffff881ebbf8f000           4K USR ro                 N=
X pte
0xffff881ebbf8f000-0xffff881ebbf90000           4K USR RW                 N=
X pte
0xffff881ebbf90000-0xffff881ebbf96000          24K USR ro                 N=
X pte
0xffff881ebbf96000-0xffff881ebbf9c000          24K USR RW                 N=
X pte
0xffff881ebbf9c000-0xffff881ebbfa0000          16K USR ro                 N=
X pte
0xffff881ebbfa0000-0xffff881ebbfa3000          12K USR RW                 N=
X pte
0xffff881ebbfa3000-0xffff881ebbfac000          36K USR ro                 N=
X pte
0xffff881ebbfac000-0xffff881ebbfae000           8K USR RW                 N=
X pte
0xffff881ebbfae000-0xffff881ebbfaf000           4K USR ro                 N=
X pte
0xffff881ebbfaf000-0xffff881ebbfb0000           4K USR RW                 N=
X pte
0xffff881ebbfb0000-0xffff881ebbfb1000           4K USR ro                 N=
X pte
0xffff881ebbfb1000-0xffff881ebbfb2000           4K USR RW                 N=
X pte
0xffff881ebbfb2000-0xffff881ebbfb4000           8K USR ro                 N=
X pte
0xffff881ebbfb4000-0xffff881ebbfc5000          68K USR RW                 N=
X pte
0xffff881ebbfc5000-0xffff881ebbfc7000           8K USR ro                 N=
X pte
0xffff881ebbfc7000-0xffff881ebbfe1000         104K USR RW                 N=
X pte
0xffff881ebbfe1000-0xffff881ebbfe2000           4K USR ro                 N=
X pte
0xffff881ebbfe2000-0xffff881ebbfe5000          12K USR RW                 N=
X pte
0xffff881ebbfe5000-0xffff881ebbfe8000          12K USR ro                 N=
X pte
0xffff881ebbfe8000-0xffff881ebbfed000          20K USR RW                 N=
X pte
0xffff881ebbfed000-0xffff881ebbfee000           4K USR ro                 N=
X pte
0xffff881ebbfee000-0xffff881ebbff2000          16K USR RW                 N=
X pte
0xffff881ebbff2000-0xffff881ebbff3000           4K USR ro                 N=
X pte
0xffff881ebbff3000-0xffff881ebbff6000          12K USR RW                 N=
X pte
0xffff881ebbff6000-0xffff881ebbfff000          36K USR ro                 N=
X pte
0xffff881ebbfff000-0xffff881ebc355000        3416K USR RW                 N=
X pte
0xffff881ebc355000-0xffff881ebc356000           4K USR ro                 N=
X pte
0xffff881ebc356000-0xffff881ebc35c000          24K USR RW                 N=
X pte
0xffff881ebc35c000-0xffff881ebc35e000           8K USR ro                 N=
X pte
0xffff881ebc35e000-0xffff881ebc362000          16K USR RW                 N=
X pte
0xffff881ebc362000-0xffff881ebc364000           8K USR ro                 N=
X pte
0xffff881ebc364000-0xffff881ebc366000           8K USR RW                 N=
X pte
0xffff881ebc366000-0xffff881ebc368000           8K USR ro                 N=
X pte
0xffff881ebc368000-0xffff881ebc372000          40K USR RW                 N=
X pte
0xffff881ebc372000-0xffff881ebc374000           8K USR ro                 N=
X pte
0xffff881ebc374000-0xffff881ebc376000           8K USR RW                 N=
X pte
0xffff881ebc376000-0xffff881ebc377000           4K USR ro                 N=
X pte
0xffff881ebc377000-0xffff881ebc37e000          28K USR RW                 N=
X pte
0xffff881ebc37e000-0xffff881ebc37f000           4K USR ro                 N=
X pte
0xffff881ebc37f000-0xffff881ebc385000          24K USR RW                 N=
X pte
0xffff881ebc385000-0xffff881ebc387000           8K USR ro                 N=
X pte
0xffff881ebc387000-0xffff881ebc388000           4K USR RW                 N=
X pte
0xffff881ebc388000-0xffff881ebc38a000           8K USR ro                 N=
X pte
0xffff881ebc38a000-0xffff881ebc38c000           8K USR RW                 N=
X pte
0xffff881ebc38c000-0xffff881ebc38f000          12K USR ro                 N=
X pte
0xffff881ebc38f000-0xffff881ebc392000          12K USR RW                 N=
X pte
0xffff881ebc392000-0xffff881ebc393000           4K USR ro                 N=
X pte
0xffff881ebc393000-0xffff881ebc395000           8K USR RW                 N=
X pte
0xffff881ebc395000-0xffff881ebc396000           4K USR ro                 N=
X pte
0xffff881ebc396000-0xffff881ebc39c000          24K USR RW                 N=
X pte
0xffff881ebc39c000-0xffff881ebc39e000           8K USR ro                 N=
X pte
0xffff881ebc39e000-0xffff881ebc39f000           4K USR RW                 N=
X pte
0xffff881ebc39f000-0xffff881ebc3a0000           4K USR ro                 N=
X pte
0xffff881ebc3a0000-0xffff881ebc3a2000           8K USR RW                 N=
X pte
0xffff881ebc3a2000-0xffff881ebc3a4000           8K USR ro                 N=
X pte
0xffff881ebc3a4000-0xffff881ebc3a5000           4K USR RW                 N=
X pte
0xffff881ebc3a5000-0xffff881ebc3a6000           4K USR ro                 N=
X pte
0xffff881ebc3a6000-0xffff881ebc3aa000          16K USR RW                 N=
X pte
0xffff881ebc3aa000-0xffff881ebc3ab000           4K USR ro                 N=
X pte
0xffff881ebc3ab000-0xffff881ebc3ad000           8K USR RW                 N=
X pte
0xffff881ebc3ad000-0xffff881ebc3ae000           4K USR ro                 N=
X pte
0xffff881ebc3ae000-0xffff881ebc3af000           4K USR RW                 N=
X pte
0xffff881ebc3af000-0xffff881ebc3b0000           4K USR ro                 N=
X pte
0xffff881ebc3b0000-0xffff881ebc3c5000          84K USR RW                 N=
X pte
0xffff881ebc3c5000-0xffff881ebc3c6000           4K USR ro                 N=
X pte
0xffff881ebc3c6000-0xffff881ebc3d0000          40K USR RW                 N=
X pte
0xffff881ebc3d0000-0xffff881ebc3d2000           8K USR ro                 N=
X pte
0xffff881ebc3d2000-0xffff881ebc3d4000           8K USR RW                 N=
X pte
0xffff881ebc3d4000-0xffff881ebc3d5000           4K USR ro                 N=
X pte
0xffff881ebc3d5000-0xffff881ebc3d8000          12K USR RW                 N=
X pte
0xffff881ebc3d8000-0xffff881ebc3da000           8K USR ro                 N=
X pte
0xffff881ebc3da000-0xffff881ebc3f9000         124K USR RW                 N=
X pte
0xffff881ebc3f9000-0xffff881ebc3fa000           4K USR ro                 N=
X pte
0xffff881ebc3fa000-0xffff881ebe71a000       35968K USR RW                 N=
X pte
0xffff881ebe71a000-0xffff881ebe71d000          12K USR ro                 N=
X pte
0xffff881ebe71d000-0xffff881ebe71e000           4K USR RW                 N=
X pte
0xffff881ebe71e000-0xffff881ebe71f000           4K USR ro                 N=
X pte
0xffff881ebe71f000-0xffff881ebe721000           8K USR RW                 N=
X pte
0xffff881ebe721000-0xffff881ebe723000           8K USR ro                 N=
X pte
0xffff881ebe723000-0xffff881ec1283000       44416K USR RW                 N=
X pte
0xffff881ec1283000-0xffff881ec1400000        1524K USR ro                 N=
X pte
0xffff881ec1400000-0xffff881f3082c000     1822896K USR RW                 N=
X pte
0xffff881f3082c000-0xffff881f3082e000           8K USR ro                 N=
X pte
0xffff881f3082e000-0xffff881f30855000         156K USR RW                 N=
X pte
0xffff881f30855000-0xffff881f30856000           4K USR ro                 N=
X pte
0xffff881f30856000-0xffff881f30d21000        4908K USR RW                 N=
X pte
0xffff881f30d21000-0xffff881f30d22000           4K USR ro                 N=
X pte
0xffff881f30d22000-0xffff881f30f23000        2052K USR RW                 N=
X pte
0xffff881f30f23000-0xffff881f30f24000           4K USR ro                 N=
X pte
0xffff881f30f24000-0xffff881f3121d000        3044K USR RW                 N=
X pte
0xffff881f3121d000-0xffff881f31221000          16K USR ro                 N=
X pte
0xffff881f31221000-0xffff881f31a09000        8096K USR RW                 N=
X pte
0xffff881f31a09000-0xffff881f31a0b000           8K USR ro                 N=
X pte
0xffff881f31a0b000-0xffff881f31cbf000        2768K USR RW                 N=
X pte
0xffff881f31cbf000-0xffff881f31cde000         124K USR ro                 N=
X pte
0xffff881f31cde000-0xffff881f35c5e000       65024K USR RW                 N=
X pte
0xffff881f35c5e000-0xffff881f35c9e000         256K USR ro                 N=
X pte
0xffff881f35c9e000-0xffff881f35cbe000         128K USR RW                 N=
X pte
0xffff881f35cbe000-0xffff881f35cbf000           4K USR ro                 N=
X pte
0xffff881f35cbf000-0xffff881f3e05b000      134768K USR RW                 N=
X pte
0xffff881f3e05b000-0xffff881f3e05e000          12K USR ro                 N=
X pte
0xffff881f3e05e000-0xffff881f3e600000        5768K USR RW                 N=
X pte
0xffff881f3e600000-0xffff881f3e7f2000        1992K USR ro                 N=
X pte
0xffff881f3e7f2000-0xffff881f3efaa000        7904K USR RW                 N=
X pte
0xffff881f3efaa000-0xffff881f3efab000           4K USR ro                 N=
X pte
0xffff881f3efab000-0xffff881f3efc3000          96K USR RW                 N=
X pte
0xffff881f3efc3000-0xffff881f3efc7000          16K USR ro                 N=
X pte
0xffff881f3efc7000-0xffff881f40000000       16612K USR RW                 N=
X pte
0xffff881f40000000-0xffff881f40800000           8M                         =
  pte
0xffff881f40800000-0xffff881f80000000        1016M                         =
  pmd
0xffff881f80000000-0xffff888000000000         386G                         =
  pud
0xffff888000000000-0xffffc90000000000       66048G                         =
  pgd
---[ vmalloc() Area ]---
0xffffc90000000000-0xffffc90008000000         128M USR RW                 N=
X pte
0xffffc90008000000-0xffffc90008001000           4K                         =
  pte
0xffffc90008001000-0xffffc90008041000         256K USR RW                 N=
X pte
0xffffc90008041000-0xffffc90008042000           4K                         =
  pte
0xffffc90008042000-0xffffc9000c042000          64M USR RW                 N=
X pte
0xffffc9000c042000-0xffffc9000c043000           4K                         =
  pte
0xffffc9000c043000-0xffffc9000c063000         128K USR RW                 N=
X pte
0xffffc9000c063000-0xffffc9000c064000           4K                         =
  pte
0xffffc9000c064000-0xffffc9000c066000           8K USR RW                 N=
X pte
0xffffc9000c066000-0xffffc9000c068000           8K                         =
  pte
0xffffc9000c068000-0xffffc9000c069000           4K USR RW                 N=
X pte
0xffffc9000c069000-0xffffc9000c06d000          16K                         =
  pte
0xffffc9000c06d000-0xffffc9000c071000          16K USR RW                 N=
X pte
0xffffc9000c071000-0xffffc9000c072000           4K                         =
  pte
0xffffc9000c072000-0xffffc9000c07d000          44K USR RW                 N=
X pte
0xffffc9000c07d000-0xffffc9000c080000          12K                         =
  pte
0xffffc9000c080000-0xffffc9000c081000           4K USR RW                 N=
X pte
0xffffc9000c081000-0xffffc9000c0a1000         128K                         =
  pte
0xffffc9000c0a1000-0xffffc9000c4a1000           4M USR RW                 N=
X pte
0xffffc9000c4a1000-0xffffc9000c4a2000           4K                         =
  pte
0xffffc9000c4a2000-0xffffc9000cca2000           8M USR RW                 N=
X pte
0xffffc9000cca2000-0xffffc9000cca3000           4K                         =
  pte
0xffffc9000cca3000-0xffffc9000cda3000           1M USR RW                 N=
X pte
0xffffc9000cda3000-0xffffc9000cda4000           4K                         =
  pte
0xffffc9000cda4000-0xffffc9000cfa4000           2M USR RW                 N=
X pte
0xffffc9000cfa4000-0xffffc9000cfa5000           4K                         =
  pte
0xffffc9000cfa5000-0xffffc9000d1a5000           2M USR RW                 N=
X pte
0xffffc9000d1a5000-0xffffc9000d1a6000           4K                         =
  pte
0xffffc9000d1a6000-0xffffc9000d1b2000          48K USR RW                 N=
X pte
0xffffc9000d1b2000-0xffffc9000d800000        6456K                         =
  pte
0xffffc9000d800000-0xffffc90040000000         808M                         =
  pmd
0xffffc90040000000-0xffffc98000000000         511G                         =
  pud
0xffffc98000000000-0xffffea0000000000       33280G                         =
  pgd
---[ Vmemmap ]---
0xffffea0000000000-0xffffea006d7c0000     1793792K USR RW                 N=
X pte
0xffffea006d7c0000-0xffffea006d800000         256K                         =
  pte
0xffffea006d800000-0xffffea0080000000         296M                         =
  pmd
0xffffea0080000000-0xffffea8000000000         510G                         =
  pud
0xffffea8000000000-0xffffff8000000000          21T                         =
  pgd
0xffffff8000000000-0xffffffff80000000         510G                         =
  pud
---[ High Kernel Mapping ]---
0xffffffff80000000-0xffffffff81000000          16M                         =
  pmd
0xffffffff81000000-0xffffffff81002000           8K USR ro                 x=
  pte
0xffffffff81002000-0xffffffff81013000          68K USR ro                 x=
  pte
0xffffffff81013000-0xffffffff81015000           8K USR ro                 x=
  pte
0xffffffff81015000-0xffffffff81017000           8K USR ro                 x=
  pte
0xffffffff81017000-0xffffffff81019000           8K USR ro                 x=
  pte
0xffffffff81019000-0xffffffff8101a000           4K USR ro                 x=
  pte
0xffffffff8101a000-0xffffffff8101b000           4K USR ro                 x=
  pte
0xffffffff8101b000-0xffffffff8101f000          16K USR ro                 x=
  pte
0xffffffff8101f000-0xffffffff81028000          36K USR ro                 x=
  pte
0xffffffff81028000-0xffffffff8102a000           8K USR ro                 x=
  pte
0xffffffff8102a000-0xffffffff8102c000           8K USR ro                 x=
  pte
0xffffffff8102c000-0xffffffff8103c000          64K USR ro                 x=
  pte
0xffffffff8103c000-0xffffffff8103d000           4K USR ro                 x=
  pte
0xffffffff8103d000-0xffffffff81051000          80K USR ro                 x=
  pte
0xffffffff81051000-0xffffffff81052000           4K USR ro                 x=
  pte
0xffffffff81052000-0xffffffff81057000          20K USR ro                 x=
  pte
0xffffffff81057000-0xffffffff81058000           4K USR ro                 x=
  pte
0xffffffff81058000-0xffffffff81061000          36K USR ro                 x=
  pte
0xffffffff81061000-0xffffffff81063000           8K USR ro                 x=
  pte
0xffffffff81063000-0xffffffff8106b000          32K USR ro                 x=
  pte
0xffffffff8106b000-0xffffffff8106c000           4K USR ro                 x=
  pte
0xffffffff8106c000-0xffffffff81078000          48K USR ro                 x=
  pte
0xffffffff81078000-0xffffffff8107a000           8K USR ro                 x=
  pte
0xffffffff8107a000-0xffffffff81083000          36K USR ro                 x=
  pte
0xffffffff81083000-0xffffffff81084000           4K USR ro                 x=
  pte
0xffffffff81084000-0xffffffff8108f000          44K USR ro                 x=
  pte
0xffffffff8108f000-0xffffffff81090000           4K USR ro                 x=
  pte
0xffffffff81090000-0xffffffff81094000          16K USR ro                 x=
  pte
0xffffffff81094000-0xffffffff81097000          12K USR ro                 x=
  pte
0xffffffff81097000-0xffffffff810a0000          36K USR ro                 x=
  pte
0xffffffff810a0000-0xffffffff810a2000           8K USR ro                 x=
  pte
0xffffffff810a2000-0xffffffff810a7000          20K USR ro                 x=
  pte
0xffffffff810a7000-0xffffffff810a8000           4K USR ro                 x=
  pte
0xffffffff810a8000-0xffffffff810aa000           8K USR ro                 x=
  pte
0xffffffff810aa000-0xffffffff810af000          20K USR ro                 x=
  pte
0xffffffff810af000-0xffffffff810b4000          20K USR ro                 x=
  pte
0xffffffff810b4000-0xffffffff810b6000           8K USR ro                 x=
  pte
0xffffffff810b6000-0xffffffff810c0000          40K USR ro                 x=
  pte
0xffffffff810c0000-0xffffffff810c4000          16K USR ro                 x=
  pte
0xffffffff810c4000-0xffffffff810c6000           8K USR ro                 x=
  pte
0xffffffff810c6000-0xffffffff810ca000          16K USR ro                 x=
  pte
0xffffffff810ca000-0xffffffff810cc000           8K USR ro                 x=
  pte
0xffffffff810cc000-0xffffffff810cd000           4K USR ro                 x=
  pte
0xffffffff810cd000-0xffffffff810d5000          32K USR ro                 x=
  pte
0xffffffff810d5000-0xffffffff810d9000          16K USR ro                 x=
  pte
0xffffffff810d9000-0xffffffff810da000           4K USR ro                 x=
  pte
0xffffffff810da000-0xffffffff810db000           4K USR ro                 x=
  pte
0xffffffff810db000-0xffffffff810dc000           4K USR ro                 x=
  pte
0xffffffff810dc000-0xffffffff810dd000           4K USR ro                 x=
  pte
0xffffffff810dd000-0xffffffff810e2000          20K USR ro                 x=
  pte
0xffffffff810e2000-0xffffffff810e3000           4K USR ro                 x=
  pte
0xffffffff810e3000-0xffffffff810f8000          84K USR ro                 x=
  pte
0xffffffff810f8000-0xffffffff810fb000          12K USR ro                 x=
  pte
0xffffffff810fb000-0xffffffff81101000          24K USR ro                 x=
  pte
0xffffffff81101000-0xffffffff81102000           4K USR ro                 x=
  pte
0xffffffff81102000-0xffffffff81106000          16K USR ro                 x=
  pte
0xffffffff81106000-0xffffffff81107000           4K USR ro                 x=
  pte
0xffffffff81107000-0xffffffff81108000           4K USR ro                 x=
  pte
0xffffffff81108000-0xffffffff81109000           4K USR ro                 x=
  pte
0xffffffff81109000-0xffffffff81113000          40K USR ro                 x=
  pte
0xffffffff81113000-0xffffffff81114000           4K USR ro                 x=
  pte
0xffffffff81114000-0xffffffff81117000          12K USR ro                 x=
  pte
0xffffffff81117000-0xffffffff81118000           4K USR ro                 x=
  pte
0xffffffff81118000-0xffffffff81122000          40K USR ro                 x=
  pte
0xffffffff81122000-0xffffffff81124000           8K USR ro                 x=
  pte
0xffffffff81124000-0xffffffff81143000         124K USR ro                 x=
  pte
0xffffffff81143000-0xffffffff81145000           8K USR ro                 x=
  pte
0xffffffff81145000-0xffffffff81166000         132K USR ro                 x=
  pte
0xffffffff81166000-0xffffffff81168000           8K USR ro                 x=
  pte
0xffffffff81168000-0xffffffff8116d000          20K USR ro                 x=
  pte
0xffffffff8116d000-0xffffffff8116e000           4K USR ro                 x=
  pte
0xffffffff8116e000-0xffffffff8116f000           4K USR ro                 x=
  pte
0xffffffff8116f000-0xffffffff81170000           4K USR ro                 x=
  pte
0xffffffff81170000-0xffffffff81174000          16K USR ro                 x=
  pte
0xffffffff81174000-0xffffffff81177000          12K USR ro                 x=
  pte
0xffffffff81177000-0xffffffff8117a000          12K USR ro                 x=
  pte
0xffffffff8117a000-0xffffffff8117e000          16K USR ro                 x=
  pte
0xffffffff8117e000-0xffffffff8118d000          60K USR ro                 x=
  pte
0xffffffff8118d000-0xffffffff8118e000           4K USR ro                 x=
  pte
0xffffffff8118e000-0xffffffff81190000           8K USR ro                 x=
  pte
0xffffffff81190000-0xffffffff81191000           4K USR ro                 x=
  pte
0xffffffff81191000-0xffffffff81192000           4K USR ro                 x=
  pte
0xffffffff81192000-0xffffffff81193000           4K USR ro                 x=
  pte
0xffffffff81193000-0xffffffff81194000           4K USR ro                 x=
  pte
0xffffffff81194000-0xffffffff81197000          12K USR ro                 x=
  pte
0xffffffff81197000-0xffffffff81198000           4K USR ro                 x=
  pte
0xffffffff81198000-0xffffffff81199000           4K USR ro                 x=
  pte
0xffffffff81199000-0xffffffff811a0000          28K USR ro                 x=
  pte
0xffffffff811a0000-0xffffffff811a1000           4K USR ro                 x=
  pte
0xffffffff811a1000-0xffffffff811ab000          40K USR ro                 x=
  pte
0xffffffff811ab000-0xffffffff811ac000           4K USR ro                 x=
  pte
0xffffffff811ac000-0xffffffff811af000          12K USR ro                 x=
  pte
0xffffffff811af000-0xffffffff811b1000           8K USR ro                 x=
  pte
0xffffffff811b1000-0xffffffff811b4000          12K USR ro                 x=
  pte
0xffffffff811b4000-0xffffffff811b5000           4K USR ro                 x=
  pte
0xffffffff811b5000-0xffffffff811b9000          16K USR ro                 x=
  pte
0xffffffff811b9000-0xffffffff811bb000           8K USR ro                 x=
  pte
0xffffffff811bb000-0xffffffff811bd000           8K USR ro                 x=
  pte
0xffffffff811bd000-0xffffffff811be000           4K USR ro                 x=
  pte
0xffffffff811be000-0xffffffff811c2000          16K USR ro                 x=
  pte
0xffffffff811c2000-0xffffffff811c6000          16K USR ro                 x=
  pte
0xffffffff811c6000-0xffffffff811c7000           4K USR ro                 x=
  pte
0xffffffff811c7000-0xffffffff811c8000           4K USR ro                 x=
  pte
0xffffffff811c8000-0xffffffff811c9000           4K USR ro                 x=
  pte
0xffffffff811c9000-0xffffffff811ca000           4K USR ro                 x=
  pte
0xffffffff811ca000-0xffffffff811cf000          20K USR ro                 x=
  pte
0xffffffff811cf000-0xffffffff811d0000           4K USR ro                 x=
  pte
0xffffffff811d0000-0xffffffff811d3000          12K USR ro                 x=
  pte
0xffffffff811d3000-0xffffffff811d5000           8K USR ro                 x=
  pte
0xffffffff811d5000-0xffffffff811d6000           4K USR ro                 x=
  pte
0xffffffff811d6000-0xffffffff811d8000           8K USR ro                 x=
  pte
0xffffffff811d8000-0xffffffff811d9000           4K USR ro                 x=
  pte
0xffffffff811d9000-0xffffffff811da000           4K USR ro                 x=
  pte
0xffffffff811da000-0xffffffff811e0000          24K USR ro                 x=
  pte
0xffffffff811e0000-0xffffffff811e3000          12K USR ro                 x=
  pte
0xffffffff811e3000-0xffffffff811e9000          24K USR ro                 x=
  pte
0xffffffff811e9000-0xffffffff811ea000           4K USR ro                 x=
  pte
0xffffffff811ea000-0xffffffff811eb000           4K USR ro                 x=
  pte
0xffffffff811eb000-0xffffffff811f1000          24K USR ro                 x=
  pte
0xffffffff811f1000-0xffffffff811f7000          24K USR ro                 x=
  pte
0xffffffff811f7000-0xffffffff811f8000           4K USR ro                 x=
  pte
0xffffffff811f8000-0xffffffff811fa000           8K USR ro                 x=
  pte
0xffffffff811fa000-0xffffffff811fb000           4K USR ro                 x=
  pte
0xffffffff811fb000-0xffffffff811fd000           8K USR ro                 x=
  pte
0xffffffff811fd000-0xffffffff811fe000           4K USR ro                 x=
  pte
0xffffffff811fe000-0xffffffff81200000           8K USR ro                 x=
  pte
0xffffffff81200000-0xffffffff81201000           4K USR ro                 x=
  pte
0xffffffff81201000-0xffffffff81203000           8K USR ro                 x=
  pte
0xffffffff81203000-0xffffffff81207000          16K USR ro                 x=
  pte
0xffffffff81207000-0xffffffff81209000           8K USR ro                 x=
  pte
0xffffffff81209000-0xffffffff8120a000           4K USR ro                 x=
  pte
0xffffffff8120a000-0xffffffff8120b000           4K USR ro                 x=
  pte
0xffffffff8120b000-0xffffffff8120c000           4K USR ro                 x=
  pte
0xffffffff8120c000-0xffffffff8120e000           8K USR ro                 x=
  pte
0xffffffff8120e000-0xffffffff81223000          84K USR ro                 x=
  pte
0xffffffff81223000-0xffffffff81228000          20K USR ro                 x=
  pte
0xffffffff81228000-0xffffffff81229000           4K USR ro                 x=
  pte
0xffffffff81229000-0xffffffff8123b000          72K USR ro                 x=
  pte
0xffffffff8123b000-0xffffffff8123d000           8K USR ro                 x=
  pte
0xffffffff8123d000-0xffffffff8123e000           4K USR ro                 x=
  pte
0xffffffff8123e000-0xffffffff8123f000           4K USR ro                 x=
  pte
0xffffffff8123f000-0xffffffff81242000          12K USR ro                 x=
  pte
0xffffffff81242000-0xffffffff81244000           8K USR ro                 x=
  pte
0xffffffff81244000-0xffffffff81245000           4K USR ro                 x=
  pte
0xffffffff81245000-0xffffffff81247000           8K USR ro                 x=
  pte
0xffffffff81247000-0xffffffff81248000           4K USR ro                 x=
  pte
0xffffffff81248000-0xffffffff81252000          40K USR ro                 x=
  pte
0xffffffff81252000-0xffffffff81253000           4K USR ro                 x=
  pte
0xffffffff81253000-0xffffffff81254000           4K USR ro                 x=
  pte
0xffffffff81254000-0xffffffff81255000           4K USR ro                 x=
  pte
0xffffffff81255000-0xffffffff81258000          12K USR ro                 x=
  pte
0xffffffff81258000-0xffffffff81259000           4K USR ro                 x=
  pte
0xffffffff81259000-0xffffffff81268000          60K USR ro                 x=
  pte
0xffffffff81268000-0xffffffff8126e000          24K USR ro                 x=
  pte
0xffffffff8126e000-0xffffffff8126f000           4K USR ro                 x=
  pte
0xffffffff8126f000-0xffffffff81272000          12K USR ro                 x=
  pte
0xffffffff81272000-0xffffffff81273000           4K USR ro                 x=
  pte
0xffffffff81273000-0xffffffff81274000           4K USR ro                 x=
  pte
0xffffffff81274000-0xffffffff8127a000          24K USR ro                 x=
  pte
0xffffffff8127a000-0xffffffff8127c000           8K USR ro                 x=
  pte
0xffffffff8127c000-0xffffffff8127d000           4K USR ro                 x=
  pte
0xffffffff8127d000-0xffffffff81285000          32K USR ro                 x=
  pte
0xffffffff81285000-0xffffffff81286000           4K USR ro                 x=
  pte
0xffffffff81286000-0xffffffff81287000           4K USR ro                 x=
  pte
0xffffffff81287000-0xffffffff81288000           4K USR ro                 x=
  pte
0xffffffff81288000-0xffffffff81289000           4K USR ro                 x=
  pte
0xffffffff81289000-0xffffffff8128d000          16K USR ro                 x=
  pte
0xffffffff8128d000-0xffffffff8128f000           8K USR ro                 x=
  pte
0xffffffff8128f000-0xffffffff81291000           8K USR ro                 x=
  pte
0xffffffff81291000-0xffffffff81292000           4K USR ro                 x=
  pte
0xffffffff81292000-0xffffffff8129f000          52K USR ro                 x=
  pte
0xffffffff8129f000-0xffffffff812a0000           4K USR ro                 x=
  pte
0xffffffff812a0000-0xffffffff812a1000           4K USR ro                 x=
  pte
0xffffffff812a1000-0xffffffff812a3000           8K USR ro                 x=
  pte
0xffffffff812a3000-0xffffffff812a5000           8K USR ro                 x=
  pte
0xffffffff812a5000-0xffffffff812a6000           4K USR ro                 x=
  pte
0xffffffff812a6000-0xffffffff812a9000          12K USR ro                 x=
  pte
0xffffffff812a9000-0xffffffff812ab000           8K USR ro                 x=
  pte
0xffffffff812ab000-0xffffffff812c3000          96K USR ro                 x=
  pte
0xffffffff812c3000-0xffffffff812c6000          12K USR ro                 x=
  pte
0xffffffff812c6000-0xffffffff812cc000          24K USR ro                 x=
  pte
0xffffffff812cc000-0xffffffff812cf000          12K USR ro                 x=
  pte
0xffffffff812cf000-0xffffffff812d1000           8K USR ro                 x=
  pte
0xffffffff812d1000-0xffffffff812d2000           4K USR ro                 x=
  pte
0xffffffff812d2000-0xffffffff812d3000           4K USR ro                 x=
  pte
0xffffffff812d3000-0xffffffff812d7000          16K USR ro                 x=
  pte
0xffffffff812d7000-0xffffffff812d8000           4K USR ro                 x=
  pte
0xffffffff812d8000-0xffffffff812da000           8K USR ro                 x=
  pte
0xffffffff812da000-0xffffffff812dc000           8K USR ro                 x=
  pte
0xffffffff812dc000-0xffffffff812e1000          20K USR ro                 x=
  pte
0xffffffff812e1000-0xffffffff812e3000           8K USR ro                 x=
  pte
0xffffffff812e3000-0xffffffff812e4000           4K USR ro                 x=
  pte
0xffffffff812e4000-0xffffffff812e5000           4K USR ro                 x=
  pte
0xffffffff812e5000-0xffffffff812e6000           4K USR ro                 x=
  pte
0xffffffff812e6000-0xffffffff812e7000           4K USR ro                 x=
  pte
0xffffffff812e7000-0xffffffff812ed000          24K USR ro                 x=
  pte
0xffffffff812ed000-0xffffffff812ee000           4K USR ro                 x=
  pte
0xffffffff812ee000-0xffffffff812f9000          44K USR ro                 x=
  pte
0xffffffff812f9000-0xffffffff812fa000           4K USR ro                 x=
  pte
0xffffffff812fa000-0xffffffff812fe000          16K USR ro                 x=
  pte
0xffffffff812fe000-0xffffffff81300000           8K USR ro                 x=
  pte
0xffffffff81300000-0xffffffff81302000           8K USR ro                 x=
  pte
0xffffffff81302000-0xffffffff8130d000          44K USR ro                 x=
  pte
0xffffffff8130d000-0xffffffff8130e000           4K USR ro                 x=
  pte
0xffffffff8130e000-0xffffffff8130f000           4K USR ro                 x=
  pte
0xffffffff8130f000-0xffffffff81312000          12K USR ro                 x=
  pte
0xffffffff81312000-0xffffffff81314000           8K USR ro                 x=
  pte
0xffffffff81314000-0xffffffff81318000          16K USR ro                 x=
  pte
0xffffffff81318000-0xffffffff8131b000          12K USR ro                 x=
  pte
0xffffffff8131b000-0xffffffff8131c000           4K USR ro                 x=
  pte
0xffffffff8131c000-0xffffffff81324000          32K USR ro                 x=
  pte
0xffffffff81324000-0xffffffff81329000          20K USR ro                 x=
  pte
0xffffffff81329000-0xffffffff8132d000          16K USR ro                 x=
  pte
0xffffffff8132d000-0xffffffff8132e000           4K USR ro                 x=
  pte
0xffffffff8132e000-0xffffffff8132f000           4K USR ro                 x=
  pte
0xffffffff8132f000-0xffffffff81332000          12K USR ro                 x=
  pte
0xffffffff81332000-0xffffffff81333000           4K USR ro                 x=
  pte
0xffffffff81333000-0xffffffff81334000           4K USR ro                 x=
  pte
0xffffffff81334000-0xffffffff81335000           4K USR ro                 x=
  pte
0xffffffff81335000-0xffffffff81337000           8K USR ro                 x=
  pte
0xffffffff81337000-0xffffffff8133b000          16K USR ro                 x=
  pte
0xffffffff8133b000-0xffffffff8133c000           4K USR ro                 x=
  pte
0xffffffff8133c000-0xffffffff81340000          16K USR ro                 x=
  pte
0xffffffff81340000-0xffffffff81342000           8K USR ro                 x=
  pte
0xffffffff81342000-0xffffffff81343000           4K USR ro                 x=
  pte
0xffffffff81343000-0xffffffff81348000          20K USR ro                 x=
  pte
0xffffffff81348000-0xffffffff8134c000          16K USR ro                 x=
  pte
0xffffffff8134c000-0xffffffff81350000          16K USR ro                 x=
  pte
0xffffffff81350000-0xffffffff81351000           4K USR ro                 x=
  pte
0xffffffff81351000-0xffffffff81353000           8K USR ro                 x=
  pte
0xffffffff81353000-0xffffffff81358000          20K USR ro                 x=
  pte
0xffffffff81358000-0xffffffff8135e000          24K USR ro                 x=
  pte
0xffffffff8135e000-0xffffffff8135f000           4K USR ro                 x=
  pte
0xffffffff8135f000-0xffffffff81361000           8K USR ro                 x=
  pte
0xffffffff81361000-0xffffffff81366000          20K USR ro                 x=
  pte
0xffffffff81366000-0xffffffff81367000           4K USR ro                 x=
  pte
0xffffffff81367000-0xffffffff81368000           4K USR ro                 x=
  pte
0xffffffff81368000-0xffffffff8136a000           8K USR ro                 x=
  pte
0xffffffff8136a000-0xffffffff81374000          40K USR ro                 x=
  pte
0xffffffff81374000-0xffffffff81376000           8K USR ro                 x=
  pte
0xffffffff81376000-0xffffffff81379000          12K USR ro                 x=
  pte
0xffffffff81379000-0xffffffff8137f000          24K USR ro                 x=
  pte
0xffffffff8137f000-0xffffffff81380000           4K USR ro                 x=
  pte
0xffffffff81380000-0xffffffff81383000          12K USR ro                 x=
  pte
0xffffffff81383000-0xffffffff81384000           4K USR ro                 x=
  pte
0xffffffff81384000-0xffffffff81387000          12K USR ro                 x=
  pte
0xffffffff81387000-0xffffffff81389000           8K USR ro                 x=
  pte
0xffffffff81389000-0xffffffff8138c000          12K USR ro                 x=
  pte
0xffffffff8138c000-0xffffffff81393000          28K USR ro                 x=
  pte
0xffffffff81393000-0xffffffff81395000           8K USR ro                 x=
  pte
0xffffffff81395000-0xffffffff81398000          12K USR ro                 x=
  pte
0xffffffff81398000-0xffffffff8139a000           8K USR ro                 x=
  pte
0xffffffff8139a000-0xffffffff8139c000           8K USR ro                 x=
  pte
0xffffffff8139c000-0xffffffff8139d000           4K USR ro                 x=
  pte
0xffffffff8139d000-0xffffffff813a3000          24K USR ro                 x=
  pte
0xffffffff813a3000-0xffffffff813a4000           4K USR ro                 x=
  pte
0xffffffff813a4000-0xffffffff813a5000           4K USR ro                 x=
  pte
0xffffffff813a5000-0xffffffff813a6000           4K USR ro                 x=
  pte
0xffffffff813a6000-0xffffffff813a9000          12K USR ro                 x=
  pte
0xffffffff813a9000-0xffffffff813ab000           8K USR ro                 x=
  pte
0xffffffff813ab000-0xffffffff813ac000           4K USR ro                 x=
  pte
0xffffffff813ac000-0xffffffff813ae000           8K USR ro                 x=
  pte
0xffffffff813ae000-0xffffffff813b1000          12K USR ro                 x=
  pte
0xffffffff813b1000-0xffffffff813b3000           8K USR ro                 x=
  pte
0xffffffff813b3000-0xffffffff813b5000           8K USR ro                 x=
  pte
0xffffffff813b5000-0xffffffff813b9000          16K USR ro                 x=
  pte
0xffffffff813b9000-0xffffffff813ba000           4K USR ro                 x=
  pte
0xffffffff813ba000-0xffffffff813bf000          20K USR ro                 x=
  pte
0xffffffff813bf000-0xffffffff813ce000          60K USR ro                 x=
  pte
0xffffffff813ce000-0xffffffff813cf000           4K USR ro                 x=
  pte
0xffffffff813cf000-0xffffffff813d0000           4K USR ro                 x=
  pte
0xffffffff813d0000-0xffffffff813d2000           8K USR ro                 x=
  pte
0xffffffff813d2000-0xffffffff813d3000           4K USR ro                 x=
  pte
0xffffffff813d3000-0xffffffff813db000          32K USR ro                 x=
  pte
0xffffffff813db000-0xffffffff813dc000           4K USR ro                 x=
  pte
0xffffffff813dc000-0xffffffff813dd000           4K USR ro                 x=
  pte
0xffffffff813dd000-0xffffffff813de000           4K USR ro                 x=
  pte
0xffffffff813de000-0xffffffff813e0000           8K USR ro                 x=
  pte
0xffffffff813e0000-0xffffffff813e3000          12K USR ro                 x=
  pte
0xffffffff813e3000-0xffffffff813e5000           8K USR ro                 x=
  pte
0xffffffff813e5000-0xffffffff813e8000          12K USR ro                 x=
  pte
0xffffffff813e8000-0xffffffff813ea000           8K USR ro                 x=
  pte
0xffffffff813ea000-0xffffffff813ec000           8K USR ro                 x=
  pte
0xffffffff813ec000-0xffffffff813ed000           4K USR ro                 x=
  pte
0xffffffff813ed000-0xffffffff813ef000           8K USR ro                 x=
  pte
0xffffffff813ef000-0xffffffff813f3000          16K USR ro                 x=
  pte
0xffffffff813f3000-0xffffffff813f4000           4K USR ro                 x=
  pte
0xffffffff813f4000-0xffffffff813f6000           8K USR ro                 x=
  pte
0xffffffff813f6000-0xffffffff813f7000           4K USR ro                 x=
  pte
0xffffffff813f7000-0xffffffff813fa000          12K USR ro                 x=
  pte
0xffffffff813fa000-0xffffffff813fb000           4K USR ro                 x=
  pte
0xffffffff813fb000-0xffffffff813fd000           8K USR ro                 x=
  pte
0xffffffff813fd000-0xffffffff813fe000           4K USR ro                 x=
  pte
0xffffffff813fe000-0xffffffff81403000          20K USR ro                 x=
  pte
0xffffffff81403000-0xffffffff81404000           4K USR ro                 x=
  pte
0xffffffff81404000-0xffffffff81406000           8K USR ro                 x=
  pte
0xffffffff81406000-0xffffffff81408000           8K USR ro                 x=
  pte
0xffffffff81408000-0xffffffff81411000          36K USR ro                 x=
  pte
0xffffffff81411000-0xffffffff81412000           4K USR ro                 x=
  pte
0xffffffff81412000-0xffffffff81413000           4K USR ro                 x=
  pte
0xffffffff81413000-0xffffffff81415000           8K USR ro                 x=
  pte
0xffffffff81415000-0xffffffff81416000           4K USR ro                 x=
  pte
0xffffffff81416000-0xffffffff81419000          12K USR ro                 x=
  pte
0xffffffff81419000-0xffffffff8141e000          20K USR ro                 x=
  pte
0xffffffff8141e000-0xffffffff81425000          28K USR ro                 x=
  pte
0xffffffff81425000-0xffffffff81426000           4K USR ro                 x=
  pte
0xffffffff81426000-0xffffffff81428000           8K USR ro                 x=
  pte
0xffffffff81428000-0xffffffff8142f000          28K USR ro                 x=
  pte
0xffffffff8142f000-0xffffffff81430000           4K USR ro                 x=
  pte
0xffffffff81430000-0xffffffff81437000          28K USR ro                 x=
  pte
0xffffffff81437000-0xffffffff81438000           4K USR ro                 x=
  pte
0xffffffff81438000-0xffffffff81439000           4K USR ro                 x=
  pte
0xffffffff81439000-0xffffffff8143d000          16K USR ro                 x=
  pte
0xffffffff8143d000-0xffffffff8143e000           4K USR ro                 x=
  pte
0xffffffff8143e000-0xffffffff8143f000           4K USR ro                 x=
  pte
0xffffffff8143f000-0xffffffff81440000           4K USR ro                 x=
  pte
0xffffffff81440000-0xffffffff81443000          12K USR ro                 x=
  pte
0xffffffff81443000-0xffffffff81445000           8K USR ro                 x=
  pte
0xffffffff81445000-0xffffffff81446000           4K USR ro                 x=
  pte
0xffffffff81446000-0xffffffff81448000           8K USR ro                 x=
  pte
0xffffffff81448000-0xffffffff8144d000          20K USR ro                 x=
  pte
0xffffffff8144d000-0xffffffff8144f000           8K USR ro                 x=
  pte
0xffffffff8144f000-0xffffffff81451000           8K USR ro                 x=
  pte
0xffffffff81451000-0xffffffff81452000           4K USR ro                 x=
  pte
0xffffffff81452000-0xffffffff81458000          24K USR ro                 x=
  pte
0xffffffff81458000-0xffffffff81459000           4K USR ro                 x=
  pte
0xffffffff81459000-0xffffffff8145a000           4K USR ro                 x=
  pte
0xffffffff8145a000-0xffffffff8145c000           8K USR ro                 x=
  pte
0xffffffff8145c000-0xffffffff8145d000           4K USR ro                 x=
  pte
0xffffffff8145d000-0xffffffff81462000          20K USR ro                 x=
  pte
0xffffffff81462000-0xffffffff81463000           4K USR ro                 x=
  pte
0xffffffff81463000-0xffffffff81464000           4K USR ro                 x=
  pte
0xffffffff81464000-0xffffffff81465000           4K USR ro                 x=
  pte
0xffffffff81465000-0xffffffff81467000           8K USR ro                 x=
  pte
0xffffffff81467000-0xffffffff81468000           4K USR ro                 x=
  pte
0xffffffff81468000-0xffffffff81469000           4K USR ro                 x=
  pte
0xffffffff81469000-0xffffffff8146a000           4K USR ro                 x=
  pte
0xffffffff8146a000-0xffffffff8146b000           4K USR ro                 x=
  pte
0xffffffff8146b000-0xffffffff81470000          20K USR ro                 x=
  pte
0xffffffff81470000-0xffffffff81471000           4K USR ro                 x=
  pte
0xffffffff81471000-0xffffffff81473000           8K USR ro                 x=
  pte
0xffffffff81473000-0xffffffff81477000          16K USR ro                 x=
  pte
0xffffffff81477000-0xffffffff8147a000          12K USR ro                 x=
  pte
0xffffffff8147a000-0xffffffff8147b000           4K USR ro                 x=
  pte
0xffffffff8147b000-0xffffffff8147c000           4K USR ro                 x=
  pte
0xffffffff8147c000-0xffffffff8147d000           4K USR ro                 x=
  pte
0xffffffff8147d000-0xffffffff81482000          20K USR ro                 x=
  pte
0xffffffff81482000-0xffffffff81484000           8K USR ro                 x=
  pte
0xffffffff81484000-0xffffffff81485000           4K USR ro                 x=
  pte
0xffffffff81485000-0xffffffff81486000           4K USR ro                 x=
  pte
0xffffffff81486000-0xffffffff81489000          12K USR ro                 x=
  pte
0xffffffff81489000-0xffffffff8148a000           4K USR ro                 x=
  pte
0xffffffff8148a000-0xffffffff8148b000           4K USR ro                 x=
  pte
0xffffffff8148b000-0xffffffff8148c000           4K USR ro                 x=
  pte
0xffffffff8148c000-0xffffffff81499000          52K USR ro                 x=
  pte
0xffffffff81499000-0xffffffff8149a000           4K USR ro                 x=
  pte
0xffffffff8149a000-0xffffffff814a2000          32K USR ro                 x=
  pte
0xffffffff814a2000-0xffffffff814a5000          12K USR ro                 x=
  pte
0xffffffff814a5000-0xffffffff814a8000          12K USR ro                 x=
  pte
0xffffffff814a8000-0xffffffff814b0000          32K USR ro                 x=
  pte
0xffffffff814b0000-0xffffffff814b1000           4K USR ro                 x=
  pte
0xffffffff814b1000-0xffffffff814b2000           4K USR ro                 x=
  pte
0xffffffff814b2000-0xffffffff814c2000          64K USR ro                 x=
  pte
0xffffffff814c2000-0xffffffff814c3000           4K USR ro                 x=
  pte
0xffffffff814c3000-0xffffffff814c5000           8K USR ro                 x=
  pte
0xffffffff814c5000-0xffffffff814cb000          24K USR ro                 x=
  pte
0xffffffff814cb000-0xffffffff814cc000           4K USR ro                 x=
  pte
0xffffffff814cc000-0xffffffff814cf000          12K USR ro                 x=
  pte
0xffffffff814cf000-0xffffffff814d0000           4K USR ro                 x=
  pte
0xffffffff814d0000-0xffffffff814d1000           4K USR ro                 x=
  pte
0xffffffff814d1000-0xffffffff814d3000           8K USR ro                 x=
  pte
0xffffffff814d3000-0xffffffff814d4000           4K USR ro                 x=
  pte
0xffffffff814d4000-0xffffffff814d6000           8K USR ro                 x=
  pte
0xffffffff814d6000-0xffffffff814d7000           4K USR ro                 x=
  pte
0xffffffff814d7000-0xffffffff814db000          16K USR ro                 x=
  pte
0xffffffff814db000-0xffffffff814dc000           4K USR ro                 x=
  pte
0xffffffff814dc000-0xffffffff814de000           8K USR ro                 x=
  pte
0xffffffff814de000-0xffffffff814df000           4K USR ro                 x=
  pte
0xffffffff814df000-0xffffffff814e3000          16K USR ro                 x=
  pte
0xffffffff814e3000-0xffffffff814e7000          16K USR ro                 x=
  pte
0xffffffff814e7000-0xffffffff814e8000           4K USR ro                 x=
  pte
0xffffffff814e8000-0xffffffff814e9000           4K USR ro                 x=
  pte
0xffffffff814e9000-0xffffffff814f1000          32K USR ro                 x=
  pte
0xffffffff814f1000-0xffffffff814f2000           4K USR ro                 x=
  pte
0xffffffff814f2000-0xffffffff814f6000          16K USR ro                 x=
  pte
0xffffffff814f6000-0xffffffff814f7000           4K USR ro                 x=
  pte
0xffffffff814f7000-0xffffffff814f8000           4K USR ro                 x=
  pte
0xffffffff814f8000-0xffffffff814f9000           4K USR ro                 x=
  pte
0xffffffff814f9000-0xffffffff814fe000          20K USR ro                 x=
  pte
0xffffffff814fe000-0xffffffff81503000          20K USR ro                 x=
  pte
0xffffffff81503000-0xffffffff81508000          20K USR ro                 x=
  pte
0xffffffff81508000-0xffffffff8150d000          20K USR ro                 x=
  pte
0xffffffff8150d000-0xffffffff81511000          16K USR ro                 x=
  pte
0xffffffff81511000-0xffffffff81513000           8K USR ro                 x=
  pte
0xffffffff81513000-0xffffffff81514000           4K USR ro                 x=
  pte
0xffffffff81514000-0xffffffff81515000           4K USR ro                 x=
  pte
0xffffffff81515000-0xffffffff81516000           4K USR ro                 x=
  pte
0xffffffff81516000-0xffffffff8151b000          20K USR ro                 x=
  pte
0xffffffff8151b000-0xffffffff81520000          20K USR ro                 x=
  pte
0xffffffff81520000-0xffffffff81521000           4K USR ro                 x=
  pte
0xffffffff81521000-0xffffffff81523000           8K USR ro                 x=
  pte
0xffffffff81523000-0xffffffff81525000           8K USR ro                 x=
  pte
0xffffffff81525000-0xffffffff81526000           4K USR ro                 x=
  pte
0xffffffff81526000-0xffffffff81529000          12K USR ro                 x=
  pte
0xffffffff81529000-0xffffffff8152a000           4K USR ro                 x=
  pte
0xffffffff8152a000-0xffffffff8152b000           4K USR ro                 x=
  pte
0xffffffff8152b000-0xffffffff8152e000          12K USR ro                 x=
  pte
0xffffffff8152e000-0xffffffff81533000          20K USR ro                 x=
  pte
0xffffffff81533000-0xffffffff81535000           8K USR ro                 x=
  pte
0xffffffff81535000-0xffffffff81537000           8K USR ro                 x=
  pte
0xffffffff81537000-0xffffffff81538000           4K USR ro                 x=
  pte
0xffffffff81538000-0xffffffff81539000           4K USR ro                 x=
  pte
0xffffffff81539000-0xffffffff8153b000           8K USR ro                 x=
  pte
0xffffffff8153b000-0xffffffff8153d000           8K USR ro                 x=
  pte
0xffffffff8153d000-0xffffffff81541000          16K USR ro                 x=
  pte
0xffffffff81541000-0xffffffff81542000           4K USR ro                 x=
  pte
0xffffffff81542000-0xffffffff81544000           8K USR ro                 x=
  pte
0xffffffff81544000-0xffffffff81545000           4K USR ro                 x=
  pte
0xffffffff81545000-0xffffffff81547000           8K USR ro                 x=
  pte
0xffffffff81547000-0xffffffff81551000          40K USR ro                 x=
  pte
0xffffffff81551000-0xffffffff81552000           4K USR ro                 x=
  pte
0xffffffff81552000-0xffffffff81554000           8K USR ro                 x=
  pte
0xffffffff81554000-0xffffffff81555000           4K USR ro                 x=
  pte
0xffffffff81555000-0xffffffff8155d000          32K USR ro                 x=
  pte
0xffffffff8155d000-0xffffffff8155f000           8K USR ro                 x=
  pte
0xffffffff8155f000-0xffffffff81563000          16K USR ro                 x=
  pte
0xffffffff81563000-0xffffffff81566000          12K USR ro                 x=
  pte
0xffffffff81566000-0xffffffff81567000           4K USR ro                 x=
  pte
0xffffffff81567000-0xffffffff81568000           4K USR ro                 x=
  pte
0xffffffff81568000-0xffffffff8156a000           8K USR ro                 x=
  pte
0xffffffff8156a000-0xffffffff8156b000           4K USR ro                 x=
  pte
0xffffffff8156b000-0xffffffff81572000          28K USR ro                 x=
  pte
0xffffffff81572000-0xffffffff81573000           4K USR ro                 x=
  pte
0xffffffff81573000-0xffffffff81576000          12K USR ro                 x=
  pte
0xffffffff81576000-0xffffffff81577000           4K USR ro                 x=
  pte
0xffffffff81577000-0xffffffff81578000           4K USR ro                 x=
  pte
0xffffffff81578000-0xffffffff81579000           4K USR ro                 x=
  pte
0xffffffff81579000-0xffffffff8157a000           4K USR ro                 x=
  pte
0xffffffff8157a000-0xffffffff8157b000           4K USR ro                 x=
  pte
0xffffffff8157b000-0xffffffff8157d000           8K USR ro                 x=
  pte
0xffffffff8157d000-0xffffffff8157f000           8K USR ro                 x=
  pte
0xffffffff8157f000-0xffffffff81582000          12K USR ro                 x=
  pte
0xffffffff81582000-0xffffffff81584000           8K USR ro                 x=
  pte
0xffffffff81584000-0xffffffff81586000           8K USR ro                 x=
  pte
0xffffffff81586000-0xffffffff81588000           8K USR ro                 x=
  pte
0xffffffff81588000-0xffffffff81589000           4K USR ro                 x=
  pte
0xffffffff81589000-0xffffffff8158d000          16K USR ro                 x=
  pte
0xffffffff8158d000-0xffffffff8158f000           8K USR ro                 x=
  pte
0xffffffff8158f000-0xffffffff81593000          16K USR ro                 x=
  pte
0xffffffff81593000-0xffffffff81594000           4K USR ro                 x=
  pte
0xffffffff81594000-0xffffffff81595000           4K USR ro                 x=
  pte
0xffffffff81595000-0xffffffff81596000           4K USR ro                 x=
  pte
0xffffffff81596000-0xffffffff81599000          12K USR ro                 x=
  pte
0xffffffff81599000-0xffffffff815ab000          72K USR ro                 x=
  pte
0xffffffff815ab000-0xffffffff815ac000           4K USR ro                 x=
  pte
0xffffffff815ac000-0xffffffff815b0000          16K USR ro                 x=
  pte
0xffffffff815b0000-0xffffffff815b1000           4K USR ro                 x=
  pte
0xffffffff815b1000-0xffffffff815b7000          24K USR ro                 x=
  pte
0xffffffff815b7000-0xffffffff81600000         292K USR RW                 N=
X pte
0xffffffff81600000-0xffffffff8179c000        1648K USR ro                 N=
X pte
0xffffffff8179c000-0xffffffff81800000         400K USR RW                 N=
X pte
0xffffffff81800000-0xffffffff81802000           8K USR RW                 x=
  pte
0xffffffff81802000-0xffffffff81803000           4K USR RW                 x=
  pte
0xffffffff81803000-0xffffffff81805000           8K USR RW                 x=
  pte
0xffffffff81805000-0xffffffff8180b000          24K USR RW                 x=
  pte
0xffffffff8180b000-0xffffffff8180f000          16K USR ro                 x=
  pte
0xffffffff8180f000-0xffffffff81810000           4K USR RW                 x=
  pte
0xffffffff81810000-0xffffffff81812000           8K USR ro                 x=
  pte
0xffffffff81812000-0xffffffff81813000           4K USR RW                 x=
  pte
0xffffffff81813000-0xffffffff81815000           8K USR RW                 x=
  pte
0xffffffff81815000-0xffffffff81816000           4K USR RW                 x=
  pte
0xffffffff81816000-0xffffffff81818000           8K USR RW                 x=
  pte
0xffffffff81818000-0xffffffff8181a000           8K USR RW                 x=
  pte
0xffffffff8181a000-0xffffffff8181d000          12K USR RW                 x=
  pte
0xffffffff8181d000-0xffffffff8181e000           4K USR RW                 x=
  pte
0xffffffff8181e000-0xffffffff81832000          80K USR RW                 x=
  pte
0xffffffff81832000-0xffffffff81834000           8K USR RW                 x=
  pte
0xffffffff81834000-0xffffffff8183a000          24K USR RW                 x=
  pte
0xffffffff8183a000-0xffffffff8183d000          12K USR RW                 x=
  pte
0xffffffff8183d000-0xffffffff81841000          16K USR RW                 x=
  pte
0xffffffff81841000-0xffffffff81843000           8K USR RW                 x=
  pte
0xffffffff81843000-0xffffffff81845000           8K USR RW                 x=
  pte
0xffffffff81845000-0xffffffff81846000           4K USR RW                 x=
  pte
0xffffffff81846000-0xffffffff81849000          12K USR RW                 x=
  pte
0xffffffff81849000-0xffffffff8184a000           4K USR RW                 x=
  pte
0xffffffff8184a000-0xffffffff8184f000          20K USR RW                 x=
  pte
0xffffffff8184f000-0xffffffff81850000           4K USR RW                 x=
  pte
0xffffffff81850000-0xffffffff81885000         212K USR RW                 x=
  pte
0xffffffff81885000-0xffffffff81938000         716K USR RW                 N=
X pte
0xffffffff81938000-0xffffffff8193a000           8K USR RW                 x=
  pte
0xffffffff8193a000-0xffffffff8193b000           4K USR ro                 x=
  pte
0xffffffff8193b000-0xffffffff8193d000           8K USR RW                 x=
  pte
0xffffffff8193d000-0xffffffff8193e000           4K USR ro                 x=
  pte
0xffffffff8193e000-0xffffffff81948000          40K USR RW                 x=
  pte
0xffffffff81948000-0xffffffff8194a000           8K USR RW                 x=
  pte
0xffffffff8194a000-0xffffffff8194c000           8K USR RW                 x=
  pte
0xffffffff8194c000-0xffffffff8196c000         128K USR RW                 x=
  pte
0xffffffff8196c000-0xffffffff8196d000           4K USR RW                 x=
  pte
0xffffffff8196d000-0xffffffff81970000          12K USR RW                 x=
  pte
0xffffffff81970000-0xffffffff81971000           4K USR RW                 x=
  pte
0xffffffff81971000-0xffffffff81972000           4K USR RW                 x=
  pte
0xffffffff81972000-0xffffffff81973000           4K USR RW                 x=
  pte
0xffffffff81973000-0xffffffff81975000           8K USR RW                 x=
  pte
0xffffffff81975000-0xffffffff81976000           4K USR RW                 x=
  pte
0xffffffff81976000-0xffffffff81977000           4K USR RW                 x=
  pte
0xffffffff81977000-0xffffffff8197b000          16K USR RW                 x=
  pte
0xffffffff8197b000-0xffffffff819b9000         248K USR RW                 x=
  pte
0xffffffff819b9000-0xffffffff819c0000          28K USR RW                 x=
  pte
0xffffffff819c0000-0xffffffff819df000         124K USR RW                 x=
  pte
0xffffffff819df000-0xffffffff819e8000          36K USR RW                 x=
  pte
0xffffffff819e8000-0xffffffff819f1000          36K USR RW                 x=
  pte
0xffffffff819f1000-0xffffffff819f2000           4K USR RW                 x=
  pte
0xffffffff819f2000-0xffffffff819f3000           4K USR RW                 x=
  pte
0xffffffff819f3000-0xffffffff819f5000           8K USR RW                 x=
  pte
0xffffffff819f5000-0xffffffff819f8000          12K USR RW                 x=
  pte
0xffffffff819f8000-0xffffffff81a0a000          72K USR RW                 x=
  pte
0xffffffff81a0a000-0xffffffff81a0f000          20K USR RW                 x=
  pte
0xffffffff81a0f000-0xffffffff81a1c000          52K USR RW                 x=
  pte
0xffffffff81a1c000-0xffffffff81a1d000           4K USR RW                 x=
  pte
0xffffffff81a1d000-0xffffffff81aa4000         540K USR RW                 x=
  pte
0xffffffff81aa4000-0xffffffff81aa8000          16K USR ro                 x=
  pte
0xffffffff81aa8000-0xffffffff81b28000         512K USR RW                 x=
  pte
0xffffffff81b28000-0xffffffff81c00000         864K USR RW                 x=
  pte
0xffffffff81c00000-0xffffffff8fc00000         224M                         =
  pmd
0xffffffff8fc00000-0xffffffff8fc93000         588K USR RW                 N=
X pte
0xffffffff8fc93000-0xffffffff9f694000      256004K USR RW                 x=
  pte
0xffffffff9f694000-0xffffffff9f696000           8K USR RW                 x=
  pte
0xffffffff9f696000-0xffffffff9f797000        1028K USR ro                 x=
  pte
0xffffffff9f797000-0xffffffff9fc00000        4516K USR RW                 x=
  pte
0xffffffff9fc00000-0xffffffffa0000000           4M                         =
  pmd
---[ Modules ]---
0xffffffffa0000000-0xffffffffa0001000           4K USR ro                 x=
  pte
0xffffffffa0001000-0xffffffffa0002000           4K USR ro                 N=
X pte
0xffffffffa0002000-0xffffffffa0004000           8K USR RW                 N=
X pte
0xffffffffa0004000-0xffffffffa0008000          16K                         =
  pte
0xffffffffa0008000-0xffffffffa0009000           4K USR ro                 x=
  pte
0xffffffffa0009000-0xffffffffa000a000           4K USR ro                 N=
X pte
0xffffffffa000a000-0xffffffffa000c000           8K USR RW                 N=
X pte
0xffffffffa000c000-0xffffffffa0010000          16K                         =
  pte
0xffffffffa0010000-0xffffffffa0011000           4K USR ro                 x=
  pte
0xffffffffa0011000-0xffffffffa0012000           4K USR ro                 N=
X pte
0xffffffffa0012000-0xffffffffa0014000           8K USR RW                 N=
X pte
0xffffffffa0014000-0xffffffffa0018000          16K                         =
  pte
0xffffffffa0018000-0xffffffffa0019000           4K USR ro                 x=
  pte
0xffffffffa0019000-0xffffffffa001a000           4K USR ro                 N=
X pte
0xffffffffa001a000-0xffffffffa001c000           8K USR RW                 N=
X pte
0xffffffffa001c000-0xffffffffa001d000           4K                         =
  pte
0xffffffffa001d000-0xffffffffa001e000           4K USR ro                 x=
  pte
0xffffffffa001e000-0xffffffffa001f000           4K USR ro                 N=
X pte
0xffffffffa001f000-0xffffffffa0021000           8K USR RW                 N=
X pte
0xffffffffa0021000-0xffffffffa0022000           4K                         =
  pte
0xffffffffa0022000-0xffffffffa0023000           4K USR ro                 x=
  pte
0xffffffffa0023000-0xffffffffa0024000           4K USR ro                 N=
X pte
0xffffffffa0024000-0xffffffffa0026000           8K USR RW                 N=
X pte
0xffffffffa0026000-0xffffffffa0027000           4K                         =
  pte
0xffffffffa0027000-0xffffffffa0028000           4K USR ro                 x=
  pte
0xffffffffa0028000-0xffffffffa0029000           4K USR ro                 N=
X pte
0xffffffffa0029000-0xffffffffa002b000           8K USR RW                 N=
X pte
0xffffffffa002b000-0xffffffffa002c000           4K                         =
  pte
0xffffffffa002c000-0xffffffffa002e000           8K USR ro                 x=
  pte
0xffffffffa002e000-0xffffffffa002f000           4K USR ro                 N=
X pte
0xffffffffa002f000-0xffffffffa0031000           8K USR RW                 N=
X pte
0xffffffffa0031000-0xffffffffa0036000          20K                         =
  pte
0xffffffffa0036000-0xffffffffa003a000          16K USR ro                 x=
  pte
0xffffffffa003a000-0xffffffffa003b000           4K USR ro                 N=
X pte
0xffffffffa003b000-0xffffffffa003d000           8K USR RW                 N=
X pte
0xffffffffa003d000-0xffffffffa0042000          20K                         =
  pte
0xffffffffa0042000-0xffffffffa0045000          12K USR ro                 x=
  pte
0xffffffffa0045000-0xffffffffa0046000           4K USR ro                 N=
X pte
0xffffffffa0046000-0xffffffffa0048000           8K USR RW                 N=
X pte
0xffffffffa0048000-0xffffffffa004d000          20K                         =
  pte
0xffffffffa004d000-0xffffffffa004e000           4K USR ro                 x=
  pte
0xffffffffa004e000-0xffffffffa004f000           4K USR ro                 N=
X pte
0xffffffffa004f000-0xffffffffa0051000           8K USR RW                 N=
X pte
0xffffffffa0051000-0xffffffffa0052000           4K                         =
  pte
0xffffffffa0052000-0xffffffffa0057000          20K USR ro                 x=
  pte
0xffffffffa0057000-0xffffffffa0059000           8K USR ro                 N=
X pte
0xffffffffa0059000-0xffffffffa005b000           8K USR RW                 N=
X pte
0xffffffffa005b000-0xffffffffa005c000           4K                         =
  pte
0xffffffffa005c000-0xffffffffa005d000           4K USR ro                 x=
  pte
0xffffffffa005d000-0xffffffffa005e000           4K USR ro                 N=
X pte
0xffffffffa005e000-0xffffffffa0060000           8K USR RW                 N=
X pte
0xffffffffa0060000-0xffffffffa0061000           4K                         =
  pte
0xffffffffa0061000-0xffffffffa006d000          48K USR ro                 x=
  pte
0xffffffffa006d000-0xffffffffa0070000          12K USR ro                 N=
X pte
0xffffffffa0070000-0xffffffffa0073000          12K USR RW                 N=
X pte
0xffffffffa0073000-0xffffffffa0074000           4K                         =
  pte
0xffffffffa0074000-0xffffffffa0075000           4K USR ro                 x=
  pte
0xffffffffa0075000-0xffffffffa0077000           8K USR ro                 N=
X pte
0xffffffffa0077000-0xffffffffa0079000           8K USR RW                 N=
X pte
0xffffffffa0079000-0xffffffffa007c000          12K                         =
  pte
0xffffffffa007c000-0xffffffffa007d000           4K USR ro                 x=
  pte
0xffffffffa007d000-0xffffffffa007e000           4K USR ro                 N=
X pte
0xffffffffa007e000-0xffffffffa0080000           8K USR RW                 N=
X pte
0xffffffffa0080000-0xffffffffa0081000           4K                         =
  pte
0xffffffffa0081000-0xffffffffa0082000           4K USR ro                 x=
  pte
0xffffffffa0082000-0xffffffffa0083000           4K USR ro                 N=
X pte
0xffffffffa0083000-0xffffffffa0085000           8K USR RW                 N=
X pte
0xffffffffa0085000-0xffffffffa0086000           4K                         =
  pte
0xffffffffa0086000-0xffffffffa008d000          28K USR ro                 x=
  pte
0xffffffffa008d000-0xffffffffa008e000           4K USR ro                 N=
X pte
0xffffffffa008e000-0xffffffffa0092000          16K USR RW                 N=
X pte
0xffffffffa0092000-0xffffffffa0097000          20K                         =
  pte
0xffffffffa0097000-0xffffffffa0126000         572K USR ro                 x=
  pte
0xffffffffa0126000-0xffffffffa014b000         148K USR ro                 N=
X pte
0xffffffffa014b000-0xffffffffa0168000         116K USR RW                 N=
X pte
0xffffffffa0168000-0xffffffffa0169000           4K                         =
  pte
0xffffffffa0169000-0xffffffffa016a000           4K USR ro                 x=
  pte
0xffffffffa016a000-0xffffffffa016b000           4K USR ro                 N=
X pte
0xffffffffa016b000-0xffffffffa016d000           8K USR RW                 N=
X pte
0xffffffffa016d000-0xffffffffa016e000           4K                         =
  pte
0xffffffffa016e000-0xffffffffa016f000           4K USR ro                 x=
  pte
0xffffffffa016f000-0xffffffffa0170000           4K USR ro                 N=
X pte
0xffffffffa0170000-0xffffffffa0172000           8K USR RW                 N=
X pte
0xffffffffa0172000-0xffffffffa0173000           4K                         =
  pte
0xffffffffa0173000-0xffffffffa0183000          64K USR ro                 x=
  pte
0xffffffffa0183000-0xffffffffa0192000          60K USR ro                 N=
X pte
0xffffffffa0192000-0xffffffffa0198000          24K USR RW                 N=
X pte
0xffffffffa0198000-0xffffffffa0199000           4K                         =
  pte
0xffffffffa0199000-0xffffffffa019f000          24K USR ro                 x=
  pte
0xffffffffa019f000-0xffffffffa01a1000           8K USR ro                 N=
X pte
0xffffffffa01a1000-0xffffffffa01a3000           8K USR RW                 N=
X pte
0xffffffffa01a3000-0xffffffffa01a8000          20K                         =
  pte
0xffffffffa01a8000-0xffffffffa01ad000          20K USR ro                 x=
  pte
0xffffffffa01ad000-0xffffffffa01af000           8K USR ro                 N=
X pte
0xffffffffa01af000-0xffffffffa01b3000          16K USR RW                 N=
X pte
0xffffffffa01b3000-0xffffffffa01b4000           4K                         =
  pte
0xffffffffa01b4000-0xffffffffa01b6000           8K USR ro                 x=
  pte
0xffffffffa01b6000-0xffffffffa01b7000           4K USR ro                 N=
X pte
0xffffffffa01b7000-0xffffffffa01b9000           8K USR RW                 N=
X pte
0xffffffffa01b9000-0xffffffffa01ba000           4K                         =
  pte
0xffffffffa01ba000-0xffffffffa01bc000           8K USR ro                 x=
  pte
0xffffffffa01bc000-0xffffffffa01bd000           4K USR ro                 N=
X pte
0xffffffffa01bd000-0xffffffffa01bf000           8K USR RW                 N=
X pte
0xffffffffa01bf000-0xffffffffa01c4000          20K                         =
  pte
0xffffffffa01c4000-0xffffffffa01c5000           4K USR ro                 x=
  pte
0xffffffffa01c5000-0xffffffffa01c6000           4K USR ro                 N=
X pte
0xffffffffa01c6000-0xffffffffa01c8000           8K USR RW                 N=
X pte
0xffffffffa01c8000-0xffffffffa01c9000           4K                         =
  pte
0xffffffffa01c9000-0xffffffffa01ca000           4K USR ro                 x=
  pte
0xffffffffa01ca000-0xffffffffa01cb000           4K USR ro                 N=
X pte
0xffffffffa01cb000-0xffffffffa01cd000           8K USR RW                 N=
X pte
0xffffffffa01cd000-0xffffffffa0200000         204K                         =
  pte
0xffffffffa0200000-0xffffffffc0000000         510M                         =
  pmd
0xffffffffc0000000-0xffffffffc009b000         620K USR RW                 x=
  pte
0xffffffffc009b000-0xffffffffc00a0000          20K USR RW                 x=
  pte
0xffffffffc00a0000-0xffffffffc07fb000        7532K USR RW                 x=
  pte
0xffffffffc07fb000-0xffffffffc0efc000        7172K USR ro                 x=
  pte
0xffffffffc0efc000-0xffffffffc1000000        1040K USR RW                 x=
  pte
0xffffffffc1000000-0xffffffffc1002000           8K USR ro                 x=
  pte
0xffffffffc1002000-0xffffffffc1013000          68K USR ro                 x=
  pte
0xffffffffc1013000-0xffffffffc1015000           8K USR ro                 x=
  pte
0xffffffffc1015000-0xffffffffc1017000           8K USR ro                 x=
  pte
0xffffffffc1017000-0xffffffffc1019000           8K USR ro                 x=
  pte
0xffffffffc1019000-0xffffffffc101a000           4K USR ro                 x=
  pte
0xffffffffc101a000-0xffffffffc101b000           4K USR ro                 x=
  pte
0xffffffffc101b000-0xffffffffc101f000          16K USR ro                 x=
  pte
0xffffffffc101f000-0xffffffffc1028000          36K USR ro                 x=
  pte
0xffffffffc1028000-0xffffffffc102a000           8K USR ro                 x=
  pte
0xffffffffc102a000-0xffffffffc102c000           8K USR ro                 x=
  pte
0xffffffffc102c000-0xffffffffc103c000          64K USR ro                 x=
  pte
0xffffffffc103c000-0xffffffffc103d000           4K USR ro                 x=
  pte
0xffffffffc103d000-0xffffffffc1051000          80K USR ro                 x=
  pte
0xffffffffc1051000-0xffffffffc1052000           4K USR ro                 x=
  pte
0xffffffffc1052000-0xffffffffc1057000          20K USR ro                 x=
  pte
0xffffffffc1057000-0xffffffffc1058000           4K USR ro                 x=
  pte
0xffffffffc1058000-0xffffffffc1061000          36K USR ro                 x=
  pte
0xffffffffc1061000-0xffffffffc1063000           8K USR ro                 x=
  pte
0xffffffffc1063000-0xffffffffc106b000          32K USR ro                 x=
  pte
0xffffffffc106b000-0xffffffffc106c000           4K USR ro                 x=
  pte
0xffffffffc106c000-0xffffffffc1078000          48K USR ro                 x=
  pte
0xffffffffc1078000-0xffffffffc107a000           8K USR ro                 x=
  pte
0xffffffffc107a000-0xffffffffc1083000          36K USR ro                 x=
  pte
0xffffffffc1083000-0xffffffffc1084000           4K USR ro                 x=
  pte
0xffffffffc1084000-0xffffffffc108f000          44K USR ro                 x=
  pte
0xffffffffc108f000-0xffffffffc1090000           4K USR ro                 x=
  pte
0xffffffffc1090000-0xffffffffc1094000          16K USR ro                 x=
  pte
0xffffffffc1094000-0xffffffffc1097000          12K USR ro                 x=
  pte
0xffffffffc1097000-0xffffffffc10a0000          36K USR ro                 x=
  pte
0xffffffffc10a0000-0xffffffffc10a2000           8K USR ro                 x=
  pte
0xffffffffc10a2000-0xffffffffc10a7000          20K USR ro                 x=
  pte
0xffffffffc10a7000-0xffffffffc10a8000           4K USR ro                 x=
  pte
0xffffffffc10a8000-0xffffffffc10aa000           8K USR ro                 x=
  pte
0xffffffffc10aa000-0xffffffffc10af000          20K USR ro                 x=
  pte
0xffffffffc10af000-0xffffffffc10b4000          20K USR ro                 x=
  pte
0xffffffffc10b4000-0xffffffffc10b6000           8K USR ro                 x=
  pte
0xffffffffc10b6000-0xffffffffc10c0000          40K USR ro                 x=
  pte
0xffffffffc10c0000-0xffffffffc10c4000          16K USR ro                 x=
  pte
0xffffffffc10c4000-0xffffffffc10c6000           8K USR ro                 x=
  pte
0xffffffffc10c6000-0xffffffffc10ca000          16K USR ro                 x=
  pte
0xffffffffc10ca000-0xffffffffc10cc000           8K USR ro                 x=
  pte
0xffffffffc10cc000-0xffffffffc10cd000           4K USR ro                 x=
  pte
0xffffffffc10cd000-0xffffffffc10d5000          32K USR ro                 x=
  pte
0xffffffffc10d5000-0xffffffffc10d9000          16K USR ro                 x=
  pte
0xffffffffc10d9000-0xffffffffc10da000           4K USR ro                 x=
  pte
0xffffffffc10da000-0xffffffffc10db000           4K USR ro                 x=
  pte
0xffffffffc10db000-0xffffffffc10dc000           4K USR ro                 x=
  pte
0xffffffffc10dc000-0xffffffffc10dd000           4K USR ro                 x=
  pte
0xffffffffc10dd000-0xffffffffc10e2000          20K USR ro                 x=
  pte
0xffffffffc10e2000-0xffffffffc10e3000           4K USR ro                 x=
  pte
0xffffffffc10e3000-0xffffffffc10f8000          84K USR ro                 x=
  pte
0xffffffffc10f8000-0xffffffffc10fb000          12K USR ro                 x=
  pte
0xffffffffc10fb000-0xffffffffc1101000          24K USR ro                 x=
  pte
0xffffffffc1101000-0xffffffffc1102000           4K USR ro                 x=
  pte
0xffffffffc1102000-0xffffffffc1106000          16K USR ro                 x=
  pte
0xffffffffc1106000-0xffffffffc1107000           4K USR ro                 x=
  pte
0xffffffffc1107000-0xffffffffc1108000           4K USR ro                 x=
  pte
0xffffffffc1108000-0xffffffffc1109000           4K USR ro                 x=
  pte
0xffffffffc1109000-0xffffffffc1113000          40K USR ro                 x=
  pte
0xffffffffc1113000-0xffffffffc1114000           4K USR ro                 x=
  pte
0xffffffffc1114000-0xffffffffc1117000          12K USR ro                 x=
  pte
0xffffffffc1117000-0xffffffffc1118000           4K USR ro                 x=
  pte
0xffffffffc1118000-0xffffffffc1122000          40K USR ro                 x=
  pte
0xffffffffc1122000-0xffffffffc1124000           8K USR ro                 x=
  pte
0xffffffffc1124000-0xffffffffc1143000         124K USR ro                 x=
  pte
0xffffffffc1143000-0xffffffffc1145000           8K USR ro                 x=
  pte
0xffffffffc1145000-0xffffffffc1166000         132K USR ro                 x=
  pte
0xffffffffc1166000-0xffffffffc1168000           8K USR ro                 x=
  pte
0xffffffffc1168000-0xffffffffc116d000          20K USR ro                 x=
  pte
0xffffffffc116d000-0xffffffffc116e000           4K USR ro                 x=
  pte
0xffffffffc116e000-0xffffffffc116f000           4K USR ro                 x=
  pte
0xffffffffc116f000-0xffffffffc1170000           4K USR ro                 x=
  pte
0xffffffffc1170000-0xffffffffc1174000          16K USR ro                 x=
  pte
0xffffffffc1174000-0xffffffffc1177000          12K USR ro                 x=
  pte
0xffffffffc1177000-0xffffffffc117a000          12K USR ro                 x=
  pte
0xffffffffc117a000-0xffffffffc117e000          16K USR ro                 x=
  pte
0xffffffffc117e000-0xffffffffc118d000          60K USR ro                 x=
  pte
0xffffffffc118d000-0xffffffffc118e000           4K USR ro                 x=
  pte
0xffffffffc118e000-0xffffffffc1190000           8K USR ro                 x=
  pte
0xffffffffc1190000-0xffffffffc1191000           4K USR ro                 x=
  pte
0xffffffffc1191000-0xffffffffc1192000           4K USR ro                 x=
  pte
0xffffffffc1192000-0xffffffffc1193000           4K USR ro                 x=
  pte
0xffffffffc1193000-0xffffffffc1194000           4K USR ro                 x=
  pte
0xffffffffc1194000-0xffffffffc1197000          12K USR ro                 x=
  pte
0xffffffffc1197000-0xffffffffc1198000           4K USR ro                 x=
  pte
0xffffffffc1198000-0xffffffffc1199000           4K USR ro                 x=
  pte
0xffffffffc1199000-0xffffffffc11a0000          28K USR ro                 x=
  pte
0xffffffffc11a0000-0xffffffffc11a1000           4K USR ro                 x=
  pte
0xffffffffc11a1000-0xffffffffc11ab000          40K USR ro                 x=
  pte
0xffffffffc11ab000-0xffffffffc11ac000           4K USR ro                 x=
  pte
0xffffffffc11ac000-0xffffffffc11af000          12K USR ro                 x=
  pte
0xffffffffc11af000-0xffffffffc11b1000           8K USR ro                 x=
  pte
0xffffffffc11b1000-0xffffffffc11b4000          12K USR ro                 x=
  pte
0xffffffffc11b4000-0xffffffffc11b5000           4K USR ro                 x=
  pte
0xffffffffc11b5000-0xffffffffc11b9000          16K USR ro                 x=
  pte
0xffffffffc11b9000-0xffffffffc11bb000           8K USR ro                 x=
  pte
0xffffffffc11bb000-0xffffffffc11bd000           8K USR ro                 x=
  pte
0xffffffffc11bd000-0xffffffffc11be000           4K USR ro                 x=
  pte
0xffffffffc11be000-0xffffffffc11c2000          16K USR ro                 x=
  pte
0xffffffffc11c2000-0xffffffffc11c6000          16K USR ro                 x=
  pte
0xffffffffc11c6000-0xffffffffc11c7000           4K USR ro                 x=
  pte
0xffffffffc11c7000-0xffffffffc11c8000           4K USR ro                 x=
  pte
0xffffffffc11c8000-0xffffffffc11c9000           4K USR ro                 x=
  pte
0xffffffffc11c9000-0xffffffffc11ca000           4K USR ro                 x=
  pte
0xffffffffc11ca000-0xffffffffc11cf000          20K USR ro                 x=
  pte
0xffffffffc11cf000-0xffffffffc11d0000           4K USR ro                 x=
  pte
0xffffffffc11d0000-0xffffffffc11d3000          12K USR ro                 x=
  pte
0xffffffffc11d3000-0xffffffffc11d5000           8K USR ro                 x=
  pte
0xffffffffc11d5000-0xffffffffc11d6000           4K USR ro                 x=
  pte
0xffffffffc11d6000-0xffffffffc11d8000           8K USR ro                 x=
  pte
0xffffffffc11d8000-0xffffffffc11d9000           4K USR ro                 x=
  pte
0xffffffffc11d9000-0xffffffffc11da000           4K USR ro                 x=
  pte
0xffffffffc11da000-0xffffffffc11e0000          24K USR ro                 x=
  pte
0xffffffffc11e0000-0xffffffffc11e3000          12K USR ro                 x=
  pte
0xffffffffc11e3000-0xffffffffc11e9000          24K USR ro                 x=
  pte
0xffffffffc11e9000-0xffffffffc11ea000           4K USR ro                 x=
  pte
0xffffffffc11ea000-0xffffffffc11eb000           4K USR ro                 x=
  pte
0xffffffffc11eb000-0xffffffffc11f1000          24K USR ro                 x=
  pte
0xffffffffc11f1000-0xffffffffc11f7000          24K USR ro                 x=
  pte
0xffffffffc11f7000-0xffffffffc11f8000           4K USR ro                 x=
  pte
0xffffffffc11f8000-0xffffffffc11fa000           8K USR ro                 x=
  pte
0xffffffffc11fa000-0xffffffffc11fb000           4K USR ro                 x=
  pte
0xffffffffc11fb000-0xffffffffc11fd000           8K USR ro                 x=
  pte
0xffffffffc11fd000-0xffffffffc11fe000           4K USR ro                 x=
  pte
0xffffffffc11fe000-0xffffffffc1200000           8K USR ro                 x=
  pte
0xffffffffc1200000-0xffffffffc1201000           4K USR ro                 x=
  pte
0xffffffffc1201000-0xffffffffc1203000           8K USR ro                 x=
  pte
0xffffffffc1203000-0xffffffffc1207000          16K USR ro                 x=
  pte
0xffffffffc1207000-0xffffffffc1209000           8K USR ro                 x=
  pte
0xffffffffc1209000-0xffffffffc120a000           4K USR ro                 x=
  pte
0xffffffffc120a000-0xffffffffc120b000           4K USR ro                 x=
  pte
0xffffffffc120b000-0xffffffffc120c000           4K USR ro                 x=
  pte
0xffffffffc120c000-0xffffffffc120e000           8K USR ro                 x=
  pte
0xffffffffc120e000-0xffffffffc1223000          84K USR ro                 x=
  pte
0xffffffffc1223000-0xffffffffc1228000          20K USR ro                 x=
  pte
0xffffffffc1228000-0xffffffffc1229000           4K USR ro                 x=
  pte
0xffffffffc1229000-0xffffffffc123b000          72K USR ro                 x=
  pte
0xffffffffc123b000-0xffffffffc123d000           8K USR ro                 x=
  pte
0xffffffffc123d000-0xffffffffc123e000           4K USR ro                 x=
  pte
0xffffffffc123e000-0xffffffffc123f000           4K USR ro                 x=
  pte
0xffffffffc123f000-0xffffffffc1242000          12K USR ro                 x=
  pte
0xffffffffc1242000-0xffffffffc1244000           8K USR ro                 x=
  pte
0xffffffffc1244000-0xffffffffc1245000           4K USR ro                 x=
  pte
0xffffffffc1245000-0xffffffffc1247000           8K USR ro                 x=
  pte
0xffffffffc1247000-0xffffffffc1248000           4K USR ro                 x=
  pte
0xffffffffc1248000-0xffffffffc1252000          40K USR ro                 x=
  pte
0xffffffffc1252000-0xffffffffc1253000           4K USR ro                 x=
  pte
0xffffffffc1253000-0xffffffffc1254000           4K USR ro                 x=
  pte
0xffffffffc1254000-0xffffffffc1255000           4K USR ro                 x=
  pte
0xffffffffc1255000-0xffffffffc1258000          12K USR ro                 x=
  pte
0xffffffffc1258000-0xffffffffc1259000           4K USR ro                 x=
  pte
0xffffffffc1259000-0xffffffffc1268000          60K USR ro                 x=
  pte
0xffffffffc1268000-0xffffffffc126e000          24K USR ro                 x=
  pte
0xffffffffc126e000-0xffffffffc126f000           4K USR ro                 x=
  pte
0xffffffffc126f000-0xffffffffc1272000          12K USR ro                 x=
  pte
0xffffffffc1272000-0xffffffffc1273000           4K USR ro                 x=
  pte
0xffffffffc1273000-0xffffffffc1274000           4K USR ro                 x=
  pte
0xffffffffc1274000-0xffffffffc127a000          24K USR ro                 x=
  pte
0xffffffffc127a000-0xffffffffc127c000           8K USR ro                 x=
  pte
0xffffffffc127c000-0xffffffffc127d000           4K USR ro                 x=
  pte
0xffffffffc127d000-0xffffffffc1285000          32K USR ro                 x=
  pte
0xffffffffc1285000-0xffffffffc1286000           4K USR ro                 x=
  pte
0xffffffffc1286000-0xffffffffc1287000           4K USR ro                 x=
  pte
0xffffffffc1287000-0xffffffffc1288000           4K USR ro                 x=
  pte
0xffffffffc1288000-0xffffffffc1289000           4K USR ro                 x=
  pte
0xffffffffc1289000-0xffffffffc128d000          16K USR ro                 x=
  pte
0xffffffffc128d000-0xffffffffc128f000           8K USR ro                 x=
  pte
0xffffffffc128f000-0xffffffffc1291000           8K USR ro                 x=
  pte
0xffffffffc1291000-0xffffffffc1292000           4K USR ro                 x=
  pte
0xffffffffc1292000-0xffffffffc129f000          52K USR ro                 x=
  pte
0xffffffffc129f000-0xffffffffc12a0000           4K USR ro                 x=
  pte
0xffffffffc12a0000-0xffffffffc12a1000           4K USR ro                 x=
  pte
0xffffffffc12a1000-0xffffffffc12a3000           8K USR ro                 x=
  pte
0xffffffffc12a3000-0xffffffffc12a5000           8K USR ro                 x=
  pte
0xffffffffc12a5000-0xffffffffc12a6000           4K USR ro                 x=
  pte
0xffffffffc12a6000-0xffffffffc12a9000          12K USR ro                 x=
  pte
0xffffffffc12a9000-0xffffffffc12ab000           8K USR ro                 x=
  pte
0xffffffffc12ab000-0xffffffffc12c3000          96K USR ro                 x=
  pte
0xffffffffc12c3000-0xffffffffc12c6000          12K USR ro                 x=
  pte
0xffffffffc12c6000-0xffffffffc12cc000          24K USR ro                 x=
  pte
0xffffffffc12cc000-0xffffffffc12cf000          12K USR ro                 x=
  pte
0xffffffffc12cf000-0xffffffffc12d1000           8K USR ro                 x=
  pte
0xffffffffc12d1000-0xffffffffc12d2000           4K USR ro                 x=
  pte
0xffffffffc12d2000-0xffffffffc12d3000           4K USR ro                 x=
  pte
0xffffffffc12d3000-0xffffffffc12d7000          16K USR ro                 x=
  pte
0xffffffffc12d7000-0xffffffffc12d8000           4K USR ro                 x=
  pte
0xffffffffc12d8000-0xffffffffc12da000           8K USR ro                 x=
  pte
0xffffffffc12da000-0xffffffffc12dc000           8K USR ro                 x=
  pte
0xffffffffc12dc000-0xffffffffc12e1000          20K USR ro                 x=
  pte
0xffffffffc12e1000-0xffffffffc12e3000           8K USR ro                 x=
  pte
0xffffffffc12e3000-0xffffffffc12e4000           4K USR ro                 x=
  pte
0xffffffffc12e4000-0xffffffffc12e5000           4K USR ro                 x=
  pte
0xffffffffc12e5000-0xffffffffc12e6000           4K USR ro                 x=
  pte
0xffffffffc12e6000-0xffffffffc12e7000           4K USR ro                 x=
  pte
0xffffffffc12e7000-0xffffffffc12ed000          24K USR ro                 x=
  pte
0xffffffffc12ed000-0xffffffffc12ee000           4K USR ro                 x=
  pte
0xffffffffc12ee000-0xffffffffc12f9000          44K USR ro                 x=
  pte
0xffffffffc12f9000-0xffffffffc12fa000           4K USR ro                 x=
  pte
0xffffffffc12fa000-0xffffffffc12fe000          16K USR ro                 x=
  pte
0xffffffffc12fe000-0xffffffffc1300000           8K USR ro                 x=
  pte
0xffffffffc1300000-0xffffffffc1302000           8K USR ro                 x=
  pte
0xffffffffc1302000-0xffffffffc130d000          44K USR ro                 x=
  pte
0xffffffffc130d000-0xffffffffc130e000           4K USR ro                 x=
  pte
0xffffffffc130e000-0xffffffffc130f000           4K USR ro                 x=
  pte
0xffffffffc130f000-0xffffffffc1312000          12K USR ro                 x=
  pte
0xffffffffc1312000-0xffffffffc1314000           8K USR ro                 x=
  pte
0xffffffffc1314000-0xffffffffc1318000          16K USR ro                 x=
  pte
0xffffffffc1318000-0xffffffffc131b000          12K USR ro                 x=
  pte
0xffffffffc131b000-0xffffffffc131c000           4K USR ro                 x=
  pte
0xffffffffc131c000-0xffffffffc1324000          32K USR ro                 x=
  pte
0xffffffffc1324000-0xffffffffc1329000          20K USR ro                 x=
  pte
0xffffffffc1329000-0xffffffffc132d000          16K USR ro                 x=
  pte
0xffffffffc132d000-0xffffffffc132e000           4K USR ro                 x=
  pte
0xffffffffc132e000-0xffffffffc132f000           4K USR ro                 x=
  pte
0xffffffffc132f000-0xffffffffc1332000          12K USR ro                 x=
  pte
0xffffffffc1332000-0xffffffffc1333000           4K USR ro                 x=
  pte
0xffffffffc1333000-0xffffffffc1334000           4K USR ro                 x=
  pte
0xffffffffc1334000-0xffffffffc1335000           4K USR ro                 x=
  pte
0xffffffffc1335000-0xffffffffc1337000           8K USR ro                 x=
  pte
0xffffffffc1337000-0xffffffffc133b000          16K USR ro                 x=
  pte
0xffffffffc133b000-0xffffffffc133c000           4K USR ro                 x=
  pte
0xffffffffc133c000-0xffffffffc1340000          16K USR ro                 x=
  pte
0xffffffffc1340000-0xffffffffc1342000           8K USR ro                 x=
  pte
0xffffffffc1342000-0xffffffffc1343000           4K USR ro                 x=
  pte
0xffffffffc1343000-0xffffffffc1348000          20K USR ro                 x=
  pte
0xffffffffc1348000-0xffffffffc134c000          16K USR ro                 x=
  pte
0xffffffffc134c000-0xffffffffc1350000          16K USR ro                 x=
  pte
0xffffffffc1350000-0xffffffffc1351000           4K USR ro                 x=
  pte
0xffffffffc1351000-0xffffffffc1353000           8K USR ro                 x=
  pte
0xffffffffc1353000-0xffffffffc1358000          20K USR ro                 x=
  pte
0xffffffffc1358000-0xffffffffc135e000          24K USR ro                 x=
  pte
0xffffffffc135e000-0xffffffffc135f000           4K USR ro                 x=
  pte
0xffffffffc135f000-0xffffffffc1361000           8K USR ro                 x=
  pte
0xffffffffc1361000-0xffffffffc1366000          20K USR ro                 x=
  pte
0xffffffffc1366000-0xffffffffc1367000           4K USR ro                 x=
  pte
0xffffffffc1367000-0xffffffffc1368000           4K USR ro                 x=
  pte
0xffffffffc1368000-0xffffffffc136a000           8K USR ro                 x=
  pte
0xffffffffc136a000-0xffffffffc1374000          40K USR ro                 x=
  pte
0xffffffffc1374000-0xffffffffc1376000           8K USR ro                 x=
  pte
0xffffffffc1376000-0xffffffffc1379000          12K USR ro                 x=
  pte
0xffffffffc1379000-0xffffffffc137f000          24K USR ro                 x=
  pte
0xffffffffc137f000-0xffffffffc1380000           4K USR ro                 x=
  pte
0xffffffffc1380000-0xffffffffc1383000          12K USR ro                 x=
  pte
0xffffffffc1383000-0xffffffffc1384000           4K USR ro                 x=
  pte
0xffffffffc1384000-0xffffffffc1387000          12K USR ro                 x=
  pte
0xffffffffc1387000-0xffffffffc1389000           8K USR ro                 x=
  pte
0xffffffffc1389000-0xffffffffc138c000          12K USR ro                 x=
  pte
0xffffffffc138c000-0xffffffffc1393000          28K USR ro                 x=
  pte
0xffffffffc1393000-0xffffffffc1395000           8K USR ro                 x=
  pte
0xffffffffc1395000-0xffffffffc1398000          12K USR ro                 x=
  pte
0xffffffffc1398000-0xffffffffc139a000           8K USR ro                 x=
  pte
0xffffffffc139a000-0xffffffffc139c000           8K USR ro                 x=
  pte
0xffffffffc139c000-0xffffffffc139d000           4K USR ro                 x=
  pte
0xffffffffc139d000-0xffffffffc13a3000          24K USR ro                 x=
  pte
0xffffffffc13a3000-0xffffffffc13a4000           4K USR ro                 x=
  pte
0xffffffffc13a4000-0xffffffffc13a5000           4K USR ro                 x=
  pte
0xffffffffc13a5000-0xffffffffc13a6000           4K USR ro                 x=
  pte
0xffffffffc13a6000-0xffffffffc13a9000          12K USR ro                 x=
  pte
0xffffffffc13a9000-0xffffffffc13ab000           8K USR ro                 x=
  pte
0xffffffffc13ab000-0xffffffffc13ac000           4K USR ro                 x=
  pte
0xffffffffc13ac000-0xffffffffc13ae000           8K USR ro                 x=
  pte
0xffffffffc13ae000-0xffffffffc13b1000          12K USR ro                 x=
  pte
0xffffffffc13b1000-0xffffffffc13b3000           8K USR ro                 x=
  pte
0xffffffffc13b3000-0xffffffffc13b5000           8K USR ro                 x=
  pte
0xffffffffc13b5000-0xffffffffc13b9000          16K USR ro                 x=
  pte
0xffffffffc13b9000-0xffffffffc13ba000           4K USR ro                 x=
  pte
0xffffffffc13ba000-0xffffffffc13bf000          20K USR ro                 x=
  pte
0xffffffffc13bf000-0xffffffffc13ce000          60K USR ro                 x=
  pte
0xffffffffc13ce000-0xffffffffc13cf000           4K USR ro                 x=
  pte
0xffffffffc13cf000-0xffffffffc13d0000           4K USR ro                 x=
  pte
0xffffffffc13d0000-0xffffffffc13d2000           8K USR ro                 x=
  pte
0xffffffffc13d2000-0xffffffffc13d3000           4K USR ro                 x=
  pte
0xffffffffc13d3000-0xffffffffc13db000          32K USR ro                 x=
  pte
0xffffffffc13db000-0xffffffffc13dc000           4K USR ro                 x=
  pte
0xffffffffc13dc000-0xffffffffc13dd000           4K USR ro                 x=
  pte
0xffffffffc13dd000-0xffffffffc13de000           4K USR ro                 x=
  pte
0xffffffffc13de000-0xffffffffc13e0000           8K USR ro                 x=
  pte
0xffffffffc13e0000-0xffffffffc13e3000          12K USR ro                 x=
  pte
0xffffffffc13e3000-0xffffffffc13e5000           8K USR ro                 x=
  pte
0xffffffffc13e5000-0xffffffffc13e8000          12K USR ro                 x=
  pte
0xffffffffc13e8000-0xffffffffc13ea000           8K USR ro                 x=
  pte
0xffffffffc13ea000-0xffffffffc13ec000           8K USR ro                 x=
  pte
0xffffffffc13ec000-0xffffffffc13ed000           4K USR ro                 x=
  pte
0xffffffffc13ed000-0xffffffffc13ef000           8K USR ro                 x=
  pte
0xffffffffc13ef000-0xffffffffc13f3000          16K USR ro                 x=
  pte
0xffffffffc13f3000-0xffffffffc13f4000           4K USR ro                 x=
  pte
0xffffffffc13f4000-0xffffffffc13f6000           8K USR ro                 x=
  pte
0xffffffffc13f6000-0xffffffffc13f7000           4K USR ro                 x=
  pte
0xffffffffc13f7000-0xffffffffc13fa000          12K USR ro                 x=
  pte
0xffffffffc13fa000-0xffffffffc13fb000           4K USR ro                 x=
  pte
0xffffffffc13fb000-0xffffffffc13fd000           8K USR ro                 x=
  pte
0xffffffffc13fd000-0xffffffffc13fe000           4K USR ro                 x=
  pte
0xffffffffc13fe000-0xffffffffc1403000          20K USR ro                 x=
  pte
0xffffffffc1403000-0xffffffffc1404000           4K USR ro                 x=
  pte
0xffffffffc1404000-0xffffffffc1406000           8K USR ro                 x=
  pte
0xffffffffc1406000-0xffffffffc1408000           8K USR ro                 x=
  pte
0xffffffffc1408000-0xffffffffc1411000          36K USR ro                 x=
  pte
0xffffffffc1411000-0xffffffffc1412000           4K USR ro                 x=
  pte
0xffffffffc1412000-0xffffffffc1413000           4K USR ro                 x=
  pte
0xffffffffc1413000-0xffffffffc1415000           8K USR ro                 x=
  pte
0xffffffffc1415000-0xffffffffc1416000           4K USR ro                 x=
  pte
0xffffffffc1416000-0xffffffffc1419000          12K USR ro                 x=
  pte
0xffffffffc1419000-0xffffffffc141e000          20K USR ro                 x=
  pte
0xffffffffc141e000-0xffffffffc1425000          28K USR ro                 x=
  pte
0xffffffffc1425000-0xffffffffc1426000           4K USR ro                 x=
  pte
0xffffffffc1426000-0xffffffffc1428000           8K USR ro                 x=
  pte
0xffffffffc1428000-0xffffffffc142f000          28K USR ro                 x=
  pte
0xffffffffc142f000-0xffffffffc1430000           4K USR ro                 x=
  pte
0xffffffffc1430000-0xffffffffc1437000          28K USR ro                 x=
  pte
0xffffffffc1437000-0xffffffffc1438000           4K USR ro                 x=
  pte
0xffffffffc1438000-0xffffffffc1439000           4K USR ro                 x=
  pte
0xffffffffc1439000-0xffffffffc143d000          16K USR ro                 x=
  pte
0xffffffffc143d000-0xffffffffc143e000           4K USR ro                 x=
  pte
0xffffffffc143e000-0xffffffffc143f000           4K USR ro                 x=
  pte
0xffffffffc143f000-0xffffffffc1440000           4K USR ro                 x=
  pte
0xffffffffc1440000-0xffffffffc1443000          12K USR ro                 x=
  pte
0xffffffffc1443000-0xffffffffc1445000           8K USR ro                 x=
  pte
0xffffffffc1445000-0xffffffffc1446000           4K USR ro                 x=
  pte
0xffffffffc1446000-0xffffffffc1448000           8K USR ro                 x=
  pte
0xffffffffc1448000-0xffffffffc144d000          20K USR ro                 x=
  pte
0xffffffffc144d000-0xffffffffc144f000           8K USR ro                 x=
  pte
0xffffffffc144f000-0xffffffffc1451000           8K USR ro                 x=
  pte
0xffffffffc1451000-0xffffffffc1452000           4K USR ro                 x=
  pte
0xffffffffc1452000-0xffffffffc1458000          24K USR ro                 x=
  pte
0xffffffffc1458000-0xffffffffc1459000           4K USR ro                 x=
  pte
0xffffffffc1459000-0xffffffffc145a000           4K USR ro                 x=
  pte
0xffffffffc145a000-0xffffffffc145c000           8K USR ro                 x=
  pte
0xffffffffc145c000-0xffffffffc145d000           4K USR ro                 x=
  pte
0xffffffffc145d000-0xffffffffc1462000          20K USR ro                 x=
  pte
0xffffffffc1462000-0xffffffffc1463000           4K USR ro                 x=
  pte
0xffffffffc1463000-0xffffffffc1464000           4K USR ro                 x=
  pte
0xffffffffc1464000-0xffffffffc1465000           4K USR ro                 x=
  pte
0xffffffffc1465000-0xffffffffc1467000           8K USR ro                 x=
  pte
0xffffffffc1467000-0xffffffffc1468000           4K USR ro                 x=
  pte
0xffffffffc1468000-0xffffffffc1469000           4K USR ro                 x=
  pte
0xffffffffc1469000-0xffffffffc146a000           4K USR ro                 x=
  pte
0xffffffffc146a000-0xffffffffc146b000           4K USR ro                 x=
  pte
0xffffffffc146b000-0xffffffffc1470000          20K USR ro                 x=
  pte
0xffffffffc1470000-0xffffffffc1471000           4K USR ro                 x=
  pte
0xffffffffc1471000-0xffffffffc1473000           8K USR ro                 x=
  pte
0xffffffffc1473000-0xffffffffc1477000          16K USR ro                 x=
  pte
0xffffffffc1477000-0xffffffffc147a000          12K USR ro                 x=
  pte
0xffffffffc147a000-0xffffffffc147b000           4K USR ro                 x=
  pte
0xffffffffc147b000-0xffffffffc147c000           4K USR ro                 x=
  pte
0xffffffffc147c000-0xffffffffc147d000           4K USR ro                 x=
  pte
0xffffffffc147d000-0xffffffffc1482000          20K USR ro                 x=
  pte
0xffffffffc1482000-0xffffffffc1484000           8K USR ro                 x=
  pte
0xffffffffc1484000-0xffffffffc1485000           4K USR ro                 x=
  pte
0xffffffffc1485000-0xffffffffc1486000           4K USR ro                 x=
  pte
0xffffffffc1486000-0xffffffffc1489000          12K USR ro                 x=
  pte
0xffffffffc1489000-0xffffffffc148a000           4K USR ro                 x=
  pte
0xffffffffc148a000-0xffffffffc148b000           4K USR ro                 x=
  pte
0xffffffffc148b000-0xffffffffc148c000           4K USR ro                 x=
  pte
0xffffffffc148c000-0xffffffffc1499000          52K USR ro                 x=
  pte
0xffffffffc1499000-0xffffffffc149a000           4K USR ro                 x=
  pte
0xffffffffc149a000-0xffffffffc14a2000          32K USR ro                 x=
  pte
0xffffffffc14a2000-0xffffffffc14a5000          12K USR ro                 x=
  pte
0xffffffffc14a5000-0xffffffffc14a8000          12K USR ro                 x=
  pte
0xffffffffc14a8000-0xffffffffc14b0000          32K USR ro                 x=
  pte
0xffffffffc14b0000-0xffffffffc14b1000           4K USR ro                 x=
  pte
0xffffffffc14b1000-0xffffffffc14b2000           4K USR ro                 x=
  pte
0xffffffffc14b2000-0xffffffffc14c2000          64K USR ro                 x=
  pte
0xffffffffc14c2000-0xffffffffc14c3000           4K USR ro                 x=
  pte
0xffffffffc14c3000-0xffffffffc14c5000           8K USR ro                 x=
  pte
0xffffffffc14c5000-0xffffffffc14cb000          24K USR ro                 x=
  pte
0xffffffffc14cb000-0xffffffffc14cc000           4K USR ro                 x=
  pte
0xffffffffc14cc000-0xffffffffc14cf000          12K USR ro                 x=
  pte
0xffffffffc14cf000-0xffffffffc14d0000           4K USR ro                 x=
  pte
0xffffffffc14d0000-0xffffffffc14d1000           4K USR ro                 x=
  pte
0xffffffffc14d1000-0xffffffffc14d3000           8K USR ro                 x=
  pte
0xffffffffc14d3000-0xffffffffc14d4000           4K USR ro                 x=
  pte
0xffffffffc14d4000-0xffffffffc14d6000           8K USR ro                 x=
  pte
0xffffffffc14d6000-0xffffffffc14d7000           4K USR ro                 x=
  pte
0xffffffffc14d7000-0xffffffffc14db000          16K USR ro                 x=
  pte
0xffffffffc14db000-0xffffffffc14dc000           4K USR ro                 x=
  pte
0xffffffffc14dc000-0xffffffffc14de000           8K USR ro                 x=
  pte
0xffffffffc14de000-0xffffffffc14df000           4K USR ro                 x=
  pte
0xffffffffc14df000-0xffffffffc14e3000          16K USR ro                 x=
  pte
0xffffffffc14e3000-0xffffffffc14e7000          16K USR ro                 x=
  pte
0xffffffffc14e7000-0xffffffffc14e8000           4K USR ro                 x=
  pte
0xffffffffc14e8000-0xffffffffc14e9000           4K USR ro                 x=
  pte
0xffffffffc14e9000-0xffffffffc14f1000          32K USR ro                 x=
  pte
0xffffffffc14f1000-0xffffffffc14f2000           4K USR ro                 x=
  pte
0xffffffffc14f2000-0xffffffffc14f6000          16K USR ro                 x=
  pte
0xffffffffc14f6000-0xffffffffc14f7000           4K USR ro                 x=
  pte
0xffffffffc14f7000-0xffffffffc14f8000           4K USR ro                 x=
  pte
0xffffffffc14f8000-0xffffffffc14f9000           4K USR ro                 x=
  pte
0xffffffffc14f9000-0xffffffffc14fe000          20K USR ro                 x=
  pte
0xffffffffc14fe000-0xffffffffc1503000          20K USR ro                 x=
  pte
0xffffffffc1503000-0xffffffffc1508000          20K USR ro                 x=
  pte
0xffffffffc1508000-0xffffffffc150d000          20K USR ro                 x=
  pte
0xffffffffc150d000-0xffffffffc1511000          16K USR ro                 x=
  pte
0xffffffffc1511000-0xffffffffc1513000           8K USR ro                 x=
  pte
0xffffffffc1513000-0xffffffffc1514000           4K USR ro                 x=
  pte
0xffffffffc1514000-0xffffffffc1515000           4K USR ro                 x=
  pte
0xffffffffc1515000-0xffffffffc1516000           4K USR ro                 x=
  pte
0xffffffffc1516000-0xffffffffc151b000          20K USR ro                 x=
  pte
0xffffffffc151b000-0xffffffffc1520000          20K USR ro                 x=
  pte
0xffffffffc1520000-0xffffffffc1521000           4K USR ro                 x=
  pte
0xffffffffc1521000-0xffffffffc1523000           8K USR ro                 x=
  pte
0xffffffffc1523000-0xffffffffc1525000           8K USR ro                 x=
  pte
0xffffffffc1525000-0xffffffffc1526000           4K USR ro                 x=
  pte
0xffffffffc1526000-0xffffffffc1529000          12K USR ro                 x=
  pte
0xffffffffc1529000-0xffffffffc152a000           4K USR ro                 x=
  pte
0xffffffffc152a000-0xffffffffc152b000           4K USR ro                 x=
  pte
0xffffffffc152b000-0xffffffffc152e000          12K USR ro                 x=
  pte
0xffffffffc152e000-0xffffffffc1533000          20K USR ro                 x=
  pte
0xffffffffc1533000-0xffffffffc1535000           8K USR ro                 x=
  pte
0xffffffffc1535000-0xffffffffc1537000           8K USR ro                 x=
  pte
0xffffffffc1537000-0xffffffffc1538000           4K USR ro                 x=
  pte
0xffffffffc1538000-0xffffffffc1539000           4K USR ro                 x=
  pte
0xffffffffc1539000-0xffffffffc153b000           8K USR ro                 x=
  pte
0xffffffffc153b000-0xffffffffc153d000           8K USR ro                 x=
  pte
0xffffffffc153d000-0xffffffffc1541000          16K USR ro                 x=
  pte
0xffffffffc1541000-0xffffffffc1542000           4K USR ro                 x=
  pte
0xffffffffc1542000-0xffffffffc1544000           8K USR ro                 x=
  pte
0xffffffffc1544000-0xffffffffc1545000           4K USR ro                 x=
  pte
0xffffffffc1545000-0xffffffffc1547000           8K USR ro                 x=
  pte
0xffffffffc1547000-0xffffffffc1551000          40K USR ro                 x=
  pte
0xffffffffc1551000-0xffffffffc1552000           4K USR ro                 x=
  pte
0xffffffffc1552000-0xffffffffc1554000           8K USR ro                 x=
  pte
0xffffffffc1554000-0xffffffffc1555000           4K USR ro                 x=
  pte
0xffffffffc1555000-0xffffffffc155d000          32K USR ro                 x=
  pte
0xffffffffc155d000-0xffffffffc155f000           8K USR ro                 x=
  pte
0xffffffffc155f000-0xffffffffc1563000          16K USR ro                 x=
  pte
0xffffffffc1563000-0xffffffffc1566000          12K USR ro                 x=
  pte
0xffffffffc1566000-0xffffffffc1567000           4K USR ro                 x=
  pte
0xffffffffc1567000-0xffffffffc1568000           4K USR ro                 x=
  pte
0xffffffffc1568000-0xffffffffc156a000           8K USR ro                 x=
  pte
0xffffffffc156a000-0xffffffffc156b000           4K USR ro                 x=
  pte
0xffffffffc156b000-0xffffffffc1572000          28K USR ro                 x=
  pte
0xffffffffc1572000-0xffffffffc1573000           4K USR ro                 x=
  pte
0xffffffffc1573000-0xffffffffc1576000          12K USR ro                 x=
  pte
0xffffffffc1576000-0xffffffffc1577000           4K USR ro                 x=
  pte
0xffffffffc1577000-0xffffffffc1578000           4K USR ro                 x=
  pte
0xffffffffc1578000-0xffffffffc1579000           4K USR ro                 x=
  pte
0xffffffffc1579000-0xffffffffc157a000           4K USR ro                 x=
  pte
0xffffffffc157a000-0xffffffffc157b000           4K USR ro                 x=
  pte
0xffffffffc157b000-0xffffffffc157d000           8K USR ro                 x=
  pte
0xffffffffc157d000-0xffffffffc157f000           8K USR ro                 x=
  pte
0xffffffffc157f000-0xffffffffc1582000          12K USR ro                 x=
  pte
0xffffffffc1582000-0xffffffffc1584000           8K USR ro                 x=
  pte
0xffffffffc1584000-0xffffffffc1586000           8K USR ro                 x=
  pte
0xffffffffc1586000-0xffffffffc1588000           8K USR ro                 x=
  pte
0xffffffffc1588000-0xffffffffc1589000           4K USR ro                 x=
  pte
0xffffffffc1589000-0xffffffffc158d000          16K USR ro                 x=
  pte
0xffffffffc158d000-0xffffffffc158f000           8K USR ro                 x=
  pte
0xffffffffc158f000-0xffffffffc1593000          16K USR ro                 x=
  pte
0xffffffffc1593000-0xffffffffc1594000           4K USR ro                 x=
  pte
0xffffffffc1594000-0xffffffffc1595000           4K USR ro                 x=
  pte
0xffffffffc1595000-0xffffffffc1596000           4K USR ro                 x=
  pte
0xffffffffc1596000-0xffffffffc1599000          12K USR ro                 x=
  pte
0xffffffffc1599000-0xffffffffc15ab000          72K USR ro                 x=
  pte
0xffffffffc15ab000-0xffffffffc15ac000           4K USR ro                 x=
  pte
0xffffffffc15ac000-0xffffffffc15b0000          16K USR ro                 x=
  pte
0xffffffffc15b0000-0xffffffffc15b1000           4K USR ro                 x=
  pte
0xffffffffc15b1000-0xffffffffc15b7000          24K USR ro                 x=
  pte
0xffffffffc15b7000-0xffffffffc1600000         292K USR RW                 N=
X pte
0xffffffffc1600000-0xffffffffc179c000        1648K USR ro                 N=
X pte
0xffffffffc179c000-0xffffffffc1800000         400K USR RW                 N=
X pte
0xffffffffc1800000-0xffffffffc1802000           8K USR RW                 x=
  pte
0xffffffffc1802000-0xffffffffc1803000           4K USR RW                 x=
  pte
0xffffffffc1803000-0xffffffffc1805000           8K USR RW                 x=
  pte
0xffffffffc1805000-0xffffffffc180b000          24K USR RW                 x=
  pte
0xffffffffc180b000-0xffffffffc180f000          16K USR ro                 x=
  pte
0xffffffffc180f000-0xffffffffc1810000           4K USR RW                 x=
  pte
0xffffffffc1810000-0xffffffffc1812000           8K USR ro                 x=
  pte
0xffffffffc1812000-0xffffffffc1813000           4K USR RW                 x=
  pte
0xffffffffc1813000-0xffffffffc1815000           8K USR RW                 x=
  pte
0xffffffffc1815000-0xffffffffc1816000           4K USR RW                 x=
  pte
0xffffffffc1816000-0xffffffffc1818000           8K USR RW                 x=
  pte
0xffffffffc1818000-0xffffffffc181a000           8K USR RW                 x=
  pte
0xffffffffc181a000-0xffffffffc181d000          12K USR RW                 x=
  pte
0xffffffffc181d000-0xffffffffc181e000           4K USR RW                 x=
  pte
0xffffffffc181e000-0xffffffffc1832000          80K USR RW                 x=
  pte
0xffffffffc1832000-0xffffffffc1834000           8K USR RW                 x=
  pte
0xffffffffc1834000-0xffffffffc183a000          24K USR RW                 x=
  pte
0xffffffffc183a000-0xffffffffc183d000          12K USR RW                 x=
  pte
0xffffffffc183d000-0xffffffffc1841000          16K USR RW                 x=
  pte
0xffffffffc1841000-0xffffffffc1843000           8K USR RW                 x=
  pte
0xffffffffc1843000-0xffffffffc1845000           8K USR RW                 x=
  pte
0xffffffffc1845000-0xffffffffc1846000           4K USR RW                 x=
  pte
0xffffffffc1846000-0xffffffffc1849000          12K USR RW                 x=
  pte
0xffffffffc1849000-0xffffffffc184a000           4K USR RW                 x=
  pte
0xffffffffc184a000-0xffffffffc184f000          20K USR RW                 x=
  pte
0xffffffffc184f000-0xffffffffc1850000           4K USR RW                 x=
  pte
0xffffffffc1850000-0xffffffffc1885000         212K USR RW                 x=
  pte
0xffffffffc1885000-0xffffffffc1938000         716K USR RW                 N=
X pte
0xffffffffc1938000-0xffffffffc193a000           8K USR RW                 x=
  pte
0xffffffffc193a000-0xffffffffc193b000           4K USR ro                 x=
  pte
0xffffffffc193b000-0xffffffffc193d000           8K USR RW                 x=
  pte
0xffffffffc193d000-0xffffffffc193e000           4K USR ro                 x=
  pte
0xffffffffc193e000-0xffffffffc1948000          40K USR RW                 x=
  pte
0xffffffffc1948000-0xffffffffc194a000           8K USR RW                 x=
  pte
0xffffffffc194a000-0xffffffffc194c000           8K USR RW                 x=
  pte
0xffffffffc194c000-0xffffffffc196c000         128K USR RW                 x=
  pte
0xffffffffc196c000-0xffffffffc196d000           4K USR RW                 x=
  pte
0xffffffffc196d000-0xffffffffc1970000          12K USR RW                 x=
  pte
0xffffffffc1970000-0xffffffffc1971000           4K USR RW                 x=
  pte
0xffffffffc1971000-0xffffffffc1972000           4K USR RW                 x=
  pte
0xffffffffc1972000-0xffffffffc1973000           4K USR RW                 x=
  pte
0xffffffffc1973000-0xffffffffc1975000           8K USR RW                 x=
  pte
0xffffffffc1975000-0xffffffffc1976000           4K USR RW                 x=
  pte
0xffffffffc1976000-0xffffffffc1977000           4K USR RW                 x=
  pte
0xffffffffc1977000-0xffffffffc197b000          16K USR RW                 x=
  pte
0xffffffffc197b000-0xffffffffc19b9000         248K USR RW                 x=
  pte
0xffffffffc19b9000-0xffffffffc19c0000          28K USR RW                 x=
  pte
0xffffffffc19c0000-0xffffffffc19df000         124K USR RW                 x=
  pte
0xffffffffc19df000-0xffffffffc19e8000          36K USR RW                 x=
  pte
0xffffffffc19e8000-0xffffffffc19f1000          36K USR RW                 x=
  pte
0xffffffffc19f1000-0xffffffffc19f2000           4K USR RW                 x=
  pte
0xffffffffc19f2000-0xffffffffc19f3000           4K USR RW                 x=
  pte
0xffffffffc19f3000-0xffffffffc19f5000           8K USR RW                 x=
  pte
0xffffffffc19f5000-0xffffffffc19f8000          12K USR RW                 x=
  pte
0xffffffffc19f8000-0xffffffffc1a0a000          72K USR RW                 x=
  pte
0xffffffffc1a0a000-0xffffffffc1a0f000          20K USR RW                 x=
  pte
0xffffffffc1a0f000-0xffffffffc1a1c000          52K USR RW                 x=
  pte
0xffffffffc1a1c000-0xffffffffc1a1d000           4K USR RW                 x=
  pte
0xffffffffc1a1d000-0xffffffffc1aa4000         540K USR RW                 x=
  pte
0xffffffffc1aa4000-0xffffffffc1aa8000          16K USR ro                 x=
  pte
0xffffffffc1aa8000-0xffffffffc1b28000         512K USR RW                 x=
  pte
0xffffffffc1b28000-0xffffffffc1e3d000        3156K USR RW                 x=
  pte
0xffffffffc1e3d000-0xffffffffcfc93000      227672K USR RW                 N=
X pte
0xffffffffcfc93000-0xffffffffdf694000      256004K USR RW                 x=
  pte
0xffffffffdf694000-0xffffffffdf696000           8K USR RW                 x=
  pte
0xffffffffdf696000-0xffffffffdf797000        1028K USR ro                 x=
  pte
0xffffffffdf797000-0xffffffffdfc00000        4516K USR RW                 x=
  pte
0xffffffffdfc00000-0xffffffffff000000         500M                         =
  pmd
---[ End Modules ]---
0xffffffffff000000-0xffffffffff400000           4M                         =
  pmd
0xffffffffff400000-0xffffffffff579000        1508K                         =
  pte
0xffffffffff579000-0xffffffffff57a000           4K USR RW                 N=
X pte
0xffffffffff57a000-0xffffffffff5ff000         532K                         =
  pte
0xffffffffff5ff000-0xffffffffff601000           8K USR ro             GLB N=
X pte
0xffffffffff601000-0xffffffffff800000        2044K                         =
  pte
0xffffffffff800000-0x0000000000000000           8M                         =
  pmd
# poweroff

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="133-gb-bad.txt"

console [hvc0] enabled, bootconsole disabled
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
Detected 2261.074 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 4522.14 BogoMIPS (lpj=2261074)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
Dentry cache hash table entries: 33554432 (order: 16, 268435456 bytes)
Inode-cache hash table entries: 16777216 (order: 15, 134217728 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys cpuacct
Initializing cgroup subsys freezer
ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
Freeing SMP alternatives: 24k freed
cpu 0 spinlock event irq 17
Performance Events: unsupported p6 CPU model 46 no PMU driver, software events only.
NMI watchdog: disabled (cpu0): hardware events not enabled
Brought up 1 CPUs
kworker/u:0 used greatest stack depth: 6000 bytes left
Grant tables using version 2 layout.
Grant table initialized
RTC time: 165:165:165, date: 165/165/65
NET: Registered protocol family 16
kworker/u:0 used greatest stack depth: 5536 bytes left
dca service started, version 1.12.1
PCI: setting up Xen PCI frontend stub
PCI: pci_cache_line_size set to 64 bytes
bio: create slab <bio-0> at 0
ACPI: Interpreter disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: loaded
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: System does not support PCI
PCI: System does not support PCI
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
Switching to clocksource xen
pnp: PnP ACPI: disabled
NET: Registered protocol family 2
IP route cache hash table entries: 524288 (order: 10, 4194304 bytes)
TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP: reno registered
UDP hash table entries: 65536 (order: 9, 2097152 bytes)
UDP-Lite hash table entries: 65536 (order: 9, 2097152 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 64
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 227672k freed
platform rtc_cmos: registered platform RTC device (no PNP device found)
Machine check injector initialized
microcode: CPU0 sig=0x206e5, pf=0x4, revision=0xffff0018
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
audit: initializing netlink socket (disabled)
type=2000 audit(1336432515.722:1): initialized
HugeTLB registered 2 MB page size, pre-allocated 0 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 32768
SELinux:  Registering netfilter hooks
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ioatdma: Intel(R) QuickData Technology Driver 4.00
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Non-volatile memory driver v1.3
Linux agpgart interface v0.103
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 2.2.0-k
ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd: block sizes: qh 112 qtd 96 itd 192 sitd 96
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd: block sizes: ed 80 td 96
uhci_hcd: USB Universal Host Controller Interface driver
usbcore: registered new interface driver usblp
usbcore: registered new interface driver libusual
i8042: PNP: No PS/2 controller found. Probing ports directly.
i8042: No controller found
mousedev: PS/2 mouse device common for all mice
rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
rtc_cmos: probe of rtc_cmos failed with error -38
EFI Variables Facility v0.08 2004-May-17
zram: num_devices not specified. Using default: 1
zram: Creating 1 devices ...
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ctnetlink v0.93: registering with nfnetlink.
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP: cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Registering the dns_resolver key type
PM: Hibernation image not present or could not be loaded.
registered taskstats version 1
  Magic number: 1:252:3141
Freeing unused kernel memory: 692k freed
Write protecting the kernel read-only data: 8192k
Freeing unused kernel memory: 292k freed
Freeing unused kernel memory: 400k freed



init started: BusyBox v1.14.3 (2012-05-07 12:16:33 EDT)
Mounting directories  [  OK  ]
------------[ cut here ]------------
WARNING: at /home/konrad/ssd/linux/mm/vmalloc.c:107 vmap_page_range_noflush+0x328/0x3a0()
Modules linked in:
Pid: 1051, comm: modprobe Not tainted 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff810704da>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8102fcd9>] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
 [<ffffffff81070525>] warn_slowpath_null+0x15/0x20
 [<ffffffff81129e68>] vmap_page_range_noflush+0x328/0x3a0
 [<ffffffff81129f1d>] vmap_page_range+0x3d/0x60
 [<ffffffff81129f6d>] map_vm_area+0x2d/0x50
 [<ffffffff8112b3a0>] __vmalloc_node_range+0x160/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
---[ end trace efd7fe3e15953dc6 ]---
vmalloc: allocation failure, allocated 16384 of 20480 bytes
modprobe: page allocation failure: order:0, mode:0xd2
Pid: 1051, comm: modprobe Tainted: G        W    3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff8110389b>] warn_alloc_failed+0xeb/0x130
 [<ffffffff81129f24>] ? vmap_page_range+0x44/0x60
 [<ffffffff8112b456>] __vmalloc_node_range+0x216/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
Mem-Info:
Node 0 DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Node 0 DMA32 per-cpu:
CPU    0: hi:  186, btch:  31 usd: 168
Node 0 Normal per-cpu:
CPU    0: hi:  186, btch:  31 usd:  73
active_anon:253 inactive_anon:31970 isolated_anon:0
 active_file:391 inactive_file:27806 isolated_file:0
 unevictable:0 dirty:0 writeback:0 unstable:0
 free:33525733 slab_reclaimable:1660 slab_unreclaimable:976
 mapped:340 shmem:31960 pagetables:34 bounce:0
Node 0 DMA free:8760kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8536kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 4024 132160 132160
Node 0 DMA32 free:3637796kB min:1416kB low:1768kB high:2124kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4120800kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 128135 128135
Node 0 Normal free:130456376kB min:45112kB low:56388kB high:67668kB active_anon:1012kB inactive_anon:127880kB active_file:1564kB inactive_file:111224kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:131211120kB mlocked:0kB dirty:0kB writeback:0kB mapped:1360kB shmem:127840kB slab_reclaimable:6640kB slab_unreclaimable:3904kB kernel_stack:368kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Node 0 DMA: 2*4kB 2*8kB 0*16kB 3*32kB 3*64kB 2*128kB 2*256kB 1*512kB 3*1024kB 2*2048kB 0*4096kB = 8760kB
Node 0 DMA32: 5*4kB 2*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 4*512kB 1*1024kB 0*2048kB 887*4096kB = 3637796kB
Node 0 Normal: 26*4kB 26*8kB 14*16kB 11*32kB 11*64kB 6*128kB 8*256kB 7*512kB 9*1024kB 3*2048kB 31844*4096kB = 130456376kB
60151 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
34306032 pages RAM
612977 pages reserved
983 pages shared
166525 pages non-shared
modprobe: FATAL: Error inserting xenfs (/lib/modules/3.4.0-rc6upstream-00024-g3bfd88d-dirty/kernel/drivers/xen/xenfs/xenfs.ko): Cannot allocate memory
...
------------[ cut here ]------------
WARNING: at /home/konrad/ssd/linux/mm/vmalloc.c:107 vmap_page_range_noflush+0x328/0x3a0()
Modules linked in: libcrc32c crc32c
Pid: 2165, comm: modprobe Tainted: G        W  O 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff810704da>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8102fcd9>] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
 [<ffffffff81070525>] warn_slowpath_null+0x15/0x20
 [<ffffffff81129e68>] vmap_page_range_noflush+0x328/0x3a0
 [<ffffffff81129f1d>] vmap_page_range+0x3d/0x60
 [<ffffffff81129f6d>] map_vm_area+0x2d/0x50
 [<ffffffff8112b3a0>] __vmalloc_node_range+0x160/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
---[ end trace efd7fe3e15953dd2 ]---
vmalloc: allocation failure, allocated 16384 of 20480 bytes
modprobe: page allocation failure: order:0, mode:0xd2
Pid: 2165, comm: modprobe Tainted: G        W  O 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff8110389b>] warn_alloc_failed+0xeb/0x130
 [<ffffffff81129f24>] ? vmap_page_range+0x44/0x60
 [<ffffffff8112b456>] __vmalloc_node_range+0x216/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
Mem-Info:
Node 0 DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Node 0 DMA32 per-cpu:
CPU    0: hi:  186, btch:  31 usd: 168
Node 0 Normal per-cpu:
CPU    0: hi:  186, btch:  31 usd:  37
active_anon:1428 inactive_anon:31278 isolated_anon:0
 active_file:1711 inactive_file:26465 isolated_file:0
 unevictable:0 dirty:0 writeback:0 unstable:0
 free:33523833 slab_reclaimable:2320 slab_unreclaimable:1641
 mapped:586 shmem:31998 pagetables:132 bounce:0
Node 0 DMA free:8760kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8536kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 4024 132160 132160
Node 0 DMA32 free:3637796kB min:1416kB low:1768kB high:2124kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4120800kB mlocked:0kB dirty:0kB writeback:0kB mapped:4kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 128135 128135
Node 0 Normal free:130448776kB min:45112kB low:56388kB high:67668kB active_anon:5712kB inactive_anon:125112kB active_file:6844kB inactive_file:105860kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:131211120kB mlocked:0kB dirty:0kB writeback:0kB mapped:2340kB shmem:127992kB slab_reclaimable:9280kB slab_unreclaimable:6564kB kernel_stack:296kB pagetables:528kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Node 0 DMA: 2*4kB 2*8kB 0*16kB 3*32kB 3*64kB 2*128kB 2*256kB 1*512kB 3*1024kB 2*2048kB 0*4096kB = 8760kB
Node 0 DMA32: 5*4kB 2*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 4*512kB 1*1024kB 0*2048kB 887*4096kB = 3637796kB
Node 0 Normal: 126*4kB 84*8kB 70*16kB 33*32kB 10*64kB 4*128kB 2*256kB 3*512kB 7*1024kB 5*2048kB 31842*4096kB = 130448792kB
60174 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
34306032 pages RAM
612977 pages reserved
1735 pages shared
168082 pages non-shared

0xffffc90000000000-0xffffc90010001000 268439552 alloc_large_system_hash+0x154/0x213 pages=65536 vmalloc vpages N0=65536
0xffffc90010001000-0xffffc90010082000  528384 alloc_large_system_hash+0x154/0x213 pages=128 vmalloc N0=128
0xffffc90010082000-0xffffc90018083000 134221824 alloc_large_system_hash+0x154/0x213 pages=32768 vmalloc vpages N0=32768
0xffffc90018083000-0xffffc900180c4000  266240 alloc_large_system_hash+0x154/0x213 pages=64 vmalloc N0=64
0xffffc900180c4000-0xffffc900180c7000   12288 alloc_large_system_hash+0x154/0x213 pages=2 vmalloc N0=2
0xffffc900180c8000-0xffffc900180cd000   20480 arch_gnttab_map_status+0x50/0x70 ioremap
0xffffc900180cd000-0xffffc900180d2000   20480 alloc_large_system_hash+0x154/0x213 pages=4 vmalloc N0=4
0xffffc900180d2000-0xffffc900180de000   49152 zisofs_init+0x11/0x23 pages=11 vmalloc N0=11
0xffffc900180de000-0xffffc900180eb000   53248 netback_init+0x4c/0x210 pages=12 vmalloc N0=12
0xffffc90018100000-0xffffc90018121000  135168 arch_gnttab_map_shared+0x50/0x70 ioremap
0xffffc90018121000-0xffffc90018522000 4198400 alloc_large_system_hash+0x154/0x213 pages=1024 vmalloc vpages N0=1024
0xffffc90018522000-0xffffc90018d23000 8392704 alloc_large_system_hash+0x154/0x213 pages=2048 vmalloc vpages N0=2048
0xffffc90018d23000-0xffffc90018e24000 1052672 alloc_large_system_hash+0x154/0x213 pages=256 vmalloc N0=256
0xffffc90018e24000-0xffffc90019025000 2101248 alloc_large_system_hash+0x154/0x213 pages=512 vmalloc N0=512
0xffffc90019025000-0xffffc90019226000 2101248 alloc_large_system_hash+0x154/0x213 pages=512 vmalloc N0=512
0xffffffffa0000000-0xffffffffa0005000   20480 module_alloc_update_bounds+0x19/0x80 pages=4 vmalloc N0=4
0xffffffffa0008000-0xffffffffa000d000   20480 module_alloc_update_bounds+0x19/0x80 pages=4 vmalloc N0=4

























































---[ User Space ]---
0x0000000000000000-0xffff800000000000    16777088T                           pgd
---[ Kernel Space ]---
0xffff800000000000-0xffff814000000000        1280G                           pud
0xffff814000000000-0xffff8140a0000000        2560M                           pmd
0xffff8140a0000000-0xffff8140a0500000           5M                           pte
0xffff8140a0500000-0xffff8140a0501000           4K USR RW                 x  pte
0xffff8140a0501000-0xffff8140a0503000           8K     RW                 x  pte
0xffff8140a0503000-0xffff8140a0504000           4K                           pte
0xffff8140a0504000-0xffff8140a0505000           4K     RW                 x  pte
0xffff8140a0505000-0xffff8140a0507000           8K USR RW                 x  pte
0xffff8140a0507000-0xffff8140a0509000           8K     RW                 x  pte
0xffff8140a0509000-0xffff8140a0510000          28K                           pte
0xffff8140a0510000-0xffff8140a0511000           4K USR RW                 x  pte
0xffff8140a0511000-0xffff8140a0592000         516K                           pte
0xffff8140a0592000-0xffff8140a0593000           4K USR RW                 x  pte
0xffff8140a0593000-0xffff8140a05d4000         260K                           pte
0xffff8140a05d4000-0xffff8140a05d5000           4K USR RW                 x  pte
0xffff8140a05d5000-0xffff8140a05ff000         168K                           pte
0xffff8140a05ff000-0xffff8140a0600000           4K USR RW                 x  pte
0xffff8140a0600000-0xffff8140a0800000           2M                           pmd
0xffff8140a0800000-0xffff8140a1200000          10M                           pte
0xffff8140a1200000-0xffff8140a2000000          14M                           pmd
0xffff8140a2000000-0xffff8140a2083000         524K USR RW                 x  pte
0xffff8140a2083000-0xffff8140a2200000        1524K                           pte
0xffff8140a2200000-0xffff8140b2400000         258M                           pmd
0xffff8140b2400000-0xffff8140b2401000           4K USR RW                 x  pte
0xffff8140b2401000-0xffff8140b2600000        2044K                           pte
0xffff8140b2600000-0xffff8140ba800000         130M                           pmd
0xffff8140ba800000-0xffff8140ba802000           8K USR RW                 x  pte
0xffff8140ba802000-0xffff8140baa00000        2040K                           pte
0xffff8140baa00000-0xffff8140bfe00000          84M                           pmd
0xffff8140bfe00000-0xffff8140bfffe000        2040K                           pte
0xffff8140bfffe000-0xffff8140c0000000           8K USR RW                 x  pte
0xffff8140c0000000-0xffff814100000000           1G                           pud
0xffff814100000000-0xffff814240000000           5G                           pmd
0xffff814240000000-0xffff814400000000           7G                           pud
0xffff814400000000-0xffff8144105bc000      268016K USR RW                 x  pte
0xffff8144105bc000-0xffff814410600000         272K                           pte
0xffff814410600000-0xffff814440000000         762M                           pmd
0xffff814440000000-0xffff816480000000         129G                           pud
0xffff816480000000-0xffff8164800cb000         812K USR RW                 x  pte
0xffff8164800cb000-0xffff816480200000        1236K                           pte
0xffff816480200000-0xffff8164c0000000        1022M                           pmd
0xffff8164c0000000-0xffff817500000000          65G                           pud
0xffff817500000000-0xffff817500395000        3668K USR RW                 x  pte
0xffff817500395000-0xffff817500400000         428K                           pte
0xffff817500400000-0xffff817540000000        1020M                           pmd
0xffff817540000000-0xffff817fc0000000          42G                           pud
0xffff817fc0000000-0xffff817fffc00000        1020M                           pmd
0xffff817fffc00000-0xffff817fffc08000          32K                           pte
0xffff817fffc08000-0xffff817fffc0e000          24K USR RW                 x  pte
0xffff817fffc0e000-0xffff817fffc7e000         448K                           pte
0xffff817fffc7e000-0xffff817fffd02000         528K USR RW                 x  pte
0xffff817fffd02000-0xffff817fffe00000        1016K                           pte
0xffff817fffe00000-0xffff817ffff02000        1032K USR RW                 x  pte
0xffff817ffff02000-0xffff817fffffa000         992K                           pte
0xffff817fffffa000-0xffff817fffffc000           8K USR RW                 x  pte
0xffff817fffffc000-0xffff818000000000          16K                           pte
0xffff818000000000-0xffff820000000000         512G                           pgd
0xffff820000000000-0xffff848000000000        2560G                           pud
0xffff848000000000-0xffff880000000000        3584G                           pgd
---[ Low Kernel Mapping ]---
0xffff880000000000-0xffff88000009b000         620K USR RW                 x  pte
0xffff88000009b000-0xffff8800000a0000          20K USR RW                 x  pte
0xffff8800000a0000-0xffff8800007fb000        7532K USR RW                 x  pte
0xffff8800007fb000-0xffff880000ef8000        7156K USR ro                 x  pte
0xffff880000ef8000-0xffff880001000000        1056K USR RW                 x  pte
0xffff880001000000-0xffff880001002000           8K USR ro                 x  pte
0xffff880001002000-0xffff880001013000          68K USR ro                 x  pte
0xffff880001013000-0xffff880001015000           8K USR ro                 x  pte
0xffff880001015000-0xffff880001017000           8K USR ro                 x  pte
0xffff880001017000-0xffff880001019000           8K USR ro                 x  pte
0xffff880001019000-0xffff88000101a000           4K USR ro                 x  pte
0xffff88000101a000-0xffff88000101b000           4K USR ro                 x  pte
0xffff88000101b000-0xffff88000101f000          16K USR ro                 x  pte
0xffff88000101f000-0xffff880001028000          36K USR ro                 x  pte
0xffff880001028000-0xffff88000102a000           8K USR ro                 x  pte
0xffff88000102a000-0xffff88000102c000           8K USR ro                 x  pte
0xffff88000102c000-0xffff88000103c000          64K USR ro                 x  pte
0xffff88000103c000-0xffff88000103d000           4K USR ro                 x  pte
0xffff88000103d000-0xffff880001051000          80K USR ro                 x  pte
0xffff880001051000-0xffff880001052000           4K USR ro                 x  pte
0xffff880001052000-0xffff880001057000          20K USR ro                 x  pte
0xffff880001057000-0xffff880001058000           4K USR ro                 x  pte
0xffff880001058000-0xffff880001061000          36K USR ro                 x  pte
0xffff880001061000-0xffff880001063000           8K USR ro                 x  pte
0xffff880001063000-0xffff88000106b000          32K USR ro                 x  pte
0xffff88000106b000-0xffff88000106c000           4K USR ro                 x  pte
0xffff88000106c000-0xffff880001078000          48K USR ro                 x  pte
0xffff880001078000-0xffff88000107a000           8K USR ro                 x  pte
0xffff88000107a000-0xffff880001083000          36K USR ro                 x  pte
0xffff880001083000-0xffff880001084000           4K USR ro                 x  pte
0xffff880001084000-0xffff88000108f000          44K USR ro                 x  pte
0xffff88000108f000-0xffff880001090000           4K USR ro                 x  pte
0xffff880001090000-0xffff880001094000          16K USR ro                 x  pte
0xffff880001094000-0xffff880001097000          12K USR ro                 x  pte
0xffff880001097000-0xffff8800010a0000          36K USR ro                 x  pte
0xffff8800010a0000-0xffff8800010a2000           8K USR ro                 x  pte
0xffff8800010a2000-0xffff8800010a7000          20K USR ro                 x  pte
0xffff8800010a7000-0xffff8800010a8000           4K USR ro                 x  pte
0xffff8800010a8000-0xffff8800010aa000           8K USR ro                 x  pte
0xffff8800010aa000-0xffff8800010af000          20K USR ro                 x  pte
0xffff8800010af000-0xffff8800010b4000          20K USR ro                 x  pte
0xffff8800010b4000-0xffff8800010b6000           8K USR ro                 x  pte
0xffff8800010b6000-0xffff8800010c0000          40K USR ro                 x  pte
0xffff8800010c0000-0xffff8800010c4000          16K USR ro                 x  pte
0xffff8800010c4000-0xffff8800010c6000           8K USR ro                 x  pte
0xffff8800010c6000-0xffff8800010ca000          16K USR ro                 x  pte
0xffff8800010ca000-0xffff8800010cc000           8K USR ro                 x  pte
0xffff8800010cc000-0xffff8800010cd000           4K USR ro                 x  pte
0xffff8800010cd000-0xffff8800010d5000          32K USR ro                 x  pte
0xffff8800010d5000-0xffff8800010d9000          16K USR ro                 x  pte
0xffff8800010d9000-0xffff8800010da000           4K USR ro                 x  pte
0xffff8800010da000-0xffff8800010db000           4K USR ro                 x  pte
0xffff8800010db000-0xffff8800010dc000           4K USR ro                 x  pte
0xffff8800010dc000-0xffff8800010dd000           4K USR ro                 x  pte
0xffff8800010dd000-0xffff8800010e2000          20K USR ro                 x  pte
0xffff8800010e2000-0xffff8800010e3000           4K USR ro                 x  pte
0xffff8800010e3000-0xffff8800010f8000          84K USR ro                 x  pte
0xffff8800010f8000-0xffff8800010fb000          12K USR ro                 x  pte
0xffff8800010fb000-0xffff880001101000          24K USR ro                 x  pte
0xffff880001101000-0xffff880001102000           4K USR ro                 x  pte
0xffff880001102000-0xffff880001106000          16K USR ro                 x  pte
0xffff880001106000-0xffff880001107000           4K USR ro                 x  pte
0xffff880001107000-0xffff880001108000           4K USR ro                 x  pte
0xffff880001108000-0xffff880001109000           4K USR ro                 x  pte
0xffff880001109000-0xffff880001113000          40K USR ro                 x  pte
0xffff880001113000-0xffff880001114000           4K USR ro                 x  pte
0xffff880001114000-0xffff880001117000          12K USR ro                 x  pte
0xffff880001117000-0xffff880001118000           4K USR ro                 x  pte
0xffff880001118000-0xffff880001122000          40K USR ro                 x  pte
0xffff880001122000-0xffff880001124000           8K USR ro                 x  pte
0xffff880001124000-0xffff880001143000         124K USR ro                 x  pte
0xffff880001143000-0xffff880001145000           8K USR ro                 x  pte
0xffff880001145000-0xffff880001166000         132K USR ro                 x  pte
0xffff880001166000-0xffff880001168000           8K USR ro                 x  pte
0xffff880001168000-0xffff88000116d000          20K USR ro                 x  pte
0xffff88000116d000-0xffff88000116e000           4K USR ro                 x  pte
0xffff88000116e000-0xffff88000116f000           4K USR ro                 x  pte
0xffff88000116f000-0xffff880001170000           4K USR ro                 x  pte
0xffff880001170000-0xffff880001174000          16K USR ro                 x  pte
0xffff880001174000-0xffff880001177000          12K USR ro                 x  pte
0xffff880001177000-0xffff88000117a000          12K USR ro                 x  pte
0xffff88000117a000-0xffff88000117e000          16K USR ro                 x  pte
0xffff88000117e000-0xffff88000118d000          60K USR ro                 x  pte
0xffff88000118d000-0xffff88000118e000           4K USR ro                 x  pte
0xffff88000118e000-0xffff880001190000           8K USR ro                 x  pte
0xffff880001190000-0xffff880001191000           4K USR ro                 x  pte
0xffff880001191000-0xffff880001192000           4K USR ro                 x  pte
0xffff880001192000-0xffff880001193000           4K USR ro                 x  pte
0xffff880001193000-0xffff880001194000           4K USR ro                 x  pte
0xffff880001194000-0xffff880001197000          12K USR ro                 x  pte
0xffff880001197000-0xffff880001198000           4K USR ro                 x  pte
0xffff880001198000-0xffff880001199000           4K USR ro                 x  pte
0xffff880001199000-0xffff8800011a0000          28K USR ro                 x  pte
0xffff8800011a0000-0xffff8800011a1000           4K USR ro                 x  pte
0xffff8800011a1000-0xffff8800011ab000          40K USR ro                 x  pte
0xffff8800011ab000-0xffff8800011ac000           4K USR ro                 x  pte
0xffff8800011ac000-0xffff8800011af000          12K USR ro                 x  pte
0xffff8800011af000-0xffff8800011b1000           8K USR ro                 x  pte
0xffff8800011b1000-0xffff8800011b4000          12K USR ro                 x  pte
0xffff8800011b4000-0xffff8800011b5000           4K USR ro                 x  pte
0xffff8800011b5000-0xffff8800011b9000          16K USR ro                 x  pte
0xffff8800011b9000-0xffff8800011bb000           8K USR ro                 x  pte
0xffff8800011bb000-0xffff8800011bd000           8K USR ro                 x  pte
0xffff8800011bd000-0xffff8800011be000           4K USR ro                 x  pte
0xffff8800011be000-0xffff8800011c2000          16K USR ro                 x  pte
0xffff8800011c2000-0xffff8800011c6000          16K USR ro                 x  pte
0xffff8800011c6000-0xffff8800011c7000           4K USR ro                 x  pte
0xffff8800011c7000-0xffff8800011c8000           4K USR ro                 x  pte
0xffff8800011c8000-0xffff8800011c9000           4K USR ro                 x  pte
0xffff8800011c9000-0xffff8800011ca000           4K USR ro                 x  pte
0xffff8800011ca000-0xffff8800011cf000          20K USR ro                 x  pte
0xffff8800011cf000-0xffff8800011d0000           4K USR ro                 x  pte
0xffff8800011d0000-0xffff8800011d3000          12K USR ro                 x  pte
0xffff8800011d3000-0xffff8800011d5000           8K USR ro                 x  pte
0xffff8800011d5000-0xffff8800011d6000           4K USR ro                 x  pte
0xffff8800011d6000-0xffff8800011d8000           8K USR ro                 x  pte
0xffff8800011d8000-0xffff8800011d9000           4K USR ro                 x  pte
0xffff8800011d9000-0xffff8800011da000           4K USR ro                 x  pte
0xffff8800011da000-0xffff8800011e0000          24K USR ro                 x  pte
0xffff8800011e0000-0xffff8800011e3000          12K USR ro                 x  pte
0xffff8800011e3000-0xffff8800011e9000          24K USR ro                 x  pte
0xffff8800011e9000-0xffff8800011ea000           4K USR ro                 x  pte
0xffff8800011ea000-0xffff8800011eb000           4K USR ro                 x  pte
0xffff8800011eb000-0xffff8800011f1000          24K USR ro                 x  pte
0xffff8800011f1000-0xffff8800011f7000          24K USR ro                 x  pte
0xffff8800011f7000-0xffff8800011f8000           4K USR ro                 x  pte
0xffff8800011f8000-0xffff8800011fa000           8K USR ro                 x  pte
0xffff8800011fa000-0xffff8800011fb000           4K USR ro                 x  pte
0xffff8800011fb000-0xffff8800011fd000           8K USR ro                 x  pte
0xffff8800011fd000-0xffff8800011fe000           4K USR ro                 x  pte
0xffff8800011fe000-0xffff880001200000           8K USR ro                 x  pte
0xffff880001200000-0xffff880001201000           4K USR ro                 x  pte
0xffff880001201000-0xffff880001203000           8K USR ro                 x  pte
0xffff880001203000-0xffff880001207000          16K USR ro                 x  pte
0xffff880001207000-0xffff880001209000           8K USR ro                 x  pte
0xffff880001209000-0xffff88000120a000           4K USR ro                 x  pte
0xffff88000120a000-0xffff88000120b000           4K USR ro                 x  pte
0xffff88000120b000-0xffff88000120c000           4K USR ro                 x  pte
0xffff88000120c000-0xffff88000120e000           8K USR ro                 x  pte
0xffff88000120e000-0xffff880001223000          84K USR ro                 x  pte
0xffff880001223000-0xffff880001228000          20K USR ro                 x  pte
0xffff880001228000-0xffff880001229000           4K USR ro                 x  pte
0xffff880001229000-0xffff88000123b000          72K USR ro                 x  pte
0xffff88000123b000-0xffff88000123d000           8K USR ro                 x  pte
0xffff88000123d000-0xffff88000123e000           4K USR ro                 x  pte
0xffff88000123e000-0xffff88000123f000           4K USR ro                 x  pte
0xffff88000123f000-0xffff880001242000          12K USR ro                 x  pte
0xffff880001242000-0xffff880001244000           8K USR ro                 x  pte
0xffff880001244000-0xffff880001245000           4K USR ro                 x  pte
0xffff880001245000-0xffff880001247000           8K USR ro                 x  pte
0xffff880001247000-0xffff880001248000           4K USR ro                 x  pte
0xffff880001248000-0xffff880001252000          40K USR ro                 x  pte
0xffff880001252000-0xffff880001253000           4K USR ro                 x  pte
0xffff880001253000-0xffff880001254000           4K USR ro                 x  pte
0xffff880001254000-0xffff880001255000           4K USR ro                 x  pte
0xffff880001255000-0xffff880001258000          12K USR ro                 x  pte
0xffff880001258000-0xffff880001259000           4K USR ro                 x  pte
0xffff880001259000-0xffff880001268000          60K USR ro                 x  pte
0xffff880001268000-0xffff88000126e000          24K USR ro                 x  pte
0xffff88000126e000-0xffff88000126f000           4K USR ro                 x  pte
0xffff88000126f000-0xffff880001272000          12K USR ro                 x  pte
0xffff880001272000-0xffff880001273000           4K USR ro                 x  pte
0xffff880001273000-0xffff880001274000           4K USR ro                 x  pte
0xffff880001274000-0xffff88000127a000          24K USR ro                 x  pte
0xffff88000127a000-0xffff88000127c000           8K USR ro                 x  pte
0xffff88000127c000-0xffff88000127d000           4K USR ro                 x  pte
0xffff88000127d000-0xffff880001285000          32K USR ro                 x  pte
0xffff880001285000-0xffff880001286000           4K USR ro                 x  pte
0xffff880001286000-0xffff880001287000           4K USR ro                 x  pte
0xffff880001287000-0xffff880001288000           4K USR ro                 x  pte
0xffff880001288000-0xffff880001289000           4K USR ro                 x  pte
0xffff880001289000-0xffff88000128d000          16K USR ro                 x  pte
0xffff88000128d000-0xffff88000128f000           8K USR ro                 x  pte
0xffff88000128f000-0xffff880001291000           8K USR ro                 x  pte
0xffff880001291000-0xffff880001292000           4K USR ro                 x  pte
0xffff880001292000-0xffff88000129f000          52K USR ro                 x  pte
0xffff88000129f000-0xffff8800012a0000           4K USR ro                 x  pte
0xffff8800012a0000-0xffff8800012a1000           4K USR ro                 x  pte
0xffff8800012a1000-0xffff8800012a3000           8K USR ro                 x  pte
0xffff8800012a3000-0xffff8800012a5000           8K USR ro                 x  pte
0xffff8800012a5000-0xffff8800012a6000           4K USR ro                 x  pte
0xffff8800012a6000-0xffff8800012a9000          12K USR ro                 x  pte
0xffff8800012a9000-0xffff8800012ab000           8K USR ro                 x  pte
0xffff8800012ab000-0xffff8800012c3000          96K USR ro                 x  pte
0xffff8800012c3000-0xffff8800012c6000          12K USR ro                 x  pte
0xffff8800012c6000-0xffff8800012cc000          24K USR ro                 x  pte
0xffff8800012cc000-0xffff8800012cf000          12K USR ro                 x  pte
0xffff8800012cf000-0xffff8800012d1000           8K USR ro                 x  pte
0xffff8800012d1000-0xffff8800012d2000           4K USR ro                 x  pte
0xffff8800012d2000-0xffff8800012d3000           4K USR ro                 x  pte
0xffff8800012d3000-0xffff8800012d7000          16K USR ro                 x  pte
0xffff8800012d7000-0xffff8800012d8000           4K USR ro                 x  pte
0xffff8800012d8000-0xffff8800012da000           8K USR ro                 x  pte
0xffff8800012da000-0xffff8800012dc000           8K USR ro                 x  pte
0xffff8800012dc000-0xffff8800012e1000          20K USR ro                 x  pte
0xffff8800012e1000-0xffff8800012e3000           8K USR ro                 x  pte
0xffff8800012e3000-0xffff8800012e4000           4K USR ro                 x  pte
0xffff8800012e4000-0xffff8800012e5000           4K USR ro                 x  pte
0xffff8800012e5000-0xffff8800012e6000           4K USR ro                 x  pte
0xffff8800012e6000-0xffff8800012e7000           4K USR ro                 x  pte
0xffff8800012e7000-0xffff8800012ed000          24K USR ro                 x  pte
0xffff8800012ed000-0xffff8800012ee000           4K USR ro                 x  pte
0xffff8800012ee000-0xffff8800012f9000          44K USR ro                 x  pte
0xffff8800012f9000-0xffff8800012fa000           4K USR ro                 x  pte
0xffff8800012fa000-0xffff8800012fe000          16K USR ro                 x  pte
0xffff8800012fe000-0xffff880001300000           8K USR ro                 x  pte
0xffff880001300000-0xffff880001302000           8K USR ro                 x  pte
0xffff880001302000-0xffff88000130d000          44K USR ro                 x  pte
0xffff88000130d000-0xffff88000130e000           4K USR ro                 x  pte
0xffff88000130e000-0xffff88000130f000           4K USR ro                 x  pte
0xffff88000130f000-0xffff880001312000          12K USR ro                 x  pte
0xffff880001312000-0xffff880001314000           8K USR ro                 x  pte
0xffff880001314000-0xffff880001318000          16K USR ro                 x  pte
0xffff880001318000-0xffff88000131b000          12K USR ro                 x  pte
0xffff88000131b000-0xffff88000131c000           4K USR ro                 x  pte
0xffff88000131c000-0xffff880001324000          32K USR ro                 x  pte
0xffff880001324000-0xffff880001329000          20K USR ro                 x  pte
0xffff880001329000-0xffff88000132d000          16K USR ro                 x  pte
0xffff88000132d000-0xffff88000132e000           4K USR ro                 x  pte
0xffff88000132e000-0xffff88000132f000           4K USR ro                 x  pte
0xffff88000132f000-0xffff880001332000          12K USR ro                 x  pte
0xffff880001332000-0xffff880001333000           4K USR ro                 x  pte
0xffff880001333000-0xffff880001334000           4K USR ro                 x  pte
0xffff880001334000-0xffff880001335000           4K USR ro                 x  pte
0xffff880001335000-0xffff880001337000           8K USR ro                 x  pte
0xffff880001337000-0xffff88000133b000          16K USR ro                 x  pte
0xffff88000133b000-0xffff88000133c000           4K USR ro                 x  pte
0xffff88000133c000-0xffff880001340000          16K USR ro                 x  pte
0xffff880001340000-0xffff880001342000           8K USR ro                 x  pte
0xffff880001342000-0xffff880001343000           4K USR ro                 x  pte
0xffff880001343000-0xffff880001348000          20K USR ro                 x  pte
0xffff880001348000-0xffff88000134c000          16K USR ro                 x  pte
0xffff88000134c000-0xffff880001350000          16K USR ro                 x  pte
0xffff880001350000-0xffff880001351000           4K USR ro                 x  pte
0xffff880001351000-0xffff880001353000           8K USR ro                 x  pte
0xffff880001353000-0xffff880001358000          20K USR ro                 x  pte
0xffff880001358000-0xffff88000135e000          24K USR ro                 x  pte
0xffff88000135e000-0xffff88000135f000           4K USR ro                 x  pte
0xffff88000135f000-0xffff880001361000           8K USR ro                 x  pte
0xffff880001361000-0xffff880001366000          20K USR ro                 x  pte
0xffff880001366000-0xffff880001367000           4K USR ro                 x  pte
0xffff880001367000-0xffff880001368000           4K USR ro                 x  pte
0xffff880001368000-0xffff88000136a000           8K USR ro                 x  pte
0xffff88000136a000-0xffff880001374000          40K USR ro                 x  pte
0xffff880001374000-0xffff880001376000           8K USR ro                 x  pte
0xffff880001376000-0xffff880001379000          12K USR ro                 x  pte
0xffff880001379000-0xffff88000137f000          24K USR ro                 x  pte
0xffff88000137f000-0xffff880001380000           4K USR ro                 x  pte
0xffff880001380000-0xffff880001383000          12K USR ro                 x  pte
0xffff880001383000-0xffff880001384000           4K USR ro                 x  pte
0xffff880001384000-0xffff880001387000          12K USR ro                 x  pte
0xffff880001387000-0xffff880001389000           8K USR ro                 x  pte
0xffff880001389000-0xffff88000138c000          12K USR ro                 x  pte
0xffff88000138c000-0xffff880001393000          28K USR ro                 x  pte
0xffff880001393000-0xffff880001395000           8K USR ro                 x  pte
0xffff880001395000-0xffff880001398000          12K USR ro                 x  pte
0xffff880001398000-0xffff88000139a000           8K USR ro                 x  pte
0xffff88000139a000-0xffff88000139c000           8K USR ro                 x  pte
0xffff88000139c000-0xffff88000139d000           4K USR ro                 x  pte
0xffff88000139d000-0xffff8800013a3000          24K USR ro                 x  pte
0xffff8800013a3000-0xffff8800013a4000           4K USR ro                 x  pte
0xffff8800013a4000-0xffff8800013a5000           4K USR ro                 x  pte
0xffff8800013a5000-0xffff8800013a6000           4K USR ro                 x  pte
0xffff8800013a6000-0xffff8800013a9000          12K USR ro                 x  pte
0xffff8800013a9000-0xffff8800013ab000           8K USR ro                 x  pte
0xffff8800013ab000-0xffff8800013ac000           4K USR ro                 x  pte
0xffff8800013ac000-0xffff8800013ae000           8K USR ro                 x  pte
0xffff8800013ae000-0xffff8800013b1000          12K USR ro                 x  pte
0xffff8800013b1000-0xffff8800013b3000           8K USR ro                 x  pte
0xffff8800013b3000-0xffff8800013b5000           8K USR ro                 x  pte
0xffff8800013b5000-0xffff8800013b9000          16K USR ro                 x  pte
0xffff8800013b9000-0xffff8800013ba000           4K USR ro                 x  pte
0xffff8800013ba000-0xffff8800013bf000          20K USR ro                 x  pte
0xffff8800013bf000-0xffff8800013ce000          60K USR ro                 x  pte
0xffff8800013ce000-0xffff8800013cf000           4K USR ro                 x  pte
0xffff8800013cf000-0xffff8800013d0000           4K USR ro                 x  pte
0xffff8800013d0000-0xffff8800013d2000           8K USR ro                 x  pte
0xffff8800013d2000-0xffff8800013d3000           4K USR ro                 x  pte
0xffff8800013d3000-0xffff8800013db000          32K USR ro                 x  pte
0xffff8800013db000-0xffff8800013dc000           4K USR ro                 x  pte
0xffff8800013dc000-0xffff8800013dd000           4K USR ro                 x  pte
0xffff8800013dd000-0xffff8800013de000           4K USR ro                 x  pte
0xffff8800013de000-0xffff8800013e0000           8K USR ro                 x  pte
0xffff8800013e0000-0xffff8800013e3000          12K USR ro                 x  pte
0xffff8800013e3000-0xffff8800013e5000           8K USR ro                 x  pte
0xffff8800013e5000-0xffff8800013e8000          12K USR ro                 x  pte
0xffff8800013e8000-0xffff8800013ea000           8K USR ro                 x  pte
0xffff8800013ea000-0xffff8800013ec000           8K USR ro                 x  pte
0xffff8800013ec000-0xffff8800013ed000           4K USR ro                 x  pte
0xffff8800013ed000-0xffff8800013ef000           8K USR ro                 x  pte
0xffff8800013ef000-0xffff8800013f3000          16K USR ro                 x  pte
0xffff8800013f3000-0xffff8800013f4000           4K USR ro                 x  pte
0xffff8800013f4000-0xffff8800013f6000           8K USR ro                 x  pte
0xffff8800013f6000-0xffff8800013f7000           4K USR ro                 x  pte
0xffff8800013f7000-0xffff8800013fa000          12K USR ro                 x  pte
0xffff8800013fa000-0xffff8800013fb000           4K USR ro                 x  pte
0xffff8800013fb000-0xffff8800013fd000           8K USR ro                 x  pte
0xffff8800013fd000-0xffff8800013fe000           4K USR ro                 x  pte
0xffff8800013fe000-0xffff880001403000          20K USR ro                 x  pte
0xffff880001403000-0xffff880001404000           4K USR ro                 x  pte
0xffff880001404000-0xffff880001406000           8K USR ro                 x  pte
0xffff880001406000-0xffff880001408000           8K USR ro                 x  pte
0xffff880001408000-0xffff880001411000          36K USR ro                 x  pte
0xffff880001411000-0xffff880001412000           4K USR ro                 x  pte
0xffff880001412000-0xffff880001413000           4K USR ro                 x  pte
0xffff880001413000-0xffff880001415000           8K USR ro                 x  pte
0xffff880001415000-0xffff880001416000           4K USR ro                 x  pte
0xffff880001416000-0xffff880001419000          12K USR ro                 x  pte
0xffff880001419000-0xffff88000141e000          20K USR ro                 x  pte
0xffff88000141e000-0xffff880001425000          28K USR ro                 x  pte
0xffff880001425000-0xffff880001426000           4K USR ro                 x  pte
0xffff880001426000-0xffff880001428000           8K USR ro                 x  pte
0xffff880001428000-0xffff88000142f000          28K USR ro                 x  pte
0xffff88000142f000-0xffff880001430000           4K USR ro                 x  pte
0xffff880001430000-0xffff880001437000          28K USR ro                 x  pte
0xffff880001437000-0xffff880001438000           4K USR ro                 x  pte
0xffff880001438000-0xffff880001439000           4K USR ro                 x  pte
0xffff880001439000-0xffff88000143d000          16K USR ro                 x  pte
0xffff88000143d000-0xffff88000143e000           4K USR ro                 x  pte
0xffff88000143e000-0xffff88000143f000           4K USR ro                 x  pte
0xffff88000143f000-0xffff880001440000           4K USR ro                 x  pte
0xffff880001440000-0xffff880001443000          12K USR ro                 x  pte
0xffff880001443000-0xffff880001445000           8K USR ro                 x  pte
0xffff880001445000-0xffff880001446000           4K USR ro                 x  pte
0xffff880001446000-0xffff880001448000           8K USR ro                 x  pte
0xffff880001448000-0xffff88000144d000          20K USR ro                 x  pte
0xffff88000144d000-0xffff88000144f000           8K USR ro                 x  pte
0xffff88000144f000-0xffff880001451000           8K USR ro                 x  pte
0xffff880001451000-0xffff880001452000           4K USR ro                 x  pte
0xffff880001452000-0xffff880001458000          24K USR ro                 x  pte
0xffff880001458000-0xffff880001459000           4K USR ro                 x  pte
0xffff880001459000-0xffff88000145a000           4K USR ro                 x  pte
0xffff88000145a000-0xffff88000145c000           8K USR ro                 x  pte
0xffff88000145c000-0xffff88000145d000           4K USR ro                 x  pte
0xffff88000145d000-0xffff880001462000          20K USR ro                 x  pte
0xffff880001462000-0xffff880001463000           4K USR ro                 x  pte
0xffff880001463000-0xffff880001464000           4K USR ro                 x  pte
0xffff880001464000-0xffff880001465000           4K USR ro                 x  pte
0xffff880001465000-0xffff880001467000           8K USR ro                 x  pte
0xffff880001467000-0xffff880001468000           4K USR ro                 x  pte
0xffff880001468000-0xffff880001469000           4K USR ro                 x  pte
0xffff880001469000-0xffff88000146a000           4K USR ro                 x  pte
0xffff88000146a000-0xffff88000146b000           4K USR ro                 x  pte
0xffff88000146b000-0xffff880001470000          20K USR ro                 x  pte
0xffff880001470000-0xffff880001471000           4K USR ro                 x  pte
0xffff880001471000-0xffff880001473000           8K USR ro                 x  pte
0xffff880001473000-0xffff880001477000          16K USR ro                 x  pte
0xffff880001477000-0xffff88000147a000          12K USR ro                 x  pte
0xffff88000147a000-0xffff88000147b000           4K USR ro                 x  pte
0xffff88000147b000-0xffff88000147c000           4K USR ro                 x  pte
0xffff88000147c000-0xffff88000147d000           4K USR ro                 x  pte
0xffff88000147d000-0xffff880001482000          20K USR ro                 x  pte
0xffff880001482000-0xffff880001484000           8K USR ro                 x  pte
0xffff880001484000-0xffff880001485000           4K USR ro                 x  pte
0xffff880001485000-0xffff880001486000           4K USR ro                 x  pte
0xffff880001486000-0xffff880001489000          12K USR ro                 x  pte
0xffff880001489000-0xffff88000148a000           4K USR ro                 x  pte
0xffff88000148a000-0xffff88000148b000           4K USR ro                 x  pte
0xffff88000148b000-0xffff88000148c000           4K USR ro                 x  pte
0xffff88000148c000-0xffff880001499000          52K USR ro                 x  pte
0xffff880001499000-0xffff88000149a000           4K USR ro                 x  pte
0xffff88000149a000-0xffff8800014a2000          32K USR ro                 x  pte
0xffff8800014a2000-0xffff8800014a5000          12K USR ro                 x  pte
0xffff8800014a5000-0xffff8800014a8000          12K USR ro                 x  pte
0xffff8800014a8000-0xffff8800014b0000          32K USR ro                 x  pte
0xffff8800014b0000-0xffff8800014b1000           4K USR ro                 x  pte
0xffff8800014b1000-0xffff8800014b2000           4K USR ro                 x  pte
0xffff8800014b2000-0xffff8800014c2000          64K USR ro                 x  pte
0xffff8800014c2000-0xffff8800014c3000           4K USR ro                 x  pte
0xffff8800014c3000-0xffff8800014c5000           8K USR ro                 x  pte
0xffff8800014c5000-0xffff8800014cb000          24K USR ro                 x  pte
0xffff8800014cb000-0xffff8800014cc000           4K USR ro                 x  pte
0xffff8800014cc000-0xffff8800014cf000          12K USR ro                 x  pte
0xffff8800014cf000-0xffff8800014d0000           4K USR ro                 x  pte
0xffff8800014d0000-0xffff8800014d1000           4K USR ro                 x  pte
0xffff8800014d1000-0xffff8800014d3000           8K USR ro                 x  pte
0xffff8800014d3000-0xffff8800014d4000           4K USR ro                 x  pte
0xffff8800014d4000-0xffff8800014d6000           8K USR ro                 x  pte
0xffff8800014d6000-0xffff8800014d7000           4K USR ro                 x  pte
0xffff8800014d7000-0xffff8800014db000          16K USR ro                 x  pte
0xffff8800014db000-0xffff8800014dc000           4K USR ro                 x  pte
0xffff8800014dc000-0xffff8800014de000           8K USR ro                 x  pte
0xffff8800014de000-0xffff8800014df000           4K USR ro                 x  pte
0xffff8800014df000-0xffff8800014e3000          16K USR ro                 x  pte
0xffff8800014e3000-0xffff8800014e7000          16K USR ro                 x  pte
0xffff8800014e7000-0xffff8800014e8000           4K USR ro                 x  pte
0xffff8800014e8000-0xffff8800014e9000           4K USR ro                 x  pte
0xffff8800014e9000-0xffff8800014f1000          32K USR ro                 x  pte
0xffff8800014f1000-0xffff8800014f2000           4K USR ro                 x  pte
0xffff8800014f2000-0xffff8800014f6000          16K USR ro                 x  pte
0xffff8800014f6000-0xffff8800014f7000           4K USR ro                 x  pte
0xffff8800014f7000-0xffff8800014f8000           4K USR ro                 x  pte
0xffff8800014f8000-0xffff8800014f9000           4K USR ro                 x  pte
0xffff8800014f9000-0xffff8800014fe000          20K USR ro                 x  pte
0xffff8800014fe000-0xffff880001503000          20K USR ro                 x  pte
0xffff880001503000-0xffff880001508000          20K USR ro                 x  pte
0xffff880001508000-0xffff88000150d000          20K USR ro                 x  pte
0xffff88000150d000-0xffff880001511000          16K USR ro                 x  pte
0xffff880001511000-0xffff880001513000           8K USR ro                 x  pte
0xffff880001513000-0xffff880001514000           4K USR ro                 x  pte
0xffff880001514000-0xffff880001515000           4K USR ro                 x  pte
0xffff880001515000-0xffff880001516000           4K USR ro                 x  pte
0xffff880001516000-0xffff88000151b000          20K USR ro                 x  pte
0xffff88000151b000-0xffff880001520000          20K USR ro                 x  pte
0xffff880001520000-0xffff880001521000           4K USR ro                 x  pte
0xffff880001521000-0xffff880001523000           8K USR ro                 x  pte
0xffff880001523000-0xffff880001525000           8K USR ro                 x  pte
0xffff880001525000-0xffff880001526000           4K USR ro                 x  pte
0xffff880001526000-0xffff880001529000          12K USR ro                 x  pte
0xffff880001529000-0xffff88000152a000           4K USR ro                 x  pte
0xffff88000152a000-0xffff88000152b000           4K USR ro                 x  pte
0xffff88000152b000-0xffff88000152e000          12K USR ro                 x  pte
0xffff88000152e000-0xffff880001533000          20K USR ro                 x  pte
0xffff880001533000-0xffff880001535000           8K USR ro                 x  pte
0xffff880001535000-0xffff880001537000           8K USR ro                 x  pte
0xffff880001537000-0xffff880001538000           4K USR ro                 x  pte
0xffff880001538000-0xffff880001539000           4K USR ro                 x  pte
0xffff880001539000-0xffff88000153b000           8K USR ro                 x  pte
0xffff88000153b000-0xffff88000153d000           8K USR ro                 x  pte
0xffff88000153d000-0xffff880001541000          16K USR ro                 x  pte
0xffff880001541000-0xffff880001542000           4K USR ro                 x  pte
0xffff880001542000-0xffff880001544000           8K USR ro                 x  pte
0xffff880001544000-0xffff880001545000           4K USR ro                 x  pte
0xffff880001545000-0xffff880001547000           8K USR ro                 x  pte
0xffff880001547000-0xffff880001551000          40K USR ro                 x  pte
0xffff880001551000-0xffff880001552000           4K USR ro                 x  pte
0xffff880001552000-0xffff880001554000           8K USR ro                 x  pte
0xffff880001554000-0xffff880001555000           4K USR ro                 x  pte
0xffff880001555000-0xffff88000155d000          32K USR ro                 x  pte
0xffff88000155d000-0xffff88000155f000           8K USR ro                 x  pte
0xffff88000155f000-0xffff880001563000          16K USR ro                 x  pte
0xffff880001563000-0xffff880001566000          12K USR ro                 x  pte
0xffff880001566000-0xffff880001567000           4K USR ro                 x  pte
0xffff880001567000-0xffff880001568000           4K USR ro                 x  pte
0xffff880001568000-0xffff88000156a000           8K USR ro                 x  pte
0xffff88000156a000-0xffff88000156b000           4K USR ro                 x  pte
0xffff88000156b000-0xffff880001572000          28K USR ro                 x  pte
0xffff880001572000-0xffff880001573000           4K USR ro                 x  pte
0xffff880001573000-0xffff880001576000          12K USR ro                 x  pte
0xffff880001576000-0xffff880001577000           4K USR ro                 x  pte
0xffff880001577000-0xffff880001578000           4K USR ro                 x  pte
0xffff880001578000-0xffff880001579000           4K USR ro                 x  pte
0xffff880001579000-0xffff88000157a000           4K USR ro                 x  pte
0xffff88000157a000-0xffff88000157b000           4K USR ro                 x  pte
0xffff88000157b000-0xffff88000157d000           8K USR ro                 x  pte
0xffff88000157d000-0xffff88000157f000           8K USR ro                 x  pte
0xffff88000157f000-0xffff880001582000          12K USR ro                 x  pte
0xffff880001582000-0xffff880001584000           8K USR ro                 x  pte
0xffff880001584000-0xffff880001586000           8K USR ro                 x  pte
0xffff880001586000-0xffff880001588000           8K USR ro                 x  pte
0xffff880001588000-0xffff880001589000           4K USR ro                 x  pte
0xffff880001589000-0xffff88000158d000          16K USR ro                 x  pte
0xffff88000158d000-0xffff88000158f000           8K USR ro                 x  pte
0xffff88000158f000-0xffff880001593000          16K USR ro                 x  pte
0xffff880001593000-0xffff880001594000           4K USR ro                 x  pte
0xffff880001594000-0xffff880001595000           4K USR ro                 x  pte
0xffff880001595000-0xffff880001596000           4K USR ro                 x  pte
0xffff880001596000-0xffff880001599000          12K USR ro                 x  pte
0xffff880001599000-0xffff8800015ab000          72K USR ro                 x  pte
0xffff8800015ab000-0xffff8800015ac000           4K USR ro                 x  pte
0xffff8800015ac000-0xffff8800015b0000          16K USR ro                 x  pte
0xffff8800015b0000-0xffff8800015b1000           4K USR ro                 x  pte
0xffff8800015b1000-0xffff8800015b7000          24K USR ro                 x  pte
0xffff8800015b7000-0xffff880001600000         292K USR RW                 NX pte
0xffff880001600000-0xffff88000179c000        1648K USR ro                 NX pte
0xffff88000179c000-0xffff880001800000         400K USR RW                 NX pte
0xffff880001800000-0xffff880001802000           8K USR RW                 x  pte
0xffff880001802000-0xffff880001803000           4K USR RW                 x  pte
0xffff880001803000-0xffff880001805000           8K USR RW                 x  pte
0xffff880001805000-0xffff88000180b000          24K USR RW                 x  pte
0xffff88000180b000-0xffff88000180f000          16K USR ro                 x  pte
0xffff88000180f000-0xffff880001810000           4K USR RW                 x  pte
0xffff880001810000-0xffff880001812000           8K USR ro                 x  pte
0xffff880001812000-0xffff880001813000           4K USR RW                 x  pte
0xffff880001813000-0xffff880001815000           8K USR RW                 x  pte
0xffff880001815000-0xffff880001816000           4K USR RW                 x  pte
0xffff880001816000-0xffff880001818000           8K USR RW                 x  pte
0xffff880001818000-0xffff88000181a000           8K USR RW                 x  pte
0xffff88000181a000-0xffff88000181d000          12K USR RW                 x  pte
0xffff88000181d000-0xffff88000181e000           4K USR RW                 x  pte
0xffff88000181e000-0xffff880001832000          80K USR RW                 x  pte
0xffff880001832000-0xffff880001834000           8K USR RW                 x  pte
0xffff880001834000-0xffff88000183a000          24K USR RW                 x  pte
0xffff88000183a000-0xffff88000183d000          12K USR RW                 x  pte
0xffff88000183d000-0xffff880001841000          16K USR RW                 x  pte
0xffff880001841000-0xffff880001843000           8K USR RW                 x  pte
0xffff880001843000-0xffff880001845000           8K USR RW                 x  pte
0xffff880001845000-0xffff880001846000           4K USR RW                 x  pte
0xffff880001846000-0xffff880001849000          12K USR RW                 x  pte
0xffff880001849000-0xffff88000184a000           4K USR RW                 x  pte
0xffff88000184a000-0xffff88000184f000          20K USR RW                 x  pte
0xffff88000184f000-0xffff880001850000           4K USR RW                 x  pte
0xffff880001850000-0xffff880001885000         212K USR RW                 x  pte
0xffff880001885000-0xffff880001938000         716K USR RW                 NX pte
0xffff880001938000-0xffff88000193a000           8K USR RW                 x  pte
0xffff88000193a000-0xffff88000193b000           4K USR ro                 x  pte
0xffff88000193b000-0xffff88000193d000           8K USR RW                 x  pte
0xffff88000193d000-0xffff88000193e000           4K USR ro                 x  pte
0xffff88000193e000-0xffff880001948000          40K USR RW                 x  pte
0xffff880001948000-0xffff88000194a000           8K USR RW                 x  pte
0xffff88000194a000-0xffff88000194c000           8K USR RW                 x  pte
0xffff88000194c000-0xffff88000196c000         128K USR RW                 x  pte
0xffff88000196c000-0xffff88000196d000           4K USR RW                 x  pte
0xffff88000196d000-0xffff880001970000          12K USR RW                 x  pte
0xffff880001970000-0xffff880001971000           4K USR RW                 x  pte
0xffff880001971000-0xffff880001972000           4K USR RW                 x  pte
0xffff880001972000-0xffff880001973000           4K USR RW                 x  pte
0xffff880001973000-0xffff880001975000           8K USR RW                 x  pte
0xffff880001975000-0xffff880001976000           4K USR RW                 x  pte
0xffff880001976000-0xffff880001977000           4K USR RW                 x  pte
0xffff880001977000-0xffff88000197b000          16K USR RW                 x  pte
0xffff88000197b000-0xffff8800019b9000         248K USR RW                 x  pte
0xffff8800019b9000-0xffff8800019c0000          28K USR RW                 x  pte
0xffff8800019c0000-0xffff8800019df000         124K USR RW                 x  pte
0xffff8800019df000-0xffff8800019e8000          36K USR RW                 x  pte
0xffff8800019e8000-0xffff8800019f1000          36K USR RW                 x  pte
0xffff8800019f1000-0xffff8800019f2000           4K USR RW                 x  pte
0xffff8800019f2000-0xffff8800019f3000           4K USR RW                 x  pte
0xffff8800019f3000-0xffff8800019f5000           8K USR RW                 x  pte
0xffff8800019f5000-0xffff8800019f8000          12K USR RW                 x  pte
0xffff8800019f8000-0xffff880001a0a000          72K USR RW                 x  pte
0xffff880001a0a000-0xffff880001a0f000          20K USR RW                 x  pte
0xffff880001a0f000-0xffff880001a1c000          52K USR RW                 x  pte
0xffff880001a1c000-0xffff880001a1d000           4K USR RW                 x  pte
0xffff880001a1d000-0xffff880001aaa000         564K USR RW                 x  pte
0xffff880001aaa000-0xffff880001aae000          16K USR ro                 x  pte
0xffff880001aae000-0xffff880001b34000         536K USR RW                 x  pte
0xffff880001b34000-0xffff880001e3d000        3108K USR RW                 x  pte
0xffff880001e3d000-0xffff88000fc93000      227672K USR RW                 NX pte
0xffff88000fc93000-0xffff880020000000      265652K USR RW                 x  pte
0xffff880020000000-0xffff880020001000           4K USR ro                 x  pte
0xffff880020001000-0xffff880020002000           4K USR ro                 NX pte
0xffff880020002000-0xffff880020004000           8K USR RW                 NX pte
0xffff880020004000-0xffff880020008000          16K                           pte
0xffff880020008000-0xffff880020009000           4K USR ro                 x  pte
0xffff880020009000-0xffff88002000a000           4K USR ro                 NX pte
0xffff88002000a000-0xffff88002000c000           8K USR RW                 NX pte
0xffff88002000c000-0xffff880020070000         400K                           pte
0xffff880020070000-0xffff88002024c000        1904K USR RW                 x  pte
0xffff88002024c000-0xffff88002024e000           8K USR RW                 x  pte
0xffff88002024e000-0xffff880020353000        1044K USR ro                 x  pte
0xffff880020353000-0xffff880020400000         692K USR RW                 x  pte
0xffff880020400000-0xffff880020c00000           8M USR RW                 x  pte
0xffff880020c00000-0xffff8800ef9c0000     3389184K USR RW                 NX pte
0xffff8800ef9c0000-0xffff8800ff7fb000      260332K USR ro                 NX pte
0xffff8800ff7fb000-0xffff882019404000   130445348K USR RW                 NX pte
0xffff882019404000-0xffff882019406000           8K USR ro                 NX pte
0xffff882019406000-0xffff882019407000           4K USR RW                 NX pte
0xffff882019407000-0xffff882019408000           4K USR ro                 NX pte
0xffff882019408000-0xffff88201940a000           8K USR RW                 NX pte
0xffff88201940a000-0xffff88201940b000           4K USR ro                 NX pte
0xffff88201940b000-0xffff882019471000         408K USR RW                 NX pte
0xffff882019471000-0xffff882019473000           8K USR ro                 NX pte
0xffff882019473000-0xffff882019474000           4K USR RW                 NX pte
0xffff882019474000-0xffff882019477000          12K USR ro                 NX pte
0xffff882019477000-0xffff882019479000           8K USR RW                 NX pte
0xffff882019479000-0xffff88201947a000           4K USR ro                 NX pte
0xffff88201947a000-0xffff88201947c000           8K USR RW                 NX pte
0xffff88201947c000-0xffff882019482000          24K USR ro                 NX pte
0xffff882019482000-0xffff882019483000           4K USR RW                 NX pte
0xffff882019483000-0xffff882019486000          12K USR ro                 NX pte
0xffff882019486000-0xffff882019487000           4K USR RW                 NX pte
0xffff882019487000-0xffff88201948e000          28K USR ro                 NX pte
0xffff88201948e000-0xffff882019494000          24K USR RW                 NX pte
0xffff882019494000-0xffff882019495000           4K USR ro                 NX pte
0xffff882019495000-0xffff882019499000          16K USR RW                 NX pte
0xffff882019499000-0xffff88201949a000           4K USR ro                 NX pte
0xffff88201949a000-0xffff88201949d000          12K USR RW                 NX pte
0xffff88201949d000-0xffff88201949e000           4K USR ro                 NX pte
0xffff88201949e000-0xffff8820194a0000           8K USR RW                 NX pte
0xffff8820194a0000-0xffff8820194a1000           4K USR ro                 NX pte
0xffff8820194a1000-0xffff8820194ae000          52K USR RW                 NX pte
0xffff8820194ae000-0xffff8820194af000           4K USR ro                 NX pte
0xffff8820194af000-0xffff8820194b5000          24K USR RW                 NX pte
0xffff8820194b5000-0xffff8820194b6000           4K USR ro                 NX pte
0xffff8820194b6000-0xffff8820194b7000           4K USR RW                 NX pte
0xffff8820194b7000-0xffff8820194b9000           8K USR ro                 NX pte
0xffff8820194b9000-0xffff8820194bb000           8K USR RW                 NX pte
0xffff8820194bb000-0xffff8820194bc000           4K USR ro                 NX pte
0xffff8820194bc000-0xffff8820194bd000           4K USR RW                 NX pte
0xffff8820194bd000-0xffff8820194be000           4K USR ro                 NX pte
0xffff8820194be000-0xffff8820194f8000         232K USR RW                 NX pte
0xffff8820194f8000-0xffff8820194f9000           4K USR ro                 NX pte
0xffff8820194f9000-0xffff8820194ff000          24K USR RW                 NX pte
0xffff8820194ff000-0xffff882019500000           4K USR ro                 NX pte
0xffff882019500000-0xffff8820198be000        3832K USR RW                 NX pte
0xffff8820198be000-0xffff8820198c0000           8K USR ro                 NX pte
0xffff8820198c0000-0xffff8820198f7000         220K USR RW                 NX pte
0xffff8820198f7000-0xffff8820198f8000           4K USR ro                 NX pte
0xffff8820198f8000-0xffff882019bd8000        2944K USR RW                 NX pte
0xffff882019bd8000-0xffff882019be0000          32K USR ro                 NX pte
0xffff882019be0000-0xffff882019c06000         152K USR RW                 NX pte
0xffff882019c06000-0xffff882019c07000           4K USR ro                 NX pte
0xffff882019c07000-0xffff882019c0d000          24K USR RW                 NX pte
0xffff882019c0d000-0xffff882019c10000          12K USR ro                 NX pte
0xffff882019c10000-0xffff882019c13000          12K USR RW                 NX pte
0xffff882019c13000-0xffff882019c16000          12K USR ro                 NX pte
0xffff882019c16000-0xffff882019c17000           4K USR RW                 NX pte
0xffff882019c17000-0xffff882019c1f000          32K USR ro                 NX pte
0xffff882019c1f000-0xffff882019c20000           4K USR RW                 NX pte
0xffff882019c20000-0xffff882019c22000           8K USR ro                 NX pte
0xffff882019c22000-0xffff882019c25000          12K USR RW                 NX pte
0xffff882019c25000-0xffff882019c2f000          40K USR ro                 NX pte
0xffff882019c2f000-0xffff882019c3d000          56K USR RW                 NX pte
0xffff882019c3d000-0xffff882019c3e000           4K USR ro                 NX pte
0xffff882019c3e000-0xffff882019c40000           8K USR RW                 NX pte
0xffff882019c40000-0xffff882019c41000           4K USR ro                 NX pte
0xffff882019c41000-0xffff882019c49000          32K USR RW                 NX pte
0xffff882019c49000-0xffff882019c4b000           8K USR ro                 NX pte
0xffff882019c4b000-0xffff882019c4e000          12K USR RW                 NX pte
0xffff882019c4e000-0xffff882019c4f000           4K USR ro                 NX pte
0xffff882019c4f000-0xffff882019c50000           4K USR RW                 NX pte
0xffff882019c50000-0xffff882019c52000           8K USR ro                 NX pte
0xffff882019c52000-0xffff882019c58000          24K USR RW                 NX pte
0xffff882019c58000-0xffff882019c59000           4K USR ro                 NX pte
0xffff882019c59000-0xffff882019c64000          44K USR RW                 NX pte
0xffff882019c64000-0xffff882019c6b000          28K USR ro                 NX pte
0xffff882019c6b000-0xffff882019c6e000          12K USR RW                 NX pte
0xffff882019c6e000-0xffff882019c70000           8K USR ro                 NX pte
0xffff882019c70000-0xffff882019c72000           8K USR RW                 NX pte
0xffff882019c72000-0xffff882019c76000          16K USR ro                 NX pte
0xffff882019c76000-0xffff882019c82000          48K USR RW                 NX pte
0xffff882019c82000-0xffff882019c83000           4K USR ro                 NX pte
0xffff882019c83000-0xffff882019cc6000         268K USR RW                 NX pte
0xffff882019cc6000-0xffff882019cc8000           8K USR ro                 NX pte
0xffff882019cc8000-0xffff882019cf3000         172K USR RW                 NX pte
0xffff882019cf3000-0xffff882019cf4000           4K USR ro                 NX pte
0xffff882019cf4000-0xffff88201b000000       19504K USR RW                 NX pte
0xffff88201b000000-0xffff88201b006000          24K USR ro                 NX pte
0xffff88201b006000-0xffff88201b080000         488K USR RW                 NX pte
0xffff88201b080000-0xffff88201b083000          12K USR ro                 NX pte
0xffff88201b083000-0xffff88201b092000          60K USR RW                 NX pte
0xffff88201b092000-0xffff88201b093000           4K USR ro                 NX pte
0xffff88201b093000-0xffff88201b09c000          36K USR RW                 NX pte
0xffff88201b09c000-0xffff88201b09d000           4K USR ro                 NX pte
0xffff88201b09d000-0xffff88201b0ab000          56K USR RW                 NX pte
0xffff88201b0ab000-0xffff88201b0ac000           4K USR ro                 NX pte
0xffff88201b0ac000-0xffff88201b0c2000          88K USR RW                 NX pte
0xffff88201b0c2000-0xffff88201b0c3000           4K USR ro                 NX pte
0xffff88201b0c3000-0xffff88201b0d4000          68K USR RW                 NX pte
0xffff88201b0d4000-0xffff88201b0d5000           4K USR ro                 NX pte
0xffff88201b0d5000-0xffff88201b0e4000          60K USR RW                 NX pte
0xffff88201b0e4000-0xffff88201b0e5000           4K USR ro                 NX pte
0xffff88201b0e5000-0xffff88201b0e6000           4K USR RW                 NX pte
0xffff88201b0e6000-0xffff88201b0e7000           4K USR ro                 NX pte
0xffff88201b0e7000-0xffff88201b0eb000          16K USR RW                 NX pte
0xffff88201b0eb000-0xffff88201b0ec000           4K USR ro                 NX pte
0xffff88201b0ec000-0xffff88201b0f3000          28K USR RW                 NX pte
0xffff88201b0f3000-0xffff88201b0f4000           4K USR ro                 NX pte
0xffff88201b0f4000-0xffff88201b0f5000           4K USR RW                 NX pte
0xffff88201b0f5000-0xffff88201b0f6000           4K USR ro                 NX pte
0xffff88201b0f6000-0xffff88201b0fa000          16K USR RW                 NX pte
0xffff88201b0fa000-0xffff88201b0fc000           8K USR ro                 NX pte
0xffff88201b0fc000-0xffff88201cc9c000       28288K USR RW                 NX pte
0xffff88201cc9c000-0xffff88201cc9f000          12K USR ro                 NX pte
0xffff88201cc9f000-0xffff88201ccb7000          96K USR RW                 NX pte
0xffff88201ccb7000-0xffff88201ccb8000           4K USR ro                 NX pte
0xffff88201ccb8000-0xffff88201ccb9000           4K USR RW                 NX pte
0xffff88201ccb9000-0xffff88201ccba000           4K USR ro                 NX pte
0xffff88201ccba000-0xffff88201ccc6000          48K USR RW                 NX pte
0xffff88201ccc6000-0xffff88201ccc7000           4K USR ro                 NX pte
0xffff88201ccc7000-0xffff88201cce8000         132K USR RW                 NX pte
0xffff88201cce8000-0xffff88201cce9000           4K USR ro                 NX pte
0xffff88201cce9000-0xffff88201ccea000           4K USR RW                 NX pte
0xffff88201ccea000-0xffff88201cceb000           4K USR ro                 NX pte
0xffff88201cceb000-0xffff88201ccf5000          40K USR RW                 NX pte
0xffff88201ccf5000-0xffff88201ccf6000           4K USR ro                 NX pte
0xffff88201ccf6000-0xffff882021184000       70200K USR RW                 NX pte
0xffff882021184000-0xffff882021185000           4K USR ro                 NX pte
0xffff882021185000-0xffff882021186000           4K USR RW                 NX pte
0xffff882021186000-0xffff882021188000           8K USR ro                 NX pte
0xffff882021188000-0xffff882021195000          52K USR RW                 NX pte
0xffff882021195000-0xffff882021196000           4K USR ro                 NX pte
0xffff882021196000-0xffff88202119f000          36K USR RW                 NX pte
0xffff88202119f000-0xffff8820211a0000           4K USR ro                 NX pte
0xffff8820211a0000-0xffff8820211d1000         196K USR RW                 NX pte
0xffff8820211d1000-0xffff8820211d3000           8K USR ro                 NX pte
0xffff8820211d3000-0xffff8820211f8000         148K USR RW                 NX pte
0xffff8820211f8000-0xffff8820211f9000           4K USR ro                 NX pte
0xffff8820211f9000-0xffff8820211fa000           4K USR RW                 NX pte
0xffff8820211fa000-0xffff8820211fb000           4K USR ro                 NX pte
0xffff8820211fb000-0xffff8820211fd000           8K USR RW                 NX pte
0xffff8820211fd000-0xffff8820211fe000           4K USR ro                 NX pte
0xffff8820211fe000-0xffff882021360000        1416K USR RW                 NX pte
0xffff882021360000-0xffff882021361000           4K USR ro                 NX pte
0xffff882021361000-0xffff882021362000           4K USR RW                 NX pte
0xffff882021362000-0xffff882021363000           4K USR ro                 NX pte
0xffff882021363000-0xffff882021397000         208K USR RW                 NX pte
0xffff882021397000-0xffff882021398000           4K USR ro                 NX pte
0xffff882021398000-0xffff8820213a2000          40K USR RW                 NX pte
0xffff8820213a2000-0xffff8820213a3000           4K USR ro                 NX pte
0xffff8820213a3000-0xffff8820213ab000          32K USR RW                 NX pte
0xffff8820213ab000-0xffff8820213ac000           4K USR ro                 NX pte
0xffff8820213ac000-0xffff8820213bb000          60K USR RW                 NX pte
0xffff8820213bb000-0xffff8820213be000          12K USR ro                 NX pte
0xffff8820213be000-0xffff8820213bf000           4K USR RW                 NX pte
0xffff8820213bf000-0xffff8820213c0000           4K USR ro                 NX pte
0xffff8820213c0000-0xffff8820213c1000           4K USR RW                 NX pte
0xffff8820213c1000-0xffff8820213c2000           4K USR ro                 NX pte
0xffff8820213c2000-0xffff8820213c3000           4K USR RW                 NX pte
0xffff8820213c3000-0xffff8820213c4000           4K USR ro                 NX pte
0xffff8820213c4000-0xffff8820213c5000           4K USR RW                 NX pte
0xffff8820213c5000-0xffff8820213c6000           4K USR ro                 NX pte
0xffff8820213c6000-0xffff8820213c7000           4K USR RW                 NX pte
0xffff8820213c7000-0xffff8820213c8000           4K USR ro                 NX pte
0xffff8820213c8000-0xffff8820213c9000           4K USR RW                 NX pte
0xffff8820213c9000-0xffff8820213cb000           8K USR ro                 NX pte
0xffff8820213cb000-0xffff8820213cf000          16K USR RW                 NX pte
0xffff8820213cf000-0xffff8820213d0000           4K USR ro                 NX pte
0xffff8820213d0000-0xffff8820213d3000          12K USR RW                 NX pte
0xffff8820213d3000-0xffff8820213d4000           4K USR ro                 NX pte
0xffff8820213d4000-0xffff8820213d5000           4K USR RW                 NX pte
0xffff8820213d5000-0xffff8820213d6000           4K USR ro                 NX pte
0xffff8820213d6000-0xffff8820213db000          20K USR RW                 NX pte
0xffff8820213db000-0xffff8820213dc000           4K USR ro                 NX pte
0xffff8820213dc000-0xffff8820213dd000           4K USR RW                 NX pte
0xffff8820213dd000-0xffff8820213df000           8K USR ro                 NX pte
0xffff8820213df000-0xffff8820213e7000          32K USR RW                 NX pte
0xffff8820213e7000-0xffff8820213e8000           4K USR ro                 NX pte
0xffff8820213e8000-0xffff8820213f6000          56K USR RW                 NX pte
0xffff8820213f6000-0xffff8820213f7000           4K USR ro                 NX pte
0xffff8820213f7000-0xffff8820213fd000          24K USR RW                 NX pte
0xffff8820213fd000-0xffff8820213fe000           4K USR ro                 NX pte
0xffff8820213fe000-0xffff882021816000        4192K USR RW                 NX pte
0xffff882021816000-0xffff882021817000           4K USR ro                 NX pte
0xffff882021817000-0xffff882021826000          60K USR RW                 NX pte
0xffff882021826000-0xffff882021829000          12K USR ro                 NX pte
0xffff882021829000-0xffff88202182d000          16K USR RW                 NX pte
0xffff88202182d000-0xffff88202182e000           4K USR ro                 NX pte
0xffff88202182e000-0xffff882021840000          72K USR RW                 NX pte
0xffff882021840000-0xffff882021842000           8K USR ro                 NX pte
0xffff882021842000-0xffff882021843000           4K USR RW                 NX pte
0xffff882021843000-0xffff882021844000           4K USR ro                 NX pte
0xffff882021844000-0xffff882021846000           8K USR RW                 NX pte
0xffff882021846000-0xffff88202184a000          16K USR ro                 NX pte
0xffff88202184a000-0xffff88202184b000           4K USR RW                 NX pte
0xffff88202184b000-0xffff882021850000          20K USR ro                 NX pte
0xffff882021850000-0xffff882021859000          36K USR RW                 NX pte
0xffff882021859000-0xffff88202185b000           8K USR ro                 NX pte
0xffff88202185b000-0xffff882021861000          24K USR RW                 NX pte
0xffff882021861000-0xffff882021866000          20K USR ro                 NX pte
0xffff882021866000-0xffff882021867000           4K USR RW                 NX pte
0xffff882021867000-0xffff882021868000           4K USR ro                 NX pte
0xffff882021868000-0xffff88202186b000          12K USR RW                 NX pte
0xffff88202186b000-0xffff88202186c000           4K USR ro                 NX pte
0xffff88202186c000-0xffff88202188a000         120K USR RW                 NX pte
0xffff88202188a000-0xffff88202188b000           4K USR ro                 NX pte
0xffff88202188b000-0xffff882021891000          24K USR RW                 NX pte
0xffff882021891000-0xffff882021892000           4K USR ro                 NX pte
0xffff882021892000-0xffff8820218b2000         128K USR RW                 NX pte
0xffff8820218b2000-0xffff8820218b3000           4K USR ro                 NX pte
0xffff8820218b3000-0xffff8820218ee000         236K USR RW                 NX pte
0xffff8820218ee000-0xffff8820218ef000           4K USR ro                 NX pte
0xffff8820218ef000-0xffff8820218fa000          44K USR RW                 NX pte
0xffff8820218fa000-0xffff8820218fb000           4K USR ro                 NX pte
0xffff8820218fb000-0xffff882021b1f000        2192K USR RW                 NX pte
0xffff882021b1f000-0xffff882021b20000           4K USR ro                 NX pte
0xffff882021b20000-0xffff882021b33000          76K USR RW                 NX pte
0xffff882021b33000-0xffff882021b34000           4K USR ro                 NX pte
0xffff882021b34000-0xffff882021b3c000          32K USR RW                 NX pte
0xffff882021b3c000-0xffff882021b3d000           4K USR ro                 NX pte
0xffff882021b3d000-0xffff882021b68000         172K USR RW                 NX pte
0xffff882021b68000-0xffff882021b69000           4K USR ro                 NX pte
0xffff882021b69000-0xffff882021b77000          56K USR RW                 NX pte
0xffff882021b77000-0xffff882021b78000           4K USR ro                 NX pte
0xffff882021b78000-0xffff882021b84000          48K USR RW                 NX pte
0xffff882021b84000-0xffff882021b85000           4K USR ro                 NX pte
0xffff882021b85000-0xffff882021baf000         168K USR RW                 NX pte
0xffff882021baf000-0xffff882021bb0000           4K USR ro                 NX pte
0xffff882021bb0000-0xffff882021bcf000         124K USR RW                 NX pte
0xffff882021bcf000-0xffff882021bd0000           4K USR ro                 NX pte
0xffff882021bd0000-0xffff882021be2000          72K USR RW                 NX pte
0xffff882021be2000-0xffff882021be4000           8K USR ro                 NX pte
0xffff882021be4000-0xffff8820243d9000       40916K USR RW                 NX pte
0xffff8820243d9000-0xffff8820243dc000          12K USR ro                 NX pte
0xffff8820243dc000-0xffff8820243e1000          20K USR RW                 NX pte
0xffff8820243e1000-0xffff8820243e2000           4K USR ro                 NX pte
0xffff8820243e2000-0xffff882028dde000       75760K USR RW                 NX pte
0xffff882028dde000-0xffff882028ddf000           4K USR ro                 NX pte
0xffff882028ddf000-0xffff882028fe0000        2052K USR RW                 NX pte
0xffff882028fe0000-0xffff882028fe1000           4K USR ro                 NX pte
0xffff882028fe1000-0xffff8820292d8000        3036K USR RW                 NX pte
0xffff8820292d8000-0xffff8820292dc000          16K USR ro                 NX pte
0xffff8820292dc000-0xffff8820293dd000        1028K USR RW                 NX pte
0xffff8820293dd000-0xffff8820293de000           4K USR ro                 NX pte
0xffff8820293de000-0xffff882029ac4000        7064K USR RW                 NX pte
0xffff882029ac4000-0xffff882029ac6000           8K USR ro                 NX pte
0xffff882029ac6000-0xffff882029d5f000        2660K USR RW                 NX pte
0xffff882029d5f000-0xffff882029d9e000         252K USR ro                 NX pte
0xffff882029d9e000-0xffff882031c9e000         127M USR RW                 NX pte
0xffff882031c9e000-0xffff882031d1e000         512K USR ro                 NX pte
0xffff882031d1e000-0xffff882031d5e000         256K USR RW                 NX pte
0xffff882031d5e000-0xffff882031d5f000           4K USR ro                 NX pte
0xffff882031d5f000-0xffff882032658000        9188K USR RW                 NX pte
0xffff882032658000-0xffff882032800000        1696K USR ro                 NX pte
0xffff882032800000-0xffff8820b509b000     2138732K USR RW                 NX pte
0xffff8820b509b000-0xffff8820b509e000          12K USR ro                 NX pte
0xffff8820b509e000-0xffff8820b5600000        5512K USR RW                 NX pte
0xffff8820b5600000-0xffff8820b57f0000        1984K USR ro                 NX pte
0xffff8820b57f0000-0xffff8820b5fa9000        7908K USR RW                 NX pte
0xffff8820b5fa9000-0xffff8820b5faa000           4K USR ro                 NX pte
0xffff8820b5faa000-0xffff8820b5fc2000          96K USR RW                 NX pte
0xffff8820b5fc2000-0xffff8820b5fc6000          16K USR ro                 NX pte
0xffff8820b5fc6000-0xffff8820b7000000       16616K USR RW                 NX pte
0xffff8820b7000000-0xffff8820b7800000           8M                           pte
0xffff8820b7800000-0xffff8820c0000000         136M                           pmd
0xffff8820c0000000-0xffff888000000000         381G                           pud
0xffff888000000000-0xffffc90000000000       66048G                           pgd
---[ vmalloc() Area ]---
0xffffc90000000000-0xffffc90010000000         256M USR RW                 NX pte
0xffffc90010000000-0xffffc90010001000           4K                           pte
0xffffc90010001000-0xffffc90010081000         512K USR RW                 NX pte
0xffffc90010081000-0xffffc90010082000           4K                           pte
0xffffc90010082000-0xffffc90018082000         128M USR RW                 NX pte
0xffffc90018082000-0xffffc90018083000           4K                           pte
0xffffc90018083000-0xffffc900180c3000         256K USR RW                 NX pte
0xffffc900180c3000-0xffffc900180c4000           4K                           pte
0xffffc900180c4000-0xffffc900180c6000           8K USR RW                 NX pte
0xffffc900180c6000-0xffffc900180c8000           8K                           pte
0xffffc900180c8000-0xffffc900180c9000           4K USR RW                 NX pte
0xffffc900180c9000-0xffffc900180cd000          16K                           pte
0xffffc900180cd000-0xffffc900180d1000          16K USR RW                 NX pte
0xffffc900180d1000-0xffffc900180d2000           4K                           pte
0xffffc900180d2000-0xffffc900180dd000          44K USR RW                 NX pte
0xffffc900180dd000-0xffffc900180de000           4K                           pte
0xffffc900180de000-0xffffc900180ea000          48K USR RW                 NX pte
0xffffc900180ea000-0xffffc90018100000          88K                           pte
0xffffc90018100000-0xffffc90018101000           4K USR RW                 NX pte
0xffffc90018101000-0xffffc90018121000         128K                           pte
0xffffc90018121000-0xffffc90018521000           4M USR RW                 NX pte
0xffffc90018521000-0xffffc90018522000           4K                           pte
0xffffc90018522000-0xffffc90018d22000           8M USR RW                 NX pte
0xffffc90018d22000-0xffffc90018d23000           4K                           pte
0xffffc90018d23000-0xffffc90018e23000           1M USR RW                 NX pte
0xffffc90018e23000-0xffffc90018e24000           4K                           pte
0xffffc90018e24000-0xffffc90019024000           2M USR RW                 NX pte
0xffffc90019024000-0xffffc90019025000           4K                           pte
0xffffc90019025000-0xffffc90019225000           2M USR RW                 NX pte
0xffffc90019225000-0xffffc90019600000        3948K                           pte
0xffffc90019600000-0xffffc90040000000         618M                           pmd
0xffffc90040000000-0xffffc98000000000         511G                           pud
0xffffc98000000000-0xffffea0000000000       33280G                           pgd
---[ Vmemmap ]---
0xffffea0000000000-0xffffea0072840000     1876224K USR RW                 NX pte
0xffffea0072840000-0xffffea0072a00000        1792K                           pte
0xffffea0072a00000-0xffffea0080000000         214M                           pmd
0xffffea0080000000-0xffffea8000000000         510G                           pud
0xffffea8000000000-0xffffff8000000000          21T                           pgd
0xffffff8000000000-0xffffffff80000000         510G                           pud
---[ High Kernel Mapping ]---
0xffffffff80000000-0xffffffff81000000          16M                           pmd
0xffffffff81000000-0xffffffff81002000           8K USR ro                 x  pte
0xffffffff81002000-0xffffffff81013000          68K USR ro                 x  pte
0xffffffff81013000-0xffffffff81015000           8K USR ro                 x  pte
0xffffffff81015000-0xffffffff81017000           8K USR ro                 x  pte
0xffffffff81017000-0xffffffff81019000           8K USR ro                 x  pte
0xffffffff81019000-0xffffffff8101a000           4K USR ro                 x  pte
0xffffffff8101a000-0xffffffff8101b000           4K USR ro                 x  pte
0xffffffff8101b000-0xffffffff8101f000          16K USR ro                 x  pte
0xffffffff8101f000-0xffffffff81028000          36K USR ro                 x  pte
0xffffffff81028000-0xffffffff8102a000           8K USR ro                 x  pte
0xffffffff8102a000-0xffffffff8102c000           8K USR ro                 x  pte
0xffffffff8102c000-0xffffffff8103c000          64K USR ro                 x  pte
0xffffffff8103c000-0xffffffff8103d000           4K USR ro                 x  pte
0xffffffff8103d000-0xffffffff81051000          80K USR ro                 x  pte
0xffffffff81051000-0xffffffff81052000           4K USR ro                 x  pte
0xffffffff81052000-0xffffffff81057000          20K USR ro                 x  pte
0xffffffff81057000-0xffffffff81058000           4K USR ro                 x  pte
0xffffffff81058000-0xffffffff81061000          36K USR ro                 x  pte
0xffffffff81061000-0xffffffff81063000           8K USR ro                 x  pte
0xffffffff81063000-0xffffffff8106b000          32K USR ro                 x  pte
0xffffffff8106b000-0xffffffff8106c000           4K USR ro                 x  pte
0xffffffff8106c000-0xffffffff81078000          48K USR ro                 x  pte
0xffffffff81078000-0xffffffff8107a000           8K USR ro                 x  pte
0xffffffff8107a000-0xffffffff81083000          36K USR ro                 x  pte
0xffffffff81083000-0xffffffff81084000           4K USR ro                 x  pte
0xffffffff81084000-0xffffffff8108f000          44K USR ro                 x  pte
0xffffffff8108f000-0xffffffff81090000           4K USR ro                 x  pte
0xffffffff81090000-0xffffffff81094000          16K USR ro                 x  pte
0xffffffff81094000-0xffffffff81097000          12K USR ro                 x  pte
0xffffffff81097000-0xffffffff810a0000          36K USR ro                 x  pte
0xffffffff810a0000-0xffffffff810a2000           8K USR ro                 x  pte
0xffffffff810a2000-0xffffffff810a7000          20K USR ro                 x  pte
0xffffffff810a7000-0xffffffff810a8000           4K USR ro                 x  pte
0xffffffff810a8000-0xffffffff810aa000           8K USR ro                 x  pte
0xffffffff810aa000-0xffffffff810af000          20K USR ro                 x  pte
0xffffffff810af000-0xffffffff810b4000          20K USR ro                 x  pte
0xffffffff810b4000-0xffffffff810b6000           8K USR ro                 x  pte
0xffffffff810b6000-0xffffffff810c0000          40K USR ro                 x  pte
0xffffffff810c0000-0xffffffff810c4000          16K USR ro                 x  pte
0xffffffff810c4000-0xffffffff810c6000           8K USR ro                 x  pte
0xffffffff810c6000-0xffffffff810ca000          16K USR ro                 x  pte
0xffffffff810ca000-0xffffffff810cc000           8K USR ro                 x  pte
0xffffffff810cc000-0xffffffff810cd000           4K USR ro                 x  pte
0xffffffff810cd000-0xffffffff810d5000          32K USR ro                 x  pte
0xffffffff810d5000-0xffffffff810d9000          16K USR ro                 x  pte
0xffffffff810d9000-0xffffffff810da000           4K USR ro                 x  pte
0xffffffff810da000-0xffffffff810db000           4K USR ro                 x  pte
0xffffffff810db000-0xffffffff810dc000           4K USR ro                 x  pte
0xffffffff810dc000-0xffffffff810dd000           4K USR ro                 x  pte
0xffffffff810dd000-0xffffffff810e2000          20K USR ro                 x  pte
0xffffffff810e2000-0xffffffff810e3000           4K USR ro                 x  pte
0xffffffff810e3000-0xffffffff810f8000          84K USR ro                 x  pte
0xffffffff810f8000-0xffffffff810fb000          12K USR ro                 x  pte
0xffffffff810fb000-0xffffffff81101000          24K USR ro                 x  pte
0xffffffff81101000-0xffffffff81102000           4K USR ro                 x  pte
0xffffffff81102000-0xffffffff81106000          16K USR ro                 x  pte
0xffffffff81106000-0xffffffff81107000           4K USR ro                 x  pte
0xffffffff81107000-0xffffffff81108000           4K USR ro                 x  pte
0xffffffff81108000-0xffffffff81109000           4K USR ro                 x  pte
0xffffffff81109000-0xffffffff81113000          40K USR ro                 x  pte
0xffffffff81113000-0xffffffff81114000           4K USR ro                 x  pte
0xffffffff81114000-0xffffffff81117000          12K USR ro                 x  pte
0xffffffff81117000-0xffffffff81118000           4K USR ro                 x  pte
0xffffffff81118000-0xffffffff81122000          40K USR ro                 x  pte
0xffffffff81122000-0xffffffff81124000           8K USR ro                 x  pte
0xffffffff81124000-0xffffffff81143000         124K USR ro                 x  pte
0xffffffff81143000-0xffffffff81145000           8K USR ro                 x  pte
0xffffffff81145000-0xffffffff81166000         132K USR ro                 x  pte
0xffffffff81166000-0xffffffff81168000           8K USR ro                 x  pte
0xffffffff81168000-0xffffffff8116d000          20K USR ro                 x  pte
0xffffffff8116d000-0xffffffff8116e000           4K USR ro                 x  pte
0xffffffff8116e000-0xffffffff8116f000           4K USR ro                 x  pte
0xffffffff8116f000-0xffffffff81170000           4K USR ro                 x  pte
0xffffffff81170000-0xffffffff81174000          16K USR ro                 x  pte
0xffffffff81174000-0xffffffff81177000          12K USR ro                 x  pte
0xffffffff81177000-0xffffffff8117a000          12K USR ro                 x  pte
0xffffffff8117a000-0xffffffff8117e000          16K USR ro                 x  pte
0xffffffff8117e000-0xffffffff8118d000          60K USR ro                 x  pte
0xffffffff8118d000-0xffffffff8118e000           4K USR ro                 x  pte
0xffffffff8118e000-0xffffffff81190000           8K USR ro                 x  pte
0xffffffff81190000-0xffffffff81191000           4K USR ro                 x  pte
0xffffffff81191000-0xffffffff81192000           4K USR ro                 x  pte
0xffffffff81192000-0xffffffff81193000           4K USR ro                 x  pte
0xffffffff81193000-0xffffffff81194000           4K USR ro                 x  pte
0xffffffff81194000-0xffffffff81197000          12K USR ro                 x  pte
0xffffffff81197000-0xffffffff81198000           4K USR ro                 x  pte
0xffffffff81198000-0xffffffff81199000           4K USR ro                 x  pte
0xffffffff81199000-0xffffffff811a0000          28K USR ro                 x  pte
0xffffffff811a0000-0xffffffff811a1000           4K USR ro                 x  pte
0xffffffff811a1000-0xffffffff811ab000          40K USR ro                 x  pte
0xffffffff811ab000-0xffffffff811ac000           4K USR ro                 x  pte
0xffffffff811ac000-0xffffffff811af000          12K USR ro                 x  pte
0xffffffff811af000-0xffffffff811b1000           8K USR ro                 x  pte
0xffffffff811b1000-0xffffffff811b4000          12K USR ro                 x  pte
0xffffffff811b4000-0xffffffff811b5000           4K USR ro                 x  pte
0xffffffff811b5000-0xffffffff811b9000          16K USR ro                 x  pte
0xffffffff811b9000-0xffffffff811bb000           8K USR ro                 x  pte
0xffffffff811bb000-0xffffffff811bd000           8K USR ro                 x  pte
0xffffffff811bd000-0xffffffff811be000           4K USR ro                 x  pte
0xffffffff811be000-0xffffffff811c2000          16K USR ro                 x  pte
0xffffffff811c2000-0xffffffff811c6000          16K USR ro                 x  pte
0xffffffff811c6000-0xffffffff811c7000           4K USR ro                 x  pte
0xffffffff811c7000-0xffffffff811c8000           4K USR ro                 x  pte
0xffffffff811c8000-0xffffffff811c9000           4K USR ro                 x  pte
0xffffffff811c9000-0xffffffff811ca000           4K USR ro                 x  pte
0xffffffff811ca000-0xffffffff811cf000          20K USR ro                 x  pte
0xffffffff811cf000-0xffffffff811d0000           4K USR ro                 x  pte
0xffffffff811d0000-0xffffffff811d3000          12K USR ro                 x  pte
0xffffffff811d3000-0xffffffff811d5000           8K USR ro                 x  pte
0xffffffff811d5000-0xffffffff811d6000           4K USR ro                 x  pte
0xffffffff811d6000-0xffffffff811d8000           8K USR ro                 x  pte
0xffffffff811d8000-0xffffffff811d9000           4K USR ro                 x  pte
0xffffffff811d9000-0xffffffff811da000           4K USR ro                 x  pte
0xffffffff811da000-0xffffffff811e0000          24K USR ro                 x  pte
0xffffffff811e0000-0xffffffff811e3000          12K USR ro                 x  pte
0xffffffff811e3000-0xffffffff811e9000          24K USR ro                 x  pte
0xffffffff811e9000-0xffffffff811ea000           4K USR ro                 x  pte
0xffffffff811ea000-0xffffffff811eb000           4K USR ro                 x  pte
0xffffffff811eb000-0xffffffff811f1000          24K USR ro                 x  pte
0xffffffff811f1000-0xffffffff811f7000          24K USR ro                 x  pte
0xffffffff811f7000-0xffffffff811f8000           4K USR ro                 x  pte
0xffffffff811f8000-0xffffffff811fa000           8K USR ro                 x  pte
0xffffffff811fa000-0xffffffff811fb000           4K USR ro                 x  pte
0xffffffff811fb000-0xffffffff811fd000           8K USR ro                 x  pte
0xffffffff811fd000-0xffffffff811fe000           4K USR ro                 x  pte
0xffffffff811fe000-0xffffffff81200000           8K USR ro                 x  pte
0xffffffff81200000-0xffffffff81201000           4K USR ro                 x  pte
0xffffffff81201000-0xffffffff81203000           8K USR ro                 x  pte
0xffffffff81203000-0xffffffff81207000          16K USR ro                 x  pte
0xffffffff81207000-0xffffffff81209000           8K USR ro                 x  pte
0xffffffff81209000-0xffffffff8120a000           4K USR ro                 x  pte
0xffffffff8120a000-0xffffffff8120b000           4K USR ro                 x  pte
0xffffffff8120b000-0xffffffff8120c000           4K USR ro                 x  pte
0xffffffff8120c000-0xffffffff8120e000           8K USR ro                 x  pte
0xffffffff8120e000-0xffffffff81223000          84K USR ro                 x  pte
0xffffffff81223000-0xffffffff81228000          20K USR ro                 x  pte
0xffffffff81228000-0xffffffff81229000           4K USR ro                 x  pte
0xffffffff81229000-0xffffffff8123b000          72K USR ro                 x  pte
0xffffffff8123b000-0xffffffff8123d000           8K USR ro                 x  pte
0xffffffff8123d000-0xffffffff8123e000           4K USR ro                 x  pte
0xffffffff8123e000-0xffffffff8123f000           4K USR ro                 x  pte
0xffffffff8123f000-0xffffffff81242000          12K USR ro                 x  pte
0xffffffff81242000-0xffffffff81244000           8K USR ro                 x  pte
0xffffffff81244000-0xffffffff81245000           4K USR ro                 x  pte
0xffffffff81245000-0xffffffff81247000           8K USR ro                 x  pte
0xffffffff81247000-0xffffffff81248000           4K USR ro                 x  pte
0xffffffff81248000-0xffffffff81252000          40K USR ro                 x  pte
0xffffffff81252000-0xffffffff81253000           4K USR ro                 x  pte
0xffffffff81253000-0xffffffff81254000           4K USR ro                 x  pte
0xffffffff81254000-0xffffffff81255000           4K USR ro                 x  pte
0xffffffff81255000-0xffffffff81258000          12K USR ro                 x  pte
0xffffffff81258000-0xffffffff81259000           4K USR ro                 x  pte
0xffffffff81259000-0xffffffff81268000          60K USR ro                 x  pte
0xffffffff81268000-0xffffffff8126e000          24K USR ro                 x  pte
0xffffffff8126e000-0xffffffff8126f000           4K USR ro                 x  pte
0xffffffff8126f000-0xffffffff81272000          12K USR ro                 x  pte
0xffffffff81272000-0xffffffff81273000           4K USR ro                 x  pte
0xffffffff81273000-0xffffffff81274000           4K USR ro                 x  pte
0xffffffff81274000-0xffffffff8127a000          24K USR ro                 x  pte
0xffffffff8127a000-0xffffffff8127c000           8K USR ro                 x  pte
0xffffffff8127c000-0xffffffff8127d000           4K USR ro                 x  pte
0xffffffff8127d000-0xffffffff81285000          32K USR ro                 x  pte
0xffffffff81285000-0xffffffff81286000           4K USR ro                 x  pte
0xffffffff81286000-0xffffffff81287000           4K USR ro                 x  pte
0xffffffff81287000-0xffffffff81288000           4K USR ro                 x  pte
0xffffffff81288000-0xffffffff81289000           4K USR ro                 x  pte
0xffffffff81289000-0xffffffff8128d000          16K USR ro                 x  pte
0xffffffff8128d000-0xffffffff8128f000           8K USR ro                 x  pte
0xffffffff8128f000-0xffffffff81291000           8K USR ro                 x  pte
0xffffffff81291000-0xffffffff81292000           4K USR ro                 x  pte
0xffffffff81292000-0xffffffff8129f000          52K USR ro                 x  pte
0xffffffff8129f000-0xffffffff812a0000           4K USR ro                 x  pte
0xffffffff812a0000-0xffffffff812a1000           4K USR ro                 x  pte
0xffffffff812a1000-0xffffffff812a3000           8K USR ro                 x  pte
0xffffffff812a3000-0xffffffff812a5000           8K USR ro                 x  pte
0xffffffff812a5000-0xffffffff812a6000           4K USR ro                 x  pte
0xffffffff812a6000-0xffffffff812a9000          12K USR ro                 x  pte
0xffffffff812a9000-0xffffffff812ab000           8K USR ro                 x  pte
0xffffffff812ab000-0xffffffff812c3000          96K USR ro                 x  pte
0xffffffff812c3000-0xffffffff812c6000          12K USR ro                 x  pte
0xffffffff812c6000-0xffffffff812cc000          24K USR ro                 x  pte
0xffffffff812cc000-0xffffffff812cf000          12K USR ro                 x  pte
0xffffffff812cf000-0xffffffff812d1000           8K USR ro                 x  pte
0xffffffff812d1000-0xffffffff812d2000           4K USR ro                 x  pte
0xffffffff812d2000-0xffffffff812d3000           4K USR ro                 x  pte
0xffffffff812d3000-0xffffffff812d7000          16K USR ro                 x  pte
0xffffffff812d7000-0xffffffff812d8000           4K USR ro                 x  pte
0xffffffff812d8000-0xffffffff812da000           8K USR ro                 x  pte
0xffffffff812da000-0xffffffff812dc000           8K USR ro                 x  pte
0xffffffff812dc000-0xffffffff812e1000          20K USR ro                 x  pte
0xffffffff812e1000-0xffffffff812e3000           8K USR ro                 x  pte
0xffffffff812e3000-0xffffffff812e4000           4K USR ro                 x  pte
0xffffffff812e4000-0xffffffff812e5000           4K USR ro                 x  pte
0xffffffff812e5000-0xffffffff812e6000           4K USR ro                 x  pte
0xffffffff812e6000-0xffffffff812e7000           4K USR ro                 x  pte
0xffffffff812e7000-0xffffffff812ed000          24K USR ro                 x  pte
0xffffffff812ed000-0xffffffff812ee000           4K USR ro                 x  pte
0xffffffff812ee000-0xffffffff812f9000          44K USR ro                 x  pte
0xffffffff812f9000-0xffffffff812fa000           4K USR ro                 x  pte
0xffffffff812fa000-0xffffffff812fe000          16K USR ro                 x  pte
0xffffffff812fe000-0xffffffff81300000           8K USR ro                 x  pte
0xffffffff81300000-0xffffffff81302000           8K USR ro                 x  pte
0xffffffff81302000-0xffffffff8130d000          44K USR ro                 x  pte
0xffffffff8130d000-0xffffffff8130e000           4K USR ro                 x  pte
0xffffffff8130e000-0xffffffff8130f000           4K USR ro                 x  pte
0xffffffff8130f000-0xffffffff81312000          12K USR ro                 x  pte
0xffffffff81312000-0xffffffff81314000           8K USR ro                 x  pte
0xffffffff81314000-0xffffffff81318000          16K USR ro                 x  pte
0xffffffff81318000-0xffffffff8131b000          12K USR ro                 x  pte
0xffffffff8131b000-0xffffffff8131c000           4K USR ro                 x  pte
0xffffffff8131c000-0xffffffff81324000          32K USR ro                 x  pte
0xffffffff81324000-0xffffffff81329000          20K USR ro                 x  pte
0xffffffff81329000-0xffffffff8132d000          16K USR ro                 x  pte
0xffffffff8132d000-0xffffffff8132e000           4K USR ro                 x  pte
0xffffffff8132e000-0xffffffff8132f000           4K USR ro                 x  pte
0xffffffff8132f000-0xffffffff81332000          12K USR ro                 x  pte
0xffffffff81332000-0xffffffff81333000           4K USR ro                 x  pte
0xffffffff81333000-0xffffffff81334000           4K USR ro                 x  pte
0xffffffff81334000-0xffffffff81335000           4K USR ro                 x  pte
0xffffffff81335000-0xffffffff81337000           8K USR ro                 x  pte
0xffffffff81337000-0xffffffff8133b000          16K USR ro                 x  pte
0xffffffff8133b000-0xffffffff8133c000           4K USR ro                 x  pte
0xffffffff8133c000-0xffffffff81340000          16K USR ro                 x  pte
0xffffffff81340000-0xffffffff81342000           8K USR ro                 x  pte
0xffffffff81342000-0xffffffff81343000           4K USR ro                 x  pte
0xffffffff81343000-0xffffffff81348000          20K USR ro                 x  pte
0xffffffff81348000-0xffffffff8134c000          16K USR ro                 x  pte
0xffffffff8134c000-0xffffffff81350000          16K USR ro                 x  pte
0xffffffff81350000-0xffffffff81351000           4K USR ro                 x  pte
0xffffffff81351000-0xffffffff81353000           8K USR ro                 x  pte
0xffffffff81353000-0xffffffff81358000          20K USR ro                 x  pte
0xffffffff81358000-0xffffffff8135e000          24K USR ro                 x  pte
0xffffffff8135e000-0xffffffff8135f000           4K USR ro                 x  pte
0xffffffff8135f000-0xffffffff81361000           8K USR ro                 x  pte
0xffffffff81361000-0xffffffff81366000          20K USR ro                 x  pte
0xffffffff81366000-0xffffffff81367000           4K USR ro                 x  pte
0xffffffff81367000-0xffffffff81368000           4K USR ro                 x  pte
0xffffffff81368000-0xffffffff8136a000           8K USR ro                 x  pte
0xffffffff8136a000-0xffffffff81374000          40K USR ro                 x  pte
0xffffffff81374000-0xffffffff81376000           8K USR ro                 x  pte
0xffffffff81376000-0xffffffff81379000          12K USR ro                 x  pte
0xffffffff81379000-0xffffffff8137f000          24K USR ro                 x  pte
0xffffffff8137f000-0xffffffff81380000           4K USR ro                 x  pte
0xffffffff81380000-0xffffffff81383000          12K USR ro                 x  pte
0xffffffff81383000-0xffffffff81384000           4K USR ro                 x  pte
0xffffffff81384000-0xffffffff81387000          12K USR ro                 x  pte
0xffffffff81387000-0xffffffff81389000           8K USR ro                 x  pte
0xffffffff81389000-0xffffffff8138c000          12K USR ro                 x  pte
0xffffffff8138c000-0xffffffff81393000          28K USR ro                 x  pte
0xffffffff81393000-0xffffffff81395000           8K USR ro                 x  pte
0xffffffff81395000-0xffffffff81398000          12K USR ro                 x  pte
0xffffffff81398000-0xffffffff8139a000           8K USR ro                 x  pte
0xffffffff8139a000-0xffffffff8139c000           8K USR ro                 x  pte
0xffffffff8139c000-0xffffffff8139d000           4K USR ro                 x  pte
0xffffffff8139d000-0xffffffff813a3000          24K USR ro                 x  pte
0xffffffff813a3000-0xffffffff813a4000           4K USR ro                 x  pte
0xffffffff813a4000-0xffffffff813a5000           4K USR ro                 x  pte
0xffffffff813a5000-0xffffffff813a6000           4K USR ro                 x  pte
0xffffffff813a6000-0xffffffff813a9000          12K USR ro                 x  pte
0xffffffff813a9000-0xffffffff813ab000           8K USR ro                 x  pte
0xffffffff813ab000-0xffffffff813ac000           4K USR ro                 x  pte
0xffffffff813ac000-0xffffffff813ae000           8K USR ro                 x  pte
0xffffffff813ae000-0xffffffff813b1000          12K USR ro                 x  pte
0xffffffff813b1000-0xffffffff813b3000           8K USR ro                 x  pte
0xffffffff813b3000-0xffffffff813b5000           8K USR ro                 x  pte
0xffffffff813b5000-0xffffffff813b9000          16K USR ro                 x  pte
0xffffffff813b9000-0xffffffff813ba000           4K USR ro                 x  pte
0xffffffff813ba000-0xffffffff813bf000          20K USR ro                 x  pte
0xffffffff813bf000-0xffffffff813ce000          60K USR ro                 x  pte
0xffffffff813ce000-0xffffffff813cf000           4K USR ro                 x  pte
0xffffffff813cf000-0xffffffff813d0000           4K USR ro                 x  pte
0xffffffff813d0000-0xffffffff813d2000           8K USR ro                 x  pte
0xffffffff813d2000-0xffffffff813d3000           4K USR ro                 x  pte
0xffffffff813d3000-0xffffffff813db000          32K USR ro                 x  pte
0xffffffff813db000-0xffffffff813dc000           4K USR ro                 x  pte
0xffffffff813dc000-0xffffffff813dd000           4K USR ro                 x  pte
0xffffffff813dd000-0xffffffff813de000           4K USR ro                 x  pte
0xffffffff813de000-0xffffffff813e0000           8K USR ro                 x  pte
0xffffffff813e0000-0xffffffff813e3000          12K USR ro                 x  pte
0xffffffff813e3000-0xffffffff813e5000           8K USR ro                 x  pte
0xffffffff813e5000-0xffffffff813e8000          12K USR ro                 x  pte
0xffffffff813e8000-0xffffffff813ea000           8K USR ro                 x  pte
0xffffffff813ea000-0xffffffff813ec000           8K USR ro                 x  pte
0xffffffff813ec000-0xffffffff813ed000           4K USR ro                 x  pte
0xffffffff813ed000-0xffffffff813ef000           8K USR ro                 x  pte
0xffffffff813ef000-0xffffffff813f3000          16K USR ro                 x  pte
0xffffffff813f3000-0xffffffff813f4000           4K USR ro                 x  pte
0xffffffff813f4000-0xffffffff813f6000           8K USR ro                 x  pte
0xffffffff813f6000-0xffffffff813f7000           4K USR ro                 x  pte
0xffffffff813f7000-0xffffffff813fa000          12K USR ro                 x  pte
0xffffffff813fa000-0xffffffff813fb000           4K USR ro                 x  pte
0xffffffff813fb000-0xffffffff813fd000           8K USR ro                 x  pte
0xffffffff813fd000-0xffffffff813fe000           4K USR ro                 x  pte
0xffffffff813fe000-0xffffffff81403000          20K USR ro                 x  pte
0xffffffff81403000-0xffffffff81404000           4K USR ro                 x  pte
0xffffffff81404000-0xffffffff81406000           8K USR ro                 x  pte
0xffffffff81406000-0xffffffff81408000           8K USR ro                 x  pte
0xffffffff81408000-0xffffffff81411000          36K USR ro                 x  pte
0xffffffff81411000-0xffffffff81412000           4K USR ro                 x  pte
0xffffffff81412000-0xffffffff81413000           4K USR ro                 x  pte
0xffffffff81413000-0xffffffff81415000           8K USR ro                 x  pte
0xffffffff81415000-0xffffffff81416000           4K USR ro                 x  pte
0xffffffff81416000-0xffffffff81419000          12K USR ro                 x  pte
0xffffffff81419000-0xffffffff8141e000          20K USR ro                 x  pte
0xffffffff8141e000-0xffffffff81425000          28K USR ro                 x  pte
0xffffffff81425000-0xffffffff81426000           4K USR ro                 x  pte
0xffffffff81426000-0xffffffff81428000           8K USR ro                 x  pte
0xffffffff81428000-0xffffffff8142f000          28K USR ro                 x  pte
0xffffffff8142f000-0xffffffff81430000           4K USR ro                 x  pte
0xffffffff81430000-0xffffffff81437000          28K USR ro                 x  pte
0xffffffff81437000-0xffffffff81438000           4K USR ro                 x  pte
0xffffffff81438000-0xffffffff81439000           4K USR ro                 x  pte
0xffffffff81439000-0xffffffff8143d000          16K USR ro                 x  pte
0xffffffff8143d000-0xffffffff8143e000           4K USR ro                 x  pte
0xffffffff8143e000-0xffffffff8143f000           4K USR ro                 x  pte
0xffffffff8143f000-0xffffffff81440000           4K USR ro                 x  pte
0xffffffff81440000-0xffffffff81443000          12K USR ro                 x  pte
0xffffffff81443000-0xffffffff81445000           8K USR ro                 x  pte
0xffffffff81445000-0xffffffff81446000           4K USR ro                 x  pte
0xffffffff81446000-0xffffffff81448000           8K USR ro                 x  pte
0xffffffff81448000-0xffffffff8144d000          20K USR ro                 x  pte
0xffffffff8144d000-0xffffffff8144f000           8K USR ro                 x  pte
0xffffffff8144f000-0xffffffff81451000           8K USR ro                 x  pte
0xffffffff81451000-0xffffffff81452000           4K USR ro                 x  pte
0xffffffff81452000-0xffffffff81458000          24K USR ro                 x  pte
0xffffffff81458000-0xffffffff81459000           4K USR ro                 x  pte
0xffffffff81459000-0xffffffff8145a000           4K USR ro                 x  pte
0xffffffff8145a000-0xffffffff8145c000           8K USR ro                 x  pte
0xffffffff8145c000-0xffffffff8145d000           4K USR ro                 x  pte
0xffffffff8145d000-0xffffffff81462000          20K USR ro                 x  pte
0xffffffff81462000-0xffffffff81463000           4K USR ro                 x  pte
0xffffffff81463000-0xffffffff81464000           4K USR ro                 x  pte
0xffffffff81464000-0xffffffff81465000           4K USR ro                 x  pte
0xffffffff81465000-0xffffffff81467000           8K USR ro                 x  pte
0xffffffff81467000-0xffffffff81468000           4K USR ro                 x  pte
0xffffffff81468000-0xffffffff81469000           4K USR ro                 x  pte
0xffffffff81469000-0xffffffff8146a000           4K USR ro                 x  pte
0xffffffff8146a000-0xffffffff8146b000           4K USR ro                 x  pte
0xffffffff8146b000-0xffffffff81470000          20K USR ro                 x  pte
0xffffffff81470000-0xffffffff81471000           4K USR ro                 x  pte
0xffffffff81471000-0xffffffff81473000           8K USR ro                 x  pte
0xffffffff81473000-0xffffffff81477000          16K USR ro                 x  pte
0xffffffff81477000-0xffffffff8147a000          12K USR ro                 x  pte
0xffffffff8147a000-0xffffffff8147b000           4K USR ro                 x  pte
0xffffffff8147b000-0xffffffff8147c000           4K USR ro                 x  pte
0xffffffff8147c000-0xffffffff8147d000           4K USR ro                 x  pte
0xffffffff8147d000-0xffffffff81482000          20K USR ro                 x  pte
0xffffffff81482000-0xffffffff81484000           8K USR ro                 x  pte
0xffffffff81484000-0xffffffff81485000           4K USR ro                 x  pte
0xffffffff81485000-0xffffffff81486000           4K USR ro                 x  pte
0xffffffff81486000-0xffffffff81489000          12K USR ro                 x  pte
0xffffffff81489000-0xffffffff8148a000           4K USR ro                 x  pte
0xffffffff8148a000-0xffffffff8148b000           4K USR ro                 x  pte
0xffffffff8148b000-0xffffffff8148c000           4K USR ro                 x  pte
0xffffffff8148c000-0xffffffff81499000          52K USR ro                 x  pte
0xffffffff81499000-0xffffffff8149a000           4K USR ro                 x  pte
0xffffffff8149a000-0xffffffff814a2000          32K USR ro                 x  pte
0xffffffff814a2000-0xffffffff814a5000          12K USR ro                 x  pte
0xffffffff814a5000-0xffffffff814a8000          12K USR ro                 x  pte
0xffffffff814a8000-0xffffffff814b0000          32K USR ro                 x  pte
0xffffffff814b0000-0xffffffff814b1000           4K USR ro                 x  pte
0xffffffff814b1000-0xffffffff814b2000           4K USR ro                 x  pte
0xffffffff814b2000-0xffffffff814c2000          64K USR ro                 x  pte
0xffffffff814c2000-0xffffffff814c3000           4K USR ro                 x  pte
0xffffffff814c3000-0xffffffff814c5000           8K USR ro                 x  pte
0xffffffff814c5000-0xffffffff814cb000          24K USR ro                 x  pte
0xffffffff814cb000-0xffffffff814cc000           4K USR ro                 x  pte
0xffffffff814cc000-0xffffffff814cf000          12K USR ro                 x  pte
0xffffffff814cf000-0xffffffff814d0000           4K USR ro                 x  pte
0xffffffff814d0000-0xffffffff814d1000           4K USR ro                 x  pte
0xffffffff814d1000-0xffffffff814d3000           8K USR ro                 x  pte
0xffffffff814d3000-0xffffffff814d4000           4K USR ro                 x  pte
0xffffffff814d4000-0xffffffff814d6000           8K USR ro                 x  pte
0xffffffff814d6000-0xffffffff814d7000           4K USR ro                 x  pte
0xffffffff814d7000-0xffffffff814db000          16K USR ro                 x  pte
0xffffffff814db000-0xffffffff814dc000           4K USR ro                 x  pte
0xffffffff814dc000-0xffffffff814de000           8K USR ro                 x  pte
0xffffffff814de000-0xffffffff814df000           4K USR ro                 x  pte
0xffffffff814df000-0xffffffff814e3000          16K USR ro                 x  pte
0xffffffff814e3000-0xffffffff814e7000          16K USR ro                 x  pte
0xffffffff814e7000-0xffffffff814e8000           4K USR ro                 x  pte
0xffffffff814e8000-0xffffffff814e9000           4K USR ro                 x  pte
0xffffffff814e9000-0xffffffff814f1000          32K USR ro                 x  pte
0xffffffff814f1000-0xffffffff814f2000           4K USR ro                 x  pte
0xffffffff814f2000-0xffffffff814f6000          16K USR ro                 x  pte
0xffffffff814f6000-0xffffffff814f7000           4K USR ro                 x  pte
0xffffffff814f7000-0xffffffff814f8000           4K USR ro                 x  pte
0xffffffff814f8000-0xffffffff814f9000           4K USR ro                 x  pte
0xffffffff814f9000-0xffffffff814fe000          20K USR ro                 x  pte
0xffffffff814fe000-0xffffffff81503000          20K USR ro                 x  pte
0xffffffff81503000-0xffffffff81508000          20K USR ro                 x  pte
0xffffffff81508000-0xffffffff8150d000          20K USR ro                 x  pte
0xffffffff8150d000-0xffffffff81511000          16K USR ro                 x  pte
0xffffffff81511000-0xffffffff81513000           8K USR ro                 x  pte
0xffffffff81513000-0xffffffff81514000           4K USR ro                 x  pte
0xffffffff81514000-0xffffffff81515000           4K USR ro                 x  pte
0xffffffff81515000-0xffffffff81516000           4K USR ro                 x  pte
0xffffffff81516000-0xffffffff8151b000          20K USR ro                 x  pte
0xffffffff8151b000-0xffffffff81520000          20K USR ro                 x  pte
0xffffffff81520000-0xffffffff81521000           4K USR ro                 x  pte
0xffffffff81521000-0xffffffff81523000           8K USR ro                 x  pte
0xffffffff81523000-0xffffffff81525000           8K USR ro                 x  pte
0xffffffff81525000-0xffffffff81526000           4K USR ro                 x  pte
0xffffffff81526000-0xffffffff81529000          12K USR ro                 x  pte
0xffffffff81529000-0xffffffff8152a000           4K USR ro                 x  pte
0xffffffff8152a000-0xffffffff8152b000           4K USR ro                 x  pte
0xffffffff8152b000-0xffffffff8152e000          12K USR ro                 x  pte
0xffffffff8152e000-0xffffffff81533000          20K USR ro                 x  pte
0xffffffff81533000-0xffffffff81535000           8K USR ro                 x  pte
0xffffffff81535000-0xffffffff81537000           8K USR ro                 x  pte
0xffffffff81537000-0xffffffff81538000           4K USR ro                 x  pte
0xffffffff81538000-0xffffffff81539000           4K USR ro                 x  pte
0xffffffff81539000-0xffffffff8153b000           8K USR ro                 x  pte
0xffffffff8153b000-0xffffffff8153d000           8K USR ro                 x  pte
0xffffffff8153d000-0xffffffff81541000          16K USR ro                 x  pte
0xffffffff81541000-0xffffffff81542000           4K USR ro                 x  pte
0xffffffff81542000-0xffffffff81544000           8K USR ro                 x  pte
0xffffffff81544000-0xffffffff81545000           4K USR ro                 x  pte
0xffffffff81545000-0xffffffff81547000           8K USR ro                 x  pte
0xffffffff81547000-0xffffffff81551000          40K USR ro                 x  pte
0xffffffff81551000-0xffffffff81552000           4K USR ro                 x  pte
0xffffffff81552000-0xffffffff81554000           8K USR ro                 x  pte
0xffffffff81554000-0xffffffff81555000           4K USR ro                 x  pte
0xffffffff81555000-0xffffffff8155d000          32K USR ro                 x  pte
0xffffffff8155d000-0xffffffff8155f000           8K USR ro                 x  pte
0xffffffff8155f000-0xffffffff81563000          16K USR ro                 x  pte
0xffffffff81563000-0xffffffff81566000          12K USR ro                 x  pte
0xffffffff81566000-0xffffffff81567000           4K USR ro                 x  pte
0xffffffff81567000-0xffffffff81568000           4K USR ro                 x  pte
0xffffffff81568000-0xffffffff8156a000           8K USR ro                 x  pte
0xffffffff8156a000-0xffffffff8156b000           4K USR ro                 x  pte
0xffffffff8156b000-0xffffffff81572000          28K USR ro                 x  pte
0xffffffff81572000-0xffffffff81573000           4K USR ro                 x  pte
0xffffffff81573000-0xffffffff81576000          12K USR ro                 x  pte
0xffffffff81576000-0xffffffff81577000           4K USR ro                 x  pte
0xffffffff81577000-0xffffffff81578000           4K USR ro                 x  pte
0xffffffff81578000-0xffffffff81579000           4K USR ro                 x  pte
0xffffffff81579000-0xffffffff8157a000           4K USR ro                 x  pte
0xffffffff8157a000-0xffffffff8157b000           4K USR ro                 x  pte
0xffffffff8157b000-0xffffffff8157d000           8K USR ro                 x  pte
0xffffffff8157d000-0xffffffff8157f000           8K USR ro                 x  pte
0xffffffff8157f000-0xffffffff81582000          12K USR ro                 x  pte
0xffffffff81582000-0xffffffff81584000           8K USR ro                 x  pte
0xffffffff81584000-0xffffffff81586000           8K USR ro                 x  pte
0xffffffff81586000-0xffffffff81588000           8K USR ro                 x  pte
0xffffffff81588000-0xffffffff81589000           4K USR ro                 x  pte
0xffffffff81589000-0xffffffff8158d000          16K USR ro                 x  pte
0xffffffff8158d000-0xffffffff8158f000           8K USR ro                 x  pte
0xffffffff8158f000-0xffffffff81593000          16K USR ro                 x  pte
0xffffffff81593000-0xffffffff81594000           4K USR ro                 x  pte
0xffffffff81594000-0xffffffff81595000           4K USR ro                 x  pte
0xffffffff81595000-0xffffffff81596000           4K USR ro                 x  pte
0xffffffff81596000-0xffffffff81599000          12K USR ro                 x  pte
0xffffffff81599000-0xffffffff815ab000          72K USR ro                 x  pte
0xffffffff815ab000-0xffffffff815ac000           4K USR ro                 x  pte
0xffffffff815ac000-0xffffffff815b0000          16K USR ro                 x  pte
0xffffffff815b0000-0xffffffff815b1000           4K USR ro                 x  pte
0xffffffff815b1000-0xffffffff815b7000          24K USR ro                 x  pte
0xffffffff815b7000-0xffffffff81600000         292K USR RW                 NX pte
0xffffffff81600000-0xffffffff8179c000        1648K USR ro                 NX pte
0xffffffff8179c000-0xffffffff81800000         400K USR RW                 NX pte
0xffffffff81800000-0xffffffff81802000           8K USR RW                 x  pte
0xffffffff81802000-0xffffffff81803000           4K USR RW                 x  pte
0xffffffff81803000-0xffffffff81805000           8K USR RW                 x  pte
0xffffffff81805000-0xffffffff8180b000          24K USR RW                 x  pte
0xffffffff8180b000-0xffffffff8180f000          16K USR ro                 x  pte
0xffffffff8180f000-0xffffffff81810000           4K USR RW                 x  pte
0xffffffff81810000-0xffffffff81812000           8K USR ro                 x  pte
0xffffffff81812000-0xffffffff81813000           4K USR RW                 x  pte
0xffffffff81813000-0xffffffff81815000           8K USR RW                 x  pte
0xffffffff81815000-0xffffffff81816000           4K USR RW                 x  pte
0xffffffff81816000-0xffffffff81818000           8K USR RW                 x  pte
0xffffffff81818000-0xffffffff8181a000           8K USR RW                 x  pte
0xffffffff8181a000-0xffffffff8181d000          12K USR RW                 x  pte
0xffffffff8181d000-0xffffffff8181e000           4K USR RW                 x  pte
0xffffffff8181e000-0xffffffff81832000          80K USR RW                 x  pte
0xffffffff81832000-0xffffffff81834000           8K USR RW                 x  pte
0xffffffff81834000-0xffffffff8183a000          24K USR RW                 x  pte
0xffffffff8183a000-0xffffffff8183d000          12K USR RW                 x  pte
0xffffffff8183d000-0xffffffff81841000          16K USR RW                 x  pte
0xffffffff81841000-0xffffffff81843000           8K USR RW                 x  pte
0xffffffff81843000-0xffffffff81845000           8K USR RW                 x  pte
0xffffffff81845000-0xffffffff81846000           4K USR RW                 x  pte
0xffffffff81846000-0xffffffff81849000          12K USR RW                 x  pte
0xffffffff81849000-0xffffffff8184a000           4K USR RW                 x  pte
0xffffffff8184a000-0xffffffff8184f000          20K USR RW                 x  pte
0xffffffff8184f000-0xffffffff81850000           4K USR RW                 x  pte
0xffffffff81850000-0xffffffff81885000         212K USR RW                 x  pte
0xffffffff81885000-0xffffffff81938000         716K USR RW                 NX pte
0xffffffff81938000-0xffffffff8193a000           8K USR RW                 x  pte
0xffffffff8193a000-0xffffffff8193b000           4K USR ro                 x  pte
0xffffffff8193b000-0xffffffff8193d000           8K USR RW                 x  pte
0xffffffff8193d000-0xffffffff8193e000           4K USR ro                 x  pte
0xffffffff8193e000-0xffffffff81948000          40K USR RW                 x  pte
0xffffffff81948000-0xffffffff8194a000           8K USR RW                 x  pte
0xffffffff8194a000-0xffffffff8194c000           8K USR RW                 x  pte
0xffffffff8194c000-0xffffffff8196c000         128K USR RW                 x  pte
0xffffffff8196c000-0xffffffff8196d000           4K USR RW                 x  pte
0xffffffff8196d000-0xffffffff81970000          12K USR RW                 x  pte
0xffffffff81970000-0xffffffff81971000           4K USR RW                 x  pte
0xffffffff81971000-0xffffffff81972000           4K USR RW                 x  pte
0xffffffff81972000-0xffffffff81973000           4K USR RW                 x  pte
0xffffffff81973000-0xffffffff81975000           8K USR RW                 x  pte
0xffffffff81975000-0xffffffff81976000           4K USR RW                 x  pte
0xffffffff81976000-0xffffffff81977000           4K USR RW                 x  pte
0xffffffff81977000-0xffffffff8197b000          16K USR RW                 x  pte
0xffffffff8197b000-0xffffffff819b9000         248K USR RW                 x  pte
0xffffffff819b9000-0xffffffff819c0000          28K USR RW                 x  pte
0xffffffff819c0000-0xffffffff819df000         124K USR RW                 x  pte
0xffffffff819df000-0xffffffff819e8000          36K USR RW                 x  pte
0xffffffff819e8000-0xffffffff819f1000          36K USR RW                 x  pte
0xffffffff819f1000-0xffffffff819f2000           4K USR RW                 x  pte
0xffffffff819f2000-0xffffffff819f3000           4K USR RW                 x  pte
0xffffffff819f3000-0xffffffff819f5000           8K USR RW                 x  pte
0xffffffff819f5000-0xffffffff819f8000          12K USR RW                 x  pte
0xffffffff819f8000-0xffffffff81a0a000          72K USR RW                 x  pte
0xffffffff81a0a000-0xffffffff81a0f000          20K USR RW                 x  pte
0xffffffff81a0f000-0xffffffff81a1c000          52K USR RW                 x  pte
0xffffffff81a1c000-0xffffffff81a1d000           4K USR RW                 x  pte
0xffffffff81a1d000-0xffffffff81aaa000         564K USR RW                 x  pte
0xffffffff81aaa000-0xffffffff81aae000          16K USR ro                 x  pte
0xffffffff81aae000-0xffffffff81b34000         536K USR RW                 x  pte
0xffffffff81b34000-0xffffffff81c00000         816K USR RW                 x  pte
0xffffffff81c00000-0xffffffff8fc00000         224M                           pmd
0xffffffff8fc00000-0xffffffff8fc93000         588K USR RW                 NX pte
0xffffffff8fc93000-0xffffffffa0000000      265652K USR RW                 x  pte
---[ Modules ]---
0xffffffffa0000000-0xffffffffa0001000           4K USR ro                 x  pte
0xffffffffa0001000-0xffffffffa0002000           4K USR ro                 NX pte
0xffffffffa0002000-0xffffffffa0004000           8K USR RW                 NX pte
0xffffffffa0004000-0xffffffffa0008000          16K                           pte
0xffffffffa0008000-0xffffffffa0009000           4K USR ro                 x  pte
0xffffffffa0009000-0xffffffffa000a000           4K USR ro                 NX pte
0xffffffffa000a000-0xffffffffa000c000           8K USR RW                 NX pte
0xffffffffa000c000-0xffffffffa0070000         400K                           pte
0xffffffffa0070000-0xffffffffa024c000        1904K USR RW                 x  pte
0xffffffffa024c000-0xffffffffa024e000           8K USR RW                 x  pte
0xffffffffa024e000-0xffffffffa0353000        1044K USR ro                 x  pte
0xffffffffa0353000-0xffffffffa0400000         692K USR RW                 x  pte
0xffffffffa0400000-0xffffffffc0000000         508M                           pmd
0xffffffffc0000000-0xffffffffc009b000         620K USR RW                 x  pte
0xffffffffc009b000-0xffffffffc00a0000          20K USR RW                 x  pte
0xffffffffc00a0000-0xffffffffc07fb000        7532K USR RW                 x  pte
0xffffffffc07fb000-0xffffffffc0ef8000        7156K USR ro                 x  pte
0xffffffffc0ef8000-0xffffffffc1000000        1056K USR RW                 x  pte
0xffffffffc1000000-0xffffffffc1002000           8K USR ro                 x  pte
0xffffffffc1002000-0xffffffffc1013000          68K USR ro                 x  pte
0xffffffffc1013000-0xffffffffc1015000           8K USR ro                 x  pte
0xffffffffc1015000-0xffffffffc1017000           8K USR ro                 x  pte
0xffffffffc1017000-0xffffffffc1019000           8K USR ro                 x  pte
0xffffffffc1019000-0xffffffffc101a000           4K USR ro                 x  pte
0xffffffffc101a000-0xffffffffc101b000           4K USR ro                 x  pte
0xffffffffc101b000-0xffffffffc101f000          16K USR ro                 x  pte
0xffffffffc101f000-0xffffffffc1028000          36K USR ro                 x  pte
0xffffffffc1028000-0xffffffffc102a000           8K USR ro                 x  pte
0xffffffffc102a000-0xffffffffc102c000           8K USR ro                 x  pte
0xffffffffc102c000-0xffffffffc103c000          64K USR ro                 x  pte
0xffffffffc103c000-0xffffffffc103d000           4K USR ro                 x  pte
0xffffffffc103d000-0xffffffffc1051000          80K USR ro                 x  pte
0xffffffffc1051000-0xffffffffc1052000           4K USR ro                 x  pte
0xffffffffc1052000-0xffffffffc1057000          20K USR ro                 x  pte
0xffffffffc1057000-0xffffffffc1058000           4K USR ro                 x  pte
0xffffffffc1058000-0xffffffffc1061000          36K USR ro                 x  pte
0xffffffffc1061000-0xffffffffc1063000           8K USR ro                 x  pte
0xffffffffc1063000-0xffffffffc106b000          32K USR ro                 x  pte
0xffffffffc106b000-0xffffffffc106c000           4K USR ro                 x  pte
0xffffffffc106c000-0xffffffffc1078000          48K USR ro                 x  pte
0xffffffffc1078000-0xffffffffc107a000           8K USR ro                 x  pte
0xffffffffc107a000-0xffffffffc1083000          36K USR ro                 x  pte
0xffffffffc1083000-0xffffffffc1084000           4K USR ro                 x  pte
0xffffffffc1084000-0xffffffffc108f000          44K USR ro                 x  pte
0xffffffffc108f000-0xffffffffc1090000           4K USR ro                 x  pte
0xffffffffc1090000-0xffffffffc1094000          16K USR ro                 x  pte
0xffffffffc1094000-0xffffffffc1097000          12K USR ro                 x  pte
0xffffffffc1097000-0xffffffffc10a0000          36K USR ro                 x  pte
0xffffffffc10a0000-0xffffffffc10a2000           8K USR ro                 x  pte
0xffffffffc10a2000-0xffffffffc10a7000          20K USR ro                 x  pte
0xffffffffc10a7000-0xffffffffc10a8000           4K USR ro                 x  pte
0xffffffffc10a8000-0xffffffffc10aa000           8K USR ro                 x  pte
0xffffffffc10aa000-0xffffffffc10af000          20K USR ro                 x  pte
0xffffffffc10af000-0xffffffffc10b4000          20K USR ro                 x  pte
0xffffffffc10b4000-0xffffffffc10b6000           8K USR ro                 x  pte
0xffffffffc10b6000-0xffffffffc10c0000          40K USR ro                 x  pte
0xffffffffc10c0000-0xffffffffc10c4000          16K USR ro                 x  pte
0xffffffffc10c4000-0xffffffffc10c6000           8K USR ro                 x  pte
0xffffffffc10c6000-0xffffffffc10ca000          16K USR ro                 x  pte
0xffffffffc10ca000-0xffffffffc10cc000           8K USR ro                 x  pte
0xffffffffc10cc000-0xffffffffc10cd000           4K USR ro                 x  pte
0xffffffffc10cd000-0xffffffffc10d5000          32K USR ro                 x  pte
0xffffffffc10d5000-0xffffffffc10d9000          16K USR ro                 x  pte
0xffffffffc10d9000-0xffffffffc10da000           4K USR ro                 x  pte
0xffffffffc10da000-0xffffffffc10db000           4K USR ro                 x  pte
0xffffffffc10db000-0xffffffffc10dc000           4K USR ro                 x  pte
0xffffffffc10dc000-0xffffffffc10dd000           4K USR ro                 x  pte
0xffffffffc10dd000-0xffffffffc10e2000          20K USR ro                 x  pte
0xffffffffc10e2000-0xffffffffc10e3000           4K USR ro                 x  pte
0xffffffffc10e3000-0xffffffffc10f8000          84K USR ro                 x  pte
0xffffffffc10f8000-0xffffffffc10fb000          12K USR ro                 x  pte
0xffffffffc10fb000-0xffffffffc1101000          24K USR ro                 x  pte
0xffffffffc1101000-0xffffffffc1102000           4K USR ro                 x  pte
0xffffffffc1102000-0xffffffffc1106000          16K USR ro                 x  pte
0xffffffffc1106000-0xffffffffc1107000           4K USR ro                 x  pte
0xffffffffc1107000-0xffffffffc1108000           4K USR ro                 x  pte
0xffffffffc1108000-0xffffffffc1109000           4K USR ro                 x  pte
0xffffffffc1109000-0xffffffffc1113000          40K USR ro                 x  pte
0xffffffffc1113000-0xffffffffc1114000           4K USR ro                 x  pte
0xffffffffc1114000-0xffffffffc1117000          12K USR ro                 x  pte
0xffffffffc1117000-0xffffffffc1118000           4K USR ro                 x  pte
0xffffffffc1118000-0xffffffffc1122000          40K USR ro                 x  pte
0xffffffffc1122000-0xffffffffc1124000           8K USR ro                 x  pte
0xffffffffc1124000-0xffffffffc1143000         124K USR ro                 x  pte
0xffffffffc1143000-0xffffffffc1145000           8K USR ro                 x  pte
0xffffffffc1145000-0xffffffffc1166000         132K USR ro                 x  pte
0xffffffffc1166000-0xffffffffc1168000           8K USR ro                 x  pte
0xffffffffc1168000-0xffffffffc116d000          20K USR ro                 x  pte
0xffffffffc116d000-0xffffffffc116e000           4K USR ro                 x  pte
0xffffffffc116e000-0xffffffffc116f000           4K USR ro                 x  pte
0xffffffffc116f000-0xffffffffc1170000           4K USR ro                 x  pte
0xffffffffc1170000-0xffffffffc1174000          16K USR ro                 x  pte
0xffffffffc1174000-0xffffffffc1177000          12K USR ro                 x  pte
0xffffffffc1177000-0xffffffffc117a000          12K USR ro                 x  pte
0xffffffffc117a000-0xffffffffc117e000          16K USR ro                 x  pte
0xffffffffc117e000-0xffffffffc118d000          60K USR ro                 x  pte
0xffffffffc118d000-0xffffffffc118e000           4K USR ro                 x  pte
0xffffffffc118e000-0xffffffffc1190000           8K USR ro                 x  pte
0xffffffffc1190000-0xffffffffc1191000           4K USR ro                 x  pte
0xffffffffc1191000-0xffffffffc1192000           4K USR ro                 x  pte
0xffffffffc1192000-0xffffffffc1193000           4K USR ro                 x  pte
0xffffffffc1193000-0xffffffffc1194000           4K USR ro                 x  pte
0xffffffffc1194000-0xffffffffc1197000          12K USR ro                 x  pte
0xffffffffc1197000-0xffffffffc1198000           4K USR ro                 x  pte
0xffffffffc1198000-0xffffffffc1199000           4K USR ro                 x  pte
0xffffffffc1199000-0xffffffffc11a0000          28K USR ro                 x  pte
0xffffffffc11a0000-0xffffffffc11a1000           4K USR ro                 x  pte
0xffffffffc11a1000-0xffffffffc11ab000          40K USR ro                 x  pte
0xffffffffc11ab000-0xffffffffc11ac000           4K USR ro                 x  pte
0xffffffffc11ac000-0xffffffffc11af000          12K USR ro                 x  pte
0xffffffffc11af000-0xffffffffc11b1000           8K USR ro                 x  pte
0xffffffffc11b1000-0xffffffffc11b4000          12K USR ro                 x  pte
0xffffffffc11b4000-0xffffffffc11b5000           4K USR ro                 x  pte
0xffffffffc11b5000-0xffffffffc11b9000          16K USR ro                 x  pte
0xffffffffc11b9000-0xffffffffc11bb000           8K USR ro                 x  pte
0xffffffffc11bb000-0xffffffffc11bd000           8K USR ro                 x  pte
0xffffffffc11bd000-0xffffffffc11be000           4K USR ro                 x  pte
0xffffffffc11be000-0xffffffffc11c2000          16K USR ro                 x  pte
0xffffffffc11c2000-0xffffffffc11c6000          16K USR ro                 x  pte
0xffffffffc11c6000-0xffffffffc11c7000           4K USR ro                 x  pte
0xffffffffc11c7000-0xffffffffc11c8000           4K USR ro                 x  pte
0xffffffffc11c8000-0xffffffffc11c9000           4K USR ro                 x  pte
0xffffffffc11c9000-0xffffffffc11ca000           4K USR ro                 x  pte
0xffffffffc11ca000-0xffffffffc11cf000          20K USR ro                 x  pte
0xffffffffc11cf000-0xffffffffc11d0000           4K USR ro                 x  pte
0xffffffffc11d0000-0xffffffffc11d3000          12K USR ro                 x  pte
0xffffffffc11d3000-0xffffffffc11d5000           8K USR ro                 x  pte
0xffffffffc11d5000-0xffffffffc11d6000           4K USR ro                 x  pte
0xffffffffc11d6000-0xffffffffc11d8000           8K USR ro                 x  pte
0xffffffffc11d8000-0xffffffffc11d9000           4K USR ro                 x  pte
0xffffffffc11d9000-0xffffffffc11da000           4K USR ro                 x  pte
0xffffffffc11da000-0xffffffffc11e0000          24K USR ro                 x  pte
0xffffffffc11e0000-0xffffffffc11e3000          12K USR ro                 x  pte
0xffffffffc11e3000-0xffffffffc11e9000          24K USR ro                 x  pte
0xffffffffc11e9000-0xffffffffc11ea000           4K USR ro                 x  pte
0xffffffffc11ea000-0xffffffffc11eb000           4K USR ro                 x  pte
0xffffffffc11eb000-0xffffffffc11f1000          24K USR ro                 x  pte
0xffffffffc11f1000-0xffffffffc11f7000          24K USR ro                 x  pte
0xffffffffc11f7000-0xffffffffc11f8000           4K USR ro                 x  pte
0xffffffffc11f8000-0xffffffffc11fa000           8K USR ro                 x  pte
0xffffffffc11fa000-0xffffffffc11fb000           4K USR ro                 x  pte
0xffffffffc11fb000-0xffffffffc11fd000           8K USR ro                 x  pte
0xffffffffc11fd000-0xffffffffc11fe000           4K USR ro                 x  pte
0xffffffffc11fe000-0xffffffffc1200000           8K USR ro                 x  pte
0xffffffffc1200000-0xffffffffc1201000           4K USR ro                 x  pte
0xffffffffc1201000-0xffffffffc1203000           8K USR ro                 x  pte
0xffffffffc1203000-0xffffffffc1207000          16K USR ro                 x  pte
0xffffffffc1207000-0xffffffffc1209000           8K USR ro                 x  pte
0xffffffffc1209000-0xffffffffc120a000           4K USR ro                 x  pte
0xffffffffc120a000-0xffffffffc120b000           4K USR ro                 x  pte
0xffffffffc120b000-0xffffffffc120c000           4K USR ro                 x  pte
0xffffffffc120c000-0xffffffffc120e000           8K USR ro                 x  pte
0xffffffffc120e000-0xffffffffc1223000          84K USR ro                 x  pte
0xffffffffc1223000-0xffffffffc1228000          20K USR ro                 x  pte
0xffffffffc1228000-0xffffffffc1229000           4K USR ro                 x  pte
0xffffffffc1229000-0xffffffffc123b000          72K USR ro                 x  pte
0xffffffffc123b000-0xffffffffc123d000           8K USR ro                 x  pte
0xffffffffc123d000-0xffffffffc123e000           4K USR ro                 x  pte
0xffffffffc123e000-0xffffffffc123f000           4K USR ro                 x  pte
0xffffffffc123f000-0xffffffffc1242000          12K USR ro                 x  pte
0xffffffffc1242000-0xffffffffc1244000           8K USR ro                 x  pte
0xffffffffc1244000-0xffffffffc1245000           4K USR ro                 x  pte
0xffffffffc1245000-0xffffffffc1247000           8K USR ro                 x  pte
0xffffffffc1247000-0xffffffffc1248000           4K USR ro                 x  pte
0xffffffffc1248000-0xffffffffc1252000          40K USR ro                 x  pte
0xffffffffc1252000-0xffffffffc1253000           4K USR ro                 x  pte
0xffffffffc1253000-0xffffffffc1254000           4K USR ro                 x  pte
0xffffffffc1254000-0xffffffffc1255000           4K USR ro                 x  pte
0xffffffffc1255000-0xffffffffc1258000          12K USR ro                 x  pte
0xffffffffc1258000-0xffffffffc1259000           4K USR ro                 x  pte
0xffffffffc1259000-0xffffffffc1268000          60K USR ro                 x  pte
0xffffffffc1268000-0xffffffffc126e000          24K USR ro                 x  pte
0xffffffffc126e000-0xffffffffc126f000           4K USR ro                 x  pte
0xffffffffc126f000-0xffffffffc1272000          12K USR ro                 x  pte
0xffffffffc1272000-0xffffffffc1273000           4K USR ro                 x  pte
0xffffffffc1273000-0xffffffffc1274000           4K USR ro                 x  pte
0xffffffffc1274000-0xffffffffc127a000          24K USR ro                 x  pte
0xffffffffc127a000-0xffffffffc127c000           8K USR ro                 x  pte
0xffffffffc127c000-0xffffffffc127d000           4K USR ro                 x  pte
0xffffffffc127d000-0xffffffffc1285000          32K USR ro                 x  pte
0xffffffffc1285000-0xffffffffc1286000           4K USR ro                 x  pte
0xffffffffc1286000-0xffffffffc1287000           4K USR ro                 x  pte
0xffffffffc1287000-0xffffffffc1288000           4K USR ro                 x  pte
0xffffffffc1288000-0xffffffffc1289000           4K USR ro                 x  pte
0xffffffffc1289000-0xffffffffc128d000          16K USR ro                 x  pte
0xffffffffc128d000-0xffffffffc128f000           8K USR ro                 x  pte
0xffffffffc128f000-0xffffffffc1291000           8K USR ro                 x  pte
0xffffffffc1291000-0xffffffffc1292000           4K USR ro                 x  pte
0xffffffffc1292000-0xffffffffc129f000          52K USR ro                 x  pte
0xffffffffc129f000-0xffffffffc12a0000           4K USR ro                 x  pte
0xffffffffc12a0000-0xffffffffc12a1000           4K USR ro                 x  pte
0xffffffffc12a1000-0xffffffffc12a3000           8K USR ro                 x  pte
0xffffffffc12a3000-0xffffffffc12a5000           8K USR ro                 x  pte
0xffffffffc12a5000-0xffffffffc12a6000           4K USR ro                 x  pte
0xffffffffc12a6000-0xffffffffc12a9000          12K USR ro                 x  pte
0xffffffffc12a9000-0xffffffffc12ab000           8K USR ro                 x  pte
0xffffffffc12ab000-0xffffffffc12c3000          96K USR ro                 x  pte
0xffffffffc12c3000-0xffffffffc12c6000          12K USR ro                 x  pte
0xffffffffc12c6000-0xffffffffc12cc000          24K USR ro                 x  pte
0xffffffffc12cc000-0xffffffffc12cf000          12K USR ro                 x  pte
0xffffffffc12cf000-0xffffffffc12d1000           8K USR ro                 x  pte
0xffffffffc12d1000-0xffffffffc12d2000           4K USR ro                 x  pte
0xffffffffc12d2000-0xffffffffc12d3000           4K USR ro                 x  pte
0xffffffffc12d3000-0xffffffffc12d7000          16K USR ro                 x  pte
0xffffffffc12d7000-0xffffffffc12d8000           4K USR ro                 x  pte
0xffffffffc12d8000-0xffffffffc12da000           8K USR ro                 x  pte
0xffffffffc12da000-0xffffffffc12dc000           8K USR ro                 x  pte
0xffffffffc12dc000-0xffffffffc12e1000          20K USR ro                 x  pte
0xffffffffc12e1000-0xffffffffc12e3000           8K USR ro                 x  pte
0xffffffffc12e3000-0xffffffffc12e4000           4K USR ro                 x  pte
0xffffffffc12e4000-0xffffffffc12e5000           4K USR ro                 x  pte
0xffffffffc12e5000-0xffffffffc12e6000           4K USR ro                 x  pte
0xffffffffc12e6000-0xffffffffc12e7000           4K USR ro                 x  pte
0xffffffffc12e7000-0xffffffffc12ed000          24K USR ro                 x  pte
0xffffffffc12ed000-0xffffffffc12ee000           4K USR ro                 x  pte
0xffffffffc12ee000-0xffffffffc12f9000          44K USR ro                 x  pte
0xffffffffc12f9000-0xffffffffc12fa000           4K USR ro                 x  pte
0xffffffffc12fa000-0xffffffffc12fe000          16K USR ro                 x  pte
0xffffffffc12fe000-0xffffffffc1300000           8K USR ro                 x  pte
0xffffffffc1300000-0xffffffffc1302000           8K USR ro                 x  pte
0xffffffffc1302000-0xffffffffc130d000          44K USR ro                 x  pte
0xffffffffc130d000-0xffffffffc130e000           4K USR ro                 x  pte
0xffffffffc130e000-0xffffffffc130f000           4K USR ro                 x  pte
0xffffffffc130f000-0xffffffffc1312000          12K USR ro                 x  pte
0xffffffffc1312000-0xffffffffc1314000           8K USR ro                 x  pte
0xffffffffc1314000-0xffffffffc1318000          16K USR ro                 x  pte
0xffffffffc1318000-0xffffffffc131b000          12K USR ro                 x  pte
0xffffffffc131b000-0xffffffffc131c000           4K USR ro                 x  pte
0xffffffffc131c000-0xffffffffc1324000          32K USR ro                 x  pte
0xffffffffc1324000-0xffffffffc1329000          20K USR ro                 x  pte
0xffffffffc1329000-0xffffffffc132d000          16K USR ro                 x  pte
0xffffffffc132d000-0xffffffffc132e000           4K USR ro                 x  pte
0xffffffffc132e000-0xffffffffc132f000           4K USR ro                 x  pte
0xffffffffc132f000-0xffffffffc1332000          12K USR ro                 x  pte
0xffffffffc1332000-0xffffffffc1333000           4K USR ro                 x  pte
0xffffffffc1333000-0xffffffffc1334000           4K USR ro                 x  pte
0xffffffffc1334000-0xffffffffc1335000           4K USR ro                 x  pte
0xffffffffc1335000-0xffffffffc1337000           8K USR ro                 x  pte
0xffffffffc1337000-0xffffffffc133b000          16K USR ro                 x  pte
0xffffffffc133b000-0xffffffffc133c000           4K USR ro                 x  pte
0xffffffffc133c000-0xffffffffc1340000          16K USR ro                 x  pte
0xffffffffc1340000-0xffffffffc1342000           8K USR ro                 x  pte
0xffffffffc1342000-0xffffffffc1343000           4K USR ro                 x  pte
0xffffffffc1343000-0xffffffffc1348000          20K USR ro                 x  pte
0xffffffffc1348000-0xffffffffc134c000          16K USR ro                 x  pte
0xffffffffc134c000-0xffffffffc1350000          16K USR ro                 x  pte
0xffffffffc1350000-0xffffffffc1351000           4K USR ro                 x  pte
0xffffffffc1351000-0xffffffffc1353000           8K USR ro                 x  pte
0xffffffffc1353000-0xffffffffc1358000          20K USR ro                 x  pte
0xffffffffc1358000-0xffffffffc135e000          24K USR ro                 x  pte
0xffffffffc135e000-0xffffffffc135f000           4K USR ro                 x  pte
0xffffffffc135f000-0xffffffffc1361000           8K USR ro                 x  pte
0xffffffffc1361000-0xffffffffc1366000          20K USR ro                 x  pte
0xffffffffc1366000-0xffffffffc1367000           4K USR ro                 x  pte
0xffffffffc1367000-0xffffffffc1368000           4K USR ro                 x  pte
0xffffffffc1368000-0xffffffffc136a000           8K USR ro                 x  pte
0xffffffffc136a000-0xffffffffc1374000          40K USR ro                 x  pte
0xffffffffc1374000-0xffffffffc1376000           8K USR ro                 x  pte
0xffffffffc1376000-0xffffffffc1379000          12K USR ro                 x  pte
0xffffffffc1379000-0xffffffffc137f000          24K USR ro                 x  pte
0xffffffffc137f000-0xffffffffc1380000           4K USR ro                 x  pte
0xffffffffc1380000-0xffffffffc1383000          12K USR ro                 x  pte
0xffffffffc1383000-0xffffffffc1384000           4K USR ro                 x  pte
0xffffffffc1384000-0xffffffffc1387000          12K USR ro                 x  pte
0xffffffffc1387000-0xffffffffc1389000           8K USR ro                 x  pte
0xffffffffc1389000-0xffffffffc138c000          12K USR ro                 x  pte
0xffffffffc138c000-0xffffffffc1393000          28K USR ro                 x  pte
0xffffffffc1393000-0xffffffffc1395000           8K USR ro                 x  pte
0xffffffffc1395000-0xffffffffc1398000          12K USR ro                 x  pte
0xffffffffc1398000-0xffffffffc139a000           8K USR ro                 x  pte
0xffffffffc139a000-0xffffffffc139c000           8K USR ro                 x  pte
0xffffffffc139c000-0xffffffffc139d000           4K USR ro                 x  pte
0xffffffffc139d000-0xffffffffc13a3000          24K USR ro                 x  pte
0xffffffffc13a3000-0xffffffffc13a4000           4K USR ro                 x  pte
0xffffffffc13a4000-0xffffffffc13a5000           4K USR ro                 x  pte
0xffffffffc13a5000-0xffffffffc13a6000           4K USR ro                 x  pte
0xffffffffc13a6000-0xffffffffc13a9000          12K USR ro                 x  pte
0xffffffffc13a9000-0xffffffffc13ab000           8K USR ro                 x  pte
0xffffffffc13ab000-0xffffffffc13ac000           4K USR ro                 x  pte
0xffffffffc13ac000-0xffffffffc13ae000           8K USR ro                 x  pte
0xffffffffc13ae000-0xffffffffc13b1000          12K USR ro                 x  pte
0xffffffffc13b1000-0xffffffffc13b3000           8K USR ro                 x  pte
0xffffffffc13b3000-0xffffffffc13b5000           8K USR ro                 x  pte
0xffffffffc13b5000-0xffffffffc13b9000          16K USR ro                 x  pte
0xffffffffc13b9000-0xffffffffc13ba000           4K USR ro                 x  pte
0xffffffffc13ba000-0xffffffffc13bf000          20K USR ro                 x  pte
0xffffffffc13bf000-0xffffffffc13ce000          60K USR ro                 x  pte
0xffffffffc13ce000-0xffffffffc13cf000           4K USR ro                 x  pte
0xffffffffc13cf000-0xffffffffc13d0000           4K USR ro                 x  pte
0xffffffffc13d0000-0xffffffffc13d2000           8K USR ro                 x  pte
0xffffffffc13d2000-0xffffffffc13d3000           4K USR ro                 x  pte
0xffffffffc13d3000-0xffffffffc13db000          32K USR ro                 x  pte
0xffffffffc13db000-0xffffffffc13dc000           4K USR ro                 x  pte
0xffffffffc13dc000-0xffffffffc13dd000           4K USR ro                 x  pte
0xffffffffc13dd000-0xffffffffc13de000           4K USR ro                 x  pte
0xffffffffc13de000-0xffffffffc13e0000           8K USR ro                 x  pte
0xffffffffc13e0000-0xffffffffc13e3000          12K USR ro                 x  pte
0xffffffffc13e3000-0xffffffffc13e5000           8K USR ro                 x  pte
0xffffffffc13e5000-0xffffffffc13e8000          12K USR ro                 x  pte
0xffffffffc13e8000-0xffffffffc13ea000           8K USR ro                 x  pte
0xffffffffc13ea000-0xffffffffc13ec000           8K USR ro                 x  pte
0xffffffffc13ec000-0xffffffffc13ed000           4K USR ro                 x  pte
0xffffffffc13ed000-0xffffffffc13ef000           8K USR ro                 x  pte
0xffffffffc13ef000-0xffffffffc13f3000          16K USR ro                 x  pte
0xffffffffc13f3000-0xffffffffc13f4000           4K USR ro                 x  pte
0xffffffffc13f4000-0xffffffffc13f6000           8K USR ro                 x  pte
0xffffffffc13f6000-0xffffffffc13f7000           4K USR ro                 x  pte
0xffffffffc13f7000-0xffffffffc13fa000          12K USR ro                 x  pte
0xffffffffc13fa000-0xffffffffc13fb000           4K USR ro                 x  pte
0xffffffffc13fb000-0xffffffffc13fd000           8K USR ro                 x  pte
0xffffffffc13fd000-0xffffffffc13fe000           4K USR ro                 x  pte
0xffffffffc13fe000-0xffffffffc1403000          20K USR ro                 x  pte
0xffffffffc1403000-0xffffffffc1404000           4K USR ro                 x  pte
0xffffffffc1404000-0xffffffffc1406000           8K USR ro                 x  pte
0xffffffffc1406000-0xffffffffc1408000           8K USR ro                 x  pte
0xffffffffc1408000-0xffffffffc1411000          36K USR ro                 x  pte
0xffffffffc1411000-0xffffffffc1412000           4K USR ro                 x  pte
0xffffffffc1412000-0xffffffffc1413000           4K USR ro                 x  pte
0xffffffffc1413000-0xffffffffc1415000           8K USR ro                 x  pte
0xffffffffc1415000-0xffffffffc1416000           4K USR ro                 x  pte
0xffffffffc1416000-0xffffffffc1419000          12K USR ro                 x  pte
0xffffffffc1419000-0xffffffffc141e000          20K USR ro                 x  pte
0xffffffffc141e000-0xffffffffc1425000          28K USR ro                 x  pte
0xffffffffc1425000-0xffffffffc1426000           4K USR ro                 x  pte
0xffffffffc1426000-0xffffffffc1428000           8K USR ro                 x  pte
0xffffffffc1428000-0xffffffffc142f000          28K USR ro                 x  pte
0xffffffffc142f000-0xffffffffc1430000           4K USR ro                 x  pte
0xffffffffc1430000-0xffffffffc1437000          28K USR ro                 x  pte
0xffffffffc1437000-0xffffffffc1438000           4K USR ro                 x  pte
0xffffffffc1438000-0xffffffffc1439000           4K USR ro                 x  pte
0xffffffffc1439000-0xffffffffc143d000          16K USR ro                 x  pte
0xffffffffc143d000-0xffffffffc143e000           4K USR ro                 x  pte
0xffffffffc143e000-0xffffffffc143f000           4K USR ro                 x  pte
0xffffffffc143f000-0xffffffffc1440000           4K USR ro                 x  pte
0xffffffffc1440000-0xffffffffc1443000          12K USR ro                 x  pte
0xffffffffc1443000-0xffffffffc1445000           8K USR ro                 x  pte
0xffffffffc1445000-0xffffffffc1446000           4K USR ro                 x  pte
0xffffffffc1446000-0xffffffffc1448000           8K USR ro                 x  pte
0xffffffffc1448000-0xffffffffc144d000          20K USR ro                 x  pte
0xffffffffc144d000-0xffffffffc144f000           8K USR ro                 x  pte
0xffffffffc144f000-0xffffffffc1451000           8K USR ro                 x  pte
0xffffffffc1451000-0xffffffffc1452000           4K USR ro                 x  pte
0xffffffffc1452000-0xffffffffc1458000          24K USR ro                 x  pte
0xffffffffc1458000-0xffffffffc1459000           4K USR ro                 x  pte
0xffffffffc1459000-0xffffffffc145a000           4K USR ro                 x  pte
0xffffffffc145a000-0xffffffffc145c000           8K USR ro                 x  pte
0xffffffffc145c000-0xffffffffc145d000           4K USR ro                 x  pte
0xffffffffc145d000-0xffffffffc1462000          20K USR ro                 x  pte
0xffffffffc1462000-0xffffffffc1463000           4K USR ro                 x  pte
0xffffffffc1463000-0xffffffffc1464000           4K USR ro                 x  pte
0xffffffffc1464000-0xffffffffc1465000           4K USR ro                 x  pte
0xffffffffc1465000-0xffffffffc1467000           8K USR ro                 x  pte
0xffffffffc1467000-0xffffffffc1468000           4K USR ro                 x  pte
0xffffffffc1468000-0xffffffffc1469000           4K USR ro                 x  pte
0xffffffffc1469000-0xffffffffc146a000           4K USR ro                 x  pte
0xffffffffc146a000-0xffffffffc146b000           4K USR ro                 x  pte
0xffffffffc146b000-0xffffffffc1470000          20K USR ro                 x  pte
0xffffffffc1470000-0xffffffffc1471000           4K USR ro                 x  pte
0xffffffffc1471000-0xffffffffc1473000           8K USR ro                 x  pte
0xffffffffc1473000-0xffffffffc1477000          16K USR ro                 x  pte
0xffffffffc1477000-0xffffffffc147a000          12K USR ro                 x  pte
0xffffffffc147a000-0xffffffffc147b000           4K USR ro                 x  pte
0xffffffffc147b000-0xffffffffc147c000           4K USR ro                 x  pte
0xffffffffc147c000-0xffffffffc147d000           4K USR ro                 x  pte
0xffffffffc147d000-0xffffffffc1482000          20K USR ro                 x  pte
0xffffffffc1482000-0xffffffffc1484000           8K USR ro                 x  pte
0xffffffffc1484000-0xffffffffc1485000           4K USR ro                 x  pte
0xffffffffc1485000-0xffffffffc1486000           4K USR ro                 x  pte
0xffffffffc1486000-0xffffffffc1489000          12K USR ro                 x  pte
0xffffffffc1489000-0xffffffffc148a000           4K USR ro                 x  pte
0xffffffffc148a000-0xffffffffc148b000           4K USR ro                 x  pte
0xffffffffc148b000-0xffffffffc148c000           4K USR ro                 x  pte
0xffffffffc148c000-0xffffffffc1499000          52K USR ro                 x  pte
0xffffffffc1499000-0xffffffffc149a000           4K USR ro                 x  pte
0xffffffffc149a000-0xffffffffc14a2000          32K USR ro                 x  pte
0xffffffffc14a2000-0xffffffffc14a5000          12K USR ro                 x  pte
0xffffffffc14a5000-0xffffffffc14a8000          12K USR ro                 x  pte
0xffffffffc14a8000-0xffffffffc14b0000          32K USR ro                 x  pte
0xffffffffc14b0000-0xffffffffc14b1000           4K USR ro                 x  pte
0xffffffffc14b1000-0xffffffffc14b2000           4K USR ro                 x  pte
0xffffffffc14b2000-0xffffffffc14c2000          64K USR ro                 x  pte
0xffffffffc14c2000-0xffffffffc14c3000           4K USR ro                 x  pte
0xffffffffc14c3000-0xffffffffc14c5000           8K USR ro                 x  pte
0xffffffffc14c5000-0xffffffffc14cb000          24K USR ro                 x  pte
0xffffffffc14cb000-0xffffffffc14cc000           4K USR ro                 x  pte
0xffffffffc14cc000-0xffffffffc14cf000          12K USR ro                 x  pte
0xffffffffc14cf000-0xffffffffc14d0000           4K USR ro                 x  pte
0xffffffffc14d0000-0xffffffffc14d1000           4K USR ro                 x  pte
0xffffffffc14d1000-0xffffffffc14d3000           8K USR ro                 x  pte
0xffffffffc14d3000-0xffffffffc14d4000           4K USR ro                 x  pte
0xffffffffc14d4000-0xffffffffc14d6000           8K USR ro                 x  pte
0xffffffffc14d6000-0xffffffffc14d7000           4K USR ro                 x  pte
0xffffffffc14d7000-0xffffffffc14db000          16K USR ro                 x  pte
0xffffffffc14db000-0xffffffffc14dc000           4K USR ro                 x  pte
0xffffffffc14dc000-0xffffffffc14de000           8K USR ro                 x  pte
0xffffffffc14de000-0xffffffffc14df000           4K USR ro                 x  pte
0xffffffffc14df000-0xffffffffc14e3000          16K USR ro                 x  pte
0xffffffffc14e3000-0xffffffffc14e7000          16K USR ro                 x  pte
0xffffffffc14e7000-0xffffffffc14e8000           4K USR ro                 x  pte
0xffffffffc14e8000-0xffffffffc14e9000           4K USR ro                 x  pte
0xffffffffc14e9000-0xffffffffc14f1000          32K USR ro                 x  pte
0xffffffffc14f1000-0xffffffffc14f2000           4K USR ro                 x  pte
0xffffffffc14f2000-0xffffffffc14f6000          16K USR ro                 x  pte
0xffffffffc14f6000-0xffffffffc14f7000           4K USR ro                 x  pte
0xffffffffc14f7000-0xffffffffc14f8000           4K USR ro                 x  pte
0xffffffffc14f8000-0xffffffffc14f9000           4K USR ro                 x  pte
0xffffffffc14f9000-0xffffffffc14fe000          20K USR ro                 x  pte
0xffffffffc14fe000-0xffffffffc1503000          20K USR ro                 x  pte
0xffffffffc1503000-0xffffffffc1508000          20K USR ro                 x  pte
0xffffffffc1508000-0xffffffffc150d000          20K USR ro                 x  pte
0xffffffffc150d000-0xffffffffc1511000          16K USR ro                 x  pte
0xffffffffc1511000-0xffffffffc1513000           8K USR ro                 x  pte
0xffffffffc1513000-0xffffffffc1514000           4K USR ro                 x  pte
0xffffffffc1514000-0xffffffffc1515000           4K USR ro                 x  pte
0xffffffffc1515000-0xffffffffc1516000           4K USR ro                 x  pte
0xffffffffc1516000-0xffffffffc151b000          20K USR ro                 x  pte
0xffffffffc151b000-0xffffffffc1520000          20K USR ro                 x  pte
0xffffffffc1520000-0xffffffffc1521000           4K USR ro                 x  pte
0xffffffffc1521000-0xffffffffc1523000           8K USR ro                 x  pte
0xffffffffc1523000-0xffffffffc1525000           8K USR ro                 x  pte
0xffffffffc1525000-0xffffffffc1526000           4K USR ro                 x  pte
0xffffffffc1526000-0xffffffffc1529000          12K USR ro                 x  pte
0xffffffffc1529000-0xffffffffc152a000           4K USR ro                 x  pte
0xffffffffc152a000-0xffffffffc152b000           4K USR ro                 x  pte
0xffffffffc152b000-0xffffffffc152e000          12K USR ro                 x  pte
0xffffffffc152e000-0xffffffffc1533000          20K USR ro                 x  pte
0xffffffffc1533000-0xffffffffc1535000           8K USR ro                 x  pte
0xffffffffc1535000-0xffffffffc1537000           8K USR ro                 x  pte
0xffffffffc1537000-0xffffffffc1538000           4K USR ro                 x  pte
0xffffffffc1538000-0xffffffffc1539000           4K USR ro                 x  pte
0xffffffffc1539000-0xffffffffc153b000           8K USR ro                 x  pte
0xffffffffc153b000-0xffffffffc153d000           8K USR ro                 x  pte
0xffffffffc153d000-0xffffffffc1541000          16K USR ro                 x  pte
0xffffffffc1541000-0xffffffffc1542000           4K USR ro                 x  pte
0xffffffffc1542000-0xffffffffc1544000           8K USR ro                 x  pte
0xffffffffc1544000-0xffffffffc1545000           4K USR ro                 x  pte
0xffffffffc1545000-0xffffffffc1547000           8K USR ro                 x  pte
0xffffffffc1547000-0xffffffffc1551000          40K USR ro                 x  pte
0xffffffffc1551000-0xffffffffc1552000           4K USR ro                 x  pte
0xffffffffc1552000-0xffffffffc1554000           8K USR ro                 x  pte
0xffffffffc1554000-0xffffffffc1555000           4K USR ro                 x  pte
0xffffffffc1555000-0xffffffffc155d000          32K USR ro                 x  pte
0xffffffffc155d000-0xffffffffc155f000           8K USR ro                 x  pte
0xffffffffc155f000-0xffffffffc1563000          16K USR ro                 x  pte
0xffffffffc1563000-0xffffffffc1566000          12K USR ro                 x  pte
0xffffffffc1566000-0xffffffffc1567000           4K USR ro                 x  pte
0xffffffffc1567000-0xffffffffc1568000           4K USR ro                 x  pte
0xffffffffc1568000-0xffffffffc156a000           8K USR ro                 x  pte
0xffffffffc156a000-0xffffffffc156b000           4K USR ro                 x  pte
0xffffffffc156b000-0xffffffffc1572000          28K USR ro                 x  pte
0xffffffffc1572000-0xffffffffc1573000           4K USR ro                 x  pte
0xffffffffc1573000-0xffffffffc1576000          12K USR ro                 x  pte
0xffffffffc1576000-0xffffffffc1577000           4K USR ro                 x  pte
0xffffffffc1577000-0xffffffffc1578000           4K USR ro                 x  pte
0xffffffffc1578000-0xffffffffc1579000           4K USR ro                 x  pte
0xffffffffc1579000-0xffffffffc157a000           4K USR ro                 x  pte
0xffffffffc157a000-0xffffffffc157b000           4K USR ro                 x  pte
0xffffffffc157b000-0xffffffffc157d000           8K USR ro                 x  pte
0xffffffffc157d000-0xffffffffc157f000           8K USR ro                 x  pte
0xffffffffc157f000-0xffffffffc1582000          12K USR ro                 x  pte
0xffffffffc1582000-0xffffffffc1584000           8K USR ro                 x  pte
0xffffffffc1584000-0xffffffffc1586000           8K USR ro                 x  pte
0xffffffffc1586000-0xffffffffc1588000           8K USR ro                 x  pte
0xffffffffc1588000-0xffffffffc1589000           4K USR ro                 x  pte
0xffffffffc1589000-0xffffffffc158d000          16K USR ro                 x  pte
0xffffffffc158d000-0xffffffffc158f000           8K USR ro                 x  pte
0xffffffffc158f000-0xffffffffc1593000          16K USR ro                 x  pte
0xffffffffc1593000-0xffffffffc1594000           4K USR ro                 x  pte
0xffffffffc1594000-0xffffffffc1595000           4K USR ro                 x  pte
0xffffffffc1595000-0xffffffffc1596000           4K USR ro                 x  pte
0xffffffffc1596000-0xffffffffc1599000          12K USR ro                 x  pte
0xffffffffc1599000-0xffffffffc15ab000          72K USR ro                 x  pte
0xffffffffc15ab000-0xffffffffc15ac000           4K USR ro                 x  pte
0xffffffffc15ac000-0xffffffffc15b0000          16K USR ro                 x  pte
0xffffffffc15b0000-0xffffffffc15b1000           4K USR ro                 x  pte
0xffffffffc15b1000-0xffffffffc15b7000          24K USR ro                 x  pte
0xffffffffc15b7000-0xffffffffc1600000         292K USR RW                 NX pte
0xffffffffc1600000-0xffffffffc179c000        1648K USR ro                 NX pte
0xffffffffc179c000-0xffffffffc1800000         400K USR RW                 NX pte
0xffffffffc1800000-0xffffffffc1802000           8K USR RW                 x  pte
0xffffffffc1802000-0xffffffffc1803000           4K USR RW                 x  pte
0xffffffffc1803000-0xffffffffc1805000           8K USR RW                 x  pte
0xffffffffc1805000-0xffffffffc180b000          24K USR RW                 x  pte
0xffffffffc180b000-0xffffffffc180f000          16K USR ro                 x  pte
0xffffffffc180f000-0xffffffffc1810000           4K USR RW                 x  pte
0xffffffffc1810000-0xffffffffc1812000           8K USR ro                 x  pte
0xffffffffc1812000-0xffffffffc1813000           4K USR RW                 x  pte
0xffffffffc1813000-0xffffffffc1815000           8K USR RW                 x  pte
0xffffffffc1815000-0xffffffffc1816000           4K USR RW                 x  pte
0xffffffffc1816000-0xffffffffc1818000           8K USR RW                 x  pte
0xffffffffc1818000-0xffffffffc181a000           8K USR RW                 x  pte
0xffffffffc181a000-0xffffffffc181d000          12K USR RW                 x  pte
0xffffffffc181d000-0xffffffffc181e000           4K USR RW                 x  pte
0xffffffffc181e000-0xffffffffc1832000          80K USR RW                 x  pte
0xffffffffc1832000-0xffffffffc1834000           8K USR RW                 x  pte
0xffffffffc1834000-0xffffffffc183a000          24K USR RW                 x  pte
0xffffffffc183a000-0xffffffffc183d000          12K USR RW                 x  pte
0xffffffffc183d000-0xffffffffc1841000          16K USR RW                 x  pte
0xffffffffc1841000-0xffffffffc1843000           8K USR RW                 x  pte
0xffffffffc1843000-0xffffffffc1845000           8K USR RW                 x  pte
0xffffffffc1845000-0xffffffffc1846000           4K USR RW                 x  pte
0xffffffffc1846000-0xffffffffc1849000          12K USR RW                 x  pte
0xffffffffc1849000-0xffffffffc184a000           4K USR RW                 x  pte
0xffffffffc184a000-0xffffffffc184f000          20K USR RW                 x  pte
0xffffffffc184f000-0xffffffffc1850000           4K USR RW                 x  pte
0xffffffffc1850000-0xffffffffc1885000         212K USR RW                 x  pte
0xffffffffc1885000-0xffffffffc1938000         716K USR RW                 NX pte
0xffffffffc1938000-0xffffffffc193a000           8K USR RW                 x  pte
0xffffffffc193a000-0xffffffffc193b000           4K USR ro                 x  pte
0xffffffffc193b000-0xffffffffc193d000           8K USR RW                 x  pte
0xffffffffc193d000-0xffffffffc193e000           4K USR ro                 x  pte
0xffffffffc193e000-0xffffffffc1948000          40K USR RW                 x  pte
0xffffffffc1948000-0xffffffffc194a000           8K USR RW                 x  pte
0xffffffffc194a000-0xffffffffc194c000           8K USR RW                 x  pte
0xffffffffc194c000-0xffffffffc196c000         128K USR RW                 x  pte
0xffffffffc196c000-0xffffffffc196d000           4K USR RW                 x  pte
0xffffffffc196d000-0xffffffffc1970000          12K USR RW                 x  pte
0xffffffffc1970000-0xffffffffc1971000           4K USR RW                 x  pte
0xffffffffc1971000-0xffffffffc1972000           4K USR RW                 x  pte
0xffffffffc1972000-0xffffffffc1973000           4K USR RW                 x  pte
0xffffffffc1973000-0xffffffffc1975000           8K USR RW                 x  pte
0xffffffffc1975000-0xffffffffc1976000           4K USR RW                 x  pte
0xffffffffc1976000-0xffffffffc1977000           4K USR RW                 x  pte
0xffffffffc1977000-0xffffffffc197b000          16K USR RW                 x  pte
0xffffffffc197b000-0xffffffffc19b9000         248K USR RW                 x  pte
0xffffffffc19b9000-0xffffffffc19c0000          28K USR RW                 x  pte
0xffffffffc19c0000-0xffffffffc19df000         124K USR RW                 x  pte
0xffffffffc19df000-0xffffffffc19e8000          36K USR RW                 x  pte
0xffffffffc19e8000-0xffffffffc19f1000          36K USR RW                 x  pte
0xffffffffc19f1000-0xffffffffc19f2000           4K USR RW                 x  pte
0xffffffffc19f2000-0xffffffffc19f3000           4K USR RW                 x  pte
0xffffffffc19f3000-0xffffffffc19f5000           8K USR RW                 x  pte
0xffffffffc19f5000-0xffffffffc19f8000          12K USR RW                 x  pte
0xffffffffc19f8000-0xffffffffc1a0a000          72K USR RW                 x  pte
0xffffffffc1a0a000-0xffffffffc1a0f000          20K USR RW                 x  pte
0xffffffffc1a0f000-0xffffffffc1a1c000          52K USR RW                 x  pte
0xffffffffc1a1c000-0xffffffffc1a1d000           4K USR RW                 x  pte
0xffffffffc1a1d000-0xffffffffc1aaa000         564K USR RW                 x  pte
0xffffffffc1aaa000-0xffffffffc1aae000          16K USR ro                 x  pte
0xffffffffc1aae000-0xffffffffc1b34000         536K USR RW                 x  pte
0xffffffffc1b34000-0xffffffffc1e3d000        3108K USR RW                 x  pte
0xffffffffc1e3d000-0xffffffffcfc93000      227672K USR RW                 NX pte
0xffffffffcfc93000-0xffffffffe0000000      265652K USR RW                 x  pte
0xffffffffe0000000-0xffffffffe0001000           4K USR ro                 x  pte
0xffffffffe0001000-0xffffffffe0002000           4K USR ro                 NX pte
0xffffffffe0002000-0xffffffffe0004000           8K USR RW                 NX pte
0xffffffffe0004000-0xffffffffe0008000          16K                           pte
0xffffffffe0008000-0xffffffffe0009000           4K USR ro                 x  pte
0xffffffffe0009000-0xffffffffe000a000           4K USR ro                 NX pte
0xffffffffe000a000-0xffffffffe000c000           8K USR RW                 NX pte
0xffffffffe000c000-0xffffffffe0070000         400K                           pte
0xffffffffe0070000-0xffffffffe024c000        1904K USR RW                 x  pte
0xffffffffe024c000-0xffffffffe024e000           8K USR RW                 x  pte
0xffffffffe024e000-0xffffffffe0353000        1044K USR ro                 x  pte
0xffffffffe0353000-0xffffffffe0400000         692K USR RW                 x  pte
0xffffffffe0400000-0xffffffffff000000         492M                           pmd
---[ End Modules ]---
0xffffffffff000000-0xffffffffff400000           4M                           pmd
0xffffffffff400000-0xffffffffff579000        1508K                           pte
0xffffffffff579000-0xffffffffff57a000           4K USR RW                 NX pte
0xffffffffff57a000-0xffffffffff5ff000         532K                           pte
0xffffffffff5ff000-0xffffffffff601000           8K USR ro             GLB NX pte
0xffffffffff601000-0xffffffffff800000        2044K                           pte
0xffffffffff800000-0x0000000000000000           8M                           pmd
# poweroff

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--azLHFNyN32YCQGCU--


From xen-devel-bounces@lists.xen.org Thu May 10 15:35:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:35:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVOP-0004LT-0e; Thu, 10 May 2012 15:35:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVOM-0004LM-VF
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:35:00 +0000
Received: from [85.158.138.51:14741] by server-8.bemta-3.messagelabs.com id
	7A/4A-24428-220EBAF4; Thu, 10 May 2012 15:34:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336664094!26279570!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21647 invoked from network); 10 May 2012 15:34:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:34:55 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFYqQW008028
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:34:53 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFYp8O017068
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:34:51 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFYoU5025893; Thu, 10 May 2012 10:34:50 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:34:48 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D59284032D; Thu, 10 May 2012 11:28:44 -0400 (EDT)
Date: Thu, 10 May 2012 11:28:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: JBeulich@suse.com, xen-devel@lists.xensource.com
Message-ID: <20120510152844.GP26152@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="azLHFNyN32YCQGCU"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Subject: [Xen-devel] pvops domU guest booting problem - 131GB ok,
	132GB not ok.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hey Jan,

I've just started to trying to track down why a pvops 64-bit
PV guest can't boot with more than 128GB of memory. The issue
I am seeing is that the module loading subsystem stops working and
I get this:


WARNING: at /home/konrad/ssd/linux/mm/vmalloc.c:107 vmap_page_range_noflush+0x328/0x3a0()
Modules linked in:
Pid: 1051, comm: modprobe Not tainted 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff810704da>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8102fcd9>] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
 [<ffffffff81070525>] warn_slowpath_null+0x15/0x20
 [<ffffffff81129e68>] vmap_page_range_noflush+0x328/0x3a0
 [<ffffffff81129f1d>] vmap_page_range+0x3d/0x60
 [<ffffffff81129f6d>] map_vm_area+0x2d/0x50
 [<ffffffff8112b3a0>] __vmalloc_node_range+0x160/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
---[ end trace efd7fe3e15953dc6 ]---
vmalloc: allocation failure, allocated 16384 of 20480 bytes
modprobe: page allocation failure: order:0, mode:0xd2
Pid: 1051, comm: modprobe Tainted: G        W    3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff8110389b>] warn_alloc_failed+0xeb/0x130
 [<ffffffff81129f24>] ? vmap_page_range+0x44/0x60
 [<ffffffff8112b456>] __vmalloc_node_range+0x216/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
Mem-Info:
Node 0 DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Node 0 DMA32 per-cpu:
CPU    0: hi:  186, btch:  31 usd: 168
Node 0 Normal per-cpu:
CPU    0: hi:  186, btch:  31 usd:  73
active_anon:253 inactive_anon:31970 isolated_anon:0
 active_file:391 inactive_file:27806 isolated_file:0
 unevictable:0 dirty:0 writeback:0 unstable:0
 free:33525733 slab_reclaimable:1660 slab_unreclaimable:976
 mapped:340 shmem:31960 pagetables:34 bounce:0
Node 0 DMA free:8760kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8536kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 4024 132160 132160
Node 0 DMA32 free:3637796kB min:1416kB low:1768kB high:2124kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4120800kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 128135 128135
Node 0 Normal free:130456376kB min:45112kB low:56388kB high:67668kB active_anon:1012kB inactive_anon:127880kB active_file:1564kB inactive_file:111224kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:131211120kB mlocked:0kB dirty:0kB writeback:0kB mapped:1360kB shmem:127840kB slab_reclaimable:6640kB slab_unreclaimable:3904kB kernel_stack:368kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Node 0 DMA: 2*4kB 2*8kB 0*16kB 3*32kB 3*64kB 2*128kB 2*256kB 1*512kB 3*1024kB 2*2048kB 0*4096kB = 8760kB
Node 0 DMA32: 5*4kB 2*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 4*512kB 1*1024kB 0*2048kB 887*4096kB = 3637796kB
Node 0 Normal: 26*4kB 26*8kB 14*16kB 11*32kB 11*64kB 6*128kB 8*256kB 7*512kB 9*1024kB 3*2048kB 31844*4096kB = 130456376kB
60151 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
34306032 pages RAM
612977 pages reserved
983 pages shared
166525 pages non-shared

Which tells me that there is more than enough memory. So my thinking
is that it is either:
 - it can't stick the new pagetables in the memory b/c there isn't enough
   physical space in the region it wants - but the region it uses is
   Normal, so that should be OK?
 - it is hitting some page tables that are used by the hypervisor?


Was wondering if you had hit this at some point with SLES guests
and if there are any ideas of what I should look for ? Thanks!
 

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="131gb.txt"
Content-Transfer-Encoding: quoted-printable

console [hvc0] enabled, bootconsole disabled
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
Detected 2261.074 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. =
4522.14 BogoMIPS (lpj=3D2261074)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
Dentry cache hash table entries: 16777216 (order: 15, 134217728 bytes)
Inode-cache hash table entries: 8388608 (order: 14, 67108864 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys cpuacct
Initializing cgroup subsys freezer
ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
Freeing SMP alternatives: 24k freed
cpu 0 spinlock event irq 17
Performance Events: unsupported p6 CPU model 46 no PMU driver, software eve=
nts only.
NMI watchdog: disabled (cpu0): hardware events not enabled
Brought up 1 CPUs
kworker/u:0 used greatest stack depth: 6000 bytes left
Grant tables using version 2 layout.
Grant table initialized
RTC time: 165:165:165, date: 165/165/65
NET: Registered protocol family 16
kworker/u:0 used greatest stack depth: 5536 bytes left
dca service started, version 1.12.1
PCI: setting up Xen PCI frontend stub
PCI: pci_cache_line_size set to 64 bytes
bio: create slab <bio-0> at 0
ACPI: Interpreter disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: loaded
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: System does not support PCI
PCI: System does not support PCI
NetLabel: Initializing
NetLabel:  domain hash size =3D 128
NetLabel:  protocols =3D UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
Switching to clocksource xen
pnp: PnP ACPI: disabled
NET: Registered protocol family 2
IP route cache hash table entries: 524288 (order: 10, 4194304 bytes)
TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP: reno registered
UDP hash table entries: 65536 (order: 9, 2097152 bytes)
UDP-Lite hash table entries: 65536 (order: 9, 2097152 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 64
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 227672k freed
platform rtc_cmos: registered platform RTC device (no PNP device found)
Machine check injector initialized
microcode: CPU0 sig=3D0x206e5, pf=3D0x4, revision=3D0xffff0018
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Pe=
ter Oruba
audit: initializing netlink socket (disabled)
type=3D2000 audit(1336419344.018:1): initialized
HugeTLB registered 2 MB page size, pre-allocated 0 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 32768
SELinux:  Registering netfilter hooks
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ioatdma: Intel(R) QuickData Technology Driver 4.00
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Non-volatile memory driver v1.3
Linux agpgart interface v0.103
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - =
version 2.2.0-k
ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd: block sizes: qh 112 qtd 96 itd 192 sitd 96
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd: block sizes: ed 80 td 96
uhci_hcd: USB Universal Host Controller Interface driver
usbcore: registered new interface driver usblp
usbcore: registered new interface driver libusual
i8042: PNP: No PS/2 controller found. Probing ports directly.
i8042: No controller found
mousedev: PS/2 mouse device common for all mice
rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
rtc_cmos: probe of rtc_cmos failed with error -38
EFI Variables Facility v0.08 2004-May-17
zram: num_devices not specified. Using default: 1
zram: Creating 1 devices ...
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ctnetlink v0.93: registering with nfnetlink.
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP: cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Registering the dns_resolver key type
PM: Hibernation image not present or could not be loaded.
registered taskstats version 1
  Magic number: 1:252:3141
Freeing unused kernel memory: 692k freed
Write protecting the kernel read-only data: 8192k
Freeing unused kernel memory: 292k freed
Freeing unused kernel memory: 400k freed
BusyBox v1.14.3 (2012-05-07 12:16:33 EDT)
consoletype used greatest stack depth: 5336 bytes left
ories  [  OK  ]
modprobe used greatest stack depth: 5096 bytes left
int /sys/kernel/config does not exist
core_filesystem used greatest stack depth: 5016 bytes left
Initialising Xen virtual ethernet driver.
 16:       2062  xen-percpu-virq      timer0
 17:          0  xen-percpu-ipi       spinlock0
 18:          0  xen-percpu-ipi       resched0
 19:          0  xen-percpu-ipi       callfunc0
 20:          0  xen-percpu-virq      debug0
 21:          0  xen-percpu-ipi       callfuncsingle0
 22:          0  xen-percpu-ipi       irqwork0
 23:         47   xen-dyn-event     xenbus
 24:         61   xen-dyn-event     hvc_console
NMI:          0   Non-maskable interrupts
LOC:          0   Local timer interrupts
SPU:          0   Spurious interrupts
PMI:          0   Performance monitoring interrupts
IWI:          0   IRQ work interrupts
RTR:          0   APIC ICR read retries
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
MCE:          0   Machine check exceptions
MCP:          0   Machine check polls
ERR:          0
MIS:          0
00000000-0000ffff : reserved
00010000-0009ffff : System RAM
000a0000-000fffff : reserved
  000f0000-000fffff : System ROM
00100000-1f407fffff : System RAM
  01000000-015b1d63 : Kernel code
  015b1d64-018838bf : Kernel data
  01939000-01a1efff : Kernel bss
MemTotal:       128734892 kB
MemFree:        128251264 kB
Buffers:               0 kB
Cached:           240696 kB
SwapCached:            0 kB
Active:            20436 kB
Inactive:         219972 kB
Active(anon):      14760 kB
Inactive(anon):   116532 kB
Active(file):       5676 kB
Inactive(file):   103440 kB
Unevictable:        4876 kB
Mlocked:            4896 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          4708 kB
Mapped:             5056 kB
Shmem:            127992 kB
Slab:              15880 kB
SReclaimable:       9344 kB
SUnreclaim:         6536 kB
KernelStack:         328 kB
PageTables:          668 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    64367444 kB
Committed_AS:     136444 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      214720 kB
VmallocChunk:   34359523635 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:    131080192 kB
DirectMap2M:           0 kB
Waiting for init.late [  OK  ]
connect: Network is unreachable
May  7 19:35:50 (none) rpc.statd[2099]: Caught signal 15, un-registering an=
d exiting
connect: Network is unreachable
May  7 19:35:50 (none) iscsid: semop down failed 22
warning: /sysctl.conf(1): invalid syntax, continuing...
net.ipv4.ip_forward =3D 0
net.ipv4.conf.default.rp_filter =3D 2
net.ipv4.conf.default.accept_source_route =3D 0
kernel.sysrq =3D 0
kernel.core_uses_pid =3D 1
net.ipv4.tcp_syncookies =3D 1
kernel.msgmnb =3D 65536
kernel.msgmax =3D 65536
kernel.shmmax =3D 68719476736
kernel.shmall =3D 4294967296
vm.min_free_kbytes =3D 65536
kernel.panic_on_oops =3D 1
kernel.panic =3D 60
Error : Name or service not known
Linux (none) 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1 SMP Mon May 7 13:30:=
51 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
MemTotal:       128734892 kB
MemFree:        128254048 kB
Buffers:               0 kB
Cached:           240844 kB
SwapCached:            0 kB
Active:            19576 kB
Inactive:         219628 kB
Active(anon):      13424 kB
Inactive(anon):   116512 kB
Active(file):       6152 kB
Inactive(file):   103116 kB
Unevictable:        3584 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          1944 kB
Mapped:             1676 kB
Shmem:            127992 kB
Slab:              15860 kB
SReclaimable:       9324 kB
SUnreclaim:         6536 kB
KernelStack:         320 kB
PageTables:          516 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    64367444 kB
Committed_AS:     133016 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      214720 kB
VmallocChunk:   34359523635 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:    131080192 kB
DirectMap2M:           0 kB
0xffffc90000000000-0xffffc90008001000 134221824 alloc_large_system_hash+0x1=
54/0x213 pages=3D32768 vmalloc vpages N0=3D32768
0xffffc90008001000-0xffffc90008042000  266240 alloc_large_system_hash+0x154=
/0x213 pages=3D64 vmalloc N0=3D64
0xffffc90008042000-0xffffc9000c043000 67112960 alloc_large_system_hash+0x15=
4/0x213 pages=3D16384 vmalloc vpages N0=3D16384
0xffffc9000c043000-0xffffc9000c064000  135168 alloc_large_system_hash+0x154=
/0x213 pages=3D32 vmalloc N0=3D32
0xffffc9000c064000-0xffffc9000c067000   12288 alloc_large_system_hash+0x154=
/0x213 pages=3D2 vmalloc N0=3D2
0xffffc9000c068000-0xffffc9000c06d000   20480 arch_gnttab_map_status+0x50/0=
x70 ioremap
0xffffc9000c06d000-0xffffc9000c072000   20480 alloc_large_system_hash+0x154=
/0x213 pages=3D4 vmalloc N0=3D4
0xffffc9000c072000-0xffffc9000c07e000   49152 zisofs_init+0x11/0x23 pages=
=3D11 vmalloc N0=3D11
0xffffc9000c080000-0xffffc9000c0a1000  135168 arch_gnttab_map_shared+0x50/0=
x70 ioremap
0xffffc9000c0a1000-0xffffc9000c4a2000 4198400 alloc_large_system_hash+0x154=
/0x213 pages=3D1024 vmalloc vpages N0=3D1024
0xffffc9000c4a2000-0xffffc9000cca3000 8392704 alloc_large_system_hash+0x154=
/0x213 pages=3D2048 vmalloc vpages N0=3D2048
0xffffc9000cca3000-0xffffc9000cda4000 1052672 alloc_large_system_hash+0x154=
/0x213 pages=3D256 vmalloc N0=3D256
0xffffc9000cda4000-0xffffc9000cfa5000 2101248 alloc_large_system_hash+0x154=
/0x213 pages=3D512 vmalloc N0=3D512
0xffffc9000cfa5000-0xffffc9000d1a6000 2101248 alloc_large_system_hash+0x154=
/0x213 pages=3D512 vmalloc N0=3D512
0xffffc9000d1a6000-0xffffc9000d1b3000   53248 netback_init+0x4c/0x210 pages=
=3D12 vmalloc N0=3D12
0xffffffffa0000000-0xffffffffa0005000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0008000-0xffffffffa000d000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0010000-0xffffffffa0015000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0018000-0xffffffffa001d000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa001d000-0xffffffffa0022000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0022000-0xffffffffa0027000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0027000-0xffffffffa002c000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa002c000-0xffffffffa0032000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa0036000-0xffffffffa003e000   32768 module_alloc_update_bounds+0x=
19/0x80 pages=3D7 vmalloc N0=3D7
0xffffffffa0042000-0xffffffffa0049000   28672 module_alloc_update_bounds+0x=
19/0x80 pages=3D6 vmalloc N0=3D6
0xffffffffa004d000-0xffffffffa0052000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0052000-0xffffffffa005c000   40960 module_alloc_update_bounds+0x=
19/0x80 pages=3D9 vmalloc N0=3D9
0xffffffffa005c000-0xffffffffa0061000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0061000-0xffffffffa0074000   77824 module_alloc_update_bounds+0x=
19/0x80 pages=3D18 vmalloc N0=3D18
0xffffffffa0074000-0xffffffffa007a000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa007c000-0xffffffffa0081000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0081000-0xffffffffa0086000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0086000-0xffffffffa0093000   53248 module_alloc_update_bounds+0x=
19/0x80 pages=3D12 vmalloc N0=3D12
0xffffffffa0097000-0xffffffffa0169000  860160 module_alloc_update_bounds+0x=
19/0x80 pages=3D209 vmalloc N0=3D209
0xffffffffa0169000-0xffffffffa016e000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa016e000-0xffffffffa0173000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa0173000-0xffffffffa0199000  155648 module_alloc_update_bounds+0x=
19/0x80 pages=3D37 vmalloc N0=3D37
0xffffffffa0199000-0xffffffffa01a4000   45056 module_alloc_update_bounds+0x=
19/0x80 pages=3D10 vmalloc N0=3D10
0xffffffffa01a8000-0xffffffffa01b4000   49152 module_alloc_update_bounds+0x=
19/0x80 pages=3D11 vmalloc N0=3D11
0xffffffffa01b4000-0xffffffffa01ba000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa01ba000-0xffffffffa01c0000   24576 module_alloc_update_bounds+0x=
19/0x80 pages=3D5 vmalloc N0=3D5
0xffffffffa01c4000-0xffffffffa01c9000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
0xffffffffa01c9000-0xffffffffa01ce000   20480 module_alloc_update_bounds+0x=
19/0x80 pages=3D4 vmalloc N0=3D4
# lsmod
Module                  Size  Used by
xen_evtchn             12835  0=20
iscsi_boot_sysfs       12922  0=20
iscsi_tcp              17580  0=20
libiscsi_tcp           17354  1 iscsi_tcp
libiscsi               39804  2 iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi    43755  2 iscsi_tcp,libiscsi
scsi_mod              148537  3 iscsi_tcp,libiscsi,scsi_transport_iscsi
libcrc32c              12426  0=20
crc32c                 12656  0=20
radeon                854431  0=20
fbcon                  47234  0=20
tileblit               12581  1 fbcon
font                   16484  1 fbcon
bitblit                12610  1 fbcon
softcursor             12349  1 bitblit
ttm                    73322  1 radeon
drm_kms_helper         35139  1 radeon,[permanent]
crc32c_intel           12704  1=20
xen_blkfront           21357  0=20
xen_netfront           25845  0=20
xen_fbfront            17211  0=20
fb_sys_fops            12350  1 xen_fbfront
sysimgblt              12313  1 xen_fbfront
sysfillrect            12522  1 xen_fbfront
syscopyarea            12313  1 xen_fbfront
xen_kbdfront           12686  0=20
xenfs                  12737  1=20
xen_privcmd            12829  1 xenfs
# cat /sys/kernel/debug/=1B[Jker=1B[21D# cat /sys/kernel/debug/kernel_page_=
tables =1B[J
---[ User Space ]---
0x0000000000000000-0xffff800000000000    16777088T                         =
  pgd
---[ Kernel Space ]---
0xffff800000000000-0xffff814000000000        1280G                         =
  pud
0xffff814000000000-0xffff8140a0000000        2560M                         =
  pmd
0xffff8140a0000000-0xffff8140a0500000           5M                         =
  pte
0xffff8140a0500000-0xffff8140a0501000           4K USR RW                 x=
  pte
0xffff8140a0501000-0xffff8140a0503000           8K     RW                 x=
  pte
0xffff8140a0503000-0xffff8140a0504000           4K                         =
  pte
0xffff8140a0504000-0xffff8140a0505000           4K     RW                 x=
  pte
0xffff8140a0505000-0xffff8140a0507000           8K USR RW                 x=
  pte
0xffff8140a0507000-0xffff8140a0509000           8K     RW                 x=
  pte
0xffff8140a0509000-0xffff8140a0510000          28K                         =
  pte
0xffff8140a0510000-0xffff8140a0511000           4K USR RW                 x=
  pte
0xffff8140a0511000-0xffff8140a0592000         516K                         =
  pte
0xffff8140a0592000-0xffff8140a0593000           4K USR RW                 x=
  pte
0xffff8140a0593000-0xffff8140a05d4000         260K                         =
  pte
0xffff8140a05d4000-0xffff8140a05d5000           4K USR RW                 x=
  pte
0xffff8140a05d5000-0xffff8140a05ff000         168K                         =
  pte
0xffff8140a05ff000-0xffff8140a0600000           4K USR RW                 x=
  pte
0xffff8140a0600000-0xffff8140a0800000           2M                         =
  pmd
0xffff8140a0800000-0xffff8140a1200000          10M                         =
  pte
0xffff8140a1200000-0xffff8140a2000000          14M                         =
  pmd
0xffff8140a2000000-0xffff8140a207e000         504K USR RW                 x=
  pte
0xffff8140a207e000-0xffff8140a2200000        1544K                         =
  pte
0xffff8140a2200000-0xffff8140b2400000         258M                         =
  pmd
0xffff8140b2400000-0xffff8140b2401000           4K USR RW                 x=
  pte
0xffff8140b2401000-0xffff8140b2600000        2044K                         =
  pte
0xffff8140b2600000-0xffff8140ba800000         130M                         =
  pmd
0xffff8140ba800000-0xffff8140ba802000           8K USR RW                 x=
  pte
0xffff8140ba802000-0xffff8140baa00000        2040K                         =
  pte
0xffff8140baa00000-0xffff8140bfe00000          84M                         =
  pmd
0xffff8140bfe00000-0xffff8140bfffe000        2040K                         =
  pte
0xffff8140bfffe000-0xffff8140c0000000           8K USR RW                 x=
  pte
0xffff8140c0000000-0xffff814100000000           1G                         =
  pud
0xffff814100000000-0xffff814240000000           5G                         =
  pmd
0xffff814240000000-0xffff814400000000           7G                         =
  pud
0xffff814400000000-0xffff81440fa04000      256016K USR RW                 x=
  pte
0xffff81440fa04000-0xffff81440fc00000        2032K                         =
  pte
0xffff81440fc00000-0xffff814440000000         772M                         =
  pmd
0xffff814440000000-0xffff816480000000         129G                         =
  pud
0xffff816480000000-0xffff81648006c000         432K USR RW                 x=
  pte
0xffff81648006c000-0xffff816480200000        1616K                         =
  pte
0xffff816480200000-0xffff8164c0000000        1022M                         =
  pmd
0xffff8164c0000000-0xffff817500000000          65G                         =
  pud
0xffff817500000000-0xffff81750036c000        3504K USR RW                 x=
  pte
0xffff81750036c000-0xffff817500400000         592K                         =
  pte
0xffff817500400000-0xffff817540000000        1020M                         =
  pmd
0xffff817540000000-0xffff817fc0000000          42G                         =
  pud
0xffff817fc0000000-0xffff817fffc00000        1020M                         =
  pmd
0xffff817fffc00000-0xffff817fffc08000          32K                         =
  pte
0xffff817fffc08000-0xffff817fffc0e000          24K USR RW                 x=
  pte
0xffff817fffc0e000-0xffff817fffc7e000         448K                         =
  pte
0xffff817fffc7e000-0xffff817fffcfe000         512K USR RW                 x=
  pte
0xffff817fffcfe000-0xffff817fffd00000           8K                         =
  pte
0xffff817fffd00000-0xffff817fffd01000           4K USR RW                 x=
  pte
0xffff817fffd01000-0xffff817fffe00000        1020K                         =
  pte
0xffff817fffe00000-0xffff817fffefe000        1016K USR RW                 x=
  pte
0xffff817fffefe000-0xffff817fffffa000        1008K                         =
  pte
0xffff817fffffa000-0xffff817fffffc000           8K USR RW                 x=
  pte
0xffff817fffffc000-0xffff818000000000          16K                         =
  pte
0xffff818000000000-0xffff820000000000         512G                         =
  pgd
0xffff820000000000-0xffff848000000000        2560G                         =
  pud
0xffff848000000000-0xffff880000000000        3584G                         =
  pgd
---[ Low Kernel Mapping ]---
0xffff880000000000-0xffff88000009b000         620K USR RW                 x=
  pte
0xffff88000009b000-0xffff8800000a0000          20K USR RW                 x=
  pte
0xffff8800000a0000-0xffff8800007fb000        7532K USR RW                 x=
  pte
0xffff8800007fb000-0xffff880000efc000        7172K USR ro                 x=
  pte
0xffff880000efc000-0xffff880001000000        1040K USR RW                 x=
  pte
0xffff880001000000-0xffff880001002000           8K USR ro                 x=
  pte
0xffff880001002000-0xffff880001013000          68K USR ro                 x=
  pte
0xffff880001013000-0xffff880001015000           8K USR ro                 x=
  pte
0xffff880001015000-0xffff880001017000           8K USR ro                 x=
  pte
0xffff880001017000-0xffff880001019000           8K USR ro                 x=
  pte
0xffff880001019000-0xffff88000101a000           4K USR ro                 x=
  pte
0xffff88000101a000-0xffff88000101b000           4K USR ro                 x=
  pte
0xffff88000101b000-0xffff88000101f000          16K USR ro                 x=
  pte
0xffff88000101f000-0xffff880001028000          36K USR ro                 x=
  pte
0xffff880001028000-0xffff88000102a000           8K USR ro                 x=
  pte
0xffff88000102a000-0xffff88000102c000           8K USR ro                 x=
  pte
0xffff88000102c000-0xffff88000103c000          64K USR ro                 x=
  pte
0xffff88000103c000-0xffff88000103d000           4K USR ro                 x=
  pte
0xffff88000103d000-0xffff880001051000          80K USR ro                 x=
  pte
0xffff880001051000-0xffff880001052000           4K USR ro                 x=
  pte
0xffff880001052000-0xffff880001057000          20K USR ro                 x=
  pte
0xffff880001057000-0xffff880001058000           4K USR ro                 x=
  pte
0xffff880001058000-0xffff880001061000          36K USR ro                 x=
  pte
0xffff880001061000-0xffff880001063000           8K USR ro                 x=
  pte
0xffff880001063000-0xffff88000106b000          32K USR ro                 x=
  pte
0xffff88000106b000-0xffff88000106c000           4K USR ro                 x=
  pte
0xffff88000106c000-0xffff880001078000          48K USR ro                 x=
  pte
0xffff880001078000-0xffff88000107a000           8K USR ro                 x=
  pte
0xffff88000107a000-0xffff880001083000          36K USR ro                 x=
  pte
0xffff880001083000-0xffff880001084000           4K USR ro                 x=
  pte
0xffff880001084000-0xffff88000108f000          44K USR ro                 x=
  pte
0xffff88000108f000-0xffff880001090000           4K USR ro                 x=
  pte
0xffff880001090000-0xffff880001094000          16K USR ro                 x=
  pte
0xffff880001094000-0xffff880001097000          12K USR ro                 x=
  pte
0xffff880001097000-0xffff8800010a0000          36K USR ro                 x=
  pte
0xffff8800010a0000-0xffff8800010a2000           8K USR ro                 x=
  pte
0xffff8800010a2000-0xffff8800010a7000          20K USR ro                 x=
  pte
0xffff8800010a7000-0xffff8800010a8000           4K USR ro                 x=
  pte
0xffff8800010a8000-0xffff8800010aa000           8K USR ro                 x=
  pte
0xffff8800010aa000-0xffff8800010af000          20K USR ro                 x=
  pte
0xffff8800010af000-0xffff8800010b4000          20K USR ro                 x=
  pte
0xffff8800010b4000-0xffff8800010b6000           8K USR ro                 x=
  pte
0xffff8800010b6000-0xffff8800010c0000          40K USR ro                 x=
  pte
0xffff8800010c0000-0xffff8800010c4000          16K USR ro                 x=
  pte
0xffff8800010c4000-0xffff8800010c6000           8K USR ro                 x=
  pte
0xffff8800010c6000-0xffff8800010ca000          16K USR ro                 x=
  pte
0xffff8800010ca000-0xffff8800010cc000           8K USR ro                 x=
  pte
0xffff8800010cc000-0xffff8800010cd000           4K USR ro                 x=
  pte
0xffff8800010cd000-0xffff8800010d5000          32K USR ro                 x=
  pte
0xffff8800010d5000-0xffff8800010d9000          16K USR ro                 x=
  pte
0xffff8800010d9000-0xffff8800010da000           4K USR ro                 x=
  pte
0xffff8800010da000-0xffff8800010db000           4K USR ro                 x=
  pte
0xffff8800010db000-0xffff8800010dc000           4K USR ro                 x=
  pte
0xffff8800010dc000-0xffff8800010dd000           4K USR ro                 x=
  pte
0xffff8800010dd000-0xffff8800010e2000          20K USR ro                 x=
  pte
0xffff8800010e2000-0xffff8800010e3000           4K USR ro                 x=
  pte
0xffff8800010e3000-0xffff8800010f8000          84K USR ro                 x=
  pte
0xffff8800010f8000-0xffff8800010fb000          12K USR ro                 x=
  pte
0xffff8800010fb000-0xffff880001101000          24K USR ro                 x=
  pte
0xffff880001101000-0xffff880001102000           4K USR ro                 x=
  pte
0xffff880001102000-0xffff880001106000          16K USR ro                 x=
  pte
0xffff880001106000-0xffff880001107000           4K USR ro                 x=
  pte
0xffff880001107000-0xffff880001108000           4K USR ro                 x=
  pte
0xffff880001108000-0xffff880001109000           4K USR ro                 x=
  pte
0xffff880001109000-0xffff880001113000          40K USR ro                 x=
  pte
0xffff880001113000-0xffff880001114000           4K USR ro                 x=
  pte
0xffff880001114000-0xffff880001117000          12K USR ro                 x=
  pte
0xffff880001117000-0xffff880001118000           4K USR ro                 x=
  pte
0xffff880001118000-0xffff880001122000          40K USR ro                 x=
  pte
0xffff880001122000-0xffff880001124000           8K USR ro                 x=
  pte
0xffff880001124000-0xffff880001143000         124K USR ro                 x=
  pte
0xffff880001143000-0xffff880001145000           8K USR ro                 x=
  pte
0xffff880001145000-0xffff880001166000         132K USR ro                 x=
  pte
0xffff880001166000-0xffff880001168000           8K USR ro                 x=
  pte
0xffff880001168000-0xffff88000116d000          20K USR ro                 x=
  pte
0xffff88000116d000-0xffff88000116e000           4K USR ro                 x=
  pte
0xffff88000116e000-0xffff88000116f000           4K USR ro                 x=
  pte
0xffff88000116f000-0xffff880001170000           4K USR ro                 x=
  pte
0xffff880001170000-0xffff880001174000          16K USR ro                 x=
  pte
0xffff880001174000-0xffff880001177000          12K USR ro                 x=
  pte
0xffff880001177000-0xffff88000117a000          12K USR ro                 x=
  pte
0xffff88000117a000-0xffff88000117e000          16K USR ro                 x=
  pte
0xffff88000117e000-0xffff88000118d000          60K USR ro                 x=
  pte
0xffff88000118d000-0xffff88000118e000           4K USR ro                 x=
  pte
0xffff88000118e000-0xffff880001190000           8K USR ro                 x=
  pte
0xffff880001190000-0xffff880001191000           4K USR ro                 x=
  pte
0xffff880001191000-0xffff880001192000           4K USR ro                 x=
  pte
0xffff880001192000-0xffff880001193000           4K USR ro                 x=
  pte
0xffff880001193000-0xffff880001194000           4K USR ro                 x=
  pte
0xffff880001194000-0xffff880001197000          12K USR ro                 x=
  pte
0xffff880001197000-0xffff880001198000           4K USR ro                 x=
  pte
0xffff880001198000-0xffff880001199000           4K USR ro                 x=
  pte
0xffff880001199000-0xffff8800011a0000          28K USR ro                 x=
  pte
0xffff8800011a0000-0xffff8800011a1000           4K USR ro                 x=
  pte
0xffff8800011a1000-0xffff8800011ab000          40K USR ro                 x=
  pte
0xffff8800011ab000-0xffff8800011ac000           4K USR ro                 x=
  pte
0xffff8800011ac000-0xffff8800011af000          12K USR ro                 x=
  pte
0xffff8800011af000-0xffff8800011b1000           8K USR ro                 x=
  pte
0xffff8800011b1000-0xffff8800011b4000          12K USR ro                 x=
  pte
0xffff8800011b4000-0xffff8800011b5000           4K USR ro                 x=
  pte
0xffff8800011b5000-0xffff8800011b9000          16K USR ro                 x=
  pte
0xffff8800011b9000-0xffff8800011bb000           8K USR ro                 x=
  pte
0xffff8800011bb000-0xffff8800011bd000           8K USR ro                 x=
  pte
0xffff8800011bd000-0xffff8800011be000           4K USR ro                 x=
  pte
0xffff8800011be000-0xffff8800011c2000          16K USR ro                 x=
  pte
0xffff8800011c2000-0xffff8800011c6000          16K USR ro                 x=
  pte
0xffff8800011c6000-0xffff8800011c7000           4K USR ro                 x=
  pte
0xffff8800011c7000-0xffff8800011c8000           4K USR ro                 x=
  pte
0xffff8800011c8000-0xffff8800011c9000           4K USR ro                 x=
  pte
0xffff8800011c9000-0xffff8800011ca000           4K USR ro                 x=
  pte
0xffff8800011ca000-0xffff8800011cf000          20K USR ro                 x=
  pte
0xffff8800011cf000-0xffff8800011d0000           4K USR ro                 x=
  pte
0xffff8800011d0000-0xffff8800011d3000          12K USR ro                 x=
  pte
0xffff8800011d3000-0xffff8800011d5000           8K USR ro                 x=
  pte
0xffff8800011d5000-0xffff8800011d6000           4K USR ro                 x=
  pte
0xffff8800011d6000-0xffff8800011d8000           8K USR ro                 x=
  pte
0xffff8800011d8000-0xffff8800011d9000           4K USR ro                 x=
  pte
0xffff8800011d9000-0xffff8800011da000           4K USR ro                 x=
  pte
0xffff8800011da000-0xffff8800011e0000          24K USR ro                 x=
  pte
0xffff8800011e0000-0xffff8800011e3000          12K USR ro                 x=
  pte
0xffff8800011e3000-0xffff8800011e9000          24K USR ro                 x=
  pte
0xffff8800011e9000-0xffff8800011ea000           4K USR ro                 x=
  pte
0xffff8800011ea000-0xffff8800011eb000           4K USR ro                 x=
  pte
0xffff8800011eb000-0xffff8800011f1000          24K USR ro                 x=
  pte
0xffff8800011f1000-0xffff8800011f7000          24K USR ro                 x=
  pte
0xffff8800011f7000-0xffff8800011f8000           4K USR ro                 x=
  pte
0xffff8800011f8000-0xffff8800011fa000           8K USR ro                 x=
  pte
0xffff8800011fa000-0xffff8800011fb000           4K USR ro                 x=
  pte
0xffff8800011fb000-0xffff8800011fd000           8K USR ro                 x=
  pte
0xffff8800011fd000-0xffff8800011fe000           4K USR ro                 x=
  pte
0xffff8800011fe000-0xffff880001200000           8K USR ro                 x=
  pte
0xffff880001200000-0xffff880001201000           4K USR ro                 x=
  pte
0xffff880001201000-0xffff880001203000           8K USR ro                 x=
  pte
0xffff880001203000-0xffff880001207000          16K USR ro                 x=
  pte
0xffff880001207000-0xffff880001209000           8K USR ro                 x=
  pte
0xffff880001209000-0xffff88000120a000           4K USR ro                 x=
  pte
0xffff88000120a000-0xffff88000120b000           4K USR ro                 x=
  pte
0xffff88000120b000-0xffff88000120c000           4K USR ro                 x=
  pte
0xffff88000120c000-0xffff88000120e000           8K USR ro                 x=
  pte
0xffff88000120e000-0xffff880001223000          84K USR ro                 x=
  pte
0xffff880001223000-0xffff880001228000          20K USR ro                 x=
  pte
0xffff880001228000-0xffff880001229000           4K USR ro                 x=
  pte
0xffff880001229000-0xffff88000123b000          72K USR ro                 x=
  pte
0xffff88000123b000-0xffff88000123d000           8K USR ro                 x=
  pte
0xffff88000123d000-0xffff88000123e000           4K USR ro                 x=
  pte
0xffff88000123e000-0xffff88000123f000           4K USR ro                 x=
  pte
0xffff88000123f000-0xffff880001242000          12K USR ro                 x=
  pte
0xffff880001242000-0xffff880001244000           8K USR ro                 x=
  pte
0xffff880001244000-0xffff880001245000           4K USR ro                 x=
  pte
0xffff880001245000-0xffff880001247000           8K USR ro                 x=
  pte
0xffff880001247000-0xffff880001248000           4K USR ro                 x=
  pte
0xffff880001248000-0xffff880001252000          40K USR ro                 x=
  pte
0xffff880001252000-0xffff880001253000           4K USR ro                 x=
  pte
0xffff880001253000-0xffff880001254000           4K USR ro                 x=
  pte
0xffff880001254000-0xffff880001255000           4K USR ro                 x=
  pte
0xffff880001255000-0xffff880001258000          12K USR ro                 x=
  pte
0xffff880001258000-0xffff880001259000           4K USR ro                 x=
  pte
0xffff880001259000-0xffff880001268000          60K USR ro                 x=
  pte
0xffff880001268000-0xffff88000126e000          24K USR ro                 x=
  pte
0xffff88000126e000-0xffff88000126f000           4K USR ro                 x=
  pte
0xffff88000126f000-0xffff880001272000          12K USR ro                 x=
  pte
0xffff880001272000-0xffff880001273000           4K USR ro                 x=
  pte
0xffff880001273000-0xffff880001274000           4K USR ro                 x=
  pte
0xffff880001274000-0xffff88000127a000          24K USR ro                 x=
  pte
0xffff88000127a000-0xffff88000127c000           8K USR ro                 x=
  pte
0xffff88000127c000-0xffff88000127d000           4K USR ro                 x=
  pte
0xffff88000127d000-0xffff880001285000          32K USR ro                 x=
  pte
0xffff880001285000-0xffff880001286000           4K USR ro                 x=
  pte
0xffff880001286000-0xffff880001287000           4K USR ro                 x=
  pte
0xffff880001287000-0xffff880001288000           4K USR ro                 x=
  pte
0xffff880001288000-0xffff880001289000           4K USR ro                 x=
  pte
0xffff880001289000-0xffff88000128d000          16K USR ro                 x=
  pte
0xffff88000128d000-0xffff88000128f000           8K USR ro                 x=
  pte
0xffff88000128f000-0xffff880001291000           8K USR ro                 x=
  pte
0xffff880001291000-0xffff880001292000           4K USR ro                 x=
  pte
0xffff880001292000-0xffff88000129f000          52K USR ro                 x=
  pte
0xffff88000129f000-0xffff8800012a0000           4K USR ro                 x=
  pte
0xffff8800012a0000-0xffff8800012a1000           4K USR ro                 x=
  pte
0xffff8800012a1000-0xffff8800012a3000           8K USR ro                 x=
  pte
0xffff8800012a3000-0xffff8800012a5000           8K USR ro                 x=
  pte
0xffff8800012a5000-0xffff8800012a6000           4K USR ro                 x=
  pte
0xffff8800012a6000-0xffff8800012a9000          12K USR ro                 x=
  pte
0xffff8800012a9000-0xffff8800012ab000           8K USR ro                 x=
  pte
0xffff8800012ab000-0xffff8800012c3000          96K USR ro                 x=
  pte
0xffff8800012c3000-0xffff8800012c6000          12K USR ro                 x=
  pte
0xffff8800012c6000-0xffff8800012cc000          24K USR ro                 x=
  pte
0xffff8800012cc000-0xffff8800012cf000          12K USR ro                 x=
  pte
0xffff8800012cf000-0xffff8800012d1000           8K USR ro                 x=
  pte
0xffff8800012d1000-0xffff8800012d2000           4K USR ro                 x=
  pte
0xffff8800012d2000-0xffff8800012d3000           4K USR ro                 x=
  pte
0xffff8800012d3000-0xffff8800012d7000          16K USR ro                 x=
  pte
0xffff8800012d7000-0xffff8800012d8000           4K USR ro                 x=
  pte
0xffff8800012d8000-0xffff8800012da000           8K USR ro                 x=
  pte
0xffff8800012da000-0xffff8800012dc000           8K USR ro                 x=
  pte
0xffff8800012dc000-0xffff8800012e1000          20K USR ro                 x=
  pte
0xffff8800012e1000-0xffff8800012e3000           8K USR ro                 x=
  pte
0xffff8800012e3000-0xffff8800012e4000           4K USR ro                 x=
  pte
0xffff8800012e4000-0xffff8800012e5000           4K USR ro                 x=
  pte
0xffff8800012e5000-0xffff8800012e6000           4K USR ro                 x=
  pte
0xffff8800012e6000-0xffff8800012e7000           4K USR ro                 x=
  pte
0xffff8800012e7000-0xffff8800012ed000          24K USR ro                 x=
  pte
0xffff8800012ed000-0xffff8800012ee000           4K USR ro                 x=
  pte
0xffff8800012ee000-0xffff8800012f9000          44K USR ro                 x=
  pte
0xffff8800012f9000-0xffff8800012fa000           4K USR ro                 x=
  pte
0xffff8800012fa000-0xffff8800012fe000          16K USR ro                 x=
  pte
0xffff8800012fe000-0xffff880001300000           8K USR ro                 x=
  pte
0xffff880001300000-0xffff880001302000           8K USR ro                 x=
  pte
0xffff880001302000-0xffff88000130d000          44K USR ro                 x=
  pte
0xffff88000130d000-0xffff88000130e000           4K USR ro                 x=
  pte
0xffff88000130e000-0xffff88000130f000           4K USR ro                 x=
  pte
0xffff88000130f000-0xffff880001312000          12K USR ro                 x=
  pte
0xffff880001312000-0xffff880001314000           8K USR ro                 x=
  pte
0xffff880001314000-0xffff880001318000          16K USR ro                 x=
  pte
0xffff880001318000-0xffff88000131b000          12K USR ro                 x=
  pte
0xffff88000131b000-0xffff88000131c000           4K USR ro                 x=
  pte
0xffff88000131c000-0xffff880001324000          32K USR ro                 x=
  pte
0xffff880001324000-0xffff880001329000          20K USR ro                 x=
  pte
0xffff880001329000-0xffff88000132d000          16K USR ro                 x=
  pte
0xffff88000132d000-0xffff88000132e000           4K USR ro                 x=
  pte
0xffff88000132e000-0xffff88000132f000           4K USR ro                 x=
  pte
0xffff88000132f000-0xffff880001332000          12K USR ro                 x=
  pte
0xffff880001332000-0xffff880001333000           4K USR ro                 x=
  pte
0xffff880001333000-0xffff880001334000           4K USR ro                 x=
  pte
0xffff880001334000-0xffff880001335000           4K USR ro                 x=
  pte
0xffff880001335000-0xffff880001337000           8K USR ro                 x=
  pte
0xffff880001337000-0xffff88000133b000          16K USR ro                 x=
  pte
0xffff88000133b000-0xffff88000133c000           4K USR ro                 x=
  pte
0xffff88000133c000-0xffff880001340000          16K USR ro                 x=
  pte
0xffff880001340000-0xffff880001342000           8K USR ro                 x=
  pte
0xffff880001342000-0xffff880001343000           4K USR ro                 x=
  pte
0xffff880001343000-0xffff880001348000          20K USR ro                 x=
  pte
0xffff880001348000-0xffff88000134c000          16K USR ro                 x=
  pte
0xffff88000134c000-0xffff880001350000          16K USR ro                 x=
  pte
0xffff880001350000-0xffff880001351000           4K USR ro                 x=
  pte
0xffff880001351000-0xffff880001353000           8K USR ro                 x=
  pte
0xffff880001353000-0xffff880001358000          20K USR ro                 x=
  pte
0xffff880001358000-0xffff88000135e000          24K USR ro                 x=
  pte
0xffff88000135e000-0xffff88000135f000           4K USR ro                 x=
  pte
0xffff88000135f000-0xffff880001361000           8K USR ro                 x=
  pte
0xffff880001361000-0xffff880001366000          20K USR ro                 x=
  pte
0xffff880001366000-0xffff880001367000           4K USR ro                 x=
  pte
0xffff880001367000-0xffff880001368000           4K USR ro                 x=
  pte
0xffff880001368000-0xffff88000136a000           8K USR ro                 x=
  pte
0xffff88000136a000-0xffff880001374000          40K USR ro                 x=
  pte
0xffff880001374000-0xffff880001376000           8K USR ro                 x=
  pte
0xffff880001376000-0xffff880001379000          12K USR ro                 x=
  pte
0xffff880001379000-0xffff88000137f000          24K USR ro                 x=
  pte
0xffff88000137f000-0xffff880001380000           4K USR ro                 x=
  pte
0xffff880001380000-0xffff880001383000          12K USR ro                 x=
  pte
0xffff880001383000-0xffff880001384000           4K USR ro                 x=
  pte
0xffff880001384000-0xffff880001387000          12K USR ro                 x=
  pte
0xffff880001387000-0xffff880001389000           8K USR ro                 x=
  pte
0xffff880001389000-0xffff88000138c000          12K USR ro                 x=
  pte
0xffff88000138c000-0xffff880001393000          28K USR ro                 x=
  pte
0xffff880001393000-0xffff880001395000           8K USR ro                 x=
  pte
0xffff880001395000-0xffff880001398000          12K USR ro                 x=
  pte
0xffff880001398000-0xffff88000139a000           8K USR ro                 x=
  pte
0xffff88000139a000-0xffff88000139c000           8K USR ro                 x=
  pte
0xffff88000139c000-0xffff88000139d000           4K USR ro                 x=
  pte
0xffff88000139d000-0xffff8800013a3000          24K USR ro                 x=
  pte
0xffff8800013a3000-0xffff8800013a4000           4K USR ro                 x=
  pte
0xffff8800013a4000-0xffff8800013a5000           4K USR ro                 x=
  pte
0xffff8800013a5000-0xffff8800013a6000           4K USR ro                 x=
  pte
0xffff8800013a6000-0xffff8800013a9000          12K USR ro                 x=
  pte
0xffff8800013a9000-0xffff8800013ab000           8K USR ro                 x=
  pte
0xffff8800013ab000-0xffff8800013ac000           4K USR ro                 x=
  pte
0xffff8800013ac000-0xffff8800013ae000           8K USR ro                 x=
  pte
0xffff8800013ae000-0xffff8800013b1000          12K USR ro                 x=
  pte
0xffff8800013b1000-0xffff8800013b3000           8K USR ro                 x=
  pte
0xffff8800013b3000-0xffff8800013b5000           8K USR ro                 x=
  pte
0xffff8800013b5000-0xffff8800013b9000          16K USR ro                 x=
  pte
0xffff8800013b9000-0xffff8800013ba000           4K USR ro                 x=
  pte
0xffff8800013ba000-0xffff8800013bf000          20K USR ro                 x=
  pte
0xffff8800013bf000-0xffff8800013ce000          60K USR ro                 x=
  pte
0xffff8800013ce000-0xffff8800013cf000           4K USR ro                 x=
  pte
0xffff8800013cf000-0xffff8800013d0000           4K USR ro                 x=
  pte
0xffff8800013d0000-0xffff8800013d2000           8K USR ro                 x=
  pte
0xffff8800013d2000-0xffff8800013d3000           4K USR ro                 x=
  pte
0xffff8800013d3000-0xffff8800013db000          32K USR ro                 x=
  pte
0xffff8800013db000-0xffff8800013dc000           4K USR ro                 x=
  pte
0xffff8800013dc000-0xffff8800013dd000           4K USR ro                 x=
  pte
0xffff8800013dd000-0xffff8800013de000           4K USR ro                 x=
  pte
0xffff8800013de000-0xffff8800013e0000           8K USR ro                 x=
  pte
0xffff8800013e0000-0xffff8800013e3000          12K USR ro                 x=
  pte
0xffff8800013e3000-0xffff8800013e5000           8K USR ro                 x=
  pte
0xffff8800013e5000-0xffff8800013e8000          12K USR ro                 x=
  pte
0xffff8800013e8000-0xffff8800013ea000           8K USR ro                 x=
  pte
0xffff8800013ea000-0xffff8800013ec000           8K USR ro                 x=
  pte
0xffff8800013ec000-0xffff8800013ed000           4K USR ro                 x=
  pte
0xffff8800013ed000-0xffff8800013ef000           8K USR ro                 x=
  pte
0xffff8800013ef000-0xffff8800013f3000          16K USR ro                 x=
  pte
0xffff8800013f3000-0xffff8800013f4000           4K USR ro                 x=
  pte
0xffff8800013f4000-0xffff8800013f6000           8K USR ro                 x=
  pte
0xffff8800013f6000-0xffff8800013f7000           4K USR ro                 x=
  pte
0xffff8800013f7000-0xffff8800013fa000          12K USR ro                 x=
  pte
0xffff8800013fa000-0xffff8800013fb000           4K USR ro                 x=
  pte
0xffff8800013fb000-0xffff8800013fd000           8K USR ro                 x=
  pte
0xffff8800013fd000-0xffff8800013fe000           4K USR ro                 x=
  pte
0xffff8800013fe000-0xffff880001403000          20K USR ro                 x=
  pte
0xffff880001403000-0xffff880001404000           4K USR ro                 x=
  pte
0xffff880001404000-0xffff880001406000           8K USR ro                 x=
  pte
0xffff880001406000-0xffff880001408000           8K USR ro                 x=
  pte
0xffff880001408000-0xffff880001411000          36K USR ro                 x=
  pte
0xffff880001411000-0xffff880001412000           4K USR ro                 x=
  pte
0xffff880001412000-0xffff880001413000           4K USR ro                 x=
  pte
0xffff880001413000-0xffff880001415000           8K USR ro                 x=
  pte
0xffff880001415000-0xffff880001416000           4K USR ro                 x=
  pte
0xffff880001416000-0xffff880001419000          12K USR ro                 x=
  pte
0xffff880001419000-0xffff88000141e000          20K USR ro                 x=
  pte
0xffff88000141e000-0xffff880001425000          28K USR ro                 x=
  pte
0xffff880001425000-0xffff880001426000           4K USR ro                 x=
  pte
0xffff880001426000-0xffff880001428000           8K USR ro                 x=
  pte
0xffff880001428000-0xffff88000142f000          28K USR ro                 x=
  pte
0xffff88000142f000-0xffff880001430000           4K USR ro                 x=
  pte
0xffff880001430000-0xffff880001437000          28K USR ro                 x=
  pte
0xffff880001437000-0xffff880001438000           4K USR ro                 x=
  pte
0xffff880001438000-0xffff880001439000           4K USR ro                 x=
  pte
0xffff880001439000-0xffff88000143d000          16K USR ro                 x=
  pte
0xffff88000143d000-0xffff88000143e000           4K USR ro                 x=
  pte
0xffff88000143e000-0xffff88000143f000           4K USR ro                 x=
  pte
0xffff88000143f000-0xffff880001440000           4K USR ro                 x=
  pte
0xffff880001440000-0xffff880001443000          12K USR ro                 x=
  pte
0xffff880001443000-0xffff880001445000           8K USR ro                 x=
  pte
0xffff880001445000-0xffff880001446000           4K USR ro                 x=
  pte
0xffff880001446000-0xffff880001448000           8K USR ro                 x=
  pte
0xffff880001448000-0xffff88000144d000          20K USR ro                 x=
  pte
0xffff88000144d000-0xffff88000144f000           8K USR ro                 x=
  pte
0xffff88000144f000-0xffff880001451000           8K USR ro                 x=
  pte
0xffff880001451000-0xffff880001452000           4K USR ro                 x=
  pte
0xffff880001452000-0xffff880001458000          24K USR ro                 x=
  pte
0xffff880001458000-0xffff880001459000           4K USR ro                 x=
  pte
0xffff880001459000-0xffff88000145a000           4K USR ro                 x=
  pte
0xffff88000145a000-0xffff88000145c000           8K USR ro                 x=
  pte
0xffff88000145c000-0xffff88000145d000           4K USR ro                 x=
  pte
0xffff88000145d000-0xffff880001462000          20K USR ro                 x=
  pte
0xffff880001462000-0xffff880001463000           4K USR ro                 x=
  pte
0xffff880001463000-0xffff880001464000           4K USR ro                 x=
  pte
0xffff880001464000-0xffff880001465000           4K USR ro                 x=
  pte
0xffff880001465000-0xffff880001467000           8K USR ro                 x=
  pte
0xffff880001467000-0xffff880001468000           4K USR ro                 x=
  pte
0xffff880001468000-0xffff880001469000           4K USR ro                 x=
  pte
0xffff880001469000-0xffff88000146a000           4K USR ro                 x=
  pte
0xffff88000146a000-0xffff88000146b000           4K USR ro                 x=
  pte
0xffff88000146b000-0xffff880001470000          20K USR ro                 x=
  pte
0xffff880001470000-0xffff880001471000           4K USR ro                 x=
  pte
0xffff880001471000-0xffff880001473000           8K USR ro                 x=
  pte
0xffff880001473000-0xffff880001477000          16K USR ro                 x=
  pte
0xffff880001477000-0xffff88000147a000          12K USR ro                 x=
  pte
0xffff88000147a000-0xffff88000147b000           4K USR ro                 x=
  pte
0xffff88000147b000-0xffff88000147c000           4K USR ro                 x=
  pte
0xffff88000147c000-0xffff88000147d000           4K USR ro                 x=
  pte
0xffff88000147d000-0xffff880001482000          20K USR ro                 x=
  pte
0xffff880001482000-0xffff880001484000           8K USR ro                 x=
  pte
0xffff880001484000-0xffff880001485000           4K USR ro                 x=
  pte
0xffff880001485000-0xffff880001486000           4K USR ro                 x=
  pte
0xffff880001486000-0xffff880001489000          12K USR ro                 x=
  pte
0xffff880001489000-0xffff88000148a000           4K USR ro                 x=
  pte
0xffff88000148a000-0xffff88000148b000           4K USR ro                 x=
  pte
0xffff88000148b000-0xffff88000148c000           4K USR ro                 x=
  pte
0xffff88000148c000-0xffff880001499000          52K USR ro                 x=
  pte
0xffff880001499000-0xffff88000149a000           4K USR ro                 x=
  pte
0xffff88000149a000-0xffff8800014a2000          32K USR ro                 x=
  pte
0xffff8800014a2000-0xffff8800014a5000          12K USR ro                 x=
  pte
0xffff8800014a5000-0xffff8800014a8000          12K USR ro                 x=
  pte
0xffff8800014a8000-0xffff8800014b0000          32K USR ro                 x=
  pte
0xffff8800014b0000-0xffff8800014b1000           4K USR ro                 x=
  pte
0xffff8800014b1000-0xffff8800014b2000           4K USR ro                 x=
  pte
0xffff8800014b2000-0xffff8800014c2000          64K USR ro                 x=
  pte
0xffff8800014c2000-0xffff8800014c3000           4K USR ro                 x=
  pte
0xffff8800014c3000-0xffff8800014c5000           8K USR ro                 x=
  pte
0xffff8800014c5000-0xffff8800014cb000          24K USR ro                 x=
  pte
0xffff8800014cb000-0xffff8800014cc000           4K USR ro                 x=
  pte
0xffff8800014cc000-0xffff8800014cf000          12K USR ro                 x=
  pte
0xffff8800014cf000-0xffff8800014d0000           4K USR ro                 x=
  pte
0xffff8800014d0000-0xffff8800014d1000           4K USR ro                 x=
  pte
0xffff8800014d1000-0xffff8800014d3000           8K USR ro                 x=
  pte
0xffff8800014d3000-0xffff8800014d4000           4K USR ro                 x=
  pte
0xffff8800014d4000-0xffff8800014d6000           8K USR ro                 x=
  pte
0xffff8800014d6000-0xffff8800014d7000           4K USR ro                 x=
  pte
0xffff8800014d7000-0xffff8800014db000          16K USR ro                 x=
  pte
0xffff8800014db000-0xffff8800014dc000           4K USR ro                 x=
  pte
0xffff8800014dc000-0xffff8800014de000           8K USR ro                 x=
  pte
0xffff8800014de000-0xffff8800014df000           4K USR ro                 x=
  pte
0xffff8800014df000-0xffff8800014e3000          16K USR ro                 x=
  pte
0xffff8800014e3000-0xffff8800014e7000          16K USR ro                 x=
  pte
0xffff8800014e7000-0xffff8800014e8000           4K USR ro                 x=
  pte
0xffff8800014e8000-0xffff8800014e9000           4K USR ro                 x=
  pte
0xffff8800014e9000-0xffff8800014f1000          32K USR ro                 x=
  pte
0xffff8800014f1000-0xffff8800014f2000           4K USR ro                 x=
  pte
0xffff8800014f2000-0xffff8800014f6000          16K USR ro                 x=
  pte
0xffff8800014f6000-0xffff8800014f7000           4K USR ro                 x=
  pte
0xffff8800014f7000-0xffff8800014f8000           4K USR ro                 x=
  pte
0xffff8800014f8000-0xffff8800014f9000           4K USR ro                 x=
  pte
0xffff8800014f9000-0xffff8800014fe000          20K USR ro                 x=
  pte
0xffff8800014fe000-0xffff880001503000          20K USR ro                 x=
  pte
0xffff880001503000-0xffff880001508000          20K USR ro                 x=
  pte
0xffff880001508000-0xffff88000150d000          20K USR ro                 x=
  pte
0xffff88000150d000-0xffff880001511000          16K USR ro                 x=
  pte
0xffff880001511000-0xffff880001513000           8K USR ro                 x=
  pte
0xffff880001513000-0xffff880001514000           4K USR ro                 x=
  pte
0xffff880001514000-0xffff880001515000           4K USR ro                 x=
  pte
0xffff880001515000-0xffff880001516000           4K USR ro                 x=
  pte
0xffff880001516000-0xffff88000151b000          20K USR ro                 x=
  pte
0xffff88000151b000-0xffff880001520000          20K USR ro                 x=
  pte
0xffff880001520000-0xffff880001521000           4K USR ro                 x=
  pte
0xffff880001521000-0xffff880001523000           8K USR ro                 x=
  pte
0xffff880001523000-0xffff880001525000           8K USR ro                 x=
  pte
0xffff880001525000-0xffff880001526000           4K USR ro                 x=
  pte
0xffff880001526000-0xffff880001529000          12K USR ro                 x=
  pte
0xffff880001529000-0xffff88000152a000           4K USR ro                 x=
  pte
0xffff88000152a000-0xffff88000152b000           4K USR ro                 x=
  pte
0xffff88000152b000-0xffff88000152e000          12K USR ro                 x=
  pte
0xffff88000152e000-0xffff880001533000          20K USR ro                 x=
  pte
0xffff880001533000-0xffff880001535000           8K USR ro                 x=
  pte
0xffff880001535000-0xffff880001537000           8K USR ro                 x=
  pte
0xffff880001537000-0xffff880001538000           4K USR ro                 x=
  pte
0xffff880001538000-0xffff880001539000           4K USR ro                 x=
  pte
0xffff880001539000-0xffff88000153b000           8K USR ro                 x=
  pte
0xffff88000153b000-0xffff88000153d000           8K USR ro                 x=
  pte
0xffff88000153d000-0xffff880001541000          16K USR ro                 x=
  pte
0xffff880001541000-0xffff880001542000           4K USR ro                 x=
  pte
0xffff880001542000-0xffff880001544000           8K USR ro                 x=
  pte
0xffff880001544000-0xffff880001545000           4K USR ro                 x=
  pte
0xffff880001545000-0xffff880001547000           8K USR ro                 x=
  pte
0xffff880001547000-0xffff880001551000          40K USR ro                 x=
  pte
0xffff880001551000-0xffff880001552000           4K USR ro                 x=
  pte
0xffff880001552000-0xffff880001554000           8K USR ro                 x=
  pte
0xffff880001554000-0xffff880001555000           4K USR ro                 x=
  pte
0xffff880001555000-0xffff88000155d000          32K USR ro                 x=
  pte
0xffff88000155d000-0xffff88000155f000           8K USR ro                 x=
  pte
0xffff88000155f000-0xffff880001563000          16K USR ro                 x=
  pte
0xffff880001563000-0xffff880001566000          12K USR ro                 x=
  pte
0xffff880001566000-0xffff880001567000           4K USR ro                 x=
  pte
0xffff880001567000-0xffff880001568000           4K USR ro                 x=
  pte
0xffff880001568000-0xffff88000156a000           8K USR ro                 x=
  pte
0xffff88000156a000-0xffff88000156b000           4K USR ro                 x=
  pte
0xffff88000156b000-0xffff880001572000          28K USR ro                 x=
  pte
0xffff880001572000-0xffff880001573000           4K USR ro                 x=
  pte
0xffff880001573000-0xffff880001576000          12K USR ro                 x=
  pte
0xffff880001576000-0xffff880001577000           4K USR ro                 x=
  pte
0xffff880001577000-0xffff880001578000           4K USR ro                 x=
  pte
0xffff880001578000-0xffff880001579000           4K USR ro                 x=
  pte
0xffff880001579000-0xffff88000157a000           4K USR ro                 x=
  pte
0xffff88000157a000-0xffff88000157b000           4K USR ro                 x=
  pte
0xffff88000157b000-0xffff88000157d000           8K USR ro                 x=
  pte
0xffff88000157d000-0xffff88000157f000           8K USR ro                 x=
  pte
0xffff88000157f000-0xffff880001582000          12K USR ro                 x=
  pte
0xffff880001582000-0xffff880001584000           8K USR ro                 x=
  pte
0xffff880001584000-0xffff880001586000           8K USR ro                 x=
  pte
0xffff880001586000-0xffff880001588000           8K USR ro                 x=
  pte
0xffff880001588000-0xffff880001589000           4K USR ro                 x=
  pte
0xffff880001589000-0xffff88000158d000          16K USR ro                 x=
  pte
0xffff88000158d000-0xffff88000158f000           8K USR ro                 x=
  pte
0xffff88000158f000-0xffff880001593000          16K USR ro                 x=
  pte
0xffff880001593000-0xffff880001594000           4K USR ro                 x=
  pte
0xffff880001594000-0xffff880001595000           4K USR ro                 x=
  pte
0xffff880001595000-0xffff880001596000           4K USR ro                 x=
  pte
0xffff880001596000-0xffff880001599000          12K USR ro                 x=
  pte
0xffff880001599000-0xffff8800015ab000          72K USR ro                 x=
  pte
0xffff8800015ab000-0xffff8800015ac000           4K USR ro                 x=
  pte
0xffff8800015ac000-0xffff8800015b0000          16K USR ro                 x=
  pte
0xffff8800015b0000-0xffff8800015b1000           4K USR ro                 x=
  pte
0xffff8800015b1000-0xffff8800015b7000          24K USR ro                 x=
  pte
0xffff8800015b7000-0xffff880001600000         292K USR RW                 N=
X pte
0xffff880001600000-0xffff88000179c000        1648K USR ro                 N=
X pte
0xffff88000179c000-0xffff880001800000         400K USR RW                 N=
X pte
0xffff880001800000-0xffff880001802000           8K USR RW                 x=
  pte
0xffff880001802000-0xffff880001803000           4K USR RW                 x=
  pte
0xffff880001803000-0xffff880001805000           8K USR RW                 x=
  pte
0xffff880001805000-0xffff88000180b000          24K USR RW                 x=
  pte
0xffff88000180b000-0xffff88000180f000          16K USR ro                 x=
  pte
0xffff88000180f000-0xffff880001810000           4K USR RW                 x=
  pte
0xffff880001810000-0xffff880001812000           8K USR ro                 x=
  pte
0xffff880001812000-0xffff880001813000           4K USR RW                 x=
  pte
0xffff880001813000-0xffff880001815000           8K USR RW                 x=
  pte
0xffff880001815000-0xffff880001816000           4K USR RW                 x=
  pte
0xffff880001816000-0xffff880001818000           8K USR RW                 x=
  pte
0xffff880001818000-0xffff88000181a000           8K USR RW                 x=
  pte
0xffff88000181a000-0xffff88000181d000          12K USR RW                 x=
  pte
0xffff88000181d000-0xffff88000181e000           4K USR RW                 x=
  pte
0xffff88000181e000-0xffff880001832000          80K USR RW                 x=
  pte
0xffff880001832000-0xffff880001834000           8K USR RW                 x=
  pte
0xffff880001834000-0xffff88000183a000          24K USR RW                 x=
  pte
0xffff88000183a000-0xffff88000183d000          12K USR RW                 x=
  pte
0xffff88000183d000-0xffff880001841000          16K USR RW                 x=
  pte
0xffff880001841000-0xffff880001843000           8K USR RW                 x=
  pte
0xffff880001843000-0xffff880001845000           8K USR RW                 x=
  pte
0xffff880001845000-0xffff880001846000           4K USR RW                 x=
  pte
0xffff880001846000-0xffff880001849000          12K USR RW                 x=
  pte
0xffff880001849000-0xffff88000184a000           4K USR RW                 x=
  pte
0xffff88000184a000-0xffff88000184f000          20K USR RW                 x=
  pte
0xffff88000184f000-0xffff880001850000           4K USR RW                 x=
  pte
0xffff880001850000-0xffff880001885000         212K USR RW                 x=
  pte
0xffff880001885000-0xffff880001938000         716K USR RW                 N=
X pte
0xffff880001938000-0xffff88000193a000           8K USR RW                 x=
  pte
0xffff88000193a000-0xffff88000193b000           4K USR ro                 x=
  pte
0xffff88000193b000-0xffff88000193d000           8K USR RW                 x=
  pte
0xffff88000193d000-0xffff88000193e000           4K USR ro                 x=
  pte
0xffff88000193e000-0xffff880001948000          40K USR RW                 x=
  pte
0xffff880001948000-0xffff88000194a000           8K USR RW                 x=
  pte
0xffff88000194a000-0xffff88000194c000           8K USR RW                 x=
  pte
0xffff88000194c000-0xffff88000196c000         128K USR RW                 x=
  pte
0xffff88000196c000-0xffff88000196d000           4K USR RW                 x=
  pte
0xffff88000196d000-0xffff880001970000          12K USR RW                 x=
  pte
0xffff880001970000-0xffff880001971000           4K USR RW                 x=
  pte
0xffff880001971000-0xffff880001972000           4K USR RW                 x=
  pte
0xffff880001972000-0xffff880001973000           4K USR RW                 x=
  pte
0xffff880001973000-0xffff880001975000           8K USR RW                 x=
  pte
0xffff880001975000-0xffff880001976000           4K USR RW                 x=
  pte
0xffff880001976000-0xffff880001977000           4K USR RW                 x=
  pte
0xffff880001977000-0xffff88000197b000          16K USR RW                 x=
  pte
0xffff88000197b000-0xffff8800019b9000         248K USR RW                 x=
  pte
0xffff8800019b9000-0xffff8800019c0000          28K USR RW                 x=
  pte
0xffff8800019c0000-0xffff8800019df000         124K USR RW                 x=
  pte
0xffff8800019df000-0xffff8800019e8000          36K USR RW                 x=
  pte
0xffff8800019e8000-0xffff8800019f1000          36K USR RW                 x=
  pte
0xffff8800019f1000-0xffff8800019f2000           4K USR RW                 x=
  pte
0xffff8800019f2000-0xffff8800019f3000           4K USR RW                 x=
  pte
0xffff8800019f3000-0xffff8800019f5000           8K USR RW                 x=
  pte
0xffff8800019f5000-0xffff8800019f8000          12K USR RW                 x=
  pte
0xffff8800019f8000-0xffff880001a0a000          72K USR RW                 x=
  pte
0xffff880001a0a000-0xffff880001a0f000          20K USR RW                 x=
  pte
0xffff880001a0f000-0xffff880001a1c000          52K USR RW                 x=
  pte
0xffff880001a1c000-0xffff880001a1d000           4K USR RW                 x=
  pte
0xffff880001a1d000-0xffff880001aa4000         540K USR RW                 x=
  pte
0xffff880001aa4000-0xffff880001aa8000          16K USR ro                 x=
  pte
0xffff880001aa8000-0xffff880001b28000         512K USR RW                 x=
  pte
0xffff880001b28000-0xffff880001e3d000        3156K USR RW                 x=
  pte
0xffff880001e3d000-0xffff88000fc93000      227672K USR RW                 N=
X pte
0xffff88000fc93000-0xffff88001f694000      256004K USR RW                 x=
  pte
0xffff88001f694000-0xffff88001f696000           8K USR RW                 x=
  pte
0xffff88001f696000-0xffff88001f797000        1028K USR ro                 x=
  pte
0xffff88001f797000-0xffff88001fc00000        4516K USR RW                 x=
  pte
0xffff88001fc00000-0xffff880020400000           8M USR RW                 x=
  pte
0xffff880020400000-0xffff8800f057d000     3409396K USR RW                 N=
X pte
0xffff8800f057d000-0xffff8800ff7fb000      248312K USR ro                 N=
X pte
0xffff8800ff7fb000-0xffff881eb3801000   124583960K USR RW                 N=
X pte
0xffff881eb3801000-0xffff881eb3802000           4K USR ro                 N=
X pte
0xffff881eb3802000-0xffff881eb3838000         216K USR RW                 N=
X pte
0xffff881eb3838000-0xffff881eb3839000           4K USR ro                 N=
X pte
0xffff881eb3839000-0xffff881eb384d000          80K USR RW                 N=
X pte
0xffff881eb384d000-0xffff881eb384e000           4K USR ro                 N=
X pte
0xffff881eb384e000-0xffff881eb3888000         232K USR RW                 N=
X pte
0xffff881eb3888000-0xffff881eb3889000           4K USR ro                 N=
X pte
0xffff881eb3889000-0xffff881eb388f000          24K USR RW                 N=
X pte
0xffff881eb388f000-0xffff881eb3892000          12K USR ro                 N=
X pte
0xffff881eb3892000-0xffff881eb3894000           8K USR RW                 N=
X pte
0xffff881eb3894000-0xffff881eb3896000           8K USR ro                 N=
X pte
0xffff881eb3896000-0xffff881eb389a000          16K USR RW                 N=
X pte
0xffff881eb389a000-0xffff881eb389b000           4K USR ro                 N=
X pte
0xffff881eb389b000-0xffff881eb389c000           4K USR RW                 N=
X pte
0xffff881eb389c000-0xffff881eb389d000           4K USR ro                 N=
X pte
0xffff881eb389d000-0xffff881eb389e000           4K USR RW                 N=
X pte
0xffff881eb389e000-0xffff881eb38a0000           8K USR ro                 N=
X pte
0xffff881eb38a0000-0xffff881eb38a3000          12K USR RW                 N=
X pte
0xffff881eb38a3000-0xffff881eb38a7000          16K USR ro                 N=
X pte
0xffff881eb38a7000-0xffff881eb38aa000          12K USR RW                 N=
X pte
0xffff881eb38aa000-0xffff881eb38ac000           8K USR ro                 N=
X pte
0xffff881eb38ac000-0xffff881eb38ae000           8K USR RW                 N=
X pte
0xffff881eb38ae000-0xffff881eb38af000           4K USR ro                 N=
X pte
0xffff881eb38af000-0xffff881eb38bc000          52K USR RW                 N=
X pte
0xffff881eb38bc000-0xffff881eb38c0000          16K USR ro                 N=
X pte
0xffff881eb38c0000-0xffff881eb3c36000        3544K USR RW                 N=
X pte
0xffff881eb3c36000-0xffff881eb3c37000           4K USR ro                 N=
X pte
0xffff881eb3c37000-0xffff881eb3c80000         292K USR RW                 N=
X pte
0xffff881eb3c80000-0xffff881eb3c82000           8K USR ro                 N=
X pte
0xffff881eb3c82000-0xffff881eb3f30000        2744K USR RW                 N=
X pte
0xffff881eb3f30000-0xffff881eb3f34000          16K USR ro                 N=
X pte
0xffff881eb3f34000-0xffff881eb3f52000         120K USR RW                 N=
X pte
0xffff881eb3f52000-0xffff881eb3f54000           8K USR ro                 N=
X pte
0xffff881eb3f54000-0xffff881eb3f61000          52K USR RW                 N=
X pte
0xffff881eb3f61000-0xffff881eb3f62000           4K USR ro                 N=
X pte
0xffff881eb3f62000-0xffff881eb3fae000         304K USR RW                 N=
X pte
0xffff881eb3fae000-0xffff881eb3fb2000          16K USR ro                 N=
X pte
0xffff881eb3fb2000-0xffff881eb3fb3000           4K USR RW                 N=
X pte
0xffff881eb3fb3000-0xffff881eb3fb6000          12K USR ro                 N=
X pte
0xffff881eb3fb6000-0xffff881eb3fb7000           4K USR RW                 N=
X pte
0xffff881eb3fb7000-0xffff881eb3fbf000          32K USR ro                 N=
X pte
0xffff881eb3fbf000-0xffff881eb3fc3000          16K USR RW                 N=
X pte
0xffff881eb3fc3000-0xffff881eb3fca000          28K USR ro                 N=
X pte
0xffff881eb3fca000-0xffff881eb3fcb000           4K USR RW                 N=
X pte
0xffff881eb3fcb000-0xffff881eb3fcc000           4K USR ro                 N=
X pte
0xffff881eb3fcc000-0xffff881eb3fd5000          36K USR RW                 N=
X pte
0xffff881eb3fd5000-0xffff881eb3fd7000           8K USR ro                 N=
X pte
0xffff881eb3fd7000-0xffff881eb3fdb000          16K USR RW                 N=
X pte
0xffff881eb3fdb000-0xffff881eb3fdd000           8K USR ro                 N=
X pte
0xffff881eb3fdd000-0xffff881eb3fef000          72K USR RW                 N=
X pte
0xffff881eb3fef000-0xffff881eb3ff1000           8K USR ro                 N=
X pte
0xffff881eb3ff1000-0xffff881eb3ff3000           8K USR RW                 N=
X pte
0xffff881eb3ff3000-0xffff881eb3ff4000           4K USR ro                 N=
X pte
0xffff881eb3ff4000-0xffff881eb3ff8000          16K USR RW                 N=
X pte
0xffff881eb3ff8000-0xffff881eb3ff9000           4K USR ro                 N=
X pte
0xffff881eb3ff9000-0xffff881eb3ffb000           8K USR RW                 N=
X pte
0xffff881eb3ffb000-0xffff881eb3ffc000           4K USR ro                 N=
X pte
0xffff881eb3ffc000-0xffff881eb4023000         156K USR RW                 N=
X pte
0xffff881eb4023000-0xffff881eb4024000           4K USR ro                 N=
X pte
0xffff881eb4024000-0xffff881eb402b000          28K USR RW                 N=
X pte
0xffff881eb402b000-0xffff881eb4030000          20K USR ro                 N=
X pte
0xffff881eb4030000-0xffff881eb4035000          20K USR RW                 N=
X pte
0xffff881eb4035000-0xffff881eb4037000           8K USR ro                 N=
X pte
0xffff881eb4037000-0xffff881eb4038000           4K USR RW                 N=
X pte
0xffff881eb4038000-0xffff881eb4039000           4K USR ro                 N=
X pte
0xffff881eb4039000-0xffff881eb403a000           4K USR RW                 N=
X pte
0xffff881eb403a000-0xffff881eb403b000           4K USR ro                 N=
X pte
0xffff881eb403b000-0xffff881eb4041000          24K USR RW                 N=
X pte
0xffff881eb4041000-0xffff881eb4044000          12K USR ro                 N=
X pte
0xffff881eb4044000-0xffff881eb431a000        2904K USR RW                 N=
X pte
0xffff881eb431a000-0xffff881eb431c000           8K USR ro                 N=
X pte
0xffff881eb431c000-0xffff881eb4389000         436K USR RW                 N=
X pte
0xffff881eb4389000-0xffff881eb438a000           4K USR ro                 N=
X pte
0xffff881eb438a000-0xffff881eb5a16000       23088K USR RW                 N=
X pte
0xffff881eb5a16000-0xffff881eb5a17000           4K USR ro                 N=
X pte
0xffff881eb5a17000-0xffff881eb5a31000         104K USR RW                 N=
X pte
0xffff881eb5a31000-0xffff881eb5a32000           4K USR ro                 N=
X pte
0xffff881eb5a32000-0xffff881eb5a36000          16K USR RW                 N=
X pte
0xffff881eb5a36000-0xffff881eb5a38000           8K USR ro                 N=
X pte
0xffff881eb5a38000-0xffff881eb5b57000        1148K USR RW                 N=
X pte
0xffff881eb5b57000-0xffff881eb5b58000           4K USR ro                 N=
X pte
0xffff881eb5b58000-0xffff881eb5b5a000           8K USR RW                 N=
X pte
0xffff881eb5b5a000-0xffff881eb5b5d000          12K USR ro                 N=
X pte
0xffff881eb5b5d000-0xffff881eb5b61000          16K USR RW                 N=
X pte
0xffff881eb5b61000-0xffff881eb5b71000          64K USR ro                 N=
X pte
0xffff881eb5b71000-0xffff881eb5b74000          12K USR RW                 N=
X pte
0xffff881eb5b74000-0xffff881eb5b76000           8K USR ro                 N=
X pte
0xffff881eb5b76000-0xffff881eb5b77000           4K USR RW                 N=
X pte
0xffff881eb5b77000-0xffff881eb5b78000           4K USR ro                 N=
X pte
0xffff881eb5b78000-0xffff881eb5b79000           4K USR RW                 N=
X pte
0xffff881eb5b79000-0xffff881eb5b7b000           8K USR ro                 N=
X pte
0xffff881eb5b7b000-0xffff881eb5b7f000          16K USR RW                 N=
X pte
0xffff881eb5b7f000-0xffff881eb5b86000          28K USR ro                 N=
X pte
0xffff881eb5b86000-0xffff881eb5b87000           4K USR RW                 N=
X pte
0xffff881eb5b87000-0xffff881eb5b89000           8K USR ro                 N=
X pte
0xffff881eb5b89000-0xffff881eb5b96000          52K USR RW                 N=
X pte
0xffff881eb5b96000-0xffff881eb5b97000           4K USR ro                 N=
X pte
0xffff881eb5b97000-0xffff881eb5bc9000         200K USR RW                 N=
X pte
0xffff881eb5bc9000-0xffff881eb5bca000           4K USR ro                 N=
X pte
0xffff881eb5bca000-0xffff881eb5bd6000          48K USR RW                 N=
X pte
0xffff881eb5bd6000-0xffff881eb5bd7000           4K USR ro                 N=
X pte
0xffff881eb5bd7000-0xffff881eb5bda000          12K USR RW                 N=
X pte
0xffff881eb5bda000-0xffff881eb5bdb000           4K USR ro                 N=
X pte
0xffff881eb5bdb000-0xffff881eb5bed000          72K USR RW                 N=
X pte
0xffff881eb5bed000-0xffff881eb5bee000           4K USR ro                 N=
X pte
0xffff881eb5bee000-0xffff881eb5bf0000           8K USR RW                 N=
X pte
0xffff881eb5bf0000-0xffff881eb5bf1000           4K USR ro                 N=
X pte
0xffff881eb5bf1000-0xffff881eb5bf8000          28K USR RW                 N=
X pte
0xffff881eb5bf8000-0xffff881eb5bf9000           4K USR ro                 N=
X pte
0xffff881eb5bf9000-0xffff881eb5bfe000          20K USR RW                 N=
X pte
0xffff881eb5bfe000-0xffff881eb5c00000           8K USR ro                 N=
X pte
0xffff881eb5c00000-0xffff881eb7600000          26M USR RW                 N=
X pte
0xffff881eb7600000-0xffff881eb761b000         108K USR ro                 N=
X pte
0xffff881eb761b000-0xffff881eb7622000          28K USR RW                 N=
X pte
0xffff881eb7622000-0xffff881eb7626000          16K USR ro                 N=
X pte
0xffff881eb7626000-0xffff881eb7627000           4K USR RW                 N=
X pte
0xffff881eb7627000-0xffff881eb7628000           4K USR ro                 N=
X pte
0xffff881eb7628000-0xffff881eb7629000           4K USR RW                 N=
X pte
0xffff881eb7629000-0xffff881eb762a000           4K USR ro                 N=
X pte
0xffff881eb762a000-0xffff881eb7631000          28K USR RW                 N=
X pte
0xffff881eb7631000-0xffff881eb7632000           4K USR ro                 N=
X pte
0xffff881eb7632000-0xffff881eb7633000           4K USR RW                 N=
X pte
0xffff881eb7633000-0xffff881eb7634000           4K USR ro                 N=
X pte
0xffff881eb7634000-0xffff881eb7640000          48K USR RW                 N=
X pte
0xffff881eb7640000-0xffff881eb76f4000         720K USR ro                 N=
X pte
0xffff881eb76f4000-0xffff881eb77a9000         724K USR RW                 N=
X pte
0xffff881eb77a9000-0xffff881eb77aa000           4K USR ro                 N=
X pte
0xffff881eb77aa000-0xffff881eb77b4000          40K USR RW                 N=
X pte
0xffff881eb77b4000-0xffff881eb77ba000          24K USR ro                 N=
X pte
0xffff881eb77ba000-0xffff881eb77bb000           4K USR RW                 N=
X pte
0xffff881eb77bb000-0xffff881eb77bc000           4K USR ro                 N=
X pte
0xffff881eb77bc000-0xffff881eb77c8000          48K USR RW                 N=
X pte
0xffff881eb77c8000-0xffff881eb77ca000           8K USR ro                 N=
X pte
0xffff881eb77ca000-0xffff881eb77cb000           4K USR RW                 N=
X pte
0xffff881eb77cb000-0xffff881eb77cc000           4K USR ro                 N=
X pte
0xffff881eb77cc000-0xffff881eb77ce000           8K USR RW                 N=
X pte
0xffff881eb77ce000-0xffff881eb77d0000           8K USR ro                 N=
X pte
0xffff881eb77d0000-0xffff881eb77da000          40K USR RW                 N=
X pte
0xffff881eb77da000-0xffff881eb77dd000          12K USR ro                 N=
X pte
0xffff881eb77dd000-0xffff881eb77df000           8K USR RW                 N=
X pte
0xffff881eb77df000-0xffff881eb77e0000           4K USR ro                 N=
X pte
0xffff881eb77e0000-0xffff881eb77ee000          56K USR RW                 N=
X pte
0xffff881eb77ee000-0xffff881eb77f0000           8K USR ro                 N=
X pte
0xffff881eb77f0000-0xffff881ebb489000       62052K USR RW                 N=
X pte
0xffff881ebb489000-0xffff881ebb48c000          12K USR ro                 N=
X pte
0xffff881ebb48c000-0xffff881ebb48f000          12K USR RW                 N=
X pte
0xffff881ebb48f000-0xffff881ebb491000           8K USR ro                 N=
X pte
0xffff881ebb491000-0xffff881ebb495000          16K USR RW                 N=
X pte
0xffff881ebb495000-0xffff881ebb49a000          20K USR ro                 N=
X pte
0xffff881ebb49a000-0xffff881ebb49c000           8K USR RW                 N=
X pte
0xffff881ebb49c000-0xffff881ebb49d000           4K USR ro                 N=
X pte
0xffff881ebb49d000-0xffff881ebb49e000           4K USR RW                 N=
X pte
0xffff881ebb49e000-0xffff881ebb49f000           4K USR ro                 N=
X pte
0xffff881ebb49f000-0xffff881ebb4a2000          12K USR RW                 N=
X pte
0xffff881ebb4a2000-0xffff881ebb4a3000           4K USR ro                 N=
X pte
0xffff881ebb4a3000-0xffff881ebb4a6000          12K USR RW                 N=
X pte
0xffff881ebb4a6000-0xffff881ebb4a8000           8K USR ro                 N=
X pte
0xffff881ebb4a8000-0xffff881ebb4af000          28K USR RW                 N=
X pte
0xffff881ebb4af000-0xffff881ebb4b0000           4K USR ro                 N=
X pte
0xffff881ebb4b0000-0xffff881ebb4b1000           4K USR RW                 N=
X pte
0xffff881ebb4b1000-0xffff881ebb4b6000          20K USR ro                 N=
X pte
0xffff881ebb4b6000-0xffff881ebb4bf000          36K USR RW                 N=
X pte
0xffff881ebb4bf000-0xffff881ebb4c0000           4K USR ro                 N=
X pte
0xffff881ebb4c0000-0xffff881ebb4c9000          36K USR RW                 N=
X pte
0xffff881ebb4c9000-0xffff881ebb4ca000           4K USR ro                 N=
X pte
0xffff881ebb4ca000-0xffff881ebb4ce000          16K USR RW                 N=
X pte
0xffff881ebb4ce000-0xffff881ebb4cf000           4K USR ro                 N=
X pte
0xffff881ebb4cf000-0xffff881ebb4d0000           4K USR RW                 N=
X pte
0xffff881ebb4d0000-0xffff881ebb4d4000          16K USR ro                 N=
X pte
0xffff881ebb4d4000-0xffff881ebb4d5000           4K USR RW                 N=
X pte
0xffff881ebb4d5000-0xffff881ebb4d6000           4K USR ro                 N=
X pte
0xffff881ebb4d6000-0xffff881ebb4d7000           4K USR RW                 N=
X pte
0xffff881ebb4d7000-0xffff881ebb4d8000           4K USR ro                 N=
X pte
0xffff881ebb4d8000-0xffff881ebb4db000          12K USR RW                 N=
X pte
0xffff881ebb4db000-0xffff881ebb4dc000           4K USR ro                 N=
X pte
0xffff881ebb4dc000-0xffff881ebb4e0000          16K USR RW                 N=
X pte
0xffff881ebb4e0000-0xffff881ebb4e1000           4K USR ro                 N=
X pte
0xffff881ebb4e1000-0xffff881ebb4ea000          36K USR RW                 N=
X pte
0xffff881ebb4ea000-0xffff881ebb4eb000           4K USR ro                 N=
X pte
0xffff881ebb4eb000-0xffff881ebb4f9000          56K USR RW                 N=
X pte
0xffff881ebb4f9000-0xffff881ebb4fa000           4K USR ro                 N=
X pte
0xffff881ebb4fa000-0xffff881ebb4ff000          20K USR RW                 N=
X pte
0xffff881ebb4ff000-0xffff881ebb500000           4K USR ro                 N=
X pte
0xffff881ebb500000-0xffff881ebb684000        1552K USR RW                 N=
X pte
0xffff881ebb684000-0xffff881ebb686000           8K USR ro                 N=
X pte
0xffff881ebb686000-0xffff881ebb68c000          24K USR RW                 N=
X pte
0xffff881ebb68c000-0xffff881ebb68d000           4K USR ro                 N=
X pte
0xffff881ebb68d000-0xffff881ebb68f000           8K USR RW                 N=
X pte
0xffff881ebb68f000-0xffff881ebb690000           4K USR ro                 N=
X pte
0xffff881ebb690000-0xffff881ebb6a6000          88K USR RW                 N=
X pte
0xffff881ebb6a6000-0xffff881ebb6a8000           8K USR ro                 N=
X pte
0xffff881ebb6a8000-0xffff881ebb6b7000          60K USR RW                 N=
X pte
0xffff881ebb6b7000-0xffff881ebb6b8000           4K USR ro                 N=
X pte
0xffff881ebb6b8000-0xffff881ebb6bb000          12K USR RW                 N=
X pte
0xffff881ebb6bb000-0xffff881ebb6bc000           4K USR ro                 N=
X pte
0xffff881ebb6bc000-0xffff881ebb6c4000          32K USR RW                 N=
X pte
0xffff881ebb6c4000-0xffff881ebb6d0000          48K USR ro                 N=
X pte
0xffff881ebb6d0000-0xffff881ebb6d1000           4K USR RW                 N=
X pte
0xffff881ebb6d1000-0xffff881ebb6d4000          12K USR ro                 N=
X pte
0xffff881ebb6d4000-0xffff881ebb6d9000          20K USR RW                 N=
X pte
0xffff881ebb6d9000-0xffff881ebb6db000           8K USR ro                 N=
X pte
0xffff881ebb6db000-0xffff881ebb6de000          12K USR RW                 N=
X pte
0xffff881ebb6de000-0xffff881ebb6df000           4K USR ro                 N=
X pte
0xffff881ebb6df000-0xffff881ebb6e5000          24K USR RW                 N=
X pte
0xffff881ebb6e5000-0xffff881ebb6e6000           4K USR ro                 N=
X pte
0xffff881ebb6e6000-0xffff881ebbf06000        8320K USR RW                 N=
X pte
0xffff881ebbf06000-0xffff881ebbf08000           8K USR ro                 N=
X pte
0xffff881ebbf08000-0xffff881ebbf0e000          24K USR RW                 N=
X pte
0xffff881ebbf0e000-0xffff881ebbf10000           8K USR ro                 N=
X pte
0xffff881ebbf10000-0xffff881ebbf11000           4K USR RW                 N=
X pte
0xffff881ebbf11000-0xffff881ebbf13000           8K USR ro                 N=
X pte
0xffff881ebbf13000-0xffff881ebbf14000           4K USR RW                 N=
X pte
0xffff881ebbf14000-0xffff881ebbf19000          20K USR ro                 N=
X pte
0xffff881ebbf19000-0xffff881ebbf24000          44K USR RW                 N=
X pte
0xffff881ebbf24000-0xffff881ebbf25000           4K USR ro                 N=
X pte
0xffff881ebbf25000-0xffff881ebbf26000           4K USR RW                 N=
X pte
0xffff881ebbf26000-0xffff881ebbf27000           4K USR ro                 N=
X pte
0xffff881ebbf27000-0xffff881ebbf30000          36K USR RW                 N=
X pte
0xffff881ebbf30000-0xffff881ebbf31000           4K USR ro                 N=
X pte
0xffff881ebbf31000-0xffff881ebbf3c000          44K USR RW                 N=
X pte
0xffff881ebbf3c000-0xffff881ebbf3d000           4K USR ro                 N=
X pte
0xffff881ebbf3d000-0xffff881ebbf41000          16K USR RW                 N=
X pte
0xffff881ebbf41000-0xffff881ebbf42000           4K USR ro                 N=
X pte
0xffff881ebbf42000-0xffff881ebbf5e000         112K USR RW                 N=
X pte
0xffff881ebbf5e000-0xffff881ebbf5f000           4K USR ro                 N=
X pte
0xffff881ebbf5f000-0xffff881ebbf68000          36K USR RW                 N=
X pte
0xffff881ebbf68000-0xffff881ebbf69000           4K USR ro                 N=
X pte
0xffff881ebbf69000-0xffff881ebbf81000          96K USR RW                 N=
X pte
0xffff881ebbf81000-0xffff881ebbf83000           8K USR ro                 N=
X pte
0xffff881ebbf83000-0xffff881ebbf84000           4K USR RW                 N=
X pte
0xffff881ebbf84000-0xffff881ebbf86000           8K USR ro                 N=
X pte
0xffff881ebbf86000-0xffff881ebbf8c000          24K USR RW                 N=
X pte
0xffff881ebbf8c000-0xffff881ebbf8d000           4K USR ro                 N=
X pte
0xffff881ebbf8d000-0xffff881ebbf8e000           4K USR RW                 N=
X pte
0xffff881ebbf8e000-0xffff881ebbf8f000           4K USR ro                 N=
X pte
0xffff881ebbf8f000-0xffff881ebbf90000           4K USR RW                 N=
X pte
0xffff881ebbf90000-0xffff881ebbf96000          24K USR ro                 N=
X pte
0xffff881ebbf96000-0xffff881ebbf9c000          24K USR RW                 N=
X pte
0xffff881ebbf9c000-0xffff881ebbfa0000          16K USR ro                 N=
X pte
0xffff881ebbfa0000-0xffff881ebbfa3000          12K USR RW                 N=
X pte
0xffff881ebbfa3000-0xffff881ebbfac000          36K USR ro                 N=
X pte
0xffff881ebbfac000-0xffff881ebbfae000           8K USR RW                 N=
X pte
0xffff881ebbfae000-0xffff881ebbfaf000           4K USR ro                 N=
X pte
0xffff881ebbfaf000-0xffff881ebbfb0000           4K USR RW                 N=
X pte
0xffff881ebbfb0000-0xffff881ebbfb1000           4K USR ro                 N=
X pte
0xffff881ebbfb1000-0xffff881ebbfb2000           4K USR RW                 N=
X pte
0xffff881ebbfb2000-0xffff881ebbfb4000           8K USR ro                 N=
X pte
0xffff881ebbfb4000-0xffff881ebbfc5000          68K USR RW                 N=
X pte
0xffff881ebbfc5000-0xffff881ebbfc7000           8K USR ro                 N=
X pte
0xffff881ebbfc7000-0xffff881ebbfe1000         104K USR RW                 N=
X pte
0xffff881ebbfe1000-0xffff881ebbfe2000           4K USR ro                 N=
X pte
0xffff881ebbfe2000-0xffff881ebbfe5000          12K USR RW                 N=
X pte
0xffff881ebbfe5000-0xffff881ebbfe8000          12K USR ro                 N=
X pte
0xffff881ebbfe8000-0xffff881ebbfed000          20K USR RW                 N=
X pte
0xffff881ebbfed000-0xffff881ebbfee000           4K USR ro                 N=
X pte
0xffff881ebbfee000-0xffff881ebbff2000          16K USR RW                 N=
X pte
0xffff881ebbff2000-0xffff881ebbff3000           4K USR ro                 N=
X pte
0xffff881ebbff3000-0xffff881ebbff6000          12K USR RW                 N=
X pte
0xffff881ebbff6000-0xffff881ebbfff000          36K USR ro                 N=
X pte
0xffff881ebbfff000-0xffff881ebc355000        3416K USR RW                 N=
X pte
0xffff881ebc355000-0xffff881ebc356000           4K USR ro                 N=
X pte
0xffff881ebc356000-0xffff881ebc35c000          24K USR RW                 N=
X pte
0xffff881ebc35c000-0xffff881ebc35e000           8K USR ro                 N=
X pte
0xffff881ebc35e000-0xffff881ebc362000          16K USR RW                 N=
X pte
0xffff881ebc362000-0xffff881ebc364000           8K USR ro                 N=
X pte
0xffff881ebc364000-0xffff881ebc366000           8K USR RW                 N=
X pte
0xffff881ebc366000-0xffff881ebc368000           8K USR ro                 N=
X pte
0xffff881ebc368000-0xffff881ebc372000          40K USR RW                 N=
X pte
0xffff881ebc372000-0xffff881ebc374000           8K USR ro                 N=
X pte
0xffff881ebc374000-0xffff881ebc376000           8K USR RW                 N=
X pte
0xffff881ebc376000-0xffff881ebc377000           4K USR ro                 N=
X pte
0xffff881ebc377000-0xffff881ebc37e000          28K USR RW                 N=
X pte
0xffff881ebc37e000-0xffff881ebc37f000           4K USR ro                 N=
X pte
0xffff881ebc37f000-0xffff881ebc385000          24K USR RW                 N=
X pte
0xffff881ebc385000-0xffff881ebc387000           8K USR ro                 N=
X pte
0xffff881ebc387000-0xffff881ebc388000           4K USR RW                 N=
X pte
0xffff881ebc388000-0xffff881ebc38a000           8K USR ro                 N=
X pte
0xffff881ebc38a000-0xffff881ebc38c000           8K USR RW                 N=
X pte
0xffff881ebc38c000-0xffff881ebc38f000          12K USR ro                 N=
X pte
0xffff881ebc38f000-0xffff881ebc392000          12K USR RW                 N=
X pte
0xffff881ebc392000-0xffff881ebc393000           4K USR ro                 N=
X pte
0xffff881ebc393000-0xffff881ebc395000           8K USR RW                 N=
X pte
0xffff881ebc395000-0xffff881ebc396000           4K USR ro                 N=
X pte
0xffff881ebc396000-0xffff881ebc39c000          24K USR RW                 N=
X pte
0xffff881ebc39c000-0xffff881ebc39e000           8K USR ro                 N=
X pte
0xffff881ebc39e000-0xffff881ebc39f000           4K USR RW                 N=
X pte
0xffff881ebc39f000-0xffff881ebc3a0000           4K USR ro                 N=
X pte
0xffff881ebc3a0000-0xffff881ebc3a2000           8K USR RW                 N=
X pte
0xffff881ebc3a2000-0xffff881ebc3a4000           8K USR ro                 N=
X pte
0xffff881ebc3a4000-0xffff881ebc3a5000           4K USR RW                 N=
X pte
0xffff881ebc3a5000-0xffff881ebc3a6000           4K USR ro                 N=
X pte
0xffff881ebc3a6000-0xffff881ebc3aa000          16K USR RW                 N=
X pte
0xffff881ebc3aa000-0xffff881ebc3ab000           4K USR ro                 N=
X pte
0xffff881ebc3ab000-0xffff881ebc3ad000           8K USR RW                 N=
X pte
0xffff881ebc3ad000-0xffff881ebc3ae000           4K USR ro                 N=
X pte
0xffff881ebc3ae000-0xffff881ebc3af000           4K USR RW                 N=
X pte
0xffff881ebc3af000-0xffff881ebc3b0000           4K USR ro                 N=
X pte
0xffff881ebc3b0000-0xffff881ebc3c5000          84K USR RW                 N=
X pte
0xffff881ebc3c5000-0xffff881ebc3c6000           4K USR ro                 N=
X pte
0xffff881ebc3c6000-0xffff881ebc3d0000          40K USR RW                 N=
X pte
0xffff881ebc3d0000-0xffff881ebc3d2000           8K USR ro                 N=
X pte
0xffff881ebc3d2000-0xffff881ebc3d4000           8K USR RW                 N=
X pte
0xffff881ebc3d4000-0xffff881ebc3d5000           4K USR ro                 N=
X pte
0xffff881ebc3d5000-0xffff881ebc3d8000          12K USR RW                 N=
X pte
0xffff881ebc3d8000-0xffff881ebc3da000           8K USR ro                 N=
X pte
0xffff881ebc3da000-0xffff881ebc3f9000         124K USR RW                 N=
X pte
0xffff881ebc3f9000-0xffff881ebc3fa000           4K USR ro                 N=
X pte
0xffff881ebc3fa000-0xffff881ebe71a000       35968K USR RW                 N=
X pte
0xffff881ebe71a000-0xffff881ebe71d000          12K USR ro                 N=
X pte
0xffff881ebe71d000-0xffff881ebe71e000           4K USR RW                 N=
X pte
0xffff881ebe71e000-0xffff881ebe71f000           4K USR ro                 N=
X pte
0xffff881ebe71f000-0xffff881ebe721000           8K USR RW                 N=
X pte
0xffff881ebe721000-0xffff881ebe723000           8K USR ro                 N=
X pte
0xffff881ebe723000-0xffff881ec1283000       44416K USR RW                 N=
X pte
0xffff881ec1283000-0xffff881ec1400000        1524K USR ro                 N=
X pte
0xffff881ec1400000-0xffff881f3082c000     1822896K USR RW                 N=
X pte
0xffff881f3082c000-0xffff881f3082e000           8K USR ro                 N=
X pte
0xffff881f3082e000-0xffff881f30855000         156K USR RW                 N=
X pte
0xffff881f30855000-0xffff881f30856000           4K USR ro                 N=
X pte
0xffff881f30856000-0xffff881f30d21000        4908K USR RW                 N=
X pte
0xffff881f30d21000-0xffff881f30d22000           4K USR ro                 N=
X pte
0xffff881f30d22000-0xffff881f30f23000        2052K USR RW                 N=
X pte
0xffff881f30f23000-0xffff881f30f24000           4K USR ro                 N=
X pte
0xffff881f30f24000-0xffff881f3121d000        3044K USR RW                 N=
X pte
0xffff881f3121d000-0xffff881f31221000          16K USR ro                 N=
X pte
0xffff881f31221000-0xffff881f31a09000        8096K USR RW                 N=
X pte
0xffff881f31a09000-0xffff881f31a0b000           8K USR ro                 N=
X pte
0xffff881f31a0b000-0xffff881f31cbf000        2768K USR RW                 N=
X pte
0xffff881f31cbf000-0xffff881f31cde000         124K USR ro                 N=
X pte
0xffff881f31cde000-0xffff881f35c5e000       65024K USR RW                 N=
X pte
0xffff881f35c5e000-0xffff881f35c9e000         256K USR ro                 N=
X pte
0xffff881f35c9e000-0xffff881f35cbe000         128K USR RW                 N=
X pte
0xffff881f35cbe000-0xffff881f35cbf000           4K USR ro                 N=
X pte
0xffff881f35cbf000-0xffff881f3e05b000      134768K USR RW                 N=
X pte
0xffff881f3e05b000-0xffff881f3e05e000          12K USR ro                 N=
X pte
0xffff881f3e05e000-0xffff881f3e600000        5768K USR RW                 N=
X pte
0xffff881f3e600000-0xffff881f3e7f2000        1992K USR ro                 N=
X pte
0xffff881f3e7f2000-0xffff881f3efaa000        7904K USR RW                 N=
X pte
0xffff881f3efaa000-0xffff881f3efab000           4K USR ro                 N=
X pte
0xffff881f3efab000-0xffff881f3efc3000          96K USR RW                 N=
X pte
0xffff881f3efc3000-0xffff881f3efc7000          16K USR ro                 N=
X pte
0xffff881f3efc7000-0xffff881f40000000       16612K USR RW                 N=
X pte
0xffff881f40000000-0xffff881f40800000           8M                         =
  pte
0xffff881f40800000-0xffff881f80000000        1016M                         =
  pmd
0xffff881f80000000-0xffff888000000000         386G                         =
  pud
0xffff888000000000-0xffffc90000000000       66048G                         =
  pgd
---[ vmalloc() Area ]---
0xffffc90000000000-0xffffc90008000000         128M USR RW                 N=
X pte
0xffffc90008000000-0xffffc90008001000           4K                         =
  pte
0xffffc90008001000-0xffffc90008041000         256K USR RW                 N=
X pte
0xffffc90008041000-0xffffc90008042000           4K                         =
  pte
0xffffc90008042000-0xffffc9000c042000          64M USR RW                 N=
X pte
0xffffc9000c042000-0xffffc9000c043000           4K                         =
  pte
0xffffc9000c043000-0xffffc9000c063000         128K USR RW                 N=
X pte
0xffffc9000c063000-0xffffc9000c064000           4K                         =
  pte
0xffffc9000c064000-0xffffc9000c066000           8K USR RW                 N=
X pte
0xffffc9000c066000-0xffffc9000c068000           8K                         =
  pte
0xffffc9000c068000-0xffffc9000c069000           4K USR RW                 N=
X pte
0xffffc9000c069000-0xffffc9000c06d000          16K                         =
  pte
0xffffc9000c06d000-0xffffc9000c071000          16K USR RW                 N=
X pte
0xffffc9000c071000-0xffffc9000c072000           4K                         =
  pte
0xffffc9000c072000-0xffffc9000c07d000          44K USR RW                 N=
X pte
0xffffc9000c07d000-0xffffc9000c080000          12K                         =
  pte
0xffffc9000c080000-0xffffc9000c081000           4K USR RW                 N=
X pte
0xffffc9000c081000-0xffffc9000c0a1000         128K                         =
  pte
0xffffc9000c0a1000-0xffffc9000c4a1000           4M USR RW                 N=
X pte
0xffffc9000c4a1000-0xffffc9000c4a2000           4K                         =
  pte
0xffffc9000c4a2000-0xffffc9000cca2000           8M USR RW                 N=
X pte
0xffffc9000cca2000-0xffffc9000cca3000           4K                         =
  pte
0xffffc9000cca3000-0xffffc9000cda3000           1M USR RW                 N=
X pte
0xffffc9000cda3000-0xffffc9000cda4000           4K                         =
  pte
0xffffc9000cda4000-0xffffc9000cfa4000           2M USR RW                 N=
X pte
0xffffc9000cfa4000-0xffffc9000cfa5000           4K                         =
  pte
0xffffc9000cfa5000-0xffffc9000d1a5000           2M USR RW                 N=
X pte
0xffffc9000d1a5000-0xffffc9000d1a6000           4K                         =
  pte
0xffffc9000d1a6000-0xffffc9000d1b2000          48K USR RW                 N=
X pte
0xffffc9000d1b2000-0xffffc9000d800000        6456K                         =
  pte
0xffffc9000d800000-0xffffc90040000000         808M                         =
  pmd
0xffffc90040000000-0xffffc98000000000         511G                         =
  pud
0xffffc98000000000-0xffffea0000000000       33280G                         =
  pgd
---[ Vmemmap ]---
0xffffea0000000000-0xffffea006d7c0000     1793792K USR RW                 N=
X pte
0xffffea006d7c0000-0xffffea006d800000         256K                         =
  pte
0xffffea006d800000-0xffffea0080000000         296M                         =
  pmd
0xffffea0080000000-0xffffea8000000000         510G                         =
  pud
0xffffea8000000000-0xffffff8000000000          21T                         =
  pgd
0xffffff8000000000-0xffffffff80000000         510G                         =
  pud
---[ High Kernel Mapping ]---
0xffffffff80000000-0xffffffff81000000          16M                         =
  pmd
0xffffffff81000000-0xffffffff81002000           8K USR ro                 x=
  pte
0xffffffff81002000-0xffffffff81013000          68K USR ro                 x=
  pte
0xffffffff81013000-0xffffffff81015000           8K USR ro                 x=
  pte
0xffffffff81015000-0xffffffff81017000           8K USR ro                 x=
  pte
0xffffffff81017000-0xffffffff81019000           8K USR ro                 x=
  pte
0xffffffff81019000-0xffffffff8101a000           4K USR ro                 x=
  pte
0xffffffff8101a000-0xffffffff8101b000           4K USR ro                 x=
  pte
0xffffffff8101b000-0xffffffff8101f000          16K USR ro                 x=
  pte
0xffffffff8101f000-0xffffffff81028000          36K USR ro                 x=
  pte
0xffffffff81028000-0xffffffff8102a000           8K USR ro                 x=
  pte
0xffffffff8102a000-0xffffffff8102c000           8K USR ro                 x=
  pte
0xffffffff8102c000-0xffffffff8103c000          64K USR ro                 x=
  pte
0xffffffff8103c000-0xffffffff8103d000           4K USR ro                 x=
  pte
0xffffffff8103d000-0xffffffff81051000          80K USR ro                 x=
  pte
0xffffffff81051000-0xffffffff81052000           4K USR ro                 x=
  pte
0xffffffff81052000-0xffffffff81057000          20K USR ro                 x=
  pte
0xffffffff81057000-0xffffffff81058000           4K USR ro                 x=
  pte
0xffffffff81058000-0xffffffff81061000          36K USR ro                 x=
  pte
0xffffffff81061000-0xffffffff81063000           8K USR ro                 x=
  pte
0xffffffff81063000-0xffffffff8106b000          32K USR ro                 x=
  pte
0xffffffff8106b000-0xffffffff8106c000           4K USR ro                 x=
  pte
0xffffffff8106c000-0xffffffff81078000          48K USR ro                 x=
  pte
0xffffffff81078000-0xffffffff8107a000           8K USR ro                 x=
  pte
0xffffffff8107a000-0xffffffff81083000          36K USR ro                 x=
  pte
0xffffffff81083000-0xffffffff81084000           4K USR ro                 x=
  pte
0xffffffff81084000-0xffffffff8108f000          44K USR ro                 x=
  pte
0xffffffff8108f000-0xffffffff81090000           4K USR ro                 x=
  pte
0xffffffff81090000-0xffffffff81094000          16K USR ro                 x=
  pte
0xffffffff81094000-0xffffffff81097000          12K USR ro                 x=
  pte
0xffffffff81097000-0xffffffff810a0000          36K USR ro                 x=
  pte
0xffffffff810a0000-0xffffffff810a2000           8K USR ro                 x=
  pte
0xffffffff810a2000-0xffffffff810a7000          20K USR ro                 x=
  pte
0xffffffff810a7000-0xffffffff810a8000           4K USR ro                 x=
  pte
0xffffffff810a8000-0xffffffff810aa000           8K USR ro                 x=
  pte
0xffffffff810aa000-0xffffffff810af000          20K USR ro                 x=
  pte
0xffffffff810af000-0xffffffff810b4000          20K USR ro                 x=
  pte
0xffffffff810b4000-0xffffffff810b6000           8K USR ro                 x=
  pte
0xffffffff810b6000-0xffffffff810c0000          40K USR ro                 x=
  pte
0xffffffff810c0000-0xffffffff810c4000          16K USR ro                 x=
  pte
0xffffffff810c4000-0xffffffff810c6000           8K USR ro                 x=
  pte
0xffffffff810c6000-0xffffffff810ca000          16K USR ro                 x=
  pte
0xffffffff810ca000-0xffffffff810cc000           8K USR ro                 x=
  pte
0xffffffff810cc000-0xffffffff810cd000           4K USR ro                 x=
  pte
0xffffffff810cd000-0xffffffff810d5000          32K USR ro                 x=
  pte
0xffffffff810d5000-0xffffffff810d9000          16K USR ro                 x=
  pte
0xffffffff810d9000-0xffffffff810da000           4K USR ro                 x=
  pte
0xffffffff810da000-0xffffffff810db000           4K USR ro                 x=
  pte
0xffffffff810db000-0xffffffff810dc000           4K USR ro                 x=
  pte
0xffffffff810dc000-0xffffffff810dd000           4K USR ro                 x=
  pte
0xffffffff810dd000-0xffffffff810e2000          20K USR ro                 x=
  pte
0xffffffff810e2000-0xffffffff810e3000           4K USR ro                 x=
  pte
0xffffffff810e3000-0xffffffff810f8000          84K USR ro                 x=
  pte
0xffffffff810f8000-0xffffffff810fb000          12K USR ro                 x=
  pte
0xffffffff810fb000-0xffffffff81101000          24K USR ro                 x=
  pte
0xffffffff81101000-0xffffffff81102000           4K USR ro                 x=
  pte
0xffffffff81102000-0xffffffff81106000          16K USR ro                 x=
  pte
0xffffffff81106000-0xffffffff81107000           4K USR ro                 x=
  pte
0xffffffff81107000-0xffffffff81108000           4K USR ro                 x=
  pte
0xffffffff81108000-0xffffffff81109000           4K USR ro                 x=
  pte
0xffffffff81109000-0xffffffff81113000          40K USR ro                 x=
  pte
0xffffffff81113000-0xffffffff81114000           4K USR ro                 x=
  pte
0xffffffff81114000-0xffffffff81117000          12K USR ro                 x=
  pte
0xffffffff81117000-0xffffffff81118000           4K USR ro                 x=
  pte
0xffffffff81118000-0xffffffff81122000          40K USR ro                 x=
  pte
0xffffffff81122000-0xffffffff81124000           8K USR ro                 x=
  pte
0xffffffff81124000-0xffffffff81143000         124K USR ro                 x=
  pte
0xffffffff81143000-0xffffffff81145000           8K USR ro                 x=
  pte
0xffffffff81145000-0xffffffff81166000         132K USR ro                 x=
  pte
0xffffffff81166000-0xffffffff81168000           8K USR ro                 x=
  pte
0xffffffff81168000-0xffffffff8116d000          20K USR ro                 x=
  pte
0xffffffff8116d000-0xffffffff8116e000           4K USR ro                 x=
  pte
0xffffffff8116e000-0xffffffff8116f000           4K USR ro                 x=
  pte
0xffffffff8116f000-0xffffffff81170000           4K USR ro                 x=
  pte
0xffffffff81170000-0xffffffff81174000          16K USR ro                 x=
  pte
0xffffffff81174000-0xffffffff81177000          12K USR ro                 x=
  pte
0xffffffff81177000-0xffffffff8117a000          12K USR ro                 x=
  pte
0xffffffff8117a000-0xffffffff8117e000          16K USR ro                 x=
  pte
0xffffffff8117e000-0xffffffff8118d000          60K USR ro                 x=
  pte
0xffffffff8118d000-0xffffffff8118e000           4K USR ro                 x=
  pte
0xffffffff8118e000-0xffffffff81190000           8K USR ro                 x=
  pte
0xffffffff81190000-0xffffffff81191000           4K USR ro                 x=
  pte
0xffffffff81191000-0xffffffff81192000           4K USR ro                 x=
  pte
0xffffffff81192000-0xffffffff81193000           4K USR ro                 x=
  pte
0xffffffff81193000-0xffffffff81194000           4K USR ro                 x=
  pte
0xffffffff81194000-0xffffffff81197000          12K USR ro                 x=
  pte
0xffffffff81197000-0xffffffff81198000           4K USR ro                 x=
  pte
0xffffffff81198000-0xffffffff81199000           4K USR ro                 x=
  pte
0xffffffff81199000-0xffffffff811a0000          28K USR ro                 x=
  pte
0xffffffff811a0000-0xffffffff811a1000           4K USR ro                 x=
  pte
0xffffffff811a1000-0xffffffff811ab000          40K USR ro                 x=
  pte
0xffffffff811ab000-0xffffffff811ac000           4K USR ro                 x=
  pte
0xffffffff811ac000-0xffffffff811af000          12K USR ro                 x=
  pte
0xffffffff811af000-0xffffffff811b1000           8K USR ro                 x=
  pte
0xffffffff811b1000-0xffffffff811b4000          12K USR ro                 x=
  pte
0xffffffff811b4000-0xffffffff811b5000           4K USR ro                 x=
  pte
0xffffffff811b5000-0xffffffff811b9000          16K USR ro                 x=
  pte
0xffffffff811b9000-0xffffffff811bb000           8K USR ro                 x=
  pte
0xffffffff811bb000-0xffffffff811bd000           8K USR ro                 x=
  pte
0xffffffff811bd000-0xffffffff811be000           4K USR ro                 x=
  pte
0xffffffff811be000-0xffffffff811c2000          16K USR ro                 x=
  pte
0xffffffff811c2000-0xffffffff811c6000          16K USR ro                 x=
  pte
0xffffffff811c6000-0xffffffff811c7000           4K USR ro                 x=
  pte
0xffffffff811c7000-0xffffffff811c8000           4K USR ro                 x=
  pte
0xffffffff811c8000-0xffffffff811c9000           4K USR ro                 x=
  pte
0xffffffff811c9000-0xffffffff811ca000           4K USR ro                 x=
  pte
0xffffffff811ca000-0xffffffff811cf000          20K USR ro                 x=
  pte
0xffffffff811cf000-0xffffffff811d0000           4K USR ro                 x=
  pte
0xffffffff811d0000-0xffffffff811d3000          12K USR ro                 x=
  pte
0xffffffff811d3000-0xffffffff811d5000           8K USR ro                 x=
  pte
0xffffffff811d5000-0xffffffff811d6000           4K USR ro                 x=
  pte
0xffffffff811d6000-0xffffffff811d8000           8K USR ro                 x=
  pte
0xffffffff811d8000-0xffffffff811d9000           4K USR ro                 x=
  pte
0xffffffff811d9000-0xffffffff811da000           4K USR ro                 x=
  pte
0xffffffff811da000-0xffffffff811e0000          24K USR ro                 x=
  pte
0xffffffff811e0000-0xffffffff811e3000          12K USR ro                 x=
  pte
0xffffffff811e3000-0xffffffff811e9000          24K USR ro                 x=
  pte
0xffffffff811e9000-0xffffffff811ea000           4K USR ro                 x=
  pte
0xffffffff811ea000-0xffffffff811eb000           4K USR ro                 x=
  pte
0xffffffff811eb000-0xffffffff811f1000          24K USR ro                 x=
  pte
0xffffffff811f1000-0xffffffff811f7000          24K USR ro                 x=
  pte
0xffffffff811f7000-0xffffffff811f8000           4K USR ro                 x=
  pte
0xffffffff811f8000-0xffffffff811fa000           8K USR ro                 x=
  pte
0xffffffff811fa000-0xffffffff811fb000           4K USR ro                 x=
  pte
0xffffffff811fb000-0xffffffff811fd000           8K USR ro                 x=
  pte
0xffffffff811fd000-0xffffffff811fe000           4K USR ro                 x=
  pte
0xffffffff811fe000-0xffffffff81200000           8K USR ro                 x=
  pte
0xffffffff81200000-0xffffffff81201000           4K USR ro                 x=
  pte
0xffffffff81201000-0xffffffff81203000           8K USR ro                 x=
  pte
0xffffffff81203000-0xffffffff81207000          16K USR ro                 x=
  pte
0xffffffff81207000-0xffffffff81209000           8K USR ro                 x=
  pte
0xffffffff81209000-0xffffffff8120a000           4K USR ro                 x=
  pte
0xffffffff8120a000-0xffffffff8120b000           4K USR ro                 x=
  pte
0xffffffff8120b000-0xffffffff8120c000           4K USR ro                 x=
  pte
0xffffffff8120c000-0xffffffff8120e000           8K USR ro                 x=
  pte
0xffffffff8120e000-0xffffffff81223000          84K USR ro                 x=
  pte
0xffffffff81223000-0xffffffff81228000          20K USR ro                 x=
  pte
0xffffffff81228000-0xffffffff81229000           4K USR ro                 x=
  pte
0xffffffff81229000-0xffffffff8123b000          72K USR ro                 x=
  pte
0xffffffff8123b000-0xffffffff8123d000           8K USR ro                 x=
  pte
0xffffffff8123d000-0xffffffff8123e000           4K USR ro                 x=
  pte
0xffffffff8123e000-0xffffffff8123f000           4K USR ro                 x=
  pte
0xffffffff8123f000-0xffffffff81242000          12K USR ro                 x=
  pte
0xffffffff81242000-0xffffffff81244000           8K USR ro                 x=
  pte
0xffffffff81244000-0xffffffff81245000           4K USR ro                 x=
  pte
0xffffffff81245000-0xffffffff81247000           8K USR ro                 x=
  pte
0xffffffff81247000-0xffffffff81248000           4K USR ro                 x=
  pte
0xffffffff81248000-0xffffffff81252000          40K USR ro                 x=
  pte
0xffffffff81252000-0xffffffff81253000           4K USR ro                 x=
  pte
0xffffffff81253000-0xffffffff81254000           4K USR ro                 x=
  pte
0xffffffff81254000-0xffffffff81255000           4K USR ro                 x=
  pte
0xffffffff81255000-0xffffffff81258000          12K USR ro                 x=
  pte
0xffffffff81258000-0xffffffff81259000           4K USR ro                 x=
  pte
0xffffffff81259000-0xffffffff81268000          60K USR ro                 x=
  pte
0xffffffff81268000-0xffffffff8126e000          24K USR ro                 x=
  pte
0xffffffff8126e000-0xffffffff8126f000           4K USR ro                 x=
  pte
0xffffffff8126f000-0xffffffff81272000          12K USR ro                 x=
  pte
0xffffffff81272000-0xffffffff81273000           4K USR ro                 x=
  pte
0xffffffff81273000-0xffffffff81274000           4K USR ro                 x=
  pte
0xffffffff81274000-0xffffffff8127a000          24K USR ro                 x=
  pte
0xffffffff8127a000-0xffffffff8127c000           8K USR ro                 x=
  pte
0xffffffff8127c000-0xffffffff8127d000           4K USR ro                 x=
  pte
0xffffffff8127d000-0xffffffff81285000          32K USR ro                 x=
  pte
0xffffffff81285000-0xffffffff81286000           4K USR ro                 x=
  pte
0xffffffff81286000-0xffffffff81287000           4K USR ro                 x=
  pte
0xffffffff81287000-0xffffffff81288000           4K USR ro                 x=
  pte
0xffffffff81288000-0xffffffff81289000           4K USR ro                 x=
  pte
0xffffffff81289000-0xffffffff8128d000          16K USR ro                 x=
  pte
0xffffffff8128d000-0xffffffff8128f000           8K USR ro                 x=
  pte
0xffffffff8128f000-0xffffffff81291000           8K USR ro                 x=
  pte
0xffffffff81291000-0xffffffff81292000           4K USR ro                 x=
  pte
0xffffffff81292000-0xffffffff8129f000          52K USR ro                 x=
  pte
0xffffffff8129f000-0xffffffff812a0000           4K USR ro                 x=
  pte
0xffffffff812a0000-0xffffffff812a1000           4K USR ro                 x=
  pte
0xffffffff812a1000-0xffffffff812a3000           8K USR ro                 x=
  pte
0xffffffff812a3000-0xffffffff812a5000           8K USR ro                 x=
  pte
0xffffffff812a5000-0xffffffff812a6000           4K USR ro                 x=
  pte
0xffffffff812a6000-0xffffffff812a9000          12K USR ro                 x=
  pte
0xffffffff812a9000-0xffffffff812ab000           8K USR ro                 x=
  pte
0xffffffff812ab000-0xffffffff812c3000          96K USR ro                 x=
  pte
0xffffffff812c3000-0xffffffff812c6000          12K USR ro                 x=
  pte
0xffffffff812c6000-0xffffffff812cc000          24K USR ro                 x=
  pte
0xffffffff812cc000-0xffffffff812cf000          12K USR ro                 x=
  pte
0xffffffff812cf000-0xffffffff812d1000           8K USR ro                 x=
  pte
0xffffffff812d1000-0xffffffff812d2000           4K USR ro                 x=
  pte
0xffffffff812d2000-0xffffffff812d3000           4K USR ro                 x=
  pte
0xffffffff812d3000-0xffffffff812d7000          16K USR ro                 x=
  pte
0xffffffff812d7000-0xffffffff812d8000           4K USR ro                 x=
  pte
0xffffffff812d8000-0xffffffff812da000           8K USR ro                 x=
  pte
0xffffffff812da000-0xffffffff812dc000           8K USR ro                 x=
  pte
0xffffffff812dc000-0xffffffff812e1000          20K USR ro                 x=
  pte
0xffffffff812e1000-0xffffffff812e3000           8K USR ro                 x=
  pte
0xffffffff812e3000-0xffffffff812e4000           4K USR ro                 x=
  pte
0xffffffff812e4000-0xffffffff812e5000           4K USR ro                 x=
  pte
0xffffffff812e5000-0xffffffff812e6000           4K USR ro                 x=
  pte
0xffffffff812e6000-0xffffffff812e7000           4K USR ro                 x=
  pte
0xffffffff812e7000-0xffffffff812ed000          24K USR ro                 x=
  pte
0xffffffff812ed000-0xffffffff812ee000           4K USR ro                 x=
  pte
0xffffffff812ee000-0xffffffff812f9000          44K USR ro                 x=
  pte
0xffffffff812f9000-0xffffffff812fa000           4K USR ro                 x=
  pte
0xffffffff812fa000-0xffffffff812fe000          16K USR ro                 x=
  pte
0xffffffff812fe000-0xffffffff81300000           8K USR ro                 x=
  pte
0xffffffff81300000-0xffffffff81302000           8K USR ro                 x=
  pte
0xffffffff81302000-0xffffffff8130d000          44K USR ro                 x=
  pte
0xffffffff8130d000-0xffffffff8130e000           4K USR ro                 x=
  pte
0xffffffff8130e000-0xffffffff8130f000           4K USR ro                 x=
  pte
0xffffffff8130f000-0xffffffff81312000          12K USR ro                 x=
  pte
0xffffffff81312000-0xffffffff81314000           8K USR ro                 x=
  pte
0xffffffff81314000-0xffffffff81318000          16K USR ro                 x=
  pte
0xffffffff81318000-0xffffffff8131b000          12K USR ro                 x=
  pte
0xffffffff8131b000-0xffffffff8131c000           4K USR ro                 x=
  pte
0xffffffff8131c000-0xffffffff81324000          32K USR ro                 x=
  pte
0xffffffff81324000-0xffffffff81329000          20K USR ro                 x=
  pte
0xffffffff81329000-0xffffffff8132d000          16K USR ro                 x=
  pte
0xffffffff8132d000-0xffffffff8132e000           4K USR ro                 x=
  pte
0xffffffff8132e000-0xffffffff8132f000           4K USR ro                 x=
  pte
0xffffffff8132f000-0xffffffff81332000          12K USR ro                 x=
  pte
0xffffffff81332000-0xffffffff81333000           4K USR ro                 x=
  pte
0xffffffff81333000-0xffffffff81334000           4K USR ro                 x=
  pte
0xffffffff81334000-0xffffffff81335000           4K USR ro                 x=
  pte
0xffffffff81335000-0xffffffff81337000           8K USR ro                 x=
  pte
0xffffffff81337000-0xffffffff8133b000          16K USR ro                 x=
  pte
0xffffffff8133b000-0xffffffff8133c000           4K USR ro                 x=
  pte
0xffffffff8133c000-0xffffffff81340000          16K USR ro                 x=
  pte
0xffffffff81340000-0xffffffff81342000           8K USR ro                 x=
  pte
0xffffffff81342000-0xffffffff81343000           4K USR ro                 x=
  pte
0xffffffff81343000-0xffffffff81348000          20K USR ro                 x=
  pte
0xffffffff81348000-0xffffffff8134c000          16K USR ro                 x=
  pte
0xffffffff8134c000-0xffffffff81350000          16K USR ro                 x=
  pte
0xffffffff81350000-0xffffffff81351000           4K USR ro                 x=
  pte
0xffffffff81351000-0xffffffff81353000           8K USR ro                 x=
  pte
0xffffffff81353000-0xffffffff81358000          20K USR ro                 x=
  pte
0xffffffff81358000-0xffffffff8135e000          24K USR ro                 x=
  pte
0xffffffff8135e000-0xffffffff8135f000           4K USR ro                 x=
  pte
0xffffffff8135f000-0xffffffff81361000           8K USR ro                 x=
  pte
0xffffffff81361000-0xffffffff81366000          20K USR ro                 x=
  pte
0xffffffff81366000-0xffffffff81367000           4K USR ro                 x=
  pte
0xffffffff81367000-0xffffffff81368000           4K USR ro                 x=
  pte
0xffffffff81368000-0xffffffff8136a000           8K USR ro                 x=
  pte
0xffffffff8136a000-0xffffffff81374000          40K USR ro                 x=
  pte
0xffffffff81374000-0xffffffff81376000           8K USR ro                 x=
  pte
0xffffffff81376000-0xffffffff81379000          12K USR ro                 x=
  pte
0xffffffff81379000-0xffffffff8137f000          24K USR ro                 x=
  pte
0xffffffff8137f000-0xffffffff81380000           4K USR ro                 x=
  pte
0xffffffff81380000-0xffffffff81383000          12K USR ro                 x=
  pte
0xffffffff81383000-0xffffffff81384000           4K USR ro                 x=
  pte
0xffffffff81384000-0xffffffff81387000          12K USR ro                 x=
  pte
0xffffffff81387000-0xffffffff81389000           8K USR ro                 x=
  pte
0xffffffff81389000-0xffffffff8138c000          12K USR ro                 x=
  pte
0xffffffff8138c000-0xffffffff81393000          28K USR ro                 x=
  pte
0xffffffff81393000-0xffffffff81395000           8K USR ro                 x=
  pte
0xffffffff81395000-0xffffffff81398000          12K USR ro                 x=
  pte
0xffffffff81398000-0xffffffff8139a000           8K USR ro                 x=
  pte
0xffffffff8139a000-0xffffffff8139c000           8K USR ro                 x=
  pte
0xffffffff8139c000-0xffffffff8139d000           4K USR ro                 x=
  pte
0xffffffff8139d000-0xffffffff813a3000          24K USR ro                 x=
  pte
0xffffffff813a3000-0xffffffff813a4000           4K USR ro                 x=
  pte
0xffffffff813a4000-0xffffffff813a5000           4K USR ro                 x=
  pte
0xffffffff813a5000-0xffffffff813a6000           4K USR ro                 x=
  pte
0xffffffff813a6000-0xffffffff813a9000          12K USR ro                 x=
  pte
0xffffffff813a9000-0xffffffff813ab000           8K USR ro                 x=
  pte
0xffffffff813ab000-0xffffffff813ac000           4K USR ro                 x=
  pte
0xffffffff813ac000-0xffffffff813ae000           8K USR ro                 x=
  pte
0xffffffff813ae000-0xffffffff813b1000          12K USR ro                 x=
  pte
0xffffffff813b1000-0xffffffff813b3000           8K USR ro                 x=
  pte
0xffffffff813b3000-0xffffffff813b5000           8K USR ro                 x=
  pte
0xffffffff813b5000-0xffffffff813b9000          16K USR ro                 x=
  pte
0xffffffff813b9000-0xffffffff813ba000           4K USR ro                 x=
  pte
0xffffffff813ba000-0xffffffff813bf000          20K USR ro                 x=
  pte
0xffffffff813bf000-0xffffffff813ce000          60K USR ro                 x=
  pte
0xffffffff813ce000-0xffffffff813cf000           4K USR ro                 x=
  pte
0xffffffff813cf000-0xffffffff813d0000           4K USR ro                 x=
  pte
0xffffffff813d0000-0xffffffff813d2000           8K USR ro                 x=
  pte
0xffffffff813d2000-0xffffffff813d3000           4K USR ro                 x=
  pte
0xffffffff813d3000-0xffffffff813db000          32K USR ro                 x=
  pte
0xffffffff813db000-0xffffffff813dc000           4K USR ro                 x=
  pte
0xffffffff813dc000-0xffffffff813dd000           4K USR ro                 x=
  pte
0xffffffff813dd000-0xffffffff813de000           4K USR ro                 x=
  pte
0xffffffff813de000-0xffffffff813e0000           8K USR ro                 x=
  pte
0xffffffff813e0000-0xffffffff813e3000          12K USR ro                 x=
  pte
0xffffffff813e3000-0xffffffff813e5000           8K USR ro                 x=
  pte
0xffffffff813e5000-0xffffffff813e8000          12K USR ro                 x=
  pte
0xffffffff813e8000-0xffffffff813ea000           8K USR ro                 x=
  pte
0xffffffff813ea000-0xffffffff813ec000           8K USR ro                 x=
  pte
0xffffffff813ec000-0xffffffff813ed000           4K USR ro                 x=
  pte
0xffffffff813ed000-0xffffffff813ef000           8K USR ro                 x=
  pte
0xffffffff813ef000-0xffffffff813f3000          16K USR ro                 x=
  pte
0xffffffff813f3000-0xffffffff813f4000           4K USR ro                 x=
  pte
0xffffffff813f4000-0xffffffff813f6000           8K USR ro                 x=
  pte
0xffffffff813f6000-0xffffffff813f7000           4K USR ro                 x=
  pte
0xffffffff813f7000-0xffffffff813fa000          12K USR ro                 x=
  pte
0xffffffff813fa000-0xffffffff813fb000           4K USR ro                 x=
  pte
0xffffffff813fb000-0xffffffff813fd000           8K USR ro                 x=
  pte
0xffffffff813fd000-0xffffffff813fe000           4K USR ro                 x=
  pte
0xffffffff813fe000-0xffffffff81403000          20K USR ro                 x=
  pte
0xffffffff81403000-0xffffffff81404000           4K USR ro                 x=
  pte
0xffffffff81404000-0xffffffff81406000           8K USR ro                 x=
  pte
0xffffffff81406000-0xffffffff81408000           8K USR ro                 x=
  pte
0xffffffff81408000-0xffffffff81411000          36K USR ro                 x=
  pte
0xffffffff81411000-0xffffffff81412000           4K USR ro                 x=
  pte
0xffffffff81412000-0xffffffff81413000           4K USR ro                 x=
  pte
0xffffffff81413000-0xffffffff81415000           8K USR ro                 x=
  pte
0xffffffff81415000-0xffffffff81416000           4K USR ro                 x=
  pte
0xffffffff81416000-0xffffffff81419000          12K USR ro                 x=
  pte
0xffffffff81419000-0xffffffff8141e000          20K USR ro                 x=
  pte
0xffffffff8141e000-0xffffffff81425000          28K USR ro                 x=
  pte
0xffffffff81425000-0xffffffff81426000           4K USR ro                 x=
  pte
0xffffffff81426000-0xffffffff81428000           8K USR ro                 x=
  pte
0xffffffff81428000-0xffffffff8142f000          28K USR ro                 x=
  pte
0xffffffff8142f000-0xffffffff81430000           4K USR ro                 x=
  pte
0xffffffff81430000-0xffffffff81437000          28K USR ro                 x=
  pte
0xffffffff81437000-0xffffffff81438000           4K USR ro                 x=
  pte
0xffffffff81438000-0xffffffff81439000           4K USR ro                 x=
  pte
0xffffffff81439000-0xffffffff8143d000          16K USR ro                 x=
  pte
0xffffffff8143d000-0xffffffff8143e000           4K USR ro                 x=
  pte
0xffffffff8143e000-0xffffffff8143f000           4K USR ro                 x=
  pte
0xffffffff8143f000-0xffffffff81440000           4K USR ro                 x=
  pte
0xffffffff81440000-0xffffffff81443000          12K USR ro                 x=
  pte
0xffffffff81443000-0xffffffff81445000           8K USR ro                 x=
  pte
0xffffffff81445000-0xffffffff81446000           4K USR ro                 x=
  pte
0xffffffff81446000-0xffffffff81448000           8K USR ro                 x=
  pte
0xffffffff81448000-0xffffffff8144d000          20K USR ro                 x=
  pte
0xffffffff8144d000-0xffffffff8144f000           8K USR ro                 x=
  pte
0xffffffff8144f000-0xffffffff81451000           8K USR ro                 x=
  pte
0xffffffff81451000-0xffffffff81452000           4K USR ro                 x=
  pte
0xffffffff81452000-0xffffffff81458000          24K USR ro                 x=
  pte
0xffffffff81458000-0xffffffff81459000           4K USR ro                 x=
  pte
0xffffffff81459000-0xffffffff8145a000           4K USR ro                 x=
  pte
0xffffffff8145a000-0xffffffff8145c000           8K USR ro                 x=
  pte
0xffffffff8145c000-0xffffffff8145d000           4K USR ro                 x=
  pte
0xffffffff8145d000-0xffffffff81462000          20K USR ro                 x=
  pte
0xffffffff81462000-0xffffffff81463000           4K USR ro                 x=
  pte
0xffffffff81463000-0xffffffff81464000           4K USR ro                 x=
  pte
0xffffffff81464000-0xffffffff81465000           4K USR ro                 x=
  pte
0xffffffff81465000-0xffffffff81467000           8K USR ro                 x=
  pte
0xffffffff81467000-0xffffffff81468000           4K USR ro                 x=
  pte
0xffffffff81468000-0xffffffff81469000           4K USR ro                 x=
  pte
0xffffffff81469000-0xffffffff8146a000           4K USR ro                 x=
  pte
0xffffffff8146a000-0xffffffff8146b000           4K USR ro                 x=
  pte
0xffffffff8146b000-0xffffffff81470000          20K USR ro                 x=
  pte
0xffffffff81470000-0xffffffff81471000           4K USR ro                 x=
  pte
0xffffffff81471000-0xffffffff81473000           8K USR ro                 x=
  pte
0xffffffff81473000-0xffffffff81477000          16K USR ro                 x=
  pte
0xffffffff81477000-0xffffffff8147a000          12K USR ro                 x=
  pte
0xffffffff8147a000-0xffffffff8147b000           4K USR ro                 x=
  pte
0xffffffff8147b000-0xffffffff8147c000           4K USR ro                 x=
  pte
0xffffffff8147c000-0xffffffff8147d000           4K USR ro                 x=
  pte
0xffffffff8147d000-0xffffffff81482000          20K USR ro                 x=
  pte
0xffffffff81482000-0xffffffff81484000           8K USR ro                 x=
  pte
0xffffffff81484000-0xffffffff81485000           4K USR ro                 x=
  pte
0xffffffff81485000-0xffffffff81486000           4K USR ro                 x=
  pte
0xffffffff81486000-0xffffffff81489000          12K USR ro                 x=
  pte
0xffffffff81489000-0xffffffff8148a000           4K USR ro                 x=
  pte
0xffffffff8148a000-0xffffffff8148b000           4K USR ro                 x=
  pte
0xffffffff8148b000-0xffffffff8148c000           4K USR ro                 x=
  pte
0xffffffff8148c000-0xffffffff81499000          52K USR ro                 x=
  pte
0xffffffff81499000-0xffffffff8149a000           4K USR ro                 x=
  pte
0xffffffff8149a000-0xffffffff814a2000          32K USR ro                 x=
  pte
0xffffffff814a2000-0xffffffff814a5000          12K USR ro                 x=
  pte
0xffffffff814a5000-0xffffffff814a8000          12K USR ro                 x=
  pte
0xffffffff814a8000-0xffffffff814b0000          32K USR ro                 x=
  pte
0xffffffff814b0000-0xffffffff814b1000           4K USR ro                 x=
  pte
0xffffffff814b1000-0xffffffff814b2000           4K USR ro                 x=
  pte
0xffffffff814b2000-0xffffffff814c2000          64K USR ro                 x=
  pte
0xffffffff814c2000-0xffffffff814c3000           4K USR ro                 x=
  pte
0xffffffff814c3000-0xffffffff814c5000           8K USR ro                 x=
  pte
0xffffffff814c5000-0xffffffff814cb000          24K USR ro                 x=
  pte
0xffffffff814cb000-0xffffffff814cc000           4K USR ro                 x=
  pte
0xffffffff814cc000-0xffffffff814cf000          12K USR ro                 x=
  pte
0xffffffff814cf000-0xffffffff814d0000           4K USR ro                 x=
  pte
0xffffffff814d0000-0xffffffff814d1000           4K USR ro                 x=
  pte
0xffffffff814d1000-0xffffffff814d3000           8K USR ro                 x=
  pte
0xffffffff814d3000-0xffffffff814d4000           4K USR ro                 x=
  pte
0xffffffff814d4000-0xffffffff814d6000           8K USR ro                 x=
  pte
0xffffffff814d6000-0xffffffff814d7000           4K USR ro                 x=
  pte
0xffffffff814d7000-0xffffffff814db000          16K USR ro                 x=
  pte
0xffffffff814db000-0xffffffff814dc000           4K USR ro                 x=
  pte
0xffffffff814dc000-0xffffffff814de000           8K USR ro                 x=
  pte
0xffffffff814de000-0xffffffff814df000           4K USR ro                 x=
  pte
0xffffffff814df000-0xffffffff814e3000          16K USR ro                 x=
  pte
0xffffffff814e3000-0xffffffff814e7000          16K USR ro                 x=
  pte
0xffffffff814e7000-0xffffffff814e8000           4K USR ro                 x=
  pte
0xffffffff814e8000-0xffffffff814e9000           4K USR ro                 x=
  pte
0xffffffff814e9000-0xffffffff814f1000          32K USR ro                 x=
  pte
0xffffffff814f1000-0xffffffff814f2000           4K USR ro                 x=
  pte
0xffffffff814f2000-0xffffffff814f6000          16K USR ro                 x=
  pte
0xffffffff814f6000-0xffffffff814f7000           4K USR ro                 x=
  pte
0xffffffff814f7000-0xffffffff814f8000           4K USR ro                 x=
  pte
0xffffffff814f8000-0xffffffff814f9000           4K USR ro                 x=
  pte
0xffffffff814f9000-0xffffffff814fe000          20K USR ro                 x=
  pte
0xffffffff814fe000-0xffffffff81503000          20K USR ro                 x=
  pte
0xffffffff81503000-0xffffffff81508000          20K USR ro                 x=
  pte
0xffffffff81508000-0xffffffff8150d000          20K USR ro                 x=
  pte
0xffffffff8150d000-0xffffffff81511000          16K USR ro                 x=
  pte
0xffffffff81511000-0xffffffff81513000           8K USR ro                 x=
  pte
0xffffffff81513000-0xffffffff81514000           4K USR ro                 x=
  pte
0xffffffff81514000-0xffffffff81515000           4K USR ro                 x=
  pte
0xffffffff81515000-0xffffffff81516000           4K USR ro                 x=
  pte
0xffffffff81516000-0xffffffff8151b000          20K USR ro                 x=
  pte
0xffffffff8151b000-0xffffffff81520000          20K USR ro                 x=
  pte
0xffffffff81520000-0xffffffff81521000           4K USR ro                 x=
  pte
0xffffffff81521000-0xffffffff81523000           8K USR ro                 x=
  pte
0xffffffff81523000-0xffffffff81525000           8K USR ro                 x=
  pte
0xffffffff81525000-0xffffffff81526000           4K USR ro                 x=
  pte
0xffffffff81526000-0xffffffff81529000          12K USR ro                 x=
  pte
0xffffffff81529000-0xffffffff8152a000           4K USR ro                 x=
  pte
0xffffffff8152a000-0xffffffff8152b000           4K USR ro                 x=
  pte
0xffffffff8152b000-0xffffffff8152e000          12K USR ro                 x=
  pte
0xffffffff8152e000-0xffffffff81533000          20K USR ro                 x=
  pte
0xffffffff81533000-0xffffffff81535000           8K USR ro                 x=
  pte
0xffffffff81535000-0xffffffff81537000           8K USR ro                 x=
  pte
0xffffffff81537000-0xffffffff81538000           4K USR ro                 x=
  pte
0xffffffff81538000-0xffffffff81539000           4K USR ro                 x=
  pte
0xffffffff81539000-0xffffffff8153b000           8K USR ro                 x=
  pte
0xffffffff8153b000-0xffffffff8153d000           8K USR ro                 x=
  pte
0xffffffff8153d000-0xffffffff81541000          16K USR ro                 x=
  pte
0xffffffff81541000-0xffffffff81542000           4K USR ro                 x=
  pte
0xffffffff81542000-0xffffffff81544000           8K USR ro                 x=
  pte
0xffffffff81544000-0xffffffff81545000           4K USR ro                 x=
  pte
0xffffffff81545000-0xffffffff81547000           8K USR ro                 x=
  pte
0xffffffff81547000-0xffffffff81551000          40K USR ro                 x=
  pte
0xffffffff81551000-0xffffffff81552000           4K USR ro                 x=
  pte
0xffffffff81552000-0xffffffff81554000           8K USR ro                 x=
  pte
0xffffffff81554000-0xffffffff81555000           4K USR ro                 x=
  pte
0xffffffff81555000-0xffffffff8155d000          32K USR ro                 x=
  pte
0xffffffff8155d000-0xffffffff8155f000           8K USR ro                 x=
  pte
0xffffffff8155f000-0xffffffff81563000          16K USR ro                 x=
  pte
0xffffffff81563000-0xffffffff81566000          12K USR ro                 x=
  pte
0xffffffff81566000-0xffffffff81567000           4K USR ro                 x=
  pte
0xffffffff81567000-0xffffffff81568000           4K USR ro                 x=
  pte
0xffffffff81568000-0xffffffff8156a000           8K USR ro                 x=
  pte
0xffffffff8156a000-0xffffffff8156b000           4K USR ro                 x=
  pte
0xffffffff8156b000-0xffffffff81572000          28K USR ro                 x=
  pte
0xffffffff81572000-0xffffffff81573000           4K USR ro                 x=
  pte
0xffffffff81573000-0xffffffff81576000          12K USR ro                 x=
  pte
0xffffffff81576000-0xffffffff81577000           4K USR ro                 x=
  pte
0xffffffff81577000-0xffffffff81578000           4K USR ro                 x=
  pte
0xffffffff81578000-0xffffffff81579000           4K USR ro                 x=
  pte
0xffffffff81579000-0xffffffff8157a000           4K USR ro                 x=
  pte
0xffffffff8157a000-0xffffffff8157b000           4K USR ro                 x=
  pte
0xffffffff8157b000-0xffffffff8157d000           8K USR ro                 x=
  pte
0xffffffff8157d000-0xffffffff8157f000           8K USR ro                 x=
  pte
0xffffffff8157f000-0xffffffff81582000          12K USR ro                 x=
  pte
0xffffffff81582000-0xffffffff81584000           8K USR ro                 x=
  pte
0xffffffff81584000-0xffffffff81586000           8K USR ro                 x=
  pte
0xffffffff81586000-0xffffffff81588000           8K USR ro                 x=
  pte
0xffffffff81588000-0xffffffff81589000           4K USR ro                 x=
  pte
0xffffffff81589000-0xffffffff8158d000          16K USR ro                 x=
  pte
0xffffffff8158d000-0xffffffff8158f000           8K USR ro                 x=
  pte
0xffffffff8158f000-0xffffffff81593000          16K USR ro                 x=
  pte
0xffffffff81593000-0xffffffff81594000           4K USR ro                 x=
  pte
0xffffffff81594000-0xffffffff81595000           4K USR ro                 x=
  pte
0xffffffff81595000-0xffffffff81596000           4K USR ro                 x=
  pte
0xffffffff81596000-0xffffffff81599000          12K USR ro                 x=
  pte
0xffffffff81599000-0xffffffff815ab000          72K USR ro                 x=
  pte
0xffffffff815ab000-0xffffffff815ac000           4K USR ro                 x=
  pte
0xffffffff815ac000-0xffffffff815b0000          16K USR ro                 x=
  pte
0xffffffff815b0000-0xffffffff815b1000           4K USR ro                 x=
  pte
0xffffffff815b1000-0xffffffff815b7000          24K USR ro                 x=
  pte
0xffffffff815b7000-0xffffffff81600000         292K USR RW                 N=
X pte
0xffffffff81600000-0xffffffff8179c000        1648K USR ro                 N=
X pte
0xffffffff8179c000-0xffffffff81800000         400K USR RW                 N=
X pte
0xffffffff81800000-0xffffffff81802000           8K USR RW                 x=
  pte
0xffffffff81802000-0xffffffff81803000           4K USR RW                 x=
  pte
0xffffffff81803000-0xffffffff81805000           8K USR RW                 x=
  pte
0xffffffff81805000-0xffffffff8180b000          24K USR RW                 x=
  pte
0xffffffff8180b000-0xffffffff8180f000          16K USR ro                 x=
  pte
0xffffffff8180f000-0xffffffff81810000           4K USR RW                 x=
  pte
0xffffffff81810000-0xffffffff81812000           8K USR ro                 x=
  pte
0xffffffff81812000-0xffffffff81813000           4K USR RW                 x=
  pte
0xffffffff81813000-0xffffffff81815000           8K USR RW                 x=
  pte
0xffffffff81815000-0xffffffff81816000           4K USR RW                 x=
  pte
0xffffffff81816000-0xffffffff81818000           8K USR RW                 x=
  pte
0xffffffff81818000-0xffffffff8181a000           8K USR RW                 x=
  pte
0xffffffff8181a000-0xffffffff8181d000          12K USR RW                 x=
  pte
0xffffffff8181d000-0xffffffff8181e000           4K USR RW                 x=
  pte
0xffffffff8181e000-0xffffffff81832000          80K USR RW                 x=
  pte
0xffffffff81832000-0xffffffff81834000           8K USR RW                 x=
  pte
0xffffffff81834000-0xffffffff8183a000          24K USR RW                 x=
  pte
0xffffffff8183a000-0xffffffff8183d000          12K USR RW                 x=
  pte
0xffffffff8183d000-0xffffffff81841000          16K USR RW                 x=
  pte
0xffffffff81841000-0xffffffff81843000           8K USR RW                 x=
  pte
0xffffffff81843000-0xffffffff81845000           8K USR RW                 x=
  pte
0xffffffff81845000-0xffffffff81846000           4K USR RW                 x=
  pte
0xffffffff81846000-0xffffffff81849000          12K USR RW                 x=
  pte
0xffffffff81849000-0xffffffff8184a000           4K USR RW                 x=
  pte
0xffffffff8184a000-0xffffffff8184f000          20K USR RW                 x=
  pte
0xffffffff8184f000-0xffffffff81850000           4K USR RW                 x=
  pte
0xffffffff81850000-0xffffffff81885000         212K USR RW                 x=
  pte
0xffffffff81885000-0xffffffff81938000         716K USR RW                 N=
X pte
0xffffffff81938000-0xffffffff8193a000           8K USR RW                 x=
  pte
0xffffffff8193a000-0xffffffff8193b000           4K USR ro                 x=
  pte
0xffffffff8193b000-0xffffffff8193d000           8K USR RW                 x=
  pte
0xffffffff8193d000-0xffffffff8193e000           4K USR ro                 x=
  pte
0xffffffff8193e000-0xffffffff81948000          40K USR RW                 x=
  pte
0xffffffff81948000-0xffffffff8194a000           8K USR RW                 x=
  pte
0xffffffff8194a000-0xffffffff8194c000           8K USR RW                 x=
  pte
0xffffffff8194c000-0xffffffff8196c000         128K USR RW                 x=
  pte
0xffffffff8196c000-0xffffffff8196d000           4K USR RW                 x=
  pte
0xffffffff8196d000-0xffffffff81970000          12K USR RW                 x=
  pte
0xffffffff81970000-0xffffffff81971000           4K USR RW                 x=
  pte
0xffffffff81971000-0xffffffff81972000           4K USR RW                 x=
  pte
0xffffffff81972000-0xffffffff81973000           4K USR RW                 x=
  pte
0xffffffff81973000-0xffffffff81975000           8K USR RW                 x=
  pte
0xffffffff81975000-0xffffffff81976000           4K USR RW                 x=
  pte
0xffffffff81976000-0xffffffff81977000           4K USR RW                 x=
  pte
0xffffffff81977000-0xffffffff8197b000          16K USR RW                 x=
  pte
0xffffffff8197b000-0xffffffff819b9000         248K USR RW                 x=
  pte
0xffffffff819b9000-0xffffffff819c0000          28K USR RW                 x=
  pte
0xffffffff819c0000-0xffffffff819df000         124K USR RW                 x=
  pte
0xffffffff819df000-0xffffffff819e8000          36K USR RW                 x=
  pte
0xffffffff819e8000-0xffffffff819f1000          36K USR RW                 x=
  pte
0xffffffff819f1000-0xffffffff819f2000           4K USR RW                 x=
  pte
0xffffffff819f2000-0xffffffff819f3000           4K USR RW                 x=
  pte
0xffffffff819f3000-0xffffffff819f5000           8K USR RW                 x=
  pte
0xffffffff819f5000-0xffffffff819f8000          12K USR RW                 x=
  pte
0xffffffff819f8000-0xffffffff81a0a000          72K USR RW                 x=
  pte
0xffffffff81a0a000-0xffffffff81a0f000          20K USR RW                 x=
  pte
0xffffffff81a0f000-0xffffffff81a1c000          52K USR RW                 x=
  pte
0xffffffff81a1c000-0xffffffff81a1d000           4K USR RW                 x=
  pte
0xffffffff81a1d000-0xffffffff81aa4000         540K USR RW                 x=
  pte
0xffffffff81aa4000-0xffffffff81aa8000          16K USR ro                 x=
  pte
0xffffffff81aa8000-0xffffffff81b28000         512K USR RW                 x=
  pte
0xffffffff81b28000-0xffffffff81c00000         864K USR RW                 x=
  pte
0xffffffff81c00000-0xffffffff8fc00000         224M                         =
  pmd
0xffffffff8fc00000-0xffffffff8fc93000         588K USR RW                 N=
X pte
0xffffffff8fc93000-0xffffffff9f694000      256004K USR RW                 x=
  pte
0xffffffff9f694000-0xffffffff9f696000           8K USR RW                 x=
  pte
0xffffffff9f696000-0xffffffff9f797000        1028K USR ro                 x=
  pte
0xffffffff9f797000-0xffffffff9fc00000        4516K USR RW                 x=
  pte
0xffffffff9fc00000-0xffffffffa0000000           4M                         =
  pmd
---[ Modules ]---
0xffffffffa0000000-0xffffffffa0001000           4K USR ro                 x=
  pte
0xffffffffa0001000-0xffffffffa0002000           4K USR ro                 N=
X pte
0xffffffffa0002000-0xffffffffa0004000           8K USR RW                 N=
X pte
0xffffffffa0004000-0xffffffffa0008000          16K                         =
  pte
0xffffffffa0008000-0xffffffffa0009000           4K USR ro                 x=
  pte
0xffffffffa0009000-0xffffffffa000a000           4K USR ro                 N=
X pte
0xffffffffa000a000-0xffffffffa000c000           8K USR RW                 N=
X pte
0xffffffffa000c000-0xffffffffa0010000          16K                         =
  pte
0xffffffffa0010000-0xffffffffa0011000           4K USR ro                 x=
  pte
0xffffffffa0011000-0xffffffffa0012000           4K USR ro                 N=
X pte
0xffffffffa0012000-0xffffffffa0014000           8K USR RW                 N=
X pte
0xffffffffa0014000-0xffffffffa0018000          16K                         =
  pte
0xffffffffa0018000-0xffffffffa0019000           4K USR ro                 x=
  pte
0xffffffffa0019000-0xffffffffa001a000           4K USR ro                 N=
X pte
0xffffffffa001a000-0xffffffffa001c000           8K USR RW                 N=
X pte
0xffffffffa001c000-0xffffffffa001d000           4K                         =
  pte
0xffffffffa001d000-0xffffffffa001e000           4K USR ro                 x=
  pte
0xffffffffa001e000-0xffffffffa001f000           4K USR ro                 N=
X pte
0xffffffffa001f000-0xffffffffa0021000           8K USR RW                 N=
X pte
0xffffffffa0021000-0xffffffffa0022000           4K                         =
  pte
0xffffffffa0022000-0xffffffffa0023000           4K USR ro                 x=
  pte
0xffffffffa0023000-0xffffffffa0024000           4K USR ro                 N=
X pte
0xffffffffa0024000-0xffffffffa0026000           8K USR RW                 N=
X pte
0xffffffffa0026000-0xffffffffa0027000           4K                         =
  pte
0xffffffffa0027000-0xffffffffa0028000           4K USR ro                 x=
  pte
0xffffffffa0028000-0xffffffffa0029000           4K USR ro                 N=
X pte
0xffffffffa0029000-0xffffffffa002b000           8K USR RW                 N=
X pte
0xffffffffa002b000-0xffffffffa002c000           4K                         =
  pte
0xffffffffa002c000-0xffffffffa002e000           8K USR ro                 x=
  pte
0xffffffffa002e000-0xffffffffa002f000           4K USR ro                 N=
X pte
0xffffffffa002f000-0xffffffffa0031000           8K USR RW                 N=
X pte
0xffffffffa0031000-0xffffffffa0036000          20K                         =
  pte
0xffffffffa0036000-0xffffffffa003a000          16K USR ro                 x=
  pte
0xffffffffa003a000-0xffffffffa003b000           4K USR ro                 N=
X pte
0xffffffffa003b000-0xffffffffa003d000           8K USR RW                 N=
X pte
0xffffffffa003d000-0xffffffffa0042000          20K                         =
  pte
0xffffffffa0042000-0xffffffffa0045000          12K USR ro                 x=
  pte
0xffffffffa0045000-0xffffffffa0046000           4K USR ro                 N=
X pte
0xffffffffa0046000-0xffffffffa0048000           8K USR RW                 N=
X pte
0xffffffffa0048000-0xffffffffa004d000          20K                         =
  pte
0xffffffffa004d000-0xffffffffa004e000           4K USR ro                 x=
  pte
0xffffffffa004e000-0xffffffffa004f000           4K USR ro                 N=
X pte
0xffffffffa004f000-0xffffffffa0051000           8K USR RW                 N=
X pte
0xffffffffa0051000-0xffffffffa0052000           4K                         =
  pte
0xffffffffa0052000-0xffffffffa0057000          20K USR ro                 x=
  pte
0xffffffffa0057000-0xffffffffa0059000           8K USR ro                 N=
X pte
0xffffffffa0059000-0xffffffffa005b000           8K USR RW                 N=
X pte
0xffffffffa005b000-0xffffffffa005c000           4K                         =
  pte
0xffffffffa005c000-0xffffffffa005d000           4K USR ro                 x=
  pte
0xffffffffa005d000-0xffffffffa005e000           4K USR ro                 N=
X pte
0xffffffffa005e000-0xffffffffa0060000           8K USR RW                 N=
X pte
0xffffffffa0060000-0xffffffffa0061000           4K                         =
  pte
0xffffffffa0061000-0xffffffffa006d000          48K USR ro                 x=
  pte
0xffffffffa006d000-0xffffffffa0070000          12K USR ro                 N=
X pte
0xffffffffa0070000-0xffffffffa0073000          12K USR RW                 N=
X pte
0xffffffffa0073000-0xffffffffa0074000           4K                         =
  pte
0xffffffffa0074000-0xffffffffa0075000           4K USR ro                 x=
  pte
0xffffffffa0075000-0xffffffffa0077000           8K USR ro                 N=
X pte
0xffffffffa0077000-0xffffffffa0079000           8K USR RW                 N=
X pte
0xffffffffa0079000-0xffffffffa007c000          12K                         =
  pte
0xffffffffa007c000-0xffffffffa007d000           4K USR ro                 x=
  pte
0xffffffffa007d000-0xffffffffa007e000           4K USR ro                 N=
X pte
0xffffffffa007e000-0xffffffffa0080000           8K USR RW                 N=
X pte
0xffffffffa0080000-0xffffffffa0081000           4K                         =
  pte
0xffffffffa0081000-0xffffffffa0082000           4K USR ro                 x=
  pte
0xffffffffa0082000-0xffffffffa0083000           4K USR ro                 N=
X pte
0xffffffffa0083000-0xffffffffa0085000           8K USR RW                 N=
X pte
0xffffffffa0085000-0xffffffffa0086000           4K                         =
  pte
0xffffffffa0086000-0xffffffffa008d000          28K USR ro                 x=
  pte
0xffffffffa008d000-0xffffffffa008e000           4K USR ro                 N=
X pte
0xffffffffa008e000-0xffffffffa0092000          16K USR RW                 N=
X pte
0xffffffffa0092000-0xffffffffa0097000          20K                         =
  pte
0xffffffffa0097000-0xffffffffa0126000         572K USR ro                 x=
  pte
0xffffffffa0126000-0xffffffffa014b000         148K USR ro                 N=
X pte
0xffffffffa014b000-0xffffffffa0168000         116K USR RW                 N=
X pte
0xffffffffa0168000-0xffffffffa0169000           4K                         =
  pte
0xffffffffa0169000-0xffffffffa016a000           4K USR ro                 x=
  pte
0xffffffffa016a000-0xffffffffa016b000           4K USR ro                 N=
X pte
0xffffffffa016b000-0xffffffffa016d000           8K USR RW                 N=
X pte
0xffffffffa016d000-0xffffffffa016e000           4K                         =
  pte
0xffffffffa016e000-0xffffffffa016f000           4K USR ro                 x=
  pte
0xffffffffa016f000-0xffffffffa0170000           4K USR ro                 N=
X pte
0xffffffffa0170000-0xffffffffa0172000           8K USR RW                 N=
X pte
0xffffffffa0172000-0xffffffffa0173000           4K                         =
  pte
0xffffffffa0173000-0xffffffffa0183000          64K USR ro                 x=
  pte
0xffffffffa0183000-0xffffffffa0192000          60K USR ro                 N=
X pte
0xffffffffa0192000-0xffffffffa0198000          24K USR RW                 N=
X pte
0xffffffffa0198000-0xffffffffa0199000           4K                         =
  pte
0xffffffffa0199000-0xffffffffa019f000          24K USR ro                 x=
  pte
0xffffffffa019f000-0xffffffffa01a1000           8K USR ro                 N=
X pte
0xffffffffa01a1000-0xffffffffa01a3000           8K USR RW                 N=
X pte
0xffffffffa01a3000-0xffffffffa01a8000          20K                         =
  pte
0xffffffffa01a8000-0xffffffffa01ad000          20K USR ro                 x=
  pte
0xffffffffa01ad000-0xffffffffa01af000           8K USR ro                 N=
X pte
0xffffffffa01af000-0xffffffffa01b3000          16K USR RW                 N=
X pte
0xffffffffa01b3000-0xffffffffa01b4000           4K                         =
  pte
0xffffffffa01b4000-0xffffffffa01b6000           8K USR ro                 x=
  pte
0xffffffffa01b6000-0xffffffffa01b7000           4K USR ro                 N=
X pte
0xffffffffa01b7000-0xffffffffa01b9000           8K USR RW                 N=
X pte
0xffffffffa01b9000-0xffffffffa01ba000           4K                         =
  pte
0xffffffffa01ba000-0xffffffffa01bc000           8K USR ro                 x=
  pte
0xffffffffa01bc000-0xffffffffa01bd000           4K USR ro                 N=
X pte
0xffffffffa01bd000-0xffffffffa01bf000           8K USR RW                 N=
X pte
0xffffffffa01bf000-0xffffffffa01c4000          20K                         =
  pte
0xffffffffa01c4000-0xffffffffa01c5000           4K USR ro                 x=
  pte
0xffffffffa01c5000-0xffffffffa01c6000           4K USR ro                 N=
X pte
0xffffffffa01c6000-0xffffffffa01c8000           8K USR RW                 N=
X pte
0xffffffffa01c8000-0xffffffffa01c9000           4K                         =
  pte
0xffffffffa01c9000-0xffffffffa01ca000           4K USR ro                 x=
  pte
0xffffffffa01ca000-0xffffffffa01cb000           4K USR ro                 N=
X pte
0xffffffffa01cb000-0xffffffffa01cd000           8K USR RW                 N=
X pte
0xffffffffa01cd000-0xffffffffa0200000         204K                         =
  pte
0xffffffffa0200000-0xffffffffc0000000         510M                         =
  pmd
0xffffffffc0000000-0xffffffffc009b000         620K USR RW                 x=
  pte
0xffffffffc009b000-0xffffffffc00a0000          20K USR RW                 x=
  pte
0xffffffffc00a0000-0xffffffffc07fb000        7532K USR RW                 x=
  pte
0xffffffffc07fb000-0xffffffffc0efc000        7172K USR ro                 x=
  pte
0xffffffffc0efc000-0xffffffffc1000000        1040K USR RW                 x=
  pte
0xffffffffc1000000-0xffffffffc1002000           8K USR ro                 x=
  pte
0xffffffffc1002000-0xffffffffc1013000          68K USR ro                 x=
  pte
0xffffffffc1013000-0xffffffffc1015000           8K USR ro                 x=
  pte
0xffffffffc1015000-0xffffffffc1017000           8K USR ro                 x=
  pte
0xffffffffc1017000-0xffffffffc1019000           8K USR ro                 x=
  pte
0xffffffffc1019000-0xffffffffc101a000           4K USR ro                 x=
  pte
0xffffffffc101a000-0xffffffffc101b000           4K USR ro                 x=
  pte
0xffffffffc101b000-0xffffffffc101f000          16K USR ro                 x=
  pte
0xffffffffc101f000-0xffffffffc1028000          36K USR ro                 x=
  pte
0xffffffffc1028000-0xffffffffc102a000           8K USR ro                 x=
  pte
0xffffffffc102a000-0xffffffffc102c000           8K USR ro                 x=
  pte
0xffffffffc102c000-0xffffffffc103c000          64K USR ro                 x=
  pte
0xffffffffc103c000-0xffffffffc103d000           4K USR ro                 x=
  pte
0xffffffffc103d000-0xffffffffc1051000          80K USR ro                 x=
  pte
0xffffffffc1051000-0xffffffffc1052000           4K USR ro                 x=
  pte
0xffffffffc1052000-0xffffffffc1057000          20K USR ro                 x=
  pte
0xffffffffc1057000-0xffffffffc1058000           4K USR ro                 x=
  pte
0xffffffffc1058000-0xffffffffc1061000          36K USR ro                 x=
  pte
0xffffffffc1061000-0xffffffffc1063000           8K USR ro                 x=
  pte
0xffffffffc1063000-0xffffffffc106b000          32K USR ro                 x=
  pte
0xffffffffc106b000-0xffffffffc106c000           4K USR ro                 x=
  pte
0xffffffffc106c000-0xffffffffc1078000          48K USR ro                 x=
  pte
0xffffffffc1078000-0xffffffffc107a000           8K USR ro                 x=
  pte
0xffffffffc107a000-0xffffffffc1083000          36K USR ro                 x=
  pte
0xffffffffc1083000-0xffffffffc1084000           4K USR ro                 x=
  pte
0xffffffffc1084000-0xffffffffc108f000          44K USR ro                 x=
  pte
0xffffffffc108f000-0xffffffffc1090000           4K USR ro                 x=
  pte
0xffffffffc1090000-0xffffffffc1094000          16K USR ro                 x=
  pte
0xffffffffc1094000-0xffffffffc1097000          12K USR ro                 x=
  pte
0xffffffffc1097000-0xffffffffc10a0000          36K USR ro                 x=
  pte
0xffffffffc10a0000-0xffffffffc10a2000           8K USR ro                 x=
  pte
0xffffffffc10a2000-0xffffffffc10a7000          20K USR ro                 x=
  pte
0xffffffffc10a7000-0xffffffffc10a8000           4K USR ro                 x=
  pte
0xffffffffc10a8000-0xffffffffc10aa000           8K USR ro                 x=
  pte
0xffffffffc10aa000-0xffffffffc10af000          20K USR ro                 x=
  pte
0xffffffffc10af000-0xffffffffc10b4000          20K USR ro                 x=
  pte
0xffffffffc10b4000-0xffffffffc10b6000           8K USR ro                 x=
  pte
0xffffffffc10b6000-0xffffffffc10c0000          40K USR ro                 x=
  pte
0xffffffffc10c0000-0xffffffffc10c4000          16K USR ro                 x=
  pte
0xffffffffc10c4000-0xffffffffc10c6000           8K USR ro                 x=
  pte
0xffffffffc10c6000-0xffffffffc10ca000          16K USR ro                 x=
  pte
0xffffffffc10ca000-0xffffffffc10cc000           8K USR ro                 x=
  pte
0xffffffffc10cc000-0xffffffffc10cd000           4K USR ro                 x=
  pte
0xffffffffc10cd000-0xffffffffc10d5000          32K USR ro                 x=
  pte
0xffffffffc10d5000-0xffffffffc10d9000          16K USR ro                 x=
  pte
0xffffffffc10d9000-0xffffffffc10da000           4K USR ro                 x=
  pte
0xffffffffc10da000-0xffffffffc10db000           4K USR ro                 x=
  pte
0xffffffffc10db000-0xffffffffc10dc000           4K USR ro                 x=
  pte
0xffffffffc10dc000-0xffffffffc10dd000           4K USR ro                 x=
  pte
0xffffffffc10dd000-0xffffffffc10e2000          20K USR ro                 x=
  pte
0xffffffffc10e2000-0xffffffffc10e3000           4K USR ro                 x=
  pte
0xffffffffc10e3000-0xffffffffc10f8000          84K USR ro                 x=
  pte
0xffffffffc10f8000-0xffffffffc10fb000          12K USR ro                 x=
  pte
0xffffffffc10fb000-0xffffffffc1101000          24K USR ro                 x=
  pte
0xffffffffc1101000-0xffffffffc1102000           4K USR ro                 x=
  pte
0xffffffffc1102000-0xffffffffc1106000          16K USR ro                 x=
  pte
0xffffffffc1106000-0xffffffffc1107000           4K USR ro                 x=
  pte
0xffffffffc1107000-0xffffffffc1108000           4K USR ro                 x=
  pte
0xffffffffc1108000-0xffffffffc1109000           4K USR ro                 x=
  pte
0xffffffffc1109000-0xffffffffc1113000          40K USR ro                 x=
  pte
0xffffffffc1113000-0xffffffffc1114000           4K USR ro                 x=
  pte
0xffffffffc1114000-0xffffffffc1117000          12K USR ro                 x=
  pte
0xffffffffc1117000-0xffffffffc1118000           4K USR ro                 x=
  pte
0xffffffffc1118000-0xffffffffc1122000          40K USR ro                 x=
  pte
0xffffffffc1122000-0xffffffffc1124000           8K USR ro                 x=
  pte
0xffffffffc1124000-0xffffffffc1143000         124K USR ro                 x=
  pte
0xffffffffc1143000-0xffffffffc1145000           8K USR ro                 x=
  pte
0xffffffffc1145000-0xffffffffc1166000         132K USR ro                 x=
  pte
0xffffffffc1166000-0xffffffffc1168000           8K USR ro                 x=
  pte
0xffffffffc1168000-0xffffffffc116d000          20K USR ro                 x=
  pte
0xffffffffc116d000-0xffffffffc116e000           4K USR ro                 x=
  pte
0xffffffffc116e000-0xffffffffc116f000           4K USR ro                 x=
  pte
0xffffffffc116f000-0xffffffffc1170000           4K USR ro                 x=
  pte
0xffffffffc1170000-0xffffffffc1174000          16K USR ro                 x=
  pte
0xffffffffc1174000-0xffffffffc1177000          12K USR ro                 x=
  pte
0xffffffffc1177000-0xffffffffc117a000          12K USR ro                 x=
  pte
0xffffffffc117a000-0xffffffffc117e000          16K USR ro                 x=
  pte
0xffffffffc117e000-0xffffffffc118d000          60K USR ro                 x=
  pte
0xffffffffc118d000-0xffffffffc118e000           4K USR ro                 x=
  pte
0xffffffffc118e000-0xffffffffc1190000           8K USR ro                 x=
  pte
0xffffffffc1190000-0xffffffffc1191000           4K USR ro                 x=
  pte
0xffffffffc1191000-0xffffffffc1192000           4K USR ro                 x=
  pte
0xffffffffc1192000-0xffffffffc1193000           4K USR ro                 x=
  pte
0xffffffffc1193000-0xffffffffc1194000           4K USR ro                 x=
  pte
0xffffffffc1194000-0xffffffffc1197000          12K USR ro                 x=
  pte
0xffffffffc1197000-0xffffffffc1198000           4K USR ro                 x=
  pte
0xffffffffc1198000-0xffffffffc1199000           4K USR ro                 x=
  pte
0xffffffffc1199000-0xffffffffc11a0000          28K USR ro                 x=
  pte
0xffffffffc11a0000-0xffffffffc11a1000           4K USR ro                 x=
  pte
0xffffffffc11a1000-0xffffffffc11ab000          40K USR ro                 x=
  pte
0xffffffffc11ab000-0xffffffffc11ac000           4K USR ro                 x=
  pte
0xffffffffc11ac000-0xffffffffc11af000          12K USR ro                 x=
  pte
0xffffffffc11af000-0xffffffffc11b1000           8K USR ro                 x=
  pte
0xffffffffc11b1000-0xffffffffc11b4000          12K USR ro                 x=
  pte
0xffffffffc11b4000-0xffffffffc11b5000           4K USR ro                 x=
  pte
0xffffffffc11b5000-0xffffffffc11b9000          16K USR ro                 x=
  pte
0xffffffffc11b9000-0xffffffffc11bb000           8K USR ro                 x=
  pte
0xffffffffc11bb000-0xffffffffc11bd000           8K USR ro                 x=
  pte
0xffffffffc11bd000-0xffffffffc11be000           4K USR ro                 x=
  pte
0xffffffffc11be000-0xffffffffc11c2000          16K USR ro                 x=
  pte
0xffffffffc11c2000-0xffffffffc11c6000          16K USR ro                 x=
  pte
0xffffffffc11c6000-0xffffffffc11c7000           4K USR ro                 x=
  pte
0xffffffffc11c7000-0xffffffffc11c8000           4K USR ro                 x=
  pte
0xffffffffc11c8000-0xffffffffc11c9000           4K USR ro                 x=
  pte
0xffffffffc11c9000-0xffffffffc11ca000           4K USR ro                 x=
  pte
0xffffffffc11ca000-0xffffffffc11cf000          20K USR ro                 x=
  pte
0xffffffffc11cf000-0xffffffffc11d0000           4K USR ro                 x=
  pte
0xffffffffc11d0000-0xffffffffc11d3000          12K USR ro                 x=
  pte
0xffffffffc11d3000-0xffffffffc11d5000           8K USR ro                 x=
  pte
0xffffffffc11d5000-0xffffffffc11d6000           4K USR ro                 x=
  pte
0xffffffffc11d6000-0xffffffffc11d8000           8K USR ro                 x=
  pte
0xffffffffc11d8000-0xffffffffc11d9000           4K USR ro                 x=
  pte
0xffffffffc11d9000-0xffffffffc11da000           4K USR ro                 x=
  pte
0xffffffffc11da000-0xffffffffc11e0000          24K USR ro                 x=
  pte
0xffffffffc11e0000-0xffffffffc11e3000          12K USR ro                 x=
  pte
0xffffffffc11e3000-0xffffffffc11e9000          24K USR ro                 x=
  pte
0xffffffffc11e9000-0xffffffffc11ea000           4K USR ro                 x=
  pte
0xffffffffc11ea000-0xffffffffc11eb000           4K USR ro                 x=
  pte
0xffffffffc11eb000-0xffffffffc11f1000          24K USR ro                 x=
  pte
0xffffffffc11f1000-0xffffffffc11f7000          24K USR ro                 x=
  pte
0xffffffffc11f7000-0xffffffffc11f8000           4K USR ro                 x=
  pte
0xffffffffc11f8000-0xffffffffc11fa000           8K USR ro                 x=
  pte
0xffffffffc11fa000-0xffffffffc11fb000           4K USR ro                 x=
  pte
0xffffffffc11fb000-0xffffffffc11fd000           8K USR ro                 x=
  pte
0xffffffffc11fd000-0xffffffffc11fe000           4K USR ro                 x=
  pte
0xffffffffc11fe000-0xffffffffc1200000           8K USR ro                 x=
  pte
0xffffffffc1200000-0xffffffffc1201000           4K USR ro                 x=
  pte
0xffffffffc1201000-0xffffffffc1203000           8K USR ro                 x=
  pte
0xffffffffc1203000-0xffffffffc1207000          16K USR ro                 x=
  pte
0xffffffffc1207000-0xffffffffc1209000           8K USR ro                 x=
  pte
0xffffffffc1209000-0xffffffffc120a000           4K USR ro                 x=
  pte
0xffffffffc120a000-0xffffffffc120b000           4K USR ro                 x=
  pte
0xffffffffc120b000-0xffffffffc120c000           4K USR ro                 x=
  pte
0xffffffffc120c000-0xffffffffc120e000           8K USR ro                 x=
  pte
0xffffffffc120e000-0xffffffffc1223000          84K USR ro                 x=
  pte
0xffffffffc1223000-0xffffffffc1228000          20K USR ro                 x=
  pte
0xffffffffc1228000-0xffffffffc1229000           4K USR ro                 x=
  pte
0xffffffffc1229000-0xffffffffc123b000          72K USR ro                 x=
  pte
0xffffffffc123b000-0xffffffffc123d000           8K USR ro                 x=
  pte
0xffffffffc123d000-0xffffffffc123e000           4K USR ro                 x=
  pte
0xffffffffc123e000-0xffffffffc123f000           4K USR ro                 x=
  pte
0xffffffffc123f000-0xffffffffc1242000          12K USR ro                 x=
  pte
0xffffffffc1242000-0xffffffffc1244000           8K USR ro                 x=
  pte
0xffffffffc1244000-0xffffffffc1245000           4K USR ro                 x=
  pte
0xffffffffc1245000-0xffffffffc1247000           8K USR ro                 x=
  pte
0xffffffffc1247000-0xffffffffc1248000           4K USR ro                 x=
  pte
0xffffffffc1248000-0xffffffffc1252000          40K USR ro                 x=
  pte
0xffffffffc1252000-0xffffffffc1253000           4K USR ro                 x=
  pte
0xffffffffc1253000-0xffffffffc1254000           4K USR ro                 x=
  pte
0xffffffffc1254000-0xffffffffc1255000           4K USR ro                 x=
  pte
0xffffffffc1255000-0xffffffffc1258000          12K USR ro                 x=
  pte
0xffffffffc1258000-0xffffffffc1259000           4K USR ro                 x=
  pte
0xffffffffc1259000-0xffffffffc1268000          60K USR ro                 x=
  pte
0xffffffffc1268000-0xffffffffc126e000          24K USR ro                 x=
  pte
0xffffffffc126e000-0xffffffffc126f000           4K USR ro                 x=
  pte
0xffffffffc126f000-0xffffffffc1272000          12K USR ro                 x=
  pte
0xffffffffc1272000-0xffffffffc1273000           4K USR ro                 x=
  pte
0xffffffffc1273000-0xffffffffc1274000           4K USR ro                 x=
  pte
0xffffffffc1274000-0xffffffffc127a000          24K USR ro                 x=
  pte
0xffffffffc127a000-0xffffffffc127c000           8K USR ro                 x=
  pte
0xffffffffc127c000-0xffffffffc127d000           4K USR ro                 x=
  pte
0xffffffffc127d000-0xffffffffc1285000          32K USR ro                 x=
  pte
0xffffffffc1285000-0xffffffffc1286000           4K USR ro                 x=
  pte
0xffffffffc1286000-0xffffffffc1287000           4K USR ro                 x=
  pte
0xffffffffc1287000-0xffffffffc1288000           4K USR ro                 x=
  pte
0xffffffffc1288000-0xffffffffc1289000           4K USR ro                 x=
  pte
0xffffffffc1289000-0xffffffffc128d000          16K USR ro                 x=
  pte
0xffffffffc128d000-0xffffffffc128f000           8K USR ro                 x=
  pte
0xffffffffc128f000-0xffffffffc1291000           8K USR ro                 x=
  pte
0xffffffffc1291000-0xffffffffc1292000           4K USR ro                 x=
  pte
0xffffffffc1292000-0xffffffffc129f000          52K USR ro                 x=
  pte
0xffffffffc129f000-0xffffffffc12a0000           4K USR ro                 x=
  pte
0xffffffffc12a0000-0xffffffffc12a1000           4K USR ro                 x=
  pte
0xffffffffc12a1000-0xffffffffc12a3000           8K USR ro                 x=
  pte
0xffffffffc12a3000-0xffffffffc12a5000           8K USR ro                 x=
  pte
0xffffffffc12a5000-0xffffffffc12a6000           4K USR ro                 x=
  pte
0xffffffffc12a6000-0xffffffffc12a9000          12K USR ro                 x=
  pte
0xffffffffc12a9000-0xffffffffc12ab000           8K USR ro                 x=
  pte
0xffffffffc12ab000-0xffffffffc12c3000          96K USR ro                 x=
  pte
0xffffffffc12c3000-0xffffffffc12c6000          12K USR ro                 x=
  pte
0xffffffffc12c6000-0xffffffffc12cc000          24K USR ro                 x=
  pte
0xffffffffc12cc000-0xffffffffc12cf000          12K USR ro                 x=
  pte
0xffffffffc12cf000-0xffffffffc12d1000           8K USR ro                 x=
  pte
0xffffffffc12d1000-0xffffffffc12d2000           4K USR ro                 x=
  pte
0xffffffffc12d2000-0xffffffffc12d3000           4K USR ro                 x=
  pte
0xffffffffc12d3000-0xffffffffc12d7000          16K USR ro                 x=
  pte
0xffffffffc12d7000-0xffffffffc12d8000           4K USR ro                 x=
  pte
0xffffffffc12d8000-0xffffffffc12da000           8K USR ro                 x=
  pte
0xffffffffc12da000-0xffffffffc12dc000           8K USR ro                 x=
  pte
0xffffffffc12dc000-0xffffffffc12e1000          20K USR ro                 x=
  pte
0xffffffffc12e1000-0xffffffffc12e3000           8K USR ro                 x=
  pte
0xffffffffc12e3000-0xffffffffc12e4000           4K USR ro                 x=
  pte
0xffffffffc12e4000-0xffffffffc12e5000           4K USR ro                 x=
  pte
0xffffffffc12e5000-0xffffffffc12e6000           4K USR ro                 x=
  pte
0xffffffffc12e6000-0xffffffffc12e7000           4K USR ro                 x=
  pte
0xffffffffc12e7000-0xffffffffc12ed000          24K USR ro                 x=
  pte
0xffffffffc12ed000-0xffffffffc12ee000           4K USR ro                 x=
  pte
0xffffffffc12ee000-0xffffffffc12f9000          44K USR ro                 x=
  pte
0xffffffffc12f9000-0xffffffffc12fa000           4K USR ro                 x=
  pte
0xffffffffc12fa000-0xffffffffc12fe000          16K USR ro                 x=
  pte
0xffffffffc12fe000-0xffffffffc1300000           8K USR ro                 x=
  pte
0xffffffffc1300000-0xffffffffc1302000           8K USR ro                 x=
  pte
0xffffffffc1302000-0xffffffffc130d000          44K USR ro                 x=
  pte
0xffffffffc130d000-0xffffffffc130e000           4K USR ro                 x=
  pte
0xffffffffc130e000-0xffffffffc130f000           4K USR ro                 x=
  pte
0xffffffffc130f000-0xffffffffc1312000          12K USR ro                 x=
  pte
0xffffffffc1312000-0xffffffffc1314000           8K USR ro                 x=
  pte
0xffffffffc1314000-0xffffffffc1318000          16K USR ro                 x=
  pte
0xffffffffc1318000-0xffffffffc131b000          12K USR ro                 x=
  pte
0xffffffffc131b000-0xffffffffc131c000           4K USR ro                 x=
  pte
0xffffffffc131c000-0xffffffffc1324000          32K USR ro                 x=
  pte
0xffffffffc1324000-0xffffffffc1329000          20K USR ro                 x=
  pte
0xffffffffc1329000-0xffffffffc132d000          16K USR ro                 x=
  pte
0xffffffffc132d000-0xffffffffc132e000           4K USR ro                 x=
  pte
0xffffffffc132e000-0xffffffffc132f000           4K USR ro                 x=
  pte
0xffffffffc132f000-0xffffffffc1332000          12K USR ro                 x=
  pte
0xffffffffc1332000-0xffffffffc1333000           4K USR ro                 x=
  pte
0xffffffffc1333000-0xffffffffc1334000           4K USR ro                 x=
  pte
0xffffffffc1334000-0xffffffffc1335000           4K USR ro                 x=
  pte
0xffffffffc1335000-0xffffffffc1337000           8K USR ro                 x=
  pte
0xffffffffc1337000-0xffffffffc133b000          16K USR ro                 x=
  pte
0xffffffffc133b000-0xffffffffc133c000           4K USR ro                 x=
  pte
0xffffffffc133c000-0xffffffffc1340000          16K USR ro                 x=
  pte
0xffffffffc1340000-0xffffffffc1342000           8K USR ro                 x=
  pte
0xffffffffc1342000-0xffffffffc1343000           4K USR ro                 x=
  pte
0xffffffffc1343000-0xffffffffc1348000          20K USR ro                 x=
  pte
0xffffffffc1348000-0xffffffffc134c000          16K USR ro                 x=
  pte
0xffffffffc134c000-0xffffffffc1350000          16K USR ro                 x=
  pte
0xffffffffc1350000-0xffffffffc1351000           4K USR ro                 x=
  pte
0xffffffffc1351000-0xffffffffc1353000           8K USR ro                 x=
  pte
0xffffffffc1353000-0xffffffffc1358000          20K USR ro                 x=
  pte
0xffffffffc1358000-0xffffffffc135e000          24K USR ro                 x=
  pte
0xffffffffc135e000-0xffffffffc135f000           4K USR ro                 x=
  pte
0xffffffffc135f000-0xffffffffc1361000           8K USR ro                 x=
  pte
0xffffffffc1361000-0xffffffffc1366000          20K USR ro                 x=
  pte
0xffffffffc1366000-0xffffffffc1367000           4K USR ro                 x=
  pte
0xffffffffc1367000-0xffffffffc1368000           4K USR ro                 x=
  pte
0xffffffffc1368000-0xffffffffc136a000           8K USR ro                 x=
  pte
0xffffffffc136a000-0xffffffffc1374000          40K USR ro                 x=
  pte
0xffffffffc1374000-0xffffffffc1376000           8K USR ro                 x=
  pte
0xffffffffc1376000-0xffffffffc1379000          12K USR ro                 x=
  pte
0xffffffffc1379000-0xffffffffc137f000          24K USR ro                 x=
  pte
0xffffffffc137f000-0xffffffffc1380000           4K USR ro                 x=
  pte
0xffffffffc1380000-0xffffffffc1383000          12K USR ro                 x=
  pte
0xffffffffc1383000-0xffffffffc1384000           4K USR ro                 x=
  pte
0xffffffffc1384000-0xffffffffc1387000          12K USR ro                 x=
  pte
0xffffffffc1387000-0xffffffffc1389000           8K USR ro                 x=
  pte
0xffffffffc1389000-0xffffffffc138c000          12K USR ro                 x=
  pte
0xffffffffc138c000-0xffffffffc1393000          28K USR ro                 x=
  pte
0xffffffffc1393000-0xffffffffc1395000           8K USR ro                 x=
  pte
0xffffffffc1395000-0xffffffffc1398000          12K USR ro                 x=
  pte
0xffffffffc1398000-0xffffffffc139a000           8K USR ro                 x=
  pte
0xffffffffc139a000-0xffffffffc139c000           8K USR ro                 x=
  pte
0xffffffffc139c000-0xffffffffc139d000           4K USR ro                 x=
  pte
0xffffffffc139d000-0xffffffffc13a3000          24K USR ro                 x=
  pte
0xffffffffc13a3000-0xffffffffc13a4000           4K USR ro                 x=
  pte
0xffffffffc13a4000-0xffffffffc13a5000           4K USR ro                 x=
  pte
0xffffffffc13a5000-0xffffffffc13a6000           4K USR ro                 x=
  pte
0xffffffffc13a6000-0xffffffffc13a9000          12K USR ro                 x=
  pte
0xffffffffc13a9000-0xffffffffc13ab000           8K USR ro                 x=
  pte
0xffffffffc13ab000-0xffffffffc13ac000           4K USR ro                 x=
  pte
0xffffffffc13ac000-0xffffffffc13ae000           8K USR ro                 x=
  pte
0xffffffffc13ae000-0xffffffffc13b1000          12K USR ro                 x=
  pte
0xffffffffc13b1000-0xffffffffc13b3000           8K USR ro                 x=
  pte
0xffffffffc13b3000-0xffffffffc13b5000           8K USR ro                 x=
  pte
0xffffffffc13b5000-0xffffffffc13b9000          16K USR ro                 x=
  pte
0xffffffffc13b9000-0xffffffffc13ba000           4K USR ro                 x=
  pte
0xffffffffc13ba000-0xffffffffc13bf000          20K USR ro                 x=
  pte
0xffffffffc13bf000-0xffffffffc13ce000          60K USR ro                 x=
  pte
0xffffffffc13ce000-0xffffffffc13cf000           4K USR ro                 x=
  pte
0xffffffffc13cf000-0xffffffffc13d0000           4K USR ro                 x=
  pte
0xffffffffc13d0000-0xffffffffc13d2000           8K USR ro                 x=
  pte
0xffffffffc13d2000-0xffffffffc13d3000           4K USR ro                 x=
  pte
0xffffffffc13d3000-0xffffffffc13db000          32K USR ro                 x=
  pte
0xffffffffc13db000-0xffffffffc13dc000           4K USR ro                 x=
  pte
0xffffffffc13dc000-0xffffffffc13dd000           4K USR ro                 x=
  pte
0xffffffffc13dd000-0xffffffffc13de000           4K USR ro                 x=
  pte
0xffffffffc13de000-0xffffffffc13e0000           8K USR ro                 x=
  pte
0xffffffffc13e0000-0xffffffffc13e3000          12K USR ro                 x=
  pte
0xffffffffc13e3000-0xffffffffc13e5000           8K USR ro                 x=
  pte
0xffffffffc13e5000-0xffffffffc13e8000          12K USR ro                 x=
  pte
0xffffffffc13e8000-0xffffffffc13ea000           8K USR ro                 x=
  pte
0xffffffffc13ea000-0xffffffffc13ec000           8K USR ro                 x=
  pte
0xffffffffc13ec000-0xffffffffc13ed000           4K USR ro                 x=
  pte
0xffffffffc13ed000-0xffffffffc13ef000           8K USR ro                 x=
  pte
0xffffffffc13ef000-0xffffffffc13f3000          16K USR ro                 x=
  pte
0xffffffffc13f3000-0xffffffffc13f4000           4K USR ro                 x=
  pte
0xffffffffc13f4000-0xffffffffc13f6000           8K USR ro                 x=
  pte
0xffffffffc13f6000-0xffffffffc13f7000           4K USR ro                 x=
  pte
0xffffffffc13f7000-0xffffffffc13fa000          12K USR ro                 x=
  pte
0xffffffffc13fa000-0xffffffffc13fb000           4K USR ro                 x=
  pte
0xffffffffc13fb000-0xffffffffc13fd000           8K USR ro                 x=
  pte
0xffffffffc13fd000-0xffffffffc13fe000           4K USR ro                 x=
  pte
0xffffffffc13fe000-0xffffffffc1403000          20K USR ro                 x=
  pte
0xffffffffc1403000-0xffffffffc1404000           4K USR ro                 x=
  pte
0xffffffffc1404000-0xffffffffc1406000           8K USR ro                 x=
  pte
0xffffffffc1406000-0xffffffffc1408000           8K USR ro                 x=
  pte
0xffffffffc1408000-0xffffffffc1411000          36K USR ro                 x=
  pte
0xffffffffc1411000-0xffffffffc1412000           4K USR ro                 x=
  pte
0xffffffffc1412000-0xffffffffc1413000           4K USR ro                 x=
  pte
0xffffffffc1413000-0xffffffffc1415000           8K USR ro                 x=
  pte
0xffffffffc1415000-0xffffffffc1416000           4K USR ro                 x=
  pte
0xffffffffc1416000-0xffffffffc1419000          12K USR ro                 x=
  pte
0xffffffffc1419000-0xffffffffc141e000          20K USR ro                 x=
  pte
0xffffffffc141e000-0xffffffffc1425000          28K USR ro                 x=
  pte
0xffffffffc1425000-0xffffffffc1426000           4K USR ro                 x=
  pte
0xffffffffc1426000-0xffffffffc1428000           8K USR ro                 x=
  pte
0xffffffffc1428000-0xffffffffc142f000          28K USR ro                 x=
  pte
0xffffffffc142f000-0xffffffffc1430000           4K USR ro                 x=
  pte
0xffffffffc1430000-0xffffffffc1437000          28K USR ro                 x=
  pte
0xffffffffc1437000-0xffffffffc1438000           4K USR ro                 x=
  pte
0xffffffffc1438000-0xffffffffc1439000           4K USR ro                 x=
  pte
0xffffffffc1439000-0xffffffffc143d000          16K USR ro                 x=
  pte
0xffffffffc143d000-0xffffffffc143e000           4K USR ro                 x=
  pte
0xffffffffc143e000-0xffffffffc143f000           4K USR ro                 x=
  pte
0xffffffffc143f000-0xffffffffc1440000           4K USR ro                 x=
  pte
0xffffffffc1440000-0xffffffffc1443000          12K USR ro                 x=
  pte
0xffffffffc1443000-0xffffffffc1445000           8K USR ro                 x=
  pte
0xffffffffc1445000-0xffffffffc1446000           4K USR ro                 x=
  pte
0xffffffffc1446000-0xffffffffc1448000           8K USR ro                 x=
  pte
0xffffffffc1448000-0xffffffffc144d000          20K USR ro                 x=
  pte
0xffffffffc144d000-0xffffffffc144f000           8K USR ro                 x=
  pte
0xffffffffc144f000-0xffffffffc1451000           8K USR ro                 x=
  pte
0xffffffffc1451000-0xffffffffc1452000           4K USR ro                 x=
  pte
0xffffffffc1452000-0xffffffffc1458000          24K USR ro                 x=
  pte
0xffffffffc1458000-0xffffffffc1459000           4K USR ro                 x=
  pte
0xffffffffc1459000-0xffffffffc145a000           4K USR ro                 x=
  pte
0xffffffffc145a000-0xffffffffc145c000           8K USR ro                 x=
  pte
0xffffffffc145c000-0xffffffffc145d000           4K USR ro                 x=
  pte
0xffffffffc145d000-0xffffffffc1462000          20K USR ro                 x=
  pte
0xffffffffc1462000-0xffffffffc1463000           4K USR ro                 x=
  pte
0xffffffffc1463000-0xffffffffc1464000           4K USR ro                 x=
  pte
0xffffffffc1464000-0xffffffffc1465000           4K USR ro                 x=
  pte
0xffffffffc1465000-0xffffffffc1467000           8K USR ro                 x=
  pte
0xffffffffc1467000-0xffffffffc1468000           4K USR ro                 x=
  pte
0xffffffffc1468000-0xffffffffc1469000           4K USR ro                 x=
  pte
0xffffffffc1469000-0xffffffffc146a000           4K USR ro                 x=
  pte
0xffffffffc146a000-0xffffffffc146b000           4K USR ro                 x=
  pte
0xffffffffc146b000-0xffffffffc1470000          20K USR ro                 x=
  pte
0xffffffffc1470000-0xffffffffc1471000           4K USR ro                 x=
  pte
0xffffffffc1471000-0xffffffffc1473000           8K USR ro                 x=
  pte
0xffffffffc1473000-0xffffffffc1477000          16K USR ro                 x=
  pte
0xffffffffc1477000-0xffffffffc147a000          12K USR ro                 x=
  pte
0xffffffffc147a000-0xffffffffc147b000           4K USR ro                 x=
  pte
0xffffffffc147b000-0xffffffffc147c000           4K USR ro                 x=
  pte
0xffffffffc147c000-0xffffffffc147d000           4K USR ro                 x=
  pte
0xffffffffc147d000-0xffffffffc1482000          20K USR ro                 x=
  pte
0xffffffffc1482000-0xffffffffc1484000           8K USR ro                 x=
  pte
0xffffffffc1484000-0xffffffffc1485000           4K USR ro                 x=
  pte
0xffffffffc1485000-0xffffffffc1486000           4K USR ro                 x=
  pte
0xffffffffc1486000-0xffffffffc1489000          12K USR ro                 x=
  pte
0xffffffffc1489000-0xffffffffc148a000           4K USR ro                 x=
  pte
0xffffffffc148a000-0xffffffffc148b000           4K USR ro                 x=
  pte
0xffffffffc148b000-0xffffffffc148c000           4K USR ro                 x=
  pte
0xffffffffc148c000-0xffffffffc1499000          52K USR ro                 x=
  pte
0xffffffffc1499000-0xffffffffc149a000           4K USR ro                 x=
  pte
0xffffffffc149a000-0xffffffffc14a2000          32K USR ro                 x=
  pte
0xffffffffc14a2000-0xffffffffc14a5000          12K USR ro                 x=
  pte
0xffffffffc14a5000-0xffffffffc14a8000          12K USR ro                 x=
  pte
0xffffffffc14a8000-0xffffffffc14b0000          32K USR ro                 x=
  pte
0xffffffffc14b0000-0xffffffffc14b1000           4K USR ro                 x=
  pte
0xffffffffc14b1000-0xffffffffc14b2000           4K USR ro                 x=
  pte
0xffffffffc14b2000-0xffffffffc14c2000          64K USR ro                 x=
  pte
0xffffffffc14c2000-0xffffffffc14c3000           4K USR ro                 x=
  pte
0xffffffffc14c3000-0xffffffffc14c5000           8K USR ro                 x=
  pte
0xffffffffc14c5000-0xffffffffc14cb000          24K USR ro                 x=
  pte
0xffffffffc14cb000-0xffffffffc14cc000           4K USR ro                 x=
  pte
0xffffffffc14cc000-0xffffffffc14cf000          12K USR ro                 x=
  pte
0xffffffffc14cf000-0xffffffffc14d0000           4K USR ro                 x=
  pte
0xffffffffc14d0000-0xffffffffc14d1000           4K USR ro                 x=
  pte
0xffffffffc14d1000-0xffffffffc14d3000           8K USR ro                 x=
  pte
0xffffffffc14d3000-0xffffffffc14d4000           4K USR ro                 x=
  pte
0xffffffffc14d4000-0xffffffffc14d6000           8K USR ro                 x=
  pte
0xffffffffc14d6000-0xffffffffc14d7000           4K USR ro                 x=
  pte
0xffffffffc14d7000-0xffffffffc14db000          16K USR ro                 x=
  pte
0xffffffffc14db000-0xffffffffc14dc000           4K USR ro                 x=
  pte
0xffffffffc14dc000-0xffffffffc14de000           8K USR ro                 x=
  pte
0xffffffffc14de000-0xffffffffc14df000           4K USR ro                 x=
  pte
0xffffffffc14df000-0xffffffffc14e3000          16K USR ro                 x=
  pte
0xffffffffc14e3000-0xffffffffc14e7000          16K USR ro                 x=
  pte
0xffffffffc14e7000-0xffffffffc14e8000           4K USR ro                 x=
  pte
0xffffffffc14e8000-0xffffffffc14e9000           4K USR ro                 x=
  pte
0xffffffffc14e9000-0xffffffffc14f1000          32K USR ro                 x=
  pte
0xffffffffc14f1000-0xffffffffc14f2000           4K USR ro                 x=
  pte
0xffffffffc14f2000-0xffffffffc14f6000          16K USR ro                 x=
  pte
0xffffffffc14f6000-0xffffffffc14f7000           4K USR ro                 x=
  pte
0xffffffffc14f7000-0xffffffffc14f8000           4K USR ro                 x=
  pte
0xffffffffc14f8000-0xffffffffc14f9000           4K USR ro                 x=
  pte
0xffffffffc14f9000-0xffffffffc14fe000          20K USR ro                 x=
  pte
0xffffffffc14fe000-0xffffffffc1503000          20K USR ro                 x=
  pte
0xffffffffc1503000-0xffffffffc1508000          20K USR ro                 x=
  pte
0xffffffffc1508000-0xffffffffc150d000          20K USR ro                 x=
  pte
0xffffffffc150d000-0xffffffffc1511000          16K USR ro                 x=
  pte
0xffffffffc1511000-0xffffffffc1513000           8K USR ro                 x=
  pte
0xffffffffc1513000-0xffffffffc1514000           4K USR ro                 x=
  pte
0xffffffffc1514000-0xffffffffc1515000           4K USR ro                 x=
  pte
0xffffffffc1515000-0xffffffffc1516000           4K USR ro                 x=
  pte
0xffffffffc1516000-0xffffffffc151b000          20K USR ro                 x=
  pte
0xffffffffc151b000-0xffffffffc1520000          20K USR ro                 x=
  pte
0xffffffffc1520000-0xffffffffc1521000           4K USR ro                 x=
  pte
0xffffffffc1521000-0xffffffffc1523000           8K USR ro                 x=
  pte
0xffffffffc1523000-0xffffffffc1525000           8K USR ro                 x=
  pte
0xffffffffc1525000-0xffffffffc1526000           4K USR ro                 x=
  pte
0xffffffffc1526000-0xffffffffc1529000          12K USR ro                 x=
  pte
0xffffffffc1529000-0xffffffffc152a000           4K USR ro                 x=
  pte
0xffffffffc152a000-0xffffffffc152b000           4K USR ro                 x=
  pte
0xffffffffc152b000-0xffffffffc152e000          12K USR ro                 x=
  pte
0xffffffffc152e000-0xffffffffc1533000          20K USR ro                 x=
  pte
0xffffffffc1533000-0xffffffffc1535000           8K USR ro                 x=
  pte
0xffffffffc1535000-0xffffffffc1537000           8K USR ro                 x=
  pte
0xffffffffc1537000-0xffffffffc1538000           4K USR ro                 x=
  pte
0xffffffffc1538000-0xffffffffc1539000           4K USR ro                 x=
  pte
0xffffffffc1539000-0xffffffffc153b000           8K USR ro                 x=
  pte
0xffffffffc153b000-0xffffffffc153d000           8K USR ro                 x=
  pte
0xffffffffc153d000-0xffffffffc1541000          16K USR ro                 x=
  pte
0xffffffffc1541000-0xffffffffc1542000           4K USR ro                 x=
  pte
0xffffffffc1542000-0xffffffffc1544000           8K USR ro                 x=
  pte
0xffffffffc1544000-0xffffffffc1545000           4K USR ro                 x=
  pte
0xffffffffc1545000-0xffffffffc1547000           8K USR ro                 x=
  pte
0xffffffffc1547000-0xffffffffc1551000          40K USR ro                 x=
  pte
0xffffffffc1551000-0xffffffffc1552000           4K USR ro                 x=
  pte
0xffffffffc1552000-0xffffffffc1554000           8K USR ro                 x=
  pte
0xffffffffc1554000-0xffffffffc1555000           4K USR ro                 x=
  pte
0xffffffffc1555000-0xffffffffc155d000          32K USR ro                 x=
  pte
0xffffffffc155d000-0xffffffffc155f000           8K USR ro                 x=
  pte
0xffffffffc155f000-0xffffffffc1563000          16K USR ro                 x=
  pte
0xffffffffc1563000-0xffffffffc1566000          12K USR ro                 x=
  pte
0xffffffffc1566000-0xffffffffc1567000           4K USR ro                 x=
  pte
0xffffffffc1567000-0xffffffffc1568000           4K USR ro                 x=
  pte
0xffffffffc1568000-0xffffffffc156a000           8K USR ro                 x=
  pte
0xffffffffc156a000-0xffffffffc156b000           4K USR ro                 x=
  pte
0xffffffffc156b000-0xffffffffc1572000          28K USR ro                 x=
  pte
0xffffffffc1572000-0xffffffffc1573000           4K USR ro                 x=
  pte
0xffffffffc1573000-0xffffffffc1576000          12K USR ro                 x=
  pte
0xffffffffc1576000-0xffffffffc1577000           4K USR ro                 x=
  pte
0xffffffffc1577000-0xffffffffc1578000           4K USR ro                 x=
  pte
0xffffffffc1578000-0xffffffffc1579000           4K USR ro                 x=
  pte
0xffffffffc1579000-0xffffffffc157a000           4K USR ro                 x=
  pte
0xffffffffc157a000-0xffffffffc157b000           4K USR ro                 x=
  pte
0xffffffffc157b000-0xffffffffc157d000           8K USR ro                 x=
  pte
0xffffffffc157d000-0xffffffffc157f000           8K USR ro                 x=
  pte
0xffffffffc157f000-0xffffffffc1582000          12K USR ro                 x=
  pte
0xffffffffc1582000-0xffffffffc1584000           8K USR ro                 x=
  pte
0xffffffffc1584000-0xffffffffc1586000           8K USR ro                 x=
  pte
0xffffffffc1586000-0xffffffffc1588000           8K USR ro                 x=
  pte
0xffffffffc1588000-0xffffffffc1589000           4K USR ro                 x=
  pte
0xffffffffc1589000-0xffffffffc158d000          16K USR ro                 x=
  pte
0xffffffffc158d000-0xffffffffc158f000           8K USR ro                 x=
  pte
0xffffffffc158f000-0xffffffffc1593000          16K USR ro                 x=
  pte
0xffffffffc1593000-0xffffffffc1594000           4K USR ro                 x=
  pte
0xffffffffc1594000-0xffffffffc1595000           4K USR ro                 x=
  pte
0xffffffffc1595000-0xffffffffc1596000           4K USR ro                 x=
  pte
0xffffffffc1596000-0xffffffffc1599000          12K USR ro                 x=
  pte
0xffffffffc1599000-0xffffffffc15ab000          72K USR ro                 x=
  pte
0xffffffffc15ab000-0xffffffffc15ac000           4K USR ro                 x=
  pte
0xffffffffc15ac000-0xffffffffc15b0000          16K USR ro                 x=
  pte
0xffffffffc15b0000-0xffffffffc15b1000           4K USR ro                 x=
  pte
0xffffffffc15b1000-0xffffffffc15b7000          24K USR ro                 x=
  pte
0xffffffffc15b7000-0xffffffffc1600000         292K USR RW                 N=
X pte
0xffffffffc1600000-0xffffffffc179c000        1648K USR ro                 N=
X pte
0xffffffffc179c000-0xffffffffc1800000         400K USR RW                 N=
X pte
0xffffffffc1800000-0xffffffffc1802000           8K USR RW                 x=
  pte
0xffffffffc1802000-0xffffffffc1803000           4K USR RW                 x=
  pte
0xffffffffc1803000-0xffffffffc1805000           8K USR RW                 x=
  pte
0xffffffffc1805000-0xffffffffc180b000          24K USR RW                 x=
  pte
0xffffffffc180b000-0xffffffffc180f000          16K USR ro                 x=
  pte
0xffffffffc180f000-0xffffffffc1810000           4K USR RW                 x=
  pte
0xffffffffc1810000-0xffffffffc1812000           8K USR ro                 x=
  pte
0xffffffffc1812000-0xffffffffc1813000           4K USR RW                 x=
  pte
0xffffffffc1813000-0xffffffffc1815000           8K USR RW                 x=
  pte
0xffffffffc1815000-0xffffffffc1816000           4K USR RW                 x=
  pte
0xffffffffc1816000-0xffffffffc1818000           8K USR RW                 x=
  pte
0xffffffffc1818000-0xffffffffc181a000           8K USR RW                 x=
  pte
0xffffffffc181a000-0xffffffffc181d000          12K USR RW                 x=
  pte
0xffffffffc181d000-0xffffffffc181e000           4K USR RW                 x=
  pte
0xffffffffc181e000-0xffffffffc1832000          80K USR RW                 x=
  pte
0xffffffffc1832000-0xffffffffc1834000           8K USR RW                 x=
  pte
0xffffffffc1834000-0xffffffffc183a000          24K USR RW                 x=
  pte
0xffffffffc183a000-0xffffffffc183d000          12K USR RW                 x=
  pte
0xffffffffc183d000-0xffffffffc1841000          16K USR RW                 x=
  pte
0xffffffffc1841000-0xffffffffc1843000           8K USR RW                 x=
  pte
0xffffffffc1843000-0xffffffffc1845000           8K USR RW                 x=
  pte
0xffffffffc1845000-0xffffffffc1846000           4K USR RW                 x=
  pte
0xffffffffc1846000-0xffffffffc1849000          12K USR RW                 x=
  pte
0xffffffffc1849000-0xffffffffc184a000           4K USR RW                 x=
  pte
0xffffffffc184a000-0xffffffffc184f000          20K USR RW                 x=
  pte
0xffffffffc184f000-0xffffffffc1850000           4K USR RW                 x=
  pte
0xffffffffc1850000-0xffffffffc1885000         212K USR RW                 x=
  pte
0xffffffffc1885000-0xffffffffc1938000         716K USR RW                 N=
X pte
0xffffffffc1938000-0xffffffffc193a000           8K USR RW                 x=
  pte
0xffffffffc193a000-0xffffffffc193b000           4K USR ro                 x=
  pte
0xffffffffc193b000-0xffffffffc193d000           8K USR RW                 x=
  pte
0xffffffffc193d000-0xffffffffc193e000           4K USR ro                 x=
  pte
0xffffffffc193e000-0xffffffffc1948000          40K USR RW                 x=
  pte
0xffffffffc1948000-0xffffffffc194a000           8K USR RW                 x=
  pte
0xffffffffc194a000-0xffffffffc194c000           8K USR RW                 x=
  pte
0xffffffffc194c000-0xffffffffc196c000         128K USR RW                 x=
  pte
0xffffffffc196c000-0xffffffffc196d000           4K USR RW                 x=
  pte
0xffffffffc196d000-0xffffffffc1970000          12K USR RW                 x=
  pte
0xffffffffc1970000-0xffffffffc1971000           4K USR RW                 x=
  pte
0xffffffffc1971000-0xffffffffc1972000           4K USR RW                 x=
  pte
0xffffffffc1972000-0xffffffffc1973000           4K USR RW                 x=
  pte
0xffffffffc1973000-0xffffffffc1975000           8K USR RW                 x=
  pte
0xffffffffc1975000-0xffffffffc1976000           4K USR RW                 x=
  pte
0xffffffffc1976000-0xffffffffc1977000           4K USR RW                 x=
  pte
0xffffffffc1977000-0xffffffffc197b000          16K USR RW                 x=
  pte
0xffffffffc197b000-0xffffffffc19b9000         248K USR RW                 x=
  pte
0xffffffffc19b9000-0xffffffffc19c0000          28K USR RW                 x=
  pte
0xffffffffc19c0000-0xffffffffc19df000         124K USR RW                 x=
  pte
0xffffffffc19df000-0xffffffffc19e8000          36K USR RW                 x=
  pte
0xffffffffc19e8000-0xffffffffc19f1000          36K USR RW                 x=
  pte
0xffffffffc19f1000-0xffffffffc19f2000           4K USR RW                 x=
  pte
0xffffffffc19f2000-0xffffffffc19f3000           4K USR RW                 x=
  pte
0xffffffffc19f3000-0xffffffffc19f5000           8K USR RW                 x=
  pte
0xffffffffc19f5000-0xffffffffc19f8000          12K USR RW                 x=
  pte
0xffffffffc19f8000-0xffffffffc1a0a000          72K USR RW                 x=
  pte
0xffffffffc1a0a000-0xffffffffc1a0f000          20K USR RW                 x=
  pte
0xffffffffc1a0f000-0xffffffffc1a1c000          52K USR RW                 x=
  pte
0xffffffffc1a1c000-0xffffffffc1a1d000           4K USR RW                 x=
  pte
0xffffffffc1a1d000-0xffffffffc1aa4000         540K USR RW                 x=
  pte
0xffffffffc1aa4000-0xffffffffc1aa8000          16K USR ro                 x=
  pte
0xffffffffc1aa8000-0xffffffffc1b28000         512K USR RW                 x=
  pte
0xffffffffc1b28000-0xffffffffc1e3d000        3156K USR RW                 x=
  pte
0xffffffffc1e3d000-0xffffffffcfc93000      227672K USR RW                 N=
X pte
0xffffffffcfc93000-0xffffffffdf694000      256004K USR RW                 x=
  pte
0xffffffffdf694000-0xffffffffdf696000           8K USR RW                 x=
  pte
0xffffffffdf696000-0xffffffffdf797000        1028K USR ro                 x=
  pte
0xffffffffdf797000-0xffffffffdfc00000        4516K USR RW                 x=
  pte
0xffffffffdfc00000-0xffffffffff000000         500M                         =
  pmd
---[ End Modules ]---
0xffffffffff000000-0xffffffffff400000           4M                         =
  pmd
0xffffffffff400000-0xffffffffff579000        1508K                         =
  pte
0xffffffffff579000-0xffffffffff57a000           4K USR RW                 N=
X pte
0xffffffffff57a000-0xffffffffff5ff000         532K                         =
  pte
0xffffffffff5ff000-0xffffffffff601000           8K USR ro             GLB N=
X pte
0xffffffffff601000-0xffffffffff800000        2044K                         =
  pte
0xffffffffff800000-0x0000000000000000           8M                         =
  pmd
# poweroff

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="133-gb-bad.txt"

console [hvc0] enabled, bootconsole disabled
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
Detected 2261.074 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 4522.14 BogoMIPS (lpj=2261074)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
Dentry cache hash table entries: 33554432 (order: 16, 268435456 bytes)
Inode-cache hash table entries: 16777216 (order: 15, 134217728 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys cpuacct
Initializing cgroup subsys freezer
ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
Freeing SMP alternatives: 24k freed
cpu 0 spinlock event irq 17
Performance Events: unsupported p6 CPU model 46 no PMU driver, software events only.
NMI watchdog: disabled (cpu0): hardware events not enabled
Brought up 1 CPUs
kworker/u:0 used greatest stack depth: 6000 bytes left
Grant tables using version 2 layout.
Grant table initialized
RTC time: 165:165:165, date: 165/165/65
NET: Registered protocol family 16
kworker/u:0 used greatest stack depth: 5536 bytes left
dca service started, version 1.12.1
PCI: setting up Xen PCI frontend stub
PCI: pci_cache_line_size set to 64 bytes
bio: create slab <bio-0> at 0
ACPI: Interpreter disabled.
xen/balloon: Initialising balloon driver.
xen-balloon: Initialising balloon driver.
vgaarb: loaded
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: System does not support PCI
PCI: System does not support PCI
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
Switching to clocksource xen
pnp: PnP ACPI: disabled
NET: Registered protocol family 2
IP route cache hash table entries: 524288 (order: 10, 4194304 bytes)
TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP: reno registered
UDP hash table entries: 65536 (order: 9, 2097152 bytes)
UDP-Lite hash table entries: 65536 (order: 9, 2097152 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 64
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 227672k freed
platform rtc_cmos: registered platform RTC device (no PNP device found)
Machine check injector initialized
microcode: CPU0 sig=0x206e5, pf=0x4, revision=0xffff0018
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
audit: initializing netlink socket (disabled)
type=2000 audit(1336432515.722:1): initialized
HugeTLB registered 2 MB page size, pre-allocated 0 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
NTFS driver 2.1.30 [Flags: R/W].
msgmni has been set to 32768
SELinux:  Registering netfilter hooks
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ioatdma: Intel(R) QuickData Technology Driver 4.00
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Non-volatile memory driver v1.3
Linux agpgart interface v0.103
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 2.2.0-k
ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd: block sizes: qh 112 qtd 96 itd 192 sitd 96
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd: block sizes: ed 80 td 96
uhci_hcd: USB Universal Host Controller Interface driver
usbcore: registered new interface driver usblp
usbcore: registered new interface driver libusual
i8042: PNP: No PS/2 controller found. Probing ports directly.
i8042: No controller found
mousedev: PS/2 mouse device common for all mice
rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
rtc_cmos: probe of rtc_cmos failed with error -38
EFI Variables Facility v0.08 2004-May-17
zram: num_devices not specified. Using default: 1
zram: Creating 1 devices ...
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ctnetlink v0.93: registering with nfnetlink.
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP: cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Registering the dns_resolver key type
PM: Hibernation image not present or could not be loaded.
registered taskstats version 1
  Magic number: 1:252:3141
Freeing unused kernel memory: 692k freed
Write protecting the kernel read-only data: 8192k
Freeing unused kernel memory: 292k freed
Freeing unused kernel memory: 400k freed



init started: BusyBox v1.14.3 (2012-05-07 12:16:33 EDT)
Mounting directories  [  OK  ]
------------[ cut here ]------------
WARNING: at /home/konrad/ssd/linux/mm/vmalloc.c:107 vmap_page_range_noflush+0x328/0x3a0()
Modules linked in:
Pid: 1051, comm: modprobe Not tainted 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff810704da>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8102fcd9>] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
 [<ffffffff81070525>] warn_slowpath_null+0x15/0x20
 [<ffffffff81129e68>] vmap_page_range_noflush+0x328/0x3a0
 [<ffffffff81129f1d>] vmap_page_range+0x3d/0x60
 [<ffffffff81129f6d>] map_vm_area+0x2d/0x50
 [<ffffffff8112b3a0>] __vmalloc_node_range+0x160/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
---[ end trace efd7fe3e15953dc6 ]---
vmalloc: allocation failure, allocated 16384 of 20480 bytes
modprobe: page allocation failure: order:0, mode:0xd2
Pid: 1051, comm: modprobe Tainted: G        W    3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff8110389b>] warn_alloc_failed+0xeb/0x130
 [<ffffffff81129f24>] ? vmap_page_range+0x44/0x60
 [<ffffffff8112b456>] __vmalloc_node_range+0x216/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
Mem-Info:
Node 0 DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Node 0 DMA32 per-cpu:
CPU    0: hi:  186, btch:  31 usd: 168
Node 0 Normal per-cpu:
CPU    0: hi:  186, btch:  31 usd:  73
active_anon:253 inactive_anon:31970 isolated_anon:0
 active_file:391 inactive_file:27806 isolated_file:0
 unevictable:0 dirty:0 writeback:0 unstable:0
 free:33525733 slab_reclaimable:1660 slab_unreclaimable:976
 mapped:340 shmem:31960 pagetables:34 bounce:0
Node 0 DMA free:8760kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8536kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 4024 132160 132160
Node 0 DMA32 free:3637796kB min:1416kB low:1768kB high:2124kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4120800kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 128135 128135
Node 0 Normal free:130456376kB min:45112kB low:56388kB high:67668kB active_anon:1012kB inactive_anon:127880kB active_file:1564kB inactive_file:111224kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:131211120kB mlocked:0kB dirty:0kB writeback:0kB mapped:1360kB shmem:127840kB slab_reclaimable:6640kB slab_unreclaimable:3904kB kernel_stack:368kB pagetables:136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Node 0 DMA: 2*4kB 2*8kB 0*16kB 3*32kB 3*64kB 2*128kB 2*256kB 1*512kB 3*1024kB 2*2048kB 0*4096kB = 8760kB
Node 0 DMA32: 5*4kB 2*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 4*512kB 1*1024kB 0*2048kB 887*4096kB = 3637796kB
Node 0 Normal: 26*4kB 26*8kB 14*16kB 11*32kB 11*64kB 6*128kB 8*256kB 7*512kB 9*1024kB 3*2048kB 31844*4096kB = 130456376kB
60151 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
34306032 pages RAM
612977 pages reserved
983 pages shared
166525 pages non-shared
modprobe: FATAL: Error inserting xenfs (/lib/modules/3.4.0-rc6upstream-00024-g3bfd88d-dirty/kernel/drivers/xen/xenfs/xenfs.ko): Cannot allocate memory
...
------------[ cut here ]------------
WARNING: at /home/konrad/ssd/linux/mm/vmalloc.c:107 vmap_page_range_noflush+0x328/0x3a0()
Modules linked in: libcrc32c crc32c
Pid: 2165, comm: modprobe Tainted: G        W  O 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff810704da>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8102fcd9>] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
 [<ffffffff81070525>] warn_slowpath_null+0x15/0x20
 [<ffffffff81129e68>] vmap_page_range_noflush+0x328/0x3a0
 [<ffffffff81129f1d>] vmap_page_range+0x3d/0x60
 [<ffffffff81129f6d>] map_vm_area+0x2d/0x50
 [<ffffffff8112b3a0>] __vmalloc_node_range+0x160/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
---[ end trace efd7fe3e15953dd2 ]---
vmalloc: allocation failure, allocated 16384 of 20480 bytes
modprobe: page allocation failure: order:0, mode:0xd2
Pid: 2165, comm: modprobe Tainted: G        W  O 3.4.0-rc6upstream-00024-g3bfd88d-dirty #1
Call Trace:
 [<ffffffff8110389b>] warn_alloc_failed+0xeb/0x130
 [<ffffffff81129f24>] ? vmap_page_range+0x44/0x60
 [<ffffffff8112b456>] __vmalloc_node_range+0x216/0x250
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c2856>] ? load_module+0x66/0x19b0
 [<ffffffff8105badc>] module_alloc+0x5c/0x60
 [<ffffffff810c1a39>] ? module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c1a39>] module_alloc_update_bounds+0x19/0x80
 [<ffffffff810c3783>] load_module+0xf93/0x19b0
 [<ffffffff810c41fa>] sys_init_module+0x5a/0x220
 [<ffffffff815ad739>] system_call_fastpath+0x16/0x1b
Mem-Info:
Node 0 DMA per-cpu:
CPU    0: hi:    0, btch:   1 usd:   0
Node 0 DMA32 per-cpu:
CPU    0: hi:  186, btch:  31 usd: 168
Node 0 Normal per-cpu:
CPU    0: hi:  186, btch:  31 usd:  37
active_anon:1428 inactive_anon:31278 isolated_anon:0
 active_file:1711 inactive_file:26465 isolated_file:0
 unevictable:0 dirty:0 writeback:0 unstable:0
 free:33523833 slab_reclaimable:2320 slab_unreclaimable:1641
 mapped:586 shmem:31998 pagetables:132 bounce:0
Node 0 DMA free:8760kB min:0kB low:0kB high:0kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:8536kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 4024 132160 132160
Node 0 DMA32 free:3637796kB min:1416kB low:1768kB high:2124kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4120800kB mlocked:0kB dirty:0kB writeback:0kB mapped:4kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 128135 128135
Node 0 Normal free:130448776kB min:45112kB low:56388kB high:67668kB active_anon:5712kB inactive_anon:125112kB active_file:6844kB inactive_file:105860kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:131211120kB mlocked:0kB dirty:0kB writeback:0kB mapped:2340kB shmem:127992kB slab_reclaimable:9280kB slab_unreclaimable:6564kB kernel_stack:296kB pagetables:528kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Node 0 DMA: 2*4kB 2*8kB 0*16kB 3*32kB 3*64kB 2*128kB 2*256kB 1*512kB 3*1024kB 2*2048kB 0*4096kB = 8760kB
Node 0 DMA32: 5*4kB 2*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 4*512kB 1*1024kB 0*2048kB 887*4096kB = 3637796kB
Node 0 Normal: 126*4kB 84*8kB 70*16kB 33*32kB 10*64kB 4*128kB 2*256kB 3*512kB 7*1024kB 5*2048kB 31842*4096kB = 130448792kB
60174 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
34306032 pages RAM
612977 pages reserved
1735 pages shared
168082 pages non-shared

0xffffc90000000000-0xffffc90010001000 268439552 alloc_large_system_hash+0x154/0x213 pages=65536 vmalloc vpages N0=65536
0xffffc90010001000-0xffffc90010082000  528384 alloc_large_system_hash+0x154/0x213 pages=128 vmalloc N0=128
0xffffc90010082000-0xffffc90018083000 134221824 alloc_large_system_hash+0x154/0x213 pages=32768 vmalloc vpages N0=32768
0xffffc90018083000-0xffffc900180c4000  266240 alloc_large_system_hash+0x154/0x213 pages=64 vmalloc N0=64
0xffffc900180c4000-0xffffc900180c7000   12288 alloc_large_system_hash+0x154/0x213 pages=2 vmalloc N0=2
0xffffc900180c8000-0xffffc900180cd000   20480 arch_gnttab_map_status+0x50/0x70 ioremap
0xffffc900180cd000-0xffffc900180d2000   20480 alloc_large_system_hash+0x154/0x213 pages=4 vmalloc N0=4
0xffffc900180d2000-0xffffc900180de000   49152 zisofs_init+0x11/0x23 pages=11 vmalloc N0=11
0xffffc900180de000-0xffffc900180eb000   53248 netback_init+0x4c/0x210 pages=12 vmalloc N0=12
0xffffc90018100000-0xffffc90018121000  135168 arch_gnttab_map_shared+0x50/0x70 ioremap
0xffffc90018121000-0xffffc90018522000 4198400 alloc_large_system_hash+0x154/0x213 pages=1024 vmalloc vpages N0=1024
0xffffc90018522000-0xffffc90018d23000 8392704 alloc_large_system_hash+0x154/0x213 pages=2048 vmalloc vpages N0=2048
0xffffc90018d23000-0xffffc90018e24000 1052672 alloc_large_system_hash+0x154/0x213 pages=256 vmalloc N0=256
0xffffc90018e24000-0xffffc90019025000 2101248 alloc_large_system_hash+0x154/0x213 pages=512 vmalloc N0=512
0xffffc90019025000-0xffffc90019226000 2101248 alloc_large_system_hash+0x154/0x213 pages=512 vmalloc N0=512
0xffffffffa0000000-0xffffffffa0005000   20480 module_alloc_update_bounds+0x19/0x80 pages=4 vmalloc N0=4
0xffffffffa0008000-0xffffffffa000d000   20480 module_alloc_update_bounds+0x19/0x80 pages=4 vmalloc N0=4

























































---[ User Space ]---
0x0000000000000000-0xffff800000000000    16777088T                           pgd
---[ Kernel Space ]---
0xffff800000000000-0xffff814000000000        1280G                           pud
0xffff814000000000-0xffff8140a0000000        2560M                           pmd
0xffff8140a0000000-0xffff8140a0500000           5M                           pte
0xffff8140a0500000-0xffff8140a0501000           4K USR RW                 x  pte
0xffff8140a0501000-0xffff8140a0503000           8K     RW                 x  pte
0xffff8140a0503000-0xffff8140a0504000           4K                           pte
0xffff8140a0504000-0xffff8140a0505000           4K     RW                 x  pte
0xffff8140a0505000-0xffff8140a0507000           8K USR RW                 x  pte
0xffff8140a0507000-0xffff8140a0509000           8K     RW                 x  pte
0xffff8140a0509000-0xffff8140a0510000          28K                           pte
0xffff8140a0510000-0xffff8140a0511000           4K USR RW                 x  pte
0xffff8140a0511000-0xffff8140a0592000         516K                           pte
0xffff8140a0592000-0xffff8140a0593000           4K USR RW                 x  pte
0xffff8140a0593000-0xffff8140a05d4000         260K                           pte
0xffff8140a05d4000-0xffff8140a05d5000           4K USR RW                 x  pte
0xffff8140a05d5000-0xffff8140a05ff000         168K                           pte
0xffff8140a05ff000-0xffff8140a0600000           4K USR RW                 x  pte
0xffff8140a0600000-0xffff8140a0800000           2M                           pmd
0xffff8140a0800000-0xffff8140a1200000          10M                           pte
0xffff8140a1200000-0xffff8140a2000000          14M                           pmd
0xffff8140a2000000-0xffff8140a2083000         524K USR RW                 x  pte
0xffff8140a2083000-0xffff8140a2200000        1524K                           pte
0xffff8140a2200000-0xffff8140b2400000         258M                           pmd
0xffff8140b2400000-0xffff8140b2401000           4K USR RW                 x  pte
0xffff8140b2401000-0xffff8140b2600000        2044K                           pte
0xffff8140b2600000-0xffff8140ba800000         130M                           pmd
0xffff8140ba800000-0xffff8140ba802000           8K USR RW                 x  pte
0xffff8140ba802000-0xffff8140baa00000        2040K                           pte
0xffff8140baa00000-0xffff8140bfe00000          84M                           pmd
0xffff8140bfe00000-0xffff8140bfffe000        2040K                           pte
0xffff8140bfffe000-0xffff8140c0000000           8K USR RW                 x  pte
0xffff8140c0000000-0xffff814100000000           1G                           pud
0xffff814100000000-0xffff814240000000           5G                           pmd
0xffff814240000000-0xffff814400000000           7G                           pud
0xffff814400000000-0xffff8144105bc000      268016K USR RW                 x  pte
0xffff8144105bc000-0xffff814410600000         272K                           pte
0xffff814410600000-0xffff814440000000         762M                           pmd
0xffff814440000000-0xffff816480000000         129G                           pud
0xffff816480000000-0xffff8164800cb000         812K USR RW                 x  pte
0xffff8164800cb000-0xffff816480200000        1236K                           pte
0xffff816480200000-0xffff8164c0000000        1022M                           pmd
0xffff8164c0000000-0xffff817500000000          65G                           pud
0xffff817500000000-0xffff817500395000        3668K USR RW                 x  pte
0xffff817500395000-0xffff817500400000         428K                           pte
0xffff817500400000-0xffff817540000000        1020M                           pmd
0xffff817540000000-0xffff817fc0000000          42G                           pud
0xffff817fc0000000-0xffff817fffc00000        1020M                           pmd
0xffff817fffc00000-0xffff817fffc08000          32K                           pte
0xffff817fffc08000-0xffff817fffc0e000          24K USR RW                 x  pte
0xffff817fffc0e000-0xffff817fffc7e000         448K                           pte
0xffff817fffc7e000-0xffff817fffd02000         528K USR RW                 x  pte
0xffff817fffd02000-0xffff817fffe00000        1016K                           pte
0xffff817fffe00000-0xffff817ffff02000        1032K USR RW                 x  pte
0xffff817ffff02000-0xffff817fffffa000         992K                           pte
0xffff817fffffa000-0xffff817fffffc000           8K USR RW                 x  pte
0xffff817fffffc000-0xffff818000000000          16K                           pte
0xffff818000000000-0xffff820000000000         512G                           pgd
0xffff820000000000-0xffff848000000000        2560G                           pud
0xffff848000000000-0xffff880000000000        3584G                           pgd
---[ Low Kernel Mapping ]---
0xffff880000000000-0xffff88000009b000         620K USR RW                 x  pte
0xffff88000009b000-0xffff8800000a0000          20K USR RW                 x  pte
0xffff8800000a0000-0xffff8800007fb000        7532K USR RW                 x  pte
0xffff8800007fb000-0xffff880000ef8000        7156K USR ro                 x  pte
0xffff880000ef8000-0xffff880001000000        1056K USR RW                 x  pte
0xffff880001000000-0xffff880001002000           8K USR ro                 x  pte
0xffff880001002000-0xffff880001013000          68K USR ro                 x  pte
0xffff880001013000-0xffff880001015000           8K USR ro                 x  pte
0xffff880001015000-0xffff880001017000           8K USR ro                 x  pte
0xffff880001017000-0xffff880001019000           8K USR ro                 x  pte
0xffff880001019000-0xffff88000101a000           4K USR ro                 x  pte
0xffff88000101a000-0xffff88000101b000           4K USR ro                 x  pte
0xffff88000101b000-0xffff88000101f000          16K USR ro                 x  pte
0xffff88000101f000-0xffff880001028000          36K USR ro                 x  pte
0xffff880001028000-0xffff88000102a000           8K USR ro                 x  pte
0xffff88000102a000-0xffff88000102c000           8K USR ro                 x  pte
0xffff88000102c000-0xffff88000103c000          64K USR ro                 x  pte
0xffff88000103c000-0xffff88000103d000           4K USR ro                 x  pte
0xffff88000103d000-0xffff880001051000          80K USR ro                 x  pte
0xffff880001051000-0xffff880001052000           4K USR ro                 x  pte
0xffff880001052000-0xffff880001057000          20K USR ro                 x  pte
0xffff880001057000-0xffff880001058000           4K USR ro                 x  pte
0xffff880001058000-0xffff880001061000          36K USR ro                 x  pte
0xffff880001061000-0xffff880001063000           8K USR ro                 x  pte
0xffff880001063000-0xffff88000106b000          32K USR ro                 x  pte
0xffff88000106b000-0xffff88000106c000           4K USR ro                 x  pte
0xffff88000106c000-0xffff880001078000          48K USR ro                 x  pte
0xffff880001078000-0xffff88000107a000           8K USR ro                 x  pte
0xffff88000107a000-0xffff880001083000          36K USR ro                 x  pte
0xffff880001083000-0xffff880001084000           4K USR ro                 x  pte
0xffff880001084000-0xffff88000108f000          44K USR ro                 x  pte
0xffff88000108f000-0xffff880001090000           4K USR ro                 x  pte
0xffff880001090000-0xffff880001094000          16K USR ro                 x  pte
0xffff880001094000-0xffff880001097000          12K USR ro                 x  pte
0xffff880001097000-0xffff8800010a0000          36K USR ro                 x  pte
0xffff8800010a0000-0xffff8800010a2000           8K USR ro                 x  pte
0xffff8800010a2000-0xffff8800010a7000          20K USR ro                 x  pte
0xffff8800010a7000-0xffff8800010a8000           4K USR ro                 x  pte
0xffff8800010a8000-0xffff8800010aa000           8K USR ro                 x  pte
0xffff8800010aa000-0xffff8800010af000          20K USR ro                 x  pte
0xffff8800010af000-0xffff8800010b4000          20K USR ro                 x  pte
0xffff8800010b4000-0xffff8800010b6000           8K USR ro                 x  pte
0xffff8800010b6000-0xffff8800010c0000          40K USR ro                 x  pte
0xffff8800010c0000-0xffff8800010c4000          16K USR ro                 x  pte
0xffff8800010c4000-0xffff8800010c6000           8K USR ro                 x  pte
0xffff8800010c6000-0xffff8800010ca000          16K USR ro                 x  pte
0xffff8800010ca000-0xffff8800010cc000           8K USR ro                 x  pte
0xffff8800010cc000-0xffff8800010cd000           4K USR ro                 x  pte
0xffff8800010cd000-0xffff8800010d5000          32K USR ro                 x  pte
0xffff8800010d5000-0xffff8800010d9000          16K USR ro                 x  pte
0xffff8800010d9000-0xffff8800010da000           4K USR ro                 x  pte
0xffff8800010da000-0xffff8800010db000           4K USR ro                 x  pte
0xffff8800010db000-0xffff8800010dc000           4K USR ro                 x  pte
0xffff8800010dc000-0xffff8800010dd000           4K USR ro                 x  pte
0xffff8800010dd000-0xffff8800010e2000          20K USR ro                 x  pte
0xffff8800010e2000-0xffff8800010e3000           4K USR ro                 x  pte
0xffff8800010e3000-0xffff8800010f8000          84K USR ro                 x  pte
0xffff8800010f8000-0xffff8800010fb000          12K USR ro                 x  pte
0xffff8800010fb000-0xffff880001101000          24K USR ro                 x  pte
0xffff880001101000-0xffff880001102000           4K USR ro                 x  pte
0xffff880001102000-0xffff880001106000          16K USR ro                 x  pte
0xffff880001106000-0xffff880001107000           4K USR ro                 x  pte
0xffff880001107000-0xffff880001108000           4K USR ro                 x  pte
0xffff880001108000-0xffff880001109000           4K USR ro                 x  pte
0xffff880001109000-0xffff880001113000          40K USR ro                 x  pte
0xffff880001113000-0xffff880001114000           4K USR ro                 x  pte
0xffff880001114000-0xffff880001117000          12K USR ro                 x  pte
0xffff880001117000-0xffff880001118000           4K USR ro                 x  pte
0xffff880001118000-0xffff880001122000          40K USR ro                 x  pte
0xffff880001122000-0xffff880001124000           8K USR ro                 x  pte
0xffff880001124000-0xffff880001143000         124K USR ro                 x  pte
0xffff880001143000-0xffff880001145000           8K USR ro                 x  pte
0xffff880001145000-0xffff880001166000         132K USR ro                 x  pte
0xffff880001166000-0xffff880001168000           8K USR ro                 x  pte
0xffff880001168000-0xffff88000116d000          20K USR ro                 x  pte
0xffff88000116d000-0xffff88000116e000           4K USR ro                 x  pte
0xffff88000116e000-0xffff88000116f000           4K USR ro                 x  pte
0xffff88000116f000-0xffff880001170000           4K USR ro                 x  pte
0xffff880001170000-0xffff880001174000          16K USR ro                 x  pte
0xffff880001174000-0xffff880001177000          12K USR ro                 x  pte
0xffff880001177000-0xffff88000117a000          12K USR ro                 x  pte
0xffff88000117a000-0xffff88000117e000          16K USR ro                 x  pte
0xffff88000117e000-0xffff88000118d000          60K USR ro                 x  pte
0xffff88000118d000-0xffff88000118e000           4K USR ro                 x  pte
0xffff88000118e000-0xffff880001190000           8K USR ro                 x  pte
0xffff880001190000-0xffff880001191000           4K USR ro                 x  pte
0xffff880001191000-0xffff880001192000           4K USR ro                 x  pte
0xffff880001192000-0xffff880001193000           4K USR ro                 x  pte
0xffff880001193000-0xffff880001194000           4K USR ro                 x  pte
0xffff880001194000-0xffff880001197000          12K USR ro                 x  pte
0xffff880001197000-0xffff880001198000           4K USR ro                 x  pte
0xffff880001198000-0xffff880001199000           4K USR ro                 x  pte
0xffff880001199000-0xffff8800011a0000          28K USR ro                 x  pte
0xffff8800011a0000-0xffff8800011a1000           4K USR ro                 x  pte
0xffff8800011a1000-0xffff8800011ab000          40K USR ro                 x  pte
0xffff8800011ab000-0xffff8800011ac000           4K USR ro                 x  pte
0xffff8800011ac000-0xffff8800011af000          12K USR ro                 x  pte
0xffff8800011af000-0xffff8800011b1000           8K USR ro                 x  pte
0xffff8800011b1000-0xffff8800011b4000          12K USR ro                 x  pte
0xffff8800011b4000-0xffff8800011b5000           4K USR ro                 x  pte
0xffff8800011b5000-0xffff8800011b9000          16K USR ro                 x  pte
0xffff8800011b9000-0xffff8800011bb000           8K USR ro                 x  pte
0xffff8800011bb000-0xffff8800011bd000           8K USR ro                 x  pte
0xffff8800011bd000-0xffff8800011be000           4K USR ro                 x  pte
0xffff8800011be000-0xffff8800011c2000          16K USR ro                 x  pte
0xffff8800011c2000-0xffff8800011c6000          16K USR ro                 x  pte
0xffff8800011c6000-0xffff8800011c7000           4K USR ro                 x  pte
0xffff8800011c7000-0xffff8800011c8000           4K USR ro                 x  pte
0xffff8800011c8000-0xffff8800011c9000           4K USR ro                 x  pte
0xffff8800011c9000-0xffff8800011ca000           4K USR ro                 x  pte
0xffff8800011ca000-0xffff8800011cf000          20K USR ro                 x  pte
0xffff8800011cf000-0xffff8800011d0000           4K USR ro                 x  pte
0xffff8800011d0000-0xffff8800011d3000          12K USR ro                 x  pte
0xffff8800011d3000-0xffff8800011d5000           8K USR ro                 x  pte
0xffff8800011d5000-0xffff8800011d6000           4K USR ro                 x  pte
0xffff8800011d6000-0xffff8800011d8000           8K USR ro                 x  pte
0xffff8800011d8000-0xffff8800011d9000           4K USR ro                 x  pte
0xffff8800011d9000-0xffff8800011da000           4K USR ro                 x  pte
0xffff8800011da000-0xffff8800011e0000          24K USR ro                 x  pte
0xffff8800011e0000-0xffff8800011e3000          12K USR ro                 x  pte
0xffff8800011e3000-0xffff8800011e9000          24K USR ro                 x  pte
0xffff8800011e9000-0xffff8800011ea000           4K USR ro                 x  pte
0xffff8800011ea000-0xffff8800011eb000           4K USR ro                 x  pte
0xffff8800011eb000-0xffff8800011f1000          24K USR ro                 x  pte
0xffff8800011f1000-0xffff8800011f7000          24K USR ro                 x  pte
0xffff8800011f7000-0xffff8800011f8000           4K USR ro                 x  pte
0xffff8800011f8000-0xffff8800011fa000           8K USR ro                 x  pte
0xffff8800011fa000-0xffff8800011fb000           4K USR ro                 x  pte
0xffff8800011fb000-0xffff8800011fd000           8K USR ro                 x  pte
0xffff8800011fd000-0xffff8800011fe000           4K USR ro                 x  pte
0xffff8800011fe000-0xffff880001200000           8K USR ro                 x  pte
0xffff880001200000-0xffff880001201000           4K USR ro                 x  pte
0xffff880001201000-0xffff880001203000           8K USR ro                 x  pte
0xffff880001203000-0xffff880001207000          16K USR ro                 x  pte
0xffff880001207000-0xffff880001209000           8K USR ro                 x  pte
0xffff880001209000-0xffff88000120a000           4K USR ro                 x  pte
0xffff88000120a000-0xffff88000120b000           4K USR ro                 x  pte
0xffff88000120b000-0xffff88000120c000           4K USR ro                 x  pte
0xffff88000120c000-0xffff88000120e000           8K USR ro                 x  pte
0xffff88000120e000-0xffff880001223000          84K USR ro                 x  pte
0xffff880001223000-0xffff880001228000          20K USR ro                 x  pte
0xffff880001228000-0xffff880001229000           4K USR ro                 x  pte
0xffff880001229000-0xffff88000123b000          72K USR ro                 x  pte
0xffff88000123b000-0xffff88000123d000           8K USR ro                 x  pte
0xffff88000123d000-0xffff88000123e000           4K USR ro                 x  pte
0xffff88000123e000-0xffff88000123f000           4K USR ro                 x  pte
0xffff88000123f000-0xffff880001242000          12K USR ro                 x  pte
0xffff880001242000-0xffff880001244000           8K USR ro                 x  pte
0xffff880001244000-0xffff880001245000           4K USR ro                 x  pte
0xffff880001245000-0xffff880001247000           8K USR ro                 x  pte
0xffff880001247000-0xffff880001248000           4K USR ro                 x  pte
0xffff880001248000-0xffff880001252000          40K USR ro                 x  pte
0xffff880001252000-0xffff880001253000           4K USR ro                 x  pte
0xffff880001253000-0xffff880001254000           4K USR ro                 x  pte
0xffff880001254000-0xffff880001255000           4K USR ro                 x  pte
0xffff880001255000-0xffff880001258000          12K USR ro                 x  pte
0xffff880001258000-0xffff880001259000           4K USR ro                 x  pte
0xffff880001259000-0xffff880001268000          60K USR ro                 x  pte
0xffff880001268000-0xffff88000126e000          24K USR ro                 x  pte
0xffff88000126e000-0xffff88000126f000           4K USR ro                 x  pte
0xffff88000126f000-0xffff880001272000          12K USR ro                 x  pte
0xffff880001272000-0xffff880001273000           4K USR ro                 x  pte
0xffff880001273000-0xffff880001274000           4K USR ro                 x  pte
0xffff880001274000-0xffff88000127a000          24K USR ro                 x  pte
0xffff88000127a000-0xffff88000127c000           8K USR ro                 x  pte
0xffff88000127c000-0xffff88000127d000           4K USR ro                 x  pte
0xffff88000127d000-0xffff880001285000          32K USR ro                 x  pte
0xffff880001285000-0xffff880001286000           4K USR ro                 x  pte
0xffff880001286000-0xffff880001287000           4K USR ro                 x  pte
0xffff880001287000-0xffff880001288000           4K USR ro                 x  pte
0xffff880001288000-0xffff880001289000           4K USR ro                 x  pte
0xffff880001289000-0xffff88000128d000          16K USR ro                 x  pte
0xffff88000128d000-0xffff88000128f000           8K USR ro                 x  pte
0xffff88000128f000-0xffff880001291000           8K USR ro                 x  pte
0xffff880001291000-0xffff880001292000           4K USR ro                 x  pte
0xffff880001292000-0xffff88000129f000          52K USR ro                 x  pte
0xffff88000129f000-0xffff8800012a0000           4K USR ro                 x  pte
0xffff8800012a0000-0xffff8800012a1000           4K USR ro                 x  pte
0xffff8800012a1000-0xffff8800012a3000           8K USR ro                 x  pte
0xffff8800012a3000-0xffff8800012a5000           8K USR ro                 x  pte
0xffff8800012a5000-0xffff8800012a6000           4K USR ro                 x  pte
0xffff8800012a6000-0xffff8800012a9000          12K USR ro                 x  pte
0xffff8800012a9000-0xffff8800012ab000           8K USR ro                 x  pte
0xffff8800012ab000-0xffff8800012c3000          96K USR ro                 x  pte
0xffff8800012c3000-0xffff8800012c6000          12K USR ro                 x  pte
0xffff8800012c6000-0xffff8800012cc000          24K USR ro                 x  pte
0xffff8800012cc000-0xffff8800012cf000          12K USR ro                 x  pte
0xffff8800012cf000-0xffff8800012d1000           8K USR ro                 x  pte
0xffff8800012d1000-0xffff8800012d2000           4K USR ro                 x  pte
0xffff8800012d2000-0xffff8800012d3000           4K USR ro                 x  pte
0xffff8800012d3000-0xffff8800012d7000          16K USR ro                 x  pte
0xffff8800012d7000-0xffff8800012d8000           4K USR ro                 x  pte
0xffff8800012d8000-0xffff8800012da000           8K USR ro                 x  pte
0xffff8800012da000-0xffff8800012dc000           8K USR ro                 x  pte
0xffff8800012dc000-0xffff8800012e1000          20K USR ro                 x  pte
0xffff8800012e1000-0xffff8800012e3000           8K USR ro                 x  pte
0xffff8800012e3000-0xffff8800012e4000           4K USR ro                 x  pte
0xffff8800012e4000-0xffff8800012e5000           4K USR ro                 x  pte
0xffff8800012e5000-0xffff8800012e6000           4K USR ro                 x  pte
0xffff8800012e6000-0xffff8800012e7000           4K USR ro                 x  pte
0xffff8800012e7000-0xffff8800012ed000          24K USR ro                 x  pte
0xffff8800012ed000-0xffff8800012ee000           4K USR ro                 x  pte
0xffff8800012ee000-0xffff8800012f9000          44K USR ro                 x  pte
0xffff8800012f9000-0xffff8800012fa000           4K USR ro                 x  pte
0xffff8800012fa000-0xffff8800012fe000          16K USR ro                 x  pte
0xffff8800012fe000-0xffff880001300000           8K USR ro                 x  pte
0xffff880001300000-0xffff880001302000           8K USR ro                 x  pte
0xffff880001302000-0xffff88000130d000          44K USR ro                 x  pte
0xffff88000130d000-0xffff88000130e000           4K USR ro                 x  pte
0xffff88000130e000-0xffff88000130f000           4K USR ro                 x  pte
0xffff88000130f000-0xffff880001312000          12K USR ro                 x  pte
0xffff880001312000-0xffff880001314000           8K USR ro                 x  pte
0xffff880001314000-0xffff880001318000          16K USR ro                 x  pte
0xffff880001318000-0xffff88000131b000          12K USR ro                 x  pte
0xffff88000131b000-0xffff88000131c000           4K USR ro                 x  pte
0xffff88000131c000-0xffff880001324000          32K USR ro                 x  pte
0xffff880001324000-0xffff880001329000          20K USR ro                 x  pte
0xffff880001329000-0xffff88000132d000          16K USR ro                 x  pte
0xffff88000132d000-0xffff88000132e000           4K USR ro                 x  pte
0xffff88000132e000-0xffff88000132f000           4K USR ro                 x  pte
0xffff88000132f000-0xffff880001332000          12K USR ro                 x  pte
0xffff880001332000-0xffff880001333000           4K USR ro                 x  pte
0xffff880001333000-0xffff880001334000           4K USR ro                 x  pte
0xffff880001334000-0xffff880001335000           4K USR ro                 x  pte
0xffff880001335000-0xffff880001337000           8K USR ro                 x  pte
0xffff880001337000-0xffff88000133b000          16K USR ro                 x  pte
0xffff88000133b000-0xffff88000133c000           4K USR ro                 x  pte
0xffff88000133c000-0xffff880001340000          16K USR ro                 x  pte
0xffff880001340000-0xffff880001342000           8K USR ro                 x  pte
0xffff880001342000-0xffff880001343000           4K USR ro                 x  pte
0xffff880001343000-0xffff880001348000          20K USR ro                 x  pte
0xffff880001348000-0xffff88000134c000          16K USR ro                 x  pte
0xffff88000134c000-0xffff880001350000          16K USR ro                 x  pte
0xffff880001350000-0xffff880001351000           4K USR ro                 x  pte
0xffff880001351000-0xffff880001353000           8K USR ro                 x  pte
0xffff880001353000-0xffff880001358000          20K USR ro                 x  pte
0xffff880001358000-0xffff88000135e000          24K USR ro                 x  pte
0xffff88000135e000-0xffff88000135f000           4K USR ro                 x  pte
0xffff88000135f000-0xffff880001361000           8K USR ro                 x  pte
0xffff880001361000-0xffff880001366000          20K USR ro                 x  pte
0xffff880001366000-0xffff880001367000           4K USR ro                 x  pte
0xffff880001367000-0xffff880001368000           4K USR ro                 x  pte
0xffff880001368000-0xffff88000136a000           8K USR ro                 x  pte
0xffff88000136a000-0xffff880001374000          40K USR ro                 x  pte
0xffff880001374000-0xffff880001376000           8K USR ro                 x  pte
0xffff880001376000-0xffff880001379000          12K USR ro                 x  pte
0xffff880001379000-0xffff88000137f000          24K USR ro                 x  pte
0xffff88000137f000-0xffff880001380000           4K USR ro                 x  pte
0xffff880001380000-0xffff880001383000          12K USR ro                 x  pte
0xffff880001383000-0xffff880001384000           4K USR ro                 x  pte
0xffff880001384000-0xffff880001387000          12K USR ro                 x  pte
0xffff880001387000-0xffff880001389000           8K USR ro                 x  pte
0xffff880001389000-0xffff88000138c000          12K USR ro                 x  pte
0xffff88000138c000-0xffff880001393000          28K USR ro                 x  pte
0xffff880001393000-0xffff880001395000           8K USR ro                 x  pte
0xffff880001395000-0xffff880001398000          12K USR ro                 x  pte
0xffff880001398000-0xffff88000139a000           8K USR ro                 x  pte
0xffff88000139a000-0xffff88000139c000           8K USR ro                 x  pte
0xffff88000139c000-0xffff88000139d000           4K USR ro                 x  pte
0xffff88000139d000-0xffff8800013a3000          24K USR ro                 x  pte
0xffff8800013a3000-0xffff8800013a4000           4K USR ro                 x  pte
0xffff8800013a4000-0xffff8800013a5000           4K USR ro                 x  pte
0xffff8800013a5000-0xffff8800013a6000           4K USR ro                 x  pte
0xffff8800013a6000-0xffff8800013a9000          12K USR ro                 x  pte
0xffff8800013a9000-0xffff8800013ab000           8K USR ro                 x  pte
0xffff8800013ab000-0xffff8800013ac000           4K USR ro                 x  pte
0xffff8800013ac000-0xffff8800013ae000           8K USR ro                 x  pte
0xffff8800013ae000-0xffff8800013b1000          12K USR ro                 x  pte
0xffff8800013b1000-0xffff8800013b3000           8K USR ro                 x  pte
0xffff8800013b3000-0xffff8800013b5000           8K USR ro                 x  pte
0xffff8800013b5000-0xffff8800013b9000          16K USR ro                 x  pte
0xffff8800013b9000-0xffff8800013ba000           4K USR ro                 x  pte
0xffff8800013ba000-0xffff8800013bf000          20K USR ro                 x  pte
0xffff8800013bf000-0xffff8800013ce000          60K USR ro                 x  pte
0xffff8800013ce000-0xffff8800013cf000           4K USR ro                 x  pte
0xffff8800013cf000-0xffff8800013d0000           4K USR ro                 x  pte
0xffff8800013d0000-0xffff8800013d2000           8K USR ro                 x  pte
0xffff8800013d2000-0xffff8800013d3000           4K USR ro                 x  pte
0xffff8800013d3000-0xffff8800013db000          32K USR ro                 x  pte
0xffff8800013db000-0xffff8800013dc000           4K USR ro                 x  pte
0xffff8800013dc000-0xffff8800013dd000           4K USR ro                 x  pte
0xffff8800013dd000-0xffff8800013de000           4K USR ro                 x  pte
0xffff8800013de000-0xffff8800013e0000           8K USR ro                 x  pte
0xffff8800013e0000-0xffff8800013e3000          12K USR ro                 x  pte
0xffff8800013e3000-0xffff8800013e5000           8K USR ro                 x  pte
0xffff8800013e5000-0xffff8800013e8000          12K USR ro                 x  pte
0xffff8800013e8000-0xffff8800013ea000           8K USR ro                 x  pte
0xffff8800013ea000-0xffff8800013ec000           8K USR ro                 x  pte
0xffff8800013ec000-0xffff8800013ed000           4K USR ro                 x  pte
0xffff8800013ed000-0xffff8800013ef000           8K USR ro                 x  pte
0xffff8800013ef000-0xffff8800013f3000          16K USR ro                 x  pte
0xffff8800013f3000-0xffff8800013f4000           4K USR ro                 x  pte
0xffff8800013f4000-0xffff8800013f6000           8K USR ro                 x  pte
0xffff8800013f6000-0xffff8800013f7000           4K USR ro                 x  pte
0xffff8800013f7000-0xffff8800013fa000          12K USR ro                 x  pte
0xffff8800013fa000-0xffff8800013fb000           4K USR ro                 x  pte
0xffff8800013fb000-0xffff8800013fd000           8K USR ro                 x  pte
0xffff8800013fd000-0xffff8800013fe000           4K USR ro                 x  pte
0xffff8800013fe000-0xffff880001403000          20K USR ro                 x  pte
0xffff880001403000-0xffff880001404000           4K USR ro                 x  pte
0xffff880001404000-0xffff880001406000           8K USR ro                 x  pte
0xffff880001406000-0xffff880001408000           8K USR ro                 x  pte
0xffff880001408000-0xffff880001411000          36K USR ro                 x  pte
0xffff880001411000-0xffff880001412000           4K USR ro                 x  pte
0xffff880001412000-0xffff880001413000           4K USR ro                 x  pte
0xffff880001413000-0xffff880001415000           8K USR ro                 x  pte
0xffff880001415000-0xffff880001416000           4K USR ro                 x  pte
0xffff880001416000-0xffff880001419000          12K USR ro                 x  pte
0xffff880001419000-0xffff88000141e000          20K USR ro                 x  pte
0xffff88000141e000-0xffff880001425000          28K USR ro                 x  pte
0xffff880001425000-0xffff880001426000           4K USR ro                 x  pte
0xffff880001426000-0xffff880001428000           8K USR ro                 x  pte
0xffff880001428000-0xffff88000142f000          28K USR ro                 x  pte
0xffff88000142f000-0xffff880001430000           4K USR ro                 x  pte
0xffff880001430000-0xffff880001437000          28K USR ro                 x  pte
0xffff880001437000-0xffff880001438000           4K USR ro                 x  pte
0xffff880001438000-0xffff880001439000           4K USR ro                 x  pte
0xffff880001439000-0xffff88000143d000          16K USR ro                 x  pte
0xffff88000143d000-0xffff88000143e000           4K USR ro                 x  pte
0xffff88000143e000-0xffff88000143f000           4K USR ro                 x  pte
0xffff88000143f000-0xffff880001440000           4K USR ro                 x  pte
0xffff880001440000-0xffff880001443000          12K USR ro                 x  pte
0xffff880001443000-0xffff880001445000           8K USR ro                 x  pte
0xffff880001445000-0xffff880001446000           4K USR ro                 x  pte
0xffff880001446000-0xffff880001448000           8K USR ro                 x  pte
0xffff880001448000-0xffff88000144d000          20K USR ro                 x  pte
0xffff88000144d000-0xffff88000144f000           8K USR ro                 x  pte
0xffff88000144f000-0xffff880001451000           8K USR ro                 x  pte
0xffff880001451000-0xffff880001452000           4K USR ro                 x  pte
0xffff880001452000-0xffff880001458000          24K USR ro                 x  pte
0xffff880001458000-0xffff880001459000           4K USR ro                 x  pte
0xffff880001459000-0xffff88000145a000           4K USR ro                 x  pte
0xffff88000145a000-0xffff88000145c000           8K USR ro                 x  pte
0xffff88000145c000-0xffff88000145d000           4K USR ro                 x  pte
0xffff88000145d000-0xffff880001462000          20K USR ro                 x  pte
0xffff880001462000-0xffff880001463000           4K USR ro                 x  pte
0xffff880001463000-0xffff880001464000           4K USR ro                 x  pte
0xffff880001464000-0xffff880001465000           4K USR ro                 x  pte
0xffff880001465000-0xffff880001467000           8K USR ro                 x  pte
0xffff880001467000-0xffff880001468000           4K USR ro                 x  pte
0xffff880001468000-0xffff880001469000           4K USR ro                 x  pte
0xffff880001469000-0xffff88000146a000           4K USR ro                 x  pte
0xffff88000146a000-0xffff88000146b000           4K USR ro                 x  pte
0xffff88000146b000-0xffff880001470000          20K USR ro                 x  pte
0xffff880001470000-0xffff880001471000           4K USR ro                 x  pte
0xffff880001471000-0xffff880001473000           8K USR ro                 x  pte
0xffff880001473000-0xffff880001477000          16K USR ro                 x  pte
0xffff880001477000-0xffff88000147a000          12K USR ro                 x  pte
0xffff88000147a000-0xffff88000147b000           4K USR ro                 x  pte
0xffff88000147b000-0xffff88000147c000           4K USR ro                 x  pte
0xffff88000147c000-0xffff88000147d000           4K USR ro                 x  pte
0xffff88000147d000-0xffff880001482000          20K USR ro                 x  pte
0xffff880001482000-0xffff880001484000           8K USR ro                 x  pte
0xffff880001484000-0xffff880001485000           4K USR ro                 x  pte
0xffff880001485000-0xffff880001486000           4K USR ro                 x  pte
0xffff880001486000-0xffff880001489000          12K USR ro                 x  pte
0xffff880001489000-0xffff88000148a000           4K USR ro                 x  pte
0xffff88000148a000-0xffff88000148b000           4K USR ro                 x  pte
0xffff88000148b000-0xffff88000148c000           4K USR ro                 x  pte
0xffff88000148c000-0xffff880001499000          52K USR ro                 x  pte
0xffff880001499000-0xffff88000149a000           4K USR ro                 x  pte
0xffff88000149a000-0xffff8800014a2000          32K USR ro                 x  pte
0xffff8800014a2000-0xffff8800014a5000          12K USR ro                 x  pte
0xffff8800014a5000-0xffff8800014a8000          12K USR ro                 x  pte
0xffff8800014a8000-0xffff8800014b0000          32K USR ro                 x  pte
0xffff8800014b0000-0xffff8800014b1000           4K USR ro                 x  pte
0xffff8800014b1000-0xffff8800014b2000           4K USR ro                 x  pte
0xffff8800014b2000-0xffff8800014c2000          64K USR ro                 x  pte
0xffff8800014c2000-0xffff8800014c3000           4K USR ro                 x  pte
0xffff8800014c3000-0xffff8800014c5000           8K USR ro                 x  pte
0xffff8800014c5000-0xffff8800014cb000          24K USR ro                 x  pte
0xffff8800014cb000-0xffff8800014cc000           4K USR ro                 x  pte
0xffff8800014cc000-0xffff8800014cf000          12K USR ro                 x  pte
0xffff8800014cf000-0xffff8800014d0000           4K USR ro                 x  pte
0xffff8800014d0000-0xffff8800014d1000           4K USR ro                 x  pte
0xffff8800014d1000-0xffff8800014d3000           8K USR ro                 x  pte
0xffff8800014d3000-0xffff8800014d4000           4K USR ro                 x  pte
0xffff8800014d4000-0xffff8800014d6000           8K USR ro                 x  pte
0xffff8800014d6000-0xffff8800014d7000           4K USR ro                 x  pte
0xffff8800014d7000-0xffff8800014db000          16K USR ro                 x  pte
0xffff8800014db000-0xffff8800014dc000           4K USR ro                 x  pte
0xffff8800014dc000-0xffff8800014de000           8K USR ro                 x  pte
0xffff8800014de000-0xffff8800014df000           4K USR ro                 x  pte
0xffff8800014df000-0xffff8800014e3000          16K USR ro                 x  pte
0xffff8800014e3000-0xffff8800014e7000          16K USR ro                 x  pte
0xffff8800014e7000-0xffff8800014e8000           4K USR ro                 x  pte
0xffff8800014e8000-0xffff8800014e9000           4K USR ro                 x  pte
0xffff8800014e9000-0xffff8800014f1000          32K USR ro                 x  pte
0xffff8800014f1000-0xffff8800014f2000           4K USR ro                 x  pte
0xffff8800014f2000-0xffff8800014f6000          16K USR ro                 x  pte
0xffff8800014f6000-0xffff8800014f7000           4K USR ro                 x  pte
0xffff8800014f7000-0xffff8800014f8000           4K USR ro                 x  pte
0xffff8800014f8000-0xffff8800014f9000           4K USR ro                 x  pte
0xffff8800014f9000-0xffff8800014fe000          20K USR ro                 x  pte
0xffff8800014fe000-0xffff880001503000          20K USR ro                 x  pte
0xffff880001503000-0xffff880001508000          20K USR ro                 x  pte
0xffff880001508000-0xffff88000150d000          20K USR ro                 x  pte
0xffff88000150d000-0xffff880001511000          16K USR ro                 x  pte
0xffff880001511000-0xffff880001513000           8K USR ro                 x  pte
0xffff880001513000-0xffff880001514000           4K USR ro                 x  pte
0xffff880001514000-0xffff880001515000           4K USR ro                 x  pte
0xffff880001515000-0xffff880001516000           4K USR ro                 x  pte
0xffff880001516000-0xffff88000151b000          20K USR ro                 x  pte
0xffff88000151b000-0xffff880001520000          20K USR ro                 x  pte
0xffff880001520000-0xffff880001521000           4K USR ro                 x  pte
0xffff880001521000-0xffff880001523000           8K USR ro                 x  pte
0xffff880001523000-0xffff880001525000           8K USR ro                 x  pte
0xffff880001525000-0xffff880001526000           4K USR ro                 x  pte
0xffff880001526000-0xffff880001529000          12K USR ro                 x  pte
0xffff880001529000-0xffff88000152a000           4K USR ro                 x  pte
0xffff88000152a000-0xffff88000152b000           4K USR ro                 x  pte
0xffff88000152b000-0xffff88000152e000          12K USR ro                 x  pte
0xffff88000152e000-0xffff880001533000          20K USR ro                 x  pte
0xffff880001533000-0xffff880001535000           8K USR ro                 x  pte
0xffff880001535000-0xffff880001537000           8K USR ro                 x  pte
0xffff880001537000-0xffff880001538000           4K USR ro                 x  pte
0xffff880001538000-0xffff880001539000           4K USR ro                 x  pte
0xffff880001539000-0xffff88000153b000           8K USR ro                 x  pte
0xffff88000153b000-0xffff88000153d000           8K USR ro                 x  pte
0xffff88000153d000-0xffff880001541000          16K USR ro                 x  pte
0xffff880001541000-0xffff880001542000           4K USR ro                 x  pte
0xffff880001542000-0xffff880001544000           8K USR ro                 x  pte
0xffff880001544000-0xffff880001545000           4K USR ro                 x  pte
0xffff880001545000-0xffff880001547000           8K USR ro                 x  pte
0xffff880001547000-0xffff880001551000          40K USR ro                 x  pte
0xffff880001551000-0xffff880001552000           4K USR ro                 x  pte
0xffff880001552000-0xffff880001554000           8K USR ro                 x  pte
0xffff880001554000-0xffff880001555000           4K USR ro                 x  pte
0xffff880001555000-0xffff88000155d000          32K USR ro                 x  pte
0xffff88000155d000-0xffff88000155f000           8K USR ro                 x  pte
0xffff88000155f000-0xffff880001563000          16K USR ro                 x  pte
0xffff880001563000-0xffff880001566000          12K USR ro                 x  pte
0xffff880001566000-0xffff880001567000           4K USR ro                 x  pte
0xffff880001567000-0xffff880001568000           4K USR ro                 x  pte
0xffff880001568000-0xffff88000156a000           8K USR ro                 x  pte
0xffff88000156a000-0xffff88000156b000           4K USR ro                 x  pte
0xffff88000156b000-0xffff880001572000          28K USR ro                 x  pte
0xffff880001572000-0xffff880001573000           4K USR ro                 x  pte
0xffff880001573000-0xffff880001576000          12K USR ro                 x  pte
0xffff880001576000-0xffff880001577000           4K USR ro                 x  pte
0xffff880001577000-0xffff880001578000           4K USR ro                 x  pte
0xffff880001578000-0xffff880001579000           4K USR ro                 x  pte
0xffff880001579000-0xffff88000157a000           4K USR ro                 x  pte
0xffff88000157a000-0xffff88000157b000           4K USR ro                 x  pte
0xffff88000157b000-0xffff88000157d000           8K USR ro                 x  pte
0xffff88000157d000-0xffff88000157f000           8K USR ro                 x  pte
0xffff88000157f000-0xffff880001582000          12K USR ro                 x  pte
0xffff880001582000-0xffff880001584000           8K USR ro                 x  pte
0xffff880001584000-0xffff880001586000           8K USR ro                 x  pte
0xffff880001586000-0xffff880001588000           8K USR ro                 x  pte
0xffff880001588000-0xffff880001589000           4K USR ro                 x  pte
0xffff880001589000-0xffff88000158d000          16K USR ro                 x  pte
0xffff88000158d000-0xffff88000158f000           8K USR ro                 x  pte
0xffff88000158f000-0xffff880001593000          16K USR ro                 x  pte
0xffff880001593000-0xffff880001594000           4K USR ro                 x  pte
0xffff880001594000-0xffff880001595000           4K USR ro                 x  pte
0xffff880001595000-0xffff880001596000           4K USR ro                 x  pte
0xffff880001596000-0xffff880001599000          12K USR ro                 x  pte
0xffff880001599000-0xffff8800015ab000          72K USR ro                 x  pte
0xffff8800015ab000-0xffff8800015ac000           4K USR ro                 x  pte
0xffff8800015ac000-0xffff8800015b0000          16K USR ro                 x  pte
0xffff8800015b0000-0xffff8800015b1000           4K USR ro                 x  pte
0xffff8800015b1000-0xffff8800015b7000          24K USR ro                 x  pte
0xffff8800015b7000-0xffff880001600000         292K USR RW                 NX pte
0xffff880001600000-0xffff88000179c000        1648K USR ro                 NX pte
0xffff88000179c000-0xffff880001800000         400K USR RW                 NX pte
0xffff880001800000-0xffff880001802000           8K USR RW                 x  pte
0xffff880001802000-0xffff880001803000           4K USR RW                 x  pte
0xffff880001803000-0xffff880001805000           8K USR RW                 x  pte
0xffff880001805000-0xffff88000180b000          24K USR RW                 x  pte
0xffff88000180b000-0xffff88000180f000          16K USR ro                 x  pte
0xffff88000180f000-0xffff880001810000           4K USR RW                 x  pte
0xffff880001810000-0xffff880001812000           8K USR ro                 x  pte
0xffff880001812000-0xffff880001813000           4K USR RW                 x  pte
0xffff880001813000-0xffff880001815000           8K USR RW                 x  pte
0xffff880001815000-0xffff880001816000           4K USR RW                 x  pte
0xffff880001816000-0xffff880001818000           8K USR RW                 x  pte
0xffff880001818000-0xffff88000181a000           8K USR RW                 x  pte
0xffff88000181a000-0xffff88000181d000          12K USR RW                 x  pte
0xffff88000181d000-0xffff88000181e000           4K USR RW                 x  pte
0xffff88000181e000-0xffff880001832000          80K USR RW                 x  pte
0xffff880001832000-0xffff880001834000           8K USR RW                 x  pte
0xffff880001834000-0xffff88000183a000          24K USR RW                 x  pte
0xffff88000183a000-0xffff88000183d000          12K USR RW                 x  pte
0xffff88000183d000-0xffff880001841000          16K USR RW                 x  pte
0xffff880001841000-0xffff880001843000           8K USR RW                 x  pte
0xffff880001843000-0xffff880001845000           8K USR RW                 x  pte
0xffff880001845000-0xffff880001846000           4K USR RW                 x  pte
0xffff880001846000-0xffff880001849000          12K USR RW                 x  pte
0xffff880001849000-0xffff88000184a000           4K USR RW                 x  pte
0xffff88000184a000-0xffff88000184f000          20K USR RW                 x  pte
0xffff88000184f000-0xffff880001850000           4K USR RW                 x  pte
0xffff880001850000-0xffff880001885000         212K USR RW                 x  pte
0xffff880001885000-0xffff880001938000         716K USR RW                 NX pte
0xffff880001938000-0xffff88000193a000           8K USR RW                 x  pte
0xffff88000193a000-0xffff88000193b000           4K USR ro                 x  pte
0xffff88000193b000-0xffff88000193d000           8K USR RW                 x  pte
0xffff88000193d000-0xffff88000193e000           4K USR ro                 x  pte
0xffff88000193e000-0xffff880001948000          40K USR RW                 x  pte
0xffff880001948000-0xffff88000194a000           8K USR RW                 x  pte
0xffff88000194a000-0xffff88000194c000           8K USR RW                 x  pte
0xffff88000194c000-0xffff88000196c000         128K USR RW                 x  pte
0xffff88000196c000-0xffff88000196d000           4K USR RW                 x  pte
0xffff88000196d000-0xffff880001970000          12K USR RW                 x  pte
0xffff880001970000-0xffff880001971000           4K USR RW                 x  pte
0xffff880001971000-0xffff880001972000           4K USR RW                 x  pte
0xffff880001972000-0xffff880001973000           4K USR RW                 x  pte
0xffff880001973000-0xffff880001975000           8K USR RW                 x  pte
0xffff880001975000-0xffff880001976000           4K USR RW                 x  pte
0xffff880001976000-0xffff880001977000           4K USR RW                 x  pte
0xffff880001977000-0xffff88000197b000          16K USR RW                 x  pte
0xffff88000197b000-0xffff8800019b9000         248K USR RW                 x  pte
0xffff8800019b9000-0xffff8800019c0000          28K USR RW                 x  pte
0xffff8800019c0000-0xffff8800019df000         124K USR RW                 x  pte
0xffff8800019df000-0xffff8800019e8000          36K USR RW                 x  pte
0xffff8800019e8000-0xffff8800019f1000          36K USR RW                 x  pte
0xffff8800019f1000-0xffff8800019f2000           4K USR RW                 x  pte
0xffff8800019f2000-0xffff8800019f3000           4K USR RW                 x  pte
0xffff8800019f3000-0xffff8800019f5000           8K USR RW                 x  pte
0xffff8800019f5000-0xffff8800019f8000          12K USR RW                 x  pte
0xffff8800019f8000-0xffff880001a0a000          72K USR RW                 x  pte
0xffff880001a0a000-0xffff880001a0f000          20K USR RW                 x  pte
0xffff880001a0f000-0xffff880001a1c000          52K USR RW                 x  pte
0xffff880001a1c000-0xffff880001a1d000           4K USR RW                 x  pte
0xffff880001a1d000-0xffff880001aaa000         564K USR RW                 x  pte
0xffff880001aaa000-0xffff880001aae000          16K USR ro                 x  pte
0xffff880001aae000-0xffff880001b34000         536K USR RW                 x  pte
0xffff880001b34000-0xffff880001e3d000        3108K USR RW                 x  pte
0xffff880001e3d000-0xffff88000fc93000      227672K USR RW                 NX pte
0xffff88000fc93000-0xffff880020000000      265652K USR RW                 x  pte
0xffff880020000000-0xffff880020001000           4K USR ro                 x  pte
0xffff880020001000-0xffff880020002000           4K USR ro                 NX pte
0xffff880020002000-0xffff880020004000           8K USR RW                 NX pte
0xffff880020004000-0xffff880020008000          16K                           pte
0xffff880020008000-0xffff880020009000           4K USR ro                 x  pte
0xffff880020009000-0xffff88002000a000           4K USR ro                 NX pte
0xffff88002000a000-0xffff88002000c000           8K USR RW                 NX pte
0xffff88002000c000-0xffff880020070000         400K                           pte
0xffff880020070000-0xffff88002024c000        1904K USR RW                 x  pte
0xffff88002024c000-0xffff88002024e000           8K USR RW                 x  pte
0xffff88002024e000-0xffff880020353000        1044K USR ro                 x  pte
0xffff880020353000-0xffff880020400000         692K USR RW                 x  pte
0xffff880020400000-0xffff880020c00000           8M USR RW                 x  pte
0xffff880020c00000-0xffff8800ef9c0000     3389184K USR RW                 NX pte
0xffff8800ef9c0000-0xffff8800ff7fb000      260332K USR ro                 NX pte
0xffff8800ff7fb000-0xffff882019404000   130445348K USR RW                 NX pte
0xffff882019404000-0xffff882019406000           8K USR ro                 NX pte
0xffff882019406000-0xffff882019407000           4K USR RW                 NX pte
0xffff882019407000-0xffff882019408000           4K USR ro                 NX pte
0xffff882019408000-0xffff88201940a000           8K USR RW                 NX pte
0xffff88201940a000-0xffff88201940b000           4K USR ro                 NX pte
0xffff88201940b000-0xffff882019471000         408K USR RW                 NX pte
0xffff882019471000-0xffff882019473000           8K USR ro                 NX pte
0xffff882019473000-0xffff882019474000           4K USR RW                 NX pte
0xffff882019474000-0xffff882019477000          12K USR ro                 NX pte
0xffff882019477000-0xffff882019479000           8K USR RW                 NX pte
0xffff882019479000-0xffff88201947a000           4K USR ro                 NX pte
0xffff88201947a000-0xffff88201947c000           8K USR RW                 NX pte
0xffff88201947c000-0xffff882019482000          24K USR ro                 NX pte
0xffff882019482000-0xffff882019483000           4K USR RW                 NX pte
0xffff882019483000-0xffff882019486000          12K USR ro                 NX pte
0xffff882019486000-0xffff882019487000           4K USR RW                 NX pte
0xffff882019487000-0xffff88201948e000          28K USR ro                 NX pte
0xffff88201948e000-0xffff882019494000          24K USR RW                 NX pte
0xffff882019494000-0xffff882019495000           4K USR ro                 NX pte
0xffff882019495000-0xffff882019499000          16K USR RW                 NX pte
0xffff882019499000-0xffff88201949a000           4K USR ro                 NX pte
0xffff88201949a000-0xffff88201949d000          12K USR RW                 NX pte
0xffff88201949d000-0xffff88201949e000           4K USR ro                 NX pte
0xffff88201949e000-0xffff8820194a0000           8K USR RW                 NX pte
0xffff8820194a0000-0xffff8820194a1000           4K USR ro                 NX pte
0xffff8820194a1000-0xffff8820194ae000          52K USR RW                 NX pte
0xffff8820194ae000-0xffff8820194af000           4K USR ro                 NX pte
0xffff8820194af000-0xffff8820194b5000          24K USR RW                 NX pte
0xffff8820194b5000-0xffff8820194b6000           4K USR ro                 NX pte
0xffff8820194b6000-0xffff8820194b7000           4K USR RW                 NX pte
0xffff8820194b7000-0xffff8820194b9000           8K USR ro                 NX pte
0xffff8820194b9000-0xffff8820194bb000           8K USR RW                 NX pte
0xffff8820194bb000-0xffff8820194bc000           4K USR ro                 NX pte
0xffff8820194bc000-0xffff8820194bd000           4K USR RW                 NX pte
0xffff8820194bd000-0xffff8820194be000           4K USR ro                 NX pte
0xffff8820194be000-0xffff8820194f8000         232K USR RW                 NX pte
0xffff8820194f8000-0xffff8820194f9000           4K USR ro                 NX pte
0xffff8820194f9000-0xffff8820194ff000          24K USR RW                 NX pte
0xffff8820194ff000-0xffff882019500000           4K USR ro                 NX pte
0xffff882019500000-0xffff8820198be000        3832K USR RW                 NX pte
0xffff8820198be000-0xffff8820198c0000           8K USR ro                 NX pte
0xffff8820198c0000-0xffff8820198f7000         220K USR RW                 NX pte
0xffff8820198f7000-0xffff8820198f8000           4K USR ro                 NX pte
0xffff8820198f8000-0xffff882019bd8000        2944K USR RW                 NX pte
0xffff882019bd8000-0xffff882019be0000          32K USR ro                 NX pte
0xffff882019be0000-0xffff882019c06000         152K USR RW                 NX pte
0xffff882019c06000-0xffff882019c07000           4K USR ro                 NX pte
0xffff882019c07000-0xffff882019c0d000          24K USR RW                 NX pte
0xffff882019c0d000-0xffff882019c10000          12K USR ro                 NX pte
0xffff882019c10000-0xffff882019c13000          12K USR RW                 NX pte
0xffff882019c13000-0xffff882019c16000          12K USR ro                 NX pte
0xffff882019c16000-0xffff882019c17000           4K USR RW                 NX pte
0xffff882019c17000-0xffff882019c1f000          32K USR ro                 NX pte
0xffff882019c1f000-0xffff882019c20000           4K USR RW                 NX pte
0xffff882019c20000-0xffff882019c22000           8K USR ro                 NX pte
0xffff882019c22000-0xffff882019c25000          12K USR RW                 NX pte
0xffff882019c25000-0xffff882019c2f000          40K USR ro                 NX pte
0xffff882019c2f000-0xffff882019c3d000          56K USR RW                 NX pte
0xffff882019c3d000-0xffff882019c3e000           4K USR ro                 NX pte
0xffff882019c3e000-0xffff882019c40000           8K USR RW                 NX pte
0xffff882019c40000-0xffff882019c41000           4K USR ro                 NX pte
0xffff882019c41000-0xffff882019c49000          32K USR RW                 NX pte
0xffff882019c49000-0xffff882019c4b000           8K USR ro                 NX pte
0xffff882019c4b000-0xffff882019c4e000          12K USR RW                 NX pte
0xffff882019c4e000-0xffff882019c4f000           4K USR ro                 NX pte
0xffff882019c4f000-0xffff882019c50000           4K USR RW                 NX pte
0xffff882019c50000-0xffff882019c52000           8K USR ro                 NX pte
0xffff882019c52000-0xffff882019c58000          24K USR RW                 NX pte
0xffff882019c58000-0xffff882019c59000           4K USR ro                 NX pte
0xffff882019c59000-0xffff882019c64000          44K USR RW                 NX pte
0xffff882019c64000-0xffff882019c6b000          28K USR ro                 NX pte
0xffff882019c6b000-0xffff882019c6e000          12K USR RW                 NX pte
0xffff882019c6e000-0xffff882019c70000           8K USR ro                 NX pte
0xffff882019c70000-0xffff882019c72000           8K USR RW                 NX pte
0xffff882019c72000-0xffff882019c76000          16K USR ro                 NX pte
0xffff882019c76000-0xffff882019c82000          48K USR RW                 NX pte
0xffff882019c82000-0xffff882019c83000           4K USR ro                 NX pte
0xffff882019c83000-0xffff882019cc6000         268K USR RW                 NX pte
0xffff882019cc6000-0xffff882019cc8000           8K USR ro                 NX pte
0xffff882019cc8000-0xffff882019cf3000         172K USR RW                 NX pte
0xffff882019cf3000-0xffff882019cf4000           4K USR ro                 NX pte
0xffff882019cf4000-0xffff88201b000000       19504K USR RW                 NX pte
0xffff88201b000000-0xffff88201b006000          24K USR ro                 NX pte
0xffff88201b006000-0xffff88201b080000         488K USR RW                 NX pte
0xffff88201b080000-0xffff88201b083000          12K USR ro                 NX pte
0xffff88201b083000-0xffff88201b092000          60K USR RW                 NX pte
0xffff88201b092000-0xffff88201b093000           4K USR ro                 NX pte
0xffff88201b093000-0xffff88201b09c000          36K USR RW                 NX pte
0xffff88201b09c000-0xffff88201b09d000           4K USR ro                 NX pte
0xffff88201b09d000-0xffff88201b0ab000          56K USR RW                 NX pte
0xffff88201b0ab000-0xffff88201b0ac000           4K USR ro                 NX pte
0xffff88201b0ac000-0xffff88201b0c2000          88K USR RW                 NX pte
0xffff88201b0c2000-0xffff88201b0c3000           4K USR ro                 NX pte
0xffff88201b0c3000-0xffff88201b0d4000          68K USR RW                 NX pte
0xffff88201b0d4000-0xffff88201b0d5000           4K USR ro                 NX pte
0xffff88201b0d5000-0xffff88201b0e4000          60K USR RW                 NX pte
0xffff88201b0e4000-0xffff88201b0e5000           4K USR ro                 NX pte
0xffff88201b0e5000-0xffff88201b0e6000           4K USR RW                 NX pte
0xffff88201b0e6000-0xffff88201b0e7000           4K USR ro                 NX pte
0xffff88201b0e7000-0xffff88201b0eb000          16K USR RW                 NX pte
0xffff88201b0eb000-0xffff88201b0ec000           4K USR ro                 NX pte
0xffff88201b0ec000-0xffff88201b0f3000          28K USR RW                 NX pte
0xffff88201b0f3000-0xffff88201b0f4000           4K USR ro                 NX pte
0xffff88201b0f4000-0xffff88201b0f5000           4K USR RW                 NX pte
0xffff88201b0f5000-0xffff88201b0f6000           4K USR ro                 NX pte
0xffff88201b0f6000-0xffff88201b0fa000          16K USR RW                 NX pte
0xffff88201b0fa000-0xffff88201b0fc000           8K USR ro                 NX pte
0xffff88201b0fc000-0xffff88201cc9c000       28288K USR RW                 NX pte
0xffff88201cc9c000-0xffff88201cc9f000          12K USR ro                 NX pte
0xffff88201cc9f000-0xffff88201ccb7000          96K USR RW                 NX pte
0xffff88201ccb7000-0xffff88201ccb8000           4K USR ro                 NX pte
0xffff88201ccb8000-0xffff88201ccb9000           4K USR RW                 NX pte
0xffff88201ccb9000-0xffff88201ccba000           4K USR ro                 NX pte
0xffff88201ccba000-0xffff88201ccc6000          48K USR RW                 NX pte
0xffff88201ccc6000-0xffff88201ccc7000           4K USR ro                 NX pte
0xffff88201ccc7000-0xffff88201cce8000         132K USR RW                 NX pte
0xffff88201cce8000-0xffff88201cce9000           4K USR ro                 NX pte
0xffff88201cce9000-0xffff88201ccea000           4K USR RW                 NX pte
0xffff88201ccea000-0xffff88201cceb000           4K USR ro                 NX pte
0xffff88201cceb000-0xffff88201ccf5000          40K USR RW                 NX pte
0xffff88201ccf5000-0xffff88201ccf6000           4K USR ro                 NX pte
0xffff88201ccf6000-0xffff882021184000       70200K USR RW                 NX pte
0xffff882021184000-0xffff882021185000           4K USR ro                 NX pte
0xffff882021185000-0xffff882021186000           4K USR RW                 NX pte
0xffff882021186000-0xffff882021188000           8K USR ro                 NX pte
0xffff882021188000-0xffff882021195000          52K USR RW                 NX pte
0xffff882021195000-0xffff882021196000           4K USR ro                 NX pte
0xffff882021196000-0xffff88202119f000          36K USR RW                 NX pte
0xffff88202119f000-0xffff8820211a0000           4K USR ro                 NX pte
0xffff8820211a0000-0xffff8820211d1000         196K USR RW                 NX pte
0xffff8820211d1000-0xffff8820211d3000           8K USR ro                 NX pte
0xffff8820211d3000-0xffff8820211f8000         148K USR RW                 NX pte
0xffff8820211f8000-0xffff8820211f9000           4K USR ro                 NX pte
0xffff8820211f9000-0xffff8820211fa000           4K USR RW                 NX pte
0xffff8820211fa000-0xffff8820211fb000           4K USR ro                 NX pte
0xffff8820211fb000-0xffff8820211fd000           8K USR RW                 NX pte
0xffff8820211fd000-0xffff8820211fe000           4K USR ro                 NX pte
0xffff8820211fe000-0xffff882021360000        1416K USR RW                 NX pte
0xffff882021360000-0xffff882021361000           4K USR ro                 NX pte
0xffff882021361000-0xffff882021362000           4K USR RW                 NX pte
0xffff882021362000-0xffff882021363000           4K USR ro                 NX pte
0xffff882021363000-0xffff882021397000         208K USR RW                 NX pte
0xffff882021397000-0xffff882021398000           4K USR ro                 NX pte
0xffff882021398000-0xffff8820213a2000          40K USR RW                 NX pte
0xffff8820213a2000-0xffff8820213a3000           4K USR ro                 NX pte
0xffff8820213a3000-0xffff8820213ab000          32K USR RW                 NX pte
0xffff8820213ab000-0xffff8820213ac000           4K USR ro                 NX pte
0xffff8820213ac000-0xffff8820213bb000          60K USR RW                 NX pte
0xffff8820213bb000-0xffff8820213be000          12K USR ro                 NX pte
0xffff8820213be000-0xffff8820213bf000           4K USR RW                 NX pte
0xffff8820213bf000-0xffff8820213c0000           4K USR ro                 NX pte
0xffff8820213c0000-0xffff8820213c1000           4K USR RW                 NX pte
0xffff8820213c1000-0xffff8820213c2000           4K USR ro                 NX pte
0xffff8820213c2000-0xffff8820213c3000           4K USR RW                 NX pte
0xffff8820213c3000-0xffff8820213c4000           4K USR ro                 NX pte
0xffff8820213c4000-0xffff8820213c5000           4K USR RW                 NX pte
0xffff8820213c5000-0xffff8820213c6000           4K USR ro                 NX pte
0xffff8820213c6000-0xffff8820213c7000           4K USR RW                 NX pte
0xffff8820213c7000-0xffff8820213c8000           4K USR ro                 NX pte
0xffff8820213c8000-0xffff8820213c9000           4K USR RW                 NX pte
0xffff8820213c9000-0xffff8820213cb000           8K USR ro                 NX pte
0xffff8820213cb000-0xffff8820213cf000          16K USR RW                 NX pte
0xffff8820213cf000-0xffff8820213d0000           4K USR ro                 NX pte
0xffff8820213d0000-0xffff8820213d3000          12K USR RW                 NX pte
0xffff8820213d3000-0xffff8820213d4000           4K USR ro                 NX pte
0xffff8820213d4000-0xffff8820213d5000           4K USR RW                 NX pte
0xffff8820213d5000-0xffff8820213d6000           4K USR ro                 NX pte
0xffff8820213d6000-0xffff8820213db000          20K USR RW                 NX pte
0xffff8820213db000-0xffff8820213dc000           4K USR ro                 NX pte
0xffff8820213dc000-0xffff8820213dd000           4K USR RW                 NX pte
0xffff8820213dd000-0xffff8820213df000           8K USR ro                 NX pte
0xffff8820213df000-0xffff8820213e7000          32K USR RW                 NX pte
0xffff8820213e7000-0xffff8820213e8000           4K USR ro                 NX pte
0xffff8820213e8000-0xffff8820213f6000          56K USR RW                 NX pte
0xffff8820213f6000-0xffff8820213f7000           4K USR ro                 NX pte
0xffff8820213f7000-0xffff8820213fd000          24K USR RW                 NX pte
0xffff8820213fd000-0xffff8820213fe000           4K USR ro                 NX pte
0xffff8820213fe000-0xffff882021816000        4192K USR RW                 NX pte
0xffff882021816000-0xffff882021817000           4K USR ro                 NX pte
0xffff882021817000-0xffff882021826000          60K USR RW                 NX pte
0xffff882021826000-0xffff882021829000          12K USR ro                 NX pte
0xffff882021829000-0xffff88202182d000          16K USR RW                 NX pte
0xffff88202182d000-0xffff88202182e000           4K USR ro                 NX pte
0xffff88202182e000-0xffff882021840000          72K USR RW                 NX pte
0xffff882021840000-0xffff882021842000           8K USR ro                 NX pte
0xffff882021842000-0xffff882021843000           4K USR RW                 NX pte
0xffff882021843000-0xffff882021844000           4K USR ro                 NX pte
0xffff882021844000-0xffff882021846000           8K USR RW                 NX pte
0xffff882021846000-0xffff88202184a000          16K USR ro                 NX pte
0xffff88202184a000-0xffff88202184b000           4K USR RW                 NX pte
0xffff88202184b000-0xffff882021850000          20K USR ro                 NX pte
0xffff882021850000-0xffff882021859000          36K USR RW                 NX pte
0xffff882021859000-0xffff88202185b000           8K USR ro                 NX pte
0xffff88202185b000-0xffff882021861000          24K USR RW                 NX pte
0xffff882021861000-0xffff882021866000          20K USR ro                 NX pte
0xffff882021866000-0xffff882021867000           4K USR RW                 NX pte
0xffff882021867000-0xffff882021868000           4K USR ro                 NX pte
0xffff882021868000-0xffff88202186b000          12K USR RW                 NX pte
0xffff88202186b000-0xffff88202186c000           4K USR ro                 NX pte
0xffff88202186c000-0xffff88202188a000         120K USR RW                 NX pte
0xffff88202188a000-0xffff88202188b000           4K USR ro                 NX pte
0xffff88202188b000-0xffff882021891000          24K USR RW                 NX pte
0xffff882021891000-0xffff882021892000           4K USR ro                 NX pte
0xffff882021892000-0xffff8820218b2000         128K USR RW                 NX pte
0xffff8820218b2000-0xffff8820218b3000           4K USR ro                 NX pte
0xffff8820218b3000-0xffff8820218ee000         236K USR RW                 NX pte
0xffff8820218ee000-0xffff8820218ef000           4K USR ro                 NX pte
0xffff8820218ef000-0xffff8820218fa000          44K USR RW                 NX pte
0xffff8820218fa000-0xffff8820218fb000           4K USR ro                 NX pte
0xffff8820218fb000-0xffff882021b1f000        2192K USR RW                 NX pte
0xffff882021b1f000-0xffff882021b20000           4K USR ro                 NX pte
0xffff882021b20000-0xffff882021b33000          76K USR RW                 NX pte
0xffff882021b33000-0xffff882021b34000           4K USR ro                 NX pte
0xffff882021b34000-0xffff882021b3c000          32K USR RW                 NX pte
0xffff882021b3c000-0xffff882021b3d000           4K USR ro                 NX pte
0xffff882021b3d000-0xffff882021b68000         172K USR RW                 NX pte
0xffff882021b68000-0xffff882021b69000           4K USR ro                 NX pte
0xffff882021b69000-0xffff882021b77000          56K USR RW                 NX pte
0xffff882021b77000-0xffff882021b78000           4K USR ro                 NX pte
0xffff882021b78000-0xffff882021b84000          48K USR RW                 NX pte
0xffff882021b84000-0xffff882021b85000           4K USR ro                 NX pte
0xffff882021b85000-0xffff882021baf000         168K USR RW                 NX pte
0xffff882021baf000-0xffff882021bb0000           4K USR ro                 NX pte
0xffff882021bb0000-0xffff882021bcf000         124K USR RW                 NX pte
0xffff882021bcf000-0xffff882021bd0000           4K USR ro                 NX pte
0xffff882021bd0000-0xffff882021be2000          72K USR RW                 NX pte
0xffff882021be2000-0xffff882021be4000           8K USR ro                 NX pte
0xffff882021be4000-0xffff8820243d9000       40916K USR RW                 NX pte
0xffff8820243d9000-0xffff8820243dc000          12K USR ro                 NX pte
0xffff8820243dc000-0xffff8820243e1000          20K USR RW                 NX pte
0xffff8820243e1000-0xffff8820243e2000           4K USR ro                 NX pte
0xffff8820243e2000-0xffff882028dde000       75760K USR RW                 NX pte
0xffff882028dde000-0xffff882028ddf000           4K USR ro                 NX pte
0xffff882028ddf000-0xffff882028fe0000        2052K USR RW                 NX pte
0xffff882028fe0000-0xffff882028fe1000           4K USR ro                 NX pte
0xffff882028fe1000-0xffff8820292d8000        3036K USR RW                 NX pte
0xffff8820292d8000-0xffff8820292dc000          16K USR ro                 NX pte
0xffff8820292dc000-0xffff8820293dd000        1028K USR RW                 NX pte
0xffff8820293dd000-0xffff8820293de000           4K USR ro                 NX pte
0xffff8820293de000-0xffff882029ac4000        7064K USR RW                 NX pte
0xffff882029ac4000-0xffff882029ac6000           8K USR ro                 NX pte
0xffff882029ac6000-0xffff882029d5f000        2660K USR RW                 NX pte
0xffff882029d5f000-0xffff882029d9e000         252K USR ro                 NX pte
0xffff882029d9e000-0xffff882031c9e000         127M USR RW                 NX pte
0xffff882031c9e000-0xffff882031d1e000         512K USR ro                 NX pte
0xffff882031d1e000-0xffff882031d5e000         256K USR RW                 NX pte
0xffff882031d5e000-0xffff882031d5f000           4K USR ro                 NX pte
0xffff882031d5f000-0xffff882032658000        9188K USR RW                 NX pte
0xffff882032658000-0xffff882032800000        1696K USR ro                 NX pte
0xffff882032800000-0xffff8820b509b000     2138732K USR RW                 NX pte
0xffff8820b509b000-0xffff8820b509e000          12K USR ro                 NX pte
0xffff8820b509e000-0xffff8820b5600000        5512K USR RW                 NX pte
0xffff8820b5600000-0xffff8820b57f0000        1984K USR ro                 NX pte
0xffff8820b57f0000-0xffff8820b5fa9000        7908K USR RW                 NX pte
0xffff8820b5fa9000-0xffff8820b5faa000           4K USR ro                 NX pte
0xffff8820b5faa000-0xffff8820b5fc2000          96K USR RW                 NX pte
0xffff8820b5fc2000-0xffff8820b5fc6000          16K USR ro                 NX pte
0xffff8820b5fc6000-0xffff8820b7000000       16616K USR RW                 NX pte
0xffff8820b7000000-0xffff8820b7800000           8M                           pte
0xffff8820b7800000-0xffff8820c0000000         136M                           pmd
0xffff8820c0000000-0xffff888000000000         381G                           pud
0xffff888000000000-0xffffc90000000000       66048G                           pgd
---[ vmalloc() Area ]---
0xffffc90000000000-0xffffc90010000000         256M USR RW                 NX pte
0xffffc90010000000-0xffffc90010001000           4K                           pte
0xffffc90010001000-0xffffc90010081000         512K USR RW                 NX pte
0xffffc90010081000-0xffffc90010082000           4K                           pte
0xffffc90010082000-0xffffc90018082000         128M USR RW                 NX pte
0xffffc90018082000-0xffffc90018083000           4K                           pte
0xffffc90018083000-0xffffc900180c3000         256K USR RW                 NX pte
0xffffc900180c3000-0xffffc900180c4000           4K                           pte
0xffffc900180c4000-0xffffc900180c6000           8K USR RW                 NX pte
0xffffc900180c6000-0xffffc900180c8000           8K                           pte
0xffffc900180c8000-0xffffc900180c9000           4K USR RW                 NX pte
0xffffc900180c9000-0xffffc900180cd000          16K                           pte
0xffffc900180cd000-0xffffc900180d1000          16K USR RW                 NX pte
0xffffc900180d1000-0xffffc900180d2000           4K                           pte
0xffffc900180d2000-0xffffc900180dd000          44K USR RW                 NX pte
0xffffc900180dd000-0xffffc900180de000           4K                           pte
0xffffc900180de000-0xffffc900180ea000          48K USR RW                 NX pte
0xffffc900180ea000-0xffffc90018100000          88K                           pte
0xffffc90018100000-0xffffc90018101000           4K USR RW                 NX pte
0xffffc90018101000-0xffffc90018121000         128K                           pte
0xffffc90018121000-0xffffc90018521000           4M USR RW                 NX pte
0xffffc90018521000-0xffffc90018522000           4K                           pte
0xffffc90018522000-0xffffc90018d22000           8M USR RW                 NX pte
0xffffc90018d22000-0xffffc90018d23000           4K                           pte
0xffffc90018d23000-0xffffc90018e23000           1M USR RW                 NX pte
0xffffc90018e23000-0xffffc90018e24000           4K                           pte
0xffffc90018e24000-0xffffc90019024000           2M USR RW                 NX pte
0xffffc90019024000-0xffffc90019025000           4K                           pte
0xffffc90019025000-0xffffc90019225000           2M USR RW                 NX pte
0xffffc90019225000-0xffffc90019600000        3948K                           pte
0xffffc90019600000-0xffffc90040000000         618M                           pmd
0xffffc90040000000-0xffffc98000000000         511G                           pud
0xffffc98000000000-0xffffea0000000000       33280G                           pgd
---[ Vmemmap ]---
0xffffea0000000000-0xffffea0072840000     1876224K USR RW                 NX pte
0xffffea0072840000-0xffffea0072a00000        1792K                           pte
0xffffea0072a00000-0xffffea0080000000         214M                           pmd
0xffffea0080000000-0xffffea8000000000         510G                           pud
0xffffea8000000000-0xffffff8000000000          21T                           pgd
0xffffff8000000000-0xffffffff80000000         510G                           pud
---[ High Kernel Mapping ]---
0xffffffff80000000-0xffffffff81000000          16M                           pmd
0xffffffff81000000-0xffffffff81002000           8K USR ro                 x  pte
0xffffffff81002000-0xffffffff81013000          68K USR ro                 x  pte
0xffffffff81013000-0xffffffff81015000           8K USR ro                 x  pte
0xffffffff81015000-0xffffffff81017000           8K USR ro                 x  pte
0xffffffff81017000-0xffffffff81019000           8K USR ro                 x  pte
0xffffffff81019000-0xffffffff8101a000           4K USR ro                 x  pte
0xffffffff8101a000-0xffffffff8101b000           4K USR ro                 x  pte
0xffffffff8101b000-0xffffffff8101f000          16K USR ro                 x  pte
0xffffffff8101f000-0xffffffff81028000          36K USR ro                 x  pte
0xffffffff81028000-0xffffffff8102a000           8K USR ro                 x  pte
0xffffffff8102a000-0xffffffff8102c000           8K USR ro                 x  pte
0xffffffff8102c000-0xffffffff8103c000          64K USR ro                 x  pte
0xffffffff8103c000-0xffffffff8103d000           4K USR ro                 x  pte
0xffffffff8103d000-0xffffffff81051000          80K USR ro                 x  pte
0xffffffff81051000-0xffffffff81052000           4K USR ro                 x  pte
0xffffffff81052000-0xffffffff81057000          20K USR ro                 x  pte
0xffffffff81057000-0xffffffff81058000           4K USR ro                 x  pte
0xffffffff81058000-0xffffffff81061000          36K USR ro                 x  pte
0xffffffff81061000-0xffffffff81063000           8K USR ro                 x  pte
0xffffffff81063000-0xffffffff8106b000          32K USR ro                 x  pte
0xffffffff8106b000-0xffffffff8106c000           4K USR ro                 x  pte
0xffffffff8106c000-0xffffffff81078000          48K USR ro                 x  pte
0xffffffff81078000-0xffffffff8107a000           8K USR ro                 x  pte
0xffffffff8107a000-0xffffffff81083000          36K USR ro                 x  pte
0xffffffff81083000-0xffffffff81084000           4K USR ro                 x  pte
0xffffffff81084000-0xffffffff8108f000          44K USR ro                 x  pte
0xffffffff8108f000-0xffffffff81090000           4K USR ro                 x  pte
0xffffffff81090000-0xffffffff81094000          16K USR ro                 x  pte
0xffffffff81094000-0xffffffff81097000          12K USR ro                 x  pte
0xffffffff81097000-0xffffffff810a0000          36K USR ro                 x  pte
0xffffffff810a0000-0xffffffff810a2000           8K USR ro                 x  pte
0xffffffff810a2000-0xffffffff810a7000          20K USR ro                 x  pte
0xffffffff810a7000-0xffffffff810a8000           4K USR ro                 x  pte
0xffffffff810a8000-0xffffffff810aa000           8K USR ro                 x  pte
0xffffffff810aa000-0xffffffff810af000          20K USR ro                 x  pte
0xffffffff810af000-0xffffffff810b4000          20K USR ro                 x  pte
0xffffffff810b4000-0xffffffff810b6000           8K USR ro                 x  pte
0xffffffff810b6000-0xffffffff810c0000          40K USR ro                 x  pte
0xffffffff810c0000-0xffffffff810c4000          16K USR ro                 x  pte
0xffffffff810c4000-0xffffffff810c6000           8K USR ro                 x  pte
0xffffffff810c6000-0xffffffff810ca000          16K USR ro                 x  pte
0xffffffff810ca000-0xffffffff810cc000           8K USR ro                 x  pte
0xffffffff810cc000-0xffffffff810cd000           4K USR ro                 x  pte
0xffffffff810cd000-0xffffffff810d5000          32K USR ro                 x  pte
0xffffffff810d5000-0xffffffff810d9000          16K USR ro                 x  pte
0xffffffff810d9000-0xffffffff810da000           4K USR ro                 x  pte
0xffffffff810da000-0xffffffff810db000           4K USR ro                 x  pte
0xffffffff810db000-0xffffffff810dc000           4K USR ro                 x  pte
0xffffffff810dc000-0xffffffff810dd000           4K USR ro                 x  pte
0xffffffff810dd000-0xffffffff810e2000          20K USR ro                 x  pte
0xffffffff810e2000-0xffffffff810e3000           4K USR ro                 x  pte
0xffffffff810e3000-0xffffffff810f8000          84K USR ro                 x  pte
0xffffffff810f8000-0xffffffff810fb000          12K USR ro                 x  pte
0xffffffff810fb000-0xffffffff81101000          24K USR ro                 x  pte
0xffffffff81101000-0xffffffff81102000           4K USR ro                 x  pte
0xffffffff81102000-0xffffffff81106000          16K USR ro                 x  pte
0xffffffff81106000-0xffffffff81107000           4K USR ro                 x  pte
0xffffffff81107000-0xffffffff81108000           4K USR ro                 x  pte
0xffffffff81108000-0xffffffff81109000           4K USR ro                 x  pte
0xffffffff81109000-0xffffffff81113000          40K USR ro                 x  pte
0xffffffff81113000-0xffffffff81114000           4K USR ro                 x  pte
0xffffffff81114000-0xffffffff81117000          12K USR ro                 x  pte
0xffffffff81117000-0xffffffff81118000           4K USR ro                 x  pte
0xffffffff81118000-0xffffffff81122000          40K USR ro                 x  pte
0xffffffff81122000-0xffffffff81124000           8K USR ro                 x  pte
0xffffffff81124000-0xffffffff81143000         124K USR ro                 x  pte
0xffffffff81143000-0xffffffff81145000           8K USR ro                 x  pte
0xffffffff81145000-0xffffffff81166000         132K USR ro                 x  pte
0xffffffff81166000-0xffffffff81168000           8K USR ro                 x  pte
0xffffffff81168000-0xffffffff8116d000          20K USR ro                 x  pte
0xffffffff8116d000-0xffffffff8116e000           4K USR ro                 x  pte
0xffffffff8116e000-0xffffffff8116f000           4K USR ro                 x  pte
0xffffffff8116f000-0xffffffff81170000           4K USR ro                 x  pte
0xffffffff81170000-0xffffffff81174000          16K USR ro                 x  pte
0xffffffff81174000-0xffffffff81177000          12K USR ro                 x  pte
0xffffffff81177000-0xffffffff8117a000          12K USR ro                 x  pte
0xffffffff8117a000-0xffffffff8117e000          16K USR ro                 x  pte
0xffffffff8117e000-0xffffffff8118d000          60K USR ro                 x  pte
0xffffffff8118d000-0xffffffff8118e000           4K USR ro                 x  pte
0xffffffff8118e000-0xffffffff81190000           8K USR ro                 x  pte
0xffffffff81190000-0xffffffff81191000           4K USR ro                 x  pte
0xffffffff81191000-0xffffffff81192000           4K USR ro                 x  pte
0xffffffff81192000-0xffffffff81193000           4K USR ro                 x  pte
0xffffffff81193000-0xffffffff81194000           4K USR ro                 x  pte
0xffffffff81194000-0xffffffff81197000          12K USR ro                 x  pte
0xffffffff81197000-0xffffffff81198000           4K USR ro                 x  pte
0xffffffff81198000-0xffffffff81199000           4K USR ro                 x  pte
0xffffffff81199000-0xffffffff811a0000          28K USR ro                 x  pte
0xffffffff811a0000-0xffffffff811a1000           4K USR ro                 x  pte
0xffffffff811a1000-0xffffffff811ab000          40K USR ro                 x  pte
0xffffffff811ab000-0xffffffff811ac000           4K USR ro                 x  pte
0xffffffff811ac000-0xffffffff811af000          12K USR ro                 x  pte
0xffffffff811af000-0xffffffff811b1000           8K USR ro                 x  pte
0xffffffff811b1000-0xffffffff811b4000          12K USR ro                 x  pte
0xffffffff811b4000-0xffffffff811b5000           4K USR ro                 x  pte
0xffffffff811b5000-0xffffffff811b9000          16K USR ro                 x  pte
0xffffffff811b9000-0xffffffff811bb000           8K USR ro                 x  pte
0xffffffff811bb000-0xffffffff811bd000           8K USR ro                 x  pte
0xffffffff811bd000-0xffffffff811be000           4K USR ro                 x  pte
0xffffffff811be000-0xffffffff811c2000          16K USR ro                 x  pte
0xffffffff811c2000-0xffffffff811c6000          16K USR ro                 x  pte
0xffffffff811c6000-0xffffffff811c7000           4K USR ro                 x  pte
0xffffffff811c7000-0xffffffff811c8000           4K USR ro                 x  pte
0xffffffff811c8000-0xffffffff811c9000           4K USR ro                 x  pte
0xffffffff811c9000-0xffffffff811ca000           4K USR ro                 x  pte
0xffffffff811ca000-0xffffffff811cf000          20K USR ro                 x  pte
0xffffffff811cf000-0xffffffff811d0000           4K USR ro                 x  pte
0xffffffff811d0000-0xffffffff811d3000          12K USR ro                 x  pte
0xffffffff811d3000-0xffffffff811d5000           8K USR ro                 x  pte
0xffffffff811d5000-0xffffffff811d6000           4K USR ro                 x  pte
0xffffffff811d6000-0xffffffff811d8000           8K USR ro                 x  pte
0xffffffff811d8000-0xffffffff811d9000           4K USR ro                 x  pte
0xffffffff811d9000-0xffffffff811da000           4K USR ro                 x  pte
0xffffffff811da000-0xffffffff811e0000          24K USR ro                 x  pte
0xffffffff811e0000-0xffffffff811e3000          12K USR ro                 x  pte
0xffffffff811e3000-0xffffffff811e9000          24K USR ro                 x  pte
0xffffffff811e9000-0xffffffff811ea000           4K USR ro                 x  pte
0xffffffff811ea000-0xffffffff811eb000           4K USR ro                 x  pte
0xffffffff811eb000-0xffffffff811f1000          24K USR ro                 x  pte
0xffffffff811f1000-0xffffffff811f7000          24K USR ro                 x  pte
0xffffffff811f7000-0xffffffff811f8000           4K USR ro                 x  pte
0xffffffff811f8000-0xffffffff811fa000           8K USR ro                 x  pte
0xffffffff811fa000-0xffffffff811fb000           4K USR ro                 x  pte
0xffffffff811fb000-0xffffffff811fd000           8K USR ro                 x  pte
0xffffffff811fd000-0xffffffff811fe000           4K USR ro                 x  pte
0xffffffff811fe000-0xffffffff81200000           8K USR ro                 x  pte
0xffffffff81200000-0xffffffff81201000           4K USR ro                 x  pte
0xffffffff81201000-0xffffffff81203000           8K USR ro                 x  pte
0xffffffff81203000-0xffffffff81207000          16K USR ro                 x  pte
0xffffffff81207000-0xffffffff81209000           8K USR ro                 x  pte
0xffffffff81209000-0xffffffff8120a000           4K USR ro                 x  pte
0xffffffff8120a000-0xffffffff8120b000           4K USR ro                 x  pte
0xffffffff8120b000-0xffffffff8120c000           4K USR ro                 x  pte
0xffffffff8120c000-0xffffffff8120e000           8K USR ro                 x  pte
0xffffffff8120e000-0xffffffff81223000          84K USR ro                 x  pte
0xffffffff81223000-0xffffffff81228000          20K USR ro                 x  pte
0xffffffff81228000-0xffffffff81229000           4K USR ro                 x  pte
0xffffffff81229000-0xffffffff8123b000          72K USR ro                 x  pte
0xffffffff8123b000-0xffffffff8123d000           8K USR ro                 x  pte
0xffffffff8123d000-0xffffffff8123e000           4K USR ro                 x  pte
0xffffffff8123e000-0xffffffff8123f000           4K USR ro                 x  pte
0xffffffff8123f000-0xffffffff81242000          12K USR ro                 x  pte
0xffffffff81242000-0xffffffff81244000           8K USR ro                 x  pte
0xffffffff81244000-0xffffffff81245000           4K USR ro                 x  pte
0xffffffff81245000-0xffffffff81247000           8K USR ro                 x  pte
0xffffffff81247000-0xffffffff81248000           4K USR ro                 x  pte
0xffffffff81248000-0xffffffff81252000          40K USR ro                 x  pte
0xffffffff81252000-0xffffffff81253000           4K USR ro                 x  pte
0xffffffff81253000-0xffffffff81254000           4K USR ro                 x  pte
0xffffffff81254000-0xffffffff81255000           4K USR ro                 x  pte
0xffffffff81255000-0xffffffff81258000          12K USR ro                 x  pte
0xffffffff81258000-0xffffffff81259000           4K USR ro                 x  pte
0xffffffff81259000-0xffffffff81268000          60K USR ro                 x  pte
0xffffffff81268000-0xffffffff8126e000          24K USR ro                 x  pte
0xffffffff8126e000-0xffffffff8126f000           4K USR ro                 x  pte
0xffffffff8126f000-0xffffffff81272000          12K USR ro                 x  pte
0xffffffff81272000-0xffffffff81273000           4K USR ro                 x  pte
0xffffffff81273000-0xffffffff81274000           4K USR ro                 x  pte
0xffffffff81274000-0xffffffff8127a000          24K USR ro                 x  pte
0xffffffff8127a000-0xffffffff8127c000           8K USR ro                 x  pte
0xffffffff8127c000-0xffffffff8127d000           4K USR ro                 x  pte
0xffffffff8127d000-0xffffffff81285000          32K USR ro                 x  pte
0xffffffff81285000-0xffffffff81286000           4K USR ro                 x  pte
0xffffffff81286000-0xffffffff81287000           4K USR ro                 x  pte
0xffffffff81287000-0xffffffff81288000           4K USR ro                 x  pte
0xffffffff81288000-0xffffffff81289000           4K USR ro                 x  pte
0xffffffff81289000-0xffffffff8128d000          16K USR ro                 x  pte
0xffffffff8128d000-0xffffffff8128f000           8K USR ro                 x  pte
0xffffffff8128f000-0xffffffff81291000           8K USR ro                 x  pte
0xffffffff81291000-0xffffffff81292000           4K USR ro                 x  pte
0xffffffff81292000-0xffffffff8129f000          52K USR ro                 x  pte
0xffffffff8129f000-0xffffffff812a0000           4K USR ro                 x  pte
0xffffffff812a0000-0xffffffff812a1000           4K USR ro                 x  pte
0xffffffff812a1000-0xffffffff812a3000           8K USR ro                 x  pte
0xffffffff812a3000-0xffffffff812a5000           8K USR ro                 x  pte
0xffffffff812a5000-0xffffffff812a6000           4K USR ro                 x  pte
0xffffffff812a6000-0xffffffff812a9000          12K USR ro                 x  pte
0xffffffff812a9000-0xffffffff812ab000           8K USR ro                 x  pte
0xffffffff812ab000-0xffffffff812c3000          96K USR ro                 x  pte
0xffffffff812c3000-0xffffffff812c6000          12K USR ro                 x  pte
0xffffffff812c6000-0xffffffff812cc000          24K USR ro                 x  pte
0xffffffff812cc000-0xffffffff812cf000          12K USR ro                 x  pte
0xffffffff812cf000-0xffffffff812d1000           8K USR ro                 x  pte
0xffffffff812d1000-0xffffffff812d2000           4K USR ro                 x  pte
0xffffffff812d2000-0xffffffff812d3000           4K USR ro                 x  pte
0xffffffff812d3000-0xffffffff812d7000          16K USR ro                 x  pte
0xffffffff812d7000-0xffffffff812d8000           4K USR ro                 x  pte
0xffffffff812d8000-0xffffffff812da000           8K USR ro                 x  pte
0xffffffff812da000-0xffffffff812dc000           8K USR ro                 x  pte
0xffffffff812dc000-0xffffffff812e1000          20K USR ro                 x  pte
0xffffffff812e1000-0xffffffff812e3000           8K USR ro                 x  pte
0xffffffff812e3000-0xffffffff812e4000           4K USR ro                 x  pte
0xffffffff812e4000-0xffffffff812e5000           4K USR ro                 x  pte
0xffffffff812e5000-0xffffffff812e6000           4K USR ro                 x  pte
0xffffffff812e6000-0xffffffff812e7000           4K USR ro                 x  pte
0xffffffff812e7000-0xffffffff812ed000          24K USR ro                 x  pte
0xffffffff812ed000-0xffffffff812ee000           4K USR ro                 x  pte
0xffffffff812ee000-0xffffffff812f9000          44K USR ro                 x  pte
0xffffffff812f9000-0xffffffff812fa000           4K USR ro                 x  pte
0xffffffff812fa000-0xffffffff812fe000          16K USR ro                 x  pte
0xffffffff812fe000-0xffffffff81300000           8K USR ro                 x  pte
0xffffffff81300000-0xffffffff81302000           8K USR ro                 x  pte
0xffffffff81302000-0xffffffff8130d000          44K USR ro                 x  pte
0xffffffff8130d000-0xffffffff8130e000           4K USR ro                 x  pte
0xffffffff8130e000-0xffffffff8130f000           4K USR ro                 x  pte
0xffffffff8130f000-0xffffffff81312000          12K USR ro                 x  pte
0xffffffff81312000-0xffffffff81314000           8K USR ro                 x  pte
0xffffffff81314000-0xffffffff81318000          16K USR ro                 x  pte
0xffffffff81318000-0xffffffff8131b000          12K USR ro                 x  pte
0xffffffff8131b000-0xffffffff8131c000           4K USR ro                 x  pte
0xffffffff8131c000-0xffffffff81324000          32K USR ro                 x  pte
0xffffffff81324000-0xffffffff81329000          20K USR ro                 x  pte
0xffffffff81329000-0xffffffff8132d000          16K USR ro                 x  pte
0xffffffff8132d000-0xffffffff8132e000           4K USR ro                 x  pte
0xffffffff8132e000-0xffffffff8132f000           4K USR ro                 x  pte
0xffffffff8132f000-0xffffffff81332000          12K USR ro                 x  pte
0xffffffff81332000-0xffffffff81333000           4K USR ro                 x  pte
0xffffffff81333000-0xffffffff81334000           4K USR ro                 x  pte
0xffffffff81334000-0xffffffff81335000           4K USR ro                 x  pte
0xffffffff81335000-0xffffffff81337000           8K USR ro                 x  pte
0xffffffff81337000-0xffffffff8133b000          16K USR ro                 x  pte
0xffffffff8133b000-0xffffffff8133c000           4K USR ro                 x  pte
0xffffffff8133c000-0xffffffff81340000          16K USR ro                 x  pte
0xffffffff81340000-0xffffffff81342000           8K USR ro                 x  pte
0xffffffff81342000-0xffffffff81343000           4K USR ro                 x  pte
0xffffffff81343000-0xffffffff81348000          20K USR ro                 x  pte
0xffffffff81348000-0xffffffff8134c000          16K USR ro                 x  pte
0xffffffff8134c000-0xffffffff81350000          16K USR ro                 x  pte
0xffffffff81350000-0xffffffff81351000           4K USR ro                 x  pte
0xffffffff81351000-0xffffffff81353000           8K USR ro                 x  pte
0xffffffff81353000-0xffffffff81358000          20K USR ro                 x  pte
0xffffffff81358000-0xffffffff8135e000          24K USR ro                 x  pte
0xffffffff8135e000-0xffffffff8135f000           4K USR ro                 x  pte
0xffffffff8135f000-0xffffffff81361000           8K USR ro                 x  pte
0xffffffff81361000-0xffffffff81366000          20K USR ro                 x  pte
0xffffffff81366000-0xffffffff81367000           4K USR ro                 x  pte
0xffffffff81367000-0xffffffff81368000           4K USR ro                 x  pte
0xffffffff81368000-0xffffffff8136a000           8K USR ro                 x  pte
0xffffffff8136a000-0xffffffff81374000          40K USR ro                 x  pte
0xffffffff81374000-0xffffffff81376000           8K USR ro                 x  pte
0xffffffff81376000-0xffffffff81379000          12K USR ro                 x  pte
0xffffffff81379000-0xffffffff8137f000          24K USR ro                 x  pte
0xffffffff8137f000-0xffffffff81380000           4K USR ro                 x  pte
0xffffffff81380000-0xffffffff81383000          12K USR ro                 x  pte
0xffffffff81383000-0xffffffff81384000           4K USR ro                 x  pte
0xffffffff81384000-0xffffffff81387000          12K USR ro                 x  pte
0xffffffff81387000-0xffffffff81389000           8K USR ro                 x  pte
0xffffffff81389000-0xffffffff8138c000          12K USR ro                 x  pte
0xffffffff8138c000-0xffffffff81393000          28K USR ro                 x  pte
0xffffffff81393000-0xffffffff81395000           8K USR ro                 x  pte
0xffffffff81395000-0xffffffff81398000          12K USR ro                 x  pte
0xffffffff81398000-0xffffffff8139a000           8K USR ro                 x  pte
0xffffffff8139a000-0xffffffff8139c000           8K USR ro                 x  pte
0xffffffff8139c000-0xffffffff8139d000           4K USR ro                 x  pte
0xffffffff8139d000-0xffffffff813a3000          24K USR ro                 x  pte
0xffffffff813a3000-0xffffffff813a4000           4K USR ro                 x  pte
0xffffffff813a4000-0xffffffff813a5000           4K USR ro                 x  pte
0xffffffff813a5000-0xffffffff813a6000           4K USR ro                 x  pte
0xffffffff813a6000-0xffffffff813a9000          12K USR ro                 x  pte
0xffffffff813a9000-0xffffffff813ab000           8K USR ro                 x  pte
0xffffffff813ab000-0xffffffff813ac000           4K USR ro                 x  pte
0xffffffff813ac000-0xffffffff813ae000           8K USR ro                 x  pte
0xffffffff813ae000-0xffffffff813b1000          12K USR ro                 x  pte
0xffffffff813b1000-0xffffffff813b3000           8K USR ro                 x  pte
0xffffffff813b3000-0xffffffff813b5000           8K USR ro                 x  pte
0xffffffff813b5000-0xffffffff813b9000          16K USR ro                 x  pte
0xffffffff813b9000-0xffffffff813ba000           4K USR ro                 x  pte
0xffffffff813ba000-0xffffffff813bf000          20K USR ro                 x  pte
0xffffffff813bf000-0xffffffff813ce000          60K USR ro                 x  pte
0xffffffff813ce000-0xffffffff813cf000           4K USR ro                 x  pte
0xffffffff813cf000-0xffffffff813d0000           4K USR ro                 x  pte
0xffffffff813d0000-0xffffffff813d2000           8K USR ro                 x  pte
0xffffffff813d2000-0xffffffff813d3000           4K USR ro                 x  pte
0xffffffff813d3000-0xffffffff813db000          32K USR ro                 x  pte
0xffffffff813db000-0xffffffff813dc000           4K USR ro                 x  pte
0xffffffff813dc000-0xffffffff813dd000           4K USR ro                 x  pte
0xffffffff813dd000-0xffffffff813de000           4K USR ro                 x  pte
0xffffffff813de000-0xffffffff813e0000           8K USR ro                 x  pte
0xffffffff813e0000-0xffffffff813e3000          12K USR ro                 x  pte
0xffffffff813e3000-0xffffffff813e5000           8K USR ro                 x  pte
0xffffffff813e5000-0xffffffff813e8000          12K USR ro                 x  pte
0xffffffff813e8000-0xffffffff813ea000           8K USR ro                 x  pte
0xffffffff813ea000-0xffffffff813ec000           8K USR ro                 x  pte
0xffffffff813ec000-0xffffffff813ed000           4K USR ro                 x  pte
0xffffffff813ed000-0xffffffff813ef000           8K USR ro                 x  pte
0xffffffff813ef000-0xffffffff813f3000          16K USR ro                 x  pte
0xffffffff813f3000-0xffffffff813f4000           4K USR ro                 x  pte
0xffffffff813f4000-0xffffffff813f6000           8K USR ro                 x  pte
0xffffffff813f6000-0xffffffff813f7000           4K USR ro                 x  pte
0xffffffff813f7000-0xffffffff813fa000          12K USR ro                 x  pte
0xffffffff813fa000-0xffffffff813fb000           4K USR ro                 x  pte
0xffffffff813fb000-0xffffffff813fd000           8K USR ro                 x  pte
0xffffffff813fd000-0xffffffff813fe000           4K USR ro                 x  pte
0xffffffff813fe000-0xffffffff81403000          20K USR ro                 x  pte
0xffffffff81403000-0xffffffff81404000           4K USR ro                 x  pte
0xffffffff81404000-0xffffffff81406000           8K USR ro                 x  pte
0xffffffff81406000-0xffffffff81408000           8K USR ro                 x  pte
0xffffffff81408000-0xffffffff81411000          36K USR ro                 x  pte
0xffffffff81411000-0xffffffff81412000           4K USR ro                 x  pte
0xffffffff81412000-0xffffffff81413000           4K USR ro                 x  pte
0xffffffff81413000-0xffffffff81415000           8K USR ro                 x  pte
0xffffffff81415000-0xffffffff81416000           4K USR ro                 x  pte
0xffffffff81416000-0xffffffff81419000          12K USR ro                 x  pte
0xffffffff81419000-0xffffffff8141e000          20K USR ro                 x  pte
0xffffffff8141e000-0xffffffff81425000          28K USR ro                 x  pte
0xffffffff81425000-0xffffffff81426000           4K USR ro                 x  pte
0xffffffff81426000-0xffffffff81428000           8K USR ro                 x  pte
0xffffffff81428000-0xffffffff8142f000          28K USR ro                 x  pte
0xffffffff8142f000-0xffffffff81430000           4K USR ro                 x  pte
0xffffffff81430000-0xffffffff81437000          28K USR ro                 x  pte
0xffffffff81437000-0xffffffff81438000           4K USR ro                 x  pte
0xffffffff81438000-0xffffffff81439000           4K USR ro                 x  pte
0xffffffff81439000-0xffffffff8143d000          16K USR ro                 x  pte
0xffffffff8143d000-0xffffffff8143e000           4K USR ro                 x  pte
0xffffffff8143e000-0xffffffff8143f000           4K USR ro                 x  pte
0xffffffff8143f000-0xffffffff81440000           4K USR ro                 x  pte
0xffffffff81440000-0xffffffff81443000          12K USR ro                 x  pte
0xffffffff81443000-0xffffffff81445000           8K USR ro                 x  pte
0xffffffff81445000-0xffffffff81446000           4K USR ro                 x  pte
0xffffffff81446000-0xffffffff81448000           8K USR ro                 x  pte
0xffffffff81448000-0xffffffff8144d000          20K USR ro                 x  pte
0xffffffff8144d000-0xffffffff8144f000           8K USR ro                 x  pte
0xffffffff8144f000-0xffffffff81451000           8K USR ro                 x  pte
0xffffffff81451000-0xffffffff81452000           4K USR ro                 x  pte
0xffffffff81452000-0xffffffff81458000          24K USR ro                 x  pte
0xffffffff81458000-0xffffffff81459000           4K USR ro                 x  pte
0xffffffff81459000-0xffffffff8145a000           4K USR ro                 x  pte
0xffffffff8145a000-0xffffffff8145c000           8K USR ro                 x  pte
0xffffffff8145c000-0xffffffff8145d000           4K USR ro                 x  pte
0xffffffff8145d000-0xffffffff81462000          20K USR ro                 x  pte
0xffffffff81462000-0xffffffff81463000           4K USR ro                 x  pte
0xffffffff81463000-0xffffffff81464000           4K USR ro                 x  pte
0xffffffff81464000-0xffffffff81465000           4K USR ro                 x  pte
0xffffffff81465000-0xffffffff81467000           8K USR ro                 x  pte
0xffffffff81467000-0xffffffff81468000           4K USR ro                 x  pte
0xffffffff81468000-0xffffffff81469000           4K USR ro                 x  pte
0xffffffff81469000-0xffffffff8146a000           4K USR ro                 x  pte
0xffffffff8146a000-0xffffffff8146b000           4K USR ro                 x  pte
0xffffffff8146b000-0xffffffff81470000          20K USR ro                 x  pte
0xffffffff81470000-0xffffffff81471000           4K USR ro                 x  pte
0xffffffff81471000-0xffffffff81473000           8K USR ro                 x  pte
0xffffffff81473000-0xffffffff81477000          16K USR ro                 x  pte
0xffffffff81477000-0xffffffff8147a000          12K USR ro                 x  pte
0xffffffff8147a000-0xffffffff8147b000           4K USR ro                 x  pte
0xffffffff8147b000-0xffffffff8147c000           4K USR ro                 x  pte
0xffffffff8147c000-0xffffffff8147d000           4K USR ro                 x  pte
0xffffffff8147d000-0xffffffff81482000          20K USR ro                 x  pte
0xffffffff81482000-0xffffffff81484000           8K USR ro                 x  pte
0xffffffff81484000-0xffffffff81485000           4K USR ro                 x  pte
0xffffffff81485000-0xffffffff81486000           4K USR ro                 x  pte
0xffffffff81486000-0xffffffff81489000          12K USR ro                 x  pte
0xffffffff81489000-0xffffffff8148a000           4K USR ro                 x  pte
0xffffffff8148a000-0xffffffff8148b000           4K USR ro                 x  pte
0xffffffff8148b000-0xffffffff8148c000           4K USR ro                 x  pte
0xffffffff8148c000-0xffffffff81499000          52K USR ro                 x  pte
0xffffffff81499000-0xffffffff8149a000           4K USR ro                 x  pte
0xffffffff8149a000-0xffffffff814a2000          32K USR ro                 x  pte
0xffffffff814a2000-0xffffffff814a5000          12K USR ro                 x  pte
0xffffffff814a5000-0xffffffff814a8000          12K USR ro                 x  pte
0xffffffff814a8000-0xffffffff814b0000          32K USR ro                 x  pte
0xffffffff814b0000-0xffffffff814b1000           4K USR ro                 x  pte
0xffffffff814b1000-0xffffffff814b2000           4K USR ro                 x  pte
0xffffffff814b2000-0xffffffff814c2000          64K USR ro                 x  pte
0xffffffff814c2000-0xffffffff814c3000           4K USR ro                 x  pte
0xffffffff814c3000-0xffffffff814c5000           8K USR ro                 x  pte
0xffffffff814c5000-0xffffffff814cb000          24K USR ro                 x  pte
0xffffffff814cb000-0xffffffff814cc000           4K USR ro                 x  pte
0xffffffff814cc000-0xffffffff814cf000          12K USR ro                 x  pte
0xffffffff814cf000-0xffffffff814d0000           4K USR ro                 x  pte
0xffffffff814d0000-0xffffffff814d1000           4K USR ro                 x  pte
0xffffffff814d1000-0xffffffff814d3000           8K USR ro                 x  pte
0xffffffff814d3000-0xffffffff814d4000           4K USR ro                 x  pte
0xffffffff814d4000-0xffffffff814d6000           8K USR ro                 x  pte
0xffffffff814d6000-0xffffffff814d7000           4K USR ro                 x  pte
0xffffffff814d7000-0xffffffff814db000          16K USR ro                 x  pte
0xffffffff814db000-0xffffffff814dc000           4K USR ro                 x  pte
0xffffffff814dc000-0xffffffff814de000           8K USR ro                 x  pte
0xffffffff814de000-0xffffffff814df000           4K USR ro                 x  pte
0xffffffff814df000-0xffffffff814e3000          16K USR ro                 x  pte
0xffffffff814e3000-0xffffffff814e7000          16K USR ro                 x  pte
0xffffffff814e7000-0xffffffff814e8000           4K USR ro                 x  pte
0xffffffff814e8000-0xffffffff814e9000           4K USR ro                 x  pte
0xffffffff814e9000-0xffffffff814f1000          32K USR ro                 x  pte
0xffffffff814f1000-0xffffffff814f2000           4K USR ro                 x  pte
0xffffffff814f2000-0xffffffff814f6000          16K USR ro                 x  pte
0xffffffff814f6000-0xffffffff814f7000           4K USR ro                 x  pte
0xffffffff814f7000-0xffffffff814f8000           4K USR ro                 x  pte
0xffffffff814f8000-0xffffffff814f9000           4K USR ro                 x  pte
0xffffffff814f9000-0xffffffff814fe000          20K USR ro                 x  pte
0xffffffff814fe000-0xffffffff81503000          20K USR ro                 x  pte
0xffffffff81503000-0xffffffff81508000          20K USR ro                 x  pte
0xffffffff81508000-0xffffffff8150d000          20K USR ro                 x  pte
0xffffffff8150d000-0xffffffff81511000          16K USR ro                 x  pte
0xffffffff81511000-0xffffffff81513000           8K USR ro                 x  pte
0xffffffff81513000-0xffffffff81514000           4K USR ro                 x  pte
0xffffffff81514000-0xffffffff81515000           4K USR ro                 x  pte
0xffffffff81515000-0xffffffff81516000           4K USR ro                 x  pte
0xffffffff81516000-0xffffffff8151b000          20K USR ro                 x  pte
0xffffffff8151b000-0xffffffff81520000          20K USR ro                 x  pte
0xffffffff81520000-0xffffffff81521000           4K USR ro                 x  pte
0xffffffff81521000-0xffffffff81523000           8K USR ro                 x  pte
0xffffffff81523000-0xffffffff81525000           8K USR ro                 x  pte
0xffffffff81525000-0xffffffff81526000           4K USR ro                 x  pte
0xffffffff81526000-0xffffffff81529000          12K USR ro                 x  pte
0xffffffff81529000-0xffffffff8152a000           4K USR ro                 x  pte
0xffffffff8152a000-0xffffffff8152b000           4K USR ro                 x  pte
0xffffffff8152b000-0xffffffff8152e000          12K USR ro                 x  pte
0xffffffff8152e000-0xffffffff81533000          20K USR ro                 x  pte
0xffffffff81533000-0xffffffff81535000           8K USR ro                 x  pte
0xffffffff81535000-0xffffffff81537000           8K USR ro                 x  pte
0xffffffff81537000-0xffffffff81538000           4K USR ro                 x  pte
0xffffffff81538000-0xffffffff81539000           4K USR ro                 x  pte
0xffffffff81539000-0xffffffff8153b000           8K USR ro                 x  pte
0xffffffff8153b000-0xffffffff8153d000           8K USR ro                 x  pte
0xffffffff8153d000-0xffffffff81541000          16K USR ro                 x  pte
0xffffffff81541000-0xffffffff81542000           4K USR ro                 x  pte
0xffffffff81542000-0xffffffff81544000           8K USR ro                 x  pte
0xffffffff81544000-0xffffffff81545000           4K USR ro                 x  pte
0xffffffff81545000-0xffffffff81547000           8K USR ro                 x  pte
0xffffffff81547000-0xffffffff81551000          40K USR ro                 x  pte
0xffffffff81551000-0xffffffff81552000           4K USR ro                 x  pte
0xffffffff81552000-0xffffffff81554000           8K USR ro                 x  pte
0xffffffff81554000-0xffffffff81555000           4K USR ro                 x  pte
0xffffffff81555000-0xffffffff8155d000          32K USR ro                 x  pte
0xffffffff8155d000-0xffffffff8155f000           8K USR ro                 x  pte
0xffffffff8155f000-0xffffffff81563000          16K USR ro                 x  pte
0xffffffff81563000-0xffffffff81566000          12K USR ro                 x  pte
0xffffffff81566000-0xffffffff81567000           4K USR ro                 x  pte
0xffffffff81567000-0xffffffff81568000           4K USR ro                 x  pte
0xffffffff81568000-0xffffffff8156a000           8K USR ro                 x  pte
0xffffffff8156a000-0xffffffff8156b000           4K USR ro                 x  pte
0xffffffff8156b000-0xffffffff81572000          28K USR ro                 x  pte
0xffffffff81572000-0xffffffff81573000           4K USR ro                 x  pte
0xffffffff81573000-0xffffffff81576000          12K USR ro                 x  pte
0xffffffff81576000-0xffffffff81577000           4K USR ro                 x  pte
0xffffffff81577000-0xffffffff81578000           4K USR ro                 x  pte
0xffffffff81578000-0xffffffff81579000           4K USR ro                 x  pte
0xffffffff81579000-0xffffffff8157a000           4K USR ro                 x  pte
0xffffffff8157a000-0xffffffff8157b000           4K USR ro                 x  pte
0xffffffff8157b000-0xffffffff8157d000           8K USR ro                 x  pte
0xffffffff8157d000-0xffffffff8157f000           8K USR ro                 x  pte
0xffffffff8157f000-0xffffffff81582000          12K USR ro                 x  pte
0xffffffff81582000-0xffffffff81584000           8K USR ro                 x  pte
0xffffffff81584000-0xffffffff81586000           8K USR ro                 x  pte
0xffffffff81586000-0xffffffff81588000           8K USR ro                 x  pte
0xffffffff81588000-0xffffffff81589000           4K USR ro                 x  pte
0xffffffff81589000-0xffffffff8158d000          16K USR ro                 x  pte
0xffffffff8158d000-0xffffffff8158f000           8K USR ro                 x  pte
0xffffffff8158f000-0xffffffff81593000          16K USR ro                 x  pte
0xffffffff81593000-0xffffffff81594000           4K USR ro                 x  pte
0xffffffff81594000-0xffffffff81595000           4K USR ro                 x  pte
0xffffffff81595000-0xffffffff81596000           4K USR ro                 x  pte
0xffffffff81596000-0xffffffff81599000          12K USR ro                 x  pte
0xffffffff81599000-0xffffffff815ab000          72K USR ro                 x  pte
0xffffffff815ab000-0xffffffff815ac000           4K USR ro                 x  pte
0xffffffff815ac000-0xffffffff815b0000          16K USR ro                 x  pte
0xffffffff815b0000-0xffffffff815b1000           4K USR ro                 x  pte
0xffffffff815b1000-0xffffffff815b7000          24K USR ro                 x  pte
0xffffffff815b7000-0xffffffff81600000         292K USR RW                 NX pte
0xffffffff81600000-0xffffffff8179c000        1648K USR ro                 NX pte
0xffffffff8179c000-0xffffffff81800000         400K USR RW                 NX pte
0xffffffff81800000-0xffffffff81802000           8K USR RW                 x  pte
0xffffffff81802000-0xffffffff81803000           4K USR RW                 x  pte
0xffffffff81803000-0xffffffff81805000           8K USR RW                 x  pte
0xffffffff81805000-0xffffffff8180b000          24K USR RW                 x  pte
0xffffffff8180b000-0xffffffff8180f000          16K USR ro                 x  pte
0xffffffff8180f000-0xffffffff81810000           4K USR RW                 x  pte
0xffffffff81810000-0xffffffff81812000           8K USR ro                 x  pte
0xffffffff81812000-0xffffffff81813000           4K USR RW                 x  pte
0xffffffff81813000-0xffffffff81815000           8K USR RW                 x  pte
0xffffffff81815000-0xffffffff81816000           4K USR RW                 x  pte
0xffffffff81816000-0xffffffff81818000           8K USR RW                 x  pte
0xffffffff81818000-0xffffffff8181a000           8K USR RW                 x  pte
0xffffffff8181a000-0xffffffff8181d000          12K USR RW                 x  pte
0xffffffff8181d000-0xffffffff8181e000           4K USR RW                 x  pte
0xffffffff8181e000-0xffffffff81832000          80K USR RW                 x  pte
0xffffffff81832000-0xffffffff81834000           8K USR RW                 x  pte
0xffffffff81834000-0xffffffff8183a000          24K USR RW                 x  pte
0xffffffff8183a000-0xffffffff8183d000          12K USR RW                 x  pte
0xffffffff8183d000-0xffffffff81841000          16K USR RW                 x  pte
0xffffffff81841000-0xffffffff81843000           8K USR RW                 x  pte
0xffffffff81843000-0xffffffff81845000           8K USR RW                 x  pte
0xffffffff81845000-0xffffffff81846000           4K USR RW                 x  pte
0xffffffff81846000-0xffffffff81849000          12K USR RW                 x  pte
0xffffffff81849000-0xffffffff8184a000           4K USR RW                 x  pte
0xffffffff8184a000-0xffffffff8184f000          20K USR RW                 x  pte
0xffffffff8184f000-0xffffffff81850000           4K USR RW                 x  pte
0xffffffff81850000-0xffffffff81885000         212K USR RW                 x  pte
0xffffffff81885000-0xffffffff81938000         716K USR RW                 NX pte
0xffffffff81938000-0xffffffff8193a000           8K USR RW                 x  pte
0xffffffff8193a000-0xffffffff8193b000           4K USR ro                 x  pte
0xffffffff8193b000-0xffffffff8193d000           8K USR RW                 x  pte
0xffffffff8193d000-0xffffffff8193e000           4K USR ro                 x  pte
0xffffffff8193e000-0xffffffff81948000          40K USR RW                 x  pte
0xffffffff81948000-0xffffffff8194a000           8K USR RW                 x  pte
0xffffffff8194a000-0xffffffff8194c000           8K USR RW                 x  pte
0xffffffff8194c000-0xffffffff8196c000         128K USR RW                 x  pte
0xffffffff8196c000-0xffffffff8196d000           4K USR RW                 x  pte
0xffffffff8196d000-0xffffffff81970000          12K USR RW                 x  pte
0xffffffff81970000-0xffffffff81971000           4K USR RW                 x  pte
0xffffffff81971000-0xffffffff81972000           4K USR RW                 x  pte
0xffffffff81972000-0xffffffff81973000           4K USR RW                 x  pte
0xffffffff81973000-0xffffffff81975000           8K USR RW                 x  pte
0xffffffff81975000-0xffffffff81976000           4K USR RW                 x  pte
0xffffffff81976000-0xffffffff81977000           4K USR RW                 x  pte
0xffffffff81977000-0xffffffff8197b000          16K USR RW                 x  pte
0xffffffff8197b000-0xffffffff819b9000         248K USR RW                 x  pte
0xffffffff819b9000-0xffffffff819c0000          28K USR RW                 x  pte
0xffffffff819c0000-0xffffffff819df000         124K USR RW                 x  pte
0xffffffff819df000-0xffffffff819e8000          36K USR RW                 x  pte
0xffffffff819e8000-0xffffffff819f1000          36K USR RW                 x  pte
0xffffffff819f1000-0xffffffff819f2000           4K USR RW                 x  pte
0xffffffff819f2000-0xffffffff819f3000           4K USR RW                 x  pte
0xffffffff819f3000-0xffffffff819f5000           8K USR RW                 x  pte
0xffffffff819f5000-0xffffffff819f8000          12K USR RW                 x  pte
0xffffffff819f8000-0xffffffff81a0a000          72K USR RW                 x  pte
0xffffffff81a0a000-0xffffffff81a0f000          20K USR RW                 x  pte
0xffffffff81a0f000-0xffffffff81a1c000          52K USR RW                 x  pte
0xffffffff81a1c000-0xffffffff81a1d000           4K USR RW                 x  pte
0xffffffff81a1d000-0xffffffff81aaa000         564K USR RW                 x  pte
0xffffffff81aaa000-0xffffffff81aae000          16K USR ro                 x  pte
0xffffffff81aae000-0xffffffff81b34000         536K USR RW                 x  pte
0xffffffff81b34000-0xffffffff81c00000         816K USR RW                 x  pte
0xffffffff81c00000-0xffffffff8fc00000         224M                           pmd
0xffffffff8fc00000-0xffffffff8fc93000         588K USR RW                 NX pte
0xffffffff8fc93000-0xffffffffa0000000      265652K USR RW                 x  pte
---[ Modules ]---
0xffffffffa0000000-0xffffffffa0001000           4K USR ro                 x  pte
0xffffffffa0001000-0xffffffffa0002000           4K USR ro                 NX pte
0xffffffffa0002000-0xffffffffa0004000           8K USR RW                 NX pte
0xffffffffa0004000-0xffffffffa0008000          16K                           pte
0xffffffffa0008000-0xffffffffa0009000           4K USR ro                 x  pte
0xffffffffa0009000-0xffffffffa000a000           4K USR ro                 NX pte
0xffffffffa000a000-0xffffffffa000c000           8K USR RW                 NX pte
0xffffffffa000c000-0xffffffffa0070000         400K                           pte
0xffffffffa0070000-0xffffffffa024c000        1904K USR RW                 x  pte
0xffffffffa024c000-0xffffffffa024e000           8K USR RW                 x  pte
0xffffffffa024e000-0xffffffffa0353000        1044K USR ro                 x  pte
0xffffffffa0353000-0xffffffffa0400000         692K USR RW                 x  pte
0xffffffffa0400000-0xffffffffc0000000         508M                           pmd
0xffffffffc0000000-0xffffffffc009b000         620K USR RW                 x  pte
0xffffffffc009b000-0xffffffffc00a0000          20K USR RW                 x  pte
0xffffffffc00a0000-0xffffffffc07fb000        7532K USR RW                 x  pte
0xffffffffc07fb000-0xffffffffc0ef8000        7156K USR ro                 x  pte
0xffffffffc0ef8000-0xffffffffc1000000        1056K USR RW                 x  pte
0xffffffffc1000000-0xffffffffc1002000           8K USR ro                 x  pte
0xffffffffc1002000-0xffffffffc1013000          68K USR ro                 x  pte
0xffffffffc1013000-0xffffffffc1015000           8K USR ro                 x  pte
0xffffffffc1015000-0xffffffffc1017000           8K USR ro                 x  pte
0xffffffffc1017000-0xffffffffc1019000           8K USR ro                 x  pte
0xffffffffc1019000-0xffffffffc101a000           4K USR ro                 x  pte
0xffffffffc101a000-0xffffffffc101b000           4K USR ro                 x  pte
0xffffffffc101b000-0xffffffffc101f000          16K USR ro                 x  pte
0xffffffffc101f000-0xffffffffc1028000          36K USR ro                 x  pte
0xffffffffc1028000-0xffffffffc102a000           8K USR ro                 x  pte
0xffffffffc102a000-0xffffffffc102c000           8K USR ro                 x  pte
0xffffffffc102c000-0xffffffffc103c000          64K USR ro                 x  pte
0xffffffffc103c000-0xffffffffc103d000           4K USR ro                 x  pte
0xffffffffc103d000-0xffffffffc1051000          80K USR ro                 x  pte
0xffffffffc1051000-0xffffffffc1052000           4K USR ro                 x  pte
0xffffffffc1052000-0xffffffffc1057000          20K USR ro                 x  pte
0xffffffffc1057000-0xffffffffc1058000           4K USR ro                 x  pte
0xffffffffc1058000-0xffffffffc1061000          36K USR ro                 x  pte
0xffffffffc1061000-0xffffffffc1063000           8K USR ro                 x  pte
0xffffffffc1063000-0xffffffffc106b000          32K USR ro                 x  pte
0xffffffffc106b000-0xffffffffc106c000           4K USR ro                 x  pte
0xffffffffc106c000-0xffffffffc1078000          48K USR ro                 x  pte
0xffffffffc1078000-0xffffffffc107a000           8K USR ro                 x  pte
0xffffffffc107a000-0xffffffffc1083000          36K USR ro                 x  pte
0xffffffffc1083000-0xffffffffc1084000           4K USR ro                 x  pte
0xffffffffc1084000-0xffffffffc108f000          44K USR ro                 x  pte
0xffffffffc108f000-0xffffffffc1090000           4K USR ro                 x  pte
0xffffffffc1090000-0xffffffffc1094000          16K USR ro                 x  pte
0xffffffffc1094000-0xffffffffc1097000          12K USR ro                 x  pte
0xffffffffc1097000-0xffffffffc10a0000          36K USR ro                 x  pte
0xffffffffc10a0000-0xffffffffc10a2000           8K USR ro                 x  pte
0xffffffffc10a2000-0xffffffffc10a7000          20K USR ro                 x  pte
0xffffffffc10a7000-0xffffffffc10a8000           4K USR ro                 x  pte
0xffffffffc10a8000-0xffffffffc10aa000           8K USR ro                 x  pte
0xffffffffc10aa000-0xffffffffc10af000          20K USR ro                 x  pte
0xffffffffc10af000-0xffffffffc10b4000          20K USR ro                 x  pte
0xffffffffc10b4000-0xffffffffc10b6000           8K USR ro                 x  pte
0xffffffffc10b6000-0xffffffffc10c0000          40K USR ro                 x  pte
0xffffffffc10c0000-0xffffffffc10c4000          16K USR ro                 x  pte
0xffffffffc10c4000-0xffffffffc10c6000           8K USR ro                 x  pte
0xffffffffc10c6000-0xffffffffc10ca000          16K USR ro                 x  pte
0xffffffffc10ca000-0xffffffffc10cc000           8K USR ro                 x  pte
0xffffffffc10cc000-0xffffffffc10cd000           4K USR ro                 x  pte
0xffffffffc10cd000-0xffffffffc10d5000          32K USR ro                 x  pte
0xffffffffc10d5000-0xffffffffc10d9000          16K USR ro                 x  pte
0xffffffffc10d9000-0xffffffffc10da000           4K USR ro                 x  pte
0xffffffffc10da000-0xffffffffc10db000           4K USR ro                 x  pte
0xffffffffc10db000-0xffffffffc10dc000           4K USR ro                 x  pte
0xffffffffc10dc000-0xffffffffc10dd000           4K USR ro                 x  pte
0xffffffffc10dd000-0xffffffffc10e2000          20K USR ro                 x  pte
0xffffffffc10e2000-0xffffffffc10e3000           4K USR ro                 x  pte
0xffffffffc10e3000-0xffffffffc10f8000          84K USR ro                 x  pte
0xffffffffc10f8000-0xffffffffc10fb000          12K USR ro                 x  pte
0xffffffffc10fb000-0xffffffffc1101000          24K USR ro                 x  pte
0xffffffffc1101000-0xffffffffc1102000           4K USR ro                 x  pte
0xffffffffc1102000-0xffffffffc1106000          16K USR ro                 x  pte
0xffffffffc1106000-0xffffffffc1107000           4K USR ro                 x  pte
0xffffffffc1107000-0xffffffffc1108000           4K USR ro                 x  pte
0xffffffffc1108000-0xffffffffc1109000           4K USR ro                 x  pte
0xffffffffc1109000-0xffffffffc1113000          40K USR ro                 x  pte
0xffffffffc1113000-0xffffffffc1114000           4K USR ro                 x  pte
0xffffffffc1114000-0xffffffffc1117000          12K USR ro                 x  pte
0xffffffffc1117000-0xffffffffc1118000           4K USR ro                 x  pte
0xffffffffc1118000-0xffffffffc1122000          40K USR ro                 x  pte
0xffffffffc1122000-0xffffffffc1124000           8K USR ro                 x  pte
0xffffffffc1124000-0xffffffffc1143000         124K USR ro                 x  pte
0xffffffffc1143000-0xffffffffc1145000           8K USR ro                 x  pte
0xffffffffc1145000-0xffffffffc1166000         132K USR ro                 x  pte
0xffffffffc1166000-0xffffffffc1168000           8K USR ro                 x  pte
0xffffffffc1168000-0xffffffffc116d000          20K USR ro                 x  pte
0xffffffffc116d000-0xffffffffc116e000           4K USR ro                 x  pte
0xffffffffc116e000-0xffffffffc116f000           4K USR ro                 x  pte
0xffffffffc116f000-0xffffffffc1170000           4K USR ro                 x  pte
0xffffffffc1170000-0xffffffffc1174000          16K USR ro                 x  pte
0xffffffffc1174000-0xffffffffc1177000          12K USR ro                 x  pte
0xffffffffc1177000-0xffffffffc117a000          12K USR ro                 x  pte
0xffffffffc117a000-0xffffffffc117e000          16K USR ro                 x  pte
0xffffffffc117e000-0xffffffffc118d000          60K USR ro                 x  pte
0xffffffffc118d000-0xffffffffc118e000           4K USR ro                 x  pte
0xffffffffc118e000-0xffffffffc1190000           8K USR ro                 x  pte
0xffffffffc1190000-0xffffffffc1191000           4K USR ro                 x  pte
0xffffffffc1191000-0xffffffffc1192000           4K USR ro                 x  pte
0xffffffffc1192000-0xffffffffc1193000           4K USR ro                 x  pte
0xffffffffc1193000-0xffffffffc1194000           4K USR ro                 x  pte
0xffffffffc1194000-0xffffffffc1197000          12K USR ro                 x  pte
0xffffffffc1197000-0xffffffffc1198000           4K USR ro                 x  pte
0xffffffffc1198000-0xffffffffc1199000           4K USR ro                 x  pte
0xffffffffc1199000-0xffffffffc11a0000          28K USR ro                 x  pte
0xffffffffc11a0000-0xffffffffc11a1000           4K USR ro                 x  pte
0xffffffffc11a1000-0xffffffffc11ab000          40K USR ro                 x  pte
0xffffffffc11ab000-0xffffffffc11ac000           4K USR ro                 x  pte
0xffffffffc11ac000-0xffffffffc11af000          12K USR ro                 x  pte
0xffffffffc11af000-0xffffffffc11b1000           8K USR ro                 x  pte
0xffffffffc11b1000-0xffffffffc11b4000          12K USR ro                 x  pte
0xffffffffc11b4000-0xffffffffc11b5000           4K USR ro                 x  pte
0xffffffffc11b5000-0xffffffffc11b9000          16K USR ro                 x  pte
0xffffffffc11b9000-0xffffffffc11bb000           8K USR ro                 x  pte
0xffffffffc11bb000-0xffffffffc11bd000           8K USR ro                 x  pte
0xffffffffc11bd000-0xffffffffc11be000           4K USR ro                 x  pte
0xffffffffc11be000-0xffffffffc11c2000          16K USR ro                 x  pte
0xffffffffc11c2000-0xffffffffc11c6000          16K USR ro                 x  pte
0xffffffffc11c6000-0xffffffffc11c7000           4K USR ro                 x  pte
0xffffffffc11c7000-0xffffffffc11c8000           4K USR ro                 x  pte
0xffffffffc11c8000-0xffffffffc11c9000           4K USR ro                 x  pte
0xffffffffc11c9000-0xffffffffc11ca000           4K USR ro                 x  pte
0xffffffffc11ca000-0xffffffffc11cf000          20K USR ro                 x  pte
0xffffffffc11cf000-0xffffffffc11d0000           4K USR ro                 x  pte
0xffffffffc11d0000-0xffffffffc11d3000          12K USR ro                 x  pte
0xffffffffc11d3000-0xffffffffc11d5000           8K USR ro                 x  pte
0xffffffffc11d5000-0xffffffffc11d6000           4K USR ro                 x  pte
0xffffffffc11d6000-0xffffffffc11d8000           8K USR ro                 x  pte
0xffffffffc11d8000-0xffffffffc11d9000           4K USR ro                 x  pte
0xffffffffc11d9000-0xffffffffc11da000           4K USR ro                 x  pte
0xffffffffc11da000-0xffffffffc11e0000          24K USR ro                 x  pte
0xffffffffc11e0000-0xffffffffc11e3000          12K USR ro                 x  pte
0xffffffffc11e3000-0xffffffffc11e9000          24K USR ro                 x  pte
0xffffffffc11e9000-0xffffffffc11ea000           4K USR ro                 x  pte
0xffffffffc11ea000-0xffffffffc11eb000           4K USR ro                 x  pte
0xffffffffc11eb000-0xffffffffc11f1000          24K USR ro                 x  pte
0xffffffffc11f1000-0xffffffffc11f7000          24K USR ro                 x  pte
0xffffffffc11f7000-0xffffffffc11f8000           4K USR ro                 x  pte
0xffffffffc11f8000-0xffffffffc11fa000           8K USR ro                 x  pte
0xffffffffc11fa000-0xffffffffc11fb000           4K USR ro                 x  pte
0xffffffffc11fb000-0xffffffffc11fd000           8K USR ro                 x  pte
0xffffffffc11fd000-0xffffffffc11fe000           4K USR ro                 x  pte
0xffffffffc11fe000-0xffffffffc1200000           8K USR ro                 x  pte
0xffffffffc1200000-0xffffffffc1201000           4K USR ro                 x  pte
0xffffffffc1201000-0xffffffffc1203000           8K USR ro                 x  pte
0xffffffffc1203000-0xffffffffc1207000          16K USR ro                 x  pte
0xffffffffc1207000-0xffffffffc1209000           8K USR ro                 x  pte
0xffffffffc1209000-0xffffffffc120a000           4K USR ro                 x  pte
0xffffffffc120a000-0xffffffffc120b000           4K USR ro                 x  pte
0xffffffffc120b000-0xffffffffc120c000           4K USR ro                 x  pte
0xffffffffc120c000-0xffffffffc120e000           8K USR ro                 x  pte
0xffffffffc120e000-0xffffffffc1223000          84K USR ro                 x  pte
0xffffffffc1223000-0xffffffffc1228000          20K USR ro                 x  pte
0xffffffffc1228000-0xffffffffc1229000           4K USR ro                 x  pte
0xffffffffc1229000-0xffffffffc123b000          72K USR ro                 x  pte
0xffffffffc123b000-0xffffffffc123d000           8K USR ro                 x  pte
0xffffffffc123d000-0xffffffffc123e000           4K USR ro                 x  pte
0xffffffffc123e000-0xffffffffc123f000           4K USR ro                 x  pte
0xffffffffc123f000-0xffffffffc1242000          12K USR ro                 x  pte
0xffffffffc1242000-0xffffffffc1244000           8K USR ro                 x  pte
0xffffffffc1244000-0xffffffffc1245000           4K USR ro                 x  pte
0xffffffffc1245000-0xffffffffc1247000           8K USR ro                 x  pte
0xffffffffc1247000-0xffffffffc1248000           4K USR ro                 x  pte
0xffffffffc1248000-0xffffffffc1252000          40K USR ro                 x  pte
0xffffffffc1252000-0xffffffffc1253000           4K USR ro                 x  pte
0xffffffffc1253000-0xffffffffc1254000           4K USR ro                 x  pte
0xffffffffc1254000-0xffffffffc1255000           4K USR ro                 x  pte
0xffffffffc1255000-0xffffffffc1258000          12K USR ro                 x  pte
0xffffffffc1258000-0xffffffffc1259000           4K USR ro                 x  pte
0xffffffffc1259000-0xffffffffc1268000          60K USR ro                 x  pte
0xffffffffc1268000-0xffffffffc126e000          24K USR ro                 x  pte
0xffffffffc126e000-0xffffffffc126f000           4K USR ro                 x  pte
0xffffffffc126f000-0xffffffffc1272000          12K USR ro                 x  pte
0xffffffffc1272000-0xffffffffc1273000           4K USR ro                 x  pte
0xffffffffc1273000-0xffffffffc1274000           4K USR ro                 x  pte
0xffffffffc1274000-0xffffffffc127a000          24K USR ro                 x  pte
0xffffffffc127a000-0xffffffffc127c000           8K USR ro                 x  pte
0xffffffffc127c000-0xffffffffc127d000           4K USR ro                 x  pte
0xffffffffc127d000-0xffffffffc1285000          32K USR ro                 x  pte
0xffffffffc1285000-0xffffffffc1286000           4K USR ro                 x  pte
0xffffffffc1286000-0xffffffffc1287000           4K USR ro                 x  pte
0xffffffffc1287000-0xffffffffc1288000           4K USR ro                 x  pte
0xffffffffc1288000-0xffffffffc1289000           4K USR ro                 x  pte
0xffffffffc1289000-0xffffffffc128d000          16K USR ro                 x  pte
0xffffffffc128d000-0xffffffffc128f000           8K USR ro                 x  pte
0xffffffffc128f000-0xffffffffc1291000           8K USR ro                 x  pte
0xffffffffc1291000-0xffffffffc1292000           4K USR ro                 x  pte
0xffffffffc1292000-0xffffffffc129f000          52K USR ro                 x  pte
0xffffffffc129f000-0xffffffffc12a0000           4K USR ro                 x  pte
0xffffffffc12a0000-0xffffffffc12a1000           4K USR ro                 x  pte
0xffffffffc12a1000-0xffffffffc12a3000           8K USR ro                 x  pte
0xffffffffc12a3000-0xffffffffc12a5000           8K USR ro                 x  pte
0xffffffffc12a5000-0xffffffffc12a6000           4K USR ro                 x  pte
0xffffffffc12a6000-0xffffffffc12a9000          12K USR ro                 x  pte
0xffffffffc12a9000-0xffffffffc12ab000           8K USR ro                 x  pte
0xffffffffc12ab000-0xffffffffc12c3000          96K USR ro                 x  pte
0xffffffffc12c3000-0xffffffffc12c6000          12K USR ro                 x  pte
0xffffffffc12c6000-0xffffffffc12cc000          24K USR ro                 x  pte
0xffffffffc12cc000-0xffffffffc12cf000          12K USR ro                 x  pte
0xffffffffc12cf000-0xffffffffc12d1000           8K USR ro                 x  pte
0xffffffffc12d1000-0xffffffffc12d2000           4K USR ro                 x  pte
0xffffffffc12d2000-0xffffffffc12d3000           4K USR ro                 x  pte
0xffffffffc12d3000-0xffffffffc12d7000          16K USR ro                 x  pte
0xffffffffc12d7000-0xffffffffc12d8000           4K USR ro                 x  pte
0xffffffffc12d8000-0xffffffffc12da000           8K USR ro                 x  pte
0xffffffffc12da000-0xffffffffc12dc000           8K USR ro                 x  pte
0xffffffffc12dc000-0xffffffffc12e1000          20K USR ro                 x  pte
0xffffffffc12e1000-0xffffffffc12e3000           8K USR ro                 x  pte
0xffffffffc12e3000-0xffffffffc12e4000           4K USR ro                 x  pte
0xffffffffc12e4000-0xffffffffc12e5000           4K USR ro                 x  pte
0xffffffffc12e5000-0xffffffffc12e6000           4K USR ro                 x  pte
0xffffffffc12e6000-0xffffffffc12e7000           4K USR ro                 x  pte
0xffffffffc12e7000-0xffffffffc12ed000          24K USR ro                 x  pte
0xffffffffc12ed000-0xffffffffc12ee000           4K USR ro                 x  pte
0xffffffffc12ee000-0xffffffffc12f9000          44K USR ro                 x  pte
0xffffffffc12f9000-0xffffffffc12fa000           4K USR ro                 x  pte
0xffffffffc12fa000-0xffffffffc12fe000          16K USR ro                 x  pte
0xffffffffc12fe000-0xffffffffc1300000           8K USR ro                 x  pte
0xffffffffc1300000-0xffffffffc1302000           8K USR ro                 x  pte
0xffffffffc1302000-0xffffffffc130d000          44K USR ro                 x  pte
0xffffffffc130d000-0xffffffffc130e000           4K USR ro                 x  pte
0xffffffffc130e000-0xffffffffc130f000           4K USR ro                 x  pte
0xffffffffc130f000-0xffffffffc1312000          12K USR ro                 x  pte
0xffffffffc1312000-0xffffffffc1314000           8K USR ro                 x  pte
0xffffffffc1314000-0xffffffffc1318000          16K USR ro                 x  pte
0xffffffffc1318000-0xffffffffc131b000          12K USR ro                 x  pte
0xffffffffc131b000-0xffffffffc131c000           4K USR ro                 x  pte
0xffffffffc131c000-0xffffffffc1324000          32K USR ro                 x  pte
0xffffffffc1324000-0xffffffffc1329000          20K USR ro                 x  pte
0xffffffffc1329000-0xffffffffc132d000          16K USR ro                 x  pte
0xffffffffc132d000-0xffffffffc132e000           4K USR ro                 x  pte
0xffffffffc132e000-0xffffffffc132f000           4K USR ro                 x  pte
0xffffffffc132f000-0xffffffffc1332000          12K USR ro                 x  pte
0xffffffffc1332000-0xffffffffc1333000           4K USR ro                 x  pte
0xffffffffc1333000-0xffffffffc1334000           4K USR ro                 x  pte
0xffffffffc1334000-0xffffffffc1335000           4K USR ro                 x  pte
0xffffffffc1335000-0xffffffffc1337000           8K USR ro                 x  pte
0xffffffffc1337000-0xffffffffc133b000          16K USR ro                 x  pte
0xffffffffc133b000-0xffffffffc133c000           4K USR ro                 x  pte
0xffffffffc133c000-0xffffffffc1340000          16K USR ro                 x  pte
0xffffffffc1340000-0xffffffffc1342000           8K USR ro                 x  pte
0xffffffffc1342000-0xffffffffc1343000           4K USR ro                 x  pte
0xffffffffc1343000-0xffffffffc1348000          20K USR ro                 x  pte
0xffffffffc1348000-0xffffffffc134c000          16K USR ro                 x  pte
0xffffffffc134c000-0xffffffffc1350000          16K USR ro                 x  pte
0xffffffffc1350000-0xffffffffc1351000           4K USR ro                 x  pte
0xffffffffc1351000-0xffffffffc1353000           8K USR ro                 x  pte
0xffffffffc1353000-0xffffffffc1358000          20K USR ro                 x  pte
0xffffffffc1358000-0xffffffffc135e000          24K USR ro                 x  pte
0xffffffffc135e000-0xffffffffc135f000           4K USR ro                 x  pte
0xffffffffc135f000-0xffffffffc1361000           8K USR ro                 x  pte
0xffffffffc1361000-0xffffffffc1366000          20K USR ro                 x  pte
0xffffffffc1366000-0xffffffffc1367000           4K USR ro                 x  pte
0xffffffffc1367000-0xffffffffc1368000           4K USR ro                 x  pte
0xffffffffc1368000-0xffffffffc136a000           8K USR ro                 x  pte
0xffffffffc136a000-0xffffffffc1374000          40K USR ro                 x  pte
0xffffffffc1374000-0xffffffffc1376000           8K USR ro                 x  pte
0xffffffffc1376000-0xffffffffc1379000          12K USR ro                 x  pte
0xffffffffc1379000-0xffffffffc137f000          24K USR ro                 x  pte
0xffffffffc137f000-0xffffffffc1380000           4K USR ro                 x  pte
0xffffffffc1380000-0xffffffffc1383000          12K USR ro                 x  pte
0xffffffffc1383000-0xffffffffc1384000           4K USR ro                 x  pte
0xffffffffc1384000-0xffffffffc1387000          12K USR ro                 x  pte
0xffffffffc1387000-0xffffffffc1389000           8K USR ro                 x  pte
0xffffffffc1389000-0xffffffffc138c000          12K USR ro                 x  pte
0xffffffffc138c000-0xffffffffc1393000          28K USR ro                 x  pte
0xffffffffc1393000-0xffffffffc1395000           8K USR ro                 x  pte
0xffffffffc1395000-0xffffffffc1398000          12K USR ro                 x  pte
0xffffffffc1398000-0xffffffffc139a000           8K USR ro                 x  pte
0xffffffffc139a000-0xffffffffc139c000           8K USR ro                 x  pte
0xffffffffc139c000-0xffffffffc139d000           4K USR ro                 x  pte
0xffffffffc139d000-0xffffffffc13a3000          24K USR ro                 x  pte
0xffffffffc13a3000-0xffffffffc13a4000           4K USR ro                 x  pte
0xffffffffc13a4000-0xffffffffc13a5000           4K USR ro                 x  pte
0xffffffffc13a5000-0xffffffffc13a6000           4K USR ro                 x  pte
0xffffffffc13a6000-0xffffffffc13a9000          12K USR ro                 x  pte
0xffffffffc13a9000-0xffffffffc13ab000           8K USR ro                 x  pte
0xffffffffc13ab000-0xffffffffc13ac000           4K USR ro                 x  pte
0xffffffffc13ac000-0xffffffffc13ae000           8K USR ro                 x  pte
0xffffffffc13ae000-0xffffffffc13b1000          12K USR ro                 x  pte
0xffffffffc13b1000-0xffffffffc13b3000           8K USR ro                 x  pte
0xffffffffc13b3000-0xffffffffc13b5000           8K USR ro                 x  pte
0xffffffffc13b5000-0xffffffffc13b9000          16K USR ro                 x  pte
0xffffffffc13b9000-0xffffffffc13ba000           4K USR ro                 x  pte
0xffffffffc13ba000-0xffffffffc13bf000          20K USR ro                 x  pte
0xffffffffc13bf000-0xffffffffc13ce000          60K USR ro                 x  pte
0xffffffffc13ce000-0xffffffffc13cf000           4K USR ro                 x  pte
0xffffffffc13cf000-0xffffffffc13d0000           4K USR ro                 x  pte
0xffffffffc13d0000-0xffffffffc13d2000           8K USR ro                 x  pte
0xffffffffc13d2000-0xffffffffc13d3000           4K USR ro                 x  pte
0xffffffffc13d3000-0xffffffffc13db000          32K USR ro                 x  pte
0xffffffffc13db000-0xffffffffc13dc000           4K USR ro                 x  pte
0xffffffffc13dc000-0xffffffffc13dd000           4K USR ro                 x  pte
0xffffffffc13dd000-0xffffffffc13de000           4K USR ro                 x  pte
0xffffffffc13de000-0xffffffffc13e0000           8K USR ro                 x  pte
0xffffffffc13e0000-0xffffffffc13e3000          12K USR ro                 x  pte
0xffffffffc13e3000-0xffffffffc13e5000           8K USR ro                 x  pte
0xffffffffc13e5000-0xffffffffc13e8000          12K USR ro                 x  pte
0xffffffffc13e8000-0xffffffffc13ea000           8K USR ro                 x  pte
0xffffffffc13ea000-0xffffffffc13ec000           8K USR ro                 x  pte
0xffffffffc13ec000-0xffffffffc13ed000           4K USR ro                 x  pte
0xffffffffc13ed000-0xffffffffc13ef000           8K USR ro                 x  pte
0xffffffffc13ef000-0xffffffffc13f3000          16K USR ro                 x  pte
0xffffffffc13f3000-0xffffffffc13f4000           4K USR ro                 x  pte
0xffffffffc13f4000-0xffffffffc13f6000           8K USR ro                 x  pte
0xffffffffc13f6000-0xffffffffc13f7000           4K USR ro                 x  pte
0xffffffffc13f7000-0xffffffffc13fa000          12K USR ro                 x  pte
0xffffffffc13fa000-0xffffffffc13fb000           4K USR ro                 x  pte
0xffffffffc13fb000-0xffffffffc13fd000           8K USR ro                 x  pte
0xffffffffc13fd000-0xffffffffc13fe000           4K USR ro                 x  pte
0xffffffffc13fe000-0xffffffffc1403000          20K USR ro                 x  pte
0xffffffffc1403000-0xffffffffc1404000           4K USR ro                 x  pte
0xffffffffc1404000-0xffffffffc1406000           8K USR ro                 x  pte
0xffffffffc1406000-0xffffffffc1408000           8K USR ro                 x  pte
0xffffffffc1408000-0xffffffffc1411000          36K USR ro                 x  pte
0xffffffffc1411000-0xffffffffc1412000           4K USR ro                 x  pte
0xffffffffc1412000-0xffffffffc1413000           4K USR ro                 x  pte
0xffffffffc1413000-0xffffffffc1415000           8K USR ro                 x  pte
0xffffffffc1415000-0xffffffffc1416000           4K USR ro                 x  pte
0xffffffffc1416000-0xffffffffc1419000          12K USR ro                 x  pte
0xffffffffc1419000-0xffffffffc141e000          20K USR ro                 x  pte
0xffffffffc141e000-0xffffffffc1425000          28K USR ro                 x  pte
0xffffffffc1425000-0xffffffffc1426000           4K USR ro                 x  pte
0xffffffffc1426000-0xffffffffc1428000           8K USR ro                 x  pte
0xffffffffc1428000-0xffffffffc142f000          28K USR ro                 x  pte
0xffffffffc142f000-0xffffffffc1430000           4K USR ro                 x  pte
0xffffffffc1430000-0xffffffffc1437000          28K USR ro                 x  pte
0xffffffffc1437000-0xffffffffc1438000           4K USR ro                 x  pte
0xffffffffc1438000-0xffffffffc1439000           4K USR ro                 x  pte
0xffffffffc1439000-0xffffffffc143d000          16K USR ro                 x  pte
0xffffffffc143d000-0xffffffffc143e000           4K USR ro                 x  pte
0xffffffffc143e000-0xffffffffc143f000           4K USR ro                 x  pte
0xffffffffc143f000-0xffffffffc1440000           4K USR ro                 x  pte
0xffffffffc1440000-0xffffffffc1443000          12K USR ro                 x  pte
0xffffffffc1443000-0xffffffffc1445000           8K USR ro                 x  pte
0xffffffffc1445000-0xffffffffc1446000           4K USR ro                 x  pte
0xffffffffc1446000-0xffffffffc1448000           8K USR ro                 x  pte
0xffffffffc1448000-0xffffffffc144d000          20K USR ro                 x  pte
0xffffffffc144d000-0xffffffffc144f000           8K USR ro                 x  pte
0xffffffffc144f000-0xffffffffc1451000           8K USR ro                 x  pte
0xffffffffc1451000-0xffffffffc1452000           4K USR ro                 x  pte
0xffffffffc1452000-0xffffffffc1458000          24K USR ro                 x  pte
0xffffffffc1458000-0xffffffffc1459000           4K USR ro                 x  pte
0xffffffffc1459000-0xffffffffc145a000           4K USR ro                 x  pte
0xffffffffc145a000-0xffffffffc145c000           8K USR ro                 x  pte
0xffffffffc145c000-0xffffffffc145d000           4K USR ro                 x  pte
0xffffffffc145d000-0xffffffffc1462000          20K USR ro                 x  pte
0xffffffffc1462000-0xffffffffc1463000           4K USR ro                 x  pte
0xffffffffc1463000-0xffffffffc1464000           4K USR ro                 x  pte
0xffffffffc1464000-0xffffffffc1465000           4K USR ro                 x  pte
0xffffffffc1465000-0xffffffffc1467000           8K USR ro                 x  pte
0xffffffffc1467000-0xffffffffc1468000           4K USR ro                 x  pte
0xffffffffc1468000-0xffffffffc1469000           4K USR ro                 x  pte
0xffffffffc1469000-0xffffffffc146a000           4K USR ro                 x  pte
0xffffffffc146a000-0xffffffffc146b000           4K USR ro                 x  pte
0xffffffffc146b000-0xffffffffc1470000          20K USR ro                 x  pte
0xffffffffc1470000-0xffffffffc1471000           4K USR ro                 x  pte
0xffffffffc1471000-0xffffffffc1473000           8K USR ro                 x  pte
0xffffffffc1473000-0xffffffffc1477000          16K USR ro                 x  pte
0xffffffffc1477000-0xffffffffc147a000          12K USR ro                 x  pte
0xffffffffc147a000-0xffffffffc147b000           4K USR ro                 x  pte
0xffffffffc147b000-0xffffffffc147c000           4K USR ro                 x  pte
0xffffffffc147c000-0xffffffffc147d000           4K USR ro                 x  pte
0xffffffffc147d000-0xffffffffc1482000          20K USR ro                 x  pte
0xffffffffc1482000-0xffffffffc1484000           8K USR ro                 x  pte
0xffffffffc1484000-0xffffffffc1485000           4K USR ro                 x  pte
0xffffffffc1485000-0xffffffffc1486000           4K USR ro                 x  pte
0xffffffffc1486000-0xffffffffc1489000          12K USR ro                 x  pte
0xffffffffc1489000-0xffffffffc148a000           4K USR ro                 x  pte
0xffffffffc148a000-0xffffffffc148b000           4K USR ro                 x  pte
0xffffffffc148b000-0xffffffffc148c000           4K USR ro                 x  pte
0xffffffffc148c000-0xffffffffc1499000          52K USR ro                 x  pte
0xffffffffc1499000-0xffffffffc149a000           4K USR ro                 x  pte
0xffffffffc149a000-0xffffffffc14a2000          32K USR ro                 x  pte
0xffffffffc14a2000-0xffffffffc14a5000          12K USR ro                 x  pte
0xffffffffc14a5000-0xffffffffc14a8000          12K USR ro                 x  pte
0xffffffffc14a8000-0xffffffffc14b0000          32K USR ro                 x  pte
0xffffffffc14b0000-0xffffffffc14b1000           4K USR ro                 x  pte
0xffffffffc14b1000-0xffffffffc14b2000           4K USR ro                 x  pte
0xffffffffc14b2000-0xffffffffc14c2000          64K USR ro                 x  pte
0xffffffffc14c2000-0xffffffffc14c3000           4K USR ro                 x  pte
0xffffffffc14c3000-0xffffffffc14c5000           8K USR ro                 x  pte
0xffffffffc14c5000-0xffffffffc14cb000          24K USR ro                 x  pte
0xffffffffc14cb000-0xffffffffc14cc000           4K USR ro                 x  pte
0xffffffffc14cc000-0xffffffffc14cf000          12K USR ro                 x  pte
0xffffffffc14cf000-0xffffffffc14d0000           4K USR ro                 x  pte
0xffffffffc14d0000-0xffffffffc14d1000           4K USR ro                 x  pte
0xffffffffc14d1000-0xffffffffc14d3000           8K USR ro                 x  pte
0xffffffffc14d3000-0xffffffffc14d4000           4K USR ro                 x  pte
0xffffffffc14d4000-0xffffffffc14d6000           8K USR ro                 x  pte
0xffffffffc14d6000-0xffffffffc14d7000           4K USR ro                 x  pte
0xffffffffc14d7000-0xffffffffc14db000          16K USR ro                 x  pte
0xffffffffc14db000-0xffffffffc14dc000           4K USR ro                 x  pte
0xffffffffc14dc000-0xffffffffc14de000           8K USR ro                 x  pte
0xffffffffc14de000-0xffffffffc14df000           4K USR ro                 x  pte
0xffffffffc14df000-0xffffffffc14e3000          16K USR ro                 x  pte
0xffffffffc14e3000-0xffffffffc14e7000          16K USR ro                 x  pte
0xffffffffc14e7000-0xffffffffc14e8000           4K USR ro                 x  pte
0xffffffffc14e8000-0xffffffffc14e9000           4K USR ro                 x  pte
0xffffffffc14e9000-0xffffffffc14f1000          32K USR ro                 x  pte
0xffffffffc14f1000-0xffffffffc14f2000           4K USR ro                 x  pte
0xffffffffc14f2000-0xffffffffc14f6000          16K USR ro                 x  pte
0xffffffffc14f6000-0xffffffffc14f7000           4K USR ro                 x  pte
0xffffffffc14f7000-0xffffffffc14f8000           4K USR ro                 x  pte
0xffffffffc14f8000-0xffffffffc14f9000           4K USR ro                 x  pte
0xffffffffc14f9000-0xffffffffc14fe000          20K USR ro                 x  pte
0xffffffffc14fe000-0xffffffffc1503000          20K USR ro                 x  pte
0xffffffffc1503000-0xffffffffc1508000          20K USR ro                 x  pte
0xffffffffc1508000-0xffffffffc150d000          20K USR ro                 x  pte
0xffffffffc150d000-0xffffffffc1511000          16K USR ro                 x  pte
0xffffffffc1511000-0xffffffffc1513000           8K USR ro                 x  pte
0xffffffffc1513000-0xffffffffc1514000           4K USR ro                 x  pte
0xffffffffc1514000-0xffffffffc1515000           4K USR ro                 x  pte
0xffffffffc1515000-0xffffffffc1516000           4K USR ro                 x  pte
0xffffffffc1516000-0xffffffffc151b000          20K USR ro                 x  pte
0xffffffffc151b000-0xffffffffc1520000          20K USR ro                 x  pte
0xffffffffc1520000-0xffffffffc1521000           4K USR ro                 x  pte
0xffffffffc1521000-0xffffffffc1523000           8K USR ro                 x  pte
0xffffffffc1523000-0xffffffffc1525000           8K USR ro                 x  pte
0xffffffffc1525000-0xffffffffc1526000           4K USR ro                 x  pte
0xffffffffc1526000-0xffffffffc1529000          12K USR ro                 x  pte
0xffffffffc1529000-0xffffffffc152a000           4K USR ro                 x  pte
0xffffffffc152a000-0xffffffffc152b000           4K USR ro                 x  pte
0xffffffffc152b000-0xffffffffc152e000          12K USR ro                 x  pte
0xffffffffc152e000-0xffffffffc1533000          20K USR ro                 x  pte
0xffffffffc1533000-0xffffffffc1535000           8K USR ro                 x  pte
0xffffffffc1535000-0xffffffffc1537000           8K USR ro                 x  pte
0xffffffffc1537000-0xffffffffc1538000           4K USR ro                 x  pte
0xffffffffc1538000-0xffffffffc1539000           4K USR ro                 x  pte
0xffffffffc1539000-0xffffffffc153b000           8K USR ro                 x  pte
0xffffffffc153b000-0xffffffffc153d000           8K USR ro                 x  pte
0xffffffffc153d000-0xffffffffc1541000          16K USR ro                 x  pte
0xffffffffc1541000-0xffffffffc1542000           4K USR ro                 x  pte
0xffffffffc1542000-0xffffffffc1544000           8K USR ro                 x  pte
0xffffffffc1544000-0xffffffffc1545000           4K USR ro                 x  pte
0xffffffffc1545000-0xffffffffc1547000           8K USR ro                 x  pte
0xffffffffc1547000-0xffffffffc1551000          40K USR ro                 x  pte
0xffffffffc1551000-0xffffffffc1552000           4K USR ro                 x  pte
0xffffffffc1552000-0xffffffffc1554000           8K USR ro                 x  pte
0xffffffffc1554000-0xffffffffc1555000           4K USR ro                 x  pte
0xffffffffc1555000-0xffffffffc155d000          32K USR ro                 x  pte
0xffffffffc155d000-0xffffffffc155f000           8K USR ro                 x  pte
0xffffffffc155f000-0xffffffffc1563000          16K USR ro                 x  pte
0xffffffffc1563000-0xffffffffc1566000          12K USR ro                 x  pte
0xffffffffc1566000-0xffffffffc1567000           4K USR ro                 x  pte
0xffffffffc1567000-0xffffffffc1568000           4K USR ro                 x  pte
0xffffffffc1568000-0xffffffffc156a000           8K USR ro                 x  pte
0xffffffffc156a000-0xffffffffc156b000           4K USR ro                 x  pte
0xffffffffc156b000-0xffffffffc1572000          28K USR ro                 x  pte
0xffffffffc1572000-0xffffffffc1573000           4K USR ro                 x  pte
0xffffffffc1573000-0xffffffffc1576000          12K USR ro                 x  pte
0xffffffffc1576000-0xffffffffc1577000           4K USR ro                 x  pte
0xffffffffc1577000-0xffffffffc1578000           4K USR ro                 x  pte
0xffffffffc1578000-0xffffffffc1579000           4K USR ro                 x  pte
0xffffffffc1579000-0xffffffffc157a000           4K USR ro                 x  pte
0xffffffffc157a000-0xffffffffc157b000           4K USR ro                 x  pte
0xffffffffc157b000-0xffffffffc157d000           8K USR ro                 x  pte
0xffffffffc157d000-0xffffffffc157f000           8K USR ro                 x  pte
0xffffffffc157f000-0xffffffffc1582000          12K USR ro                 x  pte
0xffffffffc1582000-0xffffffffc1584000           8K USR ro                 x  pte
0xffffffffc1584000-0xffffffffc1586000           8K USR ro                 x  pte
0xffffffffc1586000-0xffffffffc1588000           8K USR ro                 x  pte
0xffffffffc1588000-0xffffffffc1589000           4K USR ro                 x  pte
0xffffffffc1589000-0xffffffffc158d000          16K USR ro                 x  pte
0xffffffffc158d000-0xffffffffc158f000           8K USR ro                 x  pte
0xffffffffc158f000-0xffffffffc1593000          16K USR ro                 x  pte
0xffffffffc1593000-0xffffffffc1594000           4K USR ro                 x  pte
0xffffffffc1594000-0xffffffffc1595000           4K USR ro                 x  pte
0xffffffffc1595000-0xffffffffc1596000           4K USR ro                 x  pte
0xffffffffc1596000-0xffffffffc1599000          12K USR ro                 x  pte
0xffffffffc1599000-0xffffffffc15ab000          72K USR ro                 x  pte
0xffffffffc15ab000-0xffffffffc15ac000           4K USR ro                 x  pte
0xffffffffc15ac000-0xffffffffc15b0000          16K USR ro                 x  pte
0xffffffffc15b0000-0xffffffffc15b1000           4K USR ro                 x  pte
0xffffffffc15b1000-0xffffffffc15b7000          24K USR ro                 x  pte
0xffffffffc15b7000-0xffffffffc1600000         292K USR RW                 NX pte
0xffffffffc1600000-0xffffffffc179c000        1648K USR ro                 NX pte
0xffffffffc179c000-0xffffffffc1800000         400K USR RW                 NX pte
0xffffffffc1800000-0xffffffffc1802000           8K USR RW                 x  pte
0xffffffffc1802000-0xffffffffc1803000           4K USR RW                 x  pte
0xffffffffc1803000-0xffffffffc1805000           8K USR RW                 x  pte
0xffffffffc1805000-0xffffffffc180b000          24K USR RW                 x  pte
0xffffffffc180b000-0xffffffffc180f000          16K USR ro                 x  pte
0xffffffffc180f000-0xffffffffc1810000           4K USR RW                 x  pte
0xffffffffc1810000-0xffffffffc1812000           8K USR ro                 x  pte
0xffffffffc1812000-0xffffffffc1813000           4K USR RW                 x  pte
0xffffffffc1813000-0xffffffffc1815000           8K USR RW                 x  pte
0xffffffffc1815000-0xffffffffc1816000           4K USR RW                 x  pte
0xffffffffc1816000-0xffffffffc1818000           8K USR RW                 x  pte
0xffffffffc1818000-0xffffffffc181a000           8K USR RW                 x  pte
0xffffffffc181a000-0xffffffffc181d000          12K USR RW                 x  pte
0xffffffffc181d000-0xffffffffc181e000           4K USR RW                 x  pte
0xffffffffc181e000-0xffffffffc1832000          80K USR RW                 x  pte
0xffffffffc1832000-0xffffffffc1834000           8K USR RW                 x  pte
0xffffffffc1834000-0xffffffffc183a000          24K USR RW                 x  pte
0xffffffffc183a000-0xffffffffc183d000          12K USR RW                 x  pte
0xffffffffc183d000-0xffffffffc1841000          16K USR RW                 x  pte
0xffffffffc1841000-0xffffffffc1843000           8K USR RW                 x  pte
0xffffffffc1843000-0xffffffffc1845000           8K USR RW                 x  pte
0xffffffffc1845000-0xffffffffc1846000           4K USR RW                 x  pte
0xffffffffc1846000-0xffffffffc1849000          12K USR RW                 x  pte
0xffffffffc1849000-0xffffffffc184a000           4K USR RW                 x  pte
0xffffffffc184a000-0xffffffffc184f000          20K USR RW                 x  pte
0xffffffffc184f000-0xffffffffc1850000           4K USR RW                 x  pte
0xffffffffc1850000-0xffffffffc1885000         212K USR RW                 x  pte
0xffffffffc1885000-0xffffffffc1938000         716K USR RW                 NX pte
0xffffffffc1938000-0xffffffffc193a000           8K USR RW                 x  pte
0xffffffffc193a000-0xffffffffc193b000           4K USR ro                 x  pte
0xffffffffc193b000-0xffffffffc193d000           8K USR RW                 x  pte
0xffffffffc193d000-0xffffffffc193e000           4K USR ro                 x  pte
0xffffffffc193e000-0xffffffffc1948000          40K USR RW                 x  pte
0xffffffffc1948000-0xffffffffc194a000           8K USR RW                 x  pte
0xffffffffc194a000-0xffffffffc194c000           8K USR RW                 x  pte
0xffffffffc194c000-0xffffffffc196c000         128K USR RW                 x  pte
0xffffffffc196c000-0xffffffffc196d000           4K USR RW                 x  pte
0xffffffffc196d000-0xffffffffc1970000          12K USR RW                 x  pte
0xffffffffc1970000-0xffffffffc1971000           4K USR RW                 x  pte
0xffffffffc1971000-0xffffffffc1972000           4K USR RW                 x  pte
0xffffffffc1972000-0xffffffffc1973000           4K USR RW                 x  pte
0xffffffffc1973000-0xffffffffc1975000           8K USR RW                 x  pte
0xffffffffc1975000-0xffffffffc1976000           4K USR RW                 x  pte
0xffffffffc1976000-0xffffffffc1977000           4K USR RW                 x  pte
0xffffffffc1977000-0xffffffffc197b000          16K USR RW                 x  pte
0xffffffffc197b000-0xffffffffc19b9000         248K USR RW                 x  pte
0xffffffffc19b9000-0xffffffffc19c0000          28K USR RW                 x  pte
0xffffffffc19c0000-0xffffffffc19df000         124K USR RW                 x  pte
0xffffffffc19df000-0xffffffffc19e8000          36K USR RW                 x  pte
0xffffffffc19e8000-0xffffffffc19f1000          36K USR RW                 x  pte
0xffffffffc19f1000-0xffffffffc19f2000           4K USR RW                 x  pte
0xffffffffc19f2000-0xffffffffc19f3000           4K USR RW                 x  pte
0xffffffffc19f3000-0xffffffffc19f5000           8K USR RW                 x  pte
0xffffffffc19f5000-0xffffffffc19f8000          12K USR RW                 x  pte
0xffffffffc19f8000-0xffffffffc1a0a000          72K USR RW                 x  pte
0xffffffffc1a0a000-0xffffffffc1a0f000          20K USR RW                 x  pte
0xffffffffc1a0f000-0xffffffffc1a1c000          52K USR RW                 x  pte
0xffffffffc1a1c000-0xffffffffc1a1d000           4K USR RW                 x  pte
0xffffffffc1a1d000-0xffffffffc1aaa000         564K USR RW                 x  pte
0xffffffffc1aaa000-0xffffffffc1aae000          16K USR ro                 x  pte
0xffffffffc1aae000-0xffffffffc1b34000         536K USR RW                 x  pte
0xffffffffc1b34000-0xffffffffc1e3d000        3108K USR RW                 x  pte
0xffffffffc1e3d000-0xffffffffcfc93000      227672K USR RW                 NX pte
0xffffffffcfc93000-0xffffffffe0000000      265652K USR RW                 x  pte
0xffffffffe0000000-0xffffffffe0001000           4K USR ro                 x  pte
0xffffffffe0001000-0xffffffffe0002000           4K USR ro                 NX pte
0xffffffffe0002000-0xffffffffe0004000           8K USR RW                 NX pte
0xffffffffe0004000-0xffffffffe0008000          16K                           pte
0xffffffffe0008000-0xffffffffe0009000           4K USR ro                 x  pte
0xffffffffe0009000-0xffffffffe000a000           4K USR ro                 NX pte
0xffffffffe000a000-0xffffffffe000c000           8K USR RW                 NX pte
0xffffffffe000c000-0xffffffffe0070000         400K                           pte
0xffffffffe0070000-0xffffffffe024c000        1904K USR RW                 x  pte
0xffffffffe024c000-0xffffffffe024e000           8K USR RW                 x  pte
0xffffffffe024e000-0xffffffffe0353000        1044K USR ro                 x  pte
0xffffffffe0353000-0xffffffffe0400000         692K USR RW                 x  pte
0xffffffffe0400000-0xffffffffff000000         492M                           pmd
---[ End Modules ]---
0xffffffffff000000-0xffffffffff400000           4M                           pmd
0xffffffffff400000-0xffffffffff579000        1508K                           pte
0xffffffffff579000-0xffffffffff57a000           4K USR RW                 NX pte
0xffffffffff57a000-0xffffffffff5ff000         532K                           pte
0xffffffffff5ff000-0xffffffffff601000           8K USR ro             GLB NX pte
0xffffffffff601000-0xffffffffff800000        2044K                           pte
0xffffffffff800000-0x0000000000000000           8M                           pmd
# poweroff

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--azLHFNyN32YCQGCU--


From xen-devel-bounces@lists.xen.org Thu May 10 15:37:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:37:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVQx-0004UX-9D; Thu, 10 May 2012 15:37:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSVQv-0004UM-CP
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:37:37 +0000
Received: from [85.158.143.35:24635] by server-2.bemta-4.messagelabs.com id
	AD/9D-17550-0C0EBAF4; Thu, 10 May 2012 15:37:36 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336664255!14904628!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13742 invoked from network); 10 May 2012 15:37:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:37:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:37:35 +0100
Message-Id: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:37:56 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartA88641C4.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartA88641C4.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

While for the "normal" case (called from blk_send_response_all())
decrementing requests_finished is correct, doing so in the parse error
case is wrong; requests_inflight needs to be decremented instead.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
     blkdev->requests_finished++;
 }
=20
-static void ioreq_release(struct ioreq *ioreq)
+static void ioreq_release(struct ioreq *ioreq, bool finish)
 {
     struct XenBlkDev *blkdev =3D ioreq->blkdev;
=20
@@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
     memset(ioreq, 0, sizeof(*ioreq));
     ioreq->blkdev =3D blkdev;
     QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
-    blkdev->requests_finished--;
+    if (finish)
+        blkdev->requests_finished--;
+    else
+        blkdev->requests_inflight--;
 }
=20
 /*
@@ -449,7 +452,7 @@ static void blk_send_response_all(struct
     while (!QLIST_EMPTY(&blkdev->finished)) {
         ioreq =3D QLIST_FIRST(&blkdev->finished);
         send_notify +=3D blk_send_response_one(ioreq);
-        ioreq_release(ioreq);
+        ioreq_release(ioreq, true);
     }
     if (send_notify) {
         xen_be_send_notify(&blkdev->xendev);
@@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
             if (blk_send_response_one(ioreq)) {
                 xen_be_send_notify(&blkdev->xendev);
             }
-            ioreq_release(ioreq);
+            ioreq_release(ioreq, false);
             continue;
         }
=20




--=__PartA88641C4.1__=
Content-Type: text/plain; name="qemu-xendisk-accounting.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-accounting.patch"

qemu/xendisk: properly update stats in ioreq_release()=0A=0AWhile for the =
"normal" case (called from blk_send_response_all())=0Adecrementing =
requests_finished is correct, doing so in the parse error=0Acase is wrong; =
requests_inflight needs to be decremented instead.=0A=0ASigned-off-by: Jan =
Beulich <jbeulich@suse.com>=0A=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=
=0A@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i=0A     =
blkdev->requests_finished++;=0A }=0A =0A-static void ioreq_release(struct =
ioreq *ioreq)=0A+static void ioreq_release(struct ioreq *ioreq, bool =
finish)=0A {=0A     struct XenBlkDev *blkdev =3D ioreq->blkdev;=0A =0A@@ =
-162,7 +162,10 @@ static void ioreq_release(struct ioreq *=0A     =
memset(ioreq, 0, sizeof(*ioreq));=0A     ioreq->blkdev =3D blkdev;=0A     =
QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);=0A-    blkdev->requests_=
finished--;=0A+    if (finish)=0A+        blkdev->requests_finished--;=0A+ =
   else=0A+        blkdev->requests_inflight--;=0A }=0A =0A /*=0A@@ -449,7 =
+452,7 @@ static void blk_send_response_all(struct=0A     while (!QLIST_EMP=
TY(&blkdev->finished)) {=0A         ioreq =3D QLIST_FIRST(&blkdev->finished=
);=0A         send_notify +=3D blk_send_response_one(ioreq);=0A-        =
ioreq_release(ioreq);=0A+        ioreq_release(ioreq, true);=0A     }=0A   =
  if (send_notify) {=0A         xen_be_send_notify(&blkdev->xendev);=0A@@ =
-505,7 +508,7 @@ static void blk_handle_requests(struct X=0A             =
if (blk_send_response_one(ioreq)) {=0A                 xen_be_send_notify(&=
blkdev->xendev);=0A             }=0A-            ioreq_release(ioreq);=0A+ =
           ioreq_release(ioreq, false);=0A             continue;=0A        =
 }=0A =0A
--=__PartA88641C4.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartA88641C4.1__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:37:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:37:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVQx-0004UX-9D; Thu, 10 May 2012 15:37:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSVQv-0004UM-CP
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:37:37 +0000
Received: from [85.158.143.35:24635] by server-2.bemta-4.messagelabs.com id
	AD/9D-17550-0C0EBAF4; Thu, 10 May 2012 15:37:36 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1336664255!14904628!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13742 invoked from network); 10 May 2012 15:37:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:37:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:37:35 +0100
Message-Id: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:37:56 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartA88641C4.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartA88641C4.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

While for the "normal" case (called from blk_send_response_all())
decrementing requests_finished is correct, doing so in the parse error
case is wrong; requests_inflight needs to be decremented instead.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
     blkdev->requests_finished++;
 }
=20
-static void ioreq_release(struct ioreq *ioreq)
+static void ioreq_release(struct ioreq *ioreq, bool finish)
 {
     struct XenBlkDev *blkdev =3D ioreq->blkdev;
=20
@@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
     memset(ioreq, 0, sizeof(*ioreq));
     ioreq->blkdev =3D blkdev;
     QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
-    blkdev->requests_finished--;
+    if (finish)
+        blkdev->requests_finished--;
+    else
+        blkdev->requests_inflight--;
 }
=20
 /*
@@ -449,7 +452,7 @@ static void blk_send_response_all(struct
     while (!QLIST_EMPTY(&blkdev->finished)) {
         ioreq =3D QLIST_FIRST(&blkdev->finished);
         send_notify +=3D blk_send_response_one(ioreq);
-        ioreq_release(ioreq);
+        ioreq_release(ioreq, true);
     }
     if (send_notify) {
         xen_be_send_notify(&blkdev->xendev);
@@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
             if (blk_send_response_one(ioreq)) {
                 xen_be_send_notify(&blkdev->xendev);
             }
-            ioreq_release(ioreq);
+            ioreq_release(ioreq, false);
             continue;
         }
=20




--=__PartA88641C4.1__=
Content-Type: text/plain; name="qemu-xendisk-accounting.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-accounting.patch"

qemu/xendisk: properly update stats in ioreq_release()=0A=0AWhile for the =
"normal" case (called from blk_send_response_all())=0Adecrementing =
requests_finished is correct, doing so in the parse error=0Acase is wrong; =
requests_inflight needs to be decremented instead.=0A=0ASigned-off-by: Jan =
Beulich <jbeulich@suse.com>=0A=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=
=0A@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i=0A     =
blkdev->requests_finished++;=0A }=0A =0A-static void ioreq_release(struct =
ioreq *ioreq)=0A+static void ioreq_release(struct ioreq *ioreq, bool =
finish)=0A {=0A     struct XenBlkDev *blkdev =3D ioreq->blkdev;=0A =0A@@ =
-162,7 +162,10 @@ static void ioreq_release(struct ioreq *=0A     =
memset(ioreq, 0, sizeof(*ioreq));=0A     ioreq->blkdev =3D blkdev;=0A     =
QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);=0A-    blkdev->requests_=
finished--;=0A+    if (finish)=0A+        blkdev->requests_finished--;=0A+ =
   else=0A+        blkdev->requests_inflight--;=0A }=0A =0A /*=0A@@ -449,7 =
+452,7 @@ static void blk_send_response_all(struct=0A     while (!QLIST_EMP=
TY(&blkdev->finished)) {=0A         ioreq =3D QLIST_FIRST(&blkdev->finished=
);=0A         send_notify +=3D blk_send_response_one(ioreq);=0A-        =
ioreq_release(ioreq);=0A+        ioreq_release(ioreq, true);=0A     }=0A   =
  if (send_notify) {=0A         xen_be_send_notify(&blkdev->xendev);=0A@@ =
-505,7 +508,7 @@ static void blk_handle_requests(struct X=0A             =
if (blk_send_response_one(ioreq)) {=0A                 xen_be_send_notify(&=
blkdev->xendev);=0A             }=0A-            ioreq_release(ioreq);=0A+ =
           ioreq_release(ioreq, false);=0A             continue;=0A        =
 }=0A =0A
--=__PartA88641C4.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartA88641C4.1__=--


From xen-devel-bounces@lists.xen.org Thu May 10 15:41:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:41:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVUY-0004hc-1Y; Thu, 10 May 2012 15:41:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVUX-0004hW-9i
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:41:21 +0000
Received: from [85.158.143.35:41350] by server-1.bemta-4.messagelabs.com id
	82/88-20925-0A1EBAF4; Thu, 10 May 2012 15:41:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336664477!12299786!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27858 invoked from network); 10 May 2012 15:41:19 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:41:19 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFf3CN008093
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:41:04 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFf2Vh001920
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:41:02 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFf1Nu009505; Thu, 10 May 2012 10:41:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:41:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 203324032D; Thu, 10 May 2012 11:34:57 -0400 (EDT)
Date: Thu, 10 May 2012 11:34:57 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jason Garrett-Glaser <jason@x264.com>
Message-ID: <20120510153457.GB6389@phenom.dumpdata.com>
References: <1328888091-9692-1-git-send-email-konrad.wilk@oracle.com>
	<CABS55+BFrDUV-WR=nx+d6+ZJngpuZnh41DZ3NYU4adFqaxqaNA@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CABS55+BFrDUV-WR=nx+d6+ZJngpuZnh41DZ3NYU4adFqaxqaNA@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, x86@kernel.org, linux-kernel@vger.kernel.org,
	rostedt@goodmis.org, mingo@redhat.com, hpa@zytor.com, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86 fixes for 3.3 impacting distros (v1).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Feb 21, 2012 at 06:53:35PM -0800, Jason Garrett-Glaser wrote:
> On Fri, Feb 10, 2012 at 7:34 AM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > The attached patch fixes RH BZ #742032, #787403, and #745574
> > and touch x86 subsystem.
> >
> > The patch description gives a very good overview of the problem and
> > one solution. The one solution it chooses is not the most architectural=
ly
> > sound but it does not cause performance degradation. If this your
> > first time reading this, please read the patch first and then come back=
 to
> > this cover letter as I've some perf numbers and more detailed explanati=
on here.
> >
> > A bit of overview of the __page_change_attr_set_clr:
> >
> > Its purpose is to change page attributes from one type to another.
> > It is important to understand that the entrance that code:
> > __page_change_attr_set_clr is guarded by cpa_lock spin-lock - which mak=
es
> > that whole code be single threaded.
> >
> > Albeit it seems that if debug mode is turned on, it can run in parallel=
. The
> > effect of using the posted patch is that __page_change_attr_set_clr() w=
ill be
> > affected when we change caching attributes on 4KB pages and/or the NX f=
lag.
> >
> > The execution of __page_change_attr_set_clr is concentrated in
> > (looked for ioremap_* and set_pages_*):
> > =A0- during bootup ("Write protecting the ..")
> > =A0- suspend/resume and graphic adapters evicting their buffers from th=
e card
> > =A0 to RAM (which is usually done during suspend but can be done via the
> > =A0 'evict' attribute in debugfs)
> > =A0- when setting the memory for the cursor (AGP cards using i8xx chips=
et) -
> > =A0 done during bootup and startup of Xserver.
> > =A0- setting up memory for Intel GTT scratch (i9xx) page (done during b=
ootup)
> > =A0- payload (purgatory code) for kexec (done during kexec -l).
> > =A0- ioremap_* during PCI devices load - InfiniBand and video cards lik=
e to use
> > =A0 ioremap_wc.
> > =A0- Intel, radeon, nouveau running into memory pressure and evicting p=
ages from
> > =A0 their GEM/TTM pool (once an hour or so if compiling a lot with only=
 4GB).
> >
> > These are the cases I found when running on baremetal (and Xen) using a=
 normal
> > Fedora Core 16 distro.
> >
> > The alternate solution to the problem I am trying to solve, which is mu=
ch
> > more architecturally sound (but has some perf disadvantages) is to wrap
> > the pte_flags with paravirt call everywhere. For that these patches two=
 patches:
> > http://darnok.org/results/baseline_pte_flags_pte_attrs/0001-x86-paravir=
t-xen-Introduce-pte_flags.patch
> > http://darnok.org/results/baseline_pte_flags_pte_attrs/0002-x86-paravir=
t-xen-Optimize-pte_flags-by-marking-it-as.patch
> >
> > make the pte_flags function (after bootup and patching with alternative=
 asm)
> > look as so:
> >
> > =A0 48 89 f8 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 mov =A0 =A0%rdi,%r=
ax
> > =A0 66 66 66 90 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0data32 data32 xchg %=
ax,%ax
> >
> > [the 66 66 .. is 'nop']. Looks good right? Well, it does work very well=
 on Intel
> > (used an i3 2100), but on AMD A8-3850 it hits a performance wall - that=
 I found out
> > is a result of CONFIG_FUNCTION_TRACER (too many nops??) being compiled =
in (but the tracer
> > is set to the default 'nop'). If I disable that specific config option =
the numbers
> > are the same as the baseline (with CONFIG_FUNCTION_TRACER disabled) on =
the AMD box.
> > Interestingly enough I only see these on AMD machines - not on the Inte=
l ones.
> =

> The AMD software optimization manual says that -- at least on some
> chips -- too many prefixes forces the instruction decoder into a slow
> mode (basically microcoded) where it takes literally dozens of cycles
> for a single instruction.  I believe more than 2 prefixes will do
> this; check the manual itself for specifics.

I've been digging in to this during my "free" time to figure out what
is going on. Sadly, haven't progressed much besides writting a set of patch=
es
that would add the 'notrace' to the pvops calls and playing with
those patches.

In other words - still not sure what is happening.
> =

> Jason
> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:41:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:41:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVUY-0004hc-1Y; Thu, 10 May 2012 15:41:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVUX-0004hW-9i
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:41:21 +0000
Received: from [85.158.143.35:41350] by server-1.bemta-4.messagelabs.com id
	82/88-20925-0A1EBAF4; Thu, 10 May 2012 15:41:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336664477!12299786!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27858 invoked from network); 10 May 2012 15:41:19 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:41:19 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFf3CN008093
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:41:04 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFf2Vh001920
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:41:02 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFf1Nu009505; Thu, 10 May 2012 10:41:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:41:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 203324032D; Thu, 10 May 2012 11:34:57 -0400 (EDT)
Date: Thu, 10 May 2012 11:34:57 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jason Garrett-Glaser <jason@x264.com>
Message-ID: <20120510153457.GB6389@phenom.dumpdata.com>
References: <1328888091-9692-1-git-send-email-konrad.wilk@oracle.com>
	<CABS55+BFrDUV-WR=nx+d6+ZJngpuZnh41DZ3NYU4adFqaxqaNA@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CABS55+BFrDUV-WR=nx+d6+ZJngpuZnh41DZ3NYU4adFqaxqaNA@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, x86@kernel.org, linux-kernel@vger.kernel.org,
	rostedt@goodmis.org, mingo@redhat.com, hpa@zytor.com, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86 fixes for 3.3 impacting distros (v1).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Feb 21, 2012 at 06:53:35PM -0800, Jason Garrett-Glaser wrote:
> On Fri, Feb 10, 2012 at 7:34 AM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > The attached patch fixes RH BZ #742032, #787403, and #745574
> > and touch x86 subsystem.
> >
> > The patch description gives a very good overview of the problem and
> > one solution. The one solution it chooses is not the most architectural=
ly
> > sound but it does not cause performance degradation. If this your
> > first time reading this, please read the patch first and then come back=
 to
> > this cover letter as I've some perf numbers and more detailed explanati=
on here.
> >
> > A bit of overview of the __page_change_attr_set_clr:
> >
> > Its purpose is to change page attributes from one type to another.
> > It is important to understand that the entrance that code:
> > __page_change_attr_set_clr is guarded by cpa_lock spin-lock - which mak=
es
> > that whole code be single threaded.
> >
> > Albeit it seems that if debug mode is turned on, it can run in parallel=
. The
> > effect of using the posted patch is that __page_change_attr_set_clr() w=
ill be
> > affected when we change caching attributes on 4KB pages and/or the NX f=
lag.
> >
> > The execution of __page_change_attr_set_clr is concentrated in
> > (looked for ioremap_* and set_pages_*):
> > =A0- during bootup ("Write protecting the ..")
> > =A0- suspend/resume and graphic adapters evicting their buffers from th=
e card
> > =A0 to RAM (which is usually done during suspend but can be done via the
> > =A0 'evict' attribute in debugfs)
> > =A0- when setting the memory for the cursor (AGP cards using i8xx chips=
et) -
> > =A0 done during bootup and startup of Xserver.
> > =A0- setting up memory for Intel GTT scratch (i9xx) page (done during b=
ootup)
> > =A0- payload (purgatory code) for kexec (done during kexec -l).
> > =A0- ioremap_* during PCI devices load - InfiniBand and video cards lik=
e to use
> > =A0 ioremap_wc.
> > =A0- Intel, radeon, nouveau running into memory pressure and evicting p=
ages from
> > =A0 their GEM/TTM pool (once an hour or so if compiling a lot with only=
 4GB).
> >
> > These are the cases I found when running on baremetal (and Xen) using a=
 normal
> > Fedora Core 16 distro.
> >
> > The alternate solution to the problem I am trying to solve, which is mu=
ch
> > more architecturally sound (but has some perf disadvantages) is to wrap
> > the pte_flags with paravirt call everywhere. For that these patches two=
 patches:
> > http://darnok.org/results/baseline_pte_flags_pte_attrs/0001-x86-paravir=
t-xen-Introduce-pte_flags.patch
> > http://darnok.org/results/baseline_pte_flags_pte_attrs/0002-x86-paravir=
t-xen-Optimize-pte_flags-by-marking-it-as.patch
> >
> > make the pte_flags function (after bootup and patching with alternative=
 asm)
> > look as so:
> >
> > =A0 48 89 f8 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 mov =A0 =A0%rdi,%r=
ax
> > =A0 66 66 66 90 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0data32 data32 xchg %=
ax,%ax
> >
> > [the 66 66 .. is 'nop']. Looks good right? Well, it does work very well=
 on Intel
> > (used an i3 2100), but on AMD A8-3850 it hits a performance wall - that=
 I found out
> > is a result of CONFIG_FUNCTION_TRACER (too many nops??) being compiled =
in (but the tracer
> > is set to the default 'nop'). If I disable that specific config option =
the numbers
> > are the same as the baseline (with CONFIG_FUNCTION_TRACER disabled) on =
the AMD box.
> > Interestingly enough I only see these on AMD machines - not on the Inte=
l ones.
> =

> The AMD software optimization manual says that -- at least on some
> chips -- too many prefixes forces the instruction decoder into a slow
> mode (basically microcoded) where it takes literally dozens of cycles
> for a single instruction.  I believe more than 2 prefixes will do
> this; check the manual itself for specifics.

I've been digging in to this during my "free" time to figure out what
is going on. Sadly, haven't progressed much besides writting a set of patch=
es
that would add the 'notrace' to the pvops calls and playing with
those patches.

In other words - still not sure what is happening.
> =

> Jason
> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:42:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVVL-0004lI-Hy; Thu, 10 May 2012 15:42:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVVK-0004l9-4A
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:42:10 +0000
Received: from [85.158.139.83:10460] by server-2.bemta-5.messagelabs.com id
	C8/82-17016-1D1EBAF4; Thu, 10 May 2012 15:42:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336664528!23839618!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6639 invoked from network); 10 May 2012 15:42:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:42:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411738"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:42:08 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 16:42:08 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVVI-00086B-0p; Thu, 10 May 2012 15:42:08 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVVH-0007ET-W0;
	Thu, 10 May 2012 16:42:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.57807.951152.444088@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 16:42:07 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
References: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] libxl: set guest_domid even
	if	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH] libxl: set guest_domid even if libxl__domain_make fails"):
> This is needed in order to perform the domain destruction if
> libxl__domain_make fails.

Thanks, I have included this in my series in the form below.

From: Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH] libxl: set guest_domid even if libxl__domain_make fails

This is needed in order to perform the domain destruction if
libxl__domain_make fails.

Also move doc comment about error behaviour of libxl__domain_make from
implementation to declaration.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

---
 tools/libxl/libxl_create.c   |    3 +--
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 0f17202..447d8ba 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -396,8 +396,6 @@ out:
 
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
- /* on entry, libxl_domid_valid_guest(domid) must be false;
-  * on exit (even error exit), domid may be valid and refer to a domain */
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int flags, ret, rc;
@@ -600,6 +598,7 @@ static void initiate_domain_create(libxl__egc *egc,
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
+        dcs->guest_domid = domid;
         ret = ERROR_FAIL;
         goto error_out;
     }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 90b08ef..84bfbc6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1073,9 +1073,13 @@ _hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
                const char *arg0, char **args); // logs errors, never returns
 
 /* from xl_create */
+
+ /* on entry, libxl_domid_valid_guest(domid) must be false;
+  * on exit (even error exit), domid may be valid and refer to a domain */
 _hidden int libxl__domain_make(libxl__gc *gc,
                                libxl_domain_create_info *info,
                                uint32_t *domid);
+
 _hidden int libxl__domain_build(libxl__gc *gc,
                                 libxl_domain_build_info *info,
                                 uint32_t domid,
-- 
tg: (3aaba1c..) t/xen/xl.create-do-destroy (depends on: t/xen/xl.event.spawn)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:42:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVVL-0004lI-Hy; Thu, 10 May 2012 15:42:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVVK-0004l9-4A
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:42:10 +0000
Received: from [85.158.139.83:10460] by server-2.bemta-5.messagelabs.com id
	C8/82-17016-1D1EBAF4; Thu, 10 May 2012 15:42:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1336664528!23839618!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6639 invoked from network); 10 May 2012 15:42:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:42:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411738"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:42:08 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 16:42:08 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVVI-00086B-0p; Thu, 10 May 2012 15:42:08 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVVH-0007ET-W0;
	Thu, 10 May 2012 16:42:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.57807.951152.444088@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 16:42:07 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
References: <1336144455-45617-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] libxl: set guest_domid even
	if	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH] libxl: set guest_domid even if libxl__domain_make fails"):
> This is needed in order to perform the domain destruction if
> libxl__domain_make fails.

Thanks, I have included this in my series in the form below.

From: Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH] libxl: set guest_domid even if libxl__domain_make fails

This is needed in order to perform the domain destruction if
libxl__domain_make fails.

Also move doc comment about error behaviour of libxl__domain_make from
implementation to declaration.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

---
 tools/libxl/libxl_create.c   |    3 +--
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 0f17202..447d8ba 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -396,8 +396,6 @@ out:
 
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
- /* on entry, libxl_domid_valid_guest(domid) must be false;
-  * on exit (even error exit), domid may be valid and refer to a domain */
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int flags, ret, rc;
@@ -600,6 +598,7 @@ static void initiate_domain_create(libxl__egc *egc,
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
+        dcs->guest_domid = domid;
         ret = ERROR_FAIL;
         goto error_out;
     }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 90b08ef..84bfbc6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1073,9 +1073,13 @@ _hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
                const char *arg0, char **args); // logs errors, never returns
 
 /* from xl_create */
+
+ /* on entry, libxl_domid_valid_guest(domid) must be false;
+  * on exit (even error exit), domid may be valid and refer to a domain */
 _hidden int libxl__domain_make(libxl__gc *gc,
                                libxl_domain_create_info *info,
                                uint32_t *domid);
+
 _hidden int libxl__domain_build(libxl__gc *gc,
                                 libxl_domain_build_info *info,
                                 uint32_t domid,
-- 
tg: (3aaba1c..) t/xen/xl.create-do-destroy (depends on: t/xen/xl.event.spawn)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:43:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:43:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVWc-0004sq-0R; Thu, 10 May 2012 15:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVWa-0004se-Ga
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:43:28 +0000
Received: from [85.158.143.35:51730] by server-2.bemta-4.messagelabs.com id
	7C/F6-17550-F12EBAF4; Thu, 10 May 2012 15:43:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336664604!11650851!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16558 invoked from network); 10 May 2012 15:43:26 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:43:26 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFhMPF020542
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:43:23 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFhM7i024044
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:43:22 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFhMKo015632; Thu, 10 May 2012 10:43:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:43:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0820E4032D; Thu, 10 May 2012 11:37:18 -0400 (EDT)
Date: Thu, 10 May 2012 11:37:17 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Nupur Ghatnekar <nupurghatnekar@gmail.com>
Message-ID: <20120510153717.GD6389@phenom.dumpdata.com>
References: <CAO8_4VrKvmUKMEOqfmgF=Z0e9Gr96mCR0-3eRfcgeZ2qZhbtjQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAO8_4VrKvmUKMEOqfmgF=Z0e9Gr96mCR0-3eRfcgeZ2qZhbtjQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] notification in xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, Mar 21, 2012 at 11:50:48AM +0530, Nupur Ghatnekar wrote:
> hey,
> For event notification there are 2 functions that i came across.
> 
> notify_remote_via_irq(int irq)
> notify_remote_via_evtchn(int port)
> 
> I tried to use those, but didnt know how to check whether notification has
> occurred. Is there a way in which i can check the success of the commands.

You should also use 'request_irq' to bind yourself to the IRQ number.
That way your handler would awake when it is done.

Look at how the existing front and backend drivers do it.

> 
> Thanks.
> 
> -- 
> 
> Nupur Ghatnekar

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:43:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:43:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVWc-0004sq-0R; Thu, 10 May 2012 15:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVWa-0004se-Ga
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:43:28 +0000
Received: from [85.158.143.35:51730] by server-2.bemta-4.messagelabs.com id
	7C/F6-17550-F12EBAF4; Thu, 10 May 2012 15:43:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336664604!11650851!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16558 invoked from network); 10 May 2012 15:43:26 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:43:26 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFhMPF020542
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:43:23 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFhM7i024044
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:43:22 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFhMKo015632; Thu, 10 May 2012 10:43:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:43:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0820E4032D; Thu, 10 May 2012 11:37:18 -0400 (EDT)
Date: Thu, 10 May 2012 11:37:17 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Nupur Ghatnekar <nupurghatnekar@gmail.com>
Message-ID: <20120510153717.GD6389@phenom.dumpdata.com>
References: <CAO8_4VrKvmUKMEOqfmgF=Z0e9Gr96mCR0-3eRfcgeZ2qZhbtjQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAO8_4VrKvmUKMEOqfmgF=Z0e9Gr96mCR0-3eRfcgeZ2qZhbtjQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] notification in xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, Mar 21, 2012 at 11:50:48AM +0530, Nupur Ghatnekar wrote:
> hey,
> For event notification there are 2 functions that i came across.
> 
> notify_remote_via_irq(int irq)
> notify_remote_via_evtchn(int port)
> 
> I tried to use those, but didnt know how to check whether notification has
> occurred. Is there a way in which i can check the success of the commands.

You should also use 'request_irq' to bind yourself to the IRQ number.
That way your handler would awake when it is done.

Look at how the existing front and backend drivers do it.

> 
> Thanks.
> 
> -- 
> 
> Nupur Ghatnekar

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:44:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVXS-0004zh-ET; Thu, 10 May 2012 15:44:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVXR-0004zO-P4
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:44:21 +0000
Received: from [85.158.143.99:44368] by server-1.bemta-4.messagelabs.com id
	9C/FC-20925-552EBAF4; Thu, 10 May 2012 15:44:21 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336664658!17628697!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6141 invoked from network); 10 May 2012 15:44:20 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:44:20 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFiFRZ011831
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:44:15 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFiEvw000929
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:44:14 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFiEUS002751; Thu, 10 May 2012 10:44:14 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:44:13 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0A1434032D; Thu, 10 May 2012 11:38:10 -0400 (EDT)
Date: Thu, 10 May 2012 11:38:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Nupur Ghatnekar <nupurghatnekar@gmail.com>
Message-ID: <20120510153809.GE6389@phenom.dumpdata.com>
References: <CAO8_4VqfaYYGPAB2kahryaREnZbdcfVFMB_x+xQsY=nc9WrD7A@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAO8_4VqfaYYGPAB2kahryaREnZbdcfVFMB_x+xQsY=nc9WrD7A@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] irqhandler for xenbus device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, Mar 21, 2012 at 11:56:41AM +0530, Nupur Ghatnekar wrote:
> Hello,
> 
> I have written 2 modules (front and backend) of a device driver.
> here all i have tried to do is share a page and map the page.
> i have added an irqhandler to the eventchannel using
> bind_interdomain_evtchn_to_irqhandler()
> 
> but ,this is what i got.. i do not understand what happened.
> 
> any help will be appreciated!!
> 
> [ 6098.141305] p9_xen_backend_init
> [ 6098.141332] leaving backend_init
> [ 6169.434245] Backprobe fired 1
> [ 6169.434703] node name: /local/domain/2/device/p9xen/0
> [ 6169.434980] INITIAL PAGE: 855 INITAL PORT: 34
> [ 6169.435005] Map Successful: data: Hey this is a new page..we just sent
> it!
> [ 6169.435032]  interrupt registered:: 312
> [ 6169.435037]  we are in the irq handler!!312
> [ 6169.435040]
> [ 6169.435040]  notify by irq
> [ 6169.435043] irq event 312: bogus return value 33

That is the problem. You need to return IRQ_HANDLED in your
irq handler.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:44:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVXS-0004zh-ET; Thu, 10 May 2012 15:44:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVXR-0004zO-P4
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:44:21 +0000
Received: from [85.158.143.99:44368] by server-1.bemta-4.messagelabs.com id
	9C/FC-20925-552EBAF4; Thu, 10 May 2012 15:44:21 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336664658!17628697!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNDU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6141 invoked from network); 10 May 2012 15:44:20 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:44:20 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFiFRZ011831
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:44:15 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFiEvw000929
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:44:14 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFiEUS002751; Thu, 10 May 2012 10:44:14 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:44:13 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0A1434032D; Thu, 10 May 2012 11:38:10 -0400 (EDT)
Date: Thu, 10 May 2012 11:38:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Nupur Ghatnekar <nupurghatnekar@gmail.com>
Message-ID: <20120510153809.GE6389@phenom.dumpdata.com>
References: <CAO8_4VqfaYYGPAB2kahryaREnZbdcfVFMB_x+xQsY=nc9WrD7A@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAO8_4VqfaYYGPAB2kahryaREnZbdcfVFMB_x+xQsY=nc9WrD7A@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] irqhandler for xenbus device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, Mar 21, 2012 at 11:56:41AM +0530, Nupur Ghatnekar wrote:
> Hello,
> 
> I have written 2 modules (front and backend) of a device driver.
> here all i have tried to do is share a page and map the page.
> i have added an irqhandler to the eventchannel using
> bind_interdomain_evtchn_to_irqhandler()
> 
> but ,this is what i got.. i do not understand what happened.
> 
> any help will be appreciated!!
> 
> [ 6098.141305] p9_xen_backend_init
> [ 6098.141332] leaving backend_init
> [ 6169.434245] Backprobe fired 1
> [ 6169.434703] node name: /local/domain/2/device/p9xen/0
> [ 6169.434980] INITIAL PAGE: 855 INITAL PORT: 34
> [ 6169.435005] Map Successful: data: Hey this is a new page..we just sent
> it!
> [ 6169.435032]  interrupt registered:: 312
> [ 6169.435037]  we are in the irq handler!!312
> [ 6169.435040]
> [ 6169.435040]  notify by irq
> [ 6169.435043] irq event 312: bogus return value 33

That is the problem. You need to return IRQ_HANDLED in your
irq handler.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:45:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:45:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVYG-00057K-TJ; Thu, 10 May 2012 15:45:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVYF-000575-K7
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:45:11 +0000
Received: from [85.158.138.51:21255] by server-3.bemta-3.messagelabs.com id
	DD/12-04048-682EBAF4; Thu, 10 May 2012 15:45:10 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336664708!26333308!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23175 invoked from network); 10 May 2012 15:45:09 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:45:09 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFj694022401
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:45:07 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFj53i009297
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:45:06 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFj53T012873; Thu, 10 May 2012 10:45:05 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:45:05 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 498754032D; Thu, 10 May 2012 11:39:01 -0400 (EDT)
Date: Thu, 10 May 2012 11:39:01 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Rajendra Bele <belerajendra753@gmail.com>
Message-ID: <20120510153901.GF6389@phenom.dumpdata.com>
References: <CAJRmKy9oQUe1PJcnckeNkSPSN16hV6c3LUU3BnyWBwJH_7aQdQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJRmKy9oQUe1PJcnckeNkSPSN16hV6c3LUU3BnyWBwJH_7aQdQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xen Enhancement
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Mar 22, 2012 at 03:05:46PM +0530, Rajendra Bele wrote:
> Dear Friends
> 
>  I am interested for research in virtualization ; i wanted to identify some
> algorithms and enhance them;

OK, so you are looking at fixing bugs. Great!

> 
> can anybody help me for following activities
> 
> 1. Install Xen on laptop
> 
> 2. Add open source os to create virtualization environment
> 
> 3. check performance with current souce code
> 
> 4. Identify algorithms associated with existing
> 
> 5. Identify performance bottlenecks with current algorithms
> 
> 6. Modify algorithms and implement code
> 
> 7. execute the code and check performance
> 
> I will be more happy if abybody guides me to conduct above research plan

Are you still interested in this?

> 
> Thanking you

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:45:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:45:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVYG-00057K-TJ; Thu, 10 May 2012 15:45:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVYF-000575-K7
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:45:11 +0000
Received: from [85.158.138.51:21255] by server-3.bemta-3.messagelabs.com id
	DD/12-04048-682EBAF4; Thu, 10 May 2012 15:45:10 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336664708!26333308!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23175 invoked from network); 10 May 2012 15:45:09 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:45:09 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFj694022401
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:45:07 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFj53i009297
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:45:06 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFj53T012873; Thu, 10 May 2012 10:45:05 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:45:05 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 498754032D; Thu, 10 May 2012 11:39:01 -0400 (EDT)
Date: Thu, 10 May 2012 11:39:01 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Rajendra Bele <belerajendra753@gmail.com>
Message-ID: <20120510153901.GF6389@phenom.dumpdata.com>
References: <CAJRmKy9oQUe1PJcnckeNkSPSN16hV6c3LUU3BnyWBwJH_7aQdQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJRmKy9oQUe1PJcnckeNkSPSN16hV6c3LUU3BnyWBwJH_7aQdQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xen Enhancement
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Mar 22, 2012 at 03:05:46PM +0530, Rajendra Bele wrote:
> Dear Friends
> 
>  I am interested for research in virtualization ; i wanted to identify some
> algorithms and enhance them;

OK, so you are looking at fixing bugs. Great!

> 
> can anybody help me for following activities
> 
> 1. Install Xen on laptop
> 
> 2. Add open source os to create virtualization environment
> 
> 3. check performance with current souce code
> 
> 4. Identify algorithms associated with existing
> 
> 5. Identify performance bottlenecks with current algorithms
> 
> 6. Modify algorithms and implement code
> 
> 7. execute the code and check performance
> 
> I will be more happy if abybody guides me to conduct above research plan

Are you still interested in this?

> 
> Thanking you

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:47:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:47:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVaX-0005Pu-Ih; Thu, 10 May 2012 15:47:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVaV-0005Pg-V9
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:47:32 +0000
Received: from [85.158.138.51:60911] by server-10.bemta-3.messagelabs.com id
	5B/EB-29478-313EBAF4; Thu, 10 May 2012 15:47:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336664849!18345917!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1699 invoked from network); 10 May 2012 15:47:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:47:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411925"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:47:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 16:47:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVaS-00087v-D3; Thu, 10 May 2012 15:47:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVaS-0007po-CE;
	Thu, 10 May 2012 16:47:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.58128.360283.981292@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 16:47:28 +0100
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <79526068a8743f4a593c.1336353617@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<79526068a8743f4a593c.1336353617@dt29.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com
Subject: Re: [Xen-devel] [PATCH 2 of 6] Update xl.cfg man page to introduce
	new	config option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Goncalo Gomes writes ("[Xen-devel] [PATCH 2 of 6] Update xl.cfg man page to introduce new config option"):
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> diff -r 53f124f82cfd -r 79526068a874 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5	Mon May 07 01:10:57 2012 +0000
> +++ b/docs/man/xl.cfg.pod.5	Mon May 07 01:10:58 2012 +0000
> @@ -624,6 +624,11 @@ frequency changes.
>  
>  Please see F<docs/misc/tscmode.txt> for more information on this option.
>  
> +=item B<vncviewer=BOOLEAN>
> +
> +Automatically attach to domain's VNC server forking a vncviewer process 
> +on domain creation and/or restore.
> +

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:47:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:47:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVaX-0005Pu-Ih; Thu, 10 May 2012 15:47:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVaV-0005Pg-V9
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:47:32 +0000
Received: from [85.158.138.51:60911] by server-10.bemta-3.messagelabs.com id
	5B/EB-29478-313EBAF4; Thu, 10 May 2012 15:47:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336664849!18345917!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1699 invoked from network); 10 May 2012 15:47:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:47:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411925"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:47:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 16:47:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVaS-00087v-D3; Thu, 10 May 2012 15:47:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVaS-0007po-CE;
	Thu, 10 May 2012 16:47:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.58128.360283.981292@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 16:47:28 +0100
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <79526068a8743f4a593c.1336353617@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<79526068a8743f4a593c.1336353617@dt29.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com
Subject: Re: [Xen-devel] [PATCH 2 of 6] Update xl.cfg man page to introduce
	new	config option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Goncalo Gomes writes ("[Xen-devel] [PATCH 2 of 6] Update xl.cfg man page to introduce new config option"):
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> diff -r 53f124f82cfd -r 79526068a874 docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5	Mon May 07 01:10:57 2012 +0000
> +++ b/docs/man/xl.cfg.pod.5	Mon May 07 01:10:58 2012 +0000
> @@ -624,6 +624,11 @@ frequency changes.
>  
>  Please see F<docs/misc/tscmode.txt> for more information on this option.
>  
> +=item B<vncviewer=BOOLEAN>
> +
> +Automatically attach to domain's VNC server forking a vncviewer process 
> +on domain creation and/or restore.
> +

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:49:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:49:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVbv-0005Xz-4e; Thu, 10 May 2012 15:48:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVbu-0005Xq-7K
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:48:58 +0000
Received: from [85.158.143.35:39199] by server-1.bemta-4.messagelabs.com id
	07/53-20925-963EBAF4; Thu, 10 May 2012 15:48:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336664936!14804218!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31547 invoked from network); 10 May 2012 15:48:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:48:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411967"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:48:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 16:48:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVbr-00088c-Tw; Thu, 10 May 2012 15:48:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVbr-0007q4-T7;
	Thu, 10 May 2012 16:48:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.58215.886046.419417@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 16:48:55 +0100
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <c2ed845386befd621e74.1336353621@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<c2ed845386befd621e74.1336353621@dt29.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com
Subject: Re: [Xen-devel] [PATCH 6 of 6] xl: extend the help options of the
 create and restore commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Goncalo Gomes writes ("[Xen-devel] [PATCH 6 of 6] xl: extend the help options of the create and restore commands"):
 the domain."
> +      "-e                      Do not wait in the background for the death of the domain.\n"
> +      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
> +      "-A, --vncviewer-autopass\n"
> +      "                        Pass VNC password to viewer via stdin."

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

However I think ideally this and the previous patch I have just acked
(the corresponding documentation) should be in the same patch as the
implementation.  So when you resend can you combine them ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:49:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:49:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVbv-0005Xz-4e; Thu, 10 May 2012 15:48:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVbu-0005Xq-7K
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:48:58 +0000
Received: from [85.158.143.35:39199] by server-1.bemta-4.messagelabs.com id
	07/53-20925-963EBAF4; Thu, 10 May 2012 15:48:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336664936!14804218!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31547 invoked from network); 10 May 2012 15:48:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 15:48:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12411967"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 15:48:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 16:48:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVbr-00088c-Tw; Thu, 10 May 2012 15:48:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVbr-0007q4-T7;
	Thu, 10 May 2012 16:48:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.58215.886046.419417@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 16:48:55 +0100
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <c2ed845386befd621e74.1336353621@dt29.uk.xensource.com>
References: <patchbomb.1336353615@dt29.uk.xensource.com>
	<c2ed845386befd621e74.1336353621@dt29.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com
Subject: Re: [Xen-devel] [PATCH 6 of 6] xl: extend the help options of the
 create and restore commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Goncalo Gomes writes ("[Xen-devel] [PATCH 6 of 6] xl: extend the help options of the create and restore commands"):
 the domain."
> +      "-e                      Do not wait in the background for the death of the domain.\n"
> +      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
> +      "-A, --vncviewer-autopass\n"
> +      "                        Pass VNC password to viewer via stdin."

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

However I think ideally this and the previous patch I have just acked
(the corresponding documentation) should be in the same patch as the
implementation.  So when you resend can you combine them ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:49:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:49:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVc6-0005Zr-Ur; Thu, 10 May 2012 15:49:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVc5-0005Ys-5d
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:49:09 +0000
Received: from [85.158.143.99:41408] by server-1.bemta-4.messagelabs.com id
	07/93-20925-473EBAF4; Thu, 10 May 2012 15:49:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336664945!17629586!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24251 invoked from network); 10 May 2012 15:49:07 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:49:07 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFn1ee026853
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:49:02 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFn0uI000279
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:49:00 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFmx9d016150; Thu, 10 May 2012 10:49:00 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:48:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D77884032D; Thu, 10 May 2012 11:42:55 -0400 (EDT)
Date: Thu, 10 May 2012 11:42:55 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kristoffer Harthing Egefelt <k@itoc.dk>
Message-ID: <20120510154255.GH6389@phenom.dumpdata.com>
References: <1332865415525-5598276.post@n5.nabble.com>
	<20120327192644.GQ12984@reaktio.net>
	<1332880165775-5598838.post@n5.nabble.com>
	<1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1333046630807-5604684.post@n5.nabble.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Mar 29, 2012 at 11:43:50AM -0700, Kristoffer Harthing Egefelt wrote:
> 
> On Thu, Mar 29, 2012 at 01:30:08AM -0700, Kristoffer Harthing Egefelt wrote:
> > >Can you attach the /proc/interrupts please - for both Xen and baremetal.
> > 
> > *Bare metal:*
> > CPU0       
> > 0: 0 IR-IO-APIC-edge timer    
> > 8: 0 IR-IO-APIC-edge rtc0    
> > 9: 0 IR-IO-APIC-fasteoi acpi    
> > 17: 0 IR-IO-APIC-fasteoi uhci_hcd:usb3, ata_piix   
> > 18: 0 IR-IO-APIC-fasteoi uhci_hcd:usb4    
> > 19: 0 IR-IO-APIC-fasteoi ehci_hcd:usb1    
> > 20: 0 IR-IO-APIC-fasteoi uhci_hcd:usb6    
> > 21: 0 IR-IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb5, uhci_hcd:usb7  
> > 72: 0 DMAR_MSI-edge dmar0    
> > 73: 0 IR-PCI-MSI-edge PCIe PME   
> > 74: 0 IR-PCI-MSI-edge PCIe PME   
> > 75: 0 IR-PCI-MSI-edge PCIe PME   
> > 76: 0 IR-PCI-MSI-edge PCIe PME   
> > 77: 0 IR-PCI-MSI-edge megasas    
> > 78: 0 IR-PCI-MSI-edge eth0[0]    
> > 79: 0 IR-PCI-MSI-edge eth0[1]    
> > 80: 0 IR-PCI-MSI-edge eth0[2]    
> > 81: 0 IR-PCI-MSI-edge eth0[3]    
> > 82: 0 IR-PCI-MSI-edge eth1[0]    
> > 83: 0 IR-PCI-MSI-edge eth1[1]    
> > 84: 0 IR-PCI-MSI-edge eth1[2]    
> > 85: 0 IR-PCI-MSI-edge eth1[3]    
> > NMI: 0 Non-maskable interrupts    
> > LOC: 1288 Local timer interrupts   
> > SPU: 0 Spurious interrupts    
> > PMI: 0 Performance monitoring interrupts   
> > IWI: 0 IRQ work interrupts   
> > RES: 295 Rescheduling interrupts    
> > CAL: 675 Function call interrupts   
> > TLB: 5 TLB shootdowns    
> > TRM: 0 Thermal event interrupts   
> > THR: 0 Threshold APIC interrupts   
> > MCE: 0 Machine check exceptions   
> > MCP: 2 Machine check polls   
> > ERR:       
> > MIS:       
> > 
> > *Xen:*
> > CPU0
> > 8: 0 xen-pirq-ioapic-edge rtc0
> > 9: 0 xen-pirq-ioapic-level acpi
> > 17: 0 xen-pirq-ioapic-level ata_piix, uhci_hcd:usb3
> > 18: 0 xen-pirq-ioapic-level uhci_hcd:usb4
> > 19: 0 xen-pirq-ioapic-level ehci_hcd:usb1
> > 20: 0 xen-pirq-ioapic-level uhci_hcd:usb6
> > 21: 0 xen-pirq-ioapic-level ehci_hcd:usb2, uhci_hcd:usb5, uhci_hcd:usb7
> > 304: 0 xen-percpu-virq timer0
> > 305: 0 xen-percpu-ipi resched0
> > 306: 0 xen-percpu-ipi callfunc0
> > 307: 0 xen-percpu-virq debug0
> > 308: 0 xen-percpu-ipi callfuncsingle0
> > 424: 0 xen-dyn-event xenbus
> > 425: 0 xen-pirq-msi PCIe PME
> > 426: 0 xen-pirq-msi PCIe PME
> > 427: 0 xen-pirq-msi PCIe PME
> > 428: 0 xen-pirq-msi PCIe PME
> 
> 
> >So something is bogus here. There should be a bunch of ethX[Y] - and
> >it looks like the MSI's just didn't get setup.
> I'm still trying to get qlogic and dell to find out why qlogics firmwares
> does not work on the OEM cards from Dell - I'm not sure this will do
> anything though. I'll try and downgrade the linux driver to .24

Any luck?
> 
> >What kernel version are you using?
> I have tried 3.1.8-2 and 3.2.9-1 (debian wheezy)
> 
> 
> --
> View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5604684.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:49:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:49:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVc6-0005Zr-Ur; Thu, 10 May 2012 15:49:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVc5-0005Ys-5d
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:49:09 +0000
Received: from [85.158.143.99:41408] by server-1.bemta-4.messagelabs.com id
	07/93-20925-473EBAF4; Thu, 10 May 2012 15:49:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336664945!17629586!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24251 invoked from network); 10 May 2012 15:49:07 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 15:49:07 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AFn1ee026853
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:49:02 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AFn0uI000279
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 15:49:00 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AFmx9d016150; Thu, 10 May 2012 10:49:00 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 08:48:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D77884032D; Thu, 10 May 2012 11:42:55 -0400 (EDT)
Date: Thu, 10 May 2012 11:42:55 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kristoffer Harthing Egefelt <k@itoc.dk>
Message-ID: <20120510154255.GH6389@phenom.dumpdata.com>
References: <1332865415525-5598276.post@n5.nabble.com>
	<20120327192644.GQ12984@reaktio.net>
	<1332880165775-5598838.post@n5.nabble.com>
	<1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1333046630807-5604684.post@n5.nabble.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Mar 29, 2012 at 11:43:50AM -0700, Kristoffer Harthing Egefelt wrote:
> 
> On Thu, Mar 29, 2012 at 01:30:08AM -0700, Kristoffer Harthing Egefelt wrote:
> > >Can you attach the /proc/interrupts please - for both Xen and baremetal.
> > 
> > *Bare metal:*
> > CPU0       
> > 0: 0 IR-IO-APIC-edge timer    
> > 8: 0 IR-IO-APIC-edge rtc0    
> > 9: 0 IR-IO-APIC-fasteoi acpi    
> > 17: 0 IR-IO-APIC-fasteoi uhci_hcd:usb3, ata_piix   
> > 18: 0 IR-IO-APIC-fasteoi uhci_hcd:usb4    
> > 19: 0 IR-IO-APIC-fasteoi ehci_hcd:usb1    
> > 20: 0 IR-IO-APIC-fasteoi uhci_hcd:usb6    
> > 21: 0 IR-IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb5, uhci_hcd:usb7  
> > 72: 0 DMAR_MSI-edge dmar0    
> > 73: 0 IR-PCI-MSI-edge PCIe PME   
> > 74: 0 IR-PCI-MSI-edge PCIe PME   
> > 75: 0 IR-PCI-MSI-edge PCIe PME   
> > 76: 0 IR-PCI-MSI-edge PCIe PME   
> > 77: 0 IR-PCI-MSI-edge megasas    
> > 78: 0 IR-PCI-MSI-edge eth0[0]    
> > 79: 0 IR-PCI-MSI-edge eth0[1]    
> > 80: 0 IR-PCI-MSI-edge eth0[2]    
> > 81: 0 IR-PCI-MSI-edge eth0[3]    
> > 82: 0 IR-PCI-MSI-edge eth1[0]    
> > 83: 0 IR-PCI-MSI-edge eth1[1]    
> > 84: 0 IR-PCI-MSI-edge eth1[2]    
> > 85: 0 IR-PCI-MSI-edge eth1[3]    
> > NMI: 0 Non-maskable interrupts    
> > LOC: 1288 Local timer interrupts   
> > SPU: 0 Spurious interrupts    
> > PMI: 0 Performance monitoring interrupts   
> > IWI: 0 IRQ work interrupts   
> > RES: 295 Rescheduling interrupts    
> > CAL: 675 Function call interrupts   
> > TLB: 5 TLB shootdowns    
> > TRM: 0 Thermal event interrupts   
> > THR: 0 Threshold APIC interrupts   
> > MCE: 0 Machine check exceptions   
> > MCP: 2 Machine check polls   
> > ERR:       
> > MIS:       
> > 
> > *Xen:*
> > CPU0
> > 8: 0 xen-pirq-ioapic-edge rtc0
> > 9: 0 xen-pirq-ioapic-level acpi
> > 17: 0 xen-pirq-ioapic-level ata_piix, uhci_hcd:usb3
> > 18: 0 xen-pirq-ioapic-level uhci_hcd:usb4
> > 19: 0 xen-pirq-ioapic-level ehci_hcd:usb1
> > 20: 0 xen-pirq-ioapic-level uhci_hcd:usb6
> > 21: 0 xen-pirq-ioapic-level ehci_hcd:usb2, uhci_hcd:usb5, uhci_hcd:usb7
> > 304: 0 xen-percpu-virq timer0
> > 305: 0 xen-percpu-ipi resched0
> > 306: 0 xen-percpu-ipi callfunc0
> > 307: 0 xen-percpu-virq debug0
> > 308: 0 xen-percpu-ipi callfuncsingle0
> > 424: 0 xen-dyn-event xenbus
> > 425: 0 xen-pirq-msi PCIe PME
> > 426: 0 xen-pirq-msi PCIe PME
> > 427: 0 xen-pirq-msi PCIe PME
> > 428: 0 xen-pirq-msi PCIe PME
> 
> 
> >So something is bogus here. There should be a bunch of ethX[Y] - and
> >it looks like the MSI's just didn't get setup.
> I'm still trying to get qlogic and dell to find out why qlogics firmwares
> does not work on the OEM cards from Dell - I'm not sure this will do
> anything though. I'll try and downgrade the linux driver to .24

Any luck?
> 
> >What kernel version are you using?
> I have tried 3.1.8-2 and 3.2.9-1 (debian wheezy)
> 
> 
> --
> View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5604684.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:49:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVc5-0005ZW-Hw; Thu, 10 May 2012 15:49:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SSVc4-0005Ys-9K
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:49:08 +0000
Received: from [85.158.143.99:41271] by server-1.bemta-4.messagelabs.com id
	DC/83-20925-273EBAF4; Thu, 10 May 2012 15:49:06 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336664944!27378961!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13281 invoked from network); 10 May 2012 15:49:05 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-15.tower-216.messagelabs.com with SMTP;
	10 May 2012 15:49:05 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q4AFn201001025;
	Thu, 10 May 2012 11:49:02 -0400
Message-ID: <4FABE36E.3030109@theshore.net>
Date: Thu, 10 May 2012 11:49:02 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen devel <xen-devel@lists.xensource.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120507171703.GA5746@phenom.dumpdata.com>
	<4FA81669.5040202@theshore.net> <4FA82992.1030508@theshore.net>
In-Reply-To: <4FA82992.1030508@theshore.net>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We've tried 3.3.5 along with disabling CONFIG_HUGETLB_PAGE (since it was 
potentially in the code path looking at the source) and we're still able 
to trigger the bug.

Is there anything else we can try or more information we can provide 
that can help this along?

Thanks,
-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:49:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVc5-0005ZW-Hw; Thu, 10 May 2012 15:49:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SSVc4-0005Ys-9K
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 15:49:08 +0000
Received: from [85.158.143.99:41271] by server-1.bemta-4.messagelabs.com id
	DC/83-20925-273EBAF4; Thu, 10 May 2012 15:49:06 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336664944!27378961!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13281 invoked from network); 10 May 2012 15:49:05 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-15.tower-216.messagelabs.com with SMTP;
	10 May 2012 15:49:05 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q4AFn201001025;
	Thu, 10 May 2012 11:49:02 -0400
Message-ID: <4FABE36E.3030109@theshore.net>
Date: Thu, 10 May 2012 11:49:02 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen devel <xen-devel@lists.xensource.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120507171703.GA5746@phenom.dumpdata.com>
	<4FA81669.5040202@theshore.net> <4FA82992.1030508@theshore.net>
In-Reply-To: <4FA82992.1030508@theshore.net>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We've tried 3.3.5 along with disabling CONFIG_HUGETLB_PAGE (since it was 
potentially in the code path looking at the source) and we're still able 
to trigger the bug.

Is there anything else we can try or more information we can provide 
that can help this along?

Thanks,
-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:53:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVgF-00062s-O4; Thu, 10 May 2012 15:53:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSVgD-00062l-TS
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:53:26 +0000
Received: from [85.158.143.99:64878] by server-2.bemta-4.messagelabs.com id
	75/64-17550-474EBAF4; Thu, 10 May 2012 15:53:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336665203!27379729!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31548 invoked from network); 10 May 2012 15:53:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:53:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:53:23 +0100
Message-Id: <4FAC00A90200007800082D42@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:53:45 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <20120510152844.GP26152@phenom.dumpdata.com>
In-Reply-To: <20120510152844.GP26152@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] pvops domU guest booting problem - 131GB ok,
	132GB not ok.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 10.05.12 at 17:28, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> I've just started to trying to track down why a pvops 64-bit
> PV guest can't boot with more than 128GB of memory. The issue
> I am seeing is that the module loading subsystem stops working and
> I get this:
> ...
>  - it is hitting some page tables that are used by the hypervisor?

No, rather its own page tables. As soon as the initial mappings extends
beyond MODULES_VADDR, you will run into problems if the initial page
tables don't get cleaned up properly. I'd suppose that this is missing
in your code (xen_setup_kernel_pagetable() just blindly copies over
everything).

> Was wondering if you had hit this at some point with SLES guests
> and if there are any ideas of what I should look for ? Thanks!

Yes, we certainly had to fix that.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 15:53:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 15:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVgF-00062s-O4; Thu, 10 May 2012 15:53:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSVgD-00062l-TS
	for xen-devel@lists.xen.org; Thu, 10 May 2012 15:53:26 +0000
Received: from [85.158.143.99:64878] by server-2.bemta-4.messagelabs.com id
	75/64-17550-474EBAF4; Thu, 10 May 2012 15:53:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336665203!27379729!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31548 invoked from network); 10 May 2012 15:53:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 15:53:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 10 May 2012 16:53:23 +0100
Message-Id: <4FAC00A90200007800082D42@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 10 May 2012 16:53:45 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <20120510152844.GP26152@phenom.dumpdata.com>
In-Reply-To: <20120510152844.GP26152@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] pvops domU guest booting problem - 131GB ok,
	132GB not ok.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 10.05.12 at 17:28, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> I've just started to trying to track down why a pvops 64-bit
> PV guest can't boot with more than 128GB of memory. The issue
> I am seeing is that the module loading subsystem stops working and
> I get this:
> ...
>  - it is hitting some page tables that are used by the hypervisor?

No, rather its own page tables. As soon as the initial mappings extends
beyond MODULES_VADDR, you will run into problems if the initial page
tables don't get cleaned up properly. I'd suppose that this is missing
in your code (xen_setup_kernel_pagetable() just blindly copies over
everything).

> Was wondering if you had hit this at some point with SLES guests
> and if there are any ideas of what I should look for ? Thanks!

Yes, we certainly had to fix that.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:03:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVq0-0006cn-1T; Thu, 10 May 2012 16:03:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVpz-0006cf-45
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:03:31 +0000
Received: from [85.158.143.99:43824] by server-3.bemta-4.messagelabs.com id
	1E/FD-05853-2D6EBAF4; Thu, 10 May 2012 16:03:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336665809!22122970!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1392 invoked from network); 10 May 2012 16:03:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:03:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12412450"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:03:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:03:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVpw-0008DY-VA; Thu, 10 May 2012 16:03:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVpw-0007rO-T0;
	Thu, 10 May 2012 17:03:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.59088.884891.753666@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:03:28 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336649312-11198-2-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Jackson <ian.jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4 1/4] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4 1/4] libxl: pass env vars to libxl__exec"):
> +            if (setenv(env[i], env[i+1], 1) < 0) {
> +                switch (errno) {
> +                case EINVAL:
> +                    LOGEV(ERROR, errno, "invalid env variables (%s = %s)",
> +                                        env[i], env[i+1]);
> +                    break;
> +                case ENOMEM:
> +                    libxl__alloc_failed(CTX, __func__, 0, 0);
> +                }
> +                goto out;

This silently exits if errno isn't one of the expected values.

TBH I'm not sure you need to bother switching on errno here.  Whatever
the errno is we're going to log a message and exit nonzero, so you
might as well simply LOGEV even in the ENOMEM case.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:03:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVq0-0006cn-1T; Thu, 10 May 2012 16:03:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVpz-0006cf-45
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:03:31 +0000
Received: from [85.158.143.99:43824] by server-3.bemta-4.messagelabs.com id
	1E/FD-05853-2D6EBAF4; Thu, 10 May 2012 16:03:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336665809!22122970!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1392 invoked from network); 10 May 2012 16:03:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:03:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12412450"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:03:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:03:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVpw-0008DY-VA; Thu, 10 May 2012 16:03:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVpw-0007rO-T0;
	Thu, 10 May 2012 17:03:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.59088.884891.753666@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:03:28 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336649312-11198-2-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Jackson <ian.jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4 1/4] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4 1/4] libxl: pass env vars to libxl__exec"):
> +            if (setenv(env[i], env[i+1], 1) < 0) {
> +                switch (errno) {
> +                case EINVAL:
> +                    LOGEV(ERROR, errno, "invalid env variables (%s = %s)",
> +                                        env[i], env[i+1]);
> +                    break;
> +                case ENOMEM:
> +                    libxl__alloc_failed(CTX, __func__, 0, 0);
> +                }
> +                goto out;

This silently exits if errno isn't one of the expected values.

TBH I'm not sure you need to bother switching on errno here.  Whatever
the errno is we're going to log a message and exit nonzero, so you
might as well simply LOGEV even in the ENOMEM case.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:04:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:04:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVqn-0006gW-FP; Thu, 10 May 2012 16:04:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SSVqm-0006gP-CQ
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:04:20 +0000
Received: from [85.158.138.51:23953] by server-4.bemta-3.messagelabs.com id
	9F/1D-15341-307EBAF4; Thu, 10 May 2012 16:04:19 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336665858!26347068!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDM0NTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12880 invoked from network); 10 May 2012 16:04:18 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 16:04:18 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 8FDF92F72;
	Thu, 10 May 2012 19:03:37 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id D38DB2005F; Thu, 10 May 2012 19:03:36 +0300 (EEST)
Date: Thu, 10 May 2012 19:03:36 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120510160336.GJ2058@reaktio.net>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<20120504131244.GA26418@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
	<20120510143830.GH26152@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120510143830.GH26152@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 10:38:30AM -0400, Konrad Rzeszutek Wilk wrote:
> > > > xen-changeset:   25256
> > > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > > 
> > > Please update your dom0.
> > 
> > I think we can use 3.4-RCx kernel as dom0 when sending the report next time.
> 
> Excellent!
> > 
> > > >
> > > ============================================================
> > > =====
> > > >
> > > > New issue(1)
> > > > ==============
> > > > 1. cpu weight out of range error when create hvm domU
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> > > 
> > > And what is the guest config? Does it have any cpu weights?
> > 
> > Added the config in the BZ.  It doesn't have any cpu weight in config. 
> > Some other person also reported this issue in the mailing list several days ago.
> 
> I think some of the Citrix folks were going to take a look at this.
> 
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > > > 3. [VT-D]fail to detach NIC from guest
> > > 
> > > Hmm, the last update is from a year ago. Are you sure this
> > > is an issue?
> > > 
> > Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> > According to our recent testing, it something about VNC console.
> > Also added some latest info in the BZ.
> > 
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> > > 
> > > the bug talks about 2.6.32. Can you update it to include the
> > > 3.4 (or 3.3) dmesg output?
> > > 
> > This is about 32bit Xen.
> > As we don't test 32bit Xen for a long time, we may update it when we're free.
> > 
> > > > 5. [VT-D] device reset fail when create/destroy guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> > > 
> > > Does this happen if you manually echo 1 > ../reset? And is this
> > > an issue with the kernel if you upgrade it to 3.4-rc5?
> > > 
> > When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> > "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid argument".
> 
> OK, so then the device can't do reset's properly. Is this the
> physical adaptor or the virtual one?
> 
> > This bug only exists when we use 'pcistub' to hide a device.
> 
> Ok, so it looks like upstream Linux can't do this properly on that device.
> 
> > 
> > > > 8. after detaching a VF from a guest, shutdown the guest is very slow
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> > > 
> > > Where does it slow down? When bringing the NIC down or in specific
> > > cases?
> > > Is this an issue with if you are using a different guest (say Fedora Core 16?)
> > > 
> > We found it is related to 'stdgva' option in guest config file.
> > If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
> > If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.
> 
> What does turning standard VGA and VNC on mean to the guest? Doesn't that mean
> that the VGA adapter is gone from the guest? And is this issue only
> present if you have PCI devices in the guest? Meaning do you get this
> if you boot a normal HVM guest and do 'stdvga=0' and 'vnc='1?
> 

stdvga=0 gives you the emulated Cirrus? 

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:04:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:04:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVqn-0006gW-FP; Thu, 10 May 2012 16:04:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SSVqm-0006gP-CQ
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:04:20 +0000
Received: from [85.158.138.51:23953] by server-4.bemta-3.messagelabs.com id
	9F/1D-15341-307EBAF4; Thu, 10 May 2012 16:04:19 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336665858!26347068!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDM0NTQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12880 invoked from network); 10 May 2012 16:04:18 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 16:04:18 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 8FDF92F72;
	Thu, 10 May 2012 19:03:37 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id D38DB2005F; Thu, 10 May 2012 19:03:36 +0300 (EEST)
Date: Thu, 10 May 2012 19:03:36 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120510160336.GJ2058@reaktio.net>
References: <40352EBA8B4DF841A9907B883F22B59B0FD2D31F@SHSMSX102.ccr.corp.intel.com>
	<E4558C0C96688748837EB1B05BEED75A0FCFE6F1@SHSMSX102.ccr.corp.intel.com>
	<20120504131244.GA26418@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100BAEC9@SHSMSX101.ccr.corp.intel.com>
	<20120510143830.GH26152@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120510143830.GH26152@phenom.dumpdata.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 10:38:30AM -0400, Konrad Rzeszutek Wilk wrote:
> > > > xen-changeset:   25256
> > > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > > 
> > > Please update your dom0.
> > 
> > I think we can use 3.4-RCx kernel as dom0 when sending the report next time.
> 
> Excellent!
> > 
> > > >
> > > ============================================================
> > > =====
> > > >
> > > > New issue(1)
> > > > ==============
> > > > 1. cpu weight out of range error when create hvm domU
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> > > 
> > > And what is the guest config? Does it have any cpu weights?
> > 
> > Added the config in the BZ.  It doesn't have any cpu weight in config. 
> > Some other person also reported this issue in the mailing list several days ago.
> 
> I think some of the Citrix folks were going to take a look at this.
> 
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > > > 3. [VT-D]fail to detach NIC from guest
> > > 
> > > Hmm, the last update is from a year ago. Are you sure this
> > > is an issue?
> > > 
> > Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> > According to our recent testing, it something about VNC console.
> > Also added some latest info in the BZ.
> > 
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> > > 
> > > the bug talks about 2.6.32. Can you update it to include the
> > > 3.4 (or 3.3) dmesg output?
> > > 
> > This is about 32bit Xen.
> > As we don't test 32bit Xen for a long time, we may update it when we're free.
> > 
> > > > 5. [VT-D] device reset fail when create/destroy guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> > > 
> > > Does this happen if you manually echo 1 > ../reset? And is this
> > > an issue with the kernel if you upgrade it to 3.4-rc5?
> > > 
> > When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> > "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid argument".
> 
> OK, so then the device can't do reset's properly. Is this the
> physical adaptor or the virtual one?
> 
> > This bug only exists when we use 'pcistub' to hide a device.
> 
> Ok, so it looks like upstream Linux can't do this properly on that device.
> 
> > 
> > > > 8. after detaching a VF from a guest, shutdown the guest is very slow
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> > > 
> > > Where does it slow down? When bringing the NIC down or in specific
> > > cases?
> > > Is this an issue with if you are using a different guest (say Fedora Core 16?)
> > > 
> > We found it is related to 'stdgva' option in guest config file.
> > If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
> > If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.
> 
> What does turning standard VGA and VNC on mean to the guest? Doesn't that mean
> that the VGA adapter is gone from the guest? And is this issue only
> present if you have PCI devices in the guest? Meaning do you get this
> if you boot a normal HVM guest and do 'stdvga=0' and 'vnc='1?
> 

stdvga=0 gives you the emulated Cirrus? 

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:04:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:04:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVr4-0006iK-Rv; Thu, 10 May 2012 16:04:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVr3-0006i6-4C
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:04:37 +0000
Received: from [85.158.138.51:28189] by server-10.bemta-3.messagelabs.com id
	DD/AA-29478-417EBAF4; Thu, 10 May 2012 16:04:36 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336665874!24617563!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26156 invoked from network); 10 May 2012 16:04:35 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 16:04:35 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AG3v8e012700
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:03:58 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AG3uXb018981
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 16:03:56 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AG3tNx000440; Thu, 10 May 2012 11:03:56 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 09:03:55 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8FDA24032D; Thu, 10 May 2012 11:57:51 -0400 (EDT)
Date: Thu, 10 May 2012 11:57:51 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Daniel Castro <evil.dani@gmail.com>
Message-ID: <20120510155751.GJ6389@phenom.dumpdata.com>
References: <CAP2B85-Q0BRb8j40e10CS39Mo4Z09nbiYWKw2Oo7ODGO=Wh0NQ@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B10A95EAB@BITCOM1.int.sbss.com.au>
	<CAP2B858QfdVabT+ogvgck-AfLumJ7kw8Y+z3cssjGZEL9gmONg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAP2B858QfdVabT+ogvgck-AfLumJ7kw8Y+z3cssjGZEL9gmONg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: James Harper <james.harper@bendigoit.com.au>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Little help with Seabios PV-Drivers for XEN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, Apr 07, 2012 at 08:01:14PM +0900, Daniel Castro wrote:
> Yes, out of sync, anyway...
> =

> On Fri, Mar 9, 2012 at 8:59 AM, James Harper
> <james.harper@bendigoit.com.au> wrote:
> >> Hello All,
> >>
> >> I have a little setback with the development of PV Drivers for Xen in =
SeaBIOS.
> >> The initialization code that runs in 32 Bit is working properly.
> >> But, when the system tries to read on the disk I use the ring macros t=
o get a
> >> request. The macro usage looks like this:
> >> struct blkif_ring * shared =3D memalign_low(4096,4096); //return
> >> 0x000fd630 this above 16bit address space SHARED_RING_INIT(shared); So
> >> far I have a pointer located at 0x0009a000 Under 32bit the struct is c=
orrect
> >> and all is working according to plan.
> >>
> >> But on 16bit operation read on disk I have struct blkfront_info * shar=
ed_ring
> >> =3D container_of(op->drive_g.info->shared)); // I get d630 I should ge=
t it from
> >> the correct segment, but how?
> >> RING_GET_REQUEST(shared_ring); //this returns 0xffff and should be
> >> something 0xa010 segment SS or something like that
> >
> > Just curios, does 16 bit include the required atomic instructions to ma=
nipulate the 32 bit ring counters? Or are you manipulating the ring in 32 b=
it mode and only accessing the requests already retrieved from the ring in =
16 bit mode?
> This is my current problem, when I do
> RING_GET_REQUEST(GET_GLOBAL(blk_info->private),GET_GLOBAL(blk_info->priva=
te->req_prod_pvt));
> The return address is incorrect, so I guess since inside the
> RING_REQUEST MACRO I make memory access I will need to rewrite the
> macro to include the SeaBios macros needed to address 32bit pointers
> in 16bit mode.

Which is
/* Direct access to individual ring elements, by index. */
#define RING_GET_REQUEST(_r, _idx)                                      \
    (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))


?
I would try to not use macros at the start to unravel any
complexity.

Did GET_GLOBAL(blk_info->private) get you a valid pointer? If
you do a hexdump of that area do you get what you expect?

> >
> >> SeaBios has some macros that convert a pointer in 32Bit to 16Bit by ch=
anging
> >> the segment register, yet I do not know in what segment the ring is lo=
cated,
> >> and the macros are not applied inside the procedure of the macro, for
> >> example:
> >> MAKE_FLATPTR(GET_SEG(SS),RING_GET_REQUEST(shared_ring));
> >> But this will change a 16Bit pointer of segment SS to a 32 bit segment=
. There
> >> is also the reverse but, again I do not know the segment in which I sh=
ould
> >> look for. Lastly the process inside the macro does not get this benefi=
n, and I
> >> do not know if the macro will work with a pointer of size 16bits.
> >>
> >> Any help will be GREATLY appreciated, I am almost done.
> >>
> >
> > I'm not sure if this would be useful, but is there a way to hand over t=
he ring to the OS PV drivers and avoid the teardown/setup?
> This is before there is an OS. The bios handles the boot process,
> right now I am trying to get the first read on the drive, the boot
> sector.
> >
> > James
> >
> =

> =

> =

> -- =

> +-=3D=3D=3D=3D=3D---------------------------+
> | +---------------------------------+ | This space intentionally blank
> for notetaking.
> | |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
> | |=A0=A0 | Consultant/Programmer.|
> | |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
> +-------------------------------------+
> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:04:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:04:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVr4-0006iK-Rv; Thu, 10 May 2012 16:04:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSVr3-0006i6-4C
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:04:37 +0000
Received: from [85.158.138.51:28189] by server-10.bemta-3.messagelabs.com id
	DD/AA-29478-417EBAF4; Thu, 10 May 2012 16:04:36 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336665874!24617563!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26156 invoked from network); 10 May 2012 16:04:35 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 10 May 2012 16:04:35 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AG3v8e012700
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:03:58 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AG3uXb018981
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 16:03:56 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AG3tNx000440; Thu, 10 May 2012 11:03:56 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 09:03:55 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8FDA24032D; Thu, 10 May 2012 11:57:51 -0400 (EDT)
Date: Thu, 10 May 2012 11:57:51 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Daniel Castro <evil.dani@gmail.com>
Message-ID: <20120510155751.GJ6389@phenom.dumpdata.com>
References: <CAP2B85-Q0BRb8j40e10CS39Mo4Z09nbiYWKw2Oo7ODGO=Wh0NQ@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B10A95EAB@BITCOM1.int.sbss.com.au>
	<CAP2B858QfdVabT+ogvgck-AfLumJ7kw8Y+z3cssjGZEL9gmONg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAP2B858QfdVabT+ogvgck-AfLumJ7kw8Y+z3cssjGZEL9gmONg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: James Harper <james.harper@bendigoit.com.au>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Little help with Seabios PV-Drivers for XEN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, Apr 07, 2012 at 08:01:14PM +0900, Daniel Castro wrote:
> Yes, out of sync, anyway...
> =

> On Fri, Mar 9, 2012 at 8:59 AM, James Harper
> <james.harper@bendigoit.com.au> wrote:
> >> Hello All,
> >>
> >> I have a little setback with the development of PV Drivers for Xen in =
SeaBIOS.
> >> The initialization code that runs in 32 Bit is working properly.
> >> But, when the system tries to read on the disk I use the ring macros t=
o get a
> >> request. The macro usage looks like this:
> >> struct blkif_ring * shared =3D memalign_low(4096,4096); //return
> >> 0x000fd630 this above 16bit address space SHARED_RING_INIT(shared); So
> >> far I have a pointer located at 0x0009a000 Under 32bit the struct is c=
orrect
> >> and all is working according to plan.
> >>
> >> But on 16bit operation read on disk I have struct blkfront_info * shar=
ed_ring
> >> =3D container_of(op->drive_g.info->shared)); // I get d630 I should ge=
t it from
> >> the correct segment, but how?
> >> RING_GET_REQUEST(shared_ring); //this returns 0xffff and should be
> >> something 0xa010 segment SS or something like that
> >
> > Just curios, does 16 bit include the required atomic instructions to ma=
nipulate the 32 bit ring counters? Or are you manipulating the ring in 32 b=
it mode and only accessing the requests already retrieved from the ring in =
16 bit mode?
> This is my current problem, when I do
> RING_GET_REQUEST(GET_GLOBAL(blk_info->private),GET_GLOBAL(blk_info->priva=
te->req_prod_pvt));
> The return address is incorrect, so I guess since inside the
> RING_REQUEST MACRO I make memory access I will need to rewrite the
> macro to include the SeaBios macros needed to address 32bit pointers
> in 16bit mode.

Which is
/* Direct access to individual ring elements, by index. */
#define RING_GET_REQUEST(_r, _idx)                                      \
    (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))


?
I would try to not use macros at the start to unravel any
complexity.

Did GET_GLOBAL(blk_info->private) get you a valid pointer? If
you do a hexdump of that area do you get what you expect?

> >
> >> SeaBios has some macros that convert a pointer in 32Bit to 16Bit by ch=
anging
> >> the segment register, yet I do not know in what segment the ring is lo=
cated,
> >> and the macros are not applied inside the procedure of the macro, for
> >> example:
> >> MAKE_FLATPTR(GET_SEG(SS),RING_GET_REQUEST(shared_ring));
> >> But this will change a 16Bit pointer of segment SS to a 32 bit segment=
. There
> >> is also the reverse but, again I do not know the segment in which I sh=
ould
> >> look for. Lastly the process inside the macro does not get this benefi=
n, and I
> >> do not know if the macro will work with a pointer of size 16bits.
> >>
> >> Any help will be GREATLY appreciated, I am almost done.
> >>
> >
> > I'm not sure if this would be useful, but is there a way to hand over t=
he ring to the OS PV drivers and avoid the teardown/setup?
> This is before there is an OS. The bios handles the boot process,
> right now I am trying to get the first read on the drive, the boot
> sector.
> >
> > James
> >
> =

> =

> =

> -- =

> +-=3D=3D=3D=3D=3D---------------------------+
> | +---------------------------------+ | This space intentionally blank
> for notetaking.
> | |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
> | |=A0=A0 | Consultant/Programmer.|
> | |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
> +-------------------------------------+
> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:06:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:06:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVsC-0006sp-Ez; Thu, 10 May 2012 16:05:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVsB-0006sb-B3
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:05:47 +0000
Received: from [85.158.143.35:33387] by server-3.bemta-4.messagelabs.com id
	0C/C0-05853-A57EBAF4; Thu, 10 May 2012 16:05:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336665941!14806308!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13728 invoked from network); 10 May 2012 16:05:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:05:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12412505"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:05:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:05:11 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVrb-0008EM-0Q; Thu, 10 May 2012 16:05:11 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVra-0007rf-Vo;
	Thu, 10 May 2012 17:05:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.59190.970887.861230@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:05:10 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336649312-11198-3-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-3-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4 2/4] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4 2/4] libxl: add libxl__xs_path_cleanup"):
> Add a function which behaves like "xenstore-rm -t", and which will be
> used to
> clean xenstore after unplug since we will be no longer executing
> xen-hotplug-cleanup script, that used to do that for us.

I still think this needs to run in a transaction.

Otherwise, if another xenstore user adds an entry to one of the
directories we think is empty, we will unwittingly remove that entry.

And in general it may be necessary to use the caller's transaction.
So I would make libxl__xs_path_cleanup always require a non-null
transaction to be passed in by the caller.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:06:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:06:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSVsC-0006sp-Ez; Thu, 10 May 2012 16:05:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSVsB-0006sb-B3
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:05:47 +0000
Received: from [85.158.143.35:33387] by server-3.bemta-4.messagelabs.com id
	0C/C0-05853-A57EBAF4; Thu, 10 May 2012 16:05:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336665941!14806308!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13728 invoked from network); 10 May 2012 16:05:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:05:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12412505"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:05:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:05:11 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSVrb-0008EM-0Q; Thu, 10 May 2012 16:05:11 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSVra-0007rf-Vo;
	Thu, 10 May 2012 17:05:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.59190.970887.861230@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:05:10 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336649312-11198-3-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-3-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4 2/4] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4 2/4] libxl: add libxl__xs_path_cleanup"):
> Add a function which behaves like "xenstore-rm -t", and which will be
> used to
> clean xenstore after unplug since we will be no longer executing
> xen-hotplug-cleanup script, that used to do that for us.

I still think this needs to run in a transaction.

Otherwise, if another xenstore user adds an entry to one of the
directories we think is empty, we will unwittingly remove that entry.

And in general it may be necessary to use the caller's transaction.
So I would make libxl__xs_path_cleanup always require a non-null
transaction to be passed in by the caller.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:20:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:20:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSW5r-0007Qe-0o; Thu, 10 May 2012 16:19:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSW5p-0007QZ-W4
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:19:54 +0000
Received: from [85.158.143.35:29748] by server-1.bemta-4.messagelabs.com id
	5A/4D-20925-9AAEBAF4; Thu, 10 May 2012 16:19:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336666791!13583340!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3927 invoked from network); 10 May 2012 16:19:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 16:19:52 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AGImuJ001137
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:18:48 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AGIlPD022120
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 16:18:47 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AGIjlA012929; Thu, 10 May 2012 11:18:46 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 09:18:44 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C55E24032D; Thu, 10 May 2012 12:12:40 -0400 (EDT)
Date: Thu, 10 May 2012 12:12:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120510161240.GA3215@phenom.dumpdata.com>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
	<alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
	<alpine.DEB.2.00.1205091849580.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205091849580.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
 FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 09, 2012 at 07:42:33PM +0100, Stefano Stabellini wrote:
> On Tue, 8 May 2012, Stefano Stabellini wrote:
> > I have been unable to reproduce this problem (I haven't given up yet)
> > but I bet that the following patch fixes it:
> > 
> > 
> > diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> > index e3a9945..88e9304 100644
> > --- a/drivers/block/xen-blkfront.c
> > +++ b/drivers/block/xen-blkfront.c
> > @@ -333,7 +333,7 @@ static int blkif_queue_request(struct request *req)
> >  					buffer_mfn,
> >  					rq_data_dir(req));
> >  
> > -			info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn);
> > +			info->shadow[id].frame[i] = buffer_pfn;
> >  			ring_req->u.rw.seg[i] =
> >  					(struct blkif_request_segment) {
> >  						.gref       = ref,
> > 
> > 
> > The idea is that the request contains a page for which
> > 
> > pfn->mfn->pfn == 0xffffffffffffffff
> > 
> > I am not sure exactly how it could be possible to get into this state in
> > blkfront, I hope that some more tracing and code reading will be able to
> > shed some lights on the issue.
> 
> The one line patch fixes the issue: when using LVM in the guest the same
> page can be used in two different requests (in blkif_queue_request)
> before being unmapped.
> The second time mfn_to_pfn is going to return ~0 because buffer_mfn has
> the FOREIGN_FRAME_BIT set.
> But actually we don't need to call mfn_to_pfn at all because we already
> know the pfn value, that is stored in buffer_pfn.
> 
> However the real problem remains at the time of blkif_completion: we
> will remove the FOREIGN_FRAME_BIT before the other requests have been
> completed.
> 
> If sharing the same page twice (or more) is a normal condition then I
> might have to revisit this patch completely and choose another
> strategy...

Ok, will wait for that and in the meantime drop the patch so I can
send a git pull to Jens.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:20:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:20:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSW5r-0007Qe-0o; Thu, 10 May 2012 16:19:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSW5p-0007QZ-W4
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:19:54 +0000
Received: from [85.158.143.35:29748] by server-1.bemta-4.messagelabs.com id
	5A/4D-20925-9AAEBAF4; Thu, 10 May 2012 16:19:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336666791!13583340!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3927 invoked from network); 10 May 2012 16:19:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 16:19:52 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AGImuJ001137
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:18:48 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AGIlPD022120
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 16:18:47 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AGIjlA012929; Thu, 10 May 2012 11:18:46 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 09:18:44 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C55E24032D; Thu, 10 May 2012 12:12:40 -0400 (EDT)
Date: Thu, 10 May 2012 12:12:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120510161240.GA3215@phenom.dumpdata.com>
References: <1334075119-25102-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120416195258.GA14982@phenom.dumpdata.com>
	<alpine.DEB.2.00.1204171138020.26786@kaball-desktop>
	<20120507212536.GA24344@andromeda.dapyr.net>
	<alpine.DEB.2.00.1205081826300.26786@kaball-desktop>
	<alpine.DEB.2.00.1205091849580.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205091849580.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH v3] xen-blkfront: set pages are
 FOREIGN_FRAME when sharing them
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 09, 2012 at 07:42:33PM +0100, Stefano Stabellini wrote:
> On Tue, 8 May 2012, Stefano Stabellini wrote:
> > I have been unable to reproduce this problem (I haven't given up yet)
> > but I bet that the following patch fixes it:
> > 
> > 
> > diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> > index e3a9945..88e9304 100644
> > --- a/drivers/block/xen-blkfront.c
> > +++ b/drivers/block/xen-blkfront.c
> > @@ -333,7 +333,7 @@ static int blkif_queue_request(struct request *req)
> >  					buffer_mfn,
> >  					rq_data_dir(req));
> >  
> > -			info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn);
> > +			info->shadow[id].frame[i] = buffer_pfn;
> >  			ring_req->u.rw.seg[i] =
> >  					(struct blkif_request_segment) {
> >  						.gref       = ref,
> > 
> > 
> > The idea is that the request contains a page for which
> > 
> > pfn->mfn->pfn == 0xffffffffffffffff
> > 
> > I am not sure exactly how it could be possible to get into this state in
> > blkfront, I hope that some more tracing and code reading will be able to
> > shed some lights on the issue.
> 
> The one line patch fixes the issue: when using LVM in the guest the same
> page can be used in two different requests (in blkif_queue_request)
> before being unmapped.
> The second time mfn_to_pfn is going to return ~0 because buffer_mfn has
> the FOREIGN_FRAME_BIT set.
> But actually we don't need to call mfn_to_pfn at all because we already
> know the pfn value, that is stored in buffer_pfn.
> 
> However the real problem remains at the time of blkif_completion: we
> will remove the FOREIGN_FRAME_BIT before the other requests have been
> completed.
> 
> If sharing the same page twice (or more) is a normal condition then I
> might have to revisit this patch completely and choose another
> strategy...

Ok, will wait for that and in the meantime drop the patch so I can
send a git pull to Jens.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:22:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:22:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSW7l-0007Uz-Gy; Thu, 10 May 2012 16:21:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSW7j-0007Uq-KU
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:21:51 +0000
Received: from [85.158.143.99:4730] by server-2.bemta-4.messagelabs.com id
	20/E9-17550-E1BEBAF4; Thu, 10 May 2012 16:21:50 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336666907!26843970!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12729 invoked from network); 10 May 2012 16:21:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 16:21:49 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AGLdY5004453
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:21:40 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AGLclG027913
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 16:21:39 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AGLbfN011481; Thu, 10 May 2012 11:21:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 09:21:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D1C5E4032D; Thu, 10 May 2012 12:15:33 -0400 (EDT)
Date: Thu, 10 May 2012 12:15:33 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120510161533.GC3215@phenom.dumpdata.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
	<1336646320.7098.62.camel@zakaz.uk.xensource.com>
	<686683228.20120510161211@eikelenboom.it>
	<1336659417.14220.4.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336659417.14220.4.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > > Fully hiding the device from dom0 drivers generally seems like it is
> > > always better. That way the first driver to try and touch the hardware
> > > is the one inside the domU. This avoids issues with dom0 drivers setting
> > > stuff up but not tearing it down in a way that domU can cope with and
> > > makes the use of hardware which doesn't support FLR more reliable etc.
> > 
> > Haven't checked it (haven't got the time right now) but:
> > Is using wildcards in the BDF's on the commandline supported already
> > (like the ones supported in the config files for domains)
> 
> Based on a quick scan of the code it doesn't appear so, I don't maintain
> PCI backthough so there might be something in the pipeline.
> 
> > I tend to have quite long commandlines to hide a pci-e card with 8
> > functions (needed to specify 8 BDF's seperatly) for pci passthrough,
> > would be nice if one could just specify 09:00.* for example.
> 
> It sounds useful to me.

Patches are most welcome :-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:22:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:22:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSW7l-0007Uz-Gy; Thu, 10 May 2012 16:21:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSW7j-0007Uq-KU
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:21:51 +0000
Received: from [85.158.143.99:4730] by server-2.bemta-4.messagelabs.com id
	20/E9-17550-E1BEBAF4; Thu, 10 May 2012 16:21:50 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336666907!26843970!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIyMjAy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12729 invoked from network); 10 May 2012 16:21:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 16:21:49 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4AGLdY5004453
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:21:40 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4AGLclG027913
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 10 May 2012 16:21:39 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4AGLbfN011481; Thu, 10 May 2012 11:21:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 09:21:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D1C5E4032D; Thu, 10 May 2012 12:15:33 -0400 (EDT)
Date: Thu, 10 May 2012 12:15:33 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120510161533.GC3215@phenom.dumpdata.com>
References: <patchbomb.1336559320@kodo2>
	<1336560543.25514.74.camel@zakaz.uk.xensource.com>
	<4FAA4F03.600@eu.citrix.com>
	<1336564773.25514.101.camel@zakaz.uk.xensource.com>
	<4FAA7504.5030103@eu.citrix.com>
	<CAFLBxZY43ALwVHRgpbyx7uBEFVx=CM6P7QPsfNo+q0YGDvLusw@mail.gmail.com>
	<1336646320.7098.62.camel@zakaz.uk.xensource.com>
	<686683228.20120510161211@eikelenboom.it>
	<1336659417.14220.4.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336659417.14220.4.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > > Fully hiding the device from dom0 drivers generally seems like it is
> > > always better. That way the first driver to try and touch the hardware
> > > is the one inside the domU. This avoids issues with dom0 drivers setting
> > > stuff up but not tearing it down in a way that domU can cope with and
> > > makes the use of hardware which doesn't support FLR more reliable etc.
> > 
> > Haven't checked it (haven't got the time right now) but:
> > Is using wildcards in the BDF's on the commandline supported already
> > (like the ones supported in the config files for domains)
> 
> Based on a quick scan of the code it doesn't appear so, I don't maintain
> PCI backthough so there might be something in the pipeline.
> 
> > I tend to have quite long commandlines to hide a pci-e card with 8
> > functions (needed to specify 8 BDF's seperatly) for pci passthrough,
> > would be nice if one could just specify 09:00.* for example.
> 
> It sounds useful to me.

Patches are most welcome :-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:30:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWFz-0007iJ-Gc; Thu, 10 May 2012 16:30:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSWFy-0007iE-PC
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:30:23 +0000
Received: from [85.158.138.51:30523] by server-11.bemta-3.messagelabs.com id
	A0/8A-18894-D1DEBAF4; Thu, 10 May 2012 16:30:21 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336667419!18443491!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23461 invoked from network); 10 May 2012 16:30:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:30:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25072731"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 12:30:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 12:30:18 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSWFu-0000OT-9T;
	Thu, 10 May 2012 17:30:18 +0100
Message-ID: <4FABECD3.7000401@eu.citrix.com>
Date: Thu, 10 May 2012 17:29:07 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
	<4FABD6EF.4020607@eu.citrix.com>
	<1336662282.14220.9.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336662282.14220.9.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMTAvMDUvMTIgMTY6MDQsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4+PiArICAgIHNwYXRoID0g
bGlieGxfX3NwcmludGYoZ2MsIFNZU0ZTX1BDSV9ERVYiLyJQQ0lfQkRGIi9kcml2ZXIiLAo+Pj4+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBwY2lkZXYtPmRvbWFpbiwKPj4+PiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNpZGV2LT5idXMsCj4+Pj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBjaWRldi0+ZGV2LAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBw
Y2lkZXYtPmZ1bmMpOwo+Pj4+ICsgICAgaWYgKCAhbHN0YXQoc3BhdGgsJnN0KSApIHsKPj4+PiAr
ICAgICAgICAvKiBGaW5kIHRoZSBjYW5vbmljYWwgcGF0aCB0byB0aGUgZHJpdmVyLiAqLwo+Pj4+
ICsgICAgICAgICpkcCA9IGxpYnhsX196YWxsb2MoZ2MsIFBBVEhfTUFYKTsKPj4+IFNob3VsZCB3
ZSBiZSBhY3R1YWxseSB1c2luZyBmcGF0aGNvbmYgLyBzeXNjb25mIGhlcmU/Cj4+IEkgZG9uJ3Qg
cmVhbGx5IGZvbGxvdy4gIFdoYXQgZXhhY3RseSBpcyBpdCB5b3UncmUgcHJvcG9zaW5nPwo+IFBB
VEhfTUFYIGlzbid0IHJlYWxseSBhIGNvbnN0YW50IHRoZXNlIGRheXMsIHlvdSBjYW4gZ2V0IHRo
ZSBkeW5hbWljCj4gdmFsdWUgZm9yIGEgcGFydGljdWxhciBmaWxlc3lzdGVtIGZyb20gZnBhdGhj
b25mLiBJIGhvbmVzdGx5IGRvbid0IGtub3cKPiBob3cgbXVjaCBvZiBhIGNvbmNlcm4gdGhpcyBy
ZWFsbHkgaXMsIGVzcGVjaWFsbHkgZ2l2ZW4gd2UgYXJlIGFsd2F5cwo+IG5lY2Vzc2FyaWx5IHRh
bGtpbmcgdG8gc3lzZnMuCkFoIHJpZ2h0IC0tIEkgZGlkbid0IGdldCB0aGF0IHlvdSB3ZXJlIHJl
ZmVycmluZyB0byBQQVRIX01BWC4gIFRoZSAKInJlYWxwYXRoIiBtYW5wYWdlIHNwZWNpZmllczog
ICAiVGhlIHJlc3VsdGluZyBwYXRo4oCQbmFtZSBpcyBzdG9yZWQgYXMgYSAKbnVsbC10ZXJtaW5h
dGVkIHN0cmluZywgdXAgdG8gYSBtYXhpbXVtIG9mIFBBVEhfTUFYIGJ5dGVzLCBpbiB0aGUgYnVm
ZmVyIApwb2ludGVkIHRvIGJ5IHJlc29sdmVkX3BhdGguIiAgVGhhdCdzIHdoeSBJIHVzZWQgUEFU
SF9NQVggaW4gdGhlIAphbGxvY2F0aW9uLiAgSSB3b3VsZCBob3BlIHRoYXQgaWYgdGhlIG1hbnBh
Z2Ugc2F5cyBQQVRIX01BWCwgaXQgbWVhbnMgClBBVEhfTUFYLCBhbmQgbm90ICJzb21lIG90aGVy
IHRoaW5nIHdoaWNoIHlvdSBjYW4gZ2V0IGJ5IHJ1bm5pbmcgdGhpcyAKY29tcGxpY2F0ZWQgY29t
bWFuZCBJIGhhdmVuJ3QgbWVudGlvbmVkIi4gOi0pCgpPSyAtLSBJJ3ZlIGFsc28gYWRkZWQgYSBj
b21tZW50IGV4cGxhaW5pbmcgd2h5IEknbSBkb2luZyB3aGF0IEknbSBkb2luZyAKd2l0aCBzbG90
cywgd2hpY2ggSSdsbCBpbmNsdWRlIHdoZW4gSSByZS1wb3N0IHRoZSBwYXRjaC4KCiAgLUdlb3Jn
ZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl
dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu
Lm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 10 16:30:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWFz-0007iJ-Gc; Thu, 10 May 2012 16:30:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSWFy-0007iE-PC
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:30:23 +0000
Received: from [85.158.138.51:30523] by server-11.bemta-3.messagelabs.com id
	A0/8A-18894-D1DEBAF4; Thu, 10 May 2012 16:30:21 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336667419!18443491!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQxNzM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23461 invoked from network); 10 May 2012 16:30:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:30:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330923600"; d="scan'208";a="25072731"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 12:30:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 12:30:18 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSWFu-0000OT-9T;
	Thu, 10 May 2012 17:30:18 +0100
Message-ID: <4FABECD3.7000401@eu.citrix.com>
Date: Thu, 10 May 2012 17:29:07 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
	<4FABD6EF.4020607@eu.citrix.com>
	<1336662282.14220.9.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336662282.14220.9.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMTAvMDUvMTIgMTY6MDQsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4+PiArICAgIHNwYXRoID0g
bGlieGxfX3NwcmludGYoZ2MsIFNZU0ZTX1BDSV9ERVYiLyJQQ0lfQkRGIi9kcml2ZXIiLAo+Pj4+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBwY2lkZXYtPmRvbWFpbiwKPj4+PiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNpZGV2LT5idXMsCj4+Pj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBjaWRldi0+ZGV2LAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBw
Y2lkZXYtPmZ1bmMpOwo+Pj4+ICsgICAgaWYgKCAhbHN0YXQoc3BhdGgsJnN0KSApIHsKPj4+PiAr
ICAgICAgICAvKiBGaW5kIHRoZSBjYW5vbmljYWwgcGF0aCB0byB0aGUgZHJpdmVyLiAqLwo+Pj4+
ICsgICAgICAgICpkcCA9IGxpYnhsX196YWxsb2MoZ2MsIFBBVEhfTUFYKTsKPj4+IFNob3VsZCB3
ZSBiZSBhY3R1YWxseSB1c2luZyBmcGF0aGNvbmYgLyBzeXNjb25mIGhlcmU/Cj4+IEkgZG9uJ3Qg
cmVhbGx5IGZvbGxvdy4gIFdoYXQgZXhhY3RseSBpcyBpdCB5b3UncmUgcHJvcG9zaW5nPwo+IFBB
VEhfTUFYIGlzbid0IHJlYWxseSBhIGNvbnN0YW50IHRoZXNlIGRheXMsIHlvdSBjYW4gZ2V0IHRo
ZSBkeW5hbWljCj4gdmFsdWUgZm9yIGEgcGFydGljdWxhciBmaWxlc3lzdGVtIGZyb20gZnBhdGhj
b25mLiBJIGhvbmVzdGx5IGRvbid0IGtub3cKPiBob3cgbXVjaCBvZiBhIGNvbmNlcm4gdGhpcyBy
ZWFsbHkgaXMsIGVzcGVjaWFsbHkgZ2l2ZW4gd2UgYXJlIGFsd2F5cwo+IG5lY2Vzc2FyaWx5IHRh
bGtpbmcgdG8gc3lzZnMuCkFoIHJpZ2h0IC0tIEkgZGlkbid0IGdldCB0aGF0IHlvdSB3ZXJlIHJl
ZmVycmluZyB0byBQQVRIX01BWC4gIFRoZSAKInJlYWxwYXRoIiBtYW5wYWdlIHNwZWNpZmllczog
ICAiVGhlIHJlc3VsdGluZyBwYXRo4oCQbmFtZSBpcyBzdG9yZWQgYXMgYSAKbnVsbC10ZXJtaW5h
dGVkIHN0cmluZywgdXAgdG8gYSBtYXhpbXVtIG9mIFBBVEhfTUFYIGJ5dGVzLCBpbiB0aGUgYnVm
ZmVyIApwb2ludGVkIHRvIGJ5IHJlc29sdmVkX3BhdGguIiAgVGhhdCdzIHdoeSBJIHVzZWQgUEFU
SF9NQVggaW4gdGhlIAphbGxvY2F0aW9uLiAgSSB3b3VsZCBob3BlIHRoYXQgaWYgdGhlIG1hbnBh
Z2Ugc2F5cyBQQVRIX01BWCwgaXQgbWVhbnMgClBBVEhfTUFYLCBhbmQgbm90ICJzb21lIG90aGVy
IHRoaW5nIHdoaWNoIHlvdSBjYW4gZ2V0IGJ5IHJ1bm5pbmcgdGhpcyAKY29tcGxpY2F0ZWQgY29t
bWFuZCBJIGhhdmVuJ3QgbWVudGlvbmVkIi4gOi0pCgpPSyAtLSBJJ3ZlIGFsc28gYWRkZWQgYSBj
b21tZW50IGV4cGxhaW5pbmcgd2h5IEknbSBkb2luZyB3aGF0IEknbSBkb2luZyAKd2l0aCBzbG90
cywgd2hpY2ggSSdsbCBpbmNsdWRlIHdoZW4gSSByZS1wb3N0IHRoZSBwYXRjaC4KCiAgLUdlb3Jn
ZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl
dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu
Lm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 10 16:31:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:31:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWGh-0007kp-Tr; Thu, 10 May 2012 16:31:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWGh-0007kf-4z
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:31:07 +0000
Received: from [193.109.254.147:23255] by server-5.bemta-14.messagelabs.com id
	16/30-30733-A4DEBAF4; Thu, 10 May 2012 16:31:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336667459!8667113!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6678 invoked from network); 10 May 2012 16:31:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:31:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413277"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:30:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:30:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWGF-0008Ns-VU; Thu, 10 May 2012 16:30:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWGF-0007u5-Ug;
	Thu, 10 May 2012 17:30:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.60719.885071.452187@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:30:39 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336649312-11198-4-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
	libxl	for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from libxl for vbd"):
> This is a rather big change, that adds the necessary machinery to
> perform hotplug script calling from libxl for Linux. This patch
> launches the necessary scripts to attach and detach PHY and TAP
> backend types (Qemu doesn't use hotplug scripts).

Thanks.

> -SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> -SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"

Wouldn't it be better to have an env var set by libxl to mean "_not_
called from udev?".  That would mean that if the udev rules weren't
updated for some reason it would all still work.  On many setups these
are config files which may require the user to merge changes, etc., so
this is a real concern.

> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> +# has been launched from libxl
> +if [ -n "${UDEV_CALL}" ] && \
> +   `xenstore-read "libxl/disable_udev" >/dev/null 2>&1`; then

This reads something from xenstore and executes it as a shell command!
(Also it will go wrong if the value read is empty eg becaue the key
doesn't exist.)

Also didn't I say that in xenstore we normally record booleans as
decimal integers, "0" for false and "1" for true ?

> -}    
> +}
>  
> -int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
> -{
> -    GC_INIT(ctx);
> -    char *dom_path;
> -    char *vm_path;
> -    char *pid;
> -    int rc, dm_present;
> +/* Callback for domain destruction */

The rest of this is very very difficult to review because of the
amount of code motion, variable renaming, and so forth.

Do you think it would be possible to reorganise things so that the
diff is as minimal as possible ?  Techniques you will probably find
useful include:

 * Declare some convenience variables such as
      uint32_t const domid = dis->domid;
   This is best done near the top of each function along with the new
   function prototype etc., so it doesn't introduce a mid-function
   patch hunk.  This will avoid irrelevant noise in the diff caused by
   the movement of state into the operation state struct.

 * Declare callback functions at the top of the file so that they can
   appear after the point where they are referenced, and write all the
   code in the order in which it actually occurs.  This is useful
   anyway, but it probably means that the code won't need to move
   because it's probably already in that order.  If it isn't you may
   need to move it about separately.

 * In general, avoid moving any code if at all possible in the main
   patch.  If you need to move code, do it in a pre- or post-patch.

 * Only take the opportunity to make unrelated changes (eg, changing
   from libxl__sprintf to GCSPRINTF) if you have to make another
   change to the very same line of code.

 * If any code motion is needed, split it out into a pre-patch which
   contains only code motion.

 * Be prepared to leave wrinkles in the code style or layout and fix
   them up in a later patch.

 * If it is necessary to switch a variable from a "struct foo" to a
   "struct foo*", split out a separate pre-patch which changes it to a
   "struct foo[1]".  This separate patch will then obviously have no
   functional change and wiull simply contain a lot of removing of "&"
   etc.  The actual patch with the meat can leave all those references
   unchanged.

 * Likewise if you want to change something from a "struct foo*" to a
   "struct foo" you can do the reverse: in your main patch change it
   to "struct foo[1]" instead.  Then, you can add a post-patch to fix
   that up by changing "struct foo[1]" to "struct foo" which again
   will have no functional change.

You will see me applying these techniques in my recent child process
series; I can point you at specific commits etc. if you want more
hints.

Of course this may not be feasible.  If for some parts of the code
this approach is not feasible, and the result is always going to look
like a rewrite, mention in the commit message that such-and-such
function(s) or parts of code have essentially been rewritten.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:31:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:31:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWGh-0007kp-Tr; Thu, 10 May 2012 16:31:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWGh-0007kf-4z
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:31:07 +0000
Received: from [193.109.254.147:23255] by server-5.bemta-14.messagelabs.com id
	16/30-30733-A4DEBAF4; Thu, 10 May 2012 16:31:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336667459!8667113!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6678 invoked from network); 10 May 2012 16:31:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:31:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413277"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:30:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:30:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWGF-0008Ns-VU; Thu, 10 May 2012 16:30:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWGF-0007u5-Ug;
	Thu, 10 May 2012 17:30:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.60719.885071.452187@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:30:39 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336649312-11198-4-git-send-email-roger.pau@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
	libxl	for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from libxl for vbd"):
> This is a rather big change, that adds the necessary machinery to
> perform hotplug script calling from libxl for Linux. This patch
> launches the necessary scripts to attach and detach PHY and TAP
> backend types (Qemu doesn't use hotplug scripts).

Thanks.

> -SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> -SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"

Wouldn't it be better to have an env var set by libxl to mean "_not_
called from udev?".  That would mean that if the udev rules weren't
updated for some reason it would all still work.  On many setups these
are config files which may require the user to merge changes, etc., so
this is a real concern.

> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> +# has been launched from libxl
> +if [ -n "${UDEV_CALL}" ] && \
> +   `xenstore-read "libxl/disable_udev" >/dev/null 2>&1`; then

This reads something from xenstore and executes it as a shell command!
(Also it will go wrong if the value read is empty eg becaue the key
doesn't exist.)

Also didn't I say that in xenstore we normally record booleans as
decimal integers, "0" for false and "1" for true ?

> -}    
> +}
>  
> -int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
> -{
> -    GC_INIT(ctx);
> -    char *dom_path;
> -    char *vm_path;
> -    char *pid;
> -    int rc, dm_present;
> +/* Callback for domain destruction */

The rest of this is very very difficult to review because of the
amount of code motion, variable renaming, and so forth.

Do you think it would be possible to reorganise things so that the
diff is as minimal as possible ?  Techniques you will probably find
useful include:

 * Declare some convenience variables such as
      uint32_t const domid = dis->domid;
   This is best done near the top of each function along with the new
   function prototype etc., so it doesn't introduce a mid-function
   patch hunk.  This will avoid irrelevant noise in the diff caused by
   the movement of state into the operation state struct.

 * Declare callback functions at the top of the file so that they can
   appear after the point where they are referenced, and write all the
   code in the order in which it actually occurs.  This is useful
   anyway, but it probably means that the code won't need to move
   because it's probably already in that order.  If it isn't you may
   need to move it about separately.

 * In general, avoid moving any code if at all possible in the main
   patch.  If you need to move code, do it in a pre- or post-patch.

 * Only take the opportunity to make unrelated changes (eg, changing
   from libxl__sprintf to GCSPRINTF) if you have to make another
   change to the very same line of code.

 * If any code motion is needed, split it out into a pre-patch which
   contains only code motion.

 * Be prepared to leave wrinkles in the code style or layout and fix
   them up in a later patch.

 * If it is necessary to switch a variable from a "struct foo" to a
   "struct foo*", split out a separate pre-patch which changes it to a
   "struct foo[1]".  This separate patch will then obviously have no
   functional change and wiull simply contain a lot of removing of "&"
   etc.  The actual patch with the meat can leave all those references
   unchanged.

 * Likewise if you want to change something from a "struct foo*" to a
   "struct foo" you can do the reverse: in your main patch change it
   to "struct foo[1]" instead.  Then, you can add a post-patch to fix
   that up by changing "struct foo[1]" to "struct foo" which again
   will have no functional change.

You will see me applying these techniques in my recent child process
series; I can point you at specific commits etc. if you want more
hints.

Of course this may not be feasible.  If for some parts of the code
this approach is not feasible, and the result is always going to look
like a rewrite, mention in the commit message that such-and-such
function(s) or parts of code have essentially been rewritten.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:34:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWK9-0007xu-I0; Thu, 10 May 2012 16:34:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWK8-0007xk-0p
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:34:40 +0000
Received: from [85.158.143.99:40817] by server-3.bemta-4.messagelabs.com id
	FE/B1-05853-F1EEBAF4; Thu, 10 May 2012 16:34:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336667677!20375897!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6492 invoked from network); 10 May 2012 16:34:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:34:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413344"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:34:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:34:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWK4-0008PQ-6q; Thu, 10 May 2012 16:34:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWK4-0007wf-69;
	Thu, 10 May 2012 17:34:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.60956.170569.592055@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:34:36 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
References: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/2] libxl: add "downscript=no" to Qemu call
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH 1/2] libxl: add "downscript=no" to Qemu call"):
> Currently we only pass script=no to Qemu, to avoid calling any scripts when
> attaching a tap interface, but we should also pass downscript=no to avoid Qemu
> trying to execute a script when disconnecting the interface. This prevents the
> following harmless error message:

Acked and applied both, thanks.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:34:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWK9-0007xu-I0; Thu, 10 May 2012 16:34:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWK8-0007xk-0p
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:34:40 +0000
Received: from [85.158.143.99:40817] by server-3.bemta-4.messagelabs.com id
	FE/B1-05853-F1EEBAF4; Thu, 10 May 2012 16:34:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336667677!20375897!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6492 invoked from network); 10 May 2012 16:34:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:34:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413344"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:34:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:34:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWK4-0008PQ-6q; Thu, 10 May 2012 16:34:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWK4-0007wf-69;
	Thu, 10 May 2012 17:34:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.60956.170569.592055@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:34:36 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
References: <1336652343-12279-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/2] libxl: add "downscript=no" to Qemu call
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH 1/2] libxl: add "downscript=no" to Qemu call"):
> Currently we only pass script=no to Qemu, to avoid calling any scripts when
> attaching a tap interface, but we should also pass downscript=no to avoid Qemu
> trying to execute a script when disconnecting the interface. This prevents the
> following harmless error message:

Acked and applied both, thanks.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWKR-0007ze-Ua; Thu, 10 May 2012 16:34:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWKQ-0007zG-LU
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:34:58 +0000
Received: from [85.158.143.35:28265] by server-3.bemta-4.messagelabs.com id
	CB/02-05853-13EEBAF4; Thu, 10 May 2012 16:34:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336667696!10456856!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5445 invoked from network); 10 May 2012 16:34:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:34:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413347"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:34:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:34:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWKN-0008Pb-Tu; Thu, 10 May 2012 16:34:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWKN-0007wj-TB;
	Thu, 10 May 2012 17:34:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.60975.888286.338290@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:34:55 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <77ed22f4b55b4528d71e.1336146061@probook.site>
References: <77ed22f4b55b4528d71e.1336146061@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] tools/vtpm_manager: add missing DESTDIR
	to	install rule
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] tools/vtpm_manager: add missing DESTDIR to install rule"):
> tools/vtpm_manager: add missing DESTDIR to install rule

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWKR-0007ze-Ua; Thu, 10 May 2012 16:34:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWKQ-0007zG-LU
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:34:58 +0000
Received: from [85.158.143.35:28265] by server-3.bemta-4.messagelabs.com id
	CB/02-05853-13EEBAF4; Thu, 10 May 2012 16:34:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336667696!10456856!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5445 invoked from network); 10 May 2012 16:34:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:34:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413347"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:34:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:34:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWKN-0008Pb-Tu; Thu, 10 May 2012 16:34:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWKN-0007wj-TB;
	Thu, 10 May 2012 17:34:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.60975.888286.338290@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:34:55 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <77ed22f4b55b4528d71e.1336146061@probook.site>
References: <77ed22f4b55b4528d71e.1336146061@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] tools/vtpm_manager: add missing DESTDIR
	to	install rule
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] tools/vtpm_manager: add missing DESTDIR to install rule"):
> tools/vtpm_manager: add missing DESTDIR to install rule

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:36:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:36:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWLO-00088L-Hc; Thu, 10 May 2012 16:35:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWLN-00088B-85
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:35:57 +0000
Received: from [85.158.143.35:39169] by server-1.bemta-4.messagelabs.com id
	99/7D-20925-C6EEBAF4; Thu, 10 May 2012 16:35:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336667755!12306587!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8519 invoked from network); 10 May 2012 16:35:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:35:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413366"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:35:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:35:54 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWLK-0008Py-Ow; Thu, 10 May 2012 16:35:54 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWLK-0007wu-O5;
	Thu, 10 May 2012 17:35:54 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61034.710697.730395@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:35:54 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <9a430b7e2df2893f7f4f.1336153114@probook.site>
References: <9a430b7e2df2893f7f4f.1336153114@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] tools/hotplug: remove 4 from default
 runlevel in xen-watchdog, xend and xendomains
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] tools/hotplug: remove 4 from default runlevel in xen-watchdog, xend and xendomains"):
> tools/hotplug: remove 4 from default runlevel in xen-watchdog, xend and xendomains

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:36:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:36:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWLO-00088L-Hc; Thu, 10 May 2012 16:35:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWLN-00088B-85
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:35:57 +0000
Received: from [85.158.143.35:39169] by server-1.bemta-4.messagelabs.com id
	99/7D-20925-C6EEBAF4; Thu, 10 May 2012 16:35:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336667755!12306587!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8519 invoked from network); 10 May 2012 16:35:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:35:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413366"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:35:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:35:54 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWLK-0008Py-Ow; Thu, 10 May 2012 16:35:54 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWLK-0007wu-O5;
	Thu, 10 May 2012 17:35:54 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61034.710697.730395@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:35:54 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <9a430b7e2df2893f7f4f.1336153114@probook.site>
References: <9a430b7e2df2893f7f4f.1336153114@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] tools/hotplug: remove 4 from default
 runlevel in xen-watchdog, xend and xendomains
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] tools/hotplug: remove 4 from default runlevel in xen-watchdog, xend and xendomains"):
> tools/hotplug: remove 4 from default runlevel in xen-watchdog, xend and xendomains

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:36:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:36:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWLS-00089I-UD; Thu, 10 May 2012 16:36:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWLR-00088B-P6
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:36:01 +0000
Received: from [85.158.143.35:30996] by server-1.bemta-4.messagelabs.com id
	0D/8D-20925-17EEBAF4; Thu, 10 May 2012 16:36:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336667755!12306587!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8624 invoked from network); 10 May 2012 16:36:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:36:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413370"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:36:00 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:36:00 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWLQ-0008Q2-As; Thu, 10 May 2012 16:36:00 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWLQ-0007wy-AC;
	Thu, 10 May 2012 17:36:00 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61040.302603.309980@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:36:00 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <c19bca94a5ade9c8a528.1336153429@probook.site>
References: <c19bca94a5ade9c8a528.1336153429@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] [PATCH] tools/vtpm: use LDLIBS to pass -lgmp
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] tools/vtpm: use LDLIBS to pass -lgmp"):
> tools/vtpm: use LDLIBS to pass -lgmp

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:36:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:36:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWLS-00089I-UD; Thu, 10 May 2012 16:36:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWLR-00088B-P6
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:36:01 +0000
Received: from [85.158.143.35:30996] by server-1.bemta-4.messagelabs.com id
	0D/8D-20925-17EEBAF4; Thu, 10 May 2012 16:36:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336667755!12306587!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8624 invoked from network); 10 May 2012 16:36:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:36:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413370"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:36:00 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:36:00 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWLQ-0008Q2-As; Thu, 10 May 2012 16:36:00 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWLQ-0007wy-AC;
	Thu, 10 May 2012 17:36:00 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61040.302603.309980@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:36:00 +0100
To: Olaf Hering <olaf@aepfle.de>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <c19bca94a5ade9c8a528.1336153429@probook.site>
References: <c19bca94a5ade9c8a528.1336153429@probook.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com, Ross Philipson <Ross.Philipson@citrix.com>
Subject: Re: [Xen-devel] [PATCH] tools/vtpm: use LDLIBS to pass -lgmp
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Olaf Hering writes ("[Xen-devel] [PATCH] tools/vtpm: use LDLIBS to pass -lgmp"):
> tools/vtpm: use LDLIBS to pass -lgmp

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:38:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:38:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWO2-00006x-Hy; Thu, 10 May 2012 16:38:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWO0-00006h-9X
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:38:40 +0000
Received: from [193.109.254.147:62822] by server-3.bemta-14.messagelabs.com id
	AE/FB-23274-F0FEBAF4; Thu, 10 May 2012 16:38:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336667917!2974925!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20608 invoked from network); 10 May 2012 16:38:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:38:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413422"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:38:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:38:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWNx-0008Qs-7Z; Thu, 10 May 2012 16:38:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWNx-0007xG-6W;
	Thu, 10 May 2012 17:38:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61197.187421.725113@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:38:37 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336652920-12358-1-git-send-email-roger.pau@citrix.com>
References: <1336652920-12358-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v2] libxl: make libxl_device_{vkb,
	vfb}_add async operations.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v2] libxl: make libxl_device_{vkb, vfb}_add async operations."):
> Also move the functions to libxl_device.c, as done with disk and nic
> add fuctions, so libxl_device_{vkb,vfb}_add are mere wrappers arround
> libxl__device_{vkb,vfb}_add, that can be called from a running AO
> operation. Quite a lot of code motion here also, and integration with
> the new AO domain creation.
> 
> This should be applied after my "libxl: call hotplug scripts from
> libxl for vif" series.

Can you please (a) add it to the end of your series and (b) separate
out the code motion ?  As it is it is difficult to review.

As a guideline, I would recommend trying to actually read the patch,
by eye, before you post it.  If you find you can't make head or tail
of it then probably we won't be able to either :-).

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:38:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:38:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWO2-00006x-Hy; Thu, 10 May 2012 16:38:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWO0-00006h-9X
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:38:40 +0000
Received: from [193.109.254.147:62822] by server-3.bemta-14.messagelabs.com id
	AE/FB-23274-F0FEBAF4; Thu, 10 May 2012 16:38:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336667917!2974925!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20608 invoked from network); 10 May 2012 16:38:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:38:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413422"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:38:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:38:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWNx-0008Qs-7Z; Thu, 10 May 2012 16:38:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWNx-0007xG-6W;
	Thu, 10 May 2012 17:38:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61197.187421.725113@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:38:37 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336652920-12358-1-git-send-email-roger.pau@citrix.com>
References: <1336652920-12358-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v2] libxl: make libxl_device_{vkb,
	vfb}_add async operations.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v2] libxl: make libxl_device_{vkb, vfb}_add async operations."):
> Also move the functions to libxl_device.c, as done with disk and nic
> add fuctions, so libxl_device_{vkb,vfb}_add are mere wrappers arround
> libxl__device_{vkb,vfb}_add, that can be called from a running AO
> operation. Quite a lot of code motion here also, and integration with
> the new AO domain creation.
> 
> This should be applied after my "libxl: call hotplug scripts from
> libxl for vif" series.

Can you please (a) add it to the end of your series and (b) separate
out the code motion ?  As it is it is difficult to review.

As a guideline, I would recommend trying to actually read the patch,
by eye, before you post it.  If you find you can't make head or tail
of it then probably we won't be able to either :-).

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:41:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWQV-0000KN-3h; Thu, 10 May 2012 16:41:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWQU-0000KG-F6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:41:14 +0000
Received: from [193.109.254.147:52095] by server-6.bemta-14.messagelabs.com id
	EC/48-04960-9AFEBAF4; Thu, 10 May 2012 16:41:13 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336668072!8652123!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25997 invoked from network); 10 May 2012 16:41:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:41:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413450"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:41:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:41:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWQH-0008Re-Qz; Thu, 10 May 2012 16:41:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWQH-0007xf-Q4;
	Thu, 10 May 2012 17:41:01 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61341.793000.935045@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:41:01 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336654013-12457-1-git-send-email-roger.pau@citrix.com>
References: <1336654013-12457-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RFC] scripts: add checkpatch.pl script
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH RFC] scripts: add checkpatch.pl script"):
> This script is a copy from the QEMU one, wich is itself a copy from
> the Linux kernel one (as far as I can tell).
> 
> This script will only check for parts of the patches that touch libxl
> files, and I've adapted it to match our CODING_STYLE a little bit,
> major differences include the following:

Thanks.  I'm not going to review the actual Perl code here :-) but I
might try it out on some examples.

But shouldn't this go in tools/libxl ?  I think trying to have a
single checkpatch for the whole tree is doomed and the clone and hack
is acceptable here I think.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:41:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWQV-0000KN-3h; Thu, 10 May 2012 16:41:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWQU-0000KG-F6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:41:14 +0000
Received: from [193.109.254.147:52095] by server-6.bemta-14.messagelabs.com id
	EC/48-04960-9AFEBAF4; Thu, 10 May 2012 16:41:13 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336668072!8652123!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25997 invoked from network); 10 May 2012 16:41:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:41:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413450"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:41:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:41:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWQH-0008Re-Qz; Thu, 10 May 2012 16:41:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWQH-0007xf-Q4;
	Thu, 10 May 2012 17:41:01 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61341.793000.935045@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:41:01 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336654013-12457-1-git-send-email-roger.pau@citrix.com>
References: <1336654013-12457-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RFC] scripts: add checkpatch.pl script
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH RFC] scripts: add checkpatch.pl script"):
> This script is a copy from the QEMU one, wich is itself a copy from
> the Linux kernel one (as far as I can tell).
> 
> This script will only check for parts of the patches that touch libxl
> files, and I've adapted it to match our CODING_STYLE a little bit,
> major differences include the following:

Thanks.  I'm not going to review the actual Perl code here :-) but I
might try it out on some examples.

But shouldn't this go in tools/libxl ?  I think trying to have a
single checkpatch for the whole tree is doomed and the clone and hack
is acceptable here I think.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWRy-0000Qi-Pp; Thu, 10 May 2012 16:42:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWRx-0000Q9-Ls
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:42:45 +0000
Received: from [85.158.139.83:3202] by server-9.bemta-5.messagelabs.com id
	3C/BF-09826-400FBAF4; Thu, 10 May 2012 16:42:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336668162!27720018!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23788 invoked from network); 10 May 2012 16:42:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:42:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413489"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:42:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:42:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWRt-0008S8-R6; Thu, 10 May 2012 16:42:41 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWRt-0007xz-QI;
	Thu, 10 May 2012 17:42:41 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61441.798609.813385@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:42:41 +0100
To: lars.kurth@xen.org
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <m2n.s.1SPz0P-133451@chiark.greenend.org.uk>
References: <m2n.s.1SPz0P-133451@chiark.greenend.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-arm@lists.xen.org, xen-api@lists.xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [Proposal] Minor additions and clarification to
	Xen	Project Governance
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Lars Kurth writes ("[Xen-devel] [Proposal] Minor additions and clarification to Xen Project Governance"):
> Timetable:
> 
> 1) Open review with feedback until 11th May (a bit more than a week from 
> today)
> 
> 2) Lars to incorporate any feedback and publish a revision.
> 
> 3) Lars to set up a private poll via a form, the week of May 14th which 
> will be open for a week. Community members that can vote are maintainers 
> (including committers and maintainers)of any mature project in Xen (aka 
> Xen and XCP).

Thanks for taking the lead on this Lars.  The changes look sensible
and uncontroversial to me.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWRy-0000Qi-Pp; Thu, 10 May 2012 16:42:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWRx-0000Q9-Ls
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:42:45 +0000
Received: from [85.158.139.83:3202] by server-9.bemta-5.messagelabs.com id
	3C/BF-09826-400FBAF4; Thu, 10 May 2012 16:42:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336668162!27720018!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23788 invoked from network); 10 May 2012 16:42:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:42:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413489"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:42:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:42:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWRt-0008S8-R6; Thu, 10 May 2012 16:42:41 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWRt-0007xz-QI;
	Thu, 10 May 2012 17:42:41 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.61441.798609.813385@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:42:41 +0100
To: lars.kurth@xen.org
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <m2n.s.1SPz0P-133451@chiark.greenend.org.uk>
References: <m2n.s.1SPz0P-133451@chiark.greenend.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-arm@lists.xen.org, xen-api@lists.xen.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [Proposal] Minor additions and clarification to
	Xen	Project Governance
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Lars Kurth writes ("[Xen-devel] [Proposal] Minor additions and clarification to Xen Project Governance"):
> Timetable:
> 
> 1) Open review with feedback until 11th May (a bit more than a week from 
> today)
> 
> 2) Lars to incorporate any feedback and publish a revision.
> 
> 3) Lars to set up a private poll via a form, the week of May 14th which 
> will be open for a week. Community members that can vote are maintainers 
> (including committers and maintainers)of any mature project in Xen (aka 
> Xen and XCP).

Thanks for taking the lead on this Lars.  The changes look sensible
and uncontroversial to me.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:46:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:46:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWVG-0000il-DS; Thu, 10 May 2012 16:46:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSWVE-0000ia-Jh
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:46:08 +0000
Received: from [85.158.143.35:33131] by server-1.bemta-4.messagelabs.com id
	A9/B7-20925-FC0FBAF4; Thu, 10 May 2012 16:46:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336668366!12307775!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5966 invoked from network); 10 May 2012 16:46:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:46:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413532"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:45:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 17:45:53 +0100
Message-ID: <1336668352.14220.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 17:45:52 +0100
In-Reply-To: <4FABECD3.7000401@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
	<4FABD6EF.4020607@eu.citrix.com>
	<1336662282.14220.9.camel@zakaz.uk.xensource.com>
	<4FABECD3.7000401@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCAyMDEyLTA1LTEwIGF0IDE3OjI5ICswMTAwLCBHZW9yZ2UgRHVubGFwIHdyb3RlOgo+
IE9uIDEwLzA1LzEyIDE2OjA0LCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4gPj4+PiArICAgIHNwYXRo
ID0gbGlieGxfX3NwcmludGYoZ2MsIFNZU0ZTX1BDSV9ERVYiLyJQQ0lfQkRGIi9kcml2ZXIiLAo+
ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaWRldi0+ZG9tYWluLAo+ID4+Pj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaWRldi0+YnVzLAo+ID4+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjaWRldi0+ZGV2LAo+ID4+Pj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBjaWRldi0+ZnVuYyk7Cj4gPj4+PiArICAgIGlmICggIWxzdGF0KHNwYXRoLCZz
dCkgKSB7Cj4gPj4+PiArICAgICAgICAvKiBGaW5kIHRoZSBjYW5vbmljYWwgcGF0aCB0byB0aGUg
ZHJpdmVyLiAqLwo+ID4+Pj4gKyAgICAgICAgKmRwID0gbGlieGxfX3phbGxvYyhnYywgUEFUSF9N
QVgpOwo+ID4+PiBTaG91bGQgd2UgYmUgYWN0dWFsbHkgdXNpbmcgZnBhdGhjb25mIC8gc3lzY29u
ZiBoZXJlPwo+ID4+IEkgZG9uJ3QgcmVhbGx5IGZvbGxvdy4gIFdoYXQgZXhhY3RseSBpcyBpdCB5
b3UncmUgcHJvcG9zaW5nPwo+ID4gUEFUSF9NQVggaXNuJ3QgcmVhbGx5IGEgY29uc3RhbnQgdGhl
c2UgZGF5cywgeW91IGNhbiBnZXQgdGhlIGR5bmFtaWMKPiA+IHZhbHVlIGZvciBhIHBhcnRpY3Vs
YXIgZmlsZXN5c3RlbSBmcm9tIGZwYXRoY29uZi4gSSBob25lc3RseSBkb24ndCBrbm93Cj4gPiBo
b3cgbXVjaCBvZiBhIGNvbmNlcm4gdGhpcyByZWFsbHkgaXMsIGVzcGVjaWFsbHkgZ2l2ZW4gd2Ug
YXJlIGFsd2F5cwo+ID4gbmVjZXNzYXJpbHkgdGFsa2luZyB0byBzeXNmcy4KPiBBaCByaWdodCAt
LSBJIGRpZG4ndCBnZXQgdGhhdCB5b3Ugd2VyZSByZWZlcnJpbmcgdG8gUEFUSF9NQVguICBUaGUg
Cj4gInJlYWxwYXRoIiBtYW5wYWdlIHNwZWNpZmllczogICAiVGhlIHJlc3VsdGluZyBwYXRo4oCQ
bmFtZSBpcyBzdG9yZWQgYXMgYSAKPiBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nLCB1cCB0byBhIG1h
eGltdW0gb2YgUEFUSF9NQVggYnl0ZXMsIGluIHRoZSBidWZmZXIgCj4gcG9pbnRlZCB0byBieSBy
ZXNvbHZlZF9wYXRoLiIgIFRoYXQncyB3aHkgSSB1c2VkIFBBVEhfTUFYIGluIHRoZSAKPiBhbGxv
Y2F0aW9uLiAgSSB3b3VsZCBob3BlIHRoYXQgaWYgdGhlIG1hbnBhZ2Ugc2F5cyBQQVRIX01BWCwg
aXQgbWVhbnMgCj4gUEFUSF9NQVgsIGFuZCBub3QgInNvbWUgb3RoZXIgdGhpbmcgd2hpY2ggeW91
IGNhbiBnZXQgYnkgcnVubmluZyB0aGlzIAo+IGNvbXBsaWNhdGVkIGNvbW1hbmQgSSBoYXZlbid0
IG1lbnRpb25lZCIuIDotKQoKWWVzLCB0aGF0J3MgZmFpciA7LSkKCkkgdGhpbmsgdGhlIGlzc3Vl
IG1pZ2h0IGJlIHRoYXQgc29tZSBzeXN0ZW1zIGRlY2xhcmUgUEFUSF9NQVggdG8gYmUKZW5vcm1v
dXMgKHRvIGNvdmVyIGFsbCBiYXNlcykgYW5kIHN5c2NvbmYgbGV0cyB5b3UgdXNlIHNvbWV0aGlu
ZyBtb3JlCnJlYWxpc3RpYy9yZWxldmFudCB0byB0aGUgYWN0dWFsIHNpdHVhdGlvbi4KCkxvb2tz
IGxpa2Ugb24gTGludXggaXQgaXMgNDA5Niwgd2hpY2ggSSBndWVzcyBpcyBvay4KCj4gT0sgLS0g
SSd2ZSBhbHNvIGFkZGVkIGEgY29tbWVudCBleHBsYWluaW5nIHdoeSBJJ20gZG9pbmcgd2hhdCBJ
J20gZG9pbmcgCj4gd2l0aCBzbG90cywgd2hpY2ggSSdsbCBpbmNsdWRlIHdoZW4gSSByZS1wb3N0
IHRoZSBwYXRjaC4KClRhIQoKSWFuLgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54
ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Thu May 10 16:46:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:46:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWVG-0000il-DS; Thu, 10 May 2012 16:46:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSWVE-0000ia-Jh
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:46:08 +0000
Received: from [85.158.143.35:33131] by server-1.bemta-4.messagelabs.com id
	A9/B7-20925-FC0FBAF4; Thu, 10 May 2012 16:46:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336668366!12307775!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5966 invoked from network); 10 May 2012 16:46:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:46:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413532"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:45:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 17:45:53 +0100
Message-ID: <1336668352.14220.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 10 May 2012 17:45:52 +0100
In-Reply-To: <4FABECD3.7000401@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<17a5b562d1e79d094c58.1336559323@kodo2>
	<1336648786.7098.89.camel@zakaz.uk.xensource.com>
	<4FABD6EF.4020607@eu.citrix.com>
	<1336662282.14220.9.camel@zakaz.uk.xensource.com>
	<4FABECD3.7000401@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCAyMDEyLTA1LTEwIGF0IDE3OjI5ICswMTAwLCBHZW9yZ2UgRHVubGFwIHdyb3RlOgo+
IE9uIDEwLzA1LzEyIDE2OjA0LCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4gPj4+PiArICAgIHNwYXRo
ID0gbGlieGxfX3NwcmludGYoZ2MsIFNZU0ZTX1BDSV9ERVYiLyJQQ0lfQkRGIi9kcml2ZXIiLAo+
ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaWRldi0+ZG9tYWluLAo+ID4+Pj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaWRldi0+YnVzLAo+ID4+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjaWRldi0+ZGV2LAo+ID4+Pj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBjaWRldi0+ZnVuYyk7Cj4gPj4+PiArICAgIGlmICggIWxzdGF0KHNwYXRoLCZz
dCkgKSB7Cj4gPj4+PiArICAgICAgICAvKiBGaW5kIHRoZSBjYW5vbmljYWwgcGF0aCB0byB0aGUg
ZHJpdmVyLiAqLwo+ID4+Pj4gKyAgICAgICAgKmRwID0gbGlieGxfX3phbGxvYyhnYywgUEFUSF9N
QVgpOwo+ID4+PiBTaG91bGQgd2UgYmUgYWN0dWFsbHkgdXNpbmcgZnBhdGhjb25mIC8gc3lzY29u
ZiBoZXJlPwo+ID4+IEkgZG9uJ3QgcmVhbGx5IGZvbGxvdy4gIFdoYXQgZXhhY3RseSBpcyBpdCB5
b3UncmUgcHJvcG9zaW5nPwo+ID4gUEFUSF9NQVggaXNuJ3QgcmVhbGx5IGEgY29uc3RhbnQgdGhl
c2UgZGF5cywgeW91IGNhbiBnZXQgdGhlIGR5bmFtaWMKPiA+IHZhbHVlIGZvciBhIHBhcnRpY3Vs
YXIgZmlsZXN5c3RlbSBmcm9tIGZwYXRoY29uZi4gSSBob25lc3RseSBkb24ndCBrbm93Cj4gPiBo
b3cgbXVjaCBvZiBhIGNvbmNlcm4gdGhpcyByZWFsbHkgaXMsIGVzcGVjaWFsbHkgZ2l2ZW4gd2Ug
YXJlIGFsd2F5cwo+ID4gbmVjZXNzYXJpbHkgdGFsa2luZyB0byBzeXNmcy4KPiBBaCByaWdodCAt
LSBJIGRpZG4ndCBnZXQgdGhhdCB5b3Ugd2VyZSByZWZlcnJpbmcgdG8gUEFUSF9NQVguICBUaGUg
Cj4gInJlYWxwYXRoIiBtYW5wYWdlIHNwZWNpZmllczogICAiVGhlIHJlc3VsdGluZyBwYXRo4oCQ
bmFtZSBpcyBzdG9yZWQgYXMgYSAKPiBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nLCB1cCB0byBhIG1h
eGltdW0gb2YgUEFUSF9NQVggYnl0ZXMsIGluIHRoZSBidWZmZXIgCj4gcG9pbnRlZCB0byBieSBy
ZXNvbHZlZF9wYXRoLiIgIFRoYXQncyB3aHkgSSB1c2VkIFBBVEhfTUFYIGluIHRoZSAKPiBhbGxv
Y2F0aW9uLiAgSSB3b3VsZCBob3BlIHRoYXQgaWYgdGhlIG1hbnBhZ2Ugc2F5cyBQQVRIX01BWCwg
aXQgbWVhbnMgCj4gUEFUSF9NQVgsIGFuZCBub3QgInNvbWUgb3RoZXIgdGhpbmcgd2hpY2ggeW91
IGNhbiBnZXQgYnkgcnVubmluZyB0aGlzIAo+IGNvbXBsaWNhdGVkIGNvbW1hbmQgSSBoYXZlbid0
IG1lbnRpb25lZCIuIDotKQoKWWVzLCB0aGF0J3MgZmFpciA7LSkKCkkgdGhpbmsgdGhlIGlzc3Vl
IG1pZ2h0IGJlIHRoYXQgc29tZSBzeXN0ZW1zIGRlY2xhcmUgUEFUSF9NQVggdG8gYmUKZW5vcm1v
dXMgKHRvIGNvdmVyIGFsbCBiYXNlcykgYW5kIHN5c2NvbmYgbGV0cyB5b3UgdXNlIHNvbWV0aGlu
ZyBtb3JlCnJlYWxpc3RpYy9yZWxldmFudCB0byB0aGUgYWN0dWFsIHNpdHVhdGlvbi4KCkxvb2tz
IGxpa2Ugb24gTGludXggaXQgaXMgNDA5Niwgd2hpY2ggSSBndWVzcyBpcyBvay4KCj4gT0sgLS0g
SSd2ZSBhbHNvIGFkZGVkIGEgY29tbWVudCBleHBsYWluaW5nIHdoeSBJJ20gZG9pbmcgd2hhdCBJ
J20gZG9pbmcgCj4gd2l0aCBzbG90cywgd2hpY2ggSSdsbCBpbmNsdWRlIHdoZW4gSSByZS1wb3N0
IHRoZSBwYXRjaC4KClRhIQoKSWFuLgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54
ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Thu May 10 16:53:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:53:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWc5-0000tI-9S; Thu, 10 May 2012 16:53:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWc3-0000tA-R1
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:53:12 +0000
Received: from [85.158.143.99:7825] by server-1.bemta-4.messagelabs.com id
	E8/AF-20925-772FBAF4; Thu, 10 May 2012 16:53:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336668790!22159809!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7627 invoked from network); 10 May 2012 16:53:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:53:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413624"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:53:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:53:09 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWc1-0008Vg-KC; Thu, 10 May 2012 16:53:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWc1-0007z3-JA;
	Thu, 10 May 2012 17:53:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.62069.578209.953705@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:53:09 +0100
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Zhang, Yang Z writes ("[Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus"):
> libxl: allow to set more than 31 vcpus
> 
> In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
> In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.
...
> -    if (!b_info->cur_vcpus)
> -        b_info->cur_vcpus = 1;
> +    if (!b_info->avail_vcpus.size) {
> +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> +            return ERROR_NOMEM;
> +        libxl_cpumap_set(&b_info->avail_vcpus, 0);
> +    }

This error handling should really go away.  Would you be able to
provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
That never fails, so that would also mean libxl_cpumap_alloc can't
fail.

> diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c    Thu Apr 12 14:01:27 2012 +0100
> +++ b/tools/libxl/libxl_dm.c    Fri May 04 10:47:00 2012 +0800
> @@ -200,10 +200,35 @@ static char ** libxl__build_device_model
>                                libxl__sprintf(gc, "%d", b_info->max_vcpus),
>                                NULL);
>          }
> -        if (b_info->cur_vcpus) {
> +        if (b_info->avail_vcpus.size) {
> +            int i, nr_set_cpus = 0;
> +            char *s;
> +
> +            libxl_for_each_set_cpu(i,
> +                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
> +                nr_set_cpus++;
> +
> +            s = (char *)malloc((nr_set_cpus + 3) / 4 + 1);
> +
> +            memset(s + ((nr_set_cpus % 4) ? 1 : 0), 'f', nr_set_cpus / 4);
> +            switch (nr_set_cpus % 4) {
> +            case 1:
> +                s[0] = '1';
> +                break;
> +            case 2:
> +                s[0] = '3';
> +                break;
> +            case 3:
> +                s[0] = '7';
> +                break;
> +            }
> +
> +            s[(nr_set_cpus + 3) / 4] = '\0';

This is an arbitrary precision conversion to hex.  Wouldn't it be
better to provide libxl_cpumap_set_all, and libxl_cpumap_hexmask or
something ?

> @@ -437,11 +462,16 @@ static char ** libxl__build_device_model
>          }
>          if (b_info->max_vcpus > 1) {
>              flexarray_append(dm_args, "-smp");
> -            if (b_info->cur_vcpus)
> +            if (b_info->avail_vcpus.size) {
> +                int i, nr_set_cpus = 0;
> +                libxl_for_each_set_cpu(i,
> +                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
> +                    nr_set_cpus++;

If we had libxl_cpumap_count_set this would be clearer.

> diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
>      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
>      for (i = 0; i < info->max_vcpus; i++) {
>          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
> +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> +                            && !libxl_cpumap_test(&info->avail_vcpus, i))
>                              ? "offline" : "online";

If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
simpler.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:53:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:53:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWc5-0000tI-9S; Thu, 10 May 2012 16:53:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWc3-0000tA-R1
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 16:53:12 +0000
Received: from [85.158.143.99:7825] by server-1.bemta-4.messagelabs.com id
	E8/AF-20925-772FBAF4; Thu, 10 May 2012 16:53:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336668790!22159809!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7627 invoked from network); 10 May 2012 16:53:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:53:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413624"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:53:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:53:09 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWc1-0008Vg-KC; Thu, 10 May 2012 16:53:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWc1-0007z3-JA;
	Thu, 10 May 2012 17:53:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.62069.578209.953705@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 17:53:09 +0100
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Zhang, Yang Z writes ("[Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus"):
> libxl: allow to set more than 31 vcpus
> 
> In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
> In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.
...
> -    if (!b_info->cur_vcpus)
> -        b_info->cur_vcpus = 1;
> +    if (!b_info->avail_vcpus.size) {
> +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> +            return ERROR_NOMEM;
> +        libxl_cpumap_set(&b_info->avail_vcpus, 0);
> +    }

This error handling should really go away.  Would you be able to
provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
That never fails, so that would also mean libxl_cpumap_alloc can't
fail.

> diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c    Thu Apr 12 14:01:27 2012 +0100
> +++ b/tools/libxl/libxl_dm.c    Fri May 04 10:47:00 2012 +0800
> @@ -200,10 +200,35 @@ static char ** libxl__build_device_model
>                                libxl__sprintf(gc, "%d", b_info->max_vcpus),
>                                NULL);
>          }
> -        if (b_info->cur_vcpus) {
> +        if (b_info->avail_vcpus.size) {
> +            int i, nr_set_cpus = 0;
> +            char *s;
> +
> +            libxl_for_each_set_cpu(i,
> +                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
> +                nr_set_cpus++;
> +
> +            s = (char *)malloc((nr_set_cpus + 3) / 4 + 1);
> +
> +            memset(s + ((nr_set_cpus % 4) ? 1 : 0), 'f', nr_set_cpus / 4);
> +            switch (nr_set_cpus % 4) {
> +            case 1:
> +                s[0] = '1';
> +                break;
> +            case 2:
> +                s[0] = '3';
> +                break;
> +            case 3:
> +                s[0] = '7';
> +                break;
> +            }
> +
> +            s[(nr_set_cpus + 3) / 4] = '\0';

This is an arbitrary precision conversion to hex.  Wouldn't it be
better to provide libxl_cpumap_set_all, and libxl_cpumap_hexmask or
something ?

> @@ -437,11 +462,16 @@ static char ** libxl__build_device_model
>          }
>          if (b_info->max_vcpus > 1) {
>              flexarray_append(dm_args, "-smp");
> -            if (b_info->cur_vcpus)
> +            if (b_info->avail_vcpus.size) {
> +                int i, nr_set_cpus = 0;
> +                libxl_for_each_set_cpu(i,
> +                            ((libxl_domain_build_info *)b_info)->avail_vcpus)
> +                    nr_set_cpus++;

If we had libxl_cpumap_count_set this would be clearer.

> diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
>      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
>      for (i = 0; i < info->max_vcpus; i++) {
>          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
> +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> +                            && !libxl_cpumap_test(&info->avail_vcpus, i))
>                              ? "offline" : "online";

If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
simpler.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:56:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:56:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWfM-0000zk-Sq; Thu, 10 May 2012 16:56:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSWfL-0000zZ-G6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:56:35 +0000
Received: from [85.158.138.51:27890] by server-3.bemta-3.messagelabs.com id
	C4/D5-04048-243FBAF4; Thu, 10 May 2012 16:56:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336668993!18447669!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30215 invoked from network); 10 May 2012 16:56:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:56:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413676"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:56:33 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:56:33 +0100
Date: Thu, 10 May 2012 17:56:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ92QSeSyd3=cZR1zgp+3qGQw_GFACL53FnnY+B4r3R6KNg@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205101753280.26786@kaball-desktop>
References: <CAEBdQ92QSeSyd3=cZR1zgp+3qGQw_GFACL53FnnY+B4r3R6KNg@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jean Guyader wrote:
> After a host sleep MSI will be off on the host but qemu still thinks
> it's on because of some state that have been set previously.
> 
> If qemu thinks that the device has been configure already
> and the host MSI are disabled tell Xen to reconfigure the MSI.
> 
> Signed-off-by: Jean Guyader <jean.guyader@gmail.com>
> 
> 
> diff --git a/hw/pass-through.c b/hw/pass-through.c
> index f832c5a..5c32a2e 100644
> --- a/hw/pass-through.c
> +++ b/hw/pass-through.c
> @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev *ptdev,
>      return 0;
>  }
>  
> +static int msi_is_enable(struct pt_dev *dev)
> +{
> +    uint16_t val = 0;
> +    uint32_t address = 0;
> +    if (!dev->msi)
> +        return 0;
> +
> +    address = dev->msi->ctrl_offset;
> +    if (!address)
> +        return 0;
> +
> +    val = pci_read_word(dev->pci_dev, address);
> +    return val & PCI_MSI_FLAGS_ENABLE;
> +}
> +
>  /* write Message Control register */
>  static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>      struct pt_reg_tbl *cfg_entry,
> @@ -3835,6 +3850,14 @@ static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>              ptdev->msi->flags &= ~MSI_FLAG_UNINIT;
>              ptdev->msi->flags |= PT_MSI_MAPPED;
>          }
> +        else
> +        {
> +            if (!msi_is_enable(ptdev))
> +            {
> +                pt_msi_setup(ptdev);
> +                pt_msi_update(ptdev);
> +            }
> +        }
>          ptdev->msi->flags |= PCI_MSI_FLAGS_ENABLE;
>      }
>      else

Would it make sense to replace the condition above:

if (ptdev->msi->flags & MSI_FLAG_UNINIT)

with the new condition you wrote?

if (!msi_is_enable(ptdev))

It seems more reliable to me.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 16:56:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 16:56:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWfM-0000zk-Sq; Thu, 10 May 2012 16:56:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSWfL-0000zZ-G6
	for xen-devel@lists.xen.org; Thu, 10 May 2012 16:56:35 +0000
Received: from [85.158.138.51:27890] by server-3.bemta-3.messagelabs.com id
	C4/D5-04048-243FBAF4; Thu, 10 May 2012 16:56:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336668993!18447669!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30215 invoked from network); 10 May 2012 16:56:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 16:56:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413676"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 16:56:33 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 17:56:33 +0100
Date: Thu, 10 May 2012 17:56:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ92QSeSyd3=cZR1zgp+3qGQw_GFACL53FnnY+B4r3R6KNg@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205101753280.26786@kaball-desktop>
References: <CAEBdQ92QSeSyd3=cZR1zgp+3qGQw_GFACL53FnnY+B4r3R6KNg@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jean Guyader wrote:
> After a host sleep MSI will be off on the host but qemu still thinks
> it's on because of some state that have been set previously.
> 
> If qemu thinks that the device has been configure already
> and the host MSI are disabled tell Xen to reconfigure the MSI.
> 
> Signed-off-by: Jean Guyader <jean.guyader@gmail.com>
> 
> 
> diff --git a/hw/pass-through.c b/hw/pass-through.c
> index f832c5a..5c32a2e 100644
> --- a/hw/pass-through.c
> +++ b/hw/pass-through.c
> @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev *ptdev,
>      return 0;
>  }
>  
> +static int msi_is_enable(struct pt_dev *dev)
> +{
> +    uint16_t val = 0;
> +    uint32_t address = 0;
> +    if (!dev->msi)
> +        return 0;
> +
> +    address = dev->msi->ctrl_offset;
> +    if (!address)
> +        return 0;
> +
> +    val = pci_read_word(dev->pci_dev, address);
> +    return val & PCI_MSI_FLAGS_ENABLE;
> +}
> +
>  /* write Message Control register */
>  static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>      struct pt_reg_tbl *cfg_entry,
> @@ -3835,6 +3850,14 @@ static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>              ptdev->msi->flags &= ~MSI_FLAG_UNINIT;
>              ptdev->msi->flags |= PT_MSI_MAPPED;
>          }
> +        else
> +        {
> +            if (!msi_is_enable(ptdev))
> +            {
> +                pt_msi_setup(ptdev);
> +                pt_msi_update(ptdev);
> +            }
> +        }
>          ptdev->msi->flags |= PCI_MSI_FLAGS_ENABLE;
>      }
>      else

Would it make sense to replace the condition above:

if (ptdev->msi->flags & MSI_FLAG_UNINIT)

with the new condition you wrote?

if (!msi_is_enable(ptdev))

It seems more reliable to me.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 17:02:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 17:02:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWlB-0001Eb-Qf; Thu, 10 May 2012 17:02:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWl9-0001EW-PR
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 17:02:36 +0000
Received: from [85.158.139.83:10011] by server-1.bemta-5.messagelabs.com id
	C4/8A-28458-BA4FBAF4; Thu, 10 May 2012 17:02:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336669354!28035001!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21955 invoked from network); 10 May 2012 17:02:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 17:02:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413780"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 17:02:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 18:02:32 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWl6-00006m-Ma; Thu, 10 May 2012 17:02:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWl6-000803-Ld;
	Thu, 10 May 2012 18:02:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.62632.654951.334814@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 18:02:32 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("[Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff"):
> diff -r 9dda0efd8ce1 -r 4a6043e1434a tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Fri Apr 27 17:57:55 2012 +0200
> +++ b/tools/libxl/libxl.c	Sat Apr 28 22:36:56 2012 +0800
> @@ -15,6 +15,8 @@
>   */
>  
>  #include "libxl_osdeps.h"
> +//#include "libxl_osdeps.h"
> +//#include "libxl_osdeps.h"

Thanks for posting this but was int actually inteded for inclusion in
the tree ?  If so we need a commit message and a Signed-off-by and so
forth.  Also we may be too late for 4.2 considering the feature
freeze.

> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)
> +{

We already have various functions to refer to and open consoles, which
have much of this functionality in them already.  That shouldn't be
duplicated.

Also we need to make a policy decision about whether the fact that the
console looks like a tty is a part of the API.

> +/* libxl_get_console_tty get the tty path from xenstore according to the 
> + * domain id. 
> + */
> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path);

In any case the doc comment should not mention xenstore.  It should
also document the memory allocation behaviour.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 17:02:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 17:02:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWlB-0001Eb-Qf; Thu, 10 May 2012 17:02:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWl9-0001EW-PR
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 17:02:36 +0000
Received: from [85.158.139.83:10011] by server-1.bemta-5.messagelabs.com id
	C4/8A-28458-BA4FBAF4; Thu, 10 May 2012 17:02:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336669354!28035001!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21955 invoked from network); 10 May 2012 17:02:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 17:02:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413780"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 17:02:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 18:02:32 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWl6-00006m-Ma; Thu, 10 May 2012 17:02:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWl6-000803-Ld;
	Thu, 10 May 2012 18:02:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.62632.654951.334814@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 18:02:32 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("[Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff"):
> diff -r 9dda0efd8ce1 -r 4a6043e1434a tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Fri Apr 27 17:57:55 2012 +0200
> +++ b/tools/libxl/libxl.c	Sat Apr 28 22:36:56 2012 +0800
> @@ -15,6 +15,8 @@
>   */
>  
>  #include "libxl_osdeps.h"
> +//#include "libxl_osdeps.h"
> +//#include "libxl_osdeps.h"

Thanks for posting this but was int actually inteded for inclusion in
the tree ?  If so we need a commit message and a Signed-off-by and so
forth.  Also we may be too late for 4.2 considering the feature
freeze.

> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)
> +{

We already have various functions to refer to and open consoles, which
have much of this functionality in them already.  That shouldn't be
duplicated.

Also we need to make a policy decision about whether the fact that the
console looks like a tty is a part of the API.

> +/* libxl_get_console_tty get the tty path from xenstore according to the 
> + * domain id. 
> + */
> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path);

In any case the doc comment should not mention xenstore.  It should
also document the memory allocation behaviour.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 17:04:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 17:04:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWmN-0001IG-8z; Thu, 10 May 2012 17:03:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWmL-0001I9-L7
	for xen-devel@lists.xen.org; Thu, 10 May 2012 17:03:49 +0000
Received: from [85.158.143.35:7078] by server-2.bemta-4.messagelabs.com id
	90/D4-17550-5F4FBAF4; Thu, 10 May 2012 17:03:49 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336669428!15503668!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10090 invoked from network); 10 May 2012 17:03:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 17:03:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413795"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 17:03:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 18:03:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWmJ-00007Q-Oa; Thu, 10 May 2012 17:03:47 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWmJ-00081D-Nl;
	Thu, 10 May 2012 18:03:47 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.62707.712989.84155@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 18:03:47 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335518995.28015.186.camel@zakaz.uk.xensource.com>
References: <95424045.BJ4a0xs4Vr@amur>
	<1335518995.28015.186.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] docs: add vpmu description to
 xen-command-line.markdown
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] docs: add vpmu description to xen-command-line.markdown"):
> On Fri, 2012-04-27 at 10:20 +0100, Dietmar Hahn wrote:
> > # HG changeset patch
> > # User Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> > # Date 1335517766 -7200
> > # Node ID 9ba4e4a5f3b1b7dad77e2801afc0253d6d30d565
> > # Parent  107285938c50f82667bd4d014820b439a077c22c
> > 
> > Add a short description to the vpmu boot option in the
> > xen-command-line.markdown
> > 
> > 
> > Signed-off-by:  Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Thanks,

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 17:04:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 17:04:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSWmN-0001IG-8z; Thu, 10 May 2012 17:03:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSWmL-0001I9-L7
	for xen-devel@lists.xen.org; Thu, 10 May 2012 17:03:49 +0000
Received: from [85.158.143.35:7078] by server-2.bemta-4.messagelabs.com id
	90/D4-17550-5F4FBAF4; Thu, 10 May 2012 17:03:49 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336669428!15503668!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10090 invoked from network); 10 May 2012 17:03:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 17:03:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12413795"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 17:03:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 18:03:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSWmJ-00007Q-Oa; Thu, 10 May 2012 17:03:47 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSWmJ-00081D-Nl;
	Thu, 10 May 2012 18:03:47 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20395.62707.712989.84155@mariner.uk.xensource.com>
Date: Thu, 10 May 2012 18:03:47 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335518995.28015.186.camel@zakaz.uk.xensource.com>
References: <95424045.BJ4a0xs4Vr@amur>
	<1335518995.28015.186.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] docs: add vpmu description to
 xen-command-line.markdown
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] docs: add vpmu description to xen-command-line.markdown"):
> On Fri, 2012-04-27 at 10:20 +0100, Dietmar Hahn wrote:
> > # HG changeset patch
> > # User Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> > # Date 1335517766 -7200
> > # Node ID 9ba4e4a5f3b1b7dad77e2801afc0253d6d30d565
> > # Parent  107285938c50f82667bd4d014820b439a077c22c
> > 
> > Add a short description to the vpmu boot option in the
> > xen-command-line.markdown
> > 
> > 
> > Signed-off-by:  Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Thanks,

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 17:25:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 17:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSX7H-0001dl-8b; Thu, 10 May 2012 17:25:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <malcolm.crossley@citrix.com>) id 1SSX7F-0001dg-HF
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 17:25:25 +0000
Received: from [85.158.138.51:30502] by server-7.bemta-3.messagelabs.com id
	D3/5E-03078-40AFBAF4; Thu, 10 May 2012 17:25:24 +0000
X-Env-Sender: malcolm.crossley@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336670723!22359384!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11155 invoked from network); 10 May 2012 17:25:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 17:25:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12414066"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 17:25:23 +0000
Received: from [127.0.1.1] (10.80.3.206) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 18:25:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: a909ee6d97995abda9201e55c14d9216b0438ec0
Message-ID: <a909ee6d97995abda920.1336670717@malcolmc-Dell>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 10 May 2012 18:25:17 +0100
From: Malcolm Crossley <malcolm.crossley@citrix.com>
To: xen-devel@lists.xensource.com
Cc: keir@xen.org
Subject: [Xen-devel] [PATCH] [RFC] Xen: Spread boot time page scrubbing
 across all available CPU's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The page scrubbing is done in 256MB chunks in lockstep across all the CPU's.
This allows for the boot CPU to hold the heap_lock whilst each chunk is being
scrubbed and then release the heap_lock when all CPU's are finished scrubing
their individual chunk. This allows for the heap_lock to not be held
continously and for pending softirqs are to be serviced periodically across
all CPU's.

The page scrub memory chunks are allocated to the CPU's in a NUMA aware
fashion to reduce Socket interconnect overhead and improve performance.

This patch reduces the boot page scrub time on a 256GB 16 core AMD Opteron
machine from 1 minute 46 seconds to 38 seconds.

diff -r 8a86d841e6d4 -r a909ee6d9799 xen/common/page_alloc.c
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -89,6 +89,15 @@ static struct bootmem_region {
 } *__initdata bootmem_region_list;
 static unsigned int __initdata nr_bootmem_regions;
 
+static atomic_t __initdata bootscrub_count = ATOMIC_INIT(0);
+
+struct scrub_region {
+    unsigned long offset;
+    unsigned long start;
+    unsigned long chunk_size;
+    unsigned long cpu_block_size;
+};
+
 static void __init boot_bug(int line)
 {
     panic("Boot BUG at %s:%d\n", __FILE__, line);
@@ -1090,28 +1099,43 @@ void __init end_boot_allocator(void)
     printk("\n");
 }
 
-/*
- * Scrub all unallocated pages in all heap zones. This function is more
- * convoluted than appears necessary because we do not want to continuously
- * hold the lock while scrubbing very large memory areas.
- */
-void __init scrub_heap_pages(void)
+void __init smp_scrub_heap_pages(void *data)
 {
     unsigned long mfn;
     struct page_info *pg;
+    unsigned long start_mfn, end_mfn;
+    struct scrub_region *region = (struct scrub_region *) data;
+    int temp_cpu, local_node, local_cpu_index;
 
-    if ( !opt_bootscrub )
-        return;
+    ASSERT(region != NULL);
 
-    printk("Scrubbing Free RAM: ");
+    /* Determine the current CPU's index into all this Node's CPU's*/
+    local_node = cpu_to_node(smp_processor_id());
+    local_cpu_index = 0;
+    for_each_cpu(temp_cpu, &node_to_cpumask(local_node))
+    {
+        if(smp_processor_id() == temp_cpu)
+            break;
+        local_cpu_index++;
+    }
 
-    for ( mfn = first_valid_mfn; mfn < max_page; mfn++ )
+    /* Calculate the starting mfn for this CPU's memory block */
+    start_mfn = region->start + (region->cpu_block_size * local_cpu_index)
+                 + region->offset;
+
+    /* Calculate the end mfn into this CPU's memory block for this iteration */
+    if ( ( region->offset + region->chunk_size ) > region->cpu_block_size )
+        end_mfn = region->start + (region->cpu_block_size * local_cpu_index)
+                    + region->cpu_block_size;
+    else
+        end_mfn = start_mfn + region->chunk_size;
+
+
+    for ( mfn = start_mfn; mfn < end_mfn; mfn++ )
     {
-        process_pending_softirqs();
-
         pg = mfn_to_page(mfn);
 
-        /* Quick lock-free check. */
+        /* Check the mfn is valid and page is free. */
         if ( !mfn_valid(mfn) || !page_state_is(pg, free) )
             continue;
 
@@ -1119,11 +1143,82 @@ void __init scrub_heap_pages(void)
         if ( (mfn % ((100*1024*1024)/PAGE_SIZE)) == 0 )
             printk(".");
 
+        /* Do the scrub if possible */
+        if ( page_state_is(pg, free) )
+            scrub_one_page(pg);
+    }
+    /* Increment count to indicate scrubbing complete on this CPU */
+    atomic_inc(&bootscrub_count);
+}
+
+/*
+ * Scrub all unallocated pages in all heap zones. This function uses all
+ * online cpu's to scrub the memory in parallel.
+ */
+void __init scrub_heap_pages(void)
+{
+    cpumask_t node_cpus;
+    unsigned int i;
+    struct scrub_region region[MAX_NUMNODES];
+    unsigned long mfn_off, chunk_size, max_cpu_blk_size, mem_start, mem_end;
+
+    if ( !opt_bootscrub )
+        return;
+
+    printk("Scrubbing Free RAM: ");
+
+    /* Scrub block size */
+    chunk_size = (256*1024*1024/PAGE_SIZE);
+
+    max_cpu_blk_size = 0;
+    /* Determine the amount of memory to scrub, per CPU on each Node */
+    for_each_online_node ( i )
+    {
+        /* Calculate Node memory start and end address */
+        mem_start = max(node_start_pfn(i), first_valid_mfn);
+        mem_end = min(mem_start + node_spanned_pages(i), max_page);
+        node_cpus = node_to_cpumask(i);
+        /* Divide by number of CPU's for this node */
+        region[i].cpu_block_size = (mem_end - mem_start) /
+                                                    cpumask_weight(&node_cpus);
+        region[i].start = mem_start;
+
+        if ( region[i].cpu_block_size > max_cpu_blk_size )
+            max_cpu_blk_size = region[i].cpu_block_size;
+    }
+
+    if ( chunk_size > max_cpu_blk_size )
+        chunk_size = max_cpu_blk_size;
+
+    /*
+     * Start all CPU's scrubbing memory, chunk_size at a time
+     */
+    for ( mfn_off = 0; mfn_off < max_cpu_blk_size; mfn_off += chunk_size )
+    {
+        process_pending_softirqs();
+
+        atomic_set(&bootscrub_count, 0);
+
         spin_lock(&heap_lock);
 
-        /* Re-check page status with lock held. */
-        if ( page_state_is(pg, free) )
-            scrub_one_page(pg);
+        /* Start all other CPU's on all nodes */
+        for_each_online_node ( i )
+        {
+            region[i].chunk_size = chunk_size;
+            region[i].offset = mfn_off;
+            node_cpus = node_to_cpumask(i);
+            /* Clear local cpu ID */
+            cpumask_clear_cpu(smp_processor_id(), &node_cpus);
+            /* Start page scrubbing on all other CPU's */
+            on_selected_cpus(&allbutself, smp_scrub_heap_pages, &region[i], 0);
+        }
+
+        /* Start scrub on local CPU */
+        smp_scrub_heap_pages(&region[cpu_to_node(smp_processor_id())]);
+
+        /* Wait for page scrubbing to complete on all other CPU's */
+        while ( atomic_read(&bootscrub_count) < cpumask_weight(&cpu_online_map) )
+            cpu_relax();
 
         spin_unlock(&heap_lock);
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 17:25:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 17:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSX7H-0001dl-8b; Thu, 10 May 2012 17:25:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <malcolm.crossley@citrix.com>) id 1SSX7F-0001dg-HF
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 17:25:25 +0000
Received: from [85.158.138.51:30502] by server-7.bemta-3.messagelabs.com id
	D3/5E-03078-40AFBAF4; Thu, 10 May 2012 17:25:24 +0000
X-Env-Sender: malcolm.crossley@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336670723!22359384!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11155 invoked from network); 10 May 2012 17:25:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 17:25:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,565,1330905600"; d="scan'208";a="12414066"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 17:25:23 +0000
Received: from [127.0.1.1] (10.80.3.206) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 10 May 2012 18:25:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: a909ee6d97995abda9201e55c14d9216b0438ec0
Message-ID: <a909ee6d97995abda920.1336670717@malcolmc-Dell>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 10 May 2012 18:25:17 +0100
From: Malcolm Crossley <malcolm.crossley@citrix.com>
To: xen-devel@lists.xensource.com
Cc: keir@xen.org
Subject: [Xen-devel] [PATCH] [RFC] Xen: Spread boot time page scrubbing
 across all available CPU's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The page scrubbing is done in 256MB chunks in lockstep across all the CPU's.
This allows for the boot CPU to hold the heap_lock whilst each chunk is being
scrubbed and then release the heap_lock when all CPU's are finished scrubing
their individual chunk. This allows for the heap_lock to not be held
continously and for pending softirqs are to be serviced periodically across
all CPU's.

The page scrub memory chunks are allocated to the CPU's in a NUMA aware
fashion to reduce Socket interconnect overhead and improve performance.

This patch reduces the boot page scrub time on a 256GB 16 core AMD Opteron
machine from 1 minute 46 seconds to 38 seconds.

diff -r 8a86d841e6d4 -r a909ee6d9799 xen/common/page_alloc.c
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -89,6 +89,15 @@ static struct bootmem_region {
 } *__initdata bootmem_region_list;
 static unsigned int __initdata nr_bootmem_regions;
 
+static atomic_t __initdata bootscrub_count = ATOMIC_INIT(0);
+
+struct scrub_region {
+    unsigned long offset;
+    unsigned long start;
+    unsigned long chunk_size;
+    unsigned long cpu_block_size;
+};
+
 static void __init boot_bug(int line)
 {
     panic("Boot BUG at %s:%d\n", __FILE__, line);
@@ -1090,28 +1099,43 @@ void __init end_boot_allocator(void)
     printk("\n");
 }
 
-/*
- * Scrub all unallocated pages in all heap zones. This function is more
- * convoluted than appears necessary because we do not want to continuously
- * hold the lock while scrubbing very large memory areas.
- */
-void __init scrub_heap_pages(void)
+void __init smp_scrub_heap_pages(void *data)
 {
     unsigned long mfn;
     struct page_info *pg;
+    unsigned long start_mfn, end_mfn;
+    struct scrub_region *region = (struct scrub_region *) data;
+    int temp_cpu, local_node, local_cpu_index;
 
-    if ( !opt_bootscrub )
-        return;
+    ASSERT(region != NULL);
 
-    printk("Scrubbing Free RAM: ");
+    /* Determine the current CPU's index into all this Node's CPU's*/
+    local_node = cpu_to_node(smp_processor_id());
+    local_cpu_index = 0;
+    for_each_cpu(temp_cpu, &node_to_cpumask(local_node))
+    {
+        if(smp_processor_id() == temp_cpu)
+            break;
+        local_cpu_index++;
+    }
 
-    for ( mfn = first_valid_mfn; mfn < max_page; mfn++ )
+    /* Calculate the starting mfn for this CPU's memory block */
+    start_mfn = region->start + (region->cpu_block_size * local_cpu_index)
+                 + region->offset;
+
+    /* Calculate the end mfn into this CPU's memory block for this iteration */
+    if ( ( region->offset + region->chunk_size ) > region->cpu_block_size )
+        end_mfn = region->start + (region->cpu_block_size * local_cpu_index)
+                    + region->cpu_block_size;
+    else
+        end_mfn = start_mfn + region->chunk_size;
+
+
+    for ( mfn = start_mfn; mfn < end_mfn; mfn++ )
     {
-        process_pending_softirqs();
-
         pg = mfn_to_page(mfn);
 
-        /* Quick lock-free check. */
+        /* Check the mfn is valid and page is free. */
         if ( !mfn_valid(mfn) || !page_state_is(pg, free) )
             continue;
 
@@ -1119,11 +1143,82 @@ void __init scrub_heap_pages(void)
         if ( (mfn % ((100*1024*1024)/PAGE_SIZE)) == 0 )
             printk(".");
 
+        /* Do the scrub if possible */
+        if ( page_state_is(pg, free) )
+            scrub_one_page(pg);
+    }
+    /* Increment count to indicate scrubbing complete on this CPU */
+    atomic_inc(&bootscrub_count);
+}
+
+/*
+ * Scrub all unallocated pages in all heap zones. This function uses all
+ * online cpu's to scrub the memory in parallel.
+ */
+void __init scrub_heap_pages(void)
+{
+    cpumask_t node_cpus;
+    unsigned int i;
+    struct scrub_region region[MAX_NUMNODES];
+    unsigned long mfn_off, chunk_size, max_cpu_blk_size, mem_start, mem_end;
+
+    if ( !opt_bootscrub )
+        return;
+
+    printk("Scrubbing Free RAM: ");
+
+    /* Scrub block size */
+    chunk_size = (256*1024*1024/PAGE_SIZE);
+
+    max_cpu_blk_size = 0;
+    /* Determine the amount of memory to scrub, per CPU on each Node */
+    for_each_online_node ( i )
+    {
+        /* Calculate Node memory start and end address */
+        mem_start = max(node_start_pfn(i), first_valid_mfn);
+        mem_end = min(mem_start + node_spanned_pages(i), max_page);
+        node_cpus = node_to_cpumask(i);
+        /* Divide by number of CPU's for this node */
+        region[i].cpu_block_size = (mem_end - mem_start) /
+                                                    cpumask_weight(&node_cpus);
+        region[i].start = mem_start;
+
+        if ( region[i].cpu_block_size > max_cpu_blk_size )
+            max_cpu_blk_size = region[i].cpu_block_size;
+    }
+
+    if ( chunk_size > max_cpu_blk_size )
+        chunk_size = max_cpu_blk_size;
+
+    /*
+     * Start all CPU's scrubbing memory, chunk_size at a time
+     */
+    for ( mfn_off = 0; mfn_off < max_cpu_blk_size; mfn_off += chunk_size )
+    {
+        process_pending_softirqs();
+
+        atomic_set(&bootscrub_count, 0);
+
         spin_lock(&heap_lock);
 
-        /* Re-check page status with lock held. */
-        if ( page_state_is(pg, free) )
-            scrub_one_page(pg);
+        /* Start all other CPU's on all nodes */
+        for_each_online_node ( i )
+        {
+            region[i].chunk_size = chunk_size;
+            region[i].offset = mfn_off;
+            node_cpus = node_to_cpumask(i);
+            /* Clear local cpu ID */
+            cpumask_clear_cpu(smp_processor_id(), &node_cpus);
+            /* Start page scrubbing on all other CPU's */
+            on_selected_cpus(&allbutself, smp_scrub_heap_pages, &region[i], 0);
+        }
+
+        /* Start scrub on local CPU */
+        smp_scrub_heap_pages(&region[cpu_to_node(smp_processor_id())]);
+
+        /* Wait for page scrubbing to complete on all other CPU's */
+        while ( atomic_read(&bootscrub_count) < cpumask_weight(&cpu_online_map) )
+            cpu_relax();
 
         spin_unlock(&heap_lock);
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 19:05:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 19:05:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSYfu-0002aj-KQ; Thu, 10 May 2012 19:05:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSYft-0002ae-Nt
	for xen-devel@lists.xen.org; Thu, 10 May 2012 19:05:17 +0000
Received: from [85.158.143.35:23849] by server-2.bemta-4.messagelabs.com id
	FB/14-17550-D611CAF4; Thu, 10 May 2012 19:05:17 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336676713!14001937!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19005 invoked from network); 10 May 2012 19:05:15 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 19:05:15 -0000
Received: by vbbfn1 with SMTP id fn1so947991vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 12:05:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=Vyp3iLcW4jLDswl6IqkANh//VDL3+Wbw6zM/9IZo8tg=;
	b=I2+X8+y+C/nYCB/etf51tTIKzV6uNHD3+IjaMZvtdc5xeeVUM8XpODjYS0yxRhRoWt
	qX39nJ9fKVbSpNIcRUFz0FB3sEKhK6uByTkZHvPCH4SlxoOc1gFyqSVhL/Mt49W6YEjD
	0iTFcitXxQV107DBpWKF/OaG/fGCDulHGT33kr8hUp4lhJI0xRRjH10qmVpibRzVuXG+
	CaUdq90w17Bo2Br0k6m1WGKdbOMnK/r/gTnrJpXN3w3b/vy9WxCUwzCurcVu7BoDQFuW
	WdymcsmD+vV51ZiI+O5aGiHFZ9bY5AgLx+GYPaRurlTd3ehirrk6wG2Vtlv6fGZZI906
	bYlA==
Received: by 10.220.224.68 with SMTP id in4mr3387197vcb.24.1336676712076; Thu,
	10 May 2012 12:05:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 12:04:51 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 20:04:51 +0100
Message-ID: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=14dae9ccde269a553d04bfb34c70
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--14dae9ccde269a553d04bfb34c70
Content-Type: text/plain; charset=ISO-8859-1

After a host sleep MSI will be off on the host but qemu still thinks
it's on because of some state that have been set previously.

If qemu thinks that the device has been configure already
and the host MSI are disabled tell Xen to reconfigure the MSI.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--14dae9ccde269a553d04bfb34c70
Content-Type: text/x-patch; charset=US-ASCII; name="msi-after-sleep.patch"
Content-Disposition: attachment; filename="msi-after-sleep.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h226tm4g0

ZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5jIGIvaHcvcGFzcy10aHJvdWdoLmMKaW5kZXgg
ZjgzMmM1YS4uYTZhOWI3YSAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJvdWdoLmMKKysrIGIvaHcv
cGFzcy10aHJvdWdoLmMKQEAgLTM3NzIsNiArMzc3MiwyMSBAQCBzdGF0aWMgaW50IHB0X3BtY3Ny
X3JlZ193cml0ZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKICAgICByZXR1cm4gMDsKIH0KIAorc3Rh
dGljIGludCBtc2lfaXNfZW5hYmxlKHN0cnVjdCBwdF9kZXYgKmRldikKK3sKKyAgICB1aW50MTZf
dCB2YWwgPSAwOworICAgIHVpbnQzMl90IGFkZHJlc3MgPSAwOworICAgIGlmICghZGV2LT5tc2kp
CisgICAgICAgIHJldHVybiAwOworCisgICAgYWRkcmVzcyA9IGRldi0+bXNpLT5jdHJsX29mZnNl
dDsKKyAgICBpZiAoIWFkZHJlc3MpCisgICAgICAgIHJldHVybiAwOworCisgICAgdmFsID0gcGNp
X3JlYWRfd29yZChkZXYtPnBjaV9kZXYsIGFkZHJlc3MpOworICAgIHJldHVybiB2YWwgJiBQQ0lf
TVNJX0ZMQUdTX0VOQUJMRTsKK30KKwogLyogd3JpdGUgTWVzc2FnZSBDb250cm9sIHJlZ2lzdGVy
ICovCiBzdGF0aWMgaW50IHB0X21zZ2N0cmxfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2
LAogICAgIHN0cnVjdCBwdF9yZWdfdGJsICpjZmdfZW50cnksCkBAIC0zODAzLDggKzM4MTgsNyBA
QCBzdGF0aWMgaW50IHB0X21zZ2N0cmxfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAog
ICAgIC8qIHVwZGF0ZSBNU0kgKi8KICAgICBpZiAodmFsICYgUENJX01TSV9GTEFHU19FTkFCTEUp
CiAgICAgewotICAgICAgICAvKiBzZXR1cCBNU0kgcGlycSBmb3IgdGhlIGZpcnN0IHRpbWUgKi8K
LSAgICAgICAgaWYgKHB0ZGV2LT5tc2ktPmZsYWdzICYgTVNJX0ZMQUdfVU5JTklUKQorICAgICAg
ICBpZiAoIW1zaV9pc19lbmFibGUocHRkZXYpKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAo
cHRkZXYtPm1zaV90cmFuc19lbikgewogICAgICAgICAgICAgICAgIFBUX0xPRygiZ3Vlc3QgZW5h
YmxpbmcgTVNJLCBkaXNhYmxlIE1TSS1JTlR4IHRyYW5zbGF0aW9uXG4iKTsKZGlmZiAtLWdpdCBh
L2h3L3B0LW1zaS5jIGIvaHcvcHQtbXNpLmMKaW5kZXggNzBjNDAyMy4uOTlmOWFmZCAxMDA2NDQK
LS0tIGEvaHcvcHQtbXNpLmMKKysrIGIvaHcvcHQtbXNpLmMKQEAgLTY3LDEyICs2Nyw2IEBAIGlu
dCBwdF9tc2lfc2V0dXAoc3RydWN0IHB0X2RldiAqZGV2KQogICAgIGludCBwaXJxID0gLTE7CiAg
ICAgdWludDhfdCBndmVjID0gMDsKIAotICAgIGlmICggIShkZXYtPm1zaS0+ZmxhZ3MgJiBNU0lf
RkxBR19VTklOSVQpICkKLSAgICB7Ci0gICAgICAgIFBUX0xPRygiRXJyb3I6IHNldHVwIHBoeXNp
Y2FsIGFmdGVyIGluaXRpYWxpemVkPz8gXG4iKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0K
LQogICAgIGd2ZWMgPSBkZXYtPm1zaS0+ZGF0YSAmIDB4RkY7CiAgICAgaWYgKCFndmVjKSB7CiAg
ICAgICAgIC8qIGlmIGd2ZWMgaXMgMCwgdGhlIGd1ZXN0IGlzIGFza2luZyBmb3IgYSBwYXJ0aWN1
bGFyIHBpcnEgdGhhdAo=
--14dae9ccde269a553d04bfb34c70
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--14dae9ccde269a553d04bfb34c70--


From xen-devel-bounces@lists.xen.org Thu May 10 19:05:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 19:05:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSYfu-0002aj-KQ; Thu, 10 May 2012 19:05:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSYft-0002ae-Nt
	for xen-devel@lists.xen.org; Thu, 10 May 2012 19:05:17 +0000
Received: from [85.158.143.35:23849] by server-2.bemta-4.messagelabs.com id
	FB/14-17550-D611CAF4; Thu, 10 May 2012 19:05:17 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336676713!14001937!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19005 invoked from network); 10 May 2012 19:05:15 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 19:05:15 -0000
Received: by vbbfn1 with SMTP id fn1so947991vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 12:05:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=Vyp3iLcW4jLDswl6IqkANh//VDL3+Wbw6zM/9IZo8tg=;
	b=I2+X8+y+C/nYCB/etf51tTIKzV6uNHD3+IjaMZvtdc5xeeVUM8XpODjYS0yxRhRoWt
	qX39nJ9fKVbSpNIcRUFz0FB3sEKhK6uByTkZHvPCH4SlxoOc1gFyqSVhL/Mt49W6YEjD
	0iTFcitXxQV107DBpWKF/OaG/fGCDulHGT33kr8hUp4lhJI0xRRjH10qmVpibRzVuXG+
	CaUdq90w17Bo2Br0k6m1WGKdbOMnK/r/gTnrJpXN3w3b/vy9WxCUwzCurcVu7BoDQFuW
	WdymcsmD+vV51ZiI+O5aGiHFZ9bY5AgLx+GYPaRurlTd3ehirrk6wG2Vtlv6fGZZI906
	bYlA==
Received: by 10.220.224.68 with SMTP id in4mr3387197vcb.24.1336676712076; Thu,
	10 May 2012 12:05:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 12:04:51 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 20:04:51 +0100
Message-ID: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=14dae9ccde269a553d04bfb34c70
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--14dae9ccde269a553d04bfb34c70
Content-Type: text/plain; charset=ISO-8859-1

After a host sleep MSI will be off on the host but qemu still thinks
it's on because of some state that have been set previously.

If qemu thinks that the device has been configure already
and the host MSI are disabled tell Xen to reconfigure the MSI.

Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--14dae9ccde269a553d04bfb34c70
Content-Type: text/x-patch; charset=US-ASCII; name="msi-after-sleep.patch"
Content-Disposition: attachment; filename="msi-after-sleep.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h226tm4g0

ZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5jIGIvaHcvcGFzcy10aHJvdWdoLmMKaW5kZXgg
ZjgzMmM1YS4uYTZhOWI3YSAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJvdWdoLmMKKysrIGIvaHcv
cGFzcy10aHJvdWdoLmMKQEAgLTM3NzIsNiArMzc3MiwyMSBAQCBzdGF0aWMgaW50IHB0X3BtY3Ny
X3JlZ193cml0ZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKICAgICByZXR1cm4gMDsKIH0KIAorc3Rh
dGljIGludCBtc2lfaXNfZW5hYmxlKHN0cnVjdCBwdF9kZXYgKmRldikKK3sKKyAgICB1aW50MTZf
dCB2YWwgPSAwOworICAgIHVpbnQzMl90IGFkZHJlc3MgPSAwOworICAgIGlmICghZGV2LT5tc2kp
CisgICAgICAgIHJldHVybiAwOworCisgICAgYWRkcmVzcyA9IGRldi0+bXNpLT5jdHJsX29mZnNl
dDsKKyAgICBpZiAoIWFkZHJlc3MpCisgICAgICAgIHJldHVybiAwOworCisgICAgdmFsID0gcGNp
X3JlYWRfd29yZChkZXYtPnBjaV9kZXYsIGFkZHJlc3MpOworICAgIHJldHVybiB2YWwgJiBQQ0lf
TVNJX0ZMQUdTX0VOQUJMRTsKK30KKwogLyogd3JpdGUgTWVzc2FnZSBDb250cm9sIHJlZ2lzdGVy
ICovCiBzdGF0aWMgaW50IHB0X21zZ2N0cmxfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2
LAogICAgIHN0cnVjdCBwdF9yZWdfdGJsICpjZmdfZW50cnksCkBAIC0zODAzLDggKzM4MTgsNyBA
QCBzdGF0aWMgaW50IHB0X21zZ2N0cmxfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAog
ICAgIC8qIHVwZGF0ZSBNU0kgKi8KICAgICBpZiAodmFsICYgUENJX01TSV9GTEFHU19FTkFCTEUp
CiAgICAgewotICAgICAgICAvKiBzZXR1cCBNU0kgcGlycSBmb3IgdGhlIGZpcnN0IHRpbWUgKi8K
LSAgICAgICAgaWYgKHB0ZGV2LT5tc2ktPmZsYWdzICYgTVNJX0ZMQUdfVU5JTklUKQorICAgICAg
ICBpZiAoIW1zaV9pc19lbmFibGUocHRkZXYpKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAo
cHRkZXYtPm1zaV90cmFuc19lbikgewogICAgICAgICAgICAgICAgIFBUX0xPRygiZ3Vlc3QgZW5h
YmxpbmcgTVNJLCBkaXNhYmxlIE1TSS1JTlR4IHRyYW5zbGF0aW9uXG4iKTsKZGlmZiAtLWdpdCBh
L2h3L3B0LW1zaS5jIGIvaHcvcHQtbXNpLmMKaW5kZXggNzBjNDAyMy4uOTlmOWFmZCAxMDA2NDQK
LS0tIGEvaHcvcHQtbXNpLmMKKysrIGIvaHcvcHQtbXNpLmMKQEAgLTY3LDEyICs2Nyw2IEBAIGlu
dCBwdF9tc2lfc2V0dXAoc3RydWN0IHB0X2RldiAqZGV2KQogICAgIGludCBwaXJxID0gLTE7CiAg
ICAgdWludDhfdCBndmVjID0gMDsKIAotICAgIGlmICggIShkZXYtPm1zaS0+ZmxhZ3MgJiBNU0lf
RkxBR19VTklOSVQpICkKLSAgICB7Ci0gICAgICAgIFBUX0xPRygiRXJyb3I6IHNldHVwIHBoeXNp
Y2FsIGFmdGVyIGluaXRpYWxpemVkPz8gXG4iKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0K
LQogICAgIGd2ZWMgPSBkZXYtPm1zaS0+ZGF0YSAmIDB4RkY7CiAgICAgaWYgKCFndmVjKSB7CiAg
ICAgICAgIC8qIGlmIGd2ZWMgaXMgMCwgdGhlIGd1ZXN0IGlzIGFza2luZyBmb3IgYSBwYXJ0aWN1
bGFyIHBpcnEgdGhhdAo=
--14dae9ccde269a553d04bfb34c70
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--14dae9ccde269a553d04bfb34c70--


From xen-devel-bounces@lists.xen.org Thu May 10 19:07:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 19:07:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSYi1-0002jV-Q2; Thu, 10 May 2012 19:07:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSYi0-0002jA-2T
	for xen-devel@lists.xen.org; Thu, 10 May 2012 19:07:28 +0000
Received: from [85.158.143.99:7506] by server-3.bemta-4.messagelabs.com id
	E9/75-05853-FE11CAF4; Thu, 10 May 2012 19:07:27 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336676844!26526054!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31451 invoked from network); 10 May 2012 19:07:26 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 19:07:26 -0000
Received: by qafl39 with SMTP id l39so931692qaf.16
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 12:07:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=4LIODJ0mFlkgMWNDAtyFVL8Qc2bbmUyldK8Gw+Rf//A=;
	b=Jb/1Xn4Cf/Y3iVdBOxGnrBQkKS2BO0hg3GT7WPa4CR1sWrfAgQYIV+RM+/rFDW/tOV
	GZbwFpv5Tx/CsNvByzOnCfq71ssE9WcTpITcVgGcRSv3pYSWItfbM33jQN1sZEMcw/85
	xgcEnk9ZoBdOF2nRvVFrTiudZeUV1uCAFaJqcOq9tuqzIQM/7YaaBLJd16r1YNGxaXMh
	v2kCi8MBc4S0vRDO0js0vrd3rZSJrb0RLniHFWLEFVAyfw7c2N91tp7ux7DjVre1h1iB
	G4+LtcSvqlemZzCz16ShjvyxvQQe4ftzZDzc+3+dAGa4UMyJE0D7cX8s9SOQCDT8RWaN
	IO4Q==
Received: by 10.220.214.8 with SMTP id gy8mr3399934vcb.45.1336676844420; Thu,
	10 May 2012 12:07:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 12:07:04 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 20:07:04 +0100
Message-ID: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=14dae9cdc8217dbd9f04bfb3547f
Cc: "Kay, Allen M" <allen.m.kay@intel.com>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough,
	fix OpRegion mapping (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--14dae9cdc8217dbd9f04bfb3547f
Content-Type: text/plain; charset=ISO-8859-1

The OpRegion shouldn't be mapped 1:1 because the address in the host
can't be used in the guest directly.

This patch traps read and write access to the opregion of the Intel
GPU config space (offset 0xfc).

To work correctly this patch needs a change in hvmloader.

HVMloader will allocate 2 pages for the OpRegion and write this address
on the config space of the Intel GPU. Qemu will trap and map the host
OpRegion to the guest. Any write to this offset after that won't have
any effect. Any read of this config space offset will return the address
in the guest.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>

--14dae9cdc8217dbd9f04bfb3547f
Content-Type: text/x-patch; charset=US-ASCII; 
	name="qemu-xen-Intel-GPU-passthrough-fix-OpRegion-mapping.patch"
Content-Disposition: attachment; 
	filename="qemu-xen-Intel-GPU-passthrough-fix-OpRegion-mapping.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h226vxjk0

Y29tbWl0IGE2MDM2YmVlMjNiYjMzOGU2Y2Y0OGU5ZjBkNzVmZjA4NDVmOGNmZTMKQXV0aG9yOiBK
ZWFuIEd1eWFkZXIgPGplYW4uZ3V5YWRlckBldS5jaXRyaXguY29tPgpEYXRlOiAgIFdlZCBOb3Yg
MjMgMDc6NTM6MzAgMjAxMSArMDAwMAoKICAgIHFlbXUteGVuOiBJbnRlbCBHUFUgcGFzc3Rocm91
Z2gsIGZpeCBPcFJlZ2lvbiBtYXBwaW5nLgogICAgCiAgICBUaGUgT3BSZWdpb24gc2hvdWxkbid0
IGJlIG1hcHBlZCAxOjEgYmVjYXVzZSB0aGUgYWRkcmVzcyBpbiB0aGUgaG9zdAogICAgY2FuJ3Qg
YmUgdXNlZCBpbiB0aGUgZ3Vlc3QgZGlyZWN0bHkuCiAgICAKICAgIFRoaXMgcGF0Y2ggdHJhcHMg
cmVhZCBhbmQgd3JpdGUgYWNjZXNzIHRvIHRoZSBvcHJlZ2lvbiBvZiB0aGUgSW50ZWwKICAgIEdQ
VSBjb25maWcgc3BhY2UgKG9mZnNldCAweGZjKS4KICAgIAogICAgVG8gd29yayBjb3JyZWN0bHkg
dGhpcyBwYXRjaCBuZWVkcyBhIGNoYW5nZSBpbiBodm1sb2FkZXIuCiAgICAKICAgIEhWTWxvYWRl
ciB3aWxsIGFsbG9jYXRlIDIgcGFnZXMgZm9yIHRoZSBPcFJlZ2lvbiBhbmQgd3JpdGUgdGhpcyBh
ZGRyZXNzCiAgICBvbiB0aGUgY29uZmlnIHNwYWNlIG9mIHRoZSBJbnRlbCBHUFUuIFFlbXUgd2ls
bCB0cmFwIGFuZCBtYXAgdGhlIGhvc3QKICAgIE9wUmVnaW9uIHRvIHRoZSBndWVzdC4gQW55IHdy
aXRlIHRvIHRoaXMgb2Zmc2V0IGFmdGVyIHRoYXQgd29uJ3QgaGF2ZQogICAgYW55IGVmZmVjdC4g
QW55IHJlYWQgb2YgdGhpcyBjb25maWcgc3BhY2Ugb2Zmc2V0IHdpbGwgcmV0dXJuIHRoZSBhZGRy
ZXNzCiAgICBpbiB0aGUgZ3Vlc3QuCgpkaWZmIC0tZ2l0IGEvaHcvcGFzcy10aHJvdWdoLmMgYi9o
dy9wYXNzLXRocm91Z2guYwppbmRleCBkYmU4ODA0Li43ZWUzYzYxIDEwMDY0NAotLS0gYS9ody9w
YXNzLXRocm91Z2guYworKysgYi9ody9wYXNzLXRocm91Z2guYwpAQCAtMjM4LDYgKzIzOCwxNCBA
QCBzdGF0aWMgaW50IHB0X2Jhcl9yZWdfcmVzdG9yZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKIHN0
YXRpYyBpbnQgcHRfZXhwX3JvbV9iYXJfcmVnX3Jlc3RvcmUoc3RydWN0IHB0X2RldiAqcHRkZXYs
CiAgICAgc3RydWN0IHB0X3JlZ190YmwgKmNmZ19lbnRyeSwKICAgICB1aW50MzJfdCByZWFsX29m
ZnNldCwgdWludDMyX3QgZGV2X3ZhbHVlLCB1aW50MzJfdCAqdmFsdWUpOworc3RhdGljIGludCBw
dF9pbnRlbF9vcHJlZ2lvbl9yZWFkKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAorICAgICAgICBzdHJ1
Y3QgcHRfcmVnX3RibCAqY2ZnX2VudHJ5LAorICAgICAgICB1aW50MzJfdCAqdmFsdWUsIHVpbnQz
Ml90IHZhbGlkX21hc2spOworc3RhdGljIGludCBwdF9pbnRlbF9vcHJlZ2lvbl93cml0ZShzdHJ1
Y3QgcHRfZGV2ICpwdGRldiwKKyAgICAgICAgc3RydWN0IHB0X3JlZ190YmwgKmNmZ19lbnRyeSwK
KyAgICAgICAgdWludDMyX3QgKnZhbHVlLCB1aW50MzJfdCBkZXZfdmFsdWUsIHVpbnQzMl90IHZh
bGlkX21hc2spOworc3RhdGljIHVpbnQ4X3QgcHRfcmVnX2dycF9oZWFkZXIwX3NpemVfaW5pdChz
dHJ1Y3QgcHRfZGV2ICpwdGRldiwKKyAgICAgICAgc3RydWN0IHB0X3JlZ19ncnBfaW5mb190Ymwg
KmdycF9yZWcsIHVpbnQzMl90IGJhc2Vfb2Zmc2V0KTsKIAogLyogcHRfcmVnX2luZm9fdGJsIGRl
Y2xhcmF0aW9uCiAgKiAtIG9ubHkgZm9yIGVtdWxhdGVkIHJlZ2lzdGVyIChlaXRoZXIgYSBwYXJ0
IG9yIHdob2xlIGJpdCkuCkBAIC00NDQsNiArNDUyLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgcHRfcmVn
X2luZm9fdGJsIHB0X2VtdV9yZWdfaGVhZGVyMF90YmxbXSA9IHsKICAgICAgICAgLnUuZHcud3Jp
dGUgPSBwdF9leHBfcm9tX2Jhcl9yZWdfd3JpdGUsCiAgICAgICAgIC51LmR3LnJlc3RvcmUgPSBw
dF9leHBfcm9tX2Jhcl9yZWdfcmVzdG9yZSwKICAgICB9LAorICAgIC8qIEludGVsIElHRlggT3BS
ZWdpb24gcmVnICovCisgICAgeworICAgICAgICAub2Zmc2V0ICAgICA9IFBDSV9JTlRFTF9PUFJF
R0lPTiwKKyAgICAgICAgLnNpemUgICAgICAgPSA0LAorICAgICAgICAuaW5pdF92YWwgICA9IDAs
CisgICAgICAgIC5ub193YiAgICAgID0gMSwKKyAgICAgICAgLnUuZHcucmVhZCAgID0gcHRfaW50
ZWxfb3ByZWdpb25fcmVhZCwKKyAgICAgICAgLnUuZHcud3JpdGUgID0gcHRfaW50ZWxfb3ByZWdp
b25fd3JpdGUsCisgICAgICAgIC51LmR3LnJlc3RvcmUgID0gTlVMTCwKKyAgICB9LAogICAgIHsK
ICAgICAgICAgLnNpemUgPSAwLAogICAgIH0sCkBAIC03MzcsNyArNzU1LDcgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCBwdF9yZWdfZ3JwX2luZm9fdGJsIHB0X2VtdV9yZWdfZ3JwX3RibFtdID0gewog
ICAgICAgICAuZ3JwX2lkICAgICA9IDB4RkYsCiAgICAgICAgIC5ncnBfdHlwZSAgID0gR1JQX1RZ
UEVfRU1VLAogICAgICAgICAuZ3JwX3NpemUgICA9IDB4NDAsCi0gICAgICAgIC5zaXplX2luaXQg
ID0gcHRfcmVnX2dycF9zaXplX2luaXQsCisgICAgICAgIC5zaXplX2luaXQgID0gcHRfcmVnX2dy
cF9oZWFkZXIwX3NpemVfaW5pdCwKICAgICAgICAgLmVtdV9yZWdfdGJsPSBwdF9lbXVfcmVnX2hl
YWRlcjBfdGJsLAogICAgIH0sCiAgICAgLyogUENJIFBvd2VyTWFuYWdlbWVudCBDYXBhYmlsaXR5
IHJlZyBncm91cCAqLwpAQCAtMzAwNiw2ICszMDI0LDE5IEBAIHN0YXRpYyB1aW50MzJfdCBwdF9t
c2l4Y3RybF9yZWdfaW5pdChzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKICAgICByZXR1cm4gcmVnLT5p
bml0X3ZhbDsKIH0KIAorc3RhdGljIHVpbnQ4X3QgcHRfcmVnX2dycF9oZWFkZXIwX3NpemVfaW5p
dChzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKKyAgICAgICAgc3RydWN0IHB0X3JlZ19ncnBfaW5mb190
YmwgKmdycF9yZWcsIHVpbnQzMl90IGJhc2Vfb2Zmc2V0KQoreworICAgIC8qCisgICAgKiogQnkg
ZGVmYXVsdCB3ZSB3aWxsIHRyYXAgdXAgdG8gMHg0MCBpbiB0aGUgY2ZnIHNwYWNlLgorICAgICoq
IElmIGFuIGludGVsIGRldmljZSBpcyBwYXNzIHRocm91Z2ggd2UgbmVlZCB0byB0cmFwIDB4ZmMs
CisgICAgKiogdGhlcmVmb3JlIHRoZSBzaXplIHNob3VsZCBiZSAweGZmLgorICAgICovCisgICAg
aWYgKGlnZF9wYXNzdGhydSkKKyAgICAgICAgcmV0dXJuIDB4RkY7CisgICAgcmV0dXJuIGdycF9y
ZWctPmdycF9zaXplOworfQorCiAvKiBnZXQgcmVnaXN0ZXIgZ3JvdXAgc2l6ZSAqLwogc3RhdGlj
IHVpbnQ4X3QgcHRfcmVnX2dycF9zaXplX2luaXQoc3RydWN0IHB0X2RldiAqcHRkZXYsCiAgICAg
ICAgIHN0cnVjdCBwdF9yZWdfZ3JwX2luZm9fdGJsICpncnBfcmVnLCB1aW50MzJfdCBiYXNlX29m
ZnNldCkKQEAgLTQxNTQsNiArNDE4NSwyMiBAQCBzdGF0aWMgaW50IHB0X3BtY3NyX3JlZ19yZXN0
b3JlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgaW50
IHB0X2ludGVsX29wcmVnaW9uX3JlYWQoc3RydWN0IHB0X2RldiAqcHRkZXYsCisgICAgICAgIHN0
cnVjdCBwdF9yZWdfdGJsICpjZmdfZW50cnksCisgICAgICAgIHVpbnQzMl90ICp2YWx1ZSwgdWlu
dDMyX3QgdmFsaWRfbWFzaykKK3sKKyAgICAqdmFsdWUgPSBpZ2RfcmVhZF9vcHJlZ2lvbihwdGRl
dik7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHRfaW50ZWxfb3ByZWdpb25fd3Jp
dGUoc3RydWN0IHB0X2RldiAqcHRkZXYsCisgICAgICAgIHN0cnVjdCBwdF9yZWdfdGJsICpjZmdf
ZW50cnksCisgICAgICAgIHVpbnQzMl90ICp2YWx1ZSwgdWludDMyX3QgZGV2X3ZhbHVlLCB1aW50
MzJfdCB2YWxpZF9tYXNrKQoreworICAgIGlnZF93cml0ZV9vcHJlZ2lvbihwdGRldiwgKnZhbHVl
KTsKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBwdF9kZXYgKiByZWdpc3Rlcl9y
ZWFsX2RldmljZShQQ0lCdXMgKmVfYnVzLAogICAgICAgICBjb25zdCBjaGFyICplX2Rldl9uYW1l
LCBpbnQgZV9kZXZmbiwgdWludDhfdCByX2J1cywgdWludDhfdCByX2RldiwKICAgICAgICAgdWlu
dDhfdCByX2Z1bmMsIHVpbnQzMl90IG1hY2hpbmVfaXJxLCBzdHJ1Y3QgcGNpX2FjY2VzcyAqcGNp
X2FjY2VzcywKZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5oIGIvaHcvcGFzcy10aHJvdWdo
LmgKaW5kZXggODg0MTM5Yy4uYzYxYTdmYiAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJvdWdoLmgK
KysrIGIvaHcvcGFzcy10aHJvdWdoLmgKQEAgLTQyMiw2ICs0MjIsOCBAQCBQQ0lCdXMgKmludGVs
X3BjaV9icmlkZ2VfaW5pdChQQ0lCdXMgKmJ1cywgaW50IGRldmZuLCB1aW50MTZfdCB2aWQsCiAg
ICAgICAgICAgIHVpbnQxNl90IGRpZCwgY29uc3QgY2hhciAqbmFtZSwgdWludDE2X3QgcmV2aXNp
b24pOwogdm9pZCBpZ2RfcGNpX3dyaXRlKFBDSURldmljZSAqcGNpX2RldiwgdWludDMyX3QgY29u
ZmlnX2FkZHIsIHVpbnQzMl90IHZhbCwgaW50IGxlbik7CiB1aW50MzJfdCBpZ2RfcGNpX3JlYWQo
UENJRGV2aWNlICpwY2lfZGV2LCB1aW50MzJfdCBjb25maWdfYWRkciwgaW50IGxlbik7Cit1aW50
MzJfdCBpZ2RfcmVhZF9vcHJlZ2lvbihzdHJ1Y3QgcHRfZGV2ICpwY2lfZGV2KTsKK3ZvaWQgaWdk
X3dyaXRlX29wcmVnaW9uKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2LCB1aW50MzJfdCB2YWwpOwog
CiAjZW5kaWYgLyogX19QQVNTVEhST1VHSF9IX18gKi8KIApkaWZmIC0tZ2l0IGEvaHcvcHQtZ3Jh
cGhpY3MuYyBiL2h3L3B0LWdyYXBoaWNzLmMKaW5kZXggZmVjNzM5MC4uYTYwNjczZiAxMDA2NDQK
LS0tIGEvaHcvcHQtZ3JhcGhpY3MuYworKysgYi9ody9wdC1ncmFwaGljcy5jCkBAIC0xMyw2ICsx
Myw4IEBACiBleHRlcm4gaW50IGdmeF9wYXNzdGhydTsKIGV4dGVybiBpbnQgaWdkX3Bhc3N0aHJ1
OwogCitzdGF0aWMgdWludDMyX3QgaWdkX2d1ZXN0X29wcmVnaW9uID0gMDsKKwogc3RhdGljIGlu
dCBwY2hfbWFwX2lycShQQ0lEZXZpY2UgKnBjaV9kZXYsIGludCBpcnFfbnVtKQogewogICAgIFBU
X0xPRygicGNoX21hcF9pcnEgY2FsbGVkXG4iKTsKQEAgLTM3LDYgKzM5LDU0IEBAIHZvaWQgaW50
ZWxfcGNoX2luaXQoUENJQnVzICpidXMpCiAgICAgICAgICAgICAgICAgICAgICAgICBwY2hfbWFw
X2lycSwgImludGVsX2JyaWRnZV8xZiIpOwogfQogCit1aW50MzJfdCBpZ2RfcmVhZF9vcHJlZ2lv
bihzdHJ1Y3QgcHRfZGV2ICpwY2lfZGV2KQoreworICAgIHVpbnQzMl90IHZhbCA9IC0xOworCisg
ICAgaWYgKCBpZ2RfZ3Vlc3Rfb3ByZWdpb24gPT0gMCApCisgICAgICAgIHJldHVybiAtMTsKKwor
ICAgIHZhbCA9IGlnZF9ndWVzdF9vcHJlZ2lvbjsKKyNpZmRlZiBQVF9ERUJVR19QQ0lfQ09ORklH
X0FDQ0VTUworICAgIFBUX0xPR19ERVYoKFBDSURldmljZSopcGNpX2RldiwgImFkZHI9JXggbGVu
PSV4IHZhbD0leFxuIiwKKyAgICAgICAgICAgIFBDSV9JTlRFTF9PUFJFR0lPTiwgNCwgdmFsKTsK
KyNlbmRpZgorICAgIHJldHVybiB2YWw7Cit9CisKK3ZvaWQgaWdkX3dyaXRlX29wcmVnaW9uKHN0
cnVjdCBwdF9kZXYgKnJlYWxfZGV2LCB1aW50MzJfdCB2YWwpCit7CisgICAgdWludDMyX3QgaG9z
dF9vcHJlZ2lvbiA9IDA7CisgICAgaW50IHJldDsKKworICAgIGlmICggaWdkX2d1ZXN0X29wcmVn
aW9uICkKKyAgICB7CisgICAgICAgIFBUX0xPRygib3ByZWdpb24gcmVnaXN0ZXIgYWxyZWFkeSBi
ZWVuIHNldCwgaWdub3JpbmcgJXhcbiIsIHZhbCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBob3N0X29wcmVnaW9uID0gcHRfcGNpX2hvc3RfcmVhZChyZWFsX2Rldi0+cGNpX2Rldiwg
UENJX0lOVEVMX09QUkVHSU9OLCA0KTsKKyAgICBpZ2RfZ3Vlc3Rfb3ByZWdpb24gPSAodmFsICYg
fjB4ZmZmKSB8IChob3N0X29wcmVnaW9uICYgMHhmZmYpOworICAgIFBUX0xPRygiTWFwIE9wUmVn
aW9uOiAleCAtPiAleFxuIiwgaG9zdF9vcHJlZ2lvbiwgaWdkX2d1ZXN0X29wcmVnaW9uKTsKKwor
ICAgIHJldCA9IHhjX2RvbWFpbl9tZW1vcnlfbWFwcGluZyh4Y19oYW5kbGUsIGRvbWlkLAorICAg
ICAgICAgICAgaWdkX2d1ZXN0X29wcmVnaW9uID4+IFhDX1BBR0VfU0hJRlQsCisgICAgICAgICAg
ICBob3N0X29wcmVnaW9uID4+IFhDX1BBR0VfU0hJRlQsCisgICAgICAgICAgICAyLAorICAgICAg
ICAgICAgRFBDSV9BRERfTUFQUElORyk7CisKKyAgICBpZiAoIHJldCAhPSAwICkKKyAgICB7Cisg
ICAgICAgIFBUX0xPRygiRXJyb3I6IENhbid0IG1hcCBvcHJlZ2lvblxuIik7CisgICAgICAgIGln
ZF9ndWVzdF9vcHJlZ2lvbiA9IDA7CisgICAgfQorI2lmZGVmIFBUX0RFQlVHX1BDSV9DT05GSUdf
QUNDRVNTCisgICAgUFRfTE9HX0RFVigoUENJRGV2aWNlKilyZWFsX2RldiwgImFkZHI9JXggbGVu
PSVseCB2YWw9JXhcbiIsCisgICAgICAgICAgICBQQ0lfSU5URUxfT1BSRUdJT04sIGxlbiwgdmFs
KTsKKyNlbmRpZgorCit9CisKIHZvaWQgaWdkX3BjaV93cml0ZShQQ0lEZXZpY2UgKnBjaV9kZXYs
IHVpbnQzMl90IGNvbmZpZ19hZGRyLCB1aW50MzJfdCB2YWwsIGludCBsZW4pCiB7CiAgICAgc3Ry
dWN0IHBjaV9kZXYgKnBjaV9kZXZfaG9zdF9icmlkZ2UgPSBwdF9wY2lfZ2V0X2RldigwLCAwLCAw
KTsKQEAgLTk5LDcgKzE0OSw2IEBAIHVpbnQzMl90IGlnZF9wY2lfcmVhZChQQ0lEZXZpY2UgKnBj
aV9kZXYsIHVpbnQzMl90IGNvbmZpZ19hZGRyLCBpbnQgbGVuKQogaW50IHJlZ2lzdGVyX3ZnYV9y
ZWdpb25zKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2aWNlKQogewogICAgIHUxNiB2ZW5kb3JfaWQ7
Ci0gICAgaW50IGlnZF9vcHJlZ2lvbjsKICAgICBpbnQgcmV0ID0gMDsKIAogICAgIGlmICggIWdm
eF9wYXNzdGhydSB8fCByZWFsX2RldmljZS0+cGNpX2Rldi0+ZGV2aWNlX2NsYXNzICE9IDB4MDMw
MCApCkBAIC0xMTcsMTkgKzE2Niw2IEBAIGludCByZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3Qg
cHRfZGV2ICpyZWFsX2RldmljZSkKICAgICAgICAgICAgIDB4MjAsCiAgICAgICAgICAgICBEUENJ
X0FERF9NQVBQSU5HKTsKIAotICAgIC8qIDE6MSBtYXAgQVNMIFN0b3JhZ2UgcmVnaXN0ZXIgdmFs
dWUgKi8KLSAgICB2ZW5kb3JfaWQgPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2aWNlLT5wY2lf
ZGV2LCAwLCAyKTsKLSAgICBpZ2Rfb3ByZWdpb24gPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2
aWNlLT5wY2lfZGV2LCBQQ0lfSU5URUxfT1BSRUdJT04sIDQpOwotICAgIGlmICggKHZlbmRvcl9p
ZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMICkgJiYgaWdkX29wcmVnaW9uICkKLSAgICB7Ci0gICAg
ICAgIHJldCB8PSB4Y19kb21haW5fbWVtb3J5X21hcHBpbmcoeGNfaGFuZGxlLCBkb21pZCwKLSAg
ICAgICAgICAgICAgICBpZ2Rfb3ByZWdpb24gPj4gWENfUEFHRV9TSElGVCwKLSAgICAgICAgICAg
ICAgICBpZ2Rfb3ByZWdpb24gPj4gWENfUEFHRV9TSElGVCwKLSAgICAgICAgICAgICAgICAyLAot
ICAgICAgICAgICAgICAgIERQQ0lfQUREX01BUFBJTkcpOwotICAgICAgICBQVF9MT0coInJlZ2lz
dGVyX3ZnYTogaWdkX29wcmVnaW9uID0gJXhcbiIsIGlnZF9vcHJlZ2lvbik7Ci0gICAgfQotCiAg
ICAgaWYgKCByZXQgIT0gMCApCiAgICAgICAgIFBUX0xPRygiVkdBIHJlZ2lvbiBtYXBwaW5nIGZh
aWxlZFxuIik7CiAKQEAgLTE0MSw3ICsxNzcsNyBAQCBpbnQgcmVnaXN0ZXJfdmdhX3JlZ2lvbnMo
c3RydWN0IHB0X2RldiAqcmVhbF9kZXZpY2UpCiAgKi8KIGludCB1bnJlZ2lzdGVyX3ZnYV9yZWdp
b25zKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2aWNlKQogewotICAgIHUzMiB2ZW5kb3JfaWQsIGln
ZF9vcHJlZ2lvbjsKKyAgICB1MzIgdmVuZG9yX2lkOwogICAgIGludCByZXQgPSAwOwogCiAgICAg
aWYgKCAhZ2Z4X3Bhc3N0aHJ1IHx8IHJlYWxfZGV2aWNlLT5wY2lfZGV2LT5kZXZpY2VfY2xhc3Mg
IT0gMHgwMzAwICkKQEAgLTE2MCwxMiArMTk2LDExIEBAIGludCB1bnJlZ2lzdGVyX3ZnYV9yZWdp
b25zKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2aWNlKQogICAgICAgICAgICAgRFBDSV9SRU1PVkVf
TUFQUElORyk7CiAKICAgICB2ZW5kb3JfaWQgPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2aWNl
LT5wY2lfZGV2LCBQQ0lfVkVORE9SX0lELCAyKTsKLSAgICBpZ2Rfb3ByZWdpb24gPSBwdF9wY2lf
aG9zdF9yZWFkKHJlYWxfZGV2aWNlLT5wY2lfZGV2LCBQQ0lfSU5URUxfT1BSRUdJT04sIDQpOwot
ICAgIGlmICggKHZlbmRvcl9pZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMKSAmJiBpZ2Rfb3ByZWdp
b24gKQorICAgIGlmICggKHZlbmRvcl9pZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMKSAmJiBpZ2Rf
Z3Vlc3Rfb3ByZWdpb24gKQogICAgIHsKICAgICAgICAgcmV0IHw9IHhjX2RvbWFpbl9tZW1vcnlf
bWFwcGluZyh4Y19oYW5kbGUsIGRvbWlkLAotICAgICAgICAgICAgICAgIGlnZF9vcHJlZ2lvbiA+
PiBYQ19QQUdFX1NISUZULAotICAgICAgICAgICAgICAgIGlnZF9vcHJlZ2lvbiA+PiBYQ19QQUdF
X1NISUZULAorICAgICAgICAgICAgICAgIGlnZF9ndWVzdF9vcHJlZ2lvbiA+PiBYQ19QQUdFX1NI
SUZULAorICAgICAgICAgICAgICAgIGlnZF9ndWVzdF9vcHJlZ2lvbiA+PiBYQ19QQUdFX1NISUZU
LAogICAgICAgICAgICAgICAgIDIsCiAgICAgICAgICAgICAgICAgRFBDSV9SRU1PVkVfTUFQUElO
Ryk7CiAgICAgfQo=
--14dae9cdc8217dbd9f04bfb3547f
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--14dae9cdc8217dbd9f04bfb3547f--


From xen-devel-bounces@lists.xen.org Thu May 10 19:07:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 19:07:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSYi1-0002jV-Q2; Thu, 10 May 2012 19:07:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSYi0-0002jA-2T
	for xen-devel@lists.xen.org; Thu, 10 May 2012 19:07:28 +0000
Received: from [85.158.143.99:7506] by server-3.bemta-4.messagelabs.com id
	E9/75-05853-FE11CAF4; Thu, 10 May 2012 19:07:27 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336676844!26526054!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31451 invoked from network); 10 May 2012 19:07:26 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 19:07:26 -0000
Received: by qafl39 with SMTP id l39so931692qaf.16
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 12:07:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=4LIODJ0mFlkgMWNDAtyFVL8Qc2bbmUyldK8Gw+Rf//A=;
	b=Jb/1Xn4Cf/Y3iVdBOxGnrBQkKS2BO0hg3GT7WPa4CR1sWrfAgQYIV+RM+/rFDW/tOV
	GZbwFpv5Tx/CsNvByzOnCfq71ssE9WcTpITcVgGcRSv3pYSWItfbM33jQN1sZEMcw/85
	xgcEnk9ZoBdOF2nRvVFrTiudZeUV1uCAFaJqcOq9tuqzIQM/7YaaBLJd16r1YNGxaXMh
	v2kCi8MBc4S0vRDO0js0vrd3rZSJrb0RLniHFWLEFVAyfw7c2N91tp7ux7DjVre1h1iB
	G4+LtcSvqlemZzCz16ShjvyxvQQe4ftzZDzc+3+dAGa4UMyJE0D7cX8s9SOQCDT8RWaN
	IO4Q==
Received: by 10.220.214.8 with SMTP id gy8mr3399934vcb.45.1336676844420; Thu,
	10 May 2012 12:07:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 12:07:04 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 20:07:04 +0100
Message-ID: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=14dae9cdc8217dbd9f04bfb3547f
Cc: "Kay, Allen M" <allen.m.kay@intel.com>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough,
	fix OpRegion mapping (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--14dae9cdc8217dbd9f04bfb3547f
Content-Type: text/plain; charset=ISO-8859-1

The OpRegion shouldn't be mapped 1:1 because the address in the host
can't be used in the guest directly.

This patch traps read and write access to the opregion of the Intel
GPU config space (offset 0xfc).

To work correctly this patch needs a change in hvmloader.

HVMloader will allocate 2 pages for the OpRegion and write this address
on the config space of the Intel GPU. Qemu will trap and map the host
OpRegion to the guest. Any write to this offset after that won't have
any effect. Any read of this config space offset will return the address
in the guest.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>

--14dae9cdc8217dbd9f04bfb3547f
Content-Type: text/x-patch; charset=US-ASCII; 
	name="qemu-xen-Intel-GPU-passthrough-fix-OpRegion-mapping.patch"
Content-Disposition: attachment; 
	filename="qemu-xen-Intel-GPU-passthrough-fix-OpRegion-mapping.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h226vxjk0

Y29tbWl0IGE2MDM2YmVlMjNiYjMzOGU2Y2Y0OGU5ZjBkNzVmZjA4NDVmOGNmZTMKQXV0aG9yOiBK
ZWFuIEd1eWFkZXIgPGplYW4uZ3V5YWRlckBldS5jaXRyaXguY29tPgpEYXRlOiAgIFdlZCBOb3Yg
MjMgMDc6NTM6MzAgMjAxMSArMDAwMAoKICAgIHFlbXUteGVuOiBJbnRlbCBHUFUgcGFzc3Rocm91
Z2gsIGZpeCBPcFJlZ2lvbiBtYXBwaW5nLgogICAgCiAgICBUaGUgT3BSZWdpb24gc2hvdWxkbid0
IGJlIG1hcHBlZCAxOjEgYmVjYXVzZSB0aGUgYWRkcmVzcyBpbiB0aGUgaG9zdAogICAgY2FuJ3Qg
YmUgdXNlZCBpbiB0aGUgZ3Vlc3QgZGlyZWN0bHkuCiAgICAKICAgIFRoaXMgcGF0Y2ggdHJhcHMg
cmVhZCBhbmQgd3JpdGUgYWNjZXNzIHRvIHRoZSBvcHJlZ2lvbiBvZiB0aGUgSW50ZWwKICAgIEdQ
VSBjb25maWcgc3BhY2UgKG9mZnNldCAweGZjKS4KICAgIAogICAgVG8gd29yayBjb3JyZWN0bHkg
dGhpcyBwYXRjaCBuZWVkcyBhIGNoYW5nZSBpbiBodm1sb2FkZXIuCiAgICAKICAgIEhWTWxvYWRl
ciB3aWxsIGFsbG9jYXRlIDIgcGFnZXMgZm9yIHRoZSBPcFJlZ2lvbiBhbmQgd3JpdGUgdGhpcyBh
ZGRyZXNzCiAgICBvbiB0aGUgY29uZmlnIHNwYWNlIG9mIHRoZSBJbnRlbCBHUFUuIFFlbXUgd2ls
bCB0cmFwIGFuZCBtYXAgdGhlIGhvc3QKICAgIE9wUmVnaW9uIHRvIHRoZSBndWVzdC4gQW55IHdy
aXRlIHRvIHRoaXMgb2Zmc2V0IGFmdGVyIHRoYXQgd29uJ3QgaGF2ZQogICAgYW55IGVmZmVjdC4g
QW55IHJlYWQgb2YgdGhpcyBjb25maWcgc3BhY2Ugb2Zmc2V0IHdpbGwgcmV0dXJuIHRoZSBhZGRy
ZXNzCiAgICBpbiB0aGUgZ3Vlc3QuCgpkaWZmIC0tZ2l0IGEvaHcvcGFzcy10aHJvdWdoLmMgYi9o
dy9wYXNzLXRocm91Z2guYwppbmRleCBkYmU4ODA0Li43ZWUzYzYxIDEwMDY0NAotLS0gYS9ody9w
YXNzLXRocm91Z2guYworKysgYi9ody9wYXNzLXRocm91Z2guYwpAQCAtMjM4LDYgKzIzOCwxNCBA
QCBzdGF0aWMgaW50IHB0X2Jhcl9yZWdfcmVzdG9yZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKIHN0
YXRpYyBpbnQgcHRfZXhwX3JvbV9iYXJfcmVnX3Jlc3RvcmUoc3RydWN0IHB0X2RldiAqcHRkZXYs
CiAgICAgc3RydWN0IHB0X3JlZ190YmwgKmNmZ19lbnRyeSwKICAgICB1aW50MzJfdCByZWFsX29m
ZnNldCwgdWludDMyX3QgZGV2X3ZhbHVlLCB1aW50MzJfdCAqdmFsdWUpOworc3RhdGljIGludCBw
dF9pbnRlbF9vcHJlZ2lvbl9yZWFkKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAorICAgICAgICBzdHJ1
Y3QgcHRfcmVnX3RibCAqY2ZnX2VudHJ5LAorICAgICAgICB1aW50MzJfdCAqdmFsdWUsIHVpbnQz
Ml90IHZhbGlkX21hc2spOworc3RhdGljIGludCBwdF9pbnRlbF9vcHJlZ2lvbl93cml0ZShzdHJ1
Y3QgcHRfZGV2ICpwdGRldiwKKyAgICAgICAgc3RydWN0IHB0X3JlZ190YmwgKmNmZ19lbnRyeSwK
KyAgICAgICAgdWludDMyX3QgKnZhbHVlLCB1aW50MzJfdCBkZXZfdmFsdWUsIHVpbnQzMl90IHZh
bGlkX21hc2spOworc3RhdGljIHVpbnQ4X3QgcHRfcmVnX2dycF9oZWFkZXIwX3NpemVfaW5pdChz
dHJ1Y3QgcHRfZGV2ICpwdGRldiwKKyAgICAgICAgc3RydWN0IHB0X3JlZ19ncnBfaW5mb190Ymwg
KmdycF9yZWcsIHVpbnQzMl90IGJhc2Vfb2Zmc2V0KTsKIAogLyogcHRfcmVnX2luZm9fdGJsIGRl
Y2xhcmF0aW9uCiAgKiAtIG9ubHkgZm9yIGVtdWxhdGVkIHJlZ2lzdGVyIChlaXRoZXIgYSBwYXJ0
IG9yIHdob2xlIGJpdCkuCkBAIC00NDQsNiArNDUyLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgcHRfcmVn
X2luZm9fdGJsIHB0X2VtdV9yZWdfaGVhZGVyMF90YmxbXSA9IHsKICAgICAgICAgLnUuZHcud3Jp
dGUgPSBwdF9leHBfcm9tX2Jhcl9yZWdfd3JpdGUsCiAgICAgICAgIC51LmR3LnJlc3RvcmUgPSBw
dF9leHBfcm9tX2Jhcl9yZWdfcmVzdG9yZSwKICAgICB9LAorICAgIC8qIEludGVsIElHRlggT3BS
ZWdpb24gcmVnICovCisgICAgeworICAgICAgICAub2Zmc2V0ICAgICA9IFBDSV9JTlRFTF9PUFJF
R0lPTiwKKyAgICAgICAgLnNpemUgICAgICAgPSA0LAorICAgICAgICAuaW5pdF92YWwgICA9IDAs
CisgICAgICAgIC5ub193YiAgICAgID0gMSwKKyAgICAgICAgLnUuZHcucmVhZCAgID0gcHRfaW50
ZWxfb3ByZWdpb25fcmVhZCwKKyAgICAgICAgLnUuZHcud3JpdGUgID0gcHRfaW50ZWxfb3ByZWdp
b25fd3JpdGUsCisgICAgICAgIC51LmR3LnJlc3RvcmUgID0gTlVMTCwKKyAgICB9LAogICAgIHsK
ICAgICAgICAgLnNpemUgPSAwLAogICAgIH0sCkBAIC03MzcsNyArNzU1LDcgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCBwdF9yZWdfZ3JwX2luZm9fdGJsIHB0X2VtdV9yZWdfZ3JwX3RibFtdID0gewog
ICAgICAgICAuZ3JwX2lkICAgICA9IDB4RkYsCiAgICAgICAgIC5ncnBfdHlwZSAgID0gR1JQX1RZ
UEVfRU1VLAogICAgICAgICAuZ3JwX3NpemUgICA9IDB4NDAsCi0gICAgICAgIC5zaXplX2luaXQg
ID0gcHRfcmVnX2dycF9zaXplX2luaXQsCisgICAgICAgIC5zaXplX2luaXQgID0gcHRfcmVnX2dy
cF9oZWFkZXIwX3NpemVfaW5pdCwKICAgICAgICAgLmVtdV9yZWdfdGJsPSBwdF9lbXVfcmVnX2hl
YWRlcjBfdGJsLAogICAgIH0sCiAgICAgLyogUENJIFBvd2VyTWFuYWdlbWVudCBDYXBhYmlsaXR5
IHJlZyBncm91cCAqLwpAQCAtMzAwNiw2ICszMDI0LDE5IEBAIHN0YXRpYyB1aW50MzJfdCBwdF9t
c2l4Y3RybF9yZWdfaW5pdChzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKICAgICByZXR1cm4gcmVnLT5p
bml0X3ZhbDsKIH0KIAorc3RhdGljIHVpbnQ4X3QgcHRfcmVnX2dycF9oZWFkZXIwX3NpemVfaW5p
dChzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKKyAgICAgICAgc3RydWN0IHB0X3JlZ19ncnBfaW5mb190
YmwgKmdycF9yZWcsIHVpbnQzMl90IGJhc2Vfb2Zmc2V0KQoreworICAgIC8qCisgICAgKiogQnkg
ZGVmYXVsdCB3ZSB3aWxsIHRyYXAgdXAgdG8gMHg0MCBpbiB0aGUgY2ZnIHNwYWNlLgorICAgICoq
IElmIGFuIGludGVsIGRldmljZSBpcyBwYXNzIHRocm91Z2ggd2UgbmVlZCB0byB0cmFwIDB4ZmMs
CisgICAgKiogdGhlcmVmb3JlIHRoZSBzaXplIHNob3VsZCBiZSAweGZmLgorICAgICovCisgICAg
aWYgKGlnZF9wYXNzdGhydSkKKyAgICAgICAgcmV0dXJuIDB4RkY7CisgICAgcmV0dXJuIGdycF9y
ZWctPmdycF9zaXplOworfQorCiAvKiBnZXQgcmVnaXN0ZXIgZ3JvdXAgc2l6ZSAqLwogc3RhdGlj
IHVpbnQ4X3QgcHRfcmVnX2dycF9zaXplX2luaXQoc3RydWN0IHB0X2RldiAqcHRkZXYsCiAgICAg
ICAgIHN0cnVjdCBwdF9yZWdfZ3JwX2luZm9fdGJsICpncnBfcmVnLCB1aW50MzJfdCBiYXNlX29m
ZnNldCkKQEAgLTQxNTQsNiArNDE4NSwyMiBAQCBzdGF0aWMgaW50IHB0X3BtY3NyX3JlZ19yZXN0
b3JlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgaW50
IHB0X2ludGVsX29wcmVnaW9uX3JlYWQoc3RydWN0IHB0X2RldiAqcHRkZXYsCisgICAgICAgIHN0
cnVjdCBwdF9yZWdfdGJsICpjZmdfZW50cnksCisgICAgICAgIHVpbnQzMl90ICp2YWx1ZSwgdWlu
dDMyX3QgdmFsaWRfbWFzaykKK3sKKyAgICAqdmFsdWUgPSBpZ2RfcmVhZF9vcHJlZ2lvbihwdGRl
dik7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHRfaW50ZWxfb3ByZWdpb25fd3Jp
dGUoc3RydWN0IHB0X2RldiAqcHRkZXYsCisgICAgICAgIHN0cnVjdCBwdF9yZWdfdGJsICpjZmdf
ZW50cnksCisgICAgICAgIHVpbnQzMl90ICp2YWx1ZSwgdWludDMyX3QgZGV2X3ZhbHVlLCB1aW50
MzJfdCB2YWxpZF9tYXNrKQoreworICAgIGlnZF93cml0ZV9vcHJlZ2lvbihwdGRldiwgKnZhbHVl
KTsKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBwdF9kZXYgKiByZWdpc3Rlcl9y
ZWFsX2RldmljZShQQ0lCdXMgKmVfYnVzLAogICAgICAgICBjb25zdCBjaGFyICplX2Rldl9uYW1l
LCBpbnQgZV9kZXZmbiwgdWludDhfdCByX2J1cywgdWludDhfdCByX2RldiwKICAgICAgICAgdWlu
dDhfdCByX2Z1bmMsIHVpbnQzMl90IG1hY2hpbmVfaXJxLCBzdHJ1Y3QgcGNpX2FjY2VzcyAqcGNp
X2FjY2VzcywKZGlmZiAtLWdpdCBhL2h3L3Bhc3MtdGhyb3VnaC5oIGIvaHcvcGFzcy10aHJvdWdo
LmgKaW5kZXggODg0MTM5Yy4uYzYxYTdmYiAxMDA2NDQKLS0tIGEvaHcvcGFzcy10aHJvdWdoLmgK
KysrIGIvaHcvcGFzcy10aHJvdWdoLmgKQEAgLTQyMiw2ICs0MjIsOCBAQCBQQ0lCdXMgKmludGVs
X3BjaV9icmlkZ2VfaW5pdChQQ0lCdXMgKmJ1cywgaW50IGRldmZuLCB1aW50MTZfdCB2aWQsCiAg
ICAgICAgICAgIHVpbnQxNl90IGRpZCwgY29uc3QgY2hhciAqbmFtZSwgdWludDE2X3QgcmV2aXNp
b24pOwogdm9pZCBpZ2RfcGNpX3dyaXRlKFBDSURldmljZSAqcGNpX2RldiwgdWludDMyX3QgY29u
ZmlnX2FkZHIsIHVpbnQzMl90IHZhbCwgaW50IGxlbik7CiB1aW50MzJfdCBpZ2RfcGNpX3JlYWQo
UENJRGV2aWNlICpwY2lfZGV2LCB1aW50MzJfdCBjb25maWdfYWRkciwgaW50IGxlbik7Cit1aW50
MzJfdCBpZ2RfcmVhZF9vcHJlZ2lvbihzdHJ1Y3QgcHRfZGV2ICpwY2lfZGV2KTsKK3ZvaWQgaWdk
X3dyaXRlX29wcmVnaW9uKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2LCB1aW50MzJfdCB2YWwpOwog
CiAjZW5kaWYgLyogX19QQVNTVEhST1VHSF9IX18gKi8KIApkaWZmIC0tZ2l0IGEvaHcvcHQtZ3Jh
cGhpY3MuYyBiL2h3L3B0LWdyYXBoaWNzLmMKaW5kZXggZmVjNzM5MC4uYTYwNjczZiAxMDA2NDQK
LS0tIGEvaHcvcHQtZ3JhcGhpY3MuYworKysgYi9ody9wdC1ncmFwaGljcy5jCkBAIC0xMyw2ICsx
Myw4IEBACiBleHRlcm4gaW50IGdmeF9wYXNzdGhydTsKIGV4dGVybiBpbnQgaWdkX3Bhc3N0aHJ1
OwogCitzdGF0aWMgdWludDMyX3QgaWdkX2d1ZXN0X29wcmVnaW9uID0gMDsKKwogc3RhdGljIGlu
dCBwY2hfbWFwX2lycShQQ0lEZXZpY2UgKnBjaV9kZXYsIGludCBpcnFfbnVtKQogewogICAgIFBU
X0xPRygicGNoX21hcF9pcnEgY2FsbGVkXG4iKTsKQEAgLTM3LDYgKzM5LDU0IEBAIHZvaWQgaW50
ZWxfcGNoX2luaXQoUENJQnVzICpidXMpCiAgICAgICAgICAgICAgICAgICAgICAgICBwY2hfbWFw
X2lycSwgImludGVsX2JyaWRnZV8xZiIpOwogfQogCit1aW50MzJfdCBpZ2RfcmVhZF9vcHJlZ2lv
bihzdHJ1Y3QgcHRfZGV2ICpwY2lfZGV2KQoreworICAgIHVpbnQzMl90IHZhbCA9IC0xOworCisg
ICAgaWYgKCBpZ2RfZ3Vlc3Rfb3ByZWdpb24gPT0gMCApCisgICAgICAgIHJldHVybiAtMTsKKwor
ICAgIHZhbCA9IGlnZF9ndWVzdF9vcHJlZ2lvbjsKKyNpZmRlZiBQVF9ERUJVR19QQ0lfQ09ORklH
X0FDQ0VTUworICAgIFBUX0xPR19ERVYoKFBDSURldmljZSopcGNpX2RldiwgImFkZHI9JXggbGVu
PSV4IHZhbD0leFxuIiwKKyAgICAgICAgICAgIFBDSV9JTlRFTF9PUFJFR0lPTiwgNCwgdmFsKTsK
KyNlbmRpZgorICAgIHJldHVybiB2YWw7Cit9CisKK3ZvaWQgaWdkX3dyaXRlX29wcmVnaW9uKHN0
cnVjdCBwdF9kZXYgKnJlYWxfZGV2LCB1aW50MzJfdCB2YWwpCit7CisgICAgdWludDMyX3QgaG9z
dF9vcHJlZ2lvbiA9IDA7CisgICAgaW50IHJldDsKKworICAgIGlmICggaWdkX2d1ZXN0X29wcmVn
aW9uICkKKyAgICB7CisgICAgICAgIFBUX0xPRygib3ByZWdpb24gcmVnaXN0ZXIgYWxyZWFkeSBi
ZWVuIHNldCwgaWdub3JpbmcgJXhcbiIsIHZhbCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBob3N0X29wcmVnaW9uID0gcHRfcGNpX2hvc3RfcmVhZChyZWFsX2Rldi0+cGNpX2Rldiwg
UENJX0lOVEVMX09QUkVHSU9OLCA0KTsKKyAgICBpZ2RfZ3Vlc3Rfb3ByZWdpb24gPSAodmFsICYg
fjB4ZmZmKSB8IChob3N0X29wcmVnaW9uICYgMHhmZmYpOworICAgIFBUX0xPRygiTWFwIE9wUmVn
aW9uOiAleCAtPiAleFxuIiwgaG9zdF9vcHJlZ2lvbiwgaWdkX2d1ZXN0X29wcmVnaW9uKTsKKwor
ICAgIHJldCA9IHhjX2RvbWFpbl9tZW1vcnlfbWFwcGluZyh4Y19oYW5kbGUsIGRvbWlkLAorICAg
ICAgICAgICAgaWdkX2d1ZXN0X29wcmVnaW9uID4+IFhDX1BBR0VfU0hJRlQsCisgICAgICAgICAg
ICBob3N0X29wcmVnaW9uID4+IFhDX1BBR0VfU0hJRlQsCisgICAgICAgICAgICAyLAorICAgICAg
ICAgICAgRFBDSV9BRERfTUFQUElORyk7CisKKyAgICBpZiAoIHJldCAhPSAwICkKKyAgICB7Cisg
ICAgICAgIFBUX0xPRygiRXJyb3I6IENhbid0IG1hcCBvcHJlZ2lvblxuIik7CisgICAgICAgIGln
ZF9ndWVzdF9vcHJlZ2lvbiA9IDA7CisgICAgfQorI2lmZGVmIFBUX0RFQlVHX1BDSV9DT05GSUdf
QUNDRVNTCisgICAgUFRfTE9HX0RFVigoUENJRGV2aWNlKilyZWFsX2RldiwgImFkZHI9JXggbGVu
PSVseCB2YWw9JXhcbiIsCisgICAgICAgICAgICBQQ0lfSU5URUxfT1BSRUdJT04sIGxlbiwgdmFs
KTsKKyNlbmRpZgorCit9CisKIHZvaWQgaWdkX3BjaV93cml0ZShQQ0lEZXZpY2UgKnBjaV9kZXYs
IHVpbnQzMl90IGNvbmZpZ19hZGRyLCB1aW50MzJfdCB2YWwsIGludCBsZW4pCiB7CiAgICAgc3Ry
dWN0IHBjaV9kZXYgKnBjaV9kZXZfaG9zdF9icmlkZ2UgPSBwdF9wY2lfZ2V0X2RldigwLCAwLCAw
KTsKQEAgLTk5LDcgKzE0OSw2IEBAIHVpbnQzMl90IGlnZF9wY2lfcmVhZChQQ0lEZXZpY2UgKnBj
aV9kZXYsIHVpbnQzMl90IGNvbmZpZ19hZGRyLCBpbnQgbGVuKQogaW50IHJlZ2lzdGVyX3ZnYV9y
ZWdpb25zKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2aWNlKQogewogICAgIHUxNiB2ZW5kb3JfaWQ7
Ci0gICAgaW50IGlnZF9vcHJlZ2lvbjsKICAgICBpbnQgcmV0ID0gMDsKIAogICAgIGlmICggIWdm
eF9wYXNzdGhydSB8fCByZWFsX2RldmljZS0+cGNpX2Rldi0+ZGV2aWNlX2NsYXNzICE9IDB4MDMw
MCApCkBAIC0xMTcsMTkgKzE2Niw2IEBAIGludCByZWdpc3Rlcl92Z2FfcmVnaW9ucyhzdHJ1Y3Qg
cHRfZGV2ICpyZWFsX2RldmljZSkKICAgICAgICAgICAgIDB4MjAsCiAgICAgICAgICAgICBEUENJ
X0FERF9NQVBQSU5HKTsKIAotICAgIC8qIDE6MSBtYXAgQVNMIFN0b3JhZ2UgcmVnaXN0ZXIgdmFs
dWUgKi8KLSAgICB2ZW5kb3JfaWQgPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2aWNlLT5wY2lf
ZGV2LCAwLCAyKTsKLSAgICBpZ2Rfb3ByZWdpb24gPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2
aWNlLT5wY2lfZGV2LCBQQ0lfSU5URUxfT1BSRUdJT04sIDQpOwotICAgIGlmICggKHZlbmRvcl9p
ZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMICkgJiYgaWdkX29wcmVnaW9uICkKLSAgICB7Ci0gICAg
ICAgIHJldCB8PSB4Y19kb21haW5fbWVtb3J5X21hcHBpbmcoeGNfaGFuZGxlLCBkb21pZCwKLSAg
ICAgICAgICAgICAgICBpZ2Rfb3ByZWdpb24gPj4gWENfUEFHRV9TSElGVCwKLSAgICAgICAgICAg
ICAgICBpZ2Rfb3ByZWdpb24gPj4gWENfUEFHRV9TSElGVCwKLSAgICAgICAgICAgICAgICAyLAot
ICAgICAgICAgICAgICAgIERQQ0lfQUREX01BUFBJTkcpOwotICAgICAgICBQVF9MT0coInJlZ2lz
dGVyX3ZnYTogaWdkX29wcmVnaW9uID0gJXhcbiIsIGlnZF9vcHJlZ2lvbik7Ci0gICAgfQotCiAg
ICAgaWYgKCByZXQgIT0gMCApCiAgICAgICAgIFBUX0xPRygiVkdBIHJlZ2lvbiBtYXBwaW5nIGZh
aWxlZFxuIik7CiAKQEAgLTE0MSw3ICsxNzcsNyBAQCBpbnQgcmVnaXN0ZXJfdmdhX3JlZ2lvbnMo
c3RydWN0IHB0X2RldiAqcmVhbF9kZXZpY2UpCiAgKi8KIGludCB1bnJlZ2lzdGVyX3ZnYV9yZWdp
b25zKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2aWNlKQogewotICAgIHUzMiB2ZW5kb3JfaWQsIGln
ZF9vcHJlZ2lvbjsKKyAgICB1MzIgdmVuZG9yX2lkOwogICAgIGludCByZXQgPSAwOwogCiAgICAg
aWYgKCAhZ2Z4X3Bhc3N0aHJ1IHx8IHJlYWxfZGV2aWNlLT5wY2lfZGV2LT5kZXZpY2VfY2xhc3Mg
IT0gMHgwMzAwICkKQEAgLTE2MCwxMiArMTk2LDExIEBAIGludCB1bnJlZ2lzdGVyX3ZnYV9yZWdp
b25zKHN0cnVjdCBwdF9kZXYgKnJlYWxfZGV2aWNlKQogICAgICAgICAgICAgRFBDSV9SRU1PVkVf
TUFQUElORyk7CiAKICAgICB2ZW5kb3JfaWQgPSBwdF9wY2lfaG9zdF9yZWFkKHJlYWxfZGV2aWNl
LT5wY2lfZGV2LCBQQ0lfVkVORE9SX0lELCAyKTsKLSAgICBpZ2Rfb3ByZWdpb24gPSBwdF9wY2lf
aG9zdF9yZWFkKHJlYWxfZGV2aWNlLT5wY2lfZGV2LCBQQ0lfSU5URUxfT1BSRUdJT04sIDQpOwot
ICAgIGlmICggKHZlbmRvcl9pZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMKSAmJiBpZ2Rfb3ByZWdp
b24gKQorICAgIGlmICggKHZlbmRvcl9pZCA9PSBQQ0lfVkVORE9SX0lEX0lOVEVMKSAmJiBpZ2Rf
Z3Vlc3Rfb3ByZWdpb24gKQogICAgIHsKICAgICAgICAgcmV0IHw9IHhjX2RvbWFpbl9tZW1vcnlf
bWFwcGluZyh4Y19oYW5kbGUsIGRvbWlkLAotICAgICAgICAgICAgICAgIGlnZF9vcHJlZ2lvbiA+
PiBYQ19QQUdFX1NISUZULAotICAgICAgICAgICAgICAgIGlnZF9vcHJlZ2lvbiA+PiBYQ19QQUdF
X1NISUZULAorICAgICAgICAgICAgICAgIGlnZF9ndWVzdF9vcHJlZ2lvbiA+PiBYQ19QQUdFX1NI
SUZULAorICAgICAgICAgICAgICAgIGlnZF9ndWVzdF9vcHJlZ2lvbiA+PiBYQ19QQUdFX1NISUZU
LAogICAgICAgICAgICAgICAgIDIsCiAgICAgICAgICAgICAgICAgRFBDSV9SRU1PVkVfTUFQUElO
Ryk7CiAgICAgfQo=
--14dae9cdc8217dbd9f04bfb3547f
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--14dae9cdc8217dbd9f04bfb3547f--


From xen-devel-bounces@lists.xen.org Thu May 10 19:35:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 19:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSZ8G-0003H4-Bi; Thu, 10 May 2012 19:34:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSZ8E-0003Gz-Jl
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 19:34:34 +0000
Received: from [85.158.143.99:51032] by server-1.bemta-4.messagelabs.com id
	8A/1F-20925-9481CAF4; Thu, 10 May 2012 19:34:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336678471!17656797!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30625 invoked from network); 10 May 2012 19:34:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 19:34:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,566,1330905600"; d="scan'208";a="12415843"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 19:34:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 20:34:29 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSZ88-0000v7-PB;
	Thu, 10 May 2012 19:34:28 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSZ88-000552-MN;
	Thu, 10 May 2012 20:34:28 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <E1SSZ88-000552-MN@woking.cam.xci-test.com>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 20:34:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, keir@xen.org, stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [xen-unstable bisection] complete build-i386
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

branch xen-unstable
xen branch xen-unstable
job build-i386
test xen-build

Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  27d63b9f111a
  Bug not present: cb82b5aa73bd


  changeset:   25275:27d63b9f111a
  user:        Keir Fraser <keir@xen.org>
  date:        Thu May 10 11:22:18 2012 +0100
      
      blktap2: Do not build with -O0
      
      Signed-off-by: Keir Fraser <keir@xen.org>
      
      


For bisection revision-tuple graph see:
   http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.build-i386.xen-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Searching for failure / basis pass:
 12828 fail [host=field-cricket] / 12827 [host=moss-bug] 12823 ok.
Failure / basis pass flights: 12828 / 12823
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
Latest 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
Basis pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/staging/qemu-xen-unstable.git#82db8de16530f016809264d3179823999d702849-82db8de16530f016809264d3179823999d702849 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7-fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 http://xenbits.xen.org/staging/xen-unstable.hg#8a86d841e6d4-27d63b9f111a
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
Loaded 125 nodes in revision graph
Searching for test results:
 12806 [host=lace-bug]
 12824 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
 12821 [host=moss-bug]
 12823 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
 12827 [host=moss-bug]
 12828 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12829 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
 12830 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12831 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 ca02580986d2
 12832 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 83a02f225bde
 12833 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
 12835 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12836 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
 12842 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12843 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
 12844 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
Searching for interesting versions
 Result found: flight 12823 (pass), for basis pass
 Result found: flight 12828 (fail), for basis failure
 Repro found: flight 12829 (pass), for basis pass
 Repro found: flight 12830 (fail), for basis failure
 0 revisions at 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
No revisions left to test, checking graph state.
 Result found: flight 12833 (pass), for last pass
 Result found: flight 12835 (fail), for first failure
 Repro found: flight 12836 (pass), for last pass
 Repro found: flight 12842 (fail), for first failure
 Repro found: flight 12843 (pass), for last pass
 Repro found: flight 12844 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  27d63b9f111a
  Bug not present: cb82b5aa73bd

pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found

  changeset:   25275:27d63b9f111a
  user:        Keir Fraser <keir@xen.org>
  date:        Thu May 10 11:22:18 2012 +0100
      
      blktap2: Do not build with -O0
      
      Signed-off-by: Keir Fraser <keir@xen.org>
      
      

Revision graph left in /home/xc_osstest/results/bisect.xen-unstable.build-i386.xen-build.{dot,ps,png,html}.
----------------------------------------
12844: tolerable ALL FAIL

flight 12844 xen-unstable real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12844/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386                    4 xen-build               fail baseline untested


jobs:
 build-i386                                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 19:35:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 19:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSZ8G-0003H4-Bi; Thu, 10 May 2012 19:34:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSZ8E-0003Gz-Jl
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 19:34:34 +0000
Received: from [85.158.143.99:51032] by server-1.bemta-4.messagelabs.com id
	8A/1F-20925-9481CAF4; Thu, 10 May 2012 19:34:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336678471!17656797!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30625 invoked from network); 10 May 2012 19:34:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 19:34:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,566,1330905600"; d="scan'208";a="12415843"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 19:34:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 20:34:29 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSZ88-0000v7-PB;
	Thu, 10 May 2012 19:34:28 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSZ88-000552-MN;
	Thu, 10 May 2012 20:34:28 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <E1SSZ88-000552-MN@woking.cam.xci-test.com>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 20:34:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, keir@xen.org, stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [xen-unstable bisection] complete build-i386
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

branch xen-unstable
xen branch xen-unstable
job build-i386
test xen-build

Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  27d63b9f111a
  Bug not present: cb82b5aa73bd


  changeset:   25275:27d63b9f111a
  user:        Keir Fraser <keir@xen.org>
  date:        Thu May 10 11:22:18 2012 +0100
      
      blktap2: Do not build with -O0
      
      Signed-off-by: Keir Fraser <keir@xen.org>
      
      


For bisection revision-tuple graph see:
   http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.build-i386.xen-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Searching for failure / basis pass:
 12828 fail [host=field-cricket] / 12827 [host=moss-bug] 12823 ok.
Failure / basis pass flights: 12828 / 12823
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
Latest 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
Basis pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/staging/qemu-xen-unstable.git#82db8de16530f016809264d3179823999d702849-82db8de16530f016809264d3179823999d702849 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7-fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 http://xenbits.xen.org/staging/xen-unstable.hg#8a86d841e6d4-27d63b9f111a
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
Loaded 125 nodes in revision graph
Searching for test results:
 12806 [host=lace-bug]
 12824 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
 12821 [host=moss-bug]
 12823 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
 12827 [host=moss-bug]
 12828 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12829 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 8a86d841e6d4
 12830 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12831 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 ca02580986d2
 12832 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 83a02f225bde
 12833 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
 12835 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12836 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
 12842 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
 12843 pass 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
 12844 fail 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 27d63b9f111a
Searching for interesting versions
 Result found: flight 12823 (pass), for basis pass
 Result found: flight 12828 (fail), for basis failure
 Repro found: flight 12829 (pass), for basis pass
 Repro found: flight 12830 (fail), for basis failure
 0 revisions at 82db8de16530f016809264d3179823999d702849 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 cb82b5aa73bd
No revisions left to test, checking graph state.
 Result found: flight 12833 (pass), for last pass
 Result found: flight 12835 (fail), for first failure
 Repro found: flight 12836 (pass), for last pass
 Repro found: flight 12842 (fail), for first failure
 Repro found: flight 12843 (pass), for last pass
 Repro found: flight 12844 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  27d63b9f111a
  Bug not present: cb82b5aa73bd

pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found

  changeset:   25275:27d63b9f111a
  user:        Keir Fraser <keir@xen.org>
  date:        Thu May 10 11:22:18 2012 +0100
      
      blktap2: Do not build with -O0
      
      Signed-off-by: Keir Fraser <keir@xen.org>
      
      

Revision graph left in /home/xc_osstest/results/bisect.xen-unstable.build-i386.xen-build.{dot,ps,png,html}.
----------------------------------------
12844: tolerable ALL FAIL

flight 12844 xen-unstable real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12844/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386                    4 xen-build               fail baseline untested


jobs:
 build-i386                                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 20:03:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 20:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSZZI-0003XB-8X; Thu, 10 May 2012 20:02:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSZZG-0003X6-MD
	for xen-devel@lists.xen.org; Thu, 10 May 2012 20:02:30 +0000
Received: from [85.158.139.83:30526] by server-12.bemta-5.messagelabs.com id
	D4/39-01344-5DE1CAF4; Thu, 10 May 2012 20:02:29 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336680146!20401966!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7054 invoked from network); 10 May 2012 20:02:28 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 20:02:28 -0000
Received: by vbbfn1 with SMTP id fn1so1020662vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 13:02:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=i+nyRnJBhnJkaGt6mv82p8HBdn+nuYpSfwgDniodMvQ=;
	b=G1k4W038rgDf7fbKlH2egOI+roXj1sLhFfuPQoJbROgcZu7detvkmP1ezu9RNwzOfT
	2BkRt05IsGQZsz0w5PWVVDFw0igtXxLqDpnN5EzHJWwAvgkDPMoam9g0GfZED6ZwcBRZ
	PseyGmXQdy8gXYjEWWRCiYzxQETG4mFhlH5S1ZECYQ3HaEssGlJR8hCasSnVlJPvFL3Y
	sxUJc0I2ZvL3vskDB2iu0Chj5IuZPpxw3FaBLAsbtvJBUtGw3h9Df59+ia9+JtL7bLW3
	2emFGXUvfbawe1wzTeS+heo8FL/+41Ec6Xvoa2FTntjHCurCSaOOeJT8R3Qq26u5ODk4
	mqCg==
Received: by 10.52.72.137 with SMTP id d9mr2652339vdv.122.1336680145758; Thu,
	10 May 2012 13:02:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 13:02:05 -0700 (PDT)
In-Reply-To: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
References: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 21:02:05 +0100
Message-ID: <CAEBdQ91kf43QJsJeKruWZE-o=rfL7-fiRwrSzn4gHBZ+6vg1Ng@mail.gmail.com>
To: xen-devel@lists.xen.org
Cc: "Kay, Allen M" <allen.m.kay@intel.com>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10 May 2012 20:07, Jean Guyader <jean.guyader@gmail.com> wrote:
> The OpRegion shouldn't be mapped 1:1 because the address in the host
> can't be used in the guest directly.
>
> This patch traps read and write access to the opregion of the Intel
> GPU config space (offset 0x).
>
> To work correctly this patch needs a change in hvmloader.
>
> HVMloader will allocate 2 pages for the OpRegion and write this address
> on the config space of the Intel GPU. Qemu will trap and map the host
> OpRegion to the guest. Any write to this offset after that won't have
> any effect. Any read of this config space offset will return the address
> in the guest.
>
> Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>

Sorry forgot to say, it was acked by Stefano.

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 20:03:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 20:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSZZI-0003XB-8X; Thu, 10 May 2012 20:02:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SSZZG-0003X6-MD
	for xen-devel@lists.xen.org; Thu, 10 May 2012 20:02:30 +0000
Received: from [85.158.139.83:30526] by server-12.bemta-5.messagelabs.com id
	D4/39-01344-5DE1CAF4; Thu, 10 May 2012 20:02:29 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336680146!20401966!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7054 invoked from network); 10 May 2012 20:02:28 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 20:02:28 -0000
Received: by vbbfn1 with SMTP id fn1so1020662vbb.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 13:02:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=i+nyRnJBhnJkaGt6mv82p8HBdn+nuYpSfwgDniodMvQ=;
	b=G1k4W038rgDf7fbKlH2egOI+roXj1sLhFfuPQoJbROgcZu7detvkmP1ezu9RNwzOfT
	2BkRt05IsGQZsz0w5PWVVDFw0igtXxLqDpnN5EzHJWwAvgkDPMoam9g0GfZED6ZwcBRZ
	PseyGmXQdy8gXYjEWWRCiYzxQETG4mFhlH5S1ZECYQ3HaEssGlJR8hCasSnVlJPvFL3Y
	sxUJc0I2ZvL3vskDB2iu0Chj5IuZPpxw3FaBLAsbtvJBUtGw3h9Df59+ia9+JtL7bLW3
	2emFGXUvfbawe1wzTeS+heo8FL/+41Ec6Xvoa2FTntjHCurCSaOOeJT8R3Qq26u5ODk4
	mqCg==
Received: by 10.52.72.137 with SMTP id d9mr2652339vdv.122.1336680145758; Thu,
	10 May 2012 13:02:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.100.71 with HTTP; Thu, 10 May 2012 13:02:05 -0700 (PDT)
In-Reply-To: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
References: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 10 May 2012 21:02:05 +0100
Message-ID: <CAEBdQ91kf43QJsJeKruWZE-o=rfL7-fiRwrSzn4gHBZ+6vg1Ng@mail.gmail.com>
To: xen-devel@lists.xen.org
Cc: "Kay, Allen M" <allen.m.kay@intel.com>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 10 May 2012 20:07, Jean Guyader <jean.guyader@gmail.com> wrote:
> The OpRegion shouldn't be mapped 1:1 because the address in the host
> can't be used in the guest directly.
>
> This patch traps read and write access to the opregion of the Intel
> GPU config space (offset 0x).
>
> To work correctly this patch needs a change in hvmloader.
>
> HVMloader will allocate 2 pages for the OpRegion and write this address
> on the config space of the Intel GPU. Qemu will trap and map the host
> OpRegion to the guest. Any write to this offset after that won't have
> any effect. Any read of this config space offset will return the address
> in the guest.
>
> Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>

Sorry forgot to say, it was acked by Stefano.

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 20:58:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 20:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSaR0-0003ph-1G; Thu, 10 May 2012 20:58:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1SSaQy-0003pc-6U
	for xen-devel@lists.xen.org; Thu, 10 May 2012 20:58:00 +0000
Received: from [85.158.143.99:64141] by server-1.bemta-4.messagelabs.com id
	22/4E-20925-7DB2CAF4; Thu, 10 May 2012 20:57:59 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336683477!19904371!1
X-Originating-IP: [209.85.212.169]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20830 invoked from network); 10 May 2012 20:57:57 -0000
Received: from mail-wi0-f169.google.com (HELO mail-wi0-f169.google.com)
	(209.85.212.169)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 20:57:57 -0000
Received: by wibhn14 with SMTP id hn14so985790wib.2
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 13:57:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=7e+ORu9pHBf2hJbQ5jygoIqe2WyTJoMf1BbJssvt0d8=;
	b=IHQxqEsgKAYcNEvjfvLeR+o++yrdI8SohZOpTj0Fo6zrujTaaCcEx2TcgPbXK4WtGw
	2NE8sXzWzKEMixjXr6ORLngoss+GTkEb4gOKMRZI1b/TXOgRO4bysXr6ngxI5C8c/p+w
	99QGlAHE+yFS82NuerF9zT36bobUuRCaF68/PObZJDemLrXA55cSlqegYJsdwFS5MYXA
	JUJjppP528OIkmc1S7A85wGZFPxuuAp5X8UTTZUs4w0q5esbqFMJZm56YSBQlvn2rtO5
	8rLKyIyH3xPUR0tHju20qt1h68r91gf214YRIq27W4f0/BBiAqwJ4FrtJM0ZvRvNHde3
	ucOw==
MIME-Version: 1.0
Received: by 10.180.24.103 with SMTP id t7mr1021264wif.16.1336683476825; Thu,
	10 May 2012 13:57:56 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Thu, 10 May 2012 13:57:56 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Thu, 10 May 2012 13:57:56 -0700 (PDT)
In-Reply-To: <4FAC1989.4060201@redhat.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
Date: Thu, 10 May 2012 16:57:56 -0400
X-Google-Sender-Auth: ARnxGWzyJEjdkptla5tgEzR7smk
Message-ID: <CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Jeff Law <law@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	haitao.shan@intel.com, weidong.han@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7650766948609096804=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7650766948609096804==
Content-Type: multipart/alternative; boundary=f46d043c8060d0379104bfb4dfea

--f46d043c8060d0379104bfb4dfea
Content-Type: text/plain; charset=ISO-8859-1

On May 10, 2012 3:40 PM, "Jeff Law" <law@redhat.com> wrote:
>
> On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>>>
>>>
>>> And finally one always has to keep in mind that there is this nice
>>> glibc bug in that in some versions it is failing to look at
CPUID.OSXSAVE
>>> when trying to determine whether AVX or FMA is available.
>>
>>
>> It has this:
>> 146
>> 147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
>>
>> 148     {
>> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>> 150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&
 bit_OSXSAVE) != 0
>> 151&&  ({ unsigned int xcrlow;
>>
>> 152                 unsigned int xcrhigh;
>> 153                 asm ("xgetbv"
>> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>> 155                 (xcrlow&  6) == 6; }))
>>
>> 156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
>> 157     }
>>
>>
>> And when I ran a little silly C program (attached) to probe the CPUID
flags, I got:
>>  /root/test-xsave
>> SSE3 CMOV
>> AVX  XSAVE
>> Trying XGETBV
>> Illegal instruction (core dumped)
>>
>> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit
PV guest
>> still crashes on that machine) - which means that in multi-lib the
bit_YMM_Usable
>> is _not_ set. But then looking at the sources I see:
>>
>> # ifdef USE_AS_STRCASECMP_L
>> 102 ENTRY(__strcasecmp)
>> 103         .type   __strcasecmp, @gnu_indirect_function
>> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
>> 105         jne     1f
>> 106         call    __init_cpu_features
>> 107 1:
>> 108 #  ifdef HAVE_AVX_SUPPORT
>> 109         leaq    __strcasecmp_avx(%rip), %rax
>> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
>> 111         jnz     2f
>> 112 #  endif
>>
>> which would imply that the AVX bit is sampled here instead of the
>> YMM one.
>
> [ ... ]
> I think Uli's position is that this code only uses AVX encodings, but not
the YMM registers and thus the right check is for AVX.
>
> That doesn't make sense to me given the text under availability and
support here:
>
>
http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/
>
> According to my reading AVX can only be used if the hardware supports AVX
*and* the OS supports XSAVE.    The only weasel language is "To use the
Intel AVX extensions reliably in most settings ..."  Which Uli might be
relying upon for his position.
>
> Ironically, the code in init-arch used to look like:
>
>
>  if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
>    {
>
>      /* Reset the AVX bit in case OSXSAVE is disabled.  */
>      if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE)
== 0
>          || ({ unsigned int xcrlow;
>              unsigned int xcrhigh;
>              asm ("xgetbv"
>
>                   : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>              (xcrlow & 6) != 6; }))
>
>        __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
>    }
>
>
> Which I think would have done the right thing.   Uli changed it to the
form you quoted just 2 hours after installing the version I quoted.

Sadly no as it would have executed the xgetv instruction. Since the first
part of the boolean logic returns false.
>
> If i'm going to make the claim Uli is wrong, some clarification from
Intel would be appreciated.
>
>
> jeff
>
 On May 10, 2012 3:40 PM, "Jeff Law" <law@redhat.com> wrote:

> On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>
>>
>>> And finally one always has to keep in mind that there is this nice
>>> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
>>> when trying to determine whether AVX or FMA is available.
>>>
>>
>> It has this:
>> 146
>> 147   if (__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx&  bit_AVX)
>> 148     {
>> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>> 150       if ((__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx&
>>  bit_OSXSAVE) != 0
>> 151&&  ({ unsigned int xcrlow;
>> 152                 unsigned int xcrhigh;
>> 153                 asm ("xgetbv"
>> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>> 155                 (xcrlow&  6) == 6; }))
>> 156         __cpu_features.feature[index_**YMM_Usable] |= bit_YMM_Usable;
>> 157     }
>>
>>
>> And when I ran a little silly C program (attached) to probe the CPUID
>> flags, I got:
>>  /root/test-xsave
>> SSE3 CMOV
>> AVX  XSAVE
>> Trying XGETBV
>> Illegal instruction (core dumped)
>>
>> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit
>> PV guest
>> still crashes on that machine) - which means that in multi-lib the
>> bit_YMM_Usable
>> is _not_ set. But then looking at the sources I see:
>>
>> # ifdef USE_AS_STRCASECMP_L
>> 102 ENTRY(__strcasecmp)
>> 103         .type   __strcasecmp, @gnu_indirect_function
>> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%**rip)
>> 105         jne     1f
>> 106         call    __init_cpu_features
>> 107 1:
>> 108 #  ifdef HAVE_AVX_SUPPORT
>> 109         leaq    __strcasecmp_avx(%rip), %rax
>> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+**
>> index_AVX(%rip)
>> 111         jnz     2f
>> 112 #  endif
>>
>> which would imply that the AVX bit is sampled here instead of the
>> YMM one.
>>
> [ ... ]
> I think Uli's position is that this code only uses AVX encodings, but not
> the YMM registers and thus the right check is for AVX.
>
> That doesn't make sense to me given the text under availability and
> support here:
>
> http://software.intel.com/en-**us/articles/introduction-to-**
> intel-advanced-vector-**extensions/<http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/>
>
> According to my reading AVX can only be used if the hardware supports AVX
> *and* the OS supports XSAVE.    The only weasel language is "To use the
> Intel AVX extensions reliably in most settings ..."  Which Uli might be
> relying upon for his position.
>
> Ironically, the code in init-arch used to look like:
>
>  if (__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx & bit_AVX)
>    {
>      /* Reset the AVX bit in case OSXSAVE is disabled.  */
>      if ((__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx & bit_OSXSAVE)
> == 0
>          || ({ unsigned int xcrlow;
>              unsigned int xcrhigh;
>              asm ("xgetbv"
>                   : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>              (xcrlow & 6) != 6; }))
>        __cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx &= ~bit_AVX;
>    }
>
>
> Which I think would have done the right thing.   Uli changed it to the
> form you quoted just 2 hours after installing the version I quoted.
>
> If i'm going to make the claim Uli is wrong, some clarification from Intel
> would be appreciated.
>
>
> jeff
>
>

--f46d043c8060d0379104bfb4dfea
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<p><br>
On May 10, 2012 3:40 PM, &quot;Jeff Law&quot; &lt;<a href=3D"mailto:law@red=
hat.com">law@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; And finally one always has to keep in mind that there is this =
nice<br>
&gt;&gt;&gt; glibc bug in that in some versions it is failing to look at CP=
UID.OSXSAVE<br>
&gt;&gt;&gt; when trying to determine whether AVX or FMA is available.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; It has this:<br>
&gt;&gt; 146<br>
&gt;&gt; 147 =A0 if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&amp; =
=A0bit_AVX)<br>
&gt;&gt;<br>
&gt;&gt; 148 =A0 =A0 {<br>
&gt;&gt; 149 =A0 =A0 =A0 /* Reset the AVX bit in case OSXSAVE is disabled. =
=A0*/<br>
&gt;&gt; 150 =A0 =A0 =A0 if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ec=
x&amp; =A0bit_OSXSAVE) !=3D 0<br>
&gt;&gt; 151&amp;&amp; =A0({ unsigned int xcrlow;<br>
&gt;&gt;<br>
&gt;&gt; 152 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int xcrhigh;<br>
&gt;&gt; 153 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 asm (&quot;xgetbv&quot;<br>
&gt;&gt; 154 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0: &quot;=3Da&quot; =
(xcrlow), &quot;=3Dd&quot; (xcrhigh) : &quot;c&quot; (0));<br>
&gt;&gt; 155 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (xcrlow&amp; =A06) =3D=3D 6; }=
))<br>
&gt;&gt;<br>
&gt;&gt; 156 =A0 =A0 =A0 =A0 __cpu_features.feature[index_YMM_Usable] |=3D =
bit_YMM_Usable;<br>
&gt;&gt; 157 =A0 =A0 }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; And when I ran a little silly C program (attached) to probe the CP=
UID flags, I got:<br>
&gt;&gt; =A0/root/test-xsave<br>
&gt;&gt; SSE3 CMOV<br>
&gt;&gt; AVX =A0XSAVE<br>
&gt;&gt; Trying XGETBV<br>
&gt;&gt; Illegal instruction (core dumped)<br>
&gt;&gt;<br>
&gt;&gt; Which would imply that the OSXSAVE is not set (but Fedora Core 17 =
64-bit PV guest<br>
&gt;&gt; still crashes on that machine) - which means that in multi-lib the=
 bit_YMM_Usable<br>
&gt;&gt; is _not_ set. But then looking at the sources I see:<br>
&gt;&gt;<br>
&gt;&gt; # ifdef USE_AS_STRCASECMP_L<br>
&gt;&gt; 102 ENTRY(__strcasecmp)<br>
&gt;&gt; 103 =A0 =A0 =A0 =A0 .type =A0 __strcasecmp, @gnu_indirect_function=
<br>
&gt;&gt; 104 =A0 =A0 =A0 =A0 cmpl =A0 =A0$0, __cpu_features+KIND_OFFSET(%ri=
p)<br>
&gt;&gt; 105 =A0 =A0 =A0 =A0 jne =A0 =A0 1f<br>
&gt;&gt; 106 =A0 =A0 =A0 =A0 call =A0 =A0__init_cpu_features<br>
&gt;&gt; 107 1:<br>
&gt;&gt; 108 # =A0ifdef HAVE_AVX_SUPPORT<br>
&gt;&gt; 109 =A0 =A0 =A0 =A0 leaq =A0 =A0__strcasecmp_avx(%rip), %rax<br>
&gt;&gt; 110 =A0 =A0 =A0 =A0 testl =A0 $bit_AVX, __cpu_features+CPUID_OFFSE=
T+index_AVX(%rip)<br>
&gt;&gt; 111 =A0 =A0 =A0 =A0 jnz =A0 =A0 2f<br>
&gt;&gt; 112 # =A0endif<br>
&gt;&gt;<br>
&gt;&gt; which would imply that the AVX bit is sampled here instead of the<=
br>
&gt;&gt; YMM one.<br>
&gt;<br>
&gt; [ ... ]<br>
&gt; I think Uli&#39;s position is that this code only uses AVX encodings, =
but not the YMM registers and thus the right check is for AVX.<br>
&gt;<br>
&gt; That doesn&#39;t make sense to me given the text under availability an=
d support here:<br>
&gt;<br>
&gt; <a href=3D"http://software.intel.com/en-us/articles/introduction-to-in=
tel-advanced-vector-extensions/">http://software.intel.com/en-us/articles/i=
ntroduction-to-intel-advanced-vector-extensions/</a><br>
&gt;<br>
&gt; According to my reading AVX can only be used if the hardware supports =
AVX *and* the OS supports XSAVE. =A0 =A0The only weasel language is &quot;T=
o use the Intel AVX extensions reliably in most settings ...&quot; =A0Which=
 Uli might be relying upon for his position.<br>

&gt;<br>
&gt; Ironically, the code in init-arch used to look like:<br>
&gt;<br>
&gt;<br>
&gt; =A0if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &amp; bit_AVX)<b=
r>
&gt; =A0 =A0{<br>
&gt;<br>
&gt; =A0 =A0 =A0/* Reset the AVX bit in case OSXSAVE is disabled. =A0*/<br>
&gt; =A0 =A0 =A0if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &amp; b=
it_OSXSAVE) =3D=3D 0<br>
&gt; =A0 =A0 =A0 =A0 =A0|| ({ unsigned int xcrlow;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int xcrhigh;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0asm (&quot;xgetbv&quot;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : &quot;=3Da&quot; (xcrlow), &quot=
;=3Dd&quot; (xcrhigh) : &quot;c&quot; (0));<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0(xcrlow &amp; 6) !=3D 6; }))<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &amp;=3D=
 ~bit_AVX;<br>
&gt; =A0 =A0}<br>
&gt;<br>
&gt;<br>
&gt; Which I think would have done the right thing. =A0 Uli changed it to t=
he form you quoted just 2 hours after installing the version I quoted.</p>
<p>Sadly no as it would have executed the xgetv instruction. Since the firs=
t part of the boolean logic returns false.<br>
&gt;<br>
&gt; If i&#39;m going to make the claim Uli is wrong, some clarification fr=
om Intel would be appreciated.<br>
&gt;<br>
&gt;<br>
&gt; jeff<br>
&gt;<br>
</p>
<div class=3D"gmail_quote">On May 10, 2012 3:40 PM, &quot;Jeff Law&quot; &l=
t;<a href=3D"mailto:law@redhat.com">law@redhat.com</a>&gt; wrote:<br type=
=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex">
On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
And finally one always has to keep in mind that there is this nice<br>
glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE<b=
r>
when trying to determine whether AVX or FMA is available.<br>
</blockquote>
<br>
It has this:<br>
146<br>
147 =A0 if (__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx&amp; =A0b=
it_AVX)<br>
148 =A0 =A0 {<br>
149 =A0 =A0 =A0 /* Reset the AVX bit in case OSXSAVE is disabled. =A0*/<br>
150 =A0 =A0 =A0 if ((__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx&=
amp; =A0bit_OSXSAVE) !=3D 0<br>
151&amp;&amp; =A0({ unsigned int xcrlow;<br>
152 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int xcrhigh;<br>
153 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 asm (&quot;xgetbv&quot;<br>
154 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0: &quot;=3Da&quot; (xcrlow),=
 &quot;=3Dd&quot; (xcrhigh) : &quot;c&quot; (0));<br>
155 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (xcrlow&amp; =A06) =3D=3D 6; }))<br>
156 =A0 =A0 =A0 =A0 __cpu_features.feature[index_<u></u>YMM_Usable] |=3D bi=
t_YMM_Usable;<br>
157 =A0 =A0 }<br>
<br>
<br>
And when I ran a little silly C program (attached) to probe the CPUID flags=
, I got:<br>
 =A0/root/test-xsave<br>
SSE3 CMOV<br>
AVX =A0XSAVE<br>
Trying XGETBV<br>
Illegal instruction (core dumped)<br>
<br>
Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV=
 guest<br>
still crashes on that machine) - which means that in multi-lib the bit_YMM_=
Usable<br>
is _not_ set. But then looking at the sources I see:<br>
<br>
# ifdef USE_AS_STRCASECMP_L<br>
102 ENTRY(__strcasecmp)<br>
103 =A0 =A0 =A0 =A0 .type =A0 __strcasecmp, @gnu_indirect_function<br>
104 =A0 =A0 =A0 =A0 cmpl =A0 =A0$0, __cpu_features+KIND_OFFSET(%<u></u>rip)=
<br>
105 =A0 =A0 =A0 =A0 jne =A0 =A0 1f<br>
106 =A0 =A0 =A0 =A0 call =A0 =A0__init_cpu_features<br>
107 1:<br>
108 # =A0ifdef HAVE_AVX_SUPPORT<br>
109 =A0 =A0 =A0 =A0 leaq =A0 =A0__strcasecmp_avx(%rip), %rax<br>
110 =A0 =A0 =A0 =A0 testl =A0 $bit_AVX, __cpu_features+CPUID_OFFSET+<u></u>=
index_AVX(%rip)<br>
111 =A0 =A0 =A0 =A0 jnz =A0 =A0 2f<br>
112 # =A0endif<br>
<br>
which would imply that the AVX bit is sampled here instead of the<br>
YMM one.<br>
</blockquote>
[ ... ]<br>
I think Uli&#39;s position is that this code only uses AVX encodings, but n=
ot the YMM registers and thus the right check is for AVX.<br>
<br>
That doesn&#39;t make sense to me given the text under availability and sup=
port here:<br>
<br>
<a href=3D"http://software.intel.com/en-us/articles/introduction-to-intel-a=
dvanced-vector-extensions/" target=3D"_blank">http://software.intel.com/en-=
<u></u>us/articles/introduction-to-<u></u>intel-advanced-vector-<u></u>exte=
nsions/</a><br>

<br>
According to my reading AVX can only be used if the hardware supports AVX *=
and* the OS supports XSAVE. =A0 =A0The only weasel language is &quot;To use=
 the Intel AVX extensions reliably in most settings ...&quot; =A0Which Uli =
might be relying upon for his position.<br>

<br>
Ironically, the code in init-arch used to look like:<br>
<br>
=A0if (__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx &amp; bit_AVX)=
<br>
 =A0 =A0{<br>
 =A0 =A0 =A0/* Reset the AVX bit in case OSXSAVE is disabled. =A0*/<br>
 =A0 =A0 =A0if ((__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx &amp=
; bit_OSXSAVE) =3D=3D 0<br>
 =A0 =A0 =A0 =A0 =A0|| ({ unsigned int xcrlow;<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int xcrhigh;<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0asm (&quot;xgetbv&quot;<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : &quot;=3Da&quot; (xcrlow), &quot;=3D=
d&quot; (xcrhigh) : &quot;c&quot; (0));<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0(xcrlow &amp; 6) !=3D 6; }))<br>
 =A0 =A0 =A0 =A0__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx &amp;=
=3D ~bit_AVX;<br>
 =A0 =A0}<br>
<br>
<br>
Which I think would have done the right thing. =A0 Uli changed it to the fo=
rm you quoted just 2 hours after installing the version I quoted.<br>
<br>
If i&#39;m going to make the claim Uli is wrong, some clarification from In=
tel would be appreciated.<br>
<br>
<br>
jeff<br>
<br>
</blockquote></div>

--f46d043c8060d0379104bfb4dfea--


--===============7650766948609096804==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7650766948609096804==--


From xen-devel-bounces@lists.xen.org Thu May 10 20:58:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 20:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSaR0-0003ph-1G; Thu, 10 May 2012 20:58:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1SSaQy-0003pc-6U
	for xen-devel@lists.xen.org; Thu, 10 May 2012 20:58:00 +0000
Received: from [85.158.143.99:64141] by server-1.bemta-4.messagelabs.com id
	22/4E-20925-7DB2CAF4; Thu, 10 May 2012 20:57:59 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336683477!19904371!1
X-Originating-IP: [209.85.212.169]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20830 invoked from network); 10 May 2012 20:57:57 -0000
Received: from mail-wi0-f169.google.com (HELO mail-wi0-f169.google.com)
	(209.85.212.169)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 20:57:57 -0000
Received: by wibhn14 with SMTP id hn14so985790wib.2
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 13:57:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=7e+ORu9pHBf2hJbQ5jygoIqe2WyTJoMf1BbJssvt0d8=;
	b=IHQxqEsgKAYcNEvjfvLeR+o++yrdI8SohZOpTj0Fo6zrujTaaCcEx2TcgPbXK4WtGw
	2NE8sXzWzKEMixjXr6ORLngoss+GTkEb4gOKMRZI1b/TXOgRO4bysXr6ngxI5C8c/p+w
	99QGlAHE+yFS82NuerF9zT36bobUuRCaF68/PObZJDemLrXA55cSlqegYJsdwFS5MYXA
	JUJjppP528OIkmc1S7A85wGZFPxuuAp5X8UTTZUs4w0q5esbqFMJZm56YSBQlvn2rtO5
	8rLKyIyH3xPUR0tHju20qt1h68r91gf214YRIq27W4f0/BBiAqwJ4FrtJM0ZvRvNHde3
	ucOw==
MIME-Version: 1.0
Received: by 10.180.24.103 with SMTP id t7mr1021264wif.16.1336683476825; Thu,
	10 May 2012 13:57:56 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Thu, 10 May 2012 13:57:56 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Thu, 10 May 2012 13:57:56 -0700 (PDT)
In-Reply-To: <4FAC1989.4060201@redhat.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
Date: Thu, 10 May 2012 16:57:56 -0400
X-Google-Sender-Auth: ARnxGWzyJEjdkptla5tgEzR7smk
Message-ID: <CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Jeff Law <law@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	haitao.shan@intel.com, weidong.han@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7650766948609096804=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7650766948609096804==
Content-Type: multipart/alternative; boundary=f46d043c8060d0379104bfb4dfea

--f46d043c8060d0379104bfb4dfea
Content-Type: text/plain; charset=ISO-8859-1

On May 10, 2012 3:40 PM, "Jeff Law" <law@redhat.com> wrote:
>
> On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>>>
>>>
>>> And finally one always has to keep in mind that there is this nice
>>> glibc bug in that in some versions it is failing to look at
CPUID.OSXSAVE
>>> when trying to determine whether AVX or FMA is available.
>>
>>
>> It has this:
>> 146
>> 147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
>>
>> 148     {
>> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>> 150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&
 bit_OSXSAVE) != 0
>> 151&&  ({ unsigned int xcrlow;
>>
>> 152                 unsigned int xcrhigh;
>> 153                 asm ("xgetbv"
>> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>> 155                 (xcrlow&  6) == 6; }))
>>
>> 156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
>> 157     }
>>
>>
>> And when I ran a little silly C program (attached) to probe the CPUID
flags, I got:
>>  /root/test-xsave
>> SSE3 CMOV
>> AVX  XSAVE
>> Trying XGETBV
>> Illegal instruction (core dumped)
>>
>> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit
PV guest
>> still crashes on that machine) - which means that in multi-lib the
bit_YMM_Usable
>> is _not_ set. But then looking at the sources I see:
>>
>> # ifdef USE_AS_STRCASECMP_L
>> 102 ENTRY(__strcasecmp)
>> 103         .type   __strcasecmp, @gnu_indirect_function
>> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
>> 105         jne     1f
>> 106         call    __init_cpu_features
>> 107 1:
>> 108 #  ifdef HAVE_AVX_SUPPORT
>> 109         leaq    __strcasecmp_avx(%rip), %rax
>> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
>> 111         jnz     2f
>> 112 #  endif
>>
>> which would imply that the AVX bit is sampled here instead of the
>> YMM one.
>
> [ ... ]
> I think Uli's position is that this code only uses AVX encodings, but not
the YMM registers and thus the right check is for AVX.
>
> That doesn't make sense to me given the text under availability and
support here:
>
>
http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/
>
> According to my reading AVX can only be used if the hardware supports AVX
*and* the OS supports XSAVE.    The only weasel language is "To use the
Intel AVX extensions reliably in most settings ..."  Which Uli might be
relying upon for his position.
>
> Ironically, the code in init-arch used to look like:
>
>
>  if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
>    {
>
>      /* Reset the AVX bit in case OSXSAVE is disabled.  */
>      if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE)
== 0
>          || ({ unsigned int xcrlow;
>              unsigned int xcrhigh;
>              asm ("xgetbv"
>
>                   : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>              (xcrlow & 6) != 6; }))
>
>        __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
>    }
>
>
> Which I think would have done the right thing.   Uli changed it to the
form you quoted just 2 hours after installing the version I quoted.

Sadly no as it would have executed the xgetv instruction. Since the first
part of the boolean logic returns false.
>
> If i'm going to make the claim Uli is wrong, some clarification from
Intel would be appreciated.
>
>
> jeff
>
 On May 10, 2012 3:40 PM, "Jeff Law" <law@redhat.com> wrote:

> On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>
>>
>>> And finally one always has to keep in mind that there is this nice
>>> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
>>> when trying to determine whether AVX or FMA is available.
>>>
>>
>> It has this:
>> 146
>> 147   if (__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx&  bit_AVX)
>> 148     {
>> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>> 150       if ((__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx&
>>  bit_OSXSAVE) != 0
>> 151&&  ({ unsigned int xcrlow;
>> 152                 unsigned int xcrhigh;
>> 153                 asm ("xgetbv"
>> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>> 155                 (xcrlow&  6) == 6; }))
>> 156         __cpu_features.feature[index_**YMM_Usable] |= bit_YMM_Usable;
>> 157     }
>>
>>
>> And when I ran a little silly C program (attached) to probe the CPUID
>> flags, I got:
>>  /root/test-xsave
>> SSE3 CMOV
>> AVX  XSAVE
>> Trying XGETBV
>> Illegal instruction (core dumped)
>>
>> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit
>> PV guest
>> still crashes on that machine) - which means that in multi-lib the
>> bit_YMM_Usable
>> is _not_ set. But then looking at the sources I see:
>>
>> # ifdef USE_AS_STRCASECMP_L
>> 102 ENTRY(__strcasecmp)
>> 103         .type   __strcasecmp, @gnu_indirect_function
>> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%**rip)
>> 105         jne     1f
>> 106         call    __init_cpu_features
>> 107 1:
>> 108 #  ifdef HAVE_AVX_SUPPORT
>> 109         leaq    __strcasecmp_avx(%rip), %rax
>> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+**
>> index_AVX(%rip)
>> 111         jnz     2f
>> 112 #  endif
>>
>> which would imply that the AVX bit is sampled here instead of the
>> YMM one.
>>
> [ ... ]
> I think Uli's position is that this code only uses AVX encodings, but not
> the YMM registers and thus the right check is for AVX.
>
> That doesn't make sense to me given the text under availability and
> support here:
>
> http://software.intel.com/en-**us/articles/introduction-to-**
> intel-advanced-vector-**extensions/<http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/>
>
> According to my reading AVX can only be used if the hardware supports AVX
> *and* the OS supports XSAVE.    The only weasel language is "To use the
> Intel AVX extensions reliably in most settings ..."  Which Uli might be
> relying upon for his position.
>
> Ironically, the code in init-arch used to look like:
>
>  if (__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx & bit_AVX)
>    {
>      /* Reset the AVX bit in case OSXSAVE is disabled.  */
>      if ((__cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx & bit_OSXSAVE)
> == 0
>          || ({ unsigned int xcrlow;
>              unsigned int xcrhigh;
>              asm ("xgetbv"
>                   : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>              (xcrlow & 6) != 6; }))
>        __cpu_features.cpuid[COMMON_**CPUID_INDEX_1].ecx &= ~bit_AVX;
>    }
>
>
> Which I think would have done the right thing.   Uli changed it to the
> form you quoted just 2 hours after installing the version I quoted.
>
> If i'm going to make the claim Uli is wrong, some clarification from Intel
> would be appreciated.
>
>
> jeff
>
>

--f46d043c8060d0379104bfb4dfea
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<p><br>
On May 10, 2012 3:40 PM, &quot;Jeff Law&quot; &lt;<a href=3D"mailto:law@red=
hat.com">law@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; And finally one always has to keep in mind that there is this =
nice<br>
&gt;&gt;&gt; glibc bug in that in some versions it is failing to look at CP=
UID.OSXSAVE<br>
&gt;&gt;&gt; when trying to determine whether AVX or FMA is available.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; It has this:<br>
&gt;&gt; 146<br>
&gt;&gt; 147 =A0 if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&amp; =
=A0bit_AVX)<br>
&gt;&gt;<br>
&gt;&gt; 148 =A0 =A0 {<br>
&gt;&gt; 149 =A0 =A0 =A0 /* Reset the AVX bit in case OSXSAVE is disabled. =
=A0*/<br>
&gt;&gt; 150 =A0 =A0 =A0 if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ec=
x&amp; =A0bit_OSXSAVE) !=3D 0<br>
&gt;&gt; 151&amp;&amp; =A0({ unsigned int xcrlow;<br>
&gt;&gt;<br>
&gt;&gt; 152 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int xcrhigh;<br>
&gt;&gt; 153 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 asm (&quot;xgetbv&quot;<br>
&gt;&gt; 154 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0: &quot;=3Da&quot; =
(xcrlow), &quot;=3Dd&quot; (xcrhigh) : &quot;c&quot; (0));<br>
&gt;&gt; 155 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (xcrlow&amp; =A06) =3D=3D 6; }=
))<br>
&gt;&gt;<br>
&gt;&gt; 156 =A0 =A0 =A0 =A0 __cpu_features.feature[index_YMM_Usable] |=3D =
bit_YMM_Usable;<br>
&gt;&gt; 157 =A0 =A0 }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; And when I ran a little silly C program (attached) to probe the CP=
UID flags, I got:<br>
&gt;&gt; =A0/root/test-xsave<br>
&gt;&gt; SSE3 CMOV<br>
&gt;&gt; AVX =A0XSAVE<br>
&gt;&gt; Trying XGETBV<br>
&gt;&gt; Illegal instruction (core dumped)<br>
&gt;&gt;<br>
&gt;&gt; Which would imply that the OSXSAVE is not set (but Fedora Core 17 =
64-bit PV guest<br>
&gt;&gt; still crashes on that machine) - which means that in multi-lib the=
 bit_YMM_Usable<br>
&gt;&gt; is _not_ set. But then looking at the sources I see:<br>
&gt;&gt;<br>
&gt;&gt; # ifdef USE_AS_STRCASECMP_L<br>
&gt;&gt; 102 ENTRY(__strcasecmp)<br>
&gt;&gt; 103 =A0 =A0 =A0 =A0 .type =A0 __strcasecmp, @gnu_indirect_function=
<br>
&gt;&gt; 104 =A0 =A0 =A0 =A0 cmpl =A0 =A0$0, __cpu_features+KIND_OFFSET(%ri=
p)<br>
&gt;&gt; 105 =A0 =A0 =A0 =A0 jne =A0 =A0 1f<br>
&gt;&gt; 106 =A0 =A0 =A0 =A0 call =A0 =A0__init_cpu_features<br>
&gt;&gt; 107 1:<br>
&gt;&gt; 108 # =A0ifdef HAVE_AVX_SUPPORT<br>
&gt;&gt; 109 =A0 =A0 =A0 =A0 leaq =A0 =A0__strcasecmp_avx(%rip), %rax<br>
&gt;&gt; 110 =A0 =A0 =A0 =A0 testl =A0 $bit_AVX, __cpu_features+CPUID_OFFSE=
T+index_AVX(%rip)<br>
&gt;&gt; 111 =A0 =A0 =A0 =A0 jnz =A0 =A0 2f<br>
&gt;&gt; 112 # =A0endif<br>
&gt;&gt;<br>
&gt;&gt; which would imply that the AVX bit is sampled here instead of the<=
br>
&gt;&gt; YMM one.<br>
&gt;<br>
&gt; [ ... ]<br>
&gt; I think Uli&#39;s position is that this code only uses AVX encodings, =
but not the YMM registers and thus the right check is for AVX.<br>
&gt;<br>
&gt; That doesn&#39;t make sense to me given the text under availability an=
d support here:<br>
&gt;<br>
&gt; <a href=3D"http://software.intel.com/en-us/articles/introduction-to-in=
tel-advanced-vector-extensions/">http://software.intel.com/en-us/articles/i=
ntroduction-to-intel-advanced-vector-extensions/</a><br>
&gt;<br>
&gt; According to my reading AVX can only be used if the hardware supports =
AVX *and* the OS supports XSAVE. =A0 =A0The only weasel language is &quot;T=
o use the Intel AVX extensions reliably in most settings ...&quot; =A0Which=
 Uli might be relying upon for his position.<br>

&gt;<br>
&gt; Ironically, the code in init-arch used to look like:<br>
&gt;<br>
&gt;<br>
&gt; =A0if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &amp; bit_AVX)<b=
r>
&gt; =A0 =A0{<br>
&gt;<br>
&gt; =A0 =A0 =A0/* Reset the AVX bit in case OSXSAVE is disabled. =A0*/<br>
&gt; =A0 =A0 =A0if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &amp; b=
it_OSXSAVE) =3D=3D 0<br>
&gt; =A0 =A0 =A0 =A0 =A0|| ({ unsigned int xcrlow;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int xcrhigh;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0asm (&quot;xgetbv&quot;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : &quot;=3Da&quot; (xcrlow), &quot=
;=3Dd&quot; (xcrhigh) : &quot;c&quot; (0));<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0(xcrlow &amp; 6) !=3D 6; }))<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &amp;=3D=
 ~bit_AVX;<br>
&gt; =A0 =A0}<br>
&gt;<br>
&gt;<br>
&gt; Which I think would have done the right thing. =A0 Uli changed it to t=
he form you quoted just 2 hours after installing the version I quoted.</p>
<p>Sadly no as it would have executed the xgetv instruction. Since the firs=
t part of the boolean logic returns false.<br>
&gt;<br>
&gt; If i&#39;m going to make the claim Uli is wrong, some clarification fr=
om Intel would be appreciated.<br>
&gt;<br>
&gt;<br>
&gt; jeff<br>
&gt;<br>
</p>
<div class=3D"gmail_quote">On May 10, 2012 3:40 PM, &quot;Jeff Law&quot; &l=
t;<a href=3D"mailto:law@redhat.com">law@redhat.com</a>&gt; wrote:<br type=
=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex">
On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
And finally one always has to keep in mind that there is this nice<br>
glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE<b=
r>
when trying to determine whether AVX or FMA is available.<br>
</blockquote>
<br>
It has this:<br>
146<br>
147 =A0 if (__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx&amp; =A0b=
it_AVX)<br>
148 =A0 =A0 {<br>
149 =A0 =A0 =A0 /* Reset the AVX bit in case OSXSAVE is disabled. =A0*/<br>
150 =A0 =A0 =A0 if ((__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx&=
amp; =A0bit_OSXSAVE) !=3D 0<br>
151&amp;&amp; =A0({ unsigned int xcrlow;<br>
152 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int xcrhigh;<br>
153 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 asm (&quot;xgetbv&quot;<br>
154 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0: &quot;=3Da&quot; (xcrlow),=
 &quot;=3Dd&quot; (xcrhigh) : &quot;c&quot; (0));<br>
155 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (xcrlow&amp; =A06) =3D=3D 6; }))<br>
156 =A0 =A0 =A0 =A0 __cpu_features.feature[index_<u></u>YMM_Usable] |=3D bi=
t_YMM_Usable;<br>
157 =A0 =A0 }<br>
<br>
<br>
And when I ran a little silly C program (attached) to probe the CPUID flags=
, I got:<br>
 =A0/root/test-xsave<br>
SSE3 CMOV<br>
AVX =A0XSAVE<br>
Trying XGETBV<br>
Illegal instruction (core dumped)<br>
<br>
Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV=
 guest<br>
still crashes on that machine) - which means that in multi-lib the bit_YMM_=
Usable<br>
is _not_ set. But then looking at the sources I see:<br>
<br>
# ifdef USE_AS_STRCASECMP_L<br>
102 ENTRY(__strcasecmp)<br>
103 =A0 =A0 =A0 =A0 .type =A0 __strcasecmp, @gnu_indirect_function<br>
104 =A0 =A0 =A0 =A0 cmpl =A0 =A0$0, __cpu_features+KIND_OFFSET(%<u></u>rip)=
<br>
105 =A0 =A0 =A0 =A0 jne =A0 =A0 1f<br>
106 =A0 =A0 =A0 =A0 call =A0 =A0__init_cpu_features<br>
107 1:<br>
108 # =A0ifdef HAVE_AVX_SUPPORT<br>
109 =A0 =A0 =A0 =A0 leaq =A0 =A0__strcasecmp_avx(%rip), %rax<br>
110 =A0 =A0 =A0 =A0 testl =A0 $bit_AVX, __cpu_features+CPUID_OFFSET+<u></u>=
index_AVX(%rip)<br>
111 =A0 =A0 =A0 =A0 jnz =A0 =A0 2f<br>
112 # =A0endif<br>
<br>
which would imply that the AVX bit is sampled here instead of the<br>
YMM one.<br>
</blockquote>
[ ... ]<br>
I think Uli&#39;s position is that this code only uses AVX encodings, but n=
ot the YMM registers and thus the right check is for AVX.<br>
<br>
That doesn&#39;t make sense to me given the text under availability and sup=
port here:<br>
<br>
<a href=3D"http://software.intel.com/en-us/articles/introduction-to-intel-a=
dvanced-vector-extensions/" target=3D"_blank">http://software.intel.com/en-=
<u></u>us/articles/introduction-to-<u></u>intel-advanced-vector-<u></u>exte=
nsions/</a><br>

<br>
According to my reading AVX can only be used if the hardware supports AVX *=
and* the OS supports XSAVE. =A0 =A0The only weasel language is &quot;To use=
 the Intel AVX extensions reliably in most settings ...&quot; =A0Which Uli =
might be relying upon for his position.<br>

<br>
Ironically, the code in init-arch used to look like:<br>
<br>
=A0if (__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx &amp; bit_AVX)=
<br>
 =A0 =A0{<br>
 =A0 =A0 =A0/* Reset the AVX bit in case OSXSAVE is disabled. =A0*/<br>
 =A0 =A0 =A0if ((__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx &amp=
; bit_OSXSAVE) =3D=3D 0<br>
 =A0 =A0 =A0 =A0 =A0|| ({ unsigned int xcrlow;<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int xcrhigh;<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0asm (&quot;xgetbv&quot;<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : &quot;=3Da&quot; (xcrlow), &quot;=3D=
d&quot; (xcrhigh) : &quot;c&quot; (0));<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0(xcrlow &amp; 6) !=3D 6; }))<br>
 =A0 =A0 =A0 =A0__cpu_features.cpuid[COMMON_<u></u>CPUID_INDEX_1].ecx &amp;=
=3D ~bit_AVX;<br>
 =A0 =A0}<br>
<br>
<br>
Which I think would have done the right thing. =A0 Uli changed it to the fo=
rm you quoted just 2 hours after installing the version I quoted.<br>
<br>
If i&#39;m going to make the claim Uli is wrong, some clarification from In=
tel would be appreciated.<br>
<br>
<br>
jeff<br>
<br>
</blockquote></div>

--f46d043c8060d0379104bfb4dfea--


--===============7650766948609096804==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7650766948609096804==--


From xen-devel-bounces@lists.xen.org Thu May 10 21:26:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 21:26:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSasP-00045z-KH; Thu, 10 May 2012 21:26:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSasO-00045u-5u
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 21:26:20 +0000
Received: from [85.158.143.99:42589] by server-1.bemta-4.messagelabs.com id
	97/30-20925-B723CAF4; Thu, 10 May 2012 21:26:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336685178!21055655!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25952 invoked from network); 10 May 2012 21:26:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 21:26:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,567,1330905600"; d="scan'208";a="12417329"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 21:26:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 22:26:18 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSasL-0001Vt-VV;
	Thu, 10 May 2012 21:26:18 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSasL-0000bQ-VE;
	Thu, 10 May 2012 22:26:17 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12834-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 22:26:17 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12834: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12834 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12834/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pair          16 guest-start               fail REGR. vs. 12827

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12827
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12827

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  60064411a8a9
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          fail    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 21:26:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 21:26:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSasP-00045z-KH; Thu, 10 May 2012 21:26:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSasO-00045u-5u
	for xen-devel@lists.xensource.com; Thu, 10 May 2012 21:26:20 +0000
Received: from [85.158.143.99:42589] by server-1.bemta-4.messagelabs.com id
	97/30-20925-B723CAF4; Thu, 10 May 2012 21:26:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336685178!21055655!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODA1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25952 invoked from network); 10 May 2012 21:26:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	10 May 2012 21:26:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,567,1330905600"; d="scan'208";a="12417329"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	10 May 2012 21:26:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 10 May 2012 22:26:18 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSasL-0001Vt-VV;
	Thu, 10 May 2012 21:26:18 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSasL-0000bQ-VE;
	Thu, 10 May 2012 22:26:17 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12834-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 10 May 2012 22:26:17 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12834: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12834 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12834/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-i386-i386-pair          16 guest-start               fail REGR. vs. 12827

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12827
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12827

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  60064411a8a9
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          fail    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 22:42:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 22:42:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSc3N-00060f-7y; Thu, 10 May 2012 22:41:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jfehlig@suse.com>) id 1SSc3K-00060Y-VL
	for xen-devel@lists.xen.org; Thu, 10 May 2012 22:41:43 +0000
Received: from [85.158.143.99:32449] by server-2.bemta-4.messagelabs.com id
	38/60-17550-6244CAF4; Thu, 10 May 2012 22:41:42 +0000
X-Env-Sender: jfehlig@suse.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336689697!17672707!1
X-Originating-IP: [137.65.250.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29861 invoked from network); 10 May 2012 22:41:40 -0000
Received: from victor.provo.novell.com (HELO victor.provo.novell.com)
	(137.65.250.26)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 22:41:40 -0000
Received: from [137.65.135.33] (prv-ext-foundry1int.gns.novell.com
	[137.65.251.240])
	by victor.provo.novell.com with ESMTP (TLS encrypted);
	Thu, 10 May 2012 16:41:30 -0600
Message-ID: <4FAC4419.60808@suse.com>
Date: Thu, 10 May 2012 16:41:29 -0600
From: Jim Fehlig <jfehlig@suse.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100302)
MIME-Version: 1.0
To: "Daniel P. Berrange" <berrange@redhat.com>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>	<1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>	<1336643766.7098.40.camel@zakaz.uk.xensource.com>
	<20120510101043.GH1223@redhat.com>
In-Reply-To: <20120510101043.GH1223@redhat.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Bamvor Jian Zhang <bjzhang@suse.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [libvirt] [PATCH-RFC] Change libxl to use Xen 4.2
 interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel P. Berrange wrote:
> On Thu, May 10, 2012 at 10:56:06AM +0100, Ian Campbell wrote:
>   
>> On Wed, 2012-05-09 at 18:13 +0100, Daniel De Graaf wrote:
>>     
>>> This patch changes libxl to use the interface in Xen 4.2. It is provided
>>> as an example, not intended to go in to libvirt as-is since it removes
>>> all support for libxl from Xen 4.1. It also still has some cruft (extra
>>> void casts on parameters) and the device model info population is not
>>> written. It has been tested with simple domain create/destroy.
>>> ---
>>>  src/libxl/libxl_conf.c   |  134 +++++++++------
>>>  src/libxl/libxl_conf.h   |    8 +-
>>>  src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
>>>  3 files changed, 326 insertions(+), 246 deletions(-)
>>>       
>> Thanks Daniel, interesting to see. It doesn't seem as invasive as I
>> expected given the number of changes to libxl's interfaces between 4.1
>> and 4.2. 
>>
>> I suppose it is worth mentioning in this context that we are intending
>> to maintain the 4.2 libxl API in a stable manner going forward, as
>> described near the top of:
>> http://xenbits.xen.org/hg/staging/xen-unstable.hg/file/tip/tools/libxl/libxl.h
>>
>> Since libvirt is one of the main reasons we are doing this it would be
>> useful to check that this actually meets the needs from that side.
>>     
>
> Having a long term stable API for libxl certainly gets our vote.
>
> WRT the use of LIBXL_API_VERSION to control API version. Libvirt generally
> aims to support all possible API versions, so I expect we would not want
> to define LIBXL_API_VERSION. Instead the libvirt code would #ifdef various
> bits according to the libxl version it detects.
>
>   
>> That doesn't really help with support 4.1 and 4.2+. A large portion of
>> the below looks like it would be reasonably easy to abstract away with a
>> header full of compat defines for naming changes etc, other bits don't
>> look so simple to deal with.
>>     
>
> Personally I would prefer to keep support for all 4.x versions, but I'll
> defer to Suse developers to decide upon this since they are the primary
> maintainers & users of the libxl driver.
>   

Yes, I too would like to keep support for all 4.x versions.  As pointed
out by you and Ian, it can be detected at build time vs the runtime
probing that the legacy xen libvirt driver does.

Bamvor has just started looking into this, so hopefully he can help with
the effort.

Regards,
Jim


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 10 22:42:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 10 May 2012 22:42:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSc3N-00060f-7y; Thu, 10 May 2012 22:41:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jfehlig@suse.com>) id 1SSc3K-00060Y-VL
	for xen-devel@lists.xen.org; Thu, 10 May 2012 22:41:43 +0000
Received: from [85.158.143.99:32449] by server-2.bemta-4.messagelabs.com id
	38/60-17550-6244CAF4; Thu, 10 May 2012 22:41:42 +0000
X-Env-Sender: jfehlig@suse.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336689697!17672707!1
X-Originating-IP: [137.65.250.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29861 invoked from network); 10 May 2012 22:41:40 -0000
Received: from victor.provo.novell.com (HELO victor.provo.novell.com)
	(137.65.250.26)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 10 May 2012 22:41:40 -0000
Received: from [137.65.135.33] (prv-ext-foundry1int.gns.novell.com
	[137.65.251.240])
	by victor.provo.novell.com with ESMTP (TLS encrypted);
	Thu, 10 May 2012 16:41:30 -0600
Message-ID: <4FAC4419.60808@suse.com>
Date: Thu, 10 May 2012 16:41:29 -0600
From: Jim Fehlig <jfehlig@suse.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100302)
MIME-Version: 1.0
To: "Daniel P. Berrange" <berrange@redhat.com>
References: <20394.36444.760368.974206@mariner.uk.xensource.com>	<1336583603-7029-1-git-send-email-dgdegra@tycho.nsa.gov>	<1336643766.7098.40.camel@zakaz.uk.xensource.com>
	<20120510101043.GH1223@redhat.com>
In-Reply-To: <20120510101043.GH1223@redhat.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Bamvor Jian Zhang <bjzhang@suse.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: Re: [Xen-devel] [libvirt] [PATCH-RFC] Change libxl to use Xen 4.2
 interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Daniel P. Berrange wrote:
> On Thu, May 10, 2012 at 10:56:06AM +0100, Ian Campbell wrote:
>   
>> On Wed, 2012-05-09 at 18:13 +0100, Daniel De Graaf wrote:
>>     
>>> This patch changes libxl to use the interface in Xen 4.2. It is provided
>>> as an example, not intended to go in to libvirt as-is since it removes
>>> all support for libxl from Xen 4.1. It also still has some cruft (extra
>>> void casts on parameters) and the device model info population is not
>>> written. It has been tested with simple domain create/destroy.
>>> ---
>>>  src/libxl/libxl_conf.c   |  134 +++++++++------
>>>  src/libxl/libxl_conf.h   |    8 +-
>>>  src/libxl/libxl_driver.c |  430 ++++++++++++++++++++++++++--------------------
>>>  3 files changed, 326 insertions(+), 246 deletions(-)
>>>       
>> Thanks Daniel, interesting to see. It doesn't seem as invasive as I
>> expected given the number of changes to libxl's interfaces between 4.1
>> and 4.2. 
>>
>> I suppose it is worth mentioning in this context that we are intending
>> to maintain the 4.2 libxl API in a stable manner going forward, as
>> described near the top of:
>> http://xenbits.xen.org/hg/staging/xen-unstable.hg/file/tip/tools/libxl/libxl.h
>>
>> Since libvirt is one of the main reasons we are doing this it would be
>> useful to check that this actually meets the needs from that side.
>>     
>
> Having a long term stable API for libxl certainly gets our vote.
>
> WRT the use of LIBXL_API_VERSION to control API version. Libvirt generally
> aims to support all possible API versions, so I expect we would not want
> to define LIBXL_API_VERSION. Instead the libvirt code would #ifdef various
> bits according to the libxl version it detects.
>
>   
>> That doesn't really help with support 4.1 and 4.2+. A large portion of
>> the below looks like it would be reasonably easy to abstract away with a
>> header full of compat defines for naming changes etc, other bits don't
>> look so simple to deal with.
>>     
>
> Personally I would prefer to keep support for all 4.x versions, but I'll
> defer to Suse developers to decide upon this since they are the primary
> maintainers & users of the libxl driver.
>   

Yes, I too would like to keep support for all 4.x versions.  As pointed
out by you and Ian, it can be detected at build time vs the runtime
probing that the legacy xen libvirt driver does.

Bamvor has just started looking into this, so hopefully he can help with
the effort.

Regards,
Jim


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 00:59:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 00:59:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSeBe-0007pd-5z; Fri, 11 May 2012 00:58:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1SSeBc-0007pY-Fv
	for xen-devel@lists.xen.org; Fri, 11 May 2012 00:58:24 +0000
Received: from [193.109.254.147:62798] by server-9.bemta-14.messagelabs.com id
	7B/3B-05787-F246CAF4; Fri, 11 May 2012 00:58:23 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336697902!1823178!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 491 invoked from network); 11 May 2012 00:58:23 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 00:58:23 -0000
Received: by werf3 with SMTP id f3so964674wer.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 17:58:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=oIMcTKueWRu/OwwTmbZRnIRzK9Bb7ERFTuEBHef3QzA=;
	b=d6BUDVfgVooEZ3Y9UNsRtCS7w8v+57A+/IxObR6BT2TxV/W6c+H9/D9+u2tjqZQxA8
	mQVC38+eEAyUf8DhRnNR1dHeNbQtwR6TqfBWAoY3ravRvq2GzxQk8fnB7T3znG3mtDjE
	FAzaQE7IFr0Wc1m1pEid8XcOFO2iYSuwWNOAwTgLIKsAybnsrp52zSz2oN/8CDdhCIAp
	QZh8H/LM0bzQ72B3NiyeHGIh/U1d6z8l/hbe2tn/2FXuEOoOuvHrE9EeF4IcCgAcwIOE
	nUY07JgFjFc0WiAokFS/BPhS1nAlEMifSTd5VRtRqyKN83F2y8bymvRnR6BoORkTa9Cd
	UmIw==
MIME-Version: 1.0
Received: by 10.180.101.230 with SMTP id fj6mr2595390wib.13.1336697902656;
	Thu, 10 May 2012 17:58:22 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Thu, 10 May 2012 17:58:22 -0700 (PDT)
In-Reply-To: <CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
	<CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
Date: Thu, 10 May 2012 20:58:22 -0400
X-Google-Sender-Auth: yxv_8iwrL-6OtpGhDz1QsB-Isck
Message-ID: <CAPbh3rtBywB8t+gnQ0nhuyOge3=j_9fDvnyuHLzE8TLtCNFHdg@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Jeff Law <law@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	haitao.shan@intel.com, weidong.han@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>> Ironically, the code in init-arch used to look like:
>>
>>
>> =A0if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
>> =A0 =A0{
>>
>> =A0 =A0 =A0/* Reset the AVX bit in case OSXSAVE is disabled. =A0*/
>> =A0 =A0 =A0if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSX=
SAVE) =3D=3D
>> 0
>> =A0 =A0 =A0 =A0 =A0|| ({ unsigned int xcrlow;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int xcrhigh;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0asm ("xgetbv"
>>
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : "=3Da" (xcrlow), "=3Dd" (xcrhigh) =
: "c" (0));
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0(xcrlow & 6) !=3D 6; }))
>>
>> =A0 =A0 =A0 =A0__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &=3D ~bit_=
AVX;
>> =A0 =A0}
>>
>>
>> Which I think would have done the right thing. =A0 Uli changed it to the
>> form you quoted just 2 hours after installing the version I quoted.
>
> Sadly no as it would have executed the xgetv instruction. Since the first
> part of the boolean logic returns false.

<sigh> And that is what I get from typing this while stopping at
lights and being in a hurry and doing this on a cellphone.
Please ignore what I said above - the earlier version would have worked cor=
rect.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 00:59:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 00:59:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSeBe-0007pd-5z; Fri, 11 May 2012 00:58:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1SSeBc-0007pY-Fv
	for xen-devel@lists.xen.org; Fri, 11 May 2012 00:58:24 +0000
Received: from [193.109.254.147:62798] by server-9.bemta-14.messagelabs.com id
	7B/3B-05787-F246CAF4; Fri, 11 May 2012 00:58:23 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336697902!1823178!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 491 invoked from network); 11 May 2012 00:58:23 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 00:58:23 -0000
Received: by werf3 with SMTP id f3so964674wer.32
	for <xen-devel@lists.xen.org>; Thu, 10 May 2012 17:58:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=oIMcTKueWRu/OwwTmbZRnIRzK9Bb7ERFTuEBHef3QzA=;
	b=d6BUDVfgVooEZ3Y9UNsRtCS7w8v+57A+/IxObR6BT2TxV/W6c+H9/D9+u2tjqZQxA8
	mQVC38+eEAyUf8DhRnNR1dHeNbQtwR6TqfBWAoY3ravRvq2GzxQk8fnB7T3znG3mtDjE
	FAzaQE7IFr0Wc1m1pEid8XcOFO2iYSuwWNOAwTgLIKsAybnsrp52zSz2oN/8CDdhCIAp
	QZh8H/LM0bzQ72B3NiyeHGIh/U1d6z8l/hbe2tn/2FXuEOoOuvHrE9EeF4IcCgAcwIOE
	nUY07JgFjFc0WiAokFS/BPhS1nAlEMifSTd5VRtRqyKN83F2y8bymvRnR6BoORkTa9Cd
	UmIw==
MIME-Version: 1.0
Received: by 10.180.101.230 with SMTP id fj6mr2595390wib.13.1336697902656;
	Thu, 10 May 2012 17:58:22 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Thu, 10 May 2012 17:58:22 -0700 (PDT)
In-Reply-To: <CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
	<CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
Date: Thu, 10 May 2012 20:58:22 -0400
X-Google-Sender-Auth: yxv_8iwrL-6OtpGhDz1QsB-Isck
Message-ID: <CAPbh3rtBywB8t+gnQ0nhuyOge3=j_9fDvnyuHLzE8TLtCNFHdg@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Jeff Law <law@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	haitao.shan@intel.com, weidong.han@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>> Ironically, the code in init-arch used to look like:
>>
>>
>> =A0if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
>> =A0 =A0{
>>
>> =A0 =A0 =A0/* Reset the AVX bit in case OSXSAVE is disabled. =A0*/
>> =A0 =A0 =A0if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSX=
SAVE) =3D=3D
>> 0
>> =A0 =A0 =A0 =A0 =A0|| ({ unsigned int xcrlow;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int xcrhigh;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0asm ("xgetbv"
>>
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : "=3Da" (xcrlow), "=3Dd" (xcrhigh) =
: "c" (0));
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0(xcrlow & 6) !=3D 6; }))
>>
>> =A0 =A0 =A0 =A0__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &=3D ~bit_=
AVX;
>> =A0 =A0}
>>
>>
>> Which I think would have done the right thing. =A0 Uli changed it to the
>> form you quoted just 2 hours after installing the version I quoted.
>
> Sadly no as it would have executed the xgetv instruction. Since the first
> part of the boolean logic returns false.

<sigh> And that is what I get from typing this while stopping at
lights and being in a hurry and doing this on a cellphone.
Please ignore what I said above - the earlier version would have worked cor=
rect.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 01:03:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 01:03:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSeFi-0003Id-Rd; Fri, 11 May 2012 01:02:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SSeFh-0003IU-6m
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 01:02:37 +0000
Received: from [85.158.143.99:26655] by server-2.bemta-4.messagelabs.com id
	1E/10-17550-C256CAF4; Fri, 11 May 2012 01:02:36 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336698154!19922756!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNTk0Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11016 invoked from network); 11 May 2012 01:02:35 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 01:02:35 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4B12R5j002753
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 01:02:28 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4B12Rq9021181
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 01:02:27 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4B12Qa3002455; Thu, 10 May 2012 20:02:26 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 18:02:26 -0700
Date: Thu, 10 May 2012 18:02:13 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>, Ian
	Campbell <Ian.Campbell@citrix.com>, "stefano.stabellini@eu.citrix.com"
	<stefano.stabellini@eu.citrix.com>, Keir Fraser <keir.fraser@eu.citrix.com>
Message-ID: <20120510180213.6083e857@mantra.us.oracle.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Guys,


Cheers.... JFYI... I've all combinations working now, for both UP and
MP.

Normal PV dom0: PV domU, Hyb domU, HVM domU
Hybrid dom0: PV domU, Hyb domU, HVM domU.

So, next now:
   - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
   - make sure everything works with latest, and without tons of debug
     code i've there right now ;).
   - test it out a bit.
   - submit patch.
   - once patch is accepted, do more benchmarks and improvements over
     time.

thanks,
Mukesh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 01:03:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 01:03:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSeFi-0003Id-Rd; Fri, 11 May 2012 01:02:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mukesh.rathor@oracle.com>) id 1SSeFh-0003IU-6m
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 01:02:37 +0000
Received: from [85.158.143.99:26655] by server-2.bemta-4.messagelabs.com id
	1E/10-17550-C256CAF4; Fri, 11 May 2012 01:02:36 +0000
X-Env-Sender: mukesh.rathor@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336698154!19922756!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNTk0Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11016 invoked from network); 11 May 2012 01:02:35 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 01:02:35 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4B12R5j002753
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 01:02:28 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4B12Rq9021181
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 01:02:27 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4B12Qa3002455; Thu, 10 May 2012 20:02:26 -0500
Received: from mantra.us.oracle.com (/130.35.68.95)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 18:02:26 -0700
Date: Thu, 10 May 2012 18:02:13 -0700
From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>, Ian
	Campbell <Ian.Campbell@citrix.com>, "stefano.stabellini@eu.citrix.com"
	<stefano.stabellini@eu.citrix.com>, Keir Fraser <keir.fraser@eu.citrix.com>
Message-ID: <20120510180213.6083e857@mantra.us.oracle.com>
Organization: Oracle Corporation
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.18.9; x86_64-redhat-linux-gnu)
Mime-Version: 1.0
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Guys,


Cheers.... JFYI... I've all combinations working now, for both UP and
MP.

Normal PV dom0: PV domU, Hyb domU, HVM domU
Hybrid dom0: PV domU, Hyb domU, HVM domU.

So, next now:
   - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
   - make sure everything works with latest, and without tons of debug
     code i've there right now ;).
   - test it out a bit.
   - submit patch.
   - once patch is accepted, do more benchmarks and improvements over
     time.

thanks,
Mukesh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 01:47:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 01:47:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSewV-0003dL-GL; Fri, 11 May 2012 01:46:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSewU-0003dG-MY
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 01:46:50 +0000
Received: from [193.109.254.147:13019] by server-11.bemta-14.messagelabs.com
	id 31/E9-05858-98F6CAF4; Fri, 11 May 2012 01:46:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336700808!8671223!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIzNjIz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18981 invoked from network); 11 May 2012 01:46:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 01:46:49 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4B1kfEU024559
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 01:46:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4B1keeB021535
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 01:46:41 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4B1keEM021347; Thu, 10 May 2012 20:46:40 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 18:46:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 45A5440359; Thu, 10 May 2012 21:40:36 -0400 (EDT)
Date: Thu, 10 May 2012 21:40:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Message-ID: <20120511014036.GA12150@phenom.dumpdata.com>
References: <20120510180213.6083e857@mantra.us.oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120510180213.6083e857@mantra.us.oracle.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"stefano.stabellini@eu.citrix.com" <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 06:02:13PM -0700, Mukesh Rathor wrote:
> Hi Guys,
> 
> 
> Cheers.... JFYI... I've all combinations working now, for both UP and
> MP.

YEEEY!
> 
> Normal PV dom0: PV domU, Hyb domU, HVM domU
> Hybrid dom0: PV domU, Hyb domU, HVM domU.
> 
> So, next now:
>    - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
>    - make sure everything works with latest, and without tons of debug
>      code i've there right now ;).
>    - test it out a bit.
>    - submit patch.
>    - once patch is accepted, do more benchmarks and improvements over
>      time.
> 
> thanks,
> Mukesh
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 01:47:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 01:47:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSewV-0003dL-GL; Fri, 11 May 2012 01:46:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSewU-0003dG-MY
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 01:46:50 +0000
Received: from [193.109.254.147:13019] by server-11.bemta-14.messagelabs.com
	id 31/E9-05858-98F6CAF4; Fri, 11 May 2012 01:46:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336700808!8671223!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTIzNjIz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18981 invoked from network); 11 May 2012 01:46:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 01:46:49 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4B1kfEU024559
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 01:46:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4B1keeB021535
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 01:46:41 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4B1keEM021347; Thu, 10 May 2012 20:46:40 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 10 May 2012 18:46:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 45A5440359; Thu, 10 May 2012 21:40:36 -0400 (EDT)
Date: Thu, 10 May 2012 21:40:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Message-ID: <20120511014036.GA12150@phenom.dumpdata.com>
References: <20120510180213.6083e857@mantra.us.oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120510180213.6083e857@mantra.us.oracle.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"stefano.stabellini@eu.citrix.com" <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 06:02:13PM -0700, Mukesh Rathor wrote:
> Hi Guys,
> 
> 
> Cheers.... JFYI... I've all combinations working now, for both UP and
> MP.

YEEEY!
> 
> Normal PV dom0: PV domU, Hyb domU, HVM domU
> Hybrid dom0: PV domU, Hyb domU, HVM domU.
> 
> So, next now:
>    - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
>    - make sure everything works with latest, and without tons of debug
>      code i've there right now ;).
>    - test it out a bit.
>    - submit patch.
>    - once patch is accepted, do more benchmarks and improvements over
>      time.
> 
> thanks,
> Mukesh
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 02:23:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 02:23:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSfUz-0004Bf-F4; Fri, 11 May 2012 02:22:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SSfUx-0004Ba-Vw
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 02:22:28 +0000
Received: from [85.158.138.51:41843] by server-3.bemta-3.messagelabs.com id
	95/0E-04048-3E77CAF4; Fri, 11 May 2012 02:22:27 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336702945!26516987!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMyNjYz\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6478 invoked from network); 11 May 2012 02:22:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-174.messagelabs.com with SMTP;
	11 May 2012 02:22:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 10 May 2012 19:22:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98785561"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 10 May 2012 19:22:20 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 19:22:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Fri, 11 May 2012 10:22:18 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Thread-Topic: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0poYSvmJALVq5wRuSA2SJW/RtHzwE6M3uAACPaVvA=
Date: Fri, 11 May 2012 02:22:17 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
	<20395.62069.578209.953705@mariner.uk.xensource.com>
In-Reply-To: <20395.62069.578209.953705@mariner.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: Ian Jackson [mailto:Ian.Jackson@eu.citrix.com]
> Sent: Friday, May 11, 2012 12:53 AM
> Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
> 
> Zhang, Yang Z writes ("[Xen-devel] [PATCH]libxl: allow to set more than 31
> vcpus"):
> > libxl: allow to set more than 31 vcpus
> >
> > In current implementation, it uses integer for record current avail cpus and
> this only allows user to specify 31 vcpus.
> > In following patch, it uses cpumap instead interger which make more sense
> than before. Also there is no limit to the max vcpus.
> ...
> > -    if (!b_info->cur_vcpus)
> > -        b_info->cur_vcpus = 1;
> > +    if (!b_info->avail_vcpus.size) {
> > +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> > +            return ERROR_NOMEM;
> > +        libxl_cpumap_set(&b_info->avail_vcpus, 0);
> > +    }
> 
> This error handling should really go away.  Would you be able to
> provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
> That never fails, so that would also mean libxl_cpumap_alloc can't
> fail.

I don't think so. Libxl_cpumap_alloc() also returned error when max_cpus equal zero. So the error handling cannot be avoid even using libxl__zalloc.
 
> This is an arbitrary precision conversion to hex.  Wouldn't it be
> better to provide libxl_cpumap_set_all, and libxl_cpumap_hexmask or
> something ?

Yes, it's better to use a function to do the convert cpumap to hex.

> > @@ -437,11 +462,16 @@ static char ** libxl__build_device_model
> >          }
> >          if (b_info->max_vcpus > 1) {
> >              flexarray_append(dm_args, "-smp");
> > -            if (b_info->cur_vcpus)
> > +            if (b_info->avail_vcpus.size) {
> > +                int i, nr_set_cpus = 0;
> > +                libxl_for_each_set_cpu(i,
> > +                            ((libxl_domain_build_info
> *)b_info)->avail_vcpus)
> > +                    nr_set_cpus++;
> 
> If we had libxl_cpumap_count_set this would be clearer.

Agree.
 
> > diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> > --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> > +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> > @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
> >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> >      for (i = 0; i < info->max_vcpus; i++) {
> >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> << i)))
> > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> > +
> && !libxl_cpumap_test(&info->avail_vcpus, i))
> >                              ? "offline" : "online";
> 
> If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
> simpler.

Sorry. What your mean for this?

Best regard
yang


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 02:23:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 02:23:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSfUz-0004Bf-F4; Fri, 11 May 2012 02:22:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SSfUx-0004Ba-Vw
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 02:22:28 +0000
Received: from [85.158.138.51:41843] by server-3.bemta-3.messagelabs.com id
	95/0E-04048-3E77CAF4; Fri, 11 May 2012 02:22:27 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336702945!26516987!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMyNjYz\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6478 invoked from network); 11 May 2012 02:22:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-174.messagelabs.com with SMTP;
	11 May 2012 02:22:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 10 May 2012 19:22:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98785561"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 10 May 2012 19:22:20 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 10 May 2012 19:22:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Fri, 11 May 2012 10:22:18 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Thread-Topic: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0poYSvmJALVq5wRuSA2SJW/RtHzwE6M3uAACPaVvA=
Date: Fri, 11 May 2012 02:22:17 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
	<20395.62069.578209.953705@mariner.uk.xensource.com>
In-Reply-To: <20395.62069.578209.953705@mariner.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> -----Original Message-----
> From: Ian Jackson [mailto:Ian.Jackson@eu.citrix.com]
> Sent: Friday, May 11, 2012 12:53 AM
> Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
> 
> Zhang, Yang Z writes ("[Xen-devel] [PATCH]libxl: allow to set more than 31
> vcpus"):
> > libxl: allow to set more than 31 vcpus
> >
> > In current implementation, it uses integer for record current avail cpus and
> this only allows user to specify 31 vcpus.
> > In following patch, it uses cpumap instead interger which make more sense
> than before. Also there is no limit to the max vcpus.
> ...
> > -    if (!b_info->cur_vcpus)
> > -        b_info->cur_vcpus = 1;
> > +    if (!b_info->avail_vcpus.size) {
> > +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> > +            return ERROR_NOMEM;
> > +        libxl_cpumap_set(&b_info->avail_vcpus, 0);
> > +    }
> 
> This error handling should really go away.  Would you be able to
> provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
> That never fails, so that would also mean libxl_cpumap_alloc can't
> fail.

I don't think so. Libxl_cpumap_alloc() also returned error when max_cpus equal zero. So the error handling cannot be avoid even using libxl__zalloc.
 
> This is an arbitrary precision conversion to hex.  Wouldn't it be
> better to provide libxl_cpumap_set_all, and libxl_cpumap_hexmask or
> something ?

Yes, it's better to use a function to do the convert cpumap to hex.

> > @@ -437,11 +462,16 @@ static char ** libxl__build_device_model
> >          }
> >          if (b_info->max_vcpus > 1) {
> >              flexarray_append(dm_args, "-smp");
> > -            if (b_info->cur_vcpus)
> > +            if (b_info->avail_vcpus.size) {
> > +                int i, nr_set_cpus = 0;
> > +                libxl_for_each_set_cpu(i,
> > +                            ((libxl_domain_build_info
> *)b_info)->avail_vcpus)
> > +                    nr_set_cpus++;
> 
> If we had libxl_cpumap_count_set this would be clearer.

Agree.
 
> > diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> > --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> > +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> > @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
> >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> >      for (i = 0; i < info->max_vcpus; i++) {
> >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> << i)))
> > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> > +
> && !libxl_cpumap_test(&info->avail_vcpus, i))
> >                              ? "offline" : "online";
> 
> If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
> simpler.

Sorry. What your mean for this?

Best regard
yang


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 03:27:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 03:27:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSgVE-0004a7-Vr; Fri, 11 May 2012 03:26:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSgVE-0004a2-58
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 03:26:48 +0000
Received: from [85.158.143.99:3628] by server-1.bemta-4.messagelabs.com id
	ED/BB-20925-7F68CAF4; Fri, 11 May 2012 03:26:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336706805!26565245!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2045 invoked from network); 11 May 2012 03:26:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 03:26:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,569,1330905600"; d="scan'208";a="12419269"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 03:26:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 04:26:43 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSgV8-0003PG-TU;
	Fri, 11 May 2012 03:26:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSgV8-00010N-HW;
	Fri, 11 May 2012 04:26:42 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12849-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 11 May 2012 04:26:42 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12849: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12849 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12849/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12827
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10    fail REGR. vs. 12827

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  54c8c9eaee92
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=54c8c9eaee92
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 54c8c9eaee92
+ branch=xen-unstable
+ revision=54c8c9eaee92
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 54c8c9eaee92 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 18 changesets with 27 changes to 26 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 03:27:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 03:27:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSgVE-0004a7-Vr; Fri, 11 May 2012 03:26:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSgVE-0004a2-58
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 03:26:48 +0000
Received: from [85.158.143.99:3628] by server-1.bemta-4.messagelabs.com id
	ED/BB-20925-7F68CAF4; Fri, 11 May 2012 03:26:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336706805!26565245!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2045 invoked from network); 11 May 2012 03:26:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 03:26:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,569,1330905600"; d="scan'208";a="12419269"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 03:26:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 04:26:43 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSgV8-0003PG-TU;
	Fri, 11 May 2012 03:26:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSgV8-00010N-HW;
	Fri, 11 May 2012 04:26:42 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12849-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 11 May 2012 04:26:42 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12849: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12849 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12849/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12827
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10    fail REGR. vs. 12827

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  54c8c9eaee92
baseline version:
 xen                  8a86d841e6d4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=54c8c9eaee92
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 54c8c9eaee92
+ branch=xen-unstable
+ revision=54c8c9eaee92
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 54c8c9eaee92 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 18 changesets with 27 changes to 26 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 06:15:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 06:15:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSj7g-0005Zh-NM; Fri, 11 May 2012 06:14:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SSj7f-0005Zc-Cd
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 06:14:39 +0000
Received: from [85.158.138.51:13027] by server-6.bemta-3.messagelabs.com id
	82/58-05145-E4EACAF4; Fri, 11 May 2012 06:14:38 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336716877!26519544!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDQ1MTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16587 invoked from network); 11 May 2012 06:14:38 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 06:14:38 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id D35591424;
	Fri, 11 May 2012 09:14:35 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 34A5B2005D; Fri, 11 May 2012 09:14:35 +0300 (EEST)
Date: Fri, 11 May 2012 09:14:35 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Message-ID: <20120511061435.GK2058@reaktio.net>
References: <20120510180213.6083e857@mantra.us.oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120510180213.6083e857@mantra.us.oracle.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"stefano.stabellini@eu.citrix.com" <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 06:02:13PM -0700, Mukesh Rathor wrote:
> Hi Guys,
> 
> 
> Cheers.... JFYI... I've all combinations working now, for both UP and
> MP.
> 
> Normal PV dom0: PV domU, Hyb domU, HVM domU
> Hybrid dom0: PV domU, Hyb domU, HVM domU.
> 
> So, next now:
>    - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
>    - make sure everything works with latest, and without tons of debug
>      code i've there right now ;).
>    - test it out a bit.
>    - submit patch.
>    - once patch is accepted, do more benchmarks and improvements over
>      time.
> 

Great! Looking forward to testing the patch :)

Thank you a lot for your hard work!

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 06:15:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 06:15:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSj7g-0005Zh-NM; Fri, 11 May 2012 06:14:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SSj7f-0005Zc-Cd
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 06:14:39 +0000
Received: from [85.158.138.51:13027] by server-6.bemta-3.messagelabs.com id
	82/58-05145-E4EACAF4; Fri, 11 May 2012 06:14:38 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336716877!26519544!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDQ1MTc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16587 invoked from network); 11 May 2012 06:14:38 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 06:14:38 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id D35591424;
	Fri, 11 May 2012 09:14:35 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 34A5B2005D; Fri, 11 May 2012 09:14:35 +0300 (EEST)
Date: Fri, 11 May 2012 09:14:35 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Message-ID: <20120511061435.GK2058@reaktio.net>
References: <20120510180213.6083e857@mantra.us.oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120510180213.6083e857@mantra.us.oracle.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"stefano.stabellini@eu.citrix.com" <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 06:02:13PM -0700, Mukesh Rathor wrote:
> Hi Guys,
> 
> 
> Cheers.... JFYI... I've all combinations working now, for both UP and
> MP.
> 
> Normal PV dom0: PV domU, Hyb domU, HVM domU
> Hybrid dom0: PV domU, Hyb domU, HVM domU.
> 
> So, next now:
>    - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
>    - make sure everything works with latest, and without tons of debug
>      code i've there right now ;).
>    - test it out a bit.
>    - submit patch.
>    - once patch is accepted, do more benchmarks and improvements over
>      time.
> 

Great! Looking forward to testing the patch :)

Thank you a lot for your hard work!

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 07:19:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 07:19:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSk82-00063W-6j; Fri, 11 May 2012 07:19:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSk80-00063R-3w
	for xen-devel@lists.xen.org; Fri, 11 May 2012 07:19:04 +0000
Received: from [193.109.254.147:29540] by server-5.bemta-14.messagelabs.com id
	37/C5-30733-76DBCAF4; Fri, 11 May 2012 07:19:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336720734!1882625!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23836 invoked from network); 11 May 2012 07:18:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 07:18:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 08:18:54 +0100
Message-Id: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 08:19:16 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part527CBC64.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants to
	be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part527CBC64.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this to be done when the
number of grants intended to be used simultaneously exceeds a certain
driver specific default limit.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode !=3D XEN_EMULATE) {
         batch_maps =3D 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
 }
=20
 static int blk_init(struct XenDevice *xendev)




--=__Part527CBC64.1__=
Content-Type: text/plain; name="qemu-xendisk-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-set-max-grants.patch"

qemu/xendisk: set maximum number of grants to be used=0A=0ALegacy =
(non-pvops) gntdev drivers may require this to be done when the=0Anumber =
of grants intended to be used simultaneously exceeds a certain=0Adriver =
specific default limit.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=
=0A=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ -536,6 +536,10 @@ =
static void blk_alloc(struct XenDevice *=0A     if (xen_mode !=3D =
XEN_EMULATE) {=0A         batch_maps =3D 1;=0A     }=0A+    if (xc_gnttab_s=
et_max_grants(xendev->gnttabdev,=0A+            max_requests * BLKIF_MAX_SE=
GMENTS_PER_REQUEST + 1) < 0)=0A+        xen_be_printf(xendev, 0, "xc_gnttab=
_set_max_grants failed: %s\n",=0A+                      strerror(errno));=
=0A }=0A =0A static int blk_init(struct XenDevice *xendev)=0A
--=__Part527CBC64.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part527CBC64.1__=--


From xen-devel-bounces@lists.xen.org Fri May 11 07:19:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 07:19:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSk82-00063W-6j; Fri, 11 May 2012 07:19:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSk80-00063R-3w
	for xen-devel@lists.xen.org; Fri, 11 May 2012 07:19:04 +0000
Received: from [193.109.254.147:29540] by server-5.bemta-14.messagelabs.com id
	37/C5-30733-76DBCAF4; Fri, 11 May 2012 07:19:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336720734!1882625!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23836 invoked from network); 11 May 2012 07:18:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 07:18:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 08:18:54 +0100
Message-Id: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 08:19:16 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part527CBC64.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants to
	be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part527CBC64.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this to be done when the
number of grants intended to be used simultaneously exceeds a certain
driver specific default limit.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode !=3D XEN_EMULATE) {
         batch_maps =3D 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
 }
=20
 static int blk_init(struct XenDevice *xendev)




--=__Part527CBC64.1__=
Content-Type: text/plain; name="qemu-xendisk-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-set-max-grants.patch"

qemu/xendisk: set maximum number of grants to be used=0A=0ALegacy =
(non-pvops) gntdev drivers may require this to be done when the=0Anumber =
of grants intended to be used simultaneously exceeds a certain=0Adriver =
specific default limit.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=
=0A=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ -536,6 +536,10 @@ =
static void blk_alloc(struct XenDevice *=0A     if (xen_mode !=3D =
XEN_EMULATE) {=0A         batch_maps =3D 1;=0A     }=0A+    if (xc_gnttab_s=
et_max_grants(xendev->gnttabdev,=0A+            max_requests * BLKIF_MAX_SE=
GMENTS_PER_REQUEST + 1) < 0)=0A+        xen_be_printf(xendev, 0, "xc_gnttab=
_set_max_grants failed: %s\n",=0A+                      strerror(errno));=
=0A }=0A =0A static int blk_init(struct XenDevice *xendev)=0A
--=__Part527CBC64.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part527CBC64.1__=--


From xen-devel-bounces@lists.xen.org Fri May 11 07:23:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 07:23:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkBp-0006A6-Ru; Fri, 11 May 2012 07:23:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSkBo-0006A0-G9
	for xen-devel@lists.xen.org; Fri, 11 May 2012 07:23:00 +0000
Received: from [193.109.254.147:16386] by server-12.bemta-14.messagelabs.com
	id 25/8E-05898-35EBCAF4; Fri, 11 May 2012 07:22:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336720978!8750233!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15904 invoked from network); 11 May 2012 07:22:59 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 07:22:59 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 08:22:58 +0100
Message-Id: <4FACDA880200007800082F18@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 08:23:20 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part4D63A378.0__="
Subject: [Xen-devel] [PATCH] libxc: implement gnttab.set_max_grants for Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part4D63A378.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this operation to be
performed when the number of grants intended to be used simultaneously
exceeds a certain driver specific default limit, and qemu's qdisk
driver is an example of needing to do so.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libxc/xc_linux_osdep.c
+++ b/tools/libxc/xc_linux_osdep.c
@@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab=20
     return close(fd);
 }
=20
+static int linux_gnttab_set_max_grants(xc_gnttab *xch, xc_osdep_handle h,
+                                       uint32_t count)
+{
+    int fd =3D (int)h, rc;
+    struct ioctl_gntdev_set_max_grants max_grants =3D { .count =3D count =
};
+
+    rc =3D ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);
+    if (rc) {
+        /*
+         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
+         * so ignore the resulting specific failure.
+         */
+        if (errno =3D=3D ENOTTY)
+            rc =3D 0;
+        else
+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRANTS =
failed");
+    }
+
+    return rc;
+}
+
 static void *linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,
                                     uint32_t count, int flags, int prot,
                                     uint32_t *domids, uint32_t *refs,
@@ -680,6 +701,7 @@ static struct xc_osdep_ops linux_gnttab_
     .close =3D &linux_gnttab_close,
=20
     .u.gnttab =3D {
+        .set_max_grants =3D linux_gnttab_set_max_grants,
         .grant_map =3D &linux_gnttab_grant_map,
         .munmap =3D &linux_gnttab_munmap,
     },




--=__Part4D63A378.0__=
Content-Type: text/plain; name="libxc-linux-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="libxc-linux-set-max-grants.patch"

libxc: implement gnttab.set_max_grants for Linux=0A=0ALegacy (non-pvops) =
gntdev drivers may require this operation to be=0Aperformed when the =
number of grants intended to be used simultaneously=0Aexceeds a certain =
driver specific default limit, and qemu's qdisk=0Adriver is an example of =
needing to do so.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/tools/libxc/xc_linux_osdep.c=0A+++ b/tools/libxc/xc_linux_osdep.c=0A@=
@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab =0A     return =
close(fd);=0A }=0A =0A+static int linux_gnttab_set_max_grants(xc_gnttab =
*xch, xc_osdep_handle h,=0A+                                       =
uint32_t count)=0A+{=0A+    int fd =3D (int)h, rc;=0A+    struct ioctl_gntd=
ev_set_max_grants max_grants =3D { .count =3D count };=0A+=0A+    rc =3D =
ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);=0A+    if (rc) {=0A+  =
      /*=0A+         * Newer (e.g. pv-ops) kernels don't implement this =
IOCTL,=0A+         * so ignore the resulting specific failure.=0A+         =
*/=0A+        if (errno =3D=3D ENOTTY)=0A+            rc =3D 0;=0A+        =
else=0A+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRAN=
TS failed");=0A+    }=0A+=0A+    return rc;=0A+}=0A+=0A static void =
*linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,=0A              =
                       uint32_t count, int flags, int prot,=0A             =
                        uint32_t *domids, uint32_t *refs,=0A@@ -680,6 =
+701,7 @@ static struct xc_osdep_ops linux_gnttab_=0A     .close =3D =
&linux_gnttab_close,=0A =0A     .u.gnttab =3D {=0A+        .set_max_grants =
=3D linux_gnttab_set_max_grants,=0A         .grant_map =3D &linux_gnttab_gr=
ant_map,=0A         .munmap =3D &linux_gnttab_munmap,=0A     },=0A
--=__Part4D63A378.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part4D63A378.0__=--


From xen-devel-bounces@lists.xen.org Fri May 11 07:23:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 07:23:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkBp-0006A6-Ru; Fri, 11 May 2012 07:23:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSkBo-0006A0-G9
	for xen-devel@lists.xen.org; Fri, 11 May 2012 07:23:00 +0000
Received: from [193.109.254.147:16386] by server-12.bemta-14.messagelabs.com
	id 25/8E-05898-35EBCAF4; Fri, 11 May 2012 07:22:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336720978!8750233!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15904 invoked from network); 11 May 2012 07:22:59 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 07:22:59 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 08:22:58 +0100
Message-Id: <4FACDA880200007800082F18@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 08:23:20 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part4D63A378.0__="
Subject: [Xen-devel] [PATCH] libxc: implement gnttab.set_max_grants for Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part4D63A378.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this operation to be
performed when the number of grants intended to be used simultaneously
exceeds a certain driver specific default limit, and qemu's qdisk
driver is an example of needing to do so.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libxc/xc_linux_osdep.c
+++ b/tools/libxc/xc_linux_osdep.c
@@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab=20
     return close(fd);
 }
=20
+static int linux_gnttab_set_max_grants(xc_gnttab *xch, xc_osdep_handle h,
+                                       uint32_t count)
+{
+    int fd =3D (int)h, rc;
+    struct ioctl_gntdev_set_max_grants max_grants =3D { .count =3D count =
};
+
+    rc =3D ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);
+    if (rc) {
+        /*
+         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
+         * so ignore the resulting specific failure.
+         */
+        if (errno =3D=3D ENOTTY)
+            rc =3D 0;
+        else
+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRANTS =
failed");
+    }
+
+    return rc;
+}
+
 static void *linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,
                                     uint32_t count, int flags, int prot,
                                     uint32_t *domids, uint32_t *refs,
@@ -680,6 +701,7 @@ static struct xc_osdep_ops linux_gnttab_
     .close =3D &linux_gnttab_close,
=20
     .u.gnttab =3D {
+        .set_max_grants =3D linux_gnttab_set_max_grants,
         .grant_map =3D &linux_gnttab_grant_map,
         .munmap =3D &linux_gnttab_munmap,
     },




--=__Part4D63A378.0__=
Content-Type: text/plain; name="libxc-linux-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="libxc-linux-set-max-grants.patch"

libxc: implement gnttab.set_max_grants for Linux=0A=0ALegacy (non-pvops) =
gntdev drivers may require this operation to be=0Aperformed when the =
number of grants intended to be used simultaneously=0Aexceeds a certain =
driver specific default limit, and qemu's qdisk=0Adriver is an example of =
needing to do so.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/tools/libxc/xc_linux_osdep.c=0A+++ b/tools/libxc/xc_linux_osdep.c=0A@=
@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab =0A     return =
close(fd);=0A }=0A =0A+static int linux_gnttab_set_max_grants(xc_gnttab =
*xch, xc_osdep_handle h,=0A+                                       =
uint32_t count)=0A+{=0A+    int fd =3D (int)h, rc;=0A+    struct ioctl_gntd=
ev_set_max_grants max_grants =3D { .count =3D count };=0A+=0A+    rc =3D =
ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);=0A+    if (rc) {=0A+  =
      /*=0A+         * Newer (e.g. pv-ops) kernels don't implement this =
IOCTL,=0A+         * so ignore the resulting specific failure.=0A+         =
*/=0A+        if (errno =3D=3D ENOTTY)=0A+            rc =3D 0;=0A+        =
else=0A+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRAN=
TS failed");=0A+    }=0A+=0A+    return rc;=0A+}=0A+=0A static void =
*linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,=0A              =
                       uint32_t count, int flags, int prot,=0A             =
                        uint32_t *domids, uint32_t *refs,=0A@@ -680,6 =
+701,7 @@ static struct xc_osdep_ops linux_gnttab_=0A     .close =3D =
&linux_gnttab_close,=0A =0A     .u.gnttab =3D {=0A+        .set_max_grants =
=3D linux_gnttab_set_max_grants,=0A         .grant_map =3D &linux_gnttab_gr=
ant_map,=0A         .munmap =3D &linux_gnttab_munmap,=0A     },=0A
--=__Part4D63A378.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part4D63A378.0__=--


From xen-devel-bounces@lists.xen.org Fri May 11 08:03:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:03:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkoW-0006v9-I1; Fri, 11 May 2012 08:03:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSkoV-0006v4-NC
	for xen-devel@lists.xen.org; Fri, 11 May 2012 08:02:59 +0000
Received: from [85.158.143.99:62448] by server-2.bemta-4.messagelabs.com id
	99/7B-17550-2B7CCAF4; Fri, 11 May 2012 08:02:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336723378!20463435!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21047 invoked from network); 11 May 2012 08:02:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 08:02:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12421822"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 08:02:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:02:58 +0100
Message-ID: <1336723376.23818.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Fri, 11 May 2012 09:02:56 +0100
In-Reply-To: <4FACDA880200007800082F18@nat28.tlf.novell.com>
References: <4FACDA880200007800082F18@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxc: implement gnttab.set_max_grants for
 Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 08:23 +0100, Jan Beulich wrote:
> +        /*
> +         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
> +         * so ignore the resulting specific failure.
> +         */ 

pvops doesn't implement this ioctl because it is already more dynamic
and therefore setting a max unnecessary?

(I'm pretty sure yes, but just wanted to confirm we shouldn't be fixing
anything on the pvops side).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 08:03:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:03:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkoW-0006v9-I1; Fri, 11 May 2012 08:03:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSkoV-0006v4-NC
	for xen-devel@lists.xen.org; Fri, 11 May 2012 08:02:59 +0000
Received: from [85.158.143.99:62448] by server-2.bemta-4.messagelabs.com id
	99/7B-17550-2B7CCAF4; Fri, 11 May 2012 08:02:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336723378!20463435!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21047 invoked from network); 11 May 2012 08:02:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 08:02:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12421822"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 08:02:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:02:58 +0100
Message-ID: <1336723376.23818.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Fri, 11 May 2012 09:02:56 +0100
In-Reply-To: <4FACDA880200007800082F18@nat28.tlf.novell.com>
References: <4FACDA880200007800082F18@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxc: implement gnttab.set_max_grants for
 Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 08:23 +0100, Jan Beulich wrote:
> +        /*
> +         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
> +         * so ignore the resulting specific failure.
> +         */ 

pvops doesn't implement this ioctl because it is already more dynamic
and therefore setting a max unnecessary?

(I'm pretty sure yes, but just wanted to confirm we shouldn't be fixing
anything on the pvops side).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 08:03:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:03:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkoj-0006ws-Uc; Fri, 11 May 2012 08:03:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSkoi-0006wk-No
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 08:03:12 +0000
Received: from [85.158.138.51:65190] by server-1.bemta-3.messagelabs.com id
	13/7D-11491-FB7CCAF4; Fri, 11 May 2012 08:03:11 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336723391!26411833!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11856 invoked from network); 11 May 2012 08:03:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 08:03:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12421827"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 08:03:11 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:03:10 +0100
Message-ID: <1336723389.23818.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Fri, 11 May 2012 09:03:09 +0100
In-Reply-To: <20120511014036.GA12150@phenom.dumpdata.com>
References: <20120510180213.6083e857@mantra.us.oracle.com>
	<20120511014036.GA12150@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 02:40 +0100, Konrad Rzeszutek Wilk wrote:
> On Thu, May 10, 2012 at 06:02:13PM -0700, Mukesh Rathor wrote:
> > Hi Guys,
> > 
> > 
> > Cheers.... JFYI... I've all combinations working now, for both UP and
> > MP.
> 
> YEEEY!

What he said!

> > 
> > Normal PV dom0: PV domU, Hyb domU, HVM domU
> > Hybrid dom0: PV domU, Hyb domU, HVM domU.
> > 
> > So, next now:
> >    - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
> >    - make sure everything works with latest, and without tons of debug
> >      code i've there right now ;).
> >    - test it out a bit.
> >    - submit patch.
> >    - once patch is accepted, do more benchmarks and improvements over
> >      time.
> > 
> > thanks,
> > Mukesh
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 08:03:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:03:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkoj-0006ws-Uc; Fri, 11 May 2012 08:03:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSkoi-0006wk-No
	for Xen-devel@lists.xensource.com; Fri, 11 May 2012 08:03:12 +0000
Received: from [85.158.138.51:65190] by server-1.bemta-3.messagelabs.com id
	13/7D-11491-FB7CCAF4; Fri, 11 May 2012 08:03:11 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336723391!26411833!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11856 invoked from network); 11 May 2012 08:03:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 08:03:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12421827"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 08:03:11 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:03:10 +0100
Message-ID: <1336723389.23818.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Fri, 11 May 2012 09:03:09 +0100
In-Reply-To: <20120511014036.GA12150@phenom.dumpdata.com>
References: <20120510180213.6083e857@mantra.us.oracle.com>
	<20120511014036.GA12150@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [HYBRID] : status update...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 02:40 +0100, Konrad Rzeszutek Wilk wrote:
> On Thu, May 10, 2012 at 06:02:13PM -0700, Mukesh Rathor wrote:
> > Hi Guys,
> > 
> > 
> > Cheers.... JFYI... I've all combinations working now, for both UP and
> > MP.
> 
> YEEEY!

What he said!

> > 
> > Normal PV dom0: PV domU, Hyb domU, HVM domU
> > Hybrid dom0: PV domU, Hyb domU, HVM domU.
> > 
> > So, next now:
> >    - refresh my linux and xen trees to latest. i'm on xen 4.1.3.
> >    - make sure everything works with latest, and without tons of debug
> >      code i've there right now ;).
> >    - test it out a bit.
> >    - submit patch.
> >    - once patch is accepted, do more benchmarks and improvements over
> >      time.
> > 
> > thanks,
> > Mukesh
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 08:09:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:09:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkuP-0007CI-Rw; Fri, 11 May 2012 08:09:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSkuO-0007CC-C4
	for xen-devel@lists.xen.org; Fri, 11 May 2012 08:09:04 +0000
Received: from [85.158.143.35:49489] by server-2.bemta-4.messagelabs.com id
	03/75-17550-F19CCAF4; Fri, 11 May 2012 08:09:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336723742!10489071!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19800 invoked from network); 11 May 2012 08:09:03 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 08:09:03 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 09:09:01 +0100
Message-Id: <4FACE5520200007800082F61@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 09:09:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <4FACDA880200007800082F18@nat28.tlf.novell.com>
	<1336723376.23818.4.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336723376.23818.4.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxc: implement gnttab.set_max_grants for
 Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 10:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Fri, 2012-05-11 at 08:23 +0100, Jan Beulich wrote:
>> +        /*
>> +         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
>> +         * so ignore the resulting specific failure.
>> +         */ 
> 
> pvops doesn't implement this ioctl because it is already more dynamic
> and therefore setting a max unnecessary?
> 
> (I'm pretty sure yes, but just wanted to confirm we shouldn't be fixing
> anything on the pvops side).

Correct. The only adjustment I would consider worth doing is to
accept the unnecessary ioctl without producing an error or logging
any message (perhaps one could in fact return an error for insanely
high input values).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 08:09:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:09:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSkuP-0007CI-Rw; Fri, 11 May 2012 08:09:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSkuO-0007CC-C4
	for xen-devel@lists.xen.org; Fri, 11 May 2012 08:09:04 +0000
Received: from [85.158.143.35:49489] by server-2.bemta-4.messagelabs.com id
	03/75-17550-F19CCAF4; Fri, 11 May 2012 08:09:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336723742!10489071!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19800 invoked from network); 11 May 2012 08:09:03 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 08:09:03 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 09:09:01 +0100
Message-Id: <4FACE5520200007800082F61@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 09:09:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <4FACDA880200007800082F18@nat28.tlf.novell.com>
	<1336723376.23818.4.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336723376.23818.4.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxc: implement gnttab.set_max_grants for
 Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 10:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Fri, 2012-05-11 at 08:23 +0100, Jan Beulich wrote:
>> +        /*
>> +         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
>> +         * so ignore the resulting specific failure.
>> +         */ 
> 
> pvops doesn't implement this ioctl because it is already more dynamic
> and therefore setting a max unnecessary?
> 
> (I'm pretty sure yes, but just wanted to confirm we shouldn't be fixing
> anything on the pvops side).

Correct. The only adjustment I would consider worth doing is to
accept the unnecessary ioctl without producing an error or logging
any message (perhaps one could in fact return an error for insanely
high input values).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 08:23:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:23:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSl7g-0007uL-KG; Fri, 11 May 2012 08:22:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSl7f-0007uE-DV
	for xen-devel@lists.xen.org; Fri, 11 May 2012 08:22:47 +0000
Received: from [85.158.143.99:35388] by server-1.bemta-4.messagelabs.com id
	22/84-20925-65CCCAF4; Fri, 11 May 2012 08:22:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336724564!17866806!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3105 invoked from network); 11 May 2012 08:22:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 08:22:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 09:22:43 +0100
Message-Id: <4FACE8870200007800082F81@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 09:23:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Jeff Law" <law@redhat.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
In-Reply-To: <4FAC1989.4060201@redhat.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 10.05.12 at 21:39, Jeff Law <law@redhat.com> wrote:
> On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>>>
>>> And finally one always has to keep in mind that there is this nice
>>> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
>>> when trying to determine whether AVX or FMA is available.
>>
>> It has this:
>> 146
>> 147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
>> 148     {
>> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>> 150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_OSXSAVE) 
> != 0
>> 151&&  ({ unsigned int xcrlow;
>> 152                 unsigned int xcrhigh;
>> 153                 asm ("xgetbv"
>> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>> 155                 (xcrlow&  6) == 6; }))
>> 156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
>> 157     }
>>
>>
>> And when I ran a little silly C program (attached) to probe the CPUID flags, 
> I got:
>>   /root/test-xsave
>> SSE3 CMOV
>> AVX  XSAVE
>> Trying XGETBV
>> Illegal instruction (core dumped)
>>
>> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV 
> guest
>> still crashes on that machine) - which means that in multi-lib the 
> bit_YMM_Usable
>> is _not_ set. But then looking at the sources I see:
>>
>> # ifdef USE_AS_STRCASECMP_L
>> 102 ENTRY(__strcasecmp)
>> 103         .type   __strcasecmp, @gnu_indirect_function
>> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
>> 105         jne     1f
>> 106         call    __init_cpu_features
>> 107 1:
>> 108 #  ifdef HAVE_AVX_SUPPORT
>> 109         leaq    __strcasecmp_avx(%rip), %rax
>> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
>> 111         jnz     2f
>> 112 #  endif
>>
>> which would imply that the AVX bit is sampled here instead of the
>> YMM one.
> [ ... ]
> I think Uli's position is that this code only uses AVX encodings, but 
> not the YMM registers and thus the right check is for AVX.

Which is wrong: (Almost?) all VEX encoded operations act on the full
YMM registers, even if they operate only on 128 bits - the upper 128
bits get zeroed in that case.

Plus all exception type descriptions in the SDM are clearly indicating
that VEX encoded AVX instructions require CR4.OSXSAVE (mirrored
in CPUID.OSXSAVE) to be set along with the corresponding specific
CPUID feature flag(s).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 08:23:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 08:23:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSl7g-0007uL-KG; Fri, 11 May 2012 08:22:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSl7f-0007uE-DV
	for xen-devel@lists.xen.org; Fri, 11 May 2012 08:22:47 +0000
Received: from [85.158.143.99:35388] by server-1.bemta-4.messagelabs.com id
	22/84-20925-65CCCAF4; Fri, 11 May 2012 08:22:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336724564!17866806!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3105 invoked from network); 11 May 2012 08:22:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 08:22:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 09:22:43 +0100
Message-Id: <4FACE8870200007800082F81@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 09:23:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Jeff Law" <law@redhat.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
In-Reply-To: <4FAC1989.4060201@redhat.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 10.05.12 at 21:39, Jeff Law <law@redhat.com> wrote:
> On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>>>
>>> And finally one always has to keep in mind that there is this nice
>>> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
>>> when trying to determine whether AVX or FMA is available.
>>
>> It has this:
>> 146
>> 147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
>> 148     {
>> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>> 150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_OSXSAVE) 
> != 0
>> 151&&  ({ unsigned int xcrlow;
>> 152                 unsigned int xcrhigh;
>> 153                 asm ("xgetbv"
>> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>> 155                 (xcrlow&  6) == 6; }))
>> 156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
>> 157     }
>>
>>
>> And when I ran a little silly C program (attached) to probe the CPUID flags, 
> I got:
>>   /root/test-xsave
>> SSE3 CMOV
>> AVX  XSAVE
>> Trying XGETBV
>> Illegal instruction (core dumped)
>>
>> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV 
> guest
>> still crashes on that machine) - which means that in multi-lib the 
> bit_YMM_Usable
>> is _not_ set. But then looking at the sources I see:
>>
>> # ifdef USE_AS_STRCASECMP_L
>> 102 ENTRY(__strcasecmp)
>> 103         .type   __strcasecmp, @gnu_indirect_function
>> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
>> 105         jne     1f
>> 106         call    __init_cpu_features
>> 107 1:
>> 108 #  ifdef HAVE_AVX_SUPPORT
>> 109         leaq    __strcasecmp_avx(%rip), %rax
>> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
>> 111         jnz     2f
>> 112 #  endif
>>
>> which would imply that the AVX bit is sampled here instead of the
>> YMM one.
> [ ... ]
> I think Uli's position is that this code only uses AVX encodings, but 
> not the YMM registers and thus the right check is for AVX.

Which is wrong: (Almost?) all VEX encoded operations act on the full
YMM registers, even if they operate only on 128 bits - the upper 128
bits get zeroed in that case.

Plus all exception type descriptions in the SDM are clearly indicating
that VEX encoded AVX instructions require CR4.OSXSAVE (mirrored
in CPUID.OSXSAVE) to be set along with the corresponding specific
CPUID feature flag(s).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 09:04:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 09:04:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSlli-0000ad-DR; Fri, 11 May 2012 09:04:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSllh-0000aX-BU
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 09:04:09 +0000
Received: from [193.109.254.147:5211] by server-11.bemta-14.messagelabs.com id
	0A/72-05858-806DCAF4; Fri, 11 May 2012 09:04:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336727047!8722432!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3185 invoked from network); 11 May 2012 09:04:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 09:04:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12423637"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:04:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 10:04:07 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSllf-0005Cv-Am;
	Fri, 11 May 2012 09:04:07 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSllf-0005Ls-8q;
	Fri, 11 May 2012 10:04:07 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12852-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 11 May 2012 10:04:07 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12852: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12852 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12852/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12849

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  54c8c9eaee92
baseline version:
 xen                  54c8c9eaee92

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 09:04:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 09:04:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSlli-0000ad-DR; Fri, 11 May 2012 09:04:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSllh-0000aX-BU
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 09:04:09 +0000
Received: from [193.109.254.147:5211] by server-11.bemta-14.messagelabs.com id
	0A/72-05858-806DCAF4; Fri, 11 May 2012 09:04:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336727047!8722432!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODI5Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3185 invoked from network); 11 May 2012 09:04:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 09:04:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12423637"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:04:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 10:04:07 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSllf-0005Cv-Am;
	Fri, 11 May 2012 09:04:07 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSllf-0005Ls-8q;
	Fri, 11 May 2012 10:04:07 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12852-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 11 May 2012 10:04:07 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12852: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12852 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12852/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12849

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  54c8c9eaee92
baseline version:
 xen                  54c8c9eaee92

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 09:38:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 09:38:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSmId-0001tt-Da; Fri, 11 May 2012 09:38:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <carsten@schiers.de>) id 1SSmIb-0001tj-Ar
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 09:38:10 +0000
Received: from [85.158.139.83:55555] by server-9.bemta-5.messagelabs.com id
	88/06-09826-00EDCAF4; Fri, 11 May 2012 09:38:08 +0000
X-Env-Sender: carsten@schiers.de
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336729082!23566658!1
X-Originating-IP: [194.117.254.36]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	FROM_EXCESS_QP,HTML_MESSAGE
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20047 invoked from network); 11 May 2012 09:38:03 -0000
Received: from www.zeus06.de (HELO mail.zeus06.de) (194.117.254.36)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 09:38:03 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=mail.zeus06.de; h=subject
	:from:to:cc:date:mime-version:content-type:in-reply-to
	:references:message-id; s=beta; bh=5Pko0iUfb3F2TVDcLJq8K6AchjHgz
	vNIYOBOuyJVHSE=; b=rzSg+gfZM9p9WI0ZsnRwR4se6VCB4JwXzP7B1s9ihU1Ul
	h4VD9qIUhzQEL56ioe88N9d7OoCK+0w9ErUruet824QGigXsIO4d75X0C1L9HZd3
	EKl5QyHPwnUU/cDKo7jwF+HQHMOgYvlLfhjAFZjtOtR3mRw68w4LVDGXhNMnDk=
Received: (qmail 30756 invoked from network); 11 May 2012 11:37:53 +0200
Received: from unknown (HELO uhura.zz) (l3s6271p1@84.46.27.13)
	by mail.zeus06.de with ESMTPA; 11 May 2012 11:37:53 +0200
Received: from localhost (localhost [127.0.0.1])
	by uhura.zz (Postfix) with ESMTP id 97A8F2C575;
	Fri, 11 May 2012 11:39:20 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at schiers.de
Received: from uhura.zz ([127.0.0.1])
	by localhost (uhura.space.zz [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id o908giwQewg3; Fri, 11 May 2012 11:39:09 +0200 (CEST)
Received: from uhura.space.zz (localhost [127.0.0.1])
	by uhura.zz (Postfix) with ESMTP id 0AE9E2C574;
	Fri, 11 May 2012 11:39:09 +0200 (CEST)
From: =?utf-8?Q?Carsten_Schiers?= <carsten@schiers.de>
To: =?utf-8?Q?Konrad_Rzeszutek_Wilk?= <konrad.wilk@oracle.com>
Date: Fri, 11 May 2012 11:39:08 +0200
Mime-Version: 1.0
In-Reply-To: <zarafa.4f4e2069.413c.75dd1c180ec000b7@uhura.space.zz>
References: <zarafa.4f4e2069.413c.75dd1c180ec000b7@uhura.space.zz>
X-Priority: 3 (Normal)
X-Mailer: Zarafa 7.0.6-32752
Message-Id: <zarafa.4facde3c.0774.52df3a5311f718f3@uhura.space.zz>
Cc: =?utf-8?Q?Konrad_Rzeszutek_Wilk?= <konrad@darnok.org>,
	=?utf-8?Q?xen-devel?= <xen-devel@lists.xensource.com>,
	=?utf-8?Q?Jan_Beulich?= <jbeulich@suse.com>,
	=?utf-8?Q?Sander_Eikelenboom?= <linux@eikelenboom.it>
Subject: Re: [Xen-devel] Load increase after memory upgrade (part2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1809693732979586600=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format. Your mail reader does not
understand MIME message format.
--===============1809693732979586600==
Content-Type: multipart/alternative; 
 boundary="=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d"

This is a multi-part message in MIME format. Your mail reader does not
understand MIME message format.
--=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Konrad,=0D=0A=0D=0A=C2=A0=0D=0Adon't want to be pushy, as I have no re=
al issue. I simply use the Xenified kernel or take the double load.=20=0D=
=0A=0D=0ABut I think this mistery is still open. My last status was that =
the latest patch you produced resulted in a BUG,=20=0D=0A=0D=0Aso we stil=
l have not checked whether our theory is correct.=0D=0A=0D=0A=C2=A0=0D=0A=
BR,=0D=0A=0D=0ACarsten.=0D=0A=C2=A0=0D=0A-----Urspr=C3=BCngliche Nachrich=
t-----=0D=0AVon:Carsten Schiers <carsten@schiers.de>=0D=0AGesendet:Mi 29.=
02.2012 14:01=0D=0ABetreff:Re: [Xen-devel] Load increase after memory upg=
rade (part2)=0D=0AAnlage:debug.log, inline.txt=0D=0AAn:Konrad Rzeszutek W=
ilk <konrad.wilk@oracle.com>;=20=0D=0ACC:Sander Eikelenboom <linux@eikele=
nboom.it>; xen-devel <xen-devel@lists.xensource.com>; Jan Beulich <jbeuli=
ch@suse.com>; Konrad Rzeszutek Wilk <konrad@darnok.org>;=20=0D=0A=20=0D=0A=
=0D=0AI am very sorry. I accidently started the DomU with the wrong confi=
g file, thus it's clear why there is no difference=0D=0A=0D=0Abetween the=
 two. And unfortunately, the DomU with the correct config file is having =
a BUG:=0D=0A=0D=0A=C2=A0=0D=0A=0D=0A=0A [   14.674883] BUG: unable to han=
dle kernel paging request at ffffc7fffffff000 [   14.674910] IP: [<ffffff=
ff811b4c0b>] swiotlb_bounce+0x2e/0x31 [   14.674930] PGD 0  [   14.674940=
] Oops: 0002 [#1] SMP  [   14.674952] CPU 0  [   14.674957] Modules linke=
d in: nfsd exportfs nfs lockd fscache auth_rpcgss nfs_acl sunrpc tda10023=
 budget_av evdev saa7146_vv videodev v4l2_compat_ioctl32 videobuf_dma_sg =
videobuf_core budget_core snd_pcm dvb_core snd_timer saa7146 snd ttpci_ee=
prom soundcore snd_page_alloc i2c_core pcspkr ext3 jbd mbcache xen_netfro=
nt xen_blkfront [   14.675057]  [   14.675065] Pid: 0, comm: swapper/0 No=
t tainted 3.2.8-amd64 #1   [   14.675079] RIP: e030:[<ffffffff811b4c0b>] =
 [<ffffffff811b4c0b>] swiotlb_bounce+0x2e/0x31 [   14.675097] RSP: e02b:f=
fff880013fabe58  EFLAGS: 00010202 [   14.675106] RAX: ffff880012800000 RB=
X: 0000000000000001 RCX: 0000000000001000 [   14.675116] RDX: 00000000000=
01000 RSI: ffff880012800000 RDI: ffffc7fffffff000 [   14.675126] RBP: 000=
0000000000002 R08: ffffc7fffffff000 R09: ffff880013f98000 [   14.675137] =
R10: 0000000000000001 R11: ffff880003376000 R12: ffff8800032c5090 [   14.=
675147] R13: 0000000000000149 R14: ffff8800033e0000 R15: ffffffff81601fd8=
 [   14.675163] FS:  00007f3ff9893700(0000) GS:ffff880013fa8000(0000) knl=
GS:0000000000000000 [   14.675175] CS:  e033 DS: 0000 ES: 0000 CR0: 00000=
0008005003b [   14.675184] CR2: ffffc7fffffff000 CR3: 0000000012683000 CR=
4: 0000000000000660 [   14.675195] DR0: 0000000000000000 DR1: 00000000000=
00000 DR2: 0000000000000000 [   14.675205] DR3: 0000000000000000 DR6: 000=
00000ffff0ff0 DR7: 0000000000000400 [   14.675216] Process swapper/0 (pid=
: 0, threadinfo ffffffff81600000, task ffffffff8160d020) [   14.675227] S=
tack: [   14.675232]  ffffffff81211826 ffff880002eda000 0000000000000000 =
ffffc90000408000 [   14.675251]  00000000000b0150 0000000000000006 ffffff=
ffa013ec4a ffffffff810946cd [   14.675270]  ffffffff81099203 ffff88000337=
6000 0000000000000000 ffff880002eda4b0 [   14.675289] Call Trace: [   14.=
675295]  <IRQ>  [   14.675307]  [<ffffffff81211826>] =3F xen_swiotlb_sync=
_sg_for_cpu+0x2e/0x47 [   14.675322]  [<ffffffffa013ec4a>] =3F vpeirq+0x7=
f/0x198 [budget_core] [   14.675337]  [<ffffffff810946cd>] =3F handle_irq=
_event_percpu+0x166/0x184 [   14.675350]  [<ffffffff81099203>] =3F __rcu_=
process_callbacks+0x71/0x2f8 [   14.675364]  [<ffffffff8104d175>] =3F tas=
klet_action+0x76/0xc5 [   14.675376]  [<ffffffff8120a9ac>] =3F eoi_pirq+0=
x5b/0x77 [   14.675388]  [<ffffffff8104cbc6>] =3F __do_softirq+0xc4/0x1a0=
 [   14.675400]  [<ffffffff8120a022>] =3F __xen_evtchn_do_upcall+0x1c7/0x=
205 [   14.675412]  [<ffffffff8134b06c>] =3F call_softirq+0x1c/0x30 [   1=
4.675425]  [<ffffffff8100fa47>] =3F do_softirq+0x3f/0x79 [   14.675436]  =
[<ffffffff8104c996>] =3F irq_exit+0x44/0xb5 [   14.675452]  [<ffffffff812=
0b032>] =3F xen_evtchn_do_upcall+0x27/0x32 [   14.675464]  [<ffffffff8134=
b0be>] =3F xen_do_hypervisor_callback+0x1e/0x30 [   14.675473]  <EOI>=20=0D=
=0A=0D=0A=C2=A0=0D=0AComplete log is attached.=0D=0A=0D=0A=C2=A0=0D=0ABR,=
 Carsten.=0D=0A=C2=A0=0D=0A-----Urspr=C3=BCngliche Nachricht-----=0D=0AAn=
:Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>;=20=0D=0ACC:Konrad Rzeszu=
tek Wilk <konrad@darnok.org>; xen-devel <xen-devel@lists.xensource.com>; =
Jan Beulich <jbeulich@suse.com>; Sander Eikelenboom <linux@eikelenboom.it=
>;=20=0D=0AVon:Carsten Schiers <carsten@schiers.de>=0D=0AGesendet:Mi 29.0=
2.2012 13:16=0D=0ABetreff:Re: [Xen-devel] Load increase after memory upgr=
ade (part2)=0D=0AAnlage:inline.txt=0D=0A=20=0D=0A=0D=0AGreat news: it wor=
ks and load is back to normal. In the attached graph you can see the peak=
=0D=0A=0D=0Ain blue (compilation of the patched 3.2.8 Kernel) and then af=
ter 16.00 the going life of the=0D=0A=0D=0Avideo DomU. We are below an av=
aerage of 7% usage (figures are in Permille).=0D=0A=0D=0A=0D=0AThanks so =
much. Is that already "the final patch"=3F=0D=0A=0D=0A=C2=A0=0D=0ABR, Car=
sten.=0D=0A=0D=0A=C2=A0=0D=0A=0D=0A=C2=A0=0D=0A-----Urspr=C3=BCngliche Na=
chricht-----=0D=0AAn:Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>;=20=0D=
=0ACC:Sander Eikelenboom <linux@eikelenboom.it>; xen-devel <xen-devel@lis=
ts.xensource.com>; Jan Beulich <jbeulich@suse.com>; Konrad Rzeszutek Wilk=
 <konrad@darnok.org>;=20=0D=0AVon:Carsten Schiers <carsten@schiers.de>=0D=
=0AGesendet:Di 28.02.2012 15:39=0D=0ABetreff:Re: [Xen-devel] Load increas=
e after memory upgrade (part2)=0D=0AAnlage:inline.txt=0D=0A=20=0D=0A=0D=0A=
Well let me check for a longer period of time, and especially, whether th=
e DomU is still=0D=0A=0D=0Aworking (can do that only from at home), but l=
oad looks pretty well after applying the=0D=0A=0D=0Apatch to 3.2.8 :-D.=0D=
=0A=0D=0A=C2=A0=0D=0ABR,=0D=0A=0D=0ACarsten.=0D=0A=C2=A0=0D=0A-----Urspr=C3=
=BCngliche Nachricht-----=0D=0AAn:Jan Beulich <JBeulich@suse.com>;=20=0D=0A=
CC:Konrad Rzeszutek Wilk <konrad@darnok.org>; xen-devel <xen-devel@lists.=
xensource.com>; Carsten Schiers <carsten@schiers.de>; Sander Eikelenboom =
<linux@eikelenboom.it>;=20=0D=0AVon:Konrad Rzeszutek Wilk <konrad.wilk@or=
acle.com>=0D=0AGesendet:Fr 17.02.2012 16:18=0D=0ABetreff:Re: [Xen-devel] =
Load increase after memory upgrade (part2)=0D=0AOn Thu, Feb 16, 2012 at 0=
8:56:53AM +0000, Jan Beulich wrote:=0D=0A> >>> On 15.02.12 at 20:28, Konr=
ad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:=0D=0A> >@@ -1550,7 +155=
2,11 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gf=
p_mask,=0D=0A> > struct page **pages;=0D=0A> > unsigned int nr_pages, arr=
ay_size, i;=0D=0A> > gfp_t nested_gfp =3D (gfp_mask & GFP_RECLAIM_MASK) |=
 __GFP_ZERO;=0D=0A> >-=0D=0A> >+gfp_t dma_mask =3D gfp_mask & (__GFP_DMA =
| __GFP_DMA32);=0D=0A> >+if (xen_pv_domain()) {=0D=0A> >+if (dma_mask =3D=
=3D (__GFP_DMA | __GFP_DMA32))=0D=0A>=20=0D=0A> I didn't spot where you f=
orce this normally invalid combination, without=0D=0A> which the change w=
on't affect vmalloc32() in a 32-bit kernel.=0D=0A>=20=0D=0A> >+gfp_mask &=
=3D (__GFP_DMA | __GFP_DMA32);=0D=0A>=20=0D=0A> gfp_mask &=3D ~(__GFP_DMA=
 | __GFP_DMA32);=0D=0A>=20=0D=0A> Jan=0D=0A=0D=0ADuh!=0D=0AGood eyes. Tha=
nks for catching that.=0D=0A=0D=0A>=20=0D=0A> >+}=0D=0A> > nr_pages =3D (=
area->size - PAGE_SIZE) >> PAGE_SHIFT;=0D=0A> > array_size =3D (nr_pages =
* sizeof(struct page *));=0D=0A> >=20=0D=0A>=20=0D=0A=0D=0A______________=
_________________________________=0D=0AXen-devel mailing list=0D=0AXen-de=
vel@lists.xensource.com=0D=0Ahttp://lists.xensource.com/xen-devel=0D=0A=20=
=0D=0A=20=0D=0A=0D=0A=C2=A0=0D=0A --------------------------------=0D=0AE=
-Mail ist virenfrei.=0D=0A Von AVG =C3=BCberpr=C3=BCft - www.avg.de=0D=0A=
 Version: 2012.0.2127 / Virendatenbank: 2411/4932 - Ausgabedatum: 12.04.2=
012=0D=0A=20
--=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlv
bmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+PGh0bWw+
CjxoZWFkPgogIDxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iWmFyYWZhIFdlYkFj
Y2VzcyB2Ny4wLjYtMzI3NTIiPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+QVc6IFtYZW4t
ZGV2ZWxdIExvYWQgaW5jcmVhc2UgYWZ0ZXIgbWVtb3J5IHVwZ3JhZGUgKHBhcnQyKTwvdGl0
bGU+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgYm9keQ0KICAgICAgew0KICAg
ICAgICBmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIFNhbnMtU2VyaWYgISBpbXBvcnRh
bnQ7DQogICAgICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICAgICAgcGFkZGluZzogNXB4IDVw
eCA1cHggNXB4Ow0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgYm9yZGVyLXN0eWxl
OiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KICAgICAgfQ0K
DQogICAgICBwLCB1bCwgbGkNCiAgICAgIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMHB4Ow0K
ICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgICB9DQogIDwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHk+CjxwPkhpIEtvbnJhZCw8L3A+PHA+Jm5ic3A7PC9wPjxwPmRvbiYjMzk7dCB3
YW50IHRvIGJlIHB1c2h5LCBhcyBJIGhhdmUgbm8gcmVhbCBpc3N1ZS4gSSBzaW1wbHkgdXNl
IHRoZSBYZW5pZmllZCBrZXJuZWwgb3IgdGFrZSB0aGUgZG91YmxlIGxvYWQuIDwvcD48cD5C
dXQgSSB0aGluayB0aGlzIG1pc3RlcnkgaXMgc3RpbGwgb3Blbi4gTXkgbGFzdCBzdGF0dXMg
d2FzIHRoYXQgdGhlIGxhdGVzdCBwYXRjaCB5b3UgcHJvZHVjZWQgcmVzdWx0ZWQgaW4gYSBC
VUcsIDwvcD48cD5zbyB3ZSBzdGlsbCBoYXZlIG5vdCBjaGVja2VkIHdoZXRoZXIgb3VyIHRo
ZW9yeSBpcyBjb3JyZWN0LjwvcD48cD4mbmJzcDs8L3A+PHA+QlIsPC9wPjxwPkNhcnN0ZW4u
PGJyIC8+Jm5ic3A7PC9wPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDogMnB4IHNv
bGlkICMzMjVGQkE7IHBhZGRpbmctbGVmdDogNXB4O21hcmdpbi1sZWZ0OjVweDsiPi0tLS0t
VXJzcHImdXVtbDtuZ2xpY2hlIE5hY2hyaWNodC0tLS0tPGJyIC8+PHN0cm9uZz5Wb246PC9z
dHJvbmc+CUNhcnN0ZW4gU2NoaWVycyAmbHQ7Y2Fyc3RlbkBzY2hpZXJzLmRlJmd0OzxiciAv
PjxzdHJvbmc+R2VzZW5kZXQ6PC9zdHJvbmc+CU1pIDI5LjAyLjIwMTIgMTQ6MDE8YnIgLz48
c3Ryb25nPkJldHJlZmY6PC9zdHJvbmc+CVJlOiBbWGVuLWRldmVsXSBMb2FkIGluY3JlYXNl
IGFmdGVyIG1lbW9yeSB1cGdyYWRlIChwYXJ0Mik8YnIgLz48c3Ryb25nPkFubGFnZTo8L3N0
cm9uZz4JZGVidWcubG9nLCBpbmxpbmUudHh0PGJyIC8+PHN0cm9uZz5Bbjo8L3N0cm9uZz4J
S29ucmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWQud2lsa0BvcmFjbGUuY29tJmd0Ozsg
PGJyIC8+PHN0cm9uZz5DQzo8L3N0cm9uZz4JU2FuZGVyIEVpa2VsZW5ib29tICZsdDtsaW51
eEBlaWtlbGVuYm9vbS5pdCZndDs7IHhlbi1kZXZlbCAmbHQ7eGVuLWRldmVsQGxpc3RzLnhl
bnNvdXJjZS5jb20mZ3Q7OyBKYW4gQmV1bGljaCAmbHQ7amJldWxpY2hAc3VzZS5jb20mZ3Q7
OyBLb25yYWQgUnplc3p1dGVrIFdpbGsgJmx0O2tvbnJhZEBkYXJub2sub3JnJmd0OzsgPGJy
IC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFj
ZTsgfTwvc3R5bGU+ICAgICAgICAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gICAg
ICAgLmJvZHljbGFzcyAgICAgICB7ICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJk
YW5hLCBTYW5zLVNlcmlmICEgaW1wb3J0YW50OyAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsg
ICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCA1cHg7ICAgICAgICAgbWFyZ2luOiAwcHg7
ICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6
ICNmZmZmZmY7ICAgICAgIH0gICAgICAgIHAsIHVsLCBsaSAgICAgICB7ICAgICAgICAgbWFy
Z2luLXRvcDogMHB4OyAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgICAgICAgfSAgIDwv
c3R5bGU+ICA8ZGl2PjxwPkkgYW0gdmVyeSBzb3JyeS4gSSBhY2NpZGVudGx5IHN0YXJ0ZWQg
dGhlIERvbVUgd2l0aCB0aGUgd3JvbmcgY29uZmlnIGZpbGUsIHRodXMgaXQmIzM5O3MgY2xl
YXIgd2h5IHRoZXJlIGlzIG5vIGRpZmZlcmVuY2U8L3A+PHA+YmV0d2VlbiB0aGUgdHdvLiBB
bmQgdW5mb3J0dW5hdGVseSwgdGhlIERvbVUgd2l0aCB0aGUgY29ycmVjdCBjb25maWcgZmls
ZSBpcyBoYXZpbmcgYSBCVUc6PC9wPjxwPiZuYnNwOzwvcD48cHJlPgogWyAgIDE0LjY3NDg4
M10gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBhdCBmZmZm
YzdmZmZmZmZmMDAwIFsgICAxNC42NzQ5MTBdIElQOiBbJmx0O2ZmZmZmZmZmODExYjRjMGIm
Z3Q7XSBzd2lvdGxiX2JvdW5jZSsweDJlLzB4MzEgWyAgIDE0LjY3NDkzMF0gUEdEIDAgIFsg
ICAxNC42NzQ5NDBdIE9vcHM6IDAwMDIgWyMxXSBTTVAgIFsgICAxNC42NzQ5NTJdIENQVSAw
ICBbICAgMTQuNjc0OTU3XSBNb2R1bGVzIGxpbmtlZCBpbjogbmZzZCBleHBvcnRmcyBuZnMg
bG9ja2QgZnNjYWNoZSBhdXRoX3JwY2dzcyBuZnNfYWNsIHN1bnJwYyB0ZGExMDAyMyBidWRn
ZXRfYXYgZXZkZXYgc2FhNzE0Nl92diB2aWRlb2RldiB2NGwyX2NvbXBhdF9pb2N0bDMyIHZp
ZGVvYnVmX2RtYV9zZyB2aWRlb2J1Zl9jb3JlIGJ1ZGdldF9jb3JlIHNuZF9wY20gZHZiX2Nv
cmUgc25kX3RpbWVyIHNhYTcxNDYgc25kIHR0cGNpX2VlcHJvbSBzb3VuZGNvcmUgc25kX3Bh
Z2VfYWxsb2MgaTJjX2NvcmUgcGNzcGtyIGV4dDMgamJkIG1iY2FjaGUgeGVuX25ldGZyb250
IHhlbl9ibGtmcm9udCBbICAgMTQuNjc1MDU3XSAgWyAgIDE0LjY3NTA2NV0gUGlkOiAwLCBj
b21tOiBzd2FwcGVyLzAgTm90IHRhaW50ZWQgMy4yLjgtYW1kNjQgIzEgICBbICAgMTQuNjc1
MDc5XSBSSVA6IGUwMzA6WyZsdDtmZmZmZmZmZjgxMWI0YzBiJmd0O10gIFsmbHQ7ZmZmZmZm
ZmY4MTFiNGMwYiZndDtdIHN3aW90bGJfYm91bmNlKzB4MmUvMHgzMSBbICAgMTQuNjc1MDk3
XSBSU1A6IGUwMmI6ZmZmZjg4MDAxM2ZhYmU1OCAgRUZMQUdTOiAwMDAxMDIwMiBbICAgMTQu
Njc1MTA2XSBSQVg6IGZmZmY4ODAwMTI4MDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAxIFJD
WDogMDAwMDAwMDAwMDAwMTAwMCBbICAgMTQuNjc1MTE2XSBSRFg6IDAwMDAwMDAwMDAwMDEw
MDAgUlNJOiBmZmZmODgwMDEyODAwMDAwIFJESTogZmZmZmM3ZmZmZmZmZjAwMCBbICAgMTQu
Njc1MTI2XSBSQlA6IDAwMDAwMDAwMDAwMDAwMDIgUjA4OiBmZmZmYzdmZmZmZmZmMDAwIFIw
OTogZmZmZjg4MDAxM2Y5ODAwMCBbICAgMTQuNjc1MTM3XSBSMTA6IDAwMDAwMDAwMDAwMDAw
MDEgUjExOiBmZmZmODgwMDAzMzc2MDAwIFIxMjogZmZmZjg4MDAwMzJjNTA5MCBbICAgMTQu
Njc1MTQ3XSBSMTM6IDAwMDAwMDAwMDAwMDAxNDkgUjE0OiBmZmZmODgwMDAzM2UwMDAwIFIx
NTogZmZmZmZmZmY4MTYwMWZkOCBbICAgMTQuNjc1MTYzXSBGUzogIDAwMDA3ZjNmZjk4OTM3
MDAoMDAwMCkgR1M6ZmZmZjg4MDAxM2ZhODAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAw
MDAwIFsgICAxNC42NzUxNzVdIENTOiAgZTAzMyBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAw
MDAwMDAwODAwNTAwM2IgWyAgIDE0LjY3NTE4NF0gQ1IyOiBmZmZmYzdmZmZmZmZmMDAwIENS
MzogMDAwMDAwMDAxMjY4MzAwMCBDUjQ6IDAwMDAwMDAwMDAwMDA2NjAgWyAgIDE0LjY3NTE5
NV0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAw
MDAwMDAwMDAwMDAwMDAgWyAgIDE0LjY3NTIwNV0gRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERS
NjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAgWyAgIDE0LjY3NTIx
Nl0gUHJvY2VzcyBzd2FwcGVyLzAgKHBpZDogMCwgdGhyZWFkaW5mbyBmZmZmZmZmZjgxNjAw
MDAwLCB0YXNrIGZmZmZmZmZmODE2MGQwMjApIFsgICAxNC42NzUyMjddIFN0YWNrOiBbICAg
MTQuNjc1MjMyXSAgZmZmZmZmZmY4MTIxMTgyNiBmZmZmODgwMDAyZWRhMDAwIDAwMDAwMDAw
MDAwMDAwMDAgZmZmZmM5MDAwMDQwODAwMCBbICAgMTQuNjc1MjUxXSAgMDAwMDAwMDAwMDBi
MDE1MCAwMDAwMDAwMDAwMDAwMDA2IGZmZmZmZmZmYTAxM2VjNGEgZmZmZmZmZmY4MTA5NDZj
ZCBbICAgMTQuNjc1MjcwXSAgZmZmZmZmZmY4MTA5OTIwMyBmZmZmODgwMDAzMzc2MDAwIDAw
MDAwMDAwMDAwMDAwMDAgZmZmZjg4MDAwMmVkYTRiMCBbICAgMTQuNjc1Mjg5XSBDYWxsIFRy
YWNlOiBbICAgMTQuNjc1Mjk1XSAgJmx0O0lSUSZndDsgIFsgICAxNC42NzUzMDddICBbJmx0
O2ZmZmZmZmZmODEyMTE4MjYmZ3Q7XSA/IHhlbl9zd2lvdGxiX3N5bmNfc2dfZm9yX2NwdSsw
eDJlLzB4NDcgWyAgIDE0LjY3NTMyMl0gIFsmbHQ7ZmZmZmZmZmZhMDEzZWM0YSZndDtdID8g
dnBlaXJxKzB4N2YvMHgxOTggW2J1ZGdldF9jb3JlXSBbICAgMTQuNjc1MzM3XSAgWyZsdDtm
ZmZmZmZmZjgxMDk0NmNkJmd0O10gPyBoYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDE2Ni8w
eDE4NCBbICAgMTQuNjc1MzUwXSAgWyZsdDtmZmZmZmZmZjgxMDk5MjAzJmd0O10gPyBfX3Jj
dV9wcm9jZXNzX2NhbGxiYWNrcysweDcxLzB4MmY4IFsgICAxNC42NzUzNjRdICBbJmx0O2Zm
ZmZmZmZmODEwNGQxNzUmZ3Q7XSA/IHRhc2tsZXRfYWN0aW9uKzB4NzYvMHhjNSBbICAgMTQu
Njc1Mzc2XSAgWyZsdDtmZmZmZmZmZjgxMjBhOWFjJmd0O10gPyBlb2lfcGlycSsweDViLzB4
NzcgWyAgIDE0LjY3NTM4OF0gIFsmbHQ7ZmZmZmZmZmY4MTA0Y2JjNiZndDtdID8gX19kb19z
b2Z0aXJxKzB4YzQvMHgxYTAgWyAgIDE0LjY3NTQwMF0gIFsmbHQ7ZmZmZmZmZmY4MTIwYTAy
MiZndDtdID8gX194ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDFjNy8weDIwNSBbICAgMTQuNjc1
NDEyXSAgWyZsdDtmZmZmZmZmZjgxMzRiMDZjJmd0O10gPyBjYWxsX3NvZnRpcnErMHgxYy8w
eDMwIFsgICAxNC42NzU0MjVdICBbJmx0O2ZmZmZmZmZmODEwMGZhNDcmZ3Q7XSA/IGRvX3Nv
ZnRpcnErMHgzZi8weDc5IFsgICAxNC42NzU0MzZdICBbJmx0O2ZmZmZmZmZmODEwNGM5OTYm
Z3Q7XSA/IGlycV9leGl0KzB4NDQvMHhiNSBbICAgMTQuNjc1NDUyXSAgWyZsdDtmZmZmZmZm
ZjgxMjBiMDMyJmd0O10gPyB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDI3LzB4MzIgWyAgIDE0
LjY3NTQ2NF0gIFsmbHQ7ZmZmZmZmZmY4MTM0YjBiZSZndDtdID8geGVuX2RvX2h5cGVydmlz
b3JfY2FsbGJhY2srMHgxZS8weDMwIFsgICAxNC42NzU0NzNdICAmbHQ7RU9JJmd0OyA8L3By
ZT48cD4mbmJzcDs8L3A+PHA+Q29tcGxldGUgbG9nIGlzIGF0dGFjaGVkLjwvcD48cD4mbmJz
cDs8L3A+PHA+QlIsIENhcnN0ZW4uPGJyIC8+Jm5ic3A7PC9wPjxibG9ja3F1b3RlIHN0eWxl
PSJib3JkZXItbGVmdDogMnB4IHNvbGlkICMzMjVGQkE7IHBhZGRpbmctbGVmdDogNXB4O21h
cmdpbi1sZWZ0OjVweDsiPi0tLS0tVXJzcHImdXVtbDtuZ2xpY2hlIE5hY2hyaWNodC0tLS0t
PGJyIC8+PHN0cm9uZz5Bbjo8L3N0cm9uZz4JS29ucmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtr
b25yYWQud2lsa0BvcmFjbGUuY29tJmd0OzsgPGJyIC8+PHN0cm9uZz5DQzo8L3N0cm9uZz4J
S29ucmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWRAZGFybm9rLm9yZyZndDs7IHhlbi1k
ZXZlbCAmbHQ7eGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb20mZ3Q7OyBKYW4gQmV1bGlj
aCAmbHQ7amJldWxpY2hAc3VzZS5jb20mZ3Q7OyBTYW5kZXIgRWlrZWxlbmJvb20gJmx0O2xp
bnV4QGVpa2VsZW5ib29tLml0Jmd0OzsgPGJyIC8+PHN0cm9uZz5Wb246PC9zdHJvbmc+CUNh
cnN0ZW4gU2NoaWVycyAmbHQ7Y2Fyc3RlbkBzY2hpZXJzLmRlJmd0OzxiciAvPjxzdHJvbmc+
R2VzZW5kZXQ6PC9zdHJvbmc+CU1pIDI5LjAyLjIwMTIgMTM6MTY8YnIgLz48c3Ryb25nPkJl
dHJlZmY6PC9zdHJvbmc+CVJlOiBbWGVuLWRldmVsXSBMb2FkIGluY3JlYXNlIGFmdGVyIG1l
bW9yeSB1cGdyYWRlIChwYXJ0Mik8YnIgLz48c3Ryb25nPkFubGFnZTo8L3N0cm9uZz4JaW5s
aW5lLnR4dDxiciAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LmJvZHljbGFzcyB7IGZvbnQt
ZmFtaWx5OiBtb25vc3BhY2U7IH08L3N0eWxlPiAgICAgICAgICAgICAgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+ICAgICAgIC5ib2R5Y2xhc3MgICAgICAgeyAgICAgICAgIGZvbnQtZmFt
aWx5OiBBcmlhbCwgVmVyZGFuYSwgU2Fucy1TZXJpZiAhIGltcG9ydGFudDsgICAgICAgICBm
b250LXNpemU6IDEycHg7ICAgICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggNXB4OyAgICAg
ICAgIG1hcmdpbjogMHB4OyAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsgICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyAgICAgICB9ICAgICAgICBwLCB1bCwgbGkgICAg
ICAgeyAgICAgICAgIG1hcmdpbi10b3A6IDBweDsgICAgICAgICBtYXJnaW4tYm90dG9tOiAw
cHg7ICAgICAgIH0gICA8L3N0eWxlPiAgPGRpdj48cD5HcmVhdCBuZXdzOiBpdCB3b3JrcyBh
bmQgbG9hZCBpcyBiYWNrIHRvIG5vcm1hbC4gSW4gdGhlIGF0dGFjaGVkIGdyYXBoIHlvdSBj
YW4gc2VlIHRoZSBwZWFrPC9wPjxwPmluIGJsdWUgKGNvbXBpbGF0aW9uIG9mIHRoZSBwYXRj
aGVkIDMuMi44IEtlcm5lbCkgYW5kIHRoZW4gYWZ0ZXIgMTYuMDAgdGhlIGdvaW5nIGxpZmUg
b2YgdGhlPC9wPjxwPnZpZGVvIERvbVUuIFdlIGFyZSBiZWxvdyBhbiBhdmFlcmFnZSBvZiA3
JSB1c2FnZSAoZmlndXJlcyBhcmUgaW4gUGVybWlsbGUpLjwvcD48cD48YnIgLz5UaGFua3Mg
c28gbXVjaC4gSXMgdGhhdCBhbHJlYWR5ICZxdW90O3RoZSBmaW5hbCBwYXRjaCZxdW90Oz88
L3A+PHA+Jm5ic3A7PC9wPjxwPkJSLCBDYXJzdGVuLjwvcD48cD4mbmJzcDs8L3A+PHA+PGJy
IC8+Jm5ic3A7PGltZyBhbHQ9IiIgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQWZFQUFBR0VDQUlBQUFDcHY0NVlBQUFnQUVsRVFWUjRuTzJk
ZlhRVVZaNzNiMGdDSVNBSndTQmd0a25Fa0pBM3pBWVZmVWFQajJjZEhjZURPSUZsWmdCM2Rw
eGhSa1FqNktvYzUyQ3ZzRG9LQXpqQkxEbW9aSU5CTU4yQkJGbGZFRWtFOXhBSjZLQkVqTHc0
S0VoM09xLzNuejNuK1NQUEh4ZXVSZDJxNnB2dXJ1cnFxdS9uOU9uVFhYM3IzdnU3ZGV2YnY5
eXUrb1o4QmdBQXdCRzB0cmFTZVBjQkFBQkFER2h0YlgzampUY3VhVG9GQUFDUXlMenh4aHZR
ZEFBQWNBalFkQUFBY0E3UWRBQUFjQTdRZEFBQVNDUWFCWlNmUXRNQmtJSVFFdTh1RElOWTlU
YXhvbllWZzRPRFRNMmg2Y0NCbUNjOXZHYnhSVXlxTlFsb3VyUHA3KzgvY3VTSXorYzdmLzU4
VTFPVDhpTm91cXRadUhEaGIzLzdXK1dXZi8zWGYxMjBhRkUwZFJKQ0NDRkpTVWxYWFhWVldW
blo4dVhMejU0OUcxMDNZNHltVG9XVjdDalZ6V0p4aEtZN21NN096cGFXbHJhMnRxNnVycWFt
cGlOSGppZy9oYWE3bWtBZ1VGUlU5TVliYjdDM3I3LytlbkZ4Y1RBWWpLWk9yZ0tCUU9EUW9V
TVBQL3p3NU1tVFQ1dzRFVzFmWXdjMDNmcDZRQXo1NktPUHpwOC9yL2NwTk4zdEhEMTY5SnBy
cmpsMjdOaXhZOGNtVFpyRXBrRi9mLytLRlN1dXZ2cnEwYU5IVjFaVy92RERENnd3SVdUanhv
MGVqeWMxTmJXc3JPeVRUejRSS3hSVjRPbW5uLzdsTDMvSlhuZDNkLy9Mdi96TFZWZGRkZFZW
Vi8zbU43L3A3dTdtZTIzWXNHSHExS2tqUjQ2Y01XUEdCeDk4c0huejVtblRwckdHRGg4K3pJ
cDk4Y1VYUC92Wno4YU1HVE5xMUtpNzdycnJ6Smt6cWtZajZ5SGZTQlNJTllzdnhQS2FQVFNv
MW1CQXdnWmlBQ0ZrOWVyVjJkblo2ZW5waXhZdENvVkNsTkpiYjcxMTY5YXR2RXhuWitla1Na
TlU2aEFLaFJZdVhKaWVuajV4NHNRMWE5WVl4eVZUSWJBWWFEcWdyNzMyV25GeGNYRnhjVjFk
SGR2eXB6Lzk2YzQ3N3p4NTh1UVBQL3l3Y09IQzMvM3VkMnc3SWFTeXN2THJyNzhPQkFMUFB2
dHNSVVdGV0p1b21KMmRuZGRjY3cxNy9kaGpqOTE5OTkxbnpwdzVmZnIwUC8zVFAxVlZWZkc5
NXN5Wjg5VlhYd1VDZ2VlZWUyN3MyTEVQUFBBQWYzdmpqVGV5WW9XRmhlKzg4MDR3R0R4Ly92
elNwVXNYTEZpZ2FqU3lIbEw5UEYxbVBiMjZ1dnFlZSs2UjdLSHFyY0dBaEEzRUFFSUlxL2JN
bVROMzMzMzM0NDgvVGluZHRXdFhRVUhCd01BQUsvUGdndzgrLy96enFoMnJxcXA0Zis2NjZ5
N2VUODI0WkNvRU1RZlh2WUR3bEplWHo1bzFpNy8xZUR6SGpoMWpyMCtmUGoxeDRrVDJtaEJ5
N3R3NTlqb1FDS1NrcEloVmlaTFgyOXVibXByS1hrK2VQUG56eno5bnJ6Lzc3TE1wVTZid3Zm
Nys5Ny96bWxWdk5Sc0tCQUpYWDMyMXF0SElla2lqMFBTV2xwYVpNMmZ5UDJYQzlsRDExbUJB
d2daaUFDSGtiMy83RzN2OStlZWZYM3Z0dGV4MVJVWEY2NisvempjR0FnSFZqbE9tVE9FN2Z2
YlpaNXBqcFl3cmJJWEFKSERkQzlCbDgrYk5OOXh3d3cwMzNQRGFhNit4TFNrcEtjcmxncVNr
SkxaZFQ1aU1ON0kveWRucjVPVGsvdjUrOXJxdnI0OUxsWEhOL08ySEgzNTR5eTIzcEtlbjYz
Vk1wb2NqUm96Z2ZXRDA5L2VQR0RIQ3VBYk5KbzRjT1RKdDJqVGxyd1ZoZTZoNkc5bUE4STNL
OVJ6VlI1clY3dGl4SXo4L3Y3Ky9mLzc4K1d2WHJoVjNWUFVuN01pSHJSQ1lBYTU3QWJvY09Y
Sms4dVRKWDN6eHhmSGp4eWRQbm56MDZGRkthVTVPenRkZmZ5MFdqa3pUbjM3NjZWLzk2bGZz
OWVUSms1VnA0T1RKazJWcTVtK25USmxTVjFkMy92ejV3Y0hCQ3hjdWhFMmlOWHZvOFhqKzUz
LytSN25sMEtGREhvL0h1QWJ4eFprelovTHo4L2Z0MjZjc0g3YUhxcmVSRFVoWWxIbjYzLzcy
TjU3K0R3NE9GaGNYVjFWVmVUeWVucDRlY1VkbG52NzU1NStISGZtd0ZZS1lnK3RlZ0M2QlFH
REdqQmx2dmZVV2Uvdm1tMit5NjE2ZWUrNjV1KysrKy9qeDQzMTlmWWNQSDY2c3JHUUZocVhw
N0xxWHBVdVhLcTk3V2Jac0dWL252ZXV1dXg1OTlGR1ptdm5iOGVQSDc5aXhJeFFLZmZIRkY1
V1ZsWkZwK3IvLys3K1hsNWQvOU5GSG9WQW9GQXJ0Mzc5LzVzeVphOWFzWVo5bVpHVHdkU2ZO
bXZtTEcyKzhjZlBtemFySzlYcW9WMjFrQXhJV1FzalBmdmF6czJmUG5qMTc5cDU3N3VITDlK
VFN1cm82UXNpcnI3NnF1V05WVlJYYmtTM0VoeDM1c0JXQ21JUHJYb0F1Q3hjdTVDTENlUGpo
aHhjdVhEZ3dNT0QxZXRsRkYwVkZSZnkzVS9rRmdhU2twREZqeHBTV2xqNysrT1A4NmhSS2FU
QVlYTHg0OGRpeFk4ZU9IYnQ0OFdKKzNhU2twci8xMWx1NXVibkp5Y24vOEEvL3NIYnQyc2cw
ZlhCd2NPM2F0Y1hGeGFOR2pSbzFhbFJ4Y2ZGZi92SVgvdW1xVmF2R2pCbGpVTFB5aFJMakh1
cFZHOW1BaElVb3JudFp1SEFodjV5R1VycHQyN1pwMDZiMTlmVnA3dGpkM2YzclgvOTY5T2pS
MmRuWnl1dGU5T0lLV3lHd0dHZzZBTzdpM252djVYY2syTE5DWUF5dWV3RUFVRXJwd01CQWRY
VjFZV0Vodi9yUWJoVUNHVlFpRGswSHdLVVFRandlVDJ0cnEyMHJCREkwTlRYMTl2YXkxNzI5
dmJqdUJRQUFFcGpXMXRaUFAvMjByNit2cjYvdjAwOC9iV3RyVTM0S1RRY0FnRVNpdTd2N3dJ
RURmci9mNy9lM3RyWXFmd0NuMEhRQUFFaG9zSjRPQUFET0Fab09BQUFKakl1dVpUeStkKy94
dlh2ajNRc0FBTEFPeDJwNlh5aTAvcFpiMXQ5eVMxOG9GTysrQUFDQVJUaFcwejk0NlNXdngr
UDFlRDU0NmFWNDl3VUFBT0tEUXpUOS9NbVRhL0x6bWFhdnljOC9mL0prdkhzRUFBQ21FQXdH
VzF0YitiV01xbjgyNlJCTnIxKzhtQWs2ZTlRdlhoenZIZ0VBZ0NuczI3ZnYyTEZqdmIyOXZi
MjlSNDhlVmJrOU8wVFRHVTg5OVpSTXNhNnVMdXVMeVpmczdlaUlTN3VJMTVwMkVhODE3ZG84
M21qdytYemNZR2RnWU1Ebjh5ay9kYU9tSHp4NDBQcGk4aVV2Yk5vVWwzWVJyelh0SWw1cjJy
VjV2TkhnaWp5OXQ3ZjN4SWtUdi8zdGI0ZUdoazZmUG0zOC9MLy8rNzloeXd3TkRaMDhlVEtH
dGNtWDdEcDJMQzd0SWw3RWkzZ3RpM2RvYU9qcnI3OCtjZUtFL0I4S25FQWc0UHoxZE1aVFR6
MDFKTUdwVTZlc0x5WmZrcmExeGFWZHhHdE51NGpYbW5adEh1K2x3aWJnUmswSEFBQTdFSm5R
dWVLNkZ3Ynk5R2hLSWw1cjJrVzgxclJyODNndkZZNElPNjZuMTlmWEZ4WVdwcWFtbHBhV3Ry
UzA4TzByVjY3ay8rZnc2NisvbmoxNzlzaVJJMmZQbnMzK2g3MjRSUVh5ZEFCQUFoR1pmdHJ4
dXBjSEhuaWd2YjI5dTd0NzA2Wk5FeVpNWUJ2YjJ0b21UWnJFTlgzZXZIa3JWcXpvN3U1ZXNX
TEYvUG56TmJlb1FKNGVUVW5FYTAyN2lOZWFkbTBlNzZYQ0VXSEhQSjF6NHNRSmo4ZERLZTN1
N2k0dUx0NjdkeS9YOUFrVEpwdytmWnBTZXZyMGFhYjc0aFlWeU5NQkFBbEVaTEpwMyt0ZVRw
MDZWVjVldm5QblRrcnAwcVZMWDN6eFJVb3AxL1FSSTBhd3Z5LzYrL3VUazVNMXQzRDYvLzcz
QzYrODh1VHZmMDhQSEJnYUdqSitQcjF6WjlneTlNQ0JVNmRPeGJBMitaSzByUzB1N1NKZXhJ
dDRMWXVYSGpqdy8wS2hDNis4MHRQZUhsdGRqWnVtdDdhMmVqeWVMVnUyc0xkSlNVbEVBYVUw
S3l0TGxaV0xXMVFnVHdjQUpCQ1JpYWNkL2RPcnE2dXpzN04zNzk0dGZzVHo5TXJLU3I1Nlhs
bFpxYmxGQmRiVG95bUplSzFwRi9GYTA2N040NzFVT0NKVUlxNGlQcHBPcnVUaXhZdktqOWlM
cjc3NjZxYWJia3BOVGIzNTVwdFBuanlwdVVVRjhuUUFRQUlSbVg3YVVkTk5Bbmw2TkNVUnJ6
WHRJbDVyMnJWNXZKY0tSd1EwSFFBQTdJZ1pNdWhHVFhmRzk3emI4aHJFRzJWSnhHdE51L0I3
aVEzRDhtWEVNNTd4ak9lNFAwZm15L2pPTysrMHQ3ZWZQbjI2djc5ZnM0QkROSjJCUEQyYWtv
alhtbllScnpYdDJqemVTNFdIejRVTEY0NGZQNzUvLy82bXBxYjkrL2NmUDM3OHdvVUx5Z0p1
MUhRQUFMQUQwY2hkWDEvZjZkT24yOXZiMzNubkhlVjJOMnE2TTc3bjNaYlhJTjRvU3lKZWE5
cDE2WHE2Nk1zb2JvRXZJd0RBMlppaHJuYnhaUlMzd0pmUjRuWVJyelh0SWw1cjJyVjV2SmNL
bTRCZGZCbkZMZkJsQkFBNG01aW9xQzM4WGhpbkZMNk00aGI0TXNMSER2RWlYcWZHUzJQbnky
Z1hUVmY1TW9wYjRNc0lBSEEya1lsbll2Z3lpbHZneTJoeHU0alhtbllScnpYdDJqemVTNFZq
Z1MwMFhmUmxGTGZBbHhFQTRHeGlJcWUyMEhTVFFKNGVUVW5FYTAyN2lOZWFkbTBlNzZYQ0p1
QkdUUWNBQURzUW1kQUZnMEdiL2ovU21JTThQWnFTaU5lYWRoR3ZOZTNhUE41TGhTTmkzNzU5
eDQ0ZDYrM3Q3ZTN0UFhyMDZMNTkrNVNmT2tUVDRjdUlaenpqT2JHZUkvTmxwSlQ2ZkQ1MlZU
ZWxkR0Jnd09mektUOTFpS1l6bkplbmt3MkViQ0RXdEd1SGVLMXNGL0ZhMHk3aU5Tb2NFYTdJ
MHhuT1cwODMwSFFBUUtJVG1kQUZBZ0dzcDE5QkFuM1Bkd3lSamlIazZhYTBpM2l0YVJmeEdo
VTJBYnY0TXNxNE1MckVsMUdabTllUzJscFNHOS8rQUFCTUlqTDl0T045cEpHNU1EclBsNUZy
TjlOeDlwaXpNb2ZMZWdXcHJkRFJkTGZsTllnM3lwS0kxNXAyTGNqVG1ZaHpLYmVGcG5PRzVj
TG9QRjlHbGFZUEVVSTJFSy9YMnpGRVdIcHVvT2tBZ0VRbk10bjArLzAvL1BDRHorZTdjT0hD
aFFzWGR1M2FwZnpVTHI2TU1pNk16dk5sckgvc01mYmE2L1cyNUt5cUpiVXRPYXVhYzU1cnlW
bFZRV3JwZ1FNVnBIWjV6cXFZdDV1SVBuYUlGL0U2S1Y0YWhTL2pwNTkrMnRUVTFOblorYzQ3
Ny9qOS9pKy8vRkw1cVYxOEdXVmNHSjNueThqWHltdEpiWVh3R0JvYUlrdjJrQ1Y3NHRwSEFJ
QlptQ0d0ZHZGbGxIRmhkSjR2WTRXV3BsZmxQQ2VqNlc1YmYwUzhVWlpFdk5hMGE4MTZ1dTEr
STQzTWhkRjV2b3hjMHkrSnVKZndGMHpLa2FjRDRHRE1VRmRjbjI1Uk1jMlNTazFuOGsyVzdK
bno0RVl1NWNqVHpXc1g4VnJUTHVJMUttd0NidFIwKzhEMW1ndTY4akdFUEIwQVIyT0dETHBS
MCszelBhK3A2Y2pUcldrWDhWclRMdUkxS213Q0R0SDBCUFZsSkV2MnNOZkZLM2FRSlh0VXoz
eDczUHVKWnp6ak9lYlBFZnN5d2o5ZGpYMis1NUduRHlHUHM2cGR4R3ROdS9CbGpDVllUd2NB
SkJDUkNSMzgwOVhZNTNzZWVmb1E4amlyMmtXODFyVHIwanlkWDVuT3R6UTBOT1RsNVNVbkor
Zm01alkwTkZCMytESWlUd2ZBelVTbW4vYjFUMWRxK3JoeDQveCtmeWdVOHZsOEdSa1oxQ1cr
ak1qVGtjZFoxUzdpdGFaZFYxLzNvdFQwa3BJU3Y5L2YwOVBqOC9uS3lzcW9TM3daa2FjRDRH
SWlVMDQ3ZWdNd2xKcCs0TUNCY2VQR0VVTEdqUnQzNE1BQjZnNWZ4cm1MMTdQWFpNbWV1WXZY
cytjNUQyNWtyL24ybUxlYmlENTJpQmZ4T2lsZUdvVXZvMzM5MDVXYVBtM2FOTDcyY3YzMTEx
TjMrRElpVHdmQXpVU21uSW1oNlptWm1YenRaZno0OGRRZHZveGt5WjVMLzk0STYrbVd0NHQ0
cldrWDhSb1ZqZ2c3YXJyS2w1RlNXbDlmNy9GNGtwT1RwMDZkK3VhYmIxSjMrREpxYWpyeWRB
QmNRa3prMUJhYWJoS0ptS2V6L3lLTlBOMzZkaEd2TmUwaVhxUENzUUNhYmlQSWtqM01NQjE1
T2dBdUpES2hzKzkxTHpFbkVmTjBVZE9ScDF2VEx1SzFwbDNFYTFRNEZqaFQweFBYbC9IKzRw
b0tVZ3RmUmp6ajJXM1BFZnN5cW5DbXBqTVNNVThYSDhqVHJXa1g4VnJUTHVJMUttd0NidFIw
bTZCM3VRdlcwd0Z3Q1pFSkhkYlQxZGprZTE1UDA1R25XOU11NHJXbVhjUnJWTmdFN09MTE9E
QXdzSExseXNtVEp5Y2xKYkh0anZkbDdCZ0trNmR6MFk5M1R3RUFwaENaZnRvM1QxZHErcXBW
cTZaUG45N2UzajQ0T01pMk9ONlhzVmJuRWthZXAvTUNzVzNYbW1MeUpaSEhXZE11NHJXbVhX
dnk5SjZlbnZmZWU2K3BxZW5zMmJPcWoreWk2UjZQUi9YZk9oenZ5NmgzV1RwL1ZCaHFPZ0Fn
MFlsTU9abWdIenQyN0x2dnZ0dTllL2Y1OCtlVm45cEYwNU9Ua3g5NTVKSFJvMGQ3UEo0ZE8z
WlFGL2d5VnBCYTdzVkl0SHdabCtlc0l2QmxSTHlJMTRueDBpaDhHZDk5OTEwdTE5OTg4MDFM
UzR2eVU3dG8rb1FKRTN3K0gvTmx2UHJxcTZrTGZCbVJwd1BnY2lKVFRwVldmL25sbDhxM1lU
UjkzNzU5K2ZuNVNVbEpsTklGQ3hiVTFkVkYxZ2xObEpvK2YvNThuOC9IZkJtenM3T3BDM3da
OWFTY3I2Y2JhN3JiMWg4UmI1UWxFYTgxN1Zyanl4ajViNlRYWDMvOXJsMjdtUGgrOWRWWFU2
ZE9qYXdUS2tSZnhxNnVycC84NUNlcHFhbDVlWGxzWWQzeHZveGhMbnE1OGtKMUFJRHppRXcv
by9MYVRVMU5EWVZDVEhiUG5UdVhucDRlV1Nlc3dXRjV1ckdtdXkydlFieFJsa1M4MXJScmQv
LzBPKzY0WS9QbXpZU1FycTZ1QlFzV3pKa3pKN0pPV0FQeWRBQkFBaEdaMEVXbDZWMWRYZmZk
ZDE5NmVucDZldnFjT1hPKy9mYmJ5RHBoRGNqVG95bHA4N3dHOFVaWkV2RmEwNjVMN3lPTk9Z
bm95NmpweGFqNWJJZmU0aG5QZUk3dGM4UytqUGE5anpUbUlFK1BwcVROOHhyRUcyVkp4R3RO
dTVibDZZT0RnNnBGR0lhMnBoTjlvdW1FMldBOUhRQ1FRRVNzZGYzOS9VZU9IUEg1Zk9mUG4y
OXFhbEoraER6ZG9tSmlTZVRwRE9SeDFyU0xlSzFwMTRJOHZiT3pzNldscGEydHJhdXJxNm1w
NmNpUkk4cFA3ZUxMeUZpNWNpWGY2SGhmUnVUcEFMaWN5UFR6bzQ4K1VubThLSW5uMm91cXRy
YTJ0a21USnZHTmp2ZGxSSjdPUUI1blRidUkxNXAyWFgzZGkxTFR1N3U3aTR1TDkrN2R5emM2
M3BjUmVUb0FMc2NNWGJXTHBpOWR1dlRGRjE5VWJuUzhMeU1SSEJuSmxiNk0vRG0yN2NZclhy
MW4rUFloWGhmR1M2UHdaVFJHVjlPWnRscTI5c0wrdlpHeUZjZjdNaUpQQjhEbHhGQk9PWGJK
MDhXTjhHWEVlcnFwN1NKZWE5cEZ2RWFGVFNETzE3Mkl1VDkvQzE5RzVPa0FPQnN6MURXTXBt
L2Z2dDNqOFNnWFJzem9SS3hBbmg1TlNadm5OWWczeXBLSTE1cDI3WjZuVDVnd1lkdTJiZjM5
L1dhMEhYT1Fwd01BRWdnelpEQ01wbWRtWmdZQ0FUTWFOZ1BrNmRHVXRIbGVnM2lqTElsNHJX
blg3bm42czg4K3UzTGx5dTd1YmpQYWppSHdaY1F6bnZHY1dNOFIreklhRTBiVEd4b2FSbzBh
NVRBUEw1dDh6eU5QWnlDUHM2WmR4R3ROdTNiUDA3T3pzeHNhR3JDZWJnWllUd2ZBNVpnaGcy
RTBmZHk0Y1ZoUGowa3hzU1R5ZEFieU9HdmFSYnpXdEd2M1BOMms5WFJ4SmFlK3ZyNndzREEx
TmJXMHRMU2xwWVhDbHhGNU9nQk9KN2E2eWdpajZaWjVBenp3d0FQdDdlM2QzZDJiTm0xaTkv
M0RseEY1dXFudElsNXIya1c4Um9WTndIYmVBQ2RPblBCNFBCUytqTXJIQmhMdnpnSUFZbzha
dWhwRzA1T1Nrc3hvbFNGcStxbFRwOHJMeTNmdTNFbmh5Nmpjdm9IQXh3N3hJbDRueFV1dDky
VmtUSmt5NWV6WnM3RnRrcVBTOU5iV1ZvL0hzMlhMRnZZV3Zvejg0ZlY2NDkxWkFFRHNNVU5Y
dzJqNml5KysrTkJERDEyOGVOR010cFdhWGwxZG5aMmR2WHYzYnI0RnZvejhVVXRxWTlpdU5j
WGtTMks5MVpwMkVhODE3ZHA5UGQyazMwakZPbFZiTGw2OENGOUdZMDBIQUNRNk1aRlRGZkg4
alRUbU9EVlByMENlam5pakxvbDRyV25YN25sNll1SFVQRjFUMHdFQWlZNFpNaGhHMC9mdDI1
ZWZuOCt1Zmxtd1lFRmRYWjBabllnVnlOT2o2YUhOOHhyRUcyVkp4R3ROdTNiUDA2Ky8vdnBk
dTNheEplK3Z2dnBxNnRTcFpuUWllaHp1eS9oK2NkeDdpMmM4NHptMnovSHhaVXhOVFEyRlFr
elR6NTA3bDU2ZUh0dm1ZNHRUOC9RaHI4WTlSMjdMYTZ5TVYzbVRseHZpTmJWZHhHdFUyQVRD
YVBvZGQ5eXhlZk5tUWtoWFY5ZUNCUXZtekpsalJpZGloVlBYMHdrc1g2d0ZOKzRDYXpCREJz
Tm9lbGRYMTMzMzNaZWVucDZlbmo1bnpweHZ2LzNXakU3RUNxZm02WnFhN3JhOEJubDZsQ1Z4
ZksxcDErNTV1a21JVjd2THVEQzYxcGNSZWJyRklFOEgxbUNHdXRyRncwdkdoZEcxdm96STA4
MW9GM202TmUwaVhxUENKcUNyNlI5KytHRmhZV0ZLU2twaFllRkhIMzFrUnR0S1RaZHhZWFN2
THlQeWRHdEJuZzZzd1F4ZDFkWDBvcUtpbDE5K09SQUl2UHp5eXlVbEpXYTByZFIwR1JkRzkv
b3lMdGtESHpzcjQ1MzdkSTZyNG5YYjhiVkR2TlI2WDhiazVPU2VuaDVLYVNnVVVnbG9yRkJx
dW93TG8ydDlHWkduV3d6WlFKQ3FBd3N3UTFkMU5WMHB1TEg5OTBhYTFjcTRNTHJXbHhIcjZX
YTBhN3llempYZERmR2EyaTdpTlNwc0FrYWFya2xNV2hYcmxIRmhkSzB2SS9KMGkwR2VEcXdo
Sm5LcXdvMGVYamI1bmtlZXpyQmhIb2M4UFlZbEVhOVJZUk53bzZiYkJPVHB0Z1Y1T3JBR00y
VFFqWnB1ays5NTVPa01HK1p4eU5OaldCTHhHaFUyQVlkb3VyTjlHWXRYN0loN2IxMzFURGFR
NGczd3dzU3p1Yy94OFdWTUxKQ25SOU5EbStjMXlOT2pMSW5qYTAyN3lOTmpDZGJUUVV6QWVq
cXdCak5rMEkyYWJwUHZlZVRwREJ2bWNjalRZMWdTOFJvVk5nRzdhSHBEUTBOZVhsNXljbkp1
Ym01RFF3T0ZMeVB5OVBpQlBCMVlneGxhYWhkTkh6ZHVuTi92RDRWQ1BwOHZJeU9Ed3BjUmVi
cko3U0pQdDZaZHhHdFUyQVRzb3VrbEpTVit2NytucDhmbjg1V1ZsVkg0TWlKUGp4L0kwNEUx
bUtHbGR0SDBBd2NPakJzM2poQXlidHk0QXdjT1VQZ3l3cGN4ZnZIT2ZUcUhiQ0R1aWRkdHg5
Y084VkxyZlJrdFp0cTBhWHp0NWZycnI2ZndaVVNlSGorUXB3TnJNRU5MN2FMcG1abVpmTzFs
L1BqeEZMNk1XRTgzdVYyc3AxdlRMdUkxS213Q2R0SDArdnA2ajhlVG5KdzhkZXJVTjk5OGs4
S1hFWGw2L0VDZURxekJEQzIxaTZiSEJPVHAwZlRRNW5rTjh2UW9TK0w0V3RNdTh2Ullnandk
eEFUazZjQWF6SkJCTjJxNlRiN25rYWN6YkpqSElVK1BZVW5FYTFUWUJCeWk2ZkJseEhNTW4r
SExpR2NMbnVITEdCN2s2ZEgwME9aNURmTDBLRXZpK0ZyVEx2TDBXSUwxZEJBVHNKNE96RUNj
VkdiSW9CczEzU2JmODhqVEdUYk00NUNueDdBazR1VzRTOU1IQmdaV3JsdzVlZkxrcEtRa1Fn
aUZMeVB5OVBpQlBCMllnYnMwZmRXcVZkT25UMjl2Yng4Y0hHUmI0TXRva3p4ZE5SSGRrTWNo
VDQ5aFNjVExjWmVtZXp3ZW44K24zQUpmUnB2azZjUE5XQjJRNURvZ0JHQkQzS1hweWNuSmp6
enl5T2pSb3owZXo0NGRPeWg4R1ZYYm44NkpWYnZEalpjN0ZFcldSallRMXR2RTllMkRMeVBp
TlNOZTFWbnNjRi9HQ1JNbStIdys1c3Q0OWRWWFUvZ3lxaDV4VEJzSjhuUUFZb0M3OHZUNTgr
ZjdmRDdteTVpZG5VM2h5M2psdyt2MXhxcmQ0UmFySmJYRHE0MFE5aldRdU91dFdFK1BZVW5F
eTNHWHBuZDFkZjNrSno5SlRVM055OHRqQyt2d1pWUStWTUpxSmNOdHVwYlV4ckczTVFGNU9q
QURkMmw2VEhCd25sNGhxS1J0ODNTdTZZbWJ4eUZQajJGSnhNdUJwZzhiQitmcG9xWmJCdkow
QUdJQ05IM1lJRStQcG9kaU1UWUZrYWZIdGwwYnhtdHF1NGlYQTAwZkJvNzNaYXdndFhIbzRZ
Wmlzb0hVRk5jTWE2K2E0cHJhZVBRMnRsSERseEhQTVg4bUc0aHlDM3dadzRNOFBab2Vpc1c4
WGkvWlFOeVdwN01rSFhsNnJFb2lYZzd5OUdHVFFPdnBaQU1aM3ZYcDhiaVZ0SmJVZGd5cE5W
MW1yNFJlVDFkcE9nQ3hBcG8rYkJJb1R6ZlFkTTA4WGRSMEMvSWFwczdHZWJvNFRaR25HMk8z
ZU0xdUYvRnkzS2pwSzFldVpLYU0xT20rakxXa05pSHk5TEJKdDRHbUp5akkwNEZKdUU3VDI5
cmFKazJheERYZDJiNk1CcHB1aHp5ZGlacE1uaTdLTi9KMFkrd1dyOW50SWw2T3V6Uzl1N3U3
dUxoNDc5NjlYTk9kNnN2STlLTEMzbm02Z2Fhck1ORDBCQ1hoOHZRRTZxckxjWmVtTDEyNjlN
VVhYNlNVY2sxM3FpL2ozS2R6dkY3djhweFZaRmkrakl2WFI5bnVzT0psM29xMXBMWWxaMVV0
cVRXb1RmVXAyOUtTczBxK1hidjU5ckhZRThpWGNkblRzNk9KMSt4eHR0dnhqV084N3ZKbFpQ
L2VpRU9kNjh2bzlYcHJTYTNOODNTdjE4djZpVHpkL2lUMGFMc0tkK1hwSEo2bk85V1hrVW1l
Z2FiYllUMmRxL21scmlybUl0YlRvMnczNXZIV2xOVEVzRUw3eDR2MWRHUHNxK2xPOVdXOEpI
bGVXMStmYnFEcFlrbk5mVTN1b0lrZ1R3Y200VkpOajRaRXlkT05GMTdNeTlPTnBjbzRUOWZM
VzVHbkQ3ZGQ1T25XdEd2RGVLSHB3eVloOHZTS2lCYlRvOC9UeVFiQ1ZzbkRacUQ4aXBlS3l3
K0QxTlVaZWJveU9oNXNvcVRxdFlaL1NBRTd3QTRRTkgzWUpFU2VIbGJUVGNyVHVWTHIvUzg2
WGt6VTlGcFN5NzhQVkpleDYybTZxcVFCTW5tY2ZHMURPaU1qYXJSNFBiN3lOZDlpLzd5MXBx
U21ZeWk4cHRzd2J6VzFYVnZGQzAwZk5nbmt5MWhCYXU4dnJpSFNqb3cvUGtmbkZPajFldTh2
cnFrZ3RjWStpOFViaW9jSVlTWFpjL0g3eGJXa2xya3RybG16UmxXbldOdWx2VFlVRDEzMk9J
emV3UzU2bDBSVlQ1VE9pOHg3a250SmNsOUdzZWN4NzFWTW5tdkRIVk83UGNkMzNPTFNPcHM1
OEdVY05oSGs2WkxyeTVLMXlaU01PRThYMDB6TkpRSlZ2c2xMS3ZOdWcrN3hTeTEvWEhqcElN
cUVYVngySDdweUdQbHlEV3VYL1NkVmczRTJ5R3VVRFVXVFQya01GQ0h2bnlxNXRJVVE1WHFS
UVo2dS9NZzQ4VGNJeDR3OFhXYXhLKzU1cTNKbVd0Q3V3ZThsZXNXTWw3Q1FwOGVCQ05iVEkx
ZzJsU3l2Vnl5eXhYU3laTThRdWFLcm9yaUlpcU44aE5WMHhoWEZPb2hLMDFYWHdOVHkyb2hh
MDlueUMxK0gwUnRuWmVjTlFsQlZvaG9INDZPZ1hFM1NmS3U2REYvVjZKWFZhV2k2ekJReWRi
M2JnaDh3WXRKL0EwMDNkWHprMnpLdkc5RDBDTkhVZEhFMFdmN0lQOVhMdlBqNnNuR3hrZzBs
eHZteXF0MncycTJYcHlzbGlXd2dKUnRLaGdoaE9lWVZIUk4wcDJSRFNlMlYwcXdYTDlsQVZC
azZleWczOG5pSCtEVThWOG9mMTNUVzdxV1BpTWJvc2RkelZ1YW94NWFvQTJHMXNYZzFLeEhI
V1huVXZGNnZNbkRXSzdZTXJkUjAxVjZzdlBMNEtvZmE2L1dxZ2xLT2pBcmxlamR0YXhPbmls
NFVNdkpuUVo2dXVWNHZuN2VTeTM4UDhkcFVVWGk5WHRYZm5RYnlLaCtJYWdBMWExWVdNOVow
cFc2b1VQYmM0UGlLQjlvTUdiU0xwdGZYMXhjV0ZxYW1wcGFXbHJhMHROQklmUm5GNFl2eUlV
cWtaaG1aWXBkcTZ4ajJsZWxzbDRyTDBzTTh6VlcvWWZLUEtraHR4eERoWlhoNVBVMVhQcmoy
R1dpNk10NEtoYWIvdU1iaUpVUGVIMXV2VUNxbVlwVkRiSjExbTRVd1JJZ3lMakZleWNPbkdp
dldnUXFkQjZ1V0tRNkxqbTNodncrTHFUM3Z0bkUzVkIzbW9zYUhYWFhDS3dlRVhQbE5veXBE
cnZ5YlEwOUVOQ3ZSSzhEalZmVmZUOHYwWk91S2FhOFlCREdyRUErb2NraFZhaXQ1NkRXNkpI
ZVNSdjlRTmFRM1hSMnU2UTg4OEVCN2UzdDNkL2VtVFp2WWZmK1IrVExXQ2ljOGt4disxdXYx
dm4rcWhGMyt3US9BajFwREx1VmZRNFN3OUVlcElGeHJPb1orVE5QV3JGbkRGWUh0eUI2c0dL
dVFGVDVWVXZLalVBNHJUNytzNmNySC9TVTFldHFrV1pLMU8rUWxReDJLMVFaRlJzeTZwMUx6
UzNzcFpMM21jcnRNZkpYS2UybVFMMzhOOEpMOFU2Nm5iRURZTTgzSk1kQlp2WGlWM3l0SzVX
VUw1V0hsVzI4QTJZSGpoN3VDMUo0cUtSRy9uelFmYkY2cGpydHlickF0YzFibUtLY2ZENEh2
eURieXc4Ry9EbGwwckJpZnQwT0VzRUNVKzdKaUZmeGZtaERpOVhyNW4wMnNKQ3ZEZXNnRmxJ
MWU3WldUbWJ0RXFDUkovRHRNZVI3eEhoNXZ5eEVIdHZieWFQTXZTOTV1N2VWanAvd2VWWjdD
YTlhc3FWVk1BSFdaY09rQUFDQUFTVVJCVlBacDdlV3JzL2c0c3dGa0pWVzVnbkpmZm54NVo3
Z3hCZytmbjcrcUFWVEd5N2ZUbkJ6ZUJHOVhWSGIyVjRzWldtb1hUZWVjT0hIQzQvSFFTSDBa
SldVdWpvK3dtcTZkcDErWkxFZmVya1JWUTFjS3V2R095aStiUzJkNExIb2I1Mk9rMEhRODhJ
aitvVnlsNUJ0ZG9lbW5UcDBxTHkvZnVYTW5qZFNYY1huT3FncFNhL3o4L093L2hTMnpQR2ZW
L1NVMU1heU5sNXo3Umc3cElIUGZ5Q0h5dm93ZFpPNGJPVEZydDRNWXhEdDB1WXplczZwZHNU
YmVXOGtlVnVVOFo4WTRSM044NXo2ZDB6RkVUR3JYaHZHYTJpN2lWYzRyNVJhSCt6SlNTbHRi
V3owZXo1WXRXOWpieUh3WksrTDloUnoyOFdQYU84dzhmY2diVmVZb21hZnJaZWg2KzJwdVNm
UThYV1l0Q0E4OGh2dmdhMktYM2pvN1Q2K3VyczdPenQ2OWV6ZmZFcGt2bzh6SVNxNUV4N1pZ
eFpYcjJnYWFycjJlTGdqbC9TVTF2SUJ5dStiSysxQzRKUlNON3VrOGxQSHFxVHpieU5vTisx
VlVsZk9jR2VPc1BwMnUvRlZBcGtJMmtsRzJhMDI4UXhKZm9pYk41d2ppMWV4dHpOdTFUN3g2
RDRkck9ybVNpeGN2UnVqTEtKeTZvc1pwYm1SWGE0Z2JsU1V2WGE4dDdDc0txMEc3VjBpazhx
MU9lbTdHWStqeVF5TmVpVHlkeDZ2VWRENTZ5bFo0QWQ2VzVsaXBlc0xlaW9majBuWDYzdkRI
VjJQZks3OStyaGp6eXk5VTErT1R5ejlOODdtaG1neWFFMGExVVc5ZWlmSHF6VW4xNElRTHpi
aGRaVzI2N1dyT0RTMGhGa3ZxelN2bHdMSzNlcU1uRHFETThkV04xeXNScjhReDBqdm9tdnVx
bWhpNjhoVDRjYnV6TlQwbVBQWFVVektLVnZKK2lmWEY1RXZPZVhDald1NHRhVGY2WWt3eWRF
dnFSSFFwWHN2SDJhQ1lVaXRqZjN6cmNvd0hoRzIvb2piK3hSTk52Q3QyR0JXNC9QV20wYTZx
REM5NXVjSkxxWURlOGVYeEdqU3RHWVZtNjhwQVlqSXNjck0wa3VNclZGdWhOTm51Y00xMUw5
RWdxZWw0NEdIOHFKQllnOElEaitFK1ZQTUttaDRlaCtUcFlmTWFjOXBGdklnWDhWb1dMNEdt
RzhOOUdVa0hLWDYvR005NHhqT2ViZjRNWDhid0lFOUh2SWdYOFNaRXZBUjV1Z3hZVDhjRER6
d1M1UUZORHcveWRNU0xlQkZ2UXNSTG9PbFUwcGRSYmpUeHdBTVBQT0w3NEpwZS8rQ0QzMy8x
VmF4ME1wRTBYY2FYVVdZb25mRTk3N2E4QnZFaVhpZkZTeFNhN3ZWNDFreWYvc0ZMTC9WMWQw
ZXZrNG1rNlRLK2pKS2ppUWNlZU9BUjM0ZFMwOWxqdy8vNVAzOTc1NTBvZFRLUk5GM1RsL0hv
MGFOUFBQSEVpbVhMSHJ2dnZ2OTc2NjJQTDF6NHhCTlBHRC8vN3Y3N3c1WjVmT0hDMy96bU56
R3NUYjVrMVM5K0VaZDJFUy9pUmJ5V3hmdjR3b1ZNdFpiLzlyYy9hdnF0dC81dHo1NG9kVEtS
TkYzR2wxR21uaSsvL05MNll2SWx1OTkvUHk3dElsNXIya1c4MXJScjgzaVZzTFdYOS8vOFo5
ZXR2Y2o0TXNyVTA5UFRZMzB4K1pJWE5tMktTN3VJMTVwMkVhODE3ZG84WGlYMWl4ZC8zOWs1
M0wzMFNDUk5sL0ZsdEw1WE1hZi83Tmw0ZDhGU0VLK3pRYndXazBpYUhwYjJXUC9IRUFBQVND
d2NwZW1KQWlFazNsMEE1b0pEN0d6c2ZIeWg2U2JDL3IvSHFGR2pwaytmL3R4enovWDM5eHNV
VTg2Uyt2cjZ3c0xDMU5UVTB0TFNscFlXWldIeHhxdXd0MklCa3lDRS9OZC8vUmQvK3gvLzhS
OTZwL3F3amhvT3NVMlFQNzYyT29XaDZTYkNqbkZ2YisvSEgzOTg0NDAzL3R1Ly9Wdll3b3dI
SG5pZ3ZiMjl1N3Q3MDZaTnFpdDh4QnV2d3Q2S0JVeUNFREo3OXV6QndVRkthVzl2YjJscHFk
NDVQNnlqaGtOc0UrU1BMeS9QWDhmeEZJYW1tNGp5R0hkMGRGeDc3YlhpZHMzQ25CTW5Ubmc4
SHVXbjRvMVhZVy9GQWlaQkNQbmpILys0WThjT1N1bm16WnVmZU9JSmZwaFVSMVBtcU9FUTJ3
MzU0MnV3MGZwVEdKcHVJc3BqM052Ym01S1NJbTdYTE13NGRlcFVlWG41enAwN2xSdkZHNjgw
YjhVQ0ZrQUlPWDc4ZUVWRnhlRGdZR2xwNmNtVEovWE8rV0VkTlJ4aW15Qi9mUFUyeHVVVWhx
YWJpUElZSHoxNk5DY25SOXl1V1poUzJ0cmE2dkY0dG16Wm9pb20zbmdWOWxZc1lCTHNrTjEz
MzMyLy8vM3ZmL0dMWDFERlFWUWR6V0VkTlJ4aW15Qi9mRFUzeHVzVWhxYWJDRjlQUDNUbzBP
elpzL2w2ZXRnSlVWMWRuWjJkdlh2M2JyR1llT05WMkZ1eGdFbXdRL2IrKys4VFF2YnQyMGYx
ei9saEhUVWNZcHNnZjN6RmpYRThoYUhwSnNKK0NoODVjaVM3N3FXdnI0OXZGNHNwZnpwWGJi
bDQ4U0xmUmJ6eEt1eXRXTUFreEJOYjc1eVhPV280eEhaRC92amE2aFNHcGdNQWdIT0FwZ01B
Z0hPQXBnTUFnSE9BcGdNQWdIT0FwZ01BZ0hPQXBnTUFnSE9BcGdNQWdIT0FwZ08zWTJ6TUJF
QmlBVTFQWUhwNmVwWXRXM2IxMVZlUEhUdjIrZWVmajNkMzdBNGg1SVVYWHFDR3BxbUEwOTdl
VGdqQi81bVJ3VlpUQzVxZXdDeGZ2dnkrKys3NzVwdHZ2di8rKzBjZmZUVGUzYkU3aEpDQ2dv
TEJ3Y0hwMDZmSC9jU3pQMnZXckJreFlzU2FOV3ZpM1pFRXdGWlRDNXFld0V5Wk1rWDF2OHlW
ODBsNUgvUHk1Y3ZUMDlQTHlzckVZdTZCRUhMTExiZXNXclhxMWx0dlZRNk9hdEJlZnZubDhl
UEhaMlptYnJyOHo0TGRPVngzM0hISGd3OCtlTWNkZDdDM1pXVmw3SDg3TkRjM3o1dzVrMUxh
MXRaV1VGQ1FscGEyWXNVS1l5TVV4eU5PTFRhdlVsSlMrUC9FK1AzdmYvL3JYLythVXZxclgv
MXF5WklsZk1lWWR3YWFuc0FrSnllci9uZVNucWEvOE1JTGdVRGdvWWNlc3JSL05vTVE4c1li
YjR3WU1XTHIxcTJhQThWZXIxKy9QaGdNTmpVMXVka0JNUkFJakJrejVwdHZ2aGt6Wmt3Z0VL
Q1VybDI3bHY4RGgzWHIxbEZLUzBwS05tN2NHQWdFTm0zYTVFNHA1K2hOcmY3Ky9uMzc5azJh
TklsUzJ0ZlhkK2VkZC83aEQzKzQ4ODQ3dWZXVEdVRFRFeGlEUEwydnIwK3A2YjI5dlZaM3pu
NFk2TGp5dFo3Vm1xdG9iR3prL2xPTmpZMlUwblBuem1Wa1pIejU1WmNaR1JuZmZmY2RwVFFs
SlNVWURGSktnOEdnbThlS2FrMm45ZXZYZXp5ZUVTTkdFRUtTa3BMWVIyMXRiWVNRdHJZMlV6
c0RUVTlncXFxcTdydnZ2bE9uVHAwL2Y3NnFxb3BTT21IQ2hOMjdkM2QzZDIvWXNNSGxmdzZM
U0dxNjVtdTNzV1RKRXZhcisvUFBQODhYQ2lvcksyKzQ0WVo1OCtheHQ4WEZ4WC85NjErRHdl
Qi8vdWQvdW5tc3FOYTBTVXRMYTJwcUNnYURQcCtQYlFrR2c2V2xwWGZmZlhkcGFXbDNkN2Q1
bllHbUp6Q2hVT2poaHgrZU1HRUN2KzZsdXJvNkl5TmovUGp4NjlhdE05QjBkNTZCNG9tbmFa
RXFsbmZoY09YbDVSMCtmSmhTZXZqdzRieThQTGF4dWJtWkVOTGMzTXpldHJhMjV1Zm5wNlds
UGY3NDR5TkdqR0FiWFRoV1ZHdmFQUHZzc3hrWkdSa1pHYXRYcjJaYkZpMWF0R0RCQWtycFAv
L3pQeTlldkZqY01WWkEwd0VBa1RNd01QRFdXMjlObno0OTNoMEJsNENtQXdBaWhDMFc1K1hs
L2ZkLy8zZTgrd0l1QVUwSEFBRG5BRTBIQUFEbmtCaWE3czRmWGdBQVlMZ01UOU9KRHBvbGs1
S1Nycm5tbWovODRRL3NJbFlyNmV6c3ZPbW1tMGFPSEhuVFRUZDk5ZFZYRnJkdUdlTDROelEw
ekpneFkrVElrZVhsNWUrOTl4N2JrcGVYbDV5Y25KZVh0MzM3ZHMxNkdob2FQQjVQYW1ycWpU
ZmVlUHo0Y1VycGxpMWJycnZ1dXRUVTFKa3paKzdkdTllYWNNeEdIQzV4U3lnVWV1U1JSN0t6
cy9VbU50VWFaT056SVJIUkM4ZnI5ZktONHJTUnFVYzVWbGxaV1NiMTMyTEVLU0ZLa0l3b2ll
ZWR6SVJVTVh4Tjd4QWVPcG8rT0RoNDh1VEorZlBuLy9HUGY1VHBTZ3laTzNmdWloVXJ1cnU3
VjZ4WVVWbFphWEhyRnFNYy84ckt5bzZPamxBb3RIMzc5b2tUSjFKS016SXlkdTNhRlFxRi9I
NS9Sa2FHWmcxWldWa3RMUzA5UFQwK24rL25QLzg1cFhUdTNMbUhEeC91N3U3ZXNtV0x3MjZu
Tkw2eXM2cXFxcXlzcktPalkzQndVSzhHY1pBZEkrVXFWSEY5OHNrblRGellXM0hhU05iRFdM
Smt5Wk5QUGhuRDNzWVJjVXFJRWlRalN1SjVKek1oVlppbzZlekZ5Wk1uMmEyeEgzNzRZV0Zo
WVVwS1NtRmg0WWNmZnNqSy9PTS8vdU84ZWZOeWMzUFpqUXpzdTBocGtzQTNLbXNXSFRsVVpH
VmxuVDU5bWxKNit2UnBoMG1TaURqK3dXQ3d2cjZlWFY1V1dscmEzTnpjMDlPemUvZHVadE1o
a3BXVnRXZlBIblp5amg4L1h2blJ5Wk1uVTFOVG5YUWJxckdtVDU0OCtkMTMzNVdwUnpuSWhK
Q01qSXowOVBTZi92U25KMDZjaUdGdjQ0dnFMNWlpb3FMWFhudE5xZWw2MDhhZ0hzYjMzMytm
bVpuWjFkVVY4ejdIRWVXVUVDVm9XS0xFenp2NUNja3hYZFA3Ky90VFVsSW9wUVVGQmErKytt
b3dHS3l1cmk0c0xHUmx1Si9ubURGaitMNUtrd1JWYlZUT2tXUEVpQkVEQXdPMzNISkxmMzkv
Y25LeXpFQWtMcXJ4NTMvVkhqeDRrRkxhMnRxYW1abEpDTW5Nek5TN0tibXVydTdhYTY4ZFBY
cjA0NDgvcmh5dWI3Lzl0cUtpd21HT2o4YWFucHljdkdMRml2VDA5SnljbkczYnRobFVvaHhr
eHRtelo2dXFxbTY2NmFhWTl6bGVLRWZtc2NjZSs4VXZmcUhjcURkdGpPdGhyRjY5bXQyQTR4
aFVVMEtVSUhsUlVwNTNraE5TaVhWNWVuSnlNbHRZRHdRQ1RPV0o0czQ5b20rU1FBVk5EK3ZJ
a1pXVmRlYk1HZXJXUEQwUUNHemR1cldvcUloU21wK2Y3L2Y3UTZHUXorY3JLQ2d3cm1ydjNy
MVRwa3hocnc4ZVBKaWJtN3RpeFlxQmdRRXp1aDB2akRVOU16UFQ1L1AxOVBTMHRMUVlyL1lx
QjVuVDNkMmRtcG9hdzk3R0YrWElzTE5TYzUxZE9XM0Mxa01wN2V2cnk4bkpNZHYyeEhxVVUw
S1VJRWxSVXAxMzhoT1NZKzU2K3RkZmYvM0xYLzZTK1VWbzV1bXFaOUVrZ2RjVzlyV1MrKysv
Lzhrbm53eUZRazgrK1NSTExoeU1jaEFXTFZyVTJka1pDb1hxNit2Wm44UGp4bzN6Ky8wOVBU
MjdkdTNTVzArbmxBNE9EaDQ5ZXJTa3BJVDV4dFRVMUZSVVZMQWxNb2Rock9uMzNuc3ZQNFgw
VGp4eGtCay8vUEREcWxXcktpb3FZdC9wT0dHY3JsRmgya2pXVTFkWE4zdjI3RmgxMGc2SVUw
S1VJQmxSRXM4N21RbXB3a1JOVDBwS21qaHg0dTkrOXp2bTFibHYzNzZDZ29MazVPU0NnZ0sr
bnE1NkZrMFN5SlZRT1UwL2NlTEVyRm16MkMveW5aMmRNZ09SaUlpRFUxdGJtNXVibTVLU1Vs
UlU1UGY3S2FWMWRYWHNUNStwVTZmVzE5ZnpIY1Y2c3JPemx5NWRHZ3FGeEpvdlhyeG9lWEN4
UjNNdXFiWWNQMzU4MXF4WktTa3BIbytub2FHQjc2aXNSeHhrdHZ1b1VhTnV2LzMyenovLzNQ
TElZbzg0TXNxUGxHV1UwNGJxVEMxVlBiTm16WkpjUmtnVXhDa2hTcENtS0JrUDE4V0xGelVu
cERGbVhjc0lBQURBZWhMam5pTUQ4QVVEQUFDY2hOZDBBQUFBSEdnNkFBQTRCK3MwWFdaVkJD
c25BQUFRRGRiOVJocERUWWYweXlCemRQUThLSlMySG01QXhvdERMQ1BqcFpQUWlHWWpNa1pB
WWhtSC9kWWxoaVBPQkwyQk1qNnpZdUs4Tkh4Tlg3SkgvWUNtMnhqanNkTDBvRkRaZXJnQlNT
OE9WUmtaTDUyRVJqUWJrVEVDMGl2anNCbWxERWVjQ1pxREVQYk1pb256a2xtYWZ1alFvWmt6
WnlZbkp4UEYxYXdxbjVhalI0L2VmUFBOcWFtcDA2Wk40LzUybE5Lelo4L2VkdHR0bXpkdnBq
b3VNYXJ2U2JHZVdiTm1zZithNkx5N0c0YUw4WWtrZWxDSXRoNXVRTWFMUXl3ajQ2V1QwQmlZ
amNnWUFhbktPR3hHS2NNeG1BbDhFR1RPckpnNEw1bWw2U1VsSmV2V3JlTjNJbEF0bjVieTh2
TFhYMzg5RkFydDJyVnIyclJwckV4SFIwZFpXUmszOEJMdlBxWEM1QkRyMmJwMUt6TUZLeTh2
Mzdselo5aTRISXp4aVNSNlVJaTJIbTVBeG90RExDUGpwWlBRNkptTnlCZ0JpV1VjTnFPVTRl
ak5CT1VneUp4Wk1YRmVNa3ZUVTFKUzJPMmp5bjFWUGkwcEtTazg0MmJ1TG9TUTB0TFM3T3pz
OXZaMlZsSjBpYUhDb0lqMTlQWDFYWGZkZGR1MmJTc29LSkQzcUhRa1lmTjBsUWVGZ2EySGc1
SHg0aERMRE10TEp4SFJOQnVSTVFMU0xPT3c2YVFNUjNNbXFBWmhXR2RXTk01TFptbDZjWEh4
dW5YcmVucDZsUHVxWGxkVVZEUTJOblozZHl1M256bHpac2VPSGJtNXVlenZYTTA4ZmVUSWtV
cEhVN0VlU3Vuenp6K2ZucDZ1WjhickhveG5qNEVIaGNQT1FHTmt2RGpFTXBKZU9vbUxhRFlp
WXdTa1Y4WmhNMG9aampnVERBYktlQnlpZDE0eVM5TS8vdmpqMHRKUzl0VWtSc0plSHp0MjdQ
YmJiMDlMUytOZlhMeE1UVTNOckZtemdzR2c2QkpES1YyMmJCbmJpNzBWNjZHVS92M3ZmOC9L
eXJMK1h5elpCM0lsZktPeWpJRXhqc1BPUUdOa3ZEakVNcHBlT2s1Q05CdFJUU3BtQktRYUtM
R001bFJNWE1Sd3hKbWdPVkI4ZDgzWGZLOG9uWmVjNmZjeU1ERHdsNy84WmRteVpmSHVDQUFB
V0lvejd5TWxoSlNWbGJIVkd3QUFjQS9PMUhRQUFIQW4wSFFBQUhBTzhIc0JBQURua0pCK0ww
QWVHYjhJMGNsRXh2L0VrY2hNYVF3WFEyYXNSQU1UY1l1ckNPdjNvdktOaVdDNGhxM3BRMTcx
QTVwdVp5UU5PbFJPSmpMK0p3N0dlQjVpdUpRWWo1Vm9ZQ0p1Y1E5aC9WNUUzNWdJaHNzc1RU
ZlA3NFU3QnpRM056dlNaTU1rRFB3aVJDY1RHZjhUQnhOV3B6QmNuTEJqcFRJd01iQTBjVFl5
ZmkraWIwd0V3MldXcHB2bjk3SjI3ZHI1OCtkVFN1Zk5tN2R1M1RxWklJR3hYNFRvWkNMamYr
SmdqSFVLdzZYRWVLeEVBeE05U3hQSEkrUDNJdnJHUkRCY1ptbTZlWDR2NTg2ZHk4akkrUExM
THpNeU1yNzc3anVaSUYxT1dMOEkwY2xFeHYvRXdZVE5QVEZjSE1uMVVxV0JpZDRXWnlQajky
TGdJQ1EvWEdacHVxbCtMNVdWbFRmY2NBTnpYZ1RHeVBoRmlFNG1NdjRuRHNaWXB6QmNTc0px
dXNyQVJIT0xxekFZTVUwSG9lRU9sMW1hYnFyZlMzTnpNeUdFT2FRRFkxUlhLR2thZEloT0pn
WStNTTVHODRJdURKY21NbVBGUGhJTlRKUmIzSWFvaEJ3OTM1aGhEWmN6L1Y0QUFNQ2Q0RDVT
QUFCd0R0QjBBQUJ3RHRCMEFBQndEbVpwT2hiWkFRREFlc3o2alJTYWJoUGc5eklzWkg3Mngz
QXhaS1pXUTBQRGpCa3pSbzRjV1Y1ZXp1NFZENFZDanp6eUNMdEYzc0VxSVU0a3BXRHlmKzZx
aWRJVEpvS3BOZnhyR1R2VUQyaTZuWUhmU3dRWXoxNE1GME5tYWxWV1ZuWjBkSVJDb2UzYnQw
K2NPSkZTV2xWVlZWWlcxdEhSNFlaLy9xNDVrWllzV2ZMa2swL3E3YUx5aElsZ2FwbXI2VXJu
RnRIZFplM2F0UjZQaDNuQzREdkFiT0QzSW8veGJNUndxVENZV294Z01GaGZYejk5K25SSzZl
VEprOTk5OTEwTGV4ZFB4SW4wL2ZmZloyWm1kblYxYVpZWFBXRWltRm9tYXJyS3VVVjBkeGt6
Wm96WDYrM282RkRlYmdyTUFINHZ3OEpZMHpGY1NveW5GcjI4NXBDVmxYWHc0RUZLYVhKeThv
b1ZLOUxUMDNOeWNyWnQyMlpoVCtPQU9KRldyMTY5WU1FQ3ZmS2lKMHdFVTh0RVRWYzV0NGp1
TG0rLy9mWTk5OXd6YmRxMHNXUEhQdlBNTXpMZEJSRUF2NWZoRWpaUHgzQXh3azR0UmlBUTJM
cDFhMUZSRWFVME16UFQ1L1AxOVBTMHRMUVlMeXM3QU5WRTZ1dnJ5OG5KWWVaY21vaWVNQkZN
TFJNMVhlWGNJcnE3TUFZR0J2YnUzWnVlbmk3VFhUQmM0UGNTQWNhYWp1Rml5RXl0UllzV2RY
WjJoa0toK3ZwNlpoVjc3NzMzY2sxMy9QY2ZFVzc5bnoxNzlyQjJqR0JxbWY0YktYZHUwWFIz
SVlRd2M0T05HemZLZEJjTUY5VVZTdkI3TVVZMVhIeWpzZ3lHaXlFenRXcHJhM056YzFOU1Vv
cUtpdngrUDZYMCtQSGpzMmJOU2tsSjhYZzhEUTBOOGVtNitXaE9wRm16WnFtV20vU3lCNzQ5
Z3FrRnZ4Y0FBSEFPdUk4VUFBQ2NBelFkQUFDY0F6UWRBQUNjZzlXYXJseDh4MEk4QUFERWxu
aitSZ3BOanptaW1VWkRRME5lWGw1eWNuSmVYdDcyN2RzMTkycG9hUEI0UE95MzllUEhqMnZX
NHhKa1BFekV3WEdEMzRzWXRWSUI5SzQwRjZlZnpJUjBBT0k1SlROSlltSWxOR3hOcnlDMXFn
YzAzVDZJWmhvWkdSbTdkdTBLaFVKK3Y1Ly9oME1WV1ZsWkxTMHRQVDA5UHAvdjV6Ly91V1k5
TGtIR3cwUWNIRGY0dlJoTUNRTURFM0g2eVV4SUJ5Q2VVektUSkNaV1FpWnFPaUZrK2ZMbDZl
bnBaV1ZsZkl1NDltTHNDYU5aRDlCRE5OTW9MUzF0Ym03dTZlblp2WHYzekprek5mZkt5c3Jh
czJjUG0zL3N4aEJYbVhKb1l1QmhJZzZPRy94ZTlLYUVzWUdKT1Axa0pxUURFTThwbVVrU0V5
c2hjelg5aFJkZUNBUUNEejMwa0hLajhuVllUeGk5ZW9BbW9wbEdhMnRyWm1ZbUlTUXpNMVB2
cHVTNnVycHJyNzEyOU9qUmp6LytPUE9VY0pVcGg0aXhoNGs0T0c3d2U5R2JFc1lHSnVMMGs1
bVFEa0E4cDJRbVNVeXNoTXpWZERITlVXbDZXRThZdlhxQUpxS1pSbjUrdnQvdkQ0VkNQcCt2
b0tEQWVQZTllL2RPbVRKRnN4NzNFTmJEUkJ3Y04vaTlhRTZKc0FZbTR2UWIxb1IwQVB5Y2tw
a2tNYkVTTWxmVGpUY1NPVThZTEx2TEk1cHBqQnMzenUvMzkvVDA3TnExeTJENWNuQnc4T2pS
b3lVbEpWVlZWWnIxdUFRWkR4TnhjTnpnOTZJNUpjSWFtSWpUVDNKQ09nRFZPU1V6U1dKaUpX
U2Rwb3VYeXZBQ0JwNHdZajNBQU5GTW82NnV6dVB4TUZPZCt2cDZWa3p6MEdSblp5OWR1alFV
Q21uVzR4SlVzMVRUdzBRY0hEZjR2V2hPaWJBR0p1TDAwNXlRemtNOHB6UW5pV3E0WW1JbEJM
OFhBQUJ3RHJpUEZBQUFuQU0wSFFBQW5BTTBIUUFBbklOMW1qNnN5MlA0UjhicjlWaktCd0FB
SmRiOVJocXgva0xUbzBIR3VRVitMeHlaV2ExbndlSDFlaDA4VnVLd05EUTB6Smd4WStUSWtl
WGw1Znl1YnhYaVdEblM3MFcwQ1JJbmt1U1pxQnFjQ0s1REdiYW0xNUphMVFPYWJtZGtuRnZn
OThLUm1WR2FGaHlmZlBJSk8xM043Vis4VVFaWVdWblowZEVSQ29XMmI5OCtjZUpFemZMaVdE
blM3MFcwQ1JKbmdzdzVwVGM0dHREMHRXdlhlanllNU9Say9pVkRDSG41NVpmSGp4K2ZtWm01
YWRNbVhxRnlkejIvRjJYTnJhMnRCUVVGYVdscFZWVlY3Q094TGNDUmNXNkIzd3VIRUpLUmta
R2VudjdUbi83MHhJa1RtbVZFQzQ1UUtGUlVWUFRhYTY4NWZ2cUpBUWFEd2ZyNit1blRwMnVX
RjhmSzJYNHYzQ1pJbkVneTU1VGU0TmhDMDhlTUdlUDFlanM2T25wNmV2aSs2OWV2RHdhRFRV
MU55bHNUbGJ2citiMG9hNTR4WTBaTlRVMHdHSHpsbFZmWVIySmJnQ1BqM0FLL0Z4Vm56NTZ0
cXFxNjZhYWJORDhWTFRnZWUrd3hkbytmMnpTZFpWRlpXVmtIRHg3VUxDK09sWVA5WGtTYklP
VkVram1uOUFiSEZwcis5dHR2MzNQUFBkT21UUnM3ZHV3enp6ekQ5dTNyNnhPN3FIeXQ1L2Vp
ckRrbEpTVVlERkpLQTRFQSswaHNDM0NHNWR3Q3Z4ZE9kM2QzYW1xcTVrZWlCY2VJRVNPRysv
TlNnaUpHRndnRXRtN2RXbFJVcEZsZUhDdW4rcjNvMlFUeGlTUnpUdWtOamkwMG5URXdNTEIz
Nzk3MDlIU3FyK1BLMTVwK0w1TW1UVkptQVVWRlJTeFByNjZ1VnU2cmJBdHdKSjFiNFBlaTVJ
Y2ZmbGkxYWxWRlJZWG1wd1lXSE00V2RIcGxnSXNXTGVyczdBeUZRdlgxOVd6SlRrUWNLMGY2
dmVqWkJDa25rc3c1cFRjNHR0QjBsckF3VjRlTkd6ZFNMUjBuVjBJcDFmUjcrZXRmLzVxZW5z
N2Y3dCsvUHo4L1B5MHRiZm55NWNwNmxHMEJqcVpOaCtaZjBQQjdvWmVIWXRTb1ViZmZmdnZu
bjMvT055ckxHRmh3T0ZqVHhiTzF0clkyTnpjM0pTV2xxS2pJNy9mellzcTl4TEZ5cE4rTGFu
QXVYcndvVGlTWk0xRWNISEhZd3dLL0Z3QUFjQTY0anhRQUFKd0ROQjBBQUp3RE5CMEFBSnlE
M1RVZGkvVUFBQ0NQM1g4amhhWkhpZWhFSVNLYWN1aFptamdlbVNtTjRXTElqSlZvSmVSSXZ4
ZDVqRTJCeE1FUkJ6QXN3OWIwamlIMUE1cHVaMFFuQ3MweUtsTU9UVXNUOTJBODZ6QmNTb3pI
U3JRU2NxVGZpeVJoVFlIRXdSRUhNQ3htYWJxbTMwdFZWVlZhV3RyMDZkTmJXMXNwcFI5KytH
RmhZV0ZLU2twaFlTRzdYUC9Rb1VNelo4NWtlL0VXS2FWbno1Njk3YmJiTm0vZUxCTVMwSVE3
VVlnZmlhWWM0aFpYRVZhbk1GeWNzR09sc2hKeXR0K0xBVEttUU9MZ2lBTVlGck0wWGRQdnBi
cTZPaGdNMXRUVUZCY1hVMG9MQ2dwZWZmVlZka2RvWVdFaHBiU2twR1RkdW5Yc3RwY2ZXK3pv
S0NzcmEybHBrWWtIYUNJNlVTZ1JUVG5FTGE3Q1dLY3dYRXFNeDBxMEVuS3czNHN4TXFaQTR1
Q0lBeGdXc3pSZDArK0YrYlFFZzBGbWdKQ2NuTXlkVzFKU1VpaWxLU2twZ1VCQTFXSnBhV2wy
ZG5aN2U3dE1QRUJFejRtQ0k1cHlpRnRjUmRqY0U4UEZrVndkNVZaQ1R2VjdDWXVNS1pEQjRQ
QUJESXU1NitrcXZ4ZVdsZGZVMU15WU1ZTnE1ZW5GeGNYcjFxMVQyaXNTUXM2Y09iTmp4NDdj
M0Z6MjV5MFlGbnBPRkVwRVV3NERTeE0zWUt4VEdDNGxZVFZkWlNYa1NMK1hZV0V3WXBxRG94
ckFzSmlsNmV5N1NPWDN3dGJUOC9QejkrL2ZUeW5kdDI5ZlFVRkJjbkp5UVVFQkU1MlBQLzY0
dExTVWZhR3A0cStwcVprMWF4Ykw2NEU4cWl1VUxsNjhTQ1ZNT1F3c1RaeU41Z1ZkR0M1TlpN
YUtmYVMwRW5LazM4dXdVQTZSYXJqMC9GNlVBeGlXQlBqZmRRQUFBQ1NKLy8rWUJnQUFFQ3Zz
Zmg4cEFBQUFlYURwQUFEZ0hPeW82VmlsQVFDQXlERHhOMUpJc3gxb2FHaVlNV1BHeUpFank4
dkwzM3Z2UGMweU1ERGh3QjVISHBteDByTXJNYlk5Y1RCaC9WNVV3eVV6eUNxR3JlbER3Z09h
Ym1jcUt5czdPanBDb2REMjdkc25UcHlvV1FZR0poelk0OGdqTTFhYWRpVmhiVStjU3RqQXhl
R1NHV1FWWm1tNlpoWlBDRm0rZkhsNmVucFpXUm5WOG52aE84cDBIY2dUREFicjYrdW5UNSt1
K1NrTVRFUmdqeU9QOFZpcDdFcGtiRThjaVV6Z0J1NHVCb09zd3RJOG5SRHl3Z3N2QkFLQmh4
NTZpR3JkUjZxM0k0Z0c5aldabFpWMThPQkJ6UUl3TUZFQmV4eDVqTWRLdEN1UnNUMXhKREtC
NjdtN0dBK3lDcXMxWGZrOUkvcTk2TzBJb2lRUUNHemR1cldvcUVqelV4aVlLSUU5amp4aHg0
ckQ3VXBrYkU4Y3liQUNWN3E3eUE4eXcwUk5Iemx5NUlrVEoxUzdLOThpVDdlQVJZc1dkWFoy
aGtLaCt2cDZQYTlPR0pod1lJOGpqOHhZVVgyN0V0ZWU1c2FCcTRaTGNwQ1ZtS2pweTVZdFMw
dExVNjJuS3d1SWZpOFJXQTRBWTJwcmEzTnpjMU5TVW9xS2l2eCtQOXVvR2xzWW1IQlVNeEQy
T0FiSWpCWDdTTk91eExVbnVJRWtpc09sT2NqRzJQMS8xd0VBQUpESGp2Y2NBUUFBaUF4b09n
QUFPQWRvT2dBQU9BZTdhem9XNndFQVFCNjcrNzFBMDZORTVuZHNHSmh3TUZ6eXlJeFZRME5E
WGw1ZWNuSnlYbDdlOXUzYkpmZHlBR0tZa3NPbDhudUpZTGlHcmVsZUFXaTYvVEVlUmhpWXFN
Qnd5V004VmhrWkdidDI3UXFGUW42L1gvbmZSMTF5WG90aEdnZXVhWThUZGk4VlptbTZtTVVU
NGFyTXNyS3lscFlXU21semMvUE1tVE9wbGdNTUszbjI3Tm5iYnJ0dDgrYk44b0VCSldGbkVn
eE1sR0M0NURFZXE5TFMwdWJtNXA2ZW50MjdkN056WEdZdnh4Q0JwbXY2dmRoQzA4VitpSnEr
ZHUzYStmUG5VMHJuelp1M2J0MDZxblZuS1NHa282T0RxeitJRE9NNUFRTVRGUmd1ZVl6SHFy
VzFOVE16a3hDU21abloxdFltdVpkakdLNm02L205MkYzVCsvcjYyT3R6NTg1bFpHUjgrZVdY
R1JrWjMzMzNIZFZ5Z0NHRWxKYVdabWRudDdlM3kwY0ZWSVRORG1CZ29nVERKWS94V09YbjUv
djkvbEFvNVBQNUNnb0tKUGR5RE1QVmRJN1M3MFYrTDRhSm1xN3llNWt3WWNMdTNidTd1N3Mz
Yk5qQWQ2bXNyTHpoaGh2bXpadkgzbXJtNldmT25ObXhZMGR1Ymk3Ny9Nd0ZwZ0FBQ0haSlJF
RlU4eFpFZ1BHY2dJR0pDZ3lYUE1aak5XN2NPTC9mMzlQVHMydlhMcXluYTI1Um9XbVBZeGRO
Vi9tOVZGZFhaMlJrakI4L2Z0MjZkWHhqYzNNeklhUzV1Wm05MVhTQVlSL1YxTlRNbWpXTFpm
RkFIbklsZktPeURBeE1PQmd1ZVdUR3FxNnV6dVB4akJneFl1clVxZlgxOVhwN09ROHhUSm5o
WWg4WitMM0lOQTIvRndBQWNBNTJ2K2NJQUFDQVBOQjBBQUJ3RHRCMEFBQndEdFpwT3BiZEFR
REFiS3o3alJTYWJnRjZSOFRnOGlUcVlsTU9FZVdzenNySzBpeWo1KzVpUE1pSnpwWXRXNjY3
N3JyVTFOU1pNMmZ1M2J1WFV0clEwREJqeG95UkkwZVdsNWUvOTk1N21udUpFMG1zeHdHSVo1
RG8zQ0lUZUdTRHJHTDRtcjVCZUVEVGJZWnFxRC81NUpQczdHeUQ4WGU1S1ljbVM1WXNlZkxK
SnpVLzBuUjNDVHZJaWM3Y3VYTVBIejdjM2QyOVpjc1dkbDlWWldWbFIwZEhLQlRhdm4zN3hJ
a1REZlpWRG90WWp3TVF6eURSdVVVbThHZ0dtV09XcGlzMzhzc3pYMzc1NWZIangyZG1abTdh
dEVtekRIdXhmUG55OVBUMHNySXlldmw3UGlVbHBiUzBGUFlBa2lnSE5oUUtGUlVWdmZiYWF3
Wnk0M0pURHBIdnYvOCtNek96cTZ0TDgxUFIzVVZta0IzRHlaTW5VMU5UZTN0NzJkdGdNRmhm
WHo5OStuU0RYVFNIUlZWUFFpT2VRWHJPTFZRdThBZ0dtV09wcHE5ZnZ6NFlERFkxTmJFelFV
L1RYM2poaFVBZzhOQkREL0ZQKy92NzkrM2JOMm5TSkptUWdISmdIM3ZzTVhabm80SGN1TnlV
UTJUMTZ0VUxGaXpRKzFSMGQ1RVpaR2Z3N2JmZlZsUlVQUHJvbyt3dFg2UTZlUENnd1Y3aXNL
anFTWFRFTTBqUHVVVW04TWdHbVdPNnBuTjNGMEpJWDErZjhsT3hETnVvL0FaYnYzNDl1dytO
RUpLVWxDUVRFbEFlRVRaMHh1dmpMamZsVU5IWDE1ZVRrNlA4YmxNaHVydklETElET0hqd1lH
NXU3b29WS3dZR0J2akdRQ0N3ZGV2V29xSWlneDFWWTZKWlQwS2pkd2JSSzUxYlpBS1BlSkE1
Wm1tNjZPNGladVdhRGpDcTJ0TFMwcHFhbW9MQm9NL25jL0RaRWx2Qy91V2t3dVdtSENycTZ1
cG16NTV0VU1EQTNjWEJJMVpUVTFOUlVjRWNPeGlMRmkzcTdPd01oVUwxOWZXcTVRVVZ5bUVS
NjNFQW1tZVF5cmxGSnZCb0JwbGpscWFMN2k2aXBtczZ3S2hxZS9iWlp6TXlNakl5TWxhdlh1
M2dFeVpXa0N0UmZhVDVtcnJZbEVPVFdiTm1iZHUyVGJsRk5RSUc3aTRPSGl2VmxMaDQ4V0p0
YlcxdWJtNUtTa3BSVVpIZjcrZkZEUGJTckNjT3djUWF2VFBJd0xtRkJXNDhYSHFEYkF6OFhn
QUF3RG5nUGxJQUFIQU8wSFFBQUhBTzBIUUFBSEFPMEhRQWJJM2RmcStLcGo5Mmk4V1JRTk1C
MENCaTlZbTViQmxVR0gxYi9KNVlTdW1wVTZmMExHNWtHcFc1YmtLbXc1cWVKeXJ2RklQVytS
WVpweFRSdWtmUHpNZTRMWm1yUmNTNHhMYkVlaUt3eDRHbUE2Q0JTelQ5NXB0dmZ1Kzk5eVpQ
bmp4bHlwUjMzMzNYK01KODQwWmxPaU5UUnZROEViMVRaT3FYY1VvUnJYczB6WHdrWXpHT1Rv
eExyeTFsUFJIWTQwRFRBZEJBODR3bFYxb1ByVjI3MXVQeEpDY244OXhLNWdKZlZYN0hucXVx
cXRMUzBxWlBuOTdhMmtvcGJXMXRMU2dvU0V0THE2cXFVdGFzYkYxczYralJvemZmZkhOcWF1
cTBhZE40Wm1vc05Jc1dMVnE5ZXZYVXFWTTlIcythTldzV0wxNnNXWS9ZSDVrUkUrc2hoQ3hm
dm56MDZORThVZ080NTRtQmQwcllQcWljVWxRRlJPc2VjWXRtdFpvYkpiOWlsWEdKYmVuVkky
K1BBMDBIUUFPOTgxTnBQVFJtekJpdjE5dlIwZEhUMHhOMlI4MENYSytycTZ1RHdXQk5UVTF4
Y1RHbGRNYU1HVFUxTmNGZzhKVlhYbEdXVnhrZnFkb3FMeTkvL2ZYWFE2SFFybDI3cGsyYkpo
UG02dFdyYjd6eHhubno1bFZXVnQ1NDQ0MXIxcXpSckVldlA2cTRWRjh6WWozS1NJM3ZkRmQ2
bnVoNXAyajJRZXlTZ1ZPS2FOMGpicEZzUzNPTGNWeDZiWW4xRE1zZUI1b09nQWJpZVNWYUQ3
Mzk5dHYzM0hQUHRHblR4bzRkKzh3enoranRxRmV6MGdvcEdBeFNTb1BCWUdwcUtxVTBKU1dG
YlFrRUFxeU1wdkdScXEyVWxCUXVxWkxtU0R0MjdFaEtTbnJwcFpmKy9PYy9KeVVsN2R5NVU3
TWVzVDh5SXliV0kwYXFpWjR2aXRJN1JiSVB4azRwb25XUHVFVytyYkNIWGhXWFhsdXFlb1py
andOTkIwQUQ4ZnpVc3g0YUdCall1M2R2ZW5vNmV6dHk1TWdUSjA0WTFLeHBoZlRxcTYreTdI
WEdqQm1VMHFLaUlwWVhWMWRYc3pLYXJhdmFxcWlvYUd4czdPN3VsZy96MkxGamhKQURCdzU4
OU5GSGhCQW1BbUk5WW45RXhPMWlQY3BJMlY4a0lwcStLQ3J2RkQyVWZaQnhTaEd0ZXd6TWZN
TEdhNnpwWWx4NmJTbnJpY0FlQjVvT2dBYmlTb0pvUGNRK1lpNGZHemR1WkRzdVc3WXNMUzNO
NFBUV3RFSmk2K241K2ZuNzkrK25sTzdmdno4L1B6OHRMVzM1OHVWNnJZdHRIVHQyN1BiYmIy
ZGIrRVpqb2VudDdSMHpaa3hQVDA4b0ZCb3paZ3h6VGhYckVmdWpPV0txTFdJOXlrajExdE5W
STMveDRrWDJRdW1kRW5ZdlNxbU1IWTFvM2FOcDVxUGFTMnhMM0NJVGw5aFcySnBsN0hHZzZR
REVHV1BaQldCWVFOTUJpRFBRZEJCRG9Pa0FBT0Fjb09rQUFPQWNvT2tBQU9BY29Pa0FBT0Fj
b09rZ01XaHNiR3hxYXVydjcyOXFhbXBzYkpUY3hmaFR2UUtCUU1EbjgybVdOOWdMQURzQVRR
ZUpRV05qNC92dnYvL1paNTk5OE1FSHNWSlZ2WG9PSFRva2ZnUXBCd2tCTkIwa0JvMk5qY2VP
SGZQNy9jZU9IZVB5cW5yUjJOalkzdDd1OS91UEhqMnF0MUZWcDlqUUR6LzgwTnpjcktucGZy
OS96NTQ5cDA2ZGltbGtBTVFTYURwSURCb2JHOCtkTzhlZitVYmxpOGJHeHUrKyt5NFFDTEQ3
QmpVM3F1b1VHL3I0NDQrUEh6K3UrZEhnNE9DcFU2ZDI3OTRkdTdBQWlESFFkSkFZTkRZMkRn
NE92dlBPTzRPRGcxeHcvWDUvSUJEZ0tpOUt2TGhSVmFkbVEzcnI1b09EZzJmT25JR21BenNE
VFFlSmdWSmgrZXVqUjQvNi9mNzI5dllJTkYwbDNPS240b3ZHeHNZOWUvWjg4ODAzc1F3TWdK
Z0NUUWNBQU9jQVRRY0FBT2NBVFFjQUFPY0FUUWNBQU9jQVRRY0FBT2NBVFFjQUFPZndvNmEz
dHJhK0FRQUFJUEVoRUhRQUFIQU0veC9PYmg1MWt3QkRHZ0FBQUFCSlJVNUVya0pnZ2c9PSIg
Lz48L3A+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OiAycHggc29saWQgIzMyNUZC
QTsgcGFkZGluZy1sZWZ0OiA1cHg7bWFyZ2luLWxlZnQ6NXB4OyI+LS0tLS1VcnNwciZ1dW1s
O25nbGljaGUgTmFjaHJpY2h0LS0tLS08YnIgLz48c3Ryb25nPkFuOjwvc3Ryb25nPglLb25y
YWQgUnplc3p1dGVrIFdpbGsgJmx0O2tvbnJhZC53aWxrQG9yYWNsZS5jb20mZ3Q7OyA8YnIg
Lz48c3Ryb25nPkNDOjwvc3Ryb25nPglTYW5kZXIgRWlrZWxlbmJvb20gJmx0O2xpbnV4QGVp
a2VsZW5ib29tLml0Jmd0OzsgeGVuLWRldmVsICZsdDt4ZW4tZGV2ZWxAbGlzdHMueGVuc291
cmNlLmNvbSZndDs7IEphbiBCZXVsaWNoICZsdDtqYmV1bGljaEBzdXNlLmNvbSZndDs7IEtv
bnJhZCBSemVzenV0ZWsgV2lsayAmbHQ7a29ucmFkQGRhcm5vay5vcmcmZ3Q7OyA8YnIgLz48
c3Ryb25nPlZvbjo8L3N0cm9uZz4JQ2Fyc3RlbiBTY2hpZXJzICZsdDtjYXJzdGVuQHNjaGll
cnMuZGUmZ3Q7PGJyIC8+PHN0cm9uZz5HZXNlbmRldDo8L3N0cm9uZz4JRGkgMjguMDIuMjAx
MiAxNTozOTxiciAvPjxzdHJvbmc+QmV0cmVmZjo8L3N0cm9uZz4JUmU6IFtYZW4tZGV2ZWxd
IExvYWQgaW5jcmVhc2UgYWZ0ZXIgbWVtb3J5IHVwZ3JhZGUgKHBhcnQyKTxiciAvPjxzdHJv
bmc+QW5sYWdlOjwvc3Ryb25nPglpbmxpbmUudHh0PGJyIC8+PHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4uYm9keWNsYXNzIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfTwvc3R5bGU+ICAg
ICAgICAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gICAgICAgLmJvZHljbGFzcyAg
ICAgICB7ICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBTYW5zLVNlcmlm
ICEgaW1wb3J0YW50OyAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgICAgICAgICBwYWRkaW5n
OiA1cHggNXB4IDVweCA1cHg7ICAgICAgICAgbWFyZ2luOiAwcHg7ICAgICAgICAgYm9yZGVy
LXN0eWxlOiBub25lOyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7ICAgICAg
IH0gICAgICAgIHAsIHVsLCBsaSAgICAgICB7ICAgICAgICAgbWFyZ2luLXRvcDogMHB4OyAg
ICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgICAgICAgfSAgIDwvc3R5bGU+ICA8ZGl2Pjxw
PldlbGwgbGV0IG1lIGNoZWNrIGZvciBhIGxvbmdlciBwZXJpb2Qgb2YgdGltZSwgYW5kIGVz
cGVjaWFsbHksIHdoZXRoZXIgdGhlIERvbVUgaXMgc3RpbGw8L3A+PHA+d29ya2luZyAoY2Fu
IGRvIHRoYXQgb25seSBmcm9tIGF0IGhvbWUpLCBidXQgbG9hZCBsb29rcyBwcmV0dHkgd2Vs
bCBhZnRlciBhcHBseWluZyB0aGU8L3A+PHA+cGF0Y2ggdG8gMy4yLjggOi1ELjwvcD48cD4m
bmJzcDs8L3A+PHA+QlIsPC9wPjxwPkNhcnN0ZW4uPGJyIC8+Jm5ic3A7PC9wPjxibG9ja3F1
b3RlIHN0eWxlPSJib3JkZXItbGVmdDogMnB4IHNvbGlkICMzMjVGQkE7IHBhZGRpbmctbGVm
dDogNXB4O21hcmdpbi1sZWZ0OjVweDsiPi0tLS0tVXJzcHImdXVtbDtuZ2xpY2hlIE5hY2hy
aWNodC0tLS0tPGJyIC8+PHN0cm9uZz5Bbjo8L3N0cm9uZz4JSmFuIEJldWxpY2ggJmx0O0pC
ZXVsaWNoQHN1c2UuY29tJmd0OzsgPGJyIC8+PHN0cm9uZz5DQzo8L3N0cm9uZz4JS29ucmFk
IFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWRAZGFybm9rLm9yZyZndDs7IHhlbi1kZXZlbCAm
bHQ7eGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb20mZ3Q7OyBDYXJzdGVuIFNjaGllcnMg
Jmx0O2NhcnN0ZW5Ac2NoaWVycy5kZSZndDs7IFNhbmRlciBFaWtlbGVuYm9vbSAmbHQ7bGlu
dXhAZWlrZWxlbmJvb20uaXQmZ3Q7OyA8YnIgLz48c3Ryb25nPlZvbjo8L3N0cm9uZz4JS29u
cmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWQud2lsa0BvcmFjbGUuY29tJmd0OzxiciAv
PjxzdHJvbmc+R2VzZW5kZXQ6PC9zdHJvbmc+CUZyIDE3LjAyLjIwMTIgMTY6MTg8YnIgLz48
c3Ryb25nPkJldHJlZmY6PC9zdHJvbmc+CVJlOiBbWGVuLWRldmVsXSBMb2FkIGluY3JlYXNl
IGFmdGVyIG1lbW9yeSB1cGdyYWRlIChwYXJ0Mik8YnIgLz5PbiBUaHUsIEZlYiAxNiwgMjAx
MiBhdCAwODo1Njo1M0FNICswMDAwLCBKYW4gQmV1bGljaCB3cm90ZTo8YnIgLz4mZ3Q7ICZn
dDsmZ3Q7Jmd0OyBPbiAxNS4wMi4xMiBhdCAyMDoyOCwgS29ucmFkIFJ6ZXN6dXRlayBXaWxr
ICZsdDtrb25yYWQud2lsa0BvcmFjbGUuY29tJmd0OyB3cm90ZTo8YnIgLz4mZ3Q7ICZndDtA
QCAtMTU1MCw3ICsxNTUyLDExIEBAIHN0YXRpYyB2b2lkICpfX3ZtYWxsb2NfYXJlYV9ub2Rl
KHN0cnVjdCB2bV9zdHJ1Y3QgKmFyZWEsIGdmcF90IGdmcF9tYXNrLDxiciAvPiZndDsgJmd0
OyAJc3RydWN0IHBhZ2UgKipwYWdlczs8YnIgLz4mZ3Q7ICZndDsgCXVuc2lnbmVkIGludCBu
cl9wYWdlcywgYXJyYXlfc2l6ZSwgaTs8YnIgLz4mZ3Q7ICZndDsgCWdmcF90IG5lc3RlZF9n
ZnAgPSAoZ2ZwX21hc2sgJmFtcDsgR0ZQX1JFQ0xBSU1fTUFTSykgfCBfX0dGUF9aRVJPOzxi
ciAvPiZndDsgJmd0Oy08YnIgLz4mZ3Q7ICZndDsrCWdmcF90IGRtYV9tYXNrID0gZ2ZwX21h
c2sgJmFtcDsgKF9fR0ZQX0RNQSB8IF9fR0ZQX0RNQTMyKTs8YnIgLz4mZ3Q7ICZndDsrCWlm
ICh4ZW5fcHZfZG9tYWluKCkpIHs8YnIgLz4mZ3Q7ICZndDsrCQlpZiAoZG1hX21hc2sgPT0g
KF9fR0ZQX0RNQSB8IF9fR0ZQX0RNQTMyKSk8YnIgLz4mZ3Q7IDxiciAvPiZndDsgSSBkaWRu
JiMzOTt0IHNwb3Qgd2hlcmUgeW91IGZvcmNlIHRoaXMgbm9ybWFsbHkgaW52YWxpZCBjb21i
aW5hdGlvbiwgd2l0aG91dDxiciAvPiZndDsgd2hpY2ggdGhlIGNoYW5nZSB3b24mIzM5O3Qg
YWZmZWN0IHZtYWxsb2MzMigpIGluIGEgMzItYml0IGtlcm5lbC48YnIgLz4mZ3Q7IDxiciAv
PiZndDsgJmd0OysJCQlnZnBfbWFzayAmYW1wOz0gKF9fR0ZQX0RNQSB8IF9fR0ZQX0RNQTMy
KTs8YnIgLz4mZ3Q7IDxiciAvPiZndDsgCQkJZ2ZwX21hc2sgJmFtcDs9IH4oX19HRlBfRE1B
IHwgX19HRlBfRE1BMzIpOzxiciAvPiZndDsgPGJyIC8+Jmd0OyBKYW48YnIgLz48YnIgLz5E
dWghPGJyIC8+R29vZCBleWVzLiBUaGFua3MgZm9yIGNhdGNoaW5nIHRoYXQuPGJyIC8+PGJy
IC8+Jmd0OyA8YnIgLz4mZ3Q7ICZndDsrCX08YnIgLz4mZ3Q7ICZndDsgCW5yX3BhZ2VzID0g
KGFyZWEtJmd0O3NpemUgLSBQQUdFX1NJWkUpICZndDsmZ3Q7IFBBR0VfU0hJRlQ7PGJyIC8+
Jmd0OyAmZ3Q7IAlhcnJheV9zaXplID0gKG5yX3BhZ2VzICogc2l6ZW9mKHN0cnVjdCBwYWdl
ICopKTs8YnIgLz4mZ3Q7ICZndDsgPGJyIC8+Jmd0OyA8YnIgLz48YnIgLz5fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciAvPlhlbi1kZXZlbCBt
YWlsaW5nIGxpc3Q8YnIgLz5YZW4tZGV2ZWxAbGlzdHMueGVuc291cmNlLmNvbTxiciAvPmh0
dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1kZXZlbDxiciAvPjwvYmxvY2txdW90ZT48
L2Rpdj4gICA8L2Jsb2NrcXVvdGU+PC9kaXY+ICAgPC9ibG9ja3F1b3RlPjxwPiZuYnNwOzwv
cD4gPGhyIHNpemU9IjEiIG5vc2hhZGU9Im5vc2hhZGUiIC8+RS1NYWlsIGlzdCB2aXJlbmZy
ZWkuPGJyIC8+IFZvbiBBVkcgJnV1bWw7YmVycHImdXVtbDtmdCAtIDxhIHRpdGxlPSJEaWVz
ZXIgZXh0ZXJuZSBMaW5rIHdpcmQgaW4gZWluZW0gbmV1ZW4gRmVuc3RlciBnZSZvdW1sO2Zm
bmV0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5hdmcuZGUiPnd3dy5hdmcu
ZGU8L2E+PGJyIC8+IFZlcnNpb246IDIwMTIuMC4yMTI3IC8gVmlyZW5kYXRlbmJhbms6IDI0
MTEvNDkzMiAtIEF1c2dhYmVkYXR1bTogMTIuMDQuMjAxMjwvZGl2PiAgIDwvYmxvY2txdW90
ZT4KPC9ib2R5Pgo8L2h0bWw+
--=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d--



--===============1809693732979586600==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1809693732979586600==--



From xen-devel-bounces@lists.xen.org Fri May 11 09:38:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 09:38:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSmId-0001tt-Da; Fri, 11 May 2012 09:38:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <carsten@schiers.de>) id 1SSmIb-0001tj-Ar
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 09:38:10 +0000
Received: from [85.158.139.83:55555] by server-9.bemta-5.messagelabs.com id
	88/06-09826-00EDCAF4; Fri, 11 May 2012 09:38:08 +0000
X-Env-Sender: carsten@schiers.de
X-Msg-Ref: server-14.tower-182.messagelabs.com!1336729082!23566658!1
X-Originating-IP: [194.117.254.36]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	FROM_EXCESS_QP,HTML_MESSAGE
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20047 invoked from network); 11 May 2012 09:38:03 -0000
Received: from www.zeus06.de (HELO mail.zeus06.de) (194.117.254.36)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 09:38:03 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=mail.zeus06.de; h=subject
	:from:to:cc:date:mime-version:content-type:in-reply-to
	:references:message-id; s=beta; bh=5Pko0iUfb3F2TVDcLJq8K6AchjHgz
	vNIYOBOuyJVHSE=; b=rzSg+gfZM9p9WI0ZsnRwR4se6VCB4JwXzP7B1s9ihU1Ul
	h4VD9qIUhzQEL56ioe88N9d7OoCK+0w9ErUruet824QGigXsIO4d75X0C1L9HZd3
	EKl5QyHPwnUU/cDKo7jwF+HQHMOgYvlLfhjAFZjtOtR3mRw68w4LVDGXhNMnDk=
Received: (qmail 30756 invoked from network); 11 May 2012 11:37:53 +0200
Received: from unknown (HELO uhura.zz) (l3s6271p1@84.46.27.13)
	by mail.zeus06.de with ESMTPA; 11 May 2012 11:37:53 +0200
Received: from localhost (localhost [127.0.0.1])
	by uhura.zz (Postfix) with ESMTP id 97A8F2C575;
	Fri, 11 May 2012 11:39:20 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at schiers.de
Received: from uhura.zz ([127.0.0.1])
	by localhost (uhura.space.zz [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id o908giwQewg3; Fri, 11 May 2012 11:39:09 +0200 (CEST)
Received: from uhura.space.zz (localhost [127.0.0.1])
	by uhura.zz (Postfix) with ESMTP id 0AE9E2C574;
	Fri, 11 May 2012 11:39:09 +0200 (CEST)
From: =?utf-8?Q?Carsten_Schiers?= <carsten@schiers.de>
To: =?utf-8?Q?Konrad_Rzeszutek_Wilk?= <konrad.wilk@oracle.com>
Date: Fri, 11 May 2012 11:39:08 +0200
Mime-Version: 1.0
In-Reply-To: <zarafa.4f4e2069.413c.75dd1c180ec000b7@uhura.space.zz>
References: <zarafa.4f4e2069.413c.75dd1c180ec000b7@uhura.space.zz>
X-Priority: 3 (Normal)
X-Mailer: Zarafa 7.0.6-32752
Message-Id: <zarafa.4facde3c.0774.52df3a5311f718f3@uhura.space.zz>
Cc: =?utf-8?Q?Konrad_Rzeszutek_Wilk?= <konrad@darnok.org>,
	=?utf-8?Q?xen-devel?= <xen-devel@lists.xensource.com>,
	=?utf-8?Q?Jan_Beulich?= <jbeulich@suse.com>,
	=?utf-8?Q?Sander_Eikelenboom?= <linux@eikelenboom.it>
Subject: Re: [Xen-devel] Load increase after memory upgrade (part2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1809693732979586600=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format. Your mail reader does not
understand MIME message format.
--===============1809693732979586600==
Content-Type: multipart/alternative; 
 boundary="=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d"

This is a multi-part message in MIME format. Your mail reader does not
understand MIME message format.
--=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Konrad,=0D=0A=0D=0A=C2=A0=0D=0Adon't want to be pushy, as I have no re=
al issue. I simply use the Xenified kernel or take the double load.=20=0D=
=0A=0D=0ABut I think this mistery is still open. My last status was that =
the latest patch you produced resulted in a BUG,=20=0D=0A=0D=0Aso we stil=
l have not checked whether our theory is correct.=0D=0A=0D=0A=C2=A0=0D=0A=
BR,=0D=0A=0D=0ACarsten.=0D=0A=C2=A0=0D=0A-----Urspr=C3=BCngliche Nachrich=
t-----=0D=0AVon:Carsten Schiers <carsten@schiers.de>=0D=0AGesendet:Mi 29.=
02.2012 14:01=0D=0ABetreff:Re: [Xen-devel] Load increase after memory upg=
rade (part2)=0D=0AAnlage:debug.log, inline.txt=0D=0AAn:Konrad Rzeszutek W=
ilk <konrad.wilk@oracle.com>;=20=0D=0ACC:Sander Eikelenboom <linux@eikele=
nboom.it>; xen-devel <xen-devel@lists.xensource.com>; Jan Beulich <jbeuli=
ch@suse.com>; Konrad Rzeszutek Wilk <konrad@darnok.org>;=20=0D=0A=20=0D=0A=
=0D=0AI am very sorry. I accidently started the DomU with the wrong confi=
g file, thus it's clear why there is no difference=0D=0A=0D=0Abetween the=
 two. And unfortunately, the DomU with the correct config file is having =
a BUG:=0D=0A=0D=0A=C2=A0=0D=0A=0D=0A=0A [   14.674883] BUG: unable to han=
dle kernel paging request at ffffc7fffffff000 [   14.674910] IP: [<ffffff=
ff811b4c0b>] swiotlb_bounce+0x2e/0x31 [   14.674930] PGD 0  [   14.674940=
] Oops: 0002 [#1] SMP  [   14.674952] CPU 0  [   14.674957] Modules linke=
d in: nfsd exportfs nfs lockd fscache auth_rpcgss nfs_acl sunrpc tda10023=
 budget_av evdev saa7146_vv videodev v4l2_compat_ioctl32 videobuf_dma_sg =
videobuf_core budget_core snd_pcm dvb_core snd_timer saa7146 snd ttpci_ee=
prom soundcore snd_page_alloc i2c_core pcspkr ext3 jbd mbcache xen_netfro=
nt xen_blkfront [   14.675057]  [   14.675065] Pid: 0, comm: swapper/0 No=
t tainted 3.2.8-amd64 #1   [   14.675079] RIP: e030:[<ffffffff811b4c0b>] =
 [<ffffffff811b4c0b>] swiotlb_bounce+0x2e/0x31 [   14.675097] RSP: e02b:f=
fff880013fabe58  EFLAGS: 00010202 [   14.675106] RAX: ffff880012800000 RB=
X: 0000000000000001 RCX: 0000000000001000 [   14.675116] RDX: 00000000000=
01000 RSI: ffff880012800000 RDI: ffffc7fffffff000 [   14.675126] RBP: 000=
0000000000002 R08: ffffc7fffffff000 R09: ffff880013f98000 [   14.675137] =
R10: 0000000000000001 R11: ffff880003376000 R12: ffff8800032c5090 [   14.=
675147] R13: 0000000000000149 R14: ffff8800033e0000 R15: ffffffff81601fd8=
 [   14.675163] FS:  00007f3ff9893700(0000) GS:ffff880013fa8000(0000) knl=
GS:0000000000000000 [   14.675175] CS:  e033 DS: 0000 ES: 0000 CR0: 00000=
0008005003b [   14.675184] CR2: ffffc7fffffff000 CR3: 0000000012683000 CR=
4: 0000000000000660 [   14.675195] DR0: 0000000000000000 DR1: 00000000000=
00000 DR2: 0000000000000000 [   14.675205] DR3: 0000000000000000 DR6: 000=
00000ffff0ff0 DR7: 0000000000000400 [   14.675216] Process swapper/0 (pid=
: 0, threadinfo ffffffff81600000, task ffffffff8160d020) [   14.675227] S=
tack: [   14.675232]  ffffffff81211826 ffff880002eda000 0000000000000000 =
ffffc90000408000 [   14.675251]  00000000000b0150 0000000000000006 ffffff=
ffa013ec4a ffffffff810946cd [   14.675270]  ffffffff81099203 ffff88000337=
6000 0000000000000000 ffff880002eda4b0 [   14.675289] Call Trace: [   14.=
675295]  <IRQ>  [   14.675307]  [<ffffffff81211826>] =3F xen_swiotlb_sync=
_sg_for_cpu+0x2e/0x47 [   14.675322]  [<ffffffffa013ec4a>] =3F vpeirq+0x7=
f/0x198 [budget_core] [   14.675337]  [<ffffffff810946cd>] =3F handle_irq=
_event_percpu+0x166/0x184 [   14.675350]  [<ffffffff81099203>] =3F __rcu_=
process_callbacks+0x71/0x2f8 [   14.675364]  [<ffffffff8104d175>] =3F tas=
klet_action+0x76/0xc5 [   14.675376]  [<ffffffff8120a9ac>] =3F eoi_pirq+0=
x5b/0x77 [   14.675388]  [<ffffffff8104cbc6>] =3F __do_softirq+0xc4/0x1a0=
 [   14.675400]  [<ffffffff8120a022>] =3F __xen_evtchn_do_upcall+0x1c7/0x=
205 [   14.675412]  [<ffffffff8134b06c>] =3F call_softirq+0x1c/0x30 [   1=
4.675425]  [<ffffffff8100fa47>] =3F do_softirq+0x3f/0x79 [   14.675436]  =
[<ffffffff8104c996>] =3F irq_exit+0x44/0xb5 [   14.675452]  [<ffffffff812=
0b032>] =3F xen_evtchn_do_upcall+0x27/0x32 [   14.675464]  [<ffffffff8134=
b0be>] =3F xen_do_hypervisor_callback+0x1e/0x30 [   14.675473]  <EOI>=20=0D=
=0A=0D=0A=C2=A0=0D=0AComplete log is attached.=0D=0A=0D=0A=C2=A0=0D=0ABR,=
 Carsten.=0D=0A=C2=A0=0D=0A-----Urspr=C3=BCngliche Nachricht-----=0D=0AAn=
:Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>;=20=0D=0ACC:Konrad Rzeszu=
tek Wilk <konrad@darnok.org>; xen-devel <xen-devel@lists.xensource.com>; =
Jan Beulich <jbeulich@suse.com>; Sander Eikelenboom <linux@eikelenboom.it=
>;=20=0D=0AVon:Carsten Schiers <carsten@schiers.de>=0D=0AGesendet:Mi 29.0=
2.2012 13:16=0D=0ABetreff:Re: [Xen-devel] Load increase after memory upgr=
ade (part2)=0D=0AAnlage:inline.txt=0D=0A=20=0D=0A=0D=0AGreat news: it wor=
ks and load is back to normal. In the attached graph you can see the peak=
=0D=0A=0D=0Ain blue (compilation of the patched 3.2.8 Kernel) and then af=
ter 16.00 the going life of the=0D=0A=0D=0Avideo DomU. We are below an av=
aerage of 7% usage (figures are in Permille).=0D=0A=0D=0A=0D=0AThanks so =
much. Is that already "the final patch"=3F=0D=0A=0D=0A=C2=A0=0D=0ABR, Car=
sten.=0D=0A=0D=0A=C2=A0=0D=0A=0D=0A=C2=A0=0D=0A-----Urspr=C3=BCngliche Na=
chricht-----=0D=0AAn:Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>;=20=0D=
=0ACC:Sander Eikelenboom <linux@eikelenboom.it>; xen-devel <xen-devel@lis=
ts.xensource.com>; Jan Beulich <jbeulich@suse.com>; Konrad Rzeszutek Wilk=
 <konrad@darnok.org>;=20=0D=0AVon:Carsten Schiers <carsten@schiers.de>=0D=
=0AGesendet:Di 28.02.2012 15:39=0D=0ABetreff:Re: [Xen-devel] Load increas=
e after memory upgrade (part2)=0D=0AAnlage:inline.txt=0D=0A=20=0D=0A=0D=0A=
Well let me check for a longer period of time, and especially, whether th=
e DomU is still=0D=0A=0D=0Aworking (can do that only from at home), but l=
oad looks pretty well after applying the=0D=0A=0D=0Apatch to 3.2.8 :-D.=0D=
=0A=0D=0A=C2=A0=0D=0ABR,=0D=0A=0D=0ACarsten.=0D=0A=C2=A0=0D=0A-----Urspr=C3=
=BCngliche Nachricht-----=0D=0AAn:Jan Beulich <JBeulich@suse.com>;=20=0D=0A=
CC:Konrad Rzeszutek Wilk <konrad@darnok.org>; xen-devel <xen-devel@lists.=
xensource.com>; Carsten Schiers <carsten@schiers.de>; Sander Eikelenboom =
<linux@eikelenboom.it>;=20=0D=0AVon:Konrad Rzeszutek Wilk <konrad.wilk@or=
acle.com>=0D=0AGesendet:Fr 17.02.2012 16:18=0D=0ABetreff:Re: [Xen-devel] =
Load increase after memory upgrade (part2)=0D=0AOn Thu, Feb 16, 2012 at 0=
8:56:53AM +0000, Jan Beulich wrote:=0D=0A> >>> On 15.02.12 at 20:28, Konr=
ad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:=0D=0A> >@@ -1550,7 +155=
2,11 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gf=
p_mask,=0D=0A> > struct page **pages;=0D=0A> > unsigned int nr_pages, arr=
ay_size, i;=0D=0A> > gfp_t nested_gfp =3D (gfp_mask & GFP_RECLAIM_MASK) |=
 __GFP_ZERO;=0D=0A> >-=0D=0A> >+gfp_t dma_mask =3D gfp_mask & (__GFP_DMA =
| __GFP_DMA32);=0D=0A> >+if (xen_pv_domain()) {=0D=0A> >+if (dma_mask =3D=
=3D (__GFP_DMA | __GFP_DMA32))=0D=0A>=20=0D=0A> I didn't spot where you f=
orce this normally invalid combination, without=0D=0A> which the change w=
on't affect vmalloc32() in a 32-bit kernel.=0D=0A>=20=0D=0A> >+gfp_mask &=
=3D (__GFP_DMA | __GFP_DMA32);=0D=0A>=20=0D=0A> gfp_mask &=3D ~(__GFP_DMA=
 | __GFP_DMA32);=0D=0A>=20=0D=0A> Jan=0D=0A=0D=0ADuh!=0D=0AGood eyes. Tha=
nks for catching that.=0D=0A=0D=0A>=20=0D=0A> >+}=0D=0A> > nr_pages =3D (=
area->size - PAGE_SIZE) >> PAGE_SHIFT;=0D=0A> > array_size =3D (nr_pages =
* sizeof(struct page *));=0D=0A> >=20=0D=0A>=20=0D=0A=0D=0A______________=
_________________________________=0D=0AXen-devel mailing list=0D=0AXen-de=
vel@lists.xensource.com=0D=0Ahttp://lists.xensource.com/xen-devel=0D=0A=20=
=0D=0A=20=0D=0A=0D=0A=C2=A0=0D=0A --------------------------------=0D=0AE=
-Mail ist virenfrei.=0D=0A Von AVG =C3=BCberpr=C3=BCft - www.avg.de=0D=0A=
 Version: 2012.0.2127 / Virendatenbank: 2411/4932 - Ausgabedatum: 12.04.2=
012=0D=0A=20
--=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlv
bmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+PGh0bWw+
CjxoZWFkPgogIDxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iWmFyYWZhIFdlYkFj
Y2VzcyB2Ny4wLjYtMzI3NTIiPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+QVc6IFtYZW4t
ZGV2ZWxdIExvYWQgaW5jcmVhc2UgYWZ0ZXIgbWVtb3J5IHVwZ3JhZGUgKHBhcnQyKTwvdGl0
bGU+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgYm9keQ0KICAgICAgew0KICAg
ICAgICBmb250LWZhbWlseTogQXJpYWwsIFZlcmRhbmEsIFNhbnMtU2VyaWYgISBpbXBvcnRh
bnQ7DQogICAgICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICAgICAgcGFkZGluZzogNXB4IDVw
eCA1cHggNXB4Ow0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgYm9yZGVyLXN0eWxl
OiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KICAgICAgfQ0K
DQogICAgICBwLCB1bCwgbGkNCiAgICAgIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMHB4Ow0K
ICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgICB9DQogIDwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHk+CjxwPkhpIEtvbnJhZCw8L3A+PHA+Jm5ic3A7PC9wPjxwPmRvbiYjMzk7dCB3
YW50IHRvIGJlIHB1c2h5LCBhcyBJIGhhdmUgbm8gcmVhbCBpc3N1ZS4gSSBzaW1wbHkgdXNl
IHRoZSBYZW5pZmllZCBrZXJuZWwgb3IgdGFrZSB0aGUgZG91YmxlIGxvYWQuIDwvcD48cD5C
dXQgSSB0aGluayB0aGlzIG1pc3RlcnkgaXMgc3RpbGwgb3Blbi4gTXkgbGFzdCBzdGF0dXMg
d2FzIHRoYXQgdGhlIGxhdGVzdCBwYXRjaCB5b3UgcHJvZHVjZWQgcmVzdWx0ZWQgaW4gYSBC
VUcsIDwvcD48cD5zbyB3ZSBzdGlsbCBoYXZlIG5vdCBjaGVja2VkIHdoZXRoZXIgb3VyIHRo
ZW9yeSBpcyBjb3JyZWN0LjwvcD48cD4mbmJzcDs8L3A+PHA+QlIsPC9wPjxwPkNhcnN0ZW4u
PGJyIC8+Jm5ic3A7PC9wPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDogMnB4IHNv
bGlkICMzMjVGQkE7IHBhZGRpbmctbGVmdDogNXB4O21hcmdpbi1sZWZ0OjVweDsiPi0tLS0t
VXJzcHImdXVtbDtuZ2xpY2hlIE5hY2hyaWNodC0tLS0tPGJyIC8+PHN0cm9uZz5Wb246PC9z
dHJvbmc+CUNhcnN0ZW4gU2NoaWVycyAmbHQ7Y2Fyc3RlbkBzY2hpZXJzLmRlJmd0OzxiciAv
PjxzdHJvbmc+R2VzZW5kZXQ6PC9zdHJvbmc+CU1pIDI5LjAyLjIwMTIgMTQ6MDE8YnIgLz48
c3Ryb25nPkJldHJlZmY6PC9zdHJvbmc+CVJlOiBbWGVuLWRldmVsXSBMb2FkIGluY3JlYXNl
IGFmdGVyIG1lbW9yeSB1cGdyYWRlIChwYXJ0Mik8YnIgLz48c3Ryb25nPkFubGFnZTo8L3N0
cm9uZz4JZGVidWcubG9nLCBpbmxpbmUudHh0PGJyIC8+PHN0cm9uZz5Bbjo8L3N0cm9uZz4J
S29ucmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWQud2lsa0BvcmFjbGUuY29tJmd0Ozsg
PGJyIC8+PHN0cm9uZz5DQzo8L3N0cm9uZz4JU2FuZGVyIEVpa2VsZW5ib29tICZsdDtsaW51
eEBlaWtlbGVuYm9vbS5pdCZndDs7IHhlbi1kZXZlbCAmbHQ7eGVuLWRldmVsQGxpc3RzLnhl
bnNvdXJjZS5jb20mZ3Q7OyBKYW4gQmV1bGljaCAmbHQ7amJldWxpY2hAc3VzZS5jb20mZ3Q7
OyBLb25yYWQgUnplc3p1dGVrIFdpbGsgJmx0O2tvbnJhZEBkYXJub2sub3JnJmd0OzsgPGJy
IC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFj
ZTsgfTwvc3R5bGU+ICAgICAgICAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gICAg
ICAgLmJvZHljbGFzcyAgICAgICB7ICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJk
YW5hLCBTYW5zLVNlcmlmICEgaW1wb3J0YW50OyAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsg
ICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCA1cHg7ICAgICAgICAgbWFyZ2luOiAwcHg7
ICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6
ICNmZmZmZmY7ICAgICAgIH0gICAgICAgIHAsIHVsLCBsaSAgICAgICB7ICAgICAgICAgbWFy
Z2luLXRvcDogMHB4OyAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgICAgICAgfSAgIDwv
c3R5bGU+ICA8ZGl2PjxwPkkgYW0gdmVyeSBzb3JyeS4gSSBhY2NpZGVudGx5IHN0YXJ0ZWQg
dGhlIERvbVUgd2l0aCB0aGUgd3JvbmcgY29uZmlnIGZpbGUsIHRodXMgaXQmIzM5O3MgY2xl
YXIgd2h5IHRoZXJlIGlzIG5vIGRpZmZlcmVuY2U8L3A+PHA+YmV0d2VlbiB0aGUgdHdvLiBB
bmQgdW5mb3J0dW5hdGVseSwgdGhlIERvbVUgd2l0aCB0aGUgY29ycmVjdCBjb25maWcgZmls
ZSBpcyBoYXZpbmcgYSBCVUc6PC9wPjxwPiZuYnNwOzwvcD48cHJlPgogWyAgIDE0LjY3NDg4
M10gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBhdCBmZmZm
YzdmZmZmZmZmMDAwIFsgICAxNC42NzQ5MTBdIElQOiBbJmx0O2ZmZmZmZmZmODExYjRjMGIm
Z3Q7XSBzd2lvdGxiX2JvdW5jZSsweDJlLzB4MzEgWyAgIDE0LjY3NDkzMF0gUEdEIDAgIFsg
ICAxNC42NzQ5NDBdIE9vcHM6IDAwMDIgWyMxXSBTTVAgIFsgICAxNC42NzQ5NTJdIENQVSAw
ICBbICAgMTQuNjc0OTU3XSBNb2R1bGVzIGxpbmtlZCBpbjogbmZzZCBleHBvcnRmcyBuZnMg
bG9ja2QgZnNjYWNoZSBhdXRoX3JwY2dzcyBuZnNfYWNsIHN1bnJwYyB0ZGExMDAyMyBidWRn
ZXRfYXYgZXZkZXYgc2FhNzE0Nl92diB2aWRlb2RldiB2NGwyX2NvbXBhdF9pb2N0bDMyIHZp
ZGVvYnVmX2RtYV9zZyB2aWRlb2J1Zl9jb3JlIGJ1ZGdldF9jb3JlIHNuZF9wY20gZHZiX2Nv
cmUgc25kX3RpbWVyIHNhYTcxNDYgc25kIHR0cGNpX2VlcHJvbSBzb3VuZGNvcmUgc25kX3Bh
Z2VfYWxsb2MgaTJjX2NvcmUgcGNzcGtyIGV4dDMgamJkIG1iY2FjaGUgeGVuX25ldGZyb250
IHhlbl9ibGtmcm9udCBbICAgMTQuNjc1MDU3XSAgWyAgIDE0LjY3NTA2NV0gUGlkOiAwLCBj
b21tOiBzd2FwcGVyLzAgTm90IHRhaW50ZWQgMy4yLjgtYW1kNjQgIzEgICBbICAgMTQuNjc1
MDc5XSBSSVA6IGUwMzA6WyZsdDtmZmZmZmZmZjgxMWI0YzBiJmd0O10gIFsmbHQ7ZmZmZmZm
ZmY4MTFiNGMwYiZndDtdIHN3aW90bGJfYm91bmNlKzB4MmUvMHgzMSBbICAgMTQuNjc1MDk3
XSBSU1A6IGUwMmI6ZmZmZjg4MDAxM2ZhYmU1OCAgRUZMQUdTOiAwMDAxMDIwMiBbICAgMTQu
Njc1MTA2XSBSQVg6IGZmZmY4ODAwMTI4MDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAxIFJD
WDogMDAwMDAwMDAwMDAwMTAwMCBbICAgMTQuNjc1MTE2XSBSRFg6IDAwMDAwMDAwMDAwMDEw
MDAgUlNJOiBmZmZmODgwMDEyODAwMDAwIFJESTogZmZmZmM3ZmZmZmZmZjAwMCBbICAgMTQu
Njc1MTI2XSBSQlA6IDAwMDAwMDAwMDAwMDAwMDIgUjA4OiBmZmZmYzdmZmZmZmZmMDAwIFIw
OTogZmZmZjg4MDAxM2Y5ODAwMCBbICAgMTQuNjc1MTM3XSBSMTA6IDAwMDAwMDAwMDAwMDAw
MDEgUjExOiBmZmZmODgwMDAzMzc2MDAwIFIxMjogZmZmZjg4MDAwMzJjNTA5MCBbICAgMTQu
Njc1MTQ3XSBSMTM6IDAwMDAwMDAwMDAwMDAxNDkgUjE0OiBmZmZmODgwMDAzM2UwMDAwIFIx
NTogZmZmZmZmZmY4MTYwMWZkOCBbICAgMTQuNjc1MTYzXSBGUzogIDAwMDA3ZjNmZjk4OTM3
MDAoMDAwMCkgR1M6ZmZmZjg4MDAxM2ZhODAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAw
MDAwIFsgICAxNC42NzUxNzVdIENTOiAgZTAzMyBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAw
MDAwMDAwODAwNTAwM2IgWyAgIDE0LjY3NTE4NF0gQ1IyOiBmZmZmYzdmZmZmZmZmMDAwIENS
MzogMDAwMDAwMDAxMjY4MzAwMCBDUjQ6IDAwMDAwMDAwMDAwMDA2NjAgWyAgIDE0LjY3NTE5
NV0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAw
MDAwMDAwMDAwMDAwMDAgWyAgIDE0LjY3NTIwNV0gRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERS
NjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAgWyAgIDE0LjY3NTIx
Nl0gUHJvY2VzcyBzd2FwcGVyLzAgKHBpZDogMCwgdGhyZWFkaW5mbyBmZmZmZmZmZjgxNjAw
MDAwLCB0YXNrIGZmZmZmZmZmODE2MGQwMjApIFsgICAxNC42NzUyMjddIFN0YWNrOiBbICAg
MTQuNjc1MjMyXSAgZmZmZmZmZmY4MTIxMTgyNiBmZmZmODgwMDAyZWRhMDAwIDAwMDAwMDAw
MDAwMDAwMDAgZmZmZmM5MDAwMDQwODAwMCBbICAgMTQuNjc1MjUxXSAgMDAwMDAwMDAwMDBi
MDE1MCAwMDAwMDAwMDAwMDAwMDA2IGZmZmZmZmZmYTAxM2VjNGEgZmZmZmZmZmY4MTA5NDZj
ZCBbICAgMTQuNjc1MjcwXSAgZmZmZmZmZmY4MTA5OTIwMyBmZmZmODgwMDAzMzc2MDAwIDAw
MDAwMDAwMDAwMDAwMDAgZmZmZjg4MDAwMmVkYTRiMCBbICAgMTQuNjc1Mjg5XSBDYWxsIFRy
YWNlOiBbICAgMTQuNjc1Mjk1XSAgJmx0O0lSUSZndDsgIFsgICAxNC42NzUzMDddICBbJmx0
O2ZmZmZmZmZmODEyMTE4MjYmZ3Q7XSA/IHhlbl9zd2lvdGxiX3N5bmNfc2dfZm9yX2NwdSsw
eDJlLzB4NDcgWyAgIDE0LjY3NTMyMl0gIFsmbHQ7ZmZmZmZmZmZhMDEzZWM0YSZndDtdID8g
dnBlaXJxKzB4N2YvMHgxOTggW2J1ZGdldF9jb3JlXSBbICAgMTQuNjc1MzM3XSAgWyZsdDtm
ZmZmZmZmZjgxMDk0NmNkJmd0O10gPyBoYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDE2Ni8w
eDE4NCBbICAgMTQuNjc1MzUwXSAgWyZsdDtmZmZmZmZmZjgxMDk5MjAzJmd0O10gPyBfX3Jj
dV9wcm9jZXNzX2NhbGxiYWNrcysweDcxLzB4MmY4IFsgICAxNC42NzUzNjRdICBbJmx0O2Zm
ZmZmZmZmODEwNGQxNzUmZ3Q7XSA/IHRhc2tsZXRfYWN0aW9uKzB4NzYvMHhjNSBbICAgMTQu
Njc1Mzc2XSAgWyZsdDtmZmZmZmZmZjgxMjBhOWFjJmd0O10gPyBlb2lfcGlycSsweDViLzB4
NzcgWyAgIDE0LjY3NTM4OF0gIFsmbHQ7ZmZmZmZmZmY4MTA0Y2JjNiZndDtdID8gX19kb19z
b2Z0aXJxKzB4YzQvMHgxYTAgWyAgIDE0LjY3NTQwMF0gIFsmbHQ7ZmZmZmZmZmY4MTIwYTAy
MiZndDtdID8gX194ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDFjNy8weDIwNSBbICAgMTQuNjc1
NDEyXSAgWyZsdDtmZmZmZmZmZjgxMzRiMDZjJmd0O10gPyBjYWxsX3NvZnRpcnErMHgxYy8w
eDMwIFsgICAxNC42NzU0MjVdICBbJmx0O2ZmZmZmZmZmODEwMGZhNDcmZ3Q7XSA/IGRvX3Nv
ZnRpcnErMHgzZi8weDc5IFsgICAxNC42NzU0MzZdICBbJmx0O2ZmZmZmZmZmODEwNGM5OTYm
Z3Q7XSA/IGlycV9leGl0KzB4NDQvMHhiNSBbICAgMTQuNjc1NDUyXSAgWyZsdDtmZmZmZmZm
ZjgxMjBiMDMyJmd0O10gPyB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDI3LzB4MzIgWyAgIDE0
LjY3NTQ2NF0gIFsmbHQ7ZmZmZmZmZmY4MTM0YjBiZSZndDtdID8geGVuX2RvX2h5cGVydmlz
b3JfY2FsbGJhY2srMHgxZS8weDMwIFsgICAxNC42NzU0NzNdICAmbHQ7RU9JJmd0OyA8L3By
ZT48cD4mbmJzcDs8L3A+PHA+Q29tcGxldGUgbG9nIGlzIGF0dGFjaGVkLjwvcD48cD4mbmJz
cDs8L3A+PHA+QlIsIENhcnN0ZW4uPGJyIC8+Jm5ic3A7PC9wPjxibG9ja3F1b3RlIHN0eWxl
PSJib3JkZXItbGVmdDogMnB4IHNvbGlkICMzMjVGQkE7IHBhZGRpbmctbGVmdDogNXB4O21h
cmdpbi1sZWZ0OjVweDsiPi0tLS0tVXJzcHImdXVtbDtuZ2xpY2hlIE5hY2hyaWNodC0tLS0t
PGJyIC8+PHN0cm9uZz5Bbjo8L3N0cm9uZz4JS29ucmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtr
b25yYWQud2lsa0BvcmFjbGUuY29tJmd0OzsgPGJyIC8+PHN0cm9uZz5DQzo8L3N0cm9uZz4J
S29ucmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWRAZGFybm9rLm9yZyZndDs7IHhlbi1k
ZXZlbCAmbHQ7eGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb20mZ3Q7OyBKYW4gQmV1bGlj
aCAmbHQ7amJldWxpY2hAc3VzZS5jb20mZ3Q7OyBTYW5kZXIgRWlrZWxlbmJvb20gJmx0O2xp
bnV4QGVpa2VsZW5ib29tLml0Jmd0OzsgPGJyIC8+PHN0cm9uZz5Wb246PC9zdHJvbmc+CUNh
cnN0ZW4gU2NoaWVycyAmbHQ7Y2Fyc3RlbkBzY2hpZXJzLmRlJmd0OzxiciAvPjxzdHJvbmc+
R2VzZW5kZXQ6PC9zdHJvbmc+CU1pIDI5LjAyLjIwMTIgMTM6MTY8YnIgLz48c3Ryb25nPkJl
dHJlZmY6PC9zdHJvbmc+CVJlOiBbWGVuLWRldmVsXSBMb2FkIGluY3JlYXNlIGFmdGVyIG1l
bW9yeSB1cGdyYWRlIChwYXJ0Mik8YnIgLz48c3Ryb25nPkFubGFnZTo8L3N0cm9uZz4JaW5s
aW5lLnR4dDxiciAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LmJvZHljbGFzcyB7IGZvbnQt
ZmFtaWx5OiBtb25vc3BhY2U7IH08L3N0eWxlPiAgICAgICAgICAgICAgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+ICAgICAgIC5ib2R5Y2xhc3MgICAgICAgeyAgICAgICAgIGZvbnQtZmFt
aWx5OiBBcmlhbCwgVmVyZGFuYSwgU2Fucy1TZXJpZiAhIGltcG9ydGFudDsgICAgICAgICBm
b250LXNpemU6IDEycHg7ICAgICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggNXB4OyAgICAg
ICAgIG1hcmdpbjogMHB4OyAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsgICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyAgICAgICB9ICAgICAgICBwLCB1bCwgbGkgICAg
ICAgeyAgICAgICAgIG1hcmdpbi10b3A6IDBweDsgICAgICAgICBtYXJnaW4tYm90dG9tOiAw
cHg7ICAgICAgIH0gICA8L3N0eWxlPiAgPGRpdj48cD5HcmVhdCBuZXdzOiBpdCB3b3JrcyBh
bmQgbG9hZCBpcyBiYWNrIHRvIG5vcm1hbC4gSW4gdGhlIGF0dGFjaGVkIGdyYXBoIHlvdSBj
YW4gc2VlIHRoZSBwZWFrPC9wPjxwPmluIGJsdWUgKGNvbXBpbGF0aW9uIG9mIHRoZSBwYXRj
aGVkIDMuMi44IEtlcm5lbCkgYW5kIHRoZW4gYWZ0ZXIgMTYuMDAgdGhlIGdvaW5nIGxpZmUg
b2YgdGhlPC9wPjxwPnZpZGVvIERvbVUuIFdlIGFyZSBiZWxvdyBhbiBhdmFlcmFnZSBvZiA3
JSB1c2FnZSAoZmlndXJlcyBhcmUgaW4gUGVybWlsbGUpLjwvcD48cD48YnIgLz5UaGFua3Mg
c28gbXVjaC4gSXMgdGhhdCBhbHJlYWR5ICZxdW90O3RoZSBmaW5hbCBwYXRjaCZxdW90Oz88
L3A+PHA+Jm5ic3A7PC9wPjxwPkJSLCBDYXJzdGVuLjwvcD48cD4mbmJzcDs8L3A+PHA+PGJy
IC8+Jm5ic3A7PGltZyBhbHQ9IiIgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQWZFQUFBR0VDQUlBQUFDcHY0NVlBQUFnQUVsRVFWUjRuTzJk
ZlhRVVZaNzNiMGdDSVNBSndTQmd0a25Fa0pBM3pBWVZmVWFQajJjZEhjZURPSUZsWmdCM2Rw
eGhSa1FqNktvYzUyQ3ZzRG9LQXpqQkxEbW9aSU5CTU4yQkJGbGZFRWtFOXhBSjZLQkVqTHc0
S0VoM09xLzNuejNuK1NQUEh4ZXVSZDJxNnB2dXJ1cnFxdS9uOU9uVFhYM3IzdnU3ZGV2YnY5
eXUrb1o4QmdBQXdCRzB0cmFTZVBjQkFBQkFER2h0YlgzampUY3VhVG9GQUFDUXlMenh4aHZR
ZEFBQWNBalFkQUFBY0E3UWRBQUFjQTdRZEFBQVNDUWFCWlNmUXRNQmtJSVFFdTh1RElOWTlU
YXhvbllWZzRPRFRNMmg2Y0NCbUNjOXZHYnhSVXlxTlFsb3VyUHA3KzgvY3VTSXorYzdmLzU4
VTFPVDhpTm91cXRadUhEaGIzLzdXK1dXZi8zWGYxMjBhRkUwZFJKQ0NDRkpTVWxYWFhWVldW
blo4dVhMejU0OUcxMDNZNHltVG9XVjdDalZ6V0p4aEtZN21NN096cGFXbHJhMnRxNnVycWFt
cGlOSGppZy9oYWE3bWtBZ1VGUlU5TVliYjdDM3I3LytlbkZ4Y1RBWWpLWk9yZ0tCUU9EUW9V
TVBQL3p3NU1tVFQ1dzRFVzFmWXdjMDNmcDZRQXo1NktPUHpwOC9yL2NwTk4zdEhEMTY5SnBy
cmpsMjdOaXhZOGNtVFpyRXBrRi9mLytLRlN1dXZ2cnEwYU5IVjFaVy92RERENnd3SVdUanhv
MGVqeWMxTmJXc3JPeVRUejRSS3hSVjRPbW5uLzdsTDMvSlhuZDNkLy9Mdi96TFZWZGRkZFZW
Vi8zbU43L3A3dTdtZTIzWXNHSHExS2tqUjQ2Y01XUEdCeDk4c0huejVtblRwckdHRGg4K3pJ
cDk4Y1VYUC92Wno4YU1HVE5xMUtpNzdycnJ6Smt6cWtZajZ5SGZTQlNJTllzdnhQS2FQVFNv
MW1CQXdnWmlBQ0ZrOWVyVjJkblo2ZW5waXhZdENvVkNsTkpiYjcxMTY5YXR2RXhuWitla1Na
TlU2aEFLaFJZdVhKaWVuajV4NHNRMWE5WVl4eVZUSWJBWWFEcWdyNzMyV25GeGNYRnhjVjFk
SGR2eXB6Lzk2YzQ3N3p4NTh1UVBQL3l3Y09IQzMvM3VkMnc3SWFTeXN2THJyNzhPQkFMUFB2
dHNSVVdGV0p1b21KMmRuZGRjY3cxNy9kaGpqOTE5OTkxbnpwdzVmZnIwUC8zVFAxVlZWZkc5
NXN5Wjg5VlhYd1VDZ2VlZWUyN3MyTEVQUFBBQWYzdmpqVGV5WW9XRmhlKzg4MDR3R0R4Ly92
elNwVXNYTEZpZ2FqU3lIbEw5UEYxbVBiMjZ1dnFlZSs2UjdLSHFyY0dBaEEzRUFFSUlxL2JN
bVROMzMzMzM0NDgvVGluZHRXdFhRVUhCd01BQUsvUGdndzgrLy96enFoMnJxcXA0Zis2NjZ5
N2VUODI0WkNvRU1RZlh2WUR3bEplWHo1bzFpNy8xZUR6SGpoMWpyMCtmUGoxeDRrVDJtaEJ5
N3R3NTlqb1FDS1NrcEloVmlaTFgyOXVibXByS1hrK2VQUG56eno5bnJ6Lzc3TE1wVTZid3Zm
Nys5Ny96bWxWdk5Sc0tCQUpYWDMyMXF0SElla2lqMFBTV2xwYVpNMmZ5UDJYQzlsRDExbUJB
d2daaUFDSGtiMy83RzN2OStlZWZYM3Z0dGV4MVJVWEY2NisvempjR0FnSFZqbE9tVE9FN2Z2
YlpaNXBqcFl3cmJJWEFKSERkQzlCbDgrYk5OOXh3d3cwMzNQRGFhNit4TFNrcEtjcmxncVNr
SkxaZFQ1aU1ON0kveWRucjVPVGsvdjUrOXJxdnI0OUxsWEhOL08ySEgzNTR5eTIzcEtlbjYz
Vk1wb2NqUm96Z2ZXRDA5L2VQR0RIQ3VBYk5KbzRjT1RKdDJqVGxyd1ZoZTZoNkc5bUE4STNL
OVJ6VlI1clY3dGl4SXo4L3Y3Ky9mLzc4K1d2WHJoVjNWUFVuN01pSHJSQ1lBYTU3QWJvY09Y
Sms4dVRKWDN6eHhmSGp4eWRQbm56MDZGRkthVTVPenRkZmZ5MFdqa3pUbjM3NjZWLzk2bGZz
OWVUSms1VnA0T1RKazJWcTVtK25USmxTVjFkMy92ejV3Y0hCQ3hjdWhFMmlOWHZvOFhqKzUz
LytSN25sMEtGREhvL0h1QWJ4eFprelovTHo4L2Z0MjZjc0g3YUhxcmVSRFVoWWxIbjYzLzcy
TjU3K0R3NE9GaGNYVjFWVmVUeWVucDRlY1VkbG52NzU1NStISGZtd0ZZS1lnK3RlZ0M2QlFH
REdqQmx2dmZVV2Uvdm1tMit5NjE2ZWUrNjV1KysrKy9qeDQzMTlmWWNQSDY2c3JHUUZocVhw
N0xxWHBVdVhLcTk3V2Jac0dWL252ZXV1dXg1OTlGR1ptdm5iOGVQSDc5aXhJeFFLZmZIRkY1
V1ZsWkZwK3IvLys3K1hsNWQvOU5GSG9WQW9GQXJ0Mzc5LzVzeVphOWFzWVo5bVpHVHdkU2ZO
bXZtTEcyKzhjZlBtemFySzlYcW9WMjFrQXhJV1FzalBmdmF6czJmUG5qMTc5cDU3N3VITDlK
VFN1cm82UXNpcnI3NnF1V05WVlJYYmtTM0VoeDM1c0JXQ21JUHJYb0F1Q3hjdTVDTENlUGpo
aHhjdVhEZ3dNT0QxZXRsRkYwVkZSZnkzVS9rRmdhU2twREZqeHBTV2xqNysrT1A4NmhSS2FU
QVlYTHg0OGRpeFk4ZU9IYnQ0OFdKKzNhU2twci8xMWx1NXVibkp5Y24vOEEvL3NIYnQyc2cw
ZlhCd2NPM2F0Y1hGeGFOR2pSbzFhbFJ4Y2ZGZi92SVgvdW1xVmF2R2pCbGpVTFB5aFJMakh1
cFZHOW1BaElVb3JudFp1SEFodjV5R1VycHQyN1pwMDZiMTlmVnA3dGpkM2YzclgvOTY5T2pS
MmRuWnl1dGU5T0lLV3lHd0dHZzZBTzdpM252djVYY2syTE5DWUF5dWV3RUFVRXJwd01CQWRY
VjFZV0Vodi9yUWJoVUNHVlFpRGswSHdLVVFRandlVDJ0cnEyMHJCREkwTlRYMTl2YXkxNzI5
dmJqdUJRQUFFcGpXMXRaUFAvMjByNit2cjYvdjAwOC9iV3RyVTM0S1RRY0FnRVNpdTd2N3dJ
RURmci9mNy9lM3RyWXFmd0NuMEhRQUFFaG9zSjRPQUFET0Fab09BQUFKakl1dVpUeStkKy94
dlh2ajNRc0FBTEFPeDJwNlh5aTAvcFpiMXQ5eVMxOG9GTysrQUFDQVJUaFcwejk0NlNXdngr
UDFlRDU0NmFWNDl3VUFBT0tEUXpUOS9NbVRhL0x6bWFhdnljOC9mL0prdkhzRUFBQ21FQXdH
VzF0YitiV01xbjgyNlJCTnIxKzhtQWs2ZTlRdlhoenZIZ0VBZ0NuczI3ZnYyTEZqdmIyOXZi
MjlSNDhlVmJrOU8wVFRHVTg5OVpSTXNhNnVMdXVMeVpmczdlaUlTN3VJMTVwMkVhODE3ZG84
M21qdytYemNZR2RnWU1Ebjh5ay9kYU9tSHp4NDBQcGk4aVV2Yk5vVWwzWVJyelh0SWw1cjJy
VjV2TkhnaWp5OXQ3ZjN4SWtUdi8zdGI0ZUdoazZmUG0zOC9MLy8rNzloeXd3TkRaMDhlVEtH
dGNtWDdEcDJMQzd0SWw3RWkzZ3RpM2RvYU9qcnI3OCtjZUtFL0I4S25FQWc0UHoxZE1aVFR6
MDFKTUdwVTZlc0x5WmZrcmExeGFWZHhHdE51NGpYbW5adEh1K2x3aWJnUmswSEFBQTdFSm5R
dWVLNkZ3Ynk5R2hLSWw1cjJrVzgxclJyODNndkZZNElPNjZuMTlmWEZ4WVdwcWFtbHBhV3Ry
UzA4TzByVjY3ay8rZnc2NisvbmoxNzlzaVJJMmZQbnMzK2g3MjRSUVh5ZEFCQUFoR1pmdHJ4
dXBjSEhuaWd2YjI5dTd0NzA2Wk5FeVpNWUJ2YjJ0b21UWnJFTlgzZXZIa3JWcXpvN3U1ZXNX
TEYvUG56TmJlb1FKNGVUVW5FYTAyN2lOZWFkbTBlNzZYQ0VXSEhQSjF6NHNRSmo4ZERLZTN1
N2k0dUx0NjdkeS9YOUFrVEpwdytmWnBTZXZyMGFhYjc0aFlWeU5NQkFBbEVaTEpwMyt0ZVRw
MDZWVjVldm5QblRrcnAwcVZMWDN6eFJVb3AxL1FSSTBhd3Z5LzYrL3VUazVNMXQzRDYvLzcz
QzYrODh1VHZmMDhQSEJnYUdqSitQcjF6WjlneTlNQ0JVNmRPeGJBMitaSzByUzB1N1NKZXhJ
dDRMWXVYSGpqdy8wS2hDNis4MHRQZUhsdGRqWnVtdDdhMmVqeWVMVnUyc0xkSlNVbEVBYVUw
S3l0TGxaV0xXMVFnVHdjQUpCQ1JpYWNkL2RPcnE2dXpzN04zNzk0dGZzVHo5TXJLU3I1Nlhs
bFpxYmxGQmRiVG95bUplSzFwRi9GYTA2N040NzFVT0NKVUlxNGlQcHBPcnVUaXhZdktqOWlM
cjc3NjZxYWJia3BOVGIzNTVwdFBuanlwdVVVRjhuUUFRQUlSbVg3YVVkTk5Bbmw2TkNVUnJ6
WHRJbDVyMnJWNXZKY0tSd1EwSFFBQTdJZ1pNdWhHVFhmRzk3emI4aHJFRzJWSnhHdE51L0I3
aVEzRDhtWEVNNTd4ak9lNFAwZm15L2pPTysrMHQ3ZWZQbjI2djc5ZnM0QkROSjJCUEQyYWtv
alhtbllScnpYdDJqemVTNFdIejRVTEY0NGZQNzUvLy82bXBxYjkrL2NmUDM3OHdvVUx5Z0p1
MUhRQUFMQUQwY2hkWDEvZjZkT24yOXZiMzNubkhlVjJOMnE2TTc3bjNaYlhJTjRvU3lKZWE5
cDE2WHE2Nk1zb2JvRXZJd0RBMlppaHJuYnhaUlMzd0pmUjRuWVJyelh0SWw1cjJyVjV2SmNL
bTRCZGZCbkZMZkJsQkFBNG01aW9xQzM4WGhpbkZMNk00aGI0TXNMSER2RWlYcWZHUzJQbnky
Z1hUVmY1TW9wYjRNc0lBSEEya1lsbll2Z3lpbHZneTJoeHU0alhtbllScnpYdDJqemVTNFZq
Z1MwMFhmUmxGTGZBbHhFQTRHeGlJcWUyMEhTVFFKNGVUVW5FYTAyN2lOZWFkbTBlNzZYQ0p1
QkdUUWNBQURzUW1kQUZnMEdiL2ovU21JTThQWnFTaU5lYWRoR3ZOZTNhUE41TGhTTmkzNzU5
eDQ0ZDYrM3Q3ZTN0UFhyMDZMNTkrNVNmT2tUVDRjdUlaenpqT2JHZUkvTmxwSlQ2ZkQ1MlZU
ZWxkR0Jnd09mektUOTFpS1l6bkplbmt3MkViQ0RXdEd1SGVLMXNGL0ZhMHk3aU5Tb2NFYTdJ
MHhuT1cwODMwSFFBUUtJVG1kQUZBZ0dzcDE5QkFuM1Bkd3lSamlIazZhYTBpM2l0YVJmeEdo
VTJBYnY0TXNxNE1MckVsMUdabTllUzJscFNHOS8rQUFCTUlqTDl0T045cEpHNU1EclBsNUZy
TjlOeDlwaXpNb2ZMZWdXcHJkRFJkTGZsTllnM3lwS0kxNXAyTGNqVG1ZaHpLYmVGcG5PRzVj
TG9QRjlHbGFZUEVVSTJFSy9YMnpGRVdIcHVvT2tBZ0VRbk10bjArLzAvL1BDRHorZTdjT0hD
aFFzWGR1M2FwZnpVTHI2TU1pNk16dk5sckgvc01mYmE2L1cyNUt5cUpiVXRPYXVhYzU1cnlW
bFZRV3JwZ1FNVnBIWjV6cXFZdDV1SVBuYUlGL0U2S1Y0YWhTL2pwNTkrMnRUVTFOblorYzQ3
Ny9qOS9pKy8vRkw1cVYxOEdXVmNHSjNueThqWHltdEpiWVh3R0JvYUlrdjJrQ1Y3NHRwSEFJ
QlptQ0d0ZHZGbGxIRmhkSjR2WTRXV3BsZmxQQ2VqNlc1YmYwUzhVWlpFdk5hMGE4MTZ1dTEr
STQzTWhkRjV2b3hjMHkrSnVKZndGMHpLa2FjRDRHRE1VRmRjbjI1Uk1jMlNTazFuOGsyVzdK
bno0RVl1NWNqVHpXc1g4VnJUTHVJMUttd0NidFIwKzhEMW1ndTY4akdFUEIwQVIyT0dETHBS
MCszelBhK3A2Y2pUcldrWDhWclRMdUkxS213Q0R0SDBCUFZsSkV2MnNOZkZLM2FRSlh0VXoz
eDczUHVKWnp6ak9lYlBFZnN5d2o5ZGpYMis1NUduRHlHUHM2cGR4R3ROdS9CbGpDVllUd2NB
SkJDUkNSMzgwOVhZNTNzZWVmb1E4amlyMmtXODFyVHIwanlkWDVuT3R6UTBOT1RsNVNVbkor
Zm01alkwTkZCMytESWlUd2ZBelVTbW4vYjFUMWRxK3JoeDQveCtmeWdVOHZsOEdSa1oxQ1cr
ak1qVGtjZFoxUzdpdGFaZFYxLzNvdFQwa3BJU3Y5L2YwOVBqOC9uS3lzcW9TM3daa2FjRDRH
SWlVMDQ3ZWdNd2xKcCs0TUNCY2VQR0VVTEdqUnQzNE1BQjZnNWZ4cm1MMTdQWFpNbWV1WXZY
cytjNUQyNWtyL24ybUxlYmlENTJpQmZ4T2lsZUdvVXZvMzM5MDVXYVBtM2FOTDcyY3YzMTEx
TjMrRElpVHdmQXpVU21uSW1oNlptWm1YenRaZno0OGRRZHZveGt5WjVMLzk0STYrbVd0NHQ0
cldrWDhSb1ZqZ2c3YXJyS2w1RlNXbDlmNy9GNGtwT1RwMDZkK3VhYmIxSjMrREpxYWpyeWRB
QmNRa3prMUJhYWJoS0ptS2V6L3lLTlBOMzZkaEd2TmUwaVhxUENzUUNhYmlQSWtqM01NQjE1
T2dBdUpES2hzKzkxTHpFbkVmTjBVZE9ScDF2VEx1SzFwbDNFYTFRNEZqaFQweFBYbC9IKzRw
b0tVZ3RmUmp6ajJXM1BFZnN5cW5DbXBqTVNNVThYSDhqVHJXa1g4VnJUTHVJMUttd0NidFIw
bTZCM3VRdlcwd0Z3Q1pFSkhkYlQxZGprZTE1UDA1R25XOU11NHJXbVhjUnJWTmdFN09MTE9E
QXdzSExseXNtVEp5Y2xKYkh0anZkbDdCZ0trNmR6MFk5M1R3RUFwaENaZnRvM1QxZHErcXBW
cTZaUG45N2UzajQ0T01pMk9ONlhzVmJuRWthZXAvTUNzVzNYbW1MeUpaSEhXZE11NHJXbVhX
dnk5SjZlbnZmZWU2K3BxZW5zMmJPcWoreWk2UjZQUi9YZk9oenZ5NmgzV1RwL1ZCaHFPZ0Fn
MFlsTU9abWdIenQyN0x2dnZ0dTllL2Y1OCtlVm45cEYwNU9Ua3g5NTVKSFJvMGQ3UEo0ZE8z
WlFGL2d5VnBCYTdzVkl0SHdabCtlc0l2QmxSTHlJMTRueDBpaDhHZDk5OTEwdTE5OTg4MDFM
UzR2eVU3dG8rb1FKRTN3K0gvTmx2UHJxcTZrTGZCbVJwd1BnY2lKVFRwVldmL25sbDhxM1lU
UjkzNzU5K2ZuNVNVbEpsTklGQ3hiVTFkVkYxZ2xObEpvK2YvNThuOC9IZkJtenM3T3BDM3da
OWFTY3I2Y2JhN3JiMWg4UmI1UWxFYTgxN1Zyanl4ajViNlRYWDMvOXJsMjdtUGgrOWRWWFU2
ZE9qYXdUS2tSZnhxNnVycC84NUNlcHFhbDVlWGxzWWQzeHZveGhMbnE1OGtKMUFJRHppRXcv
by9MYVRVMU5EWVZDVEhiUG5UdVhucDRlV1Nlc3dXRjV1ckdtdXkydlFieFJsa1M4MXJScmQv
LzBPKzY0WS9QbXpZU1FycTZ1QlFzV3pKa3pKN0pPV0FQeWRBQkFBaEdaMEVXbDZWMWRYZmZk
ZDE5NmVucDZldnFjT1hPKy9mYmJ5RHBoRGNqVG95bHA4N3dHOFVaWkV2RmEwNjVMN3lPTk9Z
bm95NmpweGFqNWJJZmU0aG5QZUk3dGM4UytqUGE5anpUbUlFK1BwcVROOHhyRUcyVkp4R3RO
dTVibDZZT0RnNnBGR0lhMnBoTjlvdW1FMldBOUhRQ1FRRVNzZGYzOS9VZU9IUEg1Zk9mUG4y
OXFhbEoraER6ZG9tSmlTZVRwRE9SeDFyU0xlSzFwMTRJOHZiT3pzNldscGEydHJhdXJxNm1w
NmNpUkk4cFA3ZUxMeUZpNWNpWGY2SGhmUnVUcEFMaWN5UFR6bzQ4K1VubThLSW5uMm91cXRy
YTJ0a21USnZHTmp2ZGxSSjdPUUI1blRidUkxNXAyWFgzZGkxTFR1N3U3aTR1TDkrN2R5emM2
M3BjUmVUb0FMc2NNWGJXTHBpOWR1dlRGRjE5VWJuUzhMeU1SSEJuSmxiNk0vRG0yN2NZclhy
MW4rUFloWGhmR1M2UHdaVFJHVjlPWnRscTI5c0wrdlpHeUZjZjdNaUpQQjhEbHhGQk9PWGJK
MDhXTjhHWEVlcnFwN1NKZWE5cEZ2RWFGVFNETzE3Mkl1VDkvQzE5RzVPa0FPQnN6MURXTXBt
L2Z2dDNqOFNnWFJzem9SS3hBbmg1TlNadm5OWWczeXBLSTE1cDI3WjZuVDVnd1lkdTJiZjM5
L1dhMEhYT1Fwd01BRWdnelpEQ01wbWRtWmdZQ0FUTWFOZ1BrNmRHVXRIbGVnM2lqTElsNHJX
blg3bm42czg4K3UzTGx5dTd1YmpQYWppSHdaY1F6bnZHY1dNOFIreklhRTBiVEd4b2FSbzBh
NVRBUEw1dDh6eU5QWnlDUHM2WmR4R3ROdTNiUDA3T3pzeHNhR3JDZWJnWllUd2ZBNVpnaGcy
RTBmZHk0Y1ZoUGowa3hzU1R5ZEFieU9HdmFSYnpXdEd2M1BOMms5WFJ4SmFlK3ZyNndzREEx
TmJXMHRMU2xwWVhDbHhGNU9nQk9KN2E2eWdpajZaWjVBenp3d0FQdDdlM2QzZDJiTm0xaTkv
M0RseEY1dXFudElsNXIya1c4Um9WTndIYmVBQ2RPblBCNFBCUytqTXJIQmhMdnpnSUFZbzha
dWhwRzA1T1Nrc3hvbFNGcStxbFRwOHJMeTNmdTNFbmh5Nmpjdm9IQXh3N3hJbDRueFV1dDky
VmtUSmt5NWV6WnM3RnRrcVBTOU5iV1ZvL0hzMlhMRnZZV3Zvejg0ZlY2NDkxWkFFRHNNVU5Y
dzJqNml5KysrTkJERDEyOGVOR010cFdhWGwxZG5aMmR2WHYzYnI0RnZvejhVVXRxWTlpdU5j
WGtTMks5MVpwMkVhODE3ZHA5UGQyazMwakZPbFZiTGw2OENGOUdZMDBIQUNRNk1aRlRGZkg4
alRUbU9EVlByMENlam5pakxvbDRyV25YN25sNll1SFVQRjFUMHdFQWlZNFpNaGhHMC9mdDI1
ZWZuOCt1Zmxtd1lFRmRYWjBabllnVnlOT2o2YUhOOHhyRUcyVkp4R3ROdTNiUDA2Ky8vdnBk
dTNheEplK3Z2dnBxNnRTcFpuUWllaHp1eS9oK2NkeDdpMmM4NHptMnovSHhaVXhOVFEyRlFr
elR6NTA3bDU2ZUh0dm1ZNHRUOC9RaHI4WTlSMjdMYTZ5TVYzbVRseHZpTmJWZHhHdFUyQVRD
YVBvZGQ5eXhlZk5tUWtoWFY5ZUNCUXZtekpsalJpZGloVlBYMHdrc1g2d0ZOKzRDYXpCREJz
Tm9lbGRYMTMzMzNaZWVucDZlbmo1bnpweHZ2LzNXakU3RUNxZm02WnFhN3JhOEJubDZsQ1Z4
ZksxcDErNTV1a21JVjd2THVEQzYxcGNSZWJyRklFOEgxbUNHdXRyRncwdkdoZEcxdm96STA4
MW9GM202TmUwaVhxUENKcUNyNlI5KytHRmhZV0ZLU2twaFllRkhIMzFrUnR0S1RaZHhZWFN2
THlQeWRHdEJuZzZzd1F4ZDFkWDBvcUtpbDE5K09SQUl2UHp5eXlVbEpXYTByZFIwR1JkRzkv
b3lMdGtESHpzcjQ1MzdkSTZyNG5YYjhiVkR2TlI2WDhiazVPU2VuaDVLYVNnVVVnbG9yRkJx
dW93TG8ydDlHWkduV3d6WlFKQ3FBd3N3UTFkMU5WMHB1TEg5OTBhYTFjcTRNTHJXbHhIcjZX
YTBhN3llempYZERmR2EyaTdpTlNwc0FrYWFya2xNV2hYcmxIRmhkSzB2SS9KMGkwR2VEcXdo
Sm5LcXdvMGVYamI1bmtlZXpyQmhIb2M4UFlZbEVhOVJZUk53bzZiYkJPVHB0Z1Y1T3JBR00y
VFFqWnB1ays5NTVPa01HK1p4eU5OaldCTHhHaFUyQVlkb3VyTjlHWXRYN0loN2IxMzFURGFR
NGczd3dzU3p1Yy94OFdWTUxKQ25SOU5EbStjMXlOT2pMSW5qYTAyN3lOTmpDZGJUUVV6QWVq
cXdCak5rMEkyYWJwUHZlZVRwREJ2bWNjalRZMWdTOFJvVk5nRzdhSHBEUTBOZVhsNXljbkp1
Ym01RFF3T0ZMeVB5OVBpQlBCMVlneGxhYWhkTkh6ZHVuTi92RDRWQ1BwOHZJeU9Ed3BjUmVi
cko3U0pQdDZaZHhHdFUyQVRzb3VrbEpTVit2NytucDhmbjg1V1ZsVkg0TWlKUGp4L0kwNEUx
bUtHbGR0SDBBd2NPakJzM2poQXlidHk0QXdjT1VQZ3l3cGN4ZnZIT2ZUcUhiQ0R1aWRkdHg5
Y084VkxyZlJrdFp0cTBhWHp0NWZycnI2ZndaVVNlSGorUXB3TnJNRU5MN2FMcG1abVpmTzFs
L1BqeEZMNk1XRTgzdVYyc3AxdlRMdUkxS213Q2R0SDArdnA2ajhlVG5KdzhkZXJVTjk5OGs4
S1hFWGw2L0VDZURxekJEQzIxaTZiSEJPVHAwZlRRNW5rTjh2UW9TK0w0V3RNdTh2Ullnandk
eEFUazZjQWF6SkJCTjJxNlRiN25rYWN6YkpqSElVK1BZVW5FYTFUWUJCeWk2ZkJseEhNTW4r
SExpR2NMbnVITEdCN2s2ZEgwME9aNURmTDBLRXZpK0ZyVEx2TDBXSUwxZEJBVHNKNE96RUNj
VkdiSW9CczEzU2JmODhqVEdUYk00NUNueDdBazR1VzRTOU1IQmdaV3JsdzVlZkxrcEtRa1Fn
aUZMeVB5OVBpQlBCMllnYnMwZmRXcVZkT25UMjl2Yng4Y0hHUmI0TXRva3p4ZE5SSGRrTWNo
VDQ5aFNjVExjWmVtZXp3ZW44K24zQUpmUnB2azZjUE5XQjJRNURvZ0JHQkQzS1hweWNuSmp6
enl5T2pSb3owZXo0NGRPeWg4R1ZYYm44NkpWYnZEalpjN0ZFcldSallRMXR2RTllMkRMeVBp
TlNOZTFWbnNjRi9HQ1JNbStIdys1c3Q0OWRWWFUvZ3lxaDV4VEJzSjhuUUFZb0M3OHZUNTgr
ZjdmRDdteTVpZG5VM2h5M2psdyt2MXhxcmQ0UmFySmJYRHE0MFE5aldRdU91dFdFK1BZVW5F
eTNHWHBuZDFkZjNrSno5SlRVM055OHRqQyt2d1pWUStWTUpxSmNOdHVwYlV4ckczTVFGNU9q
QURkMmw2VEhCd25sNGhxS1J0ODNTdTZZbWJ4eUZQajJGSnhNdUJwZzhiQitmcG9xWmJCdkow
QUdJQ05IM1lJRStQcG9kaU1UWUZrYWZIdGwwYnhtdHF1NGlYQTAwZkJvNzNaYXdndFhIbzRZ
Wmlzb0hVRk5jTWE2K2E0cHJhZVBRMnRsSERseEhQTVg4bUc0aHlDM3dadzRNOFBab2Vpc1c4
WGkvWlFOeVdwN01rSFhsNnJFb2lYZzd5OUdHVFFPdnBaQU1aM3ZYcDhiaVZ0SmJVZGd5cE5W
MW1yNFJlVDFkcE9nQ3hBcG8rYkJJb1R6ZlFkTTA4WGRSMEMvSWFwczdHZWJvNFRaR25HMk8z
ZU0xdUYvRnkzS2pwSzFldVpLYU0xT20rakxXa05pSHk5TEJKdDRHbUp5akkwNEZKdUU3VDI5
cmFKazJheERYZDJiNk1CcHB1aHp5ZGlacE1uaTdLTi9KMFkrd1dyOW50SWw2T3V6Uzl1N3U3
dUxoNDc5NjlYTk9kNnN2STlLTEMzbm02Z2Fhck1ORDBCQ1hoOHZRRTZxckxjWmVtTDEyNjlN
VVhYNlNVY2sxM3FpL2ozS2R6dkY3djhweFZaRmkrakl2WFI5bnVzT0psM29xMXBMWWxaMVV0
cVRXb1RmVXAyOUtTczBxK1hidjU5ckhZRThpWGNkblRzNk9KMSt4eHR0dnhqV084N3ZKbFpQ
L2VpRU9kNjh2bzlYcHJTYTNOODNTdjE4djZpVHpkL2lUMGFMc0tkK1hwSEo2bk85V1hrVW1l
Z2FiYllUMmRxL21scmlybUl0YlRvMnczNXZIV2xOVEVzRUw3eDR2MWRHUHNxK2xPOVdXOEpI
bGVXMStmYnFEcFlrbk5mVTN1b0lrZ1R3Y200VkpOajRaRXlkT05GMTdNeTlPTnBjbzRUOWZM
VzVHbkQ3ZGQ1T25XdEd2RGVLSHB3eVloOHZTS2lCYlRvOC9UeVFiQ1ZzbkRacUQ4aXBlS3l3
K0QxTlVaZWJveU9oNXNvcVRxdFlaL1NBRTd3QTRRTkgzWUpFU2VIbGJUVGNyVHVWTHIvUzg2
WGt6VTlGcFN5NzhQVkpleDYybTZxcVFCTW5tY2ZHMURPaU1qYXJSNFBiN3lOZDlpLzd5MXBx
U21ZeWk4cHRzd2J6VzFYVnZGQzAwZk5nbmt5MWhCYXU4dnJpSFNqb3cvUGtmbkZPajFldTh2
cnFrZ3RjWStpOFViaW9jSVlTWFpjL0g3eGJXa2xya3RybG16UmxXbldOdWx2VFlVRDEzMk9J
emV3UzU2bDBSVlQ1VE9pOHg3a250SmNsOUdzZWN4NzFWTW5tdkRIVk83UGNkMzNPTFNPcHM1
OEdVY05oSGs2WkxyeTVLMXlaU01PRThYMDB6TkpRSlZ2c2xMS3ZOdWcrN3hTeTEvWEhqcElN
cUVYVngySDdweUdQbHlEV3VYL1NkVmczRTJ5R3VVRFVXVFQya01GQ0h2bnlxNXRJVVE1WHFS
UVo2dS9NZzQ4VGNJeDR3OFhXYXhLKzU1cTNKbVd0Q3V3ZThsZXNXTWw3Q1FwOGVCQ05iVEkx
ZzJsU3l2Vnl5eXhYU3laTThRdWFLcm9yaUlpcU44aE5WMHhoWEZPb2hLMDFYWHdOVHkyb2hh
MDlueUMxK0gwUnRuWmVjTlFsQlZvaG9INDZPZ1hFM1NmS3U2REYvVjZKWFZhV2k2ekJReWRi
M2JnaDh3WXRKL0EwMDNkWHprMnpLdkc5RDBDTkhVZEhFMFdmN0lQOVhMdlBqNnNuR3hrZzBs
eHZteXF0MncycTJYcHlzbGlXd2dKUnRLaGdoaE9lWVZIUk4wcDJSRFNlMlYwcXdYTDlsQVZC
azZleWczOG5pSCtEVThWOG9mMTNUVzdxV1BpTWJvc2RkelZ1YW94NWFvQTJHMXNYZzFLeEhI
V1huVXZGNnZNbkRXSzdZTXJkUjAxVjZzdlBMNEtvZmE2L1dxZ2xLT2pBcmxlamR0YXhPbmls
NFVNdkpuUVo2dXVWNHZuN2VTeTM4UDhkcFVVWGk5WHRYZm5RYnlLaCtJYWdBMWExWVdNOVow
cFc2b1VQYmM0UGlLQjlvTUdiU0xwdGZYMXhjV0ZxYW1wcGFXbHJhMHROQklmUm5GNFl2eUlV
cWtaaG1aWXBkcTZ4ajJsZWxzbDRyTDBzTTh6VlcvWWZLUEtraHR4eERoWlhoNVBVMVhQcmoy
R1dpNk10NEtoYWIvdU1iaUpVUGVIMXV2VUNxbVlwVkRiSjExbTRVd1JJZ3lMakZleWNPbkdp
dldnUXFkQjZ1V0tRNkxqbTNodncrTHFUM3Z0bkUzVkIzbW9zYUhYWFhDS3dlRVhQbE5veXBE
cnZ5YlEwOUVOQ3ZSSzhEalZmVmZUOHYwWk91S2FhOFlCREdyRUErb2NraFZhaXQ1NkRXNkpI
ZVNSdjlRTmFRM1hSMnU2UTg4OEVCN2UzdDNkL2VtVFp2WWZmK1IrVExXQ2ljOGt4disxdXYx
dm4rcWhGMyt3US9BajFwREx1VmZRNFN3OUVlcElGeHJPb1orVE5QV3JGbkRGWUh0eUI2c0dL
dVFGVDVWVXZLalVBNHJUNytzNmNySC9TVTFldHFrV1pLMU8rUWxReDJLMVFaRlJzeTZwMUx6
UzNzcFpMM21jcnRNZkpYS2UybVFMMzhOOEpMOFU2Nm5iRURZTTgzSk1kQlp2WGlWM3l0SzVX
VUw1V0hsVzI4QTJZSGpoN3VDMUo0cUtSRy9uelFmYkY2cGpydHlickF0YzFibUtLY2ZENEh2
eURieXc4Ry9EbGwwckJpZnQwT0VzRUNVKzdKaUZmeGZtaERpOVhyNW4wMnNKQ3ZEZXNnRmxJ
MWU3WldUbWJ0RXFDUkovRHRNZVI3eEhoNXZ5eEVIdHZieWFQTXZTOTV1N2VWanAvd2VWWjdD
YTlhc3FWVk1BSFdaY09rQUFDQUFTVVJCVlBacDdlV3JzL2c0c3dGa0pWVzVnbkpmZm54NVo3
Z3hCZytmbjcrcUFWVEd5N2ZUbkJ6ZUJHOVhWSGIyVjRzWldtb1hUZWVjT0hIQzQvSFFTSDBa
SldVdWpvK3dtcTZkcDErWkxFZmVya1JWUTFjS3V2R095aStiUzJkNExIb2I1Mk9rMEhRODhJ
aitvVnlsNUJ0ZG9lbW5UcDBxTHkvZnVYTW5qZFNYY1huT3FncFNhL3o4L093L2hTMnpQR2ZW
L1NVMU1heU5sNXo3Umc3cElIUGZ5Q0h5dm93ZFpPNGJPVEZydDRNWXhEdDB1WXplczZwZHNU
YmVXOGtlVnVVOFo4WTRSM044NXo2ZDB6RkVUR3JYaHZHYTJpN2lWYzRyNVJhSCt6SlNTbHRi
V3owZXo1WXRXOWpieUh3WksrTDloUnoyOFdQYU84dzhmY2diVmVZb21hZnJaZWg2KzJwdVNm
UThYV1l0Q0E4OGh2dmdhMktYM2pvN1Q2K3VyczdPenQ2OWV6ZmZFcGt2bzh6SVNxNUV4N1pZ
eFpYcjJnYWFycjJlTGdqbC9TVTF2SUJ5dStiSysxQzRKUlNON3VrOGxQSHFxVHpieU5vTisx
VlVsZk9jR2VPc1BwMnUvRlZBcGtJMmtsRzJhMDI4UXhKZm9pYk41d2ppMWV4dHpOdTFUN3g2
RDRkck9ybVNpeGN2UnVqTEtKeTZvc1pwYm1SWGE0Z2JsU1V2WGE4dDdDc0txMEc3VjBpazhx
MU9lbTdHWStqeVF5TmVpVHlkeDZ2VWRENTZ5bFo0QWQ2VzVsaXBlc0xlaW9majBuWDYzdkRI
VjJQZks3OStyaGp6eXk5VTErT1R5ejlOODdtaG1neWFFMGExVVc5ZWlmSHF6VW4xNElRTHpi
aGRaVzI2N1dyT0RTMGhGa3ZxelN2bHdMSzNlcU1uRHFETThkV04xeXNScjhReDBqdm9tdnVx
bWhpNjhoVDRjYnV6TlQwbVBQWFVVektLVnZKK2lmWEY1RXZPZVhDald1NHRhVGY2WWt3eWRF
dnFSSFFwWHN2SDJhQ1lVaXRqZjN6cmNvd0hoRzIvb2piK3hSTk52Q3QyR0JXNC9QV20wYTZx
REM5NXVjSkxxWURlOGVYeEdqU3RHWVZtNjhwQVlqSXNjck0wa3VNclZGdWhOTm51Y00xMUw5
RWdxZWw0NEdIOHFKQllnOElEaitFK1ZQTUttaDRlaCtUcFlmTWFjOXBGdklnWDhWb1dMNEdt
RzhOOUdVa0hLWDYvR005NHhqT2ViZjRNWDhid0lFOUh2SWdYOFNaRXZBUjV1Z3hZVDhjRER6
d1M1UUZORHcveWRNU0xlQkZ2UXNSTG9PbFUwcGRSYmpUeHdBTVBQT0w3NEpwZS8rQ0QzMy8x
VmF4ME1wRTBYY2FYVVdZb25mRTk3N2E4QnZFaVhpZkZTeFNhN3ZWNDFreWYvc0ZMTC9WMWQw
ZXZrNG1rNlRLK2pKS2ppUWNlZU9BUjM0ZFMwOWxqdy8vNVAzOTc1NTBvZFRLUk5GM1RsL0hv
MGFOUFBQSEVpbVhMSHJ2dnZ2OTc2NjJQTDF6NHhCTlBHRC8vN3Y3N3c1WjVmT0hDMy96bU56
R3NUYjVrMVM5K0VaZDJFUy9pUmJ5V3hmdjR3b1ZNdFpiLzlyYy9hdnF0dC81dHo1NG9kVEtS
TkYzR2wxR21uaSsvL05MNll2SWx1OTkvUHk3dElsNXIya1c4MXJScjgzaVZzTFdYOS8vOFo5
ZXR2Y2o0TXNyVTA5UFRZMzB4K1pJWE5tMktTN3VJMTVwMkVhODE3ZG84WGlYMWl4ZC8zOWs1
M0wzMFNDUk5sL0ZsdEw1WE1hZi83Tmw0ZDhGU0VLK3pRYndXazBpYUhwYjJXUC9IRUFBQVND
d2NwZW1KQWlFazNsMEE1b0pEN0d6c2ZIeWg2U2JDL3IvSHFGR2pwaytmL3R4enovWDM5eHNV
VTg2Uyt2cjZ3c0xDMU5UVTB0TFNscFlXWldIeHhxdXd0MklCa3lDRS9OZC8vUmQvK3gvLzhS
OTZwL3F3amhvT3NVMlFQNzYyT29XaDZTYkNqbkZ2YisvSEgzOTg0NDAzL3R1Ly9Wdll3b3dI
SG5pZ3ZiMjl1N3Q3MDZaTnFpdDh4QnV2d3Q2S0JVeUNFREo3OXV6QndVRkthVzl2YjJscHFk
NDVQNnlqaGtOc0UrU1BMeS9QWDhmeEZJYW1tNGp5R0hkMGRGeDc3YlhpZHMzQ25CTW5Ubmc4
SHVXbjRvMVhZVy9GQWlaQkNQbmpILys0WThjT1N1bm16WnVmZU9JSmZwaFVSMVBtcU9FUTJ3
MzU0MnV3MGZwVEdKcHVJc3BqM052Ym01S1NJbTdYTE13NGRlcFVlWG41enAwN2xSdkZHNjgw
YjhVQ0ZrQUlPWDc4ZUVWRnhlRGdZR2xwNmNtVEovWE8rV0VkTlJ4aW15Qi9mUFUyeHVVVWhx
YWJpUElZSHoxNk5DY25SOXl1V1poUzJ0cmE2dkY0dG16Wm9pb20zbmdWOWxZc1lCTHNrTjEz
MzMyLy8vM3ZmL0dMWDFERlFWUWR6V0VkTlJ4aW15Qi9mRFUzeHVzVWhxYWJDRjlQUDNUbzBP
elpzL2w2ZXRnSlVWMWRuWjJkdlh2M2JyR1llT05WMkZ1eGdFbXdRL2IrKys4VFF2YnQyMGYx
ei9saEhUVWNZcHNnZjN6RmpYRThoYUhwSnNKK0NoODVjaVM3N3FXdnI0OXZGNHNwZnpwWGJi
bDQ4U0xmUmJ6eEt1eXRXTUFreEJOYjc1eVhPV280eEhaRC92amE2aFNHcGdNQWdIT0FwZ01B
Z0hPQXBnTUFnSE9BcGdNQWdIT0FwZ01BZ0hPQXBnTUFnSE9BcGdNQWdIT0FwZ08zWTJ6TUJF
QmlBVTFQWUhwNmVwWXRXM2IxMVZlUEhUdjIrZWVmajNkMzdBNGg1SVVYWHFDR3BxbUEwOTdl
VGdqQi81bVJ3VlpUQzVxZXdDeGZ2dnkrKys3NzVwdHZ2di8rKzBjZmZUVGUzYkU3aEpDQ2dv
TEJ3Y0hwMDZmSC9jU3pQMnZXckJreFlzU2FOV3ZpM1pFRXdGWlRDNXFld0V5Wk1rWDF2OHlW
ODBsNUgvUHk1Y3ZUMDlQTHlzckVZdTZCRUhMTExiZXNXclhxMWx0dlZRNk9hdEJlZnZubDhl
UEhaMlptYnJyOHo0TGRPVngzM0hISGd3OCtlTWNkZDdDM1pXVmw3SDg3TkRjM3o1dzVrMUxh
MXRaV1VGQ1FscGEyWXNVS1l5TVV4eU5PTFRhdlVsSlMrUC9FK1AzdmYvL3JYLythVXZxclgv
MXF5WklsZk1lWWR3YWFuc0FrSnllci9uZVNucWEvOE1JTGdVRGdvWWNlc3JSL05vTVE4c1li
YjR3WU1XTHIxcTJhQThWZXIxKy9QaGdNTmpVMXVka0JNUkFJakJrejVwdHZ2aGt6Wmt3Z0VL
Q1VybDI3bHY4RGgzWHIxbEZLUzBwS05tN2NHQWdFTm0zYTVFNHA1K2hOcmY3Ky9uMzc5azJh
TklsUzJ0ZlhkK2VkZC83aEQzKzQ4ODQ3dWZXVEdVRFRFeGlEUEwydnIwK3A2YjI5dlZaM3pu
NFk2TGp5dFo3Vm1xdG9iR3prL2xPTmpZMlUwblBuem1Wa1pIejU1WmNaR1JuZmZmY2RwVFFs
SlNVWURGSktnOEdnbThlS2FrMm45ZXZYZXp5ZUVTTkdFRUtTa3BMWVIyMXRiWVNRdHJZMlV6
c0RUVTlncXFxcTdydnZ2bE9uVHAwL2Y3NnFxb3BTT21IQ2hOMjdkM2QzZDIvWXNNSGxmdzZM
U0dxNjVtdTNzV1RKRXZhcisvUFBQODhYQ2lvcksyKzQ0WVo1OCtheHQ4WEZ4WC85NjErRHdl
Qi8vdWQvdW5tc3FOYTBTVXRMYTJwcUNnYURQcCtQYlFrR2c2V2xwWGZmZlhkcGFXbDNkN2Q1
bllHbUp6Q2hVT2poaHgrZU1HRUN2KzZsdXJvNkl5TmovUGp4NjlhdE05QjBkNTZCNG9tbmFa
RXFsbmZoY09YbDVSMCtmSmhTZXZqdzRieThQTGF4dWJtWkVOTGMzTXpldHJhMjV1Zm5wNlds
UGY3NDR5TkdqR0FiWFRoV1ZHdmFQUHZzc3hrWkdSa1pHYXRYcjJaYkZpMWF0R0RCQWtycFAv
L3pQeTlldkZqY01WWkEwd0VBa1RNd01QRFdXMjlObno0OTNoMEJsNENtQXdBaWhDMFc1K1hs
L2ZkLy8zZTgrd0l1QVUwSEFBRG5BRTBIQUFEbmtCaWE3czRmWGdBQVlMZ01UOU9KRHBvbGs1
S1Nycm5tbWovODRRL3NJbFlyNmV6c3ZPbW1tMGFPSEhuVFRUZDk5ZFZYRnJkdUdlTDROelEw
ekpneFkrVElrZVhsNWUrOTl4N2JrcGVYbDV5Y25KZVh0MzM3ZHMxNkdob2FQQjVQYW1ycWpU
ZmVlUHo0Y1VycGxpMWJycnZ1dXRUVTFKa3paKzdkdTllYWNNeEdIQzV4U3lnVWV1U1JSN0t6
cy9VbU50VWFaT056SVJIUkM4ZnI5ZktONHJTUnFVYzVWbGxaV1NiMTMyTEVLU0ZLa0l3b2ll
ZWR6SVJVTVh4Tjd4QWVPcG8rT0RoNDh1VEorZlBuLy9HUGY1VHBTZ3laTzNmdWloVXJ1cnU3
VjZ4WVVWbFphWEhyRnFNYy84ckt5bzZPamxBb3RIMzc5b2tUSjFKS016SXlkdTNhRlFxRi9I
NS9Sa2FHWmcxWldWa3RMUzA5UFQwK24rL25QLzg1cFhUdTNMbUhEeC91N3U3ZXNtV0x3MjZu
Tkw2eXM2cXFxcXlzcktPalkzQndVSzhHY1pBZEkrVXFWSEY5OHNrblRGellXM0hhU05iRFdM
Smt5Wk5QUGhuRDNzWVJjVXFJRWlRalN1SjVKek1oVlppbzZlekZ5Wk1uMmEyeEgzNzRZV0Zo
WVVwS1NtRmg0WWNmZnNqSy9PTS8vdU84ZWZOeWMzUFpqUXpzdTBocGtzQTNLbXNXSFRsVVpH
VmxuVDU5bWxKNit2UnBoMG1TaURqK3dXQ3d2cjZlWFY1V1dscmEzTnpjMDlPemUvZHVadE1o
a3BXVnRXZlBIblp5amg4L1h2blJ5Wk1uVTFOVG5YUWJxckdtVDU0OCtkMTMzNVdwUnpuSWhK
Q01qSXowOVBTZi92U25KMDZjaUdGdjQ0dnFMNWlpb3FMWFhudE5xZWw2MDhhZ0hzYjMzMytm
bVpuWjFkVVY4ejdIRWVXVUVDVm9XS0xFenp2NUNja3hYZFA3Ky90VFVsSW9wUVVGQmErKytt
b3dHS3l1cmk0c0xHUmx1Si9ubURGaitMNUtrd1JWYlZUT2tXUEVpQkVEQXdPMzNISkxmMzkv
Y25LeXpFQWtMcXJ4NTMvVkhqeDRrRkxhMnRxYW1abEpDTW5Nek5TN0tibXVydTdhYTY4ZFBY
cjA0NDgvcmh5dWI3Lzl0cUtpd21HT2o4YWFucHljdkdMRml2VDA5SnljbkczYnRobFVvaHhr
eHRtelo2dXFxbTY2NmFhWTl6bGVLRWZtc2NjZSs4VXZmcUhjcURkdGpPdGhyRjY5bXQyQTR4
aFVVMEtVSUhsUlVwNTNraE5TaVhWNWVuSnlNbHRZRHdRQ1RPV0o0czQ5b20rU1FBVk5EK3ZJ
a1pXVmRlYk1HZXJXUEQwUUNHemR1cldvcUloU21wK2Y3L2Y3UTZHUXorY3JLQ2d3cm1ydjNy
MVRwa3hocnc4ZVBKaWJtN3RpeFlxQmdRRXp1aDB2akRVOU16UFQ1L1AxOVBTMHRMUVlyL1lx
QjVuVDNkMmRtcG9hdzk3R0YrWElzTE5TYzUxZE9XM0Mxa01wN2V2cnk4bkpNZHYyeEhxVVUw
S1VJRWxSVXAxMzhoT1NZKzU2K3RkZmYvM0xYLzZTK1VWbzV1bXFaOUVrZ2RjVzlyV1MrKysv
Lzhrbm53eUZRazgrK1NSTExoeU1jaEFXTFZyVTJka1pDb1hxNit2Wm44UGp4bzN6Ky8wOVBU
MjdkdTNTVzArbmxBNE9EaDQ5ZXJTa3BJVDV4dFRVMUZSVVZMQWxNb2Rock9uMzNuc3ZQNFgw
VGp4eGtCay8vUEREcWxXcktpb3FZdC9wT0dHY3JsRmgya2pXVTFkWE4zdjI3RmgxMGc2SVUw
S1VJQmxSRXM4N21RbXB3a1JOVDBwS21qaHg0dTkrOXp2bTFibHYzNzZDZ29MazVPU0NnZ0sr
bnE1NkZrMFN5SlZRT1UwL2NlTEVyRm16MkMveW5aMmRNZ09SaUlpRFUxdGJtNXVibTVLU1Vs
UlU1UGY3S2FWMWRYWHNUNStwVTZmVzE5ZnpIY1Y2c3JPemx5NWRHZ3FGeEpvdlhyeG9lWEN4
UjNNdXFiWWNQMzU4MXF4WktTa3BIbytub2FHQjc2aXNSeHhrdHZ1b1VhTnV2LzMyenovLzNQ
TElZbzg0TXNxUGxHV1UwNGJxVEMxVlBiTm16WkpjUmtnVXhDa2hTcENtS0JrUDE4V0xGelVu
cERGbVhjc0lBQURBZWhMam5pTUQ4QVVEQUFDY2hOZDBBQUFBSEdnNkFBQTRCK3MwWFdaVkJD
c25BQUFRRGRiOVJocERUWWYweXlCemRQUThLSlMySG01QXhvdERMQ1BqcFpQUWlHWWpNa1pB
WWhtSC9kWWxoaVBPQkwyQk1qNnpZdUs4Tkh4Tlg3SkgvWUNtMnhqanNkTDBvRkRaZXJnQlNT
OE9WUmtaTDUyRVJqUWJrVEVDMGl2anNCbWxERWVjQ1pxREVQYk1pb256a2xtYWZ1alFvWmt6
WnlZbkp4UEYxYXdxbjVhalI0L2VmUFBOcWFtcDA2Wk40LzUybE5Lelo4L2VkdHR0bXpkdnBq
b3VNYXJ2U2JHZVdiTm1zZithNkx5N0c0YUw4WWtrZWxDSXRoNXVRTWFMUXl3ajQ2V1QwQmlZ
amNnWUFhbktPR3hHS2NNeG1BbDhFR1RPckpnNEw1bWw2U1VsSmV2V3JlTjNJbEF0bjVieTh2
TFhYMzg5RkFydDJyVnIyclJwckV4SFIwZFpXUmszOEJMdlBxWEM1QkRyMmJwMUt6TUZLeTh2
Mzdselo5aTRISXp4aVNSNlVJaTJIbTVBeG90RExDUGpwWlBRNkptTnlCZ0JpV1VjTnFPVTRl
ak5CT1VneUp4Wk1YRmVNa3ZUVTFKUzJPMmp5bjFWUGkwcEtTazg0MmJ1TG9TUTB0TFM3T3pz
OXZaMlZsSjBpYUhDb0lqMTlQWDFYWGZkZGR1MmJTc29LSkQzcUhRa1lmTjBsUWVGZ2EySGc1
SHg0aERMRE10TEp4SFJOQnVSTVFMU0xPT3c2YVFNUjNNbXFBWmhXR2RXTk01TFptbDZjWEh4
dW5YcmVucDZsUHVxWGxkVVZEUTJOblozZHl1M256bHpac2VPSGJtNXVlenZYTTA4ZmVUSWtV
cEhVN0VlU3Vuenp6K2ZucDZ1WjhickhveG5qNEVIaGNQT1FHTmt2RGpFTXBKZU9vbUxhRFlp
WXdTa1Y4WmhNMG9aampnVERBYktlQnlpZDE0eVM5TS8vdmpqMHRKUzl0VWtSc0plSHp0MjdQ
YmJiMDlMUytOZlhMeE1UVTNOckZtemdzR2c2QkpES1YyMmJCbmJpNzBWNjZHVS92M3ZmOC9L
eXJMK1h5elpCM0lsZktPeWpJRXhqc1BPUUdOa3ZEakVNcHBlT2s1Q05CdFJUU3BtQktRYUtM
R001bFJNWE1Sd3hKbWdPVkI4ZDgzWGZLOG9uWmVjNmZjeU1ERHdsNy84WmRteVpmSHVDQUFB
V0lvejd5TWxoSlNWbGJIVkd3QUFjQS9PMUhRQUFIQW4wSFFBQUhBTzhIc0JBQURua0pCK0ww
QWVHYjhJMGNsRXh2L0VrY2hNYVF3WFEyYXNSQU1UY1l1ckNPdjNvdktOaVdDNGhxM3BRMTcx
QTVwdVp5UU5PbFJPSmpMK0p3N0dlQjVpdUpRWWo1Vm9ZQ0p1Y1E5aC9WNUUzNWdJaHNzc1RU
ZlA3NFU3QnpRM056dlNaTU1rRFB3aVJDY1RHZjhUQnhOV3B6QmNuTEJqcFRJd01iQTBjVFl5
ZmkraWIwd0V3MldXcHB2bjk3SjI3ZHI1OCtkVFN1Zk5tN2R1M1RxWklJR3hYNFRvWkNMamYr
SmdqSFVLdzZYRWVLeEVBeE05U3hQSEkrUDNJdnJHUkRCY1ptbTZlWDR2NTg2ZHk4akkrUExM
THpNeU1yNzc3anVaSUYxT1dMOEkwY2xFeHYvRXdZVE5QVEZjSE1uMVVxV0JpZDRXWnlQajky
TGdJQ1EvWEdacHVxbCtMNVdWbFRmY2NBTnpYZ1RHeVBoRmlFNG1NdjRuRHNaWXB6QmNTc0px
dXNyQVJIT0xxekFZTVUwSG9lRU9sMW1hYnFyZlMzTnpNeUdFT2FRRFkxUlhLR2thZEloT0pn
WStNTTVHODRJdURKY21NbVBGUGhJTlRKUmIzSWFvaEJ3OTM1aGhEWmN6L1Y0QUFNQ2Q0RDVT
QUFCd0R0QjBBQUJ3RHRCMEFBQndEbVpwT2hiWkFRREFlc3o2alJTYWJoUGc5eklzWkg3Mngz
QXhaS1pXUTBQRGpCa3pSbzRjV1Y1ZXp1NFZENFZDanp6eUNMdEYzc0VxSVU0a3BXRHlmKzZx
aWRJVEpvS3BOZnhyR1R2VUQyaTZuWUhmU3dRWXoxNE1GME5tYWxWV1ZuWjBkSVJDb2UzYnQw
K2NPSkZTV2xWVlZWWlcxdEhSNFlaLy9xNDVrWllzV2ZMa2swL3E3YUx5aElsZ2FwbXI2VXJu
RnRIZFplM2F0UjZQaDNuQzREdkFiT0QzSW8veGJNUndxVENZV294Z01GaGZYejk5K25SSzZl
VEprOTk5OTEwTGV4ZFB4SW4wL2ZmZloyWm1kblYxYVpZWFBXRWltRm9tYXJyS3VVVjBkeGt6
Wm96WDYrM282RkRlYmdyTUFINHZ3OEpZMHpGY1NveW5GcjI4NXBDVmxYWHc0RUZLYVhKeThv
b1ZLOUxUMDNOeWNyWnQyMlpoVCtPQU9KRldyMTY5WU1FQ3ZmS2lKMHdFVTh0RVRWYzV0NGp1
TG0rLy9mWTk5OXd6YmRxMHNXUEhQdlBNTXpMZEJSRUF2NWZoRWpaUHgzQXh3azR0UmlBUTJM
cDFhMUZSRWFVME16UFQ1L1AxOVBTMHRMUVlMeXM3QU5WRTZ1dnJ5OG5KWWVaY21vaWVNQkZN
TFJNMVhlWGNJcnE3TUFZR0J2YnUzWnVlbmk3VFhUQmM0UGNTQWNhYWp1Rml5RXl0UllzV2RY
WjJoa0toK3ZwNlpoVjc3NzMzY2sxMy9QY2ZFVzc5bnoxNzlyQjJqR0JxbWY0YktYZHUwWFIz
SVlRd2M0T05HemZLZEJjTUY5VVZTdkI3TVVZMVhIeWpzZ3lHaXlFenRXcHJhM056YzFOU1Vv
cUtpdngrUDZYMCtQSGpzMmJOU2tsSjhYZzhEUTBOOGVtNitXaE9wRm16WnFtV20vU3lCNzQ5
Z3FrRnZ4Y0FBSEFPdUk4VUFBQ2NBelFkQUFDY0F6UWRBQUNjZzlXYXJseDh4MEk4QUFERWxu
aitSZ3BOanptaW1VWkRRME5lWGw1eWNuSmVYdDcyN2RzMTkycG9hUEI0UE95MzllUEhqMnZX
NHhKa1BFekV3WEdEMzRzWXRWSUI5SzQwRjZlZnpJUjBBT0k1SlROSlltSWxOR3hOcnlDMXFn
YzAzVDZJWmhvWkdSbTdkdTBLaFVKK3Y1Ly9oME1WV1ZsWkxTMHRQVDA5UHAvdjV6Ly91V1k5
TGtIR3cwUWNIRGY0dlJoTUNRTURFM0g2eVV4SUJ5Q2VVektUSkNaV1FpWnFPaUZrK2ZMbDZl
bnBaV1ZsZkl1NDltTHNDYU5aRDlCRE5OTW9MUzF0Ym03dTZlblp2WHYzekprek5mZkt5c3Jh
czJjUG0zL3N4aEJYbVhKb1l1QmhJZzZPRy94ZTlLYUVzWUdKT1Axa0pxUURFTThwbVVrU0V5
c2hjelg5aFJkZUNBUUNEejMwa0hLajhuVllUeGk5ZW9BbW9wbEdhMnRyWm1ZbUlTUXpNMVB2
cHVTNnVycHJyNzEyOU9qUmp6LytPUE9VY0pVcGg0aXhoNGs0T0c3d2U5R2JFc1lHSnVMMGs1
bVFEa0E4cDJRbVNVeXNoTXpWZERITlVXbDZXRThZdlhxQUpxS1pSbjUrdnQvdkQ0VkNQcCt2
b0tEQWVQZTllL2RPbVRKRnN4NzNFTmJEUkJ3Y04vaTlhRTZKc0FZbTR2UWIxb1IwQVB5Y2tw
a2tNYkVTTWxmVGpUY1NPVThZTEx2TEk1cHBqQnMzenUvMzkvVDA3TnExeTJENWNuQnc4T2pS
b3lVbEpWVlZWWnIxdUFRWkR4TnhjTnpnOTZJNUpjSWFtSWpUVDNKQ09nRFZPU1V6U1dKaUpX
U2Rwb3VYeXZBQ0JwNHdZajNBQU5GTW82NnV6dVB4TUZPZCt2cDZWa3p6MEdSblp5OWR1alFV
Q21uVzR4SlVzMVRUdzBRY0hEZjR2V2hPaWJBR0p1TDAwNXlRemtNOHB6UW5pV3E0WW1JbEJM
OFhBQUJ3RHJpUEZBQUFuQU0wSFFBQW5BTTBIUUFBbklOMW1qNnN5MlA0UjhicjlWaktCd0FB
SmRiOVJocXgva0xUbzBIR3VRVitMeHlaV2ExbndlSDFlaDA4VnVLd05EUTB6Smd4WStUSWtl
WGw1Znl1YnhYaVdEblM3MFcwQ1JJbmt1U1pxQnFjQ0s1REdiYW0xNUphMVFPYWJtZGtuRnZn
OThLUm1WR2FGaHlmZlBJSk8xM043Vis4VVFaWVdWblowZEVSQ29XMmI5OCtjZUpFemZMaVdE
blM3MFcwQ1JKbmdzdzVwVGM0dHREMHRXdlhlanllNU9Say9pVkRDSG41NVpmSGp4K2ZtWm01
YWRNbVhxRnlkejIvRjJYTnJhMnRCUVVGYVdscFZWVlY3Q094TGNDUmNXNkIzd3VIRUpLUmta
R2VudjdUbi83MHhJa1RtbVZFQzQ1UUtGUlVWUFRhYTY4NWZ2cUpBUWFEd2ZyNit1blRwMnVX
RjhmSzJYNHYzQ1pJbkVneTU1VGU0TmhDMDhlTUdlUDFlanM2T25wNmV2aSs2OWV2RHdhRFRV
MU55bHNUbGJ2citiMG9hNTR4WTBaTlRVMHdHSHpsbFZmWVIySmJnQ1BqM0FLL0Z4Vm56NTZ0
cXFxNjZhYWJORDhWTFRnZWUrd3hkbytmMnpTZFpWRlpXVmtIRHg3VUxDK09sWVA5WGtTYklP
VkVram1uOUFiSEZwcis5dHR2MzNQUFBkT21UUnM3ZHV3enp6ekQ5dTNyNnhPN3FIeXQ1L2Vp
ckRrbEpTVVlERkpLQTRFQSswaHNDM0NHNWR3Q3Z4ZE9kM2QzYW1xcTVrZWlCY2VJRVNPRysv
TlNnaUpHRndnRXRtN2RXbFJVcEZsZUhDdW4rcjNvMlFUeGlTUnpUdWtOamkwMG5URXdNTEIz
Nzk3MDlIU3FyK1BLMTVwK0w1TW1UVkptQVVWRlJTeFByNjZ1VnU2cmJBdHdKSjFiNFBlaTVJ
Y2ZmbGkxYWxWRlJZWG1wd1lXSE00V2RIcGxnSXNXTGVyczdBeUZRdlgxOVd6SlRrUWNLMGY2
dmVqWkJDa25rc3c1cFRjNHR0QjBsckF3VjRlTkd6ZFNMUjBuVjBJcDFmUjcrZXRmLzVxZW5z
N2Y3dCsvUHo4L1B5MHRiZm55NWNwNmxHMEJqcVpOaCtaZjBQQjdvWmVIWXRTb1ViZmZmdnZu
bjMvT055ckxHRmh3T0ZqVHhiTzF0clkyTnpjM0pTV2xxS2pJNy9mellzcTl4TEZ5cE4rTGFu
QXVYcndvVGlTWk0xRWNISEhZd3dLL0Z3QUFjQTY0anhRQUFKd0ROQjBBQUp3RE5CMEFBSnlE
M1RVZGkvVUFBQ0NQM1g4amhhWkhpZWhFSVNLYWN1aFptamdlbVNtTjRXTElqSlZvSmVSSXZ4
ZDVqRTJCeE1FUkJ6QXN3OWIwamlIMUE1cHVaMFFuQ3MweUtsTU9UVXNUOTJBODZ6QmNTb3pI
U3JRU2NxVGZpeVJoVFlIRXdSRUhNQ3htYWJxbTMwdFZWVlZhV3RyMDZkTmJXMXNwcFI5KytH
RmhZV0ZLU2twaFlTRzdYUC9Rb1VNelo4NWtlL0VXS2FWbno1Njk3YmJiTm0vZUxCTVMwSVE3
VVlnZmlhWWM0aFpYRVZhbk1GeWNzR09sc2hKeXR0K0xBVEttUU9MZ2lBTVlGck0wWGRQdnBi
cTZPaGdNMXRUVUZCY1hVMG9MQ2dwZWZmVlZka2RvWVdFaHBiU2twR1RkdW5Yc3RwY2ZXK3pv
S0NzcmEybHBrWWtIYUNJNlVTZ1JUVG5FTGE3Q1dLY3dYRXFNeDBxMEVuS3czNHN4TXFaQTR1
Q0lBeGdXc3pSZDArK0YrYlFFZzBGbWdKQ2NuTXlkVzFKU1VpaWxLU2twZ1VCQTFXSnBhV2wy
ZG5aN2U3dE1QRUJFejRtQ0k1cHlpRnRjUmRqY0U4UEZrVndkNVZaQ1R2VjdDWXVNS1pEQjRQ
QUJESXU1NitrcXZ4ZVdsZGZVMU15WU1ZTnE1ZW5GeGNYcjFxMVQyaXNTUXM2Y09iTmp4NDdj
M0Z6MjV5MFlGbnBPRkVwRVV3NERTeE0zWUt4VEdDNGxZVFZkWlNYa1NMK1hZV0V3WXBxRG94
ckFzSmlsNmV5N1NPWDN3dGJUOC9QejkrL2ZUeW5kdDI5ZlFVRkJjbkp5UVVFQkU1MlBQLzY0
dExTVWZhR3A0cStwcVprMWF4Ykw2NEU4cWl1VUxsNjhTQ1ZNT1F3c1RaeU41Z1ZkR0M1TlpN
YUtmYVMwRW5LazM4dXdVQTZSYXJqMC9GNlVBeGlXQlBqZmRRQUFBQ1NKLy8rWUJnQUFFQ3Zz
Zmg4cEFBQUFlYURwQUFEZ0hPeW82VmlsQVFDQXlERHhOMUpJc3gxb2FHaVlNV1BHeUpFank4
dkwzM3Z2UGMweU1ERGh3QjVISHBteDByTXJNYlk5Y1RCaC9WNVV3eVV6eUNxR3JlbER3Z09h
Ym1jcUt5czdPanBDb2REMjdkc25UcHlvV1FZR0poelk0OGdqTTFhYWRpVmhiVStjU3RqQXhl
R1NHV1FWWm1tNlpoWlBDRm0rZkhsNmVucFpXUm5WOG52aE84cDBIY2dUREFicjYrdW5UNSt1
K1NrTVRFUmdqeU9QOFZpcDdFcGtiRThjaVV6Z0J1NHVCb09zd3RJOG5SRHl3Z3N2QkFLQmh4
NTZpR3JkUjZxM0k0Z0c5aldabFpWMThPQkJ6UUl3TUZFQmV4eDVqTWRLdEN1UnNUMXhKREtC
NjdtN0dBK3lDcXMxWGZrOUkvcTk2TzBJb2lRUUNHemR1cldvcUVqelV4aVlLSUU5amp4aHg0
ckQ3VXBrYkU4Y3liQUNWN3E3eUE4eXcwUk5Iemx5NUlrVEoxUzdLOThpVDdlQVJZc1dkWFoy
aGtLaCt2cDZQYTlPR0pod1lJOGpqOHhZVVgyN0V0ZWU1c2FCcTRaTGNwQ1ZtS2pweTVZdFMw
dExVNjJuS3d1SWZpOFJXQTRBWTJwcmEzTnpjMU5TVW9xS2l2eCtQOXVvR2xzWW1IQlVNeEQy
T0FiSWpCWDdTTk91eExVbnVJRWtpc09sT2NqRzJQMS8xd0VBQUpESGp2Y2NBUUFBaUF4b09n
QUFPQWRvT2dBQU9BZTdhem9XNndFQVFCNjcrNzFBMDZORTVuZHNHSmh3TUZ6eXlJeFZRME5E
WGw1ZWNuSnlYbDdlOXUzYkpmZHlBR0tZa3NPbDhudUpZTGlHcmVsZUFXaTYvVEVlUmhpWXFN
Qnd5V004VmhrWkdidDI3UXFGUW42L1gvbmZSMTF5WG90aEdnZXVhWThUZGk4VlptbTZtTVVU
NGFyTXNyS3lscFlXU21semMvUE1tVE9wbGdNTUszbjI3Tm5iYnJ0dDgrYk44b0VCSldGbkVn
eE1sR0M0NURFZXE5TFMwdWJtNXA2ZW50MjdkN056WEdZdnh4Q0JwbXY2dmRoQzA4VitpSnEr
ZHUzYStmUG5VMHJuelp1M2J0MDZxblZuS1NHa282T0RxeitJRE9NNUFRTVRGUmd1ZVl6SHFy
VzFOVE16a3hDU21abloxdFltdVpkakdLNm02L205MkYzVCsvcjYyT3R6NTg1bFpHUjgrZVdY
R1JrWjMzMzNIZFZ5Z0NHRWxKYVdabWRudDdlM3kwY0ZWSVRORG1CZ29nVERKWS94V09YbjUv
djkvbEFvNVBQNUNnb0tKUGR5RE1QVmRJN1M3MFYrTDRhSm1xN3llNWt3WWNMdTNidTd1N3Mz
Yk5qQWQ2bXNyTHpoaGh2bXpadkgzbXJtNldmT25ObXhZMGR1Ymk3Ny9Nd0ZwZ0FBQ0haSlJF
RlU4eFpFZ1BHY2dJR0pDZ3lYUE1aak5XN2NPTC9mMzlQVHMydlhMcXluYTI1Um9XbVBZeGRO
Vi9tOVZGZFhaMlJrakI4L2Z0MjZkWHhqYzNNeklhUzV1Wm05MVhTQVlSL1YxTlRNbWpXTFpm
RkFIbklsZktPeURBeE1PQmd1ZVdUR3FxNnV6dVB4akJneFl1clVxZlgxOVhwN09ROHhUSm5o
WWg4WitMM0lOQTIvRndBQWNBNTJ2K2NJQUFDQVBOQjBBQUJ3RHRCMEFBQndEdFpwT3BiZEFR
REFiS3o3alJTYWJnRjZSOFRnOGlUcVlsTU9FZVdzenNySzBpeWo1KzVpUE1pSnpwWXRXNjY3
N3JyVTFOU1pNMmZ1M2J1WFV0clEwREJqeG95UkkwZVdsNWUvOTk1N21udUpFMG1zeHdHSVo1
RG8zQ0lUZUdTRHJHTDRtcjVCZUVEVGJZWnFxRC81NUpQczdHeUQ4WGU1S1ljbVM1WXNlZkxK
SnpVLzBuUjNDVHZJaWM3Y3VYTVBIejdjM2QyOVpjc1dkbDlWWldWbFIwZEhLQlRhdm4zN3hJ
a1REZlpWRG90WWp3TVF6eURSdVVVbThHZ0dtV09XcGlzMzhzc3pYMzc1NWZIangyZG1abTdh
dEVtekRIdXhmUG55OVBUMHNySXlldmw3UGlVbHBiUzBGUFlBa2lnSE5oUUtGUlVWdmZiYWF3
Wnk0M0pURHBIdnYvOCtNek96cTZ0TDgxUFIzVVZta0IzRHlaTW5VMU5UZTN0NzJkdGdNRmhm
WHo5OStuU0RYVFNIUlZWUFFpT2VRWHJPTFZRdThBZ0dtV09wcHE5ZnZ6NFlERFkxTmJFelFV
L1RYM2poaFVBZzhOQkREL0ZQKy92NzkrM2JOMm5TSkptUWdISmdIM3ZzTVhabm80SGN1TnlV
UTJUMTZ0VUxGaXpRKzFSMGQ1RVpaR2Z3N2JmZlZsUlVQUHJvbyt3dFg2UTZlUENnd1Y3aXNL
anFTWFRFTTBqUHVVVW04TWdHbVdPNnBuTjNGMEpJWDErZjhsT3hETnVvL0FaYnYzNDl1dytO
RUpLVWxDUVRFbEFlRVRaMHh1dmpMamZsVU5IWDE1ZVRrNlA4YmxNaHVydklETElET0hqd1lH
NXU3b29WS3dZR0J2akdRQ0N3ZGV2V29xSWlneDFWWTZKWlQwS2pkd2JSSzUxYlpBS1BlSkE1
Wm1tNjZPNGladVdhRGpDcTJ0TFMwcHFhbW9MQm9NL25jL0RaRWx2Qy91V2t3dVdtSENycTZ1
cG16NTV0VU1EQTNjWEJJMVpUVTFOUlVjRWNPeGlMRmkzcTdPd01oVUwxOWZXcTVRVVZ5bUVS
NjNFQW1tZVF5cmxGSnZCb0JwbGpscWFMN2k2aXBtczZ3S2hxZS9iWlp6TXlNakl5TWxhdlh1
M2dFeVpXa0N0UmZhVDVtcnJZbEVPVFdiTm1iZHUyVGJsRk5RSUc3aTRPSGl2VmxMaDQ4V0p0
YlcxdWJtNUtTa3BSVVpIZjcrZkZEUGJTckNjT3djUWF2VFBJd0xtRkJXNDhYSHFEYkF6OFhn
QUF3RG5nUGxJQUFIQU8wSFFBQUhBTzBIUUFBSEFPMEhRQWJJM2RmcStLcGo5Mmk4V1JRTk1C
MENCaTlZbTViQmxVR0gxYi9KNVlTdW1wVTZmMExHNWtHcFc1YmtLbXc1cWVKeXJ2RklQVytS
WVpweFRSdWtmUHpNZTRMWm1yUmNTNHhMYkVlaUt3eDRHbUE2Q0JTelQ5NXB0dmZ1Kzk5eVpQ
bmp4bHlwUjMzMzNYK01KODQwWmxPaU5UUnZROEViMVRaT3FYY1VvUnJYczB6WHdrWXpHT1Rv
eExyeTFsUFJIWTQwRFRBZEJBODR3bFYxb1ByVjI3MXVQeEpDY244OXhLNWdKZlZYN0hucXVx
cXRMUzBxWlBuOTdhMmtvcGJXMXRMU2dvU0V0THE2cXFVdGFzYkYxczYralJvemZmZkhOcWF1
cTBhZE40Wm1vc05Jc1dMVnE5ZXZYVXFWTTlIcythTldzV0wxNnNXWS9ZSDVrUkUrc2hoQ3hm
dm56MDZORThVZ080NTRtQmQwcllQcWljVWxRRlJPc2VjWXRtdFpvYkpiOWlsWEdKYmVuVkky
K1BBMDBIUUFPOTgxTnBQVFJtekJpdjE5dlIwZEhUMHhOMlI4MENYSytycTZ1RHdXQk5UVTF4
Y1RHbGRNYU1HVFUxTmNGZzhKVlhYbEdXVnhrZnFkb3FMeTkvL2ZYWFE2SFFybDI3cGsyYkpo
UG02dFdyYjd6eHhubno1bFZXVnQ1NDQ0MXIxcXpSckVldlA2cTRWRjh6WWozS1NJM3ZkRmQ2
bnVoNXAyajJRZXlTZ1ZPS2FOMGpicEZzUzNPTGNWeDZiWW4xRE1zZUI1b09nQWJpZVNWYUQ3
Mzk5dHYzM0hQUHRHblR4bzRkKzh3enoranRxRmV6MGdvcEdBeFNTb1BCWUdwcUtxVTBKU1dG
YlFrRUFxeU1wdkdScXEyVWxCUXVxWkxtU0R0MjdFaEtTbnJwcFpmKy9PYy9KeVVsN2R5NVU3
TWVzVDh5SXliV0kwYXFpWjR2aXRJN1JiSVB4azRwb25XUHVFVytyYkNIWGhXWFhsdXFlb1py
andOTkIwQUQ4ZnpVc3g0YUdCall1M2R2ZW5vNmV6dHk1TWdUSjA0WTFLeHBoZlRxcTYreTdI
WEdqQm1VMHFLaUlwWVhWMWRYc3pLYXJhdmFxcWlvYUd4czdPN3VsZy96MkxGamhKQURCdzU4
OU5GSGhCQW1BbUk5WW45RXhPMWlQY3BJMlY4a0lwcStLQ3J2RkQyVWZaQnhTaEd0ZXd6TWZN
TEdhNnpwWWx4NmJTbnJpY0FlQjVvT2dBYmlTb0pvUGNRK1lpNGZHemR1WkRzdVc3WXNMUzNO
NFBUV3RFSmk2K241K2ZuNzkrK25sTzdmdno4L1B6OHRMVzM1OHVWNnJZdHRIVHQyN1BiYmIy
ZGIrRVpqb2VudDdSMHpaa3hQVDA4b0ZCb3paZ3h6VGhYckVmdWpPV0txTFdJOXlrajExdE5W
STMveDRrWDJRdW1kRW5ZdlNxbU1IWTFvM2FOcDVxUGFTMnhMM0NJVGw5aFcySnBsN0hHZzZR
REVHV1BaQldCWVFOTUJpRFBRZEJCRG9Pa0FBT0Fjb09rQUFPQWNvT2tBQU9BY29Pa0FBT0Fj
b09rZ01XaHNiR3hxYXVydjcyOXFhbXBzYkpUY3hmaFR2UUtCUU1EbjgybVdOOWdMQURzQVRR
ZUpRV05qNC92dnYvL1paNTk5OE1FSHNWSlZ2WG9PSFRva2ZnUXBCd2tCTkIwa0JvMk5qY2VP
SGZQNy9jZU9IZVB5cW5yUjJOalkzdDd1OS91UEhqMnF0MUZWcDlqUUR6LzgwTnpjcktucGZy
OS96NTQ5cDA2ZGltbGtBTVFTYURwSURCb2JHOCtkTzhlZitVYmxpOGJHeHUrKyt5NFFDTEQ3
QmpVM3F1b1VHL3I0NDQrUEh6K3UrZEhnNE9DcFU2ZDI3OTRkdTdBQWlESFFkSkFZTkRZMkRn
NE92dlBPTzRPRGcxeHcvWDUvSUJEZ0tpOUt2TGhSVmFkbVEzcnI1b09EZzJmT25JR21BenNE
VFFlSmdWSmgrZXVqUjQvNi9mNzI5dllJTkYwbDNPS240b3ZHeHNZOWUvWjg4ODAzc1F3TWdK
Z0NUUWNBQU9jQVRRY0FBT2NBVFFjQUFPY0FUUWNBQU9jQVRRY0FBT2NBVFFjQUFPZndvNmEz
dHJhK0FRQUFJUEVoRUhRQUFIQU0veC9PYmg1MWt3QkRHZ0FBQUFCSlJVNUVya0pnZ2c9PSIg
Lz48L3A+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OiAycHggc29saWQgIzMyNUZC
QTsgcGFkZGluZy1sZWZ0OiA1cHg7bWFyZ2luLWxlZnQ6NXB4OyI+LS0tLS1VcnNwciZ1dW1s
O25nbGljaGUgTmFjaHJpY2h0LS0tLS08YnIgLz48c3Ryb25nPkFuOjwvc3Ryb25nPglLb25y
YWQgUnplc3p1dGVrIFdpbGsgJmx0O2tvbnJhZC53aWxrQG9yYWNsZS5jb20mZ3Q7OyA8YnIg
Lz48c3Ryb25nPkNDOjwvc3Ryb25nPglTYW5kZXIgRWlrZWxlbmJvb20gJmx0O2xpbnV4QGVp
a2VsZW5ib29tLml0Jmd0OzsgeGVuLWRldmVsICZsdDt4ZW4tZGV2ZWxAbGlzdHMueGVuc291
cmNlLmNvbSZndDs7IEphbiBCZXVsaWNoICZsdDtqYmV1bGljaEBzdXNlLmNvbSZndDs7IEtv
bnJhZCBSemVzenV0ZWsgV2lsayAmbHQ7a29ucmFkQGRhcm5vay5vcmcmZ3Q7OyA8YnIgLz48
c3Ryb25nPlZvbjo8L3N0cm9uZz4JQ2Fyc3RlbiBTY2hpZXJzICZsdDtjYXJzdGVuQHNjaGll
cnMuZGUmZ3Q7PGJyIC8+PHN0cm9uZz5HZXNlbmRldDo8L3N0cm9uZz4JRGkgMjguMDIuMjAx
MiAxNTozOTxiciAvPjxzdHJvbmc+QmV0cmVmZjo8L3N0cm9uZz4JUmU6IFtYZW4tZGV2ZWxd
IExvYWQgaW5jcmVhc2UgYWZ0ZXIgbWVtb3J5IHVwZ3JhZGUgKHBhcnQyKTxiciAvPjxzdHJv
bmc+QW5sYWdlOjwvc3Ryb25nPglpbmxpbmUudHh0PGJyIC8+PHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4uYm9keWNsYXNzIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfTwvc3R5bGU+ICAg
ICAgICAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gICAgICAgLmJvZHljbGFzcyAg
ICAgICB7ICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBTYW5zLVNlcmlm
ICEgaW1wb3J0YW50OyAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgICAgICAgICBwYWRkaW5n
OiA1cHggNXB4IDVweCA1cHg7ICAgICAgICAgbWFyZ2luOiAwcHg7ICAgICAgICAgYm9yZGVy
LXN0eWxlOiBub25lOyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7ICAgICAg
IH0gICAgICAgIHAsIHVsLCBsaSAgICAgICB7ICAgICAgICAgbWFyZ2luLXRvcDogMHB4OyAg
ICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgICAgICAgfSAgIDwvc3R5bGU+ICA8ZGl2Pjxw
PldlbGwgbGV0IG1lIGNoZWNrIGZvciBhIGxvbmdlciBwZXJpb2Qgb2YgdGltZSwgYW5kIGVz
cGVjaWFsbHksIHdoZXRoZXIgdGhlIERvbVUgaXMgc3RpbGw8L3A+PHA+d29ya2luZyAoY2Fu
IGRvIHRoYXQgb25seSBmcm9tIGF0IGhvbWUpLCBidXQgbG9hZCBsb29rcyBwcmV0dHkgd2Vs
bCBhZnRlciBhcHBseWluZyB0aGU8L3A+PHA+cGF0Y2ggdG8gMy4yLjggOi1ELjwvcD48cD4m
bmJzcDs8L3A+PHA+QlIsPC9wPjxwPkNhcnN0ZW4uPGJyIC8+Jm5ic3A7PC9wPjxibG9ja3F1
b3RlIHN0eWxlPSJib3JkZXItbGVmdDogMnB4IHNvbGlkICMzMjVGQkE7IHBhZGRpbmctbGVm
dDogNXB4O21hcmdpbi1sZWZ0OjVweDsiPi0tLS0tVXJzcHImdXVtbDtuZ2xpY2hlIE5hY2hy
aWNodC0tLS0tPGJyIC8+PHN0cm9uZz5Bbjo8L3N0cm9uZz4JSmFuIEJldWxpY2ggJmx0O0pC
ZXVsaWNoQHN1c2UuY29tJmd0OzsgPGJyIC8+PHN0cm9uZz5DQzo8L3N0cm9uZz4JS29ucmFk
IFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWRAZGFybm9rLm9yZyZndDs7IHhlbi1kZXZlbCAm
bHQ7eGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb20mZ3Q7OyBDYXJzdGVuIFNjaGllcnMg
Jmx0O2NhcnN0ZW5Ac2NoaWVycy5kZSZndDs7IFNhbmRlciBFaWtlbGVuYm9vbSAmbHQ7bGlu
dXhAZWlrZWxlbmJvb20uaXQmZ3Q7OyA8YnIgLz48c3Ryb25nPlZvbjo8L3N0cm9uZz4JS29u
cmFkIFJ6ZXN6dXRlayBXaWxrICZsdDtrb25yYWQud2lsa0BvcmFjbGUuY29tJmd0OzxiciAv
PjxzdHJvbmc+R2VzZW5kZXQ6PC9zdHJvbmc+CUZyIDE3LjAyLjIwMTIgMTY6MTg8YnIgLz48
c3Ryb25nPkJldHJlZmY6PC9zdHJvbmc+CVJlOiBbWGVuLWRldmVsXSBMb2FkIGluY3JlYXNl
IGFmdGVyIG1lbW9yeSB1cGdyYWRlIChwYXJ0Mik8YnIgLz5PbiBUaHUsIEZlYiAxNiwgMjAx
MiBhdCAwODo1Njo1M0FNICswMDAwLCBKYW4gQmV1bGljaCB3cm90ZTo8YnIgLz4mZ3Q7ICZn
dDsmZ3Q7Jmd0OyBPbiAxNS4wMi4xMiBhdCAyMDoyOCwgS29ucmFkIFJ6ZXN6dXRlayBXaWxr
ICZsdDtrb25yYWQud2lsa0BvcmFjbGUuY29tJmd0OyB3cm90ZTo8YnIgLz4mZ3Q7ICZndDtA
QCAtMTU1MCw3ICsxNTUyLDExIEBAIHN0YXRpYyB2b2lkICpfX3ZtYWxsb2NfYXJlYV9ub2Rl
KHN0cnVjdCB2bV9zdHJ1Y3QgKmFyZWEsIGdmcF90IGdmcF9tYXNrLDxiciAvPiZndDsgJmd0
OyAJc3RydWN0IHBhZ2UgKipwYWdlczs8YnIgLz4mZ3Q7ICZndDsgCXVuc2lnbmVkIGludCBu
cl9wYWdlcywgYXJyYXlfc2l6ZSwgaTs8YnIgLz4mZ3Q7ICZndDsgCWdmcF90IG5lc3RlZF9n
ZnAgPSAoZ2ZwX21hc2sgJmFtcDsgR0ZQX1JFQ0xBSU1fTUFTSykgfCBfX0dGUF9aRVJPOzxi
ciAvPiZndDsgJmd0Oy08YnIgLz4mZ3Q7ICZndDsrCWdmcF90IGRtYV9tYXNrID0gZ2ZwX21h
c2sgJmFtcDsgKF9fR0ZQX0RNQSB8IF9fR0ZQX0RNQTMyKTs8YnIgLz4mZ3Q7ICZndDsrCWlm
ICh4ZW5fcHZfZG9tYWluKCkpIHs8YnIgLz4mZ3Q7ICZndDsrCQlpZiAoZG1hX21hc2sgPT0g
KF9fR0ZQX0RNQSB8IF9fR0ZQX0RNQTMyKSk8YnIgLz4mZ3Q7IDxiciAvPiZndDsgSSBkaWRu
JiMzOTt0IHNwb3Qgd2hlcmUgeW91IGZvcmNlIHRoaXMgbm9ybWFsbHkgaW52YWxpZCBjb21i
aW5hdGlvbiwgd2l0aG91dDxiciAvPiZndDsgd2hpY2ggdGhlIGNoYW5nZSB3b24mIzM5O3Qg
YWZmZWN0IHZtYWxsb2MzMigpIGluIGEgMzItYml0IGtlcm5lbC48YnIgLz4mZ3Q7IDxiciAv
PiZndDsgJmd0OysJCQlnZnBfbWFzayAmYW1wOz0gKF9fR0ZQX0RNQSB8IF9fR0ZQX0RNQTMy
KTs8YnIgLz4mZ3Q7IDxiciAvPiZndDsgCQkJZ2ZwX21hc2sgJmFtcDs9IH4oX19HRlBfRE1B
IHwgX19HRlBfRE1BMzIpOzxiciAvPiZndDsgPGJyIC8+Jmd0OyBKYW48YnIgLz48YnIgLz5E
dWghPGJyIC8+R29vZCBleWVzLiBUaGFua3MgZm9yIGNhdGNoaW5nIHRoYXQuPGJyIC8+PGJy
IC8+Jmd0OyA8YnIgLz4mZ3Q7ICZndDsrCX08YnIgLz4mZ3Q7ICZndDsgCW5yX3BhZ2VzID0g
KGFyZWEtJmd0O3NpemUgLSBQQUdFX1NJWkUpICZndDsmZ3Q7IFBBR0VfU0hJRlQ7PGJyIC8+
Jmd0OyAmZ3Q7IAlhcnJheV9zaXplID0gKG5yX3BhZ2VzICogc2l6ZW9mKHN0cnVjdCBwYWdl
ICopKTs8YnIgLz4mZ3Q7ICZndDsgPGJyIC8+Jmd0OyA8YnIgLz48YnIgLz5fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciAvPlhlbi1kZXZlbCBt
YWlsaW5nIGxpc3Q8YnIgLz5YZW4tZGV2ZWxAbGlzdHMueGVuc291cmNlLmNvbTxiciAvPmh0
dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1kZXZlbDxiciAvPjwvYmxvY2txdW90ZT48
L2Rpdj4gICA8L2Jsb2NrcXVvdGU+PC9kaXY+ICAgPC9ibG9ja3F1b3RlPjxwPiZuYnNwOzwv
cD4gPGhyIHNpemU9IjEiIG5vc2hhZGU9Im5vc2hhZGUiIC8+RS1NYWlsIGlzdCB2aXJlbmZy
ZWkuPGJyIC8+IFZvbiBBVkcgJnV1bWw7YmVycHImdXVtbDtmdCAtIDxhIHRpdGxlPSJEaWVz
ZXIgZXh0ZXJuZSBMaW5rIHdpcmQgaW4gZWluZW0gbmV1ZW4gRmVuc3RlciBnZSZvdW1sO2Zm
bmV0IiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5hdmcuZGUiPnd3dy5hdmcu
ZGU8L2E+PGJyIC8+IFZlcnNpb246IDIwMTIuMC4yMTI3IC8gVmlyZW5kYXRlbmJhbms6IDI0
MTEvNDkzMiAtIEF1c2dhYmVkYXR1bTogMTIuMDQuMjAxMjwvZGl2PiAgIDwvYmxvY2txdW90
ZT4KPC9ib2R5Pgo8L2h0bWw+
--=_YUdH-dvcOkdqumcxjwwOCt1SaC2W6cO+GX5lCiR8bVByKT8d--



--===============1809693732979586600==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1809693732979586600==--



From xen-devel-bounces@lists.xen.org Fri May 11 11:14:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnnl-0005VG-Fg; Fri, 11 May 2012 11:14:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSnnl-0005VB-21
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:14:25 +0000
Received: from [85.158.138.51:46642] by server-4.bemta-3.messagelabs.com id
	87/71-15341-094FCAF4; Fri, 11 May 2012 11:14:24 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336734861!22523138!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5342 invoked from network); 11 May 2012 11:14:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:14:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330923600"; d="scan'208";a="194422011"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 07:14:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 07:14:20 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSnng-0000Pl-6k;
	Fri, 11 May 2012 12:14:20 +0100
Message-ID: <4FACF443.5080002@eu.citrix.com>
Date: Fri, 11 May 2012 12:13:07 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336649508.7098.97.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


>> +
>> +static void pciassignable_remove(const char *bdf, int rebind)
>> +{
>> +    libxl_device_pci pcidev;
>> +    XLU_Config *config;
>> +
>> +    memset(&pcidev, 0x00, sizeof(pcidev));
> libxl_device_pci_init also.
>
> You are also missing the xlu_cfg_destroy both here and in the add fn.
>
> (it's a bit annoying that an XLU_COnfig is needed for these simple
> helper functions, I suppose it's for logging, but maybe they could log
> to stderr if cfg==NULL. Anyway, lets not fix that here)
Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix 
those up while I'm at it.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:14:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnnl-0005VG-Fg; Fri, 11 May 2012 11:14:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSnnl-0005VB-21
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:14:25 +0000
Received: from [85.158.138.51:46642] by server-4.bemta-3.messagelabs.com id
	87/71-15341-094FCAF4; Fri, 11 May 2012 11:14:24 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336734861!22523138!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5342 invoked from network); 11 May 2012 11:14:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:14:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330923600"; d="scan'208";a="194422011"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 07:14:20 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 07:14:20 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSnng-0000Pl-6k;
	Fri, 11 May 2012 12:14:20 +0100
Message-ID: <4FACF443.5080002@eu.citrix.com>
Date: Fri, 11 May 2012 12:13:07 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336649508.7098.97.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


>> +
>> +static void pciassignable_remove(const char *bdf, int rebind)
>> +{
>> +    libxl_device_pci pcidev;
>> +    XLU_Config *config;
>> +
>> +    memset(&pcidev, 0x00, sizeof(pcidev));
> libxl_device_pci_init also.
>
> You are also missing the xlu_cfg_destroy both here and in the add fn.
>
> (it's a bit annoying that an XLU_COnfig is needed for these simple
> helper functions, I suppose it's for logging, but maybe they could log
> to stderr if cfg==NULL. Anyway, lets not fix that here)
Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix 
those up while I'm at it.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:20:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:20:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnsd-0005dC-6u; Fri, 11 May 2012 11:19:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSnsb-0005d6-Qi
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:19:25 +0000
Received: from [193.109.254.147:10233] by server-3.bemta-14.messagelabs.com id
	24/88-23274-DB5FCAF4; Fri, 11 May 2012 11:19:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336735164!8837512!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28767 invoked from network); 11 May 2012 11:19:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:19:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427425"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:19:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 12:19:24 +0100
Message-ID: <1336735163.23818.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Fri, 11 May 2012 12:19:23 +0100
In-Reply-To: <4FACF443.5080002@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
	<4FACF443.5080002@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 12:13 +0100, George Dunlap wrote:
> >> +
> >> +static void pciassignable_remove(const char *bdf, int rebind)
> >> +{
> >> +    libxl_device_pci pcidev;
> >> +    XLU_Config *config;
> >> +
> >> +    memset(&pcidev, 0x00, sizeof(pcidev));
> > libxl_device_pci_init also.
> >
> > You are also missing the xlu_cfg_destroy both here and in the add fn.
> >
> > (it's a bit annoying that an XLU_COnfig is needed for these simple
> > helper functions, I suppose it's for logging, but maybe they could log
> > to stderr if cfg==NULL. Anyway, lets not fix that here)
> Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix 
> those up while I'm at it.

Thanks, looked like my grep missed them somehow when I added the init
fns. The reset of the memset's in xl_cmdimpl.c look ok except for:

    memset(cpumap.map, 0, cpumap.size);

in main_cpupoolnumasplit which smells a bit fishy -- I'll investigate
that one...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:20:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:20:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnsd-0005dC-6u; Fri, 11 May 2012 11:19:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSnsb-0005d6-Qi
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:19:25 +0000
Received: from [193.109.254.147:10233] by server-3.bemta-14.messagelabs.com id
	24/88-23274-DB5FCAF4; Fri, 11 May 2012 11:19:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336735164!8837512!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28767 invoked from network); 11 May 2012 11:19:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:19:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427425"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:19:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 12:19:24 +0100
Message-ID: <1336735163.23818.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Fri, 11 May 2012 12:19:23 +0100
In-Reply-To: <4FACF443.5080002@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
	<4FACF443.5080002@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 12:13 +0100, George Dunlap wrote:
> >> +
> >> +static void pciassignable_remove(const char *bdf, int rebind)
> >> +{
> >> +    libxl_device_pci pcidev;
> >> +    XLU_Config *config;
> >> +
> >> +    memset(&pcidev, 0x00, sizeof(pcidev));
> > libxl_device_pci_init also.
> >
> > You are also missing the xlu_cfg_destroy both here and in the add fn.
> >
> > (it's a bit annoying that an XLU_COnfig is needed for these simple
> > helper functions, I suppose it's for logging, but maybe they could log
> > to stderr if cfg==NULL. Anyway, lets not fix that here)
> Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix 
> those up while I'm at it.

Thanks, looked like my grep missed them somehow when I added the init
fns. The reset of the memset's in xl_cmdimpl.c look ok except for:

    memset(cpumap.map, 0, cpumap.size);

in main_cpupoolnumasplit which smells a bit fishy -- I'll investigate
that one...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:21:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:21:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSntl-0005gY-M1; Fri, 11 May 2012 11:20:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSntk-0005gR-6o
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:20:36 +0000
Received: from [193.109.254.147:8519] by server-12.bemta-14.messagelabs.com id
	BF/F5-05898-306FCAF4; Fri, 11 May 2012 11:20:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336735223!8736180!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4090 invoked from network); 11 May 2012 11:20:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:20:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427448"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:20:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 12:20:22 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSntW-00060H-Ig; Fri, 11 May 2012 11:20:22 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSntW-0000K4-H1;
	Fri, 11 May 2012 12:20:22 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20396.62966.512112.404603@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 12:20:22 +0100
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
	<20395.62069.578209.953705@mariner.uk.xensource.com>
	<A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Zhang, Yang Z writes ("RE: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus"):
> Ian Jackson [mailto:Ian.Jackson@eu.citrix.com]:
> > This error handling should really go away.  Would you be able to
> > provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
> > That never fails, so that would also mean libxl_cpumap_alloc can't
> > fail.
> 
> I don't think so. Libxl_cpumap_alloc() also returned error when
> max_cpus equal zero. So the error handling cannot be avoid even
> using libxl__zalloc.

Hmm.  Can it not be made to either abort or succeed in this case ?

> > > diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> > > --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> > > +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> > > @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
> > >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> > >      for (i = 0; i < info->max_vcpus; i++) {
> > >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> > << i)))
> > > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> > > +
> > && !libxl_cpumap_test(&info->avail_vcpus, i))
> > >                              ? "offline" : "online";
> > 
> > If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
> > simpler.
> 
> Sorry. What your mean for this?

I mean that if you changed libxl_cpumap_test to tolerate a NULL cpumap
and simply return false, then the caller wouldn't have to check for
it.  But you may prefer to keep it the current way.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:21:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:21:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSntl-0005gY-M1; Fri, 11 May 2012 11:20:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSntk-0005gR-6o
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:20:36 +0000
Received: from [193.109.254.147:8519] by server-12.bemta-14.messagelabs.com id
	BF/F5-05898-306FCAF4; Fri, 11 May 2012 11:20:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336735223!8736180!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4090 invoked from network); 11 May 2012 11:20:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:20:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427448"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:20:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 12:20:22 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSntW-00060H-Ig; Fri, 11 May 2012 11:20:22 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSntW-0000K4-H1;
	Fri, 11 May 2012 12:20:22 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20396.62966.512112.404603@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 12:20:22 +0100
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
	<20395.62069.578209.953705@mariner.uk.xensource.com>
	<A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Zhang, Yang Z writes ("RE: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus"):
> Ian Jackson [mailto:Ian.Jackson@eu.citrix.com]:
> > This error handling should really go away.  Would you be able to
> > provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
> > That never fails, so that would also mean libxl_cpumap_alloc can't
> > fail.
> 
> I don't think so. Libxl_cpumap_alloc() also returned error when
> max_cpus equal zero. So the error handling cannot be avoid even
> using libxl__zalloc.

Hmm.  Can it not be made to either abort or succeed in this case ?

> > > diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> > > --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> > > +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> > > @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
> > >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> > >      for (i = 0; i < info->max_vcpus; i++) {
> > >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> > << i)))
> > > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> > > +
> > && !libxl_cpumap_test(&info->avail_vcpus, i))
> > >                              ? "offline" : "online";
> > 
> > If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
> > simpler.
> 
> Sorry. What your mean for this?

I mean that if you changed libxl_cpumap_test to tolerate a NULL cpumap
and simply return false, then the caller wouldn't have to check for
it.  But you may prefer to keep it the current way.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:23:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnw6-0005q5-7X; Fri, 11 May 2012 11:23:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSnw4-0005ps-Ii
	for xen-devel@lists.xen.org; Fri, 11 May 2012 11:23:00 +0000
Received: from [85.158.143.35:16942] by server-3.bemta-4.messagelabs.com id
	01/23-05853-396FCAF4; Fri, 11 May 2012 11:22:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336735376!15605637!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24324 invoked from network); 11 May 2012 11:22:57 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:22:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330923600"; d="scan'208";a="25097871"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 07:22:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 07:22:55 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SSnvy-0000Y6-Sa;
	Fri, 11 May 2012 12:22:54 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5abc2c4e80892ca27db56406dcaf5cc3d7d9afda
Message-ID: <5abc2c4e80892ca27db5.1336735374@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 12:22:54 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: George Dunlap <George.Dunlap@eu.citrix.com>, Ian.Jackson@citrix.com
Subject: [Xen-devel] [PATCH] xl: use libxl_cpumap_set_none not memset
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336735243 -3600
# Node ID 5abc2c4e80892ca27db56406dcaf5cc3d7d9afda
# Parent  6d45fbdca09be60726eb7043a42dbac552e202e0
xl: use libxl_cpumap_set_none not memset

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 6d45fbdca09b -r 5abc2c4e8089 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 10 14:14:24 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 12:20:43 2012 +0100
@@ -6107,7 +6107,7 @@ int main_cpupoolnumasplit(int argc, char
         fprintf(stderr, "failed to offline vcpus\n");
         goto out;
     }
-    memset(cpumap.map, 0, cpumap.size);
+    libxl_cpumap_set_none(&cpumap);
 
     for (c = 0; c < n_cpus; c++) {
         if (topology[c].node == LIBXL_CPUTOPOLOGY_INVALID_ENTRY) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:23:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnw6-0005q5-7X; Fri, 11 May 2012 11:23:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSnw4-0005ps-Ii
	for xen-devel@lists.xen.org; Fri, 11 May 2012 11:23:00 +0000
Received: from [85.158.143.35:16942] by server-3.bemta-4.messagelabs.com id
	01/23-05853-396FCAF4; Fri, 11 May 2012 11:22:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336735376!15605637!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24324 invoked from network); 11 May 2012 11:22:57 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:22:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330923600"; d="scan'208";a="25097871"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 07:22:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 07:22:55 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SSnvy-0000Y6-Sa;
	Fri, 11 May 2012 12:22:54 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5abc2c4e80892ca27db56406dcaf5cc3d7d9afda
Message-ID: <5abc2c4e80892ca27db5.1336735374@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 12:22:54 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: George Dunlap <George.Dunlap@eu.citrix.com>, Ian.Jackson@citrix.com
Subject: [Xen-devel] [PATCH] xl: use libxl_cpumap_set_none not memset
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336735243 -3600
# Node ID 5abc2c4e80892ca27db56406dcaf5cc3d7d9afda
# Parent  6d45fbdca09be60726eb7043a42dbac552e202e0
xl: use libxl_cpumap_set_none not memset

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 6d45fbdca09b -r 5abc2c4e8089 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 10 14:14:24 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 12:20:43 2012 +0100
@@ -6107,7 +6107,7 @@ int main_cpupoolnumasplit(int argc, char
         fprintf(stderr, "failed to offline vcpus\n");
         goto out;
     }
-    memset(cpumap.map, 0, cpumap.size);
+    libxl_cpumap_set_none(&cpumap);
 
     for (c = 0; c < n_cpus; c++) {
         if (topology[c].node == LIBXL_CPUTOPOLOGY_INVALID_ENTRY) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:26:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnzF-00061Q-Sx; Fri, 11 May 2012 11:26:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSnzF-000617-5D
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:26:17 +0000
Received: from [85.158.139.83:5621] by server-5.bemta-5.messagelabs.com id
	B7/FC-13566-657FCAF4; Fri, 11 May 2012 11:26:14 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336735572!25151432!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14781 invoked from network); 11 May 2012 11:26:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:26:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427561"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:26:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 12:26:12 +0100
Message-ID: <1336735571.23818.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 12:26:11 +0100
In-Reply-To: <20396.62966.512112.404603@mariner.uk.xensource.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
	<20395.62069.578209.953705@mariner.uk.xensource.com>
	<A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
	<20396.62966.512112.404603@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 12:20 +0100, Ian Jackson wrote:
> Zhang, Yang Z writes ("RE: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus"):
> > Ian Jackson [mailto:Ian.Jackson@eu.citrix.com]:
> > > This error handling should really go away.  Would you be able to
> > > provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
> > > That never fails, so that would also mean libxl_cpumap_alloc can't
> > > fail.
> > 
> > I don't think so. Libxl_cpumap_alloc() also returned error when
> > max_cpus equal zero. So the error handling cannot be avoid even
> > using libxl__zalloc.
> 
> Hmm.  Can it not be made to either abort or succeed in this case ?

max_cpus == 0 means xc_physinfo failed, which is either a memory
allocation failure (bounce buffering) or a pretty serious error
(toolstack/hypervisor mismatch which is logged or perhaps an
XSM/privilege type thing) from which we are unlikely to recover.

I'd say that a hard failure would be acceptable here.

Ian.

> 
> > > > diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> > > > --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> > > > +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> > > > @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
> > > >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> > > >      for (i = 0; i < info->max_vcpus; i++) {
> > > >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > > > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> > > << i)))
> > > > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> > > > +
> > > && !libxl_cpumap_test(&info->avail_vcpus, i))
> > > >                              ? "offline" : "online";
> > > 
> > > If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
> > > simpler.
> > 
> > Sorry. What your mean for this?
> 
> I mean that if you changed libxl_cpumap_test to tolerate a NULL cpumap
> and simply return false, then the caller wouldn't have to check for
> it.  But you may prefer to keep it the current way.
> 
> Ian.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:26:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSnzF-00061Q-Sx; Fri, 11 May 2012 11:26:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSnzF-000617-5D
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 11:26:17 +0000
Received: from [85.158.139.83:5621] by server-5.bemta-5.messagelabs.com id
	B7/FC-13566-657FCAF4; Fri, 11 May 2012 11:26:14 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336735572!25151432!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14781 invoked from network); 11 May 2012 11:26:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:26:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427561"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:26:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 12:26:12 +0100
Message-ID: <1336735571.23818.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 12:26:11 +0100
In-Reply-To: <20396.62966.512112.404603@mariner.uk.xensource.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E11726C@SHSMSX101.ccr.corp.intel.com>
	<20395.62069.578209.953705@mariner.uk.xensource.com>
	<A9667DDFB95DB7438FA9D7D576C3D87E12FDD5@SHSMSX101.ccr.corp.intel.com>
	<20396.62966.512112.404603@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 12:20 +0100, Ian Jackson wrote:
> Zhang, Yang Z writes ("RE: [Xen-devel] [PATCH]libxl: allow to set more than 31 vcpus"):
> > Ian Jackson [mailto:Ian.Jackson@eu.citrix.com]:
> > > This error handling should really go away.  Would you be able to
> > > provide a patch to make libxl_cpumap_alloc use libxl__zalloc(NULL, ) ?
> > > That never fails, so that would also mean libxl_cpumap_alloc can't
> > > fail.
> > 
> > I don't think so. Libxl_cpumap_alloc() also returned error when
> > max_cpus equal zero. So the error handling cannot be avoid even
> > using libxl__zalloc.
> 
> Hmm.  Can it not be made to either abort or succeed in this case ?

max_cpus == 0 means xc_physinfo failed, which is either a memory
allocation failure (bounce buffering) or a pretty serious error
(toolstack/hypervisor mismatch which is logged or perhaps an
XSM/privilege type thing) from which we are unlikely to recover.

I'd say that a hard failure would be acceptable here.

Ian.

> 
> > > > diff -r c6bde42c8845 -r b1229c220984 tools/libxl/libxl_dom.c
> > > > --- a/tools/libxl/libxl_dom.c   Thu Apr 12 14:01:27 2012 +0100
> > > > +++ b/tools/libxl/libxl_dom.c   Fri May 04 10:47:00 2012 +0800
> > > > @@ -146,7 +146,8 @@ int libxl__build_post(libxl__gc *gc, uin
> > > >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> > > >      for (i = 0; i < info->max_vcpus; i++) {
> > > >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > > > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> > > << i)))
> > > > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> > > > +
> > > && !libxl_cpumap_test(&info->avail_vcpus, i))
> > > >                              ? "offline" : "online";
> > > 
> > > If libxl_cpumap_test returned 0 if cpumap==NULL then this would be
> > > simpler.
> > 
> > Sorry. What your mean for this?
> 
> I mean that if you changed libxl_cpumap_test to tolerate a NULL cpumap
> and simply return false, then the caller wouldn't have to check for
> it.  But you may prefer to keep it the current way.
> 
> Ian.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:41:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSoCh-0006GY-D8; Fri, 11 May 2012 11:40:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSoCg-0006GT-49
	for xen-devel@lists.xen.org; Fri, 11 May 2012 11:40:10 +0000
Received: from [85.158.143.35:4600] by server-1.bemta-4.messagelabs.com id
	29/00-20925-99AFCAF4; Fri, 11 May 2012 11:40:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336736407!3908173!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11255 invoked from network); 11 May 2012 11:40:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:40:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427864"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:40:08 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 12:40:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSoCd-00069I-K5; Fri, 11 May 2012 11:40:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSoCd-0000Nn-Il;
	Fri, 11 May 2012 12:40:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20396.64151.561157.893460@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 12:40:07 +0100
To: Darrio Faggioli <raistlin@linux.it>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <95f7eacc32f0bf7ba281.1336567580@Solace>
References: <95f7eacc32f0bf7ba281.1336567580@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v2] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Darrio Faggioli writes ("[Xen-devel] [PATCH v2] libxl: use xc_topologyinfo to figure out how many CPUs we actually have"):
> Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
> supports to be valid topology entries might lead to misleading and incorrect
> behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:41:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSoCh-0006GY-D8; Fri, 11 May 2012 11:40:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSoCg-0006GT-49
	for xen-devel@lists.xen.org; Fri, 11 May 2012 11:40:10 +0000
Received: from [85.158.143.35:4600] by server-1.bemta-4.messagelabs.com id
	29/00-20925-99AFCAF4; Fri, 11 May 2012 11:40:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336736407!3908173!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11255 invoked from network); 11 May 2012 11:40:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:40:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,570,1330905600"; d="scan'208";a="12427864"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:40:08 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 12:40:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSoCd-00069I-K5; Fri, 11 May 2012 11:40:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSoCd-0000Nn-Il;
	Fri, 11 May 2012 12:40:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20396.64151.561157.893460@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 12:40:07 +0100
To: Darrio Faggioli <raistlin@linux.it>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <95f7eacc32f0bf7ba281.1336567580@Solace>
References: <95f7eacc32f0bf7ba281.1336567580@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v2] libxl: use xc_topologyinfo to figure out
 how many CPUs we actually have
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Darrio Faggioli writes ("[Xen-devel] [PATCH v2] libxl: use xc_topologyinfo to figure out how many CPUs we actually have"):
> Within libxl_get_cpu_topology(), considering all the CPUs the hypervisor
> supports to be valid topology entries might lead to misleading and incorrect
> behaviours, e.g., the output of `xl info -n' below on a 16 cores machine:

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:43:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:43:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSoFq-0006MD-VY; Fri, 11 May 2012 11:43:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSoFp-0006M8-Nx
	for xen-devel@lists.xen.org; Fri, 11 May 2012 11:43:25 +0000
Received: from [193.109.254.147:28283] by server-8.bemta-14.messagelabs.com id
	D0/29-23244-D5BFCAF4; Fri, 11 May 2012 11:43:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336736604!8582033!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11967 invoked from network); 11 May 2012 11:43:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:43:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12427913"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:42:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 12:42:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSoEz-0006A3-J7; Fri, 11 May 2012 11:42:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSoEz-00015Y-I4;
	Fri, 11 May 2012 12:42:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20396.64297.543577.394652@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 12:42:33 +0100
To: Jean Guyader <jean.guyader@gmail.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CAEBdQ91kf43QJsJeKruWZE-o=rfL7-fiRwrSzn4gHBZ+6vg1Ng@mail.gmail.com>
References: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
	<CAEBdQ91kf43QJsJeKruWZE-o=rfL7-fiRwrSzn4gHBZ+6vg1Ng@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>, "Kay,
	Allen M" <allen.m.kay@intel.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jean Guyader writes ("Re: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough, fix OpRegion mapping (v3)"):
> On 10 May 2012 20:07, Jean Guyader <jean.guyader@gmail.com> wrote:
> > The OpRegion shouldn't be mapped 1:1 because the address in the host
> > can't be used in the guest directly.
> 
> Sorry forgot to say, it was acked by Stefano.
> 
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Thanks.

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 11:43:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 11:43:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSoFq-0006MD-VY; Fri, 11 May 2012 11:43:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSoFp-0006M8-Nx
	for xen-devel@lists.xen.org; Fri, 11 May 2012 11:43:25 +0000
Received: from [193.109.254.147:28283] by server-8.bemta-14.messagelabs.com id
	D0/29-23244-D5BFCAF4; Fri, 11 May 2012 11:43:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336736604!8582033!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11967 invoked from network); 11 May 2012 11:43:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 11:43:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12427913"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 11:42:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 12:42:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSoEz-0006A3-J7; Fri, 11 May 2012 11:42:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSoEz-00015Y-I4;
	Fri, 11 May 2012 12:42:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20396.64297.543577.394652@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 12:42:33 +0100
To: Jean Guyader <jean.guyader@gmail.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CAEBdQ91kf43QJsJeKruWZE-o=rfL7-fiRwrSzn4gHBZ+6vg1Ng@mail.gmail.com>
References: <CAEBdQ93pAUFuCS8Wapd44kRxVVOEHktc5zZLM9jqM2E+rjcmLg@mail.gmail.com>
	<CAEBdQ91kf43QJsJeKruWZE-o=rfL7-fiRwrSzn4gHBZ+6vg1Ng@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>, "Kay,
	Allen M" <allen.m.kay@intel.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough,
 fix OpRegion mapping (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jean Guyader writes ("Re: [Xen-devel] [PATCH][RESEND] qemu-xen: Intel GPU passthrough, fix OpRegion mapping (v3)"):
> On 10 May 2012 20:07, Jean Guyader <jean.guyader@gmail.com> wrote:
> > The OpRegion shouldn't be mapped 1:1 because the address in the host
> > can't be used in the guest directly.
> 
> Sorry forgot to say, it was acked by Stefano.
> 
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Thanks.

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 12:19:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 12:19:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSooS-00077j-DJ; Fri, 11 May 2012 12:19:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <heliman@katamail.com>) id 1SSooR-00077d-Ai
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 12:19:11 +0000
Received: from [193.109.254.147:16818] by server-5.bemta-14.messagelabs.com id
	7B/65-30733-EB30DAF4; Fri, 11 May 2012 12:19:10 +0000
X-Env-Sender: heliman@katamail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336738748!3624270!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16042 invoked from network); 11 May 2012 12:19:10 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	11 May 2012 12:19:09 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <heliman@katamail.com>) id 1SSooN-00048N-TB
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 05:19:07 -0700
Date: Fri, 11 May 2012 05:19:07 -0700 (PDT)
From: Geraldes <heliman@katamail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1336738747897-5702906.post@n5.nabble.com>
In-Reply-To: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
References: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Anthony PERARD-2 wrote
> 
> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> size in qemu is fixed to 8MB.
> 

How can you see these 8MB ?
In my tests with cirrus/stdvga, in a Linux guest lspci always report 32M and
Xorg.0.log report "VideoRAM: 4096 kByte". In a Windows XP/7 guest the Device
Manager show 32M as well. This is confusing.
Is there a better way to check videoram and videoram usage in a Linux or
Windows guest?


--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5702906.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 12:19:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 12:19:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSooS-00077j-DJ; Fri, 11 May 2012 12:19:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <heliman@katamail.com>) id 1SSooR-00077d-Ai
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 12:19:11 +0000
Received: from [193.109.254.147:16818] by server-5.bemta-14.messagelabs.com id
	7B/65-30733-EB30DAF4; Fri, 11 May 2012 12:19:10 +0000
X-Env-Sender: heliman@katamail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1336738748!3624270!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16042 invoked from network); 11 May 2012 12:19:10 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	11 May 2012 12:19:09 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <heliman@katamail.com>) id 1SSooN-00048N-TB
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 05:19:07 -0700
Date: Fri, 11 May 2012 05:19:07 -0700 (PDT)
From: Geraldes <heliman@katamail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1336738747897-5702906.post@n5.nabble.com>
In-Reply-To: <CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
References: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Anthony PERARD-2 wrote
> 
> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
> size in qemu is fixed to 8MB.
> 

How can you see these 8MB ?
In my tests with cirrus/stdvga, in a Linux guest lspci always report 32M and
Xorg.0.log report "VideoRAM: 4096 kByte". In a Windows XP/7 guest the Device
Manager show 32M as well. This is confusing.
Is there a better way to check videoram and videoram usage in a Linux or
Windows guest?


--
View this message in context: http://xen.1045712.n5.nabble.com/Unable-to-get-QXL-vga-working-tp5667919p5702906.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 12:52:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 12:52:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpKa-0007Pw-8E; Fri, 11 May 2012 12:52:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpKY-0007Pr-Mc
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 12:52:22 +0000
Received: from [193.109.254.147:58281] by server-10.bemta-14.messagelabs.com
	id 57/D0-05847-68B0DAF4; Fri, 11 May 2012 12:52:22 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336740730!8798496!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12704 invoked from network); 11 May 2012 12:52:15 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 12:52:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25099785"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 08:52:10 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 08:52:10 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpKL-0001qF-SH;
	Fri, 11 May 2012 13:52:09 +0100
Message-ID: <4FAD0B31.3010608@eu.citrix.com>
Date: Fri, 11 May 2012 13:50:57 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
	<4FACF443.5080002@eu.citrix.com>
	<1336735163.23818.72.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336735163.23818.72.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/12 12:19, Ian Campbell wrote:
> On Fri, 2012-05-11 at 12:13 +0100, George Dunlap wrote:
>>>> +
>>>> +static void pciassignable_remove(const char *bdf, int rebind)
>>>> +{
>>>> +    libxl_device_pci pcidev;
>>>> +    XLU_Config *config;
>>>> +
>>>> +    memset(&pcidev, 0x00, sizeof(pcidev));
>>> libxl_device_pci_init also.
>>>
>>> You are also missing the xlu_cfg_destroy both here and in the add fn.
>>>
>>> (it's a bit annoying that an XLU_COnfig is needed for these simple
>>> helper functions, I suppose it's for logging, but maybe they could log
>>> to stderr if cfg==NULL. Anyway, lets not fix that here)
>> Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix
>> those up while I'm at it.
> Thanks, looked like my grep missed them somehow when I added the init
> fns. The reset of the memset's in xl_cmdimpl.c look ok except for:
>
>      memset(cpumap.map, 0, cpumap.size);
>
> in main_cpupoolnumasplit which smells a bit fishy -- I'll investigate
> that one...
OK -- I found another place xl_cfg_destroy() wasn't being called.  I 
think I'll send those as a separate clean-up series; but the new 
functions added in the series will have the fixes you suggested.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 12:52:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 12:52:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpKa-0007Pw-8E; Fri, 11 May 2012 12:52:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpKY-0007Pr-Mc
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 12:52:22 +0000
Received: from [193.109.254.147:58281] by server-10.bemta-14.messagelabs.com
	id 57/D0-05847-68B0DAF4; Fri, 11 May 2012 12:52:22 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336740730!8798496!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12704 invoked from network); 11 May 2012 12:52:15 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 12:52:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25099785"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 08:52:10 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 08:52:10 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpKL-0001qF-SH;
	Fri, 11 May 2012 13:52:09 +0100
Message-ID: <4FAD0B31.3010608@eu.citrix.com>
Date: Fri, 11 May 2012 13:50:57 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
	<4FACF443.5080002@eu.citrix.com>
	<1336735163.23818.72.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336735163.23818.72.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/12 12:19, Ian Campbell wrote:
> On Fri, 2012-05-11 at 12:13 +0100, George Dunlap wrote:
>>>> +
>>>> +static void pciassignable_remove(const char *bdf, int rebind)
>>>> +{
>>>> +    libxl_device_pci pcidev;
>>>> +    XLU_Config *config;
>>>> +
>>>> +    memset(&pcidev, 0x00, sizeof(pcidev));
>>> libxl_device_pci_init also.
>>>
>>> You are also missing the xlu_cfg_destroy both here and in the add fn.
>>>
>>> (it's a bit annoying that an XLU_COnfig is needed for these simple
>>> helper functions, I suppose it's for logging, but maybe they could log
>>> to stderr if cfg==NULL. Anyway, lets not fix that here)
>> Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix
>> those up while I'm at it.
> Thanks, looked like my grep missed them somehow when I added the init
> fns. The reset of the memset's in xl_cmdimpl.c look ok except for:
>
>      memset(cpumap.map, 0, cpumap.size);
>
> in main_cpupoolnumasplit which smells a bit fishy -- I'll investigate
> that one...
OK -- I found another place xl_cfg_destroy() wasn't being called.  I 
think I'll send those as a separate clean-up series; but the new 
functions added in the series will have the fixes you suggested.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 12:59:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 12:59:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpQg-0007YI-28; Fri, 11 May 2012 12:58:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSpQf-0007YB-44
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 12:58:41 +0000
Received: from [85.158.139.83:51521] by server-2.bemta-5.messagelabs.com id
	AA/8C-17016-00D0DAF4; Fri, 11 May 2012 12:58:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336741119!20540034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16064 invoked from network); 11 May 2012 12:58:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 12:58:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12429400"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 12:58:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 13:58:04 +0100
Message-ID: <1336741083.23818.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Fri, 11 May 2012 13:58:03 +0100
In-Reply-To: <4FAD0B31.3010608@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
	<4FACF443.5080002@eu.citrix.com>
	<1336735163.23818.72.camel@zakaz.uk.xensource.com>
	<4FAD0B31.3010608@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 13:50 +0100, George Dunlap wrote:
> On 11/05/12 12:19, Ian Campbell wrote:
> > On Fri, 2012-05-11 at 12:13 +0100, George Dunlap wrote:
> >>>> +
> >>>> +static void pciassignable_remove(const char *bdf, int rebind)
> >>>> +{
> >>>> +    libxl_device_pci pcidev;
> >>>> +    XLU_Config *config;
> >>>> +
> >>>> +    memset(&pcidev, 0x00, sizeof(pcidev));
> >>> libxl_device_pci_init also.
> >>>
> >>> You are also missing the xlu_cfg_destroy both here and in the add fn.
> >>>
> >>> (it's a bit annoying that an XLU_COnfig is needed for these simple
> >>> helper functions, I suppose it's for logging, but maybe they could log
> >>> to stderr if cfg==NULL. Anyway, lets not fix that here)
> >> Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix
> >> those up while I'm at it.
> > Thanks, looked like my grep missed them somehow when I added the init
> > fns. The reset of the memset's in xl_cmdimpl.c look ok except for:
> >
> >      memset(cpumap.map, 0, cpumap.size);
> >
> > in main_cpupoolnumasplit which smells a bit fishy -- I'll investigate
> > that one...
> OK -- I found another place xl_cfg_destroy() wasn't being called.  I 
> think I'll send those as a separate clean-up series; but the new 
> functions added in the series will have the fixes you suggested.

THanks!


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 12:59:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 12:59:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpQg-0007YI-28; Fri, 11 May 2012 12:58:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSpQf-0007YB-44
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 12:58:41 +0000
Received: from [85.158.139.83:51521] by server-2.bemta-5.messagelabs.com id
	AA/8C-17016-00D0DAF4; Fri, 11 May 2012 12:58:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1336741119!20540034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16064 invoked from network); 11 May 2012 12:58:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 12:58:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12429400"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 12:58:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 13:58:04 +0100
Message-ID: <1336741083.23818.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Fri, 11 May 2012 13:58:03 +0100
In-Reply-To: <4FAD0B31.3010608@eu.citrix.com>
References: <patchbomb.1336559320@kodo2>
	<a1c3578537355b988d5e.1336559324@kodo2>
	<1336649508.7098.97.camel@zakaz.uk.xensource.com>
	<4FACF443.5080002@eu.citrix.com>
	<1336735163.23818.72.camel@zakaz.uk.xensource.com>
	<4FAD0B31.3010608@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 13:50 +0100, George Dunlap wrote:
> On 11/05/12 12:19, Ian Campbell wrote:
> > On Fri, 2012-05-11 at 12:13 +0100, George Dunlap wrote:
> >>>> +
> >>>> +static void pciassignable_remove(const char *bdf, int rebind)
> >>>> +{
> >>>> +    libxl_device_pci pcidev;
> >>>> +    XLU_Config *config;
> >>>> +
> >>>> +    memset(&pcidev, 0x00, sizeof(pcidev));
> >>> libxl_device_pci_init also.
> >>>
> >>> You are also missing the xlu_cfg_destroy both here and in the add fn.
> >>>
> >>> (it's a bit annoying that an XLU_COnfig is needed for these simple
> >>> helper functions, I suppose it's for logging, but maybe they could log
> >>> to stderr if cfg==NULL. Anyway, lets not fix that here)
> >> Hmm -- I just copied and pasted from pciattach() and friends.  I'll fix
> >> those up while I'm at it.
> > Thanks, looked like my grep missed them somehow when I added the init
> > fns. The reset of the memset's in xl_cmdimpl.c look ok except for:
> >
> >      memset(cpumap.map, 0, cpumap.size);
> >
> > in main_cpupoolnumasplit which smells a bit fishy -- I'll investigate
> > that one...
> OK -- I found another place xl_cfg_destroy() wasn't being called.  I 
> think I'll send those as a separate clean-up series; but the new 
> functions added in the series will have the fixes you suggested.

THanks!


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:01:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:01:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpTE-0007fq-Kp; Fri, 11 May 2012 13:01:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SSpTD-0007fl-3C
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:01:19 +0000
Received: from [85.158.143.99:58939] by server-3.bemta-4.messagelabs.com id
	84/4C-05853-E9D0DAF4; Fri, 11 May 2012 13:01:18 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336741277!24184851!1
X-Originating-IP: [209.85.212.177]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6517 invoked from network); 11 May 2012 13:01:17 -0000
Received: from mail-wi0-f177.google.com (HELO mail-wi0-f177.google.com)
	(209.85.212.177)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:01:17 -0000
Received: by wibhm14 with SMTP id hm14so1132843wib.6
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 06:01:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=Fg1heC3f0VgKKIzXk0kCiUbUPoIOioJyJJRnnCW4SeA=;
	b=ahMN1sh4AjkZM3nBBNVBWksCsphrDGfGIHxVvaK1Sz9TmhnhSUxpMbhRTESkhvL/FC
	OpgfxIMRSvRYR+gzG3rKZhO4eK19W6+OuLaRvkBOT7T35wdHLRUz56EF360hO+0JQcqh
	qWp3w+cX1U4xtztkbGPM1jMS7rxF6fP2zkaFqKzdbkeKhTtFBQo8gNSgF5hhmT+QMoTr
	3gwSs0Qk5oFHEe8aEEyPgG7BEbSTd+338WLKMdul2JbtEGEfpuJCUOpNkwAaEQ9BKW7Q
	NKV4PFZ8K/jzw5NqskUpd7l58en7YES+nJK5R/OyJkMwfGQ4pkBl8hjHG8eDnsIAqs00
	Yd3g==
Received: by 10.50.179.104 with SMTP id df8mr1639742igc.11.1336741276250; Fri,
	11 May 2012 06:01:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.73.228 with HTTP; Fri, 11 May 2012 06:00:46 -0700 (PDT)
In-Reply-To: <1336738747897-5702906.post@n5.nabble.com>
References: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336738747897-5702906.post@n5.nabble.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Fri, 11 May 2012 14:00:46 +0100
X-Google-Sender-Auth: d2yBSVu6cUGk1OADzIYYl-VMwOU
Message-ID: <CAJJyHj+8t=bdf9bc84v-MPhb5kNdZ3f9QkrovFwWD_3bj205fQ@mail.gmail.com>
To: Geraldes <heliman@katamail.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 1:19 PM, Geraldes <heliman@katamail.com> wrote:
>
> Anthony PERARD-2 wrote
>>
>> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
>> size in qemu is fixed to 8MB.
>>
>
> How can you see these 8MB ?

This is just the size of the vram allocated by qemu, I saw this in the code.

> In my tests with cirrus/stdvga, in a Linux guest lspci always report 32M and
> Xorg.0.log report "VideoRAM: 4096 kByte". In a Windows XP/7 guest the Device
> Manager show 32M as well. This is confusing.

It seams that part of the 32MB are used to do other kind of operation
that just accessing to the vram. For the 4MB instead of 8 reported by
Xorg, I don't know. There is probably a reason why Cirrus will report
4 instead of 8.

> Is there a better way to check videoram and videoram usage in a Linux or
> Windows guest?

I don't think so.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:01:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:01:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpTE-0007fq-Kp; Fri, 11 May 2012 13:01:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SSpTD-0007fl-3C
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:01:19 +0000
Received: from [85.158.143.99:58939] by server-3.bemta-4.messagelabs.com id
	84/4C-05853-E9D0DAF4; Fri, 11 May 2012 13:01:18 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1336741277!24184851!1
X-Originating-IP: [209.85.212.177]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6517 invoked from network); 11 May 2012 13:01:17 -0000
Received: from mail-wi0-f177.google.com (HELO mail-wi0-f177.google.com)
	(209.85.212.177)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:01:17 -0000
Received: by wibhm14 with SMTP id hm14so1132843wib.6
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 06:01:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=Fg1heC3f0VgKKIzXk0kCiUbUPoIOioJyJJRnnCW4SeA=;
	b=ahMN1sh4AjkZM3nBBNVBWksCsphrDGfGIHxVvaK1Sz9TmhnhSUxpMbhRTESkhvL/FC
	OpgfxIMRSvRYR+gzG3rKZhO4eK19W6+OuLaRvkBOT7T35wdHLRUz56EF360hO+0JQcqh
	qWp3w+cX1U4xtztkbGPM1jMS7rxF6fP2zkaFqKzdbkeKhTtFBQo8gNSgF5hhmT+QMoTr
	3gwSs0Qk5oFHEe8aEEyPgG7BEbSTd+338WLKMdul2JbtEGEfpuJCUOpNkwAaEQ9BKW7Q
	NKV4PFZ8K/jzw5NqskUpd7l58en7YES+nJK5R/OyJkMwfGQ4pkBl8hjHG8eDnsIAqs00
	Yd3g==
Received: by 10.50.179.104 with SMTP id df8mr1639742igc.11.1336741276250; Fri,
	11 May 2012 06:01:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.73.228 with HTTP; Fri, 11 May 2012 06:00:46 -0700 (PDT)
In-Reply-To: <1336738747897-5702906.post@n5.nabble.com>
References: <CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<1336048124596-5683034.post@n5.nabble.com>
	<20120503140045.GP2058@reaktio.net>
	<1336055231213-5683345.post@n5.nabble.com>
	<20120503160244.GQ2058@reaktio.net>
	<1336119794999-5685158.post@n5.nabble.com>
	<1336120109.26385.7.camel@dagon.hellion.org.uk>
	<CAJJyHj+FPw9cmNQ36mg7DXP=-tMH8bBxRJ7wgy-fEdy+8X142Q@mail.gmail.com>
	<1336738747897-5702906.post@n5.nabble.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Fri, 11 May 2012 14:00:46 +0100
X-Google-Sender-Auth: d2yBSVu6cUGk1OADzIYYl-VMwOU
Message-ID: <CAJJyHj+8t=bdf9bc84v-MPhb5kNdZ3f9QkrovFwWD_3bj205fQ@mail.gmail.com>
To: Geraldes <heliman@katamail.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Unable to get QXL vga working / videomem over 4MB
	issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 1:19 PM, Geraldes <heliman@katamail.com> wrote:
>
> Anthony PERARD-2 wrote
>>
>> For cirrus/stdvga, there is no way to pass the parameter to qemu, the
>> size in qemu is fixed to 8MB.
>>
>
> How can you see these 8MB ?

This is just the size of the vram allocated by qemu, I saw this in the code.

> In my tests with cirrus/stdvga, in a Linux guest lspci always report 32M and
> Xorg.0.log report "VideoRAM: 4096 kByte". In a Windows XP/7 guest the Device
> Manager show 32M as well. This is confusing.

It seams that part of the 32MB are used to do other kind of operation
that just accessing to the vram. For the 4MB instead of 8 reported by
Xorg, I don't know. There is probably a reason why Cirrus will report
4 instead of 8.

> Is there a better way to check videoram and videoram usage in a Linux or
> Windows guest?

I don't think so.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:12:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:12:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpds-0007vN-Q0; Fri, 11 May 2012 13:12:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSpdq-0007vI-RJ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:12:19 +0000
Received: from [85.158.143.35:62855] by server-2.bemta-4.messagelabs.com id
	30/B3-17550-2301DAF4; Fri, 11 May 2012 13:12:18 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336741936!11763423!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzMTk3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5465 invoked from network); 11 May 2012 13:12:17 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-21.messagelabs.com with SMTP;
	11 May 2012 13:12:17 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 06:12:15 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98948144"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 11 May 2012 06:12:15 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 06:12:14 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Fri, 11 May 2012 21:12:13 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: 'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQgAFaJPA=
Date: Fri, 11 May 2012 13:12:13 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Liu, Jinsong wrote:
> Just notice your reply (so quick :)
> 
> Agree and will update later, except 1 concern below.
> 
> Konrad Rzeszutek Wilk wrote:
>>> 
>>> Hmm, it's good if it's convenient to do it automatically via
>>> dev->release. However, dev container (pcpu) would be free at some
>>> other error cases, so I prefer do it 'manually'.
>> 
>> You could also call pcpu_release(..) to do it manually.
>> 
> 
> that means kfree(pcpu) would be done twice at some error cases, do
> you think it really good? 
> 

Ping.

I think error recovery should be kept inside error logic level itself, if try to recover upper level error would bring trouble.

In our example, there are 2 logic levels:
pcpu level (as container), and dev level (subfield used for sys)
dev->release should only recover error occurred at dev/sys level, and the pcpu error should be recovered at pcpu level.

If dev->release try to recover its container pcpu level error, like list_del/kfree(pcpu), it would make confusing. i.e., considering pcpu_sys_create(), 2 error cases:
device_register fail, and device_create_file fail --> how can the caller decide kfree(pcpu) or not?

So how about recover pcpu error manually and explicitly?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:12:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:12:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpds-0007vN-Q0; Fri, 11 May 2012 13:12:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSpdq-0007vI-RJ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:12:19 +0000
Received: from [85.158.143.35:62855] by server-2.bemta-4.messagelabs.com id
	30/B3-17550-2301DAF4; Fri, 11 May 2012 13:12:18 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336741936!11763423!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzMTk3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5465 invoked from network); 11 May 2012 13:12:17 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-21.messagelabs.com with SMTP;
	11 May 2012 13:12:17 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 06:12:15 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="98948144"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 11 May 2012 06:12:15 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 06:12:14 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Fri, 11 May 2012 21:12:13 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: 'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQgAFaJPA=
Date: Fri, 11 May 2012 13:12:13 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Liu, Jinsong wrote:
> Just notice your reply (so quick :)
> 
> Agree and will update later, except 1 concern below.
> 
> Konrad Rzeszutek Wilk wrote:
>>> 
>>> Hmm, it's good if it's convenient to do it automatically via
>>> dev->release. However, dev container (pcpu) would be free at some
>>> other error cases, so I prefer do it 'manually'.
>> 
>> You could also call pcpu_release(..) to do it manually.
>> 
> 
> that means kfree(pcpu) would be done twice at some error cases, do
> you think it really good? 
> 

Ping.

I think error recovery should be kept inside error logic level itself, if try to recover upper level error would bring trouble.

In our example, there are 2 logic levels:
pcpu level (as container), and dev level (subfield used for sys)
dev->release should only recover error occurred at dev/sys level, and the pcpu error should be recovered at pcpu level.

If dev->release try to recover its container pcpu level error, like list_del/kfree(pcpu), it would make confusing. i.e., considering pcpu_sys_create(), 2 error cases:
device_register fail, and device_create_file fail --> how can the caller decide kfree(pcpu) or not?

So how about recover pcpu error manually and explicitly?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpz0-00087q-Dk; Fri, 11 May 2012 13:34:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyy-00086q-HF
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:08 +0000
Received: from [85.158.138.51:46317] by server-12.bemta-3.messagelabs.com id
	B9/46-29760-F451DAF4; Fri, 11 May 2012 13:34:07 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336743243!24833275!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21985 invoked from network); 11 May 2012 13:34:06 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25100956"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-Sv;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: ba3d30d721eef8c31b331bd2bac5b2f99d515511
Message-ID: <ba3d30d721eef8c31b33.1336743093@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:33 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 4 of 4 v2] xl: Add pci_assignable_add and remove
	commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pci-assignable-add will always store the driver rebind path, but
pci-assignable-remove will only actually rebind if asked to do so.

v2:
 - Use libxl_device_pci_init() instead of memset()
 - Call xlu_cfg_destroy() properly

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 5e21532dab5b -r ba3d30d721ee docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 11 13:55:04 2012 +0100
+++ b/docs/man/xl.pod.1	Fri May 11 14:19:50 2012 +0100
@@ -1026,6 +1026,26 @@ These are devices in the system which ar
 available for passthrough and are bound to a suitable PCI
 backend driver in domain 0 rather than a real driver.
 
+=item B<pci-assignable-add> I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will bind the device to the pciback driver.  If it is already bound to a
+driver, it will first be unbound, and the original driver stored so that it
+can be re-bound to the same driver later if desired.  
+
+CAUTION: This will make the device unusable by Domain 0 until it is
+returned with pci-assignable-remove.  Care should therefore be taken
+not to do this on a device critical to domain 0's operation, such as
+storage controllers, network interfaces, or GPUs that are currently
+being used.
+
+=item B<pci-assignable-remove> [I<-r>] I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will at least unbind the device from pciback.  If the -r option is specified,
+it will also attempt to re-bind the device to its original driver, making it
+usable by Domain 0 again.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 5e21532dab5b -r ba3d30d721ee tools/libxl/xl.h
--- a/tools/libxl/xl.h	Fri May 11 13:55:04 2012 +0100
+++ b/tools/libxl/xl.h	Fri May 11 14:19:50 2012 +0100
@@ -36,6 +36,8 @@ int main_vncviewer(int argc, char **argv
 int main_pcilist(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_add(int argc, char **argv);
+int main_pciassignable_remove(int argc, char **argv);
 int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
diff -r 5e21532dab5b -r ba3d30d721ee tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 13:55:04 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 14:19:50 2012 +0100
@@ -2368,6 +2368,86 @@ int main_pciassignable_list(int argc, ch
     return 0;
 }
 
+static void pciassignable_add(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+    
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_add(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+
+    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_add(bdf, 1);
+    return 0;
+}
+
+static void pciassignable_remove(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_remove(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+    int rebind = 0;
+
+    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        case 'r':
+            rebind=1;
+            break;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_remove(bdf, rebind);
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 5e21532dab5b -r ba3d30d721ee tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Fri May 11 13:55:04 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Fri May 11 14:19:50 2012 +0100
@@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
+    { "pci-assignable-add",
+      &main_pciassignable_add, 0,
+      "Make a device assignable for pci-passthru",
+      "<BDF>",
+      "-h                      Print this help.\n"
+    },
+    { "pci-assignable-remove",
+      &main_pciassignable_remove, 0,
+      "Remove a device from being assignable",
+      "[options] <BDF>",
+      "-h                      Print this help.\n"
+      "-r                      Attempt to re-assign the device to the\n"
+      "                        original driver"
+    },
     { "pci-assignable-list",
       &main_pciassignable_list, 0,
       "List all the assignable pci devices",

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpz0-00087q-Dk; Fri, 11 May 2012 13:34:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyy-00086q-HF
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:08 +0000
Received: from [85.158.138.51:46317] by server-12.bemta-3.messagelabs.com id
	B9/46-29760-F451DAF4; Fri, 11 May 2012 13:34:07 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336743243!24833275!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21985 invoked from network); 11 May 2012 13:34:06 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25100956"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-Sv;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: ba3d30d721eef8c31b331bd2bac5b2f99d515511
Message-ID: <ba3d30d721eef8c31b33.1336743093@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:33 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 4 of 4 v2] xl: Add pci_assignable_add and remove
	commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pci-assignable-add will always store the driver rebind path, but
pci-assignable-remove will only actually rebind if asked to do so.

v2:
 - Use libxl_device_pci_init() instead of memset()
 - Call xlu_cfg_destroy() properly

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 5e21532dab5b -r ba3d30d721ee docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 11 13:55:04 2012 +0100
+++ b/docs/man/xl.pod.1	Fri May 11 14:19:50 2012 +0100
@@ -1026,6 +1026,26 @@ These are devices in the system which ar
 available for passthrough and are bound to a suitable PCI
 backend driver in domain 0 rather than a real driver.
 
+=item B<pci-assignable-add> I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will bind the device to the pciback driver.  If it is already bound to a
+driver, it will first be unbound, and the original driver stored so that it
+can be re-bound to the same driver later if desired.  
+
+CAUTION: This will make the device unusable by Domain 0 until it is
+returned with pci-assignable-remove.  Care should therefore be taken
+not to do this on a device critical to domain 0's operation, such as
+storage controllers, network interfaces, or GPUs that are currently
+being used.
+
+=item B<pci-assignable-remove> [I<-r>] I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will at least unbind the device from pciback.  If the -r option is specified,
+it will also attempt to re-bind the device to its original driver, making it
+usable by Domain 0 again.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 5e21532dab5b -r ba3d30d721ee tools/libxl/xl.h
--- a/tools/libxl/xl.h	Fri May 11 13:55:04 2012 +0100
+++ b/tools/libxl/xl.h	Fri May 11 14:19:50 2012 +0100
@@ -36,6 +36,8 @@ int main_vncviewer(int argc, char **argv
 int main_pcilist(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_add(int argc, char **argv);
+int main_pciassignable_remove(int argc, char **argv);
 int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
diff -r 5e21532dab5b -r ba3d30d721ee tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 13:55:04 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 14:19:50 2012 +0100
@@ -2368,6 +2368,86 @@ int main_pciassignable_list(int argc, ch
     return 0;
 }
 
+static void pciassignable_add(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+    
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_add(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+
+    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_add(bdf, 1);
+    return 0;
+}
+
+static void pciassignable_remove(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_inig"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_remove(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+    int rebind = 0;
+
+    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        case 'r':
+            rebind=1;
+            break;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_remove(bdf, rebind);
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 5e21532dab5b -r ba3d30d721ee tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Fri May 11 13:55:04 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Fri May 11 14:19:50 2012 +0100
@@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
+    { "pci-assignable-add",
+      &main_pciassignable_add, 0,
+      "Make a device assignable for pci-passthru",
+      "<BDF>",
+      "-h                      Print this help.\n"
+    },
+    { "pci-assignable-remove",
+      &main_pciassignable_remove, 0,
+      "Remove a device from being assignable",
+      "[options] <BDF>",
+      "-h                      Print this help.\n"
+      "-r                      Attempt to re-assign the device to the\n"
+      "                        original driver"
+    },
     { "pci-assignable-list",
       &main_pciassignable_list, 0,
       "List all the assignable pci devices",

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpyy-000872-25; Fri, 11 May 2012 13:34:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyx-00086g-6D
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:07 +0000
Received: from [85.158.138.51:46051] by server-5.bemta-3.messagelabs.com id
	15/43-17113-E451DAF4; Fri, 11 May 2012 13:34:06 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336743243!24833275!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21872 invoked from network); 11 May 2012 13:34:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25100954"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-Qp;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:29 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 4 v2] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add commands to automatically prep devices for pass-through

The current method for passing through devices requires users to
either modify cryptic Linux boot parameters and reboot, or do a lot of
manual reads and writes into sysfs nodes.

This set of patches introduces commands to make this easier.  It expands
on the concept of "assignable" (from the list_assignable_devices command).

The new xl commands are:

pci_assignable_add: Make a device assignable to guests.  This involves
unbinding the device from its old driver, creating a slot for it in
pciback (if necessary), and binding it to pciback.

pci_assignable_list: List devices assignable to guests.  Just renamed
from pci_list_assignable.

pci_assignable_remove: Make the device no longer assignable to guests. 
This involves unbinding the device from pciback and removing the slot.  It 
optionally involves rebinding the device to the driver from which we stole
it.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpyy-000872-25; Fri, 11 May 2012 13:34:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyx-00086g-6D
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:07 +0000
Received: from [85.158.138.51:46051] by server-5.bemta-3.messagelabs.com id
	15/43-17113-E451DAF4; Fri, 11 May 2012 13:34:06 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336743243!24833275!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21872 invoked from network); 11 May 2012 13:34:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25100954"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-Qp;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:29 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 4 v2] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add commands to automatically prep devices for pass-through

The current method for passing through devices requires users to
either modify cryptic Linux boot parameters and reboot, or do a lot of
manual reads and writes into sysfs nodes.

This set of patches introduces commands to make this easier.  It expands
on the concept of "assignable" (from the list_assignable_devices command).

The new xl commands are:

pci_assignable_add: Make a device assignable to guests.  This involves
unbinding the device from its old driver, creating a slot for it in
pciback (if necessary), and binding it to pciback.

pci_assignable_list: List devices assignable to guests.  Just renamed
from pci_list_assignable.

pci_assignable_remove: Make the device no longer assignable to guests. 
This involves unbinding the device from pciback and removing the slot.  It 
optionally involves rebinding the device to the driver from which we stole
it.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpyz-00087Y-KV; Fri, 11 May 2012 13:34:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyx-00086l-Hn
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:07 +0000
Received: from [85.158.139.83:35046] by server-5.bemta-5.messagelabs.com id
	4B/D3-13566-E451DAF4; Fri, 11 May 2012 13:34:06 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336743243!27202211!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17368 invoked from network); 11 May 2012 13:34:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194438073"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-SP;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5e21532dab5b1c31e54e70a2769b132e3cd5f633
Message-ID: <5e21532dab5b1c31e54e.1336743092@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:32 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl helper functions to prepare devices to be passed through to
guests.  This is meant to replace of all the manual sysfs commands which
are currently required.

pci_assignable_add accepts a BDF for a device and will:
* Unbind a device from its current driver, if any
* If "rebind" is set, it will store the path of the driver from which we
  unplugged it in /libxl/pciback/$BDF/driver_path
* If create a slot for it in pciback if one doesn't yet exist
* Bind the device to pciback

At this point it will show up in pci_assignable_list, and is ready to be passed
through to a guest.

pci_assignable_remove accepts a BDF for a device and will:
* Unbind the device from pciback
* Remove the slot from pciback
* If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it will
  attempt to rebind the device to its original driver.

NB that "$BDF" in this case uses '-' instead of ':' and '.', because
':' and '.' are illegal characters in xenstore paths.

v2:
- sysfs_dev_unbind uses a local var for the path pointer, and sets only at
  the end
- Actually read pci domain when looking at slots, instead of assuming 0000
- Call LOG_ERRNO after failed sysfs_write_bdf calls, rather than just LOG
- Removed stray FIXME
- Made xenstore reads and writes single operations, and removed transaction
  infrastructure
- Wrapped a couple of lines that were above 80 characters
- Added a comment explaining the patch's treatment of slots
- Clarified patch description of when it creates slots

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r aa29f428a005 -r 5e21532dab5b tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Fri May 11 13:51:12 2012 +0100
+++ b/tools/libxl/libxl.h	Fri May 11 13:55:04 2012 +0100
@@ -658,10 +658,25 @@ int libxl_device_pci_destroy(libxl_ctx *
 libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
 
 /*
- * Similar to libxl_device_pci_list but returns all devices which
- * could be assigned to a domain (i.e. are bound to the backend
- * driver) but are not currently.
+ * Functions related to making devices assignable -- that is, bound to
+ * the pciback driver, ready to be given to a guest via
+ * libxl_pci_device_add.
+ *
+ * - ..._add() will unbind the device from its current driver (if
+ * already bound) and re-bind it to pciback; at that point it will be
+ * ready to be assigned to a VM.  If rebind is set, it will store the
+ * path to the old driver in xenstore so that it can be handed back to
+ * dom0 on restore.
+ *
+ * - ..._remove() will unbind the device from pciback, and if
+ * rebind is non-zero, attempt to assign it back to the driver
+ * from whence it came.
+ *
+ * - ..._list() will return a list of the PCI devices available to be
+ * assigned.
  */
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
 libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
diff -r aa29f428a005 -r 5e21532dab5b tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Fri May 11 13:51:12 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Fri May 11 13:55:04 2012 +0100
@@ -21,6 +21,7 @@
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
 #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
+#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
 
 static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
 {
@@ -408,6 +409,334 @@ out:
     return pcidevs;
 }
 
+/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
+ * store the path to the original driver in it. */
+static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev,
+                            char **driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath, *dp = NULL;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func);
+    if ( !lstat(spath, &st) ) {
+        /* Find the canonical path to the driver. */
+        dp = libxl__zalloc(gc, PATH_MAX);
+        dp = realpath(spath, dp);
+        if ( !dp ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "realpath() failed");
+            return -1;
+        }
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
+                   dp);
+        
+        /* Unbind from the old driver */
+        spath = libxl__sprintf(gc, "%s/unbind", dp);
+        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
+            return -1;
+        }
+    }
+
+    if ( driver_path )
+        *driver_path = dp;
+
+    return 0;
+}
+
+/*
+ * A brief comment about slots.  I don't know what slots are for; however,
+ * I have by experimentation determined:
+ * - Before a device can be bound to pciback, its BDF must first be listed
+ *   in pciback/slots
+ * - The way to get the BDF listed there is to write BDF to
+ *   pciback/new_slot
+ * - Writing the same BDF to pciback/new_slot is not idempotent; it results
+ *   in two entries of the BDF in pciback/slots
+ * It's not clear whether having two entries in pciback/slots is a problem
+ * or not.  Just to be safe, this code does the conservative thing, and
+ * first checks to see if there is a slot, adding one only if one does not
+ * already exist.
+ */
+
+/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
+static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    FILE *f;
+    int rc = 0;
+    unsigned dom, bus, dev, func;
+    
+    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
+
+    if (f == NULL) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         SYSFS_PCIBACK_DRIVER"/slots");
+        return ERROR_FAIL;
+    }
+
+    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {
+        if(dom == pcidev->domain
+           && bus == pcidev->bus
+           && dev == pcidev->dev
+           && func == pcidev->func) {
+            rc = 1;
+            goto out;
+        }
+    }
+out:
+    fclose(f);
+    return rc;
+}
+
+static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath;
+    int rc;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
+                           pcidev->domain, pcidev->bus,
+                           pcidev->dev, pcidev->func);
+    rc = lstat(spath, &st);
+
+    if( rc == 0 )
+        return 1;
+    if ( rc < 0 && errno == ENOENT )
+        return 0;
+    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
+    return -1;
+}
+
+static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+
+    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Error checking for pciback slot");
+        return ERROR_FAIL;
+    } else if (rc == 0) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't bind device to pciback!");
+            return ERROR_FAIL;
+        }
+    }
+    
+    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove from pciback */
+    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
+        return ERROR_FAIL;
+    }
+
+    /* Remove slot if necessary */
+    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "Couldn't remove pciback slot");
+            return ERROR_FAIL;
+        }
+    }
+    return 0;
+}
+
+#define PCIBACK_INFO_PATH "/libxl/pciback"
+
+static void pci_assignable_driver_path_write(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            char *driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char *path;
+
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_WARNING,
+                         "Write of %s to node %s failed.",
+                         driver_path, path);
+    }
+}
+
+static char * pci_assignable_driver_path_read(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    return libxl__xs_read(gc, XBT_NULL, 
+                          libxl__sprintf(gc,
+                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func));
+}
+
+static void pci_assignable_driver_path_remove(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove the xenstore entry */
+    xs_rm(ctx->xsh, XBT_NULL,
+          libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
+                         pcidev->domain,
+                         pcidev->bus,
+                         pcidev->dev,
+                         pcidev->func) );
+}
+
+static int libxl__device_pci_assignable_add(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    unsigned dom, bus, dev, func;
+    char *spath, *driver_path = NULL;
+    struct stat st;
+
+    /* Local copy for convenience */
+    dom = pcidev->domain;
+    bus = pcidev->bus;
+    dev = pcidev->dev;
+    func = pcidev->func;
+
+    /* See if the device exists */
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
+    if ( lstat(spath, &st) ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
+        return ERROR_FAIL;
+    }
+
+    /* Check to see if it's already assigned to pciback */
+    if ( pciback_dev_is_assigned(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, PCI_BDF" already assigned to pciback",
+                   dom, bus, dev, func);
+        return 0;
+    }
+
+    /* Check to see if there's already a driver that we need to unbind from */
+    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "Couldn't unbind "PCI_BDF" from driver",
+                   dom, bus, dev, func);
+        return ERROR_FAIL;
+    }
+
+    /* Store driver_path for rebinding to dom0 */
+    if ( rebind ) {
+        if ( driver_path ) {
+            pci_assignable_driver_path_write(gc, pcidev, driver_path);
+        } else {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       PCI_BDF" not bound to a driver, will not be rebound.",
+                       dom, bus, dev, func);
+        }
+    }
+
+    if ( pciback_dev_assign(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+static int libxl__device_pci_assignable_remove(libxl__gc *gc,
+                                               libxl_device_pci *pcidev,
+                                               int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    char *driver_path;
+
+    /* Unbind from pciback */
+    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
+        return ERROR_FAIL;
+    } else if ( rc ) {
+        pciback_dev_unassign(gc, pcidev);
+    } else {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "Not bound to pciback");
+    }
+
+    /* Rebind if necessary */
+    driver_path = pci_assignable_driver_path_read(gc, pcidev);
+
+    if ( driver_path ) {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
+                       driver_path);
+
+            if ( sysfs_write_bdf(gc,
+                                 libxl__sprintf(gc, "%s/bind", driver_path),
+                                 pcidev) < 0 ) {
+                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                                 "Couldn't bind device to %s", driver_path);
+                return -1;
+            }
+        }
+
+        pci_assignable_driver_path_remove(gc, pcidev);
+    } else {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       "Couldn't find path for original driver; not rebinding");
+        }
+    }
+
+    return 0;
+}
+
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                    int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
+
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                       int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
 /*
  * This function checks that all functions of a device are bound to pciback
  * driver. It also initialises a bit-mask of which function numbers are present

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpyx-00086r-N7; Fri, 11 May 2012 13:34:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyw-00086f-8A
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:06 +0000
Received: from [85.158.139.83:2407] by server-7.bemta-5.messagelabs.com id
	36/F9-16195-D451DAF4; Fri, 11 May 2012 13:34:05 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336743243!27202211!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17304 invoked from network); 11 May 2012 13:34:04 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194438072"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-Rv;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: aa29f428a005383fed0e11c62292fa812325ebd6
Message-ID: <aa29f428a005383fed0e.1336743091@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:31 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 4 v2] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

...to prepare for a consistent "pci_assignable_*" naming scheme.

Also move the man page entry into the PCI PASS-THROUGH section, rather
than the XEN HOST section.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 6e2d2728620b -r aa29f428a005 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 11 13:50:47 2012 +0100
+++ b/docs/man/xl.pod.1	Fri May 11 13:51:12 2012 +0100
@@ -687,13 +687,6 @@ explanatory.
 
 Prints the current uptime of the domains running.
 
-=item B<pci-list-assignable-devices>
-
-List all the assignable PCI devices.
-These are devices in the system which are configured to be
-available for passthrough and are bound to a suitable PCI
-backend driver in domain 0 rather than a real driver.
-
 =back
 
 =head1 SCHEDULER SUBCOMMANDS
@@ -1026,6 +1019,13 @@ List virtual network interfaces for a do
 
 =over 4
 
+=item B<pci-assignable-list>
+
+List all the assignable PCI devices.
+These are devices in the system which are configured to be
+available for passthrough and are bound to a suitable PCI
+backend driver in domain 0 rather than a real driver.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/libxl.h	Fri May 11 13:51:12 2012 +0100
@@ -662,7 +662,7 @@ libxl_device_pci *libxl_device_pci_list(
  * could be assigned to a domain (i.e. are bound to the backend
  * driver) but are not currently.
  */
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
 int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Fri May 11 13:51:12 2012 +0100
@@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
     return 0;
 }
 
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
     libxl_device_pci *pcidevs = NULL, *new, *assigned;
@@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
     libxl_device_pci *pcidevs;
     int num, i;
 
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
     for (i = 0; i < num; i++) {
         if (pcidevs[i].domain == pcidev->domain &&
             pcidevs[i].bus == pcidev->bus &&
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/xl.h	Fri May 11 13:51:12 2012 +0100
@@ -34,9 +34,9 @@ int main_cd_insert(int argc, char **argv
 int main_console(int argc, char **argv);
 int main_vncviewer(int argc, char **argv);
 int main_pcilist(int argc, char **argv);
-int main_pcilist_assignable(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
 int main_save(int argc, char **argv);
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 13:51:12 2012 +0100
@@ -2223,34 +2223,6 @@ int main_vncviewer(int argc, char **argv
     return 0;
 }
 
-static void pcilist_assignable(void)
-{
-    libxl_device_pci *pcidevs;
-    int num, i;
-
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
-
-    if ( pcidevs == NULL )
-        return;
-    for (i = 0; i < num; i++) {
-        printf("%04x:%02x:%02x.%01x\n",
-               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
-        libxl_device_pci_dispose(&pcidevs[i]);
-    }
-    free(pcidevs);
-}
-
-int main_pcilist_assignable(int argc, char **argv)
-{
-    int opt;
-
-    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
-        return opt;
-
-    pcilist_assignable();
-    return 0;
-}
-
 static void pcilist(const char *dom)
 {
     libxl_device_pci *pcidevs;
@@ -2368,6 +2340,34 @@ int main_pciattach(int argc, char **argv
     return 0;
 }
 
+static void pciassignable_list(void)
+{
+    libxl_device_pci *pcidevs;
+    int num, i;
+
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
+
+    if ( pcidevs == NULL )
+        return;
+    for (i = 0; i < num; i++) {
+        printf("%04x:%02x:%02x.%01x\n",
+               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
+        libxl_device_pci_dispose(&pcidevs[i]);
+    }
+    free(pcidevs);
+}
+
+int main_pciassignable_list(int argc, char **argv)
+{
+    int opt;
+
+    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
+        return opt;
+
+    pciassignable_list();
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Fri May 11 13:51:12 2012 +0100
@@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
-    { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0,
+    { "pci-assignable-list",
+      &main_pciassignable_list, 0,
       "List all the assignable pci devices",
       "",
     },
diff -r 6e2d2728620b -r aa29f428a005 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Fri May 11 13:51:12 2012 +0100
@@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
     return (PyObject *)pci;
 }
 
-static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
+static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
 {
     libxl_device_pci *dev;
     PyObject *list;
     int nr_dev, i;
 
-    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
+    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
     if ( dev == NULL ) {
         PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
         return NULL;
@@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
          "Parse pass-through PCI device spec (BDF)"},
     {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
         "List PCI devices assigned to a domain"},
-    {"device_pci_list_assignable",
-        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
+    {"device_pci_assignable_list",
+        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
         "List assignable PCI devices"},
     { NULL, NULL, 0, NULL }
 };

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpyz-00087Y-KV; Fri, 11 May 2012 13:34:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyx-00086l-Hn
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:07 +0000
Received: from [85.158.139.83:35046] by server-5.bemta-5.messagelabs.com id
	4B/D3-13566-E451DAF4; Fri, 11 May 2012 13:34:06 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336743243!27202211!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17368 invoked from network); 11 May 2012 13:34:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194438073"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-SP;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5e21532dab5b1c31e54e70a2769b132e3cd5f633
Message-ID: <5e21532dab5b1c31e54e.1336743092@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:32 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl helper functions to prepare devices to be passed through to
guests.  This is meant to replace of all the manual sysfs commands which
are currently required.

pci_assignable_add accepts a BDF for a device and will:
* Unbind a device from its current driver, if any
* If "rebind" is set, it will store the path of the driver from which we
  unplugged it in /libxl/pciback/$BDF/driver_path
* If create a slot for it in pciback if one doesn't yet exist
* Bind the device to pciback

At this point it will show up in pci_assignable_list, and is ready to be passed
through to a guest.

pci_assignable_remove accepts a BDF for a device and will:
* Unbind the device from pciback
* Remove the slot from pciback
* If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it will
  attempt to rebind the device to its original driver.

NB that "$BDF" in this case uses '-' instead of ':' and '.', because
':' and '.' are illegal characters in xenstore paths.

v2:
- sysfs_dev_unbind uses a local var for the path pointer, and sets only at
  the end
- Actually read pci domain when looking at slots, instead of assuming 0000
- Call LOG_ERRNO after failed sysfs_write_bdf calls, rather than just LOG
- Removed stray FIXME
- Made xenstore reads and writes single operations, and removed transaction
  infrastructure
- Wrapped a couple of lines that were above 80 characters
- Added a comment explaining the patch's treatment of slots
- Clarified patch description of when it creates slots

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r aa29f428a005 -r 5e21532dab5b tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Fri May 11 13:51:12 2012 +0100
+++ b/tools/libxl/libxl.h	Fri May 11 13:55:04 2012 +0100
@@ -658,10 +658,25 @@ int libxl_device_pci_destroy(libxl_ctx *
 libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
 
 /*
- * Similar to libxl_device_pci_list but returns all devices which
- * could be assigned to a domain (i.e. are bound to the backend
- * driver) but are not currently.
+ * Functions related to making devices assignable -- that is, bound to
+ * the pciback driver, ready to be given to a guest via
+ * libxl_pci_device_add.
+ *
+ * - ..._add() will unbind the device from its current driver (if
+ * already bound) and re-bind it to pciback; at that point it will be
+ * ready to be assigned to a VM.  If rebind is set, it will store the
+ * path to the old driver in xenstore so that it can be handed back to
+ * dom0 on restore.
+ *
+ * - ..._remove() will unbind the device from pciback, and if
+ * rebind is non-zero, attempt to assign it back to the driver
+ * from whence it came.
+ *
+ * - ..._list() will return a list of the PCI devices available to be
+ * assigned.
  */
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
 libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
diff -r aa29f428a005 -r 5e21532dab5b tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Fri May 11 13:51:12 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Fri May 11 13:55:04 2012 +0100
@@ -21,6 +21,7 @@
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
 #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
+#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
 
 static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
 {
@@ -408,6 +409,334 @@ out:
     return pcidevs;
 }
 
+/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
+ * store the path to the original driver in it. */
+static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev,
+                            char **driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath, *dp = NULL;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func);
+    if ( !lstat(spath, &st) ) {
+        /* Find the canonical path to the driver. */
+        dp = libxl__zalloc(gc, PATH_MAX);
+        dp = realpath(spath, dp);
+        if ( !dp ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "realpath() failed");
+            return -1;
+        }
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
+                   dp);
+        
+        /* Unbind from the old driver */
+        spath = libxl__sprintf(gc, "%s/unbind", dp);
+        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
+            return -1;
+        }
+    }
+
+    if ( driver_path )
+        *driver_path = dp;
+
+    return 0;
+}
+
+/*
+ * A brief comment about slots.  I don't know what slots are for; however,
+ * I have by experimentation determined:
+ * - Before a device can be bound to pciback, its BDF must first be listed
+ *   in pciback/slots
+ * - The way to get the BDF listed there is to write BDF to
+ *   pciback/new_slot
+ * - Writing the same BDF to pciback/new_slot is not idempotent; it results
+ *   in two entries of the BDF in pciback/slots
+ * It's not clear whether having two entries in pciback/slots is a problem
+ * or not.  Just to be safe, this code does the conservative thing, and
+ * first checks to see if there is a slot, adding one only if one does not
+ * already exist.
+ */
+
+/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
+static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    FILE *f;
+    int rc = 0;
+    unsigned dom, bus, dev, func;
+    
+    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
+
+    if (f == NULL) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         SYSFS_PCIBACK_DRIVER"/slots");
+        return ERROR_FAIL;
+    }
+
+    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {
+        if(dom == pcidev->domain
+           && bus == pcidev->bus
+           && dev == pcidev->dev
+           && func == pcidev->func) {
+            rc = 1;
+            goto out;
+        }
+    }
+out:
+    fclose(f);
+    return rc;
+}
+
+static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath;
+    int rc;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
+                           pcidev->domain, pcidev->bus,
+                           pcidev->dev, pcidev->func);
+    rc = lstat(spath, &st);
+
+    if( rc == 0 )
+        return 1;
+    if ( rc < 0 && errno == ENOENT )
+        return 0;
+    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
+    return -1;
+}
+
+static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+
+    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Error checking for pciback slot");
+        return ERROR_FAIL;
+    } else if (rc == 0) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't bind device to pciback!");
+            return ERROR_FAIL;
+        }
+    }
+    
+    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove from pciback */
+    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
+        return ERROR_FAIL;
+    }
+
+    /* Remove slot if necessary */
+    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "Couldn't remove pciback slot");
+            return ERROR_FAIL;
+        }
+    }
+    return 0;
+}
+
+#define PCIBACK_INFO_PATH "/libxl/pciback"
+
+static void pci_assignable_driver_path_write(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            char *driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char *path;
+
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_WARNING,
+                         "Write of %s to node %s failed.",
+                         driver_path, path);
+    }
+}
+
+static char * pci_assignable_driver_path_read(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    return libxl__xs_read(gc, XBT_NULL, 
+                          libxl__sprintf(gc,
+                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func));
+}
+
+static void pci_assignable_driver_path_remove(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove the xenstore entry */
+    xs_rm(ctx->xsh, XBT_NULL,
+          libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
+                         pcidev->domain,
+                         pcidev->bus,
+                         pcidev->dev,
+                         pcidev->func) );
+}
+
+static int libxl__device_pci_assignable_add(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    unsigned dom, bus, dev, func;
+    char *spath, *driver_path = NULL;
+    struct stat st;
+
+    /* Local copy for convenience */
+    dom = pcidev->domain;
+    bus = pcidev->bus;
+    dev = pcidev->dev;
+    func = pcidev->func;
+
+    /* See if the device exists */
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
+    if ( lstat(spath, &st) ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
+        return ERROR_FAIL;
+    }
+
+    /* Check to see if it's already assigned to pciback */
+    if ( pciback_dev_is_assigned(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, PCI_BDF" already assigned to pciback",
+                   dom, bus, dev, func);
+        return 0;
+    }
+
+    /* Check to see if there's already a driver that we need to unbind from */
+    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "Couldn't unbind "PCI_BDF" from driver",
+                   dom, bus, dev, func);
+        return ERROR_FAIL;
+    }
+
+    /* Store driver_path for rebinding to dom0 */
+    if ( rebind ) {
+        if ( driver_path ) {
+            pci_assignable_driver_path_write(gc, pcidev, driver_path);
+        } else {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       PCI_BDF" not bound to a driver, will not be rebound.",
+                       dom, bus, dev, func);
+        }
+    }
+
+    if ( pciback_dev_assign(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+static int libxl__device_pci_assignable_remove(libxl__gc *gc,
+                                               libxl_device_pci *pcidev,
+                                               int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    char *driver_path;
+
+    /* Unbind from pciback */
+    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
+        return ERROR_FAIL;
+    } else if ( rc ) {
+        pciback_dev_unassign(gc, pcidev);
+    } else {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "Not bound to pciback");
+    }
+
+    /* Rebind if necessary */
+    driver_path = pci_assignable_driver_path_read(gc, pcidev);
+
+    if ( driver_path ) {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
+                       driver_path);
+
+            if ( sysfs_write_bdf(gc,
+                                 libxl__sprintf(gc, "%s/bind", driver_path),
+                                 pcidev) < 0 ) {
+                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                                 "Couldn't bind device to %s", driver_path);
+                return -1;
+            }
+        }
+
+        pci_assignable_driver_path_remove(gc, pcidev);
+    } else {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       "Couldn't find path for original driver; not rebinding");
+        }
+    }
+
+    return 0;
+}
+
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                    int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
+
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                       int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
 /*
  * This function checks that all functions of a device are bound to pciback
  * driver. It also initialises a bit-mask of which function numbers are present

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpyx-00086r-N7; Fri, 11 May 2012 13:34:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyw-00086f-8A
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:06 +0000
Received: from [85.158.139.83:2407] by server-7.bemta-5.messagelabs.com id
	36/F9-16195-D451DAF4; Fri, 11 May 2012 13:34:05 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336743243!27202211!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17304 invoked from network); 11 May 2012 13:34:04 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194438072"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-Rv;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: aa29f428a005383fed0e11c62292fa812325ebd6
Message-ID: <aa29f428a005383fed0e.1336743091@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:31 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 4 v2] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

...to prepare for a consistent "pci_assignable_*" naming scheme.

Also move the man page entry into the PCI PASS-THROUGH section, rather
than the XEN HOST section.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 6e2d2728620b -r aa29f428a005 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 11 13:50:47 2012 +0100
+++ b/docs/man/xl.pod.1	Fri May 11 13:51:12 2012 +0100
@@ -687,13 +687,6 @@ explanatory.
 
 Prints the current uptime of the domains running.
 
-=item B<pci-list-assignable-devices>
-
-List all the assignable PCI devices.
-These are devices in the system which are configured to be
-available for passthrough and are bound to a suitable PCI
-backend driver in domain 0 rather than a real driver.
-
 =back
 
 =head1 SCHEDULER SUBCOMMANDS
@@ -1026,6 +1019,13 @@ List virtual network interfaces for a do
 
 =over 4
 
+=item B<pci-assignable-list>
+
+List all the assignable PCI devices.
+These are devices in the system which are configured to be
+available for passthrough and are bound to a suitable PCI
+backend driver in domain 0 rather than a real driver.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/libxl.h	Fri May 11 13:51:12 2012 +0100
@@ -662,7 +662,7 @@ libxl_device_pci *libxl_device_pci_list(
  * could be assigned to a domain (i.e. are bound to the backend
  * driver) but are not currently.
  */
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
 int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Fri May 11 13:51:12 2012 +0100
@@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
     return 0;
 }
 
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
     libxl_device_pci *pcidevs = NULL, *new, *assigned;
@@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
     libxl_device_pci *pcidevs;
     int num, i;
 
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
     for (i = 0; i < num; i++) {
         if (pcidevs[i].domain == pcidev->domain &&
             pcidevs[i].bus == pcidev->bus &&
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/xl.h	Fri May 11 13:51:12 2012 +0100
@@ -34,9 +34,9 @@ int main_cd_insert(int argc, char **argv
 int main_console(int argc, char **argv);
 int main_vncviewer(int argc, char **argv);
 int main_pcilist(int argc, char **argv);
-int main_pcilist_assignable(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
 int main_save(int argc, char **argv);
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 13:51:12 2012 +0100
@@ -2223,34 +2223,6 @@ int main_vncviewer(int argc, char **argv
     return 0;
 }
 
-static void pcilist_assignable(void)
-{
-    libxl_device_pci *pcidevs;
-    int num, i;
-
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
-
-    if ( pcidevs == NULL )
-        return;
-    for (i = 0; i < num; i++) {
-        printf("%04x:%02x:%02x.%01x\n",
-               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
-        libxl_device_pci_dispose(&pcidevs[i]);
-    }
-    free(pcidevs);
-}
-
-int main_pcilist_assignable(int argc, char **argv)
-{
-    int opt;
-
-    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
-        return opt;
-
-    pcilist_assignable();
-    return 0;
-}
-
 static void pcilist(const char *dom)
 {
     libxl_device_pci *pcidevs;
@@ -2368,6 +2340,34 @@ int main_pciattach(int argc, char **argv
     return 0;
 }
 
+static void pciassignable_list(void)
+{
+    libxl_device_pci *pcidevs;
+    int num, i;
+
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
+
+    if ( pcidevs == NULL )
+        return;
+    for (i = 0; i < num; i++) {
+        printf("%04x:%02x:%02x.%01x\n",
+               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
+        libxl_device_pci_dispose(&pcidevs[i]);
+    }
+    free(pcidevs);
+}
+
+int main_pciassignable_list(int argc, char **argv)
+{
+    int opt;
+
+    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
+        return opt;
+
+    pciassignable_list();
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r 6e2d2728620b -r aa29f428a005 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Fri May 11 13:51:12 2012 +0100
@@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
-    { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0,
+    { "pci-assignable-list",
+      &main_pciassignable_list, 0,
       "List all the assignable pci devices",
       "",
     },
diff -r 6e2d2728620b -r aa29f428a005 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Fri May 11 13:50:47 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Fri May 11 13:51:12 2012 +0100
@@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
     return (PyObject *)pci;
 }
 
-static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
+static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
 {
     libxl_device_pci *dev;
     PyObject *list;
     int nr_dev, i;
 
-    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
+    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
     if ( dev == NULL ) {
         PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
         return NULL;
@@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
          "Parse pass-through PCI device spec (BDF)"},
     {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
         "List PCI devices assigned to a domain"},
-    {"device_pci_list_assignable",
-        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
+    {"device_pci_assignable_list",
+        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
         "List assignable PCI devices"},
     { NULL, NULL, 0, NULL }
 };

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpz0-00087h-0w; Fri, 11 May 2012 13:34:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyx-00086q-Ve
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:08 +0000
Received: from [85.158.138.51:46129] by server-12.bemta-3.messagelabs.com id
	6D/36-29760-F451DAF4; Fri, 11 May 2012 13:34:07 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336743243!24833275!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21927 invoked from network); 11 May 2012 13:34:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25100955"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-RR;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: 6e2d2728620b5b139c4ce98a2c31598d85822a86
Message-ID: <6e2d2728620b5b139c4c.1336743090@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:30 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 4 v2] libxl: Make a helper function write a
 BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This functionality will be used several times in subsequent patches.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r ef0365894118 -r 6e2d2728620b tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Thu May 10 14:26:47 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Fri May 11 13:50:47 2012 +0100
@@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
     return 0;
 }
 
+/* Write the standard BDF into the sysfs path given by sysfs_path. */
+static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
+                           libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc, fd;
+    char *buf;
+
+    fd = open(sysfs_path, O_WRONLY);
+    if (fd < 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         sysfs_path);
+        return ERROR_FAIL;
+    }
+        
+    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
+                         pcidev->dev, pcidev->func);
+    rc = write(fd, buf, strlen(buf));
+    /* Annoying to have two if's, but we need the errno */
+    if (rc < 0)
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "write to %s returned %d", sysfs_path, rc);
+    close(fd);
+
+    if (rc < 0)
+        return ERROR_FAIL;
+
+    return 0;
+}
+
 libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
@@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
 
         /* Don't restrict writes to the PCI config space from this VM */
         if (pcidev->permissive) {
-            int fd;
-            char *buf;
-            
-            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
-            fd = open(sysfs_path, O_WRONLY);
-            if (fd < 0) {
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
-                                 sysfs_path);
+            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Setting permissive for device");
                 return ERROR_FAIL;
             }
- 
-            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
-                                 pcidev->dev, pcidev->func);
-            rc = write(fd, buf, strlen(buf));
-            /* Annoying to have two if's, but we need the errno */
-            if (rc < 0)
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                                 "write to %s returned %d", sysfs_path, rc);
-            close(fd);
-            if (rc < 0)
-                return ERROR_FAIL;
         }
         break;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 13:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 13:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSpz0-00087h-0w; Fri, 11 May 2012 13:34:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSpyx-00086q-Ve
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 13:34:08 +0000
Received: from [85.158.138.51:46129] by server-12.bemta-3.messagelabs.com id
	6D/36-29760-F451DAF4; Fri, 11 May 2012 13:34:07 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1336743243!24833275!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21927 invoked from network); 11 May 2012 13:34:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 13:34:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25100955"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 09:34:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 09:34:02 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSpyr-0002Rc-RR;
	Fri, 11 May 2012 14:34:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: 6e2d2728620b5b139c4ce98a2c31598d85822a86
Message-ID: <6e2d2728620b5b139c4c.1336743090@kodo2>
In-Reply-To: <patchbomb.1336743089@kodo2>
References: <patchbomb.1336743089@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 14:31:30 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 4 v2] libxl: Make a helper function write a
 BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This functionality will be used several times in subsequent patches.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r ef0365894118 -r 6e2d2728620b tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Thu May 10 14:26:47 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Fri May 11 13:50:47 2012 +0100
@@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
     return 0;
 }
 
+/* Write the standard BDF into the sysfs path given by sysfs_path. */
+static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
+                           libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc, fd;
+    char *buf;
+
+    fd = open(sysfs_path, O_WRONLY);
+    if (fd < 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         sysfs_path);
+        return ERROR_FAIL;
+    }
+        
+    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
+                         pcidev->dev, pcidev->func);
+    rc = write(fd, buf, strlen(buf));
+    /* Annoying to have two if's, but we need the errno */
+    if (rc < 0)
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "write to %s returned %d", sysfs_path, rc);
+    close(fd);
+
+    if (rc < 0)
+        return ERROR_FAIL;
+
+    return 0;
+}
+
 libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
@@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
 
         /* Don't restrict writes to the PCI config space from this VM */
         if (pcidev->permissive) {
-            int fd;
-            char *buf;
-            
-            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
-            fd = open(sysfs_path, O_WRONLY);
-            if (fd < 0) {
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
-                                 sysfs_path);
+            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Setting permissive for device");
                 return ERROR_FAIL;
             }
- 
-            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
-                                 pcidev->dev, pcidev->func);
-            rc = write(fd, buf, strlen(buf));
-            /* Annoying to have two if's, but we need the errno */
-            if (rc < 0)
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                                 "write to %s returned %d", sysfs_path, rc);
-            close(fd);
-            if (rc < 0)
-                return ERROR_FAIL;
         }
         break;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:08:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:08:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqVu-0000cs-IU; Fri, 11 May 2012 14:08:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSqVs-0000cn-5e
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:08:08 +0000
Received: from [85.158.143.35:60896] by server-2.bemta-4.messagelabs.com id
	EE/8A-17550-74D1DAF4; Fri, 11 May 2012 14:08:07 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336745286!8429104!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8401 invoked from network); 11 May 2012 14:08:06 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:08:06 -0000
Received: by wgbed3 with SMTP id ed3so2081094wgb.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 07:08:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=lfIsuoVj+sqyOFJoWVTP3/2mKav2pey5DVzkM2xv6xE=;
	b=ydb4FGWDpwvvJpidyUB6cHv2xDBnJ4gkjy2QmB7xg2UuvVHTQ7AS5T233kBzL55NOH
	ncA1etRim4eSNya+BKgVXTFz5qQq4B/uGjx2+GwstEPbgT/9L+z2sOyYaxR1aDpoJBCr
	V8ZUhoYnNZebAWaLc0WM6XWJgHC+S0girsZxgJL6fIDuEOmrOPyqNZ+fcfxHRq57juht
	i0qg6Qf28DL/43zN/ZxsenP1hFiV7bD8CPrh3F+nSGIdUJklqZEl7BaPKk/4Vp5lr3NT
	GXriDklkS6x3V0GAn3n+5yvl37VIFwCLaQevapXEwlmzVBSy4Rmf93Yh/w5g1xG+XBkt
	FB/w==
MIME-Version: 1.0
Received: by 10.180.106.9 with SMTP id gq9mr8074900wib.17.1336745286155; Fri,
	11 May 2012 07:08:06 -0700 (PDT)
Received: by 10.223.61.208 with HTTP; Fri, 11 May 2012 07:08:06 -0700 (PDT)
Date: Fri, 11 May 2012 22:08:06 +0800
Message-ID: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4499938332538435427=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4499938332538435427==
Content-Type: multipart/alternative; boundary=f46d04451a15efbc6c04bfc3430f

--f46d04451a15efbc6c04bfc3430f
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi,

When I do the "make install-tools" with xen-4.2-unstable, there are some
errors about "warn_unused_result".
Is it the error in code or the error in the compiling environment? Thank
you so much.


gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=3Dgnu99
-Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__
-MMD -MF .tapdisk-queue.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing
-I../include -I../drivers
-I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libxc
-I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include
-D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I
/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
-c -o tapdisk-queue.o tapdisk-queue.c
cc1: warnings being treated as errors
tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:
tapdisk-queue.c:438: error: ignoring return value of =91read=92, declared w=
ith
attribute warn_unused_result
make[5]: *** [tapdisk-queue.o] Error 1
make[5]: Leaving directory
`/root/Xen/xen-4.2-unstable/tools/blktap2/drivers'
make[4]: *** [subdir-install-drivers] Error 2
make[4]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
make[3]: *** [subdirs-install] Error 2
make[3]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
make[2]: *** [subdir-install-blktap2] Error 2
make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
make: *** [install-tools] Error 2
------
root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
-c -o tapdisk-log.o tapdisk-log.c
cc1: warnings being treated as errors
tapdisk-log.c: In function =91tlog_flush=92:
tapdisk-log.c:250: error: ignoring return value of =91write=92, declared wi=
th
attribute warn_unused_result
------
/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
-c -o tapdisk2.o tapdisk2.c
cc1: warnings being treated as errors
tapdisk2.c: In function =91main=92:
tapdisk2.c:82: error: ignoring return value of =91chdir=92, declared with
attribute warn_unused_result
------
cc1: warnings being treated as errors
tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:
tapdisk-stream.c:148: error: ignoring return value of =91read=92, declared =
with
attribute warn_unused_result
tapdisk-stream.c: In function =91tapdisk_stream_poll_set=92:
tapdisk-stream.c:158: error: ignoring return value of =91write=92, declared
with attribute warn_unused_result
tapdisk-stream.c: In function =91tapdisk_stream_print_request=92:
tapdisk-stream.c:206: error: ignoring return value of =91write=92, declared
with attribute warn_unused_result



Best Regards,
Bei Guan

--f46d04451a15efbc6c04bfc3430f
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>When I do the &quot;make install-tools&quot; with xen-4.2-unstab=
le, there are some errors about &quot;warn_unused_result&quot;.<br>Is it th=
e error in code or the error in the compiling environment? Thank you so muc=
h.<br>
<br><br>gcc=A0 -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -st=
d=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement=A0=A0 -D_=
_XEN_TOOLS__ -MMD -MF .tapdisk-queue.o.d=A0 -D_LARGEFILE_SOURCE -D_LARGEFIL=
E64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-a=
liasing -I../include -I../drivers -I/root/Xen/xen-4.2-unstable/tools/blktap=
2/drivers/../../../tools/libxc -I/root/Xen/xen-4.2-unstable/tools/blktap2/d=
rivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I /root/=
Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src=A0 -c =
-o tapdisk-queue.o tapdisk-queue.c <br>
cc1: warnings being treated as errors<br><span style=3D"color:rgb(255,0,0)"=
>tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:</span><br style=
=3D"color:rgb(255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdisk-queue.c:=
438: error: ignoring return value of =91read=92, declared with attribute wa=
rn_unused_result</span><br>
make[5]: *** [tapdisk-queue.o] Error 1<br>make[5]: Leaving directory `/root=
/Xen/xen-4.2-unstable/tools/blktap2/drivers&#39;<br>make[4]: *** [subdir-in=
stall-drivers] Error 2<br>make[4]: Leaving directory `/root/Xen/xen-4.2-uns=
table/tools/blktap2&#39;<br>
make[3]: *** [subdirs-install] Error 2<br>make[3]: Leaving directory `/root=
/Xen/xen-4.2-unstable/tools/blktap2&#39;<br>make[2]: *** [subdir-install-bl=
ktap2] Error 2<br>make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/to=
ols&#39;<br>
make[1]: *** [subdirs-install] Error 2<br>make[1]: Leaving directory `/root=
/Xen/xen-4.2-unstable/tools&#39;<br>make: *** [install-tools] Error 2<br>--=
----<br>root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/liba=
io/src=A0 -c -o tapdisk-log.o tapdisk-log.c <br>
cc1: warnings being treated as errors<br><span style=3D"color:rgb(255,0,0)"=
>tapdisk-log.c: In function =91tlog_flush=92:</span><br style=3D"color:rgb(=
255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdisk-log.c:250: error: igno=
ring return value of =91write=92, declared with attribute warn_unused_resul=
t</span><br>
------<br>/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/l=
ibaio/src=A0 -c -o tapdisk2.o tapdisk2.c <br>cc1: warnings being treated as=
 errors<br><span style=3D"color:rgb(255,0,0)">tapdisk2.c: In function =91ma=
in=92:</span><br style=3D"color:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk2.c:82: error: ignoring return va=
lue of =91chdir=92, declared with attribute warn_unused_result</span><br>--=
----<br>cc1: warnings being treated as errors<br><span style=3D"color:rgb(2=
55,0,0)">tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:</sp=
an><br style=3D"color:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk-stream.c:148: error: ignoring re=
turn value of =91read=92, declared with attribute warn_unused_result</span>=
<br style=3D"color:rgb(255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdisk=
-stream.c: In function =91tapdisk_stream_poll_set=92:</span><br style=3D"co=
lor:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk-stream.c:158: error: ignoring re=
turn value of =91write=92, declared with attribute warn_unused_result</span=
><br style=3D"color:rgb(255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdis=
k-stream.c: In function =91tapdisk_stream_print_request=92:</span><br style=
=3D"color:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk-stream.c:206: error: ignoring re=
turn value of =91write=92, declared with attribute warn_unused_result</span=
><br clear=3D"all"><br><br><br>Best Regards,<div>Bei Guan</div><br>

--f46d04451a15efbc6c04bfc3430f--


--===============4499938332538435427==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4499938332538435427==--


From xen-devel-bounces@lists.xen.org Fri May 11 14:08:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:08:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqVu-0000cs-IU; Fri, 11 May 2012 14:08:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSqVs-0000cn-5e
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:08:08 +0000
Received: from [85.158.143.35:60896] by server-2.bemta-4.messagelabs.com id
	EE/8A-17550-74D1DAF4; Fri, 11 May 2012 14:08:07 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336745286!8429104!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8401 invoked from network); 11 May 2012 14:08:06 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:08:06 -0000
Received: by wgbed3 with SMTP id ed3so2081094wgb.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 07:08:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=lfIsuoVj+sqyOFJoWVTP3/2mKav2pey5DVzkM2xv6xE=;
	b=ydb4FGWDpwvvJpidyUB6cHv2xDBnJ4gkjy2QmB7xg2UuvVHTQ7AS5T233kBzL55NOH
	ncA1etRim4eSNya+BKgVXTFz5qQq4B/uGjx2+GwstEPbgT/9L+z2sOyYaxR1aDpoJBCr
	V8ZUhoYnNZebAWaLc0WM6XWJgHC+S0girsZxgJL6fIDuEOmrOPyqNZ+fcfxHRq57juht
	i0qg6Qf28DL/43zN/ZxsenP1hFiV7bD8CPrh3F+nSGIdUJklqZEl7BaPKk/4Vp5lr3NT
	GXriDklkS6x3V0GAn3n+5yvl37VIFwCLaQevapXEwlmzVBSy4Rmf93Yh/w5g1xG+XBkt
	FB/w==
MIME-Version: 1.0
Received: by 10.180.106.9 with SMTP id gq9mr8074900wib.17.1336745286155; Fri,
	11 May 2012 07:08:06 -0700 (PDT)
Received: by 10.223.61.208 with HTTP; Fri, 11 May 2012 07:08:06 -0700 (PDT)
Date: Fri, 11 May 2012 22:08:06 +0800
Message-ID: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4499938332538435427=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4499938332538435427==
Content-Type: multipart/alternative; boundary=f46d04451a15efbc6c04bfc3430f

--f46d04451a15efbc6c04bfc3430f
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi,

When I do the "make install-tools" with xen-4.2-unstable, there are some
errors about "warn_unused_result".
Is it the error in code or the error in the compiling environment? Thank
you so much.


gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=3Dgnu99
-Wall -Wstrict-prototypes -Wdeclaration-after-statement   -D__XEN_TOOLS__
-MMD -MF .tapdisk-queue.o.d  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-aliasing
-I../include -I../drivers
-I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libxc
-I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include
-D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I
/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
-c -o tapdisk-queue.o tapdisk-queue.c
cc1: warnings being treated as errors
tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:
tapdisk-queue.c:438: error: ignoring return value of =91read=92, declared w=
ith
attribute warn_unused_result
make[5]: *** [tapdisk-queue.o] Error 1
make[5]: Leaving directory
`/root/Xen/xen-4.2-unstable/tools/blktap2/drivers'
make[4]: *** [subdir-install-drivers] Error 2
make[4]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
make[3]: *** [subdirs-install] Error 2
make[3]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
make[2]: *** [subdir-install-blktap2] Error 2
make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
make: *** [install-tools] Error 2
------
root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
-c -o tapdisk-log.o tapdisk-log.c
cc1: warnings being treated as errors
tapdisk-log.c: In function =91tlog_flush=92:
tapdisk-log.c:250: error: ignoring return value of =91write=92, declared wi=
th
attribute warn_unused_result
------
/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
-c -o tapdisk2.o tapdisk2.c
cc1: warnings being treated as errors
tapdisk2.c: In function =91main=92:
tapdisk2.c:82: error: ignoring return value of =91chdir=92, declared with
attribute warn_unused_result
------
cc1: warnings being treated as errors
tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:
tapdisk-stream.c:148: error: ignoring return value of =91read=92, declared =
with
attribute warn_unused_result
tapdisk-stream.c: In function =91tapdisk_stream_poll_set=92:
tapdisk-stream.c:158: error: ignoring return value of =91write=92, declared
with attribute warn_unused_result
tapdisk-stream.c: In function =91tapdisk_stream_print_request=92:
tapdisk-stream.c:206: error: ignoring return value of =91write=92, declared
with attribute warn_unused_result



Best Regards,
Bei Guan

--f46d04451a15efbc6c04bfc3430f
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>When I do the &quot;make install-tools&quot; with xen-4.2-unstab=
le, there are some errors about &quot;warn_unused_result&quot;.<br>Is it th=
e error in code or the error in the compiling environment? Thank you so muc=
h.<br>
<br><br>gcc=A0 -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -st=
d=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement=A0=A0 -D_=
_XEN_TOOLS__ -MMD -MF .tapdisk-queue.o.d=A0 -D_LARGEFILE_SOURCE -D_LARGEFIL=
E64_SOURCE -fno-optimize-sibling-calls -Werror -g -Wno-unused -fno-strict-a=
liasing -I../include -I../drivers -I/root/Xen/xen-4.2-unstable/tools/blktap=
2/drivers/../../../tools/libxc -I/root/Xen/xen-4.2-unstable/tools/blktap2/d=
rivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I /root/=
Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src=A0 -c =
-o tapdisk-queue.o tapdisk-queue.c <br>
cc1: warnings being treated as errors<br><span style=3D"color:rgb(255,0,0)"=
>tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:</span><br style=
=3D"color:rgb(255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdisk-queue.c:=
438: error: ignoring return value of =91read=92, declared with attribute wa=
rn_unused_result</span><br>
make[5]: *** [tapdisk-queue.o] Error 1<br>make[5]: Leaving directory `/root=
/Xen/xen-4.2-unstable/tools/blktap2/drivers&#39;<br>make[4]: *** [subdir-in=
stall-drivers] Error 2<br>make[4]: Leaving directory `/root/Xen/xen-4.2-uns=
table/tools/blktap2&#39;<br>
make[3]: *** [subdirs-install] Error 2<br>make[3]: Leaving directory `/root=
/Xen/xen-4.2-unstable/tools/blktap2&#39;<br>make[2]: *** [subdir-install-bl=
ktap2] Error 2<br>make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/to=
ols&#39;<br>
make[1]: *** [subdirs-install] Error 2<br>make[1]: Leaving directory `/root=
/Xen/xen-4.2-unstable/tools&#39;<br>make: *** [install-tools] Error 2<br>--=
----<br>root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/liba=
io/src=A0 -c -o tapdisk-log.o tapdisk-log.c <br>
cc1: warnings being treated as errors<br><span style=3D"color:rgb(255,0,0)"=
>tapdisk-log.c: In function =91tlog_flush=92:</span><br style=3D"color:rgb(=
255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdisk-log.c:250: error: igno=
ring return value of =91write=92, declared with attribute warn_unused_resul=
t</span><br>
------<br>/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/l=
ibaio/src=A0 -c -o tapdisk2.o tapdisk2.c <br>cc1: warnings being treated as=
 errors<br><span style=3D"color:rgb(255,0,0)">tapdisk2.c: In function =91ma=
in=92:</span><br style=3D"color:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk2.c:82: error: ignoring return va=
lue of =91chdir=92, declared with attribute warn_unused_result</span><br>--=
----<br>cc1: warnings being treated as errors<br><span style=3D"color:rgb(2=
55,0,0)">tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:</sp=
an><br style=3D"color:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk-stream.c:148: error: ignoring re=
turn value of =91read=92, declared with attribute warn_unused_result</span>=
<br style=3D"color:rgb(255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdisk=
-stream.c: In function =91tapdisk_stream_poll_set=92:</span><br style=3D"co=
lor:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk-stream.c:158: error: ignoring re=
turn value of =91write=92, declared with attribute warn_unused_result</span=
><br style=3D"color:rgb(255,0,0)"><span style=3D"color:rgb(255,0,0)">tapdis=
k-stream.c: In function =91tapdisk_stream_print_request=92:</span><br style=
=3D"color:rgb(255,0,0)">
<span style=3D"color:rgb(255,0,0)">tapdisk-stream.c:206: error: ignoring re=
turn value of =91write=92, declared with attribute warn_unused_result</span=
><br clear=3D"all"><br><br><br>Best Regards,<div>Bei Guan</div><br>

--f46d04451a15efbc6c04bfc3430f--


--===============4499938332538435427==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4499938332538435427==--


From xen-devel-bounces@lists.xen.org Fri May 11 14:11:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:11:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqYk-0000iM-Om; Fri, 11 May 2012 14:11:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqYj-0000iH-GZ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:11:05 +0000
Received: from [85.158.143.99:25895] by server-1.bemta-4.messagelabs.com id
	9D/F7-20925-8FD1DAF4; Fri, 11 May 2012 14:11:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336745462!20035414!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24260 invoked from network); 11 May 2012 14:11:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:11:03 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEB0YW008576
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:11:00 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEAxvP016764
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:10:59 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEAw4s015717; Fri, 11 May 2012 09:10:58 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:10:58 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 19F6D40359; Fri, 11 May 2012 10:04:55 -0400 (EDT)
Date: Fri, 11 May 2012 10:04:54 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511140454.GA13735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 03:06:14PM +0000, Liu, Jinsong wrote:
> >From 7aa4cf7c1172e24611dc76163397b8708acacc59 Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Fri, 11 May 2012 06:55:35 +0800
> Subject: [PATCH 3/3] Xen physical cpus interface
> 
> Manage physical cpus in dom0, get physical cpus info and provide sys interface.
> 
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> ---
>  .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
>  drivers/xen/Makefile                               |    1 +
>  drivers/xen/pcpu.c                                 |  374 ++++++++++++++++++++
>  include/xen/interface/platform.h                   |    8 +
>  include/xen/interface/xen.h                        |    1 +
>  5 files changed, 404 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-devices-system-xen_cpu
>  create mode 100644 drivers/xen/pcpu.c
> 
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
> new file mode 100644
> index 0000000..9ca02fb
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
> @@ -0,0 +1,20 @@
> +What:		/sys/devices/system/xen_cpu/
> +Date:		May 2012
> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
> +Description:
> +		A collection of global/individual Xen physical cpu attributes
> +
> +		Individual physical cpu attributes are contained in
> +		subdirectories named by the Xen's logical cpu number, e.g.:
> +		/sys/devices/system/xen_cpu/xen_cpu#/
> +
> +
> +What:		/sys/devices/system/xen_cpu/xen_cpu#/online
> +Date:		May 2012
> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
> +Description:
> +		Interface to online/offline Xen physical cpus
> +
> +		When running under Xen platform, it provide user interface
> +		to online/offline physical cpus, except cpu0 due to several
> +		logic restrictions and assumptions.
> diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
> index 1d3e763..d12d14d 100644
> --- a/drivers/xen/Makefile
> +++ b/drivers/xen/Makefile
> @@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+= platform-pci.o
>  obj-$(CONFIG_XEN_TMEM)			+= tmem.o
>  obj-$(CONFIG_SWIOTLB_XEN)		+= swiotlb-xen.o
>  obj-$(CONFIG_XEN_DOM0)			+= pci.o
> +obj-$(CONFIG_XEN_DOM0)			+= pcpu.o
>  obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+= xen-pciback/
>  obj-$(CONFIG_XEN_PRIVCMD)		+= xen-privcmd.o
>  obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+= xen-acpi-processor.o
> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
> new file mode 100644
> index 0000000..9014ff1
> --- /dev/null
> +++ b/drivers/xen/pcpu.c
> @@ -0,0 +1,374 @@
> +/******************************************************************************
> + * pcpu.c
> + * Management physical cpu in dom0, get pcpu info and provide sys interface
> + *
> + * Copyright (c) 2012 Intel Corporation
> + * Author: Liu, Jinsong <jinsong.liu@intel.com>
> + * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License version 2
> + * as published by the Free Software Foundation; or, when distributed
> + * separately from the Linux kernel or incorporated into other
> + * software packages, subject to the following license:
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this source file (the "Software"), to deal in the Software without
> + * restriction, including without limitation the rights to use, copy, modify,
> + * merge, publish, distribute, sublicense, and/or sell copies of the Software,
> + * and to permit persons to whom the Software is furnished to do so, subject to
> + * the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> + * IN THE SOFTWARE.
> + */
> +
> +#include <linux/interrupt.h>
> +#include <linux/spinlock.h>
> +#include <linux/cpu.h>
> +#include <linux/stat.h>
> +#include <linux/capability.h>
> +
> +#include <xen/xen.h>
> +#include <xen/xenbus.h>
> +#include <xen/events.h>
> +#include <xen/interface/platform.h>
> +#include <asm/xen/hypervisor.h>
> +#include <asm/xen/hypercall.h>
> +
> +#define XEN_PCPU "xen_cpu: "
> +
> +/*
> + * @cpu_id: Xen physical cpu logic number
> + * @flags: Xen physical cpu status flag
> + * - XEN_PCPU_FLAGS_ONLINE: cpu is online
> + * - XEN_PCPU_FLAGS_INVALID: cpu is not present
> + */
> +struct pcpu {
> +	struct list_head list;
> +	struct device dev;
> +	uint32_t cpu_id;
> +	uint32_t flags;
> +};
> +
> +static struct bus_type xen_pcpu_subsys = {
> +	.name = "xen_cpu",
> +	.dev_name = "xen_cpu",
> +};
> +
> +static DEFINE_MUTEX(xen_pcpu_lock);
> +
> +static LIST_HEAD(xen_pcpus);

So what about the recommendation to get rid of that and
instead do

struct pcpu *xen_cpu;

and use that as a list? Meaning
.. snip..
> +{
> +	struct list_head *cur;
> +	struct pcpu *pcpu;
> +
> +	list_for_each(cur, &xen_pcpus) {
> +		pcpu = list_entry(cur, struct pcpu, list);
> +		if (pcpu->cpu_id == cpu_id)
> +			return pcpu;
> +	}

do:
struct pcpu *pcpu;

list_for_each_entry(pcpu, xen_pcpus, list)
	if (pcpu->cpu_id == cpu_id)
		return pcpu;
?

and such.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:11:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:11:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqYk-0000iM-Om; Fri, 11 May 2012 14:11:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqYj-0000iH-GZ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:11:05 +0000
Received: from [85.158.143.99:25895] by server-1.bemta-4.messagelabs.com id
	9D/F7-20925-8FD1DAF4; Fri, 11 May 2012 14:11:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336745462!20035414!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24260 invoked from network); 11 May 2012 14:11:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:11:03 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEB0YW008576
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:11:00 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEAxvP016764
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:10:59 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEAw4s015717; Fri, 11 May 2012 09:10:58 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:10:58 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 19F6D40359; Fri, 11 May 2012 10:04:55 -0400 (EDT)
Date: Fri, 11 May 2012 10:04:54 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511140454.GA13735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 10, 2012 at 03:06:14PM +0000, Liu, Jinsong wrote:
> >From 7aa4cf7c1172e24611dc76163397b8708acacc59 Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Fri, 11 May 2012 06:55:35 +0800
> Subject: [PATCH 3/3] Xen physical cpus interface
> 
> Manage physical cpus in dom0, get physical cpus info and provide sys interface.
> 
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> ---
>  .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
>  drivers/xen/Makefile                               |    1 +
>  drivers/xen/pcpu.c                                 |  374 ++++++++++++++++++++
>  include/xen/interface/platform.h                   |    8 +
>  include/xen/interface/xen.h                        |    1 +
>  5 files changed, 404 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-devices-system-xen_cpu
>  create mode 100644 drivers/xen/pcpu.c
> 
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
> new file mode 100644
> index 0000000..9ca02fb
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
> @@ -0,0 +1,20 @@
> +What:		/sys/devices/system/xen_cpu/
> +Date:		May 2012
> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
> +Description:
> +		A collection of global/individual Xen physical cpu attributes
> +
> +		Individual physical cpu attributes are contained in
> +		subdirectories named by the Xen's logical cpu number, e.g.:
> +		/sys/devices/system/xen_cpu/xen_cpu#/
> +
> +
> +What:		/sys/devices/system/xen_cpu/xen_cpu#/online
> +Date:		May 2012
> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
> +Description:
> +		Interface to online/offline Xen physical cpus
> +
> +		When running under Xen platform, it provide user interface
> +		to online/offline physical cpus, except cpu0 due to several
> +		logic restrictions and assumptions.
> diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
> index 1d3e763..d12d14d 100644
> --- a/drivers/xen/Makefile
> +++ b/drivers/xen/Makefile
> @@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+= platform-pci.o
>  obj-$(CONFIG_XEN_TMEM)			+= tmem.o
>  obj-$(CONFIG_SWIOTLB_XEN)		+= swiotlb-xen.o
>  obj-$(CONFIG_XEN_DOM0)			+= pci.o
> +obj-$(CONFIG_XEN_DOM0)			+= pcpu.o
>  obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+= xen-pciback/
>  obj-$(CONFIG_XEN_PRIVCMD)		+= xen-privcmd.o
>  obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+= xen-acpi-processor.o
> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
> new file mode 100644
> index 0000000..9014ff1
> --- /dev/null
> +++ b/drivers/xen/pcpu.c
> @@ -0,0 +1,374 @@
> +/******************************************************************************
> + * pcpu.c
> + * Management physical cpu in dom0, get pcpu info and provide sys interface
> + *
> + * Copyright (c) 2012 Intel Corporation
> + * Author: Liu, Jinsong <jinsong.liu@intel.com>
> + * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License version 2
> + * as published by the Free Software Foundation; or, when distributed
> + * separately from the Linux kernel or incorporated into other
> + * software packages, subject to the following license:
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this source file (the "Software"), to deal in the Software without
> + * restriction, including without limitation the rights to use, copy, modify,
> + * merge, publish, distribute, sublicense, and/or sell copies of the Software,
> + * and to permit persons to whom the Software is furnished to do so, subject to
> + * the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> + * IN THE SOFTWARE.
> + */
> +
> +#include <linux/interrupt.h>
> +#include <linux/spinlock.h>
> +#include <linux/cpu.h>
> +#include <linux/stat.h>
> +#include <linux/capability.h>
> +
> +#include <xen/xen.h>
> +#include <xen/xenbus.h>
> +#include <xen/events.h>
> +#include <xen/interface/platform.h>
> +#include <asm/xen/hypervisor.h>
> +#include <asm/xen/hypercall.h>
> +
> +#define XEN_PCPU "xen_cpu: "
> +
> +/*
> + * @cpu_id: Xen physical cpu logic number
> + * @flags: Xen physical cpu status flag
> + * - XEN_PCPU_FLAGS_ONLINE: cpu is online
> + * - XEN_PCPU_FLAGS_INVALID: cpu is not present
> + */
> +struct pcpu {
> +	struct list_head list;
> +	struct device dev;
> +	uint32_t cpu_id;
> +	uint32_t flags;
> +};
> +
> +static struct bus_type xen_pcpu_subsys = {
> +	.name = "xen_cpu",
> +	.dev_name = "xen_cpu",
> +};
> +
> +static DEFINE_MUTEX(xen_pcpu_lock);
> +
> +static LIST_HEAD(xen_pcpus);

So what about the recommendation to get rid of that and
instead do

struct pcpu *xen_cpu;

and use that as a list? Meaning
.. snip..
> +{
> +	struct list_head *cur;
> +	struct pcpu *pcpu;
> +
> +	list_for_each(cur, &xen_pcpus) {
> +		pcpu = list_entry(cur, struct pcpu, list);
> +		if (pcpu->cpu_id == cpu_id)
> +			return pcpu;
> +	}

do:
struct pcpu *pcpu;

list_for_each_entry(pcpu, xen_pcpus, list)
	if (pcpu->cpu_id == cpu_id)
		return pcpu;
?

and such.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbq-0000ru-Oh; Fri, 11 May 2012 14:14:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbo-0000rN-HD
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:16 +0000
Received: from [85.158.143.35:31842] by server-2.bemta-4.messagelabs.com id
	CA/43-17550-7BE1DAF4; Fri, 11 May 2012 14:14:15 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10848 invoked from network); 11 May 2012 14:14:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445107"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-Lb;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:50 +0100
Message-ID: <1336745632-28158-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and
	library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

NetBSD `python-conf --ldflags` doesn't return the library dir, so we
have to add it to LDFLAGS based on the prefix returned by `python-conf
--prefix`. Also the include dir has been added to CFLAGS using the
same technique.

If not passed the configure script fails on NetBSD, complaining it
cannot find lpythonx.x library during the python_dev test phase.

This is currently done on all OSes, since I think it's harmless to do
this on other systems also.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/m4/python_devel.m4 |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/m4/python_devel.m4 b/tools/m4/python_devel.m4
index 0a2202c..61326df 100644
--- a/tools/m4/python_devel.m4
+++ b/tools/m4/python_devel.m4
@@ -23,8 +23,9 @@ AS_IF([test x"$pyconfig" == x"no"], [
         print distutils.sysconfig.get_config_var("LDFLAGS")'`"
 ], [
     dnl If python-config is found use it
-    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
-    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags`"
+    ac_python_prefix=`$PYTHON-config --prefix`
+    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags` -I$ac_python_prefix/include"
+    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags` -L$ac_python_prefix/lib"
 ])
 
 AC_CHECK_HEADER([Python.h], [],
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbq-0000ru-Oh; Fri, 11 May 2012 14:14:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbo-0000rN-HD
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:16 +0000
Received: from [85.158.143.35:31842] by server-2.bemta-4.messagelabs.com id
	CA/43-17550-7BE1DAF4; Fri, 11 May 2012 14:14:15 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10848 invoked from network); 11 May 2012 14:14:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445107"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-Lb;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:50 +0100
Message-ID: <1336745632-28158-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and
	library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

NetBSD `python-conf --ldflags` doesn't return the library dir, so we
have to add it to LDFLAGS based on the prefix returned by `python-conf
--prefix`. Also the include dir has been added to CFLAGS using the
same technique.

If not passed the configure script fails on NetBSD, complaining it
cannot find lpythonx.x library during the python_dev test phase.

This is currently done on all OSes, since I think it's harmless to do
this on other systems also.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/m4/python_devel.m4 |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/m4/python_devel.m4 b/tools/m4/python_devel.m4
index 0a2202c..61326df 100644
--- a/tools/m4/python_devel.m4
+++ b/tools/m4/python_devel.m4
@@ -23,8 +23,9 @@ AS_IF([test x"$pyconfig" == x"no"], [
         print distutils.sysconfig.get_config_var("LDFLAGS")'`"
 ], [
     dnl If python-config is found use it
-    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
-    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags`"
+    ac_python_prefix=`$PYTHON-config --prefix`
+    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags` -I$ac_python_prefix/include"
+    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags` -L$ac_python_prefix/lib"
 ])
 
 AC_CHECK_HEADER([Python.h], [],
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbr-0000s1-3g; Fri, 11 May 2012 14:14:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbp-0000rU-8F
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:17 +0000
Received: from [85.158.143.35:31884] by server-1.bemta-4.messagelabs.com id
	55/2C-20925-8BE1DAF4; Fri, 11 May 2012 14:14:16 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10885 invoked from network); 11 May 2012 14:14:15 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445108"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-Mg;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:52 +0100
Message-ID: <1336745632-28158-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 3/3] autoconf: correctly parse *_INCLUDES and
	*_LIB env vars
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Parse those options correctly, since the "+=" operator is not valid.
Also added CPPFLAGS, so headers checks don't give strange results.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/m4/set_cflags_ldflags.m4 |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/m4/set_cflags_ldflags.m4 b/tools/m4/set_cflags_ldflags.m4
index 7e357ba..631e81c 100644
--- a/tools/m4/set_cflags_ldflags.m4
+++ b/tools/m4/set_cflags_ldflags.m4
@@ -1,20 +1,21 @@
 AC_DEFUN([AX_SET_FLAGS],
 [for cflag in $PREPEND_INCLUDES
 do
-    PREPEND_CFLAGS+=" -I$cflag"
+    PREPEND_CFLAGS="$PREPEND_CFLAGS -I$cflag"
 done
 for ldflag in $PREPEND_LIB
 do
-    PREPEND_LDFLAGS+=" -L$ldflag"
+    PREPEND_LDFLAGS="$PREPEND_LDFLAGS -L$ldflag"
 done
 for cflag in $APPEND_INCLUDES
 do
-    APPEND_CFLAGS+=" -I$cflag"
+    APPEND_CFLAGS="$APPEND_CFLAGS -I$cflag"
 done
 for ldflag in $APPEND_LIB
 do
-    APPEND_LDFLAGS+=" -L$ldflag"
+    APPEND_LDFLAGS="$APPEND_LDFLAGS -L$ldflag"
 done
 CFLAGS="$PREPEND_CFLAGS $CFLAGS $APPEND_CFLAGS"
+CPPFLAGS="$CFLAGS"
 LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPEND_LDFLAGS"])
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbr-0000s1-3g; Fri, 11 May 2012 14:14:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbp-0000rU-8F
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:17 +0000
Received: from [85.158.143.35:31884] by server-1.bemta-4.messagelabs.com id
	55/2C-20925-8BE1DAF4; Fri, 11 May 2012 14:14:16 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10885 invoked from network); 11 May 2012 14:14:15 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445108"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-Mg;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:52 +0100
Message-ID: <1336745632-28158-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 3/3] autoconf: correctly parse *_INCLUDES and
	*_LIB env vars
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Parse those options correctly, since the "+=" operator is not valid.
Also added CPPFLAGS, so headers checks don't give strange results.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/m4/set_cflags_ldflags.m4 |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/m4/set_cflags_ldflags.m4 b/tools/m4/set_cflags_ldflags.m4
index 7e357ba..631e81c 100644
--- a/tools/m4/set_cflags_ldflags.m4
+++ b/tools/m4/set_cflags_ldflags.m4
@@ -1,20 +1,21 @@
 AC_DEFUN([AX_SET_FLAGS],
 [for cflag in $PREPEND_INCLUDES
 do
-    PREPEND_CFLAGS+=" -I$cflag"
+    PREPEND_CFLAGS="$PREPEND_CFLAGS -I$cflag"
 done
 for ldflag in $PREPEND_LIB
 do
-    PREPEND_LDFLAGS+=" -L$ldflag"
+    PREPEND_LDFLAGS="$PREPEND_LDFLAGS -L$ldflag"
 done
 for cflag in $APPEND_INCLUDES
 do
-    APPEND_CFLAGS+=" -I$cflag"
+    APPEND_CFLAGS="$APPEND_CFLAGS -I$cflag"
 done
 for ldflag in $APPEND_LIB
 do
-    APPEND_LDFLAGS+=" -L$ldflag"
+    APPEND_LDFLAGS="$APPEND_LDFLAGS -L$ldflag"
 done
 CFLAGS="$PREPEND_CFLAGS $CFLAGS $APPEND_CFLAGS"
+CPPFLAGS="$CFLAGS"
 LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPEND_LDFLAGS"])
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbp-0000rW-CG; Fri, 11 May 2012 14:14:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbn-0000rG-O0
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:15 +0000
Received: from [85.158.143.35:34953] by server-3.bemta-4.messagelabs.com id
	06/71-05853-6BE1DAF4; Fri, 11 May 2012 14:14:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10820 invoked from network); 11 May 2012 14:14:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445106"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-Jl	for xen-devel@lists.xen.org;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:49 +0100
Message-ID: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/3] Minor fixes to the build system for NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Small fixes to the build system to build out of the box on NetBSD.

One patch has already been sent to the qemu-devel ml, to allow qemu 
upstream to build correctly on NetBSD.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbp-0000rW-CG; Fri, 11 May 2012 14:14:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbn-0000rG-O0
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:15 +0000
Received: from [85.158.143.35:34953] by server-3.bemta-4.messagelabs.com id
	06/71-05853-6BE1DAF4; Fri, 11 May 2012 14:14:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10820 invoked from network); 11 May 2012 14:14:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445106"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-Jl	for xen-devel@lists.xen.org;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:49 +0100
Message-ID: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/3] Minor fixes to the build system for NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Small fixes to the build system to build out of the box on NetBSD.

One patch has already been sent to the qemu-devel ml, to allow qemu 
upstream to build correctly on NetBSD.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbr-0000sB-Fz; Fri, 11 May 2012 14:14:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbp-0000rN-KW
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:17 +0000
Received: from [85.158.143.35:35139] by server-2.bemta-4.messagelabs.com id
	53/53-17550-9BE1DAF4; Fri, 11 May 2012 14:14:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10903 invoked from network); 11 May 2012 14:14:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445109"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-MA;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:51 +0100
Message-ID: <1336745632-28158-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 2/3] build/tools: disable libvchan build on
	NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

NetBSD doesn't have a gntdev, so libvchan is unable to build due to
the lack of the header files gntalloc.h.

This is the error:

gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
-I../include -I.
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
init.o init.c
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.
gmake[3]: *** [init.opic] Error 1
gmake[3]: *** Waiting for unfinished jobs....
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index a74df2f..18a58e8 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
 SUBDIRS-y += libfsimage
 SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
-SUBDIRS-y += libvchan
+SUBDIRS-$(CONFIG_Linux) += libvchan
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqbr-0000sB-Fz; Fri, 11 May 2012 14:14:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SSqbp-0000rN-KW
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:17 +0000
Received: from [85.158.143.35:35139] by server-2.bemta-4.messagelabs.com id
	53/53-17550-9BE1DAF4; Fri, 11 May 2012 14:14:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336745652!11786164!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10903 invoked from network); 11 May 2012 14:14:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445109"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:13:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:13:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SSqbS-0003AN-MA;
	Fri, 11 May 2012 15:13:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 15:13:51 +0100
Message-ID: <1336745632-28158-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 2/3] build/tools: disable libvchan build on
	NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

NetBSD doesn't have a gntdev, so libvchan is unable to build due to
the lack of the header files gntalloc.h.

This is the error:

gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
-I../include -I.
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
init.o init.c
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.
gmake[3]: *** [init.opic] Error 1
gmake[3]: *** Waiting for unfinished jobs....
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index a74df2f..18a58e8 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
 SUBDIRS-y += libfsimage
 SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
-SUBDIRS-y += libvchan
+SUBDIRS-$(CONFIG_Linux) += libvchan
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqc3-0000vB-2p; Fri, 11 May 2012 14:14:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dominic.curran@citrix.com>) id 1SSqc1-0000ub-JX
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:29 +0000
Received: from [85.158.138.51:8807] by server-3.bemta-3.messagelabs.com id
	C5/19-04048-4CE1DAF4; Fri, 11 May 2012 14:14:28 +0000
X-Env-Sender: dominic.curran@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336745666!17698391!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21372 invoked from network); 11 May 2012 14:14:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445180"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:13 -0400
Received: from [10.80.2.144] (10.80.2.144) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 11 May 2012
	10:14:13 -0400
Message-ID: <4FAD2022.6050009@citrix.com>
Date: Fri, 11 May 2012 15:20:18 +0100
From: Dominic Curran <dominic.curran@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:8.0) Gecko/20111124 Thunderbird/8.0
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>, <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Dominic Curran <dominic.curran@citrix.com>
Date: Fri, 11 May 2012 12:24:42 +0100
Subject: [PATCH] xen: Fix a grant table resource leak

If the resource (my testing shows an object in TX/RX ring) still has a
reference held on it, then add to a list and kick-off a timer to try
and free later.

Signed-off-by: Dominic Curran <dominic.curran@citrix.com>
---
  drivers/xen/grant-table.c |   72 
+++++++++++++++++++++++++++++++++++++++++++---
  1 file changed, 68 insertions(+), 4 deletions(-)

Index: linux-2.6/drivers/xen/grant-table.c
===================================================================
--- linux-2.6.orig/drivers/xen/grant-table.c    2012-05-08 
13:52:54.000000000 +0100
+++ linux-2.6/drivers/xen/grant-table.c    2012-05-08 16:53:52.000000000 
+0100
@@ -33,6 +33,7 @@

  #include <linux/module.h>
  #include <linux/sched.h>
+#include <linux/timer.h>
  #include <linux/mm.h>
  #include <linux/slab.h>
  #include <linux/vmalloc.h>
@@ -57,6 +58,7 @@
  (grant_table_version == 1 ?                      \
  (PAGE_SIZE / sizeof(struct grant_entry_v1)) :   \
  (PAGE_SIZE / sizeof(union grant_entry_v2)))
+#define GNTTAB_CLEANUP_TIMER 10

  static grant_ref_t **gnttab_list;
  static unsigned int nr_grant_frames;
@@ -66,6 +68,9 @@ static grant_ref_t gnttab_free_head;
  static DEFINE_SPINLOCK(gnttab_list_lock);
  unsigned long xen_hvm_resume_frames;
  EXPORT_SYMBOL_GPL(xen_hvm_resume_frames);
+static LIST_HEAD(gnttab_used_ref_list);
+static DEFINE_SPINLOCK(gnttab_used_ref_lock);
+static struct timer_list gnttab_timer;

  static union {
      struct grant_entry_v1 *v1;
@@ -145,6 +150,16 @@ struct gnttab_ops {
                     domid_t trans_domid, grant_ref_t trans_gref);
  };

+/* This structure is used to hold references to pages until they become
+   ready to free.
+*/
+struct gnttab_used_ref {
+    struct list_head    list;
+    grant_ref_t            ref;
+    unsigned long        page;
+    int                readonly;
+};
+
  static struct gnttab_ops *gnttab_interface;

  /*This reflects status of grant entries, so act as a global value*/
@@ -464,18 +479,62 @@ int gnttab_end_foreign_access_ref(grant_
  }
  EXPORT_SYMBOL_GPL(gnttab_end_foreign_access_ref);

+static void gnttab_attempt_clean_used_refs(unsigned long arg)
+{
+    struct gnttab_used_ref  *u;
+    struct list_head        *pos, *q;
+    unsigned long            flags;
+
+    spin_lock_irqsave(&gnttab_used_ref_lock, flags);
+
+    list_for_each_safe(pos, q, &gnttab_used_ref_list) {
+        u = list_entry(pos, struct gnttab_used_ref, list);
+
+        if (gnttab_end_foreign_access_ref(u->ref, u->readonly)) {
+            list_del(pos);
+
+            put_free_entry(u->ref);
+            if (u->page != 0)
+                free_page(u->page);
+
+            kfree(u);
+        }
+    }
+    spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
+
+    if (!list_empty(&gnttab_used_ref_list))
+        mod_timer(&gnttab_timer, jiffies + HZ);
+}
+
  void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
                     unsigned long page)
  {
+    struct gnttab_used_ref *u;
+    unsigned long flags;
+
      if (gnttab_end_foreign_access_ref(ref, readonly)) {
          put_free_entry(ref);
          if (page != 0)
              free_page(page);
      } else {
-        /* XXX This needs to be fixed so that the ref and page are
-           placed on a list to be freed up later. */
-        printk(KERN_WARNING
-               "WARNING: leaking g.e. and page still in use!\n");
+        /* References that aren't cleaned up immediately sit on
+         * a list until they are abandoned & can be cleaned safely.
+         */
+        u = kmalloc(sizeof(struct gnttab_used_ref), GFP_KERNEL);
+        if (!u)
+            return;
+
+        u->page = page;
+        u->ref = ref;
+        u->readonly = readonly;
+
+        spin_lock_irqsave(&gnttab_used_ref_lock, flags);
+        list_add(&(u->list), &gnttab_used_ref_list);
+        spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
+
+        /* Kick off the cleanup timer. */
+        if (!timer_pending(&gnttab_timer))
+            add_timer(&gnttab_timer);
      }
  }
  EXPORT_SYMBOL_GPL(gnttab_end_foreign_access);
@@ -1068,6 +1127,11 @@ int gnttab_init(void)
      gnttab_free_count = nr_init_grefs - NR_RESERVED_ENTRIES;
      gnttab_free_head  = NR_RESERVED_ENTRIES;

+    init_timer(&gnttab_timer);
+    gnttab_timer.data = 0;
+    gnttab_timer.function = gnttab_attempt_clean_used_refs;
+    gnttab_timer.expires = jiffies + 
msecs_to_jiffies(GNTTAB_CLEANUP_TIMER);
+
      printk("Grant table initialized\n");
      return 0;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqc3-0000vB-2p; Fri, 11 May 2012 14:14:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dominic.curran@citrix.com>) id 1SSqc1-0000ub-JX
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:14:29 +0000
Received: from [85.158.138.51:8807] by server-3.bemta-3.messagelabs.com id
	C5/19-04048-4CE1DAF4; Fri, 11 May 2012 14:14:28 +0000
X-Env-Sender: dominic.curran@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336745666!17698391!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21372 invoked from network); 11 May 2012 14:14:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194445180"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:13 -0400
Received: from [10.80.2.144] (10.80.2.144) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Fri, 11 May 2012
	10:14:13 -0400
Message-ID: <4FAD2022.6050009@citrix.com>
Date: Fri, 11 May 2012 15:20:18 +0100
From: Dominic Curran <dominic.curran@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:8.0) Gecko/20111124 Thunderbird/8.0
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>, <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Dominic Curran <dominic.curran@citrix.com>
Date: Fri, 11 May 2012 12:24:42 +0100
Subject: [PATCH] xen: Fix a grant table resource leak

If the resource (my testing shows an object in TX/RX ring) still has a
reference held on it, then add to a list and kick-off a timer to try
and free later.

Signed-off-by: Dominic Curran <dominic.curran@citrix.com>
---
  drivers/xen/grant-table.c |   72 
+++++++++++++++++++++++++++++++++++++++++++---
  1 file changed, 68 insertions(+), 4 deletions(-)

Index: linux-2.6/drivers/xen/grant-table.c
===================================================================
--- linux-2.6.orig/drivers/xen/grant-table.c    2012-05-08 
13:52:54.000000000 +0100
+++ linux-2.6/drivers/xen/grant-table.c    2012-05-08 16:53:52.000000000 
+0100
@@ -33,6 +33,7 @@

  #include <linux/module.h>
  #include <linux/sched.h>
+#include <linux/timer.h>
  #include <linux/mm.h>
  #include <linux/slab.h>
  #include <linux/vmalloc.h>
@@ -57,6 +58,7 @@
  (grant_table_version == 1 ?                      \
  (PAGE_SIZE / sizeof(struct grant_entry_v1)) :   \
  (PAGE_SIZE / sizeof(union grant_entry_v2)))
+#define GNTTAB_CLEANUP_TIMER 10

  static grant_ref_t **gnttab_list;
  static unsigned int nr_grant_frames;
@@ -66,6 +68,9 @@ static grant_ref_t gnttab_free_head;
  static DEFINE_SPINLOCK(gnttab_list_lock);
  unsigned long xen_hvm_resume_frames;
  EXPORT_SYMBOL_GPL(xen_hvm_resume_frames);
+static LIST_HEAD(gnttab_used_ref_list);
+static DEFINE_SPINLOCK(gnttab_used_ref_lock);
+static struct timer_list gnttab_timer;

  static union {
      struct grant_entry_v1 *v1;
@@ -145,6 +150,16 @@ struct gnttab_ops {
                     domid_t trans_domid, grant_ref_t trans_gref);
  };

+/* This structure is used to hold references to pages until they become
+   ready to free.
+*/
+struct gnttab_used_ref {
+    struct list_head    list;
+    grant_ref_t            ref;
+    unsigned long        page;
+    int                readonly;
+};
+
  static struct gnttab_ops *gnttab_interface;

  /*This reflects status of grant entries, so act as a global value*/
@@ -464,18 +479,62 @@ int gnttab_end_foreign_access_ref(grant_
  }
  EXPORT_SYMBOL_GPL(gnttab_end_foreign_access_ref);

+static void gnttab_attempt_clean_used_refs(unsigned long arg)
+{
+    struct gnttab_used_ref  *u;
+    struct list_head        *pos, *q;
+    unsigned long            flags;
+
+    spin_lock_irqsave(&gnttab_used_ref_lock, flags);
+
+    list_for_each_safe(pos, q, &gnttab_used_ref_list) {
+        u = list_entry(pos, struct gnttab_used_ref, list);
+
+        if (gnttab_end_foreign_access_ref(u->ref, u->readonly)) {
+            list_del(pos);
+
+            put_free_entry(u->ref);
+            if (u->page != 0)
+                free_page(u->page);
+
+            kfree(u);
+        }
+    }
+    spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
+
+    if (!list_empty(&gnttab_used_ref_list))
+        mod_timer(&gnttab_timer, jiffies + HZ);
+}
+
  void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
                     unsigned long page)
  {
+    struct gnttab_used_ref *u;
+    unsigned long flags;
+
      if (gnttab_end_foreign_access_ref(ref, readonly)) {
          put_free_entry(ref);
          if (page != 0)
              free_page(page);
      } else {
-        /* XXX This needs to be fixed so that the ref and page are
-           placed on a list to be freed up later. */
-        printk(KERN_WARNING
-               "WARNING: leaking g.e. and page still in use!\n");
+        /* References that aren't cleaned up immediately sit on
+         * a list until they are abandoned & can be cleaned safely.
+         */
+        u = kmalloc(sizeof(struct gnttab_used_ref), GFP_KERNEL);
+        if (!u)
+            return;
+
+        u->page = page;
+        u->ref = ref;
+        u->readonly = readonly;
+
+        spin_lock_irqsave(&gnttab_used_ref_lock, flags);
+        list_add(&(u->list), &gnttab_used_ref_list);
+        spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
+
+        /* Kick off the cleanup timer. */
+        if (!timer_pending(&gnttab_timer))
+            add_timer(&gnttab_timer);
      }
  }
  EXPORT_SYMBOL_GPL(gnttab_end_foreign_access);
@@ -1068,6 +1127,11 @@ int gnttab_init(void)
      gnttab_free_count = nr_init_grefs - NR_RESERVED_ENTRIES;
      gnttab_free_head  = NR_RESERVED_ENTRIES;

+    init_timer(&gnttab_timer);
+    gnttab_timer.data = 0;
+    gnttab_timer.function = gnttab_attempt_clean_used_refs;
+    gnttab_timer.expires = jiffies + 
msecs_to_jiffies(GNTTAB_CLEANUP_TIMER);
+
      printk("Grant table initialized\n");
      return 0;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcC-000104-LP; Fri, 11 May 2012 14:14:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqcB-0000yj-5d
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:39 +0000
Received: from [85.158.143.99:6752] by server-3.bemta-4.messagelabs.com id
	22/12-05853-ECE1DAF4; Fri, 11 May 2012 14:14:38 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336745676!27235217!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17942 invoked from network); 11 May 2012 14:14:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102871"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-PZ;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:11:58 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3] xl: Some clean-up
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xl: Some clean-up

* Use libxl_device_pci_init instead of memset
* Call xlu_cfg_destroy when necessary

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcC-000104-LP; Fri, 11 May 2012 14:14:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqcB-0000yj-5d
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:39 +0000
Received: from [85.158.143.99:6752] by server-3.bemta-4.messagelabs.com id
	22/12-05853-ECE1DAF4; Fri, 11 May 2012 14:14:38 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336745676!27235217!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17942 invoked from network); 11 May 2012 14:14:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102871"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-PZ;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:11:58 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3] xl: Some clean-up
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xl: Some clean-up

* Use libxl_device_pci_init instead of memset
* Call xlu_cfg_destroy when necessary

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcA-0000yW-FI; Fri, 11 May 2012 14:14:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqc9-0000xj-6N
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:37 +0000
Received: from [193.109.254.147:17953] by server-7.bemta-14.messagelabs.com id
	5C/2D-01627-CCE1DAF4; Fri, 11 May 2012 14:14:36 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336745674!1964857!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13795 invoked from network); 11 May 2012 14:14:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102870"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-R1;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 66ee1a4de61a886cad47c058a7eff1ab6a1073d2
Message-ID: <66ee1a4de61a886cad47.1336745519@kodo2>
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:11:59 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3] xl: Replace memset with
	libxl_device_pci_init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r ba3d30d721ee -r 66ee1a4de61a tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 14:19:50 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 14:45:30 2012 +0100
@@ -2264,7 +2264,7 @@ static void pcidetach(const char *dom, c
 
     find_domain(dom);
 
-    memset(&pcidev, 0x00, sizeof(pcidev));
+    libxl_device_pci_init(&pcidev);
     
     config = xlu_cfg_init(stderr, "command line");
     if (!config) { perror("xlu_cfg_inig"); exit(-1); }
@@ -2309,7 +2309,7 @@ static void pciattach(const char *dom, c
 
     find_domain(dom);
 
-    memset(&pcidev, 0x00, sizeof(pcidev));
+    libxl_device_pci_init(&pcidev);
 
     config = xlu_cfg_init(stderr, "command line");
     if (!config) { perror("xlu_cfg_inig"); exit(-1); }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcA-0000yW-FI; Fri, 11 May 2012 14:14:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqc9-0000xj-6N
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:37 +0000
Received: from [193.109.254.147:17953] by server-7.bemta-14.messagelabs.com id
	5C/2D-01627-CCE1DAF4; Fri, 11 May 2012 14:14:36 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336745674!1964857!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13795 invoked from network); 11 May 2012 14:14:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102870"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-R1;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 66ee1a4de61a886cad47c058a7eff1ab6a1073d2
Message-ID: <66ee1a4de61a886cad47.1336745519@kodo2>
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:11:59 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3] xl: Replace memset with
	libxl_device_pci_init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r ba3d30d721ee -r 66ee1a4de61a tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 14:19:50 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 14:45:30 2012 +0100
@@ -2264,7 +2264,7 @@ static void pcidetach(const char *dom, c
 
     find_domain(dom);
 
-    memset(&pcidev, 0x00, sizeof(pcidev));
+    libxl_device_pci_init(&pcidev);
     
     config = xlu_cfg_init(stderr, "command line");
     if (!config) { perror("xlu_cfg_inig"); exit(-1); }
@@ -2309,7 +2309,7 @@ static void pciattach(const char *dom, c
 
     find_domain(dom);
 
-    memset(&pcidev, 0x00, sizeof(pcidev));
+    libxl_device_pci_init(&pcidev);
 
     config = xlu_cfg_init(stderr, "command line");
     if (!config) { perror("xlu_cfg_inig"); exit(-1); }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcB-0000zO-SL; Fri, 11 May 2012 14:14:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqcA-0000yB-5J
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:38 +0000
Received: from [193.109.254.147:18033] by server-4.bemta-14.messagelabs.com id
	B2/22-11570-DCE1DAF4; Fri, 11 May 2012 14:14:37 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336745674!1964857!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13865 invoked from network); 11 May 2012 14:14:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102872"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-Rk;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 25a5ebd0117f6b594eff51d84bdfdfb079d406a6
Message-ID: <25a5ebd0117f6b594eff.1336745520@kodo2>
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:12:00 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3] xl: Call xlu_cfg_destroy in the
	pciattach and pcidetach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 66ee1a4de61a -r 25a5ebd0117f tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 14:45:30 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 14:49:22 2012 +0100
@@ -2277,7 +2277,9 @@ static void pcidetach(const char *dom, c
         libxl_device_pci_destroy(ctx, domid, &pcidev);
     else
         libxl_device_pci_remove(ctx, domid, &pcidev);
+
     libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
 }
 
 int main_pcidetach(int argc, char **argv)
@@ -2319,7 +2321,9 @@ static void pciattach(const char *dom, c
         exit(2);
     }
     libxl_device_pci_add(ctx, domid, &pcidev);
+
     libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
 }
 
 int main_pciattach(int argc, char **argv)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcB-0000zO-SL; Fri, 11 May 2012 14:14:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqcA-0000yB-5J
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:38 +0000
Received: from [193.109.254.147:18033] by server-4.bemta-14.messagelabs.com id
	B2/22-11570-DCE1DAF4; Fri, 11 May 2012 14:14:37 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336745674!1964857!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13865 invoked from network); 11 May 2012 14:14:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102872"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-Rk;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 25a5ebd0117f6b594eff51d84bdfdfb079d406a6
Message-ID: <25a5ebd0117f6b594eff.1336745520@kodo2>
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:12:00 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3] xl: Call xlu_cfg_destroy in the
	pciattach and pcidetach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 66ee1a4de61a -r 25a5ebd0117f tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 14:45:30 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 14:49:22 2012 +0100
@@ -2277,7 +2277,9 @@ static void pcidetach(const char *dom, c
         libxl_device_pci_destroy(ctx, domid, &pcidev);
     else
         libxl_device_pci_remove(ctx, domid, &pcidev);
+
     libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
 }
 
 int main_pcidetach(int argc, char **argv)
@@ -2319,7 +2321,9 @@ static void pciattach(const char *dom, c
         exit(2);
     }
     libxl_device_pci_add(ctx, domid, &pcidev);
+
     libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
 }
 
 int main_pciattach(int argc, char **argv)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcC-0000zi-8Z; Fri, 11 May 2012 14:14:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqcA-0000yM-HX
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:38 +0000
Received: from [193.109.254.147:61950] by server-9.bemta-14.messagelabs.com id
	ED/90-05787-DCE1DAF4; Fri, 11 May 2012 14:14:37 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336745674!1964857!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13901 invoked from network); 11 May 2012 14:14:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102873"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-T3;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: bf9a0309c2ba1bfe5daf9461dbe9ff85e31ce839
Message-ID: <bf9a0309c2ba1bfe5daf.1336745521@kodo2>
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:12:01 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3] xl: Call xlu_cfg_destroy in
	main_cpupoolcreate
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This involves making a goto clean-up path, rather than calling
return directly.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 25a5ebd0117f -r bf9a0309c2ba tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 14:49:22 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 15:07:51 2012 +0100
@@ -5677,6 +5677,7 @@ int main_cpupoolcreate(int argc, char **
     libxl_cpumap cpumap;
     libxl_uuid uuid;
     libxl_cputopology *topology;
+    int rc = -ERROR_FAIL; 
 
     while (1) {
         opt = getopt_long(argc, argv, "hnf:", long_options, &option_index);
@@ -5710,7 +5711,7 @@ int main_cpupoolcreate(int argc, char **
             filename = argv[optind];
         } else {
             help("cpupool-create");
-            return -ERROR_FAIL;
+            goto out;
         }
         optind++;
     }
@@ -5721,7 +5722,7 @@ int main_cpupoolcreate(int argc, char **
                                      &config_len)) {
             fprintf(stderr, "Failed to read config file: %s: %s\n",
                     filename, strerror(errno));
-            return -ERROR_FAIL;
+            goto out;
         }
         config_src=filename;
     }
@@ -5731,13 +5732,13 @@ int main_cpupoolcreate(int argc, char **
     if (strlen(extra_config)) {
         if (config_len > INT_MAX - (strlen(extra_config) + 2)) {
             fprintf(stderr, "Failed to attach extra configration\n");
-            return -ERROR_FAIL;
+            goto out;
         }
         config_data = xrealloc(config_data,
                                config_len + strlen(extra_config) + 2);
         if (!config_data) {
             fprintf(stderr, "Failed to realloc config_data\n");
-            return -ERROR_FAIL;
+            goto out;
         }
         config_data[config_len] = 0;
         strcat(config_data, extra_config);
@@ -5748,13 +5749,13 @@ int main_cpupoolcreate(int argc, char **
     config = xlu_cfg_init(stderr, config_src);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
-        return -ERROR_FAIL;
+        goto out;
     }
 
     ret = xlu_cfg_readdata(config, config_data, config_len);
     if (ret) {
         fprintf(stderr, "Failed to parse config file: %s\n", strerror(ret));
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
 
     if (!xlu_cfg_get_string (config, "name", &buf, 0))
@@ -5763,32 +5764,32 @@ int main_cpupoolcreate(int argc, char **
         name = libxl_basename(filename);
     else {
         fprintf(stderr, "Missing cpupool name!\n");
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
     if (!libxl_name_to_cpupoolid(ctx, name, &poolid)) {
         fprintf(stderr, "Pool name \"%s\" already exists\n", name);
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
 
     if (!xlu_cfg_get_string (config, "sched", &buf, 0)) {
         if ((libxl_scheduler_from_string(buf, &sched)) < 0) {
             fprintf(stderr, "Unknown scheduler\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
     } else {
         if ((sched = libxl_get_scheduler(ctx)) < 0) {
             fprintf(stderr, "get_scheduler sysctl failed.\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
     }
 
     if (libxl_get_freecpus(ctx, &freemap)) {
         fprintf(stderr, "libxl_get_freecpus failed\n");
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
     if (libxl_cpumap_alloc(ctx, &cpumap)) {
         fprintf(stderr, "Failed to allocate cpumap\n");
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
     if (!xlu_cfg_get_list(config, "nodes", &nodes, 0, 0)) {
         int nr;
@@ -5797,7 +5798,7 @@ int main_cpupoolcreate(int argc, char **
         topology = libxl_get_cpu_topology(ctx, &nr);
         if (topology == NULL) {
             fprintf(stderr, "libxl_get_topologyinfo failed\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
         while ((buf = xlu_cfg_get_listitem(nodes, n_nodes)) != NULL) {
             n = atoi(buf);
@@ -5815,7 +5816,7 @@ int main_cpupoolcreate(int argc, char **
 
         if (n_cpus == 0) {
             fprintf(stderr, "no free cpu found\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
     } else if (!xlu_cfg_get_list(config, "cpus", &cpus, 0, 0)) {
         n_cpus = 0;
@@ -5824,7 +5825,7 @@ int main_cpupoolcreate(int argc, char **
             if ((i < 0) || (i >= freemap.size * 8) ||
                 !libxl_cpumap_test(&freemap, i)) {
                 fprintf(stderr, "cpu %d illegal or not free\n", i);
-                return -ERROR_FAIL;
+                goto out_cfg;
             }
             libxl_cpumap_set(&cpumap, i);
             n_cpus++;
@@ -5839,16 +5840,20 @@ int main_cpupoolcreate(int argc, char **
     printf("scheduler:      %s\n", libxl_scheduler_to_string(sched));
     printf("number of cpus: %d\n", n_cpus);
 
-    if (dryrun_only)
-        return 0;
-
-    poolid = 0;
-    if (libxl_cpupool_create(ctx, name, sched, cpumap, &uuid, &poolid)) {
-        fprintf(stderr, "error on creating cpupool\n");
-        return -ERROR_FAIL;
-    }
-
-    return 0;
+    if (!dryrun_only) {
+        poolid = 0;
+        if (libxl_cpupool_create(ctx, name, sched, cpumap, &uuid, &poolid)) {
+            fprintf(stderr, "error on creating cpupool\n");
+            goto out_cfg;
+        }
+    }
+    /* We made it! */
+    rc = 0;
+   
+out_cfg:
+    xlu_cfg_destroy(config);
+out:
+    return rc;
 }
 
 int main_cpupoollist(int argc, char **argv)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:14:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:14:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqcC-0000zi-8Z; Fri, 11 May 2012 14:14:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SSqcA-0000yM-HX
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:14:38 +0000
Received: from [193.109.254.147:61950] by server-9.bemta-14.messagelabs.com id
	ED/90-05787-DCE1DAF4; Fri, 11 May 2012 14:14:37 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336745674!1964857!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ1MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13901 invoked from network); 11 May 2012 14:14:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:14:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="25102873"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 10:14:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SSqc2-0003An-T3;
	Fri, 11 May 2012 15:14:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: bf9a0309c2ba1bfe5daf9461dbe9ff85e31ce839
Message-ID: <bf9a0309c2ba1bfe5daf.1336745521@kodo2>
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 11 May 2012 15:12:01 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3] xl: Call xlu_cfg_destroy in
	main_cpupoolcreate
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This involves making a goto clean-up path, rather than calling
return directly.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 25a5ebd0117f -r bf9a0309c2ba tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 14:49:22 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 11 15:07:51 2012 +0100
@@ -5677,6 +5677,7 @@ int main_cpupoolcreate(int argc, char **
     libxl_cpumap cpumap;
     libxl_uuid uuid;
     libxl_cputopology *topology;
+    int rc = -ERROR_FAIL; 
 
     while (1) {
         opt = getopt_long(argc, argv, "hnf:", long_options, &option_index);
@@ -5710,7 +5711,7 @@ int main_cpupoolcreate(int argc, char **
             filename = argv[optind];
         } else {
             help("cpupool-create");
-            return -ERROR_FAIL;
+            goto out;
         }
         optind++;
     }
@@ -5721,7 +5722,7 @@ int main_cpupoolcreate(int argc, char **
                                      &config_len)) {
             fprintf(stderr, "Failed to read config file: %s: %s\n",
                     filename, strerror(errno));
-            return -ERROR_FAIL;
+            goto out;
         }
         config_src=filename;
     }
@@ -5731,13 +5732,13 @@ int main_cpupoolcreate(int argc, char **
     if (strlen(extra_config)) {
         if (config_len > INT_MAX - (strlen(extra_config) + 2)) {
             fprintf(stderr, "Failed to attach extra configration\n");
-            return -ERROR_FAIL;
+            goto out;
         }
         config_data = xrealloc(config_data,
                                config_len + strlen(extra_config) + 2);
         if (!config_data) {
             fprintf(stderr, "Failed to realloc config_data\n");
-            return -ERROR_FAIL;
+            goto out;
         }
         config_data[config_len] = 0;
         strcat(config_data, extra_config);
@@ -5748,13 +5749,13 @@ int main_cpupoolcreate(int argc, char **
     config = xlu_cfg_init(stderr, config_src);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
-        return -ERROR_FAIL;
+        goto out;
     }
 
     ret = xlu_cfg_readdata(config, config_data, config_len);
     if (ret) {
         fprintf(stderr, "Failed to parse config file: %s\n", strerror(ret));
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
 
     if (!xlu_cfg_get_string (config, "name", &buf, 0))
@@ -5763,32 +5764,32 @@ int main_cpupoolcreate(int argc, char **
         name = libxl_basename(filename);
     else {
         fprintf(stderr, "Missing cpupool name!\n");
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
     if (!libxl_name_to_cpupoolid(ctx, name, &poolid)) {
         fprintf(stderr, "Pool name \"%s\" already exists\n", name);
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
 
     if (!xlu_cfg_get_string (config, "sched", &buf, 0)) {
         if ((libxl_scheduler_from_string(buf, &sched)) < 0) {
             fprintf(stderr, "Unknown scheduler\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
     } else {
         if ((sched = libxl_get_scheduler(ctx)) < 0) {
             fprintf(stderr, "get_scheduler sysctl failed.\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
     }
 
     if (libxl_get_freecpus(ctx, &freemap)) {
         fprintf(stderr, "libxl_get_freecpus failed\n");
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
     if (libxl_cpumap_alloc(ctx, &cpumap)) {
         fprintf(stderr, "Failed to allocate cpumap\n");
-        return -ERROR_FAIL;
+        goto out_cfg;
     }
     if (!xlu_cfg_get_list(config, "nodes", &nodes, 0, 0)) {
         int nr;
@@ -5797,7 +5798,7 @@ int main_cpupoolcreate(int argc, char **
         topology = libxl_get_cpu_topology(ctx, &nr);
         if (topology == NULL) {
             fprintf(stderr, "libxl_get_topologyinfo failed\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
         while ((buf = xlu_cfg_get_listitem(nodes, n_nodes)) != NULL) {
             n = atoi(buf);
@@ -5815,7 +5816,7 @@ int main_cpupoolcreate(int argc, char **
 
         if (n_cpus == 0) {
             fprintf(stderr, "no free cpu found\n");
-            return -ERROR_FAIL;
+            goto out_cfg;
         }
     } else if (!xlu_cfg_get_list(config, "cpus", &cpus, 0, 0)) {
         n_cpus = 0;
@@ -5824,7 +5825,7 @@ int main_cpupoolcreate(int argc, char **
             if ((i < 0) || (i >= freemap.size * 8) ||
                 !libxl_cpumap_test(&freemap, i)) {
                 fprintf(stderr, "cpu %d illegal or not free\n", i);
-                return -ERROR_FAIL;
+                goto out_cfg;
             }
             libxl_cpumap_set(&cpumap, i);
             n_cpus++;
@@ -5839,16 +5840,20 @@ int main_cpupoolcreate(int argc, char **
     printf("scheduler:      %s\n", libxl_scheduler_to_string(sched));
     printf("number of cpus: %d\n", n_cpus);
 
-    if (dryrun_only)
-        return 0;
-
-    poolid = 0;
-    if (libxl_cpupool_create(ctx, name, sched, cpumap, &uuid, &poolid)) {
-        fprintf(stderr, "error on creating cpupool\n");
-        return -ERROR_FAIL;
-    }
-
-    return 0;
+    if (!dryrun_only) {
+        poolid = 0;
+        if (libxl_cpupool_create(ctx, name, sched, cpumap, &uuid, &poolid)) {
+            fprintf(stderr, "error on creating cpupool\n");
+            goto out_cfg;
+        }
+    }
+    /* We made it! */
+    rc = 0;
+   
+out_cfg:
+    xlu_cfg_destroy(config);
+out:
+    return rc;
 }
 
 int main_cpupoollist(int argc, char **argv)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:16:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqdv-0001bj-5L; Fri, 11 May 2012 14:16:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSqdt-0001bA-Nq
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:16:25 +0000
Received: from [193.109.254.147:60808] by server-12.bemta-14.messagelabs.com
	id 35/DD-05898-93F1DAF4; Fri, 11 May 2012 14:16:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336745781!8785648!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9598 invoked from network); 11 May 2012 14:16:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:16:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12431575"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 14:16:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 15:16:21 +0100
Message-ID: <1336745780.23818.80.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bei Guan <gbtju85@gmail.com>
Date: Fri, 11 May 2012 15:16:20 +0100
In-Reply-To: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTExIGF0IDE1OjA4ICswMTAwLCBCZWkgR3VhbiB3cm90ZToKPiBXaGVu
IEkgZG8gdGhlICJtYWtlIGluc3RhbGwtdG9vbHMiIHdpdGggeGVuLTQuMi11bnN0YWJsZSwgdGhl
cmUgYXJlCj4gc29tZSBlcnJvcnMgYWJvdXQgIndhcm5fdW51c2VkX3Jlc3VsdCIuCj4gSXMgaXQg
dGhlIGVycm9yIGluIGNvZGUgb3IgdGhlIGVycm9yIGluIHRoZSBjb21waWxpbmcgZW52aXJvbm1l
bnQ/Cj4gVGhhbmsgeW91IHNvIG11Y2guCgpUaGlzIGNvbW1pdAogICAgICAgIGNoYW5nZXNldDog
ICAyNTI3NToyN2Q2M2I5ZjExMWEKICAgICAgICB1c2VyOiAgICAgICAgS2VpciBGcmFzZXIgPGtl
aXJAeGVuLm9yZz4KICAgICAgICBkYXRlOiAgICAgICAgVGh1IE1heSAxMCAxMToyMjoxOCAyMDEy
ICswMTAwCiAgICAgICAgc3VtbWFyeTogICAgIGJsa3RhcDI6IERvIG5vdCBidWlsZCB3aXRoIC1P
MApoYXMgY2F1c2VkIG1vcmUgd2FybmluZ3MgdG8gYmUgZ2VuZXJhdGVkIGJ5IHRoZSBjb21waWxl
ciwgd2hpY2ggaW4gdHVybgpsZWFkcyB0byBidWlsZCBmYWlsdXJlcy4gU2luY2UgdGhpcyBpcyBh
IGNvbXBpbGVyIHNwZWNpZmljIHRoaW5nIHdlIGFyZQpzdGlsbCB0cmFja2luZyB0aGVtIGFsbCBk
b3duLgoKQ2FuIHlvdSBjb25maXJtIHdoaWNoIHZlcnNpb25vZiB4ZW4tdW5zdGFibGUuaGcgeW91
IGFyZSB1c2luZyAtLSB0aGVyZQpoYXZlIGJlZW4gc2V2ZXJhbCBmaXh1cCBwYXRjaGVzIHNpbmNl
IHRoZSBhYm92ZS4gSWYgeW91IGFyZSBjb21wbGV0ZWx5CnVwIHRvIGRhdGUgYW5kIHlvdSBzdGls
bCBzZWUgZXJyb3JzIHdlIGNhbiBkaWcgaW50byB3aGF0ZXZlciBpcyBsZWZ0LgoKSWFuLiAoc3Rh
cnRpbmcgdG8gdGhpbmsgdGhhdCB0aGlzIGNoYW5nZSB3YXNuJ3Qgc3VpdGFibGUgZHVyaW5nIGEK
ZmVhdHVyZSBmcmVlemUuLi4uKQoKPiAKPiAKPiBnY2MgIC1PMSAtZm5vLW9taXQtZnJhbWUtcG9p
bnRlciAtbTY0IC1nIC1mbm8tc3RyaWN0LWFsaWFzaW5nCj4gLXN0ZD1nbnU5OSAtV2FsbCAtV3N0
cmljdC1wcm90b3R5cGVzIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50Cj4gLURfX1hFTl9U
T09MU19fIC1NTUQgLU1GIC50YXBkaXNrLXF1ZXVlLm8uZCAgLURfTEFSR0VGSUxFX1NPVVJDRQo+
IC1EX0xBUkdFRklMRTY0X1NPVVJDRSAtZm5vLW9wdGltaXplLXNpYmxpbmctY2FsbHMgLVdlcnJv
ciAtZwo+IC1Xbm8tdW51c2VkIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JLi4vaW5jbHVkZSAtSS4u
L2RyaXZlcnMKPiAtSS9yb290L1hlbi94ZW4tNC4yLXVuc3RhYmxlL3Rvb2xzL2Jsa3RhcDIvZHJp
dmVycy8uLi8uLi8uLi90b29scy9saWJ4YyAtSS9yb290L1hlbi94ZW4tNC4yLXVuc3RhYmxlL3Rv
b2xzL2Jsa3RhcDIvZHJpdmVycy8uLi8uLi8uLi90b29scy9pbmNsdWRlIC1EX0dOVV9TT1VSQ0Ug
LURVU0VfTkZTX0xPQ0tTIC1mUElDIC1JIC9yb290L1hlbi94ZW4tNC4yLXVuc3RhYmxlL3Rvb2xz
L2Jsa3RhcDIvZHJpdmVycy8uLi8uLi8uLi90b29scy9saWJhaW8vc3JjICAtYyAtbyB0YXBkaXNr
LXF1ZXVlLm8gdGFwZGlzay1xdWV1ZS5jIAo+IGNjMTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh
cyBlcnJvcnMKPiB0YXBkaXNrLXF1ZXVlLmM6IEluIGZ1bmN0aW9uIOKAmHRhcGRpc2tfbGlvX2Fj
a19ldmVudOKAmToKPiB0YXBkaXNrLXF1ZXVlLmM6NDM4OiBlcnJvcjogaWdub3JpbmcgcmV0dXJu
IHZhbHVlIG9mIOKAmHJlYWTigJksIGRlY2xhcmVkCj4gd2l0aCBhdHRyaWJ1dGUgd2Fybl91bnVz
ZWRfcmVzdWx0Cj4gbWFrZVs1XTogKioqIFt0YXBkaXNrLXF1ZXVlLm9dIEVycm9yIDEKPiBtYWtl
WzVdOiBMZWF2aW5nIGRpcmVjdG9yeQo+IGAvcm9vdC9YZW4veGVuLTQuMi11bnN0YWJsZS90b29s
cy9ibGt0YXAyL2RyaXZlcnMnCj4gbWFrZVs0XTogKioqIFtzdWJkaXItaW5zdGFsbC1kcml2ZXJz
XSBFcnJvciAyCj4gbWFrZVs0XTogTGVhdmluZyBkaXJlY3RvcnkgYC9yb290L1hlbi94ZW4tNC4y
LXVuc3RhYmxlL3Rvb2xzL2Jsa3RhcDInCj4gbWFrZVszXTogKioqIFtzdWJkaXJzLWluc3RhbGxd
IEVycm9yIDIKPiBtYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Jvb3QvWGVuL3hlbi00LjIt
dW5zdGFibGUvdG9vbHMvYmxrdGFwMicKPiBtYWtlWzJdOiAqKiogW3N1YmRpci1pbnN0YWxsLWJs
a3RhcDJdIEVycm9yIDIKPiBtYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Jvb3QvWGVuL3hl
bi00LjItdW5zdGFibGUvdG9vbHMnCj4gbWFrZVsxXTogKioqIFtzdWJkaXJzLWluc3RhbGxdIEVy
cm9yIDIKPiBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Jvb3QvWGVuL3hlbi00LjItdW5z
dGFibGUvdG9vbHMnCj4gbWFrZTogKioqIFtpbnN0YWxsLXRvb2xzXSBFcnJvciAyCj4gLS0tLS0t
Cj4gcm9vdC9YZW4veGVuLTQuMi11bnN0YWJsZS90b29scy9ibGt0YXAyL2RyaXZlcnMvLi4vLi4v
Li4vdG9vbHMvbGliYWlvL3NyYyAgLWMgLW8gdGFwZGlzay1sb2cubyB0YXBkaXNrLWxvZy5jIAo+
IGNjMTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPiB0YXBkaXNrLWxvZy5jOiBJ
biBmdW5jdGlvbiDigJh0bG9nX2ZsdXNo4oCZOgo+IHRhcGRpc2stbG9nLmM6MjUwOiBlcnJvcjog
aWdub3JpbmcgcmV0dXJuIHZhbHVlIG9mIOKAmHdyaXRl4oCZLCBkZWNsYXJlZAo+IHdpdGggYXR0
cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdAo+IC0tLS0tLQo+IC9yb290L1hlbi94ZW4tNC4yLXVu
c3RhYmxlL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy8uLi8uLi8uLi90b29scy9saWJhaW8vc3JjICAt
YyAtbyB0YXBkaXNrMi5vIHRhcGRpc2syLmMgCj4gY2MxOiB3YXJuaW5ncyBiZWluZyB0cmVhdGVk
IGFzIGVycm9ycwo+IHRhcGRpc2syLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6Cj4gdGFwZGlz
azIuYzo4MjogZXJyb3I6IGlnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiDigJhjaGRpcuKAmSwgZGVj
bGFyZWQgd2l0aAo+IGF0dHJpYnV0ZSB3YXJuX3VudXNlZF9yZXN1bHQKPiAtLS0tLS0KPiBjYzE6
IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCj4gdGFwZGlzay1zdHJlYW0uYzogSW4g
ZnVuY3Rpb24g4oCYdGFwZGlza19zdHJlYW1fcG9sbF9jbGVhcuKAmToKPiB0YXBkaXNrLXN0cmVh
bS5jOjE0ODogZXJyb3I6IGlnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiDigJhyZWFk4oCZLCBkZWNs
YXJlZAo+IHdpdGggYXR0cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdAo+IHRhcGRpc2stc3RyZWFt
LmM6IEluIGZ1bmN0aW9uIOKAmHRhcGRpc2tfc3RyZWFtX3BvbGxfc2V04oCZOgo+IHRhcGRpc2st
c3RyZWFtLmM6MTU4OiBlcnJvcjogaWdub3JpbmcgcmV0dXJuIHZhbHVlIG9mIOKAmHdyaXRl4oCZ
LAo+IGRlY2xhcmVkIHdpdGggYXR0cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdAo+IHRhcGRpc2st
c3RyZWFtLmM6IEluIGZ1bmN0aW9uIOKAmHRhcGRpc2tfc3RyZWFtX3ByaW50X3JlcXVlc3TigJk6
Cj4gdGFwZGlzay1zdHJlYW0uYzoyMDY6IGVycm9yOiBpZ25vcmluZyByZXR1cm4gdmFsdWUgb2Yg
4oCYd3JpdGXigJksCj4gZGVjbGFyZWQgd2l0aCBhdHRyaWJ1dGUgd2Fybl91bnVzZWRfcmVzdWx0
Cj4gCj4gCj4gCj4gQmVzdCBSZWdhcmRzLAo+IEJlaSBHdWFuCj4gCgoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK
WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 11 14:16:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqdv-0001bj-5L; Fri, 11 May 2012 14:16:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSqdt-0001bA-Nq
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:16:25 +0000
Received: from [193.109.254.147:60808] by server-12.bemta-14.messagelabs.com
	id 35/DD-05898-93F1DAF4; Fri, 11 May 2012 14:16:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336745781!8785648!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9598 invoked from network); 11 May 2012 14:16:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:16:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12431575"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 14:16:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 15:16:21 +0100
Message-ID: <1336745780.23818.80.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bei Guan <gbtju85@gmail.com>
Date: Fri, 11 May 2012 15:16:20 +0100
In-Reply-To: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTExIGF0IDE1OjA4ICswMTAwLCBCZWkgR3VhbiB3cm90ZToKPiBXaGVu
IEkgZG8gdGhlICJtYWtlIGluc3RhbGwtdG9vbHMiIHdpdGggeGVuLTQuMi11bnN0YWJsZSwgdGhl
cmUgYXJlCj4gc29tZSBlcnJvcnMgYWJvdXQgIndhcm5fdW51c2VkX3Jlc3VsdCIuCj4gSXMgaXQg
dGhlIGVycm9yIGluIGNvZGUgb3IgdGhlIGVycm9yIGluIHRoZSBjb21waWxpbmcgZW52aXJvbm1l
bnQ/Cj4gVGhhbmsgeW91IHNvIG11Y2guCgpUaGlzIGNvbW1pdAogICAgICAgIGNoYW5nZXNldDog
ICAyNTI3NToyN2Q2M2I5ZjExMWEKICAgICAgICB1c2VyOiAgICAgICAgS2VpciBGcmFzZXIgPGtl
aXJAeGVuLm9yZz4KICAgICAgICBkYXRlOiAgICAgICAgVGh1IE1heSAxMCAxMToyMjoxOCAyMDEy
ICswMTAwCiAgICAgICAgc3VtbWFyeTogICAgIGJsa3RhcDI6IERvIG5vdCBidWlsZCB3aXRoIC1P
MApoYXMgY2F1c2VkIG1vcmUgd2FybmluZ3MgdG8gYmUgZ2VuZXJhdGVkIGJ5IHRoZSBjb21waWxl
ciwgd2hpY2ggaW4gdHVybgpsZWFkcyB0byBidWlsZCBmYWlsdXJlcy4gU2luY2UgdGhpcyBpcyBh
IGNvbXBpbGVyIHNwZWNpZmljIHRoaW5nIHdlIGFyZQpzdGlsbCB0cmFja2luZyB0aGVtIGFsbCBk
b3duLgoKQ2FuIHlvdSBjb25maXJtIHdoaWNoIHZlcnNpb25vZiB4ZW4tdW5zdGFibGUuaGcgeW91
IGFyZSB1c2luZyAtLSB0aGVyZQpoYXZlIGJlZW4gc2V2ZXJhbCBmaXh1cCBwYXRjaGVzIHNpbmNl
IHRoZSBhYm92ZS4gSWYgeW91IGFyZSBjb21wbGV0ZWx5CnVwIHRvIGRhdGUgYW5kIHlvdSBzdGls
bCBzZWUgZXJyb3JzIHdlIGNhbiBkaWcgaW50byB3aGF0ZXZlciBpcyBsZWZ0LgoKSWFuLiAoc3Rh
cnRpbmcgdG8gdGhpbmsgdGhhdCB0aGlzIGNoYW5nZSB3YXNuJ3Qgc3VpdGFibGUgZHVyaW5nIGEK
ZmVhdHVyZSBmcmVlemUuLi4uKQoKPiAKPiAKPiBnY2MgIC1PMSAtZm5vLW9taXQtZnJhbWUtcG9p
bnRlciAtbTY0IC1nIC1mbm8tc3RyaWN0LWFsaWFzaW5nCj4gLXN0ZD1nbnU5OSAtV2FsbCAtV3N0
cmljdC1wcm90b3R5cGVzIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50Cj4gLURfX1hFTl9U
T09MU19fIC1NTUQgLU1GIC50YXBkaXNrLXF1ZXVlLm8uZCAgLURfTEFSR0VGSUxFX1NPVVJDRQo+
IC1EX0xBUkdFRklMRTY0X1NPVVJDRSAtZm5vLW9wdGltaXplLXNpYmxpbmctY2FsbHMgLVdlcnJv
ciAtZwo+IC1Xbm8tdW51c2VkIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JLi4vaW5jbHVkZSAtSS4u
L2RyaXZlcnMKPiAtSS9yb290L1hlbi94ZW4tNC4yLXVuc3RhYmxlL3Rvb2xzL2Jsa3RhcDIvZHJp
dmVycy8uLi8uLi8uLi90b29scy9saWJ4YyAtSS9yb290L1hlbi94ZW4tNC4yLXVuc3RhYmxlL3Rv
b2xzL2Jsa3RhcDIvZHJpdmVycy8uLi8uLi8uLi90b29scy9pbmNsdWRlIC1EX0dOVV9TT1VSQ0Ug
LURVU0VfTkZTX0xPQ0tTIC1mUElDIC1JIC9yb290L1hlbi94ZW4tNC4yLXVuc3RhYmxlL3Rvb2xz
L2Jsa3RhcDIvZHJpdmVycy8uLi8uLi8uLi90b29scy9saWJhaW8vc3JjICAtYyAtbyB0YXBkaXNr
LXF1ZXVlLm8gdGFwZGlzay1xdWV1ZS5jIAo+IGNjMTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh
cyBlcnJvcnMKPiB0YXBkaXNrLXF1ZXVlLmM6IEluIGZ1bmN0aW9uIOKAmHRhcGRpc2tfbGlvX2Fj
a19ldmVudOKAmToKPiB0YXBkaXNrLXF1ZXVlLmM6NDM4OiBlcnJvcjogaWdub3JpbmcgcmV0dXJu
IHZhbHVlIG9mIOKAmHJlYWTigJksIGRlY2xhcmVkCj4gd2l0aCBhdHRyaWJ1dGUgd2Fybl91bnVz
ZWRfcmVzdWx0Cj4gbWFrZVs1XTogKioqIFt0YXBkaXNrLXF1ZXVlLm9dIEVycm9yIDEKPiBtYWtl
WzVdOiBMZWF2aW5nIGRpcmVjdG9yeQo+IGAvcm9vdC9YZW4veGVuLTQuMi11bnN0YWJsZS90b29s
cy9ibGt0YXAyL2RyaXZlcnMnCj4gbWFrZVs0XTogKioqIFtzdWJkaXItaW5zdGFsbC1kcml2ZXJz
XSBFcnJvciAyCj4gbWFrZVs0XTogTGVhdmluZyBkaXJlY3RvcnkgYC9yb290L1hlbi94ZW4tNC4y
LXVuc3RhYmxlL3Rvb2xzL2Jsa3RhcDInCj4gbWFrZVszXTogKioqIFtzdWJkaXJzLWluc3RhbGxd
IEVycm9yIDIKPiBtYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Jvb3QvWGVuL3hlbi00LjIt
dW5zdGFibGUvdG9vbHMvYmxrdGFwMicKPiBtYWtlWzJdOiAqKiogW3N1YmRpci1pbnN0YWxsLWJs
a3RhcDJdIEVycm9yIDIKPiBtYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Jvb3QvWGVuL3hl
bi00LjItdW5zdGFibGUvdG9vbHMnCj4gbWFrZVsxXTogKioqIFtzdWJkaXJzLWluc3RhbGxdIEVy
cm9yIDIKPiBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Jvb3QvWGVuL3hlbi00LjItdW5z
dGFibGUvdG9vbHMnCj4gbWFrZTogKioqIFtpbnN0YWxsLXRvb2xzXSBFcnJvciAyCj4gLS0tLS0t
Cj4gcm9vdC9YZW4veGVuLTQuMi11bnN0YWJsZS90b29scy9ibGt0YXAyL2RyaXZlcnMvLi4vLi4v
Li4vdG9vbHMvbGliYWlvL3NyYyAgLWMgLW8gdGFwZGlzay1sb2cubyB0YXBkaXNrLWxvZy5jIAo+
IGNjMTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPiB0YXBkaXNrLWxvZy5jOiBJ
biBmdW5jdGlvbiDigJh0bG9nX2ZsdXNo4oCZOgo+IHRhcGRpc2stbG9nLmM6MjUwOiBlcnJvcjog
aWdub3JpbmcgcmV0dXJuIHZhbHVlIG9mIOKAmHdyaXRl4oCZLCBkZWNsYXJlZAo+IHdpdGggYXR0
cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdAo+IC0tLS0tLQo+IC9yb290L1hlbi94ZW4tNC4yLXVu
c3RhYmxlL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy8uLi8uLi8uLi90b29scy9saWJhaW8vc3JjICAt
YyAtbyB0YXBkaXNrMi5vIHRhcGRpc2syLmMgCj4gY2MxOiB3YXJuaW5ncyBiZWluZyB0cmVhdGVk
IGFzIGVycm9ycwo+IHRhcGRpc2syLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6Cj4gdGFwZGlz
azIuYzo4MjogZXJyb3I6IGlnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiDigJhjaGRpcuKAmSwgZGVj
bGFyZWQgd2l0aAo+IGF0dHJpYnV0ZSB3YXJuX3VudXNlZF9yZXN1bHQKPiAtLS0tLS0KPiBjYzE6
IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCj4gdGFwZGlzay1zdHJlYW0uYzogSW4g
ZnVuY3Rpb24g4oCYdGFwZGlza19zdHJlYW1fcG9sbF9jbGVhcuKAmToKPiB0YXBkaXNrLXN0cmVh
bS5jOjE0ODogZXJyb3I6IGlnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiDigJhyZWFk4oCZLCBkZWNs
YXJlZAo+IHdpdGggYXR0cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdAo+IHRhcGRpc2stc3RyZWFt
LmM6IEluIGZ1bmN0aW9uIOKAmHRhcGRpc2tfc3RyZWFtX3BvbGxfc2V04oCZOgo+IHRhcGRpc2st
c3RyZWFtLmM6MTU4OiBlcnJvcjogaWdub3JpbmcgcmV0dXJuIHZhbHVlIG9mIOKAmHdyaXRl4oCZ
LAo+IGRlY2xhcmVkIHdpdGggYXR0cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdAo+IHRhcGRpc2st
c3RyZWFtLmM6IEluIGZ1bmN0aW9uIOKAmHRhcGRpc2tfc3RyZWFtX3ByaW50X3JlcXVlc3TigJk6
Cj4gdGFwZGlzay1zdHJlYW0uYzoyMDY6IGVycm9yOiBpZ25vcmluZyByZXR1cm4gdmFsdWUgb2Yg
4oCYd3JpdGXigJksCj4gZGVjbGFyZWQgd2l0aCBhdHRyaWJ1dGUgd2Fybl91bnVzZWRfcmVzdWx0
Cj4gCj4gCj4gCj4gQmVzdCBSZWdhcmRzLAo+IEJlaSBHdWFuCj4gCgoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK
WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 11 14:19:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:19:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqgP-0002BM-Ty; Fri, 11 May 2012 14:19:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSqgO-0002B5-BE
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:19:00 +0000
Received: from [193.109.254.147:27257] by server-3.bemta-14.messagelabs.com id
	A9/4D-23274-3DF1DAF4; Fri, 11 May 2012 14:18:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336745939!3136479!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 856 invoked from network); 11 May 2012 14:18:59 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:18:59 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 15:18:58 +0100
Message-Id: <4FAD3C0802000078000830D8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 15:19:20 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
References: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
In-Reply-To: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants
 to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 09:19, "Jan Beulich" <JBeulich@suse.com> wrote:
> Legacy (non-pvops) gntdev drivers may require this to be done when the
> number of grants intended to be used simultaneously exceeds a certain
> driver specific default limit.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)

In more extensive testing it appears that very rarely this value is still
too low:

xen be: qdisk-768: can't map 11 grant refs (Cannot allocate memory, 342 maps)

342 + 11 = 353 > 352 = 32 * 11

Could someone help out here? I first thought this might be due to
use_aio being non-zero, but ioreq_start() doesn't permit more than
max_requests struct ioreqs-s to be around.

Additionally, shouldn't the driver be smarter and gracefully handle
grant mapping failures (as the per-domain map track table in the
hypervisor is a finite resource)?

Jan

> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
>  }
>  
>  static int blk_init(struct XenDevice *xendev)




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:19:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:19:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqgP-0002BM-Ty; Fri, 11 May 2012 14:19:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSqgO-0002B5-BE
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:19:00 +0000
Received: from [193.109.254.147:27257] by server-3.bemta-14.messagelabs.com id
	A9/4D-23274-3DF1DAF4; Fri, 11 May 2012 14:18:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336745939!3136479!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 856 invoked from network); 11 May 2012 14:18:59 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:18:59 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 15:18:58 +0100
Message-Id: <4FAD3C0802000078000830D8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 15:19:20 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
References: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
In-Reply-To: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants
 to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 09:19, "Jan Beulich" <JBeulich@suse.com> wrote:
> Legacy (non-pvops) gntdev drivers may require this to be done when the
> number of grants intended to be used simultaneously exceeds a certain
> driver specific default limit.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)

In more extensive testing it appears that very rarely this value is still
too low:

xen be: qdisk-768: can't map 11 grant refs (Cannot allocate memory, 342 maps)

342 + 11 = 353 > 352 = 32 * 11

Could someone help out here? I first thought this might be due to
use_aio being non-zero, but ioreq_start() doesn't permit more than
max_requests struct ioreqs-s to be around.

Additionally, shouldn't the driver be smarter and gracefully handle
grant mapping failures (as the per-domain map track table in the
hypervisor is a finite resource)?

Jan

> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
>  }
>  
>  static int blk_init(struct XenDevice *xendev)




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:20:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:20:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqhL-0002KX-CG; Fri, 11 May 2012 14:19:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSqhK-0002KG-AR
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:19:58 +0000
Received: from [85.158.139.83:51189] by server-12.bemta-5.messagelabs.com id
	EE/37-01344-D002DAF4; Fri, 11 May 2012 14:19:57 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336745996!27815859!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyODEzMzA=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyODEzMzA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12439 invoked from network); 11 May 2012 14:19:56 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:19:56 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (jorabe mo37) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id 4022bbo4BBOA95
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 16:19:56 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 3D8CB18637; Fri, 11 May 2012 16:19:55 +0200 (CEST)
Date: Fri, 11 May 2012 16:19:55 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel <xen-devel@lists.xen.org>
Message-ID: <20120511141955.GA7991@aepfle.de>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, Bei Guan wrote:

> Hi,
> 
> When I do the "make install-tools" with xen-4.2-unstable, there are some errors
> about "warn_unused_result".
> Is it the error in code or the error in the compiling environment? Thank you so
> much.

I suggest to remove all -Werror from the Makefiles and introduce a
--disable-Werror/--enable-Werror configure option, similar to what
binutils and other projects have (not sure what the exact configure
option name is in those projects).

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:20:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:20:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqhL-0002KX-CG; Fri, 11 May 2012 14:19:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSqhK-0002KG-AR
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:19:58 +0000
Received: from [85.158.139.83:51189] by server-12.bemta-5.messagelabs.com id
	EE/37-01344-D002DAF4; Fri, 11 May 2012 14:19:57 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336745996!27815859!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyODEzMzA=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAyODEzMzA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12439 invoked from network); 11 May 2012 14:19:56 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:19:56 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (jorabe mo37) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id 4022bbo4BBOA95
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 16:19:56 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 3D8CB18637; Fri, 11 May 2012 16:19:55 +0200 (CEST)
Date: Fri, 11 May 2012 16:19:55 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel <xen-devel@lists.xen.org>
Message-ID: <20120511141955.GA7991@aepfle.de>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, Bei Guan wrote:

> Hi,
> 
> When I do the "make install-tools" with xen-4.2-unstable, there are some errors
> about "warn_unused_result".
> Is it the error in code or the error in the compiling environment? Thank you so
> much.

I suggest to remove all -Werror from the Makefiles and introduce a
--disable-Werror/--enable-Werror configure option, similar to what
binutils and other projects have (not sure what the exact configure
option name is in those projects).

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:24:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqli-0002fd-O9; Fri, 11 May 2012 14:24:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqlg-0002fN-2a
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:24:29 +0000
Received: from [85.158.143.99:38872] by server-3.bemta-4.messagelabs.com id
	6F/20-05853-B112DAF4; Fri, 11 May 2012 14:24:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336746265!26670803!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25147 invoked from network); 11 May 2012 14:24:26 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:24:26 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEOMJ6012053
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:24:23 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEOLAj013152
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:24:21 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEOKMN005229; Fri, 11 May 2012 09:24:20 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:24:20 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5C94340359; Fri, 11 May 2012 10:18:17 -0400 (EDT)
Date: Fri, 11 May 2012 10:18:17 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511141817.GB13735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +static void pcpu_sys_remove(struct pcpu *pcpu)
> +{
> +	struct device *dev;
> +
> +	if (!pcpu)
> +		return;
> +
> +	dev = &pcpu->dev;
> +	if (dev->id)
> +		device_remove_file(dev, &dev_attr_online);
> +
> +	device_unregister(dev);
> +}
> +
> +static void free_pcpu(struct pcpu *pcpu)

1) So this isn't just freeing the PCPU, it also unregisters
the SysFS.

As such you should call this differently:

unregister_and_free(struct pcpu *pcpu)

or do the unregistration part seperatly.

2) But there is also another issue - a possiblity of race.

The user might be running:
while (true)
do
 echo 1 > online
 echo 0 > online
done

and the the sync_pcpu will end up calling pcpu_sys_remove and
free the pcpu. The SysFS aren't deleted until all of the
object references (kref's) have been put. So when you get to
'kfree(pcpu)' you might be still holding a reference (meaning
the user is doing 'echo 0 > online') and crash.

I think you need to hold the mutex in the store_online() function
(not good), or better yet, make a device_release function
that will be called when the last kref has been put.


3) Third the name. These functions all depend on the mutex lock being
held. As such add a postfix to the name of the function of 
"_locked" or a prefix of "__' so it is known that the caller holds
the mutex.

> +{
> +	if (!pcpu)
> +		return;
> +
> +	pcpu_sys_remove(pcpu);
> +
> +	list_del(&pcpu->list);
> +	kfree(pcpu);
> +}
> +
> +static int pcpu_sys_create(struct pcpu *pcpu)
> +{
> +	struct device *dev;
> +	int err = -EINVAL;
> +
> +	if (!pcpu)
> +		return err;
> +
> +	dev = &pcpu->dev;
> +	dev->bus = &xen_pcpu_subsys;
> +	dev->id = pcpu->cpu_id;
> +
> +	err = device_register(dev);
> +	if (err)
> +		return err;
> +
> +	/*
> +	 * Xen never offline cpu0 due to several restrictions
> +	 * and assumptions. This basically doesn't add a sys control
> +	 * to user, one cannot attempt to offline BSP.
> +	 */
> +	if (dev->id) {
> +		err = device_create_file(dev, &dev_attr_online);
> +		if (err) {
> +			device_unregister(dev);
> +			return err;
> +		}
> +	}
> +
> +	return 0;
> +}
> +
> +static struct pcpu *init_pcpu(struct xenpf_pcpuinfo *info)
> +{
> +	struct pcpu *pcpu;
> +	int err;
> +
> +	if (info->flags & XEN_PCPU_FLAGS_INVALID)
> +		return ERR_PTR(-ENODEV);
> +
> +	pcpu = kzalloc(sizeof(struct pcpu), GFP_KERNEL);
> +	if (!pcpu)
> +		return ERR_PTR(-ENOMEM);
> +
> +	INIT_LIST_HEAD(&pcpu->list);
> +	pcpu->cpu_id = info->xen_cpuid;
> +	pcpu->flags = info->flags;
> +
> +	err = pcpu_sys_create(pcpu);
> +	if (err) {
> +		pr_warning(XEN_PCPU "Failed to register pcpu%u\n",
> +			   info->xen_cpuid);
> +		kfree(pcpu);
> +		return ERR_PTR(-ENOENT);
> +	}
> +
> +	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
> +	list_add_tail(&pcpu->list, &xen_pcpus);
> +	return pcpu;
> +}
> +
> +/*
> + * Caller should hold the xen_pcpu_lock
> + */
> +static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu)
> +{
> +	int ret;
> +	struct pcpu *pcpu = NULL;
> +	struct xenpf_pcpuinfo *info;
> +	struct xen_platform_op op = {
> +		.cmd                   = XENPF_get_cpuinfo,
> +		.interface_version     = XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid = cpu,
> +	};
> +
> +	ret = HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return ret;
> +
> +	info = &op.u.pcpu_info;
> +	if (max_cpu)
> +		*max_cpu = info->max_present;
> +
> +	pcpu = get_pcpu(cpu);
> +
> +	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
> +		/* The pcpu has been removed */
> +		if (pcpu)
> +			free_pcpu(pcpu);
> +		return 0;
> +	}
> +
> +	if (!pcpu) {
> +		pcpu = init_pcpu(info);
> +		if (IS_ERR_OR_NULL(pcpu))
> +			return -ENODEV;
> +	} else
> +		pcpu_online_status(info, pcpu);
> +
> +	return 0;
> +}
> +
> +/*
> + * Sync dom0's pcpu information with xen hypervisor's
> + */
> +static int xen_sync_pcpus(void)
> +{
> +	/*
> +	 * Boot cpu always have cpu_id 0 in xen
> +	 */
> +	uint32_t cpu = 0, max_cpu = 0;
> +	int err = 0;
> +	struct list_head *cur, *tmp;
> +	struct pcpu *pcpu;
> +
> +	mutex_lock(&xen_pcpu_lock);
> +
> +	while (!err && (cpu <= max_cpu)) {
> +		err = sync_pcpu(cpu, &max_cpu);
> +		cpu++;
> +	}
> +
> +	if (err) {
> +		list_for_each_safe(cur, tmp, &xen_pcpus) {
> +			pcpu = list_entry(cur, struct pcpu, list);
> +			free_pcpu(pcpu);
> +		}
> +	}
> +
> +	mutex_unlock(&xen_pcpu_lock);
> +
> +	return err;
> +}
> +
> +static void xen_pcpu_work_fn(struct work_struct *work)
> +{
> +	xen_sync_pcpus();
> +}
> +static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn);
> +
> +static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id)
> +{
> +	schedule_work(&xen_pcpu_work);
> +	return IRQ_HANDLED;
> +}
> +
> +static int __init xen_pcpu_init(void)
> +{
> +	int irq, ret;
> +
> +	if (!xen_initial_domain())
> +		return -ENODEV;
> +
> +	irq = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
> +				      xen_pcpu_interrupt, 0,
> +				      "xen-pcpu", NULL);
> +	if (irq < 0) {
> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
> +		return irq;
> +	}
> +
> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL);
> +	if (ret) {
> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
> +		goto err1;
> +	}
> +
> +	ret = xen_sync_pcpus();
> +	if (ret) {
> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n");
> +		goto err2;
> +	}
> +
> +	return 0;
> +
> +err2:
> +	bus_unregister(&xen_pcpu_subsys);
> +err1:
> +	unbind_from_irqhandler(irq, NULL);
> +	return ret;
> +}
> +arch_initcall(xen_pcpu_init);
> diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
> index 486653f..61fa661 100644
> --- a/include/xen/interface/platform.h
> +++ b/include/xen/interface/platform.h
> @@ -314,6 +314,13 @@ struct xenpf_pcpuinfo {
>  };
>  DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
>  
> +#define XENPF_cpu_online	56
> +#define XENPF_cpu_offline	57
> +struct xenpf_cpu_ol {
> +	uint32_t cpuid;
> +};
> +DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
> +
>  struct xen_platform_op {
>  	uint32_t cmd;
>  	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
> @@ -330,6 +337,7 @@ struct xen_platform_op {
>  		struct xenpf_getidletime       getidletime;
>  		struct xenpf_set_processor_pminfo set_pminfo;
>  		struct xenpf_pcpuinfo          pcpu_info;
> +		struct xenpf_cpu_ol            cpu_ol;
>  		uint8_t                        pad[128];
>  	} u;
>  };
> diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
> index a890804..0801468 100644
> --- a/include/xen/interface/xen.h
> +++ b/include/xen/interface/xen.h
> @@ -80,6 +80,7 @@
>  #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency console. */
>  #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event for some domain.   */
>  #define VIRQ_DEBUGGER   6  /* (DOM0) A domain has paused for debugging.   */
> +#define VIRQ_PCPU_STATE 9  /* (DOM0) PCPU state changed                   */
>  
>  /* Architecture-specific VIRQ definitions. */
>  #define VIRQ_ARCH_0    16
> -- 
> 1.7.1



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:24:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqli-0002fd-O9; Fri, 11 May 2012 14:24:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqlg-0002fN-2a
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:24:29 +0000
Received: from [85.158.143.99:38872] by server-3.bemta-4.messagelabs.com id
	6F/20-05853-B112DAF4; Fri, 11 May 2012 14:24:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336746265!26670803!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25147 invoked from network); 11 May 2012 14:24:26 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:24:26 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEOMJ6012053
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:24:23 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEOLAj013152
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:24:21 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEOKMN005229; Fri, 11 May 2012 09:24:20 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:24:20 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5C94340359; Fri, 11 May 2012 10:18:17 -0400 (EDT)
Date: Fri, 11 May 2012 10:18:17 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511141817.GB13735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +static void pcpu_sys_remove(struct pcpu *pcpu)
> +{
> +	struct device *dev;
> +
> +	if (!pcpu)
> +		return;
> +
> +	dev = &pcpu->dev;
> +	if (dev->id)
> +		device_remove_file(dev, &dev_attr_online);
> +
> +	device_unregister(dev);
> +}
> +
> +static void free_pcpu(struct pcpu *pcpu)

1) So this isn't just freeing the PCPU, it also unregisters
the SysFS.

As such you should call this differently:

unregister_and_free(struct pcpu *pcpu)

or do the unregistration part seperatly.

2) But there is also another issue - a possiblity of race.

The user might be running:
while (true)
do
 echo 1 > online
 echo 0 > online
done

and the the sync_pcpu will end up calling pcpu_sys_remove and
free the pcpu. The SysFS aren't deleted until all of the
object references (kref's) have been put. So when you get to
'kfree(pcpu)' you might be still holding a reference (meaning
the user is doing 'echo 0 > online') and crash.

I think you need to hold the mutex in the store_online() function
(not good), or better yet, make a device_release function
that will be called when the last kref has been put.


3) Third the name. These functions all depend on the mutex lock being
held. As such add a postfix to the name of the function of 
"_locked" or a prefix of "__' so it is known that the caller holds
the mutex.

> +{
> +	if (!pcpu)
> +		return;
> +
> +	pcpu_sys_remove(pcpu);
> +
> +	list_del(&pcpu->list);
> +	kfree(pcpu);
> +}
> +
> +static int pcpu_sys_create(struct pcpu *pcpu)
> +{
> +	struct device *dev;
> +	int err = -EINVAL;
> +
> +	if (!pcpu)
> +		return err;
> +
> +	dev = &pcpu->dev;
> +	dev->bus = &xen_pcpu_subsys;
> +	dev->id = pcpu->cpu_id;
> +
> +	err = device_register(dev);
> +	if (err)
> +		return err;
> +
> +	/*
> +	 * Xen never offline cpu0 due to several restrictions
> +	 * and assumptions. This basically doesn't add a sys control
> +	 * to user, one cannot attempt to offline BSP.
> +	 */
> +	if (dev->id) {
> +		err = device_create_file(dev, &dev_attr_online);
> +		if (err) {
> +			device_unregister(dev);
> +			return err;
> +		}
> +	}
> +
> +	return 0;
> +}
> +
> +static struct pcpu *init_pcpu(struct xenpf_pcpuinfo *info)
> +{
> +	struct pcpu *pcpu;
> +	int err;
> +
> +	if (info->flags & XEN_PCPU_FLAGS_INVALID)
> +		return ERR_PTR(-ENODEV);
> +
> +	pcpu = kzalloc(sizeof(struct pcpu), GFP_KERNEL);
> +	if (!pcpu)
> +		return ERR_PTR(-ENOMEM);
> +
> +	INIT_LIST_HEAD(&pcpu->list);
> +	pcpu->cpu_id = info->xen_cpuid;
> +	pcpu->flags = info->flags;
> +
> +	err = pcpu_sys_create(pcpu);
> +	if (err) {
> +		pr_warning(XEN_PCPU "Failed to register pcpu%u\n",
> +			   info->xen_cpuid);
> +		kfree(pcpu);
> +		return ERR_PTR(-ENOENT);
> +	}
> +
> +	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
> +	list_add_tail(&pcpu->list, &xen_pcpus);
> +	return pcpu;
> +}
> +
> +/*
> + * Caller should hold the xen_pcpu_lock
> + */
> +static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu)
> +{
> +	int ret;
> +	struct pcpu *pcpu = NULL;
> +	struct xenpf_pcpuinfo *info;
> +	struct xen_platform_op op = {
> +		.cmd                   = XENPF_get_cpuinfo,
> +		.interface_version     = XENPF_INTERFACE_VERSION,
> +		.u.pcpu_info.xen_cpuid = cpu,
> +	};
> +
> +	ret = HYPERVISOR_dom0_op(&op);
> +	if (ret)
> +		return ret;
> +
> +	info = &op.u.pcpu_info;
> +	if (max_cpu)
> +		*max_cpu = info->max_present;
> +
> +	pcpu = get_pcpu(cpu);
> +
> +	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
> +		/* The pcpu has been removed */
> +		if (pcpu)
> +			free_pcpu(pcpu);
> +		return 0;
> +	}
> +
> +	if (!pcpu) {
> +		pcpu = init_pcpu(info);
> +		if (IS_ERR_OR_NULL(pcpu))
> +			return -ENODEV;
> +	} else
> +		pcpu_online_status(info, pcpu);
> +
> +	return 0;
> +}
> +
> +/*
> + * Sync dom0's pcpu information with xen hypervisor's
> + */
> +static int xen_sync_pcpus(void)
> +{
> +	/*
> +	 * Boot cpu always have cpu_id 0 in xen
> +	 */
> +	uint32_t cpu = 0, max_cpu = 0;
> +	int err = 0;
> +	struct list_head *cur, *tmp;
> +	struct pcpu *pcpu;
> +
> +	mutex_lock(&xen_pcpu_lock);
> +
> +	while (!err && (cpu <= max_cpu)) {
> +		err = sync_pcpu(cpu, &max_cpu);
> +		cpu++;
> +	}
> +
> +	if (err) {
> +		list_for_each_safe(cur, tmp, &xen_pcpus) {
> +			pcpu = list_entry(cur, struct pcpu, list);
> +			free_pcpu(pcpu);
> +		}
> +	}
> +
> +	mutex_unlock(&xen_pcpu_lock);
> +
> +	return err;
> +}
> +
> +static void xen_pcpu_work_fn(struct work_struct *work)
> +{
> +	xen_sync_pcpus();
> +}
> +static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn);
> +
> +static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id)
> +{
> +	schedule_work(&xen_pcpu_work);
> +	return IRQ_HANDLED;
> +}
> +
> +static int __init xen_pcpu_init(void)
> +{
> +	int irq, ret;
> +
> +	if (!xen_initial_domain())
> +		return -ENODEV;
> +
> +	irq = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
> +				      xen_pcpu_interrupt, 0,
> +				      "xen-pcpu", NULL);
> +	if (irq < 0) {
> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
> +		return irq;
> +	}
> +
> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL);
> +	if (ret) {
> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
> +		goto err1;
> +	}
> +
> +	ret = xen_sync_pcpus();
> +	if (ret) {
> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n");
> +		goto err2;
> +	}
> +
> +	return 0;
> +
> +err2:
> +	bus_unregister(&xen_pcpu_subsys);
> +err1:
> +	unbind_from_irqhandler(irq, NULL);
> +	return ret;
> +}
> +arch_initcall(xen_pcpu_init);
> diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
> index 486653f..61fa661 100644
> --- a/include/xen/interface/platform.h
> +++ b/include/xen/interface/platform.h
> @@ -314,6 +314,13 @@ struct xenpf_pcpuinfo {
>  };
>  DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
>  
> +#define XENPF_cpu_online	56
> +#define XENPF_cpu_offline	57
> +struct xenpf_cpu_ol {
> +	uint32_t cpuid;
> +};
> +DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
> +
>  struct xen_platform_op {
>  	uint32_t cmd;
>  	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
> @@ -330,6 +337,7 @@ struct xen_platform_op {
>  		struct xenpf_getidletime       getidletime;
>  		struct xenpf_set_processor_pminfo set_pminfo;
>  		struct xenpf_pcpuinfo          pcpu_info;
> +		struct xenpf_cpu_ol            cpu_ol;
>  		uint8_t                        pad[128];
>  	} u;
>  };
> diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
> index a890804..0801468 100644
> --- a/include/xen/interface/xen.h
> +++ b/include/xen/interface/xen.h
> @@ -80,6 +80,7 @@
>  #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency console. */
>  #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event for some domain.   */
>  #define VIRQ_DEBUGGER   6  /* (DOM0) A domain has paused for debugging.   */
> +#define VIRQ_PCPU_STATE 9  /* (DOM0) PCPU state changed                   */
>  
>  /* Architecture-specific VIRQ definitions. */
>  #define VIRQ_ARCH_0    16
> -- 
> 1.7.1



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:29:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:29:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqqo-0002xm-Hj; Fri, 11 May 2012 14:29:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSqqn-0002xh-IC
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:29:45 +0000
Received: from [85.158.143.35:37974] by server-3.bemta-4.messagelabs.com id
	A4/D7-05853-8522DAF4; Fri, 11 May 2012 14:29:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336746584!15634355!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16297 invoked from network); 11 May 2012 14:29:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:29:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 15:29:44 +0100
Message-Id: <4FAD3E8D0200007800083110@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 15:30:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Dominic Curran" <dominic.curran@citrix.com>
References: <4FAD2022.6050009@citrix.com>
In-Reply-To: <4FAD2022.6050009@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: konrad.wilk@oracle.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 16:20, Dominic Curran <dominic.curran@citrix.com> wrote:
> From: Dominic Curran <dominic.curran@citrix.com>
> Date: Fri, 11 May 2012 12:24:42 +0100
> Subject: [PATCH] xen: Fix a grant table resource leak
> 
> If the resource (my testing shows an object in TX/RX ring) still has a
> reference held on it, then add to a list and kick-off a timer to try
> and free later.

Did you see

http://lists.xen.org/archives/html/xen-devel/2012-04/msg00406.html

Jan

> Signed-off-by: Dominic Curran <dominic.curran@citrix.com>
> ---
>   drivers/xen/grant-table.c |   72 
> +++++++++++++++++++++++++++++++++++++++++++---
>   1 file changed, 68 insertions(+), 4 deletions(-)
> 
> Index: linux-2.6/drivers/xen/grant-table.c
> ===================================================================
> --- linux-2.6.orig/drivers/xen/grant-table.c    2012-05-08 
> 13:52:54.000000000 +0100
> +++ linux-2.6/drivers/xen/grant-table.c    2012-05-08 16:53:52.000000000 
> +0100
> @@ -33,6 +33,7 @@
> 
>   #include <linux/module.h>
>   #include <linux/sched.h>
> +#include <linux/timer.h>
>   #include <linux/mm.h>
>   #include <linux/slab.h>
>   #include <linux/vmalloc.h>
> @@ -57,6 +58,7 @@
>   (grant_table_version == 1 ?                      \
>   (PAGE_SIZE / sizeof(struct grant_entry_v1)) :   \
>   (PAGE_SIZE / sizeof(union grant_entry_v2)))
> +#define GNTTAB_CLEANUP_TIMER 10
> 
>   static grant_ref_t **gnttab_list;
>   static unsigned int nr_grant_frames;
> @@ -66,6 +68,9 @@ static grant_ref_t gnttab_free_head;
>   static DEFINE_SPINLOCK(gnttab_list_lock);
>   unsigned long xen_hvm_resume_frames;
>   EXPORT_SYMBOL_GPL(xen_hvm_resume_frames);
> +static LIST_HEAD(gnttab_used_ref_list);
> +static DEFINE_SPINLOCK(gnttab_used_ref_lock);
> +static struct timer_list gnttab_timer;
> 
>   static union {
>       struct grant_entry_v1 *v1;
> @@ -145,6 +150,16 @@ struct gnttab_ops {
>                      domid_t trans_domid, grant_ref_t trans_gref);
>   };
> 
> +/* This structure is used to hold references to pages until they become
> +   ready to free.
> +*/
> +struct gnttab_used_ref {
> +    struct list_head    list;
> +    grant_ref_t            ref;
> +    unsigned long        page;
> +    int                readonly;
> +};
> +
>   static struct gnttab_ops *gnttab_interface;
> 
>   /*This reflects status of grant entries, so act as a global value*/
> @@ -464,18 +479,62 @@ int gnttab_end_foreign_access_ref(grant_
>   }
>   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access_ref);
> 
> +static void gnttab_attempt_clean_used_refs(unsigned long arg)
> +{
> +    struct gnttab_used_ref  *u;
> +    struct list_head        *pos, *q;
> +    unsigned long            flags;
> +
> +    spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> +
> +    list_for_each_safe(pos, q, &gnttab_used_ref_list) {
> +        u = list_entry(pos, struct gnttab_used_ref, list);
> +
> +        if (gnttab_end_foreign_access_ref(u->ref, u->readonly)) {
> +            list_del(pos);
> +
> +            put_free_entry(u->ref);
> +            if (u->page != 0)
> +                free_page(u->page);
> +
> +            kfree(u);
> +        }
> +    }
> +    spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> +
> +    if (!list_empty(&gnttab_used_ref_list))
> +        mod_timer(&gnttab_timer, jiffies + HZ);
> +}
> +
>   void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
>                      unsigned long page)
>   {
> +    struct gnttab_used_ref *u;
> +    unsigned long flags;
> +
>       if (gnttab_end_foreign_access_ref(ref, readonly)) {
>           put_free_entry(ref);
>           if (page != 0)
>               free_page(page);
>       } else {
> -        /* XXX This needs to be fixed so that the ref and page are
> -           placed on a list to be freed up later. */
> -        printk(KERN_WARNING
> -               "WARNING: leaking g.e. and page still in use!\n");
> +        /* References that aren't cleaned up immediately sit on
> +         * a list until they are abandoned & can be cleaned safely.
> +         */
> +        u = kmalloc(sizeof(struct gnttab_used_ref), GFP_KERNEL);
> +        if (!u)
> +            return;
> +
> +        u->page = page;
> +        u->ref = ref;
> +        u->readonly = readonly;
> +
> +        spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> +        list_add(&(u->list), &gnttab_used_ref_list);
> +        spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> +
> +        /* Kick off the cleanup timer. */
> +        if (!timer_pending(&gnttab_timer))
> +            add_timer(&gnttab_timer);
>       }
>   }
>   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access);
> @@ -1068,6 +1127,11 @@ int gnttab_init(void)
>       gnttab_free_count = nr_init_grefs - NR_RESERVED_ENTRIES;
>       gnttab_free_head  = NR_RESERVED_ENTRIES;
> 
> +    init_timer(&gnttab_timer);
> +    gnttab_timer.data = 0;
> +    gnttab_timer.function = gnttab_attempt_clean_used_refs;
> +    gnttab_timer.expires = jiffies + 
> msecs_to_jiffies(GNTTAB_CLEANUP_TIMER);
> +
>       printk("Grant table initialized\n");
>       return 0;
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:29:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:29:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqqo-0002xm-Hj; Fri, 11 May 2012 14:29:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SSqqn-0002xh-IC
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:29:45 +0000
Received: from [85.158.143.35:37974] by server-3.bemta-4.messagelabs.com id
	A4/D7-05853-8522DAF4; Fri, 11 May 2012 14:29:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336746584!15634355!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MjM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16297 invoked from network); 11 May 2012 14:29:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:29:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 11 May 2012 15:29:44 +0100
Message-Id: <4FAD3E8D0200007800083110@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 11 May 2012 15:30:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Dominic Curran" <dominic.curran@citrix.com>
References: <4FAD2022.6050009@citrix.com>
In-Reply-To: <4FAD2022.6050009@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: konrad.wilk@oracle.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 16:20, Dominic Curran <dominic.curran@citrix.com> wrote:
> From: Dominic Curran <dominic.curran@citrix.com>
> Date: Fri, 11 May 2012 12:24:42 +0100
> Subject: [PATCH] xen: Fix a grant table resource leak
> 
> If the resource (my testing shows an object in TX/RX ring) still has a
> reference held on it, then add to a list and kick-off a timer to try
> and free later.

Did you see

http://lists.xen.org/archives/html/xen-devel/2012-04/msg00406.html

Jan

> Signed-off-by: Dominic Curran <dominic.curran@citrix.com>
> ---
>   drivers/xen/grant-table.c |   72 
> +++++++++++++++++++++++++++++++++++++++++++---
>   1 file changed, 68 insertions(+), 4 deletions(-)
> 
> Index: linux-2.6/drivers/xen/grant-table.c
> ===================================================================
> --- linux-2.6.orig/drivers/xen/grant-table.c    2012-05-08 
> 13:52:54.000000000 +0100
> +++ linux-2.6/drivers/xen/grant-table.c    2012-05-08 16:53:52.000000000 
> +0100
> @@ -33,6 +33,7 @@
> 
>   #include <linux/module.h>
>   #include <linux/sched.h>
> +#include <linux/timer.h>
>   #include <linux/mm.h>
>   #include <linux/slab.h>
>   #include <linux/vmalloc.h>
> @@ -57,6 +58,7 @@
>   (grant_table_version == 1 ?                      \
>   (PAGE_SIZE / sizeof(struct grant_entry_v1)) :   \
>   (PAGE_SIZE / sizeof(union grant_entry_v2)))
> +#define GNTTAB_CLEANUP_TIMER 10
> 
>   static grant_ref_t **gnttab_list;
>   static unsigned int nr_grant_frames;
> @@ -66,6 +68,9 @@ static grant_ref_t gnttab_free_head;
>   static DEFINE_SPINLOCK(gnttab_list_lock);
>   unsigned long xen_hvm_resume_frames;
>   EXPORT_SYMBOL_GPL(xen_hvm_resume_frames);
> +static LIST_HEAD(gnttab_used_ref_list);
> +static DEFINE_SPINLOCK(gnttab_used_ref_lock);
> +static struct timer_list gnttab_timer;
> 
>   static union {
>       struct grant_entry_v1 *v1;
> @@ -145,6 +150,16 @@ struct gnttab_ops {
>                      domid_t trans_domid, grant_ref_t trans_gref);
>   };
> 
> +/* This structure is used to hold references to pages until they become
> +   ready to free.
> +*/
> +struct gnttab_used_ref {
> +    struct list_head    list;
> +    grant_ref_t            ref;
> +    unsigned long        page;
> +    int                readonly;
> +};
> +
>   static struct gnttab_ops *gnttab_interface;
> 
>   /*This reflects status of grant entries, so act as a global value*/
> @@ -464,18 +479,62 @@ int gnttab_end_foreign_access_ref(grant_
>   }
>   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access_ref);
> 
> +static void gnttab_attempt_clean_used_refs(unsigned long arg)
> +{
> +    struct gnttab_used_ref  *u;
> +    struct list_head        *pos, *q;
> +    unsigned long            flags;
> +
> +    spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> +
> +    list_for_each_safe(pos, q, &gnttab_used_ref_list) {
> +        u = list_entry(pos, struct gnttab_used_ref, list);
> +
> +        if (gnttab_end_foreign_access_ref(u->ref, u->readonly)) {
> +            list_del(pos);
> +
> +            put_free_entry(u->ref);
> +            if (u->page != 0)
> +                free_page(u->page);
> +
> +            kfree(u);
> +        }
> +    }
> +    spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> +
> +    if (!list_empty(&gnttab_used_ref_list))
> +        mod_timer(&gnttab_timer, jiffies + HZ);
> +}
> +
>   void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
>                      unsigned long page)
>   {
> +    struct gnttab_used_ref *u;
> +    unsigned long flags;
> +
>       if (gnttab_end_foreign_access_ref(ref, readonly)) {
>           put_free_entry(ref);
>           if (page != 0)
>               free_page(page);
>       } else {
> -        /* XXX This needs to be fixed so that the ref and page are
> -           placed on a list to be freed up later. */
> -        printk(KERN_WARNING
> -               "WARNING: leaking g.e. and page still in use!\n");
> +        /* References that aren't cleaned up immediately sit on
> +         * a list until they are abandoned & can be cleaned safely.
> +         */
> +        u = kmalloc(sizeof(struct gnttab_used_ref), GFP_KERNEL);
> +        if (!u)
> +            return;
> +
> +        u->page = page;
> +        u->ref = ref;
> +        u->readonly = readonly;
> +
> +        spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> +        list_add(&(u->list), &gnttab_used_ref_list);
> +        spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> +
> +        /* Kick off the cleanup timer. */
> +        if (!timer_pending(&gnttab_timer))
> +            add_timer(&gnttab_timer);
>       }
>   }
>   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access);
> @@ -1068,6 +1127,11 @@ int gnttab_init(void)
>       gnttab_free_count = nr_init_grefs - NR_RESERVED_ENTRIES;
>       gnttab_free_head  = NR_RESERVED_ENTRIES;
> 
> +    init_timer(&gnttab_timer);
> +    gnttab_timer.data = 0;
> +    gnttab_timer.function = gnttab_attempt_clean_used_refs;
> +    gnttab_timer.expires = jiffies + 
> msecs_to_jiffies(GNTTAB_CLEANUP_TIMER);
> +
>       printk("Grant table initialized\n");
>       return 0;
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqv7-00038q-7J; Fri, 11 May 2012 14:34:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqv5-00038d-IT
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:34:11 +0000
Received: from [85.158.138.51:12269] by server-3.bemta-3.messagelabs.com id
	9F/50-04048-2632DAF4; Fri, 11 May 2012 14:34:10 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336746847!26612764!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27806 invoked from network); 11 May 2012 14:34:08 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:34:08 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEY3Y8022891
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:34:04 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEY2mL002978
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:34:03 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEY2C4001433; Fri, 11 May 2012 09:34:02 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:34:02 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1702A40359; Fri, 11 May 2012 10:27:59 -0400 (EDT)
Date: Fri, 11 May 2012 10:27:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511142758.GA29677@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
> Liu, Jinsong wrote:
> > Just notice your reply (so quick :)
> > 
> > Agree and will update later, except 1 concern below.
> > 
> > Konrad Rzeszutek Wilk wrote:
> >>> 
> >>> Hmm, it's good if it's convenient to do it automatically via
> >>> dev->release. However, dev container (pcpu) would be free at some
> >>> other error cases, so I prefer do it 'manually'.
> >> 
> >> You could also call pcpu_release(..) to do it manually.
> >> 
> > 
> > that means kfree(pcpu) would be done twice at some error cases, do
> > you think it really good? 
> > 
> 
> Ping.
> 
> I think error recovery should be kept inside error logic level itself, if try to recover upper level error would bring trouble.
> 
> In our example, there are 2 logic levels:
> pcpu level (as container), and dev level (subfield used for sys)

So you need to untangle free_pcpu from doing both. Meaning one does the
SysFS and the other deals with free-ing the structure and removing itself
from the list.


> dev->release should only recover error occurred at dev/sys level, and the pcpu error should be recovered at pcpu level.
> 
> If dev->release try to recover its container pcpu level error, like list_del/kfree(pcpu), it would make confusing. i.e., considering pcpu_sys_create(), 2 error cases:
> device_register fail, and device_create_file fail --> how can the caller decide kfree(pcpu) or not?

Then you should free it manually. But you can do this by a wrapper
function:

__pcpu_release(..) {
	..
	/* Does the removing itself from the list and kfree the pcpu */
}
pcpu_release(..) {
	struct pcpcu *p= container_of(..)
	__pcpu_release(p);
}

dev->release = &pcpu_release;

> 
> So how about recover pcpu error manually and explicitly?
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqv7-00038q-7J; Fri, 11 May 2012 14:34:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqv5-00038d-IT
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:34:11 +0000
Received: from [85.158.138.51:12269] by server-3.bemta-3.messagelabs.com id
	9F/50-04048-2632DAF4; Fri, 11 May 2012 14:34:10 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336746847!26612764!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27806 invoked from network); 11 May 2012 14:34:08 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:34:08 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEY3Y8022891
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:34:04 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEY2mL002978
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:34:03 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEY2C4001433; Fri, 11 May 2012 09:34:02 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:34:02 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1702A40359; Fri, 11 May 2012 10:27:59 -0400 (EDT)
Date: Fri, 11 May 2012 10:27:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511142758.GA29677@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
> Liu, Jinsong wrote:
> > Just notice your reply (so quick :)
> > 
> > Agree and will update later, except 1 concern below.
> > 
> > Konrad Rzeszutek Wilk wrote:
> >>> 
> >>> Hmm, it's good if it's convenient to do it automatically via
> >>> dev->release. However, dev container (pcpu) would be free at some
> >>> other error cases, so I prefer do it 'manually'.
> >> 
> >> You could also call pcpu_release(..) to do it manually.
> >> 
> > 
> > that means kfree(pcpu) would be done twice at some error cases, do
> > you think it really good? 
> > 
> 
> Ping.
> 
> I think error recovery should be kept inside error logic level itself, if try to recover upper level error would bring trouble.
> 
> In our example, there are 2 logic levels:
> pcpu level (as container), and dev level (subfield used for sys)

So you need to untangle free_pcpu from doing both. Meaning one does the
SysFS and the other deals with free-ing the structure and removing itself
from the list.


> dev->release should only recover error occurred at dev/sys level, and the pcpu error should be recovered at pcpu level.
> 
> If dev->release try to recover its container pcpu level error, like list_del/kfree(pcpu), it would make confusing. i.e., considering pcpu_sys_create(), 2 error cases:
> device_register fail, and device_create_file fail --> how can the caller decide kfree(pcpu) or not?

Then you should free it manually. But you can do this by a wrapper
function:

__pcpu_release(..) {
	..
	/* Does the removing itself from the list and kfree the pcpu */
}
pcpu_release(..) {
	struct pcpcu *p= container_of(..)
	__pcpu_release(p);
}

dev->release = &pcpu_release;

> 
> So how about recover pcpu error manually and explicitly?
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:35:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:35:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqwQ-0003Dv-NU; Fri, 11 May 2012 14:35:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSqwP-0003Dj-Hq
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:35:33 +0000
Received: from [193.109.254.147:37954] by server-11.bemta-14.messagelabs.com
	id 31/24-05858-4B32DAF4; Fri, 11 May 2012 14:35:32 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336746931!8773642!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9815 invoked from network); 11 May 2012 14:35:32 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 14:35:32 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (jorabe mo41) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id i02694o4BEWaNT
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 16:35:31 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 0B16518630
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 16:35:31 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
Message-Id: <f81fa4014d8c66bd1a80.1336746929@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 11 May 2012 16:35:29 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
	asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336743357 -7200
# Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
# Parent  0f53540494f779a1260d4e5319dcdb268389dd07
unmodified_drivers: remove inclusion of asm/system.h

Allow compilation of PVonHVM drivers with forward-ported xenlinux
sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
anymore. Remove inclusion of this header, its not needed.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 0f53540494f7 -r f81fa4014d8c unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
--- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -30,7 +30,6 @@
 #include <linux/interrupt.h>
 #include <linux/vmalloc.h>
 #include <linux/mm.h>
-#include <asm/system.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/uaccess.h>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:35:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:35:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqwQ-0003Dv-NU; Fri, 11 May 2012 14:35:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSqwP-0003Dj-Hq
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 14:35:33 +0000
Received: from [193.109.254.147:37954] by server-11.bemta-14.messagelabs.com
	id 31/24-05858-4B32DAF4; Fri, 11 May 2012 14:35:32 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336746931!8773642!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9815 invoked from network); 11 May 2012 14:35:32 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 14:35:32 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (jorabe mo41) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id i02694o4BEWaNT
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 16:35:31 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 0B16518630
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 16:35:31 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
Message-Id: <f81fa4014d8c66bd1a80.1336746929@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Fri, 11 May 2012 16:35:29 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
	asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1336743357 -7200
# Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
# Parent  0f53540494f779a1260d4e5319dcdb268389dd07
unmodified_drivers: remove inclusion of asm/system.h

Allow compilation of PVonHVM drivers with forward-ported xenlinux
sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
anymore. Remove inclusion of this header, its not needed.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 0f53540494f7 -r f81fa4014d8c unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
--- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -30,7 +30,6 @@
 #include <linux/interrupt.h>
 #include <linux/vmalloc.h>
 #include <linux/mm.h>
-#include <asm/system.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/uaccess.h>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:37:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:37:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqxq-0003N3-B7; Fri, 11 May 2012 14:37:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqxo-0003Mp-Kb
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:37:00 +0000
Received: from [85.158.138.51:47304] by server-10.bemta-3.messagelabs.com id
	82/8A-29478-B042DAF4; Fri, 11 May 2012 14:36:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336747016!18668022!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26005 invoked from network); 11 May 2012 14:36:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:36:58 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEarxI004185
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:36:54 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEaqCn017499
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:36:53 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEaqtm015455; Fri, 11 May 2012 09:36:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:36:52 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4A79440359; Fri, 11 May 2012 10:30:49 -0400 (EDT)
Date: Fri, 11 May 2012 10:30:49 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120511143049.GB29677@phenom.dumpdata.com>
References: <4FAD2022.6050009@citrix.com>
	<4FAD3E8D0200007800083110@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FAD3E8D0200007800083110@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 03:30:05PM +0100, Jan Beulich wrote:
> >>> On 11.05.12 at 16:20, Dominic Curran <dominic.curran@citrix.com> wrote:
> > From: Dominic Curran <dominic.curran@citrix.com>
> > Date: Fri, 11 May 2012 12:24:42 +0100
> > Subject: [PATCH] xen: Fix a grant table resource leak
> > 
> > If the resource (my testing shows an object in TX/RX ring) still has a
> > reference held on it, then add to a list and kick-off a timer to try
> > and free later.
> 
> Did you see
> 
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00406.html

Which is on the 3.5 queue list:
http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commit;h=569ca5b3f94cd0b3295ec5943aa457cf4a4f6a3a

> 
> Jan
> 
> > Signed-off-by: Dominic Curran <dominic.curran@citrix.com>
> > ---
> >   drivers/xen/grant-table.c |   72 
> > +++++++++++++++++++++++++++++++++++++++++++---
> >   1 file changed, 68 insertions(+), 4 deletions(-)
> > 
> > Index: linux-2.6/drivers/xen/grant-table.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/xen/grant-table.c    2012-05-08 
> > 13:52:54.000000000 +0100
> > +++ linux-2.6/drivers/xen/grant-table.c    2012-05-08 16:53:52.000000000 
> > +0100
> > @@ -33,6 +33,7 @@
> > 
> >   #include <linux/module.h>
> >   #include <linux/sched.h>
> > +#include <linux/timer.h>
> >   #include <linux/mm.h>
> >   #include <linux/slab.h>
> >   #include <linux/vmalloc.h>
> > @@ -57,6 +58,7 @@
> >   (grant_table_version == 1 ?                      \
> >   (PAGE_SIZE / sizeof(struct grant_entry_v1)) :   \
> >   (PAGE_SIZE / sizeof(union grant_entry_v2)))
> > +#define GNTTAB_CLEANUP_TIMER 10
> > 
> >   static grant_ref_t **gnttab_list;
> >   static unsigned int nr_grant_frames;
> > @@ -66,6 +68,9 @@ static grant_ref_t gnttab_free_head;
> >   static DEFINE_SPINLOCK(gnttab_list_lock);
> >   unsigned long xen_hvm_resume_frames;
> >   EXPORT_SYMBOL_GPL(xen_hvm_resume_frames);
> > +static LIST_HEAD(gnttab_used_ref_list);
> > +static DEFINE_SPINLOCK(gnttab_used_ref_lock);
> > +static struct timer_list gnttab_timer;
> > 
> >   static union {
> >       struct grant_entry_v1 *v1;
> > @@ -145,6 +150,16 @@ struct gnttab_ops {
> >                      domid_t trans_domid, grant_ref_t trans_gref);
> >   };
> > 
> > +/* This structure is used to hold references to pages until they become
> > +   ready to free.
> > +*/
> > +struct gnttab_used_ref {
> > +    struct list_head    list;
> > +    grant_ref_t            ref;
> > +    unsigned long        page;
> > +    int                readonly;
> > +};
> > +
> >   static struct gnttab_ops *gnttab_interface;
> > 
> >   /*This reflects status of grant entries, so act as a global value*/
> > @@ -464,18 +479,62 @@ int gnttab_end_foreign_access_ref(grant_
> >   }
> >   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access_ref);
> > 
> > +static void gnttab_attempt_clean_used_refs(unsigned long arg)
> > +{
> > +    struct gnttab_used_ref  *u;
> > +    struct list_head        *pos, *q;
> > +    unsigned long            flags;
> > +
> > +    spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> > +
> > +    list_for_each_safe(pos, q, &gnttab_used_ref_list) {
> > +        u = list_entry(pos, struct gnttab_used_ref, list);
> > +
> > +        if (gnttab_end_foreign_access_ref(u->ref, u->readonly)) {
> > +            list_del(pos);
> > +
> > +            put_free_entry(u->ref);
> > +            if (u->page != 0)
> > +                free_page(u->page);
> > +
> > +            kfree(u);
> > +        }
> > +    }
> > +    spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> > +
> > +    if (!list_empty(&gnttab_used_ref_list))
> > +        mod_timer(&gnttab_timer, jiffies + HZ);
> > +}
> > +
> >   void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
> >                      unsigned long page)
> >   {
> > +    struct gnttab_used_ref *u;
> > +    unsigned long flags;
> > +
> >       if (gnttab_end_foreign_access_ref(ref, readonly)) {
> >           put_free_entry(ref);
> >           if (page != 0)
> >               free_page(page);
> >       } else {
> > -        /* XXX This needs to be fixed so that the ref and page are
> > -           placed on a list to be freed up later. */
> > -        printk(KERN_WARNING
> > -               "WARNING: leaking g.e. and page still in use!\n");
> > +        /* References that aren't cleaned up immediately sit on
> > +         * a list until they are abandoned & can be cleaned safely.
> > +         */
> > +        u = kmalloc(sizeof(struct gnttab_used_ref), GFP_KERNEL);
> > +        if (!u)
> > +            return;
> > +
> > +        u->page = page;
> > +        u->ref = ref;
> > +        u->readonly = readonly;
> > +
> > +        spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> > +        list_add(&(u->list), &gnttab_used_ref_list);
> > +        spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> > +
> > +        /* Kick off the cleanup timer. */
> > +        if (!timer_pending(&gnttab_timer))
> > +            add_timer(&gnttab_timer);
> >       }
> >   }
> >   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access);
> > @@ -1068,6 +1127,11 @@ int gnttab_init(void)
> >       gnttab_free_count = nr_init_grefs - NR_RESERVED_ENTRIES;
> >       gnttab_free_head  = NR_RESERVED_ENTRIES;
> > 
> > +    init_timer(&gnttab_timer);
> > +    gnttab_timer.data = 0;
> > +    gnttab_timer.function = gnttab_attempt_clean_used_refs;
> > +    gnttab_timer.expires = jiffies + 
> > msecs_to_jiffies(GNTTAB_CLEANUP_TIMER);
> > +
> >       printk("Grant table initialized\n");
> >       return 0;
> > 
> > 
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org 
> > http://lists.xen.org/xen-devel 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:37:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:37:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSqxq-0003N3-B7; Fri, 11 May 2012 14:37:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSqxo-0003Mp-Kb
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:37:00 +0000
Received: from [85.158.138.51:47304] by server-10.bemta-3.messagelabs.com id
	82/8A-29478-B042DAF4; Fri, 11 May 2012 14:36:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336747016!18668022!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26005 invoked from network); 11 May 2012 14:36:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 14:36:58 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BEarxI004185
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 14:36:54 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BEaqCn017499
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 14:36:53 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BEaqtm015455; Fri, 11 May 2012 09:36:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 07:36:52 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4A79440359; Fri, 11 May 2012 10:30:49 -0400 (EDT)
Date: Fri, 11 May 2012 10:30:49 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120511143049.GB29677@phenom.dumpdata.com>
References: <4FAD2022.6050009@citrix.com>
	<4FAD3E8D0200007800083110@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FAD3E8D0200007800083110@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 03:30:05PM +0100, Jan Beulich wrote:
> >>> On 11.05.12 at 16:20, Dominic Curran <dominic.curran@citrix.com> wrote:
> > From: Dominic Curran <dominic.curran@citrix.com>
> > Date: Fri, 11 May 2012 12:24:42 +0100
> > Subject: [PATCH] xen: Fix a grant table resource leak
> > 
> > If the resource (my testing shows an object in TX/RX ring) still has a
> > reference held on it, then add to a list and kick-off a timer to try
> > and free later.
> 
> Did you see
> 
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00406.html

Which is on the 3.5 queue list:
http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commit;h=569ca5b3f94cd0b3295ec5943aa457cf4a4f6a3a

> 
> Jan
> 
> > Signed-off-by: Dominic Curran <dominic.curran@citrix.com>
> > ---
> >   drivers/xen/grant-table.c |   72 
> > +++++++++++++++++++++++++++++++++++++++++++---
> >   1 file changed, 68 insertions(+), 4 deletions(-)
> > 
> > Index: linux-2.6/drivers/xen/grant-table.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/xen/grant-table.c    2012-05-08 
> > 13:52:54.000000000 +0100
> > +++ linux-2.6/drivers/xen/grant-table.c    2012-05-08 16:53:52.000000000 
> > +0100
> > @@ -33,6 +33,7 @@
> > 
> >   #include <linux/module.h>
> >   #include <linux/sched.h>
> > +#include <linux/timer.h>
> >   #include <linux/mm.h>
> >   #include <linux/slab.h>
> >   #include <linux/vmalloc.h>
> > @@ -57,6 +58,7 @@
> >   (grant_table_version == 1 ?                      \
> >   (PAGE_SIZE / sizeof(struct grant_entry_v1)) :   \
> >   (PAGE_SIZE / sizeof(union grant_entry_v2)))
> > +#define GNTTAB_CLEANUP_TIMER 10
> > 
> >   static grant_ref_t **gnttab_list;
> >   static unsigned int nr_grant_frames;
> > @@ -66,6 +68,9 @@ static grant_ref_t gnttab_free_head;
> >   static DEFINE_SPINLOCK(gnttab_list_lock);
> >   unsigned long xen_hvm_resume_frames;
> >   EXPORT_SYMBOL_GPL(xen_hvm_resume_frames);
> > +static LIST_HEAD(gnttab_used_ref_list);
> > +static DEFINE_SPINLOCK(gnttab_used_ref_lock);
> > +static struct timer_list gnttab_timer;
> > 
> >   static union {
> >       struct grant_entry_v1 *v1;
> > @@ -145,6 +150,16 @@ struct gnttab_ops {
> >                      domid_t trans_domid, grant_ref_t trans_gref);
> >   };
> > 
> > +/* This structure is used to hold references to pages until they become
> > +   ready to free.
> > +*/
> > +struct gnttab_used_ref {
> > +    struct list_head    list;
> > +    grant_ref_t            ref;
> > +    unsigned long        page;
> > +    int                readonly;
> > +};
> > +
> >   static struct gnttab_ops *gnttab_interface;
> > 
> >   /*This reflects status of grant entries, so act as a global value*/
> > @@ -464,18 +479,62 @@ int gnttab_end_foreign_access_ref(grant_
> >   }
> >   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access_ref);
> > 
> > +static void gnttab_attempt_clean_used_refs(unsigned long arg)
> > +{
> > +    struct gnttab_used_ref  *u;
> > +    struct list_head        *pos, *q;
> > +    unsigned long            flags;
> > +
> > +    spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> > +
> > +    list_for_each_safe(pos, q, &gnttab_used_ref_list) {
> > +        u = list_entry(pos, struct gnttab_used_ref, list);
> > +
> > +        if (gnttab_end_foreign_access_ref(u->ref, u->readonly)) {
> > +            list_del(pos);
> > +
> > +            put_free_entry(u->ref);
> > +            if (u->page != 0)
> > +                free_page(u->page);
> > +
> > +            kfree(u);
> > +        }
> > +    }
> > +    spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> > +
> > +    if (!list_empty(&gnttab_used_ref_list))
> > +        mod_timer(&gnttab_timer, jiffies + HZ);
> > +}
> > +
> >   void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
> >                      unsigned long page)
> >   {
> > +    struct gnttab_used_ref *u;
> > +    unsigned long flags;
> > +
> >       if (gnttab_end_foreign_access_ref(ref, readonly)) {
> >           put_free_entry(ref);
> >           if (page != 0)
> >               free_page(page);
> >       } else {
> > -        /* XXX This needs to be fixed so that the ref and page are
> > -           placed on a list to be freed up later. */
> > -        printk(KERN_WARNING
> > -               "WARNING: leaking g.e. and page still in use!\n");
> > +        /* References that aren't cleaned up immediately sit on
> > +         * a list until they are abandoned & can be cleaned safely.
> > +         */
> > +        u = kmalloc(sizeof(struct gnttab_used_ref), GFP_KERNEL);
> > +        if (!u)
> > +            return;
> > +
> > +        u->page = page;
> > +        u->ref = ref;
> > +        u->readonly = readonly;
> > +
> > +        spin_lock_irqsave(&gnttab_used_ref_lock, flags);
> > +        list_add(&(u->list), &gnttab_used_ref_list);
> > +        spin_unlock_irqrestore(&gnttab_used_ref_lock, flags);
> > +
> > +        /* Kick off the cleanup timer. */
> > +        if (!timer_pending(&gnttab_timer))
> > +            add_timer(&gnttab_timer);
> >       }
> >   }
> >   EXPORT_SYMBOL_GPL(gnttab_end_foreign_access);
> > @@ -1068,6 +1127,11 @@ int gnttab_init(void)
> >       gnttab_free_count = nr_init_grefs - NR_RESERVED_ENTRIES;
> >       gnttab_free_head  = NR_RESERVED_ENTRIES;
> > 
> > +    init_timer(&gnttab_timer);
> > +    gnttab_timer.data = 0;
> > +    gnttab_timer.function = gnttab_attempt_clean_used_refs;
> > +    gnttab_timer.expires = jiffies + 
> > msecs_to_jiffies(GNTTAB_CLEANUP_TIMER);
> > +
> >       printk("Grant table initialized\n");
> >       return 0;
> > 
> > 
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org 
> > http://lists.xen.org/xen-devel 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:49:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:49:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSr9s-0003zu-9K; Fri, 11 May 2012 14:49:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dominic.curran@citrix.com>) id 1SSr9q-0003zp-Kh
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:49:26 +0000
Received: from [85.158.143.35:39804] by server-3.bemta-4.messagelabs.com id
	75/23-05853-5F62DAF4; Fri, 11 May 2012 14:49:25 +0000
X-Env-Sender: dominic.curran@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336747756!14121214!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15948 invoked from network); 11 May 2012 14:49:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:49:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194451235"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:49:14 -0400
Received: from [10.80.2.144] (10.80.2.144) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 11 May 2012
	10:49:14 -0400
Message-ID: <4FAD2857.3070107@citrix.com>
Date: Fri, 11 May 2012 15:55:19 +0100
From: Dominic Curran <dominic.curran@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:8.0) Gecko/20111124 Thunderbird/8.0
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FAD2022.6050009@citrix.com>
	<4FAD3E8D0200007800083110@nat28.tlf.novell.com>
In-Reply-To: <4FAD3E8D0200007800083110@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/12 15:30, Jan Beulich wrote:
>>>> On 11.05.12 at 16:20, Dominic Curran<dominic.curran@citrix.com>  wrote:
>> From: Dominic Curran<dominic.curran@citrix.com>
>> Date: Fri, 11 May 2012 12:24:42 +0100
>> Subject: [PATCH] xen: Fix a grant table resource leak
>>
>> If the resource (my testing shows an object in TX/RX ring) still has a
>> reference held on it, then add to a list and kick-off a timer to try
>> and free later.
> Did you see
>
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00406.html
>
> Jan
Oh!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:49:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:49:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSr9s-0003zu-9K; Fri, 11 May 2012 14:49:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dominic.curran@citrix.com>) id 1SSr9q-0003zp-Kh
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:49:26 +0000
Received: from [85.158.143.35:39804] by server-3.bemta-4.messagelabs.com id
	75/23-05853-5F62DAF4; Fri, 11 May 2012 14:49:25 +0000
X-Env-Sender: dominic.curran@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336747756!14121214!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTE3NzI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15948 invoked from network); 11 May 2012 14:49:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:49:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330923600"; d="scan'208";a="194451235"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 10:49:14 -0400
Received: from [10.80.2.144] (10.80.2.144) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Fri, 11 May 2012
	10:49:14 -0400
Message-ID: <4FAD2857.3070107@citrix.com>
Date: Fri, 11 May 2012 15:55:19 +0100
From: Dominic Curran <dominic.curran@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:8.0) Gecko/20111124 Thunderbird/8.0
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FAD2022.6050009@citrix.com>
	<4FAD3E8D0200007800083110@nat28.tlf.novell.com>
In-Reply-To: <4FAD3E8D0200007800083110@nat28.tlf.novell.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xen: Fix a grant table resource leak
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/12 15:30, Jan Beulich wrote:
>>>> On 11.05.12 at 16:20, Dominic Curran<dominic.curran@citrix.com>  wrote:
>> From: Dominic Curran<dominic.curran@citrix.com>
>> Date: Fri, 11 May 2012 12:24:42 +0100
>> Subject: [PATCH] xen: Fix a grant table resource leak
>>
>> If the resource (my testing shows an object in TX/RX ring) still has a
>> reference held on it, then add to a list and kick-off a timer to try
>> and free later.
> Did you see
>
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00406.html
>
> Jan
Oh!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:54:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:54:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrEH-0004Ac-05; Fri, 11 May 2012 14:54:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSrEG-0004AV-7V
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:54:00 +0000
Received: from [85.158.138.51:47304] by server-3.bemta-3.messagelabs.com id
	BA/68-04048-7082DAF4; Fri, 11 May 2012 14:53:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336748038!7924109!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9792 invoked from network); 11 May 2012 14:53:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:53:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12432318"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 14:53:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 15:53:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSrDs-0007J3-4W; Fri, 11 May 2012 14:53:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSrDs-0001Zd-3Y;
	Fri, 11 May 2012 15:53:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.10224.96552.711065@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 15:53:36 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335358736.28015.41.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Teck Choon Giam <giamteckchoon@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
> libxl/xend: name tap devices vifX.Y-emu

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:54:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:54:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrEH-0004Ac-05; Fri, 11 May 2012 14:54:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSrEG-0004AV-7V
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:54:00 +0000
Received: from [85.158.138.51:47304] by server-3.bemta-3.messagelabs.com id
	BA/68-04048-7082DAF4; Fri, 11 May 2012 14:53:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336748038!7924109!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9792 invoked from network); 11 May 2012 14:53:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:53:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12432318"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 14:53:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 15:53:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSrDs-0007J3-4W; Fri, 11 May 2012 14:53:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSrDs-0001Zd-3Y;
	Fri, 11 May 2012 15:53:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.10224.96552.711065@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 15:53:36 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335358736.28015.41.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Teck Choon Giam <giamteckchoon@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
> libxl/xend: name tap devices vifX.Y-emu

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:54:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:54:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrEI-0004Au-Cq; Fri, 11 May 2012 14:54:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSrEH-0004Ab-DS
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:54:01 +0000
Received: from [85.158.138.51:57205] by server-8.bemta-3.messagelabs.com id
	A8/85-24428-8082DAF4; Fri, 11 May 2012 14:54:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336748038!7924109!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9985 invoked from network); 11 May 2012 14:54:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:54:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12432324"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 14:53:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 15:53:58 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSrED-0007JC-To; Fri, 11 May 2012 14:53:57 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSrED-0001Zs-T8;
	Fri, 11 May 2012 15:53:57 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.10245.887979.508626@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 15:53:57 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <alpine.DEB.2.00.1204251632300.26786@kaball-desktop>
References: <c8486295429011e9a220.1335348912@cosworth.uk.xensource.com>
	<alpine.DEB.2.00.1204251128260.26786@kaball-desktop>
	<1335350442.28015.29.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204251147470.26786@kaball-desktop>
	<1335351773.28015.33.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204251632300.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: default to xenconsoled for pv guests,
 even if qemu is running
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [Xen-devel] [PATCH] libxl: default to xenconsoled for pv guests, even if qemu is running"):
> On Wed, 25 Apr 2012, Ian Campbell wrote:
> > libxl: default to xenconsoled for pv guests, even if qemu is running.
...
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 14:54:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 14:54:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrEI-0004Au-Cq; Fri, 11 May 2012 14:54:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSrEH-0004Ab-DS
	for xen-devel@lists.xen.org; Fri, 11 May 2012 14:54:01 +0000
Received: from [85.158.138.51:57205] by server-8.bemta-3.messagelabs.com id
	A8/85-24428-8082DAF4; Fri, 11 May 2012 14:54:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336748038!7924109!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9985 invoked from network); 11 May 2012 14:54:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 14:54:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12432324"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 14:53:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 15:53:58 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSrED-0007JC-To; Fri, 11 May 2012 14:53:57 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSrED-0001Zs-T8;
	Fri, 11 May 2012 15:53:57 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.10245.887979.508626@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 15:53:57 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <alpine.DEB.2.00.1204251632300.26786@kaball-desktop>
References: <c8486295429011e9a220.1335348912@cosworth.uk.xensource.com>
	<alpine.DEB.2.00.1204251128260.26786@kaball-desktop>
	<1335350442.28015.29.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204251147470.26786@kaball-desktop>
	<1335351773.28015.33.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204251632300.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: default to xenconsoled for pv guests,
 even if qemu is running
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [Xen-devel] [PATCH] libxl: default to xenconsoled for pv guests, even if qemu is running"):
> On Wed, 25 Apr 2012, Ian Campbell wrote:
> > libxl: default to xenconsoled for pv guests, even if qemu is running.
...
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:00:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:00:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrKB-0004vo-G4; Fri, 11 May 2012 15:00:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSrK9-0004tW-F0
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:00:05 +0000
Received: from [85.158.143.99:47025] by server-2.bemta-4.messagelabs.com id
	F7/41-17550-5792DAF4; Fri, 11 May 2012 15:00:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336748403!22319754!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26897 invoked from network); 11 May 2012 15:00:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:00:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12432444"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:00:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 16:00:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSrK6-0007L8-Se; Fri, 11 May 2012 15:00:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSrK6-0001vM-Fs;
	Fri, 11 May 2012 16:00:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.10609.18007.71477@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 16:00:01 +0100
To: George Dunlap <dunlapg@umich.edu>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CAFLBxZb-eJPC1HNx5O4JsB+Lz+FUT66vWTYU6CR8PXfenA26EA@mail.gmail.com>
References: <20348.27879.297617.171564@mariner.uk.xensource.com>
	<CAFLBxZb8FifF0cKfCr3R=jDEgff8eXNwNmx63xr-FFiCbwPvMA@mail.gmail.com>
	<20374.59940.607143.114201@mariner.uk.xensource.com>
	<CAFLBxZb-eJPC1HNx5O4JsB+Lz+FUT66vWTYU6CR8PXfenA26EA@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Jonathan Ludlam <jonathan.ludlam@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Driver domains communication protocol proposal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [Xen-devel] Driver domains communication protocol proposal"):
> Ah, so what you're calling "vdi" in this case is a thing into which
> vbd's can plug -- what we might call the backend "node" for a
> particular disk image?

Yes.

> So we have:
> 
> [A] <--> [B] <--> { [C], [D], [E] }
> 
> Where:
> * A is the actual disk image on stable storage somewhere
> * B is the instance of the code that can access A and provide access
> to VMs which connect to it (not persistent)
> * C D and E are instances of code running inside the guest which
> connect to B and provide a block device to the guest OS which looks
> like A (again not persistent)
> 
> Is that correct?

Yes.

> I think calling A a "virtual disk image" makes the most sense; reusing
> that name for B is a bad idea given that it's already used for A in
> XenServer terminology.  (Jonathan, correct me if I'm wrong here.)

Right.

> I think that calling C D and E "vbd"s also makes sense.
> 
> So we just need to have a good name for the running instance of a
> blockback process / thread / whatever that accesses a particular VDI.
> Virtual disk provider (VDP)? Block back instance (BBI)?  Virtual block
> backend (VBB)?

Anything with "backend" in it is probably wrong because in general C,
D and E are backend/frontend pairs.

The thing that B has that A (the vdi) hasn't is that B has done all
the preparatory work necessary for accessing the vdi apart from
anything that involves exclusivity.

"nonexclusive image context" aka "nic" ? :-)
"nonexclusive image handle" aka "nih" :-)
"preparatory exclusive (not) image session" ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:00:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:00:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrKB-0004vo-G4; Fri, 11 May 2012 15:00:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSrK9-0004tW-F0
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:00:05 +0000
Received: from [85.158.143.99:47025] by server-2.bemta-4.messagelabs.com id
	F7/41-17550-5792DAF4; Fri, 11 May 2012 15:00:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1336748403!22319754!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26897 invoked from network); 11 May 2012 15:00:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:00:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,571,1330905600"; d="scan'208";a="12432444"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:00:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 16:00:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSrK6-0007L8-Se; Fri, 11 May 2012 15:00:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSrK6-0001vM-Fs;
	Fri, 11 May 2012 16:00:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.10609.18007.71477@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 16:00:01 +0100
To: George Dunlap <dunlapg@umich.edu>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CAFLBxZb-eJPC1HNx5O4JsB+Lz+FUT66vWTYU6CR8PXfenA26EA@mail.gmail.com>
References: <20348.27879.297617.171564@mariner.uk.xensource.com>
	<CAFLBxZb8FifF0cKfCr3R=jDEgff8eXNwNmx63xr-FFiCbwPvMA@mail.gmail.com>
	<20374.59940.607143.114201@mariner.uk.xensource.com>
	<CAFLBxZb-eJPC1HNx5O4JsB+Lz+FUT66vWTYU6CR8PXfenA26EA@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Jonathan Ludlam <jonathan.ludlam@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Driver domains communication protocol proposal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [Xen-devel] Driver domains communication protocol proposal"):
> Ah, so what you're calling "vdi" in this case is a thing into which
> vbd's can plug -- what we might call the backend "node" for a
> particular disk image?

Yes.

> So we have:
> 
> [A] <--> [B] <--> { [C], [D], [E] }
> 
> Where:
> * A is the actual disk image on stable storage somewhere
> * B is the instance of the code that can access A and provide access
> to VMs which connect to it (not persistent)
> * C D and E are instances of code running inside the guest which
> connect to B and provide a block device to the guest OS which looks
> like A (again not persistent)
> 
> Is that correct?

Yes.

> I think calling A a "virtual disk image" makes the most sense; reusing
> that name for B is a bad idea given that it's already used for A in
> XenServer terminology.  (Jonathan, correct me if I'm wrong here.)

Right.

> I think that calling C D and E "vbd"s also makes sense.
> 
> So we just need to have a good name for the running instance of a
> blockback process / thread / whatever that accesses a particular VDI.
> Virtual disk provider (VDP)? Block back instance (BBI)?  Virtual block
> backend (VBB)?

Anything with "backend" in it is probably wrong because in general C,
D and E are backend/frontend pairs.

The thing that B has that A (the vdi) hasn't is that B has done all
the preparatory work necessary for accessing the vdi apart from
anything that involves exclusivity.

"nonexclusive image context" aka "nic" ? :-)
"nonexclusive image handle" aka "nih" :-)
"preparatory exclusive (not) image session" ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:12:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:12:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrW0-0005OR-Sj; Fri, 11 May 2012 15:12:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSrVy-0005OM-DA
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:12:18 +0000
Received: from [85.158.138.51:18460] by server-11.bemta-3.messagelabs.com id
	6D/3E-18894-15C2DAF4; Fri, 11 May 2012 15:12:17 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336749135!17712699!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19323 invoked from network); 11 May 2012 15:12:15 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:12:15 -0000
Received: by lbok6 with SMTP id k6so2457213lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 08:12:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=tpJ6lb2wgoGih8+GCZlG+ct2oBQ+STazYm4e00IVlx0=;
	b=LSEbOSvEi/787qpbkxd1qb7xm45dxpYbMyZWZf+0myKsnBVRUNrdRZo4oT4mUJ5QHi
	MMpsLP1zjMyoOLyJD0gsxPHOkth5GUC/9YL5+BjETXAdS5xgoj2yHu0TGxUr9dMBTAKt
	zms5WKwIjfbt3qZHljmQczOkX3axGVeOvRnwhY81CJCjisdo1fp7vInqsHGl9d/e+mYi
	zEwzQZ00Lwm4KX9TC2I/olXAjc+SfGD0OVjhDLNuhr1phL8drYQU6VLMhhKXiuG23fQb
	mmqeQ3nkNTXbvD7W1IREMKubdsU7D5s1ZqIhWifR0cYW3XVY6qf8E1ndKCnCg8WsWcKe
	lI7Q==
MIME-Version: 1.0
Received: by 10.152.145.228 with SMTP id sx4mr8600567lab.45.1336749134545;
	Fri, 11 May 2012 08:12:14 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 08:12:14 -0700 (PDT)
In-Reply-To: <1336745780.23818.80.camel@zakaz.uk.xensource.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
Date: Fri, 11 May 2012 23:12:14 +0800
Message-ID: <CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1990667684200572237=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1990667684200572237==
Content-Type: multipart/alternative; boundary=e89a8f2348bf5183fb04bfc429f9

--e89a8f2348bf5183fb04bfc429f9
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>

> On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
> > When I do the "make install-tools" with xen-4.2-unstable, there are
> > some errors about "warn_unused_result".
> > Is it the error in code or the error in the compiling environment?
> > Thank you so much.
>
> This commit
>        changeset:   25275:27d63b9f111a
>        user:        Keir Fraser <keir@xen.org>
>        date:        Thu May 10 11:22:18 2012 +0100
>        summary:     blktap2: Do not build with -O0
> has caused more warnings to be generated by the compiler, which in turn
> leads to build failures. Since this is a compiler specific thing we are
> still tracking them all down.
>
> Can you confirm which versionof xen-unstable.hg you are using -- there
> have been several fixup patches since the above. If you are completely
> up to date and you still see errors we can dig into whatever is left.
>

Thank you for your reply. I have used "hg pull; hg update" to update to the
latest Xen and it is the version info:

root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
changeset:   25287:54c8c9eaee92
tag:         tip
user:        Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
date:        Fri Apr 27 11:09:26 2012 +0200
summary:     docs: add vpmu description to xen-command-line.markdown

But, it still has the same errors.


Thanks,
Bei Guan



>
> Ian. (starting to think that this change wasn't suitable during a
> feature freeze....)
>
> >
> >
> > gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> > -std=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
> > -D__XEN_TOOLS__ -MMD -MF .tapdisk-queue.o.d  -D_LARGEFILE_SOURCE
> > -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g
> > -Wno-unused -fno-strict-aliasing -I../include -I../drivers
> > -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libxc
> -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include
> -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I
> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c
>  -c -o tapdisk-queue.o tapdisk-queue.c
> > cc1: warnings being treated as errors
> > tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:
> > tapdisk-queue.c:438: error: ignoring return value of =91read=92, declar=
ed
> > with attribute warn_unused_result
> > make[5]: *** [tapdisk-queue.o] Error 1
> > make[5]: Leaving directory
> > `/root/Xen/xen-4.2-unstable/tools/blktap2/drivers'
> > make[4]: *** [subdir-install-drivers] Error 2
> > make[4]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
> > make[3]: *** [subdirs-install] Error 2
> > make[3]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
> > make[2]: *** [subdir-install-blktap2] Error 2
> > make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
> > make[1]: *** [subdirs-install] Error 2
> > make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
> > make: *** [install-tools] Error 2
> > ------
> >
> root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
>  -c -o tapdisk-log.o tapdisk-log.c
> > cc1: warnings being treated as errors
> > tapdisk-log.c: In function =91tlog_flush=92:
> > tapdisk-log.c:250: error: ignoring return value of =91write=92, declare=
d
> > with attribute warn_unused_result
> > ------
> >
> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c
>  -c -o tapdisk2.o tapdisk2.c
> > cc1: warnings being treated as errors
> > tapdisk2.c: In function =91main=92:
> > tapdisk2.c:82: error: ignoring return value of =91chdir=92, declared wi=
th
> > attribute warn_unused_result
> > ------
> > cc1: warnings being treated as errors
> > tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:
> > tapdisk-stream.c:148: error: ignoring return value of =91read=92, decla=
red
> > with attribute warn_unused_result
> > tapdisk-stream.c: In function =91tapdisk_stream_poll_set=92:
> > tapdisk-stream.c:158: error: ignoring return value of =91write=92,
> > declared with attribute warn_unused_result
> > tapdisk-stream.c: In function =91tapdisk_stream_print_request=92:
> > tapdisk-stream.c:206: error: ignoring return value of =91write=92,
> > declared with attribute warn_unused_result
> >
> >
> >
> > Best Regards,
> > Bei Guan
> >
>
>
>


--=20
Best Regards,
Bei Guan

--e89a8f2348bf5183fb04bfc429f9
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<br><div class=3D"gmail_quote">2012/5/11 Ian Campbell <span dir=3D"ltr">&lt=
;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campbell@=
citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex">
<div class=3D"im">On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:<br>
&gt; When I do the &quot;make install-tools&quot; with xen-4.2-unstable, th=
ere are<br>
&gt; some errors about &quot;warn_unused_result&quot;.<br>
&gt; Is it the error in code or the error in the compiling environment?<br>
&gt; Thank you so much.<br>
<br>
</div>This commit<br>
 =A0 =A0 =A0 =A0changeset: =A0 25275:27d63b9f111a<br>
 =A0 =A0 =A0 =A0user: =A0 =A0 =A0 =A0Keir Fraser &lt;<a href=3D"mailto:keir=
@xen.org">keir@xen.org</a>&gt;<br>
 =A0 =A0 =A0 =A0date: =A0 =A0 =A0 =A0Thu May 10 11:22:18 2012 +0100<br>
 =A0 =A0 =A0 =A0summary: =A0 =A0 blktap2: Do not build with -O0<br>
has caused more warnings to be generated by the compiler, which in turn<br>
leads to build failures. Since this is a compiler specific thing we are<br>
still tracking them all down.<br>
<br>
Can you confirm which versionof xen-unstable.hg you are using -- there<br>
have been several fixup patches since the above. If you are completely<br>
up to date and you still see errors we can dig into whatever is left.<br></=
blockquote><div><br>Thank you for your reply. I have used &quot;hg pull; hg=
 update&quot; to update to the latest Xen and it is the version info:<br>
<br>root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip<br>changeset:=A0=A0 2=
5287:54c8c9eaee92<br>tag:=A0=A0=A0=A0=A0=A0=A0=A0 tip<br>user:=A0=A0=A0=A0=
=A0=A0=A0 Dietmar Hahn &lt;<a href=3D"mailto:dietmar.hahn@ts.fujitsu.com">d=
ietmar.hahn@ts.fujitsu.com</a>&gt;<br>
date:=A0=A0=A0=A0=A0=A0=A0 Fri Apr 27 11:09:26 2012 +0200<br>summary:=A0=A0=
=A0=A0 docs: add vpmu description to xen-command-line.markdown<br><br>But, =
it still has the same errors.<br><br><br>Thanks,<br>Bei Guan<br><br>=A0</di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex">

<br>
Ian. (starting to think that this change wasn&#39;t suitable during a<br>
feature freeze....)<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
&gt;<br>
&gt;<br>
&gt; gcc =A0-O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing<br>
&gt; -std=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement<b=
r>
&gt; -D__XEN_TOOLS__ -MMD -MF .tapdisk-queue.o.d =A0-D_LARGEFILE_SOURCE<br>
&gt; -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g<br>
&gt; -Wno-unused -fno-strict-aliasing -I../include -I../drivers<br>
&gt; -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libx=
c -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include=
 -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I /root/Xen/xen-4.2-unstable/tools/bl=
ktap2/drivers/../../../tools/libaio/src =A0-c -o tapdisk-queue.o tapdisk-qu=
eue.c<br>

&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:<br>
&gt; tapdisk-queue.c:438: error: ignoring return value of =91read=92, decla=
red<br>
&gt; with attribute warn_unused_result<br>
&gt; make[5]: *** [tapdisk-queue.o] Error 1<br>
&gt; make[5]: Leaving directory<br>
&gt; `/root/Xen/xen-4.2-unstable/tools/blktap2/drivers&#39;<br>
&gt; make[4]: *** [subdir-install-drivers] Error 2<br>
&gt; make[4]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2&#=
39;<br>
&gt; make[3]: *** [subdirs-install] Error 2<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2&#=
39;<br>
&gt; make[2]: *** [subdir-install-blktap2] Error 2<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/tools&#39;<br>
&gt; make[1]: *** [subdirs-install] Error 2<br>
&gt; make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools&#39;<br>
&gt; make: *** [install-tools] Error 2<br>
&gt; ------<br>
&gt; root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/=
src =A0-c -o tapdisk-log.o tapdisk-log.c<br>
&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk-log.c: In function =91tlog_flush=92:<br>
&gt; tapdisk-log.c:250: error: ignoring return value of =91write=92, declar=
ed<br>
&gt; with attribute warn_unused_result<br>
&gt; ------<br>
&gt; /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio=
/src =A0-c -o tapdisk2.o tapdisk2.c<br>
&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk2.c: In function =91main=92:<br>
&gt; tapdisk2.c:82: error: ignoring return value of =91chdir=92, declared w=
ith<br>
&gt; attribute warn_unused_result<br>
&gt; ------<br>
&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:<br>
&gt; tapdisk-stream.c:148: error: ignoring return value of =91read=92, decl=
ared<br>
&gt; with attribute warn_unused_result<br>
&gt; tapdisk-stream.c: In function =91tapdisk_stream_poll_set=92:<br>
&gt; tapdisk-stream.c:158: error: ignoring return value of =91write=92,<br>
&gt; declared with attribute warn_unused_result<br>
&gt; tapdisk-stream.c: In function =91tapdisk_stream_print_request=92:<br>
&gt; tapdisk-stream.c:206: error: ignoring return value of =91write=92,<br>
&gt; declared with attribute warn_unused_result<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Best Regards,<br>
&gt; Bei Guan<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regard=
s,<div>Bei Guan</div><br>

--e89a8f2348bf5183fb04bfc429f9--


--===============1990667684200572237==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1990667684200572237==--


From xen-devel-bounces@lists.xen.org Fri May 11 15:12:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:12:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrW0-0005OR-Sj; Fri, 11 May 2012 15:12:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSrVy-0005OM-DA
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:12:18 +0000
Received: from [85.158.138.51:18460] by server-11.bemta-3.messagelabs.com id
	6D/3E-18894-15C2DAF4; Fri, 11 May 2012 15:12:17 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336749135!17712699!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19323 invoked from network); 11 May 2012 15:12:15 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:12:15 -0000
Received: by lbok6 with SMTP id k6so2457213lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 08:12:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=tpJ6lb2wgoGih8+GCZlG+ct2oBQ+STazYm4e00IVlx0=;
	b=LSEbOSvEi/787qpbkxd1qb7xm45dxpYbMyZWZf+0myKsnBVRUNrdRZo4oT4mUJ5QHi
	MMpsLP1zjMyoOLyJD0gsxPHOkth5GUC/9YL5+BjETXAdS5xgoj2yHu0TGxUr9dMBTAKt
	zms5WKwIjfbt3qZHljmQczOkX3axGVeOvRnwhY81CJCjisdo1fp7vInqsHGl9d/e+mYi
	zEwzQZ00Lwm4KX9TC2I/olXAjc+SfGD0OVjhDLNuhr1phL8drYQU6VLMhhKXiuG23fQb
	mmqeQ3nkNTXbvD7W1IREMKubdsU7D5s1ZqIhWifR0cYW3XVY6qf8E1ndKCnCg8WsWcKe
	lI7Q==
MIME-Version: 1.0
Received: by 10.152.145.228 with SMTP id sx4mr8600567lab.45.1336749134545;
	Fri, 11 May 2012 08:12:14 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 08:12:14 -0700 (PDT)
In-Reply-To: <1336745780.23818.80.camel@zakaz.uk.xensource.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
Date: Fri, 11 May 2012 23:12:14 +0800
Message-ID: <CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1990667684200572237=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1990667684200572237==
Content-Type: multipart/alternative; boundary=e89a8f2348bf5183fb04bfc429f9

--e89a8f2348bf5183fb04bfc429f9
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>

> On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
> > When I do the "make install-tools" with xen-4.2-unstable, there are
> > some errors about "warn_unused_result".
> > Is it the error in code or the error in the compiling environment?
> > Thank you so much.
>
> This commit
>        changeset:   25275:27d63b9f111a
>        user:        Keir Fraser <keir@xen.org>
>        date:        Thu May 10 11:22:18 2012 +0100
>        summary:     blktap2: Do not build with -O0
> has caused more warnings to be generated by the compiler, which in turn
> leads to build failures. Since this is a compiler specific thing we are
> still tracking them all down.
>
> Can you confirm which versionof xen-unstable.hg you are using -- there
> have been several fixup patches since the above. If you are completely
> up to date and you still see errors we can dig into whatever is left.
>

Thank you for your reply. I have used "hg pull; hg update" to update to the
latest Xen and it is the version info:

root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
changeset:   25287:54c8c9eaee92
tag:         tip
user:        Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
date:        Fri Apr 27 11:09:26 2012 +0200
summary:     docs: add vpmu description to xen-command-line.markdown

But, it still has the same errors.


Thanks,
Bei Guan



>
> Ian. (starting to think that this change wasn't suitable during a
> feature freeze....)
>
> >
> >
> > gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> > -std=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
> > -D__XEN_TOOLS__ -MMD -MF .tapdisk-queue.o.d  -D_LARGEFILE_SOURCE
> > -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g
> > -Wno-unused -fno-strict-aliasing -I../include -I../drivers
> > -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libxc
> -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include
> -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I
> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c
>  -c -o tapdisk-queue.o tapdisk-queue.c
> > cc1: warnings being treated as errors
> > tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:
> > tapdisk-queue.c:438: error: ignoring return value of =91read=92, declar=
ed
> > with attribute warn_unused_result
> > make[5]: *** [tapdisk-queue.o] Error 1
> > make[5]: Leaving directory
> > `/root/Xen/xen-4.2-unstable/tools/blktap2/drivers'
> > make[4]: *** [subdir-install-drivers] Error 2
> > make[4]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
> > make[3]: *** [subdirs-install] Error 2
> > make[3]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2'
> > make[2]: *** [subdir-install-blktap2] Error 2
> > make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
> > make[1]: *** [subdirs-install] Error 2
> > make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
> > make: *** [install-tools] Error 2
> > ------
> >
> root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src
>  -c -o tapdisk-log.o tapdisk-log.c
> > cc1: warnings being treated as errors
> > tapdisk-log.c: In function =91tlog_flush=92:
> > tapdisk-log.c:250: error: ignoring return value of =91write=92, declare=
d
> > with attribute warn_unused_result
> > ------
> >
> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c
>  -c -o tapdisk2.o tapdisk2.c
> > cc1: warnings being treated as errors
> > tapdisk2.c: In function =91main=92:
> > tapdisk2.c:82: error: ignoring return value of =91chdir=92, declared wi=
th
> > attribute warn_unused_result
> > ------
> > cc1: warnings being treated as errors
> > tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:
> > tapdisk-stream.c:148: error: ignoring return value of =91read=92, decla=
red
> > with attribute warn_unused_result
> > tapdisk-stream.c: In function =91tapdisk_stream_poll_set=92:
> > tapdisk-stream.c:158: error: ignoring return value of =91write=92,
> > declared with attribute warn_unused_result
> > tapdisk-stream.c: In function =91tapdisk_stream_print_request=92:
> > tapdisk-stream.c:206: error: ignoring return value of =91write=92,
> > declared with attribute warn_unused_result
> >
> >
> >
> > Best Regards,
> > Bei Guan
> >
>
>
>


--=20
Best Regards,
Bei Guan

--e89a8f2348bf5183fb04bfc429f9
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<br><div class=3D"gmail_quote">2012/5/11 Ian Campbell <span dir=3D"ltr">&lt=
;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campbell@=
citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex">
<div class=3D"im">On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:<br>
&gt; When I do the &quot;make install-tools&quot; with xen-4.2-unstable, th=
ere are<br>
&gt; some errors about &quot;warn_unused_result&quot;.<br>
&gt; Is it the error in code or the error in the compiling environment?<br>
&gt; Thank you so much.<br>
<br>
</div>This commit<br>
 =A0 =A0 =A0 =A0changeset: =A0 25275:27d63b9f111a<br>
 =A0 =A0 =A0 =A0user: =A0 =A0 =A0 =A0Keir Fraser &lt;<a href=3D"mailto:keir=
@xen.org">keir@xen.org</a>&gt;<br>
 =A0 =A0 =A0 =A0date: =A0 =A0 =A0 =A0Thu May 10 11:22:18 2012 +0100<br>
 =A0 =A0 =A0 =A0summary: =A0 =A0 blktap2: Do not build with -O0<br>
has caused more warnings to be generated by the compiler, which in turn<br>
leads to build failures. Since this is a compiler specific thing we are<br>
still tracking them all down.<br>
<br>
Can you confirm which versionof xen-unstable.hg you are using -- there<br>
have been several fixup patches since the above. If you are completely<br>
up to date and you still see errors we can dig into whatever is left.<br></=
blockquote><div><br>Thank you for your reply. I have used &quot;hg pull; hg=
 update&quot; to update to the latest Xen and it is the version info:<br>
<br>root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip<br>changeset:=A0=A0 2=
5287:54c8c9eaee92<br>tag:=A0=A0=A0=A0=A0=A0=A0=A0 tip<br>user:=A0=A0=A0=A0=
=A0=A0=A0 Dietmar Hahn &lt;<a href=3D"mailto:dietmar.hahn@ts.fujitsu.com">d=
ietmar.hahn@ts.fujitsu.com</a>&gt;<br>
date:=A0=A0=A0=A0=A0=A0=A0 Fri Apr 27 11:09:26 2012 +0200<br>summary:=A0=A0=
=A0=A0 docs: add vpmu description to xen-command-line.markdown<br><br>But, =
it still has the same errors.<br><br><br>Thanks,<br>Bei Guan<br><br>=A0</di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex">

<br>
Ian. (starting to think that this change wasn&#39;t suitable during a<br>
feature freeze....)<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
&gt;<br>
&gt;<br>
&gt; gcc =A0-O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing<br>
&gt; -std=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement<b=
r>
&gt; -D__XEN_TOOLS__ -MMD -MF .tapdisk-queue.o.d =A0-D_LARGEFILE_SOURCE<br>
&gt; -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -Werror -g<br>
&gt; -Wno-unused -fno-strict-aliasing -I../include -I../drivers<br>
&gt; -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libx=
c -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include=
 -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I /root/Xen/xen-4.2-unstable/tools/bl=
ktap2/drivers/../../../tools/libaio/src =A0-c -o tapdisk-queue.o tapdisk-qu=
eue.c<br>

&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk-queue.c: In function =91tapdisk_lio_ack_event=92:<br>
&gt; tapdisk-queue.c:438: error: ignoring return value of =91read=92, decla=
red<br>
&gt; with attribute warn_unused_result<br>
&gt; make[5]: *** [tapdisk-queue.o] Error 1<br>
&gt; make[5]: Leaving directory<br>
&gt; `/root/Xen/xen-4.2-unstable/tools/blktap2/drivers&#39;<br>
&gt; make[4]: *** [subdir-install-drivers] Error 2<br>
&gt; make[4]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2&#=
39;<br>
&gt; make[3]: *** [subdirs-install] Error 2<br>
&gt; make[3]: Leaving directory `/root/Xen/xen-4.2-unstable/tools/blktap2&#=
39;<br>
&gt; make[2]: *** [subdir-install-blktap2] Error 2<br>
&gt; make[2]: Leaving directory `/root/Xen/xen-4.2-unstable/tools&#39;<br>
&gt; make[1]: *** [subdirs-install] Error 2<br>
&gt; make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools&#39;<br>
&gt; make: *** [install-tools] Error 2<br>
&gt; ------<br>
&gt; root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/=
src =A0-c -o tapdisk-log.o tapdisk-log.c<br>
&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk-log.c: In function =91tlog_flush=92:<br>
&gt; tapdisk-log.c:250: error: ignoring return value of =91write=92, declar=
ed<br>
&gt; with attribute warn_unused_result<br>
&gt; ------<br>
&gt; /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio=
/src =A0-c -o tapdisk2.o tapdisk2.c<br>
&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk2.c: In function =91main=92:<br>
&gt; tapdisk2.c:82: error: ignoring return value of =91chdir=92, declared w=
ith<br>
&gt; attribute warn_unused_result<br>
&gt; ------<br>
&gt; cc1: warnings being treated as errors<br>
&gt; tapdisk-stream.c: In function =91tapdisk_stream_poll_clear=92:<br>
&gt; tapdisk-stream.c:148: error: ignoring return value of =91read=92, decl=
ared<br>
&gt; with attribute warn_unused_result<br>
&gt; tapdisk-stream.c: In function =91tapdisk_stream_poll_set=92:<br>
&gt; tapdisk-stream.c:158: error: ignoring return value of =91write=92,<br>
&gt; declared with attribute warn_unused_result<br>
&gt; tapdisk-stream.c: In function =91tapdisk_stream_print_request=92:<br>
&gt; tapdisk-stream.c:206: error: ignoring return value of =91write=92,<br>
&gt; declared with attribute warn_unused_result<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Best Regards,<br>
&gt; Bei Guan<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regard=
s,<div>Bei Guan</div><br>

--e89a8f2348bf5183fb04bfc429f9--


--===============1990667684200572237==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1990667684200572237==--


From xen-devel-bounces@lists.xen.org Fri May 11 15:27:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrkB-0005Zx-Gt; Fri, 11 May 2012 15:26:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSrkA-0005Zs-4E
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:26:58 +0000
Received: from [193.109.254.147:47986] by server-11.bemta-14.messagelabs.com
	id BB/40-05858-1CF2DAF4; Fri, 11 May 2012 15:26:57 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336750015!8782907!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23716 invoked from network); 11 May 2012 15:26:55 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:26:55 -0000
Received: by lahc1 with SMTP id c1so2174892lah.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 08:26:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=9x4GzUWmcRP2yNuk1kVbkJCNojKN6GhYmWFqyQk59xs=;
	b=kezMm2hilcL/d9t87HG2j4V6TJqP8+/Zkj+XykLlFTwGR6JaU5SyKHu/aOAOnc4Z36
	IEO2M7MruagBNVp6P+pGNtrWAIz/u6h5dwNuHfPVWBb3S1bM4OlYaFgmfvLlSDqobaAH
	UWJf3ATZ5NXYX+HQAWtIb6htkie3g/oKLtGaAkqNSy5KuCCr5zITGAGSA30YbrYJptPI
	XGtcxVPICo0Ud4LaDNDgPmtQNjwRMJncKHQddEj/+sMl6EF6WQz+3qwp4HxPzB2mwk0p
	CqHswn5QObHU8rCG8IvGdwTfFCEh9w3gBmuMMj6c4ym1uvIFMyFCMmTFf3+qDn1sVK/l
	Zo2g==
MIME-Version: 1.0
Received: by 10.112.46.198 with SMTP id x6mr4042652lbm.19.1336750014925; Fri,
	11 May 2012 08:26:54 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 08:26:54 -0700 (PDT)
In-Reply-To: <20120511141955.GA7991@aepfle.de>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<20120511141955.GA7991@aepfle.de>
Date: Fri, 11 May 2012 23:26:54 +0800
Message-ID: <CAEQjb-RQp-ijnoaXw4q87F0JM7u334Cmr3KUeTPi5snnR0ctQg@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Olaf Hering <olaf@aepfle.de>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============9172580847804276381=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============9172580847804276381==
Content-Type: multipart/alternative; boundary=bcaec5540604cb0bea04bfc45d5e

--bcaec5540604cb0bea04bfc45d5e
Content-Type: text/plain; charset=ISO-8859-1

2012/5/11 Olaf Hering <olaf@aepfle.de>

> On Fri, May 11, Bei Guan wrote:
>
> > Hi,
> >
> > When I do the "make install-tools" with xen-4.2-unstable, there are some
> errors
> > about "warn_unused_result".
> > Is it the error in code or the error in the compiling environment? Thank
> you so
> > much.
>
> I suggest to remove all -Werror from the Makefiles and introduce a
> --disable-Werror/--enable-Werror configure option, similar to what
> binutils and other projects have (not sure what the exact configure
> option name is in those projects).
>
Thank you so much for your reply too.
It is better to have such as a choice to enable or disable -Werror option.
But, now it doesn't have in the configure file.


Thanks,
Bei Guan



>
> Olaf
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>



-- 
Best Regards,
Bei Guan

--bcaec5540604cb0bea04bfc45d5e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/11 Olaf Hering <span dir=3D"ltr">=
&lt;<a href=3D"mailto:olaf@aepfle.de" target=3D"_blank">olaf@aepfle.de</a>&=
gt;</span><br><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt=
 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class=3D"im">On Fri, May 11, Bei Guan wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; When I do the &quot;make install-tools&quot; with xen-4.2-unstable, th=
ere are some errors<br>
&gt; about &quot;warn_unused_result&quot;.<br>
&gt; Is it the error in code or the error in the compiling environment? Tha=
nk you so<br>
&gt; much.<br>
<br>
</div>I suggest to remove all -Werror from the Makefiles and introduce a<br=
>
--disable-Werror/--enable-Werror configure option, similar to what<br>
binutils and other projects have (not sure what the exact configure<br>
option name is in those projects).<br></blockquote><div>Thank you so much f=
or your reply too.<br>It is better to have such as a choice to enable or di=
sable -Werror option. But, now it doesn&#39;t have in the configure file.<b=
r>
<br><br>Thanks,<br>Bei Guan<br><br>=A0</div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204)=
;padding-left:1ex">
<br>
Olaf<br>
<br>
_______________________________________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regards,<div>Bei G=
uan</div><br>

--bcaec5540604cb0bea04bfc45d5e--


--===============9172580847804276381==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============9172580847804276381==--


From xen-devel-bounces@lists.xen.org Fri May 11 15:27:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSrkB-0005Zx-Gt; Fri, 11 May 2012 15:26:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSrkA-0005Zs-4E
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:26:58 +0000
Received: from [193.109.254.147:47986] by server-11.bemta-14.messagelabs.com
	id BB/40-05858-1CF2DAF4; Fri, 11 May 2012 15:26:57 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336750015!8782907!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23716 invoked from network); 11 May 2012 15:26:55 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:26:55 -0000
Received: by lahc1 with SMTP id c1so2174892lah.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 08:26:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=9x4GzUWmcRP2yNuk1kVbkJCNojKN6GhYmWFqyQk59xs=;
	b=kezMm2hilcL/d9t87HG2j4V6TJqP8+/Zkj+XykLlFTwGR6JaU5SyKHu/aOAOnc4Z36
	IEO2M7MruagBNVp6P+pGNtrWAIz/u6h5dwNuHfPVWBb3S1bM4OlYaFgmfvLlSDqobaAH
	UWJf3ATZ5NXYX+HQAWtIb6htkie3g/oKLtGaAkqNSy5KuCCr5zITGAGSA30YbrYJptPI
	XGtcxVPICo0Ud4LaDNDgPmtQNjwRMJncKHQddEj/+sMl6EF6WQz+3qwp4HxPzB2mwk0p
	CqHswn5QObHU8rCG8IvGdwTfFCEh9w3gBmuMMj6c4ym1uvIFMyFCMmTFf3+qDn1sVK/l
	Zo2g==
MIME-Version: 1.0
Received: by 10.112.46.198 with SMTP id x6mr4042652lbm.19.1336750014925; Fri,
	11 May 2012 08:26:54 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 08:26:54 -0700 (PDT)
In-Reply-To: <20120511141955.GA7991@aepfle.de>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<20120511141955.GA7991@aepfle.de>
Date: Fri, 11 May 2012 23:26:54 +0800
Message-ID: <CAEQjb-RQp-ijnoaXw4q87F0JM7u334Cmr3KUeTPi5snnR0ctQg@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Olaf Hering <olaf@aepfle.de>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============9172580847804276381=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============9172580847804276381==
Content-Type: multipart/alternative; boundary=bcaec5540604cb0bea04bfc45d5e

--bcaec5540604cb0bea04bfc45d5e
Content-Type: text/plain; charset=ISO-8859-1

2012/5/11 Olaf Hering <olaf@aepfle.de>

> On Fri, May 11, Bei Guan wrote:
>
> > Hi,
> >
> > When I do the "make install-tools" with xen-4.2-unstable, there are some
> errors
> > about "warn_unused_result".
> > Is it the error in code or the error in the compiling environment? Thank
> you so
> > much.
>
> I suggest to remove all -Werror from the Makefiles and introduce a
> --disable-Werror/--enable-Werror configure option, similar to what
> binutils and other projects have (not sure what the exact configure
> option name is in those projects).
>
Thank you so much for your reply too.
It is better to have such as a choice to enable or disable -Werror option.
But, now it doesn't have in the configure file.


Thanks,
Bei Guan



>
> Olaf
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>



-- 
Best Regards,
Bei Guan

--bcaec5540604cb0bea04bfc45d5e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/11 Olaf Hering <span dir=3D"ltr">=
&lt;<a href=3D"mailto:olaf@aepfle.de" target=3D"_blank">olaf@aepfle.de</a>&=
gt;</span><br><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt=
 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class=3D"im">On Fri, May 11, Bei Guan wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; When I do the &quot;make install-tools&quot; with xen-4.2-unstable, th=
ere are some errors<br>
&gt; about &quot;warn_unused_result&quot;.<br>
&gt; Is it the error in code or the error in the compiling environment? Tha=
nk you so<br>
&gt; much.<br>
<br>
</div>I suggest to remove all -Werror from the Makefiles and introduce a<br=
>
--disable-Werror/--enable-Werror configure option, similar to what<br>
binutils and other projects have (not sure what the exact configure<br>
option name is in those projects).<br></blockquote><div>Thank you so much f=
or your reply too.<br>It is better to have such as a choice to enable or di=
sable -Werror option. But, now it doesn&#39;t have in the configure file.<b=
r>
<br><br>Thanks,<br>Bei Guan<br><br>=A0</div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204)=
;padding-left:1ex">
<br>
Olaf<br>
<br>
_______________________________________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regards,<div>Bei G=
uan</div><br>

--bcaec5540604cb0bea04bfc45d5e--


--===============9172580847804276381==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============9172580847804276381==--


From xen-devel-bounces@lists.xen.org Fri May 11 15:46:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSs2I-0005rz-9U; Fri, 11 May 2012 15:45:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSs2G-0005ru-EZ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 15:45:40 +0000
Received: from [85.158.138.51:44961] by server-3.bemta-3.messagelabs.com id
	54/02-04048-3243DAF4; Fri, 11 May 2012 15:45:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336751137!26528527!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5939 invoked from network); 11 May 2012 15:45:38 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 15:45:38 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BFjajR013812
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 15:45:36 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BFjZjh005959
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 15:45:36 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BFjZ6j004365; Fri, 11 May 2012 10:45:35 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 08:45:35 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1253F40359; Fri, 11 May 2012 11:39:32 -0400 (EDT)
Date: Fri, 11 May 2012 11:39:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Christopher S. Aker" <caker@theshore.net>
Message-ID: <20120511153931.GA21486@phenom.dumpdata.com>
References: <4FA7EBF6.6040204@theshore.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7EBF6.6040204@theshore.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> Dom0: 3.2.6 PAE and 3.3.4 PAE
> 
> We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove
> loop deployed to a few dozen boxes will hit it quite reliably within
> a short time.  This happens on both an older LVM userspace and
> newest, and in production we have seen this hit on lvremove,
> lvrename, and lvdelete.
> 
> #!/bin/bash
> while true; do
>    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
> done

So I tried this with 3.4-rc6 and didn't see this.
The machine isn't that powerfull - just a  Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
so four CPUs are visible.

Let me try with 3.2.x shortly.
> 
> BUG: unable to handle kernel paging request at bffff628
> IP: [<c10ebc58>] __page_check_address+0xb8/0x170
> *pdpt = 0000000003cfb027 *pde = 0000000013873067 *pte = 0000000000000000
> Oops: 0000 [#1] SMP
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Not tainted 3.2.6-1 #1 Supermicro X8DT6/X8DT6
> EIP: 0061:[<c10ebc58>] EFLAGS: 00010246 CPU: 6
> EIP is at __page_check_address+0xb8/0x170
> EAX: bffff000 EBX: cbf76dd8 ECX: 00000000 EDX: 00000000
> ESI: bffff628 EDI: e49ed900 EBP: c80ffe60 ESP: c80ffe4c
>  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069
> Process lvremove (pid: 27902, ti=c80fe000 task=d29adca0 task.ti=c80fe000)
> Stack:
>  e4205000 00000fff da9b6bc0 d0068dc0 e49ed900 c80ffe94 c10ec769 c80ffe84
>  00000000 00000129 00000125 b76c5000 00000001 00000000 d0068c08 d0068dc0
>  b76c5000 e49ed900 c80fff24 c10ecb73 00000002 00000005 35448025 c80ffec4
> Call Trace:
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> Code: ff c1 ee 09 81 e6 f8 0f 00 00 81 e1 ff 0f 00 00 0f ac ca 0c c1
> e2 05 03 55 ec 89 d0 e8 12 d3 f4 ff 8b 4d 0c 85 c9 8d 34 30 75 0c
> <f7> 06 01 01 00 00 0f 84 84 00 00 00 8b 0d 00 0e 9b c1 89 4d f0
> EIP: [<c10ebc58>] __page_check_address+0xb8/0x170 SS:ESP 0069:c80ffe4c
> CR2: 00000000bffff628
> ---[ end trace 8039aeca9c19f5ab ]---
> note: lvremove[27902] exited with preempt_count 1
> BUG: scheduling while atomic: lvremove/27902/0x00000001
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Tainted: G      D      3.2.6-1 #1
> Call Trace:
>  [<c1040fcd>] __schedule_bug+0x5d/0x70
>  [<c1666fb9>] __schedule+0x679/0x830
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c10a05fc>] ? rcu_enter_nohz+0x3c/0x60
>  [<c13b2070>] ? xen_evtchn_do_upcall+0x20/0x30
>  [<c1001227>] ? hypercall_page+0x227/0x1000
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1667250>] schedule+0x30/0x50
>  [<c166890d>] rwsem_down_failed_common+0x9d/0xf0
>  [<c1668992>] rwsem_down_read_failed+0x12/0x14
>  [<c1346b63>] call_rwsem_down_read_failed+0x7/0xc
>  [<c166814d>] ? down_read+0xd/0x10
>  [<c1086f9a>] acct_collect+0x3a/0x170
>  [<c105028a>] do_exit+0x62a/0x7d0
>  [<c104cb37>] ? kmsg_dump+0x37/0xc0
>  [<c1669ac0>] oops_end+0x90/0xd0
>  [<c1032dbe>] no_context+0xbe/0x190
>  [<c1032f28>] __bad_area_nosemaphore+0x98/0x140
>  [<c1008089>] ? xen_clocksource_read+0x19/0x20
>  [<c10081f7>] ? xen_vcpuop_set_next_event+0x47/0x80
>  [<c1032fe2>] bad_area_nosemaphore+0x12/0x20
>  [<c166bc12>] do_page_fault+0x2d2/0x3f0
>  [<c106e389>] ? hrtimer_interrupt+0x1a9/0x2b0
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1008294>] ? check_events+0x8/0xc
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c1668a44>] ? _raw_spin_unlock_irqrestore+0x14/0x20
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c166932e>] error_code+0x5a/0x60
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c10ebc58>] ? __page_check_address+0xb8/0x170
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> 
> Thanks,
> -Chris
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:46:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSs2I-0005rz-9U; Fri, 11 May 2012 15:45:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSs2G-0005ru-EZ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 15:45:40 +0000
Received: from [85.158.138.51:44961] by server-3.bemta-3.messagelabs.com id
	54/02-04048-3243DAF4; Fri, 11 May 2012 15:45:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1336751137!26528527!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5939 invoked from network); 11 May 2012 15:45:38 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 15:45:38 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BFjajR013812
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 15:45:36 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BFjZjh005959
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 15:45:36 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BFjZ6j004365; Fri, 11 May 2012 10:45:35 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 08:45:35 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1253F40359; Fri, 11 May 2012 11:39:32 -0400 (EDT)
Date: Fri, 11 May 2012 11:39:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Christopher S. Aker" <caker@theshore.net>
Message-ID: <20120511153931.GA21486@phenom.dumpdata.com>
References: <4FA7EBF6.6040204@theshore.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7EBF6.6040204@theshore.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> Dom0: 3.2.6 PAE and 3.3.4 PAE
> 
> We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove
> loop deployed to a few dozen boxes will hit it quite reliably within
> a short time.  This happens on both an older LVM userspace and
> newest, and in production we have seen this hit on lvremove,
> lvrename, and lvdelete.
> 
> #!/bin/bash
> while true; do
>    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
> done

So I tried this with 3.4-rc6 and didn't see this.
The machine isn't that powerfull - just a  Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
so four CPUs are visible.

Let me try with 3.2.x shortly.
> 
> BUG: unable to handle kernel paging request at bffff628
> IP: [<c10ebc58>] __page_check_address+0xb8/0x170
> *pdpt = 0000000003cfb027 *pde = 0000000013873067 *pte = 0000000000000000
> Oops: 0000 [#1] SMP
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Not tainted 3.2.6-1 #1 Supermicro X8DT6/X8DT6
> EIP: 0061:[<c10ebc58>] EFLAGS: 00010246 CPU: 6
> EIP is at __page_check_address+0xb8/0x170
> EAX: bffff000 EBX: cbf76dd8 ECX: 00000000 EDX: 00000000
> ESI: bffff628 EDI: e49ed900 EBP: c80ffe60 ESP: c80ffe4c
>  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0069
> Process lvremove (pid: 27902, ti=c80fe000 task=d29adca0 task.ti=c80fe000)
> Stack:
>  e4205000 00000fff da9b6bc0 d0068dc0 e49ed900 c80ffe94 c10ec769 c80ffe84
>  00000000 00000129 00000125 b76c5000 00000001 00000000 d0068c08 d0068dc0
>  b76c5000 e49ed900 c80fff24 c10ecb73 00000002 00000005 35448025 c80ffec4
> Call Trace:
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> Code: ff c1 ee 09 81 e6 f8 0f 00 00 81 e1 ff 0f 00 00 0f ac ca 0c c1
> e2 05 03 55 ec 89 d0 e8 12 d3 f4 ff 8b 4d 0c 85 c9 8d 34 30 75 0c
> <f7> 06 01 01 00 00 0f 84 84 00 00 00 8b 0d 00 0e 9b c1 89 4d f0
> EIP: [<c10ebc58>] __page_check_address+0xb8/0x170 SS:ESP 0069:c80ffe4c
> CR2: 00000000bffff628
> ---[ end trace 8039aeca9c19f5ab ]---
> note: lvremove[27902] exited with preempt_count 1
> BUG: scheduling while atomic: lvremove/27902/0x00000001
> Modules linked in: ebt_comment ebt_arp ebt_set ebt_limit ebt_ip6
> ebt_ip ip_set_hash_net ip_set ebtable_nat xen_gntdev e1000e
> Pid: 27902, comm: lvremove Tainted: G      D      3.2.6-1 #1
> Call Trace:
>  [<c1040fcd>] __schedule_bug+0x5d/0x70
>  [<c1666fb9>] __schedule+0x679/0x830
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c10a05fc>] ? rcu_enter_nohz+0x3c/0x60
>  [<c13b2070>] ? xen_evtchn_do_upcall+0x20/0x30
>  [<c1001227>] ? hypercall_page+0x227/0x1000
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1667250>] schedule+0x30/0x50
>  [<c166890d>] rwsem_down_failed_common+0x9d/0xf0
>  [<c1668992>] rwsem_down_read_failed+0x12/0x14
>  [<c1346b63>] call_rwsem_down_read_failed+0x7/0xc
>  [<c166814d>] ? down_read+0xd/0x10
>  [<c1086f9a>] acct_collect+0x3a/0x170
>  [<c105028a>] do_exit+0x62a/0x7d0
>  [<c104cb37>] ? kmsg_dump+0x37/0xc0
>  [<c1669ac0>] oops_end+0x90/0xd0
>  [<c1032dbe>] no_context+0xbe/0x190
>  [<c1032f28>] __bad_area_nosemaphore+0x98/0x140
>  [<c1008089>] ? xen_clocksource_read+0x19/0x20
>  [<c10081f7>] ? xen_vcpuop_set_next_event+0x47/0x80
>  [<c1032fe2>] bad_area_nosemaphore+0x12/0x20
>  [<c166bc12>] do_page_fault+0x2d2/0x3f0
>  [<c106e389>] ? hrtimer_interrupt+0x1a9/0x2b0
>  [<c10079ea>] ? xen_force_evtchn_callback+0x1a/0x30
>  [<c1008294>] ? check_events+0x8/0xc
>  [<c100828b>] ? xen_restore_fl_direct_reloc+0x4/0x4
>  [<c1668a44>] ? _raw_spin_unlock_irqrestore+0x14/0x20
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c166932e>] error_code+0x5a/0x60
>  [<c166b940>] ? spurious_fault+0x130/0x130
>  [<c10ebc58>] ? __page_check_address+0xb8/0x170
>  [<c10ec769>] try_to_unmap_one+0x29/0x310
>  [<c10ecb73>] try_to_unmap_file+0x83/0x560
>  [<c1005829>] ? xen_pte_val+0xb9/0x140
>  [<c1004116>] ? __raw_callee_save_xen_pte_val+0x6/0x8
>  [<c10e1bf8>] ? vm_normal_page+0x28/0xc0
>  [<c1038e95>] ? kmap_atomic_prot+0x45/0x110
>  [<c10ed13c>] try_to_munlock+0x1c/0x40
>  [<c10e7109>] munlock_vma_page+0x49/0x90
>  [<c10e7247>] munlock_vma_pages_range+0x57/0xa0
>  [<c10e7352>] mlock_fixup+0xc2/0x130
>  [<c10e742c>] do_mlockall+0x6c/0x80
>  [<c10e7469>] sys_munlockall+0x29/0x50
>  [<c166f1d8>] sysenter_do_call+0x12/0x28
> 
> Thanks,
> -Chris
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:47:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:47:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSs40-0005vy-PN; Fri, 11 May 2012 15:47:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSs3y-0005vm-Ki
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:47:26 +0000
Received: from [193.109.254.147:17442] by server-11.bemta-14.messagelabs.com
	id BD/1A-05858-D843DAF4; Fri, 11 May 2012 15:47:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336751245!8887207!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28951 invoked from network); 11 May 2012 15:47:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:47:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433686"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:47:25 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 16:47:24 +0100
Message-ID: <1336751243.23818.106.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bei Guan <gbtju85@gmail.com>, Keir Fraser <keir@xen.org>
Date: Fri, 11 May 2012 16:47:23 +0100
In-Reply-To: <CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 16:12 +0100, Bei Guan wrote:
> 
> 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>
>         On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
>         > When I do the "make install-tools" with xen-4.2-unstable,
>         there are
>         > some errors about "warn_unused_result".
>         > Is it the error in code or the error in the compiling
>         environment?
>         > Thank you so much.
>         
>         
>         This commit
>                changeset:   25275:27d63b9f111a
>                user:        Keir Fraser <keir@xen.org>
>                date:        Thu May 10 11:22:18 2012 +0100
>                summary:     blktap2: Do not build with -O0
>         has caused more warnings to be generated by the compiler,
>         which in turn
>         leads to build failures. Since this is a compiler specific
>         thing we are
>         still tracking them all down.
>         
>         Can you confirm which versionof xen-unstable.hg you are using
>         -- there
>         have been several fixup patches since the above. If you are
>         completely
>         up to date and you still see errors we can dig into whatever
>         is left.
> 
> Thank you for your reply. I have used "hg pull; hg update" to update
> to the latest Xen and it is the version info:
> 
> root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
> changeset:   25287:54c8c9eaee92
> tag:         tip
> user:        Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> date:        Fri Apr 27 11:09:26 2012 +0200
> summary:     docs: add vpmu description to xen-command-line.markdown
> 
> But, it still has the same errors.

Thanks, looks like we still need to fix these errors then.

I'm not really happy with the following, but it's no worse than things
are today...

Bei, I don't see these build failures, does this work for you?

8<------------------------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336751175 -3600
# Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
# Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
blktap: avoid attribute warn_unused_result build failures.

I'm not proud of this, but since none of these callers of read/write have any
other error handling and return void themselves (for several links up the call
chain AFAICT) and because I don't really want to get into a massive reworking
of blktap2 I suppose it is at least pragmatic

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c
--- a/tools/blktap2/drivers/tapdisk-log.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk-log.c	Fri May 11 16:46:15 2012 +0100
@@ -247,7 +247,7 @@ tlog_flush(void)
 	wsize = ((size + 511) & (~511));
 
 	memset(tapdisk_log.buf + size, '\n', wsize - size);
-	write(fd, tapdisk_log.buf, wsize);
+	(void)write(fd, tapdisk_log.buf, wsize);
 
 	tapdisk_log.p = tapdisk_log.buf;
 
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue.c
--- a/tools/blktap2/drivers/tapdisk-queue.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk-queue.c	Fri May 11 16:46:15 2012 +0100
@@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
 	uint64_t val;
 
 	if (lio->flags & LIO_FLAG_EVENTFD)
-		read(lio->event_fd, &val, sizeof(val));
+		(void)read(lio->event_fd, &val, sizeof(val));
 }
 
 static void
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-stream.c
--- a/tools/blktap2/drivers/tapdisk-stream.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk-stream.c	Fri May 11 16:46:15 2012 +0100
@@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
 {
 	int dummy;
 
-	read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
+	(void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
 	p->set = 0;
 }
 
@@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
 	int dummy = 0;
 
 	if (!p->set) {
-		write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
+		(void)write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
 		p->set = 1;
 	}
 }
@@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
 {
 	unsigned long idx = (unsigned long)tapdisk_stream_request_idx(s, sreq);
 	char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart, idx, 0);
-	write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
+	(void)write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
 }
 
 static void
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c
--- a/tools/blktap2/drivers/tapdisk2.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk2.c	Fri May 11 16:46:15 2012 +0100
@@ -79,7 +79,12 @@ main(int argc, char *argv[])
 	if (optind != argc)
 		usage(argv[0], EINVAL);
 
-	chdir("/");
+	if (chdir("/")) {
+		DPRINTF("failed to chdir(/): %d\n", errno);
+		err = 1;
+		goto out;
+	}
+
 	tapdisk_start_logging("tapdisk2");
 
 	err = tapdisk_server_init();



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:47:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:47:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSs40-0005vy-PN; Fri, 11 May 2012 15:47:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSs3y-0005vm-Ki
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:47:26 +0000
Received: from [193.109.254.147:17442] by server-11.bemta-14.messagelabs.com
	id BD/1A-05858-D843DAF4; Fri, 11 May 2012 15:47:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336751245!8887207!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28951 invoked from network); 11 May 2012 15:47:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:47:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433686"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:47:25 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 16:47:24 +0100
Message-ID: <1336751243.23818.106.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bei Guan <gbtju85@gmail.com>, Keir Fraser <keir@xen.org>
Date: Fri, 11 May 2012 16:47:23 +0100
In-Reply-To: <CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 16:12 +0100, Bei Guan wrote:
> 
> 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>
>         On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
>         > When I do the "make install-tools" with xen-4.2-unstable,
>         there are
>         > some errors about "warn_unused_result".
>         > Is it the error in code or the error in the compiling
>         environment?
>         > Thank you so much.
>         
>         
>         This commit
>                changeset:   25275:27d63b9f111a
>                user:        Keir Fraser <keir@xen.org>
>                date:        Thu May 10 11:22:18 2012 +0100
>                summary:     blktap2: Do not build with -O0
>         has caused more warnings to be generated by the compiler,
>         which in turn
>         leads to build failures. Since this is a compiler specific
>         thing we are
>         still tracking them all down.
>         
>         Can you confirm which versionof xen-unstable.hg you are using
>         -- there
>         have been several fixup patches since the above. If you are
>         completely
>         up to date and you still see errors we can dig into whatever
>         is left.
> 
> Thank you for your reply. I have used "hg pull; hg update" to update
> to the latest Xen and it is the version info:
> 
> root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
> changeset:   25287:54c8c9eaee92
> tag:         tip
> user:        Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> date:        Fri Apr 27 11:09:26 2012 +0200
> summary:     docs: add vpmu description to xen-command-line.markdown
> 
> But, it still has the same errors.

Thanks, looks like we still need to fix these errors then.

I'm not really happy with the following, but it's no worse than things
are today...

Bei, I don't see these build failures, does this work for you?

8<------------------------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336751175 -3600
# Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
# Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
blktap: avoid attribute warn_unused_result build failures.

I'm not proud of this, but since none of these callers of read/write have any
other error handling and return void themselves (for several links up the call
chain AFAICT) and because I don't really want to get into a massive reworking
of blktap2 I suppose it is at least pragmatic

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c
--- a/tools/blktap2/drivers/tapdisk-log.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk-log.c	Fri May 11 16:46:15 2012 +0100
@@ -247,7 +247,7 @@ tlog_flush(void)
 	wsize = ((size + 511) & (~511));
 
 	memset(tapdisk_log.buf + size, '\n', wsize - size);
-	write(fd, tapdisk_log.buf, wsize);
+	(void)write(fd, tapdisk_log.buf, wsize);
 
 	tapdisk_log.p = tapdisk_log.buf;
 
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue.c
--- a/tools/blktap2/drivers/tapdisk-queue.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk-queue.c	Fri May 11 16:46:15 2012 +0100
@@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
 	uint64_t val;
 
 	if (lio->flags & LIO_FLAG_EVENTFD)
-		read(lio->event_fd, &val, sizeof(val));
+		(void)read(lio->event_fd, &val, sizeof(val));
 }
 
 static void
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-stream.c
--- a/tools/blktap2/drivers/tapdisk-stream.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk-stream.c	Fri May 11 16:46:15 2012 +0100
@@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
 {
 	int dummy;
 
-	read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
+	(void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
 	p->set = 0;
 }
 
@@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
 	int dummy = 0;
 
 	if (!p->set) {
-		write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
+		(void)write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
 		p->set = 1;
 	}
 }
@@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
 {
 	unsigned long idx = (unsigned long)tapdisk_stream_request_idx(s, sreq);
 	char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart, idx, 0);
-	write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
+	(void)write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
 }
 
 static void
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c
--- a/tools/blktap2/drivers/tapdisk2.c	Fri May 11 16:19:16 2012 +0100
+++ b/tools/blktap2/drivers/tapdisk2.c	Fri May 11 16:46:15 2012 +0100
@@ -79,7 +79,12 @@ main(int argc, char *argv[])
 	if (optind != argc)
 		usage(argv[0], EINVAL);
 
-	chdir("/");
+	if (chdir("/")) {
+		DPRINTF("failed to chdir(/): %d\n", errno);
+		err = 1;
+		goto out;
+	}
+
 	tapdisk_start_logging("tapdisk2");
 
 	err = tapdisk_server_init();



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:52:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:52:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSs8I-000683-Fx; Fri, 11 May 2012 15:51:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSs8G-00067x-Um
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:51:53 +0000
Received: from [85.158.143.99:42981] by server-1.bemta-4.messagelabs.com id
	A8/8D-20925-8953DAF4; Fri, 11 May 2012 15:51:52 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336751510!26685545!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDk3NzE=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDk3NzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11987 invoked from network); 11 May 2012 15:51:50 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 15:51:50 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (joses mo32) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id V00da9o4BFNpBG ;
	Fri, 11 May 2012 17:51:49 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 8AE9618637; Fri, 11 May 2012 17:51:48 +0200 (CEST)
Date: Fri, 11 May 2012 17:51:48 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Keir Fraser <keir@xen.org>
Message-ID: <20120511155148.GA21206@aepfle.de>
References: <CBCD8594.3FCE5%keir@xen.org>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, Keir Fraser wrote:

> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)

Keir,

the changes to unmodified_drivers//linux-2.6/ should be backported to
the 4.1 branch:

changeset:   25069:46bf3ab42baf
changeset:   25067:05768bd498f2

optional:
changeset:   24045:4ed766d70396
changeset:   25068:e4460795ee66

Also the asm/system.h patch I sent out today is a candidate.


Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:52:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:52:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSs8I-000683-Fx; Fri, 11 May 2012 15:51:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSs8G-00067x-Um
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:51:53 +0000
Received: from [85.158.143.99:42981] by server-1.bemta-4.messagelabs.com id
	A8/8D-20925-8953DAF4; Fri, 11 May 2012 15:51:52 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336751510!26685545!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDk3NzE=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMDk3NzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11987 invoked from network); 11 May 2012 15:51:50 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 15:51:50 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (joses mo32) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id V00da9o4BFNpBG ;
	Fri, 11 May 2012 17:51:49 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 8AE9618637; Fri, 11 May 2012 17:51:48 +0200 (CEST)
Date: Fri, 11 May 2012 17:51:48 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Keir Fraser <keir@xen.org>
Message-ID: <20120511155148.GA21206@aepfle.de>
References: <CBCD8594.3FCE5%keir@xen.org>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CBCD8594.3FCE5%keir@xen.org>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 07, Keir Fraser wrote:

> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)

Keir,

the changes to unmodified_drivers//linux-2.6/ should be backported to
the 4.1 branch:

changeset:   25069:46bf3ab42baf
changeset:   25067:05768bd498f2

optional:
changeset:   24045:4ed766d70396
changeset:   25068:e4460795ee66

Also the asm/system.h patch I sent out today is a candidate.


Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:58:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsEO-0006IE-9T; Fri, 11 May 2012 15:58:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSsEM-0006I6-CP
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:58:10 +0000
Received: from [85.158.138.51:42142] by server-10.bemta-3.messagelabs.com id
	A2/F4-29478-1173DAF4; Fri, 11 May 2012 15:58:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336751888!22589239!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18101 invoked from network); 11 May 2012 15:58:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:58:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433858"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:58:08 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 16:58:07 +0100
Date: Fri, 11 May 2012 16:57:52 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FABD9C00200007800082BC5@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205111657050.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<4FABD9C00200007800082BC5@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 0/8] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jan Beulich wrote:
> >>> On 04.05.12 at 13:12, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> > Hi all,
> > this patch implements local_attach support for QDISK: that means that
> > you can use qcow2 as disk format for your PV guests disks and use
> > pygrub to retrieve the kernel and initrd in dom0.
> > 
> > The idea is that we start a QEMU instance at boot time to listen to
> > local_attach requests. When libxl_device_disk_local_attach is called on
> > a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
> > so that blkfront in dom0 will create a new xvd device for it.
> > Then pygrub can be pointed at this device to retrieve kernel and
> > initrd.
> 
> So I pulled this into my local tree to be able to debug problems in
> our gntdev driver in a reasonably isolated way (i.e. not needing
> to fire up guests). While block-attach works fine, block-detach
> doesn't at all. This may be related to me using the deprecated
> file:/ form of specifying the source during attach, as all of the
> supposedly modern forms I tried weren't accepted by the parser.

Block-detach needs another small patch to libxl in order to work.
I'll add it as part of the next local_attach patch series.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:58:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsEO-0006IE-9T; Fri, 11 May 2012 15:58:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSsEM-0006I6-CP
	for xen-devel@lists.xen.org; Fri, 11 May 2012 15:58:10 +0000
Received: from [85.158.138.51:42142] by server-10.bemta-3.messagelabs.com id
	A2/F4-29478-1173DAF4; Fri, 11 May 2012 15:58:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336751888!22589239!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18101 invoked from network); 11 May 2012 15:58:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:58:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433858"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:58:08 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 16:58:07 +0100
Date: Fri, 11 May 2012 16:57:52 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FABD9C00200007800082BC5@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205111657050.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<4FABD9C00200007800082BC5@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 0/8] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jan Beulich wrote:
> >>> On 04.05.12 at 13:12, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> > Hi all,
> > this patch implements local_attach support for QDISK: that means that
> > you can use qcow2 as disk format for your PV guests disks and use
> > pygrub to retrieve the kernel and initrd in dom0.
> > 
> > The idea is that we start a QEMU instance at boot time to listen to
> > local_attach requests. When libxl_device_disk_local_attach is called on
> > a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
> > so that blkfront in dom0 will create a new xvd device for it.
> > Then pygrub can be pointed at this device to retrieve kernel and
> > initrd.
> 
> So I pulled this into my local tree to be able to debug problems in
> our gntdev driver in a reasonably isolated way (i.e. not needing
> to fire up guests). While block-attach works fine, block-detach
> doesn't at all. This may be related to me using the deprecated
> file:/ form of specifying the source during attach, as all of the
> supposedly modern forms I tried weren't accepted by the parser.

Block-detach needs another small patch to libxl in order to work.
I'll add it as part of the next local_attach patch series.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:59:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:59:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsFT-0006LH-OM; Fri, 11 May 2012 15:59:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSsFR-0006L7-S4
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 15:59:17 +0000
Received: from [85.158.143.35:48845] by server-2.bemta-4.messagelabs.com id
	8D/ED-17550-5573DAF4; Fri, 11 May 2012 15:59:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336751955!10561436!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8164 invoked from network); 11 May 2012 15:59:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:59:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433867"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:59:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 16:59:15 +0100
Message-ID: <1336751953.23818.118.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Fri, 11 May 2012 16:59:13 +0100
In-Reply-To: <f81fa4014d8c66bd1a80.1336746929@probook.site>
References: <f81fa4014d8c66bd1a80.1336746929@probook.site>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
 asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 15:35 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336743357 -7200
> # Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
> # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
> unmodified_drivers: remove inclusion of asm/system.h
> 
> Allow compilation of PVonHVM drivers with forward-ported xenlinux
> sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
> anymore. Remove inclusion of this header, its not needed.

It is not needed for 3.4 or it is not needed for any historical Linux
version which these drivers are supposed to be built against? What
kernels have you build tested?

Ian.

> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> 
> diff -r 0f53540494f7 -r f81fa4014d8c unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
> --- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
> +++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
> @@ -30,7 +30,6 @@
>  #include <linux/interrupt.h>
>  #include <linux/vmalloc.h>
>  #include <linux/mm.h>
> -#include <asm/system.h>
>  #include <asm/io.h>
>  #include <asm/irq.h>
>  #include <asm/uaccess.h>
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 15:59:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 15:59:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsFT-0006LH-OM; Fri, 11 May 2012 15:59:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSsFR-0006L7-S4
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 15:59:17 +0000
Received: from [85.158.143.35:48845] by server-2.bemta-4.messagelabs.com id
	8D/ED-17550-5573DAF4; Fri, 11 May 2012 15:59:17 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336751955!10561436!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8164 invoked from network); 11 May 2012 15:59:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 15:59:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433867"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 15:59:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 16:59:15 +0100
Message-ID: <1336751953.23818.118.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Date: Fri, 11 May 2012 16:59:13 +0100
In-Reply-To: <f81fa4014d8c66bd1a80.1336746929@probook.site>
References: <f81fa4014d8c66bd1a80.1336746929@probook.site>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
 asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 15:35 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1336743357 -7200
> # Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
> # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
> unmodified_drivers: remove inclusion of asm/system.h
> 
> Allow compilation of PVonHVM drivers with forward-ported xenlinux
> sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
> anymore. Remove inclusion of this header, its not needed.

It is not needed for 3.4 or it is not needed for any historical Linux
version which these drivers are supposed to be built against? What
kernels have you build tested?

Ian.

> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> 
> diff -r 0f53540494f7 -r f81fa4014d8c unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
> --- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
> +++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
> @@ -30,7 +30,6 @@
>  #include <linux/interrupt.h>
>  #include <linux/vmalloc.h>
>  #include <linux/mm.h>
> -#include <asm/system.h>
>  #include <asm/io.h>
>  #include <asm/irq.h>
>  #include <asm/uaccess.h>
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:02:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:02:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsIB-0006wx-Ej; Fri, 11 May 2012 16:02:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSsIA-0006wp-KQ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:02:06 +0000
Received: from [193.109.254.147:49546] by server-11.bemta-14.messagelabs.com
	id D1/5B-05858-DF73DAF4; Fri, 11 May 2012 16:02:05 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336752125!1956663!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11901 invoked from network); 11 May 2012 16:02:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:02:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433922"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:02:05 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:02:04 +0100
Date: Fri, 11 May 2012 17:01:49 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
References: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] qemu/xendisk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jan Beulich wrote:
> While for the "normal" case (called from blk_send_response_all())
> decrementing requests_finished is correct, doing so in the parse error
> case is wrong; requests_inflight needs to be decremented instead.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
>      blkdev->requests_finished++;
>  }
>  
> -static void ioreq_release(struct ioreq *ioreq)
> +static void ioreq_release(struct ioreq *ioreq, bool finish)
>  {
>      struct XenBlkDev *blkdev = ioreq->blkdev;
>  
> @@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
>      memset(ioreq, 0, sizeof(*ioreq));
>      ioreq->blkdev = blkdev;
>      QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
> -    blkdev->requests_finished--;
> +    if (finish)
> +        blkdev->requests_finished--;
> +    else
> +        blkdev->requests_inflight--;
>  }
>  
>  /*
> @@ -449,7 +452,7 @@ static void blk_send_response_all(struct
>      while (!QLIST_EMPTY(&blkdev->finished)) {
>          ioreq = QLIST_FIRST(&blkdev->finished);
>          send_notify += blk_send_response_one(ioreq);
> -        ioreq_release(ioreq);
> +        ioreq_release(ioreq, true);
>      }
>      if (send_notify) {
>          xen_be_send_notify(&blkdev->xendev);
> @@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
>              if (blk_send_response_one(ioreq)) {
>                  xen_be_send_notify(&blkdev->xendev);
>              }
> -            ioreq_release(ioreq);
> +            ioreq_release(ioreq, false);
>              continue;
>          }

In case of an error returned by ioreq_parse requests_finished should
also be decremented.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:02:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:02:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsIB-0006wx-Ej; Fri, 11 May 2012 16:02:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSsIA-0006wp-KQ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:02:06 +0000
Received: from [193.109.254.147:49546] by server-11.bemta-14.messagelabs.com
	id D1/5B-05858-DF73DAF4; Fri, 11 May 2012 16:02:05 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336752125!1956663!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11901 invoked from network); 11 May 2012 16:02:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:02:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433922"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:02:05 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:02:04 +0100
Date: Fri, 11 May 2012 17:01:49 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
References: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] qemu/xendisk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jan Beulich wrote:
> While for the "normal" case (called from blk_send_response_all())
> decrementing requests_finished is correct, doing so in the parse error
> case is wrong; requests_inflight needs to be decremented instead.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
>      blkdev->requests_finished++;
>  }
>  
> -static void ioreq_release(struct ioreq *ioreq)
> +static void ioreq_release(struct ioreq *ioreq, bool finish)
>  {
>      struct XenBlkDev *blkdev = ioreq->blkdev;
>  
> @@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
>      memset(ioreq, 0, sizeof(*ioreq));
>      ioreq->blkdev = blkdev;
>      QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
> -    blkdev->requests_finished--;
> +    if (finish)
> +        blkdev->requests_finished--;
> +    else
> +        blkdev->requests_inflight--;
>  }
>  
>  /*
> @@ -449,7 +452,7 @@ static void blk_send_response_all(struct
>      while (!QLIST_EMPTY(&blkdev->finished)) {
>          ioreq = QLIST_FIRST(&blkdev->finished);
>          send_notify += blk_send_response_one(ioreq);
> -        ioreq_release(ioreq);
> +        ioreq_release(ioreq, true);
>      }
>      if (send_notify) {
>          xen_be_send_notify(&blkdev->xendev);
> @@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
>              if (blk_send_response_one(ioreq)) {
>                  xen_be_send_notify(&blkdev->xendev);
>              }
> -            ioreq_release(ioreq);
> +            ioreq_release(ioreq, false);
>              continue;
>          }

In case of an error returned by ioreq_parse requests_finished should
also be decremented.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:04:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsKB-00075A-Vx; Fri, 11 May 2012 16:04:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsKA-00074t-AQ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:04:10 +0000
Received: from [85.158.143.35:10477] by server-2.bemta-4.messagelabs.com id
	6C/83-17550-9783DAF4; Fri, 11 May 2012 16:04:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336752248!14130519!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26494 invoked from network); 11 May 2012 16:04:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:04:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433953"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:04:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:04:06 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsK6-0007fw-Ok; Fri, 11 May 2012 16:04:06 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsK6-00021B-My;
	Fri, 11 May 2012 17:04:06 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.14454.676453.9389@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:04:06 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335352142-43858-1-git-send-email-roger.pau@citrix.com>
References: <1335352142-43858-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v3] libxl: prevent xl from running if xend
	is	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v3] libxl: prevent xl from running if xend is running."):
> Prevent xl from doing any operation if xend daemon is running. That
> prevents bugs that happened when xl and xend raced to close a domain.

Thanks,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

I tried to apply this but I'm afraid it needs a refresh.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:04:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsKB-00075A-Vx; Fri, 11 May 2012 16:04:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsKA-00074t-AQ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:04:10 +0000
Received: from [85.158.143.35:10477] by server-2.bemta-4.messagelabs.com id
	6C/83-17550-9783DAF4; Fri, 11 May 2012 16:04:09 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336752248!14130519!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26494 invoked from network); 11 May 2012 16:04:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:04:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12433953"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:04:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:04:06 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsK6-0007fw-Ok; Fri, 11 May 2012 16:04:06 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsK6-00021B-My;
	Fri, 11 May 2012 17:04:06 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.14454.676453.9389@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:04:06 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335352142-43858-1-git-send-email-roger.pau@citrix.com>
References: <1335352142-43858-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v3] libxl: prevent xl from running if xend
	is	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v3] libxl: prevent xl from running if xend is running."):
> Prevent xl from doing any operation if xend daemon is running. That
> prevents bugs that happened when xl and xend raced to close a domain.

Thanks,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

I tried to apply this but I'm afraid it needs a refresh.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:07:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsMu-0007Ev-V7; Fri, 11 May 2012 16:07:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSsMs-0007Eb-RQ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:06:59 +0000
Received: from [85.158.138.51:11506] by server-10.bemta-3.messagelabs.com id
	DE/4A-29478-1293DAF4; Fri, 11 May 2012 16:06:57 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336752416!7941043!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17923 invoked from network); 11 May 2012 16:06:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:06:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434002"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:06:56 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:06:56 +0100
Date: Fri, 11 May 2012 17:06:41 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205111703571.26786@kaball-desktop>
References: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jean Guyader wrote:
> After a host sleep MSI will be off on the host but qemu still thinks
> it's on because of some state that have been set previously.
> 
> If qemu thinks that the device has been configure already
> and the host MSI are disabled tell Xen to reconfigure the MSI.
> 
> Signed-off-by: Jean Guyader <jean.guyader@gmail.com>
> 
> diff --git a/hw/pass-through.c b/hw/pass-through.c
> index f832c5a..a6a9b7a 100644
> --- a/hw/pass-through.c
> +++ b/hw/pass-through.c
> @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev *ptdev,
>      return 0;
>  }
>  
> +static int msi_is_enable(struct pt_dev *dev)
> +{
> +    uint16_t val = 0;
> +    uint32_t address = 0;
> +    if (!dev->msi)
> +        return 0;
> +
> +    address = dev->msi->ctrl_offset;
> +    if (!address)
> +        return 0;
> +
> +    val = pci_read_word(dev->pci_dev, address);
> +    return val & PCI_MSI_FLAGS_ENABLE;
> +}
> +
>  /* write Message Control register */
>  static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>      struct pt_reg_tbl *cfg_entry,
> @@ -3803,8 +3818,7 @@ static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>      /* update MSI */
>      if (val & PCI_MSI_FLAGS_ENABLE)
>      {
> -        /* setup MSI pirq for the first time */
> -        if (ptdev->msi->flags & MSI_FLAG_UNINIT)
> +        if (!msi_is_enable(ptdev))
>          {
>              if (ptdev->msi_trans_en) {
>                  PT_LOG("guest enabling MSI, disable MSI-INTx translation\n");
> diff --git a/hw/pt-msi.c b/hw/pt-msi.c
> index 70c4023..99f9afd 100644
> --- a/hw/pt-msi.c
> +++ b/hw/pt-msi.c
> @@ -67,12 +67,6 @@ int pt_msi_setup(struct pt_dev *dev)
>      int pirq = -1;
>      uint8_t gvec = 0;
>  
> -    if ( !(dev->msi->flags & MSI_FLAG_UNINIT) )
> -    {
> -        PT_LOG("Error: setup physical after initialized?? \n");
> -        return -1;
> -    }
> -
>      gvec = dev->msi->data & 0xFF;
>      if (!gvec) {
>          /* if gvec is 0, the guest is asking for a particular pirq that

The patch makes sense.
Only one last comment, sorry for not having noticed this before, but
there might be another (flags & MSI_FLAG_UNINIT) check that should
probably be changed into msi_is_enable in pt_msi_disable.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:07:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsMu-0007Ev-V7; Fri, 11 May 2012 16:07:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SSsMs-0007Eb-RQ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:06:59 +0000
Received: from [85.158.138.51:11506] by server-10.bemta-3.messagelabs.com id
	DE/4A-29478-1293DAF4; Fri, 11 May 2012 16:06:57 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336752416!7941043!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17923 invoked from network); 11 May 2012 16:06:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:06:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434002"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:06:56 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:06:56 +0100
Date: Fri, 11 May 2012 17:06:41 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205111703571.26786@kaball-desktop>
References: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 10 May 2012, Jean Guyader wrote:
> After a host sleep MSI will be off on the host but qemu still thinks
> it's on because of some state that have been set previously.
> 
> If qemu thinks that the device has been configure already
> and the host MSI are disabled tell Xen to reconfigure the MSI.
> 
> Signed-off-by: Jean Guyader <jean.guyader@gmail.com>
> 
> diff --git a/hw/pass-through.c b/hw/pass-through.c
> index f832c5a..a6a9b7a 100644
> --- a/hw/pass-through.c
> +++ b/hw/pass-through.c
> @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev *ptdev,
>      return 0;
>  }
>  
> +static int msi_is_enable(struct pt_dev *dev)
> +{
> +    uint16_t val = 0;
> +    uint32_t address = 0;
> +    if (!dev->msi)
> +        return 0;
> +
> +    address = dev->msi->ctrl_offset;
> +    if (!address)
> +        return 0;
> +
> +    val = pci_read_word(dev->pci_dev, address);
> +    return val & PCI_MSI_FLAGS_ENABLE;
> +}
> +
>  /* write Message Control register */
>  static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>      struct pt_reg_tbl *cfg_entry,
> @@ -3803,8 +3818,7 @@ static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
>      /* update MSI */
>      if (val & PCI_MSI_FLAGS_ENABLE)
>      {
> -        /* setup MSI pirq for the first time */
> -        if (ptdev->msi->flags & MSI_FLAG_UNINIT)
> +        if (!msi_is_enable(ptdev))
>          {
>              if (ptdev->msi_trans_en) {
>                  PT_LOG("guest enabling MSI, disable MSI-INTx translation\n");
> diff --git a/hw/pt-msi.c b/hw/pt-msi.c
> index 70c4023..99f9afd 100644
> --- a/hw/pt-msi.c
> +++ b/hw/pt-msi.c
> @@ -67,12 +67,6 @@ int pt_msi_setup(struct pt_dev *dev)
>      int pirq = -1;
>      uint8_t gvec = 0;
>  
> -    if ( !(dev->msi->flags & MSI_FLAG_UNINIT) )
> -    {
> -        PT_LOG("Error: setup physical after initialized?? \n");
> -        return -1;
> -    }
> -
>      gvec = dev->msi->data & 0xFF;
>      if (!gvec) {
>          /* if gvec is 0, the guest is asking for a particular pirq that

The patch makes sense.
Only one last comment, sorry for not having noticed this before, but
there might be another (flags & MSI_FLAG_UNINIT) check that should
probably be changed into msi_is_enable in pt_msi_disable.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:07:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsMu-0007En-JJ; Fri, 11 May 2012 16:07:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsMs-0007Ec-L6
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:06:58 +0000
Received: from [85.158.138.51:11526] by server-12.bemta-3.messagelabs.com id
	DD/00-29760-1293DAF4; Fri, 11 May 2012 16:06:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336752416!7941043!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17943 invoked from network); 11 May 2012 16:06:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:06:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434003"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:06:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:06:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsMq-0007gr-3H; Fri, 11 May 2012 16:06:56 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsMq-00021X-2O;
	Fri, 11 May 2012 17:06:56 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.14624.57140.518016@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:06:56 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335445762.28015.141.camel@zakaz.uk.xensource.com>
References: <1334928211-29856-1-git-send-email-roger.pau@citrix.com>
	<1334928211-29856-4-git-send-email-roger.pau@citrix.com>
	<20373.34767.584624.953798@mariner.uk.xensource.com>
	<4F982F18.2080902@citrix.com> <4F99360E.2010201@citrix.com>
	<20377.18296.235567.918003@mariner.uk.xensource.com>
	<1335445762.28015.141.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts
 from libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts from libxl for vbd"):
> On Thu, 2012-04-26 at 14:02 +0100, Ian Jackson wrote:
> > I think we need to think about these timeouts.  At the very least
> > they're policy which should probably not be hardcoded in libxl; and
> > arguably people might want to be able to specify infinite ("I trust my
> > guest or driver domain and never want to pull the rug out from under
> > its feet") or zero ("this guest or driver domain has gone wrong and I
> > want it killed, now").
> 
> Unless the same is going to be true of the eventual solution (which I
> suppose it may well be?) we should be wary of over engineering the
> interim solution for 4.2.

I guess.  Also xend's poor behaviour in this area (failing hotplug
timeouts) provides something of an excuse...

> > Perhaps it would be better to do things the other way around, and have
> > an env var for the case where we're _not_ calling the script from
> > udev ?  After all, udev config is configuration (at least on my
> > distros) which the user may not update when the software is updated.
> 
> It was my suggestion to do it this way so that we don't end up with a
> vestigial env var which must always be set for no real reason after
> we've removed the udev path altogether.

When we have "removed the udev path altogether" we will still need to
have something to prevent trouble if the udev rules remain for some
reason.

> I don't really mind though, we could live with that vestigial thing, or
> have another, easier, transition a few releases down the line.

The vestigial thing can indeed eventually go away.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:07:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsMu-0007En-JJ; Fri, 11 May 2012 16:07:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsMs-0007Ec-L6
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:06:58 +0000
Received: from [85.158.138.51:11526] by server-12.bemta-3.messagelabs.com id
	DD/00-29760-1293DAF4; Fri, 11 May 2012 16:06:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336752416!7941043!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17943 invoked from network); 11 May 2012 16:06:57 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:06:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434003"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:06:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:06:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsMq-0007gr-3H; Fri, 11 May 2012 16:06:56 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsMq-00021X-2O;
	Fri, 11 May 2012 17:06:56 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.14624.57140.518016@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:06:56 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335445762.28015.141.camel@zakaz.uk.xensource.com>
References: <1334928211-29856-1-git-send-email-roger.pau@citrix.com>
	<1334928211-29856-4-git-send-email-roger.pau@citrix.com>
	<20373.34767.584624.953798@mariner.uk.xensource.com>
	<4F982F18.2080902@citrix.com> <4F99360E.2010201@citrix.com>
	<20377.18296.235567.918003@mariner.uk.xensource.com>
	<1335445762.28015.141.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts
 from libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts from libxl for vbd"):
> On Thu, 2012-04-26 at 14:02 +0100, Ian Jackson wrote:
> > I think we need to think about these timeouts.  At the very least
> > they're policy which should probably not be hardcoded in libxl; and
> > arguably people might want to be able to specify infinite ("I trust my
> > guest or driver domain and never want to pull the rug out from under
> > its feet") or zero ("this guest or driver domain has gone wrong and I
> > want it killed, now").
> 
> Unless the same is going to be true of the eventual solution (which I
> suppose it may well be?) we should be wary of over engineering the
> interim solution for 4.2.

I guess.  Also xend's poor behaviour in this area (failing hotplug
timeouts) provides something of an excuse...

> > Perhaps it would be better to do things the other way around, and have
> > an env var for the case where we're _not_ calling the script from
> > udev ?  After all, udev config is configuration (at least on my
> > distros) which the user may not update when the software is updated.
> 
> It was my suggestion to do it this way so that we don't end up with a
> vestigial env var which must always be set for no real reason after
> we've removed the udev path altogether.

When we have "removed the udev path altogether" we will still need to
have something to prevent trouble if the udev rules remain for some
reason.

> I don't really mind though, we could live with that vestigial thing, or
> have another, easier, transition a few releases down the line.

The vestigial thing can indeed eventually go away.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:10:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:10:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsQG-0007YM-JY; Fri, 11 May 2012 16:10:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSsQE-0007YC-VR
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:10:27 +0000
Received: from [85.158.143.99:22398] by server-2.bemta-4.messagelabs.com id
	20/7A-17550-2F93DAF4; Fri, 11 May 2012 16:10:26 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336752624!17955902!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30770 invoked from network); 11 May 2012 16:10:24 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:10:24 -0000
Received: by lbok6 with SMTP id k6so2510233lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:10:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=AzJDr2xc8hITwOC9xBz9uBGowdLPdJBfiPPk6A8Bwr8=;
	b=VRcGAo4j0W31AMWa3Pt4qUgu2HZg7kBmYBC9z7DLzIo1KBKhKksmVmOuUmFYxdKq2d
	nqgf7qaFJtlQuUgrOyPes90FykT48J9/2/IsHyV4JId5VPjlTFLeSddZkxOV2flkK6wx
	+FNPBfjlPwjiCJ7laLCHZtAIEemCbzr2orAipU3abTuhPo36z3Kw4jDmqWvSHq62n3AC
	vfgTZkQxGKkA2z79U8hYWtPga68cvUeFjY3SK4JGcbOv2fGfe1Ol3M/sfXS4DXt217mB
	PQgyFa6cAxDWE09gXp0SRg9XCHZ+lJPlSjGgO3WSULxQz9vdcsFJ+b5CxnxHZ9JGBepy
	WKvg==
MIME-Version: 1.0
Received: by 10.152.123.244 with SMTP id md20mr748306lab.0.1336752623774; Fri,
	11 May 2012 09:10:23 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:10:23 -0700 (PDT)
In-Reply-To: <1336751243.23818.106.camel@zakaz.uk.xensource.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
	<1336751243.23818.106.camel@zakaz.uk.xensource.com>
Date: Sat, 12 May 2012 00:10:23 +0800
Message-ID: <CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4245889692456929609=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4245889692456929609==
Content-Type: multipart/alternative; boundary=f46d042f9cd84aedb404bfc4f923

--f46d042f9cd84aedb404bfc4f923
Content-Type: text/plain; charset=ISO-8859-1

2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>

> On Fri, 2012-05-11 at 16:12 +0100, Bei Guan wrote:
> >
> > 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>
> >         On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
> >         > When I do the "make install-tools" with xen-4.2-unstable,
> >         there are
> >         > some errors about "warn_unused_result".
> >         > Is it the error in code or the error in the compiling
> >         environment?
> >         > Thank you so much.
> >
> >
> >         This commit
> >                changeset:   25275:27d63b9f111a
> >                user:        Keir Fraser <keir@xen.org>
> >                date:        Thu May 10 11:22:18 2012 +0100
> >                summary:     blktap2: Do not build with -O0
> >         has caused more warnings to be generated by the compiler,
> >         which in turn
> >         leads to build failures. Since this is a compiler specific
> >         thing we are
> >         still tracking them all down.
> >
> >         Can you confirm which versionof xen-unstable.hg you are using
> >         -- there
> >         have been several fixup patches since the above. If you are
> >         completely
> >         up to date and you still see errors we can dig into whatever
> >         is left.
> >
> > Thank you for your reply. I have used "hg pull; hg update" to update
> > to the latest Xen and it is the version info:
> >
> > root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
> > changeset:   25287:54c8c9eaee92
> > tag:         tip
> > user:        Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> > date:        Fri Apr 27 11:09:26 2012 +0200
> > summary:     docs: add vpmu description to xen-command-line.markdown
> >
> > But, it still has the same errors.
>
> Thanks, looks like we still need to fix these errors then.
>
> I'm not really happy with the following, but it's no worse than things
> are today...
>
> Bei, I don't see these build failures, does this work for you?
>

No, it doesn't work for me. There is the same error.
My environment and gcc version are like this:

root@gavin-desktop:~# uname -a
Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC 2011
x86_64 GNU/Linux

root@gavin-desktop:~# gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4
--enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin
--enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)




Thanks,
Bei Guan





>
> 8<------------------------------------------------------
>
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1336751175 -3600
> # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> blktap: avoid attribute warn_unused_result build failures.
>
> I'm not proud of this, but since none of these callers of read/write have
> any
> other error handling and return void themselves (for several links up the
> call
> chain AFAICT) and because I don't really want to get into a massive
> reworking
> of blktap2 I suppose it is at least pragmatic
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c
> --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11 16:19:16 2012
> +0100
> +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11 16:46:15 2012
> +0100
> @@ -247,7 +247,7 @@ tlog_flush(void)
>        wsize = ((size + 511) & (~511));
>
>        memset(tapdisk_log.buf + size, '\n', wsize - size);
> -       write(fd, tapdisk_log.buf, wsize);
> +       (void)write(fd, tapdisk_log.buf, wsize);
>
>        tapdisk_log.p = tapdisk_log.buf;
>
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue.c
> --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11 16:19:16 2012
> +0100
> +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11 16:46:15 2012
> +0100
> @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>        uint64_t val;
>
>        if (lio->flags & LIO_FLAG_EVENTFD)
> -               read(lio->event_fd, &val, sizeof(val));
> +               (void)read(lio->event_fd, &val, sizeof(val));
>  }
>
>  static void
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-stream.c
> --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11 16:19:16 2012
> +0100
> +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11 16:46:15 2012
> +0100
> @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>  {
>        int dummy;
>
> -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>        p->set = 0;
>  }
>
> @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>        int dummy = 0;
>
>        if (!p->set) {
> -               write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
> +               (void)write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
>                p->set = 1;
>        }
>  }
> @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>  {
>        unsigned long idx = (unsigned long)tapdisk_stream_request_idx(s,
> sreq);
>        char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart, idx, 0);
> -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> +       (void)write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>  }
>
>  static void
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c
> --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16 2012 +0100
> +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15 2012 +0100
> @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>        if (optind != argc)
>                usage(argv[0], EINVAL);
>
> -       chdir("/");
> +       if (chdir("/")) {
> +               DPRINTF("failed to chdir(/): %d\n", errno);
> +               err = 1;
> +               goto out;
> +       }
> +
>        tapdisk_start_logging("tapdisk2");
>
>        err = tapdisk_server_init();
>
>
>


-- 
Best Regards,
Bei Guan

--f46d042f9cd84aedb404bfc4f923
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/11 Ian Campbell <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campb=
ell@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D=
"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">
<div class=3D"HOEnZb"><div class=3D"h5">On Fri, 2012-05-11 at 16:12 +0100, =
Bei Guan wrote:<br>
&gt;<br>
&gt; 2012/5/11 Ian Campbell &lt;<a href=3D"mailto:Ian.Campbell@citrix.com">=
Ian.Campbell@citrix.com</a>&gt;<br>
&gt; =A0 =A0 =A0 =A0 On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:<br>
&gt; =A0 =A0 =A0 =A0 &gt; When I do the &quot;make install-tools&quot; with=
 xen-4.2-unstable,<br>
&gt; =A0 =A0 =A0 =A0 there are<br>
&gt; =A0 =A0 =A0 =A0 &gt; some errors about &quot;warn_unused_result&quot;.=
<br>
&gt; =A0 =A0 =A0 =A0 &gt; Is it the error in code or the error in the compi=
ling<br>
&gt; =A0 =A0 =A0 =A0 environment?<br>
&gt; =A0 =A0 =A0 =A0 &gt; Thank you so much.<br>
&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 This commit<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0changeset: =A0 25275:27d63b9f111a<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0user: =A0 =A0 =A0 =A0Keir Fraser &lt;<a=
 href=3D"mailto:keir@xen.org">keir@xen.org</a>&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0date: =A0 =A0 =A0 =A0Thu May 10 11:22:1=
8 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0summary: =A0 =A0 blktap2: Do not build =
with -O0<br>
&gt; =A0 =A0 =A0 =A0 has caused more warnings to be generated by the compil=
er,<br>
&gt; =A0 =A0 =A0 =A0 which in turn<br>
&gt; =A0 =A0 =A0 =A0 leads to build failures. Since this is a compiler spec=
ific<br>
&gt; =A0 =A0 =A0 =A0 thing we are<br>
&gt; =A0 =A0 =A0 =A0 still tracking them all down.<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 Can you confirm which versionof xen-unstable.hg you ar=
e using<br>
&gt; =A0 =A0 =A0 =A0 -- there<br>
&gt; =A0 =A0 =A0 =A0 have been several fixup patches since the above. If yo=
u are<br>
&gt; =A0 =A0 =A0 =A0 completely<br>
&gt; =A0 =A0 =A0 =A0 up to date and you still see errors we can dig into wh=
atever<br>
&gt; =A0 =A0 =A0 =A0 is left.<br>
&gt;<br>
&gt; Thank you for your reply. I have used &quot;hg pull; hg update&quot; t=
o update<br>
&gt; to the latest Xen and it is the version info:<br>
&gt;<br>
&gt; root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip<br>
&gt; changeset: =A0 25287:54c8c9eaee92<br>
&gt; tag: =A0 =A0 =A0 =A0 tip<br>
&gt; user: =A0 =A0 =A0 =A0Dietmar Hahn &lt;<a href=3D"mailto:dietmar.hahn@t=
s.fujitsu.com">dietmar.hahn@ts.fujitsu.com</a>&gt;<br>
&gt; date: =A0 =A0 =A0 =A0Fri Apr 27 11:09:26 2012 +0200<br>
&gt; summary: =A0 =A0 docs: add vpmu description to xen-command-line.markdo=
wn<br>
&gt;<br>
&gt; But, it still has the same errors.<br>
<br>
</div></div>Thanks, looks like we still need to fix these errors then.<br>
<br>
I&#39;m not really happy with the following, but it&#39;s no worse than thi=
ngs<br>
are today...<br>
<br>
Bei, I don&#39;t see these build failures, does this work for you?<br></blo=
ckquote><div><br>No, it doesn&#39;t work for me. There is the same error.<b=
r>My environment and gcc version are like this:<br><br>root@gavin-desktop:~=
# uname -a<br>
Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC 2011 =
x86_64 GNU/Linux<br><br>root@gavin-desktop:~# gcc -v<br>Using built-in spec=
s.<br>Target: x86_64-linux-gnu<br>Configured with: ../src/configure -v --wi=
th-pkgversion=3D&#39;Ubuntu 4.4.3-4ubuntu5&#39; --with-bugurl=3Dfile:///usr=
/share/doc/gcc-4.4/README.Bugs --enable-languages=3Dc,c++,fortran,objc,obj-=
c++ --prefix=3D/usr --enable-shared --enable-multiarch --enable-linker-buil=
d-id --with-system-zlib --libexecdir=3D/usr/lib --without-included-gettext =
--enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++/4.4 --pr=
ogram-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu --enable-libstdcxx-=
debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=3Di4=
86 --with-tune=3Dgeneric --enable-checking=3Drelease --build=3Dx86_64-linux=
-gnu --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu<br>
Thread model: posix<br>gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) <br><br><b=
r><br><br>Thanks,<br>Bei Guan<br><br><br><br>=A0</div><blockquote class=3D"=
gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex">

<br>
8&lt;------------------------------------------------------<br>
<br>
# HG changeset patch<br>
# User Ian Campbell &lt;<a href=3D"mailto:ian.campbell@citrix.com">ian.camp=
bell@citrix.com</a>&gt;<br>
# Date 1336751175 -3600<br>
# Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99<br>
# Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999<br>
blktap: avoid attribute warn_unused_result build failures.<br>
<br>
I&#39;m not proud of this, but since none of these callers of read/write ha=
ve any<br>
other error handling and return void themselves (for several links up the c=
all<br>
chain AFAICT) and because I don&#39;t really want to get into a massive rew=
orking<br>
of blktap2 I suppose it is at least pragmatic<br>
<br>
Signed-off-by: Ian Campbell &lt;<a href=3D"mailto:ian.campbell@citrix.com">=
ian.campbell@citrix.com</a>&gt;<br>
<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c<br=
>
--- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:19:16 2=
012 +0100<br>
+++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:46:15 2=
012 +0100<br>
@@ -247,7 +247,7 @@ tlog_flush(void)<br>
 =A0 =A0 =A0 =A0wsize =3D ((size + 511) &amp; (~511));<br>
<br>
 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, &#39;\n&#39;, wsize - size);=
<br>
- =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);<br>
+ =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);<br>
<br>
 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;<br>
<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue.c<=
br>
--- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:19:16 201=
2 +0100<br>
+++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:46:15 201=
2 +0100<br>
@@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que<br>
 =A0 =A0 =A0 =A0uint64_t val;<br>
<br>
 =A0 =A0 =A0 =A0if (lio-&gt;flags &amp; LIO_FLAG_EVENTFD)<br>
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio-&gt;event_fd, &amp;val, sizeof(val))=
;<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio-&gt;event_fd, &amp;val, sizeof=
(val));<br>
=A0}<br>
<br>
=A0static void<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-stream.c=
<br>
--- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:19:16 201=
2 +0100<br>
+++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:46:15 201=
2 +0100<br>
@@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk<br>
=A0{<br>
 =A0 =A0 =A0 =A0int dummy;<br>
<br>
- =A0 =A0 =A0 read(p-&gt;pipe[POLL_READ], &amp;dummy, sizeof(dummy));<br>
+ =A0 =A0 =A0 (void)read(p-&gt;pipe[POLL_READ], &amp;dummy, sizeof(dummy));=
<br>
 =A0 =A0 =A0 =A0p-&gt;set =3D 0;<br>
=A0}<br>
<br>
@@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s<br>
 =A0 =A0 =A0 =A0int dummy =3D 0;<br>
<br>
 =A0 =A0 =A0 =A0if (!p-&gt;set) {<br>
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p-&gt;pipe[POLL_WRITE], &amp;dummy, siz=
eof(dummy));<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p-&gt;pipe[POLL_WRITE], &amp;dumm=
y, sizeof(dummy));<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 1;<br>
 =A0 =A0 =A0 =A0}<br>
=A0}<br>
@@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd<br>
=A0{<br>
 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned long)tapdisk_stream_request=
_idx(s, sreq);<br>
 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s-&gt;vbd-&gt;ring.vstart,=
 idx, 0);<br>
- =A0 =A0 =A0 write(s-&gt;out_fd, buf, sreq-&gt;secs &lt;&lt; SECTOR_SHIFT)=
;<br>
+ =A0 =A0 =A0 (void)write(s-&gt;out_fd, buf, sreq-&gt;secs &lt;&lt; SECTOR_=
SHIFT);<br>
=A0}<br>
<br>
=A0static void<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c<br>
--- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:19:16 2012 +0100<br=
>
+++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:46:15 2012 +0100<br=
>
@@ -79,7 +79,12 @@ main(int argc, char *argv[])<br>
 =A0 =A0 =A0 =A0if (optind !=3D argc)<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);<br>
<br>
- =A0 =A0 =A0 chdir(&quot;/&quot;);<br>
+ =A0 =A0 =A0 if (chdir(&quot;/&quot;)) {<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF(&quot;failed to chdir(/): %d\n&quot;,=
 errno);<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;<br>
+ =A0 =A0 =A0 }<br>
+<br>
 =A0 =A0 =A0 =A0tapdisk_start_logging(&quot;tapdisk2&quot;);<br>
<br>
 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();<br>
<br>
<br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regards,<div>Bei G=
uan</div><br>

--f46d042f9cd84aedb404bfc4f923--


--===============4245889692456929609==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4245889692456929609==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:10:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:10:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsQG-0007YM-JY; Fri, 11 May 2012 16:10:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSsQE-0007YC-VR
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:10:27 +0000
Received: from [85.158.143.99:22398] by server-2.bemta-4.messagelabs.com id
	20/7A-17550-2F93DAF4; Fri, 11 May 2012 16:10:26 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1336752624!17955902!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30770 invoked from network); 11 May 2012 16:10:24 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:10:24 -0000
Received: by lbok6 with SMTP id k6so2510233lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:10:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=AzJDr2xc8hITwOC9xBz9uBGowdLPdJBfiPPk6A8Bwr8=;
	b=VRcGAo4j0W31AMWa3Pt4qUgu2HZg7kBmYBC9z7DLzIo1KBKhKksmVmOuUmFYxdKq2d
	nqgf7qaFJtlQuUgrOyPes90FykT48J9/2/IsHyV4JId5VPjlTFLeSddZkxOV2flkK6wx
	+FNPBfjlPwjiCJ7laLCHZtAIEemCbzr2orAipU3abTuhPo36z3Kw4jDmqWvSHq62n3AC
	vfgTZkQxGKkA2z79U8hYWtPga68cvUeFjY3SK4JGcbOv2fGfe1Ol3M/sfXS4DXt217mB
	PQgyFa6cAxDWE09gXp0SRg9XCHZ+lJPlSjGgO3WSULxQz9vdcsFJ+b5CxnxHZ9JGBepy
	WKvg==
MIME-Version: 1.0
Received: by 10.152.123.244 with SMTP id md20mr748306lab.0.1336752623774; Fri,
	11 May 2012 09:10:23 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:10:23 -0700 (PDT)
In-Reply-To: <1336751243.23818.106.camel@zakaz.uk.xensource.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
	<1336751243.23818.106.camel@zakaz.uk.xensource.com>
Date: Sat, 12 May 2012 00:10:23 +0800
Message-ID: <CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4245889692456929609=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4245889692456929609==
Content-Type: multipart/alternative; boundary=f46d042f9cd84aedb404bfc4f923

--f46d042f9cd84aedb404bfc4f923
Content-Type: text/plain; charset=ISO-8859-1

2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>

> On Fri, 2012-05-11 at 16:12 +0100, Bei Guan wrote:
> >
> > 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>
> >         On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
> >         > When I do the "make install-tools" with xen-4.2-unstable,
> >         there are
> >         > some errors about "warn_unused_result".
> >         > Is it the error in code or the error in the compiling
> >         environment?
> >         > Thank you so much.
> >
> >
> >         This commit
> >                changeset:   25275:27d63b9f111a
> >                user:        Keir Fraser <keir@xen.org>
> >                date:        Thu May 10 11:22:18 2012 +0100
> >                summary:     blktap2: Do not build with -O0
> >         has caused more warnings to be generated by the compiler,
> >         which in turn
> >         leads to build failures. Since this is a compiler specific
> >         thing we are
> >         still tracking them all down.
> >
> >         Can you confirm which versionof xen-unstable.hg you are using
> >         -- there
> >         have been several fixup patches since the above. If you are
> >         completely
> >         up to date and you still see errors we can dig into whatever
> >         is left.
> >
> > Thank you for your reply. I have used "hg pull; hg update" to update
> > to the latest Xen and it is the version info:
> >
> > root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
> > changeset:   25287:54c8c9eaee92
> > tag:         tip
> > user:        Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
> > date:        Fri Apr 27 11:09:26 2012 +0200
> > summary:     docs: add vpmu description to xen-command-line.markdown
> >
> > But, it still has the same errors.
>
> Thanks, looks like we still need to fix these errors then.
>
> I'm not really happy with the following, but it's no worse than things
> are today...
>
> Bei, I don't see these build failures, does this work for you?
>

No, it doesn't work for me. There is the same error.
My environment and gcc version are like this:

root@gavin-desktop:~# uname -a
Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC 2011
x86_64 GNU/Linux

root@gavin-desktop:~# gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4
--enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin
--enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)




Thanks,
Bei Guan





>
> 8<------------------------------------------------------
>
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1336751175 -3600
> # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> blktap: avoid attribute warn_unused_result build failures.
>
> I'm not proud of this, but since none of these callers of read/write have
> any
> other error handling and return void themselves (for several links up the
> call
> chain AFAICT) and because I don't really want to get into a massive
> reworking
> of blktap2 I suppose it is at least pragmatic
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c
> --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11 16:19:16 2012
> +0100
> +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11 16:46:15 2012
> +0100
> @@ -247,7 +247,7 @@ tlog_flush(void)
>        wsize = ((size + 511) & (~511));
>
>        memset(tapdisk_log.buf + size, '\n', wsize - size);
> -       write(fd, tapdisk_log.buf, wsize);
> +       (void)write(fd, tapdisk_log.buf, wsize);
>
>        tapdisk_log.p = tapdisk_log.buf;
>
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue.c
> --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11 16:19:16 2012
> +0100
> +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11 16:46:15 2012
> +0100
> @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>        uint64_t val;
>
>        if (lio->flags & LIO_FLAG_EVENTFD)
> -               read(lio->event_fd, &val, sizeof(val));
> +               (void)read(lio->event_fd, &val, sizeof(val));
>  }
>
>  static void
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-stream.c
> --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11 16:19:16 2012
> +0100
> +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11 16:46:15 2012
> +0100
> @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>  {
>        int dummy;
>
> -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>        p->set = 0;
>  }
>
> @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>        int dummy = 0;
>
>        if (!p->set) {
> -               write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
> +               (void)write(p->pipe[POLL_WRITE], &dummy, sizeof(dummy));
>                p->set = 1;
>        }
>  }
> @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>  {
>        unsigned long idx = (unsigned long)tapdisk_stream_request_idx(s,
> sreq);
>        char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart, idx, 0);
> -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> +       (void)write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>  }
>
>  static void
> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c
> --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16 2012 +0100
> +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15 2012 +0100
> @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>        if (optind != argc)
>                usage(argv[0], EINVAL);
>
> -       chdir("/");
> +       if (chdir("/")) {
> +               DPRINTF("failed to chdir(/): %d\n", errno);
> +               err = 1;
> +               goto out;
> +       }
> +
>        tapdisk_start_logging("tapdisk2");
>
>        err = tapdisk_server_init();
>
>
>


-- 
Best Regards,
Bei Guan

--f46d042f9cd84aedb404bfc4f923
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/11 Ian Campbell <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campb=
ell@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D=
"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">
<div class=3D"HOEnZb"><div class=3D"h5">On Fri, 2012-05-11 at 16:12 +0100, =
Bei Guan wrote:<br>
&gt;<br>
&gt; 2012/5/11 Ian Campbell &lt;<a href=3D"mailto:Ian.Campbell@citrix.com">=
Ian.Campbell@citrix.com</a>&gt;<br>
&gt; =A0 =A0 =A0 =A0 On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:<br>
&gt; =A0 =A0 =A0 =A0 &gt; When I do the &quot;make install-tools&quot; with=
 xen-4.2-unstable,<br>
&gt; =A0 =A0 =A0 =A0 there are<br>
&gt; =A0 =A0 =A0 =A0 &gt; some errors about &quot;warn_unused_result&quot;.=
<br>
&gt; =A0 =A0 =A0 =A0 &gt; Is it the error in code or the error in the compi=
ling<br>
&gt; =A0 =A0 =A0 =A0 environment?<br>
&gt; =A0 =A0 =A0 =A0 &gt; Thank you so much.<br>
&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 This commit<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0changeset: =A0 25275:27d63b9f111a<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0user: =A0 =A0 =A0 =A0Keir Fraser &lt;<a=
 href=3D"mailto:keir@xen.org">keir@xen.org</a>&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0date: =A0 =A0 =A0 =A0Thu May 10 11:22:1=
8 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0summary: =A0 =A0 blktap2: Do not build =
with -O0<br>
&gt; =A0 =A0 =A0 =A0 has caused more warnings to be generated by the compil=
er,<br>
&gt; =A0 =A0 =A0 =A0 which in turn<br>
&gt; =A0 =A0 =A0 =A0 leads to build failures. Since this is a compiler spec=
ific<br>
&gt; =A0 =A0 =A0 =A0 thing we are<br>
&gt; =A0 =A0 =A0 =A0 still tracking them all down.<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 Can you confirm which versionof xen-unstable.hg you ar=
e using<br>
&gt; =A0 =A0 =A0 =A0 -- there<br>
&gt; =A0 =A0 =A0 =A0 have been several fixup patches since the above. If yo=
u are<br>
&gt; =A0 =A0 =A0 =A0 completely<br>
&gt; =A0 =A0 =A0 =A0 up to date and you still see errors we can dig into wh=
atever<br>
&gt; =A0 =A0 =A0 =A0 is left.<br>
&gt;<br>
&gt; Thank you for your reply. I have used &quot;hg pull; hg update&quot; t=
o update<br>
&gt; to the latest Xen and it is the version info:<br>
&gt;<br>
&gt; root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip<br>
&gt; changeset: =A0 25287:54c8c9eaee92<br>
&gt; tag: =A0 =A0 =A0 =A0 tip<br>
&gt; user: =A0 =A0 =A0 =A0Dietmar Hahn &lt;<a href=3D"mailto:dietmar.hahn@t=
s.fujitsu.com">dietmar.hahn@ts.fujitsu.com</a>&gt;<br>
&gt; date: =A0 =A0 =A0 =A0Fri Apr 27 11:09:26 2012 +0200<br>
&gt; summary: =A0 =A0 docs: add vpmu description to xen-command-line.markdo=
wn<br>
&gt;<br>
&gt; But, it still has the same errors.<br>
<br>
</div></div>Thanks, looks like we still need to fix these errors then.<br>
<br>
I&#39;m not really happy with the following, but it&#39;s no worse than thi=
ngs<br>
are today...<br>
<br>
Bei, I don&#39;t see these build failures, does this work for you?<br></blo=
ckquote><div><br>No, it doesn&#39;t work for me. There is the same error.<b=
r>My environment and gcc version are like this:<br><br>root@gavin-desktop:~=
# uname -a<br>
Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC 2011 =
x86_64 GNU/Linux<br><br>root@gavin-desktop:~# gcc -v<br>Using built-in spec=
s.<br>Target: x86_64-linux-gnu<br>Configured with: ../src/configure -v --wi=
th-pkgversion=3D&#39;Ubuntu 4.4.3-4ubuntu5&#39; --with-bugurl=3Dfile:///usr=
/share/doc/gcc-4.4/README.Bugs --enable-languages=3Dc,c++,fortran,objc,obj-=
c++ --prefix=3D/usr --enable-shared --enable-multiarch --enable-linker-buil=
d-id --with-system-zlib --libexecdir=3D/usr/lib --without-included-gettext =
--enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++/4.4 --pr=
ogram-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu --enable-libstdcxx-=
debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=3Di4=
86 --with-tune=3Dgeneric --enable-checking=3Drelease --build=3Dx86_64-linux=
-gnu --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu<br>
Thread model: posix<br>gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) <br><br><b=
r><br><br>Thanks,<br>Bei Guan<br><br><br><br>=A0</div><blockquote class=3D"=
gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex">

<br>
8&lt;------------------------------------------------------<br>
<br>
# HG changeset patch<br>
# User Ian Campbell &lt;<a href=3D"mailto:ian.campbell@citrix.com">ian.camp=
bell@citrix.com</a>&gt;<br>
# Date 1336751175 -3600<br>
# Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99<br>
# Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999<br>
blktap: avoid attribute warn_unused_result build failures.<br>
<br>
I&#39;m not proud of this, but since none of these callers of read/write ha=
ve any<br>
other error handling and return void themselves (for several links up the c=
all<br>
chain AFAICT) and because I don&#39;t really want to get into a massive rew=
orking<br>
of blktap2 I suppose it is at least pragmatic<br>
<br>
Signed-off-by: Ian Campbell &lt;<a href=3D"mailto:ian.campbell@citrix.com">=
ian.campbell@citrix.com</a>&gt;<br>
<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c<br=
>
--- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:19:16 2=
012 +0100<br>
+++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:46:15 2=
012 +0100<br>
@@ -247,7 +247,7 @@ tlog_flush(void)<br>
 =A0 =A0 =A0 =A0wsize =3D ((size + 511) &amp; (~511));<br>
<br>
 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, &#39;\n&#39;, wsize - size);=
<br>
- =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);<br>
+ =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);<br>
<br>
 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;<br>
<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue.c<=
br>
--- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:19:16 201=
2 +0100<br>
+++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:46:15 201=
2 +0100<br>
@@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que<br>
 =A0 =A0 =A0 =A0uint64_t val;<br>
<br>
 =A0 =A0 =A0 =A0if (lio-&gt;flags &amp; LIO_FLAG_EVENTFD)<br>
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio-&gt;event_fd, &amp;val, sizeof(val))=
;<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio-&gt;event_fd, &amp;val, sizeof=
(val));<br>
=A0}<br>
<br>
=A0static void<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-stream.c=
<br>
--- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:19:16 201=
2 +0100<br>
+++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:46:15 201=
2 +0100<br>
@@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk<br>
=A0{<br>
 =A0 =A0 =A0 =A0int dummy;<br>
<br>
- =A0 =A0 =A0 read(p-&gt;pipe[POLL_READ], &amp;dummy, sizeof(dummy));<br>
+ =A0 =A0 =A0 (void)read(p-&gt;pipe[POLL_READ], &amp;dummy, sizeof(dummy));=
<br>
 =A0 =A0 =A0 =A0p-&gt;set =3D 0;<br>
=A0}<br>
<br>
@@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s<br>
 =A0 =A0 =A0 =A0int dummy =3D 0;<br>
<br>
 =A0 =A0 =A0 =A0if (!p-&gt;set) {<br>
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p-&gt;pipe[POLL_WRITE], &amp;dummy, siz=
eof(dummy));<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p-&gt;pipe[POLL_WRITE], &amp;dumm=
y, sizeof(dummy));<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 1;<br>
 =A0 =A0 =A0 =A0}<br>
=A0}<br>
@@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd<br>
=A0{<br>
 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned long)tapdisk_stream_request=
_idx(s, sreq);<br>
 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s-&gt;vbd-&gt;ring.vstart,=
 idx, 0);<br>
- =A0 =A0 =A0 write(s-&gt;out_fd, buf, sreq-&gt;secs &lt;&lt; SECTOR_SHIFT)=
;<br>
+ =A0 =A0 =A0 (void)write(s-&gt;out_fd, buf, sreq-&gt;secs &lt;&lt; SECTOR_=
SHIFT);<br>
=A0}<br>
<br>
=A0static void<br>
diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c<br>
--- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:19:16 2012 +0100<br=
>
+++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:46:15 2012 +0100<br=
>
@@ -79,7 +79,12 @@ main(int argc, char *argv[])<br>
 =A0 =A0 =A0 =A0if (optind !=3D argc)<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);<br>
<br>
- =A0 =A0 =A0 chdir(&quot;/&quot;);<br>
+ =A0 =A0 =A0 if (chdir(&quot;/&quot;)) {<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF(&quot;failed to chdir(/): %d\n&quot;,=
 errno);<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;<br>
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;<br>
+ =A0 =A0 =A0 }<br>
+<br>
 =A0 =A0 =A0 =A0tapdisk_start_logging(&quot;tapdisk2&quot;);<br>
<br>
 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();<br>
<br>
<br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regards,<div>Bei G=
uan</div><br>

--f46d042f9cd84aedb404bfc4f923--


--===============4245889692456929609==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4245889692456929609==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:14:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:14:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsTf-0007kC-LW; Fri, 11 May 2012 16:13:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SSsTd-0007je-QX
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:13:58 +0000
Received: from [85.158.143.35:48232] by server-2.bemta-4.messagelabs.com id
	70/DD-17550-4CA3DAF4; Fri, 11 May 2012 16:13:56 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336752832!10563182!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4847 invoked from network); 11 May 2012 16:13:54 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:13:54 -0000
Received: by pbbro12 with SMTP id ro12so3787351pbb.32
	for <multiple recipients>; Fri, 11 May 2012 09:13:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type;
	bh=vTbLHOhv1i9awkAIRL+0QbrHWLID/cqWpw8Kz5CfoJk=;
	b=bKdVF2TTemt3EQrFEuSGZGBhM7O9sVdKyeO44ar1ZbrixDUpUGJ9rvIVcA85RTb2lG
	hVdMU+jiVxF7p7WvOzdf9E9P5jEngpNlqxC/WYGRTH9UnYDnvufRecgsPnqtimX3Rio/
	3LmK8r4zkREqifeoPo3Md8pIlNuljQCmM2/egCn9MRGqdCYyZzDXn/c0/gj3l3YntiaZ
	e9wm+TBXN7T7EFneUy2l9W9hlku+uMqR6Y+RtQIvjQBJptY7jnv7ALJTJEZtKXZCd/5/
	257E4Z8M+QbF32p3vAvzwhDX3MhmRzeUYu0mXJcFcwftBwzU6N5DLt7hSDJkhUpST981
	F9Gw==
Received: by 10.68.221.98 with SMTP id qd2mr14030235pbc.3.1336752832178;
	Fri, 11 May 2012 09:13:52 -0700 (PDT)
Received: from [172.16.25.10] ([206.15.84.247])
	by mx.google.com with ESMTPS id pb4sm13196971pbc.55.2012.05.11.09.13.49
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:13:50 -0700 (PDT)
Message-ID: <4FAD3ABC.7070905@xen.org>
Date: Fri, 11 May 2012 09:13:48 -0700
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: lars.kurth@xen.org
References: <4FA2B2B1.3040901@xen.org>
In-Reply-To: <4FA2B2B1.3040901@xen.org>
Cc: xen-arm@lists.xen.org, xen-api@lists.xen.org, xen-announce@lists.xen.org,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [Vote] Minor additions and clarification to Xen Project
	Governance
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4244378782723293960=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============4244378782723293960==
Content-Type: multipart/alternative;
 boundary="------------020301020001070906070506"

This is a multi-part message in MIME format.
--------------020301020001070906070506
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

dear was no controversial feedback on the proposal to change 
http://xen.org/projects/governance.html

The proposal can be viewed at: http://xen.org/projects/governance_v1_2.html

Community Manager, Maintainers, Committers and Project leads of mature 
projects can vote according to http://xen.org/projects/governance.html).

Voting works as follows:
+1: for proposal
0: abstain
-1: against proposal - must contain an alternative suggestion to the 
proposal or an explanation to be valid

The vote is open until May 18th (for 1 week).

Regards
Lars

On 03/05/2012 09:30, Lars Kurth wrote:
> Dear Developers,
>
> we have had the original Xen project governance document (see 
> http://xen.org/projects/governance.html 
> <http://www.xen.org/projects/governance.html>) in effect now since 
> July last year. The last minor review was in October 2011.
>
> Since then I had feedback on two items:
>
> a) Our governance does not specify how friction in the community is 
> resolved. The role definitions cover the concept of Committers and 
> Project leads acting as Referees, without being specific. In essence, 
> the proposal reflects what happens informally in practice today and 
> has happened in the past.
>
> b) There also was a bug in the definition of Project Lead: "Xen.org 
> projects are managed by a Project Lead, who also is a maintainer" 
> should be "..., who also is a committer". I clarified this and added a 
> sentence that a project lead can also act as referee (which was 
> implied before as a project lead is a committer).
>
> Please find a proposal for a new revision of the process at 
> http://xen.org/projects/governance_v1_2.html which fixes these two 
> issues. Changes are marked in italics and are in sections "Conflict 
> Resolution" and "Project Lead".
>
> Timetable:
>
> 1) Open review with feedback until 11th May (a bit more than a week 
> from today)
>
> 2) Lars to incorporate any feedback and publish a revision.
>
> 3) Lars to set up a private poll via a form, the week of May 14th 
> which will be open for a week. Community members that can vote are 
> maintainers (including committers and maintainers)of any mature 
> project in Xen (aka Xen and XCP).
>
> Best Regards
> Lars
>


--------------020301020001070906070506
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    dear was no controversial feedback on the proposal to change <a
      moz-do-not-send="true" class="moz-txt-link-freetext"
      href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a><br>
    <br>
    The proposal can be viewed at: <a moz-do-not-send="true"
      class="moz-txt-link-freetext"
      href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a><br>
    <br>
    Community Manager, Maintainers, Committers and Project leads of
    mature projects can vote according to <a moz-do-not-send="true"
      class="moz-txt-link-freetext"
      href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>).<br>
    <br>
    Voting works as follows:<br>
    +1: for proposal<br>
    0: abstain<br>
    -1: against proposal - must contain an alternative suggestion to the
    proposal or an explanation to be valid <br>
    <br>
    The vote is open until May 18th (for 1 week).<br>
    <br>
    Regards<br>
    Lars<br>
    <br>
    On 03/05/2012 09:30, Lars Kurth wrote:
    <blockquote cite="mid:4FA2B2B1.3040901@xen.org" type="cite">
      <div class="moz-text-flowed" style="font-family: -moz-fixed;
        font-size: 14px;" lang="x-western">Dear Developers,
        <br>
        <br>
        we have had the original Xen project governance document (see <a
          moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>
        <a moz-do-not-send="true" class="moz-txt-link-rfc2396E"
          href="http://www.xen.org/projects/governance.html">&lt;http://www.xen.org/projects/governance.html&gt;</a>)
        in effect now since July last year. The last minor review was in
        October 2011.
        <br>
        <br>
        Since then I had feedback on two items:
        <br>
        <br>
        a) Our governance does not specify how friction in the community
        is resolved. The role definitions cover the concept of
        Committers and Project leads acting as Referees, without being
        specific. In essence, the proposal reflects what happens
        informally in practice today and has happened in the past.
        <br>
        <br>
        b) There also was a bug in the definition of Project Lead:
        "Xen.org projects are managed by a Project Lead, who also is a
        maintainer" should be "..., who also is a committer". I
        clarified this and added a sentence that a project lead can also
        act as referee (which was implied before as a project lead is a
        committer).
        <br>
        <br>
        Please find a proposal for a new revision of the process at <a
          moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a>
        which fixes these two issues. Changes are marked in italics and
        are in sections "Conflict Resolution" and "Project Lead".
        <br>
        <br>
        Timetable:
        <br>
        <br>
        1) Open review with feedback until 11th May (a bit more than a
        week from today)
        <br>
        <br>
        2) Lars to incorporate any feedback and publish a revision.
        <br>
        <br>
        3) Lars to set up a private poll via a form, the week of May
        14th which will be open for a week. Community members that can
        vote are maintainers (including committers and maintainers)of
        any mature project in Xen (aka Xen and XCP).
        <br>
        <br>
        Best Regards
        <br>
        Lars
        <br>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------020301020001070906070506--


--===============4244378782723293960==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4244378782723293960==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:14:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:14:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsTf-0007kC-LW; Fri, 11 May 2012 16:13:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SSsTd-0007je-QX
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:13:58 +0000
Received: from [85.158.143.35:48232] by server-2.bemta-4.messagelabs.com id
	70/DD-17550-4CA3DAF4; Fri, 11 May 2012 16:13:56 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1336752832!10563182!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4847 invoked from network); 11 May 2012 16:13:54 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:13:54 -0000
Received: by pbbro12 with SMTP id ro12so3787351pbb.32
	for <multiple recipients>; Fri, 11 May 2012 09:13:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type;
	bh=vTbLHOhv1i9awkAIRL+0QbrHWLID/cqWpw8Kz5CfoJk=;
	b=bKdVF2TTemt3EQrFEuSGZGBhM7O9sVdKyeO44ar1ZbrixDUpUGJ9rvIVcA85RTb2lG
	hVdMU+jiVxF7p7WvOzdf9E9P5jEngpNlqxC/WYGRTH9UnYDnvufRecgsPnqtimX3Rio/
	3LmK8r4zkREqifeoPo3Md8pIlNuljQCmM2/egCn9MRGqdCYyZzDXn/c0/gj3l3YntiaZ
	e9wm+TBXN7T7EFneUy2l9W9hlku+uMqR6Y+RtQIvjQBJptY7jnv7ALJTJEZtKXZCd/5/
	257E4Z8M+QbF32p3vAvzwhDX3MhmRzeUYu0mXJcFcwftBwzU6N5DLt7hSDJkhUpST981
	F9Gw==
Received: by 10.68.221.98 with SMTP id qd2mr14030235pbc.3.1336752832178;
	Fri, 11 May 2012 09:13:52 -0700 (PDT)
Received: from [172.16.25.10] ([206.15.84.247])
	by mx.google.com with ESMTPS id pb4sm13196971pbc.55.2012.05.11.09.13.49
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:13:50 -0700 (PDT)
Message-ID: <4FAD3ABC.7070905@xen.org>
Date: Fri, 11 May 2012 09:13:48 -0700
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: lars.kurth@xen.org
References: <4FA2B2B1.3040901@xen.org>
In-Reply-To: <4FA2B2B1.3040901@xen.org>
Cc: xen-arm@lists.xen.org, xen-api@lists.xen.org, xen-announce@lists.xen.org,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [Vote] Minor additions and clarification to Xen Project
	Governance
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4244378782723293960=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============4244378782723293960==
Content-Type: multipart/alternative;
 boundary="------------020301020001070906070506"

This is a multi-part message in MIME format.
--------------020301020001070906070506
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

dear was no controversial feedback on the proposal to change 
http://xen.org/projects/governance.html

The proposal can be viewed at: http://xen.org/projects/governance_v1_2.html

Community Manager, Maintainers, Committers and Project leads of mature 
projects can vote according to http://xen.org/projects/governance.html).

Voting works as follows:
+1: for proposal
0: abstain
-1: against proposal - must contain an alternative suggestion to the 
proposal or an explanation to be valid

The vote is open until May 18th (for 1 week).

Regards
Lars

On 03/05/2012 09:30, Lars Kurth wrote:
> Dear Developers,
>
> we have had the original Xen project governance document (see 
> http://xen.org/projects/governance.html 
> <http://www.xen.org/projects/governance.html>) in effect now since 
> July last year. The last minor review was in October 2011.
>
> Since then I had feedback on two items:
>
> a) Our governance does not specify how friction in the community is 
> resolved. The role definitions cover the concept of Committers and 
> Project leads acting as Referees, without being specific. In essence, 
> the proposal reflects what happens informally in practice today and 
> has happened in the past.
>
> b) There also was a bug in the definition of Project Lead: "Xen.org 
> projects are managed by a Project Lead, who also is a maintainer" 
> should be "..., who also is a committer". I clarified this and added a 
> sentence that a project lead can also act as referee (which was 
> implied before as a project lead is a committer).
>
> Please find a proposal for a new revision of the process at 
> http://xen.org/projects/governance_v1_2.html which fixes these two 
> issues. Changes are marked in italics and are in sections "Conflict 
> Resolution" and "Project Lead".
>
> Timetable:
>
> 1) Open review with feedback until 11th May (a bit more than a week 
> from today)
>
> 2) Lars to incorporate any feedback and publish a revision.
>
> 3) Lars to set up a private poll via a form, the week of May 14th 
> which will be open for a week. Community members that can vote are 
> maintainers (including committers and maintainers)of any mature 
> project in Xen (aka Xen and XCP).
>
> Best Regards
> Lars
>


--------------020301020001070906070506
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    dear was no controversial feedback on the proposal to change <a
      moz-do-not-send="true" class="moz-txt-link-freetext"
      href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a><br>
    <br>
    The proposal can be viewed at: <a moz-do-not-send="true"
      class="moz-txt-link-freetext"
      href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a><br>
    <br>
    Community Manager, Maintainers, Committers and Project leads of
    mature projects can vote according to <a moz-do-not-send="true"
      class="moz-txt-link-freetext"
      href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>).<br>
    <br>
    Voting works as follows:<br>
    +1: for proposal<br>
    0: abstain<br>
    -1: against proposal - must contain an alternative suggestion to the
    proposal or an explanation to be valid <br>
    <br>
    The vote is open until May 18th (for 1 week).<br>
    <br>
    Regards<br>
    Lars<br>
    <br>
    On 03/05/2012 09:30, Lars Kurth wrote:
    <blockquote cite="mid:4FA2B2B1.3040901@xen.org" type="cite">
      <div class="moz-text-flowed" style="font-family: -moz-fixed;
        font-size: 14px;" lang="x-western">Dear Developers,
        <br>
        <br>
        we have had the original Xen project governance document (see <a
          moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>
        <a moz-do-not-send="true" class="moz-txt-link-rfc2396E"
          href="http://www.xen.org/projects/governance.html">&lt;http://www.xen.org/projects/governance.html&gt;</a>)
        in effect now since July last year. The last minor review was in
        October 2011.
        <br>
        <br>
        Since then I had feedback on two items:
        <br>
        <br>
        a) Our governance does not specify how friction in the community
        is resolved. The role definitions cover the concept of
        Committers and Project leads acting as Referees, without being
        specific. In essence, the proposal reflects what happens
        informally in practice today and has happened in the past.
        <br>
        <br>
        b) There also was a bug in the definition of Project Lead:
        "Xen.org projects are managed by a Project Lead, who also is a
        maintainer" should be "..., who also is a committer". I
        clarified this and added a sentence that a project lead can also
        act as referee (which was implied before as a project lead is a
        committer).
        <br>
        <br>
        Please find a proposal for a new revision of the process at <a
          moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a>
        which fixes these two issues. Changes are marked in italics and
        are in sections "Conflict Resolution" and "Project Lead".
        <br>
        <br>
        Timetable:
        <br>
        <br>
        1) Open review with feedback until 11th May (a bit more than a
        week from today)
        <br>
        <br>
        2) Lars to incorporate any feedback and publish a revision.
        <br>
        <br>
        3) Lars to set up a private poll via a form, the week of May
        14th which will be open for a week. Community members that can
        vote are maintainers (including committers and maintainers)of
        any mature project in Xen (aka Xen and XCP).
        <br>
        <br>
        Best Regards
        <br>
        Lars
        <br>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------020301020001070906070506--


--===============4244378782723293960==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4244378782723293960==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:16:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsW0-0007w3-Tw; Fri, 11 May 2012 16:16:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSsW0-0007vq-21
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:16:24 +0000
Received: from [193.109.254.147:3221] by server-10.bemta-14.messagelabs.com id
	7A/DD-05847-75B3DAF4; Fri, 11 May 2012 16:16:23 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336752982!8851599!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27392 invoked from network); 11 May 2012 16:16:22 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:16:22 -0000
Received: by eaak12 with SMTP id k12so1166668eaa.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:16:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=J6P+Wv9UTYAai2zF+9jVcbfOWYgHpcNlGgdoFJb6Uzw=;
	b=pSnU/Mf04nbSRn9jk+lLjhHkv2bk4GaxawBGNft4EOctgmUyBQVo1x3ddkMv5BzRrh
	MoGvgIO0bhyKgRQmOWMtyBeYb90NmvpZRnB8z5wa/3UYxQM8X0gXCSqH0hGP/krDyaAi
	Pr9QGfN/+zzgpSXA1tERopGzWlQj5Zs0VmcPTijsVo8TFWMn064Ufz5amu1Lt0eTiwBV
	NMMzhE/kw22+lV/C9iFWNpjL1mCVbnqazUd8cFbapWQraunTYWbCuxiWSltwnL/k+bbY
	lqa3s9cjZpJzu+YJrFAQPckTdG1M2Vi403m57XULZqJInby1vBsJxfq1Aqa3SPqd0yaO
	75wA==
Received: by 10.213.156.66 with SMTP id v2mr2637879ebw.115.1336752982099;
	Fri, 11 May 2012 09:16:22 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm47225614eea.3.2012.05.11.09.16.19
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:16:21 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:16:14 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	Bei Guan <gbtju85@gmail.com>
Message-ID: <CBD2F9DE.32E68%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vkWLr9sU75xEjoE2K1ucxfuzOew==
In-Reply-To: <1336745780.23818.80.camel@zakaz.uk.xensource.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/2012 15:16, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:

> On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
> When I do the "make
> install-tools" with xen-4.2-unstable, there are
> some errors about
> "warn_unused_result".
> Is it the error in code or the error in the compiling
> environment?
> Thank you so much.

This commit
        changeset:
> 25275:27d63b9f111a
        user:        Keir Fraser <keir@xen.org>

> date:        Thu May 10 11:22:18 2012 +0100
        summary:     blktap2: Do
> not build with -O0
has caused more warnings to be generated by the compiler,
> which in turn
leads to build failures. Since this is a compiler specific thing
> we are
still tracking them all down.

Can you confirm which versionof
> xen-unstable.hg you are using -- there
have been several fixup patches since
> the above. If you are completely
up to date and you still see errors we can
> dig into whatever is left.

Ian. (starting to think that this change wasn't
> suitable during a
feature freeze....)

The original reason for making this fix now was build failure on Fedora 17,
due to -O0 implying -D_FORTIFY_SOURCE=3D2, and some kind of fall-out from
that. A simpler feature-freeze fix might be to simply disable -Werror for
subtrees that are using -O0. Since this needs backport for 4.0 and 4.1 as
well. Or perhaps we are nearly at the end of the bug tail. ;-)

 -- Keir

> =

> =

> gcc  -O1 =

> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> -std=3Dgnu99 -Wall
> -Wstrict-prototypes -Wdeclaration-after-statement
> -D__XEN_TOOLS__ -MMD -MF
> .tapdisk-queue.o.d  -D_LARGEFILE_SOURCE
> -D_LARGEFILE64_SOURCE
> -fno-optimize-sibling-calls -Werror -g
> -Wno-unused -fno-strict-aliasing
> -I../include -I../drivers
>
> -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libxc
> -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include
> -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I
> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c  -c
> -o tapdisk-queue.o tapdisk-queue.c =

> cc1: warnings being treated as errors
>
> tapdisk-queue.c: In function =8Ctapdisk_lio_ack_event=B9:
> tapdisk-queue.c:438:
> error: ignoring return value of =8Cread=B9, declared
> with attribute
> warn_unused_result
> make[5]: *** [tapdisk-queue.o] Error 1
> make[5]: Leaving
> directory
> `/root/Xen/xen-4.2-unstable/tools/blktap2/drivers'
> make[4]: ***
> [subdir-install-drivers] Error 2
> make[4]: Leaving directory
> `/root/Xen/xen-4.2-unstable/tools/blktap2'
> make[3]: *** [subdirs-install]
> Error 2
> make[3]: Leaving directory
> `/root/Xen/xen-4.2-unstable/tools/blktap2'
> make[2]: ***
> [subdir-install-blktap2] Error 2
> make[2]: Leaving directory
> `/root/Xen/xen-4.2-unstable/tools'
> make[1]: *** [subdirs-install] Error 2
>
> make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
> make: ***
> [install-tools] Error 2
> ------
>
> root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src=
  -c
> -o tapdisk-log.o tapdisk-log.c =

> cc1: warnings being treated as errors
>
> tapdisk-log.c: In function =8Ctlog_flush=B9:
> tapdisk-log.c:250: error: ignoring
> return value of =8Cwrite=B9, declared
> with attribute warn_unused_result
>
> ------
> =

> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c  -c
> -o tapdisk2.o tapdisk2.c =

> cc1: warnings being treated as errors
>
> tapdisk2.c: In function =8Cmain=B9:
> tapdisk2.c:82: error: ignoring return value
> of =8Cchdir=B9, declared with
> attribute warn_unused_result
> ------
> cc1:
> warnings being treated as errors
> tapdisk-stream.c: In function
> =8Ctapdisk_stream_poll_clear=B9:
> tapdisk-stream.c:148: error: ignoring return
> value of =8Cread=B9, declared
> with attribute warn_unused_result
>
> tapdisk-stream.c: In function =8Ctapdisk_stream_poll_set=B9:
>
> tapdisk-stream.c:158: error: ignoring return value of =8Cwrite=B9,
> declared with
> attribute warn_unused_result
> tapdisk-stream.c: In function
> =8Ctapdisk_stream_print_request=B9:
> tapdisk-stream.c:206: error: ignoring return
> value of =8Cwrite=B9,
> declared with attribute warn_unused_result
> =

> =

> =

> Best
> Regards,
> Bei Guan
>
> =




_______________________________________________
Xen-devel mailing
> list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:16:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsW0-0007w3-Tw; Fri, 11 May 2012 16:16:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSsW0-0007vq-21
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:16:24 +0000
Received: from [193.109.254.147:3221] by server-10.bemta-14.messagelabs.com id
	7A/DD-05847-75B3DAF4; Fri, 11 May 2012 16:16:23 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336752982!8851599!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27392 invoked from network); 11 May 2012 16:16:22 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:16:22 -0000
Received: by eaak12 with SMTP id k12so1166668eaa.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:16:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=J6P+Wv9UTYAai2zF+9jVcbfOWYgHpcNlGgdoFJb6Uzw=;
	b=pSnU/Mf04nbSRn9jk+lLjhHkv2bk4GaxawBGNft4EOctgmUyBQVo1x3ddkMv5BzRrh
	MoGvgIO0bhyKgRQmOWMtyBeYb90NmvpZRnB8z5wa/3UYxQM8X0gXCSqH0hGP/krDyaAi
	Pr9QGfN/+zzgpSXA1tERopGzWlQj5Zs0VmcPTijsVo8TFWMn064Ufz5amu1Lt0eTiwBV
	NMMzhE/kw22+lV/C9iFWNpjL1mCVbnqazUd8cFbapWQraunTYWbCuxiWSltwnL/k+bbY
	lqa3s9cjZpJzu+YJrFAQPckTdG1M2Vi403m57XULZqJInby1vBsJxfq1Aqa3SPqd0yaO
	75wA==
Received: by 10.213.156.66 with SMTP id v2mr2637879ebw.115.1336752982099;
	Fri, 11 May 2012 09:16:22 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y53sm47225614eea.3.2012.05.11.09.16.19
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:16:21 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:16:14 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	Bei Guan <gbtju85@gmail.com>
Message-ID: <CBD2F9DE.32E68%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vkWLr9sU75xEjoE2K1ucxfuzOew==
In-Reply-To: <1336745780.23818.80.camel@zakaz.uk.xensource.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/2012 15:16, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:

> On Fri, 2012-05-11 at 15:08 +0100, Bei Guan wrote:
> When I do the "make
> install-tools" with xen-4.2-unstable, there are
> some errors about
> "warn_unused_result".
> Is it the error in code or the error in the compiling
> environment?
> Thank you so much.

This commit
        changeset:
> 25275:27d63b9f111a
        user:        Keir Fraser <keir@xen.org>

> date:        Thu May 10 11:22:18 2012 +0100
        summary:     blktap2: Do
> not build with -O0
has caused more warnings to be generated by the compiler,
> which in turn
leads to build failures. Since this is a compiler specific thing
> we are
still tracking them all down.

Can you confirm which versionof
> xen-unstable.hg you are using -- there
have been several fixup patches since
> the above. If you are completely
up to date and you still see errors we can
> dig into whatever is left.

Ian. (starting to think that this change wasn't
> suitable during a
feature freeze....)

The original reason for making this fix now was build failure on Fedora 17,
due to -O0 implying -D_FORTIFY_SOURCE=3D2, and some kind of fall-out from
that. A simpler feature-freeze fix might be to simply disable -Werror for
subtrees that are using -O0. Since this needs backport for 4.0 and 4.1 as
well. Or perhaps we are nearly at the end of the bug tail. ;-)

 -- Keir

> =

> =

> gcc  -O1 =

> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> -std=3Dgnu99 -Wall
> -Wstrict-prototypes -Wdeclaration-after-statement
> -D__XEN_TOOLS__ -MMD -MF
> .tapdisk-queue.o.d  -D_LARGEFILE_SOURCE
> -D_LARGEFILE64_SOURCE
> -fno-optimize-sibling-calls -Werror -g
> -Wno-unused -fno-strict-aliasing
> -I../include -I../drivers
>
> -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libxc
> -I/root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/include
> -D_GNU_SOURCE -DUSE_NFS_LOCKS -fPIC -I
> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c  -c
> -o tapdisk-queue.o tapdisk-queue.c =

> cc1: warnings being treated as errors
>
> tapdisk-queue.c: In function =8Ctapdisk_lio_ack_event=B9:
> tapdisk-queue.c:438:
> error: ignoring return value of =8Cread=B9, declared
> with attribute
> warn_unused_result
> make[5]: *** [tapdisk-queue.o] Error 1
> make[5]: Leaving
> directory
> `/root/Xen/xen-4.2-unstable/tools/blktap2/drivers'
> make[4]: ***
> [subdir-install-drivers] Error 2
> make[4]: Leaving directory
> `/root/Xen/xen-4.2-unstable/tools/blktap2'
> make[3]: *** [subdirs-install]
> Error 2
> make[3]: Leaving directory
> `/root/Xen/xen-4.2-unstable/tools/blktap2'
> make[2]: ***
> [subdir-install-blktap2] Error 2
> make[2]: Leaving directory
> `/root/Xen/xen-4.2-unstable/tools'
> make[1]: *** [subdirs-install] Error 2
>
> make[1]: Leaving directory `/root/Xen/xen-4.2-unstable/tools'
> make: ***
> [install-tools] Error 2
> ------
>
> root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/src=
  -c
> -o tapdisk-log.o tapdisk-log.c =

> cc1: warnings being treated as errors
>
> tapdisk-log.c: In function =8Ctlog_flush=B9:
> tapdisk-log.c:250: error: ignoring
> return value of =8Cwrite=B9, declared
> with attribute warn_unused_result
>
> ------
> =

> /root/Xen/xen-4.2-unstable/tools/blktap2/drivers/../../../tools/libaio/sr=
c  -c
> -o tapdisk2.o tapdisk2.c =

> cc1: warnings being treated as errors
>
> tapdisk2.c: In function =8Cmain=B9:
> tapdisk2.c:82: error: ignoring return value
> of =8Cchdir=B9, declared with
> attribute warn_unused_result
> ------
> cc1:
> warnings being treated as errors
> tapdisk-stream.c: In function
> =8Ctapdisk_stream_poll_clear=B9:
> tapdisk-stream.c:148: error: ignoring return
> value of =8Cread=B9, declared
> with attribute warn_unused_result
>
> tapdisk-stream.c: In function =8Ctapdisk_stream_poll_set=B9:
>
> tapdisk-stream.c:158: error: ignoring return value of =8Cwrite=B9,
> declared with
> attribute warn_unused_result
> tapdisk-stream.c: In function
> =8Ctapdisk_stream_print_request=B9:
> tapdisk-stream.c:206: error: ignoring return
> value of =8Cwrite=B9,
> declared with attribute warn_unused_result
> =

> =

> =

> Best
> Regards,
> Bei Guan
>
> =




_______________________________________________
Xen-devel mailing
> list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:18:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:18:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsXt-00085p-FO; Fri, 11 May 2012 16:18:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSsXs-00085c-D5
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:18:20 +0000
Received: from [85.158.143.35:9014] by server-1.bemta-4.messagelabs.com id
	DA/2A-20925-BCB3DAF4; Fri, 11 May 2012 16:18:19 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336753098!13564697!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.7 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	MIME_QP_LONG_LINE,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20818 invoked from network); 11 May 2012 16:18:18 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:18:18 -0000
Received: by eekd41 with SMTP id d41so132915eek.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:18:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=7oS+/M4SLBmL4fUN+ur5jx9Kp+SeOkHQAdnCXLN4hlQ=;
	b=HhaAvC0+irzzWQKpziUbAYecaLkx1vadDV+Zbla0efKWj76Gbi7VOu4sDJy5ktaNv/
	TDv3IxY3A6oda8hfrDxJmExiMnCBX+hwD+XRD/6RkNUgi43SZ+HkIj36glKx+RmIAZuO
	/oVkR8HtRoOd/Cc2e+u/4TJ7qrfqHvXZzM7d88X+nkmQyZglMBjfYXrh2dw6uww2FSuB
	fJiBFxIrzXN1Cdujp5gR/Dcg+VTaNftr3eOXvNVC+yS+ur49h+DuIssCh5wUgP0q6AFE
	dbcE9cj9u4VdHcAo5uhtVtRigN4AEwko0EfPBBTRvNu4PLUfEXqdQKB2vL1xSfBIVhxj
	EbFQ==
Received: by 10.213.113.14 with SMTP id y14mr2743544ebp.12.1336753097940;
	Fri, 11 May 2012 09:18:17 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm47188537eef.10.2012.05.11.09.18.16
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:18:17 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:18:13 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Bei Guan <gbtju85@gmail.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <CBD2FA55.32E6A%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vkanZ08+Wb0u9d0+2LCshBJFncA==
In-Reply-To: <CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/2012 17:10, "Bei Guan" <gbtju85@gmail.com> wrote:

> 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>
>> On Fri, 2012-05-11 at 16:12 +0100, Bei Guan wrote:
>>> =

>>> 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>

>>> =

>>> Thank you for your reply. I have used "hg pull; hg update" to update
>>> to the latest Xen and it is the version info:
>>> =

>>> root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
>>> changeset: =A0 25287:54c8c9eaee92
>>> tag: =A0 =A0 =A0 =A0 tip
>>> user: =A0 =A0 =A0 =A0Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
>>> date: =A0 =A0 =A0 =A0Fri Apr 27 11:09:26 2012 +0200
>>> summary: =A0 =A0 docs: add vpmu description to xen-command-line.markdown
>>> =

>>> But, it still has the same errors.
>> =

>> Thanks, looks like we still need to fix these errors then.
>> =

>> I'm not really happy with the following, but it's no worse than things
>> are today...
>> =

>> Bei, I don't see these build failures, does this work for you?
> =

> No, it doesn't work for me. There is the same error.
> My environment and gcc version are like this:

I think the problem is that casting the function result to void doesn't work
around this warning. You actually have to do something with the return code.
:-(

 -- Keir

> root@gavin-desktop:~# uname -a
> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC 2011
> x86_64 GNU/Linux
> =

> root@gavin-desktop:~# gcc -v
> Using built-in specs.
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion=3D'Ubuntu 4.4.3-4u=
buntu5'
> --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs
> --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr --enable-=
shared
> --enable-multiarch --enable-linker-build-id --with-system-zlib
> --libexecdir=3D/usr/lib --without-included-gettext --enable-threads=3Dpos=
ix
> --with-gxx-include-dir=3D/usr/include/c++/4.4 --program-suffix=3D-4.4 --e=
nable-nls
> --enable-clocale=3Dgnu --enable-libstdcxx-debug --enable-plugin --enable-=
objc-gc
> --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric
> --enable-checking=3Drelease --build=3Dx86_64-linux-gnu --host=3Dx86_64-li=
nux-gnu
> --target=3Dx86_64-linux-gnu
> Thread model: posix
> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> =

> =

> =

> =

> Thanks,
> Bei Guan
> =

> =

> =

> =A0
>> =

>> 8<------------------------------------------------------
>> =

>> # HG changeset patch
>> # User Ian Campbell <ian.campbell@citrix.com>
>> # Date 1336751175 -3600
>> # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>> # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999
>> blktap: avoid attribute warn_unused_result build failures.
>> =

>> I'm not proud of this, but since none of these callers of read/write hav=
e any
>> other error handling and return void themselves (for several links up the
>> call
>> chain AFAICT) and because I don't really want to get into a massive rewo=
rking
>> of blktap2 I suppose it is at least pragmatic
>> =

>> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>> =

>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c
>> --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:19:1=
6 2012
>> +0100
>> +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:46:1=
5 2012
>> +0100
>> @@ -247,7 +247,7 @@ tlog_flush(void)
>>  =A0 =A0 =A0 =A0wsize =3D ((size + 511) & (~511));
>> =

>>  =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, '\n', wsize - size);
>> - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);
>> + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);
>> =

>>  =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;
>> =

>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue=
.c
>> --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:19:16 =
2012
>> +0100
>> +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:46:15 =
2012
>> +0100
>> @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>>  =A0 =A0 =A0 =A0uint64_t val;
>> =

>>  =A0 =A0 =A0 =A0if (lio->flags & LIO_FLAG_EVENTFD)
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio->event_fd, &val, sizeof(val));
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio->event_fd, &val, sizeof(val=
));
>> =A0}
>> =

>> =A0static void
>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-strea=
m.c
>> --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:19:16 =
2012
>> +0100
>> +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:46:15 =
2012
>> +0100
>> @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>> =A0{
>>  =A0 =A0 =A0 =A0int dummy;
>> =

>> - =A0 =A0 =A0 read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>> + =A0 =A0 =A0 (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>>  =A0 =A0 =A0 =A0p->set =3D 0;
>> =A0}
>> =

>> @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>>  =A0 =A0 =A0 =A0int dummy =3D 0;
>> =

>>  =A0 =A0 =A0 =A0if (!p->set) {
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p->pipe[POLL_WRITE], &dummy, sizeof(=
dummy));
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p->pipe[POLL_WRITE], &dummy, s=
izeof(dummy));
>>  =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p->set =3D 1;
>>  =A0 =A0 =A0 =A0}
>> =A0}
>> @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>> =A0{
>>  =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned long)tapdisk_stream_requ=
est_idx(s,
>> sreq);
>>  =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s->vbd->ring.vstart, id=
x, 0);
>> - =A0 =A0 =A0 write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>> + =A0 =A0 =A0 (void)write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>> =A0}
>> =

>> =A0static void
>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c
>> --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:19:16 2012 +0100
>> +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:46:15 2012 +0100
>> @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>>  =A0 =A0 =A0 =A0if (optind !=3D argc)
>>  =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);
>> =

>> - =A0 =A0 =A0 chdir("/");
>> + =A0 =A0 =A0 if (chdir("/")) {
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF("failed to chdir(/): %d\n", errno);
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;
>> + =A0 =A0 =A0 }
>> +
>>  =A0 =A0 =A0 =A0tapdisk_start_logging("tapdisk2");
>> =

>>  =A0 =A0 =A0 =A0err =3D tapdisk_server_init();
>> =

>> =

> =

> =




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:18:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:18:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsXt-00085p-FO; Fri, 11 May 2012 16:18:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSsXs-00085c-D5
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:18:20 +0000
Received: from [85.158.143.35:9014] by server-1.bemta-4.messagelabs.com id
	DA/2A-20925-BCB3DAF4; Fri, 11 May 2012 16:18:19 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336753098!13564697!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.7 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	MIME_QP_LONG_LINE,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20818 invoked from network); 11 May 2012 16:18:18 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:18:18 -0000
Received: by eekd41 with SMTP id d41so132915eek.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:18:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=7oS+/M4SLBmL4fUN+ur5jx9Kp+SeOkHQAdnCXLN4hlQ=;
	b=HhaAvC0+irzzWQKpziUbAYecaLkx1vadDV+Zbla0efKWj76Gbi7VOu4sDJy5ktaNv/
	TDv3IxY3A6oda8hfrDxJmExiMnCBX+hwD+XRD/6RkNUgi43SZ+HkIj36glKx+RmIAZuO
	/oVkR8HtRoOd/Cc2e+u/4TJ7qrfqHvXZzM7d88X+nkmQyZglMBjfYXrh2dw6uww2FSuB
	fJiBFxIrzXN1Cdujp5gR/Dcg+VTaNftr3eOXvNVC+yS+ur49h+DuIssCh5wUgP0q6AFE
	dbcE9cj9u4VdHcAo5uhtVtRigN4AEwko0EfPBBTRvNu4PLUfEXqdQKB2vL1xSfBIVhxj
	EbFQ==
Received: by 10.213.113.14 with SMTP id y14mr2743544ebp.12.1336753097940;
	Fri, 11 May 2012 09:18:17 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm47188537eef.10.2012.05.11.09.18.16
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:18:17 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:18:13 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Bei Guan <gbtju85@gmail.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <CBD2FA55.32E6A%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vkanZ08+Wb0u9d0+2LCshBJFncA==
In-Reply-To: <CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/2012 17:10, "Bei Guan" <gbtju85@gmail.com> wrote:

> 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>
>> On Fri, 2012-05-11 at 16:12 +0100, Bei Guan wrote:
>>> =

>>> 2012/5/11 Ian Campbell <Ian.Campbell@citrix.com>

>>> =

>>> Thank you for your reply. I have used "hg pull; hg update" to update
>>> to the latest Xen and it is the version info:
>>> =

>>> root@gavin-desktop:~/Xen/xen-4.2-unstable# hg tip
>>> changeset: =A0 25287:54c8c9eaee92
>>> tag: =A0 =A0 =A0 =A0 tip
>>> user: =A0 =A0 =A0 =A0Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
>>> date: =A0 =A0 =A0 =A0Fri Apr 27 11:09:26 2012 +0200
>>> summary: =A0 =A0 docs: add vpmu description to xen-command-line.markdown
>>> =

>>> But, it still has the same errors.
>> =

>> Thanks, looks like we still need to fix these errors then.
>> =

>> I'm not really happy with the following, but it's no worse than things
>> are today...
>> =

>> Bei, I don't see these build failures, does this work for you?
> =

> No, it doesn't work for me. There is the same error.
> My environment and gcc version are like this:

I think the problem is that casting the function result to void doesn't work
around this warning. You actually have to do something with the return code.
:-(

 -- Keir

> root@gavin-desktop:~# uname -a
> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC 2011
> x86_64 GNU/Linux
> =

> root@gavin-desktop:~# gcc -v
> Using built-in specs.
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion=3D'Ubuntu 4.4.3-4u=
buntu5'
> --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs
> --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr --enable-=
shared
> --enable-multiarch --enable-linker-build-id --with-system-zlib
> --libexecdir=3D/usr/lib --without-included-gettext --enable-threads=3Dpos=
ix
> --with-gxx-include-dir=3D/usr/include/c++/4.4 --program-suffix=3D-4.4 --e=
nable-nls
> --enable-clocale=3Dgnu --enable-libstdcxx-debug --enable-plugin --enable-=
objc-gc
> --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric
> --enable-checking=3Drelease --build=3Dx86_64-linux-gnu --host=3Dx86_64-li=
nux-gnu
> --target=3Dx86_64-linux-gnu
> Thread model: posix
> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> =

> =

> =

> =

> Thanks,
> Bei Guan
> =

> =

> =

> =A0
>> =

>> 8<------------------------------------------------------
>> =

>> # HG changeset patch
>> # User Ian Campbell <ian.campbell@citrix.com>
>> # Date 1336751175 -3600
>> # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>> # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999
>> blktap: avoid attribute warn_unused_result build failures.
>> =

>> I'm not proud of this, but since none of these callers of read/write hav=
e any
>> other error handling and return void themselves (for several links up the
>> call
>> chain AFAICT) and because I don't really want to get into a massive rewo=
rking
>> of blktap2 I suppose it is at least pragmatic
>> =

>> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>> =

>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-log.c
>> --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:19:1=
6 2012
>> +0100
>> +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 Fri May 11 16:46:1=
5 2012
>> +0100
>> @@ -247,7 +247,7 @@ tlog_flush(void)
>>  =A0 =A0 =A0 =A0wsize =3D ((size + 511) & (~511));
>> =

>>  =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, '\n', wsize - size);
>> - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);
>> + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);
>> =

>>  =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;
>> =

>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-queue=
.c
>> --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:19:16 =
2012
>> +0100
>> +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri May 11 16:46:15 =
2012
>> +0100
>> @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>>  =A0 =A0 =A0 =A0uint64_t val;
>> =

>>  =A0 =A0 =A0 =A0if (lio->flags & LIO_FLAG_EVENTFD)
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio->event_fd, &val, sizeof(val));
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio->event_fd, &val, sizeof(val=
));
>> =A0}
>> =

>> =A0static void
>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk-strea=
m.c
>> --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:19:16 =
2012
>> +0100
>> +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri May 11 16:46:15 =
2012
>> +0100
>> @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>> =A0{
>>  =A0 =A0 =A0 =A0int dummy;
>> =

>> - =A0 =A0 =A0 read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>> + =A0 =A0 =A0 (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>>  =A0 =A0 =A0 =A0p->set =3D 0;
>> =A0}
>> =

>> @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>>  =A0 =A0 =A0 =A0int dummy =3D 0;
>> =

>>  =A0 =A0 =A0 =A0if (!p->set) {
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p->pipe[POLL_WRITE], &dummy, sizeof(=
dummy));
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p->pipe[POLL_WRITE], &dummy, s=
izeof(dummy));
>>  =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p->set =3D 1;
>>  =A0 =A0 =A0 =A0}
>> =A0}
>> @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>> =A0{
>>  =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned long)tapdisk_stream_requ=
est_idx(s,
>> sreq);
>>  =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s->vbd->ring.vstart, id=
x, 0);
>> - =A0 =A0 =A0 write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>> + =A0 =A0 =A0 (void)write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>> =A0}
>> =

>> =A0static void
>> diff -r adc74e492edf -r 15ed8f45c4e5 tools/blktap2/drivers/tapdisk2.c
>> --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:19:16 2012 +0100
>> +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16:46:15 2012 +0100
>> @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>>  =A0 =A0 =A0 =A0if (optind !=3D argc)
>>  =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);
>> =

>> - =A0 =A0 =A0 chdir("/");
>> + =A0 =A0 =A0 if (chdir("/")) {
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF("failed to chdir(/): %d\n", errno);
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;
>> + =A0 =A0 =A0 }
>> +
>>  =A0 =A0 =A0 =A0tapdisk_start_logging("tapdisk2");
>> =

>>  =A0 =A0 =A0 =A0err =3D tapdisk_server_init();
>> =

>> =

> =

> =




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:21:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:21:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsaa-0008OX-1n; Fri, 11 May 2012 16:21:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSsaY-0008OM-AA
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:21:06 +0000
Received: from [85.158.143.35:26710] by server-3.bemta-4.messagelabs.com id
	9B/26-05853-17C3DAF4; Fri, 11 May 2012 16:21:05 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336753264!14132481!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7433 invoked from network); 11 May 2012 16:21:04 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 16:21:04 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (jored mo82) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id J010eao4BEFxXL ;
	Fri, 11 May 2012 18:21:04 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 92F5918637; Fri, 11 May 2012 18:21:03 +0200 (CEST)
Date: Fri, 11 May 2012 18:21:03 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120511162103.GA24144@aepfle.de>
References: <f81fa4014d8c66bd1a80.1336746929@probook.site>
	<1336751953.23818.118.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336751953.23818.118.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
 asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, Ian Campbell wrote:

> On Fri, 2012-05-11 at 15:35 +0100, Olaf Hering wrote:
> > # HG changeset patch
> > # User Olaf Hering <olaf@aepfle.de>
> > # Date 1336743357 -7200
> > # Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
> > # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
> > unmodified_drivers: remove inclusion of asm/system.h
> > 
> > Allow compilation of PVonHVM drivers with forward-ported xenlinux
> > sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
> > anymore. Remove inclusion of this header, its not needed.
> 
> It is not needed for 3.4 or it is not needed for any historical Linux
> version which these drivers are supposed to be built against? What
> kernels have you build tested?

asm/system.h does not need to be included.
I tested it with sles11sp1+2, opensuse 11.2, 11.4, 12.1 and 12.2.
I have not tested it with a plain linux-2.6.18-xen.hg, but I suspect it
should work there too.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:21:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:21:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsaa-0008OX-1n; Fri, 11 May 2012 16:21:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SSsaY-0008OM-AA
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:21:06 +0000
Received: from [85.158.143.35:26710] by server-3.bemta-4.messagelabs.com id
	9B/26-05853-17C3DAF4; Fri, 11 May 2012 16:21:05 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336753264!14132481!1
X-Originating-IP: [81.169.146.161]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MSA9PiAyOTYwNjg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7433 invoked from network); 11 May 2012 16:21:04 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 16:21:04 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFHji0PEiK4
X-RZG-CLASS-ID: mo00
Received: from probook.site
	(dslb-088-065-090-115.pools.arcor-ip.net [88.65.90.115])
	by smtp.strato.de (jored mo82) (RZmta 29.7 DYNA|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id J010eao4BEFxXL ;
	Fri, 11 May 2012 18:21:04 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 92F5918637; Fri, 11 May 2012 18:21:03 +0200 (CEST)
Date: Fri, 11 May 2012 18:21:03 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120511162103.GA24144@aepfle.de>
References: <f81fa4014d8c66bd1a80.1336746929@probook.site>
	<1336751953.23818.118.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336751953.23818.118.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
 asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, Ian Campbell wrote:

> On Fri, 2012-05-11 at 15:35 +0100, Olaf Hering wrote:
> > # HG changeset patch
> > # User Olaf Hering <olaf@aepfle.de>
> > # Date 1336743357 -7200
> > # Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
> > # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
> > unmodified_drivers: remove inclusion of asm/system.h
> > 
> > Allow compilation of PVonHVM drivers with forward-ported xenlinux
> > sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
> > anymore. Remove inclusion of this header, its not needed.
> 
> It is not needed for 3.4 or it is not needed for any historical Linux
> version which these drivers are supposed to be built against? What
> kernels have you build tested?

asm/system.h does not need to be included.
I tested it with sles11sp1+2, opensuse 11.2, 11.4, 12.1 and 12.2.
I have not tested it with a plain linux-2.6.18-xen.hg, but I suspect it
should work there too.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:22:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsc5-000088-I0; Fri, 11 May 2012 16:22:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsc3-00007t-N2
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:22:39 +0000
Received: from [85.158.143.35:38392] by server-3.bemta-4.messagelabs.com id
	C5/87-05853-ECC3DAF4; Fri, 11 May 2012 16:22:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336753357!14953731!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26482 invoked from network); 11 May 2012 16:22:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:22:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434314"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:22:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:22:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsc0-0007m4-Uy; Fri, 11 May 2012 16:22:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsc0-000253-U3;
	Fri, 11 May 2012 17:22:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.15564.760599.342906@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:22:36 +0100
To: Ian Campbell <ian.campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <5abc2c4e80892ca27db5.1336735374@cosworth.uk.xensource.com>
References: <5abc2c4e80892ca27db5.1336735374@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xl: use libxl_cpumap_set_none not memset
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[Xen-devel] [PATCH] xl: use libxl_cpumap_set_none not memset"):
> xl: use libxl_cpumap_set_none not memset

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:22:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsc5-000088-I0; Fri, 11 May 2012 16:22:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsc3-00007t-N2
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:22:39 +0000
Received: from [85.158.143.35:38392] by server-3.bemta-4.messagelabs.com id
	C5/87-05853-ECC3DAF4; Fri, 11 May 2012 16:22:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336753357!14953731!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26482 invoked from network); 11 May 2012 16:22:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:22:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434314"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:22:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:22:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsc0-0007m4-Uy; Fri, 11 May 2012 16:22:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsc0-000253-U3;
	Fri, 11 May 2012 17:22:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.15564.760599.342906@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:22:36 +0100
To: Ian Campbell <ian.campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <5abc2c4e80892ca27db5.1336735374@cosworth.uk.xensource.com>
References: <5abc2c4e80892ca27db5.1336735374@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xl: use libxl_cpumap_set_none not memset
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[Xen-devel] [PATCH] xl: use libxl_cpumap_set_none not memset"):
> xl: use libxl_cpumap_set_none not memset

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:24:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:24:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsdo-0000NB-8f; Fri, 11 May 2012 16:24:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSsdm-0000Mx-Rj
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:24:27 +0000
Received: from [193.109.254.147:38407] by server-10.bemta-14.messagelabs.com
	id 07/85-05847-A3D3DAF4; Fri, 11 May 2012 16:24:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336753465!1959224!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6625 invoked from network); 11 May 2012 16:24:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:24:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434353"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:24:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:24:24 +0100
Message-ID: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bei Guan <gbtju85@gmail.com>
Date: Fri, 11 May 2012 17:24:23 +0100
In-Reply-To: <CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
	<1336751243.23818.106.camel@zakaz.uk.xensource.com>
	<CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Keir \(Xen.org\)" <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:


> No, it doesn't work for me. There is the same error.

Hrm. Since you can reproduce would you mind experimenting a bit to
figure out the correct fix for this?

Perhaps adding -Wno-unused-result to C flags helps (google suggests it
may not)?

Or maybe just assigning to a dummy variable.

Ian.

> My environment and gcc version are like this:
> 
> root@gavin-desktop:~# uname -a
> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> 2011 x86_64 GNU/Linux
> 
> root@gavin-desktop:~# gcc -v
> Using built-in specs.
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> 4.4.3-4ubuntu5'
> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> --enable-shared --enable-multiarch --enable-linker-build-id
> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> --disable-werror --with-arch-32=i486 --with-tune=generic
> --enable-checking=release --build=x86_64-linux-gnu
> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 
> 
> 
> 
> 
> Thanks,
> Bei Guan
> 
> 
> 
>  
>         
>         8<------------------------------------------------------
>         
>         # HG changeset patch
>         # User Ian Campbell <ian.campbell@citrix.com>
>         # Date 1336751175 -3600
>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
>         blktap: avoid attribute warn_unused_result build failures.
>         
>         I'm not proud of this, but since none of these callers of
>         read/write have any
>         other error handling and return void themselves (for several
>         links up the call
>         chain AFAICT) and because I don't really want to get into a
>         massive reworking
>         of blktap2 I suppose it is at least pragmatic
>         
>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>         
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk-log.c
>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>         16:19:16 2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>         16:46:15 2012 +0100
>         @@ -247,7 +247,7 @@ tlog_flush(void)
>                wsize = ((size + 511) & (~511));
>         
>                memset(tapdisk_log.buf + size, '\n', wsize - size);
>         -       write(fd, tapdisk_log.buf, wsize);
>         +       (void)write(fd, tapdisk_log.buf, wsize);
>         
>                tapdisk_log.p = tapdisk_log.buf;
>         
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk-queue.c
>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>         16:19:16 2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>         16:46:15 2012 +0100
>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>                uint64_t val;
>         
>                if (lio->flags & LIO_FLAG_EVENTFD)
>         -               read(lio->event_fd, &val, sizeof(val));
>         +               (void)read(lio->event_fd, &val, sizeof(val));
>          }
>         
>          static void
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk-stream.c
>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>         16:19:16 2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>         16:46:15 2012 +0100
>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>          {
>                int dummy;
>         
>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>                p->set = 0;
>          }
>         
>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>                int dummy = 0;
>         
>                if (!p->set) {
>         -               write(p->pipe[POLL_WRITE], &dummy,
>         sizeof(dummy));
>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
>         sizeof(dummy));
>                        p->set = 1;
>                }
>          }
>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>          {
>                unsigned long idx = (unsigned
>         long)tapdisk_stream_request_idx(s, sreq);
>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
>         idx, 0);
>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>         +       (void)write(s->out_fd, buf, sreq->secs <<
>         SECTOR_SHIFT);
>          }
>         
>          static void
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk2.c
>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
>         2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
>         2012 +0100
>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>                if (optind != argc)
>                        usage(argv[0], EINVAL);
>         
>         -       chdir("/");
>         +       if (chdir("/")) {
>         +               DPRINTF("failed to chdir(/): %d\n", errno);
>         +               err = 1;
>         +               goto out;
>         +       }
>         +
>                tapdisk_start_logging("tapdisk2");
>         
>                err = tapdisk_server_init();
>         
>         
> 
> 
> 
> -- 
> Best Regards,
> Bei Guan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:24:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:24:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsdo-0000NB-8f; Fri, 11 May 2012 16:24:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSsdm-0000Mx-Rj
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:24:27 +0000
Received: from [193.109.254.147:38407] by server-10.bemta-14.messagelabs.com
	id 07/85-05847-A3D3DAF4; Fri, 11 May 2012 16:24:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1336753465!1959224!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6625 invoked from network); 11 May 2012 16:24:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:24:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434353"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:24:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:24:24 +0100
Message-ID: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bei Guan <gbtju85@gmail.com>
Date: Fri, 11 May 2012 17:24:23 +0100
In-Reply-To: <CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
	<1336751243.23818.106.camel@zakaz.uk.xensource.com>
	<CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Keir \(Xen.org\)" <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:


> No, it doesn't work for me. There is the same error.

Hrm. Since you can reproduce would you mind experimenting a bit to
figure out the correct fix for this?

Perhaps adding -Wno-unused-result to C flags helps (google suggests it
may not)?

Or maybe just assigning to a dummy variable.

Ian.

> My environment and gcc version are like this:
> 
> root@gavin-desktop:~# uname -a
> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> 2011 x86_64 GNU/Linux
> 
> root@gavin-desktop:~# gcc -v
> Using built-in specs.
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> 4.4.3-4ubuntu5'
> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> --enable-shared --enable-multiarch --enable-linker-build-id
> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> --disable-werror --with-arch-32=i486 --with-tune=generic
> --enable-checking=release --build=x86_64-linux-gnu
> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 
> 
> 
> 
> 
> Thanks,
> Bei Guan
> 
> 
> 
>  
>         
>         8<------------------------------------------------------
>         
>         # HG changeset patch
>         # User Ian Campbell <ian.campbell@citrix.com>
>         # Date 1336751175 -3600
>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
>         blktap: avoid attribute warn_unused_result build failures.
>         
>         I'm not proud of this, but since none of these callers of
>         read/write have any
>         other error handling and return void themselves (for several
>         links up the call
>         chain AFAICT) and because I don't really want to get into a
>         massive reworking
>         of blktap2 I suppose it is at least pragmatic
>         
>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>         
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk-log.c
>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>         16:19:16 2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>         16:46:15 2012 +0100
>         @@ -247,7 +247,7 @@ tlog_flush(void)
>                wsize = ((size + 511) & (~511));
>         
>                memset(tapdisk_log.buf + size, '\n', wsize - size);
>         -       write(fd, tapdisk_log.buf, wsize);
>         +       (void)write(fd, tapdisk_log.buf, wsize);
>         
>                tapdisk_log.p = tapdisk_log.buf;
>         
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk-queue.c
>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>         16:19:16 2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>         16:46:15 2012 +0100
>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>                uint64_t val;
>         
>                if (lio->flags & LIO_FLAG_EVENTFD)
>         -               read(lio->event_fd, &val, sizeof(val));
>         +               (void)read(lio->event_fd, &val, sizeof(val));
>          }
>         
>          static void
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk-stream.c
>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>         16:19:16 2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>         16:46:15 2012 +0100
>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>          {
>                int dummy;
>         
>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>                p->set = 0;
>          }
>         
>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>                int dummy = 0;
>         
>                if (!p->set) {
>         -               write(p->pipe[POLL_WRITE], &dummy,
>         sizeof(dummy));
>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
>         sizeof(dummy));
>                        p->set = 1;
>                }
>          }
>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>          {
>                unsigned long idx = (unsigned
>         long)tapdisk_stream_request_idx(s, sreq);
>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
>         idx, 0);
>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>         +       (void)write(s->out_fd, buf, sreq->secs <<
>         SECTOR_SHIFT);
>          }
>         
>          static void
>         diff -r adc74e492edf -r 15ed8f45c4e5
>         tools/blktap2/drivers/tapdisk2.c
>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
>         2012 +0100
>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
>         2012 +0100
>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>                if (optind != argc)
>                        usage(argv[0], EINVAL);
>         
>         -       chdir("/");
>         +       if (chdir("/")) {
>         +               DPRINTF("failed to chdir(/): %d\n", errno);
>         +               err = 1;
>         +               goto out;
>         +       }
>         +
>                tapdisk_start_logging("tapdisk2");
>         
>                err = tapdisk_server_init();
>         
>         
> 
> 
> 
> -- 
> Best Regards,
> Bei Guan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:26:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:26:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsg3-0000di-Up; Fri, 11 May 2012 16:26:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSsg1-0000dE-Rd
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:26:46 +0000
Received: from [193.109.254.147:59489] by server-10.bemta-14.messagelabs.com
	id A6/D7-05847-5CD3DAF4; Fri, 11 May 2012 16:26:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336753604!8791247!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17209 invoked from network); 11 May 2012 16:26:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:26:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434396"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:26:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:26:43 +0100
Message-ID: <1336753602.23818.133.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 17:26:42 +0100
In-Reply-To: <20397.14624.57140.518016@mariner.uk.xensource.com>
References: <1334928211-29856-1-git-send-email-roger.pau@citrix.com>
	<1334928211-29856-4-git-send-email-roger.pau@citrix.com>
	<20373.34767.584624.953798@mariner.uk.xensource.com>
	<4F982F18.2080902@citrix.com>	<4F99360E.2010201@citrix.com>
	<20377.18296.235567.918003@mariner.uk.xensource.com>
	<1335445762.28015.141.camel@zakaz.uk.xensource.com>
	<20397.14624.57140.518016@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts
 from libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:06 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts from libxl for vbd"):
> > On Thu, 2012-04-26 at 14:02 +0100, Ian Jackson wrote:
> > > I think we need to think about these timeouts.  At the very least
> > > they're policy which should probably not be hardcoded in libxl; and
> > > arguably people might want to be able to specify infinite ("I trust my
> > > guest or driver domain and never want to pull the rug out from under
> > > its feet") or zero ("this guest or driver domain has gone wrong and I
> > > want it killed, now").
> > 
> > Unless the same is going to be true of the eventual solution (which I
> > suppose it may well be?) we should be wary of over engineering the
> > interim solution for 4.2.
> 
> I guess.  Also xend's poor behaviour in this area (failing hotplug
> timeouts) provides something of an excuse...
> 
> > > Perhaps it would be better to do things the other way around, and have
> > > an env var for the case where we're _not_ calling the script from
> > > udev ?  After all, udev config is configuration (at least on my
> > > distros) which the user may not update when the software is updated.
> > 
> > It was my suggestion to do it this way so that we don't end up with a
> > vestigial env var which must always be set for no real reason after
> > we've removed the udev path altogether.
> 
> When we have "removed the udev path altogether" we will still need to
> have something to prevent trouble if the udev rules remain for some
> reason.
> 
> > I don't really mind though, we could live with that vestigial thing, or
> > have another, easier, transition a few releases down the line.
> 
> The vestigial thing can indeed eventually go away.

I'm happy for Roger and you to agree whichever sense you think best for
the flag.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:26:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:26:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsg3-0000di-Up; Fri, 11 May 2012 16:26:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSsg1-0000dE-Rd
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:26:46 +0000
Received: from [193.109.254.147:59489] by server-10.bemta-14.messagelabs.com
	id A6/D7-05847-5CD3DAF4; Fri, 11 May 2012 16:26:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336753604!8791247!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17209 invoked from network); 11 May 2012 16:26:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:26:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434396"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:26:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:26:43 +0100
Message-ID: <1336753602.23818.133.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 17:26:42 +0100
In-Reply-To: <20397.14624.57140.518016@mariner.uk.xensource.com>
References: <1334928211-29856-1-git-send-email-roger.pau@citrix.com>
	<1334928211-29856-4-git-send-email-roger.pau@citrix.com>
	<20373.34767.584624.953798@mariner.uk.xensource.com>
	<4F982F18.2080902@citrix.com>	<4F99360E.2010201@citrix.com>
	<20377.18296.235567.918003@mariner.uk.xensource.com>
	<1335445762.28015.141.camel@zakaz.uk.xensource.com>
	<20397.14624.57140.518016@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts
 from libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:06 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] Fwd: Re: [PATCH v3 3/5] libxl: call hotplug scripts from libxl for vbd"):
> > On Thu, 2012-04-26 at 14:02 +0100, Ian Jackson wrote:
> > > I think we need to think about these timeouts.  At the very least
> > > they're policy which should probably not be hardcoded in libxl; and
> > > arguably people might want to be able to specify infinite ("I trust my
> > > guest or driver domain and never want to pull the rug out from under
> > > its feet") or zero ("this guest or driver domain has gone wrong and I
> > > want it killed, now").
> > 
> > Unless the same is going to be true of the eventual solution (which I
> > suppose it may well be?) we should be wary of over engineering the
> > interim solution for 4.2.
> 
> I guess.  Also xend's poor behaviour in this area (failing hotplug
> timeouts) provides something of an excuse...
> 
> > > Perhaps it would be better to do things the other way around, and have
> > > an env var for the case where we're _not_ calling the script from
> > > udev ?  After all, udev config is configuration (at least on my
> > > distros) which the user may not update when the software is updated.
> > 
> > It was my suggestion to do it this way so that we don't end up with a
> > vestigial env var which must always be set for no real reason after
> > we've removed the udev path altogether.
> 
> When we have "removed the udev path altogether" we will still need to
> have something to prevent trouble if the udev rules remain for some
> reason.
> 
> > I don't really mind though, we could live with that vestigial thing, or
> > have another, easier, transition a few releases down the line.
> 
> The vestigial thing can indeed eventually go away.

I'm happy for Roger and you to agree whichever sense you think best for
the flag.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:33:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSslw-00010Y-U8; Fri, 11 May 2012 16:32:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSslv-00010N-Ga
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:32:51 +0000
Received: from [85.158.143.35:60317] by server-2.bemta-4.messagelabs.com id
	BB/40-17550-23F3DAF4; Fri, 11 May 2012 16:32:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336753970!15648569!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14266 invoked from network); 11 May 2012 16:32:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:32:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434472"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:32:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:32:50 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSslt-0007pY-Sq; Fri, 11 May 2012 16:32:49 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSslt-00026Q-Rz;
	Fri, 11 May 2012 17:32:49 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.16177.826755.879002@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:32:49 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336745632-28158-2-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include
	and	library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and library dir based on prefix"):
> NetBSD `python-conf --ldflags` doesn't return the library dir, so we
> have to add it to LDFLAGS based on the prefix returned by `python-conf
> --prefix`. Also the include dir has been added to CFLAGS using the
> same technique.
...
>      dnl If python-config is found use it
> -    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
> -    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags`"
> +    ac_python_prefix=`$PYTHON-config --prefix`
> +    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags` -I$ac_python_prefix/include"
> +    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags` -L$ac_python_prefix/lib"

Shouldn't the -I and particulary the -L come first ?  TBH I'm
surprised that this works since it looks like it ought to generate
   -lpython2.6 -L/usr/blah/lib/bleh/python2.6
or something, which I wouldn't expect to work.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:33:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSslw-00010Y-U8; Fri, 11 May 2012 16:32:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSslv-00010N-Ga
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:32:51 +0000
Received: from [85.158.143.35:60317] by server-2.bemta-4.messagelabs.com id
	BB/40-17550-23F3DAF4; Fri, 11 May 2012 16:32:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336753970!15648569!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14266 invoked from network); 11 May 2012 16:32:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:32:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434472"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:32:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:32:50 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSslt-0007pY-Sq; Fri, 11 May 2012 16:32:49 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSslt-00026Q-Rz;
	Fri, 11 May 2012 17:32:49 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.16177.826755.879002@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:32:49 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336745632-28158-2-git-send-email-roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include
	and	library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and library dir based on prefix"):
> NetBSD `python-conf --ldflags` doesn't return the library dir, so we
> have to add it to LDFLAGS based on the prefix returned by `python-conf
> --prefix`. Also the include dir has been added to CFLAGS using the
> same technique.
...
>      dnl If python-config is found use it
> -    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
> -    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags`"
> +    ac_python_prefix=`$PYTHON-config --prefix`
> +    CPPFLAGS="$CFLAGS `$PYTHON-config --cflags` -I$ac_python_prefix/include"
> +    LDFLAGS="$LDFLAGS `$PYTHON-config --ldflags` -L$ac_python_prefix/lib"

Shouldn't the -I and particulary the -L come first ?  TBH I'm
surprised that this works since it looks like it ought to generate
   -lpython2.6 -L/usr/blah/lib/bleh/python2.6
or something, which I wouldn't expect to work.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:33:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:33:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsmD-000127-B6; Fri, 11 May 2012 16:33:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSsmC-00011p-15
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:33:08 +0000
Received: from [85.158.138.51:16838] by server-2.bemta-3.messagelabs.com id
	6D/D4-09269-24F3DAF4; Fri, 11 May 2012 16:33:06 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336753984!26596074!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8791 invoked from network); 11 May 2012 16:33:05 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:33:05 -0000
Received: by lbok6 with SMTP id k6so2529215lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:33:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=/pWPR51mUITazkoRibJWYRVsIY4UCY/RUeYA/NXmqyk=;
	b=mCdeIPZfa33hvLMDWiSsHsdNBF8EfNCY37bKLChAjVKmOGTIdnIm75ZBpfrovbS41g
	Fgty25UDQLrNHy6CqAUtFbVVTyO5SjFADAlY3aYpDI+2EqynaEABbalP8Yko425Vs84K
	j3kCaVTDKMpzv/+ewtv45/FkuGJQut05AwQi4yOiODAe0N6weeeNkfKI1vJiO4P0i7/C
	VKgpa5uVen8toIw/+PjVjuDNonQUY4Cc/OaME/PqITB8t7L97o/rJG5QWY5WknV9KlTS
	GLl4e5tEsM0iQTNzX7pcOg7EE3B7g4jNTEnObtmFtfWU5xAqM0Bx0jaTxICO8pa8QE+6
	uHqg==
MIME-Version: 1.0
Received: by 10.152.123.244 with SMTP id md20mr819387lab.0.1336753984300; Fri,
	11 May 2012 09:33:04 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:33:04 -0700 (PDT)
In-Reply-To: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
	<1336751243.23818.106.camel@zakaz.uk.xensource.com>
	<CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
	<1336753463.23818.131.camel@zakaz.uk.xensource.com>
Date: Sat, 12 May 2012 00:33:04 +0800
Message-ID: <CAEQjb-TQfawPLn4QsygPyuuJWq6EUr4ni017AtCAjoqK8G0h1g@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3953058332252177758=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3953058332252177758==
Content-Type: multipart/alternative; boundary=f46d042f9cd862e76e04bfc54a97

--f46d042f9cd862e76e04bfc54a97
Content-Type: text/plain; charset=ISO-8859-1

2012/5/12 Ian Campbell <Ian.Campbell@citrix.com>

> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
>
>
> > No, it doesn't work for me. There is the same error.
>
> Hrm. Since you can reproduce would you mind experimenting a bit to
> figure out the correct fix for this?
>
> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> may not)?
>
Yes, I add this option to Makefile. And now it works well. The patch is as
the following. Thank you very much.


diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile
--- a/tools/blktap2/drivers/Makefile    Fri Apr 27 11:09:26 2012 +0200
+++ b/tools/blktap2/drivers/Makefile    Sat May 12 00:31:12 2012 +0800
@@ -11,6 +11,7 @@

 CFLAGS    += -Werror -g
 CFLAGS    += -Wno-unused
+CFLAGS    += -Wno-unused-result
 CFLAGS    += -fno-strict-aliasing
 CFLAGS    += -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
 CFLAGS    += $(CFLAGS_libxenctrl)




Thanks,
Bei Guan





>
> Or maybe just assigning to a dummy variable.
>
> Ian.
>
> > My environment and gcc version are like this:
> >
> > root@gavin-desktop:~# uname -a
> > Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> > 2011 x86_64 GNU/Linux
> >
> > root@gavin-desktop:~# gcc -v
> > Using built-in specs.
> > Target: x86_64-linux-gnu
> > Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> > 4.4.3-4ubuntu5'
> > --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> > --enable-shared --enable-multiarch --enable-linker-build-id
> > --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> > --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> > --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> > --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> > --disable-werror --with-arch-32=i486 --with-tune=generic
> > --enable-checking=release --build=x86_64-linux-gnu
> > --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> > Thread model: posix
> > gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> >
> >
> >
> >
> > Thanks,
> > Bei Guan
> >
> >
> >
> >
> >
> >         8<------------------------------------------------------
> >
> >         # HG changeset patch
> >         # User Ian Campbell <ian.campbell@citrix.com>
> >         # Date 1336751175 -3600
> >         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> >         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> >         blktap: avoid attribute warn_unused_result build failures.
> >
> >         I'm not proud of this, but since none of these callers of
> >         read/write have any
> >         other error handling and return void themselves (for several
> >         links up the call
> >         chain AFAICT) and because I don't really want to get into a
> >         massive reworking
> >         of blktap2 I suppose it is at least pragmatic
> >
> >         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk-log.c
> >         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >         16:19:16 2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >         16:46:15 2012 +0100
> >         @@ -247,7 +247,7 @@ tlog_flush(void)
> >                wsize = ((size + 511) & (~511));
> >
> >                memset(tapdisk_log.buf + size, '\n', wsize - size);
> >         -       write(fd, tapdisk_log.buf, wsize);
> >         +       (void)write(fd, tapdisk_log.buf, wsize);
> >
> >                tapdisk_log.p = tapdisk_log.buf;
> >
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk-queue.c
> >         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >         16:19:16 2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >         16:46:15 2012 +0100
> >         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
> >                uint64_t val;
> >
> >                if (lio->flags & LIO_FLAG_EVENTFD)
> >         -               read(lio->event_fd, &val, sizeof(val));
> >         +               (void)read(lio->event_fd, &val, sizeof(val));
> >          }
> >
> >          static void
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk-stream.c
> >         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >         16:19:16 2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >         16:46:15 2012 +0100
> >         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
> >          {
> >                int dummy;
> >
> >         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >                p->set = 0;
> >          }
> >
> >         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
> >                int dummy = 0;
> >
> >                if (!p->set) {
> >         -               write(p->pipe[POLL_WRITE], &dummy,
> >         sizeof(dummy));
> >         +               (void)write(p->pipe[POLL_WRITE], &dummy,
> >         sizeof(dummy));
> >                        p->set = 1;
> >                }
> >          }
> >         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
> >          {
> >                unsigned long idx = (unsigned
> >         long)tapdisk_stream_request_idx(s, sreq);
> >                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
> >         idx, 0);
> >         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> >         +       (void)write(s->out_fd, buf, sreq->secs <<
> >         SECTOR_SHIFT);
> >          }
> >
> >          static void
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk2.c
> >         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
> >         2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
> >         2012 +0100
> >         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
> >                if (optind != argc)
> >                        usage(argv[0], EINVAL);
> >
> >         -       chdir("/");
> >         +       if (chdir("/")) {
> >         +               DPRINTF("failed to chdir(/): %d\n", errno);
> >         +               err = 1;
> >         +               goto out;
> >         +       }
> >         +
> >                tapdisk_start_logging("tapdisk2");
> >
> >                err = tapdisk_server_init();
> >
> >
> >
> >
> >
> > --
> > Best Regards,
> > Bei Guan
> >
>
>
>


-- 
Best Regards,
Bei Guan

--f46d042f9cd862e76e04bfc54a97
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/12 Ian Campbell <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campb=
ell@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D=
"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">
<div class=3D"im">On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:<br>
<br>
<br>
&gt; No, it doesn&#39;t work for me. There is the same error.<br>
<br>
</div>Hrm. Since you can reproduce would you mind experimenting a bit to<br=
>
figure out the correct fix for this?<br>
<br>
Perhaps adding -Wno-unused-result to C flags helps (google suggests it<br>
may not)?<br></blockquote><div>Yes, I add this option to Makefile. And now =
it works well. The patch is as the following. Thank you very much.<br><br><=
br>diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile<br>--- a/tools/blkta=
p2/drivers/Makefile=A0=A0=A0 Fri Apr 27 11:09:26 2012 +0200<br>
+++ b/tools/blktap2/drivers/Makefile=A0=A0=A0 Sat May 12 00:31:12 2012 +080=
0<br>@@ -11,6 +11,7 @@<br>=A0<br>=A0CFLAGS=A0=A0=A0 +=3D -Werror -g<br>=A0C=
FLAGS=A0=A0=A0 +=3D -Wno-unused<br>+CFLAGS=A0=A0=A0 +=3D -Wno-unused-result=
<br>=A0CFLAGS=A0=A0=A0 +=3D -fno-strict-aliasing<br>
=A0CFLAGS=A0=A0=A0 +=3D -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers<b=
r>=A0CFLAGS=A0=A0=A0 +=3D $(CFLAGS_libxenctrl)<br><br><br><br><br>Thanks,<b=
r>Bei Guan<br><br><br><br>=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">

<br>
Or maybe just assigning to a dummy variable.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Ian.<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
&gt; My environment and gcc version are like this:<br>
&gt;<br>
&gt; root@gavin-desktop:~# uname -a<br>
&gt; Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC<=
br>
&gt; 2011 x86_64 GNU/Linux<br>
&gt;<br>
&gt; root@gavin-desktop:~# gcc -v<br>
&gt; Using built-in specs.<br>
&gt; Target: x86_64-linux-gnu<br>
&gt; Configured with: ../src/configure -v --with-pkgversion=3D&#39;Ubuntu<b=
r>
&gt; 4.4.3-4ubuntu5&#39;<br>
&gt; --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs<br>
&gt; --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr<br>
&gt; --enable-shared --enable-multiarch --enable-linker-build-id<br>
&gt; --with-system-zlib --libexecdir=3D/usr/lib --without-included-gettext<=
br>
&gt; --enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++/4.4=
<br>
&gt; --program-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu<br>
&gt; --enable-libstdcxx-debug --enable-plugin --enable-objc-gc<br>
&gt; --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric<br>
&gt; --enable-checking=3Drelease --build=3Dx86_64-linux-gnu<br>
&gt; --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu<br>
&gt; Thread model: posix<br>
&gt; gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Bei Guan<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 8&lt;-------------------------------------------------=
-----<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 # HG changeset patch<br>
&gt; =A0 =A0 =A0 =A0 # User Ian Campbell &lt;<a href=3D"mailto:ian.campbell=
@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt; =A0 =A0 =A0 =A0 # Date 1336751175 -3600<br>
&gt; =A0 =A0 =A0 =A0 # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99<br>
&gt; =A0 =A0 =A0 =A0 # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999<b=
r>
&gt; =A0 =A0 =A0 =A0 blktap: avoid attribute warn_unused_result build failu=
res.<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 I&#39;m not proud of this, but since none of these cal=
lers of<br>
&gt; =A0 =A0 =A0 =A0 read/write have any<br>
&gt; =A0 =A0 =A0 =A0 other error handling and return void themselves (for s=
everal<br>
&gt; =A0 =A0 =A0 =A0 links up the call<br>
&gt; =A0 =A0 =A0 =A0 chain AFAICT) and because I don&#39;t really want to g=
et into a<br>
&gt; =A0 =A0 =A0 =A0 massive reworking<br>
&gt; =A0 =A0 =A0 =A0 of blktap2 I suppose it is at least pragmatic<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 Signed-off-by: Ian Campbell &lt;<a href=3D"mailto:ian.=
campbell@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-log.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 =
Fri May 11<br>
&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 =
Fri May 11<br>
&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -247,7 +247,7 @@ tlog_flush(void)<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wsize =3D ((size + 511) &amp; (~511));<=
br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, &#39;\n&=
#39;, wsize - size);<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);=
<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-queue.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueu=
e *que<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0uint64_t val;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (lio-&gt;flags &amp; LIO_FLAG_EVENTF=
D)<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio-&gt;event_fd, &=
amp;val, sizeof(val));<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio-&gt;event=
_fd, &amp;val, sizeof(val));<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-stream.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct t=
apdisk<br>
&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 read(p-&gt;pipe[POLL_READ], &amp;dummy, =
sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)read(p-&gt;pipe[POLL_READ], &amp;d=
ummy, sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 0;<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tap=
disk_s<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy =3D 0;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!p-&gt;set) {<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p-&gt;pipe[POLL_WR=
ITE], &amp;dummy,<br>
&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p-&gt;pipe[P=
OLL_WRITE], &amp;dummy,<br>
&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 1;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt; =A0 =A0 =A0 =A0 @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struc=
t tapd<br>
&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned<br>
&gt; =A0 =A0 =A0 =A0 long)tapdisk_stream_request_idx(s, sreq);<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s-&gt;=
vbd-&gt;ring.vstart,<br>
&gt; =A0 =A0 =A0 =A0 idx, 0);<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(s-&gt;out_fd, buf, sreq-&gt;secs &=
lt;&lt; SECTOR_SHIFT);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(s-&gt;out_fd, buf, sreq-&gt;=
secs &lt;&lt;<br>
&gt; =A0 =A0 =A0 =A0 SECTOR_SHIFT);<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk2.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 1=
6:19:16<br>
&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 1=
6:46:15<br>
&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -79,7 +79,12 @@ main(int argc, char *argv[])<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (optind !=3D argc)<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);=
<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 chdir(&quot;/&quot;);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 if (chdir(&quot;/&quot;)) {<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF(&quot;failed to =
chdir(/): %d\n&quot;, errno);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 }<br>
&gt; =A0 =A0 =A0 =A0 +<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_start_logging(&quot;tapdisk2&qu=
ot;);<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Best Regards,<br>
&gt; Bei Guan<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regard=
s,<div>Bei Guan</div><br>

--f46d042f9cd862e76e04bfc54a97--


--===============3953058332252177758==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3953058332252177758==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:33:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:33:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsmD-000127-B6; Fri, 11 May 2012 16:33:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSsmC-00011p-15
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:33:08 +0000
Received: from [85.158.138.51:16838] by server-2.bemta-3.messagelabs.com id
	6D/D4-09269-24F3DAF4; Fri, 11 May 2012 16:33:06 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336753984!26596074!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8791 invoked from network); 11 May 2012 16:33:05 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:33:05 -0000
Received: by lbok6 with SMTP id k6so2529215lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:33:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=/pWPR51mUITazkoRibJWYRVsIY4UCY/RUeYA/NXmqyk=;
	b=mCdeIPZfa33hvLMDWiSsHsdNBF8EfNCY37bKLChAjVKmOGTIdnIm75ZBpfrovbS41g
	Fgty25UDQLrNHy6CqAUtFbVVTyO5SjFADAlY3aYpDI+2EqynaEABbalP8Yko425Vs84K
	j3kCaVTDKMpzv/+ewtv45/FkuGJQut05AwQi4yOiODAe0N6weeeNkfKI1vJiO4P0i7/C
	VKgpa5uVen8toIw/+PjVjuDNonQUY4Cc/OaME/PqITB8t7L97o/rJG5QWY5WknV9KlTS
	GLl4e5tEsM0iQTNzX7pcOg7EE3B7g4jNTEnObtmFtfWU5xAqM0Bx0jaTxICO8pa8QE+6
	uHqg==
MIME-Version: 1.0
Received: by 10.152.123.244 with SMTP id md20mr819387lab.0.1336753984300; Fri,
	11 May 2012 09:33:04 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:33:04 -0700 (PDT)
In-Reply-To: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
References: <CAEQjb-Rs7XrjDpQXpMLoHuLjavKrosaVmbyuQKPNsivUjJ14=w@mail.gmail.com>
	<1336745780.23818.80.camel@zakaz.uk.xensource.com>
	<CAEQjb-QaAPvF+ckQ+0NYoTzYDtii7VU4Y3pPL=LaMGonrUqmpw@mail.gmail.com>
	<1336751243.23818.106.camel@zakaz.uk.xensource.com>
	<CAEQjb-Skpg2O8vi1fGSprHZVw0hSg_+-H83=zQGnetQz2__h_g@mail.gmail.com>
	<1336753463.23818.131.camel@zakaz.uk.xensource.com>
Date: Sat, 12 May 2012 00:33:04 +0800
Message-ID: <CAEQjb-TQfawPLn4QsygPyuuJWq6EUr4ni017AtCAjoqK8G0h1g@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Keir \(Xen.org\)" <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3953058332252177758=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3953058332252177758==
Content-Type: multipart/alternative; boundary=f46d042f9cd862e76e04bfc54a97

--f46d042f9cd862e76e04bfc54a97
Content-Type: text/plain; charset=ISO-8859-1

2012/5/12 Ian Campbell <Ian.Campbell@citrix.com>

> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
>
>
> > No, it doesn't work for me. There is the same error.
>
> Hrm. Since you can reproduce would you mind experimenting a bit to
> figure out the correct fix for this?
>
> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> may not)?
>
Yes, I add this option to Makefile. And now it works well. The patch is as
the following. Thank you very much.


diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile
--- a/tools/blktap2/drivers/Makefile    Fri Apr 27 11:09:26 2012 +0200
+++ b/tools/blktap2/drivers/Makefile    Sat May 12 00:31:12 2012 +0800
@@ -11,6 +11,7 @@

 CFLAGS    += -Werror -g
 CFLAGS    += -Wno-unused
+CFLAGS    += -Wno-unused-result
 CFLAGS    += -fno-strict-aliasing
 CFLAGS    += -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
 CFLAGS    += $(CFLAGS_libxenctrl)




Thanks,
Bei Guan





>
> Or maybe just assigning to a dummy variable.
>
> Ian.
>
> > My environment and gcc version are like this:
> >
> > root@gavin-desktop:~# uname -a
> > Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> > 2011 x86_64 GNU/Linux
> >
> > root@gavin-desktop:~# gcc -v
> > Using built-in specs.
> > Target: x86_64-linux-gnu
> > Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> > 4.4.3-4ubuntu5'
> > --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> > --enable-shared --enable-multiarch --enable-linker-build-id
> > --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> > --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> > --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> > --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> > --disable-werror --with-arch-32=i486 --with-tune=generic
> > --enable-checking=release --build=x86_64-linux-gnu
> > --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> > Thread model: posix
> > gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> >
> >
> >
> >
> > Thanks,
> > Bei Guan
> >
> >
> >
> >
> >
> >         8<------------------------------------------------------
> >
> >         # HG changeset patch
> >         # User Ian Campbell <ian.campbell@citrix.com>
> >         # Date 1336751175 -3600
> >         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> >         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> >         blktap: avoid attribute warn_unused_result build failures.
> >
> >         I'm not proud of this, but since none of these callers of
> >         read/write have any
> >         other error handling and return void themselves (for several
> >         links up the call
> >         chain AFAICT) and because I don't really want to get into a
> >         massive reworking
> >         of blktap2 I suppose it is at least pragmatic
> >
> >         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk-log.c
> >         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >         16:19:16 2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >         16:46:15 2012 +0100
> >         @@ -247,7 +247,7 @@ tlog_flush(void)
> >                wsize = ((size + 511) & (~511));
> >
> >                memset(tapdisk_log.buf + size, '\n', wsize - size);
> >         -       write(fd, tapdisk_log.buf, wsize);
> >         +       (void)write(fd, tapdisk_log.buf, wsize);
> >
> >                tapdisk_log.p = tapdisk_log.buf;
> >
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk-queue.c
> >         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >         16:19:16 2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >         16:46:15 2012 +0100
> >         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
> >                uint64_t val;
> >
> >                if (lio->flags & LIO_FLAG_EVENTFD)
> >         -               read(lio->event_fd, &val, sizeof(val));
> >         +               (void)read(lio->event_fd, &val, sizeof(val));
> >          }
> >
> >          static void
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk-stream.c
> >         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >         16:19:16 2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >         16:46:15 2012 +0100
> >         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
> >          {
> >                int dummy;
> >
> >         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >                p->set = 0;
> >          }
> >
> >         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
> >                int dummy = 0;
> >
> >                if (!p->set) {
> >         -               write(p->pipe[POLL_WRITE], &dummy,
> >         sizeof(dummy));
> >         +               (void)write(p->pipe[POLL_WRITE], &dummy,
> >         sizeof(dummy));
> >                        p->set = 1;
> >                }
> >          }
> >         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
> >          {
> >                unsigned long idx = (unsigned
> >         long)tapdisk_stream_request_idx(s, sreq);
> >                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
> >         idx, 0);
> >         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> >         +       (void)write(s->out_fd, buf, sreq->secs <<
> >         SECTOR_SHIFT);
> >          }
> >
> >          static void
> >         diff -r adc74e492edf -r 15ed8f45c4e5
> >         tools/blktap2/drivers/tapdisk2.c
> >         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
> >         2012 +0100
> >         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
> >         2012 +0100
> >         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
> >                if (optind != argc)
> >                        usage(argv[0], EINVAL);
> >
> >         -       chdir("/");
> >         +       if (chdir("/")) {
> >         +               DPRINTF("failed to chdir(/): %d\n", errno);
> >         +               err = 1;
> >         +               goto out;
> >         +       }
> >         +
> >                tapdisk_start_logging("tapdisk2");
> >
> >                err = tapdisk_server_init();
> >
> >
> >
> >
> >
> > --
> > Best Regards,
> > Bei Guan
> >
>
>
>


-- 
Best Regards,
Bei Guan

--f46d042f9cd862e76e04bfc54a97
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/12 Ian Campbell <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campb=
ell@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D=
"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">
<div class=3D"im">On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:<br>
<br>
<br>
&gt; No, it doesn&#39;t work for me. There is the same error.<br>
<br>
</div>Hrm. Since you can reproduce would you mind experimenting a bit to<br=
>
figure out the correct fix for this?<br>
<br>
Perhaps adding -Wno-unused-result to C flags helps (google suggests it<br>
may not)?<br></blockquote><div>Yes, I add this option to Makefile. And now =
it works well. The patch is as the following. Thank you very much.<br><br><=
br>diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile<br>--- a/tools/blkta=
p2/drivers/Makefile=A0=A0=A0 Fri Apr 27 11:09:26 2012 +0200<br>
+++ b/tools/blktap2/drivers/Makefile=A0=A0=A0 Sat May 12 00:31:12 2012 +080=
0<br>@@ -11,6 +11,7 @@<br>=A0<br>=A0CFLAGS=A0=A0=A0 +=3D -Werror -g<br>=A0C=
FLAGS=A0=A0=A0 +=3D -Wno-unused<br>+CFLAGS=A0=A0=A0 +=3D -Wno-unused-result=
<br>=A0CFLAGS=A0=A0=A0 +=3D -fno-strict-aliasing<br>
=A0CFLAGS=A0=A0=A0 +=3D -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers<b=
r>=A0CFLAGS=A0=A0=A0 +=3D $(CFLAGS_libxenctrl)<br><br><br><br><br>Thanks,<b=
r>Bei Guan<br><br><br><br>=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">

<br>
Or maybe just assigning to a dummy variable.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Ian.<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
&gt; My environment and gcc version are like this:<br>
&gt;<br>
&gt; root@gavin-desktop:~# uname -a<br>
&gt; Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC<=
br>
&gt; 2011 x86_64 GNU/Linux<br>
&gt;<br>
&gt; root@gavin-desktop:~# gcc -v<br>
&gt; Using built-in specs.<br>
&gt; Target: x86_64-linux-gnu<br>
&gt; Configured with: ../src/configure -v --with-pkgversion=3D&#39;Ubuntu<b=
r>
&gt; 4.4.3-4ubuntu5&#39;<br>
&gt; --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs<br>
&gt; --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr<br>
&gt; --enable-shared --enable-multiarch --enable-linker-build-id<br>
&gt; --with-system-zlib --libexecdir=3D/usr/lib --without-included-gettext<=
br>
&gt; --enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++/4.4=
<br>
&gt; --program-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu<br>
&gt; --enable-libstdcxx-debug --enable-plugin --enable-objc-gc<br>
&gt; --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric<br>
&gt; --enable-checking=3Drelease --build=3Dx86_64-linux-gnu<br>
&gt; --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu<br>
&gt; Thread model: posix<br>
&gt; gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Bei Guan<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 8&lt;-------------------------------------------------=
-----<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 # HG changeset patch<br>
&gt; =A0 =A0 =A0 =A0 # User Ian Campbell &lt;<a href=3D"mailto:ian.campbell=
@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt; =A0 =A0 =A0 =A0 # Date 1336751175 -3600<br>
&gt; =A0 =A0 =A0 =A0 # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99<br>
&gt; =A0 =A0 =A0 =A0 # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999<b=
r>
&gt; =A0 =A0 =A0 =A0 blktap: avoid attribute warn_unused_result build failu=
res.<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 I&#39;m not proud of this, but since none of these cal=
lers of<br>
&gt; =A0 =A0 =A0 =A0 read/write have any<br>
&gt; =A0 =A0 =A0 =A0 other error handling and return void themselves (for s=
everal<br>
&gt; =A0 =A0 =A0 =A0 links up the call<br>
&gt; =A0 =A0 =A0 =A0 chain AFAICT) and because I don&#39;t really want to g=
et into a<br>
&gt; =A0 =A0 =A0 =A0 massive reworking<br>
&gt; =A0 =A0 =A0 =A0 of blktap2 I suppose it is at least pragmatic<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 Signed-off-by: Ian Campbell &lt;<a href=3D"mailto:ian.=
campbell@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-log.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 =
Fri May 11<br>
&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 =
Fri May 11<br>
&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -247,7 +247,7 @@ tlog_flush(void)<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wsize =3D ((size + 511) &amp; (~511));<=
br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, &#39;\n&=
#39;, wsize - size);<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);=
<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-queue.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueu=
e *que<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0uint64_t val;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (lio-&gt;flags &amp; LIO_FLAG_EVENTF=
D)<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio-&gt;event_fd, &=
amp;val, sizeof(val));<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio-&gt;event=
_fd, &amp;val, sizeof(val));<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-stream.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fr=
i May 11<br>
&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct t=
apdisk<br>
&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 read(p-&gt;pipe[POLL_READ], &amp;dummy, =
sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)read(p-&gt;pipe[POLL_READ], &amp;d=
ummy, sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 0;<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tap=
disk_s<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy =3D 0;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!p-&gt;set) {<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p-&gt;pipe[POLL_WR=
ITE], &amp;dummy,<br>
&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p-&gt;pipe[P=
OLL_WRITE], &amp;dummy,<br>
&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 1;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt; =A0 =A0 =A0 =A0 @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struc=
t tapd<br>
&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned<br>
&gt; =A0 =A0 =A0 =A0 long)tapdisk_stream_request_idx(s, sreq);<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s-&gt;=
vbd-&gt;ring.vstart,<br>
&gt; =A0 =A0 =A0 =A0 idx, 0);<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(s-&gt;out_fd, buf, sreq-&gt;secs &=
lt;&lt; SECTOR_SHIFT);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(s-&gt;out_fd, buf, sreq-&gt;=
secs &lt;&lt;<br>
&gt; =A0 =A0 =A0 =A0 SECTOR_SHIFT);<br>
&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk2.c<br>
&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 1=
6:19:16<br>
&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 1=
6:46:15<br>
&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt; =A0 =A0 =A0 =A0 @@ -79,7 +79,12 @@ main(int argc, char *argv[])<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (optind !=3D argc)<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);=
<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 chdir(&quot;/&quot;);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 if (chdir(&quot;/&quot;)) {<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF(&quot;failed to =
chdir(/): %d\n&quot;, errno);<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;<br>
&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 }<br>
&gt; =A0 =A0 =A0 =A0 +<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_start_logging(&quot;tapdisk2&qu=
ot;);<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Best Regards,<br>
&gt; Bei Guan<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regard=
s,<div>Bei Guan</div><br>

--f46d042f9cd862e76e04bfc54a97--


--===============3953058332252177758==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3953058332252177758==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsns-0001GJ-1M; Fri, 11 May 2012 16:34:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsnq-0001G4-IL
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:34:50 +0000
Received: from [193.109.254.147:42585] by server-7.bemta-14.messagelabs.com id
	63/59-01627-9AF3DAF4; Fri, 11 May 2012 16:34:49 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336754089!1135476!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29065 invoked from network); 11 May 2012 16:34:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:34:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434488"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:34:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:34:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsno-0007qO-Kz; Fri, 11 May 2012 16:34:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsno-00027y-K5;
	Fri, 11 May 2012 17:34:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.16296.528441.70516@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:34:48 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH 0 of 3] xl: Some clean-up
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("[Xen-devel] [PATCH 0 of 3] xl: Some clean-up"):
> xl: Some clean-up
> 
> * Use libxl_device_pci_init instead of memset
> * Call xlu_cfg_destroy when necessary
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

All 3.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsns-0001GJ-1M; Fri, 11 May 2012 16:34:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsnq-0001G4-IL
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:34:50 +0000
Received: from [193.109.254.147:42585] by server-7.bemta-14.messagelabs.com id
	63/59-01627-9AF3DAF4; Fri, 11 May 2012 16:34:49 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336754089!1135476!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29065 invoked from network); 11 May 2012 16:34:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:34:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434488"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:34:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:34:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsno-0007qO-Kz; Fri, 11 May 2012 16:34:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsno-00027y-K5;
	Fri, 11 May 2012 17:34:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.16296.528441.70516@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:34:48 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <patchbomb.1336745518@kodo2>
References: <patchbomb.1336745518@kodo2>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH 0 of 3] xl: Some clean-up
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("[Xen-devel] [PATCH 0 of 3] xl: Some clean-up"):
> xl: Some clean-up
> 
> * Use libxl_device_pci_init instead of memset
> * Call xlu_cfg_destroy when necessary
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

All 3.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:40:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSssk-0001hd-Hr; Fri, 11 May 2012 16:39:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSssi-0001hO-Kj
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:39:52 +0000
Received: from [85.158.143.35:25327] by server-2.bemta-4.messagelabs.com id
	E0/E8-17550-7D04DAF4; Fri, 11 May 2012 16:39:51 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336754390!11803037!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6653 invoked from network); 11 May 2012 16:39:51 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:39:51 -0000
Received: by lbok6 with SMTP id k6so2534486lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:39:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=zub9VehM83osA7BkyyiI6uoZzjLtWtHQu74ltdBg08o=;
	b=MjoTKuSDZhilnp4OprXN5qefMOM7jgfPlpaPXtpmNCGi6HRARxLX5FRPm4aIazR2TL
	nDlzskWnSQdmgGgzs+0sUkUCFR50bMqyPkuUXKflF0aAUq8Mf2ZE4sUXkT2iiB++r4gM
	ZvYvOr96xAvhhhBC5Z8siQ2ILOc40ibdLi/A8ez6feabI0uue//lZjMo83H98k8O13Hc
	1nO8GWcWWQ6lz/NGY54FQC4yTO9OEA0349cnBZ3hWkO1h0nbbcxcjsvj6CmwyFxssmhR
	MYDikRU9b1BYGZVnNyEL9nrXvJBfyiYh+TikSoM5+UwxeSP6uaMH50dJEYDFHmh1lPNU
	4dPw==
MIME-Version: 1.0
Received: by 10.112.86.71 with SMTP id n7mr3918968lbz.33.1336754390325; Fri,
	11 May 2012 09:39:50 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:39:50 -0700 (PDT)
Date: Sat, 12 May 2012 00:39:50 +0800
Message-ID: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2444773774503096737=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2444773774503096737==
Content-Type: multipart/alternative; boundary=bcaec554e116965b0704bfc56297

--bcaec554e116965b0704bfc56297
Content-Type: text/plain; charset=ISO-8859-1

Hi,

When I do "xl list", there is an error like this:

root@gavin-desktop:~# xl list
xl: error while loading shared libraries: libyajl.so.2: cannot open shared
object file: No such file or directory

I install the yajl followed this message:
http://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html

After that, the module libyajl.so.2 is copied to /usr/local/lib/.

Is there any advice on this problem. Thank you so much.


Best Regards,
Bei Guan

--bcaec554e116965b0704bfc56297
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>When I do &quot;xl list&quot;, there is an error like this:<br><=
br>root@gavin-desktop:~# xl list<br>xl: error while loading shared librarie=
s: libyajl.so.2: cannot open shared object file: No such file or directory<=
br clear=3D"all">
<br>I install the yajl followed this message:<br><a href=3D"http://lists.xe=
n.org/archives/html/xen-users/2012-03/msg00325.html">http://lists.xen.org/a=
rchives/html/xen-users/2012-03/msg00325.html</a><br><br>After that, the mod=
ule libyajl.so.2 is copied to /usr/local/lib/.<br>
<br>Is there any advice on this problem. Thank you so much.<br><br><br>Best=
 Regards,<div>Bei Guan</div><br>

--bcaec554e116965b0704bfc56297--


--===============2444773774503096737==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2444773774503096737==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:40:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSssk-0001hd-Hr; Fri, 11 May 2012 16:39:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSssi-0001hO-Kj
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:39:52 +0000
Received: from [85.158.143.35:25327] by server-2.bemta-4.messagelabs.com id
	E0/E8-17550-7D04DAF4; Fri, 11 May 2012 16:39:51 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336754390!11803037!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6653 invoked from network); 11 May 2012 16:39:51 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:39:51 -0000
Received: by lbok6 with SMTP id k6so2534486lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:39:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=zub9VehM83osA7BkyyiI6uoZzjLtWtHQu74ltdBg08o=;
	b=MjoTKuSDZhilnp4OprXN5qefMOM7jgfPlpaPXtpmNCGi6HRARxLX5FRPm4aIazR2TL
	nDlzskWnSQdmgGgzs+0sUkUCFR50bMqyPkuUXKflF0aAUq8Mf2ZE4sUXkT2iiB++r4gM
	ZvYvOr96xAvhhhBC5Z8siQ2ILOc40ibdLi/A8ez6feabI0uue//lZjMo83H98k8O13Hc
	1nO8GWcWWQ6lz/NGY54FQC4yTO9OEA0349cnBZ3hWkO1h0nbbcxcjsvj6CmwyFxssmhR
	MYDikRU9b1BYGZVnNyEL9nrXvJBfyiYh+TikSoM5+UwxeSP6uaMH50dJEYDFHmh1lPNU
	4dPw==
MIME-Version: 1.0
Received: by 10.112.86.71 with SMTP id n7mr3918968lbz.33.1336754390325; Fri,
	11 May 2012 09:39:50 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:39:50 -0700 (PDT)
Date: Sat, 12 May 2012 00:39:50 +0800
Message-ID: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2444773774503096737=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2444773774503096737==
Content-Type: multipart/alternative; boundary=bcaec554e116965b0704bfc56297

--bcaec554e116965b0704bfc56297
Content-Type: text/plain; charset=ISO-8859-1

Hi,

When I do "xl list", there is an error like this:

root@gavin-desktop:~# xl list
xl: error while loading shared libraries: libyajl.so.2: cannot open shared
object file: No such file or directory

I install the yajl followed this message:
http://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html

After that, the module libyajl.so.2 is copied to /usr/local/lib/.

Is there any advice on this problem. Thank you so much.


Best Regards,
Bei Guan

--bcaec554e116965b0704bfc56297
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>When I do &quot;xl list&quot;, there is an error like this:<br><=
br>root@gavin-desktop:~# xl list<br>xl: error while loading shared librarie=
s: libyajl.so.2: cannot open shared object file: No such file or directory<=
br clear=3D"all">
<br>I install the yajl followed this message:<br><a href=3D"http://lists.xe=
n.org/archives/html/xen-users/2012-03/msg00325.html">http://lists.xen.org/a=
rchives/html/xen-users/2012-03/msg00325.html</a><br><br>After that, the mod=
ule libyajl.so.2 is copied to /usr/local/lib/.<br>
<br>Is there any advice on this problem. Thank you so much.<br><br><br>Best=
 Regards,<div>Bei Guan</div><br>

--bcaec554e116965b0704bfc56297--


--===============2444773774503096737==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2444773774503096737==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:43:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsvu-00021b-VB; Fri, 11 May 2012 16:43:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsvt-00021I-I5
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:43:09 +0000
Received: from [85.158.143.35:37283] by server-3.bemta-4.messagelabs.com id
	DC/E0-05853-C914DAF4; Fri, 11 May 2012 16:43:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336754588!8448448!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9834 invoked from network); 11 May 2012 16:43:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:43:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434714"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:43:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:43:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsvr-0007tE-83; Fri, 11 May 2012 16:43:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsvr-00029R-5s;
	Fri, 11 May 2012 17:43:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.16795.166767.442835@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:43:07 +0100
To: <Xuesen.Guo@hitachiconsulting.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335487527.4742.19.camel@goosenl-desktop>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support"):
> readnote: Add bzImage kernel support

I tried to apply this but I'm afraid it no longer applies to
xen-unstable tip:

patching file tools/xcutils/readnotes.c
Hunk #1 FAILED at 17
Hunk #3 FAILED at 161
2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readnotes.c.rej
abort: patch failed to apply

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:43:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsvu-00021b-VB; Fri, 11 May 2012 16:43:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSsvt-00021I-I5
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:43:09 +0000
Received: from [85.158.143.35:37283] by server-3.bemta-4.messagelabs.com id
	DC/E0-05853-C914DAF4; Fri, 11 May 2012 16:43:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336754588!8448448!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9834 invoked from network); 11 May 2012 16:43:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:43:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434714"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:43:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:43:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSsvr-0007tE-83; Fri, 11 May 2012 16:43:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSsvr-00029R-5s;
	Fri, 11 May 2012 17:43:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.16795.166767.442835@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:43:07 +0100
To: <Xuesen.Guo@hitachiconsulting.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1335487527.4742.19.camel@goosenl-desktop>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support"):
> readnote: Add bzImage kernel support

I tried to apply this but I'm afraid it no longer applies to
xen-unstable tip:

patching file tools/xcutils/readnotes.c
Hunk #1 FAILED at 17
Hunk #3 FAILED at 161
2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readnotes.c.rej
abort: patch failed to apply

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:44:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:44:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsxC-0002Gs-6K; Fri, 11 May 2012 16:44:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSsxA-0002GL-T0
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:44:29 +0000
Received: from [85.158.143.99:10545] by server-2.bemta-4.messagelabs.com id
	7F/2F-17550-BE14DAF4; Fri, 11 May 2012 16:44:27 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336754665!22270800!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14032 invoked from network); 11 May 2012 16:44:26 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:44:26 -0000
Received: by wgbed3 with SMTP id ed3so2219642wgb.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:44:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type;
	bh=OE2Edwa8gkqiXGFiWRRWiZ/rzbdm54rvVdgqMaifwbg=;
	b=zVinpqtvpUUyPbW/fCkdwJzbBEXZwEHkZRqHxsMnXQRWqc55vVgGloR5AU8EarKFlE
	1FtgVHKwastmnCvGk49JXouG9O3E6/JjNkQHtr995ObxqhlQDgvzm9WAbcJ9+T4zwNdz
	IPhxgin6IKaARuB9aI+rXNucOEs9nkXi/laRlu8vlve4Gz/CCixSPX4pQRk1jOmGif/y
	TG05KOs77IYiSGKOBzeOV1ht8PcY+JYsnuJS34/IfKjtcc1aRrM8a4fW6ijWkSGxWqR9
	u+LuIzpII5D7l2EjLmxNktSrWqqSrDI6ct/bHHjDNQ2O5wt4okykJrHyTVQjljEbGOBD
	sUng==
Received: by 10.216.135.223 with SMTP id u73mr1934357wei.117.1336754665284;
	Fri, 11 May 2012 09:44:25 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id r2sm18768117wif.7.2012.05.11.09.44.22
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:44:24 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:44:16 +0100
From: Keir Fraser <keir@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	Bei Guan <gbtju85@gmail.com>
Message-ID: <CBD30072.40168%keir@xen.org>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vlU14GmwR9Yyd80WCCADPrUGjUA==
In-Reply-To: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
Mime-version: 1.0
Content-type: multipart/mixed;
	boundary="B_3419603063_121100067"
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3419603063_121100067
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

On 11/05/2012 17:24, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:

> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
> 
> 
>> No, it doesn't work for me. There is the same error.
> 
> Hrm. Since you can reproduce would you mind experimenting a bit to
> figure out the correct fix for this?
> 
> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> may not)?
> 
> Or maybe just assigning to a dummy variable.

Bei, Please try the attached patch.

 -- Keir

> Ian.
> 
>> My environment and gcc version are like this:
>> 
>> root@gavin-desktop:~# uname -a
>> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
>> 2011 x86_64 GNU/Linux
>> 
>> root@gavin-desktop:~# gcc -v
>> Using built-in specs.
>> Target: x86_64-linux-gnu
>> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
>> 4.4.3-4ubuntu5'
>> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
>> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
>> --enable-shared --enable-multiarch --enable-linker-build-id
>> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
>> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
>> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
>> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
>> --disable-werror --with-arch-32=i486 --with-tune=generic
>> --enable-checking=release --build=x86_64-linux-gnu
>> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
>> Thread model: posix
>> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
>> 
>> 
>> 
>> 
>> Thanks,
>> Bei Guan
>> 
>> 
>> 
>>  
>>         
>>         8<------------------------------------------------------
>>         
>>         # HG changeset patch
>>         # User Ian Campbell <ian.campbell@citrix.com>
>>         # Date 1336751175 -3600
>>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
>>         blktap: avoid attribute warn_unused_result build failures.
>>         
>>         I'm not proud of this, but since none of these callers of
>>         read/write have any
>>         other error handling and return void themselves (for several
>>         links up the call
>>         chain AFAICT) and because I don't really want to get into a
>>         massive reworking
>>         of blktap2 I suppose it is at least pragmatic
>>         
>>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>>         
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk-log.c
>>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>>         16:19:16 2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>>         16:46:15 2012 +0100
>>         @@ -247,7 +247,7 @@ tlog_flush(void)
>>                wsize = ((size + 511) & (~511));
>>         
>>                memset(tapdisk_log.buf + size, '\n', wsize - size);
>>         -       write(fd, tapdisk_log.buf, wsize);
>>         +       (void)write(fd, tapdisk_log.buf, wsize);
>>         
>>                tapdisk_log.p = tapdisk_log.buf;
>>         
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk-queue.c
>>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>>         16:19:16 2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>>         16:46:15 2012 +0100
>>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>>                uint64_t val;
>>         
>>                if (lio->flags & LIO_FLAG_EVENTFD)
>>         -               read(lio->event_fd, &val, sizeof(val));
>>         +               (void)read(lio->event_fd, &val, sizeof(val));
>>          }
>>         
>>          static void
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk-stream.c
>>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>>         16:19:16 2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>>         16:46:15 2012 +0100
>>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>>          {
>>                int dummy;
>>         
>>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>>                p->set = 0;
>>          }
>>         
>>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>>                int dummy = 0;
>>         
>>                if (!p->set) {
>>         -               write(p->pipe[POLL_WRITE], &dummy,
>>         sizeof(dummy));
>>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
>>         sizeof(dummy));
>>                        p->set = 1;
>>                }
>>          }
>>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>>          {
>>                unsigned long idx = (unsigned
>>         long)tapdisk_stream_request_idx(s, sreq);
>>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
>>         idx, 0);
>>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>>         +       (void)write(s->out_fd, buf, sreq->secs <<
>>         SECTOR_SHIFT);
>>          }
>>         
>>          static void
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk2.c
>>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
>>         2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
>>         2012 +0100
>>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>>                if (optind != argc)
>>                        usage(argv[0], EINVAL);
>>         
>>         -       chdir("/");
>>         +       if (chdir("/")) {
>>         +               DPRINTF("failed to chdir(/): %d\n", errno);
>>         +               err = 1;
>>         +               goto out;
>>         +       }
>>         +
>>                tapdisk_start_logging("tapdisk2");
>>         
>>                err = tapdisk_server_init();
>>         
>>         
>> 
>> 
>> 
>> -- 
>> Best Regards,
>> Bei Guan
>> 
> 
> 


--B_3419603063_121100067
Content-type: application/octet-stream; name="00-tapdisk-check-io-result"
Content-disposition: attachment;
	filename="00-tapdisk-check-io-result"
Content-transfer-encoding: base64


ZGlmZiAtciBhZjZkMjRkNDdiNTYgdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3RhcGRpc2stZGlm
Zi5jCi0tLSBhL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLWRpZmYuYwlGcmkgTWF5
IDExIDEyOjIwOjQzIDIwMTIgKzAxMDAKKysrIGIvdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3Rh
cGRpc2stZGlmZi5jCUZyaSBNYXkgMTEgMTc6NDM6NDcgMjAxMiArMDEwMApAQCAtMzksNiAr
MzksNyBAQAogI2luY2x1ZGUgInRhcGRpc2stdmJkLmgiCiAjaW5jbHVkZSAidGFwZGlzay1z
ZXJ2ZXIuaCIKICNpbmNsdWRlICJ0YXBkaXNrLWRpc2t0eXBlLmgiCisjaW5jbHVkZSAidGFw
ZGlzay11dGlscy5oIgogI2luY2x1ZGUgImxpYnZoZC5oIgogCiAjZGVmaW5lIFBPTExfUkVB
RCAgICAgICAgICAgICAgICAgICAgICAgIDAKQEAgLTE3MCw3ICsxNzEsNyBAQCB0YXBkaXNr
X3N0cmVhbV9wb2xsX2NsZWFyKHN0cnVjdCB0YXBkaXNrCiB7CiAJaW50IGR1bW15OwogCi0J
cmVhZChwLT5waXBlW1BPTExfUkVBRF0sICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CisJcmVh
ZF9leGFjdChwLT5waXBlW1BPTExfUkVBRF0sICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CiAJ
cC0+c2V0ID0gMDsKIH0KIApAQCAtMTgwLDcgKzE4MSw3IEBAIHRhcGRpc2tfc3RyZWFtX3Bv
bGxfc2V0KHN0cnVjdCB0YXBkaXNrX3MKIAlpbnQgZHVtbXkgPSAwOwogCiAJaWYgKCFwLT5z
ZXQpIHsKLQkJd3JpdGUocC0+cGlwZVtQT0xMX1dSSVRFXSwgJmR1bW15LCBzaXplb2YoZHVt
bXkpKTsKKwkJd3JpdGVfZXhhY3QocC0+cGlwZVtQT0xMX1dSSVRFXSwgJmR1bW15LCBzaXpl
b2YoZHVtbXkpKTsKIAkJcC0+c2V0ID0gMTsKIAl9CiB9CmRpZmYgLXIgYWY2ZDI0ZDQ3YjU2
IHRvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLWxvZy5jCi0tLSBhL3Rvb2xzL2Jsa3Rh
cDIvZHJpdmVycy90YXBkaXNrLWxvZy5jCUZyaSBNYXkgMTEgMTI6MjA6NDMgMjAxMiArMDEw
MAorKysgYi90b29scy9ibGt0YXAyL2RyaXZlcnMvdGFwZGlzay1sb2cuYwlGcmkgTWF5IDEx
IDE3OjQzOjQ3IDIwMTIgKzAxMDAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxzeXMv
dGltZS5oPgogCiAjaW5jbHVkZSAidGFwZGlzay1sb2cuaCIKKyNpbmNsdWRlICJ0YXBkaXNr
LXV0aWxzLmgiCiAKICNkZWZpbmUgTUFYX0VOVFJZX0xFTiAgICAgIDUxMgogI2RlZmluZSBN
QVhfRVJST1JfTUVTU0FHRVMgMTYKQEAgLTI0Nyw3ICsyNDgsNyBAQCB0bG9nX2ZsdXNoKHZv
aWQpCiAJd3NpemUgPSAoKHNpemUgKyA1MTEpICYgKH41MTEpKTsKIAogCW1lbXNldCh0YXBk
aXNrX2xvZy5idWYgKyBzaXplLCAnXG4nLCB3c2l6ZSAtIHNpemUpOwotCXdyaXRlKGZkLCB0
YXBkaXNrX2xvZy5idWYsIHdzaXplKTsKKwl3cml0ZV9leGFjdChmZCwgdGFwZGlza19sb2cu
YnVmLCB3c2l6ZSk7CiAKIAl0YXBkaXNrX2xvZy5wID0gdGFwZGlza19sb2cuYnVmOwogCmRp
ZmYgLXIgYWY2ZDI0ZDQ3YjU2IHRvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXF1ZXVl
LmMKLS0tIGEvdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3RhcGRpc2stcXVldWUuYwlGcmkgTWF5
IDExIDEyOjIwOjQzIDIwMTIgKzAxMDAKKysrIGIvdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3Rh
cGRpc2stcXVldWUuYwlGcmkgTWF5IDExIDE3OjQzOjQ3IDIwMTIgKzAxMDAKQEAgLTQzNSw3
ICs0MzUsNyBAQCB0YXBkaXNrX2xpb19hY2tfZXZlbnQoc3RydWN0IHRxdWV1ZSAqcXVlCiAJ
dWludDY0X3QgdmFsOwogCiAJaWYgKGxpby0+ZmxhZ3MgJiBMSU9fRkxBR19FVkVOVEZEKQot
CQlyZWFkKGxpby0+ZXZlbnRfZmQsICZ2YWwsIHNpemVvZih2YWwpKTsKKwkJcmVhZF9leGFj
dChsaW8tPmV2ZW50X2ZkLCAmdmFsLCBzaXplb2YodmFsKSk7CiB9CiAKIHN0YXRpYyB2b2lk
CmRpZmYgLXIgYWY2ZDI0ZDQ3YjU2IHRvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXN0
cmVhbS5jCi0tLSBhL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXN0cmVhbS5jCUZy
aSBNYXkgMTEgMTI6MjA6NDMgMjAxMiArMDEwMAorKysgYi90b29scy9ibGt0YXAyL2RyaXZl
cnMvdGFwZGlzay1zdHJlYW0uYwlGcmkgTWF5IDExIDE3OjQzOjQ3IDIwMTIgKzAxMDAKQEAg
LTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJ0YXBkaXNrLXZiZC5oIgogI2luY2x1ZGUgInRh
cGRpc2stc2VydmVyLmgiCiAjaW5jbHVkZSAidGFwZGlzay1kaXNrdHlwZS5oIgorI2luY2x1
ZGUgInRhcGRpc2stdXRpbHMuaCIKIAogI2RlZmluZSBQT0xMX1JFQUQgICAgICAgICAgICAg
ICAgICAgICAgICAwCiAjZGVmaW5lIFBPTExfV1JJVEUgICAgICAgICAgICAgICAgICAgICAg
IDEKQEAgLTE0NSw3ICsxNDYsNyBAQCB0YXBkaXNrX3N0cmVhbV9wb2xsX2NsZWFyKHN0cnVj
dCB0YXBkaXNrCiB7CiAJaW50IGR1bW15OwogCi0JcmVhZChwLT5waXBlW1BPTExfUkVBRF0s
ICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CisJcmVhZF9leGFjdChwLT5waXBlW1BPTExfUkVB
RF0sICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CiAJcC0+c2V0ID0gMDsKIH0KIApAQCAtMTU1
LDcgKzE1Niw3IEBAIHRhcGRpc2tfc3RyZWFtX3BvbGxfc2V0KHN0cnVjdCB0YXBkaXNrX3MK
IAlpbnQgZHVtbXkgPSAwOwogCiAJaWYgKCFwLT5zZXQpIHsKLQkJd3JpdGUocC0+cGlwZVtQ
T0xMX1dSSVRFXSwgJmR1bW15LCBzaXplb2YoZHVtbXkpKTsKKwkJd3JpdGVfZXhhY3QocC0+
cGlwZVtQT0xMX1dSSVRFXSwgJmR1bW15LCBzaXplb2YoZHVtbXkpKTsKIAkJcC0+c2V0ID0g
MTsKIAl9CiB9CkBAIC0yMDMsNyArMjA0LDcgQEAgdGFwZGlza19zdHJlYW1fcHJpbnRfcmVx
dWVzdChzdHJ1Y3QgdGFwZAogewogCXVuc2lnbmVkIGxvbmcgaWR4ID0gKHVuc2lnbmVkIGxv
bmcpdGFwZGlza19zdHJlYW1fcmVxdWVzdF9pZHgocywgc3JlcSk7CiAJY2hhciAqYnVmID0g
KGNoYXIgKilNTUFQX1ZBRERSKHMtPnZiZC0+cmluZy52c3RhcnQsIGlkeCwgMCk7Ci0Jd3Jp
dGUocy0+b3V0X2ZkLCBidWYsIHNyZXEtPnNlY3MgPDwgU0VDVE9SX1NISUZUKTsKKwl3cml0
ZV9leGFjdChzLT5vdXRfZmQsIGJ1Ziwgc3JlcS0+c2VjcyA8PCBTRUNUT1JfU0hJRlQpOwog
fQogCiBzdGF0aWMgdm9pZApkaWZmIC1yIGFmNmQyNGQ0N2I1NiB0b29scy9ibGt0YXAyL2Ry
aXZlcnMvdGFwZGlzay11dGlscy5jCi0tLSBhL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBk
aXNrLXV0aWxzLmMJRnJpIE1heSAxMSAxMjoyMDo0MyAyMDEyICswMTAwCisrKyBiL3Rvb2xz
L2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXV0aWxzLmMJRnJpIE1heSAxMSAxNzo0Mzo0NyAy
MDEyICswMTAwCkBAIC0xNzUsMyArMTc1LDQwIEBAIGludCB0YXBkaXNrX2xpbnV4X3ZlcnNp
b24odm9pZCkKIH0KIAogI2VuZGlmCitpbnQgcmVhZF9leGFjdChpbnQgZmQsIHZvaWQgKmRh
dGEsIHNpemVfdCBzaXplKQoreworICAgIHNpemVfdCBvZmZzZXQgPSAwOworICAgIHNzaXpl
X3QgbGVuOworCisgICAgd2hpbGUgKCBvZmZzZXQgPCBzaXplICkKKyAgICB7CisgICAgICAg
IGxlbiA9IHJlYWQoZmQsIChjaGFyICopZGF0YSArIG9mZnNldCwgc2l6ZSAtIG9mZnNldCk7
CisgICAgICAgIGlmICggKGxlbiA9PSAtMSkgJiYgKGVycm5vID09IEVJTlRSKSApCisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCBsZW4gPT0gMCApCisgICAgICAgICAg
ICBlcnJubyA9IDA7CisgICAgICAgIGlmICggbGVuIDw9IDAgKQorICAgICAgICAgICAgcmV0
dXJuIC0xOworICAgICAgICBvZmZzZXQgKz0gbGVuOworICAgIH0KKworICAgIHJldHVybiAw
OworfQorCitpbnQgd3JpdGVfZXhhY3QoaW50IGZkLCBjb25zdCB2b2lkICpkYXRhLCBzaXpl
X3Qgc2l6ZSkKK3sKKyAgICBzaXplX3Qgb2Zmc2V0ID0gMDsKKyAgICBzc2l6ZV90IGxlbjsK
KworICAgIHdoaWxlICggb2Zmc2V0IDwgc2l6ZSApCisgICAgeworICAgICAgICBsZW4gPSB3
cml0ZShmZCwgKGNvbnN0IGNoYXIgKilkYXRhICsgb2Zmc2V0LCBzaXplIC0gb2Zmc2V0KTsK
KyAgICAgICAgaWYgKCAobGVuID09IC0xKSAmJiAoZXJybm8gPT0gRUlOVFIpICkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoIGxlbiA8PSAwICkKKyAgICAgICAgICAg
IHJldHVybiAtMTsKKyAgICAgICAgb2Zmc2V0ICs9IGxlbjsKKyAgICB9CisKKyAgICByZXR1
cm4gMDsKK30KZGlmZiAtciBhZjZkMjRkNDdiNTYgdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3Rh
cGRpc2stdXRpbHMuaAotLS0gYS90b29scy9ibGt0YXAyL2RyaXZlcnMvdGFwZGlzay11dGls
cy5oCUZyaSBNYXkgMTEgMTI6MjA6NDMgMjAxMiArMDEwMAorKysgYi90b29scy9ibGt0YXAy
L2RyaXZlcnMvdGFwZGlzay11dGlscy5oCUZyaSBNYXkgMTEgMTc6NDM6NDcgMjAxMiArMDEw
MApAQCAtMzksNCArMzksNyBAQCBpbnQgdGFwZGlza19uYW1lZHVwKGNoYXIgKiosIGNvbnN0
IGNoYXIgCiBpbnQgdGFwZGlza19nZXRfaW1hZ2Vfc2l6ZShpbnQsIHVpbnQ2NF90ICosIHVp
bnQzMl90ICopOwogaW50IHRhcGRpc2tfbGludXhfdmVyc2lvbih2b2lkKTsKIAoraW50IHJl
YWRfZXhhY3QoaW50IGZkLCB2b2lkICpkYXRhLCBzaXplX3Qgc2l6ZSk7IC8qIEVPRiA9PiAt
MSwgZXJybm89MCAqLworaW50IHdyaXRlX2V4YWN0KGludCBmZCwgY29uc3Qgdm9pZCAqZGF0
YSwgc2l6ZV90IHNpemUpOworCiAjZW5kaWYKZGlmZiAtciBhZjZkMjRkNDdiNTYgdG9vbHMv
YmxrdGFwMi9kcml2ZXJzL3RhcGRpc2syLmMKLS0tIGEvdG9vbHMvYmxrdGFwMi9kcml2ZXJz
L3RhcGRpc2syLmMJRnJpIE1heSAxMSAxMjoyMDo0MyAyMDEyICswMTAwCisrKyBiL3Rvb2xz
L2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrMi5jCUZyaSBNYXkgMTEgMTc6NDM6NDcgMjAxMiAr
MDEwMApAQCAtNzksNyArNzksMTIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQog
CWlmIChvcHRpbmQgIT0gYXJnYykKIAkJdXNhZ2UoYXJndlswXSwgRUlOVkFMKTsKIAotCWNo
ZGlyKCIvIik7CisJaWYgKGNoZGlyKCIvIikpIHsKKwkJRFBSSU5URigiZmFpbGVkIHRvIGNo
ZGlyKC8pOiAlZFxuIiwgZXJybm8pOworCQllcnIgPSAxOworCQlnb3RvIG91dDsKKwl9CisK
IAl0YXBkaXNrX3N0YXJ0X2xvZ2dpbmcoInRhcGRpc2syIik7CiAKIAllcnIgPSB0YXBkaXNr
X3NlcnZlcl9pbml0KCk7Cg==
--B_3419603063_121100067
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--B_3419603063_121100067--




From xen-devel-bounces@lists.xen.org Fri May 11 16:44:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:44:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSsxC-0002Gs-6K; Fri, 11 May 2012 16:44:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSsxA-0002GL-T0
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:44:29 +0000
Received: from [85.158.143.99:10545] by server-2.bemta-4.messagelabs.com id
	7F/2F-17550-BE14DAF4; Fri, 11 May 2012 16:44:27 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336754665!22270800!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14032 invoked from network); 11 May 2012 16:44:26 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:44:26 -0000
Received: by wgbed3 with SMTP id ed3so2219642wgb.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:44:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type;
	bh=OE2Edwa8gkqiXGFiWRRWiZ/rzbdm54rvVdgqMaifwbg=;
	b=zVinpqtvpUUyPbW/fCkdwJzbBEXZwEHkZRqHxsMnXQRWqc55vVgGloR5AU8EarKFlE
	1FtgVHKwastmnCvGk49JXouG9O3E6/JjNkQHtr995ObxqhlQDgvzm9WAbcJ9+T4zwNdz
	IPhxgin6IKaARuB9aI+rXNucOEs9nkXi/laRlu8vlve4Gz/CCixSPX4pQRk1jOmGif/y
	TG05KOs77IYiSGKOBzeOV1ht8PcY+JYsnuJS34/IfKjtcc1aRrM8a4fW6ijWkSGxWqR9
	u+LuIzpII5D7l2EjLmxNktSrWqqSrDI6ct/bHHjDNQ2O5wt4okykJrHyTVQjljEbGOBD
	sUng==
Received: by 10.216.135.223 with SMTP id u73mr1934357wei.117.1336754665284;
	Fri, 11 May 2012 09:44:25 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id r2sm18768117wif.7.2012.05.11.09.44.22
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:44:24 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:44:16 +0100
From: Keir Fraser <keir@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	Bei Guan <gbtju85@gmail.com>
Message-ID: <CBD30072.40168%keir@xen.org>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vlU14GmwR9Yyd80WCCADPrUGjUA==
In-Reply-To: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
Mime-version: 1.0
Content-type: multipart/mixed;
	boundary="B_3419603063_121100067"
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3419603063_121100067
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

On 11/05/2012 17:24, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:

> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
> 
> 
>> No, it doesn't work for me. There is the same error.
> 
> Hrm. Since you can reproduce would you mind experimenting a bit to
> figure out the correct fix for this?
> 
> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> may not)?
> 
> Or maybe just assigning to a dummy variable.

Bei, Please try the attached patch.

 -- Keir

> Ian.
> 
>> My environment and gcc version are like this:
>> 
>> root@gavin-desktop:~# uname -a
>> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
>> 2011 x86_64 GNU/Linux
>> 
>> root@gavin-desktop:~# gcc -v
>> Using built-in specs.
>> Target: x86_64-linux-gnu
>> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
>> 4.4.3-4ubuntu5'
>> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
>> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
>> --enable-shared --enable-multiarch --enable-linker-build-id
>> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
>> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
>> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
>> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
>> --disable-werror --with-arch-32=i486 --with-tune=generic
>> --enable-checking=release --build=x86_64-linux-gnu
>> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
>> Thread model: posix
>> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
>> 
>> 
>> 
>> 
>> Thanks,
>> Bei Guan
>> 
>> 
>> 
>>  
>>         
>>         8<------------------------------------------------------
>>         
>>         # HG changeset patch
>>         # User Ian Campbell <ian.campbell@citrix.com>
>>         # Date 1336751175 -3600
>>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
>>         blktap: avoid attribute warn_unused_result build failures.
>>         
>>         I'm not proud of this, but since none of these callers of
>>         read/write have any
>>         other error handling and return void themselves (for several
>>         links up the call
>>         chain AFAICT) and because I don't really want to get into a
>>         massive reworking
>>         of blktap2 I suppose it is at least pragmatic
>>         
>>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>>         
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk-log.c
>>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>>         16:19:16 2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
>>         16:46:15 2012 +0100
>>         @@ -247,7 +247,7 @@ tlog_flush(void)
>>                wsize = ((size + 511) & (~511));
>>         
>>                memset(tapdisk_log.buf + size, '\n', wsize - size);
>>         -       write(fd, tapdisk_log.buf, wsize);
>>         +       (void)write(fd, tapdisk_log.buf, wsize);
>>         
>>                tapdisk_log.p = tapdisk_log.buf;
>>         
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk-queue.c
>>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>>         16:19:16 2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
>>         16:46:15 2012 +0100
>>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
>>                uint64_t val;
>>         
>>                if (lio->flags & LIO_FLAG_EVENTFD)
>>         -               read(lio->event_fd, &val, sizeof(val));
>>         +               (void)read(lio->event_fd, &val, sizeof(val));
>>          }
>>         
>>          static void
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk-stream.c
>>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>>         16:19:16 2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
>>         16:46:15 2012 +0100
>>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
>>          {
>>                int dummy;
>>         
>>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
>>                p->set = 0;
>>          }
>>         
>>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
>>                int dummy = 0;
>>         
>>                if (!p->set) {
>>         -               write(p->pipe[POLL_WRITE], &dummy,
>>         sizeof(dummy));
>>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
>>         sizeof(dummy));
>>                        p->set = 1;
>>                }
>>          }
>>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
>>          {
>>                unsigned long idx = (unsigned
>>         long)tapdisk_stream_request_idx(s, sreq);
>>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
>>         idx, 0);
>>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
>>         +       (void)write(s->out_fd, buf, sreq->secs <<
>>         SECTOR_SHIFT);
>>          }
>>         
>>          static void
>>         diff -r adc74e492edf -r 15ed8f45c4e5
>>         tools/blktap2/drivers/tapdisk2.c
>>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
>>         2012 +0100
>>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
>>         2012 +0100
>>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>>                if (optind != argc)
>>                        usage(argv[0], EINVAL);
>>         
>>         -       chdir("/");
>>         +       if (chdir("/")) {
>>         +               DPRINTF("failed to chdir(/): %d\n", errno);
>>         +               err = 1;
>>         +               goto out;
>>         +       }
>>         +
>>                tapdisk_start_logging("tapdisk2");
>>         
>>                err = tapdisk_server_init();
>>         
>>         
>> 
>> 
>> 
>> -- 
>> Best Regards,
>> Bei Guan
>> 
> 
> 


--B_3419603063_121100067
Content-type: application/octet-stream; name="00-tapdisk-check-io-result"
Content-disposition: attachment;
	filename="00-tapdisk-check-io-result"
Content-transfer-encoding: base64


ZGlmZiAtciBhZjZkMjRkNDdiNTYgdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3RhcGRpc2stZGlm
Zi5jCi0tLSBhL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLWRpZmYuYwlGcmkgTWF5
IDExIDEyOjIwOjQzIDIwMTIgKzAxMDAKKysrIGIvdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3Rh
cGRpc2stZGlmZi5jCUZyaSBNYXkgMTEgMTc6NDM6NDcgMjAxMiArMDEwMApAQCAtMzksNiAr
MzksNyBAQAogI2luY2x1ZGUgInRhcGRpc2stdmJkLmgiCiAjaW5jbHVkZSAidGFwZGlzay1z
ZXJ2ZXIuaCIKICNpbmNsdWRlICJ0YXBkaXNrLWRpc2t0eXBlLmgiCisjaW5jbHVkZSAidGFw
ZGlzay11dGlscy5oIgogI2luY2x1ZGUgImxpYnZoZC5oIgogCiAjZGVmaW5lIFBPTExfUkVB
RCAgICAgICAgICAgICAgICAgICAgICAgIDAKQEAgLTE3MCw3ICsxNzEsNyBAQCB0YXBkaXNr
X3N0cmVhbV9wb2xsX2NsZWFyKHN0cnVjdCB0YXBkaXNrCiB7CiAJaW50IGR1bW15OwogCi0J
cmVhZChwLT5waXBlW1BPTExfUkVBRF0sICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CisJcmVh
ZF9leGFjdChwLT5waXBlW1BPTExfUkVBRF0sICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CiAJ
cC0+c2V0ID0gMDsKIH0KIApAQCAtMTgwLDcgKzE4MSw3IEBAIHRhcGRpc2tfc3RyZWFtX3Bv
bGxfc2V0KHN0cnVjdCB0YXBkaXNrX3MKIAlpbnQgZHVtbXkgPSAwOwogCiAJaWYgKCFwLT5z
ZXQpIHsKLQkJd3JpdGUocC0+cGlwZVtQT0xMX1dSSVRFXSwgJmR1bW15LCBzaXplb2YoZHVt
bXkpKTsKKwkJd3JpdGVfZXhhY3QocC0+cGlwZVtQT0xMX1dSSVRFXSwgJmR1bW15LCBzaXpl
b2YoZHVtbXkpKTsKIAkJcC0+c2V0ID0gMTsKIAl9CiB9CmRpZmYgLXIgYWY2ZDI0ZDQ3YjU2
IHRvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLWxvZy5jCi0tLSBhL3Rvb2xzL2Jsa3Rh
cDIvZHJpdmVycy90YXBkaXNrLWxvZy5jCUZyaSBNYXkgMTEgMTI6MjA6NDMgMjAxMiArMDEw
MAorKysgYi90b29scy9ibGt0YXAyL2RyaXZlcnMvdGFwZGlzay1sb2cuYwlGcmkgTWF5IDEx
IDE3OjQzOjQ3IDIwMTIgKzAxMDAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxzeXMv
dGltZS5oPgogCiAjaW5jbHVkZSAidGFwZGlzay1sb2cuaCIKKyNpbmNsdWRlICJ0YXBkaXNr
LXV0aWxzLmgiCiAKICNkZWZpbmUgTUFYX0VOVFJZX0xFTiAgICAgIDUxMgogI2RlZmluZSBN
QVhfRVJST1JfTUVTU0FHRVMgMTYKQEAgLTI0Nyw3ICsyNDgsNyBAQCB0bG9nX2ZsdXNoKHZv
aWQpCiAJd3NpemUgPSAoKHNpemUgKyA1MTEpICYgKH41MTEpKTsKIAogCW1lbXNldCh0YXBk
aXNrX2xvZy5idWYgKyBzaXplLCAnXG4nLCB3c2l6ZSAtIHNpemUpOwotCXdyaXRlKGZkLCB0
YXBkaXNrX2xvZy5idWYsIHdzaXplKTsKKwl3cml0ZV9leGFjdChmZCwgdGFwZGlza19sb2cu
YnVmLCB3c2l6ZSk7CiAKIAl0YXBkaXNrX2xvZy5wID0gdGFwZGlza19sb2cuYnVmOwogCmRp
ZmYgLXIgYWY2ZDI0ZDQ3YjU2IHRvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXF1ZXVl
LmMKLS0tIGEvdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3RhcGRpc2stcXVldWUuYwlGcmkgTWF5
IDExIDEyOjIwOjQzIDIwMTIgKzAxMDAKKysrIGIvdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3Rh
cGRpc2stcXVldWUuYwlGcmkgTWF5IDExIDE3OjQzOjQ3IDIwMTIgKzAxMDAKQEAgLTQzNSw3
ICs0MzUsNyBAQCB0YXBkaXNrX2xpb19hY2tfZXZlbnQoc3RydWN0IHRxdWV1ZSAqcXVlCiAJ
dWludDY0X3QgdmFsOwogCiAJaWYgKGxpby0+ZmxhZ3MgJiBMSU9fRkxBR19FVkVOVEZEKQot
CQlyZWFkKGxpby0+ZXZlbnRfZmQsICZ2YWwsIHNpemVvZih2YWwpKTsKKwkJcmVhZF9leGFj
dChsaW8tPmV2ZW50X2ZkLCAmdmFsLCBzaXplb2YodmFsKSk7CiB9CiAKIHN0YXRpYyB2b2lk
CmRpZmYgLXIgYWY2ZDI0ZDQ3YjU2IHRvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXN0
cmVhbS5jCi0tLSBhL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXN0cmVhbS5jCUZy
aSBNYXkgMTEgMTI6MjA6NDMgMjAxMiArMDEwMAorKysgYi90b29scy9ibGt0YXAyL2RyaXZl
cnMvdGFwZGlzay1zdHJlYW0uYwlGcmkgTWF5IDExIDE3OjQzOjQ3IDIwMTIgKzAxMDAKQEAg
LTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJ0YXBkaXNrLXZiZC5oIgogI2luY2x1ZGUgInRh
cGRpc2stc2VydmVyLmgiCiAjaW5jbHVkZSAidGFwZGlzay1kaXNrdHlwZS5oIgorI2luY2x1
ZGUgInRhcGRpc2stdXRpbHMuaCIKIAogI2RlZmluZSBQT0xMX1JFQUQgICAgICAgICAgICAg
ICAgICAgICAgICAwCiAjZGVmaW5lIFBPTExfV1JJVEUgICAgICAgICAgICAgICAgICAgICAg
IDEKQEAgLTE0NSw3ICsxNDYsNyBAQCB0YXBkaXNrX3N0cmVhbV9wb2xsX2NsZWFyKHN0cnVj
dCB0YXBkaXNrCiB7CiAJaW50IGR1bW15OwogCi0JcmVhZChwLT5waXBlW1BPTExfUkVBRF0s
ICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CisJcmVhZF9leGFjdChwLT5waXBlW1BPTExfUkVB
RF0sICZkdW1teSwgc2l6ZW9mKGR1bW15KSk7CiAJcC0+c2V0ID0gMDsKIH0KIApAQCAtMTU1
LDcgKzE1Niw3IEBAIHRhcGRpc2tfc3RyZWFtX3BvbGxfc2V0KHN0cnVjdCB0YXBkaXNrX3MK
IAlpbnQgZHVtbXkgPSAwOwogCiAJaWYgKCFwLT5zZXQpIHsKLQkJd3JpdGUocC0+cGlwZVtQ
T0xMX1dSSVRFXSwgJmR1bW15LCBzaXplb2YoZHVtbXkpKTsKKwkJd3JpdGVfZXhhY3QocC0+
cGlwZVtQT0xMX1dSSVRFXSwgJmR1bW15LCBzaXplb2YoZHVtbXkpKTsKIAkJcC0+c2V0ID0g
MTsKIAl9CiB9CkBAIC0yMDMsNyArMjA0LDcgQEAgdGFwZGlza19zdHJlYW1fcHJpbnRfcmVx
dWVzdChzdHJ1Y3QgdGFwZAogewogCXVuc2lnbmVkIGxvbmcgaWR4ID0gKHVuc2lnbmVkIGxv
bmcpdGFwZGlza19zdHJlYW1fcmVxdWVzdF9pZHgocywgc3JlcSk7CiAJY2hhciAqYnVmID0g
KGNoYXIgKilNTUFQX1ZBRERSKHMtPnZiZC0+cmluZy52c3RhcnQsIGlkeCwgMCk7Ci0Jd3Jp
dGUocy0+b3V0X2ZkLCBidWYsIHNyZXEtPnNlY3MgPDwgU0VDVE9SX1NISUZUKTsKKwl3cml0
ZV9leGFjdChzLT5vdXRfZmQsIGJ1Ziwgc3JlcS0+c2VjcyA8PCBTRUNUT1JfU0hJRlQpOwog
fQogCiBzdGF0aWMgdm9pZApkaWZmIC1yIGFmNmQyNGQ0N2I1NiB0b29scy9ibGt0YXAyL2Ry
aXZlcnMvdGFwZGlzay11dGlscy5jCi0tLSBhL3Rvb2xzL2Jsa3RhcDIvZHJpdmVycy90YXBk
aXNrLXV0aWxzLmMJRnJpIE1heSAxMSAxMjoyMDo0MyAyMDEyICswMTAwCisrKyBiL3Rvb2xz
L2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrLXV0aWxzLmMJRnJpIE1heSAxMSAxNzo0Mzo0NyAy
MDEyICswMTAwCkBAIC0xNzUsMyArMTc1LDQwIEBAIGludCB0YXBkaXNrX2xpbnV4X3ZlcnNp
b24odm9pZCkKIH0KIAogI2VuZGlmCitpbnQgcmVhZF9leGFjdChpbnQgZmQsIHZvaWQgKmRh
dGEsIHNpemVfdCBzaXplKQoreworICAgIHNpemVfdCBvZmZzZXQgPSAwOworICAgIHNzaXpl
X3QgbGVuOworCisgICAgd2hpbGUgKCBvZmZzZXQgPCBzaXplICkKKyAgICB7CisgICAgICAg
IGxlbiA9IHJlYWQoZmQsIChjaGFyICopZGF0YSArIG9mZnNldCwgc2l6ZSAtIG9mZnNldCk7
CisgICAgICAgIGlmICggKGxlbiA9PSAtMSkgJiYgKGVycm5vID09IEVJTlRSKSApCisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCBsZW4gPT0gMCApCisgICAgICAgICAg
ICBlcnJubyA9IDA7CisgICAgICAgIGlmICggbGVuIDw9IDAgKQorICAgICAgICAgICAgcmV0
dXJuIC0xOworICAgICAgICBvZmZzZXQgKz0gbGVuOworICAgIH0KKworICAgIHJldHVybiAw
OworfQorCitpbnQgd3JpdGVfZXhhY3QoaW50IGZkLCBjb25zdCB2b2lkICpkYXRhLCBzaXpl
X3Qgc2l6ZSkKK3sKKyAgICBzaXplX3Qgb2Zmc2V0ID0gMDsKKyAgICBzc2l6ZV90IGxlbjsK
KworICAgIHdoaWxlICggb2Zmc2V0IDwgc2l6ZSApCisgICAgeworICAgICAgICBsZW4gPSB3
cml0ZShmZCwgKGNvbnN0IGNoYXIgKilkYXRhICsgb2Zmc2V0LCBzaXplIC0gb2Zmc2V0KTsK
KyAgICAgICAgaWYgKCAobGVuID09IC0xKSAmJiAoZXJybm8gPT0gRUlOVFIpICkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoIGxlbiA8PSAwICkKKyAgICAgICAgICAg
IHJldHVybiAtMTsKKyAgICAgICAgb2Zmc2V0ICs9IGxlbjsKKyAgICB9CisKKyAgICByZXR1
cm4gMDsKK30KZGlmZiAtciBhZjZkMjRkNDdiNTYgdG9vbHMvYmxrdGFwMi9kcml2ZXJzL3Rh
cGRpc2stdXRpbHMuaAotLS0gYS90b29scy9ibGt0YXAyL2RyaXZlcnMvdGFwZGlzay11dGls
cy5oCUZyaSBNYXkgMTEgMTI6MjA6NDMgMjAxMiArMDEwMAorKysgYi90b29scy9ibGt0YXAy
L2RyaXZlcnMvdGFwZGlzay11dGlscy5oCUZyaSBNYXkgMTEgMTc6NDM6NDcgMjAxMiArMDEw
MApAQCAtMzksNCArMzksNyBAQCBpbnQgdGFwZGlza19uYW1lZHVwKGNoYXIgKiosIGNvbnN0
IGNoYXIgCiBpbnQgdGFwZGlza19nZXRfaW1hZ2Vfc2l6ZShpbnQsIHVpbnQ2NF90ICosIHVp
bnQzMl90ICopOwogaW50IHRhcGRpc2tfbGludXhfdmVyc2lvbih2b2lkKTsKIAoraW50IHJl
YWRfZXhhY3QoaW50IGZkLCB2b2lkICpkYXRhLCBzaXplX3Qgc2l6ZSk7IC8qIEVPRiA9PiAt
MSwgZXJybm89MCAqLworaW50IHdyaXRlX2V4YWN0KGludCBmZCwgY29uc3Qgdm9pZCAqZGF0
YSwgc2l6ZV90IHNpemUpOworCiAjZW5kaWYKZGlmZiAtciBhZjZkMjRkNDdiNTYgdG9vbHMv
YmxrdGFwMi9kcml2ZXJzL3RhcGRpc2syLmMKLS0tIGEvdG9vbHMvYmxrdGFwMi9kcml2ZXJz
L3RhcGRpc2syLmMJRnJpIE1heSAxMSAxMjoyMDo0MyAyMDEyICswMTAwCisrKyBiL3Rvb2xz
L2Jsa3RhcDIvZHJpdmVycy90YXBkaXNrMi5jCUZyaSBNYXkgMTEgMTc6NDM6NDcgMjAxMiAr
MDEwMApAQCAtNzksNyArNzksMTIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQog
CWlmIChvcHRpbmQgIT0gYXJnYykKIAkJdXNhZ2UoYXJndlswXSwgRUlOVkFMKTsKIAotCWNo
ZGlyKCIvIik7CisJaWYgKGNoZGlyKCIvIikpIHsKKwkJRFBSSU5URigiZmFpbGVkIHRvIGNo
ZGlyKC8pOiAlZFxuIiwgZXJybm8pOworCQllcnIgPSAxOworCQlnb3RvIG91dDsKKwl9CisK
IAl0YXBkaXNrX3N0YXJ0X2xvZ2dpbmcoInRhcGRpc2syIik7CiAKIAllcnIgPSB0YXBkaXNr
X3NlcnZlcl9pbml0KCk7Cg==
--B_3419603063_121100067
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--B_3419603063_121100067--




From xen-devel-bounces@lists.xen.org Fri May 11 16:47:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:47:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSszT-0002dV-P4; Fri, 11 May 2012 16:46:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSszR-0002dC-Md
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:46:49 +0000
Received: from [193.109.254.147:24355] by server-11.bemta-14.messagelabs.com
	id 32/09-05858-9724DAF4; Fri, 11 May 2012 16:46:49 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336754808!6400201!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14408 invoked from network); 11 May 2012 16:46:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:46:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434764"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:46:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:46:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSszQ-0007uT-2y; Fri, 11 May 2012 16:46:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSszP-0002Gh-Vy;
	Fri, 11 May 2012 17:46:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.17015.827585.110465@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:46:47 +0100
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <alpine.DEB.2.00.1204131238070.15151@kaball-desktop>
References: <alpine.DEB.2.00.1204131238070.15151@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v8 0/3] libxl: save/restore qemu physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[Xen-devel] [PATCH v8 0/3] libxl: save/restore qemu physmap"):
> this patch series introduces a new xc_save_id called
> XC_SAVE_ID_TOOLSTACK to save/restore toolstack specific information.
> Libxl is going to use the new save_id to save and restore qemu's
> physmap.

All 3:

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:47:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:47:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSszT-0002dV-P4; Fri, 11 May 2012 16:46:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSszR-0002dC-Md
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:46:49 +0000
Received: from [193.109.254.147:24355] by server-11.bemta-14.messagelabs.com
	id 32/09-05858-9724DAF4; Fri, 11 May 2012 16:46:49 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336754808!6400201!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14408 invoked from network); 11 May 2012 16:46:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:46:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434764"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:46:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:46:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSszQ-0007uT-2y; Fri, 11 May 2012 16:46:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSszP-0002Gh-Vy;
	Fri, 11 May 2012 17:46:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.17015.827585.110465@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:46:47 +0100
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <alpine.DEB.2.00.1204131238070.15151@kaball-desktop>
References: <alpine.DEB.2.00.1204131238070.15151@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v8 0/3] libxl: save/restore qemu physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[Xen-devel] [PATCH v8 0/3] libxl: save/restore qemu physmap"):
> this patch series introduces a new xc_save_id called
> XC_SAVE_ID_TOOLSTACK to save/restore toolstack specific information.
> Libxl is going to use the new save_id to save and restore qemu's
> physmap.

All 3:

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:47:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:47:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSszp-0002hT-A8; Fri, 11 May 2012 16:47:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSszn-0002h1-RI
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:47:12 +0000
Received: from [85.158.143.99:23524] by server-1.bemta-4.messagelabs.com id
	DA/7B-20925-F824DAF4; Fri, 11 May 2012 16:47:11 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336754829!16384923!1
X-Originating-IP: [74.125.82.41]
X-SpamReason: No, hits=0.7 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	MIME_QP_LONG_LINE,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27056 invoked from network); 11 May 2012 16:47:10 -0000
Received: from mail-wg0-f41.google.com (HELO mail-wg0-f41.google.com)
	(74.125.82.41)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:47:10 -0000
Received: by wgbds1 with SMTP id ds1so1745070wgb.2
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:47:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=edbrZzqd/ACG7JJH+W9M69GkKpw7tNzYIYciKeoHLvc=;
	b=Rd5V4BgNdS2Wru8qeb8bfKRorXKr3X5T7RPBSnVm/nG7PU7t1kie/HosNnhpg4jzvC
	KalZJILvtry1IAboc1CwW1ScH1A+ta33cKe+6/hjMHhwQliDYQ6LpiIFURnGmFhx75gG
	Q1s0HBVXz6loMc0LUNP+YBPZH+hTJSod42ObpfzDufQOAxwqkWmbw7hL/IpBSCRnvaHp
	/L5YuRZa+tpcbuzBMC/erHS1l7KXrDNhTdoYKTUSJXePTkpuOtoRAs3NYDAadjLJNwGU
	IM1q+EqCVYMmZC5KvtcaDc5e1vnndwrp9q/5wb2GdJ1dM9v1bR6Suht46WZkITee/5iM
	TkyQ==
Received: by 10.180.103.42 with SMTP id ft10mr9293090wib.18.1336754829440;
	Fri, 11 May 2012 09:47:09 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id fm1sm11618707wib.10.2012.05.11.09.47.08
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:47:08 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:47:05 +0100
From: Keir Fraser <keir@xen.org>
To: Bei Guan <gbtju85@gmail.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <CBD30119.40176%keir@xen.org>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vlbI0xEAt/6MFzUysUP6/JofztQ==
In-Reply-To: <CAEQjb-TQfawPLn4QsygPyuuJWq6EUr4ni017AtCAjoqK8G0h1g@mail.gmail.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/2012 17:33, "Bei Guan" <gbtju85@gmail.com> wrote:

> 2012/5/12 Ian Campbell <Ian.Campbell@citrix.com>
>> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
>> =

>> =

>>> No, it doesn't work for me. There is the same error.
>> =

>> Hrm. Since you can reproduce would you mind experimenting a bit to
>> figure out the correct fix for this?
>> =

>> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
>> may not)?
> Yes, I add this option to Makefile. And now it works well. The patch is a=
s the
> following. Thank you very much.

I'd be worried about more command-line meddling causing even more fallout.
Particularly because we haven't used that option anywhere else so far, so
it's untested by us. E.g., do all gcc support -Wno-unused-result?

 -- Keir

> =

> diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile
> --- a/tools/blktap2/drivers/Makefile=A0=A0=A0 Fri Apr 27 11:09:26 2012 +0=
200
> +++ b/tools/blktap2/drivers/Makefile=A0=A0=A0 Sat May 12 00:31:12 2012 +0=
800
> @@ -11,6 +11,7 @@
> =A0
> =A0CFLAGS=A0=A0=A0 +=3D -Werror -g
> =A0CFLAGS=A0=A0=A0 +=3D -Wno-unused
> +CFLAGS=A0=A0=A0 +=3D -Wno-unused-result
> =A0CFLAGS=A0=A0=A0 +=3D -fno-strict-aliasing
> =A0CFLAGS=A0=A0=A0 +=3D -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
> =A0CFLAGS=A0=A0=A0 +=3D $(CFLAGS_libxenctrl)
> =

> =

> =

> =

> Thanks,
> Bei Guan
> =

> =

> =

> =A0
>> =

>> Or maybe just assigning to a dummy variable.
>> =

>> Ian.
>> =

>>> My environment and gcc version are like this:
>>> =

>>> root@gavin-desktop:~# uname -a
>>> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
>>> 2011 x86_64 GNU/Linux
>>> =

>>> root@gavin-desktop:~# gcc -v
>>> Using built-in specs.
>>> Target: x86_64-linux-gnu
>>> Configured with: ../src/configure -v --with-pkgversion=3D'Ubuntu
>>> 4.4.3-4ubuntu5'
>>> --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs
>>> --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr
>>> --enable-shared --enable-multiarch --enable-linker-build-id
>>> --with-system-zlib --libexecdir=3D/usr/lib --without-included-gettext
>>> --enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++/4.4
>>> --program-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu
>>> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
>>> --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric
>>> --enable-checking=3Drelease --build=3Dx86_64-linux-gnu
>>> --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu
>>> Thread model: posix
>>> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
>>> =

>>> =

>>> =

>>> =

>>> Thanks,
>>> Bei Guan
>>> =

>>> =

>>> =

>>> =

>>> =

>>> =A0 =A0 =A0 =A0 8<------------------------------------------------------
>>> =

>>> =A0 =A0 =A0 =A0 # HG changeset patch
>>> =A0 =A0 =A0 =A0 # User Ian Campbell <ian.campbell@citrix.com>
>>> =A0 =A0 =A0 =A0 # Date 1336751175 -3600
>>> =A0 =A0 =A0 =A0 # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>>> =A0 =A0 =A0 =A0 # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999
>>> =A0 =A0 =A0 =A0 blktap: avoid attribute warn_unused_result build failur=
es.
>>> =

>>> =A0 =A0 =A0 =A0 I'm not proud of this, but since none of these callers =
of
>>> =A0 =A0 =A0 =A0 read/write have any
>>> =A0 =A0 =A0 =A0 other error handling and return void themselves (for se=
veral
>>> =A0 =A0 =A0 =A0 links up the call
>>> =A0 =A0 =A0 =A0 chain AFAICT) and because I don't really want to get in=
to a
>>> =A0 =A0 =A0 =A0 massive reworking
>>> =A0 =A0 =A0 =A0 of blktap2 I suppose it is at least pragmatic
>>> =

>>> =A0 =A0 =A0 =A0 Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>>> =

>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-log.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 F=
ri May 11
>>> =A0 =A0 =A0 =A0 16:19:16 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 F=
ri May 11
>>> =A0 =A0 =A0 =A0 16:46:15 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -247,7 +247,7 @@ tlog_flush(void)
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wsize =3D ((size + 511) & (~511));
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, '\n', wsi=
ze - size);
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;
>>> =

>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-queue.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:19:16 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:46:15 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue=
 *que
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0uint64_t val;
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (lio->flags & LIO_FLAG_EVENTFD)
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio->event_fd, &val,=
 sizeof(val));
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio->event_fd,=
 &val, sizeof(val));
>>> =A0 =A0 =A0 =A0 =A0}
>>> =

>>> =A0 =A0 =A0 =A0 =A0static void
>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-stream.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:19:16 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:46:15 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct ta=
pdisk
>>> =A0 =A0 =A0 =A0 =A0{
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy;
>>> =

>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 read(p->pipe[POLL_READ], &dummy, sizeof(d=
ummy));
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)read(p->pipe[POLL_READ], &dummy, si=
zeof(dummy));
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p->set =3D 0;
>>> =A0 =A0 =A0 =A0 =A0}
>>> =

>>> =A0 =A0 =A0 =A0 @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapd=
isk_s
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy =3D 0;
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!p->set) {
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p->pipe[POLL_WRITE]=
, &dummy,
>>> =A0 =A0 =A0 =A0 sizeof(dummy));
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p->pipe[POLL_=
WRITE], &dummy,
>>> =A0 =A0 =A0 =A0 sizeof(dummy));
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p->set =3D 1;
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>>> =A0 =A0 =A0 =A0 =A0}
>>> =A0 =A0 =A0 =A0 @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct=
 tapd
>>> =A0 =A0 =A0 =A0 =A0{
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned
>>> =A0 =A0 =A0 =A0 long)tapdisk_stream_request_idx(s, sreq);
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s->vbd-=
>ring.vstart,
>>> =A0 =A0 =A0 =A0 idx, 0);
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(s->out_fd, buf, sreq->secs << SECTO=
R_SHIFT);
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(s->out_fd, buf, sreq->secs <<
>>> =A0 =A0 =A0 =A0 SECTOR_SHIFT);
>>> =A0 =A0 =A0 =A0 =A0}
>>> =

>>> =A0 =A0 =A0 =A0 =A0static void
>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk2.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16=
:19:16
>>> =A0 =A0 =A0 =A0 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16=
:46:15
>>> =A0 =A0 =A0 =A0 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (optind !=3D argc)
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);
>>> =

>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 chdir("/");
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 if (chdir("/")) {
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF("failed to chdir(=
/): %d\n", errno);
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 }
>>> =A0 =A0 =A0 =A0 +
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_start_logging("tapdisk2");
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();
>>> =

>>> =

>>> =

>>> =

>>> =

>>> --
>>> Best Regards,
>>> Bei Guan
>>> =

>> =

>> =

> =

> =




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:47:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:47:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSszp-0002hT-A8; Fri, 11 May 2012 16:47:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SSszn-0002h1-RI
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:47:12 +0000
Received: from [85.158.143.99:23524] by server-1.bemta-4.messagelabs.com id
	DA/7B-20925-F824DAF4; Fri, 11 May 2012 16:47:11 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336754829!16384923!1
X-Originating-IP: [74.125.82.41]
X-SpamReason: No, hits=0.7 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	MIME_QP_LONG_LINE,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27056 invoked from network); 11 May 2012 16:47:10 -0000
Received: from mail-wg0-f41.google.com (HELO mail-wg0-f41.google.com)
	(74.125.82.41)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:47:10 -0000
Received: by wgbds1 with SMTP id ds1so1745070wgb.2
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:47:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=edbrZzqd/ACG7JJH+W9M69GkKpw7tNzYIYciKeoHLvc=;
	b=Rd5V4BgNdS2Wru8qeb8bfKRorXKr3X5T7RPBSnVm/nG7PU7t1kie/HosNnhpg4jzvC
	KalZJILvtry1IAboc1CwW1ScH1A+ta33cKe+6/hjMHhwQliDYQ6LpiIFURnGmFhx75gG
	Q1s0HBVXz6loMc0LUNP+YBPZH+hTJSod42ObpfzDufQOAxwqkWmbw7hL/IpBSCRnvaHp
	/L5YuRZa+tpcbuzBMC/erHS1l7KXrDNhTdoYKTUSJXePTkpuOtoRAs3NYDAadjLJNwGU
	IM1q+EqCVYMmZC5KvtcaDc5e1vnndwrp9q/5wb2GdJ1dM9v1bR6Suht46WZkITee/5iM
	TkyQ==
Received: by 10.180.103.42 with SMTP id ft10mr9293090wib.18.1336754829440;
	Fri, 11 May 2012 09:47:09 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id fm1sm11618707wib.10.2012.05.11.09.47.08
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 09:47:08 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 11 May 2012 17:47:05 +0100
From: Keir Fraser <keir@xen.org>
To: Bei Guan <gbtju85@gmail.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <CBD30119.40176%keir@xen.org>
Thread-Topic: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
Thread-Index: Ac0vlbI0xEAt/6MFzUysUP6/JofztQ==
In-Reply-To: <CAEQjb-TQfawPLn4QsygPyuuJWq6EUr4ni017AtCAjoqK8G0h1g@mail.gmail.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 11/05/2012 17:33, "Bei Guan" <gbtju85@gmail.com> wrote:

> 2012/5/12 Ian Campbell <Ian.Campbell@citrix.com>
>> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
>> =

>> =

>>> No, it doesn't work for me. There is the same error.
>> =

>> Hrm. Since you can reproduce would you mind experimenting a bit to
>> figure out the correct fix for this?
>> =

>> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
>> may not)?
> Yes, I add this option to Makefile. And now it works well. The patch is a=
s the
> following. Thank you very much.

I'd be worried about more command-line meddling causing even more fallout.
Particularly because we haven't used that option anywhere else so far, so
it's untested by us. E.g., do all gcc support -Wno-unused-result?

 -- Keir

> =

> diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile
> --- a/tools/blktap2/drivers/Makefile=A0=A0=A0 Fri Apr 27 11:09:26 2012 +0=
200
> +++ b/tools/blktap2/drivers/Makefile=A0=A0=A0 Sat May 12 00:31:12 2012 +0=
800
> @@ -11,6 +11,7 @@
> =A0
> =A0CFLAGS=A0=A0=A0 +=3D -Werror -g
> =A0CFLAGS=A0=A0=A0 +=3D -Wno-unused
> +CFLAGS=A0=A0=A0 +=3D -Wno-unused-result
> =A0CFLAGS=A0=A0=A0 +=3D -fno-strict-aliasing
> =A0CFLAGS=A0=A0=A0 +=3D -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
> =A0CFLAGS=A0=A0=A0 +=3D $(CFLAGS_libxenctrl)
> =

> =

> =

> =

> Thanks,
> Bei Guan
> =

> =

> =

> =A0
>> =

>> Or maybe just assigning to a dummy variable.
>> =

>> Ian.
>> =

>>> My environment and gcc version are like this:
>>> =

>>> root@gavin-desktop:~# uname -a
>>> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
>>> 2011 x86_64 GNU/Linux
>>> =

>>> root@gavin-desktop:~# gcc -v
>>> Using built-in specs.
>>> Target: x86_64-linux-gnu
>>> Configured with: ../src/configure -v --with-pkgversion=3D'Ubuntu
>>> 4.4.3-4ubuntu5'
>>> --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs
>>> --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr
>>> --enable-shared --enable-multiarch --enable-linker-build-id
>>> --with-system-zlib --libexecdir=3D/usr/lib --without-included-gettext
>>> --enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++/4.4
>>> --program-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu
>>> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
>>> --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric
>>> --enable-checking=3Drelease --build=3Dx86_64-linux-gnu
>>> --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu
>>> Thread model: posix
>>> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
>>> =

>>> =

>>> =

>>> =

>>> Thanks,
>>> Bei Guan
>>> =

>>> =

>>> =

>>> =

>>> =

>>> =A0 =A0 =A0 =A0 8<------------------------------------------------------
>>> =

>>> =A0 =A0 =A0 =A0 # HG changeset patch
>>> =A0 =A0 =A0 =A0 # User Ian Campbell <ian.campbell@citrix.com>
>>> =A0 =A0 =A0 =A0 # Date 1336751175 -3600
>>> =A0 =A0 =A0 =A0 # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
>>> =A0 =A0 =A0 =A0 # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf71999
>>> =A0 =A0 =A0 =A0 blktap: avoid attribute warn_unused_result build failur=
es.
>>> =

>>> =A0 =A0 =A0 =A0 I'm not proud of this, but since none of these callers =
of
>>> =A0 =A0 =A0 =A0 read/write have any
>>> =A0 =A0 =A0 =A0 other error handling and return void themselves (for se=
veral
>>> =A0 =A0 =A0 =A0 links up the call
>>> =A0 =A0 =A0 =A0 chain AFAICT) and because I don't really want to get in=
to a
>>> =A0 =A0 =A0 =A0 massive reworking
>>> =A0 =A0 =A0 =A0 of blktap2 I suppose it is at least pragmatic
>>> =

>>> =A0 =A0 =A0 =A0 Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>>> =

>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-log.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 F=
ri May 11
>>> =A0 =A0 =A0 =A0 16:19:16 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =A0 F=
ri May 11
>>> =A0 =A0 =A0 =A0 16:46:15 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -247,7 +247,7 @@ tlog_flush(void)
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wsize =3D ((size + 511) & (~511));
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, '\n', wsi=
ze - size);
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsize);
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;
>>> =

>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-queue.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:19:16 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =A0 Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:46:15 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue=
 *que
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0uint64_t val;
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (lio->flags & LIO_FLAG_EVENTFD)
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio->event_fd, &val,=
 sizeof(val));
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio->event_fd,=
 &val, sizeof(val));
>>> =A0 =A0 =A0 =A0 =A0}
>>> =

>>> =A0 =A0 =A0 =A0 =A0static void
>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-stream.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:19:16 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =A0Fri=
 May 11
>>> =A0 =A0 =A0 =A0 16:46:15 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct ta=
pdisk
>>> =A0 =A0 =A0 =A0 =A0{
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy;
>>> =

>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 read(p->pipe[POLL_READ], &dummy, sizeof(d=
ummy));
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)read(p->pipe[POLL_READ], &dummy, si=
zeof(dummy));
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p->set =3D 0;
>>> =A0 =A0 =A0 =A0 =A0}
>>> =

>>> =A0 =A0 =A0 =A0 @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapd=
isk_s
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy =3D 0;
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!p->set) {
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p->pipe[POLL_WRITE]=
, &dummy,
>>> =A0 =A0 =A0 =A0 sizeof(dummy));
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p->pipe[POLL_=
WRITE], &dummy,
>>> =A0 =A0 =A0 =A0 sizeof(dummy));
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p->set =3D 1;
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>>> =A0 =A0 =A0 =A0 =A0}
>>> =A0 =A0 =A0 =A0 @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct=
 tapd
>>> =A0 =A0 =A0 =A0 =A0{
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned
>>> =A0 =A0 =A0 =A0 long)tapdisk_stream_request_idx(s, sreq);
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s->vbd-=
>ring.vstart,
>>> =A0 =A0 =A0 =A0 idx, 0);
>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(s->out_fd, buf, sreq->secs << SECTO=
R_SHIFT);
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(s->out_fd, buf, sreq->secs <<
>>> =A0 =A0 =A0 =A0 SECTOR_SHIFT);
>>> =A0 =A0 =A0 =A0 =A0}
>>> =

>>> =A0 =A0 =A0 =A0 =A0static void
>>> =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5
>>> =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk2.c
>>> =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16=
:19:16
>>> =A0 =A0 =A0 =A0 2012 +0100
>>> =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May 11 16=
:46:15
>>> =A0 =A0 =A0 =A0 2012 +0100
>>> =A0 =A0 =A0 =A0 @@ -79,7 +79,12 @@ main(int argc, char *argv[])
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (optind !=3D argc)
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINVAL);
>>> =

>>> =A0 =A0 =A0 =A0 - =A0 =A0 =A0 chdir("/");
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 if (chdir("/")) {
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF("failed to chdir(=
/): %d\n", errno);
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;
>>> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 }
>>> =A0 =A0 =A0 =A0 +
>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_start_logging("tapdisk2");
>>> =

>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();
>>> =

>>> =

>>> =

>>> =

>>> =

>>> --
>>> Best Regards,
>>> Bei Guan
>>> =

>> =

>> =

> =

> =




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:49:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:49:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt25-00039k-Gx; Fri, 11 May 2012 16:49:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSt23-00039G-HW
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:49:31 +0000
Received: from [85.158.143.99:34843] by server-1.bemta-4.messagelabs.com id
	39/FD-20925-A134DAF4; Fri, 11 May 2012 16:49:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336754969!27258554!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24294 invoked from network); 11 May 2012 16:49:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:49:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434806"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:49:29 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:49:29 +0100
Message-ID: <1336754967.23818.142.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 17:49:27 +0100
In-Reply-To: <20397.16795.166767.442835@mariner.uk.xensource.com>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
	<20397.16795.166767.442835@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xuesen.Guo@hitachiconsulting.com" <Xuesen.Guo@hitachiconsulting.com>,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:43 +0100, Ian Jackson wrote:
> Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support"):
> > readnote: Add bzImage kernel support
> 
> I tried to apply this but I'm afraid it no longer applies to
> xen-unstable tip:
> 
> patching file tools/xcutils/readnotes.c
> Hunk #1 FAILED at 17
> Hunk #3 FAILED at 161
> 2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readnotes.c.rej
> abort: patch failed to apply
> 
> Ian.

The most recent change to this file was 
        changeset:   21483:779c0ef9682c
        user:        Keir Fraser <keir.fraser@citrix.com>
        date:        Fri May 28 09:30:19 2010 +0100
        summary:     libxc: eliminate static variables, use xentoollog; API change
        
I expect something else is up -- whitespace mangling perhaps? Or maybe
the patch simply isn't based on xen-unstable.hg?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:49:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:49:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt25-00039k-Gx; Fri, 11 May 2012 16:49:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSt23-00039G-HW
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:49:31 +0000
Received: from [85.158.143.99:34843] by server-1.bemta-4.messagelabs.com id
	39/FD-20925-A134DAF4; Fri, 11 May 2012 16:49:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336754969!27258554!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24294 invoked from network); 11 May 2012 16:49:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:49:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434806"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:49:29 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:49:29 +0100
Message-ID: <1336754967.23818.142.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 17:49:27 +0100
In-Reply-To: <20397.16795.166767.442835@mariner.uk.xensource.com>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
	<20397.16795.166767.442835@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xuesen.Guo@hitachiconsulting.com" <Xuesen.Guo@hitachiconsulting.com>,
	xen-devel <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:43 +0100, Ian Jackson wrote:
> Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support"):
> > readnote: Add bzImage kernel support
> 
> I tried to apply this but I'm afraid it no longer applies to
> xen-unstable tip:
> 
> patching file tools/xcutils/readnotes.c
> Hunk #1 FAILED at 17
> Hunk #3 FAILED at 161
> 2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readnotes.c.rej
> abort: patch failed to apply
> 
> Ian.

The most recent change to this file was 
        changeset:   21483:779c0ef9682c
        user:        Keir Fraser <keir.fraser@citrix.com>
        date:        Fri May 28 09:30:19 2010 +0100
        summary:     libxc: eliminate static variables, use xentoollog; API change
        
I expect something else is up -- whitespace mangling perhaps? Or maybe
the patch simply isn't based on xen-unstable.hg?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:50:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:50:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt2b-0003Gn-V0; Fri, 11 May 2012 16:50:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSt2a-0003GT-R0
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:50:05 +0000
Received: from [85.158.143.99:39499] by server-2.bemta-4.messagelabs.com id
	27/37-17550-C334DAF4; Fri, 11 May 2012 16:50:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336755002!21038540!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7753 invoked from network); 11 May 2012 16:50:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:50:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434815"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:50:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:50:01 +0100
Message-ID: <1336754999.23818.144.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 17:49:59 +0100
In-Reply-To: <20374.54942.132249.434292@mariner.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
Content-Type: multipart/mixed; boundary="=-clOl9qCt3yG9yvqgPCDe"
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--=-clOl9qCt3yG9yvqgPCDe
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit


> > [0] apart perhaps from having /usr/include/xen-compat/xs.h and
> > suggesting that people can use -I/usr/include/xen-compat as a bandaid,
> > but at that point they may as well just sed their code, since they may
> > need to support 4.1 anyhow.
> 
> I think this would be a useful thing to add.  Providing that would
> mean that with -I/usr/include/xen-compat, the same code could compile
> against both 4.1 and 4.2, if it said <xs.h>.

I'm a little concerned about breaking out of tree users (specifically
upstream Qemu). How about the following based on Bastian's patch.

This installs the headers as xenstore.h and xenstore_lib.h and provides
compat headers in /usr/include/xenstore-compat/xs{,_lib}.h which #warn
and then include the new names. This means that upstream code should be
buildable using -I/usr/include/xenstore-compat.

However, since we are now frozen for 4.2 I propose that we also create
symlinks from the old xs.h and xs_lib.h to the compat versions inorder
to not break 3rd party software for the 4.2 release. We will ship these
for the 4.2 release only. If distros wish to omit these from their
packaging then that's fine, although they should probably check their
reverse-build depends etc. We will remove these links early in 4.3.

qemu-xs-compat.patch fixes trad qemu, upstream is fixed when built in
our build system by this patch and is fixed when built independently by
the symlinks, for now. We can convert these properly at our leisure
before 4.3

(NB: git style patch, so the rename is represented in the minimised
manner)

8<------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336754841 -3600
# Node ID b61d5b46f3a91f7cc9064186e10acacfab10b184
# Parent  15ed8f45c4e57a1e206af020e0ff17b792108e99
xenstore: rename public xenstore headers


The xenstore header xs.h is producing conflicts with other software[1].

xs is a too short identifier and does not matche the library. Renaming
the headers to xenstore.h and xenstore_lib.h is the easiest way to make
them easy recognizable and prevent furthe problems.

[1]: http://bugs.debian.org/668550

Signed-off-by: Bastian Blank <waldi@debian.org>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -241,6 +241,8 @@ uninstall:
 	rm -rf $(D)$(BINDIR)/xenpvnetboot $(D)$(BINDIR)/qemu-*-xen
 	rm -rf $(D)$(INCLUDEDIR)/xenctrl* $(D)$(INCLUDEDIR)/xenguest.h
 	rm -rf $(D)$(INCLUDEDIR)/xs_lib.h $(D)$(INCLUDEDIR)/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xensotre-compat/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore_lib.h $(D)$(INCLUDEDIR)/xenstore.h
 	rm -rf $(D)$(INCLUDEDIR)/xen
 	rm -rf $(D)$(INCLUDEDIR)/_libxl* $(D)$(INCLUDEDIR)/libxl*
 	rm -rf $(D)$(INCLUDEDIR)/xenstat.h $(D)$(INCLUDEDIR)/xentoollog.h
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -28,7 +28,7 @@
 #include <blkfront.h>
 #include <fbfront.h>
 #include <xenbus.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/types.h>
 #include <sys/unistd.h>
diff --git a/extras/mini-os/lib/xs.c b/extras/mini-os/lib/xs.c
--- a/extras/mini-os/lib/xs.c
+++ b/extras/mini-os/lib/xs.c
@@ -9,7 +9,7 @@
 #ifdef HAVE_LIBC
 #include <os.h>
 #include <lib.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xenbus.h>
 #include <stdlib.h>
 #include <unistd.h>
diff --git a/tools/Makefile b/tools/Makefile
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -150,7 +150,8 @@ subdir-all-qemu-xen-dir subdir-install-q
 		--source-path=$$source \
 		--extra-cflags="-I$(XEN_ROOT)/tools/include \
 		-I$(XEN_ROOT)/tools/libxc \
-		-I$(XEN_ROOT)/tools/xenstore" \
+		-I$(XEN_ROOT)/tools/xenstore \
+		-I$(XEN_ROOT)/tools/xenstore/compat" \
 		--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
 		-L$(XEN_ROOT)/tools/xenstore" \
 		--bindir=$(LIBEXEC) \
diff --git a/tools/blktap/drivers/blktapctrl.c b/tools/blktap/drivers/blktapctrl.c
--- a/tools/blktap/drivers/blktapctrl.c
+++ b/tools/blktap/drivers/blktapctrl.c
@@ -47,7 +47,7 @@
 #include <sys/ioctl.h>
 #include <string.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/time.h>
 #include <syslog.h>
 #ifdef MEMSHR
diff --git a/tools/blktap/lib/blktaplib.h b/tools/blktap/lib/blktaplib.h
--- a/tools/blktap/lib/blktaplib.h
+++ b/tools/blktap/lib/blktaplib.h
@@ -38,7 +38,7 @@
 #include <xen/xen.h>
 #include <xen/io/blkif.h>
 #include <xen/io/ring.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <unistd.h>
 
diff --git a/tools/blktap/lib/xenbus.c b/tools/blktap/lib/xenbus.c
--- a/tools/blktap/lib/xenbus.c
+++ b/tools/blktap/lib/xenbus.c
@@ -41,7 +41,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff --git a/tools/blktap/lib/xs_api.c b/tools/blktap/lib/xs_api.c
--- a/tools/blktap/lib/xs_api.c
+++ b/tools/blktap/lib/xs_api.c
@@ -38,7 +38,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff --git a/tools/console/client/main.c b/tools/console/client/main.c
--- a/tools/console/client/main.c
+++ b/tools/console/client/main.c
@@ -39,7 +39,7 @@
 #include <sys/stropts.h>
 #endif
 
-#include "xs.h"
+#include <xenstore.h>
 #include "xenctrl.h"
 
 #define ESCAPE_CHARACTER 0x1d
diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -22,7 +22,7 @@
 
 #include "utils.h"
 #include "io.h"
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/console.h>
 
 #include <stdlib.h>
diff --git a/tools/console/daemon/utils.h b/tools/console/daemon/utils.h
--- a/tools/console/daemon/utils.h
+++ b/tools/console/daemon/utils.h
@@ -26,7 +26,7 @@
 #include <stdio.h>
 #include <xenctrl.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 void daemonize(const char *pidfile);
 bool xen_setup(void);
diff --git a/tools/libvchan/init.c b/tools/libvchan/init.c
--- a/tools/libvchan/init.c
+++ b/tools/libvchan/init.c
@@ -40,7 +40,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/evtchn.h>
 #include <xen/sys/gntalloc.h>
 #include <xen/sys/gntdev.h>
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -43,7 +43,7 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "xentoollog.h"
diff --git a/tools/misc/xen-lowmemd.c b/tools/misc/xen-lowmemd.c
--- a/tools/misc/xen-lowmemd.c
+++ b/tools/misc/xen-lowmemd.c
@@ -5,7 +5,7 @@
 
 #include <stdio.h>
 #include <xenctrl.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/tools/python/xen/lowlevel/checkpoint/checkpoint.c b/tools/python/xen/lowlevel/checkpoint/checkpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.c
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.c
@@ -2,7 +2,7 @@
 
 #include <Python.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "checkpoint.h"
diff --git a/tools/python/xen/lowlevel/checkpoint/checkpoint.h b/tools/python/xen/lowlevel/checkpoint/checkpoint.h
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.h
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.h
@@ -8,7 +8,7 @@
 #include <time.h>
 
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 typedef enum {
     dt_unknown,
diff --git a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
+++ b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
@@ -11,7 +11,7 @@
 
 #include <xenctrl.h>
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include "checkpoint.h"
 
diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowlevel/xs/xs.c
--- a/tools/python/xen/lowlevel/xs/xs.c
+++ b/tools/python/xen/lowlevel/xs/xs.c
@@ -30,7 +30,7 @@
 #include <fcntl.h>
 #include <errno.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 /** @file
  * Python interface to the Xen Store Daemon (xs).
diff --git a/tools/tests/mce-test/tools/xen-mceinj.c b/tools/tests/mce-test/tools/xen-mceinj.c
--- a/tools/tests/mce-test/tools/xen-mceinj.c
+++ b/tools/tests/mce-test/tools/xen-mceinj.c
@@ -38,7 +38,7 @@
 #include <sys/time.h>
 #include <xen/arch-x86/xen-mca.h>
 #include <xg_save_restore.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #define MCi_type_CTL        0x0
 #define MCi_type_STATUS     0x1
diff --git a/tools/xcutils/xc_save.c b/tools/xcutils/xc_save.c
--- a/tools/xcutils/xc_save.c
+++ b/tools/xcutils/xc_save.c
@@ -19,7 +19,7 @@
 #include <fcntl.h>
 #include <err.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xenguest.h>
 
diff --git a/tools/xenbackendd/xenbackendd.c b/tools/xenbackendd/xenbackendd.c
--- a/tools/xenbackendd/xenbackendd.c
+++ b/tools/xenbackendd/xenbackendd.c
@@ -28,7 +28,7 @@
 #include <string.h>
 #include <syslog.h>
 
-#include <xs.h>
+#include <xenstore.h>
 
 #define DEVTYPE_UNKNOWN 0
 #define DEVTYPE_VIF 1
diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c
--- a/tools/xenpaging/xenpaging.c
+++ b/tools/xenpaging/xenpaging.c
@@ -29,7 +29,7 @@
 #include <unistd.h>
 #include <poll.h>
 #include <xc_private.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <getopt.h>
 
 #include "xc_bitops.h"
diff --git a/tools/xenpmd/xenpmd.c b/tools/xenpmd/xenpmd.c
--- a/tools/xenpmd/xenpmd.c
+++ b/tools/xenpmd/xenpmd.c
@@ -40,7 +40,7 @@
 #include <dirent.h>
 #include <unistd.h>
 #include <sys/stat.h>
-#include <xs.h>
+#include <xenstore.h>
 
 /* #define RUN_STANDALONE */
 #define RUN_IN_SIMULATE_MODE
diff --git a/tools/xenstat/libxenstat/src/xenstat_priv.h b/tools/xenstat/libxenstat/src/xenstat_priv.h
--- a/tools/xenstat/libxenstat/src/xenstat_priv.h
+++ b/tools/xenstat/libxenstat/src/xenstat_priv.h
@@ -24,7 +24,7 @@
 #define XENSTAT_PRIV_H
 
 #include <sys/types.h>
-#include <xs.h>
+#include <xenstore.h>
 #include "xenstat.h"
 
 #include "xenctrl.h"
diff --git a/tools/xenstore/COPYING b/tools/xenstore/COPYING
--- a/tools/xenstore/COPYING
+++ b/tools/xenstore/COPYING
@@ -1,6 +1,6 @@
 This license (LGPL) applies to the xenstore library which interfaces
-with the xenstore daemon (as stated in xs.c, xs.h, xs_lib.c and
-xs_lib.h).  The remaining files in the directory are licensed as
+with the xenstore daemon (as stated in xs.c, xenstore.h, xs_lib.c and
+xenstore_lib.h).  The remaining files in the directory are licensed as
 stated in the comments (as of this writing, GPL, see ../../COPYING).
 
 
diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile
--- a/tools/xenstore/Makefile
+++ b/tools/xenstore/Makefile
@@ -109,6 +109,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xenstored
 	$(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored
 	$(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
@@ -122,8 +123,12 @@ install: all
 	ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
 	ln -sf libxenstore.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenstore.so
 	$(INSTALL_DATA) libxenstore.a $(DESTDIR)$(LIBDIR)
-	$(INSTALL_DATA) xs.h $(DESTDIR)$(INCLUDEDIR)
-	$(INSTALL_DATA) xs_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) compat/xs.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs.h
+	$(INSTALL_DATA) compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs_lib.h
+	ln -sf xenstore-compat/xs.h  $(DESTDIR)$(INCLUDEDIR)/xs.h
+	ln -sf xenstore-compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xs_lib.h
 
 -include $(DEPS)
 
diff --git a/tools/xenstore/compat/xs.h b/tools/xenstore/compat/xs.h
new file mode 100644
--- /dev/null
+++ b/tools/xenstore/compat/xs.h
@@ -0,0 +1,5 @@
+#ifndef XENSTORE_COMPAT_H
+#define XENSTORE_COMPAT_H
+#warning xs.h is deprecated use xenstore.h instead
+#include <xenstore.h>
+#endif
diff --git a/tools/xenstore/compat/xs_lib.h b/tools/xenstore/compat/xs_lib.h
new file mode 100644
--- /dev/null
+++ b/tools/xenstore/compat/xs_lib.h
@@ -0,0 +1,5 @@
+#ifndef XENSTORE_LIB_COMPAT_H
+#define XENSTORE_LIB_COMPAT_H
+#warning xs_lib.h is deprecated use xenstore_lib.h instead
+#include <xenstore_lib.h>
+#endif
diff --git a/tools/xenstore/init-xenstore-domain.c b/tools/xenstore/init-xenstore-domain.c
--- a/tools/xenstore/init-xenstore-domain.c
+++ b/tools/xenstore/init-xenstore-domain.c
@@ -7,7 +7,7 @@
 #include <sys/mman.h>
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/xenbus_dev.h>
 
 static uint32_t domid = -1;
diff --git a/tools/xenstore/xs.h b/tools/xenstore/xenstore.h
rename from tools/xenstore/xs.h
rename to tools/xenstore/xenstore.h
--- a/tools/xenstore/xs.h
+++ b/tools/xenstore/xenstore.h
@@ -17,10 +17,10 @@
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-#ifndef _XS_H
-#define _XS_H
+#ifndef XENSTORE_H
+#define XENSTORE_H
 
-#include <xs_lib.h>
+#include <xenstore_lib.h>
 
 #define XBT_NULL 0
 
@@ -223,7 +223,7 @@ char *xs_debug_command(struct xs_handle 
 		       void *data, unsigned int len);
 
 int xs_suspend_evtchn_port(int domid);
-#endif /* _XS_H */
+#endif /* XENSTORE_H */
 
 /*
  * Local variables:
diff --git a/tools/xenstore/xenstore_client.c b/tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c
+++ b/tools/xenstore/xenstore_client.c
@@ -18,7 +18,7 @@
 #include <string.h>
 #include <termios.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/ioctl.h>
 
diff --git a/tools/xenstore/xenstore_control.c b/tools/xenstore/xenstore_control.c
--- a/tools/xenstore/xenstore_control.c
+++ b/tools/xenstore/xenstore_control.c
@@ -2,7 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "xs.h"
+#include "xenstore.h"
 
 
 int main(int argc, char **argv)
diff --git a/tools/xenstore/xs_lib.h b/tools/xenstore/xenstore_lib.h
rename from tools/xenstore/xs_lib.h
rename to tools/xenstore/xenstore_lib.h
--- a/tools/xenstore/xs_lib.h
+++ b/tools/xenstore/xenstore_lib.h
@@ -17,8 +17,8 @@
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-#ifndef _XS_LIB_H
-#define _XS_LIB_H
+#ifndef XENSTORE_LIB_H
+#define XENSTORE_LIB_H
 
 #include <stdbool.h>
 #include <limits.h>
@@ -82,4 +82,4 @@ char *sanitise_value(struct expanding_bu
 /* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
 void unsanitise_value(char *out, unsigned *out_len_r, const char *in);
 
-#endif /* _XS_LIB_H */
+#endif /* XENSTORE_LIB_H */
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -44,7 +44,7 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "xenstored_core.h"
 #include "xenstored_watch.h"
 #include "xenstored_transaction.h"
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -27,7 +27,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "list.h"
 #include "tdb.h"
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -33,7 +33,7 @@
 #include "xenstored_transaction.h"
 #include "xenstored_watch.h"
 #include "xenstored_domain.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 
 struct changed_node
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -27,7 +27,7 @@
 #include "talloc.h"
 #include "list.h"
 #include "xenstored_watch.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 #include "xenstored_domain.h"
 
diff --git a/tools/xenstore/xs.c b/tools/xenstore/xs.c
--- a/tools/xenstore/xs.c
+++ b/tools/xenstore/xs.c
@@ -32,7 +32,7 @@
 #include <signal.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs.h"
+#include "xenstore.h"
 #include "list.h"
 #include "utils.h"
 
diff --git a/tools/xenstore/xs_lib.c b/tools/xenstore/xs_lib.c
--- a/tools/xenstore/xs_lib.c
+++ b/tools/xenstore/xs_lib.c
@@ -23,7 +23,7 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <assert.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 
 /* Common routines for the Xen store daemon and client library. */
 
diff --git a/tools/xenstore/xs_tdb_dump.c b/tools/xenstore/xs_tdb_dump.c
--- a/tools/xenstore/xs_tdb_dump.c
+++ b/tools/xenstore/xs_tdb_dump.c
@@ -5,7 +5,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 #include <string.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "tdb.h"
 #include "talloc.h"
 #include "utils.h"


--=-clOl9qCt3yG9yvqgPCDe
Content-Disposition: attachment; filename="qemu-xs-compat.patch"
Content-Type: text/x-patch; name="qemu-xs-compat.patch"; charset="UTF-8"
Content-Transfer-Encoding: 7bit

diff --git a/Makefile b/Makefile
index 37c7066..a43ca67 100644
--- a/Makefile
+++ b/Makefile
@@ -49,6 +49,7 @@ recurse-all: $(SUBDIR_RULES)
 CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
 CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS += -I$(XEN_ROOT)/tools/include
 
 tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
diff --git a/xen-hooks.mak b/xen-hooks.mak
index b55f45b..8e9cadf 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -1,5 +1,6 @@
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
 
 SSE2 := $(call cc-option,-msse2,)

--=-clOl9qCt3yG9yvqgPCDe
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=-clOl9qCt3yG9yvqgPCDe--


From xen-devel-bounces@lists.xen.org Fri May 11 16:50:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:50:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt2b-0003Gn-V0; Fri, 11 May 2012 16:50:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SSt2a-0003GT-R0
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:50:05 +0000
Received: from [85.158.143.99:39499] by server-2.bemta-4.messagelabs.com id
	27/37-17550-C334DAF4; Fri, 11 May 2012 16:50:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336755002!21038540!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7753 invoked from network); 11 May 2012 16:50:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:50:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434815"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:50:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 11 May 2012 17:50:01 +0100
Message-ID: <1336754999.23818.144.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 11 May 2012 17:49:59 +0100
In-Reply-To: <20374.54942.132249.434292@mariner.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
Content-Type: multipart/mixed; boundary="=-clOl9qCt3yG9yvqgPCDe"
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--=-clOl9qCt3yG9yvqgPCDe
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit


> > [0] apart perhaps from having /usr/include/xen-compat/xs.h and
> > suggesting that people can use -I/usr/include/xen-compat as a bandaid,
> > but at that point they may as well just sed their code, since they may
> > need to support 4.1 anyhow.
> 
> I think this would be a useful thing to add.  Providing that would
> mean that with -I/usr/include/xen-compat, the same code could compile
> against both 4.1 and 4.2, if it said <xs.h>.

I'm a little concerned about breaking out of tree users (specifically
upstream Qemu). How about the following based on Bastian's patch.

This installs the headers as xenstore.h and xenstore_lib.h and provides
compat headers in /usr/include/xenstore-compat/xs{,_lib}.h which #warn
and then include the new names. This means that upstream code should be
buildable using -I/usr/include/xenstore-compat.

However, since we are now frozen for 4.2 I propose that we also create
symlinks from the old xs.h and xs_lib.h to the compat versions inorder
to not break 3rd party software for the 4.2 release. We will ship these
for the 4.2 release only. If distros wish to omit these from their
packaging then that's fine, although they should probably check their
reverse-build depends etc. We will remove these links early in 4.3.

qemu-xs-compat.patch fixes trad qemu, upstream is fixed when built in
our build system by this patch and is fixed when built independently by
the symlinks, for now. We can convert these properly at our leisure
before 4.3

(NB: git style patch, so the rename is represented in the minimised
manner)

8<------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336754841 -3600
# Node ID b61d5b46f3a91f7cc9064186e10acacfab10b184
# Parent  15ed8f45c4e57a1e206af020e0ff17b792108e99
xenstore: rename public xenstore headers


The xenstore header xs.h is producing conflicts with other software[1].

xs is a too short identifier and does not matche the library. Renaming
the headers to xenstore.h and xenstore_lib.h is the easiest way to make
them easy recognizable and prevent furthe problems.

[1]: http://bugs.debian.org/668550

Signed-off-by: Bastian Blank <waldi@debian.org>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -241,6 +241,8 @@ uninstall:
 	rm -rf $(D)$(BINDIR)/xenpvnetboot $(D)$(BINDIR)/qemu-*-xen
 	rm -rf $(D)$(INCLUDEDIR)/xenctrl* $(D)$(INCLUDEDIR)/xenguest.h
 	rm -rf $(D)$(INCLUDEDIR)/xs_lib.h $(D)$(INCLUDEDIR)/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xensotre-compat/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore_lib.h $(D)$(INCLUDEDIR)/xenstore.h
 	rm -rf $(D)$(INCLUDEDIR)/xen
 	rm -rf $(D)$(INCLUDEDIR)/_libxl* $(D)$(INCLUDEDIR)/libxl*
 	rm -rf $(D)$(INCLUDEDIR)/xenstat.h $(D)$(INCLUDEDIR)/xentoollog.h
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -28,7 +28,7 @@
 #include <blkfront.h>
 #include <fbfront.h>
 #include <xenbus.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/types.h>
 #include <sys/unistd.h>
diff --git a/extras/mini-os/lib/xs.c b/extras/mini-os/lib/xs.c
--- a/extras/mini-os/lib/xs.c
+++ b/extras/mini-os/lib/xs.c
@@ -9,7 +9,7 @@
 #ifdef HAVE_LIBC
 #include <os.h>
 #include <lib.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xenbus.h>
 #include <stdlib.h>
 #include <unistd.h>
diff --git a/tools/Makefile b/tools/Makefile
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -150,7 +150,8 @@ subdir-all-qemu-xen-dir subdir-install-q
 		--source-path=$$source \
 		--extra-cflags="-I$(XEN_ROOT)/tools/include \
 		-I$(XEN_ROOT)/tools/libxc \
-		-I$(XEN_ROOT)/tools/xenstore" \
+		-I$(XEN_ROOT)/tools/xenstore \
+		-I$(XEN_ROOT)/tools/xenstore/compat" \
 		--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
 		-L$(XEN_ROOT)/tools/xenstore" \
 		--bindir=$(LIBEXEC) \
diff --git a/tools/blktap/drivers/blktapctrl.c b/tools/blktap/drivers/blktapctrl.c
--- a/tools/blktap/drivers/blktapctrl.c
+++ b/tools/blktap/drivers/blktapctrl.c
@@ -47,7 +47,7 @@
 #include <sys/ioctl.h>
 #include <string.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/time.h>
 #include <syslog.h>
 #ifdef MEMSHR
diff --git a/tools/blktap/lib/blktaplib.h b/tools/blktap/lib/blktaplib.h
--- a/tools/blktap/lib/blktaplib.h
+++ b/tools/blktap/lib/blktaplib.h
@@ -38,7 +38,7 @@
 #include <xen/xen.h>
 #include <xen/io/blkif.h>
 #include <xen/io/ring.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <unistd.h>
 
diff --git a/tools/blktap/lib/xenbus.c b/tools/blktap/lib/xenbus.c
--- a/tools/blktap/lib/xenbus.c
+++ b/tools/blktap/lib/xenbus.c
@@ -41,7 +41,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff --git a/tools/blktap/lib/xs_api.c b/tools/blktap/lib/xs_api.c
--- a/tools/blktap/lib/xs_api.c
+++ b/tools/blktap/lib/xs_api.c
@@ -38,7 +38,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff --git a/tools/console/client/main.c b/tools/console/client/main.c
--- a/tools/console/client/main.c
+++ b/tools/console/client/main.c
@@ -39,7 +39,7 @@
 #include <sys/stropts.h>
 #endif
 
-#include "xs.h"
+#include <xenstore.h>
 #include "xenctrl.h"
 
 #define ESCAPE_CHARACTER 0x1d
diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -22,7 +22,7 @@
 
 #include "utils.h"
 #include "io.h"
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/console.h>
 
 #include <stdlib.h>
diff --git a/tools/console/daemon/utils.h b/tools/console/daemon/utils.h
--- a/tools/console/daemon/utils.h
+++ b/tools/console/daemon/utils.h
@@ -26,7 +26,7 @@
 #include <stdio.h>
 #include <xenctrl.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 void daemonize(const char *pidfile);
 bool xen_setup(void);
diff --git a/tools/libvchan/init.c b/tools/libvchan/init.c
--- a/tools/libvchan/init.c
+++ b/tools/libvchan/init.c
@@ -40,7 +40,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/evtchn.h>
 #include <xen/sys/gntalloc.h>
 #include <xen/sys/gntdev.h>
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -43,7 +43,7 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "xentoollog.h"
diff --git a/tools/misc/xen-lowmemd.c b/tools/misc/xen-lowmemd.c
--- a/tools/misc/xen-lowmemd.c
+++ b/tools/misc/xen-lowmemd.c
@@ -5,7 +5,7 @@
 
 #include <stdio.h>
 #include <xenctrl.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/tools/python/xen/lowlevel/checkpoint/checkpoint.c b/tools/python/xen/lowlevel/checkpoint/checkpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.c
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.c
@@ -2,7 +2,7 @@
 
 #include <Python.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "checkpoint.h"
diff --git a/tools/python/xen/lowlevel/checkpoint/checkpoint.h b/tools/python/xen/lowlevel/checkpoint/checkpoint.h
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.h
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.h
@@ -8,7 +8,7 @@
 #include <time.h>
 
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 typedef enum {
     dt_unknown,
diff --git a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
+++ b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
@@ -11,7 +11,7 @@
 
 #include <xenctrl.h>
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include "checkpoint.h"
 
diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowlevel/xs/xs.c
--- a/tools/python/xen/lowlevel/xs/xs.c
+++ b/tools/python/xen/lowlevel/xs/xs.c
@@ -30,7 +30,7 @@
 #include <fcntl.h>
 #include <errno.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 /** @file
  * Python interface to the Xen Store Daemon (xs).
diff --git a/tools/tests/mce-test/tools/xen-mceinj.c b/tools/tests/mce-test/tools/xen-mceinj.c
--- a/tools/tests/mce-test/tools/xen-mceinj.c
+++ b/tools/tests/mce-test/tools/xen-mceinj.c
@@ -38,7 +38,7 @@
 #include <sys/time.h>
 #include <xen/arch-x86/xen-mca.h>
 #include <xg_save_restore.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #define MCi_type_CTL        0x0
 #define MCi_type_STATUS     0x1
diff --git a/tools/xcutils/xc_save.c b/tools/xcutils/xc_save.c
--- a/tools/xcutils/xc_save.c
+++ b/tools/xcutils/xc_save.c
@@ -19,7 +19,7 @@
 #include <fcntl.h>
 #include <err.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xenguest.h>
 
diff --git a/tools/xenbackendd/xenbackendd.c b/tools/xenbackendd/xenbackendd.c
--- a/tools/xenbackendd/xenbackendd.c
+++ b/tools/xenbackendd/xenbackendd.c
@@ -28,7 +28,7 @@
 #include <string.h>
 #include <syslog.h>
 
-#include <xs.h>
+#include <xenstore.h>
 
 #define DEVTYPE_UNKNOWN 0
 #define DEVTYPE_VIF 1
diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c
--- a/tools/xenpaging/xenpaging.c
+++ b/tools/xenpaging/xenpaging.c
@@ -29,7 +29,7 @@
 #include <unistd.h>
 #include <poll.h>
 #include <xc_private.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <getopt.h>
 
 #include "xc_bitops.h"
diff --git a/tools/xenpmd/xenpmd.c b/tools/xenpmd/xenpmd.c
--- a/tools/xenpmd/xenpmd.c
+++ b/tools/xenpmd/xenpmd.c
@@ -40,7 +40,7 @@
 #include <dirent.h>
 #include <unistd.h>
 #include <sys/stat.h>
-#include <xs.h>
+#include <xenstore.h>
 
 /* #define RUN_STANDALONE */
 #define RUN_IN_SIMULATE_MODE
diff --git a/tools/xenstat/libxenstat/src/xenstat_priv.h b/tools/xenstat/libxenstat/src/xenstat_priv.h
--- a/tools/xenstat/libxenstat/src/xenstat_priv.h
+++ b/tools/xenstat/libxenstat/src/xenstat_priv.h
@@ -24,7 +24,7 @@
 #define XENSTAT_PRIV_H
 
 #include <sys/types.h>
-#include <xs.h>
+#include <xenstore.h>
 #include "xenstat.h"
 
 #include "xenctrl.h"
diff --git a/tools/xenstore/COPYING b/tools/xenstore/COPYING
--- a/tools/xenstore/COPYING
+++ b/tools/xenstore/COPYING
@@ -1,6 +1,6 @@
 This license (LGPL) applies to the xenstore library which interfaces
-with the xenstore daemon (as stated in xs.c, xs.h, xs_lib.c and
-xs_lib.h).  The remaining files in the directory are licensed as
+with the xenstore daemon (as stated in xs.c, xenstore.h, xs_lib.c and
+xenstore_lib.h).  The remaining files in the directory are licensed as
 stated in the comments (as of this writing, GPL, see ../../COPYING).
 
 
diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile
--- a/tools/xenstore/Makefile
+++ b/tools/xenstore/Makefile
@@ -109,6 +109,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xenstored
 	$(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored
 	$(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
@@ -122,8 +123,12 @@ install: all
 	ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
 	ln -sf libxenstore.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenstore.so
 	$(INSTALL_DATA) libxenstore.a $(DESTDIR)$(LIBDIR)
-	$(INSTALL_DATA) xs.h $(DESTDIR)$(INCLUDEDIR)
-	$(INSTALL_DATA) xs_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) compat/xs.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs.h
+	$(INSTALL_DATA) compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs_lib.h
+	ln -sf xenstore-compat/xs.h  $(DESTDIR)$(INCLUDEDIR)/xs.h
+	ln -sf xenstore-compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xs_lib.h
 
 -include $(DEPS)
 
diff --git a/tools/xenstore/compat/xs.h b/tools/xenstore/compat/xs.h
new file mode 100644
--- /dev/null
+++ b/tools/xenstore/compat/xs.h
@@ -0,0 +1,5 @@
+#ifndef XENSTORE_COMPAT_H
+#define XENSTORE_COMPAT_H
+#warning xs.h is deprecated use xenstore.h instead
+#include <xenstore.h>
+#endif
diff --git a/tools/xenstore/compat/xs_lib.h b/tools/xenstore/compat/xs_lib.h
new file mode 100644
--- /dev/null
+++ b/tools/xenstore/compat/xs_lib.h
@@ -0,0 +1,5 @@
+#ifndef XENSTORE_LIB_COMPAT_H
+#define XENSTORE_LIB_COMPAT_H
+#warning xs_lib.h is deprecated use xenstore_lib.h instead
+#include <xenstore_lib.h>
+#endif
diff --git a/tools/xenstore/init-xenstore-domain.c b/tools/xenstore/init-xenstore-domain.c
--- a/tools/xenstore/init-xenstore-domain.c
+++ b/tools/xenstore/init-xenstore-domain.c
@@ -7,7 +7,7 @@
 #include <sys/mman.h>
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/xenbus_dev.h>
 
 static uint32_t domid = -1;
diff --git a/tools/xenstore/xs.h b/tools/xenstore/xenstore.h
rename from tools/xenstore/xs.h
rename to tools/xenstore/xenstore.h
--- a/tools/xenstore/xs.h
+++ b/tools/xenstore/xenstore.h
@@ -17,10 +17,10 @@
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-#ifndef _XS_H
-#define _XS_H
+#ifndef XENSTORE_H
+#define XENSTORE_H
 
-#include <xs_lib.h>
+#include <xenstore_lib.h>
 
 #define XBT_NULL 0
 
@@ -223,7 +223,7 @@ char *xs_debug_command(struct xs_handle 
 		       void *data, unsigned int len);
 
 int xs_suspend_evtchn_port(int domid);
-#endif /* _XS_H */
+#endif /* XENSTORE_H */
 
 /*
  * Local variables:
diff --git a/tools/xenstore/xenstore_client.c b/tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c
+++ b/tools/xenstore/xenstore_client.c
@@ -18,7 +18,7 @@
 #include <string.h>
 #include <termios.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/ioctl.h>
 
diff --git a/tools/xenstore/xenstore_control.c b/tools/xenstore/xenstore_control.c
--- a/tools/xenstore/xenstore_control.c
+++ b/tools/xenstore/xenstore_control.c
@@ -2,7 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "xs.h"
+#include "xenstore.h"
 
 
 int main(int argc, char **argv)
diff --git a/tools/xenstore/xs_lib.h b/tools/xenstore/xenstore_lib.h
rename from tools/xenstore/xs_lib.h
rename to tools/xenstore/xenstore_lib.h
--- a/tools/xenstore/xs_lib.h
+++ b/tools/xenstore/xenstore_lib.h
@@ -17,8 +17,8 @@
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-#ifndef _XS_LIB_H
-#define _XS_LIB_H
+#ifndef XENSTORE_LIB_H
+#define XENSTORE_LIB_H
 
 #include <stdbool.h>
 #include <limits.h>
@@ -82,4 +82,4 @@ char *sanitise_value(struct expanding_bu
 /* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
 void unsanitise_value(char *out, unsigned *out_len_r, const char *in);
 
-#endif /* _XS_LIB_H */
+#endif /* XENSTORE_LIB_H */
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -44,7 +44,7 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "xenstored_core.h"
 #include "xenstored_watch.h"
 #include "xenstored_transaction.h"
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -27,7 +27,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "list.h"
 #include "tdb.h"
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -33,7 +33,7 @@
 #include "xenstored_transaction.h"
 #include "xenstored_watch.h"
 #include "xenstored_domain.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 
 struct changed_node
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -27,7 +27,7 @@
 #include "talloc.h"
 #include "list.h"
 #include "xenstored_watch.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 #include "xenstored_domain.h"
 
diff --git a/tools/xenstore/xs.c b/tools/xenstore/xs.c
--- a/tools/xenstore/xs.c
+++ b/tools/xenstore/xs.c
@@ -32,7 +32,7 @@
 #include <signal.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs.h"
+#include "xenstore.h"
 #include "list.h"
 #include "utils.h"
 
diff --git a/tools/xenstore/xs_lib.c b/tools/xenstore/xs_lib.c
--- a/tools/xenstore/xs_lib.c
+++ b/tools/xenstore/xs_lib.c
@@ -23,7 +23,7 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <assert.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 
 /* Common routines for the Xen store daemon and client library. */
 
diff --git a/tools/xenstore/xs_tdb_dump.c b/tools/xenstore/xs_tdb_dump.c
--- a/tools/xenstore/xs_tdb_dump.c
+++ b/tools/xenstore/xs_tdb_dump.c
@@ -5,7 +5,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 #include <string.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "tdb.h"
 #include "talloc.h"
 #include "utils.h"


--=-clOl9qCt3yG9yvqgPCDe
Content-Disposition: attachment; filename="qemu-xs-compat.patch"
Content-Type: text/x-patch; name="qemu-xs-compat.patch"; charset="UTF-8"
Content-Transfer-Encoding: 7bit

diff --git a/Makefile b/Makefile
index 37c7066..a43ca67 100644
--- a/Makefile
+++ b/Makefile
@@ -49,6 +49,7 @@ recurse-all: $(SUBDIR_RULES)
 CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
 CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS += -I$(XEN_ROOT)/tools/include
 
 tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
diff --git a/xen-hooks.mak b/xen-hooks.mak
index b55f45b..8e9cadf 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -1,5 +1,6 @@
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
 
 SSE2 := $(call cc-option,-msse2,)

--=-clOl9qCt3yG9yvqgPCDe
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=-clOl9qCt3yG9yvqgPCDe--


From xen-devel-bounces@lists.xen.org Fri May 11 16:55:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt7U-0003ov-Uu; Fri, 11 May 2012 16:55:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSt7T-0003on-Sp
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:55:07 +0000
Received: from [85.158.143.35:38198] by server-2.bemta-4.messagelabs.com id
	60/CC-17550-B644DAF4; Fri, 11 May 2012 16:55:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336755306!11792421!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9629 invoked from network); 11 May 2012 16:55:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:55:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434838"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:51:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:51:50 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSt4I-0007wF-1O; Fri, 11 May 2012 16:51:50 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSt4I-0002cK-0W;
	Fri, 11 May 2012 17:51:50 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.17317.965011.748577@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:51:49 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1334595483.14560.249.camel@zakaz.uk.xensource.com>
References: <a20c43492fbff622aa97.1334587406@cosworth.uk.xensource.com>
	<20364.16337.971144.457146@mariner.uk.xensource.com>
	<1334591807.14560.220.camel@zakaz.uk.xensource.com>
	<20364.18772.529397.220632@mariner.uk.xensource.com>
	<1334595483.14560.249.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: add a dummy ao_how
	to	libxl_domain_core_dump
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: add a dummy ao_how to libxl_domain_core_dump"):
> libxl: add a dummy ao_how to libxl_domain_core_dump

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

I have added this to my child process handling series.  It will go in
with the rest of those.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:55:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt7U-0003ov-Uu; Fri, 11 May 2012 16:55:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSt7T-0003on-Sp
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:55:07 +0000
Received: from [85.158.143.35:38198] by server-2.bemta-4.messagelabs.com id
	60/CC-17550-B644DAF4; Fri, 11 May 2012 16:55:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1336755306!11792421!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9629 invoked from network); 11 May 2012 16:55:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:55:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434838"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 16:51:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 17:51:50 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSt4I-0007wF-1O; Fri, 11 May 2012 16:51:50 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSt4I-0002cK-0W;
	Fri, 11 May 2012 17:51:50 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.17317.965011.748577@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 17:51:49 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1334595483.14560.249.camel@zakaz.uk.xensource.com>
References: <a20c43492fbff622aa97.1334587406@cosworth.uk.xensource.com>
	<20364.16337.971144.457146@mariner.uk.xensource.com>
	<1334591807.14560.220.camel@zakaz.uk.xensource.com>
	<20364.18772.529397.220632@mariner.uk.xensource.com>
	<1334595483.14560.249.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: add a dummy ao_how
	to	libxl_domain_core_dump
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: add a dummy ao_how to libxl_domain_core_dump"):
> libxl: add a dummy ao_how to libxl_domain_core_dump

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

I have added this to my child process handling series.  It will go in
with the rest of those.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:57:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:57:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt9w-0003xX-GP; Fri, 11 May 2012 16:57:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSt9u-0003xN-FE
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:57:38 +0000
Received: from [193.109.254.147:49054] by server-12.bemta-14.messagelabs.com
	id BE/7E-05898-1054DAF4; Fri, 11 May 2012 16:57:37 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336755452!8795350!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8443 invoked from network); 11 May 2012 16:57:33 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:57:33 -0000
Received: by lahc1 with SMTP id c1so2250164lah.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:57:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=c7VJO1+HBEwkKYAc1+8GYqq9Zp7mMZWhODuz/vbe0/Q=;
	b=pJsFOsMgfFGiSl/ncGamxq9Wy8H0w0yKlCgQOWJSdtvCGyIJ8BL4FXwgY1pu7L0E+9
	kBu+IR03fUyzah2MdSdwVNOO740JQTZab36HYsmf1Hm77ho8Ja1G1HlfrXMTusckTM2z
	PugAbrQltvpwFpWwfIF2nOxxdZ5dUA8/t5n/v//+OA9ZSGxF9ywdYW4oh5j3hzqomXeB
	x1AXU8T97HCk0F4hdK9t6bCm9hup7RzbN2BQ6xAIpK5hLkHCyaXuM8yrn802zAsxUO7V
	h7WlO87fVogxqms7o7h7aWAB0/Ke5FjQvEhqmr8a0EgxCJ42q5HImzSwQrctTwsx4Aa7
	k5cQ==
MIME-Version: 1.0
Received: by 10.152.112.97 with SMTP id ip1mr8985858lab.31.1336755452248; Fri,
	11 May 2012 09:57:32 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:57:32 -0700 (PDT)
In-Reply-To: <CBD30072.40168%keir@xen.org>
References: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
	<CBD30072.40168%keir@xen.org>
Date: Sat, 12 May 2012 00:57:32 +0800
Message-ID: <CAEQjb-R-ERzAG50oc2iatmGGxmpY+H6fswyOs7hZA8f9XJ1CiQ@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Keir Fraser <keir@xen.org>
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6399305107554103395=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6399305107554103395==
Content-Type: multipart/alternative; boundary=f46d0421ad61e2012804bfc5a10d

--f46d0421ad61e2012804bfc5a10d
Content-Type: text/plain; charset=ISO-8859-1

2012/5/12 Keir Fraser <keir@xen.org>

> On 11/05/2012 17:24, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:
>
> > On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
> >
> >
> >> No, it doesn't work for me. There is the same error.
> >
> > Hrm. Since you can reproduce would you mind experimenting a bit to
> > figure out the correct fix for this?
> >
> > Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> > may not)?
> >
> > Or maybe just assigning to a dummy variable.
>
> Bei, Please try the attached patch.
>
It works now. Thank you.


Thanks,
Bei Guan


>
>  -- Keir
>
> > Ian.
> >
> >> My environment and gcc version are like this:
> >>
> >> root@gavin-desktop:~# uname -a
> >> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> >> 2011 x86_64 GNU/Linux
> >>
> >> root@gavin-desktop:~# gcc -v
> >> Using built-in specs.
> >> Target: x86_64-linux-gnu
> >> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> >> 4.4.3-4ubuntu5'
> >> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> >> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> >> --enable-shared --enable-multiarch --enable-linker-build-id
> >> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> >> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> >> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> >> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> >> --disable-werror --with-arch-32=i486 --with-tune=generic
> >> --enable-checking=release --build=x86_64-linux-gnu
> >> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> >> Thread model: posix
> >> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> >>
> >>
> >>
> >>
> >> Thanks,
> >> Bei Guan
> >>
> >>
> >>
> >>
> >>
> >>         8<------------------------------------------------------
> >>
> >>         # HG changeset patch
> >>         # User Ian Campbell <ian.campbell@citrix.com>
> >>         # Date 1336751175 -3600
> >>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> >>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> >>         blktap: avoid attribute warn_unused_result build failures.
> >>
> >>         I'm not proud of this, but since none of these callers of
> >>         read/write have any
> >>         other error handling and return void themselves (for several
> >>         links up the call
> >>         chain AFAICT) and because I don't really want to get into a
> >>         massive reworking
> >>         of blktap2 I suppose it is at least pragmatic
> >>
> >>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >>
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk-log.c
> >>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>         16:19:16 2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>         16:46:15 2012 +0100
> >>         @@ -247,7 +247,7 @@ tlog_flush(void)
> >>                wsize = ((size + 511) & (~511));
> >>
> >>                memset(tapdisk_log.buf + size, '\n', wsize - size);
> >>         -       write(fd, tapdisk_log.buf, wsize);
> >>         +       (void)write(fd, tapdisk_log.buf, wsize);
> >>
> >>                tapdisk_log.p = tapdisk_log.buf;
> >>
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk-queue.c
> >>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>         16:19:16 2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>         16:46:15 2012 +0100
> >>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
> >>                uint64_t val;
> >>
> >>                if (lio->flags & LIO_FLAG_EVENTFD)
> >>         -               read(lio->event_fd, &val, sizeof(val));
> >>         +               (void)read(lio->event_fd, &val, sizeof(val));
> >>          }
> >>
> >>          static void
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk-stream.c
> >>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>         16:19:16 2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>         16:46:15 2012 +0100
> >>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
> >>          {
> >>                int dummy;
> >>
> >>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>                p->set = 0;
> >>          }
> >>
> >>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
> >>                int dummy = 0;
> >>
> >>                if (!p->set) {
> >>         -               write(p->pipe[POLL_WRITE], &dummy,
> >>         sizeof(dummy));
> >>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
> >>         sizeof(dummy));
> >>                        p->set = 1;
> >>                }
> >>          }
> >>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
> >>          {
> >>                unsigned long idx = (unsigned
> >>         long)tapdisk_stream_request_idx(s, sreq);
> >>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
> >>         idx, 0);
> >>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> >>         +       (void)write(s->out_fd, buf, sreq->secs <<
> >>         SECTOR_SHIFT);
> >>          }
> >>
> >>          static void
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk2.c
> >>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
> >>         2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
> >>         2012 +0100
> >>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
> >>                if (optind != argc)
> >>                        usage(argv[0], EINVAL);
> >>
> >>         -       chdir("/");
> >>         +       if (chdir("/")) {
> >>         +               DPRINTF("failed to chdir(/): %d\n", errno);
> >>         +               err = 1;
> >>         +               goto out;
> >>         +       }
> >>         +
> >>                tapdisk_start_logging("tapdisk2");
> >>
> >>                err = tapdisk_server_init();
> >>
> >>
> >>
> >>
> >>
> >> --
> >> Best Regards,
> >> Bei Guan
> >>
> >
> >
>
>


-- 
Best Regards,
Bei Guan

--f46d0421ad61e2012804bfc5a10d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/12 Keir Fraser <span dir=3D"ltr">=
&lt;<a href=3D"mailto:keir@xen.org" target=3D"_blank">keir@xen.org</a>&gt;<=
/span><br><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class=3D"im">On 11/05/2012 17:24, &quot;Ian Campbell&quot; &lt;<a href=
=3D"mailto:Ian.Campbell@citrix.com">Ian.Campbell@citrix.com</a>&gt; wrote:<=
br>
<br>
&gt; On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:<br>
&gt;<br>
&gt;<br>
&gt;&gt; No, it doesn&#39;t work for me. There is the same error.<br>
&gt;<br>
&gt; Hrm. Since you can reproduce would you mind experimenting a bit to<br>
&gt; figure out the correct fix for this?<br>
&gt;<br>
&gt; Perhaps adding -Wno-unused-result to C flags helps (google suggests it=
<br>
&gt; may not)?<br>
&gt;<br>
&gt; Or maybe just assigning to a dummy variable.<br>
<br>
</div>Bei, Please try the attached patch.<br></blockquote><div>It works now=
. Thank you.<br><br><br>Thanks,<br>Bei Guan<br>=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">

<span class=3D"HOEnZb"><font color=3D"#888888"><br>
=A0-- Keir<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
&gt; Ian.<br>
&gt;<br>
&gt;&gt; My environment and gcc version are like this:<br>
&gt;&gt;<br>
&gt;&gt; root@gavin-desktop:~# uname -a<br>
&gt;&gt; Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 =
UTC<br>
&gt;&gt; 2011 x86_64 GNU/Linux<br>
&gt;&gt;<br>
&gt;&gt; root@gavin-desktop:~# gcc -v<br>
&gt;&gt; Using built-in specs.<br>
&gt;&gt; Target: x86_64-linux-gnu<br>
&gt;&gt; Configured with: ../src/configure -v --with-pkgversion=3D&#39;Ubun=
tu<br>
&gt;&gt; 4.4.3-4ubuntu5&#39;<br>
&gt;&gt; --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs<br>
&gt;&gt; --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr<br=
>
&gt;&gt; --enable-shared --enable-multiarch --enable-linker-build-id<br>
&gt;&gt; --with-system-zlib --libexecdir=3D/usr/lib --without-included-gett=
ext<br>
&gt;&gt; --enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++=
/4.4<br>
&gt;&gt; --program-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu<br>
&gt;&gt; --enable-libstdcxx-debug --enable-plugin --enable-objc-gc<br>
&gt;&gt; --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric<br>
&gt;&gt; --enable-checking=3Drelease --build=3Dx86_64-linux-gnu<br>
&gt;&gt; --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu<br>
&gt;&gt; Thread model: posix<br>
&gt;&gt; gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; Bei Guan<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 8&lt;---------------------------------------------=
---------<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 # HG changeset patch<br>
&gt;&gt; =A0 =A0 =A0 =A0 # User Ian Campbell &lt;<a href=3D"mailto:ian.camp=
bell@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 # Date 1336751175 -3600<br>
&gt;&gt; =A0 =A0 =A0 =A0 # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99=
<br>
&gt;&gt; =A0 =A0 =A0 =A0 # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf719=
99<br>
&gt;&gt; =A0 =A0 =A0 =A0 blktap: avoid attribute warn_unused_result build f=
ailures.<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 I&#39;m not proud of this, but since none of these=
 callers of<br>
&gt;&gt; =A0 =A0 =A0 =A0 read/write have any<br>
&gt;&gt; =A0 =A0 =A0 =A0 other error handling and return void themselves (f=
or several<br>
&gt;&gt; =A0 =A0 =A0 =A0 links up the call<br>
&gt;&gt; =A0 =A0 =A0 =A0 chain AFAICT) and because I don&#39;t really want =
to get into a<br>
&gt;&gt; =A0 =A0 =A0 =A0 massive reworking<br>
&gt;&gt; =A0 =A0 =A0 =A0 of blktap2 I suppose it is at least pragmatic<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 Signed-off-by: Ian Campbell &lt;<a href=3D"mailto:=
ian.campbell@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-log.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -247,7 +247,7 @@ tlog_flush(void)<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wsize =3D ((size + 511) &amp; (~511=
));<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, &#39=
;\n&#39;, wsize - size);<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);<b=
r>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsi=
ze);<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;<=
br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-queue.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct t=
queue *que<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0uint64_t val;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (lio-&gt;flags &amp; LIO_FLAG_EV=
ENTFD)<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio-&gt;event_f=
d, &amp;val, sizeof(val));<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio-&gt;e=
vent_fd, &amp;val, sizeof(val));<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-stream.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =
=A0Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =
=A0Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(stru=
ct tapdisk<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 read(p-&gt;pipe[POLL_READ], &amp;dum=
my, sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)read(p-&gt;pipe[POLL_READ], &a=
mp;dummy, sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 0;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct=
 tapdisk_s<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy =3D 0;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!p-&gt;set) {<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p-&gt;pipe[POL=
L_WRITE], &amp;dummy,<br>
&gt;&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p-&gt;pi=
pe[POLL_WRITE], &amp;dummy,<br>
&gt;&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 1;<br=
>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -203,7 +203,7 @@ tapdisk_stream_print_request(s=
truct tapd<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned<br>
&gt;&gt; =A0 =A0 =A0 =A0 long)tapdisk_stream_request_idx(s, sreq);<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s-=
&gt;vbd-&gt;ring.vstart,<br>
&gt;&gt; =A0 =A0 =A0 =A0 idx, 0);<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(s-&gt;out_fd, buf, sreq-&gt;se=
cs &lt;&lt; SECTOR_SHIFT);<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(s-&gt;out_fd, buf, sreq-=
&gt;secs &lt;&lt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 SECTOR_SHIFT);<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk2.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May =
11 16:19:16<br>
&gt;&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May =
11 16:46:15<br>
&gt;&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -79,7 +79,12 @@ main(int argc, char *argv[])<br=
>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (optind !=3D argc)<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINV=
AL);<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 chdir(&quot;/&quot;);<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 if (chdir(&quot;/&quot;)) {<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF(&quot;failed=
 to chdir(/): %d\n&quot;, errno);<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 }<br>
&gt;&gt; =A0 =A0 =A0 =A0 +<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_start_logging(&quot;tapdisk=
2&quot;);<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best Regards,<br>
&gt;&gt; Bei Guan<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regard=
s,<div>Bei Guan</div><br>

--f46d0421ad61e2012804bfc5a10d--


--===============6399305107554103395==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6399305107554103395==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:57:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:57:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSt9w-0003xX-GP; Fri, 11 May 2012 16:57:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SSt9u-0003xN-FE
	for xen-devel@lists.xen.org; Fri, 11 May 2012 16:57:38 +0000
Received: from [193.109.254.147:49054] by server-12.bemta-14.messagelabs.com
	id BE/7E-05898-1054DAF4; Fri, 11 May 2012 16:57:37 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336755452!8795350!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8443 invoked from network); 11 May 2012 16:57:33 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 16:57:33 -0000
Received: by lahc1 with SMTP id c1so2250164lah.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 09:57:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=c7VJO1+HBEwkKYAc1+8GYqq9Zp7mMZWhODuz/vbe0/Q=;
	b=pJsFOsMgfFGiSl/ncGamxq9Wy8H0w0yKlCgQOWJSdtvCGyIJ8BL4FXwgY1pu7L0E+9
	kBu+IR03fUyzah2MdSdwVNOO740JQTZab36HYsmf1Hm77ho8Ja1G1HlfrXMTusckTM2z
	PugAbrQltvpwFpWwfIF2nOxxdZ5dUA8/t5n/v//+OA9ZSGxF9ywdYW4oh5j3hzqomXeB
	x1AXU8T97HCk0F4hdK9t6bCm9hup7RzbN2BQ6xAIpK5hLkHCyaXuM8yrn802zAsxUO7V
	h7WlO87fVogxqms7o7h7aWAB0/Ke5FjQvEhqmr8a0EgxCJ42q5HImzSwQrctTwsx4Aa7
	k5cQ==
MIME-Version: 1.0
Received: by 10.152.112.97 with SMTP id ip1mr8985858lab.31.1336755452248; Fri,
	11 May 2012 09:57:32 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 09:57:32 -0700 (PDT)
In-Reply-To: <CBD30072.40168%keir@xen.org>
References: <1336753463.23818.131.camel@zakaz.uk.xensource.com>
	<CBD30072.40168%keir@xen.org>
Date: Sat, 12 May 2012 00:57:32 +0800
Message-ID: <CAEQjb-R-ERzAG50oc2iatmGGxmpY+H6fswyOs7hZA8f9XJ1CiQ@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: Keir Fraser <keir@xen.org>
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
	xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6399305107554103395=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6399305107554103395==
Content-Type: multipart/alternative; boundary=f46d0421ad61e2012804bfc5a10d

--f46d0421ad61e2012804bfc5a10d
Content-Type: text/plain; charset=ISO-8859-1

2012/5/12 Keir Fraser <keir@xen.org>

> On 11/05/2012 17:24, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:
>
> > On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
> >
> >
> >> No, it doesn't work for me. There is the same error.
> >
> > Hrm. Since you can reproduce would you mind experimenting a bit to
> > figure out the correct fix for this?
> >
> > Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> > may not)?
> >
> > Or maybe just assigning to a dummy variable.
>
> Bei, Please try the attached patch.
>
It works now. Thank you.


Thanks,
Bei Guan


>
>  -- Keir
>
> > Ian.
> >
> >> My environment and gcc version are like this:
> >>
> >> root@gavin-desktop:~# uname -a
> >> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> >> 2011 x86_64 GNU/Linux
> >>
> >> root@gavin-desktop:~# gcc -v
> >> Using built-in specs.
> >> Target: x86_64-linux-gnu
> >> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> >> 4.4.3-4ubuntu5'
> >> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> >> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> >> --enable-shared --enable-multiarch --enable-linker-build-id
> >> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> >> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> >> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> >> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> >> --disable-werror --with-arch-32=i486 --with-tune=generic
> >> --enable-checking=release --build=x86_64-linux-gnu
> >> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> >> Thread model: posix
> >> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> >>
> >>
> >>
> >>
> >> Thanks,
> >> Bei Guan
> >>
> >>
> >>
> >>
> >>
> >>         8<------------------------------------------------------
> >>
> >>         # HG changeset patch
> >>         # User Ian Campbell <ian.campbell@citrix.com>
> >>         # Date 1336751175 -3600
> >>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> >>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> >>         blktap: avoid attribute warn_unused_result build failures.
> >>
> >>         I'm not proud of this, but since none of these callers of
> >>         read/write have any
> >>         other error handling and return void themselves (for several
> >>         links up the call
> >>         chain AFAICT) and because I don't really want to get into a
> >>         massive reworking
> >>         of blktap2 I suppose it is at least pragmatic
> >>
> >>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >>
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk-log.c
> >>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>         16:19:16 2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>         16:46:15 2012 +0100
> >>         @@ -247,7 +247,7 @@ tlog_flush(void)
> >>                wsize = ((size + 511) & (~511));
> >>
> >>                memset(tapdisk_log.buf + size, '\n', wsize - size);
> >>         -       write(fd, tapdisk_log.buf, wsize);
> >>         +       (void)write(fd, tapdisk_log.buf, wsize);
> >>
> >>                tapdisk_log.p = tapdisk_log.buf;
> >>
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk-queue.c
> >>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>         16:19:16 2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>         16:46:15 2012 +0100
> >>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
> >>                uint64_t val;
> >>
> >>                if (lio->flags & LIO_FLAG_EVENTFD)
> >>         -               read(lio->event_fd, &val, sizeof(val));
> >>         +               (void)read(lio->event_fd, &val, sizeof(val));
> >>          }
> >>
> >>          static void
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk-stream.c
> >>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>         16:19:16 2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>         16:46:15 2012 +0100
> >>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
> >>          {
> >>                int dummy;
> >>
> >>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>                p->set = 0;
> >>          }
> >>
> >>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
> >>                int dummy = 0;
> >>
> >>                if (!p->set) {
> >>         -               write(p->pipe[POLL_WRITE], &dummy,
> >>         sizeof(dummy));
> >>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
> >>         sizeof(dummy));
> >>                        p->set = 1;
> >>                }
> >>          }
> >>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
> >>          {
> >>                unsigned long idx = (unsigned
> >>         long)tapdisk_stream_request_idx(s, sreq);
> >>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
> >>         idx, 0);
> >>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> >>         +       (void)write(s->out_fd, buf, sreq->secs <<
> >>         SECTOR_SHIFT);
> >>          }
> >>
> >>          static void
> >>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>         tools/blktap2/drivers/tapdisk2.c
> >>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
> >>         2012 +0100
> >>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
> >>         2012 +0100
> >>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
> >>                if (optind != argc)
> >>                        usage(argv[0], EINVAL);
> >>
> >>         -       chdir("/");
> >>         +       if (chdir("/")) {
> >>         +               DPRINTF("failed to chdir(/): %d\n", errno);
> >>         +               err = 1;
> >>         +               goto out;
> >>         +       }
> >>         +
> >>                tapdisk_start_logging("tapdisk2");
> >>
> >>                err = tapdisk_server_init();
> >>
> >>
> >>
> >>
> >>
> >> --
> >> Best Regards,
> >> Bei Guan
> >>
> >
> >
>
>


-- 
Best Regards,
Bei Guan

--f46d0421ad61e2012804bfc5a10d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2012/5/12 Keir Fraser <span dir=3D"ltr">=
&lt;<a href=3D"mailto:keir@xen.org" target=3D"_blank">keir@xen.org</a>&gt;<=
/span><br><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class=3D"im">On 11/05/2012 17:24, &quot;Ian Campbell&quot; &lt;<a href=
=3D"mailto:Ian.Campbell@citrix.com">Ian.Campbell@citrix.com</a>&gt; wrote:<=
br>
<br>
&gt; On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:<br>
&gt;<br>
&gt;<br>
&gt;&gt; No, it doesn&#39;t work for me. There is the same error.<br>
&gt;<br>
&gt; Hrm. Since you can reproduce would you mind experimenting a bit to<br>
&gt; figure out the correct fix for this?<br>
&gt;<br>
&gt; Perhaps adding -Wno-unused-result to C flags helps (google suggests it=
<br>
&gt; may not)?<br>
&gt;<br>
&gt; Or maybe just assigning to a dummy variable.<br>
<br>
</div>Bei, Please try the attached patch.<br></blockquote><div>It works now=
. Thank you.<br><br><br>Thanks,<br>Bei Guan<br>=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">

<span class=3D"HOEnZb"><font color=3D"#888888"><br>
=A0-- Keir<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
&gt; Ian.<br>
&gt;<br>
&gt;&gt; My environment and gcc version are like this:<br>
&gt;&gt;<br>
&gt;&gt; root@gavin-desktop:~# uname -a<br>
&gt;&gt; Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 =
UTC<br>
&gt;&gt; 2011 x86_64 GNU/Linux<br>
&gt;&gt;<br>
&gt;&gt; root@gavin-desktop:~# gcc -v<br>
&gt;&gt; Using built-in specs.<br>
&gt;&gt; Target: x86_64-linux-gnu<br>
&gt;&gt; Configured with: ../src/configure -v --with-pkgversion=3D&#39;Ubun=
tu<br>
&gt;&gt; 4.4.3-4ubuntu5&#39;<br>
&gt;&gt; --with-bugurl=3Dfile:///usr/share/doc/gcc-4.4/README.Bugs<br>
&gt;&gt; --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr<br=
>
&gt;&gt; --enable-shared --enable-multiarch --enable-linker-build-id<br>
&gt;&gt; --with-system-zlib --libexecdir=3D/usr/lib --without-included-gett=
ext<br>
&gt;&gt; --enable-threads=3Dposix --with-gxx-include-dir=3D/usr/include/c++=
/4.4<br>
&gt;&gt; --program-suffix=3D-4.4 --enable-nls --enable-clocale=3Dgnu<br>
&gt;&gt; --enable-libstdcxx-debug --enable-plugin --enable-objc-gc<br>
&gt;&gt; --disable-werror --with-arch-32=3Di486 --with-tune=3Dgeneric<br>
&gt;&gt; --enable-checking=3Drelease --build=3Dx86_64-linux-gnu<br>
&gt;&gt; --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu<br>
&gt;&gt; Thread model: posix<br>
&gt;&gt; gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; Bei Guan<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 8&lt;---------------------------------------------=
---------<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 # HG changeset patch<br>
&gt;&gt; =A0 =A0 =A0 =A0 # User Ian Campbell &lt;<a href=3D"mailto:ian.camp=
bell@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 # Date 1336751175 -3600<br>
&gt;&gt; =A0 =A0 =A0 =A0 # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99=
<br>
&gt;&gt; =A0 =A0 =A0 =A0 # Parent =A0adc74e492edfee6cf44e433e3e93743a3cf719=
99<br>
&gt;&gt; =A0 =A0 =A0 =A0 blktap: avoid attribute warn_unused_result build f=
ailures.<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 I&#39;m not proud of this, but since none of these=
 callers of<br>
&gt;&gt; =A0 =A0 =A0 =A0 read/write have any<br>
&gt;&gt; =A0 =A0 =A0 =A0 other error handling and return void themselves (f=
or several<br>
&gt;&gt; =A0 =A0 =A0 =A0 links up the call<br>
&gt;&gt; =A0 =A0 =A0 =A0 chain AFAICT) and because I don&#39;t really want =
to get into a<br>
&gt;&gt; =A0 =A0 =A0 =A0 massive reworking<br>
&gt;&gt; =A0 =A0 =A0 =A0 of blktap2 I suppose it is at least pragmatic<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 Signed-off-by: Ian Campbell &lt;<a href=3D"mailto:=
ian.campbell@citrix.com">ian.campbell@citrix.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-log.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-log.c =A0 =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -247,7 +247,7 @@ tlog_flush(void)<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wsize =3D ((size + 511) &amp; (~511=
));<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0memset(tapdisk_log.buf + size, &#39=
;\n&#39;, wsize - size);<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(fd, tapdisk_log.buf, wsize);<b=
r>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(fd, tapdisk_log.buf, wsi=
ze);<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_log.p =3D tapdisk_log.buf;<=
br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-queue.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-queue.c =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-queue.c =A0 =
=A0 Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct t=
queue *que<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0uint64_t val;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (lio-&gt;flags &amp; LIO_FLAG_EV=
ENTFD)<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 read(lio-&gt;event_f=
d, &amp;val, sizeof(val));<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)read(lio-&gt;e=
vent_fd, &amp;val, sizeof(val));<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk-stream.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk-stream.c =A0 =
=A0Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:19:16 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk-stream.c =A0 =
=A0Fri May 11<br>
&gt;&gt; =A0 =A0 =A0 =A0 16:46:15 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(stru=
ct tapdisk<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 read(p-&gt;pipe[POLL_READ], &amp;dum=
my, sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)read(p-&gt;pipe[POLL_READ], &a=
mp;dummy, sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 0;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct=
 tapdisk_s<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0int dummy =3D 0;<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!p-&gt;set) {<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 =A0 =A0 =A0 =A0 write(p-&gt;pipe[POL=
L_WRITE], &amp;dummy,<br>
&gt;&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (void)write(p-&gt;pi=
pe[POLL_WRITE], &amp;dummy,<br>
&gt;&gt; =A0 =A0 =A0 =A0 sizeof(dummy));<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0p-&gt;set =3D 1;<br=
>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -203,7 +203,7 @@ tapdisk_stream_print_request(s=
truct tapd<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned long idx =3D (unsigned<br>
&gt;&gt; =A0 =A0 =A0 =A0 long)tapdisk_stream_request_idx(s, sreq);<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *buf =3D (char *)MMAP_VADDR(s-=
&gt;vbd-&gt;ring.vstart,<br>
&gt;&gt; =A0 =A0 =A0 =A0 idx, 0);<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 write(s-&gt;out_fd, buf, sreq-&gt;se=
cs &lt;&lt; SECTOR_SHIFT);<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 (void)write(s-&gt;out_fd, buf, sreq-=
&gt;secs &lt;&lt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 SECTOR_SHIFT);<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0}<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0static void<br>
&gt;&gt; =A0 =A0 =A0 =A0 diff -r adc74e492edf -r 15ed8f45c4e5<br>
&gt;&gt; =A0 =A0 =A0 =A0 tools/blktap2/drivers/tapdisk2.c<br>
&gt;&gt; =A0 =A0 =A0 =A0 --- a/tools/blktap2/drivers/tapdisk2.c =A0Fri May =
11 16:19:16<br>
&gt;&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 +++ b/tools/blktap2/drivers/tapdisk2.c =A0Fri May =
11 16:46:15<br>
&gt;&gt; =A0 =A0 =A0 =A0 2012 +0100<br>
&gt;&gt; =A0 =A0 =A0 =A0 @@ -79,7 +79,12 @@ main(int argc, char *argv[])<br=
>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (optind !=3D argc)<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usage(argv[0], EINV=
AL);<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 - =A0 =A0 =A0 chdir(&quot;/&quot;);<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 if (chdir(&quot;/&quot;)) {<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 DPRINTF(&quot;failed=
 to chdir(/): %d\n&quot;, errno);<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 err =3D 1;<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 goto out;<br>
&gt;&gt; =A0 =A0 =A0 =A0 + =A0 =A0 =A0 }<br>
&gt;&gt; =A0 =A0 =A0 =A0 +<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tapdisk_start_logging(&quot;tapdisk=
2&quot;);<br>
&gt;&gt;<br>
&gt;&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D tapdisk_server_init();<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best Regards,<br>
&gt;&gt; Bei Guan<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regard=
s,<div>Bei Guan</div><br>

--f46d0421ad61e2012804bfc5a10d--


--===============6399305107554103395==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6399305107554103395==--


From xen-devel-bounces@lists.xen.org Fri May 11 16:58:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStAj-00042e-Uv; Fri, 11 May 2012 16:58:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SStAi-00042P-Nw
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:58:29 +0000
Received: from [85.158.138.51:45072] by server-5.bemta-3.messagelabs.com id
	CF/16-17113-3354DAF4; Fri, 11 May 2012 16:58:27 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336755505!18613287!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzMTk3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27615 invoked from network); 11 May 2012 16:58:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-174.messagelabs.com with SMTP;
	11 May 2012 16:58:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 09:58:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99033893"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 11 May 2012 09:58:11 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 09:58:11 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 00:58:09 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface (V2)
Thread-Index: AQHNL38KJV8RtIigTTax7Uicx2M6K5bEzH6w
Date: Fri, 11 May 2012 16:58:08 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BA0B2@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
	<20120511140454.GA13735@phenom.dumpdata.com>
In-Reply-To: <20120511140454.GA13735@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Thu, May 10, 2012 at 03:06:14PM +0000, Liu, Jinsong wrote:
>>> From 7aa4cf7c1172e24611dc76163397b8708acacc59 Mon Sep 17 00:00:00
>>> 2001 
>> From: Liu, Jinsong <jinsong.liu@intel.com>
>> Date: Fri, 11 May 2012 06:55:35 +0800
>> Subject: [PATCH 3/3] Xen physical cpus interface
>> 
>> Manage physical cpus in dom0, get physical cpus info and provide sys
>> interface. 
>> 
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com> ---
>>  .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
>>  drivers/xen/Makefile                               |    1 +
>>  drivers/xen/pcpu.c                                 |  374
>>  ++++++++++++++++++++ include/xen/interface/platform.h              
>>  |    8 + include/xen/interface/xen.h                        |    1 +
>>  5 files changed, 404 insertions(+), 0 deletions(-)
>>  create mode 100644
>>  Documentation/ABI/testing/sysfs-devices-system-xen_cpu create mode
>> 100644 drivers/xen/pcpu.c 
>> 
>> diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
>> b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu new file
>> mode 100644 index 0000000..9ca02fb --- /dev/null
>> +++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu @@ -0,0
>> +1,20 @@ +What:		/sys/devices/system/xen_cpu/
>> +Date:		May 2012
>> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
>> +Description:
>> +		A collection of global/individual Xen physical cpu attributes +
>> +		Individual physical cpu attributes are contained in
>> +		subdirectories named by the Xen's logical cpu number, e.g.:
>> +		/sys/devices/system/xen_cpu/xen_cpu#/
>> +
>> +
>> +What:		/sys/devices/system/xen_cpu/xen_cpu#/online +Date:		May 2012
>> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
>> +Description:
>> +		Interface to online/offline Xen physical cpus
>> +
>> +		When running under Xen platform, it provide user interface
>> +		to online/offline physical cpus, except cpu0 due to several
>> +		logic restrictions and assumptions.
>> diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
>> index 1d3e763..d12d14d 100644
>> --- a/drivers/xen/Makefile
>> +++ b/drivers/xen/Makefile
>> @@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+= platform-pci.o
>>  obj-$(CONFIG_XEN_TMEM)			+= tmem.o
>>  obj-$(CONFIG_SWIOTLB_XEN)		+= swiotlb-xen.o
>>  obj-$(CONFIG_XEN_DOM0)			+= pci.o
>> +obj-$(CONFIG_XEN_DOM0)			+= pcpu.o
>>  obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+= xen-pciback/
>>  obj-$(CONFIG_XEN_PRIVCMD)		+= xen-privcmd.o
>>  obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+= xen-acpi-processor.o
>> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
>> new file mode 100644
>> index 0000000..9014ff1
>> --- /dev/null
>> +++ b/drivers/xen/pcpu.c
>> @@ -0,0 +1,374 @@
>> +/******************************************************************************
>> + * pcpu.c + * Management physical cpu in dom0, get pcpu info and
>> provide sys interface + * + * Copyright (c) 2012 Intel Corporation
>> + * Author: Liu, Jinsong <jinsong.liu@intel.com>
>> + * Author: Jiang, Yunhong <yunhong.jiang@intel.com> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License
>> version 2 + * as published by the Free Software Foundation; or, when
>> distributed + * separately from the Linux kernel or incorporated
>> into other + * software packages, subject to the following license:
>> + * + * Permission is hereby granted, free of charge, to any person
>> obtaining a copy + * of this source file (the "Software"), to deal
>> in the Software without + * restriction, including without
>> limitation the rights to use, copy, modify, + * merge, publish,
>> distribute, sublicense, and/or sell copies of the Software, + * and
>> to permit persons to whom the Software is furnished to do so,
>> subject to + * the following conditions: + * + * The above copyright
>> notice and this permission notice shall be included in + * all
>> copies or substantial portions of the Software. + * + * THE SOFTWARE
>> IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + *
>> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND
>> NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT
>> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY,
>> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + *
>> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> DEALINGS + * IN THE SOFTWARE. + */ + +#include <linux/interrupt.h>
>> +#include <linux/spinlock.h>
>> +#include <linux/cpu.h>
>> +#include <linux/stat.h>
>> +#include <linux/capability.h>
>> +
>> +#include <xen/xen.h>
>> +#include <xen/xenbus.h>
>> +#include <xen/events.h>
>> +#include <xen/interface/platform.h>
>> +#include <asm/xen/hypervisor.h>
>> +#include <asm/xen/hypercall.h>
>> +
>> +#define XEN_PCPU "xen_cpu: "
>> +
>> +/*
>> + * @cpu_id: Xen physical cpu logic number
>> + * @flags: Xen physical cpu status flag
>> + * - XEN_PCPU_FLAGS_ONLINE: cpu is online
>> + * - XEN_PCPU_FLAGS_INVALID: cpu is not present
>> + */
>> +struct pcpu {
>> +	struct list_head list;
>> +	struct device dev;
>> +	uint32_t cpu_id;
>> +	uint32_t flags;
>> +};
>> +
>> +static struct bus_type xen_pcpu_subsys = {
>> +	.name = "xen_cpu",
>> +	.dev_name = "xen_cpu",
>> +};
>> +
>> +static DEFINE_MUTEX(xen_pcpu_lock);
>> +
>> +static LIST_HEAD(xen_pcpus);
> 
> So what about the recommendation to get rid of that and
> instead do
> 
> struct pcpu *xen_cpu;

I'm not quite clear your meaning here, do you mean 'LIST_HEAD(xen_pcpus)' instead of 'struct pcpu *xen_cpu'?


> 
> and use that as a list? Meaning
> .. snip..
>> +{
>> +	struct list_head *cur;
>> +	struct pcpu *pcpu;
>> +
>> +	list_for_each(cur, &xen_pcpus) {
>> +		pcpu = list_entry(cur, struct pcpu, list);
>> +		if (pcpu->cpu_id == cpu_id)
>> +			return pcpu;
>> +	}
> 
> do:
> struct pcpu *pcpu;
> 
> list_for_each_entry(pcpu, xen_pcpus, list)
> 	if (pcpu->cpu_id == cpu_id)
> 		return pcpu;
> ?
> 
> and such.

OK for me to update.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 16:58:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 16:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStAj-00042e-Uv; Fri, 11 May 2012 16:58:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SStAi-00042P-Nw
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 16:58:29 +0000
Received: from [85.158.138.51:45072] by server-5.bemta-3.messagelabs.com id
	CF/16-17113-3354DAF4; Fri, 11 May 2012 16:58:27 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336755505!18613287!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzMTk3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27615 invoked from network); 11 May 2012 16:58:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-174.messagelabs.com with SMTP;
	11 May 2012 16:58:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 09:58:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99033893"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 11 May 2012 09:58:11 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 09:58:11 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 00:58:09 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface (V2)
Thread-Index: AQHNL38KJV8RtIigTTax7Uicx2M6K5bEzH6w
Date: Fri, 11 May 2012 16:58:08 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BA0B2@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
	<20120511140454.GA13735@phenom.dumpdata.com>
In-Reply-To: <20120511140454.GA13735@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Thu, May 10, 2012 at 03:06:14PM +0000, Liu, Jinsong wrote:
>>> From 7aa4cf7c1172e24611dc76163397b8708acacc59 Mon Sep 17 00:00:00
>>> 2001 
>> From: Liu, Jinsong <jinsong.liu@intel.com>
>> Date: Fri, 11 May 2012 06:55:35 +0800
>> Subject: [PATCH 3/3] Xen physical cpus interface
>> 
>> Manage physical cpus in dom0, get physical cpus info and provide sys
>> interface. 
>> 
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com> ---
>>  .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
>>  drivers/xen/Makefile                               |    1 +
>>  drivers/xen/pcpu.c                                 |  374
>>  ++++++++++++++++++++ include/xen/interface/platform.h              
>>  |    8 + include/xen/interface/xen.h                        |    1 +
>>  5 files changed, 404 insertions(+), 0 deletions(-)
>>  create mode 100644
>>  Documentation/ABI/testing/sysfs-devices-system-xen_cpu create mode
>> 100644 drivers/xen/pcpu.c 
>> 
>> diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
>> b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu new file
>> mode 100644 index 0000000..9ca02fb --- /dev/null
>> +++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu @@ -0,0
>> +1,20 @@ +What:		/sys/devices/system/xen_cpu/
>> +Date:		May 2012
>> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
>> +Description:
>> +		A collection of global/individual Xen physical cpu attributes +
>> +		Individual physical cpu attributes are contained in
>> +		subdirectories named by the Xen's logical cpu number, e.g.:
>> +		/sys/devices/system/xen_cpu/xen_cpu#/
>> +
>> +
>> +What:		/sys/devices/system/xen_cpu/xen_cpu#/online +Date:		May 2012
>> +Contact:	Liu, Jinsong <jinsong.liu@intel.com>
>> +Description:
>> +		Interface to online/offline Xen physical cpus
>> +
>> +		When running under Xen platform, it provide user interface
>> +		to online/offline physical cpus, except cpu0 due to several
>> +		logic restrictions and assumptions.
>> diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
>> index 1d3e763..d12d14d 100644
>> --- a/drivers/xen/Makefile
>> +++ b/drivers/xen/Makefile
>> @@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+= platform-pci.o
>>  obj-$(CONFIG_XEN_TMEM)			+= tmem.o
>>  obj-$(CONFIG_SWIOTLB_XEN)		+= swiotlb-xen.o
>>  obj-$(CONFIG_XEN_DOM0)			+= pci.o
>> +obj-$(CONFIG_XEN_DOM0)			+= pcpu.o
>>  obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+= xen-pciback/
>>  obj-$(CONFIG_XEN_PRIVCMD)		+= xen-privcmd.o
>>  obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+= xen-acpi-processor.o
>> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
>> new file mode 100644
>> index 0000000..9014ff1
>> --- /dev/null
>> +++ b/drivers/xen/pcpu.c
>> @@ -0,0 +1,374 @@
>> +/******************************************************************************
>> + * pcpu.c + * Management physical cpu in dom0, get pcpu info and
>> provide sys interface + * + * Copyright (c) 2012 Intel Corporation
>> + * Author: Liu, Jinsong <jinsong.liu@intel.com>
>> + * Author: Jiang, Yunhong <yunhong.jiang@intel.com> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License
>> version 2 + * as published by the Free Software Foundation; or, when
>> distributed + * separately from the Linux kernel or incorporated
>> into other + * software packages, subject to the following license:
>> + * + * Permission is hereby granted, free of charge, to any person
>> obtaining a copy + * of this source file (the "Software"), to deal
>> in the Software without + * restriction, including without
>> limitation the rights to use, copy, modify, + * merge, publish,
>> distribute, sublicense, and/or sell copies of the Software, + * and
>> to permit persons to whom the Software is furnished to do so,
>> subject to + * the following conditions: + * + * The above copyright
>> notice and this permission notice shall be included in + * all
>> copies or substantial portions of the Software. + * + * THE SOFTWARE
>> IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + *
>> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND
>> NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT
>> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY,
>> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + *
>> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> DEALINGS + * IN THE SOFTWARE. + */ + +#include <linux/interrupt.h>
>> +#include <linux/spinlock.h>
>> +#include <linux/cpu.h>
>> +#include <linux/stat.h>
>> +#include <linux/capability.h>
>> +
>> +#include <xen/xen.h>
>> +#include <xen/xenbus.h>
>> +#include <xen/events.h>
>> +#include <xen/interface/platform.h>
>> +#include <asm/xen/hypervisor.h>
>> +#include <asm/xen/hypercall.h>
>> +
>> +#define XEN_PCPU "xen_cpu: "
>> +
>> +/*
>> + * @cpu_id: Xen physical cpu logic number
>> + * @flags: Xen physical cpu status flag
>> + * - XEN_PCPU_FLAGS_ONLINE: cpu is online
>> + * - XEN_PCPU_FLAGS_INVALID: cpu is not present
>> + */
>> +struct pcpu {
>> +	struct list_head list;
>> +	struct device dev;
>> +	uint32_t cpu_id;
>> +	uint32_t flags;
>> +};
>> +
>> +static struct bus_type xen_pcpu_subsys = {
>> +	.name = "xen_cpu",
>> +	.dev_name = "xen_cpu",
>> +};
>> +
>> +static DEFINE_MUTEX(xen_pcpu_lock);
>> +
>> +static LIST_HEAD(xen_pcpus);
> 
> So what about the recommendation to get rid of that and
> instead do
> 
> struct pcpu *xen_cpu;

I'm not quite clear your meaning here, do you mean 'LIST_HEAD(xen_pcpus)' instead of 'struct pcpu *xen_cpu'?


> 
> and use that as a list? Meaning
> .. snip..
>> +{
>> +	struct list_head *cur;
>> +	struct pcpu *pcpu;
>> +
>> +	list_for_each(cur, &xen_pcpus) {
>> +		pcpu = list_entry(cur, struct pcpu, list);
>> +		if (pcpu->cpu_id == cpu_id)
>> +			return pcpu;
>> +	}
> 
> do:
> struct pcpu *pcpu;
> 
> list_for_each_entry(pcpu, xen_pcpus, list)
> 	if (pcpu->cpu_id == cpu_id)
> 		return pcpu;
> ?
> 
> and such.

OK for me to update.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:02:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStEl-0004MA-Qa; Fri, 11 May 2012 17:02:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SStEj-0004Lt-Sc
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:02:38 +0000
Received: from [193.109.254.147:38942] by server-2.bemta-14.messagelabs.com id
	58/EC-19409-D264DAF4; Fri, 11 May 2012 17:02:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336755756!1139020!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26460 invoked from network); 11 May 2012 17:02:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:02:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434961"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:01:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:01:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SStDh-0007zB-Be; Fri, 11 May 2012 17:01:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SStDh-0002d5-9h;
	Fri, 11 May 2012 18:01:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.17901.273097.286232@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 18:01:33 +0100
To: Keir Fraser <keir@xen.org>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CBD30119.40176%keir@xen.org>
References: <CAEQjb-TQfawPLn4QsygPyuuJWq6EUr4ni017AtCAjoqK8G0h1g@mail.gmail.com>
	<CBD30119.40176%keir@xen.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>, Bei Guan <gbtju85@gmail.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

~Keir Fraser writes ("Re: [Xen-devel] Errors of doing "make install-tools" with xen-4.2-unstable?"):
> On 11/05/2012 17:33, "Bei Guan" <gbtju85@gmail.com> wrote:
 > Yes, I add this option to Makefile. And now it works well. The patch is as the
> > following. Thank you very much.
> 
> I'd be worried about more command-line meddling causing even more fallout.
> Particularly because we haven't used that option anywhere else so far, so
> it's untested by us. E.g., do all gcc support -Wno-unused-result?

Checking the manuals (which are all online), gcc 4.0 doesn't support
it.  So no, relevant gccs don't.

However the tools build now uses autoconf.  I would accept a patch
which used autoconf to determine whether gcc accepts
-Wno-unused-result and to supply it in the blktap2 Makefile if it
does.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:02:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStEl-0004MA-Qa; Fri, 11 May 2012 17:02:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SStEj-0004Lt-Sc
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:02:38 +0000
Received: from [193.109.254.147:38942] by server-2.bemta-14.messagelabs.com id
	58/EC-19409-D264DAF4; Fri, 11 May 2012 17:02:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1336755756!1139020!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26460 invoked from network); 11 May 2012 17:02:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:02:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12434961"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:01:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:01:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SStDh-0007zB-Be; Fri, 11 May 2012 17:01:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SStDh-0002d5-9h;
	Fri, 11 May 2012 18:01:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.17901.273097.286232@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 18:01:33 +0100
To: Keir Fraser <keir@xen.org>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <CBD30119.40176%keir@xen.org>
References: <CAEQjb-TQfawPLn4QsygPyuuJWq6EUr4ni017AtCAjoqK8G0h1g@mail.gmail.com>
	<CBD30119.40176%keir@xen.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>, Bei Guan <gbtju85@gmail.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

~Keir Fraser writes ("Re: [Xen-devel] Errors of doing "make install-tools" with xen-4.2-unstable?"):
> On 11/05/2012 17:33, "Bei Guan" <gbtju85@gmail.com> wrote:
 > Yes, I add this option to Makefile. And now it works well. The patch is as the
> > following. Thank you very much.
> 
> I'd be worried about more command-line meddling causing even more fallout.
> Particularly because we haven't used that option anywhere else so far, so
> it's untested by us. E.g., do all gcc support -Wno-unused-result?

Checking the manuals (which are all online), gcc 4.0 doesn't support
it.  So no, relevant gccs don't.

However the tools build now uses autoconf.  I would accept a patch
which used autoconf to determine whether gcc accepts
-Wno-unused-result and to supply it in the blktap2 Makefile if it
does.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:02:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:02:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStEs-0004NX-6n; Fri, 11 May 2012 17:02:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <waldi@debian.org>) id 1SStEr-0004NF-Rl
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 17:02:45 +0000
Received: from [85.158.143.99:35843] by server-2.bemta-4.messagelabs.com id
	64/76-17550-5364DAF4; Fri, 11 May 2012 17:02:45 +0000
X-Env-Sender: waldi@debian.org
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336755763!17815856!1
X-Originating-IP: [82.139.201.20]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1249 invoked from network); 11 May 2012 17:02:44 -0000
Received: from wavehammer.waldi.eu.org (HELO wavehammer.waldi.eu.org)
	(82.139.201.20)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 17:02:44 -0000
Received: by wavehammer.waldi.eu.org (Postfix, from userid 1000)
	id B8EA7541C6; Fri, 11 May 2012 19:02:40 +0200 (CEST)
Date: Fri, 11 May 2012 19:02:40 +0200
From: Bastian Blank <waldi@debian.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120511170240.GA15662@wavehammer.waldi.eu.org>
Mail-Followup-To: Bastian Blank <waldi@debian.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336754999.23818.144.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Stefano Stabellini <stefano.stabellini@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 05:49:59PM +0100, Ian Campbell wrote:
> --- /dev/null
> +++ b/tools/xenstore/compat/xs.h

Why not in tools/xenstore?

> +#ifndef XENSTORE_COMPAT_H
> +#define XENSTORE_COMPAT_H

Don't.

Bastian

-- 
Well, Jim, I'm not much of an actor either.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:02:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:02:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStEs-0004NX-6n; Fri, 11 May 2012 17:02:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <waldi@debian.org>) id 1SStEr-0004NF-Rl
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 17:02:45 +0000
Received: from [85.158.143.99:35843] by server-2.bemta-4.messagelabs.com id
	64/76-17550-5364DAF4; Fri, 11 May 2012 17:02:45 +0000
X-Env-Sender: waldi@debian.org
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336755763!17815856!1
X-Originating-IP: [82.139.201.20]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1249 invoked from network); 11 May 2012 17:02:44 -0000
Received: from wavehammer.waldi.eu.org (HELO wavehammer.waldi.eu.org)
	(82.139.201.20)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 17:02:44 -0000
Received: by wavehammer.waldi.eu.org (Postfix, from userid 1000)
	id B8EA7541C6; Fri, 11 May 2012 19:02:40 +0200 (CEST)
Date: Fri, 11 May 2012 19:02:40 +0200
From: Bastian Blank <waldi@debian.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120511170240.GA15662@wavehammer.waldi.eu.org>
Mail-Followup-To: Bastian Blank <waldi@debian.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336754999.23818.144.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Stefano Stabellini <stefano.stabellini@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 05:49:59PM +0100, Ian Campbell wrote:
> --- /dev/null
> +++ b/tools/xenstore/compat/xs.h

Why not in tools/xenstore?

> +#ifndef XENSTORE_COMPAT_H
> +#define XENSTORE_COMPAT_H

Don't.

Bastian

-- 
Well, Jim, I'm not much of an actor either.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:07:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:07:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStJ6-0004gE-VE; Fri, 11 May 2012 17:07:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SStJ6-0004g3-31
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 17:07:08 +0000
Received: from [85.158.139.83:23779] by server-7.bemta-5.messagelabs.com id
	56/0D-16195-B374DAF4; Fri, 11 May 2012 17:07:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336756026!16652656!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4770 invoked from network); 11 May 2012 17:07:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:07:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435091"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:07:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:07:06 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SStJ4-000817-3E; Fri, 11 May 2012 17:07:06 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SStJ4-0002du-2A;
	Fri, 11 May 2012 18:07:06 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.18234.50742.594420@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 18:07:06 +0100
To: Bastian Blank <waldi@debian.org>
In-Reply-To: <20120511170240.GA15662@wavehammer.waldi.eu.org>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bastian Blank writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> On Fri, May 11, 2012 at 05:49:59PM +0100, Ian Campbell wrote:
> > --- /dev/null
> > +++ b/tools/xenstore/compat/xs.h
> 
> Why not in tools/xenstore?

Good question.  One answer is that this prevents in-tree users from
accidentally using the old header - but do we really care about that ?

> > +#ifndef XENSTORE_COMPAT_H
> > +#define XENSTORE_COMPAT_H
> 
> Don't.

I guess you mean that we want a warning each time <xs.h> is #included,
rather than only the first time.  In which case I agree.

Ian: I tried your patch but it didn't seem to apply to my current tip.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:07:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:07:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStJ6-0004gE-VE; Fri, 11 May 2012 17:07:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SStJ6-0004g3-31
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 17:07:08 +0000
Received: from [85.158.139.83:23779] by server-7.bemta-5.messagelabs.com id
	56/0D-16195-B374DAF4; Fri, 11 May 2012 17:07:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336756026!16652656!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4770 invoked from network); 11 May 2012 17:07:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:07:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435091"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:07:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:07:06 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SStJ4-000817-3E; Fri, 11 May 2012 17:07:06 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SStJ4-0002du-2A;
	Fri, 11 May 2012 18:07:06 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20397.18234.50742.594420@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 18:07:06 +0100
To: Bastian Blank <waldi@debian.org>
In-Reply-To: <20120511170240.GA15662@wavehammer.waldi.eu.org>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bastian Blank writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> On Fri, May 11, 2012 at 05:49:59PM +0100, Ian Campbell wrote:
> > --- /dev/null
> > +++ b/tools/xenstore/compat/xs.h
> 
> Why not in tools/xenstore?

Good question.  One answer is that this prevents in-tree users from
accidentally using the old header - but do we really care about that ?

> > +#ifndef XENSTORE_COMPAT_H
> > +#define XENSTORE_COMPAT_H
> 
> Don't.

I guess you mean that we want a warning each time <xs.h> is #included,
rather than only the first time.  In which case I agree.

Ian: I tried your patch but it didn't seem to apply to my current tip.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:08:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:08:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStJz-0004kg-52; Fri, 11 May 2012 17:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SStJx-0004kT-Sm
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:08:02 +0000
Received: from [85.158.143.99:51423] by server-3.bemta-4.messagelabs.com id
	78/40-05853-1774DAF4; Fri, 11 May 2012 17:08:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336756079!17816480!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15704 invoked from network); 11 May 2012 17:08:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435097"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:07:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:07:58 +0100
Date: Fri, 11 May 2012 18:07:42 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FAD3C0802000078000830D8@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205111800310.26786@kaball-desktop>
References: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
	<4FAD3C0802000078000830D8@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants
 to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 11 May 2012, Jan Beulich wrote:
> >>> On 11.05.12 at 09:19, "Jan Beulich" <JBeulich@suse.com> wrote:
> > Legacy (non-pvops) gntdev drivers may require this to be done when the
> > number of grants intended to be used simultaneously exceeds a certain
> > driver specific default limit.
> > 
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > --- a/hw/xen_disk.c
> > +++ b/hw/xen_disk.c
> > @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
> >      if (xen_mode != XEN_EMULATE) {
> >          batch_maps = 1;
> >      }
> > +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> > +            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
> 
> In more extensive testing it appears that very rarely this value is still
> too low:
> 
> xen be: qdisk-768: can't map 11 grant refs (Cannot allocate memory, 342 maps)
> 
> 342 + 11 = 353 > 352 = 32 * 11
> 
> Could someone help out here? I first thought this might be due to
> use_aio being non-zero, but ioreq_start() doesn't permit more than
> max_requests struct ioreqs-s to be around.

Actually 342 + 11 = 353, that should be still OK because it is equal to
32 * 11 + 1, where the additional 1 is for the ring, right?


> Additionally, shouldn't the driver be smarter and gracefully handle
> grant mapping failures (as the per-domain map track table in the
> hypervisor is a finite resource)?

yes, probably

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:08:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:08:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStJz-0004kg-52; Fri, 11 May 2012 17:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SStJx-0004kT-Sm
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:08:02 +0000
Received: from [85.158.143.99:51423] by server-3.bemta-4.messagelabs.com id
	78/40-05853-1774DAF4; Fri, 11 May 2012 17:08:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336756079!17816480!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15704 invoked from network); 11 May 2012 17:08:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435097"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:07:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:07:58 +0100
Date: Fri, 11 May 2012 18:07:42 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FAD3C0802000078000830D8@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205111800310.26786@kaball-desktop>
References: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
	<4FAD3C0802000078000830D8@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants
 to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 11 May 2012, Jan Beulich wrote:
> >>> On 11.05.12 at 09:19, "Jan Beulich" <JBeulich@suse.com> wrote:
> > Legacy (non-pvops) gntdev drivers may require this to be done when the
> > number of grants intended to be used simultaneously exceeds a certain
> > driver specific default limit.
> > 
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > --- a/hw/xen_disk.c
> > +++ b/hw/xen_disk.c
> > @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
> >      if (xen_mode != XEN_EMULATE) {
> >          batch_maps = 1;
> >      }
> > +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> > +            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
> 
> In more extensive testing it appears that very rarely this value is still
> too low:
> 
> xen be: qdisk-768: can't map 11 grant refs (Cannot allocate memory, 342 maps)
> 
> 342 + 11 = 353 > 352 = 32 * 11
> 
> Could someone help out here? I first thought this might be due to
> use_aio being non-zero, but ioreq_start() doesn't permit more than
> max_requests struct ioreqs-s to be around.

Actually 342 + 11 = 353, that should be still OK because it is equal to
32 * 11 + 1, where the additional 1 is for the ring, right?


> Additionally, shouldn't the driver be smarter and gracefully handle
> grant mapping failures (as the per-domain map track table in the
> hypervisor is a finite resource)?

yes, probably

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:09:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:09:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStLX-0004ya-Lr; Fri, 11 May 2012 17:09:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SStLW-0004yH-2c
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:09:38 +0000
Received: from [85.158.143.99:10022] by server-1.bemta-4.messagelabs.com id
	B0/47-20925-1D74DAF4; Fri, 11 May 2012 17:09:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336756175!27615609!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13639 invoked from network); 11 May 2012 17:09:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:09:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435118"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:09:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:09:34 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SStLS-00081t-I4	for xen-devel@lists.xen.org;
	Fri, 11 May 2012 17:09:34 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SStLS-0002eW-HQ	for
	xen-devel@lists.xen.org; Fri, 11 May 2012 18:09:34 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20397.18382.526907.218622@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 18:09:34 +0100
MIME-Version: 1.0
To: xen-devel@lists.xen.org
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: [Xen-devel] Tools patch backlog cleared (I hope)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I think I have got to the end of my list mail backlog.  If you have
submitted something and not had a reply, I have dropped it and you
should resend.

Thanks to everyone for your patience.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:09:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:09:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStLX-0004ya-Lr; Fri, 11 May 2012 17:09:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SStLW-0004yH-2c
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:09:38 +0000
Received: from [85.158.143.99:10022] by server-1.bemta-4.messagelabs.com id
	B0/47-20925-1D74DAF4; Fri, 11 May 2012 17:09:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1336756175!27615609!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13639 invoked from network); 11 May 2012 17:09:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:09:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435118"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:09:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:09:34 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SStLS-00081t-I4	for xen-devel@lists.xen.org;
	Fri, 11 May 2012 17:09:34 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SStLS-0002eW-HQ	for
	xen-devel@lists.xen.org; Fri, 11 May 2012 18:09:34 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20397.18382.526907.218622@mariner.uk.xensource.com>
Date: Fri, 11 May 2012 18:09:34 +0100
MIME-Version: 1.0
To: xen-devel@lists.xen.org
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: [Xen-devel] Tools patch backlog cleared (I hope)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I think I have got to the end of my list mail backlog.  If you have
submitted something and not had a reply, I have dropped it and you
should resend.

Thanks to everyone for your patience.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:23:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:23:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStYP-0005pu-PX; Fri, 11 May 2012 17:22:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SStYO-0005pp-IY
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:22:56 +0000
Received: from [85.158.138.51:25673] by server-6.bemta-3.messagelabs.com id
	0A/96-05145-FEA4DAF4; Fri, 11 May 2012 17:22:55 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336756973!22603136!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE,MAILTO_TO_SPAM_ADDR,ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31883 invoked from network); 11 May 2012 17:22:54 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:22:54 -0000
Received: by lbok6 with SMTP id k6so2567148lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 10:22:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=t8ukL8cByCAJkNU7+Tio7ZIRLo2yINu+AlxR2/k8Qn0=;
	b=pHme3v8v5bW96d6Jo/KpOCijXq1fKOM5Jq+QT8t0JsMFNWoezUDL3cSyq481eOxym+
	6nHUswzdZ/1UJKwGZ3N478wmfT2X5RUKVla6KS7pnkwTjioRW8XIA2NtYTAnIgZvfJHL
	JYAGLBd7CGGqQ3r2AEzNu6JFvpGyFUEFqeEs7/eshCRQNqf0RnqdSlY9pPMMFmWhBUOC
	gxAEQg4e8r5TSYdpbb78nJnE68zsC44WzKItJWUjT6/dxDtgw7/Fg09JutHaytwaPgdV
	ITNxPzi2DIK5t0poGufFeh5IXEGJRlaKs7iaCT2Cy8N4gZhFPiU8XJRV8mqxjXtqpm+Y
	uW+Q==
MIME-Version: 1.0
Received: by 10.152.111.198 with SMTP id ik6mr9037240lab.38.1336756973255;
	Fri, 11 May 2012 10:22:53 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 10:22:53 -0700 (PDT)
In-Reply-To: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
References: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
Date: Sat, 12 May 2012 01:22:53 +0800
Message-ID: <CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3326488397959265117=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3326488397959265117==
Content-Type: multipart/alternative; boundary=f46d040839898aba9804bfc5fc7f

--f46d040839898aba9804bfc5fc7f
Content-Type: text/plain; charset=ISO-8859-1

Hi,

This problem is solved now.

My environment is 64-bit ubuntu and xl needs to find libyajl from the
following paths.

   trying file=/lib/libyajl.so.2
   trying file=/usr/lib/libyajl.so.2
   trying file=/lib/x86_64-linux-gnu/tls/x86_64/libyajl.so.2
   trying file=/lib/x86_64-linux-gnu/tls/libyajl.so.2
  ...

However, the actual path of libyajl is /usr/local/lib/libyajl.so.2.0.5
where I just installed into.
So, a symbolic link is enough to solve this problem. Just like this:
# ln -s /usr/local/lib/libyajl.so.2.0.5 /lib/libyajl.so.2


Thanks,
Bei Guan




2012/5/12 Bei Guan <gbtju85@gmail.com>

> Hi,
>
> When I do "xl list", there is an error like this:
>
> root@gavin-desktop:~# xl list
> xl: error while loading shared libraries: libyajl.so.2: cannot open shared
> object file: No such file or directory
>
> I install the yajl followed this message:
> http://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html
>
> After that, the module libyajl.so.2 is copied to /usr/local/lib/.
>
> Is there any advice on this problem. Thank you so much.
>
>
> Best Regards,
> Bei Guan
>
>


-- 
Best Regards,
Bei Guan

--f46d040839898aba9804bfc5fc7f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>This problem is solved now.<br><br>My environment is 64-bit ubun=
tu and xl needs to find libyajl from the following paths.<br><br>=A0=A0 try=
ing file=3D/lib/libyajl.so.2<br>=A0=A0 trying file=3D/usr/lib/libyajl.so.2<=
br>=A0=A0 trying file=3D/lib/x86_64-linux-gnu/tls/x86_64/libyajl.so.2<br>
=A0=A0 trying file=3D/lib/x86_64-linux-gnu/tls/libyajl.so.2<br>=A0 ...<br><=
br>However, the actual path of libyajl is /usr/local/lib/libyajl.so.2.0.5 w=
here I just installed into.<br>So, a symbolic link is enough to solve this =
problem. Just like this:<br>
# ln -s /usr/local/lib/libyajl.so.2.0.5 /lib/libyajl.so.2 <br><br><br>Thank=
s,<br>Bei Guan<br><br><br><br><br><div class=3D"gmail_quote">2012/5/12 Bei =
Guan <span dir=3D"ltr">&lt;<a href=3D"mailto:gbtju85@gmail.com" target=3D"_=
blank">gbtju85@gmail.com</a>&gt;</span><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br><br>When I do &quo=
t;xl list&quot;, there is an error like this:<br><br>root@gavin-desktop:~# =
xl list<br>
xl: error while loading shared libraries: libyajl.so.2: cannot open shared =
object file: No such file or directory<br clear=3D"all">
<br>I install the yajl followed this message:<br><a href=3D"http://lists.xe=
n.org/archives/html/xen-users/2012-03/msg00325.html" target=3D"_blank">http=
://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html</a><br><br>
After that, the module libyajl.so.2 is copied to /usr/local/lib/.<br>
<br>Is there any advice on this problem. Thank you so much.<br><br><br>Best=
 Regards,<div>Bei Guan</div><br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regards,<div>Bei G=
uan</div><br>

--f46d040839898aba9804bfc5fc7f--


--===============3326488397959265117==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3326488397959265117==--


From xen-devel-bounces@lists.xen.org Fri May 11 17:23:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:23:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SStYP-0005pu-PX; Fri, 11 May 2012 17:22:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gbtju85@gmail.com>) id 1SStYO-0005pp-IY
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:22:56 +0000
Received: from [85.158.138.51:25673] by server-6.bemta-3.messagelabs.com id
	0A/96-05145-FEA4DAF4; Fri, 11 May 2012 17:22:55 +0000
X-Env-Sender: gbtju85@gmail.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336756973!22603136!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE,MAILTO_TO_SPAM_ADDR,ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31883 invoked from network); 11 May 2012 17:22:54 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:22:54 -0000
Received: by lbok6 with SMTP id k6so2567148lbo.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 10:22:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=t8ukL8cByCAJkNU7+Tio7ZIRLo2yINu+AlxR2/k8Qn0=;
	b=pHme3v8v5bW96d6Jo/KpOCijXq1fKOM5Jq+QT8t0JsMFNWoezUDL3cSyq481eOxym+
	6nHUswzdZ/1UJKwGZ3N478wmfT2X5RUKVla6KS7pnkwTjioRW8XIA2NtYTAnIgZvfJHL
	JYAGLBd7CGGqQ3r2AEzNu6JFvpGyFUEFqeEs7/eshCRQNqf0RnqdSlY9pPMMFmWhBUOC
	gxAEQg4e8r5TSYdpbb78nJnE68zsC44WzKItJWUjT6/dxDtgw7/Fg09JutHaytwaPgdV
	ITNxPzi2DIK5t0poGufFeh5IXEGJRlaKs7iaCT2Cy8N4gZhFPiU8XJRV8mqxjXtqpm+Y
	uW+Q==
MIME-Version: 1.0
Received: by 10.152.111.198 with SMTP id ik6mr9037240lab.38.1336756973255;
	Fri, 11 May 2012 10:22:53 -0700 (PDT)
Received: by 10.112.23.194 with HTTP; Fri, 11 May 2012 10:22:53 -0700 (PDT)
In-Reply-To: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
References: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
Date: Sat, 12 May 2012 01:22:53 +0800
Message-ID: <CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
From: Bei Guan <gbtju85@gmail.com>
To: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3326488397959265117=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3326488397959265117==
Content-Type: multipart/alternative; boundary=f46d040839898aba9804bfc5fc7f

--f46d040839898aba9804bfc5fc7f
Content-Type: text/plain; charset=ISO-8859-1

Hi,

This problem is solved now.

My environment is 64-bit ubuntu and xl needs to find libyajl from the
following paths.

   trying file=/lib/libyajl.so.2
   trying file=/usr/lib/libyajl.so.2
   trying file=/lib/x86_64-linux-gnu/tls/x86_64/libyajl.so.2
   trying file=/lib/x86_64-linux-gnu/tls/libyajl.so.2
  ...

However, the actual path of libyajl is /usr/local/lib/libyajl.so.2.0.5
where I just installed into.
So, a symbolic link is enough to solve this problem. Just like this:
# ln -s /usr/local/lib/libyajl.so.2.0.5 /lib/libyajl.so.2


Thanks,
Bei Guan




2012/5/12 Bei Guan <gbtju85@gmail.com>

> Hi,
>
> When I do "xl list", there is an error like this:
>
> root@gavin-desktop:~# xl list
> xl: error while loading shared libraries: libyajl.so.2: cannot open shared
> object file: No such file or directory
>
> I install the yajl followed this message:
> http://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html
>
> After that, the module libyajl.so.2 is copied to /usr/local/lib/.
>
> Is there any advice on this problem. Thank you so much.
>
>
> Best Regards,
> Bei Guan
>
>


-- 
Best Regards,
Bei Guan

--f46d040839898aba9804bfc5fc7f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>This problem is solved now.<br><br>My environment is 64-bit ubun=
tu and xl needs to find libyajl from the following paths.<br><br>=A0=A0 try=
ing file=3D/lib/libyajl.so.2<br>=A0=A0 trying file=3D/usr/lib/libyajl.so.2<=
br>=A0=A0 trying file=3D/lib/x86_64-linux-gnu/tls/x86_64/libyajl.so.2<br>
=A0=A0 trying file=3D/lib/x86_64-linux-gnu/tls/libyajl.so.2<br>=A0 ...<br><=
br>However, the actual path of libyajl is /usr/local/lib/libyajl.so.2.0.5 w=
here I just installed into.<br>So, a symbolic link is enough to solve this =
problem. Just like this:<br>
# ln -s /usr/local/lib/libyajl.so.2.0.5 /lib/libyajl.so.2 <br><br><br>Thank=
s,<br>Bei Guan<br><br><br><br><br><div class=3D"gmail_quote">2012/5/12 Bei =
Guan <span dir=3D"ltr">&lt;<a href=3D"mailto:gbtju85@gmail.com" target=3D"_=
blank">gbtju85@gmail.com</a>&gt;</span><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br><br>When I do &quo=
t;xl list&quot;, there is an error like this:<br><br>root@gavin-desktop:~# =
xl list<br>
xl: error while loading shared libraries: libyajl.so.2: cannot open shared =
object file: No such file or directory<br clear=3D"all">
<br>I install the yajl followed this message:<br><a href=3D"http://lists.xe=
n.org/archives/html/xen-users/2012-03/msg00325.html" target=3D"_blank">http=
://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html</a><br><br>
After that, the module libyajl.so.2 is copied to /usr/local/lib/.<br>
<br>Is there any advice on this problem. Thank you so much.<br><br><br>Best=
 Regards,<div>Bei Guan</div><br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Best Regards,<div>Bei G=
uan</div><br>

--f46d040839898aba9804bfc5fc7f--


--===============3326488397959265117==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3326488397959265117==--


From xen-devel-bounces@lists.xen.org Fri May 11 17:28:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSte1-0005yb-IQ; Fri, 11 May 2012 17:28:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSte0-0005yV-Jo
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 17:28:44 +0000
Received: from [193.109.254.147:4371] by server-8.bemta-14.messagelabs.com id
	88/C6-23244-B4C4DAF4; Fri, 11 May 2012 17:28:43 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336757322!6404978!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc4Nzcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13373 invoked from network); 11 May 2012 17:28:43 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-5.tower-27.messagelabs.com with SMTP;
	11 May 2012 17:28:43 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 11 May 2012 10:28:41 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="141961125"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 11 May 2012 10:28:41 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 10:28:41 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 01:28:39 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface (V2)
Thread-Index: AQHNL4DoJV8RtIigTTax7Uicx2M6K5bEz5ng
Date: Fri, 11 May 2012 17:28:38 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BA527@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
	<20120511141817.GB13735@phenom.dumpdata.com>
In-Reply-To: <20120511141817.GB13735@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>> +static void pcpu_sys_remove(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +
>> +	if (!pcpu)
>> +		return;
>> +
>> +	dev = &pcpu->dev;
>> +	if (dev->id)
>> +		device_remove_file(dev, &dev_attr_online);
>> +
>> +	device_unregister(dev);
>> +}
>> +
>> +static void free_pcpu(struct pcpu *pcpu)
> 
> 1) So this isn't just freeing the PCPU, it also unregisters
> the SysFS.
> 
> As such you should call this differently:
> 
> unregister_and_free(struct pcpu *pcpu)

Fine, rename 2 funcs:
init_pcpu --> int_and_register_pcpu
free_pcpu --> unregister_and_free_pcpu

> 
> or do the unregistration part seperatly.
> 
> 2) But there is also another issue - a possiblity of race.
> 
> The user might be running:
> while (true)
> do
>  echo 1 > online
>  echo 0 > online
> done
> 
> and the the sync_pcpu will end up calling pcpu_sys_remove and
> free the pcpu. The SysFS aren't deleted until all of the

No race here. echo x > online would not change cpu present map.

> object references (kref's) have been put. So when you get to
> 'kfree(pcpu)' you might be still holding a reference (meaning
> the user is doing 'echo 0 > online') and crash.
> 
> I think you need to hold the mutex in the store_online() function
> (not good), or better yet, make a device_release function
> that will be called when the last kref has been put.
> 
> 
> 3) Third the name. These functions all depend on the mutex lock being
> held. As such add a postfix to the name of the function of
> "_locked" or a prefix of "__' so it is known that the caller holds
> the mutex.

OK, add _locked postfix to these functions.

Thanks,
Jinsong

> 
>> +{
>> +	if (!pcpu)
>> +		return;
>> +
>> +	pcpu_sys_remove(pcpu);
>> +
>> +	list_del(&pcpu->list);
>> +	kfree(pcpu);
>> +}
>> +
>> +static int pcpu_sys_create(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +	int err = -EINVAL;
>> +
>> +	if (!pcpu)
>> +		return err;
>> +
>> +	dev = &pcpu->dev;
>> +	dev->bus = &xen_pcpu_subsys;
>> +	dev->id = pcpu->cpu_id;
>> +
>> +	err = device_register(dev);
>> +	if (err)
>> +		return err;
>> +
>> +	/*
>> +	 * Xen never offline cpu0 due to several restrictions
>> +	 * and assumptions. This basically doesn't add a sys control
>> +	 * to user, one cannot attempt to offline BSP.
>> +	 */
>> +	if (dev->id) {
>> +		err = device_create_file(dev, &dev_attr_online); +		if (err) {
>> +			device_unregister(dev);
>> +			return err;
>> +		}
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +static struct pcpu *init_pcpu(struct xenpf_pcpuinfo *info) +{
>> +	struct pcpu *pcpu;
>> +	int err;
>> +
>> +	if (info->flags & XEN_PCPU_FLAGS_INVALID)
>> +		return ERR_PTR(-ENODEV);
>> +
>> +	pcpu = kzalloc(sizeof(struct pcpu), GFP_KERNEL);
>> +	if (!pcpu)
>> +		return ERR_PTR(-ENOMEM);
>> +
>> +	INIT_LIST_HEAD(&pcpu->list);
>> +	pcpu->cpu_id = info->xen_cpuid;
>> +	pcpu->flags = info->flags;
>> +
>> +	err = pcpu_sys_create(pcpu);
>> +	if (err) {
>> +		pr_warning(XEN_PCPU "Failed to register pcpu%u\n", +			  
>> info->xen_cpuid); +		kfree(pcpu);
>> +		return ERR_PTR(-ENOENT);
>> +	}
>> +
>> +	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
>> +	list_add_tail(&pcpu->list, &xen_pcpus);
>> +	return pcpu;
>> +}
>> +
>> +/*
>> + * Caller should hold the xen_pcpu_lock
>> + */
>> +static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu) +{
>> +	int ret;
>> +	struct pcpu *pcpu = NULL;
>> +	struct xenpf_pcpuinfo *info;
>> +	struct xen_platform_op op = {
>> +		.cmd                   = XENPF_get_cpuinfo,
>> +		.interface_version     = XENPF_INTERFACE_VERSION,
>> +		.u.pcpu_info.xen_cpuid = cpu,
>> +	};
>> +
>> +	ret = HYPERVISOR_dom0_op(&op);
>> +	if (ret)
>> +		return ret;
>> +
>> +	info = &op.u.pcpu_info;
>> +	if (max_cpu)
>> +		*max_cpu = info->max_present;
>> +
>> +	pcpu = get_pcpu(cpu);
>> +
>> +	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
>> +		/* The pcpu has been removed */
>> +		if (pcpu)
>> +			free_pcpu(pcpu);
>> +		return 0;
>> +	}
>> +
>> +	if (!pcpu) {
>> +		pcpu = init_pcpu(info);
>> +		if (IS_ERR_OR_NULL(pcpu))
>> +			return -ENODEV;
>> +	} else
>> +		pcpu_online_status(info, pcpu);
>> +
>> +	return 0;
>> +}
>> +
>> +/*
>> + * Sync dom0's pcpu information with xen hypervisor's + */
>> +static int xen_sync_pcpus(void)
>> +{
>> +	/*
>> +	 * Boot cpu always have cpu_id 0 in xen
>> +	 */
>> +	uint32_t cpu = 0, max_cpu = 0;
>> +	int err = 0;
>> +	struct list_head *cur, *tmp;
>> +	struct pcpu *pcpu;
>> +
>> +	mutex_lock(&xen_pcpu_lock);
>> +
>> +	while (!err && (cpu <= max_cpu)) {
>> +		err = sync_pcpu(cpu, &max_cpu);
>> +		cpu++;
>> +	}
>> +
>> +	if (err) {
>> +		list_for_each_safe(cur, tmp, &xen_pcpus) {
>> +			pcpu = list_entry(cur, struct pcpu, list);
>> +			free_pcpu(pcpu);
>> +		}
>> +	}
>> +
>> +	mutex_unlock(&xen_pcpu_lock);
>> +
>> +	return err;
>> +}
>> +
>> +static void xen_pcpu_work_fn(struct work_struct *work) +{
>> +	xen_sync_pcpus();
>> +}
>> +static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn); +
>> +static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id) +{
>> +	schedule_work(&xen_pcpu_work);
>> +	return IRQ_HANDLED;
>> +}
>> +
>> +static int __init xen_pcpu_init(void)
>> +{
>> +	int irq, ret;
>> +
>> +	if (!xen_initial_domain())
>> +		return -ENODEV;
>> +
>> +	irq = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
>> +				      xen_pcpu_interrupt, 0,
>> +				      "xen-pcpu", NULL);
>> +	if (irq < 0) {
>> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n"); +		return irq;
>> +	}
>> +
>> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL); +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n"); +		goto
>> err1; +	}
>> +
>> +	ret = xen_sync_pcpus();
>> +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n"); +		goto err2;
>> +	}
>> +
>> +	return 0;
>> +
>> +err2:
>> +	bus_unregister(&xen_pcpu_subsys);
>> +err1:
>> +	unbind_from_irqhandler(irq, NULL);
>> +	return ret;
>> +}
>> +arch_initcall(xen_pcpu_init);
>> diff --git a/include/xen/interface/platform.h
>> b/include/xen/interface/platform.h index 486653f..61fa661 100644 ---
>> a/include/xen/interface/platform.h +++
>> b/include/xen/interface/platform.h @@ -314,6 +314,13 @@ struct
>>  xenpf_pcpuinfo { };
>>  DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
>> 
>> +#define XENPF_cpu_online	56
>> +#define XENPF_cpu_offline	57
>> +struct xenpf_cpu_ol {
>> +	uint32_t cpuid;
>> +};
>> +DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
>> +
>>  struct xen_platform_op {
>>  	uint32_t cmd;
>>  	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
>> @@ -330,6 +337,7 @@ struct xen_platform_op {
>>  		struct xenpf_getidletime       getidletime;
>>  		struct xenpf_set_processor_pminfo set_pminfo;
>>  		struct xenpf_pcpuinfo          pcpu_info;
>> +		struct xenpf_cpu_ol            cpu_ol;
>>  		uint8_t                        pad[128];
>>  	} u;
>>  };
>> diff --git a/include/xen/interface/xen.h
>> b/include/xen/interface/xen.h 
>> index a890804..0801468 100644
>> --- a/include/xen/interface/xen.h
>> +++ b/include/xen/interface/xen.h
>> @@ -80,6 +80,7 @@
>>  #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency
>>  console. */ #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event
>>  for some domain.   */ #define VIRQ_DEBUGGER   6  /* (DOM0) A domain
>> has paused for debugging.   */ +#define VIRQ_PCPU_STATE 9  /* (DOM0)
>> PCPU state changed                   */ 
>> 
>>  /* Architecture-specific VIRQ definitions. */
>>  #define VIRQ_ARCH_0    16
>> --
>> 1.7.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:28:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSte1-0005yb-IQ; Fri, 11 May 2012 17:28:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSte0-0005yV-Jo
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 17:28:44 +0000
Received: from [193.109.254.147:4371] by server-8.bemta-14.messagelabs.com id
	88/C6-23244-B4C4DAF4; Fri, 11 May 2012 17:28:43 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336757322!6404978!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc4Nzcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13373 invoked from network); 11 May 2012 17:28:43 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-5.tower-27.messagelabs.com with SMTP;
	11 May 2012 17:28:43 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 11 May 2012 10:28:41 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="141961125"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 11 May 2012 10:28:41 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 10:28:41 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 01:28:39 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface (V2)
Thread-Index: AQHNL4DoJV8RtIigTTax7Uicx2M6K5bEz5ng
Date: Fri, 11 May 2012 17:28:38 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BA527@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
	<20120511141817.GB13735@phenom.dumpdata.com>
In-Reply-To: <20120511141817.GB13735@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>> +static void pcpu_sys_remove(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +
>> +	if (!pcpu)
>> +		return;
>> +
>> +	dev = &pcpu->dev;
>> +	if (dev->id)
>> +		device_remove_file(dev, &dev_attr_online);
>> +
>> +	device_unregister(dev);
>> +}
>> +
>> +static void free_pcpu(struct pcpu *pcpu)
> 
> 1) So this isn't just freeing the PCPU, it also unregisters
> the SysFS.
> 
> As such you should call this differently:
> 
> unregister_and_free(struct pcpu *pcpu)

Fine, rename 2 funcs:
init_pcpu --> int_and_register_pcpu
free_pcpu --> unregister_and_free_pcpu

> 
> or do the unregistration part seperatly.
> 
> 2) But there is also another issue - a possiblity of race.
> 
> The user might be running:
> while (true)
> do
>  echo 1 > online
>  echo 0 > online
> done
> 
> and the the sync_pcpu will end up calling pcpu_sys_remove and
> free the pcpu. The SysFS aren't deleted until all of the

No race here. echo x > online would not change cpu present map.

> object references (kref's) have been put. So when you get to
> 'kfree(pcpu)' you might be still holding a reference (meaning
> the user is doing 'echo 0 > online') and crash.
> 
> I think you need to hold the mutex in the store_online() function
> (not good), or better yet, make a device_release function
> that will be called when the last kref has been put.
> 
> 
> 3) Third the name. These functions all depend on the mutex lock being
> held. As such add a postfix to the name of the function of
> "_locked" or a prefix of "__' so it is known that the caller holds
> the mutex.

OK, add _locked postfix to these functions.

Thanks,
Jinsong

> 
>> +{
>> +	if (!pcpu)
>> +		return;
>> +
>> +	pcpu_sys_remove(pcpu);
>> +
>> +	list_del(&pcpu->list);
>> +	kfree(pcpu);
>> +}
>> +
>> +static int pcpu_sys_create(struct pcpu *pcpu)
>> +{
>> +	struct device *dev;
>> +	int err = -EINVAL;
>> +
>> +	if (!pcpu)
>> +		return err;
>> +
>> +	dev = &pcpu->dev;
>> +	dev->bus = &xen_pcpu_subsys;
>> +	dev->id = pcpu->cpu_id;
>> +
>> +	err = device_register(dev);
>> +	if (err)
>> +		return err;
>> +
>> +	/*
>> +	 * Xen never offline cpu0 due to several restrictions
>> +	 * and assumptions. This basically doesn't add a sys control
>> +	 * to user, one cannot attempt to offline BSP.
>> +	 */
>> +	if (dev->id) {
>> +		err = device_create_file(dev, &dev_attr_online); +		if (err) {
>> +			device_unregister(dev);
>> +			return err;
>> +		}
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +static struct pcpu *init_pcpu(struct xenpf_pcpuinfo *info) +{
>> +	struct pcpu *pcpu;
>> +	int err;
>> +
>> +	if (info->flags & XEN_PCPU_FLAGS_INVALID)
>> +		return ERR_PTR(-ENODEV);
>> +
>> +	pcpu = kzalloc(sizeof(struct pcpu), GFP_KERNEL);
>> +	if (!pcpu)
>> +		return ERR_PTR(-ENOMEM);
>> +
>> +	INIT_LIST_HEAD(&pcpu->list);
>> +	pcpu->cpu_id = info->xen_cpuid;
>> +	pcpu->flags = info->flags;
>> +
>> +	err = pcpu_sys_create(pcpu);
>> +	if (err) {
>> +		pr_warning(XEN_PCPU "Failed to register pcpu%u\n", +			  
>> info->xen_cpuid); +		kfree(pcpu);
>> +		return ERR_PTR(-ENOENT);
>> +	}
>> +
>> +	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
>> +	list_add_tail(&pcpu->list, &xen_pcpus);
>> +	return pcpu;
>> +}
>> +
>> +/*
>> + * Caller should hold the xen_pcpu_lock
>> + */
>> +static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu) +{
>> +	int ret;
>> +	struct pcpu *pcpu = NULL;
>> +	struct xenpf_pcpuinfo *info;
>> +	struct xen_platform_op op = {
>> +		.cmd                   = XENPF_get_cpuinfo,
>> +		.interface_version     = XENPF_INTERFACE_VERSION,
>> +		.u.pcpu_info.xen_cpuid = cpu,
>> +	};
>> +
>> +	ret = HYPERVISOR_dom0_op(&op);
>> +	if (ret)
>> +		return ret;
>> +
>> +	info = &op.u.pcpu_info;
>> +	if (max_cpu)
>> +		*max_cpu = info->max_present;
>> +
>> +	pcpu = get_pcpu(cpu);
>> +
>> +	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
>> +		/* The pcpu has been removed */
>> +		if (pcpu)
>> +			free_pcpu(pcpu);
>> +		return 0;
>> +	}
>> +
>> +	if (!pcpu) {
>> +		pcpu = init_pcpu(info);
>> +		if (IS_ERR_OR_NULL(pcpu))
>> +			return -ENODEV;
>> +	} else
>> +		pcpu_online_status(info, pcpu);
>> +
>> +	return 0;
>> +}
>> +
>> +/*
>> + * Sync dom0's pcpu information with xen hypervisor's + */
>> +static int xen_sync_pcpus(void)
>> +{
>> +	/*
>> +	 * Boot cpu always have cpu_id 0 in xen
>> +	 */
>> +	uint32_t cpu = 0, max_cpu = 0;
>> +	int err = 0;
>> +	struct list_head *cur, *tmp;
>> +	struct pcpu *pcpu;
>> +
>> +	mutex_lock(&xen_pcpu_lock);
>> +
>> +	while (!err && (cpu <= max_cpu)) {
>> +		err = sync_pcpu(cpu, &max_cpu);
>> +		cpu++;
>> +	}
>> +
>> +	if (err) {
>> +		list_for_each_safe(cur, tmp, &xen_pcpus) {
>> +			pcpu = list_entry(cur, struct pcpu, list);
>> +			free_pcpu(pcpu);
>> +		}
>> +	}
>> +
>> +	mutex_unlock(&xen_pcpu_lock);
>> +
>> +	return err;
>> +}
>> +
>> +static void xen_pcpu_work_fn(struct work_struct *work) +{
>> +	xen_sync_pcpus();
>> +}
>> +static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn); +
>> +static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id) +{
>> +	schedule_work(&xen_pcpu_work);
>> +	return IRQ_HANDLED;
>> +}
>> +
>> +static int __init xen_pcpu_init(void)
>> +{
>> +	int irq, ret;
>> +
>> +	if (!xen_initial_domain())
>> +		return -ENODEV;
>> +
>> +	irq = bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
>> +				      xen_pcpu_interrupt, 0,
>> +				      "xen-pcpu", NULL);
>> +	if (irq < 0) {
>> +		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n"); +		return irq;
>> +	}
>> +
>> +	ret = subsys_system_register(&xen_pcpu_subsys, NULL); +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n"); +		goto
>> err1; +	}
>> +
>> +	ret = xen_sync_pcpus();
>> +	if (ret) {
>> +		pr_warning(XEN_PCPU "Failed to sync pcpu info\n"); +		goto err2;
>> +	}
>> +
>> +	return 0;
>> +
>> +err2:
>> +	bus_unregister(&xen_pcpu_subsys);
>> +err1:
>> +	unbind_from_irqhandler(irq, NULL);
>> +	return ret;
>> +}
>> +arch_initcall(xen_pcpu_init);
>> diff --git a/include/xen/interface/platform.h
>> b/include/xen/interface/platform.h index 486653f..61fa661 100644 ---
>> a/include/xen/interface/platform.h +++
>> b/include/xen/interface/platform.h @@ -314,6 +314,13 @@ struct
>>  xenpf_pcpuinfo { };
>>  DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
>> 
>> +#define XENPF_cpu_online	56
>> +#define XENPF_cpu_offline	57
>> +struct xenpf_cpu_ol {
>> +	uint32_t cpuid;
>> +};
>> +DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
>> +
>>  struct xen_platform_op {
>>  	uint32_t cmd;
>>  	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
>> @@ -330,6 +337,7 @@ struct xen_platform_op {
>>  		struct xenpf_getidletime       getidletime;
>>  		struct xenpf_set_processor_pminfo set_pminfo;
>>  		struct xenpf_pcpuinfo          pcpu_info;
>> +		struct xenpf_cpu_ol            cpu_ol;
>>  		uint8_t                        pad[128];
>>  	} u;
>>  };
>> diff --git a/include/xen/interface/xen.h
>> b/include/xen/interface/xen.h 
>> index a890804..0801468 100644
>> --- a/include/xen/interface/xen.h
>> +++ b/include/xen/interface/xen.h
>> @@ -80,6 +80,7 @@
>>  #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency
>>  console. */ #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event
>>  for some domain.   */ #define VIRQ_DEBUGGER   6  /* (DOM0) A domain
>> has paused for debugging.   */ +#define VIRQ_PCPU_STATE 9  /* (DOM0)
>> PCPU state changed                   */ 
>> 
>>  /* Architecture-specific VIRQ definitions. */
>>  #define VIRQ_ARCH_0    16
>> --
>> 1.7.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6h-0006Zr-As; Fri, 11 May 2012 17:58:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wq-Rh
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:57397] by server-3.bemta-4.messagelabs.com id
	1C/F4-05853-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25727 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435469"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008I5-9l; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fr-7Z;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:57 +0100
Message-ID: <1336759092-2432-13-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 12/27] libxl: make libxl_create_logfile
	const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_utils.c |    2 +-
 tools/libxl/libxl_utils.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 19b4615..f0d94c6 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -193,7 +193,7 @@ static int logrename(libxl__gc *gc, const char *old, const char *new)
     return 0;
 }
 
-int libxl_create_logfile(libxl_ctx *ctx, char *name, char **full_name)
+int libxl_create_logfile(libxl_ctx *ctx, const char *name, char **full_name)
 {
     GC_INIT(ctx);
     struct stat stat_buf;
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
index ca53a8a..2b47622 100644
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -26,7 +26,7 @@ int libxl_name_to_cpupoolid(libxl_ctx *ctx, const char *name, uint32_t *poolid);
 char *libxl_cpupoolid_to_name(libxl_ctx *ctx, uint32_t poolid);
 int libxl_get_stubdom_id(libxl_ctx *ctx, int guest_domid);
 int libxl_is_stubdom(libxl_ctx *ctx, uint32_t domid, uint32_t *target_domid);
-int libxl_create_logfile(libxl_ctx *ctx, char *name, char **full_name);
+int libxl_create_logfile(libxl_ctx *ctx, const char *name, char **full_name);
 int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend);
 
 int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6k-0006da-U5; Fri, 11 May 2012 17:58:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wf-EI
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:16347] by server-3.bemta-5.messagelabs.com id
	7D/4E-25237-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!12
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30232 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435480"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IW-Si; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gR-QB;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:06 +0100
Message-ID: <1336759092-2432-22-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 21/27] libxl: Fix an ao completion bug;
	document locking policy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Document the concurrent access policies for libxl__ao and libxl__egc,
and their corresponding gcs.

Fix a violation of the policy:

If an ao was submitted and a callback requested, and while the
initiating function was still running on the original thread, the ao
is completed on another thread, the completing thread would improperly
concurrently access the ao with the initiating thread.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_event.c    |    7 +++++++
 tools/libxl/libxl_internal.h |   23 ++++++++++++++++++++++-
 2 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 3e784f0..b546471 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -901,6 +901,11 @@ void libxl__event_disaster(libxl__egc *egc, const char *msg, int errnoval,
 
 static void egc_run_callbacks(libxl__egc *egc)
 {
+    /*
+     * The callbacks must happen with the ctx unlocked.
+     * See the comment near #define EGC_GC in libxl_internal.h and
+     * those in the definitions of libxl__egc and libxl__ao.
+     */
     EGC_GC;
     libxl_event *ev, *ev_tmp;
 
@@ -914,9 +919,11 @@ static void egc_run_callbacks(libxl__egc *egc)
                              entry_for_callback, ao_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
         ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
+        CTX_LOCK;
         ao->notified = 1;
         if (!ao->in_initiator)
             libxl__ao__destroy(CTX, ao);
+        CTX_UNLOCK;
     }
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9b4c273..f48cfdc 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -359,7 +359,8 @@ struct libxl__gc {
 };
 
 struct libxl__egc {
-    /* for event-generating functions only */
+    /* For event-generating functions only.
+     * The egc and its gc may be accessed only on the creating thread. */
     struct libxl__gc gc;
     struct libxl__event_list occurred_for_callback;
     LIBXL_TAILQ_HEAD(, libxl__ao) aos_for_callback;
@@ -369,6 +370,20 @@ struct libxl__egc {
 #define LIBXL__AO_MAGIC_DESTROYED    0xA0DEAD00ul
 
 struct libxl__ao {
+    /*
+     * An ao and its gc may be accessed only with the ctx lock held.
+     *
+     * Special exception: If an ao has been added to
+     * egc->aos_for_callback, the thread owning the egc may remove the
+     * ao from that list and make the callback without holding the
+     * lock.
+     *
+     * Corresponding restriction: An ao may be added only to one
+     * egc->aos_for_callback, once; rc and how must already have been
+     * set and may not be subsequently modified.  (This restriction is
+     * easily and obviously met since the ao is queued for callback
+     * only in libxl__ao_complete.)
+     */
     uint32_t magic;
     unsigned constructing:1, in_initiator:1, complete:1, notified:1;
     int rc;
@@ -1365,6 +1380,12 @@ libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
  * should in any case not find it necessary to call egc-creators from
  * within libxl.
  *
+ * The callbacks must all take place with the ctx unlocked because
+ * the application is entitled to reenter libxl from them.  This
+ * would be bad not because the lock is not recursive (it is) but
+ * because the application might make blocking libxl calls which
+ * would hold the lock unreasonably long.
+ *
  * For the same reason libxl__egc_cleanup (or EGC_FREE) must be called
  * with the ctx *unlocked*.  So the right pattern has the EGC_...
  * macro calls on the outside of the CTX_... ones.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6h-0006Zr-As; Fri, 11 May 2012 17:58:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wq-Rh
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:57397] by server-3.bemta-4.messagelabs.com id
	1C/F4-05853-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25727 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435469"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008I5-9l; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fr-7Z;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:57 +0100
Message-ID: <1336759092-2432-13-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 12/27] libxl: make libxl_create_logfile
	const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_utils.c |    2 +-
 tools/libxl/libxl_utils.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 19b4615..f0d94c6 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -193,7 +193,7 @@ static int logrename(libxl__gc *gc, const char *old, const char *new)
     return 0;
 }
 
-int libxl_create_logfile(libxl_ctx *ctx, char *name, char **full_name)
+int libxl_create_logfile(libxl_ctx *ctx, const char *name, char **full_name)
 {
     GC_INIT(ctx);
     struct stat stat_buf;
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
index ca53a8a..2b47622 100644
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -26,7 +26,7 @@ int libxl_name_to_cpupoolid(libxl_ctx *ctx, const char *name, uint32_t *poolid);
 char *libxl_cpupoolid_to_name(libxl_ctx *ctx, uint32_t poolid);
 int libxl_get_stubdom_id(libxl_ctx *ctx, int guest_domid);
 int libxl_is_stubdom(libxl_ctx *ctx, uint32_t domid, uint32_t *target_domid);
-int libxl_create_logfile(libxl_ctx *ctx, char *name, char **full_name);
+int libxl_create_logfile(libxl_ctx *ctx, const char *name, char **full_name);
 int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend);
 
 int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6k-0006da-U5; Fri, 11 May 2012 17:58:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wf-EI
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:16347] by server-3.bemta-5.messagelabs.com id
	7D/4E-25237-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!12
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30232 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435480"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IW-Si; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gR-QB;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:06 +0100
Message-ID: <1336759092-2432-22-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 21/27] libxl: Fix an ao completion bug;
	document locking policy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Document the concurrent access policies for libxl__ao and libxl__egc,
and their corresponding gcs.

Fix a violation of the policy:

If an ao was submitted and a callback requested, and while the
initiating function was still running on the original thread, the ao
is completed on another thread, the completing thread would improperly
concurrently access the ao with the initiating thread.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_event.c    |    7 +++++++
 tools/libxl/libxl_internal.h |   23 ++++++++++++++++++++++-
 2 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 3e784f0..b546471 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -901,6 +901,11 @@ void libxl__event_disaster(libxl__egc *egc, const char *msg, int errnoval,
 
 static void egc_run_callbacks(libxl__egc *egc)
 {
+    /*
+     * The callbacks must happen with the ctx unlocked.
+     * See the comment near #define EGC_GC in libxl_internal.h and
+     * those in the definitions of libxl__egc and libxl__ao.
+     */
     EGC_GC;
     libxl_event *ev, *ev_tmp;
 
@@ -914,9 +919,11 @@ static void egc_run_callbacks(libxl__egc *egc)
                              entry_for_callback, ao_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
         ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
+        CTX_LOCK;
         ao->notified = 1;
         if (!ao->in_initiator)
             libxl__ao__destroy(CTX, ao);
+        CTX_UNLOCK;
     }
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9b4c273..f48cfdc 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -359,7 +359,8 @@ struct libxl__gc {
 };
 
 struct libxl__egc {
-    /* for event-generating functions only */
+    /* For event-generating functions only.
+     * The egc and its gc may be accessed only on the creating thread. */
     struct libxl__gc gc;
     struct libxl__event_list occurred_for_callback;
     LIBXL_TAILQ_HEAD(, libxl__ao) aos_for_callback;
@@ -369,6 +370,20 @@ struct libxl__egc {
 #define LIBXL__AO_MAGIC_DESTROYED    0xA0DEAD00ul
 
 struct libxl__ao {
+    /*
+     * An ao and its gc may be accessed only with the ctx lock held.
+     *
+     * Special exception: If an ao has been added to
+     * egc->aos_for_callback, the thread owning the egc may remove the
+     * ao from that list and make the callback without holding the
+     * lock.
+     *
+     * Corresponding restriction: An ao may be added only to one
+     * egc->aos_for_callback, once; rc and how must already have been
+     * set and may not be subsequently modified.  (This restriction is
+     * easily and obviously met since the ao is queued for callback
+     * only in libxl__ao_complete.)
+     */
     uint32_t magic;
     unsigned constructing:1, in_initiator:1, complete:1, notified:1;
     int rc;
@@ -1365,6 +1380,12 @@ libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
  * should in any case not find it necessary to call egc-creators from
  * within libxl.
  *
+ * The callbacks must all take place with the ctx unlocked because
+ * the application is entitled to reenter libxl from them.  This
+ * would be bad not because the lock is not recursive (it is) but
+ * because the application might make blocking libxl calls which
+ * would hold the lock unreasonably long.
+ *
  * For the same reason libxl__egc_cleanup (or EGC_FREE) must be called
  * with the ctx *unlocked*.  So the right pattern has the EGC_...
  * macro calls on the outside of the CTX_... ones.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6e-0006Wt-KG; Fri, 11 May 2012 17:58:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6c-0006W5-Is
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:18 +0000
Received: from [85.158.139.83:16192] by server-11.bemta-5.messagelabs.com id
	60/8C-12959-9335DAF4; Fri, 11 May 2012 17:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30116 invoked from network); 11 May 2012 17:58:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435460"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008HX-IE; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eA-Fx;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:47 +0100
Message-ID: <1336759092-2432-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 02/27] libxl: support multiple libxl__ev_fds for
	the same fd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We need a slightly more sophisticated data structure to allow this,
where we record the slot not just for each fd but also for each
(fd,eventbit) where eventbit is POLLIN, POLLPRI, POLLOUT.

Document the new relaxed restriction.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v6:
 * Fix typo
---
 tools/libxl/libxl_event.c    |   62 +++++++++++++++++++++++------------------
 tools/libxl/libxl_internal.h |   10 +++++--
 2 files changed, 42 insertions(+), 30 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 5046938..93c1d1f 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -639,10 +639,11 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
 
 
     /*
-     * In order to be able to efficiently find the libxl__ev_fd
-     * for a struct poll during _afterpoll, we maintain a shadow
-     * data structure in CTX->fd_beforepolled: each slot in
-     * the fds array corresponds to a slot in fd_beforepolled.
+     * In order to be able to efficiently find the libxl__ev_fd for a
+     * struct poll during _afterpoll, we maintain a shadow data
+     * structure in CTX->fd_rindices: each fd corresponds to a slot in
+     * fd_rindices, and each element in the rindices is three indices
+     * into the fd array (for POLLIN, POLLPRI and POLLOUT).
      */
 
     if (*nfds_io) {
@@ -663,14 +664,16 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
         });
 
         /* make sure our array is as big as *nfds_io */
-        if (poller->fd_rindex_allocd < maxfd) {
-            assert(maxfd < INT_MAX / sizeof(int) / 2);
-            int *newarray = realloc(poller->fd_rindex, sizeof(int) * maxfd);
-            if (!newarray) { rc = ERROR_NOMEM; goto out; }
-            memset(newarray + poller->fd_rindex_allocd, 0,
-                   sizeof(int) * (maxfd - poller->fd_rindex_allocd));
-            poller->fd_rindex = newarray;
-            poller->fd_rindex_allocd = maxfd;
+        if (poller->fd_rindices_allocd < maxfd) {
+            assert(ARRAY_SIZE_OK(poller->fd_rindices, maxfd));
+            poller->fd_rindices =
+                libxl__realloc(0, poller->fd_rindices,
+                               maxfd * sizeof(*poller->fd_rindices));
+            memset(poller->fd_rindices + poller->fd_rindices_allocd,
+                   0,
+                   (maxfd - poller->fd_rindices_allocd)
+                     * sizeof(*poller->fd_rindices));
+            poller->fd_rindices_allocd = maxfd;
         }
     }
 
@@ -681,8 +684,10 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
             fds[used].fd = req_fd;
             fds[used].events = req_events;
             fds[used].revents = 0;
-            assert(req_fd < poller->fd_rindex_allocd);
-            poller->fd_rindex[req_fd] = used;
+            assert(req_fd < poller->fd_rindices_allocd);
+            if (req_events & POLLIN)  poller->fd_rindices[req_fd][0] = used;
+            if (req_events & POLLPRI) poller->fd_rindices[req_fd][1] = used;
+            if (req_events & POLLOUT) poller->fd_rindices[req_fd][2] = used;
         }
         used++;
     });
@@ -710,7 +715,6 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
             *timeout_upd = our_timeout;
     }
 
- out:
     return rc;
 }
 
@@ -732,24 +736,28 @@ static int afterpoll_check_fd(libxl__poller *poller,
                               int fd, int events)
     /* returns mask of events which were requested and occurred */
 {
-    if (fd >= poller->fd_rindex_allocd)
+    if (fd >= poller->fd_rindices_allocd)
         /* added after we went into poll, have to try again */
         return 0;
 
-    int slot = poller->fd_rindex[fd];
+    int i, revents = 0;
+    for (i=0; i<3; i++) {
+        int slot = poller->fd_rindices[fd][i];
 
-    if (slot >= nfds)
-        /* stale slot entry; again, added afterwards */
-        return 0;
+        if (slot >= nfds)
+            /* stale slot entry; again, added afterwards */
+            continue;
 
-    if (fds[slot].fd != fd)
-        /* again, stale slot entry */
-        return 0;
+        if (fds[slot].fd != fd)
+            /* again, stale slot entry */
+            continue;
 
-    assert(!(fds[slot].revents & POLLNVAL));
+        assert(!(fds[slot].revents & POLLNVAL));
+        revents |= fds[slot].revents;
+    }
 
-    int revents = fds[slot].revents & (events | POLLERR | POLLHUP);
     /* we mask in case requested events have changed */
+    revents &= (events | POLLERR | POLLHUP);
 
     return revents;
 }
@@ -1013,7 +1021,7 @@ int libxl__poller_init(libxl_ctx *ctx, libxl__poller *p)
 {
     int r, rc;
     p->fd_polls = 0;
-    p->fd_rindex = 0;
+    p->fd_rindices = 0;
 
     r = pipe(p->wakeup_pipe);
     if (r) {
@@ -1040,7 +1048,7 @@ void libxl__poller_dispose(libxl__poller *p)
     if (p->wakeup_pipe[1] > 0) close(p->wakeup_pipe[1]);
     if (p->wakeup_pipe[0] > 0) close(p->wakeup_pipe[0]);
     free(p->fd_polls);
-    free(p->fd_rindex);
+    free(p->fd_rindices);
 }
 
 libxl__poller *libxl__poller_get(libxl_ctx *ctx)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 74e640f..01c9ba9 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -132,7 +132,11 @@ typedef void libxl__ev_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
    * events; otherwise revents contains only bits in events.  Contrary
    * to the documentation for poll(2), POLLERR and POLLHUP can occur
    * even if only POLLIN was set in events.  (POLLNVAL is a fatal
-   * error and will cause libxl event machinery to fail an assertion.) */
+   * error and will cause libxl event machinery to fail an assertion.)
+   *
+   * It is not permitted to listen for the same or overlapping events
+   * on the same fd using multiple different libxl__ev_fd's.
+   */
 struct libxl__ev_fd {
     /* caller should include this in their own struct */
     /* read-only for caller, who may read only when registered: */
@@ -248,8 +252,8 @@ struct libxl__poller {
     struct pollfd *fd_polls;
     int fd_polls_allocd;
 
-    int fd_rindex_allocd;
-    int *fd_rindex; /* see libxl_osevent_beforepoll */
+    int fd_rindices_allocd;
+    int (*fd_rindices)[3]; /* see libxl_osevent_beforepoll */
 
     int wakeup_pipe[2]; /* 0 means no fd allocated */
 };
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6e-0006Wt-KG; Fri, 11 May 2012 17:58:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6c-0006W5-Is
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:18 +0000
Received: from [85.158.139.83:16192] by server-11.bemta-5.messagelabs.com id
	60/8C-12959-9335DAF4; Fri, 11 May 2012 17:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30116 invoked from network); 11 May 2012 17:58:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435460"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008HX-IE; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eA-Fx;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:47 +0100
Message-ID: <1336759092-2432-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 02/27] libxl: support multiple libxl__ev_fds for
	the same fd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We need a slightly more sophisticated data structure to allow this,
where we record the slot not just for each fd but also for each
(fd,eventbit) where eventbit is POLLIN, POLLPRI, POLLOUT.

Document the new relaxed restriction.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v6:
 * Fix typo
---
 tools/libxl/libxl_event.c    |   62 +++++++++++++++++++++++------------------
 tools/libxl/libxl_internal.h |   10 +++++--
 2 files changed, 42 insertions(+), 30 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 5046938..93c1d1f 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -639,10 +639,11 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
 
 
     /*
-     * In order to be able to efficiently find the libxl__ev_fd
-     * for a struct poll during _afterpoll, we maintain a shadow
-     * data structure in CTX->fd_beforepolled: each slot in
-     * the fds array corresponds to a slot in fd_beforepolled.
+     * In order to be able to efficiently find the libxl__ev_fd for a
+     * struct poll during _afterpoll, we maintain a shadow data
+     * structure in CTX->fd_rindices: each fd corresponds to a slot in
+     * fd_rindices, and each element in the rindices is three indices
+     * into the fd array (for POLLIN, POLLPRI and POLLOUT).
      */
 
     if (*nfds_io) {
@@ -663,14 +664,16 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
         });
 
         /* make sure our array is as big as *nfds_io */
-        if (poller->fd_rindex_allocd < maxfd) {
-            assert(maxfd < INT_MAX / sizeof(int) / 2);
-            int *newarray = realloc(poller->fd_rindex, sizeof(int) * maxfd);
-            if (!newarray) { rc = ERROR_NOMEM; goto out; }
-            memset(newarray + poller->fd_rindex_allocd, 0,
-                   sizeof(int) * (maxfd - poller->fd_rindex_allocd));
-            poller->fd_rindex = newarray;
-            poller->fd_rindex_allocd = maxfd;
+        if (poller->fd_rindices_allocd < maxfd) {
+            assert(ARRAY_SIZE_OK(poller->fd_rindices, maxfd));
+            poller->fd_rindices =
+                libxl__realloc(0, poller->fd_rindices,
+                               maxfd * sizeof(*poller->fd_rindices));
+            memset(poller->fd_rindices + poller->fd_rindices_allocd,
+                   0,
+                   (maxfd - poller->fd_rindices_allocd)
+                     * sizeof(*poller->fd_rindices));
+            poller->fd_rindices_allocd = maxfd;
         }
     }
 
@@ -681,8 +684,10 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
             fds[used].fd = req_fd;
             fds[used].events = req_events;
             fds[used].revents = 0;
-            assert(req_fd < poller->fd_rindex_allocd);
-            poller->fd_rindex[req_fd] = used;
+            assert(req_fd < poller->fd_rindices_allocd);
+            if (req_events & POLLIN)  poller->fd_rindices[req_fd][0] = used;
+            if (req_events & POLLPRI) poller->fd_rindices[req_fd][1] = used;
+            if (req_events & POLLOUT) poller->fd_rindices[req_fd][2] = used;
         }
         used++;
     });
@@ -710,7 +715,6 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
             *timeout_upd = our_timeout;
     }
 
- out:
     return rc;
 }
 
@@ -732,24 +736,28 @@ static int afterpoll_check_fd(libxl__poller *poller,
                               int fd, int events)
     /* returns mask of events which were requested and occurred */
 {
-    if (fd >= poller->fd_rindex_allocd)
+    if (fd >= poller->fd_rindices_allocd)
         /* added after we went into poll, have to try again */
         return 0;
 
-    int slot = poller->fd_rindex[fd];
+    int i, revents = 0;
+    for (i=0; i<3; i++) {
+        int slot = poller->fd_rindices[fd][i];
 
-    if (slot >= nfds)
-        /* stale slot entry; again, added afterwards */
-        return 0;
+        if (slot >= nfds)
+            /* stale slot entry; again, added afterwards */
+            continue;
 
-    if (fds[slot].fd != fd)
-        /* again, stale slot entry */
-        return 0;
+        if (fds[slot].fd != fd)
+            /* again, stale slot entry */
+            continue;
 
-    assert(!(fds[slot].revents & POLLNVAL));
+        assert(!(fds[slot].revents & POLLNVAL));
+        revents |= fds[slot].revents;
+    }
 
-    int revents = fds[slot].revents & (events | POLLERR | POLLHUP);
     /* we mask in case requested events have changed */
+    revents &= (events | POLLERR | POLLHUP);
 
     return revents;
 }
@@ -1013,7 +1021,7 @@ int libxl__poller_init(libxl_ctx *ctx, libxl__poller *p)
 {
     int r, rc;
     p->fd_polls = 0;
-    p->fd_rindex = 0;
+    p->fd_rindices = 0;
 
     r = pipe(p->wakeup_pipe);
     if (r) {
@@ -1040,7 +1048,7 @@ void libxl__poller_dispose(libxl__poller *p)
     if (p->wakeup_pipe[1] > 0) close(p->wakeup_pipe[1]);
     if (p->wakeup_pipe[0] > 0) close(p->wakeup_pipe[0]);
     free(p->fd_polls);
-    free(p->fd_rindex);
+    free(p->fd_rindices);
 }
 
 libxl__poller *libxl__poller_get(libxl_ctx *ctx)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 74e640f..01c9ba9 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -132,7 +132,11 @@ typedef void libxl__ev_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
    * events; otherwise revents contains only bits in events.  Contrary
    * to the documentation for poll(2), POLLERR and POLLHUP can occur
    * even if only POLLIN was set in events.  (POLLNVAL is a fatal
-   * error and will cause libxl event machinery to fail an assertion.) */
+   * error and will cause libxl event machinery to fail an assertion.)
+   *
+   * It is not permitted to listen for the same or overlapping events
+   * on the same fd using multiple different libxl__ev_fd's.
+   */
 struct libxl__ev_fd {
     /* caller should include this in their own struct */
     /* read-only for caller, who may read only when registered: */
@@ -248,8 +252,8 @@ struct libxl__poller {
     struct pollfd *fd_polls;
     int fd_polls_allocd;
 
-    int fd_rindex_allocd;
-    int *fd_rindex; /* see libxl_osevent_beforepoll */
+    int fd_rindices_allocd;
+    int (*fd_rindices)[3]; /* see libxl_osevent_beforepoll */
 
     int wakeup_pipe[2]; /* 0 means no fd allocated */
 };
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6i-0006aI-37; Fri, 11 May 2012 17:58:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wl-Sd
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:16291] by server-10.bemta-5.messagelabs.com id
	18/AF-08260-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!8
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30188 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435470"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IB-Dj; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fz-BW;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:59 +0100
Message-ID: <1336759092-2432-15-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 14/27] libxl: Allow AO_GC and EGC_GC even if not
	used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Mark the gc produced by AO_GC and EGC_GC with the gcc feature
__attribute__((unused)).  This allows the use of EGC_INIT and
STATE_AO_GC by functions which do actually use the gc.

This is convenient because those functions might want to use the ao or
egc, rather than the gc; and also because it means that functions
which morally ought to be fishing any gc they use out of an egc or
state structure can be written do so regardless of whether the gc is
actually used right then.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index c5ec586..21fe99c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1287,7 +1287,7 @@ libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 /* useful for all functions which take an egc: */
 
 #define EGC_GC                                  \
-    libxl__gc *const gc = &egc->gc
+    libxl__gc *const gc __attribute__((unused)) = &egc->gc
 
 /* egc initialisation and destruction: */
 
@@ -1390,7 +1390,7 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
     })
 
 #define AO_GC                                   \
-    libxl__gc *const gc = &ao->gc
+    libxl__gc *const gc __attribute__((unused)) = &ao->gc
 
 #define STATE_AO_GC(op_ao)                      \
     libxl__ao *const ao = (op_ao);              \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6o-0006iB-0Q; Fri, 11 May 2012 17:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006XV-EV
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:57430] by server-1.bemta-4.messagelabs.com id
	A5/B9-20925-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32056 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435479"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IQ-OL; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gJ-LR;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:04 +0100
Message-ID: <1336759092-2432-20-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 19/27] libxl: set guest_domid even if
	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Roger Pau Monne <roger.pau@citrix.com>

This is needed in order to perform the domain destruction if
libxl__domain_make fails.

Also move doc comment about error behaviour of libxl__domain_make from
implementation to declaration.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_create.c   |    3 +--
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 9ce107a..5075537 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -396,8 +396,6 @@ out:
 
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
- /* on entry, libxl_domid_valid_guest(domid) must be false;
-  * on exit (even error exit), domid may be valid and refer to a domain */
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int flags, ret, rc;
@@ -600,6 +598,7 @@ static void initiate_domain_create(libxl__egc *egc,
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
+        dcs->guest_domid = domid;
         ret = ERROR_FAIL;
         goto error_out;
     }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index dc84881..b1ce4d6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1078,9 +1078,13 @@ _hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
                const char *arg0, char **args); // logs errors, never returns
 
 /* from xl_create */
+
+ /* on entry, libxl_domid_valid_guest(domid) must be false;
+  * on exit (even error exit), domid may be valid and refer to a domain */
 _hidden int libxl__domain_make(libxl__gc *gc,
                                libxl_domain_create_info *info,
                                uint32_t *domid);
+
 _hidden int libxl__domain_build(libxl__gc *gc,
                                 libxl_domain_build_info *info,
                                 uint32_t domid,
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6m-0006fc-Hz; Fri, 11 May 2012 17:58:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006X7-T9
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42723] by server-2.bemta-4.messagelabs.com id
	A9/02-17550-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25794 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IY-Uo; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gV-SQ;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:07 +0100
Message-ID: <1336759092-2432-23-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 22/27] libxl: provide progress reporting for
	long-running operations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This will be used for reporting, during domain creation, that the
console is ready.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v7:
 * If aop->how.callback, actually add the aop to the for_callback list (!)
 * Document the threadsafety of aop's, and make appropriate cross-references.
 * Allocate the actual aop from its thread's egc; do not free it.
 * Remove pointless code motion of libxl__ao_create.
 * Minor formatting fixes.
---
 tools/libxl/libxl.h          |   45 ++++++++++++++++++++++++++
 tools/libxl/libxl_event.c    |   72 ++++++++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   35 ++++++++++++++++++++
 3 files changed, 149 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index e19d947..ba0f4de 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -435,6 +435,51 @@ typedef struct {
     } u;
 } libxl_asyncop_how;
 
+/*
+ * Some more complex asynchronous operations can report intermediate
+ * progress.  How this is to be reported is controlled, for each
+ * function, by a parameter
+ *    libxl_asyncprogress_how *aop_FOO_how;
+ * for each kind of progress FOO supported by that function.  Each
+ * such kind of progress is associated with an event type.
+ *
+ * The function description will document whether, when, and how
+ * many times, the intermediate progress will be reported, and
+ * what the corresponding event type(s) are.
+ *
+ * If aop_FOO_how==NULL, intermediate progress reports are discarded.
+ *
+ * If aop_FOO_how->callback==NULL, intermediate progress reports
+ * generate libxl events which can be obtained from libxl_event_wait
+ * or libxl_event_check.
+ *
+ * If aop_FOO_how->callback!=NULL, libxl will report intermediate
+ * progress by calling callback(ctx, &event, for_callback).
+ *
+ * The rules for these events are otherwise the same as those for
+ * ordinary events.  The reentrancy and threading rules for the
+ * callback are the same as those for ao completion callbacks.
+ *
+ * Note that the callback, if provided, is responsible for freeing
+ * the event.
+ *
+ * If callbacks are requested, they will be made, and returned, before
+ * the long-running libxl operation is considered finished (so if the
+ * long-running libxl operation was invoked with ao_how==NULL then any
+ * callbacks will occur strictly before the long-running operation
+ * returns).  However, the callbacks may occur on any thread.
+ *
+ * In general, otherwise, no promises are made about the relative
+ * order of callbacks in a multithreaded program.  In particular
+ * different callbacks relating to the same long-running operation may
+ * be delivered out of order.
+ */
+
+typedef struct {
+    void (*callback)(libxl_ctx *ctx, libxl_event*, void *for_callback);
+    libxl_ev_user for_event; /* always used */
+    void *for_callback; /* passed to callback */
+} libxl_asyncprogress_how;
 
 #define LIBXL_VERSION 0
 
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index b546471..460ef66 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -902,18 +902,29 @@ void libxl__event_disaster(libxl__egc *egc, const char *msg, int errnoval,
 static void egc_run_callbacks(libxl__egc *egc)
 {
     /*
-     * The callbacks must happen with the ctx unlocked.
-     * See the comment near #define EGC_GC in libxl_internal.h and
-     * those in the definitions of libxl__egc and libxl__ao.
+     * The callbacks must happen with the ctx unlocked.  See the
+     * comment near #define EGC_GC in libxl_internal.h and those in
+     * the definitions of libxl__egc, libxl__ao and libxl__aop.
      */
     EGC_GC;
     libxl_event *ev, *ev_tmp;
+    libxl__aop_occurred *aop, *aop_tmp;
 
     LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
         CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
     }
 
+    LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
+        LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
+        aop->how->callback(CTX, aop->ev, aop->how->for_callback);
+
+        CTX_LOCK;
+        aop->ao->progress_reports_outstanding--;
+        libxl__ao_complete_check_progress_reports(egc, aop->ao);
+        CTX_UNLOCK;
+    }
+
     libxl__ao *ao, *ao_tmp;
     LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
                              entry_for_callback, ao_tmp) {
@@ -1296,6 +1307,7 @@ void libxl__ao_abort(libxl__ao *ao)
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(ao->in_initiator);
     assert(!ao->complete);
+    assert(!ao->progress_reports_outstanding);
     libxl__ao__destroy(CTX, ao);
 }
 
@@ -1306,6 +1318,24 @@ void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
     ao->complete = 1;
     ao->rc = rc;
 
+    libxl__ao_complete_check_progress_reports(egc, ao);
+}
+
+void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
+{
+    /*
+     * We don't consider an ao complete if it has any outstanding
+     * callbacks.  These callbacks might be outstanding on other
+     * threads, queued up in the other threads' egc's.  Those threads
+     * will, after making the callback, take out the lock again,
+     * decrement progress_reports_outstanding, and call us again.
+     */
+
+    assert(ao->progress_reports_outstanding >= 0);
+
+    if (!ao->complete || ao->progress_reports_outstanding)
+        return;
+
     if (ao->poller) {
         assert(ao->in_initiator);
         if (!ao->constructing)
@@ -1355,6 +1385,7 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
     return NULL;
 }
 
+
 int libxl__ao_inprogress(libxl__ao *ao)
 {
     AO_GC;
@@ -1412,6 +1443,41 @@ int libxl__ao_inprogress(libxl__ao *ao)
 }
 
 
+/* progress reporting */
+
+/* The application indicates a desire to ignore events by passing NULL
+ * for how.  But we want to copy *how.  So we have this dummy function
+ * whose address is stored in callback if the app passed how==NULL. */
+static void dummy_asyncprogress_callback_ignore
+  (libxl_ctx *ctx, libxl_event *ev, void *for_callback) { }
+
+void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
+                               const libxl_asyncprogress_how *from_app) {
+    if (from_app)
+        *in_state = *from_app;
+    else
+        in_state->callback = dummy_asyncprogress_callback_ignore;
+}
+
+void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
+        const libxl_asyncprogress_how *how, libxl_event *ev)
+{
+    ev->for_user = how->for_event;
+    if (how->callback == dummy_asyncprogress_callback_ignore) {
+        /* ignore */
+    } else if (how->callback) {
+        libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
+        ao->progress_reports_outstanding++;
+        aop->ao = ao;
+        aop->ev = ev;
+        aop->how = how;
+        LIBXL_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
+    } else {
+        libxl__event_occurred(egc, ev);
+    }
+}
+
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f48cfdc..d5cf69a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -119,6 +119,7 @@ _hidden void libxl__log(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
 typedef struct libxl__gc libxl__gc;
 typedef struct libxl__egc libxl__egc;
 typedef struct libxl__ao libxl__ao;
+typedef struct libxl__aop_occurred libxl__aop_occurred;
 
 _hidden void libxl__alloc_failed(libxl_ctx *, const char *func,
                          size_t nmemb, size_t size) __attribute__((noreturn));
@@ -364,6 +365,21 @@ struct libxl__egc {
     struct libxl__gc gc;
     struct libxl__event_list occurred_for_callback;
     LIBXL_TAILQ_HEAD(, libxl__ao) aos_for_callback;
+    LIBXL_TAILQ_HEAD(, libxl__aop_occurred) aops_for_callback;
+};
+
+struct libxl__aop_occurred {
+    /*
+     * An aop belongs to, and may be accessed only on, the thread
+     * which created it.  It normally lives in that thread's egc.
+     *
+     * While an aop exists, it corresponds to one refcount in
+     * ao->progress_reports_outstanding, preventing ao destruction.
+     */
+    LIBXL_TAILQ_ENTRY(libxl__aop_occurred) entry;
+    libxl__ao *ao;
+    libxl_event *ev;
+    const libxl_asyncprogress_how *how;
 };
 
 #define LIBXL__AO_MAGIC              0xA0FACE00ul
@@ -386,6 +402,7 @@ struct libxl__ao {
      */
     uint32_t magic;
     unsigned constructing:1, in_initiator:1, complete:1, notified:1;
+    int progress_reports_outstanding;
     int rc;
     libxl__gc gc;
     libxl_asyncop_how how;
@@ -1402,6 +1419,7 @@ libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
         LIBXL_INIT_GC((egc).gc,ctx);                    \
         LIBXL_TAILQ_INIT(&(egc).occurred_for_callback); \
         LIBXL_TAILQ_INIT(&(egc).aos_for_callback);      \
+        LIBXL_TAILQ_INIT(&(egc).aops_for_callback);     \
     } while(0)
 
 _hidden void libxl__egc_cleanup(libxl__egc *egc);
@@ -1448,6 +1466,9 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
  *        pointer to the internal event generation request routines
  *        libxl__evgen_FOO, so that at some point a CALLBACK will be
  *        made when the operation is complete.
+ *      - if the operation provides progress reports, the aop_how(s)
+ *        must be copied into the per-operation structure using
+ *        libxl__ao_progress_gethow.
  *
  * - If initiation is successful, the initiating function needs
  *   to run libxl__ao_inprogress right before unlocking and
@@ -1457,6 +1478,10 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
  *   call libxl__ao_abort before unlocking and returning whatever
  *   error code is appropriate (AO_ABORT macro).
  *
+ * - If the operation supports progress reports, it may generate
+ *   suitable events with NEW_EVENT and report them with
+ *   libxl__ao_progress_report (with the ctx locked).
+ *
  * - Later, some callback function, whose callback has been requested
  *   directly or indirectly, should call libxl__ao_complete (with the
  *   ctx locked, as it will generally already be in any event callback
@@ -1512,8 +1537,18 @@ _hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
 
+/* Can be called at any time.  Use is essential for any aop user. */
+_hidden void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
+                                       const libxl_asyncprogress_how *from_app);
+
+/* Must be called with the ctx locked.  Will fill in ev->for_user,
+ * so caller need not do that. */
+_hidden void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
+   const libxl_asyncprogress_how *how, libxl_event *ev /* consumed */);
+
 /* For use by ao machinery ONLY */
 _hidden void libxl__ao__destroy(libxl_ctx*, libxl__ao *ao);
+_hidden void libxl__ao_complete_check_progress_reports(libxl__egc*, libxl__ao*);
 
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6q-0006mI-2d; Fri, 11 May 2012 17:58:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006XV-RD
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:23 +0000
Received: from [85.158.143.35:42729] by server-1.bemta-4.messagelabs.com id
	26/B9-20925-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!8
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25806 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435485"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Im-7X; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000gs-6p;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:12 +0100
Message-ID: <1336759092-2432-28-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 27/27] libxl: abort bootloader invocation when
	domain dies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Cancel the bootloader (specifically, by sending it a signal) if the
domain is seen to disappear from xenstore.

We use a new utility event source libxl__domaindeathcheck which
provides a convenient wrapper for the xenstore watch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v8:
 * Fixed the commit message summary line.

Changes since v7:
 * Add a comment explaining why we use a watch on the domain's
   xenstore path rather than @releaseDomain.
 * Fix typo in error message.
---
 tools/libxl/libxl_bootloader.c |   43 ++++++++++++++++++++++++++++--------
 tools/libxl/libxl_event.c      |   47 ++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |   29 +++++++++++++++++++++++-
 3 files changed, 108 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 8436c07..fb1302b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -31,6 +31,7 @@ static void bootloader_keystrokes_copyfail(libxl__egc *egc,
        libxl__datacopier_state *dc, int onwrite, int errnoval);
 static void bootloader_display_copyfail(libxl__egc *egc,
        libxl__datacopier_state *dc, int onwrite, int errnoval);
+static void bootloader_domaindeath(libxl__egc*, libxl__domaindeathcheck *dc);
 static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
                                 pid_t pid, int status);
 
@@ -213,6 +214,7 @@ void libxl__bootloader_init(libxl__bootloader_state *bl)
     bl->ptys[0].master = bl->ptys[0].slave = 0;
     bl->ptys[1].master = bl->ptys[1].slave = 0;
     libxl__ev_child_init(&bl->child);
+    libxl__domaindeathcheck_init(&bl->deathcheck);
     bl->keystrokes.ao = bl->ao;  libxl__datacopier_init(&bl->keystrokes);
     bl->display.ao = bl->ao;     libxl__datacopier_init(&bl->display);
 }
@@ -230,6 +232,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
         free(bl->diskpath);
         bl->diskpath = 0;
     }
+    libxl__domaindeathcheck_stop(gc,&bl->deathcheck);
     libxl__datacopier_kill(&bl->keystrokes);
     libxl__datacopier_kill(&bl->display);
     for (i=0; i<2; i++) {
@@ -256,6 +259,23 @@ static void bootloader_callback(libxl__egc *egc, libxl__bootloader_state *bl,
     bl->callback(egc, bl, rc);
 }
 
+/* might be called at any time, provided it's init'd */
+static void bootloader_abort(libxl__egc *egc,
+                             libxl__bootloader_state *bl, int rc)
+{
+    STATE_AO_GC(bl->ao);
+    int r;
+
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+    if (libxl__ev_child_inuse(&bl->child)) {
+        r = kill(bl->child.pid, SIGTERM);
+        if (r) LOGE(WARN, "after failure, failed to kill bootloader [%lu]",
+                    (unsigned long)bl->child.pid);
+    }
+    bl->rc = rc;
+}
+
 /*----- main flow of control -----*/
 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
@@ -377,6 +397,12 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         goto out;
     }
 
+    bl->deathcheck.what = "stopping bootloader";
+    bl->deathcheck.domid = bl->domid;
+    bl->deathcheck.callback = bootloader_domaindeath;
+    rc = libxl__domaindeathcheck_start(gc, &bl->deathcheck);
+    if (rc) goto out;
+
     if (bl->console_available)
         bl->console_available(egc, bl);
 
@@ -454,18 +480,9 @@ static void bootloader_copyfail(libxl__egc *egc, const char *which,
        libxl__bootloader_state *bl, int onwrite, int errnoval)
 {
     STATE_AO_GC(bl->ao);
-    int r;
-
     if (!onwrite && !errnoval)
         LOG(ERROR, "unexpected eof copying %s", which);
-    libxl__datacopier_kill(&bl->keystrokes);
-    libxl__datacopier_kill(&bl->display);
-    if (libxl__ev_child_inuse(&bl->child)) {
-        r = kill(bl->child.pid, SIGTERM);
-        if (r) LOGE(WARN, "after failure, failed to kill bootloader [%lu]",
-                    (unsigned long)bl->child.pid);
-    }
-    bl->rc = ERROR_FAIL;
+    bootloader_abort(egc, bl, ERROR_FAIL);
 }
 static void bootloader_keystrokes_copyfail(libxl__egc *egc,
        libxl__datacopier_state *dc, int onwrite, int errnoval)
@@ -480,6 +497,12 @@ static void bootloader_display_copyfail(libxl__egc *egc,
     bootloader_copyfail(egc, "bootloader output", bl, onwrite, errnoval);
 }
 
+static void bootloader_domaindeath(libxl__egc *egc, libxl__domaindeathcheck *dc)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(dc, *bl, deathcheck);
+    bootloader_abort(egc, bl, ERROR_FAIL);
+}
+
 static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
                                 pid_t pid, int status)
 {
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 63719b2..03d0498 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -589,6 +589,53 @@ int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
 }
 
 /*
+ * domain death/destruction
+ */
+
+/*
+ * We use a xenstore watch on the domain's path, rather than using an
+ * @releaseDomain watch and asking the hypervisor.  This is simpler
+ * because turning @releaseDomain into domain-specific information is
+ * complicated.
+ *
+ * It is also sufficient for our callers, which are generally trying
+ * to do cleanup of their own execution state on domain death, for the
+ * following reason: if the domain is destroyed then either (a) the
+ * entries in xenstore have already been deleted, in which case the
+ * test here works or (b) they have not in which case something has
+ * gone very badly wrong and we are going to leak those xenstore
+ * entries, in which case trying to avoid leaking other stuff is
+ * futile.
+ */
+
+static void domaindeathcheck_callback(libxl__egc *egc, libxl__ev_xswatch *w,
+                            const char *watch_path, const char *event_path)
+{
+    libxl__domaindeathcheck *dc = CONTAINER_OF(w, *dc, watch);
+    EGC_GC;
+    const char *p = libxl__xs_read(gc, XBT_NULL, watch_path);
+    if (p) return;
+
+    if (errno!=ENOENT) {
+        LIBXL__EVENT_DISASTER(egc,"failed to read xenstore"
+                              " for domain detach check", errno, 0);
+        return;
+    }
+
+    LOG(ERROR,"%s: domain %"PRIu32" removed (%s no longer in xenstore)",
+        dc->what, dc->domid, watch_path);
+    dc->callback(egc, dc);
+}
+
+int libxl__domaindeathcheck_start(libxl__gc *gc,
+                                  libxl__domaindeathcheck *dc)
+{
+    const char *path = GCSPRINTF("/local/domain/%"PRIu32, dc->domid);
+    return libxl__ev_xswatch_register(gc, &dc->watch,
+                                      domaindeathcheck_callback, path);
+}
+
+/*
  * osevent poll
  */
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 83fabea..f71e76a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -866,6 +866,33 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
                                     const char *state_path,
                                     int state, int milliseconds);
 
+/*
+ * libxl__ev_domaindeathcheck_register - arranges to call back (once)
+ * if the domain is destroyed.  If the domain dies, we log a message
+ * of the form "<what>: <explanation of the situation, including the domid>".
+ */
+
+typedef struct libxl__domaindeathcheck libxl__domaindeathcheck;
+typedef void libxl___domaindeathcheck_callback(libxl__egc *egc,
+                                         libxl__domaindeathcheck*);
+
+struct libxl__domaindeathcheck {
+    /* must be filled in by caller, and remain valid: */
+    const char *what;
+    uint32_t domid;
+    libxl___domaindeathcheck_callback *callback;
+    /* private */
+    libxl__ev_xswatch watch;
+};
+
+_hidden int libxl__domaindeathcheck_start(libxl__gc *gc,
+                                          libxl__domaindeathcheck *dc);
+
+static inline void libxl__domaindeathcheck_init
+ (libxl__domaindeathcheck *dc) { libxl__ev_xswatch_init(&dc->watch); }
+static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
+  libxl__domaindeathcheck *dc) { libxl__ev_xswatch_deregister(gc,&dc->watch); }
+
 
 /*
  * libxl__try_phy_backend - Check if there's support for the passed
@@ -1738,6 +1765,7 @@ struct libxl__bootloader_state {
     libxl__openpty_state openpty;
     libxl__openpty_result ptys[2];  /* [0] is for bootloader */
     libxl__ev_child child;
+    libxl__domaindeathcheck deathcheck;
     int nargs, argsspace;
     const char **args;
     libxl__datacopier_state keystrokes, display;
@@ -1750,7 +1778,6 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
-
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6i-0006aI-37; Fri, 11 May 2012 17:58:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wl-Sd
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:16291] by server-10.bemta-5.messagelabs.com id
	18/AF-08260-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!8
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30188 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435470"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IB-Dj; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fz-BW;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:59 +0100
Message-ID: <1336759092-2432-15-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 14/27] libxl: Allow AO_GC and EGC_GC even if not
	used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Mark the gc produced by AO_GC and EGC_GC with the gcc feature
__attribute__((unused)).  This allows the use of EGC_INIT and
STATE_AO_GC by functions which do actually use the gc.

This is convenient because those functions might want to use the ao or
egc, rather than the gc; and also because it means that functions
which morally ought to be fishing any gc they use out of an egc or
state structure can be written do so regardless of whether the gc is
actually used right then.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index c5ec586..21fe99c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1287,7 +1287,7 @@ libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 /* useful for all functions which take an egc: */
 
 #define EGC_GC                                  \
-    libxl__gc *const gc = &egc->gc
+    libxl__gc *const gc __attribute__((unused)) = &egc->gc
 
 /* egc initialisation and destruction: */
 
@@ -1390,7 +1390,7 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
     })
 
 #define AO_GC                                   \
-    libxl__gc *const gc = &ao->gc
+    libxl__gc *const gc __attribute__((unused)) = &ao->gc
 
 #define STATE_AO_GC(op_ao)                      \
     libxl__ao *const ao = (op_ao);              \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6o-0006iB-0Q; Fri, 11 May 2012 17:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006XV-EV
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:57430] by server-1.bemta-4.messagelabs.com id
	A5/B9-20925-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32056 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435479"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IQ-OL; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gJ-LR;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:04 +0100
Message-ID: <1336759092-2432-20-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 19/27] libxl: set guest_domid even if
	libxl__domain_make fails
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Roger Pau Monne <roger.pau@citrix.com>

This is needed in order to perform the domain destruction if
libxl__domain_make fails.

Also move doc comment about error behaviour of libxl__domain_make from
implementation to declaration.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_create.c   |    3 +--
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 9ce107a..5075537 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -396,8 +396,6 @@ out:
 
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
- /* on entry, libxl_domid_valid_guest(domid) must be false;
-  * on exit (even error exit), domid may be valid and refer to a domain */
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int flags, ret, rc;
@@ -600,6 +598,7 @@ static void initiate_domain_create(libxl__egc *egc,
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
+        dcs->guest_domid = domid;
         ret = ERROR_FAIL;
         goto error_out;
     }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index dc84881..b1ce4d6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1078,9 +1078,13 @@ _hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
                const char *arg0, char **args); // logs errors, never returns
 
 /* from xl_create */
+
+ /* on entry, libxl_domid_valid_guest(domid) must be false;
+  * on exit (even error exit), domid may be valid and refer to a domain */
 _hidden int libxl__domain_make(libxl__gc *gc,
                                libxl_domain_create_info *info,
                                uint32_t *domid);
+
 _hidden int libxl__domain_build(libxl__gc *gc,
                                 libxl_domain_build_info *info,
                                 uint32_t domid,
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6l-0006eM-LC; Fri, 11 May 2012 17:58:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006XP-Jx
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:4152] by server-6.bemta-5.messagelabs.com id
	E7/1C-13222-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!11
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30221 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435477"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IV-R7; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gN-O8;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:05 +0100
Message-ID: <1336759092-2432-21-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 20/27] libxl: make libxl_create run bootloader
	via callback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change initiate_domain_create to properly use libxl__bootloader_run
rather than improperly calling libxl_run_bootloader with NULL ao_how.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v7:
 * constify convenience aliases.

Changes since v6:
 * Bugfixes from testing.
---
 tools/libxl/libxl_create.c   |   53 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |    1 +
 2 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 5075537..63cb430 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -569,6 +569,9 @@ static int store_libxl_entry(libxl__gc *gc, uint32_t domid,
 static void domcreate_devmodel_started(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int rc);
+static void domcreate_bootloader_done(libxl__egc *egc,
+                                      libxl__bootloader_state *bl,
+                                      int rc);
 
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
@@ -589,6 +592,7 @@ static void initiate_domain_create(libxl__egc *egc,
     const int restore_fd = dcs->restore_fd;
     const libxl_console_ready cb = dcs->console_cb;
     void *const priv = dcs->console_cb_priv;
+    memset(&dcs->build_state, 0, sizeof(dcs->build_state));
 
     domid = 0;
 
@@ -619,21 +623,43 @@ static void initiate_domain_create(libxl__egc *egc,
         if (ret) goto error_out;
     }
 
+    dcs->bl.ao = ao;
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
     if (restore_fd < 0 && bootdisk) {
-        ret = libxl_run_bootloader(ctx, &d_config->b_info, bootdisk, domid,
-                                   0 /* fixme-ao */);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "failed to run bootloader: %d", ret);
-            goto error_out;
-        }
+        dcs->bl.callback = domcreate_bootloader_done;
+        dcs->bl.info = &d_config->b_info,
+        dcs->bl.disk = bootdisk;
+        dcs->bl.domid = dcs->guest_domid;
+            
+        libxl__bootloader_run(egc, &dcs->bl);
+    } else {
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
+    return;
 
-    memset(&dcs->build_state, 0, sizeof(dcs->build_state));
-    libxl__domain_build_state *state = &dcs->build_state;
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_bootloader_done(libxl__egc *egc,
+                                      libxl__bootloader_state *bl,
+                                      int ret)
+{
+    libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
+    STATE_AO_GC(bl->ao);
+    int i;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    const int restore_fd = dcs->restore_fd;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    if (ret) goto error_out;
 
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
@@ -784,12 +810,13 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 
     if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
         libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
-        int rc;
-        rc = libxl__e820_alloc(gc, domid, d_config);
-        if (rc)
+        ret = libxl__e820_alloc(gc, domid, d_config);
+        if (ret) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
                       "Failed while collecting E820 with: %d (errno:%d)\n",
-                      rc, errno);
+                      ret, errno);
+            goto error_out;
+        }
     }
     if ( cb && (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM ||
                 (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b1ce4d6..9b4c273 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1689,6 +1689,7 @@ struct libxl__domain_create_state {
     /* private to domain_create */
     int guest_domid;
     libxl__domain_build_state build_state;
+    libxl__bootloader_state bl;
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6i-0006ac-HL; Fri, 11 May 2012 17:58:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wf-Pk
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:4095] by server-3.bemta-5.messagelabs.com id
	AA/4E-25237-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30172 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435468"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008Hz-6Y; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fj-3f;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:55 +0100
Message-ID: <1336759092-2432-11-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 10/27] libxl: provide libxl__openpty_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

General facility for ao operations to open ptys.

This will be used by the bootloader machinery.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_aoutils.c  |  127 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |   36 ++++++++++++
 2 files changed, 163 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
index 4c60ad9..734a5dc 100644
--- a/tools/libxl/libxl_aoutils.c
+++ b/tools/libxl/libxl_aoutils.c
@@ -187,3 +187,130 @@ int libxl__datacopier_start(libxl__datacopier_state *dc)
     return rc;
 }
 
+/*----- openpty -----*/
+
+/* implementation */
+    
+static void openpty_cleanup(libxl__openpty_state *op)
+{
+    int i;
+
+    for (i=0; i<op->count; i++) {
+        libxl__openpty_result *res = &op->results[i];
+        libxl__carefd_close(res->master);  res->master = 0;
+        libxl__carefd_close(res->slave);   res->slave = 0;
+    }
+}
+
+static void openpty_exited(libxl__egc *egc, libxl__ev_child *child,
+                           pid_t pid, int status) {
+    libxl__openpty_state *op = CONTAINER_OF(child, *op, child);
+    STATE_AO_GC(op->ao);
+
+    if (status) {
+        /* Perhaps the child gave us the fds and then exited nonzero.
+         * Well that would be odd but we don't really care. */
+        libxl_report_child_exitstatus(CTX, op->rc ? LIBXL__LOG_ERROR
+                                                  : LIBXL__LOG_WARNING,
+                                      "openpty child", pid, status);
+    }
+    if (op->rc)
+        openpty_cleanup(op);
+    op->callback(egc, op);
+}
+
+int libxl__openptys(libxl__openpty_state *op,
+                    const struct termios *termp,
+                    const struct winsize *winp) {
+    /*
+     * This is completely crazy.  openpty calls grantpt which the spec
+     * says may fork, and may not be called with a SIGCHLD handler.
+     * Now our application may have a SIGCHLD handler so that's bad.
+     * We could perhaps block it but we'd need to block it on all
+     * threads.  This is just Too Hard.
+     *
+     * So instead, we run openpty in a child process.  That child
+     * process then of course has only our own thread and our own
+     * signal handlers.  We pass the fds back.
+     *
+     * Since our only current caller actually wants two ptys, we
+     * support calling openpty multiple times for a single fork.
+     */
+    STATE_AO_GC(op->ao);
+    int count = op->count;
+    int r, i, rc, sockets[2], ptyfds[count][2];
+    libxl__carefd *for_child = 0;
+    pid_t pid = -1;
+
+    for (i=0; i<count; i++) {
+        ptyfds[i][0] = ptyfds[i][1] = -1;
+        libxl__openpty_result *res = &op->results[i];
+        assert(!res->master);
+        assert(!res->slave);
+    }
+    sockets[0] = sockets[1] = -1; /* 0 is for us, 1 for our child */
+
+    libxl__carefd_begin();
+    r = socketpair(AF_UNIX, SOCK_STREAM, 0, sockets);
+    if (r) { sockets[0] = sockets[1] = -1; }
+    for_child = libxl__carefd_opened(CTX, sockets[1]);
+    if (r) { LOGE(ERROR,"socketpair failed"); rc = ERROR_FAIL; goto out; }
+
+    pid = libxl__ev_child_fork(gc, &op->child, openpty_exited);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!pid) {
+        /* child */
+        close(sockets[0]);
+        signal(SIGCHLD, SIG_DFL);
+
+        for (i=0; i<count; i++) {
+            r = openpty(&ptyfds[i][0], &ptyfds[i][1], NULL, termp, winp);
+            if (r) { LOGE(ERROR,"openpty failed"); _exit(-1); }
+        }
+        rc = libxl__sendmsg_fds(gc, sockets[1], "",1,
+                                2*count, &ptyfds[0][0], "ptys");
+        if (rc) { LOGE(ERROR,"sendmsg to parent failed"); _exit(-1); }
+        _exit(0);
+    }
+
+    libxl__carefd_close(for_child);
+    for_child = 0;
+
+    /* this should be fast so do it synchronously */
+
+    libxl__carefd_begin();
+    char buf[1];
+    rc = libxl__recvmsg_fds(gc, sockets[0], buf,1,
+                            2*count, &ptyfds[0][0], "ptys");
+    if (!rc) {
+        for (i=0; i<count; i++) {
+            libxl__openpty_result *res = &op->results[i];
+            res->master = libxl__carefd_record(CTX, ptyfds[i][0]);
+            res->slave =  libxl__carefd_record(CTX, ptyfds[i][1]);
+        }
+    }
+    /* now the pty fds are in the carefds, if they were ever open */
+    libxl__carefd_unlock();
+    if (rc)
+        goto out;
+
+    rc = 0;
+
+ out:
+    if (sockets[0] >= 0) close(sockets[0]);
+    libxl__carefd_close(for_child);
+    if (libxl__ev_child_inuse(&op->child)) {
+        op->rc = rc;
+        /* we will get a callback when the child dies */
+        return 0;
+    }
+
+    assert(rc);
+    openpty_cleanup(op);
+    return rc;
+}
+
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index be11fbd..3744a28 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1513,6 +1513,42 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- openpty -----*/
+
+/*
+ * opens count (>0) ptys like count calls to openpty, and then
+ * calls back.  On entry, all op[].master and op[].slave must be
+ * 0.  On callback, either rc==0 and master and slave are non-0,
+ * or rc is a libxl error and they are both 0.  If libxl__openpty
+ * returns non-0 no callback will happen and everything is left
+ * cleaned up.
+ */
+
+typedef struct libxl__openpty_state libxl__openpty_state;
+typedef struct libxl__openpty_result libxl__openpty_result;
+typedef void libxl__openpty_callback(libxl__egc *egc, libxl__openpty_state *op);
+
+struct libxl__openpty_state {
+    /* caller must fill these in, and they must all remain valid */
+    libxl__ao *ao;
+    libxl__openpty_callback *callback;
+    int count;
+    libxl__openpty_result *results; /* actual size is count, out parameter */
+    /* public, result, caller may only read in callback */
+    int rc;
+    /* private for implementation */
+    libxl__ev_child child;
+};
+
+struct libxl__openpty_result {
+    libxl__carefd *master, *slave;
+};
+
+int libxl__openptys(libxl__openpty_state *op,
+                    const struct termios *termp,
+                    const struct winsize *winp);
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6m-0006fc-Hz; Fri, 11 May 2012 17:58:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006X7-T9
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42723] by server-2.bemta-4.messagelabs.com id
	A9/02-17550-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25794 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IY-Uo; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gV-SQ;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:07 +0100
Message-ID: <1336759092-2432-23-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 22/27] libxl: provide progress reporting for
	long-running operations
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This will be used for reporting, during domain creation, that the
console is ready.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v7:
 * If aop->how.callback, actually add the aop to the for_callback list (!)
 * Document the threadsafety of aop's, and make appropriate cross-references.
 * Allocate the actual aop from its thread's egc; do not free it.
 * Remove pointless code motion of libxl__ao_create.
 * Minor formatting fixes.
---
 tools/libxl/libxl.h          |   45 ++++++++++++++++++++++++++
 tools/libxl/libxl_event.c    |   72 ++++++++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   35 ++++++++++++++++++++
 3 files changed, 149 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index e19d947..ba0f4de 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -435,6 +435,51 @@ typedef struct {
     } u;
 } libxl_asyncop_how;
 
+/*
+ * Some more complex asynchronous operations can report intermediate
+ * progress.  How this is to be reported is controlled, for each
+ * function, by a parameter
+ *    libxl_asyncprogress_how *aop_FOO_how;
+ * for each kind of progress FOO supported by that function.  Each
+ * such kind of progress is associated with an event type.
+ *
+ * The function description will document whether, when, and how
+ * many times, the intermediate progress will be reported, and
+ * what the corresponding event type(s) are.
+ *
+ * If aop_FOO_how==NULL, intermediate progress reports are discarded.
+ *
+ * If aop_FOO_how->callback==NULL, intermediate progress reports
+ * generate libxl events which can be obtained from libxl_event_wait
+ * or libxl_event_check.
+ *
+ * If aop_FOO_how->callback!=NULL, libxl will report intermediate
+ * progress by calling callback(ctx, &event, for_callback).
+ *
+ * The rules for these events are otherwise the same as those for
+ * ordinary events.  The reentrancy and threading rules for the
+ * callback are the same as those for ao completion callbacks.
+ *
+ * Note that the callback, if provided, is responsible for freeing
+ * the event.
+ *
+ * If callbacks are requested, they will be made, and returned, before
+ * the long-running libxl operation is considered finished (so if the
+ * long-running libxl operation was invoked with ao_how==NULL then any
+ * callbacks will occur strictly before the long-running operation
+ * returns).  However, the callbacks may occur on any thread.
+ *
+ * In general, otherwise, no promises are made about the relative
+ * order of callbacks in a multithreaded program.  In particular
+ * different callbacks relating to the same long-running operation may
+ * be delivered out of order.
+ */
+
+typedef struct {
+    void (*callback)(libxl_ctx *ctx, libxl_event*, void *for_callback);
+    libxl_ev_user for_event; /* always used */
+    void *for_callback; /* passed to callback */
+} libxl_asyncprogress_how;
 
 #define LIBXL_VERSION 0
 
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index b546471..460ef66 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -902,18 +902,29 @@ void libxl__event_disaster(libxl__egc *egc, const char *msg, int errnoval,
 static void egc_run_callbacks(libxl__egc *egc)
 {
     /*
-     * The callbacks must happen with the ctx unlocked.
-     * See the comment near #define EGC_GC in libxl_internal.h and
-     * those in the definitions of libxl__egc and libxl__ao.
+     * The callbacks must happen with the ctx unlocked.  See the
+     * comment near #define EGC_GC in libxl_internal.h and those in
+     * the definitions of libxl__egc, libxl__ao and libxl__aop.
      */
     EGC_GC;
     libxl_event *ev, *ev_tmp;
+    libxl__aop_occurred *aop, *aop_tmp;
 
     LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
         CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
     }
 
+    LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
+        LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
+        aop->how->callback(CTX, aop->ev, aop->how->for_callback);
+
+        CTX_LOCK;
+        aop->ao->progress_reports_outstanding--;
+        libxl__ao_complete_check_progress_reports(egc, aop->ao);
+        CTX_UNLOCK;
+    }
+
     libxl__ao *ao, *ao_tmp;
     LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
                              entry_for_callback, ao_tmp) {
@@ -1296,6 +1307,7 @@ void libxl__ao_abort(libxl__ao *ao)
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(ao->in_initiator);
     assert(!ao->complete);
+    assert(!ao->progress_reports_outstanding);
     libxl__ao__destroy(CTX, ao);
 }
 
@@ -1306,6 +1318,24 @@ void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
     ao->complete = 1;
     ao->rc = rc;
 
+    libxl__ao_complete_check_progress_reports(egc, ao);
+}
+
+void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
+{
+    /*
+     * We don't consider an ao complete if it has any outstanding
+     * callbacks.  These callbacks might be outstanding on other
+     * threads, queued up in the other threads' egc's.  Those threads
+     * will, after making the callback, take out the lock again,
+     * decrement progress_reports_outstanding, and call us again.
+     */
+
+    assert(ao->progress_reports_outstanding >= 0);
+
+    if (!ao->complete || ao->progress_reports_outstanding)
+        return;
+
     if (ao->poller) {
         assert(ao->in_initiator);
         if (!ao->constructing)
@@ -1355,6 +1385,7 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
     return NULL;
 }
 
+
 int libxl__ao_inprogress(libxl__ao *ao)
 {
     AO_GC;
@@ -1412,6 +1443,41 @@ int libxl__ao_inprogress(libxl__ao *ao)
 }
 
 
+/* progress reporting */
+
+/* The application indicates a desire to ignore events by passing NULL
+ * for how.  But we want to copy *how.  So we have this dummy function
+ * whose address is stored in callback if the app passed how==NULL. */
+static void dummy_asyncprogress_callback_ignore
+  (libxl_ctx *ctx, libxl_event *ev, void *for_callback) { }
+
+void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
+                               const libxl_asyncprogress_how *from_app) {
+    if (from_app)
+        *in_state = *from_app;
+    else
+        in_state->callback = dummy_asyncprogress_callback_ignore;
+}
+
+void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
+        const libxl_asyncprogress_how *how, libxl_event *ev)
+{
+    ev->for_user = how->for_event;
+    if (how->callback == dummy_asyncprogress_callback_ignore) {
+        /* ignore */
+    } else if (how->callback) {
+        libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
+        ao->progress_reports_outstanding++;
+        aop->ao = ao;
+        aop->ev = ev;
+        aop->how = how;
+        LIBXL_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
+    } else {
+        libxl__event_occurred(egc, ev);
+    }
+}
+
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f48cfdc..d5cf69a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -119,6 +119,7 @@ _hidden void libxl__log(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
 typedef struct libxl__gc libxl__gc;
 typedef struct libxl__egc libxl__egc;
 typedef struct libxl__ao libxl__ao;
+typedef struct libxl__aop_occurred libxl__aop_occurred;
 
 _hidden void libxl__alloc_failed(libxl_ctx *, const char *func,
                          size_t nmemb, size_t size) __attribute__((noreturn));
@@ -364,6 +365,21 @@ struct libxl__egc {
     struct libxl__gc gc;
     struct libxl__event_list occurred_for_callback;
     LIBXL_TAILQ_HEAD(, libxl__ao) aos_for_callback;
+    LIBXL_TAILQ_HEAD(, libxl__aop_occurred) aops_for_callback;
+};
+
+struct libxl__aop_occurred {
+    /*
+     * An aop belongs to, and may be accessed only on, the thread
+     * which created it.  It normally lives in that thread's egc.
+     *
+     * While an aop exists, it corresponds to one refcount in
+     * ao->progress_reports_outstanding, preventing ao destruction.
+     */
+    LIBXL_TAILQ_ENTRY(libxl__aop_occurred) entry;
+    libxl__ao *ao;
+    libxl_event *ev;
+    const libxl_asyncprogress_how *how;
 };
 
 #define LIBXL__AO_MAGIC              0xA0FACE00ul
@@ -386,6 +402,7 @@ struct libxl__ao {
      */
     uint32_t magic;
     unsigned constructing:1, in_initiator:1, complete:1, notified:1;
+    int progress_reports_outstanding;
     int rc;
     libxl__gc gc;
     libxl_asyncop_how how;
@@ -1402,6 +1419,7 @@ libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
         LIBXL_INIT_GC((egc).gc,ctx);                    \
         LIBXL_TAILQ_INIT(&(egc).occurred_for_callback); \
         LIBXL_TAILQ_INIT(&(egc).aos_for_callback);      \
+        LIBXL_TAILQ_INIT(&(egc).aops_for_callback);     \
     } while(0)
 
 _hidden void libxl__egc_cleanup(libxl__egc *egc);
@@ -1448,6 +1466,9 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
  *        pointer to the internal event generation request routines
  *        libxl__evgen_FOO, so that at some point a CALLBACK will be
  *        made when the operation is complete.
+ *      - if the operation provides progress reports, the aop_how(s)
+ *        must be copied into the per-operation structure using
+ *        libxl__ao_progress_gethow.
  *
  * - If initiation is successful, the initiating function needs
  *   to run libxl__ao_inprogress right before unlocking and
@@ -1457,6 +1478,10 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
  *   call libxl__ao_abort before unlocking and returning whatever
  *   error code is appropriate (AO_ABORT macro).
  *
+ * - If the operation supports progress reports, it may generate
+ *   suitable events with NEW_EVENT and report them with
+ *   libxl__ao_progress_report (with the ctx locked).
+ *
  * - Later, some callback function, whose callback has been requested
  *   directly or indirectly, should call libxl__ao_complete (with the
  *   ctx locked, as it will generally already be in any event callback
@@ -1512,8 +1537,18 @@ _hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
 
+/* Can be called at any time.  Use is essential for any aop user. */
+_hidden void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
+                                       const libxl_asyncprogress_how *from_app);
+
+/* Must be called with the ctx locked.  Will fill in ev->for_user,
+ * so caller need not do that. */
+_hidden void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
+   const libxl_asyncprogress_how *how, libxl_event *ev /* consumed */);
+
 /* For use by ao machinery ONLY */
 _hidden void libxl__ao__destroy(libxl_ctx*, libxl__ao *ao);
+_hidden void libxl__ao_complete_check_progress_reports(libxl__egc*, libxl__ao*);
 
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6q-0006mI-2d; Fri, 11 May 2012 17:58:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006XV-RD
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:23 +0000
Received: from [85.158.143.35:42729] by server-1.bemta-4.messagelabs.com id
	26/B9-20925-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!8
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25806 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435485"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Im-7X; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000gs-6p;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:12 +0100
Message-ID: <1336759092-2432-28-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 27/27] libxl: abort bootloader invocation when
	domain dies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Cancel the bootloader (specifically, by sending it a signal) if the
domain is seen to disappear from xenstore.

We use a new utility event source libxl__domaindeathcheck which
provides a convenient wrapper for the xenstore watch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v8:
 * Fixed the commit message summary line.

Changes since v7:
 * Add a comment explaining why we use a watch on the domain's
   xenstore path rather than @releaseDomain.
 * Fix typo in error message.
---
 tools/libxl/libxl_bootloader.c |   43 ++++++++++++++++++++++++++++--------
 tools/libxl/libxl_event.c      |   47 ++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |   29 +++++++++++++++++++++++-
 3 files changed, 108 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 8436c07..fb1302b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -31,6 +31,7 @@ static void bootloader_keystrokes_copyfail(libxl__egc *egc,
        libxl__datacopier_state *dc, int onwrite, int errnoval);
 static void bootloader_display_copyfail(libxl__egc *egc,
        libxl__datacopier_state *dc, int onwrite, int errnoval);
+static void bootloader_domaindeath(libxl__egc*, libxl__domaindeathcheck *dc);
 static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
                                 pid_t pid, int status);
 
@@ -213,6 +214,7 @@ void libxl__bootloader_init(libxl__bootloader_state *bl)
     bl->ptys[0].master = bl->ptys[0].slave = 0;
     bl->ptys[1].master = bl->ptys[1].slave = 0;
     libxl__ev_child_init(&bl->child);
+    libxl__domaindeathcheck_init(&bl->deathcheck);
     bl->keystrokes.ao = bl->ao;  libxl__datacopier_init(&bl->keystrokes);
     bl->display.ao = bl->ao;     libxl__datacopier_init(&bl->display);
 }
@@ -230,6 +232,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
         free(bl->diskpath);
         bl->diskpath = 0;
     }
+    libxl__domaindeathcheck_stop(gc,&bl->deathcheck);
     libxl__datacopier_kill(&bl->keystrokes);
     libxl__datacopier_kill(&bl->display);
     for (i=0; i<2; i++) {
@@ -256,6 +259,23 @@ static void bootloader_callback(libxl__egc *egc, libxl__bootloader_state *bl,
     bl->callback(egc, bl, rc);
 }
 
+/* might be called at any time, provided it's init'd */
+static void bootloader_abort(libxl__egc *egc,
+                             libxl__bootloader_state *bl, int rc)
+{
+    STATE_AO_GC(bl->ao);
+    int r;
+
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+    if (libxl__ev_child_inuse(&bl->child)) {
+        r = kill(bl->child.pid, SIGTERM);
+        if (r) LOGE(WARN, "after failure, failed to kill bootloader [%lu]",
+                    (unsigned long)bl->child.pid);
+    }
+    bl->rc = rc;
+}
+
 /*----- main flow of control -----*/
 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
@@ -377,6 +397,12 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         goto out;
     }
 
+    bl->deathcheck.what = "stopping bootloader";
+    bl->deathcheck.domid = bl->domid;
+    bl->deathcheck.callback = bootloader_domaindeath;
+    rc = libxl__domaindeathcheck_start(gc, &bl->deathcheck);
+    if (rc) goto out;
+
     if (bl->console_available)
         bl->console_available(egc, bl);
 
@@ -454,18 +480,9 @@ static void bootloader_copyfail(libxl__egc *egc, const char *which,
        libxl__bootloader_state *bl, int onwrite, int errnoval)
 {
     STATE_AO_GC(bl->ao);
-    int r;
-
     if (!onwrite && !errnoval)
         LOG(ERROR, "unexpected eof copying %s", which);
-    libxl__datacopier_kill(&bl->keystrokes);
-    libxl__datacopier_kill(&bl->display);
-    if (libxl__ev_child_inuse(&bl->child)) {
-        r = kill(bl->child.pid, SIGTERM);
-        if (r) LOGE(WARN, "after failure, failed to kill bootloader [%lu]",
-                    (unsigned long)bl->child.pid);
-    }
-    bl->rc = ERROR_FAIL;
+    bootloader_abort(egc, bl, ERROR_FAIL);
 }
 static void bootloader_keystrokes_copyfail(libxl__egc *egc,
        libxl__datacopier_state *dc, int onwrite, int errnoval)
@@ -480,6 +497,12 @@ static void bootloader_display_copyfail(libxl__egc *egc,
     bootloader_copyfail(egc, "bootloader output", bl, onwrite, errnoval);
 }
 
+static void bootloader_domaindeath(libxl__egc *egc, libxl__domaindeathcheck *dc)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(dc, *bl, deathcheck);
+    bootloader_abort(egc, bl, ERROR_FAIL);
+}
+
 static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
                                 pid_t pid, int status)
 {
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 63719b2..03d0498 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -589,6 +589,53 @@ int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
 }
 
 /*
+ * domain death/destruction
+ */
+
+/*
+ * We use a xenstore watch on the domain's path, rather than using an
+ * @releaseDomain watch and asking the hypervisor.  This is simpler
+ * because turning @releaseDomain into domain-specific information is
+ * complicated.
+ *
+ * It is also sufficient for our callers, which are generally trying
+ * to do cleanup of their own execution state on domain death, for the
+ * following reason: if the domain is destroyed then either (a) the
+ * entries in xenstore have already been deleted, in which case the
+ * test here works or (b) they have not in which case something has
+ * gone very badly wrong and we are going to leak those xenstore
+ * entries, in which case trying to avoid leaking other stuff is
+ * futile.
+ */
+
+static void domaindeathcheck_callback(libxl__egc *egc, libxl__ev_xswatch *w,
+                            const char *watch_path, const char *event_path)
+{
+    libxl__domaindeathcheck *dc = CONTAINER_OF(w, *dc, watch);
+    EGC_GC;
+    const char *p = libxl__xs_read(gc, XBT_NULL, watch_path);
+    if (p) return;
+
+    if (errno!=ENOENT) {
+        LIBXL__EVENT_DISASTER(egc,"failed to read xenstore"
+                              " for domain detach check", errno, 0);
+        return;
+    }
+
+    LOG(ERROR,"%s: domain %"PRIu32" removed (%s no longer in xenstore)",
+        dc->what, dc->domid, watch_path);
+    dc->callback(egc, dc);
+}
+
+int libxl__domaindeathcheck_start(libxl__gc *gc,
+                                  libxl__domaindeathcheck *dc)
+{
+    const char *path = GCSPRINTF("/local/domain/%"PRIu32, dc->domid);
+    return libxl__ev_xswatch_register(gc, &dc->watch,
+                                      domaindeathcheck_callback, path);
+}
+
+/*
  * osevent poll
  */
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 83fabea..f71e76a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -866,6 +866,33 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
                                     const char *state_path,
                                     int state, int milliseconds);
 
+/*
+ * libxl__ev_domaindeathcheck_register - arranges to call back (once)
+ * if the domain is destroyed.  If the domain dies, we log a message
+ * of the form "<what>: <explanation of the situation, including the domid>".
+ */
+
+typedef struct libxl__domaindeathcheck libxl__domaindeathcheck;
+typedef void libxl___domaindeathcheck_callback(libxl__egc *egc,
+                                         libxl__domaindeathcheck*);
+
+struct libxl__domaindeathcheck {
+    /* must be filled in by caller, and remain valid: */
+    const char *what;
+    uint32_t domid;
+    libxl___domaindeathcheck_callback *callback;
+    /* private */
+    libxl__ev_xswatch watch;
+};
+
+_hidden int libxl__domaindeathcheck_start(libxl__gc *gc,
+                                          libxl__domaindeathcheck *dc);
+
+static inline void libxl__domaindeathcheck_init
+ (libxl__domaindeathcheck *dc) { libxl__ev_xswatch_init(&dc->watch); }
+static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
+  libxl__domaindeathcheck *dc) { libxl__ev_xswatch_deregister(gc,&dc->watch); }
+
 
 /*
  * libxl__try_phy_backend - Check if there's support for the passed
@@ -1738,6 +1765,7 @@ struct libxl__bootloader_state {
     libxl__openpty_state openpty;
     libxl__openpty_result ptys[2];  /* [0] is for bootloader */
     libxl__ev_child child;
+    libxl__domaindeathcheck deathcheck;
     int nargs, argsspace;
     const char **args;
     libxl__datacopier_state keystrokes, display;
@@ -1750,7 +1778,6 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
-
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6o-0006jN-GS; Fri, 11 May 2012 17:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006X7-F8
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42728] by server-2.bemta-4.messagelabs.com id
	F9/02-17550-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32070 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435484"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Ie-3L; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000gg-0Y;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:09 +0100
Message-ID: <1336759092-2432-25-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 24/27] libxl: convert console callback to
	libxl_asyncprogress_how
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Remove the old console callback.  (Its reentrancy properties were
troublesome: in principle, the event loop might be reentered during
the callback, and the libxl__domain_create_state swept out from under
the feet of the domain creation.)

As a side effect of the new code arrangements, the console callback
for non-bootloader-using PV guests now occurs near the end of domain
creation, in the same place as for HVM guests, rather than near the
start.

The new arrangements should in principle mean that by the time the
console is described as ready by the callback, the xenstore key is
indeed ready.  So in the future the timeout might be removed from
the console client.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.h            |   17 ++++++-----
 tools/libxl/libxl_bootloader.c |    3 ++
 tools/libxl/libxl_create.c     |   59 +++++++++++++++++++++++-----------------
 tools/libxl/libxl_internal.h   |    6 +++-
 tools/libxl/libxl_types.idl    |    2 +
 tools/libxl/xl_cmdimpl.c       |   25 ++++++++++-------
 6 files changed, 67 insertions(+), 45 deletions(-)

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index ba0f4de..979940a 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -509,18 +509,19 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
 int libxl_ctx_free(libxl_ctx *ctx /* 0 is OK */);
 
 /* domain related functions */
-typedef int (*libxl_console_ready)(libxl_ctx *ctx, uint32_t domid, void *priv);
-  /* fixme-ao   Need to review this API.  If we keep it, the reentrancy
-   * properties need to be documented but they may turn out to be too
-   * awkward */
 
 int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv, uint32_t *domid,
-                            const libxl_asyncop_how *ao_how);
+                            uint32_t *domid,
+                            const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how);
 int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
-                                libxl_console_ready cb, void *priv,
                                 uint32_t *domid, int restore_fd,
-                                const libxl_asyncop_how *ao_how);
+                                const libxl_asyncop_how *ao_how,
+                                const libxl_asyncprogress_how *aop_console_how);
+  /* A progress report will be made via ao_console_how, of type
+   * domain_create_console_available, when the domain's primary
+   * console is available and can be connected to.
+   */
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 1534bae..8436c07 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -377,6 +377,9 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         goto out;
     }
 
+    if (bl->console_available)
+        bl->console_available(egc, bl);
+
     int bootloader_master = libxl__carefd_fd(bl->ptys[0].master);
     int xenconsole_master = libxl__carefd_fd(bl->ptys[1].master);
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 63cb430..14721eb 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -569,10 +569,15 @@ static int store_libxl_entry(libxl__gc *gc, uint32_t domid,
 static void domcreate_devmodel_started(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int rc);
+static void domcreate_bootloader_console_available(libxl__egc *egc,
+                                                   libxl__bootloader_state *bl);
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_console_available(libxl__egc *egc,
+                                        libxl__domain_create_state *dcs);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
 static void domcreate_complete(libxl__egc *egc,
@@ -590,8 +595,6 @@ static void initiate_domain_create(libxl__egc *egc,
     /* convenience aliases */
     libxl_domain_config *const d_config = dcs->guest_config;
     const int restore_fd = dcs->restore_fd;
-    const libxl_console_ready cb = dcs->console_cb;
-    void *const priv = dcs->console_cb_priv;
     memset(&dcs->build_state, 0, sizeof(dcs->build_state));
 
     domid = 0;
@@ -610,11 +613,6 @@ static void initiate_domain_create(libxl__egc *egc,
     dcs->guest_domid = domid;
     dcs->dmss.dm.guest_domid = 0; /* means we haven't spawned */
 
-    if ( d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV && cb ) {
-        ret = (*cb)(ctx, domid, priv);
-        if (ret) goto error_out;
-    }
-
     ret = libxl__domain_build_info_setdefault(gc, &d_config->b_info);
     if (ret) goto error_out;
 
@@ -629,6 +627,7 @@ static void initiate_domain_create(libxl__egc *egc,
 
     if (restore_fd < 0 && bootdisk) {
         dcs->bl.callback = domcreate_bootloader_done;
+        dcs->bl.console_available = domcreate_bootloader_console_available;
         dcs->bl.info = &d_config->b_info,
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
@@ -644,6 +643,21 @@ error_out:
     domcreate_complete(egc, dcs, ret);
 }
 
+static void domcreate_bootloader_console_available(libxl__egc *egc,
+                                                   libxl__bootloader_state *bl)
+{
+    libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
+    STATE_AO_GC(bl->ao);
+    domcreate_console_available(egc, dcs);
+}
+
+static void domcreate_console_available(libxl__egc *egc,
+                                        libxl__domain_create_state *dcs) {
+    libxl__ao_progress_report(egc, dcs->ao, &dcs->aop_console_how,
+                              NEW_EVENT(egc, DOMAIN_CREATE_CONSOLE_AVAILABLE,
+                                        dcs->guest_domid));
+}
+
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int ret)
@@ -779,8 +793,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 
     /* convenience aliases */
     libxl_domain_config *const d_config = dcs->guest_config;
-    const libxl_console_ready cb = dcs->console_cb;
-    void *const priv = dcs->console_cb_priv;
 
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
@@ -818,12 +830,7 @@ static void domcreate_devmodel_started(libxl__egc *egc,
             goto error_out;
         }
     }
-    if ( cb && (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM ||
-                (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
-                 d_config->b_info.u.pv.bootloader ))) {
-        ret = (*cb)(ctx, domid, priv);
-        if (ret) goto error_out;
-    }
+    domcreate_console_available(egc, dcs);
 
     domcreate_complete(egc, dcs, 0);
     return;
@@ -863,8 +870,9 @@ static void domain_create_cb(libxl__egc *egc,
                              int rc, uint32_t domid);
 
 static int do_domain_create(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv, uint32_t *domid,
-                            int restore_fd, const libxl_asyncop_how *ao_how)
+                            uint32_t *domid,
+                            int restore_fd, const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how)
 {
     AO_CREATE(ctx, 0, ao_how);
     libxl__app_domain_create_state *cdcs;
@@ -873,9 +881,8 @@ static int do_domain_create(libxl_ctx *ctx, libxl_domain_config *d_config,
     cdcs->dcs.ao = ao;
     cdcs->dcs.guest_config = d_config;
     cdcs->dcs.restore_fd = restore_fd;
-    cdcs->dcs.console_cb = cb;
-    cdcs->dcs.console_cb_priv = priv;
     cdcs->dcs.callback = domain_create_cb;
+    libxl__ao_progress_gethow(&cdcs->dcs.aop_console_how, aop_console_how);
     cdcs->domid_out = domid;
 
     initiate_domain_create(egc, &cdcs->dcs);
@@ -897,19 +904,21 @@ static void domain_create_cb(libxl__egc *egc,
 }
     
 int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv,
                             uint32_t *domid,
-                            const libxl_asyncop_how *ao_how)
+                            const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how)
 {
-    return do_domain_create(ctx, d_config, cb, priv, domid, -1, ao_how);
+    return do_domain_create(ctx, d_config, domid, -1,
+                            ao_how, aop_console_how);
 }
 
 int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
-                                libxl_console_ready cb, void *priv,
                                 uint32_t *domid, int restore_fd,
-                                const libxl_asyncop_how *ao_how)
+                                const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how)
 {
-    return do_domain_create(ctx, d_config, cb, priv, domid, restore_fd, ao_how);
+    return do_domain_create(ctx, d_config, domid, restore_fd,
+                            ao_how, aop_console_how);
 }
 
 /*
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a407317..3aa0ed7 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1699,11 +1699,14 @@ int libxl__openptys(libxl__openpty_state *op,
 typedef struct libxl__bootloader_state libxl__bootloader_state;
 typedef void libxl__run_bootloader_callback(libxl__egc*,
                                 libxl__bootloader_state*, int rc);
+typedef void libxl__bootloader_console_callback(libxl__egc*,
+                                libxl__bootloader_state*);
 
 struct libxl__bootloader_state {
     /* caller must fill these in, and they must all remain valid */
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
+    libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
     uint32_t domid;
@@ -1739,9 +1742,8 @@ struct libxl__domain_create_state {
     libxl__ao *ao;
     libxl_domain_config *guest_config;
     int restore_fd;
-    libxl_console_ready console_cb;
-    void *console_cb_priv;
     libxl__domain_create_cb *callback;
+    libxl_asyncprogress_how aop_console_how;
     /* private to domain_create */
     int guest_domid;
     libxl__domain_build_state build_state;
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 68599cb..551e367 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -459,6 +459,7 @@ libxl_event_type = Enumeration("event_type", [
     (2, "DOMAIN_DEATH"),
     (3, "DISK_EJECT"),
     (4, "OPERATION_COMPLETE"),
+    (5, "DOMAIN_CREATE_CONSOLE_AVAILABLE"),
     ])
 
 libxl_ev_user = UInt(64)
@@ -484,4 +485,5 @@ libxl_event = Struct("event",[
            ("operation_complete", Struct(None, [
                                         ("rc", integer),
                                  ])),
+           ("domain_create_console_available", Struct(None, [])),
            ]))])
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 621aeaf..b91a2d5 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1457,16 +1457,18 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
-static int autoconnect_console(libxl_ctx *ctx, uint32_t domid, void *priv)
+static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
 {
     pid_t *pid = priv;
 
+    libxl_event_free(ctx, ev);
+
     *pid = fork();
     if (*pid < 0) {
         perror("unable to fork xenconsole");
-        return ERROR_FAIL;
+        return;
     } else if (*pid > 0)
-        return 0;
+        return;
 
     postfork();
 
@@ -1533,7 +1535,7 @@ static int create_domain(struct domain_create *dom_info)
     int config_len = 0;
     int restore_fd = -1;
     int status = 0;
-    libxl_console_ready cb;
+    const libxl_asyncprogress_how *autoconnect_console_how;
     pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
@@ -1687,24 +1689,27 @@ start:
         goto error_out;
     }
 
+    libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
-        cb = autoconnect_console;
+        autoconnect_console_how_buf.callback = autoconnect_console;
+        autoconnect_console_how_buf.for_callback = &child_console_pid;
+        autoconnect_console_how = &autoconnect_console_how_buf;
     }else{
-        cb = NULL;
+        autoconnect_console_how = 0;
     }
 
     if ( restore_file ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
-                                          cb, &child_console_pid,
-                                          &domid, restore_fd, 0);
+                                          &domid, restore_fd,
+                                          0, autoconnect_console_how);
         /*
          * On subsequent reboot etc we should create the domain, not
          * restore/migrate-receive it again.
          */
         restore_file = NULL;
     }else{
-        ret = libxl_domain_create_new(ctx, &d_config,
-                                      cb, &child_console_pid, &domid, 0);
+        ret = libxl_domain_create_new(ctx, &d_config, &domid,
+                                      0, autoconnect_console_how);
     }
     if ( ret )
         goto error_out;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6j-0006bs-Lq; Fri, 11 May 2012 17:58:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006X7-9f
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:57415] by server-2.bemta-4.messagelabs.com id
	97/02-17550-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32036 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435474"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IK-Jj; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gB-Hy;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:02 +0100
Message-ID: <1336759092-2432-18-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 17/27] libxl: change some structures to unit
	arrays
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the next patch these variables will turn into actual pointers.

To clarify that patch, prepare the ground by changing these variables
from "struct foo var" to "struct foo var[1]".  This enables accesses
to them and their members to be made as if they were pointers.

No functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_create.c |   18 +++++-----
 tools/libxl/libxl_dm.c     |   84 ++++++++++++++++++++++----------------------
 2 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index f7732aa..b137288 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -564,7 +564,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     libxl__spawner_starting *dm_starting = 0;
-    libxl__domain_build_state state;
+    libxl__domain_build_state state[1];
     uint32_t domid;
     int i, ret;
 
@@ -606,12 +606,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         }
     }
 
-    memset(&state, 0, sizeof(state));
+    memset(state, 0, sizeof(*state));
 
     if ( restore_fd >= 0 ) {
-        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, &state);
+        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
     } else {
-        ret = libxl__domain_build(gc, &d_config->b_info, domid, &state);
+        ret = libxl__domain_build(gc, &d_config->b_info, domid, state);
     }
 
     if (ret) {
@@ -649,7 +649,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         ret = init_console_info(&console, 0);
         if ( ret )
             goto error_out;
-        libxl__device_console_add(gc, domid, &console, &state);
+        libxl__device_console_add(gc, domid, &console, state);
         libxl__device_console_dispose(&console);
 
         libxl_device_vkb_init(&vkb);
@@ -657,7 +657,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         libxl_device_vkb_dispose(&vkb);
 
         ret = libxl__create_device_model(gc, domid, d_config,
-                                         &state, &dm_starting);
+                                         state, &dm_starting);
         if (ret < 0) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "failed to create device model: %d", ret);
@@ -683,11 +683,11 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
                 d_config->num_vfbs, d_config->vfbs,
                 d_config->num_disks, &d_config->disks[0]);
 
-        libxl__device_console_add(gc, domid, &console, &state);
+        libxl__device_console_add(gc, domid, &console, state);
         libxl__device_console_dispose(&console);
 
         if (need_qemu) {
-            libxl__create_xenpv_qemu(gc, domid, d_config, &state, &dm_starting);
+            libxl__create_xenpv_qemu(gc, domid, d_config, state, &dm_starting);
         }
         break;
     }
@@ -701,7 +701,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
             == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
             libxl__qmp_initializations(gc, domid, d_config);
         }
-        ret = libxl__confirm_device_model_startup(gc, &state, dm_starting);
+        ret = libxl__confirm_device_model_startup(gc, state, dm_starting);
         if (ret < 0) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "device model did not start: %d", ret);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 36b0730..725c3c0 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -678,10 +678,10 @@ static int libxl__create_stubdom(libxl__gc *gc,
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
     libxl__device_console *console;
-    libxl_domain_config dm_config;
+    libxl_domain_config dm_config[1];
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
-    libxl__domain_build_state stubdom_state;
+    libxl__domain_build_state stubdom_state[1];
     uint32_t dm_domid;
     char **args;
     struct xs_permissions perm[2];
@@ -694,58 +694,58 @@ static int libxl__create_stubdom(libxl__gc *gc,
         goto out;
     }
 
-    libxl_domain_create_info_init(&dm_config.c_info);
-    dm_config.c_info.type = LIBXL_DOMAIN_TYPE_PV;
-    dm_config.c_info.name = libxl__sprintf(gc, "%s-dm",
+    libxl_domain_create_info_init(&dm_config->c_info);
+    dm_config->c_info.type = LIBXL_DOMAIN_TYPE_PV;
+    dm_config->c_info.name = libxl__sprintf(gc, "%s-dm",
                                     libxl__domid_to_name(gc, guest_domid));
-    dm_config.c_info.ssidref = guest_config->b_info.device_model_ssidref;
+    dm_config->c_info.ssidref = guest_config->b_info.device_model_ssidref;
 
-    libxl_uuid_generate(&dm_config.c_info.uuid);
+    libxl_uuid_generate(&dm_config->c_info.uuid);
 
-    libxl_domain_build_info_init(&dm_config.b_info);
-    libxl_domain_build_info_init_type(&dm_config.b_info, LIBXL_DOMAIN_TYPE_PV);
+    libxl_domain_build_info_init(&dm_config->b_info);
+    libxl_domain_build_info_init_type(&dm_config->b_info, LIBXL_DOMAIN_TYPE_PV);
 
-    dm_config.b_info.max_vcpus = 1;
-    dm_config.b_info.max_memkb = 32 * 1024;
-    dm_config.b_info.target_memkb = dm_config.b_info.max_memkb;
+    dm_config->b_info.max_vcpus = 1;
+    dm_config->b_info.max_memkb = 32 * 1024;
+    dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config.b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
+    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
                                               libxl__xenfirmwaredir_path());
-    dm_config.b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config.b_info.u.pv.ramdisk.path = "";
-    dm_config.b_info.u.pv.features = "";
+    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    dm_config->b_info.u.pv.ramdisk.path = "";
+    dm_config->b_info.u.pv.features = "";
 
-    dm_config.b_info.device_model_version =
+    dm_config->b_info.device_model_version =
         guest_config->b_info.device_model_version;
-    dm_config.b_info.device_model =
+    dm_config->b_info.device_model =
         guest_config->b_info.device_model;
-    dm_config.b_info.extra = guest_config->b_info.extra;
-    dm_config.b_info.extra_pv = guest_config->b_info.extra_pv;
-    dm_config.b_info.extra_hvm = guest_config->b_info.extra_hvm;
+    dm_config->b_info.extra = guest_config->b_info.extra;
+    dm_config->b_info.extra_pv = guest_config->b_info.extra_pv;
+    dm_config->b_info.extra_hvm = guest_config->b_info.extra_hvm;
 
-    dm_config.disks = guest_config->disks;
-    dm_config.num_disks = guest_config->num_disks;
+    dm_config->disks = guest_config->disks;
+    dm_config->num_disks = guest_config->num_disks;
 
-    dm_config.vifs = guest_config->vifs;
-    dm_config.num_vifs = guest_config->num_vifs;
+    dm_config->vifs = guest_config->vifs;
+    dm_config->num_vifs = guest_config->num_vifs;
 
-    ret = libxl__domain_create_info_setdefault(gc, &dm_config.c_info);
+    ret = libxl__domain_create_info_setdefault(gc, &dm_config->c_info);
     if (ret) goto out;
-    ret = libxl__domain_build_info_setdefault(gc, &dm_config.b_info);
+    ret = libxl__domain_build_info_setdefault(gc, &dm_config->b_info);
     if (ret) goto out;
 
     libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, &vfb, &vkb);
-    dm_config.vfbs = &vfb;
-    dm_config.num_vfbs = 1;
-    dm_config.vkbs = &vkb;
-    dm_config.num_vkbs = 1;
+    dm_config->vfbs = &vfb;
+    dm_config->num_vfbs = 1;
+    dm_config->vkbs = &vkb;
+    dm_config->num_vkbs = 1;
 
     /* fixme: this function can leak the stubdom if it fails */
     dm_domid = 0;
-    ret = libxl__domain_make(gc, &dm_config.c_info, &dm_domid);
+    ret = libxl__domain_make(gc, &dm_config->c_info, &dm_domid);
     if (ret)
         goto out;
-    ret = libxl__domain_build(gc, &dm_config.b_info, dm_domid, &stubdom_state);
+    ret = libxl__domain_build(gc, &dm_config->b_info, dm_domid, stubdom_state);
     if (ret)
         goto out;
 
@@ -790,20 +790,20 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config.num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config.disks[i]);
+    for (i = 0; i < dm_config->num_disks; i++) {
+        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
         if (ret)
             goto out_free;
     }
-    for (i = 0; i < dm_config.num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config.vifs[i]);
+    for (i = 0; i < dm_config->num_vifs; i++) {
+        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
             goto out_free;
     }
-    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config.vfbs[0]);
+    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
         goto out_free;
-    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config.vkbs[0]);
+    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
         goto out_free;
 
@@ -847,14 +847,14 @@ retry_transaction:
                 break;
         }
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
-                        i == STUBDOM_CONSOLE_LOGGING ? &stubdom_state : NULL);
+                        i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
             goto out_free;
     }
 
     if (libxl__create_xenpv_qemu(gc, dm_domid,
-                                 &dm_config,
-                                 &stubdom_state,
+                                 dm_config,
+                                 stubdom_state,
                                  &dm_starting) < 0) {
         ret = ERROR_FAIL;
         goto out_free;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6k-0006cG-0q; Fri, 11 May 2012 17:58:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wq-Af
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42659] by server-3.bemta-4.messagelabs.com id
	5C/F4-05853-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32026 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435467"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008Ht-3p; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fe-1u;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:54 +0100
Message-ID: <1336759092-2432-10-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 09/27] libxl: provide libxl__datacopier_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

General facility for ao operations to shovel data between fds.

This will be used by the bootloader machinery.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes in v7:
 * assert that the ao is non-null on _init.
---
 tools/libxl/Makefile         |    3 +-
 tools/libxl/libxl_aoutils.c  |  189 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |   40 +++++++++
 3 files changed, 231 insertions(+), 1 deletions(-)
 create mode 100644 tools/libxl/libxl_aoutils.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 1261d43..5d9227e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -64,7 +64,8 @@ LIBXL_LIBS += -lyajl
 
 LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
-			libxl_internal.o libxl_utils.o libxl_uuid.o libxl_json.o \
+			libxl_internal.o libxl_utils.o libxl_uuid.o \
+			libxl_json.o libxl_aoutils.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
new file mode 100644
index 0000000..4c60ad9
--- /dev/null
+++ b/tools/libxl/libxl_aoutils.c
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2010      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+
+/*----- data copier -----*/
+
+void libxl__datacopier_init(libxl__datacopier_state *dc)
+{
+    assert(dc->ao);
+    libxl__ev_fd_init(&dc->toread);
+    libxl__ev_fd_init(&dc->towrite);
+    LIBXL_TAILQ_INIT(&dc->bufs);
+}
+
+void libxl__datacopier_kill(libxl__datacopier_state *dc)
+{
+    STATE_AO_GC(dc->ao);
+    libxl__datacopier_buf *buf, *tbuf;
+
+    libxl__ev_fd_deregister(gc, &dc->toread);
+    libxl__ev_fd_deregister(gc, &dc->towrite);
+    LIBXL_TAILQ_FOREACH_SAFE(buf, &dc->bufs, entry, tbuf)
+        free(buf);
+    LIBXL_TAILQ_INIT(&dc->bufs);
+}
+
+static void datacopier_callback(libxl__egc *egc, libxl__datacopier_state *dc,
+                                int onwrite, int errnoval)
+{
+    libxl__datacopier_kill(dc);
+    dc->callback(egc, dc, onwrite, errnoval);
+}
+
+static void datacopier_writable(libxl__egc *egc, libxl__ev_fd *ev,
+                                int fd, short events, short revents);
+
+static void datacopier_check_state(libxl__egc *egc, libxl__datacopier_state *dc)
+{
+    STATE_AO_GC(dc->ao);
+    int rc;
+    
+    if (dc->used) {
+        if (!libxl__ev_fd_isregistered(&dc->towrite)) {
+            rc = libxl__ev_fd_register(gc, &dc->towrite, datacopier_writable,
+                                       dc->writefd, POLLOUT);
+            if (rc) {
+                LOG(ERROR, "unable to establish write event on %s"
+                    " during copy of %s", dc->writewhat, dc->copywhat);
+                datacopier_callback(egc, dc, -1, 0);
+                return;
+            }
+        }
+    } else if (!libxl__ev_fd_isregistered(&dc->toread)) {
+        /* we have had eof */
+        datacopier_callback(egc, dc, 0, 0);
+        return;
+    } else {
+        /* nothing buffered, but still reading */
+        libxl__ev_fd_deregister(gc, &dc->towrite);
+    }
+}
+
+static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                int fd, short events, short revents) {
+    libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, toread);
+    STATE_AO_GC(dc->ao);
+
+    if (revents & ~POLLIN) {
+        LOG(ERROR, "unexpected poll event 0x%x (should be POLLIN)"
+            " on %s during copy of %s", revents, dc->readwhat, dc->copywhat);
+        datacopier_callback(egc, dc, -1, 0);
+        return;
+    }
+    assert(revents & POLLIN);
+    for (;;) {
+        while (dc->used >= dc->maxsz) {
+            libxl__datacopier_buf *rm = LIBXL_TAILQ_FIRST(&dc->bufs);
+            dc->used -= rm->used;
+            assert(dc->used >= 0);
+            LIBXL_TAILQ_REMOVE(&dc->bufs, rm, entry);
+            free(rm);
+        }
+
+        libxl__datacopier_buf *buf =
+            LIBXL_TAILQ_LAST(&dc->bufs, libxl__datacopier_bufs);
+        if (!buf || buf->used >= sizeof(buf->buf)) {
+            buf = malloc(sizeof(*buf));
+            if (!buf) libxl__alloc_failed(CTX, __func__, 1, sizeof(*buf));
+            buf->used = 0;
+            LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
+        }
+        int r = read(ev->fd,
+                     buf->buf + buf->used,
+                     sizeof(buf->buf) - buf->used);
+        if (r < 0) {
+            if (errno == EINTR) continue;
+            if (errno == EWOULDBLOCK) break;
+            LOGE(ERROR, "error reading %s during copy of %s",
+                 dc->readwhat, dc->copywhat);
+            datacopier_callback(egc, dc, 0, errno);
+            return;
+        }
+        if (r == 0) {
+            libxl__ev_fd_deregister(gc, &dc->toread);
+            break;
+        }
+        buf->used += r;
+        dc->used += r;
+        assert(buf->used <= sizeof(buf->buf));
+    }
+    datacopier_check_state(egc, dc);
+}
+
+static void datacopier_writable(libxl__egc *egc, libxl__ev_fd *ev,
+                                int fd, short events, short revents) {
+    libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, towrite);
+    STATE_AO_GC(dc->ao);
+
+    if (revents & ~POLLOUT) {
+        LOG(ERROR, "unexpected poll event 0x%x (should be POLLOUT)"
+            " on %s during copy of %s", revents, dc->writewhat, dc->copywhat);
+        datacopier_callback(egc, dc, -1, 0);
+        return;
+    }
+    assert(revents & POLLOUT);
+    for (;;) {
+        libxl__datacopier_buf *buf = LIBXL_TAILQ_FIRST(&dc->bufs);
+        if (!buf)
+            break;
+        if (!buf->used) {
+            LIBXL_TAILQ_REMOVE(&dc->bufs, buf, entry);
+            free(buf);
+            continue;
+        }
+        int r = write(ev->fd, buf->buf, buf->used);
+        if (r < 0) {
+            if (errno == EINTR) continue;
+            if (errno == EWOULDBLOCK) break;
+            LOGE(ERROR, "error writing to %s during copy of %s",
+                 dc->writewhat, dc->copywhat);
+            datacopier_callback(egc, dc, 1, errno);
+            return;
+        }
+        assert(r > 0);
+        assert(r <= buf->used);
+        buf->used -= r;
+        dc->used -= r;
+        assert(dc->used >= 0);
+        memmove(buf->buf, buf->buf+r, buf->used);
+    }
+    datacopier_check_state(egc, dc);
+}
+
+int libxl__datacopier_start(libxl__datacopier_state *dc)
+{
+    int rc;
+    STATE_AO_GC(dc->ao);
+
+    libxl__datacopier_init(dc);
+
+    rc = libxl__ev_fd_register(gc, &dc->toread, datacopier_readable,
+                               dc->readfd, POLLIN);
+    if (rc) goto out;
+
+    rc = libxl__ev_fd_register(gc, &dc->towrite, datacopier_writable,
+                               dc->writefd, POLLOUT);
+    if (rc) goto out;
+
+    return 0;
+
+ out:
+    libxl__datacopier_kill(dc);
+    return rc;
+}
+
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e25569c..be11fbd 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -840,6 +840,7 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
  */
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
@@ -1473,6 +1474,45 @@ _hidden const char *libxl__xen_script_dir_path(void);
 _hidden const char *libxl__lock_dir_path(void);
 _hidden const char *libxl__run_dir_path(void);
 
+/*----- datacopier: copies data from one fd to another -----*/
+
+typedef struct libxl__datacopier_state libxl__datacopier_state;
+typedef struct libxl__datacopier_buf libxl__datacopier_buf;
+
+/* onwrite==1 means failure happened when writing, logged, errnoval is valid
+ * onwrite==0 means failure happened when reading
+ *     errnoval==0 means we got eof and all data was written
+ *     errnoval!=0 means we had a read error, logged
+ * onwrite==-1 means some other internal failure, errnoval not valid, logged
+ * in all cases copier is killed before calling this callback */
+typedef void libxl__datacopier_callback(libxl__egc *egc,
+     libxl__datacopier_state *dc, int onwrite, int errnoval);
+
+struct libxl__datacopier_buf {
+    /* private to datacopier */
+    LIBXL_TAILQ_ENTRY(libxl__datacopier_buf) entry;
+    int used;
+    char buf[1000];
+};
+
+struct libxl__datacopier_state {
+    /* caller must fill these in, and they must all remain valid */
+    libxl__ao *ao;
+    int readfd, writefd;
+    ssize_t maxsz;
+    const char *copywhat, *readwhat, *writewhat; /* for error msgs */
+    libxl__datacopier_callback *callback;
+    /* remaining fields are private to datacopier */
+    libxl__ev_fd toread, towrite;
+    ssize_t used;
+    LIBXL_TAILQ_HEAD(libxl__datacopier_bufs, libxl__datacopier_buf) bufs;
+};
+
+_hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
+_hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
+_hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6l-0006eM-LC; Fri, 11 May 2012 17:58:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006XP-Jx
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:4152] by server-6.bemta-5.messagelabs.com id
	E7/1C-13222-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!11
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30221 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435477"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IV-R7; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gN-O8;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:05 +0100
Message-ID: <1336759092-2432-21-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 20/27] libxl: make libxl_create run bootloader
	via callback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change initiate_domain_create to properly use libxl__bootloader_run
rather than improperly calling libxl_run_bootloader with NULL ao_how.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v7:
 * constify convenience aliases.

Changes since v6:
 * Bugfixes from testing.
---
 tools/libxl/libxl_create.c   |   53 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |    1 +
 2 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 5075537..63cb430 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -569,6 +569,9 @@ static int store_libxl_entry(libxl__gc *gc, uint32_t domid,
 static void domcreate_devmodel_started(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int rc);
+static void domcreate_bootloader_done(libxl__egc *egc,
+                                      libxl__bootloader_state *bl,
+                                      int rc);
 
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
@@ -589,6 +592,7 @@ static void initiate_domain_create(libxl__egc *egc,
     const int restore_fd = dcs->restore_fd;
     const libxl_console_ready cb = dcs->console_cb;
     void *const priv = dcs->console_cb_priv;
+    memset(&dcs->build_state, 0, sizeof(dcs->build_state));
 
     domid = 0;
 
@@ -619,21 +623,43 @@ static void initiate_domain_create(libxl__egc *egc,
         if (ret) goto error_out;
     }
 
+    dcs->bl.ao = ao;
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
     if (restore_fd < 0 && bootdisk) {
-        ret = libxl_run_bootloader(ctx, &d_config->b_info, bootdisk, domid,
-                                   0 /* fixme-ao */);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "failed to run bootloader: %d", ret);
-            goto error_out;
-        }
+        dcs->bl.callback = domcreate_bootloader_done;
+        dcs->bl.info = &d_config->b_info,
+        dcs->bl.disk = bootdisk;
+        dcs->bl.domid = dcs->guest_domid;
+            
+        libxl__bootloader_run(egc, &dcs->bl);
+    } else {
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
+    return;
 
-    memset(&dcs->build_state, 0, sizeof(dcs->build_state));
-    libxl__domain_build_state *state = &dcs->build_state;
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_bootloader_done(libxl__egc *egc,
+                                      libxl__bootloader_state *bl,
+                                      int ret)
+{
+    libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
+    STATE_AO_GC(bl->ao);
+    int i;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    const int restore_fd = dcs->restore_fd;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    if (ret) goto error_out;
 
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
@@ -784,12 +810,13 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 
     if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
         libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
-        int rc;
-        rc = libxl__e820_alloc(gc, domid, d_config);
-        if (rc)
+        ret = libxl__e820_alloc(gc, domid, d_config);
+        if (ret) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
                       "Failed while collecting E820 with: %d (errno:%d)\n",
-                      rc, errno);
+                      ret, errno);
+            goto error_out;
+        }
     }
     if ( cb && (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM ||
                 (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b1ce4d6..9b4c273 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1689,6 +1689,7 @@ struct libxl__domain_create_state {
     /* private to domain_create */
     int guest_domid;
     libxl__domain_build_state build_state;
+    libxl__bootloader_state bl;
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6i-0006ac-HL; Fri, 11 May 2012 17:58:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wf-Pk
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:4095] by server-3.bemta-5.messagelabs.com id
	AA/4E-25237-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30172 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435468"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008Hz-6Y; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fj-3f;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:55 +0100
Message-ID: <1336759092-2432-11-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 10/27] libxl: provide libxl__openpty_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

General facility for ao operations to open ptys.

This will be used by the bootloader machinery.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_aoutils.c  |  127 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |   36 ++++++++++++
 2 files changed, 163 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
index 4c60ad9..734a5dc 100644
--- a/tools/libxl/libxl_aoutils.c
+++ b/tools/libxl/libxl_aoutils.c
@@ -187,3 +187,130 @@ int libxl__datacopier_start(libxl__datacopier_state *dc)
     return rc;
 }
 
+/*----- openpty -----*/
+
+/* implementation */
+    
+static void openpty_cleanup(libxl__openpty_state *op)
+{
+    int i;
+
+    for (i=0; i<op->count; i++) {
+        libxl__openpty_result *res = &op->results[i];
+        libxl__carefd_close(res->master);  res->master = 0;
+        libxl__carefd_close(res->slave);   res->slave = 0;
+    }
+}
+
+static void openpty_exited(libxl__egc *egc, libxl__ev_child *child,
+                           pid_t pid, int status) {
+    libxl__openpty_state *op = CONTAINER_OF(child, *op, child);
+    STATE_AO_GC(op->ao);
+
+    if (status) {
+        /* Perhaps the child gave us the fds and then exited nonzero.
+         * Well that would be odd but we don't really care. */
+        libxl_report_child_exitstatus(CTX, op->rc ? LIBXL__LOG_ERROR
+                                                  : LIBXL__LOG_WARNING,
+                                      "openpty child", pid, status);
+    }
+    if (op->rc)
+        openpty_cleanup(op);
+    op->callback(egc, op);
+}
+
+int libxl__openptys(libxl__openpty_state *op,
+                    const struct termios *termp,
+                    const struct winsize *winp) {
+    /*
+     * This is completely crazy.  openpty calls grantpt which the spec
+     * says may fork, and may not be called with a SIGCHLD handler.
+     * Now our application may have a SIGCHLD handler so that's bad.
+     * We could perhaps block it but we'd need to block it on all
+     * threads.  This is just Too Hard.
+     *
+     * So instead, we run openpty in a child process.  That child
+     * process then of course has only our own thread and our own
+     * signal handlers.  We pass the fds back.
+     *
+     * Since our only current caller actually wants two ptys, we
+     * support calling openpty multiple times for a single fork.
+     */
+    STATE_AO_GC(op->ao);
+    int count = op->count;
+    int r, i, rc, sockets[2], ptyfds[count][2];
+    libxl__carefd *for_child = 0;
+    pid_t pid = -1;
+
+    for (i=0; i<count; i++) {
+        ptyfds[i][0] = ptyfds[i][1] = -1;
+        libxl__openpty_result *res = &op->results[i];
+        assert(!res->master);
+        assert(!res->slave);
+    }
+    sockets[0] = sockets[1] = -1; /* 0 is for us, 1 for our child */
+
+    libxl__carefd_begin();
+    r = socketpair(AF_UNIX, SOCK_STREAM, 0, sockets);
+    if (r) { sockets[0] = sockets[1] = -1; }
+    for_child = libxl__carefd_opened(CTX, sockets[1]);
+    if (r) { LOGE(ERROR,"socketpair failed"); rc = ERROR_FAIL; goto out; }
+
+    pid = libxl__ev_child_fork(gc, &op->child, openpty_exited);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!pid) {
+        /* child */
+        close(sockets[0]);
+        signal(SIGCHLD, SIG_DFL);
+
+        for (i=0; i<count; i++) {
+            r = openpty(&ptyfds[i][0], &ptyfds[i][1], NULL, termp, winp);
+            if (r) { LOGE(ERROR,"openpty failed"); _exit(-1); }
+        }
+        rc = libxl__sendmsg_fds(gc, sockets[1], "",1,
+                                2*count, &ptyfds[0][0], "ptys");
+        if (rc) { LOGE(ERROR,"sendmsg to parent failed"); _exit(-1); }
+        _exit(0);
+    }
+
+    libxl__carefd_close(for_child);
+    for_child = 0;
+
+    /* this should be fast so do it synchronously */
+
+    libxl__carefd_begin();
+    char buf[1];
+    rc = libxl__recvmsg_fds(gc, sockets[0], buf,1,
+                            2*count, &ptyfds[0][0], "ptys");
+    if (!rc) {
+        for (i=0; i<count; i++) {
+            libxl__openpty_result *res = &op->results[i];
+            res->master = libxl__carefd_record(CTX, ptyfds[i][0]);
+            res->slave =  libxl__carefd_record(CTX, ptyfds[i][1]);
+        }
+    }
+    /* now the pty fds are in the carefds, if they were ever open */
+    libxl__carefd_unlock();
+    if (rc)
+        goto out;
+
+    rc = 0;
+
+ out:
+    if (sockets[0] >= 0) close(sockets[0]);
+    libxl__carefd_close(for_child);
+    if (libxl__ev_child_inuse(&op->child)) {
+        op->rc = rc;
+        /* we will get a callback when the child dies */
+        return 0;
+    }
+
+    assert(rc);
+    openpty_cleanup(op);
+    return rc;
+}
+
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index be11fbd..3744a28 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1513,6 +1513,42 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- openpty -----*/
+
+/*
+ * opens count (>0) ptys like count calls to openpty, and then
+ * calls back.  On entry, all op[].master and op[].slave must be
+ * 0.  On callback, either rc==0 and master and slave are non-0,
+ * or rc is a libxl error and they are both 0.  If libxl__openpty
+ * returns non-0 no callback will happen and everything is left
+ * cleaned up.
+ */
+
+typedef struct libxl__openpty_state libxl__openpty_state;
+typedef struct libxl__openpty_result libxl__openpty_result;
+typedef void libxl__openpty_callback(libxl__egc *egc, libxl__openpty_state *op);
+
+struct libxl__openpty_state {
+    /* caller must fill these in, and they must all remain valid */
+    libxl__ao *ao;
+    libxl__openpty_callback *callback;
+    int count;
+    libxl__openpty_result *results; /* actual size is count, out parameter */
+    /* public, result, caller may only read in callback */
+    int rc;
+    /* private for implementation */
+    libxl__ev_child child;
+};
+
+struct libxl__openpty_result {
+    libxl__carefd *master, *slave;
+};
+
+int libxl__openptys(libxl__openpty_state *op,
+                    const struct termios *termp,
+                    const struct winsize *winp);
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6n-0006gG-02; Fri, 11 May 2012 17:58:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006Wa-2E
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42691] by server-1.bemta-4.messagelabs.com id
	25/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32043 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435476"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IN-Li; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gF-JS;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:03 +0100
Message-ID: <1336759092-2432-19-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 18/27] libxl: ao: convert libxl__spawn_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__spawn_spawn becomes a callback-style asynchronous function.
The implementation is now in terms of libxl__ev_* including
libxl_ev_child.

All the callers need to be updated.  This includes the device model
spawning functions libxl__create_device_model and
libxl__create_stubdom; these are replaced with libxl__spawn_local_dm
and libxl__spawn_stubdom.  libxl__confirm_device_model_startup is
abolished; instead the dm spawner calls back.

(The choice of which kind of device model to create is lifted out of
what used to be libxl__create_device_model, because that function was
indirectly recursive.  Recursive callback-style operations are clumsy
because they require a pointer indirection for the nested states.)

Waiting for proper device model startup it is no longer notionally
optional.  Previously the code appeared to tolerate this by passing
NULL for various libxl__spawner_starting* parameters to device model
spawners.  However, this was not used anywhere.

Conversely, the "for_spawn" parameter to libxl__wait_for_offspring is
no longer supported.  It remains as an unused formal parameter to
avoid updating, in this patch, all the call sites which pass NULL.
libxl__wait_for_offspring is in any case itself an obsolete function,
so this wrinkle will go away when its callers are updated to use the
event system.  Consequently libxl__spawn_check is also abolished.

The "console ready" callback also remains unchanged in this patch.
The API for this needs to be reviewed in the context of the event
series and its reentrancy restrictions documented.

Thus their callers need to be updated.  These are the domain creation
functions libxl_domain_create_new and _restore.  These functions now
take ao_hows, and have a private state structure.

However domain creation remains not completely converted to the event
mechanism; in particular it runs the outward-facing function
libxl_run_bootloader with a NULL ao_how, which is quite wrong.  As it
happens in the current code this is not a bug because none of the rest
of the functionality surrounding the bootloader call will mind if the
event loop is reentered in the middle of its execution.

The file-scope function libxl__set_fd_flag which was used by the
previous spawn arrangements becomes unused and is removed; other
places in libxl can use libxl_fd_set_nonblock and
libxl_fd_set_cloexec, which of course remain.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v8:
 * Make midproc_cb callback with correct pid (that of the grandchild,
   not "middle" which is zero).  Reported by Roger Pau Monne.

Changes since v7:
 * Rename libxl__spawn_stubdom to libxl__spawn_stub_dm (and ..._state);
   rename the state's stubdom_* members to dm_*.
 * Eliminate the union between the two dm creation states in
   libxl__domain_create_state.  Instead, the domain creation code
   simply uses libxl__stub_dm_spawn_state.dm directly, if we're
   taking the local dm path.
 * Remove a spurious "break".
 * In domain creation, move the PV non-qemu case into the switch.
 * Code style fixes.
 * Constify some convenience aliases.
 * Improve comments (including typo fixes).
---
 tools/libxl/libxl.h          |   14 ++-
 tools/libxl/libxl_create.c   |  206 +++++++++++++++++++-----
 tools/libxl/libxl_dm.c       |  219 +++++++++++++++-----------
 tools/libxl/libxl_exec.c     |  354 +++++++++++++++++++++---------------------
 tools/libxl/libxl_internal.h |  286 +++++++++++++++++++++++-----------
 tools/libxl/xl_cmdimpl.c     |    6 +-
 6 files changed, 683 insertions(+), 402 deletions(-)

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d8dbb1e..e19d947 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -465,8 +465,18 @@ int libxl_ctx_free(libxl_ctx *ctx /* 0 is OK */);
 
 /* domain related functions */
 typedef int (*libxl_console_ready)(libxl_ctx *ctx, uint32_t domid, void *priv);
-int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config, libxl_console_ready cb, void *priv, uint32_t *domid);
-int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config, libxl_console_ready cb, void *priv, uint32_t *domid, int restore_fd);
+  /* fixme-ao   Need to review this API.  If we keep it, the reentrancy
+   * properties need to be documented but they may turn out to be too
+   * awkward */
+
+int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
+                            libxl_console_ready cb, void *priv, uint32_t *domid,
+                            const libxl_asyncop_how *ao_how);
+int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
+                                libxl_console_ready cb, void *priv,
+                                uint32_t *domid, int restore_fd,
+                                const libxl_asyncop_how *ao_how);
+
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index b137288..9ce107a 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -558,16 +558,40 @@ static int store_libxl_entry(libxl__gc *gc, uint32_t domid,
         libxl_device_model_version_to_string(b_info->device_model_version));
 }
 
-static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv,
-                            uint32_t *domid_out, int restore_fd)
+/*----- main domain creation -----*/
+
+/* We have a linear control flow; only one event callback is
+ * outstanding at any time.  Each initiation and callback function
+ * arranges for the next to be called, as the very last thing it
+ * does.  (If that particular sub-operation is not needed, a
+ * function will call the next event callback directly.)
+ */
+
+/* Event callbacks, in this order: */
+static void domcreate_devmodel_started(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int rc);
+
+/* Our own function to clean up and call the user's callback.
+ * The final call in the sequence. */
+static void domcreate_complete(libxl__egc *egc,
+                               libxl__domain_create_state *dcs,
+                               int rc);
+
+static void initiate_domain_create(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs)
 {
+    STATE_AO_GC(dcs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl__spawner_starting *dm_starting = 0;
-    libxl__domain_build_state state[1];
     uint32_t domid;
     int i, ret;
 
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+    const int restore_fd = dcs->restore_fd;
+    const libxl_console_ready cb = dcs->console_cb;
+    void *const priv = dcs->console_cb_priv;
+
     domid = 0;
 
     ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info);
@@ -580,9 +604,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         goto error_out;
     }
 
+    dcs->guest_domid = domid;
+    dcs->dmss.dm.guest_domid = 0; /* means we haven't spawned */
+
     if ( d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV && cb ) {
-        if ( (*cb)(ctx, domid, priv) )
-            goto error_out;
+        ret = (*cb)(ctx, domid, priv);
+        if (ret) goto error_out;
     }
 
     ret = libxl__domain_build_info_setdefault(gc, &d_config->b_info);
@@ -606,7 +633,17 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         }
     }
 
-    memset(state, 0, sizeof(*state));
+    memset(&dcs->build_state, 0, sizeof(dcs->build_state));
+    libxl__domain_build_state *state = &dcs->build_state;
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
 
     if ( restore_fd >= 0 ) {
         ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
@@ -656,14 +693,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         libxl_device_vkb_add(ctx, domid, &vkb);
         libxl_device_vkb_dispose(&vkb);
 
-        ret = libxl__create_device_model(gc, domid, d_config,
-                                         state, &dm_starting);
-        if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "failed to create device model: %d", ret);
-            goto error_out;
-        }
-        break;
+        dcs->dmss.dm.guest_domid = domid;
+        if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
+            libxl__spawn_stub_dm(egc, &dcs->dmss);
+        else
+            libxl__spawn_local_dm(egc, &dcs->dmss.dm);
+        return;
     }
     case LIBXL_DOMAIN_TYPE_PV:
     {
@@ -687,26 +722,52 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         libxl__device_console_dispose(&console);
 
         if (need_qemu) {
-            libxl__create_xenpv_qemu(gc, domid, d_config, state, &dm_starting);
+            dcs->dmss.dm.guest_domid = domid;
+            libxl__spawn_local_dm(egc, &dcs->dmss.dm);
+            return;
+        } else {
+            assert(!dcs->dmss.dm.guest_domid);
+            domcreate_devmodel_started(egc, &dcs->dmss.dm, 0);
+            return;
         }
-        break;
     }
     default:
         ret = ERROR_INVAL;
         goto error_out;
     }
+    abort(); /* not reached */
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_devmodel_started(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int ret)
+{
+    libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
+    STATE_AO_GC(dmss->spawn.ao);
+    int i;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+    const libxl_console_ready cb = dcs->console_cb;
+    void *const priv = dcs->console_cb_priv;
+
+    if (ret) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "device model did not start: %d", ret);
+        goto error_out;
+    }
 
-    if (dm_starting) {
+    if (dcs->dmss.dm.guest_domid) {
         if (d_config->b_info.device_model_version
             == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
             libxl__qmp_initializations(gc, domid, d_config);
         }
-        ret = libxl__confirm_device_model_startup(gc, state, dm_starting);
-        if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "device model did not start: %d", ret);
-            goto error_out;
-        }
     }
 
     for (i = 0; i < d_config->num_pcidevs; i++)
@@ -734,38 +795,95 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
     if ( cb && (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM ||
                 (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
                  d_config->b_info.u.pv.bootloader ))) {
-        if ( (*cb)(ctx, domid, priv) )
-            goto error_out;
+        ret = (*cb)(ctx, domid, priv);
+        if (ret) goto error_out;
     }
 
-    *domid_out = domid;
-    return 0;
+    domcreate_complete(egc, dcs, 0);
+    return;
 
 error_out:
-    if (domid)
-        libxl_domain_destroy(ctx, domid);
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
 
-    return ret;
+static void domcreate_complete(libxl__egc *egc,
+                               libxl__domain_create_state *dcs,
+                               int rc)
+{
+    STATE_AO_GC(dcs->ao);
+
+    if (rc) {
+        if (dcs->guest_domid) {
+            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
+            if (rc2)
+                LOG(ERROR, "unable to destroy domain %d following"
+                    " failed creation", dcs->guest_domid);
+        }
+        dcs->guest_domid = -1;
+    }
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+/*----- application-facing domain creation interface -----*/
+
+typedef struct {
+    libxl__domain_create_state dcs;
+    uint32_t *domid_out;
+} libxl__app_domain_create_state;
+
+static void domain_create_cb(libxl__egc *egc,
+                             libxl__domain_create_state *dcs,
+                             int rc, uint32_t domid);
+
+static int do_domain_create(libxl_ctx *ctx, libxl_domain_config *d_config,
+                            libxl_console_ready cb, void *priv, uint32_t *domid,
+                            int restore_fd, const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, 0, ao_how);
+    libxl__app_domain_create_state *cdcs;
+
+    GCNEW(cdcs);
+    cdcs->dcs.ao = ao;
+    cdcs->dcs.guest_config = d_config;
+    cdcs->dcs.restore_fd = restore_fd;
+    cdcs->dcs.console_cb = cb;
+    cdcs->dcs.console_cb_priv = priv;
+    cdcs->dcs.callback = domain_create_cb;
+    cdcs->domid_out = domid;
+
+    initiate_domain_create(egc, &cdcs->dcs);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_create_cb(libxl__egc *egc,
+                             libxl__domain_create_state *dcs,
+                             int rc, uint32_t domid)
+{
+    libxl__app_domain_create_state *cdcs = CONTAINER_OF(dcs, *cdcs, dcs);
+    STATE_AO_GC(cdcs->dcs.ao);
+
+    if (!rc)
+        *cdcs->domid_out = domid;
+
+    libxl__ao_complete(egc, ao, rc);
+}
+    
 int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv, uint32_t *domid)
+                            libxl_console_ready cb, void *priv,
+                            uint32_t *domid,
+                            const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
-    rc = do_domain_create(gc, d_config, cb, priv, domid, -1);
-    GC_FREE;
-    return rc;
+    return do_domain_create(ctx, d_config, cb, priv, domid, -1, ao_how);
 }
 
 int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
-                                libxl_console_ready cb, void *priv, uint32_t *domid, int restore_fd)
+                                libxl_console_ready cb, void *priv,
+                                uint32_t *domid, int restore_fd,
+                                const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
-    rc = do_domain_create(gc, d_config, cb, priv, domid, restore_fd);
-    GC_FREE;
-    return rc;
+    return do_domain_create(ctx, d_config, cb, priv, domid, restore_fd, ao_how);
 }
 
 /*
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 725c3c0..4ad7d02 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -669,24 +669,28 @@ retry_transaction:
     return 0;
 }
 
-static int libxl__create_stubdom(libxl__gc *gc,
-                                 int guest_domid,
-                                 libxl_domain_config *guest_config,
-                                 libxl__domain_build_state *d_state,
-                                 libxl__spawner_starting **starting_r)
+static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
+                                libxl__dm_spawn_state *stubdom_dmss,
+                                int rc);
+
+void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
+    STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
     libxl__device_console *console;
-    libxl_domain_config dm_config[1];
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
-    libxl__domain_build_state stubdom_state[1];
-    uint32_t dm_domid;
     char **args;
     struct xs_permissions perm[2];
     xs_transaction_t t;
-    libxl__spawner_starting *dm_starting = 0;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
 
     if (guest_config->b_info.device_model_version !=
         LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL) {
@@ -694,6 +698,8 @@ static int libxl__create_stubdom(libxl__gc *gc,
         goto out;
     }
 
+    sdss->pvqemu.guest_domid = 0;
+
     libxl_domain_create_info_init(&dm_config->c_info);
     dm_config->c_info.type = LIBXL_DOMAIN_TYPE_PV;
     dm_config->c_info.name = libxl__sprintf(gc, "%s-dm",
@@ -741,10 +747,10 @@ static int libxl__create_stubdom(libxl__gc *gc,
     dm_config->num_vkbs = 1;
 
     /* fixme: this function can leak the stubdom if it fails */
-    dm_domid = 0;
-    ret = libxl__domain_make(gc, &dm_config->c_info, &dm_domid);
+    ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
         goto out;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
     ret = libxl__domain_build(gc, &dm_config->b_info, dm_domid, stubdom_state);
     if (ret)
         goto out;
@@ -852,42 +858,67 @@ retry_transaction:
             goto out_free;
     }
 
-    if (libxl__create_xenpv_qemu(gc, dm_domid,
-                                 dm_config,
-                                 stubdom_state,
-                                 &dm_starting) < 0) {
-        ret = ERROR_FAIL;
-        goto out_free;
-    }
-    if (libxl__confirm_device_model_startup(gc, d_state, dm_starting) < 0) {
-        ret = ERROR_FAIL;
-        goto out_free;
-    }
-
-    libxl_domain_unpause(ctx, dm_domid);
+    sdss->pvqemu.guest_domid = dm_domid;
+    sdss->pvqemu.guest_config = &sdss->dm_config;
+    sdss->pvqemu.build_state = &sdss->dm_state;
+    sdss->pvqemu.callback = spawn_stubdom_pvqemu_cb;
 
-    if (starting_r) {
-        *starting_r = calloc(1, sizeof(libxl__spawner_starting));
-        (*starting_r)->domid = guest_domid;
-        (*starting_r)->dom_path = libxl__xs_get_dompath(gc, guest_domid);
-        (*starting_r)->for_spawn = NULL;
-    }
+    libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    ret = 0;
+    free(args);
+    return;
 
 out_free:
     free(args);
 out:
-    return ret;
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
 }
 
-int libxl__create_device_model(libxl__gc *gc,
-                              int domid,
-                              libxl_domain_config *guest_config,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting **starting_r)
+static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
+                                libxl__dm_spawn_state *stubdom_dmss,
+                                int rc)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    if (rc) goto out;
+
+    rc = libxl_domain_unpause(CTX, dm_domid);
+    if (rc) goto out;
+
+ out:
+    if (rc) {
+        if (dm_domid)
+            libxl_domain_destroy(CTX, dm_domid);
+    }
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
+/* callbacks passed to libxl__spawn_spawn */
+static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
+                                 const char *xsdata);
+static void device_model_startup_failed(libxl__egc *egc,
+                                        libxl__spawn_state *spawn);
+
+/* our "next step" function, called from those callbacks and elsewhere */
+static void device_model_spawn_outcome(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int rc);
+
+void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state *dmss)
+{
+    /* convenience aliases */
+    const int domid = dmss->guest_domid;
+    libxl__domain_build_state *const state = dmss->build_state;
+    libxl__spawn_state *const spawn = &dmss->spawn;
+
+    STATE_AO_GC(dmss->spawn.ao);
+
+    libxl_ctx *ctx = CTX;
+    libxl_domain_config *guest_config = dmss->guest_config;
     const libxl_domain_create_info *c_info = &guest_config->c_info;
     const libxl_domain_build_info *b_info = &guest_config->b_info;
     const libxl_vnc_info *vnc = libxl__dm_vnc(guest_config);
@@ -895,15 +926,13 @@ int libxl__create_device_model(libxl__gc *gc,
     int logfile_w, null;
     int rc;
     char **args, **arg;
-    libxl__spawner_starting buf_starting, *p;
     xs_transaction_t t;
     char *vm_path;
     char **pass_stuff;
     const char *dm;
 
     if (libxl_defbool_val(b_info->device_model_stubdomain)) {
-        rc = libxl__create_stubdom(gc, domid, guest_config, state, starting_r);
-        goto out;
+        abort();
     }
 
     dm = libxl__domain_device_model(gc, b_info);
@@ -947,25 +976,8 @@ int libxl__create_device_model(libxl__gc *gc,
     free(logfile);
     null = open("/dev/null", O_RDONLY);
 
-    if (starting_r) {
-        rc = ERROR_NOMEM;
-        *starting_r = calloc(1, sizeof(libxl__spawner_starting));
-        if (!*starting_r)
-            goto out_close;
-        p = *starting_r;
-        p->for_spawn = calloc(1, sizeof(libxl__spawn_starting));
-    } else {
-        p = &buf_starting;
-        p->for_spawn = NULL;
-    }
-
-    p->domid = domid;
-    p->dom_path = libxl__xs_get_dompath(gc, domid);
-    p->pid_path = "image/device-model-pid";
-    if (!p->dom_path) {
-        rc = ERROR_FAIL;
-        goto out_close;
-    }
+    const char *dom_path = libxl__xs_get_dompath(gc, domid);
+    spawn->pidpath = GCSPRINTF("%s/%s", dom_path, "image/device-model-pid");
 
     if (vnc && vnc->passwd) {
         /* This xenstore key will only be used by qemu-xen-traditionnal.
@@ -973,7 +985,7 @@ int libxl__create_device_model(libxl__gc *gc,
 retry_transaction:
         /* Find uuid and the write the vnc password to xenstore for qemu. */
         t = xs_transaction_start(ctx->xsh);
-        vm_path = libxl__xs_read(gc,t,libxl__sprintf(gc, "%s/vm", p->dom_path));
+        vm_path = libxl__xs_read(gc,t,libxl__sprintf(gc, "%s/vm", dom_path));
         if (vm_path) {
             /* Now write the vncpassword into it. */
             pass_stuff = libxl__calloc(gc, 3, sizeof(char *));
@@ -990,8 +1002,15 @@ retry_transaction:
     for (arg = args; *arg; arg++)
         LIBXL__LOG(CTX, XTL_DEBUG, "  %s", *arg);
 
-    rc = libxl__spawn_spawn(gc, p->for_spawn, "device model",
-                            libxl_spawner_record_pid, p);
+    spawn->what = GCSPRINTF("domain %d device model", domid);
+    spawn->xspath = GCSPRINTF("/local/domain/0/device-model/%d/state", domid);
+    spawn->timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    spawn->pidpath = GCSPRINTF("%s/image/device-model-pid", dom_path);
+    spawn->midproc_cb = libxl__spawn_record_pid;
+    spawn->confirm_cb = device_model_confirm;
+    spawn->failure_cb = device_model_startup_failed;
+
+    rc = libxl__spawn_spawn(egc, spawn);
     if (rc < 0)
         goto out_close;
     if (!rc) { /* inner child */
@@ -1006,30 +1025,61 @@ out_close:
     close(logfile_w);
     free(args);
 out:
-    return rc;
+    if (rc)
+        device_model_spawn_outcome(egc, dmss, rc);
+}
+
+
+static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
+                                 const char *xsdata)
+{
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(spawn, *dmss, spawn);
+    STATE_AO_GC(spawn->ao);
+
+    if (!xsdata)
+        return;
+
+    if (strcmp(xsdata, "running"))
+        return;
+
+    libxl__spawn_detach(gc, spawn);
+
+    device_model_spawn_outcome(egc, dmss, 0);
 }
 
+static void device_model_startup_failed(libxl__egc *egc,
+                                        libxl__spawn_state *spawn)
+{
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(spawn, *dmss, spawn);
+    device_model_spawn_outcome(egc, dmss, ERROR_FAIL);
+}
 
-int libxl__confirm_device_model_startup(libxl__gc *gc,
-                                libxl__domain_build_state *state,
-                                libxl__spawner_starting *starting)
+static void device_model_spawn_outcome(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int rc)
 {
-    char *path;
-    int domid = starting->domid;
-    int ret, ret2;
-    path = libxl__sprintf(gc, "/local/domain/0/device-model/%d/state", domid);
-    ret = libxl__spawn_confirm_offspring_startup(gc,
-                                     LIBXL_DEVICE_MODEL_START_TIMEOUT,
-                                     "Device Model", path, "running", starting);
+    STATE_AO_GC(dmss->spawn.ao);
+    int ret2;
+
+    if (rc)
+        LOG(ERROR, "%s: spawn failed (rc=%d)", dmss->spawn.what, rc);
+
+    libxl__domain_build_state *state = dmss->build_state;
+
     if (state->saved_state) {
         ret2 = unlink(state->saved_state);
-        if (ret2) LIBXL__LOG_ERRNO(CTX, XTL_ERROR,
-                                   "failed to remove device-model state %s\n",
-                                   state->saved_state);
-        /* Do not clobber spawn_confirm error code with unlink error code. */
-        if (!ret) ret = ret2;
+        if (ret2) {
+            LOGE(ERROR, "%s: failed to remove device-model state %s",
+                 dmss->spawn.what, state->saved_state);
+            rc = ERROR_FAIL;
+            goto out;
+        }
     }
-    return ret;
+
+    rc = 0;
+
+ out:
+    dmss->callback(egc, dmss, rc);
 }
 
 int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
@@ -1131,15 +1181,6 @@ out:
     return ret;
 }
 
-int libxl__create_xenpv_qemu(libxl__gc *gc, uint32_t domid,
-                             libxl_domain_config *guest_config,
-                             libxl__domain_build_state *state,
-                             libxl__spawner_starting **starting_r)
-{
-    libxl__create_device_model(gc, domid, guest_config, state, starting_r);
-    return 0;
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index 2ee2154..882c048 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -127,29 +127,35 @@ void libxl_report_child_exitstatus(libxl_ctx *ctx,
     }
 }
 
-void libxl_spawner_record_pid(void *for_spawn, pid_t innerchild)
+int libxl__spawn_record_pid(libxl__gc *gc, libxl__spawn_state *spawn,
+                            pid_t innerchild)
 {
-    libxl__spawner_starting *starting = for_spawn;
-    struct xs_handle *xsh;
-    char *path = NULL, *pid = NULL;
-    int len;
-
-    if (asprintf(&path, "%s/%s", starting->dom_path, starting->pid_path) < 0)
-        goto out;
+    struct xs_handle *xsh = NULL;
+    const char *pid = NULL;
+    int rc, xsok;
 
-    len = asprintf(&pid, "%d", innerchild);
-    if (len < 0)
-        goto out;
+    pid = GCSPRINTF("%d", innerchild);
 
     /* we mustn't use the parent's handle in the child */
     xsh = xs_daemon_open();
+    if (!xsh) {
+        LOGE(ERROR, "write %s = %s: xenstore reopen failed",
+             spawn->pidpath, pid);
+        rc = ERROR_FAIL;  goto out;
+    }
 
-    xs_write(xsh, XBT_NULL, path, pid, len);
+    xsok = xs_write(xsh, XBT_NULL, spawn->pidpath, pid, strlen(pid));
+    if (!xsok) {
+        LOGE(ERROR,
+             "write %s = %s: xenstore write failed", spawn->pidpath, pid);
+        rc = ERROR_FAIL;  goto out;
+    }
+
+    rc = 0;
 
-    xs_daemon_close(xsh);
 out:
-    free(path);
-    free(pid);
+    if (xsh) xs_daemon_close(xsh);
+    return rc ? SIGTERM : 0;
 }
 
 int libxl__wait_for_offspring(libxl__gc *gc,
@@ -184,19 +190,9 @@ int libxl__wait_for_offspring(libxl__gc *gc,
     tv.tv_sec = timeout;
     tv.tv_usec = 0;
     nfds = xs_fileno(xsh) + 1;
-    if (spawning && spawning->fd > xs_fileno(xsh))
-        nfds = spawning->fd + 1;
+    assert(!spawning);
 
     while (rc > 0 || (!rc && tv.tv_sec > 0)) {
-        if ( spawning ) {
-            rc = libxl__spawn_check(gc, spawning);
-            if ( rc ) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "%s died during startup", what);
-                rc = -1;
-                goto err_died;
-            }
-        }
         p = xs_read(xsh, XBT_NULL, path, &len);
         if ( NULL == p )
             goto again;
@@ -218,8 +214,6 @@ again:
         free(p);
         FD_ZERO(&rfds);
         FD_SET(xs_fileno(xsh), &rfds);
-        if (spawning)
-            FD_SET(spawning->fd, &rfds);
         rc = select(nfds, &rfds, NULL, NULL, &tv);
         if (rc > 0) {
             if (FD_ISSET(xs_fileno(xsh), &rfds)) {
@@ -229,207 +223,215 @@ again:
                 else
                     goto again;
             }
-            if (spawning && FD_ISSET(spawning->fd, &rfds)) {
-                unsigned char dummy;
-                if (read(spawning->fd, &dummy, sizeof(dummy)) != 1)
-                    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_DEBUG,
-                                     "failed to read spawn status pipe");
-            }
         }
     }
     LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s not ready", what);
-err_died:
+
     xs_unwatch(xsh, path, path);
     xs_daemon_close(xsh);
 err:
     return -1;
 }
 
-static int detach_offspring(libxl__gc *gc,
-                               libxl__spawner_starting *starting)
-{
-    int rc;
-    rc = libxl__spawn_detach(gc, starting->for_spawn);
-    if (starting->for_spawn)
-        free(starting->for_spawn);
-    free(starting);
-    return rc;
-}
 
-int libxl__spawn_confirm_offspring_startup(libxl__gc *gc,
-                                       uint32_t timeout, char *what,
-                                       char *path, char *state,
-                                       libxl__spawner_starting *starting)
-{
-    int detach;
-    int problem = libxl__wait_for_offspring(gc, starting->domid, timeout, what,
-                                               path, state,
-                                               starting->for_spawn, NULL, NULL);
-    detach = detach_offspring(gc, starting);
-    return problem ? problem : detach;
-}
+/*----- spawn implementation -----*/
 
-static int libxl__set_fd_flag(libxl__gc *gc, int fd, int flag)
-{
-    int flags;
+/*
+ * Full set of possible states of a libxl__spawn_state and its _detachable:
+ *
+ *               ss->        ss->        ss->    | ssd->       ssd->
+ *               timeout     xswatch     ssd     |  mid         ss
+ *  - Undefined   undef       undef       no     |  -           -
+ *  - Idle        Idle        Idle        no     |  -           -
+ *  - Active      Active      Active      yes    |  Active      yes
+ *  - Partial     Active/Idle Active/Idle maybe  |  Active/Idle yes  (if exists)
+ *  - Detached    -           -           -      |  Active      no
+ *
+ * When in state Detached, the middle process has been sent a SIGKILL.
+ */
 
-    flags = fcntl(fd, F_GETFL);
-    if (flags == -1)
-        return ERROR_FAIL;
+/* Event callbacks. */
+static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
+                              const char *watch_path, const char *event_path);
+static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                          const struct timeval *requested_abs);
+static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
+                               pid_t pid, int status);
 
-    flags |= flag;
+/* Precondition: Partial.  Results: Detached. */
+static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss);
 
-    if (fcntl(fd, F_SETFL, flags) == -1)
-        return ERROR_FAIL;
+/* Precondition: Partial; caller has logged failure reason.
+ * Results: Caller notified of failure;
+ *  after return, ss may be completely invalid as caller may reuse it */
+static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss);
 
-    return 0;
+void libxl__spawn_init(libxl__spawn_state *ss)
+{
+    libxl__ev_time_init(&ss->timeout);
+    libxl__ev_xswatch_init(&ss->xswatch);
+    ss->ssd = 0;
 }
 
-int libxl__spawn_spawn(libxl__gc *gc,
-                      libxl__spawn_starting *for_spawn,
-                      const char *what,
-                      void (*intermediate_hook)(void *for_spawn,
-                                                pid_t innerchild),
-                      void *hook_data)
+int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    pid_t child, got;
+    STATE_AO_GC(ss->ao);
+    int r;
+    pid_t child;
     int status, rc;
-    pid_t intermediate;
-    int pipes[2];
-    unsigned char dummy = 0;
-
-    if (for_spawn) {
-        for_spawn->what = strdup(what);
-        if (!for_spawn->what) return ERROR_NOMEM;
-
-        if (libxl_pipe(ctx, pipes) < 0)
-            goto err_parent;
-        if (libxl__set_fd_flag(gc, pipes[0], O_NONBLOCK) < 0 ||
-            libxl__set_fd_flag(gc, pipes[1], O_NONBLOCK) < 0)
-            goto err_parent_pipes;
-    }
 
-    intermediate = libxl_fork(ctx);
-    if (intermediate ==-1)
-        goto err_parent_pipes;
+    libxl__spawn_init(ss);
+    ss->ssd = libxl__zalloc(0, sizeof(*ss->ssd));
+    libxl__ev_child_init(&ss->ssd->mid);
+
+    rc = libxl__ev_time_register_rel(gc, &ss->timeout,
+                                     spawn_timeout, ss->timeout_ms);
+    if (rc) goto out_err;
 
-    if (intermediate) {
+    rc = libxl__ev_xswatch_register(gc, &ss->xswatch,
+                                    spawn_watch_event, ss->xspath);
+    if (rc) goto out_err;
+
+    pid_t middle = libxl__ev_child_fork(gc, &ss->ssd->mid, spawn_middle_death);
+    if (middle ==-1) { rc = ERROR_FAIL; goto out_err; }
+
+    if (middle) {
         /* parent */
-        if (for_spawn) {
-            for_spawn->intermediate = intermediate;
-            for_spawn->fd = pipes[0];
-            close(pipes[1]);
-        }
         return 1;
     }
 
-    /* we are now the intermediate process */
-    if (for_spawn) close(pipes[0]);
+    /* we are now the middle process */
 
     child = fork();
     if (child == -1)
         exit(255);
     if (!child) {
-        if (for_spawn) close(pipes[1]);
         return 0; /* caller runs child code */
     }
 
-    intermediate_hook(hook_data, child);
-
-    if (!for_spawn) _exit(0); /* just detach then */
-
-    got = waitpid(child, &status, 0);
-    assert(got == child);
-
-    rc = (WIFEXITED(status) ? WEXITSTATUS(status) :
-          WIFSIGNALED(status) && WTERMSIG(status) < 127
-          ? WTERMSIG(status)+128 : -1);
-    if (for_spawn) {
-        if (write(pipes[1], &dummy, sizeof(dummy)) != 1)
-            perror("libxl__spawn_spawn: unable to signal child exit to parent");
+    int failsig = ss->midproc_cb(gc, ss, child);
+    if (failsig) {
+        kill(child, failsig);
+        _exit(127);
     }
-    _exit(rc);
 
- err_parent_pipes:
-    if (for_spawn) {
-        close(pipes[0]);
-        close(pipes[1]);
+    for (;;) {
+        pid_t got = waitpid(child, &status, 0);
+        if (got == -1) {
+            assert(errno == EINTR);
+            continue;
+        }
+        assert(got == child);
+        break;
     }
 
- err_parent:
-    if (for_spawn) free(for_spawn->what);
+    r = (WIFEXITED(status) && WEXITSTATUS(status) <= 127 ? WEXITSTATUS(status) :
+         WIFSIGNALED(status) && WTERMSIG(status) < 127 ? WTERMSIG(status)+128 :
+         -1);
+    _exit(r);
 
-    return ERROR_FAIL;
+ out_err:
+    spawn_cleanup(gc, ss);
+    return rc;
 }
 
-static void report_spawn_intermediate_status(libxl__gc *gc,
-                                             libxl__spawn_starting *for_spawn,
-                                             int status)
+static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss)
 {
-    if (!WIFEXITED(status)) {
-        libxl_ctx *ctx = libxl__gc_owner(gc);
-        char *intermediate_what;
-        /* intermediate process did the logging itself if it exited */
-        if ( asprintf(&intermediate_what,
-                 "%s intermediate process (startup monitor)",
-                 for_spawn->what) < 0 )
-            intermediate_what = "intermediate process (startup monitor)";
-        libxl_report_child_exitstatus(ctx, LIBXL__LOG_ERROR, intermediate_what,
-                                      for_spawn->intermediate, status);
+    int r;
+
+    libxl__ev_time_deregister(gc, &ss->timeout);
+    libxl__ev_xswatch_deregister(gc, &ss->xswatch);
+
+    libxl__spawn_state_detachable *ssd = ss->ssd;
+    if (ssd) {
+        if (libxl__ev_child_inuse(&ssd->mid)) {
+            pid_t child = ssd->mid.pid;
+            r = kill(child, SIGKILL);
+            if (r && errno != ESRCH)
+                LOGE(WARN, "%s: failed to kill intermediate child (pid=%lu)",
+                     ss->what, (unsigned long)child);
+        }
+
+        /* disconnect the ss and ssd from each other */
+        ssd->ss = 0;
+        ss->ssd = 0;
     }
 }
 
-int libxl__spawn_detach(libxl__gc *gc,
-                       libxl__spawn_starting *for_spawn)
+static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int r, status;
-    pid_t got;
-    int rc = 0;
+    EGC_GC;
+    spawn_cleanup(gc, ss);
+    ss->failure_cb(egc, ss); /* must be last; callback may do anything to ss */
+}
 
-    if (!for_spawn) return 0;
+static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                          const struct timeval *requested_abs)
+{
+    /* Before event, was Active; is now Partial. */
+    EGC_GC;
+    libxl__spawn_state *ss = CONTAINER_OF(ev, *ss, timeout);
+    LOG(ERROR, "%s: startup timed out", ss->what);
+    spawn_failed(egc, ss); /* must be last */
+}
 
-    if (for_spawn->intermediate) {
-        r = kill(for_spawn->intermediate, SIGKILL);
-        if (r) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "could not kill %s intermediate process [%ld]",
-                         for_spawn->what,
-                         (unsigned long)for_spawn->intermediate);
-            abort(); /* things are very wrong */
-        }
-        got = waitpid(for_spawn->intermediate, &status, 0);
-        assert(got == for_spawn->intermediate);
-        if (!(WIFSIGNALED(status) && WTERMSIG(status) == SIGKILL)) {
-            report_spawn_intermediate_status(gc, for_spawn, status);
-            rc = ERROR_FAIL;
-        }
-        for_spawn->intermediate = 0;
+static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
+                              const char *watch_path, const char *event_path)
+{
+    /* On entry, is Active. */
+    EGC_GC;
+    libxl__spawn_state *ss = CONTAINER_OF(xsw, *ss, xswatch);
+    char *p = libxl__xs_read(gc, 0, ss->xspath);
+    if (!p && errno != ENOENT) {
+        LOG(ERROR, "%s: xenstore read of %s failed", ss->what, ss->xspath);
+        spawn_failed(egc, ss); /* must be last */
+        return;
     }
-
-    free(for_spawn->what);
-    for_spawn->what = 0;
-
-    return rc;
+    ss->confirm_cb(egc, ss, p); /* must be last */
 }
 
-int libxl__spawn_check(libxl__gc *gc, libxl__spawn_starting *for_spawn)
+static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
+                               pid_t pid, int status)
+    /* Before event, was Active or Detached;
+     * is now Active or Detached except that ssd->mid is Idle */
 {
-    pid_t got;
-    int status;
-
-    if (!for_spawn) return 0;
+    EGC_GC;
+    libxl__spawn_state_detachable *ssd = CONTAINER_OF(childw, *ssd, mid);
+    libxl__spawn_state *ss = ssd->ss;
 
-    assert(for_spawn->intermediate);
-    got = waitpid(for_spawn->intermediate, &status, WNOHANG);
-    if (!got) return 0;
-
-    assert(got == for_spawn->intermediate);
-    report_spawn_intermediate_status(gc, for_spawn, status);
+    if (!WIFEXITED(status)) {
+        const char *what =
+            GCSPRINTF("%s intermediate process (startup monitor)",
+                      ss ? ss->what : "(detached)");
+        int loglevel = ss ? XTL_ERROR : XTL_WARN;
+        libxl_report_child_exitstatus(CTX, loglevel, what, pid, status);
+    } else if (ss) { /* otherwise it was supposed to be a daemon by now */
+        if (!status)
+            LOG(ERROR, "%s [%ld]: unexpectedly exited with exit status 0,"
+                " when we were waiting for it to confirm startup",
+                ss->what, (unsigned long)pid);
+        else if (status <= 127)
+            LOG(ERROR, "%s [%ld]: failed startup with non-zero exit status %d",
+                ss->what, (unsigned long)pid, status);
+        else if (status < 255) {
+            int sig = status - 128;
+            const char *str = strsignal(sig);
+            if (str)
+                LOG(ERROR, "%s [%ld]: died during startup due to fatal"
+                    " signal %s", ss->what, (unsigned long)pid, str);
+            else
+                LOG(ERROR, "%s [%ld]: died during startup due to unknown fatal"
+                    " signal number %d", ss->what, (unsigned long)pid, sig);
+        }
+        ss->ssd = 0; /* detatch the ssd to make the ss be in state Partial */
+        spawn_failed(egc, ss); /* must be last use of ss */
+    }
+    free(ssd);
+}
 
-    for_spawn->intermediate = 0;
-    return ERROR_FAIL;
+void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state *ss)
+{
+    spawn_cleanup(gc, ss);
 }
 
 /*
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 6fb99f6..dc84881 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -847,75 +847,198 @@ _hidden int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
                                       libxl_device_pci *pcidev, int num);
 _hidden int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid);
 
-/* xl_exec */
+/*
+ *----- spawn -----
+ *
+ * Higher-level double-fork and separate detach eg as for device models
+ *
+ * Each libxl__spawn_state is in one of the conventional states
+ *    Undefined, Idle, Active
+ */
 
- /* higher-level double-fork and separate detach eg as for device models */
+typedef struct libxl__obsolete_spawn_starting libxl__spawn_starting;
+/* this type is never defined, so no objects of this type exist
+ * fixme-ao  This should go away completely.  */
 
-typedef struct {
-    /* put this in your own status structure as returned to application */
-    /* all fields are private to libxl_spawn_... */
-    pid_t intermediate;
-    int fd;
-    char *what; /* malloc'd in spawn_spawn */
-} libxl__spawn_starting;
+typedef struct libxl__spawn_state libxl__spawn_state;
 
-typedef struct {
-    char *dom_path; /* from libxl_malloc, only for libxl_spawner_record_pid */
-    const char *pid_path; /* only for libxl_spawner_record_pid */
-    int domid;
-    libxl__spawn_starting *for_spawn;
-} libxl__spawner_starting;
+/* Clears out a spawn state; idempotent. */
+_hidden void libxl__spawn_init(libxl__spawn_state*);
 
 /*
- * libxl__spawn_spawn - Create a new process
- * gc: allocation pool
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- * what: string describing the spawned process
- * intermediate_hook: helper to record pid, such as libxl_spawner_record_pid
- * hook_data: data to pass to the hook function
+ * libxl__spawn_spawn - Create a new process which will become daemonic
+ * Forks twice, to allow the child to detach entirely from the parent.
+ *
+ * We call the two generated processes the "middle child" (result of
+ * the first fork) and the "inner child" (result of the second fork
+ * which takes place in the middle child).
+ *
+ * The inner child must soon exit or exec.  It must also soon exit or
+ * notify the parent of its successful startup by writing to the
+ * xenstore path xspath.
+ *
+ * The user (in the parent) will be called back (confirm_cb) every
+ * time that xenstore path is modified.
+ *
+ * In both children, the ctx is not fully usable: gc and logging
+ * operations are OK, but operations on Xen and xenstore are not.
+ * (The restrictions are the same as those which apply to children
+ * made with libxl__ev_child_fork.)
+ *
+ * midproc_cb will be called in the middle child, with the pid of the
+ * inner child; this could for example record the pid.  midproc_cb
+ * should be fast, and should return.  It will be called (reentrantly)
+ * within libxl__spawn_init.
+ *
+ * failure_cb will be called in the parent on failure of the
+ * intermediate or final child; an error message will have been
+ * logged.
+ *
+ * confirm_cb and failure_cb will not be called reentrantly from
+ * within libxl__spawn_spawn.
+ *
+ * what: string describing the spawned process, used for logging
  *
  * Logs errors.  A copy of "what" is taken. 
  * Return values:
- *  < 0   error, for_spawn need not be detached
- *   +1   caller is the parent, must call detach on *for_spawn eventually
+ *  < 0   error, *spawn is now Idle and need not be detached
+ *   +1   caller is the parent, *spawn is Active and must eventually be detached
  *    0   caller is now the inner child, should probably call libxl__exec
- * Caller, may pass 0 for for_spawn, in which case no need to detach.
+ *
+ * The spawn state must be Undefined or Idle on entry.
  */
-_hidden int libxl__spawn_spawn(libxl__gc *gc,
-                      libxl__spawn_starting *for_spawn,
-                      const char *what,
-                      void (*intermediate_hook)(void *for_spawn, pid_t innerchild),
-                      void *hook_data);
+_hidden int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *spawn);
 
 /*
- * libxl_spawner_record_pid - Record given pid in xenstore
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- * innerchild: pid of the child
+ * libxl__spawn_detach - Detaches the daemonic child.
+ *
+ * Works by killing the intermediate process from spawn_spawn.
+ * After this function returns, failures of either child are no
+ * longer reported via failure_cb.
+ *
+ * If called before the inner child has been created, this may prevent
+ * it from running at all.  Thus this should be called only when the
+ * inner child has notified that it is ready.  Normally it will be
+ * called from within confirm_cb.
  *
- * This function is passed as intermediate_hook to libxl__spawn_spawn.
+ * Logs errors.
+ *
+ * The spawn state must be Active or Idle on entry and will be Idle
+ * on return.
  */
-_hidden void libxl_spawner_record_pid(void *for_spawn, pid_t innerchild);
+_hidden void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state*);
 
 /*
- * libxl__spawn_confirm_offspring_startup - Wait for child state
- * gc: allocation pool
- * timeout: how many seconds to wait for the child
- * what: string describing the spawned process
- * path: path to the state file in xenstore
- * state: expected string to wait for in path (optional)
- * starting: malloc'd pointer to libxl__spawner_starting
+ * If successful, this should return 0.
  *
- * Returns 0 on success, and < 0 on error.
+ * Otherwise it should return a signal number, which will be
+ * sent to the inner child; the overall spawn will then fail.
+ */
+typedef int /* signal number */
+libxl__spawn_midproc_cb(libxl__gc*, libxl__spawn_state*, pid_t inner);
+
+/*
+ * Called if the spawn failed.  The reason will have been logged.
+ * The spawn state will be Idle on entry to the callback (and
+ * it may be reused immediately if desired).
+ */
+typedef void libxl__spawn_failure_cb(libxl__egc*, libxl__spawn_state*);
+
+/*
+ * Called when the xspath watch triggers.  xspath will have been read
+ * and the result placed in xsdata; if that failed because the key
+ * didn't exist, xspath==0.  (If it failed for some other reason,
+ * the spawn machinery calls failure_cb instead.)
  *
- * This function waits the given timeout for the given path to appear
- * in xenstore, and optionally for state in path.
- * The intermediate process created in libxl__spawn_spawn is killed.
- * The memory referenced by starting->for_spawn and starting is free'd.
+ * If the child has indicated its successful startup, or a failure
+ * has occurred, this should call libxl__spawn_detach.
+ *
+ * If the child is still starting up, should simply return, doing
+ * nothing.
+ *
+ * The spawn state will be Active on entry to the callback; there
+ * are no restrictions on the state on return; it may even have
+ * been detached and reused.
  */
-_hidden int libxl__spawn_confirm_offspring_startup(libxl__gc *gc,
-                                       uint32_t timeout, char *what,
-                                       char *path, char *state,
-                                       libxl__spawner_starting *starting);
+typedef void libxl__spawn_confirm_cb(libxl__egc*, libxl__spawn_state*,
+                                     const char *xsdata);
+
+typedef struct {
+    /* Private to the spawn implementation.
+     */
+    /* This separate struct, from malloc, allows us to "detach"
+     * the child and reap it later, when our user has gone
+     * away and freed its libxl__spawn_state */
+    struct libxl__spawn_state *ss;
+    libxl__ev_child mid;
+} libxl__spawn_state_detachable;
+
+struct libxl__spawn_state {
+    /* must be filled in by user and remain valid */
+    libxl__ao *ao;
+    const char *what;
+    const char *xspath;
+    const char *pidpath; /* only used by libxl__spawn_midproc_record_pid */
+    int timeout_ms; /* -1 means forever */
+    libxl__spawn_midproc_cb *midproc_cb;
+    libxl__spawn_failure_cb *failure_cb;
+    libxl__spawn_confirm_cb *confirm_cb;
+
+    /* remaining fields are private to libxl_spawn_... */
+    libxl__ev_time timeout;
+    libxl__ev_xswatch xswatch;
+    libxl__spawn_state_detachable *ssd;
+};
+
+static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
+    { return !!ss->ssd; }
+
+/*
+ * libxl_spawner_record_pid - Record given pid in xenstore
+ *
+ * This function can be passed directly as an intermediate_hook to
+ * libxl__spawn_spawn.  On failure, returns the value SIGTERM.
+ */
+_hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
+                                    pid_t innerchild);
+
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 
 /*
  * libxl__wait_for_offspring - Wait for child state
@@ -948,31 +1071,6 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
                                                        void *userdata),
                                  void *check_callback_userdata);
 
-/*
- * libxl__spawn_detach - Kill intermediate process from spawn_spawn
- * gc: allocation pool
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- *
- * Returns 0 on success, and < 0 on error.
- *
- * Logs errors.  Idempotent, but only permitted after successful
- * call to libxl__spawn_spawn, and no point calling it again if it fails.
- */
-_hidden int libxl__spawn_detach(libxl__gc *gc,
-                       libxl__spawn_starting *for_spawn);
-
-/*
- * libxl__spawn_check - Check intermediate child process
- * gc: allocation pool
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- *
- * Returns 0 on success, and < 0 on error.
- *
- * Logs errors but also returns them.
- * Caller must still call detach.
- */
-_hidden int libxl__spawn_check(libxl__gc *gc,
-                       libxl__spawn_starting *for_spawn);
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
@@ -991,15 +1089,6 @@ _hidden int libxl__domain_build(libxl__gc *gc,
 /* for device model creation */
 _hidden const char *libxl__domain_device_model(libxl__gc *gc,
                                         const libxl_domain_build_info *info);
-_hidden int libxl__create_device_model(libxl__gc *gc,
-                              int domid,
-                              libxl_domain_config *guest_config,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting **starting_r);
-_hidden int libxl__create_xenpv_qemu(libxl__gc *gc, uint32_t domid,
-                              libxl_domain_config *guest_config,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting **starting_r);
 _hidden int libxl__need_xenpv_qemu(libxl__gc *gc,
         int nr_consoles, libxl__device_console *consoles,
         int nr_vfbs, libxl_device_vfb *vfbs,
@@ -1007,10 +1096,6 @@ _hidden int libxl__need_xenpv_qemu(libxl__gc *gc,
   /* Caller must either: pass starting_r==0, or on successful
    * return pass *starting_r (which will be non-0) to
    * libxl__confirm_device_model_startup or libxl__detach_device_model. */
-_hidden int libxl__confirm_device_model_startup(libxl__gc *gc,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting *starting);
-_hidden int libxl__detach_device_model(libxl__gc *gc, libxl__spawner_starting *starting);
 _hidden int libxl__wait_for_device_model(libxl__gc *gc,
                                 uint32_t domid, char *state,
                                 libxl__spawn_starting *spawning,
@@ -1581,6 +1666,31 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
 
+/*----- Domain creation -----*/
+
+typedef struct libxl__domain_create_state libxl__domain_create_state;
+
+typedef void libxl__domain_create_cb(libxl__egc *egc,
+                                     libxl__domain_create_state*,
+                                     int rc, uint32_t domid);
+
+struct libxl__domain_create_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    libxl_domain_config *guest_config;
+    int restore_fd;
+    libxl_console_ready console_cb;
+    void *console_cb_priv;
+    libxl__domain_create_cb *callback;
+    /* private to domain_create */
+    int guest_domid;
+    libxl__domain_build_state build_state;
+    libxl__stub_dm_spawn_state dmss;
+        /* If we're not doing stubdom, we use only dmss.dm,
+         * for the non-stubdom device model. */
+};
+
+
 /*
  * Convenience macros.
  */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 45e2c30..621aeaf 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1695,8 +1695,8 @@ start:
 
     if ( restore_file ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
-                                            cb, &child_console_pid,
-                                            &domid, restore_fd);
+                                          cb, &child_console_pid,
+                                          &domid, restore_fd, 0);
         /*
          * On subsequent reboot etc we should create the domain, not
          * restore/migrate-receive it again.
@@ -1704,7 +1704,7 @@ start:
         restore_file = NULL;
     }else{
         ret = libxl_domain_create_new(ctx, &d_config,
-                                        cb, &child_console_pid, &domid);
+                                      cb, &child_console_pid, &domid, 0);
     }
     if ( ret )
         goto error_out;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6e-0006Wi-7y; Fri, 11 May 2012 17:58:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6c-0006W4-ED
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:18 +0000
Received: from [85.158.139.83:3989] by server-12.bemta-5.messagelabs.com id
	2F/F0-01344-9335DAF4; Fri, 11 May 2012 17:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30093 invoked from network); 11 May 2012 17:58:16 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435459"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008HW-GE; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000e0-EE;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:46 +0100
Message-ID: <1336759092-2432-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 01/27] libxl: handle POLLERR, POLLHUP,
	POLLNVAL properly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Pass POLLERR and POLLHUP to fd callbacks, as is necessary.
Crash on POLLNVAL since that means our fds are messed up.

Document the behaviour (including the fact that poll sometimes sets
POLLHUP or POLLERR even if only POLLIN was requested.

Fix the one current fd callback to do something with POLLERR|POLLHUP.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_event.c    |    7 ++++++-
 tools/libxl/libxl_internal.h |    5 +++++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index e11a4e7..5046938 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -339,6 +339,9 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
 {
     EGC_GC;
 
+    if (revents & (POLLERR|POLLHUP))
+        LIBXL__EVENT_DISASTER(egc, "unexpected poll event on watch fd", 0, 0);
+
     for (;;) {
         char **event = xs_check_watch(CTX->xsh);
         if (!event) {
@@ -743,7 +746,9 @@ static int afterpoll_check_fd(libxl__poller *poller,
         /* again, stale slot entry */
         return 0;
 
-    int revents = fds[slot].revents & events;
+    assert(!(fds[slot].revents & POLLNVAL));
+
+    int revents = fds[slot].revents & (events | POLLERR | POLLHUP);
     /* we mask in case requested events have changed */
 
     return revents;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 8947ddd..74e640f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -128,6 +128,11 @@ _hidden void libxl__alloc_failed(libxl_ctx *, const char *func,
 typedef struct libxl__ev_fd libxl__ev_fd;
 typedef void libxl__ev_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
                                    int fd, short events, short revents);
+  /* Note that revents may contain POLLERR or POLLHUP regardless of
+   * events; otherwise revents contains only bits in events.  Contrary
+   * to the documentation for poll(2), POLLERR and POLLHUP can occur
+   * even if only POLLIN was set in events.  (POLLNVAL is a fatal
+   * error and will cause libxl event machinery to fail an assertion.) */
 struct libxl__ev_fd {
     /* caller should include this in their own struct */
     /* read-only for caller, who may read only when registered: */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6o-0006jN-GS; Fri, 11 May 2012 17:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006X7-F8
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42728] by server-2.bemta-4.messagelabs.com id
	F9/02-17550-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32070 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435484"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Ie-3L; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000gg-0Y;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:09 +0100
Message-ID: <1336759092-2432-25-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 24/27] libxl: convert console callback to
	libxl_asyncprogress_how
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Remove the old console callback.  (Its reentrancy properties were
troublesome: in principle, the event loop might be reentered during
the callback, and the libxl__domain_create_state swept out from under
the feet of the domain creation.)

As a side effect of the new code arrangements, the console callback
for non-bootloader-using PV guests now occurs near the end of domain
creation, in the same place as for HVM guests, rather than near the
start.

The new arrangements should in principle mean that by the time the
console is described as ready by the callback, the xenstore key is
indeed ready.  So in the future the timeout might be removed from
the console client.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.h            |   17 ++++++-----
 tools/libxl/libxl_bootloader.c |    3 ++
 tools/libxl/libxl_create.c     |   59 +++++++++++++++++++++++-----------------
 tools/libxl/libxl_internal.h   |    6 +++-
 tools/libxl/libxl_types.idl    |    2 +
 tools/libxl/xl_cmdimpl.c       |   25 ++++++++++-------
 6 files changed, 67 insertions(+), 45 deletions(-)

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index ba0f4de..979940a 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -509,18 +509,19 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
 int libxl_ctx_free(libxl_ctx *ctx /* 0 is OK */);
 
 /* domain related functions */
-typedef int (*libxl_console_ready)(libxl_ctx *ctx, uint32_t domid, void *priv);
-  /* fixme-ao   Need to review this API.  If we keep it, the reentrancy
-   * properties need to be documented but they may turn out to be too
-   * awkward */
 
 int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv, uint32_t *domid,
-                            const libxl_asyncop_how *ao_how);
+                            uint32_t *domid,
+                            const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how);
 int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
-                                libxl_console_ready cb, void *priv,
                                 uint32_t *domid, int restore_fd,
-                                const libxl_asyncop_how *ao_how);
+                                const libxl_asyncop_how *ao_how,
+                                const libxl_asyncprogress_how *aop_console_how);
+  /* A progress report will be made via ao_console_how, of type
+   * domain_create_console_available, when the domain's primary
+   * console is available and can be connected to.
+   */
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 1534bae..8436c07 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -377,6 +377,9 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         goto out;
     }
 
+    if (bl->console_available)
+        bl->console_available(egc, bl);
+
     int bootloader_master = libxl__carefd_fd(bl->ptys[0].master);
     int xenconsole_master = libxl__carefd_fd(bl->ptys[1].master);
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 63cb430..14721eb 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -569,10 +569,15 @@ static int store_libxl_entry(libxl__gc *gc, uint32_t domid,
 static void domcreate_devmodel_started(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int rc);
+static void domcreate_bootloader_console_available(libxl__egc *egc,
+                                                   libxl__bootloader_state *bl);
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_console_available(libxl__egc *egc,
+                                        libxl__domain_create_state *dcs);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
 static void domcreate_complete(libxl__egc *egc,
@@ -590,8 +595,6 @@ static void initiate_domain_create(libxl__egc *egc,
     /* convenience aliases */
     libxl_domain_config *const d_config = dcs->guest_config;
     const int restore_fd = dcs->restore_fd;
-    const libxl_console_ready cb = dcs->console_cb;
-    void *const priv = dcs->console_cb_priv;
     memset(&dcs->build_state, 0, sizeof(dcs->build_state));
 
     domid = 0;
@@ -610,11 +613,6 @@ static void initiate_domain_create(libxl__egc *egc,
     dcs->guest_domid = domid;
     dcs->dmss.dm.guest_domid = 0; /* means we haven't spawned */
 
-    if ( d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV && cb ) {
-        ret = (*cb)(ctx, domid, priv);
-        if (ret) goto error_out;
-    }
-
     ret = libxl__domain_build_info_setdefault(gc, &d_config->b_info);
     if (ret) goto error_out;
 
@@ -629,6 +627,7 @@ static void initiate_domain_create(libxl__egc *egc,
 
     if (restore_fd < 0 && bootdisk) {
         dcs->bl.callback = domcreate_bootloader_done;
+        dcs->bl.console_available = domcreate_bootloader_console_available;
         dcs->bl.info = &d_config->b_info,
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
@@ -644,6 +643,21 @@ error_out:
     domcreate_complete(egc, dcs, ret);
 }
 
+static void domcreate_bootloader_console_available(libxl__egc *egc,
+                                                   libxl__bootloader_state *bl)
+{
+    libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
+    STATE_AO_GC(bl->ao);
+    domcreate_console_available(egc, dcs);
+}
+
+static void domcreate_console_available(libxl__egc *egc,
+                                        libxl__domain_create_state *dcs) {
+    libxl__ao_progress_report(egc, dcs->ao, &dcs->aop_console_how,
+                              NEW_EVENT(egc, DOMAIN_CREATE_CONSOLE_AVAILABLE,
+                                        dcs->guest_domid));
+}
+
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int ret)
@@ -779,8 +793,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 
     /* convenience aliases */
     libxl_domain_config *const d_config = dcs->guest_config;
-    const libxl_console_ready cb = dcs->console_cb;
-    void *const priv = dcs->console_cb_priv;
 
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
@@ -818,12 +830,7 @@ static void domcreate_devmodel_started(libxl__egc *egc,
             goto error_out;
         }
     }
-    if ( cb && (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM ||
-                (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
-                 d_config->b_info.u.pv.bootloader ))) {
-        ret = (*cb)(ctx, domid, priv);
-        if (ret) goto error_out;
-    }
+    domcreate_console_available(egc, dcs);
 
     domcreate_complete(egc, dcs, 0);
     return;
@@ -863,8 +870,9 @@ static void domain_create_cb(libxl__egc *egc,
                              int rc, uint32_t domid);
 
 static int do_domain_create(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv, uint32_t *domid,
-                            int restore_fd, const libxl_asyncop_how *ao_how)
+                            uint32_t *domid,
+                            int restore_fd, const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how)
 {
     AO_CREATE(ctx, 0, ao_how);
     libxl__app_domain_create_state *cdcs;
@@ -873,9 +881,8 @@ static int do_domain_create(libxl_ctx *ctx, libxl_domain_config *d_config,
     cdcs->dcs.ao = ao;
     cdcs->dcs.guest_config = d_config;
     cdcs->dcs.restore_fd = restore_fd;
-    cdcs->dcs.console_cb = cb;
-    cdcs->dcs.console_cb_priv = priv;
     cdcs->dcs.callback = domain_create_cb;
+    libxl__ao_progress_gethow(&cdcs->dcs.aop_console_how, aop_console_how);
     cdcs->domid_out = domid;
 
     initiate_domain_create(egc, &cdcs->dcs);
@@ -897,19 +904,21 @@ static void domain_create_cb(libxl__egc *egc,
 }
     
 int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv,
                             uint32_t *domid,
-                            const libxl_asyncop_how *ao_how)
+                            const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how)
 {
-    return do_domain_create(ctx, d_config, cb, priv, domid, -1, ao_how);
+    return do_domain_create(ctx, d_config, domid, -1,
+                            ao_how, aop_console_how);
 }
 
 int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
-                                libxl_console_ready cb, void *priv,
                                 uint32_t *domid, int restore_fd,
-                                const libxl_asyncop_how *ao_how)
+                                const libxl_asyncop_how *ao_how,
+                            const libxl_asyncprogress_how *aop_console_how)
 {
-    return do_domain_create(ctx, d_config, cb, priv, domid, restore_fd, ao_how);
+    return do_domain_create(ctx, d_config, domid, restore_fd,
+                            ao_how, aop_console_how);
 }
 
 /*
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a407317..3aa0ed7 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1699,11 +1699,14 @@ int libxl__openptys(libxl__openpty_state *op,
 typedef struct libxl__bootloader_state libxl__bootloader_state;
 typedef void libxl__run_bootloader_callback(libxl__egc*,
                                 libxl__bootloader_state*, int rc);
+typedef void libxl__bootloader_console_callback(libxl__egc*,
+                                libxl__bootloader_state*);
 
 struct libxl__bootloader_state {
     /* caller must fill these in, and they must all remain valid */
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
+    libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
     uint32_t domid;
@@ -1739,9 +1742,8 @@ struct libxl__domain_create_state {
     libxl__ao *ao;
     libxl_domain_config *guest_config;
     int restore_fd;
-    libxl_console_ready console_cb;
-    void *console_cb_priv;
     libxl__domain_create_cb *callback;
+    libxl_asyncprogress_how aop_console_how;
     /* private to domain_create */
     int guest_domid;
     libxl__domain_build_state build_state;
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 68599cb..551e367 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -459,6 +459,7 @@ libxl_event_type = Enumeration("event_type", [
     (2, "DOMAIN_DEATH"),
     (3, "DISK_EJECT"),
     (4, "OPERATION_COMPLETE"),
+    (5, "DOMAIN_CREATE_CONSOLE_AVAILABLE"),
     ])
 
 libxl_ev_user = UInt(64)
@@ -484,4 +485,5 @@ libxl_event = Struct("event",[
            ("operation_complete", Struct(None, [
                                         ("rc", integer),
                                  ])),
+           ("domain_create_console_available", Struct(None, [])),
            ]))])
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 621aeaf..b91a2d5 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1457,16 +1457,18 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
-static int autoconnect_console(libxl_ctx *ctx, uint32_t domid, void *priv)
+static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
 {
     pid_t *pid = priv;
 
+    libxl_event_free(ctx, ev);
+
     *pid = fork();
     if (*pid < 0) {
         perror("unable to fork xenconsole");
-        return ERROR_FAIL;
+        return;
     } else if (*pid > 0)
-        return 0;
+        return;
 
     postfork();
 
@@ -1533,7 +1535,7 @@ static int create_domain(struct domain_create *dom_info)
     int config_len = 0;
     int restore_fd = -1;
     int status = 0;
-    libxl_console_ready cb;
+    const libxl_asyncprogress_how *autoconnect_console_how;
     pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
@@ -1687,24 +1689,27 @@ start:
         goto error_out;
     }
 
+    libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
-        cb = autoconnect_console;
+        autoconnect_console_how_buf.callback = autoconnect_console;
+        autoconnect_console_how_buf.for_callback = &child_console_pid;
+        autoconnect_console_how = &autoconnect_console_how_buf;
     }else{
-        cb = NULL;
+        autoconnect_console_how = 0;
     }
 
     if ( restore_file ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
-                                          cb, &child_console_pid,
-                                          &domid, restore_fd, 0);
+                                          &domid, restore_fd,
+                                          0, autoconnect_console_how);
         /*
          * On subsequent reboot etc we should create the domain, not
          * restore/migrate-receive it again.
          */
         restore_file = NULL;
     }else{
-        ret = libxl_domain_create_new(ctx, &d_config,
-                                      cb, &child_console_pid, &domid, 0);
+        ret = libxl_domain_create_new(ctx, &d_config, &domid,
+                                      0, autoconnect_console_how);
     }
     if ( ret )
         goto error_out;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6n-0006hO-F1; Fri, 11 May 2012 17:58:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006Wf-4B
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.139.83:16356] by server-3.bemta-5.messagelabs.com id
	6E/4E-25237-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!13
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30238 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435483"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Il-70; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000go-5P;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:11 +0100
Message-ID: <1336759092-2432-27-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 26/27] libxl: child processes cleanups
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Abolish libxl_fork.  Its only callers were in xl.  Its functionality
is now moved elsewhere, as follows:

* The "logging version of fork", which is what it was billed as, is now
  xl_fork, which also dies on failure.

* Closing the xenstore handle in the child is now done in
  libxl__ev_child_fork, which is the only remaining place where fork
  is called in libxl.

* We provide a new function libxl__ev_child_xenstore_reopen for
  in-libxl children to make the ctx useable for xenstore again.

* Consequently libxl__spawn_record_pid now no longer needs to mess
  about with its own xenstore handle.  As a bonus it can now just use
  libxl__xs_write.

Also, since we have now converted all the forkers in libxl, we can
always honour the fork_replacement childproc hook - so do so.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_exec.c     |   35 ++++++++++++++++-------------------
 tools/libxl/libxl_fork.c     |   25 ++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h |    5 +++++
 tools/libxl/libxl_utils.c    |   21 ---------------------
 tools/libxl/libxl_utils.h    |    3 +--
 tools/libxl/xl.c             |   12 ++++++++++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    5 ++---
 8 files changed, 61 insertions(+), 46 deletions(-)

diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index 882c048..b46b893 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -127,34 +127,23 @@ void libxl_report_child_exitstatus(libxl_ctx *ctx,
     }
 }
 
-int libxl__spawn_record_pid(libxl__gc *gc, libxl__spawn_state *spawn,
-                            pid_t innerchild)
+int libxl__spawn_record_pid(libxl__gc *gc, libxl__spawn_state *spawn, pid_t pid)
 {
-    struct xs_handle *xsh = NULL;
-    const char *pid = NULL;
-    int rc, xsok;
+    int r, rc;
 
-    pid = GCSPRINTF("%d", innerchild);
+    rc = libxl__ev_child_xenstore_reopen(gc, spawn->what);
+    if (rc) goto out;
 
-    /* we mustn't use the parent's handle in the child */
-    xsh = xs_daemon_open();
-    if (!xsh) {
-        LOGE(ERROR, "write %s = %s: xenstore reopen failed",
-             spawn->pidpath, pid);
-        rc = ERROR_FAIL;  goto out;
-    }
-
-    xsok = xs_write(xsh, XBT_NULL, spawn->pidpath, pid, strlen(pid));
-    if (!xsok) {
+    r = libxl__xs_write(gc, XBT_NULL, spawn->pidpath, "%d", pid);
+    if (r) {
         LOGE(ERROR,
-             "write %s = %s: xenstore write failed", spawn->pidpath, pid);
+             "write %s = %d: xenstore write failed", spawn->pidpath, pid);
         rc = ERROR_FAIL;  goto out;
     }
 
     rc = 0;
 
 out:
-    if (xsh) xs_daemon_close(xsh);
     return rc ? SIGTERM : 0;
 }
 
@@ -302,7 +291,15 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
 
     /* we are now the middle process */
 
-    child = fork();
+    pid_t (*fork_replacement)(void*) =
+        CTX->childproc_hooks
+        ? CTX->childproc_hooks->fork_replacement
+        : 0;
+    child =
+        fork_replacement
+        ? fork_replacement(CTX->childproc_user)
+        : fork();
+
     if (child == -1)
         exit(255);
     if (!child) {
diff --git a/tools/libxl/libxl_fork.c b/tools/libxl/libxl_fork.c
index 35c8bdd..9ff99e0 100644
--- a/tools/libxl/libxl_fork.c
+++ b/tools/libxl/libxl_fork.c
@@ -347,7 +347,12 @@ pid_t libxl__ev_child_fork(libxl__gc *gc, libxl__ev_child *ch,
 
     if (!pid) {
         /* woohoo! */
-        return 0; /* Yes, CTX is left locked in the child. */
+        if (CTX->xsh) {
+            xs_daemon_destroy_postfork(CTX->xsh);
+            CTX->xsh = NULL; /* turns mistakes into crashes */
+        }
+        /* Yes, CTX is left locked in the child. */
+        return 0;
     }
 
     ch->pid = pid;
@@ -395,6 +400,24 @@ const libxl_childproc_hooks libxl__childproc_default_hooks = {
     libxl_sigchld_owner_libxl, 0, 0
 };
 
+int libxl__ev_child_xenstore_reopen(libxl__gc *gc, const char *what) {
+    int rc;
+
+    assert(!CTX->xsh);
+    CTX->xsh = xs_daemon_open();
+    if (!CTX->xsh) {
+        LOGE(ERROR, "%s: xenstore reopen failed", what);
+        rc = ERROR_FAIL;  goto out;
+    }
+
+    libxl_fd_set_cloexec(CTX, xs_fileno(CTX->xsh), 1);
+
+    return 0;
+
+ out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9f3f759..83fabea 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -640,6 +640,11 @@ static inline void libxl__ev_child_init(libxl__ev_child *childw_out)
 static inline int libxl__ev_child_inuse(libxl__ev_child *childw_out)
                 { return childw_out->pid >= 0; }
 
+/* Useable (only) in the child to once more make the ctx useable for
+ * xenstore operations.  logs failure in the form "what: <error
+ * message>". */
+_hidden int libxl__ev_child_xenstore_reopen(libxl__gc *gc, const char *what);
+
 
 /*
  * Other event-handling support provided by the libxl event core to
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index f0d94c6..858410e 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -444,27 +444,6 @@ int libxl__remove_directory(libxl__gc *gc, const char *dirpath)
     return rc;
 }
 
-pid_t libxl_fork(libxl_ctx *ctx)
-{
-    pid_t pid;
-
-    pid = fork();
-    if (pid == -1) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "fork failed");
-        return -1;
-    }
-
-    if (!pid) {
-        if (ctx->xsh) xs_daemon_destroy_postfork(ctx->xsh);
-        ctx->xsh = 0;
-        /* This ensures that anyone who forks but doesn't exec,
-         * and doesn't reinitialise the libxl_ctx, is OK.
-         * It also means they can safely call libxl_ctx_free. */
-    }
-
-    return pid;
-}
-
 int libxl_pipe(libxl_ctx *ctx, int pipes[2])
 {
     if (pipe(pipes) < 0) {
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
index 2b47622..74beb52 100644
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -47,9 +47,8 @@ int libxl_write_exactly(libxl_ctx *ctx, int fd, const void *data,
    * logged using filename (which is only used for logging) and what
    * (which may be 0). */
 
-pid_t libxl_fork(libxl_ctx *ctx);
 int libxl_pipe(libxl_ctx *ctx, int pipes[2]);
-  /* Just like fork(2), pipe(2), but log errors. */
+  /* Just like pipe(2), but log errors. */
 
 void libxl_report_child_exitstatus(libxl_ctx *ctx, xentoollog_level,
                                    const char *what, pid_t pid, int status);
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index a6ffd25..d4db1f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -105,6 +105,18 @@ void postfork(void)
     }
 }
 
+pid_t xl_fork(libxl_ctx *ctx) {
+    pid_t pid;
+
+    pid = fork();
+    if (pid == -1) {
+        perror("fork failed");
+        exit(-1);
+    }
+
+    return pid;
+}
+
 int main(int argc, char **argv)
 {
     int opt = 0;
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index f0d0ec8..2b6714a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -104,6 +104,7 @@ struct cmd_spec *cmdtable_lookup(const char *s);
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
+pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
 void postfork(void);
 
 /* global options */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index b91a2d5..efaf3de 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1736,7 +1736,7 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = libxl_fork(ctx);
+        child1 = xl_fork(ctx);
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
@@ -2779,8 +2779,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = libxl_fork(ctx);
-    if (child==-1) exit(1);
+    child = xl_fork(ctx);
 
     if (!child) {
         dup2(sendpipe[0], 0);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6k-0006cG-0q; Fri, 11 May 2012 17:58:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wq-Af
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42659] by server-3.bemta-4.messagelabs.com id
	5C/F4-05853-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32026 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435467"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008Ht-3p; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fe-1u;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:54 +0100
Message-ID: <1336759092-2432-10-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 09/27] libxl: provide libxl__datacopier_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

General facility for ao operations to shovel data between fds.

This will be used by the bootloader machinery.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes in v7:
 * assert that the ao is non-null on _init.
---
 tools/libxl/Makefile         |    3 +-
 tools/libxl/libxl_aoutils.c  |  189 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |   40 +++++++++
 3 files changed, 231 insertions(+), 1 deletions(-)
 create mode 100644 tools/libxl/libxl_aoutils.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 1261d43..5d9227e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -64,7 +64,8 @@ LIBXL_LIBS += -lyajl
 
 LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
-			libxl_internal.o libxl_utils.o libxl_uuid.o libxl_json.o \
+			libxl_internal.o libxl_utils.o libxl_uuid.o \
+			libxl_json.o libxl_aoutils.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
new file mode 100644
index 0000000..4c60ad9
--- /dev/null
+++ b/tools/libxl/libxl_aoutils.c
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2010      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+
+/*----- data copier -----*/
+
+void libxl__datacopier_init(libxl__datacopier_state *dc)
+{
+    assert(dc->ao);
+    libxl__ev_fd_init(&dc->toread);
+    libxl__ev_fd_init(&dc->towrite);
+    LIBXL_TAILQ_INIT(&dc->bufs);
+}
+
+void libxl__datacopier_kill(libxl__datacopier_state *dc)
+{
+    STATE_AO_GC(dc->ao);
+    libxl__datacopier_buf *buf, *tbuf;
+
+    libxl__ev_fd_deregister(gc, &dc->toread);
+    libxl__ev_fd_deregister(gc, &dc->towrite);
+    LIBXL_TAILQ_FOREACH_SAFE(buf, &dc->bufs, entry, tbuf)
+        free(buf);
+    LIBXL_TAILQ_INIT(&dc->bufs);
+}
+
+static void datacopier_callback(libxl__egc *egc, libxl__datacopier_state *dc,
+                                int onwrite, int errnoval)
+{
+    libxl__datacopier_kill(dc);
+    dc->callback(egc, dc, onwrite, errnoval);
+}
+
+static void datacopier_writable(libxl__egc *egc, libxl__ev_fd *ev,
+                                int fd, short events, short revents);
+
+static void datacopier_check_state(libxl__egc *egc, libxl__datacopier_state *dc)
+{
+    STATE_AO_GC(dc->ao);
+    int rc;
+    
+    if (dc->used) {
+        if (!libxl__ev_fd_isregistered(&dc->towrite)) {
+            rc = libxl__ev_fd_register(gc, &dc->towrite, datacopier_writable,
+                                       dc->writefd, POLLOUT);
+            if (rc) {
+                LOG(ERROR, "unable to establish write event on %s"
+                    " during copy of %s", dc->writewhat, dc->copywhat);
+                datacopier_callback(egc, dc, -1, 0);
+                return;
+            }
+        }
+    } else if (!libxl__ev_fd_isregistered(&dc->toread)) {
+        /* we have had eof */
+        datacopier_callback(egc, dc, 0, 0);
+        return;
+    } else {
+        /* nothing buffered, but still reading */
+        libxl__ev_fd_deregister(gc, &dc->towrite);
+    }
+}
+
+static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                int fd, short events, short revents) {
+    libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, toread);
+    STATE_AO_GC(dc->ao);
+
+    if (revents & ~POLLIN) {
+        LOG(ERROR, "unexpected poll event 0x%x (should be POLLIN)"
+            " on %s during copy of %s", revents, dc->readwhat, dc->copywhat);
+        datacopier_callback(egc, dc, -1, 0);
+        return;
+    }
+    assert(revents & POLLIN);
+    for (;;) {
+        while (dc->used >= dc->maxsz) {
+            libxl__datacopier_buf *rm = LIBXL_TAILQ_FIRST(&dc->bufs);
+            dc->used -= rm->used;
+            assert(dc->used >= 0);
+            LIBXL_TAILQ_REMOVE(&dc->bufs, rm, entry);
+            free(rm);
+        }
+
+        libxl__datacopier_buf *buf =
+            LIBXL_TAILQ_LAST(&dc->bufs, libxl__datacopier_bufs);
+        if (!buf || buf->used >= sizeof(buf->buf)) {
+            buf = malloc(sizeof(*buf));
+            if (!buf) libxl__alloc_failed(CTX, __func__, 1, sizeof(*buf));
+            buf->used = 0;
+            LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
+        }
+        int r = read(ev->fd,
+                     buf->buf + buf->used,
+                     sizeof(buf->buf) - buf->used);
+        if (r < 0) {
+            if (errno == EINTR) continue;
+            if (errno == EWOULDBLOCK) break;
+            LOGE(ERROR, "error reading %s during copy of %s",
+                 dc->readwhat, dc->copywhat);
+            datacopier_callback(egc, dc, 0, errno);
+            return;
+        }
+        if (r == 0) {
+            libxl__ev_fd_deregister(gc, &dc->toread);
+            break;
+        }
+        buf->used += r;
+        dc->used += r;
+        assert(buf->used <= sizeof(buf->buf));
+    }
+    datacopier_check_state(egc, dc);
+}
+
+static void datacopier_writable(libxl__egc *egc, libxl__ev_fd *ev,
+                                int fd, short events, short revents) {
+    libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, towrite);
+    STATE_AO_GC(dc->ao);
+
+    if (revents & ~POLLOUT) {
+        LOG(ERROR, "unexpected poll event 0x%x (should be POLLOUT)"
+            " on %s during copy of %s", revents, dc->writewhat, dc->copywhat);
+        datacopier_callback(egc, dc, -1, 0);
+        return;
+    }
+    assert(revents & POLLOUT);
+    for (;;) {
+        libxl__datacopier_buf *buf = LIBXL_TAILQ_FIRST(&dc->bufs);
+        if (!buf)
+            break;
+        if (!buf->used) {
+            LIBXL_TAILQ_REMOVE(&dc->bufs, buf, entry);
+            free(buf);
+            continue;
+        }
+        int r = write(ev->fd, buf->buf, buf->used);
+        if (r < 0) {
+            if (errno == EINTR) continue;
+            if (errno == EWOULDBLOCK) break;
+            LOGE(ERROR, "error writing to %s during copy of %s",
+                 dc->writewhat, dc->copywhat);
+            datacopier_callback(egc, dc, 1, errno);
+            return;
+        }
+        assert(r > 0);
+        assert(r <= buf->used);
+        buf->used -= r;
+        dc->used -= r;
+        assert(dc->used >= 0);
+        memmove(buf->buf, buf->buf+r, buf->used);
+    }
+    datacopier_check_state(egc, dc);
+}
+
+int libxl__datacopier_start(libxl__datacopier_state *dc)
+{
+    int rc;
+    STATE_AO_GC(dc->ao);
+
+    libxl__datacopier_init(dc);
+
+    rc = libxl__ev_fd_register(gc, &dc->toread, datacopier_readable,
+                               dc->readfd, POLLIN);
+    if (rc) goto out;
+
+    rc = libxl__ev_fd_register(gc, &dc->towrite, datacopier_writable,
+                               dc->writefd, POLLOUT);
+    if (rc) goto out;
+
+    return 0;
+
+ out:
+    libxl__datacopier_kill(dc);
+    return rc;
+}
+
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e25569c..be11fbd 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -840,6 +840,7 @@ _hidden int libxl__ev_devstate_wait(libxl__gc *gc, libxl__ev_devstate *ds,
  */
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
@@ -1473,6 +1474,45 @@ _hidden const char *libxl__xen_script_dir_path(void);
 _hidden const char *libxl__lock_dir_path(void);
 _hidden const char *libxl__run_dir_path(void);
 
+/*----- datacopier: copies data from one fd to another -----*/
+
+typedef struct libxl__datacopier_state libxl__datacopier_state;
+typedef struct libxl__datacopier_buf libxl__datacopier_buf;
+
+/* onwrite==1 means failure happened when writing, logged, errnoval is valid
+ * onwrite==0 means failure happened when reading
+ *     errnoval==0 means we got eof and all data was written
+ *     errnoval!=0 means we had a read error, logged
+ * onwrite==-1 means some other internal failure, errnoval not valid, logged
+ * in all cases copier is killed before calling this callback */
+typedef void libxl__datacopier_callback(libxl__egc *egc,
+     libxl__datacopier_state *dc, int onwrite, int errnoval);
+
+struct libxl__datacopier_buf {
+    /* private to datacopier */
+    LIBXL_TAILQ_ENTRY(libxl__datacopier_buf) entry;
+    int used;
+    char buf[1000];
+};
+
+struct libxl__datacopier_state {
+    /* caller must fill these in, and they must all remain valid */
+    libxl__ao *ao;
+    int readfd, writefd;
+    ssize_t maxsz;
+    const char *copywhat, *readwhat, *writewhat; /* for error msgs */
+    libxl__datacopier_callback *callback;
+    /* remaining fields are private to datacopier */
+    libxl__ev_fd toread, towrite;
+    ssize_t used;
+    LIBXL_TAILQ_HEAD(libxl__datacopier_bufs, libxl__datacopier_buf) bufs;
+};
+
+_hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
+_hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
+_hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6j-0006bs-Lq; Fri, 11 May 2012 17:58:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006X7-9f
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:57415] by server-2.bemta-4.messagelabs.com id
	97/02-17550-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32036 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435474"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IK-Jj; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gB-Hy;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:02 +0100
Message-ID: <1336759092-2432-18-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 17/27] libxl: change some structures to unit
	arrays
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the next patch these variables will turn into actual pointers.

To clarify that patch, prepare the ground by changing these variables
from "struct foo var" to "struct foo var[1]".  This enables accesses
to them and their members to be made as if they were pointers.

No functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_create.c |   18 +++++-----
 tools/libxl/libxl_dm.c     |   84 ++++++++++++++++++++++----------------------
 2 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index f7732aa..b137288 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -564,7 +564,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     libxl__spawner_starting *dm_starting = 0;
-    libxl__domain_build_state state;
+    libxl__domain_build_state state[1];
     uint32_t domid;
     int i, ret;
 
@@ -606,12 +606,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         }
     }
 
-    memset(&state, 0, sizeof(state));
+    memset(state, 0, sizeof(*state));
 
     if ( restore_fd >= 0 ) {
-        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, &state);
+        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
     } else {
-        ret = libxl__domain_build(gc, &d_config->b_info, domid, &state);
+        ret = libxl__domain_build(gc, &d_config->b_info, domid, state);
     }
 
     if (ret) {
@@ -649,7 +649,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         ret = init_console_info(&console, 0);
         if ( ret )
             goto error_out;
-        libxl__device_console_add(gc, domid, &console, &state);
+        libxl__device_console_add(gc, domid, &console, state);
         libxl__device_console_dispose(&console);
 
         libxl_device_vkb_init(&vkb);
@@ -657,7 +657,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         libxl_device_vkb_dispose(&vkb);
 
         ret = libxl__create_device_model(gc, domid, d_config,
-                                         &state, &dm_starting);
+                                         state, &dm_starting);
         if (ret < 0) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "failed to create device model: %d", ret);
@@ -683,11 +683,11 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
                 d_config->num_vfbs, d_config->vfbs,
                 d_config->num_disks, &d_config->disks[0]);
 
-        libxl__device_console_add(gc, domid, &console, &state);
+        libxl__device_console_add(gc, domid, &console, state);
         libxl__device_console_dispose(&console);
 
         if (need_qemu) {
-            libxl__create_xenpv_qemu(gc, domid, d_config, &state, &dm_starting);
+            libxl__create_xenpv_qemu(gc, domid, d_config, state, &dm_starting);
         }
         break;
     }
@@ -701,7 +701,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
             == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
             libxl__qmp_initializations(gc, domid, d_config);
         }
-        ret = libxl__confirm_device_model_startup(gc, &state, dm_starting);
+        ret = libxl__confirm_device_model_startup(gc, state, dm_starting);
         if (ret < 0) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "device model did not start: %d", ret);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 36b0730..725c3c0 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -678,10 +678,10 @@ static int libxl__create_stubdom(libxl__gc *gc,
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
     libxl__device_console *console;
-    libxl_domain_config dm_config;
+    libxl_domain_config dm_config[1];
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
-    libxl__domain_build_state stubdom_state;
+    libxl__domain_build_state stubdom_state[1];
     uint32_t dm_domid;
     char **args;
     struct xs_permissions perm[2];
@@ -694,58 +694,58 @@ static int libxl__create_stubdom(libxl__gc *gc,
         goto out;
     }
 
-    libxl_domain_create_info_init(&dm_config.c_info);
-    dm_config.c_info.type = LIBXL_DOMAIN_TYPE_PV;
-    dm_config.c_info.name = libxl__sprintf(gc, "%s-dm",
+    libxl_domain_create_info_init(&dm_config->c_info);
+    dm_config->c_info.type = LIBXL_DOMAIN_TYPE_PV;
+    dm_config->c_info.name = libxl__sprintf(gc, "%s-dm",
                                     libxl__domid_to_name(gc, guest_domid));
-    dm_config.c_info.ssidref = guest_config->b_info.device_model_ssidref;
+    dm_config->c_info.ssidref = guest_config->b_info.device_model_ssidref;
 
-    libxl_uuid_generate(&dm_config.c_info.uuid);
+    libxl_uuid_generate(&dm_config->c_info.uuid);
 
-    libxl_domain_build_info_init(&dm_config.b_info);
-    libxl_domain_build_info_init_type(&dm_config.b_info, LIBXL_DOMAIN_TYPE_PV);
+    libxl_domain_build_info_init(&dm_config->b_info);
+    libxl_domain_build_info_init_type(&dm_config->b_info, LIBXL_DOMAIN_TYPE_PV);
 
-    dm_config.b_info.max_vcpus = 1;
-    dm_config.b_info.max_memkb = 32 * 1024;
-    dm_config.b_info.target_memkb = dm_config.b_info.max_memkb;
+    dm_config->b_info.max_vcpus = 1;
+    dm_config->b_info.max_memkb = 32 * 1024;
+    dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config.b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
+    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
                                               libxl__xenfirmwaredir_path());
-    dm_config.b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config.b_info.u.pv.ramdisk.path = "";
-    dm_config.b_info.u.pv.features = "";
+    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    dm_config->b_info.u.pv.ramdisk.path = "";
+    dm_config->b_info.u.pv.features = "";
 
-    dm_config.b_info.device_model_version =
+    dm_config->b_info.device_model_version =
         guest_config->b_info.device_model_version;
-    dm_config.b_info.device_model =
+    dm_config->b_info.device_model =
         guest_config->b_info.device_model;
-    dm_config.b_info.extra = guest_config->b_info.extra;
-    dm_config.b_info.extra_pv = guest_config->b_info.extra_pv;
-    dm_config.b_info.extra_hvm = guest_config->b_info.extra_hvm;
+    dm_config->b_info.extra = guest_config->b_info.extra;
+    dm_config->b_info.extra_pv = guest_config->b_info.extra_pv;
+    dm_config->b_info.extra_hvm = guest_config->b_info.extra_hvm;
 
-    dm_config.disks = guest_config->disks;
-    dm_config.num_disks = guest_config->num_disks;
+    dm_config->disks = guest_config->disks;
+    dm_config->num_disks = guest_config->num_disks;
 
-    dm_config.vifs = guest_config->vifs;
-    dm_config.num_vifs = guest_config->num_vifs;
+    dm_config->vifs = guest_config->vifs;
+    dm_config->num_vifs = guest_config->num_vifs;
 
-    ret = libxl__domain_create_info_setdefault(gc, &dm_config.c_info);
+    ret = libxl__domain_create_info_setdefault(gc, &dm_config->c_info);
     if (ret) goto out;
-    ret = libxl__domain_build_info_setdefault(gc, &dm_config.b_info);
+    ret = libxl__domain_build_info_setdefault(gc, &dm_config->b_info);
     if (ret) goto out;
 
     libxl__vfb_and_vkb_from_hvm_guest_config(gc, guest_config, &vfb, &vkb);
-    dm_config.vfbs = &vfb;
-    dm_config.num_vfbs = 1;
-    dm_config.vkbs = &vkb;
-    dm_config.num_vkbs = 1;
+    dm_config->vfbs = &vfb;
+    dm_config->num_vfbs = 1;
+    dm_config->vkbs = &vkb;
+    dm_config->num_vkbs = 1;
 
     /* fixme: this function can leak the stubdom if it fails */
     dm_domid = 0;
-    ret = libxl__domain_make(gc, &dm_config.c_info, &dm_domid);
+    ret = libxl__domain_make(gc, &dm_config->c_info, &dm_domid);
     if (ret)
         goto out;
-    ret = libxl__domain_build(gc, &dm_config.b_info, dm_domid, &stubdom_state);
+    ret = libxl__domain_build(gc, &dm_config->b_info, dm_domid, stubdom_state);
     if (ret)
         goto out;
 
@@ -790,20 +790,20 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config.num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config.disks[i]);
+    for (i = 0; i < dm_config->num_disks; i++) {
+        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
         if (ret)
             goto out_free;
     }
-    for (i = 0; i < dm_config.num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config.vifs[i]);
+    for (i = 0; i < dm_config->num_vifs; i++) {
+        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
             goto out_free;
     }
-    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config.vfbs[0]);
+    ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
         goto out_free;
-    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config.vkbs[0]);
+    ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
         goto out_free;
 
@@ -847,14 +847,14 @@ retry_transaction:
                 break;
         }
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
-                        i == STUBDOM_CONSOLE_LOGGING ? &stubdom_state : NULL);
+                        i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
             goto out_free;
     }
 
     if (libxl__create_xenpv_qemu(gc, dm_domid,
-                                 &dm_config,
-                                 &stubdom_state,
+                                 dm_config,
+                                 stubdom_state,
                                  &dm_starting) < 0) {
         ret = ERROR_FAIL;
         goto out_free;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6e-0006Wi-7y; Fri, 11 May 2012 17:58:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6c-0006W4-ED
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:18 +0000
Received: from [85.158.139.83:3989] by server-12.bemta-5.messagelabs.com id
	2F/F0-01344-9335DAF4; Fri, 11 May 2012 17:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30093 invoked from network); 11 May 2012 17:58:16 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435459"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008HW-GE; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000e0-EE;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:46 +0100
Message-ID: <1336759092-2432-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 01/27] libxl: handle POLLERR, POLLHUP,
	POLLNVAL properly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Pass POLLERR and POLLHUP to fd callbacks, as is necessary.
Crash on POLLNVAL since that means our fds are messed up.

Document the behaviour (including the fact that poll sometimes sets
POLLHUP or POLLERR even if only POLLIN was requested.

Fix the one current fd callback to do something with POLLERR|POLLHUP.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_event.c    |    7 ++++++-
 tools/libxl/libxl_internal.h |    5 +++++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index e11a4e7..5046938 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -339,6 +339,9 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
 {
     EGC_GC;
 
+    if (revents & (POLLERR|POLLHUP))
+        LIBXL__EVENT_DISASTER(egc, "unexpected poll event on watch fd", 0, 0);
+
     for (;;) {
         char **event = xs_check_watch(CTX->xsh);
         if (!event) {
@@ -743,7 +746,9 @@ static int afterpoll_check_fd(libxl__poller *poller,
         /* again, stale slot entry */
         return 0;
 
-    int revents = fds[slot].revents & events;
+    assert(!(fds[slot].revents & POLLNVAL));
+
+    int revents = fds[slot].revents & (events | POLLERR | POLLHUP);
     /* we mask in case requested events have changed */
 
     return revents;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 8947ddd..74e640f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -128,6 +128,11 @@ _hidden void libxl__alloc_failed(libxl_ctx *, const char *func,
 typedef struct libxl__ev_fd libxl__ev_fd;
 typedef void libxl__ev_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
                                    int fd, short events, short revents);
+  /* Note that revents may contain POLLERR or POLLHUP regardless of
+   * events; otherwise revents contains only bits in events.  Contrary
+   * to the documentation for poll(2), POLLERR and POLLHUP can occur
+   * even if only POLLIN was set in events.  (POLLNVAL is a fatal
+   * error and will cause libxl event machinery to fail an assertion.) */
 struct libxl__ev_fd {
     /* caller should include this in their own struct */
     /* read-only for caller, who may read only when registered: */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6f-0006XH-03; Fri, 11 May 2012 17:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6d-0006WB-5Y
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:19 +0000
Received: from [85.158.139.83:16205] by server-9.bemta-5.messagelabs.com id
	A4/FD-09826-A335DAF4; Fri, 11 May 2012 17:58:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30124 invoked from network); 11 May 2012 17:58:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435461"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hc-MG; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eE-He;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:48 +0100
Message-ID: <1336759092-2432-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 03/27] libxl: event API: new facilities for
	waiting for subprocesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The current arrangements in libxl for spawning subprocesses have two
key problems: (i) they make unwarranted (and largely undocumented)
assumptions about the caller's use of subprocesses, (ii) they aren't
integrated into the event system and can't be made asynchronous etc.

So replace them with a new set of facilities.

Primarily, from the point of view of code inside libxl, this is
libxl__ev_child_fork which is both (a) a version of fork() and (b) an
event source which generates a callback when the child dies.

>From the point of view of the application, we fully document our use
of SIGCHLD.  The application can tell us whether it wants to own
SIGCHLD or not; if it does, it has to tell us about deaths of our
children.

Currently there are no callers in libxl which use these facilities.
All code in libxl which forks needs to be converted and libxl_fork
needse to be be abolished.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   17 +++-
 tools/libxl/libxl.h          |    1 +
 tools/libxl/libxl_event.c    |   53 +++++++--
 tools/libxl/libxl_event.h    |  147 +++++++++++++++++++++++-
 tools/libxl/libxl_fork.c     |  255 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |   62 ++++++++++-
 6 files changed, 515 insertions(+), 20 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index c420e19..939cc02 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -39,7 +39,7 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
     memset(ctx, 0, sizeof(libxl_ctx));
     ctx->lg = lg;
 
-    /* First initialise pointers (cannot fail) */
+    /* First initialise pointers etc. (cannot fail) */
 
     LIBXL_TAILQ_INIT(&ctx->occurred);
 
@@ -58,6 +58,11 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
     LIBXL_TAILQ_INIT(&ctx->death_list);
     libxl__ev_xswatch_init(&ctx->death_watch);
 
+    ctx->childproc_hooks = &libxl__childproc_default_hooks;
+    ctx->childproc_user = 0;
+        
+    ctx->sigchld_selfpipe[0] = -1;
+
     /* The mutex is special because we can't idempotently destroy it */
 
     if (libxl__init_recursive_mutex(ctx, &ctx->lock) < 0) {
@@ -160,6 +165,16 @@ int libxl_ctx_free(libxl_ctx *ctx)
 
     discard_events(&ctx->occurred);
 
+    /* If we have outstanding children, then the application inherits
+     * them; we wish the application good luck with understanding
+     * this if and when it reaps them. */
+    libxl__sigchld_removehandler(ctx);
+
+    if (ctx->sigchld_selfpipe[0] >= 0) {
+        close(ctx->sigchld_selfpipe[0]);
+        close(ctx->sigchld_selfpipe[1]);
+    }
+
     pthread_mutex_destroy(&ctx->lock);
 
     GC_FREE;
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d59f0ee..fb90aed 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -380,6 +380,7 @@ enum {
     ERROR_NOT_READY = -11,
     ERROR_OSEVENT_REG_FAIL = -12,
     ERROR_BUFFERFULL = -13,
+    ERROR_UNKNOWN_CHILD = -14,
 };
 
 
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 93c1d1f..3e784f0 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -627,6 +627,10 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
                                                                        \
         REQUIRE_FD(poller->wakeup_pipe[0], POLLIN, BODY);              \
                                                                        \
+        int selfpipe = libxl__fork_selfpipe_active(CTX);               \
+        if (selfpipe >= 0)                                             \
+            REQUIRE_FD(selfpipe, POLLIN, BODY);                        \
+                                                                       \
     }while(0)
 
 #define REQUIRE_FD(req_fd_, req_events_, BODY) do{      \
@@ -766,10 +770,11 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
                                int nfds, const struct pollfd *fds,
                                struct timeval now)
 {
+    /* May make callbacks into the application for child processes.
+     * ctx must be locked exactly once */
     EGC_GC;
     libxl__ev_fd *efd;
 
-
     LIBXL_LIST_FOREACH(efd, &CTX->efds, entry) {
         if (!efd->events)
             continue;
@@ -780,11 +785,16 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
     }
 
     if (afterpoll_check_fd(poller,fds,nfds, poller->wakeup_pipe[0],POLLIN)) {
-        char buf[256];
-        int r = read(poller->wakeup_pipe[0], buf, sizeof(buf));
-        if (r < 0)
-            if (errno != EINTR && errno != EWOULDBLOCK)
-                LIBXL__EVENT_DISASTER(egc, "read wakeup", errno, 0);
+        int e = libxl__self_pipe_eatall(poller->wakeup_pipe[0]);
+        if (e) LIBXL__EVENT_DISASTER(egc, "read wakeup", e, 0);
+    }
+
+    int selfpipe = libxl__fork_selfpipe_active(CTX);
+    if (selfpipe >= 0 &&
+        afterpoll_check_fd(poller,fds,nfds, selfpipe, POLLIN)) {
+        int e = libxl__self_pipe_eatall(selfpipe);
+        if (e) LIBXL__EVENT_DISASTER(egc, "read sigchld pipe", e, 0);
+        libxl__fork_selfpipe_woken(egc);
     }
 
     for (;;) {
@@ -1082,16 +1092,37 @@ void libxl__poller_put(libxl_ctx *ctx, libxl__poller *p)
 
 void libxl__poller_wakeup(libxl__egc *egc, libxl__poller *p)
 {
+    int e = libxl__self_pipe_wakeup(p->wakeup_pipe[1]);
+    if (e) LIBXL__EVENT_DISASTER(egc, "cannot poke watch pipe", e, 0);
+}
+
+int libxl__self_pipe_wakeup(int fd)
+{
     static const char buf[1] = "";
 
     for (;;) {
-        int r = write(p->wakeup_pipe[1], buf, 1);
-        if (r==1) return;
+        int r = write(fd, buf, 1);
+        if (r==1) return 0;
         assert(r==-1);
         if (errno == EINTR) continue;
-        if (errno == EWOULDBLOCK) return;
-        LIBXL__EVENT_DISASTER(egc, "cannot poke watch pipe", errno, 0);
-        return;
+        if (errno == EWOULDBLOCK) return 0;
+        assert(errno);
+        return errno;
+    }
+}
+
+int libxl__self_pipe_eatall(int fd)
+{
+    char buf[256];
+    for (;;) {
+        int r = read(fd, buf, sizeof(buf));
+        if (r == sizeof(buf)) continue;
+        if (r >= 0) return 0;
+        assert(r == -1);
+        if (errno == EINTR) continue;
+        if (errno == EWOULDBLOCK) return 0;
+        assert(errno);
+        return errno;
     }
 }
 
diff --git a/tools/libxl/libxl_event.h b/tools/libxl/libxl_event.h
index 2d2196f..713d96d 100644
--- a/tools/libxl/libxl_event.h
+++ b/tools/libxl/libxl_event.h
@@ -163,11 +163,6 @@ void libxl_event_register_callbacks(libxl_ctx *ctx,
  * After libxl_ctx_free, all corresponding evgen handles become
  * invalid and must no longer be passed to evdisable.
  *
- * Events enabled with evenable prior to a fork and libxl_ctx_postfork
- * are no longer generated after the fork/postfork; however the evgen
- * structures are still valid and must be passed to evdisable if the
- * memory they use should not be leaked.
- *
  * Applications should ensure that they eventually retrieve every
  * event using libxl_event_check or libxl_event_wait, since events
  * which occur but are not retreived by the application will be queued
@@ -372,6 +367,148 @@ void libxl_osevent_occurred_fd(libxl_ctx *ctx, void *for_libxl,
 void libxl_osevent_occurred_timeout(libxl_ctx *ctx, void *for_libxl);
 
 
+/*======================================================================*/
+
+/*
+ * Subprocess handling.
+ *
+ * Unfortunately the POSIX interface makes this very awkward.
+ *
+ * There are two possible arrangements for collecting statuses from
+ * wait/waitpid.
+ *
+ * For naive programs:
+ *
+ *     libxl will keep a SIGCHLD handler installed whenever it has an
+ *     active (unreaped) child.  It will reap all children with
+ *     wait(); any children it does not recognise will be passed to
+ *     the application via an optional callback (and will result in
+ *     logged warnings if no callback is provided or the callback
+ *     denies responsibility for the child).
+ *
+ *     libxl may have children whenever:
+ *
+ *       - libxl is performing an operation which can be made
+ *         asynchronous; ie one taking a libxl_asyncop_how, even
+ *         if NULL is passed indicating that the operation is
+ *         synchronous; or
+ *
+ *       - events of any kind are being generated, as requested
+ *         by libxl_evenable_....
+ *
+ *     A multithreaded application which is naive in this sense may
+ *     block SIGCHLD on some of its threads, but there must be at
+ *     least one thread that has SIGCHLD unblocked.  libxl will not
+ *     modify the blocking flag for SIGCHLD (except that it may create
+ *     internal service threads with all signals blocked).
+ *
+ *     A naive program must only have at any one time only
+ *     one libxl context which might have children.
+ *
+ * For programs which run their own children alongside libxl's:
+ *
+ *     A program which does this must call libxl_childproc_setmode.
+ *     There are two options:
+ * 
+ *     libxl_sigchld_owner_mainloop:
+ *       The application must install a SIGCHLD handler and reap (at
+ *       least) all of libxl's children and pass their exit status
+ *       to libxl by calling libxl_childproc_exited.
+ *
+ *     libxl_sigchld_owner_libxl_always:
+ *       The application expects libxl to reap all of its children,
+ *       and provides a callback to be notified of their exit
+ *       statues.
+ *
+ * An application which fails to call setmode, or which passes 0 for
+ * hooks, while it uses any libxl operation which might
+ * create or use child processes (see above):
+ *   - Must not have any child processes running.
+ *   - Must not install a SIGCHLD handler.
+ *   - Must not reap any children.
+ */
+
+
+typedef enum {
+    /* libxl owns SIGCHLD whenever it has a child. */
+    libxl_sigchld_owner_libxl,
+
+    /* Application promises to call libxl_childproc_exited but NOT
+     * from within a signal handler.  libxl will not itself arrange to
+     * (un)block or catch SIGCHLD. */
+    libxl_sigchld_owner_mainloop,
+
+    /* libxl owns SIGCHLD all the time, and the application is
+     * relying on libxl's event loop for reaping its own children. */
+    libxl_sigchld_owner_libxl_always,
+} libxl_sigchld_owner;
+
+typedef struct {
+    libxl_sigchld_owner chldowner;
+
+    /* All of these are optional: */
+
+    /* Called by libxl instead of fork.  Should behave exactly like
+     * fork, including setting errno etc.  May NOT reenter into libxl.
+     * Application may use this to discover pids of libxl's children,
+     * for example.
+     */
+    pid_t (*fork_replacement)(void *user);
+
+    /* With libxl_sigchld_owner_libxl, called by libxl when it has
+     * reaped a pid.  (Not permitted with _owner_mainloop.)
+     *
+     * Should return 0 if the child was recognised by the application
+     * (or if the application does not keep those kind of records),
+     * ERROR_UNKNOWN_CHILD if the application knows that the child is not
+     * the application's; if it returns another error code it is a
+     * disaster as described for libxl_event_register_callbacks.
+     * (libxl will report unexpected children to its error log.)
+     *
+     * If not supplied, the application is assumed not to start
+     * any children of its own.
+     *
+     * This function is NOT called from within the signal handler.
+     * Rather it will be called from inside a libxl's event handling
+     * code and thus only when libxl is running, for example from
+     * within libxl_event_wait.  (libxl uses the self-pipe trick
+     * to implement this.)
+     *
+     * childproc_exited_callback may call back into libxl, but it
+     * is best to avoid making long-running libxl calls as that might
+     * stall the calling event loop while the nested operation
+     * completes.
+     */
+    int (*reaped_callback)(pid_t, int status, void *user);
+} libxl_childproc_hooks;
+
+/* hooks may be 0 in which is equivalent to &{ libxl_sigchld_owner_libxl, 0, 0 }
+ *
+ * May not be called when libxl might have any child processes, or the
+ * behaviour is undefined.  So it is best to call this at
+ * initialisation.
+ */
+void libxl_childproc_setmode(libxl_ctx *ctx, const libxl_childproc_hooks *hooks,
+                             void *user);
+
+/*
+ * This function is for an application which owns SIGCHLD and which
+ * therefore reaps all of the process's children.
+ *
+ * May be called only by an application which has called setmode with
+ * chldowner == libxl_sigchld_owner_mainloop.  If pid was a process started
+ * by this instance of libxl, returns 0 after doing whatever
+ * processing is appropriate.  Otherwise silently returns
+ * ERROR_UNKNOWN_CHILD.  No other error returns are possible.
+ *
+ * May NOT be called from within a signal handler which might
+ * interrupt any libxl operation.  The application will almost
+ * certainly need to use the self-pipe trick (or a working pselect or
+ * ppoll) to implement this.
+ */
+int libxl_childproc_reaped(libxl_ctx *ctx, pid_t, int status);
+
+
 /*
  * An application which initialises a libxl_ctx in a parent process
  * and then forks a child which does not quickly exec, must
diff --git a/tools/libxl/libxl_fork.c b/tools/libxl/libxl_fork.c
index dce88ad..35c8bdd 100644
--- a/tools/libxl/libxl_fork.c
+++ b/tools/libxl/libxl_fork.c
@@ -46,6 +46,12 @@ static int atfork_registered;
 static LIBXL_LIST_HEAD(, libxl__carefd) carefds =
     LIBXL_LIST_HEAD_INITIALIZER(carefds);
 
+/* non-null iff installed, protected by no_forking */
+static libxl_ctx *sigchld_owner;
+static struct sigaction sigchld_saved_action;
+
+static void sigchld_removehandler_core(void);
+
 static void atfork_lock(void)
 {
     int r = pthread_mutex_lock(&no_forking);
@@ -107,6 +113,7 @@ void libxl_postfork_child_noexec(libxl_ctx *ctx)
     int r;
 
     atfork_lock();
+
     LIBXL_LIST_FOREACH_SAFE(cf, &carefds, entry, cf_tmp) {
         if (cf->fd >= 0) {
             r = close(cf->fd);
@@ -118,6 +125,10 @@ void libxl_postfork_child_noexec(libxl_ctx *ctx)
         free(cf);
     }
     LIBXL_LIST_INIT(&carefds);
+
+    if (sigchld_owner)
+        sigchld_removehandler_core();
+
     atfork_unlock();
 }
 
@@ -141,6 +152,250 @@ int libxl__carefd_fd(const libxl__carefd *cf)
 }
 
 /*
+ * Actual child process handling
+ */
+
+static void sigchld_handler(int signo)
+{
+    int e = libxl__self_pipe_wakeup(sigchld_owner->sigchld_selfpipe[1]);
+    assert(!e); /* errors are probably EBADF, very bad */
+}
+
+static void sigchld_removehandler_core(void)
+{
+    struct sigaction was;
+    int r;
+    
+    r = sigaction(SIGCHLD, &sigchld_saved_action, &was);
+    assert(!r);
+    assert(!(was.sa_flags & SA_SIGINFO));
+    assert(was.sa_handler == sigchld_handler);
+    sigchld_owner = 0;
+}
+
+void libxl__sigchld_removehandler(libxl_ctx *ctx) /* non-reentrant */
+{
+    atfork_lock();
+    if (sigchld_owner == ctx)
+        sigchld_removehandler_core();
+    atfork_unlock();
+}
+
+int libxl__sigchld_installhandler(libxl_ctx *ctx) /* non-reentrant */
+{
+    int r, rc;
+
+    if (ctx->sigchld_selfpipe[0] < 0) {
+        r = pipe(ctx->sigchld_selfpipe);
+        if (r) {
+            ctx->sigchld_selfpipe[0] = -1;
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "failed to create sigchld pipe");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+    atfork_lock();
+    if (sigchld_owner != ctx) {
+        struct sigaction ours;
+
+        assert(!sigchld_owner);
+        sigchld_owner = ctx;
+
+        memset(&ours,0,sizeof(ours));
+        ours.sa_handler = sigchld_handler;
+        sigemptyset(&ours.sa_mask);
+        ours.sa_flags = SA_NOCLDSTOP | SA_RESTART;
+        r = sigaction(SIGCHLD, &ours, &sigchld_saved_action);
+        assert(!r);
+
+        assert(((void)"application must negotiate with libxl about SIGCHLD",
+                !(sigchld_saved_action.sa_flags & SA_SIGINFO) &&
+                (sigchld_saved_action.sa_handler == SIG_DFL ||
+                 sigchld_saved_action.sa_handler == SIG_IGN)));
+    }
+    atfork_unlock();
+
+    rc = 0;
+ out:
+    return rc;
+}
+
+static int chldmode_ours(libxl_ctx *ctx)
+{
+    return ctx->childproc_hooks->chldowner == libxl_sigchld_owner_libxl;
+}
+
+int libxl__fork_selfpipe_active(libxl_ctx *ctx)
+{
+    /* Returns the fd to read, or -1 */
+    if (!chldmode_ours(ctx))
+        return -1;
+
+    if (LIBXL_LIST_EMPTY(&ctx->children))
+        return -1;
+
+    return ctx->sigchld_selfpipe[0];
+}
+
+static void perhaps_removehandler(libxl_ctx *ctx)
+{
+    if (LIBXL_LIST_EMPTY(&ctx->children) &&
+        ctx->childproc_hooks->chldowner != libxl_sigchld_owner_libxl_always)
+        libxl__sigchld_removehandler(ctx);
+}
+
+static int childproc_reaped(libxl__egc *egc, pid_t pid, int status)
+{
+    EGC_GC;
+    libxl__ev_child *ch;
+
+    LIBXL_LIST_FOREACH(ch, &CTX->children, entry)
+        if (ch->pid == pid)
+            goto found;
+
+    /* not found */
+    return ERROR_UNKNOWN_CHILD;
+
+ found:
+    LIBXL_LIST_REMOVE(ch, entry);
+    ch->pid = -1;
+    ch->callback(egc, ch, pid, status);
+
+    perhaps_removehandler(CTX);
+
+    return 0;
+}
+
+int libxl_childproc_reaped(libxl_ctx *ctx, pid_t pid, int status)
+{
+    EGC_INIT(ctx);
+    CTX_LOCK;
+    int rc = childproc_reaped(egc, pid, status);
+    CTX_UNLOCK;
+    EGC_FREE;
+    return rc;
+}
+
+void libxl__fork_selfpipe_woken(libxl__egc *egc)
+{
+    /* May make callbacks into the application for child processes.
+     * ctx must be locked EXACTLY ONCE */
+    EGC_GC;
+
+    while (chldmode_ours(CTX) /* in case the app changes the mode */) {
+        int status;
+        pid_t pid = waitpid(-1, &status, WNOHANG);
+
+        if (pid == 0) return;
+
+        if (pid == -1) {
+            if (errno == ECHILD) return;
+            if (errno == EINTR) continue;
+            LIBXL__EVENT_DISASTER(egc, "waitpid() failed", errno, 0);
+            return;
+        }
+
+        int rc = childproc_reaped(egc, pid, status);
+
+        if (rc) {
+            if (CTX->childproc_hooks->reaped_callback) {
+                CTX_UNLOCK;
+                rc = CTX->childproc_hooks->reaped_callback
+                        (pid, status, CTX->childproc_user);
+                CTX_LOCK;
+                if (rc != 0 && rc != ERROR_UNKNOWN_CHILD) {
+                    char disasterbuf[200];
+                    snprintf(disasterbuf, sizeof(disasterbuf), " reported by"
+                             " libxl_childproc_hooks->reaped_callback"
+                             " (for pid=%lu, status=%d; error code %d)",
+                             (unsigned long)pid, status, rc);
+                    LIBXL__EVENT_DISASTER(egc, disasterbuf, 0, 0);
+                    return;
+                }
+            } else {
+                rc = ERROR_UNKNOWN_CHILD;
+            }
+            if (rc)
+                libxl_report_child_exitstatus(CTX, XTL_WARN,
+                                "unknown child", (long)pid, status);
+        }
+    }
+}
+
+pid_t libxl__ev_child_fork(libxl__gc *gc, libxl__ev_child *ch,
+                           libxl__ev_child_callback *death)
+{
+    CTX_LOCK;
+    int rc;
+
+    if (chldmode_ours(CTX)) {
+        rc = libxl__sigchld_installhandler(CTX);
+        if (rc) goto out;
+    }
+
+    pid_t pid =
+        CTX->childproc_hooks->fork_replacement
+        ? CTX->childproc_hooks->fork_replacement(CTX->childproc_user)
+        : fork();
+    if (pid == -1) {
+        LOGE(ERROR, "fork failed");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!pid) {
+        /* woohoo! */
+        return 0; /* Yes, CTX is left locked in the child. */
+    }
+
+    ch->pid = pid;
+    ch->callback = death;
+    LIBXL_LIST_INSERT_HEAD(&CTX->children, ch, entry);
+    rc = pid;
+
+ out:
+    perhaps_removehandler(CTX);
+    CTX_UNLOCK;
+    return rc;
+}
+
+void libxl_childproc_setmode(libxl_ctx *ctx, const libxl_childproc_hooks *hooks,
+                             void *user)
+{
+    GC_INIT(ctx);
+    CTX_LOCK;
+
+    assert(LIBXL_LIST_EMPTY(&CTX->children));
+
+    if (!hooks)
+        hooks = &libxl__childproc_default_hooks;
+
+    ctx->childproc_hooks = hooks;
+    ctx->childproc_user = user;
+
+    switch (ctx->childproc_hooks->chldowner) {
+    case libxl_sigchld_owner_mainloop:
+    case libxl_sigchld_owner_libxl:
+        libxl__sigchld_removehandler(ctx);
+        break;
+    case libxl_sigchld_owner_libxl_always:
+        libxl__sigchld_installhandler(ctx);
+        break;
+    default:
+        abort();
+    }
+
+    CTX_UNLOCK;
+    GC_FREE;
+}
+
+const libxl_childproc_hooks libxl__childproc_default_hooks = {
+    libxl_sigchld_owner_libxl, 0, 0
+};
+
+/*
  * Local variables:
  * mode: C
  * c-basic-offset: 4
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 01c9ba9..d04e856 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -198,6 +198,19 @@ _hidden libxl__ev_xswatch *libxl__watch_slot_contents(libxl__gc *gc,
                                                       int slotnum);
 
 
+typedef struct libxl__ev_child libxl__ev_child;
+typedef void libxl__ev_child_callback(libxl__egc *egc, libxl__ev_child*,
+                                      pid_t pid, int status);
+struct libxl__ev_child {
+    /* caller should include this in their own struct */
+    /* read-only for caller: */
+    pid_t pid; /* -1 means unused ("unregistered", ie Idle) */
+    libxl__ev_child_callback *callback;
+    /* remainder is private for libxl__ev_... */
+    LIBXL_LIST_ENTRY(struct libxl__ev_child) entry;
+};
+
+
 /*
  * evgen structures, which are the state we use for generating
  * events for the caller.
@@ -306,10 +319,14 @@ struct libxl__ctx {
     
     LIBXL_LIST_HEAD(, libxl_evgen_disk_eject) disk_eject_evgens;
 
-    /* for callers who reap children willy-nilly; caller must only
-     * set this after libxl_init and before any other call - or
-     * may leave them untouched */
+    const libxl_childproc_hooks *childproc_hooks;
+    void *childproc_user;
+    int sigchld_selfpipe[2]; /* [0]==-1 means handler not installed */
+    LIBXL_LIST_HEAD(, libxl__ev_child) children;
+
+    /* This is obsolete and must be removed: */
     int (*waitpid_instead)(pid_t pid, int *status, int flags);
+
     libxl_version_info version_info;
 };
 
@@ -557,6 +574,36 @@ static inline int libxl__ev_xswatch_isregistered(const libxl__ev_xswatch *xw)
 
 
 /*
+ * For making subprocesses.  This is the only permitted mechanism for
+ * code in libxl to do so.
+ *
+ * In the parent, returns the pid, filling in childw_out.
+ * In the child, returns 0.
+ * If it fails, returns a libxl error (all of which are -ve).
+ *
+ * The child should go on to exec (or exit) soon.  The child may not
+ * make any further calls to libxl infrastructure, except for memory
+ * allocation and logging.  If the child needs to use xenstore it
+ * must open its own xs handle and use it directly, rather than via
+ * the libxl event machinery.
+ *
+ * The parent may signal the child but it must not reap it.  That will
+ * be done by the event machinery.  death may be NULL in which case
+ * the child is still reaped but its death is ignored.
+ *
+ * It is not possible to "deregister" the child death event source.
+ * It will generate exactly one event callback; until then the childw
+ * is Active and may not be reused.
+ */
+_hidden pid_t libxl__ev_child_fork(libxl__gc *gc, libxl__ev_child *childw_out,
+                                 libxl__ev_child_callback *death);
+static inline void libxl__ev_child_init(libxl__ev_child *childw_out)
+                { childw_out->pid = -1; }
+static inline int libxl__ev_child_inuse(libxl__ev_child *childw_out)
+                { return childw_out->pid >= 0; }
+
+
+/*
  * Other event-handling support provided by the libxl event core to
  * the rest of libxl.
  */
@@ -610,6 +657,15 @@ _hidden void libxl__poller_put(libxl_ctx *ctx, libxl__poller *p);
  * ctx must be locked. */
 _hidden void libxl__poller_wakeup(libxl__egc *egc, libxl__poller *p);
 
+/* Internal to fork and child reaping machinery */
+extern const libxl_childproc_hooks libxl__childproc_default_hooks;
+int libxl__sigchld_installhandler(libxl_ctx *ctx); /* non-reentrant;logs errs */
+void libxl__sigchld_removehandler(libxl_ctx *ctx); /* non-reentrant */
+int libxl__fork_selfpipe_active(libxl_ctx *ctx); /* returns read fd or -1 */
+void libxl__fork_selfpipe_woken(libxl__egc *egc);
+int libxl__self_pipe_wakeup(int fd); /* returns 0 or -1 setting errno */
+int libxl__self_pipe_eatall(int fd); /* returns 0 or -1 setting errno */
+
 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6n-0006hO-F1; Fri, 11 May 2012 17:58:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006Wf-4B
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.139.83:16356] by server-3.bemta-5.messagelabs.com id
	6E/4E-25237-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!13
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30238 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435483"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Il-70; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000go-5P;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:11 +0100
Message-ID: <1336759092-2432-27-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 26/27] libxl: child processes cleanups
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Abolish libxl_fork.  Its only callers were in xl.  Its functionality
is now moved elsewhere, as follows:

* The "logging version of fork", which is what it was billed as, is now
  xl_fork, which also dies on failure.

* Closing the xenstore handle in the child is now done in
  libxl__ev_child_fork, which is the only remaining place where fork
  is called in libxl.

* We provide a new function libxl__ev_child_xenstore_reopen for
  in-libxl children to make the ctx useable for xenstore again.

* Consequently libxl__spawn_record_pid now no longer needs to mess
  about with its own xenstore handle.  As a bonus it can now just use
  libxl__xs_write.

Also, since we have now converted all the forkers in libxl, we can
always honour the fork_replacement childproc hook - so do so.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_exec.c     |   35 ++++++++++++++++-------------------
 tools/libxl/libxl_fork.c     |   25 ++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h |    5 +++++
 tools/libxl/libxl_utils.c    |   21 ---------------------
 tools/libxl/libxl_utils.h    |    3 +--
 tools/libxl/xl.c             |   12 ++++++++++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    5 ++---
 8 files changed, 61 insertions(+), 46 deletions(-)

diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index 882c048..b46b893 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -127,34 +127,23 @@ void libxl_report_child_exitstatus(libxl_ctx *ctx,
     }
 }
 
-int libxl__spawn_record_pid(libxl__gc *gc, libxl__spawn_state *spawn,
-                            pid_t innerchild)
+int libxl__spawn_record_pid(libxl__gc *gc, libxl__spawn_state *spawn, pid_t pid)
 {
-    struct xs_handle *xsh = NULL;
-    const char *pid = NULL;
-    int rc, xsok;
+    int r, rc;
 
-    pid = GCSPRINTF("%d", innerchild);
+    rc = libxl__ev_child_xenstore_reopen(gc, spawn->what);
+    if (rc) goto out;
 
-    /* we mustn't use the parent's handle in the child */
-    xsh = xs_daemon_open();
-    if (!xsh) {
-        LOGE(ERROR, "write %s = %s: xenstore reopen failed",
-             spawn->pidpath, pid);
-        rc = ERROR_FAIL;  goto out;
-    }
-
-    xsok = xs_write(xsh, XBT_NULL, spawn->pidpath, pid, strlen(pid));
-    if (!xsok) {
+    r = libxl__xs_write(gc, XBT_NULL, spawn->pidpath, "%d", pid);
+    if (r) {
         LOGE(ERROR,
-             "write %s = %s: xenstore write failed", spawn->pidpath, pid);
+             "write %s = %d: xenstore write failed", spawn->pidpath, pid);
         rc = ERROR_FAIL;  goto out;
     }
 
     rc = 0;
 
 out:
-    if (xsh) xs_daemon_close(xsh);
     return rc ? SIGTERM : 0;
 }
 
@@ -302,7 +291,15 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
 
     /* we are now the middle process */
 
-    child = fork();
+    pid_t (*fork_replacement)(void*) =
+        CTX->childproc_hooks
+        ? CTX->childproc_hooks->fork_replacement
+        : 0;
+    child =
+        fork_replacement
+        ? fork_replacement(CTX->childproc_user)
+        : fork();
+
     if (child == -1)
         exit(255);
     if (!child) {
diff --git a/tools/libxl/libxl_fork.c b/tools/libxl/libxl_fork.c
index 35c8bdd..9ff99e0 100644
--- a/tools/libxl/libxl_fork.c
+++ b/tools/libxl/libxl_fork.c
@@ -347,7 +347,12 @@ pid_t libxl__ev_child_fork(libxl__gc *gc, libxl__ev_child *ch,
 
     if (!pid) {
         /* woohoo! */
-        return 0; /* Yes, CTX is left locked in the child. */
+        if (CTX->xsh) {
+            xs_daemon_destroy_postfork(CTX->xsh);
+            CTX->xsh = NULL; /* turns mistakes into crashes */
+        }
+        /* Yes, CTX is left locked in the child. */
+        return 0;
     }
 
     ch->pid = pid;
@@ -395,6 +400,24 @@ const libxl_childproc_hooks libxl__childproc_default_hooks = {
     libxl_sigchld_owner_libxl, 0, 0
 };
 
+int libxl__ev_child_xenstore_reopen(libxl__gc *gc, const char *what) {
+    int rc;
+
+    assert(!CTX->xsh);
+    CTX->xsh = xs_daemon_open();
+    if (!CTX->xsh) {
+        LOGE(ERROR, "%s: xenstore reopen failed", what);
+        rc = ERROR_FAIL;  goto out;
+    }
+
+    libxl_fd_set_cloexec(CTX, xs_fileno(CTX->xsh), 1);
+
+    return 0;
+
+ out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9f3f759..83fabea 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -640,6 +640,11 @@ static inline void libxl__ev_child_init(libxl__ev_child *childw_out)
 static inline int libxl__ev_child_inuse(libxl__ev_child *childw_out)
                 { return childw_out->pid >= 0; }
 
+/* Useable (only) in the child to once more make the ctx useable for
+ * xenstore operations.  logs failure in the form "what: <error
+ * message>". */
+_hidden int libxl__ev_child_xenstore_reopen(libxl__gc *gc, const char *what);
+
 
 /*
  * Other event-handling support provided by the libxl event core to
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index f0d94c6..858410e 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -444,27 +444,6 @@ int libxl__remove_directory(libxl__gc *gc, const char *dirpath)
     return rc;
 }
 
-pid_t libxl_fork(libxl_ctx *ctx)
-{
-    pid_t pid;
-
-    pid = fork();
-    if (pid == -1) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "fork failed");
-        return -1;
-    }
-
-    if (!pid) {
-        if (ctx->xsh) xs_daemon_destroy_postfork(ctx->xsh);
-        ctx->xsh = 0;
-        /* This ensures that anyone who forks but doesn't exec,
-         * and doesn't reinitialise the libxl_ctx, is OK.
-         * It also means they can safely call libxl_ctx_free. */
-    }
-
-    return pid;
-}
-
 int libxl_pipe(libxl_ctx *ctx, int pipes[2])
 {
     if (pipe(pipes) < 0) {
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
index 2b47622..74beb52 100644
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -47,9 +47,8 @@ int libxl_write_exactly(libxl_ctx *ctx, int fd, const void *data,
    * logged using filename (which is only used for logging) and what
    * (which may be 0). */
 
-pid_t libxl_fork(libxl_ctx *ctx);
 int libxl_pipe(libxl_ctx *ctx, int pipes[2]);
-  /* Just like fork(2), pipe(2), but log errors. */
+  /* Just like pipe(2), but log errors. */
 
 void libxl_report_child_exitstatus(libxl_ctx *ctx, xentoollog_level,
                                    const char *what, pid_t pid, int status);
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index a6ffd25..d4db1f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -105,6 +105,18 @@ void postfork(void)
     }
 }
 
+pid_t xl_fork(libxl_ctx *ctx) {
+    pid_t pid;
+
+    pid = fork();
+    if (pid == -1) {
+        perror("fork failed");
+        exit(-1);
+    }
+
+    return pid;
+}
+
 int main(int argc, char **argv)
 {
     int opt = 0;
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index f0d0ec8..2b6714a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -104,6 +104,7 @@ struct cmd_spec *cmdtable_lookup(const char *s);
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
+pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
 void postfork(void);
 
 /* global options */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index b91a2d5..efaf3de 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1736,7 +1736,7 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = libxl_fork(ctx);
+        child1 = xl_fork(ctx);
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
@@ -2779,8 +2779,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = libxl_fork(ctx);
-    if (child==-1) exit(1);
+    child = xl_fork(ctx);
 
     if (!child) {
         dup2(sendpipe[0], 0);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6i-0006b0-Ux; Fri, 11 May 2012 17:58:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006W1-5e
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:4139] by server-2.bemta-5.messagelabs.com id
	18/9B-17016-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!10
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30213 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435475"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IE-Fw; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000g3-Da;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:00 +0100
Message-ID: <1336759092-2432-16-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Campbell <ian.campbell@citrix.com>
Subject: [Xen-devel] [PATCH 15/27] libxl: add a dummy ao_how to
	libxl_domain_core_dump
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Ian Campbell <ian.campbell@citrix.com>

Although this function is not currently slow it may become so in the
future (this also depends somewhat on the size of the guest).
Therefore arrange for it to take an ao_how which it completes
immediately.  This will allow us to make it asynchronous in the future
without breaking API compatibility.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c      |   18 ++++++++++++++----
 tools/libxl/libxl.h      |    4 +++-
 tools/libxl/xl_cmdimpl.c |    4 ++--
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index d5fb186..482adaa 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -642,16 +642,26 @@ int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
 }
 
 int libxl_domain_core_dump(libxl_ctx *ctx, uint32_t domid,
-                           const char *filename)
+                           const char *filename,
+                           const libxl_asyncop_how *ao_how)
 {
-    int ret;
+    AO_CREATE(ctx, domid, ao_how);
+    int ret, rc;
+
     ret = xc_domain_dumpcore(ctx->xch, domid, filename);
     if (ret<0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "core dumping domain %d to %s",
                      domid, filename);
-        return ERROR_FAIL;
+        rc = ERROR_FAIL;
+        goto out;
     }
-    return 0;
+
+    rc = 0;
+out:
+
+    libxl__ao_complete(egc, ao, rc);
+
+    return AO_INPROGRESS;
 }
 
 int libxl_domain_unpause(libxl_ctx *ctx, uint32_t domid)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 3087146..d8dbb1e 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -511,7 +511,9 @@ int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
 int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_unpause(libxl_ctx *ctx, uint32_t domid);
 
-int libxl_domain_core_dump(libxl_ctx *ctx, uint32_t domid, const char *filename);
+int libxl_domain_core_dump(libxl_ctx *ctx, uint32_t domid,
+                           const char *filename,
+                           const libxl_asyncop_how *ao_how);
 
 int libxl_domain_setmaxmem(libxl_ctx *ctx, uint32_t domid, uint32_t target_memkb);
 int libxl_set_memory_target(libxl_ctx *ctx, uint32_t domid, int32_t target_memkb, int relative, int enforce);
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index c1cab9e..45e2c30 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1306,7 +1306,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
             LOG("failed to construct core dump path");
         } else {
             LOG("dumping core to %s", corefile);
-            rc=libxl_domain_core_dump(ctx, domid, corefile);
+            rc=libxl_domain_core_dump(ctx, domid, corefile, NULL);
             if (rc) LOG("core dump failed (rc=%d).", rc);
         }
         /* No point crying over spilled milk, continue on failure. */
@@ -2927,7 +2927,7 @@ static void core_dump_domain(const char *domain_spec, const char *filename)
 {
     int rc;
     find_domain(domain_spec);
-    rc=libxl_domain_core_dump(ctx, domid, filename);
+    rc=libxl_domain_core_dump(ctx, domid, filename, NULL);
     if (rc) { fprintf(stderr,"core dump failed (rc=%d)\n",rc);exit(-1); }
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6f-0006YC-Sz; Fri, 11 May 2012 17:58:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wa-F5
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.143.35:57375] by server-1.bemta-4.messagelabs.com id
	13/B9-20925-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25712 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hk-Sl; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eQ-Q7;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:51 +0100
Message-ID: <1336759092-2432-7-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 06/27] libxl: provide libxl__remove_file et al.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These utility functions cope with EINTR AND ENOENT, do error logging,
and we provide a recursive version to delete whole directory trees.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |    7 ++++
 tools/libxl/libxl_utils.c    |   79 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d04e856..909e01f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -433,6 +433,13 @@ _hidden char *libxl__strndup(libxl__gc *gc_opt, const char *c, size_t n);
  * string. (similar to a gc'd dirname(3)). */
 _hidden char *libxl__dirname(libxl__gc *gc_opt, const char *s);
 
+/* Each of these logs errors and returns a libxl error code.
+ * They do not mind if path is already removed.
+ * For _file, path must not be a directory; for _directory it must be. */
+_hidden int libxl__remove_file(libxl__gc *gc, const char *path);
+_hidden int libxl__remove_directory(libxl__gc *gc, const char *path);
+_hidden int libxl__remove_file_or_directory(libxl__gc *gc, const char *path);
+
 _hidden char **libxl__xs_kvs_of_flexarray(libxl__gc *gc, flexarray_t *array, int length);
 
 _hidden int libxl__xs_writev(libxl__gc *gc, xs_transaction_t t,
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 0cbd85e..1a4874c 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -364,6 +364,85 @@ int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
 READ_WRITE_EXACTLY(read, 1, /* */)
 READ_WRITE_EXACTLY(write, 0, const)
 
+int libxl__remove_file(libxl__gc *gc, const char *path)
+{
+    for (;;) {
+        int r = unlink(path);
+        if (!r) return 0;
+        if (errno == ENOENT) return 0;
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to remove file %s", path);
+        return ERROR_FAIL;
+     }
+}
+
+int libxl__remove_file_or_directory(libxl__gc *gc, const char *path)
+{
+    for (;;) {
+        int r = rmdir(path);
+        if (!r) return 0;
+        if (errno == ENOENT) return 0;
+        if (errno == ENOTEMPTY) return libxl__remove_directory(gc, path);
+        if (errno == ENOTDIR) return libxl__remove_file(gc, path);
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to remove %s", path);
+        return ERROR_FAIL;
+     }
+}
+
+int libxl__remove_directory(libxl__gc *gc, const char *dirpath)
+{
+    int rc = 0;
+    DIR *d = 0;
+
+    d = opendir(dirpath);
+    if (!d) {
+        if (errno == ENOENT)
+            goto out;
+
+        LOGE(ERROR, "failed to opendir %s for removal", dirpath);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    size_t need = offsetof(struct dirent, d_name) +
+        pathconf(dirpath, _PC_NAME_MAX) + 1;
+    struct dirent *de_buf = libxl__zalloc(gc, need);
+    struct dirent *de;
+
+    for (;;) {
+        int r = readdir_r(d, de_buf, &de);
+        if (r) {
+            LOGE(ERROR, "failed to readdir %s for removal", dirpath);
+            rc = ERROR_FAIL;
+            break;
+        }
+        if (!de)
+            break;
+
+        if (!strcmp(de->d_name, ".") ||
+            !strcmp(de->d_name, ".."))
+            continue;
+
+        const char *subpath = GCSPRINTF("%s/%s", dirpath, de->d_name);
+        if (libxl__remove_file_or_directory(gc, subpath))
+            rc = ERROR_FAIL;
+    }
+
+    for (;;) {
+        int r = rmdir(dirpath);
+        if (!r) break;
+        if (errno == ENOENT) goto out;
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to remove emptied directory %s", dirpath);
+        rc = ERROR_FAIL;
+    }
+
+ out:
+    if (d) closedir(d);
+
+    return rc;
+}
 
 pid_t libxl_fork(libxl_ctx *ctx)
 {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6f-0006XH-03; Fri, 11 May 2012 17:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6d-0006WB-5Y
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:19 +0000
Received: from [85.158.139.83:16205] by server-9.bemta-5.messagelabs.com id
	A4/FD-09826-A335DAF4; Fri, 11 May 2012 17:58:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30124 invoked from network); 11 May 2012 17:58:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435461"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hc-MG; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eE-He;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:48 +0100
Message-ID: <1336759092-2432-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 03/27] libxl: event API: new facilities for
	waiting for subprocesses
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The current arrangements in libxl for spawning subprocesses have two
key problems: (i) they make unwarranted (and largely undocumented)
assumptions about the caller's use of subprocesses, (ii) they aren't
integrated into the event system and can't be made asynchronous etc.

So replace them with a new set of facilities.

Primarily, from the point of view of code inside libxl, this is
libxl__ev_child_fork which is both (a) a version of fork() and (b) an
event source which generates a callback when the child dies.

>From the point of view of the application, we fully document our use
of SIGCHLD.  The application can tell us whether it wants to own
SIGCHLD or not; if it does, it has to tell us about deaths of our
children.

Currently there are no callers in libxl which use these facilities.
All code in libxl which forks needs to be converted and libxl_fork
needse to be be abolished.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   17 +++-
 tools/libxl/libxl.h          |    1 +
 tools/libxl/libxl_event.c    |   53 +++++++--
 tools/libxl/libxl_event.h    |  147 +++++++++++++++++++++++-
 tools/libxl/libxl_fork.c     |  255 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |   62 ++++++++++-
 6 files changed, 515 insertions(+), 20 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index c420e19..939cc02 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -39,7 +39,7 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
     memset(ctx, 0, sizeof(libxl_ctx));
     ctx->lg = lg;
 
-    /* First initialise pointers (cannot fail) */
+    /* First initialise pointers etc. (cannot fail) */
 
     LIBXL_TAILQ_INIT(&ctx->occurred);
 
@@ -58,6 +58,11 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
     LIBXL_TAILQ_INIT(&ctx->death_list);
     libxl__ev_xswatch_init(&ctx->death_watch);
 
+    ctx->childproc_hooks = &libxl__childproc_default_hooks;
+    ctx->childproc_user = 0;
+        
+    ctx->sigchld_selfpipe[0] = -1;
+
     /* The mutex is special because we can't idempotently destroy it */
 
     if (libxl__init_recursive_mutex(ctx, &ctx->lock) < 0) {
@@ -160,6 +165,16 @@ int libxl_ctx_free(libxl_ctx *ctx)
 
     discard_events(&ctx->occurred);
 
+    /* If we have outstanding children, then the application inherits
+     * them; we wish the application good luck with understanding
+     * this if and when it reaps them. */
+    libxl__sigchld_removehandler(ctx);
+
+    if (ctx->sigchld_selfpipe[0] >= 0) {
+        close(ctx->sigchld_selfpipe[0]);
+        close(ctx->sigchld_selfpipe[1]);
+    }
+
     pthread_mutex_destroy(&ctx->lock);
 
     GC_FREE;
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d59f0ee..fb90aed 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -380,6 +380,7 @@ enum {
     ERROR_NOT_READY = -11,
     ERROR_OSEVENT_REG_FAIL = -12,
     ERROR_BUFFERFULL = -13,
+    ERROR_UNKNOWN_CHILD = -14,
 };
 
 
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 93c1d1f..3e784f0 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -627,6 +627,10 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
                                                                        \
         REQUIRE_FD(poller->wakeup_pipe[0], POLLIN, BODY);              \
                                                                        \
+        int selfpipe = libxl__fork_selfpipe_active(CTX);               \
+        if (selfpipe >= 0)                                             \
+            REQUIRE_FD(selfpipe, POLLIN, BODY);                        \
+                                                                       \
     }while(0)
 
 #define REQUIRE_FD(req_fd_, req_events_, BODY) do{      \
@@ -766,10 +770,11 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
                                int nfds, const struct pollfd *fds,
                                struct timeval now)
 {
+    /* May make callbacks into the application for child processes.
+     * ctx must be locked exactly once */
     EGC_GC;
     libxl__ev_fd *efd;
 
-
     LIBXL_LIST_FOREACH(efd, &CTX->efds, entry) {
         if (!efd->events)
             continue;
@@ -780,11 +785,16 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
     }
 
     if (afterpoll_check_fd(poller,fds,nfds, poller->wakeup_pipe[0],POLLIN)) {
-        char buf[256];
-        int r = read(poller->wakeup_pipe[0], buf, sizeof(buf));
-        if (r < 0)
-            if (errno != EINTR && errno != EWOULDBLOCK)
-                LIBXL__EVENT_DISASTER(egc, "read wakeup", errno, 0);
+        int e = libxl__self_pipe_eatall(poller->wakeup_pipe[0]);
+        if (e) LIBXL__EVENT_DISASTER(egc, "read wakeup", e, 0);
+    }
+
+    int selfpipe = libxl__fork_selfpipe_active(CTX);
+    if (selfpipe >= 0 &&
+        afterpoll_check_fd(poller,fds,nfds, selfpipe, POLLIN)) {
+        int e = libxl__self_pipe_eatall(selfpipe);
+        if (e) LIBXL__EVENT_DISASTER(egc, "read sigchld pipe", e, 0);
+        libxl__fork_selfpipe_woken(egc);
     }
 
     for (;;) {
@@ -1082,16 +1092,37 @@ void libxl__poller_put(libxl_ctx *ctx, libxl__poller *p)
 
 void libxl__poller_wakeup(libxl__egc *egc, libxl__poller *p)
 {
+    int e = libxl__self_pipe_wakeup(p->wakeup_pipe[1]);
+    if (e) LIBXL__EVENT_DISASTER(egc, "cannot poke watch pipe", e, 0);
+}
+
+int libxl__self_pipe_wakeup(int fd)
+{
     static const char buf[1] = "";
 
     for (;;) {
-        int r = write(p->wakeup_pipe[1], buf, 1);
-        if (r==1) return;
+        int r = write(fd, buf, 1);
+        if (r==1) return 0;
         assert(r==-1);
         if (errno == EINTR) continue;
-        if (errno == EWOULDBLOCK) return;
-        LIBXL__EVENT_DISASTER(egc, "cannot poke watch pipe", errno, 0);
-        return;
+        if (errno == EWOULDBLOCK) return 0;
+        assert(errno);
+        return errno;
+    }
+}
+
+int libxl__self_pipe_eatall(int fd)
+{
+    char buf[256];
+    for (;;) {
+        int r = read(fd, buf, sizeof(buf));
+        if (r == sizeof(buf)) continue;
+        if (r >= 0) return 0;
+        assert(r == -1);
+        if (errno == EINTR) continue;
+        if (errno == EWOULDBLOCK) return 0;
+        assert(errno);
+        return errno;
     }
 }
 
diff --git a/tools/libxl/libxl_event.h b/tools/libxl/libxl_event.h
index 2d2196f..713d96d 100644
--- a/tools/libxl/libxl_event.h
+++ b/tools/libxl/libxl_event.h
@@ -163,11 +163,6 @@ void libxl_event_register_callbacks(libxl_ctx *ctx,
  * After libxl_ctx_free, all corresponding evgen handles become
  * invalid and must no longer be passed to evdisable.
  *
- * Events enabled with evenable prior to a fork and libxl_ctx_postfork
- * are no longer generated after the fork/postfork; however the evgen
- * structures are still valid and must be passed to evdisable if the
- * memory they use should not be leaked.
- *
  * Applications should ensure that they eventually retrieve every
  * event using libxl_event_check or libxl_event_wait, since events
  * which occur but are not retreived by the application will be queued
@@ -372,6 +367,148 @@ void libxl_osevent_occurred_fd(libxl_ctx *ctx, void *for_libxl,
 void libxl_osevent_occurred_timeout(libxl_ctx *ctx, void *for_libxl);
 
 
+/*======================================================================*/
+
+/*
+ * Subprocess handling.
+ *
+ * Unfortunately the POSIX interface makes this very awkward.
+ *
+ * There are two possible arrangements for collecting statuses from
+ * wait/waitpid.
+ *
+ * For naive programs:
+ *
+ *     libxl will keep a SIGCHLD handler installed whenever it has an
+ *     active (unreaped) child.  It will reap all children with
+ *     wait(); any children it does not recognise will be passed to
+ *     the application via an optional callback (and will result in
+ *     logged warnings if no callback is provided or the callback
+ *     denies responsibility for the child).
+ *
+ *     libxl may have children whenever:
+ *
+ *       - libxl is performing an operation which can be made
+ *         asynchronous; ie one taking a libxl_asyncop_how, even
+ *         if NULL is passed indicating that the operation is
+ *         synchronous; or
+ *
+ *       - events of any kind are being generated, as requested
+ *         by libxl_evenable_....
+ *
+ *     A multithreaded application which is naive in this sense may
+ *     block SIGCHLD on some of its threads, but there must be at
+ *     least one thread that has SIGCHLD unblocked.  libxl will not
+ *     modify the blocking flag for SIGCHLD (except that it may create
+ *     internal service threads with all signals blocked).
+ *
+ *     A naive program must only have at any one time only
+ *     one libxl context which might have children.
+ *
+ * For programs which run their own children alongside libxl's:
+ *
+ *     A program which does this must call libxl_childproc_setmode.
+ *     There are two options:
+ * 
+ *     libxl_sigchld_owner_mainloop:
+ *       The application must install a SIGCHLD handler and reap (at
+ *       least) all of libxl's children and pass their exit status
+ *       to libxl by calling libxl_childproc_exited.
+ *
+ *     libxl_sigchld_owner_libxl_always:
+ *       The application expects libxl to reap all of its children,
+ *       and provides a callback to be notified of their exit
+ *       statues.
+ *
+ * An application which fails to call setmode, or which passes 0 for
+ * hooks, while it uses any libxl operation which might
+ * create or use child processes (see above):
+ *   - Must not have any child processes running.
+ *   - Must not install a SIGCHLD handler.
+ *   - Must not reap any children.
+ */
+
+
+typedef enum {
+    /* libxl owns SIGCHLD whenever it has a child. */
+    libxl_sigchld_owner_libxl,
+
+    /* Application promises to call libxl_childproc_exited but NOT
+     * from within a signal handler.  libxl will not itself arrange to
+     * (un)block or catch SIGCHLD. */
+    libxl_sigchld_owner_mainloop,
+
+    /* libxl owns SIGCHLD all the time, and the application is
+     * relying on libxl's event loop for reaping its own children. */
+    libxl_sigchld_owner_libxl_always,
+} libxl_sigchld_owner;
+
+typedef struct {
+    libxl_sigchld_owner chldowner;
+
+    /* All of these are optional: */
+
+    /* Called by libxl instead of fork.  Should behave exactly like
+     * fork, including setting errno etc.  May NOT reenter into libxl.
+     * Application may use this to discover pids of libxl's children,
+     * for example.
+     */
+    pid_t (*fork_replacement)(void *user);
+
+    /* With libxl_sigchld_owner_libxl, called by libxl when it has
+     * reaped a pid.  (Not permitted with _owner_mainloop.)
+     *
+     * Should return 0 if the child was recognised by the application
+     * (or if the application does not keep those kind of records),
+     * ERROR_UNKNOWN_CHILD if the application knows that the child is not
+     * the application's; if it returns another error code it is a
+     * disaster as described for libxl_event_register_callbacks.
+     * (libxl will report unexpected children to its error log.)
+     *
+     * If not supplied, the application is assumed not to start
+     * any children of its own.
+     *
+     * This function is NOT called from within the signal handler.
+     * Rather it will be called from inside a libxl's event handling
+     * code and thus only when libxl is running, for example from
+     * within libxl_event_wait.  (libxl uses the self-pipe trick
+     * to implement this.)
+     *
+     * childproc_exited_callback may call back into libxl, but it
+     * is best to avoid making long-running libxl calls as that might
+     * stall the calling event loop while the nested operation
+     * completes.
+     */
+    int (*reaped_callback)(pid_t, int status, void *user);
+} libxl_childproc_hooks;
+
+/* hooks may be 0 in which is equivalent to &{ libxl_sigchld_owner_libxl, 0, 0 }
+ *
+ * May not be called when libxl might have any child processes, or the
+ * behaviour is undefined.  So it is best to call this at
+ * initialisation.
+ */
+void libxl_childproc_setmode(libxl_ctx *ctx, const libxl_childproc_hooks *hooks,
+                             void *user);
+
+/*
+ * This function is for an application which owns SIGCHLD and which
+ * therefore reaps all of the process's children.
+ *
+ * May be called only by an application which has called setmode with
+ * chldowner == libxl_sigchld_owner_mainloop.  If pid was a process started
+ * by this instance of libxl, returns 0 after doing whatever
+ * processing is appropriate.  Otherwise silently returns
+ * ERROR_UNKNOWN_CHILD.  No other error returns are possible.
+ *
+ * May NOT be called from within a signal handler which might
+ * interrupt any libxl operation.  The application will almost
+ * certainly need to use the self-pipe trick (or a working pselect or
+ * ppoll) to implement this.
+ */
+int libxl_childproc_reaped(libxl_ctx *ctx, pid_t, int status);
+
+
 /*
  * An application which initialises a libxl_ctx in a parent process
  * and then forks a child which does not quickly exec, must
diff --git a/tools/libxl/libxl_fork.c b/tools/libxl/libxl_fork.c
index dce88ad..35c8bdd 100644
--- a/tools/libxl/libxl_fork.c
+++ b/tools/libxl/libxl_fork.c
@@ -46,6 +46,12 @@ static int atfork_registered;
 static LIBXL_LIST_HEAD(, libxl__carefd) carefds =
     LIBXL_LIST_HEAD_INITIALIZER(carefds);
 
+/* non-null iff installed, protected by no_forking */
+static libxl_ctx *sigchld_owner;
+static struct sigaction sigchld_saved_action;
+
+static void sigchld_removehandler_core(void);
+
 static void atfork_lock(void)
 {
     int r = pthread_mutex_lock(&no_forking);
@@ -107,6 +113,7 @@ void libxl_postfork_child_noexec(libxl_ctx *ctx)
     int r;
 
     atfork_lock();
+
     LIBXL_LIST_FOREACH_SAFE(cf, &carefds, entry, cf_tmp) {
         if (cf->fd >= 0) {
             r = close(cf->fd);
@@ -118,6 +125,10 @@ void libxl_postfork_child_noexec(libxl_ctx *ctx)
         free(cf);
     }
     LIBXL_LIST_INIT(&carefds);
+
+    if (sigchld_owner)
+        sigchld_removehandler_core();
+
     atfork_unlock();
 }
 
@@ -141,6 +152,250 @@ int libxl__carefd_fd(const libxl__carefd *cf)
 }
 
 /*
+ * Actual child process handling
+ */
+
+static void sigchld_handler(int signo)
+{
+    int e = libxl__self_pipe_wakeup(sigchld_owner->sigchld_selfpipe[1]);
+    assert(!e); /* errors are probably EBADF, very bad */
+}
+
+static void sigchld_removehandler_core(void)
+{
+    struct sigaction was;
+    int r;
+    
+    r = sigaction(SIGCHLD, &sigchld_saved_action, &was);
+    assert(!r);
+    assert(!(was.sa_flags & SA_SIGINFO));
+    assert(was.sa_handler == sigchld_handler);
+    sigchld_owner = 0;
+}
+
+void libxl__sigchld_removehandler(libxl_ctx *ctx) /* non-reentrant */
+{
+    atfork_lock();
+    if (sigchld_owner == ctx)
+        sigchld_removehandler_core();
+    atfork_unlock();
+}
+
+int libxl__sigchld_installhandler(libxl_ctx *ctx) /* non-reentrant */
+{
+    int r, rc;
+
+    if (ctx->sigchld_selfpipe[0] < 0) {
+        r = pipe(ctx->sigchld_selfpipe);
+        if (r) {
+            ctx->sigchld_selfpipe[0] = -1;
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "failed to create sigchld pipe");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+    atfork_lock();
+    if (sigchld_owner != ctx) {
+        struct sigaction ours;
+
+        assert(!sigchld_owner);
+        sigchld_owner = ctx;
+
+        memset(&ours,0,sizeof(ours));
+        ours.sa_handler = sigchld_handler;
+        sigemptyset(&ours.sa_mask);
+        ours.sa_flags = SA_NOCLDSTOP | SA_RESTART;
+        r = sigaction(SIGCHLD, &ours, &sigchld_saved_action);
+        assert(!r);
+
+        assert(((void)"application must negotiate with libxl about SIGCHLD",
+                !(sigchld_saved_action.sa_flags & SA_SIGINFO) &&
+                (sigchld_saved_action.sa_handler == SIG_DFL ||
+                 sigchld_saved_action.sa_handler == SIG_IGN)));
+    }
+    atfork_unlock();
+
+    rc = 0;
+ out:
+    return rc;
+}
+
+static int chldmode_ours(libxl_ctx *ctx)
+{
+    return ctx->childproc_hooks->chldowner == libxl_sigchld_owner_libxl;
+}
+
+int libxl__fork_selfpipe_active(libxl_ctx *ctx)
+{
+    /* Returns the fd to read, or -1 */
+    if (!chldmode_ours(ctx))
+        return -1;
+
+    if (LIBXL_LIST_EMPTY(&ctx->children))
+        return -1;
+
+    return ctx->sigchld_selfpipe[0];
+}
+
+static void perhaps_removehandler(libxl_ctx *ctx)
+{
+    if (LIBXL_LIST_EMPTY(&ctx->children) &&
+        ctx->childproc_hooks->chldowner != libxl_sigchld_owner_libxl_always)
+        libxl__sigchld_removehandler(ctx);
+}
+
+static int childproc_reaped(libxl__egc *egc, pid_t pid, int status)
+{
+    EGC_GC;
+    libxl__ev_child *ch;
+
+    LIBXL_LIST_FOREACH(ch, &CTX->children, entry)
+        if (ch->pid == pid)
+            goto found;
+
+    /* not found */
+    return ERROR_UNKNOWN_CHILD;
+
+ found:
+    LIBXL_LIST_REMOVE(ch, entry);
+    ch->pid = -1;
+    ch->callback(egc, ch, pid, status);
+
+    perhaps_removehandler(CTX);
+
+    return 0;
+}
+
+int libxl_childproc_reaped(libxl_ctx *ctx, pid_t pid, int status)
+{
+    EGC_INIT(ctx);
+    CTX_LOCK;
+    int rc = childproc_reaped(egc, pid, status);
+    CTX_UNLOCK;
+    EGC_FREE;
+    return rc;
+}
+
+void libxl__fork_selfpipe_woken(libxl__egc *egc)
+{
+    /* May make callbacks into the application for child processes.
+     * ctx must be locked EXACTLY ONCE */
+    EGC_GC;
+
+    while (chldmode_ours(CTX) /* in case the app changes the mode */) {
+        int status;
+        pid_t pid = waitpid(-1, &status, WNOHANG);
+
+        if (pid == 0) return;
+
+        if (pid == -1) {
+            if (errno == ECHILD) return;
+            if (errno == EINTR) continue;
+            LIBXL__EVENT_DISASTER(egc, "waitpid() failed", errno, 0);
+            return;
+        }
+
+        int rc = childproc_reaped(egc, pid, status);
+
+        if (rc) {
+            if (CTX->childproc_hooks->reaped_callback) {
+                CTX_UNLOCK;
+                rc = CTX->childproc_hooks->reaped_callback
+                        (pid, status, CTX->childproc_user);
+                CTX_LOCK;
+                if (rc != 0 && rc != ERROR_UNKNOWN_CHILD) {
+                    char disasterbuf[200];
+                    snprintf(disasterbuf, sizeof(disasterbuf), " reported by"
+                             " libxl_childproc_hooks->reaped_callback"
+                             " (for pid=%lu, status=%d; error code %d)",
+                             (unsigned long)pid, status, rc);
+                    LIBXL__EVENT_DISASTER(egc, disasterbuf, 0, 0);
+                    return;
+                }
+            } else {
+                rc = ERROR_UNKNOWN_CHILD;
+            }
+            if (rc)
+                libxl_report_child_exitstatus(CTX, XTL_WARN,
+                                "unknown child", (long)pid, status);
+        }
+    }
+}
+
+pid_t libxl__ev_child_fork(libxl__gc *gc, libxl__ev_child *ch,
+                           libxl__ev_child_callback *death)
+{
+    CTX_LOCK;
+    int rc;
+
+    if (chldmode_ours(CTX)) {
+        rc = libxl__sigchld_installhandler(CTX);
+        if (rc) goto out;
+    }
+
+    pid_t pid =
+        CTX->childproc_hooks->fork_replacement
+        ? CTX->childproc_hooks->fork_replacement(CTX->childproc_user)
+        : fork();
+    if (pid == -1) {
+        LOGE(ERROR, "fork failed");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!pid) {
+        /* woohoo! */
+        return 0; /* Yes, CTX is left locked in the child. */
+    }
+
+    ch->pid = pid;
+    ch->callback = death;
+    LIBXL_LIST_INSERT_HEAD(&CTX->children, ch, entry);
+    rc = pid;
+
+ out:
+    perhaps_removehandler(CTX);
+    CTX_UNLOCK;
+    return rc;
+}
+
+void libxl_childproc_setmode(libxl_ctx *ctx, const libxl_childproc_hooks *hooks,
+                             void *user)
+{
+    GC_INIT(ctx);
+    CTX_LOCK;
+
+    assert(LIBXL_LIST_EMPTY(&CTX->children));
+
+    if (!hooks)
+        hooks = &libxl__childproc_default_hooks;
+
+    ctx->childproc_hooks = hooks;
+    ctx->childproc_user = user;
+
+    switch (ctx->childproc_hooks->chldowner) {
+    case libxl_sigchld_owner_mainloop:
+    case libxl_sigchld_owner_libxl:
+        libxl__sigchld_removehandler(ctx);
+        break;
+    case libxl_sigchld_owner_libxl_always:
+        libxl__sigchld_installhandler(ctx);
+        break;
+    default:
+        abort();
+    }
+
+    CTX_UNLOCK;
+    GC_FREE;
+}
+
+const libxl_childproc_hooks libxl__childproc_default_hooks = {
+    libxl_sigchld_owner_libxl, 0, 0
+};
+
+/*
  * Local variables:
  * mode: C
  * c-basic-offset: 4
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 01c9ba9..d04e856 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -198,6 +198,19 @@ _hidden libxl__ev_xswatch *libxl__watch_slot_contents(libxl__gc *gc,
                                                       int slotnum);
 
 
+typedef struct libxl__ev_child libxl__ev_child;
+typedef void libxl__ev_child_callback(libxl__egc *egc, libxl__ev_child*,
+                                      pid_t pid, int status);
+struct libxl__ev_child {
+    /* caller should include this in their own struct */
+    /* read-only for caller: */
+    pid_t pid; /* -1 means unused ("unregistered", ie Idle) */
+    libxl__ev_child_callback *callback;
+    /* remainder is private for libxl__ev_... */
+    LIBXL_LIST_ENTRY(struct libxl__ev_child) entry;
+};
+
+
 /*
  * evgen structures, which are the state we use for generating
  * events for the caller.
@@ -306,10 +319,14 @@ struct libxl__ctx {
     
     LIBXL_LIST_HEAD(, libxl_evgen_disk_eject) disk_eject_evgens;
 
-    /* for callers who reap children willy-nilly; caller must only
-     * set this after libxl_init and before any other call - or
-     * may leave them untouched */
+    const libxl_childproc_hooks *childproc_hooks;
+    void *childproc_user;
+    int sigchld_selfpipe[2]; /* [0]==-1 means handler not installed */
+    LIBXL_LIST_HEAD(, libxl__ev_child) children;
+
+    /* This is obsolete and must be removed: */
     int (*waitpid_instead)(pid_t pid, int *status, int flags);
+
     libxl_version_info version_info;
 };
 
@@ -557,6 +574,36 @@ static inline int libxl__ev_xswatch_isregistered(const libxl__ev_xswatch *xw)
 
 
 /*
+ * For making subprocesses.  This is the only permitted mechanism for
+ * code in libxl to do so.
+ *
+ * In the parent, returns the pid, filling in childw_out.
+ * In the child, returns 0.
+ * If it fails, returns a libxl error (all of which are -ve).
+ *
+ * The child should go on to exec (or exit) soon.  The child may not
+ * make any further calls to libxl infrastructure, except for memory
+ * allocation and logging.  If the child needs to use xenstore it
+ * must open its own xs handle and use it directly, rather than via
+ * the libxl event machinery.
+ *
+ * The parent may signal the child but it must not reap it.  That will
+ * be done by the event machinery.  death may be NULL in which case
+ * the child is still reaped but its death is ignored.
+ *
+ * It is not possible to "deregister" the child death event source.
+ * It will generate exactly one event callback; until then the childw
+ * is Active and may not be reused.
+ */
+_hidden pid_t libxl__ev_child_fork(libxl__gc *gc, libxl__ev_child *childw_out,
+                                 libxl__ev_child_callback *death);
+static inline void libxl__ev_child_init(libxl__ev_child *childw_out)
+                { childw_out->pid = -1; }
+static inline int libxl__ev_child_inuse(libxl__ev_child *childw_out)
+                { return childw_out->pid >= 0; }
+
+
+/*
  * Other event-handling support provided by the libxl event core to
  * the rest of libxl.
  */
@@ -610,6 +657,15 @@ _hidden void libxl__poller_put(libxl_ctx *ctx, libxl__poller *p);
  * ctx must be locked. */
 _hidden void libxl__poller_wakeup(libxl__egc *egc, libxl__poller *p);
 
+/* Internal to fork and child reaping machinery */
+extern const libxl_childproc_hooks libxl__childproc_default_hooks;
+int libxl__sigchld_installhandler(libxl_ctx *ctx); /* non-reentrant;logs errs */
+void libxl__sigchld_removehandler(libxl_ctx *ctx); /* non-reentrant */
+int libxl__fork_selfpipe_active(libxl_ctx *ctx); /* returns read fd or -1 */
+void libxl__fork_selfpipe_woken(libxl__egc *egc);
+int libxl__self_pipe_wakeup(int fd); /* returns 0 or -1 setting errno */
+int libxl__self_pipe_eatall(int fd); /* returns 0 or -1 setting errno */
+
 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6n-0006gG-02; Fri, 11 May 2012 17:58:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006Wa-2E
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42691] by server-1.bemta-4.messagelabs.com id
	25/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32043 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435476"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IN-Li; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000gF-JS;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:03 +0100
Message-ID: <1336759092-2432-19-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 18/27] libxl: ao: convert libxl__spawn_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__spawn_spawn becomes a callback-style asynchronous function.
The implementation is now in terms of libxl__ev_* including
libxl_ev_child.

All the callers need to be updated.  This includes the device model
spawning functions libxl__create_device_model and
libxl__create_stubdom; these are replaced with libxl__spawn_local_dm
and libxl__spawn_stubdom.  libxl__confirm_device_model_startup is
abolished; instead the dm spawner calls back.

(The choice of which kind of device model to create is lifted out of
what used to be libxl__create_device_model, because that function was
indirectly recursive.  Recursive callback-style operations are clumsy
because they require a pointer indirection for the nested states.)

Waiting for proper device model startup it is no longer notionally
optional.  Previously the code appeared to tolerate this by passing
NULL for various libxl__spawner_starting* parameters to device model
spawners.  However, this was not used anywhere.

Conversely, the "for_spawn" parameter to libxl__wait_for_offspring is
no longer supported.  It remains as an unused formal parameter to
avoid updating, in this patch, all the call sites which pass NULL.
libxl__wait_for_offspring is in any case itself an obsolete function,
so this wrinkle will go away when its callers are updated to use the
event system.  Consequently libxl__spawn_check is also abolished.

The "console ready" callback also remains unchanged in this patch.
The API for this needs to be reviewed in the context of the event
series and its reentrancy restrictions documented.

Thus their callers need to be updated.  These are the domain creation
functions libxl_domain_create_new and _restore.  These functions now
take ao_hows, and have a private state structure.

However domain creation remains not completely converted to the event
mechanism; in particular it runs the outward-facing function
libxl_run_bootloader with a NULL ao_how, which is quite wrong.  As it
happens in the current code this is not a bug because none of the rest
of the functionality surrounding the bootloader call will mind if the
event loop is reentered in the middle of its execution.

The file-scope function libxl__set_fd_flag which was used by the
previous spawn arrangements becomes unused and is removed; other
places in libxl can use libxl_fd_set_nonblock and
libxl_fd_set_cloexec, which of course remain.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v8:
 * Make midproc_cb callback with correct pid (that of the grandchild,
   not "middle" which is zero).  Reported by Roger Pau Monne.

Changes since v7:
 * Rename libxl__spawn_stubdom to libxl__spawn_stub_dm (and ..._state);
   rename the state's stubdom_* members to dm_*.
 * Eliminate the union between the two dm creation states in
   libxl__domain_create_state.  Instead, the domain creation code
   simply uses libxl__stub_dm_spawn_state.dm directly, if we're
   taking the local dm path.
 * Remove a spurious "break".
 * In domain creation, move the PV non-qemu case into the switch.
 * Code style fixes.
 * Constify some convenience aliases.
 * Improve comments (including typo fixes).
---
 tools/libxl/libxl.h          |   14 ++-
 tools/libxl/libxl_create.c   |  206 +++++++++++++++++++-----
 tools/libxl/libxl_dm.c       |  219 +++++++++++++++-----------
 tools/libxl/libxl_exec.c     |  354 +++++++++++++++++++++---------------------
 tools/libxl/libxl_internal.h |  286 +++++++++++++++++++++++-----------
 tools/libxl/xl_cmdimpl.c     |    6 +-
 6 files changed, 683 insertions(+), 402 deletions(-)

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d8dbb1e..e19d947 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -465,8 +465,18 @@ int libxl_ctx_free(libxl_ctx *ctx /* 0 is OK */);
 
 /* domain related functions */
 typedef int (*libxl_console_ready)(libxl_ctx *ctx, uint32_t domid, void *priv);
-int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config, libxl_console_ready cb, void *priv, uint32_t *domid);
-int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config, libxl_console_ready cb, void *priv, uint32_t *domid, int restore_fd);
+  /* fixme-ao   Need to review this API.  If we keep it, the reentrancy
+   * properties need to be documented but they may turn out to be too
+   * awkward */
+
+int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
+                            libxl_console_ready cb, void *priv, uint32_t *domid,
+                            const libxl_asyncop_how *ao_how);
+int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
+                                libxl_console_ready cb, void *priv,
+                                uint32_t *domid, int restore_fd,
+                                const libxl_asyncop_how *ao_how);
+
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index b137288..9ce107a 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -558,16 +558,40 @@ static int store_libxl_entry(libxl__gc *gc, uint32_t domid,
         libxl_device_model_version_to_string(b_info->device_model_version));
 }
 
-static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv,
-                            uint32_t *domid_out, int restore_fd)
+/*----- main domain creation -----*/
+
+/* We have a linear control flow; only one event callback is
+ * outstanding at any time.  Each initiation and callback function
+ * arranges for the next to be called, as the very last thing it
+ * does.  (If that particular sub-operation is not needed, a
+ * function will call the next event callback directly.)
+ */
+
+/* Event callbacks, in this order: */
+static void domcreate_devmodel_started(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int rc);
+
+/* Our own function to clean up and call the user's callback.
+ * The final call in the sequence. */
+static void domcreate_complete(libxl__egc *egc,
+                               libxl__domain_create_state *dcs,
+                               int rc);
+
+static void initiate_domain_create(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs)
 {
+    STATE_AO_GC(dcs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl__spawner_starting *dm_starting = 0;
-    libxl__domain_build_state state[1];
     uint32_t domid;
     int i, ret;
 
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+    const int restore_fd = dcs->restore_fd;
+    const libxl_console_ready cb = dcs->console_cb;
+    void *const priv = dcs->console_cb_priv;
+
     domid = 0;
 
     ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info);
@@ -580,9 +604,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         goto error_out;
     }
 
+    dcs->guest_domid = domid;
+    dcs->dmss.dm.guest_domid = 0; /* means we haven't spawned */
+
     if ( d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV && cb ) {
-        if ( (*cb)(ctx, domid, priv) )
-            goto error_out;
+        ret = (*cb)(ctx, domid, priv);
+        if (ret) goto error_out;
     }
 
     ret = libxl__domain_build_info_setdefault(gc, &d_config->b_info);
@@ -606,7 +633,17 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         }
     }
 
-    memset(state, 0, sizeof(*state));
+    memset(&dcs->build_state, 0, sizeof(dcs->build_state));
+    libxl__domain_build_state *state = &dcs->build_state;
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
 
     if ( restore_fd >= 0 ) {
         ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
@@ -656,14 +693,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         libxl_device_vkb_add(ctx, domid, &vkb);
         libxl_device_vkb_dispose(&vkb);
 
-        ret = libxl__create_device_model(gc, domid, d_config,
-                                         state, &dm_starting);
-        if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "failed to create device model: %d", ret);
-            goto error_out;
-        }
-        break;
+        dcs->dmss.dm.guest_domid = domid;
+        if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
+            libxl__spawn_stub_dm(egc, &dcs->dmss);
+        else
+            libxl__spawn_local_dm(egc, &dcs->dmss.dm);
+        return;
     }
     case LIBXL_DOMAIN_TYPE_PV:
     {
@@ -687,26 +722,52 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         libxl__device_console_dispose(&console);
 
         if (need_qemu) {
-            libxl__create_xenpv_qemu(gc, domid, d_config, state, &dm_starting);
+            dcs->dmss.dm.guest_domid = domid;
+            libxl__spawn_local_dm(egc, &dcs->dmss.dm);
+            return;
+        } else {
+            assert(!dcs->dmss.dm.guest_domid);
+            domcreate_devmodel_started(egc, &dcs->dmss.dm, 0);
+            return;
         }
-        break;
     }
     default:
         ret = ERROR_INVAL;
         goto error_out;
     }
+    abort(); /* not reached */
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_devmodel_started(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int ret)
+{
+    libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
+    STATE_AO_GC(dmss->spawn.ao);
+    int i;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+    const libxl_console_ready cb = dcs->console_cb;
+    void *const priv = dcs->console_cb_priv;
+
+    if (ret) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "device model did not start: %d", ret);
+        goto error_out;
+    }
 
-    if (dm_starting) {
+    if (dcs->dmss.dm.guest_domid) {
         if (d_config->b_info.device_model_version
             == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
             libxl__qmp_initializations(gc, domid, d_config);
         }
-        ret = libxl__confirm_device_model_startup(gc, state, dm_starting);
-        if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "device model did not start: %d", ret);
-            goto error_out;
-        }
     }
 
     for (i = 0; i < d_config->num_pcidevs; i++)
@@ -734,38 +795,95 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
     if ( cb && (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM ||
                 (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
                  d_config->b_info.u.pv.bootloader ))) {
-        if ( (*cb)(ctx, domid, priv) )
-            goto error_out;
+        ret = (*cb)(ctx, domid, priv);
+        if (ret) goto error_out;
     }
 
-    *domid_out = domid;
-    return 0;
+    domcreate_complete(egc, dcs, 0);
+    return;
 
 error_out:
-    if (domid)
-        libxl_domain_destroy(ctx, domid);
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
 
-    return ret;
+static void domcreate_complete(libxl__egc *egc,
+                               libxl__domain_create_state *dcs,
+                               int rc)
+{
+    STATE_AO_GC(dcs->ao);
+
+    if (rc) {
+        if (dcs->guest_domid) {
+            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
+            if (rc2)
+                LOG(ERROR, "unable to destroy domain %d following"
+                    " failed creation", dcs->guest_domid);
+        }
+        dcs->guest_domid = -1;
+    }
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+/*----- application-facing domain creation interface -----*/
+
+typedef struct {
+    libxl__domain_create_state dcs;
+    uint32_t *domid_out;
+} libxl__app_domain_create_state;
+
+static void domain_create_cb(libxl__egc *egc,
+                             libxl__domain_create_state *dcs,
+                             int rc, uint32_t domid);
+
+static int do_domain_create(libxl_ctx *ctx, libxl_domain_config *d_config,
+                            libxl_console_ready cb, void *priv, uint32_t *domid,
+                            int restore_fd, const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, 0, ao_how);
+    libxl__app_domain_create_state *cdcs;
+
+    GCNEW(cdcs);
+    cdcs->dcs.ao = ao;
+    cdcs->dcs.guest_config = d_config;
+    cdcs->dcs.restore_fd = restore_fd;
+    cdcs->dcs.console_cb = cb;
+    cdcs->dcs.console_cb_priv = priv;
+    cdcs->dcs.callback = domain_create_cb;
+    cdcs->domid_out = domid;
+
+    initiate_domain_create(egc, &cdcs->dcs);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_create_cb(libxl__egc *egc,
+                             libxl__domain_create_state *dcs,
+                             int rc, uint32_t domid)
+{
+    libxl__app_domain_create_state *cdcs = CONTAINER_OF(dcs, *cdcs, dcs);
+    STATE_AO_GC(cdcs->dcs.ao);
+
+    if (!rc)
+        *cdcs->domid_out = domid;
+
+    libxl__ao_complete(egc, ao, rc);
+}
+    
 int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config,
-                            libxl_console_ready cb, void *priv, uint32_t *domid)
+                            libxl_console_ready cb, void *priv,
+                            uint32_t *domid,
+                            const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
-    rc = do_domain_create(gc, d_config, cb, priv, domid, -1);
-    GC_FREE;
-    return rc;
+    return do_domain_create(ctx, d_config, cb, priv, domid, -1, ao_how);
 }
 
 int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
-                                libxl_console_ready cb, void *priv, uint32_t *domid, int restore_fd)
+                                libxl_console_ready cb, void *priv,
+                                uint32_t *domid, int restore_fd,
+                                const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
-    rc = do_domain_create(gc, d_config, cb, priv, domid, restore_fd);
-    GC_FREE;
-    return rc;
+    return do_domain_create(ctx, d_config, cb, priv, domid, restore_fd, ao_how);
 }
 
 /*
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 725c3c0..4ad7d02 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -669,24 +669,28 @@ retry_transaction:
     return 0;
 }
 
-static int libxl__create_stubdom(libxl__gc *gc,
-                                 int guest_domid,
-                                 libxl_domain_config *guest_config,
-                                 libxl__domain_build_state *d_state,
-                                 libxl__spawner_starting **starting_r)
+static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
+                                libxl__dm_spawn_state *stubdom_dmss,
+                                int rc);
+
+void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
+    STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
     libxl__device_console *console;
-    libxl_domain_config dm_config[1];
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
-    libxl__domain_build_state stubdom_state[1];
-    uint32_t dm_domid;
     char **args;
     struct xs_permissions perm[2];
     xs_transaction_t t;
-    libxl__spawner_starting *dm_starting = 0;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
 
     if (guest_config->b_info.device_model_version !=
         LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL) {
@@ -694,6 +698,8 @@ static int libxl__create_stubdom(libxl__gc *gc,
         goto out;
     }
 
+    sdss->pvqemu.guest_domid = 0;
+
     libxl_domain_create_info_init(&dm_config->c_info);
     dm_config->c_info.type = LIBXL_DOMAIN_TYPE_PV;
     dm_config->c_info.name = libxl__sprintf(gc, "%s-dm",
@@ -741,10 +747,10 @@ static int libxl__create_stubdom(libxl__gc *gc,
     dm_config->num_vkbs = 1;
 
     /* fixme: this function can leak the stubdom if it fails */
-    dm_domid = 0;
-    ret = libxl__domain_make(gc, &dm_config->c_info, &dm_domid);
+    ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
         goto out;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
     ret = libxl__domain_build(gc, &dm_config->b_info, dm_domid, stubdom_state);
     if (ret)
         goto out;
@@ -852,42 +858,67 @@ retry_transaction:
             goto out_free;
     }
 
-    if (libxl__create_xenpv_qemu(gc, dm_domid,
-                                 dm_config,
-                                 stubdom_state,
-                                 &dm_starting) < 0) {
-        ret = ERROR_FAIL;
-        goto out_free;
-    }
-    if (libxl__confirm_device_model_startup(gc, d_state, dm_starting) < 0) {
-        ret = ERROR_FAIL;
-        goto out_free;
-    }
-
-    libxl_domain_unpause(ctx, dm_domid);
+    sdss->pvqemu.guest_domid = dm_domid;
+    sdss->pvqemu.guest_config = &sdss->dm_config;
+    sdss->pvqemu.build_state = &sdss->dm_state;
+    sdss->pvqemu.callback = spawn_stubdom_pvqemu_cb;
 
-    if (starting_r) {
-        *starting_r = calloc(1, sizeof(libxl__spawner_starting));
-        (*starting_r)->domid = guest_domid;
-        (*starting_r)->dom_path = libxl__xs_get_dompath(gc, guest_domid);
-        (*starting_r)->for_spawn = NULL;
-    }
+    libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    ret = 0;
+    free(args);
+    return;
 
 out_free:
     free(args);
 out:
-    return ret;
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
 }
 
-int libxl__create_device_model(libxl__gc *gc,
-                              int domid,
-                              libxl_domain_config *guest_config,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting **starting_r)
+static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
+                                libxl__dm_spawn_state *stubdom_dmss,
+                                int rc)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    if (rc) goto out;
+
+    rc = libxl_domain_unpause(CTX, dm_domid);
+    if (rc) goto out;
+
+ out:
+    if (rc) {
+        if (dm_domid)
+            libxl_domain_destroy(CTX, dm_domid);
+    }
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
+/* callbacks passed to libxl__spawn_spawn */
+static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
+                                 const char *xsdata);
+static void device_model_startup_failed(libxl__egc *egc,
+                                        libxl__spawn_state *spawn);
+
+/* our "next step" function, called from those callbacks and elsewhere */
+static void device_model_spawn_outcome(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int rc);
+
+void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state *dmss)
+{
+    /* convenience aliases */
+    const int domid = dmss->guest_domid;
+    libxl__domain_build_state *const state = dmss->build_state;
+    libxl__spawn_state *const spawn = &dmss->spawn;
+
+    STATE_AO_GC(dmss->spawn.ao);
+
+    libxl_ctx *ctx = CTX;
+    libxl_domain_config *guest_config = dmss->guest_config;
     const libxl_domain_create_info *c_info = &guest_config->c_info;
     const libxl_domain_build_info *b_info = &guest_config->b_info;
     const libxl_vnc_info *vnc = libxl__dm_vnc(guest_config);
@@ -895,15 +926,13 @@ int libxl__create_device_model(libxl__gc *gc,
     int logfile_w, null;
     int rc;
     char **args, **arg;
-    libxl__spawner_starting buf_starting, *p;
     xs_transaction_t t;
     char *vm_path;
     char **pass_stuff;
     const char *dm;
 
     if (libxl_defbool_val(b_info->device_model_stubdomain)) {
-        rc = libxl__create_stubdom(gc, domid, guest_config, state, starting_r);
-        goto out;
+        abort();
     }
 
     dm = libxl__domain_device_model(gc, b_info);
@@ -947,25 +976,8 @@ int libxl__create_device_model(libxl__gc *gc,
     free(logfile);
     null = open("/dev/null", O_RDONLY);
 
-    if (starting_r) {
-        rc = ERROR_NOMEM;
-        *starting_r = calloc(1, sizeof(libxl__spawner_starting));
-        if (!*starting_r)
-            goto out_close;
-        p = *starting_r;
-        p->for_spawn = calloc(1, sizeof(libxl__spawn_starting));
-    } else {
-        p = &buf_starting;
-        p->for_spawn = NULL;
-    }
-
-    p->domid = domid;
-    p->dom_path = libxl__xs_get_dompath(gc, domid);
-    p->pid_path = "image/device-model-pid";
-    if (!p->dom_path) {
-        rc = ERROR_FAIL;
-        goto out_close;
-    }
+    const char *dom_path = libxl__xs_get_dompath(gc, domid);
+    spawn->pidpath = GCSPRINTF("%s/%s", dom_path, "image/device-model-pid");
 
     if (vnc && vnc->passwd) {
         /* This xenstore key will only be used by qemu-xen-traditionnal.
@@ -973,7 +985,7 @@ int libxl__create_device_model(libxl__gc *gc,
 retry_transaction:
         /* Find uuid and the write the vnc password to xenstore for qemu. */
         t = xs_transaction_start(ctx->xsh);
-        vm_path = libxl__xs_read(gc,t,libxl__sprintf(gc, "%s/vm", p->dom_path));
+        vm_path = libxl__xs_read(gc,t,libxl__sprintf(gc, "%s/vm", dom_path));
         if (vm_path) {
             /* Now write the vncpassword into it. */
             pass_stuff = libxl__calloc(gc, 3, sizeof(char *));
@@ -990,8 +1002,15 @@ retry_transaction:
     for (arg = args; *arg; arg++)
         LIBXL__LOG(CTX, XTL_DEBUG, "  %s", *arg);
 
-    rc = libxl__spawn_spawn(gc, p->for_spawn, "device model",
-                            libxl_spawner_record_pid, p);
+    spawn->what = GCSPRINTF("domain %d device model", domid);
+    spawn->xspath = GCSPRINTF("/local/domain/0/device-model/%d/state", domid);
+    spawn->timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    spawn->pidpath = GCSPRINTF("%s/image/device-model-pid", dom_path);
+    spawn->midproc_cb = libxl__spawn_record_pid;
+    spawn->confirm_cb = device_model_confirm;
+    spawn->failure_cb = device_model_startup_failed;
+
+    rc = libxl__spawn_spawn(egc, spawn);
     if (rc < 0)
         goto out_close;
     if (!rc) { /* inner child */
@@ -1006,30 +1025,61 @@ out_close:
     close(logfile_w);
     free(args);
 out:
-    return rc;
+    if (rc)
+        device_model_spawn_outcome(egc, dmss, rc);
+}
+
+
+static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
+                                 const char *xsdata)
+{
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(spawn, *dmss, spawn);
+    STATE_AO_GC(spawn->ao);
+
+    if (!xsdata)
+        return;
+
+    if (strcmp(xsdata, "running"))
+        return;
+
+    libxl__spawn_detach(gc, spawn);
+
+    device_model_spawn_outcome(egc, dmss, 0);
 }
 
+static void device_model_startup_failed(libxl__egc *egc,
+                                        libxl__spawn_state *spawn)
+{
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(spawn, *dmss, spawn);
+    device_model_spawn_outcome(egc, dmss, ERROR_FAIL);
+}
 
-int libxl__confirm_device_model_startup(libxl__gc *gc,
-                                libxl__domain_build_state *state,
-                                libxl__spawner_starting *starting)
+static void device_model_spawn_outcome(libxl__egc *egc,
+                                       libxl__dm_spawn_state *dmss,
+                                       int rc)
 {
-    char *path;
-    int domid = starting->domid;
-    int ret, ret2;
-    path = libxl__sprintf(gc, "/local/domain/0/device-model/%d/state", domid);
-    ret = libxl__spawn_confirm_offspring_startup(gc,
-                                     LIBXL_DEVICE_MODEL_START_TIMEOUT,
-                                     "Device Model", path, "running", starting);
+    STATE_AO_GC(dmss->spawn.ao);
+    int ret2;
+
+    if (rc)
+        LOG(ERROR, "%s: spawn failed (rc=%d)", dmss->spawn.what, rc);
+
+    libxl__domain_build_state *state = dmss->build_state;
+
     if (state->saved_state) {
         ret2 = unlink(state->saved_state);
-        if (ret2) LIBXL__LOG_ERRNO(CTX, XTL_ERROR,
-                                   "failed to remove device-model state %s\n",
-                                   state->saved_state);
-        /* Do not clobber spawn_confirm error code with unlink error code. */
-        if (!ret) ret = ret2;
+        if (ret2) {
+            LOGE(ERROR, "%s: failed to remove device-model state %s",
+                 dmss->spawn.what, state->saved_state);
+            rc = ERROR_FAIL;
+            goto out;
+        }
     }
-    return ret;
+
+    rc = 0;
+
+ out:
+    dmss->callback(egc, dmss, rc);
 }
 
 int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
@@ -1131,15 +1181,6 @@ out:
     return ret;
 }
 
-int libxl__create_xenpv_qemu(libxl__gc *gc, uint32_t domid,
-                             libxl_domain_config *guest_config,
-                             libxl__domain_build_state *state,
-                             libxl__spawner_starting **starting_r)
-{
-    libxl__create_device_model(gc, domid, guest_config, state, starting_r);
-    return 0;
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index 2ee2154..882c048 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -127,29 +127,35 @@ void libxl_report_child_exitstatus(libxl_ctx *ctx,
     }
 }
 
-void libxl_spawner_record_pid(void *for_spawn, pid_t innerchild)
+int libxl__spawn_record_pid(libxl__gc *gc, libxl__spawn_state *spawn,
+                            pid_t innerchild)
 {
-    libxl__spawner_starting *starting = for_spawn;
-    struct xs_handle *xsh;
-    char *path = NULL, *pid = NULL;
-    int len;
-
-    if (asprintf(&path, "%s/%s", starting->dom_path, starting->pid_path) < 0)
-        goto out;
+    struct xs_handle *xsh = NULL;
+    const char *pid = NULL;
+    int rc, xsok;
 
-    len = asprintf(&pid, "%d", innerchild);
-    if (len < 0)
-        goto out;
+    pid = GCSPRINTF("%d", innerchild);
 
     /* we mustn't use the parent's handle in the child */
     xsh = xs_daemon_open();
+    if (!xsh) {
+        LOGE(ERROR, "write %s = %s: xenstore reopen failed",
+             spawn->pidpath, pid);
+        rc = ERROR_FAIL;  goto out;
+    }
 
-    xs_write(xsh, XBT_NULL, path, pid, len);
+    xsok = xs_write(xsh, XBT_NULL, spawn->pidpath, pid, strlen(pid));
+    if (!xsok) {
+        LOGE(ERROR,
+             "write %s = %s: xenstore write failed", spawn->pidpath, pid);
+        rc = ERROR_FAIL;  goto out;
+    }
+
+    rc = 0;
 
-    xs_daemon_close(xsh);
 out:
-    free(path);
-    free(pid);
+    if (xsh) xs_daemon_close(xsh);
+    return rc ? SIGTERM : 0;
 }
 
 int libxl__wait_for_offspring(libxl__gc *gc,
@@ -184,19 +190,9 @@ int libxl__wait_for_offspring(libxl__gc *gc,
     tv.tv_sec = timeout;
     tv.tv_usec = 0;
     nfds = xs_fileno(xsh) + 1;
-    if (spawning && spawning->fd > xs_fileno(xsh))
-        nfds = spawning->fd + 1;
+    assert(!spawning);
 
     while (rc > 0 || (!rc && tv.tv_sec > 0)) {
-        if ( spawning ) {
-            rc = libxl__spawn_check(gc, spawning);
-            if ( rc ) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "%s died during startup", what);
-                rc = -1;
-                goto err_died;
-            }
-        }
         p = xs_read(xsh, XBT_NULL, path, &len);
         if ( NULL == p )
             goto again;
@@ -218,8 +214,6 @@ again:
         free(p);
         FD_ZERO(&rfds);
         FD_SET(xs_fileno(xsh), &rfds);
-        if (spawning)
-            FD_SET(spawning->fd, &rfds);
         rc = select(nfds, &rfds, NULL, NULL, &tv);
         if (rc > 0) {
             if (FD_ISSET(xs_fileno(xsh), &rfds)) {
@@ -229,207 +223,215 @@ again:
                 else
                     goto again;
             }
-            if (spawning && FD_ISSET(spawning->fd, &rfds)) {
-                unsigned char dummy;
-                if (read(spawning->fd, &dummy, sizeof(dummy)) != 1)
-                    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_DEBUG,
-                                     "failed to read spawn status pipe");
-            }
         }
     }
     LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s not ready", what);
-err_died:
+
     xs_unwatch(xsh, path, path);
     xs_daemon_close(xsh);
 err:
     return -1;
 }
 
-static int detach_offspring(libxl__gc *gc,
-                               libxl__spawner_starting *starting)
-{
-    int rc;
-    rc = libxl__spawn_detach(gc, starting->for_spawn);
-    if (starting->for_spawn)
-        free(starting->for_spawn);
-    free(starting);
-    return rc;
-}
 
-int libxl__spawn_confirm_offspring_startup(libxl__gc *gc,
-                                       uint32_t timeout, char *what,
-                                       char *path, char *state,
-                                       libxl__spawner_starting *starting)
-{
-    int detach;
-    int problem = libxl__wait_for_offspring(gc, starting->domid, timeout, what,
-                                               path, state,
-                                               starting->for_spawn, NULL, NULL);
-    detach = detach_offspring(gc, starting);
-    return problem ? problem : detach;
-}
+/*----- spawn implementation -----*/
 
-static int libxl__set_fd_flag(libxl__gc *gc, int fd, int flag)
-{
-    int flags;
+/*
+ * Full set of possible states of a libxl__spawn_state and its _detachable:
+ *
+ *               ss->        ss->        ss->    | ssd->       ssd->
+ *               timeout     xswatch     ssd     |  mid         ss
+ *  - Undefined   undef       undef       no     |  -           -
+ *  - Idle        Idle        Idle        no     |  -           -
+ *  - Active      Active      Active      yes    |  Active      yes
+ *  - Partial     Active/Idle Active/Idle maybe  |  Active/Idle yes  (if exists)
+ *  - Detached    -           -           -      |  Active      no
+ *
+ * When in state Detached, the middle process has been sent a SIGKILL.
+ */
 
-    flags = fcntl(fd, F_GETFL);
-    if (flags == -1)
-        return ERROR_FAIL;
+/* Event callbacks. */
+static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
+                              const char *watch_path, const char *event_path);
+static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                          const struct timeval *requested_abs);
+static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
+                               pid_t pid, int status);
 
-    flags |= flag;
+/* Precondition: Partial.  Results: Detached. */
+static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss);
 
-    if (fcntl(fd, F_SETFL, flags) == -1)
-        return ERROR_FAIL;
+/* Precondition: Partial; caller has logged failure reason.
+ * Results: Caller notified of failure;
+ *  after return, ss may be completely invalid as caller may reuse it */
+static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss);
 
-    return 0;
+void libxl__spawn_init(libxl__spawn_state *ss)
+{
+    libxl__ev_time_init(&ss->timeout);
+    libxl__ev_xswatch_init(&ss->xswatch);
+    ss->ssd = 0;
 }
 
-int libxl__spawn_spawn(libxl__gc *gc,
-                      libxl__spawn_starting *for_spawn,
-                      const char *what,
-                      void (*intermediate_hook)(void *for_spawn,
-                                                pid_t innerchild),
-                      void *hook_data)
+int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    pid_t child, got;
+    STATE_AO_GC(ss->ao);
+    int r;
+    pid_t child;
     int status, rc;
-    pid_t intermediate;
-    int pipes[2];
-    unsigned char dummy = 0;
-
-    if (for_spawn) {
-        for_spawn->what = strdup(what);
-        if (!for_spawn->what) return ERROR_NOMEM;
-
-        if (libxl_pipe(ctx, pipes) < 0)
-            goto err_parent;
-        if (libxl__set_fd_flag(gc, pipes[0], O_NONBLOCK) < 0 ||
-            libxl__set_fd_flag(gc, pipes[1], O_NONBLOCK) < 0)
-            goto err_parent_pipes;
-    }
 
-    intermediate = libxl_fork(ctx);
-    if (intermediate ==-1)
-        goto err_parent_pipes;
+    libxl__spawn_init(ss);
+    ss->ssd = libxl__zalloc(0, sizeof(*ss->ssd));
+    libxl__ev_child_init(&ss->ssd->mid);
+
+    rc = libxl__ev_time_register_rel(gc, &ss->timeout,
+                                     spawn_timeout, ss->timeout_ms);
+    if (rc) goto out_err;
 
-    if (intermediate) {
+    rc = libxl__ev_xswatch_register(gc, &ss->xswatch,
+                                    spawn_watch_event, ss->xspath);
+    if (rc) goto out_err;
+
+    pid_t middle = libxl__ev_child_fork(gc, &ss->ssd->mid, spawn_middle_death);
+    if (middle ==-1) { rc = ERROR_FAIL; goto out_err; }
+
+    if (middle) {
         /* parent */
-        if (for_spawn) {
-            for_spawn->intermediate = intermediate;
-            for_spawn->fd = pipes[0];
-            close(pipes[1]);
-        }
         return 1;
     }
 
-    /* we are now the intermediate process */
-    if (for_spawn) close(pipes[0]);
+    /* we are now the middle process */
 
     child = fork();
     if (child == -1)
         exit(255);
     if (!child) {
-        if (for_spawn) close(pipes[1]);
         return 0; /* caller runs child code */
     }
 
-    intermediate_hook(hook_data, child);
-
-    if (!for_spawn) _exit(0); /* just detach then */
-
-    got = waitpid(child, &status, 0);
-    assert(got == child);
-
-    rc = (WIFEXITED(status) ? WEXITSTATUS(status) :
-          WIFSIGNALED(status) && WTERMSIG(status) < 127
-          ? WTERMSIG(status)+128 : -1);
-    if (for_spawn) {
-        if (write(pipes[1], &dummy, sizeof(dummy)) != 1)
-            perror("libxl__spawn_spawn: unable to signal child exit to parent");
+    int failsig = ss->midproc_cb(gc, ss, child);
+    if (failsig) {
+        kill(child, failsig);
+        _exit(127);
     }
-    _exit(rc);
 
- err_parent_pipes:
-    if (for_spawn) {
-        close(pipes[0]);
-        close(pipes[1]);
+    for (;;) {
+        pid_t got = waitpid(child, &status, 0);
+        if (got == -1) {
+            assert(errno == EINTR);
+            continue;
+        }
+        assert(got == child);
+        break;
     }
 
- err_parent:
-    if (for_spawn) free(for_spawn->what);
+    r = (WIFEXITED(status) && WEXITSTATUS(status) <= 127 ? WEXITSTATUS(status) :
+         WIFSIGNALED(status) && WTERMSIG(status) < 127 ? WTERMSIG(status)+128 :
+         -1);
+    _exit(r);
 
-    return ERROR_FAIL;
+ out_err:
+    spawn_cleanup(gc, ss);
+    return rc;
 }
 
-static void report_spawn_intermediate_status(libxl__gc *gc,
-                                             libxl__spawn_starting *for_spawn,
-                                             int status)
+static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss)
 {
-    if (!WIFEXITED(status)) {
-        libxl_ctx *ctx = libxl__gc_owner(gc);
-        char *intermediate_what;
-        /* intermediate process did the logging itself if it exited */
-        if ( asprintf(&intermediate_what,
-                 "%s intermediate process (startup monitor)",
-                 for_spawn->what) < 0 )
-            intermediate_what = "intermediate process (startup monitor)";
-        libxl_report_child_exitstatus(ctx, LIBXL__LOG_ERROR, intermediate_what,
-                                      for_spawn->intermediate, status);
+    int r;
+
+    libxl__ev_time_deregister(gc, &ss->timeout);
+    libxl__ev_xswatch_deregister(gc, &ss->xswatch);
+
+    libxl__spawn_state_detachable *ssd = ss->ssd;
+    if (ssd) {
+        if (libxl__ev_child_inuse(&ssd->mid)) {
+            pid_t child = ssd->mid.pid;
+            r = kill(child, SIGKILL);
+            if (r && errno != ESRCH)
+                LOGE(WARN, "%s: failed to kill intermediate child (pid=%lu)",
+                     ss->what, (unsigned long)child);
+        }
+
+        /* disconnect the ss and ssd from each other */
+        ssd->ss = 0;
+        ss->ssd = 0;
     }
 }
 
-int libxl__spawn_detach(libxl__gc *gc,
-                       libxl__spawn_starting *for_spawn)
+static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int r, status;
-    pid_t got;
-    int rc = 0;
+    EGC_GC;
+    spawn_cleanup(gc, ss);
+    ss->failure_cb(egc, ss); /* must be last; callback may do anything to ss */
+}
 
-    if (!for_spawn) return 0;
+static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                          const struct timeval *requested_abs)
+{
+    /* Before event, was Active; is now Partial. */
+    EGC_GC;
+    libxl__spawn_state *ss = CONTAINER_OF(ev, *ss, timeout);
+    LOG(ERROR, "%s: startup timed out", ss->what);
+    spawn_failed(egc, ss); /* must be last */
+}
 
-    if (for_spawn->intermediate) {
-        r = kill(for_spawn->intermediate, SIGKILL);
-        if (r) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "could not kill %s intermediate process [%ld]",
-                         for_spawn->what,
-                         (unsigned long)for_spawn->intermediate);
-            abort(); /* things are very wrong */
-        }
-        got = waitpid(for_spawn->intermediate, &status, 0);
-        assert(got == for_spawn->intermediate);
-        if (!(WIFSIGNALED(status) && WTERMSIG(status) == SIGKILL)) {
-            report_spawn_intermediate_status(gc, for_spawn, status);
-            rc = ERROR_FAIL;
-        }
-        for_spawn->intermediate = 0;
+static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
+                              const char *watch_path, const char *event_path)
+{
+    /* On entry, is Active. */
+    EGC_GC;
+    libxl__spawn_state *ss = CONTAINER_OF(xsw, *ss, xswatch);
+    char *p = libxl__xs_read(gc, 0, ss->xspath);
+    if (!p && errno != ENOENT) {
+        LOG(ERROR, "%s: xenstore read of %s failed", ss->what, ss->xspath);
+        spawn_failed(egc, ss); /* must be last */
+        return;
     }
-
-    free(for_spawn->what);
-    for_spawn->what = 0;
-
-    return rc;
+    ss->confirm_cb(egc, ss, p); /* must be last */
 }
 
-int libxl__spawn_check(libxl__gc *gc, libxl__spawn_starting *for_spawn)
+static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
+                               pid_t pid, int status)
+    /* Before event, was Active or Detached;
+     * is now Active or Detached except that ssd->mid is Idle */
 {
-    pid_t got;
-    int status;
-
-    if (!for_spawn) return 0;
+    EGC_GC;
+    libxl__spawn_state_detachable *ssd = CONTAINER_OF(childw, *ssd, mid);
+    libxl__spawn_state *ss = ssd->ss;
 
-    assert(for_spawn->intermediate);
-    got = waitpid(for_spawn->intermediate, &status, WNOHANG);
-    if (!got) return 0;
-
-    assert(got == for_spawn->intermediate);
-    report_spawn_intermediate_status(gc, for_spawn, status);
+    if (!WIFEXITED(status)) {
+        const char *what =
+            GCSPRINTF("%s intermediate process (startup monitor)",
+                      ss ? ss->what : "(detached)");
+        int loglevel = ss ? XTL_ERROR : XTL_WARN;
+        libxl_report_child_exitstatus(CTX, loglevel, what, pid, status);
+    } else if (ss) { /* otherwise it was supposed to be a daemon by now */
+        if (!status)
+            LOG(ERROR, "%s [%ld]: unexpectedly exited with exit status 0,"
+                " when we were waiting for it to confirm startup",
+                ss->what, (unsigned long)pid);
+        else if (status <= 127)
+            LOG(ERROR, "%s [%ld]: failed startup with non-zero exit status %d",
+                ss->what, (unsigned long)pid, status);
+        else if (status < 255) {
+            int sig = status - 128;
+            const char *str = strsignal(sig);
+            if (str)
+                LOG(ERROR, "%s [%ld]: died during startup due to fatal"
+                    " signal %s", ss->what, (unsigned long)pid, str);
+            else
+                LOG(ERROR, "%s [%ld]: died during startup due to unknown fatal"
+                    " signal number %d", ss->what, (unsigned long)pid, sig);
+        }
+        ss->ssd = 0; /* detatch the ssd to make the ss be in state Partial */
+        spawn_failed(egc, ss); /* must be last use of ss */
+    }
+    free(ssd);
+}
 
-    for_spawn->intermediate = 0;
-    return ERROR_FAIL;
+void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state *ss)
+{
+    spawn_cleanup(gc, ss);
 }
 
 /*
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 6fb99f6..dc84881 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -847,75 +847,198 @@ _hidden int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
                                       libxl_device_pci *pcidev, int num);
 _hidden int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid);
 
-/* xl_exec */
+/*
+ *----- spawn -----
+ *
+ * Higher-level double-fork and separate detach eg as for device models
+ *
+ * Each libxl__spawn_state is in one of the conventional states
+ *    Undefined, Idle, Active
+ */
 
- /* higher-level double-fork and separate detach eg as for device models */
+typedef struct libxl__obsolete_spawn_starting libxl__spawn_starting;
+/* this type is never defined, so no objects of this type exist
+ * fixme-ao  This should go away completely.  */
 
-typedef struct {
-    /* put this in your own status structure as returned to application */
-    /* all fields are private to libxl_spawn_... */
-    pid_t intermediate;
-    int fd;
-    char *what; /* malloc'd in spawn_spawn */
-} libxl__spawn_starting;
+typedef struct libxl__spawn_state libxl__spawn_state;
 
-typedef struct {
-    char *dom_path; /* from libxl_malloc, only for libxl_spawner_record_pid */
-    const char *pid_path; /* only for libxl_spawner_record_pid */
-    int domid;
-    libxl__spawn_starting *for_spawn;
-} libxl__spawner_starting;
+/* Clears out a spawn state; idempotent. */
+_hidden void libxl__spawn_init(libxl__spawn_state*);
 
 /*
- * libxl__spawn_spawn - Create a new process
- * gc: allocation pool
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- * what: string describing the spawned process
- * intermediate_hook: helper to record pid, such as libxl_spawner_record_pid
- * hook_data: data to pass to the hook function
+ * libxl__spawn_spawn - Create a new process which will become daemonic
+ * Forks twice, to allow the child to detach entirely from the parent.
+ *
+ * We call the two generated processes the "middle child" (result of
+ * the first fork) and the "inner child" (result of the second fork
+ * which takes place in the middle child).
+ *
+ * The inner child must soon exit or exec.  It must also soon exit or
+ * notify the parent of its successful startup by writing to the
+ * xenstore path xspath.
+ *
+ * The user (in the parent) will be called back (confirm_cb) every
+ * time that xenstore path is modified.
+ *
+ * In both children, the ctx is not fully usable: gc and logging
+ * operations are OK, but operations on Xen and xenstore are not.
+ * (The restrictions are the same as those which apply to children
+ * made with libxl__ev_child_fork.)
+ *
+ * midproc_cb will be called in the middle child, with the pid of the
+ * inner child; this could for example record the pid.  midproc_cb
+ * should be fast, and should return.  It will be called (reentrantly)
+ * within libxl__spawn_init.
+ *
+ * failure_cb will be called in the parent on failure of the
+ * intermediate or final child; an error message will have been
+ * logged.
+ *
+ * confirm_cb and failure_cb will not be called reentrantly from
+ * within libxl__spawn_spawn.
+ *
+ * what: string describing the spawned process, used for logging
  *
  * Logs errors.  A copy of "what" is taken. 
  * Return values:
- *  < 0   error, for_spawn need not be detached
- *   +1   caller is the parent, must call detach on *for_spawn eventually
+ *  < 0   error, *spawn is now Idle and need not be detached
+ *   +1   caller is the parent, *spawn is Active and must eventually be detached
  *    0   caller is now the inner child, should probably call libxl__exec
- * Caller, may pass 0 for for_spawn, in which case no need to detach.
+ *
+ * The spawn state must be Undefined or Idle on entry.
  */
-_hidden int libxl__spawn_spawn(libxl__gc *gc,
-                      libxl__spawn_starting *for_spawn,
-                      const char *what,
-                      void (*intermediate_hook)(void *for_spawn, pid_t innerchild),
-                      void *hook_data);
+_hidden int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *spawn);
 
 /*
- * libxl_spawner_record_pid - Record given pid in xenstore
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- * innerchild: pid of the child
+ * libxl__spawn_detach - Detaches the daemonic child.
+ *
+ * Works by killing the intermediate process from spawn_spawn.
+ * After this function returns, failures of either child are no
+ * longer reported via failure_cb.
+ *
+ * If called before the inner child has been created, this may prevent
+ * it from running at all.  Thus this should be called only when the
+ * inner child has notified that it is ready.  Normally it will be
+ * called from within confirm_cb.
  *
- * This function is passed as intermediate_hook to libxl__spawn_spawn.
+ * Logs errors.
+ *
+ * The spawn state must be Active or Idle on entry and will be Idle
+ * on return.
  */
-_hidden void libxl_spawner_record_pid(void *for_spawn, pid_t innerchild);
+_hidden void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state*);
 
 /*
- * libxl__spawn_confirm_offspring_startup - Wait for child state
- * gc: allocation pool
- * timeout: how many seconds to wait for the child
- * what: string describing the spawned process
- * path: path to the state file in xenstore
- * state: expected string to wait for in path (optional)
- * starting: malloc'd pointer to libxl__spawner_starting
+ * If successful, this should return 0.
  *
- * Returns 0 on success, and < 0 on error.
+ * Otherwise it should return a signal number, which will be
+ * sent to the inner child; the overall spawn will then fail.
+ */
+typedef int /* signal number */
+libxl__spawn_midproc_cb(libxl__gc*, libxl__spawn_state*, pid_t inner);
+
+/*
+ * Called if the spawn failed.  The reason will have been logged.
+ * The spawn state will be Idle on entry to the callback (and
+ * it may be reused immediately if desired).
+ */
+typedef void libxl__spawn_failure_cb(libxl__egc*, libxl__spawn_state*);
+
+/*
+ * Called when the xspath watch triggers.  xspath will have been read
+ * and the result placed in xsdata; if that failed because the key
+ * didn't exist, xspath==0.  (If it failed for some other reason,
+ * the spawn machinery calls failure_cb instead.)
  *
- * This function waits the given timeout for the given path to appear
- * in xenstore, and optionally for state in path.
- * The intermediate process created in libxl__spawn_spawn is killed.
- * The memory referenced by starting->for_spawn and starting is free'd.
+ * If the child has indicated its successful startup, or a failure
+ * has occurred, this should call libxl__spawn_detach.
+ *
+ * If the child is still starting up, should simply return, doing
+ * nothing.
+ *
+ * The spawn state will be Active on entry to the callback; there
+ * are no restrictions on the state on return; it may even have
+ * been detached and reused.
  */
-_hidden int libxl__spawn_confirm_offspring_startup(libxl__gc *gc,
-                                       uint32_t timeout, char *what,
-                                       char *path, char *state,
-                                       libxl__spawner_starting *starting);
+typedef void libxl__spawn_confirm_cb(libxl__egc*, libxl__spawn_state*,
+                                     const char *xsdata);
+
+typedef struct {
+    /* Private to the spawn implementation.
+     */
+    /* This separate struct, from malloc, allows us to "detach"
+     * the child and reap it later, when our user has gone
+     * away and freed its libxl__spawn_state */
+    struct libxl__spawn_state *ss;
+    libxl__ev_child mid;
+} libxl__spawn_state_detachable;
+
+struct libxl__spawn_state {
+    /* must be filled in by user and remain valid */
+    libxl__ao *ao;
+    const char *what;
+    const char *xspath;
+    const char *pidpath; /* only used by libxl__spawn_midproc_record_pid */
+    int timeout_ms; /* -1 means forever */
+    libxl__spawn_midproc_cb *midproc_cb;
+    libxl__spawn_failure_cb *failure_cb;
+    libxl__spawn_confirm_cb *confirm_cb;
+
+    /* remaining fields are private to libxl_spawn_... */
+    libxl__ev_time timeout;
+    libxl__ev_xswatch xswatch;
+    libxl__spawn_state_detachable *ssd;
+};
+
+static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
+    { return !!ss->ssd; }
+
+/*
+ * libxl_spawner_record_pid - Record given pid in xenstore
+ *
+ * This function can be passed directly as an intermediate_hook to
+ * libxl__spawn_spawn.  On failure, returns the value SIGTERM.
+ */
+_hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
+                                    pid_t innerchild);
+
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 
 /*
  * libxl__wait_for_offspring - Wait for child state
@@ -948,31 +1071,6 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
                                                        void *userdata),
                                  void *check_callback_userdata);
 
-/*
- * libxl__spawn_detach - Kill intermediate process from spawn_spawn
- * gc: allocation pool
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- *
- * Returns 0 on success, and < 0 on error.
- *
- * Logs errors.  Idempotent, but only permitted after successful
- * call to libxl__spawn_spawn, and no point calling it again if it fails.
- */
-_hidden int libxl__spawn_detach(libxl__gc *gc,
-                       libxl__spawn_starting *for_spawn);
-
-/*
- * libxl__spawn_check - Check intermediate child process
- * gc: allocation pool
- * for_spawn: malloc'd pointer to libxl__spawn_starting (optional)
- *
- * Returns 0 on success, and < 0 on error.
- *
- * Logs errors but also returns them.
- * Caller must still call detach.
- */
-_hidden int libxl__spawn_check(libxl__gc *gc,
-                       libxl__spawn_starting *for_spawn);
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
@@ -991,15 +1089,6 @@ _hidden int libxl__domain_build(libxl__gc *gc,
 /* for device model creation */
 _hidden const char *libxl__domain_device_model(libxl__gc *gc,
                                         const libxl_domain_build_info *info);
-_hidden int libxl__create_device_model(libxl__gc *gc,
-                              int domid,
-                              libxl_domain_config *guest_config,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting **starting_r);
-_hidden int libxl__create_xenpv_qemu(libxl__gc *gc, uint32_t domid,
-                              libxl_domain_config *guest_config,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting **starting_r);
 _hidden int libxl__need_xenpv_qemu(libxl__gc *gc,
         int nr_consoles, libxl__device_console *consoles,
         int nr_vfbs, libxl_device_vfb *vfbs,
@@ -1007,10 +1096,6 @@ _hidden int libxl__need_xenpv_qemu(libxl__gc *gc,
   /* Caller must either: pass starting_r==0, or on successful
    * return pass *starting_r (which will be non-0) to
    * libxl__confirm_device_model_startup or libxl__detach_device_model. */
-_hidden int libxl__confirm_device_model_startup(libxl__gc *gc,
-                              libxl__domain_build_state *state,
-                              libxl__spawner_starting *starting);
-_hidden int libxl__detach_device_model(libxl__gc *gc, libxl__spawner_starting *starting);
 _hidden int libxl__wait_for_device_model(libxl__gc *gc,
                                 uint32_t domid, char *state,
                                 libxl__spawn_starting *spawning,
@@ -1581,6 +1666,31 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
 
+/*----- Domain creation -----*/
+
+typedef struct libxl__domain_create_state libxl__domain_create_state;
+
+typedef void libxl__domain_create_cb(libxl__egc *egc,
+                                     libxl__domain_create_state*,
+                                     int rc, uint32_t domid);
+
+struct libxl__domain_create_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    libxl_domain_config *guest_config;
+    int restore_fd;
+    libxl_console_ready console_cb;
+    void *console_cb_priv;
+    libxl__domain_create_cb *callback;
+    /* private to domain_create */
+    int guest_domid;
+    libxl__domain_build_state build_state;
+    libxl__stub_dm_spawn_state dmss;
+        /* If we're not doing stubdom, we use only dmss.dm,
+         * for the non-stubdom device model. */
+};
+
+
 /*
  * Convenience macros.
  */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 45e2c30..621aeaf 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1695,8 +1695,8 @@ start:
 
     if ( restore_file ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
-                                            cb, &child_console_pid,
-                                            &domid, restore_fd);
+                                          cb, &child_console_pid,
+                                          &domid, restore_fd, 0);
         /*
          * On subsequent reboot etc we should create the domain, not
          * restore/migrate-receive it again.
@@ -1704,7 +1704,7 @@ start:
         restore_file = NULL;
     }else{
         ret = libxl_domain_create_new(ctx, &d_config,
-                                        cb, &child_console_pid, &domid);
+                                      cb, &child_console_pid, &domid, 0);
     }
     if ( ret )
         goto error_out;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6f-0006YC-Sz; Fri, 11 May 2012 17:58:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wa-F5
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.143.35:57375] by server-1.bemta-4.messagelabs.com id
	13/B9-20925-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25712 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hk-Sl; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eQ-Q7;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:51 +0100
Message-ID: <1336759092-2432-7-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 06/27] libxl: provide libxl__remove_file et al.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These utility functions cope with EINTR AND ENOENT, do error logging,
and we provide a recursive version to delete whole directory trees.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |    7 ++++
 tools/libxl/libxl_utils.c    |   79 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d04e856..909e01f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -433,6 +433,13 @@ _hidden char *libxl__strndup(libxl__gc *gc_opt, const char *c, size_t n);
  * string. (similar to a gc'd dirname(3)). */
 _hidden char *libxl__dirname(libxl__gc *gc_opt, const char *s);
 
+/* Each of these logs errors and returns a libxl error code.
+ * They do not mind if path is already removed.
+ * For _file, path must not be a directory; for _directory it must be. */
+_hidden int libxl__remove_file(libxl__gc *gc, const char *path);
+_hidden int libxl__remove_directory(libxl__gc *gc, const char *path);
+_hidden int libxl__remove_file_or_directory(libxl__gc *gc, const char *path);
+
 _hidden char **libxl__xs_kvs_of_flexarray(libxl__gc *gc, flexarray_t *array, int length);
 
 _hidden int libxl__xs_writev(libxl__gc *gc, xs_transaction_t t,
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 0cbd85e..1a4874c 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -364,6 +364,85 @@ int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
 READ_WRITE_EXACTLY(read, 1, /* */)
 READ_WRITE_EXACTLY(write, 0, const)
 
+int libxl__remove_file(libxl__gc *gc, const char *path)
+{
+    for (;;) {
+        int r = unlink(path);
+        if (!r) return 0;
+        if (errno == ENOENT) return 0;
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to remove file %s", path);
+        return ERROR_FAIL;
+     }
+}
+
+int libxl__remove_file_or_directory(libxl__gc *gc, const char *path)
+{
+    for (;;) {
+        int r = rmdir(path);
+        if (!r) return 0;
+        if (errno == ENOENT) return 0;
+        if (errno == ENOTEMPTY) return libxl__remove_directory(gc, path);
+        if (errno == ENOTDIR) return libxl__remove_file(gc, path);
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to remove %s", path);
+        return ERROR_FAIL;
+     }
+}
+
+int libxl__remove_directory(libxl__gc *gc, const char *dirpath)
+{
+    int rc = 0;
+    DIR *d = 0;
+
+    d = opendir(dirpath);
+    if (!d) {
+        if (errno == ENOENT)
+            goto out;
+
+        LOGE(ERROR, "failed to opendir %s for removal", dirpath);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    size_t need = offsetof(struct dirent, d_name) +
+        pathconf(dirpath, _PC_NAME_MAX) + 1;
+    struct dirent *de_buf = libxl__zalloc(gc, need);
+    struct dirent *de;
+
+    for (;;) {
+        int r = readdir_r(d, de_buf, &de);
+        if (r) {
+            LOGE(ERROR, "failed to readdir %s for removal", dirpath);
+            rc = ERROR_FAIL;
+            break;
+        }
+        if (!de)
+            break;
+
+        if (!strcmp(de->d_name, ".") ||
+            !strcmp(de->d_name, ".."))
+            continue;
+
+        const char *subpath = GCSPRINTF("%s/%s", dirpath, de->d_name);
+        if (libxl__remove_file_or_directory(gc, subpath))
+            rc = ERROR_FAIL;
+    }
+
+    for (;;) {
+        int r = rmdir(dirpath);
+        if (!r) break;
+        if (errno == ENOENT) goto out;
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to remove emptied directory %s", dirpath);
+        rc = ERROR_FAIL;
+    }
+
+ out:
+    if (d) closedir(d);
+
+    return rc;
+}
 
 pid_t libxl_fork(libxl_ctx *ctx)
 {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6i-0006b0-Ux; Fri, 11 May 2012 17:58:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006W1-5e
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.139.83:4139] by server-2.bemta-5.messagelabs.com id
	18/9B-17016-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!10
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30213 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435475"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IE-Fw; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000g3-Da;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:00 +0100
Message-ID: <1336759092-2432-16-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Campbell <ian.campbell@citrix.com>
Subject: [Xen-devel] [PATCH 15/27] libxl: add a dummy ao_how to
	libxl_domain_core_dump
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Ian Campbell <ian.campbell@citrix.com>

Although this function is not currently slow it may become so in the
future (this also depends somewhat on the size of the guest).
Therefore arrange for it to take an ao_how which it completes
immediately.  This will allow us to make it asynchronous in the future
without breaking API compatibility.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c      |   18 ++++++++++++++----
 tools/libxl/libxl.h      |    4 +++-
 tools/libxl/xl_cmdimpl.c |    4 ++--
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index d5fb186..482adaa 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -642,16 +642,26 @@ int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
 }
 
 int libxl_domain_core_dump(libxl_ctx *ctx, uint32_t domid,
-                           const char *filename)
+                           const char *filename,
+                           const libxl_asyncop_how *ao_how)
 {
-    int ret;
+    AO_CREATE(ctx, domid, ao_how);
+    int ret, rc;
+
     ret = xc_domain_dumpcore(ctx->xch, domid, filename);
     if (ret<0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "core dumping domain %d to %s",
                      domid, filename);
-        return ERROR_FAIL;
+        rc = ERROR_FAIL;
+        goto out;
     }
-    return 0;
+
+    rc = 0;
+out:
+
+    libxl__ao_complete(egc, ao, rc);
+
+    return AO_INPROGRESS;
 }
 
 int libxl_domain_unpause(libxl_ctx *ctx, uint32_t domid)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 3087146..d8dbb1e 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -511,7 +511,9 @@ int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
 int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_unpause(libxl_ctx *ctx, uint32_t domid);
 
-int libxl_domain_core_dump(libxl_ctx *ctx, uint32_t domid, const char *filename);
+int libxl_domain_core_dump(libxl_ctx *ctx, uint32_t domid,
+                           const char *filename,
+                           const libxl_asyncop_how *ao_how);
 
 int libxl_domain_setmaxmem(libxl_ctx *ctx, uint32_t domid, uint32_t target_memkb);
 int libxl_set_memory_target(libxl_ctx *ctx, uint32_t domid, int32_t target_memkb, int relative, int enforce);
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index c1cab9e..45e2c30 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1306,7 +1306,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
             LOG("failed to construct core dump path");
         } else {
             LOG("dumping core to %s", corefile);
-            rc=libxl_domain_core_dump(ctx, domid, corefile);
+            rc=libxl_domain_core_dump(ctx, domid, corefile, NULL);
             if (rc) LOG("core dump failed (rc=%d).", rc);
         }
         /* No point crying over spilled milk, continue on failure. */
@@ -2927,7 +2927,7 @@ static void core_dump_domain(const char *domain_spec, const char *filename)
 {
     int rc;
     find_domain(domain_spec);
-    rc=libxl_domain_core_dump(ctx, domid, filename);
+    rc=libxl_domain_core_dump(ctx, domid, filename, NULL);
     if (rc) { fprintf(stderr,"core dump failed (rc=%d)\n",rc);exit(-1); }
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6m-0006f5-64; Fri, 11 May 2012 17:58:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006XV-2I
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:57424] by server-1.bemta-4.messagelabs.com id
	85/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25786 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435478"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Ic-0i; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000ga-UL;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:08 +0100
Message-ID: <1336759092-2432-24-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 23/27] libxl: remove malloc failure handling
	from NEW_EVENT
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change to use libxl__zalloc, where allocation failure is fatal.

Also remove a spurious semicolon from the helper macro.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |    2 --
 tools/libxl/libxl_event.c    |    8 +-------
 tools/libxl/libxl_internal.h |    4 ++--
 3 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 482adaa..4d01cf8 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -789,7 +789,6 @@ static void domain_death_occurred(libxl__egc *egc,
     *evg_upd = evg_next;
 
     libxl_event *ev = NEW_EVENT(egc, DOMAIN_DEATH, evg->domid);
-    if (!ev) return;
 
     libxl__event_occurred(egc, ev);
 
@@ -876,7 +875,6 @@ static void domain_death_xswatch_callback(libxl__egc *egc, libxl__ev_xswatch *w,
             if (!evg->shutdown_reported &&
                 (got->flags & XEN_DOMINF_shutdown)) {
                 libxl_event *ev = NEW_EVENT(egc, DOMAIN_SHUTDOWN, got->domain);
-                if (!ev) goto out;
                 
                 LIBXL__LOG(CTX, LIBXL__LOG_DEBUG, " shutdown reporting");
 
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 460ef66..63719b2 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -989,13 +989,7 @@ libxl_event *libxl__event_new(libxl__egc *egc,
 {
     libxl_event *ev;
 
-    ev = malloc(sizeof(*ev));
-    if (!ev) {
-        LIBXL__EVENT_DISASTER(egc, "allocate new event", errno, type);
-        return NULL;
-    }
-
-    memset(ev, 0, sizeof(*ev));
+    ev = libxl__zalloc(0,sizeof(*ev));
     ev->type = type;
     ev->domid = domid;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d5cf69a..a407317 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -654,10 +654,10 @@ _hidden libxl_event *libxl__event_new(libxl__egc*, libxl_event_type,
                                       uint32_t domid);
   /* Convenience function.
    * Allocates a new libxl_event, fills in domid and type.
-   * If allocation fails, calls _disaster, and returns NULL. */
+   * Cannot fail. */
 
 #define NEW_EVENT(egc, type, domid)                              \
-    libxl__event_new((egc), LIBXL_EVENT_TYPE_##type, (domid));
+    libxl__event_new((egc), LIBXL_EVENT_TYPE_##type, (domid))
     /* Convenience macro. */
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6c-0006WG-Ru; Fri, 11 May 2012 17:58:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6c-0006W1-1V
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:18 +0000
Received: from [85.158.139.83:16158] by server-2.bemta-5.messagelabs.com id
	8B/8B-17016-9335DAF4; Fri, 11 May 2012 17:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30078 invoked from network); 11 May 2012 17:58:16 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435458"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008HV-Er; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000dy-Dl;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 18:57:45 +0100
Message-ID: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v9 00/27] libxl: child process handling
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

All of these patches have now been acked and tested.  Thanks are due
to to Ian Campbell and Roger Pau Monne.  I am posting them in their
final form and will apply them very shortly.

 01/27 libxl: handle POLLERR, POLLHUP, POLLNVAL properly
 02/27 libxl: support multiple libxl__ev_fds for the same fd
 03/27 libxl: event API: new facilities for waiting for subprocesses
 04/27 autoconf: trim the configure script; use autoheader
 05/27 autoconf: New test for openpty et al.
 06/27 libxl: provide libxl__remove_file et al.
 07/27 libxl: Introduce libxl__sendmsg_fds and libxl__recvmsg_fds
 08/27 libxl: Clean up setdefault in do_domain_create
 09/27 libxl: provide libxl__datacopier_*
 10/27 libxl: provide libxl__openpty_*
 11/27 libxl: ao: Convert libxl_run_bootloader
 12/27 libxl: make libxl_create_logfile const-correct
 13/27 libxl: log bootloader output
 14/27 libxl: Allow AO_GC and EGC_GC even if not used
 15/27 libxl: add a dummy ao_how to libxl_domain_core_dump
 16/27 libxl: remove ctx->waitpid_instead
 17/27 libxl: change some structures to unit arrays
 18/27 libxl: ao: convert libxl__spawn_*
 19/27 libxl: set guest_domid even if libxl__domain_make fails
 20/27 libxl: make libxl_create run bootloader via callback
 21/27 libxl: Fix an ao completion bug; document locking policy
 22/27 libxl: provide progress reporting for long-running operations
 23/27 libxl: remove malloc failure handling from NEW_EVENT
 24/27 libxl: convert console callback to libxl_asyncprogress_how
 25/27 libxl: clarify definition of "slow" operation
 26/27 libxl: child processes cleanups
 27/27 libxl: abort bootloader invocation when domain dies


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6f-0006Xn-Gr; Fri, 11 May 2012 17:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6d-0006W1-M2
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.139.83:16264] by server-2.bemta-5.messagelabs.com id
	73/9B-17016-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30154 invoked from network); 11 May 2012 17:58:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435462"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hj-QF; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eM-OE;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 18:57:50 +0100
Message-ID: <1336759092-2432-6-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 05/27] autoconf: New test for openpty et al.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We may need to #include <libutil.h>, and/or link with -lutil, to use
openpty, login_tty, and the like.  Provide INCLUDE_LIBUTIL_H
(preprocessor constant, not always defined) and PTYFUNCS_LIBS
(makefile variable).

We link libxl against PTYFUNCS_LIBS (which comes from autoconf) rather
than UTIL_LIBS, and #include <libutil.h> where appropriate.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v7:
 * Actually include the call to AX_CHECK_PTYFUNCS in this patch,
   not the previous one, and regenerate configure accordingly.

Changes since v6:
 * Put failure macro call in correct place so it might actually happen.
 * Try both with -lutil and without.
 * Patch now contains update for config.h.in.
---
 config/Tools.mk.in             |    2 +
 tools/config.h.in              |    3 ++
 tools/configure                |   61 ++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac             |    2 +
 tools/libxl/Makefile           |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++
 tools/m4/ptyfuncs.m4           |   28 ++++++++++++++++++
 7 files changed, 101 insertions(+), 1 deletions(-)
 create mode 100644 tools/m4/ptyfuncs.m4

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index ee6cda3..5b80359 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -30,6 +30,8 @@ PTHREAD_CFLAGS      := @PTHREAD_CFLAGS@
 PTHREAD_LDFLAGS     := @PTHREAD_LDFLAGS@
 PTHREAD_LIBS        := @PTHREAD_LIBS@
 
+PTYFUNCS_LIBS       := @PTYFUNCS_LIBS@
+
 # Download GIT repositories via HTTP or GIT's own protocol?
 # GIT's protocol is faster and more robust, when it works at all (firewalls
 # may block it). We make it the default, but if your GIT repository downloads
diff --git a/tools/config.h.in b/tools/config.h.in
index 17c8913..bc1ed10 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -42,6 +42,9 @@
 /* Define curses header to use */
 #undef INCLUDE_CURSES_H
 
+/* libutil header file name */
+#undef INCLUDE_LIBUTIL_H
+
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 
diff --git a/tools/configure b/tools/configure
index d8918fe..be7feb6 100755
--- a/tools/configure
+++ b/tools/configure
@@ -598,6 +598,7 @@ ac_includes_default="\
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 libiconv
+PTYFUNCS_LIBS
 PTHREAD_LIBS
 PTHREAD_LDFLAGS
 PTHREAD_CFLAGS
@@ -2308,6 +2309,8 @@ fi
 
 
 
+
+
 # Enable/disable options
 
 # Check whether --enable-githttp was given.
@@ -6443,6 +6446,64 @@ $as_echo "$ax_cv_pthread_flags" >&6; }
 
 
 
+
+    ac_fn_c_check_header_mongrel "$LINENO" "libutil.h" "ac_cv_header_libutil_h" "$ac_includes_default"
+if test "x$ac_cv_header_libutil_h" = x""yes; then :
+
+
+$as_echo "#define INCLUDE_LIBUTIL_H <libutil.h>" >>confdefs.h
+
+
+fi
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty et al" >&5
+$as_echo_n "checking for openpty et al... " >&6; }
+if test "${ax_cv_ptyfuncs_libs+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+        for ax_cv_ptyfuncs_libs in -lutil "" NOT_FOUND; do
+            if test "x$ax_cv_ptyfuncs_libs" = "xNOT_FOUND"; then
+                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Unable to find library for openpty and login_tty
+See \`config.log' for more details" "$LINENO" 5 ; }
+            fi
+
+    saved_LIBS="$LIBS"
+
+            LIBS="$LIBS $ax_cv_ptyfuncs_libs"
+            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef INCLUDE_LIBUTIL_H
+#include INCLUDE_LIBUTIL_H
+#endif
+int main(void) {
+  openpty(0,0,0,0,0);
+  login_tty(0);
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+                break
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+    LIBS="$saved_LIBS"
+
+        done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_ptyfuncs_libs" >&5
+$as_echo "$ax_cv_ptyfuncs_libs" >&6; }
+    PTYFUNCS_LIBS="$ax_cv_ptyfuncs_libs"
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5
 $as_echo_n "checking for yajl_alloc in -lyajl... " >&6; }
 if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then :
diff --git a/tools/configure.ac b/tools/configure.ac
index deb848d..4e9cb03 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -32,6 +32,7 @@ m4_include([m4/uuid.m4])
 m4_include([m4/pkg.m4])
 m4_include([m4/curses.m4])
 m4_include([m4/pthread.m4])
+m4_include([m4/ptyfuncs.m4])
 
 # Enable/disable options
 AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
@@ -132,6 +133,7 @@ AC_SUBST(libext2fs)
 AC_CHECK_LIB([gcrypt], [gcry_md_hash_buffer], [libgcrypt="y"], [libgcrypt="n"])
 AC_SUBST(libgcrypt)
 AX_CHECK_PTHREAD
+AX_CHECK_PTYFUNCS
 AC_CHECK_LIB([yajl], [yajl_alloc], [],
     [AC_MSG_ERROR([Could not find yajl])])
 AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])])
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5469454..1261d43 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -20,7 +20,7 @@ LIBUUID_LIBS += -luuid
 endif
 
 LIBXL_LIBS =
-LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(UTIL_LIBS) $(LIBUUID_LIBS)
+LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS)
 
 CFLAGS += $(PTHREAD_CFLAGS)
 LDFLAGS += $(PTHREAD_LDFLAGS)
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 2774062..b50944a 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -16,6 +16,10 @@
 
 #include <termios.h>
 
+#ifdef INCLUDE_LIBUTIL_H
+#include INCLUDE_LIBUTIL_H
+#endif
+
 #include "libxl_internal.h"
 
 #define XENCONSOLED_BUF_SIZE 16
diff --git a/tools/m4/ptyfuncs.m4 b/tools/m4/ptyfuncs.m4
new file mode 100644
index 0000000..7581704
--- /dev/null
+++ b/tools/m4/ptyfuncs.m4
@@ -0,0 +1,28 @@
+AC_DEFUN([AX_CHECK_PTYFUNCS], [
+    AC_CHECK_HEADER([libutil.h],[
+      AC_DEFINE([INCLUDE_LIBUTIL_H],[<libutil.h>],[libutil header file name])
+    ])
+    AC_CACHE_CHECK([for openpty et al], [ax_cv_ptyfuncs_libs], [
+        for ax_cv_ptyfuncs_libs in -lutil "" NOT_FOUND; do
+            if test "x$ax_cv_ptyfuncs_libs" = "xNOT_FOUND"; then
+                AC_MSG_FAILURE([Unable to find library for openpty and login_tty])
+            fi
+            AX_SAVEVAR_SAVE(LIBS)
+            LIBS="$LIBS $ax_cv_ptyfuncs_libs"
+            AC_LINK_IFELSE([
+#ifdef INCLUDE_LIBUTIL_H
+#include INCLUDE_LIBUTIL_H
+#endif
+int main(void) {
+  openpty(0,0,0,0,0);
+  login_tty(0);
+}
+],[
+                break
+            ],[])
+            AX_SAVEVAR_RESTORE(LIBS)
+        done
+    ])
+    PTYFUNCS_LIBS="$ax_cv_ptyfuncs_libs"
+    AC_SUBST(PTYFUNCS_LIBS)
+])
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6l-0006dr-9b; Fri, 11 May 2012 17:58:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006XV-JJ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42660] by server-1.bemta-4.messagelabs.com id
	14/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25738 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435471"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008I7-By; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fv-9Z;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:58 +0100
Message-ID: <1336759092-2432-14-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 13/27] libxl: log bootloader output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This involves adding a new log feature to libxl__datacopier, and then
using it.

If the bootloader exits nonzero we print the log filename in a log
message from libxl.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_aoutils.c    |   10 ++++++++++
 tools/libxl/libxl_bootloader.c |   24 ++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    3 ++-
 3 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
index 734a5dc..91e34de 100644
--- a/tools/libxl/libxl_aoutils.c
+++ b/tools/libxl/libxl_aoutils.c
@@ -118,6 +118,16 @@ static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
             libxl__ev_fd_deregister(gc, &dc->toread);
             break;
         }
+        if (dc->log) {
+            int wrote = fwrite(buf->buf + buf->used, 1, r, dc->log);
+            if (wrote != r) {
+                assert(ferror(dc->log));
+                assert(errno);
+                LOGE(ERROR, "error logging %s", dc->copywhat);
+                datacopier_callback(egc, dc, 0, errno);
+                return;
+            }
+        }
         buf->used += r;
         dc->used += r;
         assert(buf->used <= sizeof(buf->buf));
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index bdc4cb4..1534bae 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -236,6 +236,10 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
         libxl__carefd_close(bl->ptys[i].master);
         libxl__carefd_close(bl->ptys[i].slave);
     }
+    if (bl->display.log) {
+        fclose(bl->display.log);
+        bl->display.log = NULL;
+    }
 }
 
 static void bootloader_setpaths(libxl__gc *gc, libxl__bootloader_state *bl)
@@ -258,6 +262,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
     libxl_domain_build_info *info = bl->info;
+    uint32_t domid = bl->domid;
+    char *logfile_tmp = NULL;
     int rc, r;
 
     libxl__bootloader_init(bl);
@@ -269,6 +275,22 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 
     bootloader_setpaths(gc, bl);
 
+    const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
+    rc = libxl_create_logfile(CTX, logfile_leaf, &logfile_tmp);
+    if (rc) goto out;
+
+    /* Transfer ownership of log filename to bl and the gc */
+    bl->logfile = logfile_tmp;
+    libxl__ptr_add(gc, logfile_tmp);
+    logfile_tmp = NULL;
+
+    bl->display.log = fopen(bl->logfile, "a");
+    if (!bl->display.log) {
+        LOGE(ERROR, "failed to create bootloader logfile %s", bl->logfile);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     for (;;) {
         r = mkdir(bl->outputdir, 0600);
         if (!r) break;
@@ -308,6 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
  out:
     assert(rc);
  out_ok:
+    free(logfile_tmp);
     bootloader_callback(egc, bl, rc);
 }
 
@@ -465,6 +488,7 @@ static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
     libxl__datacopier_kill(&bl->display);
 
     if (status) {
+        LOG(ERROR, "bootloader failed - consult logfile %s", bl->logfile);
         libxl_report_child_exitstatus(CTX, XTL_ERROR, "bootloader",
                                       pid, status);
         rc = ERROR_FAIL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e8502c6..c5ec586 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1503,6 +1503,7 @@ struct libxl__datacopier_state {
     int readfd, writefd;
     ssize_t maxsz;
     const char *copywhat, *readwhat, *writewhat; /* for error msgs */
+    FILE *log; /* gets a copy of everything */
     libxl__datacopier_callback *callback;
     /* remaining fields are private to datacopier */
     libxl__ev_fd toread, towrite;
@@ -1565,7 +1566,7 @@ struct libxl__bootloader_state {
     libxl_device_disk *disk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
-    char *outputpath, *outputdir;
+    char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
     libxl__openpty_state openpty;
     libxl__openpty_result ptys[2];  /* [0] is for bootloader */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6g-0006ZN-TP; Fri, 11 May 2012 17:58:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006WB-L8
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.139.83:4103] by server-9.bemta-5.messagelabs.com id
	4C/FD-09826-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!9
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30198 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435473"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IJ-IS; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000g7-Fa;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:01 +0100
Message-ID: <1336759092-2432-17-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 16/27] libxl: remove ctx->waitpid_instead
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Remove this obsolete hook.  Callers inside libxl which create and reap
children should use the mechanisms provided by the event system.

(This has no functional difference since there is no way for
ctx->waitpid_instead ever to become set.)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_exec.c     |   12 +++---------
 tools/libxl/libxl_internal.h |    3 ---
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b10e79f..2ee2154 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -19,11 +19,6 @@
 
 #include "libxl_internal.h"
 
-static int call_waitpid(pid_t (*waitpid_cb)(pid_t, int *, int), pid_t pid, int *status, int options)
-{
-    return (waitpid_cb) ? waitpid_cb(pid, status, options) : waitpid(pid, status, options);
-}
-
 static void check_open_fds(const char *what)
 {
     const char *env_debug;
@@ -344,7 +339,7 @@ int libxl__spawn_spawn(libxl__gc *gc,
 
     if (!for_spawn) _exit(0); /* just detach then */
 
-    got = call_waitpid(ctx->waitpid_instead, child, &status, 0);
+    got = waitpid(child, &status, 0);
     assert(got == child);
 
     rc = (WIFEXITED(status) ? WEXITSTATUS(status) :
@@ -404,7 +399,7 @@ int libxl__spawn_detach(libxl__gc *gc,
                          (unsigned long)for_spawn->intermediate);
             abort(); /* things are very wrong */
         }
-        got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate, &status, 0);
+        got = waitpid(for_spawn->intermediate, &status, 0);
         assert(got == for_spawn->intermediate);
         if (!(WIFSIGNALED(status) && WTERMSIG(status) == SIGKILL)) {
             report_spawn_intermediate_status(gc, for_spawn, status);
@@ -421,14 +416,13 @@ int libxl__spawn_detach(libxl__gc *gc,
 
 int libxl__spawn_check(libxl__gc *gc, libxl__spawn_starting *for_spawn)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     pid_t got;
     int status;
 
     if (!for_spawn) return 0;
 
     assert(for_spawn->intermediate);
-    got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate, &status, WNOHANG);
+    got = waitpid(for_spawn->intermediate, &status, WNOHANG);
     if (!got) return 0;
 
     assert(got == for_spawn->intermediate);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 21fe99c..6fb99f6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -325,9 +325,6 @@ struct libxl__ctx {
     int sigchld_selfpipe[2]; /* [0]==-1 means handler not installed */
     LIBXL_LIST_HEAD(, libxl__ev_child) children;
 
-    /* This is obsolete and must be removed: */
-    int (*waitpid_instead)(pid_t pid, int *status, int flags);
-
     libxl_version_info version_info;
 };
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6c-0006WG-Ru; Fri, 11 May 2012 17:58:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6c-0006W1-1V
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:18 +0000
Received: from [85.158.139.83:16158] by server-2.bemta-5.messagelabs.com id
	8B/8B-17016-9335DAF4; Fri, 11 May 2012 17:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30078 invoked from network); 11 May 2012 17:58:16 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435458"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008HV-Er; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000dy-Dl;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 18:57:45 +0100
Message-ID: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v9 00/27] libxl: child process handling
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

All of these patches have now been acked and tested.  Thanks are due
to to Ian Campbell and Roger Pau Monne.  I am posting them in their
final form and will apply them very shortly.

 01/27 libxl: handle POLLERR, POLLHUP, POLLNVAL properly
 02/27 libxl: support multiple libxl__ev_fds for the same fd
 03/27 libxl: event API: new facilities for waiting for subprocesses
 04/27 autoconf: trim the configure script; use autoheader
 05/27 autoconf: New test for openpty et al.
 06/27 libxl: provide libxl__remove_file et al.
 07/27 libxl: Introduce libxl__sendmsg_fds and libxl__recvmsg_fds
 08/27 libxl: Clean up setdefault in do_domain_create
 09/27 libxl: provide libxl__datacopier_*
 10/27 libxl: provide libxl__openpty_*
 11/27 libxl: ao: Convert libxl_run_bootloader
 12/27 libxl: make libxl_create_logfile const-correct
 13/27 libxl: log bootloader output
 14/27 libxl: Allow AO_GC and EGC_GC even if not used
 15/27 libxl: add a dummy ao_how to libxl_domain_core_dump
 16/27 libxl: remove ctx->waitpid_instead
 17/27 libxl: change some structures to unit arrays
 18/27 libxl: ao: convert libxl__spawn_*
 19/27 libxl: set guest_domid even if libxl__domain_make fails
 20/27 libxl: make libxl_create run bootloader via callback
 21/27 libxl: Fix an ao completion bug; document locking policy
 22/27 libxl: provide progress reporting for long-running operations
 23/27 libxl: remove malloc failure handling from NEW_EVENT
 24/27 libxl: convert console callback to libxl_asyncprogress_how
 25/27 libxl: clarify definition of "slow" operation
 26/27 libxl: child processes cleanups
 27/27 libxl: abort bootloader invocation when domain dies


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6m-0006f5-64; Fri, 11 May 2012 17:58:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006XV-2I
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:57424] by server-1.bemta-4.messagelabs.com id
	85/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25786 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435478"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Ic-0i; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000ga-UL;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:08 +0100
Message-ID: <1336759092-2432-24-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 23/27] libxl: remove malloc failure handling
	from NEW_EVENT
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change to use libxl__zalloc, where allocation failure is fatal.

Also remove a spurious semicolon from the helper macro.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |    2 --
 tools/libxl/libxl_event.c    |    8 +-------
 tools/libxl/libxl_internal.h |    4 ++--
 3 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 482adaa..4d01cf8 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -789,7 +789,6 @@ static void domain_death_occurred(libxl__egc *egc,
     *evg_upd = evg_next;
 
     libxl_event *ev = NEW_EVENT(egc, DOMAIN_DEATH, evg->domid);
-    if (!ev) return;
 
     libxl__event_occurred(egc, ev);
 
@@ -876,7 +875,6 @@ static void domain_death_xswatch_callback(libxl__egc *egc, libxl__ev_xswatch *w,
             if (!evg->shutdown_reported &&
                 (got->flags & XEN_DOMINF_shutdown)) {
                 libxl_event *ev = NEW_EVENT(egc, DOMAIN_SHUTDOWN, got->domain);
-                if (!ev) goto out;
                 
                 LIBXL__LOG(CTX, LIBXL__LOG_DEBUG, " shutdown reporting");
 
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 460ef66..63719b2 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -989,13 +989,7 @@ libxl_event *libxl__event_new(libxl__egc *egc,
 {
     libxl_event *ev;
 
-    ev = malloc(sizeof(*ev));
-    if (!ev) {
-        LIBXL__EVENT_DISASTER(egc, "allocate new event", errno, type);
-        return NULL;
-    }
-
-    memset(ev, 0, sizeof(*ev));
+    ev = libxl__zalloc(0,sizeof(*ev));
     ev->type = type;
     ev->domid = domid;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d5cf69a..a407317 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -654,10 +654,10 @@ _hidden libxl_event *libxl__event_new(libxl__egc*, libxl_event_type,
                                       uint32_t domid);
   /* Convenience function.
    * Allocates a new libxl_event, fills in domid and type.
-   * If allocation fails, calls _disaster, and returns NULL. */
+   * Cannot fail. */
 
 #define NEW_EVENT(egc, type, domid)                              \
-    libxl__event_new((egc), LIBXL_EVENT_TYPE_##type, (domid));
+    libxl__event_new((egc), LIBXL_EVENT_TYPE_##type, (domid))
     /* Convenience macro. */
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6g-0006Ym-DU; Fri, 11 May 2012 17:58:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wb-IT
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.139.83:4085] by server-5.bemta-5.messagelabs.com id
	B9/DB-13566-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30162 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435465"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008Hs-2A; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000fa-V0;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:53 +0100
Message-ID: <1336759092-2432-9-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 08/27] libxl: Clean up setdefault in
	do_domain_create
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

do_domain_create called libxl__domain_create_info_setdefault twice.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/libxl_create.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 6df20ca..d501102 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -573,9 +573,6 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
     ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info);
     if (ret) goto error_out;
 
-    ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info);
-    if (ret) goto error_out;
-
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6l-0006dr-9b; Fri, 11 May 2012 17:58:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006XV-JJ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42660] by server-1.bemta-4.messagelabs.com id
	14/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25738 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435471"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008I7-By; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fv-9Z;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:58 +0100
Message-ID: <1336759092-2432-14-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 13/27] libxl: log bootloader output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This involves adding a new log feature to libxl__datacopier, and then
using it.

If the bootloader exits nonzero we print the log filename in a log
message from libxl.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_aoutils.c    |   10 ++++++++++
 tools/libxl/libxl_bootloader.c |   24 ++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    3 ++-
 3 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
index 734a5dc..91e34de 100644
--- a/tools/libxl/libxl_aoutils.c
+++ b/tools/libxl/libxl_aoutils.c
@@ -118,6 +118,16 @@ static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
             libxl__ev_fd_deregister(gc, &dc->toread);
             break;
         }
+        if (dc->log) {
+            int wrote = fwrite(buf->buf + buf->used, 1, r, dc->log);
+            if (wrote != r) {
+                assert(ferror(dc->log));
+                assert(errno);
+                LOGE(ERROR, "error logging %s", dc->copywhat);
+                datacopier_callback(egc, dc, 0, errno);
+                return;
+            }
+        }
         buf->used += r;
         dc->used += r;
         assert(buf->used <= sizeof(buf->buf));
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index bdc4cb4..1534bae 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -236,6 +236,10 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
         libxl__carefd_close(bl->ptys[i].master);
         libxl__carefd_close(bl->ptys[i].slave);
     }
+    if (bl->display.log) {
+        fclose(bl->display.log);
+        bl->display.log = NULL;
+    }
 }
 
 static void bootloader_setpaths(libxl__gc *gc, libxl__bootloader_state *bl)
@@ -258,6 +262,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
     libxl_domain_build_info *info = bl->info;
+    uint32_t domid = bl->domid;
+    char *logfile_tmp = NULL;
     int rc, r;
 
     libxl__bootloader_init(bl);
@@ -269,6 +275,22 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 
     bootloader_setpaths(gc, bl);
 
+    const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
+    rc = libxl_create_logfile(CTX, logfile_leaf, &logfile_tmp);
+    if (rc) goto out;
+
+    /* Transfer ownership of log filename to bl and the gc */
+    bl->logfile = logfile_tmp;
+    libxl__ptr_add(gc, logfile_tmp);
+    logfile_tmp = NULL;
+
+    bl->display.log = fopen(bl->logfile, "a");
+    if (!bl->display.log) {
+        LOGE(ERROR, "failed to create bootloader logfile %s", bl->logfile);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     for (;;) {
         r = mkdir(bl->outputdir, 0600);
         if (!r) break;
@@ -308,6 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
  out:
     assert(rc);
  out_ok:
+    free(logfile_tmp);
     bootloader_callback(egc, bl, rc);
 }
 
@@ -465,6 +488,7 @@ static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
     libxl__datacopier_kill(&bl->display);
 
     if (status) {
+        LOG(ERROR, "bootloader failed - consult logfile %s", bl->logfile);
         libxl_report_child_exitstatus(CTX, XTL_ERROR, "bootloader",
                                       pid, status);
         rc = ERROR_FAIL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e8502c6..c5ec586 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1503,6 +1503,7 @@ struct libxl__datacopier_state {
     int readfd, writefd;
     ssize_t maxsz;
     const char *copywhat, *readwhat, *writewhat; /* for error msgs */
+    FILE *log; /* gets a copy of everything */
     libxl__datacopier_callback *callback;
     /* remaining fields are private to datacopier */
     libxl__ev_fd toread, towrite;
@@ -1565,7 +1566,7 @@ struct libxl__bootloader_state {
     libxl_device_disk *disk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
-    char *outputpath, *outputdir;
+    char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
     libxl__openpty_state openpty;
     libxl__openpty_result ptys[2];  /* [0] is for bootloader */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6o-0006kC-UN; Fri, 11 May 2012 17:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006Wa-LA
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42720] by server-1.bemta-4.messagelabs.com id
	E5/B9-20925-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32065 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435482"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Ii-5b; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000gk-3B;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:10 +0100
Message-ID: <1336759092-2432-26-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 25/27] libxl: clarify definition of "slow"
	operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Update the comment in libxl_internal.h to be clearer about which
application-facing libxl operations need to take an ao_how.

Reported-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 3aa0ed7..9f3f759 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1439,17 +1439,34 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 /*
  * Machinery for asynchronous operations ("ao")
  *
- * All "slow" functions (includes anything that might block on a
- * guest or an external script) need to use the asynchronous
- * operation ("ao") machinery.  The function should take a parameter
- * const libxl_asyncop_how *ao_how and must start with a call to
- * AO_INITIATOR_ENTRY.  These functions MAY NOT be called from
- * inside libxl, because they can cause reentrancy callbacks.
+ * All "slow" functions (see below for the exact definition) need to
+ * use the asynchronous operation ("ao") machinery.  The function
+ * should take a parameter const libxl_asyncop_how *ao_how and must
+ * start with a call to AO_INITIATOR_ENTRY.  These functions MAY NOT
+ * be called from inside libxl, because they can cause reentrancy
+ * callbacks.
  *
  * For the same reason functions taking an ao_how may make themselves
  * an egc with EGC_INIT (and they will generally want to, to be able
  * to immediately complete an ao during its setup).
  *
+ *
+ * "Slow" functions includes any that might block on a guest or an
+ * external script.  More broadly, it includes any operations which
+ * are sufficiently slow that an application might reasonably want to
+ * initiate them, and then carry on doing something else, while the
+ * operation completes.  That is, a "fast" function must be fast
+ * enough that we do not mind blocking all other management operations
+ * on the same host while it completes.
+ *
+ * There are certain primitive functions which make a libxl operation
+ * necessarily "slow" for API reasons.  These are:
+ *  - awaiting xenstore watches (although read-modify-write xenstore
+ *    transactions are OK for fast functions)
+ *  - spawning subprocesses
+ *  - anything with a timeout
+ *
+ *
  * Lifecycle of an ao:
  *
  * - Created by libxl__ao_create (or the AO_CREATE convenience macro).
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6g-0006ZN-TP; Fri, 11 May 2012 17:58:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006WB-L8
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.139.83:4103] by server-9.bemta-5.messagelabs.com id
	4C/FD-09826-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!9
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30198 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435473"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008IJ-IS; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000g7-Fa;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:01 +0100
Message-ID: <1336759092-2432-17-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 16/27] libxl: remove ctx->waitpid_instead
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Remove this obsolete hook.  Callers inside libxl which create and reap
children should use the mechanisms provided by the event system.

(This has no functional difference since there is no way for
ctx->waitpid_instead ever to become set.)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_exec.c     |   12 +++---------
 tools/libxl/libxl_internal.h |    3 ---
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b10e79f..2ee2154 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -19,11 +19,6 @@
 
 #include "libxl_internal.h"
 
-static int call_waitpid(pid_t (*waitpid_cb)(pid_t, int *, int), pid_t pid, int *status, int options)
-{
-    return (waitpid_cb) ? waitpid_cb(pid, status, options) : waitpid(pid, status, options);
-}
-
 static void check_open_fds(const char *what)
 {
     const char *env_debug;
@@ -344,7 +339,7 @@ int libxl__spawn_spawn(libxl__gc *gc,
 
     if (!for_spawn) _exit(0); /* just detach then */
 
-    got = call_waitpid(ctx->waitpid_instead, child, &status, 0);
+    got = waitpid(child, &status, 0);
     assert(got == child);
 
     rc = (WIFEXITED(status) ? WEXITSTATUS(status) :
@@ -404,7 +399,7 @@ int libxl__spawn_detach(libxl__gc *gc,
                          (unsigned long)for_spawn->intermediate);
             abort(); /* things are very wrong */
         }
-        got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate, &status, 0);
+        got = waitpid(for_spawn->intermediate, &status, 0);
         assert(got == for_spawn->intermediate);
         if (!(WIFSIGNALED(status) && WTERMSIG(status) == SIGKILL)) {
             report_spawn_intermediate_status(gc, for_spawn, status);
@@ -421,14 +416,13 @@ int libxl__spawn_detach(libxl__gc *gc,
 
 int libxl__spawn_check(libxl__gc *gc, libxl__spawn_starting *for_spawn)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     pid_t got;
     int status;
 
     if (!for_spawn) return 0;
 
     assert(for_spawn->intermediate);
-    got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate, &status, WNOHANG);
+    got = waitpid(for_spawn->intermediate, &status, WNOHANG);
     if (!got) return 0;
 
     assert(got == for_spawn->intermediate);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 21fe99c..6fb99f6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -325,9 +325,6 @@ struct libxl__ctx {
     int sigchld_selfpipe[2]; /* [0]==-1 means handler not installed */
     LIBXL_LIST_HEAD(, libxl__ev_child) children;
 
-    /* This is obsolete and must be removed: */
-    int (*waitpid_instead)(pid_t pid, int *status, int flags);
-
     libxl_version_info version_info;
 };
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6f-0006Xn-Gr; Fri, 11 May 2012 17:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6d-0006W1-M2
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.139.83:16264] by server-2.bemta-5.messagelabs.com id
	73/9B-17016-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30154 invoked from network); 11 May 2012 17:58:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435462"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hj-QF; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eM-OE;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 11 May 2012 18:57:50 +0100
Message-ID: <1336759092-2432-6-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 05/27] autoconf: New test for openpty et al.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We may need to #include <libutil.h>, and/or link with -lutil, to use
openpty, login_tty, and the like.  Provide INCLUDE_LIBUTIL_H
(preprocessor constant, not always defined) and PTYFUNCS_LIBS
(makefile variable).

We link libxl against PTYFUNCS_LIBS (which comes from autoconf) rather
than UTIL_LIBS, and #include <libutil.h> where appropriate.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v7:
 * Actually include the call to AX_CHECK_PTYFUNCS in this patch,
   not the previous one, and regenerate configure accordingly.

Changes since v6:
 * Put failure macro call in correct place so it might actually happen.
 * Try both with -lutil and without.
 * Patch now contains update for config.h.in.
---
 config/Tools.mk.in             |    2 +
 tools/config.h.in              |    3 ++
 tools/configure                |   61 ++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac             |    2 +
 tools/libxl/Makefile           |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++
 tools/m4/ptyfuncs.m4           |   28 ++++++++++++++++++
 7 files changed, 101 insertions(+), 1 deletions(-)
 create mode 100644 tools/m4/ptyfuncs.m4

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index ee6cda3..5b80359 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -30,6 +30,8 @@ PTHREAD_CFLAGS      := @PTHREAD_CFLAGS@
 PTHREAD_LDFLAGS     := @PTHREAD_LDFLAGS@
 PTHREAD_LIBS        := @PTHREAD_LIBS@
 
+PTYFUNCS_LIBS       := @PTYFUNCS_LIBS@
+
 # Download GIT repositories via HTTP or GIT's own protocol?
 # GIT's protocol is faster and more robust, when it works at all (firewalls
 # may block it). We make it the default, but if your GIT repository downloads
diff --git a/tools/config.h.in b/tools/config.h.in
index 17c8913..bc1ed10 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -42,6 +42,9 @@
 /* Define curses header to use */
 #undef INCLUDE_CURSES_H
 
+/* libutil header file name */
+#undef INCLUDE_LIBUTIL_H
+
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 
diff --git a/tools/configure b/tools/configure
index d8918fe..be7feb6 100755
--- a/tools/configure
+++ b/tools/configure
@@ -598,6 +598,7 @@ ac_includes_default="\
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 libiconv
+PTYFUNCS_LIBS
 PTHREAD_LIBS
 PTHREAD_LDFLAGS
 PTHREAD_CFLAGS
@@ -2308,6 +2309,8 @@ fi
 
 
 
+
+
 # Enable/disable options
 
 # Check whether --enable-githttp was given.
@@ -6443,6 +6446,64 @@ $as_echo "$ax_cv_pthread_flags" >&6; }
 
 
 
+
+    ac_fn_c_check_header_mongrel "$LINENO" "libutil.h" "ac_cv_header_libutil_h" "$ac_includes_default"
+if test "x$ac_cv_header_libutil_h" = x""yes; then :
+
+
+$as_echo "#define INCLUDE_LIBUTIL_H <libutil.h>" >>confdefs.h
+
+
+fi
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty et al" >&5
+$as_echo_n "checking for openpty et al... " >&6; }
+if test "${ax_cv_ptyfuncs_libs+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+        for ax_cv_ptyfuncs_libs in -lutil "" NOT_FOUND; do
+            if test "x$ax_cv_ptyfuncs_libs" = "xNOT_FOUND"; then
+                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Unable to find library for openpty and login_tty
+See \`config.log' for more details" "$LINENO" 5 ; }
+            fi
+
+    saved_LIBS="$LIBS"
+
+            LIBS="$LIBS $ax_cv_ptyfuncs_libs"
+            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef INCLUDE_LIBUTIL_H
+#include INCLUDE_LIBUTIL_H
+#endif
+int main(void) {
+  openpty(0,0,0,0,0);
+  login_tty(0);
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+                break
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+    LIBS="$saved_LIBS"
+
+        done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_ptyfuncs_libs" >&5
+$as_echo "$ax_cv_ptyfuncs_libs" >&6; }
+    PTYFUNCS_LIBS="$ax_cv_ptyfuncs_libs"
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5
 $as_echo_n "checking for yajl_alloc in -lyajl... " >&6; }
 if test "${ac_cv_lib_yajl_yajl_alloc+set}" = set; then :
diff --git a/tools/configure.ac b/tools/configure.ac
index deb848d..4e9cb03 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -32,6 +32,7 @@ m4_include([m4/uuid.m4])
 m4_include([m4/pkg.m4])
 m4_include([m4/curses.m4])
 m4_include([m4/pthread.m4])
+m4_include([m4/ptyfuncs.m4])
 
 # Enable/disable options
 AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
@@ -132,6 +133,7 @@ AC_SUBST(libext2fs)
 AC_CHECK_LIB([gcrypt], [gcry_md_hash_buffer], [libgcrypt="y"], [libgcrypt="n"])
 AC_SUBST(libgcrypt)
 AX_CHECK_PTHREAD
+AX_CHECK_PTYFUNCS
 AC_CHECK_LIB([yajl], [yajl_alloc], [],
     [AC_MSG_ERROR([Could not find yajl])])
 AC_CHECK_LIB([z], [deflateCopy], [], [AC_MSG_ERROR([Could not find zlib])])
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5469454..1261d43 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -20,7 +20,7 @@ LIBUUID_LIBS += -luuid
 endif
 
 LIBXL_LIBS =
-LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(UTIL_LIBS) $(LIBUUID_LIBS)
+LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS)
 
 CFLAGS += $(PTHREAD_CFLAGS)
 LDFLAGS += $(PTHREAD_LDFLAGS)
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 2774062..b50944a 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -16,6 +16,10 @@
 
 #include <termios.h>
 
+#ifdef INCLUDE_LIBUTIL_H
+#include INCLUDE_LIBUTIL_H
+#endif
+
 #include "libxl_internal.h"
 
 #define XENCONSOLED_BUF_SIZE 16
diff --git a/tools/m4/ptyfuncs.m4 b/tools/m4/ptyfuncs.m4
new file mode 100644
index 0000000..7581704
--- /dev/null
+++ b/tools/m4/ptyfuncs.m4
@@ -0,0 +1,28 @@
+AC_DEFUN([AX_CHECK_PTYFUNCS], [
+    AC_CHECK_HEADER([libutil.h],[
+      AC_DEFINE([INCLUDE_LIBUTIL_H],[<libutil.h>],[libutil header file name])
+    ])
+    AC_CACHE_CHECK([for openpty et al], [ax_cv_ptyfuncs_libs], [
+        for ax_cv_ptyfuncs_libs in -lutil "" NOT_FOUND; do
+            if test "x$ax_cv_ptyfuncs_libs" = "xNOT_FOUND"; then
+                AC_MSG_FAILURE([Unable to find library for openpty and login_tty])
+            fi
+            AX_SAVEVAR_SAVE(LIBS)
+            LIBS="$LIBS $ax_cv_ptyfuncs_libs"
+            AC_LINK_IFELSE([
+#ifdef INCLUDE_LIBUTIL_H
+#include INCLUDE_LIBUTIL_H
+#endif
+int main(void) {
+  openpty(0,0,0,0,0);
+  login_tty(0);
+}
+],[
+                break
+            ],[])
+            AX_SAVEVAR_RESTORE(LIBS)
+        done
+    ])
+    PTYFUNCS_LIBS="$ax_cv_ptyfuncs_libs"
+    AC_SUBST(PTYFUNCS_LIBS)
+])
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6k-0006d4-IS; Fri, 11 May 2012 17:58:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wa-DG
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42662] by server-1.bemta-4.messagelabs.com id
	54/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32033 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435472"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008I2-7k; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fn-6F;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:56 +0100
Message-ID: <1336759092-2432-12-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 11/27] libxl: ao: Convert libxl_run_bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Convert libxl_run_bootloader to an ao_how-taking function.

It's implemented in terms of libxl__bootloader_run, which can be used
internally.  The resulting code is pretty much a rewrite.

Significant changes include:

- We direct the bootloader's results to a file, not a pipe.  This
  makes it simpler to deal with as we don't have to read it
  concurrently along with everything else.

- We now issue a warning if we find unexpected statements in the
  bootloader results.

- The arrangements for buffering of bootloader input and output
  are completely changed.  Now we have a fixed limit of 64k
  on output, and 4k on input, and discard the oldest data when
  this overflows (which it shouldn't).  There is no timeout
  any more.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v6:
 * Use libxl__ev_child_inuse rather than testing pid directly.
 * Fix a code style error.
 * Properly initialise the sub-operations' aos in _init.
 * Bugfixes.
---
 tools/libxl/libxl.c            |    4 +
 tools/libxl/libxl.h            |    3 +-
 tools/libxl/libxl_bootloader.c |  713 +++++++++++++++++++++-------------------
 tools/libxl/libxl_create.c     |    8 +-
 tools/libxl/libxl_internal.h   |   34 ++
 5 files changed, 419 insertions(+), 343 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 939cc02..d5fb186 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1750,6 +1750,10 @@ int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
      * For other device types assume that the blktap2 process is
      * needed by the soon to be started domain and do nothing.
      */
+    /*
+     * FIXME
+     * This appears to leak the disk in failure paths
+     */
 
     return 0;
 }
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index fb90aed..3087146 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -495,7 +495,8 @@ int libxl_get_max_cpus(libxl_ctx *ctx);
 int libxl_run_bootloader(libxl_ctx *ctx,
                          libxl_domain_build_info *info,
                          libxl_device_disk *disk,
-                         uint32_t domid);
+                         uint32_t domid,
+                         libxl_asyncop_how *ao_how);
 
   /* 0 means ERROR_ENOMEM, which we have logged */
 
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index b50944a..bdc4cb4 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -15,6 +15,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include <termios.h>
+#include <utmp.h>
 
 #ifdef INCLUDE_LIBUTIL_H
 #include INCLUDE_LIBUTIL_H
@@ -22,67 +23,80 @@
 
 #include "libxl_internal.h"
 
-#define XENCONSOLED_BUF_SIZE 16
-#define BOOTLOADER_BUF_SIZE 4096
-#define BOOTLOADER_TIMEOUT 1
+#define BOOTLOADER_BUF_OUT 65536
+#define BOOTLOADER_BUF_IN   4096
 
-static char **make_bootloader_args(libxl__gc *gc,
-                                   libxl_domain_build_info *info,
-                                   uint32_t domid,
-                                   const char *fifo, char *disk)
+static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op);
+static void bootloader_keystrokes_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval);
+static void bootloader_display_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval);
+static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
+                                pid_t pid, int status);
+
+/*----- bootloader arguments -----*/
+
+static void bootloader_arg(libxl__bootloader_state *bl, const char *arg)
+{
+    assert(bl->nargs < bl->argsspace);
+    bl->args[bl->nargs++] = arg;
+}
+
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
 {
-    flexarray_t *args;
-    int nr = 0;
+    const libxl_domain_build_info *info = bl->info;
 
-    args = flexarray_make(1, 1);
-    if (!args)
-        return NULL;
+    bl->argsspace = 7 + libxl_string_list_length(&info->u.pv.bootloader_args);
 
-    flexarray_set(args, nr++, (char *)info->u.pv.bootloader);
+    GCNEW_ARRAY(bl->args, bl->argsspace);
+
+#define ARG(arg) bootloader_arg(bl, (arg))
+
+    ARG(info->u.pv.bootloader);
 
     if (info->u.pv.kernel.path)
-        flexarray_set(args, nr++, libxl__sprintf(gc, "--kernel=%s",
-                                                 info->u.pv.kernel.path));
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
     if (info->u.pv.ramdisk.path)
-        flexarray_set(args, nr++, libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
-        flexarray_set(args, nr++, libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
+        ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
-    flexarray_set(args, nr++, libxl__sprintf(gc, "--output=%s", fifo));
-    flexarray_set(args, nr++, "--output-format=simple0");
-    flexarray_set(args, nr++, libxl__sprintf(gc, "--output-directory=%s", "/var/run/libxl/"));
+    ARG(libxl__sprintf(gc, "--output=%s", bl->outputpath));
+    ARG("--output-format=simple0");
+    ARG(libxl__sprintf(gc, "--output-directory=%s", bl->outputdir));
 
     if (info->u.pv.bootloader_args) {
         char **p = info->u.pv.bootloader_args;
         while (*p) {
-            flexarray_set(args, nr++, *p);
+            ARG(*p);
             p++;
         }
     }
 
-    flexarray_set(args, nr++, disk);
+    ARG(bl->diskpath);
 
-    /* Sentinal for execv */
-    flexarray_set(args, nr++, NULL);
+    /* Sentinel for execv */
+    ARG(NULL);
 
-    return (char **) flexarray_contents(args); /* Frees args */
+#undef ARG
 }
 
-static int open_xenconsoled_pty(int *master, int *slave, char *slave_path, size_t slave_path_len)
+/*----- synchronous subroutines -----*/
+
+static int setup_xenconsoled_pty(libxl__egc *egc, libxl__bootloader_state *bl,
+                                 char *slave_path, size_t slave_path_len)
 {
+    STATE_AO_GC(bl->ao);
     struct termios termattr;
-    int ret;
-
-    ret = openpty(master, slave, NULL, NULL, NULL);
-    if (ret < 0)
-        return -1;
-
-    ret = ttyname_r(*slave, slave_path, slave_path_len);
-    if (ret == -1) {
-        close(*master);
-        close(*slave);
-        *master = *slave = -1;
-        return -1;
+    int r, rc;
+    int slave = libxl__carefd_fd(bl->ptys[1].slave);
+    int master = libxl__carefd_fd(bl->ptys[1].master);
+
+    r = ttyname_r(slave, slave_path, slave_path_len);
+    if (r == -1) {
+        LOGE(ERROR,"ttyname_r failed");
+        rc = ERROR_FAIL;
+        goto out;
     }
 
     /*
@@ -95,310 +109,217 @@ static int open_xenconsoled_pty(int *master, int *slave, char *slave_path, size_
      * semantics on Solaris, so don't try to set any attributes
      * for it.
      */
-#if !defined(__sun__) && !defined(__NetBSD__)
-    tcgetattr(*master, &termattr);
+    tcgetattr(master, &termattr);
     cfmakeraw(&termattr);
-    tcsetattr(*master, TCSANOW, &termattr);
-
-    close(*slave);
-    *slave = -1;
-#else
-    tcgetattr(*slave, &termattr);
-    cfmakeraw(&termattr);
-    tcsetattr(*slave, TCSANOW, &termattr);
-#endif
-
-    fcntl(*master, F_SETFL, O_NDELAY);
-    fcntl(*master, F_SETFD, FD_CLOEXEC);
+    tcsetattr(master, TCSANOW, &termattr);
 
     return 0;
+
+ out:
+    return rc;
 }
 
-static pid_t fork_exec_bootloader(int *master, const char *arg0, char **args)
-{
-    struct termios termattr;
-    pid_t pid = forkpty(master, NULL, NULL, NULL);
-    if (pid == -1)
-        return -1;
-    else if (pid == 0) {
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, arg0, args);
-        return -1;
-    }
+static const char *bootloader_result_command(libxl__gc *gc, const char *buf,
+                         const char *prefix, size_t prefixlen) {
+    if (strncmp(buf, prefix, prefixlen))
+        return 0;
 
-    /*
-     * On Solaris, the master pty side does not have terminal semantics,
-     * so don't try to set any attributes, as it will fail.
-     */
-#if !defined(__sun__)
-    tcgetattr(*master, &termattr);
-    cfmakeraw(&termattr);
-    tcsetattr(*master, TCSANOW, &termattr);
-#endif
+    const char *rhs = buf + prefixlen;
+    if (!CTYPE(isspace,*rhs))
+        return 0;
 
-    fcntl(*master, F_SETFL, O_NDELAY);
+    while (CTYPE(isspace,*rhs))
+        rhs++;
 
-    return pid;
+    LOG(DEBUG,"bootloader output contained %s %s", prefix, rhs);
+
+    return rhs;
 }
 
-/*
- * filedescriptors:
- *   fifo_fd        - bootstring output from the bootloader
- *   xenconsoled_fd - input/output from/to xenconsole
- *   bootloader_fd  - input/output from/to pty that controls the bootloader
- * The filedescriptors are NDELAY, so it's ok to try to read
- * bigger chunks than may be available, to keep e.g. curses
- * screen redraws in the bootloader efficient. xenconsoled_fd is the side that
- * gets xenconsole input, which will be keystrokes, so a small number
- * is sufficient. bootloader_fd is pygrub output, which will be curses screen
- * updates, so a larger number (1024) is appropriate there.
- *
- * For writeable descriptors, only include them in the set for select
- * if there is actual data to write, otherwise this would loop too fast,
- * eating up CPU time.
- */
-static char * bootloader_interact(libxl__gc *gc, int xenconsoled_fd, int bootloader_fd, int fifo_fd)
+static int parse_bootloader_result(libxl__egc *egc,
+                                   libxl__bootloader_state *bl)
 {
-    int ret;
-
-    size_t nr_out = 0, size_out = 0;
-    char *output = NULL;
-    struct timeval wait;
-
-    /* input from xenconsole. read on xenconsoled_fd write to bootloader_fd */
-    int xenconsoled_prod = 0, xenconsoled_cons = 0;
-    char xenconsoled_buf[XENCONSOLED_BUF_SIZE];
-    /* output from bootloader. read on bootloader_fd write to xenconsoled_fd */
-    int bootloader_prod = 0, bootloader_cons = 0;
-    char bootloader_buf[BOOTLOADER_BUF_SIZE];
-
-    while(1) {
-        fd_set wsel, rsel;
-        int nfds;
-
-        /* Set timeout to 1s before starting to discard data */
-        wait.tv_sec = BOOTLOADER_TIMEOUT;
-        wait.tv_usec = 0;
-
-        /* Move buffers around to drop already consumed data */
-        if (xenconsoled_cons > 0) {
-            xenconsoled_prod -= xenconsoled_cons;
-            memmove(xenconsoled_buf, &xenconsoled_buf[xenconsoled_cons],
-                    xenconsoled_prod);
-            xenconsoled_cons = 0;
-        }
-        if (bootloader_cons > 0) {
-            bootloader_prod -= bootloader_cons;
-            memmove(bootloader_buf, &bootloader_buf[bootloader_cons],
-                    bootloader_prod);
-            bootloader_cons = 0;
-        }
-
-        FD_ZERO(&rsel);
-        FD_SET(fifo_fd, &rsel);
-        nfds = fifo_fd + 1;
-        if (xenconsoled_prod < XENCONSOLED_BUF_SIZE) {
-            /* The buffer is not full, try to read more data */
-            FD_SET(xenconsoled_fd, &rsel);
-            nfds = xenconsoled_fd + 1 > nfds ? xenconsoled_fd + 1 : nfds;
-        } 
-        if (bootloader_prod < BOOTLOADER_BUF_SIZE) {
-            /* The buffer is not full, try to read more data */
-            FD_SET(bootloader_fd, &rsel);
-            nfds = bootloader_fd + 1 > nfds ? bootloader_fd + 1 : nfds;
-        }
-
-        FD_ZERO(&wsel);
-        if (bootloader_prod > 0) {
-            /* The buffer has data to consume */
-            FD_SET(xenconsoled_fd, &wsel);
-            nfds = xenconsoled_fd + 1 > nfds ? xenconsoled_fd + 1 : nfds;
-        }
-        if (xenconsoled_prod > 0) {
-            /* The buffer has data to consume */
-            FD_SET(bootloader_fd, &wsel);
-            nfds = bootloader_fd + 1 > nfds ? bootloader_fd + 1 : nfds;
-        }
-
-        if (xenconsoled_prod == XENCONSOLED_BUF_SIZE ||
-            bootloader_prod == BOOTLOADER_BUF_SIZE)
-            ret = select(nfds, &rsel, &wsel, NULL, &wait);
-        else
-            ret = select(nfds, &rsel, &wsel, NULL, NULL);
-        if (ret < 0) {
-            if (errno == EINTR)
-                continue;
-            goto out_err;
-        }
-
-        /* Input from xenconsole, read xenconsoled_fd, write bootloader_fd */
-        if (ret == 0 && xenconsoled_prod == XENCONSOLED_BUF_SIZE) {
-            /* Drop the buffer */
-            xenconsoled_prod = 0;
-            xenconsoled_cons = 0;
-        } else if (FD_ISSET(xenconsoled_fd, &rsel)) {
-            ret = read(xenconsoled_fd, &xenconsoled_buf[xenconsoled_prod], XENCONSOLED_BUF_SIZE - xenconsoled_prod);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                xenconsoled_prod += ret;
-        }
-        if (FD_ISSET(bootloader_fd, &wsel)) {
-            ret = write(bootloader_fd, &xenconsoled_buf[xenconsoled_cons], xenconsoled_prod - xenconsoled_cons);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                xenconsoled_cons += ret;
-        }
+    STATE_AO_GC(bl->ao);
+    char buf[PATH_MAX*2];
+    FILE *f = 0;
+    int rc = ERROR_FAIL;
+    libxl_domain_build_info *info = bl->info;
+
+    f = fopen(bl->outputpath, "r");
+    if (!f) {
+        LOGE(ERROR,"open bootloader output file %s", bl->outputpath);
+        goto out;
+    }
 
-        /* Input from bootloader, read bootloader_fd, write xenconsoled_fd */
-        if (ret == 0 && bootloader_prod == BOOTLOADER_BUF_SIZE) {
-            /* Drop the buffer */
-            bootloader_prod = 0;
-            bootloader_cons = 0;
-        } else if (FD_ISSET(bootloader_fd, &rsel)) {
-            ret = read(bootloader_fd, &bootloader_buf[bootloader_prod], BOOTLOADER_BUF_SIZE - bootloader_prod);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                bootloader_prod += ret;
+    for (;;) {
+        /* Read a nul-terminated "line" and put the result in
+         * buf, and its length (not including the nul) in l */
+        int l = 0, c;
+        while ((c = getc(f)) != EOF && c != '\0') {
+            if (l < sizeof(buf)-1)
+                buf[l] = c;
+            l++;
         }
-        if (FD_ISSET(xenconsoled_fd, &wsel)) {
-            ret = write(xenconsoled_fd, &bootloader_buf[bootloader_cons], bootloader_prod - bootloader_cons);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                bootloader_cons += ret;
-        }
-
-        if (FD_ISSET(fifo_fd, &rsel)) {
-            if (size_out - nr_out < 256) {
-                char *temp;
-                size_t new_size = size_out == 0 ? 32 : size_out * 2;
-
-                temp = realloc(output, new_size);
-                if (temp == NULL)
-                    goto out_err;
-                output = temp;
-                memset(output + size_out, 0, new_size - size_out);
-                size_out = new_size;
+        if (c == EOF) {
+            if (ferror(f)) {
+                LOGE(ERROR,"read bootloader output file %s", bl->outputpath);
+                goto out;
             }
-
-            ret = read(fifo_fd, output + nr_out, size_out - nr_out);
-            if (ret > 0)
-                  nr_out += ret;
-            if (ret == 0)
+            if (!l)
                 break;
         }
-    }
+        if (l >= sizeof(buf)) {
+            LOG(WARN,"bootloader output contained"
+                " overly long item `%.150s...'", buf);
+            continue;
+        }
+        buf[l] = 0;
 
-    libxl__ptr_add(gc, output);
-    return output;
+        const char *rhs;
+#define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
-out_err:
-    free(output);
-    return NULL;
-}
-
-static void parse_bootloader_result(libxl__gc *gc,
-                                    libxl_domain_build_info *info,
-                                    const char *o)
-{
-    while (*o != '\0') {
-        if (strncmp("kernel ", o, strlen("kernel ")) == 0) {
+        if (COMMAND("kernel")) {
             free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = strdup(o + strlen("kernel "));
+            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
             libxl__file_reference_map(&info->u.pv.kernel);
             unlink(info->u.pv.kernel.path);
-        } else if (strncmp("ramdisk ", o, strlen("ramdisk ")) == 0) {
+        } else if (COMMAND("ramdisk")) {
             free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = strdup(o + strlen("ramdisk "));
+            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
             libxl__file_reference_map(&info->u.pv.ramdisk);
             unlink(info->u.pv.ramdisk.path);
-        } else if (strncmp("args ", o, strlen("args ")) == 0) {
+        } else if (COMMAND("args")) {
             free(info->u.pv.cmdline);
-            info->u.pv.cmdline = strdup(o + strlen("args "));
+            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+        } else if (l) {
+            LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
-
-        o = o + strlen(o) + 1;
     }
+    rc = 0;
+
+ out:
+    if (f) fclose(f);
+    return rc;
 }
 
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid)
+
+/*----- init and cleanup -----*/
+
+void libxl__bootloader_init(libxl__bootloader_state *bl)
+{
+    assert(bl->ao);
+    bl->diskpath = NULL;
+    bl->openpty.ao = bl->ao;
+    bl->ptys[0].master = bl->ptys[0].slave = 0;
+    bl->ptys[1].master = bl->ptys[1].slave = 0;
+    libxl__ev_child_init(&bl->child);
+    bl->keystrokes.ao = bl->ao;  libxl__datacopier_init(&bl->keystrokes);
+    bl->display.ao = bl->ao;     libxl__datacopier_init(&bl->display);
+}
+
+static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
 {
-    GC_INIT(ctx);
-    int ret, rc = 0;
-    char *fifo = NULL;
-    char *diskpath = NULL;
-    char **args = NULL;
+    STATE_AO_GC(bl->ao);
+    int i;
 
-    char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
-    char *tempdir;
+    if (bl->outputpath) libxl__remove_file(gc, bl->outputpath);
+    if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
-    char *dom_console_xs_path;
-    char dom_console_slave_tty_path[PATH_MAX];
+    if (bl->diskpath) {
+        libxl_device_disk_local_detach(CTX, bl->disk);
+        free(bl->diskpath);
+        bl->diskpath = 0;
+    }
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+    for (i=0; i<2; i++) {
+        libxl__carefd_close(bl->ptys[i].master);
+        libxl__carefd_close(bl->ptys[i].slave);
+    }
+}
+
+static void bootloader_setpaths(libxl__gc *gc, libxl__bootloader_state *bl)
+{
+    uint32_t domid = bl->domid;
+    bl->outputdir = GCSPRINTF(XEN_RUN_DIR "/bootloader.%"PRIu32".d", domid);
+    bl->outputpath = GCSPRINTF(XEN_RUN_DIR "/bootloader.%"PRIu32".out", domid);
+}
 
-    int xenconsoled_fd = -1, xenconsoled_slave = -1;
-    int bootloader_fd = -1, fifo_fd = -1;
+static void bootloader_callback(libxl__egc *egc, libxl__bootloader_state *bl,
+                                int rc)
+{
+    bootloader_cleanup(egc, bl);
+    bl->callback(egc, bl, rc);
+}
 
-    int blrc;
-    pid_t pid;
-    char *blout;
+/*----- main flow of control -----*/
 
-    struct stat st_buf;
+void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
+{
+    STATE_AO_GC(bl->ao);
+    libxl_domain_build_info *info = bl->info;
+    int rc, r;
 
-    rc = libxl__domain_build_info_setdefault(gc, info);
-    if (rc) goto out;
+    libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader)
-        goto out;
+    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+        rc = 0;
+        goto out_ok;
+    }
 
-    rc = libxl__domain_build_info_setdefault(gc, info);
-    if (rc) goto out;
+    bootloader_setpaths(gc, bl);
 
-    rc = ERROR_INVAL;
-    if (!disk)
+    for (;;) {
+        r = mkdir(bl->outputdir, 0600);
+        if (!r) break;
+        if (errno == EINTR) continue;
+        if (errno == EEXIST) break;
+        LOGE(ERROR, "failed to create bootloader dir %s", bl->outputdir);
+        rc = ERROR_FAIL;
         goto out;
+    }
 
-    rc = ERROR_FAIL;
-    ret = mkdir("/var/run/libxl/", S_IRWXU);
-    if (ret < 0 && errno != EEXIST)
+    for (;;) {
+        r = open(bl->outputpath, O_WRONLY|O_CREAT|O_TRUNC, 0600);
+        if (r>=0) { close(r); break; }
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to precreate bootloader output %s", bl->outputpath);
+        rc = ERROR_FAIL;
         goto out;
+    }
 
-    ret = stat("/var/run/libxl/", &st_buf);
-    if (ret < 0)
+    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    if (!bl->diskpath) {
+        rc = ERROR_FAIL;
         goto out;
+    }
 
-    if (!S_ISDIR(st_buf.st_mode))
-        goto out;
+    make_bootloader_args(gc, bl);
 
-    tempdir = mkdtemp(tempdir_template);
-    if (tempdir == NULL)
-        goto out;
+    bl->openpty.ao = ao;
+    bl->openpty.callback = bootloader_gotptys;
+    bl->openpty.count = 2;
+    bl->openpty.results = bl->ptys;
+    rc = libxl__openptys(&bl->openpty, 0,0);
+    if (rc) goto out;
 
-    ret = asprintf(&fifo, "%s/fifo", tempdir);
-    if (ret < 0) {
-        fifo = NULL;
-        goto out_close;
-    }
+    return;
 
-    ret = mkfifo(fifo, 0600);
-    if (ret < 0) {
-        goto out_close;
-    }
+ out:
+    assert(rc);
+ out_ok:
+    bootloader_callback(egc, bl, rc);
+}
 
-    diskpath = libxl_device_disk_local_attach(ctx, disk);
-    if (!diskpath) {
-        goto out_close;
-    }
+static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
+    STATE_AO_GC(bl->ao);
+    int rc, r;
 
-    args = make_bootloader_args(gc, info, domid, fifo, diskpath);
-    if (args == NULL) {
-        rc = ERROR_NOMEM;
-        goto out_close;
+    if (bl->openpty.rc) {
+        rc = bl->openpty.rc;
+        goto out;
     }
 
     /*
@@ -411,76 +332,188 @@ int libxl_run_bootloader(libxl_ctx *ctx,
      * where we copy characters between the two master fds, as well as
      * listening on the bootloader's fifo for the results.
      */
-    ret = open_xenconsoled_pty(&xenconsoled_fd, &xenconsoled_slave,
+
+    char *dom_console_xs_path;
+    char dom_console_slave_tty_path[PATH_MAX];
+    rc = setup_xenconsoled_pty(egc, bl,
                                &dom_console_slave_tty_path[0],
                                sizeof(dom_console_slave_tty_path));
-    if (ret < 0) {
-        goto out_close;
+    if (rc) goto out;
+
+    char *dompath = libxl__xs_get_dompath(gc, bl->domid);
+    if (!dompath) { rc = ERROR_FAIL; goto out; }
+
+    dom_console_xs_path = GCSPRINTF("%s/console/tty", dompath);
+
+    rc = libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s",
+                         dom_console_slave_tty_path);
+    if (rc) {
+        LOGE(ERROR,"xs write console path %s := %s failed",
+             dom_console_xs_path, dom_console_slave_tty_path);
+        rc = ERROR_FAIL;
+        goto out;
     }
 
-    dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
-    libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
+    int bootloader_master = libxl__carefd_fd(bl->ptys[0].master);
+    int xenconsole_master = libxl__carefd_fd(bl->ptys[1].master);
+
+    libxl_fd_set_nonblock(CTX, bootloader_master, 1);
+    libxl_fd_set_nonblock(CTX, xenconsole_master, 1);
+
+    bl->keystrokes.writefd   = bl->display.readfd   = bootloader_master;
+    bl->keystrokes.writewhat = bl->display.readwhat = "bootloader pty";
+
+    bl->keystrokes.readfd   = bl->display.writefd   = xenconsole_master;
+    bl->keystrokes.readwhat = bl->display.writewhat = "xenconsole client pty";
+
+    bl->keystrokes.ao = ao;
+    bl->keystrokes.maxsz = BOOTLOADER_BUF_OUT;
+    bl->keystrokes.copywhat =
+        GCSPRINTF("bootloader input for domain %"PRIu32, bl->domid);
+    bl->keystrokes.callback = bootloader_keystrokes_copyfail;
+    rc = libxl__datacopier_start(&bl->keystrokes);
+    if (rc) goto out;
+
+    bl->display.ao = ao;
+    bl->display.maxsz = BOOTLOADER_BUF_IN;
+    bl->display.copywhat =
+        GCSPRINTF("bootloader output for domain %"PRIu32, bl->domid);
+    bl->display.callback = bootloader_display_copyfail;
+    rc = libxl__datacopier_start(&bl->display);
+    if (rc) goto out;
+
+    LOG(DEBUG, "executing bootloader: %s", bl->args[0]);
+    for (const char **blarg = bl->args;
+         *blarg;
+         blarg++)
+        LOG(DEBUG, "  bootloader arg: %s", *blarg);
+
+    struct termios termattr;
 
-    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
-    if (pid < 0) {
-        goto out_close;
+    pid_t pid = libxl__ev_child_fork(gc, &bl->child, bootloader_finished);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
     }
 
-    while (1) {
-        if (waitpid(pid, &blrc, WNOHANG) == pid)
-            goto out_close;
+    if (!pid) {
+        /* child */
+        r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
+        if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
+        setenv("TERM", "vt100", 1);
+        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        exit(-1);
+    }
 
-        fifo_fd = open(fifo, O_RDONLY);
-        if (fifo_fd > -1)
-            break;
+    /* parent */
 
-        if (errno == EINTR)
-            continue;
+    /*
+     * On Solaris, the master pty side does not have terminal semantics,
+     * so don't try to set any attributes, as it will fail.
+     */
+#if !defined(__sun__)
+    tcgetattr(bootloader_master, &termattr);
+    cfmakeraw(&termattr);
+    tcsetattr(bootloader_master, TCSANOW, &termattr);
+#endif
+
+    return;
+
+ out:
+    bootloader_callback(egc, bl, rc);
+}
 
-        goto out_close;
+/* perhaps one of these will be called, but perhaps not */
+static void bootloader_copyfail(libxl__egc *egc, const char *which,
+       libxl__bootloader_state *bl, int onwrite, int errnoval)
+{
+    STATE_AO_GC(bl->ao);
+    int r;
+
+    if (!onwrite && !errnoval)
+        LOG(ERROR, "unexpected eof copying %s", which);
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+    if (libxl__ev_child_inuse(&bl->child)) {
+        r = kill(bl->child.pid, SIGTERM);
+        if (r) LOGE(WARN, "after failure, failed to kill bootloader [%lu]",
+                    (unsigned long)bl->child.pid);
     }
+    bl->rc = ERROR_FAIL;
+}
+static void bootloader_keystrokes_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(dc, *bl, keystrokes);
+    bootloader_copyfail(egc, "bootloader input", bl, onwrite, errnoval);
+}
+static void bootloader_display_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(dc, *bl, display);
+    bootloader_copyfail(egc, "bootloader output", bl, onwrite, errnoval);
+}
 
-    fcntl(fifo_fd, F_SETFL, O_NDELAY);
+static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
+                                pid_t pid, int status)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(child, *bl, child);
+    STATE_AO_GC(bl->ao);
+    int rc;
 
-    blout = bootloader_interact(gc, xenconsoled_fd, bootloader_fd, fifo_fd);
-    if (blout == NULL) {
-        goto out_close;
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, XTL_ERROR, "bootloader",
+                                      pid, status);
+        rc = ERROR_FAIL;
+        goto out;
+    } else {
+        LOG(DEBUG, "bootloader completed");
     }
 
-    pid = waitpid(pid, &blrc, 0);
-    if (pid == -1 || (pid > 0 && WIFEXITED(blrc) && WEXITSTATUS(blrc) != 0)) {
-        goto out_close;
+    if (bl->rc) {
+        /* datacopier went wrong */
+        rc = bl->rc;
+        goto out;
     }
 
-    parse_bootloader_result(gc, info, blout);
+    rc = parse_bootloader_result(egc, bl);
+    if (rc) goto out;
 
     rc = 0;
-out_close:
-    if (diskpath) {
-        libxl_device_disk_local_detach(ctx, disk);
-        free(diskpath);
-    }
-    if (fifo_fd > -1)
-        close(fifo_fd);
-    if (bootloader_fd > -1)
-        close(bootloader_fd);
-    if (xenconsoled_fd > -1)
-        close(xenconsoled_fd);
-    if (xenconsoled_slave > -1)
-        close(xenconsoled_slave);
-
-    if (fifo) {
-        unlink(fifo);
-        free(fifo);
-    }
+    LOG(DEBUG, "bootloader execution successful");
 
-    rmdir(tempdir);
+ out:
+    bootloader_callback(egc, bl, rc);
+}
 
-    free(args);
+/*----- entrypoint for external callers -----*/
 
-out:
-    GC_FREE;
-    return rc;
+static void run_bootloader_done(libxl__egc *egc,
+                                libxl__bootloader_state *st, int rc)
+{
+    libxl__ao_complete(egc, st->ao, rc);
+}
+
+int libxl_run_bootloader(libxl_ctx *ctx,
+                         libxl_domain_build_info *info,
+                         libxl_device_disk *disk,
+                         uint32_t domid,
+                         libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx,domid,ao_how);
+    libxl__bootloader_state *bl;
+
+    GCNEW(bl);
+    bl->ao = ao;
+    bl->callback = run_bootloader_done;
+    bl->info = info;
+    bl->disk = disk;
+    bl->domid = domid;
+    libxl__bootloader_run(egc, bl);
+    return AO_INPROGRESS;
 }
 
 /*
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index d501102..f7732aa 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -593,8 +593,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         if (ret) goto error_out;
     }
 
-    if ( restore_fd < 0 ) {
-        ret = libxl_run_bootloader(ctx, &d_config->b_info, d_config->num_disks > 0 ? &d_config->disks[0] : NULL, domid);
+    libxl_device_disk *bootdisk =
+        d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
+
+    if (restore_fd < 0 && bootdisk) {
+        ret = libxl_run_bootloader(ctx, &d_config->b_info, bootdisk, domid,
+                                   0 /* fixme-ao */);
         if (ret) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "failed to run bootloader: %d", ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 3744a28..e8502c6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -42,6 +42,7 @@
 #include <sys/time.h>
 #include <sys/types.h>
 #include <sys/wait.h>
+#include <sys/socket.h>
 
 #include <xs.h>
 #include <xenctrl.h>
@@ -440,6 +441,7 @@ _hidden int libxl__remove_file(libxl__gc *gc, const char *path);
 _hidden int libxl__remove_directory(libxl__gc *gc, const char *path);
 _hidden int libxl__remove_file_or_directory(libxl__gc *gc, const char *path);
 
+
 _hidden char **libxl__xs_kvs_of_flexarray(libxl__gc *gc, flexarray_t *array, int length);
 
 _hidden int libxl__xs_writev(libxl__gc *gc, xs_transaction_t t,
@@ -1549,6 +1551,38 @@ int libxl__openptys(libxl__openpty_state *op,
                     const struct winsize *winp);
 
 
+/*----- bootloader -----*/
+
+typedef struct libxl__bootloader_state libxl__bootloader_state;
+typedef void libxl__run_bootloader_callback(libxl__egc*,
+                                libxl__bootloader_state*, int rc);
+
+struct libxl__bootloader_state {
+    /* caller must fill these in, and they must all remain valid */
+    libxl__ao *ao;
+    libxl__run_bootloader_callback *callback;
+    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    libxl_device_disk *disk;
+    uint32_t domid;
+    /* private to libxl__run_bootloader */
+    char *outputpath, *outputdir;
+    char *diskpath; /* not from gc, represents actually attached disk */
+    libxl__openpty_state openpty;
+    libxl__openpty_result ptys[2];  /* [0] is for bootloader */
+    libxl__ev_child child;
+    int nargs, argsspace;
+    const char **args;
+    libxl__datacopier_state keystrokes, display;
+    int rc;
+};
+
+_hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
+
+/* Will definitely call st->callback, perhaps reentrantly.
+ * If callback is passed rc==0, will have updated st->info appropriately */
+_hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6g-0006Ym-DU; Fri, 11 May 2012 17:58:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wb-IT
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:20 +0000
Received: from [85.158.139.83:4085] by server-5.bemta-5.messagelabs.com id
	B9/DB-13566-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336759096!27925681!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30162 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435465"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008Hs-2A; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000fa-V0;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:53 +0100
Message-ID: <1336759092-2432-9-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 08/27] libxl: Clean up setdefault in
	do_domain_create
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

do_domain_create called libxl__domain_create_info_setdefault twice.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/libxl_create.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 6df20ca..d501102 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -573,9 +573,6 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
     ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info);
     if (ret) goto error_out;
 
-    ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info);
-    if (ret) goto error_out;
-
     ret = libxl__domain_make(gc, &d_config->c_info, &domid);
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot make domain: %d", ret);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6h-0006a5-N0; Fri, 11 May 2012 17:58:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wa-UJ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42653] by server-1.bemta-4.messagelabs.com id
	83/B9-20925-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25721 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435466"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hp-Vf; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eU-Sc;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:52 +0100
Message-ID: <1336759092-2432-8-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 07/27] libxl: Introduce libxl__sendmsg_fds and
	libxl__recvmsg_fds
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Provide functions for sending and receiving fds.

There used to be fd-sending functionality in libxl_qmp.c before
25298:84ae90427c54, which this implementation is partially derived
from.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |   11 ++++
 tools/libxl/libxl_utils.c    |  104 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 909e01f..e25569c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1135,6 +1135,17 @@ _hidden void libxl__qmp_cleanup(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__qmp_initializations(libxl__gc *gc, uint32_t domid,
                                        const libxl_domain_config *guest_config);
 
+/* on failure, logs */
+int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
+                       const void *data, size_t datalen,
+                       int nfds, const int fds[], const char *what);
+
+/* Insists on receiving exactly nfds and datalen.  On failure, logs
+ * and leaves *fds untouched. */
+int libxl__recvmsg_fds(libxl__gc *gc, int carrier,
+                       void *databuf, size_t datalen,
+                       int nfds, int fds[], const char *what);
+
 /* from libxl_json */
 #include <yajl/yajl_gen.h>
 
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 1a4874c..19b4615 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -579,6 +579,110 @@ void libxl_cputopology_list_free(libxl_cputopology *list, int nr)
     free(list);
 }
 
+int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
+                       const void *data, size_t datalen,
+                       int nfds, const int fds[], const char *what) {
+    struct msghdr msg = { 0 };
+    struct cmsghdr *cmsg;
+    size_t spaceneeded = nfds * sizeof(fds[0]);
+    char control[CMSG_SPACE(spaceneeded)];
+    struct iovec iov;
+    int r;
+
+    iov.iov_base = (void*)data;
+    iov.iov_len  = datalen;
+
+    /* compose the message */
+    msg.msg_iov = &iov;
+    msg.msg_iovlen = 1;
+    msg.msg_control = control;
+    msg.msg_controllen = sizeof(control);
+
+    /* attach open fd */
+    cmsg = CMSG_FIRSTHDR(&msg);
+    cmsg->cmsg_level = SOL_SOCKET;
+    cmsg->cmsg_type = SCM_RIGHTS;
+    cmsg->cmsg_len = CMSG_LEN(spaceneeded);
+    memcpy(CMSG_DATA(cmsg), fds, spaceneeded);
+
+    msg.msg_controllen = cmsg->cmsg_len;
+
+    r = sendmsg(carrier, &msg, 0);
+    if (r < 0) {
+        LOGE(ERROR, "failed to send fd-carrying message (%s)", what);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl__recvmsg_fds(libxl__gc *gc, int carrier,
+                       void *databuf, size_t datalen,
+                       int nfds, int fds[], const char *what)
+{
+    struct msghdr msg = { 0 };
+    struct cmsghdr *cmsg;
+    size_t spaceneeded = nfds * sizeof(fds[0]);
+    char control[CMSG_SPACE(spaceneeded)];
+    struct iovec iov;
+    int r;
+
+    iov.iov_base = databuf;
+    iov.iov_len  = datalen;
+
+    msg.msg_iov = &iov;
+    msg.msg_iovlen = 1;
+    msg.msg_control = control;
+    msg.msg_controllen = sizeof(control);
+
+    for (;;) {
+        r = recvmsg(carrier, &msg, 0);
+        if (r < 0) {
+            if (errno == EINTR) continue;
+            if (errno == EWOULDBLOCK) return -1;
+            LOGE(ERROR,"recvmsg failed (%s)", what);
+            return ERROR_FAIL;
+        }
+        if (r == 0) {
+            LOG(ERROR,"recvmsg got EOF (%s)", what);
+            return ERROR_FAIL;
+        }
+        cmsg = CMSG_FIRSTHDR(&msg);
+        if (cmsg->cmsg_len <= CMSG_LEN(0)) {
+            LOG(ERROR,"recvmsg got no control msg"
+                " when expecting fds (%s)", what);
+            return ERROR_FAIL;
+        }
+        if (cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_RIGHTS) {
+            LOG(ERROR, "recvmsg got unexpected"
+                " cmsg_level %d (!=%d) or _type %d (!=%d) (%s)",
+                cmsg->cmsg_level, SOL_SOCKET,
+                cmsg->cmsg_type, SCM_RIGHTS,
+                what);
+            return ERROR_FAIL;
+        }
+        if (cmsg->cmsg_len != CMSG_LEN(spaceneeded) ||
+            msg.msg_controllen != cmsg->cmsg_len) {
+            LOG(ERROR, "recvmsg got unexpected"
+                " number of fds or extra control data"
+                " (%ld bytes' worth, expected %ld) (%s)",
+                (long)CMSG_LEN(spaceneeded), (long)cmsg->cmsg_len,
+                what);
+            int i, fd;
+            unsigned char *p;
+            for (i=0, p=CMSG_DATA(cmsg);
+                 CMSG_SPACE(i * sizeof(fds[0]));
+                 i++, i+=sizeof(fd)) {
+                memcpy(&fd, p, sizeof(fd));
+                close(fd);
+            }
+            return ERROR_FAIL;
+        }
+        memcpy(fds, CMSG_DATA(cmsg), spaceneeded);
+        return 0;
+    }
+}         
+
 void libxl_dominfo_list_free(libxl_dominfo *list, int nr)
 {
     int i;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6o-0006kC-UN; Fri, 11 May 2012 17:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6g-0006Wa-LA
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:42720] by server-1.bemta-4.messagelabs.com id
	E5/B9-20925-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32065 invoked from network); 11 May 2012 17:58:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435482"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6b-0008Ii-5b; Fri, 11 May 2012 17:58:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6b-0000gk-3B;
	Fri, 11 May 2012 18:58:17 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:58:10 +0100
Message-ID: <1336759092-2432-26-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 25/27] libxl: clarify definition of "slow"
	operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Update the comment in libxl_internal.h to be clearer about which
application-facing libxl operations need to take an ao_how.

Reported-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 3aa0ed7..9f3f759 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1439,17 +1439,34 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 /*
  * Machinery for asynchronous operations ("ao")
  *
- * All "slow" functions (includes anything that might block on a
- * guest or an external script) need to use the asynchronous
- * operation ("ao") machinery.  The function should take a parameter
- * const libxl_asyncop_how *ao_how and must start with a call to
- * AO_INITIATOR_ENTRY.  These functions MAY NOT be called from
- * inside libxl, because they can cause reentrancy callbacks.
+ * All "slow" functions (see below for the exact definition) need to
+ * use the asynchronous operation ("ao") machinery.  The function
+ * should take a parameter const libxl_asyncop_how *ao_how and must
+ * start with a call to AO_INITIATOR_ENTRY.  These functions MAY NOT
+ * be called from inside libxl, because they can cause reentrancy
+ * callbacks.
  *
  * For the same reason functions taking an ao_how may make themselves
  * an egc with EGC_INIT (and they will generally want to, to be able
  * to immediately complete an ao during its setup).
  *
+ *
+ * "Slow" functions includes any that might block on a guest or an
+ * external script.  More broadly, it includes any operations which
+ * are sufficiently slow that an application might reasonably want to
+ * initiate them, and then carry on doing something else, while the
+ * operation completes.  That is, a "fast" function must be fast
+ * enough that we do not mind blocking all other management operations
+ * on the same host while it completes.
+ *
+ * There are certain primitive functions which make a libxl operation
+ * necessarily "slow" for API reasons.  These are:
+ *  - awaiting xenstore watches (although read-modify-write xenstore
+ *    transactions are OK for fast functions)
+ *  - spawning subprocesses
+ *  - anything with a timeout
+ *
+ *
  * Lifecycle of an ao:
  *
  * - Created by libxl__ao_create (or the AO_CREATE convenience macro).
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6p-0006l8-De; Fri, 11 May 2012 17:58:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wq-Sr
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:57433] by server-3.bemta-4.messagelabs.com id
	6E/F4-05853-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25755 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435464"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hf-OW; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eJ-M1;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:49 +0100
Message-ID: <1336759092-2432-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@entel.upc.edu>,
	Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] =?utf-8?q?=5BPATCH_04/27=5D_autoconf=3A_trim_the_conf?=
	=?utf-8?q?igure_script=3B_use_autoheader?=
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UmVtb3ZlIGEgbG90IG9mIHVubmVjZXNzYXJ5IHRlc3RzLiAgU3BlY2lmaWNhbGx5LCB3ZSBubyBs
b25nZXIgdGVzdApmb3Igc3RhbmRhcmQgUE9TSVggZmFjaWxpdGllcyB3aGljaCB3ZSBleHBlY3Qg
dG8gYmUgcHJvdmlkZWQKZXZlcnl3aGVyZSBhbmQgd2hpY2ggd2UgZG9uJ3QgaW4gYW55IGNhc2Ug
aGF2ZSBhbnkgYWx0ZXJuYXRpdmUgZm9yLgoKU3dpdGNoIHRvIGdlbmVyYXRpbmcgY29uZmlnLmgu
aW4gd2l0aCBhdXRvaGVhZGVyLgoKU2lnbmVkLW9mZi1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNr
c29uQGV1LmNpdHJpeC5jb20+CkFja2VkLWJ5OiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBj
aXRyaXguY29tPgpDYzogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAZW50ZWwudXBjLmVkdT4K
CkNoYW5nZXMgc2luY2Ugdjc6CiAqIFJlbW92ZWQgQVhfQ0hFQ0tfUFRZRlVOQ1MgKHNudWNrIGlu
IGZyb20gcHJldmlvdXMgcGF0Y2gpCi0tLQogYXV0b2dlbi5zaCAgICAgICAgIHwgICAgMSArCiB0
b29scy9jb25maWcuaC5pbiAgfCAgIDczICstCiB0b29scy9jb25maWd1cmUgICAgfCA4ODI1ICsr
KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xz
L2NvbmZpZ3VyZS5hYyB8ICAgNjAgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMjk4MSBpbnNlcnRpb25z
KCspLCA1OTc4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2F1dG9nZW4uc2ggYi9hdXRvZ2Vu
LnNoCmluZGV4IGMyODhiNzEuLjU4YTcxY2UgMTAwNzU1Ci0tLSBhL2F1dG9nZW4uc2gKKysrIGIv
YXV0b2dlbi5zaApAQCAtMSwzICsxLDQgQEAKICMhL2Jpbi9zaCAtZQogY2QgdG9vbHMKIGF1dG9j
b25mCithdXRvaGVhZGVyCmRpZmYgLS1naXQgYS90b29scy9jb25maWcuaC5pbiBiL3Rvb2xzL2Nv
bmZpZy5oLmluCmluZGV4IGY4Zjk2ZGMuLjE3Yzg5MTMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbmZp
Zy5oLmluCisrKyBiL3Rvb2xzL2NvbmZpZy5oLmluCkBAIC0xLDE5ICsxLDY0IEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEyCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZAotICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLjEgb25seS4g
d2l0aCB0aGUgc3BlY2lhbAotICogZXhjZXB0aW9uIG9uIGxpbmtpbmcgZGVzY3JpYmVkIGluIGZp
bGUgTElDRU5TRS4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLworLyogY29u
ZmlnLmguaW4uICBHZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMgYnkgYXV0b2hlYWRlci4gICov
CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aW50dHlwZXMuaD4gaGVhZGVyIGZp
bGUuICovCisjdW5kZWYgSEFWRV9JTlRUWVBFU19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgY3J5cHRvJyBsaWJyYXJ5ICgtbGNyeXB0bykuICovCisjdW5kZWYgSEFWRV9MSUJD
UllQVE8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB5YWpsJyBsaWJyYXJ5ICgt
bHlhamwpLiAqLworI3VuZGVmIEhBVkVfTElCWUFKTAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgYHonIGxpYnJhcnkgKC1seikuICovCisjdW5kZWYgSEFWRV9MSUJaCisKKy8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWVtb3J5Lmg+IGhlYWRlciBmaWxlLiAqLworI3Vu
ZGVmIEhBVkVfTUVNT1JZX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRp
bnQuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TVERJTlRfSAorCisvKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBI
QVZFX1NURExJQl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5ncy5o
PiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NUUklOR1NfSAorCisvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZF
X1NUUklOR19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3N0YXQuaD4g
aGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfU1RBVF9ICisKKy8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhB
VkVfU1lTX1RZUEVTX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx1bmlzdGQu
aD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9VTklTVERfSAogCiAvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSB0aGUgPHlhamwveWFqbF92ZXJzaW9uLmg+IGhlYWRlciBmaWxlLiAqLwog
I3VuZGVmIEhBVkVfWUFKTF9ZQUpMX1ZFUlNJT05fSAogCi0vKiBEZWZpbmUgY3Vyc2VzIGhlYWRl
ciB0byBpbmNsdWRlLiAqLworLyogRGVmaW5lIGN1cnNlcyBoZWFkZXIgdG8gdXNlICovCiAjdW5k
ZWYgSU5DTFVERV9DVVJTRVNfSAorCisvKiBEZWZpbmUgdG8gdGhlIGFkZHJlc3Mgd2hlcmUgYnVn
IHJlcG9ydHMgZm9yIHRoaXMgcGFja2FnZSBzaG91bGQgYmUgc2VudC4gKi8KKyN1bmRlZiBQQUNL
QUdFX0JVR1JFUE9SVAorCisvKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2th
Z2UuICovCisjdW5kZWYgUEFDS0FHRV9OQU1FCisKKy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1l
IGFuZCB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1NUUklORwor
CisvKiBEZWZpbmUgdG8gdGhlIG9uZSBzeW1ib2wgc2hvcnQgbmFtZSBvZiB0aGlzIHBhY2thZ2Uu
ICovCisjdW5kZWYgUEFDS0FHRV9UQVJOQU1FCisKKy8qIERlZmluZSB0byB0aGUgaG9tZSBwYWdl
IGZvciB0aGlzIHBhY2thZ2UuICovCisjdW5kZWYgUEFDS0FHRV9VUkwKKworLyogRGVmaW5lIHRv
IHRoZSB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1ZFUlNJT04K
KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIEFOU0kgQyBoZWFkZXIgZmlsZXMuICov
CisjdW5kZWYgU1REQ19IRUFERVJTCmRpZmYgLS1naXQgYS90b29scy9jb25maWd1cmUgYi90b29s
cy9jb25maWd1cmUKaW5kZXggODk3ZTA2MS4uZDg5MThmZSAxMDA3NTUKLS0tIGEvdG9vbHMvY29u
ZmlndXJlCisrKyBiL3Rvb2xzL2NvbmZpZ3VyZQpAQCAtNTk1LDEyICs1OTUsOCBAQCBhY19pbmNs
dWRlc19kZWZhdWx0PSJcCiAjIGluY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmIgogCi1hY19oZWFk
ZXJfbGlzdD0KLWFjX2Z1bmNfbGlzdD0KIGFjX3N1YnN0X3ZhcnM9J0xUTElCT0JKUwotUE9XX0xJ
QgogTElCT0JKUwotQUxMT0NBCiBsaWJpY29udgogUFRIUkVBRF9MSUJTCiBQVEhSRUFEX0xERkxB
R1MKQEAgLTYxNiw2ICs2MTIsOSBAQCBQS0dfQ09ORklHX0xJQkRJUgogUEtHX0NPTkZJR19QQVRI
CiBQS0dfQ09ORklHCiBDVVJTRVNfTElCUworRUdSRVAKK0dSRVAKK0NQUAogcHljb25maWcKIFBZ
VEhPTlBBVEgKIE9DQU1MQlVJTEQKQEAgLTYzNSw4ICs2MzQsMTMgQEAgSU5TVEFMTF9EQVRBCiBJ
TlNUQUxMX1NDUklQVAogSU5TVEFMTF9QUk9HUkFNCiBTRVRfTUFLRQotTE5fUwotU0VECitPQkpF
WFQKK0VYRUVYVAorYWNfY3RfQ0MKK0NQUEZMQUdTCitMREZMQUdTCitDRkxBR1MKK0NDCiBJQVNM
CiBCQ0MKIExEODYKQEAgLTY2NSwyNCArNjY5LDYgQEAgeGVuYXBpCiB2dHBtCiBtb25pdG9ycwog
Z2l0aHR0cAotaG9zdF9vcwotaG9zdF92ZW5kb3IKLWhvc3RfY3B1Ci1ob3N0Ci1idWlsZF9vcwot
YnVpbGRfdmVuZG9yCi1idWlsZF9jcHUKLWJ1aWxkCi1FR1JFUAotR1JFUAotQ1BQCi1PQkpFWFQK
LUVYRUVYVAotYWNfY3RfQ0MKLUNQUEZMQUdTCi1MREZMQUdTCi1DRkxBR1MKLUNDCiB0YXJnZXRf
YWxpYXMKIGhvc3RfYWxpYXMKIGJ1aWxkX2FsaWFzCkBAIC03NDAsMTIgKzcyNiw2IEBAIGVuYWJs
ZV9kZWJ1ZwogICAgICAgYWNfcHJlY2lvdXNfdmFycz0nYnVpbGRfYWxpYXMKIGhvc3RfYWxpYXMK
IHRhcmdldF9hbGlhcwotQ0MKLUNGTEFHUwotTERGTEFHUwotTElCUwotQ1BQRkxBR1MKLUNQUAog
UFJFUEVORF9JTkNMVURFUwogUFJFUEVORF9MSUIKIEFQUEVORF9JTkNMVURFUwpAQCAtNzYyLDYg
Kzc0MiwxMiBAQCBBUzg2CiBMRDg2CiBCQ0MKIElBU0wKK0NDCitDRkxBR1MKK0xERkxBR1MKK0xJ
QlMKK0NQUEZMQUdTCitDUFAKIFBLR19DT05GSUcKIFBLR19DT05GSUdfUEFUSAogUEtHX0NPTkZJ
R19MSUJESVIKQEAgLTEzNjUsMTAgKzEzNTEsNiBAQCBGaW5lIHR1bmluZyBvZiB0aGUgaW5zdGFs
bGF0aW9uIGRpcmVjdG9yaWVzOgogX0FDRU9GCiAKICAgY2F0IDw8XF9BQ0VPRgotCi1TeXN0ZW0g
dHlwZXM6Ci0gIC0tYnVpbGQ9QlVJTEQgICAgIGNvbmZpZ3VyZSBmb3IgYnVpbGRpbmcgb24gQlVJ
TEQgW2d1ZXNzZWRdCi0gIC0taG9zdD1IT1NUICAgICAgIGNyb3NzLWNvbXBpbGUgdG8gYnVpbGQg
cHJvZ3JhbXMgdG8gcnVuIG9uIEhPU1QgW0JVSUxEXQogX0FDRU9GCiBmaQogCkBAIC0xMzk5LDE0
ICsxMzgxLDYgQEAgT3B0aW9uYWwgRmVhdHVyZXM6CiAgIC0tZGlzYWJsZS1kZWJ1ZyAgICAgICAg
IERpc2FibGUgZGVidWcgYnVpbGQgb2YgdG9vbHMgKGRlZmF1bHQgaXMgRU5BQkxFRCkKIAogU29t
ZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6Ci0gIENDICAgICAgICAgIEMgY29t
cGlsZXIgY29tbWFuZAotICBDRkxBR1MgICAgICBDIGNvbXBpbGVyIGZsYWdzCi0gIExERkxBR1Mg
ICAgIGxpbmtlciBmbGFncywgZS5nLiAtTDxsaWIgZGlyPiBpZiB5b3UgaGF2ZSBsaWJyYXJpZXMg
aW4gYQotICAgICAgICAgICAgICBub25zdGFuZGFyZCBkaXJlY3RvcnkgPGxpYiBkaXI+Ci0gIExJ
QlMgICAgICAgIGxpYnJhcmllcyB0byBwYXNzIHRvIHRoZSBsaW5rZXIsIGUuZy4gLWw8bGlicmFy
eT4KLSAgQ1BQRkxBR1MgICAgKE9iamVjdGl2ZSkgQy9DKysgcHJlcHJvY2Vzc29yIGZsYWdzLCBl
LmcuIC1JPGluY2x1ZGUgZGlyPiBpZgotICAgICAgICAgICAgICB5b3UgaGF2ZSBoZWFkZXJzIGlu
IGEgbm9uc3RhbmRhcmQgZGlyZWN0b3J5IDxpbmNsdWRlIGRpcj4KLSAgQ1BQICAgICAgICAgQyBw
cmVwcm9jZXNzb3IKICAgUFJFUEVORF9JTkNMVURFUwogICAgICAgICAgICAgICBMaXN0IG9mIGlu
Y2x1ZGUgZm9sZGVycyB0byBwcmVwZW5kIHRvIENGTEFHUyAod2l0aG91dCAtSSkKICAgUFJFUEVO
RF9MSUIgTGlzdCBvZiBsaWJyYXJ5IGZvbGRlcnMgdG8gcHJlcGVuZCB0byBMREZMQUdTICh3aXRo
b3V0IC1MKQpAQCAtMTQyNSw2ICsxMzk5LDE0IEBAIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1l
bnQgdmFyaWFibGVzOgogICBMRDg2ICAgICAgICBQYXRoIHRvIGxkODYgdG9vbAogICBCQ0MgICAg
ICAgICBQYXRoIHRvIGJjYyB0b29sCiAgIElBU0wgICAgICAgIFBhdGggdG8gaWFzbCB0b29sCisg
IENDICAgICAgICAgIEMgY29tcGlsZXIgY29tbWFuZAorICBDRkxBR1MgICAgICBDIGNvbXBpbGVy
IGZsYWdzCisgIExERkxBR1MgICAgIGxpbmtlciBmbGFncywgZS5nLiAtTDxsaWIgZGlyPiBpZiB5
b3UgaGF2ZSBsaWJyYXJpZXMgaW4gYQorICAgICAgICAgICAgICBub25zdGFuZGFyZCBkaXJlY3Rv
cnkgPGxpYiBkaXI+CisgIExJQlMgICAgICAgIGxpYnJhcmllcyB0byBwYXNzIHRvIHRoZSBsaW5r
ZXIsIGUuZy4gLWw8bGlicmFyeT4KKyAgQ1BQRkxBR1MgICAgKE9iamVjdGl2ZSkgQy9DKysgcHJl
cHJvY2Vzc29yIGZsYWdzLCBlLmcuIC1JPGluY2x1ZGUgZGlyPiBpZgorICAgICAgICAgICAgICB5
b3UgaGF2ZSBoZWFkZXJzIGluIGEgbm9uc3RhbmRhcmQgZGlyZWN0b3J5IDxpbmNsdWRlIGRpcj4K
KyAgQ1BQICAgICAgICAgQyBwcmVwcm9jZXNzb3IKICAgUEtHX0NPTkZJRyAgcGF0aCB0byBwa2ct
Y29uZmlnIHV0aWxpdHkKICAgUEtHX0NPTkZJR19QQVRICiAgICAgICAgICAgICAgIGRpcmVjdG9y
aWVzIHRvIGFkZCB0byBwa2ctY29uZmlnJ3Mgc2VhcmNoIHBhdGgKQEAgLTE3OTcsMzExICsxNzc5
LDYgQEAgZmkKICAgYXNfZm5fc2V0X3N0YXR1cyAkYWNfcmV0dmFsCiAKIH0gIyBhY19mbl9jX3Ry
eV9saW5rCi0KLSMgYWNfZm5fY19jaGVja19mdW5jIExJTkVOTyBGVU5DIFZBUgotIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFRlc3RzIHdoZXRoZXIgRlVOQyBleGlzdHMs
IHNldHRpbmcgdGhlIGNhY2hlIHZhcmlhYmxlIFZBUiBhY2NvcmRpbmdseQotYWNfZm5fY19jaGVj
a19mdW5jICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3Rh
Y2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJDIiID4mNQotJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICQyLi4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDMrc2V0fVwi
IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNh
dCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVm
cy5oLiAgKi8KLS8qIERlZmluZSAkMiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8
bGltaXRzLmg+IGRlY2xhcmVzICQyLgotICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz
Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCi0jZGVmaW5lICQyIGlubm9jdW91c18kMgot
Ci0vKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg
ZmV3IHByb3RvdHlwZXMsCi0gICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkMiAoKTsg
YmVsb3cuCi0gICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp
cyBkZWZpbmVkLCBzaW5jZQotICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k
aW5nIGNvbXBpbGVycy4gICovCi0KLSNpZmRlZiBfX1NURENfXwotIyBpbmNsdWRlIDxsaW1pdHMu
aD4KLSNlbHNlCi0jIGluY2x1ZGUgPGFzc2VydC5oPgotI2VuZGlmCi0KLSN1bmRlZiAkMgotCi0v
KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K
LSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh
IEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0
aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1j
aGFyICQyICgpOwotLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv
bnMgd2hpY2ggaXQgaW1wbGVtZW50cwotICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAg
U29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCi0gICAgc29tZXRoaW5nIHN0YXJ0aW5n
IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCi0jaWYgZGVmaW5l
ZCBfX3N0dWJfJDIgfHwgZGVmaW5lZCBfX3N0dWJfX18kMgotY2hva2UgbWUKLSNlbmRpZgotCi1p
bnQKLW1haW4gKCkKLXsKLXJldHVybiAkMiAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VP
RgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBldmFsICIkMz15ZXMi
Ci1lbHNlCi0gIGV2YWwgIiQzPW5vIgotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0
ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0
Ci1maQotZXZhbCBhY19yZXM9XCQkMwotCSAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1Ci0kYXNfZWNobyAiJGFjX3JlcyIg
PiY2OyB9Ci0gIGV2YWwgJGFzX2xpbmVub19zdGFjazsgdGVzdCAieCRhc19saW5lbm9fc3RhY2si
ID0geCAmJiB7IGFzX2xpbmVubz07IHVuc2V0IGFzX2xpbmVubzt9Ci0KLX0gIyBhY19mbl9jX2No
ZWNrX2Z1bmMKLQotIyBhY19mbl9jX2NoZWNrX3R5cGUgTElORU5PIFRZUEUgVkFSIElOQ0xVREVT
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgVGVzdHMg
d2hldGhlciBUWVBFIGV4aXN0cyBhZnRlciBoYXZpbmcgaW5jbHVkZWQgSU5DTFVERVMsIHNldHRp
bmcgY2FjaGUKLSMgdmFyaWFibGUgVkFSIGFjY29yZGluZ2x5LgotYWNfZm5fY19jaGVja190eXBl
ICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNf
bGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJDIiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tp
bmcgZm9yICQyLi4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDMrc2V0fVwiIiA9IHNl
dDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGV2YWwgIiQz
PW5vIgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBl
bmQgY29uZmRlZnMuaC4gICovCi0kNAotaW50Ci1tYWluICgpCi17Ci1pZiAoc2l6ZW9mICgkMikp
Ci0JIHJldHVybiAwOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3Ry
eV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0Yg
PmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSQ0Ci1pbnQKLW1haW4g
KCkKLXsKLWlmIChzaXplb2YgKCgkMikpKQotCSAgICByZXR1cm4gMDsKLSAgOwotICByZXR1cm4g
MDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgot
Ci1lbHNlCi0gIGV2YWwgIiQzPXllcyIKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m
dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0
LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ldmFsIGFjX3Jl
cz1cJCQzCi0JICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiAkYWNfcmVzIiA+JjUKLSRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KLSAgZXZhbCAk
YXNfbGluZW5vX3N0YWNrOyB0ZXN0ICJ4JGFzX2xpbmVub19zdGFjayIgPSB4ICYmIHsgYXNfbGlu
ZW5vPTsgdW5zZXQgYXNfbGluZW5vO30KLQotfSAjIGFjX2ZuX2NfY2hlY2tfdHlwZQotCi0jIGFj
X2ZuX2NfZmluZF9pbnRYX3QgTElORU5PIEJJVFMgVkFSCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIEZpbmRzIGEgc2lnbmVkIGludGVnZXIgdHlwZSB3aXRoIHdpZHRo
IEJJVFMsIHNldHRpbmcgY2FjaGUgdmFyaWFibGUgVkFSCi0jIGFjY29yZGluZ2x5LgotYWNfZm5f
Y19maW5kX2ludFhfdCAoKQotewotICBhc19saW5lbm89JHthc19saW5lbm8tIiQxIn0gYXNfbGlu
ZW5vX3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGluZW5vX3N0YWNrCi0gIHsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGludCQyX3QiID4mNQot
JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGludCQyX3QuLi4gIiA+JjY7IH0KLWlmIGV2YWwgInRl
c3QgXCJcJHskMytzZXR9XCIiID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkg
IiA+JjYKLWVsc2UKLSAgZXZhbCAiJDM9bm8iCi0gICAgICMgT3JkZXIgaXMgaW1wb3J0YW50IC0g
bmV2ZXIgY2hlY2sgYSB0eXBlIHRoYXQgaXMgcG90ZW50aWFsbHkgc21hbGxlcgotICAgICAjIHRo
YW4gaGFsZiBvZiB0aGUgZXhwZWN0ZWQgdGFyZ2V0IHdpZHRoLgotICAgICBmb3IgYWNfdHlwZSBp
biBpbnQkMl90ICdpbnQnICdsb25nIGludCcgXAotCSAnbG9uZyBsb25nIGludCcgJ3Nob3J0IGlu
dCcgJ3NpZ25lZCBjaGFyJzsgZG8KLSAgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5j
b25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0kYWNfaW5jbHVkZXNfZGVm
YXVsdAotCSAgICAgZW51bSB7IE4gPSAkMiAvIDIgLSAxIH07Ci1pbnQKLW1haW4gKCkKLXsKLXN0
YXRpYyBpbnQgdGVzdF9hcnJheSBbMSAtIDIgKiAhKDAgPCAoJGFjX3R5cGUpICgoKCgoJGFjX3R5
cGUpIDEgPDwgTikgPDwgTikgLSAxKSAqIDIgKyAxKSldOwotdGVzdF9hcnJheSBbMF0gPSAwCi0K
LSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJ
TkVOTyI7IHRoZW4gOgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNf
ZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0kYWNfaW5jbHVkZXNfZGVmYXVsdAotCSAgICAg
ICAgZW51bSB7IE4gPSAkMiAvIDIgLSAxIH07Ci1pbnQKLW1haW4gKCkKLXsKLXN0YXRpYyBpbnQg
dGVzdF9hcnJheSBbMSAtIDIgKiAhKCgkYWNfdHlwZSkgKCgoKCgkYWNfdHlwZSkgMSA8PCBOKSA8
PCBOKSAtIDEpICogMiArIDEpCi0JCSA8ICgkYWNfdHlwZSkgKCgoKCgkYWNfdHlwZSkgMSA8PCBO
KSA8PCBOKSAtIDEpICogMiArIDIpKV07Ci10ZXN0X2FycmF5IFswXSA9IDAKLQotICA7Ci0gIHJl
dHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhl
biA6Ci0KLWVsc2UKLSAgY2FzZSAkYWNfdHlwZSBpbiAjKAotICBpbnQkMl90KSA6Ci0gICAgZXZh
bCAiJDM9eWVzIiA7OyAjKAotICAqKSA6Ci0gICAgZXZhbCAiJDM9XCRhY190eXBlIiA7OwotZXNh
YwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRl
c3QuJGFjX2V4dAotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpl
eHQgY29uZnRlc3QuJGFjX2V4dAotICAgICAgIGlmIGV2YWwgdGVzdCBcInhcJCIkMyJcIiA9IHgi
bm8iOyB0aGVuIDoKLQotZWxzZQotICBicmVhawotZmkKLSAgICAgZG9uZQotZmkKLWV2YWwgYWNf
cmVzPVwkJDMKLQkgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiByZXN1bHQ6ICRhY19yZXMiID4mNQotJGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQotICBldmFs
ICRhc19saW5lbm9fc3RhY2s7IHRlc3QgIngkYXNfbGluZW5vX3N0YWNrIiA9IHggJiYgeyBhc19s
aW5lbm89OyB1bnNldCBhc19saW5lbm87fQotCi19ICMgYWNfZm5fY19maW5kX2ludFhfdAotCi0j
IGFjX2ZuX2NfY2hlY2tfbWVtYmVyIExJTkVOTyBBR0dSIE1FTUJFUiBWQVIgSU5DTFVERVMKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBU
cmllcyB0byBmaW5kIGlmIHRoZSBmaWVsZCBNRU1CRVIgZXhpc3RzIGluIHR5cGUgQUdHUiwgYWZ0
ZXIgaW5jbHVkaW5nCi0jIElOQ0xVREVTLCBzZXR0aW5nIGNhY2hlIHZhcmlhYmxlIFZBUiBhY2Nv
cmRpbmdseS4KLWFjX2ZuX2NfY2hlY2tfbWVtYmVyICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xp
bmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3Rh
Y2sKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm
b3IgJDIuJDMiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICQyLiQzLi4uICIgPiY2OyB9
Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDQrc2V0fVwiIiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNv
bmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSQ1Ci1pbnQKLW1haW4gKCkK
LXsKLXN0YXRpYyAkMiBhY19hZ2dyOwotaWYgKGFjX2FnZ3IuJDMpCi1yZXR1cm4gMDsKLSAgOwot
ICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7
IHRoZW4gOgotICBldmFsICIkND15ZXMiCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSQ1Ci1pbnQKLW1h
aW4gKCkKLXsKLXN0YXRpYyAkMiBhY19hZ2dyOwotaWYgKHNpemVvZiBhY19hZ2dyLiQzKQotcmV0
dXJuIDA7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBp
bGUgIiRMSU5FTk8iOyB0aGVuIDoKLSAgZXZhbCAiJDQ9eWVzIgotZWxzZQotICBldmFsICIkND1u
byIKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0
ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2Jq
ZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ldmFsIGFjX3Jlcz1cJCQ0Ci0JICAgICAgIHsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUK
LSRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KLSAgZXZhbCAkYXNfbGluZW5vX3N0YWNrOyB0ZXN0
ICJ4JGFzX2xpbmVub19zdGFjayIgPSB4ICYmIHsgYXNfbGluZW5vPTsgdW5zZXQgYXNfbGluZW5v
O30KLQotfSAjIGFjX2ZuX2NfY2hlY2tfbWVtYmVyCi0KLSMgYWNfZm5fY19maW5kX3VpbnRYX3Qg
TElORU5PIEJJVFMgVkFSCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
IyBGaW5kcyBhbiB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUgd2l0aCB3aWR0aCBCSVRTLCBzZXR0aW5n
IGNhY2hlIHZhcmlhYmxlIFZBUgotIyBhY2NvcmRpbmdseS4KLWFjX2ZuX2NfZmluZF91aW50WF90
ICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNf
bGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgdWludCQyX3QiID4mNQotJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yIHVpbnQkMl90Li4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDMr
c2V0fVwiIiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNl
Ci0gIGV2YWwgIiQzPW5vIgotICAgICAjIE9yZGVyIGlzIGltcG9ydGFudCAtIG5ldmVyIGNoZWNr
IGEgdHlwZSB0aGF0IGlzIHBvdGVudGlhbGx5IHNtYWxsZXIKLSAgICAgIyB0aGFuIGhhbGYgb2Yg
dGhlIGV4cGVjdGVkIHRhcmdldCB3aWR0aC4KLSAgICAgZm9yIGFjX3R5cGUgaW4gdWludCQyX3Qg
J3Vuc2lnbmVkIGludCcgJ3Vuc2lnbmVkIGxvbmcgaW50JyBcCi0JICd1bnNpZ25lZCBsb25nIGxv
bmcgaW50JyAndW5zaWduZWQgc2hvcnQgaW50JyAndW5zaWduZWQgY2hhcic7IGRvCi0gICAgICAg
Y2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZk
ZWZzLmguICAqLwotJGFjX2luY2x1ZGVzX2RlZmF1bHQKLWludAotbWFpbiAoKQotewotc3RhdGlj
IGludCB0ZXN0X2FycmF5IFsxIC0gMiAqICEoKCgkYWNfdHlwZSkgLTEgPj4gKCQyIC8gMiAtIDEp
KSA+PiAoJDIgLyAyIC0gMSkgPT0gMyldOwotdGVzdF9hcnJheSBbMF0gPSAwCi0KLSAgOwotICBy
ZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRo
ZW4gOgotICBjYXNlICRhY190eXBlIGluICMoCi0gIHVpbnQkMl90KSA6Ci0gICAgZXZhbCAiJDM9
eWVzIiA7OyAjKAotICAqKSA6Ci0gICAgZXZhbCAiJDM9XCRhY190eXBlIiA7OwotZXNhYwotZmkK
LXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFj
X2V4dAotICAgICAgIGlmIGV2YWwgdGVzdCBcInhcJCIkMyJcIiA9IHgibm8iOyB0aGVuIDoKLQot
ZWxzZQotICBicmVhawotZmkKLSAgICAgZG9uZQotZmkKLWV2YWwgYWNfcmVzPVwkJDMKLQkgICAg
ICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19y
ZXMiID4mNQotJGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQotICBldmFsICRhc19saW5lbm9fc3Rh
Y2s7IHRlc3QgIngkYXNfbGluZW5vX3N0YWNrIiA9IHggJiYgeyBhc19saW5lbm89OyB1bnNldCBh
c19saW5lbm87fQotCi19ICMgYWNfZm5fY19maW5kX3VpbnRYX3QKIGNhdCA+Y29uZmlnLmxvZyA8
PF9BQ0VPRgogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21w
aWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZp
Z3VyZSBtYWtlcyBhIG1pc3Rha2UuCkBAIC0yMzg2LDExICsyMDYzLDYgQEAgJGFzX2VjaG8gIiRh
c19tZTogY3JlYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNjt9CiAgID4kY2FjaGVfZmlsZQog
ZmkKIAotYXNfZm5fYXBwZW5kIGFjX2hlYWRlcl9saXN0ICIgc3lzL3RpbWUuaCIKLWFzX2ZuX2Fw
cGVuZCBhY19oZWFkZXJfbGlzdCAiIHVuaXN0ZC5oIgotYXNfZm5fYXBwZW5kIGFjX2Z1bmNfbGlz
dCAiIGFsYXJtIgotYXNfZm5fYXBwZW5kIGFjX2hlYWRlcl9saXN0ICIgc3RkbGliLmgiCi1hc19m
bl9hcHBlbmQgYWNfaGVhZGVyX2xpc3QgIiBzeXMvcGFyYW0uaCIKICMgQ2hlY2sgdGhhdCB0aGUg
cHJlY2lvdXMgdmFyaWFibGVzIHNhdmVkIGluIHRoZSBjYWNoZSBoYXZlIGtlcHQgdGhlIHNhbWUK
ICMgdmFsdWUuCiBhY19jYWNoZV9jb3JydXB0ZWQ9ZmFsc2UKQEAgLTI1MDgsMTczMCArMjE4MCw0
MCBAQCBBUFBFTkRfSU5DTFVERVMgYW5kIEFQUEVORF9MSUIgaW5zdGVhZCB3aGVuIHBvc3NpYmxl
LiIgPiYyO30KIAogZmkKIAotYWNfZXh0PWMKLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCi1hY19j
b21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi1h
Y19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZM
QUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JwotYWNfY29tcGlsZXJfZ251PSRhY19jdl9j
X2NvbXBpbGVyX2dudQotaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4
dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9Z2NjIiwgc28gaXQgY2Fu
IGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4
fWdjYzsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRh
Y193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7
IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1u
ICIkQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9S
Ci1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXog
IiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVj
dXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7
IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX0NDPSIke2FjX3Rvb2xfcHJlZml4fWdjYyIKLSAgICAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBicmVhayAyCi0gIGZpCi1kb25lCi0gIGRvbmUKLUlG
Uz0kYXNfc2F2ZV9JRlMKLQotZmkKLWZpCi1DQz0kYWNfY3ZfcHJvZ19DQwotaWYgdGVzdCAtbiAi
JENDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJENDIiA+JjUKLSRhc19lY2hvICIkQ0MiID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8g
Im5vIiA+JjY7IH0KLWZpCi0KLQotZmkKLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX0NDIjsgdGhl
bgotICBhY19jdF9DQz0kQ0MKLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJnY2MiLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGdjYzsgYWNf
d29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4u
ICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIgPSBzZXQ7IHRo
ZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1uICIk
YWNfY3RfQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19jdF9DQyIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0kSUZTOyBJRlM9
JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3NhdmVf
SUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0
IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFz
X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29y
ZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSJnY2MiCi0g
ICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0gICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25l
Ci1JRlM9JGFzX3NhdmVfSUZTCi0KLWZpCi1maQotYWNfY3RfQ0M9JGFjX2N2X3Byb2dfYWNfY3Rf
Q0MKLWlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9DQyIgPiY1Ci0kYXNfZWNobyAiJGFj
X2N0X0NDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIgPiY2OyB9Ci1maQotCi0gIGlm
IHRlc3QgIngkYWNfY3RfQ0MiID0geDsgdGhlbgotICAgIENDPSIiCi0gIGVsc2UKLSAgICBjYXNl
ICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBu
b3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19tZTogV0FS
TklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+
JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7Ci1lc2FjCi0gICAgQ0M9JGFjX2N0X0NDCi0gIGZp
Ci1lbHNlCi0gIENDPSIkYWNfY3ZfcHJvZ19DQyIKLWZpCi0KLWlmIHRlc3QgLXogIiRDQyI7IHRo
ZW4KLSAgICAgICAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWNjIiwgc28gaXQgY2Fu
IGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4
fWNjOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsg
dGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4g
IiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Y2MiCi0gICAgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29y
ZCRhY19leGVjX2V4dCIgPiY1Ci0gICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9
JGFzX3NhdmVfSUZTCi0KLWZpCi1maQotQ0M9JGFjX2N2X3Byb2dfQ0MKLWlmIHRlc3QgLW4gIiRD
QyI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6ICRDQyIgPiY1Ci0kYXNfZWNobyAiJENDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJu
byIgPiY2OyB9Ci1maQotCi0KLSAgZmkKLWZpCi1pZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCi0gICMg
RXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5h
bWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGNjOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNf
ZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNf
Y3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJEND
IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLSAgYWNfcHJvZ19yZWpl
Y3RlZD1ubwotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgotZm9yIGFzX2Rp
ciBpbiAkUEFUSAotZG8KLSAgSUZTPSRhc19zYXZlX0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAm
JiBhc19kaXI9LgotICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRl
bnNpb25zOyBkbwotICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi
ICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0g
ICAgaWYgdGVzdCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPSAiL3Vzci91Y2IvY2Mi
OyB0aGVuCi0gICAgICAgYWNfcHJvZ19yZWplY3RlZD15ZXMKLSAgICAgICBjb250aW51ZQotICAg
ICBmaQotICAgIGFjX2N2X3Byb2dfQ0M9ImNjIgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQot
ICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUwotCi1pZiB0
ZXN0ICRhY19wcm9nX3JlamVjdGVkID0geWVzOyB0aGVuCi0gICMgV2UgZm91bmQgYSBib2dvbiBp
biB0aGUgcGF0aCwgc28gbWFrZSBzdXJlIHdlIG5ldmVyIHVzZSBpdC4KLSAgc2V0IGR1bW15ICRh
Y19jdl9wcm9nX0NDCi0gIHNoaWZ0Ci0gIGlmIHRlc3QgJCMgIT0gMDsgdGhlbgotICAgICMgV2Ug
Y2hvc2UgYSBkaWZmZXJlbnQgY29tcGlsZXIgZnJvbSB0aGUgYm9ndXMgb25lLgotICAgICMgSG93
ZXZlciwgaXQgaGFzIHRoZSBzYW1lIGJhc2VuYW1lLCBzbyB0aGUgYm9nb24gd2lsbCBiZSBjaG9z
ZW4KLSAgICAjIGZpcnN0IGlmIHdlIHNldCBDQyB0byBqdXN0IHRoZSBiYXNlbmFtZTsgdXNlIHRo
ZSBmdWxsIGZpbGUgbmFtZS4KLSAgICBzaGlmdAotICAgIGFjX2N2X3Byb2dfQ0M9IiRhc19kaXIv
JGFjX3dvcmQkezErJyAnfSRAIgotICBmaQotZmkKLWZpCi1maQotQ0M9JGFjX2N2X3Byb2dfQ0MK
LWlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRDQyIgPiY1Ci0kYXNfZWNobyAiJENDIiA+JjY7IH0KLWVsc2UK
LSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+
JjUKLSRhc19lY2hvICJubyIgPiY2OyB9Ci1maQotCi0KLWZpCi1pZiB0ZXN0IC16ICIkQ0MiOyB0
aGVuCi0gIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgZm9yIGFjX3Byb2cg
aW4gY2wuZXhlCi0gIGRvCi0gICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfdG9v
bF9wcmVmaXgkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3Mu
Ci1zZXQgZHVtbXkgJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2c7IGFjX3dvcmQ9JDIKLXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+
JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNh
Y2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgotICBhY19jdl9wcm9n
X0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2
ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgotZm9yIGFzX2RpciBpbiAkUEFUSAotZG8K
LSAgSUZTPSRhc19zYXZlX0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAg
IGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICBp
ZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3gg
IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcHJvZ19D
Qz0iJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0g
ICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCi0KLWZpCi1m
aQotQ0M9JGFjX2N2X3Byb2dfQ0MKLWlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KLSAgeyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDQyIgPiY1Ci0kYXNfZWNo
byAiJENDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIgPiY2OyB9Ci1maQotCi0KLSAg
ICB0ZXN0IC1uICIkQ0MiICYmIGJyZWFrCi0gIGRvbmUKLWZpCi1pZiB0ZXN0IC16ICIkQ0MiOyB0
aGVuCi0gIGFjX2N0X0NDPSRDQwotICBmb3IgYWNfcHJvZyBpbiBjbC5leGUKLWRvCi0gICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFt
IG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9DQytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4K
LSAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX2N0X0NDIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19wcm9nIgotICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19z
YXZlX0lGUwotCi1maQotZmkKLWFjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCi1pZiB0ZXN0
IC1uICIkYWNfY3RfQ0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQotJGFzX2VjaG8gIiRhY19jdF9DQyIgPiY2
OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz
dWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKLQotCi0gIHRlc3QgLW4gIiRh
Y19jdF9DQyIgJiYgYnJlYWsKLWRvbmUKLQotICBpZiB0ZXN0ICJ4JGFjX2N0X0NDIiA9IHg7IHRo
ZW4KLSAgICBDQz0iIgotICBlbHNlCi0gICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29s
X3dhcm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlw
bGV0IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5v
dCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KLWFjX3Rvb2xfd2FybmVkPXllcyA7
OwotZXNhYwotICAgIENDPSRhY19jdF9DQwotICBmaQotZmkKLQotZmkKLQotCi10ZXN0IC16ICIk
Q0MiICYmIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjog
aW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3
ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8gIm5vIGFjY2VwdGFibGUgQyBjb21waWxlciBmb3Vu
ZCBpbiBcJFBBVEgKLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5P
IiA1IDsgfQotCi0jIFByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tcGlsZXIu
Ci0kYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgQyBj
b21waWxlciB2ZXJzaW9uIiA+JjUKLXNldCBYICRhY19jb21waWxlCi1hY19jb21waWxlcj0kMgot
Zm9yIGFjX29wdGlvbiBpbiAtLXZlcnNpb24gLXYgLVYgLXF2ZXJzaW9uOyBkbwotICB7IHsgYWNf
dHJ5PSIkYWNfY29tcGlsZXIgJGFjX29wdGlvbiA+JjUiCi1jYXNlICIoKCRhY190cnkiIGluCi0g
ICpcIiogfCAqXGAqIHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OwotICAqKSBhY190cnlf
ZWNobz0kYWNfdHJ5OzsKLWVzYWMKLWV2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogJGFjX3RyeV9lY2hvXCIiCi0kYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsg
fSA+JjUKLSAgKGV2YWwgIiRhY19jb21waWxlciAkYWNfb3B0aW9uID4mNSIpIDI+Y29uZnRlc3Qu
ZXJyCi0gIGFjX3N0YXR1cz0kPwotICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgotICAg
IHNlZCAnMTBhXAotLi4uIHJlc3Qgb2Ygc3RkZXJyIG91dHB1dCBkZWxldGVkIC4uLgotICAgICAg
ICAgMTBxJyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMQotICAgIGNhdCBjb25mdGVzdC5lcjEg
PiY1Ci0gIGZpCi0gIHJtIC1mIGNvbmZ0ZXN0LmVyMSBjb25mdGVzdC5lcnIKLSAgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1Ci0gIHRl
c3QgJGFjX3N0YXR1cyA9IDA7IH0KLWRvbmUKLQotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+
Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotCi1pbnQKLW1haW4gKCkK
LXsKLQotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1hY19jbGVhbl9maWxlc19zYXZlPSRh
Y19jbGVhbl9maWxlcwotYWNfY2xlYW5fZmlsZXM9IiRhY19jbGVhbl9maWxlcyBhLm91dCBhLm91
dC5kU1lNIGEuZXhlIGIub3V0IgotIyBUcnkgdG8gY3JlYXRlIGFuIGV4ZWN1dGFibGUgd2l0aG91
dCAtbyBmaXJzdCwgZGlzcmVnYXJkIGEub3V0LgotIyBJdCB3aWxsIGhlbHAgdXMgZGlhZ25vc2Ug
YnJva2VuIGNvbXBpbGVycywgYW5kIGZpbmRpbmcgb3V0IGFuIGludHVpdGlvbgotIyBvZiBleGVl
eHQuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdo
ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hl
dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiAiID4mNjsgfQotYWNfbGlua19kZWZhdWx0PWAk
YXNfZWNobyAiJGFjX2xpbmsiIHwgc2VkICdzLyAtbyAqY29uZnRlc3RbXiBdKi8vJ2AKLQotIyBU
aGUgcG9zc2libGUgb3V0cHV0IGZpbGVzOgotYWNfZmlsZXM9ImEub3V0IGNvbmZ0ZXN0LmV4ZSBj
b25mdGVzdCBhLmV4ZSBhX291dC5leGUgYi5vdXQgY29uZnRlc3QuKiIKLQotYWNfcm1maWxlcz0K
LWZvciBhY19maWxlIGluICRhY19maWxlcwotZG8KLSAgY2FzZSAkYWNfZmlsZSBpbgotICAgICou
JGFjX2V4dCB8ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8
ICouYmJnIHwgKi5tYXAgfCAqLmluZiB8ICouZFNZTSB8ICoubyB8ICoub2JqICkgOzsKLSAgICAq
ICkgYWNfcm1maWxlcz0iJGFjX3JtZmlsZXMgJGFjX2ZpbGUiOzsKLSAgZXNhYwotZG9uZQotcm0g
LWYgJGFjX3JtZmlsZXMKLQotaWYgeyB7IGFjX3RyeT0iJGFjX2xpbmtfZGVmYXVsdCIKLWNhc2Ug
IigoJGFjX3RyeSIgaW4KLSAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3Ry
eTs7Ci0gICopIGFjX3RyeV9lY2hvPSRhY190cnk7OwotZXNhYwotZXZhbCBhY190cnlfZWNobz0i
XCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKLSRhc19lY2hv
ICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQotICAoZXZhbCAiJGFjX2xpbmtfZGVmYXVsdCIpIDI+JjUK
LSAgYWNfc3RhdHVzPSQ/Ci0gICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IFwkPyA9ICRhY19zdGF0dXMiID4mNQotICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuIDoK
LSAgIyBBdXRvY29uZi0yLjEzIGNvdWxkIHNldCB0aGUgYWNfY3ZfZXhlZXh0IHZhcmlhYmxlIHRv
IGBubycuCi0jIFNvIGlnbm9yZSBhIHZhbHVlIG9mIGBubycsIG90aGVyd2lzZSB0aGlzIHdvdWxk
IGxlYWQgdG8gYEVYRUVYVCA9IG5vJwotIyBpbiBhIE1ha2VmaWxlLiAgV2Ugc2hvdWxkIG5vdCBv
dmVycmlkZSBhY19jdl9leGVleHQgaWYgaXQgd2FzIGNhY2hlZCwKLSMgc28gdGhhdCB0aGUgdXNl
ciBjYW4gc2hvcnQtY2lyY3VpdCB0aGlzIHRlc3QgZm9yIGNvbXBpbGVycyB1bmtub3duIHRvCi0j
IEF1dG9jb25mLgotZm9yIGFjX2ZpbGUgaW4gJGFjX2ZpbGVzICcnCi1kbwotICB0ZXN0IC1mICIk
YWNfZmlsZSIgfHwgY29udGludWUKLSAgY2FzZSAkYWNfZmlsZSBpbgotICAgICouJGFjX2V4dCB8
ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8ICouYmJnIHwg
Ki5tYXAgfCAqLmluZiB8ICouZFNZTSB8ICoubyB8ICoub2JqICkKLQk7OwotICAgIFthYl0ub3V0
ICkKLQkjIFdlIGZvdW5kIHRoZSBkZWZhdWx0IGV4ZWN1dGFibGUsIGJ1dCBleGVleHQ9JycgaXMg
bW9zdAotCSMgY2VydGFpbmx5IHJpZ2h0LgotCWJyZWFrOzsKLSAgICAqLiogKQotCWlmIHRlc3Qg
IiR7YWNfY3ZfZXhlZXh0K3NldH0iID0gc2V0ICYmIHRlc3QgIiRhY19jdl9leGVleHQiICE9IG5v
OwotCXRoZW4gOjsgZWxzZQotCSAgIGFjX2N2X2V4ZWV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJ1te
Ll0qXChcLi4qXCknYAotCWZpCi0JIyBXZSBzZXQgYWNfY3ZfZXhlZXh0IGhlcmUgYmVjYXVzZSB0
aGUgbGF0ZXIgdGVzdCBmb3IgaXQgaXMgbm90Ci0JIyBzYWZlOiBjcm9zcyBjb21waWxlcnMgbWF5
IG5vdCBhZGQgdGhlIHN1ZmZpeCBpZiBnaXZlbiBhbiBgLW8nCi0JIyBhcmd1bWVudCwgc28gd2Ug
bWF5IG5lZWQgdG8ga25vdyBpdCBhdCB0aGF0IHBvaW50IGFscmVhZHkuCi0JIyBFdmVuIGlmIHRo
aXMgc2VjdGlvbiBsb29rcyBjcnVmdHk6IGl0IGhhcyB0aGUgYWR2YW50YWdlIG9mCi0JIyBhY3R1
YWxseSB3b3JraW5nLgotCWJyZWFrOzsKLSAgICAqICkKLQlicmVhazs7Ci0gIGVzYWMKLWRvbmUK
LXRlc3QgIiRhY19jdl9leGVleHQiID0gbm8gJiYgYWNfY3ZfZXhlZXh0PQotCi1lbHNlCi0gIGFj
X2ZpbGU9JycKLWZpCi1pZiB0ZXN0IC16ICIkYWNfZmlsZSI7IHRoZW4gOgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8g
Im5vIiA+JjY7IH0KLSRhc19lY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQot
c2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQotCi17IHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKLSRhc19l
Y2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KLWFzX2ZuX2Vycm9yIDc3
ICJDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKLVNlZSBcYGNvbmZpZy5sb2cn
IGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQotZWxzZQotICB7ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5
ZXMiID4mNjsgfQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lIiA+JjUKLSRh
c19lY2hvX24gImNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt
ZS4uLiAiID4mNjsgfQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6ICRhY19maWxlIiA+JjUKLSRhc19lY2hvICIkYWNfZmlsZSIgPiY2OyB9Ci1hY19leGVl
eHQ9JGFjX2N2X2V4ZWV4dAotCi1ybSAtZiAtciBhLm91dCBhLm91dC5kU1lNIGEuZXhlIGNvbmZ0
ZXN0JGFjX2N2X2V4ZWV4dCBiLm91dAotYWNfY2xlYW5fZmlsZXM9JGFjX2NsZWFuX2ZpbGVzX3Nh
dmUKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9y
IHN1ZmZpeCBvZiBleGVjdXRhYmxlcyIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3Igc3Vm
Zml4IG9mIGV4ZWN1dGFibGVzLi4uICIgPiY2OyB9Ci1pZiB7IHsgYWNfdHJ5PSIkYWNfbGluayIK
LWNhc2UgIigoJGFjX3RyeSIgaW4KLSAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1c
JGFjX3RyeTs7Ci0gICopIGFjX3RyeV9lY2hvPSRhY190cnk7OwotZXNhYwotZXZhbCBhY190cnlf
ZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKLSRh
c19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQotICAoZXZhbCAiJGFjX2xpbmsiKSAyPiY1Ci0g
IGFjX3N0YXR1cz0kPwotICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBc
JD8gPSAkYWNfc3RhdHVzIiA+JjUKLSAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbiA6Ci0g
ICMgSWYgYm90aCBgY29uZnRlc3QuZXhlJyBhbmQgYGNvbmZ0ZXN0JyBhcmUgYHByZXNlbnQnICh3
ZWxsLCBvYnNlcnZhYmxlKQotIyBjYXRjaCBgY29uZnRlc3QuZXhlJy4gIEZvciBpbnN0YW5jZSB3
aXRoIEN5Z3dpbiwgYGxzIGNvbmZ0ZXN0JyB3aWxsCi0jIHdvcmsgcHJvcGVybHkgKGkuZS4sIHJl
ZmVyIHRvIGBjb25mdGVzdC5leGUnKSwgd2hpbGUgaXQgd29uJ3Qgd2l0aAotIyBgcm0nLgotZm9y
IGFjX2ZpbGUgaW4gY29uZnRlc3QuZXhlIGNvbmZ0ZXN0IGNvbmZ0ZXN0Lio7IGRvCi0gIHRlc3Qg
LWYgIiRhY19maWxlIiB8fCBjb250aW51ZQotICBjYXNlICRhY19maWxlIGluCi0gICAgKi4kYWNf
ZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5i
YmcgfCAqLm1hcCB8ICouaW5mIHwgKi5kU1lNIHwgKi5vIHwgKi5vYmogKSA7OwotICAgICouKiAp
IGFjX2N2X2V4ZWV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJ1teLl0qXChcLi4qXCknYAotCSAgYnJl
YWs7OwotICAgICogKSBicmVhazs7Ci0gIGVzYWMKLWRvbmUKLWVsc2UKLSAgeyB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1
Ci0kYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Ci1hc19mbl9l
cnJvciAkPyAiY2Fubm90IGNvbXB1dGUgc3VmZml4IG9mIGV4ZWN1dGFibGVzOiBjYW5ub3QgY29t
cGlsZSBhbmQgbGluawotU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5F
Tk8iIDUgOyB9Ci1maQotcm0gLWYgY29uZnRlc3QgY29uZnRlc3QkYWNfY3ZfZXhlZXh0Ci17ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2V4ZWV4
dCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2V4ZWV4dCIgPiY2OyB9Ci0KLXJtIC1mIGNvbmZ0ZXN0
LiRhY19leHQKLUVYRUVYVD0kYWNfY3ZfZXhlZXh0Ci1hY19leGVleHQ9JEVYRUVYVAotY2F0IGNv
bmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmgu
ICAqLwotI2luY2x1ZGUgPHN0ZGlvLmg+Ci1pbnQKLW1haW4gKCkKLXsKLUZJTEUgKmYgPSBmb3Bl
biAoImNvbmZ0ZXN0Lm91dCIsICJ3Iik7Ci0gcmV0dXJuIGZlcnJvciAoZikgfHwgZmNsb3NlIChm
KSAhPSAwOwotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWFjX2NsZWFuX2ZpbGVzPSIk
YWNfY2xlYW5fZmlsZXMgY29uZnRlc3Qub3V0IgotIyBDaGVjayB0aGF0IHRoZSBjb21waWxlciBw
cm9kdWNlcyBleGVjdXRhYmxlcyB3ZSBjYW4gcnVuLiAgSWYgbm90LCBlaXRoZXIKLSMgdGhlIGNv
bXBpbGVyIGlzIGJyb2tlbiwgb3Igd2UgY3Jvc3MgY29tcGlsZS4KLXsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t
cGlsaW5nIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv
bXBpbGluZy4uLiAiID4mNjsgfQotaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgIT0geWVzOyB0
aGVuCi0gIHsgeyBhY190cnk9IiRhY19saW5rIgotY2FzZSAiKCgkYWNfdHJ5IiBpbgotICAqXCIq
IHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKLSAgKikgYWNfdHJ5X2VjaG89
JGFjX3RyeTs7Ci1lc2FjCi1ldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306ICRhY190cnlfZWNob1wiIgotJGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1
Ci0gIChldmFsICIkYWNfbGluayIpIDI+JjUKLSAgYWNfc3RhdHVzPSQ/Ci0gICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQotICB0ZXN0
ICRhY19zdGF0dXMgPSAwOyB9Ci0gIGlmIHsgYWNfdHJ5PScuL2NvbmZ0ZXN0JGFjX2N2X2V4ZWV4
dCcKLSAgeyB7IGNhc2UgIigoJGFjX3RyeSIgaW4KLSAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190
cnlfZWNobz1cJGFjX3RyeTs7Ci0gICopIGFjX3RyeV9lY2hvPSRhY190cnk7OwotZXNhYwotZXZh
bCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2Vj
aG9cIiIKLSRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQotICAoZXZhbCAiJGFjX3RyeSIp
IDI+JjUKLSAgYWNfc3RhdHVzPSQ/Ci0gICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQotICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB9
OyB0aGVuCi0gICAgY3Jvc3NfY29tcGlsaW5nPW5vCi0gIGVsc2UKLSAgICBpZiB0ZXN0ICIkY3Jv
c3NfY29tcGlsaW5nIiA9IG1heWJlOyB0aGVuCi0JY3Jvc3NfY29tcGlsaW5nPXllcwotICAgIGVs
c2UKLQl7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGlu
IFxgJGFjX3B3ZCc6IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2Qn
OiIgPiYyO30KLWFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgcnVuIEMgY29tcGlsZWQgcHJvZ3JhbXMu
Ci1JZiB5b3UgbWVhbnQgdG8gY3Jvc3MgY29tcGlsZSwgdXNlIFxgLS1ob3N0Jy4KLVNlZSBcYGNv
bmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQotICAgIGZpCi0gIGZp
Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRj
cm9zc19jb21waWxpbmciID4mNQotJGFzX2VjaG8gIiRjcm9zc19jb21waWxpbmciID4mNjsgfQot
Ci1ybSAtZiBjb25mdGVzdC4kYWNfZXh0IGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCBjb25mdGVzdC5v
dXQKLWFjX2NsZWFuX2ZpbGVzPSRhY19jbGVhbl9maWxlc19zYXZlCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp
bGVzIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVz
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X29iamV4dCtzZXR9IiA9IHNldDsgdGhlbiA6
Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0g
PDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLQotaW50
Ci1tYWluICgpCi17Ci0KLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotcm0gLWYgY29uZnRl
c3QubyBjb25mdGVzdC5vYmoKLWlmIHsgeyBhY190cnk9IiRhY19jb21waWxlIgotY2FzZSAiKCgk
YWNfdHJ5IiBpbgotICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsK
LSAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Ci1lc2FjCi1ldmFsIGFjX3RyeV9lY2hvPSJcIlwk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgotJGFzX2VjaG8gIiRh
Y190cnlfZWNobyI7IH0gPiY1Ci0gIChldmFsICIkYWNfY29tcGlsZSIpIDI+JjUKLSAgYWNfc3Rh
dHVzPSQ/Ci0gICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRh
Y19zdGF0dXMiID4mNQotICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuIDoKLSAgZm9yIGFj
X2ZpbGUgaW4gY29uZnRlc3QubyBjb25mdGVzdC5vYmogY29uZnRlc3QuKjsgZG8KLSAgdGVzdCAt
ZiAiJGFjX2ZpbGUiIHx8IGNvbnRpbnVlOwotICBjYXNlICRhY19maWxlIGluCi0gICAgKi4kYWNf
ZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5i
YmcgfCAqLm1hcCB8ICouaW5mIHwgKi5kU1lNICkgOzsKLSAgICAqKSBhY19jdl9vYmpleHQ9YGV4
cHIgIiRhY19maWxlIiA6ICcuKlwuXCguKlwpJ2AKLSAgICAgICBicmVhazs7Ci0gIGVzYWMKLWRv
bmUKLWVsc2UKLSAgJGFzX2VjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Ci1z
ZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1Ci0KLXsgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2Vj
aG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8g
ImNhbm5vdCBjb21wdXRlIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXM6IGNhbm5vdCBjb21waWxlCi1T
ZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNSA7IH0KLWZpCi1y
bSAtZiBjb25mdGVzdC4kYWNfY3Zfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X29iamV4dCIg
PiY1Ci0kYXNfZWNobyAiJGFjX2N2X29iamV4dCIgPiY2OyB9Ci1PQkpFWFQ9JGFjX2N2X29iamV4
dAotYWNfb2JqZXh0PSRPQkpFWFQKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyIiA+
JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj
b21waWxlci4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9jX2NvbXBpbGVyX2dudStzZXR9
IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNh
dCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVm
cy5oLiAgKi8KLQotaW50Ci1tYWluICgpCi17Ci0jaWZuZGVmIF9fR05VQ19fCi0gICAgICAgY2hv
a2UgbWUKLSNlbmRpZgotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2Nf
dHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY29tcGlsZXJfZ251PXllcwotZWxz
ZQotICBhY19jb21waWxlcl9nbnU9bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m
dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWFjX2N2X2NfY29tcGlsZXJfZ251PSRh
Y19jb21waWxlcl9nbnUKLQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiAkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNQotJGFzX2VjaG8gIiRhY19j
dl9jX2NvbXBpbGVyX2dudSIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jb21waWxlcl9nbnUgPSB5ZXM7
IHRoZW4KLSAgR0NDPXllcwotZWxzZQotICBHQ0M9Ci1maQotYWNfdGVzdF9DRkxBR1M9JHtDRkxB
R1Mrc2V0fQotYWNfc2F2ZV9DRkxBR1M9JENGTEFHUwoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRDQyBhY2NlcHRzIC1nIiA+JjUKLSRh
c19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJENDIGFjY2VwdHMgLWcuLi4gIiA+JjY7IH0KLWlm
IHRlc3QgIiR7YWNfY3ZfcHJvZ19jY19nK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfc2F2ZV9jX3dlcnJvcl9mbGFnPSRhY19jX3dl
cnJvcl9mbGFnCi0gICBhY19jX3dlcnJvcl9mbGFnPXllcwotICAgYWNfY3ZfcHJvZ19jY19nPW5v
Ci0gICBDRkxBR1M9Ii1nIgotICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotCi1pbnQKLW1haW4gKCkKLXsKLQotICA7
Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5P
IjsgdGhlbiA6Ci0gIGFjX2N2X3Byb2dfY2NfZz15ZXMKLWVsc2UKLSAgQ0ZMQUdTPSIiCi0gICAg
ICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29u
ZmRlZnMuaC4gICovCi0KLWludAotbWFpbiAoKQotewotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1f
QUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLQotZWxzZQot
ICBhY19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKLQkgQ0ZMQUdTPSItZyIK
LQkgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLwotCi1pbnQKLW1haW4gKCkKLXsKLQotICA7Ci0gIHJldHVybiAwOwotfQot
X0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2
X3Byb2dfY2NfZz15ZXMKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNf
b2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m
dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0
LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSAgIGFjX2Nfd2Vycm9y
X2ZsYWc9JGFjX3NhdmVfY193ZXJyb3JfZmxhZwotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcHJvZ19jY19nIiA+JjUKLSRhc19lY2hv
ICIkYWNfY3ZfcHJvZ19jY19nIiA+JjY7IH0KLWlmIHRlc3QgIiRhY190ZXN0X0NGTEFHUyIgPSBz
ZXQ7IHRoZW4KLSAgQ0ZMQUdTPSRhY19zYXZlX0NGTEFHUwotZWxpZiB0ZXN0ICRhY19jdl9wcm9n
X2NjX2cgPSB5ZXM7IHRoZW4KLSAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KLSAgICBDRkxB
R1M9Ii1nIC1PMiIKLSAgZWxzZQotICAgIENGTEFHUz0iLWciCi0gIGZpCi1lbHNlCi0gIGlmIHRl
c3QgIiRHQ0MiID0geWVzOyB0aGVuCi0gICAgQ0ZMQUdTPSItTzIiCi0gIGVsc2UKLSAgICBDRkxB
R1M9Ci0gIGZpCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj
aGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OSIgPiY1Ci0kYXNfZWNob19u
ICJjaGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiAiID4mNjsgfQot
aWYgdGVzdCAiJHthY19jdl9wcm9nX2NjX2M4OStzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFjX2N2X3Byb2dfY2NfYzg5PW5vCi1hY19z
YXZlX0NDPSRDQwotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAot
LyogZW5kIGNvbmZkZWZzLmguICAqLwotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0
ZGlvLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLS8q
IE1vc3Qgb2YgdGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgc3RvbGVuIGZyb20gUkNTIDUuNydzIHNy
Yy9jb25mLnNoLiAgKi8KLXN0cnVjdCBidWYgeyBpbnQgeDsgfTsKLUZJTEUgKiAoKnJjc29wZW4p
IChzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCk7Ci1zdGF0aWMgY2hhciAqZSAocCwg
aSkKLSAgICAgY2hhciAqKnA7Ci0gICAgIGludCBpOwotewotICByZXR1cm4gcFtpXTsKLX0KLXN0
YXRpYyBjaGFyICpmIChjaGFyICogKCpnKSAoY2hhciAqKiwgaW50KSwgY2hhciAqKnAsIC4uLikK
LXsKLSAgY2hhciAqczsKLSAgdmFfbGlzdCB2OwotICB2YV9zdGFydCAodixwKTsKLSAgcyA9IGcg
KHAsIHZhX2FyZyAodixpbnQpKTsKLSAgdmFfZW5kICh2KTsKLSAgcmV0dXJuIHM7Ci19Ci0KLS8q
IE9TRiA0LjAgQ29tcGFxIGNjIGlzIHNvbWUgc29ydCBvZiBhbG1vc3QtQU5TSSBieSBkZWZhdWx0
LiAgSXQgaGFzCi0gICBmdW5jdGlvbiBwcm90b3R5cGVzIGFuZCBzdHVmZiwgYnV0IG5vdCAnXHhI
SCcgaGV4IGNoYXJhY3RlciBjb25zdGFudHMuCi0gICBUaGVzZSBkb24ndCBwcm92b2tlIGFuIGVy
cm9yIHVuZm9ydHVuYXRlbHksIGluc3RlYWQgYXJlIHNpbGVudGx5IHRyZWF0ZWQKLSAgIGFzICd4
Jy4gIFRoZSBmb2xsb3dpbmcgaW5kdWNlcyBhbiBlcnJvciwgdW50aWwgLXN0ZCBpcyBhZGRlZCB0
byBnZXQKLSAgIHByb3BlciBBTlNJIG1vZGUuICBDdXJpb3VzbHkgJ1x4MDAnIT0neCcgYWx3YXlz
IGNvbWVzIG91dCB0cnVlLCBmb3IgYW4KLSAgIGFycmF5IHNpemUgYXQgbGVhc3QuICBJdCdzIG5l
Y2Vzc2FyeSB0byB3cml0ZSAnXHgwMCc9PTAgdG8gZ2V0IHNvbWV0aGluZwotICAgdGhhdCdzIHRy
dWUgb25seSB3aXRoIC1zdGQuICAqLwotaW50IG9zZjRfY2NfYXJyYXkgWydceDAwJyA9PSAwID8g
MSA6IC0xXTsKLQotLyogSUJNIEMgNiBmb3IgQUlYIGlzIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQs
IGJ1dCBpdCByZXBsYWNlcyBtYWNybyBwYXJhbWV0ZXJzCi0gICBpbnNpZGUgc3RyaW5ncyBhbmQg
Y2hhcmFjdGVyIGNvbnN0YW50cy4gICovCi0jZGVmaW5lIEZPTyh4KSAneCcKLWludCB4bGM2X2Nj
X2FycmF5W0ZPTyhhKSA9PSAneCcgPyAxIDogLTFdOwotCi1pbnQgdGVzdCAoaW50IGksIGRvdWJs
ZSB4KTsKLXN0cnVjdCBzMSB7aW50ICgqZikgKGludCBhKTt9Owotc3RydWN0IHMyIHtpbnQgKCpm
KSAoZG91YmxlIGEpO307Ci1pbnQgcGFpcm5hbWVzIChpbnQsIGNoYXIgKiosIEZJTEUgKigqKShz
dHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCksIGludCwgaW50KTsKLWludCBhcmdjOwot
Y2hhciAqKmFyZ3Y7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVybiBmIChlLCBhcmd2LCAwKSAhPSBh
cmd2WzBdICB8fCAgZiAoZSwgYXJndiwgMSkgIT0gYXJndlsxXTsKLSAgOwotICByZXR1cm4gMDsK
LX0KLV9BQ0VPRgotZm9yIGFjX2FyZyBpbiAnJyAtcWxhbmdsdmw9ZXh0Yzg5IC1xbGFuZ2x2bD1h
bnNpIC1zdGQgXAotCS1BZSAiLUFhIC1EX0hQVVhfU09VUkNFIiAiLVhjIC1EX19FWFRFTlNJT05T
X18iCi1kbwotICBDQz0iJGFjX3NhdmVfQ0MgJGFjX2FyZyIKLSAgaWYgYWNfZm5fY190cnlfY29t
cGlsZSAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9wcm9nX2NjX2M4OT0kYWNfYXJnCi1maQot
cm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAotICB0ZXN0ICJ4JGFj
X2N2X3Byb2dfY2NfYzg5IiAhPSAieG5vIiAmJiBicmVhawotZG9uZQotcm0gLWYgY29uZnRlc3Qu
JGFjX2V4dAotQ0M9JGFjX3NhdmVfQ0MKLQotZmkKLSMgQUNfQ0FDSEVfVkFMCi1jYXNlICJ4JGFj
X2N2X3Byb2dfY2NfYzg5IiBpbgotICB4KQotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiBub25lIG5lZWRlZCIgPiY1Ci0kYXNfZWNobyAibm9uZSBu
ZWVkZWQiID4mNjsgfSA7OwotICB4bm8pCi0gICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiByZXN1bHQ6IHVuc3VwcG9ydGVkIiA+JjUKLSRhc19lY2hvICJ1bnN1cHBv
cnRlZCIgPiY2OyB9IDs7Ci0gICopCi0gICAgQ0M9IiRDQyAkYWNfY3ZfcHJvZ19jY19jODkiCi0g
ICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19j
dl9wcm9nX2NjX2M4OSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X3Byb2dfY2NfYzg5IiA+JjY7IH0g
OzsKLWVzYWMKLWlmIHRlc3QgIngkYWNfY3ZfcHJvZ19jY19jODkiICE9IHhubzsgdGhlbiA6Ci0K
LWZpCi0KLWFjX2V4dD1jCi1hY19jcHA9JyRDUFAgJENQUEZMQUdTJwotYWNfY29tcGlsZT0nJEND
IC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwotYWNfbGluaz0nJEND
IC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVz
dC4kYWNfZXh0ICRMSUJTID4mNScKLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9n
bnUKLQotCi1hY19leHQ9YwotYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKLWFjX2NvbXBpbGU9JyRD
QyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKLWFjX2xpbms9JyRD
QyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRl
c3QuJGFjX2V4dCAkTElCUyA+JjUnCi1hY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJf
Z251Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhv
dyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGhv
dyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4uICIgPiY2OyB9Ci0jIE9uIFN1bnMsIHNvbWV0
aW1lcyAkQ1BQIG5hbWVzIGEgZGlyZWN0b3J5LgotaWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAt
ZCAiJENQUCI7IHRoZW4KLSAgQ1BQPQotZmkKLWlmIHRlc3QgLXogIiRDUFAiOyB0aGVuCi0gIGlm
IHRlc3QgIiR7YWNfY3ZfcHJvZ19DUFArc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19u
ICIoY2FjaGVkKSAiID4mNgotZWxzZQotICAgICAgIyBEb3VibGUgcXVvdGVzIGJlY2F1c2UgQ1BQ
IG5lZWRzIHRvIGJlIGV4cGFuZGVkCi0gICAgZm9yIENQUCBpbiAiJENDIC1FIiAiJENDIC1FIC10
cmFkaXRpb25hbC1jcHAiICIvbGliL2NwcCIKLSAgICBkbwotICAgICAgYWNfcHJlcHJvY19vaz1m
YWxzZQotZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCi1kbwotICAjIFVzZSBh
IGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCi0g
ICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgotICAjIFByZWZlciA8bGltaXRz
Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKLSAgIyA8bGlt
aXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCi0gICMgT24gdGhl
IE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIs
Ci0gICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0
Y2ggdGhpcyBjYXNlLgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNf
ZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaWZkZWYgX19TVERDX18KLSMgaW5jbHVkZSA8
bGltaXRzLmg+Ci0jZWxzZQotIyBpbmNsdWRlIDxhc3NlcnQuaD4KLSNlbmRpZgotCQkgICAgIFN5
bnRheCBlcnJvcgotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8iOyB0aGVuIDoK
LQotZWxzZQotICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5wdXQuCi1jb250aW51ZQotZmkK
LXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0ZXN0LiRhY19leHQKLQotICAjIE9L
LCB3b3JrcyBvbiBzYW5lIGNhc2VzLiAgTm93IGNoZWNrIHdoZXRoZXIgbm9uZXhpc3RlbnQgaGVh
ZGVycwotICAjIGNhbiBiZSBkZXRlY3RlZCBhbmQgaG93LgotICBjYXQgY29uZmRlZnMuaCAtIDw8
X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaW5jbHVk
ZSA8YWNfbm9uZXhpc3RlbnQuaD4KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY3BwICIkTElORU5P
IjsgdGhlbiA6Ci0gICMgQnJva2VuOiBzdWNjZXNzIG9uIGludmFsaWQgaW5wdXQuCi1jb250aW51
ZQotZWxzZQotICAjIFBhc3NlcyBib3RoIHRlc3RzLgotYWNfcHJlcHJvY19vaz06Ci1icmVhawot
ZmkKLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0ZXN0LiRhY19leHQKLQotZG9u
ZQotIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lGRUxTRSdzIGNsZWFuaW5nIGNv
ZGUgd2FzIHNraXBwZWQuCi1ybSAtZiBjb25mdGVzdC5pIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4k
YWNfZXh0Ci1pZiAkYWNfcHJlcHJvY19vazsgdGhlbiA6Ci0gIGJyZWFrCi1maQotCi0gICAgZG9u
ZQotICAgIGFjX2N2X3Byb2dfQ1BQPSRDUFAKLQotZmkKLSAgQ1BQPSRhY19jdl9wcm9nX0NQUAot
ZWxzZQotICBhY19jdl9wcm9nX0NQUD0kQ1BQCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDUFAiID4mNQotJGFzX2VjaG8gIiRDUFAiID4mNjsg
fQotYWNfcHJlcHJvY19vaz1mYWxzZQotZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycg
eWVzCi1kbwotICAjIFVzZSBhIGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNv
bmZpZ3VyaW5nIGdsaWJjCi0gICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgot
ICAjIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l
ZCwgc2luY2UKLSAgIyA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w
aWxlcnMuCi0gICMgT24gdGhlIE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUg
Y29tcGlsZXIncyBwYXJzZXIsCi0gICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJy
b3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhpcyBjYXNlLgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FD
RU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaWZkZWYgX19T
VERDX18KLSMgaW5jbHVkZSA8bGltaXRzLmg+Ci0jZWxzZQotIyBpbmNsdWRlIDxhc3NlcnQuaD4K
LSNlbmRpZgotCQkgICAgIFN5bnRheCBlcnJvcgotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jcHAg
IiRMSU5FTk8iOyB0aGVuIDoKLQotZWxzZQotICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5w
dXQuCi1jb250aW51ZQotZmkKLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0ZXN0
LiRhY19leHQKLQotICAjIE9LLCB3b3JrcyBvbiBzYW5lIGNhc2VzLiAgTm93IGNoZWNrIHdoZXRo
ZXIgbm9uZXhpc3RlbnQgaGVhZGVycwotICAjIGNhbiBiZSBkZXRlY3RlZCBhbmQgaG93LgotICBj
YXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRl
ZnMuaC4gICovCi0jaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KLV9BQ0VPRgotaWYgYWNfZm5f
Y190cnlfY3BwICIkTElORU5PIjsgdGhlbiA6Ci0gICMgQnJva2VuOiBzdWNjZXNzIG9uIGludmFs
aWQgaW5wdXQuCi1jb250aW51ZQotZWxzZQotICAjIFBhc3NlcyBib3RoIHRlc3RzLgotYWNfcHJl
cHJvY19vaz06Ci1icmVhawotZmkKLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0
ZXN0LiRhY19leHQKLQotZG9uZQotIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lG
RUxTRSdzIGNsZWFuaW5nIGNvZGUgd2FzIHNraXBwZWQuCi1ybSAtZiBjb25mdGVzdC5pIGNvbmZ0
ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0Ci1pZiAkYWNfcHJlcHJvY19vazsgdGhlbiA6Ci0KLWVs
c2UKLSAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBp
biBcYCRhY19wd2QnOiIgPiY1Ci0kYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdk
JzoiID4mMjt9Ci1hc19mbl9lcnJvciAkPyAiQyBwcmVwcm9jZXNzb3IgXCIkQ1BQXCIgZmFpbHMg
c2FuaXR5IGNoZWNrCi1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVO
TyIgNSA7IH0KLWZpCi0KLWFjX2V4dD1jCi1hY19jcHA9JyRDUFAgJENQUEZMQUdTJwotYWNfY29t
cGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwotYWNf
bGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFH
UyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19j
b21waWxlcl9nbnUKLQotCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZSIgPiY1Ci0k
YXNfZWNob19uICJjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQg
LWUuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9HUkVQK3NldH0iID0gc2V0OyB0
aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAteiAi
JEdSRVAiOyB0aGVuCi0gIGFjX3BhdGhfR1JFUF9mb3VuZD1mYWxzZQotICAjIExvb3AgdGhyb3Vn
aCB0aGUgdXNlcidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAotICBh
c19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRI
JFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2JpbgotZG8KLSAgSUZTPSRhc19zYXZlX0lGUwotICB0
ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgIGZvciBhY19wcm9nIGluIGdyZXAgZ2dy
ZXA7IGRvCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lv
bnM7IGRvCi0gICAgICBhY19wYXRoX0dSRVA9IiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQi
Ci0gICAgICB7IHRlc3QgLWYgIiRhY19wYXRoX0dSRVAiICYmICRhc190ZXN0X3ggIiRhY19wYXRo
X0dSRVAiOyB9IHx8IGNvbnRpbnVlCi0jIENoZWNrIGZvciBHTlUgYWNfcGF0aF9HUkVQIGFuZCBz
ZWxlY3QgaXQgaWYgaXQgaXMgZm91bmQuCi0gICMgQ2hlY2sgZm9yIEdOVSAkYWNfcGF0aF9HUkVQ
Ci1jYXNlIGAiJGFjX3BhdGhfR1JFUCIgLS12ZXJzaW9uIDI+JjFgIGluCi0qR05VKikKLSAgYWNf
Y3ZfcGF0aF9HUkVQPSIkYWNfcGF0aF9HUkVQIiBhY19wYXRoX0dSRVBfZm91bmQ9Ojs7Ci0qKQot
ICBhY19jb3VudD0wCi0gICRhc19lY2hvX24gMDEyMzQ1Njc4OSA+ImNvbmZ0ZXN0LmluIgotICB3
aGlsZSA6Ci0gIGRvCi0gICAgY2F0ICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0LmluIiA+ImNvbmZ0
ZXN0LnRtcCIKLSAgICBtdiAiY29uZnRlc3QudG1wIiAiY29uZnRlc3QuaW4iCi0gICAgY3AgImNv
bmZ0ZXN0LmluIiAiY29uZnRlc3QubmwiCi0gICAgJGFzX2VjaG8gJ0dSRVAnID4+ICJjb25mdGVz
dC5ubCIKLSAgICAiJGFjX3BhdGhfR1JFUCIgLWUgJ0dSRVAkJyAtZSAnLShjYW5ub3QgbWF0Y2gp
LScgPCAiY29uZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYvbnVsbCB8fCBicmVhawot
ICAgIGRpZmYgImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rldi9udWxsIDI+JjEgfHwg
YnJlYWsKLSAgICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFjX2NvdW50PSRhc192YWwK
LSAgICBpZiB0ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0dSRVBfbWF4LTB9OyB0aGVuCi0g
ICAgICAjIEJlc3Qgb25lIHNvIGZhciwgc2F2ZSBpdCBidXQga2VlcCBsb29raW5nIGZvciBhIGJl
dHRlciBvbmUKLSAgICAgIGFjX2N2X3BhdGhfR1JFUD0iJGFjX3BhdGhfR1JFUCIKLSAgICAgIGFj
X3BhdGhfR1JFUF9tYXg9JGFjX2NvdW50Ci0gICAgZmkKLSAgICAjIDEwKigyXjEwKSBjaGFycyBh
cyBpbnB1dCBzZWVtcyBtb3JlIHRoYW4gZW5vdWdoCi0gICAgdGVzdCAkYWNfY291bnQgLWd0IDEw
ICYmIGJyZWFrCi0gIGRvbmUKLSAgcm0gLWYgY29uZnRlc3QuaW4gY29uZnRlc3QudG1wIGNvbmZ0
ZXN0Lm5sIGNvbmZ0ZXN0Lm91dDs7Ci1lc2FjCi0KLSAgICAgICRhY19wYXRoX0dSRVBfZm91bmQg
JiYgYnJlYWsgMwotICAgIGRvbmUKLSAgZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCi0g
IGlmIHRlc3QgLXogIiRhY19jdl9wYXRoX0dSRVAiOyB0aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8g
Im5vIGFjY2VwdGFibGUgZ3JlcCBjb3VsZCBiZSBmb3VuZCBpbiAkUEFUSCRQQVRIX1NFUEFSQVRP
Ui91c3IveHBnNC9iaW4iICIkTElORU5PIiA1Ci0gIGZpCi1lbHNlCi0gIGFjX2N2X3BhdGhfR1JF
UD0kR1JFUAotZmkKLQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiAkYWNfY3ZfcGF0aF9HUkVQIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfcGF0aF9H
UkVQIiA+JjY7IH0KLSBHUkVQPSIkYWNfY3ZfcGF0aF9HUkVQIgotCi0KLXsgJGFzX2VjaG8gIiRh
c19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGVncmVwIiA+JjUKLSRhc19l
Y2hvX24gImNoZWNraW5nIGZvciBlZ3JlcC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9w
YXRoX0VHUkVQK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+
JjYKLWVsc2UKLSAgaWYgZWNobyBhIHwgJEdSRVAgLUUgJyhhfGIpJyA+L2Rldi9udWxsIDI+JjEK
LSAgIHRoZW4gYWNfY3ZfcGF0aF9FR1JFUD0iJEdSRVAgLUUiCi0gICBlbHNlCi0gICAgIGlmIHRl
c3QgLXogIiRFR1JFUCI7IHRoZW4KLSAgYWNfcGF0aF9FR1JFUF9mb3VuZD1mYWxzZQotICAjIExv
b3AgdGhyb3VnaCB0aGUgdXNlcidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUt
TElTVAotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGly
IGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2JpbgotZG8KLSAgSUZTPSRhc19zYXZl
X0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgIGZvciBhY19wcm9nIGlu
IGVncmVwOyBkbwotICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRl
bnNpb25zOyBkbwotICAgICAgYWNfcGF0aF9FR1JFUD0iJGFzX2Rpci8kYWNfcHJvZyRhY19leGVj
X2V4dCIKLSAgICAgIHsgdGVzdCAtZiAiJGFjX3BhdGhfRUdSRVAiICYmICRhc190ZXN0X3ggIiRh
Y19wYXRoX0VHUkVQIjsgfSB8fCBjb250aW51ZQotIyBDaGVjayBmb3IgR05VIGFjX3BhdGhfRUdS
RVAgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4KLSAgIyBDaGVjayBmb3IgR05VICRhY19w
YXRoX0VHUkVQCi1jYXNlIGAiJGFjX3BhdGhfRUdSRVAiIC0tdmVyc2lvbiAyPiYxYCBpbgotKkdO
VSopCi0gIGFjX2N2X3BhdGhfRUdSRVA9IiRhY19wYXRoX0VHUkVQIiBhY19wYXRoX0VHUkVQX2Zv
dW5kPTo7OwotKikKLSAgYWNfY291bnQ9MAotICAkYXNfZWNob19uIDAxMjM0NTY3ODkgPiJjb25m
dGVzdC5pbiIKLSAgd2hpbGUgOgotICBkbwotICAgIGNhdCAiY29uZnRlc3QuaW4iICJjb25mdGVz
dC5pbiIgPiJjb25mdGVzdC50bXAiCi0gICAgbXYgImNvbmZ0ZXN0LnRtcCIgImNvbmZ0ZXN0Lmlu
IgotICAgIGNwICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0Lm5sIgotICAgICRhc19lY2hvICdFR1JF
UCcgPj4gImNvbmZ0ZXN0Lm5sIgotICAgICIkYWNfcGF0aF9FR1JFUCIgJ0VHUkVQJCcgPCAiY29u
ZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYvbnVsbCB8fCBicmVhawotICAgIGRpZmYg
ImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rldi9udWxsIDI+JjEgfHwgYnJlYWsKLSAg
ICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFjX2NvdW50PSRhc192YWwKLSAgICBpZiB0
ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0VHUkVQX21heC0wfTsgdGhlbgotICAgICAgIyBC
ZXN0IG9uZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAgbG9va2luZyBmb3IgYSBiZXR0ZXIgb25l
Ci0gICAgICBhY19jdl9wYXRoX0VHUkVQPSIkYWNfcGF0aF9FR1JFUCIKLSAgICAgIGFjX3BhdGhf
RUdSRVBfbWF4PSRhY19jb3VudAotICAgIGZpCi0gICAgIyAxMCooMl4xMCkgY2hhcnMgYXMgaW5w
dXQgc2VlbXMgbW9yZSB0aGFuIGVub3VnaAotICAgIHRlc3QgJGFjX2NvdW50IC1ndCAxMCAmJiBi
cmVhawotICBkb25lCi0gIHJtIC1mIGNvbmZ0ZXN0LmluIGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5u
bCBjb25mdGVzdC5vdXQ7OwotZXNhYwotCi0gICAgICAkYWNfcGF0aF9FR1JFUF9mb3VuZCAmJiBi
cmVhayAzCi0gICAgZG9uZQotICBkb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKLSAgaWYg
dGVzdCAteiAiJGFjX2N2X3BhdGhfRUdSRVAiOyB0aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8gIm5v
IGFjY2VwdGFibGUgZWdyZXAgY291bGQgYmUgZm91bmQgaW4gJFBBVEgkUEFUSF9TRVBBUkFUT1Iv
dXNyL3hwZzQvYmluIiAiJExJTkVOTyIgNQotICBmaQotZWxzZQotICBhY19jdl9wYXRoX0VHUkVQ
PSRFR1JFUAotZmkKLQotICAgZmkKLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfRUdSRVAiID4mNQotJGFzX2VjaG8gIiRhY19j
dl9wYXRoX0VHUkVQIiA+JjY7IH0KLSBFR1JFUD0iJGFjX2N2X3BhdGhfRUdSRVAiCi0KLQoteyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgQU5TSSBD
IGhlYWRlciBmaWxlcyIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRl
ciBmaWxlcy4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3RkYytzZXR9IiA9
IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhdCBj
b25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5o
LiAgKi8KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRl
IDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxmbG9hdC5oPgotCi1pbnQKLW1haW4gKCkKLXsKLQotICA7
Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5P
IjsgdGhlbiA6Ci0gIGFjX2N2X2hlYWRlcl9zdGRjPXllcwotZWxzZQotICBhY19jdl9oZWFkZXJf
c3RkYz1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQg
Y29uZnRlc3QuJGFjX2V4dAotCi1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhl
bgotICAjIFN1bk9TIDQueCBzdHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5
IHRvIEFOU0kuCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQK
LS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotX0FDRU9GCi1p
ZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8Ci0gICRFR1JFUCAibWVt
Y2hyIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgotCi1lbHNlCi0gIGFjX2N2X2hlYWRlcl9zdGRj
PW5vCi1maQotcm0gLWYgY29uZnRlc3QqCi0KLWZpCi0KLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9z
dGRjID0geWVzOyB0aGVuCi0gICMgSVNDIDIuMC4yIHN0ZGxpYi5oIGRvZXMgbm90IGRlY2xhcmUg
ZnJlZSwgY29udHJhcnkgdG8gQU5TSS4KLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29u
ZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotI2luY2x1ZGUgPHN0ZGxpYi5o
PgotCi1fQUNFT0YKLWlmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwK
LSAgJEVHUkVQICJmcmVlIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgotCi1lbHNlCi0gIGFjX2N2
X2hlYWRlcl9zdGRjPW5vCi1maQotcm0gLWYgY29uZnRlc3QqCi0KLWZpCi0KLWlmIHRlc3QgJGFj
X2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCi0gICMgL2Jpbi9jYyBpbiBJcml4LTQuMC41IGdl
dHMgbm9uLUFOU0kgY3R5cGUgbWFjcm9zIHVubGVzcyB1c2luZyAtYW5zaS4KLSAgaWYgdGVzdCAi
JGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgotICA6Ci1lbHNlCi0gIGNhdCBjb25mZGVm
cy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
LSNpbmNsdWRlIDxjdHlwZS5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2lmICgoJyAnICYgMHgw
RkYpID09IDB4MDIwKQotIyBkZWZpbmUgSVNMT1dFUihjKSAoJ2EnIDw9IChjKSAmJiAoYykgPD0g
J3onKQotIyBkZWZpbmUgVE9VUFBFUihjKSAoSVNMT1dFUihjKSA/ICdBJyArICgoYykgLSAnYScp
IDogKGMpKQotI2Vsc2UKLSMgZGVmaW5lIElTTE9XRVIoYykgXAotCQkgICAoKCdhJyA8PSAoYykg
JiYgKGMpIDw9ICdpJykgXAotCQkgICAgIHx8ICgnaicgPD0gKGMpICYmIChjKSA8PSAncicpIFwK
LQkJICAgICB8fCAoJ3MnIDw9IChjKSAmJiAoYykgPD0gJ3onKSkKLSMgZGVmaW5lIFRPVVBQRVIo
YykgKElTTE9XRVIoYykgPyAoKGMpIHwgMHg0MCkgOiAoYykpCi0jZW5kaWYKLQotI2RlZmluZSBY
T1IoZSwgZikgKCgoZSkgJiYgIShmKSkgfHwgKCEoZSkgJiYgKGYpKSkKLWludAotbWFpbiAoKQot
ewotICBpbnQgaTsKLSAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQotICAgIGlmIChYT1IgKGlz
bG93ZXIgKGkpLCBJU0xPV0VSIChpKSkKLQl8fCB0b3VwcGVyIChpKSAhPSBUT1VQUEVSIChpKSkK
LSAgICAgIHJldHVybiAyOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlf
cnVuICIkTElORU5PIjsgdGhlbiA6Ci0KLWVsc2UKLSAgYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KLWZp
Ci1ybSAtZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0
ZXN0JGFjX2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25m
dGVzdC4kYWNfZXh0Ci1maQotCi1maQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N0ZGMiID4mNQotJGFzX2VjaG8gIiRh
Y19jdl9oZWFkZXJfc3RkYyIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHll
czsgdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBTVERDX0hFQURFUlMgMSIgPj5jb25mZGVmcy5o
Ci0KLWZpCi0KLSMgT24gSVJJWCA1LjMsIHN5cy90eXBlcyBhbmQgaW50dHlwZXMuaCBhcmUgY29u
ZmxpY3RpbmcuCi1mb3IgYWNfaGVhZGVyIGluIHN5cy90eXBlcy5oIHN5cy9zdGF0Lmggc3RkbGli
Lmggc3RyaW5nLmggbWVtb3J5Lmggc3RyaW5ncy5oIFwKLQkJICBpbnR0eXBlcy5oIHN0ZGludC5o
IHVuaXN0ZC5oCi1kbyA6Ci0gIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8k
YWNfaGVhZGVyIiB8ICRhc190cl9zaGAKLWFjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgIiRM
SU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiRhY19pbmNsdWRlc19kZWZhdWx0
Ci0iCi1pZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX0hlYWRlciJcIiA9IHgieWVzIjsgdGhlbiA6
Ci0gIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgYCRhc19lY2hvICJIQVZFXyRh
Y19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQotX0FDRU9GCi0KLWZpCi0KLWRvbmUKLQotCi0KLSAg
YWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIgIm1pbml4L2NvbmZpZy5oIiAi
YWNfY3ZfaGVhZGVyX21pbml4X2NvbmZpZ19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0
ZXN0ICJ4JGFjX2N2X2hlYWRlcl9taW5peF9jb25maWdfaCIgPSB4IiJ5ZXM7IHRoZW4gOgotICBN
SU5JWD15ZXMKLWVsc2UKLSAgTUlOSVg9Ci1maQotCi0KLSAgaWYgdGVzdCAiJE1JTklYIiA9IHll
czsgdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBfUE9TSVhfU09VUkNFIDEiID4+Y29uZmRlZnMu
aAotCi0KLSRhc19lY2hvICIjZGVmaW5lIF9QT1NJWF8xX1NPVVJDRSAyIiA+PmNvbmZkZWZzLmgK
LQotCi0kYXNfZWNobyAiI2RlZmluZSBfTUlOSVggMSIgPj5jb25mZGVmcy5oCi0KLSAgZmkKLQot
Ci0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hl
dGhlciBpdCBpcyBzYWZlIHRvIGRlZmluZSBfX0VYVEVOU0lPTlNfXyIgPiY1Ci0kYXNfZWNob19u
ICJjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5TSU9OU19fLi4u
ICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19f
K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UK
LSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLwotCi0jCSAgZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKLQkgICRhY19pbmNs
dWRlc19kZWZhdWx0Ci1pbnQKLW1haW4gKCkKLXsKLQotICA7Ci0gIHJldHVybiAwOwotfQotX0FD
RU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X3Nh
ZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fPXllcwotZWxzZQotICBhY19jdl9zYWZlX3RvX2Rl
ZmluZV9fX2V4dGVuc2lvbnNfXz1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0
ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotZmkKLXsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3Zfc2FmZV90b19kZWZpbmVfX19leHRl
bnNpb25zX18iID4mNQotJGFzX2VjaG8gIiRhY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4dGVuc2lv
bnNfXyIgPiY2OyB9Ci0gIHRlc3QgJGFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19f
ID0geWVzICYmCi0gICAgJGFzX2VjaG8gIiNkZWZpbmUgX19FWFRFTlNJT05TX18gMSIgPj5jb25m
ZGVmcy5oCi0KLSAgJGFzX2VjaG8gIiNkZWZpbmUgX0FMTF9TT1VSQ0UgMSIgPj5jb25mZGVmcy5o
Ci0KLSAgJGFzX2VjaG8gIiNkZWZpbmUgX0dOVV9TT1VSQ0UgMSIgPj5jb25mZGVmcy5oCi0KLSAg
JGFzX2VjaG8gIiNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEiID4+Y29uZmRlZnMu
aAotCi0gICRhc19lY2hvICIjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEiID4+Y29uZmRlZnMuaAot
Ci0KLSMgTWFrZSBzdXJlIHdlIGNhbiBydW4gY29uZmlnLnN1Yi4KLSRTSEVMTCAiJGFjX2F1eF9k
aXIvY29uZmlnLnN1YiIgc3VuNCA+L2Rldi9udWxsIDI+JjEgfHwKLSAgYXNfZm5fZXJyb3IgJD8g
ImNhbm5vdCBydW4gJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5zdWIiICIkTElORU5PIiA1Ci0K
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgYnVpbGQg
c3lzdGVtIHR5cGUiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUu
Li4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfYnVpbGQrc2V0fSIgPSBzZXQ7IHRoZW4gOgot
ICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBhY19idWlsZF9hbGlhcz0kYnVp
bGRfYWxpYXMKLXRlc3QgIngkYWNfYnVpbGRfYWxpYXMiID0geCAmJgotICBhY19idWlsZF9hbGlh
cz1gJFNIRUxMICIkYWNfYXV4X2Rpci9jb25maWcuZ3Vlc3MiYAotdGVzdCAieCRhY19idWlsZF9h
bGlhcyIgPSB4ICYmCi0gIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgZ3Vlc3MgYnVpbGQgdHlwZTsg
eW91IG11c3Qgc3BlY2lmeSBvbmUiICIkTElORU5PIiA1Ci1hY19jdl9idWlsZD1gJFNIRUxMICIk
YWNfYXV4X2Rpci9jb25maWcuc3ViIiAkYWNfYnVpbGRfYWxpYXNgIHx8Ci0gIGFzX2ZuX2Vycm9y
ICQ/ICIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLnN1YiAkYWNfYnVpbGRfYWxpYXMgZmFpbGVk
IiAiJExJTkVOTyIgNQotCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRhY19jdl9idWlsZCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2J1aWxkIiA+
JjY7IH0KLWNhc2UgJGFjX2N2X2J1aWxkIGluCi0qLSotKikgOzsKLSopIGFzX2ZuX2Vycm9yICQ/
ICJpbnZhbGlkIHZhbHVlIG9mIGNhbm9uaWNhbCBidWlsZCIgIiRMSU5FTk8iIDUgOzsKLWVzYWMK
LWJ1aWxkPSRhY19jdl9idWlsZAotYWNfc2F2ZV9JRlM9JElGUzsgSUZTPSctJwotc2V0IHggJGFj
X2N2X2J1aWxkCi1zaGlmdAotYnVpbGRfY3B1PSQxCi1idWlsZF92ZW5kb3I9JDIKLXNoaWZ0OyBz
aGlmdAotIyBSZW1lbWJlciwgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBJRlMgaXMgdXNlZCB0byBj
cmVhdGUgJCosCi0jIGV4Y2VwdCB3aXRoIG9sZCBzaGVsbHM6Ci1idWlsZF9vcz0kKgotSUZTPSRh
Y19zYXZlX0lGUwotY2FzZSAkYnVpbGRfb3MgaW4gKlwgKikgYnVpbGRfb3M9YGVjaG8gIiRidWls
ZF9vcyIgfCBzZWQgJ3MvIC8tL2cnYDs7IGVzYWMKLQotCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUiID4mNQotJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHth
Y19jdl9ob3N0K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+
JjYKLWVsc2UKLSAgaWYgdGVzdCAieCRob3N0X2FsaWFzIiA9IHg7IHRoZW4KLSAgYWNfY3ZfaG9z
dD0kYWNfY3ZfYnVpbGQKLWVsc2UKLSAgYWNfY3ZfaG9zdD1gJFNIRUxMICIkYWNfYXV4X2Rpci9j
b25maWcuc3ViIiAkaG9zdF9hbGlhc2AgfHwKLSAgICBhc19mbl9lcnJvciAkPyAiJFNIRUxMICRh
Y19hdXhfZGlyL2NvbmZpZy5zdWIgJGhvc3RfYWxpYXMgZmFpbGVkIiAiJExJTkVOTyIgNQotZmkK
LQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
YWNfY3ZfaG9zdCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2hvc3QiID4mNjsgfQotY2FzZSAkYWNf
Y3ZfaG9zdCBpbgotKi0qLSopIDs7Ci0qKSBhc19mbl9lcnJvciAkPyAiaW52YWxpZCB2YWx1ZSBv
ZiBjYW5vbmljYWwgaG9zdCIgIiRMSU5FTk8iIDUgOzsKLWVzYWMKLWhvc3Q9JGFjX2N2X2hvc3QK
LWFjX3NhdmVfSUZTPSRJRlM7IElGUz0nLScKLXNldCB4ICRhY19jdl9ob3N0Ci1zaGlmdAotaG9z
dF9jcHU9JDEKLWhvc3RfdmVuZG9yPSQyCi1zaGlmdDsgc2hpZnQKLSMgUmVtZW1iZXIsIHRoZSBm
aXJzdCBjaGFyYWN0ZXIgb2YgSUZTIGlzIHVzZWQgdG8gY3JlYXRlICQqLAotIyBleGNlcHQgd2l0
aCBvbGQgc2hlbGxzOgotaG9zdF9vcz0kKgotSUZTPSRhY19zYXZlX0lGUwotY2FzZSAkaG9zdF9v
cyBpbiAqXCAqKSBob3N0X29zPWBlY2hvICIkaG9zdF9vcyIgfCBzZWQgJ3MvIC8tL2cnYDs7IGVz
YWMKLQotCi0KLSMgTTQgTWFjcm8gaW5jbHVkZXMKLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0jIHBrZy5tNCAtIE1hY3JvcyB0byBsb2NhdGUgYW5kIHV0aWxpc2UgcGtnLWNv
bmZpZy4gICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCi0jIHNlcmlhbCAxIChwa2ctY29uZmln
LTAuMjQpCi0jCi0jIENvcHlyaWdodCDCqSAyMDA0IFNjb3R0IEphbWVzIFJlbW5hbnQgPHNjb3R0
QG5ldHNwbGl0LmNvbT4uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJv
Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBi
dXQKLSMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs
ZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0jCi0jIEFz
IGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBp
ZiB5b3UKLSMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBj
b250YWlucyBhCi0jIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwg
eW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCi0jIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0
aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KLQotIyBQS0dfUFJPR19Q
S0dfQ09ORklHKFtNSU4tVkVSU0lPTl0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgUEtHX1BST0dfUEtHX0NPTkZJRwotCi0jIFBLR19DSEVDS19FWElTVFMoTU9EVUxF
UywgW0FDVElPTi1JRi1GT1VORF0sIFtBQ1RJT04tSUYtTk9ULUZPVU5EXSkKLSMKLSMgQ2hlY2sg
dG8gc2VlIHdoZXRoZXIgYSBwYXJ0aWN1bGFyIHNldCBvZiBtb2R1bGVzIGV4aXN0cy4gIFNpbWls
YXIKLSMgdG8gUEtHX0NIRUNLX01PRFVMRVMoKSwgYnV0IGRvZXMgbm90IHNldCB2YXJpYWJsZXMg
b3IgcHJpbnQgZXJyb3JzLgotIwotIyBQbGVhc2UgcmVtZW1iZXIgdGhhdCBtNCBleHBhbmRzIEFD
X1JFUVVJUkUoW1BLR19QUk9HX1BLR19DT05GSUddKQotIyBvbmx5IGF0IHRoZSBmaXJzdCBvY2N1
cmVuY2UgaW4gY29uZmlndXJlLmFjLCBzbyBpZiB0aGUgZmlyc3QgcGxhY2UKLSMgaXQncyBjYWxs
ZWQgbWlnaHQgYmUgc2tpcHBlZCAoc3VjaCBhcyBpZiBpdCBpcyB3aXRoaW4gYW4gImlmIiwgeW91
Ci0jIGhhdmUgdG8gY2FsbCBQS0dfQ0hFQ0tfRVhJU1RTIG1hbnVhbGx5Ci0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLQot
IyBfUEtHX0NPTkZJRyhbVkFSSUFCTEVdLCBbQ09NTUFORF0sIFtNT0RVTEVTXSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIF9QS0dfQ09ORklHCi0K
LSMgX1BLR19TSE9SVF9FUlJPUlNfU1VQUE9SVEVECi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIF9QS0dfU0hPUlRfRVJST1JTX1NVUFBPUlRFRAotCi0KLSMgUEtHX0NIRUNLX01P
RFVMRVMoVkFSSUFCTEUtUFJFRklYLCBNT0RVTEVTLCBbQUNUSU9OLUlGLUZPVU5EXSwKLSMgW0FD
VElPTi1JRi1OT1QtRk9VTkRdKQotIwotIwotIyBOb3RlIHRoYXQgaWYgdGhlcmUgaXMgYSBwb3Nz
aWJpbGl0eSB0aGUgZmlyc3QgY2FsbCB0bwotIyBQS0dfQ0hFQ0tfTU9EVUxFUyBtaWdodCBub3Qg
aGFwcGVuLCB5b3Ugc2hvdWxkIGJlIHN1cmUgdG8gaW5jbHVkZSBhbgotIyBleHBsaWNpdCBjYWxs
IHRvIFBLR19QUk9HX1BLR19DT05GSUcgaW4geW91ciBjb25maWd1cmUuYWMKLSMKLSMKLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLSMgUEtHX0NIRUNLX01PRFVMRVMKLQotCi0KLSMgV2UgZGVmaW5lLCBzZXBhcmF0ZWx5LCBQ
VEhSRUFEX0NGTEFHUywgX0xERkxBR1MgYW5kIF9MSUJTCi0jIGV2ZW4gdGhvdWdoIGN1cnJlbnRs
eSB3ZSBkb24ndCBzZXQgdGhlbSB2ZXJ5IHNlcGFyYXRlbHkuCi0jIFRoaXMgbWVhbnMgdGhhdCB0
aGUgbWFrZWZpbGVzIHdpbGwgbm90IG5lZWQgdG8gY2hhbmdlIGluCi0jIHRoZSBmdXR1cmUgaWYg
d2UgbWFrZSB0aGUgdGVzdCBtb3JlIHNvcGhpc3RpY2F0ZWQuCi0KLQotCi0jIFdlIGludm9rZSBB
WF9QVEhSRUFEX1ZBUlMgd2l0aCB0aGUgbmFtZSBvZiBhbm90aGVyIG1hY3JvCi0jIHdoaWNoIGlz
IHRoZW4gZXhwYW5kZWQgb25jZSBmb3IgZWFjaCB2YXJpYWJsZS4KLQotCi0KLQotCi0KLQotCi0j
IEVuYWJsZS9kaXNhYmxlIG9wdGlvbnMKLQotIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWdpdGh0
dHAgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfZ2l0aHR0cCtzZXR9IiA9IHNldDsgdGhl
biA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxlX2dpdGh0dHA7Ci1maQotCi0KLWlmIHRlc3QgIngkZW5h
YmxlX2dpdGh0dHAiID0gInhubyI7IHRoZW4gOgotCi0gICAgYXhfY3ZfZ2l0aHR0cD0ibiIKLQot
ZWxpZiB0ZXN0ICJ4JGVuYWJsZV9naXRodHRwIiA9ICJ4eWVzIjsgdGhlbiA6Ci0KLSAgICBheF9j
dl9naXRodHRwPSJ5IgotCi1lbGlmIHRlc3QgLXogJGF4X2N2X2dpdGh0dHA7IHRoZW4gOgotCi0g
ICAgYXhfY3ZfZ2l0aHR0cD0ibiIKLQotZmkKLWdpdGh0dHA9JGF4X2N2X2dpdGh0dHAKLQotCi0K
LSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1tb25pdG9ycyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIk
e2VuYWJsZV9tb25pdG9ycytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxl
X21vbml0b3JzOwotZmkKLQotCi1pZiB0ZXN0ICJ4JGVuYWJsZV9tb25pdG9ycyIgPSAieG5vIjsg
dGhlbiA6Ci0KLSAgICBheF9jdl9tb25pdG9ycz0ibiIKLQotZWxpZiB0ZXN0ICJ4JGVuYWJsZV9t
b25pdG9ycyIgPSAieHllcyI7IHRoZW4gOgotCi0gICAgYXhfY3ZfbW9uaXRvcnM9InkiCi0KLWVs
aWYgdGVzdCAteiAkYXhfY3ZfbW9uaXRvcnM7IHRoZW4gOgotCi0gICAgYXhfY3ZfbW9uaXRvcnM9
InkiCi0KLWZpCi1tb25pdG9ycz0kYXhfY3ZfbW9uaXRvcnMKLQotCi0KLSMgQ2hlY2sgd2hldGhl
ciAtLWVuYWJsZS12dHBtIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX3Z0cG0rc2V0fSIg
PSBzZXQ7IHRoZW4gOgotICBlbmFibGV2YWw9JGVuYWJsZV92dHBtOwotZmkKLQotCi1pZiB0ZXN0
ICJ4JGVuYWJsZV92dHBtIiA9ICJ4bm8iOyB0aGVuIDoKLQotICAgIGF4X2N2X3Z0cG09Im4iCi0K
LWVsaWYgdGVzdCAieCRlbmFibGVfdnRwbSIgPSAieHllcyI7IHRoZW4gOgotCi0gICAgYXhfY3Zf
dnRwbT0ieSIKLQotZWxpZiB0ZXN0IC16ICRheF9jdl92dHBtOyB0aGVuIDoKLQotICAgIGF4X2N2
X3Z0cG09Im4iCi0KLWZpCi12dHBtPSRheF9jdl92dHBtCi0KLQotCi0jIENoZWNrIHdoZXRoZXIg
LS1lbmFibGUteGVuYXBpIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX3hlbmFwaStzZXR9
IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxlX3hlbmFwaTsKLWZpCi0KLQotaWYg
dGVzdCAieCRlbmFibGVfeGVuYXBpIiA9ICJ4bm8iOyB0aGVuIDoKLQotICAgIGF4X2N2X3hlbmFw
aT0ibiIKLQotZWxpZiB0ZXN0ICJ4JGVuYWJsZV94ZW5hcGkiID0gInh5ZXMiOyB0aGVuIDoKLQot
ICAgIGF4X2N2X3hlbmFwaT0ieSIKLQotZWxpZiB0ZXN0IC16ICRheF9jdl94ZW5hcGk7IHRoZW4g
OgotCi0gICAgYXhfY3ZfeGVuYXBpPSJuIgotCi1maQoteGVuYXBpPSRheF9jdl94ZW5hcGkKLQot
Ci0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1weXRob250b29scyB3YXMgZ2l2ZW4uCi1pZiB0
ZXN0ICIke2VuYWJsZV9weXRob250b29scytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZh
bD0kZW5hYmxlX3B5dGhvbnRvb2xzOwotZmkKLQotCi1pZiB0ZXN0ICJ4JGVuYWJsZV9weXRob250
b29scyIgPSAieG5vIjsgdGhlbiA6Ci0KLSAgICBheF9jdl9weXRob250b29scz0ibiIKLQotZWxp
ZiB0ZXN0ICJ4JGVuYWJsZV9weXRob250b29scyIgPSAieHllcyI7IHRoZW4gOgotCi0gICAgYXhf
Y3ZfcHl0aG9udG9vbHM9InkiCi0KLWVsaWYgdGVzdCAteiAkYXhfY3ZfcHl0aG9udG9vbHM7IHRo
ZW4gOgotCi0gICAgYXhfY3ZfcHl0aG9udG9vbHM9InkiCi0KLWZpCi1weXRob250b29scz0kYXhf
Y3ZfcHl0aG9udG9vbHMKLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1vY2FtbHRvb2xz
IHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX29jYW1sdG9vbHMrc2V0fSIgPSBzZXQ7IHRo
ZW4gOgotICBlbmFibGV2YWw9JGVuYWJsZV9vY2FtbHRvb2xzOwotZmkKLQotCi1pZiB0ZXN0ICJ4
JGVuYWJsZV9vY2FtbHRvb2xzIiA9ICJ4bm8iOyB0aGVuIDoKLQotICAgIGF4X2N2X29jYW1sdG9v
bHM9Im4iCi0KLWVsaWYgdGVzdCAieCRlbmFibGVfb2NhbWx0b29scyIgPSAieHllcyI7IHRoZW4g
OgotCi0gICAgYXhfY3Zfb2NhbWx0b29scz0ieSIKLQotZWxpZiB0ZXN0IC16ICRheF9jdl9vY2Ft
bHRvb2xzOyB0aGVuIDoKLQotICAgIGF4X2N2X29jYW1sdG9vbHM9InkiCi0KLWZpCi1vY2FtbHRv
b2xzPSRheF9jdl9vY2FtbHRvb2xzCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbWlu
aXRlcm0gd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfbWluaXRlcm0rc2V0fSIgPSBzZXQ7
IHRoZW4gOgotICBlbmFibGV2YWw9JGVuYWJsZV9taW5pdGVybTsKLWZpCi0KLQotaWYgdGVzdCAi
eCRlbmFibGVfbWluaXRlcm0iID0gInhubyI7IHRoZW4gOgotCi0gICAgYXhfY3ZfbWluaXRlcm09
Im4iCi0KLWVsaWYgdGVzdCAieCRlbmFibGVfbWluaXRlcm0iID0gInh5ZXMiOyB0aGVuIDoKLQot
ICAgIGF4X2N2X21pbml0ZXJtPSJ5IgotCi1lbGlmIHRlc3QgLXogJGF4X2N2X21pbml0ZXJtOyB0
aGVuIDoKLQotICAgIGF4X2N2X21pbml0ZXJtPSJuIgotCi1maQotbWluaXRlcm09JGF4X2N2X21p
bml0ZXJtCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbG9tb3VudCB3YXMgZ2l2ZW4u
Ci1pZiB0ZXN0ICIke2VuYWJsZV9sb21vdW50K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxl
dmFsPSRlbmFibGVfbG9tb3VudDsKLWZpCi0KLQotaWYgdGVzdCAieCRlbmFibGVfbG9tb3VudCIg
PSAieG5vIjsgdGhlbiA6Ci0KLSAgICBheF9jdl9sb21vdW50PSJuIgotCi1lbGlmIHRlc3QgIngk
ZW5hYmxlX2xvbW91bnQiID0gInh5ZXMiOyB0aGVuIDoKLQotICAgIGF4X2N2X2xvbW91bnQ9Inki
Ci0KLWVsaWYgdGVzdCAteiAkYXhfY3ZfbG9tb3VudDsgdGhlbiA6Ci0KLSAgICBheF9jdl9sb21v
dW50PSJuIgotCi1maQotbG9tb3VudD0kYXhfY3ZfbG9tb3VudAotCi0KLQotIyBDaGVjayB3aGV0
aGVyIC0tZW5hYmxlLW92bWYgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfb3ZtZitzZXR9
IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxlX292bWY7Ci1maQotCi0KLWlmIHRl
c3QgIngkZW5hYmxlX292bWYiID0gInhubyI7IHRoZW4gOgotCi0gICAgYXhfY3Zfb3ZtZj0ibiIK
LQotZWxpZiB0ZXN0ICJ4JGVuYWJsZV9vdm1mIiA9ICJ4eWVzIjsgdGhlbiA6Ci0KLSAgICBheF9j
dl9vdm1mPSJ5IgotCi1lbGlmIHRlc3QgLXogJGF4X2N2X292bWY7IHRoZW4gOgotCi0gICAgYXhf
Y3Zfb3ZtZj0ibiIKLQotZmkKLW92bWY9JGF4X2N2X292bWYKKyMgTTQgTWFjcm8gaW5jbHVkZXMK
IAogCiAKLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1yb21iaW9zIHdhcyBnaXZlbi4KLWlmIHRl
c3QgIiR7ZW5hYmxlX3JvbWJpb3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICBlbmFibGV2YWw9JGVu
YWJsZV9yb21iaW9zOwotZmkKIAogCi1pZiB0ZXN0ICJ4JGVuYWJsZV9yb21iaW9zIiA9ICJ4bm8i
OyB0aGVuIDoKIAotICAgIGF4X2N2X3JvbWJpb3M9Im4iCiAKLWVsaWYgdGVzdCAieCRlbmFibGVf
cm9tYmlvcyIgPSAieHllcyI7IHRoZW4gOgogCi0gICAgYXhfY3Zfcm9tYmlvcz0ieSIKIAotZWxp
ZiB0ZXN0IC16ICRheF9jdl9yb21iaW9zOyB0aGVuIDoKIAotICAgIGF4X2N2X3JvbWJpb3M9Inki
CiAKLWZpCi1yb21iaW9zPSRheF9jdl9yb21iaW9zCiAKIAogCi0jIENoZWNrIHdoZXRoZXIgLS1l
bmFibGUtc2VhYmlvcyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9zZWFiaW9zK3NldH0i
ID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxldmFsPSRlbmFibGVfc2VhYmlvczsKLWZpCiAKIAotaWYg
dGVzdCAieCRlbmFibGVfc2VhYmlvcyIgPSAieG5vIjsgdGhlbiA6CiAKLSAgICBheF9jdl9zZWFi
aW9zPSJuIgogCi1lbGlmIHRlc3QgIngkZW5hYmxlX3NlYWJpb3MiID0gInh5ZXMiOyB0aGVuIDoK
IAotICAgIGF4X2N2X3NlYWJpb3M9InkiCiAKLWVsaWYgdGVzdCAteiAkYXhfY3Zfc2VhYmlvczsg
dGhlbiA6CiAKLSAgICBheF9jdl9zZWFiaW9zPSJ5IgogCi1maQotc2VhYmlvcz0kYXhfY3Zfc2Vh
YmlvcwogCiAKIAotIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWRlYnVnIHdhcyBnaXZlbi4KLWlm
IHRlc3QgIiR7ZW5hYmxlX2RlYnVnK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxldmFsPSRl
bmFibGVfZGVidWc7Ci1maQogCiAKLWlmIHRlc3QgIngkZW5hYmxlX2RlYnVnIiA9ICJ4bm8iOyB0
aGVuIDoKIAotICAgIGF4X2N2X2RlYnVnPSJuIgogCi1lbGlmIHRlc3QgIngkZW5hYmxlX2RlYnVn
IiA9ICJ4eWVzIjsgdGhlbiA6CiAKLSAgICBheF9jdl9kZWJ1Zz0ieSIKIAotZWxpZiB0ZXN0IC16
ICRheF9jdl9kZWJ1ZzsgdGhlbiA6CiAKLSAgICBheF9jdl9kZWJ1Zz0ieSIKIAotZmkKLWRlYnVn
PSRheF9jdl9kZWJ1ZwogCiAKIApAQCAtNDI0MCw5MzAgKzIyMjIsNDMyIEBAIGRlYnVnPSRheF9j
dl9kZWJ1ZwogCiAKIAotZm9yIGNmbGFnIGluICRQUkVQRU5EX0lOQ0xVREVTCi1kbwotICAgIFBS
RVBFTkRfQ0ZMQUdTKz0iIC1JJGNmbGFnIgotZG9uZQotZm9yIGxkZmxhZyBpbiAkUFJFUEVORF9M
SUIKLWRvCi0gICAgUFJFUEVORF9MREZMQUdTKz0iIC1MJGxkZmxhZyIKLWRvbmUKLWZvciBjZmxh
ZyBpbiAkQVBQRU5EX0lOQ0xVREVTCi1kbwotICAgIEFQUEVORF9DRkxBR1MrPSIgLUkkY2ZsYWci
Ci1kb25lCi1mb3IgbGRmbGFnIGluICRBUFBFTkRfTElCCi1kbwotICAgIEFQUEVORF9MREZMQUdT
Kz0iIC1MJGxkZmxhZyIKLWRvbmUKLUNGTEFHUz0iJFBSRVBFTkRfQ0ZMQUdTICRDRkxBR1MgJEFQ
UEVORF9DRkxBR1MiCi1MREZMQUdTPSIkUFJFUEVORF9MREZMQUdTICRMREZMQUdTICRBUFBFTkRf
TERGTEFHUyIKIAogCiAKIAogCiAKKyMgcGtnLm00IC0gTWFjcm9zIHRvIGxvY2F0ZSBhbmQgdXRp
bGlzZSBwa2ctY29uZmlnLiAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KKyMgc2VyaWFsIDEg
KHBrZy1jb25maWctMC4yNCkKKyMKKyMgQ29weXJpZ2h0IMKpIDIwMDQgU2NvdHQgSmFtZXMgUmVt
bmFudCA8c2NvdHRAbmV0c3BsaXQuY29tPi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMK
KyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsIGJ1dAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dy
YW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVT
QS4KKyMKKyMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UsIGlmIHlvdQorIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJv
Z3JhbSB0aGF0IGNvbnRhaW5zIGEKKyMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5
IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKKyMgdGhlIHNhbWUgZGlzdHJpYnV0
aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgogCisj
IFBLR19QUk9HX1BLR19DT05GSUcoW01JTi1WRVJTSU9OXSkKKyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorIyBQS0dfUFJPR19QS0dfQ09ORklHCiAKKyMgUEtHX0NIRUNLX0VY
SVNUUyhNT0RVTEVTLCBbQUNUSU9OLUlGLUZPVU5EXSwgW0FDVElPTi1JRi1OT1QtRk9VTkRdKQor
IworIyBDaGVjayB0byBzZWUgd2hldGhlciBhIHBhcnRpY3VsYXIgc2V0IG9mIG1vZHVsZXMgZXhp
c3RzLiAgU2ltaWxhcgorIyB0byBQS0dfQ0hFQ0tfTU9EVUxFUygpLCBidXQgZG9lcyBub3Qgc2V0
IHZhcmlhYmxlcyBvciBwcmludCBlcnJvcnMuCisjCisjIFBsZWFzZSByZW1lbWJlciB0aGF0IG00
IGV4cGFuZHMgQUNfUkVRVUlSRShbUEtHX1BST0dfUEtHX0NPTkZJR10pCisjIG9ubHkgYXQgdGhl
IGZpcnN0IG9jY3VyZW5jZSBpbiBjb25maWd1cmUuYWMsIHNvIGlmIHRoZSBmaXJzdCBwbGFjZQor
IyBpdCdzIGNhbGxlZCBtaWdodCBiZSBza2lwcGVkIChzdWNoIGFzIGlmIGl0IGlzIHdpdGhpbiBh
biAiaWYiLCB5b3UKKyMgaGF2ZSB0byBjYWxsIFBLR19DSEVDS19FWElTVFMgbWFudWFsbHkKKyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIAogCisjIF9QS0dfQ09ORklHKFtWQVJJQUJMRV0sIFtDT01NQU5EXSwgW01PRFVMRVNd
KQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgX1BL
R19DT05GSUcKIAorIyBfUEtHX1NIT1JUX0VSUk9SU19TVVBQT1JURUQKKyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKyMgX1BLR19TSE9SVF9FUlJPUlNfU1VQUE9SVEVECiAKIAorIyBQ
S0dfQ0hFQ0tfTU9EVUxFUyhWQVJJQUJMRS1QUkVGSVgsIE1PRFVMRVMsIFtBQ1RJT04tSUYtRk9V
TkRdLAorIyBbQUNUSU9OLUlGLU5PVC1GT1VORF0pCisjCisjCisjIE5vdGUgdGhhdCBpZiB0aGVy
ZSBpcyBhIHBvc3NpYmlsaXR5IHRoZSBmaXJzdCBjYWxsIHRvCisjIFBLR19DSEVDS19NT0RVTEVT
IG1pZ2h0IG5vdCBoYXBwZW4sIHlvdSBzaG91bGQgYmUgc3VyZSB0byBpbmNsdWRlIGFuCisjIGV4
cGxpY2l0IGNhbGwgdG8gUEtHX1BST0dfUEtHX0NPTkZJRyBpbiB5b3VyIGNvbmZpZ3VyZS5hYwor
IworIworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorIyBQS0dfQ0hFQ0tfTU9EVUxFUwogCi0jIENoZWNrcyBmb3IgcHJvZ3Jh
bXMuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZv
ciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dCIgPiY1Ci0kYXNfZWNob19uICJj
aGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gIiA+JjY7
IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9TRUQrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNf
ZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICAgICAgICAgICAgYWNfc2NyaXB0PXMvYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEvYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJi
YmJiYmJiYmJiLwotICAgICBmb3IgYWNfaSBpbiAxIDIgMyA0IDUgNiA3OyBkbwotICAgICAgIGFj
X3NjcmlwdD0iJGFjX3NjcmlwdCRhc19ubCRhY19zY3JpcHQiCi0gICAgIGRvbmUKLSAgICAgZWNo
byAiJGFjX3NjcmlwdCIgMj4vZGV2L251bGwgfCBzZWQgOTlxID5jb25mdGVzdC5zZWQKLSAgICAg
eyBhY19zY3JpcHQ9OyB1bnNldCBhY19zY3JpcHQ7fQotICAgICBpZiB0ZXN0IC16ICIkU0VEIjsg
dGhlbgotICBhY19wYXRoX1NFRF9mb3VuZD1mYWxzZQotICAjIExvb3AgdGhyb3VnaCB0aGUgdXNl
cidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAotICBhc19zYXZlX0lG
Uz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJ
RlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9y
IGFjX3Byb2cgaW4gc2VkIGdzZWQ7IGRvCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19l
eGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gICAgICBhY19wYXRoX1NFRD0iJGFzX2Rpci8kYWNf
cHJvZyRhY19leGVjX2V4dCIKLSAgICAgIHsgdGVzdCAtZiAiJGFjX3BhdGhfU0VEIiAmJiAkYXNf
dGVzdF94ICIkYWNfcGF0aF9TRUQiOyB9IHx8IGNvbnRpbnVlCi0jIENoZWNrIGZvciBHTlUgYWNf
cGF0aF9TRUQgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4KLSAgIyBDaGVjayBmb3IgR05V
ICRhY19wYXRoX1NFRAotY2FzZSBgIiRhY19wYXRoX1NFRCIgLS12ZXJzaW9uIDI+JjFgIGluCi0q
R05VKikKLSAgYWNfY3ZfcGF0aF9TRUQ9IiRhY19wYXRoX1NFRCIgYWNfcGF0aF9TRURfZm91bmQ9
Ojs7Ci0qKQotICBhY19jb3VudD0wCi0gICRhc19lY2hvX24gMDEyMzQ1Njc4OSA+ImNvbmZ0ZXN0
LmluIgotICB3aGlsZSA6Ci0gIGRvCi0gICAgY2F0ICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0Lmlu
IiA+ImNvbmZ0ZXN0LnRtcCIKLSAgICBtdiAiY29uZnRlc3QudG1wIiAiY29uZnRlc3QuaW4iCi0g
ICAgY3AgImNvbmZ0ZXN0LmluIiAiY29uZnRlc3QubmwiCi0gICAgJGFzX2VjaG8gJycgPj4gImNv
bmZ0ZXN0Lm5sIgotICAgICIkYWNfcGF0aF9TRUQiIC1mIGNvbmZ0ZXN0LnNlZCA8ICJjb25mdGVz
dC5ubCIgPiJjb25mdGVzdC5vdXQiIDI+L2Rldi9udWxsIHx8IGJyZWFrCi0gICAgZGlmZiAiY29u
ZnRlc3Qub3V0IiAiY29uZnRlc3QubmwiID4vZGV2L251bGwgMj4mMSB8fCBicmVhawotICAgIGFz
X2ZuX2FyaXRoICRhY19jb3VudCArIDEgJiYgYWNfY291bnQ9JGFzX3ZhbAotICAgIGlmIHRlc3Qg
JGFjX2NvdW50IC1ndCAke2FjX3BhdGhfU0VEX21heC0wfTsgdGhlbgotICAgICAgIyBCZXN0IG9u
ZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAgbG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCi0gICAg
ICBhY19jdl9wYXRoX1NFRD0iJGFjX3BhdGhfU0VEIgotICAgICAgYWNfcGF0aF9TRURfbWF4PSRh
Y19jb3VudAotICAgIGZpCi0gICAgIyAxMCooMl4xMCkgY2hhcnMgYXMgaW5wdXQgc2VlbXMgbW9y
ZSB0aGFuIGVub3VnaAotICAgIHRlc3QgJGFjX2NvdW50IC1ndCAxMCAmJiBicmVhawotICBkb25l
Ci0gIHJtIC1mIGNvbmZ0ZXN0LmluIGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5ubCBjb25mdGVzdC5v
dXQ7OwotZXNhYwogCi0gICAgICAkYWNfcGF0aF9TRURfZm91bmQgJiYgYnJlYWsgMwotICAgIGRv
bmUKLSAgZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCi0gIGlmIHRlc3QgLXogIiRhY19j
dl9wYXRoX1NFRCI7IHRoZW4KLSAgICBhc19mbl9lcnJvciAkPyAibm8gYWNjZXB0YWJsZSBzZWQg
Y291bGQgYmUgZm91bmQgaW4gXCRQQVRIIiAiJExJTkVOTyIgNQotICBmaQotZWxzZQotICBhY19j
dl9wYXRoX1NFRD0kU0VECi1maQogCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9wYXRoX1NFRCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2
X3BhdGhfU0VEIiA+JjY7IH0KLSBTRUQ9IiRhY19jdl9wYXRoX1NFRCIKLSAgcm0gLWYgY29uZnRl
c3Quc2VkCisjIFdlIGRlZmluZSwgc2VwYXJhdGVseSwgUFRIUkVBRF9DRkxBR1MsIF9MREZMQUdT
IGFuZCBfTElCUworIyBldmVuIHRob3VnaCBjdXJyZW50bHkgd2UgZG9uJ3Qgc2V0IHRoZW0gdmVy
eSBzZXBhcmF0ZWx5LgorIyBUaGlzIG1lYW5zIHRoYXQgdGhlIG1ha2VmaWxlcyB3aWxsIG5vdCBu
ZWVkIHRvIGNoYW5nZSBpbgorIyB0aGUgZnV0dXJlIGlmIHdlIG1ha2UgdGhlIHRlc3QgbW9yZSBz
b3BoaXN0aWNhdGVkLgogCi1hY19leHQ9YwotYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKLWFjX2Nv
bXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKLWFj
X2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxB
R1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi1hY19jb21waWxlcl9nbnU9JGFjX2N2X2Nf
Y29tcGlsZXJfZ251Ci1pZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1nY2MiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9
Z2NjOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsg
dGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4g
IiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Z2NjIgotICAgICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZT
PSRhc19zYXZlX0lGUwogCi1maQotZmkKLUNDPSRhY19jdl9wcm9nX0NDCi1pZiB0ZXN0IC1uICIk
Q0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz
dWx0OiAkQ0MiID4mNQotJGFzX2VjaG8gIiRDQyIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAi
bm8iID4mNjsgfQotZmkKIAorIyBXZSBpbnZva2UgQVhfUFRIUkVBRF9WQVJTIHdpdGggdGhlIG5h
bWUgb2YgYW5vdGhlciBtYWNybworIyB3aGljaCBpcyB0aGVuIGV4cGFuZGVkIG9uY2UgZm9yIGVh
Y2ggdmFyaWFibGUuCiAKLWZpCi1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19DQyI7IHRoZW4KLSAg
YWNfY3RfQ0M9JENDCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZ2NjIiwgc28gaXQg
Y2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBnY2M7IGFjX3dvcmQ9
JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9y
ICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4m
NjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0NDK3NldH0iID0gc2V0OyB0aGVuIDoK
LSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAtbiAiJGFjX2N0
X0NDIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfY3RfQ0MiICMgTGV0IHRoZSB1
c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRI
X1NFUEFSQVRPUgotZm9yIGFzX2RpciBpbiAkUEFUSAotZG8KLSAgSUZTPSRhc19zYXZlX0lGUwot
ICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgIGZvciBhY19leGVjX2V4dCBpbiAn
JyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICBpZiB7IHRlc3QgLWYgIiRhc19kaXIv
JGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iZ2NjIgotICAgICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZT
PSRhc19zYXZlX0lGUwogCi1maQotZmkKLWFjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCi1p
ZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQotJGFzX2VjaG8gIiRhY19jdF9D
QyIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKIAotICBpZiB0ZXN0
ICJ4JGFjX2N0X0NDIiA9IHg7IHRoZW4KLSAgICBDQz0iIgotICBlbHNlCi0gICAgY2FzZSAkY3Jv
c3NfY29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHBy
ZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6
IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30K
LWFjX3Rvb2xfd2FybmVkPXllcyA7OwotZXNhYwotICAgIENDPSRhY19jdF9DQwotICBmaQotZWxz
ZQotICBDQz0iJGFjX2N2X3Byb2dfQ0MiCi1maQogCi1pZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCi0g
ICAgICAgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAgICMgRXh0cmFj
dCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1jYyIsIHNvIGl0IGNhbiBiZSBh
IHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1jYzsg
YWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVj
a2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3Jk
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4g
OgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1uICIkQ0Mi
OyB0aGVuCi0gIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhl
IHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3Ig
YXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19k
aXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxl
X2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRo
ZW4KLSAgICBhY19jdl9wcm9nX0NDPSIke2FjX3Rvb2xfcHJlZml4fWNjIgotICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19z
YXZlX0lGUwogCi1maQotZmkKLUNDPSRhY19jdl9wcm9nX0NDCi1pZiB0ZXN0IC1uICIkQ0MiOyB0
aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
Q0MiID4mNQotJGFzX2VjaG8gIiRDQyIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4m
NjsgfQotZmkKIAogCi0gIGZpCi1maQotaWYgdGVzdCAteiAiJENDIjsgdGhlbgotICAjIEV4dHJh
Y3QgdGhlIGZpcnN0IHdvcmQgb2YgImNjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdp
dGggYXJncy4KLXNldCBkdW1teSBjYzsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9f
biAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3By
b2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgot
ZWxzZQotICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBM
ZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi0gIGFjX3Byb2dfcmVqZWN0ZWQ9
bm8KLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4g
JFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNf
ZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9u
czsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAk
YXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGlm
IHRlc3QgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID0gIi91c3IvdWNiL2NjIjsgdGhl
bgotICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCi0gICAgICAgY29udGludWUKLSAgICAgZmkK
LSAgICBhY19jdl9wcm9nX0NDPSJjYyIKLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBi
cmVhayAyCi0gIGZpCi1kb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKIAotaWYgdGVzdCAk
YWNfcHJvZ19yZWplY3RlZCA9IHllczsgdGhlbgotICAjIFdlIGZvdW5kIGEgYm9nb24gaW4gdGhl
IHBhdGgsIHNvIG1ha2Ugc3VyZSB3ZSBuZXZlciB1c2UgaXQuCi0gIHNldCBkdW1teSAkYWNfY3Zf
cHJvZ19DQwotICBzaGlmdAotICBpZiB0ZXN0ICQjICE9IDA7IHRoZW4KLSAgICAjIFdlIGNob3Nl
IGEgZGlmZmVyZW50IGNvbXBpbGVyIGZyb20gdGhlIGJvZ3VzIG9uZS4KLSAgICAjIEhvd2V2ZXIs
IGl0IGhhcyB0aGUgc2FtZSBiYXNlbmFtZSwgc28gdGhlIGJvZ29uIHdpbGwgYmUgY2hvc2VuCi0g
ICAgIyBmaXJzdCBpZiB3ZSBzZXQgQ0MgdG8ganVzdCB0aGUgYmFzZW5hbWU7IHVzZSB0aGUgZnVs
bCBmaWxlIG5hbWUuCi0gICAgc2hpZnQKLSAgICBhY19jdl9wcm9nX0NDPSIkYXNfZGlyLyRhY193
b3JkJHsxKycgJ30kQCIKLSAgZmkKLWZpCi1maQotZmkKLUNDPSRhY19jdl9wcm9nX0NDCi1pZiB0
ZXN0IC1uICIkQ0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiAkQ0MiID4mNQotJGFzX2VjaG8gIiRDQyIgPiY2OyB9Ci1lbHNlCi0gIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0k
YXNfZWNobyAibm8iID4mNjsgfQorIyBFbmFibGUvZGlzYWJsZSBvcHRpb25zCisKKyMgQ2hlY2sg
d2hldGhlciAtLWVuYWJsZS1naXRodHRwIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2dp
dGh0dHArc2V0fSIgPSBzZXQ7IHRoZW4gOgorICBlbmFibGV2YWw9JGVuYWJsZV9naXRodHRwOwog
ZmkKIAogCi1maQotaWYgdGVzdCAteiAiJENDIjsgdGhlbgotICBpZiB0ZXN0IC1uICIkYWNfdG9v
bF9wcmVmaXgiOyB0aGVuCi0gIGZvciBhY19wcm9nIGluIGNsLmV4ZQotICBkbwotICAgICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciLCBzbyBpdCBj
YW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICRhY190b29sX3ByZWZp
eCRhY19wcm9nOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBm
b3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9
IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRl
c3QgLW4gIiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBv
dmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBB
UkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVz
dCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFj
X2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfQ0M9IiRhY190b29sX3ByZWZpeCRhY19wcm9n
IgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19k
aXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAg
ZG9uZQotSUZTPSRhc19zYXZlX0lGUworaWYgdGVzdCAieCRlbmFibGVfZ2l0aHR0cCIgPSAieG5v
IjsgdGhlbiA6CiAKLWZpCi1maQotQ0M9JGFjX2N2X3Byb2dfQ0MKLWlmIHRlc3QgLW4gIiRDQyI7
IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRDQyIgPiY1Ci0kYXNfZWNobyAiJENDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIg
PiY2OyB9Ci1maQorICAgIGF4X2N2X2dpdGh0dHA9Im4iCiAKK2VsaWYgdGVzdCAieCRlbmFibGVf
Z2l0aHR0cCIgPSAieHllcyI7IHRoZW4gOgogCi0gICAgdGVzdCAtbiAiJENDIiAmJiBicmVhawot
ICBkb25lCi1maQotaWYgdGVzdCAteiAiJENDIjsgdGhlbgotICBhY19jdF9DQz0kQ0MKLSAgZm9y
IGFjX3Byb2cgaW4gY2wuZXhlCi1kbwotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRh
Y19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1t
eSAkYWNfcHJvZzsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mr
c2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQot
ICBpZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRh
Y19jdF9DQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZl
X0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwot
ICBJRlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAg
Zm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlm
IHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2Fj
X2N0X0NDPSIkYWNfcHJvZyIKLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBicmVhayAy
Ci0gIGZpCi1kb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKKyAgICBheF9jdl9naXRodHRw
PSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X2dpdGh0dHA7IHRoZW4gOgorCisgICAgYXhfY3Zf
Z2l0aHR0cD0ibiIKIAogZmkKLWZpCi1hY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQwotaWYg
dGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X0NDIiA+JjUKLSRhc19lY2hvICIkYWNfY3RfQ0Mi
ID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLWZpCitnaXRodHRwPSRheF9j
dl9naXRodHRwCiAKIAotICB0ZXN0IC1uICIkYWNfY3RfQ0MiICYmIGJyZWFrCi1kb25lCiAKLSAg
aWYgdGVzdCAieCRhY19jdF9DQyIgPSB4OyB0aGVuCi0gICAgQ0M9IiIKLSAgZWxzZQotICAgIGNh
c2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KLXllczopCi17ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xz
IG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1Ci0kYXNfZWNobyAiJGFzX21lOiBX
QVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQi
ID4mMjt9Ci1hY190b29sX3dhcm5lZD15ZXMgOzsKLWVzYWMKLSAgICBDQz0kYWNfY3RfQ0MKLSAg
ZmkKKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1tb25pdG9ycyB3YXMgZ2l2ZW4uCitpZiB0ZXN0
ICIke2VuYWJsZV9tb25pdG9ycytzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5h
YmxlX21vbml0b3JzOwogZmkKIAotZmkKIAoraWYgdGVzdCAieCRlbmFibGVfbW9uaXRvcnMiID0g
InhubyI7IHRoZW4gOgogCi10ZXN0IC16ICIkQ0MiICYmIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2VjaG8g
IiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8gIm5v
IGFjY2VwdGFibGUgQyBjb21waWxlciBmb3VuZCBpbiBcJFBBVEgKLVNlZSBcYGNvbmZpZy5sb2cn
IGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQorICAgIGF4X2N2X21vbml0b3JzPSJu
IgogCi0jIFByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tcGlsZXIuCi0kYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgQyBjb21waWxl
ciB2ZXJzaW9uIiA+JjUKLXNldCBYICRhY19jb21waWxlCi1hY19jb21waWxlcj0kMgotZm9yIGFj
X29wdGlvbiBpbiAtLXZlcnNpb24gLXYgLVYgLXF2ZXJzaW9uOyBkbwotICB7IHsgYWNfdHJ5PSIk
YWNfY29tcGlsZXIgJGFjX29wdGlvbiA+JjUiCi1jYXNlICIoKCRhY190cnkiIGluCi0gICpcIiog
fCAqXGAqIHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OwotICAqKSBhY190cnlfZWNobz0k
YWNfdHJ5OzsKLWVzYWMKLWV2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogJGFjX3RyeV9lY2hvXCIiCi0kYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsgfSA+JjUK
LSAgKGV2YWwgIiRhY19jb21waWxlciAkYWNfb3B0aW9uID4mNSIpIDI+Y29uZnRlc3QuZXJyCi0g
IGFjX3N0YXR1cz0kPwotICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgotICAgIHNlZCAn
MTBhXAotLi4uIHJlc3Qgb2Ygc3RkZXJyIG91dHB1dCBkZWxldGVkIC4uLgotICAgICAgICAgMTBx
JyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMQotICAgIGNhdCBjb25mdGVzdC5lcjEgPiY1Ci0g
IGZpCi0gIHJtIC1mIGNvbmZ0ZXN0LmVyMSBjb25mdGVzdC5lcnIKLSAgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1Ci0gIHRlc3QgJGFj
X3N0YXR1cyA9IDA7IH0KLWRvbmUKK2VsaWYgdGVzdCAieCRlbmFibGVfbW9uaXRvcnMiID0gInh5
ZXMiOyB0aGVuIDoKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj
aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2NfY29tcGlsZXJfZ251K3NldH0iID0gc2V0
OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2F0IGNvbmZk
ZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAq
LworICAgIGF4X2N2X21vbml0b3JzPSJ5IgogCi1pbnQKLW1haW4gKCkKLXsKLSNpZm5kZWYgX19H
TlVDX18KLSAgICAgICBjaG9rZSBtZQotI2VuZGlmCitlbGlmIHRlc3QgLXogJGF4X2N2X21vbml0
b3JzOyB0aGVuIDoKIAotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3Ry
eV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2NvbXBpbGVyX2dudT15ZXMKLWVsc2UK
LSAgYWNfY29tcGlsZXJfZ251PW5vCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRl
c3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1hY19jdl9jX2NvbXBpbGVyX2dudT0kYWNf
Y29tcGlsZXJfZ251CisgICAgYXhfY3ZfbW9uaXRvcnM9InkiCiAKIGZpCi17ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2NfY29tcGlsZXJfZ251
IiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNjsgfQotaWYgdGVzdCAk
YWNfY29tcGlsZXJfZ251ID0geWVzOyB0aGVuCi0gIEdDQz15ZXMKLWVsc2UKLSAgR0NDPQotZmkK
LWFjX3Rlc3RfQ0ZMQUdTPSR7Q0ZMQUdTK3NldH0KLWFjX3NhdmVfQ0ZMQUdTPSRDRkxBR1MKLXsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciAk
Q0MgYWNjZXB0cyAtZyIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICRDQyBhY2Nl
cHRzIC1nLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfY2NfZytzZXR9IiA9IHNl
dDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFjX3NhdmVf
Y193ZXJyb3JfZmxhZz0kYWNfY193ZXJyb3JfZmxhZwotICAgYWNfY193ZXJyb3JfZmxhZz15ZXMK
LSAgIGFjX2N2X3Byb2dfY2NfZz1ubwotICAgQ0ZMQUdTPSItZyIKLSAgIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KK21v
bml0b3JzPSRheF9jdl9tb25pdG9ycwogCi1pbnQKLW1haW4gKCkKLXsKIAotICA7Ci0gIHJldHVy
biAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6
Ci0gIGFjX2N2X3Byb2dfY2NfZz15ZXMKLWVsc2UKLSAgQ0ZMQUdTPSIiCi0gICAgICBjYXQgY29u
ZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4g
ICovCiAKLWludAotbWFpbiAoKQoteworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXZ0cG0gd2Fz
IGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfdnRwbStzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVu
YWJsZXZhbD0kZW5hYmxlX3Z0cG07CitmaQogCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YK
LWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKIAotZWxzZQotICBhY19j
X3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKLQkgQ0ZMQUdTPSItZyIKLQkgY2F0
IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZz
LmguICAqLworaWYgdGVzdCAieCRlbmFibGVfdnRwbSIgPSAieG5vIjsgdGhlbiA6CiAKLWludAot
bWFpbiAoKQoteworICAgIGF4X2N2X3Z0cG09Im4iCisKK2VsaWYgdGVzdCAieCRlbmFibGVfdnRw
bSIgPSAieHllcyI7IHRoZW4gOgorCisgICAgYXhfY3ZfdnRwbT0ieSIKKworZWxpZiB0ZXN0IC16
ICRheF9jdl92dHBtOyB0aGVuIDoKKworICAgIGF4X2N2X3Z0cG09Im4iCiAKLSAgOwotICByZXR1
cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4g
OgotICBhY19jdl9wcm9nX2NjX2c9eWVzCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29u
ZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1maQotcm0gLWYgY29yZSBjb25mdGVz
dC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1maQotcm0gLWYgY29y
ZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0gICBh
Y19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKLWZpCi17ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3Byb2dfY2NfZyIgPiY1
Ci0kYXNfZWNobyAiJGFjX2N2X3Byb2dfY2NfZyIgPiY2OyB9Ci1pZiB0ZXN0ICIkYWNfdGVzdF9D
RkxBR1MiID0gc2V0OyB0aGVuCi0gIENGTEFHUz0kYWNfc2F2ZV9DRkxBR1MKLWVsaWYgdGVzdCAk
YWNfY3ZfcHJvZ19jY19nID0geWVzOyB0aGVuCi0gIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVu
Ci0gICAgQ0ZMQUdTPSItZyAtTzIiCi0gIGVsc2UKLSAgICBDRkxBR1M9Ii1nIgotICBmaQotZWxz
ZQotICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgotICAgIENGTEFHUz0iLU8yIgotICBlbHNl
Ci0gICAgQ0ZMQUdTPQotICBmaQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogY2hlY2tpbmcgZm9yICRDQyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkiID4mNQot
JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRDQyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19jY19jODkrc2V0fSIgPSBzZXQ7IHRoZW4g
OgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBhY19jdl9wcm9nX2NjX2M4
OT1ubwotYWNfc2F2ZV9DQz0kQ0MKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0
LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNp
bmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9z
dGF0Lmg+Ci0vKiBNb3N0IG9mIHRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIHN0b2xlbiBmcm9tIFJD
UyA1LjcncyBzcmMvY29uZi5zaC4gICovCi1zdHJ1Y3QgYnVmIHsgaW50IHg7IH07Ci1GSUxFICog
KCpyY3NvcGVuKSAoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpOwotc3RhdGljIGNo
YXIgKmUgKHAsIGkpCi0gICAgIGNoYXIgKipwOwotICAgICBpbnQgaTsKLXsKLSAgcmV0dXJuIHBb
aV07Ci19Ci1zdGF0aWMgY2hhciAqZiAoY2hhciAqICgqZykgKGNoYXIgKiosIGludCksIGNoYXIg
KipwLCAuLi4pCi17Ci0gIGNoYXIgKnM7Ci0gIHZhX2xpc3QgdjsKLSAgdmFfc3RhcnQgKHYscCk7
Ci0gIHMgPSBnIChwLCB2YV9hcmcgKHYsaW50KSk7Ci0gIHZhX2VuZCAodik7Ci0gIHJldHVybiBz
OwotfQordnRwbT0kYXhfY3ZfdnRwbQogCi0vKiBPU0YgNC4wIENvbXBhcSBjYyBpcyBzb21lIHNv
cnQgb2YgYWxtb3N0LUFOU0kgYnkgZGVmYXVsdC4gIEl0IGhhcwotICAgZnVuY3Rpb24gcHJvdG90
eXBlcyBhbmQgc3R1ZmYsIGJ1dCBub3QgJ1x4SEgnIGhleCBjaGFyYWN0ZXIgY29uc3RhbnRzLgot
ICAgVGhlc2UgZG9uJ3QgcHJvdm9rZSBhbiBlcnJvciB1bmZvcnR1bmF0ZWx5LCBpbnN0ZWFkIGFy
ZSBzaWxlbnRseSB0cmVhdGVkCi0gICBhcyAneCcuICBUaGUgZm9sbG93aW5nIGluZHVjZXMgYW4g
ZXJyb3IsIHVudGlsIC1zdGQgaXMgYWRkZWQgdG8gZ2V0Ci0gICBwcm9wZXIgQU5TSSBtb2RlLiAg
Q3VyaW91c2x5ICdceDAwJyE9J3gnIGFsd2F5cyBjb21lcyBvdXQgdHJ1ZSwgZm9yIGFuCi0gICBh
cnJheSBzaXplIGF0IGxlYXN0LiAgSXQncyBuZWNlc3NhcnkgdG8gd3JpdGUgJ1x4MDAnPT0wIHRv
IGdldCBzb21ldGhpbmcKLSAgIHRoYXQncyB0cnVlIG9ubHkgd2l0aCAtc3RkLiAgKi8KLWludCBv
c2Y0X2NjX2FycmF5IFsnXHgwMCcgPT0gMCA/IDEgOiAtMV07CiAKLS8qIElCTSBDIDYgZm9yIEFJ
WCBpcyBhbG1vc3QtQU5TSSBieSBkZWZhdWx0LCBidXQgaXQgcmVwbGFjZXMgbWFjcm8gcGFyYW1l
dGVycwotICAgaW5zaWRlIHN0cmluZ3MgYW5kIGNoYXJhY3RlciBjb25zdGFudHMuICAqLwotI2Rl
ZmluZSBGT08oeCkgJ3gnCi1pbnQgeGxjNl9jY19hcnJheVtGT08oYSkgPT0gJ3gnID8gMSA6IC0x
XTsKIAotaW50IHRlc3QgKGludCBpLCBkb3VibGUgeCk7Ci1zdHJ1Y3QgczEge2ludCAoKmYpIChp
bnQgYSk7fTsKLXN0cnVjdCBzMiB7aW50ICgqZikgKGRvdWJsZSBhKTt9OwotaW50IHBhaXJuYW1l
cyAoaW50LCBjaGFyICoqLCBGSUxFICooKikoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBp
bnQpLCBpbnQsIGludCk7Ci1pbnQgYXJnYzsKLWNoYXIgKiphcmd2OwotaW50Ci1tYWluICgpCi17
Ci1yZXR1cm4gZiAoZSwgYXJndiwgMCkgIT0gYXJndlswXSAgfHwgIGYgKGUsIGFyZ3YsIDEpICE9
IGFyZ3ZbMV07Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWZvciBhY19hcmcgaW4gJycg
LXFsYW5nbHZsPWV4dGM4OSAtcWxhbmdsdmw9YW5zaSAtc3RkIFwKLQktQWUgIi1BYSAtRF9IUFVY
X1NPVVJDRSIgIi1YYyAtRF9fRVhURU5TSU9OU19fIgotZG8KLSAgQ0M9IiRhY19zYXZlX0NDICRh
Y19hcmciCi0gIGlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNf
Y3ZfcHJvZ19jY19jODk9JGFjX2FyZworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXhlbmFwaSB3
YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV94ZW5hcGkrc2V0fSIgPSBzZXQ7IHRoZW4gOgor
ICBlbmFibGV2YWw9JGVuYWJsZV94ZW5hcGk7CiBmaQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIg
Y29uZnRlc3QuJGFjX29iamV4dAotICB0ZXN0ICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiAhPSAieG5v
IiAmJiBicmVhawotZG9uZQotcm0gLWYgY29uZnRlc3QuJGFjX2V4dAotQ0M9JGFjX3NhdmVfQ0MK
KworCitpZiB0ZXN0ICJ4JGVuYWJsZV94ZW5hcGkiID0gInhubyI7IHRoZW4gOgorCisgICAgYXhf
Y3ZfeGVuYXBpPSJuIgorCitlbGlmIHRlc3QgIngkZW5hYmxlX3hlbmFwaSIgPSAieHllcyI7IHRo
ZW4gOgorCisgICAgYXhfY3ZfeGVuYXBpPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X3hlbmFw
aTsgdGhlbiA6CisKKyAgICBheF9jdl94ZW5hcGk9Im4iCiAKIGZpCi0jIEFDX0NBQ0hFX1ZBTAot
Y2FzZSAieCRhY19jdl9wcm9nX2NjX2M4OSIgaW4KLSAgeCkKLSAgICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm9uZSBuZWVkZWQiID4mNQotJGFzX2Vj
aG8gIm5vbmUgbmVlZGVkIiA+JjY7IH0gOzsKLSAgeG5vKQotICAgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB1bnN1cHBvcnRlZCIgPiY1Ci0kYXNfZWNo
byAidW5zdXBwb3J0ZWQiID4mNjsgfSA7OwotICAqKQotICAgIENDPSIkQ0MgJGFjX2N2X3Byb2df
Y2NfYzg5IgotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz
dWx0OiAkYWNfY3ZfcHJvZ19jY19jODkiID4mNQotJGFzX2VjaG8gIiRhY19jdl9wcm9nX2NjX2M4
OSIgPiY2OyB9IDs7Ci1lc2FjCi1pZiB0ZXN0ICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiAhPSB4bm87
IHRoZW4gOgoreGVuYXBpPSRheF9jdl94ZW5hcGkKKwogCisKKyMgQ2hlY2sgd2hldGhlciAtLWVu
YWJsZS1weXRob250b29scyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9weXRob250b29s
cytzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5hYmxlX3B5dGhvbnRvb2xzOwog
ZmkKIAotYWNfZXh0PWMKLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCi1hY19jb21waWxlPSckQ0Mg
LWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi1hY19saW5rPSckQ0Mg
LW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0
LiRhY19leHQgJExJQlMgPiY1JwotYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2du
dQogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdo
ZXRoZXIgbG4gLXMgd29ya3MiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciBsbiAt
cyB3b3Jrcy4uLiAiID4mNjsgfQotTE5fUz0kYXNfbG5fcwotaWYgdGVzdCAiJExOX1MiID0gImxu
IC1zIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5ZXMiID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8sIHVzaW5nICRMTl9TIiA+
JjUKLSRhc19lY2hvICJubywgdXNpbmcgJExOX1MiID4mNjsgfQoraWYgdGVzdCAieCRlbmFibGVf
cHl0aG9udG9vbHMiID0gInhubyI7IHRoZW4gOgorCisgICAgYXhfY3ZfcHl0aG9udG9vbHM9Im4i
CisKK2VsaWYgdGVzdCAieCRlbmFibGVfcHl0aG9udG9vbHMiID0gInh5ZXMiOyB0aGVuIDoKKwor
ICAgIGF4X2N2X3B5dGhvbnRvb2xzPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X3B5dGhvbnRv
b2xzOyB0aGVuIDoKKworICAgIGF4X2N2X3B5dGhvbnRvb2xzPSJ5IgorCiBmaQorcHl0aG9udG9v
bHM9JGF4X2N2X3B5dGhvbnRvb2xzCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogY2hlY2tpbmcgd2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBcJChNQUtFKSIgPiY1
Ci0kYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICR7TUFLRS1tYWtlfSBzZXRzIFwkKE1BS0Up
Li4uICIgPiY2OyB9Ci1zZXQgeCAke01BS0UtbWFrZX0KLWFjX21ha2U9YCRhc19lY2hvICIkMiIg
fCBzZWQgJ3MvKy9wL2c7IHMvW15hLXpBLVowLTlfXS9fL2cnYAotaWYgZXZhbCAidGVzdCBcIlwk
e2FjX2N2X3Byb2dfbWFrZV8ke2FjX21ha2V9X3NldCtzZXR9XCIiID0gc2V0OyB0aGVuIDoKLSAg
JGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2F0ID5jb25mdGVzdC5tYWtlIDw8
XF9BQ0VPRgotU0hFTEwgPSAvYmluL3NoCi1hbGw6Ci0JQGVjaG8gJ0BAQCUlJT0kKE1BS0UpPUBA
QCUlJScKLV9BQ0VPRgotIyBHTlUgbWFrZSBzb21ldGltZXMgcHJpbnRzICJtYWtlWzFdOiBFbnRl
cmluZyAuLi4iLCB3aGljaCB3b3VsZCBjb25mdXNlIHVzLgotY2FzZSBgJHtNQUtFLW1ha2V9IC1m
IGNvbmZ0ZXN0Lm1ha2UgMj4vZGV2L251bGxgIGluCi0gICpAQEAlJSU9Pyo9QEBAJSUlKikKLSAg
ICBldmFsIGFjX2N2X3Byb2dfbWFrZV8ke2FjX21ha2V9X3NldD15ZXM7OwotICAqKQotICAgIGV2
YWwgYWNfY3ZfcHJvZ19tYWtlXyR7YWNfbWFrZX1fc2V0PW5vOzsKLWVzYWMKLXJtIC1mIGNvbmZ0
ZXN0Lm1ha2UKKworCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtb2NhbWx0b29scyB3YXMgZ2l2
ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9vY2FtbHRvb2xzK3NldH0iID0gc2V0OyB0aGVuIDoKKyAg
ZW5hYmxldmFsPSRlbmFibGVfb2NhbWx0b29sczsKIGZpCi1pZiBldmFsIHRlc3QgXCRhY19jdl9w
cm9nX21ha2VfJHthY19tYWtlfV9zZXQgPSB5ZXM7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1Ci0kYXNfZWNobyAieWVzIiA+
JjY7IH0KLSAgU0VUX01BS0U9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotICBTRVRf
TUFLRT0iTUFLRT0ke01BS0UtbWFrZX0iCisKKworaWYgdGVzdCAieCRlbmFibGVfb2NhbWx0b29s
cyIgPSAieG5vIjsgdGhlbiA6CisKKyAgICBheF9jdl9vY2FtbHRvb2xzPSJuIgorCitlbGlmIHRl
c3QgIngkZW5hYmxlX29jYW1sdG9vbHMiID0gInh5ZXMiOyB0aGVuIDoKKworICAgIGF4X2N2X29j
YW1sdG9vbHM9InkiCisKK2VsaWYgdGVzdCAteiAkYXhfY3Zfb2NhbWx0b29sczsgdGhlbiA6CisK
KyAgICBheF9jdl9vY2FtbHRvb2xzPSJ5IgorCiBmaQorb2NhbWx0b29scz0kYXhfY3Zfb2NhbWx0
b29scwogCi0jIEZpbmQgYSBnb29kIGluc3RhbGwgcHJvZ3JhbS4gIFdlIHByZWZlciBhIEMgcHJv
Z3JhbSAoZmFzdGVyKSwKLSMgc28gb25lIHNjcmlwdCBpcyBhcyBnb29kIGFzIGFub3RoZXIuICBC
dXQgYXZvaWQgdGhlIGJyb2tlbiBvcgotIyBpbmNvbXBhdGlibGUgdmVyc2lvbnM6Ci0jIFN5c1Yg
L2V0Yy9pbnN0YWxsLCAvdXNyL3NiaW4vaW5zdGFsbAotIyBTdW5PUyAvdXNyL2V0Yy9pbnN0YWxs
Ci0jIElSSVggL3NiaW4vaW5zdGFsbAotIyBBSVggL2Jpbi9pbnN0YWxsCi0jIEFtaWdhT1MgL0Mv
aW5zdGFsbCwgd2hpY2ggaW5zdGFsbHMgYm9vdGJsb2NrcyBvbiBmbG9wcHkgZGlzY3MKLSMgQUlY
IDQgL3Vzci9iaW4vaW5zdGFsbGJzZCwgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGhvdXQgYSAtZyBm
bGFnCi0jIEFGUyAvdXNyL2Fmc3dzL2Jpbi9pbnN0YWxsLCB3aGljaCBtaXNoYW5kbGVzIG5vbmV4
aXN0ZW50IGFyZ3MKLSMgU1ZSNCAvdXNyL3VjYi9pbnN0YWxsLCB3aGljaCB0cmllcyB0byB1c2Ug
dGhlIG5vbmV4aXN0ZW50IGdyb3VwICJzdGFmZiIKLSMgT1MvMidzIHN5c3RlbSBpbnN0YWxsLCB3
aGljaCBoYXMgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBzZW1hbnRpYwotIyAuL2luc3RhbGwsIHdo
aWNoIGNhbiBiZSBlcnJvbmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAuL2luc3RhbGwuc2gu
Ci0jIFJlamVjdCBpbnN0YWxsIHByb2dyYW1zIHRoYXQgY2Fubm90IGluc3RhbGwgbXVsdGlwbGUg
ZmlsZXMuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAiID4mNjsgfQotaWYgdGVzdCAteiAiJElO
U1RBTEwiOyB0aGVuCi1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsg
dGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFzX3NhdmVfSUZT
PSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElG
Uz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICAjIEFj
Y291bnQgZm9yIHBlb3BsZSB3aG8gcHV0IHRyYWlsaW5nIHNsYXNoZXMgaW4gUEFUSCBlbGVtZW50
cy4KLWNhc2UgJGFzX2Rpci8gaW4gIygoCi0gIC4vIHwgLi8vIHwgL1tjQ10vKiB8IFwKLSAgL2V0
Yy8qIHwgL3Vzci9zYmluLyogfCAvdXNyL2V0Yy8qIHwgL3NiaW4vKiB8IC91c3IvYWZzd3MvYmlu
LyogfCBcCi0gID86W1xcL11vczJbXFwvXWluc3RhbGxbXFwvXSogfCA/OltcXC9dT1MyW1xcL11J
TlNUQUxMW1xcL10qIHwgXAotICAvdXNyL3VjYi8qICkgOzsKLSAgKikKLSAgICAjIE9TRjEgYW5k
IFNDTyBPRFQgMy4wIGhhdmUgdGhlaXIgb3duIG5hbWVzIGZvciBpbnN0YWxsLgotICAgICMgRG9u
J3QgdXNlIGluc3RhbGxic2QgZnJvbSBPU0Ygc2luY2UgaXQgaW5zdGFsbHMgc3R1ZmYgYXMgcm9v
dAotICAgICMgYnkgZGVmYXVsdC4KLSAgICBmb3IgYWNfcHJvZyBpbiBnaW5zdGFsbCBzY29pbnN0
IGluc3RhbGw7IGRvCi0gICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVf
ZXh0ZW5zaW9uczsgZG8KLQlpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19l
eHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiOyB9OyB0aGVu
Ci0JICBpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgotCSAgICBncmVwIGRzcG1zZyAiJGFz
X2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCi0JICAgICMg
QUlYIGluc3RhbGwuICBJdCBoYXMgYW4gaW5jb21wYXRpYmxlIGNhbGxpbmcgY29udmVudGlvbi4K
LQkgICAgOgotCSAgZWxpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgotCSAgICBncmVwIHB3
cGx1cyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
Ci0JICAgICMgcHJvZ3JhbS1zcGVjaWZpYyBpbnN0YWxsIHNjcmlwdCB1c2VkIGJ5IEhQIHB3cGx1
cy0tZG9uJ3QgdXNlLgotCSAgICA6Ci0JICBlbHNlCi0JICAgIHJtIC1yZiBjb25mdGVzdC5vbmUg
Y29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgotCSAgICBlY2hvIG9uZSA+IGNvbmZ0ZXN0Lm9uZQot
CSAgICBlY2hvIHR3byA+IGNvbmZ0ZXN0LnR3bwotCSAgICBta2RpciBjb25mdGVzdC5kaXIKLQkg
ICAgaWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiIC1jIGNvbmZ0ZXN0Lm9uZSBjb25m
dGVzdC50d28gImBwd2RgL2NvbmZ0ZXN0LmRpciIgJiYKLQkgICAgICB0ZXN0IC1zIGNvbmZ0ZXN0
Lm9uZSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0LnR3byAmJgotCSAgICAgIHRlc3QgLXMgY29uZnRlc3Qu
ZGlyL2NvbmZ0ZXN0Lm9uZSAmJgotCSAgICAgIHRlc3QgLXMgY29uZnRlc3QuZGlyL2NvbmZ0ZXN0
LnR3bwotCSAgICB0aGVuCi0JICAgICAgYWNfY3ZfcGF0aF9pbnN0YWxsPSIkYXNfZGlyLyRhY19w
cm9nJGFjX2V4ZWNfZXh0IC1jIgotCSAgICAgIGJyZWFrIDMKLQkgICAgZmkKLQkgIGZpCi0JZmkK
LSAgICAgIGRvbmUKLSAgICBkb25lCi0gICAgOzsKLWVzYWMKIAotICBkb25lCi1JRlM9JGFzX3Nh
dmVfSUZTCiAKLXJtIC1yZiBjb25mdGVzdC5vbmUgY29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgor
IyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLW1pbml0ZXJtIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7
ZW5hYmxlX21pbml0ZXJtK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgZW5hYmxldmFsPSRlbmFibGVf
bWluaXRlcm07CitmaQorCisKK2lmIHRlc3QgIngkZW5hYmxlX21pbml0ZXJtIiA9ICJ4bm8iOyB0
aGVuIDoKKworICAgIGF4X2N2X21pbml0ZXJtPSJuIgorCitlbGlmIHRlc3QgIngkZW5hYmxlX21p
bml0ZXJtIiA9ICJ4eWVzIjsgdGhlbiA6CisKKyAgICBheF9jdl9taW5pdGVybT0ieSIKKworZWxp
ZiB0ZXN0IC16ICRheF9jdl9taW5pdGVybTsgdGhlbiA6CisKKyAgICBheF9jdl9taW5pdGVybT0i
biIKIAogZmkKLSAgaWYgdGVzdCAiJHthY19jdl9wYXRoX2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRo
ZW4KLSAgICBJTlNUQUxMPSRhY19jdl9wYXRoX2luc3RhbGwKLSAgZWxzZQotICAgICMgQXMgYSBs
YXN0IHJlc29ydCwgdXNlIHRoZSBzbG93IHNoZWxsIHNjcmlwdC4gIERvbid0IGNhY2hlIGEKLSAg
ICAjIHZhbHVlIGZvciBJTlNUQUxMIHdpdGhpbiBhIHNvdXJjZSBkaXJlY3RvcnksIGJlY2F1c2Ug
dGhhdCB3aWxsCi0gICAgIyBicmVhayBvdGhlciBwYWNrYWdlcyB1c2luZyB0aGUgY2FjaGUgaWYg
dGhhdCBkaXJlY3RvcnkgaXMKLSAgICAjIHJlbW92ZWQsIG9yIGlmIHRoZSB2YWx1ZSBpcyBhIHJl
bGF0aXZlIG5hbWUuCi0gICAgSU5TVEFMTD0kYWNfaW5zdGFsbF9zaAotICBmaQorbWluaXRlcm09
JGF4X2N2X21pbml0ZXJtCisKKworCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbG9tb3VudCB3
YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9sb21vdW50K3NldH0iID0gc2V0OyB0aGVuIDoK
KyAgZW5hYmxldmFsPSRlbmFibGVfbG9tb3VudDsKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJElOU1RBTEwiID4mNQotJGFzX2VjaG8gIiRJTlNU
QUxMIiA+JjY7IH0KIAotIyBVc2UgdGVzdCAteiBiZWNhdXNlIFN1bk9TNCBzaCBtaXNoYW5kbGVz
IGJyYWNlcyBpbiAke3Zhci12YWx9LgotIyBJdCB0aGlua3MgdGhlIGZpcnN0IGNsb3NlIGJyYWNl
IGVuZHMgdGhlIHZhcmlhYmxlIHN1YnN0aXR1dGlvbi4KLXRlc3QgLXogIiRJTlNUQUxMX1BST0dS
QU0iICYmIElOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKIAotdGVzdCAteiAiJElOU1RBTExf
U0NSSVBUIiAmJiBJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKK2lmIHRlc3QgIngkZW5hYmxl
X2xvbW91bnQiID0gInhubyI7IHRoZW4gOgogCi10ZXN0IC16ICIkSU5TVEFMTF9EQVRBIiAmJiBJ
TlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JworICAgIGF4X2N2X2xvbW91bnQ9Im4iCiAK
LSMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiYmlzb24iLCBzbyBpdCBjYW4gYmUgYSBwcm9n
cmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGJpc29uOyBhY193b3JkPSQyCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcGF0aF9CSVNPTitzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24g
IihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhc2UgJEJJU09OIGluCi0gIFtcXC9dKiB8ID86W1xc
L10qKQotICBhY19jdl9wYXRoX0JJU09OPSIkQklTT04iICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl
IHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJ
RlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3Nh
dmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNf
ZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNf
d29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX0JJU09OPSIkYXNfZGly
LyRhY193b3JkJGFjX2V4ZWNfZXh0IgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJy
ZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUworZWxpZiB0ZXN0ICJ4
JGVuYWJsZV9sb21vdW50IiA9ICJ4eWVzIjsgdGhlbiA6CisKKyAgICBheF9jdl9sb21vdW50PSJ5
IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X2xvbW91bnQ7IHRoZW4gOgorCisgICAgYXhfY3ZfbG9t
b3VudD0ibiIKIAotICA7OwotZXNhYwogZmkKLUJJU09OPSRhY19jdl9wYXRoX0JJU09OCi1pZiB0
ZXN0IC1uICIkQklTT04iOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkQklTT04iID4mNQotJGFzX2VjaG8gIiRCSVNPTiIgPiY2OyB9Ci1l
bHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBu
byIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQorbG9tb3VudD0kYXhfY3ZfbG9tb3VudAorCisK
KworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLW92bWYgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtl
bmFibGVfb3ZtZitzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5hYmxlX292bWY7
CiBmaQogCiAKLSMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZmxleCIsIHNvIGl0IGNhbiBi
ZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgZmxleDsgYWNfd29yZD0kMgot
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFj
X3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9
Ci1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfRkxFWCtzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhc2UgJEZMRVggaW4KLSAgW1xcL10qIHwg
PzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfRkxFWD0iJEZMRVgiICMgTGV0IHRoZSB1c2VyIG92ZXJy
aWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZT
OyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFz
X3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4
ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAt
ZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX0ZMRVg9IiRhc19k
aXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0gICAg
YnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCitpZiB0ZXN0ICJ4
JGVuYWJsZV9vdm1mIiA9ICJ4bm8iOyB0aGVuIDoKKworICAgIGF4X2N2X292bWY9Im4iCisKK2Vs
aWYgdGVzdCAieCRlbmFibGVfb3ZtZiIgPSAieHllcyI7IHRoZW4gOgorCisgICAgYXhfY3Zfb3Zt
Zj0ieSIKKworZWxpZiB0ZXN0IC16ICRheF9jdl9vdm1mOyB0aGVuIDoKKworICAgIGF4X2N2X292
bWY9Im4iCiAKLSAgOzsKLWVzYWMKIGZpCi1GTEVYPSRhY19jdl9wYXRoX0ZMRVgKLWlmIHRlc3Qg
LW4gIiRGTEVYIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJEZMRVgiID4mNQotJGFzX2VjaG8gIiRGTEVYIiA+JjY7IH0KLWVsc2UKLSAg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUK
LSRhc19lY2hvICJubyIgPiY2OyB9Citvdm1mPSRheF9jdl9vdm1mCisKKworCisjIENoZWNrIHdo
ZXRoZXIgLS1lbmFibGUtcm9tYmlvcyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9yb21i
aW9zK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgZW5hYmxldmFsPSRlbmFibGVfcm9tYmlvczsKIGZp
CiAKIAotIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJwZXJsIiwgc28gaXQgY2FuIGJlIGEg
cHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBwZXJsOyBhY193b3JkPSQyCi17ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29y
ZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlm
IHRlc3QgIiR7YWNfY3ZfcGF0aF9QRVJMK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2FzZSAkUEVSTCBpbgotICBbXFwvXSogfCA/Oltc
XC9dKikKLSAgYWNfY3ZfcGF0aF9QRVJMPSIkUEVSTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUg
dGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICopCi0gIGFzX3NhdmVfSUZTPSRJRlM7IElG
Uz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2
ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19l
eHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIk
YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3BhdGhfUEVSTD0iJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCIKLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBicmVh
ayAyCi0gIGZpCi1kb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKK2lmIHRlc3QgIngkZW5h
YmxlX3JvbWJpb3MiID0gInhubyI7IHRoZW4gOgorCisgICAgYXhfY3Zfcm9tYmlvcz0ibiIKKwor
ZWxpZiB0ZXN0ICJ4JGVuYWJsZV9yb21iaW9zIiA9ICJ4eWVzIjsgdGhlbiA6CisKKyAgICBheF9j
dl9yb21iaW9zPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X3JvbWJpb3M7IHRoZW4gOgorCisg
ICAgYXhfY3Zfcm9tYmlvcz0ieSIKIAotICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9QRVJMIiAmJiBh
Y19jdl9wYXRoX1BFUkw9Im5vIgotICA7OwotZXNhYwogZmkKLVBFUkw9JGFjX2N2X3BhdGhfUEVS
TAotaWYgdGVzdCAtbiAiJFBFUkwiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkUEVSTCIgPiY1Ci0kYXNfZWNobyAiJFBFUkwiID4mNjsg
fQotZWxzZQotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KK3JvbWJpb3M9JGF4X2N2X3JvbWJpb3MK
KworCisKKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zZWFiaW9zIHdhcyBnaXZlbi4KK2lmIHRl
c3QgIiR7ZW5hYmxlX3NlYWJpb3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICBlbmFibGV2YWw9JGVu
YWJsZV9zZWFiaW9zOworZmkKKworCitpZiB0ZXN0ICJ4JGVuYWJsZV9zZWFiaW9zIiA9ICJ4bm8i
OyB0aGVuIDoKKworICAgIGF4X2N2X3NlYWJpb3M9Im4iCisKK2VsaWYgdGVzdCAieCRlbmFibGVf
c2VhYmlvcyIgPSAieHllcyI7IHRoZW4gOgorCisgICAgYXhfY3Zfc2VhYmlvcz0ieSIKKworZWxp
ZiB0ZXN0IC16ICRheF9jdl9zZWFiaW9zOyB0aGVuIDoKKworICAgIGF4X2N2X3NlYWJpb3M9Inki
CisKK2ZpCitzZWFiaW9zPSRheF9jdl9zZWFiaW9zCisKKworCisjIENoZWNrIHdoZXRoZXIgLS1l
bmFibGUtZGVidWcgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfZGVidWcrc2V0fSIgPSBz
ZXQ7IHRoZW4gOgorICBlbmFibGV2YWw9JGVuYWJsZV9kZWJ1ZzsKK2ZpCisKKworaWYgdGVzdCAi
eCRlbmFibGVfZGVidWciID0gInhubyI7IHRoZW4gOgorCisgICAgYXhfY3ZfZGVidWc9Im4iCisK
K2VsaWYgdGVzdCAieCRlbmFibGVfZGVidWciID0gInh5ZXMiOyB0aGVuIDoKKworICAgIGF4X2N2
X2RlYnVnPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X2RlYnVnOyB0aGVuIDoKKworICAgIGF4
X2N2X2RlYnVnPSJ5IgorCiBmaQorZGVidWc9JGF4X2N2X2RlYnVnCisKKworCisKKworCisKKwor
Zm9yIGNmbGFnIGluICRQUkVQRU5EX0lOQ0xVREVTCitkbworICAgIFBSRVBFTkRfQ0ZMQUdTKz0i
IC1JJGNmbGFnIgorZG9uZQorZm9yIGxkZmxhZyBpbiAkUFJFUEVORF9MSUIKK2RvCisgICAgUFJF
UEVORF9MREZMQUdTKz0iIC1MJGxkZmxhZyIKK2RvbmUKK2ZvciBjZmxhZyBpbiAkQVBQRU5EX0lO
Q0xVREVTCitkbworICAgIEFQUEVORF9DRkxBR1MrPSIgLUkkY2ZsYWciCitkb25lCitmb3IgbGRm
bGFnIGluICRBUFBFTkRfTElCCitkbworICAgIEFQUEVORF9MREZMQUdTKz0iIC1MJGxkZmxhZyIK
K2RvbmUKK0NGTEFHUz0iJFBSRVBFTkRfQ0ZMQUdTICRDRkxBR1MgJEFQUEVORF9DRkxBR1MiCitM
REZMQUdTPSIkUFJFUEVORF9MREZMQUdTICRMREZMQUdTICRBUFBFTkRfTERGTEFHUyIKKworCiAK
IAotaWYgdGVzdCB4IiR7UEVSTH0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8g
IlVuYWJsZSB0byBmaW5kIHBlcmwsIHBsZWFzZSBpbnN0YWxsIHBlcmwiICIkTElORU5PIiA1Ci1m
aQotaWYgdGVzdCAieCR4YXBpIiA9ICJ4eSI7IHRoZW4gOgogCi0gICAgIyBFeHRyYWN0IHRoZSBm
aXJzdCB3b3JkIG9mICJjdXJsLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3
aXRoIGFyZ3MuCi1zZXQgZHVtbXkgY3VybC1jb25maWc7IGFjX3dvcmQ9JDIKKworCisKKworCisK
KworCisKKyMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KK2FjX2V4dD1jCithY19jcHA9JyRDUFAgJENQ
UEZMQUdTJworYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRh
Y19leHQgPiY1JworYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRD
UFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKK2FjX2NvbXBpbGVy
X2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7
IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWdj
YyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHth
Y190b29sX3ByZWZpeH1nY2M7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wYXRoX0NV
Ukwrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0g
c2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAk
Q1VSTCBpbgotICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9DVVJMPSIkQ1VSTCIg
IyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICop
Ci0gIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAtbiAi
JENDIjsgdGhlbgorICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl
IHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgog
Zm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIk
YXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0
YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9
OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9DVVJMPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IgorICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Z2NjIgogICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTUxNzEsNDQgKzI2NTUsMzkgQEAg
ZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgdGVzdCAteiAiJGFjX2N2X3BhdGhf
Q1VSTCIgJiYgYWNfY3ZfcGF0aF9DVVJMPSJubyIKLSAgOzsKLWVzYWMKIGZpCi1DVVJMPSRhY19j
dl9wYXRoX0NVUkwKLWlmIHRlc3QgLW4gIiRDVVJMIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJENVUkwiID4mNQotJGFzX2VjaG8gIiRD
VVJMIiA+JjY7IH0KK2ZpCitDQz0kYWNfY3ZfcHJvZ19DQworaWYgdGVzdCAtbiAiJENDIjsgdGhl
bgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJEND
IiA+JjUKKyRhc19lY2hvICIkQ0MiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7
IH0KIGZpCiAKIAotaWYgdGVzdCB4IiR7Q1VSTH0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5f
ZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGN1cmwtY29uZmlnLCBwbGVhc2UgaW5zdGFsbCBjdXJs
LWNvbmZpZyIgIiRMSU5FTk8iIDUKIGZpCi0gICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9m
ICJ4bWwyLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1z
ZXQgZHVtbXkgeG1sMi1jb25maWc7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9n
X0NDIjsgdGhlbgorICBhY19jdF9DQz0kQ0MKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9m
ICJnY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15
IGdjYzsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRh
Y193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfWE1MK3NldH0iID0gc2V0
OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9DQytzZXR9IiA9IHNldDsgdGhl
biA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhc2UgJFhNTCBpbgot
ICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9YTUw9IiRYTUwiICMgTGV0IHRoZSB1
c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZl
X0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7
IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX2N0X0NDIiAjIExldCB0aGUgdXNlciBv
dmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBB
UkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVz
dCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFj
X2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3BhdGhfWE1MPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9ImdjYyIKICAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01MjE2LDM5ICsyNjk1LDQzIEBAIGRvbmUK
ICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCi0gIHRlc3QgLXogIiRhY19jdl9wYXRoX1hNTCIg
JiYgYWNfY3ZfcGF0aF9YTUw9Im5vIgotICA7OwotZXNhYwogZmkKLVhNTD0kYWNfY3ZfcGF0aF9Y
TUwKLWlmIHRlc3QgLW4gIiRYTUwiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkWE1MIiA+JjUKLSRhc19lY2hvICIkWE1MIiA+JjY7IH0K
K2ZpCithY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQworaWYgdGVzdCAtbiAiJGFjX2N0X0ND
IjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N0X0NDIiA+JjUKKyRhc19lY2hvICIkYWNfY3RfQ0MiID4mNjsgfQogZWxzZQogICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQog
JGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKLQotaWYgdGVzdCB4IiR7WE1MfSIgPT0geCJubyIK
LXRoZW4KLSAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgeG1sMi1jb25maWcsIHBs
ZWFzZSBpbnN0YWxsIHhtbDItY29uZmlnIiAiJExJTkVOTyIgNQotZmkKLQorICBpZiB0ZXN0ICJ4
JGFjX2N0X0NDIiA9IHg7IHRoZW4KKyAgICBDQz0iIgorICBlbHNlCisgICAgY2FzZSAkY3Jvc3Nf
Y29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoreWVzOikKK3sgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZp
eGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVz
aW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KK2Fj
X3Rvb2xfd2FybmVkPXllcyA7OworZXNhYworICAgIENDPSRhY19jdF9DQworICBmaQorZWxzZQor
ICBDQz0iJGFjX2N2X3Byb2dfQ0MiCiBmaQotaWYgdGVzdCAieCRvY2FtbHRvb2xzIiA9ICJ4eSI7
IHRoZW4gOgogCi0gICAgICAjIGNoZWNraW5nIGZvciBvY2FtbGMKLSAgaWYgdGVzdCAtbiAiJGFj
X3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNf
dG9vbF9wcmVmaXh9b2NhbWxjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJn
cy4KLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sYzsgYWNfd29yZD0kMgoraWYgdGVz
dCAteiAiJENDIjsgdGhlbgorICAgICAgICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7
IHRoZW4KKyAgICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9
Y2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7
YWNfdG9vbF9wcmVmaXh9Y2M7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09D
QU1MQytzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIg
PSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0
ZXN0IC1uICIkT0NBTUxDIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MQz0iJE9DQU1MQyIgIyBM
ZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisgIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4K
KyAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4K
IGVsc2UKIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIg
aW4gJFBBVEgKQEAgLTUyNTcsNyArMjc0MCw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYm
IGFzX2Rpcj0uCiAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu
c2lvbnM7IGRvCiAgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIg
JiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAg
ICBhY19jdl9wcm9nX09DQU1MQz0iJHthY190b29sX3ByZWZpeH1vY2FtbGMiCisgICAgYWNfY3Zf
cHJvZ19DQz0iJHthY190b29sX3ByZWZpeH1jYyIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUK
ICAgICBicmVhayAyCiAgIGZpCkBAIC01MjY3LDI5ICsyNzUwLDMwIEBAIElGUz0kYXNfc2F2ZV9J
RlMKIAogZmkKIGZpCi1PQ0FNTEM9JGFjX2N2X3Byb2dfT0NBTUxDCi1pZiB0ZXN0IC1uICIkT0NB
TUxDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJE9DQU1MQyIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MQyIgPiY2OyB9CitDQz0kYWNfY3Zf
cHJvZ19DQworaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJENDIiA+JjUKKyRhc19lY2hvICIkQ0MiID4mNjsg
fQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAorICBmaQogZmkKLWlmIHRl
c3QgLXogIiRhY19jdl9wcm9nX09DQU1MQyI7IHRoZW4KLSAgYWNfY3RfT0NBTUxDPSRPQ0FNTEMK
LSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbGMiLCBzbyBpdCBjYW4gYmUgYSBw
cm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sYzsgYWNfd29yZD0kMgoraWYg
dGVzdCAteiAiJENDIjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImNjIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBjYzsgYWNf
d29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4u
ICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0NBTUxDK3NldH0iID0gc2V0
OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbiA6CiAg
ICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9P
Q0FNTEMiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxDPSIkYWNfY3RfT0NBTUxDIiAj
IExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyAgaWYgdGVzdCAtbiAiJENDIjsgdGhl
bgorICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0
LgogZWxzZQorICBhY19wcm9nX3JlamVjdGVkPW5vCiBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBB
VEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRICiBkbwpAQCAtNTI5Nyw3ICsyNzgxLDEx
IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgZm9yIGFjX2V4ZWNf
ZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlmIHsgdGVzdCAtZiAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNf
d29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQz0i
b2NhbWxjIgorICAgIGlmIHRlc3QgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID0gIi91
c3IvdWNiL2NjIjsgdGhlbgorICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCisgICAgICAgY29u
dGludWUKKyAgICAgZmkKKyAgICBhY19jdl9wcm9nX0NDPSJjYyIKICAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01MzA1LDYxICsyNzkzLDQ0IEBAIGRvbmUK
ICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCitpZiB0ZXN0ICRhY19wcm9nX3JlamVjdGVkID0g
eWVzOyB0aGVuCisgICMgV2UgZm91bmQgYSBib2dvbiBpbiB0aGUgcGF0aCwgc28gbWFrZSBzdXJl
IHdlIG5ldmVyIHVzZSBpdC4KKyAgc2V0IGR1bW15ICRhY19jdl9wcm9nX0NDCisgIHNoaWZ0Cisg
IGlmIHRlc3QgJCMgIT0gMDsgdGhlbgorICAgICMgV2UgY2hvc2UgYSBkaWZmZXJlbnQgY29tcGls
ZXIgZnJvbSB0aGUgYm9ndXMgb25lLgorICAgICMgSG93ZXZlciwgaXQgaGFzIHRoZSBzYW1lIGJh
c2VuYW1lLCBzbyB0aGUgYm9nb24gd2lsbCBiZSBjaG9zZW4KKyAgICAjIGZpcnN0IGlmIHdlIHNl
dCBDQyB0byBqdXN0IHRoZSBiYXNlbmFtZTsgdXNlIHRoZSBmdWxsIGZpbGUgbmFtZS4KKyAgICBz
aGlmdAorICAgIGFjX2N2X3Byb2dfQ0M9IiRhc19kaXIvJGFjX3dvcmQkezErJyAnfSRAIgorICBm
aQogZmkKIGZpCi1hY19jdF9PQ0FNTEM9JGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxDCi1pZiB0ZXN0
IC1uICIkYWNfY3RfT0NBTUxDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MQyIgPiY1Ci0kYXNfZWNobyAiJGFjX2N0
X09DQU1MQyIgPiY2OyB9CitmaQorQ0M9JGFjX2N2X3Byb2dfQ0MKK2lmIHRlc3QgLW4gIiRDQyI7
IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRDQyIgPiY1CiskYXNfZWNobyAiJENDIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIg
PiY2OyB9CiBmaQogCi0gIGlmIHRlc3QgIngkYWNfY3RfT0NBTUxDIiA9IHg7IHRoZW4KLSAgICBP
Q0FNTEM9Im5vIgotICBlbHNlCi0gICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29sX3dh
cm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
V0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0
IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBw
cmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KLWFjX3Rvb2xfd2FybmVkPXllcyA7Owot
ZXNhYwotICAgIE9DQU1MQz0kYWNfY3RfT0NBTUxDCi0gIGZpCi1lbHNlCi0gIE9DQU1MQz0iJGFj
X2N2X3Byb2dfT0NBTUxDIgotZmkKLQotCi0gIGlmIHRlc3QgIiRPQ0FNTEMiICE9ICJubyI7IHRo
ZW4KLSAgICAgT0NBTUxWRVJTSU9OPWAkT0NBTUxDIC12IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lv
biogKlwoLipcKSR8XDF8cCdgCi0gICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiBPQ2FtbCB2ZXJzaW9uIGlzICRPQ0FNTFZFUlNJT04iID4mNQotJGFz
X2VjaG8gIk9DYW1sIHZlcnNpb24gaXMgJE9DQU1MVkVSU0lPTiIgPiY2OyB9Ci0gICAgICMgSWYg
T0NBTUxMSUIgaXMgc2V0LCB1c2UgaXQKLSAgICAgaWYgdGVzdCAiJE9DQU1MTElCIiA9ICIiOyB0
aGVuCi0gICAgICAgIE9DQU1MTElCPWAkT0NBTUxDIC13aGVyZSAyPi9kZXYvbnVsbCB8fCAkT0NB
TUxDIC12fHRhaWwgLTF8Y3V0IC1kICcgJyAtZiA0YAotICAgICBlbHNlCi0gICAgICAgIHsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBPQ0FNTExJQiBwcmV2
aW91c2x5IHNldDsgcHJlc2VydmluZyBpdC4iID4mNQotJGFzX2VjaG8gIk9DQU1MTElCIHByZXZp
b3VzbHkgc2V0OyBwcmVzZXJ2aW5nIGl0LiIgPiY2OyB9Ci0gICAgIGZpCi0gICAgIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBPQ2FtbCBsaWJyYXJ5IHBh
dGggaXMgJE9DQU1MTElCIiA+JjUKLSRhc19lY2hvICJPQ2FtbCBsaWJyYXJ5IHBhdGggaXMgJE9D
QU1MTElCIiA+JjY7IH0KLQotCiAKLQotICAgICAjIGNoZWNraW5nIGZvciBvY2FtbG9wdAotICAg
ICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICMgRXh0cmFjdCB0aGUgZmly
c3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vY2FtbG9wdCIsIHNvIGl0IGNhbiBiZSBhIHBy
b2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbG9w
dDsgYWNfd29yZD0kMgorZmkKK2lmIHRlc3QgLXogIiRDQyI7IHRoZW4KKyAgaWYgdGVzdCAtbiAi
JGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICBmb3IgYWNfcHJvZyBpbiBjbC5leGUKKyAgZG8KKyAg
ICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY190b29sX3ByZWZpeCRhY19wcm9nIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfdG9v
bF9wcmVmaXgkYWNfcHJvZzsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hl
Y2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NB
TUxPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0i
ID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgaWYg
dGVzdCAtbiAiJE9DQU1MT1BUIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MT1BUPSIkT0NBTUxP
UFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorICBpZiB0ZXN0IC1uICIkQ0Mi
OyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhl
IHRlc3QuCiBlbHNlCiBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3Ig
YXNfZGlyIGluICRQQVRICkBAIC01MzY4LDcgKzI4MzksNyBAQCBkbwogICB0ZXN0IC16ICIkYXNf
ZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJs
ZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhl
Y19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0
aGVuCi0gICAgYWNfY3ZfcHJvZ19PQ0FNTE9QVD0iJHthY190b29sX3ByZWZpeH1vY2FtbG9wdCIK
KyAgICBhY19jdl9wcm9nX0NDPSIkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZyIKICAgICAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01Mzc4LDI4ICsyODQ5LDMyIEBA
IElGUz0kYXNfc2F2ZV9JRlMKIAogZmkKIGZpCi1PQ0FNTE9QVD0kYWNfY3ZfcHJvZ19PQ0FNTE9Q
VAotaWYgdGVzdCAtbiAiJE9DQU1MT1BUIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MT1BUIiA+JjUKLSRhc19lY2hvICIkT0NB
TUxPUFQiID4mNjsgfQorQ0M9JGFjX2N2X3Byb2dfQ0MKK2lmIHRlc3QgLW4gIiRDQyI7IHRoZW4K
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDQyIg
PiY1CiskYXNfZWNobyAiJENDIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9
CiBmaQogCiAKKyAgICB0ZXN0IC1uICIkQ0MiICYmIGJyZWFrCisgIGRvbmUKIGZpCi1pZiB0ZXN0
IC16ICIkYWNfY3ZfcHJvZ19PQ0FNTE9QVCI7IHRoZW4KLSAgYWNfY3RfT0NBTUxPUFQ9JE9DQU1M
T1BUCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2NhbWxvcHQiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sb3B0OyBhY193b3Jk
PSQyCitpZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCisgIGFjX2N0X0NDPSRDQworICBmb3IgYWNfcHJv
ZyBpbiBjbC5leGUKK2RvCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ci
LCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY19w
cm9nOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE9QVCtz
ZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIg
PSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0
ZXN0IC1uICIkYWNfY3RfT0NBTUxPUFQiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxP
UFQ9IiRhY19jdF9PQ0FNTE9QVCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisg
IGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFj
X2N0X0NDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVsc2UKIGFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKQEAgLTU0
MDgsNyArMjg4Myw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAg
Zm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlm
IHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2Fj
X2N0X09DQU1MT1BUPSJvY2FtbG9wdCIKKyAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfcHJv
ZyIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNf
ZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01NDE2
LDE5ICsyODkxLDIzIEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCi1maQotZmkK
LWFjX2N0X09DQU1MT1BUPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MT1BUCi1pZiB0ZXN0IC1uICIk
YWNfY3RfT0NBTUxPUFQiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NBTUxPUFQiID4mNQotJGFzX2VjaG8gIiRhY19jdF9P
Q0FNTE9QVCIgPiY2OyB9CitmaQorZmkKK2FjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCitp
ZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQorJGFzX2VjaG8gIiRhY19jdF9D
QyIgPiY2OyB9CiBlbHNlCiAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBubyIgPiY1CiAkYXNfZWNobyAibm8iID4mNjsgfQogZmkKIAotICBpZiB0ZXN0
ICJ4JGFjX2N0X09DQU1MT1BUIiA9IHg7IHRoZW4KLSAgICBPQ0FNTE9QVD0ibm8iCisKKyAgdGVz
dCAtbiAiJGFjX2N0X0NDIiAmJiBicmVhaworZG9uZQorCisgIGlmIHRlc3QgIngkYWNfY3RfQ0Mi
ID0geDsgdGhlbgorICAgIENDPSIiCiAgIGVsc2UKICAgICBjYXNlICRjcm9zc19jb21waWxpbmc6
JGFjX3Rvb2xfd2FybmVkIGluCiB5ZXM6KQpAQCAtNTQzNiwzOTYgKzI5MTUsNjQ5IEBAIHllczop
CiAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4
ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CiBhY190b29sX3dhcm5lZD15ZXMgOzsKIGVzYWMK
LSAgICBPQ0FNTE9QVD0kYWNfY3RfT0NBTUxPUFQKKyAgICBDQz0kYWNfY3RfQ0MKICAgZmkKLWVs
c2UKLSAgT0NBTUxPUFQ9IiRhY19jdl9wcm9nX09DQU1MT1BUIgogZmkKIAotICAgICBPQ0FNTEJF
U1Q9Ynl0ZQotICAgICBpZiB0ZXN0ICIkT0NBTUxPUFQiID0gIm5vIjsgdGhlbgotCXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogQ2Fubm90IGZpbmQgb2Nh
bWxvcHQ7IGJ5dGVjb2RlIGNvbXBpbGF0aW9uIG9ubHkuIiA+JjUKLSRhc19lY2hvICIkYXNfbWU6
IFdBUk5JTkc6IENhbm5vdCBmaW5kIG9jYW1sb3B0OyBieXRlY29kZSBjb21waWxhdGlvbiBvbmx5
LiIgPiYyO30KLSAgICAgZWxzZQotCVRNUFZFUlNJT049YCRPQ0FNTE9QVCAtdiB8IHNlZCAtbiAt
ZSAnc3wuKnZlcnNpb24qICpcKC4qXCkkfFwxfHAnIGAKLQlpZiB0ZXN0ICIkVE1QVkVSU0lPTiIg
IT0gIiRPQ0FNTFZFUlNJT04iIDsgdGhlbgotCSAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogdmVyc2lvbnMgZGlmZmVycyBmcm9tIG9jYW1sYzsgb2Nh
bWxvcHQgZGlzY2FyZGVkLiIgPiY1Ci0kYXNfZWNobyAidmVyc2lvbnMgZGlmZmVycyBmcm9tIG9j
YW1sYzsgb2NhbWxvcHQgZGlzY2FyZGVkLiIgPiY2OyB9Ci0JICAgIE9DQU1MT1BUPW5vCi0JZWxz
ZQotCSAgICBPQ0FNTEJFU1Q9b3B0CitmaQorCisKK3Rlc3QgLXogIiRDQyIgJiYgeyB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIg
PiY1CiskYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Cithc19m
bl9lcnJvciAkPyAibm8gYWNjZXB0YWJsZSBDIGNvbXBpbGVyIGZvdW5kIGluIFwkUEFUSAorU2Vl
IFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CisKKyMgUHJv
dmlkZSBzb21lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb21waWxlci4KKyRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24i
ID4mNQorc2V0IFggJGFjX2NvbXBpbGUKK2FjX2NvbXBpbGVyPSQyCitmb3IgYWNfb3B0aW9uIGlu
IC0tdmVyc2lvbiAtdiAtViAtcXZlcnNpb247IGRvCisgIHsgeyBhY190cnk9IiRhY19jb21waWxl
ciAkYWNfb3B0aW9uID4mNSIKK2Nhc2UgIigoJGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAq
XFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7Owor
ZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAk
YWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAi
JGFjX2NvbXBpbGVyICRhY19vcHRpb24gPiY1IikgMj5jb25mdGVzdC5lcnIKKyAgYWNfc3RhdHVz
PSQ/CisgIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCisgICAgc2VkICcxMGFcCisuLi4g
cmVzdCBvZiBzdGRlcnIgb3V0cHV0IGRlbGV0ZWQgLi4uCisgICAgICAgICAxMHEnIGNvbmZ0ZXN0
LmVyciA+Y29uZnRlc3QuZXIxCisgICAgY2F0IGNvbmZ0ZXN0LmVyMSA+JjUKKyAgZmkKKyAgcm0g
LWYgY29uZnRlc3QuZXIxIGNvbmZ0ZXN0LmVycgorICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0g
MDsgfQorZG9uZQorCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0
CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0
dXJuIDA7Cit9CitfQUNFT0YKK2FjX2NsZWFuX2ZpbGVzX3NhdmU9JGFjX2NsZWFuX2ZpbGVzCith
Y19jbGVhbl9maWxlcz0iJGFjX2NsZWFuX2ZpbGVzIGEub3V0IGEub3V0LmRTWU0gYS5leGUgYi5v
dXQiCisjIFRyeSB0byBjcmVhdGUgYW4gZXhlY3V0YWJsZSB3aXRob3V0IC1vIGZpcnN0LCBkaXNy
ZWdhcmQgYS5vdXQuCisjIEl0IHdpbGwgaGVscCB1cyBkaWFnbm9zZSBicm9rZW4gY29tcGlsZXJz
LCBhbmQgZmluZGluZyBvdXQgYW4gaW50dWl0aW9uCisjIG9mIGV4ZWV4dC4KK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w
aWxlciB3b3JrcyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBp
bGVyIHdvcmtzLi4uICIgPiY2OyB9CithY19saW5rX2RlZmF1bHQ9YCRhc19lY2hvICIkYWNfbGlu
ayIgfCBzZWQgJ3MvIC1vICpjb25mdGVzdFteIF0qLy8nYAorCisjIFRoZSBwb3NzaWJsZSBvdXRw
dXQgZmlsZXM6CithY19maWxlcz0iYS5vdXQgY29uZnRlc3QuZXhlIGNvbmZ0ZXN0IGEuZXhlIGFf
b3V0LmV4ZSBiLm91dCBjb25mdGVzdC4qIgorCithY19ybWZpbGVzPQorZm9yIGFjX2ZpbGUgaW4g
JGFjX2ZpbGVzCitkbworICBjYXNlICRhY19maWxlIGluCisgICAgKi4kYWNfZXh0IHwgKi54Y29m
ZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm1hcCB8
ICouaW5mIHwgKi5kU1lNIHwgKi5vIHwgKi5vYmogKSA7OworICAgICogKSBhY19ybWZpbGVzPSIk
YWNfcm1maWxlcyAkYWNfZmlsZSI7OworICBlc2FjCitkb25lCitybSAtZiAkYWNfcm1maWxlcwor
CitpZiB7IHsgYWNfdHJ5PSIkYWNfbGlua19kZWZhdWx0IgorY2FzZSAiKCgkYWNfdHJ5IiBpbgor
ICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5
X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8gIiRhY190cnlfZWNobyI7
IH0gPiY1CisgIChldmFsICIkYWNfbGlua19kZWZhdWx0IikgMj4mNQorICBhY19zdGF0dXM9JD8K
KyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1
cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4gOgorICAjIEF1dG9jb25mLTIu
MTMgY291bGQgc2V0IHRoZSBhY19jdl9leGVleHQgdmFyaWFibGUgdG8gYG5vJy4KKyMgU28gaWdu
b3JlIGEgdmFsdWUgb2YgYG5vJywgb3RoZXJ3aXNlIHRoaXMgd291bGQgbGVhZCB0byBgRVhFRVhU
ID0gbm8nCisjIGluIGEgTWFrZWZpbGUuICBXZSBzaG91bGQgbm90IG92ZXJyaWRlIGFjX2N2X2V4
ZWV4dCBpZiBpdCB3YXMgY2FjaGVkLAorIyBzbyB0aGF0IHRoZSB1c2VyIGNhbiBzaG9ydC1jaXJj
dWl0IHRoaXMgdGVzdCBmb3IgY29tcGlsZXJzIHVua25vd24gdG8KKyMgQXV0b2NvbmYuCitmb3Ig
YWNfZmlsZSBpbiAkYWNfZmlsZXMgJycKK2RvCisgIHRlc3QgLWYgIiRhY19maWxlIiB8fCBjb250
aW51ZQorICBjYXNlICRhY19maWxlIGluCisgICAgKi4kYWNfZXh0IHwgKi54Y29mZiB8ICoudGRz
IHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm1hcCB8ICouaW5mIHwg
Ki5kU1lNIHwgKi5vIHwgKi5vYmogKQorCTs7CisgICAgW2FiXS5vdXQgKQorCSMgV2UgZm91bmQg
dGhlIGRlZmF1bHQgZXhlY3V0YWJsZSwgYnV0IGV4ZWV4dD0nJyBpcyBtb3N0CisJIyBjZXJ0YWlu
bHkgcmlnaHQuCisJYnJlYWs7OworICAgICouKiApCisJaWYgdGVzdCAiJHthY19jdl9leGVleHQr
c2V0fSIgPSBzZXQgJiYgdGVzdCAiJGFjX2N2X2V4ZWV4dCIgIT0gbm87CisJdGhlbiA6OyBlbHNl
CisJICAgYWNfY3ZfZXhlZXh0PWBleHByICIkYWNfZmlsZSIgOiAnW14uXSpcKFwuLipcKSdgCiAJ
ZmkKLSAgICAgZmkKKwkjIFdlIHNldCBhY19jdl9leGVleHQgaGVyZSBiZWNhdXNlIHRoZSBsYXRl
ciB0ZXN0IGZvciBpdCBpcyBub3QKKwkjIHNhZmU6IGNyb3NzIGNvbXBpbGVycyBtYXkgbm90IGFk
ZCB0aGUgc3VmZml4IGlmIGdpdmVuIGFuIGAtbycKKwkjIGFyZ3VtZW50LCBzbyB3ZSBtYXkgbmVl
ZCB0byBrbm93IGl0IGF0IHRoYXQgcG9pbnQgYWxyZWFkeS4KKwkjIEV2ZW4gaWYgdGhpcyBzZWN0
aW9uIGxvb2tzIGNydWZ0eTogaXQgaGFzIHRoZSBhZHZhbnRhZ2Ugb2YKKwkjIGFjdHVhbGx5IHdv
cmtpbmcuCisJYnJlYWs7OworICAgICogKQorCWJyZWFrOzsKKyAgZXNhYworZG9uZQordGVzdCAi
JGFjX2N2X2V4ZWV4dCIgPSBubyAmJiBhY19jdl9leGVleHQ9CisKK2Vsc2UKKyAgYWNfZmlsZT0n
JworZmkKK2lmIHRlc3QgLXogIiRhY19maWxlIjsgdGhlbiA6CisgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4m
NjsgfQorJGFzX2VjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3Mv
Xi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK3sgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQorJGFzX2VjaG8gIiRh
c19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorYXNfZm5fZXJyb3IgNzcgIkMgY29t
cGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcworU2VlIFxgY29uZmlnLmxvZycgZm9yIG1v
cmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2VjaG8gInllcyIgPiY2
OyB9CitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUiID4mNQorJGFzX2VjaG9f
biAiY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uICIg
PiY2OyB9Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JGFjX2ZpbGUiID4mNQorJGFzX2VjaG8gIiRhY19maWxlIiA+JjY7IH0KK2FjX2V4ZWV4dD0kYWNf
Y3ZfZXhlZXh0CisKK3JtIC1mIC1yIGEub3V0IGEub3V0LmRTWU0gYS5leGUgY29uZnRlc3QkYWNf
Y3ZfZXhlZXh0IGIub3V0CithY19jbGVhbl9maWxlcz0kYWNfY2xlYW5fZmlsZXNfc2F2ZQoreyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3VmZml4
IG9mIGV4ZWN1dGFibGVzIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdWZmaXggb2Yg
ZXhlY3V0YWJsZXMuLi4gIiA+JjY7IH0KK2lmIHsgeyBhY190cnk9IiRhY19saW5rIgorY2FzZSAi
KCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5
OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJc
IlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8g
IiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfbGluayIpIDI+JjUKKyAgYWNfc3Rh
dHVzPSQ/CisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRh
Y19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuIDoKKyAgIyBJZiBi
b3RoIGBjb25mdGVzdC5leGUnIGFuZCBgY29uZnRlc3QnIGFyZSBgcHJlc2VudCcgKHdlbGwsIG9i
c2VydmFibGUpCisjIGNhdGNoIGBjb25mdGVzdC5leGUnLiAgRm9yIGluc3RhbmNlIHdpdGggQ3ln
d2luLCBgbHMgY29uZnRlc3QnIHdpbGwKKyMgd29yayBwcm9wZXJseSAoaS5lLiwgcmVmZXIgdG8g
YGNvbmZ0ZXN0LmV4ZScpLCB3aGlsZSBpdCB3b24ndCB3aXRoCisjIGBybScuCitmb3IgYWNfZmls
ZSBpbiBjb25mdGVzdC5leGUgY29uZnRlc3QgY29uZnRlc3QuKjsgZG8KKyAgdGVzdCAtZiAiJGFj
X2ZpbGUiIHx8IGNvbnRpbnVlCisgIGNhc2UgJGFjX2ZpbGUgaW4KKyAgICAqLiRhY19leHQgfCAq
Lnhjb2ZmIHwgKi50ZHMgfCAqLmQgfCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICou
bWFwIHwgKi5pbmYgfCAqLmRTWU0gfCAqLm8gfCAqLm9iaiApIDs7CisgICAgKi4qICkgYWNfY3Zf
ZXhlZXh0PWBleHByICIkYWNfZmlsZSIgOiAnW14uXSpcKFwuLipcKSdgCisJICBicmVhazs7Cisg
ICAgKiApIGJyZWFrOzsKKyAgZXNhYworZG9uZQorZWxzZQorICB7IHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19l
Y2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICQ/
ICJjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2YgZXhlY3V0YWJsZXM6IGNhbm5vdCBjb21waWxlIGFu
ZCBsaW5rCitTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNSA7
IH0KK2ZpCitybSAtZiBjb25mdGVzdCBjb25mdGVzdCRhY19jdl9leGVleHQKK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZXhlZXh0IiA+JjUK
KyRhc19lY2hvICIkYWNfY3ZfZXhlZXh0IiA+JjY7IH0KIAorcm0gLWYgY29uZnRlc3QuJGFjX2V4
dAorRVhFRVhUPSRhY19jdl9leGVleHQKK2FjX2V4ZWV4dD0kRVhFRVhUCitjYXQgY29uZmRlZnMu
aCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisj
aW5jbHVkZSA8c3RkaW8uaD4KK2ludAorbWFpbiAoKQoreworRklMRSAqZiA9IGZvcGVuICgiY29u
ZnRlc3Qub3V0IiwgInciKTsKKyByZXR1cm4gZmVycm9yIChmKSB8fCBmY2xvc2UgKGYpICE9IDA7
CiAKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorYWNfY2xlYW5fZmlsZXM9IiRhY19jbGVh
bl9maWxlcyBjb25mdGVzdC5vdXQiCisjIENoZWNrIHRoYXQgdGhlIGNvbXBpbGVyIHByb2R1Y2Vz
IGV4ZWN1dGFibGVzIHdlIGNhbiBydW4uICBJZiBub3QsIGVpdGhlcgorIyB0aGUgY29tcGlsZXIg
aXMgYnJva2VuLCBvciB3ZSBjcm9zcyBjb21waWxlLgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmci
ID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n
Li4uICIgPiY2OyB9CitpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiAhPSB5ZXM7IHRoZW4KKyAg
eyB7IGFjX3RyeT0iJGFjX2xpbmsiCitjYXNlICIoKCRhY190cnkiIGluCisgICpcIiogfCAqXGAq
IHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OworICAqKSBhY190cnlfZWNobz0kYWNfdHJ5
OzsKK2VzYWMKK2V2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogJGFjX3RyeV9lY2hvXCIiCiskYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsgfSA+JjUKKyAgKGV2
YWwgIiRhY19saW5rIikgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0
YXR1cyA9IDA7IH0KKyAgaWYgeyBhY190cnk9Jy4vY29uZnRlc3QkYWNfY3ZfZXhlZXh0JworICB7
IHsgY2FzZSAiKCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hv
PVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3Ry
eV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgor
JGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfdHJ5IikgMj4mNQor
ICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
XCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IH07IHRoZW4K
KyAgICBjcm9zc19jb21waWxpbmc9bm8KKyAgZWxzZQorICAgIGlmIHRlc3QgIiRjcm9zc19jb21w
aWxpbmciID0gbWF5YmU7IHRoZW4KKwljcm9zc19jb21waWxpbmc9eWVzCisgICAgZWxzZQorCXsg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNf
cHdkJzoiID4mNQorJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7
fQorYXNfZm5fZXJyb3IgJD8gImNhbm5vdCBydW4gQyBjb21waWxlZCBwcm9ncmFtcy4KK0lmIHlv
dSBtZWFudCB0byBjcm9zcyBjb21waWxlLCB1c2UgXGAtLWhvc3QnLgorU2VlIFxgY29uZmlnLmxv
ZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CisgICAgZmkKKyAgZmkKK2ZpCit7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGNyb3NzX2Nv
bXBpbGluZyIgPiY1CiskYXNfZWNobyAiJGNyb3NzX2NvbXBpbGluZyIgPiY2OyB9CiAKLSAgICAg
IyBjaGVja2luZyBmb3Igb2NhbWxjLm9wdAotICAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVm
aXgiOyB0aGVuCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZp
eH1vY2FtbGMub3B0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNl
dCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sYy5vcHQ7IGFjX3dvcmQ9JDIKLXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+
JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9wcm9nX09DQU1MQ0RPVE9QVCtzZXR9IiA9IHNldDsgdGhlbiA6CitybSAtZiBj
b25mdGVzdC4kYWNfZXh0IGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCBjb25mdGVzdC5vdXQKK2FjX2Ns
ZWFuX2ZpbGVzPSRhY19jbGVhbl9maWxlc19zYXZlCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzIiA+JjUK
KyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uICIgPiY2
OyB9CitpZiB0ZXN0ICIke2FjX2N2X29iamV4dCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRPQ0FNTENET1RPUFQi
OyB0aGVuCi0gIGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUPSIkT0NBTUxDRE9UT1BUIiAjIExldCB0
aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0k
UEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9J
RlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQg
aW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNf
ZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUPSIke2Fj
X3Rvb2xfcHJlZml4fW9jYW1sYy5vcHQiCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0gICAg
YnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCisgIGNhdCBjb25m
ZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8KIAotZmkKLWZpCi1PQ0FNTENET1RPUFQ9JGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUCi1pZiB0
ZXN0IC1uICIkT0NBTUxDRE9UT1BUIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MQ0RPVE9QVCIgPiY1Ci0kYXNfZWNobyAiJE9D
QU1MQ0RPVE9QVCIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKK2lu
dAorbWFpbiAoKQorewogCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0
ZXN0Lm8gY29uZnRlc3Qub2JqCitpZiB7IHsgYWNfdHJ5PSIkYWNfY29tcGlsZSIKK2Nhc2UgIigo
JGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7
CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7OworZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJc
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIk
YWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAiJGFjX2NvbXBpbGUiKSAyPiY1CisgIGFjX3N0
YXR1cz0kPworICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAk
YWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbiA6CisgIGZvciBh
Y19maWxlIGluIGNvbmZ0ZXN0Lm8gY29uZnRlc3Qub2JqIGNvbmZ0ZXN0Lio7IGRvCisgIHRlc3Qg
LWYgIiRhY19maWxlIiB8fCBjb250aW51ZTsKKyAgY2FzZSAkYWNfZmlsZSBpbgorICAgICouJGFj
X2V4dCB8ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8ICou
YmJnIHwgKi5tYXAgfCAqLmluZiB8ICouZFNZTSApIDs7CisgICAgKikgYWNfY3Zfb2JqZXh0PWBl
eHByICIkYWNfZmlsZSIgOiAnLipcLlwoLipcKSdgCisgICAgICAgYnJlYWs7OworICBlc2FjCitk
b25lCitlbHNlCisgICRhc19lY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQor
c2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQogCit7IHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19l
Y2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICQ/
ICJjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzOiBjYW5ub3QgY29tcGlsZQor
U2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CiBmaQot
aWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUIjsgdGhlbgotICBhY19jdF9PQ0FN
TENET1RPUFQ9JE9DQU1MQ0RPVE9QVAotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9j
YW1sYy5vcHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1
bW15IG9jYW1sYy5vcHQ7IGFjX3dvcmQ9JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNr
aW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0
X09DQU1MQ0RPVE9QVCtzZXR9IiA9IHNldDsgdGhlbiA6CitybSAtZiBjb25mdGVzdC4kYWNfY3Zf
b2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X29iamV4dCIgPiY1CiskYXNfZWNobyAiJGFjX2N2
X29iamV4dCIgPiY2OyB9CitPQkpFWFQ9JGFjX2N2X29iamV4dAorYWNfb2JqZXh0PSRPQkpFWFQK
K3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyIiA+JjUKKyRhc19lY2hvX24gImNoZWNr
aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiAiID4mNjsgfQor
aWYgdGVzdCAiJHthY19jdl9jX2NvbXBpbGVyX2dudStzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FN
TENET1RPUFQiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxDRE9UT1BUPSIkYWNfY3Rf
T0NBTUxDRE9UT1BUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgK
LWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4K
LSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8K
LSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVz
dF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3By
b2dfYWNfY3RfT0NBTUxDRE9UT1BUPSJvY2FtbGMub3B0IgotICAgICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi
ID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUwor
ICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29u
ZmRlZnMuaC4gICovCiAKLWZpCi1maQotYWNfY3RfT0NBTUxDRE9UT1BUPSRhY19jdl9wcm9nX2Fj
X2N0X09DQU1MQ0RPVE9QVAotaWYgdGVzdCAtbiAiJGFjX2N0X09DQU1MQ0RPVE9QVCI7IHRoZW4K
LSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19j
dF9PQ0FNTENET1RPUFQiID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTENET1RPUFQiID4mNjsg
fQoraW50CittYWluICgpCit7CisjaWZuZGVmIF9fR05VQ19fCisgICAgICAgY2hva2UgbWUKKyNl
bmRpZgorCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBp
bGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY29tcGlsZXJfZ251PXllcwogZWxzZQotICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFz
X2VjaG8gIm5vIiA+JjY7IH0KKyAgYWNfY29tcGlsZXJfZ251PW5vCiBmaQorcm0gLWYgY29yZSBj
b25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CithY19jdl9j
X2NvbXBpbGVyX2dudT0kYWNfY29tcGlsZXJfZ251CiAKLSAgaWYgdGVzdCAieCRhY19jdF9PQ0FN
TENET1RPUFQiID0geDsgdGhlbgotICAgIE9DQU1MQ0RPVE9QVD0ibm8iCi0gIGVsc2UKLSAgICBj
YXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29s
cyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19tZTog
V0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0
IiA+JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7Ci1lc2FjCi0gICAgT0NBTUxDRE9UT1BUPSRh
Y19jdF9PQ0FNTENET1RPUFQKLSAgZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2NfY29tcGlsZXJfZ251IiA+JjUKKyRhc19lY2hv
ICIkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNjsgfQoraWYgdGVzdCAkYWNfY29tcGlsZXJfZ251
ID0geWVzOyB0aGVuCisgIEdDQz15ZXMKIGVsc2UKLSAgT0NBTUxDRE9UT1BUPSIkYWNfY3ZfcHJv
Z19PQ0FNTENET1RPUFQiCisgIEdDQz0KIGZpCi0KLSAgICAgaWYgdGVzdCAiJE9DQU1MQ0RPVE9Q
VCIgIT0gIm5vIjsgdGhlbgotCVRNUFZFUlNJT049YCRPQ0FNTENET1RPUFQgLXYgfCBzZWQgLW4g
LWUgJ3N8Lip2ZXJzaW9uKiAqXCguKlwpJHxcMXxwJyBgCi0JaWYgdGVzdCAiJFRNUFZFUlNJT04i
ICE9ICIkT0NBTUxWRVJTSU9OIiA7IHRoZW4KLQkgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHZlcnNpb25zIGRpZmZlcnMgZnJvbSBvY2FtbGM7IG9j
YW1sYy5vcHQgZGlzY2FyZGVkLiIgPiY1Ci0kYXNfZWNobyAidmVyc2lvbnMgZGlmZmVycyBmcm9t
IG9jYW1sYzsgb2NhbWxjLm9wdCBkaXNjYXJkZWQuIiA+JjY7IH0KLQllbHNlCi0JICAgIE9DQU1M
Qz0kT0NBTUxDRE9UT1BUCi0JZmkKLSAgICAgZmkKLQotICAgICAjIGNoZWNraW5nIGZvciBvY2Ft
bG9wdC5vcHQKLSAgICAgaWYgdGVzdCAiJE9DQU1MT1BUIiAhPSAibm8iIDsgdGhlbgotCWlmIHRl
c3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sb3B0Lm9wdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dy
YW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbG9wdC5v
cHQ7IGFjX3dvcmQ9JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNf
d29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MT1BURE9UT1BUK3Nl
dH0iID0gc2V0OyB0aGVuIDoKK2FjX3Rlc3RfQ0ZMQUdTPSR7Q0ZMQUdTK3NldH0KK2FjX3NhdmVf
Q0ZMQUdTPSRDRkxBR1MKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgd2hldGhlciAkQ0MgYWNjZXB0cyAtZyIgPiY1CiskYXNfZWNob19uICJjaGVja2lu
ZyB3aGV0aGVyICRDQyBhY2NlcHRzIC1nLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3By
b2dfY2NfZytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2
CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRPQ0FNTE9QVERPVE9QVCI7IHRoZW4KLSAgYWNfY3ZfcHJv
Z19PQ0FNTE9QVERPVE9QVD0iJE9DQU1MT1BURE9UT1BUIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxPUFRET1RPUFQ9IiR7YWNfdG9vbF9wcmVmaXh9
b2NhbWxvcHQub3B0IgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAg
ZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUworICBhY19zYXZlX2Nfd2Vycm9yX2Zs
YWc9JGFjX2Nfd2Vycm9yX2ZsYWcKKyAgIGFjX2Nfd2Vycm9yX2ZsYWc9eWVzCisgICBhY19jdl9w
cm9nX2NjX2c9bm8KKyAgIENGTEFHUz0iLWciCisgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9G
ID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCiAKLWZpCi1maQotT0NB
TUxPUFRET1RPUFQ9JGFjX2N2X3Byb2dfT0NBTUxPUFRET1RPUFQKLWlmIHRlc3QgLW4gIiRPQ0FN
TE9QVERPVE9QVCI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRPQ0FNTE9QVERPVE9QVCIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MT1BURE9U
T1BUIiA+JjY7IH0KK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNF
T0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfcHJv
Z19jY19nPXllcwogZWxzZQotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLWZpCisgIENGTEFHUz0i
IgorICAgICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyog
ZW5kIGNvbmZkZWZzLmguICAqLwogCitpbnQKK21haW4gKCkKK3sKIAotZmkKLWlmIHRlc3QgLXog
IiRhY19jdl9wcm9nX09DQU1MT1BURE9UT1BUIjsgdGhlbgotICBhY19jdF9PQ0FNTE9QVERPVE9Q
VD0kT0NBTUxPUFRET1RPUFQKLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbG9w
dC5vcHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15
IG9jYW1sb3B0Lm9wdDsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tp
bmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3Rf
T0NBTUxPUFRET1RPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVk
KSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxPUFRET1RPUFQiOyB0aGVu
Ci0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxPUFRET1RPUFQ9IiRhY19jdF9PQ0FNTE9QVERPVE9Q
VCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9
JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2FjX2N0X09D
QU1MT1BURE9UT1BUPSJvY2FtbG9wdC5vcHQiCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0g
ICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCisgIDsKKyAg
cmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0
aGVuIDoKKworZWxzZQorICBhY19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcK
KwkgQ0ZMQUdTPSItZyIKKwkgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFj
X2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKIAorICA7Cisg
IHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsg
dGhlbiA6CisgIGFjX2N2X3Byb2dfY2NfZz15ZXMKIGZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVy
ciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKIGZpCi1hY19jdF9PQ0FNTE9Q
VERPVE9QVD0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE9QVERPVE9QVAotaWYgdGVzdCAtbiAiJGFj
X2N0X09DQU1MT1BURE9UT1BUIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MT1BURE9UT1BUIiA+JjUKLSRhc19lY2hv
ICIkYWNfY3RfT0NBTUxPUFRET1RPUFQiID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+
JjY7IH0KK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRl
c3QuJGFjX2V4dAogZmkKLQotICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MT1BURE9UT1BUIiA9IHg7
IHRoZW4KLSAgICBPQ0FNTE9QVERPVE9QVD0ibm8iCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBj
b25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgIGFjX2Nfd2Vycm9yX2ZsYWc9
JGFjX3NhdmVfY193ZXJyb3JfZmxhZworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcHJvZ19jY19nIiA+JjUKKyRhc19lY2hvICIkYWNf
Y3ZfcHJvZ19jY19nIiA+JjY7IH0KK2lmIHRlc3QgIiRhY190ZXN0X0NGTEFHUyIgPSBzZXQ7IHRo
ZW4KKyAgQ0ZMQUdTPSRhY19zYXZlX0NGTEFHUworZWxpZiB0ZXN0ICRhY19jdl9wcm9nX2NjX2cg
PSB5ZXM7IHRoZW4KKyAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAgICBDRkxBR1M9Ii1n
IC1PMiIKICAgZWxzZQotICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQg
aW4KLXllczopCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5J
Tkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1
Ci0kYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4
ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9Ci1hY190b29sX3dhcm5lZD15ZXMgOzsKLWVzYWMK
LSAgICBPQ0FNTE9QVERPVE9QVD0kYWNfY3RfT0NBTUxPUFRET1RPUFQKKyAgICBDRkxBR1M9Ii1n
IgogICBmaQogZWxzZQotICBPQ0FNTE9QVERPVE9QVD0iJGFjX2N2X3Byb2dfT0NBTUxPUFRET1RP
UFQiCi1maQotCi0JaWYgdGVzdCAiJE9DQU1MT1BURE9UT1BUIiAhPSAibm8iOyB0aGVuCi0JICAg
VE1QVkVSU0lPTj1gJE9DQU1MT1BURE9UT1BUIC12IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lvbiog
KlwoLipcKSR8XDF8cCcgYAotCSAgIGlmIHRlc3QgIiRUTVBWRVJTSU9OIiAhPSAiJE9DQU1MVkVS
U0lPTiIgOyB0aGVuCi0JICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6IHZlcnNpb24gZGlmZmVycyBmcm9tIG9jYW1sYzsgb2NhbWxvcHQub3B0IGRp
c2NhcmRlZC4iID4mNQotJGFzX2VjaG8gInZlcnNpb24gZGlmZmVycyBmcm9tIG9jYW1sYzsgb2Nh
bWxvcHQub3B0IGRpc2NhcmRlZC4iID4mNjsgfQotCSAgIGVsc2UKLQkgICAgICBPQ0FNTE9QVD0k
T0NBTUxPUFRET1RPUFQKLQkgICBmaQotICAgICAgICBmaQotICAgICBmaQotCi0KKyAgaWYgdGVz
dCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAgICBDRkxBR1M9Ii1PMiIKKyAgZWxzZQorICAgIENGTEFH
Uz0KICAgZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo
ZWNraW5nIGZvciAkQ0Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5IiA+JjUKKyRhc19lY2hvX24g
ImNoZWNraW5nIGZvciAkQ0Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uICIgPiY2OyB9Citp
ZiB0ZXN0ICIke2FjX2N2X3Byb2dfY2NfYzg5K3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2Vj
aG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfY3ZfcHJvZ19jY19jODk9bm8KK2FjX3Nh
dmVfQ0M9JENDCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Cisv
KiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3Rk
aW8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorLyog
TW9zdCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIGFyZSBzdG9sZW4gZnJvbSBSQ1MgNS43J3Mgc3Jj
L2NvbmYuc2guICAqLworc3RydWN0IGJ1ZiB7IGludCB4OyB9OworRklMRSAqICgqcmNzb3Blbikg
KHN0cnVjdCBidWYgKiwgc3RydWN0IHN0YXQgKiwgaW50KTsKK3N0YXRpYyBjaGFyICplIChwLCBp
KQorICAgICBjaGFyICoqcDsKKyAgICAgaW50IGk7Cit7CisgIHJldHVybiBwW2ldOworfQorc3Rh
dGljIGNoYXIgKmYgKGNoYXIgKiAoKmcpIChjaGFyICoqLCBpbnQpLCBjaGFyICoqcCwgLi4uKQor
eworICBjaGFyICpzOworICB2YV9saXN0IHY7CisgIHZhX3N0YXJ0ICh2LHApOworICBzID0gZyAo
cCwgdmFfYXJnICh2LGludCkpOworICB2YV9lbmQgKHYpOworICByZXR1cm4gczsKK30KIAorLyog
T1NGIDQuMCBDb21wYXEgY2MgaXMgc29tZSBzb3J0IG9mIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQu
ICBJdCBoYXMKKyAgIGZ1bmN0aW9uIHByb3RvdHlwZXMgYW5kIHN0dWZmLCBidXQgbm90ICdceEhI
JyBoZXggY2hhcmFjdGVyIGNvbnN0YW50cy4KKyAgIFRoZXNlIGRvbid0IHByb3Zva2UgYW4gZXJy
b3IgdW5mb3J0dW5hdGVseSwgaW5zdGVhZCBhcmUgc2lsZW50bHkgdHJlYXRlZAorICAgYXMgJ3gn
LiAgVGhlIGZvbGxvd2luZyBpbmR1Y2VzIGFuIGVycm9yLCB1bnRpbCAtc3RkIGlzIGFkZGVkIHRv
IGdldAorICAgcHJvcGVyIEFOU0kgbW9kZS4gIEN1cmlvdXNseSAnXHgwMCchPSd4JyBhbHdheXMg
Y29tZXMgb3V0IHRydWUsIGZvciBhbgorICAgYXJyYXkgc2l6ZSBhdCBsZWFzdC4gIEl0J3MgbmVj
ZXNzYXJ5IHRvIHdyaXRlICdceDAwJz09MCB0byBnZXQgc29tZXRoaW5nCisgICB0aGF0J3MgdHJ1
ZSBvbmx5IHdpdGggLXN0ZC4gICovCitpbnQgb3NmNF9jY19hcnJheSBbJ1x4MDAnID09IDAgPyAx
IDogLTFdOwogCisvKiBJQk0gQyA2IGZvciBBSVggaXMgYWxtb3N0LUFOU0kgYnkgZGVmYXVsdCwg
YnV0IGl0IHJlcGxhY2VzIG1hY3JvIHBhcmFtZXRlcnMKKyAgIGluc2lkZSBzdHJpbmdzIGFuZCBj
aGFyYWN0ZXIgY29uc3RhbnRzLiAgKi8KKyNkZWZpbmUgRk9PKHgpICd4JworaW50IHhsYzZfY2Nf
YXJyYXlbRk9PKGEpID09ICd4JyA/IDEgOiAtMV07CiAKLSAgIyBjaGVja2luZyBmb3Igb2NhbWwg
dG9wbGV2ZWwKLSAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4dHJh
Y3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWwiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9
b2NhbWw7IGFjX3dvcmQ9JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAk
YWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MK3NldH0iID0g
c2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVz
dCAtbiAiJE9DQU1MIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MPSIkT0NBTUwiICMgTGV0IHRo
ZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQ
QVRIX1NFUEFSQVRPUgotZm9yIGFzX2RpciBpbiAkUEFUSAoraW50IHRlc3QgKGludCBpLCBkb3Vi
bGUgeCk7CitzdHJ1Y3QgczEge2ludCAoKmYpIChpbnQgYSk7fTsKK3N0cnVjdCBzMiB7aW50ICgq
ZikgKGRvdWJsZSBhKTt9OworaW50IHBhaXJuYW1lcyAoaW50LCBjaGFyICoqLCBGSUxFICooKiko
c3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpLCBpbnQsIGludCk7CitpbnQgYXJnYzsK
K2NoYXIgKiphcmd2OworaW50CittYWluICgpCit7CityZXR1cm4gZiAoZSwgYXJndiwgMCkgIT0g
YXJndlswXSAgfHwgIGYgKGUsIGFyZ3YsIDEpICE9IGFyZ3ZbMV07CisgIDsKKyAgcmV0dXJuIDA7
Cit9CitfQUNFT0YKK2ZvciBhY19hcmcgaW4gJycgLXFsYW5nbHZsPWV4dGM4OSAtcWxhbmdsdmw9
YW5zaSAtc3RkIFwKKwktQWUgIi1BYSAtRF9IUFVYX1NPVVJDRSIgIi1YYyAtRF9fRVhURU5TSU9O
U19fIgogZG8KLSAgSUZTPSRhc19zYXZlX0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19k
aXI9LgotICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25z
OyBkbwotICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRh
c190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNf
Y3ZfcHJvZ19PQ0FNTD0iJHthY190b29sX3ByZWZpeH1vY2FtbCIKLSAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKLSAgICBicmVhayAyCi0gIGZpCisgIENDPSIkYWNfc2F2ZV9DQyAkYWNfYXJnIgor
ICBpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3Byb2df
Y2NfYzg5PSRhY19hcmcKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNf
b2JqZXh0CisgIHRlc3QgIngkYWNfY3ZfcHJvZ19jY19jODkiICE9ICJ4bm8iICYmIGJyZWFrCiBk
b25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKK3JtIC1mIGNvbmZ0ZXN0LiRhY19leHQKK0ND
PSRhY19zYXZlX0NDCiAKIGZpCi1maQotT0NBTUw9JGFjX2N2X3Byb2dfT0NBTUwKLWlmIHRlc3Qg
LW4gIiRPQ0FNTCI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRPQ0FNTCIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MIiA+JjY7IH0KLWVsc2UK
LSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+
JjUKLSRhc19lY2hvICJubyIgPiY2OyB9CisjIEFDX0NBQ0hFX1ZBTAorY2FzZSAieCRhY19jdl9w
cm9nX2NjX2M4OSIgaW4KKyAgeCkKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogbm9uZSBuZWVkZWQiID4mNQorJGFzX2VjaG8gIm5vbmUgbmVlZGVk
IiA+JjY7IH0gOzsKKyAgeG5vKQorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiB1bnN1cHBvcnRlZCIgPiY1CiskYXNfZWNobyAidW5zdXBwb3J0ZWQi
ID4mNjsgfSA7OworICAqKQorICAgIENDPSIkQ0MgJGFjX2N2X3Byb2dfY2NfYzg5IgorICAgIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcHJv
Z19jY19jODkiID4mNQorJGFzX2VjaG8gIiRhY19jdl9wcm9nX2NjX2M4OSIgPiY2OyB9IDs7Citl
c2FjCitpZiB0ZXN0ICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiAhPSB4bm87IHRoZW4gOgorCiBmaQog
CithY19leHQ9YworYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyRDQyAtYyAk
Q0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKK2FjX2xpbms9JyRDQyAtbyBj
b25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFj
X2V4dCAkTElCUyA+JjUnCithY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CiAK
LWZpCi1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PQ0FNTCI7IHRoZW4KLSAgYWNfY3RfT0NBTUw9
JE9DQU1MCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2NhbWwiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sOyBhY193b3JkPSQy
Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAk
YWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7
IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTCtzZXR9IiA9IHNldDsgdGhlbiA6
Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRo
ZXIgJHtNQUtFLW1ha2V9IHNldHMgXCQoTUFLRSkiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcg
d2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBcJChNQUtFKS4uLiAiID4mNjsgfQorc2V0IHggJHtN
QUtFLW1ha2V9CithY19tYWtlPWAkYXNfZWNobyAiJDIiIHwgc2VkICdzLysvcC9nOyBzL1teYS16
QS1aMC05X10vXy9nJ2AKK2lmIGV2YWwgInRlc3QgXCJcJHthY19jdl9wcm9nX21ha2VfJHthY19t
YWtlfV9zZXQrc2V0fVwiIiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTCI7IHRoZW4KLSAgYWNfY3ZfcHJv
Z19hY19jdF9PQ0FNTD0iJGFjX2N0X09DQU1MIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUg
dGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBh
c19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2Rp
ciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVf
ZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhl
bgotICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUw9Im9jYW1sIgotICAgICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19l
eHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lG
UwotCi1maQotZmkKLWFjX2N0X09DQU1MPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MCi1pZiB0ZXN0
IC1uICIkYWNfY3RfT0NBTUwiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NBTUwiID4mNQotJGFzX2VjaG8gIiRhY19jdF9P
Q0FNTCIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKLQotICBpZiB0
ZXN0ICJ4JGFjX2N0X09DQU1MIiA9IHg7IHRoZW4KLSAgICBPQ0FNTD0ibm8iCi0gIGVsc2UKLSAg
ICBjYXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0
b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19t
ZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlw
bGV0IiA+JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7CisgIGNhdCA+Y29uZnRlc3QubWFrZSA8
PFxfQUNFT0YKK1NIRUxMID0gL2Jpbi9zaAorYWxsOgorCUBlY2hvICdAQEAlJSU9JChNQUtFKT1A
QEAlJSUnCitfQUNFT0YKKyMgR05VIG1ha2Ugc29tZXRpbWVzIHByaW50cyAibWFrZVsxXTogRW50
ZXJpbmcgLi4uIiwgd2hpY2ggd291bGQgY29uZnVzZSB1cy4KK2Nhc2UgYCR7TUFLRS1tYWtlfSAt
ZiBjb25mdGVzdC5tYWtlIDI+L2Rldi9udWxsYCBpbgorICAqQEBAJSUlPT8qPUBAQCUlJSopCisg
ICAgZXZhbCBhY19jdl9wcm9nX21ha2VfJHthY19tYWtlfV9zZXQ9eWVzOzsKKyAgKikKKyAgICBl
dmFsIGFjX2N2X3Byb2dfbWFrZV8ke2FjX21ha2V9X3NldD1ubzs7CiBlc2FjCi0gICAgT0NBTUw9
JGFjX2N0X09DQU1MCi0gIGZpCitybSAtZiBjb25mdGVzdC5tYWtlCitmaQoraWYgZXZhbCB0ZXN0
IFwkYWNfY3ZfcHJvZ19tYWtlXyR7YWNfbWFrZX1fc2V0ID0geWVzOyB0aGVuCisgIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2Vj
aG8gInllcyIgPiY2OyB9CisgIFNFVF9NQUtFPQogZWxzZQotICBPQ0FNTD0iJGFjX2N2X3Byb2df
T0NBTUwiCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorICBTRVRfTUFLRT0iTUFLRT0ke01BS0Ut
bWFrZX0iCiBmaQogCi0KLSAgIyBjaGVja2luZyBmb3Igb2NhbWxkZXAKLSAgaWYgdGVzdCAtbiAi
JGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7
YWNfdG9vbF9wcmVmaXh9b2NhbWxkZXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0
aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b2NhbWxkZXA7IGFjX3dvcmQ9JDIK
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRh
Y193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsg
fQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MREVQK3NldH0iID0gc2V0OyB0aGVuIDoKKyMg
RmluZCBhIGdvb2QgaW5zdGFsbCBwcm9ncmFtLiAgV2UgcHJlZmVyIGEgQyBwcm9ncmFtIChmYXN0
ZXIpLAorIyBzbyBvbmUgc2NyaXB0IGlzIGFzIGdvb2QgYXMgYW5vdGhlci4gIEJ1dCBhdm9pZCB0
aGUgYnJva2VuIG9yCisjIGluY29tcGF0aWJsZSB2ZXJzaW9uczoKKyMgU3lzViAvZXRjL2luc3Rh
bGwsIC91c3Ivc2Jpbi9pbnN0YWxsCisjIFN1bk9TIC91c3IvZXRjL2luc3RhbGwKKyMgSVJJWCAv
c2Jpbi9pbnN0YWxsCisjIEFJWCAvYmluL2luc3RhbGwKKyMgQW1pZ2FPUyAvQy9pbnN0YWxsLCB3
aGljaCBpbnN0YWxscyBib290YmxvY2tzIG9uIGZsb3BweSBkaXNjcworIyBBSVggNCAvdXNyL2Jp
bi9pbnN0YWxsYnNkLCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aG91dCBhIC1nIGZsYWcKKyMgQUZT
IC91c3IvYWZzd3MvYmluL2luc3RhbGwsIHdoaWNoIG1pc2hhbmRsZXMgbm9uZXhpc3RlbnQgYXJn
cworIyBTVlI0IC91c3IvdWNiL2luc3RhbGwsIHdoaWNoIHRyaWVzIHRvIHVzZSB0aGUgbm9uZXhp
c3RlbnQgZ3JvdXAgInN0YWZmIgorIyBPUy8yJ3Mgc3lzdGVtIGluc3RhbGwsIHdoaWNoIGhhcyBh
IGNvbXBsZXRlbHkgZGlmZmVyZW50IHNlbWFudGljCisjIC4vaW5zdGFsbCwgd2hpY2ggY2FuIGJl
IGVycm9uZW91c2x5IGNyZWF0ZWQgYnkgbWFrZSBmcm9tIC4vaW5zdGFsbC5zaC4KKyMgUmVqZWN0
IGluc3RhbGwgcHJvZ3JhbXMgdGhhdCBjYW5ub3QgaW5zdGFsbCBtdWx0aXBsZSBmaWxlcy4KK3sg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGEgQlNE
LWNvbXBhdGlibGUgaW5zdGFsbCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgYSBCU0Qt
Y29tcGF0aWJsZSBpbnN0YWxsLi4uICIgPiY2OyB9CitpZiB0ZXN0IC16ICIkSU5TVEFMTCI7IHRo
ZW4KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuIDoKICAg
JGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgaWYgdGVzdCAtbiAiJE9DQU1MREVQ
IjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MREVQPSIkT0NBTUxERVAiICMgTGV0IHRoZSB1c2Vy
IG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NF
UEFSQVRPUgorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNf
ZGlyIGluICRQQVRICiBkbwogICBJRlM9JGFzX3NhdmVfSUZTCiAgIHRlc3QgLXogIiRhc19kaXIi
ICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4
dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4
dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4K
LSAgICBhY19jdl9wcm9nX09DQU1MREVQPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwIgotICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKKyAgICAjIEFj
Y291bnQgZm9yIHBlb3BsZSB3aG8gcHV0IHRyYWlsaW5nIHNsYXNoZXMgaW4gUEFUSCBlbGVtZW50
cy4KK2Nhc2UgJGFzX2Rpci8gaW4gIygoCisgIC4vIHwgLi8vIHwgL1tjQ10vKiB8IFwKKyAgL2V0
Yy8qIHwgL3Vzci9zYmluLyogfCAvdXNyL2V0Yy8qIHwgL3NiaW4vKiB8IC91c3IvYWZzd3MvYmlu
LyogfCBcCisgID86W1xcL11vczJbXFwvXWluc3RhbGxbXFwvXSogfCA/OltcXC9dT1MyW1xcL11J
TlNUQUxMW1xcL10qIHwgXAorICAvdXNyL3VjYi8qICkgOzsKKyAgKikKKyAgICAjIE9TRjEgYW5k
IFNDTyBPRFQgMy4wIGhhdmUgdGhlaXIgb3duIG5hbWVzIGZvciBpbnN0YWxsLgorICAgICMgRG9u
J3QgdXNlIGluc3RhbGxic2QgZnJvbSBPU0Ygc2luY2UgaXQgaW5zdGFsbHMgc3R1ZmYgYXMgcm9v
dAorICAgICMgYnkgZGVmYXVsdC4KKyAgICBmb3IgYWNfcHJvZyBpbiBnaW5zdGFsbCBzY29pbnN0
IGluc3RhbGw7IGRvCisgICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVf
ZXh0ZW5zaW9uczsgZG8KKwlpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19l
eHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiOyB9OyB0aGVu
CisJICBpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorCSAgICBncmVwIGRzcG1zZyAiJGFz
X2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICAgICMg
QUlYIGluc3RhbGwuICBJdCBoYXMgYW4gaW5jb21wYXRpYmxlIGNhbGxpbmcgY29udmVudGlvbi4K
KwkgICAgOgorCSAgZWxpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorCSAgICBncmVwIHB3
cGx1cyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
CisJICAgICMgcHJvZ3JhbS1zcGVjaWZpYyBpbnN0YWxsIHNjcmlwdCB1c2VkIGJ5IEhQIHB3cGx1
cy0tZG9uJ3QgdXNlLgorCSAgICA6CisJICBlbHNlCisJICAgIHJtIC1yZiBjb25mdGVzdC5vbmUg
Y29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgorCSAgICBlY2hvIG9uZSA+IGNvbmZ0ZXN0Lm9uZQor
CSAgICBlY2hvIHR3byA+IGNvbmZ0ZXN0LnR3bworCSAgICBta2RpciBjb25mdGVzdC5kaXIKKwkg
ICAgaWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiIC1jIGNvbmZ0ZXN0Lm9uZSBjb25m
dGVzdC50d28gImBwd2RgL2NvbmZ0ZXN0LmRpciIgJiYKKwkgICAgICB0ZXN0IC1zIGNvbmZ0ZXN0
Lm9uZSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0LnR3byAmJgorCSAgICAgIHRlc3QgLXMgY29uZnRlc3Qu
ZGlyL2NvbmZ0ZXN0Lm9uZSAmJgorCSAgICAgIHRlc3QgLXMgY29uZnRlc3QuZGlyL2NvbmZ0ZXN0
LnR3bworCSAgICB0aGVuCisJICAgICAgYWNfY3ZfcGF0aF9pbnN0YWxsPSIkYXNfZGlyLyRhY19w
cm9nJGFjX2V4ZWNfZXh0IC1jIgorCSAgICAgIGJyZWFrIDMKKwkgICAgZmkKKwkgIGZpCisJZmkK
KyAgICAgIGRvbmUKKyAgICBkb25lCisgICAgOzsKK2VzYWMKKwogICBkb25lCiBJRlM9JGFzX3Nh
dmVfSUZTCiAKK3JtIC1yZiBjb25mdGVzdC5vbmUgY29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgor
CiBmaQorICBpZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgor
ICAgIElOU1RBTEw9JGFjX2N2X3BhdGhfaW5zdGFsbAorICBlbHNlCisgICAgIyBBcyBhIGxhc3Qg
cmVzb3J0LCB1c2UgdGhlIHNsb3cgc2hlbGwgc2NyaXB0LiAgRG9uJ3QgY2FjaGUgYQorICAgICMg
dmFsdWUgZm9yIElOU1RBTEwgd2l0aGluIGEgc291cmNlIGRpcmVjdG9yeSwgYmVjYXVzZSB0aGF0
IHdpbGwKKyAgICAjIGJyZWFrIG90aGVyIHBhY2thZ2VzIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGF0
IGRpcmVjdG9yeSBpcworICAgICMgcmVtb3ZlZCwgb3IgaWYgdGhlIHZhbHVlIGlzIGEgcmVsYXRp
dmUgbmFtZS4KKyAgICBJTlNUQUxMPSRhY19pbnN0YWxsX3NoCisgIGZpCiBmaQotT0NBTUxERVA9
JGFjX2N2X3Byb2dfT0NBTUxERVAKLWlmIHRlc3QgLW4gIiRPQ0FNTERFUCI7IHRoZW4KLSAgeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRPQ0FNTERFUCIg
PiY1Ci0kYXNfZWNobyAiJE9DQU1MREVQIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIg
PiY2OyB9Ci1maQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6ICRJTlNUQUxMIiA+JjUKKyRhc19lY2hvICIkSU5TVEFMTCIgPiY2OyB9CiAKKyMgVXNlIHRl
c3QgLXogYmVjYXVzZSBTdW5PUzQgc2ggbWlzaGFuZGxlcyBicmFjZXMgaW4gJHt2YXItdmFsfS4K
KyMgSXQgdGhpbmtzIHRoZSBmaXJzdCBjbG9zZSBicmFjZSBlbmRzIHRoZSB2YXJpYWJsZSBzdWJz
dGl0dXRpb24uCit0ZXN0IC16ICIkSU5TVEFMTF9QUk9HUkFNIiAmJiBJTlNUQUxMX1BST0dSQU09
JyR7SU5TVEFMTH0nCiAKLWZpCi1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PQ0FNTERFUCI7IHRo
ZW4KLSAgYWNfY3RfT0NBTUxERVA9JE9DQU1MREVQCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29y
ZCBvZiAib2NhbWxkZXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgot
c2V0IGR1bW15IG9jYW1sZGVwOyBhY193b3JkPSQyCit0ZXN0IC16ICIkSU5TVEFMTF9TQ1JJUFQi
ICYmIElOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JworCit0ZXN0IC16ICIkSU5TVEFMTF9EQVRB
IiAmJiBJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JworCisjIEV4dHJhY3QgdGhlIGZp
cnN0IHdvcmQgb2YgImJpc29uIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJn
cy4KK3NldCBkdW1teSBiaXNvbjsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2df
YWNfY3RfT0NBTUxERVArc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wYXRo
X0JJU09OK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
IGVsc2UKLSAgaWYgdGVzdCAtbiAiJGFjX2N0X09DQU1MREVQIjsgdGhlbgotICBhY19jdl9wcm9n
X2FjX2N0X09DQU1MREVQPSIkYWNfY3RfT0NBTUxERVAiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl
IHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgor
ICBjYXNlICRCSVNPTiBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9CSVNP
Tj0iJEJJU09OIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4K
KyAgOzsKKyAgKikKKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9y
IGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIkYXNf
ZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJs
ZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhl
Y19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0
aGVuCi0gICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERFUD0ib2NhbWxkZXAiCisgICAgYWNfY3Zf
cGF0aF9CSVNPTj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKICAgICAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01ODMzLDUzICszNTY1LDM5IEBAIGRv
bmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCisgIDs7Citlc2FjCiBmaQotZmkKLWFjX2N0
X09DQU1MREVQPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MREVQCi1pZiB0ZXN0IC1uICIkYWNfY3Rf
T0NBTUxERVAiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiAkYWNfY3RfT0NBTUxERVAiID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTERF
UCIgPiY2OyB9CitCSVNPTj0kYWNfY3ZfcGF0aF9CSVNPTgoraWYgdGVzdCAtbiAiJEJJU09OIjsg
dGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JEJJU09OIiA+JjUKKyRhc19lY2hvICIkQklTT04iID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8g
Im5vIiA+JjY7IH0KIGZpCiAKLSAgaWYgdGVzdCAieCRhY19jdF9PQ0FNTERFUCIgPSB4OyB0aGVu
Ci0gICAgT0NBTUxERVA9Im5vIgotICBlbHNlCi0gICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRh
Y190b29sX3dhcm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9z
dCB0cmlwbGV0IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRv
b2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KLWFjX3Rvb2xfd2FybmVk
PXllcyA7OwotZXNhYwotICAgIE9DQU1MREVQPSRhY19jdF9PQ0FNTERFUAotICBmaQotZWxzZQot
ICBPQ0FNTERFUD0iJGFjX2N2X3Byb2dfT0NBTUxERVAiCi1maQotCiAKLSAgIyBjaGVja2luZyBm
b3Igb2NhbWxta3RvcAotICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICMg
RXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vY2FtbG1rdG9wIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSAke2FjX3Rv
b2xfcHJlZml4fW9jYW1sbWt0b3A7IGFjX3dvcmQ9JDIKKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29y
ZCBvZiAiZmxleCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQg
ZHVtbXkgZmxleDsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NBTUxNS1RP
UCtzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfRkxFWCtzZXR9IiA9
IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRl
c3QgLW4gIiRPQ0FNTE1LVE9QIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MTUtUT1A9IiRPQ0FN
TE1LVE9QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgY2FzZSAkRkxFWCBpbgorICBbXFwvXSog
fCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9GTEVYPSIkRkxFWCIgIyBMZXQgdGhlIHVzZXIgb3Zl
cnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJ
RlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0k
YXNfc2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNf
ZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0
IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGly
LyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxNS1RP
UD0iJHthY190b29sX3ByZWZpeH1vY2FtbG1rdG9wIgorICAgIGFjX2N2X3BhdGhfRkxFWD0iJGFz
X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAg
ICBicmVhayAyCiAgIGZpCkBAIC01ODg3LDM5ICszNjA1LDM5IEBAIGRvbmUKICAgZG9uZQogSUZT
PSRhc19zYXZlX0lGUwogCisgIDs7Citlc2FjCiBmaQotZmkKLU9DQU1MTUtUT1A9JGFjX2N2X3By
b2dfT0NBTUxNS1RPUAotaWYgdGVzdCAtbiAiJE9DQU1MTUtUT1AiOyB0aGVuCi0gIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkT0NBTUxNS1RPUCIgPiY1
Ci0kYXNfZWNobyAiJE9DQU1MTUtUT1AiID4mNjsgfQorRkxFWD0kYWNfY3ZfcGF0aF9GTEVYCitp
ZiB0ZXN0IC1uICIkRkxFWCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRGTEVYIiA+JjUKKyRhc19lY2hvICIkRkxFWCIgPiY2OyB9CiBl
bHNlCiAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBu
byIgPiY1CiAkYXNfZWNobyAibm8iID4mNjsgfQogZmkKIAogCi1maQotaWYgdGVzdCAteiAiJGFj
X2N2X3Byb2dfT0NBTUxNS1RPUCI7IHRoZW4KLSAgYWNfY3RfT0NBTUxNS1RPUD0kT0NBTUxNS1RP
UAotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sbWt0b3AiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sbWt0b3A7IGFjX3dv
cmQ9JDIKKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicGVybCIsIHNvIGl0IGNhbiBiZSBh
IHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgcGVybDsgYWNfd29yZD0kMgogeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dv
cmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0NBTUxNS1RPUCtzZXR9IiA9IHNldDsgdGhlbiA6
CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfUEVSTCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE1L
VE9QIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MTUtUT1A9IiRhY19jdF9PQ0FNTE1L
VE9QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZT
PSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgY2FzZSAkUEVSTCBpbgorICBbXFwvXSogfCA/
OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9QRVJMPSIkUEVSTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJRlM7
IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNf
c2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhl
Y19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1m
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxN
S1RPUD0ib2NhbWxta3RvcCIKKyAgICBhY19jdl9wYXRoX1BFUkw9IiRhc19kaXIvJGFjX3dvcmQk
YWNfZXhlY19leHQiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Zm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJlYWsgMgogICBm
aQpAQCAtNTkyNyw1MyArMzY0NSw0NiBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNfc2F2ZV9JRlMK
IAorICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9QRVJMIiAmJiBhY19jdl9wYXRoX1BFUkw9Im5vIgor
ICA7OworZXNhYwogZmkKLWZpCi1hY19jdF9PQ0FNTE1LVE9QPSRhY19jdl9wcm9nX2FjX2N0X09D
QU1MTUtUT1AKLWlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE1LVE9QIjsgdGhlbgotICB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MTUtU
T1AiID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTE1LVE9QIiA+JjY7IH0KK1BFUkw9JGFjX2N2
X3BhdGhfUEVSTAoraWYgdGVzdCAtbiAiJFBFUkwiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUEVSTCIgPiY1CiskYXNfZWNobyAiJFBF
UkwiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKLSAgaWYgdGVz
dCAieCRhY19jdF9PQ0FNTE1LVE9QIiA9IHg7IHRoZW4KLSAgICBPQ0FNTE1LVE9QPSJubyIKLSAg
ZWxzZQotICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KLXllczop
Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5n
IGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1Ci0kYXNfZWNo
byAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBo
b3N0IHRyaXBsZXQiID4mMjt9Ci1hY190b29sX3dhcm5lZD15ZXMgOzsKLWVzYWMKLSAgICBPQ0FN
TE1LVE9QPSRhY19jdF9PQ0FNTE1LVE9QCi0gIGZpCi1lbHNlCi0gIE9DQU1MTUtUT1A9IiRhY19j
dl9wcm9nX09DQU1MTUtUT1AiCi1maQogCitpZiB0ZXN0IHgiJHtQRVJMfSIgPT0geCJubyIKK3Ro
ZW4KKyAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgcGVybCwgcGxlYXNlIGluc3Rh
bGwgcGVybCIgIiRMSU5FTk8iIDUKK2ZpCitpZiB0ZXN0ICJ4JHhhcGkiID0gInh5IjsgdGhlbiA6
CiAKLSAgIyBjaGVja2luZyBmb3Igb2NhbWxta2xpYgotICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9w
cmVmaXgiOyB0aGVuCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3By
ZWZpeH1vY2FtbG1rbGliIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4K
LXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sbWtsaWI7IGFjX3dvcmQ9JDIKKyAgICAj
IEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImN1cmwtY29uZmlnIiwgc28gaXQgY2FuIGJlIGEg
cHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBjdXJsLWNvbmZpZzsgYWNfd29yZD0k
MgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Ig
JGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2
OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NBTUxNS0xJQitzZXR9IiA9IHNldDsgdGhlbiA6
CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfQ1VSTCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRPQ0FNTE1LTElCIjsg
dGhlbgotICBhY19jdl9wcm9nX09DQU1MTUtMSUI9IiRPQ0FNTE1LTElCIiAjIExldCB0aGUgdXNl
ciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9T
RVBBUkFUT1IKKyAgY2FzZSAkQ1VSTCBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3Zf
cGF0aF9DVVJMPSIkQ1VSTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBh
IHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFU
T1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAt
eiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4
ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxNS0xJQj0iJHthY190b29sX3ByZWZpeH1v
Y2FtbG1rbGliIgorICAgIGFjX2N2X3BhdGhfQ1VSTD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAk
YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01
OTgxLDM5ICszNjkyLDQ0IEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCisgIHRl
c3QgLXogIiRhY19jdl9wYXRoX0NVUkwiICYmIGFjX2N2X3BhdGhfQ1VSTD0ibm8iCisgIDs7Citl
c2FjCiBmaQotZmkKLU9DQU1MTUtMSUI9JGFjX2N2X3Byb2dfT0NBTUxNS0xJQgotaWYgdGVzdCAt
biAiJE9DQU1MTUtMSUIiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkT0NBTUxNS0xJQiIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MTUtMSUIi
ID4mNjsgfQorQ1VSTD0kYWNfY3ZfcGF0aF9DVVJMCitpZiB0ZXN0IC1uICIkQ1VSTCI7IHRoZW4K
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDVVJM
IiA+JjUKKyRhc19lY2hvICIkQ1VSTCIgPiY2OyB9CiBlbHNlCiAgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiAkYXNfZWNobyAibm8iID4m
NjsgfQogZmkKIAogCitpZiB0ZXN0IHgiJHtDVVJMfSIgPT0geCJubyIKK3RoZW4KKyAgICBhc19m
bl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgY3VybC1jb25maWcsIHBsZWFzZSBpbnN0YWxsIGN1
cmwtY29uZmlnIiAiJExJTkVOTyIgNQogZmkKLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1M
TUtMSUIiOyB0aGVuCi0gIGFjX2N0X09DQU1MTUtMSUI9JE9DQU1MTUtMSUIKLSAgIyBFeHRyYWN0
IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbG1rbGliIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBvY2FtbG1rbGliOyBhY193b3JkPSQyCisgICAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJ4bWwyLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHBy
b2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgeG1sMi1jb25maWc7IGFjX3dvcmQ9JDIK
IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRh
Y193b3JkIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsg
fQotaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1MTUtMSUIrc2V0fSIgPSBzZXQ7IHRo
ZW4gOgoraWYgdGVzdCAiJHthY19jdl9wYXRoX1hNTCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FN
TE1LTElCIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MTUtMSUI9IiRhY19jdF9PQ0FN
TE1LTElCIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgY2FzZSAkWE1MIGluCisgIFtcXC9dKiB8
ID86W1xcL10qKQorICBhY19jdl9wYXRoX1hNTD0iJFhNTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJRlM7
IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNf
c2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhl
Y19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1m
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxN
S0xJQj0ib2NhbWxta2xpYiIKKyAgICBhY19jdl9wYXRoX1hNTD0iJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBm
b3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZp
CkBAIC02MDIxLDQ0ICszNzM3LDM5IEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwog
CisgIHRlc3QgLXogIiRhY19jdl9wYXRoX1hNTCIgJiYgYWNfY3ZfcGF0aF9YTUw9Im5vIgorICA7
OworZXNhYwogZmkKLWZpCi1hY19jdF9PQ0FNTE1LTElCPSRhY19jdl9wcm9nX2FjX2N0X09DQU1M
TUtMSUIKLWlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE1LTElCIjsgdGhlbgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MTUtMSUIi
ID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTE1LTElCIiA+JjY7IH0KK1hNTD0kYWNfY3ZfcGF0
aF9YTUwKK2lmIHRlc3QgLW4gIiRYTUwiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkWE1MIiA+JjUKKyRhc19lY2hvICIkWE1MIiA+JjY7
IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0gIGlmIHRlc3QgIngkYWNf
Y3RfT0NBTUxNS0xJQiIgPSB4OyB0aGVuCi0gICAgT0NBTUxNS0xJQj0ibm8iCi0gIGVsc2UKLSAg
ICBjYXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0
b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19t
ZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlw
bGV0IiA+JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7Ci1lc2FjCi0gICAgT0NBTUxNS0xJQj0k
YWNfY3RfT0NBTUxNS0xJQgotICBmaQotZWxzZQotICBPQ0FNTE1LTElCPSIkYWNfY3ZfcHJvZ19P
Q0FNTE1LTElCIgorCitpZiB0ZXN0IHgiJHtYTUx9IiA9PSB4Im5vIgordGhlbgorICAgIGFzX2Zu
X2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCB4bWwyLWNvbmZpZywgcGxlYXNlIGluc3RhbGwgeG1s
Mi1jb25maWciICIkTElORU5PIiA1CiBmaQogCitmaQoraWYgdGVzdCAieCRvY2FtbHRvb2xzIiA9
ICJ4eSI7IHRoZW4gOgogCi0gICMgY2hlY2tpbmcgZm9yIG9jYW1sZG9jCisgICAgICAjIGNoZWNr
aW5nIGZvciBvY2FtbGMKICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAj
IEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxkb2MiLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9v
bF9wcmVmaXh9b2NhbWxkb2M7IGFjX3dvcmQ9JDIKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFt
ZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbGM7IGFjX3dvcmQ9
JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9y
ICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4m
NjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MRE9DK3NldH0iID0gc2V0OyB0aGVuIDoK
K2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FNTEMrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNf
ZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0ZXN0IC1uICIkT0NBTUxET0MiOyB0
aGVuCi0gIGFjX2N2X3Byb2dfT0NBTUxET0M9IiRPQ0FNTERPQyIgIyBMZXQgdGhlIHVzZXIgb3Zl
cnJpZGUgdGhlIHRlc3QuCisgIGlmIHRlc3QgLW4gIiRPQ0FNTEMiOyB0aGVuCisgIGFjX2N2X3By
b2dfT0NBTUxDPSIkT0NBTUxDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVs
c2UKIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4g
JFBBVEgKQEAgLTYwNjcsNyArMzc3OCw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFz
X2Rpcj0uCiAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lv
bnM7IGRvCiAgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYg
JGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBh
Y19jdl9wcm9nX09DQU1MRE9DPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZG9jIgorICAgIGFjX2N2
X3Byb2dfT0NBTUxDPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sYyIKICAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC02MDc3LDEwICszNzg4LDEwIEBAIElGUz0k
YXNfc2F2ZV9JRlMKIAogZmkKIGZpCi1PQ0FNTERPQz0kYWNfY3ZfcHJvZ19PQ0FNTERPQwotaWYg
dGVzdCAtbiAiJE9DQU1MRE9DIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MRE9DIiA+JjUKLSRhc19lY2hvICIkT0NBTUxET0Mi
ID4mNjsgfQorT0NBTUxDPSRhY19jdl9wcm9nX09DQU1MQworaWYgdGVzdCAtbiAiJE9DQU1MQyI7
IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRPQ0FNTEMiID4mNQorJGFzX2VjaG8gIiRPQ0FNTEMiID4mNjsgfQogZWxzZQogICB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2Vj
aG8gIm5vIiA+JjY7IH0KQEAgLTYwODgsMTcgKzM3OTksMTcgQEAgZmkKIAogCiBmaQotaWYgdGVz
dCAteiAiJGFjX2N2X3Byb2dfT0NBTUxET0MiOyB0aGVuCi0gIGFjX2N0X09DQU1MRE9DPSRPQ0FN
TERPQwotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sZG9jIiwgc28gaXQgY2Fu
IGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBvY2FtbGRvYzsgYWNfd29y
ZD0kMgoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxDIjsgdGhlbgorICBhY19jdF9PQ0FN
TEM9JE9DQU1MQworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sYyIsIHNvIGl0
IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb2NhbWxjOyBhY193
b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERPQytzZXR9IiA9IHNl
dDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0NBTUxDK3NldH0iID0gc2V0
OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgaWYgdGVzdCAt
biAiJGFjX2N0X09DQU1MRE9DIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MRE9DPSIk
YWNfY3RfT0NBTUxET0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorICBpZiB0
ZXN0IC1uICIkYWNfY3RfT0NBTUxDIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQz0i
JGFjX2N0X09DQU1MQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCiBlbHNlCiBh
c19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRI
CkBAIC02MTA3LDcgKzM4MTgsNyBAQCBkbwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9
LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBk
bwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190
ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3Zf
cHJvZ19hY19jdF9PQ0FNTERPQz0ib2NhbWxkb2MiCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FN
TEM9Im9jYW1sYyIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBm
b3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZp
CkBAIC02MTE3LDE3ICszODI4LDE3IEBAIElGUz0kYXNfc2F2ZV9JRlMKIAogZmkKIGZpCi1hY19j
dF9PQ0FNTERPQz0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERPQwotaWYgdGVzdCAtbiAiJGFjX2N0
X09DQU1MRE9DIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJGFjX2N0X09DQU1MRE9DIiA+JjUKLSRhc19lY2hvICIkYWNfY3RfT0NBTUxE
T0MiID4mNjsgfQorYWNfY3RfT0NBTUxDPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MQworaWYgdGVz
dCAtbiAiJGFjX2N0X09DQU1MQyI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTEMiID4mNQorJGFzX2VjaG8gIiRhY19j
dF9PQ0FNTEMiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKLSAg
aWYgdGVzdCAieCRhY19jdF9PQ0FNTERPQyIgPSB4OyB0aGVuCi0gICAgT0NBTUxET0M9Im5vIgor
ICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MQyIgPSB4OyB0aGVuCisgICAgT0NBTUxDPSJubyIKICAg
ZWxzZQogICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KIHllczop
CkBAIC02MTM1LDI0ICszODQ2LDQxIEBAIHllczopCiAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5H
OiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9
CiBhY190b29sX3dhcm5lZD15ZXMgOzsKIGVzYWMKLSAgICBPQ0FNTERPQz0kYWNfY3RfT0NBTUxE
T0MKKyAgICBPQ0FNTEM9JGFjX2N0X09DQU1MQwogICBmaQogZWxzZQotICBPQ0FNTERPQz0iJGFj
X2N2X3Byb2dfT0NBTUxET0MiCisgIE9DQU1MQz0iJGFjX2N2X3Byb2dfT0NBTUxDIgogZmkKIAog
Ci0gICMgY2hlY2tpbmcgZm9yIG9jYW1sYnVpbGQKLSAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJl
Zml4IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVm
aXh9b2NhbWxidWlsZCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1z
ZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbGJ1aWxkOyBhY193b3JkPSQyCisgIGlmIHRl
c3QgIiRPQ0FNTEMiICE9ICJubyI7IHRoZW4KKyAgICAgT0NBTUxWRVJTSU9OPWAkT0NBTUxDIC12
IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lvbiogKlwoLipcKSR8XDF8cCdgCisgICAgIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBPQ2FtbCB2ZXJzaW9uIGlz
ICRPQ0FNTFZFUlNJT04iID4mNQorJGFzX2VjaG8gIk9DYW1sIHZlcnNpb24gaXMgJE9DQU1MVkVS
U0lPTiIgPiY2OyB9CisgICAgICMgSWYgT0NBTUxMSUIgaXMgc2V0LCB1c2UgaXQKKyAgICAgaWYg
dGVzdCAiJE9DQU1MTElCIiA9ICIiOyB0aGVuCisgICAgICAgIE9DQU1MTElCPWAkT0NBTUxDIC13
aGVyZSAyPi9kZXYvbnVsbCB8fCAkT0NBTUxDIC12fHRhaWwgLTF8Y3V0IC1kICcgJyAtZiA0YAor
ICAgICBlbHNlCisgICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBPQ0FNTExJQiBwcmV2aW91c2x5IHNldDsgcHJlc2VydmluZyBpdC4iID4mNQor
JGFzX2VjaG8gIk9DQU1MTElCIHByZXZpb3VzbHkgc2V0OyBwcmVzZXJ2aW5nIGl0LiIgPiY2OyB9
CisgICAgIGZpCisgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiBPQ2FtbCBsaWJyYXJ5IHBhdGggaXMgJE9DQU1MTElCIiA+JjUKKyRhc19lY2hvICJP
Q2FtbCBsaWJyYXJ5IHBhdGggaXMgJE9DQU1MTElCIiA+JjY7IH0KKworCisKKworICAgICAjIGNo
ZWNraW5nIGZvciBvY2FtbG9wdAorICAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0
aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vY2Ft
bG9wdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkg
JHthY190b29sX3ByZWZpeH1vY2FtbG9wdDsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2
X3Byb2dfT0NBTUxCVUlMRCtzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3By
b2dfT0NBTUxPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAi
ID4mNgogZWxzZQotICBpZiB0ZXN0IC1uICIkT0NBTUxCVUlMRCI7IHRoZW4KLSAgYWNfY3ZfcHJv
Z19PQ0FNTEJVSUxEPSIkT0NBTUxCVUlMRCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRl
c3QuCisgIGlmIHRlc3QgLW4gIiRPQ0FNTE9QVCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PQ0FNTE9Q
VD0iJE9DQU1MT1BUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVsc2UKIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgK
QEAgLTYxNjEsNyArMzg4OSw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0u
CiAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRv
CiAgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rl
c3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9w
cm9nX09DQU1MQlVJTEQ9IiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxidWlsZCIKKyAgICBhY19jdl9w
cm9nX09DQU1MT1BUPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sb3B0IgogICAgICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhl
Y19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTYxNzEsMTAgKzM4OTksMTAgQEAgSUZT
PSRhc19zYXZlX0lGUwogCiBmaQogZmkKLU9DQU1MQlVJTEQ9JGFjX2N2X3Byb2dfT0NBTUxCVUlM
RAotaWYgdGVzdCAtbiAiJE9DQU1MQlVJTEQiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkT0NBTUxCVUlMRCIgPiY1Ci0kYXNfZWNobyAi
JE9DQU1MQlVJTEQiID4mNjsgfQorT0NBTUxPUFQ9JGFjX2N2X3Byb2dfT0NBTUxPUFQKK2lmIHRl
c3QgLW4gIiRPQ0FNTE9QVCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRPQ0FNTE9QVCIgPiY1CiskYXNfZWNobyAiJE9DQU1MT1BUIiA+
JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9CkBAIC02MTgyLDE3ICszOTEwLDE3
IEBAIGZpCiAKIAogZmkKLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MQlVJTEQiOyB0aGVu
Ci0gIGFjX2N0X09DQU1MQlVJTEQ9JE9DQU1MQlVJTEQKLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3
b3JkIG9mICJvY2FtbGJ1aWxkIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJn
cy4KLXNldCBkdW1teSBvY2FtbGJ1aWxkOyBhY193b3JkPSQyCitpZiB0ZXN0IC16ICIkYWNfY3Zf
cHJvZ19PQ0FNTE9QVCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxPUFQ9JE9DQU1MT1BUCisgICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2NhbWxvcHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFt
IG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9jYW1sb3B0OyBhY193b3JkPSQyCiB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTEJVSUxEK3NldH0iID0gc2V0OyB0aGVuIDoKK2lm
IHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE9QVCtzZXR9IiA9IHNldDsgdGhlbiA6CiAg
ICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9P
Q0FNTEJVSUxEIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQ9IiRhY19jdF9P
Q0FNTEJVSUxEIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyAgaWYgdGVzdCAt
biAiJGFjX2N0X09DQU1MT1BUIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MT1BUPSIk
YWNfY3RfT0NBTUxPUFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgogZWxzZQog
YXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFU
SApAQCAtNjIwMSw3ICszOTI5LDcgQEAgZG8KICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGly
PS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsg
ZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNf
dGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2
X3Byb2dfYWNfY3RfT0NBTUxCVUlMRD0ib2NhbWxidWlsZCIKKyAgICBhY19jdl9wcm9nX2FjX2N0
X09DQU1MT1BUPSJvY2FtbG9wdCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVh
ayAyCiAgIGZpCkBAIC02MjExLDE3ICszOTM5LDE3IEBAIElGUz0kYXNfc2F2ZV9JRlMKIAogZmkK
IGZpCi1hY19jdF9PQ0FNTEJVSUxEPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQKLWlmIHRl
c3QgLW4gIiRhY19jdF9PQ0FNTEJVSUxEIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MQlVJTEQiID4mNQotJGFzX2Vj
aG8gIiRhY19jdF9PQ0FNTEJVSUxEIiA+JjY7IH0KK2FjX2N0X09DQU1MT1BUPSRhY19jdl9wcm9n
X2FjX2N0X09DQU1MT1BUCitpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxPUFQiOyB0aGVuCisgIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NB
TUxPUFQiID4mNQorJGFzX2VjaG8gIiRhY19jdF9PQ0FNTE9QVCIgPiY2OyB9CiBlbHNlCiAgIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiAk
YXNfZWNobyAibm8iID4mNjsgfQogZmkKIAotICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MQlVJTEQi
ID0geDsgdGhlbgotICAgIE9DQU1MQlVJTEQ9Im5vIgorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1M
T1BUIiA9IHg7IHRoZW4KKyAgICBPQ0FNTE9QVD0ibm8iCiAgIGVsc2UKICAgICBjYXNlICRjcm9z
c19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCiB5ZXM6KQpAQCAtNjIyOSw0NCArMzk1Nyw4
OSBAQCB5ZXM6KQogJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMg
bm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjI7fQogYWNfdG9vbF93YXJuZWQ9eWVz
IDs7CiBlc2FjCi0gICAgT0NBTUxCVUlMRD0kYWNfY3RfT0NBTUxCVUlMRAorICAgIE9DQU1MT1BU
PSRhY19jdF9PQ0FNTE9QVAogICBmaQogZWxzZQotICBPQ0FNTEJVSUxEPSIkYWNfY3ZfcHJvZ19P
Q0FNTEJVSUxEIgorICBPQ0FNTE9QVD0iJGFjX2N2X3Byb2dfT0NBTUxPUFQiCiBmaQogCisgICAg
IE9DQU1MQkVTVD1ieXRlCisgICAgIGlmIHRlc3QgIiRPQ0FNTE9QVCIgPSAibm8iOyB0aGVuCisJ
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBDYW5ub3Qg
ZmluZCBvY2FtbG9wdDsgYnl0ZWNvZGUgY29tcGlsYXRpb24gb25seS4iID4mNQorJGFzX2VjaG8g
IiRhc19tZTogV0FSTklORzogQ2Fubm90IGZpbmQgb2NhbWxvcHQ7IGJ5dGVjb2RlIGNvbXBpbGF0
aW9uIG9ubHkuIiA+JjI7fQorICAgICBlbHNlCisJVE1QVkVSU0lPTj1gJE9DQU1MT1BUIC12IHwg
c2VkIC1uIC1lICdzfC4qdmVyc2lvbiogKlwoLipcKSR8XDF8cCcgYAorCWlmIHRlc3QgIiRUTVBW
RVJTSU9OIiAhPSAiJE9DQU1MVkVSU0lPTiIgOyB0aGVuCisJICAgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB2ZXJzaW9ucyBkaWZmZXJzIGZyb20gb2Nh
bWxjOyBvY2FtbG9wdCBkaXNjYXJkZWQuIiA+JjUKKyRhc19lY2hvICJ2ZXJzaW9ucyBkaWZmZXJz
IGZyb20gb2NhbWxjOyBvY2FtbG9wdCBkaXNjYXJkZWQuIiA+JjY7IH0KKwkgICAgT0NBTUxPUFQ9
bm8KKwllbHNlCisJICAgIE9DQU1MQkVTVD1vcHQKKwlmaQorICAgICBmaQogCi0gICAgaWYgdGVz
dCAieCRPQ0FNTEMiID0gInhubyI7IHRoZW4gOgogCi0gICAgICAgIGlmIHRlc3QgIngkZW5hYmxl
X29jYW1sdG9vbHMiID0gInh5ZXMiOyB0aGVuIDoKIAotICAgICAgICAgICAgYXNfZm5fZXJyb3Ig
JD8gIk9jYW1sIHRvb2xzIGVuYWJsZWQsIGJ1dCB1bmFibGUgdG8gZmluZCBPY2FtbCIgIiRMSU5F
Tk8iIDUKLWZpCi0gICAgICAgIG9jYW1sdG9vbHM9Im4iCisgICAgICMgY2hlY2tpbmcgZm9yIG9j
YW1sYy5vcHQKKyAgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4
dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxjLm9wdCIsIHNv
IGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29s
X3ByZWZpeH1vY2FtbGMub3B0OyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJj
aGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19P
Q0FNTENET1RPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAi
ID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT0NBTUxDRE9UT1BUIjsgdGhlbgorICBhY19jdl9w
cm9nX09DQU1MQ0RPVE9QVD0iJE9DQU1MQ0RPVE9QVCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUg
dGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitm
b3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRh
c19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRh
YmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19l
eGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07
IHRoZW4KKyAgICBhY19jdl9wcm9nX09DQU1MQ0RPVE9QVD0iJHthY190b29sX3ByZWZpeH1vY2Ft
bGMub3B0IgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5k
ICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2Rv
bmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUwogCiBmaQorZmkKK09DQU1MQ0RPVE9QVD0kYWNf
Y3ZfcHJvZ19PQ0FNTENET1RPUFQKK2lmIHRlc3QgLW4gIiRPQ0FNTENET1RPUFQiOyB0aGVuCisg
IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkT0NBTUxD
RE9UT1BUIiA+JjUKKyRhc19lY2hvICIkT0NBTUxDRE9UT1BUIiA+JjY7IH0KK2Vsc2UKKyAgeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRh
c19lY2hvICJubyIgPiY2OyB9CitmaQorCiAKIGZpCi0jIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQg
b2YgImJhc2giLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1
bW15IGJhc2g7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MQ0RPVE9Q
VCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxDRE9UT1BUPSRPQ0FNTENET1RPUFQKKyAgIyBFeHRyYWN0
IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbGMub3B0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvY2FtbGMub3B0OyBhY193b3JkPSQyCiB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcGF0aF9CQVNIK3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNf
Y3ZfcHJvZ19hY19jdF9PQ0FNTENET1RPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNo
b19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBjYXNlICRCQVNIIGluCi0gIFtcXC9dKiB8ID86
W1xcL10qKQotICBhY19jdl9wYXRoX0JBU0g9IiRCQVNIIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KLSAgOzsKLSAgKikKLSAgYXNfc2F2ZV9JRlM9JElGUzsg
SUZTPSRQQVRIX1NFUEFSQVRPUgorICBpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxDRE9UT1BUIjsg
dGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQ0RPVE9QVD0iJGFjX2N0X09DQU1MQ0RPVE9Q
VCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRICiBkbwogICBJRlM9
JGFzX3NhdmVfSUZTCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX0JBU0g9IiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTENE
T1RPUFQ9Im9jYW1sYy5vcHQiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJlYWsg
MgogICBmaQpAQCAtNjI3NCw1NiArNDA0Nyw2MyBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNfc2F2
ZV9JRlMKIAotICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9CQVNIIiAmJiBhY19jdl9wYXRoX0JBU0g9
Im5vIgotICA7OwotZXNhYwogZmkKLUJBU0g9JGFjX2N2X3BhdGhfQkFTSAotaWYgdGVzdCAtbiAi
JEJBU0giOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiAkQkFTSCIgPiY1Ci0kYXNfZWNobyAiJEJBU0giID4mNjsgfQorZmkKK2FjX2N0X09D
QU1MQ0RPVE9QVD0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTENET1RPUFQKK2lmIHRlc3QgLW4gIiRh
Y19jdF9PQ0FNTENET1RPUFQiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NBTUxDRE9UT1BUIiA+JjUKKyRhc19lY2hvICIk
YWNfY3RfT0NBTUxDRE9UT1BUIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9
CiBmaQogCi0KLWlmIHRlc3QgeCIke0JBU0h9IiA9PSB4Im5vIgotdGhlbgotICAgIGFzX2ZuX2Vy
cm9yICQ/ICJVbmFibGUgdG8gZmluZCBiYXNoLCBwbGVhc2UgaW5zdGFsbCBiYXNoIiAiJExJTkVO
TyIgNQorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MQ0RPVE9QVCIgPSB4OyB0aGVuCisgICAgT0NB
TUxDRE9UT1BUPSJubyIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9v
bF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJp
cGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBu
b3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMg
OzsKK2VzYWMKKyAgICBPQ0FNTENET1RPUFQ9JGFjX2N0X09DQU1MQ0RPVE9QVAorICBmaQorZWxz
ZQorICBPQ0FNTENET1RPUFQ9IiRhY19jdl9wcm9nX09DQU1MQ0RPVE9QVCIKIGZpCi1pZiB0ZXN0
ICJ4JHB5dGhvbnRvb2xzIiA9ICJ4eSI7IHRoZW4gOgotCi0gICAgaWYgZWNobyAiJFBZVEhPTiIg
fCBncmVwIC1xICJeLyI7IHRoZW4gOgogCi0gICAgICAgIFBZVEhPTlBBVEg9JFBZVEhPTgotICAg
ICAgICBQWVRIT049YGJhc2VuYW1lICRQWVRIT05QQVRIYAorICAgICBpZiB0ZXN0ICIkT0NBTUxD
RE9UT1BUIiAhPSAibm8iOyB0aGVuCisJVE1QVkVSU0lPTj1gJE9DQU1MQ0RPVE9QVCAtdiB8IHNl
ZCAtbiAtZSAnc3wuKnZlcnNpb24qICpcKC4qXCkkfFwxfHAnIGAKKwlpZiB0ZXN0ICIkVE1QVkVS
U0lPTiIgIT0gIiRPQ0FNTFZFUlNJT04iIDsgdGhlbgorCSAgICB7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogdmVyc2lvbnMgZGlmZmVycyBmcm9tIG9jYW1s
Yzsgb2NhbWxjLm9wdCBkaXNjYXJkZWQuIiA+JjUKKyRhc19lY2hvICJ2ZXJzaW9ucyBkaWZmZXJz
IGZyb20gb2NhbWxjOyBvY2FtbGMub3B0IGRpc2NhcmRlZC4iID4mNjsgfQorCWVsc2UKKwkgICAg
T0NBTUxDPSRPQ0FNTENET1RPUFQKKwlmaQorICAgICBmaQogCi1lbGlmIHRlc3QgLXogIiRQWVRI
T04iOyB0aGVuIDoKLSAgUFlUSE9OPSJweXRob24iCi1lbHNlCi0gIGFzX2ZuX2Vycm9yICQ/ICJQ
WVRIT04gc3BlY2lmaWVkLCBidXQgaXMgbm90IGFuIGFic29sdXRlIHBhdGgiICIkTElORU5PIiA1
Ci1maQotICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJFBZVEhPTiIsIHNvIGl0IGNh
biBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJFBZVEhPTjsgYWNfd29y
ZD0kMgorICAgICAjIGNoZWNraW5nIGZvciBvY2FtbG9wdC5vcHQKKyAgICAgaWYgdGVzdCAiJE9D
QU1MT1BUIiAhPSAibm8iIDsgdGhlbgorCWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRo
ZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1s
b3B0Lm9wdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVt
bXkgJHthY190b29sX3ByZWZpeH1vY2FtbG9wdC5vcHQ7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUK
ICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAi
JHthY19jdl9wYXRoX1BZVEhPTlBBVEgrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHth
Y19jdl9wcm9nX09DQU1MT1BURE9UT1BUK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkUFlUSE9OUEFUSCBpbgotICBbXFwvXSog
fCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSIkUFlUSE9OUEFUSCIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICopCi0gIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAtbiAiJE9DQU1M
T1BURE9UT1BUIjsgdGhlbgorICBhY19jdl9wcm9nX09DQU1MT1BURE9UT1BUPSIkT0NBTUxPUFRE
T1RPUFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9J
RlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAg
SUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZv
ciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7
IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9QWVRI
T05QQVRIPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfT0NB
TUxPUFRET1RPUFQ9IiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxvcHQub3B0IgogICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTYzMzEsNjIgKzQxMTEsMzkgQEAg
ZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgdGVzdCAteiAiJGFjX2N2X3BhdGhf
UFlUSE9OUEFUSCIgJiYgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSJubyIKLSAgOzsKLWVzYWMKIGZp
Ci1QWVRIT05QQVRIPSRhY19jdl9wYXRoX1BZVEhPTlBBVEgKLWlmIHRlc3QgLW4gIiRQWVRIT05Q
QVRIIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJFBZVEhPTlBBVEgiID4mNQotJGFzX2VjaG8gIiRQWVRIT05QQVRIIiA+JjY7IH0KK2Zp
CitPQ0FNTE9QVERPVE9QVD0kYWNfY3ZfcHJvZ19PQ0FNTE9QVERPVE9QVAoraWYgdGVzdCAtbiAi
JE9DQU1MT1BURE9UT1BUIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJE9DQU1MT1BURE9UT1BUIiA+JjUKKyRhc19lY2hvICIkT0NBTUxP
UFRET1RPUFQiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAot
aWYgdGVzdCB4IiR7UFlUSE9OUEFUSH0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5fZXJyb3Ig
JD8gIlVuYWJsZSB0byBmaW5kICRQWVRIT04sIHBsZWFzZSBpbnN0YWxsICRQWVRIT04iICIkTElO
RU5PIiA1Ci1maQotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgZm9yIHB5dGhvbiB2ZXJzaW9uID49IDIuMyAiID4mNQotJGFzX2VjaG9fbiAiY2hl
Y2tpbmcgZm9yIHB5dGhvbiB2ZXJzaW9uID49IDIuMyAuLi4gIiA+JjY7IH0KLWAkUFlUSE9OIC1j
ICdpbXBvcnQgc3lzOyBzeXMuZXhpdChldmFsKCJzeXMudmVyc2lvbl9pbmZvIDwgKDIsIDMpIikp
J2AKLWlmIHRlc3QgIiQ/IiAhPSAiMCIKLXRoZW4KLSAgICBweXRob25fdmVyc2lvbj1gJFBZVEhP
TiAtViAyPiYxYAotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotICAgIGFzX2ZuX2Vycm9yICQ/
ICIkcHl0aG9uX3ZlcnNpb24gaXMgdG9vIG9sZCwgbWluaW11bSByZXF1aXJlZCB2ZXJzaW9uIGlz
IDIuMyIgIiRMSU5FTk8iIDUKLWVsc2UKLSAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5ZXMiID4mNjsgfQogZmkK
LQotYWNfcHJldmlvdXNfY3BwZmxhZ3M9JENQUEZMQUdTCi1hY19wcmV2aW91c19sZGZsYWdzPSRM
REZMQUdTCi1hY19weXRob25fdmVyc2lvbj1gJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5z
eXNjb25maWc7IFwKLSAgICBwcmludCBkaXN0dXRpbHMuc3lzY29uZmlnLmdldF9jb25maWdfdmFy
KCJWRVJTSU9OIiknYAotIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkUFlUSE9OLWNvbmZp
ZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJFBZ
VEhPTi1jb25maWc7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MT1BU
RE9UT1BUIjsgdGhlbgorICBhY19jdF9PQ0FNTE9QVERPVE9QVD0kT0NBTUxPUFRET1RPUFQKKyAg
IyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbG9wdC5vcHQiLCBzbyBpdCBjYW4gYmUg
YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9jYW1sb3B0Lm9wdDsgYWNfd29y
ZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm
b3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIg
PiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfcHljb25maWcrc2V0fSIgPSBzZXQ7IHRoZW4g
OgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1MT1BURE9UT1BUK3NldH0iID0gc2V0
OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkcHlj
b25maWcgaW4KLSAgW1xcL10qIHwgPzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfcHljb25maWc9IiRw
eWNvbmZpZyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0g
IDs7Ci0gICopCi0gIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYg
dGVzdCAtbiAiJGFjX2N0X09DQU1MT1BURE9UT1BUIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0
X09DQU1MT1BURE9UT1BUPSIkYWNfY3RfT0NBTUxPUFRET1RPUFQiICMgTGV0IHRoZSB1c2VyIG92
ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFS
QVRPUgogZm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0
IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNf
ZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19l
eHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9weWNvbmZpZz0iJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIKKyAgICBhY19jdl9wcm9nX2FjX2N0X09DQU1MT1BURE9UT1BUPSJvY2FtbG9w
dC5vcHQiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQg
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJlYWsgMgogICBmaQpAQCAt
NjM5NCwxMjcgKzQxNTEsNjggQEAgZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAg
dGVzdCAteiAiJGFjX2N2X3BhdGhfcHljb25maWciICYmIGFjX2N2X3BhdGhfcHljb25maWc9Im5v
IgotICA7OwotZXNhYwogZmkKLXB5Y29uZmlnPSRhY19jdl9wYXRoX3B5Y29uZmlnCi1pZiB0ZXN0
IC1uICIkcHljb25maWciOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkcHljb25maWciID4mNQotJGFzX2VjaG8gIiRweWNvbmZpZyIgPiY2
OyB9CitmaQorYWNfY3RfT0NBTUxPUFRET1RPUFQ9JGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxPUFRE
T1RPUFQKK2lmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE9QVERPVE9QVCI7IHRoZW4KKyAgeyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTE9Q
VERPVE9QVCIgPiY1CiskYXNfZWNobyAiJGFjX2N0X09DQU1MT1BURE9UT1BUIiA+JjY7IH0KIGVs
c2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5v
IiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KLWlmIHRlc3QgeCIkcHljb25maWci
ID09IHgibm8iOyB0aGVuIDoKLQotICAgICAgICBDUFBGTEFHUz0iJENGTEFHUyBgJFBZVEhPTiAt
YyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKLSAgICAgICAgcHJpbnQgIi1JIiArIGRp
c3R1dGlscy5zeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIklOQ0xVREVQWSIpJ2AiCi0gICAgQ1BQ
RkxBR1M9IiRDUFBGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7
IFwKLSAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiQ0ZM
QUdTIiknYCIKLSAgICBMREZMQUdTPSIkTERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1
dGlscy5zeXNjb25maWc7IFwKLSAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRf
Y29uZmlnX3ZhcigiTElCUyIpJ2AiCi0gICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMg
J2ltcG9ydCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCi0gICAgICAgIHByaW50IGRpc3R1dGlscy5z
eXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIlNZU0xJQlMiKSdgIgotICAgIExERkxBR1M9IiRMREZM
QUdTIGAkUFlUSE9OIC1jICdpbXBvcnQgZGlzdHV0aWxzLnN5c2NvbmZpZzsgXAotICAgICAgICBw
cmludCAiLUwiICsgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNp
ZmljPTEsXAotICAgICAgICBzdGFuZGFyZF9saWI9MSkgKyAiL2NvbmZpZyInYCIKLSAgICBMREZM
QUdTPSIkTERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwK
LSAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiTElOS0ZP
UlNIQVJFRCIpJ2AiCi0gICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMgJ2ltcG9ydCBk
aXN0dXRpbHMuc3lzY29uZmlnOyBcCi0gICAgICAgIHByaW50IGRpc3R1dGlscy5zeXNjb25maWcu
Z2V0X2NvbmZpZ192YXIoIkxERkxBR1MiKSdgIgotCi1lbHNlCi0KLSAgICAgICAgQ1BQRkxBR1M9
IiRDRkxBR1MgYCRQWVRIT04tY29uZmlnIC0tY2ZsYWdzYCIKLSAgICBMREZMQUdTPSIkTERGTEFH
UyBgJFBZVEhPTi1jb25maWcgLS1sZGZsYWdzYCIKLQotZmkKLQotYWNfZm5fY19jaGVja19oZWFk
ZXJfbW9uZ3JlbCAiJExJTkVOTyIgIlB5dGhvbi5oIiAiYWNfY3ZfaGVhZGVyX1B5dGhvbl9oIiAi
JGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9QeXRob25faCIg
PSB4IiJ5ZXM7IHRoZW4gOgotCisgIGlmIHRlc3QgIngkYWNfY3RfT0NBTUxPUFRET1RPUFQiID0g
eDsgdGhlbgorICAgIE9DQU1MT1BURE9UT1BUPSJubyIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3Nz
X2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVm
aXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1
c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9Cith
Y190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBPQ0FNTE9QVERPVE9QVD0kYWNfY3RfT0NB
TUxPUFRET1RPUFQKKyAgZmkKIGVsc2UKLSAgYXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5k
IFB5dGhvbiBkZXZlbG9wbWVudCBoZWFkZXJzIiAiJExJTkVOTyIgNQorICBPQ0FNTE9QVERPVE9Q
VD0iJGFjX2N2X3Byb2dfT0NBTUxPUFRET1RPUFQiCiBmaQogCisJaWYgdGVzdCAiJE9DQU1MT1BU
RE9UT1BUIiAhPSAibm8iOyB0aGVuCisJICAgVE1QVkVSU0lPTj1gJE9DQU1MT1BURE9UT1BUIC12
IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lvbiogKlwoLipcKSR8XDF8cCcgYAorCSAgIGlmIHRlc3Qg
IiRUTVBWRVJTSU9OIiAhPSAiJE9DQU1MVkVSU0lPTiIgOyB0aGVuCisJICAgICAgeyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHZlcnNpb24gZGlmZmVycyBm
cm9tIG9jYW1sYzsgb2NhbWxvcHQub3B0IGRpc2NhcmRlZC4iID4mNQorJGFzX2VjaG8gInZlcnNp
b24gZGlmZmVycyBmcm9tIG9jYW1sYzsgb2NhbWxvcHQub3B0IGRpc2NhcmRlZC4iID4mNjsgfQor
CSAgIGVsc2UKKwkgICAgICBPQ0FNTE9QVD0kT0NBTUxPUFRET1RPUFQKKwkgICBmaQorICAgICAg
ICBmaQorICAgICBmaQogCi1hc19hY19MaWI9YCRhc19lY2hvICJhY19jdl9saWJfcHl0aG9uJGFj
X3B5dGhvbl92ZXJzaW9uJydfUHlBcmdfUGFyc2VUdXBsZSIgfCAkYXNfdHJfc2hgCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBQeUFyZ19QYXJz
ZVR1cGxlIGluIC1scHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9uIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIGZvciBQeUFyZ19QYXJzZVR1cGxlIGluIC1scHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9u
Li4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JGFzX2FjX0xpYitzZXR9XCIiID0gc2V0
OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfY2hlY2tf
bGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWxweXRob24kYWNfcHl0aG9uX3ZlcnNpb24gICRM
SUJTIgotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5k
IGNvbmZkZWZzLmguICAqLwotCi0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo
IHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l
bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwot
ZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIFB5QXJnX1BhcnNlVHVwbGUgKCk7Ci1pbnQKLW1haW4g
KCkKLXsKLXJldHVybiBQeUFyZ19QYXJzZVR1cGxlICgpOwotICA7Ci0gIHJldHVybiAwOwotfQot
X0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGV2YWwgIiRh
c19hY19MaWI9eWVzIgotZWxzZQotICBldmFsICIkYXNfYWNfTGliPW5vIgotZmkKLXJtIC1mIGNv
cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4
ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCi1maQot
ZXZhbCBhY19yZXM9XCQkYXNfYWNfTGliCi0JICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKLSRhc19lY2hvICIkYWNfcmVz
IiA+JjY7IH0KLWlmIGV2YWwgdGVzdCBcInhcJCIkYXNfYWNfTGliIlwiID0geCJ5ZXMiOyB0aGVu
IDoKLSAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBgJGFzX2VjaG8gIkhBVkVf
TElCcHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9uIiB8ICRhc190cl9jcHBgIDEKLV9BQ0VPRgotCi0g
IExJQlM9Ii1scHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9uICRMSUJTIgogCi1lbHNlCi0gIGFzX2Zu
X2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCBhIHN1aXRhYmxlIHB5dGhvbiBkZXZlbG9wbWVudCBs
aWJyYXJ5IiAiJExJTkVOTyIgNQotZmkKKyAgZmkKIAotQ1BQRkxBR1M9JGFjX3ByZXZpb3VzX2Nw
cGZsYWdzCi1MRExGQUdTPSRhY19wcmV2aW91c19sZGZsYWdzCiAKIAotZmkKLSMgRXh0cmFjdCB0
aGUgZmlyc3Qgd29yZCBvZiAieGdldHRleHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUg
d2l0aCBhcmdzLgotc2V0IGR1bW15IHhnZXR0ZXh0OyBhY193b3JkPSQyCisgICMgY2hlY2tpbmcg
Zm9yIG9jYW1sIHRvcGxldmVsCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4K
KyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rv
b2xfcHJlZml4fW9jYW1sOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVj
a2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9YR0VU
VEVYVCtzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NBTUwrc2V0
fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBj
YXNlICRYR0VUVEVYVCBpbgotICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9YR0VU
VEVYVD0iJFhHRVRURVhUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEg
cGF0aC4KLSAgOzsKLSAgKikKLSAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRP
UgorICBpZiB0ZXN0IC1uICIkT0NBTUwiOyB0aGVuCisgIGFjX2N2X3Byb2dfT0NBTUw9IiRPQ0FN
TCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRICiBkbwogICBJRlM9
JGFzX3NhdmVfSUZTCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX1hHRVRURVhU
PSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfT0NBTUw9IiR7
YWNfdG9vbF9wcmVmaXh9b2NhbWwiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJl
YWsgMgogICBmaQpAQCAtNjUyMiw0NCArNDIyMCwzOSBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNf
c2F2ZV9JRlMKIAotICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9YR0VUVEVYVCIgJiYgYWNfY3ZfcGF0
aF9YR0VUVEVYVD0ibm8iCi0gIDs7Ci1lc2FjCiBmaQotWEdFVFRFWFQ9JGFjX2N2X3BhdGhfWEdF
VFRFWFQKLWlmIHRlc3QgLW4gIiRYR0VUVEVYVCI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRYR0VUVEVYVCIgPiY1Ci0kYXNfZWNobyAi
JFhHRVRURVhUIiA+JjY7IH0KK2ZpCitPQ0FNTD0kYWNfY3ZfcHJvZ19PQ0FNTAoraWYgdGVzdCAt
biAiJE9DQU1MIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJE9DQU1MIiA+JjUKKyRhc19lY2hvICIkT0NBTUwiID4mNjsgfQogZWxzZQog
ICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4m
NQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAotaWYgdGVzdCB4IiR7WEdFVFRFWFR9IiA9
PSB4Im5vIgotdGhlbgotICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCB4Z2V0dGV4
dCwgcGxlYXNlIGluc3RhbGwgeGdldHRleHQiICIkTElORU5PIiA1CiBmaQotIyBFeHRyYWN0IHRo
ZSBmaXJzdCB3b3JkIG9mICJhczg2Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGgg
YXJncy4KLXNldCBkdW1teSBhczg2OyBhY193b3JkPSQyCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJv
Z19PQ0FNTCI7IHRoZW4KKyAgYWNfY3RfT0NBTUw9JE9DQU1MCisgICMgRXh0cmFjdCB0aGUgZmly
c3Qgd29yZCBvZiAib2NhbWwiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdz
Lgorc2V0IGR1bW15IG9jYW1sOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJj
aGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9B
Uzg2K3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FN
TCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNl
Ci0gIGNhc2UgJEFTODYgaW4KLSAgW1xcL10qIHwgPzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfQVM4
Nj0iJEFTODYiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgot
ICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCisgIGlm
IHRlc3QgLW4gIiRhY19jdF9PQ0FNTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTD0i
JGFjX2N0X09DQU1MIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2Fz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgK
IGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4K
ICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8K
ICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVz
dF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Bh
dGhfQVM4Nj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICBhY19jdl9wcm9nX2Fj
X2N0X09DQU1MPSJvY2FtbCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAy
CiAgIGZpCkBAIC02NTY3LDQ0ICs0MjYwLDUzIEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZl
X0lGUwogCi0gIHRlc3QgLXogIiRhY19jdl9wYXRoX0FTODYiICYmIGFjX2N2X3BhdGhfQVM4Nj0i
bm8iCi0gIDs7Ci1lc2FjCiBmaQotQVM4Nj0kYWNfY3ZfcGF0aF9BUzg2Ci1pZiB0ZXN0IC1uICIk
QVM4NiI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6ICRBUzg2IiA+JjUKLSRhc19lY2hvICIkQVM4NiIgPiY2OyB9CitmaQorYWNfY3RfT0NB
TUw9JGFjX2N2X3Byb2dfYWNfY3RfT0NBTUwKK2lmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTCI7IHRo
ZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRh
Y19jdF9PQ0FNTCIgPiY1CiskYXNfZWNobyAiJGFjX2N0X09DQU1MIiA+JjY7IH0KIGVsc2UKICAg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUK
ICRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KLWlmIHRlc3QgeCIke0FTODZ9IiA9PSB4Im5v
IgotdGhlbgotICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCBhczg2LCBwbGVhc2Ug
aW5zdGFsbCBhczg2IiAiJExJTkVOTyIgNQorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MIiA9IHg7
IHRoZW4KKyAgICBPQ0FNTD0ibm8iCisgIGVsc2UKKyAgICBjYXNlICRjcm9zc19jb21waWxpbmc6
JGFjX3Rvb2xfd2FybmVkIGluCit5ZXM6KQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBo
b3N0IHRyaXBsZXQiID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogdXNpbmcgY3Jvc3Mg
dG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjI7fQorYWNfdG9vbF93YXJu
ZWQ9eWVzIDs7Citlc2FjCisgICAgT0NBTUw9JGFjX2N0X09DQU1MCisgIGZpCitlbHNlCisgIE9D
QU1MPSIkYWNfY3ZfcHJvZ19PQ0FNTCIKIGZpCi0jIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2Yg
ImxkODYiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15
IGxkODY7IGFjX3dvcmQ9JDIKKworCisgICMgY2hlY2tpbmcgZm9yIG9jYW1sZGVwCisgIGlmIHRl
c3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwOyBhY193
b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9MRDg2K3NldH0iID0gc2V0OyB0aGVuIDoK
K2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FNTERFUCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhc2UgJExEODYgaW4KLSAgW1xcL10q
IHwgPzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfTEQ4Nj0iJExEODYiICMgTGV0IHRoZSB1c2VyIG92
ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRPQ0FNTERFUCI7IHRoZW4K
KyAgYWNfY3ZfcHJvZ19PQ0FNTERFUD0iJE9DQU1MREVQIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
IGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3BhdGhfTEQ4Nj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4
dCIKKyAgICBhY19jdl9wcm9nX09DQU1MREVQPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwIgog
ICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIv
JGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY2MTIsNDQg
KzQzMTQsMzkgQEAgZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgdGVzdCAteiAi
JGFjX2N2X3BhdGhfTEQ4NiIgJiYgYWNfY3ZfcGF0aF9MRDg2PSJubyIKLSAgOzsKLWVzYWMKIGZp
Ci1MRDg2PSRhY19jdl9wYXRoX0xEODYKLWlmIHRlc3QgLW4gIiRMRDg2IjsgdGhlbgotICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJExEODYiID4mNQot
JGFzX2VjaG8gIiRMRDg2IiA+JjY7IH0KK2ZpCitPQ0FNTERFUD0kYWNfY3ZfcHJvZ19PQ0FNTERF
UAoraWYgdGVzdCAtbiAiJE9DQU1MREVQIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MREVQIiA+JjUKKyRhc19lY2hvICIkT0NB
TUxERVAiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAotaWYg
dGVzdCB4IiR7TEQ4Nn0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8gIlVuYWJs
ZSB0byBmaW5kIGxkODYsIHBsZWFzZSBpbnN0YWxsIGxkODYiICIkTElORU5PIiA1CiBmaQotIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5h
bWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGJjYzsgYWNfd29yZD0kMgoraWYgdGVzdCAteiAiJGFj
X2N2X3Byb2dfT0NBTUxERVAiOyB0aGVuCisgIGFjX2N0X09DQU1MREVQPSRPQ0FNTERFUAorICAj
IEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sZGVwIiwgc28gaXQgY2FuIGJlIGEgcHJv
Z3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvY2FtbGRlcDsgYWNfd29yZD0kMgogeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dv
cmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X3BhdGhfQkNDK3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7
YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERFUCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhc2UgJEJDQyBpbgotICBbXFwvXSogfCA/Oltc
XC9dKikKLSAgYWNfY3ZfcGF0aF9CQ0M9IiRCQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRo
ZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9
JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTERFUCI7IHRoZW4KKyAg
YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERFUD0iJGFjX2N0X09DQU1MREVQIiAjIExldCB0aGUgdXNl
ciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9T
RVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAg
dGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycg
JGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3BhdGhfQkNDPSIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxERVA9Im9jYW1sZGVwIgogICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY2NTcsMjgzICs0
MzU0LDI0MSBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNfc2F2ZV9JRlMKIAotICB0ZXN0IC16ICIk
YWNfY3ZfcGF0aF9CQ0MiICYmIGFjX2N2X3BhdGhfQkNDPSJubyIKLSAgOzsKLWVzYWMKIGZpCi1C
Q0M9JGFjX2N2X3BhdGhfQkNDCi1pZiB0ZXN0IC1uICIkQkNDIjsgdGhlbgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJEJDQyIgPiY1Ci0kYXNfZWNo
byAiJEJDQyIgPiY2OyB9CitmaQorYWNfY3RfT0NBTUxERVA9JGFjX2N2X3Byb2dfYWNfY3RfT0NB
TUxERVAKK2lmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTERFUCI7IHRoZW4KKyAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTERFUCIgPiY1
CiskYXNfZWNobyAiJGFjX2N0X09DQU1MREVQIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJu
byIgPiY2OyB9CiBmaQogCi0KLWlmIHRlc3QgeCIke0JDQ30iID09IHgibm8iCi10aGVuCi0gICAg
YXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGJjYywgcGxlYXNlIGluc3RhbGwgYmNjIiAi
JExJTkVOTyIgNQorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MREVQIiA9IHg7IHRoZW4KKyAgICBP
Q0FNTERFUD0ibm8iCisgIGVsc2UKKyAgICBjYXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xf
d2FybmVkIGluCit5ZXM6KQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBs
ZXQiID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90
IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjI7fQorYWNfdG9vbF93YXJuZWQ9eWVzIDs7
Citlc2FjCisgICAgT0NBTUxERVA9JGFjX2N0X09DQU1MREVQCisgIGZpCitlbHNlCisgIE9DQU1M
REVQPSIkYWNfY3ZfcHJvZ19PQ0FNTERFUCIKIGZpCi0jIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQg
b2YgImlhc2wiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1
bW15IGlhc2w7IGFjX3dvcmQ9JDIKKworCisgICMgY2hlY2tpbmcgZm9yIG9jYW1sbWt0b3AKKyAg
aWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0
IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxta3RvcCIsIHNvIGl0IGNhbiBiZSBhIHBy
b2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbG1r
dG9wOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9JQVNMK3NldH0iID0gc2V0
OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FNTE1LVE9QK3NldH0iID0gc2V0OyB0
aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkSUFTTCBp
bgotICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9JQVNMPSIkSUFTTCIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICopCi0gIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAtbiAiJE9DQU1M
TUtUT1AiOyB0aGVuCisgIGFjX2N2X3Byb2dfT0NBTUxNS1RPUD0iJE9DQU1MTUtUT1AiICMgTGV0
IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZT
PSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZl
X0lGUwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4
dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9JQVNMPSIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfT0NBTUxNS1RPUD0iJHthY190b29s
X3ByZWZpeH1vY2FtbG1rdG9wIgogICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFr
IDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUwotCi0gIHRlc3QgLXogIiRh
Y19jdl9wYXRoX0lBU0wiICYmIGFjX2N2X3BhdGhfSUFTTD0ibm8iCi0gIDs7Ci1lc2FjCi1maQot
SUFTTD0kYWNfY3ZfcGF0aF9JQVNMCi1pZiB0ZXN0IC1uICIkSUFTTCI7IHRoZW4KLSAgeyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRJQVNMIiA+JjUKLSRh
c19lY2hvICIkSUFTTCIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkK
LQotCi1pZiB0ZXN0IHgiJHtJQVNMfSIgPT0geCJubyIKLXRoZW4KLSAgICBhc19mbl9lcnJvciAk
PyAiVW5hYmxlIHRvIGZpbmQgaWFzbCwgcGxlYXNlIGluc3RhbGwgaWFzbCIgIiRMSU5FTk8iIDUK
LWZpCi0KLWFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJ1dWlkL3V1aWQu
aCIgImFjX2N2X2hlYWRlcl91dWlkX3V1aWRfaCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYg
dGVzdCAieCRhY19jdl9oZWFkZXJfdXVpZF91dWlkX2giID0geCIieWVzOyB0aGVuIDoKLQotICAg
IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHV1
aWRfY2xlYXIgaW4gLWx1dWlkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciB1dWlkX2Ns
ZWFyIGluIC1sdXVpZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9saWJfdXVpZF91dWlk
X2NsZWFyK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
LWVsc2UKLSAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWx1dWlkICAkTElC
UyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KLQotLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg
dG8gYXZvaWQgYW4gZXJyb3IuCi0gICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0
aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50
IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4
dGVybiAiQyIKLSNlbmRpZgotY2hhciB1dWlkX2NsZWFyICgpOwotaW50Ci1tYWluICgpCi17Ci1y
ZXR1cm4gdXVpZF9jbGVhciAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNf
Zm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfdXVpZF91dWlkX2Ns
ZWFyPXllcwotZWxzZQotICBhY19jdl9saWJfdXVpZF91dWlkX2NsZWFyPW5vCi1maQotcm0gLWYg
Y29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNf
ZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKLWZp
Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2
X2xpYl91dWlkX3V1aWRfY2xlYXIiID4mNQotJGFzX2VjaG8gIiRhY19jdl9saWJfdXVpZF91dWlk
X2NsZWFyIiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX3V1aWRfdXVpZF9jbGVhciIgPSB4
IiJ5ZXM7IHRoZW4gOgotICBsaWJ1dWlkPSJ5IgotZmkKLQorICBmaQorZG9uZQorICBkb25lCitJ
RlM9JGFzX3NhdmVfSUZTCiAKIGZpCi0KLQotYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAi
JExJTkVOTyIgInV1aWQuaCIgImFjX2N2X2hlYWRlcl91dWlkX2giICIkYWNfaW5jbHVkZXNfZGVm
YXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX3V1aWRfaCIgPSB4IiJ5ZXM7IHRoZW4gOgot
ICBsaWJ1dWlkPSJ5IgogZmkKLQotCi1pZiB0ZXN0ICIkbGlidXVpZCIgIT0gInkiOyB0aGVuIDoK
LQotICAgIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgZmluZCBhIHZhbGlkIHV1aWQgbGlicmFyeSIg
IiRMSU5FTk8iIDUKLQorT0NBTUxNS1RPUD0kYWNfY3ZfcHJvZ19PQ0FNTE1LVE9QCitpZiB0ZXN0
IC1uICIkT0NBTUxNS1RPUCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRPQ0FNTE1LVE9QIiA+JjUKKyRhc19lY2hvICIkT0NBTUxNS1RP
UCIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQogZmkKIAogCi1hY19mbl9j
X2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAiY3Vyc2VzLmgiICJhY19jdl9oZWFkZXJf
Y3Vyc2VzX2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVy
X2N1cnNlc19oIiA9IHgiInllczsgdGhlbiA6Ci0KLSAgICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBjbGVhciBpbiAtbGN1cnNlcyIgPiY1Ci0k
YXNfZWNob19uICJjaGVja2luZyBmb3IgY2xlYXIgaW4gLWxjdXJzZXMuLi4gIiA+JjY7IH0KLWlm
IHRlc3QgIiR7YWNfY3ZfbGliX2N1cnNlc19jbGVhcitzZXR9IiA9IHNldDsgdGhlbiA6CitmaQor
aWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxNS1RPUCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxN
S1RPUD0kT0NBTUxNS1RPUAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sbWt0
b3AiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9j
YW1sbWt0b3A7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZv
ciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1M
TUtUT1Arc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgog
ZWxzZQotICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGN1cnNlcyAgJExJ
QlMiCi1jYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQg
Y29uZmRlZnMuaC4gICovCi0KLS8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg
dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu
dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwotI2lmZGVmIF9fY3BsdXNwbHVzCi1l
eHRlcm4gIkMiCi0jZW5kaWYKLWNoYXIgY2xlYXIgKCk7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVy
biBjbGVhciAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlf
bGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfY3Vyc2VzX2NsZWFyPXllcworICBp
ZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxNS1RPUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9P
Q0FNTE1LVE9QPSIkYWNfY3RfT0NBTUxNS1RPUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhl
IHRlc3QuCiBlbHNlCi0gIGFjX2N2X2xpYl9jdXJzZXNfY2xlYXI9bm8KK2FzX3NhdmVfSUZTPSRJ
RlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0k
YXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNf
ZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0
IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGly
LyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NB
TUxNS1RPUD0ib2NhbWxta3RvcCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVh
ayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKwogZmkKLXJtIC1mIGNv
cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4
ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCiBmaQot
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9s
aWJfY3Vyc2VzX2NsZWFyIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2N1cnNlc19jbGVhciIg
PiY2OyB9Ci1pZiB0ZXN0ICJ4JGFjX2N2X2xpYl9jdXJzZXNfY2xlYXIiID0geCIieWVzOyB0aGVu
IDoKLSAgY3Vyc2VzPSJ5IgorYWNfY3RfT0NBTUxNS1RPUD0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FN
TE1LVE9QCitpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxNS1RPUCI7IHRoZW4KKyAgeyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTE1LVE9Q
IiA+JjUKKyRhc19lY2hvICIkYWNfY3RfT0NBTUxNS1RPUCIgPiY2OyB9CiBlbHNlCi0gIGN1cnNl
cz0ibiIKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KKyAgaWYgdGVzdCAieCRhY19j
dF9PQ0FNTE1LVE9QIiA9IHg7IHRoZW4KKyAgICBPQ0FNTE1LVE9QPSJubyIKKyAgZWxzZQorICAg
IGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRv
b2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21l
OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBs
ZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBPQ0FNTE1LVE9QPSRh
Y19jdF9PQ0FNTE1LVE9QCisgIGZpCiBlbHNlCi0gIGN1cnNlcz0ibiIKKyAgT0NBTUxNS1RPUD0i
JGFjX2N2X3Byb2dfT0NBTUxNS1RPUCIKIGZpCiAKIAotYWNfZm5fY19jaGVja19oZWFkZXJfbW9u
Z3JlbCAiJExJTkVOTyIgIm5jdXJzZXMuaCIgImFjX2N2X2hlYWRlcl9uY3Vyc2VzX2giICIkYWNf
aW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX25jdXJzZXNfaCIgPSB4
IiJ5ZXM7IHRoZW4gOgotCi0gICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiBjaGVja2luZyBmb3IgY2xlYXIgaW4gLWxuY3Vyc2VzIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIGZvciBjbGVhciBpbiAtbG5jdXJzZXMuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNf
Y3ZfbGliX25jdXJzZXNfY2xlYXIrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAjIGNoZWNraW5nIGZv
ciBvY2FtbG1rbGliCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sbWtsaWIiLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9v
bF9wcmVmaXh9b2NhbWxta2xpYjsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Byb2df
T0NBTUxNS0xJQitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2CiBlbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJQlM9Ii1sbmN1cnNl
cyAgJExJQlMiCi1jYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0v
KiBlbmQgY29uZmRlZnMuaC4gICovCi0KLS8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBh
cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwotI2lmZGVmIF9fY3BsdXNw
bHVzCi1leHRlcm4gIkMiCi0jZW5kaWYKLWNoYXIgY2xlYXIgKCk7Ci1pbnQKLW1haW4gKCkKLXsK
LXJldHVybiBjbGVhciAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5f
Y190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfbmN1cnNlc19jbGVhcj15
ZXMKKyAgaWYgdGVzdCAtbiAiJE9DQU1MTUtMSUIiOyB0aGVuCisgIGFjX2N2X3Byb2dfT0NBTUxN
S0xJQj0iJE9DQU1MTUtMSUIiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgogZWxz
ZQotICBhY19jdl9saWJfbmN1cnNlc19jbGVhcj1ubworYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQ
QVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lG
UworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBp
biAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19k
aXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQk
YWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PQ0FNTE1LTElCPSIke2FjX3Rv
b2xfcHJlZml4fW9jYW1sbWtsaWIiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJl
YWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKIGZpCi1ybSAtZiBj
b3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19l
eGVleHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkK
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3Zf
bGliX25jdXJzZXNfY2xlYXIiID4mNQotJGFzX2VjaG8gIiRhY19jdl9saWJfbmN1cnNlc19jbGVh
ciIgPiY2OyB9Ci1pZiB0ZXN0ICJ4JGFjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyIiA9IHgiInllczsg
dGhlbiA6Ci0gIG5jdXJzZXM9InkiCitPQ0FNTE1LTElCPSRhY19jdl9wcm9nX09DQU1MTUtMSUIK
K2lmIHRlc3QgLW4gIiRPQ0FNTE1LTElCIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MTUtMSUIiID4mNQorJGFzX2VjaG8gIiRP
Q0FNTE1LTElCIiA+JjY7IH0KIGVsc2UKLSAgbmN1cnNlcz0ibiIKKyAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIg
PiY2OyB9CiBmaQogCiAKLWVsc2UKLSAgbmN1cnNlcz0ibiIKIGZpCi0KLQotaWYgdGVzdCAiJGN1
cnNlcyIgPSAibiIgJiYgdGVzdCAiJG5jdXJzZXMiID0gIm4iOyB0aGVuIDoKLQotICAgIGFzX2Zu
X2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCBhIHN1aXRhYmxlIGN1cnNlcyBsaWJyYXJ5IiAiJExJ
TkVOTyIgNQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxNS0xJQiI7IHRoZW4KKyAgYWNf
Y3RfT0NBTUxNS0xJQj0kT0NBTUxNS0xJQgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2Yg
Im9jYW1sbWtsaWIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0
IGR1bW15IG9jYW1sbWtsaWI7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2Fj
X2N0X09DQU1MTUtMSUIrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVk
KSAiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxNS0xJQiI7IHRoZW4KKyAg
YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE1LTElCPSIkYWNfY3RfT0NBTUxNS0xJQiIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBB
VEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZT
CisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGlu
ICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09DQU1MTUtMSUI9Im9j
YW1sbWtsaWIiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91
bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQor
ZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCiAKIGZpCi0jIFByZWZlciBuY3Vyc2VzIG92
ZXIgY3Vyc2VzIGlmIGJvdGggYXJlIHByZXNlbnQKLWlmIHRlc3QgIiRuY3Vyc2VzIiA9ICJ5Ijsg
dGhlbiA6Ci0KLSAgICBDVVJTRVNfTElCUz0iLWxuY3Vyc2VzIgotCi0kYXNfZWNobyAiI2RlZmlu
ZSBJTkNMVURFX0NVUlNFU19IIDxuY3Vyc2VzLmg+IiA+PmNvbmZkZWZzLmgKLQotCitmaQorYWNf
Y3RfT0NBTUxNS0xJQj0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE1LTElCCitpZiB0ZXN0IC1uICIk
YWNfY3RfT0NBTUxNS0xJQiI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTE1LTElCIiA+JjUKKyRhc19lY2hvICIkYWNf
Y3RfT0NBTUxNS0xJQiIgPiY2OyB9CiBlbHNlCi0KLSAgICBDVVJTRVNfTElCUz0iLWxjdXJzZXMi
Ci0KLSRhc19lY2hvICIjZGVmaW5lIElOQ0xVREVfQ1VSU0VTX0ggPGN1cnNlcy5oPiIgPj5jb25m
ZGVmcy5oCi0KLQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKKyAgaWYgdGVzdCAieCRh
Y19jdF9PQ0FNTE1LTElCIiA9IHg7IHRoZW4KKyAgICBPQ0FNTE1LTElCPSJubyIKKyAgZWxzZQor
ICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3Nz
IHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFz
X21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRy
aXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBPQ0FNTE1LTElC
PSRhY19jdF9PQ0FNTE1LTElCCisgIGZpCitlbHNlCisgIE9DQU1MTUtMSUI9IiRhY19jdl9wcm9n
X09DQU1MTUtMSUIiCitmaQogCiAKLQotCi0KLQotCi1pZiB0ZXN0ICJ4JGFjX2N2X2Vudl9QS0df
Q09ORklHX3NldCIgIT0gInhzZXQiOyB0aGVuCi0JaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4
IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9
cGtnLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQg
ZHVtbXkgJHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnOyBhY193b3JkPSQyCisgICMgY2hlY2tp
bmcgZm9yIG9jYW1sZG9jCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAg
IyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZG9jIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rv
b2xfcHJlZml4fW9jYW1sZG9jOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJj
aGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9Q
S0dfQ09ORklHK3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FN
TERPQytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBl
bHNlCi0gIGNhc2UgJFBLR19DT05GSUcgaW4KLSAgW1xcL10qIHwgPzpbXFwvXSopCi0gIGFjX2N2
X3BhdGhfUEtHX0NPTkZJRz0iJFBLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRo
ZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9
JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRPQ0FNTERPQyI7IHRoZW4KKyAgYWNfY3Zf
cHJvZ19PQ0FNTERPQz0iJE9DQU1MRE9DIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVz
dC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19k
aXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIg
JiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0
ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgot
ICAgIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIK
KyAgICBhY19jdl9wcm9nX09DQU1MRE9DPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZG9jIgogICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY5NDEsMTMgKzQ1
OTYsMTIgQEAgZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgOzsKLWVzYWMKIGZp
Ci1QS0dfQ09ORklHPSRhY19jdl9wYXRoX1BLR19DT05GSUcKLWlmIHRlc3QgLW4gIiRQS0dfQ09O
RklHIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJFBLR19DT05GSUciID4mNQotJGFzX2VjaG8gIiRQS0dfQ09ORklHIiA+JjY7IH0KK2Zp
CitPQ0FNTERPQz0kYWNfY3ZfcHJvZ19PQ0FNTERPQworaWYgdGVzdCAtbiAiJE9DQU1MRE9DIjsg
dGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JE9DQU1MRE9DIiA+JjUKKyRhc19lY2hvICIkT0NBTUxET0MiID4mNjsgfQogZWxzZQogICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFz
X2VjaG8gIm5vIiA+JjY7IH0KQEAgLTY5NTUsMjggKzQ2MDksMjYgQEAgZmkKIAogCiBmaQotaWYg
dGVzdCAteiAiJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyI7IHRoZW4KLSAgYWNfcHRfUEtHX0NPTkZJ
Rz0kUEtHX0NPTkZJRwotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInBrZy1jb25maWci
LCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IHBrZy1j
b25maWc7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MRE9DIjsgdGhl
bgorICBhY19jdF9PQ0FNTERPQz0kT0NBTUxET0MKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICJvY2FtbGRvYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitz
ZXQgZHVtbXkgb2NhbWxkb2M7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wYXRoX2Fj
X3B0X1BLR19DT05GSUcrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wcm9n
X2FjX2N0X09DQU1MRE9DK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hl
ZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkYWNfcHRfUEtHX0NPTkZJRyBpbgotICBbXFwvXSogfCA/
OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHPSIkYWNfcHRfUEtHX0NPTkZJ
RyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0g
ICopCi0gIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAt
biAiJGFjX2N0X09DQU1MRE9DIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MRE9DPSIk
YWNfY3RfT0NBTUxET0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQor
YXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFU
SAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9
LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBk
bwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190
ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3Zf
cGF0aF9hY19wdF9QS0dfQ09ORklHPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAg
IGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxET0M9Im9jYW1sZG9jIgogICAgICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19l
eHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY5ODQsMjAgKzQ2MzYsMTkgQEAgZG9uZQog
ICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgOzsKLWVzYWMKIGZpCi1hY19wdF9QS0dfQ09O
RklHPSRhY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUcKLWlmIHRlc3QgLW4gIiRhY19wdF9QS0df
Q09ORklHIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogJGFjX3B0X1BLR19DT05GSUciID4mNQotJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09O
RklHIiA+JjY7IH0KK2ZpCithY19jdF9PQ0FNTERPQz0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERP
QworaWYgdGVzdCAtbiAiJGFjX2N0X09DQU1MRE9DIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MRE9DIiA+JjUKKyRh
c19lY2hvICIkYWNfY3RfT0NBTUxET0MiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+
JjY7IH0KIGZpCiAKLSAgaWYgdGVzdCAieCRhY19wdF9QS0dfQ09ORklHIiA9IHg7IHRoZW4KLSAg
ICBQS0dfQ09ORklHPSIiCisgIGlmIHRlc3QgIngkYWNfY3RfT0NBTUxET0MiID0geDsgdGhlbgor
ICAgIE9DQU1MRE9DPSJubyIKICAgZWxzZQogICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNf
dG9vbF93YXJuZWQgaW4KIHllczopCkBAIC03MDA1LDYyNCArNDY1Niw3MTggQEAgeWVzOikKICRh
c19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3
aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KIGFjX3Rvb2xfd2FybmVkPXllcyA7OwogZXNhYwotICAg
IFBLR19DT05GSUc9JGFjX3B0X1BLR19DT05GSUcKKyAgICBPQ0FNTERPQz0kYWNfY3RfT0NBTUxE
T0MKICAgZmkKIGVsc2UKLSAgUEtHX0NPTkZJRz0iJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyIKLWZp
Ci0KLWZpCi1pZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4KLQlfcGtnX21pbl92ZXJzaW9u
PTAuOS4wCi0JeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gJF9wa2dfbWluX3ZlcnNpb24iID4mNQot
JGFzX2VjaG9fbiAiY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtn
X21pbl92ZXJzaW9uLi4uICIgPiY2OyB9Ci0JaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2Nv
bmZpZy12ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uOyB0aGVuCi0JCXsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQotJGFzX2VjaG8gInllcyIg
PiY2OyB9Ci0JZWxzZQotCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLQkJUEtHX0NPTkZJRz0iIgot
CWZpCi1maQotCi1wa2dfZmFpbGVkPW5vCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IGNoZWNraW5nIGZvciBnbGliIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZv
ciBnbGliLi4uICIgPiY2OyB9Ci0KLWlmIHRlc3QgLW4gIiRnbGliX0NGTEFHUyI7IHRoZW4KLSAg
ICBwa2dfY3ZfZ2xpYl9DRkxBR1M9IiRnbGliX0NGTEFHUyIKLSBlbGlmIHRlc3QgLW4gIiRQS0df
Q09ORklHIjsgdGhlbgotICAgIGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIiAmJiBcCi0gICAgeyB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkUEtHX0NPTkZJRyAtLWV4
aXN0cyAtLXByaW50LWVycm9ycyBcImdsaWItMi4wXCIiOyB9ID4mNQotICAoJFBLR19DT05GSUcg
LS1leGlzdHMgLS1wcmludC1lcnJvcnMgImdsaWItMi4wIikgMj4mNQotICBhY19zdGF0dXM9JD8K
LSAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1
cyIgPiY1Ci0gIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4KLSAgcGtnX2N2X2dsaWJfQ0ZM
QUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyAiZ2xpYi0yLjAiIDI+L2Rldi9udWxsYAotZWxzZQot
ICBwa2dfZmFpbGVkPXllcwotZmkKLSBlbHNlCi0gICAgcGtnX2ZhaWxlZD11bnRyaWVkCi1maQot
aWYgdGVzdCAtbiAiJGdsaWJfTElCUyI7IHRoZW4KLSAgICBwa2dfY3ZfZ2xpYl9MSUJTPSIkZ2xp
Yl9MSUJTIgotIGVsaWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCi0gICAgaWYgdGVzdCAt
biAiJFBLR19DT05GSUciICYmIFwKLSAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogXCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwiZ2xpYi0y
LjBcIiI7IH0gPiY1Ci0gICgkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ2xp
Yi0yLjAiKSAyPiY1Ci0gIGFjX3N0YXR1cz0kPwotICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKLSAgdGVzdCAkYWNfc3RhdHVzID0g
MDsgfTsgdGhlbgotICBwa2dfY3ZfZ2xpYl9MSUJTPWAkUEtHX0NPTkZJRyAtLWxpYnMgImdsaWIt
Mi4wIiAyPi9kZXYvbnVsbGAKLWVsc2UKLSAgcGtnX2ZhaWxlZD15ZXMKLWZpCi0gZWxzZQotICAg
IHBrZ19mYWlsZWQ9dW50cmllZAotZmkKLQotCi0KLWlmIHRlc3QgJHBrZ19mYWlsZWQgPSB5ZXM7
IHRoZW4KLSAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLQotaWYgJFBLR19DT05GSUcgLS1hdGxl
YXN0LXBrZ2NvbmZpZy12ZXJzaW9uIDAuMjA7IHRoZW4KLSAgICAgICAgX3BrZ19zaG9ydF9lcnJv
cnNfc3VwcG9ydGVkPXllcwotZWxzZQotICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0
ZWQ9bm8KKyAgT0NBTUxET0M9IiRhY19jdl9wcm9nX09DQU1MRE9DIgogZmkKLSAgICAgICAgaWYg
dGVzdCAkX3BrZ19zaG9ydF9lcnJvcnNfc3VwcG9ydGVkID0geWVzOyB0aGVuCi0JICAgICAgICBn
bGliX1BLR19FUlJPUlM9YCRQS0dfQ09ORklHIC0tc2hvcnQtZXJyb3JzIC0tcHJpbnQtZXJyb3Jz
ICJnbGliLTIuMCIgMj4mMWAKLSAgICAgICAgZWxzZQotCSAgICAgICAgZ2xpYl9QS0dfRVJST1JT
PWAkUEtHX0NPTkZJRyAtLXByaW50LWVycm9ycyAiZ2xpYi0yLjAiIDI+JjFgCi0gICAgICAgIGZp
Ci0JIyBQdXQgdGhlIG5hc3R5IGVycm9yIG1lc3NhZ2UgaW4gY29uZmlnLmxvZyB3aGVyZSBpdCBi
ZWxvbmdzCi0JZWNobyAiJGdsaWJfUEtHX0VSUk9SUyIgPiY1Ci0KLQlhc19mbl9lcnJvciAkPyAi
UGFja2FnZSByZXF1aXJlbWVudHMgKGdsaWItMi4wKSB3ZXJlIG5vdCBtZXQ6Ci0KLSRnbGliX1BL
R19FUlJPUlMKLQotQ29uc2lkZXIgYWRqdXN0aW5nIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJv
bm1lbnQgdmFyaWFibGUgaWYgeW91Ci1pbnN0YWxsZWQgc29mdHdhcmUgaW4gYSBub24tc3RhbmRh
cmQgcHJlZml4LgotCi1BbHRlcm5hdGl2ZWx5LCB5b3UgbWF5IHNldCB0aGUgZW52aXJvbm1lbnQg
dmFyaWFibGVzIGdsaWJfQ0ZMQUdTCi1hbmQgZ2xpYl9MSUJTIHRvIGF2b2lkIHRoZSBuZWVkIHRv
IGNhbGwgcGtnLWNvbmZpZy4KLVNlZSB0aGUgcGtnLWNvbmZpZyBtYW4gcGFnZSBmb3IgbW9yZSBk
ZXRhaWxzLiIgIiRMSU5FTk8iIDUKLWVsaWYgdGVzdCAkcGtnX2ZhaWxlZCA9IHVudHJpZWQ7IHRo
ZW4KLSAgICAgCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotCXsgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2VjaG8g
IiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8gIlRo
ZSBwa2ctY29uZmlnIHNjcmlwdCBjb3VsZCBub3QgYmUgZm91bmQgb3IgaXMgdG9vIG9sZC4gIE1h
a2Ugc3VyZSBpdAotaXMgaW4geW91ciBQQVRIIG9yIHNldCB0aGUgUEtHX0NPTkZJRyBlbnZpcm9u
bWVudCB2YXJpYWJsZSB0byB0aGUgZnVsbAotcGF0aCB0byBwa2ctY29uZmlnLgogCi1BbHRlcm5h
dGl2ZWx5LCB5b3UgbWF5IHNldCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGdsaWJfQ0ZMQUdT
Ci1hbmQgZ2xpYl9MSUJTIHRvIGF2b2lkIHRoZSBuZWVkIHRvIGNhbGwgcGtnLWNvbmZpZy4KLVNl
ZSB0aGUgcGtnLWNvbmZpZyBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLgogCi1UbyBnZXQgcGtn
LWNvbmZpZywgc2VlIDxodHRwOi8vcGtnLWNvbmZpZy5mcmVlZGVza3RvcC5vcmcvPi4KLVNlZSBc
YGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQorICAjIGNoZWNr
aW5nIGZvciBvY2FtbGJ1aWxkCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4K
KyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sYnVp
bGQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7
YWNfdG9vbF9wcmVmaXh9b2NhbWxidWlsZDsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2
X3Byb2dfT0NBTUxCVUlMRCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNo
ZWQpICIgPiY2CiBlbHNlCi0JZ2xpYl9DRkxBR1M9JHBrZ19jdl9nbGliX0NGTEFHUwotCWdsaWJf
TElCUz0kcGtnX2N2X2dsaWJfTElCUwotICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5ZXMiID4mNjsgfQot
Ci1maQotCi0jIENoZWNrIGxpYnJhcnkgcGF0aAotaWYgdGVzdCAiXCR7ZXhlY19wcmVmaXh9L2xp
YiIgPSAiJGxpYmRpciI7IHRoZW4gOgotICBpZiB0ZXN0ICIkZXhlY19wcmVmaXgiID0gIk5PTkUi
ICYmIHRlc3QgIiRwcmVmaXgiICE9ICJOT05FIjsgdGhlbiA6Ci0gIGV4ZWNfcHJlZml4PSRwcmVm
aXgKLWZpCi0gICAgaWYgdGVzdCAiJGV4ZWNfcHJlZml4IiA9ICJOT05FIjsgdGhlbiA6Ci0gIGV4
ZWNfcHJlZml4PSRhY19kZWZhdWx0X3ByZWZpeAotZmkKLSAgICBpZiB0ZXN0IC1kICIke2V4ZWNf
cHJlZml4fS9saWI2NCI7IHRoZW4gOgotCi0gICAgICAgIExJQl9QQVRIPSJsaWI2NCIKLQorICBp
ZiB0ZXN0IC1uICIkT0NBTUxCVUlMRCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PQ0FNTEJVSUxEPSIk
T0NBTUxCVUlMRCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCiBlbHNlCi0KLSAg
ICAgICAgTElCX1BBVEg9ImxpYiIKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFU
T1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAt
eiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4
ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IjsgfTsgdGhlbgorICAgIGFjX2N2X3Byb2dfT0NBTUxCVUlMRD0iJHthY190b29sX3ByZWZpeH1v
Y2FtbGJ1aWxkIgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZv
dW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkK
K2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUwogCiBmaQotCi1lbHNlCi0KLSAgICBMSUJf
UEFUSD0iJHtsaWJkaXI6YGV4cHIgbGVuZ3RoICIkZXhlY19wcmVmaXgiICsgMWB9IgotCiBmaQot
Ci0KLSMgQ2hlY2tzIGZvciBsaWJyYXJpZXMuCi1hY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVs
ICIkTElORU5PIiAiYnpsaWIuaCIgImFjX2N2X2hlYWRlcl9iemxpYl9oIiAiJGFjX2luY2x1ZGVz
X2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9iemxpYl9oIiA9IHgiInllczsgdGhl
biA6Ci0KLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
Zm9yIEJaMl9iekRlY29tcHJlc3NJbml0IGluIC1sYnoyIiA+JjUKLSRhc19lY2hvX24gImNoZWNr
aW5nIGZvciBCWjJfYnpEZWNvbXByZXNzSW5pdCBpbiAtbGJ6Mi4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0K3NldH0iID0gc2V0OyB0aGVu
IDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfY2hlY2tfbGliX3Nh
dmVfTElCUz0kTElCUwotTElCUz0iLWxiejIgICRMSUJTIgotY2F0IGNvbmZkZWZzLmggLSA8PF9B
Q0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotCi0vKiBPdmVy
cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwot
ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
cGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIEJa
Ml9iekRlY29tcHJlc3NJbml0ICgpOwotaW50Ci1tYWluICgpCi17Ci1yZXR1cm4gQloyX2J6RGVj
b21wcmVzc0luaXQgKCk7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2Nf
dHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfbGliX2J6Ml9CWjJfYnpEZWNvbXBy
ZXNzSW5pdD15ZXMKK09DQU1MQlVJTEQ9JGFjX2N2X3Byb2dfT0NBTUxCVUlMRAoraWYgdGVzdCAt
biAiJE9DQU1MQlVJTEQiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkT0NBTUxCVUlMRCIgPiY1CiskYXNfZWNobyAiJE9DQU1MQlVJTEQi
ID4mNjsgfQogZWxzZQotICBhY19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0PW5vCi1m
aQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29u
ZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZl
X0xJQlMKLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N2X2xpYl9iejJfQloyX2J6RGVjb21wcmVzc0luaXQiID4mNQotJGFzX2VjaG8gIiRh
Y19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0IiA+JjY7IH0KLWlmIHRlc3QgIngkYWNf
Y3ZfbGliX2J6Ml9CWjJfYnpEZWNvbXByZXNzSW5pdCIgPSB4IiJ5ZXM7IHRoZW4gOgotICB6bGli
PSIkemxpYiAtREhBVkVfQlpMSUIgLWxiejIiCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQogZmkK
IAogCiBmaQotCi0KLWFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJsem1h
LmgiICJhY19jdl9oZWFkZXJfbHptYV9oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0
ICJ4JGFjX2N2X2hlYWRlcl9sem1hX2giID0geCIieWVzOyB0aGVuIDoKLQoteyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbHptYV9zdHJlYW1fZGVj
b2RlciBpbiAtbGx6bWEiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGx6bWFfc3RyZWFt
X2RlY29kZXIgaW4gLWxsem1hLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2xpYl9sem1h
X2x6bWFfc3RyZWFtX2RlY29kZXIrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAteiAiJGFj
X2N2X3Byb2dfT0NBTUxCVUlMRCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxCVUlMRD0kT0NBTUxCVUlM
RAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sYnVpbGQiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9jYW1sYnVpbGQ7IGFjX3dv
cmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
Zm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAi
ID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQrc2V0fSIgPSBz
ZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBhY19jaGVj
a19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGx6bWEgICRMSUJTIgotY2F0IGNvbmZkZWZz
LmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwot
Ci0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
ci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv
ZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlm
Ci1jaGFyIGx6bWFfc3RyZWFtX2RlY29kZXIgKCk7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVybiBs
em1hX3N0cmVhbV9kZWNvZGVyICgpOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBh
Y19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2xpYl9sem1hX2x6bWFf
c3RyZWFtX2RlY29kZXI9eWVzCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTEJVSUxEIjsgdGhl
bgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQ9IiRhY19jdF9PQ0FNTEJVSUxEIiAjIExl
dCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVsc2UKLSAgYWNfY3ZfbGliX2x6bWFfbHpt
YV9zdHJlYW1fZGVjb2Rlcj1ubworYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRP
UgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16
ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhl
Y3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQk
YWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi
OyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTEJVSUxEPSJvY2FtbGJ1aWxkIgor
ICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIv
JGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9u
ZQorSUZTPSRhc19zYXZlX0lGUworCiBmaQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRl
c3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQK
LUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9sem1hX2x6bWFfc3RyZWFtX2Rl
Y29kZXIiID4mNQotJGFzX2VjaG8gIiRhY19jdl9saWJfbHptYV9sem1hX3N0cmVhbV9kZWNvZGVy
IiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2RlciIg
PSB4IiJ5ZXM7IHRoZW4gOgotICB6bGliPSIkemxpYiAtREhBVkVfTFpNQSAtbGx6bWEiCithY19j
dF9PQ0FNTEJVSUxEPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQKK2lmIHRlc3QgLW4gIiRh
Y19jdF9PQ0FNTEJVSUxEIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MQlVJTEQiID4mNQorJGFzX2VjaG8gIiRhY19j
dF9PQ0FNTEJVSUxEIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQog
Ci0KKyAgaWYgdGVzdCAieCRhY19jdF9PQ0FNTEJVSUxEIiA9IHg7IHRoZW4KKyAgICBPQ0FNTEJV
SUxEPSJubyIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJu
ZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdB
Uk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIg
PiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJl
Zml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2Vz
YWMKKyAgICBPQ0FNTEJVSUxEPSRhY19jdF9PQ0FNTEJVSUxECisgIGZpCitlbHNlCisgIE9DQU1M
QlVJTEQ9IiRhY19jdl9wcm9nX09DQU1MQlVJTEQiCiBmaQogCiAKLWFjX2ZuX2NfY2hlY2tfaGVh
ZGVyX21vbmdyZWwgIiRMSU5FTk8iICJsem8vbHpvMXguaCIgImFjX2N2X2hlYWRlcl9sem9fbHpv
MXhfaCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl9oZWFkZXJfbHpv
X2x6bzF4X2giID0geCIieWVzOyB0aGVuIDoKKyAgICBpZiB0ZXN0ICJ4JE9DQU1MQyIgPSAieG5v
IjsgdGhlbiA6CiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl
Y2tpbmcgZm9yIGx6bzF4X2RlY29tcHJlc3MgaW4gLWxsem8yIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIGZvciBsem8xeF9kZWNvbXByZXNzIGluIC1sbHpvMi4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9saWJfbHpvMl9sem8xeF9kZWNvbXByZXNzK3NldH0iID0gc2V0OyB0aGVuIDoK
LSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfY2hlY2tfbGliX3NhdmVf
TElCUz0kTElCUwotTElCUz0iLWxsem8yICAkTElCUyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyAgICAgICAgaWYg
dGVzdCAieCRlbmFibGVfb2NhbWx0b29scyIgPSAieHllcyI7IHRoZW4gOgogCi0vKiBPdmVycmlk
ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwotICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIGx6bzF4
X2RlY29tcHJlc3MgKCk7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVybiBsem8xeF9kZWNvbXByZXNz
ICgpOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIk
TElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3M9eWVzCi1l
bHNlCi0gIGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3M9bm8KLWZpCi1ybSAtZiBjb3Jl
IGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19leGVl
eHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUworICAgICAg
ICAgICAgYXNfZm5fZXJyb3IgJD8gIk9jYW1sIHRvb2xzIGVuYWJsZWQsIGJ1dCB1bmFibGUgdG8g
ZmluZCBPY2FtbCIgIiRMSU5FTk8iIDUKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3MiID4m
NQotJGFzX2VjaG8gIiRhY19jdl9saWJfbHpvMl9sem8xeF9kZWNvbXByZXNzIiA+JjY7IH0KLWlm
IHRlc3QgIngkYWNfY3ZfbGliX2x6bzJfbHpvMXhfZGVjb21wcmVzcyIgPSB4IiJ5ZXM7IHRoZW4g
OgotICB6bGliPSIkemxpYiAtREhBVkVfTFpPMVggLWxsem8yIgorICAgICAgICBvY2FtbHRvb2xz
PSJuIgorCiBmaQogCitmaQorIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJiYXNoIiwgc28g
aXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBiYXNoOyBhY193
b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9CQVNIK3NldH0iID0gc2V0OyB0aGVuIDoK
KyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2FzZSAkQkFTSCBpbgorICBb
XFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9CQVNIPSIkQkFTSCIgIyBMZXQgdGhlIHVz
ZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisg
IElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBm
b3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYg
eyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIk
YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3BhdGhfQkFT
SD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+
JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKIAor
ICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9CQVNIIiAmJiBhY19jdl9wYXRoX0JBU0g9Im5vIgorICA7
OworZXNhYworZmkKK0JBU0g9JGFjX2N2X3BhdGhfQkFTSAoraWYgdGVzdCAtbiAiJEJBU0giOyB0
aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
QkFTSCIgPiY1CiskYXNfZWNobyAiJEJBU0giID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5v
IiA+JjY7IH0KIGZpCiAKIAoraWYgdGVzdCB4IiR7QkFTSH0iID09IHgibm8iCit0aGVuCisgICAg
YXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGJhc2gsIHBsZWFzZSBpbnN0YWxsIGJhc2gi
ICIkTElORU5PIiA1CitmaQogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IGNoZWNraW5nIGZvciBpb19zZXR1cCBpbiAtbGFpbyIgPiY1Ci0kYXNfZWNob19uICJjaGVj
a2luZyBmb3IgaW9fc2V0dXAgaW4gLWxhaW8uLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3Zf
bGliX2Fpb19pb19zZXR1cCtzZXR9IiA9IHNldDsgdGhlbiA6CithY19leHQ9YworYWNfY3BwPSck
Q1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25m
dGVzdC4kYWNfZXh0ID4mNScKK2FjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENG
TEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCithY19j
b21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251Cit7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29y
IiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29y
Li4uICIgPiY2OyB9CisjIE9uIFN1bnMsIHNvbWV0aW1lcyAkQ1BQIG5hbWVzIGEgZGlyZWN0b3J5
LgoraWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAtZCAiJENQUCI7IHRoZW4KKyAgQ1BQPQorZmkK
K2lmIHRlc3QgLXogIiRDUFAiOyB0aGVuCisgIGlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DUFArc2V0
fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBh
Y19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGFpbyAgJExJQlMiCi1jYXQgY29u
ZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisgICAgICAjIERvdWJsZSBxdW90
ZXMgYmVjYXVzZSBDUFAgbmVlZHMgdG8gYmUgZXhwYW5kZWQKKyAgICBmb3IgQ1BQIGluICIkQ0Mg
LUUiICIkQ0MgLUUgLXRyYWRpdGlvbmFsLWNwcCIgIi9saWIvY3BwIgorICAgIGRvCisgICAgICBh
Y19wcmVwcm9jX29rPWZhbHNlCitmb3IgYWNfY19wcmVwcm9jX3dhcm5fZmxhZyBpbiAnJyB5ZXMK
K2RvCisgICMgVXNlIGEgaGVhZGVyIGZpbGUgdGhhdCBjb21lcyB3aXRoIGdjYywgc28gY29uZmln
dXJpbmcgZ2xpYmMKKyAgIyB3aXRoIGEgZnJlc2ggY3Jvc3MtY29tcGlsZXIgd29ya3MuCisgICMg
UHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBz
aW5jZQorICAjIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy
cy4KKyAgIyBPbiB0aGUgTmVYVCwgY2MgLUUgcnVucyB0aGUgY29kZSB0aHJvdWdoIHRoZSBjb21w
aWxlcidzIHBhcnNlciwKKyAgIyBub3QganVzdCB0aHJvdWdoIGNwcC4gIlN5bnRheCBlcnJvciIg
aXMgaGVyZSB0byBjYXRjaCB0aGlzIGNhc2UuCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0Yg
PmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLQotLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0gICBVc2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKLSAgIGJ1
aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g
ICovCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIKKyNpZmRlZiBfX1NURENfXworIyBp
bmNsdWRlIDxsaW1pdHMuaD4KKyNlbHNlCisjIGluY2x1ZGUgPGFzc2VydC5oPgogI2VuZGlmCi1j
aGFyIGlvX3NldHVwICgpOwotaW50Ci1tYWluICgpCi17Ci1yZXR1cm4gaW9fc2V0dXAgKCk7Ci0g
IDsKLSAgcmV0dXJuIDA7Ci19CisJCSAgICAgU3ludGF4IGVycm9yCiBfQUNFT0YKLWlmIGFjX2Zu
X2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfbGliX2Fpb19pb19zZXR1cD15
ZXMKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorCiBlbHNlCi0gIGFjX2N2
X2xpYl9haW9faW9fc2V0dXA9bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVz
dC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAot
TElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUworICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQg
aW5wdXQuCitjb250aW51ZQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX2Fpb19pb19zZXR1cCIgPiY1Ci0kYXNfZWNobyAiJGFj
X2N2X2xpYl9haW9faW9fc2V0dXAiID4mNjsgfQotaWYgdGVzdCAieCRhY19jdl9saWJfYWlvX2lv
X3NldHVwIiA9IHgiInllczsgdGhlbiA6Ci0gIHN5c3RlbV9haW89InkiCitybSAtZiBjb25mdGVz
dC5lcnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CisKKyAgIyBPSywgd29ya3Mgb24gc2Fu
ZSBjYXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbmV4aXN0ZW50IGhlYWRlcnMKKyAgIyBjYW4g
YmUgZGV0ZWN0ZWQgYW5kIGhvdy4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRl
c3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPGFjX25vbmV4aXN0
ZW50Lmg+CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorICAj
IEJyb2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorY29udGludWUKIGVsc2UKLSAgc3lz
dGVtX2Fpbz0ibiIKKyAgIyBQYXNzZXMgYm90aCB0ZXN0cy4KK2FjX3ByZXByb2Nfb2s9OgorYnJl
YWsKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CisK
K2RvbmUKKyMgQmVjYXVzZSBvZiBgYnJlYWsnLCBfQUNfUFJFUFJPQ19JRkVMU0UncyBjbGVhbmlu
ZyBjb2RlIHdhcyBza2lwcGVkLgorcm0gLWYgY29uZnRlc3QuaSBjb25mdGVzdC5lcnIgY29uZnRl
c3QuJGFjX2V4dAoraWYgJGFjX3ByZXByb2Nfb2s7IHRoZW4gOgorICBicmVhawogZmkKIAorICAg
IGRvbmUKKyAgICBhY19jdl9wcm9nX0NQUD0kQ1BQCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIE1ENSBpbiAtbGNyeXB0byIgPiY1Ci0kYXNf
ZWNob19uICJjaGVja2luZyBmb3IgTUQ1IGluIC1sY3J5cHRvLi4uICIgPiY2OyB9Ci1pZiB0ZXN0
ICIke2FjX2N2X2xpYl9jcnlwdG9fTUQ1K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKK2ZpCisgIENQUD0kYWNfY3ZfcHJvZ19DUFAKIGVsc2UKLSAgYWNf
Y2hlY2tfbGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWxjcnlwdG8gICRMSUJTIgotY2F0IGNv
bmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorICBhY19jdl9wcm9nX0NQUD0k
Q1BQCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRDUFAiID4mNQorJGFzX2VjaG8gIiRDUFAiID4mNjsgfQorYWNfcHJlcHJvY19vaz1mYWxzZQor
Zm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCitkbworICAjIFVzZSBhIGhlYWRl
ciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCisgICMgd2l0
aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgorICAjIFByZWZlciA8bGltaXRzLmg+IHRv
IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKKyAgIyA8bGltaXRzLmg+
IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCisgICMgT24gdGhlIE5lWFQs
IGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIsCisgICMg
bm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhp
cyBjYXNlLgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAv
KiBlbmQgY29uZmRlZnMuaC4gICovCi0KLS8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBh
cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwotI2lmZGVmIF9fY3BsdXNw
bHVzCi1leHRlcm4gIkMiCisjaWZkZWYgX19TVERDX18KKyMgaW5jbHVkZSA8bGltaXRzLmg+Cisj
ZWxzZQorIyBpbmNsdWRlIDxhc3NlcnQuaD4KICNlbmRpZgotY2hhciBNRDUgKCk7Ci1pbnQKLW1h
aW4gKCkKLXsKLXJldHVybiBNRDUgKCk7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19CisJCSAgICAgU3lu
dGF4IGVycm9yCiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoK
LSAgYWNfY3ZfbGliX2NyeXB0b19NRDU9eWVzCitpZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8i
OyB0aGVuIDoKKwogZWxzZQotICBhY19jdl9saWJfY3J5cHRvX01ENT1ubwotZmkKLXJtIC1mIGNv
cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4
ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCisgICMg
QnJva2VuOiBmYWlscyBvbiB2YWxpZCBpbnB1dC4KK2NvbnRpbnVlCiBmaQoteyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfY3J5cHRvX01E
NSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2xpYl9jcnlwdG9fTUQ1IiA+JjY7IH0KLWlmIHRlc3Qg
IngkYWNfY3ZfbGliX2NyeXB0b19NRDUiID0geCIieWVzOyB0aGVuIDoKLSAgY2F0ID4+Y29uZmRl
ZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBIQVZFX0xJQkNSWVBUTyAxCitybSAtZiBjb25mdGVzdC5l
cnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CisKKyAgIyBPSywgd29ya3Mgb24gc2FuZSBj
YXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbmV4aXN0ZW50IGhlYWRlcnMKKyAgIyBjYW4gYmUg
ZGV0ZWN0ZWQgYW5kIGhvdy4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50
Lmg+CiBfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorICAjIEJy
b2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorY29udGludWUKK2Vsc2UKKyAgIyBQYXNz
ZXMgYm90aCB0ZXN0cy4KK2FjX3ByZXByb2Nfb2s9OgorYnJlYWsKK2ZpCitybSAtZiBjb25mdGVz
dC5lcnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CiAKLSAgTElCUz0iLWxjcnlwdG8gJExJ
QlMiCitkb25lCisjIEJlY2F1c2Ugb2YgYGJyZWFrJywgX0FDX1BSRVBST0NfSUZFTFNFJ3MgY2xl
YW5pbmcgY29kZSB3YXMgc2tpcHBlZC4KK3JtIC1mIGNvbmZ0ZXN0LmkgY29uZnRlc3QuZXJyIGNv
bmZ0ZXN0LiRhY19leHQKK2lmICRhY19wcmVwcm9jX29rOyB0aGVuIDoKIAogZWxzZQotICBhc19m
bl9lcnJvciAkPyAiQ291bGQgbm90IGZpbmQgbGliY3J5cHRvIiAiJExJTkVOTyIgNQorICB7IHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3
ZCc6IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30K
K2FzX2ZuX2Vycm9yICQ/ICJDIHByZXByb2Nlc3NvciBcIiRDUFBcIiBmYWlscyBzYW5pdHkgY2hl
Y2sKK1NlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQog
ZmkKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm
b3IgZXh0MmZzX29wZW4yIGluIC1sZXh0MmZzIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZv
ciBleHQyZnNfb3BlbjIgaW4gLWxleHQyZnMuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3Zf
bGliX2V4dDJmc19leHQyZnNfb3BlbjIrc2V0fSIgPSBzZXQ7IHRoZW4gOgorYWNfZXh0PWMKK2Fj
X2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxB
R1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCithY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhl
ZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1
JworYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorCisKK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGdyZXAgdGhhdCBoYW5k
bGVzIGxvbmcgbGluZXMgYW5kIC1lIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBncmVw
IHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZS4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHth
Y19jdl9wYXRoX0dSRVArc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVk
KSAiID4mNgogZWxzZQotICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGV4
dDJmcyAgJExJQlMiCi1jYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0
Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCisgIGlmIHRlc3QgLXogIiRHUkVQIjsgdGhlbgorICBh
Y19wYXRoX0dSRVBfZm91bmQ9ZmFsc2UKKyAgIyBMb29wIHRocm91Z2ggdGhlIHVzZXIncyBwYXRo
IGFuZCB0ZXN0IGZvciBlYWNoIG9mIFBST0dOQU1FLUxJU1QKKyAgYXNfc2F2ZV9JRlM9JElGUzsg
SUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi91
c3IveHBnNC9iaW4KK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIg
JiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfcHJvZyBpbiBncmVwIGdncmVwOyBkbworICAgIGZvciBh
Y19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICAgICAgYWNf
cGF0aF9HUkVQPSIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IgorICAgICAgeyB0ZXN0IC1m
ICIkYWNfcGF0aF9HUkVQIiAmJiAkYXNfdGVzdF94ICIkYWNfcGF0aF9HUkVQIjsgfSB8fCBjb250
aW51ZQorIyBDaGVjayBmb3IgR05VIGFjX3BhdGhfR1JFUCBhbmQgc2VsZWN0IGl0IGlmIGl0IGlz
IGZvdW5kLgorICAjIENoZWNrIGZvciBHTlUgJGFjX3BhdGhfR1JFUAorY2FzZSBgIiRhY19wYXRo
X0dSRVAiIC0tdmVyc2lvbiAyPiYxYCBpbgorKkdOVSopCisgIGFjX2N2X3BhdGhfR1JFUD0iJGFj
X3BhdGhfR1JFUCIgYWNfcGF0aF9HUkVQX2ZvdW5kPTo7OworKikKKyAgYWNfY291bnQ9MAorICAk
YXNfZWNob19uIDAxMjM0NTY3ODkgPiJjb25mdGVzdC5pbiIKKyAgd2hpbGUgOgorICBkbworICAg
IGNhdCAiY29uZnRlc3QuaW4iICJjb25mdGVzdC5pbiIgPiJjb25mdGVzdC50bXAiCisgICAgbXYg
ImNvbmZ0ZXN0LnRtcCIgImNvbmZ0ZXN0LmluIgorICAgIGNwICJjb25mdGVzdC5pbiIgImNvbmZ0
ZXN0Lm5sIgorICAgICRhc19lY2hvICdHUkVQJyA+PiAiY29uZnRlc3QubmwiCisgICAgIiRhY19w
YXRoX0dSRVAiIC1lICdHUkVQJCcgLWUgJy0oY2Fubm90IG1hdGNoKS0nIDwgImNvbmZ0ZXN0Lm5s
IiA+ImNvbmZ0ZXN0Lm91dCIgMj4vZGV2L251bGwgfHwgYnJlYWsKKyAgICBkaWZmICJjb25mdGVz
dC5vdXQiICJjb25mdGVzdC5ubCIgPi9kZXYvbnVsbCAyPiYxIHx8IGJyZWFrCisgICAgYXNfZm5f
YXJpdGggJGFjX2NvdW50ICsgMSAmJiBhY19jb3VudD0kYXNfdmFsCisgICAgaWYgdGVzdCAkYWNf
Y291bnQgLWd0ICR7YWNfcGF0aF9HUkVQX21heC0wfTsgdGhlbgorICAgICAgIyBCZXN0IG9uZSBz
byBmYXIsIHNhdmUgaXQgYnV0IGtlZXAgbG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCisgICAgICBh
Y19jdl9wYXRoX0dSRVA9IiRhY19wYXRoX0dSRVAiCisgICAgICBhY19wYXRoX0dSRVBfbWF4PSRh
Y19jb3VudAorICAgIGZpCisgICAgIyAxMCooMl4xMCkgY2hhcnMgYXMgaW5wdXQgc2VlbXMgbW9y
ZSB0aGFuIGVub3VnaAorICAgIHRlc3QgJGFjX2NvdW50IC1ndCAxMCAmJiBicmVhaworICBkb25l
CisgIHJtIC1mIGNvbmZ0ZXN0LmluIGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5ubCBjb25mdGVzdC5v
dXQ7OworZXNhYwogCi0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh
dm9pZCBhbiBlcnJvci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy
ZXR1cm4gdHlwZSBvZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv
dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJu
ICJDIgotI2VuZGlmCi1jaGFyIGV4dDJmc19vcGVuMiAoKTsKLWludAotbWFpbiAoKQotewotcmV0
dXJuIGV4dDJmc19vcGVuMiAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNf
Zm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfZXh0MmZzX2V4dDJm
c19vcGVuMj15ZXMKKyAgICAgICRhY19wYXRoX0dSRVBfZm91bmQgJiYgYnJlYWsgMworICAgIGRv
bmUKKyAgZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisgIGlmIHRlc3QgLXogIiRhY19j
dl9wYXRoX0dSRVAiOyB0aGVuCisgICAgYXNfZm5fZXJyb3IgJD8gIm5vIGFjY2VwdGFibGUgZ3Jl
cCBjb3VsZCBiZSBmb3VuZCBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi91c3IveHBnNC9iaW4iICIk
TElORU5PIiA1CisgIGZpCiBlbHNlCi0gIGFjX2N2X2xpYl9leHQyZnNfZXh0MmZzX29wZW4yPW5v
CisgIGFjX2N2X3BhdGhfR1JFUD0kR1JFUAogZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNv
bmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNf
ZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCisKIGZpCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9leHQyZnNfZXh0MmZz
X29wZW4yIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2V4dDJmc19leHQyZnNfb3BlbjIiID4m
NjsgfQotaWYgdGVzdCAieCRhY19jdl9saWJfZXh0MmZzX2V4dDJmc19vcGVuMiIgPSB4IiJ5ZXM7
IHRoZW4gOgotICBsaWJleHQyZnM9InkiCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfR1JFUCIgPiY1CiskYXNfZWNobyAiJGFjX2N2
X3BhdGhfR1JFUCIgPiY2OyB9CisgR1JFUD0iJGFjX2N2X3BhdGhfR1JFUCIKKworCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBlZ3JlcCIgPiY1
CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgZWdyZXAuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7
YWNfY3ZfcGF0aF9FR1JFUCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNo
ZWQpICIgPiY2CiBlbHNlCi0gIGxpYmV4dDJmcz0ibiIKKyAgaWYgZWNobyBhIHwgJEdSRVAgLUUg
JyhhfGIpJyA+L2Rldi9udWxsIDI+JjEKKyAgIHRoZW4gYWNfY3ZfcGF0aF9FR1JFUD0iJEdSRVAg
LUUiCisgICBlbHNlCisgICAgIGlmIHRlc3QgLXogIiRFR1JFUCI7IHRoZW4KKyAgYWNfcGF0aF9F
R1JFUF9mb3VuZD1mYWxzZQorICAjIExvb3AgdGhyb3VnaCB0aGUgdXNlcidzIHBhdGggYW5kIHRl
c3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBB
VEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0
L2JpbgorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19k
aXI9LgorICAgIGZvciBhY19wcm9nIGluIGVncmVwOyBkbworICAgIGZvciBhY19leGVjX2V4dCBp
biAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICAgICAgYWNfcGF0aF9FR1JFUD0i
JGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIKKyAgICAgIHsgdGVzdCAtZiAiJGFjX3BhdGhf
RUdSRVAiICYmICRhc190ZXN0X3ggIiRhY19wYXRoX0VHUkVQIjsgfSB8fCBjb250aW51ZQorIyBD
aGVjayBmb3IgR05VIGFjX3BhdGhfRUdSRVAgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4K
KyAgIyBDaGVjayBmb3IgR05VICRhY19wYXRoX0VHUkVQCitjYXNlIGAiJGFjX3BhdGhfRUdSRVAi
IC0tdmVyc2lvbiAyPiYxYCBpbgorKkdOVSopCisgIGFjX2N2X3BhdGhfRUdSRVA9IiRhY19wYXRo
X0VHUkVQIiBhY19wYXRoX0VHUkVQX2ZvdW5kPTo7OworKikKKyAgYWNfY291bnQ9MAorICAkYXNf
ZWNob19uIDAxMjM0NTY3ODkgPiJjb25mdGVzdC5pbiIKKyAgd2hpbGUgOgorICBkbworICAgIGNh
dCAiY29uZnRlc3QuaW4iICJjb25mdGVzdC5pbiIgPiJjb25mdGVzdC50bXAiCisgICAgbXYgImNv
bmZ0ZXN0LnRtcCIgImNvbmZ0ZXN0LmluIgorICAgIGNwICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0
Lm5sIgorICAgICRhc19lY2hvICdFR1JFUCcgPj4gImNvbmZ0ZXN0Lm5sIgorICAgICIkYWNfcGF0
aF9FR1JFUCIgJ0VHUkVQJCcgPCAiY29uZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYv
bnVsbCB8fCBicmVhaworICAgIGRpZmYgImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rl
di9udWxsIDI+JjEgfHwgYnJlYWsKKyAgICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFj
X2NvdW50PSRhc192YWwKKyAgICBpZiB0ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0VHUkVQ
X21heC0wfTsgdGhlbgorICAgICAgIyBCZXN0IG9uZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAg
bG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCisgICAgICBhY19jdl9wYXRoX0VHUkVQPSIkYWNfcGF0
aF9FR1JFUCIKKyAgICAgIGFjX3BhdGhfRUdSRVBfbWF4PSRhY19jb3VudAorICAgIGZpCisgICAg
IyAxMCooMl4xMCkgY2hhcnMgYXMgaW5wdXQgc2VlbXMgbW9yZSB0aGFuIGVub3VnaAorICAgIHRl
c3QgJGFjX2NvdW50IC1ndCAxMCAmJiBicmVhaworICBkb25lCisgIHJtIC1mIGNvbmZ0ZXN0Lmlu
IGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5ubCBjb25mdGVzdC5vdXQ7OworZXNhYworCisgICAgICAk
YWNfcGF0aF9FR1JFUF9mb3VuZCAmJiBicmVhayAzCisgICAgZG9uZQorICBkb25lCisgIGRvbmUK
K0lGUz0kYXNfc2F2ZV9JRlMKKyAgaWYgdGVzdCAteiAiJGFjX2N2X3BhdGhfRUdSRVAiOyB0aGVu
CisgICAgYXNfZm5fZXJyb3IgJD8gIm5vIGFjY2VwdGFibGUgZWdyZXAgY291bGQgYmUgZm91bmQg
aW4gJFBBVEgkUEFUSF9TRVBBUkFUT1IvdXNyL3hwZzQvYmluIiAiJExJTkVOTyIgNQorICBmaQor
ZWxzZQorICBhY19jdl9wYXRoX0VHUkVQPSRFR1JFUAogZmkKIAorICAgZmkKK2ZpCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfRUdS
RVAiID4mNQorJGFzX2VjaG8gIiRhY19jdl9wYXRoX0VHUkVQIiA+JjY7IH0KKyBFR1JFUD0iJGFj
X2N2X3BhdGhfRUdSRVAiCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIgaW4gLWxnY3J5cHQiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIgaW4gLWxnY3J5cHQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfbGliX2djcnlwdF9nY3J5X21kX2hhc2hfYnVmZmVy
K3NldH0iID0gc2V0OyB0aGVuIDoKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1CiskYXNfZWNob19u
ICJjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiAiID4mNjsgfQoraWYgdGVzdCAi
JHthY19jdl9oZWFkZXJfc3RkYytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihj
YWNoZWQpICIgPiY2CiBlbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJQlM9
Ii1sZ2NyeXB0ICAkTElCUyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRh
Y19leHQKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAogLyog
ZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGFy
Zy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZsb2F0Lmg+CiAKLS8qIE92ZXJy
aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0g
ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLwotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiCi0jZW5kaWYKLWNoYXIgZ2Ny
eV9tZF9oYXNoX2J1ZmZlciAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuIGdjcnlfbWRfaGFz
aF9idWZmZXIgKCk7CisKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VPRgotaWYgYWNfZm5fY190
cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRfaGFz
aF9idWZmZXI9eWVzCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Cisg
IGFjX2N2X2hlYWRlcl9zdGRjPXllcwogZWxzZQotICBhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXI9bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNf
b2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0k
YWNfY2hlY2tfbGliX3NhdmVfTElCUworICBhY19jdl9oZWFkZXJfc3RkYz1ubwogZmkKLXsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX2dj
cnlwdF9nY3J5X21kX2hhc2hfYnVmZmVyIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2djcnlw
dF9nY3J5X21kX2hhc2hfYnVmZmVyIiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX2djcnlw
dF9nY3J5X21kX2hhc2hfYnVmZmVyIiA9IHgiInllczsgdGhlbiA6Ci0gIGxpYmdjcnlwdD0ieSIK
K3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFj
X2V4dAorCitpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorICAjIFN1bk9T
IDQueCBzdHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5IHRvIEFOU0kuCisg
IGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworX0FDRU9GCitpZiAoZXZhbCAiJGFj
X2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8CisgICRFR1JFUCAibWVtY2hyIiA+L2Rldi9u
dWxsIDI+JjE7IHRoZW4gOgorCiBlbHNlCi0gIGxpYmdjcnlwdD0ibiIKKyAgYWNfY3ZfaGVhZGVy
X3N0ZGM9bm8KK2ZpCitybSAtZiBjb25mdGVzdCoKKwogZmkKIAoraWYgdGVzdCAkYWNfY3ZfaGVh
ZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKyAgIyBJU0MgMi4wLjIgc3RkbGliLmggZG9lcyBub3QgZGVj
bGFyZSBmcmVlLCBjb250cmFyeSB0byBBTlNJLgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9G
ID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3Rk
bGliLmg+CiAKK19BQ0VPRgoraWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+
JjUgfAorICAkRUdSRVAgImZyZWUiID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CiAKLSAgICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBwdGhyZWFk
IGZsYWciID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWQgZmxhZy4uLiAiID4m
NjsgfQotaWYgdGVzdCAiJHtheF9jdl9wdGhyZWFkX2ZsYWdzK3NldH0iID0gc2V0OyB0aGVuIDoK
LSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKKyAgYWNfY3ZfaGVhZGVyX3N0ZGM9
bm8KK2ZpCitybSAtZiBjb25mdGVzdCoKIAotICAgICAgICBheF9jdl9wdGhyZWFkX2ZsYWdzPS1w
dGhyZWFkCitmaQogCi0gICAgUFRIUkVBRF9DRkxBR1M9IiRheF9jdl9wdGhyZWFkX2ZsYWdzIgot
ICAgIFBUSFJFQURfTERGTEFHUz0iJGF4X2N2X3B0aHJlYWRfZmxhZ3MiCi0gICAgUFRIUkVBRF9M
SUJTPSIiCitpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorICAjIC9iaW4v
Y2MgaW4gSXJpeC00LjAuNSBnZXRzIG5vbi1BTlNJIGN0eXBlIG1hY3JvcyB1bmxlc3MgdXNpbmcg
LWFuc2kuCisgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKyAgOgor
ZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBl
bmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRsaWIu
aD4KKyNpZiAoKCcgJyAmIDB4MEZGKSA9PSAweDAyMCkKKyMgZGVmaW5lIElTTE9XRVIoYykgKCdh
JyA8PSAoYykgJiYgKGMpIDw9ICd6JykKKyMgZGVmaW5lIFRPVVBQRVIoYykgKElTTE9XRVIoYykg
PyAnQScgKyAoKGMpIC0gJ2EnKSA6IChjKSkKKyNlbHNlCisjIGRlZmluZSBJU0xPV0VSKGMpIFwK
KwkJICAgKCgnYScgPD0gKGMpICYmIChjKSA8PSAnaScpIFwKKwkJICAgICB8fCAoJ2onIDw9IChj
KSAmJiAoYykgPD0gJ3InKSBcCisJCSAgICAgfHwgKCdzJyA8PSAoYykgJiYgKGMpIDw9ICd6Jykp
CisjIGRlZmluZSBUT1VQUEVSKGMpIChJU0xPV0VSKGMpID8gKChjKSB8IDB4NDApIDogKGMpKQor
I2VuZGlmCiAKKyNkZWZpbmUgWE9SKGUsIGYpICgoKGUpICYmICEoZikpIHx8ICghKGUpICYmIChm
KSkpCitpbnQKK21haW4gKCkKK3sKKyAgaW50IGk7CisgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkr
KykKKyAgICBpZiAoWE9SIChpc2xvd2VyIChpKSwgSVNMT1dFUiAoaSkpCisJfHwgdG91cHBlciAo
aSkgIT0gVE9VUFBFUiAoaSkpCisgICAgICByZXR1cm4gMjsKKyAgcmV0dXJuIDA7Cit9CitfQUNF
T0YKK2lmIGFjX2ZuX2NfdHJ5X3J1biAiJExJTkVOTyI7IHRoZW4gOgogCi0gICAgc2F2ZWRfQ0ZM
QUdTPSIkQ0ZMQUdTIgorZWxzZQorICBhY19jdl9oZWFkZXJfc3RkYz1ubworZmkKK3JtIC1mIGNv
cmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhl
ZXh0IFwKKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19l
eHQKK2ZpCiAKLSAgICBzYXZlZF9MREZMQUdTPSIkTERGTEFHUyIKK2ZpCitmaQoreyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3Rk
YyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2hlYWRlcl9zdGRjIiA+JjY7IH0KK2lmIHRlc3QgJGFj
X2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCiAKLSAgICBzYXZlZF9MSUJTPSIkTElCUyIKKyRh
c19lY2hvICIjZGVmaW5lIFNURENfSEVBREVSUyAxIiA+PmNvbmZkZWZzLmgKIAorZmkKIAotICAg
IENGTEFHUz0iJENGTEFHUyAkUFRIUkVBRF9DRkxBR1MiCisjIE9uIElSSVggNS4zLCBzeXMvdHlw
ZXMgYW5kIGludHR5cGVzLmggYXJlIGNvbmZsaWN0aW5nLgorZm9yIGFjX2hlYWRlciBpbiBzeXMv
dHlwZXMuaCBzeXMvc3RhdC5oIHN0ZGxpYi5oIHN0cmluZy5oIG1lbW9yeS5oIHN0cmluZ3MuaCBc
CisJCSAgaW50dHlwZXMuaCBzdGRpbnQuaCB1bmlzdGQuaAorZG8gOgorICBhc19hY19IZWFkZXI9
YCRhc19lY2hvICJhY19jdl9oZWFkZXJfJGFjX2hlYWRlciIgfCAkYXNfdHJfc2hgCithY19mbl9j
X2NoZWNrX2hlYWRlcl9jb21waWxlICIkTElORU5PIiAiJGFjX2hlYWRlciIgIiRhc19hY19IZWFk
ZXIiICIkYWNfaW5jbHVkZXNfZGVmYXVsdAorIgoraWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY19I
ZWFkZXIiXCIgPSB4InllcyI7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisj
ZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNfaGVhZGVyIiB8ICRhc190cl9jcHBgIDEKK19BQ0VP
RgogCi0gICAgTERGTEFHUz0iJExERkxBR1MgJFBUSFJFQURfTERGTEFHUyIKK2ZpCiAKLSAgICBM
SUJTPSIkTElCUyAkUFRIUkVBRF9MSUJTIgorZG9uZQogCi0gICAgICAgIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KIAot
I2luY2x1ZGUgPHB0aHJlYWQuaD4KLWludCBtYWluKHZvaWQpIHsKLSAgcHRocmVhZF9hdGZvcmso
MCwwLDApOwotICBwdGhyZWFkX2NyZWF0ZSgwLDAsMCwwKTsKLX0KK2lmIHRlc3QgIngkcHl0aG9u
dG9vbHMiID0gInh5IjsgdGhlbiA6CiAKLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJ
TkVOTyI7IHRoZW4gOgorICAgIGlmIGVjaG8gIiRQWVRIT04iIHwgZ3JlcCAtcSAiXi8iOyB0aGVu
IDoKIAorICAgICAgICBQWVRIT05QQVRIPSRQWVRIT04KKyAgICAgICAgUFlUSE9OPWBiYXNlbmFt
ZSAkUFlUSE9OUEFUSGAKKworZWxpZiB0ZXN0IC16ICIkUFlUSE9OIjsgdGhlbiA6CisgIFBZVEhP
Tj0icHl0aG9uIgogZWxzZQotICBheF9jdl9wdGhyZWFkX2ZsYWdzPWZhaWxlZAorICBhc19mbl9l
cnJvciAkPyAiUFlUSE9OIHNwZWNpZmllZCwgYnV0IGlzIG5vdCBhbiBhYnNvbHV0ZSBwYXRoIiAi
JExJTkVOTyIgNQogZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpl
eHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CisgICAgIyBFeHRy
YWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkUFlUSE9OIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkUFlUSE9OOyBhY193b3JkPSQyCit7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1
CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3Qg
IiR7YWNfY3ZfcGF0aF9QWVRIT05QQVRIK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2FzZSAkUFlUSE9OUEFUSCBpbgorICBbXFwvXSog
fCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSIkUFlUSE9OUEFUSCIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgK
K2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4K
KyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8K
KyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVz
dF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3Bh
dGhfUFlUSE9OUEFUSD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNf
c2F2ZV9JRlMKIAotICAgIENGTEFHUz0iJHNhdmVkX0NGTEFHUyIKKyAgdGVzdCAteiAiJGFjX2N2
X3BhdGhfUFlUSE9OUEFUSCIgJiYgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSJubyIKKyAgOzsKK2Vz
YWMKK2ZpCitQWVRIT05QQVRIPSRhY19jdl9wYXRoX1BZVEhPTlBBVEgKK2lmIHRlc3QgLW4gIiRQ
WVRIT05QQVRIIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJFBZVEhPTlBBVEgiID4mNQorJGFzX2VjaG8gIiRQWVRIT05QQVRIIiA+JjY7
IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQogCi0gICAgTERGTEFHUz0iJHNh
dmVkX0xERkxBR1MiCiAKLSAgICBMSUJTPSIkc2F2ZWRfTElCUyIKK2lmIHRlc3QgeCIke1BZVEhP
TlBBVEh9IiA9PSB4Im5vIgordGhlbgorICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmlu
ZCAkUFlUSE9OLCBwbGVhc2UgaW5zdGFsbCAkUFlUSE9OIiAiJExJTkVOTyIgNQorZmkKKyAgICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBweXRo
b24gdmVyc2lvbiA+PSAyLjMgIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBweXRob24g
dmVyc2lvbiA+PSAyLjMgLi4uICIgPiY2OyB9CitgJFBZVEhPTiAtYyAnaW1wb3J0IHN5czsgc3lz
LmV4aXQoZXZhbCgic3lzLnZlcnNpb25faW5mbyA8ICgyLCAzKSIpKSdgCitpZiB0ZXN0ICIkPyIg
IT0gIjAiCit0aGVuCisgICAgcHl0aG9uX3ZlcnNpb249YCRQWVRIT04gLVYgMj4mMWAKKyAgICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQor
JGFzX2VjaG8gIm5vIiA+JjY7IH0KKyAgICBhc19mbl9lcnJvciAkPyAiJHB5dGhvbl92ZXJzaW9u
IGlzIHRvbyBvbGQsIG1pbmltdW0gcmVxdWlyZWQgdmVyc2lvbiBpcyAyLjMiICIkTElORU5PIiA1
CitlbHNlCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6IHllcyIgPiY1CiskYXNfZWNobyAieWVzIiA+JjY7IH0KK2ZpCiAKK2FjX3ByZXZpb3VzX2Nw
cGZsYWdzPSRDUFBGTEFHUworYWNfcHJldmlvdXNfbGRmbGFncz0kTERGTEFHUworYWNfcHl0aG9u
X3ZlcnNpb249YCRQWVRIT04gLWMgJ2ltcG9ydCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCisgICAg
cHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiVkVSU0lPTiIpJ2AKKyMg
RXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJFBZVEhPTi1jb25maWciLCBzbyBpdCBjYW4gYmUg
YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRQWVRIT04tY29uZmlnOyBhY193
b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9weWNvbmZpZytzZXR9IiA9IHNldDsgdGhl
biA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJHB5Y29uZmln
IGluCisgIFtcXC9dKiB8ID86W1xcL10qKQorICBhY19jdl9wYXRoX3B5Y29uZmlnPSIkcHljb25m
aWciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7Owor
ICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGly
IGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYm
IGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu
c2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIg
JiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAg
ICBhY19jdl9wYXRoX3B5Y29uZmlnPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQor
SUZTPSRhc19zYXZlX0lGUwogCisgIHRlc3QgLXogIiRhY19jdl9wYXRoX3B5Y29uZmlnIiAmJiBh
Y19jdl9wYXRoX3B5Y29uZmlnPSJubyIKKyAgOzsKK2VzYWMKK2ZpCitweWNvbmZpZz0kYWNfY3Zf
cGF0aF9weWNvbmZpZworaWYgdGVzdCAtbiAiJHB5Y29uZmlnIjsgdGhlbgorICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHB5Y29uZmlnIiA+JjUKKyRh
c19lY2hvICIkcHljb25maWciID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0K
IGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGF4
X2N2X3B0aHJlYWRfZmxhZ3MiID4mNQotJGFzX2VjaG8gIiRheF9jdl9wdGhyZWFkX2ZsYWdzIiA+
JjY7IH0KLSAgICBpZiB0ZXN0ICJ4JGF4X2N2X3B0aHJlYWRfZmxhZ3MiID0geGZhaWxlZDsgdGhl
bgotICAgICAgICBhc19mbl9lcnJvciAkPyAiLXB0aHJlYWQgZG9lcyBub3Qgd29yayIgIiRMSU5F
Tk8iIDUKLSAgICBmaQotCi0gICAgUFRIUkVBRF9DRkxBR1M9IiRheF9jdl9wdGhyZWFkX2ZsYWdz
IgotICAgIFBUSFJFQURfTERGTEFHUz0iJGF4X2N2X3B0aHJlYWRfZmxhZ3MiCi0gICAgUFRIUkVB
RF9MSUJTPSIiCiAKIAoraWYgdGVzdCB4IiRweWNvbmZpZyIgPT0geCJubyI7IHRoZW4gOgogCi17
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBjbG9j
a19nZXR0aW1lIGluIC1scnQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGNsb2NrX2dl
dHRpbWUgaW4gLWxydC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9saWJfcnRfY2xvY2tf
Z2V0dGltZStzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2
Ci1lbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJQlM9Ii1scnQgICRMSUJT
IgotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLworICAgICAgICBDUFBGTEFHUz0iJENGTEFHUyBgJFBZVEhPTiAtYyAnaW1w
b3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKKyAgICAgICAgcHJpbnQgIi1JIiArIGRpc3R1dGls
cy5zeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIklOQ0xVREVQWSIpJ2AiCisgICAgQ1BQRkxBR1M9
IiRDUFBGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKKyAg
ICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiQ0ZMQUdTIikn
YCIKKyAgICBMREZMQUdTPSIkTERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5z
eXNjb25maWc7IFwKKyAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmln
X3ZhcigiTElCUyIpJ2AiCisgICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMgJ2ltcG9y
dCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCisgICAgICAgIHByaW50IGRpc3R1dGlscy5zeXNjb25m
aWcuZ2V0X2NvbmZpZ192YXIoIlNZU0xJQlMiKSdgIgorICAgIExERkxBR1M9IiRMREZMQUdTIGAk
UFlUSE9OIC1jICdpbXBvcnQgZGlzdHV0aWxzLnN5c2NvbmZpZzsgXAorICAgICAgICBwcmludCAi
LUwiICsgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTEs
XAorICAgICAgICBzdGFuZGFyZF9saWI9MSkgKyAiL2NvbmZpZyInYCIKKyAgICBMREZMQUdTPSIk
TERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKKyAgICAg
ICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiTElOS0ZPUlNIQVJF
RCIpJ2AiCisgICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMgJ2ltcG9ydCBkaXN0dXRp
bHMuc3lzY29uZmlnOyBcCisgICAgICAgIHByaW50IGRpc3R1dGlscy5zeXNjb25maWcuZ2V0X2Nv
bmZpZ192YXIoIkxERkxBR1MiKSdgIgogCi0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg
YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVz
cGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIGNsb2NrX2dldHRpbWUgKCk7Ci1pbnQKLW1h
aW4gKCkKLXsKLXJldHVybiBjbG9ja19nZXR0aW1lICgpOwotICA7Ci0gIHJldHVybiAwOwotfQot
X0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2xp
Yl9ydF9jbG9ja19nZXR0aW1lPXllcwogZWxzZQotICBhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGlt
ZT1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAot
ICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19s
aWJfc2F2ZV9MSUJTCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiByZXN1bHQ6ICRhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGltZSIgPiY1Ci0kYXNfZWNobyAiJGFj
X2N2X2xpYl9ydF9jbG9ja19nZXR0aW1lIiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX3J0
X2Nsb2NrX2dldHRpbWUiID0geCIieWVzOyB0aGVuIDoKLSAgY2F0ID4+Y29uZmRlZnMuaCA8PF9B
Q0VPRgotI2RlZmluZSBIQVZFX0xJQlJUIDEKLV9BQ0VPRgogCi0gIExJQlM9Ii1scnQgJExJQlMi
CisgICAgICAgIENQUEZMQUdTPSIkQ0ZMQUdTIGAkUFlUSE9OLWNvbmZpZyAtLWNmbGFnc2AiCisg
ICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04tY29uZmlnIC0tbGRmbGFnc2AiCiAKIGZpCiAK
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHlh
amxfYWxsb2MgaW4gLWx5YWpsIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciB5YWpsX2Fs
bG9jIGluIC1seWFqbC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9saWJfeWFqbF95YWps
X2FsbG9jK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
LWVsc2UKLSAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWx5YWpsICAkTElC
UyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KK2FjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJQ
eXRob24uaCIgImFjX2N2X2hlYWRlcl9QeXRob25faCIgIiRhY19pbmNsdWRlc19kZWZhdWx0Igor
aWYgdGVzdCAieCRhY19jdl9oZWFkZXJfUHl0aG9uX2giID0geCIieWVzOyB0aGVuIDoKIAotLyog
T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0g
ICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBH
Q0MKLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS4gICovCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIKLSNlbmRpZgotY2hh
ciB5YWpsX2FsbG9jICgpOwotaW50Ci1tYWluICgpCi17Ci1yZXR1cm4geWFqbF9hbGxvYyAoKTsK
LSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVO
TyI7IHRoZW4gOgotICBhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jPXllcwogZWxzZQotICBhY19j
dl9saWJfeWFqbF95YWpsX2FsbG9jPW5vCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29u
ZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19l
eHQKLUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKKyAgYXNfZm5fZXJyb3IgJD8gIlVuYWJs
ZSB0byBmaW5kIFB5dGhvbiBkZXZlbG9wbWVudCBoZWFkZXJzIiAiJExJTkVOTyIgNQogZmkKLXsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGli
X3lhamxfeWFqbF9hbGxvYyIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2xpYl95YWpsX3lhamxfYWxs
b2MiID4mNjsgfQotaWYgdGVzdCAieCRhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jIiA9IHgiInll
czsgdGhlbiA6Ci0gIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgSEFWRV9MSUJZ
QUpMIDEKLV9BQ0VPRgotCi0gIExJQlM9Ii1seWFqbCAkTElCUyIKIAotZWxzZQotICBhc19mbl9l
cnJvciAkPyAiQ291bGQgbm90IGZpbmQgeWFqbCIgIiRMSU5FTk8iIDUKLWZpCiAKLXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGRlZmxhdGVDb3B5
IGluIC1seiIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgZGVmbGF0ZUNvcHkgaW4gLWx6
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2xpYl96X2RlZmxhdGVDb3B5K3NldH0iID0g
c2V0OyB0aGVuIDoKK2FzX2FjX0xpYj1gJGFzX2VjaG8gImFjX2N2X2xpYl9weXRob24kYWNfcHl0
aG9uX3ZlcnNpb24nJ19QeUFyZ19QYXJzZVR1cGxlIiB8ICRhc190cl9zaGAKK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIFB5QXJnX1BhcnNlVHVw
bGUgaW4gLWxweXRob24kYWNfcHl0aG9uX3ZlcnNpb24iID4mNQorJGFzX2VjaG9fbiAiY2hlY2tp
bmcgZm9yIFB5QXJnX1BhcnNlVHVwbGUgaW4gLWxweXRob24kYWNfcHl0aG9uX3ZlcnNpb24uLi4g
IiA+JjY7IH0KK2lmIGV2YWwgInRlc3QgXCJcJHskYXNfYWNfTGliK3NldH1cIiIgPSBzZXQ7IHRo
ZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQogICBhY19jaGVja19saWJf
c2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbHogICRMSUJTIgorTElCUz0iLWxweXRob24kYWNfcHl0
aG9uX3ZlcnNpb24gICRMSUJTIgogY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAogLyogZW5kIGNvbmZkZWZzLmguICAqLwogCkBAIC03NjMyLDE4OTMgKzUzNzcsMTE3
MyBAQCBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAjaWZkZWYg
X19jcGx1c3BsdXMKIGV4dGVybiAiQyIKICNlbmRpZgotY2hhciBkZWZsYXRlQ29weSAoKTsKK2No
YXIgUHlBcmdfUGFyc2VUdXBsZSAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuIGRlZmxhdGVD
b3B5ICgpOworcmV0dXJuIFB5QXJnX1BhcnNlVHVwbGUgKCk7CiAgIDsKICAgcmV0dXJuIDA7CiB9
CiBfQUNFT0YKIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3Zf
bGliX3pfZGVmbGF0ZUNvcHk9eWVzCisgIGV2YWwgIiRhc19hY19MaWI9eWVzIgogZWxzZQotICBh
Y19jdl9saWJfel9kZWZsYXRlQ29weT1ubworICBldmFsICIkYXNfYWNfTGliPW5vIgogZmkKIHJt
IC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgIGNvbmZ0ZXN0
JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CiBMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJT
CiBmaQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRh
Y19jdl9saWJfel9kZWZsYXRlQ29weSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2xpYl96X2RlZmxh
dGVDb3B5IiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX3pfZGVmbGF0ZUNvcHkiID0geCIi
eWVzOyB0aGVuIDoKK2V2YWwgYWNfcmVzPVwkJGFzX2FjX0xpYgorCSAgICAgICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1CiskYXNf
ZWNobyAiJGFjX3JlcyIgPiY2OyB9CitpZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX0xpYiJcIiA9
IHgieWVzIjsgdGhlbiA6CiAgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgSEFW
RV9MSUJaIDEKKyNkZWZpbmUgYCRhc19lY2hvICJIQVZFX0xJQnB5dGhvbiRhY19weXRob25fdmVy
c2lvbiIgfCAkYXNfdHJfY3BwYCAxCiBfQUNFT0YKIAotICBMSUJTPSItbHogJExJQlMiCi0KLWVs
c2UKLSAgYXNfZm5fZXJyb3IgJD8gIkNvdWxkIG5vdCBmaW5kIHpsaWIiICIkTElORU5PIiA1Ci1m
aQotCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZv
ciBsaWJpY29udl9vcGVuIGluIC1saWNvbnYiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9y
IGxpYmljb252X29wZW4gaW4gLWxpY29udi4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9s
aWJfaWNvbnZfbGliaWNvbnZfb3BlbitzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24g
IihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJ
QlM9Ii1saWNvbnYgICRMSUJTIgotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLworICBMSUJTPSItbHB5dGhvbiRhY19weXRo
b25fdmVyc2lvbiAkTElCUyIKIAotLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0gICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt
ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCi0jaWZkZWYgX19jcGx1c3BsdXMK
LWV4dGVybiAiQyIKLSNlbmRpZgotY2hhciBsaWJpY29udl9vcGVuICgpOwotaW50Ci1tYWluICgp
Ci17Ci1yZXR1cm4gbGliaWNvbnZfb3BlbiAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VP
RgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfaWNv
bnZfbGliaWNvbnZfb3Blbj15ZXMKLWVsc2UKLSAgYWNfY3ZfbGliX2ljb252X2xpYmljb252X29w
ZW49bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwK
LSAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0kYWNfY2hlY2tf
bGliX3NhdmVfTElCUwotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiAkYWNfY3ZfbGliX2ljb252X2xpYmljb252X29wZW4iID4mNQotJGFzX2VjaG8g
IiRhY19jdl9saWJfaWNvbnZfbGliaWNvbnZfb3BlbiIgPiY2OyB9Ci1pZiB0ZXN0ICJ4JGFjX2N2
X2xpYl9pY29udl9saWJpY29udl9vcGVuIiA9IHgiInllczsgdGhlbiA6Ci0gIGxpYmljb252PSJ5
IgogZWxzZQotICBsaWJpY29udj0ibiIKKyAgYXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5k
IGEgc3VpdGFibGUgcHl0aG9uIGRldmVsb3BtZW50IGxpYnJhcnkiICIkTElORU5PIiA1CiBmaQog
CitDUFBGTEFHUz0kYWNfcHJldmlvdXNfY3BwZmxhZ3MKK0xETEZBR1M9JGFjX3ByZXZpb3VzX2xk
ZmxhZ3MKIAogCi0jIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgotIyBUaGUgVWx0cml4IDQuMiBt
aXBzIGJ1aWx0aW4gYWxsb2NhIGRlY2xhcmVkIGJ5IGFsbG9jYS5oIG9ubHkgd29ya3MKLSMgZm9y
IGNvbnN0YW50IGFyZ3VtZW50cy4gIFVzZWxlc3MhCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oIiA+JjUKLSRhc19l
Y2hvX24gImNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oLi4uICIgPiY2OyB9Ci1pZiB0ZXN0
ICIke2FjX2N2X3dvcmtpbmdfYWxsb2NhX2grc2V0fSIgPSBzZXQ7IHRoZW4gOgorZmkKKyMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAieGdldHRleHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFt
IG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IHhnZXR0ZXh0OyBhY193b3JkPSQyCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRl
c3QgIiR7YWNfY3ZfcGF0aF9YR0VUVEVYVCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNv
bmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDxhbGxvY2Eu
aD4KLWludAotbWFpbiAoKQotewotY2hhciAqcCA9IChjaGFyICopIGFsbG9jYSAoMiAqIHNpemVv
ZiAoaW50KSk7Ci0JCQkgIGlmIChwKSByZXR1cm4gMDsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9B
Q0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl93b3Jr
aW5nX2FsbG9jYV9oPXllcwotZWxzZQotICBhY19jdl93b3JraW5nX2FsbG9jYV9oPW5vCisgIGNh
c2UgJFhHRVRURVhUIGluCisgIFtcXC9dKiB8ID86W1xcL10qKQorICBhY19jdl9wYXRoX1hHRVRU
RVhUPSIkWEdFVFRFWFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBw
YXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9S
Citmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXog
IiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVj
dXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7
IH07IHRoZW4KKyAgICBhY19jdl9wYXRoX1hHRVRURVhUPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5k
ICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2Rv
bmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCisgIHRlc3QgLXogIiRhY19jdl9wYXRoX1hH
RVRURVhUIiAmJiBhY19jdl9wYXRoX1hHRVRURVhUPSJubyIKKyAgOzsKK2VzYWMKIGZpCi1ybSAt
ZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRh
Y19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorWEdFVFRFWFQ9JGFjX2N2X3BhdGhfWEdFVFRFWFQK
K2lmIHRlc3QgLW4gIiRYR0VUVEVYVCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRYR0VUVEVYVCIgPiY1CiskYXNfZWNobyAiJFhHRVRU
RVhUIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQoteyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl93b3JraW5nX2Fs
bG9jYV9oIiA+JjUKLSRhc19lY2hvICIkYWNfY3Zfd29ya2luZ19hbGxvY2FfaCIgPiY2OyB9Ci1p
ZiB0ZXN0ICRhY19jdl93b3JraW5nX2FsbG9jYV9oID0geWVzOyB0aGVuCiAKLSRhc19lY2hvICIj
ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMSIgPj5jb25mZGVmcy5oCiAKK2lmIHRlc3QgeCIke1hHRVRU
RVhUfSIgPT0geCJubyIKK3RoZW4KKyAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQg
eGdldHRleHQsIHBsZWFzZSBpbnN0YWxsIHhnZXR0ZXh0IiAiJExJTkVOTyIgNQogZmkKLQoteyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYWxsb2Nh
IiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBhbGxvY2EuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfZnVuY19hbGxvY2Ffd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgorIyBFeHRy
YWN0IHRoZSBmaXJzdCB3b3JkIG9mICJhczg2Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1l
IHdpdGggYXJncy4KK3NldCBkdW1teSBhczg2OyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNf
ZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNf
Y3ZfcGF0aF9BUzg2K3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkg
IiA+JjYKIGVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4
dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotI2lmZGVmIF9fR05VQ19fCi0jIGRlZmluZSBhbGxv
Y2EgX19idWlsdGluX2FsbG9jYQotI2Vsc2UKLSMgaWZkZWYgX01TQ19WRVIKLSMgIGluY2x1ZGUg
PG1hbGxvYy5oPgotIyAgZGVmaW5lIGFsbG9jYSBfYWxsb2NhCi0jIGVsc2UKLSMgIGlmZGVmIEhB
VkVfQUxMT0NBX0gKLSMgICBpbmNsdWRlIDxhbGxvY2EuaD4KLSMgIGVsc2UKLSMgICBpZmRlZiBf
QUlYCi0gI3ByYWdtYSBhbGxvY2EKLSMgICBlbHNlCi0jICAgIGlmbmRlZiBhbGxvY2EgLyogcHJl
ZGVmaW5lZCBieSBIUCBjYyArT2xpYmNhbGxzICovCi1jaGFyICphbGxvY2EgKCk7Ci0jICAgIGVu
ZGlmCi0jICAgZW5kaWYKLSMgIGVuZGlmCi0jIGVuZGlmCi0jZW5kaWYKLQotaW50Ci1tYWluICgp
Ci17Ci1jaGFyICpwID0gKGNoYXIgKikgYWxsb2NhICgxKTsKLQkJCQkgICAgaWYgKHApIHJldHVy
biAwOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIk
TElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwotZWxzZQotICBh
Y19jdl9mdW5jX2FsbG9jYV93b3Jrcz1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNv
bmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNf
ZXh0Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRhY19jdl9mdW5jX2FsbG9jYV93b3JrcyIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2Z1bmNfYWxs
b2NhX3dvcmtzIiA+JjY7IH0KLQotaWYgdGVzdCAkYWNfY3ZfZnVuY19hbGxvY2Ffd29ya3MgPSB5
ZXM7IHRoZW4KLQotJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9BTExPQ0EgMSIgPj5jb25mZGVmcy5o
CisgIGNhc2UgJEFTODYgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfQVM4
Nj0iJEFTODYiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgor
ICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3Ig
YXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19k
aXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxl
X2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRo
ZW4KKyAgICBhY19jdl9wYXRoX0FTODY9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisg
ICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25l
CitJRlM9JGFzX3NhdmVfSUZTCiAKKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhfQVM4NiIgJiYgYWNf
Y3ZfcGF0aF9BUzg2PSJubyIKKyAgOzsKK2VzYWMKK2ZpCitBUzg2PSRhY19jdl9wYXRoX0FTODYK
K2lmIHRlc3QgLW4gIiRBUzg2IjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJEFTODYiID4mNQorJGFzX2VjaG8gIiRBUzg2IiA+JjY7IH0K
IGVsc2UKLSAgIyBUaGUgU1ZSMyBsaWJQVyBhbmQgU1ZSNCBsaWJ1Y2IgYm90aCBjb250YWluIGlu
Y29tcGF0aWJsZSBmdW5jdGlvbnMKLSMgdGhhdCBjYXVzZSB0cm91YmxlLiAgU29tZSB2ZXJzaW9u
cyBkbyBub3QgZXZlbiBjb250YWluIGFsbG9jYSBvcgotIyBjb250YWluIGEgYnVnZ3kgdmVyc2lv
bi4gIElmIHlvdSBzdGlsbCB3YW50IHRvIHVzZSB0aGVpciBhbGxvY2EsCi0jIHVzZSBhciB0byBl
eHRyYWN0IGFsbG9jYS5vIGZyb20gdGhlbSBpbnN0ZWFkIG9mIGNvbXBpbGluZyBhbGxvY2EuYy4K
LQotQUxMT0NBPVwke0xJQk9CSkRJUn1hbGxvY2EuJGFjX29iamV4dAotCi0kYXNfZWNobyAiI2Rl
ZmluZSBDX0FMTE9DQSAxIiA+PmNvbmZkZWZzLmgKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9Citm
aQogCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
d2hldGhlciBcYGFsbG9jYS5jJyBuZWVkcyBDcmF5IGhvb2tzIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIHdoZXRoZXIgXGBhbGxvY2EuYycgbmVlZHMgQ3JheSBob29rcy4uLiAiID4mNjsgfQot
aWYgdGVzdCAiJHthY19jdl9vc19jcmF5K3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgeCIk
e0FTODZ9IiA9PSB4Im5vIgordGhlbgorICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmlu
ZCBhczg2LCBwbGVhc2UgaW5zdGFsbCBhczg2IiAiJExJTkVOTyIgNQorZmkKKyMgRXh0cmFjdCB0
aGUgZmlyc3Qgd29yZCBvZiAibGQ4NiIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRo
IGFyZ3MuCitzZXQgZHVtbXkgbGQ4NjsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9f
biAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Bh
dGhfTEQ4NitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2
CiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpZiBkZWZpbmVkIENSQVkgJiYgISBkZWZpbmVkIENSQVky
Ci13ZWJlY3JheQotI2Vsc2UKLXdlbm90YmVjcmF5Ci0jZW5kaWYKKyAgY2FzZSAkTEQ4NiBpbgor
ICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9MRDg2PSIkTEQ4NiIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3Nh
dmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2Rv
CisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAg
ICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAg
aWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3BhdGhf
TEQ4Nj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMK
IAotX0FDRU9GCi1pZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8Ci0g
ICRFR1JFUCAid2ViZWNyYXkiID4vZGV2L251bGwgMj4mMTsgdGhlbiA6Ci0gIGFjX2N2X29zX2Ny
YXk9eWVzCi1lbHNlCi0gIGFjX2N2X29zX2NyYXk9bm8KKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhf
TEQ4NiIgJiYgYWNfY3ZfcGF0aF9MRDg2PSJubyIKKyAgOzsKK2VzYWMKIGZpCi1ybSAtZiBjb25m
dGVzdCoKLQorTEQ4Nj0kYWNfY3ZfcGF0aF9MRDg2CitpZiB0ZXN0IC1uICIkTEQ4NiI7IHRoZW4K
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRMRDg2
IiA+JjUKKyRhc19lY2hvICIkTEQ4NiIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4m
NjsgfQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiAkYWNfY3Zfb3NfY3JheSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X29zX2NyYXkiID4mNjsgfQot
aWYgdGVzdCAkYWNfY3Zfb3NfY3JheSA9IHllczsgdGhlbgotICBmb3IgYWNfZnVuYyBpbiBfZ2V0
YjY3IEdFVEI2NyBnZXRiNjc7IGRvCi0gICAgYXNfYWNfdmFyPWAkYXNfZWNobyAiYWNfY3ZfZnVu
Y18kYWNfZnVuYyIgfCAkYXNfdHJfc2hgCi1hY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICIk
YWNfZnVuYyIgIiRhc19hY192YXIiCi1pZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX3ZhciJcIiA9
IHgieWVzIjsgdGhlbiA6Ci0KLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgQ1JB
WV9TVEFDS1NFR19FTkQgJGFjX2Z1bmMKLV9BQ0VPRgogCi0gICAgYnJlYWsKLWZpCiAKLSAgZG9u
ZQoraWYgdGVzdCB4IiR7TEQ4Nn0iID09IHgibm8iCit0aGVuCisgICAgYXNfZm5fZXJyb3IgJD8g
IlVuYWJsZSB0byBmaW5kIGxkODYsIHBsZWFzZSBpbnN0YWxsIGxkODYiICIkTElORU5PIiA1CiBm
aQotCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHN0
YWNrIGRpcmVjdGlvbiBmb3IgQyBhbGxvY2EiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgc3Rh
Y2sgZGlyZWN0aW9uIGZvciBDIGFsbG9jYS4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9j
X3N0YWNrX2RpcmVjdGlvbitzZXR9IiA9IHNldDsgdGhlbiA6CisjIEV4dHJhY3QgdGhlIGZpcnN0
IHdvcmQgb2YgImJjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitz
ZXQgZHVtbXkgYmNjOyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2lu
ZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9CQ0Mrc2V0
fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBp
ZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Nfc3RhY2tf
ZGlyZWN0aW9uPTAKLWVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotJGFjX2luY2x1ZGVzX2RlZmF1bHQKLWlu
dAotZmluZF9zdGFja19kaXJlY3Rpb24gKCkKLXsKLSAgc3RhdGljIGNoYXIgKmFkZHIgPSAwOwot
ICBhdXRvIGNoYXIgZHVtbXk7Ci0gIGlmIChhZGRyID09IDApCi0gICAgewotICAgICAgYWRkciA9
ICZkdW1teTsKLSAgICAgIHJldHVybiBmaW5kX3N0YWNrX2RpcmVjdGlvbiAoKTsKLSAgICB9Ci0g
IGVsc2UKLSAgICByZXR1cm4gKCZkdW1teSA+IGFkZHIpID8gMSA6IC0xOwotfQorICBjYXNlICRC
Q0MgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfQkNDPSIkQkNDIiAjIExl
dCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKyAgOzsKKyAgKikKKyAg
YXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFU
SAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9
LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBk
bworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190
ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3Zf
cGF0aF9CQ0M9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRh
c19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVf
SUZTCiAKLWludAotbWFpbiAoKQotewotICByZXR1cm4gZmluZF9zdGFja19kaXJlY3Rpb24gKCkg
PCAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKLSAg
YWNfY3ZfY19zdGFja19kaXJlY3Rpb249MQotZWxzZQotICBhY19jdl9jX3N0YWNrX2RpcmVjdGlv
bj0tMQotZmkKLXJtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5v
dXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5i
ZWFtIGNvbmZ0ZXN0LiRhY19leHQKKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhfQkNDIiAmJiBhY19j
dl9wYXRoX0JDQz0ibm8iCisgIDs7Citlc2FjCiBmaQotCitCQ0M9JGFjX2N2X3BhdGhfQkNDCitp
ZiB0ZXN0IC1uICIkQkNDIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJEJDQyIgPiY1CiskYXNfZWNobyAiJEJDQyIgPiY2OyB9CitlbHNl
CisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIg
PiY1CiskYXNfZWNobyAibm8iID4mNjsgfQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfY19zdGFja19kaXJlY3Rpb24iID4mNQotJGFz
X2VjaG8gIiRhY19jdl9jX3N0YWNrX2RpcmVjdGlvbiIgPiY2OyB9Ci1jYXQgPj5jb25mZGVmcy5o
IDw8X0FDRU9GCi0jZGVmaW5lIFNUQUNLX0RJUkVDVElPTiAkYWNfY3ZfY19zdGFja19kaXJlY3Rp
b24KLV9BQ0VPRgogCiAKK2lmIHRlc3QgeCIke0JDQ30iID09IHgibm8iCit0aGVuCisgICAgYXNf
Zm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGJjYywgcGxlYXNlIGluc3RhbGwgYmNjIiAiJExJ
TkVOTyIgNQogZmkKKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiaWFzbCIsIHNvIGl0IGNh
biBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgaWFzbDsgYWNfd29yZD0k
MgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Ig
JGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2
OyB9CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfSUFTTCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJElBU0wgaW4KKyAgW1xcL10q
IHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfSUFTTD0iJElBU0wiICMgTGV0IHRoZSB1c2VyIG92
ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9
JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wYXRoX0lBU0w9IiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Cisg
ICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCiAKLWZvciBh
Y19oZWFkZXIgaW4gIFwKLSAgICAgICAgICAgICAgICBhcnBhL2luZXQuaCBmY250bC5oIGludHR5
cGVzLmggbGliaW50bC5oIGxpbWl0cy5oIG1hbGxvYy5oIFwKLSAgICAgICAgICAgICAgICBuZXRk
Yi5oIG5ldGluZXQvaW4uaCBzdGRkZWYuaCBzdGRpbnQuaCBzdGRsaWIuaCBzdHJpbmcuaCBcCi0g
ICAgICAgICAgICAgICAgc3RyaW5ncy5oIHN5cy9maWxlLmggc3lzL2lvY3RsLmggc3lzL21vdW50
Lmggc3lzL3BhcmFtLmggXAotICAgICAgICAgICAgICAgIHN5cy9zb2NrZXQuaCBzeXMvc3RhdHZm
cy5oIHN5cy90aW1lLmggc3lzbG9nLmggdGVybWlvcy5oIFwKLSAgICAgICAgICAgICAgICB1bmlz
dGQuaCB5YWpsL3lhamxfdmVyc2lvbi5oIFwKKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhfSUFTTCIg
JiYgYWNfY3ZfcGF0aF9JQVNMPSJubyIKKyAgOzsKK2VzYWMKK2ZpCitJQVNMPSRhY19jdl9wYXRo
X0lBU0wKK2lmIHRlc3QgLW4gIiRJQVNMIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJElBU0wiID4mNQorJGFzX2VjaG8gIiRJQVNMIiA+
JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQogCi1kbyA6Ci0gIGFzX2Fj
X0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAK
LWFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFz
X2FjX0hlYWRlciIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgZXZhbCB0ZXN0IFwieFwkIiRh
c19hY19IZWFkZXIiXCIgPSB4InllcyI7IHRoZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FD
RU9GCi0jZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNfaGVhZGVyIiB8ICRhc190cl9jcHBgIDEK
LV9BQ0VPRgogCitpZiB0ZXN0IHgiJHtJQVNMfSIgPT0geCJubyIKK3RoZW4KKyAgICBhc19mbl9l
cnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgaWFzbCwgcGxlYXNlIGluc3RhbGwgaWFzbCIgIiRMSU5F
Tk8iIDUKIGZpCiAKLWRvbmUKLQorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVO
TyIgInV1aWQvdXVpZC5oIiAiYWNfY3ZfaGVhZGVyX3V1aWRfdXVpZF9oIiAiJGFjX2luY2x1ZGVz
X2RlZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl91dWlkX3V1aWRfaCIgPSB4IiJ5ZXM7
IHRoZW4gOgogCi0jIENoZWNrcyBmb3IgdHlwZWRlZnMsIHN0cnVjdHVyZXMsIGFuZCBjb21waWxl
ciBjaGFyYWN0ZXJpc3RpY3MuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IGNoZWNraW5nIGZvciBzdGRib29sLmggdGhhdCBjb25mb3JtcyB0byBDOTkiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN0ZGJvb2wuaCB0aGF0IGNvbmZvcm1zIHRvIEM5OS4uLiAi
ID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3RkYm9vbF9oK3NldH0iID0gc2V0OyB0
aGVuIDoKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr
aW5nIGZvciB1dWlkX2NsZWFyIGluIC1sdXVpZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBm
b3IgdXVpZF9jbGVhciBpbiAtbHV1aWQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGli
X3V1aWRfdXVpZF9jbGVhcitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNo
ZWQpICIgPiY2CiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRh
Y19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWx1dWlkICAkTElC
UyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KIAotI2luY2x1ZGUgPHN0ZGJvb2wuaD4KLSNpZm5kZWYgYm9vbAotICJl
cnJvcjogYm9vbCBpcyBub3QgZGVmaW5lZCIKLSNlbmRpZgotI2lmbmRlZiBmYWxzZQotICJlcnJv
cjogZmFsc2UgaXMgbm90IGRlZmluZWQiCi0jZW5kaWYKLSNpZiBmYWxzZQotICJlcnJvcjogZmFs
c2UgaXMgbm90IDAiCi0jZW5kaWYKLSNpZm5kZWYgdHJ1ZQotICJlcnJvcjogdHJ1ZSBpcyBub3Qg
ZGVmaW5lZCIKLSNlbmRpZgotI2lmIHRydWUgIT0gMQotICJlcnJvcjogdHJ1ZSBpcyBub3QgMSIK
LSNlbmRpZgotI2lmbmRlZiBfX2Jvb2xfdHJ1ZV9mYWxzZV9hcmVfZGVmaW5lZAotICJlcnJvcjog
X19ib29sX3RydWVfZmFsc2VfYXJlX2RlZmluZWQgaXMgbm90IGRlZmluZWQiCisvKiBPdmVycmlk
ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAgIFVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQworICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgogI2VuZGlmCi0KLQlzdHJ1Y3Qg
cyB7IF9Cb29sIHM6IDE7IF9Cb29sIHQ7IH0gczsKLQotCWNoYXIgYVt0cnVlID09IDEgPyAxIDog
LTFdOwotCWNoYXIgYltmYWxzZSA9PSAwID8gMSA6IC0xXTsKLQljaGFyIGNbX19ib29sX3RydWVf
ZmFsc2VfYXJlX2RlZmluZWQgPT0gMSA/IDEgOiAtMV07Ci0JY2hhciBkWyhib29sKSAwLjUgPT0g
dHJ1ZSA/IDEgOiAtMV07Ci0JYm9vbCBlID0gJnM7Ci0JY2hhciBmWyhfQm9vbCkgMC4wID09IGZh
bHNlID8gMSA6IC0xXTsKLQljaGFyIGdbdHJ1ZV07Ci0JY2hhciBoW3NpemVvZiAoX0Jvb2wpXTsK
LQljaGFyIGlbc2l6ZW9mIHMudF07Ci0JZW51bSB7IGogPSBmYWxzZSwgayA9IHRydWUsIGwgPSBm
YWxzZSAqIHRydWUsIG0gPSB0cnVlICogMjU2IH07Ci0JLyogVGhlIGZvbGxvd2luZyBmYWlscyBm
b3IKLQkgICBIUCBhQysrL0FOU0kgQyBCMzkxMEIgQS4wNS41NSBbRGVjIDA0IDIwMDNdLiAqLwot
CV9Cb29sIG5bbV07Ci0JY2hhciBvW3NpemVvZiBuID09IG0gKiBzaXplb2YgblswXSA/IDEgOiAt
MV07Ci0JY2hhciBwWy0xIC0gKF9Cb29sKSAwIDwgMCAmJiAtMSAtIChib29sKSAwIDwgMCA/IDEg
OiAtMV07Ci0jCWlmIGRlZmluZWQgX194bGNfXyB8fCBkZWZpbmVkIF9fR05VQ19fCi0JIC8qIENh
dGNoIGEgYnVnIGluIElCTSBBSVggeGxjIGNvbXBpbGVyIHZlcnNpb24gNi4wLjAuMAotCSAgICBy
ZXBvcnRlZCBieSBKYW1lcyBMZW1sZXkgb24gMjAwNS0xMC0wNTsgc2VlCi0JICAgIGh0dHA6Ly9s
aXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctY29yZXV0aWxzLzIwMDUtMTAvbXNnMDAwODYu
aHRtbAotCSAgICBUaGlzIHRlc3QgaXMgbm90IHF1aXRlIHJpZ2h0LCBzaW5jZSB4bGMgaXMgYWxs
b3dlZCB0bwotCSAgICByZWplY3QgdGhpcyBwcm9ncmFtLCBhcyB0aGUgaW5pdGlhbGl6ZXIgZm9y
IHhsY2J1ZyBpcwotCSAgICBub3Qgb25lIG9mIHRoZSBmb3JtcyB0aGF0IEMgcmVxdWlyZXMgc3Vw
cG9ydCBmb3IuCi0JICAgIEhvd2V2ZXIsIGRvaW5nIHRoZSB0ZXN0IHJpZ2h0IHdvdWxkIHJlcXVp
cmUgYSBydW50aW1lCi0JICAgIHRlc3QsIGFuZCB0aGF0IHdvdWxkIG1ha2UgY3Jvc3MtY29tcGls
YXRpb24gaGFyZGVyLgotCSAgICBMZXQgdXMgaG9wZSB0aGF0IElCTSBmaXhlcyB0aGUgeGxjIGJ1
ZywgYW5kIGFsc28gYWRkcwotCSAgICBzdXBwb3J0IGZvciB0aGlzIGtpbmQgb2YgY29uc3RhbnQg
ZXhwcmVzc2lvbi4gIEluIHRoZQotCSAgICBtZWFudGltZSwgdGhpcyB0ZXN0IHdpbGwgcmVqZWN0
IHhsYywgd2hpY2ggaXMgT0ssIHNpbmNlCi0JICAgIG91ciBzdGRib29sLmggc3Vic3RpdHV0ZSBz
aG91bGQgc3VmZmljZS4gIFdlIGFsc28gdGVzdAotCSAgICB0aGlzIHdpdGggR0NDLCB3aGVyZSBp
dCBzaG91bGQgd29yaywgdG8gZGV0ZWN0IG1vcmUKLQkgICAgcXVpY2tseSB3aGV0aGVyIHNvbWVv
bmUgbWVzc2VzIHVwIHRoZSB0ZXN0IGluIHRoZQotCSAgICBmdXR1cmUuICAqLwotCSBjaGFyIGRp
Z3NbXSA9ICIwMTIzNDU2Nzg5IjsKLQkgaW50IHhsY2J1ZyA9IDEgLyAoJihkaWdzICsgNSlbLTIg
KyAoYm9vbCkgMV0gPT0gJmRpZ3NbNF0gPyAxIDogLTEpOwotIwllbmRpZgotCS8qIENhdGNoIGEg
YnVnIGluIGFuIEhQLVVYIEMgY29tcGlsZXIuICBTZWUKLQkgICBodHRwOi8vZ2NjLmdudS5vcmcv
bWwvZ2NjLXBhdGNoZXMvMjAwMy0xMi9tc2cwMjMwMy5odG1sCi0JICAgaHR0cDovL2xpc3RzLmdu
dS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1jb3JldXRpbHMvMjAwNS0xMS9tc2cwMDE2MS5odG1sCi0J
ICovCi0JX0Jvb2wgcSA9IHRydWU7Ci0JX0Jvb2wgKnBxID0gJnE7Ci0KK2NoYXIgdXVpZF9jbGVh
ciAoKTsKIGludAogbWFpbiAoKQogewotCi0JKnBxIHw9IHE7Ci0JKnBxIHw9ICEgcTsKLQkvKiBS
ZWZlciB0byBldmVyeSBkZWNsYXJlZCB2YWx1ZSwgdG8gYXZvaWQgY29tcGlsZXIgb3B0aW1pemF0
aW9ucy4gICovCi0JcmV0dXJuICghYSArICFiICsgIWMgKyAhZCArICFlICsgIWYgKyAhZyArICFo
ICsgIWkgKyAhIWogKyAhayArICEhbAotCQkrICFtICsgIW4gKyAhbyArICFwICsgIXEgKyAhcHEp
OwotCityZXR1cm4gdXVpZF9jbGVhciAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VPRgot
aWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9oZWFkZXJf
c3RkYm9vbF9oPXllcwotZWxzZQotICBhY19jdl9oZWFkZXJfc3RkYm9vbF9oPW5vCi1maQotcm0g
LWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0
Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRh
Y19jdl9oZWFkZXJfc3RkYm9vbF9oIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfaGVhZGVyX3N0ZGJv
b2xfaCIgPiY2OyB9Ci1hY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJfQm9vbCIgImFjX2N2
X3R5cGVfX0Jvb2wiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfdHlw
ZV9fQm9vbCIgPSB4IiJ5ZXM7IHRoZW4gOgotCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0j
ZGVmaW5lIEhBVkVfX0JPT0wgMQotX0FDRU9GCi0KLQotZmkKLQotaWYgdGVzdCAkYWNfY3ZfaGVh
ZGVyX3N0ZGJvb2xfaCA9IHllczsgdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NUREJP
T0xfSCAxIiA+PmNvbmZkZWZzLmgKLQotZmkKLQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgdWlkX3QgaW4gc3lzL3R5cGVzLmgiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgZm9yIHVpZF90IGluIHN5cy90eXBlcy5oLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X3R5cGVfdWlkX3Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNo
b19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5j
b25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaW5jbHVkZSA8c3lzL3R5
cGVzLmg+Ci0KLV9BQ0VPRgotaWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+
JjUgfAotICAkRUdSRVAgInVpZF90IiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgotICBhY19jdl90
eXBlX3VpZF90PXllcwotZWxzZQotICBhY19jdl90eXBlX3VpZF90PW5vCi1maQotcm0gLWYgY29u
ZnRlc3QqCi0KLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJGFjX2N2X3R5cGVfdWlkX3QiID4mNQotJGFzX2VjaG8gIiRhY19jdl90eXBlX3VpZF90
IiA+JjY7IH0KLWlmIHRlc3QgJGFjX2N2X3R5cGVfdWlkX3QgPSBubzsgdGhlbgotCi0kYXNfZWNo
byAiI2RlZmluZSB1aWRfdCBpbnQiID4+Y29uZmRlZnMuaAotCi0KLSRhc19lY2hvICIjZGVmaW5l
IGdpZF90IGludCIgPj5jb25mZGVmcy5oCi0KLWZpCi0KLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGlubGluZSIgPiY1Ci0kYXNfZWNob19uICJj
aGVja2luZyBmb3IgaW5saW5lLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2NfaW5saW5l
K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UK
LSAgYWNfY3ZfY19pbmxpbmU9bm8KLWZvciBhY19rdyBpbiBpbmxpbmUgX19pbmxpbmVfXyBfX2lu
bGluZTsgZG8KLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAot
LyogZW5kIGNvbmZkZWZzLmguICAqLwotI2lmbmRlZiBfX2NwbHVzcGx1cwotdHlwZWRlZiBpbnQg
Zm9vX3Q7Ci1zdGF0aWMgJGFjX2t3IGZvb190IHN0YXRpY19mb28gKCkge3JldHVybiAwOyB9Ci0k
YWNfa3cgZm9vX3QgZm9vICgpIHtyZXR1cm4gMDsgfQotI2VuZGlmCi0KLV9BQ0VPRgotaWYgYWNf
Zm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9jX2lubGluZT0kYWNf
a3cKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX3V1
aWRfdXVpZF9jbGVhcj15ZXMKK2Vsc2UKKyAgYWNfY3ZfbGliX3V1aWRfdXVpZF9jbGVhcj1ubwog
ZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3Qu
JGFjX2V4dAotICB0ZXN0ICIkYWNfY3ZfY19pbmxpbmUiICE9IG5vICYmIGJyZWFrCi1kb25lCi0K
K3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0
ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9M
SUJTCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRhY19jdl9saWJfdXVpZF91dWlkX2NsZWFyIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX3V1
aWRfdXVpZF9jbGVhciIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2X2xpYl91dWlkX3V1aWRfY2xl
YXIiID0geCIieWVzOyB0aGVuIDoKKyAgbGlidXVpZD0ieSIKIGZpCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2NfaW5saW5lIiA+JjUKLSRh
c19lY2hvICIkYWNfY3ZfY19pbmxpbmUiID4mNjsgfQogCi1jYXNlICRhY19jdl9jX2lubGluZSBp
bgotICBpbmxpbmUgfCB5ZXMpIDs7Ci0gICopCi0gICAgY2FzZSAkYWNfY3ZfY19pbmxpbmUgaW4K
LSAgICAgIG5vKSBhY192YWw9OzsKLSAgICAgICopIGFjX3ZhbD0kYWNfY3ZfY19pbmxpbmU7Owot
ICAgIGVzYWMKLSAgICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jaWZuZGVmIF9fY3BsdXNw
bHVzCi0jZGVmaW5lIGlubGluZSAkYWNfdmFsCi0jZW5kaWYKLV9BQ0VPRgotICAgIDs7Ci1lc2Fj
CiAKLWFjX2ZuX2NfZmluZF9pbnRYX3QgIiRMSU5FTk8iICIxNiIgImFjX2N2X2NfaW50MTZfdCIK
LWNhc2UgJGFjX2N2X2NfaW50MTZfdCBpbiAjKAotICBub3x5ZXMpIDs7ICMoCi0gICopCitmaQog
Ci1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGludDE2X3QgJGFjX2N2X2NfaW50
MTZfdAotX0FDRU9GCi07OwotZXNhYwogCi1hY19mbl9jX2ZpbmRfaW50WF90ICIkTElORU5PIiAi
MzIiICJhY19jdl9jX2ludDMyX3QiCi1jYXNlICRhY19jdl9jX2ludDMyX3QgaW4gIygKLSAgbm98
eWVzKSA7OyAjKAotICAqKQorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIg
InV1aWQuaCIgImFjX2N2X2hlYWRlcl91dWlkX2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lm
IHRlc3QgIngkYWNfY3ZfaGVhZGVyX3V1aWRfaCIgPSB4IiJ5ZXM7IHRoZW4gOgorICBsaWJ1dWlk
PSJ5IgorZmkKIAotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBpbnQzMl90ICRh
Y19jdl9jX2ludDMyX3QKLV9BQ0VPRgotOzsKLWVzYWMKIAotYWNfZm5fY19maW5kX2ludFhfdCAi
JExJTkVOTyIgIjY0IiAiYWNfY3ZfY19pbnQ2NF90IgotY2FzZSAkYWNfY3ZfY19pbnQ2NF90IGlu
ICMoCi0gIG5vfHllcykgOzsgIygKLSAgKikKK2lmIHRlc3QgIiRsaWJ1dWlkIiAhPSAieSI7IHRo
ZW4gOgogCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGludDY0X3QgJGFjX2N2
X2NfaW50NjRfdAotX0FDRU9GCi07OwotZXNhYworICAgIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3Qg
ZmluZCBhIHZhbGlkIHV1aWQgbGlicmFyeSIgIiRMSU5FTk8iIDUKIAotYWNfZm5fY19maW5kX2lu
dFhfdCAiJExJTkVOTyIgIjgiICJhY19jdl9jX2ludDhfdCIKLWNhc2UgJGFjX2N2X2NfaW50OF90
IGluICMoCi0gIG5vfHllcykgOzsgIygKLSAgKikKK2ZpCiAKLWNhdCA+PmNvbmZkZWZzLmggPDxf
QUNFT0YKLSNkZWZpbmUgaW50OF90ICRhY19jdl9jX2ludDhfdAotX0FDRU9GCi07OwotZXNhYwog
Ci1hY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJtb2RlX3QiICJhY19jdl90eXBlX21vZGVf
dCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX21vZGVfdCIg
PSB4IiJ5ZXM7IHRoZW4gOgorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIg
ImN1cnNlcy5oIiAiYWNfY3ZfaGVhZGVyX2N1cnNlc19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQi
CitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9jdXJzZXNfaCIgPSB4IiJ5ZXM7IHRoZW4gOgogCisg
ICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Ig
Y2xlYXIgaW4gLWxjdXJzZXMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGNsZWFyIGlu
IC1sY3Vyc2VzLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2xpYl9jdXJzZXNfY2xlYXIr
c2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQor
ICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJTPSItbGN1cnNlcyAgJExJQlMiCitj
YXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRl
ZnMuaC4gICovCiAKLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgbW9kZV90IGlu
dAorLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuCisgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg
b2YgYSBHQ0MKKyAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs
ZCBzdGlsbCBhcHBseS4gICovCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKKyNlbmRp
ZgorY2hhciBjbGVhciAoKTsKK2ludAorbWFpbiAoKQoreworcmV0dXJuIGNsZWFyICgpOworICA7
CisgIHJldHVybiAwOworfQogX0FDRU9GCi0KK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8i
OyB0aGVuIDoKKyAgYWNfY3ZfbGliX2N1cnNlc19jbGVhcj15ZXMKK2Vsc2UKKyAgYWNfY3ZfbGli
X2N1cnNlc19jbGVhcj1ubwogZmkKLQotYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAib2Zm
X3QiICJhY19jdl90eXBlX29mZl90IiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4
JGFjX2N2X3R5cGVfb2ZmX3QiID0geCIieWVzOyB0aGVuIDoKLQorcm0gLWYgY29yZSBjb25mdGVz
dC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0
ZXN0LiRhY19leHQKK0xJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKK2ZpCit7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9jdXJzZXNf
Y2xlYXIiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfY3Vyc2VzX2NsZWFyIiA+JjY7IH0KK2lm
IHRlc3QgIngkYWNfY3ZfbGliX2N1cnNlc19jbGVhciIgPSB4IiJ5ZXM7IHRoZW4gOgorICBjdXJz
ZXM9InkiCiBlbHNlCi0KLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgb2ZmX3Qg
bG9uZyBpbnQKLV9BQ0VPRgotCisgIGN1cnNlcz0ibiIKIGZpCiAKLWFjX2ZuX2NfY2hlY2tfdHlw
ZSAiJExJTkVOTyIgInBpZF90IiAiYWNfY3ZfdHlwZV9waWRfdCIgIiRhY19pbmNsdWRlc19kZWZh
dWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX3BpZF90IiA9IHgiInllczsgdGhlbiA6CiAKIGVs
c2UKKyAgY3Vyc2VzPSJuIgorZmkKIAotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmlu
ZSBwaWRfdCBpbnQKLV9BQ0VPRgogCi1maQorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAi
JExJTkVOTyIgIm5jdXJzZXMuaCIgImFjX2N2X2hlYWRlcl9uY3Vyc2VzX2giICIkYWNfaW5jbHVk
ZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX25jdXJzZXNfaCIgPSB4IiJ5ZXM7
IHRoZW4gOgogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr
aW5nIGZvciBDL0MrKyByZXN0cmljdCBrZXl3b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5n
IGZvciBDL0MrKyByZXN0cmljdCBrZXl3b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2
X2NfcmVzdHJpY3Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAgIHsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGNsZWFyIGluIC1sbmN1cnNlcyIgPiY1
CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgY2xlYXIgaW4gLWxuY3Vyc2VzLi4uICIgPiY2OyB9
CitpZiB0ZXN0ICIke2FjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyK3NldH0iID0gc2V0OyB0aGVuIDoK
ICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgYWNfY3ZfY19yZXN0cmljdD1u
bwotICAgIyBUaGUgb3JkZXIgaGVyZSBjYXRlcnMgdG8gdGhlIGZhY3QgdGhhdCBDKysgZG9lcyBu
b3QgcmVxdWlyZSByZXN0cmljdC4KLSAgIGZvciBhY19rdyBpbiBfX3Jlc3RyaWN0IF9fcmVzdHJp
Y3RfXyBfUmVzdHJpY3QgcmVzdHJpY3Q7IGRvCi0gICAgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElC
Uz0iLWxuY3Vyc2VzICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0
LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLXR5cGVkZWYgaW50ICogaW50X3B0cjsK
LQlpbnQgZm9vIChpbnRfcHRyICRhY19rdyBpcCkgewotCXJldHVybiBpcFswXTsKLSAgICAgICB9
CisKKy8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy
cm9yLgorICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgR0NDCisgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291
bGQgc3RpbGwgYXBwbHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5k
aWYKK2NoYXIgY2xlYXIgKCk7CiBpbnQKIG1haW4gKCkKIHsKLWludCBzWzFdOwotCWludCAqICRh
Y19rdyB0ID0gczsKLQl0WzBdID0gMDsKLQlyZXR1cm4gZm9vKHQpCityZXR1cm4gY2xlYXIgKCk7
CiAgIDsKICAgcmV0dXJuIDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRM
SU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfY19yZXN0cmljdD0kYWNfa3cKK2lmIGFjX2ZuX2NfdHJ5
X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX25jdXJzZXNfY2xlYXI9eWVzCitl
bHNlCisgIGFjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyPW5vCiBmaQotcm0gLWYgY29yZSBjb25mdGVz
dC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0gICAgIHRlc3QgIiRh
Y19jdl9jX3Jlc3RyaWN0IiAhPSBubyAmJiBicmVhawotICAgZG9uZQotCitybSAtZiBjb3JlIGNv
bmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQg
Y29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkKLXsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfY19yZXN0
cmljdCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2NfcmVzdHJpY3QiID4mNjsgfQotCi0gY2FzZSAk
YWNfY3ZfY19yZXN0cmljdCBpbgotICAgcmVzdHJpY3QpIDs7Ci0gICBubykgJGFzX2VjaG8gIiNk
ZWZpbmUgcmVzdHJpY3QgLyoqLyIgPj5jb25mZGVmcy5oCi0gOzsKLSAgICopICBjYXQgPj5jb25m
ZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIHJlc3RyaWN0ICRhY19jdl9jX3Jlc3RyaWN0Ci1fQUNF
T0YKLSA7OwotIGVzYWMKLQotYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAic2l6ZV90IiAi
YWNfY3ZfdHlwZV9zaXplX3QiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNf
Y3ZfdHlwZV9zaXplX3QiID0geCIieWVzOyB0aGVuIDoKLQoreyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfbmN1cnNlc19jbGVhciIgPiY1
CiskYXNfZWNobyAiJGFjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyIiA+JjY7IH0KK2lmIHRlc3QgIngk
YWNfY3ZfbGliX25jdXJzZXNfY2xlYXIiID0geCIieWVzOyB0aGVuIDoKKyAgbmN1cnNlcz0ieSIK
IGVsc2UKLQotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBzaXplX3QgdW5zaWdu
ZWQgaW50Ci1fQUNFT0YKLQorICBuY3Vyc2VzPSJuIgogZmkKIAotYWNfZm5fY19jaGVja190eXBl
ICIkTElORU5PIiAic3NpemVfdCIgImFjX2N2X3R5cGVfc3NpemVfdCIgIiRhY19pbmNsdWRlc19k
ZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX3NzaXplX3QiID0geCIieWVzOyB0aGVuIDoK
IAogZWxzZQotCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIHNzaXplX3QgaW50
Ci1fQUNFT0YKLQorICBuY3Vyc2VzPSJuIgogZmkKIAotYWNfZm5fY19jaGVja19tZW1iZXIgIiRM
SU5FTk8iICJzdHJ1Y3Qgc3RhdCIgInN0X2Jsa3NpemUiICJhY19jdl9tZW1iZXJfc3RydWN0X3N0
YXRfc3RfYmxrc2l6ZSIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl9t
ZW1iZXJfc3RydWN0X3N0YXRfc3RfYmxrc2l6ZSIgPSB4IiJ5ZXM7IHRoZW4gOgogCi1jYXQgPj5j
b25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAx
Ci1fQUNFT0YKK2lmIHRlc3QgIiRjdXJzZXMiID0gIm4iICYmIHRlc3QgIiRuY3Vyc2VzIiA9ICJu
IjsgdGhlbiA6CiAKKyAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgYSBzdWl0YWJs
ZSBjdXJzZXMgbGlicmFyeSIgIiRMSU5FTk8iIDUKIAogZmkKKyMgUHJlZmVyIG5jdXJzZXMgb3Zl
ciBjdXJzZXMgaWYgYm90aCBhcmUgcHJlc2VudAoraWYgdGVzdCAiJG5jdXJzZXMiID0gInkiOyB0
aGVuIDoKIAotYWNfZm5fY19jaGVja19tZW1iZXIgIiRMSU5FTk8iICJzdHJ1Y3Qgc3RhdCIgInN0
X2Jsb2NrcyIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9ibG9ja3MiICIkYWNfaW5jbHVk
ZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2Jsb2Nr
cyIgPSB4IiJ5ZXM7IHRoZW4gOgotCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5l
IEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKLV9BQ0VPRgorICAgIENVUlNFU19MSUJTPSIt
bG5jdXJzZXMiCiAKKyRhc19lY2hvICIjZGVmaW5lIElOQ0xVREVfQ1VSU0VTX0ggPG5jdXJzZXMu
aD4iID4+Y29uZmRlZnMuaAogCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NUX0JMT0NLUyAxIiA+
PmNvbmZkZWZzLmgKIAogZWxzZQotICBjYXNlICIgJExJQk9CSlMgIiBpbgotICAqIiBmaWxlYmxv
Y2tzLiRhY19vYmpleHQgIiogKSA7OwotICAqKSBMSUJPQkpTPSIkTElCT0JKUyBmaWxlYmxvY2tz
LiRhY19vYmpleHQiCi0gOzsKLWVzYWMKLQotZmkKLQogCi1hY19mbl9jX2NoZWNrX21lbWJlciAi
JExJTkVOTyIgInN0cnVjdCBzdGF0IiAic3RfcmRldiIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3Rh
dF9zdF9yZGV2IiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X21lbWJl
cl9zdHJ1Y3Rfc3RhdF9zdF9yZGV2IiA9IHgiInllczsgdGhlbiA6CisgICAgQ1VSU0VTX0xJQlM9
Ii1sY3Vyc2VzIgogCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfU1RS
VUNUX1NUQVRfU1RfUkRFViAxCi1fQUNFT0YKKyRhc19lY2hvICIjZGVmaW5lIElOQ0xVREVfQ1VS
U0VTX0ggPGN1cnNlcy5oPiIgPj5jb25mZGVmcy5oCiAKIAogZmkKIAotYWNfZm5fY19maW5kX3Vp
bnRYX3QgIiRMSU5FTk8iICIxNiIgImFjX2N2X2NfdWludDE2X3QiCi1jYXNlICRhY19jdl9jX3Vp
bnQxNl90IGluICMoCi0gIG5vfHllcykgOzsgIygKLSAgKikKIAogCi1jYXQgPj5jb25mZGVmcy5o
IDw8X0FDRU9GCi0jZGVmaW5lIHVpbnQxNl90ICRhY19jdl9jX3VpbnQxNl90Ci1fQUNFT0YKLTs7
Ci0gIGVzYWMKIAotYWNfZm5fY19maW5kX3VpbnRYX3QgIiRMSU5FTk8iICIzMiIgImFjX2N2X2Nf
dWludDMyX3QiCi1jYXNlICRhY19jdl9jX3VpbnQzMl90IGluICMoCi0gIG5vfHllcykgOzsgIygK
LSAgKikKIAotJGFzX2VjaG8gIiNkZWZpbmUgX1VJTlQzMl9UIDEiID4+Y29uZmRlZnMuaAogCiAK
LWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgdWludDMyX3QgJGFjX2N2X2NfdWlu
dDMyX3QKLV9BQ0VPRgotOzsKLSAgZXNhYwogCi1hY19mbl9jX2ZpbmRfdWludFhfdCAiJExJTkVO
TyIgIjY0IiAiYWNfY3ZfY191aW50NjRfdCIKLWNhc2UgJGFjX2N2X2NfdWludDY0X3QgaW4gIygK
LSAgbm98eWVzKSA7OyAjKAoraWYgdGVzdCAieCRhY19jdl9lbnZfUEtHX0NPTkZJR19zZXQiICE9
ICJ4c2V0IjsgdGhlbgorCWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXBrZy1jb25maWciLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9v
bF9wcmVmaXh9cGtnLWNvbmZpZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhf
UEtHX0NPTkZJRytzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2CitlbHNlCisgIGNhc2UgJFBLR19DT05GSUcgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisg
IGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJFBLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJy
aWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7OwogICAqKQorICBhc19zYXZlX0lGUz0kSUZT
OyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFz
X3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4
ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAt
ZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wYXRoX1BLR19DT05GSUc9
IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1
CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCiAKLSRh
c19lY2hvICIjZGVmaW5lIF9VSU5UNjRfVCAxIiA+PmNvbmZkZWZzLmgKLQorICA7OworZXNhYwor
ZmkKK1BLR19DT05GSUc9JGFjX2N2X3BhdGhfUEtHX0NPTkZJRworaWYgdGVzdCAtbiAiJFBLR19D
T05GSUciOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiAkUEtHX0NPTkZJRyIgPiY1CiskYXNfZWNobyAiJFBLR19DT05GSUciID4mNjsgfQor
ZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
bm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCiAKLWNhdCA+PmNvbmZkZWZzLmggPDxf
QUNFT0YKLSNkZWZpbmUgdWludDY0X3QgJGFjX2N2X2NfdWludDY0X3QKLV9BQ0VPRgotOzsKLSAg
ZXNhYwogCi1hY19mbl9jX2ZpbmRfdWludFhfdCAiJExJTkVOTyIgIjgiICJhY19jdl9jX3VpbnQ4
X3QiCi1jYXNlICRhY19jdl9jX3VpbnQ4X3QgaW4gIygKLSAgbm98eWVzKSA7OyAjKAorZmkKK2lm
IHRlc3QgLXogIiRhY19jdl9wYXRoX1BLR19DT05GSUciOyB0aGVuCisgIGFjX3B0X1BLR19DT05G
SUc9JFBLR19DT05GSUcKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJwa2ctY29uZmln
Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBwa2ct
Y29uZmlnOyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Ig
JGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09O
RklHK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vs
c2UKKyAgY2FzZSAkYWNfcHRfUEtHX0NPTkZJRyBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAg
YWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHPSIkYWNfcHRfUEtHX0NPTkZJRyIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CiAgICopCisgIGFzX3Nh
dmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2Rv
CisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAg
ICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAg
aWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3BhdGhf
YWNfcHRfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0k
YXNfc2F2ZV9JRlMKIAotJGFzX2VjaG8gIiNkZWZpbmUgX1VJTlQ4X1QgMSIgPj5jb25mZGVmcy5o
Ci0KLQotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSB1aW50OF90ICRhY19jdl9j
X3VpbnQ4X3QKLV9BQ0VPRgotOzsKLSAgZXNhYwotCi1hY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5F
Tk8iICJwdHJkaWZmX3QiICJhY19jdl90eXBlX3B0cmRpZmZfdCIgIiRhY19pbmNsdWRlc19kZWZh
dWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX3B0cmRpZmZfdCIgPSB4IiJ5ZXM7IHRoZW4gOgot
Ci1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfUFRSRElGRl9UIDEKLV9B
Q0VPRgotCi0KKyAgOzsKK2VzYWMKK2ZpCithY19wdF9QS0dfQ09ORklHPSRhY19jdl9wYXRoX2Fj
X3B0X1BLR19DT05GSUcKK2lmIHRlc3QgLW4gIiRhY19wdF9QS0dfQ09ORklHIjsgdGhlbgorICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3B0X1BL
R19DT05GSUciID4mNQorJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09ORklHIiA+JjY7IH0KK2Vsc2UK
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+
JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KLSMgQ2hlY2tzIGZvciBsaWJyYXJ5IGZ1
bmN0aW9ucy4KLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tp
bmcgZm9yIGVycm9yX2F0X2xpbmUiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGVycm9y
X2F0X2xpbmUuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfbGliX2Vycm9yX2F0X2xpbmUr
c2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQot
ICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29u
ZmRlZnMuaC4gICovCi0jaW5jbHVkZSA8ZXJyb3IuaD4KLWludAotbWFpbiAoKQotewotZXJyb3Jf
YXRfbGluZSAoMCwgMCwgIiIsIDAsICJhbiBlcnJvciBvY2N1cnJlZCIpOwotICA7Ci0gIHJldHVy
biAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0g
IGFjX2N2X2xpYl9lcnJvcl9hdF9saW5lPXllcworICBpZiB0ZXN0ICJ4JGFjX3B0X1BLR19DT05G
SUciID0geDsgdGhlbgorICAgIFBLR19DT05GSUc9IiIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3Nz
X2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVm
aXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1
c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9Cith
Y190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBQS0dfQ09ORklHPSRhY19wdF9QS0dfQ09O
RklHCisgIGZpCiBlbHNlCi0gIGFjX2N2X2xpYl9lcnJvcl9hdF9saW5lPW5vCi1maQotcm0gLWYg
Y29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNf
ZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgUEtHX0NPTkZJRz0iJGFjX2N2X3BhdGhfUEtHX0NP
TkZJRyIKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N2X2xpYl9lcnJvcl9hdF9saW5lIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2Vy
cm9yX2F0X2xpbmUiID4mNjsgfQotaWYgdGVzdCAkYWNfY3ZfbGliX2Vycm9yX2F0X2xpbmUgPSBu
bzsgdGhlbgotICBjYXNlICIgJExJQk9CSlMgIiBpbgotICAqIiBlcnJvci4kYWNfb2JqZXh0ICIq
ICkgOzsKLSAgKikgTElCT0JKUz0iJExJQk9CSlMgZXJyb3IuJGFjX29iamV4dCIKLSA7OwotZXNh
YwogCiBmaQotCi1mb3IgYWNfaGVhZGVyIGluIHZmb3JrLmgKLWRvIDoKLSAgYWNfZm5fY19jaGVj
a19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIgInZmb3JrLmgiICJhY19jdl9oZWFkZXJfdmZvcmtf
aCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl9oZWFkZXJfdmZvcmtf
aCIgPSB4IiJ5ZXM7IHRoZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5l
IEhBVkVfVkZPUktfSCAxCi1fQUNFT0YKLQoraWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVu
CisJX3BrZ19taW5fdmVyc2lvbj0wLjkuMAorCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtn
X21pbl92ZXJzaW9uIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHBrZy1jb25maWcgaXMgYXQg
bGVhc3QgdmVyc2lvbiAkX3BrZ19taW5fdmVyc2lvbi4uLiAiID4mNjsgfQorCWlmICRQS0dfQ09O
RklHIC0tYXRsZWFzdC1wa2djb25maWctdmVyc2lvbiAkX3BrZ19taW5fdmVyc2lvbjsgdGhlbgor
CQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+
JjUKKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorCWVsc2UKKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9
CisJCVBLR19DT05GSUc9IiIKKwlmaQogZmkKIAotZG9uZQotCi1mb3IgYWNfZnVuYyBpbiBmb3Jr
IHZmb3JrCi1kbyA6Ci0gIGFzX2FjX3Zhcj1gJGFzX2VjaG8gImFjX2N2X2Z1bmNfJGFjX2Z1bmMi
IHwgJGFzX3RyX3NoYAotYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAiJGFjX2Z1bmMiICIk
YXNfYWNfdmFyIgotaWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY192YXIiXCIgPSB4InllcyI7IHRo
ZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGAkYXNfZWNobyAiSEFW
RV8kYWNfZnVuYyIgfCAkYXNfdHJfY3BwYCAxCi1fQUNFT0YKLQotZmkKLWRvbmUKK3BrZ19mYWls
ZWQ9bm8KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
Zm9yIGdsaWIiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGdsaWIuLi4gIiA+JjY7IH0K
IAotaWYgdGVzdCAieCRhY19jdl9mdW5jX2ZvcmsiID0geHllczsgdGhlbgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB3b3JraW5nIGZvcmsi
ID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHdvcmtpbmcgZm9yay4uLiAiID4mNjsgfQot
aWYgdGVzdCAiJHthY19jdl9mdW5jX2Zvcmtfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAk
YXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGls
aW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfZm9ya193b3Jrcz1jcm9zcworaWYgdGVz
dCAtbiAiJGdsaWJfQ0ZMQUdTIjsgdGhlbgorICAgIHBrZ19jdl9nbGliX0NGTEFHUz0iJGdsaWJf
Q0ZMQUdTIgorIGVsaWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCisgICAgaWYgdGVzdCAt
biAiJFBLR19DT05GSUciICYmIFwKKyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogXCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwiZ2xpYi0y
LjBcIiI7IH0gPiY1CisgICgkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ2xp
Yi0yLjAiKSAyPiY1CisgIGFjX3N0YXR1cz0kPworICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0g
MDsgfTsgdGhlbgorICBwa2dfY3ZfZ2xpYl9DRkxBR1M9YCRQS0dfQ09ORklHIC0tY2ZsYWdzICJn
bGliLTIuMCIgMj4vZGV2L251bGxgCiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0Yg
PmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSRhY19pbmNsdWRlc19k
ZWZhdWx0Ci1pbnQKLW1haW4gKCkKLXsKLQotCSAgLyogQnkgUnVlZGlnZXIgS3VobG1hbm4uICov
Ci0JICByZXR1cm4gZm9yayAoKSA8IDA7Ci0KLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgot
aWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfZm9ya193
b3Jrcz15ZXMKKyAgcGtnX2ZhaWxlZD15ZXMKK2ZpCisgZWxzZQorICAgIHBrZ19mYWlsZWQ9dW50
cmllZAorZmkKK2lmIHRlc3QgLW4gIiRnbGliX0xJQlMiOyB0aGVuCisgICAgcGtnX2N2X2dsaWJf
TElCUz0iJGdsaWJfTElCUyIKKyBlbGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorICAg
IGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIiAmJiBcCisgICAgeyB7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IFwkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9y
cyBcImdsaWItMi4wXCIiOyB9ID4mNQorICAoJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1l
cnJvcnMgImdsaWItMi4wIikgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFj
X3N0YXR1cyA9IDA7IH07IHRoZW4KKyAgcGtnX2N2X2dsaWJfTElCUz1gJFBLR19DT05GSUcgLS1s
aWJzICJnbGliLTIuMCIgMj4vZGV2L251bGxgCiBlbHNlCi0gIGFjX2N2X2Z1bmNfZm9ya193b3Jr
cz1ubworICBwa2dfZmFpbGVkPXllcwogZmkKLXJtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRl
c3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFj
X29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKKyBlbHNlCisgICAgcGtnX2Zh
aWxlZD11bnRyaWVkCiBmaQogCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6ICRhY19jdl9mdW5jX2Zvcmtfd29ya3MiID4mNQotJGFzX2VjaG8gIiRh
Y19jdl9mdW5jX2Zvcmtfd29ya3MiID4mNjsgfQogCisKK2lmIHRlc3QgJHBrZ19mYWlsZWQgPSB5
ZXM7IHRoZW4KKyAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKworaWYgJFBLR19DT05GSUcgLS1h
dGxlYXN0LXBrZ2NvbmZpZy12ZXJzaW9uIDAuMjA7IHRoZW4KKyAgICAgICAgX3BrZ19zaG9ydF9l
cnJvcnNfc3VwcG9ydGVkPXllcwogZWxzZQotICBhY19jdl9mdW5jX2Zvcmtfd29ya3M9JGFjX2N2
X2Z1bmNfZm9yaworICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0ZWQ9bm8KIGZpCi1p
ZiB0ZXN0ICJ4JGFjX2N2X2Z1bmNfZm9ya193b3JrcyIgPSB4Y3Jvc3M7IHRoZW4KLSAgY2FzZSAk
aG9zdCBpbgotICAgICotKi1hbWlnYW9zKiB8ICotKi1tc2Rvc2RqZ3BwKikKLSAgICAgICMgT3Zl
cnJpZGUsIGFzIHRoZXNlIHN5c3RlbXMgaGF2ZSBvbmx5IGEgZHVtbXkgZm9yaygpIHN0dWIKLSAg
ICAgIGFjX2N2X2Z1bmNfZm9ya193b3Jrcz1ubwotICAgICAgOzsKLSAgICAqKQotICAgICAgYWNf
Y3ZfZnVuY19mb3JrX3dvcmtzPXllcwotICAgICAgOzsKLSAgZXNhYwotICB7ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHJlc3VsdCAkYWNfY3ZfZnVuY19m
b3JrX3dvcmtzIGd1ZXNzZWQgYmVjYXVzZSBvZiBjcm9zcyBjb21waWxhdGlvbiIgPiY1Ci0kYXNf
ZWNobyAiJGFzX21lOiBXQVJOSU5HOiByZXN1bHQgJGFjX2N2X2Z1bmNfZm9ya193b3JrcyBndWVz
c2VkIGJlY2F1c2Ugb2YgY3Jvc3MgY29tcGlsYXRpb24iID4mMjt9Ci1maQotYWNfY3ZfZnVuY192
Zm9ya193b3Jrcz0kYWNfY3ZfZnVuY192Zm9yawotaWYgdGVzdCAieCRhY19jdl9mdW5jX3Zmb3Jr
IiA9IHh5ZXM7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyBmb3Igd29ya2luZyB2Zm9yayIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBm
b3Igd29ya2luZyB2Zm9yay4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9mdW5jX3Zmb3Jr
X3dvcmtzK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
LWVsc2UKLSAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgotICBhY19j
dl9mdW5jX3Zmb3JrX3dvcmtzPWNyb3NzCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLS8qIFRoYW5rcyB0
byBQYXVsIEVnZ2VydCBmb3IgdGhpcyB0ZXN0LiAgKi8KLSRhY19pbmNsdWRlc19kZWZhdWx0Ci0j
aW5jbHVkZSA8c3lzL3dhaXQuaD4KLSNpZmRlZiBIQVZFX1ZGT1JLX0gKLSMgaW5jbHVkZSA8dmZv
cmsuaD4KLSNlbmRpZgotLyogT24gc29tZSBzcGFyYyBzeXN0ZW1zLCBjaGFuZ2VzIGJ5IHRoZSBj
aGlsZCB0byBsb2NhbCBhbmQgaW5jb21pbmcKLSAgIGFyZ3VtZW50IHJlZ2lzdGVycyBhcmUgcHJv
cGFnYXRlZCBiYWNrIHRvIHRoZSBwYXJlbnQuICBUaGUgY29tcGlsZXIKLSAgIGlzIHRvbGQgYWJv
dXQgdGhpcyB3aXRoICNpbmNsdWRlIDx2Zm9yay5oPiwgYnV0IHNvbWUgY29tcGlsZXJzCi0gICAo
ZS5nLiBnY2MgLU8pIGRvbid0IGdyb2sgPHZmb3JrLmg+LiAgVGVzdCBmb3IgdGhpcyBieSB1c2lu
ZyBhCi0gICBzdGF0aWMgdmFyaWFibGUgd2hvc2UgYWRkcmVzcyBpcyBwdXQgaW50byBhIHJlZ2lz
dGVyIHRoYXQgaXMKLSAgIGNsb2JiZXJlZCBieSB0aGUgdmZvcmsuICAqLwotc3RhdGljIHZvaWQK
LSNpZmRlZiBfX2NwbHVzcGx1cwotc3BhcmNfYWRkcmVzc190ZXN0IChpbnQgYXJnKQotIyBlbHNl
Ci1zcGFyY19hZGRyZXNzX3Rlc3QgKGFyZykgaW50IGFyZzsKLSNlbmRpZgotewotICBzdGF0aWMg
cGlkX3QgY2hpbGQ7Ci0gIGlmICghY2hpbGQpIHsKLSAgICBjaGlsZCA9IHZmb3JrICgpOwotICAg
IGlmIChjaGlsZCA8IDApIHsKLSAgICAgIHBlcnJvciAoInZmb3JrIik7Ci0gICAgICBfZXhpdCgy
KTsKLSAgICB9Ci0gICAgaWYgKCFjaGlsZCkgewotICAgICAgYXJnID0gZ2V0cGlkKCk7Ci0gICAg
ICB3cml0ZSgtMSwgIiIsIDApOwotICAgICAgX2V4aXQgKGFyZyk7Ci0gICAgfQotICB9Ci19Cisg
ICAgICAgIGlmIHRlc3QgJF9wa2dfc2hvcnRfZXJyb3JzX3N1cHBvcnRlZCA9IHllczsgdGhlbgor
CSAgICAgICAgZ2xpYl9QS0dfRVJST1JTPWAkUEtHX0NPTkZJRyAtLXNob3J0LWVycm9ycyAtLXBy
aW50LWVycm9ycyAiZ2xpYi0yLjAiIDI+JjFgCisgICAgICAgIGVsc2UKKwkgICAgICAgIGdsaWJf
UEtHX0VSUk9SUz1gJFBLR19DT05GSUcgLS1wcmludC1lcnJvcnMgImdsaWItMi4wIiAyPiYxYAor
ICAgICAgICBmaQorCSMgUHV0IHRoZSBuYXN0eSBlcnJvciBtZXNzYWdlIGluIGNvbmZpZy5sb2cg
d2hlcmUgaXQgYmVsb25ncworCWVjaG8gIiRnbGliX1BLR19FUlJPUlMiID4mNQogCi1pbnQKLW1h
aW4gKCkKLXsKLSAgcGlkX3QgcGFyZW50ID0gZ2V0cGlkICgpOwotICBwaWRfdCBjaGlsZDsKLQot
ICBzcGFyY19hZGRyZXNzX3Rlc3QgKDApOwotCi0gIGNoaWxkID0gdmZvcmsgKCk7Ci0KLSAgaWYg
KGNoaWxkID09IDApIHsKLSAgICAvKiBIZXJlIGlzIGFub3RoZXIgdGVzdCBmb3Igc3BhcmMgdmZv
cmsgcmVnaXN0ZXIgcHJvYmxlbXMuICBUaGlzCi0gICAgICAgdGVzdCB1c2VzIGxvdHMgb2YgbG9j
YWwgdmFyaWFibGVzLCBhdCBsZWFzdCBhcyBtYW55IGxvY2FsCi0gICAgICAgdmFyaWFibGVzIGFz
IG1haW4gaGFzIGFsbG9jYXRlZCBzbyBmYXIgaW5jbHVkaW5nIGNvbXBpbGVyCi0gICAgICAgdGVt
cG9yYXJpZXMuICA0IGxvY2FscyBhcmUgZW5vdWdoIGZvciBnY2MgMS40MC4zIG9uIGEgU29sYXJp
cwotICAgICAgIDQuMS4zIHNwYXJjLCBidXQgd2UgdXNlIDggdG8gYmUgc2FmZS4gIEEgYnVnZ3kg
Y29tcGlsZXIgc2hvdWxkCi0gICAgICAgcmV1c2UgdGhlIHJlZ2lzdGVyIG9mIHBhcmVudCBmb3Ig
b25lIG9mIHRoZSBsb2NhbCB2YXJpYWJsZXMsCi0gICAgICAgc2luY2UgaXQgd2lsbCB0aGluayB0
aGF0IHBhcmVudCBjYW4ndCBwb3NzaWJseSBiZSB1c2VkIGFueSBtb3JlCi0gICAgICAgaW4gdGhp
cyByb3V0aW5lLiAgQXNzaWduaW5nIHRvIHRoZSBsb2NhbCB2YXJpYWJsZSB3aWxsIHRodXMKLSAg
ICAgICBtdW5nZSBwYXJlbnQgaW4gdGhlIHBhcmVudCBwcm9jZXNzLiAgKi8KLSAgICBwaWRfdAot
ICAgICAgcCA9IGdldHBpZCgpLCBwMSA9IGdldHBpZCgpLCBwMiA9IGdldHBpZCgpLCBwMyA9IGdl
dHBpZCgpLAotICAgICAgcDQgPSBnZXRwaWQoKSwgcDUgPSBnZXRwaWQoKSwgcDYgPSBnZXRwaWQo
KSwgcDcgPSBnZXRwaWQoKTsKLSAgICAvKiBDb252aW5jZSB0aGUgY29tcGlsZXIgdGhhdCBwLi5w
NyBhcmUgbGl2ZTsgb3RoZXJ3aXNlLCBpdCBtaWdodAotICAgICAgIHVzZSB0aGUgc2FtZSBoYXJk
d2FyZSByZWdpc3RlciBmb3IgYWxsIDggbG9jYWwgdmFyaWFibGVzLiAgKi8KLSAgICBpZiAocCAh
PSBwMSB8fCBwICE9IHAyIHx8IHAgIT0gcDMgfHwgcCAhPSBwNAotCXx8IHAgIT0gcDUgfHwgcCAh
PSBwNiB8fCBwICE9IHA3KQotICAgICAgX2V4aXQoMSk7Ci0KLSAgICAvKiBPbiBzb21lIHN5c3Rl
bXMgKGUuZy4gSVJJWCAzLjMpLCB2Zm9yayBkb2Vzbid0IHNlcGFyYXRlIHBhcmVudAotICAgICAg
IGZyb20gY2hpbGQgZmlsZSBkZXNjcmlwdG9ycy4gIElmIHRoZSBjaGlsZCBjbG9zZXMgYSBkZXNj
cmlwdG9yCi0gICAgICAgYmVmb3JlIGl0IGV4ZWNzIG9yIGV4aXRzLCB0aGlzIG11bmdlcyB0aGUg
cGFyZW50J3MgZGVzY3JpcHRvcgotICAgICAgIGFzIHdlbGwuICBUZXN0IGZvciB0aGlzIGJ5IGNs
b3Npbmcgc3Rkb3V0IGluIHRoZSBjaGlsZC4gICovCi0gICAgX2V4aXQoY2xvc2UoZmlsZW5vKHN0
ZG91dCkpICE9IDApOwotICB9IGVsc2UgewotICAgIGludCBzdGF0dXM7Ci0gICAgc3RydWN0IHN0
YXQgc3Q7CisJYXNfZm5fZXJyb3IgJD8gIlBhY2thZ2UgcmVxdWlyZW1lbnRzIChnbGliLTIuMCkg
d2VyZSBub3QgbWV0OgogCi0gICAgd2hpbGUgKHdhaXQoJnN0YXR1cykgIT0gY2hpbGQpCi0gICAg
ICA7Ci0gICAgcmV0dXJuICgKLQkgLyogV2FzIHRoZXJlIHNvbWUgcHJvYmxlbSB3aXRoIHZmb3Jr
aW5nPyAgKi8KLQkgY2hpbGQgPCAwCiskZ2xpYl9QS0dfRVJST1JTCiAKLQkgLyogRGlkIHRoZSBj
aGlsZCBmYWlsPyAgKFRoaXMgc2hvdWxkbid0IGhhcHBlbi4pICAqLwotCSB8fCBzdGF0dXMKK0Nv
bnNpZGVyIGFkanVzdGluZyB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxl
IGlmIHlvdQoraW5zdGFsbGVkIHNvZnR3YXJlIGluIGEgbm9uLXN0YW5kYXJkIHByZWZpeC4KIAot
CSAvKiBEaWQgdGhlIHZmb3JrL2NvbXBpbGVyIGJ1ZyBvY2N1cj8gICovCi0JIHx8IHBhcmVudCAh
PSBnZXRwaWQoKQorQWx0ZXJuYXRpdmVseSwgeW91IG1heSBzZXQgdGhlIGVudmlyb25tZW50IHZh
cmlhYmxlcyBnbGliX0NGTEFHUworYW5kIGdsaWJfTElCUyB0byBhdm9pZCB0aGUgbmVlZCB0byBj
YWxsIHBrZy1jb25maWcuCitTZWUgdGhlIHBrZy1jb25maWcgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0
YWlscy4iICIkTElORU5PIiA1CitlbGlmIHRlc3QgJHBrZ19mYWlsZWQgPSB1bnRyaWVkOyB0aGVu
CisgICAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
bm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKwl7IHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19lY2hvICIk
YXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICQ/ICJUaGUg
cGtnLWNvbmZpZyBzY3JpcHQgY291bGQgbm90IGJlIGZvdW5kIG9yIGlzIHRvbyBvbGQuICBNYWtl
IHN1cmUgaXQKK2lzIGluIHlvdXIgUEFUSCBvciBzZXQgdGhlIFBLR19DT05GSUcgZW52aXJvbm1l
bnQgdmFyaWFibGUgdG8gdGhlIGZ1bGwKK3BhdGggdG8gcGtnLWNvbmZpZy4KIAotCSAvKiBEaWQg
dGhlIGZpbGUgZGVzY3JpcHRvciBidWcgb2NjdXI/ICAqLwotCSB8fCBmc3RhdChmaWxlbm8oc3Rk
b3V0KSwgJnN0KSAhPSAwCi0JICk7Ci0gIH0KLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfcnVu
ICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfdmZvcmtfd29ya3M9eWVzCitBbHRlcm5h
dGl2ZWx5LCB5b3UgbWF5IHNldCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGdsaWJfQ0ZMQUdT
CithbmQgZ2xpYl9MSUJTIHRvIGF2b2lkIHRoZSBuZWVkIHRvIGNhbGwgcGtnLWNvbmZpZy4KK1Nl
ZSB0aGUgcGtnLWNvbmZpZyBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUbyBnZXQgcGtn
LWNvbmZpZywgc2VlIDxodHRwOi8vcGtnLWNvbmZpZy5mcmVlZGVza3RvcC5vcmcvPi4KK1NlZSBc
YGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQogZWxzZQotICBh
Y19jdl9mdW5jX3Zmb3JrX3dvcmtzPW5vCi1maQotcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25m
dGVzdC4qIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgXAotICBjb25mdGVzdC4k
YWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29uZnRlc3QuJGFjX2V4dAotZmkKKwlnbGliX0NGTEFH
Uz0kcGtnX2N2X2dsaWJfQ0ZMQUdTCisJZ2xpYl9MSUJTPSRwa2dfY3ZfZ2xpYl9MSUJTCisgICAg
ICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMi
ID4mNQorJGFzX2VjaG8gInllcyIgPiY2OyB9CiAKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2Z1bmNfdmZvcmtfd29ya3MiID4mNQot
JGFzX2VjaG8gIiRhY19jdl9mdW5jX3Zmb3JrX3dvcmtzIiA+JjY7IH0KIAotZmk7Ci1pZiB0ZXN0
ICJ4JGFjX2N2X2Z1bmNfZm9ya193b3JrcyIgPSB4Y3Jvc3M7IHRoZW4KLSAgYWNfY3ZfZnVuY192
Zm9ya193b3Jrcz0kYWNfY3ZfZnVuY192Zm9yawotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHJlc3VsdCAkYWNfY3ZfZnVuY192Zm9ya193b3JrcyBn
dWVzc2VkIGJlY2F1c2Ugb2YgY3Jvc3MgY29tcGlsYXRpb24iID4mNQotJGFzX2VjaG8gIiRhc19t
ZTogV0FSTklORzogcmVzdWx0ICRhY19jdl9mdW5jX3Zmb3JrX3dvcmtzIGd1ZXNzZWQgYmVjYXVz
ZSBvZiBjcm9zcyBjb21waWxhdGlvbiIgPiYyO30KKyMgQ2hlY2sgbGlicmFyeSBwYXRoCitpZiB0
ZXN0ICJcJHtleGVjX3ByZWZpeH0vbGliIiA9ICIkbGliZGlyIjsgdGhlbiA6CisgIGlmIHRlc3Qg
IiRleGVjX3ByZWZpeCIgPSAiTk9ORSIgJiYgdGVzdCAiJHByZWZpeCIgIT0gIk5PTkUiOyB0aGVu
IDoKKyAgZXhlY19wcmVmaXg9JHByZWZpeAogZmkKKyAgICBpZiB0ZXN0ICIkZXhlY19wcmVmaXgi
ID0gIk5PTkUiOyB0aGVuIDoKKyAgZXhlY19wcmVmaXg9JGFjX2RlZmF1bHRfcHJlZml4CitmaQor
ICAgIGlmIHRlc3QgLWQgIiR7ZXhlY19wcmVmaXh9L2xpYjY0IjsgdGhlbiA6CiAKLWlmIHRlc3Qg
IngkYWNfY3ZfZnVuY192Zm9ya193b3JrcyIgPSB4eWVzOyB0aGVuCi0KLSRhc19lY2hvICIjZGVm
aW5lIEhBVkVfV09SS0lOR19WRk9SSyAxIiA+PmNvbmZkZWZzLmgKKyAgICAgICAgTElCX1BBVEg9
ImxpYjY0IgogCiBlbHNlCiAKLSRhc19lY2hvICIjZGVmaW5lIHZmb3JrIGZvcmsiID4+Y29uZmRl
ZnMuaAorICAgICAgICBMSUJfUEFUSD0ibGliIgogCiBmaQotaWYgdGVzdCAieCRhY19jdl9mdW5j
X2Zvcmtfd29ya3MiID0geHllczsgdGhlbgogCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1dPUktJ
TkdfRk9SSyAxIiA+PmNvbmZkZWZzLmgKK2Vsc2UKIAotZmkKKyAgICBMSUJfUEFUSD0iJHtsaWJk
aXI6YGV4cHIgbGVuZ3RoICIkZXhlY19wcmVmaXgiICsgMWB9IgogCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBfTEFSR0VGSUxFX1NPVVJDRSB2
YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZv
ciBfTEFSR0VGSUxFX1NPVVJDRSB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICIgPiY2
OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3N5c19sYXJnZWZpbGVfc291cmNlK3NldH0iID0gc2V0OyB0
aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgd2hpbGUgOjsgZG8K
LSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLwotI2luY2x1ZGUgPHN5cy90eXBlcy5oPiAvKiBmb3Igb2ZmX3QgKi8KLSAg
ICAgI2luY2x1ZGUgPHN0ZGlvLmg+Ci1pbnQKLW1haW4gKCkKLXsKLWludCAoKmZwKSAoRklMRSAq
LCBvZmZfdCwgaW50KSA9IGZzZWVrbzsKLSAgICAgcmV0dXJuIGZzZWVrbyAoc3RkaW4sIDAsIDAp
ICYmIGZwIChzdGRpbiwgMCwgMCk7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFj
X2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3Zfc3lzX2xhcmdlZmlsZV9z
b3VyY2U9bm87IGJyZWFrCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFj
X29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSAgY2F0
IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZz
LmguICAqLwotI2RlZmluZSBfTEFSR0VGSUxFX1NPVVJDRSAxCi0jaW5jbHVkZSA8c3lzL3R5cGVz
Lmg+IC8qIGZvciBvZmZfdCAqLwotICAgICAjaW5jbHVkZSA8c3RkaW8uaD4KLWludAotbWFpbiAo
KQotewotaW50ICgqZnApIChGSUxFICosIG9mZl90LCBpbnQpID0gZnNlZWtvOwotICAgICByZXR1
cm4gZnNlZWtvIChzdGRpbiwgMCwgMCkgJiYgZnAgKHN0ZGluLCAwLCAwKTsKLSAgOwotICByZXR1
cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgot
ICBhY19jdl9zeXNfbGFyZ2VmaWxlX3NvdXJjZT0xOyBicmVhawogZmkKLXJtIC1mIGNvcmUgY29u
ZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBj
b25mdGVzdC4kYWNfZXh0Ci0gIGFjX2N2X3N5c19sYXJnZWZpbGVfc291cmNlPXVua25vd24KLSAg
YnJlYWsKLWRvbmUKLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogJGFjX2N2X3N5c19sYXJnZWZpbGVfc291cmNlIiA+JjUKLSRhc19lY2hvICIkYWNf
Y3Zfc3lzX2xhcmdlZmlsZV9zb3VyY2UiID4mNjsgfQotY2FzZSAkYWNfY3Zfc3lzX2xhcmdlZmls
ZV9zb3VyY2UgaW4gIygKLSAgbm8gfCB1bmtub3duKSA7OwotICAqKQotY2F0ID4+Y29uZmRlZnMu
aCA8PF9BQ0VPRgotI2RlZmluZSBfTEFSR0VGSUxFX1NPVVJDRSAkYWNfY3Zfc3lzX2xhcmdlZmls
ZV9zb3VyY2UKLV9BQ0VPRgotOzsKLWVzYWMKLXJtIC1yZiBjb25mdGVzdCoKLQotIyBXZSB1c2Vk
IHRvIHRyeSBkZWZpbmluZyBfWE9QRU5fU09VUkNFPTUwMCB0b28sIHRvIHdvcmsgYXJvdW5kIGEg
YnVnCi0jIGluIGdsaWJjIDIuMS4zLCBidXQgdGhhdCBicmVha3MgdG9vIG1hbnkgb3RoZXIgdGhp
bmdzLgotIyBJZiB5b3Ugd2FudCBmc2Vla28gYW5kIGZ0ZWxsbyB3aXRoIGdsaWJjLCB1cGdyYWRl
IHRvIGEgZml4ZWQgZ2xpYmMuCi1pZiB0ZXN0ICRhY19jdl9zeXNfbGFyZ2VmaWxlX3NvdXJjZSAh
PSB1bmtub3duOyB0aGVuCiAKLSRhc19lY2hvICIjZGVmaW5lIEhBVkVfRlNFRUtPIDEiID4+Y29u
ZmRlZnMuaAogCi1maQorIyBDaGVja3MgZm9yIGxpYnJhcmllcy4KK2FjX2ZuX2NfY2hlY2tfaGVh
ZGVyX21vbmdyZWwgIiRMSU5FTk8iICJiemxpYi5oIiAiYWNfY3ZfaGVhZGVyX2J6bGliX2giICIk
YWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX2J6bGliX2giID0g
eCIieWVzOyB0aGVuIDoKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyB3aGV0aGVyIGxzdGF0IGNvcnJlY3RseSBoYW5kbGVzIHRyYWlsaW5nIHNsYXNo
IiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgbHN0YXQgY29ycmVjdGx5IGhhbmRs
ZXMgdHJhaWxpbmcgc2xhc2guLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfZnVuY19sc3Rh
dF9kZXJlZmVyZW5jZXNfc2xhc2hlZF9zeW1saW5rK3NldH0iID0gc2V0OyB0aGVuIDoKK3sgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIEJaMl9iekRl
Y29tcHJlc3NJbml0IGluIC1sYnoyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBCWjJf
YnpEZWNvbXByZXNzSW5pdCBpbiAtbGJ6Mi4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9s
aWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0K3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2Vj
aG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgcm0gLWYgY29uZnRlc3Quc3ltIGNvbmZ0ZXN0
LmZpbGUKLWVjaG8gPmNvbmZ0ZXN0LmZpbGUKLWlmIHRlc3QgIiRhc19sbl9zIiA9ICJsbiAtcyIg
JiYgbG4gLXMgY29uZnRlc3QuZmlsZSBjb25mdGVzdC5zeW07IHRoZW4KLSAgaWYgdGVzdCAiJGNy
b3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgotICBhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJl
bmNlc19zbGFzaGVkX3N5bWxpbms9bm8KLWVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VP
RiA+Y29uZnRlc3QuJGFjX2V4dAorICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJT
PSItbGJ6MiAgJExJQlMiCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNf
ZXh0CiAvKiBlbmQgY29uZmRlZnMuaC4gICovCi0kYWNfaW5jbHVkZXNfZGVmYXVsdAorCisvKiBP
dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAg
IFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdD
QworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs
IGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgorI2VuZGlmCitjaGFy
IEJaMl9iekRlY29tcHJlc3NJbml0ICgpOwogaW50CiBtYWluICgpCiB7Ci1zdHJ1Y3Qgc3RhdCBz
YnVmOwotICAgICAvKiBMaW51eCB3aWxsIGRlcmVmZXJlbmNlIHRoZSBzeW1saW5rIGFuZCBmYWls
LCBhcyByZXF1aXJlZCBieSBQT1NJWC4KLQlUaGF0IGlzIGJldHRlciBpbiB0aGUgc2Vuc2UgdGhh
dCBpdCBtZWFucyB3ZSB3aWxsIG5vdAotCWhhdmUgdG8gY29tcGlsZSBhbmQgdXNlIHRoZSBsc3Rh
dCB3cmFwcGVyLiAgKi8KLSAgICAgcmV0dXJuIGxzdGF0ICgiY29uZnRlc3Quc3ltLyIsICZzYnVm
KSA9PSAwOworcmV0dXJuIEJaMl9iekRlY29tcHJlc3NJbml0ICgpOwogICA7CiAgIHJldHVybiAw
OwogfQogX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNf
Y3ZfZnVuY19sc3RhdF9kZXJlZmVyZW5jZXNfc2xhc2hlZF9zeW1saW5rPXllcwotZWxzZQotICBh
Y19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbms9bm8KLWZpCi1ybSAt
ZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFj
X2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25mdGVzdC4k
YWNfZXh0Ci1maQotCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGFj
X2N2X2xpYl9iejJfQloyX2J6RGVjb21wcmVzc0luaXQ9eWVzCiBlbHNlCi0gICMgSWYgdGhlIGBs
biAtcycgY29tbWFuZCBmYWlsZWQsIHRoZW4gd2UgcHJvYmFibHkgZG9uJ3QgZXZlbgotICAjIGhh
dmUgYW4gbHN0YXQgZnVuY3Rpb24uCi0gIGFjX2N2X2Z1bmNfbHN0YXRfZGVyZWZlcmVuY2VzX3Ns
YXNoZWRfc3ltbGluaz1ubworICBhY19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0PW5v
CiBmaQotcm0gLWYgY29uZnRlc3Quc3ltIGNvbmZ0ZXN0LmZpbGUKLQorcm0gLWYgY29yZSBjb25m
dGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNv
bmZ0ZXN0LiRhY19leHQKK0xJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKK2ZpCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9iejJf
QloyX2J6RGVjb21wcmVzc0luaXQiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfYnoyX0JaMl9i
ekRlY29tcHJlc3NJbml0IiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGliX2J6Ml9CWjJfYnpE
ZWNvbXByZXNzSW5pdCIgPSB4IiJ5ZXM7IHRoZW4gOgorICB6bGliPSIkemxpYiAtREhBVkVfQlpM
SUIgLWxiejIiCiBmaQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6ICRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbmsiID4m
NQotJGFzX2VjaG8gIiRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxp
bmsiID4mNjsgfQotCi10ZXN0ICRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVk
X3N5bWxpbmsgPSB5ZXMgJiYKIAotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBM
U1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCi1fQUNFT0YKIAorZmkKIAotaWYgdGVzdCAi
eCRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbmsiID0geG5vOyB0
aGVuCi0gIGNhc2UgIiAkTElCT0JKUyAiIGluCi0gICoiIGxzdGF0LiRhY19vYmpleHQgIiogKSA7
OwotICAqKSBMSUJPQkpTPSIkTElCT0JKUyBsc3RhdC4kYWNfb2JqZXh0IgotIDs7Ci1lc2FjCiAK
LWZpCithY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAibHptYS5oIiAiYWNf
Y3ZfaGVhZGVyX2x6bWFfaCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgoraWYgdGVzdCAieCRhY19j
dl9oZWFkZXJfbHptYV9oIiA9IHgiInllczsgdGhlbiA6CiAKLXsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciBzeXMvdHlwZXMuaCBkZWZpbmVz
IG1ha2VkZXYiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciBzeXMvdHlwZXMuaCBk
ZWZpbmVzIG1ha2VkZXYuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c190
eXBlc19oX21ha2VkZXYrc2V0fSIgPSBzZXQ7IHRoZW4gOgoreyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbHptYV9zdHJlYW1fZGVjb2RlciBpbiAt
bGx6bWEiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGx6bWFfc3RyZWFtX2RlY29kZXIg
aW4gLWxsem1hLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2xpYl9sem1hX2x6bWFfc3Ry
ZWFtX2RlY29kZXIrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAi
ID4mNgogZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0
CisgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0xJQlM9Ii1sbHptYSAgJExJQlMiCitj
YXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAvKiBlbmQgY29uZmRl
ZnMuaC4gICovCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKy8qIE92ZXJyaWRlIGFueSBHQ0Mg
aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVjYXVz
ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGluIGFu
ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworI2lm
ZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgbHptYV9zdHJlYW1fZGVj
b2RlciAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuIG1ha2VkZXYoMCwgMCk7CityZXR1cm4g
bHptYV9zdHJlYW1fZGVjb2RlciAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VPRgogaWYg
YWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9oZWFkZXJfc3lzX3R5
cGVzX2hfbWFrZWRldj15ZXMKKyAgYWNfY3ZfbGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2Rlcj15
ZXMKIGVsc2UKLSAgYWNfY3ZfaGVhZGVyX3N5c190eXBlc19oX21ha2VkZXY9bm8KKyAgYWNfY3Zf
bGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2Rlcj1ubwogZmkKIHJtIC1mIGNvcmUgY29uZnRlc3Qu
ZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVz
dC4kYWNfZXh0Ci0KLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaF9tYWtlZGV2IiA+JjUKLSRhc19lY2hv
ICIkYWNfY3ZfaGVhZGVyX3N5c190eXBlc19oX21ha2VkZXYiID4mNjsgfQotCi1pZiB0ZXN0ICRh
Y19jdl9oZWFkZXJfc3lzX3R5cGVzX2hfbWFrZWRldiA9IG5vOyB0aGVuCi1hY19mbl9jX2NoZWNr
X2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAic3lzL21rZGV2LmgiICJhY19jdl9oZWFkZXJfc3lz
X21rZGV2X2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVy
X3N5c19ta2Rldl9oIiA9IHgiInllczsgdGhlbiA6Ci0KLSRhc19lY2hvICIjZGVmaW5lIE1BSk9S
X0lOX01LREVWIDEiID4+Y29uZmRlZnMuaAotCitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJT
CiBmaQotCi0KLQotICBpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3lzX21rZGV2X2ggPSBubzsgdGhl
bgotICAgIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJzeXMvc3lzbWFj
cm9zLmgiICJhY19jdl9oZWFkZXJfc3lzX3N5c21hY3Jvc19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1
bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zeXNfc3lzbWFjcm9zX2giID0geCIieWVzOyB0
aGVuIDoKLQotJGFzX2VjaG8gIiNkZWZpbmUgTUFKT1JfSU5fU1lTTUFDUk9TIDEiID4+Y29uZmRl
ZnMuaAotCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JGFjX2N2X2xpYl9sem1hX2x6bWFfc3RyZWFtX2RlY29kZXIiID4mNQorJGFzX2VjaG8gIiRhY19j
dl9saWJfbHptYV9sem1hX3N0cmVhbV9kZWNvZGVyIiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3Zf
bGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2RlciIgPSB4IiJ5ZXM7IHRoZW4gOgorICB6bGliPSIk
emxpYiAtREhBVkVfTFpNQSAtbGx6bWEiCiBmaQogCiAKLSAgZmkKIGZpCiAKLWZvciBhY19oZWFk
ZXIgaW4gc3RkbGliLmgKLWRvIDoKLSAgYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJ
TkVOTyIgInN0ZGxpYi5oIiAiYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oIiAiJGFjX2luY2x1ZGVzX2Rl
ZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zdGRsaWJfaCIgPSB4IiJ5ZXM7IHRoZW4g
OgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfU1RETElCX0ggMQot
X0FDRU9GCi0KLWZpCiAKLWRvbmUKK2FjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5F
Tk8iICJsem8vbHpvMXguaCIgImFjX2N2X2hlYWRlcl9sem9fbHpvMXhfaCIgIiRhY19pbmNsdWRl
c19kZWZhdWx0IgoraWYgdGVzdCAieCRhY19jdl9oZWFkZXJfbHpvX2x6bzF4X2giID0geCIieWVz
OyB0aGVuIDoKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVj
a2luZyBmb3IgR05VIGxpYmMgY29tcGF0aWJsZSBtYWxsb2MiID4mNQotJGFzX2VjaG9fbiAiY2hl
Y2tpbmcgZm9yIEdOVSBsaWJjIGNvbXBhdGlibGUgbWFsbG9jLi4uICIgPiY2OyB9Ci1pZiB0ZXN0
ICIke2FjX2N2X2Z1bmNfbWFsbG9jXzBfbm9ubnVsbCtzZXR9IiA9IHNldDsgdGhlbiA6Cit7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBsem8xeF9k
ZWNvbXByZXNzIGluIC1sbHpvMiIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgbHpvMXhf
ZGVjb21wcmVzcyBpbiAtbGx6bzIuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2x6
bzJfbHpvMXhfZGVjb21wcmVzcytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihj
YWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0
aGVuIDoKLSAgYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25udWxsPW5vCi1lbHNlCi0gIGNhdCBjb25m
ZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVf
TElCUz0kTElCUworTElCUz0iLWxsem8yICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpZiBkZWZpbmVk
IFNURENfSEVBREVSUyB8fCBkZWZpbmVkIEhBVkVfU1RETElCX0gKLSMgaW5jbHVkZSA8c3RkbGli
Lmg+Ci0jZWxzZQotY2hhciAqbWFsbG9jICgpOwotI2VuZGlmCiAKKy8qIE92ZXJyaWRlIGFueSBH
Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwor
I2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgbHpvMXhfZGVjb21w
cmVzcyAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuICEgbWFsbG9jICgwKTsKK3JldHVybiBs
em8xeF9kZWNvbXByZXNzICgpOwogICA7CiAgIHJldHVybiAwOwogfQogX0FDRU9GCi1pZiBhY19m
bl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25u
dWxsPXllcworaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9s
aWJfbHpvMl9sem8xeF9kZWNvbXByZXNzPXllcwogZWxzZQotICBhY19jdl9mdW5jX21hbGxvY18w
X25vbm51bGw9bm8KKyAgYWNfY3ZfbGliX2x6bzJfbHpvMXhfZGVjb21wcmVzcz1ubwogZmkKLXJt
IC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3Qk
YWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0
LiRhY19leHQKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAor
ICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19s
aWJfc2F2ZV9MSUJTCiBmaQotCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3MiID4mNQorJGFzX2Vj
aG8gIiRhY19jdl9saWJfbHpvMl9sem8xeF9kZWNvbXByZXNzIiA+JjY7IH0KK2lmIHRlc3QgIngk
YWNfY3ZfbGliX2x6bzJfbHpvMXhfZGVjb21wcmVzcyIgPSB4IiJ5ZXM7IHRoZW4gOgorICB6bGli
PSIkemxpYiAtREhBVkVfTFpPMVggLWxsem8yIgogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25udWxsIiA+
JjUKLSRhc19lY2hvICIkYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25udWxsIiA+JjY7IH0KLWlmIHRl
c3QgJGFjX2N2X2Z1bmNfbWFsbG9jXzBfbm9ubnVsbCA9IHllczsgdGhlbiA6Ci0KLSRhc19lY2hv
ICIjZGVmaW5lIEhBVkVfTUFMTE9DIDEiID4+Y29uZmRlZnMuaAotCi1lbHNlCi0gICRhc19lY2hv
ICIjZGVmaW5lIEhBVkVfTUFMTE9DIDAiID4+Y29uZmRlZnMuaAotCi0gICBjYXNlICIgJExJQk9C
SlMgIiBpbgotICAqIiBtYWxsb2MuJGFjX29iamV4dCAiKiApIDs7Ci0gICopIExJQk9CSlM9IiRM
SUJPQkpTIG1hbGxvYy4kYWNfb2JqZXh0IgotIDs7Ci1lc2FjCi0KIAotJGFzX2VjaG8gIiNkZWZp
bmUgbWFsbG9jIHJwbF9tYWxsb2MiID4+Y29uZmRlZnMuaAogCiBmaQogCiAKLXsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB0aW1lLmggYW5k
IHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tp
bmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3RpbWUrc2V0fSIgPSBzZXQ7IHRoZW4g
OgorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZv
ciBpb19zZXR1cCBpbiAtbGFpbyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgaW9fc2V0
dXAgaW4gLWxhaW8uLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2Fpb19pb19zZXR1
cCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNl
Ci0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hl
Y2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWxhaW8gICRMSUJTIgorY2F0IGNvbmZkZWZz
LmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAogLyogZW5kIGNvbmZkZWZzLmguICAqLwot
I2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0jaW5jbHVkZSA8
dGltZS5oPgogCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p
ZCBhbiBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90
eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJD
IgorI2VuZGlmCitjaGFyIGlvX3NldHVwICgpOwogaW50CiBtYWluICgpCiB7Ci1pZiAoKHN0cnVj
dCB0bSAqKSAwKQotcmV0dXJuIDA7CityZXR1cm4gaW9fc2V0dXAgKCk7CiAgIDsKICAgcmV0dXJu
IDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoK
LSAgYWNfY3ZfaGVhZGVyX3RpbWU9eWVzCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsg
dGhlbiA6CisgIGFjX2N2X2xpYl9haW9faW9fc2V0dXA9eWVzCiBlbHNlCi0gIGFjX2N2X2hlYWRl
cl90aW1lPW5vCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4
dCBjb25mdGVzdC4kYWNfZXh0Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfdGltZSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2
X2hlYWRlcl90aW1lIiA+JjY7IH0KLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl90aW1lID0geWVzOyB0
aGVuCi0KLSRhc19lY2hvICIjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxIiA+PmNvbmZkZWZz
LmgKLQorICBhY19jdl9saWJfYWlvX2lvX3NldHVwPW5vCiBmaQotCi0KLQotCi0gIGZvciBhY19o
ZWFkZXIgaW4gJGFjX2hlYWRlcl9saXN0Ci1kbyA6Ci0gIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8g
ImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKLWFjX2ZuX2NfY2hlY2tfaGVh
ZGVyX2NvbXBpbGUgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiRhY19p
bmNsdWRlc19kZWZhdWx0Ci0iCi1pZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX0hlYWRlciJcIiA9
IHgieWVzIjsgdGhlbiA6Ci0gIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgYCRh
c19lY2hvICJIQVZFXyRhY19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQotX0FDRU9GCi0KK3JtIC1m
IGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFj
X2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCiBm
aQotCi1kb25lCi0KLQotCi0KLQotCi0KLQotICBmb3IgYWNfZnVuYyBpbiAkYWNfZnVuY19saXN0
Ci1kbyA6Ci0gIGFzX2FjX3Zhcj1gJGFzX2VjaG8gImFjX2N2X2Z1bmNfJGFjX2Z1bmMiIHwgJGFz
X3RyX3NoYAotYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAiJGFjX2Z1bmMiICIkYXNfYWNf
dmFyIgotaWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY192YXIiXCIgPSB4InllcyI7IHRoZW4gOgot
ICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNf
ZnVuYyIgfCAkYXNfdHJfY3BwYCAxCi1fQUNFT0YKLQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfYWlvX2lvX3NldHVwIiA+JjUKKyRh
c19lY2hvICIkYWNfY3ZfbGliX2Fpb19pb19zZXR1cCIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2
X2xpYl9haW9faW9fc2V0dXAiID0geCIieWVzOyB0aGVuIDoKKyAgc3lzdGVtX2Fpbz0ieSIKK2Vs
c2UKKyAgc3lzdGVtX2Fpbz0ibiIKIGZpCi1kb25lCi0KIAogCi0KLQoteyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igd29ya2luZyBta3RpbWUiID4m
NQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHdvcmtpbmcgbWt0aW1lLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X2Z1bmNfd29ya2luZ19ta3RpbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgor
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgTUQ1
IGluIC1sY3J5cHRvIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBNRDUgaW4gLWxjcnlw
dG8uLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2NyeXB0b19NRDUrc2V0fSIgPSBz
ZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0ZXN0
ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfd29ya2luZ19t
a3RpbWU9bm8KLWVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFj
X2V4dAorICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJTPSItbGNyeXB0byAgJExJ
QlMiCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAvKiBlbmQg
Y29uZmRlZnMuaC4gICovCi0vKiBUZXN0IHByb2dyYW0gZnJvbSBQYXVsIEVnZ2VydCBhbmQgVG9u
eSBMZW5laXMuICAqLwotI2lmZGVmIFRJTUVfV0lUSF9TWVNfVElNRQotIyBpbmNsdWRlIDxzeXMv
dGltZS5oPgotIyBpbmNsdWRlIDx0aW1lLmg+Ci0jZWxzZQotIyBpZmRlZiBIQVZFX1NZU19USU1F
X0gKLSMgIGluY2x1ZGUgPHN5cy90aW1lLmg+Ci0jIGVsc2UKLSMgIGluY2x1ZGUgPHRpbWUuaD4K
LSMgZW5kaWYKLSNlbmRpZgotCi0jaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8c3RkbGli
Lmg+CiAKLSNpZmRlZiBIQVZFX1VOSVNURF9ICi0jIGluY2x1ZGUgPHVuaXN0ZC5oPgotI2VuZGlm
Ci0KLSNpZm5kZWYgSEFWRV9BTEFSTQotIyBkZWZpbmUgYWxhcm0oWCkgLyogZW1wdHkgKi8KKy8q
IE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgor
ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg
R0NDCisgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp
bGwgYXBwbHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCiAjZW5kaWYKLQot
LyogV29yayBhcm91bmQgcmVkZWZpbml0aW9uIHRvIHJwbF9wdXRlbnYgYnkgb3RoZXIgY29uZmln
IHRlc3RzLiAgKi8KLSN1bmRlZiBwdXRlbnYKLQotc3RhdGljIHRpbWVfdCB0aW1lX3RfbWF4Owot
c3RhdGljIHRpbWVfdCB0aW1lX3RfbWluOwotCi0vKiBWYWx1ZXMgd2UnbGwgdXNlIHRvIHNldCB0
aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUuICAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnR6X3N0
cmluZ3NbXSA9IHsKLSAgKGNvbnN0IGNoYXIgKikgMCwgIlRaPUdNVDAiLCAiVFo9SlNULTkiLAot
ICAiVFo9RVNUKzNFRFQrMixNMTAuMS4wLzAwOjAwOjAwLE0yLjMuMC8wMDowMDowMCIKLX07Ci0j
ZGVmaW5lIE5fU1RSSU5HUyAoc2l6ZW9mICh0el9zdHJpbmdzKSAvIHNpemVvZiAodHpfc3RyaW5n
c1swXSkpCi0KLS8qIFJldHVybiAwIGlmIG1rdGltZSBmYWlscyB0byBjb252ZXJ0IGEgZGF0ZSBp
biB0aGUgc3ByaW5nLWZvcndhcmQgZ2FwLgotICAgQmFzZWQgb24gYSBwcm9ibGVtIHJlcG9ydCBm
cm9tIEFuZHJlYXMgSmFlZ2VyLiAgKi8KLXN0YXRpYyBpbnQKLXNwcmluZ19mb3J3YXJkX2dhcCAo
KQotewotICAvKiBnbGliYyAodXAgdG8gYWJvdXQgMTk5OC0xMC0wNykgZmFpbGVkIHRoaXMgdGVz
dC4gKi8KLSAgc3RydWN0IHRtIHRtOwotCi0gIC8qIFVzZSB0aGUgcG9ydGFibGUgUE9TSVguMSBz
cGVjaWZpY2F0aW9uICJUWj1QU1Q4UERULE00LjEuMCxNMTAuNS4wIgotICAgICBpbnN0ZWFkIG9m
ICJUWj1BbWVyaWNhL1ZhbmNvdXZlciIgaW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBidWcgZXZlbgot
ICAgICBvbiBzeXN0ZW1zIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGUgT2xzb24gZXh0ZW5zaW9uLCBv
ciBkb24ndCBoYXZlIHRoZQotICAgICBmdWxsIHpvbmVpbmZvIHRhYmxlcyBpbnN0YWxsZWQuICAq
LwotICBwdXRlbnYgKChjaGFyKikgIlRaPVBTVDhQRFQsTTQuMS4wLE0xMC41LjAiKTsKLQotICB0
bS50bV95ZWFyID0gOTg7Ci0gIHRtLnRtX21vbiA9IDM7Ci0gIHRtLnRtX21kYXkgPSA1OwotICB0
bS50bV9ob3VyID0gMjsKLSAgdG0udG1fbWluID0gMDsKLSAgdG0udG1fc2VjID0gMDsKLSAgdG0u
dG1faXNkc3QgPSAtMTsKLSAgcmV0dXJuIG1rdGltZSAoJnRtKSAhPSAodGltZV90KSAtMTsKLX0K
LQotc3RhdGljIGludAotbWt0aW1lX3Rlc3QxICh0aW1lX3Qgbm93KQotewotICBzdHJ1Y3QgdG0g
Kmx0OwotICByZXR1cm4gISAobHQgPSBsb2NhbHRpbWUgKCZub3cpKSB8fCBta3RpbWUgKGx0KSA9
PSBub3c7Ci19Ci0KLXN0YXRpYyBpbnQKLW1rdGltZV90ZXN0ICh0aW1lX3Qgbm93KQotewotICBy
ZXR1cm4gKG1rdGltZV90ZXN0MSAobm93KQotCSAgJiYgbWt0aW1lX3Rlc3QxICgodGltZV90KSAo
dGltZV90X21heCAtIG5vdykpCi0JICAmJiBta3RpbWVfdGVzdDEgKCh0aW1lX3QpICh0aW1lX3Rf
bWluICsgbm93KSkpOwotfQotCi1zdGF0aWMgaW50Ci1pcml4XzZfNF9idWcgKCkKLXsKLSAgLyog
QmFzZWQgb24gY29kZSBmcm9tIEFyaWVsIEZhaWdvbi4gICovCi0gIHN0cnVjdCB0bSB0bTsKLSAg
dG0udG1feWVhciA9IDk2OwotICB0bS50bV9tb24gPSAzOwotICB0bS50bV9tZGF5ID0gMDsKLSAg
dG0udG1faG91ciA9IDA7Ci0gIHRtLnRtX21pbiA9IDA7Ci0gIHRtLnRtX3NlYyA9IDA7Ci0gIHRt
LnRtX2lzZHN0ID0gLTE7Ci0gIG1rdGltZSAoJnRtKTsKLSAgcmV0dXJuIHRtLnRtX21vbiA9PSAy
ICYmIHRtLnRtX21kYXkgPT0gMzE7Ci19Ci0KLXN0YXRpYyBpbnQKLWJpZ3RpbWVfdGVzdCAoaW50
IGopCi17Ci0gIHN0cnVjdCB0bSB0bTsKLSAgdGltZV90IG5vdzsKLSAgdG0udG1feWVhciA9IHRt
LnRtX21vbiA9IHRtLnRtX21kYXkgPSB0bS50bV9ob3VyID0gdG0udG1fbWluID0gdG0udG1fc2Vj
ID0gajsKLSAgbm93ID0gbWt0aW1lICgmdG0pOwotICBpZiAobm93ICE9ICh0aW1lX3QpIC0xKQot
ICAgIHsKLSAgICAgIHN0cnVjdCB0bSAqbHQgPSBsb2NhbHRpbWUgKCZub3cpOwotICAgICAgaWYg
KCEgKGx0Ci0JICAgICAmJiBsdC0+dG1feWVhciA9PSB0bS50bV95ZWFyCi0JICAgICAmJiBsdC0+
dG1fbW9uID09IHRtLnRtX21vbgotCSAgICAgJiYgbHQtPnRtX21kYXkgPT0gdG0udG1fbWRheQot
CSAgICAgJiYgbHQtPnRtX2hvdXIgPT0gdG0udG1faG91cgotCSAgICAgJiYgbHQtPnRtX21pbiA9
PSB0bS50bV9taW4KLQkgICAgICYmIGx0LT50bV9zZWMgPT0gdG0udG1fc2VjCi0JICAgICAmJiBs
dC0+dG1feWRheSA9PSB0bS50bV95ZGF5Ci0JICAgICAmJiBsdC0+dG1fd2RheSA9PSB0bS50bV93
ZGF5Ci0JICAgICAmJiAoKGx0LT50bV9pc2RzdCA8IDAgPyAtMSA6IDAgPCBsdC0+dG1faXNkc3Qp
Ci0JCSAgPT0gKHRtLnRtX2lzZHN0IDwgMCA/IC0xIDogMCA8IHRtLnRtX2lzZHN0KSkpKQotCXJl
dHVybiAwOwotICAgIH0KLSAgcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbnQKLXllYXJfMjA1MF90
ZXN0ICgpCi17Ci0gIC8qIFRoZSBjb3JyZWN0IGFuc3dlciBmb3IgMjA1MC0wMi0wMSAwMDowMDow
MCBpbiBQYWNpZmljIHRpbWUsCi0gICAgIGlnbm9yaW5nIGxlYXAgc2Vjb25kcy4gICovCi0gIHVu
c2lnbmVkIGxvbmcgaW50IGFuc3dlciA9IDI1MjczMTUyMDBVTDsKLQotICBzdHJ1Y3QgdG0gdG07
Ci0gIHRpbWVfdCB0OwotICB0bS50bV95ZWFyID0gMjA1MCAtIDE5MDA7Ci0gIHRtLnRtX21vbiA9
IDIgLSAxOwotICB0bS50bV9tZGF5ID0gMTsKLSAgdG0udG1faG91ciA9IHRtLnRtX21pbiA9IHRt
LnRtX3NlYyA9IDA7Ci0gIHRtLnRtX2lzZHN0ID0gLTE7Ci0KLSAgLyogVXNlIHRoZSBwb3J0YWJs
ZSBQT1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQRFQsTTQuMS4wLE0xMC41LjAiCi0gICAg
IGluc3RlYWQgb2YgIlRaPUFtZXJpY2EvVmFuY291dmVyIiBpbiBvcmRlciB0byBkZXRlY3QgdGhl
IGJ1ZyBldmVuCi0gICAgIG9uIHN5c3RlbXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZSBPbHNvbiBl
eHRlbnNpb24sIG9yIGRvbid0IGhhdmUgdGhlCi0gICAgIGZ1bGwgem9uZWluZm8gdGFibGVzIGlu
c3RhbGxlZC4gICovCi0gIHB1dGVudiAoKGNoYXIqKSAiVFo9UFNUOFBEVCxNNC4xLjAsTTEwLjUu
MCIpOwotCi0gIHQgPSBta3RpbWUgKCZ0bSk7Ci0KLSAgLyogQ2hlY2sgdGhhdCB0aGUgcmVzdWx0
IGlzIGVpdGhlciBhIGZhaWx1cmUsIG9yIGNsb3NlIGVub3VnaAotICAgICB0byB0aGUgY29ycmVj
dCBhbnN3ZXIgdGhhdCB3ZSBjYW4gYXNzdW1lIHRoZSBkaXNjcmVwYW5jeSBpcwotICAgICBkdWUg
dG8gbGVhcCBzZWNvbmRzLiAgKi8KLSAgcmV0dXJuICh0ID09ICh0aW1lX3QpIC0xCi0JICB8fCAo
MCA8IHQgJiYgYW5zd2VyIC0gMTIwIDw9IHQgJiYgdCA8PSBhbnN3ZXIgKyAxMjApKTsKLX0KLQor
Y2hhciBNRDUgKCk7CiBpbnQKIG1haW4gKCkKIHsKLSAgdGltZV90IHQsIGRlbHRhOwotICBpbnQg
aSwgajsKLQotICAvKiBUaGlzIHRlc3QgbWFrZXMgc29tZSBidWdneSBta3RpbWUgaW1wbGVtZW50
YXRpb25zIGxvb3AuCi0gICAgIEdpdmUgdXAgYWZ0ZXIgNjAgc2Vjb25kczsgYSBta3RpbWUgc2xv
d2VyIHRoYW4gdGhhdAotICAgICBpc24ndCB3b3J0aCB1c2luZyBhbnl3YXkuICAqLwotICBhbGFy
bSAoNjApOwotCi0gIGZvciAoOzspCi0gICAgewotICAgICAgdCA9ICh0aW1lX3RfbWF4IDw8IDEp
ICsgMTsKLSAgICAgIGlmICh0IDw9IHRpbWVfdF9tYXgpCi0JYnJlYWs7Ci0gICAgICB0aW1lX3Rf
bWF4ID0gdDsKLSAgICB9Ci0gIHRpbWVfdF9taW4gPSAtICgodGltZV90KSB+ICh0aW1lX3QpIDAg
PT0gKHRpbWVfdCkgLTEpIC0gdGltZV90X21heDsKLQotICBkZWx0YSA9IHRpbWVfdF9tYXggLyA5
OTc7IC8qIGEgc3VpdGFibGUgcHJpbWUgbnVtYmVyICovCi0gIGZvciAoaSA9IDA7IGkgPCBOX1NU
UklOR1M7IGkrKykKLSAgICB7Ci0gICAgICBpZiAodHpfc3RyaW5nc1tpXSkKLQlwdXRlbnYgKChj
aGFyKikgdHpfc3RyaW5nc1tpXSk7Ci0KLSAgICAgIGZvciAodCA9IDA7IHQgPD0gdGltZV90X21h
eCAtIGRlbHRhOyB0ICs9IGRlbHRhKQotCWlmICghIG1rdGltZV90ZXN0ICh0KSkKLQkgIHJldHVy
biAxOwotICAgICAgaWYgKCEgKG1rdGltZV90ZXN0ICgodGltZV90KSAxKQotCSAgICAgJiYgbWt0
aW1lX3Rlc3QgKCh0aW1lX3QpICg2MCAqIDYwKSkKLQkgICAgICYmIG1rdGltZV90ZXN0ICgodGlt
ZV90KSAoNjAgKiA2MCAqIDI0KSkpKQotCXJldHVybiAxOwotCi0gICAgICBmb3IgKGogPSAxOyA7
IGogPDw9IDEpCi0JaWYgKCEgYmlndGltZV90ZXN0IChqKSkKLQkgIHJldHVybiAxOwotCWVsc2Ug
aWYgKElOVF9NQVggLyAyIDwgaikKLQkgIGJyZWFrOwotICAgICAgaWYgKCEgYmlndGltZV90ZXN0
IChJTlRfTUFYKSkKLQlyZXR1cm4gMTsKLSAgICB9Ci0gIHJldHVybiAhIChpcml4XzZfNF9idWcg
KCkgJiYgc3ByaW5nX2ZvcndhcmRfZ2FwICgpICYmIHllYXJfMjA1MF90ZXN0ICgpKTsKK3JldHVy
biBNRDUgKCk7CisgIDsKKyAgcmV0dXJuIDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X3J1
biAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9mdW5jX3dvcmtpbmdfbWt0aW1lPXllcworaWYg
YWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9saWJfY3J5cHRvX01E
NT15ZXMKIGVsc2UKLSAgYWNfY3ZfZnVuY193b3JraW5nX21rdGltZT1ubwotZmkKLXJtIC1mIGNv
cmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhl
ZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19l
eHQKLWZpCi0KKyAgYWNfY3ZfbGliX2NyeXB0b19NRDU9bm8KIGZpCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2Z1bmNfd29ya2luZ19ta3Rp
bWUiID4mNQotJGFzX2VjaG8gIiRhY19jdl9mdW5jX3dvcmtpbmdfbWt0aW1lIiA+JjY7IH0KLWlm
IHRlc3QgJGFjX2N2X2Z1bmNfd29ya2luZ19ta3RpbWUgPSBubzsgdGhlbgotICBjYXNlICIgJExJ
Qk9CSlMgIiBpbgotICAqIiBta3RpbWUuJGFjX29iamV4dCAiKiApIDs7Ci0gICopIExJQk9CSlM9
IiRMSUJPQkpTIG1rdGltZS4kYWNfb2JqZXh0IgotIDs7Ci1lc2FjCi0KK3JtIC1mIGNvcmUgY29u
ZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBj
b25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCiBmaQotCi0KLQot
Ci0KLQotZm9yIGFjX2Z1bmMgaW4gZ2V0cGFnZXNpemUKLWRvIDoKLSAgYWNfZm5fY19jaGVja19m
dW5jICIkTElORU5PIiAiZ2V0cGFnZXNpemUiICJhY19jdl9mdW5jX2dldHBhZ2VzaXplIgotaWYg
dGVzdCAieCRhY19jdl9mdW5jX2dldHBhZ2VzaXplIiA9IHgiInllczsgdGhlbiA6Cit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9jcnlw
dG9fTUQ1IiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX2NyeXB0b19NRDUiID4mNjsgfQoraWYg
dGVzdCAieCRhY19jdl9saWJfY3J5cHRvX01ENSIgPSB4IiJ5ZXM7IHRoZW4gOgogICBjYXQgPj5j
b25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQorI2RlZmluZSBI
QVZFX0xJQkNSWVBUTyAxCiBfQUNFT0YKIAorICBMSUJTPSItbGNyeXB0byAkTElCUyIKKworZWxz
ZQorICBhc19mbl9lcnJvciAkPyAiQ291bGQgbm90IGZpbmQgbGliY3J5cHRvIiAiJExJTkVOTyIg
NQogZmkKLWRvbmUKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj
aGVja2luZyBmb3Igd29ya2luZyBtbWFwIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciB3
b3JraW5nIG1tYXAuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfZnVuY19tbWFwX2ZpeGVk
X21hcHBlZCtzZXR9IiA9IHNldDsgdGhlbiA6Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IGNoZWNraW5nIGZvciBleHQyZnNfb3BlbjIgaW4gLWxleHQyZnMiID4mNQor
JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGV4dDJmc19vcGVuMiBpbiAtbGV4dDJmcy4uLiAiID4m
NjsgfQoraWYgdGVzdCAiJHthY19jdl9saWJfZXh0MmZzX2V4dDJmc19vcGVuMitzZXR9IiA9IHNl
dDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3Qg
IiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKLSAgYWNfY3ZfZnVuY19tbWFwX2ZpeGVk
X21hcHBlZD1ubwotZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4k
YWNfZXh0CisgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0xJQlM9Ii1sZXh0MmZzICAk
TElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KLSRhY19pbmNsdWRlc19kZWZhdWx0Ci0vKiBtYWxsb2MgbWlnaHQg
aGF2ZSBiZWVuIHJlbmFtZWQgYXMgcnBsX21hbGxvYy4gKi8KLSN1bmRlZiBtYWxsb2MKLQotLyog
VGhhbmtzIHRvIE1pa2UgSGFlcnRlbCBhbmQgSmltIEF2ZXJhIGZvciB0aGlzIHRlc3QuCi0gICBI
ZXJlIGlzIGEgbWF0cml4IG9mIG1tYXAgcG9zc2liaWxpdGllczoKLQltbWFwIHByaXZhdGUgbm90
IGZpeGVkCi0JbW1hcCBwcml2YXRlIGZpeGVkIGF0IHNvbWV3aGVyZSBjdXJyZW50bHkgdW5tYXBw
ZWQKLQltbWFwIHByaXZhdGUgZml4ZWQgYXQgc29tZXdoZXJlIGFscmVhZHkgbWFwcGVkCi0JbW1h
cCBzaGFyZWQgbm90IGZpeGVkCi0JbW1hcCBzaGFyZWQgZml4ZWQgYXQgc29tZXdoZXJlIGN1cnJl
bnRseSB1bm1hcHBlZAotCW1tYXAgc2hhcmVkIGZpeGVkIGF0IHNvbWV3aGVyZSBhbHJlYWR5IG1h
cHBlZAotICAgRm9yIHByaXZhdGUgbWFwcGluZ3MsIHdlIHNob3VsZCB2ZXJpZnkgdGhhdCBjaGFu
Z2VzIGNhbm5vdCBiZSByZWFkKCkKLSAgIGJhY2sgZnJvbSB0aGUgZmlsZSwgbm9yIG1tYXAncyBi
YWNrIGZyb20gdGhlIGZpbGUgYXQgYSBkaWZmZXJlbnQKLSAgIGFkZHJlc3MuICAoVGhlcmUgaGF2
ZSBiZWVuIHN5c3RlbXMgd2hlcmUgcHJpdmF0ZSB3YXMgbm90IGNvcnJlY3RseQotICAgaW1wbGVt
ZW50ZWQgbGlrZSB0aGUgaW5mYW1vdXMgaTM4NiBzdnI0LjAsIGFuZCBzeXN0ZW1zIHdoZXJlIHRo
ZQotICAgVk0gcGFnZSBjYWNoZSB3YXMgbm90IGNvaGVyZW50IHdpdGggdGhlIGZpbGUgc3lzdGVt
IGJ1ZmZlciBjYWNoZQotICAgbGlrZSBlYXJseSB2ZXJzaW9ucyBvZiBGcmVlQlNEIGFuZCBwb3Nz
aWJseSBjb250ZW1wb3JhcnkgTmV0QlNELikKLSAgIEZvciBzaGFyZWQgbWFwcGluZ3MsIHdlIHNo
b3VsZCBjb252ZXJzZWx5IHZlcmlmeSB0aGF0IGNoYW5nZXMgZ2V0Ci0gICBwcm9wYWdhdGVkIGJh
Y2sgdG8gYWxsIHRoZSBwbGFjZXMgdGhleSdyZSBzdXBwb3NlZCB0byBiZS4KLQotICAgR3JlcCB3
YW50cyBwcml2YXRlIGZpeGVkIGFscmVhZHkgbWFwcGVkLgotICAgVGhlIG1haW4gdGhpbmdzIGdy
ZXAgbmVlZHMgdG8ga25vdyBhYm91dCBtbWFwIGFyZToKLSAgICogZG9lcyBpdCBleGlzdCBhbmQg
aXMgaXQgc2FmZSB0byB3cml0ZSBpbnRvIHRoZSBtbWFwJ2QgYXJlYQotICAgKiBob3cgdG8gdXNl
IGl0IChCU0QgdmFyaWFudHMpICAqLwotCi0jaW5jbHVkZSA8ZmNudGwuaD4KLSNpbmNsdWRlIDxz
eXMvbW1hbi5oPgotCi0jaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmICFkZWZpbmVkIEhBVkVf
U1RETElCX0gKLWNoYXIgKm1hbGxvYyAoKTsKLSNlbmRpZgotCi0vKiBUaGlzIG1lc3Mgd2FzIGNv
cGllZCBmcm9tIHRoZSBHTlUgZ2V0cGFnZXNpemUuaC4gICovCi0jaWZuZGVmIEhBVkVfR0VUUEFH
RVNJWkUKLSMgaWZkZWYgX1NDX1BBR0VTSVpFCi0jICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBzeXNj
b25mKF9TQ19QQUdFU0laRSkKLSMgZWxzZSAvKiBubyBfU0NfUEFHRVNJWkUgKi8KLSMgIGlmZGVm
IEhBVkVfU1lTX1BBUkFNX0gKLSMgICBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KLSMgICBpZmRlZiBF
WEVDX1BBR0VTSVpFCi0jICAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIEVYRUNfUEFHRVNJWkUKLSMg
ICBlbHNlIC8qIG5vIEVYRUNfUEFHRVNJWkUgKi8KLSMgICAgaWZkZWYgTkJQRwotIyAgICAgZGVm
aW5lIGdldHBhZ2VzaXplKCkgTkJQRyAqIENMU0laRQotIyAgICAgaWZuZGVmIENMU0laRQotIyAg
ICAgIGRlZmluZSBDTFNJWkUgMQotIyAgICAgZW5kaWYgLyogbm8gQ0xTSVpFICovCi0jICAgIGVs
c2UgLyogbm8gTkJQRyAqLwotIyAgICAgaWZkZWYgTkJQQwotIyAgICAgIGRlZmluZSBnZXRwYWdl
c2l6ZSgpIE5CUEMKLSMgICAgIGVsc2UgLyogbm8gTkJQQyAqLwotIyAgICAgIGlmZGVmIFBBR0VT
SVpFCi0jICAgICAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIFBBR0VTSVpFCi0jICAgICAgZW5kaWYg
LyogUEFHRVNJWkUgKi8KLSMgICAgIGVuZGlmIC8qIG5vIE5CUEMgKi8KLSMgICAgZW5kaWYgLyog
bm8gTkJQRyAqLwotIyAgIGVuZGlmIC8qIG5vIEVYRUNfUEFHRVNJWkUgKi8KLSMgIGVsc2UgLyog
bm8gSEFWRV9TWVNfUEFSQU1fSCAqLwotIyAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIDgxOTIJLyog
cHVudCB0b3RhbGx5ICovCi0jICBlbmRpZiAvKiBubyBIQVZFX1NZU19QQVJBTV9IICovCi0jIGVu
ZGlmIC8qIG5vIF9TQ19QQUdFU0laRSAqLwotCi0jZW5kaWYgLyogbm8gSEFWRV9HRVRQQUdFU0la
RSAqLwogCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl
IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgor
I2VuZGlmCitjaGFyIGV4dDJmc19vcGVuMiAoKTsKIGludAogbWFpbiAoKQogewotICBjaGFyICpk
YXRhLCAqZGF0YTIsICpkYXRhMzsKLSAgY29uc3QgY2hhciAqY2RhdGEyOwotICBpbnQgaSwgcGFn
ZXNpemU7Ci0gIGludCBmZCwgZmQyOwotCi0gIHBhZ2VzaXplID0gZ2V0cGFnZXNpemUgKCk7Ci0K
LSAgLyogRmlyc3QsIG1ha2UgYSBmaWxlIHdpdGggc29tZSBrbm93biBnYXJiYWdlIGluIGl0LiAq
LwotICBkYXRhID0gKGNoYXIgKikgbWFsbG9jIChwYWdlc2l6ZSk7Ci0gIGlmICghZGF0YSkKLSAg
ICByZXR1cm4gMTsKLSAgZm9yIChpID0gMDsgaSA8IHBhZ2VzaXplOyArK2kpCi0gICAgKihkYXRh
ICsgaSkgPSByYW5kICgpOwotICB1bWFzayAoMCk7Ci0gIGZkID0gY3JlYXQgKCJjb25mdGVzdC5t
bWFwIiwgMDYwMCk7Ci0gIGlmIChmZCA8IDApCi0gICAgcmV0dXJuIDI7Ci0gIGlmICh3cml0ZSAo
ZmQsIGRhdGEsIHBhZ2VzaXplKSAhPSBwYWdlc2l6ZSkKLSAgICByZXR1cm4gMzsKLSAgY2xvc2Ug
KGZkKTsKLQotICAvKiBOZXh0LCBjaGVjayB0aGF0IHRoZSB0YWlsIG9mIGEgcGFnZSBpcyB6ZXJv
LWZpbGxlZC4gIEZpbGUgbXVzdCBoYXZlCi0gICAgIG5vbi16ZXJvIGxlbmd0aCwgb3RoZXJ3aXNl
IHdlIHJpc2sgU0lHQlVTIGZvciBlbnRpcmUgcGFnZS4gICovCi0gIGZkMiA9IG9wZW4gKCJjb25m
dGVzdC50eHQiLCBPX1JEV1IgfCBPX0NSRUFUIHwgT19UUlVOQywgMDYwMCk7Ci0gIGlmIChmZDIg
PCAwKQotICAgIHJldHVybiA0OwotICBjZGF0YTIgPSAiIjsKLSAgaWYgKHdyaXRlIChmZDIsIGNk
YXRhMiwgMSkgIT0gMSkKLSAgICByZXR1cm4gNTsKLSAgZGF0YTIgPSAoY2hhciAqKSBtbWFwICgw
LCBwYWdlc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwgZmQyLCAwTCk7
Ci0gIGlmIChkYXRhMiA9PSBNQVBfRkFJTEVEKQotICAgIHJldHVybiA2OwotICBmb3IgKGkgPSAw
OyBpIDwgcGFnZXNpemU7ICsraSkKLSAgICBpZiAoKihkYXRhMiArIGkpKQotICAgICAgcmV0dXJu
IDc7Ci0gIGNsb3NlIChmZDIpOwotICBpZiAobXVubWFwIChkYXRhMiwgcGFnZXNpemUpKQotICAg
IHJldHVybiA4OwotCi0gIC8qIE5leHQsIHRyeSB0byBtbWFwIHRoZSBmaWxlIGF0IGEgZml4ZWQg
YWRkcmVzcyB3aGljaCBhbHJlYWR5IGhhcwotICAgICBzb21ldGhpbmcgZWxzZSBhbGxvY2F0ZWQg
YXQgaXQuICBJZiB3ZSBjYW4sIGFsc28gbWFrZSBzdXJlIHRoYXQKLSAgICAgd2Ugc2VlIHRoZSBz
YW1lIGdhcmJhZ2UuICAqLwotICBmZCA9IG9wZW4gKCJjb25mdGVzdC5tbWFwIiwgT19SRFdSKTsK
LSAgaWYgKGZkIDwgMCkKLSAgICByZXR1cm4gOTsKLSAgaWYgKGRhdGEyICE9IG1tYXAgKGRhdGEy
LCBwYWdlc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKLQkJICAgICBNQVBfUFJJVkFURSB8
IE1BUF9GSVhFRCwgZmQsIDBMKSkKLSAgICByZXR1cm4gMTA7Ci0gIGZvciAoaSA9IDA7IGkgPCBw
YWdlc2l6ZTsgKytpKQotICAgIGlmICgqKGRhdGEgKyBpKSAhPSAqKGRhdGEyICsgaSkpCi0gICAg
ICByZXR1cm4gMTE7Ci0KLSAgLyogRmluYWxseSwgbWFrZSBzdXJlIHRoYXQgY2hhbmdlcyB0byB0
aGUgbWFwcGVkIGFyZWEgZG8gbm90Ci0gICAgIHBlcmNvbGF0ZSBiYWNrIHRvIHRoZSBmaWxlIGFz
IHNlZW4gYnkgcmVhZCgpLiAgKFRoaXMgaXMgYSBidWcgb24KLSAgICAgc29tZSB2YXJpYW50cyBv
ZiBpMzg2IHN2cjQuMC4pICAqLwotICBmb3IgKGkgPSAwOyBpIDwgcGFnZXNpemU7ICsraSkKLSAg
ICAqKGRhdGEyICsgaSkgPSAqKGRhdGEyICsgaSkgKyAxOwotICBkYXRhMyA9IChjaGFyICopIG1h
bGxvYyAocGFnZXNpemUpOwotICBpZiAoIWRhdGEzKQotICAgIHJldHVybiAxMjsKLSAgaWYgKHJl
YWQgKGZkLCBkYXRhMywgcGFnZXNpemUpICE9IHBhZ2VzaXplKQotICAgIHJldHVybiAxMzsKLSAg
Zm9yIChpID0gMDsgaSA8IHBhZ2VzaXplOyArK2kpCi0gICAgaWYgKCooZGF0YSArIGkpICE9ICoo
ZGF0YTMgKyBpKSkKLSAgICAgIHJldHVybiAxNDsKLSAgY2xvc2UgKGZkKTsKK3JldHVybiBleHQy
ZnNfb3BlbjIgKCk7CisgIDsKICAgcmV0dXJuIDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5
X3J1biAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9mdW5jX21tYXBfZml4ZWRfbWFwcGVkPXll
cworaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9saWJfZXh0
MmZzX2V4dDJmc19vcGVuMj15ZXMKIGVsc2UKLSAgYWNfY3ZfZnVuY19tbWFwX2ZpeGVkX21hcHBl
ZD1ubwotZmkKLXJtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5v
dXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5i
ZWFtIGNvbmZ0ZXN0LiRhY19leHQKLWZpCi0KKyAgYWNfY3ZfbGliX2V4dDJmc19leHQyZnNfb3Bl
bjI9bm8KIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N2X2Z1bmNfbW1hcF9maXhlZF9tYXBwZWQiID4mNQotJGFzX2VjaG8gIiRhY19jdl9m
dW5jX21tYXBfZml4ZWRfbWFwcGVkIiA+JjY7IH0KLWlmIHRlc3QgJGFjX2N2X2Z1bmNfbW1hcF9m
aXhlZF9tYXBwZWQgPSB5ZXM7IHRoZW4KLQotJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9NTUFQIDEi
ID4+Y29uZmRlZnMuaAotCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2Jq
ZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNf
Y2hlY2tfbGliX3NhdmVfTElCUwogZmkKLXJtIC1mIGNvbmZ0ZXN0Lm1tYXAgY29uZnRlc3QudHh0
Ci0KLWZvciBhY19oZWFkZXIgaW4gc3RkbGliLmgKLWRvIDoKLSAgYWNfZm5fY19jaGVja19oZWFk
ZXJfbW9uZ3JlbCAiJExJTkVOTyIgInN0ZGxpYi5oIiAiYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oIiAi
JGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zdGRsaWJfaCIg
PSB4IiJ5ZXM7IHRoZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhB
VkVfU1RETElCX0ggMQotX0FDRU9GCi0KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX2V4dDJmc19leHQyZnNfb3BlbjIiID4mNQorJGFz
X2VjaG8gIiRhY19jdl9saWJfZXh0MmZzX2V4dDJmc19vcGVuMiIgPiY2OyB9CitpZiB0ZXN0ICJ4
JGFjX2N2X2xpYl9leHQyZnNfZXh0MmZzX29wZW4yIiA9IHgiInllczsgdGhlbiA6CisgIGxpYmV4
dDJmcz0ieSIKK2Vsc2UKKyAgbGliZXh0MmZzPSJuIgogZmkKIAotZG9uZQogCi17ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBHTlUgbGliYyBjb21w
YXRpYmxlIHJlYWxsb2MiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIEdOVSBsaWJjIGNv
bXBhdGlibGUgcmVhbGxvYy4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9mdW5jX3JlYWxs
b2NfMF9ub25udWxsK3NldH0iID0gc2V0OyB0aGVuIDoKK3sgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIgaW4gLWxn
Y3J5cHQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIg
aW4gLWxnY3J5cHQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2djcnlwdF9nY3J5
X21kX2hhc2hfYnVmZmVyK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hl
ZCkgIiA+JjYKIGVsc2UKLSAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4g
OgotICBhY19jdl9mdW5jX3JlYWxsb2NfMF9ub25udWxsPW5vCi1lbHNlCi0gIGNhdCBjb25mZGVm
cy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElC
Uz0kTElCUworTElCUz0iLWxnY3J5cHQgICRMSUJTIgorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VP
RiA+Y29uZnRlc3QuJGFjX2V4dAogLyogZW5kIGNvbmZkZWZzLmguICAqLwotI2lmIGRlZmluZWQg
U1REQ19IRUFERVJTIHx8IGRlZmluZWQgSEFWRV9TVERMSUJfSAotIyBpbmNsdWRlIDxzdGRsaWIu
aD4KLSNlbHNlCi1jaGFyICpyZWFsbG9jICgpOwotI2VuZGlmCiAKKy8qIE92ZXJyaWRlIGFueSBH
Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwor
I2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgZ2NyeV9tZF9oYXNo
X2J1ZmZlciAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuICEgcmVhbGxvYyAoMCwgMCk7City
ZXR1cm4gZ2NyeV9tZF9oYXNoX2J1ZmZlciAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VP
RgotaWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfcmVh
bGxvY18wX25vbm51bGw9eWVzCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6
CisgIGFjX2N2X2xpYl9nY3J5cHRfZ2NyeV9tZF9oYXNoX2J1ZmZlcj15ZXMKIGVsc2UKLSAgYWNf
Y3ZfZnVuY19yZWFsbG9jXzBfbm9ubnVsbD1ubworICBhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXI9bm8KIGZpCi1ybSAtZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21v
bi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0LiRhY19vYmpleHQg
Y29uZnRlc3QuYmVhbSBjb25mdGVzdC4kYWNfZXh0CitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBj
b25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFj
X2V4dAorTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkKLQoreyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfZ2NyeXB0X2djcnlf
bWRfaGFzaF9idWZmZXIiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXIiID4mNjsgfQoraWYgdGVzdCAieCRhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXIiID0geCIieWVzOyB0aGVuIDoKKyAgbGliZ2NyeXB0PSJ5IgorZWxzZQorICBs
aWJnY3J5cHQ9Im4iCiBmaQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiByZXN1bHQ6ICRhY19jdl9mdW5jX3JlYWxsb2NfMF9ub25udWxsIiA+JjUKLSRhc19lY2hvICIk
YWNfY3ZfZnVuY19yZWFsbG9jXzBfbm9ubnVsbCIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jdl9mdW5j
X3JlYWxsb2NfMF9ub25udWxsID0geWVzOyB0aGVuIDoKIAotJGFzX2VjaG8gIiNkZWZpbmUgSEFW
RV9SRUFMTE9DIDEiID4+Y29uZmRlZnMuaAogCisKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBwdGhyZWFkIGZsYWciID4mNQorJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWQgZmxhZy4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHth
eF9jdl9wdGhyZWFkX2ZsYWdzK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNh
Y2hlZCkgIiA+JjYKIGVsc2UKLSAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9SRUFMTE9DIDAiID4+
Y29uZmRlZnMuaAogCi0gICBjYXNlICIgJExJQk9CSlMgIiBpbgotICAqIiByZWFsbG9jLiRhY19v
YmpleHQgIiogKSA7OwotICAqKSBMSUJPQkpTPSIkTElCT0JKUyByZWFsbG9jLiRhY19vYmpleHQi
Ci0gOzsKLWVzYWMKKyAgICAgICAgYXhfY3ZfcHRocmVhZF9mbGFncz0tcHRocmVhZAorCisgICAg
UFRIUkVBRF9DRkxBR1M9IiRheF9jdl9wdGhyZWFkX2ZsYWdzIgorICAgIFBUSFJFQURfTERGTEFH
Uz0iJGF4X2N2X3B0aHJlYWRfZmxhZ3MiCisgICAgUFRIUkVBRF9MSUJTPSIiCisKKworICAgIHNh
dmVkX0NGTEFHUz0iJENGTEFHUyIKKworICAgIHNhdmVkX0xERkxBR1M9IiRMREZMQUdTIgorCisg
ICAgc2F2ZWRfTElCUz0iJExJQlMiCisKKworICAgIENGTEFHUz0iJENGTEFHUyAkUFRIUkVBRF9D
RkxBR1MiCisKKyAgICBMREZMQUdTPSIkTERGTEFHUyAkUFRIUkVBRF9MREZMQUdTIgorCisgICAg
TElCUz0iJExJQlMgJFBUSFJFQURfTElCUyIKKworICAgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8
X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKyNpbmNs
dWRlIDxwdGhyZWFkLmg+CitpbnQgbWFpbih2b2lkKSB7CisgIHB0aHJlYWRfYXRmb3JrKDAsMCww
KTsKKyAgcHRocmVhZF9jcmVhdGUoMCwwLDAsMCk7Cit9CisKK19BQ0VPRgoraWYgYWNfZm5fY190
cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorCitlbHNlCisgIGF4X2N2X3B0aHJlYWRfZmxhZ3M9
ZmFpbGVkCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBc
CisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKworICAgIENGTEFHUz0i
JHNhdmVkX0NGTEFHUyIKKworICAgIExERkxBR1M9IiRzYXZlZF9MREZMQUdTIgogCisgICAgTElC
Uz0iJHNhdmVkX0xJQlMiCiAKLSRhc19lY2hvICIjZGVmaW5lIHJlYWxsb2MgcnBsX3JlYWxsb2Mi
ID4+Y29uZmRlZnMuaAogCiBmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRheF9jdl9wdGhyZWFkX2ZsYWdzIiA+JjUKKyRhc19lY2hvICIkYXhfY3Zf
cHRocmVhZF9mbGFncyIgPiY2OyB9CisgICAgaWYgdGVzdCAieCRheF9jdl9wdGhyZWFkX2ZsYWdz
IiA9IHhmYWlsZWQ7IHRoZW4KKyAgICAgICAgYXNfZm5fZXJyb3IgJD8gIi1wdGhyZWFkIGRvZXMg
bm90IHdvcmsiICIkTElORU5PIiA1CisgICAgZmkKKworICAgIFBUSFJFQURfQ0ZMQUdTPSIkYXhf
Y3ZfcHRocmVhZF9mbGFncyIKKyAgICBQVEhSRUFEX0xERkxBR1M9IiRheF9jdl9wdGhyZWFkX2Zs
YWdzIgorICAgIFBUSFJFQURfTElCUz0iIgorCiAKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igd29ya2luZyBzdHJubGVuIiA+JjUKLSRhc19l
Y2hvX24gImNoZWNraW5nIGZvciB3b3JraW5nIHN0cm5sZW4uLi4gIiA+JjY7IH0KLWlmIHRlc3Qg
IiR7YWNfY3ZfZnVuY19zdHJubGVuX3dvcmtpbmcrc2V0fSIgPSBzZXQ7IHRoZW4gOgoreyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgeWFqbF9hbGxv
YyBpbiAtbHlhamwiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHlhamxfYWxsb2MgaW4g
LWx5YWpsLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2xpYl95YWpsX3lhamxfYWxsb2Mr
c2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQot
ICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNf
c3Rybmxlbl93b3JraW5nPW5vCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNv
bmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWx5
YWpsICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQK
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSRhY19pbmNsdWRlc19kZWZhdWx0CisKKy8qIE92ZXJy
aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisg
ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgeWFq
bF9hbGxvYyAoKTsKIGludAogbWFpbiAoKQogewotCi0jZGVmaW5lIFMgImZvb2JhciIKLSNkZWZp
bmUgU19MRU4gKHNpemVvZiBTIC0gMSkKLQotICAvKiBBdCBsZWFzdCBvbmUgaW1wbGVtZW50YXRp
b24gaXMgYnVnZ3k6IHRoYXQgb2YgQUlYIDQuMyB3b3VsZAotICAgICBnaXZlIHN0cm5sZW4gKFMs
IDEpID09IDMuICAqLwotCi0gIGludCBpOwotICBmb3IgKGkgPSAwOyBpIDwgU19MRU4gKyAxOyAr
K2kpCi0gICAgewotICAgICAgaW50IGV4cGVjdGVkID0gaSA8PSBTX0xFTiA/IGkgOiBTX0xFTjsK
LSAgICAgIGlmIChzdHJubGVuIChTLCBpKSAhPSBleHBlY3RlZCkKLQlyZXR1cm4gMTsKLSAgICB9
Ci0gIHJldHVybiAwOwotCityZXR1cm4geWFqbF9hbGxvYyAoKTsKICAgOwogICByZXR1cm4gMDsK
IH0KIF9BQ0VPRgotaWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2
X2Z1bmNfc3Rybmxlbl93b3JraW5nPXllcworaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7
IHRoZW4gOgorICBhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jPXllcwogZWxzZQotICBhY19jdl9m
dW5jX3N0cm5sZW5fd29ya2luZz1ubworICBhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jPW5vCiBm
aQotcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVzdC4qIGdtb24ub3V0IGJiLm91dCBjb25m
dGVzdCRhY19leGVleHQgXAotICBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29u
ZnRlc3QuJGFjX2V4dAorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4
dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKK0xJQlM9JGFjX2No
ZWNrX2xpYl9zYXZlX0xJQlMKIGZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl95YWpsX3lhamxfYWxsb2MiID4mNQorJGFzX2VjaG8g
IiRhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jIiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGli
X3lhamxfeWFqbF9hbGxvYyIgPSB4IiJ5ZXM7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8
X0FDRU9GCisjZGVmaW5lIEhBVkVfTElCWUFKTCAxCitfQUNFT0YKIAotZmkKLXsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZnVuY19zdHJubGVu
X3dvcmtpbmciID4mNQotJGFzX2VjaG8gIiRhY19jdl9mdW5jX3N0cm5sZW5fd29ya2luZyIgPiY2
OyB9Ci10ZXN0ICRhY19jdl9mdW5jX3N0cm5sZW5fd29ya2luZyA9IG5vICYmIGNhc2UgIiAkTElC
T0JKUyAiIGluCi0gICoiIHN0cm5sZW4uJGFjX29iamV4dCAiKiApIDs7Ci0gICopIExJQk9CSlM9
IiRMSUJPQkpTIHN0cm5sZW4uJGFjX29iamV4dCIKLSA7OwotZXNhYworICBMSUJTPSItbHlhamwg
JExJQlMiCiAKK2Vsc2UKKyAgYXNfZm5fZXJyb3IgJD8gIkNvdWxkIG5vdCBmaW5kIHlhamwiICIk
TElORU5PIiA1CitmaQogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciB3b3JraW5nIHN0cnRvZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBm
b3Igd29ya2luZyBzdHJ0b2QuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfZnVuY19zdHJ0
b2Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgZGVmbGF0ZUNvcHkgaW4gLWx6IiA+JjUKKyRhc19lY2hvX24g
ImNoZWNraW5nIGZvciBkZWZsYXRlQ29weSBpbiAtbHouLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7
YWNfY3ZfbGliX3pfZGVmbGF0ZUNvcHkrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19u
ICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHll
czsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfc3RydG9kPW5vCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0k
TElCUworTElCUz0iLWx6ICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0
ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KIAotJGFjX2luY2x1ZGVzX2RlZmF1
bHQKLSNpZm5kZWYgc3RydG9kCi1kb3VibGUgc3RydG9kICgpOworLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCisgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKKyAgIGJ1aWx0aW4g
YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCisj
aWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKICNlbmRpZgorY2hhciBkZWZsYXRlQ29weSAo
KTsKIGludAotbWFpbigpCittYWluICgpCiB7Ci0gIHsKLSAgICAvKiBTb21lIHZlcnNpb25zIG9m
IExpbnV4IHN0cnRvZCBtaXMtcGFyc2Ugc3RyaW5ncyB3aXRoIGxlYWRpbmcgJysnLiAgKi8KLSAg
ICBjaGFyICpzdHJpbmcgPSAiICs2OSI7Ci0gICAgY2hhciAqdGVybTsKLSAgICBkb3VibGUgdmFs
dWU7Ci0gICAgdmFsdWUgPSBzdHJ0b2QgKHN0cmluZywgJnRlcm0pOwotICAgIGlmICh2YWx1ZSAh
PSA2OSB8fCB0ZXJtICE9IChzdHJpbmcgKyA0KSkKLSAgICAgIHJldHVybiAxOwotICB9Ci0KLSAg
ewotICAgIC8qIFVuZGVyIFNvbGFyaXMgMi40LCBzdHJ0b2QgcmV0dXJucyB0aGUgd3JvbmcgdmFs
dWUgZm9yIHRoZQotICAgICAgIHRlcm1pbmF0aW5nIGNoYXJhY3RlciB1bmRlciBzb21lIGNvbmRp
dGlvbnMuICAqLwotICAgIGNoYXIgKnN0cmluZyA9ICJOYU4iOwotICAgIGNoYXIgKnRlcm07Ci0g
ICAgc3RydG9kIChzdHJpbmcsICZ0ZXJtKTsKLSAgICBpZiAodGVybSAhPSBzdHJpbmcgJiYgKih0
ZXJtIC0gMSkgPT0gMCkKLSAgICAgIHJldHVybiAxOwotICB9CityZXR1cm4gZGVmbGF0ZUNvcHkg
KCk7CisgIDsKICAgcmV0dXJuIDA7CiB9Ci0KIF9BQ0VPRgotaWYgYWNfZm5fY190cnlfcnVuICIk
TElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfc3RydG9kPXllcworaWYgYWNfZm5fY190cnlf
bGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9saWJfel9kZWZsYXRlQ29weT15ZXMKIGVs
c2UKLSAgYWNfY3ZfZnVuY19zdHJ0b2Q9bm8KLWZpCi1ybSAtZiBjb3JlICouY29yZSBjb3JlLmNv
bmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0
LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25mdGVzdC4kYWNfZXh0CisgIGFjX2N2X2xpYl96
X2RlZmxhdGVDb3B5PW5vCiBmaQotCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4k
YWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorTElC
Uz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZnVuY19zdHJ0b2QiID4mNQotJGFzX2VjaG8g
IiRhY19jdl9mdW5jX3N0cnRvZCIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jdl9mdW5jX3N0cnRvZCA9
IG5vOyB0aGVuCi0gIGNhc2UgIiAkTElCT0JKUyAiIGluCi0gICoiIHN0cnRvZC4kYWNfb2JqZXh0
ICIqICkgOzsKLSAgKikgTElCT0JKUz0iJExJQk9CSlMgc3RydG9kLiRhY19vYmpleHQiCi0gOzsK
LWVzYWMKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
YWNfY3ZfbGliX3pfZGVmbGF0ZUNvcHkiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfel9kZWZs
YXRlQ29weSIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2X2xpYl96X2RlZmxhdGVDb3B5IiA9IHgi
InllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9M
SUJaIDEKK19BQ0VPRgogCi1hY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICJwb3ciICJhY19j
dl9mdW5jX3BvdyIKLWlmIHRlc3QgIngkYWNfY3ZfZnVuY19wb3ciID0geCIieWVzOyB0aGVuIDoK
KyAgTElCUz0iLWx6ICRMSUJTIgogCitlbHNlCisgIGFzX2ZuX2Vycm9yICQ/ICJDb3VsZCBub3Qg
ZmluZCB6bGliIiAiJExJTkVOTyIgNQogZmkKIAotaWYgdGVzdCAkYWNfY3ZfZnVuY19wb3cgPSBu
bzsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr
aW5nIGZvciBwb3cgaW4gLWxtIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBwb3cgaW4g
LWxtLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2xpYl9tX3BvdytzZXR9IiA9IHNldDsg
dGhlbiA6Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciBsaWJpY29udl9vcGVuIGluIC1saWNvbnYiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yIGxpYmljb252X29wZW4gaW4gLWxpY29udi4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19j
dl9saWJfaWNvbnZfbGliaWNvbnZfb3BlbitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2CiBlbHNlCiAgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMK
LUxJQlM9Ii1sbSAgJExJQlMiCitMSUJTPSItbGljb252ICAkTElCUyIKIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KIApA
QCAtOTUyOCw1NSArNjU1Myw0NSBAQCBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVz
dC4kYWNfZXh0CiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIKICNlbmRpZgotY2hhciBw
b3cgKCk7CitjaGFyIGxpYmljb252X29wZW4gKCk7CiBpbnQKIG1haW4gKCkKIHsKLXJldHVybiBw
b3cgKCk7CityZXR1cm4gbGliaWNvbnZfb3BlbiAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9B
Q0VPRgogaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJf
bV9wb3c9eWVzCisgIGFjX2N2X2xpYl9pY29udl9saWJpY29udl9vcGVuPXllcwogZWxzZQotICBh
Y19jdl9saWJfbV9wb3c9bm8KKyAgYWNfY3ZfbGliX2ljb252X2xpYmljb252X29wZW49bm8KIGZp
CiBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICBjb25m
dGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAogTElCUz0kYWNfY2hlY2tfbGliX3NhdmVf
TElCUwogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiAkYWNfY3ZfbGliX21fcG93IiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX21fcG93IiA+JjY7
IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX21fcG93IiA9IHgiInllczsgdGhlbiA6Ci0gIFBPV19M
SUI9LWxtCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JGFjX2N2X2xpYl9pY29udl9saWJpY29udl9vcGVuIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGli
X2ljb252X2xpYmljb252X29wZW4iID4mNjsgfQoraWYgdGVzdCAieCRhY19jdl9saWJfaWNvbnZf
bGliaWNvbnZfb3BlbiIgPSB4IiJ5ZXM7IHRoZW4gOgorICBsaWJpY29udj0ieSIKIGVsc2UKLSAg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBjYW5ub3Qg
ZmluZCBsaWJyYXJ5IGNvbnRhaW5pbmcgZGVmaW5pdGlvbiBvZiBwb3ciID4mNQotJGFzX2VjaG8g
IiRhc19tZTogV0FSTklORzogY2Fubm90IGZpbmQgbGlicmFyeSBjb250YWluaW5nIGRlZmluaXRp
b24gb2YgcG93IiA+JjI7fQotZmkKLQorICBsaWJpY29udj0ibiIKIGZpCiAKLWZpCiAKLWZvciBh
Y19mdW5jIGluICBcCi0gICAgICAgICAgICAgICAgYWxhcm0gYXRleGl0IGJ6ZXJvIGNsb2NrX2dl
dHRpbWUgZHVwMiBmZGF0YXN5bmMgZnRydW5jYXRlIFwKLSAgICAgICAgICAgICAgICBnZXRjd2Qg
Z2V0aG9zdGJ5bmFtZSBnZXRob3N0bmFtZSBnZXRwYWdlc2l6ZSBnZXR0aW1lb2ZkYXkgXAotICAg
ICAgICAgICAgICAgIGluZXRfbnRvYSBpc2FzY2lpIGxvY2FsdGltZV9yIG1lbWNociBtZW1tb3Zl
IG1lbXNldCBta2RpciBcCi0gICAgICAgICAgICAgICAgbWtmaWZvIG11bm1hcCBwYXRoY29uZiBy
ZWFscGF0aCByZWdjb21wIHJtZGlyIHNlbGVjdCBzZXRlbnYgXAotICAgICAgICAgICAgICAgIHNv
Y2tldCBzdHJjYXNlY21wIHN0cmNociBzdHJjc3BuIHN0cmR1cCBzdHJlcnJvciBzdHJuZHVwIFwK
LSAgICAgICAgICAgICAgICBzdHJwYnJrIHN0cnJjaHIgc3Ryc3BuIHN0cnN0ciBzdHJ0b2wgc3Ry
dG91bCBzdHJ0b3VsbCB0enNldCBcCi0gICAgICAgICAgICAgICAgdW5hbWUgXAogCisjIENoZWNr
cyBmb3IgaGVhZGVyIGZpbGVzLgorZm9yIGFjX2hlYWRlciBpbiB5YWpsL3lhamxfdmVyc2lvbi5o
CiBkbyA6Ci0gIGFzX2FjX3Zhcj1gJGFzX2VjaG8gImFjX2N2X2Z1bmNfJGFjX2Z1bmMiIHwgJGFz
X3RyX3NoYAotYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAiJGFjX2Z1bmMiICIkYXNfYWNf
dmFyIgotaWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY192YXIiXCIgPSB4InllcyI7IHRoZW4gOgor
ICBhY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAieWFqbC95YWpsX3ZlcnNp
b24uaCIgImFjX2N2X2hlYWRlcl95YWpsX3lhamxfdmVyc2lvbl9oIiAiJGFjX2luY2x1ZGVzX2Rl
ZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl95YWpsX3lhamxfdmVyc2lvbl9oIiA9IHgi
InllczsgdGhlbiA6CiAgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgYCRhc19l
Y2hvICJIQVZFXyRhY19mdW5jIiB8ICRhc190cl9jcHBgIDEKKyNkZWZpbmUgSEFWRV9ZQUpMX1lB
SkxfVkVSU0lPTl9IIDEKIF9BQ0VPRgogCiBmaQorCiBkb25lCiAKIApkaWZmIC0tZ2l0IGEvdG9v
bHMvY29uZmlndXJlLmFjIGIvdG9vbHMvY29uZmlndXJlLmFjCmluZGV4IDU3Yzg4N2QuLmRlYjg0
OGQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbmZpZ3VyZS5hYworKysgYi90b29scy9jb25maWd1cmUu
YWMKQEAgLTE5LDkgKzE5LDYgQEAgcmVjb21tZW5kZWQsIHVzZSBQUkVQRU5EX0lOQ0xVREVTLCBQ
UkVQRU5EX0xJQiwgXAogQVBQRU5EX0lOQ0xVREVTIGFuZCBBUFBFTkRfTElCIGluc3RlYWQgd2hl
biBwb3NzaWJsZS5dKQogXSkKIAotQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCi1BQ19DQU5PTklD
QUxfSE9TVAotCiAjIE00IE1hY3JvIGluY2x1ZGVzCiBtNF9pbmNsdWRlKFttNC9zYXZldmFyLm00
XSkKIG00X2luY2x1ZGUoW200L2ZlYXR1cmVzLm00XSkKQEAgLTc1LDkgKzcyLDcgQEAgQUNfQVJH
X1ZBUihbQkNDXSwgW1BhdGggdG8gYmNjIHRvb2xdKQogQUNfQVJHX1ZBUihbSUFTTF0sIFtQYXRo
IHRvIGlhc2wgdG9vbF0pCiAKICMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KLUFDX1BST0dfU0VECiBB
Q19QUk9HX0NDCi1BQ19QUk9HX0xOX1MKIEFDX1BST0dfTUFLRV9TRVQKIEFDX1BST0dfSU5TVEFM
TAogQUNfUEFUSF9QUk9HKFtCSVNPTl0sIFtiaXNvbl0pCkBAIC0xMzcsNyArMTMyLDYgQEAgQUNf
U1VCU1QobGliZXh0MmZzKQogQUNfQ0hFQ0tfTElCKFtnY3J5cHRdLCBbZ2NyeV9tZF9oYXNoX2J1
ZmZlcl0sIFtsaWJnY3J5cHQ9InkiXSwgW2xpYmdjcnlwdD0ibiJdKQogQUNfU1VCU1QobGliZ2Ny
eXB0KQogQVhfQ0hFQ0tfUFRIUkVBRAotQUNfQ0hFQ0tfTElCKFtydF0sIFtjbG9ja19nZXR0aW1l
XSkKIEFDX0NIRUNLX0xJQihbeWFqbF0sIFt5YWpsX2FsbG9jXSwgW10sCiAgICAgW0FDX01TR19F
UlJPUihbQ291bGQgbm90IGZpbmQgeWFqbF0pXSkKIEFDX0NIRUNLX0xJQihbel0sIFtkZWZsYXRl
Q29weV0sIFtdLCBbQUNfTVNHX0VSUk9SKFtDb3VsZCBub3QgZmluZCB6bGliXSldKQpAQCAtMTQ1
LDU4ICsxMzksNiBAQCBBQ19DSEVDS19MSUIoW2ljb252XSwgW2xpYmljb252X29wZW5dLCBbbGli
aWNvbnY9InkiXSwgW2xpYmljb252PSJuIl0pCiBBQ19TVUJTVChsaWJpY29udikKIAogIyBDaGVj
a3MgZm9yIGhlYWRlciBmaWxlcy4KLUFDX0ZVTkNfQUxMT0NBCi1BQ19DSEVDS19IRUFERVJTKFsg
XAotICAgICAgICAgICAgICAgIGFycGEvaW5ldC5oIGZjbnRsLmggaW50dHlwZXMuaCBsaWJpbnRs
LmggbGltaXRzLmggbWFsbG9jLmggXAotICAgICAgICAgICAgICAgIG5ldGRiLmggbmV0aW5ldC9p
bi5oIHN0ZGRlZi5oIHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKLSAgICAgICAgICAgICAg
ICBzdHJpbmdzLmggc3lzL2ZpbGUuaCBzeXMvaW9jdGwuaCBzeXMvbW91bnQuaCBzeXMvcGFyYW0u
aCBcCi0gICAgICAgICAgICAgICAgc3lzL3NvY2tldC5oIHN5cy9zdGF0dmZzLmggc3lzL3RpbWUu
aCBzeXNsb2cuaCB0ZXJtaW9zLmggXAotICAgICAgICAgICAgICAgIHVuaXN0ZC5oIHlhamwveWFq
bF92ZXJzaW9uLmggXAotICAgICAgICAgICAgICAgIF0pCi0KLSMgQ2hlY2tzIGZvciB0eXBlZGVm
cywgc3RydWN0dXJlcywgYW5kIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljcy4KLUFDX0hFQURFUl9T
VERCT09MCi1BQ19UWVBFX1VJRF9UCi1BQ19DX0lOTElORQotQUNfVFlQRV9JTlQxNl9UCi1BQ19U
WVBFX0lOVDMyX1QKLUFDX1RZUEVfSU5UNjRfVAotQUNfVFlQRV9JTlQ4X1QKLUFDX1RZUEVfTU9E
RV9UCi1BQ19UWVBFX09GRl9UCi1BQ19UWVBFX1BJRF9UCi1BQ19DX1JFU1RSSUNUCi1BQ19UWVBF
X1NJWkVfVAotQUNfVFlQRV9TU0laRV9UCi1BQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3Qgc3RhdC5z
dF9ibGtzaXplXSkKLUFDX1NUUlVDVF9TVF9CTE9DS1MKLUFDX0NIRUNLX01FTUJFUlMoW3N0cnVj
dCBzdGF0LnN0X3JkZXZdKQotQUNfVFlQRV9VSU5UMTZfVAotQUNfVFlQRV9VSU5UMzJfVAotQUNf
VFlQRV9VSU5UNjRfVAotQUNfVFlQRV9VSU5UOF9UCi1BQ19DSEVDS19UWVBFUyhbcHRyZGlmZl90
XSkKLQotIyBDaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25zLgotQUNfRlVOQ19FUlJPUl9BVF9M
SU5FCi1BQ19GVU5DX0ZPUksKLUFDX0ZVTkNfRlNFRUtPCi1BQ19GVU5DX0xTVEFUX0ZPTExPV1Nf
U0xBU0hFRF9TWU1MSU5LCi1BQ19IRUFERVJfTUFKT1IKLUFDX0ZVTkNfTUFMTE9DCi1BQ19GVU5D
X01LVElNRQotQUNfRlVOQ19NTUFQCi1BQ19GVU5DX1JFQUxMT0MKLUFDX0ZVTkNfU1RSTkxFTgot
QUNfRlVOQ19TVFJUT0QKLUFDX0NIRUNLX0ZVTkNTKFsgXAotICAgICAgICAgICAgICAgIGFsYXJt
IGF0ZXhpdCBiemVybyBjbG9ja19nZXR0aW1lIGR1cDIgZmRhdGFzeW5jIGZ0cnVuY2F0ZSBcCi0g
ICAgICAgICAgICAgICAgZ2V0Y3dkIGdldGhvc3RieW5hbWUgZ2V0aG9zdG5hbWUgZ2V0cGFnZXNp
emUgZ2V0dGltZW9mZGF5IFwKLSAgICAgICAgICAgICAgICBpbmV0X250b2EgaXNhc2NpaSBsb2Nh
bHRpbWVfciBtZW1jaHIgbWVtbW92ZSBtZW1zZXQgbWtkaXIgXAotICAgICAgICAgICAgICAgIG1r
ZmlmbyBtdW5tYXAgcGF0aGNvbmYgcmVhbHBhdGggcmVnY29tcCBybWRpciBzZWxlY3Qgc2V0ZW52
IFwKLSAgICAgICAgICAgICAgICBzb2NrZXQgc3RyY2FzZWNtcCBzdHJjaHIgc3RyY3NwbiBzdHJk
dXAgc3RyZXJyb3Igc3RybmR1cCBcCi0gICAgICAgICAgICAgICAgc3RycGJyayBzdHJyY2hyIHN0
cnNwbiBzdHJzdHIgc3RydG9sIHN0cnRvdWwgc3RydG91bGwgdHpzZXQgXAotICAgICAgICAgICAg
ICAgIHVuYW1lIFwKLSAgICAgICAgICAgICAgICBdKQorQUNfQ0hFQ0tfSEVBREVSUyhbeWFqbC95
YWpsX3ZlcnNpb24uaF0pCiAKIEFDX09VVFBVVCgpCi0tIAoxLjcuMi41CgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz
dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6h-0006a5-N0; Fri, 11 May 2012 17:58:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6e-0006Wa-UJ
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42653] by server-1.bemta-4.messagelabs.com id
	83/B9-20925-B335DAF4; Fri, 11 May 2012 17:58:19 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25721 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435466"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hp-Vf; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eU-Sc;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:52 +0100
Message-ID: <1336759092-2432-8-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 07/27] libxl: Introduce libxl__sendmsg_fds and
	libxl__recvmsg_fds
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Provide functions for sending and receiving fds.

There used to be fd-sending functionality in libxl_qmp.c before
25298:84ae90427c54, which this implementation is partially derived
from.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |   11 ++++
 tools/libxl/libxl_utils.c    |  104 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 909e01f..e25569c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1135,6 +1135,17 @@ _hidden void libxl__qmp_cleanup(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__qmp_initializations(libxl__gc *gc, uint32_t domid,
                                        const libxl_domain_config *guest_config);
 
+/* on failure, logs */
+int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
+                       const void *data, size_t datalen,
+                       int nfds, const int fds[], const char *what);
+
+/* Insists on receiving exactly nfds and datalen.  On failure, logs
+ * and leaves *fds untouched. */
+int libxl__recvmsg_fds(libxl__gc *gc, int carrier,
+                       void *databuf, size_t datalen,
+                       int nfds, int fds[], const char *what);
+
 /* from libxl_json */
 #include <yajl/yajl_gen.h>
 
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 1a4874c..19b4615 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -579,6 +579,110 @@ void libxl_cputopology_list_free(libxl_cputopology *list, int nr)
     free(list);
 }
 
+int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
+                       const void *data, size_t datalen,
+                       int nfds, const int fds[], const char *what) {
+    struct msghdr msg = { 0 };
+    struct cmsghdr *cmsg;
+    size_t spaceneeded = nfds * sizeof(fds[0]);
+    char control[CMSG_SPACE(spaceneeded)];
+    struct iovec iov;
+    int r;
+
+    iov.iov_base = (void*)data;
+    iov.iov_len  = datalen;
+
+    /* compose the message */
+    msg.msg_iov = &iov;
+    msg.msg_iovlen = 1;
+    msg.msg_control = control;
+    msg.msg_controllen = sizeof(control);
+
+    /* attach open fd */
+    cmsg = CMSG_FIRSTHDR(&msg);
+    cmsg->cmsg_level = SOL_SOCKET;
+    cmsg->cmsg_type = SCM_RIGHTS;
+    cmsg->cmsg_len = CMSG_LEN(spaceneeded);
+    memcpy(CMSG_DATA(cmsg), fds, spaceneeded);
+
+    msg.msg_controllen = cmsg->cmsg_len;
+
+    r = sendmsg(carrier, &msg, 0);
+    if (r < 0) {
+        LOGE(ERROR, "failed to send fd-carrying message (%s)", what);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl__recvmsg_fds(libxl__gc *gc, int carrier,
+                       void *databuf, size_t datalen,
+                       int nfds, int fds[], const char *what)
+{
+    struct msghdr msg = { 0 };
+    struct cmsghdr *cmsg;
+    size_t spaceneeded = nfds * sizeof(fds[0]);
+    char control[CMSG_SPACE(spaceneeded)];
+    struct iovec iov;
+    int r;
+
+    iov.iov_base = databuf;
+    iov.iov_len  = datalen;
+
+    msg.msg_iov = &iov;
+    msg.msg_iovlen = 1;
+    msg.msg_control = control;
+    msg.msg_controllen = sizeof(control);
+
+    for (;;) {
+        r = recvmsg(carrier, &msg, 0);
+        if (r < 0) {
+            if (errno == EINTR) continue;
+            if (errno == EWOULDBLOCK) return -1;
+            LOGE(ERROR,"recvmsg failed (%s)", what);
+            return ERROR_FAIL;
+        }
+        if (r == 0) {
+            LOG(ERROR,"recvmsg got EOF (%s)", what);
+            return ERROR_FAIL;
+        }
+        cmsg = CMSG_FIRSTHDR(&msg);
+        if (cmsg->cmsg_len <= CMSG_LEN(0)) {
+            LOG(ERROR,"recvmsg got no control msg"
+                " when expecting fds (%s)", what);
+            return ERROR_FAIL;
+        }
+        if (cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_RIGHTS) {
+            LOG(ERROR, "recvmsg got unexpected"
+                " cmsg_level %d (!=%d) or _type %d (!=%d) (%s)",
+                cmsg->cmsg_level, SOL_SOCKET,
+                cmsg->cmsg_type, SCM_RIGHTS,
+                what);
+            return ERROR_FAIL;
+        }
+        if (cmsg->cmsg_len != CMSG_LEN(spaceneeded) ||
+            msg.msg_controllen != cmsg->cmsg_len) {
+            LOG(ERROR, "recvmsg got unexpected"
+                " number of fds or extra control data"
+                " (%ld bytes' worth, expected %ld) (%s)",
+                (long)CMSG_LEN(spaceneeded), (long)cmsg->cmsg_len,
+                what);
+            int i, fd;
+            unsigned char *p;
+            for (i=0, p=CMSG_DATA(cmsg);
+                 CMSG_SPACE(i * sizeof(fds[0]));
+                 i++, i+=sizeof(fd)) {
+                memcpy(&fd, p, sizeof(fd));
+                close(fd);
+            }
+            return ERROR_FAIL;
+        }
+        memcpy(fds, CMSG_DATA(cmsg), spaceneeded);
+        return 0;
+    }
+}         
+
 void libxl_dominfo_list_free(libxl_dominfo *list, int nr)
 {
     int i;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6k-0006d4-IS; Fri, 11 May 2012 17:58:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wa-DG
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:21 +0000
Received: from [85.158.143.35:42662] by server-1.bemta-4.messagelabs.com id
	54/B9-20925-C335DAF4; Fri, 11 May 2012 17:58:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336759099!10700869!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32033 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435472"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6a-0008I2-7k; Fri, 11 May 2012 17:58:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6a-0000fn-6F;
	Fri, 11 May 2012 18:58:16 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:56 +0100
Message-ID: <1336759092-2432-12-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 11/27] libxl: ao: Convert libxl_run_bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Convert libxl_run_bootloader to an ao_how-taking function.

It's implemented in terms of libxl__bootloader_run, which can be used
internally.  The resulting code is pretty much a rewrite.

Significant changes include:

- We direct the bootloader's results to a file, not a pipe.  This
  makes it simpler to deal with as we don't have to read it
  concurrently along with everything else.

- We now issue a warning if we find unexpected statements in the
  bootloader results.

- The arrangements for buffering of bootloader input and output
  are completely changed.  Now we have a fixed limit of 64k
  on output, and 4k on input, and discard the oldest data when
  this overflows (which it shouldn't).  There is no timeout
  any more.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Changes since v6:
 * Use libxl__ev_child_inuse rather than testing pid directly.
 * Fix a code style error.
 * Properly initialise the sub-operations' aos in _init.
 * Bugfixes.
---
 tools/libxl/libxl.c            |    4 +
 tools/libxl/libxl.h            |    3 +-
 tools/libxl/libxl_bootloader.c |  713 +++++++++++++++++++++-------------------
 tools/libxl/libxl_create.c     |    8 +-
 tools/libxl/libxl_internal.h   |   34 ++
 5 files changed, 419 insertions(+), 343 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 939cc02..d5fb186 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1750,6 +1750,10 @@ int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
      * For other device types assume that the blktap2 process is
      * needed by the soon to be started domain and do nothing.
      */
+    /*
+     * FIXME
+     * This appears to leak the disk in failure paths
+     */
 
     return 0;
 }
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index fb90aed..3087146 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -495,7 +495,8 @@ int libxl_get_max_cpus(libxl_ctx *ctx);
 int libxl_run_bootloader(libxl_ctx *ctx,
                          libxl_domain_build_info *info,
                          libxl_device_disk *disk,
-                         uint32_t domid);
+                         uint32_t domid,
+                         libxl_asyncop_how *ao_how);
 
   /* 0 means ERROR_ENOMEM, which we have logged */
 
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index b50944a..bdc4cb4 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -15,6 +15,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include <termios.h>
+#include <utmp.h>
 
 #ifdef INCLUDE_LIBUTIL_H
 #include INCLUDE_LIBUTIL_H
@@ -22,67 +23,80 @@
 
 #include "libxl_internal.h"
 
-#define XENCONSOLED_BUF_SIZE 16
-#define BOOTLOADER_BUF_SIZE 4096
-#define BOOTLOADER_TIMEOUT 1
+#define BOOTLOADER_BUF_OUT 65536
+#define BOOTLOADER_BUF_IN   4096
 
-static char **make_bootloader_args(libxl__gc *gc,
-                                   libxl_domain_build_info *info,
-                                   uint32_t domid,
-                                   const char *fifo, char *disk)
+static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op);
+static void bootloader_keystrokes_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval);
+static void bootloader_display_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval);
+static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
+                                pid_t pid, int status);
+
+/*----- bootloader arguments -----*/
+
+static void bootloader_arg(libxl__bootloader_state *bl, const char *arg)
+{
+    assert(bl->nargs < bl->argsspace);
+    bl->args[bl->nargs++] = arg;
+}
+
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
 {
-    flexarray_t *args;
-    int nr = 0;
+    const libxl_domain_build_info *info = bl->info;
 
-    args = flexarray_make(1, 1);
-    if (!args)
-        return NULL;
+    bl->argsspace = 7 + libxl_string_list_length(&info->u.pv.bootloader_args);
 
-    flexarray_set(args, nr++, (char *)info->u.pv.bootloader);
+    GCNEW_ARRAY(bl->args, bl->argsspace);
+
+#define ARG(arg) bootloader_arg(bl, (arg))
+
+    ARG(info->u.pv.bootloader);
 
     if (info->u.pv.kernel.path)
-        flexarray_set(args, nr++, libxl__sprintf(gc, "--kernel=%s",
-                                                 info->u.pv.kernel.path));
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
     if (info->u.pv.ramdisk.path)
-        flexarray_set(args, nr++, libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
-        flexarray_set(args, nr++, libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
+        ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
-    flexarray_set(args, nr++, libxl__sprintf(gc, "--output=%s", fifo));
-    flexarray_set(args, nr++, "--output-format=simple0");
-    flexarray_set(args, nr++, libxl__sprintf(gc, "--output-directory=%s", "/var/run/libxl/"));
+    ARG(libxl__sprintf(gc, "--output=%s", bl->outputpath));
+    ARG("--output-format=simple0");
+    ARG(libxl__sprintf(gc, "--output-directory=%s", bl->outputdir));
 
     if (info->u.pv.bootloader_args) {
         char **p = info->u.pv.bootloader_args;
         while (*p) {
-            flexarray_set(args, nr++, *p);
+            ARG(*p);
             p++;
         }
     }
 
-    flexarray_set(args, nr++, disk);
+    ARG(bl->diskpath);
 
-    /* Sentinal for execv */
-    flexarray_set(args, nr++, NULL);
+    /* Sentinel for execv */
+    ARG(NULL);
 
-    return (char **) flexarray_contents(args); /* Frees args */
+#undef ARG
 }
 
-static int open_xenconsoled_pty(int *master, int *slave, char *slave_path, size_t slave_path_len)
+/*----- synchronous subroutines -----*/
+
+static int setup_xenconsoled_pty(libxl__egc *egc, libxl__bootloader_state *bl,
+                                 char *slave_path, size_t slave_path_len)
 {
+    STATE_AO_GC(bl->ao);
     struct termios termattr;
-    int ret;
-
-    ret = openpty(master, slave, NULL, NULL, NULL);
-    if (ret < 0)
-        return -1;
-
-    ret = ttyname_r(*slave, slave_path, slave_path_len);
-    if (ret == -1) {
-        close(*master);
-        close(*slave);
-        *master = *slave = -1;
-        return -1;
+    int r, rc;
+    int slave = libxl__carefd_fd(bl->ptys[1].slave);
+    int master = libxl__carefd_fd(bl->ptys[1].master);
+
+    r = ttyname_r(slave, slave_path, slave_path_len);
+    if (r == -1) {
+        LOGE(ERROR,"ttyname_r failed");
+        rc = ERROR_FAIL;
+        goto out;
     }
 
     /*
@@ -95,310 +109,217 @@ static int open_xenconsoled_pty(int *master, int *slave, char *slave_path, size_
      * semantics on Solaris, so don't try to set any attributes
      * for it.
      */
-#if !defined(__sun__) && !defined(__NetBSD__)
-    tcgetattr(*master, &termattr);
+    tcgetattr(master, &termattr);
     cfmakeraw(&termattr);
-    tcsetattr(*master, TCSANOW, &termattr);
-
-    close(*slave);
-    *slave = -1;
-#else
-    tcgetattr(*slave, &termattr);
-    cfmakeraw(&termattr);
-    tcsetattr(*slave, TCSANOW, &termattr);
-#endif
-
-    fcntl(*master, F_SETFL, O_NDELAY);
-    fcntl(*master, F_SETFD, FD_CLOEXEC);
+    tcsetattr(master, TCSANOW, &termattr);
 
     return 0;
+
+ out:
+    return rc;
 }
 
-static pid_t fork_exec_bootloader(int *master, const char *arg0, char **args)
-{
-    struct termios termattr;
-    pid_t pid = forkpty(master, NULL, NULL, NULL);
-    if (pid == -1)
-        return -1;
-    else if (pid == 0) {
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, arg0, args);
-        return -1;
-    }
+static const char *bootloader_result_command(libxl__gc *gc, const char *buf,
+                         const char *prefix, size_t prefixlen) {
+    if (strncmp(buf, prefix, prefixlen))
+        return 0;
 
-    /*
-     * On Solaris, the master pty side does not have terminal semantics,
-     * so don't try to set any attributes, as it will fail.
-     */
-#if !defined(__sun__)
-    tcgetattr(*master, &termattr);
-    cfmakeraw(&termattr);
-    tcsetattr(*master, TCSANOW, &termattr);
-#endif
+    const char *rhs = buf + prefixlen;
+    if (!CTYPE(isspace,*rhs))
+        return 0;
 
-    fcntl(*master, F_SETFL, O_NDELAY);
+    while (CTYPE(isspace,*rhs))
+        rhs++;
 
-    return pid;
+    LOG(DEBUG,"bootloader output contained %s %s", prefix, rhs);
+
+    return rhs;
 }
 
-/*
- * filedescriptors:
- *   fifo_fd        - bootstring output from the bootloader
- *   xenconsoled_fd - input/output from/to xenconsole
- *   bootloader_fd  - input/output from/to pty that controls the bootloader
- * The filedescriptors are NDELAY, so it's ok to try to read
- * bigger chunks than may be available, to keep e.g. curses
- * screen redraws in the bootloader efficient. xenconsoled_fd is the side that
- * gets xenconsole input, which will be keystrokes, so a small number
- * is sufficient. bootloader_fd is pygrub output, which will be curses screen
- * updates, so a larger number (1024) is appropriate there.
- *
- * For writeable descriptors, only include them in the set for select
- * if there is actual data to write, otherwise this would loop too fast,
- * eating up CPU time.
- */
-static char * bootloader_interact(libxl__gc *gc, int xenconsoled_fd, int bootloader_fd, int fifo_fd)
+static int parse_bootloader_result(libxl__egc *egc,
+                                   libxl__bootloader_state *bl)
 {
-    int ret;
-
-    size_t nr_out = 0, size_out = 0;
-    char *output = NULL;
-    struct timeval wait;
-
-    /* input from xenconsole. read on xenconsoled_fd write to bootloader_fd */
-    int xenconsoled_prod = 0, xenconsoled_cons = 0;
-    char xenconsoled_buf[XENCONSOLED_BUF_SIZE];
-    /* output from bootloader. read on bootloader_fd write to xenconsoled_fd */
-    int bootloader_prod = 0, bootloader_cons = 0;
-    char bootloader_buf[BOOTLOADER_BUF_SIZE];
-
-    while(1) {
-        fd_set wsel, rsel;
-        int nfds;
-
-        /* Set timeout to 1s before starting to discard data */
-        wait.tv_sec = BOOTLOADER_TIMEOUT;
-        wait.tv_usec = 0;
-
-        /* Move buffers around to drop already consumed data */
-        if (xenconsoled_cons > 0) {
-            xenconsoled_prod -= xenconsoled_cons;
-            memmove(xenconsoled_buf, &xenconsoled_buf[xenconsoled_cons],
-                    xenconsoled_prod);
-            xenconsoled_cons = 0;
-        }
-        if (bootloader_cons > 0) {
-            bootloader_prod -= bootloader_cons;
-            memmove(bootloader_buf, &bootloader_buf[bootloader_cons],
-                    bootloader_prod);
-            bootloader_cons = 0;
-        }
-
-        FD_ZERO(&rsel);
-        FD_SET(fifo_fd, &rsel);
-        nfds = fifo_fd + 1;
-        if (xenconsoled_prod < XENCONSOLED_BUF_SIZE) {
-            /* The buffer is not full, try to read more data */
-            FD_SET(xenconsoled_fd, &rsel);
-            nfds = xenconsoled_fd + 1 > nfds ? xenconsoled_fd + 1 : nfds;
-        } 
-        if (bootloader_prod < BOOTLOADER_BUF_SIZE) {
-            /* The buffer is not full, try to read more data */
-            FD_SET(bootloader_fd, &rsel);
-            nfds = bootloader_fd + 1 > nfds ? bootloader_fd + 1 : nfds;
-        }
-
-        FD_ZERO(&wsel);
-        if (bootloader_prod > 0) {
-            /* The buffer has data to consume */
-            FD_SET(xenconsoled_fd, &wsel);
-            nfds = xenconsoled_fd + 1 > nfds ? xenconsoled_fd + 1 : nfds;
-        }
-        if (xenconsoled_prod > 0) {
-            /* The buffer has data to consume */
-            FD_SET(bootloader_fd, &wsel);
-            nfds = bootloader_fd + 1 > nfds ? bootloader_fd + 1 : nfds;
-        }
-
-        if (xenconsoled_prod == XENCONSOLED_BUF_SIZE ||
-            bootloader_prod == BOOTLOADER_BUF_SIZE)
-            ret = select(nfds, &rsel, &wsel, NULL, &wait);
-        else
-            ret = select(nfds, &rsel, &wsel, NULL, NULL);
-        if (ret < 0) {
-            if (errno == EINTR)
-                continue;
-            goto out_err;
-        }
-
-        /* Input from xenconsole, read xenconsoled_fd, write bootloader_fd */
-        if (ret == 0 && xenconsoled_prod == XENCONSOLED_BUF_SIZE) {
-            /* Drop the buffer */
-            xenconsoled_prod = 0;
-            xenconsoled_cons = 0;
-        } else if (FD_ISSET(xenconsoled_fd, &rsel)) {
-            ret = read(xenconsoled_fd, &xenconsoled_buf[xenconsoled_prod], XENCONSOLED_BUF_SIZE - xenconsoled_prod);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                xenconsoled_prod += ret;
-        }
-        if (FD_ISSET(bootloader_fd, &wsel)) {
-            ret = write(bootloader_fd, &xenconsoled_buf[xenconsoled_cons], xenconsoled_prod - xenconsoled_cons);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                xenconsoled_cons += ret;
-        }
+    STATE_AO_GC(bl->ao);
+    char buf[PATH_MAX*2];
+    FILE *f = 0;
+    int rc = ERROR_FAIL;
+    libxl_domain_build_info *info = bl->info;
+
+    f = fopen(bl->outputpath, "r");
+    if (!f) {
+        LOGE(ERROR,"open bootloader output file %s", bl->outputpath);
+        goto out;
+    }
 
-        /* Input from bootloader, read bootloader_fd, write xenconsoled_fd */
-        if (ret == 0 && bootloader_prod == BOOTLOADER_BUF_SIZE) {
-            /* Drop the buffer */
-            bootloader_prod = 0;
-            bootloader_cons = 0;
-        } else if (FD_ISSET(bootloader_fd, &rsel)) {
-            ret = read(bootloader_fd, &bootloader_buf[bootloader_prod], BOOTLOADER_BUF_SIZE - bootloader_prod);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                bootloader_prod += ret;
+    for (;;) {
+        /* Read a nul-terminated "line" and put the result in
+         * buf, and its length (not including the nul) in l */
+        int l = 0, c;
+        while ((c = getc(f)) != EOF && c != '\0') {
+            if (l < sizeof(buf)-1)
+                buf[l] = c;
+            l++;
         }
-        if (FD_ISSET(xenconsoled_fd, &wsel)) {
-            ret = write(xenconsoled_fd, &bootloader_buf[bootloader_cons], bootloader_prod - bootloader_cons);
-            if (ret < 0 && errno != EIO && errno != EAGAIN)
-                goto out_err;
-            if (ret > 0)
-                bootloader_cons += ret;
-        }
-
-        if (FD_ISSET(fifo_fd, &rsel)) {
-            if (size_out - nr_out < 256) {
-                char *temp;
-                size_t new_size = size_out == 0 ? 32 : size_out * 2;
-
-                temp = realloc(output, new_size);
-                if (temp == NULL)
-                    goto out_err;
-                output = temp;
-                memset(output + size_out, 0, new_size - size_out);
-                size_out = new_size;
+        if (c == EOF) {
+            if (ferror(f)) {
+                LOGE(ERROR,"read bootloader output file %s", bl->outputpath);
+                goto out;
             }
-
-            ret = read(fifo_fd, output + nr_out, size_out - nr_out);
-            if (ret > 0)
-                  nr_out += ret;
-            if (ret == 0)
+            if (!l)
                 break;
         }
-    }
+        if (l >= sizeof(buf)) {
+            LOG(WARN,"bootloader output contained"
+                " overly long item `%.150s...'", buf);
+            continue;
+        }
+        buf[l] = 0;
 
-    libxl__ptr_add(gc, output);
-    return output;
+        const char *rhs;
+#define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
-out_err:
-    free(output);
-    return NULL;
-}
-
-static void parse_bootloader_result(libxl__gc *gc,
-                                    libxl_domain_build_info *info,
-                                    const char *o)
-{
-    while (*o != '\0') {
-        if (strncmp("kernel ", o, strlen("kernel ")) == 0) {
+        if (COMMAND("kernel")) {
             free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = strdup(o + strlen("kernel "));
+            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
             libxl__file_reference_map(&info->u.pv.kernel);
             unlink(info->u.pv.kernel.path);
-        } else if (strncmp("ramdisk ", o, strlen("ramdisk ")) == 0) {
+        } else if (COMMAND("ramdisk")) {
             free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = strdup(o + strlen("ramdisk "));
+            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
             libxl__file_reference_map(&info->u.pv.ramdisk);
             unlink(info->u.pv.ramdisk.path);
-        } else if (strncmp("args ", o, strlen("args ")) == 0) {
+        } else if (COMMAND("args")) {
             free(info->u.pv.cmdline);
-            info->u.pv.cmdline = strdup(o + strlen("args "));
+            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+        } else if (l) {
+            LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
-
-        o = o + strlen(o) + 1;
     }
+    rc = 0;
+
+ out:
+    if (f) fclose(f);
+    return rc;
 }
 
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid)
+
+/*----- init and cleanup -----*/
+
+void libxl__bootloader_init(libxl__bootloader_state *bl)
+{
+    assert(bl->ao);
+    bl->diskpath = NULL;
+    bl->openpty.ao = bl->ao;
+    bl->ptys[0].master = bl->ptys[0].slave = 0;
+    bl->ptys[1].master = bl->ptys[1].slave = 0;
+    libxl__ev_child_init(&bl->child);
+    bl->keystrokes.ao = bl->ao;  libxl__datacopier_init(&bl->keystrokes);
+    bl->display.ao = bl->ao;     libxl__datacopier_init(&bl->display);
+}
+
+static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
 {
-    GC_INIT(ctx);
-    int ret, rc = 0;
-    char *fifo = NULL;
-    char *diskpath = NULL;
-    char **args = NULL;
+    STATE_AO_GC(bl->ao);
+    int i;
 
-    char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
-    char *tempdir;
+    if (bl->outputpath) libxl__remove_file(gc, bl->outputpath);
+    if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
-    char *dom_console_xs_path;
-    char dom_console_slave_tty_path[PATH_MAX];
+    if (bl->diskpath) {
+        libxl_device_disk_local_detach(CTX, bl->disk);
+        free(bl->diskpath);
+        bl->diskpath = 0;
+    }
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+    for (i=0; i<2; i++) {
+        libxl__carefd_close(bl->ptys[i].master);
+        libxl__carefd_close(bl->ptys[i].slave);
+    }
+}
+
+static void bootloader_setpaths(libxl__gc *gc, libxl__bootloader_state *bl)
+{
+    uint32_t domid = bl->domid;
+    bl->outputdir = GCSPRINTF(XEN_RUN_DIR "/bootloader.%"PRIu32".d", domid);
+    bl->outputpath = GCSPRINTF(XEN_RUN_DIR "/bootloader.%"PRIu32".out", domid);
+}
 
-    int xenconsoled_fd = -1, xenconsoled_slave = -1;
-    int bootloader_fd = -1, fifo_fd = -1;
+static void bootloader_callback(libxl__egc *egc, libxl__bootloader_state *bl,
+                                int rc)
+{
+    bootloader_cleanup(egc, bl);
+    bl->callback(egc, bl, rc);
+}
 
-    int blrc;
-    pid_t pid;
-    char *blout;
+/*----- main flow of control -----*/
 
-    struct stat st_buf;
+void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
+{
+    STATE_AO_GC(bl->ao);
+    libxl_domain_build_info *info = bl->info;
+    int rc, r;
 
-    rc = libxl__domain_build_info_setdefault(gc, info);
-    if (rc) goto out;
+    libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader)
-        goto out;
+    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+        rc = 0;
+        goto out_ok;
+    }
 
-    rc = libxl__domain_build_info_setdefault(gc, info);
-    if (rc) goto out;
+    bootloader_setpaths(gc, bl);
 
-    rc = ERROR_INVAL;
-    if (!disk)
+    for (;;) {
+        r = mkdir(bl->outputdir, 0600);
+        if (!r) break;
+        if (errno == EINTR) continue;
+        if (errno == EEXIST) break;
+        LOGE(ERROR, "failed to create bootloader dir %s", bl->outputdir);
+        rc = ERROR_FAIL;
         goto out;
+    }
 
-    rc = ERROR_FAIL;
-    ret = mkdir("/var/run/libxl/", S_IRWXU);
-    if (ret < 0 && errno != EEXIST)
+    for (;;) {
+        r = open(bl->outputpath, O_WRONLY|O_CREAT|O_TRUNC, 0600);
+        if (r>=0) { close(r); break; }
+        if (errno == EINTR) continue;
+        LOGE(ERROR, "failed to precreate bootloader output %s", bl->outputpath);
+        rc = ERROR_FAIL;
         goto out;
+    }
 
-    ret = stat("/var/run/libxl/", &st_buf);
-    if (ret < 0)
+    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    if (!bl->diskpath) {
+        rc = ERROR_FAIL;
         goto out;
+    }
 
-    if (!S_ISDIR(st_buf.st_mode))
-        goto out;
+    make_bootloader_args(gc, bl);
 
-    tempdir = mkdtemp(tempdir_template);
-    if (tempdir == NULL)
-        goto out;
+    bl->openpty.ao = ao;
+    bl->openpty.callback = bootloader_gotptys;
+    bl->openpty.count = 2;
+    bl->openpty.results = bl->ptys;
+    rc = libxl__openptys(&bl->openpty, 0,0);
+    if (rc) goto out;
 
-    ret = asprintf(&fifo, "%s/fifo", tempdir);
-    if (ret < 0) {
-        fifo = NULL;
-        goto out_close;
-    }
+    return;
 
-    ret = mkfifo(fifo, 0600);
-    if (ret < 0) {
-        goto out_close;
-    }
+ out:
+    assert(rc);
+ out_ok:
+    bootloader_callback(egc, bl, rc);
+}
 
-    diskpath = libxl_device_disk_local_attach(ctx, disk);
-    if (!diskpath) {
-        goto out_close;
-    }
+static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
+    STATE_AO_GC(bl->ao);
+    int rc, r;
 
-    args = make_bootloader_args(gc, info, domid, fifo, diskpath);
-    if (args == NULL) {
-        rc = ERROR_NOMEM;
-        goto out_close;
+    if (bl->openpty.rc) {
+        rc = bl->openpty.rc;
+        goto out;
     }
 
     /*
@@ -411,76 +332,188 @@ int libxl_run_bootloader(libxl_ctx *ctx,
      * where we copy characters between the two master fds, as well as
      * listening on the bootloader's fifo for the results.
      */
-    ret = open_xenconsoled_pty(&xenconsoled_fd, &xenconsoled_slave,
+
+    char *dom_console_xs_path;
+    char dom_console_slave_tty_path[PATH_MAX];
+    rc = setup_xenconsoled_pty(egc, bl,
                                &dom_console_slave_tty_path[0],
                                sizeof(dom_console_slave_tty_path));
-    if (ret < 0) {
-        goto out_close;
+    if (rc) goto out;
+
+    char *dompath = libxl__xs_get_dompath(gc, bl->domid);
+    if (!dompath) { rc = ERROR_FAIL; goto out; }
+
+    dom_console_xs_path = GCSPRINTF("%s/console/tty", dompath);
+
+    rc = libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s",
+                         dom_console_slave_tty_path);
+    if (rc) {
+        LOGE(ERROR,"xs write console path %s := %s failed",
+             dom_console_xs_path, dom_console_slave_tty_path);
+        rc = ERROR_FAIL;
+        goto out;
     }
 
-    dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
-    libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
+    int bootloader_master = libxl__carefd_fd(bl->ptys[0].master);
+    int xenconsole_master = libxl__carefd_fd(bl->ptys[1].master);
+
+    libxl_fd_set_nonblock(CTX, bootloader_master, 1);
+    libxl_fd_set_nonblock(CTX, xenconsole_master, 1);
+
+    bl->keystrokes.writefd   = bl->display.readfd   = bootloader_master;
+    bl->keystrokes.writewhat = bl->display.readwhat = "bootloader pty";
+
+    bl->keystrokes.readfd   = bl->display.writefd   = xenconsole_master;
+    bl->keystrokes.readwhat = bl->display.writewhat = "xenconsole client pty";
+
+    bl->keystrokes.ao = ao;
+    bl->keystrokes.maxsz = BOOTLOADER_BUF_OUT;
+    bl->keystrokes.copywhat =
+        GCSPRINTF("bootloader input for domain %"PRIu32, bl->domid);
+    bl->keystrokes.callback = bootloader_keystrokes_copyfail;
+    rc = libxl__datacopier_start(&bl->keystrokes);
+    if (rc) goto out;
+
+    bl->display.ao = ao;
+    bl->display.maxsz = BOOTLOADER_BUF_IN;
+    bl->display.copywhat =
+        GCSPRINTF("bootloader output for domain %"PRIu32, bl->domid);
+    bl->display.callback = bootloader_display_copyfail;
+    rc = libxl__datacopier_start(&bl->display);
+    if (rc) goto out;
+
+    LOG(DEBUG, "executing bootloader: %s", bl->args[0]);
+    for (const char **blarg = bl->args;
+         *blarg;
+         blarg++)
+        LOG(DEBUG, "  bootloader arg: %s", *blarg);
+
+    struct termios termattr;
 
-    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
-    if (pid < 0) {
-        goto out_close;
+    pid_t pid = libxl__ev_child_fork(gc, &bl->child, bootloader_finished);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
     }
 
-    while (1) {
-        if (waitpid(pid, &blrc, WNOHANG) == pid)
-            goto out_close;
+    if (!pid) {
+        /* child */
+        r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
+        if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
+        setenv("TERM", "vt100", 1);
+        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        exit(-1);
+    }
 
-        fifo_fd = open(fifo, O_RDONLY);
-        if (fifo_fd > -1)
-            break;
+    /* parent */
 
-        if (errno == EINTR)
-            continue;
+    /*
+     * On Solaris, the master pty side does not have terminal semantics,
+     * so don't try to set any attributes, as it will fail.
+     */
+#if !defined(__sun__)
+    tcgetattr(bootloader_master, &termattr);
+    cfmakeraw(&termattr);
+    tcsetattr(bootloader_master, TCSANOW, &termattr);
+#endif
+
+    return;
+
+ out:
+    bootloader_callback(egc, bl, rc);
+}
 
-        goto out_close;
+/* perhaps one of these will be called, but perhaps not */
+static void bootloader_copyfail(libxl__egc *egc, const char *which,
+       libxl__bootloader_state *bl, int onwrite, int errnoval)
+{
+    STATE_AO_GC(bl->ao);
+    int r;
+
+    if (!onwrite && !errnoval)
+        LOG(ERROR, "unexpected eof copying %s", which);
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+    if (libxl__ev_child_inuse(&bl->child)) {
+        r = kill(bl->child.pid, SIGTERM);
+        if (r) LOGE(WARN, "after failure, failed to kill bootloader [%lu]",
+                    (unsigned long)bl->child.pid);
     }
+    bl->rc = ERROR_FAIL;
+}
+static void bootloader_keystrokes_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(dc, *bl, keystrokes);
+    bootloader_copyfail(egc, "bootloader input", bl, onwrite, errnoval);
+}
+static void bootloader_display_copyfail(libxl__egc *egc,
+       libxl__datacopier_state *dc, int onwrite, int errnoval)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(dc, *bl, display);
+    bootloader_copyfail(egc, "bootloader output", bl, onwrite, errnoval);
+}
 
-    fcntl(fifo_fd, F_SETFL, O_NDELAY);
+static void bootloader_finished(libxl__egc *egc, libxl__ev_child *child,
+                                pid_t pid, int status)
+{
+    libxl__bootloader_state *bl = CONTAINER_OF(child, *bl, child);
+    STATE_AO_GC(bl->ao);
+    int rc;
 
-    blout = bootloader_interact(gc, xenconsoled_fd, bootloader_fd, fifo_fd);
-    if (blout == NULL) {
-        goto out_close;
+    libxl__datacopier_kill(&bl->keystrokes);
+    libxl__datacopier_kill(&bl->display);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, XTL_ERROR, "bootloader",
+                                      pid, status);
+        rc = ERROR_FAIL;
+        goto out;
+    } else {
+        LOG(DEBUG, "bootloader completed");
     }
 
-    pid = waitpid(pid, &blrc, 0);
-    if (pid == -1 || (pid > 0 && WIFEXITED(blrc) && WEXITSTATUS(blrc) != 0)) {
-        goto out_close;
+    if (bl->rc) {
+        /* datacopier went wrong */
+        rc = bl->rc;
+        goto out;
     }
 
-    parse_bootloader_result(gc, info, blout);
+    rc = parse_bootloader_result(egc, bl);
+    if (rc) goto out;
 
     rc = 0;
-out_close:
-    if (diskpath) {
-        libxl_device_disk_local_detach(ctx, disk);
-        free(diskpath);
-    }
-    if (fifo_fd > -1)
-        close(fifo_fd);
-    if (bootloader_fd > -1)
-        close(bootloader_fd);
-    if (xenconsoled_fd > -1)
-        close(xenconsoled_fd);
-    if (xenconsoled_slave > -1)
-        close(xenconsoled_slave);
-
-    if (fifo) {
-        unlink(fifo);
-        free(fifo);
-    }
+    LOG(DEBUG, "bootloader execution successful");
 
-    rmdir(tempdir);
+ out:
+    bootloader_callback(egc, bl, rc);
+}
 
-    free(args);
+/*----- entrypoint for external callers -----*/
 
-out:
-    GC_FREE;
-    return rc;
+static void run_bootloader_done(libxl__egc *egc,
+                                libxl__bootloader_state *st, int rc)
+{
+    libxl__ao_complete(egc, st->ao, rc);
+}
+
+int libxl_run_bootloader(libxl_ctx *ctx,
+                         libxl_domain_build_info *info,
+                         libxl_device_disk *disk,
+                         uint32_t domid,
+                         libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx,domid,ao_how);
+    libxl__bootloader_state *bl;
+
+    GCNEW(bl);
+    bl->ao = ao;
+    bl->callback = run_bootloader_done;
+    bl->info = info;
+    bl->disk = disk;
+    bl->domid = domid;
+    libxl__bootloader_run(egc, bl);
+    return AO_INPROGRESS;
 }
 
 /*
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index d501102..f7732aa 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -593,8 +593,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         if (ret) goto error_out;
     }
 
-    if ( restore_fd < 0 ) {
-        ret = libxl_run_bootloader(ctx, &d_config->b_info, d_config->num_disks > 0 ? &d_config->disks[0] : NULL, domid);
+    libxl_device_disk *bootdisk =
+        d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
+
+    if (restore_fd < 0 && bootdisk) {
+        ret = libxl_run_bootloader(ctx, &d_config->b_info, bootdisk, domid,
+                                   0 /* fixme-ao */);
         if (ret) {
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                        "failed to run bootloader: %d", ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 3744a28..e8502c6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -42,6 +42,7 @@
 #include <sys/time.h>
 #include <sys/types.h>
 #include <sys/wait.h>
+#include <sys/socket.h>
 
 #include <xs.h>
 #include <xenctrl.h>
@@ -440,6 +441,7 @@ _hidden int libxl__remove_file(libxl__gc *gc, const char *path);
 _hidden int libxl__remove_directory(libxl__gc *gc, const char *path);
 _hidden int libxl__remove_file_or_directory(libxl__gc *gc, const char *path);
 
+
 _hidden char **libxl__xs_kvs_of_flexarray(libxl__gc *gc, flexarray_t *array, int length);
 
 _hidden int libxl__xs_writev(libxl__gc *gc, xs_transaction_t t,
@@ -1549,6 +1551,38 @@ int libxl__openptys(libxl__openpty_state *op,
                     const struct winsize *winp);
 
 
+/*----- bootloader -----*/
+
+typedef struct libxl__bootloader_state libxl__bootloader_state;
+typedef void libxl__run_bootloader_callback(libxl__egc*,
+                                libxl__bootloader_state*, int rc);
+
+struct libxl__bootloader_state {
+    /* caller must fill these in, and they must all remain valid */
+    libxl__ao *ao;
+    libxl__run_bootloader_callback *callback;
+    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    libxl_device_disk *disk;
+    uint32_t domid;
+    /* private to libxl__run_bootloader */
+    char *outputpath, *outputdir;
+    char *diskpath; /* not from gc, represents actually attached disk */
+    libxl__openpty_state openpty;
+    libxl__openpty_result ptys[2];  /* [0] is for bootloader */
+    libxl__ev_child child;
+    int nargs, argsspace;
+    const char **args;
+    libxl__datacopier_state keystrokes, display;
+    int rc;
+};
+
+_hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
+
+/* Will definitely call st->callback, perhaps reentrantly.
+ * If callback is passed rc==0, will have updated st->info appropriately */
+_hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 17:58:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 17:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSu6p-0006l8-De; Fri, 11 May 2012 17:58:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSu6f-0006Wq-Sr
	for xen-devel@lists.xen.org; Fri, 11 May 2012 17:58:22 +0000
Received: from [85.158.143.35:57433] by server-3.bemta-4.messagelabs.com id
	6E/F4-05853-D335DAF4; Fri, 11 May 2012 17:58:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1336759097!16331154!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25755 invoked from network); 11 May 2012 17:58:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 17:58:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12435464"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 17:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 18:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SSu6Z-0008Hf-OW; Fri, 11 May 2012 17:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SSu6Z-0000eJ-M1;
	Fri, 11 May 2012 18:58:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 11 May 2012 18:57:49 +0100
Message-ID: <1336759092-2432-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1336759092-2432-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@entel.upc.edu>,
	Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] =?utf-8?q?=5BPATCH_04/27=5D_autoconf=3A_trim_the_conf?=
	=?utf-8?q?igure_script=3B_use_autoheader?=
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UmVtb3ZlIGEgbG90IG9mIHVubmVjZXNzYXJ5IHRlc3RzLiAgU3BlY2lmaWNhbGx5LCB3ZSBubyBs
b25nZXIgdGVzdApmb3Igc3RhbmRhcmQgUE9TSVggZmFjaWxpdGllcyB3aGljaCB3ZSBleHBlY3Qg
dG8gYmUgcHJvdmlkZWQKZXZlcnl3aGVyZSBhbmQgd2hpY2ggd2UgZG9uJ3QgaW4gYW55IGNhc2Ug
aGF2ZSBhbnkgYWx0ZXJuYXRpdmUgZm9yLgoKU3dpdGNoIHRvIGdlbmVyYXRpbmcgY29uZmlnLmgu
aW4gd2l0aCBhdXRvaGVhZGVyLgoKU2lnbmVkLW9mZi1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNr
c29uQGV1LmNpdHJpeC5jb20+CkFja2VkLWJ5OiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBj
aXRyaXguY29tPgpDYzogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAZW50ZWwudXBjLmVkdT4K
CkNoYW5nZXMgc2luY2Ugdjc6CiAqIFJlbW92ZWQgQVhfQ0hFQ0tfUFRZRlVOQ1MgKHNudWNrIGlu
IGZyb20gcHJldmlvdXMgcGF0Y2gpCi0tLQogYXV0b2dlbi5zaCAgICAgICAgIHwgICAgMSArCiB0
b29scy9jb25maWcuaC5pbiAgfCAgIDczICstCiB0b29scy9jb25maWd1cmUgICAgfCA4ODI1ICsr
KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xz
L2NvbmZpZ3VyZS5hYyB8ICAgNjAgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMjk4MSBpbnNlcnRpb25z
KCspLCA1OTc4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2F1dG9nZW4uc2ggYi9hdXRvZ2Vu
LnNoCmluZGV4IGMyODhiNzEuLjU4YTcxY2UgMTAwNzU1Ci0tLSBhL2F1dG9nZW4uc2gKKysrIGIv
YXV0b2dlbi5zaApAQCAtMSwzICsxLDQgQEAKICMhL2Jpbi9zaCAtZQogY2QgdG9vbHMKIGF1dG9j
b25mCithdXRvaGVhZGVyCmRpZmYgLS1naXQgYS90b29scy9jb25maWcuaC5pbiBiL3Rvb2xzL2Nv
bmZpZy5oLmluCmluZGV4IGY4Zjk2ZGMuLjE3Yzg5MTMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbmZp
Zy5oLmluCisrKyBiL3Rvb2xzL2NvbmZpZy5oLmluCkBAIC0xLDE5ICsxLDY0IEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEyCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZAotICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLjEgb25seS4g
d2l0aCB0aGUgc3BlY2lhbAotICogZXhjZXB0aW9uIG9uIGxpbmtpbmcgZGVzY3JpYmVkIGluIGZp
bGUgTElDRU5TRS4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLworLyogY29u
ZmlnLmguaW4uICBHZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMgYnkgYXV0b2hlYWRlci4gICov
CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aW50dHlwZXMuaD4gaGVhZGVyIGZp
bGUuICovCisjdW5kZWYgSEFWRV9JTlRUWVBFU19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgY3J5cHRvJyBsaWJyYXJ5ICgtbGNyeXB0bykuICovCisjdW5kZWYgSEFWRV9MSUJD
UllQVE8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB5YWpsJyBsaWJyYXJ5ICgt
bHlhamwpLiAqLworI3VuZGVmIEhBVkVfTElCWUFKTAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgYHonIGxpYnJhcnkgKC1seikuICovCisjdW5kZWYgSEFWRV9MSUJaCisKKy8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWVtb3J5Lmg+IGhlYWRlciBmaWxlLiAqLworI3Vu
ZGVmIEhBVkVfTUVNT1JZX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRp
bnQuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TVERJTlRfSAorCisvKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBI
QVZFX1NURExJQl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5ncy5o
PiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NUUklOR1NfSAorCisvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZF
X1NUUklOR19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3N0YXQuaD4g
aGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfU1RBVF9ICisKKy8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhB
VkVfU1lTX1RZUEVTX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx1bmlzdGQu
aD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9VTklTVERfSAogCiAvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSB0aGUgPHlhamwveWFqbF92ZXJzaW9uLmg+IGhlYWRlciBmaWxlLiAqLwog
I3VuZGVmIEhBVkVfWUFKTF9ZQUpMX1ZFUlNJT05fSAogCi0vKiBEZWZpbmUgY3Vyc2VzIGhlYWRl
ciB0byBpbmNsdWRlLiAqLworLyogRGVmaW5lIGN1cnNlcyBoZWFkZXIgdG8gdXNlICovCiAjdW5k
ZWYgSU5DTFVERV9DVVJTRVNfSAorCisvKiBEZWZpbmUgdG8gdGhlIGFkZHJlc3Mgd2hlcmUgYnVn
IHJlcG9ydHMgZm9yIHRoaXMgcGFja2FnZSBzaG91bGQgYmUgc2VudC4gKi8KKyN1bmRlZiBQQUNL
QUdFX0JVR1JFUE9SVAorCisvKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2th
Z2UuICovCisjdW5kZWYgUEFDS0FHRV9OQU1FCisKKy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1l
IGFuZCB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1NUUklORwor
CisvKiBEZWZpbmUgdG8gdGhlIG9uZSBzeW1ib2wgc2hvcnQgbmFtZSBvZiB0aGlzIHBhY2thZ2Uu
ICovCisjdW5kZWYgUEFDS0FHRV9UQVJOQU1FCisKKy8qIERlZmluZSB0byB0aGUgaG9tZSBwYWdl
IGZvciB0aGlzIHBhY2thZ2UuICovCisjdW5kZWYgUEFDS0FHRV9VUkwKKworLyogRGVmaW5lIHRv
IHRoZSB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1ZFUlNJT04K
KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIEFOU0kgQyBoZWFkZXIgZmlsZXMuICov
CisjdW5kZWYgU1REQ19IRUFERVJTCmRpZmYgLS1naXQgYS90b29scy9jb25maWd1cmUgYi90b29s
cy9jb25maWd1cmUKaW5kZXggODk3ZTA2MS4uZDg5MThmZSAxMDA3NTUKLS0tIGEvdG9vbHMvY29u
ZmlndXJlCisrKyBiL3Rvb2xzL2NvbmZpZ3VyZQpAQCAtNTk1LDEyICs1OTUsOCBAQCBhY19pbmNs
dWRlc19kZWZhdWx0PSJcCiAjIGluY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmIgogCi1hY19oZWFk
ZXJfbGlzdD0KLWFjX2Z1bmNfbGlzdD0KIGFjX3N1YnN0X3ZhcnM9J0xUTElCT0JKUwotUE9XX0xJ
QgogTElCT0JKUwotQUxMT0NBCiBsaWJpY29udgogUFRIUkVBRF9MSUJTCiBQVEhSRUFEX0xERkxB
R1MKQEAgLTYxNiw2ICs2MTIsOSBAQCBQS0dfQ09ORklHX0xJQkRJUgogUEtHX0NPTkZJR19QQVRI
CiBQS0dfQ09ORklHCiBDVVJTRVNfTElCUworRUdSRVAKK0dSRVAKK0NQUAogcHljb25maWcKIFBZ
VEhPTlBBVEgKIE9DQU1MQlVJTEQKQEAgLTYzNSw4ICs2MzQsMTMgQEAgSU5TVEFMTF9EQVRBCiBJ
TlNUQUxMX1NDUklQVAogSU5TVEFMTF9QUk9HUkFNCiBTRVRfTUFLRQotTE5fUwotU0VECitPQkpF
WFQKK0VYRUVYVAorYWNfY3RfQ0MKK0NQUEZMQUdTCitMREZMQUdTCitDRkxBR1MKK0NDCiBJQVNM
CiBCQ0MKIExEODYKQEAgLTY2NSwyNCArNjY5LDYgQEAgeGVuYXBpCiB2dHBtCiBtb25pdG9ycwog
Z2l0aHR0cAotaG9zdF9vcwotaG9zdF92ZW5kb3IKLWhvc3RfY3B1Ci1ob3N0Ci1idWlsZF9vcwot
YnVpbGRfdmVuZG9yCi1idWlsZF9jcHUKLWJ1aWxkCi1FR1JFUAotR1JFUAotQ1BQCi1PQkpFWFQK
LUVYRUVYVAotYWNfY3RfQ0MKLUNQUEZMQUdTCi1MREZMQUdTCi1DRkxBR1MKLUNDCiB0YXJnZXRf
YWxpYXMKIGhvc3RfYWxpYXMKIGJ1aWxkX2FsaWFzCkBAIC03NDAsMTIgKzcyNiw2IEBAIGVuYWJs
ZV9kZWJ1ZwogICAgICAgYWNfcHJlY2lvdXNfdmFycz0nYnVpbGRfYWxpYXMKIGhvc3RfYWxpYXMK
IHRhcmdldF9hbGlhcwotQ0MKLUNGTEFHUwotTERGTEFHUwotTElCUwotQ1BQRkxBR1MKLUNQUAog
UFJFUEVORF9JTkNMVURFUwogUFJFUEVORF9MSUIKIEFQUEVORF9JTkNMVURFUwpAQCAtNzYyLDYg
Kzc0MiwxMiBAQCBBUzg2CiBMRDg2CiBCQ0MKIElBU0wKK0NDCitDRkxBR1MKK0xERkxBR1MKK0xJ
QlMKK0NQUEZMQUdTCitDUFAKIFBLR19DT05GSUcKIFBLR19DT05GSUdfUEFUSAogUEtHX0NPTkZJ
R19MSUJESVIKQEAgLTEzNjUsMTAgKzEzNTEsNiBAQCBGaW5lIHR1bmluZyBvZiB0aGUgaW5zdGFs
bGF0aW9uIGRpcmVjdG9yaWVzOgogX0FDRU9GCiAKICAgY2F0IDw8XF9BQ0VPRgotCi1TeXN0ZW0g
dHlwZXM6Ci0gIC0tYnVpbGQ9QlVJTEQgICAgIGNvbmZpZ3VyZSBmb3IgYnVpbGRpbmcgb24gQlVJ
TEQgW2d1ZXNzZWRdCi0gIC0taG9zdD1IT1NUICAgICAgIGNyb3NzLWNvbXBpbGUgdG8gYnVpbGQg
cHJvZ3JhbXMgdG8gcnVuIG9uIEhPU1QgW0JVSUxEXQogX0FDRU9GCiBmaQogCkBAIC0xMzk5LDE0
ICsxMzgxLDYgQEAgT3B0aW9uYWwgRmVhdHVyZXM6CiAgIC0tZGlzYWJsZS1kZWJ1ZyAgICAgICAg
IERpc2FibGUgZGVidWcgYnVpbGQgb2YgdG9vbHMgKGRlZmF1bHQgaXMgRU5BQkxFRCkKIAogU29t
ZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6Ci0gIENDICAgICAgICAgIEMgY29t
cGlsZXIgY29tbWFuZAotICBDRkxBR1MgICAgICBDIGNvbXBpbGVyIGZsYWdzCi0gIExERkxBR1Mg
ICAgIGxpbmtlciBmbGFncywgZS5nLiAtTDxsaWIgZGlyPiBpZiB5b3UgaGF2ZSBsaWJyYXJpZXMg
aW4gYQotICAgICAgICAgICAgICBub25zdGFuZGFyZCBkaXJlY3RvcnkgPGxpYiBkaXI+Ci0gIExJ
QlMgICAgICAgIGxpYnJhcmllcyB0byBwYXNzIHRvIHRoZSBsaW5rZXIsIGUuZy4gLWw8bGlicmFy
eT4KLSAgQ1BQRkxBR1MgICAgKE9iamVjdGl2ZSkgQy9DKysgcHJlcHJvY2Vzc29yIGZsYWdzLCBl
LmcuIC1JPGluY2x1ZGUgZGlyPiBpZgotICAgICAgICAgICAgICB5b3UgaGF2ZSBoZWFkZXJzIGlu
IGEgbm9uc3RhbmRhcmQgZGlyZWN0b3J5IDxpbmNsdWRlIGRpcj4KLSAgQ1BQICAgICAgICAgQyBw
cmVwcm9jZXNzb3IKICAgUFJFUEVORF9JTkNMVURFUwogICAgICAgICAgICAgICBMaXN0IG9mIGlu
Y2x1ZGUgZm9sZGVycyB0byBwcmVwZW5kIHRvIENGTEFHUyAod2l0aG91dCAtSSkKICAgUFJFUEVO
RF9MSUIgTGlzdCBvZiBsaWJyYXJ5IGZvbGRlcnMgdG8gcHJlcGVuZCB0byBMREZMQUdTICh3aXRo
b3V0IC1MKQpAQCAtMTQyNSw2ICsxMzk5LDE0IEBAIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1l
bnQgdmFyaWFibGVzOgogICBMRDg2ICAgICAgICBQYXRoIHRvIGxkODYgdG9vbAogICBCQ0MgICAg
ICAgICBQYXRoIHRvIGJjYyB0b29sCiAgIElBU0wgICAgICAgIFBhdGggdG8gaWFzbCB0b29sCisg
IENDICAgICAgICAgIEMgY29tcGlsZXIgY29tbWFuZAorICBDRkxBR1MgICAgICBDIGNvbXBpbGVy
IGZsYWdzCisgIExERkxBR1MgICAgIGxpbmtlciBmbGFncywgZS5nLiAtTDxsaWIgZGlyPiBpZiB5
b3UgaGF2ZSBsaWJyYXJpZXMgaW4gYQorICAgICAgICAgICAgICBub25zdGFuZGFyZCBkaXJlY3Rv
cnkgPGxpYiBkaXI+CisgIExJQlMgICAgICAgIGxpYnJhcmllcyB0byBwYXNzIHRvIHRoZSBsaW5r
ZXIsIGUuZy4gLWw8bGlicmFyeT4KKyAgQ1BQRkxBR1MgICAgKE9iamVjdGl2ZSkgQy9DKysgcHJl
cHJvY2Vzc29yIGZsYWdzLCBlLmcuIC1JPGluY2x1ZGUgZGlyPiBpZgorICAgICAgICAgICAgICB5
b3UgaGF2ZSBoZWFkZXJzIGluIGEgbm9uc3RhbmRhcmQgZGlyZWN0b3J5IDxpbmNsdWRlIGRpcj4K
KyAgQ1BQICAgICAgICAgQyBwcmVwcm9jZXNzb3IKICAgUEtHX0NPTkZJRyAgcGF0aCB0byBwa2ct
Y29uZmlnIHV0aWxpdHkKICAgUEtHX0NPTkZJR19QQVRICiAgICAgICAgICAgICAgIGRpcmVjdG9y
aWVzIHRvIGFkZCB0byBwa2ctY29uZmlnJ3Mgc2VhcmNoIHBhdGgKQEAgLTE3OTcsMzExICsxNzc5
LDYgQEAgZmkKICAgYXNfZm5fc2V0X3N0YXR1cyAkYWNfcmV0dmFsCiAKIH0gIyBhY19mbl9jX3Ry
eV9saW5rCi0KLSMgYWNfZm5fY19jaGVja19mdW5jIExJTkVOTyBGVU5DIFZBUgotIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFRlc3RzIHdoZXRoZXIgRlVOQyBleGlzdHMs
IHNldHRpbmcgdGhlIGNhY2hlIHZhcmlhYmxlIFZBUiBhY2NvcmRpbmdseQotYWNfZm5fY19jaGVj
a19mdW5jICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3Rh
Y2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJDIiID4mNQotJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICQyLi4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDMrc2V0fVwi
IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNh
dCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVm
cy5oLiAgKi8KLS8qIERlZmluZSAkMiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8
bGltaXRzLmg+IGRlY2xhcmVzICQyLgotICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz
Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCi0jZGVmaW5lICQyIGlubm9jdW91c18kMgot
Ci0vKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg
ZmV3IHByb3RvdHlwZXMsCi0gICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkMiAoKTsg
YmVsb3cuCi0gICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp
cyBkZWZpbmVkLCBzaW5jZQotICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k
aW5nIGNvbXBpbGVycy4gICovCi0KLSNpZmRlZiBfX1NURENfXwotIyBpbmNsdWRlIDxsaW1pdHMu
aD4KLSNlbHNlCi0jIGluY2x1ZGUgPGFzc2VydC5oPgotI2VuZGlmCi0KLSN1bmRlZiAkMgotCi0v
KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K
LSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh
IEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0
aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1j
aGFyICQyICgpOwotLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv
bnMgd2hpY2ggaXQgaW1wbGVtZW50cwotICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAg
U29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCi0gICAgc29tZXRoaW5nIHN0YXJ0aW5n
IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCi0jaWYgZGVmaW5l
ZCBfX3N0dWJfJDIgfHwgZGVmaW5lZCBfX3N0dWJfX18kMgotY2hva2UgbWUKLSNlbmRpZgotCi1p
bnQKLW1haW4gKCkKLXsKLXJldHVybiAkMiAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VP
RgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBldmFsICIkMz15ZXMi
Ci1lbHNlCi0gIGV2YWwgIiQzPW5vIgotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0
ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0
Ci1maQotZXZhbCBhY19yZXM9XCQkMwotCSAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1Ci0kYXNfZWNobyAiJGFjX3JlcyIg
PiY2OyB9Ci0gIGV2YWwgJGFzX2xpbmVub19zdGFjazsgdGVzdCAieCRhc19saW5lbm9fc3RhY2si
ID0geCAmJiB7IGFzX2xpbmVubz07IHVuc2V0IGFzX2xpbmVubzt9Ci0KLX0gIyBhY19mbl9jX2No
ZWNrX2Z1bmMKLQotIyBhY19mbl9jX2NoZWNrX3R5cGUgTElORU5PIFRZUEUgVkFSIElOQ0xVREVT
Ci0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgVGVzdHMg
d2hldGhlciBUWVBFIGV4aXN0cyBhZnRlciBoYXZpbmcgaW5jbHVkZWQgSU5DTFVERVMsIHNldHRp
bmcgY2FjaGUKLSMgdmFyaWFibGUgVkFSIGFjY29yZGluZ2x5LgotYWNfZm5fY19jaGVja190eXBl
ICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNf
bGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJDIiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tp
bmcgZm9yICQyLi4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDMrc2V0fVwiIiA9IHNl
dDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGV2YWwgIiQz
PW5vIgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBl
bmQgY29uZmRlZnMuaC4gICovCi0kNAotaW50Ci1tYWluICgpCi17Ci1pZiAoc2l6ZW9mICgkMikp
Ci0JIHJldHVybiAwOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3Ry
eV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0Yg
PmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSQ0Ci1pbnQKLW1haW4g
KCkKLXsKLWlmIChzaXplb2YgKCgkMikpKQotCSAgICByZXR1cm4gMDsKLSAgOwotICByZXR1cm4g
MDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgot
Ci1lbHNlCi0gIGV2YWwgIiQzPXllcyIKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m
dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0
LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ldmFsIGFjX3Jl
cz1cJCQzCi0JICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiAkYWNfcmVzIiA+JjUKLSRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KLSAgZXZhbCAk
YXNfbGluZW5vX3N0YWNrOyB0ZXN0ICJ4JGFzX2xpbmVub19zdGFjayIgPSB4ICYmIHsgYXNfbGlu
ZW5vPTsgdW5zZXQgYXNfbGluZW5vO30KLQotfSAjIGFjX2ZuX2NfY2hlY2tfdHlwZQotCi0jIGFj
X2ZuX2NfZmluZF9pbnRYX3QgTElORU5PIEJJVFMgVkFSCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0jIEZpbmRzIGEgc2lnbmVkIGludGVnZXIgdHlwZSB3aXRoIHdpZHRo
IEJJVFMsIHNldHRpbmcgY2FjaGUgdmFyaWFibGUgVkFSCi0jIGFjY29yZGluZ2x5LgotYWNfZm5f
Y19maW5kX2ludFhfdCAoKQotewotICBhc19saW5lbm89JHthc19saW5lbm8tIiQxIn0gYXNfbGlu
ZW5vX3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGluZW5vX3N0YWNrCi0gIHsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGludCQyX3QiID4mNQot
JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGludCQyX3QuLi4gIiA+JjY7IH0KLWlmIGV2YWwgInRl
c3QgXCJcJHskMytzZXR9XCIiID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkg
IiA+JjYKLWVsc2UKLSAgZXZhbCAiJDM9bm8iCi0gICAgICMgT3JkZXIgaXMgaW1wb3J0YW50IC0g
bmV2ZXIgY2hlY2sgYSB0eXBlIHRoYXQgaXMgcG90ZW50aWFsbHkgc21hbGxlcgotICAgICAjIHRo
YW4gaGFsZiBvZiB0aGUgZXhwZWN0ZWQgdGFyZ2V0IHdpZHRoLgotICAgICBmb3IgYWNfdHlwZSBp
biBpbnQkMl90ICdpbnQnICdsb25nIGludCcgXAotCSAnbG9uZyBsb25nIGludCcgJ3Nob3J0IGlu
dCcgJ3NpZ25lZCBjaGFyJzsgZG8KLSAgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5j
b25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0kYWNfaW5jbHVkZXNfZGVm
YXVsdAotCSAgICAgZW51bSB7IE4gPSAkMiAvIDIgLSAxIH07Ci1pbnQKLW1haW4gKCkKLXsKLXN0
YXRpYyBpbnQgdGVzdF9hcnJheSBbMSAtIDIgKiAhKDAgPCAoJGFjX3R5cGUpICgoKCgoJGFjX3R5
cGUpIDEgPDwgTikgPDwgTikgLSAxKSAqIDIgKyAxKSldOwotdGVzdF9hcnJheSBbMF0gPSAwCi0K
LSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJ
TkVOTyI7IHRoZW4gOgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNf
ZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0kYWNfaW5jbHVkZXNfZGVmYXVsdAotCSAgICAg
ICAgZW51bSB7IE4gPSAkMiAvIDIgLSAxIH07Ci1pbnQKLW1haW4gKCkKLXsKLXN0YXRpYyBpbnQg
dGVzdF9hcnJheSBbMSAtIDIgKiAhKCgkYWNfdHlwZSkgKCgoKCgkYWNfdHlwZSkgMSA8PCBOKSA8
PCBOKSAtIDEpICogMiArIDEpCi0JCSA8ICgkYWNfdHlwZSkgKCgoKCgkYWNfdHlwZSkgMSA8PCBO
KSA8PCBOKSAtIDEpICogMiArIDIpKV07Ci10ZXN0X2FycmF5IFswXSA9IDAKLQotICA7Ci0gIHJl
dHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhl
biA6Ci0KLWVsc2UKLSAgY2FzZSAkYWNfdHlwZSBpbiAjKAotICBpbnQkMl90KSA6Ci0gICAgZXZh
bCAiJDM9eWVzIiA7OyAjKAotICAqKSA6Ci0gICAgZXZhbCAiJDM9XCRhY190eXBlIiA7OwotZXNh
YwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRl
c3QuJGFjX2V4dAotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpl
eHQgY29uZnRlc3QuJGFjX2V4dAotICAgICAgIGlmIGV2YWwgdGVzdCBcInhcJCIkMyJcIiA9IHgi
bm8iOyB0aGVuIDoKLQotZWxzZQotICBicmVhawotZmkKLSAgICAgZG9uZQotZmkKLWV2YWwgYWNf
cmVzPVwkJDMKLQkgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiByZXN1bHQ6ICRhY19yZXMiID4mNQotJGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQotICBldmFs
ICRhc19saW5lbm9fc3RhY2s7IHRlc3QgIngkYXNfbGluZW5vX3N0YWNrIiA9IHggJiYgeyBhc19s
aW5lbm89OyB1bnNldCBhc19saW5lbm87fQotCi19ICMgYWNfZm5fY19maW5kX2ludFhfdAotCi0j
IGFjX2ZuX2NfY2hlY2tfbWVtYmVyIExJTkVOTyBBR0dSIE1FTUJFUiBWQVIgSU5DTFVERVMKLSMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBU
cmllcyB0byBmaW5kIGlmIHRoZSBmaWVsZCBNRU1CRVIgZXhpc3RzIGluIHR5cGUgQUdHUiwgYWZ0
ZXIgaW5jbHVkaW5nCi0jIElOQ0xVREVTLCBzZXR0aW5nIGNhY2hlIHZhcmlhYmxlIFZBUiBhY2Nv
cmRpbmdseS4KLWFjX2ZuX2NfY2hlY2tfbWVtYmVyICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xp
bmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3Rh
Y2sKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm
b3IgJDIuJDMiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICQyLiQzLi4uICIgPiY2OyB9
Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDQrc2V0fVwiIiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNv
bmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSQ1Ci1pbnQKLW1haW4gKCkK
LXsKLXN0YXRpYyAkMiBhY19hZ2dyOwotaWYgKGFjX2FnZ3IuJDMpCi1yZXR1cm4gMDsKLSAgOwot
ICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7
IHRoZW4gOgotICBldmFsICIkND15ZXMiCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSQ1Ci1pbnQKLW1h
aW4gKCkKLXsKLXN0YXRpYyAkMiBhY19hZ2dyOwotaWYgKHNpemVvZiBhY19hZ2dyLiQzKQotcmV0
dXJuIDA7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBp
bGUgIiRMSU5FTk8iOyB0aGVuIDoKLSAgZXZhbCAiJDQ9eWVzIgotZWxzZQotICBldmFsICIkND1u
byIKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0
ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2Jq
ZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ldmFsIGFjX3Jlcz1cJCQ0Ci0JICAgICAgIHsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUK
LSRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KLSAgZXZhbCAkYXNfbGluZW5vX3N0YWNrOyB0ZXN0
ICJ4JGFzX2xpbmVub19zdGFjayIgPSB4ICYmIHsgYXNfbGluZW5vPTsgdW5zZXQgYXNfbGluZW5v
O30KLQotfSAjIGFjX2ZuX2NfY2hlY2tfbWVtYmVyCi0KLSMgYWNfZm5fY19maW5kX3VpbnRYX3Qg
TElORU5PIEJJVFMgVkFSCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
IyBGaW5kcyBhbiB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUgd2l0aCB3aWR0aCBCSVRTLCBzZXR0aW5n
IGNhY2hlIHZhcmlhYmxlIFZBUgotIyBhY2NvcmRpbmdseS4KLWFjX2ZuX2NfZmluZF91aW50WF90
ICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNf
bGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgdWludCQyX3QiID4mNQotJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yIHVpbnQkMl90Li4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JDMr
c2V0fVwiIiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNl
Ci0gIGV2YWwgIiQzPW5vIgotICAgICAjIE9yZGVyIGlzIGltcG9ydGFudCAtIG5ldmVyIGNoZWNr
IGEgdHlwZSB0aGF0IGlzIHBvdGVudGlhbGx5IHNtYWxsZXIKLSAgICAgIyB0aGFuIGhhbGYgb2Yg
dGhlIGV4cGVjdGVkIHRhcmdldCB3aWR0aC4KLSAgICAgZm9yIGFjX3R5cGUgaW4gdWludCQyX3Qg
J3Vuc2lnbmVkIGludCcgJ3Vuc2lnbmVkIGxvbmcgaW50JyBcCi0JICd1bnNpZ25lZCBsb25nIGxv
bmcgaW50JyAndW5zaWduZWQgc2hvcnQgaW50JyAndW5zaWduZWQgY2hhcic7IGRvCi0gICAgICAg
Y2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZk
ZWZzLmguICAqLwotJGFjX2luY2x1ZGVzX2RlZmF1bHQKLWludAotbWFpbiAoKQotewotc3RhdGlj
IGludCB0ZXN0X2FycmF5IFsxIC0gMiAqICEoKCgkYWNfdHlwZSkgLTEgPj4gKCQyIC8gMiAtIDEp
KSA+PiAoJDIgLyAyIC0gMSkgPT0gMyldOwotdGVzdF9hcnJheSBbMF0gPSAwCi0KLSAgOwotICBy
ZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRo
ZW4gOgotICBjYXNlICRhY190eXBlIGluICMoCi0gIHVpbnQkMl90KSA6Ci0gICAgZXZhbCAiJDM9
eWVzIiA7OyAjKAotICAqKSA6Ci0gICAgZXZhbCAiJDM9XCRhY190eXBlIiA7OwotZXNhYwotZmkK
LXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFj
X2V4dAotICAgICAgIGlmIGV2YWwgdGVzdCBcInhcJCIkMyJcIiA9IHgibm8iOyB0aGVuIDoKLQot
ZWxzZQotICBicmVhawotZmkKLSAgICAgZG9uZQotZmkKLWV2YWwgYWNfcmVzPVwkJDMKLQkgICAg
ICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19y
ZXMiID4mNQotJGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQotICBldmFsICRhc19saW5lbm9fc3Rh
Y2s7IHRlc3QgIngkYXNfbGluZW5vX3N0YWNrIiA9IHggJiYgeyBhc19saW5lbm89OyB1bnNldCBh
c19saW5lbm87fQotCi19ICMgYWNfZm5fY19maW5kX3VpbnRYX3QKIGNhdCA+Y29uZmlnLmxvZyA8
PF9BQ0VPRgogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21w
aWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZp
Z3VyZSBtYWtlcyBhIG1pc3Rha2UuCkBAIC0yMzg2LDExICsyMDYzLDYgQEAgJGFzX2VjaG8gIiRh
c19tZTogY3JlYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNjt9CiAgID4kY2FjaGVfZmlsZQog
ZmkKIAotYXNfZm5fYXBwZW5kIGFjX2hlYWRlcl9saXN0ICIgc3lzL3RpbWUuaCIKLWFzX2ZuX2Fw
cGVuZCBhY19oZWFkZXJfbGlzdCAiIHVuaXN0ZC5oIgotYXNfZm5fYXBwZW5kIGFjX2Z1bmNfbGlz
dCAiIGFsYXJtIgotYXNfZm5fYXBwZW5kIGFjX2hlYWRlcl9saXN0ICIgc3RkbGliLmgiCi1hc19m
bl9hcHBlbmQgYWNfaGVhZGVyX2xpc3QgIiBzeXMvcGFyYW0uaCIKICMgQ2hlY2sgdGhhdCB0aGUg
cHJlY2lvdXMgdmFyaWFibGVzIHNhdmVkIGluIHRoZSBjYWNoZSBoYXZlIGtlcHQgdGhlIHNhbWUK
ICMgdmFsdWUuCiBhY19jYWNoZV9jb3JydXB0ZWQ9ZmFsc2UKQEAgLTI1MDgsMTczMCArMjE4MCw0
MCBAQCBBUFBFTkRfSU5DTFVERVMgYW5kIEFQUEVORF9MSUIgaW5zdGVhZCB3aGVuIHBvc3NpYmxl
LiIgPiYyO30KIAogZmkKIAotYWNfZXh0PWMKLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCi1hY19j
b21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi1h
Y19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZM
QUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JwotYWNfY29tcGlsZXJfZ251PSRhY19jdl9j
X2NvbXBpbGVyX2dudQotaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4
dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9Z2NjIiwgc28gaXQgY2Fu
IGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4
fWdjYzsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRh
Y193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7
IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1u
ICIkQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9S
Ci1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXog
IiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVj
dXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7
IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX0NDPSIke2FjX3Rvb2xfcHJlZml4fWdjYyIKLSAgICAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBicmVhayAyCi0gIGZpCi1kb25lCi0gIGRvbmUKLUlG
Uz0kYXNfc2F2ZV9JRlMKLQotZmkKLWZpCi1DQz0kYWNfY3ZfcHJvZ19DQwotaWYgdGVzdCAtbiAi
JENDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJENDIiA+JjUKLSRhc19lY2hvICIkQ0MiID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8g
Im5vIiA+JjY7IH0KLWZpCi0KLQotZmkKLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX0NDIjsgdGhl
bgotICBhY19jdF9DQz0kQ0MKLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJnY2MiLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGdjYzsgYWNf
d29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4u
ICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIgPSBzZXQ7IHRo
ZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1uICIk
YWNfY3RfQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19jdF9DQyIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0kSUZTOyBJRlM9
JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3NhdmVf
SUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0
IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFz
X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29y
ZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSJnY2MiCi0g
ICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0gICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25l
Ci1JRlM9JGFzX3NhdmVfSUZTCi0KLWZpCi1maQotYWNfY3RfQ0M9JGFjX2N2X3Byb2dfYWNfY3Rf
Q0MKLWlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9DQyIgPiY1Ci0kYXNfZWNobyAiJGFj
X2N0X0NDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIgPiY2OyB9Ci1maQotCi0gIGlm
IHRlc3QgIngkYWNfY3RfQ0MiID0geDsgdGhlbgotICAgIENDPSIiCi0gIGVsc2UKLSAgICBjYXNl
ICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBu
b3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19tZTogV0FS
TklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+
JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7Ci1lc2FjCi0gICAgQ0M9JGFjX2N0X0NDCi0gIGZp
Ci1lbHNlCi0gIENDPSIkYWNfY3ZfcHJvZ19DQyIKLWZpCi0KLWlmIHRlc3QgLXogIiRDQyI7IHRo
ZW4KLSAgICAgICAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWNjIiwgc28gaXQgY2Fu
IGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4
fWNjOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsg
dGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4g
IiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Y2MiCi0gICAgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29y
ZCRhY19leGVjX2V4dCIgPiY1Ci0gICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9
JGFzX3NhdmVfSUZTCi0KLWZpCi1maQotQ0M9JGFjX2N2X3Byb2dfQ0MKLWlmIHRlc3QgLW4gIiRD
QyI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6ICRDQyIgPiY1Ci0kYXNfZWNobyAiJENDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJu
byIgPiY2OyB9Ci1maQotCi0KLSAgZmkKLWZpCi1pZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCi0gICMg
RXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5h
bWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGNjOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNf
ZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNf
Y3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJEND
IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLSAgYWNfcHJvZ19yZWpl
Y3RlZD1ubwotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgotZm9yIGFzX2Rp
ciBpbiAkUEFUSAotZG8KLSAgSUZTPSRhc19zYXZlX0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAm
JiBhc19kaXI9LgotICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRl
bnNpb25zOyBkbwotICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi
ICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0g
ICAgaWYgdGVzdCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPSAiL3Vzci91Y2IvY2Mi
OyB0aGVuCi0gICAgICAgYWNfcHJvZ19yZWplY3RlZD15ZXMKLSAgICAgICBjb250aW51ZQotICAg
ICBmaQotICAgIGFjX2N2X3Byb2dfQ0M9ImNjIgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQot
ICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUwotCi1pZiB0
ZXN0ICRhY19wcm9nX3JlamVjdGVkID0geWVzOyB0aGVuCi0gICMgV2UgZm91bmQgYSBib2dvbiBp
biB0aGUgcGF0aCwgc28gbWFrZSBzdXJlIHdlIG5ldmVyIHVzZSBpdC4KLSAgc2V0IGR1bW15ICRh
Y19jdl9wcm9nX0NDCi0gIHNoaWZ0Ci0gIGlmIHRlc3QgJCMgIT0gMDsgdGhlbgotICAgICMgV2Ug
Y2hvc2UgYSBkaWZmZXJlbnQgY29tcGlsZXIgZnJvbSB0aGUgYm9ndXMgb25lLgotICAgICMgSG93
ZXZlciwgaXQgaGFzIHRoZSBzYW1lIGJhc2VuYW1lLCBzbyB0aGUgYm9nb24gd2lsbCBiZSBjaG9z
ZW4KLSAgICAjIGZpcnN0IGlmIHdlIHNldCBDQyB0byBqdXN0IHRoZSBiYXNlbmFtZTsgdXNlIHRo
ZSBmdWxsIGZpbGUgbmFtZS4KLSAgICBzaGlmdAotICAgIGFjX2N2X3Byb2dfQ0M9IiRhc19kaXIv
JGFjX3dvcmQkezErJyAnfSRAIgotICBmaQotZmkKLWZpCi1maQotQ0M9JGFjX2N2X3Byb2dfQ0MK
LWlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRDQyIgPiY1Ci0kYXNfZWNobyAiJENDIiA+JjY7IH0KLWVsc2UK
LSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+
JjUKLSRhc19lY2hvICJubyIgPiY2OyB9Ci1maQotCi0KLWZpCi1pZiB0ZXN0IC16ICIkQ0MiOyB0
aGVuCi0gIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgZm9yIGFjX3Byb2cg
aW4gY2wuZXhlCi0gIGRvCi0gICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfdG9v
bF9wcmVmaXgkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3Mu
Ci1zZXQgZHVtbXkgJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2c7IGFjX3dvcmQ9JDIKLXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+
JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNh
Y2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgotICBhY19jdl9wcm9n
X0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2
ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgotZm9yIGFzX2RpciBpbiAkUEFUSAotZG8K
LSAgSUZTPSRhc19zYXZlX0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAg
IGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICBp
ZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3gg
IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcHJvZ19D
Qz0iJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0g
ICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCi0KLWZpCi1m
aQotQ0M9JGFjX2N2X3Byb2dfQ0MKLWlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KLSAgeyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDQyIgPiY1Ci0kYXNfZWNo
byAiJENDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIgPiY2OyB9Ci1maQotCi0KLSAg
ICB0ZXN0IC1uICIkQ0MiICYmIGJyZWFrCi0gIGRvbmUKLWZpCi1pZiB0ZXN0IC16ICIkQ0MiOyB0
aGVuCi0gIGFjX2N0X0NDPSRDQwotICBmb3IgYWNfcHJvZyBpbiBjbC5leGUKLWRvCi0gICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFt
IG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9DQytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4K
LSAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX2N0X0NDIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19wcm9nIgotICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19z
YXZlX0lGUwotCi1maQotZmkKLWFjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCi1pZiB0ZXN0
IC1uICIkYWNfY3RfQ0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQotJGFzX2VjaG8gIiRhY19jdF9DQyIgPiY2
OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz
dWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKLQotCi0gIHRlc3QgLW4gIiRh
Y19jdF9DQyIgJiYgYnJlYWsKLWRvbmUKLQotICBpZiB0ZXN0ICJ4JGFjX2N0X0NDIiA9IHg7IHRo
ZW4KLSAgICBDQz0iIgotICBlbHNlCi0gICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29s
X3dhcm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlw
bGV0IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5v
dCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KLWFjX3Rvb2xfd2FybmVkPXllcyA7
OwotZXNhYwotICAgIENDPSRhY19jdF9DQwotICBmaQotZmkKLQotZmkKLQotCi10ZXN0IC16ICIk
Q0MiICYmIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjog
aW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3
ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8gIm5vIGFjY2VwdGFibGUgQyBjb21waWxlciBmb3Vu
ZCBpbiBcJFBBVEgKLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5P
IiA1IDsgfQotCi0jIFByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tcGlsZXIu
Ci0kYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgQyBj
b21waWxlciB2ZXJzaW9uIiA+JjUKLXNldCBYICRhY19jb21waWxlCi1hY19jb21waWxlcj0kMgot
Zm9yIGFjX29wdGlvbiBpbiAtLXZlcnNpb24gLXYgLVYgLXF2ZXJzaW9uOyBkbwotICB7IHsgYWNf
dHJ5PSIkYWNfY29tcGlsZXIgJGFjX29wdGlvbiA+JjUiCi1jYXNlICIoKCRhY190cnkiIGluCi0g
ICpcIiogfCAqXGAqIHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OwotICAqKSBhY190cnlf
ZWNobz0kYWNfdHJ5OzsKLWVzYWMKLWV2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogJGFjX3RyeV9lY2hvXCIiCi0kYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsg
fSA+JjUKLSAgKGV2YWwgIiRhY19jb21waWxlciAkYWNfb3B0aW9uID4mNSIpIDI+Y29uZnRlc3Qu
ZXJyCi0gIGFjX3N0YXR1cz0kPwotICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgotICAg
IHNlZCAnMTBhXAotLi4uIHJlc3Qgb2Ygc3RkZXJyIG91dHB1dCBkZWxldGVkIC4uLgotICAgICAg
ICAgMTBxJyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMQotICAgIGNhdCBjb25mdGVzdC5lcjEg
PiY1Ci0gIGZpCi0gIHJtIC1mIGNvbmZ0ZXN0LmVyMSBjb25mdGVzdC5lcnIKLSAgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1Ci0gIHRl
c3QgJGFjX3N0YXR1cyA9IDA7IH0KLWRvbmUKLQotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+
Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotCi1pbnQKLW1haW4gKCkK
LXsKLQotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1hY19jbGVhbl9maWxlc19zYXZlPSRh
Y19jbGVhbl9maWxlcwotYWNfY2xlYW5fZmlsZXM9IiRhY19jbGVhbl9maWxlcyBhLm91dCBhLm91
dC5kU1lNIGEuZXhlIGIub3V0IgotIyBUcnkgdG8gY3JlYXRlIGFuIGV4ZWN1dGFibGUgd2l0aG91
dCAtbyBmaXJzdCwgZGlzcmVnYXJkIGEub3V0LgotIyBJdCB3aWxsIGhlbHAgdXMgZGlhZ25vc2Ug
YnJva2VuIGNvbXBpbGVycywgYW5kIGZpbmRpbmcgb3V0IGFuIGludHVpdGlvbgotIyBvZiBleGVl
eHQuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdo
ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hl
dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiAiID4mNjsgfQotYWNfbGlua19kZWZhdWx0PWAk
YXNfZWNobyAiJGFjX2xpbmsiIHwgc2VkICdzLyAtbyAqY29uZnRlc3RbXiBdKi8vJ2AKLQotIyBU
aGUgcG9zc2libGUgb3V0cHV0IGZpbGVzOgotYWNfZmlsZXM9ImEub3V0IGNvbmZ0ZXN0LmV4ZSBj
b25mdGVzdCBhLmV4ZSBhX291dC5leGUgYi5vdXQgY29uZnRlc3QuKiIKLQotYWNfcm1maWxlcz0K
LWZvciBhY19maWxlIGluICRhY19maWxlcwotZG8KLSAgY2FzZSAkYWNfZmlsZSBpbgotICAgICou
JGFjX2V4dCB8ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8
ICouYmJnIHwgKi5tYXAgfCAqLmluZiB8ICouZFNZTSB8ICoubyB8ICoub2JqICkgOzsKLSAgICAq
ICkgYWNfcm1maWxlcz0iJGFjX3JtZmlsZXMgJGFjX2ZpbGUiOzsKLSAgZXNhYwotZG9uZQotcm0g
LWYgJGFjX3JtZmlsZXMKLQotaWYgeyB7IGFjX3RyeT0iJGFjX2xpbmtfZGVmYXVsdCIKLWNhc2Ug
IigoJGFjX3RyeSIgaW4KLSAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3Ry
eTs7Ci0gICopIGFjX3RyeV9lY2hvPSRhY190cnk7OwotZXNhYwotZXZhbCBhY190cnlfZWNobz0i
XCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKLSRhc19lY2hv
ICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQotICAoZXZhbCAiJGFjX2xpbmtfZGVmYXVsdCIpIDI+JjUK
LSAgYWNfc3RhdHVzPSQ/Ci0gICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IFwkPyA9ICRhY19zdGF0dXMiID4mNQotICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuIDoK
LSAgIyBBdXRvY29uZi0yLjEzIGNvdWxkIHNldCB0aGUgYWNfY3ZfZXhlZXh0IHZhcmlhYmxlIHRv
IGBubycuCi0jIFNvIGlnbm9yZSBhIHZhbHVlIG9mIGBubycsIG90aGVyd2lzZSB0aGlzIHdvdWxk
IGxlYWQgdG8gYEVYRUVYVCA9IG5vJwotIyBpbiBhIE1ha2VmaWxlLiAgV2Ugc2hvdWxkIG5vdCBv
dmVycmlkZSBhY19jdl9leGVleHQgaWYgaXQgd2FzIGNhY2hlZCwKLSMgc28gdGhhdCB0aGUgdXNl
ciBjYW4gc2hvcnQtY2lyY3VpdCB0aGlzIHRlc3QgZm9yIGNvbXBpbGVycyB1bmtub3duIHRvCi0j
IEF1dG9jb25mLgotZm9yIGFjX2ZpbGUgaW4gJGFjX2ZpbGVzICcnCi1kbwotICB0ZXN0IC1mICIk
YWNfZmlsZSIgfHwgY29udGludWUKLSAgY2FzZSAkYWNfZmlsZSBpbgotICAgICouJGFjX2V4dCB8
ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8ICouYmJnIHwg
Ki5tYXAgfCAqLmluZiB8ICouZFNZTSB8ICoubyB8ICoub2JqICkKLQk7OwotICAgIFthYl0ub3V0
ICkKLQkjIFdlIGZvdW5kIHRoZSBkZWZhdWx0IGV4ZWN1dGFibGUsIGJ1dCBleGVleHQ9JycgaXMg
bW9zdAotCSMgY2VydGFpbmx5IHJpZ2h0LgotCWJyZWFrOzsKLSAgICAqLiogKQotCWlmIHRlc3Qg
IiR7YWNfY3ZfZXhlZXh0K3NldH0iID0gc2V0ICYmIHRlc3QgIiRhY19jdl9leGVleHQiICE9IG5v
OwotCXRoZW4gOjsgZWxzZQotCSAgIGFjX2N2X2V4ZWV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJ1te
Ll0qXChcLi4qXCknYAotCWZpCi0JIyBXZSBzZXQgYWNfY3ZfZXhlZXh0IGhlcmUgYmVjYXVzZSB0
aGUgbGF0ZXIgdGVzdCBmb3IgaXQgaXMgbm90Ci0JIyBzYWZlOiBjcm9zcyBjb21waWxlcnMgbWF5
IG5vdCBhZGQgdGhlIHN1ZmZpeCBpZiBnaXZlbiBhbiBgLW8nCi0JIyBhcmd1bWVudCwgc28gd2Ug
bWF5IG5lZWQgdG8ga25vdyBpdCBhdCB0aGF0IHBvaW50IGFscmVhZHkuCi0JIyBFdmVuIGlmIHRo
aXMgc2VjdGlvbiBsb29rcyBjcnVmdHk6IGl0IGhhcyB0aGUgYWR2YW50YWdlIG9mCi0JIyBhY3R1
YWxseSB3b3JraW5nLgotCWJyZWFrOzsKLSAgICAqICkKLQlicmVhazs7Ci0gIGVzYWMKLWRvbmUK
LXRlc3QgIiRhY19jdl9leGVleHQiID0gbm8gJiYgYWNfY3ZfZXhlZXh0PQotCi1lbHNlCi0gIGFj
X2ZpbGU9JycKLWZpCi1pZiB0ZXN0IC16ICIkYWNfZmlsZSI7IHRoZW4gOgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8g
Im5vIiA+JjY7IH0KLSRhc19lY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQot
c2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQotCi17IHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKLSRhc19l
Y2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KLWFzX2ZuX2Vycm9yIDc3
ICJDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKLVNlZSBcYGNvbmZpZy5sb2cn
IGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQotZWxzZQotICB7ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5
ZXMiID4mNjsgfQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lIiA+JjUKLSRh
c19lY2hvX24gImNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt
ZS4uLiAiID4mNjsgfQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6ICRhY19maWxlIiA+JjUKLSRhc19lY2hvICIkYWNfZmlsZSIgPiY2OyB9Ci1hY19leGVl
eHQ9JGFjX2N2X2V4ZWV4dAotCi1ybSAtZiAtciBhLm91dCBhLm91dC5kU1lNIGEuZXhlIGNvbmZ0
ZXN0JGFjX2N2X2V4ZWV4dCBiLm91dAotYWNfY2xlYW5fZmlsZXM9JGFjX2NsZWFuX2ZpbGVzX3Nh
dmUKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9y
IHN1ZmZpeCBvZiBleGVjdXRhYmxlcyIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3Igc3Vm
Zml4IG9mIGV4ZWN1dGFibGVzLi4uICIgPiY2OyB9Ci1pZiB7IHsgYWNfdHJ5PSIkYWNfbGluayIK
LWNhc2UgIigoJGFjX3RyeSIgaW4KLSAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1c
JGFjX3RyeTs7Ci0gICopIGFjX3RyeV9lY2hvPSRhY190cnk7OwotZXNhYwotZXZhbCBhY190cnlf
ZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKLSRh
c19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQotICAoZXZhbCAiJGFjX2xpbmsiKSAyPiY1Ci0g
IGFjX3N0YXR1cz0kPwotICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBc
JD8gPSAkYWNfc3RhdHVzIiA+JjUKLSAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbiA6Ci0g
ICMgSWYgYm90aCBgY29uZnRlc3QuZXhlJyBhbmQgYGNvbmZ0ZXN0JyBhcmUgYHByZXNlbnQnICh3
ZWxsLCBvYnNlcnZhYmxlKQotIyBjYXRjaCBgY29uZnRlc3QuZXhlJy4gIEZvciBpbnN0YW5jZSB3
aXRoIEN5Z3dpbiwgYGxzIGNvbmZ0ZXN0JyB3aWxsCi0jIHdvcmsgcHJvcGVybHkgKGkuZS4sIHJl
ZmVyIHRvIGBjb25mdGVzdC5leGUnKSwgd2hpbGUgaXQgd29uJ3Qgd2l0aAotIyBgcm0nLgotZm9y
IGFjX2ZpbGUgaW4gY29uZnRlc3QuZXhlIGNvbmZ0ZXN0IGNvbmZ0ZXN0Lio7IGRvCi0gIHRlc3Qg
LWYgIiRhY19maWxlIiB8fCBjb250aW51ZQotICBjYXNlICRhY19maWxlIGluCi0gICAgKi4kYWNf
ZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5i
YmcgfCAqLm1hcCB8ICouaW5mIHwgKi5kU1lNIHwgKi5vIHwgKi5vYmogKSA7OwotICAgICouKiAp
IGFjX2N2X2V4ZWV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJ1teLl0qXChcLi4qXCknYAotCSAgYnJl
YWs7OwotICAgICogKSBicmVhazs7Ci0gIGVzYWMKLWRvbmUKLWVsc2UKLSAgeyB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1
Ci0kYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Ci1hc19mbl9l
cnJvciAkPyAiY2Fubm90IGNvbXB1dGUgc3VmZml4IG9mIGV4ZWN1dGFibGVzOiBjYW5ub3QgY29t
cGlsZSBhbmQgbGluawotU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5F
Tk8iIDUgOyB9Ci1maQotcm0gLWYgY29uZnRlc3QgY29uZnRlc3QkYWNfY3ZfZXhlZXh0Ci17ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2V4ZWV4
dCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2V4ZWV4dCIgPiY2OyB9Ci0KLXJtIC1mIGNvbmZ0ZXN0
LiRhY19leHQKLUVYRUVYVD0kYWNfY3ZfZXhlZXh0Ci1hY19leGVleHQ9JEVYRUVYVAotY2F0IGNv
bmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmgu
ICAqLwotI2luY2x1ZGUgPHN0ZGlvLmg+Ci1pbnQKLW1haW4gKCkKLXsKLUZJTEUgKmYgPSBmb3Bl
biAoImNvbmZ0ZXN0Lm91dCIsICJ3Iik7Ci0gcmV0dXJuIGZlcnJvciAoZikgfHwgZmNsb3NlIChm
KSAhPSAwOwotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWFjX2NsZWFuX2ZpbGVzPSIk
YWNfY2xlYW5fZmlsZXMgY29uZnRlc3Qub3V0IgotIyBDaGVjayB0aGF0IHRoZSBjb21waWxlciBw
cm9kdWNlcyBleGVjdXRhYmxlcyB3ZSBjYW4gcnVuLiAgSWYgbm90LCBlaXRoZXIKLSMgdGhlIGNv
bXBpbGVyIGlzIGJyb2tlbiwgb3Igd2UgY3Jvc3MgY29tcGlsZS4KLXsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t
cGlsaW5nIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv
bXBpbGluZy4uLiAiID4mNjsgfQotaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgIT0geWVzOyB0
aGVuCi0gIHsgeyBhY190cnk9IiRhY19saW5rIgotY2FzZSAiKCgkYWNfdHJ5IiBpbgotICAqXCIq
IHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKLSAgKikgYWNfdHJ5X2VjaG89
JGFjX3RyeTs7Ci1lc2FjCi1ldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306ICRhY190cnlfZWNob1wiIgotJGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1
Ci0gIChldmFsICIkYWNfbGluayIpIDI+JjUKLSAgYWNfc3RhdHVzPSQ/Ci0gICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQotICB0ZXN0
ICRhY19zdGF0dXMgPSAwOyB9Ci0gIGlmIHsgYWNfdHJ5PScuL2NvbmZ0ZXN0JGFjX2N2X2V4ZWV4
dCcKLSAgeyB7IGNhc2UgIigoJGFjX3RyeSIgaW4KLSAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190
cnlfZWNobz1cJGFjX3RyeTs7Ci0gICopIGFjX3RyeV9lY2hvPSRhY190cnk7OwotZXNhYwotZXZh
bCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2Vj
aG9cIiIKLSRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQotICAoZXZhbCAiJGFjX3RyeSIp
IDI+JjUKLSAgYWNfc3RhdHVzPSQ/Ci0gICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQotICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB9
OyB0aGVuCi0gICAgY3Jvc3NfY29tcGlsaW5nPW5vCi0gIGVsc2UKLSAgICBpZiB0ZXN0ICIkY3Jv
c3NfY29tcGlsaW5nIiA9IG1heWJlOyB0aGVuCi0JY3Jvc3NfY29tcGlsaW5nPXllcwotICAgIGVs
c2UKLQl7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGlu
IFxgJGFjX3B3ZCc6IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2Qn
OiIgPiYyO30KLWFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgcnVuIEMgY29tcGlsZWQgcHJvZ3JhbXMu
Ci1JZiB5b3UgbWVhbnQgdG8gY3Jvc3MgY29tcGlsZSwgdXNlIFxgLS1ob3N0Jy4KLVNlZSBcYGNv
bmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQotICAgIGZpCi0gIGZp
Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRj
cm9zc19jb21waWxpbmciID4mNQotJGFzX2VjaG8gIiRjcm9zc19jb21waWxpbmciID4mNjsgfQot
Ci1ybSAtZiBjb25mdGVzdC4kYWNfZXh0IGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCBjb25mdGVzdC5v
dXQKLWFjX2NsZWFuX2ZpbGVzPSRhY19jbGVhbl9maWxlc19zYXZlCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp
bGVzIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVz
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X29iamV4dCtzZXR9IiA9IHNldDsgdGhlbiA6
Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0g
PDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLQotaW50
Ci1tYWluICgpCi17Ci0KLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotcm0gLWYgY29uZnRl
c3QubyBjb25mdGVzdC5vYmoKLWlmIHsgeyBhY190cnk9IiRhY19jb21waWxlIgotY2FzZSAiKCgk
YWNfdHJ5IiBpbgotICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsK
LSAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Ci1lc2FjCi1ldmFsIGFjX3RyeV9lY2hvPSJcIlwk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgotJGFzX2VjaG8gIiRh
Y190cnlfZWNobyI7IH0gPiY1Ci0gIChldmFsICIkYWNfY29tcGlsZSIpIDI+JjUKLSAgYWNfc3Rh
dHVzPSQ/Ci0gICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRh
Y19zdGF0dXMiID4mNQotICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuIDoKLSAgZm9yIGFj
X2ZpbGUgaW4gY29uZnRlc3QubyBjb25mdGVzdC5vYmogY29uZnRlc3QuKjsgZG8KLSAgdGVzdCAt
ZiAiJGFjX2ZpbGUiIHx8IGNvbnRpbnVlOwotICBjYXNlICRhY19maWxlIGluCi0gICAgKi4kYWNf
ZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5i
YmcgfCAqLm1hcCB8ICouaW5mIHwgKi5kU1lNICkgOzsKLSAgICAqKSBhY19jdl9vYmpleHQ9YGV4
cHIgIiRhY19maWxlIiA6ICcuKlwuXCguKlwpJ2AKLSAgICAgICBicmVhazs7Ci0gIGVzYWMKLWRv
bmUKLWVsc2UKLSAgJGFzX2VjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Ci1z
ZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1Ci0KLXsgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2Vj
aG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8g
ImNhbm5vdCBjb21wdXRlIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXM6IGNhbm5vdCBjb21waWxlCi1T
ZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNSA7IH0KLWZpCi1y
bSAtZiBjb25mdGVzdC4kYWNfY3Zfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X29iamV4dCIg
PiY1Ci0kYXNfZWNobyAiJGFjX2N2X29iamV4dCIgPiY2OyB9Ci1PQkpFWFQ9JGFjX2N2X29iamV4
dAotYWNfb2JqZXh0PSRPQkpFWFQKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyIiA+
JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj
b21waWxlci4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9jX2NvbXBpbGVyX2dudStzZXR9
IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNh
dCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVm
cy5oLiAgKi8KLQotaW50Ci1tYWluICgpCi17Ci0jaWZuZGVmIF9fR05VQ19fCi0gICAgICAgY2hv
a2UgbWUKLSNlbmRpZgotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2Nf
dHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY29tcGlsZXJfZ251PXllcwotZWxz
ZQotICBhY19jb21waWxlcl9nbnU9bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m
dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWFjX2N2X2NfY29tcGlsZXJfZ251PSRh
Y19jb21waWxlcl9nbnUKLQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiAkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNQotJGFzX2VjaG8gIiRhY19j
dl9jX2NvbXBpbGVyX2dudSIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jb21waWxlcl9nbnUgPSB5ZXM7
IHRoZW4KLSAgR0NDPXllcwotZWxzZQotICBHQ0M9Ci1maQotYWNfdGVzdF9DRkxBR1M9JHtDRkxB
R1Mrc2V0fQotYWNfc2F2ZV9DRkxBR1M9JENGTEFHUwoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRDQyBhY2NlcHRzIC1nIiA+JjUKLSRh
c19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJENDIGFjY2VwdHMgLWcuLi4gIiA+JjY7IH0KLWlm
IHRlc3QgIiR7YWNfY3ZfcHJvZ19jY19nK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfc2F2ZV9jX3dlcnJvcl9mbGFnPSRhY19jX3dl
cnJvcl9mbGFnCi0gICBhY19jX3dlcnJvcl9mbGFnPXllcwotICAgYWNfY3ZfcHJvZ19jY19nPW5v
Ci0gICBDRkxBR1M9Ii1nIgotICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotCi1pbnQKLW1haW4gKCkKLXsKLQotICA7
Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5P
IjsgdGhlbiA6Ci0gIGFjX2N2X3Byb2dfY2NfZz15ZXMKLWVsc2UKLSAgQ0ZMQUdTPSIiCi0gICAg
ICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29u
ZmRlZnMuaC4gICovCi0KLWludAotbWFpbiAoKQotewotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1f
QUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLQotZWxzZQot
ICBhY19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKLQkgQ0ZMQUdTPSItZyIK
LQkgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLwotCi1pbnQKLW1haW4gKCkKLXsKLQotICA7Ci0gIHJldHVybiAwOwotfQot
X0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2
X3Byb2dfY2NfZz15ZXMKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNf
b2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m
dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0
LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSAgIGFjX2Nfd2Vycm9y
X2ZsYWc9JGFjX3NhdmVfY193ZXJyb3JfZmxhZwotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcHJvZ19jY19nIiA+JjUKLSRhc19lY2hv
ICIkYWNfY3ZfcHJvZ19jY19nIiA+JjY7IH0KLWlmIHRlc3QgIiRhY190ZXN0X0NGTEFHUyIgPSBz
ZXQ7IHRoZW4KLSAgQ0ZMQUdTPSRhY19zYXZlX0NGTEFHUwotZWxpZiB0ZXN0ICRhY19jdl9wcm9n
X2NjX2cgPSB5ZXM7IHRoZW4KLSAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KLSAgICBDRkxB
R1M9Ii1nIC1PMiIKLSAgZWxzZQotICAgIENGTEFHUz0iLWciCi0gIGZpCi1lbHNlCi0gIGlmIHRl
c3QgIiRHQ0MiID0geWVzOyB0aGVuCi0gICAgQ0ZMQUdTPSItTzIiCi0gIGVsc2UKLSAgICBDRkxB
R1M9Ci0gIGZpCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj
aGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OSIgPiY1Ci0kYXNfZWNob19u
ICJjaGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiAiID4mNjsgfQot
aWYgdGVzdCAiJHthY19jdl9wcm9nX2NjX2M4OStzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFjX2N2X3Byb2dfY2NfYzg5PW5vCi1hY19z
YXZlX0NDPSRDQwotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAot
LyogZW5kIGNvbmZkZWZzLmguICAqLwotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0
ZGlvLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLS8q
IE1vc3Qgb2YgdGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgc3RvbGVuIGZyb20gUkNTIDUuNydzIHNy
Yy9jb25mLnNoLiAgKi8KLXN0cnVjdCBidWYgeyBpbnQgeDsgfTsKLUZJTEUgKiAoKnJjc29wZW4p
IChzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCk7Ci1zdGF0aWMgY2hhciAqZSAocCwg
aSkKLSAgICAgY2hhciAqKnA7Ci0gICAgIGludCBpOwotewotICByZXR1cm4gcFtpXTsKLX0KLXN0
YXRpYyBjaGFyICpmIChjaGFyICogKCpnKSAoY2hhciAqKiwgaW50KSwgY2hhciAqKnAsIC4uLikK
LXsKLSAgY2hhciAqczsKLSAgdmFfbGlzdCB2OwotICB2YV9zdGFydCAodixwKTsKLSAgcyA9IGcg
KHAsIHZhX2FyZyAodixpbnQpKTsKLSAgdmFfZW5kICh2KTsKLSAgcmV0dXJuIHM7Ci19Ci0KLS8q
IE9TRiA0LjAgQ29tcGFxIGNjIGlzIHNvbWUgc29ydCBvZiBhbG1vc3QtQU5TSSBieSBkZWZhdWx0
LiAgSXQgaGFzCi0gICBmdW5jdGlvbiBwcm90b3R5cGVzIGFuZCBzdHVmZiwgYnV0IG5vdCAnXHhI
SCcgaGV4IGNoYXJhY3RlciBjb25zdGFudHMuCi0gICBUaGVzZSBkb24ndCBwcm92b2tlIGFuIGVy
cm9yIHVuZm9ydHVuYXRlbHksIGluc3RlYWQgYXJlIHNpbGVudGx5IHRyZWF0ZWQKLSAgIGFzICd4
Jy4gIFRoZSBmb2xsb3dpbmcgaW5kdWNlcyBhbiBlcnJvciwgdW50aWwgLXN0ZCBpcyBhZGRlZCB0
byBnZXQKLSAgIHByb3BlciBBTlNJIG1vZGUuICBDdXJpb3VzbHkgJ1x4MDAnIT0neCcgYWx3YXlz
IGNvbWVzIG91dCB0cnVlLCBmb3IgYW4KLSAgIGFycmF5IHNpemUgYXQgbGVhc3QuICBJdCdzIG5l
Y2Vzc2FyeSB0byB3cml0ZSAnXHgwMCc9PTAgdG8gZ2V0IHNvbWV0aGluZwotICAgdGhhdCdzIHRy
dWUgb25seSB3aXRoIC1zdGQuICAqLwotaW50IG9zZjRfY2NfYXJyYXkgWydceDAwJyA9PSAwID8g
MSA6IC0xXTsKLQotLyogSUJNIEMgNiBmb3IgQUlYIGlzIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQs
IGJ1dCBpdCByZXBsYWNlcyBtYWNybyBwYXJhbWV0ZXJzCi0gICBpbnNpZGUgc3RyaW5ncyBhbmQg
Y2hhcmFjdGVyIGNvbnN0YW50cy4gICovCi0jZGVmaW5lIEZPTyh4KSAneCcKLWludCB4bGM2X2Nj
X2FycmF5W0ZPTyhhKSA9PSAneCcgPyAxIDogLTFdOwotCi1pbnQgdGVzdCAoaW50IGksIGRvdWJs
ZSB4KTsKLXN0cnVjdCBzMSB7aW50ICgqZikgKGludCBhKTt9Owotc3RydWN0IHMyIHtpbnQgKCpm
KSAoZG91YmxlIGEpO307Ci1pbnQgcGFpcm5hbWVzIChpbnQsIGNoYXIgKiosIEZJTEUgKigqKShz
dHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCksIGludCwgaW50KTsKLWludCBhcmdjOwot
Y2hhciAqKmFyZ3Y7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVybiBmIChlLCBhcmd2LCAwKSAhPSBh
cmd2WzBdICB8fCAgZiAoZSwgYXJndiwgMSkgIT0gYXJndlsxXTsKLSAgOwotICByZXR1cm4gMDsK
LX0KLV9BQ0VPRgotZm9yIGFjX2FyZyBpbiAnJyAtcWxhbmdsdmw9ZXh0Yzg5IC1xbGFuZ2x2bD1h
bnNpIC1zdGQgXAotCS1BZSAiLUFhIC1EX0hQVVhfU09VUkNFIiAiLVhjIC1EX19FWFRFTlNJT05T
X18iCi1kbwotICBDQz0iJGFjX3NhdmVfQ0MgJGFjX2FyZyIKLSAgaWYgYWNfZm5fY190cnlfY29t
cGlsZSAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9wcm9nX2NjX2M4OT0kYWNfYXJnCi1maQot
cm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAotICB0ZXN0ICJ4JGFj
X2N2X3Byb2dfY2NfYzg5IiAhPSAieG5vIiAmJiBicmVhawotZG9uZQotcm0gLWYgY29uZnRlc3Qu
JGFjX2V4dAotQ0M9JGFjX3NhdmVfQ0MKLQotZmkKLSMgQUNfQ0FDSEVfVkFMCi1jYXNlICJ4JGFj
X2N2X3Byb2dfY2NfYzg5IiBpbgotICB4KQotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiBub25lIG5lZWRlZCIgPiY1Ci0kYXNfZWNobyAibm9uZSBu
ZWVkZWQiID4mNjsgfSA7OwotICB4bm8pCi0gICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiByZXN1bHQ6IHVuc3VwcG9ydGVkIiA+JjUKLSRhc19lY2hvICJ1bnN1cHBv
cnRlZCIgPiY2OyB9IDs7Ci0gICopCi0gICAgQ0M9IiRDQyAkYWNfY3ZfcHJvZ19jY19jODkiCi0g
ICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19j
dl9wcm9nX2NjX2M4OSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X3Byb2dfY2NfYzg5IiA+JjY7IH0g
OzsKLWVzYWMKLWlmIHRlc3QgIngkYWNfY3ZfcHJvZ19jY19jODkiICE9IHhubzsgdGhlbiA6Ci0K
LWZpCi0KLWFjX2V4dD1jCi1hY19jcHA9JyRDUFAgJENQUEZMQUdTJwotYWNfY29tcGlsZT0nJEND
IC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwotYWNfbGluaz0nJEND
IC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVz
dC4kYWNfZXh0ICRMSUJTID4mNScKLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9n
bnUKLQotCi1hY19leHQ9YwotYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKLWFjX2NvbXBpbGU9JyRD
QyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKLWFjX2xpbms9JyRD
QyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRl
c3QuJGFjX2V4dCAkTElCUyA+JjUnCi1hY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJf
Z251Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhv
dyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGhv
dyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4uICIgPiY2OyB9Ci0jIE9uIFN1bnMsIHNvbWV0
aW1lcyAkQ1BQIG5hbWVzIGEgZGlyZWN0b3J5LgotaWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAt
ZCAiJENQUCI7IHRoZW4KLSAgQ1BQPQotZmkKLWlmIHRlc3QgLXogIiRDUFAiOyB0aGVuCi0gIGlm
IHRlc3QgIiR7YWNfY3ZfcHJvZ19DUFArc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19u
ICIoY2FjaGVkKSAiID4mNgotZWxzZQotICAgICAgIyBEb3VibGUgcXVvdGVzIGJlY2F1c2UgQ1BQ
IG5lZWRzIHRvIGJlIGV4cGFuZGVkCi0gICAgZm9yIENQUCBpbiAiJENDIC1FIiAiJENDIC1FIC10
cmFkaXRpb25hbC1jcHAiICIvbGliL2NwcCIKLSAgICBkbwotICAgICAgYWNfcHJlcHJvY19vaz1m
YWxzZQotZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCi1kbwotICAjIFVzZSBh
IGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCi0g
ICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgotICAjIFByZWZlciA8bGltaXRz
Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKLSAgIyA8bGlt
aXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCi0gICMgT24gdGhl
IE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIs
Ci0gICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0
Y2ggdGhpcyBjYXNlLgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNf
ZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaWZkZWYgX19TVERDX18KLSMgaW5jbHVkZSA8
bGltaXRzLmg+Ci0jZWxzZQotIyBpbmNsdWRlIDxhc3NlcnQuaD4KLSNlbmRpZgotCQkgICAgIFN5
bnRheCBlcnJvcgotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8iOyB0aGVuIDoK
LQotZWxzZQotICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5wdXQuCi1jb250aW51ZQotZmkK
LXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0ZXN0LiRhY19leHQKLQotICAjIE9L
LCB3b3JrcyBvbiBzYW5lIGNhc2VzLiAgTm93IGNoZWNrIHdoZXRoZXIgbm9uZXhpc3RlbnQgaGVh
ZGVycwotICAjIGNhbiBiZSBkZXRlY3RlZCBhbmQgaG93LgotICBjYXQgY29uZmRlZnMuaCAtIDw8
X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaW5jbHVk
ZSA8YWNfbm9uZXhpc3RlbnQuaD4KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY3BwICIkTElORU5P
IjsgdGhlbiA6Ci0gICMgQnJva2VuOiBzdWNjZXNzIG9uIGludmFsaWQgaW5wdXQuCi1jb250aW51
ZQotZWxzZQotICAjIFBhc3NlcyBib3RoIHRlc3RzLgotYWNfcHJlcHJvY19vaz06Ci1icmVhawot
ZmkKLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0ZXN0LiRhY19leHQKLQotZG9u
ZQotIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lGRUxTRSdzIGNsZWFuaW5nIGNv
ZGUgd2FzIHNraXBwZWQuCi1ybSAtZiBjb25mdGVzdC5pIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4k
YWNfZXh0Ci1pZiAkYWNfcHJlcHJvY19vazsgdGhlbiA6Ci0gIGJyZWFrCi1maQotCi0gICAgZG9u
ZQotICAgIGFjX2N2X3Byb2dfQ1BQPSRDUFAKLQotZmkKLSAgQ1BQPSRhY19jdl9wcm9nX0NQUAot
ZWxzZQotICBhY19jdl9wcm9nX0NQUD0kQ1BQCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDUFAiID4mNQotJGFzX2VjaG8gIiRDUFAiID4mNjsg
fQotYWNfcHJlcHJvY19vaz1mYWxzZQotZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycg
eWVzCi1kbwotICAjIFVzZSBhIGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNv
bmZpZ3VyaW5nIGdsaWJjCi0gICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgot
ICAjIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l
ZCwgc2luY2UKLSAgIyA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w
aWxlcnMuCi0gICMgT24gdGhlIE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUg
Y29tcGlsZXIncyBwYXJzZXIsCi0gICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJy
b3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhpcyBjYXNlLgotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FD
RU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaWZkZWYgX19T
VERDX18KLSMgaW5jbHVkZSA8bGltaXRzLmg+Ci0jZWxzZQotIyBpbmNsdWRlIDxhc3NlcnQuaD4K
LSNlbmRpZgotCQkgICAgIFN5bnRheCBlcnJvcgotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jcHAg
IiRMSU5FTk8iOyB0aGVuIDoKLQotZWxzZQotICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5w
dXQuCi1jb250aW51ZQotZmkKLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0ZXN0
LiRhY19leHQKLQotICAjIE9LLCB3b3JrcyBvbiBzYW5lIGNhc2VzLiAgTm93IGNoZWNrIHdoZXRo
ZXIgbm9uZXhpc3RlbnQgaGVhZGVycwotICAjIGNhbiBiZSBkZXRlY3RlZCBhbmQgaG93LgotICBj
YXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRl
ZnMuaC4gICovCi0jaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KLV9BQ0VPRgotaWYgYWNfZm5f
Y190cnlfY3BwICIkTElORU5PIjsgdGhlbiA6Ci0gICMgQnJva2VuOiBzdWNjZXNzIG9uIGludmFs
aWQgaW5wdXQuCi1jb250aW51ZQotZWxzZQotICAjIFBhc3NlcyBib3RoIHRlc3RzLgotYWNfcHJl
cHJvY19vaz06Ci1icmVhawotZmkKLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC5pIGNvbmZ0
ZXN0LiRhY19leHQKLQotZG9uZQotIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lG
RUxTRSdzIGNsZWFuaW5nIGNvZGUgd2FzIHNraXBwZWQuCi1ybSAtZiBjb25mdGVzdC5pIGNvbmZ0
ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0Ci1pZiAkYWNfcHJlcHJvY19vazsgdGhlbiA6Ci0KLWVs
c2UKLSAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBp
biBcYCRhY19wd2QnOiIgPiY1Ci0kYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdk
JzoiID4mMjt9Ci1hc19mbl9lcnJvciAkPyAiQyBwcmVwcm9jZXNzb3IgXCIkQ1BQXCIgZmFpbHMg
c2FuaXR5IGNoZWNrCi1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVO
TyIgNSA7IH0KLWZpCi0KLWFjX2V4dD1jCi1hY19jcHA9JyRDUFAgJENQUEZMQUdTJwotYWNfY29t
cGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwotYWNf
bGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFH
UyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19j
b21waWxlcl9nbnUKLQotCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZSIgPiY1Ci0k
YXNfZWNob19uICJjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQg
LWUuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9HUkVQK3NldH0iID0gc2V0OyB0
aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAteiAi
JEdSRVAiOyB0aGVuCi0gIGFjX3BhdGhfR1JFUF9mb3VuZD1mYWxzZQotICAjIExvb3AgdGhyb3Vn
aCB0aGUgdXNlcidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAotICBh
c19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRI
JFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2JpbgotZG8KLSAgSUZTPSRhc19zYXZlX0lGUwotICB0
ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgIGZvciBhY19wcm9nIGluIGdyZXAgZ2dy
ZXA7IGRvCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lv
bnM7IGRvCi0gICAgICBhY19wYXRoX0dSRVA9IiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQi
Ci0gICAgICB7IHRlc3QgLWYgIiRhY19wYXRoX0dSRVAiICYmICRhc190ZXN0X3ggIiRhY19wYXRo
X0dSRVAiOyB9IHx8IGNvbnRpbnVlCi0jIENoZWNrIGZvciBHTlUgYWNfcGF0aF9HUkVQIGFuZCBz
ZWxlY3QgaXQgaWYgaXQgaXMgZm91bmQuCi0gICMgQ2hlY2sgZm9yIEdOVSAkYWNfcGF0aF9HUkVQ
Ci1jYXNlIGAiJGFjX3BhdGhfR1JFUCIgLS12ZXJzaW9uIDI+JjFgIGluCi0qR05VKikKLSAgYWNf
Y3ZfcGF0aF9HUkVQPSIkYWNfcGF0aF9HUkVQIiBhY19wYXRoX0dSRVBfZm91bmQ9Ojs7Ci0qKQot
ICBhY19jb3VudD0wCi0gICRhc19lY2hvX24gMDEyMzQ1Njc4OSA+ImNvbmZ0ZXN0LmluIgotICB3
aGlsZSA6Ci0gIGRvCi0gICAgY2F0ICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0LmluIiA+ImNvbmZ0
ZXN0LnRtcCIKLSAgICBtdiAiY29uZnRlc3QudG1wIiAiY29uZnRlc3QuaW4iCi0gICAgY3AgImNv
bmZ0ZXN0LmluIiAiY29uZnRlc3QubmwiCi0gICAgJGFzX2VjaG8gJ0dSRVAnID4+ICJjb25mdGVz
dC5ubCIKLSAgICAiJGFjX3BhdGhfR1JFUCIgLWUgJ0dSRVAkJyAtZSAnLShjYW5ub3QgbWF0Y2gp
LScgPCAiY29uZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYvbnVsbCB8fCBicmVhawot
ICAgIGRpZmYgImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rldi9udWxsIDI+JjEgfHwg
YnJlYWsKLSAgICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFjX2NvdW50PSRhc192YWwK
LSAgICBpZiB0ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0dSRVBfbWF4LTB9OyB0aGVuCi0g
ICAgICAjIEJlc3Qgb25lIHNvIGZhciwgc2F2ZSBpdCBidXQga2VlcCBsb29raW5nIGZvciBhIGJl
dHRlciBvbmUKLSAgICAgIGFjX2N2X3BhdGhfR1JFUD0iJGFjX3BhdGhfR1JFUCIKLSAgICAgIGFj
X3BhdGhfR1JFUF9tYXg9JGFjX2NvdW50Ci0gICAgZmkKLSAgICAjIDEwKigyXjEwKSBjaGFycyBh
cyBpbnB1dCBzZWVtcyBtb3JlIHRoYW4gZW5vdWdoCi0gICAgdGVzdCAkYWNfY291bnQgLWd0IDEw
ICYmIGJyZWFrCi0gIGRvbmUKLSAgcm0gLWYgY29uZnRlc3QuaW4gY29uZnRlc3QudG1wIGNvbmZ0
ZXN0Lm5sIGNvbmZ0ZXN0Lm91dDs7Ci1lc2FjCi0KLSAgICAgICRhY19wYXRoX0dSRVBfZm91bmQg
JiYgYnJlYWsgMwotICAgIGRvbmUKLSAgZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCi0g
IGlmIHRlc3QgLXogIiRhY19jdl9wYXRoX0dSRVAiOyB0aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8g
Im5vIGFjY2VwdGFibGUgZ3JlcCBjb3VsZCBiZSBmb3VuZCBpbiAkUEFUSCRQQVRIX1NFUEFSQVRP
Ui91c3IveHBnNC9iaW4iICIkTElORU5PIiA1Ci0gIGZpCi1lbHNlCi0gIGFjX2N2X3BhdGhfR1JF
UD0kR1JFUAotZmkKLQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiAkYWNfY3ZfcGF0aF9HUkVQIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfcGF0aF9H
UkVQIiA+JjY7IH0KLSBHUkVQPSIkYWNfY3ZfcGF0aF9HUkVQIgotCi0KLXsgJGFzX2VjaG8gIiRh
c19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGVncmVwIiA+JjUKLSRhc19l
Y2hvX24gImNoZWNraW5nIGZvciBlZ3JlcC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9w
YXRoX0VHUkVQK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+
JjYKLWVsc2UKLSAgaWYgZWNobyBhIHwgJEdSRVAgLUUgJyhhfGIpJyA+L2Rldi9udWxsIDI+JjEK
LSAgIHRoZW4gYWNfY3ZfcGF0aF9FR1JFUD0iJEdSRVAgLUUiCi0gICBlbHNlCi0gICAgIGlmIHRl
c3QgLXogIiRFR1JFUCI7IHRoZW4KLSAgYWNfcGF0aF9FR1JFUF9mb3VuZD1mYWxzZQotICAjIExv
b3AgdGhyb3VnaCB0aGUgdXNlcidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUt
TElTVAotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGly
IGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2JpbgotZG8KLSAgSUZTPSRhc19zYXZl
X0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgIGZvciBhY19wcm9nIGlu
IGVncmVwOyBkbwotICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRl
bnNpb25zOyBkbwotICAgICAgYWNfcGF0aF9FR1JFUD0iJGFzX2Rpci8kYWNfcHJvZyRhY19leGVj
X2V4dCIKLSAgICAgIHsgdGVzdCAtZiAiJGFjX3BhdGhfRUdSRVAiICYmICRhc190ZXN0X3ggIiRh
Y19wYXRoX0VHUkVQIjsgfSB8fCBjb250aW51ZQotIyBDaGVjayBmb3IgR05VIGFjX3BhdGhfRUdS
RVAgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4KLSAgIyBDaGVjayBmb3IgR05VICRhY19w
YXRoX0VHUkVQCi1jYXNlIGAiJGFjX3BhdGhfRUdSRVAiIC0tdmVyc2lvbiAyPiYxYCBpbgotKkdO
VSopCi0gIGFjX2N2X3BhdGhfRUdSRVA9IiRhY19wYXRoX0VHUkVQIiBhY19wYXRoX0VHUkVQX2Zv
dW5kPTo7OwotKikKLSAgYWNfY291bnQ9MAotICAkYXNfZWNob19uIDAxMjM0NTY3ODkgPiJjb25m
dGVzdC5pbiIKLSAgd2hpbGUgOgotICBkbwotICAgIGNhdCAiY29uZnRlc3QuaW4iICJjb25mdGVz
dC5pbiIgPiJjb25mdGVzdC50bXAiCi0gICAgbXYgImNvbmZ0ZXN0LnRtcCIgImNvbmZ0ZXN0Lmlu
IgotICAgIGNwICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0Lm5sIgotICAgICRhc19lY2hvICdFR1JF
UCcgPj4gImNvbmZ0ZXN0Lm5sIgotICAgICIkYWNfcGF0aF9FR1JFUCIgJ0VHUkVQJCcgPCAiY29u
ZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYvbnVsbCB8fCBicmVhawotICAgIGRpZmYg
ImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rldi9udWxsIDI+JjEgfHwgYnJlYWsKLSAg
ICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFjX2NvdW50PSRhc192YWwKLSAgICBpZiB0
ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0VHUkVQX21heC0wfTsgdGhlbgotICAgICAgIyBC
ZXN0IG9uZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAgbG9va2luZyBmb3IgYSBiZXR0ZXIgb25l
Ci0gICAgICBhY19jdl9wYXRoX0VHUkVQPSIkYWNfcGF0aF9FR1JFUCIKLSAgICAgIGFjX3BhdGhf
RUdSRVBfbWF4PSRhY19jb3VudAotICAgIGZpCi0gICAgIyAxMCooMl4xMCkgY2hhcnMgYXMgaW5w
dXQgc2VlbXMgbW9yZSB0aGFuIGVub3VnaAotICAgIHRlc3QgJGFjX2NvdW50IC1ndCAxMCAmJiBi
cmVhawotICBkb25lCi0gIHJtIC1mIGNvbmZ0ZXN0LmluIGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5u
bCBjb25mdGVzdC5vdXQ7OwotZXNhYwotCi0gICAgICAkYWNfcGF0aF9FR1JFUF9mb3VuZCAmJiBi
cmVhayAzCi0gICAgZG9uZQotICBkb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKLSAgaWYg
dGVzdCAteiAiJGFjX2N2X3BhdGhfRUdSRVAiOyB0aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8gIm5v
IGFjY2VwdGFibGUgZWdyZXAgY291bGQgYmUgZm91bmQgaW4gJFBBVEgkUEFUSF9TRVBBUkFUT1Iv
dXNyL3hwZzQvYmluIiAiJExJTkVOTyIgNQotICBmaQotZWxzZQotICBhY19jdl9wYXRoX0VHUkVQ
PSRFR1JFUAotZmkKLQotICAgZmkKLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfRUdSRVAiID4mNQotJGFzX2VjaG8gIiRhY19j
dl9wYXRoX0VHUkVQIiA+JjY7IH0KLSBFR1JFUD0iJGFjX2N2X3BhdGhfRUdSRVAiCi0KLQoteyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgQU5TSSBD
IGhlYWRlciBmaWxlcyIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRl
ciBmaWxlcy4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3RkYytzZXR9IiA9
IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhdCBj
b25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5o
LiAgKi8KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRl
IDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxmbG9hdC5oPgotCi1pbnQKLW1haW4gKCkKLXsKLQotICA7
Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5P
IjsgdGhlbiA6Ci0gIGFjX2N2X2hlYWRlcl9zdGRjPXllcwotZWxzZQotICBhY19jdl9oZWFkZXJf
c3RkYz1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQg
Y29uZnRlc3QuJGFjX2V4dAotCi1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhl
bgotICAjIFN1bk9TIDQueCBzdHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5
IHRvIEFOU0kuCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQK
LS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotX0FDRU9GCi1p
ZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8Ci0gICRFR1JFUCAibWVt
Y2hyIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgotCi1lbHNlCi0gIGFjX2N2X2hlYWRlcl9zdGRj
PW5vCi1maQotcm0gLWYgY29uZnRlc3QqCi0KLWZpCi0KLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9z
dGRjID0geWVzOyB0aGVuCi0gICMgSVNDIDIuMC4yIHN0ZGxpYi5oIGRvZXMgbm90IGRlY2xhcmUg
ZnJlZSwgY29udHJhcnkgdG8gQU5TSS4KLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29u
ZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotI2luY2x1ZGUgPHN0ZGxpYi5o
PgotCi1fQUNFT0YKLWlmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwK
LSAgJEVHUkVQICJmcmVlIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgotCi1lbHNlCi0gIGFjX2N2
X2hlYWRlcl9zdGRjPW5vCi1maQotcm0gLWYgY29uZnRlc3QqCi0KLWZpCi0KLWlmIHRlc3QgJGFj
X2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCi0gICMgL2Jpbi9jYyBpbiBJcml4LTQuMC41IGdl
dHMgbm9uLUFOU0kgY3R5cGUgbWFjcm9zIHVubGVzcyB1c2luZyAtYW5zaS4KLSAgaWYgdGVzdCAi
JGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgotICA6Ci1lbHNlCi0gIGNhdCBjb25mZGVm
cy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
LSNpbmNsdWRlIDxjdHlwZS5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2lmICgoJyAnICYgMHgw
RkYpID09IDB4MDIwKQotIyBkZWZpbmUgSVNMT1dFUihjKSAoJ2EnIDw9IChjKSAmJiAoYykgPD0g
J3onKQotIyBkZWZpbmUgVE9VUFBFUihjKSAoSVNMT1dFUihjKSA/ICdBJyArICgoYykgLSAnYScp
IDogKGMpKQotI2Vsc2UKLSMgZGVmaW5lIElTTE9XRVIoYykgXAotCQkgICAoKCdhJyA8PSAoYykg
JiYgKGMpIDw9ICdpJykgXAotCQkgICAgIHx8ICgnaicgPD0gKGMpICYmIChjKSA8PSAncicpIFwK
LQkJICAgICB8fCAoJ3MnIDw9IChjKSAmJiAoYykgPD0gJ3onKSkKLSMgZGVmaW5lIFRPVVBQRVIo
YykgKElTTE9XRVIoYykgPyAoKGMpIHwgMHg0MCkgOiAoYykpCi0jZW5kaWYKLQotI2RlZmluZSBY
T1IoZSwgZikgKCgoZSkgJiYgIShmKSkgfHwgKCEoZSkgJiYgKGYpKSkKLWludAotbWFpbiAoKQot
ewotICBpbnQgaTsKLSAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQotICAgIGlmIChYT1IgKGlz
bG93ZXIgKGkpLCBJU0xPV0VSIChpKSkKLQl8fCB0b3VwcGVyIChpKSAhPSBUT1VQUEVSIChpKSkK
LSAgICAgIHJldHVybiAyOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlf
cnVuICIkTElORU5PIjsgdGhlbiA6Ci0KLWVsc2UKLSAgYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KLWZp
Ci1ybSAtZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0
ZXN0JGFjX2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25m
dGVzdC4kYWNfZXh0Ci1maQotCi1maQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N0ZGMiID4mNQotJGFzX2VjaG8gIiRh
Y19jdl9oZWFkZXJfc3RkYyIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHll
czsgdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBTVERDX0hFQURFUlMgMSIgPj5jb25mZGVmcy5o
Ci0KLWZpCi0KLSMgT24gSVJJWCA1LjMsIHN5cy90eXBlcyBhbmQgaW50dHlwZXMuaCBhcmUgY29u
ZmxpY3RpbmcuCi1mb3IgYWNfaGVhZGVyIGluIHN5cy90eXBlcy5oIHN5cy9zdGF0Lmggc3RkbGli
Lmggc3RyaW5nLmggbWVtb3J5Lmggc3RyaW5ncy5oIFwKLQkJICBpbnR0eXBlcy5oIHN0ZGludC5o
IHVuaXN0ZC5oCi1kbyA6Ci0gIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8k
YWNfaGVhZGVyIiB8ICRhc190cl9zaGAKLWFjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgIiRM
SU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiRhY19pbmNsdWRlc19kZWZhdWx0
Ci0iCi1pZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX0hlYWRlciJcIiA9IHgieWVzIjsgdGhlbiA6
Ci0gIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgYCRhc19lY2hvICJIQVZFXyRh
Y19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQotX0FDRU9GCi0KLWZpCi0KLWRvbmUKLQotCi0KLSAg
YWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIgIm1pbml4L2NvbmZpZy5oIiAi
YWNfY3ZfaGVhZGVyX21pbml4X2NvbmZpZ19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0
ZXN0ICJ4JGFjX2N2X2hlYWRlcl9taW5peF9jb25maWdfaCIgPSB4IiJ5ZXM7IHRoZW4gOgotICBN
SU5JWD15ZXMKLWVsc2UKLSAgTUlOSVg9Ci1maQotCi0KLSAgaWYgdGVzdCAiJE1JTklYIiA9IHll
czsgdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBfUE9TSVhfU09VUkNFIDEiID4+Y29uZmRlZnMu
aAotCi0KLSRhc19lY2hvICIjZGVmaW5lIF9QT1NJWF8xX1NPVVJDRSAyIiA+PmNvbmZkZWZzLmgK
LQotCi0kYXNfZWNobyAiI2RlZmluZSBfTUlOSVggMSIgPj5jb25mZGVmcy5oCi0KLSAgZmkKLQot
Ci0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hl
dGhlciBpdCBpcyBzYWZlIHRvIGRlZmluZSBfX0VYVEVOU0lPTlNfXyIgPiY1Ci0kYXNfZWNob19u
ICJjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5TSU9OU19fLi4u
ICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19f
K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UK
LSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLwotCi0jCSAgZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKLQkgICRhY19pbmNs
dWRlc19kZWZhdWx0Ci1pbnQKLW1haW4gKCkKLXsKLQotICA7Ci0gIHJldHVybiAwOwotfQotX0FD
RU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X3Nh
ZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fPXllcwotZWxzZQotICBhY19jdl9zYWZlX3RvX2Rl
ZmluZV9fX2V4dGVuc2lvbnNfXz1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0
ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotZmkKLXsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3Zfc2FmZV90b19kZWZpbmVfX19leHRl
bnNpb25zX18iID4mNQotJGFzX2VjaG8gIiRhY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4dGVuc2lv
bnNfXyIgPiY2OyB9Ci0gIHRlc3QgJGFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19f
ID0geWVzICYmCi0gICAgJGFzX2VjaG8gIiNkZWZpbmUgX19FWFRFTlNJT05TX18gMSIgPj5jb25m
ZGVmcy5oCi0KLSAgJGFzX2VjaG8gIiNkZWZpbmUgX0FMTF9TT1VSQ0UgMSIgPj5jb25mZGVmcy5o
Ci0KLSAgJGFzX2VjaG8gIiNkZWZpbmUgX0dOVV9TT1VSQ0UgMSIgPj5jb25mZGVmcy5oCi0KLSAg
JGFzX2VjaG8gIiNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEiID4+Y29uZmRlZnMu
aAotCi0gICRhc19lY2hvICIjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEiID4+Y29uZmRlZnMuaAot
Ci0KLSMgTWFrZSBzdXJlIHdlIGNhbiBydW4gY29uZmlnLnN1Yi4KLSRTSEVMTCAiJGFjX2F1eF9k
aXIvY29uZmlnLnN1YiIgc3VuNCA+L2Rldi9udWxsIDI+JjEgfHwKLSAgYXNfZm5fZXJyb3IgJD8g
ImNhbm5vdCBydW4gJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5zdWIiICIkTElORU5PIiA1Ci0K
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgYnVpbGQg
c3lzdGVtIHR5cGUiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUu
Li4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfYnVpbGQrc2V0fSIgPSBzZXQ7IHRoZW4gOgot
ICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBhY19idWlsZF9hbGlhcz0kYnVp
bGRfYWxpYXMKLXRlc3QgIngkYWNfYnVpbGRfYWxpYXMiID0geCAmJgotICBhY19idWlsZF9hbGlh
cz1gJFNIRUxMICIkYWNfYXV4X2Rpci9jb25maWcuZ3Vlc3MiYAotdGVzdCAieCRhY19idWlsZF9h
bGlhcyIgPSB4ICYmCi0gIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgZ3Vlc3MgYnVpbGQgdHlwZTsg
eW91IG11c3Qgc3BlY2lmeSBvbmUiICIkTElORU5PIiA1Ci1hY19jdl9idWlsZD1gJFNIRUxMICIk
YWNfYXV4X2Rpci9jb25maWcuc3ViIiAkYWNfYnVpbGRfYWxpYXNgIHx8Ci0gIGFzX2ZuX2Vycm9y
ICQ/ICIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLnN1YiAkYWNfYnVpbGRfYWxpYXMgZmFpbGVk
IiAiJExJTkVOTyIgNQotCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRhY19jdl9idWlsZCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2J1aWxkIiA+
JjY7IH0KLWNhc2UgJGFjX2N2X2J1aWxkIGluCi0qLSotKikgOzsKLSopIGFzX2ZuX2Vycm9yICQ/
ICJpbnZhbGlkIHZhbHVlIG9mIGNhbm9uaWNhbCBidWlsZCIgIiRMSU5FTk8iIDUgOzsKLWVzYWMK
LWJ1aWxkPSRhY19jdl9idWlsZAotYWNfc2F2ZV9JRlM9JElGUzsgSUZTPSctJwotc2V0IHggJGFj
X2N2X2J1aWxkCi1zaGlmdAotYnVpbGRfY3B1PSQxCi1idWlsZF92ZW5kb3I9JDIKLXNoaWZ0OyBz
aGlmdAotIyBSZW1lbWJlciwgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBJRlMgaXMgdXNlZCB0byBj
cmVhdGUgJCosCi0jIGV4Y2VwdCB3aXRoIG9sZCBzaGVsbHM6Ci1idWlsZF9vcz0kKgotSUZTPSRh
Y19zYXZlX0lGUwotY2FzZSAkYnVpbGRfb3MgaW4gKlwgKikgYnVpbGRfb3M9YGVjaG8gIiRidWls
ZF9vcyIgfCBzZWQgJ3MvIC8tL2cnYDs7IGVzYWMKLQotCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUiID4mNQotJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHth
Y19jdl9ob3N0K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+
JjYKLWVsc2UKLSAgaWYgdGVzdCAieCRob3N0X2FsaWFzIiA9IHg7IHRoZW4KLSAgYWNfY3ZfaG9z
dD0kYWNfY3ZfYnVpbGQKLWVsc2UKLSAgYWNfY3ZfaG9zdD1gJFNIRUxMICIkYWNfYXV4X2Rpci9j
b25maWcuc3ViIiAkaG9zdF9hbGlhc2AgfHwKLSAgICBhc19mbl9lcnJvciAkPyAiJFNIRUxMICRh
Y19hdXhfZGlyL2NvbmZpZy5zdWIgJGhvc3RfYWxpYXMgZmFpbGVkIiAiJExJTkVOTyIgNQotZmkK
LQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
YWNfY3ZfaG9zdCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2hvc3QiID4mNjsgfQotY2FzZSAkYWNf
Y3ZfaG9zdCBpbgotKi0qLSopIDs7Ci0qKSBhc19mbl9lcnJvciAkPyAiaW52YWxpZCB2YWx1ZSBv
ZiBjYW5vbmljYWwgaG9zdCIgIiRMSU5FTk8iIDUgOzsKLWVzYWMKLWhvc3Q9JGFjX2N2X2hvc3QK
LWFjX3NhdmVfSUZTPSRJRlM7IElGUz0nLScKLXNldCB4ICRhY19jdl9ob3N0Ci1zaGlmdAotaG9z
dF9jcHU9JDEKLWhvc3RfdmVuZG9yPSQyCi1zaGlmdDsgc2hpZnQKLSMgUmVtZW1iZXIsIHRoZSBm
aXJzdCBjaGFyYWN0ZXIgb2YgSUZTIGlzIHVzZWQgdG8gY3JlYXRlICQqLAotIyBleGNlcHQgd2l0
aCBvbGQgc2hlbGxzOgotaG9zdF9vcz0kKgotSUZTPSRhY19zYXZlX0lGUwotY2FzZSAkaG9zdF9v
cyBpbiAqXCAqKSBob3N0X29zPWBlY2hvICIkaG9zdF9vcyIgfCBzZWQgJ3MvIC8tL2cnYDs7IGVz
YWMKLQotCi0KLSMgTTQgTWFjcm8gaW5jbHVkZXMKLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQot
Ci0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0K
LQotCi0KLQotCi0jIHBrZy5tNCAtIE1hY3JvcyB0byBsb2NhdGUgYW5kIHV0aWxpc2UgcGtnLWNv
bmZpZy4gICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCi0jIHNlcmlhbCAxIChwa2ctY29uZmln
LTAuMjQpCi0jCi0jIENvcHlyaWdodCDCqSAyMDA0IFNjb3R0IEphbWVzIFJlbW5hbnQgPHNjb3R0
QG5ldHNwbGl0LmNvbT4uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJv
Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBi
dXQKLSMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs
ZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0jCi0jIEFz
IGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBp
ZiB5b3UKLSMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBj
b250YWlucyBhCi0jIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwg
eW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCi0jIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0
aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KLQotIyBQS0dfUFJPR19Q
S0dfQ09ORklHKFtNSU4tVkVSU0lPTl0pCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLSMgUEtHX1BST0dfUEtHX0NPTkZJRwotCi0jIFBLR19DSEVDS19FWElTVFMoTU9EVUxF
UywgW0FDVElPTi1JRi1GT1VORF0sIFtBQ1RJT04tSUYtTk9ULUZPVU5EXSkKLSMKLSMgQ2hlY2sg
dG8gc2VlIHdoZXRoZXIgYSBwYXJ0aWN1bGFyIHNldCBvZiBtb2R1bGVzIGV4aXN0cy4gIFNpbWls
YXIKLSMgdG8gUEtHX0NIRUNLX01PRFVMRVMoKSwgYnV0IGRvZXMgbm90IHNldCB2YXJpYWJsZXMg
b3IgcHJpbnQgZXJyb3JzLgotIwotIyBQbGVhc2UgcmVtZW1iZXIgdGhhdCBtNCBleHBhbmRzIEFD
X1JFUVVJUkUoW1BLR19QUk9HX1BLR19DT05GSUddKQotIyBvbmx5IGF0IHRoZSBmaXJzdCBvY2N1
cmVuY2UgaW4gY29uZmlndXJlLmFjLCBzbyBpZiB0aGUgZmlyc3QgcGxhY2UKLSMgaXQncyBjYWxs
ZWQgbWlnaHQgYmUgc2tpcHBlZCAoc3VjaCBhcyBpZiBpdCBpcyB3aXRoaW4gYW4gImlmIiwgeW91
Ci0jIGhhdmUgdG8gY2FsbCBQS0dfQ0hFQ0tfRVhJU1RTIG1hbnVhbGx5Ci0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLQot
IyBfUEtHX0NPTkZJRyhbVkFSSUFCTEVdLCBbQ09NTUFORF0sIFtNT0RVTEVTXSkKLSMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIF9QS0dfQ09ORklHCi0K
LSMgX1BLR19TSE9SVF9FUlJPUlNfU1VQUE9SVEVECi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0jIF9QS0dfU0hPUlRfRVJST1JTX1NVUFBPUlRFRAotCi0KLSMgUEtHX0NIRUNLX01P
RFVMRVMoVkFSSUFCTEUtUFJFRklYLCBNT0RVTEVTLCBbQUNUSU9OLUlGLUZPVU5EXSwKLSMgW0FD
VElPTi1JRi1OT1QtRk9VTkRdKQotIwotIwotIyBOb3RlIHRoYXQgaWYgdGhlcmUgaXMgYSBwb3Nz
aWJpbGl0eSB0aGUgZmlyc3QgY2FsbCB0bwotIyBQS0dfQ0hFQ0tfTU9EVUxFUyBtaWdodCBub3Qg
aGFwcGVuLCB5b3Ugc2hvdWxkIGJlIHN1cmUgdG8gaW5jbHVkZSBhbgotIyBleHBsaWNpdCBjYWxs
IHRvIFBLR19QUk9HX1BLR19DT05GSUcgaW4geW91ciBjb25maWd1cmUuYWMKLSMKLSMKLSMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLSMgUEtHX0NIRUNLX01PRFVMRVMKLQotCi0KLSMgV2UgZGVmaW5lLCBzZXBhcmF0ZWx5LCBQ
VEhSRUFEX0NGTEFHUywgX0xERkxBR1MgYW5kIF9MSUJTCi0jIGV2ZW4gdGhvdWdoIGN1cnJlbnRs
eSB3ZSBkb24ndCBzZXQgdGhlbSB2ZXJ5IHNlcGFyYXRlbHkuCi0jIFRoaXMgbWVhbnMgdGhhdCB0
aGUgbWFrZWZpbGVzIHdpbGwgbm90IG5lZWQgdG8gY2hhbmdlIGluCi0jIHRoZSBmdXR1cmUgaWYg
d2UgbWFrZSB0aGUgdGVzdCBtb3JlIHNvcGhpc3RpY2F0ZWQuCi0KLQotCi0jIFdlIGludm9rZSBB
WF9QVEhSRUFEX1ZBUlMgd2l0aCB0aGUgbmFtZSBvZiBhbm90aGVyIG1hY3JvCi0jIHdoaWNoIGlz
IHRoZW4gZXhwYW5kZWQgb25jZSBmb3IgZWFjaCB2YXJpYWJsZS4KLQotCi0KLQotCi0KLQotCi0j
IEVuYWJsZS9kaXNhYmxlIG9wdGlvbnMKLQotIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWdpdGh0
dHAgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfZ2l0aHR0cCtzZXR9IiA9IHNldDsgdGhl
biA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxlX2dpdGh0dHA7Ci1maQotCi0KLWlmIHRlc3QgIngkZW5h
YmxlX2dpdGh0dHAiID0gInhubyI7IHRoZW4gOgotCi0gICAgYXhfY3ZfZ2l0aHR0cD0ibiIKLQot
ZWxpZiB0ZXN0ICJ4JGVuYWJsZV9naXRodHRwIiA9ICJ4eWVzIjsgdGhlbiA6Ci0KLSAgICBheF9j
dl9naXRodHRwPSJ5IgotCi1lbGlmIHRlc3QgLXogJGF4X2N2X2dpdGh0dHA7IHRoZW4gOgotCi0g
ICAgYXhfY3ZfZ2l0aHR0cD0ibiIKLQotZmkKLWdpdGh0dHA9JGF4X2N2X2dpdGh0dHAKLQotCi0K
LSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1tb25pdG9ycyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIk
e2VuYWJsZV9tb25pdG9ycytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxl
X21vbml0b3JzOwotZmkKLQotCi1pZiB0ZXN0ICJ4JGVuYWJsZV9tb25pdG9ycyIgPSAieG5vIjsg
dGhlbiA6Ci0KLSAgICBheF9jdl9tb25pdG9ycz0ibiIKLQotZWxpZiB0ZXN0ICJ4JGVuYWJsZV9t
b25pdG9ycyIgPSAieHllcyI7IHRoZW4gOgotCi0gICAgYXhfY3ZfbW9uaXRvcnM9InkiCi0KLWVs
aWYgdGVzdCAteiAkYXhfY3ZfbW9uaXRvcnM7IHRoZW4gOgotCi0gICAgYXhfY3ZfbW9uaXRvcnM9
InkiCi0KLWZpCi1tb25pdG9ycz0kYXhfY3ZfbW9uaXRvcnMKLQotCi0KLSMgQ2hlY2sgd2hldGhl
ciAtLWVuYWJsZS12dHBtIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX3Z0cG0rc2V0fSIg
PSBzZXQ7IHRoZW4gOgotICBlbmFibGV2YWw9JGVuYWJsZV92dHBtOwotZmkKLQotCi1pZiB0ZXN0
ICJ4JGVuYWJsZV92dHBtIiA9ICJ4bm8iOyB0aGVuIDoKLQotICAgIGF4X2N2X3Z0cG09Im4iCi0K
LWVsaWYgdGVzdCAieCRlbmFibGVfdnRwbSIgPSAieHllcyI7IHRoZW4gOgotCi0gICAgYXhfY3Zf
dnRwbT0ieSIKLQotZWxpZiB0ZXN0IC16ICRheF9jdl92dHBtOyB0aGVuIDoKLQotICAgIGF4X2N2
X3Z0cG09Im4iCi0KLWZpCi12dHBtPSRheF9jdl92dHBtCi0KLQotCi0jIENoZWNrIHdoZXRoZXIg
LS1lbmFibGUteGVuYXBpIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX3hlbmFwaStzZXR9
IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxlX3hlbmFwaTsKLWZpCi0KLQotaWYg
dGVzdCAieCRlbmFibGVfeGVuYXBpIiA9ICJ4bm8iOyB0aGVuIDoKLQotICAgIGF4X2N2X3hlbmFw
aT0ibiIKLQotZWxpZiB0ZXN0ICJ4JGVuYWJsZV94ZW5hcGkiID0gInh5ZXMiOyB0aGVuIDoKLQot
ICAgIGF4X2N2X3hlbmFwaT0ieSIKLQotZWxpZiB0ZXN0IC16ICRheF9jdl94ZW5hcGk7IHRoZW4g
OgotCi0gICAgYXhfY3ZfeGVuYXBpPSJuIgotCi1maQoteGVuYXBpPSRheF9jdl94ZW5hcGkKLQot
Ci0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1weXRob250b29scyB3YXMgZ2l2ZW4uCi1pZiB0
ZXN0ICIke2VuYWJsZV9weXRob250b29scytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZh
bD0kZW5hYmxlX3B5dGhvbnRvb2xzOwotZmkKLQotCi1pZiB0ZXN0ICJ4JGVuYWJsZV9weXRob250
b29scyIgPSAieG5vIjsgdGhlbiA6Ci0KLSAgICBheF9jdl9weXRob250b29scz0ibiIKLQotZWxp
ZiB0ZXN0ICJ4JGVuYWJsZV9weXRob250b29scyIgPSAieHllcyI7IHRoZW4gOgotCi0gICAgYXhf
Y3ZfcHl0aG9udG9vbHM9InkiCi0KLWVsaWYgdGVzdCAteiAkYXhfY3ZfcHl0aG9udG9vbHM7IHRo
ZW4gOgotCi0gICAgYXhfY3ZfcHl0aG9udG9vbHM9InkiCi0KLWZpCi1weXRob250b29scz0kYXhf
Y3ZfcHl0aG9udG9vbHMKLQotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1vY2FtbHRvb2xz
IHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7ZW5hYmxlX29jYW1sdG9vbHMrc2V0fSIgPSBzZXQ7IHRo
ZW4gOgotICBlbmFibGV2YWw9JGVuYWJsZV9vY2FtbHRvb2xzOwotZmkKLQotCi1pZiB0ZXN0ICJ4
JGVuYWJsZV9vY2FtbHRvb2xzIiA9ICJ4bm8iOyB0aGVuIDoKLQotICAgIGF4X2N2X29jYW1sdG9v
bHM9Im4iCi0KLWVsaWYgdGVzdCAieCRlbmFibGVfb2NhbWx0b29scyIgPSAieHllcyI7IHRoZW4g
OgotCi0gICAgYXhfY3Zfb2NhbWx0b29scz0ieSIKLQotZWxpZiB0ZXN0IC16ICRheF9jdl9vY2Ft
bHRvb2xzOyB0aGVuIDoKLQotICAgIGF4X2N2X29jYW1sdG9vbHM9InkiCi0KLWZpCi1vY2FtbHRv
b2xzPSRheF9jdl9vY2FtbHRvb2xzCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbWlu
aXRlcm0gd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfbWluaXRlcm0rc2V0fSIgPSBzZXQ7
IHRoZW4gOgotICBlbmFibGV2YWw9JGVuYWJsZV9taW5pdGVybTsKLWZpCi0KLQotaWYgdGVzdCAi
eCRlbmFibGVfbWluaXRlcm0iID0gInhubyI7IHRoZW4gOgotCi0gICAgYXhfY3ZfbWluaXRlcm09
Im4iCi0KLWVsaWYgdGVzdCAieCRlbmFibGVfbWluaXRlcm0iID0gInh5ZXMiOyB0aGVuIDoKLQot
ICAgIGF4X2N2X21pbml0ZXJtPSJ5IgotCi1lbGlmIHRlc3QgLXogJGF4X2N2X21pbml0ZXJtOyB0
aGVuIDoKLQotICAgIGF4X2N2X21pbml0ZXJtPSJuIgotCi1maQotbWluaXRlcm09JGF4X2N2X21p
bml0ZXJtCi0KLQotCi0jIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbG9tb3VudCB3YXMgZ2l2ZW4u
Ci1pZiB0ZXN0ICIke2VuYWJsZV9sb21vdW50K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxl
dmFsPSRlbmFibGVfbG9tb3VudDsKLWZpCi0KLQotaWYgdGVzdCAieCRlbmFibGVfbG9tb3VudCIg
PSAieG5vIjsgdGhlbiA6Ci0KLSAgICBheF9jdl9sb21vdW50PSJuIgotCi1lbGlmIHRlc3QgIngk
ZW5hYmxlX2xvbW91bnQiID0gInh5ZXMiOyB0aGVuIDoKLQotICAgIGF4X2N2X2xvbW91bnQ9Inki
Ci0KLWVsaWYgdGVzdCAteiAkYXhfY3ZfbG9tb3VudDsgdGhlbiA6Ci0KLSAgICBheF9jdl9sb21v
dW50PSJuIgotCi1maQotbG9tb3VudD0kYXhfY3ZfbG9tb3VudAotCi0KLQotIyBDaGVjayB3aGV0
aGVyIC0tZW5hYmxlLW92bWYgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfb3ZtZitzZXR9
IiA9IHNldDsgdGhlbiA6Ci0gIGVuYWJsZXZhbD0kZW5hYmxlX292bWY7Ci1maQotCi0KLWlmIHRl
c3QgIngkZW5hYmxlX292bWYiID0gInhubyI7IHRoZW4gOgotCi0gICAgYXhfY3Zfb3ZtZj0ibiIK
LQotZWxpZiB0ZXN0ICJ4JGVuYWJsZV9vdm1mIiA9ICJ4eWVzIjsgdGhlbiA6Ci0KLSAgICBheF9j
dl9vdm1mPSJ5IgotCi1lbGlmIHRlc3QgLXogJGF4X2N2X292bWY7IHRoZW4gOgotCi0gICAgYXhf
Y3Zfb3ZtZj0ibiIKLQotZmkKLW92bWY9JGF4X2N2X292bWYKKyMgTTQgTWFjcm8gaW5jbHVkZXMK
IAogCiAKLSMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1yb21iaW9zIHdhcyBnaXZlbi4KLWlmIHRl
c3QgIiR7ZW5hYmxlX3JvbWJpb3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICBlbmFibGV2YWw9JGVu
YWJsZV9yb21iaW9zOwotZmkKIAogCi1pZiB0ZXN0ICJ4JGVuYWJsZV9yb21iaW9zIiA9ICJ4bm8i
OyB0aGVuIDoKIAotICAgIGF4X2N2X3JvbWJpb3M9Im4iCiAKLWVsaWYgdGVzdCAieCRlbmFibGVf
cm9tYmlvcyIgPSAieHllcyI7IHRoZW4gOgogCi0gICAgYXhfY3Zfcm9tYmlvcz0ieSIKIAotZWxp
ZiB0ZXN0IC16ICRheF9jdl9yb21iaW9zOyB0aGVuIDoKIAotICAgIGF4X2N2X3JvbWJpb3M9Inki
CiAKLWZpCi1yb21iaW9zPSRheF9jdl9yb21iaW9zCiAKIAogCi0jIENoZWNrIHdoZXRoZXIgLS1l
bmFibGUtc2VhYmlvcyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke2VuYWJsZV9zZWFiaW9zK3NldH0i
ID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxldmFsPSRlbmFibGVfc2VhYmlvczsKLWZpCiAKIAotaWYg
dGVzdCAieCRlbmFibGVfc2VhYmlvcyIgPSAieG5vIjsgdGhlbiA6CiAKLSAgICBheF9jdl9zZWFi
aW9zPSJuIgogCi1lbGlmIHRlc3QgIngkZW5hYmxlX3NlYWJpb3MiID0gInh5ZXMiOyB0aGVuIDoK
IAotICAgIGF4X2N2X3NlYWJpb3M9InkiCiAKLWVsaWYgdGVzdCAteiAkYXhfY3Zfc2VhYmlvczsg
dGhlbiA6CiAKLSAgICBheF9jdl9zZWFiaW9zPSJ5IgogCi1maQotc2VhYmlvcz0kYXhfY3Zfc2Vh
YmlvcwogCiAKIAotIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWRlYnVnIHdhcyBnaXZlbi4KLWlm
IHRlc3QgIiR7ZW5hYmxlX2RlYnVnK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxldmFsPSRl
bmFibGVfZGVidWc7Ci1maQogCiAKLWlmIHRlc3QgIngkZW5hYmxlX2RlYnVnIiA9ICJ4bm8iOyB0
aGVuIDoKIAotICAgIGF4X2N2X2RlYnVnPSJuIgogCi1lbGlmIHRlc3QgIngkZW5hYmxlX2RlYnVn
IiA9ICJ4eWVzIjsgdGhlbiA6CiAKLSAgICBheF9jdl9kZWJ1Zz0ieSIKIAotZWxpZiB0ZXN0IC16
ICRheF9jdl9kZWJ1ZzsgdGhlbiA6CiAKLSAgICBheF9jdl9kZWJ1Zz0ieSIKIAotZmkKLWRlYnVn
PSRheF9jdl9kZWJ1ZwogCiAKIApAQCAtNDI0MCw5MzAgKzIyMjIsNDMyIEBAIGRlYnVnPSRheF9j
dl9kZWJ1ZwogCiAKIAotZm9yIGNmbGFnIGluICRQUkVQRU5EX0lOQ0xVREVTCi1kbwotICAgIFBS
RVBFTkRfQ0ZMQUdTKz0iIC1JJGNmbGFnIgotZG9uZQotZm9yIGxkZmxhZyBpbiAkUFJFUEVORF9M
SUIKLWRvCi0gICAgUFJFUEVORF9MREZMQUdTKz0iIC1MJGxkZmxhZyIKLWRvbmUKLWZvciBjZmxh
ZyBpbiAkQVBQRU5EX0lOQ0xVREVTCi1kbwotICAgIEFQUEVORF9DRkxBR1MrPSIgLUkkY2ZsYWci
Ci1kb25lCi1mb3IgbGRmbGFnIGluICRBUFBFTkRfTElCCi1kbwotICAgIEFQUEVORF9MREZMQUdT
Kz0iIC1MJGxkZmxhZyIKLWRvbmUKLUNGTEFHUz0iJFBSRVBFTkRfQ0ZMQUdTICRDRkxBR1MgJEFQ
UEVORF9DRkxBR1MiCi1MREZMQUdTPSIkUFJFUEVORF9MREZMQUdTICRMREZMQUdTICRBUFBFTkRf
TERGTEFHUyIKIAogCiAKIAogCiAKKyMgcGtnLm00IC0gTWFjcm9zIHRvIGxvY2F0ZSBhbmQgdXRp
bGlzZSBwa2ctY29uZmlnLiAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KKyMgc2VyaWFsIDEg
KHBrZy1jb25maWctMC4yNCkKKyMKKyMgQ29weXJpZ2h0IMKpIDIwMDQgU2NvdHQgSmFtZXMgUmVt
bmFudCA8c2NvdHRAbmV0c3BsaXQuY29tPi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMK
KyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsIGJ1dAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dy
YW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVT
QS4KKyMKKyMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UsIGlmIHlvdQorIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJv
Z3JhbSB0aGF0IGNvbnRhaW5zIGEKKyMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5
IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKKyMgdGhlIHNhbWUgZGlzdHJpYnV0
aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgogCisj
IFBLR19QUk9HX1BLR19DT05GSUcoW01JTi1WRVJTSU9OXSkKKyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorIyBQS0dfUFJPR19QS0dfQ09ORklHCiAKKyMgUEtHX0NIRUNLX0VY
SVNUUyhNT0RVTEVTLCBbQUNUSU9OLUlGLUZPVU5EXSwgW0FDVElPTi1JRi1OT1QtRk9VTkRdKQor
IworIyBDaGVjayB0byBzZWUgd2hldGhlciBhIHBhcnRpY3VsYXIgc2V0IG9mIG1vZHVsZXMgZXhp
c3RzLiAgU2ltaWxhcgorIyB0byBQS0dfQ0hFQ0tfTU9EVUxFUygpLCBidXQgZG9lcyBub3Qgc2V0
IHZhcmlhYmxlcyBvciBwcmludCBlcnJvcnMuCisjCisjIFBsZWFzZSByZW1lbWJlciB0aGF0IG00
IGV4cGFuZHMgQUNfUkVRVUlSRShbUEtHX1BST0dfUEtHX0NPTkZJR10pCisjIG9ubHkgYXQgdGhl
IGZpcnN0IG9jY3VyZW5jZSBpbiBjb25maWd1cmUuYWMsIHNvIGlmIHRoZSBmaXJzdCBwbGFjZQor
IyBpdCdzIGNhbGxlZCBtaWdodCBiZSBza2lwcGVkIChzdWNoIGFzIGlmIGl0IGlzIHdpdGhpbiBh
biAiaWYiLCB5b3UKKyMgaGF2ZSB0byBjYWxsIFBLR19DSEVDS19FWElTVFMgbWFudWFsbHkKKyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIAogCisjIF9QS0dfQ09ORklHKFtWQVJJQUJMRV0sIFtDT01NQU5EXSwgW01PRFVMRVNd
KQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgX1BL
R19DT05GSUcKIAorIyBfUEtHX1NIT1JUX0VSUk9SU19TVVBQT1JURUQKKyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKyMgX1BLR19TSE9SVF9FUlJPUlNfU1VQUE9SVEVECiAKIAorIyBQ
S0dfQ0hFQ0tfTU9EVUxFUyhWQVJJQUJMRS1QUkVGSVgsIE1PRFVMRVMsIFtBQ1RJT04tSUYtRk9V
TkRdLAorIyBbQUNUSU9OLUlGLU5PVC1GT1VORF0pCisjCisjCisjIE5vdGUgdGhhdCBpZiB0aGVy
ZSBpcyBhIHBvc3NpYmlsaXR5IHRoZSBmaXJzdCBjYWxsIHRvCisjIFBLR19DSEVDS19NT0RVTEVT
IG1pZ2h0IG5vdCBoYXBwZW4sIHlvdSBzaG91bGQgYmUgc3VyZSB0byBpbmNsdWRlIGFuCisjIGV4
cGxpY2l0IGNhbGwgdG8gUEtHX1BST0dfUEtHX0NPTkZJRyBpbiB5b3VyIGNvbmZpZ3VyZS5hYwor
IworIworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorIyBQS0dfQ0hFQ0tfTU9EVUxFUwogCi0jIENoZWNrcyBmb3IgcHJvZ3Jh
bXMuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZv
ciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dCIgPiY1Ci0kYXNfZWNob19uICJj
aGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gIiA+JjY7
IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9TRUQrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNf
ZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICAgICAgICAgICAgYWNfc2NyaXB0PXMvYWFh
YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEvYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJi
YmJiYmJiYmJiLwotICAgICBmb3IgYWNfaSBpbiAxIDIgMyA0IDUgNiA3OyBkbwotICAgICAgIGFj
X3NjcmlwdD0iJGFjX3NjcmlwdCRhc19ubCRhY19zY3JpcHQiCi0gICAgIGRvbmUKLSAgICAgZWNo
byAiJGFjX3NjcmlwdCIgMj4vZGV2L251bGwgfCBzZWQgOTlxID5jb25mdGVzdC5zZWQKLSAgICAg
eyBhY19zY3JpcHQ9OyB1bnNldCBhY19zY3JpcHQ7fQotICAgICBpZiB0ZXN0IC16ICIkU0VEIjsg
dGhlbgotICBhY19wYXRoX1NFRF9mb3VuZD1mYWxzZQotICAjIExvb3AgdGhyb3VnaCB0aGUgdXNl
cidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAotICBhc19zYXZlX0lG
Uz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJ
RlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9y
IGFjX3Byb2cgaW4gc2VkIGdzZWQ7IGRvCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19l
eGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gICAgICBhY19wYXRoX1NFRD0iJGFzX2Rpci8kYWNf
cHJvZyRhY19leGVjX2V4dCIKLSAgICAgIHsgdGVzdCAtZiAiJGFjX3BhdGhfU0VEIiAmJiAkYXNf
dGVzdF94ICIkYWNfcGF0aF9TRUQiOyB9IHx8IGNvbnRpbnVlCi0jIENoZWNrIGZvciBHTlUgYWNf
cGF0aF9TRUQgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4KLSAgIyBDaGVjayBmb3IgR05V
ICRhY19wYXRoX1NFRAotY2FzZSBgIiRhY19wYXRoX1NFRCIgLS12ZXJzaW9uIDI+JjFgIGluCi0q
R05VKikKLSAgYWNfY3ZfcGF0aF9TRUQ9IiRhY19wYXRoX1NFRCIgYWNfcGF0aF9TRURfZm91bmQ9
Ojs7Ci0qKQotICBhY19jb3VudD0wCi0gICRhc19lY2hvX24gMDEyMzQ1Njc4OSA+ImNvbmZ0ZXN0
LmluIgotICB3aGlsZSA6Ci0gIGRvCi0gICAgY2F0ICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0Lmlu
IiA+ImNvbmZ0ZXN0LnRtcCIKLSAgICBtdiAiY29uZnRlc3QudG1wIiAiY29uZnRlc3QuaW4iCi0g
ICAgY3AgImNvbmZ0ZXN0LmluIiAiY29uZnRlc3QubmwiCi0gICAgJGFzX2VjaG8gJycgPj4gImNv
bmZ0ZXN0Lm5sIgotICAgICIkYWNfcGF0aF9TRUQiIC1mIGNvbmZ0ZXN0LnNlZCA8ICJjb25mdGVz
dC5ubCIgPiJjb25mdGVzdC5vdXQiIDI+L2Rldi9udWxsIHx8IGJyZWFrCi0gICAgZGlmZiAiY29u
ZnRlc3Qub3V0IiAiY29uZnRlc3QubmwiID4vZGV2L251bGwgMj4mMSB8fCBicmVhawotICAgIGFz
X2ZuX2FyaXRoICRhY19jb3VudCArIDEgJiYgYWNfY291bnQ9JGFzX3ZhbAotICAgIGlmIHRlc3Qg
JGFjX2NvdW50IC1ndCAke2FjX3BhdGhfU0VEX21heC0wfTsgdGhlbgotICAgICAgIyBCZXN0IG9u
ZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAgbG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCi0gICAg
ICBhY19jdl9wYXRoX1NFRD0iJGFjX3BhdGhfU0VEIgotICAgICAgYWNfcGF0aF9TRURfbWF4PSRh
Y19jb3VudAotICAgIGZpCi0gICAgIyAxMCooMl4xMCkgY2hhcnMgYXMgaW5wdXQgc2VlbXMgbW9y
ZSB0aGFuIGVub3VnaAotICAgIHRlc3QgJGFjX2NvdW50IC1ndCAxMCAmJiBicmVhawotICBkb25l
Ci0gIHJtIC1mIGNvbmZ0ZXN0LmluIGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5ubCBjb25mdGVzdC5v
dXQ7OwotZXNhYwogCi0gICAgICAkYWNfcGF0aF9TRURfZm91bmQgJiYgYnJlYWsgMwotICAgIGRv
bmUKLSAgZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCi0gIGlmIHRlc3QgLXogIiRhY19j
dl9wYXRoX1NFRCI7IHRoZW4KLSAgICBhc19mbl9lcnJvciAkPyAibm8gYWNjZXB0YWJsZSBzZWQg
Y291bGQgYmUgZm91bmQgaW4gXCRQQVRIIiAiJExJTkVOTyIgNQotICBmaQotZWxzZQotICBhY19j
dl9wYXRoX1NFRD0kU0VECi1maQogCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9wYXRoX1NFRCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2
X3BhdGhfU0VEIiA+JjY7IH0KLSBTRUQ9IiRhY19jdl9wYXRoX1NFRCIKLSAgcm0gLWYgY29uZnRl
c3Quc2VkCisjIFdlIGRlZmluZSwgc2VwYXJhdGVseSwgUFRIUkVBRF9DRkxBR1MsIF9MREZMQUdT
IGFuZCBfTElCUworIyBldmVuIHRob3VnaCBjdXJyZW50bHkgd2UgZG9uJ3Qgc2V0IHRoZW0gdmVy
eSBzZXBhcmF0ZWx5LgorIyBUaGlzIG1lYW5zIHRoYXQgdGhlIG1ha2VmaWxlcyB3aWxsIG5vdCBu
ZWVkIHRvIGNoYW5nZSBpbgorIyB0aGUgZnV0dXJlIGlmIHdlIG1ha2UgdGhlIHRlc3QgbW9yZSBz
b3BoaXN0aWNhdGVkLgogCi1hY19leHQ9YwotYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKLWFjX2Nv
bXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKLWFj
X2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxB
R1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi1hY19jb21waWxlcl9nbnU9JGFjX2N2X2Nf
Y29tcGlsZXJfZ251Ci1pZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1nY2MiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9
Z2NjOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsg
dGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRlc3QgLW4g
IiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Z2NjIgotICAgICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZT
PSRhc19zYXZlX0lGUwogCi1maQotZmkKLUNDPSRhY19jdl9wcm9nX0NDCi1pZiB0ZXN0IC1uICIk
Q0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz
dWx0OiAkQ0MiID4mNQotJGFzX2VjaG8gIiRDQyIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAi
bm8iID4mNjsgfQotZmkKIAorIyBXZSBpbnZva2UgQVhfUFRIUkVBRF9WQVJTIHdpdGggdGhlIG5h
bWUgb2YgYW5vdGhlciBtYWNybworIyB3aGljaCBpcyB0aGVuIGV4cGFuZGVkIG9uY2UgZm9yIGVh
Y2ggdmFyaWFibGUuCiAKLWZpCi1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19DQyI7IHRoZW4KLSAg
YWNfY3RfQ0M9JENDCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZ2NjIiwgc28gaXQg
Y2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBnY2M7IGFjX3dvcmQ9
JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9y
ICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4m
NjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0NDK3NldH0iID0gc2V0OyB0aGVuIDoK
LSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAtbiAiJGFjX2N0
X0NDIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfY3RfQ0MiICMgTGV0IHRoZSB1
c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRI
X1NFUEFSQVRPUgotZm9yIGFzX2RpciBpbiAkUEFUSAotZG8KLSAgSUZTPSRhc19zYXZlX0lGUwot
ICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgIGZvciBhY19leGVjX2V4dCBpbiAn
JyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICBpZiB7IHRlc3QgLWYgIiRhc19kaXIv
JGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iZ2NjIgotICAgICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZT
PSRhc19zYXZlX0lGUwogCi1maQotZmkKLWFjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCi1p
ZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQotJGFzX2VjaG8gIiRhY19jdF9D
QyIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKIAotICBpZiB0ZXN0
ICJ4JGFjX2N0X0NDIiA9IHg7IHRoZW4KLSAgICBDQz0iIgotICBlbHNlCi0gICAgY2FzZSAkY3Jv
c3NfY29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHBy
ZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6
IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30K
LWFjX3Rvb2xfd2FybmVkPXllcyA7OwotZXNhYwotICAgIENDPSRhY19jdF9DQwotICBmaQotZWxz
ZQotICBDQz0iJGFjX2N2X3Byb2dfQ0MiCi1maQogCi1pZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCi0g
ICAgICAgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAgICMgRXh0cmFj
dCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1jYyIsIHNvIGl0IGNhbiBiZSBh
IHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1jYzsg
YWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVj
a2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3Jk
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4g
OgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1uICIkQ0Mi
OyB0aGVuCi0gIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhl
IHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3Ig
YXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19k
aXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxl
X2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRo
ZW4KLSAgICBhY19jdl9wcm9nX0NDPSIke2FjX3Rvb2xfcHJlZml4fWNjIgotICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19z
YXZlX0lGUwogCi1maQotZmkKLUNDPSRhY19jdl9wcm9nX0NDCi1pZiB0ZXN0IC1uICIkQ0MiOyB0
aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
Q0MiID4mNQotJGFzX2VjaG8gIiRDQyIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4m
NjsgfQotZmkKIAogCi0gIGZpCi1maQotaWYgdGVzdCAteiAiJENDIjsgdGhlbgotICAjIEV4dHJh
Y3QgdGhlIGZpcnN0IHdvcmQgb2YgImNjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdp
dGggYXJncy4KLXNldCBkdW1teSBjYzsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9f
biAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3By
b2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgot
ZWxzZQotICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBM
ZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi0gIGFjX3Byb2dfcmVqZWN0ZWQ9
bm8KLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4g
JFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNf
ZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9u
czsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAk
YXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGlm
IHRlc3QgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID0gIi91c3IvdWNiL2NjIjsgdGhl
bgotICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCi0gICAgICAgY29udGludWUKLSAgICAgZmkK
LSAgICBhY19jdl9wcm9nX0NDPSJjYyIKLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBi
cmVhayAyCi0gIGZpCi1kb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKIAotaWYgdGVzdCAk
YWNfcHJvZ19yZWplY3RlZCA9IHllczsgdGhlbgotICAjIFdlIGZvdW5kIGEgYm9nb24gaW4gdGhl
IHBhdGgsIHNvIG1ha2Ugc3VyZSB3ZSBuZXZlciB1c2UgaXQuCi0gIHNldCBkdW1teSAkYWNfY3Zf
cHJvZ19DQwotICBzaGlmdAotICBpZiB0ZXN0ICQjICE9IDA7IHRoZW4KLSAgICAjIFdlIGNob3Nl
IGEgZGlmZmVyZW50IGNvbXBpbGVyIGZyb20gdGhlIGJvZ3VzIG9uZS4KLSAgICAjIEhvd2V2ZXIs
IGl0IGhhcyB0aGUgc2FtZSBiYXNlbmFtZSwgc28gdGhlIGJvZ29uIHdpbGwgYmUgY2hvc2VuCi0g
ICAgIyBmaXJzdCBpZiB3ZSBzZXQgQ0MgdG8ganVzdCB0aGUgYmFzZW5hbWU7IHVzZSB0aGUgZnVs
bCBmaWxlIG5hbWUuCi0gICAgc2hpZnQKLSAgICBhY19jdl9wcm9nX0NDPSIkYXNfZGlyLyRhY193
b3JkJHsxKycgJ30kQCIKLSAgZmkKLWZpCi1maQotZmkKLUNDPSRhY19jdl9wcm9nX0NDCi1pZiB0
ZXN0IC1uICIkQ0MiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiAkQ0MiID4mNQotJGFzX2VjaG8gIiRDQyIgPiY2OyB9Ci1lbHNlCi0gIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0k
YXNfZWNobyAibm8iID4mNjsgfQorIyBFbmFibGUvZGlzYWJsZSBvcHRpb25zCisKKyMgQ2hlY2sg
d2hldGhlciAtLWVuYWJsZS1naXRodHRwIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2dp
dGh0dHArc2V0fSIgPSBzZXQ7IHRoZW4gOgorICBlbmFibGV2YWw9JGVuYWJsZV9naXRodHRwOwog
ZmkKIAogCi1maQotaWYgdGVzdCAteiAiJENDIjsgdGhlbgotICBpZiB0ZXN0IC1uICIkYWNfdG9v
bF9wcmVmaXgiOyB0aGVuCi0gIGZvciBhY19wcm9nIGluIGNsLmV4ZQotICBkbwotICAgICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciLCBzbyBpdCBj
YW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICRhY190b29sX3ByZWZp
eCRhY19wcm9nOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBm
b3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9
IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGlmIHRl
c3QgLW4gIiRDQyI7IHRoZW4KLSAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBv
dmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBB
UkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVz
dCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFj
X2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfQ0M9IiRhY190b29sX3ByZWZpeCRhY19wcm9n
IgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19k
aXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAg
ZG9uZQotSUZTPSRhc19zYXZlX0lGUworaWYgdGVzdCAieCRlbmFibGVfZ2l0aHR0cCIgPSAieG5v
IjsgdGhlbiA6CiAKLWZpCi1maQotQ0M9JGFjX2N2X3Byb2dfQ0MKLWlmIHRlc3QgLW4gIiRDQyI7
IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRDQyIgPiY1Ci0kYXNfZWNobyAiJENDIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIg
PiY2OyB9Ci1maQorICAgIGF4X2N2X2dpdGh0dHA9Im4iCiAKK2VsaWYgdGVzdCAieCRlbmFibGVf
Z2l0aHR0cCIgPSAieHllcyI7IHRoZW4gOgogCi0gICAgdGVzdCAtbiAiJENDIiAmJiBicmVhawot
ICBkb25lCi1maQotaWYgdGVzdCAteiAiJENDIjsgdGhlbgotICBhY19jdF9DQz0kQ0MKLSAgZm9y
IGFjX3Byb2cgaW4gY2wuZXhlCi1kbwotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRh
Y19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1t
eSAkYWNfcHJvZzsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mr
c2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQot
ICBpZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRh
Y19jdF9DQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZl
X0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwot
ICBJRlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAg
Zm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlm
IHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2Fj
X2N0X0NDPSIkYWNfcHJvZyIKLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBicmVhayAy
Ci0gIGZpCi1kb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKKyAgICBheF9jdl9naXRodHRw
PSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X2dpdGh0dHA7IHRoZW4gOgorCisgICAgYXhfY3Zf
Z2l0aHR0cD0ibiIKIAogZmkKLWZpCi1hY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQwotaWYg
dGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X0NDIiA+JjUKLSRhc19lY2hvICIkYWNfY3RfQ0Mi
ID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLWZpCitnaXRodHRwPSRheF9j
dl9naXRodHRwCiAKIAotICB0ZXN0IC1uICIkYWNfY3RfQ0MiICYmIGJyZWFrCi1kb25lCiAKLSAg
aWYgdGVzdCAieCRhY19jdF9DQyIgPSB4OyB0aGVuCi0gICAgQ0M9IiIKLSAgZWxzZQotICAgIGNh
c2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KLXllczopCi17ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xz
IG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1Ci0kYXNfZWNobyAiJGFzX21lOiBX
QVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQi
ID4mMjt9Ci1hY190b29sX3dhcm5lZD15ZXMgOzsKLWVzYWMKLSAgICBDQz0kYWNfY3RfQ0MKLSAg
ZmkKKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1tb25pdG9ycyB3YXMgZ2l2ZW4uCitpZiB0ZXN0
ICIke2VuYWJsZV9tb25pdG9ycytzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5h
YmxlX21vbml0b3JzOwogZmkKIAotZmkKIAoraWYgdGVzdCAieCRlbmFibGVfbW9uaXRvcnMiID0g
InhubyI7IHRoZW4gOgogCi10ZXN0IC16ICIkQ0MiICYmIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2VjaG8g
IiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8gIm5v
IGFjY2VwdGFibGUgQyBjb21waWxlciBmb3VuZCBpbiBcJFBBVEgKLVNlZSBcYGNvbmZpZy5sb2cn
IGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQorICAgIGF4X2N2X21vbml0b3JzPSJu
IgogCi0jIFByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tcGlsZXIuCi0kYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgQyBjb21waWxl
ciB2ZXJzaW9uIiA+JjUKLXNldCBYICRhY19jb21waWxlCi1hY19jb21waWxlcj0kMgotZm9yIGFj
X29wdGlvbiBpbiAtLXZlcnNpb24gLXYgLVYgLXF2ZXJzaW9uOyBkbwotICB7IHsgYWNfdHJ5PSIk
YWNfY29tcGlsZXIgJGFjX29wdGlvbiA+JjUiCi1jYXNlICIoKCRhY190cnkiIGluCi0gICpcIiog
fCAqXGAqIHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OwotICAqKSBhY190cnlfZWNobz0k
YWNfdHJ5OzsKLWVzYWMKLWV2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogJGFjX3RyeV9lY2hvXCIiCi0kYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsgfSA+JjUK
LSAgKGV2YWwgIiRhY19jb21waWxlciAkYWNfb3B0aW9uID4mNSIpIDI+Y29uZnRlc3QuZXJyCi0g
IGFjX3N0YXR1cz0kPwotICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgotICAgIHNlZCAn
MTBhXAotLi4uIHJlc3Qgb2Ygc3RkZXJyIG91dHB1dCBkZWxldGVkIC4uLgotICAgICAgICAgMTBx
JyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMQotICAgIGNhdCBjb25mdGVzdC5lcjEgPiY1Ci0g
IGZpCi0gIHJtIC1mIGNvbmZ0ZXN0LmVyMSBjb25mdGVzdC5lcnIKLSAgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1Ci0gIHRlc3QgJGFj
X3N0YXR1cyA9IDA7IH0KLWRvbmUKK2VsaWYgdGVzdCAieCRlbmFibGVfbW9uaXRvcnMiID0gInh5
ZXMiOyB0aGVuIDoKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj
aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2NfY29tcGlsZXJfZ251K3NldH0iID0gc2V0
OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2F0IGNvbmZk
ZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAq
LworICAgIGF4X2N2X21vbml0b3JzPSJ5IgogCi1pbnQKLW1haW4gKCkKLXsKLSNpZm5kZWYgX19H
TlVDX18KLSAgICAgICBjaG9rZSBtZQotI2VuZGlmCitlbGlmIHRlc3QgLXogJGF4X2N2X21vbml0
b3JzOyB0aGVuIDoKIAotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3Ry
eV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2NvbXBpbGVyX2dudT15ZXMKLWVsc2UK
LSAgYWNfY29tcGlsZXJfZ251PW5vCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRl
c3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1hY19jdl9jX2NvbXBpbGVyX2dudT0kYWNf
Y29tcGlsZXJfZ251CisgICAgYXhfY3ZfbW9uaXRvcnM9InkiCiAKIGZpCi17ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2NfY29tcGlsZXJfZ251
IiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNjsgfQotaWYgdGVzdCAk
YWNfY29tcGlsZXJfZ251ID0geWVzOyB0aGVuCi0gIEdDQz15ZXMKLWVsc2UKLSAgR0NDPQotZmkK
LWFjX3Rlc3RfQ0ZMQUdTPSR7Q0ZMQUdTK3NldH0KLWFjX3NhdmVfQ0ZMQUdTPSRDRkxBR1MKLXsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciAk
Q0MgYWNjZXB0cyAtZyIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICRDQyBhY2Nl
cHRzIC1nLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfY2NfZytzZXR9IiA9IHNl
dDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFjX3NhdmVf
Y193ZXJyb3JfZmxhZz0kYWNfY193ZXJyb3JfZmxhZwotICAgYWNfY193ZXJyb3JfZmxhZz15ZXMK
LSAgIGFjX2N2X3Byb2dfY2NfZz1ubwotICAgQ0ZMQUdTPSItZyIKLSAgIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KK21v
bml0b3JzPSRheF9jdl9tb25pdG9ycwogCi1pbnQKLW1haW4gKCkKLXsKIAotICA7Ci0gIHJldHVy
biAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6
Ci0gIGFjX2N2X3Byb2dfY2NfZz15ZXMKLWVsc2UKLSAgQ0ZMQUdTPSIiCi0gICAgICBjYXQgY29u
ZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4g
ICovCiAKLWludAotbWFpbiAoKQoteworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXZ0cG0gd2Fz
IGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfdnRwbStzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVu
YWJsZXZhbD0kZW5hYmxlX3Z0cG07CitmaQogCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YK
LWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKIAotZWxzZQotICBhY19j
X3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKLQkgQ0ZMQUdTPSItZyIKLQkgY2F0
IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZz
LmguICAqLworaWYgdGVzdCAieCRlbmFibGVfdnRwbSIgPSAieG5vIjsgdGhlbiA6CiAKLWludAot
bWFpbiAoKQoteworICAgIGF4X2N2X3Z0cG09Im4iCisKK2VsaWYgdGVzdCAieCRlbmFibGVfdnRw
bSIgPSAieHllcyI7IHRoZW4gOgorCisgICAgYXhfY3ZfdnRwbT0ieSIKKworZWxpZiB0ZXN0IC16
ICRheF9jdl92dHBtOyB0aGVuIDoKKworICAgIGF4X2N2X3Z0cG09Im4iCiAKLSAgOwotICByZXR1
cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4g
OgotICBhY19jdl9wcm9nX2NjX2c9eWVzCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29u
ZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1maQotcm0gLWYgY29yZSBjb25mdGVz
dC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1maQotcm0gLWYgY29y
ZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0gICBh
Y19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKLWZpCi17ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3Byb2dfY2NfZyIgPiY1
Ci0kYXNfZWNobyAiJGFjX2N2X3Byb2dfY2NfZyIgPiY2OyB9Ci1pZiB0ZXN0ICIkYWNfdGVzdF9D
RkxBR1MiID0gc2V0OyB0aGVuCi0gIENGTEFHUz0kYWNfc2F2ZV9DRkxBR1MKLWVsaWYgdGVzdCAk
YWNfY3ZfcHJvZ19jY19nID0geWVzOyB0aGVuCi0gIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVu
Ci0gICAgQ0ZMQUdTPSItZyAtTzIiCi0gIGVsc2UKLSAgICBDRkxBR1M9Ii1nIgotICBmaQotZWxz
ZQotICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgotICAgIENGTEFHUz0iLU8yIgotICBlbHNl
Ci0gICAgQ0ZMQUdTPQotICBmaQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogY2hlY2tpbmcgZm9yICRDQyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkiID4mNQot
JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRDQyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19jY19jODkrc2V0fSIgPSBzZXQ7IHRoZW4g
OgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBhY19jdl9wcm9nX2NjX2M4
OT1ubwotYWNfc2F2ZV9DQz0kQ0MKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0
LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNp
bmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9z
dGF0Lmg+Ci0vKiBNb3N0IG9mIHRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIHN0b2xlbiBmcm9tIFJD
UyA1LjcncyBzcmMvY29uZi5zaC4gICovCi1zdHJ1Y3QgYnVmIHsgaW50IHg7IH07Ci1GSUxFICog
KCpyY3NvcGVuKSAoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpOwotc3RhdGljIGNo
YXIgKmUgKHAsIGkpCi0gICAgIGNoYXIgKipwOwotICAgICBpbnQgaTsKLXsKLSAgcmV0dXJuIHBb
aV07Ci19Ci1zdGF0aWMgY2hhciAqZiAoY2hhciAqICgqZykgKGNoYXIgKiosIGludCksIGNoYXIg
KipwLCAuLi4pCi17Ci0gIGNoYXIgKnM7Ci0gIHZhX2xpc3QgdjsKLSAgdmFfc3RhcnQgKHYscCk7
Ci0gIHMgPSBnIChwLCB2YV9hcmcgKHYsaW50KSk7Ci0gIHZhX2VuZCAodik7Ci0gIHJldHVybiBz
OwotfQordnRwbT0kYXhfY3ZfdnRwbQogCi0vKiBPU0YgNC4wIENvbXBhcSBjYyBpcyBzb21lIHNv
cnQgb2YgYWxtb3N0LUFOU0kgYnkgZGVmYXVsdC4gIEl0IGhhcwotICAgZnVuY3Rpb24gcHJvdG90
eXBlcyBhbmQgc3R1ZmYsIGJ1dCBub3QgJ1x4SEgnIGhleCBjaGFyYWN0ZXIgY29uc3RhbnRzLgot
ICAgVGhlc2UgZG9uJ3QgcHJvdm9rZSBhbiBlcnJvciB1bmZvcnR1bmF0ZWx5LCBpbnN0ZWFkIGFy
ZSBzaWxlbnRseSB0cmVhdGVkCi0gICBhcyAneCcuICBUaGUgZm9sbG93aW5nIGluZHVjZXMgYW4g
ZXJyb3IsIHVudGlsIC1zdGQgaXMgYWRkZWQgdG8gZ2V0Ci0gICBwcm9wZXIgQU5TSSBtb2RlLiAg
Q3VyaW91c2x5ICdceDAwJyE9J3gnIGFsd2F5cyBjb21lcyBvdXQgdHJ1ZSwgZm9yIGFuCi0gICBh
cnJheSBzaXplIGF0IGxlYXN0LiAgSXQncyBuZWNlc3NhcnkgdG8gd3JpdGUgJ1x4MDAnPT0wIHRv
IGdldCBzb21ldGhpbmcKLSAgIHRoYXQncyB0cnVlIG9ubHkgd2l0aCAtc3RkLiAgKi8KLWludCBv
c2Y0X2NjX2FycmF5IFsnXHgwMCcgPT0gMCA/IDEgOiAtMV07CiAKLS8qIElCTSBDIDYgZm9yIEFJ
WCBpcyBhbG1vc3QtQU5TSSBieSBkZWZhdWx0LCBidXQgaXQgcmVwbGFjZXMgbWFjcm8gcGFyYW1l
dGVycwotICAgaW5zaWRlIHN0cmluZ3MgYW5kIGNoYXJhY3RlciBjb25zdGFudHMuICAqLwotI2Rl
ZmluZSBGT08oeCkgJ3gnCi1pbnQgeGxjNl9jY19hcnJheVtGT08oYSkgPT0gJ3gnID8gMSA6IC0x
XTsKIAotaW50IHRlc3QgKGludCBpLCBkb3VibGUgeCk7Ci1zdHJ1Y3QgczEge2ludCAoKmYpIChp
bnQgYSk7fTsKLXN0cnVjdCBzMiB7aW50ICgqZikgKGRvdWJsZSBhKTt9OwotaW50IHBhaXJuYW1l
cyAoaW50LCBjaGFyICoqLCBGSUxFICooKikoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBp
bnQpLCBpbnQsIGludCk7Ci1pbnQgYXJnYzsKLWNoYXIgKiphcmd2OwotaW50Ci1tYWluICgpCi17
Ci1yZXR1cm4gZiAoZSwgYXJndiwgMCkgIT0gYXJndlswXSAgfHwgIGYgKGUsIGFyZ3YsIDEpICE9
IGFyZ3ZbMV07Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWZvciBhY19hcmcgaW4gJycg
LXFsYW5nbHZsPWV4dGM4OSAtcWxhbmdsdmw9YW5zaSAtc3RkIFwKLQktQWUgIi1BYSAtRF9IUFVY
X1NPVVJDRSIgIi1YYyAtRF9fRVhURU5TSU9OU19fIgotZG8KLSAgQ0M9IiRhY19zYXZlX0NDICRh
Y19hcmciCi0gIGlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNf
Y3ZfcHJvZ19jY19jODk9JGFjX2FyZworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXhlbmFwaSB3
YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV94ZW5hcGkrc2V0fSIgPSBzZXQ7IHRoZW4gOgor
ICBlbmFibGV2YWw9JGVuYWJsZV94ZW5hcGk7CiBmaQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIg
Y29uZnRlc3QuJGFjX29iamV4dAotICB0ZXN0ICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiAhPSAieG5v
IiAmJiBicmVhawotZG9uZQotcm0gLWYgY29uZnRlc3QuJGFjX2V4dAotQ0M9JGFjX3NhdmVfQ0MK
KworCitpZiB0ZXN0ICJ4JGVuYWJsZV94ZW5hcGkiID0gInhubyI7IHRoZW4gOgorCisgICAgYXhf
Y3ZfeGVuYXBpPSJuIgorCitlbGlmIHRlc3QgIngkZW5hYmxlX3hlbmFwaSIgPSAieHllcyI7IHRo
ZW4gOgorCisgICAgYXhfY3ZfeGVuYXBpPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X3hlbmFw
aTsgdGhlbiA6CisKKyAgICBheF9jdl94ZW5hcGk9Im4iCiAKIGZpCi0jIEFDX0NBQ0hFX1ZBTAot
Y2FzZSAieCRhY19jdl9wcm9nX2NjX2M4OSIgaW4KLSAgeCkKLSAgICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm9uZSBuZWVkZWQiID4mNQotJGFzX2Vj
aG8gIm5vbmUgbmVlZGVkIiA+JjY7IH0gOzsKLSAgeG5vKQotICAgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB1bnN1cHBvcnRlZCIgPiY1Ci0kYXNfZWNo
byAidW5zdXBwb3J0ZWQiID4mNjsgfSA7OwotICAqKQotICAgIENDPSIkQ0MgJGFjX2N2X3Byb2df
Y2NfYzg5IgotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz
dWx0OiAkYWNfY3ZfcHJvZ19jY19jODkiID4mNQotJGFzX2VjaG8gIiRhY19jdl9wcm9nX2NjX2M4
OSIgPiY2OyB9IDs7Ci1lc2FjCi1pZiB0ZXN0ICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiAhPSB4bm87
IHRoZW4gOgoreGVuYXBpPSRheF9jdl94ZW5hcGkKKwogCisKKyMgQ2hlY2sgd2hldGhlciAtLWVu
YWJsZS1weXRob250b29scyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9weXRob250b29s
cytzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5hYmxlX3B5dGhvbnRvb2xzOwog
ZmkKIAotYWNfZXh0PWMKLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCi1hY19jb21waWxlPSckQ0Mg
LWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi1hY19saW5rPSckQ0Mg
LW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0
LiRhY19leHQgJExJQlMgPiY1JwotYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2du
dQogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdo
ZXRoZXIgbG4gLXMgd29ya3MiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciBsbiAt
cyB3b3Jrcy4uLiAiID4mNjsgfQotTE5fUz0kYXNfbG5fcwotaWYgdGVzdCAiJExOX1MiID0gImxu
IC1zIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5ZXMiID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8sIHVzaW5nICRMTl9TIiA+
JjUKLSRhc19lY2hvICJubywgdXNpbmcgJExOX1MiID4mNjsgfQoraWYgdGVzdCAieCRlbmFibGVf
cHl0aG9udG9vbHMiID0gInhubyI7IHRoZW4gOgorCisgICAgYXhfY3ZfcHl0aG9udG9vbHM9Im4i
CisKK2VsaWYgdGVzdCAieCRlbmFibGVfcHl0aG9udG9vbHMiID0gInh5ZXMiOyB0aGVuIDoKKwor
ICAgIGF4X2N2X3B5dGhvbnRvb2xzPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X3B5dGhvbnRv
b2xzOyB0aGVuIDoKKworICAgIGF4X2N2X3B5dGhvbnRvb2xzPSJ5IgorCiBmaQorcHl0aG9udG9v
bHM9JGF4X2N2X3B5dGhvbnRvb2xzCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogY2hlY2tpbmcgd2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBcJChNQUtFKSIgPiY1
Ci0kYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICR7TUFLRS1tYWtlfSBzZXRzIFwkKE1BS0Up
Li4uICIgPiY2OyB9Ci1zZXQgeCAke01BS0UtbWFrZX0KLWFjX21ha2U9YCRhc19lY2hvICIkMiIg
fCBzZWQgJ3MvKy9wL2c7IHMvW15hLXpBLVowLTlfXS9fL2cnYAotaWYgZXZhbCAidGVzdCBcIlwk
e2FjX2N2X3Byb2dfbWFrZV8ke2FjX21ha2V9X3NldCtzZXR9XCIiID0gc2V0OyB0aGVuIDoKLSAg
JGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2F0ID5jb25mdGVzdC5tYWtlIDw8
XF9BQ0VPRgotU0hFTEwgPSAvYmluL3NoCi1hbGw6Ci0JQGVjaG8gJ0BAQCUlJT0kKE1BS0UpPUBA
QCUlJScKLV9BQ0VPRgotIyBHTlUgbWFrZSBzb21ldGltZXMgcHJpbnRzICJtYWtlWzFdOiBFbnRl
cmluZyAuLi4iLCB3aGljaCB3b3VsZCBjb25mdXNlIHVzLgotY2FzZSBgJHtNQUtFLW1ha2V9IC1m
IGNvbmZ0ZXN0Lm1ha2UgMj4vZGV2L251bGxgIGluCi0gICpAQEAlJSU9Pyo9QEBAJSUlKikKLSAg
ICBldmFsIGFjX2N2X3Byb2dfbWFrZV8ke2FjX21ha2V9X3NldD15ZXM7OwotICAqKQotICAgIGV2
YWwgYWNfY3ZfcHJvZ19tYWtlXyR7YWNfbWFrZX1fc2V0PW5vOzsKLWVzYWMKLXJtIC1mIGNvbmZ0
ZXN0Lm1ha2UKKworCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtb2NhbWx0b29scyB3YXMgZ2l2
ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9vY2FtbHRvb2xzK3NldH0iID0gc2V0OyB0aGVuIDoKKyAg
ZW5hYmxldmFsPSRlbmFibGVfb2NhbWx0b29sczsKIGZpCi1pZiBldmFsIHRlc3QgXCRhY19jdl9w
cm9nX21ha2VfJHthY19tYWtlfV9zZXQgPSB5ZXM7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1Ci0kYXNfZWNobyAieWVzIiA+
JjY7IH0KLSAgU0VUX01BS0U9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotICBTRVRf
TUFLRT0iTUFLRT0ke01BS0UtbWFrZX0iCisKKworaWYgdGVzdCAieCRlbmFibGVfb2NhbWx0b29s
cyIgPSAieG5vIjsgdGhlbiA6CisKKyAgICBheF9jdl9vY2FtbHRvb2xzPSJuIgorCitlbGlmIHRl
c3QgIngkZW5hYmxlX29jYW1sdG9vbHMiID0gInh5ZXMiOyB0aGVuIDoKKworICAgIGF4X2N2X29j
YW1sdG9vbHM9InkiCisKK2VsaWYgdGVzdCAteiAkYXhfY3Zfb2NhbWx0b29sczsgdGhlbiA6CisK
KyAgICBheF9jdl9vY2FtbHRvb2xzPSJ5IgorCiBmaQorb2NhbWx0b29scz0kYXhfY3Zfb2NhbWx0
b29scwogCi0jIEZpbmQgYSBnb29kIGluc3RhbGwgcHJvZ3JhbS4gIFdlIHByZWZlciBhIEMgcHJv
Z3JhbSAoZmFzdGVyKSwKLSMgc28gb25lIHNjcmlwdCBpcyBhcyBnb29kIGFzIGFub3RoZXIuICBC
dXQgYXZvaWQgdGhlIGJyb2tlbiBvcgotIyBpbmNvbXBhdGlibGUgdmVyc2lvbnM6Ci0jIFN5c1Yg
L2V0Yy9pbnN0YWxsLCAvdXNyL3NiaW4vaW5zdGFsbAotIyBTdW5PUyAvdXNyL2V0Yy9pbnN0YWxs
Ci0jIElSSVggL3NiaW4vaW5zdGFsbAotIyBBSVggL2Jpbi9pbnN0YWxsCi0jIEFtaWdhT1MgL0Mv
aW5zdGFsbCwgd2hpY2ggaW5zdGFsbHMgYm9vdGJsb2NrcyBvbiBmbG9wcHkgZGlzY3MKLSMgQUlY
IDQgL3Vzci9iaW4vaW5zdGFsbGJzZCwgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGhvdXQgYSAtZyBm
bGFnCi0jIEFGUyAvdXNyL2Fmc3dzL2Jpbi9pbnN0YWxsLCB3aGljaCBtaXNoYW5kbGVzIG5vbmV4
aXN0ZW50IGFyZ3MKLSMgU1ZSNCAvdXNyL3VjYi9pbnN0YWxsLCB3aGljaCB0cmllcyB0byB1c2Ug
dGhlIG5vbmV4aXN0ZW50IGdyb3VwICJzdGFmZiIKLSMgT1MvMidzIHN5c3RlbSBpbnN0YWxsLCB3
aGljaCBoYXMgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBzZW1hbnRpYwotIyAuL2luc3RhbGwsIHdo
aWNoIGNhbiBiZSBlcnJvbmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAuL2luc3RhbGwuc2gu
Ci0jIFJlamVjdCBpbnN0YWxsIHByb2dyYW1zIHRoYXQgY2Fubm90IGluc3RhbGwgbXVsdGlwbGUg
ZmlsZXMuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAiID4mNjsgfQotaWYgdGVzdCAteiAiJElO
U1RBTEwiOyB0aGVuCi1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsg
dGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFzX3NhdmVfSUZT
PSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElG
Uz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICAjIEFj
Y291bnQgZm9yIHBlb3BsZSB3aG8gcHV0IHRyYWlsaW5nIHNsYXNoZXMgaW4gUEFUSCBlbGVtZW50
cy4KLWNhc2UgJGFzX2Rpci8gaW4gIygoCi0gIC4vIHwgLi8vIHwgL1tjQ10vKiB8IFwKLSAgL2V0
Yy8qIHwgL3Vzci9zYmluLyogfCAvdXNyL2V0Yy8qIHwgL3NiaW4vKiB8IC91c3IvYWZzd3MvYmlu
LyogfCBcCi0gID86W1xcL11vczJbXFwvXWluc3RhbGxbXFwvXSogfCA/OltcXC9dT1MyW1xcL11J
TlNUQUxMW1xcL10qIHwgXAotICAvdXNyL3VjYi8qICkgOzsKLSAgKikKLSAgICAjIE9TRjEgYW5k
IFNDTyBPRFQgMy4wIGhhdmUgdGhlaXIgb3duIG5hbWVzIGZvciBpbnN0YWxsLgotICAgICMgRG9u
J3QgdXNlIGluc3RhbGxic2QgZnJvbSBPU0Ygc2luY2UgaXQgaW5zdGFsbHMgc3R1ZmYgYXMgcm9v
dAotICAgICMgYnkgZGVmYXVsdC4KLSAgICBmb3IgYWNfcHJvZyBpbiBnaW5zdGFsbCBzY29pbnN0
IGluc3RhbGw7IGRvCi0gICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVf
ZXh0ZW5zaW9uczsgZG8KLQlpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19l
eHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiOyB9OyB0aGVu
Ci0JICBpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgotCSAgICBncmVwIGRzcG1zZyAiJGFz
X2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCi0JICAgICMg
QUlYIGluc3RhbGwuICBJdCBoYXMgYW4gaW5jb21wYXRpYmxlIGNhbGxpbmcgY29udmVudGlvbi4K
LQkgICAgOgotCSAgZWxpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgotCSAgICBncmVwIHB3
cGx1cyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
Ci0JICAgICMgcHJvZ3JhbS1zcGVjaWZpYyBpbnN0YWxsIHNjcmlwdCB1c2VkIGJ5IEhQIHB3cGx1
cy0tZG9uJ3QgdXNlLgotCSAgICA6Ci0JICBlbHNlCi0JICAgIHJtIC1yZiBjb25mdGVzdC5vbmUg
Y29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgotCSAgICBlY2hvIG9uZSA+IGNvbmZ0ZXN0Lm9uZQot
CSAgICBlY2hvIHR3byA+IGNvbmZ0ZXN0LnR3bwotCSAgICBta2RpciBjb25mdGVzdC5kaXIKLQkg
ICAgaWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiIC1jIGNvbmZ0ZXN0Lm9uZSBjb25m
dGVzdC50d28gImBwd2RgL2NvbmZ0ZXN0LmRpciIgJiYKLQkgICAgICB0ZXN0IC1zIGNvbmZ0ZXN0
Lm9uZSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0LnR3byAmJgotCSAgICAgIHRlc3QgLXMgY29uZnRlc3Qu
ZGlyL2NvbmZ0ZXN0Lm9uZSAmJgotCSAgICAgIHRlc3QgLXMgY29uZnRlc3QuZGlyL2NvbmZ0ZXN0
LnR3bwotCSAgICB0aGVuCi0JICAgICAgYWNfY3ZfcGF0aF9pbnN0YWxsPSIkYXNfZGlyLyRhY19w
cm9nJGFjX2V4ZWNfZXh0IC1jIgotCSAgICAgIGJyZWFrIDMKLQkgICAgZmkKLQkgIGZpCi0JZmkK
LSAgICAgIGRvbmUKLSAgICBkb25lCi0gICAgOzsKLWVzYWMKIAotICBkb25lCi1JRlM9JGFzX3Nh
dmVfSUZTCiAKLXJtIC1yZiBjb25mdGVzdC5vbmUgY29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgor
IyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLW1pbml0ZXJtIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7
ZW5hYmxlX21pbml0ZXJtK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgZW5hYmxldmFsPSRlbmFibGVf
bWluaXRlcm07CitmaQorCisKK2lmIHRlc3QgIngkZW5hYmxlX21pbml0ZXJtIiA9ICJ4bm8iOyB0
aGVuIDoKKworICAgIGF4X2N2X21pbml0ZXJtPSJuIgorCitlbGlmIHRlc3QgIngkZW5hYmxlX21p
bml0ZXJtIiA9ICJ4eWVzIjsgdGhlbiA6CisKKyAgICBheF9jdl9taW5pdGVybT0ieSIKKworZWxp
ZiB0ZXN0IC16ICRheF9jdl9taW5pdGVybTsgdGhlbiA6CisKKyAgICBheF9jdl9taW5pdGVybT0i
biIKIAogZmkKLSAgaWYgdGVzdCAiJHthY19jdl9wYXRoX2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRo
ZW4KLSAgICBJTlNUQUxMPSRhY19jdl9wYXRoX2luc3RhbGwKLSAgZWxzZQotICAgICMgQXMgYSBs
YXN0IHJlc29ydCwgdXNlIHRoZSBzbG93IHNoZWxsIHNjcmlwdC4gIERvbid0IGNhY2hlIGEKLSAg
ICAjIHZhbHVlIGZvciBJTlNUQUxMIHdpdGhpbiBhIHNvdXJjZSBkaXJlY3RvcnksIGJlY2F1c2Ug
dGhhdCB3aWxsCi0gICAgIyBicmVhayBvdGhlciBwYWNrYWdlcyB1c2luZyB0aGUgY2FjaGUgaWYg
dGhhdCBkaXJlY3RvcnkgaXMKLSAgICAjIHJlbW92ZWQsIG9yIGlmIHRoZSB2YWx1ZSBpcyBhIHJl
bGF0aXZlIG5hbWUuCi0gICAgSU5TVEFMTD0kYWNfaW5zdGFsbF9zaAotICBmaQorbWluaXRlcm09
JGF4X2N2X21pbml0ZXJtCisKKworCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbG9tb3VudCB3
YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9sb21vdW50K3NldH0iID0gc2V0OyB0aGVuIDoK
KyAgZW5hYmxldmFsPSRlbmFibGVfbG9tb3VudDsKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJElOU1RBTEwiID4mNQotJGFzX2VjaG8gIiRJTlNU
QUxMIiA+JjY7IH0KIAotIyBVc2UgdGVzdCAteiBiZWNhdXNlIFN1bk9TNCBzaCBtaXNoYW5kbGVz
IGJyYWNlcyBpbiAke3Zhci12YWx9LgotIyBJdCB0aGlua3MgdGhlIGZpcnN0IGNsb3NlIGJyYWNl
IGVuZHMgdGhlIHZhcmlhYmxlIHN1YnN0aXR1dGlvbi4KLXRlc3QgLXogIiRJTlNUQUxMX1BST0dS
QU0iICYmIElOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKIAotdGVzdCAteiAiJElOU1RBTExf
U0NSSVBUIiAmJiBJTlNUQUxMX1NDUklQVD0nJHtJTlNUQUxMfScKK2lmIHRlc3QgIngkZW5hYmxl
X2xvbW91bnQiID0gInhubyI7IHRoZW4gOgogCi10ZXN0IC16ICIkSU5TVEFMTF9EQVRBIiAmJiBJ
TlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JworICAgIGF4X2N2X2xvbW91bnQ9Im4iCiAK
LSMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiYmlzb24iLCBzbyBpdCBjYW4gYmUgYSBwcm9n
cmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGJpc29uOyBhY193b3JkPSQyCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcGF0aF9CSVNPTitzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24g
IihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhc2UgJEJJU09OIGluCi0gIFtcXC9dKiB8ID86W1xc
L10qKQotICBhY19jdl9wYXRoX0JJU09OPSIkQklTT04iICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl
IHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJ
RlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3Nh
dmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNf
ZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNf
d29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX0JJU09OPSIkYXNfZGly
LyRhY193b3JkJGFjX2V4ZWNfZXh0IgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJy
ZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUworZWxpZiB0ZXN0ICJ4
JGVuYWJsZV9sb21vdW50IiA9ICJ4eWVzIjsgdGhlbiA6CisKKyAgICBheF9jdl9sb21vdW50PSJ5
IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X2xvbW91bnQ7IHRoZW4gOgorCisgICAgYXhfY3ZfbG9t
b3VudD0ibiIKIAotICA7OwotZXNhYwogZmkKLUJJU09OPSRhY19jdl9wYXRoX0JJU09OCi1pZiB0
ZXN0IC1uICIkQklTT04iOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkQklTT04iID4mNQotJGFzX2VjaG8gIiRCSVNPTiIgPiY2OyB9Ci1l
bHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBu
byIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQorbG9tb3VudD0kYXhfY3ZfbG9tb3VudAorCisK
KworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLW92bWYgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtl
bmFibGVfb3ZtZitzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5hYmxlX292bWY7
CiBmaQogCiAKLSMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZmxleCIsIHNvIGl0IGNhbiBi
ZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgZmxleDsgYWNfd29yZD0kMgot
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFj
X3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9
Ci1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfRkxFWCtzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGNhc2UgJEZMRVggaW4KLSAgW1xcL10qIHwg
PzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfRkxFWD0iJEZMRVgiICMgTGV0IHRoZSB1c2VyIG92ZXJy
aWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZT
OyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFz
X3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4
ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAt
ZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX0ZMRVg9IiRhc19k
aXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0gICAg
YnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCitpZiB0ZXN0ICJ4
JGVuYWJsZV9vdm1mIiA9ICJ4bm8iOyB0aGVuIDoKKworICAgIGF4X2N2X292bWY9Im4iCisKK2Vs
aWYgdGVzdCAieCRlbmFibGVfb3ZtZiIgPSAieHllcyI7IHRoZW4gOgorCisgICAgYXhfY3Zfb3Zt
Zj0ieSIKKworZWxpZiB0ZXN0IC16ICRheF9jdl9vdm1mOyB0aGVuIDoKKworICAgIGF4X2N2X292
bWY9Im4iCiAKLSAgOzsKLWVzYWMKIGZpCi1GTEVYPSRhY19jdl9wYXRoX0ZMRVgKLWlmIHRlc3Qg
LW4gIiRGTEVYIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJEZMRVgiID4mNQotJGFzX2VjaG8gIiRGTEVYIiA+JjY7IH0KLWVsc2UKLSAg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUK
LSRhc19lY2hvICJubyIgPiY2OyB9Citvdm1mPSRheF9jdl9vdm1mCisKKworCisjIENoZWNrIHdo
ZXRoZXIgLS1lbmFibGUtcm9tYmlvcyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9yb21i
aW9zK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgZW5hYmxldmFsPSRlbmFibGVfcm9tYmlvczsKIGZp
CiAKIAotIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJwZXJsIiwgc28gaXQgY2FuIGJlIGEg
cHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBwZXJsOyBhY193b3JkPSQyCi17ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29y
ZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlm
IHRlc3QgIiR7YWNfY3ZfcGF0aF9QRVJMK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2FzZSAkUEVSTCBpbgotICBbXFwvXSogfCA/Oltc
XC9dKikKLSAgYWNfY3ZfcGF0aF9QRVJMPSIkUEVSTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUg
dGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICopCi0gIGFzX3NhdmVfSUZTPSRJRlM7IElG
Uz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2
ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19l
eHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIk
YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3BhdGhfUEVSTD0iJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCIKLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBicmVh
ayAyCi0gIGZpCi1kb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKK2lmIHRlc3QgIngkZW5h
YmxlX3JvbWJpb3MiID0gInhubyI7IHRoZW4gOgorCisgICAgYXhfY3Zfcm9tYmlvcz0ibiIKKwor
ZWxpZiB0ZXN0ICJ4JGVuYWJsZV9yb21iaW9zIiA9ICJ4eWVzIjsgdGhlbiA6CisKKyAgICBheF9j
dl9yb21iaW9zPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X3JvbWJpb3M7IHRoZW4gOgorCisg
ICAgYXhfY3Zfcm9tYmlvcz0ieSIKIAotICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9QRVJMIiAmJiBh
Y19jdl9wYXRoX1BFUkw9Im5vIgotICA7OwotZXNhYwogZmkKLVBFUkw9JGFjX2N2X3BhdGhfUEVS
TAotaWYgdGVzdCAtbiAiJFBFUkwiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkUEVSTCIgPiY1Ci0kYXNfZWNobyAiJFBFUkwiID4mNjsg
fQotZWxzZQotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KK3JvbWJpb3M9JGF4X2N2X3JvbWJpb3MK
KworCisKKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zZWFiaW9zIHdhcyBnaXZlbi4KK2lmIHRl
c3QgIiR7ZW5hYmxlX3NlYWJpb3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICBlbmFibGV2YWw9JGVu
YWJsZV9zZWFiaW9zOworZmkKKworCitpZiB0ZXN0ICJ4JGVuYWJsZV9zZWFiaW9zIiA9ICJ4bm8i
OyB0aGVuIDoKKworICAgIGF4X2N2X3NlYWJpb3M9Im4iCisKK2VsaWYgdGVzdCAieCRlbmFibGVf
c2VhYmlvcyIgPSAieHllcyI7IHRoZW4gOgorCisgICAgYXhfY3Zfc2VhYmlvcz0ieSIKKworZWxp
ZiB0ZXN0IC16ICRheF9jdl9zZWFiaW9zOyB0aGVuIDoKKworICAgIGF4X2N2X3NlYWJpb3M9Inki
CisKK2ZpCitzZWFiaW9zPSRheF9jdl9zZWFiaW9zCisKKworCisjIENoZWNrIHdoZXRoZXIgLS1l
bmFibGUtZGVidWcgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtlbmFibGVfZGVidWcrc2V0fSIgPSBz
ZXQ7IHRoZW4gOgorICBlbmFibGV2YWw9JGVuYWJsZV9kZWJ1ZzsKK2ZpCisKKworaWYgdGVzdCAi
eCRlbmFibGVfZGVidWciID0gInhubyI7IHRoZW4gOgorCisgICAgYXhfY3ZfZGVidWc9Im4iCisK
K2VsaWYgdGVzdCAieCRlbmFibGVfZGVidWciID0gInh5ZXMiOyB0aGVuIDoKKworICAgIGF4X2N2
X2RlYnVnPSJ5IgorCitlbGlmIHRlc3QgLXogJGF4X2N2X2RlYnVnOyB0aGVuIDoKKworICAgIGF4
X2N2X2RlYnVnPSJ5IgorCiBmaQorZGVidWc9JGF4X2N2X2RlYnVnCisKKworCisKKworCisKKwor
Zm9yIGNmbGFnIGluICRQUkVQRU5EX0lOQ0xVREVTCitkbworICAgIFBSRVBFTkRfQ0ZMQUdTKz0i
IC1JJGNmbGFnIgorZG9uZQorZm9yIGxkZmxhZyBpbiAkUFJFUEVORF9MSUIKK2RvCisgICAgUFJF
UEVORF9MREZMQUdTKz0iIC1MJGxkZmxhZyIKK2RvbmUKK2ZvciBjZmxhZyBpbiAkQVBQRU5EX0lO
Q0xVREVTCitkbworICAgIEFQUEVORF9DRkxBR1MrPSIgLUkkY2ZsYWciCitkb25lCitmb3IgbGRm
bGFnIGluICRBUFBFTkRfTElCCitkbworICAgIEFQUEVORF9MREZMQUdTKz0iIC1MJGxkZmxhZyIK
K2RvbmUKK0NGTEFHUz0iJFBSRVBFTkRfQ0ZMQUdTICRDRkxBR1MgJEFQUEVORF9DRkxBR1MiCitM
REZMQUdTPSIkUFJFUEVORF9MREZMQUdTICRMREZMQUdTICRBUFBFTkRfTERGTEFHUyIKKworCiAK
IAotaWYgdGVzdCB4IiR7UEVSTH0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8g
IlVuYWJsZSB0byBmaW5kIHBlcmwsIHBsZWFzZSBpbnN0YWxsIHBlcmwiICIkTElORU5PIiA1Ci1m
aQotaWYgdGVzdCAieCR4YXBpIiA9ICJ4eSI7IHRoZW4gOgogCi0gICAgIyBFeHRyYWN0IHRoZSBm
aXJzdCB3b3JkIG9mICJjdXJsLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3
aXRoIGFyZ3MuCi1zZXQgZHVtbXkgY3VybC1jb25maWc7IGFjX3dvcmQ9JDIKKworCisKKworCisK
KworCisKKyMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KK2FjX2V4dD1jCithY19jcHA9JyRDUFAgJENQ
UEZMQUdTJworYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRh
Y19leHQgPiY1JworYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRD
UFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKK2FjX2NvbXBpbGVy
X2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7
IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWdj
YyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHth
Y190b29sX3ByZWZpeH1nY2M7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wYXRoX0NV
Ukwrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0g
c2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAk
Q1VSTCBpbgotICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9DVVJMPSIkQ1VSTCIg
IyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICop
Ci0gIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAtbiAi
JENDIjsgdGhlbgorICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl
IHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgog
Zm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIk
YXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0
YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9
OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9DVVJMPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IgorICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Z2NjIgogICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTUxNzEsNDQgKzI2NTUsMzkgQEAg
ZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgdGVzdCAteiAiJGFjX2N2X3BhdGhf
Q1VSTCIgJiYgYWNfY3ZfcGF0aF9DVVJMPSJubyIKLSAgOzsKLWVzYWMKIGZpCi1DVVJMPSRhY19j
dl9wYXRoX0NVUkwKLWlmIHRlc3QgLW4gIiRDVVJMIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJENVUkwiID4mNQotJGFzX2VjaG8gIiRD
VVJMIiA+JjY7IH0KK2ZpCitDQz0kYWNfY3ZfcHJvZ19DQworaWYgdGVzdCAtbiAiJENDIjsgdGhl
bgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJEND
IiA+JjUKKyRhc19lY2hvICIkQ0MiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7
IH0KIGZpCiAKIAotaWYgdGVzdCB4IiR7Q1VSTH0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5f
ZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGN1cmwtY29uZmlnLCBwbGVhc2UgaW5zdGFsbCBjdXJs
LWNvbmZpZyIgIiRMSU5FTk8iIDUKIGZpCi0gICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9m
ICJ4bWwyLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1z
ZXQgZHVtbXkgeG1sMi1jb25maWc7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9n
X0NDIjsgdGhlbgorICBhY19jdF9DQz0kQ0MKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9m
ICJnY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15
IGdjYzsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRh
Y193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfWE1MK3NldH0iID0gc2V0
OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9DQytzZXR9IiA9IHNldDsgdGhl
biA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhc2UgJFhNTCBpbgot
ICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9YTUw9IiRYTUwiICMgTGV0IHRoZSB1
c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZl
X0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7
IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFjX2N0X0NDIiAjIExldCB0aGUgdXNlciBv
dmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBB
UkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVz
dCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFj
X2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193
b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3BhdGhfWE1MPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9ImdjYyIKICAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01MjE2LDM5ICsyNjk1LDQzIEBAIGRvbmUK
ICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCi0gIHRlc3QgLXogIiRhY19jdl9wYXRoX1hNTCIg
JiYgYWNfY3ZfcGF0aF9YTUw9Im5vIgotICA7OwotZXNhYwogZmkKLVhNTD0kYWNfY3ZfcGF0aF9Y
TUwKLWlmIHRlc3QgLW4gIiRYTUwiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkWE1MIiA+JjUKLSRhc19lY2hvICIkWE1MIiA+JjY7IH0K
K2ZpCithY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQworaWYgdGVzdCAtbiAiJGFjX2N0X0ND
IjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N0X0NDIiA+JjUKKyRhc19lY2hvICIkYWNfY3RfQ0MiID4mNjsgfQogZWxzZQogICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQog
JGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKLQotaWYgdGVzdCB4IiR7WE1MfSIgPT0geCJubyIK
LXRoZW4KLSAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgeG1sMi1jb25maWcsIHBs
ZWFzZSBpbnN0YWxsIHhtbDItY29uZmlnIiAiJExJTkVOTyIgNQotZmkKLQorICBpZiB0ZXN0ICJ4
JGFjX2N0X0NDIiA9IHg7IHRoZW4KKyAgICBDQz0iIgorICBlbHNlCisgICAgY2FzZSAkY3Jvc3Nf
Y29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoreWVzOikKK3sgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZp
eGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVz
aW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KK2Fj
X3Rvb2xfd2FybmVkPXllcyA7OworZXNhYworICAgIENDPSRhY19jdF9DQworICBmaQorZWxzZQor
ICBDQz0iJGFjX2N2X3Byb2dfQ0MiCiBmaQotaWYgdGVzdCAieCRvY2FtbHRvb2xzIiA9ICJ4eSI7
IHRoZW4gOgogCi0gICAgICAjIGNoZWNraW5nIGZvciBvY2FtbGMKLSAgaWYgdGVzdCAtbiAiJGFj
X3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNf
dG9vbF9wcmVmaXh9b2NhbWxjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJn
cy4KLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sYzsgYWNfd29yZD0kMgoraWYgdGVz
dCAteiAiJENDIjsgdGhlbgorICAgICAgICAgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7
IHRoZW4KKyAgICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9
Y2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7
YWNfdG9vbF9wcmVmaXh9Y2M7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09D
QU1MQytzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIg
PSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0
ZXN0IC1uICIkT0NBTUxDIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MQz0iJE9DQU1MQyIgIyBM
ZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisgIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4K
KyAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4K
IGVsc2UKIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIg
aW4gJFBBVEgKQEAgLTUyNTcsNyArMjc0MCw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYm
IGFzX2Rpcj0uCiAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu
c2lvbnM7IGRvCiAgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIg
JiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAg
ICBhY19jdl9wcm9nX09DQU1MQz0iJHthY190b29sX3ByZWZpeH1vY2FtbGMiCisgICAgYWNfY3Zf
cHJvZ19DQz0iJHthY190b29sX3ByZWZpeH1jYyIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUK
ICAgICBicmVhayAyCiAgIGZpCkBAIC01MjY3LDI5ICsyNzUwLDMwIEBAIElGUz0kYXNfc2F2ZV9J
RlMKIAogZmkKIGZpCi1PQ0FNTEM9JGFjX2N2X3Byb2dfT0NBTUxDCi1pZiB0ZXN0IC1uICIkT0NB
TUxDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJE9DQU1MQyIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MQyIgPiY2OyB9CitDQz0kYWNfY3Zf
cHJvZ19DQworaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJENDIiA+JjUKKyRhc19lY2hvICIkQ0MiID4mNjsg
fQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAorICBmaQogZmkKLWlmIHRl
c3QgLXogIiRhY19jdl9wcm9nX09DQU1MQyI7IHRoZW4KLSAgYWNfY3RfT0NBTUxDPSRPQ0FNTEMK
LSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbGMiLCBzbyBpdCBjYW4gYmUgYSBw
cm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sYzsgYWNfd29yZD0kMgoraWYg
dGVzdCAteiAiJENDIjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImNjIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBjYzsgYWNf
d29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4u
ICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0NBTUxDK3NldH0iID0gc2V0
OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbiA6CiAg
ICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9P
Q0FNTEMiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxDPSIkYWNfY3RfT0NBTUxDIiAj
IExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyAgaWYgdGVzdCAtbiAiJENDIjsgdGhl
bgorICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0
LgogZWxzZQorICBhY19wcm9nX3JlamVjdGVkPW5vCiBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBB
VEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRICiBkbwpAQCAtNTI5Nyw3ICsyNzgxLDEx
IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgZm9yIGFjX2V4ZWNf
ZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlmIHsgdGVzdCAtZiAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNf
d29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQz0i
b2NhbWxjIgorICAgIGlmIHRlc3QgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID0gIi91
c3IvdWNiL2NjIjsgdGhlbgorICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCisgICAgICAgY29u
dGludWUKKyAgICAgZmkKKyAgICBhY19jdl9wcm9nX0NDPSJjYyIKICAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01MzA1LDYxICsyNzkzLDQ0IEBAIGRvbmUK
ICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCitpZiB0ZXN0ICRhY19wcm9nX3JlamVjdGVkID0g
eWVzOyB0aGVuCisgICMgV2UgZm91bmQgYSBib2dvbiBpbiB0aGUgcGF0aCwgc28gbWFrZSBzdXJl
IHdlIG5ldmVyIHVzZSBpdC4KKyAgc2V0IGR1bW15ICRhY19jdl9wcm9nX0NDCisgIHNoaWZ0Cisg
IGlmIHRlc3QgJCMgIT0gMDsgdGhlbgorICAgICMgV2UgY2hvc2UgYSBkaWZmZXJlbnQgY29tcGls
ZXIgZnJvbSB0aGUgYm9ndXMgb25lLgorICAgICMgSG93ZXZlciwgaXQgaGFzIHRoZSBzYW1lIGJh
c2VuYW1lLCBzbyB0aGUgYm9nb24gd2lsbCBiZSBjaG9zZW4KKyAgICAjIGZpcnN0IGlmIHdlIHNl
dCBDQyB0byBqdXN0IHRoZSBiYXNlbmFtZTsgdXNlIHRoZSBmdWxsIGZpbGUgbmFtZS4KKyAgICBz
aGlmdAorICAgIGFjX2N2X3Byb2dfQ0M9IiRhc19kaXIvJGFjX3dvcmQkezErJyAnfSRAIgorICBm
aQogZmkKIGZpCi1hY19jdF9PQ0FNTEM9JGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxDCi1pZiB0ZXN0
IC1uICIkYWNfY3RfT0NBTUxDIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MQyIgPiY1Ci0kYXNfZWNobyAiJGFjX2N0
X09DQU1MQyIgPiY2OyB9CitmaQorQ0M9JGFjX2N2X3Byb2dfQ0MKK2lmIHRlc3QgLW4gIiRDQyI7
IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRDQyIgPiY1CiskYXNfZWNobyAiJENDIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIg
PiY2OyB9CiBmaQogCi0gIGlmIHRlc3QgIngkYWNfY3RfT0NBTUxDIiA9IHg7IHRoZW4KLSAgICBP
Q0FNTEM9Im5vIgotICBlbHNlCi0gICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29sX3dh
cm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
V0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0
IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBw
cmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KLWFjX3Rvb2xfd2FybmVkPXllcyA7Owot
ZXNhYwotICAgIE9DQU1MQz0kYWNfY3RfT0NBTUxDCi0gIGZpCi1lbHNlCi0gIE9DQU1MQz0iJGFj
X2N2X3Byb2dfT0NBTUxDIgotZmkKLQotCi0gIGlmIHRlc3QgIiRPQ0FNTEMiICE9ICJubyI7IHRo
ZW4KLSAgICAgT0NBTUxWRVJTSU9OPWAkT0NBTUxDIC12IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lv
biogKlwoLipcKSR8XDF8cCdgCi0gICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiBPQ2FtbCB2ZXJzaW9uIGlzICRPQ0FNTFZFUlNJT04iID4mNQotJGFz
X2VjaG8gIk9DYW1sIHZlcnNpb24gaXMgJE9DQU1MVkVSU0lPTiIgPiY2OyB9Ci0gICAgICMgSWYg
T0NBTUxMSUIgaXMgc2V0LCB1c2UgaXQKLSAgICAgaWYgdGVzdCAiJE9DQU1MTElCIiA9ICIiOyB0
aGVuCi0gICAgICAgIE9DQU1MTElCPWAkT0NBTUxDIC13aGVyZSAyPi9kZXYvbnVsbCB8fCAkT0NB
TUxDIC12fHRhaWwgLTF8Y3V0IC1kICcgJyAtZiA0YAotICAgICBlbHNlCi0gICAgICAgIHsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBPQ0FNTExJQiBwcmV2
aW91c2x5IHNldDsgcHJlc2VydmluZyBpdC4iID4mNQotJGFzX2VjaG8gIk9DQU1MTElCIHByZXZp
b3VzbHkgc2V0OyBwcmVzZXJ2aW5nIGl0LiIgPiY2OyB9Ci0gICAgIGZpCi0gICAgIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBPQ2FtbCBsaWJyYXJ5IHBh
dGggaXMgJE9DQU1MTElCIiA+JjUKLSRhc19lY2hvICJPQ2FtbCBsaWJyYXJ5IHBhdGggaXMgJE9D
QU1MTElCIiA+JjY7IH0KLQotCiAKLQotICAgICAjIGNoZWNraW5nIGZvciBvY2FtbG9wdAotICAg
ICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICMgRXh0cmFjdCB0aGUgZmly
c3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vY2FtbG9wdCIsIHNvIGl0IGNhbiBiZSBhIHBy
b2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbG9w
dDsgYWNfd29yZD0kMgorZmkKK2lmIHRlc3QgLXogIiRDQyI7IHRoZW4KKyAgaWYgdGVzdCAtbiAi
JGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICBmb3IgYWNfcHJvZyBpbiBjbC5leGUKKyAgZG8KKyAg
ICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY190b29sX3ByZWZpeCRhY19wcm9nIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfdG9v
bF9wcmVmaXgkYWNfcHJvZzsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hl
Y2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NB
TUxPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0i
ID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgaWYg
dGVzdCAtbiAiJE9DQU1MT1BUIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MT1BUPSIkT0NBTUxP
UFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorICBpZiB0ZXN0IC1uICIkQ0Mi
OyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhl
IHRlc3QuCiBlbHNlCiBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3Ig
YXNfZGlyIGluICRQQVRICkBAIC01MzY4LDcgKzI4MzksNyBAQCBkbwogICB0ZXN0IC16ICIkYXNf
ZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJs
ZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhl
Y19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0
aGVuCi0gICAgYWNfY3ZfcHJvZ19PQ0FNTE9QVD0iJHthY190b29sX3ByZWZpeH1vY2FtbG9wdCIK
KyAgICBhY19jdl9wcm9nX0NDPSIkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZyIKICAgICAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01Mzc4LDI4ICsyODQ5LDMyIEBA
IElGUz0kYXNfc2F2ZV9JRlMKIAogZmkKIGZpCi1PQ0FNTE9QVD0kYWNfY3ZfcHJvZ19PQ0FNTE9Q
VAotaWYgdGVzdCAtbiAiJE9DQU1MT1BUIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MT1BUIiA+JjUKLSRhc19lY2hvICIkT0NB
TUxPUFQiID4mNjsgfQorQ0M9JGFjX2N2X3Byb2dfQ0MKK2lmIHRlc3QgLW4gIiRDQyI7IHRoZW4K
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDQyIg
PiY1CiskYXNfZWNobyAiJENDIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9
CiBmaQogCiAKKyAgICB0ZXN0IC1uICIkQ0MiICYmIGJyZWFrCisgIGRvbmUKIGZpCi1pZiB0ZXN0
IC16ICIkYWNfY3ZfcHJvZ19PQ0FNTE9QVCI7IHRoZW4KLSAgYWNfY3RfT0NBTUxPUFQ9JE9DQU1M
T1BUCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2NhbWxvcHQiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sb3B0OyBhY193b3Jk
PSQyCitpZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCisgIGFjX2N0X0NDPSRDQworICBmb3IgYWNfcHJv
ZyBpbiBjbC5leGUKK2RvCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ci
LCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY19w
cm9nOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE9QVCtz
ZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIg
PSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0
ZXN0IC1uICIkYWNfY3RfT0NBTUxPUFQiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxP
UFQ9IiRhY19jdF9PQ0FNTE9QVCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisg
IGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iJGFj
X2N0X0NDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVsc2UKIGFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKQEAgLTU0
MDgsNyArMjg4Myw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAg
Zm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlm
IHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAi
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2Fj
X2N0X09DQU1MT1BUPSJvY2FtbG9wdCIKKyAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfcHJv
ZyIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNf
ZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01NDE2
LDE5ICsyODkxLDIzIEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCi1maQotZmkK
LWFjX2N0X09DQU1MT1BUPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MT1BUCi1pZiB0ZXN0IC1uICIk
YWNfY3RfT0NBTUxPUFQiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NBTUxPUFQiID4mNQotJGFzX2VjaG8gIiRhY19jdF9P
Q0FNTE9QVCIgPiY2OyB9CitmaQorZmkKK2FjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCitp
ZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQorJGFzX2VjaG8gIiRhY19jdF9D
QyIgPiY2OyB9CiBlbHNlCiAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBubyIgPiY1CiAkYXNfZWNobyAibm8iID4mNjsgfQogZmkKIAotICBpZiB0ZXN0
ICJ4JGFjX2N0X09DQU1MT1BUIiA9IHg7IHRoZW4KLSAgICBPQ0FNTE9QVD0ibm8iCisKKyAgdGVz
dCAtbiAiJGFjX2N0X0NDIiAmJiBicmVhaworZG9uZQorCisgIGlmIHRlc3QgIngkYWNfY3RfQ0Mi
ID0geDsgdGhlbgorICAgIENDPSIiCiAgIGVsc2UKICAgICBjYXNlICRjcm9zc19jb21waWxpbmc6
JGFjX3Rvb2xfd2FybmVkIGluCiB5ZXM6KQpAQCAtNTQzNiwzOTYgKzI5MTUsNjQ5IEBAIHllczop
CiAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4
ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CiBhY190b29sX3dhcm5lZD15ZXMgOzsKIGVzYWMK
LSAgICBPQ0FNTE9QVD0kYWNfY3RfT0NBTUxPUFQKKyAgICBDQz0kYWNfY3RfQ0MKICAgZmkKLWVs
c2UKLSAgT0NBTUxPUFQ9IiRhY19jdl9wcm9nX09DQU1MT1BUIgogZmkKIAotICAgICBPQ0FNTEJF
U1Q9Ynl0ZQotICAgICBpZiB0ZXN0ICIkT0NBTUxPUFQiID0gIm5vIjsgdGhlbgotCXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogQ2Fubm90IGZpbmQgb2Nh
bWxvcHQ7IGJ5dGVjb2RlIGNvbXBpbGF0aW9uIG9ubHkuIiA+JjUKLSRhc19lY2hvICIkYXNfbWU6
IFdBUk5JTkc6IENhbm5vdCBmaW5kIG9jYW1sb3B0OyBieXRlY29kZSBjb21waWxhdGlvbiBvbmx5
LiIgPiYyO30KLSAgICAgZWxzZQotCVRNUFZFUlNJT049YCRPQ0FNTE9QVCAtdiB8IHNlZCAtbiAt
ZSAnc3wuKnZlcnNpb24qICpcKC4qXCkkfFwxfHAnIGAKLQlpZiB0ZXN0ICIkVE1QVkVSU0lPTiIg
IT0gIiRPQ0FNTFZFUlNJT04iIDsgdGhlbgotCSAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogdmVyc2lvbnMgZGlmZmVycyBmcm9tIG9jYW1sYzsgb2Nh
bWxvcHQgZGlzY2FyZGVkLiIgPiY1Ci0kYXNfZWNobyAidmVyc2lvbnMgZGlmZmVycyBmcm9tIG9j
YW1sYzsgb2NhbWxvcHQgZGlzY2FyZGVkLiIgPiY2OyB9Ci0JICAgIE9DQU1MT1BUPW5vCi0JZWxz
ZQotCSAgICBPQ0FNTEJFU1Q9b3B0CitmaQorCisKK3Rlc3QgLXogIiRDQyIgJiYgeyB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIg
PiY1CiskYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Cithc19m
bl9lcnJvciAkPyAibm8gYWNjZXB0YWJsZSBDIGNvbXBpbGVyIGZvdW5kIGluIFwkUEFUSAorU2Vl
IFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CisKKyMgUHJv
dmlkZSBzb21lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb21waWxlci4KKyRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24i
ID4mNQorc2V0IFggJGFjX2NvbXBpbGUKK2FjX2NvbXBpbGVyPSQyCitmb3IgYWNfb3B0aW9uIGlu
IC0tdmVyc2lvbiAtdiAtViAtcXZlcnNpb247IGRvCisgIHsgeyBhY190cnk9IiRhY19jb21waWxl
ciAkYWNfb3B0aW9uID4mNSIKK2Nhc2UgIigoJGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAq
XFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7Owor
ZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAk
YWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAi
JGFjX2NvbXBpbGVyICRhY19vcHRpb24gPiY1IikgMj5jb25mdGVzdC5lcnIKKyAgYWNfc3RhdHVz
PSQ/CisgIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCisgICAgc2VkICcxMGFcCisuLi4g
cmVzdCBvZiBzdGRlcnIgb3V0cHV0IGRlbGV0ZWQgLi4uCisgICAgICAgICAxMHEnIGNvbmZ0ZXN0
LmVyciA+Y29uZnRlc3QuZXIxCisgICAgY2F0IGNvbmZ0ZXN0LmVyMSA+JjUKKyAgZmkKKyAgcm0g
LWYgY29uZnRlc3QuZXIxIGNvbmZ0ZXN0LmVycgorICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0g
MDsgfQorZG9uZQorCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0
CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0
dXJuIDA7Cit9CitfQUNFT0YKK2FjX2NsZWFuX2ZpbGVzX3NhdmU9JGFjX2NsZWFuX2ZpbGVzCith
Y19jbGVhbl9maWxlcz0iJGFjX2NsZWFuX2ZpbGVzIGEub3V0IGEub3V0LmRTWU0gYS5leGUgYi5v
dXQiCisjIFRyeSB0byBjcmVhdGUgYW4gZXhlY3V0YWJsZSB3aXRob3V0IC1vIGZpcnN0LCBkaXNy
ZWdhcmQgYS5vdXQuCisjIEl0IHdpbGwgaGVscCB1cyBkaWFnbm9zZSBicm9rZW4gY29tcGlsZXJz
LCBhbmQgZmluZGluZyBvdXQgYW4gaW50dWl0aW9uCisjIG9mIGV4ZWV4dC4KK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w
aWxlciB3b3JrcyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBp
bGVyIHdvcmtzLi4uICIgPiY2OyB9CithY19saW5rX2RlZmF1bHQ9YCRhc19lY2hvICIkYWNfbGlu
ayIgfCBzZWQgJ3MvIC1vICpjb25mdGVzdFteIF0qLy8nYAorCisjIFRoZSBwb3NzaWJsZSBvdXRw
dXQgZmlsZXM6CithY19maWxlcz0iYS5vdXQgY29uZnRlc3QuZXhlIGNvbmZ0ZXN0IGEuZXhlIGFf
b3V0LmV4ZSBiLm91dCBjb25mdGVzdC4qIgorCithY19ybWZpbGVzPQorZm9yIGFjX2ZpbGUgaW4g
JGFjX2ZpbGVzCitkbworICBjYXNlICRhY19maWxlIGluCisgICAgKi4kYWNfZXh0IHwgKi54Y29m
ZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm1hcCB8
ICouaW5mIHwgKi5kU1lNIHwgKi5vIHwgKi5vYmogKSA7OworICAgICogKSBhY19ybWZpbGVzPSIk
YWNfcm1maWxlcyAkYWNfZmlsZSI7OworICBlc2FjCitkb25lCitybSAtZiAkYWNfcm1maWxlcwor
CitpZiB7IHsgYWNfdHJ5PSIkYWNfbGlua19kZWZhdWx0IgorY2FzZSAiKCgkYWNfdHJ5IiBpbgor
ICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5
X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8gIiRhY190cnlfZWNobyI7
IH0gPiY1CisgIChldmFsICIkYWNfbGlua19kZWZhdWx0IikgMj4mNQorICBhY19zdGF0dXM9JD8K
KyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1
cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4gOgorICAjIEF1dG9jb25mLTIu
MTMgY291bGQgc2V0IHRoZSBhY19jdl9leGVleHQgdmFyaWFibGUgdG8gYG5vJy4KKyMgU28gaWdu
b3JlIGEgdmFsdWUgb2YgYG5vJywgb3RoZXJ3aXNlIHRoaXMgd291bGQgbGVhZCB0byBgRVhFRVhU
ID0gbm8nCisjIGluIGEgTWFrZWZpbGUuICBXZSBzaG91bGQgbm90IG92ZXJyaWRlIGFjX2N2X2V4
ZWV4dCBpZiBpdCB3YXMgY2FjaGVkLAorIyBzbyB0aGF0IHRoZSB1c2VyIGNhbiBzaG9ydC1jaXJj
dWl0IHRoaXMgdGVzdCBmb3IgY29tcGlsZXJzIHVua25vd24gdG8KKyMgQXV0b2NvbmYuCitmb3Ig
YWNfZmlsZSBpbiAkYWNfZmlsZXMgJycKK2RvCisgIHRlc3QgLWYgIiRhY19maWxlIiB8fCBjb250
aW51ZQorICBjYXNlICRhY19maWxlIGluCisgICAgKi4kYWNfZXh0IHwgKi54Y29mZiB8ICoudGRz
IHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm1hcCB8ICouaW5mIHwg
Ki5kU1lNIHwgKi5vIHwgKi5vYmogKQorCTs7CisgICAgW2FiXS5vdXQgKQorCSMgV2UgZm91bmQg
dGhlIGRlZmF1bHQgZXhlY3V0YWJsZSwgYnV0IGV4ZWV4dD0nJyBpcyBtb3N0CisJIyBjZXJ0YWlu
bHkgcmlnaHQuCisJYnJlYWs7OworICAgICouKiApCisJaWYgdGVzdCAiJHthY19jdl9leGVleHQr
c2V0fSIgPSBzZXQgJiYgdGVzdCAiJGFjX2N2X2V4ZWV4dCIgIT0gbm87CisJdGhlbiA6OyBlbHNl
CisJICAgYWNfY3ZfZXhlZXh0PWBleHByICIkYWNfZmlsZSIgOiAnW14uXSpcKFwuLipcKSdgCiAJ
ZmkKLSAgICAgZmkKKwkjIFdlIHNldCBhY19jdl9leGVleHQgaGVyZSBiZWNhdXNlIHRoZSBsYXRl
ciB0ZXN0IGZvciBpdCBpcyBub3QKKwkjIHNhZmU6IGNyb3NzIGNvbXBpbGVycyBtYXkgbm90IGFk
ZCB0aGUgc3VmZml4IGlmIGdpdmVuIGFuIGAtbycKKwkjIGFyZ3VtZW50LCBzbyB3ZSBtYXkgbmVl
ZCB0byBrbm93IGl0IGF0IHRoYXQgcG9pbnQgYWxyZWFkeS4KKwkjIEV2ZW4gaWYgdGhpcyBzZWN0
aW9uIGxvb2tzIGNydWZ0eTogaXQgaGFzIHRoZSBhZHZhbnRhZ2Ugb2YKKwkjIGFjdHVhbGx5IHdv
cmtpbmcuCisJYnJlYWs7OworICAgICogKQorCWJyZWFrOzsKKyAgZXNhYworZG9uZQordGVzdCAi
JGFjX2N2X2V4ZWV4dCIgPSBubyAmJiBhY19jdl9leGVleHQ9CisKK2Vsc2UKKyAgYWNfZmlsZT0n
JworZmkKK2lmIHRlc3QgLXogIiRhY19maWxlIjsgdGhlbiA6CisgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4m
NjsgfQorJGFzX2VjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3Mv
Xi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK3sgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQorJGFzX2VjaG8gIiRh
c19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorYXNfZm5fZXJyb3IgNzcgIkMgY29t
cGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcworU2VlIFxgY29uZmlnLmxvZycgZm9yIG1v
cmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2VjaG8gInllcyIgPiY2
OyB9CitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUiID4mNQorJGFzX2VjaG9f
biAiY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uICIg
PiY2OyB9Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JGFjX2ZpbGUiID4mNQorJGFzX2VjaG8gIiRhY19maWxlIiA+JjY7IH0KK2FjX2V4ZWV4dD0kYWNf
Y3ZfZXhlZXh0CisKK3JtIC1mIC1yIGEub3V0IGEub3V0LmRTWU0gYS5leGUgY29uZnRlc3QkYWNf
Y3ZfZXhlZXh0IGIub3V0CithY19jbGVhbl9maWxlcz0kYWNfY2xlYW5fZmlsZXNfc2F2ZQoreyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3VmZml4
IG9mIGV4ZWN1dGFibGVzIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdWZmaXggb2Yg
ZXhlY3V0YWJsZXMuLi4gIiA+JjY7IH0KK2lmIHsgeyBhY190cnk9IiRhY19saW5rIgorY2FzZSAi
KCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5
OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJc
IlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8g
IiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfbGluayIpIDI+JjUKKyAgYWNfc3Rh
dHVzPSQ/CisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRh
Y19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuIDoKKyAgIyBJZiBi
b3RoIGBjb25mdGVzdC5leGUnIGFuZCBgY29uZnRlc3QnIGFyZSBgcHJlc2VudCcgKHdlbGwsIG9i
c2VydmFibGUpCisjIGNhdGNoIGBjb25mdGVzdC5leGUnLiAgRm9yIGluc3RhbmNlIHdpdGggQ3ln
d2luLCBgbHMgY29uZnRlc3QnIHdpbGwKKyMgd29yayBwcm9wZXJseSAoaS5lLiwgcmVmZXIgdG8g
YGNvbmZ0ZXN0LmV4ZScpLCB3aGlsZSBpdCB3b24ndCB3aXRoCisjIGBybScuCitmb3IgYWNfZmls
ZSBpbiBjb25mdGVzdC5leGUgY29uZnRlc3QgY29uZnRlc3QuKjsgZG8KKyAgdGVzdCAtZiAiJGFj
X2ZpbGUiIHx8IGNvbnRpbnVlCisgIGNhc2UgJGFjX2ZpbGUgaW4KKyAgICAqLiRhY19leHQgfCAq
Lnhjb2ZmIHwgKi50ZHMgfCAqLmQgfCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICou
bWFwIHwgKi5pbmYgfCAqLmRTWU0gfCAqLm8gfCAqLm9iaiApIDs7CisgICAgKi4qICkgYWNfY3Zf
ZXhlZXh0PWBleHByICIkYWNfZmlsZSIgOiAnW14uXSpcKFwuLipcKSdgCisJICBicmVhazs7Cisg
ICAgKiApIGJyZWFrOzsKKyAgZXNhYworZG9uZQorZWxzZQorICB7IHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19l
Y2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICQ/
ICJjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2YgZXhlY3V0YWJsZXM6IGNhbm5vdCBjb21waWxlIGFu
ZCBsaW5rCitTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNSA7
IH0KK2ZpCitybSAtZiBjb25mdGVzdCBjb25mdGVzdCRhY19jdl9leGVleHQKK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZXhlZXh0IiA+JjUK
KyRhc19lY2hvICIkYWNfY3ZfZXhlZXh0IiA+JjY7IH0KIAorcm0gLWYgY29uZnRlc3QuJGFjX2V4
dAorRVhFRVhUPSRhY19jdl9leGVleHQKK2FjX2V4ZWV4dD0kRVhFRVhUCitjYXQgY29uZmRlZnMu
aCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisj
aW5jbHVkZSA8c3RkaW8uaD4KK2ludAorbWFpbiAoKQoreworRklMRSAqZiA9IGZvcGVuICgiY29u
ZnRlc3Qub3V0IiwgInciKTsKKyByZXR1cm4gZmVycm9yIChmKSB8fCBmY2xvc2UgKGYpICE9IDA7
CiAKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorYWNfY2xlYW5fZmlsZXM9IiRhY19jbGVh
bl9maWxlcyBjb25mdGVzdC5vdXQiCisjIENoZWNrIHRoYXQgdGhlIGNvbXBpbGVyIHByb2R1Y2Vz
IGV4ZWN1dGFibGVzIHdlIGNhbiBydW4uICBJZiBub3QsIGVpdGhlcgorIyB0aGUgY29tcGlsZXIg
aXMgYnJva2VuLCBvciB3ZSBjcm9zcyBjb21waWxlLgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmci
ID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n
Li4uICIgPiY2OyB9CitpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiAhPSB5ZXM7IHRoZW4KKyAg
eyB7IGFjX3RyeT0iJGFjX2xpbmsiCitjYXNlICIoKCRhY190cnkiIGluCisgICpcIiogfCAqXGAq
IHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OworICAqKSBhY190cnlfZWNobz0kYWNfdHJ5
OzsKK2VzYWMKK2V2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogJGFjX3RyeV9lY2hvXCIiCiskYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsgfSA+JjUKKyAgKGV2
YWwgIiRhY19saW5rIikgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0
YXR1cyA9IDA7IH0KKyAgaWYgeyBhY190cnk9Jy4vY29uZnRlc3QkYWNfY3ZfZXhlZXh0JworICB7
IHsgY2FzZSAiKCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hv
PVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3Ry
eV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgor
JGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfdHJ5IikgMj4mNQor
ICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
XCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IH07IHRoZW4K
KyAgICBjcm9zc19jb21waWxpbmc9bm8KKyAgZWxzZQorICAgIGlmIHRlc3QgIiRjcm9zc19jb21w
aWxpbmciID0gbWF5YmU7IHRoZW4KKwljcm9zc19jb21waWxpbmc9eWVzCisgICAgZWxzZQorCXsg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNf
cHdkJzoiID4mNQorJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7
fQorYXNfZm5fZXJyb3IgJD8gImNhbm5vdCBydW4gQyBjb21waWxlZCBwcm9ncmFtcy4KK0lmIHlv
dSBtZWFudCB0byBjcm9zcyBjb21waWxlLCB1c2UgXGAtLWhvc3QnLgorU2VlIFxgY29uZmlnLmxv
ZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CisgICAgZmkKKyAgZmkKK2ZpCit7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGNyb3NzX2Nv
bXBpbGluZyIgPiY1CiskYXNfZWNobyAiJGNyb3NzX2NvbXBpbGluZyIgPiY2OyB9CiAKLSAgICAg
IyBjaGVja2luZyBmb3Igb2NhbWxjLm9wdAotICAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVm
aXgiOyB0aGVuCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZp
eH1vY2FtbGMub3B0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNl
dCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sYy5vcHQ7IGFjX3dvcmQ9JDIKLXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+
JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9wcm9nX09DQU1MQ0RPVE9QVCtzZXR9IiA9IHNldDsgdGhlbiA6CitybSAtZiBj
b25mdGVzdC4kYWNfZXh0IGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCBjb25mdGVzdC5vdXQKK2FjX2Ns
ZWFuX2ZpbGVzPSRhY19jbGVhbl9maWxlc19zYXZlCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzIiA+JjUK
KyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uICIgPiY2
OyB9CitpZiB0ZXN0ICIke2FjX2N2X29iamV4dCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRPQ0FNTENET1RPUFQi
OyB0aGVuCi0gIGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUPSIkT0NBTUxDRE9UT1BUIiAjIExldCB0
aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0k
UEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9J
RlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQg
aW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNf
ZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUPSIke2Fj
X3Rvb2xfcHJlZml4fW9jYW1sYy5vcHQiCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0gICAg
YnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCisgIGNhdCBjb25m
ZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8KIAotZmkKLWZpCi1PQ0FNTENET1RPUFQ9JGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUCi1pZiB0
ZXN0IC1uICIkT0NBTUxDRE9UT1BUIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MQ0RPVE9QVCIgPiY1Ci0kYXNfZWNobyAiJE9D
QU1MQ0RPVE9QVCIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKK2lu
dAorbWFpbiAoKQorewogCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK3JtIC1mIGNvbmZ0
ZXN0Lm8gY29uZnRlc3Qub2JqCitpZiB7IHsgYWNfdHJ5PSIkYWNfY29tcGlsZSIKK2Nhc2UgIigo
JGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7
CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7OworZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJc
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIk
YWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAiJGFjX2NvbXBpbGUiKSAyPiY1CisgIGFjX3N0
YXR1cz0kPworICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAk
YWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbiA6CisgIGZvciBh
Y19maWxlIGluIGNvbmZ0ZXN0Lm8gY29uZnRlc3Qub2JqIGNvbmZ0ZXN0Lio7IGRvCisgIHRlc3Qg
LWYgIiRhY19maWxlIiB8fCBjb250aW51ZTsKKyAgY2FzZSAkYWNfZmlsZSBpbgorICAgICouJGFj
X2V4dCB8ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8ICou
YmJnIHwgKi5tYXAgfCAqLmluZiB8ICouZFNZTSApIDs7CisgICAgKikgYWNfY3Zfb2JqZXh0PWBl
eHByICIkYWNfZmlsZSIgOiAnLipcLlwoLipcKSdgCisgICAgICAgYnJlYWs7OworICBlc2FjCitk
b25lCitlbHNlCisgICRhc19lY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQor
c2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQogCit7IHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19l
Y2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICQ/
ICJjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzOiBjYW5ub3QgY29tcGlsZQor
U2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5FTk8iIDUgOyB9CiBmaQot
aWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxDRE9UT1BUIjsgdGhlbgotICBhY19jdF9PQ0FN
TENET1RPUFQ9JE9DQU1MQ0RPVE9QVAotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9j
YW1sYy5vcHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1
bW15IG9jYW1sYy5vcHQ7IGFjX3dvcmQ9JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNr
aW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0
X09DQU1MQ0RPVE9QVCtzZXR9IiA9IHNldDsgdGhlbiA6CitybSAtZiBjb25mdGVzdC4kYWNfY3Zf
b2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X29iamV4dCIgPiY1CiskYXNfZWNobyAiJGFjX2N2
X29iamV4dCIgPiY2OyB9CitPQkpFWFQ9JGFjX2N2X29iamV4dAorYWNfb2JqZXh0PSRPQkpFWFQK
K3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyIiA+JjUKKyRhc19lY2hvX24gImNoZWNr
aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiAiID4mNjsgfQor
aWYgdGVzdCAiJHthY19jdl9jX2NvbXBpbGVyX2dudStzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FN
TENET1RPUFQiOyB0aGVuCi0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxDRE9UT1BUPSIkYWNfY3Rf
T0NBTUxDRE9UT1BUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBhc19kaXIgaW4gJFBBVEgK
LWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4K
LSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8K
LSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVz
dF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3By
b2dfYWNfY3RfT0NBTUxDRE9UT1BUPSJvY2FtbGMub3B0IgotICAgICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi
ID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUwor
ICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29u
ZmRlZnMuaC4gICovCiAKLWZpCi1maQotYWNfY3RfT0NBTUxDRE9UT1BUPSRhY19jdl9wcm9nX2Fj
X2N0X09DQU1MQ0RPVE9QVAotaWYgdGVzdCAtbiAiJGFjX2N0X09DQU1MQ0RPVE9QVCI7IHRoZW4K
LSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19j
dF9PQ0FNTENET1RPUFQiID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTENET1RPUFQiID4mNjsg
fQoraW50CittYWluICgpCit7CisjaWZuZGVmIF9fR05VQ19fCisgICAgICAgY2hva2UgbWUKKyNl
bmRpZgorCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBp
bGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY29tcGlsZXJfZ251PXllcwogZWxzZQotICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFz
X2VjaG8gIm5vIiA+JjY7IH0KKyAgYWNfY29tcGlsZXJfZ251PW5vCiBmaQorcm0gLWYgY29yZSBj
b25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CithY19jdl9j
X2NvbXBpbGVyX2dudT0kYWNfY29tcGlsZXJfZ251CiAKLSAgaWYgdGVzdCAieCRhY19jdF9PQ0FN
TENET1RPUFQiID0geDsgdGhlbgotICAgIE9DQU1MQ0RPVE9QVD0ibm8iCi0gIGVsc2UKLSAgICBj
YXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29s
cyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19tZTog
V0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0
IiA+JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7Ci1lc2FjCi0gICAgT0NBTUxDRE9UT1BUPSRh
Y19jdF9PQ0FNTENET1RPUFQKLSAgZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2NfY29tcGlsZXJfZ251IiA+JjUKKyRhc19lY2hv
ICIkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNjsgfQoraWYgdGVzdCAkYWNfY29tcGlsZXJfZ251
ID0geWVzOyB0aGVuCisgIEdDQz15ZXMKIGVsc2UKLSAgT0NBTUxDRE9UT1BUPSIkYWNfY3ZfcHJv
Z19PQ0FNTENET1RPUFQiCisgIEdDQz0KIGZpCi0KLSAgICAgaWYgdGVzdCAiJE9DQU1MQ0RPVE9Q
VCIgIT0gIm5vIjsgdGhlbgotCVRNUFZFUlNJT049YCRPQ0FNTENET1RPUFQgLXYgfCBzZWQgLW4g
LWUgJ3N8Lip2ZXJzaW9uKiAqXCguKlwpJHxcMXxwJyBgCi0JaWYgdGVzdCAiJFRNUFZFUlNJT04i
ICE9ICIkT0NBTUxWRVJTSU9OIiA7IHRoZW4KLQkgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHZlcnNpb25zIGRpZmZlcnMgZnJvbSBvY2FtbGM7IG9j
YW1sYy5vcHQgZGlzY2FyZGVkLiIgPiY1Ci0kYXNfZWNobyAidmVyc2lvbnMgZGlmZmVycyBmcm9t
IG9jYW1sYzsgb2NhbWxjLm9wdCBkaXNjYXJkZWQuIiA+JjY7IH0KLQllbHNlCi0JICAgIE9DQU1M
Qz0kT0NBTUxDRE9UT1BUCi0JZmkKLSAgICAgZmkKLQotICAgICAjIGNoZWNraW5nIGZvciBvY2Ft
bG9wdC5vcHQKLSAgICAgaWYgdGVzdCAiJE9DQU1MT1BUIiAhPSAibm8iIDsgdGhlbgotCWlmIHRl
c3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sb3B0Lm9wdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dy
YW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbG9wdC5v
cHQ7IGFjX3dvcmQ9JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNf
d29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MT1BURE9UT1BUK3Nl
dH0iID0gc2V0OyB0aGVuIDoKK2FjX3Rlc3RfQ0ZMQUdTPSR7Q0ZMQUdTK3NldH0KK2FjX3NhdmVf
Q0ZMQUdTPSRDRkxBR1MKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgd2hldGhlciAkQ0MgYWNjZXB0cyAtZyIgPiY1CiskYXNfZWNob19uICJjaGVja2lu
ZyB3aGV0aGVyICRDQyBhY2NlcHRzIC1nLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3By
b2dfY2NfZytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2
CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRPQ0FNTE9QVERPVE9QVCI7IHRoZW4KLSAgYWNfY3ZfcHJv
Z19PQ0FNTE9QVERPVE9QVD0iJE9DQU1MT1BURE9UT1BUIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
LWZvciBhc19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxPUFRET1RPUFQ9IiR7YWNfdG9vbF9wcmVmaXh9
b2NhbWxvcHQub3B0IgotICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAg
ZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUworICBhY19zYXZlX2Nfd2Vycm9yX2Zs
YWc9JGFjX2Nfd2Vycm9yX2ZsYWcKKyAgIGFjX2Nfd2Vycm9yX2ZsYWc9eWVzCisgICBhY19jdl9w
cm9nX2NjX2c9bm8KKyAgIENGTEFHUz0iLWciCisgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9G
ID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCiAKLWZpCi1maQotT0NB
TUxPUFRET1RPUFQ9JGFjX2N2X3Byb2dfT0NBTUxPUFRET1RPUFQKLWlmIHRlc3QgLW4gIiRPQ0FN
TE9QVERPVE9QVCI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRPQ0FNTE9QVERPVE9QVCIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MT1BURE9U
T1BUIiA+JjY7IH0KK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNF
T0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfcHJv
Z19jY19nPXllcwogZWxzZQotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLWZpCisgIENGTEFHUz0i
IgorICAgICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyog
ZW5kIGNvbmZkZWZzLmguICAqLwogCitpbnQKK21haW4gKCkKK3sKIAotZmkKLWlmIHRlc3QgLXog
IiRhY19jdl9wcm9nX09DQU1MT1BURE9UT1BUIjsgdGhlbgotICBhY19jdF9PQ0FNTE9QVERPVE9Q
VD0kT0NBTUxPUFRET1RPUFQKLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbG9w
dC5vcHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15
IG9jYW1sb3B0Lm9wdDsgYWNfd29yZD0kMgoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tp
bmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3Rf
T0NBTUxPUFRET1RPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVk
KSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxPUFRET1RPUFQiOyB0aGVu
Ci0gIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxPUFRET1RPUFQ9IiRhY19jdF9PQ0FNTE9QVERPVE9Q
VCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9
JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX2FjX2N0X09D
QU1MT1BURE9UT1BUPSJvY2FtbG9wdC5vcHQiCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0g
ICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCisgIDsKKyAg
cmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0
aGVuIDoKKworZWxzZQorICBhY19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcK
KwkgQ0ZMQUdTPSItZyIKKwkgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFj
X2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKIAorICA7Cisg
IHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsg
dGhlbiA6CisgIGFjX2N2X3Byb2dfY2NfZz15ZXMKIGZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVy
ciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKIGZpCi1hY19jdF9PQ0FNTE9Q
VERPVE9QVD0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE9QVERPVE9QVAotaWYgdGVzdCAtbiAiJGFj
X2N0X09DQU1MT1BURE9UT1BUIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MT1BURE9UT1BUIiA+JjUKLSRhc19lY2hv
ICIkYWNfY3RfT0NBTUxPUFRET1RPUFQiID4mNjsgfQotZWxzZQotICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+
JjY7IH0KK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRl
c3QuJGFjX2V4dAogZmkKLQotICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MT1BURE9UT1BUIiA9IHg7
IHRoZW4KLSAgICBPQ0FNTE9QVERPVE9QVD0ibm8iCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBj
b25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgIGFjX2Nfd2Vycm9yX2ZsYWc9
JGFjX3NhdmVfY193ZXJyb3JfZmxhZworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcHJvZ19jY19nIiA+JjUKKyRhc19lY2hvICIkYWNf
Y3ZfcHJvZ19jY19nIiA+JjY7IH0KK2lmIHRlc3QgIiRhY190ZXN0X0NGTEFHUyIgPSBzZXQ7IHRo
ZW4KKyAgQ0ZMQUdTPSRhY19zYXZlX0NGTEFHUworZWxpZiB0ZXN0ICRhY19jdl9wcm9nX2NjX2cg
PSB5ZXM7IHRoZW4KKyAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAgICBDRkxBR1M9Ii1n
IC1PMiIKICAgZWxzZQotICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQg
aW4KLXllczopCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5J
Tkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1
Ci0kYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4
ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9Ci1hY190b29sX3dhcm5lZD15ZXMgOzsKLWVzYWMK
LSAgICBPQ0FNTE9QVERPVE9QVD0kYWNfY3RfT0NBTUxPUFRET1RPUFQKKyAgICBDRkxBR1M9Ii1n
IgogICBmaQogZWxzZQotICBPQ0FNTE9QVERPVE9QVD0iJGFjX2N2X3Byb2dfT0NBTUxPUFRET1RP
UFQiCi1maQotCi0JaWYgdGVzdCAiJE9DQU1MT1BURE9UT1BUIiAhPSAibm8iOyB0aGVuCi0JICAg
VE1QVkVSU0lPTj1gJE9DQU1MT1BURE9UT1BUIC12IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lvbiog
KlwoLipcKSR8XDF8cCcgYAotCSAgIGlmIHRlc3QgIiRUTVBWRVJTSU9OIiAhPSAiJE9DQU1MVkVS
U0lPTiIgOyB0aGVuCi0JICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6IHZlcnNpb24gZGlmZmVycyBmcm9tIG9jYW1sYzsgb2NhbWxvcHQub3B0IGRp
c2NhcmRlZC4iID4mNQotJGFzX2VjaG8gInZlcnNpb24gZGlmZmVycyBmcm9tIG9jYW1sYzsgb2Nh
bWxvcHQub3B0IGRpc2NhcmRlZC4iID4mNjsgfQotCSAgIGVsc2UKLQkgICAgICBPQ0FNTE9QVD0k
T0NBTUxPUFRET1RPUFQKLQkgICBmaQotICAgICAgICBmaQotICAgICBmaQotCi0KKyAgaWYgdGVz
dCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAgICBDRkxBR1M9Ii1PMiIKKyAgZWxzZQorICAgIENGTEFH
Uz0KICAgZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo
ZWNraW5nIGZvciAkQ0Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5IiA+JjUKKyRhc19lY2hvX24g
ImNoZWNraW5nIGZvciAkQ0Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uICIgPiY2OyB9Citp
ZiB0ZXN0ICIke2FjX2N2X3Byb2dfY2NfYzg5K3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2Vj
aG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfY3ZfcHJvZ19jY19jODk9bm8KK2FjX3Nh
dmVfQ0M9JENDCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Cisv
KiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3Rk
aW8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorLyog
TW9zdCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIGFyZSBzdG9sZW4gZnJvbSBSQ1MgNS43J3Mgc3Jj
L2NvbmYuc2guICAqLworc3RydWN0IGJ1ZiB7IGludCB4OyB9OworRklMRSAqICgqcmNzb3Blbikg
KHN0cnVjdCBidWYgKiwgc3RydWN0IHN0YXQgKiwgaW50KTsKK3N0YXRpYyBjaGFyICplIChwLCBp
KQorICAgICBjaGFyICoqcDsKKyAgICAgaW50IGk7Cit7CisgIHJldHVybiBwW2ldOworfQorc3Rh
dGljIGNoYXIgKmYgKGNoYXIgKiAoKmcpIChjaGFyICoqLCBpbnQpLCBjaGFyICoqcCwgLi4uKQor
eworICBjaGFyICpzOworICB2YV9saXN0IHY7CisgIHZhX3N0YXJ0ICh2LHApOworICBzID0gZyAo
cCwgdmFfYXJnICh2LGludCkpOworICB2YV9lbmQgKHYpOworICByZXR1cm4gczsKK30KIAorLyog
T1NGIDQuMCBDb21wYXEgY2MgaXMgc29tZSBzb3J0IG9mIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQu
ICBJdCBoYXMKKyAgIGZ1bmN0aW9uIHByb3RvdHlwZXMgYW5kIHN0dWZmLCBidXQgbm90ICdceEhI
JyBoZXggY2hhcmFjdGVyIGNvbnN0YW50cy4KKyAgIFRoZXNlIGRvbid0IHByb3Zva2UgYW4gZXJy
b3IgdW5mb3J0dW5hdGVseSwgaW5zdGVhZCBhcmUgc2lsZW50bHkgdHJlYXRlZAorICAgYXMgJ3gn
LiAgVGhlIGZvbGxvd2luZyBpbmR1Y2VzIGFuIGVycm9yLCB1bnRpbCAtc3RkIGlzIGFkZGVkIHRv
IGdldAorICAgcHJvcGVyIEFOU0kgbW9kZS4gIEN1cmlvdXNseSAnXHgwMCchPSd4JyBhbHdheXMg
Y29tZXMgb3V0IHRydWUsIGZvciBhbgorICAgYXJyYXkgc2l6ZSBhdCBsZWFzdC4gIEl0J3MgbmVj
ZXNzYXJ5IHRvIHdyaXRlICdceDAwJz09MCB0byBnZXQgc29tZXRoaW5nCisgICB0aGF0J3MgdHJ1
ZSBvbmx5IHdpdGggLXN0ZC4gICovCitpbnQgb3NmNF9jY19hcnJheSBbJ1x4MDAnID09IDAgPyAx
IDogLTFdOwogCisvKiBJQk0gQyA2IGZvciBBSVggaXMgYWxtb3N0LUFOU0kgYnkgZGVmYXVsdCwg
YnV0IGl0IHJlcGxhY2VzIG1hY3JvIHBhcmFtZXRlcnMKKyAgIGluc2lkZSBzdHJpbmdzIGFuZCBj
aGFyYWN0ZXIgY29uc3RhbnRzLiAgKi8KKyNkZWZpbmUgRk9PKHgpICd4JworaW50IHhsYzZfY2Nf
YXJyYXlbRk9PKGEpID09ICd4JyA/IDEgOiAtMV07CiAKLSAgIyBjaGVja2luZyBmb3Igb2NhbWwg
dG9wbGV2ZWwKLSAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4dHJh
Y3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWwiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9
b2NhbWw7IGFjX3dvcmQ9JDIKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAk
YWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MK3NldH0iID0g
c2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVz
dCAtbiAiJE9DQU1MIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MPSIkT0NBTUwiICMgTGV0IHRo
ZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQ
QVRIX1NFUEFSQVRPUgotZm9yIGFzX2RpciBpbiAkUEFUSAoraW50IHRlc3QgKGludCBpLCBkb3Vi
bGUgeCk7CitzdHJ1Y3QgczEge2ludCAoKmYpIChpbnQgYSk7fTsKK3N0cnVjdCBzMiB7aW50ICgq
ZikgKGRvdWJsZSBhKTt9OworaW50IHBhaXJuYW1lcyAoaW50LCBjaGFyICoqLCBGSUxFICooKiko
c3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpLCBpbnQsIGludCk7CitpbnQgYXJnYzsK
K2NoYXIgKiphcmd2OworaW50CittYWluICgpCit7CityZXR1cm4gZiAoZSwgYXJndiwgMCkgIT0g
YXJndlswXSAgfHwgIGYgKGUsIGFyZ3YsIDEpICE9IGFyZ3ZbMV07CisgIDsKKyAgcmV0dXJuIDA7
Cit9CitfQUNFT0YKK2ZvciBhY19hcmcgaW4gJycgLXFsYW5nbHZsPWV4dGM4OSAtcWxhbmdsdmw9
YW5zaSAtc3RkIFwKKwktQWUgIi1BYSAtRF9IUFVYX1NPVVJDRSIgIi1YYyAtRF9fRVhURU5TSU9O
U19fIgogZG8KLSAgSUZTPSRhc19zYXZlX0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19k
aXI9LgotICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25z
OyBkbwotICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRh
c190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNf
Y3ZfcHJvZ19PQ0FNTD0iJHthY190b29sX3ByZWZpeH1vY2FtbCIKLSAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKLSAgICBicmVhayAyCi0gIGZpCisgIENDPSIkYWNfc2F2ZV9DQyAkYWNfYXJnIgor
ICBpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3Byb2df
Y2NfYzg5PSRhY19hcmcKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNf
b2JqZXh0CisgIHRlc3QgIngkYWNfY3ZfcHJvZ19jY19jODkiICE9ICJ4bm8iICYmIGJyZWFrCiBk
b25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKK3JtIC1mIGNvbmZ0ZXN0LiRhY19leHQKK0ND
PSRhY19zYXZlX0NDCiAKIGZpCi1maQotT0NBTUw9JGFjX2N2X3Byb2dfT0NBTUwKLWlmIHRlc3Qg
LW4gIiRPQ0FNTCI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRPQ0FNTCIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MIiA+JjY7IH0KLWVsc2UK
LSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+
JjUKLSRhc19lY2hvICJubyIgPiY2OyB9CisjIEFDX0NBQ0hFX1ZBTAorY2FzZSAieCRhY19jdl9w
cm9nX2NjX2M4OSIgaW4KKyAgeCkKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogbm9uZSBuZWVkZWQiID4mNQorJGFzX2VjaG8gIm5vbmUgbmVlZGVk
IiA+JjY7IH0gOzsKKyAgeG5vKQorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiB1bnN1cHBvcnRlZCIgPiY1CiskYXNfZWNobyAidW5zdXBwb3J0ZWQi
ID4mNjsgfSA7OworICAqKQorICAgIENDPSIkQ0MgJGFjX2N2X3Byb2dfY2NfYzg5IgorICAgIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcHJv
Z19jY19jODkiID4mNQorJGFzX2VjaG8gIiRhY19jdl9wcm9nX2NjX2M4OSIgPiY2OyB9IDs7Citl
c2FjCitpZiB0ZXN0ICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiAhPSB4bm87IHRoZW4gOgorCiBmaQog
CithY19leHQ9YworYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyRDQyAtYyAk
Q0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKK2FjX2xpbms9JyRDQyAtbyBj
b25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFj
X2V4dCAkTElCUyA+JjUnCithY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CiAK
LWZpCi1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PQ0FNTCI7IHRoZW4KLSAgYWNfY3RfT0NBTUw9
JE9DQU1MCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2NhbWwiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sOyBhY193b3JkPSQy
Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAk
YWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7
IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTCtzZXR9IiA9IHNldDsgdGhlbiA6
Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRo
ZXIgJHtNQUtFLW1ha2V9IHNldHMgXCQoTUFLRSkiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcg
d2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBcJChNQUtFKS4uLiAiID4mNjsgfQorc2V0IHggJHtN
QUtFLW1ha2V9CithY19tYWtlPWAkYXNfZWNobyAiJDIiIHwgc2VkICdzLysvcC9nOyBzL1teYS16
QS1aMC05X10vXy9nJ2AKK2lmIGV2YWwgInRlc3QgXCJcJHthY19jdl9wcm9nX21ha2VfJHthY19t
YWtlfV9zZXQrc2V0fVwiIiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTCI7IHRoZW4KLSAgYWNfY3ZfcHJv
Z19hY19jdF9PQ0FNTD0iJGFjX2N0X09DQU1MIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUg
dGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKLWZvciBh
c19kaXIgaW4gJFBBVEgKLWRvCi0gIElGUz0kYXNfc2F2ZV9JRlMKLSAgdGVzdCAteiAiJGFzX2Rp
ciIgJiYgYXNfZGlyPS4KLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVf
ZXh0ZW5zaW9uczsgZG8KLSAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhl
bgotICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUw9Im9jYW1sIgotICAgICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19l
eHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lG
UwotCi1maQotZmkKLWFjX2N0X09DQU1MPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MCi1pZiB0ZXN0
IC1uICIkYWNfY3RfT0NBTUwiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NBTUwiID4mNQotJGFzX2VjaG8gIiRhY19jdF9P
Q0FNTCIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKLQotICBpZiB0
ZXN0ICJ4JGFjX2N0X09DQU1MIiA9IHg7IHRoZW4KLSAgICBPQ0FNTD0ibm8iCi0gIGVsc2UKLSAg
ICBjYXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0
b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19t
ZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlw
bGV0IiA+JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7CisgIGNhdCA+Y29uZnRlc3QubWFrZSA8
PFxfQUNFT0YKK1NIRUxMID0gL2Jpbi9zaAorYWxsOgorCUBlY2hvICdAQEAlJSU9JChNQUtFKT1A
QEAlJSUnCitfQUNFT0YKKyMgR05VIG1ha2Ugc29tZXRpbWVzIHByaW50cyAibWFrZVsxXTogRW50
ZXJpbmcgLi4uIiwgd2hpY2ggd291bGQgY29uZnVzZSB1cy4KK2Nhc2UgYCR7TUFLRS1tYWtlfSAt
ZiBjb25mdGVzdC5tYWtlIDI+L2Rldi9udWxsYCBpbgorICAqQEBAJSUlPT8qPUBAQCUlJSopCisg
ICAgZXZhbCBhY19jdl9wcm9nX21ha2VfJHthY19tYWtlfV9zZXQ9eWVzOzsKKyAgKikKKyAgICBl
dmFsIGFjX2N2X3Byb2dfbWFrZV8ke2FjX21ha2V9X3NldD1ubzs7CiBlc2FjCi0gICAgT0NBTUw9
JGFjX2N0X09DQU1MCi0gIGZpCitybSAtZiBjb25mdGVzdC5tYWtlCitmaQoraWYgZXZhbCB0ZXN0
IFwkYWNfY3ZfcHJvZ19tYWtlXyR7YWNfbWFrZX1fc2V0ID0geWVzOyB0aGVuCisgIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2Vj
aG8gInllcyIgPiY2OyB9CisgIFNFVF9NQUtFPQogZWxzZQotICBPQ0FNTD0iJGFjX2N2X3Byb2df
T0NBTUwiCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorICBTRVRfTUFLRT0iTUFLRT0ke01BS0Ut
bWFrZX0iCiBmaQogCi0KLSAgIyBjaGVja2luZyBmb3Igb2NhbWxkZXAKLSAgaWYgdGVzdCAtbiAi
JGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7
YWNfdG9vbF9wcmVmaXh9b2NhbWxkZXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0
aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9b2NhbWxkZXA7IGFjX3dvcmQ9JDIK
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRh
Y193b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsg
fQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MREVQK3NldH0iID0gc2V0OyB0aGVuIDoKKyMg
RmluZCBhIGdvb2QgaW5zdGFsbCBwcm9ncmFtLiAgV2UgcHJlZmVyIGEgQyBwcm9ncmFtIChmYXN0
ZXIpLAorIyBzbyBvbmUgc2NyaXB0IGlzIGFzIGdvb2QgYXMgYW5vdGhlci4gIEJ1dCBhdm9pZCB0
aGUgYnJva2VuIG9yCisjIGluY29tcGF0aWJsZSB2ZXJzaW9uczoKKyMgU3lzViAvZXRjL2luc3Rh
bGwsIC91c3Ivc2Jpbi9pbnN0YWxsCisjIFN1bk9TIC91c3IvZXRjL2luc3RhbGwKKyMgSVJJWCAv
c2Jpbi9pbnN0YWxsCisjIEFJWCAvYmluL2luc3RhbGwKKyMgQW1pZ2FPUyAvQy9pbnN0YWxsLCB3
aGljaCBpbnN0YWxscyBib290YmxvY2tzIG9uIGZsb3BweSBkaXNjcworIyBBSVggNCAvdXNyL2Jp
bi9pbnN0YWxsYnNkLCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aG91dCBhIC1nIGZsYWcKKyMgQUZT
IC91c3IvYWZzd3MvYmluL2luc3RhbGwsIHdoaWNoIG1pc2hhbmRsZXMgbm9uZXhpc3RlbnQgYXJn
cworIyBTVlI0IC91c3IvdWNiL2luc3RhbGwsIHdoaWNoIHRyaWVzIHRvIHVzZSB0aGUgbm9uZXhp
c3RlbnQgZ3JvdXAgInN0YWZmIgorIyBPUy8yJ3Mgc3lzdGVtIGluc3RhbGwsIHdoaWNoIGhhcyBh
IGNvbXBsZXRlbHkgZGlmZmVyZW50IHNlbWFudGljCisjIC4vaW5zdGFsbCwgd2hpY2ggY2FuIGJl
IGVycm9uZW91c2x5IGNyZWF0ZWQgYnkgbWFrZSBmcm9tIC4vaW5zdGFsbC5zaC4KKyMgUmVqZWN0
IGluc3RhbGwgcHJvZ3JhbXMgdGhhdCBjYW5ub3QgaW5zdGFsbCBtdWx0aXBsZSBmaWxlcy4KK3sg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGEgQlNE
LWNvbXBhdGlibGUgaW5zdGFsbCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgYSBCU0Qt
Y29tcGF0aWJsZSBpbnN0YWxsLi4uICIgPiY2OyB9CitpZiB0ZXN0IC16ICIkSU5TVEFMTCI7IHRo
ZW4KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9pbnN0YWxsK3NldH0iID0gc2V0OyB0aGVuIDoKICAg
JGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgaWYgdGVzdCAtbiAiJE9DQU1MREVQ
IjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MREVQPSIkT0NBTUxERVAiICMgTGV0IHRoZSB1c2Vy
IG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NF
UEFSQVRPUgorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNf
ZGlyIGluICRQQVRICiBkbwogICBJRlM9JGFzX3NhdmVfSUZTCiAgIHRlc3QgLXogIiRhc19kaXIi
ICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4
dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4
dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4K
LSAgICBhY19jdl9wcm9nX09DQU1MREVQPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwIgotICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgIGJyZWFrIDIKLSAgZmkKLWRvbmUKKyAgICAjIEFj
Y291bnQgZm9yIHBlb3BsZSB3aG8gcHV0IHRyYWlsaW5nIHNsYXNoZXMgaW4gUEFUSCBlbGVtZW50
cy4KK2Nhc2UgJGFzX2Rpci8gaW4gIygoCisgIC4vIHwgLi8vIHwgL1tjQ10vKiB8IFwKKyAgL2V0
Yy8qIHwgL3Vzci9zYmluLyogfCAvdXNyL2V0Yy8qIHwgL3NiaW4vKiB8IC91c3IvYWZzd3MvYmlu
LyogfCBcCisgID86W1xcL11vczJbXFwvXWluc3RhbGxbXFwvXSogfCA/OltcXC9dT1MyW1xcL11J
TlNUQUxMW1xcL10qIHwgXAorICAvdXNyL3VjYi8qICkgOzsKKyAgKikKKyAgICAjIE9TRjEgYW5k
IFNDTyBPRFQgMy4wIGhhdmUgdGhlaXIgb3duIG5hbWVzIGZvciBpbnN0YWxsLgorICAgICMgRG9u
J3QgdXNlIGluc3RhbGxic2QgZnJvbSBPU0Ygc2luY2UgaXQgaW5zdGFsbHMgc3R1ZmYgYXMgcm9v
dAorICAgICMgYnkgZGVmYXVsdC4KKyAgICBmb3IgYWNfcHJvZyBpbiBnaW5zdGFsbCBzY29pbnN0
IGluc3RhbGw7IGRvCisgICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVf
ZXh0ZW5zaW9uczsgZG8KKwlpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19l
eHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiOyB9OyB0aGVu
CisJICBpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorCSAgICBncmVwIGRzcG1zZyAiJGFz
X2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICAgICMg
QUlYIGluc3RhbGwuICBJdCBoYXMgYW4gaW5jb21wYXRpYmxlIGNhbGxpbmcgY29udmVudGlvbi4K
KwkgICAgOgorCSAgZWxpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorCSAgICBncmVwIHB3
cGx1cyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
CisJICAgICMgcHJvZ3JhbS1zcGVjaWZpYyBpbnN0YWxsIHNjcmlwdCB1c2VkIGJ5IEhQIHB3cGx1
cy0tZG9uJ3QgdXNlLgorCSAgICA6CisJICBlbHNlCisJICAgIHJtIC1yZiBjb25mdGVzdC5vbmUg
Y29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgorCSAgICBlY2hvIG9uZSA+IGNvbmZ0ZXN0Lm9uZQor
CSAgICBlY2hvIHR3byA+IGNvbmZ0ZXN0LnR3bworCSAgICBta2RpciBjb25mdGVzdC5kaXIKKwkg
ICAgaWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiIC1jIGNvbmZ0ZXN0Lm9uZSBjb25m
dGVzdC50d28gImBwd2RgL2NvbmZ0ZXN0LmRpciIgJiYKKwkgICAgICB0ZXN0IC1zIGNvbmZ0ZXN0
Lm9uZSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0LnR3byAmJgorCSAgICAgIHRlc3QgLXMgY29uZnRlc3Qu
ZGlyL2NvbmZ0ZXN0Lm9uZSAmJgorCSAgICAgIHRlc3QgLXMgY29uZnRlc3QuZGlyL2NvbmZ0ZXN0
LnR3bworCSAgICB0aGVuCisJICAgICAgYWNfY3ZfcGF0aF9pbnN0YWxsPSIkYXNfZGlyLyRhY19w
cm9nJGFjX2V4ZWNfZXh0IC1jIgorCSAgICAgIGJyZWFrIDMKKwkgICAgZmkKKwkgIGZpCisJZmkK
KyAgICAgIGRvbmUKKyAgICBkb25lCisgICAgOzsKK2VzYWMKKwogICBkb25lCiBJRlM9JGFzX3Nh
dmVfSUZTCiAKK3JtIC1yZiBjb25mdGVzdC5vbmUgY29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgor
CiBmaQorICBpZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgor
ICAgIElOU1RBTEw9JGFjX2N2X3BhdGhfaW5zdGFsbAorICBlbHNlCisgICAgIyBBcyBhIGxhc3Qg
cmVzb3J0LCB1c2UgdGhlIHNsb3cgc2hlbGwgc2NyaXB0LiAgRG9uJ3QgY2FjaGUgYQorICAgICMg
dmFsdWUgZm9yIElOU1RBTEwgd2l0aGluIGEgc291cmNlIGRpcmVjdG9yeSwgYmVjYXVzZSB0aGF0
IHdpbGwKKyAgICAjIGJyZWFrIG90aGVyIHBhY2thZ2VzIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGF0
IGRpcmVjdG9yeSBpcworICAgICMgcmVtb3ZlZCwgb3IgaWYgdGhlIHZhbHVlIGlzIGEgcmVsYXRp
dmUgbmFtZS4KKyAgICBJTlNUQUxMPSRhY19pbnN0YWxsX3NoCisgIGZpCiBmaQotT0NBTUxERVA9
JGFjX2N2X3Byb2dfT0NBTUxERVAKLWlmIHRlc3QgLW4gIiRPQ0FNTERFUCI7IHRoZW4KLSAgeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRPQ0FNTERFUCIg
PiY1Ci0kYXNfZWNobyAiJE9DQU1MREVQIiA+JjY7IH0KLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIg
PiY2OyB9Ci1maQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6ICRJTlNUQUxMIiA+JjUKKyRhc19lY2hvICIkSU5TVEFMTCIgPiY2OyB9CiAKKyMgVXNlIHRl
c3QgLXogYmVjYXVzZSBTdW5PUzQgc2ggbWlzaGFuZGxlcyBicmFjZXMgaW4gJHt2YXItdmFsfS4K
KyMgSXQgdGhpbmtzIHRoZSBmaXJzdCBjbG9zZSBicmFjZSBlbmRzIHRoZSB2YXJpYWJsZSBzdWJz
dGl0dXRpb24uCit0ZXN0IC16ICIkSU5TVEFMTF9QUk9HUkFNIiAmJiBJTlNUQUxMX1BST0dSQU09
JyR7SU5TVEFMTH0nCiAKLWZpCi1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19PQ0FNTERFUCI7IHRo
ZW4KLSAgYWNfY3RfT0NBTUxERVA9JE9DQU1MREVQCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29y
ZCBvZiAib2NhbWxkZXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgot
c2V0IGR1bW15IG9jYW1sZGVwOyBhY193b3JkPSQyCit0ZXN0IC16ICIkSU5TVEFMTF9TQ1JJUFQi
ICYmIElOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JworCit0ZXN0IC16ICIkSU5TVEFMTF9EQVRB
IiAmJiBJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JworCisjIEV4dHJhY3QgdGhlIGZp
cnN0IHdvcmQgb2YgImJpc29uIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJn
cy4KK3NldCBkdW1teSBiaXNvbjsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2df
YWNfY3RfT0NBTUxERVArc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wYXRo
X0JJU09OK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
IGVsc2UKLSAgaWYgdGVzdCAtbiAiJGFjX2N0X09DQU1MREVQIjsgdGhlbgotICBhY19jdl9wcm9n
X2FjX2N0X09DQU1MREVQPSIkYWNfY3RfT0NBTUxERVAiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl
IHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgor
ICBjYXNlICRCSVNPTiBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9CSVNP
Tj0iJEJJU09OIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4K
KyAgOzsKKyAgKikKKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9y
IGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIkYXNf
ZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJs
ZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhl
Y19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0
aGVuCi0gICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERFUD0ib2NhbWxkZXAiCisgICAgYWNfY3Zf
cGF0aF9CSVNPTj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKICAgICAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01ODMzLDUzICszNTY1LDM5IEBAIGRv
bmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCisgIDs7Citlc2FjCiBmaQotZmkKLWFjX2N0
X09DQU1MREVQPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MREVQCi1pZiB0ZXN0IC1uICIkYWNfY3Rf
T0NBTUxERVAiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiAkYWNfY3RfT0NBTUxERVAiID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTERF
UCIgPiY2OyB9CitCSVNPTj0kYWNfY3ZfcGF0aF9CSVNPTgoraWYgdGVzdCAtbiAiJEJJU09OIjsg
dGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JEJJU09OIiA+JjUKKyRhc19lY2hvICIkQklTT04iID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8g
Im5vIiA+JjY7IH0KIGZpCiAKLSAgaWYgdGVzdCAieCRhY19jdF9PQ0FNTERFUCIgPSB4OyB0aGVu
Ci0gICAgT0NBTUxERVA9Im5vIgotICBlbHNlCi0gICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRh
Y190b29sX3dhcm5lZCBpbgoteWVzOikKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9z
dCB0cmlwbGV0IiA+JjUKLSRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRv
b2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KLWFjX3Rvb2xfd2FybmVk
PXllcyA7OwotZXNhYwotICAgIE9DQU1MREVQPSRhY19jdF9PQ0FNTERFUAotICBmaQotZWxzZQot
ICBPQ0FNTERFUD0iJGFjX2N2X3Byb2dfT0NBTUxERVAiCi1maQotCiAKLSAgIyBjaGVja2luZyBm
b3Igb2NhbWxta3RvcAotICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICMg
RXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vY2FtbG1rdG9wIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSAke2FjX3Rv
b2xfcHJlZml4fW9jYW1sbWt0b3A7IGFjX3dvcmQ9JDIKKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29y
ZCBvZiAiZmxleCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQg
ZHVtbXkgZmxleDsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NBTUxNS1RP
UCtzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfRkxFWCtzZXR9IiA9
IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRl
c3QgLW4gIiRPQ0FNTE1LVE9QIjsgdGhlbgotICBhY19jdl9wcm9nX09DQU1MTUtUT1A9IiRPQ0FN
TE1LVE9QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgY2FzZSAkRkxFWCBpbgorICBbXFwvXSog
fCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9GTEVYPSIkRkxFWCIgIyBMZXQgdGhlIHVzZXIgb3Zl
cnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJ
RlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0k
YXNfc2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNf
ZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0
IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGly
LyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxNS1RP
UD0iJHthY190b29sX3ByZWZpeH1vY2FtbG1rdG9wIgorICAgIGFjX2N2X3BhdGhfRkxFWD0iJGFz
X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAg
ICBicmVhayAyCiAgIGZpCkBAIC01ODg3LDM5ICszNjA1LDM5IEBAIGRvbmUKICAgZG9uZQogSUZT
PSRhc19zYXZlX0lGUwogCisgIDs7Citlc2FjCiBmaQotZmkKLU9DQU1MTUtUT1A9JGFjX2N2X3By
b2dfT0NBTUxNS1RPUAotaWYgdGVzdCAtbiAiJE9DQU1MTUtUT1AiOyB0aGVuCi0gIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkT0NBTUxNS1RPUCIgPiY1
Ci0kYXNfZWNobyAiJE9DQU1MTUtUT1AiID4mNjsgfQorRkxFWD0kYWNfY3ZfcGF0aF9GTEVYCitp
ZiB0ZXN0IC1uICIkRkxFWCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRGTEVYIiA+JjUKKyRhc19lY2hvICIkRkxFWCIgPiY2OyB9CiBl
bHNlCiAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBu
byIgPiY1CiAkYXNfZWNobyAibm8iID4mNjsgfQogZmkKIAogCi1maQotaWYgdGVzdCAteiAiJGFj
X2N2X3Byb2dfT0NBTUxNS1RPUCI7IHRoZW4KLSAgYWNfY3RfT0NBTUxNS1RPUD0kT0NBTUxNS1RP
UAotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sbWt0b3AiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IG9jYW1sbWt0b3A7IGFjX3dv
cmQ9JDIKKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicGVybCIsIHNvIGl0IGNhbiBiZSBh
IHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgcGVybDsgYWNfd29yZD0kMgogeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dv
cmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0NBTUxNS1RPUCtzZXR9IiA9IHNldDsgdGhlbiA6
CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfUEVSTCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE1L
VE9QIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MTUtUT1A9IiRhY19jdF9PQ0FNTE1L
VE9QIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZT
PSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgY2FzZSAkUEVSTCBpbgorICBbXFwvXSogfCA/
OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9QRVJMPSIkUEVSTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJRlM7
IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNf
c2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhl
Y19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1m
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxN
S1RPUD0ib2NhbWxta3RvcCIKKyAgICBhY19jdl9wYXRoX1BFUkw9IiRhc19kaXIvJGFjX3dvcmQk
YWNfZXhlY19leHQiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Zm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJlYWsgMgogICBm
aQpAQCAtNTkyNyw1MyArMzY0NSw0NiBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNfc2F2ZV9JRlMK
IAorICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9QRVJMIiAmJiBhY19jdl9wYXRoX1BFUkw9Im5vIgor
ICA7OworZXNhYwogZmkKLWZpCi1hY19jdF9PQ0FNTE1LVE9QPSRhY19jdl9wcm9nX2FjX2N0X09D
QU1MTUtUT1AKLWlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE1LVE9QIjsgdGhlbgotICB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MTUtU
T1AiID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTE1LVE9QIiA+JjY7IH0KK1BFUkw9JGFjX2N2
X3BhdGhfUEVSTAoraWYgdGVzdCAtbiAiJFBFUkwiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUEVSTCIgPiY1CiskYXNfZWNobyAiJFBF
UkwiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKLSAgaWYgdGVz
dCAieCRhY19jdF9PQ0FNTE1LVE9QIiA9IHg7IHRoZW4KLSAgICBPQ0FNTE1LVE9QPSJubyIKLSAg
ZWxzZQotICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KLXllczop
Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5n
IGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1Ci0kYXNfZWNo
byAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBo
b3N0IHRyaXBsZXQiID4mMjt9Ci1hY190b29sX3dhcm5lZD15ZXMgOzsKLWVzYWMKLSAgICBPQ0FN
TE1LVE9QPSRhY19jdF9PQ0FNTE1LVE9QCi0gIGZpCi1lbHNlCi0gIE9DQU1MTUtUT1A9IiRhY19j
dl9wcm9nX09DQU1MTUtUT1AiCi1maQogCitpZiB0ZXN0IHgiJHtQRVJMfSIgPT0geCJubyIKK3Ro
ZW4KKyAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgcGVybCwgcGxlYXNlIGluc3Rh
bGwgcGVybCIgIiRMSU5FTk8iIDUKK2ZpCitpZiB0ZXN0ICJ4JHhhcGkiID0gInh5IjsgdGhlbiA6
CiAKLSAgIyBjaGVja2luZyBmb3Igb2NhbWxta2xpYgotICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9w
cmVmaXgiOyB0aGVuCi0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3By
ZWZpeH1vY2FtbG1rbGliIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4K
LXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sbWtsaWI7IGFjX3dvcmQ9JDIKKyAgICAj
IEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImN1cmwtY29uZmlnIiwgc28gaXQgY2FuIGJlIGEg
cHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBjdXJsLWNvbmZpZzsgYWNfd29yZD0k
MgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Ig
JGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2
OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NBTUxNS0xJQitzZXR9IiA9IHNldDsgdGhlbiA6
CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfQ1VSTCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19l
Y2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRPQ0FNTE1LTElCIjsg
dGhlbgotICBhY19jdl9wcm9nX09DQU1MTUtMSUI9IiRPQ0FNTE1LTElCIiAjIExldCB0aGUgdXNl
ciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9T
RVBBUkFUT1IKKyAgY2FzZSAkQ1VSTCBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3Zf
cGF0aF9DVVJMPSIkQ1VSTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBh
IHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFU
T1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAt
eiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4
ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfT0NBTUxNS0xJQj0iJHthY190b29sX3ByZWZpeH1v
Y2FtbG1rbGliIgorICAgIGFjX2N2X3BhdGhfQ1VSTD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAk
YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC01
OTgxLDM5ICszNjkyLDQ0IEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwogCisgIHRl
c3QgLXogIiRhY19jdl9wYXRoX0NVUkwiICYmIGFjX2N2X3BhdGhfQ1VSTD0ibm8iCisgIDs7Citl
c2FjCiBmaQotZmkKLU9DQU1MTUtMSUI9JGFjX2N2X3Byb2dfT0NBTUxNS0xJQgotaWYgdGVzdCAt
biAiJE9DQU1MTUtMSUIiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkT0NBTUxNS0xJQiIgPiY1Ci0kYXNfZWNobyAiJE9DQU1MTUtMSUIi
ID4mNjsgfQorQ1VSTD0kYWNfY3ZfcGF0aF9DVVJMCitpZiB0ZXN0IC1uICIkQ1VSTCI7IHRoZW4K
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDVVJM
IiA+JjUKKyRhc19lY2hvICIkQ1VSTCIgPiY2OyB9CiBlbHNlCiAgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiAkYXNfZWNobyAibm8iID4m
NjsgfQogZmkKIAogCitpZiB0ZXN0IHgiJHtDVVJMfSIgPT0geCJubyIKK3RoZW4KKyAgICBhc19m
bl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgY3VybC1jb25maWcsIHBsZWFzZSBpbnN0YWxsIGN1
cmwtY29uZmlnIiAiJExJTkVOTyIgNQogZmkKLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1M
TUtMSUIiOyB0aGVuCi0gIGFjX2N0X09DQU1MTUtMSUI9JE9DQU1MTUtMSUIKLSAgIyBFeHRyYWN0
IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbG1rbGliIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBvY2FtbG1rbGliOyBhY193b3JkPSQyCisgICAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJ4bWwyLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHBy
b2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgeG1sMi1jb25maWc7IGFjX3dvcmQ9JDIK
IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRh
Y193b3JkIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsg
fQotaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1MTUtMSUIrc2V0fSIgPSBzZXQ7IHRo
ZW4gOgoraWYgdGVzdCAiJHthY19jdl9wYXRoX1hNTCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FN
TE1LTElCIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MTUtMSUI9IiRhY19jdF9PQ0FN
TE1LTElCIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KLWVsc2UKLWFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgY2FzZSAkWE1MIGluCisgIFtcXC9dKiB8
ID86W1xcL10qKQorICBhY19jdl9wYXRoX1hNTD0iJFhNTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJRlM7
IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNf
c2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhl
Y19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1m
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxN
S0xJQj0ib2NhbWxta2xpYiIKKyAgICBhY19jdl9wYXRoX1hNTD0iJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBm
b3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZp
CkBAIC02MDIxLDQ0ICszNzM3LDM5IEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZlX0lGUwog
CisgIHRlc3QgLXogIiRhY19jdl9wYXRoX1hNTCIgJiYgYWNfY3ZfcGF0aF9YTUw9Im5vIgorICA7
OworZXNhYwogZmkKLWZpCi1hY19jdF9PQ0FNTE1LTElCPSRhY19jdl9wcm9nX2FjX2N0X09DQU1M
TUtMSUIKLWlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE1LTElCIjsgdGhlbgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MTUtMSUIi
ID4mNQotJGFzX2VjaG8gIiRhY19jdF9PQ0FNTE1LTElCIiA+JjY7IH0KK1hNTD0kYWNfY3ZfcGF0
aF9YTUwKK2lmIHRlc3QgLW4gIiRYTUwiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkWE1MIiA+JjUKKyRhc19lY2hvICIkWE1MIiA+JjY7
IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0gIGlmIHRlc3QgIngkYWNf
Y3RfT0NBTUxNS0xJQiIgPSB4OyB0aGVuCi0gICAgT0NBTUxNS0xJQj0ibm8iCi0gIGVsc2UKLSAg
ICBjYXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi15ZXM6KQoteyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0
b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQotJGFzX2VjaG8gIiRhc19t
ZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlw
bGV0IiA+JjI7fQotYWNfdG9vbF93YXJuZWQ9eWVzIDs7Ci1lc2FjCi0gICAgT0NBTUxNS0xJQj0k
YWNfY3RfT0NBTUxNS0xJQgotICBmaQotZWxzZQotICBPQ0FNTE1LTElCPSIkYWNfY3ZfcHJvZ19P
Q0FNTE1LTElCIgorCitpZiB0ZXN0IHgiJHtYTUx9IiA9PSB4Im5vIgordGhlbgorICAgIGFzX2Zu
X2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCB4bWwyLWNvbmZpZywgcGxlYXNlIGluc3RhbGwgeG1s
Mi1jb25maWciICIkTElORU5PIiA1CiBmaQogCitmaQoraWYgdGVzdCAieCRvY2FtbHRvb2xzIiA9
ICJ4eSI7IHRoZW4gOgogCi0gICMgY2hlY2tpbmcgZm9yIG9jYW1sZG9jCisgICAgICAjIGNoZWNr
aW5nIGZvciBvY2FtbGMKICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAj
IEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxkb2MiLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15ICR7YWNfdG9v
bF9wcmVmaXh9b2NhbWxkb2M7IGFjX3dvcmQ9JDIKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFt
ZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbGM7IGFjX3dvcmQ9
JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9y
ICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4m
NjsgfQotaWYgdGVzdCAiJHthY19jdl9wcm9nX09DQU1MRE9DK3NldH0iID0gc2V0OyB0aGVuIDoK
K2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FNTEMrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNf
ZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0ZXN0IC1uICIkT0NBTUxET0MiOyB0
aGVuCi0gIGFjX2N2X3Byb2dfT0NBTUxET0M9IiRPQ0FNTERPQyIgIyBMZXQgdGhlIHVzZXIgb3Zl
cnJpZGUgdGhlIHRlc3QuCisgIGlmIHRlc3QgLW4gIiRPQ0FNTEMiOyB0aGVuCisgIGFjX2N2X3By
b2dfT0NBTUxDPSIkT0NBTUxDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVs
c2UKIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4g
JFBBVEgKQEAgLTYwNjcsNyArMzc3OCw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFz
X2Rpcj0uCiAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lv
bnM7IGRvCiAgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYg
JGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBh
Y19jdl9wcm9nX09DQU1MRE9DPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZG9jIgorICAgIGFjX2N2
X3Byb2dfT0NBTUxDPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sYyIKICAgICAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf
ZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZpCkBAIC02MDc3LDEwICszNzg4LDEwIEBAIElGUz0k
YXNfc2F2ZV9JRlMKIAogZmkKIGZpCi1PQ0FNTERPQz0kYWNfY3ZfcHJvZ19PQ0FNTERPQwotaWYg
dGVzdCAtbiAiJE9DQU1MRE9DIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MRE9DIiA+JjUKLSRhc19lY2hvICIkT0NBTUxET0Mi
ID4mNjsgfQorT0NBTUxDPSRhY19jdl9wcm9nX09DQU1MQworaWYgdGVzdCAtbiAiJE9DQU1MQyI7
IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRPQ0FNTEMiID4mNQorJGFzX2VjaG8gIiRPQ0FNTEMiID4mNjsgfQogZWxzZQogICB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2Vj
aG8gIm5vIiA+JjY7IH0KQEAgLTYwODgsMTcgKzM3OTksMTcgQEAgZmkKIAogCiBmaQotaWYgdGVz
dCAteiAiJGFjX2N2X3Byb2dfT0NBTUxET0MiOyB0aGVuCi0gIGFjX2N0X09DQU1MRE9DPSRPQ0FN
TERPQwotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sZG9jIiwgc28gaXQgY2Fu
IGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBvY2FtbGRvYzsgYWNfd29y
ZD0kMgoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxDIjsgdGhlbgorICBhY19jdF9PQ0FN
TEM9JE9DQU1MQworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sYyIsIHNvIGl0
IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgb2NhbWxjOyBhY193
b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERPQytzZXR9IiA9IHNl
dDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfT0NBTUxDK3NldH0iID0gc2V0
OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgaWYgdGVzdCAt
biAiJGFjX2N0X09DQU1MRE9DIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MRE9DPSIk
YWNfY3RfT0NBTUxET0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorICBpZiB0
ZXN0IC1uICIkYWNfY3RfT0NBTUxDIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQz0i
JGFjX2N0X09DQU1MQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCiBlbHNlCiBh
c19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRI
CkBAIC02MTA3LDcgKzM4MTgsNyBAQCBkbwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9
LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBk
bwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190
ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3Zf
cHJvZ19hY19jdF9PQ0FNTERPQz0ib2NhbWxkb2MiCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FN
TEM9Im9jYW1sYyIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBm
b3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAyCiAgIGZp
CkBAIC02MTE3LDE3ICszODI4LDE3IEBAIElGUz0kYXNfc2F2ZV9JRlMKIAogZmkKIGZpCi1hY19j
dF9PQ0FNTERPQz0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERPQwotaWYgdGVzdCAtbiAiJGFjX2N0
X09DQU1MRE9DIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJGFjX2N0X09DQU1MRE9DIiA+JjUKLSRhc19lY2hvICIkYWNfY3RfT0NBTUxE
T0MiID4mNjsgfQorYWNfY3RfT0NBTUxDPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MQworaWYgdGVz
dCAtbiAiJGFjX2N0X09DQU1MQyI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTEMiID4mNQorJGFzX2VjaG8gIiRhY19j
dF9PQ0FNTEMiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKLSAg
aWYgdGVzdCAieCRhY19jdF9PQ0FNTERPQyIgPSB4OyB0aGVuCi0gICAgT0NBTUxET0M9Im5vIgor
ICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MQyIgPSB4OyB0aGVuCisgICAgT0NBTUxDPSJubyIKICAg
ZWxzZQogICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KIHllczop
CkBAIC02MTM1LDI0ICszODQ2LDQxIEBAIHllczopCiAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5H
OiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9
CiBhY190b29sX3dhcm5lZD15ZXMgOzsKIGVzYWMKLSAgICBPQ0FNTERPQz0kYWNfY3RfT0NBTUxE
T0MKKyAgICBPQ0FNTEM9JGFjX2N0X09DQU1MQwogICBmaQogZWxzZQotICBPQ0FNTERPQz0iJGFj
X2N2X3Byb2dfT0NBTUxET0MiCisgIE9DQU1MQz0iJGFjX2N2X3Byb2dfT0NBTUxDIgogZmkKIAog
Ci0gICMgY2hlY2tpbmcgZm9yIG9jYW1sYnVpbGQKLSAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJl
Zml4IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVm
aXh9b2NhbWxidWlsZCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1z
ZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbGJ1aWxkOyBhY193b3JkPSQyCisgIGlmIHRl
c3QgIiRPQ0FNTEMiICE9ICJubyI7IHRoZW4KKyAgICAgT0NBTUxWRVJTSU9OPWAkT0NBTUxDIC12
IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lvbiogKlwoLipcKSR8XDF8cCdgCisgICAgIHsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBPQ2FtbCB2ZXJzaW9uIGlz
ICRPQ0FNTFZFUlNJT04iID4mNQorJGFzX2VjaG8gIk9DYW1sIHZlcnNpb24gaXMgJE9DQU1MVkVS
U0lPTiIgPiY2OyB9CisgICAgICMgSWYgT0NBTUxMSUIgaXMgc2V0LCB1c2UgaXQKKyAgICAgaWYg
dGVzdCAiJE9DQU1MTElCIiA9ICIiOyB0aGVuCisgICAgICAgIE9DQU1MTElCPWAkT0NBTUxDIC13
aGVyZSAyPi9kZXYvbnVsbCB8fCAkT0NBTUxDIC12fHRhaWwgLTF8Y3V0IC1kICcgJyAtZiA0YAor
ICAgICBlbHNlCisgICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBPQ0FNTExJQiBwcmV2aW91c2x5IHNldDsgcHJlc2VydmluZyBpdC4iID4mNQor
JGFzX2VjaG8gIk9DQU1MTElCIHByZXZpb3VzbHkgc2V0OyBwcmVzZXJ2aW5nIGl0LiIgPiY2OyB9
CisgICAgIGZpCisgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiBPQ2FtbCBsaWJyYXJ5IHBhdGggaXMgJE9DQU1MTElCIiA+JjUKKyRhc19lY2hvICJP
Q2FtbCBsaWJyYXJ5IHBhdGggaXMgJE9DQU1MTElCIiA+JjY7IH0KKworCisKKworICAgICAjIGNo
ZWNraW5nIGZvciBvY2FtbG9wdAorICAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0
aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1vY2Ft
bG9wdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkg
JHthY190b29sX3ByZWZpeH1vY2FtbG9wdDsgYWNfd29yZD0kMgogeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2
X3Byb2dfT0NBTUxCVUlMRCtzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3By
b2dfT0NBTUxPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAi
ID4mNgogZWxzZQotICBpZiB0ZXN0IC1uICIkT0NBTUxCVUlMRCI7IHRoZW4KLSAgYWNfY3ZfcHJv
Z19PQ0FNTEJVSUxEPSIkT0NBTUxCVUlMRCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRl
c3QuCisgIGlmIHRlc3QgLW4gIiRPQ0FNTE9QVCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PQ0FNTE9Q
VD0iJE9DQU1MT1BUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVsc2UKIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgK
QEAgLTYxNjEsNyArMzg4OSw3IEBAIGRvCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0u
CiAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRv
CiAgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rl
c3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9w
cm9nX09DQU1MQlVJTEQ9IiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxidWlsZCIKKyAgICBhY19jdl9w
cm9nX09DQU1MT1BUPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sb3B0IgogICAgICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhl
Y19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTYxNzEsMTAgKzM4OTksMTAgQEAgSUZT
PSRhc19zYXZlX0lGUwogCiBmaQogZmkKLU9DQU1MQlVJTEQ9JGFjX2N2X3Byb2dfT0NBTUxCVUlM
RAotaWYgdGVzdCAtbiAiJE9DQU1MQlVJTEQiOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkT0NBTUxCVUlMRCIgPiY1Ci0kYXNfZWNobyAi
JE9DQU1MQlVJTEQiID4mNjsgfQorT0NBTUxPUFQ9JGFjX2N2X3Byb2dfT0NBTUxPUFQKK2lmIHRl
c3QgLW4gIiRPQ0FNTE9QVCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRPQ0FNTE9QVCIgPiY1CiskYXNfZWNobyAiJE9DQU1MT1BUIiA+
JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9CkBAIC02MTgyLDE3ICszOTEwLDE3
IEBAIGZpCiAKIAogZmkKLWlmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MQlVJTEQiOyB0aGVu
Ci0gIGFjX2N0X09DQU1MQlVJTEQ9JE9DQU1MQlVJTEQKLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3
b3JkIG9mICJvY2FtbGJ1aWxkIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJn
cy4KLXNldCBkdW1teSBvY2FtbGJ1aWxkOyBhY193b3JkPSQyCitpZiB0ZXN0IC16ICIkYWNfY3Zf
cHJvZ19PQ0FNTE9QVCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxPUFQ9JE9DQU1MT1BUCisgICMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAib2NhbWxvcHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFt
IG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9jYW1sb3B0OyBhY193b3JkPSQyCiB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTEJVSUxEK3NldH0iID0gc2V0OyB0aGVuIDoKK2lm
IHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE9QVCtzZXR9IiA9IHNldDsgdGhlbiA6CiAg
ICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgLW4gIiRhY19jdF9P
Q0FNTEJVSUxEIjsgdGhlbgotICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQ9IiRhY19jdF9P
Q0FNTEJVSUxEIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyAgaWYgdGVzdCAt
biAiJGFjX2N0X09DQU1MT1BUIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MT1BUPSIk
YWNfY3RfT0NBTUxPUFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgogZWxzZQog
YXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFU
SApAQCAtNjIwMSw3ICszOTI5LDcgQEAgZG8KICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGly
PS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsg
ZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNf
dGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2
X3Byb2dfYWNfY3RfT0NBTUxCVUlMRD0ib2NhbWxidWlsZCIKKyAgICBhY19jdl9wcm9nX2FjX2N0
X09DQU1MT1BUPSJvY2FtbG9wdCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVh
ayAyCiAgIGZpCkBAIC02MjExLDE3ICszOTM5LDE3IEBAIElGUz0kYXNfc2F2ZV9JRlMKIAogZmkK
IGZpCi1hY19jdF9PQ0FNTEJVSUxEPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQKLWlmIHRl
c3QgLW4gIiRhY19jdF9PQ0FNTEJVSUxEIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MQlVJTEQiID4mNQotJGFzX2Vj
aG8gIiRhY19jdF9PQ0FNTEJVSUxEIiA+JjY7IH0KK2FjX2N0X09DQU1MT1BUPSRhY19jdl9wcm9n
X2FjX2N0X09DQU1MT1BUCitpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxPUFQiOyB0aGVuCisgIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NB
TUxPUFQiID4mNQorJGFzX2VjaG8gIiRhY19jdF9PQ0FNTE9QVCIgPiY2OyB9CiBlbHNlCiAgIHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiAk
YXNfZWNobyAibm8iID4mNjsgfQogZmkKIAotICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MQlVJTEQi
ID0geDsgdGhlbgotICAgIE9DQU1MQlVJTEQ9Im5vIgorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1M
T1BUIiA9IHg7IHRoZW4KKyAgICBPQ0FNTE9QVD0ibm8iCiAgIGVsc2UKICAgICBjYXNlICRjcm9z
c19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCiB5ZXM6KQpAQCAtNjIyOSw0NCArMzk1Nyw4
OSBAQCB5ZXM6KQogJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMg
bm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjI7fQogYWNfdG9vbF93YXJuZWQ9eWVz
IDs7CiBlc2FjCi0gICAgT0NBTUxCVUlMRD0kYWNfY3RfT0NBTUxCVUlMRAorICAgIE9DQU1MT1BU
PSRhY19jdF9PQ0FNTE9QVAogICBmaQogZWxzZQotICBPQ0FNTEJVSUxEPSIkYWNfY3ZfcHJvZ19P
Q0FNTEJVSUxEIgorICBPQ0FNTE9QVD0iJGFjX2N2X3Byb2dfT0NBTUxPUFQiCiBmaQogCisgICAg
IE9DQU1MQkVTVD1ieXRlCisgICAgIGlmIHRlc3QgIiRPQ0FNTE9QVCIgPSAibm8iOyB0aGVuCisJ
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBDYW5ub3Qg
ZmluZCBvY2FtbG9wdDsgYnl0ZWNvZGUgY29tcGlsYXRpb24gb25seS4iID4mNQorJGFzX2VjaG8g
IiRhc19tZTogV0FSTklORzogQ2Fubm90IGZpbmQgb2NhbWxvcHQ7IGJ5dGVjb2RlIGNvbXBpbGF0
aW9uIG9ubHkuIiA+JjI7fQorICAgICBlbHNlCisJVE1QVkVSU0lPTj1gJE9DQU1MT1BUIC12IHwg
c2VkIC1uIC1lICdzfC4qdmVyc2lvbiogKlwoLipcKSR8XDF8cCcgYAorCWlmIHRlc3QgIiRUTVBW
RVJTSU9OIiAhPSAiJE9DQU1MVkVSU0lPTiIgOyB0aGVuCisJICAgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB2ZXJzaW9ucyBkaWZmZXJzIGZyb20gb2Nh
bWxjOyBvY2FtbG9wdCBkaXNjYXJkZWQuIiA+JjUKKyRhc19lY2hvICJ2ZXJzaW9ucyBkaWZmZXJz
IGZyb20gb2NhbWxjOyBvY2FtbG9wdCBkaXNjYXJkZWQuIiA+JjY7IH0KKwkgICAgT0NBTUxPUFQ9
bm8KKwllbHNlCisJICAgIE9DQU1MQkVTVD1vcHQKKwlmaQorICAgICBmaQogCi0gICAgaWYgdGVz
dCAieCRPQ0FNTEMiID0gInhubyI7IHRoZW4gOgogCi0gICAgICAgIGlmIHRlc3QgIngkZW5hYmxl
X29jYW1sdG9vbHMiID0gInh5ZXMiOyB0aGVuIDoKIAotICAgICAgICAgICAgYXNfZm5fZXJyb3Ig
JD8gIk9jYW1sIHRvb2xzIGVuYWJsZWQsIGJ1dCB1bmFibGUgdG8gZmluZCBPY2FtbCIgIiRMSU5F
Tk8iIDUKLWZpCi0gICAgICAgIG9jYW1sdG9vbHM9Im4iCisgICAgICMgY2hlY2tpbmcgZm9yIG9j
YW1sYy5vcHQKKyAgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4
dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxjLm9wdCIsIHNv
IGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29s
X3ByZWZpeH1vY2FtbGMub3B0OyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJj
aGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19P
Q0FNTENET1RPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAi
ID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkT0NBTUxDRE9UT1BUIjsgdGhlbgorICBhY19jdl9w
cm9nX09DQU1MQ0RPVE9QVD0iJE9DQU1MQ0RPVE9QVCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUg
dGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitm
b3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRh
c19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRh
YmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19l
eGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07
IHRoZW4KKyAgICBhY19jdl9wcm9nX09DQU1MQ0RPVE9QVD0iJHthY190b29sX3ByZWZpeH1vY2Ft
bGMub3B0IgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5k
ICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2Rv
bmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUwogCiBmaQorZmkKK09DQU1MQ0RPVE9QVD0kYWNf
Y3ZfcHJvZ19PQ0FNTENET1RPUFQKK2lmIHRlc3QgLW4gIiRPQ0FNTENET1RPUFQiOyB0aGVuCisg
IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkT0NBTUxD
RE9UT1BUIiA+JjUKKyRhc19lY2hvICIkT0NBTUxDRE9UT1BUIiA+JjY7IH0KK2Vsc2UKKyAgeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRh
c19lY2hvICJubyIgPiY2OyB9CitmaQorCiAKIGZpCi0jIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQg
b2YgImJhc2giLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1
bW15IGJhc2g7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MQ0RPVE9Q
VCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxDRE9UT1BUPSRPQ0FNTENET1RPUFQKKyAgIyBFeHRyYWN0
IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbGMub3B0Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvY2FtbGMub3B0OyBhY193b3JkPSQyCiB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfcGF0aF9CQVNIK3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNf
Y3ZfcHJvZ19hY19jdF9PQ0FNTENET1RPUFQrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNo
b19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBjYXNlICRCQVNIIGluCi0gIFtcXC9dKiB8ID86
W1xcL10qKQotICBhY19jdl9wYXRoX0JBU0g9IiRCQVNIIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KLSAgOzsKLSAgKikKLSAgYXNfc2F2ZV9JRlM9JElGUzsg
SUZTPSRQQVRIX1NFUEFSQVRPUgorICBpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxDRE9UT1BUIjsg
dGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQ0RPVE9QVD0iJGFjX2N0X09DQU1MQ0RPVE9Q
VCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRICiBkbwogICBJRlM9
JGFzX3NhdmVfSUZTCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX0JBU0g9IiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTENE
T1RPUFQ9Im9jYW1sYy5vcHQiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJlYWsg
MgogICBmaQpAQCAtNjI3NCw1NiArNDA0Nyw2MyBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNfc2F2
ZV9JRlMKIAotICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9CQVNIIiAmJiBhY19jdl9wYXRoX0JBU0g9
Im5vIgotICA7OwotZXNhYwogZmkKLUJBU0g9JGFjX2N2X3BhdGhfQkFTSAotaWYgdGVzdCAtbiAi
JEJBU0giOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiAkQkFTSCIgPiY1Ci0kYXNfZWNobyAiJEJBU0giID4mNjsgfQorZmkKK2FjX2N0X09D
QU1MQ0RPVE9QVD0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTENET1RPUFQKK2lmIHRlc3QgLW4gIiRh
Y19jdF9PQ0FNTENET1RPUFQiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfT0NBTUxDRE9UT1BUIiA+JjUKKyRhc19lY2hvICIk
YWNfY3RfT0NBTUxDRE9UT1BUIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9
CiBmaQogCi0KLWlmIHRlc3QgeCIke0JBU0h9IiA9PSB4Im5vIgotdGhlbgotICAgIGFzX2ZuX2Vy
cm9yICQ/ICJVbmFibGUgdG8gZmluZCBiYXNoLCBwbGVhc2UgaW5zdGFsbCBiYXNoIiAiJExJTkVO
TyIgNQorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MQ0RPVE9QVCIgPSB4OyB0aGVuCisgICAgT0NB
TUxDRE9UT1BUPSJubyIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9v
bF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJp
cGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBu
b3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMg
OzsKK2VzYWMKKyAgICBPQ0FNTENET1RPUFQ9JGFjX2N0X09DQU1MQ0RPVE9QVAorICBmaQorZWxz
ZQorICBPQ0FNTENET1RPUFQ9IiRhY19jdl9wcm9nX09DQU1MQ0RPVE9QVCIKIGZpCi1pZiB0ZXN0
ICJ4JHB5dGhvbnRvb2xzIiA9ICJ4eSI7IHRoZW4gOgotCi0gICAgaWYgZWNobyAiJFBZVEhPTiIg
fCBncmVwIC1xICJeLyI7IHRoZW4gOgogCi0gICAgICAgIFBZVEhPTlBBVEg9JFBZVEhPTgotICAg
ICAgICBQWVRIT049YGJhc2VuYW1lICRQWVRIT05QQVRIYAorICAgICBpZiB0ZXN0ICIkT0NBTUxD
RE9UT1BUIiAhPSAibm8iOyB0aGVuCisJVE1QVkVSU0lPTj1gJE9DQU1MQ0RPVE9QVCAtdiB8IHNl
ZCAtbiAtZSAnc3wuKnZlcnNpb24qICpcKC4qXCkkfFwxfHAnIGAKKwlpZiB0ZXN0ICIkVE1QVkVS
U0lPTiIgIT0gIiRPQ0FNTFZFUlNJT04iIDsgdGhlbgorCSAgICB7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogdmVyc2lvbnMgZGlmZmVycyBmcm9tIG9jYW1s
Yzsgb2NhbWxjLm9wdCBkaXNjYXJkZWQuIiA+JjUKKyRhc19lY2hvICJ2ZXJzaW9ucyBkaWZmZXJz
IGZyb20gb2NhbWxjOyBvY2FtbGMub3B0IGRpc2NhcmRlZC4iID4mNjsgfQorCWVsc2UKKwkgICAg
T0NBTUxDPSRPQ0FNTENET1RPUFQKKwlmaQorICAgICBmaQogCi1lbGlmIHRlc3QgLXogIiRQWVRI
T04iOyB0aGVuIDoKLSAgUFlUSE9OPSJweXRob24iCi1lbHNlCi0gIGFzX2ZuX2Vycm9yICQ/ICJQ
WVRIT04gc3BlY2lmaWVkLCBidXQgaXMgbm90IGFuIGFic29sdXRlIHBhdGgiICIkTElORU5PIiA1
Ci1maQotICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJFBZVEhPTiIsIHNvIGl0IGNh
biBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJFBZVEhPTjsgYWNfd29y
ZD0kMgorICAgICAjIGNoZWNraW5nIGZvciBvY2FtbG9wdC5vcHQKKyAgICAgaWYgdGVzdCAiJE9D
QU1MT1BUIiAhPSAibm8iIDsgdGhlbgorCWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRo
ZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1s
b3B0Lm9wdCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVt
bXkgJHthY190b29sX3ByZWZpeH1vY2FtbG9wdC5vcHQ7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUK
ICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAi
JHthY19jdl9wYXRoX1BZVEhPTlBBVEgrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHth
Y19jdl9wcm9nX09DQU1MT1BURE9UT1BUK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkUFlUSE9OUEFUSCBpbgotICBbXFwvXSog
fCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSIkUFlUSE9OUEFUSCIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICopCi0gIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAtbiAiJE9DQU1M
T1BURE9UT1BUIjsgdGhlbgorICBhY19jdl9wcm9nX09DQU1MT1BURE9UT1BUPSIkT0NBTUxPUFRE
T1RPUFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9J
RlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAg
SUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZv
ciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7
IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9QWVRI
T05QQVRIPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfT0NB
TUxPUFRET1RPUFQ9IiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxvcHQub3B0IgogICAgICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNf
ZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTYzMzEsNjIgKzQxMTEsMzkgQEAg
ZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgdGVzdCAteiAiJGFjX2N2X3BhdGhf
UFlUSE9OUEFUSCIgJiYgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSJubyIKLSAgOzsKLWVzYWMKIGZp
Ci1QWVRIT05QQVRIPSRhY19jdl9wYXRoX1BZVEhPTlBBVEgKLWlmIHRlc3QgLW4gIiRQWVRIT05Q
QVRIIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJFBZVEhPTlBBVEgiID4mNQotJGFzX2VjaG8gIiRQWVRIT05QQVRIIiA+JjY7IH0KK2Zp
CitPQ0FNTE9QVERPVE9QVD0kYWNfY3ZfcHJvZ19PQ0FNTE9QVERPVE9QVAoraWYgdGVzdCAtbiAi
JE9DQU1MT1BURE9UT1BUIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJE9DQU1MT1BURE9UT1BUIiA+JjUKKyRhc19lY2hvICIkT0NBTUxP
UFRET1RPUFQiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAot
aWYgdGVzdCB4IiR7UFlUSE9OUEFUSH0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5fZXJyb3Ig
JD8gIlVuYWJsZSB0byBmaW5kICRQWVRIT04sIHBsZWFzZSBpbnN0YWxsICRQWVRIT04iICIkTElO
RU5PIiA1Ci1maQotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
Y2hlY2tpbmcgZm9yIHB5dGhvbiB2ZXJzaW9uID49IDIuMyAiID4mNQotJGFzX2VjaG9fbiAiY2hl
Y2tpbmcgZm9yIHB5dGhvbiB2ZXJzaW9uID49IDIuMyAuLi4gIiA+JjY7IH0KLWAkUFlUSE9OIC1j
ICdpbXBvcnQgc3lzOyBzeXMuZXhpdChldmFsKCJzeXMudmVyc2lvbl9pbmZvIDwgKDIsIDMpIikp
J2AKLWlmIHRlc3QgIiQ/IiAhPSAiMCIKLXRoZW4KLSAgICBweXRob25fdmVyc2lvbj1gJFBZVEhP
TiAtViAyPiYxYAotICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotICAgIGFzX2ZuX2Vycm9yICQ/
ICIkcHl0aG9uX3ZlcnNpb24gaXMgdG9vIG9sZCwgbWluaW11bSByZXF1aXJlZCB2ZXJzaW9uIGlz
IDIuMyIgIiRMSU5FTk8iIDUKLWVsc2UKLSAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5ZXMiID4mNjsgfQogZmkK
LQotYWNfcHJldmlvdXNfY3BwZmxhZ3M9JENQUEZMQUdTCi1hY19wcmV2aW91c19sZGZsYWdzPSRM
REZMQUdTCi1hY19weXRob25fdmVyc2lvbj1gJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5z
eXNjb25maWc7IFwKLSAgICBwcmludCBkaXN0dXRpbHMuc3lzY29uZmlnLmdldF9jb25maWdfdmFy
KCJWRVJTSU9OIiknYAotIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkUFlUSE9OLWNvbmZp
ZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQgZHVtbXkgJFBZ
VEhPTi1jb25maWc7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MT1BU
RE9UT1BUIjsgdGhlbgorICBhY19jdF9PQ0FNTE9QVERPVE9QVD0kT0NBTUxPUFRET1RPUFQKKyAg
IyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJvY2FtbG9wdC5vcHQiLCBzbyBpdCBjYW4gYmUg
YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9jYW1sb3B0Lm9wdDsgYWNfd29y
ZD0kMgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm
b3IgJGFjX3dvcmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIg
PiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3BhdGhfcHljb25maWcrc2V0fSIgPSBzZXQ7IHRoZW4g
OgoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1MT1BURE9UT1BUK3NldH0iID0gc2V0
OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkcHlj
b25maWcgaW4KLSAgW1xcL10qIHwgPzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfcHljb25maWc9IiRw
eWNvbmZpZyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0g
IDs7Ci0gICopCi0gIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYg
dGVzdCAtbiAiJGFjX2N0X09DQU1MT1BURE9UT1BUIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0
X09DQU1MT1BURE9UT1BUPSIkYWNfY3RfT0NBTUxPUFRET1RPUFQiICMgTGV0IHRoZSB1c2VyIG92
ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFS
QVRPUgogZm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0
IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNf
ZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19l
eHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9weWNvbmZpZz0iJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIKKyAgICBhY19jdl9wcm9nX2FjX2N0X09DQU1MT1BURE9UT1BUPSJvY2FtbG9w
dC5vcHQiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQg
JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJlYWsgMgogICBmaQpAQCAt
NjM5NCwxMjcgKzQxNTEsNjggQEAgZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAg
dGVzdCAteiAiJGFjX2N2X3BhdGhfcHljb25maWciICYmIGFjX2N2X3BhdGhfcHljb25maWc9Im5v
IgotICA7OwotZXNhYwogZmkKLXB5Y29uZmlnPSRhY19jdl9wYXRoX3B5Y29uZmlnCi1pZiB0ZXN0
IC1uICIkcHljb25maWciOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkcHljb25maWciID4mNQotJGFzX2VjaG8gIiRweWNvbmZpZyIgPiY2
OyB9CitmaQorYWNfY3RfT0NBTUxPUFRET1RPUFQ9JGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxPUFRE
T1RPUFQKK2lmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTE9QVERPVE9QVCI7IHRoZW4KKyAgeyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTE9Q
VERPVE9QVCIgPiY1CiskYXNfZWNobyAiJGFjX2N0X09DQU1MT1BURE9UT1BUIiA+JjY7IH0KIGVs
c2UKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5v
IiA+JjUKICRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KLWlmIHRlc3QgeCIkcHljb25maWci
ID09IHgibm8iOyB0aGVuIDoKLQotICAgICAgICBDUFBGTEFHUz0iJENGTEFHUyBgJFBZVEhPTiAt
YyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKLSAgICAgICAgcHJpbnQgIi1JIiArIGRp
c3R1dGlscy5zeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIklOQ0xVREVQWSIpJ2AiCi0gICAgQ1BQ
RkxBR1M9IiRDUFBGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7
IFwKLSAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiQ0ZM
QUdTIiknYCIKLSAgICBMREZMQUdTPSIkTERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1
dGlscy5zeXNjb25maWc7IFwKLSAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRf
Y29uZmlnX3ZhcigiTElCUyIpJ2AiCi0gICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMg
J2ltcG9ydCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCi0gICAgICAgIHByaW50IGRpc3R1dGlscy5z
eXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIlNZU0xJQlMiKSdgIgotICAgIExERkxBR1M9IiRMREZM
QUdTIGAkUFlUSE9OIC1jICdpbXBvcnQgZGlzdHV0aWxzLnN5c2NvbmZpZzsgXAotICAgICAgICBw
cmludCAiLUwiICsgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNp
ZmljPTEsXAotICAgICAgICBzdGFuZGFyZF9saWI9MSkgKyAiL2NvbmZpZyInYCIKLSAgICBMREZM
QUdTPSIkTERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwK
LSAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiTElOS0ZP
UlNIQVJFRCIpJ2AiCi0gICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMgJ2ltcG9ydCBk
aXN0dXRpbHMuc3lzY29uZmlnOyBcCi0gICAgICAgIHByaW50IGRpc3R1dGlscy5zeXNjb25maWcu
Z2V0X2NvbmZpZ192YXIoIkxERkxBR1MiKSdgIgotCi1lbHNlCi0KLSAgICAgICAgQ1BQRkxBR1M9
IiRDRkxBR1MgYCRQWVRIT04tY29uZmlnIC0tY2ZsYWdzYCIKLSAgICBMREZMQUdTPSIkTERGTEFH
UyBgJFBZVEhPTi1jb25maWcgLS1sZGZsYWdzYCIKLQotZmkKLQotYWNfZm5fY19jaGVja19oZWFk
ZXJfbW9uZ3JlbCAiJExJTkVOTyIgIlB5dGhvbi5oIiAiYWNfY3ZfaGVhZGVyX1B5dGhvbl9oIiAi
JGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9QeXRob25faCIg
PSB4IiJ5ZXM7IHRoZW4gOgotCisgIGlmIHRlc3QgIngkYWNfY3RfT0NBTUxPUFRET1RPUFQiID0g
eDsgdGhlbgorICAgIE9DQU1MT1BURE9UT1BUPSJubyIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3Nz
X2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVm
aXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1
c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9Cith
Y190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBPQ0FNTE9QVERPVE9QVD0kYWNfY3RfT0NB
TUxPUFRET1RPUFQKKyAgZmkKIGVsc2UKLSAgYXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5k
IFB5dGhvbiBkZXZlbG9wbWVudCBoZWFkZXJzIiAiJExJTkVOTyIgNQorICBPQ0FNTE9QVERPVE9Q
VD0iJGFjX2N2X3Byb2dfT0NBTUxPUFRET1RPUFQiCiBmaQogCisJaWYgdGVzdCAiJE9DQU1MT1BU
RE9UT1BUIiAhPSAibm8iOyB0aGVuCisJICAgVE1QVkVSU0lPTj1gJE9DQU1MT1BURE9UT1BUIC12
IHwgc2VkIC1uIC1lICdzfC4qdmVyc2lvbiogKlwoLipcKSR8XDF8cCcgYAorCSAgIGlmIHRlc3Qg
IiRUTVBWRVJTSU9OIiAhPSAiJE9DQU1MVkVSU0lPTiIgOyB0aGVuCisJICAgICAgeyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHZlcnNpb24gZGlmZmVycyBm
cm9tIG9jYW1sYzsgb2NhbWxvcHQub3B0IGRpc2NhcmRlZC4iID4mNQorJGFzX2VjaG8gInZlcnNp
b24gZGlmZmVycyBmcm9tIG9jYW1sYzsgb2NhbWxvcHQub3B0IGRpc2NhcmRlZC4iID4mNjsgfQor
CSAgIGVsc2UKKwkgICAgICBPQ0FNTE9QVD0kT0NBTUxPUFRET1RPUFQKKwkgICBmaQorICAgICAg
ICBmaQorICAgICBmaQogCi1hc19hY19MaWI9YCRhc19lY2hvICJhY19jdl9saWJfcHl0aG9uJGFj
X3B5dGhvbl92ZXJzaW9uJydfUHlBcmdfUGFyc2VUdXBsZSIgfCAkYXNfdHJfc2hgCi17ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBQeUFyZ19QYXJz
ZVR1cGxlIGluIC1scHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9uIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIGZvciBQeUFyZ19QYXJzZVR1cGxlIGluIC1scHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9u
Li4uICIgPiY2OyB9Ci1pZiBldmFsICJ0ZXN0IFwiXCR7JGFzX2FjX0xpYitzZXR9XCIiID0gc2V0
OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfY2hlY2tf
bGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWxweXRob24kYWNfcHl0aG9uX3ZlcnNpb24gICRM
SUJTIgotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5k
IGNvbmZkZWZzLmguICAqLwotCi0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo
IHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l
bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwot
ZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIFB5QXJnX1BhcnNlVHVwbGUgKCk7Ci1pbnQKLW1haW4g
KCkKLXsKLXJldHVybiBQeUFyZ19QYXJzZVR1cGxlICgpOwotICA7Ci0gIHJldHVybiAwOwotfQot
X0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGV2YWwgIiRh
c19hY19MaWI9eWVzIgotZWxzZQotICBldmFsICIkYXNfYWNfTGliPW5vIgotZmkKLXJtIC1mIGNv
cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4
ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCi1maQot
ZXZhbCBhY19yZXM9XCQkYXNfYWNfTGliCi0JICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKLSRhc19lY2hvICIkYWNfcmVz
IiA+JjY7IH0KLWlmIGV2YWwgdGVzdCBcInhcJCIkYXNfYWNfTGliIlwiID0geCJ5ZXMiOyB0aGVu
IDoKLSAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBgJGFzX2VjaG8gIkhBVkVf
TElCcHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9uIiB8ICRhc190cl9jcHBgIDEKLV9BQ0VPRgotCi0g
IExJQlM9Ii1scHl0aG9uJGFjX3B5dGhvbl92ZXJzaW9uICRMSUJTIgogCi1lbHNlCi0gIGFzX2Zu
X2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCBhIHN1aXRhYmxlIHB5dGhvbiBkZXZlbG9wbWVudCBs
aWJyYXJ5IiAiJExJTkVOTyIgNQotZmkKKyAgZmkKIAotQ1BQRkxBR1M9JGFjX3ByZXZpb3VzX2Nw
cGZsYWdzCi1MRExGQUdTPSRhY19wcmV2aW91c19sZGZsYWdzCiAKIAotZmkKLSMgRXh0cmFjdCB0
aGUgZmlyc3Qgd29yZCBvZiAieGdldHRleHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUg
d2l0aCBhcmdzLgotc2V0IGR1bW15IHhnZXR0ZXh0OyBhY193b3JkPSQyCisgICMgY2hlY2tpbmcg
Zm9yIG9jYW1sIHRvcGxldmVsCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4K
KyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rv
b2xfcHJlZml4fW9jYW1sOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVj
a2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9YR0VU
VEVYVCtzZXR9IiA9IHNldDsgdGhlbiA6CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfT0NBTUwrc2V0
fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBj
YXNlICRYR0VUVEVYVCBpbgotICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9YR0VU
VEVYVD0iJFhHRVRURVhUIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEg
cGF0aC4KLSAgOzsKLSAgKikKLSAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRP
UgorICBpZiB0ZXN0IC1uICIkT0NBTUwiOyB0aGVuCisgIGFjX2N2X3Byb2dfT0NBTUw9IiRPQ0FN
TCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCiBmb3IgYXNfZGlyIGluICRQQVRICiBkbwogICBJRlM9
JGFzX3NhdmVfSUZTCiAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wYXRoX1hHRVRURVhU
PSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfT0NBTUw9IiR7
YWNfdG9vbF9wcmVmaXh9b2NhbWwiCiAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgYnJl
YWsgMgogICBmaQpAQCAtNjUyMiw0NCArNDIyMCwzOSBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNf
c2F2ZV9JRlMKIAotICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9YR0VUVEVYVCIgJiYgYWNfY3ZfcGF0
aF9YR0VUVEVYVD0ibm8iCi0gIDs7Ci1lc2FjCiBmaQotWEdFVFRFWFQ9JGFjX2N2X3BhdGhfWEdF
VFRFWFQKLWlmIHRlc3QgLW4gIiRYR0VUVEVYVCI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRYR0VUVEVYVCIgPiY1Ci0kYXNfZWNobyAi
JFhHRVRURVhUIiA+JjY7IH0KK2ZpCitPQ0FNTD0kYWNfY3ZfcHJvZ19PQ0FNTAoraWYgdGVzdCAt
biAiJE9DQU1MIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJE9DQU1MIiA+JjUKKyRhc19lY2hvICIkT0NBTUwiID4mNjsgfQogZWxzZQog
ICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4m
NQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAotaWYgdGVzdCB4IiR7WEdFVFRFWFR9IiA9
PSB4Im5vIgotdGhlbgotICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCB4Z2V0dGV4
dCwgcGxlYXNlIGluc3RhbGwgeGdldHRleHQiICIkTElORU5PIiA1CiBmaQotIyBFeHRyYWN0IHRo
ZSBmaXJzdCB3b3JkIG9mICJhczg2Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGgg
YXJncy4KLXNldCBkdW1teSBhczg2OyBhY193b3JkPSQyCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJv
Z19PQ0FNTCI7IHRoZW4KKyAgYWNfY3RfT0NBTUw9JE9DQU1MCisgICMgRXh0cmFjdCB0aGUgZmly
c3Qgd29yZCBvZiAib2NhbWwiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdz
Lgorc2V0IGR1bW15IG9jYW1sOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJj
aGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9B
Uzg2K3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9PQ0FN
TCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNl
Ci0gIGNhc2UgJEFTODYgaW4KLSAgW1xcL10qIHwgPzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfQVM4
Nj0iJEFTODYiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgot
ICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCisgIGlm
IHRlc3QgLW4gIiRhY19jdF9PQ0FNTCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTD0i
JGFjX2N0X09DQU1MIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2Fz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgK
IGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4K
ICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8K
ICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVz
dF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3Bh
dGhfQVM4Nj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICBhY19jdl9wcm9nX2Fj
X2N0X09DQU1MPSJvY2FtbCIKICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICBicmVhayAy
CiAgIGZpCkBAIC02NTY3LDQ0ICs0MjYwLDUzIEBAIGRvbmUKICAgZG9uZQogSUZTPSRhc19zYXZl
X0lGUwogCi0gIHRlc3QgLXogIiRhY19jdl9wYXRoX0FTODYiICYmIGFjX2N2X3BhdGhfQVM4Nj0i
bm8iCi0gIDs7Ci1lc2FjCiBmaQotQVM4Nj0kYWNfY3ZfcGF0aF9BUzg2Ci1pZiB0ZXN0IC1uICIk
QVM4NiI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6ICRBUzg2IiA+JjUKLSRhc19lY2hvICIkQVM4NiIgPiY2OyB9CitmaQorYWNfY3RfT0NB
TUw9JGFjX2N2X3Byb2dfYWNfY3RfT0NBTUwKK2lmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTCI7IHRo
ZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRh
Y19jdF9PQ0FNTCIgPiY1CiskYXNfZWNobyAiJGFjX2N0X09DQU1MIiA+JjY7IH0KIGVsc2UKICAg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUK
ICRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KLWlmIHRlc3QgeCIke0FTODZ9IiA9PSB4Im5v
IgotdGhlbgotICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCBhczg2LCBwbGVhc2Ug
aW5zdGFsbCBhczg2IiAiJExJTkVOTyIgNQorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MIiA9IHg7
IHRoZW4KKyAgICBPQ0FNTD0ibm8iCisgIGVsc2UKKyAgICBjYXNlICRjcm9zc19jb21waWxpbmc6
JGFjX3Rvb2xfd2FybmVkIGluCit5ZXM6KQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBo
b3N0IHRyaXBsZXQiID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogdXNpbmcgY3Jvc3Mg
dG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjI7fQorYWNfdG9vbF93YXJu
ZWQ9eWVzIDs7Citlc2FjCisgICAgT0NBTUw9JGFjX2N0X09DQU1MCisgIGZpCitlbHNlCisgIE9D
QU1MPSIkYWNfY3ZfcHJvZ19PQ0FNTCIKIGZpCi0jIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2Yg
ImxkODYiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15
IGxkODY7IGFjX3dvcmQ9JDIKKworCisgICMgY2hlY2tpbmcgZm9yIG9jYW1sZGVwCisgIGlmIHRl
c3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwOyBhY193
b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9MRDg2K3NldH0iID0gc2V0OyB0aGVuIDoK
K2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FNTERFUCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhc2UgJExEODYgaW4KLSAgW1xcL10q
IHwgPzpbXFwvXSopCi0gIGFjX2N2X3BhdGhfTEQ4Nj0iJExEODYiICMgTGV0IHRoZSB1c2VyIG92
ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRPQ0FNTERFUCI7IHRoZW4K
KyAgYWNfY3ZfcHJvZ19PQ0FNTERFUD0iJE9DQU1MREVQIiAjIExldCB0aGUgdXNlciBvdmVycmlk
ZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IK
IGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAteiAi
JGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1
dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0Ijsg
fTsgdGhlbgotICAgIGFjX2N2X3BhdGhfTEQ4Nj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4
dCIKKyAgICBhY19jdl9wcm9nX09DQU1MREVQPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZGVwIgog
ICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIv
JGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY2MTIsNDQg
KzQzMTQsMzkgQEAgZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgdGVzdCAteiAi
JGFjX2N2X3BhdGhfTEQ4NiIgJiYgYWNfY3ZfcGF0aF9MRDg2PSJubyIKLSAgOzsKLWVzYWMKIGZp
Ci1MRDg2PSRhY19jdl9wYXRoX0xEODYKLWlmIHRlc3QgLW4gIiRMRDg2IjsgdGhlbgotICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJExEODYiID4mNQot
JGFzX2VjaG8gIiRMRDg2IiA+JjY7IH0KK2ZpCitPQ0FNTERFUD0kYWNfY3ZfcHJvZ19PQ0FNTERF
UAoraWYgdGVzdCAtbiAiJE9DQU1MREVQIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MREVQIiA+JjUKKyRhc19lY2hvICIkT0NB
TUxERVAiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKIAotaWYg
dGVzdCB4IiR7TEQ4Nn0iID09IHgibm8iCi10aGVuCi0gICAgYXNfZm5fZXJyb3IgJD8gIlVuYWJs
ZSB0byBmaW5kIGxkODYsIHBsZWFzZSBpbnN0YWxsIGxkODYiICIkTElORU5PIiA1CiBmaQotIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5h
bWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGJjYzsgYWNfd29yZD0kMgoraWYgdGVzdCAteiAiJGFj
X2N2X3Byb2dfT0NBTUxERVAiOyB0aGVuCisgIGFjX2N0X09DQU1MREVQPSRPQ0FNTERFUAorICAj
IEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sZGVwIiwgc28gaXQgY2FuIGJlIGEgcHJv
Z3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBvY2FtbGRlcDsgYWNfd29yZD0kMgogeyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dv
cmQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X3BhdGhfQkNDK3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7
YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERFUCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhc2UgJEJDQyBpbgotICBbXFwvXSogfCA/Oltc
XC9dKikKLSAgYWNfY3ZfcGF0aF9CQ0M9IiRCQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRo
ZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9
JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTERFUCI7IHRoZW4KKyAg
YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERFUD0iJGFjX2N0X09DQU1MREVQIiAjIExldCB0aGUgdXNl
ciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9T
RVBBUkFUT1IKIGZvciBhc19kaXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAg
dGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycg
JGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IjsgfTsgdGhlbgotICAgIGFjX2N2X3BhdGhfQkNDPSIkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxERVA9Im9jYW1sZGVwIgogICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY2NTcsMjgzICs0
MzU0LDI0MSBAQCBkb25lCiAgIGRvbmUKIElGUz0kYXNfc2F2ZV9JRlMKIAotICB0ZXN0IC16ICIk
YWNfY3ZfcGF0aF9CQ0MiICYmIGFjX2N2X3BhdGhfQkNDPSJubyIKLSAgOzsKLWVzYWMKIGZpCi1C
Q0M9JGFjX2N2X3BhdGhfQkNDCi1pZiB0ZXN0IC1uICIkQkNDIjsgdGhlbgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJEJDQyIgPiY1Ci0kYXNfZWNo
byAiJEJDQyIgPiY2OyB9CitmaQorYWNfY3RfT0NBTUxERVA9JGFjX2N2X3Byb2dfYWNfY3RfT0NB
TUxERVAKK2lmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTERFUCI7IHRoZW4KKyAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTERFUCIgPiY1
CiskYXNfZWNobyAiJGFjX2N0X09DQU1MREVQIiA+JjY7IH0KIGVsc2UKICAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKICRhc19lY2hvICJu
byIgPiY2OyB9CiBmaQogCi0KLWlmIHRlc3QgeCIke0JDQ30iID09IHgibm8iCi10aGVuCi0gICAg
YXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGJjYywgcGxlYXNlIGluc3RhbGwgYmNjIiAi
JExJTkVOTyIgNQorICBpZiB0ZXN0ICJ4JGFjX2N0X09DQU1MREVQIiA9IHg7IHRoZW4KKyAgICBP
Q0FNTERFUD0ibm8iCisgIGVsc2UKKyAgICBjYXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xf
d2FybmVkIGluCit5ZXM6KQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBs
ZXQiID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90
IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjI7fQorYWNfdG9vbF93YXJuZWQ9eWVzIDs7
Citlc2FjCisgICAgT0NBTUxERVA9JGFjX2N0X09DQU1MREVQCisgIGZpCitlbHNlCisgIE9DQU1M
REVQPSIkYWNfY3ZfcHJvZ19PQ0FNTERFUCIKIGZpCi0jIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQg
b2YgImlhc2wiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1
bW15IGlhc2w7IGFjX3dvcmQ9JDIKKworCisgICMgY2hlY2tpbmcgZm9yIG9jYW1sbWt0b3AKKyAg
aWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0
IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9b2NhbWxta3RvcCIsIHNvIGl0IGNhbiBiZSBhIHBy
b2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1vY2FtbG1r
dG9wOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9JQVNMK3NldH0iID0gc2V0
OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FNTE1LVE9QK3NldH0iID0gc2V0OyB0
aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkSUFTTCBp
bgotICBbXFwvXSogfCA/OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9JQVNMPSIkSUFTTCIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0gICopCi0gIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAtbiAiJE9DQU1M
TUtUT1AiOyB0aGVuCisgIGFjX2N2X3Byb2dfT0NBTUxNS1RPUD0iJE9DQU1MTUtUT1AiICMgTGV0
IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZT
PSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFUSAogZG8KICAgSUZTPSRhc19zYXZl
X0lGUwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgIGZvciBhY19leGVjX2V4
dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICBpZiB7IHRlc3QgLWYgIiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dv
cmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcGF0aF9JQVNMPSIkYXNfZGlyLyRh
Y193b3JkJGFjX2V4ZWNfZXh0IgorICAgIGFjX2N2X3Byb2dfT0NBTUxNS1RPUD0iJHthY190b29s
X3ByZWZpeH1vY2FtbG1rdG9wIgogICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFr
IDIKLSAgZmkKLWRvbmUKLSAgZG9uZQotSUZTPSRhc19zYXZlX0lGUwotCi0gIHRlc3QgLXogIiRh
Y19jdl9wYXRoX0lBU0wiICYmIGFjX2N2X3BhdGhfSUFTTD0ibm8iCi0gIDs7Ci1lc2FjCi1maQot
SUFTTD0kYWNfY3ZfcGF0aF9JQVNMCi1pZiB0ZXN0IC1uICIkSUFTTCI7IHRoZW4KLSAgeyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRJQVNMIiA+JjUKLSRh
c19lY2hvICIkSUFTTCIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkK
LQotCi1pZiB0ZXN0IHgiJHtJQVNMfSIgPT0geCJubyIKLXRoZW4KLSAgICBhc19mbl9lcnJvciAk
PyAiVW5hYmxlIHRvIGZpbmQgaWFzbCwgcGxlYXNlIGluc3RhbGwgaWFzbCIgIiRMSU5FTk8iIDUK
LWZpCi0KLWFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJ1dWlkL3V1aWQu
aCIgImFjX2N2X2hlYWRlcl91dWlkX3V1aWRfaCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYg
dGVzdCAieCRhY19jdl9oZWFkZXJfdXVpZF91dWlkX2giID0geCIieWVzOyB0aGVuIDoKLQotICAg
IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHV1
aWRfY2xlYXIgaW4gLWx1dWlkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciB1dWlkX2Ns
ZWFyIGluIC1sdXVpZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9saWJfdXVpZF91dWlk
X2NsZWFyK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
LWVsc2UKLSAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWx1dWlkICAkTElC
UyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KLQotLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg
dG8gYXZvaWQgYW4gZXJyb3IuCi0gICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0
aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50
IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4
dGVybiAiQyIKLSNlbmRpZgotY2hhciB1dWlkX2NsZWFyICgpOwotaW50Ci1tYWluICgpCi17Ci1y
ZXR1cm4gdXVpZF9jbGVhciAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNf
Zm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfdXVpZF91dWlkX2Ns
ZWFyPXllcwotZWxzZQotICBhY19jdl9saWJfdXVpZF91dWlkX2NsZWFyPW5vCi1maQotcm0gLWYg
Y29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNf
ZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKLWZp
Ci17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2
X2xpYl91dWlkX3V1aWRfY2xlYXIiID4mNQotJGFzX2VjaG8gIiRhY19jdl9saWJfdXVpZF91dWlk
X2NsZWFyIiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX3V1aWRfdXVpZF9jbGVhciIgPSB4
IiJ5ZXM7IHRoZW4gOgotICBsaWJ1dWlkPSJ5IgotZmkKLQorICBmaQorZG9uZQorICBkb25lCitJ
RlM9JGFzX3NhdmVfSUZTCiAKIGZpCi0KLQotYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAi
JExJTkVOTyIgInV1aWQuaCIgImFjX2N2X2hlYWRlcl91dWlkX2giICIkYWNfaW5jbHVkZXNfZGVm
YXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX3V1aWRfaCIgPSB4IiJ5ZXM7IHRoZW4gOgot
ICBsaWJ1dWlkPSJ5IgogZmkKLQotCi1pZiB0ZXN0ICIkbGlidXVpZCIgIT0gInkiOyB0aGVuIDoK
LQotICAgIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgZmluZCBhIHZhbGlkIHV1aWQgbGlicmFyeSIg
IiRMSU5FTk8iIDUKLQorT0NBTUxNS1RPUD0kYWNfY3ZfcHJvZ19PQ0FNTE1LVE9QCitpZiB0ZXN0
IC1uICIkT0NBTUxNS1RPUCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRPQ0FNTE1LVE9QIiA+JjUKKyRhc19lY2hvICIkT0NBTUxNS1RP
UCIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQogZmkKIAogCi1hY19mbl9j
X2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAiY3Vyc2VzLmgiICJhY19jdl9oZWFkZXJf
Y3Vyc2VzX2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVy
X2N1cnNlc19oIiA9IHgiInllczsgdGhlbiA6Ci0KLSAgICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBjbGVhciBpbiAtbGN1cnNlcyIgPiY1Ci0k
YXNfZWNob19uICJjaGVja2luZyBmb3IgY2xlYXIgaW4gLWxjdXJzZXMuLi4gIiA+JjY7IH0KLWlm
IHRlc3QgIiR7YWNfY3ZfbGliX2N1cnNlc19jbGVhcitzZXR9IiA9IHNldDsgdGhlbiA6CitmaQor
aWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxNS1RPUCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxN
S1RPUD0kT0NBTUxNS1RPUAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sbWt0
b3AiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9j
YW1sbWt0b3A7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZv
ciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1M
TUtUT1Arc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgog
ZWxzZQotICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGN1cnNlcyAgJExJ
QlMiCi1jYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQg
Y29uZmRlZnMuaC4gICovCi0KLS8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg
dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu
dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwotI2lmZGVmIF9fY3BsdXNwbHVzCi1l
eHRlcm4gIkMiCi0jZW5kaWYKLWNoYXIgY2xlYXIgKCk7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVy
biBjbGVhciAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlf
bGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfY3Vyc2VzX2NsZWFyPXllcworICBp
ZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxNS1RPUCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19hY19jdF9P
Q0FNTE1LVE9QPSIkYWNfY3RfT0NBTUxNS1RPUCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhl
IHRlc3QuCiBlbHNlCi0gIGFjX2N2X2xpYl9jdXJzZXNfY2xlYXI9bm8KK2FzX3NhdmVfSUZTPSRJ
RlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0k
YXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNf
ZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0
IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGly
LyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfT0NB
TUxNS1RPUD0ib2NhbWxta3RvcCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVh
ayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKwogZmkKLXJtIC1mIGNv
cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4
ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCiBmaQot
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9s
aWJfY3Vyc2VzX2NsZWFyIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2N1cnNlc19jbGVhciIg
PiY2OyB9Ci1pZiB0ZXN0ICJ4JGFjX2N2X2xpYl9jdXJzZXNfY2xlYXIiID0geCIieWVzOyB0aGVu
IDoKLSAgY3Vyc2VzPSJ5IgorYWNfY3RfT0NBTUxNS1RPUD0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FN
TE1LVE9QCitpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxNS1RPUCI7IHRoZW4KKyAgeyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTE1LVE9Q
IiA+JjUKKyRhc19lY2hvICIkYWNfY3RfT0NBTUxNS1RPUCIgPiY2OyB9CiBlbHNlCi0gIGN1cnNl
cz0ibiIKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KKyAgaWYgdGVzdCAieCRhY19j
dF9PQ0FNTE1LVE9QIiA9IHg7IHRoZW4KKyAgICBPQ0FNTE1LVE9QPSJubyIKKyAgZWxzZQorICAg
IGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRv
b2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21l
OiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBs
ZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBPQ0FNTE1LVE9QPSRh
Y19jdF9PQ0FNTE1LVE9QCisgIGZpCiBlbHNlCi0gIGN1cnNlcz0ibiIKKyAgT0NBTUxNS1RPUD0i
JGFjX2N2X3Byb2dfT0NBTUxNS1RPUCIKIGZpCiAKIAotYWNfZm5fY19jaGVja19oZWFkZXJfbW9u
Z3JlbCAiJExJTkVOTyIgIm5jdXJzZXMuaCIgImFjX2N2X2hlYWRlcl9uY3Vyc2VzX2giICIkYWNf
aW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX25jdXJzZXNfaCIgPSB4
IiJ5ZXM7IHRoZW4gOgotCi0gICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiBjaGVja2luZyBmb3IgY2xlYXIgaW4gLWxuY3Vyc2VzIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIGZvciBjbGVhciBpbiAtbG5jdXJzZXMuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNf
Y3ZfbGliX25jdXJzZXNfY2xlYXIrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAjIGNoZWNraW5nIGZv
ciBvY2FtbG1rbGliCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sbWtsaWIiLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9v
bF9wcmVmaXh9b2NhbWxta2xpYjsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Byb2df
T0NBTUxNS0xJQitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2CiBlbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJQlM9Ii1sbmN1cnNl
cyAgJExJQlMiCi1jYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0v
KiBlbmQgY29uZmRlZnMuaC4gICovCi0KLS8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBh
cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwotI2lmZGVmIF9fY3BsdXNw
bHVzCi1leHRlcm4gIkMiCi0jZW5kaWYKLWNoYXIgY2xlYXIgKCk7Ci1pbnQKLW1haW4gKCkKLXsK
LXJldHVybiBjbGVhciAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5f
Y190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfbmN1cnNlc19jbGVhcj15
ZXMKKyAgaWYgdGVzdCAtbiAiJE9DQU1MTUtMSUIiOyB0aGVuCisgIGFjX2N2X3Byb2dfT0NBTUxN
S0xJQj0iJE9DQU1MTUtMSUIiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgogZWxz
ZQotICBhY19jdl9saWJfbmN1cnNlc19jbGVhcj1ubworYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQ
QVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lG
UworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBp
biAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19k
aXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQk
YWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19PQ0FNTE1LTElCPSIke2FjX3Rv
b2xfcHJlZml4fW9jYW1sbWtsaWIiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJl
YWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKIGZpCi1ybSAtZiBj
b3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19l
eGVleHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkK
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3Zf
bGliX25jdXJzZXNfY2xlYXIiID4mNQotJGFzX2VjaG8gIiRhY19jdl9saWJfbmN1cnNlc19jbGVh
ciIgPiY2OyB9Ci1pZiB0ZXN0ICJ4JGFjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyIiA9IHgiInllczsg
dGhlbiA6Ci0gIG5jdXJzZXM9InkiCitPQ0FNTE1LTElCPSRhY19jdl9wcm9nX09DQU1MTUtMSUIK
K2lmIHRlc3QgLW4gIiRPQ0FNTE1LTElCIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJE9DQU1MTUtMSUIiID4mNQorJGFzX2VjaG8gIiRP
Q0FNTE1LTElCIiA+JjY7IH0KIGVsc2UKLSAgbmN1cnNlcz0ibiIKKyAgeyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIg
PiY2OyB9CiBmaQogCiAKLWVsc2UKLSAgbmN1cnNlcz0ibiIKIGZpCi0KLQotaWYgdGVzdCAiJGN1
cnNlcyIgPSAibiIgJiYgdGVzdCAiJG5jdXJzZXMiID0gIm4iOyB0aGVuIDoKLQotICAgIGFzX2Zu
X2Vycm9yICQ/ICJVbmFibGUgdG8gZmluZCBhIHN1aXRhYmxlIGN1cnNlcyBsaWJyYXJ5IiAiJExJ
TkVOTyIgNQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfT0NBTUxNS0xJQiI7IHRoZW4KKyAgYWNf
Y3RfT0NBTUxNS0xJQj0kT0NBTUxNS0xJQgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2Yg
Im9jYW1sbWtsaWIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0
IGR1bW15IG9jYW1sbWtsaWI7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2Fj
X2N0X09DQU1MTUtMSUIrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVk
KSAiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfT0NBTUxNS0xJQiI7IHRoZW4KKyAg
YWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE1LTElCPSIkYWNfY3RfT0NBTUxNS0xJQiIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBB
VEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZT
CisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGlu
ICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X09DQU1MTUtMSUI9Im9j
YW1sbWtsaWIiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91
bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQor
ZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCiAKIGZpCi0jIFByZWZlciBuY3Vyc2VzIG92
ZXIgY3Vyc2VzIGlmIGJvdGggYXJlIHByZXNlbnQKLWlmIHRlc3QgIiRuY3Vyc2VzIiA9ICJ5Ijsg
dGhlbiA6Ci0KLSAgICBDVVJTRVNfTElCUz0iLWxuY3Vyc2VzIgotCi0kYXNfZWNobyAiI2RlZmlu
ZSBJTkNMVURFX0NVUlNFU19IIDxuY3Vyc2VzLmg+IiA+PmNvbmZkZWZzLmgKLQotCitmaQorYWNf
Y3RfT0NBTUxNS0xJQj0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTE1LTElCCitpZiB0ZXN0IC1uICIk
YWNfY3RfT0NBTUxNS0xJQiI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v
LSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9PQ0FNTE1LTElCIiA+JjUKKyRhc19lY2hvICIkYWNf
Y3RfT0NBTUxNS0xJQiIgPiY2OyB9CiBlbHNlCi0KLSAgICBDVVJTRVNfTElCUz0iLWxjdXJzZXMi
Ci0KLSRhc19lY2hvICIjZGVmaW5lIElOQ0xVREVfQ1VSU0VTX0ggPGN1cnNlcy5oPiIgPj5jb25m
ZGVmcy5oCi0KLQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KIGZpCiAKKyAgaWYgdGVzdCAieCRh
Y19jdF9PQ0FNTE1LTElCIiA9IHg7IHRoZW4KKyAgICBPQ0FNTE1LTElCPSJubyIKKyAgZWxzZQor
ICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3Nz
IHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFz
X21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRy
aXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBPQ0FNTE1LTElC
PSRhY19jdF9PQ0FNTE1LTElCCisgIGZpCitlbHNlCisgIE9DQU1MTUtMSUI9IiRhY19jdl9wcm9n
X09DQU1MTUtMSUIiCitmaQogCiAKLQotCi0KLQotCi1pZiB0ZXN0ICJ4JGFjX2N2X2Vudl9QS0df
Q09ORklHX3NldCIgIT0gInhzZXQiOyB0aGVuCi0JaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4
IjsgdGhlbgotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9
cGtnLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1zZXQg
ZHVtbXkgJHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnOyBhY193b3JkPSQyCisgICMgY2hlY2tp
bmcgZm9yIG9jYW1sZG9jCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAg
IyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZG9jIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rv
b2xfcHJlZml4fW9jYW1sZG9jOyBhY193b3JkPSQyCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAkYXNfZWNob19uICJj
aGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9Q
S0dfQ09ORklHK3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19PQ0FN
TERPQytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBl
bHNlCi0gIGNhc2UgJFBLR19DT05GSUcgaW4KLSAgW1xcL10qIHwgPzpbXFwvXSopCi0gIGFjX2N2
X3BhdGhfUEtHX0NPTkZJRz0iJFBLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRo
ZSB0ZXN0IHdpdGggYSBwYXRoLgotICA7OwotICAqKQotICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9
JFBBVEhfU0VQQVJBVE9SCisgIGlmIHRlc3QgLW4gIiRPQ0FNTERPQyI7IHRoZW4KKyAgYWNfY3Zf
cHJvZ19PQ0FNTERPQz0iJE9DQU1MRE9DIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVz
dC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKIGZvciBhc19k
aXIgaW4gJFBBVEgKIGRvCiAgIElGUz0kYXNfc2F2ZV9JRlMKICAgdGVzdCAteiAiJGFzX2RpciIg
JiYgYXNfZGlyPS4KICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0
ZW5zaW9uczsgZG8KICAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgot
ICAgIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIK
KyAgICBhY19jdl9wcm9nX09DQU1MRE9DPSIke2FjX3Rvb2xfcHJlZml4fW9jYW1sZG9jIgogICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY5NDEsMTMgKzQ1
OTYsMTIgQEAgZG9uZQogICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgOzsKLWVzYWMKIGZp
Ci1QS0dfQ09ORklHPSRhY19jdl9wYXRoX1BLR19DT05GSUcKLWlmIHRlc3QgLW4gIiRQS0dfQ09O
RklHIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJFBLR19DT05GSUciID4mNQotJGFzX2VjaG8gIiRQS0dfQ09ORklHIiA+JjY7IH0KK2Zp
CitPQ0FNTERPQz0kYWNfY3ZfcHJvZ19PQ0FNTERPQworaWYgdGVzdCAtbiAiJE9DQU1MRE9DIjsg
dGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JE9DQU1MRE9DIiA+JjUKKyRhc19lY2hvICIkT0NBTUxET0MiID4mNjsgfQogZWxzZQogICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFz
X2VjaG8gIm5vIiA+JjY7IH0KQEAgLTY5NTUsMjggKzQ2MDksMjYgQEAgZmkKIAogCiBmaQotaWYg
dGVzdCAteiAiJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyI7IHRoZW4KLSAgYWNfcHRfUEtHX0NPTkZJ
Rz0kUEtHX0NPTkZJRwotICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInBrZy1jb25maWci
LCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IHBrZy1j
b25maWc7IGFjX3dvcmQ9JDIKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX09DQU1MRE9DIjsgdGhl
bgorICBhY19jdF9PQ0FNTERPQz0kT0NBTUxET0MKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICJvY2FtbGRvYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitz
ZXQgZHVtbXkgb2NhbWxkb2M7IGFjX3dvcmQ9JDIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICRhc19lY2hvX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9wYXRoX2Fj
X3B0X1BLR19DT05GSUcrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAiJHthY19jdl9wcm9n
X2FjX2N0X09DQU1MRE9DK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hl
ZCkgIiA+JjYKIGVsc2UKLSAgY2FzZSAkYWNfcHRfUEtHX0NPTkZJRyBpbgotICBbXFwvXSogfCA/
OltcXC9dKikKLSAgYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHPSIkYWNfcHRfUEtHX0NPTkZJ
RyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCi0gIDs7Ci0g
ICopCi0gIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKyAgaWYgdGVzdCAt
biAiJGFjX2N0X09DQU1MRE9DIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MRE9DPSIk
YWNfY3RfT0NBTUxET0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQor
YXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgogZm9yIGFzX2RpciBpbiAkUEFU
SAogZG8KICAgSUZTPSRhc19zYXZlX0lGUwogICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9
LgogICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBk
bwogICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190
ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3Zf
cGF0aF9hY19wdF9QS0dfQ09ORklHPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAg
IGFjX2N2X3Byb2dfYWNfY3RfT0NBTUxET0M9Im9jYW1sZG9jIgogICAgICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19l
eHQiID4mNQogICAgIGJyZWFrIDIKICAgZmkKQEAgLTY5ODQsMjAgKzQ2MzYsMTkgQEAgZG9uZQog
ICBkb25lCiBJRlM9JGFzX3NhdmVfSUZTCiAKLSAgOzsKLWVzYWMKIGZpCi1hY19wdF9QS0dfQ09O
RklHPSRhY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUcKLWlmIHRlc3QgLW4gIiRhY19wdF9QS0df
Q09ORklHIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogJGFjX3B0X1BLR19DT05GSUciID4mNQotJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09O
RklHIiA+JjY7IH0KK2ZpCithY19jdF9PQ0FNTERPQz0kYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTERP
QworaWYgdGVzdCAtbiAiJGFjX2N0X09DQU1MRE9DIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MRE9DIiA+JjUKKyRh
c19lY2hvICIkYWNfY3RfT0NBTUxET0MiID4mNjsgfQogZWxzZQogICB7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQogJGFzX2VjaG8gIm5vIiA+
JjY7IH0KIGZpCiAKLSAgaWYgdGVzdCAieCRhY19wdF9QS0dfQ09ORklHIiA9IHg7IHRoZW4KLSAg
ICBQS0dfQ09ORklHPSIiCisgIGlmIHRlc3QgIngkYWNfY3RfT0NBTUxET0MiID0geDsgdGhlbgor
ICAgIE9DQU1MRE9DPSJubyIKICAgZWxzZQogICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNf
dG9vbF93YXJuZWQgaW4KIHllczopCkBAIC03MDA1LDYyNCArNDY1Niw3MTggQEAgeWVzOikKICRh
c19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3
aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KIGFjX3Rvb2xfd2FybmVkPXllcyA7OwogZXNhYwotICAg
IFBLR19DT05GSUc9JGFjX3B0X1BLR19DT05GSUcKKyAgICBPQ0FNTERPQz0kYWNfY3RfT0NBTUxE
T0MKICAgZmkKIGVsc2UKLSAgUEtHX0NPTkZJRz0iJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyIKLWZp
Ci0KLWZpCi1pZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4KLQlfcGtnX21pbl92ZXJzaW9u
PTAuOS4wCi0JeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu
ZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gJF9wa2dfbWluX3ZlcnNpb24iID4mNQot
JGFzX2VjaG9fbiAiY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtn
X21pbl92ZXJzaW9uLi4uICIgPiY2OyB9Ci0JaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2Nv
bmZpZy12ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uOyB0aGVuCi0JCXsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQotJGFzX2VjaG8gInllcyIg
PiY2OyB9Ci0JZWxzZQotCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLQkJUEtHX0NPTkZJRz0iIgot
CWZpCi1maQotCi1wa2dfZmFpbGVkPW5vCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IGNoZWNraW5nIGZvciBnbGliIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZv
ciBnbGliLi4uICIgPiY2OyB9Ci0KLWlmIHRlc3QgLW4gIiRnbGliX0NGTEFHUyI7IHRoZW4KLSAg
ICBwa2dfY3ZfZ2xpYl9DRkxBR1M9IiRnbGliX0NGTEFHUyIKLSBlbGlmIHRlc3QgLW4gIiRQS0df
Q09ORklHIjsgdGhlbgotICAgIGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIiAmJiBcCi0gICAgeyB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkUEtHX0NPTkZJRyAtLWV4
aXN0cyAtLXByaW50LWVycm9ycyBcImdsaWItMi4wXCIiOyB9ID4mNQotICAoJFBLR19DT05GSUcg
LS1leGlzdHMgLS1wcmludC1lcnJvcnMgImdsaWItMi4wIikgMj4mNQotICBhY19zdGF0dXM9JD8K
LSAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1
cyIgPiY1Ci0gIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4KLSAgcGtnX2N2X2dsaWJfQ0ZM
QUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyAiZ2xpYi0yLjAiIDI+L2Rldi9udWxsYAotZWxzZQot
ICBwa2dfZmFpbGVkPXllcwotZmkKLSBlbHNlCi0gICAgcGtnX2ZhaWxlZD11bnRyaWVkCi1maQot
aWYgdGVzdCAtbiAiJGdsaWJfTElCUyI7IHRoZW4KLSAgICBwa2dfY3ZfZ2xpYl9MSUJTPSIkZ2xp
Yl9MSUJTIgotIGVsaWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCi0gICAgaWYgdGVzdCAt
biAiJFBLR19DT05GSUciICYmIFwKLSAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogXCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwiZ2xpYi0y
LjBcIiI7IH0gPiY1Ci0gICgkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ2xp
Yi0yLjAiKSAyPiY1Ci0gIGFjX3N0YXR1cz0kPwotICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKLSAgdGVzdCAkYWNfc3RhdHVzID0g
MDsgfTsgdGhlbgotICBwa2dfY3ZfZ2xpYl9MSUJTPWAkUEtHX0NPTkZJRyAtLWxpYnMgImdsaWIt
Mi4wIiAyPi9kZXYvbnVsbGAKLWVsc2UKLSAgcGtnX2ZhaWxlZD15ZXMKLWZpCi0gZWxzZQotICAg
IHBrZ19mYWlsZWQ9dW50cmllZAotZmkKLQotCi0KLWlmIHRlc3QgJHBrZ19mYWlsZWQgPSB5ZXM7
IHRoZW4KLSAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogbm8iID4mNQotJGFzX2VjaG8gIm5vIiA+JjY7IH0KLQotaWYgJFBLR19DT05GSUcgLS1hdGxl
YXN0LXBrZ2NvbmZpZy12ZXJzaW9uIDAuMjA7IHRoZW4KLSAgICAgICAgX3BrZ19zaG9ydF9lcnJv
cnNfc3VwcG9ydGVkPXllcwotZWxzZQotICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0
ZWQ9bm8KKyAgT0NBTUxET0M9IiRhY19jdl9wcm9nX09DQU1MRE9DIgogZmkKLSAgICAgICAgaWYg
dGVzdCAkX3BrZ19zaG9ydF9lcnJvcnNfc3VwcG9ydGVkID0geWVzOyB0aGVuCi0JICAgICAgICBn
bGliX1BLR19FUlJPUlM9YCRQS0dfQ09ORklHIC0tc2hvcnQtZXJyb3JzIC0tcHJpbnQtZXJyb3Jz
ICJnbGliLTIuMCIgMj4mMWAKLSAgICAgICAgZWxzZQotCSAgICAgICAgZ2xpYl9QS0dfRVJST1JT
PWAkUEtHX0NPTkZJRyAtLXByaW50LWVycm9ycyAiZ2xpYi0yLjAiIDI+JjFgCi0gICAgICAgIGZp
Ci0JIyBQdXQgdGhlIG5hc3R5IGVycm9yIG1lc3NhZ2UgaW4gY29uZmlnLmxvZyB3aGVyZSBpdCBi
ZWxvbmdzCi0JZWNobyAiJGdsaWJfUEtHX0VSUk9SUyIgPiY1Ci0KLQlhc19mbl9lcnJvciAkPyAi
UGFja2FnZSByZXF1aXJlbWVudHMgKGdsaWItMi4wKSB3ZXJlIG5vdCBtZXQ6Ci0KLSRnbGliX1BL
R19FUlJPUlMKLQotQ29uc2lkZXIgYWRqdXN0aW5nIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJv
bm1lbnQgdmFyaWFibGUgaWYgeW91Ci1pbnN0YWxsZWQgc29mdHdhcmUgaW4gYSBub24tc3RhbmRh
cmQgcHJlZml4LgotCi1BbHRlcm5hdGl2ZWx5LCB5b3UgbWF5IHNldCB0aGUgZW52aXJvbm1lbnQg
dmFyaWFibGVzIGdsaWJfQ0ZMQUdTCi1hbmQgZ2xpYl9MSUJTIHRvIGF2b2lkIHRoZSBuZWVkIHRv
IGNhbGwgcGtnLWNvbmZpZy4KLVNlZSB0aGUgcGtnLWNvbmZpZyBtYW4gcGFnZSBmb3IgbW9yZSBk
ZXRhaWxzLiIgIiRMSU5FTk8iIDUKLWVsaWYgdGVzdCAkcGtnX2ZhaWxlZCA9IHVudHJpZWQ7IHRo
ZW4KLSAgICAgCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotCXsgeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2VjaG8g
IiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8gIlRo
ZSBwa2ctY29uZmlnIHNjcmlwdCBjb3VsZCBub3QgYmUgZm91bmQgb3IgaXMgdG9vIG9sZC4gIE1h
a2Ugc3VyZSBpdAotaXMgaW4geW91ciBQQVRIIG9yIHNldCB0aGUgUEtHX0NPTkZJRyBlbnZpcm9u
bWVudCB2YXJpYWJsZSB0byB0aGUgZnVsbAotcGF0aCB0byBwa2ctY29uZmlnLgogCi1BbHRlcm5h
dGl2ZWx5LCB5b3UgbWF5IHNldCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGdsaWJfQ0ZMQUdT
Ci1hbmQgZ2xpYl9MSUJTIHRvIGF2b2lkIHRoZSBuZWVkIHRvIGNhbGwgcGtnLWNvbmZpZy4KLVNl
ZSB0aGUgcGtnLWNvbmZpZyBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLgogCi1UbyBnZXQgcGtn
LWNvbmZpZywgc2VlIDxodHRwOi8vcGtnLWNvbmZpZy5mcmVlZGVza3RvcC5vcmcvPi4KLVNlZSBc
YGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQorICAjIGNoZWNr
aW5nIGZvciBvY2FtbGJ1aWxkCisgIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4K
KyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fW9jYW1sYnVp
bGQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7
YWNfdG9vbF9wcmVmaXh9b2NhbWxidWlsZDsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2
X3Byb2dfT0NBTUxCVUlMRCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNo
ZWQpICIgPiY2CiBlbHNlCi0JZ2xpYl9DRkxBR1M9JHBrZ19jdl9nbGliX0NGTEFHUwotCWdsaWJf
TElCUz0kcGtnX2N2X2dsaWJfTElCUwotICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKLSRhc19lY2hvICJ5ZXMiID4mNjsgfQot
Ci1maQotCi0jIENoZWNrIGxpYnJhcnkgcGF0aAotaWYgdGVzdCAiXCR7ZXhlY19wcmVmaXh9L2xp
YiIgPSAiJGxpYmRpciI7IHRoZW4gOgotICBpZiB0ZXN0ICIkZXhlY19wcmVmaXgiID0gIk5PTkUi
ICYmIHRlc3QgIiRwcmVmaXgiICE9ICJOT05FIjsgdGhlbiA6Ci0gIGV4ZWNfcHJlZml4PSRwcmVm
aXgKLWZpCi0gICAgaWYgdGVzdCAiJGV4ZWNfcHJlZml4IiA9ICJOT05FIjsgdGhlbiA6Ci0gIGV4
ZWNfcHJlZml4PSRhY19kZWZhdWx0X3ByZWZpeAotZmkKLSAgICBpZiB0ZXN0IC1kICIke2V4ZWNf
cHJlZml4fS9saWI2NCI7IHRoZW4gOgotCi0gICAgICAgIExJQl9QQVRIPSJsaWI2NCIKLQorICBp
ZiB0ZXN0IC1uICIkT0NBTUxCVUlMRCI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19PQ0FNTEJVSUxEPSIk
T0NBTUxCVUlMRCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCiBlbHNlCi0KLSAg
ICAgICAgTElCX1BBVEg9ImxpYiIKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFU
T1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAt
eiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4
ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IjsgfTsgdGhlbgorICAgIGFjX2N2X3Byb2dfT0NBTUxCVUlMRD0iJHthY190b29sX3ByZWZpeH1v
Y2FtbGJ1aWxkIgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZv
dW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkK
K2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUwogCiBmaQotCi1lbHNlCi0KLSAgICBMSUJf
UEFUSD0iJHtsaWJkaXI6YGV4cHIgbGVuZ3RoICIkZXhlY19wcmVmaXgiICsgMWB9IgotCiBmaQot
Ci0KLSMgQ2hlY2tzIGZvciBsaWJyYXJpZXMuCi1hY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVs
ICIkTElORU5PIiAiYnpsaWIuaCIgImFjX2N2X2hlYWRlcl9iemxpYl9oIiAiJGFjX2luY2x1ZGVz
X2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9iemxpYl9oIiA9IHgiInllczsgdGhl
biA6Ci0KLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
Zm9yIEJaMl9iekRlY29tcHJlc3NJbml0IGluIC1sYnoyIiA+JjUKLSRhc19lY2hvX24gImNoZWNr
aW5nIGZvciBCWjJfYnpEZWNvbXByZXNzSW5pdCBpbiAtbGJ6Mi4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0K3NldH0iID0gc2V0OyB0aGVu
IDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfY2hlY2tfbGliX3Nh
dmVfTElCUz0kTElCUwotTElCUz0iLWxiejIgICRMSUJTIgotY2F0IGNvbmZkZWZzLmggLSA8PF9B
Q0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotCi0vKiBPdmVy
cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwot
ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
cGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIEJa
Ml9iekRlY29tcHJlc3NJbml0ICgpOwotaW50Ci1tYWluICgpCi17Ci1yZXR1cm4gQloyX2J6RGVj
b21wcmVzc0luaXQgKCk7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2Nf
dHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfbGliX2J6Ml9CWjJfYnpEZWNvbXBy
ZXNzSW5pdD15ZXMKK09DQU1MQlVJTEQ9JGFjX2N2X3Byb2dfT0NBTUxCVUlMRAoraWYgdGVzdCAt
biAiJE9DQU1MQlVJTEQiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkT0NBTUxCVUlMRCIgPiY1CiskYXNfZWNobyAiJE9DQU1MQlVJTEQi
ID4mNjsgfQogZWxzZQotICBhY19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0PW5vCi1m
aQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29u
ZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZl
X0xJQlMKLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N2X2xpYl9iejJfQloyX2J6RGVjb21wcmVzc0luaXQiID4mNQotJGFzX2VjaG8gIiRh
Y19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0IiA+JjY7IH0KLWlmIHRlc3QgIngkYWNf
Y3ZfbGliX2J6Ml9CWjJfYnpEZWNvbXByZXNzSW5pdCIgPSB4IiJ5ZXM7IHRoZW4gOgotICB6bGli
PSIkemxpYiAtREhBVkVfQlpMSUIgLWxiejIiCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQogZmkK
IAogCiBmaQotCi0KLWFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJsem1h
LmgiICJhY19jdl9oZWFkZXJfbHptYV9oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0
ICJ4JGFjX2N2X2hlYWRlcl9sem1hX2giID0geCIieWVzOyB0aGVuIDoKLQoteyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbHptYV9zdHJlYW1fZGVj
b2RlciBpbiAtbGx6bWEiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGx6bWFfc3RyZWFt
X2RlY29kZXIgaW4gLWxsem1hLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2xpYl9sem1h
X2x6bWFfc3RyZWFtX2RlY29kZXIrc2V0fSIgPSBzZXQ7IHRoZW4gOgoraWYgdGVzdCAteiAiJGFj
X2N2X3Byb2dfT0NBTUxCVUlMRCI7IHRoZW4KKyAgYWNfY3RfT0NBTUxCVUlMRD0kT0NBTUxCVUlM
RAorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIm9jYW1sYnVpbGQiLCBzbyBpdCBjYW4g
YmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IG9jYW1sYnVpbGQ7IGFjX3dv
cmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
Zm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAi
ID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQrc2V0fSIgPSBz
ZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBhY19jaGVj
a19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGx6bWEgICRMSUJTIgotY2F0IGNvbmZkZWZz
LmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwot
Ci0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
ci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv
ZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlm
Ci1jaGFyIGx6bWFfc3RyZWFtX2RlY29kZXIgKCk7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVybiBs
em1hX3N0cmVhbV9kZWNvZGVyICgpOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBh
Y19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2xpYl9sem1hX2x6bWFf
c3RyZWFtX2RlY29kZXI9eWVzCisgIGlmIHRlc3QgLW4gIiRhY19jdF9PQ0FNTEJVSUxEIjsgdGhl
bgorICBhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQ9IiRhY19jdF9PQ0FNTEJVSUxEIiAjIExl
dCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KIGVsc2UKLSAgYWNfY3ZfbGliX2x6bWFfbHpt
YV9zdHJlYW1fZGVjb2Rlcj1ubworYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRP
UgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16
ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhl
Y3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQk
YWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi
OyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9PQ0FNTEJVSUxEPSJvY2FtbGJ1aWxkIgor
ICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIv
JGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9u
ZQorSUZTPSRhc19zYXZlX0lGUworCiBmaQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRl
c3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQK
LUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9sem1hX2x6bWFfc3RyZWFtX2Rl
Y29kZXIiID4mNQotJGFzX2VjaG8gIiRhY19jdl9saWJfbHptYV9sem1hX3N0cmVhbV9kZWNvZGVy
IiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2RlciIg
PSB4IiJ5ZXM7IHRoZW4gOgotICB6bGliPSIkemxpYiAtREhBVkVfTFpNQSAtbGx6bWEiCithY19j
dF9PQ0FNTEJVSUxEPSRhY19jdl9wcm9nX2FjX2N0X09DQU1MQlVJTEQKK2lmIHRlc3QgLW4gIiRh
Y19jdF9PQ0FNTEJVSUxEIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJGFjX2N0X09DQU1MQlVJTEQiID4mNQorJGFzX2VjaG8gIiRhY19j
dF9PQ0FNTEJVSUxEIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQog
Ci0KKyAgaWYgdGVzdCAieCRhY19jdF9PQ0FNTEJVSUxEIiA9IHg7IHRoZW4KKyAgICBPQ0FNTEJV
SUxEPSJubyIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJu
ZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdB
Uk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIg
PiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJl
Zml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2Vz
YWMKKyAgICBPQ0FNTEJVSUxEPSRhY19jdF9PQ0FNTEJVSUxECisgIGZpCitlbHNlCisgIE9DQU1M
QlVJTEQ9IiRhY19jdl9wcm9nX09DQU1MQlVJTEQiCiBmaQogCiAKLWFjX2ZuX2NfY2hlY2tfaGVh
ZGVyX21vbmdyZWwgIiRMSU5FTk8iICJsem8vbHpvMXguaCIgImFjX2N2X2hlYWRlcl9sem9fbHpv
MXhfaCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl9oZWFkZXJfbHpv
X2x6bzF4X2giID0geCIieWVzOyB0aGVuIDoKKyAgICBpZiB0ZXN0ICJ4JE9DQU1MQyIgPSAieG5v
IjsgdGhlbiA6CiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl
Y2tpbmcgZm9yIGx6bzF4X2RlY29tcHJlc3MgaW4gLWxsem8yIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIGZvciBsem8xeF9kZWNvbXByZXNzIGluIC1sbHpvMi4uLiAiID4mNjsgfQotaWYgdGVz
dCAiJHthY19jdl9saWJfbHpvMl9sem8xeF9kZWNvbXByZXNzK3NldH0iID0gc2V0OyB0aGVuIDoK
LSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgYWNfY2hlY2tfbGliX3NhdmVf
TElCUz0kTElCUwotTElCUz0iLWxsem8yICAkTElCUyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyAgICAgICAgaWYg
dGVzdCAieCRlbmFibGVfb2NhbWx0b29scyIgPSAieHllcyI7IHRoZW4gOgogCi0vKiBPdmVycmlk
ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwotICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIGx6bzF4
X2RlY29tcHJlc3MgKCk7Ci1pbnQKLW1haW4gKCkKLXsKLXJldHVybiBsem8xeF9kZWNvbXByZXNz
ICgpOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIk
TElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3M9eWVzCi1l
bHNlCi0gIGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3M9bm8KLWZpCi1ybSAtZiBjb3Jl
IGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19leGVl
eHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUworICAgICAg
ICAgICAgYXNfZm5fZXJyb3IgJD8gIk9jYW1sIHRvb2xzIGVuYWJsZWQsIGJ1dCB1bmFibGUgdG8g
ZmluZCBPY2FtbCIgIiRMSU5FTk8iIDUKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3MiID4m
NQotJGFzX2VjaG8gIiRhY19jdl9saWJfbHpvMl9sem8xeF9kZWNvbXByZXNzIiA+JjY7IH0KLWlm
IHRlc3QgIngkYWNfY3ZfbGliX2x6bzJfbHpvMXhfZGVjb21wcmVzcyIgPSB4IiJ5ZXM7IHRoZW4g
OgotICB6bGliPSIkemxpYiAtREhBVkVfTFpPMVggLWxsem8yIgorICAgICAgICBvY2FtbHRvb2xz
PSJuIgorCiBmaQogCitmaQorIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJiYXNoIiwgc28g
aXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBiYXNoOyBhY193
b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9CQVNIK3NldH0iID0gc2V0OyB0aGVuIDoK
KyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2FzZSAkQkFTSCBpbgorICBb
XFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9CQVNIPSIkQkFTSCIgIyBMZXQgdGhlIHVz
ZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVf
SUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisg
IElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBm
b3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYg
eyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIk
YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3BhdGhfQkFT
SD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+
JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKIAor
ICB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9CQVNIIiAmJiBhY19jdl9wYXRoX0JBU0g9Im5vIgorICA7
OworZXNhYworZmkKK0JBU0g9JGFjX2N2X3BhdGhfQkFTSAoraWYgdGVzdCAtbiAiJEJBU0giOyB0
aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
QkFTSCIgPiY1CiskYXNfZWNobyAiJEJBU0giID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5v
IiA+JjY7IH0KIGZpCiAKIAoraWYgdGVzdCB4IiR7QkFTSH0iID09IHgibm8iCit0aGVuCisgICAg
YXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGJhc2gsIHBsZWFzZSBpbnN0YWxsIGJhc2gi
ICIkTElORU5PIiA1CitmaQogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IGNoZWNraW5nIGZvciBpb19zZXR1cCBpbiAtbGFpbyIgPiY1Ci0kYXNfZWNob19uICJjaGVj
a2luZyBmb3IgaW9fc2V0dXAgaW4gLWxhaW8uLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3Zf
bGliX2Fpb19pb19zZXR1cCtzZXR9IiA9IHNldDsgdGhlbiA6CithY19leHQ9YworYWNfY3BwPSck
Q1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25m
dGVzdC4kYWNfZXh0ID4mNScKK2FjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENG
TEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCithY19j
b21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251Cit7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29y
IiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29y
Li4uICIgPiY2OyB9CisjIE9uIFN1bnMsIHNvbWV0aW1lcyAkQ1BQIG5hbWVzIGEgZGlyZWN0b3J5
LgoraWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAtZCAiJENQUCI7IHRoZW4KKyAgQ1BQPQorZmkK
K2lmIHRlc3QgLXogIiRDUFAiOyB0aGVuCisgIGlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DUFArc2V0
fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBh
Y19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGFpbyAgJExJQlMiCi1jYXQgY29u
ZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisgICAgICAjIERvdWJsZSBxdW90
ZXMgYmVjYXVzZSBDUFAgbmVlZHMgdG8gYmUgZXhwYW5kZWQKKyAgICBmb3IgQ1BQIGluICIkQ0Mg
LUUiICIkQ0MgLUUgLXRyYWRpdGlvbmFsLWNwcCIgIi9saWIvY3BwIgorICAgIGRvCisgICAgICBh
Y19wcmVwcm9jX29rPWZhbHNlCitmb3IgYWNfY19wcmVwcm9jX3dhcm5fZmxhZyBpbiAnJyB5ZXMK
K2RvCisgICMgVXNlIGEgaGVhZGVyIGZpbGUgdGhhdCBjb21lcyB3aXRoIGdjYywgc28gY29uZmln
dXJpbmcgZ2xpYmMKKyAgIyB3aXRoIGEgZnJlc2ggY3Jvc3MtY29tcGlsZXIgd29ya3MuCisgICMg
UHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBz
aW5jZQorICAjIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy
cy4KKyAgIyBPbiB0aGUgTmVYVCwgY2MgLUUgcnVucyB0aGUgY29kZSB0aHJvdWdoIHRoZSBjb21w
aWxlcidzIHBhcnNlciwKKyAgIyBub3QganVzdCB0aHJvdWdoIGNwcC4gIlN5bnRheCBlcnJvciIg
aXMgaGVyZSB0byBjYXRjaCB0aGlzIGNhc2UuCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0Yg
PmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLQotLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0gICBVc2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKLSAgIGJ1
aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g
ICovCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIKKyNpZmRlZiBfX1NURENfXworIyBp
bmNsdWRlIDxsaW1pdHMuaD4KKyNlbHNlCisjIGluY2x1ZGUgPGFzc2VydC5oPgogI2VuZGlmCi1j
aGFyIGlvX3NldHVwICgpOwotaW50Ci1tYWluICgpCi17Ci1yZXR1cm4gaW9fc2V0dXAgKCk7Ci0g
IDsKLSAgcmV0dXJuIDA7Ci19CisJCSAgICAgU3ludGF4IGVycm9yCiBfQUNFT0YKLWlmIGFjX2Zu
X2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfbGliX2Fpb19pb19zZXR1cD15
ZXMKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorCiBlbHNlCi0gIGFjX2N2
X2xpYl9haW9faW9fc2V0dXA9bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVz
dC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAot
TElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUworICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQg
aW5wdXQuCitjb250aW51ZQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO
RU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX2Fpb19pb19zZXR1cCIgPiY1Ci0kYXNfZWNobyAiJGFj
X2N2X2xpYl9haW9faW9fc2V0dXAiID4mNjsgfQotaWYgdGVzdCAieCRhY19jdl9saWJfYWlvX2lv
X3NldHVwIiA9IHgiInllczsgdGhlbiA6Ci0gIHN5c3RlbV9haW89InkiCitybSAtZiBjb25mdGVz
dC5lcnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CisKKyAgIyBPSywgd29ya3Mgb24gc2Fu
ZSBjYXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbmV4aXN0ZW50IGhlYWRlcnMKKyAgIyBjYW4g
YmUgZGV0ZWN0ZWQgYW5kIGhvdy4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRl
c3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPGFjX25vbmV4aXN0
ZW50Lmg+CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorICAj
IEJyb2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorY29udGludWUKIGVsc2UKLSAgc3lz
dGVtX2Fpbz0ibiIKKyAgIyBQYXNzZXMgYm90aCB0ZXN0cy4KK2FjX3ByZXByb2Nfb2s9OgorYnJl
YWsKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CisK
K2RvbmUKKyMgQmVjYXVzZSBvZiBgYnJlYWsnLCBfQUNfUFJFUFJPQ19JRkVMU0UncyBjbGVhbmlu
ZyBjb2RlIHdhcyBza2lwcGVkLgorcm0gLWYgY29uZnRlc3QuaSBjb25mdGVzdC5lcnIgY29uZnRl
c3QuJGFjX2V4dAoraWYgJGFjX3ByZXByb2Nfb2s7IHRoZW4gOgorICBicmVhawogZmkKIAorICAg
IGRvbmUKKyAgICBhY19jdl9wcm9nX0NQUD0kQ1BQCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIE1ENSBpbiAtbGNyeXB0byIgPiY1Ci0kYXNf
ZWNob19uICJjaGVja2luZyBmb3IgTUQ1IGluIC1sY3J5cHRvLi4uICIgPiY2OyB9Ci1pZiB0ZXN0
ICIke2FjX2N2X2xpYl9jcnlwdG9fTUQ1K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKK2ZpCisgIENQUD0kYWNfY3ZfcHJvZ19DUFAKIGVsc2UKLSAgYWNf
Y2hlY2tfbGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWxjcnlwdG8gICRMSUJTIgotY2F0IGNv
bmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorICBhY19jdl9wcm9nX0NQUD0k
Q1BQCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRDUFAiID4mNQorJGFzX2VjaG8gIiRDUFAiID4mNjsgfQorYWNfcHJlcHJvY19vaz1mYWxzZQor
Zm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCitkbworICAjIFVzZSBhIGhlYWRl
ciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCisgICMgd2l0
aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgorICAjIFByZWZlciA8bGltaXRzLmg+IHRv
IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKKyAgIyA8bGltaXRzLmg+
IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCisgICMgT24gdGhlIE5lWFQs
IGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIsCisgICMg
bm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhp
cyBjYXNlLgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAv
KiBlbmQgY29uZmRlZnMuaC4gICovCi0KLS8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBh
cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwotI2lmZGVmIF9fY3BsdXNw
bHVzCi1leHRlcm4gIkMiCisjaWZkZWYgX19TVERDX18KKyMgaW5jbHVkZSA8bGltaXRzLmg+Cisj
ZWxzZQorIyBpbmNsdWRlIDxhc3NlcnQuaD4KICNlbmRpZgotY2hhciBNRDUgKCk7Ci1pbnQKLW1h
aW4gKCkKLXsKLXJldHVybiBNRDUgKCk7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19CisJCSAgICAgU3lu
dGF4IGVycm9yCiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoK
LSAgYWNfY3ZfbGliX2NyeXB0b19NRDU9eWVzCitpZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8i
OyB0aGVuIDoKKwogZWxzZQotICBhY19jdl9saWJfY3J5cHRvX01ENT1ubwotZmkKLXJtIC1mIGNv
cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4
ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCisgICMg
QnJva2VuOiBmYWlscyBvbiB2YWxpZCBpbnB1dC4KK2NvbnRpbnVlCiBmaQoteyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfY3J5cHRvX01E
NSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2xpYl9jcnlwdG9fTUQ1IiA+JjY7IH0KLWlmIHRlc3Qg
IngkYWNfY3ZfbGliX2NyeXB0b19NRDUiID0geCIieWVzOyB0aGVuIDoKLSAgY2F0ID4+Y29uZmRl
ZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBIQVZFX0xJQkNSWVBUTyAxCitybSAtZiBjb25mdGVzdC5l
cnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CisKKyAgIyBPSywgd29ya3Mgb24gc2FuZSBj
YXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbmV4aXN0ZW50IGhlYWRlcnMKKyAgIyBjYW4gYmUg
ZGV0ZWN0ZWQgYW5kIGhvdy4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50
Lmg+CiBfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorICAjIEJy
b2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorY29udGludWUKK2Vsc2UKKyAgIyBQYXNz
ZXMgYm90aCB0ZXN0cy4KK2FjX3ByZXByb2Nfb2s9OgorYnJlYWsKK2ZpCitybSAtZiBjb25mdGVz
dC5lcnIgY29uZnRlc3QuaSBjb25mdGVzdC4kYWNfZXh0CiAKLSAgTElCUz0iLWxjcnlwdG8gJExJ
QlMiCitkb25lCisjIEJlY2F1c2Ugb2YgYGJyZWFrJywgX0FDX1BSRVBST0NfSUZFTFNFJ3MgY2xl
YW5pbmcgY29kZSB3YXMgc2tpcHBlZC4KK3JtIC1mIGNvbmZ0ZXN0LmkgY29uZnRlc3QuZXJyIGNv
bmZ0ZXN0LiRhY19leHQKK2lmICRhY19wcmVwcm9jX29rOyB0aGVuIDoKIAogZWxzZQotICBhc19m
bl9lcnJvciAkPyAiQ291bGQgbm90IGZpbmQgbGliY3J5cHRvIiAiJExJTkVOTyIgNQorICB7IHsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3
ZCc6IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30K
K2FzX2ZuX2Vycm9yICQ/ICJDIHByZXByb2Nlc3NvciBcIiRDUFBcIiBmYWlscyBzYW5pdHkgY2hl
Y2sKK1NlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQog
ZmkKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm
b3IgZXh0MmZzX29wZW4yIGluIC1sZXh0MmZzIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZv
ciBleHQyZnNfb3BlbjIgaW4gLWxleHQyZnMuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3Zf
bGliX2V4dDJmc19leHQyZnNfb3BlbjIrc2V0fSIgPSBzZXQ7IHRoZW4gOgorYWNfZXh0PWMKK2Fj
X2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxB
R1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCithY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhl
ZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1
JworYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorCisKK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGdyZXAgdGhhdCBoYW5k
bGVzIGxvbmcgbGluZXMgYW5kIC1lIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBncmVw
IHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZS4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHth
Y19jdl9wYXRoX0dSRVArc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVk
KSAiID4mNgogZWxzZQotICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbGV4
dDJmcyAgJExJQlMiCi1jYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0
Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCisgIGlmIHRlc3QgLXogIiRHUkVQIjsgdGhlbgorICBh
Y19wYXRoX0dSRVBfZm91bmQ9ZmFsc2UKKyAgIyBMb29wIHRocm91Z2ggdGhlIHVzZXIncyBwYXRo
IGFuZCB0ZXN0IGZvciBlYWNoIG9mIFBST0dOQU1FLUxJU1QKKyAgYXNfc2F2ZV9JRlM9JElGUzsg
SUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi91
c3IveHBnNC9iaW4KK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIg
JiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfcHJvZyBpbiBncmVwIGdncmVwOyBkbworICAgIGZvciBh
Y19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICAgICAgYWNf
cGF0aF9HUkVQPSIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IgorICAgICAgeyB0ZXN0IC1m
ICIkYWNfcGF0aF9HUkVQIiAmJiAkYXNfdGVzdF94ICIkYWNfcGF0aF9HUkVQIjsgfSB8fCBjb250
aW51ZQorIyBDaGVjayBmb3IgR05VIGFjX3BhdGhfR1JFUCBhbmQgc2VsZWN0IGl0IGlmIGl0IGlz
IGZvdW5kLgorICAjIENoZWNrIGZvciBHTlUgJGFjX3BhdGhfR1JFUAorY2FzZSBgIiRhY19wYXRo
X0dSRVAiIC0tdmVyc2lvbiAyPiYxYCBpbgorKkdOVSopCisgIGFjX2N2X3BhdGhfR1JFUD0iJGFj
X3BhdGhfR1JFUCIgYWNfcGF0aF9HUkVQX2ZvdW5kPTo7OworKikKKyAgYWNfY291bnQ9MAorICAk
YXNfZWNob19uIDAxMjM0NTY3ODkgPiJjb25mdGVzdC5pbiIKKyAgd2hpbGUgOgorICBkbworICAg
IGNhdCAiY29uZnRlc3QuaW4iICJjb25mdGVzdC5pbiIgPiJjb25mdGVzdC50bXAiCisgICAgbXYg
ImNvbmZ0ZXN0LnRtcCIgImNvbmZ0ZXN0LmluIgorICAgIGNwICJjb25mdGVzdC5pbiIgImNvbmZ0
ZXN0Lm5sIgorICAgICRhc19lY2hvICdHUkVQJyA+PiAiY29uZnRlc3QubmwiCisgICAgIiRhY19w
YXRoX0dSRVAiIC1lICdHUkVQJCcgLWUgJy0oY2Fubm90IG1hdGNoKS0nIDwgImNvbmZ0ZXN0Lm5s
IiA+ImNvbmZ0ZXN0Lm91dCIgMj4vZGV2L251bGwgfHwgYnJlYWsKKyAgICBkaWZmICJjb25mdGVz
dC5vdXQiICJjb25mdGVzdC5ubCIgPi9kZXYvbnVsbCAyPiYxIHx8IGJyZWFrCisgICAgYXNfZm5f
YXJpdGggJGFjX2NvdW50ICsgMSAmJiBhY19jb3VudD0kYXNfdmFsCisgICAgaWYgdGVzdCAkYWNf
Y291bnQgLWd0ICR7YWNfcGF0aF9HUkVQX21heC0wfTsgdGhlbgorICAgICAgIyBCZXN0IG9uZSBz
byBmYXIsIHNhdmUgaXQgYnV0IGtlZXAgbG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCisgICAgICBh
Y19jdl9wYXRoX0dSRVA9IiRhY19wYXRoX0dSRVAiCisgICAgICBhY19wYXRoX0dSRVBfbWF4PSRh
Y19jb3VudAorICAgIGZpCisgICAgIyAxMCooMl4xMCkgY2hhcnMgYXMgaW5wdXQgc2VlbXMgbW9y
ZSB0aGFuIGVub3VnaAorICAgIHRlc3QgJGFjX2NvdW50IC1ndCAxMCAmJiBicmVhaworICBkb25l
CisgIHJtIC1mIGNvbmZ0ZXN0LmluIGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5ubCBjb25mdGVzdC5v
dXQ7OworZXNhYwogCi0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh
dm9pZCBhbiBlcnJvci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy
ZXR1cm4gdHlwZSBvZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv
dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJu
ICJDIgotI2VuZGlmCi1jaGFyIGV4dDJmc19vcGVuMiAoKTsKLWludAotbWFpbiAoKQotewotcmV0
dXJuIGV4dDJmc19vcGVuMiAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNf
Zm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfZXh0MmZzX2V4dDJm
c19vcGVuMj15ZXMKKyAgICAgICRhY19wYXRoX0dSRVBfZm91bmQgJiYgYnJlYWsgMworICAgIGRv
bmUKKyAgZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisgIGlmIHRlc3QgLXogIiRhY19j
dl9wYXRoX0dSRVAiOyB0aGVuCisgICAgYXNfZm5fZXJyb3IgJD8gIm5vIGFjY2VwdGFibGUgZ3Jl
cCBjb3VsZCBiZSBmb3VuZCBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi91c3IveHBnNC9iaW4iICIk
TElORU5PIiA1CisgIGZpCiBlbHNlCi0gIGFjX2N2X2xpYl9leHQyZnNfZXh0MmZzX29wZW4yPW5v
CisgIGFjX2N2X3BhdGhfR1JFUD0kR1JFUAogZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNv
bmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNf
ZXh0Ci1MSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCisKIGZpCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9leHQyZnNfZXh0MmZz
X29wZW4yIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2V4dDJmc19leHQyZnNfb3BlbjIiID4m
NjsgfQotaWYgdGVzdCAieCRhY19jdl9saWJfZXh0MmZzX2V4dDJmc19vcGVuMiIgPSB4IiJ5ZXM7
IHRoZW4gOgotICBsaWJleHQyZnM9InkiCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfR1JFUCIgPiY1CiskYXNfZWNobyAiJGFjX2N2
X3BhdGhfR1JFUCIgPiY2OyB9CisgR1JFUD0iJGFjX2N2X3BhdGhfR1JFUCIKKworCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBlZ3JlcCIgPiY1
CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgZWdyZXAuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7
YWNfY3ZfcGF0aF9FR1JFUCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNo
ZWQpICIgPiY2CiBlbHNlCi0gIGxpYmV4dDJmcz0ibiIKKyAgaWYgZWNobyBhIHwgJEdSRVAgLUUg
JyhhfGIpJyA+L2Rldi9udWxsIDI+JjEKKyAgIHRoZW4gYWNfY3ZfcGF0aF9FR1JFUD0iJEdSRVAg
LUUiCisgICBlbHNlCisgICAgIGlmIHRlc3QgLXogIiRFR1JFUCI7IHRoZW4KKyAgYWNfcGF0aF9F
R1JFUF9mb3VuZD1mYWxzZQorICAjIExvb3AgdGhyb3VnaCB0aGUgdXNlcidzIHBhdGggYW5kIHRl
c3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBB
VEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0
L2JpbgorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19k
aXI9LgorICAgIGZvciBhY19wcm9nIGluIGVncmVwOyBkbworICAgIGZvciBhY19leGVjX2V4dCBp
biAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICAgICAgYWNfcGF0aF9FR1JFUD0i
JGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIKKyAgICAgIHsgdGVzdCAtZiAiJGFjX3BhdGhf
RUdSRVAiICYmICRhc190ZXN0X3ggIiRhY19wYXRoX0VHUkVQIjsgfSB8fCBjb250aW51ZQorIyBD
aGVjayBmb3IgR05VIGFjX3BhdGhfRUdSRVAgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4K
KyAgIyBDaGVjayBmb3IgR05VICRhY19wYXRoX0VHUkVQCitjYXNlIGAiJGFjX3BhdGhfRUdSRVAi
IC0tdmVyc2lvbiAyPiYxYCBpbgorKkdOVSopCisgIGFjX2N2X3BhdGhfRUdSRVA9IiRhY19wYXRo
X0VHUkVQIiBhY19wYXRoX0VHUkVQX2ZvdW5kPTo7OworKikKKyAgYWNfY291bnQ9MAorICAkYXNf
ZWNob19uIDAxMjM0NTY3ODkgPiJjb25mdGVzdC5pbiIKKyAgd2hpbGUgOgorICBkbworICAgIGNh
dCAiY29uZnRlc3QuaW4iICJjb25mdGVzdC5pbiIgPiJjb25mdGVzdC50bXAiCisgICAgbXYgImNv
bmZ0ZXN0LnRtcCIgImNvbmZ0ZXN0LmluIgorICAgIGNwICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0
Lm5sIgorICAgICRhc19lY2hvICdFR1JFUCcgPj4gImNvbmZ0ZXN0Lm5sIgorICAgICIkYWNfcGF0
aF9FR1JFUCIgJ0VHUkVQJCcgPCAiY29uZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYv
bnVsbCB8fCBicmVhaworICAgIGRpZmYgImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rl
di9udWxsIDI+JjEgfHwgYnJlYWsKKyAgICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFj
X2NvdW50PSRhc192YWwKKyAgICBpZiB0ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0VHUkVQ
X21heC0wfTsgdGhlbgorICAgICAgIyBCZXN0IG9uZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAg
bG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCisgICAgICBhY19jdl9wYXRoX0VHUkVQPSIkYWNfcGF0
aF9FR1JFUCIKKyAgICAgIGFjX3BhdGhfRUdSRVBfbWF4PSRhY19jb3VudAorICAgIGZpCisgICAg
IyAxMCooMl4xMCkgY2hhcnMgYXMgaW5wdXQgc2VlbXMgbW9yZSB0aGFuIGVub3VnaAorICAgIHRl
c3QgJGFjX2NvdW50IC1ndCAxMCAmJiBicmVhaworICBkb25lCisgIHJtIC1mIGNvbmZ0ZXN0Lmlu
IGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5ubCBjb25mdGVzdC5vdXQ7OworZXNhYworCisgICAgICAk
YWNfcGF0aF9FR1JFUF9mb3VuZCAmJiBicmVhayAzCisgICAgZG9uZQorICBkb25lCisgIGRvbmUK
K0lGUz0kYXNfc2F2ZV9JRlMKKyAgaWYgdGVzdCAteiAiJGFjX2N2X3BhdGhfRUdSRVAiOyB0aGVu
CisgICAgYXNfZm5fZXJyb3IgJD8gIm5vIGFjY2VwdGFibGUgZWdyZXAgY291bGQgYmUgZm91bmQg
aW4gJFBBVEgkUEFUSF9TRVBBUkFUT1IvdXNyL3hwZzQvYmluIiAiJExJTkVOTyIgNQorICBmaQor
ZWxzZQorICBhY19jdl9wYXRoX0VHUkVQPSRFR1JFUAogZmkKIAorICAgZmkKK2ZpCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfRUdS
RVAiID4mNQorJGFzX2VjaG8gIiRhY19jdl9wYXRoX0VHUkVQIiA+JjY7IH0KKyBFR1JFUD0iJGFj
X2N2X3BhdGhfRUdSRVAiCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIgaW4gLWxnY3J5cHQiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIgaW4gLWxnY3J5cHQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfbGliX2djcnlwdF9nY3J5X21kX2hhc2hfYnVmZmVy
K3NldH0iID0gc2V0OyB0aGVuIDoKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1CiskYXNfZWNob19u
ICJjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiAiID4mNjsgfQoraWYgdGVzdCAi
JHthY19jdl9oZWFkZXJfc3RkYytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihj
YWNoZWQpICIgPiY2CiBlbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJQlM9
Ii1sZ2NyeXB0ICAkTElCUyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRh
Y19leHQKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAogLyog
ZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGFy
Zy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZsb2F0Lmg+CiAKLS8qIE92ZXJy
aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgotICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCi0g
ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLwotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiCi0jZW5kaWYKLWNoYXIgZ2Ny
eV9tZF9oYXNoX2J1ZmZlciAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuIGdjcnlfbWRfaGFz
aF9idWZmZXIgKCk7CisKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VPRgotaWYgYWNfZm5fY190
cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRfaGFz
aF9idWZmZXI9eWVzCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Cisg
IGFjX2N2X2hlYWRlcl9zdGRjPXllcwogZWxzZQotICBhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXI9bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNf
b2JqZXh0IFwKLSAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0k
YWNfY2hlY2tfbGliX3NhdmVfTElCUworICBhY19jdl9oZWFkZXJfc3RkYz1ubwogZmkKLXsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX2dj
cnlwdF9nY3J5X21kX2hhc2hfYnVmZmVyIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2djcnlw
dF9nY3J5X21kX2hhc2hfYnVmZmVyIiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX2djcnlw
dF9nY3J5X21kX2hhc2hfYnVmZmVyIiA9IHgiInllczsgdGhlbiA6Ci0gIGxpYmdjcnlwdD0ieSIK
K3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFj
X2V4dAorCitpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorICAjIFN1bk9T
IDQueCBzdHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5IHRvIEFOU0kuCisg
IGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworX0FDRU9GCitpZiAoZXZhbCAiJGFj
X2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8CisgICRFR1JFUCAibWVtY2hyIiA+L2Rldi9u
dWxsIDI+JjE7IHRoZW4gOgorCiBlbHNlCi0gIGxpYmdjcnlwdD0ibiIKKyAgYWNfY3ZfaGVhZGVy
X3N0ZGM9bm8KK2ZpCitybSAtZiBjb25mdGVzdCoKKwogZmkKIAoraWYgdGVzdCAkYWNfY3ZfaGVh
ZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKyAgIyBJU0MgMi4wLjIgc3RkbGliLmggZG9lcyBub3QgZGVj
bGFyZSBmcmVlLCBjb250cmFyeSB0byBBTlNJLgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9G
ID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3Rk
bGliLmg+CiAKK19BQ0VPRgoraWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+
JjUgfAorICAkRUdSRVAgImZyZWUiID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CiAKLSAgICB7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBwdGhyZWFk
IGZsYWciID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWQgZmxhZy4uLiAiID4m
NjsgfQotaWYgdGVzdCAiJHtheF9jdl9wdGhyZWFkX2ZsYWdzK3NldH0iID0gc2V0OyB0aGVuIDoK
LSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKKyAgYWNfY3ZfaGVhZGVyX3N0ZGM9
bm8KK2ZpCitybSAtZiBjb25mdGVzdCoKIAotICAgICAgICBheF9jdl9wdGhyZWFkX2ZsYWdzPS1w
dGhyZWFkCitmaQogCi0gICAgUFRIUkVBRF9DRkxBR1M9IiRheF9jdl9wdGhyZWFkX2ZsYWdzIgot
ICAgIFBUSFJFQURfTERGTEFHUz0iJGF4X2N2X3B0aHJlYWRfZmxhZ3MiCi0gICAgUFRIUkVBRF9M
SUJTPSIiCitpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorICAjIC9iaW4v
Y2MgaW4gSXJpeC00LjAuNSBnZXRzIG5vbi1BTlNJIGN0eXBlIG1hY3JvcyB1bmxlc3MgdXNpbmcg
LWFuc2kuCisgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKyAgOgor
ZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBl
bmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRsaWIu
aD4KKyNpZiAoKCcgJyAmIDB4MEZGKSA9PSAweDAyMCkKKyMgZGVmaW5lIElTTE9XRVIoYykgKCdh
JyA8PSAoYykgJiYgKGMpIDw9ICd6JykKKyMgZGVmaW5lIFRPVVBQRVIoYykgKElTTE9XRVIoYykg
PyAnQScgKyAoKGMpIC0gJ2EnKSA6IChjKSkKKyNlbHNlCisjIGRlZmluZSBJU0xPV0VSKGMpIFwK
KwkJICAgKCgnYScgPD0gKGMpICYmIChjKSA8PSAnaScpIFwKKwkJICAgICB8fCAoJ2onIDw9IChj
KSAmJiAoYykgPD0gJ3InKSBcCisJCSAgICAgfHwgKCdzJyA8PSAoYykgJiYgKGMpIDw9ICd6Jykp
CisjIGRlZmluZSBUT1VQUEVSKGMpIChJU0xPV0VSKGMpID8gKChjKSB8IDB4NDApIDogKGMpKQor
I2VuZGlmCiAKKyNkZWZpbmUgWE9SKGUsIGYpICgoKGUpICYmICEoZikpIHx8ICghKGUpICYmIChm
KSkpCitpbnQKK21haW4gKCkKK3sKKyAgaW50IGk7CisgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkr
KykKKyAgICBpZiAoWE9SIChpc2xvd2VyIChpKSwgSVNMT1dFUiAoaSkpCisJfHwgdG91cHBlciAo
aSkgIT0gVE9VUFBFUiAoaSkpCisgICAgICByZXR1cm4gMjsKKyAgcmV0dXJuIDA7Cit9CitfQUNF
T0YKK2lmIGFjX2ZuX2NfdHJ5X3J1biAiJExJTkVOTyI7IHRoZW4gOgogCi0gICAgc2F2ZWRfQ0ZM
QUdTPSIkQ0ZMQUdTIgorZWxzZQorICBhY19jdl9oZWFkZXJfc3RkYz1ubworZmkKK3JtIC1mIGNv
cmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhl
ZXh0IFwKKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19l
eHQKK2ZpCiAKLSAgICBzYXZlZF9MREZMQUdTPSIkTERGTEFHUyIKK2ZpCitmaQoreyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3Rk
YyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2hlYWRlcl9zdGRjIiA+JjY7IH0KK2lmIHRlc3QgJGFj
X2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCiAKLSAgICBzYXZlZF9MSUJTPSIkTElCUyIKKyRh
c19lY2hvICIjZGVmaW5lIFNURENfSEVBREVSUyAxIiA+PmNvbmZkZWZzLmgKIAorZmkKIAotICAg
IENGTEFHUz0iJENGTEFHUyAkUFRIUkVBRF9DRkxBR1MiCisjIE9uIElSSVggNS4zLCBzeXMvdHlw
ZXMgYW5kIGludHR5cGVzLmggYXJlIGNvbmZsaWN0aW5nLgorZm9yIGFjX2hlYWRlciBpbiBzeXMv
dHlwZXMuaCBzeXMvc3RhdC5oIHN0ZGxpYi5oIHN0cmluZy5oIG1lbW9yeS5oIHN0cmluZ3MuaCBc
CisJCSAgaW50dHlwZXMuaCBzdGRpbnQuaCB1bmlzdGQuaAorZG8gOgorICBhc19hY19IZWFkZXI9
YCRhc19lY2hvICJhY19jdl9oZWFkZXJfJGFjX2hlYWRlciIgfCAkYXNfdHJfc2hgCithY19mbl9j
X2NoZWNrX2hlYWRlcl9jb21waWxlICIkTElORU5PIiAiJGFjX2hlYWRlciIgIiRhc19hY19IZWFk
ZXIiICIkYWNfaW5jbHVkZXNfZGVmYXVsdAorIgoraWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY19I
ZWFkZXIiXCIgPSB4InllcyI7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisj
ZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNfaGVhZGVyIiB8ICRhc190cl9jcHBgIDEKK19BQ0VP
RgogCi0gICAgTERGTEFHUz0iJExERkxBR1MgJFBUSFJFQURfTERGTEFHUyIKK2ZpCiAKLSAgICBM
SUJTPSIkTElCUyAkUFRIUkVBRF9MSUJTIgorZG9uZQogCi0gICAgICAgIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KIAot
I2luY2x1ZGUgPHB0aHJlYWQuaD4KLWludCBtYWluKHZvaWQpIHsKLSAgcHRocmVhZF9hdGZvcmso
MCwwLDApOwotICBwdGhyZWFkX2NyZWF0ZSgwLDAsMCwwKTsKLX0KK2lmIHRlc3QgIngkcHl0aG9u
dG9vbHMiID0gInh5IjsgdGhlbiA6CiAKLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJ
TkVOTyI7IHRoZW4gOgorICAgIGlmIGVjaG8gIiRQWVRIT04iIHwgZ3JlcCAtcSAiXi8iOyB0aGVu
IDoKIAorICAgICAgICBQWVRIT05QQVRIPSRQWVRIT04KKyAgICAgICAgUFlUSE9OPWBiYXNlbmFt
ZSAkUFlUSE9OUEFUSGAKKworZWxpZiB0ZXN0IC16ICIkUFlUSE9OIjsgdGhlbiA6CisgIFBZVEhP
Tj0icHl0aG9uIgogZWxzZQotICBheF9jdl9wdGhyZWFkX2ZsYWdzPWZhaWxlZAorICBhc19mbl9l
cnJvciAkPyAiUFlUSE9OIHNwZWNpZmllZCwgYnV0IGlzIG5vdCBhbiBhYnNvbHV0ZSBwYXRoIiAi
JExJTkVOTyIgNQogZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpl
eHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CisgICAgIyBFeHRy
YWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkUFlUSE9OIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBu
YW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkUFlUSE9OOyBhY193b3JkPSQyCit7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1
CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3Qg
IiR7YWNfY3ZfcGF0aF9QWVRIT05QQVRIK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9f
biAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2FzZSAkUFlUSE9OUEFUSCBpbgorICBbXFwvXSog
fCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSIkUFlUSE9OUEFUSCIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFz
X3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgK
K2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4K
KyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8K
KyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVz
dF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3Bh
dGhfUFlUSE9OUEFUSD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFj
X2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNf
c2F2ZV9JRlMKIAotICAgIENGTEFHUz0iJHNhdmVkX0NGTEFHUyIKKyAgdGVzdCAteiAiJGFjX2N2
X3BhdGhfUFlUSE9OUEFUSCIgJiYgYWNfY3ZfcGF0aF9QWVRIT05QQVRIPSJubyIKKyAgOzsKK2Vz
YWMKK2ZpCitQWVRIT05QQVRIPSRhY19jdl9wYXRoX1BZVEhPTlBBVEgKK2lmIHRlc3QgLW4gIiRQ
WVRIT05QQVRIIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJFBZVEhPTlBBVEgiID4mNQorJGFzX2VjaG8gIiRQWVRIT05QQVRIIiA+JjY7
IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQogCi0gICAgTERGTEFHUz0iJHNh
dmVkX0xERkxBR1MiCiAKLSAgICBMSUJTPSIkc2F2ZWRfTElCUyIKK2lmIHRlc3QgeCIke1BZVEhP
TlBBVEh9IiA9PSB4Im5vIgordGhlbgorICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmlu
ZCAkUFlUSE9OLCBwbGVhc2UgaW5zdGFsbCAkUFlUSE9OIiAiJExJTkVOTyIgNQorZmkKKyAgICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBweXRo
b24gdmVyc2lvbiA+PSAyLjMgIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBweXRob24g
dmVyc2lvbiA+PSAyLjMgLi4uICIgPiY2OyB9CitgJFBZVEhPTiAtYyAnaW1wb3J0IHN5czsgc3lz
LmV4aXQoZXZhbCgic3lzLnZlcnNpb25faW5mbyA8ICgyLCAzKSIpKSdgCitpZiB0ZXN0ICIkPyIg
IT0gIjAiCit0aGVuCisgICAgcHl0aG9uX3ZlcnNpb249YCRQWVRIT04gLVYgMj4mMWAKKyAgICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQor
JGFzX2VjaG8gIm5vIiA+JjY7IH0KKyAgICBhc19mbl9lcnJvciAkPyAiJHB5dGhvbl92ZXJzaW9u
IGlzIHRvbyBvbGQsIG1pbmltdW0gcmVxdWlyZWQgdmVyc2lvbiBpcyAyLjMiICIkTElORU5PIiA1
CitlbHNlCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1
bHQ6IHllcyIgPiY1CiskYXNfZWNobyAieWVzIiA+JjY7IH0KK2ZpCiAKK2FjX3ByZXZpb3VzX2Nw
cGZsYWdzPSRDUFBGTEFHUworYWNfcHJldmlvdXNfbGRmbGFncz0kTERGTEFHUworYWNfcHl0aG9u
X3ZlcnNpb249YCRQWVRIT04gLWMgJ2ltcG9ydCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCisgICAg
cHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiVkVSU0lPTiIpJ2AKKyMg
RXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJFBZVEhPTi1jb25maWciLCBzbyBpdCBjYW4gYmUg
YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRQWVRIT04tY29uZmlnOyBhY193
b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4g
IiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9weWNvbmZpZytzZXR9IiA9IHNldDsgdGhl
biA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJHB5Y29uZmln
IGluCisgIFtcXC9dKiB8ID86W1xcL10qKQorICBhY19jdl9wYXRoX3B5Y29uZmlnPSIkcHljb25m
aWciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7Owor
ICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGly
IGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYm
IGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu
c2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIg
JiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAg
ICBhY19jdl9wYXRoX3B5Y29uZmlnPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorICAg
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFj
X3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQor
SUZTPSRhc19zYXZlX0lGUwogCisgIHRlc3QgLXogIiRhY19jdl9wYXRoX3B5Y29uZmlnIiAmJiBh
Y19jdl9wYXRoX3B5Y29uZmlnPSJubyIKKyAgOzsKK2VzYWMKK2ZpCitweWNvbmZpZz0kYWNfY3Zf
cGF0aF9weWNvbmZpZworaWYgdGVzdCAtbiAiJHB5Y29uZmlnIjsgdGhlbgorICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHB5Y29uZmlnIiA+JjUKKyRh
c19lY2hvICIkcHljb25maWciID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0K
IGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGF4
X2N2X3B0aHJlYWRfZmxhZ3MiID4mNQotJGFzX2VjaG8gIiRheF9jdl9wdGhyZWFkX2ZsYWdzIiA+
JjY7IH0KLSAgICBpZiB0ZXN0ICJ4JGF4X2N2X3B0aHJlYWRfZmxhZ3MiID0geGZhaWxlZDsgdGhl
bgotICAgICAgICBhc19mbl9lcnJvciAkPyAiLXB0aHJlYWQgZG9lcyBub3Qgd29yayIgIiRMSU5F
Tk8iIDUKLSAgICBmaQotCi0gICAgUFRIUkVBRF9DRkxBR1M9IiRheF9jdl9wdGhyZWFkX2ZsYWdz
IgotICAgIFBUSFJFQURfTERGTEFHUz0iJGF4X2N2X3B0aHJlYWRfZmxhZ3MiCi0gICAgUFRIUkVB
RF9MSUJTPSIiCiAKIAoraWYgdGVzdCB4IiRweWNvbmZpZyIgPT0geCJubyI7IHRoZW4gOgogCi17
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBjbG9j
a19nZXR0aW1lIGluIC1scnQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGNsb2NrX2dl
dHRpbWUgaW4gLWxydC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9saWJfcnRfY2xvY2tf
Z2V0dGltZStzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2
Ci1lbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJQlM9Ii1scnQgICRMSUJT
IgotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLworICAgICAgICBDUFBGTEFHUz0iJENGTEFHUyBgJFBZVEhPTiAtYyAnaW1w
b3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKKyAgICAgICAgcHJpbnQgIi1JIiArIGRpc3R1dGls
cy5zeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIklOQ0xVREVQWSIpJ2AiCisgICAgQ1BQRkxBR1M9
IiRDUFBGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKKyAg
ICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiQ0ZMQUdTIikn
YCIKKyAgICBMREZMQUdTPSIkTERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5z
eXNjb25maWc7IFwKKyAgICAgICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmln
X3ZhcigiTElCUyIpJ2AiCisgICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMgJ2ltcG9y
dCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCisgICAgICAgIHByaW50IGRpc3R1dGlscy5zeXNjb25m
aWcuZ2V0X2NvbmZpZ192YXIoIlNZU0xJQlMiKSdgIgorICAgIExERkxBR1M9IiRMREZMQUdTIGAk
UFlUSE9OIC1jICdpbXBvcnQgZGlzdHV0aWxzLnN5c2NvbmZpZzsgXAorICAgICAgICBwcmludCAi
LUwiICsgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTEs
XAorICAgICAgICBzdGFuZGFyZF9saWI9MSkgKyAiL2NvbmZpZyInYCIKKyAgICBMREZMQUdTPSIk
TERGTEFHUyBgJFBZVEhPTiAtYyAnaW1wb3J0IGRpc3R1dGlscy5zeXNjb25maWc7IFwKKyAgICAg
ICAgcHJpbnQgZGlzdHV0aWxzLnN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiTElOS0ZPUlNIQVJF
RCIpJ2AiCisgICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04gLWMgJ2ltcG9ydCBkaXN0dXRp
bHMuc3lzY29uZmlnOyBcCisgICAgICAgIHByaW50IGRpc3R1dGlscy5zeXNjb25maWcuZ2V0X2Nv
bmZpZ192YXIoIkxERkxBR1MiKSdgIgogCi0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg
YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVz
cGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIGNsb2NrX2dldHRpbWUgKCk7Ci1pbnQKLW1h
aW4gKCkKLXsKLXJldHVybiBjbG9ja19nZXR0aW1lICgpOwotICA7Ci0gIHJldHVybiAwOwotfQot
X0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2xp
Yl9ydF9jbG9ja19nZXR0aW1lPXllcwogZWxzZQotICBhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGlt
ZT1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAot
ICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19jaGVja19s
aWJfc2F2ZV9MSUJTCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiByZXN1bHQ6ICRhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGltZSIgPiY1Ci0kYXNfZWNobyAiJGFj
X2N2X2xpYl9ydF9jbG9ja19nZXR0aW1lIiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX3J0
X2Nsb2NrX2dldHRpbWUiID0geCIieWVzOyB0aGVuIDoKLSAgY2F0ID4+Y29uZmRlZnMuaCA8PF9B
Q0VPRgotI2RlZmluZSBIQVZFX0xJQlJUIDEKLV9BQ0VPRgogCi0gIExJQlM9Ii1scnQgJExJQlMi
CisgICAgICAgIENQUEZMQUdTPSIkQ0ZMQUdTIGAkUFlUSE9OLWNvbmZpZyAtLWNmbGFnc2AiCisg
ICAgTERGTEFHUz0iJExERkxBR1MgYCRQWVRIT04tY29uZmlnIC0tbGRmbGFnc2AiCiAKIGZpCiAK
LXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHlh
amxfYWxsb2MgaW4gLWx5YWpsIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciB5YWpsX2Fs
bG9jIGluIC1seWFqbC4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9saWJfeWFqbF95YWps
X2FsbG9jK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
LWVsc2UKLSAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWx5YWpsICAkTElC
UyIKLWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KK2FjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJQ
eXRob24uaCIgImFjX2N2X2hlYWRlcl9QeXRob25faCIgIiRhY19pbmNsdWRlc19kZWZhdWx0Igor
aWYgdGVzdCAieCRhY19jdl9oZWFkZXJfUHl0aG9uX2giID0geCIieWVzOyB0aGVuIDoKIAotLyog
T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0g
ICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBH
Q0MKLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS4gICovCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIKLSNlbmRpZgotY2hh
ciB5YWpsX2FsbG9jICgpOwotaW50Ci1tYWluICgpCi17Ci1yZXR1cm4geWFqbF9hbGxvYyAoKTsK
LSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVO
TyI7IHRoZW4gOgotICBhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jPXllcwogZWxzZQotICBhY19j
dl9saWJfeWFqbF95YWpsX2FsbG9jPW5vCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29u
ZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19l
eHQKLUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKKyAgYXNfZm5fZXJyb3IgJD8gIlVuYWJs
ZSB0byBmaW5kIFB5dGhvbiBkZXZlbG9wbWVudCBoZWFkZXJzIiAiJExJTkVOTyIgNQogZmkKLXsg
JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGli
X3lhamxfeWFqbF9hbGxvYyIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2xpYl95YWpsX3lhamxfYWxs
b2MiID4mNjsgfQotaWYgdGVzdCAieCRhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jIiA9IHgiInll
czsgdGhlbiA6Ci0gIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgSEFWRV9MSUJZ
QUpMIDEKLV9BQ0VPRgotCi0gIExJQlM9Ii1seWFqbCAkTElCUyIKIAotZWxzZQotICBhc19mbl9l
cnJvciAkPyAiQ291bGQgbm90IGZpbmQgeWFqbCIgIiRMSU5FTk8iIDUKLWZpCiAKLXsgJGFzX2Vj
aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGRlZmxhdGVDb3B5
IGluIC1seiIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgZGVmbGF0ZUNvcHkgaW4gLWx6
Li4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2xpYl96X2RlZmxhdGVDb3B5K3NldH0iID0g
c2V0OyB0aGVuIDoKK2FzX2FjX0xpYj1gJGFzX2VjaG8gImFjX2N2X2xpYl9weXRob24kYWNfcHl0
aG9uX3ZlcnNpb24nJ19QeUFyZ19QYXJzZVR1cGxlIiB8ICRhc190cl9zaGAKK3sgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIFB5QXJnX1BhcnNlVHVw
bGUgaW4gLWxweXRob24kYWNfcHl0aG9uX3ZlcnNpb24iID4mNQorJGFzX2VjaG9fbiAiY2hlY2tp
bmcgZm9yIFB5QXJnX1BhcnNlVHVwbGUgaW4gLWxweXRob24kYWNfcHl0aG9uX3ZlcnNpb24uLi4g
IiA+JjY7IH0KK2lmIGV2YWwgInRlc3QgXCJcJHskYXNfYWNfTGliK3NldH1cIiIgPSBzZXQ7IHRo
ZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQogICBhY19jaGVja19saWJf
c2F2ZV9MSUJTPSRMSUJTCi1MSUJTPSItbHogICRMSUJTIgorTElCUz0iLWxweXRob24kYWNfcHl0
aG9uX3ZlcnNpb24gICRMSUJTIgogY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAogLyogZW5kIGNvbmZkZWZzLmguICAqLwogCkBAIC03NjMyLDE4OTMgKzUzNzcsMTE3
MyBAQCBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAjaWZkZWYg
X19jcGx1c3BsdXMKIGV4dGVybiAiQyIKICNlbmRpZgotY2hhciBkZWZsYXRlQ29weSAoKTsKK2No
YXIgUHlBcmdfUGFyc2VUdXBsZSAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuIGRlZmxhdGVD
b3B5ICgpOworcmV0dXJuIFB5QXJnX1BhcnNlVHVwbGUgKCk7CiAgIDsKICAgcmV0dXJuIDA7CiB9
CiBfQUNFT0YKIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3Zf
bGliX3pfZGVmbGF0ZUNvcHk9eWVzCisgIGV2YWwgIiRhc19hY19MaWI9eWVzIgogZWxzZQotICBh
Y19jdl9saWJfel9kZWZsYXRlQ29weT1ubworICBldmFsICIkYXNfYWNfTGliPW5vIgogZmkKIHJt
IC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgIGNvbmZ0ZXN0
JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CiBMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJT
CiBmaQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRh
Y19jdl9saWJfel9kZWZsYXRlQ29weSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2xpYl96X2RlZmxh
dGVDb3B5IiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX3pfZGVmbGF0ZUNvcHkiID0geCIi
eWVzOyB0aGVuIDoKK2V2YWwgYWNfcmVzPVwkJGFzX2FjX0xpYgorCSAgICAgICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1CiskYXNf
ZWNobyAiJGFjX3JlcyIgPiY2OyB9CitpZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX0xpYiJcIiA9
IHgieWVzIjsgdGhlbiA6CiAgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgSEFW
RV9MSUJaIDEKKyNkZWZpbmUgYCRhc19lY2hvICJIQVZFX0xJQnB5dGhvbiRhY19weXRob25fdmVy
c2lvbiIgfCAkYXNfdHJfY3BwYCAxCiBfQUNFT0YKIAotICBMSUJTPSItbHogJExJQlMiCi0KLWVs
c2UKLSAgYXNfZm5fZXJyb3IgJD8gIkNvdWxkIG5vdCBmaW5kIHpsaWIiICIkTElORU5PIiA1Ci1m
aQotCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZv
ciBsaWJpY29udl9vcGVuIGluIC1saWNvbnYiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9y
IGxpYmljb252X29wZW4gaW4gLWxpY29udi4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9s
aWJfaWNvbnZfbGliaWNvbnZfb3BlbitzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICRhc19lY2hvX24g
IihjYWNoZWQpICIgPiY2Ci1lbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJ
QlM9Ii1saWNvbnYgICRMSUJTIgotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLworICBMSUJTPSItbHB5dGhvbiRhY19weXRo
b25fdmVyc2lvbiAkTElCUyIKIAotLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuCi0gICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt
ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCi0jaWZkZWYgX19jcGx1c3BsdXMK
LWV4dGVybiAiQyIKLSNlbmRpZgotY2hhciBsaWJpY29udl9vcGVuICgpOwotaW50Ci1tYWluICgp
Ci17Ci1yZXR1cm4gbGliaWNvbnZfb3BlbiAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VP
RgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfaWNv
bnZfbGliaWNvbnZfb3Blbj15ZXMKLWVsc2UKLSAgYWNfY3ZfbGliX2ljb252X2xpYmljb252X29w
ZW49bm8KLWZpCi1ybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwK
LSAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAotTElCUz0kYWNfY2hlY2tf
bGliX3NhdmVfTElCUwotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogcmVzdWx0OiAkYWNfY3ZfbGliX2ljb252X2xpYmljb252X29wZW4iID4mNQotJGFzX2VjaG8g
IiRhY19jdl9saWJfaWNvbnZfbGliaWNvbnZfb3BlbiIgPiY2OyB9Ci1pZiB0ZXN0ICJ4JGFjX2N2
X2xpYl9pY29udl9saWJpY29udl9vcGVuIiA9IHgiInllczsgdGhlbiA6Ci0gIGxpYmljb252PSJ5
IgogZWxzZQotICBsaWJpY29udj0ibiIKKyAgYXNfZm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5k
IGEgc3VpdGFibGUgcHl0aG9uIGRldmVsb3BtZW50IGxpYnJhcnkiICIkTElORU5PIiA1CiBmaQog
CitDUFBGTEFHUz0kYWNfcHJldmlvdXNfY3BwZmxhZ3MKK0xETEZBR1M9JGFjX3ByZXZpb3VzX2xk
ZmxhZ3MKIAogCi0jIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgotIyBUaGUgVWx0cml4IDQuMiBt
aXBzIGJ1aWx0aW4gYWxsb2NhIGRlY2xhcmVkIGJ5IGFsbG9jYS5oIG9ubHkgd29ya3MKLSMgZm9y
IGNvbnN0YW50IGFyZ3VtZW50cy4gIFVzZWxlc3MhCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oIiA+JjUKLSRhc19l
Y2hvX24gImNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oLi4uICIgPiY2OyB9Ci1pZiB0ZXN0
ICIke2FjX2N2X3dvcmtpbmdfYWxsb2NhX2grc2V0fSIgPSBzZXQ7IHRoZW4gOgorZmkKKyMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAieGdldHRleHQiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFt
IG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IHhnZXR0ZXh0OyBhY193b3JkPSQyCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRl
c3QgIiR7YWNfY3ZfcGF0aF9YR0VUVEVYVCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNv
bmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDxhbGxvY2Eu
aD4KLWludAotbWFpbiAoKQotewotY2hhciAqcCA9IChjaGFyICopIGFsbG9jYSAoMiAqIHNpemVv
ZiAoaW50KSk7Ci0JCQkgIGlmIChwKSByZXR1cm4gMDsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9B
Q0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl93b3Jr
aW5nX2FsbG9jYV9oPXllcwotZWxzZQotICBhY19jdl93b3JraW5nX2FsbG9jYV9oPW5vCisgIGNh
c2UgJFhHRVRURVhUIGluCisgIFtcXC9dKiB8ID86W1xcL10qKQorICBhY19jdl9wYXRoX1hHRVRU
RVhUPSIkWEdFVFRFWFQiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBw
YXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9S
Citmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXog
IiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVj
dXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRh
Y19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7
IH07IHRoZW4KKyAgICBhY19jdl9wYXRoX1hHRVRURVhUPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4
ZWNfZXh0IgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5k
ICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2Rv
bmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCisgIHRlc3QgLXogIiRhY19jdl9wYXRoX1hH
RVRURVhUIiAmJiBhY19jdl9wYXRoX1hHRVRURVhUPSJubyIKKyAgOzsKK2VzYWMKIGZpCi1ybSAt
ZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKLSAgICBjb25mdGVzdCRh
Y19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorWEdFVFRFWFQ9JGFjX2N2X3BhdGhfWEdFVFRFWFQK
K2lmIHRlc3QgLW4gIiRYR0VUVEVYVCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRYR0VUVEVYVCIgPiY1CiskYXNfZWNobyAiJFhHRVRU
RVhUIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQoteyAkYXNfZWNo
byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl93b3JraW5nX2Fs
bG9jYV9oIiA+JjUKLSRhc19lY2hvICIkYWNfY3Zfd29ya2luZ19hbGxvY2FfaCIgPiY2OyB9Ci1p
ZiB0ZXN0ICRhY19jdl93b3JraW5nX2FsbG9jYV9oID0geWVzOyB0aGVuCiAKLSRhc19lY2hvICIj
ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMSIgPj5jb25mZGVmcy5oCiAKK2lmIHRlc3QgeCIke1hHRVRU
RVhUfSIgPT0geCJubyIKK3RoZW4KKyAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQg
eGdldHRleHQsIHBsZWFzZSBpbnN0YWxsIHhnZXR0ZXh0IiAiJExJTkVOTyIgNQogZmkKLQoteyAk
YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYWxsb2Nh
IiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBhbGxvY2EuLi4gIiA+JjY7IH0KLWlmIHRl
c3QgIiR7YWNfY3ZfZnVuY19hbGxvY2Ffd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgorIyBFeHRy
YWN0IHRoZSBmaXJzdCB3b3JkIG9mICJhczg2Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1l
IHdpdGggYXJncy4KK3NldCBkdW1teSBhczg2OyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNf
ZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNf
Y3ZfcGF0aF9BUzg2K3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkg
IiA+JjYKIGVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4
dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotI2lmZGVmIF9fR05VQ19fCi0jIGRlZmluZSBhbGxv
Y2EgX19idWlsdGluX2FsbG9jYQotI2Vsc2UKLSMgaWZkZWYgX01TQ19WRVIKLSMgIGluY2x1ZGUg
PG1hbGxvYy5oPgotIyAgZGVmaW5lIGFsbG9jYSBfYWxsb2NhCi0jIGVsc2UKLSMgIGlmZGVmIEhB
VkVfQUxMT0NBX0gKLSMgICBpbmNsdWRlIDxhbGxvY2EuaD4KLSMgIGVsc2UKLSMgICBpZmRlZiBf
QUlYCi0gI3ByYWdtYSBhbGxvY2EKLSMgICBlbHNlCi0jICAgIGlmbmRlZiBhbGxvY2EgLyogcHJl
ZGVmaW5lZCBieSBIUCBjYyArT2xpYmNhbGxzICovCi1jaGFyICphbGxvY2EgKCk7Ci0jICAgIGVu
ZGlmCi0jICAgZW5kaWYKLSMgIGVuZGlmCi0jIGVuZGlmCi0jZW5kaWYKLQotaW50Ci1tYWluICgp
Ci17Ci1jaGFyICpwID0gKGNoYXIgKikgYWxsb2NhICgxKTsKLQkJCQkgICAgaWYgKHApIHJldHVy
biAwOwotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIk
TElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwotZWxzZQotICBh
Y19jdl9mdW5jX2FsbG9jYV93b3Jrcz1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNv
bmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNf
ZXh0Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRhY19jdl9mdW5jX2FsbG9jYV93b3JrcyIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2Z1bmNfYWxs
b2NhX3dvcmtzIiA+JjY7IH0KLQotaWYgdGVzdCAkYWNfY3ZfZnVuY19hbGxvY2Ffd29ya3MgPSB5
ZXM7IHRoZW4KLQotJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9BTExPQ0EgMSIgPj5jb25mZGVmcy5o
CisgIGNhc2UgJEFTODYgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfQVM4
Nj0iJEFTODYiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgor
ICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3Ig
YXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19k
aXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxl
X2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRo
ZW4KKyAgICBhY19jdl9wYXRoX0FTODY9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisg
ICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25l
CitJRlM9JGFzX3NhdmVfSUZTCiAKKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhfQVM4NiIgJiYgYWNf
Y3ZfcGF0aF9BUzg2PSJubyIKKyAgOzsKK2VzYWMKK2ZpCitBUzg2PSRhY19jdl9wYXRoX0FTODYK
K2lmIHRlc3QgLW4gIiRBUzg2IjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IHJlc3VsdDogJEFTODYiID4mNQorJGFzX2VjaG8gIiRBUzg2IiA+JjY7IH0K
IGVsc2UKLSAgIyBUaGUgU1ZSMyBsaWJQVyBhbmQgU1ZSNCBsaWJ1Y2IgYm90aCBjb250YWluIGlu
Y29tcGF0aWJsZSBmdW5jdGlvbnMKLSMgdGhhdCBjYXVzZSB0cm91YmxlLiAgU29tZSB2ZXJzaW9u
cyBkbyBub3QgZXZlbiBjb250YWluIGFsbG9jYSBvcgotIyBjb250YWluIGEgYnVnZ3kgdmVyc2lv
bi4gIElmIHlvdSBzdGlsbCB3YW50IHRvIHVzZSB0aGVpciBhbGxvY2EsCi0jIHVzZSBhciB0byBl
eHRyYWN0IGFsbG9jYS5vIGZyb20gdGhlbSBpbnN0ZWFkIG9mIGNvbXBpbGluZyBhbGxvY2EuYy4K
LQotQUxMT0NBPVwke0xJQk9CSkRJUn1hbGxvY2EuJGFjX29iamV4dAotCi0kYXNfZWNobyAiI2Rl
ZmluZSBDX0FMTE9DQSAxIiA+PmNvbmZkZWZzLmgKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9Citm
aQogCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
d2hldGhlciBcYGFsbG9jYS5jJyBuZWVkcyBDcmF5IGhvb2tzIiA+JjUKLSRhc19lY2hvX24gImNo
ZWNraW5nIHdoZXRoZXIgXGBhbGxvY2EuYycgbmVlZHMgQ3JheSBob29rcy4uLiAiID4mNjsgfQot
aWYgdGVzdCAiJHthY19jdl9vc19jcmF5K3NldH0iID0gc2V0OyB0aGVuIDoKK2lmIHRlc3QgeCIk
e0FTODZ9IiA9PSB4Im5vIgordGhlbgorICAgIGFzX2ZuX2Vycm9yICQ/ICJVbmFibGUgdG8gZmlu
ZCBhczg2LCBwbGVhc2UgaW5zdGFsbCBhczg2IiAiJExJTkVOTyIgNQorZmkKKyMgRXh0cmFjdCB0
aGUgZmlyc3Qgd29yZCBvZiAibGQ4NiIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRo
IGFyZ3MuCitzZXQgZHVtbXkgbGQ4NjsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9f
biAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Bh
dGhfTEQ4NitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2
CiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpZiBkZWZpbmVkIENSQVkgJiYgISBkZWZpbmVkIENSQVky
Ci13ZWJlY3JheQotI2Vsc2UKLXdlbm90YmVjcmF5Ci0jZW5kaWYKKyAgY2FzZSAkTEQ4NiBpbgor
ICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9MRDg2PSIkTEQ4NiIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3Nh
dmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2Rv
CisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAg
ICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAg
aWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3BhdGhf
TEQ4Nj0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNfZWNobyAiJGFzX21l
OiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0
IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMK
IAotX0FDRU9GCi1pZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8Ci0g
ICRFR1JFUCAid2ViZWNyYXkiID4vZGV2L251bGwgMj4mMTsgdGhlbiA6Ci0gIGFjX2N2X29zX2Ny
YXk9eWVzCi1lbHNlCi0gIGFjX2N2X29zX2NyYXk9bm8KKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhf
TEQ4NiIgJiYgYWNfY3ZfcGF0aF9MRDg2PSJubyIKKyAgOzsKK2VzYWMKIGZpCi1ybSAtZiBjb25m
dGVzdCoKLQorTEQ4Nj0kYWNfY3ZfcGF0aF9MRDg2CitpZiB0ZXN0IC1uICIkTEQ4NiI7IHRoZW4K
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRMRDg2
IiA+JjUKKyRhc19lY2hvICIkTEQ4NiIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4m
NjsgfQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiAkYWNfY3Zfb3NfY3JheSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X29zX2NyYXkiID4mNjsgfQot
aWYgdGVzdCAkYWNfY3Zfb3NfY3JheSA9IHllczsgdGhlbgotICBmb3IgYWNfZnVuYyBpbiBfZ2V0
YjY3IEdFVEI2NyBnZXRiNjc7IGRvCi0gICAgYXNfYWNfdmFyPWAkYXNfZWNobyAiYWNfY3ZfZnVu
Y18kYWNfZnVuYyIgfCAkYXNfdHJfc2hgCi1hY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICIk
YWNfZnVuYyIgIiRhc19hY192YXIiCi1pZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX3ZhciJcIiA9
IHgieWVzIjsgdGhlbiA6Ci0KLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgQ1JB
WV9TVEFDS1NFR19FTkQgJGFjX2Z1bmMKLV9BQ0VPRgogCi0gICAgYnJlYWsKLWZpCiAKLSAgZG9u
ZQoraWYgdGVzdCB4IiR7TEQ4Nn0iID09IHgibm8iCit0aGVuCisgICAgYXNfZm5fZXJyb3IgJD8g
IlVuYWJsZSB0byBmaW5kIGxkODYsIHBsZWFzZSBpbnN0YWxsIGxkODYiICIkTElORU5PIiA1CiBm
aQotCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHN0
YWNrIGRpcmVjdGlvbiBmb3IgQyBhbGxvY2EiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgc3Rh
Y2sgZGlyZWN0aW9uIGZvciBDIGFsbG9jYS4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9j
X3N0YWNrX2RpcmVjdGlvbitzZXR9IiA9IHNldDsgdGhlbiA6CisjIEV4dHJhY3QgdGhlIGZpcnN0
IHdvcmQgb2YgImJjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitz
ZXQgZHVtbXkgYmNjOyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2lu
ZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9CQ0Mrc2V0
fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBp
ZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Nfc3RhY2tf
ZGlyZWN0aW9uPTAKLWVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu
JGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotJGFjX2luY2x1ZGVzX2RlZmF1bHQKLWlu
dAotZmluZF9zdGFja19kaXJlY3Rpb24gKCkKLXsKLSAgc3RhdGljIGNoYXIgKmFkZHIgPSAwOwot
ICBhdXRvIGNoYXIgZHVtbXk7Ci0gIGlmIChhZGRyID09IDApCi0gICAgewotICAgICAgYWRkciA9
ICZkdW1teTsKLSAgICAgIHJldHVybiBmaW5kX3N0YWNrX2RpcmVjdGlvbiAoKTsKLSAgICB9Ci0g
IGVsc2UKLSAgICByZXR1cm4gKCZkdW1teSA+IGFkZHIpID8gMSA6IC0xOwotfQorICBjYXNlICRC
Q0MgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfQkNDPSIkQkNDIiAjIExl
dCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKyAgOzsKKyAgKikKKyAg
YXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFU
SAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9
LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBk
bworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190
ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3Zf
cGF0aF9CQ0M9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRh
c19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVj
X2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVf
SUZTCiAKLWludAotbWFpbiAoKQotewotICByZXR1cm4gZmluZF9zdGFja19kaXJlY3Rpb24gKCkg
PCAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKLSAg
YWNfY3ZfY19zdGFja19kaXJlY3Rpb249MQotZWxzZQotICBhY19jdl9jX3N0YWNrX2RpcmVjdGlv
bj0tMQotZmkKLXJtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5v
dXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5i
ZWFtIGNvbmZ0ZXN0LiRhY19leHQKKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhfQkNDIiAmJiBhY19j
dl9wYXRoX0JDQz0ibm8iCisgIDs7Citlc2FjCiBmaQotCitCQ0M9JGFjX2N2X3BhdGhfQkNDCitp
ZiB0ZXN0IC1uICIkQkNDIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t
JExJTkVOT306IHJlc3VsdDogJEJDQyIgPiY1CiskYXNfZWNobyAiJEJDQyIgPiY2OyB9CitlbHNl
CisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIg
PiY1CiskYXNfZWNobyAibm8iID4mNjsgfQogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfY19zdGFja19kaXJlY3Rpb24iID4mNQotJGFz
X2VjaG8gIiRhY19jdl9jX3N0YWNrX2RpcmVjdGlvbiIgPiY2OyB9Ci1jYXQgPj5jb25mZGVmcy5o
IDw8X0FDRU9GCi0jZGVmaW5lIFNUQUNLX0RJUkVDVElPTiAkYWNfY3ZfY19zdGFja19kaXJlY3Rp
b24KLV9BQ0VPRgogCiAKK2lmIHRlc3QgeCIke0JDQ30iID09IHgibm8iCit0aGVuCisgICAgYXNf
Zm5fZXJyb3IgJD8gIlVuYWJsZSB0byBmaW5kIGJjYywgcGxlYXNlIGluc3RhbGwgYmNjIiAiJExJ
TkVOTyIgNQogZmkKKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiaWFzbCIsIHNvIGl0IGNh
biBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgaWFzbDsgYWNfd29yZD0k
MgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Ig
JGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2
OyB9CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfSUFTTCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRh
c19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJElBU0wgaW4KKyAgW1xcL10q
IHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfSUFTTD0iJElBU0wiICMgTGV0IHRoZSB1c2VyIG92
ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0k
SUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9
JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFj
X2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVz
dCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rp
ci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wYXRoX0lBU0w9IiRh
c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Cisg
ICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCiAKLWZvciBh
Y19oZWFkZXIgaW4gIFwKLSAgICAgICAgICAgICAgICBhcnBhL2luZXQuaCBmY250bC5oIGludHR5
cGVzLmggbGliaW50bC5oIGxpbWl0cy5oIG1hbGxvYy5oIFwKLSAgICAgICAgICAgICAgICBuZXRk
Yi5oIG5ldGluZXQvaW4uaCBzdGRkZWYuaCBzdGRpbnQuaCBzdGRsaWIuaCBzdHJpbmcuaCBcCi0g
ICAgICAgICAgICAgICAgc3RyaW5ncy5oIHN5cy9maWxlLmggc3lzL2lvY3RsLmggc3lzL21vdW50
Lmggc3lzL3BhcmFtLmggXAotICAgICAgICAgICAgICAgIHN5cy9zb2NrZXQuaCBzeXMvc3RhdHZm
cy5oIHN5cy90aW1lLmggc3lzbG9nLmggdGVybWlvcy5oIFwKLSAgICAgICAgICAgICAgICB1bmlz
dGQuaCB5YWpsL3lhamxfdmVyc2lvbi5oIFwKKyAgdGVzdCAteiAiJGFjX2N2X3BhdGhfSUFTTCIg
JiYgYWNfY3ZfcGF0aF9JQVNMPSJubyIKKyAgOzsKK2VzYWMKK2ZpCitJQVNMPSRhY19jdl9wYXRo
X0lBU0wKK2lmIHRlc3QgLW4gIiRJQVNMIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJElBU0wiID4mNQorJGFzX2VjaG8gIiRJQVNMIiA+
JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQogCi1kbyA6Ci0gIGFzX2Fj
X0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAK
LWFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFz
X2FjX0hlYWRlciIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgZXZhbCB0ZXN0IFwieFwkIiRh
c19hY19IZWFkZXIiXCIgPSB4InllcyI7IHRoZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FD
RU9GCi0jZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNfaGVhZGVyIiB8ICRhc190cl9jcHBgIDEK
LV9BQ0VPRgogCitpZiB0ZXN0IHgiJHtJQVNMfSIgPT0geCJubyIKK3RoZW4KKyAgICBhc19mbl9l
cnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgaWFzbCwgcGxlYXNlIGluc3RhbGwgaWFzbCIgIiRMSU5F
Tk8iIDUKIGZpCiAKLWRvbmUKLQorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVO
TyIgInV1aWQvdXVpZC5oIiAiYWNfY3ZfaGVhZGVyX3V1aWRfdXVpZF9oIiAiJGFjX2luY2x1ZGVz
X2RlZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl91dWlkX3V1aWRfaCIgPSB4IiJ5ZXM7
IHRoZW4gOgogCi0jIENoZWNrcyBmb3IgdHlwZWRlZnMsIHN0cnVjdHVyZXMsIGFuZCBjb21waWxl
ciBjaGFyYWN0ZXJpc3RpY3MuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IGNoZWNraW5nIGZvciBzdGRib29sLmggdGhhdCBjb25mb3JtcyB0byBDOTkiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN0ZGJvb2wuaCB0aGF0IGNvbmZvcm1zIHRvIEM5OS4uLiAi
ID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3RkYm9vbF9oK3NldH0iID0gc2V0OyB0
aGVuIDoKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr
aW5nIGZvciB1dWlkX2NsZWFyIGluIC1sdXVpZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBm
b3IgdXVpZF9jbGVhciBpbiAtbHV1aWQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGli
X3V1aWRfdXVpZF9jbGVhcitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNo
ZWQpICIgPiY2CiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRh
Y19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWx1dWlkICAkTElC
UyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KIAotI2luY2x1ZGUgPHN0ZGJvb2wuaD4KLSNpZm5kZWYgYm9vbAotICJl
cnJvcjogYm9vbCBpcyBub3QgZGVmaW5lZCIKLSNlbmRpZgotI2lmbmRlZiBmYWxzZQotICJlcnJv
cjogZmFsc2UgaXMgbm90IGRlZmluZWQiCi0jZW5kaWYKLSNpZiBmYWxzZQotICJlcnJvcjogZmFs
c2UgaXMgbm90IDAiCi0jZW5kaWYKLSNpZm5kZWYgdHJ1ZQotICJlcnJvcjogdHJ1ZSBpcyBub3Qg
ZGVmaW5lZCIKLSNlbmRpZgotI2lmIHRydWUgIT0gMQotICJlcnJvcjogdHJ1ZSBpcyBub3QgMSIK
LSNlbmRpZgotI2lmbmRlZiBfX2Jvb2xfdHJ1ZV9mYWxzZV9hcmVfZGVmaW5lZAotICJlcnJvcjog
X19ib29sX3RydWVfZmFsc2VfYXJlX2RlZmluZWQgaXMgbm90IGRlZmluZWQiCisvKiBPdmVycmlk
ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAgIFVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQworICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgogI2VuZGlmCi0KLQlzdHJ1Y3Qg
cyB7IF9Cb29sIHM6IDE7IF9Cb29sIHQ7IH0gczsKLQotCWNoYXIgYVt0cnVlID09IDEgPyAxIDog
LTFdOwotCWNoYXIgYltmYWxzZSA9PSAwID8gMSA6IC0xXTsKLQljaGFyIGNbX19ib29sX3RydWVf
ZmFsc2VfYXJlX2RlZmluZWQgPT0gMSA/IDEgOiAtMV07Ci0JY2hhciBkWyhib29sKSAwLjUgPT0g
dHJ1ZSA/IDEgOiAtMV07Ci0JYm9vbCBlID0gJnM7Ci0JY2hhciBmWyhfQm9vbCkgMC4wID09IGZh
bHNlID8gMSA6IC0xXTsKLQljaGFyIGdbdHJ1ZV07Ci0JY2hhciBoW3NpemVvZiAoX0Jvb2wpXTsK
LQljaGFyIGlbc2l6ZW9mIHMudF07Ci0JZW51bSB7IGogPSBmYWxzZSwgayA9IHRydWUsIGwgPSBm
YWxzZSAqIHRydWUsIG0gPSB0cnVlICogMjU2IH07Ci0JLyogVGhlIGZvbGxvd2luZyBmYWlscyBm
b3IKLQkgICBIUCBhQysrL0FOU0kgQyBCMzkxMEIgQS4wNS41NSBbRGVjIDA0IDIwMDNdLiAqLwot
CV9Cb29sIG5bbV07Ci0JY2hhciBvW3NpemVvZiBuID09IG0gKiBzaXplb2YgblswXSA/IDEgOiAt
MV07Ci0JY2hhciBwWy0xIC0gKF9Cb29sKSAwIDwgMCAmJiAtMSAtIChib29sKSAwIDwgMCA/IDEg
OiAtMV07Ci0jCWlmIGRlZmluZWQgX194bGNfXyB8fCBkZWZpbmVkIF9fR05VQ19fCi0JIC8qIENh
dGNoIGEgYnVnIGluIElCTSBBSVggeGxjIGNvbXBpbGVyIHZlcnNpb24gNi4wLjAuMAotCSAgICBy
ZXBvcnRlZCBieSBKYW1lcyBMZW1sZXkgb24gMjAwNS0xMC0wNTsgc2VlCi0JICAgIGh0dHA6Ly9s
aXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctY29yZXV0aWxzLzIwMDUtMTAvbXNnMDAwODYu
aHRtbAotCSAgICBUaGlzIHRlc3QgaXMgbm90IHF1aXRlIHJpZ2h0LCBzaW5jZSB4bGMgaXMgYWxs
b3dlZCB0bwotCSAgICByZWplY3QgdGhpcyBwcm9ncmFtLCBhcyB0aGUgaW5pdGlhbGl6ZXIgZm9y
IHhsY2J1ZyBpcwotCSAgICBub3Qgb25lIG9mIHRoZSBmb3JtcyB0aGF0IEMgcmVxdWlyZXMgc3Vw
cG9ydCBmb3IuCi0JICAgIEhvd2V2ZXIsIGRvaW5nIHRoZSB0ZXN0IHJpZ2h0IHdvdWxkIHJlcXVp
cmUgYSBydW50aW1lCi0JICAgIHRlc3QsIGFuZCB0aGF0IHdvdWxkIG1ha2UgY3Jvc3MtY29tcGls
YXRpb24gaGFyZGVyLgotCSAgICBMZXQgdXMgaG9wZSB0aGF0IElCTSBmaXhlcyB0aGUgeGxjIGJ1
ZywgYW5kIGFsc28gYWRkcwotCSAgICBzdXBwb3J0IGZvciB0aGlzIGtpbmQgb2YgY29uc3RhbnQg
ZXhwcmVzc2lvbi4gIEluIHRoZQotCSAgICBtZWFudGltZSwgdGhpcyB0ZXN0IHdpbGwgcmVqZWN0
IHhsYywgd2hpY2ggaXMgT0ssIHNpbmNlCi0JICAgIG91ciBzdGRib29sLmggc3Vic3RpdHV0ZSBz
aG91bGQgc3VmZmljZS4gIFdlIGFsc28gdGVzdAotCSAgICB0aGlzIHdpdGggR0NDLCB3aGVyZSBp
dCBzaG91bGQgd29yaywgdG8gZGV0ZWN0IG1vcmUKLQkgICAgcXVpY2tseSB3aGV0aGVyIHNvbWVv
bmUgbWVzc2VzIHVwIHRoZSB0ZXN0IGluIHRoZQotCSAgICBmdXR1cmUuICAqLwotCSBjaGFyIGRp
Z3NbXSA9ICIwMTIzNDU2Nzg5IjsKLQkgaW50IHhsY2J1ZyA9IDEgLyAoJihkaWdzICsgNSlbLTIg
KyAoYm9vbCkgMV0gPT0gJmRpZ3NbNF0gPyAxIDogLTEpOwotIwllbmRpZgotCS8qIENhdGNoIGEg
YnVnIGluIGFuIEhQLVVYIEMgY29tcGlsZXIuICBTZWUKLQkgICBodHRwOi8vZ2NjLmdudS5vcmcv
bWwvZ2NjLXBhdGNoZXMvMjAwMy0xMi9tc2cwMjMwMy5odG1sCi0JICAgaHR0cDovL2xpc3RzLmdu
dS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1jb3JldXRpbHMvMjAwNS0xMS9tc2cwMDE2MS5odG1sCi0J
ICovCi0JX0Jvb2wgcSA9IHRydWU7Ci0JX0Jvb2wgKnBxID0gJnE7Ci0KK2NoYXIgdXVpZF9jbGVh
ciAoKTsKIGludAogbWFpbiAoKQogewotCi0JKnBxIHw9IHE7Ci0JKnBxIHw9ICEgcTsKLQkvKiBS
ZWZlciB0byBldmVyeSBkZWNsYXJlZCB2YWx1ZSwgdG8gYXZvaWQgY29tcGlsZXIgb3B0aW1pemF0
aW9ucy4gICovCi0JcmV0dXJuICghYSArICFiICsgIWMgKyAhZCArICFlICsgIWYgKyAhZyArICFo
ICsgIWkgKyAhIWogKyAhayArICEhbAotCQkrICFtICsgIW4gKyAhbyArICFwICsgIXEgKyAhcHEp
OwotCityZXR1cm4gdXVpZF9jbGVhciAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VPRgot
aWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9oZWFkZXJf
c3RkYm9vbF9oPXllcwotZWxzZQotICBhY19jdl9oZWFkZXJfc3RkYm9vbF9oPW5vCi1maQotcm0g
LWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0
Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRh
Y19jdl9oZWFkZXJfc3RkYm9vbF9oIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfaGVhZGVyX3N0ZGJv
b2xfaCIgPiY2OyB9Ci1hY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJfQm9vbCIgImFjX2N2
X3R5cGVfX0Jvb2wiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfdHlw
ZV9fQm9vbCIgPSB4IiJ5ZXM7IHRoZW4gOgotCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0j
ZGVmaW5lIEhBVkVfX0JPT0wgMQotX0FDRU9GCi0KLQotZmkKLQotaWYgdGVzdCAkYWNfY3ZfaGVh
ZGVyX3N0ZGJvb2xfaCA9IHllczsgdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NUREJP
T0xfSCAxIiA+PmNvbmZkZWZzLmgKLQotZmkKLQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgdWlkX3QgaW4gc3lzL3R5cGVzLmgiID4mNQotJGFz
X2VjaG9fbiAiY2hlY2tpbmcgZm9yIHVpZF90IGluIHN5cy90eXBlcy5oLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X3R5cGVfdWlkX3Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNo
b19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5j
b25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0jaW5jbHVkZSA8c3lzL3R5
cGVzLmg+Ci0KLV9BQ0VPRgotaWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+
JjUgfAotICAkRUdSRVAgInVpZF90IiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgotICBhY19jdl90
eXBlX3VpZF90PXllcwotZWxzZQotICBhY19jdl90eXBlX3VpZF90PW5vCi1maQotcm0gLWYgY29u
ZnRlc3QqCi0KLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogJGFjX2N2X3R5cGVfdWlkX3QiID4mNQotJGFzX2VjaG8gIiRhY19jdl90eXBlX3VpZF90
IiA+JjY7IH0KLWlmIHRlc3QgJGFjX2N2X3R5cGVfdWlkX3QgPSBubzsgdGhlbgotCi0kYXNfZWNo
byAiI2RlZmluZSB1aWRfdCBpbnQiID4+Y29uZmRlZnMuaAotCi0KLSRhc19lY2hvICIjZGVmaW5l
IGdpZF90IGludCIgPj5jb25mZGVmcy5oCi0KLWZpCi0KLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGlubGluZSIgPiY1Ci0kYXNfZWNob19uICJj
aGVja2luZyBmb3IgaW5saW5lLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2NfaW5saW5l
K3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UK
LSAgYWNfY3ZfY19pbmxpbmU9bm8KLWZvciBhY19rdyBpbiBpbmxpbmUgX19pbmxpbmVfXyBfX2lu
bGluZTsgZG8KLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAot
LyogZW5kIGNvbmZkZWZzLmguICAqLwotI2lmbmRlZiBfX2NwbHVzcGx1cwotdHlwZWRlZiBpbnQg
Zm9vX3Q7Ci1zdGF0aWMgJGFjX2t3IGZvb190IHN0YXRpY19mb28gKCkge3JldHVybiAwOyB9Ci0k
YWNfa3cgZm9vX3QgZm9vICgpIHtyZXR1cm4gMDsgfQotI2VuZGlmCi0KLV9BQ0VPRgotaWYgYWNf
Zm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9jX2lubGluZT0kYWNf
a3cKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX3V1
aWRfdXVpZF9jbGVhcj15ZXMKK2Vsc2UKKyAgYWNfY3ZfbGliX3V1aWRfdXVpZF9jbGVhcj1ubwog
ZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3Qu
JGFjX2V4dAotICB0ZXN0ICIkYWNfY3ZfY19pbmxpbmUiICE9IG5vICYmIGJyZWFrCi1kb25lCi0K
K3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0
ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9M
SUJTCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6
ICRhY19jdl9saWJfdXVpZF91dWlkX2NsZWFyIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX3V1
aWRfdXVpZF9jbGVhciIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2X2xpYl91dWlkX3V1aWRfY2xl
YXIiID0geCIieWVzOyB0aGVuIDoKKyAgbGlidXVpZD0ieSIKIGZpCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2NfaW5saW5lIiA+JjUKLSRh
c19lY2hvICIkYWNfY3ZfY19pbmxpbmUiID4mNjsgfQogCi1jYXNlICRhY19jdl9jX2lubGluZSBp
bgotICBpbmxpbmUgfCB5ZXMpIDs7Ci0gICopCi0gICAgY2FzZSAkYWNfY3ZfY19pbmxpbmUgaW4K
LSAgICAgIG5vKSBhY192YWw9OzsKLSAgICAgICopIGFjX3ZhbD0kYWNfY3ZfY19pbmxpbmU7Owot
ICAgIGVzYWMKLSAgICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jaWZuZGVmIF9fY3BsdXNw
bHVzCi0jZGVmaW5lIGlubGluZSAkYWNfdmFsCi0jZW5kaWYKLV9BQ0VPRgotICAgIDs7Ci1lc2Fj
CiAKLWFjX2ZuX2NfZmluZF9pbnRYX3QgIiRMSU5FTk8iICIxNiIgImFjX2N2X2NfaW50MTZfdCIK
LWNhc2UgJGFjX2N2X2NfaW50MTZfdCBpbiAjKAotICBub3x5ZXMpIDs7ICMoCi0gICopCitmaQog
Ci1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGludDE2X3QgJGFjX2N2X2NfaW50
MTZfdAotX0FDRU9GCi07OwotZXNhYwogCi1hY19mbl9jX2ZpbmRfaW50WF90ICIkTElORU5PIiAi
MzIiICJhY19jdl9jX2ludDMyX3QiCi1jYXNlICRhY19jdl9jX2ludDMyX3QgaW4gIygKLSAgbm98
eWVzKSA7OyAjKAotICAqKQorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIg
InV1aWQuaCIgImFjX2N2X2hlYWRlcl91dWlkX2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lm
IHRlc3QgIngkYWNfY3ZfaGVhZGVyX3V1aWRfaCIgPSB4IiJ5ZXM7IHRoZW4gOgorICBsaWJ1dWlk
PSJ5IgorZmkKIAotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBpbnQzMl90ICRh
Y19jdl9jX2ludDMyX3QKLV9BQ0VPRgotOzsKLWVzYWMKIAotYWNfZm5fY19maW5kX2ludFhfdCAi
JExJTkVOTyIgIjY0IiAiYWNfY3ZfY19pbnQ2NF90IgotY2FzZSAkYWNfY3ZfY19pbnQ2NF90IGlu
ICMoCi0gIG5vfHllcykgOzsgIygKLSAgKikKK2lmIHRlc3QgIiRsaWJ1dWlkIiAhPSAieSI7IHRo
ZW4gOgogCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGludDY0X3QgJGFjX2N2
X2NfaW50NjRfdAotX0FDRU9GCi07OwotZXNhYworICAgIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3Qg
ZmluZCBhIHZhbGlkIHV1aWQgbGlicmFyeSIgIiRMSU5FTk8iIDUKIAotYWNfZm5fY19maW5kX2lu
dFhfdCAiJExJTkVOTyIgIjgiICJhY19jdl9jX2ludDhfdCIKLWNhc2UgJGFjX2N2X2NfaW50OF90
IGluICMoCi0gIG5vfHllcykgOzsgIygKLSAgKikKK2ZpCiAKLWNhdCA+PmNvbmZkZWZzLmggPDxf
QUNFT0YKLSNkZWZpbmUgaW50OF90ICRhY19jdl9jX2ludDhfdAotX0FDRU9GCi07OwotZXNhYwog
Ci1hY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJtb2RlX3QiICJhY19jdl90eXBlX21vZGVf
dCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX21vZGVfdCIg
PSB4IiJ5ZXM7IHRoZW4gOgorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIg
ImN1cnNlcy5oIiAiYWNfY3ZfaGVhZGVyX2N1cnNlc19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQi
CitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9jdXJzZXNfaCIgPSB4IiJ5ZXM7IHRoZW4gOgogCisg
ICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Ig
Y2xlYXIgaW4gLWxjdXJzZXMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGNsZWFyIGlu
IC1sY3Vyc2VzLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2xpYl9jdXJzZXNfY2xlYXIr
c2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQor
ICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJTPSItbGN1cnNlcyAgJExJQlMiCitj
YXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRl
ZnMuaC4gICovCiAKLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgbW9kZV90IGlu
dAorLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuCisgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg
b2YgYSBHQ0MKKyAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs
ZCBzdGlsbCBhcHBseS4gICovCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKKyNlbmRp
ZgorY2hhciBjbGVhciAoKTsKK2ludAorbWFpbiAoKQoreworcmV0dXJuIGNsZWFyICgpOworICA7
CisgIHJldHVybiAwOworfQogX0FDRU9GCi0KK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8i
OyB0aGVuIDoKKyAgYWNfY3ZfbGliX2N1cnNlc19jbGVhcj15ZXMKK2Vsc2UKKyAgYWNfY3ZfbGli
X2N1cnNlc19jbGVhcj1ubwogZmkKLQotYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAib2Zm
X3QiICJhY19jdl90eXBlX29mZl90IiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4
JGFjX2N2X3R5cGVfb2ZmX3QiID0geCIieWVzOyB0aGVuIDoKLQorcm0gLWYgY29yZSBjb25mdGVz
dC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0
ZXN0LiRhY19leHQKK0xJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKK2ZpCit7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9jdXJzZXNf
Y2xlYXIiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfY3Vyc2VzX2NsZWFyIiA+JjY7IH0KK2lm
IHRlc3QgIngkYWNfY3ZfbGliX2N1cnNlc19jbGVhciIgPSB4IiJ5ZXM7IHRoZW4gOgorICBjdXJz
ZXM9InkiCiBlbHNlCi0KLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgb2ZmX3Qg
bG9uZyBpbnQKLV9BQ0VPRgotCisgIGN1cnNlcz0ibiIKIGZpCiAKLWFjX2ZuX2NfY2hlY2tfdHlw
ZSAiJExJTkVOTyIgInBpZF90IiAiYWNfY3ZfdHlwZV9waWRfdCIgIiRhY19pbmNsdWRlc19kZWZh
dWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX3BpZF90IiA9IHgiInllczsgdGhlbiA6CiAKIGVs
c2UKKyAgY3Vyc2VzPSJuIgorZmkKIAotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmlu
ZSBwaWRfdCBpbnQKLV9BQ0VPRgogCi1maQorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAi
JExJTkVOTyIgIm5jdXJzZXMuaCIgImFjX2N2X2hlYWRlcl9uY3Vyc2VzX2giICIkYWNfaW5jbHVk
ZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX25jdXJzZXNfaCIgPSB4IiJ5ZXM7
IHRoZW4gOgogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr
aW5nIGZvciBDL0MrKyByZXN0cmljdCBrZXl3b3JkIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5n
IGZvciBDL0MrKyByZXN0cmljdCBrZXl3b3JkLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2
X2NfcmVzdHJpY3Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAgIHsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGNsZWFyIGluIC1sbmN1cnNlcyIgPiY1
CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgY2xlYXIgaW4gLWxuY3Vyc2VzLi4uICIgPiY2OyB9
CitpZiB0ZXN0ICIke2FjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyK3NldH0iID0gc2V0OyB0aGVuIDoK
ICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgYWNfY3ZfY19yZXN0cmljdD1u
bwotICAgIyBUaGUgb3JkZXIgaGVyZSBjYXRlcnMgdG8gdGhlIGZhY3QgdGhhdCBDKysgZG9lcyBu
b3QgcmVxdWlyZSByZXN0cmljdC4KLSAgIGZvciBhY19rdyBpbiBfX3Jlc3RyaWN0IF9fcmVzdHJp
Y3RfXyBfUmVzdHJpY3QgcmVzdHJpY3Q7IGRvCi0gICAgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElC
Uz0iLWxuY3Vyc2VzICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0
LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLXR5cGVkZWYgaW50ICogaW50X3B0cjsK
LQlpbnQgZm9vIChpbnRfcHRyICRhY19rdyBpcCkgewotCXJldHVybiBpcFswXTsKLSAgICAgICB9
CisKKy8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy
cm9yLgorICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgR0NDCisgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291
bGQgc3RpbGwgYXBwbHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5k
aWYKK2NoYXIgY2xlYXIgKCk7CiBpbnQKIG1haW4gKCkKIHsKLWludCBzWzFdOwotCWludCAqICRh
Y19rdyB0ID0gczsKLQl0WzBdID0gMDsKLQlyZXR1cm4gZm9vKHQpCityZXR1cm4gY2xlYXIgKCk7
CiAgIDsKICAgcmV0dXJuIDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRM
SU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfY19yZXN0cmljdD0kYWNfa3cKK2lmIGFjX2ZuX2NfdHJ5
X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX25jdXJzZXNfY2xlYXI9eWVzCitl
bHNlCisgIGFjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyPW5vCiBmaQotcm0gLWYgY29yZSBjb25mdGVz
dC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0gICAgIHRlc3QgIiRh
Y19jdl9jX3Jlc3RyaWN0IiAhPSBubyAmJiBicmVhawotICAgZG9uZQotCitybSAtZiBjb3JlIGNv
bmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQg
Y29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkKLXsgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfY19yZXN0
cmljdCIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2NfcmVzdHJpY3QiID4mNjsgfQotCi0gY2FzZSAk
YWNfY3ZfY19yZXN0cmljdCBpbgotICAgcmVzdHJpY3QpIDs7Ci0gICBubykgJGFzX2VjaG8gIiNk
ZWZpbmUgcmVzdHJpY3QgLyoqLyIgPj5jb25mZGVmcy5oCi0gOzsKLSAgICopICBjYXQgPj5jb25m
ZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIHJlc3RyaWN0ICRhY19jdl9jX3Jlc3RyaWN0Ci1fQUNF
T0YKLSA7OwotIGVzYWMKLQotYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAic2l6ZV90IiAi
YWNfY3ZfdHlwZV9zaXplX3QiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNf
Y3ZfdHlwZV9zaXplX3QiID0geCIieWVzOyB0aGVuIDoKLQoreyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfbmN1cnNlc19jbGVhciIgPiY1
CiskYXNfZWNobyAiJGFjX2N2X2xpYl9uY3Vyc2VzX2NsZWFyIiA+JjY7IH0KK2lmIHRlc3QgIngk
YWNfY3ZfbGliX25jdXJzZXNfY2xlYXIiID0geCIieWVzOyB0aGVuIDoKKyAgbmN1cnNlcz0ieSIK
IGVsc2UKLQotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBzaXplX3QgdW5zaWdu
ZWQgaW50Ci1fQUNFT0YKLQorICBuY3Vyc2VzPSJuIgogZmkKIAotYWNfZm5fY19jaGVja190eXBl
ICIkTElORU5PIiAic3NpemVfdCIgImFjX2N2X3R5cGVfc3NpemVfdCIgIiRhY19pbmNsdWRlc19k
ZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX3NzaXplX3QiID0geCIieWVzOyB0aGVuIDoK
IAogZWxzZQotCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIHNzaXplX3QgaW50
Ci1fQUNFT0YKLQorICBuY3Vyc2VzPSJuIgogZmkKIAotYWNfZm5fY19jaGVja19tZW1iZXIgIiRM
SU5FTk8iICJzdHJ1Y3Qgc3RhdCIgInN0X2Jsa3NpemUiICJhY19jdl9tZW1iZXJfc3RydWN0X3N0
YXRfc3RfYmxrc2l6ZSIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl9t
ZW1iZXJfc3RydWN0X3N0YXRfc3RfYmxrc2l6ZSIgPSB4IiJ5ZXM7IHRoZW4gOgogCi1jYXQgPj5j
b25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAx
Ci1fQUNFT0YKK2lmIHRlc3QgIiRjdXJzZXMiID0gIm4iICYmIHRlc3QgIiRuY3Vyc2VzIiA9ICJu
IjsgdGhlbiA6CiAKKyAgICBhc19mbl9lcnJvciAkPyAiVW5hYmxlIHRvIGZpbmQgYSBzdWl0YWJs
ZSBjdXJzZXMgbGlicmFyeSIgIiRMSU5FTk8iIDUKIAogZmkKKyMgUHJlZmVyIG5jdXJzZXMgb3Zl
ciBjdXJzZXMgaWYgYm90aCBhcmUgcHJlc2VudAoraWYgdGVzdCAiJG5jdXJzZXMiID0gInkiOyB0
aGVuIDoKIAotYWNfZm5fY19jaGVja19tZW1iZXIgIiRMSU5FTk8iICJzdHJ1Y3Qgc3RhdCIgInN0
X2Jsb2NrcyIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9ibG9ja3MiICIkYWNfaW5jbHVk
ZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2Jsb2Nr
cyIgPSB4IiJ5ZXM7IHRoZW4gOgotCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5l
IEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKLV9BQ0VPRgorICAgIENVUlNFU19MSUJTPSIt
bG5jdXJzZXMiCiAKKyRhc19lY2hvICIjZGVmaW5lIElOQ0xVREVfQ1VSU0VTX0ggPG5jdXJzZXMu
aD4iID4+Y29uZmRlZnMuaAogCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NUX0JMT0NLUyAxIiA+
PmNvbmZkZWZzLmgKIAogZWxzZQotICBjYXNlICIgJExJQk9CSlMgIiBpbgotICAqIiBmaWxlYmxv
Y2tzLiRhY19vYmpleHQgIiogKSA7OwotICAqKSBMSUJPQkpTPSIkTElCT0JKUyBmaWxlYmxvY2tz
LiRhY19vYmpleHQiCi0gOzsKLWVzYWMKLQotZmkKLQogCi1hY19mbl9jX2NoZWNrX21lbWJlciAi
JExJTkVOTyIgInN0cnVjdCBzdGF0IiAic3RfcmRldiIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3Rh
dF9zdF9yZGV2IiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X21lbWJl
cl9zdHJ1Y3Rfc3RhdF9zdF9yZGV2IiA9IHgiInllczsgdGhlbiA6CisgICAgQ1VSU0VTX0xJQlM9
Ii1sY3Vyc2VzIgogCi1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfU1RS
VUNUX1NUQVRfU1RfUkRFViAxCi1fQUNFT0YKKyRhc19lY2hvICIjZGVmaW5lIElOQ0xVREVfQ1VS
U0VTX0ggPGN1cnNlcy5oPiIgPj5jb25mZGVmcy5oCiAKIAogZmkKIAotYWNfZm5fY19maW5kX3Vp
bnRYX3QgIiRMSU5FTk8iICIxNiIgImFjX2N2X2NfdWludDE2X3QiCi1jYXNlICRhY19jdl9jX3Vp
bnQxNl90IGluICMoCi0gIG5vfHllcykgOzsgIygKLSAgKikKIAogCi1jYXQgPj5jb25mZGVmcy5o
IDw8X0FDRU9GCi0jZGVmaW5lIHVpbnQxNl90ICRhY19jdl9jX3VpbnQxNl90Ci1fQUNFT0YKLTs7
Ci0gIGVzYWMKIAotYWNfZm5fY19maW5kX3VpbnRYX3QgIiRMSU5FTk8iICIzMiIgImFjX2N2X2Nf
dWludDMyX3QiCi1jYXNlICRhY19jdl9jX3VpbnQzMl90IGluICMoCi0gIG5vfHllcykgOzsgIygK
LSAgKikKIAotJGFzX2VjaG8gIiNkZWZpbmUgX1VJTlQzMl9UIDEiID4+Y29uZmRlZnMuaAogCiAK
LWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgdWludDMyX3QgJGFjX2N2X2NfdWlu
dDMyX3QKLV9BQ0VPRgotOzsKLSAgZXNhYwogCi1hY19mbl9jX2ZpbmRfdWludFhfdCAiJExJTkVO
TyIgIjY0IiAiYWNfY3ZfY191aW50NjRfdCIKLWNhc2UgJGFjX2N2X2NfdWludDY0X3QgaW4gIygK
LSAgbm98eWVzKSA7OyAjKAoraWYgdGVzdCAieCRhY19jdl9lbnZfUEtHX0NPTkZJR19zZXQiICE9
ICJ4c2V0IjsgdGhlbgorCWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBF
eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXBrZy1jb25maWciLCBz
byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9v
bF9wcmVmaXh9cGtnLWNvbmZpZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAi
Y2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3BhdGhf
UEtHX0NPTkZJRytzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIg
PiY2CitlbHNlCisgIGNhc2UgJFBLR19DT05GSUcgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisg
IGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJFBLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJy
aWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7OwogICAqKQorICBhc19zYXZlX0lGUz0kSUZT
OyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFz
X3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4
ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAt
ZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8k
YWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wYXRoX1BLR19DT05GSUc9
IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1
CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCiAKLSRh
c19lY2hvICIjZGVmaW5lIF9VSU5UNjRfVCAxIiA+PmNvbmZkZWZzLmgKLQorICA7OworZXNhYwor
ZmkKK1BLR19DT05GSUc9JGFjX2N2X3BhdGhfUEtHX0NPTkZJRworaWYgdGVzdCAtbiAiJFBLR19D
T05GSUciOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog
cmVzdWx0OiAkUEtHX0NPTkZJRyIgPiY1CiskYXNfZWNobyAiJFBLR19DT05GSUciID4mNjsgfQor
ZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
bm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCiAKLWNhdCA+PmNvbmZkZWZzLmggPDxf
QUNFT0YKLSNkZWZpbmUgdWludDY0X3QgJGFjX2N2X2NfdWludDY0X3QKLV9BQ0VPRgotOzsKLSAg
ZXNhYwogCi1hY19mbl9jX2ZpbmRfdWludFhfdCAiJExJTkVOTyIgIjgiICJhY19jdl9jX3VpbnQ4
X3QiCi1jYXNlICRhY19jdl9jX3VpbnQ4X3QgaW4gIygKLSAgbm98eWVzKSA7OyAjKAorZmkKK2lm
IHRlc3QgLXogIiRhY19jdl9wYXRoX1BLR19DT05GSUciOyB0aGVuCisgIGFjX3B0X1BLR19DT05G
SUc9JFBLR19DT05GSUcKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJwa2ctY29uZmln
Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBwa2ct
Y29uZmlnOyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Ig
JGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09O
RklHK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vs
c2UKKyAgY2FzZSAkYWNfcHRfUEtHX0NPTkZJRyBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAg
YWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHPSIkYWNfcHRfUEtHX0NPTkZJRyIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CiAgICopCisgIGFzX3Nh
dmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2Rv
CisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAg
ICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAg
aWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94
ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3BhdGhf
YWNfcHRfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3Jk
JGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0k
YXNfc2F2ZV9JRlMKIAotJGFzX2VjaG8gIiNkZWZpbmUgX1VJTlQ4X1QgMSIgPj5jb25mZGVmcy5o
Ci0KLQotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSB1aW50OF90ICRhY19jdl9j
X3VpbnQ4X3QKLV9BQ0VPRgotOzsKLSAgZXNhYwotCi1hY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5F
Tk8iICJwdHJkaWZmX3QiICJhY19jdl90eXBlX3B0cmRpZmZfdCIgIiRhY19pbmNsdWRlc19kZWZh
dWx0IgotaWYgdGVzdCAieCRhY19jdl90eXBlX3B0cmRpZmZfdCIgPSB4IiJ5ZXM7IHRoZW4gOgot
Ci1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfUFRSRElGRl9UIDEKLV9B
Q0VPRgotCi0KKyAgOzsKK2VzYWMKK2ZpCithY19wdF9QS0dfQ09ORklHPSRhY19jdl9wYXRoX2Fj
X3B0X1BLR19DT05GSUcKK2lmIHRlc3QgLW4gIiRhY19wdF9QS0dfQ09ORklHIjsgdGhlbgorICB7
ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3B0X1BL
R19DT05GSUciID4mNQorJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09ORklHIiA+JjY7IH0KK2Vsc2UK
KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+
JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiBmaQogCi0KLSMgQ2hlY2tzIGZvciBsaWJyYXJ5IGZ1
bmN0aW9ucy4KLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tp
bmcgZm9yIGVycm9yX2F0X2xpbmUiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGVycm9y
X2F0X2xpbmUuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfbGliX2Vycm9yX2F0X2xpbmUr
c2V0fSIgPSBzZXQ7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQot
ICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29u
ZmRlZnMuaC4gICovCi0jaW5jbHVkZSA8ZXJyb3IuaD4KLWludAotbWFpbiAoKQotewotZXJyb3Jf
YXRfbGluZSAoMCwgMCwgIiIsIDAsICJhbiBlcnJvciBvY2N1cnJlZCIpOwotICA7Ci0gIHJldHVy
biAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0g
IGFjX2N2X2xpYl9lcnJvcl9hdF9saW5lPXllcworICBpZiB0ZXN0ICJ4JGFjX3B0X1BLR19DT05G
SUciID0geDsgdGhlbgorICAgIFBLR19DT05GSUc9IiIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3Nz
X2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVm
aXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1
c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9Cith
Y190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBQS0dfQ09ORklHPSRhY19wdF9QS0dfQ09O
RklHCisgIGZpCiBlbHNlCi0gIGFjX2N2X2xpYl9lcnJvcl9hdF9saW5lPW5vCi1maQotcm0gLWYg
Y29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNf
ZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgUEtHX0NPTkZJRz0iJGFjX2N2X3BhdGhfUEtHX0NP
TkZJRyIKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N2X2xpYl9lcnJvcl9hdF9saW5lIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2Vy
cm9yX2F0X2xpbmUiID4mNjsgfQotaWYgdGVzdCAkYWNfY3ZfbGliX2Vycm9yX2F0X2xpbmUgPSBu
bzsgdGhlbgotICBjYXNlICIgJExJQk9CSlMgIiBpbgotICAqIiBlcnJvci4kYWNfb2JqZXh0ICIq
ICkgOzsKLSAgKikgTElCT0JKUz0iJExJQk9CSlMgZXJyb3IuJGFjX29iamV4dCIKLSA7OwotZXNh
YwogCiBmaQotCi1mb3IgYWNfaGVhZGVyIGluIHZmb3JrLmgKLWRvIDoKLSAgYWNfZm5fY19jaGVj
a19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIgInZmb3JrLmgiICJhY19jdl9oZWFkZXJfdmZvcmtf
aCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgotaWYgdGVzdCAieCRhY19jdl9oZWFkZXJfdmZvcmtf
aCIgPSB4IiJ5ZXM7IHRoZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5l
IEhBVkVfVkZPUktfSCAxCi1fQUNFT0YKLQoraWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVu
CisJX3BrZ19taW5fdmVyc2lvbj0wLjkuMAorCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtn
X21pbl92ZXJzaW9uIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHBrZy1jb25maWcgaXMgYXQg
bGVhc3QgdmVyc2lvbiAkX3BrZ19taW5fdmVyc2lvbi4uLiAiID4mNjsgfQorCWlmICRQS0dfQ09O
RklHIC0tYXRsZWFzdC1wa2djb25maWctdmVyc2lvbiAkX3BrZ19taW5fdmVyc2lvbjsgdGhlbgor
CQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+
JjUKKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorCWVsc2UKKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9
CisJCVBLR19DT05GSUc9IiIKKwlmaQogZmkKIAotZG9uZQotCi1mb3IgYWNfZnVuYyBpbiBmb3Jr
IHZmb3JrCi1kbyA6Ci0gIGFzX2FjX3Zhcj1gJGFzX2VjaG8gImFjX2N2X2Z1bmNfJGFjX2Z1bmMi
IHwgJGFzX3RyX3NoYAotYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAiJGFjX2Z1bmMiICIk
YXNfYWNfdmFyIgotaWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY192YXIiXCIgPSB4InllcyI7IHRo
ZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGAkYXNfZWNobyAiSEFW
RV8kYWNfZnVuYyIgfCAkYXNfdHJfY3BwYCAxCi1fQUNFT0YKLQotZmkKLWRvbmUKK3BrZ19mYWls
ZWQ9bm8KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg
Zm9yIGdsaWIiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGdsaWIuLi4gIiA+JjY7IH0K
IAotaWYgdGVzdCAieCRhY19jdl9mdW5jX2ZvcmsiID0geHllczsgdGhlbgotICB7ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB3b3JraW5nIGZvcmsi
ID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHdvcmtpbmcgZm9yay4uLiAiID4mNjsgfQot
aWYgdGVzdCAiJHthY19jdl9mdW5jX2Zvcmtfd29ya3Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAk
YXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGls
aW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfZm9ya193b3Jrcz1jcm9zcworaWYgdGVz
dCAtbiAiJGdsaWJfQ0ZMQUdTIjsgdGhlbgorICAgIHBrZ19jdl9nbGliX0NGTEFHUz0iJGdsaWJf
Q0ZMQUdTIgorIGVsaWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCisgICAgaWYgdGVzdCAt
biAiJFBLR19DT05GSUciICYmIFwKKyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu
by0kTElORU5PfTogXCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwiZ2xpYi0y
LjBcIiI7IH0gPiY1CisgICgkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ2xp
Yi0yLjAiKSAyPiY1CisgIGFjX3N0YXR1cz0kPworICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu
ZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0g
MDsgfTsgdGhlbgorICBwa2dfY3ZfZ2xpYl9DRkxBR1M9YCRQS0dfQ09ORklHIC0tY2ZsYWdzICJn
bGliLTIuMCIgMj4vZGV2L251bGxgCiBlbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0Yg
PmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSRhY19pbmNsdWRlc19k
ZWZhdWx0Ci1pbnQKLW1haW4gKCkKLXsKLQotCSAgLyogQnkgUnVlZGlnZXIgS3VobG1hbm4uICov
Ci0JICByZXR1cm4gZm9yayAoKSA8IDA7Ci0KLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VPRgot
aWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfZm9ya193
b3Jrcz15ZXMKKyAgcGtnX2ZhaWxlZD15ZXMKK2ZpCisgZWxzZQorICAgIHBrZ19mYWlsZWQ9dW50
cmllZAorZmkKK2lmIHRlc3QgLW4gIiRnbGliX0xJQlMiOyB0aGVuCisgICAgcGtnX2N2X2dsaWJf
TElCUz0iJGdsaWJfTElCUyIKKyBlbGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorICAg
IGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIiAmJiBcCisgICAgeyB7ICRhc19lY2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IFwkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9y
cyBcImdsaWItMi4wXCIiOyB9ID4mNQorICAoJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1l
cnJvcnMgImdsaWItMi4wIikgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19t
ZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFj
X3N0YXR1cyA9IDA7IH07IHRoZW4KKyAgcGtnX2N2X2dsaWJfTElCUz1gJFBLR19DT05GSUcgLS1s
aWJzICJnbGliLTIuMCIgMj4vZGV2L251bGxgCiBlbHNlCi0gIGFjX2N2X2Z1bmNfZm9ya193b3Jr
cz1ubworICBwa2dfZmFpbGVkPXllcwogZmkKLXJtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRl
c3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFj
X29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKKyBlbHNlCisgICAgcGtnX2Zh
aWxlZD11bnRyaWVkCiBmaQogCi1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6ICRhY19jdl9mdW5jX2Zvcmtfd29ya3MiID4mNQotJGFzX2VjaG8gIiRh
Y19jdl9mdW5jX2Zvcmtfd29ya3MiID4mNjsgfQogCisKK2lmIHRlc3QgJHBrZ19mYWlsZWQgPSB5
ZXM7IHRoZW4KKyAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl
c3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKworaWYgJFBLR19DT05GSUcgLS1h
dGxlYXN0LXBrZ2NvbmZpZy12ZXJzaW9uIDAuMjA7IHRoZW4KKyAgICAgICAgX3BrZ19zaG9ydF9l
cnJvcnNfc3VwcG9ydGVkPXllcwogZWxzZQotICBhY19jdl9mdW5jX2Zvcmtfd29ya3M9JGFjX2N2
X2Z1bmNfZm9yaworICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0ZWQ9bm8KIGZpCi1p
ZiB0ZXN0ICJ4JGFjX2N2X2Z1bmNfZm9ya193b3JrcyIgPSB4Y3Jvc3M7IHRoZW4KLSAgY2FzZSAk
aG9zdCBpbgotICAgICotKi1hbWlnYW9zKiB8ICotKi1tc2Rvc2RqZ3BwKikKLSAgICAgICMgT3Zl
cnJpZGUsIGFzIHRoZXNlIHN5c3RlbXMgaGF2ZSBvbmx5IGEgZHVtbXkgZm9yaygpIHN0dWIKLSAg
ICAgIGFjX2N2X2Z1bmNfZm9ya193b3Jrcz1ubwotICAgICAgOzsKLSAgICAqKQotICAgICAgYWNf
Y3ZfZnVuY19mb3JrX3dvcmtzPXllcwotICAgICAgOzsKLSAgZXNhYwotICB7ICRhc19lY2hvICIk
YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHJlc3VsdCAkYWNfY3ZfZnVuY19m
b3JrX3dvcmtzIGd1ZXNzZWQgYmVjYXVzZSBvZiBjcm9zcyBjb21waWxhdGlvbiIgPiY1Ci0kYXNf
ZWNobyAiJGFzX21lOiBXQVJOSU5HOiByZXN1bHQgJGFjX2N2X2Z1bmNfZm9ya193b3JrcyBndWVz
c2VkIGJlY2F1c2Ugb2YgY3Jvc3MgY29tcGlsYXRpb24iID4mMjt9Ci1maQotYWNfY3ZfZnVuY192
Zm9ya193b3Jrcz0kYWNfY3ZfZnVuY192Zm9yawotaWYgdGVzdCAieCRhY19jdl9mdW5jX3Zmb3Jr
IiA9IHh5ZXM7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyBmb3Igd29ya2luZyB2Zm9yayIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBm
b3Igd29ya2luZyB2Zm9yay4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9mdW5jX3Zmb3Jr
X3dvcmtzK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYK
LWVsc2UKLSAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgotICBhY19j
dl9mdW5jX3Zmb3JrX3dvcmtzPWNyb3NzCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLS8qIFRoYW5rcyB0
byBQYXVsIEVnZ2VydCBmb3IgdGhpcyB0ZXN0LiAgKi8KLSRhY19pbmNsdWRlc19kZWZhdWx0Ci0j
aW5jbHVkZSA8c3lzL3dhaXQuaD4KLSNpZmRlZiBIQVZFX1ZGT1JLX0gKLSMgaW5jbHVkZSA8dmZv
cmsuaD4KLSNlbmRpZgotLyogT24gc29tZSBzcGFyYyBzeXN0ZW1zLCBjaGFuZ2VzIGJ5IHRoZSBj
aGlsZCB0byBsb2NhbCBhbmQgaW5jb21pbmcKLSAgIGFyZ3VtZW50IHJlZ2lzdGVycyBhcmUgcHJv
cGFnYXRlZCBiYWNrIHRvIHRoZSBwYXJlbnQuICBUaGUgY29tcGlsZXIKLSAgIGlzIHRvbGQgYWJv
dXQgdGhpcyB3aXRoICNpbmNsdWRlIDx2Zm9yay5oPiwgYnV0IHNvbWUgY29tcGlsZXJzCi0gICAo
ZS5nLiBnY2MgLU8pIGRvbid0IGdyb2sgPHZmb3JrLmg+LiAgVGVzdCBmb3IgdGhpcyBieSB1c2lu
ZyBhCi0gICBzdGF0aWMgdmFyaWFibGUgd2hvc2UgYWRkcmVzcyBpcyBwdXQgaW50byBhIHJlZ2lz
dGVyIHRoYXQgaXMKLSAgIGNsb2JiZXJlZCBieSB0aGUgdmZvcmsuICAqLwotc3RhdGljIHZvaWQK
LSNpZmRlZiBfX2NwbHVzcGx1cwotc3BhcmNfYWRkcmVzc190ZXN0IChpbnQgYXJnKQotIyBlbHNl
Ci1zcGFyY19hZGRyZXNzX3Rlc3QgKGFyZykgaW50IGFyZzsKLSNlbmRpZgotewotICBzdGF0aWMg
cGlkX3QgY2hpbGQ7Ci0gIGlmICghY2hpbGQpIHsKLSAgICBjaGlsZCA9IHZmb3JrICgpOwotICAg
IGlmIChjaGlsZCA8IDApIHsKLSAgICAgIHBlcnJvciAoInZmb3JrIik7Ci0gICAgICBfZXhpdCgy
KTsKLSAgICB9Ci0gICAgaWYgKCFjaGlsZCkgewotICAgICAgYXJnID0gZ2V0cGlkKCk7Ci0gICAg
ICB3cml0ZSgtMSwgIiIsIDApOwotICAgICAgX2V4aXQgKGFyZyk7Ci0gICAgfQotICB9Ci19Cisg
ICAgICAgIGlmIHRlc3QgJF9wa2dfc2hvcnRfZXJyb3JzX3N1cHBvcnRlZCA9IHllczsgdGhlbgor
CSAgICAgICAgZ2xpYl9QS0dfRVJST1JTPWAkUEtHX0NPTkZJRyAtLXNob3J0LWVycm9ycyAtLXBy
aW50LWVycm9ycyAiZ2xpYi0yLjAiIDI+JjFgCisgICAgICAgIGVsc2UKKwkgICAgICAgIGdsaWJf
UEtHX0VSUk9SUz1gJFBLR19DT05GSUcgLS1wcmludC1lcnJvcnMgImdsaWItMi4wIiAyPiYxYAor
ICAgICAgICBmaQorCSMgUHV0IHRoZSBuYXN0eSBlcnJvciBtZXNzYWdlIGluIGNvbmZpZy5sb2cg
d2hlcmUgaXQgYmVsb25ncworCWVjaG8gIiRnbGliX1BLR19FUlJPUlMiID4mNQogCi1pbnQKLW1h
aW4gKCkKLXsKLSAgcGlkX3QgcGFyZW50ID0gZ2V0cGlkICgpOwotICBwaWRfdCBjaGlsZDsKLQot
ICBzcGFyY19hZGRyZXNzX3Rlc3QgKDApOwotCi0gIGNoaWxkID0gdmZvcmsgKCk7Ci0KLSAgaWYg
KGNoaWxkID09IDApIHsKLSAgICAvKiBIZXJlIGlzIGFub3RoZXIgdGVzdCBmb3Igc3BhcmMgdmZv
cmsgcmVnaXN0ZXIgcHJvYmxlbXMuICBUaGlzCi0gICAgICAgdGVzdCB1c2VzIGxvdHMgb2YgbG9j
YWwgdmFyaWFibGVzLCBhdCBsZWFzdCBhcyBtYW55IGxvY2FsCi0gICAgICAgdmFyaWFibGVzIGFz
IG1haW4gaGFzIGFsbG9jYXRlZCBzbyBmYXIgaW5jbHVkaW5nIGNvbXBpbGVyCi0gICAgICAgdGVt
cG9yYXJpZXMuICA0IGxvY2FscyBhcmUgZW5vdWdoIGZvciBnY2MgMS40MC4zIG9uIGEgU29sYXJp
cwotICAgICAgIDQuMS4zIHNwYXJjLCBidXQgd2UgdXNlIDggdG8gYmUgc2FmZS4gIEEgYnVnZ3kg
Y29tcGlsZXIgc2hvdWxkCi0gICAgICAgcmV1c2UgdGhlIHJlZ2lzdGVyIG9mIHBhcmVudCBmb3Ig
b25lIG9mIHRoZSBsb2NhbCB2YXJpYWJsZXMsCi0gICAgICAgc2luY2UgaXQgd2lsbCB0aGluayB0
aGF0IHBhcmVudCBjYW4ndCBwb3NzaWJseSBiZSB1c2VkIGFueSBtb3JlCi0gICAgICAgaW4gdGhp
cyByb3V0aW5lLiAgQXNzaWduaW5nIHRvIHRoZSBsb2NhbCB2YXJpYWJsZSB3aWxsIHRodXMKLSAg
ICAgICBtdW5nZSBwYXJlbnQgaW4gdGhlIHBhcmVudCBwcm9jZXNzLiAgKi8KLSAgICBwaWRfdAot
ICAgICAgcCA9IGdldHBpZCgpLCBwMSA9IGdldHBpZCgpLCBwMiA9IGdldHBpZCgpLCBwMyA9IGdl
dHBpZCgpLAotICAgICAgcDQgPSBnZXRwaWQoKSwgcDUgPSBnZXRwaWQoKSwgcDYgPSBnZXRwaWQo
KSwgcDcgPSBnZXRwaWQoKTsKLSAgICAvKiBDb252aW5jZSB0aGUgY29tcGlsZXIgdGhhdCBwLi5w
NyBhcmUgbGl2ZTsgb3RoZXJ3aXNlLCBpdCBtaWdodAotICAgICAgIHVzZSB0aGUgc2FtZSBoYXJk
d2FyZSByZWdpc3RlciBmb3IgYWxsIDggbG9jYWwgdmFyaWFibGVzLiAgKi8KLSAgICBpZiAocCAh
PSBwMSB8fCBwICE9IHAyIHx8IHAgIT0gcDMgfHwgcCAhPSBwNAotCXx8IHAgIT0gcDUgfHwgcCAh
PSBwNiB8fCBwICE9IHA3KQotICAgICAgX2V4aXQoMSk7Ci0KLSAgICAvKiBPbiBzb21lIHN5c3Rl
bXMgKGUuZy4gSVJJWCAzLjMpLCB2Zm9yayBkb2Vzbid0IHNlcGFyYXRlIHBhcmVudAotICAgICAg
IGZyb20gY2hpbGQgZmlsZSBkZXNjcmlwdG9ycy4gIElmIHRoZSBjaGlsZCBjbG9zZXMgYSBkZXNj
cmlwdG9yCi0gICAgICAgYmVmb3JlIGl0IGV4ZWNzIG9yIGV4aXRzLCB0aGlzIG11bmdlcyB0aGUg
cGFyZW50J3MgZGVzY3JpcHRvcgotICAgICAgIGFzIHdlbGwuICBUZXN0IGZvciB0aGlzIGJ5IGNs
b3Npbmcgc3Rkb3V0IGluIHRoZSBjaGlsZC4gICovCi0gICAgX2V4aXQoY2xvc2UoZmlsZW5vKHN0
ZG91dCkpICE9IDApOwotICB9IGVsc2UgewotICAgIGludCBzdGF0dXM7Ci0gICAgc3RydWN0IHN0
YXQgc3Q7CisJYXNfZm5fZXJyb3IgJD8gIlBhY2thZ2UgcmVxdWlyZW1lbnRzIChnbGliLTIuMCkg
d2VyZSBub3QgbWV0OgogCi0gICAgd2hpbGUgKHdhaXQoJnN0YXR1cykgIT0gY2hpbGQpCi0gICAg
ICA7Ci0gICAgcmV0dXJuICgKLQkgLyogV2FzIHRoZXJlIHNvbWUgcHJvYmxlbSB3aXRoIHZmb3Jr
aW5nPyAgKi8KLQkgY2hpbGQgPCAwCiskZ2xpYl9QS0dfRVJST1JTCiAKLQkgLyogRGlkIHRoZSBj
aGlsZCBmYWlsPyAgKFRoaXMgc2hvdWxkbid0IGhhcHBlbi4pICAqLwotCSB8fCBzdGF0dXMKK0Nv
bnNpZGVyIGFkanVzdGluZyB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxl
IGlmIHlvdQoraW5zdGFsbGVkIHNvZnR3YXJlIGluIGEgbm9uLXN0YW5kYXJkIHByZWZpeC4KIAot
CSAvKiBEaWQgdGhlIHZmb3JrL2NvbXBpbGVyIGJ1ZyBvY2N1cj8gICovCi0JIHx8IHBhcmVudCAh
PSBnZXRwaWQoKQorQWx0ZXJuYXRpdmVseSwgeW91IG1heSBzZXQgdGhlIGVudmlyb25tZW50IHZh
cmlhYmxlcyBnbGliX0NGTEFHUworYW5kIGdsaWJfTElCUyB0byBhdm9pZCB0aGUgbmVlZCB0byBj
YWxsIHBrZy1jb25maWcuCitTZWUgdGhlIHBrZy1jb25maWcgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0
YWlscy4iICIkTElORU5PIiA1CitlbGlmIHRlc3QgJHBrZ19mYWlsZWQgPSB1bnRyaWVkOyB0aGVu
CisgICAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
bm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKwl7IHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19lY2hvICIk
YXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICQ/ICJUaGUg
cGtnLWNvbmZpZyBzY3JpcHQgY291bGQgbm90IGJlIGZvdW5kIG9yIGlzIHRvbyBvbGQuICBNYWtl
IHN1cmUgaXQKK2lzIGluIHlvdXIgUEFUSCBvciBzZXQgdGhlIFBLR19DT05GSUcgZW52aXJvbm1l
bnQgdmFyaWFibGUgdG8gdGhlIGZ1bGwKK3BhdGggdG8gcGtnLWNvbmZpZy4KIAotCSAvKiBEaWQg
dGhlIGZpbGUgZGVzY3JpcHRvciBidWcgb2NjdXI/ICAqLwotCSB8fCBmc3RhdChmaWxlbm8oc3Rk
b3V0KSwgJnN0KSAhPSAwCi0JICk7Ci0gIH0KLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfcnVu
ICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfdmZvcmtfd29ya3M9eWVzCitBbHRlcm5h
dGl2ZWx5LCB5b3UgbWF5IHNldCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGdsaWJfQ0ZMQUdT
CithbmQgZ2xpYl9MSUJTIHRvIGF2b2lkIHRoZSBuZWVkIHRvIGNhbGwgcGtnLWNvbmZpZy4KK1Nl
ZSB0aGUgcGtnLWNvbmZpZyBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUbyBnZXQgcGtn
LWNvbmZpZywgc2VlIDxodHRwOi8vcGtnLWNvbmZpZy5mcmVlZGVza3RvcC5vcmcvPi4KK1NlZSBc
YGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1IDsgfQogZWxzZQotICBh
Y19jdl9mdW5jX3Zmb3JrX3dvcmtzPW5vCi1maQotcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25m
dGVzdC4qIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgXAotICBjb25mdGVzdC4k
YWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29uZnRlc3QuJGFjX2V4dAotZmkKKwlnbGliX0NGTEFH
Uz0kcGtnX2N2X2dsaWJfQ0ZMQUdTCisJZ2xpYl9MSUJTPSRwa2dfY3ZfZ2xpYl9MSUJTCisgICAg
ICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMi
ID4mNQorJGFzX2VjaG8gInllcyIgPiY2OyB9CiAKIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2Z1bmNfdmZvcmtfd29ya3MiID4mNQot
JGFzX2VjaG8gIiRhY19jdl9mdW5jX3Zmb3JrX3dvcmtzIiA+JjY7IH0KIAotZmk7Ci1pZiB0ZXN0
ICJ4JGFjX2N2X2Z1bmNfZm9ya193b3JrcyIgPSB4Y3Jvc3M7IHRoZW4KLSAgYWNfY3ZfZnVuY192
Zm9ya193b3Jrcz0kYWNfY3ZfZnVuY192Zm9yawotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s
aW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHJlc3VsdCAkYWNfY3ZfZnVuY192Zm9ya193b3JrcyBn
dWVzc2VkIGJlY2F1c2Ugb2YgY3Jvc3MgY29tcGlsYXRpb24iID4mNQotJGFzX2VjaG8gIiRhc19t
ZTogV0FSTklORzogcmVzdWx0ICRhY19jdl9mdW5jX3Zmb3JrX3dvcmtzIGd1ZXNzZWQgYmVjYXVz
ZSBvZiBjcm9zcyBjb21waWxhdGlvbiIgPiYyO30KKyMgQ2hlY2sgbGlicmFyeSBwYXRoCitpZiB0
ZXN0ICJcJHtleGVjX3ByZWZpeH0vbGliIiA9ICIkbGliZGlyIjsgdGhlbiA6CisgIGlmIHRlc3Qg
IiRleGVjX3ByZWZpeCIgPSAiTk9ORSIgJiYgdGVzdCAiJHByZWZpeCIgIT0gIk5PTkUiOyB0aGVu
IDoKKyAgZXhlY19wcmVmaXg9JHByZWZpeAogZmkKKyAgICBpZiB0ZXN0ICIkZXhlY19wcmVmaXgi
ID0gIk5PTkUiOyB0aGVuIDoKKyAgZXhlY19wcmVmaXg9JGFjX2RlZmF1bHRfcHJlZml4CitmaQor
ICAgIGlmIHRlc3QgLWQgIiR7ZXhlY19wcmVmaXh9L2xpYjY0IjsgdGhlbiA6CiAKLWlmIHRlc3Qg
IngkYWNfY3ZfZnVuY192Zm9ya193b3JrcyIgPSB4eWVzOyB0aGVuCi0KLSRhc19lY2hvICIjZGVm
aW5lIEhBVkVfV09SS0lOR19WRk9SSyAxIiA+PmNvbmZkZWZzLmgKKyAgICAgICAgTElCX1BBVEg9
ImxpYjY0IgogCiBlbHNlCiAKLSRhc19lY2hvICIjZGVmaW5lIHZmb3JrIGZvcmsiID4+Y29uZmRl
ZnMuaAorICAgICAgICBMSUJfUEFUSD0ibGliIgogCiBmaQotaWYgdGVzdCAieCRhY19jdl9mdW5j
X2Zvcmtfd29ya3MiID0geHllczsgdGhlbgogCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1dPUktJ
TkdfRk9SSyAxIiA+PmNvbmZkZWZzLmgKK2Vsc2UKIAotZmkKKyAgICBMSUJfUEFUSD0iJHtsaWJk
aXI6YGV4cHIgbGVuZ3RoICIkZXhlY19wcmVmaXgiICsgMWB9IgogCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBfTEFSR0VGSUxFX1NPVVJDRSB2
YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZv
ciBfTEFSR0VGSUxFX1NPVVJDRSB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzLi4uICIgPiY2
OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X3N5c19sYXJnZWZpbGVfc291cmNlK3NldH0iID0gc2V0OyB0
aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgd2hpbGUgOjsgZG8K
LSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNv
bmZkZWZzLmguICAqLwotI2luY2x1ZGUgPHN5cy90eXBlcy5oPiAvKiBmb3Igb2ZmX3QgKi8KLSAg
ICAgI2luY2x1ZGUgPHN0ZGlvLmg+Ci1pbnQKLW1haW4gKCkKLXsKLWludCAoKmZwKSAoRklMRSAq
LCBvZmZfdCwgaW50KSA9IGZzZWVrbzsKLSAgICAgcmV0dXJuIGZzZWVrbyAoc3RkaW4sIDAsIDAp
ICYmIGZwIChzdGRpbiwgMCwgMCk7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFj
X2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3Zfc3lzX2xhcmdlZmlsZV9z
b3VyY2U9bm87IGJyZWFrCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFj
X29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSAgY2F0
IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZz
LmguICAqLwotI2RlZmluZSBfTEFSR0VGSUxFX1NPVVJDRSAxCi0jaW5jbHVkZSA8c3lzL3R5cGVz
Lmg+IC8qIGZvciBvZmZfdCAqLwotICAgICAjaW5jbHVkZSA8c3RkaW8uaD4KLWludAotbWFpbiAo
KQotewotaW50ICgqZnApIChGSUxFICosIG9mZl90LCBpbnQpID0gZnNlZWtvOwotICAgICByZXR1
cm4gZnNlZWtvIChzdGRpbiwgMCwgMCkgJiYgZnAgKHN0ZGluLCAwLCAwKTsKLSAgOwotICByZXR1
cm4gMDsKLX0KLV9BQ0VPRgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgot
ICBhY19jdl9zeXNfbGFyZ2VmaWxlX3NvdXJjZT0xOyBicmVhawogZmkKLXJtIC1mIGNvcmUgY29u
ZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBj
b25mdGVzdC4kYWNfZXh0Ci0gIGFjX2N2X3N5c19sYXJnZWZpbGVfc291cmNlPXVua25vd24KLSAg
YnJlYWsKLWRvbmUKLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogJGFjX2N2X3N5c19sYXJnZWZpbGVfc291cmNlIiA+JjUKLSRhc19lY2hvICIkYWNf
Y3Zfc3lzX2xhcmdlZmlsZV9zb3VyY2UiID4mNjsgfQotY2FzZSAkYWNfY3Zfc3lzX2xhcmdlZmls
ZV9zb3VyY2UgaW4gIygKLSAgbm8gfCB1bmtub3duKSA7OwotICAqKQotY2F0ID4+Y29uZmRlZnMu
aCA8PF9BQ0VPRgotI2RlZmluZSBfTEFSR0VGSUxFX1NPVVJDRSAkYWNfY3Zfc3lzX2xhcmdlZmls
ZV9zb3VyY2UKLV9BQ0VPRgotOzsKLWVzYWMKLXJtIC1yZiBjb25mdGVzdCoKLQotIyBXZSB1c2Vk
IHRvIHRyeSBkZWZpbmluZyBfWE9QRU5fU09VUkNFPTUwMCB0b28sIHRvIHdvcmsgYXJvdW5kIGEg
YnVnCi0jIGluIGdsaWJjIDIuMS4zLCBidXQgdGhhdCBicmVha3MgdG9vIG1hbnkgb3RoZXIgdGhp
bmdzLgotIyBJZiB5b3Ugd2FudCBmc2Vla28gYW5kIGZ0ZWxsbyB3aXRoIGdsaWJjLCB1cGdyYWRl
IHRvIGEgZml4ZWQgZ2xpYmMuCi1pZiB0ZXN0ICRhY19jdl9zeXNfbGFyZ2VmaWxlX3NvdXJjZSAh
PSB1bmtub3duOyB0aGVuCiAKLSRhc19lY2hvICIjZGVmaW5lIEhBVkVfRlNFRUtPIDEiID4+Y29u
ZmRlZnMuaAogCi1maQorIyBDaGVja3MgZm9yIGxpYnJhcmllcy4KK2FjX2ZuX2NfY2hlY2tfaGVh
ZGVyX21vbmdyZWwgIiRMSU5FTk8iICJiemxpYi5oIiAiYWNfY3ZfaGVhZGVyX2J6bGliX2giICIk
YWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX2J6bGliX2giID0g
eCIieWVzOyB0aGVuIDoKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiBjaGVja2luZyB3aGV0aGVyIGxzdGF0IGNvcnJlY3RseSBoYW5kbGVzIHRyYWlsaW5nIHNsYXNo
IiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgbHN0YXQgY29ycmVjdGx5IGhhbmRs
ZXMgdHJhaWxpbmcgc2xhc2guLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfZnVuY19sc3Rh
dF9kZXJlZmVyZW5jZXNfc2xhc2hlZF9zeW1saW5rK3NldH0iID0gc2V0OyB0aGVuIDoKK3sgJGFz
X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIEJaMl9iekRl
Y29tcHJlc3NJbml0IGluIC1sYnoyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBCWjJf
YnpEZWNvbXByZXNzSW5pdCBpbiAtbGJ6Mi4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9s
aWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0K3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2Vj
aG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKLSAgcm0gLWYgY29uZnRlc3Quc3ltIGNvbmZ0ZXN0
LmZpbGUKLWVjaG8gPmNvbmZ0ZXN0LmZpbGUKLWlmIHRlc3QgIiRhc19sbl9zIiA9ICJsbiAtcyIg
JiYgbG4gLXMgY29uZnRlc3QuZmlsZSBjb25mdGVzdC5zeW07IHRoZW4KLSAgaWYgdGVzdCAiJGNy
b3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgotICBhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJl
bmNlc19zbGFzaGVkX3N5bWxpbms9bm8KLWVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VP
RiA+Y29uZnRlc3QuJGFjX2V4dAorICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJT
PSItbGJ6MiAgJExJQlMiCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNf
ZXh0CiAvKiBlbmQgY29uZmRlZnMuaC4gICovCi0kYWNfaW5jbHVkZXNfZGVmYXVsdAorCisvKiBP
dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAg
IFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdD
QworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs
IGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgorI2VuZGlmCitjaGFy
IEJaMl9iekRlY29tcHJlc3NJbml0ICgpOwogaW50CiBtYWluICgpCiB7Ci1zdHJ1Y3Qgc3RhdCBz
YnVmOwotICAgICAvKiBMaW51eCB3aWxsIGRlcmVmZXJlbmNlIHRoZSBzeW1saW5rIGFuZCBmYWls
LCBhcyByZXF1aXJlZCBieSBQT1NJWC4KLQlUaGF0IGlzIGJldHRlciBpbiB0aGUgc2Vuc2UgdGhh
dCBpdCBtZWFucyB3ZSB3aWxsIG5vdAotCWhhdmUgdG8gY29tcGlsZSBhbmQgdXNlIHRoZSBsc3Rh
dCB3cmFwcGVyLiAgKi8KLSAgICAgcmV0dXJuIGxzdGF0ICgiY29uZnRlc3Quc3ltLyIsICZzYnVm
KSA9PSAwOworcmV0dXJuIEJaMl9iekRlY29tcHJlc3NJbml0ICgpOwogICA7CiAgIHJldHVybiAw
OwogfQogX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNf
Y3ZfZnVuY19sc3RhdF9kZXJlZmVyZW5jZXNfc2xhc2hlZF9zeW1saW5rPXllcwotZWxzZQotICBh
Y19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbms9bm8KLWZpCi1ybSAt
ZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFj
X2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25mdGVzdC4k
YWNfZXh0Ci1maQotCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGFj
X2N2X2xpYl9iejJfQloyX2J6RGVjb21wcmVzc0luaXQ9eWVzCiBlbHNlCi0gICMgSWYgdGhlIGBs
biAtcycgY29tbWFuZCBmYWlsZWQsIHRoZW4gd2UgcHJvYmFibHkgZG9uJ3QgZXZlbgotICAjIGhh
dmUgYW4gbHN0YXQgZnVuY3Rpb24uCi0gIGFjX2N2X2Z1bmNfbHN0YXRfZGVyZWZlcmVuY2VzX3Ns
YXNoZWRfc3ltbGluaz1ubworICBhY19jdl9saWJfYnoyX0JaMl9iekRlY29tcHJlc3NJbml0PW5v
CiBmaQotcm0gLWYgY29uZnRlc3Quc3ltIGNvbmZ0ZXN0LmZpbGUKLQorcm0gLWYgY29yZSBjb25m
dGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNv
bmZ0ZXN0LiRhY19leHQKK0xJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKK2ZpCit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9iejJf
QloyX2J6RGVjb21wcmVzc0luaXQiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfYnoyX0JaMl9i
ekRlY29tcHJlc3NJbml0IiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGliX2J6Ml9CWjJfYnpE
ZWNvbXByZXNzSW5pdCIgPSB4IiJ5ZXM7IHRoZW4gOgorICB6bGliPSIkemxpYiAtREhBVkVfQlpM
SUIgLWxiejIiCiBmaQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy
ZXN1bHQ6ICRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbmsiID4m
NQotJGFzX2VjaG8gIiRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxp
bmsiID4mNjsgfQotCi10ZXN0ICRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVk
X3N5bWxpbmsgPSB5ZXMgJiYKIAotY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgotI2RlZmluZSBM
U1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCi1fQUNFT0YKIAorZmkKIAotaWYgdGVzdCAi
eCRhY19jdl9mdW5jX2xzdGF0X2RlcmVmZXJlbmNlc19zbGFzaGVkX3N5bWxpbmsiID0geG5vOyB0
aGVuCi0gIGNhc2UgIiAkTElCT0JKUyAiIGluCi0gICoiIGxzdGF0LiRhY19vYmpleHQgIiogKSA7
OwotICAqKSBMSUJPQkpTPSIkTElCT0JKUyBsc3RhdC4kYWNfb2JqZXh0IgotIDs7Ci1lc2FjCiAK
LWZpCithY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAibHptYS5oIiAiYWNf
Y3ZfaGVhZGVyX2x6bWFfaCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgoraWYgdGVzdCAieCRhY19j
dl9oZWFkZXJfbHptYV9oIiA9IHgiInllczsgdGhlbiA6CiAKLXsgJGFzX2VjaG8gIiRhc19tZTok
e2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciBzeXMvdHlwZXMuaCBkZWZpbmVz
IG1ha2VkZXYiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciBzeXMvdHlwZXMuaCBk
ZWZpbmVzIG1ha2VkZXYuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c190
eXBlc19oX21ha2VkZXYrc2V0fSIgPSBzZXQ7IHRoZW4gOgoreyAkYXNfZWNobyAiJGFzX21lOiR7
YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbHptYV9zdHJlYW1fZGVjb2RlciBpbiAt
bGx6bWEiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGx6bWFfc3RyZWFtX2RlY29kZXIg
aW4gLWxsem1hLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2xpYl9sem1hX2x6bWFfc3Ry
ZWFtX2RlY29kZXIrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAi
ID4mNgogZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0
CisgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0xJQlM9Ii1sbHptYSAgJExJQlMiCitj
YXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAvKiBlbmQgY29uZmRl
ZnMuaC4gICovCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKy8qIE92ZXJyaWRlIGFueSBHQ0Mg
aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVjYXVz
ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGluIGFu
ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworI2lm
ZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgbHptYV9zdHJlYW1fZGVj
b2RlciAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuIG1ha2VkZXYoMCwgMCk7CityZXR1cm4g
bHptYV9zdHJlYW1fZGVjb2RlciAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VPRgogaWYg
YWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9oZWFkZXJfc3lzX3R5
cGVzX2hfbWFrZWRldj15ZXMKKyAgYWNfY3ZfbGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2Rlcj15
ZXMKIGVsc2UKLSAgYWNfY3ZfaGVhZGVyX3N5c190eXBlc19oX21ha2VkZXY9bm8KKyAgYWNfY3Zf
bGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2Rlcj1ubwogZmkKIHJtIC1mIGNvcmUgY29uZnRlc3Qu
ZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVz
dC4kYWNfZXh0Ci0KLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaF9tYWtlZGV2IiA+JjUKLSRhc19lY2hv
ICIkYWNfY3ZfaGVhZGVyX3N5c190eXBlc19oX21ha2VkZXYiID4mNjsgfQotCi1pZiB0ZXN0ICRh
Y19jdl9oZWFkZXJfc3lzX3R5cGVzX2hfbWFrZWRldiA9IG5vOyB0aGVuCi1hY19mbl9jX2NoZWNr
X2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAic3lzL21rZGV2LmgiICJhY19jdl9oZWFkZXJfc3lz
X21rZGV2X2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKLWlmIHRlc3QgIngkYWNfY3ZfaGVhZGVy
X3N5c19ta2Rldl9oIiA9IHgiInllczsgdGhlbiA6Ci0KLSRhc19lY2hvICIjZGVmaW5lIE1BSk9S
X0lOX01LREVWIDEiID4+Y29uZmRlZnMuaAotCitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJT
CiBmaQotCi0KLQotICBpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3lzX21rZGV2X2ggPSBubzsgdGhl
bgotICAgIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJzeXMvc3lzbWFj
cm9zLmgiICJhY19jdl9oZWFkZXJfc3lzX3N5c21hY3Jvc19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1
bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zeXNfc3lzbWFjcm9zX2giID0geCIieWVzOyB0
aGVuIDoKLQotJGFzX2VjaG8gIiNkZWZpbmUgTUFKT1JfSU5fU1lTTUFDUk9TIDEiID4+Y29uZmRl
ZnMuaAotCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JGFjX2N2X2xpYl9sem1hX2x6bWFfc3RyZWFtX2RlY29kZXIiID4mNQorJGFzX2VjaG8gIiRhY19j
dl9saWJfbHptYV9sem1hX3N0cmVhbV9kZWNvZGVyIiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3Zf
bGliX2x6bWFfbHptYV9zdHJlYW1fZGVjb2RlciIgPSB4IiJ5ZXM7IHRoZW4gOgorICB6bGliPSIk
emxpYiAtREhBVkVfTFpNQSAtbGx6bWEiCiBmaQogCiAKLSAgZmkKIGZpCiAKLWZvciBhY19oZWFk
ZXIgaW4gc3RkbGliLmgKLWRvIDoKLSAgYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJ
TkVOTyIgInN0ZGxpYi5oIiAiYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oIiAiJGFjX2luY2x1ZGVzX2Rl
ZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zdGRsaWJfaCIgPSB4IiJ5ZXM7IHRoZW4g
OgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfU1RETElCX0ggMQot
X0FDRU9GCi0KLWZpCiAKLWRvbmUKK2FjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5F
Tk8iICJsem8vbHpvMXguaCIgImFjX2N2X2hlYWRlcl9sem9fbHpvMXhfaCIgIiRhY19pbmNsdWRl
c19kZWZhdWx0IgoraWYgdGVzdCAieCRhY19jdl9oZWFkZXJfbHpvX2x6bzF4X2giID0geCIieWVz
OyB0aGVuIDoKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVj
a2luZyBmb3IgR05VIGxpYmMgY29tcGF0aWJsZSBtYWxsb2MiID4mNQotJGFzX2VjaG9fbiAiY2hl
Y2tpbmcgZm9yIEdOVSBsaWJjIGNvbXBhdGlibGUgbWFsbG9jLi4uICIgPiY2OyB9Ci1pZiB0ZXN0
ICIke2FjX2N2X2Z1bmNfbWFsbG9jXzBfbm9ubnVsbCtzZXR9IiA9IHNldDsgdGhlbiA6Cit7ICRh
c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBsem8xeF9k
ZWNvbXByZXNzIGluIC1sbHpvMiIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgbHpvMXhf
ZGVjb21wcmVzcyBpbiAtbGx6bzIuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2x6
bzJfbHpvMXhfZGVjb21wcmVzcytzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihj
YWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0
aGVuIDoKLSAgYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25udWxsPW5vCi1lbHNlCi0gIGNhdCBjb25m
ZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVf
TElCUz0kTElCUworTElCUz0iLWxsem8yICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNF
T0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpZiBkZWZpbmVk
IFNURENfSEVBREVSUyB8fCBkZWZpbmVkIEhBVkVfU1RETElCX0gKLSMgaW5jbHVkZSA8c3RkbGli
Lmg+Ci0jZWxzZQotY2hhciAqbWFsbG9jICgpOwotI2VuZGlmCiAKKy8qIE92ZXJyaWRlIGFueSBH
Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwor
I2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgbHpvMXhfZGVjb21w
cmVzcyAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuICEgbWFsbG9jICgwKTsKK3JldHVybiBs
em8xeF9kZWNvbXByZXNzICgpOwogICA7CiAgIHJldHVybiAwOwogfQogX0FDRU9GCi1pZiBhY19m
bl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25u
dWxsPXllcworaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9s
aWJfbHpvMl9sem8xeF9kZWNvbXByZXNzPXllcwogZWxzZQotICBhY19jdl9mdW5jX21hbGxvY18w
X25vbm51bGw9bm8KKyAgYWNfY3ZfbGliX2x6bzJfbHpvMXhfZGVjb21wcmVzcz1ubwogZmkKLXJt
IC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3Qk
YWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0
LiRhY19leHQKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAor
ICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19s
aWJfc2F2ZV9MSUJTCiBmaQotCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO
T306IHJlc3VsdDogJGFjX2N2X2xpYl9sem8yX2x6bzF4X2RlY29tcHJlc3MiID4mNQorJGFzX2Vj
aG8gIiRhY19jdl9saWJfbHpvMl9sem8xeF9kZWNvbXByZXNzIiA+JjY7IH0KK2lmIHRlc3QgIngk
YWNfY3ZfbGliX2x6bzJfbHpvMXhfZGVjb21wcmVzcyIgPSB4IiJ5ZXM7IHRoZW4gOgorICB6bGli
PSIkemxpYiAtREhBVkVfTFpPMVggLWxsem8yIgogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25udWxsIiA+
JjUKLSRhc19lY2hvICIkYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25udWxsIiA+JjY7IH0KLWlmIHRl
c3QgJGFjX2N2X2Z1bmNfbWFsbG9jXzBfbm9ubnVsbCA9IHllczsgdGhlbiA6Ci0KLSRhc19lY2hv
ICIjZGVmaW5lIEhBVkVfTUFMTE9DIDEiID4+Y29uZmRlZnMuaAotCi1lbHNlCi0gICRhc19lY2hv
ICIjZGVmaW5lIEhBVkVfTUFMTE9DIDAiID4+Y29uZmRlZnMuaAotCi0gICBjYXNlICIgJExJQk9C
SlMgIiBpbgotICAqIiBtYWxsb2MuJGFjX29iamV4dCAiKiApIDs7Ci0gICopIExJQk9CSlM9IiRM
SUJPQkpTIG1hbGxvYy4kYWNfb2JqZXh0IgotIDs7Ci1lc2FjCi0KIAotJGFzX2VjaG8gIiNkZWZp
bmUgbWFsbG9jIHJwbF9tYWxsb2MiID4+Y29uZmRlZnMuaAogCiBmaQogCiAKLXsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB0aW1lLmggYW5k
IHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tp
bmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQuLi4g
IiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3RpbWUrc2V0fSIgPSBzZXQ7IHRoZW4g
OgorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZv
ciBpb19zZXR1cCBpbiAtbGFpbyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgaW9fc2V0
dXAgaW4gLWxhaW8uLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2Fpb19pb19zZXR1
cCtzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNl
Ci0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hl
Y2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWxhaW8gICRMSUJTIgorY2F0IGNvbmZkZWZz
LmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAogLyogZW5kIGNvbmZkZWZzLmguICAqLwot
I2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0jaW5jbHVkZSA8
dGltZS5oPgogCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p
ZCBhbiBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90
eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJD
IgorI2VuZGlmCitjaGFyIGlvX3NldHVwICgpOwogaW50CiBtYWluICgpCiB7Ci1pZiAoKHN0cnVj
dCB0bSAqKSAwKQotcmV0dXJuIDA7CityZXR1cm4gaW9fc2V0dXAgKCk7CiAgIDsKICAgcmV0dXJu
IDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoK
LSAgYWNfY3ZfaGVhZGVyX3RpbWU9eWVzCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsg
dGhlbiA6CisgIGFjX2N2X2xpYl9haW9faW9fc2V0dXA9eWVzCiBlbHNlCi0gIGFjX2N2X2hlYWRl
cl90aW1lPW5vCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4
dCBjb25mdGVzdC4kYWNfZXh0Ci1maQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfdGltZSIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2
X2hlYWRlcl90aW1lIiA+JjY7IH0KLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl90aW1lID0geWVzOyB0
aGVuCi0KLSRhc19lY2hvICIjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxIiA+PmNvbmZkZWZz
LmgKLQorICBhY19jdl9saWJfYWlvX2lvX3NldHVwPW5vCiBmaQotCi0KLQotCi0gIGZvciBhY19o
ZWFkZXIgaW4gJGFjX2hlYWRlcl9saXN0Ci1kbyA6Ci0gIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8g
ImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKLWFjX2ZuX2NfY2hlY2tfaGVh
ZGVyX2NvbXBpbGUgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiRhY19p
bmNsdWRlc19kZWZhdWx0Ci0iCi1pZiBldmFsIHRlc3QgXCJ4XCQiJGFzX2FjX0hlYWRlciJcIiA9
IHgieWVzIjsgdGhlbiA6Ci0gIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgYCRh
c19lY2hvICJIQVZFXyRhY19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQotX0FDRU9GCi0KK3JtIC1m
IGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFj
X2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCiBm
aQotCi1kb25lCi0KLQotCi0KLQotCi0KLQotICBmb3IgYWNfZnVuYyBpbiAkYWNfZnVuY19saXN0
Ci1kbyA6Ci0gIGFzX2FjX3Zhcj1gJGFzX2VjaG8gImFjX2N2X2Z1bmNfJGFjX2Z1bmMiIHwgJGFz
X3RyX3NoYAotYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAiJGFjX2Z1bmMiICIkYXNfYWNf
dmFyIgotaWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY192YXIiXCIgPSB4InllcyI7IHRoZW4gOgot
ICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNf
ZnVuYyIgfCAkYXNfdHJfY3BwYCAxCi1fQUNFT0YKLQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfYWlvX2lvX3NldHVwIiA+JjUKKyRh
c19lY2hvICIkYWNfY3ZfbGliX2Fpb19pb19zZXR1cCIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2
X2xpYl9haW9faW9fc2V0dXAiID0geCIieWVzOyB0aGVuIDoKKyAgc3lzdGVtX2Fpbz0ieSIKK2Vs
c2UKKyAgc3lzdGVtX2Fpbz0ibiIKIGZpCi1kb25lCi0KIAogCi0KLQoteyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igd29ya2luZyBta3RpbWUiID4m
NQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHdvcmtpbmcgbWt0aW1lLi4uICIgPiY2OyB9Ci1p
ZiB0ZXN0ICIke2FjX2N2X2Z1bmNfd29ya2luZ19ta3RpbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgor
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgTUQ1
IGluIC1sY3J5cHRvIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBNRDUgaW4gLWxjcnlw
dG8uLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2NyeXB0b19NRDUrc2V0fSIgPSBz
ZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0ZXN0
ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfd29ya2luZ19t
a3RpbWU9bm8KLWVsc2UKLSAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFj
X2V4dAorICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJTPSItbGNyeXB0byAgJExJ
QlMiCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAvKiBlbmQg
Y29uZmRlZnMuaC4gICovCi0vKiBUZXN0IHByb2dyYW0gZnJvbSBQYXVsIEVnZ2VydCBhbmQgVG9u
eSBMZW5laXMuICAqLwotI2lmZGVmIFRJTUVfV0lUSF9TWVNfVElNRQotIyBpbmNsdWRlIDxzeXMv
dGltZS5oPgotIyBpbmNsdWRlIDx0aW1lLmg+Ci0jZWxzZQotIyBpZmRlZiBIQVZFX1NZU19USU1F
X0gKLSMgIGluY2x1ZGUgPHN5cy90aW1lLmg+Ci0jIGVsc2UKLSMgIGluY2x1ZGUgPHRpbWUuaD4K
LSMgZW5kaWYKLSNlbmRpZgotCi0jaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8c3RkbGli
Lmg+CiAKLSNpZmRlZiBIQVZFX1VOSVNURF9ICi0jIGluY2x1ZGUgPHVuaXN0ZC5oPgotI2VuZGlm
Ci0KLSNpZm5kZWYgSEFWRV9BTEFSTQotIyBkZWZpbmUgYWxhcm0oWCkgLyogZW1wdHkgKi8KKy8q
IE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgor
ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg
R0NDCisgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp
bGwgYXBwbHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCiAjZW5kaWYKLQot
LyogV29yayBhcm91bmQgcmVkZWZpbml0aW9uIHRvIHJwbF9wdXRlbnYgYnkgb3RoZXIgY29uZmln
IHRlc3RzLiAgKi8KLSN1bmRlZiBwdXRlbnYKLQotc3RhdGljIHRpbWVfdCB0aW1lX3RfbWF4Owot
c3RhdGljIHRpbWVfdCB0aW1lX3RfbWluOwotCi0vKiBWYWx1ZXMgd2UnbGwgdXNlIHRvIHNldCB0
aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUuICAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnR6X3N0
cmluZ3NbXSA9IHsKLSAgKGNvbnN0IGNoYXIgKikgMCwgIlRaPUdNVDAiLCAiVFo9SlNULTkiLAot
ICAiVFo9RVNUKzNFRFQrMixNMTAuMS4wLzAwOjAwOjAwLE0yLjMuMC8wMDowMDowMCIKLX07Ci0j
ZGVmaW5lIE5fU1RSSU5HUyAoc2l6ZW9mICh0el9zdHJpbmdzKSAvIHNpemVvZiAodHpfc3RyaW5n
c1swXSkpCi0KLS8qIFJldHVybiAwIGlmIG1rdGltZSBmYWlscyB0byBjb252ZXJ0IGEgZGF0ZSBp
biB0aGUgc3ByaW5nLWZvcndhcmQgZ2FwLgotICAgQmFzZWQgb24gYSBwcm9ibGVtIHJlcG9ydCBm
cm9tIEFuZHJlYXMgSmFlZ2VyLiAgKi8KLXN0YXRpYyBpbnQKLXNwcmluZ19mb3J3YXJkX2dhcCAo
KQotewotICAvKiBnbGliYyAodXAgdG8gYWJvdXQgMTk5OC0xMC0wNykgZmFpbGVkIHRoaXMgdGVz
dC4gKi8KLSAgc3RydWN0IHRtIHRtOwotCi0gIC8qIFVzZSB0aGUgcG9ydGFibGUgUE9TSVguMSBz
cGVjaWZpY2F0aW9uICJUWj1QU1Q4UERULE00LjEuMCxNMTAuNS4wIgotICAgICBpbnN0ZWFkIG9m
ICJUWj1BbWVyaWNhL1ZhbmNvdXZlciIgaW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBidWcgZXZlbgot
ICAgICBvbiBzeXN0ZW1zIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGUgT2xzb24gZXh0ZW5zaW9uLCBv
ciBkb24ndCBoYXZlIHRoZQotICAgICBmdWxsIHpvbmVpbmZvIHRhYmxlcyBpbnN0YWxsZWQuICAq
LwotICBwdXRlbnYgKChjaGFyKikgIlRaPVBTVDhQRFQsTTQuMS4wLE0xMC41LjAiKTsKLQotICB0
bS50bV95ZWFyID0gOTg7Ci0gIHRtLnRtX21vbiA9IDM7Ci0gIHRtLnRtX21kYXkgPSA1OwotICB0
bS50bV9ob3VyID0gMjsKLSAgdG0udG1fbWluID0gMDsKLSAgdG0udG1fc2VjID0gMDsKLSAgdG0u
dG1faXNkc3QgPSAtMTsKLSAgcmV0dXJuIG1rdGltZSAoJnRtKSAhPSAodGltZV90KSAtMTsKLX0K
LQotc3RhdGljIGludAotbWt0aW1lX3Rlc3QxICh0aW1lX3Qgbm93KQotewotICBzdHJ1Y3QgdG0g
Kmx0OwotICByZXR1cm4gISAobHQgPSBsb2NhbHRpbWUgKCZub3cpKSB8fCBta3RpbWUgKGx0KSA9
PSBub3c7Ci19Ci0KLXN0YXRpYyBpbnQKLW1rdGltZV90ZXN0ICh0aW1lX3Qgbm93KQotewotICBy
ZXR1cm4gKG1rdGltZV90ZXN0MSAobm93KQotCSAgJiYgbWt0aW1lX3Rlc3QxICgodGltZV90KSAo
dGltZV90X21heCAtIG5vdykpCi0JICAmJiBta3RpbWVfdGVzdDEgKCh0aW1lX3QpICh0aW1lX3Rf
bWluICsgbm93KSkpOwotfQotCi1zdGF0aWMgaW50Ci1pcml4XzZfNF9idWcgKCkKLXsKLSAgLyog
QmFzZWQgb24gY29kZSBmcm9tIEFyaWVsIEZhaWdvbi4gICovCi0gIHN0cnVjdCB0bSB0bTsKLSAg
dG0udG1feWVhciA9IDk2OwotICB0bS50bV9tb24gPSAzOwotICB0bS50bV9tZGF5ID0gMDsKLSAg
dG0udG1faG91ciA9IDA7Ci0gIHRtLnRtX21pbiA9IDA7Ci0gIHRtLnRtX3NlYyA9IDA7Ci0gIHRt
LnRtX2lzZHN0ID0gLTE7Ci0gIG1rdGltZSAoJnRtKTsKLSAgcmV0dXJuIHRtLnRtX21vbiA9PSAy
ICYmIHRtLnRtX21kYXkgPT0gMzE7Ci19Ci0KLXN0YXRpYyBpbnQKLWJpZ3RpbWVfdGVzdCAoaW50
IGopCi17Ci0gIHN0cnVjdCB0bSB0bTsKLSAgdGltZV90IG5vdzsKLSAgdG0udG1feWVhciA9IHRt
LnRtX21vbiA9IHRtLnRtX21kYXkgPSB0bS50bV9ob3VyID0gdG0udG1fbWluID0gdG0udG1fc2Vj
ID0gajsKLSAgbm93ID0gbWt0aW1lICgmdG0pOwotICBpZiAobm93ICE9ICh0aW1lX3QpIC0xKQot
ICAgIHsKLSAgICAgIHN0cnVjdCB0bSAqbHQgPSBsb2NhbHRpbWUgKCZub3cpOwotICAgICAgaWYg
KCEgKGx0Ci0JICAgICAmJiBsdC0+dG1feWVhciA9PSB0bS50bV95ZWFyCi0JICAgICAmJiBsdC0+
dG1fbW9uID09IHRtLnRtX21vbgotCSAgICAgJiYgbHQtPnRtX21kYXkgPT0gdG0udG1fbWRheQot
CSAgICAgJiYgbHQtPnRtX2hvdXIgPT0gdG0udG1faG91cgotCSAgICAgJiYgbHQtPnRtX21pbiA9
PSB0bS50bV9taW4KLQkgICAgICYmIGx0LT50bV9zZWMgPT0gdG0udG1fc2VjCi0JICAgICAmJiBs
dC0+dG1feWRheSA9PSB0bS50bV95ZGF5Ci0JICAgICAmJiBsdC0+dG1fd2RheSA9PSB0bS50bV93
ZGF5Ci0JICAgICAmJiAoKGx0LT50bV9pc2RzdCA8IDAgPyAtMSA6IDAgPCBsdC0+dG1faXNkc3Qp
Ci0JCSAgPT0gKHRtLnRtX2lzZHN0IDwgMCA/IC0xIDogMCA8IHRtLnRtX2lzZHN0KSkpKQotCXJl
dHVybiAwOwotICAgIH0KLSAgcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbnQKLXllYXJfMjA1MF90
ZXN0ICgpCi17Ci0gIC8qIFRoZSBjb3JyZWN0IGFuc3dlciBmb3IgMjA1MC0wMi0wMSAwMDowMDow
MCBpbiBQYWNpZmljIHRpbWUsCi0gICAgIGlnbm9yaW5nIGxlYXAgc2Vjb25kcy4gICovCi0gIHVu
c2lnbmVkIGxvbmcgaW50IGFuc3dlciA9IDI1MjczMTUyMDBVTDsKLQotICBzdHJ1Y3QgdG0gdG07
Ci0gIHRpbWVfdCB0OwotICB0bS50bV95ZWFyID0gMjA1MCAtIDE5MDA7Ci0gIHRtLnRtX21vbiA9
IDIgLSAxOwotICB0bS50bV9tZGF5ID0gMTsKLSAgdG0udG1faG91ciA9IHRtLnRtX21pbiA9IHRt
LnRtX3NlYyA9IDA7Ci0gIHRtLnRtX2lzZHN0ID0gLTE7Ci0KLSAgLyogVXNlIHRoZSBwb3J0YWJs
ZSBQT1NJWC4xIHNwZWNpZmljYXRpb24gIlRaPVBTVDhQRFQsTTQuMS4wLE0xMC41LjAiCi0gICAg
IGluc3RlYWQgb2YgIlRaPUFtZXJpY2EvVmFuY291dmVyIiBpbiBvcmRlciB0byBkZXRlY3QgdGhl
IGJ1ZyBldmVuCi0gICAgIG9uIHN5c3RlbXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZSBPbHNvbiBl
eHRlbnNpb24sIG9yIGRvbid0IGhhdmUgdGhlCi0gICAgIGZ1bGwgem9uZWluZm8gdGFibGVzIGlu
c3RhbGxlZC4gICovCi0gIHB1dGVudiAoKGNoYXIqKSAiVFo9UFNUOFBEVCxNNC4xLjAsTTEwLjUu
MCIpOwotCi0gIHQgPSBta3RpbWUgKCZ0bSk7Ci0KLSAgLyogQ2hlY2sgdGhhdCB0aGUgcmVzdWx0
IGlzIGVpdGhlciBhIGZhaWx1cmUsIG9yIGNsb3NlIGVub3VnaAotICAgICB0byB0aGUgY29ycmVj
dCBhbnN3ZXIgdGhhdCB3ZSBjYW4gYXNzdW1lIHRoZSBkaXNjcmVwYW5jeSBpcwotICAgICBkdWUg
dG8gbGVhcCBzZWNvbmRzLiAgKi8KLSAgcmV0dXJuICh0ID09ICh0aW1lX3QpIC0xCi0JICB8fCAo
MCA8IHQgJiYgYW5zd2VyIC0gMTIwIDw9IHQgJiYgdCA8PSBhbnN3ZXIgKyAxMjApKTsKLX0KLQor
Y2hhciBNRDUgKCk7CiBpbnQKIG1haW4gKCkKIHsKLSAgdGltZV90IHQsIGRlbHRhOwotICBpbnQg
aSwgajsKLQotICAvKiBUaGlzIHRlc3QgbWFrZXMgc29tZSBidWdneSBta3RpbWUgaW1wbGVtZW50
YXRpb25zIGxvb3AuCi0gICAgIEdpdmUgdXAgYWZ0ZXIgNjAgc2Vjb25kczsgYSBta3RpbWUgc2xv
d2VyIHRoYW4gdGhhdAotICAgICBpc24ndCB3b3J0aCB1c2luZyBhbnl3YXkuICAqLwotICBhbGFy
bSAoNjApOwotCi0gIGZvciAoOzspCi0gICAgewotICAgICAgdCA9ICh0aW1lX3RfbWF4IDw8IDEp
ICsgMTsKLSAgICAgIGlmICh0IDw9IHRpbWVfdF9tYXgpCi0JYnJlYWs7Ci0gICAgICB0aW1lX3Rf
bWF4ID0gdDsKLSAgICB9Ci0gIHRpbWVfdF9taW4gPSAtICgodGltZV90KSB+ICh0aW1lX3QpIDAg
PT0gKHRpbWVfdCkgLTEpIC0gdGltZV90X21heDsKLQotICBkZWx0YSA9IHRpbWVfdF9tYXggLyA5
OTc7IC8qIGEgc3VpdGFibGUgcHJpbWUgbnVtYmVyICovCi0gIGZvciAoaSA9IDA7IGkgPCBOX1NU
UklOR1M7IGkrKykKLSAgICB7Ci0gICAgICBpZiAodHpfc3RyaW5nc1tpXSkKLQlwdXRlbnYgKChj
aGFyKikgdHpfc3RyaW5nc1tpXSk7Ci0KLSAgICAgIGZvciAodCA9IDA7IHQgPD0gdGltZV90X21h
eCAtIGRlbHRhOyB0ICs9IGRlbHRhKQotCWlmICghIG1rdGltZV90ZXN0ICh0KSkKLQkgIHJldHVy
biAxOwotICAgICAgaWYgKCEgKG1rdGltZV90ZXN0ICgodGltZV90KSAxKQotCSAgICAgJiYgbWt0
aW1lX3Rlc3QgKCh0aW1lX3QpICg2MCAqIDYwKSkKLQkgICAgICYmIG1rdGltZV90ZXN0ICgodGlt
ZV90KSAoNjAgKiA2MCAqIDI0KSkpKQotCXJldHVybiAxOwotCi0gICAgICBmb3IgKGogPSAxOyA7
IGogPDw9IDEpCi0JaWYgKCEgYmlndGltZV90ZXN0IChqKSkKLQkgIHJldHVybiAxOwotCWVsc2Ug
aWYgKElOVF9NQVggLyAyIDwgaikKLQkgIGJyZWFrOwotICAgICAgaWYgKCEgYmlndGltZV90ZXN0
IChJTlRfTUFYKSkKLQlyZXR1cm4gMTsKLSAgICB9Ci0gIHJldHVybiAhIChpcml4XzZfNF9idWcg
KCkgJiYgc3ByaW5nX2ZvcndhcmRfZ2FwICgpICYmIHllYXJfMjA1MF90ZXN0ICgpKTsKK3JldHVy
biBNRDUgKCk7CisgIDsKKyAgcmV0dXJuIDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X3J1
biAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9mdW5jX3dvcmtpbmdfbWt0aW1lPXllcworaWYg
YWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9saWJfY3J5cHRvX01E
NT15ZXMKIGVsc2UKLSAgYWNfY3ZfZnVuY193b3JraW5nX21rdGltZT1ubwotZmkKLXJtIC1mIGNv
cmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhl
ZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19l
eHQKLWZpCi0KKyAgYWNfY3ZfbGliX2NyeXB0b19NRDU9bm8KIGZpCi17ICRhc19lY2hvICIkYXNf
bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2Z1bmNfd29ya2luZ19ta3Rp
bWUiID4mNQotJGFzX2VjaG8gIiRhY19jdl9mdW5jX3dvcmtpbmdfbWt0aW1lIiA+JjY7IH0KLWlm
IHRlc3QgJGFjX2N2X2Z1bmNfd29ya2luZ19ta3RpbWUgPSBubzsgdGhlbgotICBjYXNlICIgJExJ
Qk9CSlMgIiBpbgotICAqIiBta3RpbWUuJGFjX29iamV4dCAiKiApIDs7Ci0gICopIExJQk9CSlM9
IiRMSUJPQkpTIG1rdGltZS4kYWNfb2JqZXh0IgotIDs7Ci1lc2FjCi0KK3JtIC1mIGNvcmUgY29u
ZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBj
b25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCiBmaQotCi0KLQot
Ci0KLQotZm9yIGFjX2Z1bmMgaW4gZ2V0cGFnZXNpemUKLWRvIDoKLSAgYWNfZm5fY19jaGVja19m
dW5jICIkTElORU5PIiAiZ2V0cGFnZXNpemUiICJhY19jdl9mdW5jX2dldHBhZ2VzaXplIgotaWYg
dGVzdCAieCRhY19jdl9mdW5jX2dldHBhZ2VzaXplIiA9IHgiInllczsgdGhlbiA6Cit7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9jcnlw
dG9fTUQ1IiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX2NyeXB0b19NRDUiID4mNjsgfQoraWYg
dGVzdCAieCRhY19jdl9saWJfY3J5cHRvX01ENSIgPSB4IiJ5ZXM7IHRoZW4gOgogICBjYXQgPj5j
b25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQorI2RlZmluZSBI
QVZFX0xJQkNSWVBUTyAxCiBfQUNFT0YKIAorICBMSUJTPSItbGNyeXB0byAkTElCUyIKKworZWxz
ZQorICBhc19mbl9lcnJvciAkPyAiQ291bGQgbm90IGZpbmQgbGliY3J5cHRvIiAiJExJTkVOTyIg
NQogZmkKLWRvbmUKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj
aGVja2luZyBmb3Igd29ya2luZyBtbWFwIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciB3
b3JraW5nIG1tYXAuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfZnVuY19tbWFwX2ZpeGVk
X21hcHBlZCtzZXR9IiA9IHNldDsgdGhlbiA6Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l
bm8tJExJTkVOT306IGNoZWNraW5nIGZvciBleHQyZnNfb3BlbjIgaW4gLWxleHQyZnMiID4mNQor
JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGV4dDJmc19vcGVuMiBpbiAtbGV4dDJmcy4uLiAiID4m
NjsgfQoraWYgdGVzdCAiJHthY19jdl9saWJfZXh0MmZzX2V4dDJmc19vcGVuMitzZXR9IiA9IHNl
dDsgdGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCi0gIGlmIHRlc3Qg
IiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKLSAgYWNfY3ZfZnVuY19tbWFwX2ZpeGVk
X21hcHBlZD1ubwotZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4k
YWNfZXh0CisgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0xJQlM9Ii1sZXh0MmZzICAk
TElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KLSRhY19pbmNsdWRlc19kZWZhdWx0Ci0vKiBtYWxsb2MgbWlnaHQg
aGF2ZSBiZWVuIHJlbmFtZWQgYXMgcnBsX21hbGxvYy4gKi8KLSN1bmRlZiBtYWxsb2MKLQotLyog
VGhhbmtzIHRvIE1pa2UgSGFlcnRlbCBhbmQgSmltIEF2ZXJhIGZvciB0aGlzIHRlc3QuCi0gICBI
ZXJlIGlzIGEgbWF0cml4IG9mIG1tYXAgcG9zc2liaWxpdGllczoKLQltbWFwIHByaXZhdGUgbm90
IGZpeGVkCi0JbW1hcCBwcml2YXRlIGZpeGVkIGF0IHNvbWV3aGVyZSBjdXJyZW50bHkgdW5tYXBw
ZWQKLQltbWFwIHByaXZhdGUgZml4ZWQgYXQgc29tZXdoZXJlIGFscmVhZHkgbWFwcGVkCi0JbW1h
cCBzaGFyZWQgbm90IGZpeGVkCi0JbW1hcCBzaGFyZWQgZml4ZWQgYXQgc29tZXdoZXJlIGN1cnJl
bnRseSB1bm1hcHBlZAotCW1tYXAgc2hhcmVkIGZpeGVkIGF0IHNvbWV3aGVyZSBhbHJlYWR5IG1h
cHBlZAotICAgRm9yIHByaXZhdGUgbWFwcGluZ3MsIHdlIHNob3VsZCB2ZXJpZnkgdGhhdCBjaGFu
Z2VzIGNhbm5vdCBiZSByZWFkKCkKLSAgIGJhY2sgZnJvbSB0aGUgZmlsZSwgbm9yIG1tYXAncyBi
YWNrIGZyb20gdGhlIGZpbGUgYXQgYSBkaWZmZXJlbnQKLSAgIGFkZHJlc3MuICAoVGhlcmUgaGF2
ZSBiZWVuIHN5c3RlbXMgd2hlcmUgcHJpdmF0ZSB3YXMgbm90IGNvcnJlY3RseQotICAgaW1wbGVt
ZW50ZWQgbGlrZSB0aGUgaW5mYW1vdXMgaTM4NiBzdnI0LjAsIGFuZCBzeXN0ZW1zIHdoZXJlIHRo
ZQotICAgVk0gcGFnZSBjYWNoZSB3YXMgbm90IGNvaGVyZW50IHdpdGggdGhlIGZpbGUgc3lzdGVt
IGJ1ZmZlciBjYWNoZQotICAgbGlrZSBlYXJseSB2ZXJzaW9ucyBvZiBGcmVlQlNEIGFuZCBwb3Nz
aWJseSBjb250ZW1wb3JhcnkgTmV0QlNELikKLSAgIEZvciBzaGFyZWQgbWFwcGluZ3MsIHdlIHNo
b3VsZCBjb252ZXJzZWx5IHZlcmlmeSB0aGF0IGNoYW5nZXMgZ2V0Ci0gICBwcm9wYWdhdGVkIGJh
Y2sgdG8gYWxsIHRoZSBwbGFjZXMgdGhleSdyZSBzdXBwb3NlZCB0byBiZS4KLQotICAgR3JlcCB3
YW50cyBwcml2YXRlIGZpeGVkIGFscmVhZHkgbWFwcGVkLgotICAgVGhlIG1haW4gdGhpbmdzIGdy
ZXAgbmVlZHMgdG8ga25vdyBhYm91dCBtbWFwIGFyZToKLSAgICogZG9lcyBpdCBleGlzdCBhbmQg
aXMgaXQgc2FmZSB0byB3cml0ZSBpbnRvIHRoZSBtbWFwJ2QgYXJlYQotICAgKiBob3cgdG8gdXNl
IGl0IChCU0QgdmFyaWFudHMpICAqLwotCi0jaW5jbHVkZSA8ZmNudGwuaD4KLSNpbmNsdWRlIDxz
eXMvbW1hbi5oPgotCi0jaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmICFkZWZpbmVkIEhBVkVf
U1RETElCX0gKLWNoYXIgKm1hbGxvYyAoKTsKLSNlbmRpZgotCi0vKiBUaGlzIG1lc3Mgd2FzIGNv
cGllZCBmcm9tIHRoZSBHTlUgZ2V0cGFnZXNpemUuaC4gICovCi0jaWZuZGVmIEhBVkVfR0VUUEFH
RVNJWkUKLSMgaWZkZWYgX1NDX1BBR0VTSVpFCi0jICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBzeXNj
b25mKF9TQ19QQUdFU0laRSkKLSMgZWxzZSAvKiBubyBfU0NfUEFHRVNJWkUgKi8KLSMgIGlmZGVm
IEhBVkVfU1lTX1BBUkFNX0gKLSMgICBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KLSMgICBpZmRlZiBF
WEVDX1BBR0VTSVpFCi0jICAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIEVYRUNfUEFHRVNJWkUKLSMg
ICBlbHNlIC8qIG5vIEVYRUNfUEFHRVNJWkUgKi8KLSMgICAgaWZkZWYgTkJQRwotIyAgICAgZGVm
aW5lIGdldHBhZ2VzaXplKCkgTkJQRyAqIENMU0laRQotIyAgICAgaWZuZGVmIENMU0laRQotIyAg
ICAgIGRlZmluZSBDTFNJWkUgMQotIyAgICAgZW5kaWYgLyogbm8gQ0xTSVpFICovCi0jICAgIGVs
c2UgLyogbm8gTkJQRyAqLwotIyAgICAgaWZkZWYgTkJQQwotIyAgICAgIGRlZmluZSBnZXRwYWdl
c2l6ZSgpIE5CUEMKLSMgICAgIGVsc2UgLyogbm8gTkJQQyAqLwotIyAgICAgIGlmZGVmIFBBR0VT
SVpFCi0jICAgICAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIFBBR0VTSVpFCi0jICAgICAgZW5kaWYg
LyogUEFHRVNJWkUgKi8KLSMgICAgIGVuZGlmIC8qIG5vIE5CUEMgKi8KLSMgICAgZW5kaWYgLyog
bm8gTkJQRyAqLwotIyAgIGVuZGlmIC8qIG5vIEVYRUNfUEFHRVNJWkUgKi8KLSMgIGVsc2UgLyog
bm8gSEFWRV9TWVNfUEFSQU1fSCAqLwotIyAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIDgxOTIJLyog
cHVudCB0b3RhbGx5ICovCi0jICBlbmRpZiAvKiBubyBIQVZFX1NZU19QQVJBTV9IICovCi0jIGVu
ZGlmIC8qIG5vIF9TQ19QQUdFU0laRSAqLwotCi0jZW5kaWYgLyogbm8gSEFWRV9HRVRQQUdFU0la
RSAqLwogCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl
IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgor
I2VuZGlmCitjaGFyIGV4dDJmc19vcGVuMiAoKTsKIGludAogbWFpbiAoKQogewotICBjaGFyICpk
YXRhLCAqZGF0YTIsICpkYXRhMzsKLSAgY29uc3QgY2hhciAqY2RhdGEyOwotICBpbnQgaSwgcGFn
ZXNpemU7Ci0gIGludCBmZCwgZmQyOwotCi0gIHBhZ2VzaXplID0gZ2V0cGFnZXNpemUgKCk7Ci0K
LSAgLyogRmlyc3QsIG1ha2UgYSBmaWxlIHdpdGggc29tZSBrbm93biBnYXJiYWdlIGluIGl0LiAq
LwotICBkYXRhID0gKGNoYXIgKikgbWFsbG9jIChwYWdlc2l6ZSk7Ci0gIGlmICghZGF0YSkKLSAg
ICByZXR1cm4gMTsKLSAgZm9yIChpID0gMDsgaSA8IHBhZ2VzaXplOyArK2kpCi0gICAgKihkYXRh
ICsgaSkgPSByYW5kICgpOwotICB1bWFzayAoMCk7Ci0gIGZkID0gY3JlYXQgKCJjb25mdGVzdC5t
bWFwIiwgMDYwMCk7Ci0gIGlmIChmZCA8IDApCi0gICAgcmV0dXJuIDI7Ci0gIGlmICh3cml0ZSAo
ZmQsIGRhdGEsIHBhZ2VzaXplKSAhPSBwYWdlc2l6ZSkKLSAgICByZXR1cm4gMzsKLSAgY2xvc2Ug
KGZkKTsKLQotICAvKiBOZXh0LCBjaGVjayB0aGF0IHRoZSB0YWlsIG9mIGEgcGFnZSBpcyB6ZXJv
LWZpbGxlZC4gIEZpbGUgbXVzdCBoYXZlCi0gICAgIG5vbi16ZXJvIGxlbmd0aCwgb3RoZXJ3aXNl
IHdlIHJpc2sgU0lHQlVTIGZvciBlbnRpcmUgcGFnZS4gICovCi0gIGZkMiA9IG9wZW4gKCJjb25m
dGVzdC50eHQiLCBPX1JEV1IgfCBPX0NSRUFUIHwgT19UUlVOQywgMDYwMCk7Ci0gIGlmIChmZDIg
PCAwKQotICAgIHJldHVybiA0OwotICBjZGF0YTIgPSAiIjsKLSAgaWYgKHdyaXRlIChmZDIsIGNk
YXRhMiwgMSkgIT0gMSkKLSAgICByZXR1cm4gNTsKLSAgZGF0YTIgPSAoY2hhciAqKSBtbWFwICgw
LCBwYWdlc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwgZmQyLCAwTCk7
Ci0gIGlmIChkYXRhMiA9PSBNQVBfRkFJTEVEKQotICAgIHJldHVybiA2OwotICBmb3IgKGkgPSAw
OyBpIDwgcGFnZXNpemU7ICsraSkKLSAgICBpZiAoKihkYXRhMiArIGkpKQotICAgICAgcmV0dXJu
IDc7Ci0gIGNsb3NlIChmZDIpOwotICBpZiAobXVubWFwIChkYXRhMiwgcGFnZXNpemUpKQotICAg
IHJldHVybiA4OwotCi0gIC8qIE5leHQsIHRyeSB0byBtbWFwIHRoZSBmaWxlIGF0IGEgZml4ZWQg
YWRkcmVzcyB3aGljaCBhbHJlYWR5IGhhcwotICAgICBzb21ldGhpbmcgZWxzZSBhbGxvY2F0ZWQg
YXQgaXQuICBJZiB3ZSBjYW4sIGFsc28gbWFrZSBzdXJlIHRoYXQKLSAgICAgd2Ugc2VlIHRoZSBz
YW1lIGdhcmJhZ2UuICAqLwotICBmZCA9IG9wZW4gKCJjb25mdGVzdC5tbWFwIiwgT19SRFdSKTsK
LSAgaWYgKGZkIDwgMCkKLSAgICByZXR1cm4gOTsKLSAgaWYgKGRhdGEyICE9IG1tYXAgKGRhdGEy
LCBwYWdlc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKLQkJICAgICBNQVBfUFJJVkFURSB8
IE1BUF9GSVhFRCwgZmQsIDBMKSkKLSAgICByZXR1cm4gMTA7Ci0gIGZvciAoaSA9IDA7IGkgPCBw
YWdlc2l6ZTsgKytpKQotICAgIGlmICgqKGRhdGEgKyBpKSAhPSAqKGRhdGEyICsgaSkpCi0gICAg
ICByZXR1cm4gMTE7Ci0KLSAgLyogRmluYWxseSwgbWFrZSBzdXJlIHRoYXQgY2hhbmdlcyB0byB0
aGUgbWFwcGVkIGFyZWEgZG8gbm90Ci0gICAgIHBlcmNvbGF0ZSBiYWNrIHRvIHRoZSBmaWxlIGFz
IHNlZW4gYnkgcmVhZCgpLiAgKFRoaXMgaXMgYSBidWcgb24KLSAgICAgc29tZSB2YXJpYW50cyBv
ZiBpMzg2IHN2cjQuMC4pICAqLwotICBmb3IgKGkgPSAwOyBpIDwgcGFnZXNpemU7ICsraSkKLSAg
ICAqKGRhdGEyICsgaSkgPSAqKGRhdGEyICsgaSkgKyAxOwotICBkYXRhMyA9IChjaGFyICopIG1h
bGxvYyAocGFnZXNpemUpOwotICBpZiAoIWRhdGEzKQotICAgIHJldHVybiAxMjsKLSAgaWYgKHJl
YWQgKGZkLCBkYXRhMywgcGFnZXNpemUpICE9IHBhZ2VzaXplKQotICAgIHJldHVybiAxMzsKLSAg
Zm9yIChpID0gMDsgaSA8IHBhZ2VzaXplOyArK2kpCi0gICAgaWYgKCooZGF0YSArIGkpICE9ICoo
ZGF0YTMgKyBpKSkKLSAgICAgIHJldHVybiAxNDsKLSAgY2xvc2UgKGZkKTsKK3JldHVybiBleHQy
ZnNfb3BlbjIgKCk7CisgIDsKICAgcmV0dXJuIDA7CiB9CiBfQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5
X3J1biAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9mdW5jX21tYXBfZml4ZWRfbWFwcGVkPXll
cworaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9saWJfZXh0
MmZzX2V4dDJmc19vcGVuMj15ZXMKIGVsc2UKLSAgYWNfY3ZfZnVuY19tbWFwX2ZpeGVkX21hcHBl
ZD1ubwotZmkKLXJtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5v
dXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKLSAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5i
ZWFtIGNvbmZ0ZXN0LiRhY19leHQKLWZpCi0KKyAgYWNfY3ZfbGliX2V4dDJmc19leHQyZnNfb3Bl
bjI9bm8KIGZpCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs
dDogJGFjX2N2X2Z1bmNfbW1hcF9maXhlZF9tYXBwZWQiID4mNQotJGFzX2VjaG8gIiRhY19jdl9m
dW5jX21tYXBfZml4ZWRfbWFwcGVkIiA+JjY7IH0KLWlmIHRlc3QgJGFjX2N2X2Z1bmNfbW1hcF9m
aXhlZF9tYXBwZWQgPSB5ZXM7IHRoZW4KLQotJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9NTUFQIDEi
ID4+Y29uZmRlZnMuaAotCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2Jq
ZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNf
Y2hlY2tfbGliX3NhdmVfTElCUwogZmkKLXJtIC1mIGNvbmZ0ZXN0Lm1tYXAgY29uZnRlc3QudHh0
Ci0KLWZvciBhY19oZWFkZXIgaW4gc3RkbGliLmgKLWRvIDoKLSAgYWNfZm5fY19jaGVja19oZWFk
ZXJfbW9uZ3JlbCAiJExJTkVOTyIgInN0ZGxpYi5oIiAiYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oIiAi
JGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zdGRsaWJfaCIg
PSB4IiJ5ZXM7IHRoZW4gOgotICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCi0jZGVmaW5lIEhB
VkVfU1RETElCX0ggMQotX0FDRU9GCi0KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX2V4dDJmc19leHQyZnNfb3BlbjIiID4mNQorJGFz
X2VjaG8gIiRhY19jdl9saWJfZXh0MmZzX2V4dDJmc19vcGVuMiIgPiY2OyB9CitpZiB0ZXN0ICJ4
JGFjX2N2X2xpYl9leHQyZnNfZXh0MmZzX29wZW4yIiA9IHgiInllczsgdGhlbiA6CisgIGxpYmV4
dDJmcz0ieSIKK2Vsc2UKKyAgbGliZXh0MmZzPSJuIgogZmkKIAotZG9uZQogCi17ICRhc19lY2hv
ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBHTlUgbGliYyBjb21w
YXRpYmxlIHJlYWxsb2MiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIEdOVSBsaWJjIGNv
bXBhdGlibGUgcmVhbGxvYy4uLiAiID4mNjsgfQotaWYgdGVzdCAiJHthY19jdl9mdW5jX3JlYWxs
b2NfMF9ub25udWxsK3NldH0iID0gc2V0OyB0aGVuIDoKK3sgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIgaW4gLWxn
Y3J5cHQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGdjcnlfbWRfaGFzaF9idWZmZXIg
aW4gLWxnY3J5cHQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX2djcnlwdF9nY3J5
X21kX2hhc2hfYnVmZmVyK3NldH0iID0gc2V0OyB0aGVuIDoKICAgJGFzX2VjaG9fbiAiKGNhY2hl
ZCkgIiA+JjYKIGVsc2UKLSAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4g
OgotICBhY19jdl9mdW5jX3JlYWxsb2NfMF9ub25udWxsPW5vCi1lbHNlCi0gIGNhdCBjb25mZGVm
cy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElC
Uz0kTElCUworTElCUz0iLWxnY3J5cHQgICRMSUJTIgorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VP
RiA+Y29uZnRlc3QuJGFjX2V4dAogLyogZW5kIGNvbmZkZWZzLmguICAqLwotI2lmIGRlZmluZWQg
U1REQ19IRUFERVJTIHx8IGRlZmluZWQgSEFWRV9TVERMSUJfSAotIyBpbmNsdWRlIDxzdGRsaWIu
aD4KLSNlbHNlCi1jaGFyICpyZWFsbG9jICgpOwotI2VuZGlmCiAKKy8qIE92ZXJyaWRlIGFueSBH
Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwor
I2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgZ2NyeV9tZF9oYXNo
X2J1ZmZlciAoKTsKIGludAogbWFpbiAoKQogewotcmV0dXJuICEgcmVhbGxvYyAoMCwgMCk7City
ZXR1cm4gZ2NyeV9tZF9oYXNoX2J1ZmZlciAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9BQ0VP
RgotaWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfcmVh
bGxvY18wX25vbm51bGw9eWVzCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6
CisgIGFjX2N2X2xpYl9nY3J5cHRfZ2NyeV9tZF9oYXNoX2J1ZmZlcj15ZXMKIGVsc2UKLSAgYWNf
Y3ZfZnVuY19yZWFsbG9jXzBfbm9ubnVsbD1ubworICBhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXI9bm8KIGZpCi1ybSAtZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21v
bi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0LiRhY19vYmpleHQg
Y29uZnRlc3QuYmVhbSBjb25mdGVzdC4kYWNfZXh0CitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBj
b25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFj
X2V4dAorTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkKLQoreyAkYXNfZWNobyAiJGFz
X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfZ2NyeXB0X2djcnlf
bWRfaGFzaF9idWZmZXIiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXIiID4mNjsgfQoraWYgdGVzdCAieCRhY19jdl9saWJfZ2NyeXB0X2djcnlfbWRf
aGFzaF9idWZmZXIiID0geCIieWVzOyB0aGVuIDoKKyAgbGliZ2NyeXB0PSJ5IgorZWxzZQorICBs
aWJnY3J5cHQ9Im4iCiBmaQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99
OiByZXN1bHQ6ICRhY19jdl9mdW5jX3JlYWxsb2NfMF9ub25udWxsIiA+JjUKLSRhc19lY2hvICIk
YWNfY3ZfZnVuY19yZWFsbG9jXzBfbm9ubnVsbCIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jdl9mdW5j
X3JlYWxsb2NfMF9ub25udWxsID0geWVzOyB0aGVuIDoKIAotJGFzX2VjaG8gIiNkZWZpbmUgSEFW
RV9SRUFMTE9DIDEiID4+Y29uZmRlZnMuaAogCisKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHth
c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBwdGhyZWFkIGZsYWciID4mNQorJGFzX2Vj
aG9fbiAiY2hlY2tpbmcgZm9yIHB0aHJlYWQgZmxhZy4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHth
eF9jdl9wdGhyZWFkX2ZsYWdzK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNh
Y2hlZCkgIiA+JjYKIGVsc2UKLSAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9SRUFMTE9DIDAiID4+
Y29uZmRlZnMuaAogCi0gICBjYXNlICIgJExJQk9CSlMgIiBpbgotICAqIiByZWFsbG9jLiRhY19v
YmpleHQgIiogKSA7OwotICAqKSBMSUJPQkpTPSIkTElCT0JKUyByZWFsbG9jLiRhY19vYmpleHQi
Ci0gOzsKLWVzYWMKKyAgICAgICAgYXhfY3ZfcHRocmVhZF9mbGFncz0tcHRocmVhZAorCisgICAg
UFRIUkVBRF9DRkxBR1M9IiRheF9jdl9wdGhyZWFkX2ZsYWdzIgorICAgIFBUSFJFQURfTERGTEFH
Uz0iJGF4X2N2X3B0aHJlYWRfZmxhZ3MiCisgICAgUFRIUkVBRF9MSUJTPSIiCisKKworICAgIHNh
dmVkX0NGTEFHUz0iJENGTEFHUyIKKworICAgIHNhdmVkX0xERkxBR1M9IiRMREZMQUdTIgorCisg
ICAgc2F2ZWRfTElCUz0iJExJQlMiCisKKworICAgIENGTEFHUz0iJENGTEFHUyAkUFRIUkVBRF9D
RkxBR1MiCisKKyAgICBMREZMQUdTPSIkTERGTEFHUyAkUFRIUkVBRF9MREZMQUdTIgorCisgICAg
TElCUz0iJExJQlMgJFBUSFJFQURfTElCUyIKKworICAgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8
X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKyNpbmNs
dWRlIDxwdGhyZWFkLmg+CitpbnQgbWFpbih2b2lkKSB7CisgIHB0aHJlYWRfYXRmb3JrKDAsMCww
KTsKKyAgcHRocmVhZF9jcmVhdGUoMCwwLDAsMCk7Cit9CisKK19BQ0VPRgoraWYgYWNfZm5fY190
cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorCitlbHNlCisgIGF4X2N2X3B0aHJlYWRfZmxhZ3M9
ZmFpbGVkCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBc
CisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKworICAgIENGTEFHUz0i
JHNhdmVkX0NGTEFHUyIKKworICAgIExERkxBR1M9IiRzYXZlZF9MREZMQUdTIgogCisgICAgTElC
Uz0iJHNhdmVkX0xJQlMiCiAKLSRhc19lY2hvICIjZGVmaW5lIHJlYWxsb2MgcnBsX3JlYWxsb2Mi
ID4+Y29uZmRlZnMuaAogCiBmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F
Tk99OiByZXN1bHQ6ICRheF9jdl9wdGhyZWFkX2ZsYWdzIiA+JjUKKyRhc19lY2hvICIkYXhfY3Zf
cHRocmVhZF9mbGFncyIgPiY2OyB9CisgICAgaWYgdGVzdCAieCRheF9jdl9wdGhyZWFkX2ZsYWdz
IiA9IHhmYWlsZWQ7IHRoZW4KKyAgICAgICAgYXNfZm5fZXJyb3IgJD8gIi1wdGhyZWFkIGRvZXMg
bm90IHdvcmsiICIkTElORU5PIiA1CisgICAgZmkKKworICAgIFBUSFJFQURfQ0ZMQUdTPSIkYXhf
Y3ZfcHRocmVhZF9mbGFncyIKKyAgICBQVEhSRUFEX0xERkxBR1M9IiRheF9jdl9wdGhyZWFkX2Zs
YWdzIgorICAgIFBUSFJFQURfTElCUz0iIgorCiAKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNf
bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igd29ya2luZyBzdHJubGVuIiA+JjUKLSRhc19l
Y2hvX24gImNoZWNraW5nIGZvciB3b3JraW5nIHN0cm5sZW4uLi4gIiA+JjY7IH0KLWlmIHRlc3Qg
IiR7YWNfY3ZfZnVuY19zdHJubGVuX3dvcmtpbmcrc2V0fSIgPSBzZXQ7IHRoZW4gOgoreyAkYXNf
ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgeWFqbF9hbGxv
YyBpbiAtbHlhamwiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHlhamxfYWxsb2MgaW4g
LWx5YWpsLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2xpYl95YWpsX3lhamxfYWxsb2Mr
c2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogZWxzZQot
ICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNf
c3Rybmxlbl93b3JraW5nPW5vCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNv
bmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWx5
YWpsICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQK
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSRhY19pbmNsdWRlc19kZWZhdWx0CisKKy8qIE92ZXJy
aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisg
ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgeWFq
bF9hbGxvYyAoKTsKIGludAogbWFpbiAoKQogewotCi0jZGVmaW5lIFMgImZvb2JhciIKLSNkZWZp
bmUgU19MRU4gKHNpemVvZiBTIC0gMSkKLQotICAvKiBBdCBsZWFzdCBvbmUgaW1wbGVtZW50YXRp
b24gaXMgYnVnZ3k6IHRoYXQgb2YgQUlYIDQuMyB3b3VsZAotICAgICBnaXZlIHN0cm5sZW4gKFMs
IDEpID09IDMuICAqLwotCi0gIGludCBpOwotICBmb3IgKGkgPSAwOyBpIDwgU19MRU4gKyAxOyAr
K2kpCi0gICAgewotICAgICAgaW50IGV4cGVjdGVkID0gaSA8PSBTX0xFTiA/IGkgOiBTX0xFTjsK
LSAgICAgIGlmIChzdHJubGVuIChTLCBpKSAhPSBleHBlY3RlZCkKLQlyZXR1cm4gMTsKLSAgICB9
Ci0gIHJldHVybiAwOwotCityZXR1cm4geWFqbF9hbGxvYyAoKTsKICAgOwogICByZXR1cm4gMDsK
IH0KIF9BQ0VPRgotaWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2
X2Z1bmNfc3Rybmxlbl93b3JraW5nPXllcworaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7
IHRoZW4gOgorICBhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jPXllcwogZWxzZQotICBhY19jdl9m
dW5jX3N0cm5sZW5fd29ya2luZz1ubworICBhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jPW5vCiBm
aQotcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVzdC4qIGdtb24ub3V0IGJiLm91dCBjb25m
dGVzdCRhY19leGVleHQgXAotICBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29u
ZnRlc3QuJGFjX2V4dAorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4
dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKK0xJQlM9JGFjX2No
ZWNrX2xpYl9zYXZlX0xJQlMKIGZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ
TkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl95YWpsX3lhamxfYWxsb2MiID4mNQorJGFzX2VjaG8g
IiRhY19jdl9saWJfeWFqbF95YWpsX2FsbG9jIiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGli
X3lhamxfeWFqbF9hbGxvYyIgPSB4IiJ5ZXM7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8
X0FDRU9GCisjZGVmaW5lIEhBVkVfTElCWUFKTCAxCitfQUNFT0YKIAotZmkKLXsgJGFzX2VjaG8g
IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZnVuY19zdHJubGVu
X3dvcmtpbmciID4mNQotJGFzX2VjaG8gIiRhY19jdl9mdW5jX3N0cm5sZW5fd29ya2luZyIgPiY2
OyB9Ci10ZXN0ICRhY19jdl9mdW5jX3N0cm5sZW5fd29ya2luZyA9IG5vICYmIGNhc2UgIiAkTElC
T0JKUyAiIGluCi0gICoiIHN0cm5sZW4uJGFjX29iamV4dCAiKiApIDs7Ci0gICopIExJQk9CSlM9
IiRMSUJPQkpTIHN0cm5sZW4uJGFjX29iamV4dCIKLSA7OwotZXNhYworICBMSUJTPSItbHlhamwg
JExJQlMiCiAKK2Vsc2UKKyAgYXNfZm5fZXJyb3IgJD8gIkNvdWxkIG5vdCBmaW5kIHlhamwiICIk
TElORU5PIiA1CitmaQogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306
IGNoZWNraW5nIGZvciB3b3JraW5nIHN0cnRvZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBm
b3Igd29ya2luZyBzdHJ0b2QuLi4gIiA+JjY7IH0KLWlmIHRlc3QgIiR7YWNfY3ZfZnVuY19zdHJ0
b2Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM
SU5FTk99OiBjaGVja2luZyBmb3IgZGVmbGF0ZUNvcHkgaW4gLWx6IiA+JjUKKyRhc19lY2hvX24g
ImNoZWNraW5nIGZvciBkZWZsYXRlQ29weSBpbiAtbHouLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7
YWNfY3ZfbGliX3pfZGVmbGF0ZUNvcHkrc2V0fSIgPSBzZXQ7IHRoZW4gOgogICAkYXNfZWNob19u
ICIoY2FjaGVkKSAiID4mNgogZWxzZQotICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHll
czsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfc3RydG9kPW5vCi1lbHNlCi0gIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0k
TElCUworTElCUz0iLWx6ICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0
ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KIAotJGFjX2luY2x1ZGVzX2RlZmF1
bHQKLSNpZm5kZWYgc3RydG9kCi1kb3VibGUgc3RydG9kICgpOworLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCisgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKKyAgIGJ1aWx0aW4g
YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCisj
aWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKICNlbmRpZgorY2hhciBkZWZsYXRlQ29weSAo
KTsKIGludAotbWFpbigpCittYWluICgpCiB7Ci0gIHsKLSAgICAvKiBTb21lIHZlcnNpb25zIG9m
IExpbnV4IHN0cnRvZCBtaXMtcGFyc2Ugc3RyaW5ncyB3aXRoIGxlYWRpbmcgJysnLiAgKi8KLSAg
ICBjaGFyICpzdHJpbmcgPSAiICs2OSI7Ci0gICAgY2hhciAqdGVybTsKLSAgICBkb3VibGUgdmFs
dWU7Ci0gICAgdmFsdWUgPSBzdHJ0b2QgKHN0cmluZywgJnRlcm0pOwotICAgIGlmICh2YWx1ZSAh
PSA2OSB8fCB0ZXJtICE9IChzdHJpbmcgKyA0KSkKLSAgICAgIHJldHVybiAxOwotICB9Ci0KLSAg
ewotICAgIC8qIFVuZGVyIFNvbGFyaXMgMi40LCBzdHJ0b2QgcmV0dXJucyB0aGUgd3JvbmcgdmFs
dWUgZm9yIHRoZQotICAgICAgIHRlcm1pbmF0aW5nIGNoYXJhY3RlciB1bmRlciBzb21lIGNvbmRp
dGlvbnMuICAqLwotICAgIGNoYXIgKnN0cmluZyA9ICJOYU4iOwotICAgIGNoYXIgKnRlcm07Ci0g
ICAgc3RydG9kIChzdHJpbmcsICZ0ZXJtKTsKLSAgICBpZiAodGVybSAhPSBzdHJpbmcgJiYgKih0
ZXJtIC0gMSkgPT0gMCkKLSAgICAgIHJldHVybiAxOwotICB9CityZXR1cm4gZGVmbGF0ZUNvcHkg
KCk7CisgIDsKICAgcmV0dXJuIDA7CiB9Ci0KIF9BQ0VPRgotaWYgYWNfZm5fY190cnlfcnVuICIk
TElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2Z1bmNfc3RydG9kPXllcworaWYgYWNfZm5fY190cnlf
bGluayAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9saWJfel9kZWZsYXRlQ29weT15ZXMKIGVs
c2UKLSAgYWNfY3ZfZnVuY19zdHJ0b2Q9bm8KLWZpCi1ybSAtZiBjb3JlICouY29yZSBjb3JlLmNv
bmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0
LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25mdGVzdC4kYWNfZXh0CisgIGFjX2N2X2xpYl96
X2RlZmxhdGVDb3B5PW5vCiBmaQotCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4k
YWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorTElC
Uz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUwogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp
bmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZnVuY19zdHJ0b2QiID4mNQotJGFzX2VjaG8g
IiRhY19jdl9mdW5jX3N0cnRvZCIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19jdl9mdW5jX3N0cnRvZCA9
IG5vOyB0aGVuCi0gIGNhc2UgIiAkTElCT0JKUyAiIGluCi0gICoiIHN0cnRvZC4kYWNfb2JqZXh0
ICIqICkgOzsKLSAgKikgTElCT0JKUz0iJExJQk9CSlMgc3RydG9kLiRhY19vYmpleHQiCi0gOzsK
LWVzYWMKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk
YWNfY3ZfbGliX3pfZGVmbGF0ZUNvcHkiID4mNQorJGFzX2VjaG8gIiRhY19jdl9saWJfel9kZWZs
YXRlQ29weSIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2X2xpYl96X2RlZmxhdGVDb3B5IiA9IHgi
InllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9M
SUJaIDEKK19BQ0VPRgogCi1hY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICJwb3ciICJhY19j
dl9mdW5jX3BvdyIKLWlmIHRlc3QgIngkYWNfY3ZfZnVuY19wb3ciID0geCIieWVzOyB0aGVuIDoK
KyAgTElCUz0iLWx6ICRMSUJTIgogCitlbHNlCisgIGFzX2ZuX2Vycm9yICQ/ICJDb3VsZCBub3Qg
ZmluZCB6bGliIiAiJExJTkVOTyIgNQogZmkKIAotaWYgdGVzdCAkYWNfY3ZfZnVuY19wb3cgPSBu
bzsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr
aW5nIGZvciBwb3cgaW4gLWxtIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBwb3cgaW4g
LWxtLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICIke2FjX2N2X2xpYl9tX3BvdytzZXR9IiA9IHNldDsg
dGhlbiA6Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n
IGZvciBsaWJpY29udl9vcGVuIGluIC1saWNvbnYiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcg
Zm9yIGxpYmljb252X29wZW4gaW4gLWxpY29udi4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19j
dl9saWJfaWNvbnZfbGliaWNvbnZfb3BlbitzZXR9IiA9IHNldDsgdGhlbiA6CiAgICRhc19lY2hv
X24gIihjYWNoZWQpICIgPiY2CiBlbHNlCiAgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMK
LUxJQlM9Ii1sbSAgJExJQlMiCitMSUJTPSItbGljb252ICAkTElCUyIKIGNhdCBjb25mZGVmcy5o
IC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KIApA
QCAtOTUyOCw1NSArNjU1Myw0NSBAQCBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVz
dC4kYWNfZXh0CiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIKICNlbmRpZgotY2hhciBw
b3cgKCk7CitjaGFyIGxpYmljb252X29wZW4gKCk7CiBpbnQKIG1haW4gKCkKIHsKLXJldHVybiBw
b3cgKCk7CityZXR1cm4gbGliaWNvbnZfb3BlbiAoKTsKICAgOwogICByZXR1cm4gMDsKIH0KIF9B
Q0VPRgogaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJf
bV9wb3c9eWVzCisgIGFjX2N2X2xpYl9pY29udl9saWJpY29udl9vcGVuPXllcwogZWxzZQotICBh
Y19jdl9saWJfbV9wb3c9bm8KKyAgYWNfY3ZfbGliX2ljb252X2xpYmljb252X29wZW49bm8KIGZp
CiBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICBjb25m
dGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAogTElCUz0kYWNfY2hlY2tfbGliX3NhdmVf
TElCUwogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0
OiAkYWNfY3ZfbGliX21fcG93IiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX21fcG93IiA+JjY7
IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX21fcG93IiA9IHgiInllczsgdGhlbiA6Ci0gIFBPV19M
SUI9LWxtCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog
JGFjX2N2X2xpYl9pY29udl9saWJpY29udl9vcGVuIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGli
X2ljb252X2xpYmljb252X29wZW4iID4mNjsgfQoraWYgdGVzdCAieCRhY19jdl9saWJfaWNvbnZf
bGliaWNvbnZfb3BlbiIgPSB4IiJ5ZXM7IHRoZW4gOgorICBsaWJpY29udj0ieSIKIGVsc2UKLSAg
eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBjYW5ub3Qg
ZmluZCBsaWJyYXJ5IGNvbnRhaW5pbmcgZGVmaW5pdGlvbiBvZiBwb3ciID4mNQotJGFzX2VjaG8g
IiRhc19tZTogV0FSTklORzogY2Fubm90IGZpbmQgbGlicmFyeSBjb250YWluaW5nIGRlZmluaXRp
b24gb2YgcG93IiA+JjI7fQotZmkKLQorICBsaWJpY29udj0ibiIKIGZpCiAKLWZpCiAKLWZvciBh
Y19mdW5jIGluICBcCi0gICAgICAgICAgICAgICAgYWxhcm0gYXRleGl0IGJ6ZXJvIGNsb2NrX2dl
dHRpbWUgZHVwMiBmZGF0YXN5bmMgZnRydW5jYXRlIFwKLSAgICAgICAgICAgICAgICBnZXRjd2Qg
Z2V0aG9zdGJ5bmFtZSBnZXRob3N0bmFtZSBnZXRwYWdlc2l6ZSBnZXR0aW1lb2ZkYXkgXAotICAg
ICAgICAgICAgICAgIGluZXRfbnRvYSBpc2FzY2lpIGxvY2FsdGltZV9yIG1lbWNociBtZW1tb3Zl
IG1lbXNldCBta2RpciBcCi0gICAgICAgICAgICAgICAgbWtmaWZvIG11bm1hcCBwYXRoY29uZiBy
ZWFscGF0aCByZWdjb21wIHJtZGlyIHNlbGVjdCBzZXRlbnYgXAotICAgICAgICAgICAgICAgIHNv
Y2tldCBzdHJjYXNlY21wIHN0cmNociBzdHJjc3BuIHN0cmR1cCBzdHJlcnJvciBzdHJuZHVwIFwK
LSAgICAgICAgICAgICAgICBzdHJwYnJrIHN0cnJjaHIgc3Ryc3BuIHN0cnN0ciBzdHJ0b2wgc3Ry
dG91bCBzdHJ0b3VsbCB0enNldCBcCi0gICAgICAgICAgICAgICAgdW5hbWUgXAogCisjIENoZWNr
cyBmb3IgaGVhZGVyIGZpbGVzLgorZm9yIGFjX2hlYWRlciBpbiB5YWpsL3lhamxfdmVyc2lvbi5o
CiBkbyA6Ci0gIGFzX2FjX3Zhcj1gJGFzX2VjaG8gImFjX2N2X2Z1bmNfJGFjX2Z1bmMiIHwgJGFz
X3RyX3NoYAotYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAiJGFjX2Z1bmMiICIkYXNfYWNf
dmFyIgotaWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY192YXIiXCIgPSB4InllcyI7IHRoZW4gOgor
ICBhY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAieWFqbC95YWpsX3ZlcnNp
b24uaCIgImFjX2N2X2hlYWRlcl95YWpsX3lhamxfdmVyc2lvbl9oIiAiJGFjX2luY2x1ZGVzX2Rl
ZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl95YWpsX3lhamxfdmVyc2lvbl9oIiA9IHgi
InllczsgdGhlbiA6CiAgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKLSNkZWZpbmUgYCRhc19l
Y2hvICJIQVZFXyRhY19mdW5jIiB8ICRhc190cl9jcHBgIDEKKyNkZWZpbmUgSEFWRV9ZQUpMX1lB
SkxfVkVSU0lPTl9IIDEKIF9BQ0VPRgogCiBmaQorCiBkb25lCiAKIApkaWZmIC0tZ2l0IGEvdG9v
bHMvY29uZmlndXJlLmFjIGIvdG9vbHMvY29uZmlndXJlLmFjCmluZGV4IDU3Yzg4N2QuLmRlYjg0
OGQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbmZpZ3VyZS5hYworKysgYi90b29scy9jb25maWd1cmUu
YWMKQEAgLTE5LDkgKzE5LDYgQEAgcmVjb21tZW5kZWQsIHVzZSBQUkVQRU5EX0lOQ0xVREVTLCBQ
UkVQRU5EX0xJQiwgXAogQVBQRU5EX0lOQ0xVREVTIGFuZCBBUFBFTkRfTElCIGluc3RlYWQgd2hl
biBwb3NzaWJsZS5dKQogXSkKIAotQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCi1BQ19DQU5PTklD
QUxfSE9TVAotCiAjIE00IE1hY3JvIGluY2x1ZGVzCiBtNF9pbmNsdWRlKFttNC9zYXZldmFyLm00
XSkKIG00X2luY2x1ZGUoW200L2ZlYXR1cmVzLm00XSkKQEAgLTc1LDkgKzcyLDcgQEAgQUNfQVJH
X1ZBUihbQkNDXSwgW1BhdGggdG8gYmNjIHRvb2xdKQogQUNfQVJHX1ZBUihbSUFTTF0sIFtQYXRo
IHRvIGlhc2wgdG9vbF0pCiAKICMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KLUFDX1BST0dfU0VECiBB
Q19QUk9HX0NDCi1BQ19QUk9HX0xOX1MKIEFDX1BST0dfTUFLRV9TRVQKIEFDX1BST0dfSU5TVEFM
TAogQUNfUEFUSF9QUk9HKFtCSVNPTl0sIFtiaXNvbl0pCkBAIC0xMzcsNyArMTMyLDYgQEAgQUNf
U1VCU1QobGliZXh0MmZzKQogQUNfQ0hFQ0tfTElCKFtnY3J5cHRdLCBbZ2NyeV9tZF9oYXNoX2J1
ZmZlcl0sIFtsaWJnY3J5cHQ9InkiXSwgW2xpYmdjcnlwdD0ibiJdKQogQUNfU1VCU1QobGliZ2Ny
eXB0KQogQVhfQ0hFQ0tfUFRIUkVBRAotQUNfQ0hFQ0tfTElCKFtydF0sIFtjbG9ja19nZXR0aW1l
XSkKIEFDX0NIRUNLX0xJQihbeWFqbF0sIFt5YWpsX2FsbG9jXSwgW10sCiAgICAgW0FDX01TR19F
UlJPUihbQ291bGQgbm90IGZpbmQgeWFqbF0pXSkKIEFDX0NIRUNLX0xJQihbel0sIFtkZWZsYXRl
Q29weV0sIFtdLCBbQUNfTVNHX0VSUk9SKFtDb3VsZCBub3QgZmluZCB6bGliXSldKQpAQCAtMTQ1
LDU4ICsxMzksNiBAQCBBQ19DSEVDS19MSUIoW2ljb252XSwgW2xpYmljb252X29wZW5dLCBbbGli
aWNvbnY9InkiXSwgW2xpYmljb252PSJuIl0pCiBBQ19TVUJTVChsaWJpY29udikKIAogIyBDaGVj
a3MgZm9yIGhlYWRlciBmaWxlcy4KLUFDX0ZVTkNfQUxMT0NBCi1BQ19DSEVDS19IRUFERVJTKFsg
XAotICAgICAgICAgICAgICAgIGFycGEvaW5ldC5oIGZjbnRsLmggaW50dHlwZXMuaCBsaWJpbnRs
LmggbGltaXRzLmggbWFsbG9jLmggXAotICAgICAgICAgICAgICAgIG5ldGRiLmggbmV0aW5ldC9p
bi5oIHN0ZGRlZi5oIHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKLSAgICAgICAgICAgICAg
ICBzdHJpbmdzLmggc3lzL2ZpbGUuaCBzeXMvaW9jdGwuaCBzeXMvbW91bnQuaCBzeXMvcGFyYW0u
aCBcCi0gICAgICAgICAgICAgICAgc3lzL3NvY2tldC5oIHN5cy9zdGF0dmZzLmggc3lzL3RpbWUu
aCBzeXNsb2cuaCB0ZXJtaW9zLmggXAotICAgICAgICAgICAgICAgIHVuaXN0ZC5oIHlhamwveWFq
bF92ZXJzaW9uLmggXAotICAgICAgICAgICAgICAgIF0pCi0KLSMgQ2hlY2tzIGZvciB0eXBlZGVm
cywgc3RydWN0dXJlcywgYW5kIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljcy4KLUFDX0hFQURFUl9T
VERCT09MCi1BQ19UWVBFX1VJRF9UCi1BQ19DX0lOTElORQotQUNfVFlQRV9JTlQxNl9UCi1BQ19U
WVBFX0lOVDMyX1QKLUFDX1RZUEVfSU5UNjRfVAotQUNfVFlQRV9JTlQ4X1QKLUFDX1RZUEVfTU9E
RV9UCi1BQ19UWVBFX09GRl9UCi1BQ19UWVBFX1BJRF9UCi1BQ19DX1JFU1RSSUNUCi1BQ19UWVBF
X1NJWkVfVAotQUNfVFlQRV9TU0laRV9UCi1BQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3Qgc3RhdC5z
dF9ibGtzaXplXSkKLUFDX1NUUlVDVF9TVF9CTE9DS1MKLUFDX0NIRUNLX01FTUJFUlMoW3N0cnVj
dCBzdGF0LnN0X3JkZXZdKQotQUNfVFlQRV9VSU5UMTZfVAotQUNfVFlQRV9VSU5UMzJfVAotQUNf
VFlQRV9VSU5UNjRfVAotQUNfVFlQRV9VSU5UOF9UCi1BQ19DSEVDS19UWVBFUyhbcHRyZGlmZl90
XSkKLQotIyBDaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25zLgotQUNfRlVOQ19FUlJPUl9BVF9M
SU5FCi1BQ19GVU5DX0ZPUksKLUFDX0ZVTkNfRlNFRUtPCi1BQ19GVU5DX0xTVEFUX0ZPTExPV1Nf
U0xBU0hFRF9TWU1MSU5LCi1BQ19IRUFERVJfTUFKT1IKLUFDX0ZVTkNfTUFMTE9DCi1BQ19GVU5D
X01LVElNRQotQUNfRlVOQ19NTUFQCi1BQ19GVU5DX1JFQUxMT0MKLUFDX0ZVTkNfU1RSTkxFTgot
QUNfRlVOQ19TVFJUT0QKLUFDX0NIRUNLX0ZVTkNTKFsgXAotICAgICAgICAgICAgICAgIGFsYXJt
IGF0ZXhpdCBiemVybyBjbG9ja19nZXR0aW1lIGR1cDIgZmRhdGFzeW5jIGZ0cnVuY2F0ZSBcCi0g
ICAgICAgICAgICAgICAgZ2V0Y3dkIGdldGhvc3RieW5hbWUgZ2V0aG9zdG5hbWUgZ2V0cGFnZXNp
emUgZ2V0dGltZW9mZGF5IFwKLSAgICAgICAgICAgICAgICBpbmV0X250b2EgaXNhc2NpaSBsb2Nh
bHRpbWVfciBtZW1jaHIgbWVtbW92ZSBtZW1zZXQgbWtkaXIgXAotICAgICAgICAgICAgICAgIG1r
ZmlmbyBtdW5tYXAgcGF0aGNvbmYgcmVhbHBhdGggcmVnY29tcCBybWRpciBzZWxlY3Qgc2V0ZW52
IFwKLSAgICAgICAgICAgICAgICBzb2NrZXQgc3RyY2FzZWNtcCBzdHJjaHIgc3RyY3NwbiBzdHJk
dXAgc3RyZXJyb3Igc3RybmR1cCBcCi0gICAgICAgICAgICAgICAgc3RycGJyayBzdHJyY2hyIHN0
cnNwbiBzdHJzdHIgc3RydG9sIHN0cnRvdWwgc3RydG91bGwgdHpzZXQgXAotICAgICAgICAgICAg
ICAgIHVuYW1lIFwKLSAgICAgICAgICAgICAgICBdKQorQUNfQ0hFQ0tfSEVBREVSUyhbeWFqbC95
YWpsX3ZlcnNpb24uaF0pCiAKIEFDX09VVFBVVCgpCi0tIAoxLjcuMi41CgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz
dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Fri May 11 18:04:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 18:04:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSuCb-0002HC-5L; Fri, 11 May 2012 18:04:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSuCZ-0002Gn-5j
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 18:04:27 +0000
Received: from [85.158.138.51:40988] by server-8.bemta-3.messagelabs.com id
	A0/5C-24428-AA45DAF4; Fri, 11 May 2012 18:04:26 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336759464!17741172!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzMTk3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14245 invoked from network); 11 May 2012 18:04:25 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-174.messagelabs.com with SMTP;
	11 May 2012 18:04:25 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 11:04:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="141975764"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 11 May 2012 11:04:24 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 11:04:24 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 02:04:22 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQgAGHQueAADaqsA==
Date: Fri, 11 May 2012 18:04:21 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
In-Reply-To: <20120511142758.GA29677@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
>> Liu, Jinsong wrote:
>>> Just notice your reply (so quick :)
>>> 
>>> Agree and will update later, except 1 concern below.
>>> 
>>> Konrad Rzeszutek Wilk wrote:
>>>>> 
>>>>> Hmm, it's good if it's convenient to do it automatically via
>>>>> dev->release. However, dev container (pcpu) would be free at some
>>>>> other error cases, so I prefer do it 'manually'.
>>>> 
>>>> You could also call pcpu_release(..) to do it manually.
>>>> 
>>> 
>>> that means kfree(pcpu) would be done twice at some error cases, do
>>> you think it really good? 
>>> 
>> 
>> Ping.
>> 
>> I think error recovery should be kept inside error logic level
>> itself, if try to recover upper level error would bring trouble. 
>> 
>> In our example, there are 2 logic levels:
>> pcpu level (as container), and dev level (subfield used for sys)
> 
> So you need to untangle free_pcpu from doing both. Meaning one does
> the SysFS and the other deals with free-ing the structure and
> removing itself from the list.
> 

free_cpu is very samll, just consist of the 2 parts your said:
* pcpu_sys_remove() deal with sysfs
* list_del/kfree(pcpu) deal with pcpu

> 
>> dev->release should only recover error occurred at dev/sys level,
>> and the pcpu error should be recovered at pcpu level. 
>> 
>> If dev->release try to recover its container pcpu level error, like
>> list_del/kfree(pcpu), it would make confusing. i.e., considering
>> pcpu_sys_create(), 2 error cases: device_register fail, and
>> device_create_file fail --> how can the caller decide kfree(pcpu) or
>> not?   
> 
> Then you should free it manually. But you can do this by a wrapper
> function:
> 
> __pcpu_release(..) {
> 	..
> 	/* Does the removing itself from the list and kfree the pcpu */
> }
> pcpu_release(..) {
> 	struct pcpcu *p= container_of(..)
> 	__pcpu_release(p);
> }
> 
> dev->release = &pcpu_release;
> 

Too weird way. If we want to release dev itself it's good to use dev->release, but for pcpu I doubt it.
(consider the example I gave --> why we create issue (it maybe solved in weird method I agree), just for using dev->release?)

In kernel many dev->release keep NULL.
An example of using dev->release is cpu/mcheck/mce.c --> mce_device_release(), it *just* deal dev itself.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 18:04:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 18:04:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSuCb-0002HC-5L; Fri, 11 May 2012 18:04:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSuCZ-0002Gn-5j
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 18:04:27 +0000
Received: from [85.158.138.51:40988] by server-8.bemta-3.messagelabs.com id
	A0/5C-24428-AA45DAF4; Fri, 11 May 2012 18:04:26 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336759464!17741172!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzMTk3\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14245 invoked from network); 11 May 2012 18:04:25 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-174.messagelabs.com with SMTP;
	11 May 2012 18:04:25 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 11:04:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="141975764"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 11 May 2012 11:04:24 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 11:04:24 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 02:04:22 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQgAGHQueAADaqsA==
Date: Fri, 11 May 2012 18:04:21 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
In-Reply-To: <20120511142758.GA29677@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
>> Liu, Jinsong wrote:
>>> Just notice your reply (so quick :)
>>> 
>>> Agree and will update later, except 1 concern below.
>>> 
>>> Konrad Rzeszutek Wilk wrote:
>>>>> 
>>>>> Hmm, it's good if it's convenient to do it automatically via
>>>>> dev->release. However, dev container (pcpu) would be free at some
>>>>> other error cases, so I prefer do it 'manually'.
>>>> 
>>>> You could also call pcpu_release(..) to do it manually.
>>>> 
>>> 
>>> that means kfree(pcpu) would be done twice at some error cases, do
>>> you think it really good? 
>>> 
>> 
>> Ping.
>> 
>> I think error recovery should be kept inside error logic level
>> itself, if try to recover upper level error would bring trouble. 
>> 
>> In our example, there are 2 logic levels:
>> pcpu level (as container), and dev level (subfield used for sys)
> 
> So you need to untangle free_pcpu from doing both. Meaning one does
> the SysFS and the other deals with free-ing the structure and
> removing itself from the list.
> 

free_cpu is very samll, just consist of the 2 parts your said:
* pcpu_sys_remove() deal with sysfs
* list_del/kfree(pcpu) deal with pcpu

> 
>> dev->release should only recover error occurred at dev/sys level,
>> and the pcpu error should be recovered at pcpu level. 
>> 
>> If dev->release try to recover its container pcpu level error, like
>> list_del/kfree(pcpu), it would make confusing. i.e., considering
>> pcpu_sys_create(), 2 error cases: device_register fail, and
>> device_create_file fail --> how can the caller decide kfree(pcpu) or
>> not?   
> 
> Then you should free it manually. But you can do this by a wrapper
> function:
> 
> __pcpu_release(..) {
> 	..
> 	/* Does the removing itself from the list and kfree the pcpu */
> }
> pcpu_release(..) {
> 	struct pcpcu *p= container_of(..)
> 	__pcpu_release(p);
> }
> 
> dev->release = &pcpu_release;
> 

Too weird way. If we want to release dev itself it's good to use dev->release, but for pcpu I doubt it.
(consider the example I gave --> why we create issue (it maybe solved in weird method I agree), just for using dev->release?)

In kernel many dev->release keep NULL.
An example of using dev->release is cpu/mcheck/mce.c --> mce_device_release(), it *just* deal dev itself.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 18:36:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 18:36:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSuhU-00038l-2P; Fri, 11 May 2012 18:36:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSuhS-00038f-9P
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 18:36:22 +0000
Received: from [85.158.143.35:42857] by server-1.bemta-4.messagelabs.com id
	D6/6E-20925-52C5DAF4; Fri, 11 May 2012 18:36:21 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336761379!13739740!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32690 invoked from network); 11 May 2012 18:36:20 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 18:36:20 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BIaHST009370
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 18:36:18 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BIaG9M016047
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 18:36:17 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BIaGp2026911; Fri, 11 May 2012 13:36:16 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 11:36:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 999C740359; Fri, 11 May 2012 14:30:12 -0400 (EDT)
Date: Fri, 11 May 2012 14:30:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Christopher S. Aker" <caker@theshore.net>
Message-ID: <20120511183012.GB21486@phenom.dumpdata.com>
References: <4FA7EBF6.6040204@theshore.net>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="3MwIy2ne0vdjdPXF"
Content-Disposition: inline
In-Reply-To: <4FA7EBF6.6040204@theshore.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> Dom0: 3.2.6 PAE and 3.3.4 PAE
> 
> We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove
> loop deployed to a few dozen boxes will hit it quite reliably within
> a short time.  This happens on both an older LVM userspace and
> newest, and in production we have seen this hit on lvremove,
> lvrename, and lvdelete.
> 
> #!/bin/bash
> while true; do
>    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
> done

I just did this with 3.2.16 and didn't experience this. Can you
try 3.2.16 pls?

I used the attached .config

--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=".config"

#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 3.2.16 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_KTIME_SCALAR=y
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_FHANDLE is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_RCU_BOOST is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_DEVICE is not set
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
# CONFIG_CGROUP_MEM_RES_CTLR is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_BLK_CGROUP is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="early-devs"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
CONFIG_INITRAMFS_COMPRESSION_GZIP=y
# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
# CONFIG_BLK_DEV_INTEGRITY is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_BIGSMP=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_X86_32_IRIS is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_LGUEST_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
CONFIG_M686=y
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MELAN is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=7
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_CMPXCHG_DOUBLE=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
# CONFIG_X86_PPRO_FENCE is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_NR_CPUS=256
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_IRQ_TIME_ACCOUNTING=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_ANCIENT_MCE=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=y
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_NUMA=y
# CONFIG_NUMA_EMU is not set
CONFIG_NODES_SHIFT=3
CONFIG_HAVE_ARCH_BOOTMEM=y
CONFIG_HAVE_ARCH_ALLOC_REMAP=y
CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
CONFIG_NEED_NODE_MEMMAP_SIZE=y
CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_DISCONTIGMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_DISCONTIGMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_CLEANCACHE=y
CONFIG_HIGHPTE=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW=64
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
# CONFIG_KEXEC_JUMP is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y

#
# Power management and ACPI options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_RUNTIME is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_CAN_PM_TRACE=y
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_NUMA is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_CUSTOM_METHOD is not set
# CONFIG_ACPI_APEI is not set
# CONFIG_SFI is not set
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# x86 CPU frequency scaling drivers
#
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
CONFIG_X86_POWERNOW_K8=m
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
CONFIG_X86_P4_CLOCKMOD=m
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_E_POWERSAVER is not set

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_INTEL_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
# CONFIG_HOTPLUG_PCI_PCIE is not set
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_ALIX is not set
CONFIG_AMD_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_FAKE is not set
# CONFIG_HOTPLUG_PCI_COMPAQ is not set
# CONFIG_HOTPLUG_PCI_IBM is not set
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
# CONFIG_RAPIDIO is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_IP_MROUTE=y
# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_INET_LRO=y
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
CONFIG_TCP_CONG_CUBIC=y
# CONFIG_TCP_CONG_WESTWOOD is not set
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=y
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_ADVANCED is not set

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_IRC=y
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NETFILTER_XTABLES=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
# CONFIG_IP_SET is not set
# CONFIG_IP_VS is not set

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
# CONFIG_NF_NAT_TFTP is not set
# CONFIG_NF_NAT_AMANDA is not set
# CONFIG_NF_NAT_PPTP is not set
# CONFIG_NF_NAT_H323 is not set
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_MANGLE=y
# CONFIG_IP_NF_RAW is not set

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_TARGET_LOG=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_MANGLE=y
# CONFIG_IP6_NF_RAW is not set
# CONFIG_BRIDGE_NF_EBTABLES is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_PRIO is not set
# CONFIG_NET_SCH_MULTIQ is not set
# CONFIG_NET_SCH_RED is not set
# CONFIG_NET_SCH_SFB is not set
# CONFIG_NET_SCH_SFQ is not set
# CONFIG_NET_SCH_TEQL is not set
# CONFIG_NET_SCH_TBF is not set
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_DSMARK is not set
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_DRR is not set
# CONFIG_NET_SCH_MQPRIO is not set
# CONFIG_NET_SCH_CHOKE is not set
# CONFIG_NET_SCH_QFQ is not set
# CONFIG_NET_SCH_INGRESS is not set

#
# Classification
#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
# CONFIG_NET_CLS_TCINDEX is not set
# CONFIG_NET_CLS_ROUTE4 is not set
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not set
# CONFIG_NET_CLS_CGROUP is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
# CONFIG_NET_EMATCH_CMP is not set
# CONFIG_NET_EMATCH_NBYTE is not set
# CONFIG_NET_EMATCH_U32 is not set
# CONFIG_NET_EMATCH_META is not set
# CONFIG_NET_EMATCH_TEXT is not set
CONFIG_NET_CLS_ACT=y
# CONFIG_NET_ACT_POLICE is not set
# CONFIG_NET_ACT_GACT is not set
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_IPT is not set
# CONFIG_NET_ACT_NAT is not set
# CONFIG_NET_ACT_PEDIT is not set
# CONFIG_NET_ACT_SIMP is not set
# CONFIG_NET_ACT_SKBEDIT is not set
# CONFIG_NET_ACT_CSUM is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
# CONFIG_BATMAN_ADV is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_NET_DROP_MONITOR is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
CONFIG_SYS_HYPERVISOR=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
CONFIG_ISCSI_BOOT_SYSFS=m
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_SCSI_BNX2X_FCOE is not set
# CONFIG_BE2ISCSI is not set
CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_SCSI_HPSA is not set
CONFIG_SCSI_3W_9XXX=m
# CONFIG_SCSI_3W_SAS is not set
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=15000
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
# CONFIG_SCSI_MVSAS_TASKLET is not set
# CONFIG_SCSI_MVUMI is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS_LOGGING=y
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_FLASHPOINT=y
# CONFIG_VMWARE_PVSCSI is not set
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
# CONFIG_FCOE_FNIC is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=m
# CONFIG_SCSI_IPR_TRACE is not set
# CONFIG_SCSI_IPR_DUMP is not set
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
# CONFIG_SCSI_QLA_ISCSI is not set
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_NSP32=m
CONFIG_SCSI_DEBUG=m
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_SRP=m
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
# CONFIG_SATA_AHCI_PLATFORM is not set
CONFIG_SATA_INIC162X=m
# CONFIG_SATA_ACARD_AHCI is not set
CONFIG_SATA_SIL24=m
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_SX4=m
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARASAN_CF is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
CONFIG_PATA_EFAR=m
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
CONFIG_PATA_MARVELL=m
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RADISYS=m
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SC1200 is not set
CONFIG_PATA_SCH=m
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
CONFIG_PATA_SIS=m
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
CONFIG_PATA_WINBOND=m

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_PCMCIA=m
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=m
CONFIG_PATA_LEGACY=m
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MULTICORE_RAID456 is not set
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
# CONFIG_DM_THIN_PROVISIONING is not set
CONFIG_DM_MIRROR=m
# CONFIG_DM_RAID is not set
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
# CONFIG_DM_MULTIPATH_QL is not set
# CONFIG_DM_MULTIPATH_ST is not set
CONFIG_DM_DELAY=m
# CONFIG_DM_UEVENT is not set
# CONFIG_DM_FLAKEY is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=m
CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_CTL=m
# CONFIG_FUSION_LOGGING is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
CONFIG_MII=m
# CONFIG_IFB is not set
# CONFIG_MACVLAN is not set
CONFIG_NETCONSOLE=m
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
# CONFIG_VETH is not set
CONFIG_VIRTIO_NET=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set

#
# CAIF transport drivers
#
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_3C589 is not set
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
# CONFIG_ADAPTEC_STARFIRE is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
CONFIG_NET_VENDOR_AMD=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_PCNET32 is not set
# CONFIG_PCMCIA_NMCLAN is not set
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_ATL2 is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
CONFIG_ATL1C=m
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
CONFIG_BNX2=m
# CONFIG_CNIC is not set
CONFIG_TIGON3=y
CONFIG_BNX2X=m
CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not set
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
# CONFIG_TULIP is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# CONFIG_ULI526X is not set
# CONFIG_PCMCIA_XIRCOM is not set
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DL2K is not set
# CONFIG_SUNDANCE is not set
CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_BE2NET is not set
CONFIG_NET_VENDOR_EXAR=y
# CONFIG_S2IO is not set
# CONFIG_VXGE is not set
CONFIG_NET_VENDOR_FUJITSU=y
# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_NET_VENDOR_HP=y
# CONFIG_HP100 is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGBVF=m
# CONFIG_IXGB is not set
CONFIG_IXGBE=m
# CONFIG_IXGBEVF is not set
CONFIG_NET_VENDOR_I825XX=y
# CONFIG_ZNET is not set
# CONFIG_IP1000 is not set
# CONFIG_JME is not set
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
# CONFIG_SKGE_GENESIS is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
# CONFIG_MLX4_CORE is not set
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8851_MLL is not set
# CONFIG_KSZ884X_PCI is not set
CONFIG_NET_VENDOR_MYRI=y
# CONFIG_MYRI10GE is not set
# CONFIG_FEALNX is not set
CONFIG_NET_VENDOR_NATSEMI=y
# CONFIG_NATSEMI is not set
# CONFIG_NS83820 is not set
CONFIG_NET_VENDOR_8390=y
# CONFIG_PCMCIA_AXNET is not set
CONFIG_NE2K_PCI=m
# CONFIG_PCMCIA_PCNET is not set
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=y
CONFIG_NET_VENDOR_OKI=y
# CONFIG_PCH_GBE is not set
# CONFIG_ETHOC is not set
CONFIG_NET_PACKET_ENGINE=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
# CONFIG_QLGE is not set
# CONFIG_NETXEN_NIC is not set
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_8139CP is not set
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
CONFIG_NET_VENDOR_RDC=y
# CONFIG_R6040 is not set
CONFIG_NET_VENDOR_SEEQ=y
# CONFIG_SEEQ8005 is not set
CONFIG_NET_VENDOR_SILAN=y
CONFIG_SC92031=m
CONFIG_NET_VENDOR_SIS=y
# CONFIG_SIS900 is not set
# CONFIG_SIS190 is not set
# CONFIG_SFC is not set
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SMSC9420 is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
# CONFIG_NIU is not set
CONFIG_NET_VENDOR_TEHUTI=y
# CONFIG_TEHUTI is not set
CONFIG_NET_VENDOR_TI=y
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_VIA_VELOCITY=m
CONFIG_NET_VENDOR_XIRCOM=y
# CONFIG_PCMCIA_XIRC2PS is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_TR=y
# CONFIG_PCMCIA_IBMTR is not set
# CONFIG_IBMOL is not set
# CONFIG_IBMLS is not set
CONFIG_3C359=m
# CONFIG_TMS380TR is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_WLAN is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=y
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_SPARSEKMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_JOYSTICK_XPAD is not set
CONFIG_INPUT_TABLET=y
# CONFIG_TABLET_USB_ACECAD is not set
# CONFIG_TABLET_USB_AIPTEK is not set
# CONFIG_TABLET_USB_GTCO is not set
# CONFIG_TABLET_USB_HANWANG is not set
# CONFIG_TABLET_USB_KBTAB is not set
# CONFIG_TABLET_USB_WACOM is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MPU3050 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_WISTRON_BTNS is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_KXTJ9 is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_CMA3000 is not set
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_DEVKMEM=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=16
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MFD_HSU is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_IPWIRELESS is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
# CONFIG_I2C_EG20T is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set

#
# PPS support
#
# CONFIG_PPS is not set

#
# PPS generators support
#

#
# PTP clock support
#

#
# Enable Device Drivers -> PPS to see the PTP clock options.
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ20Z75 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_MAX8903 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_APPLESMC is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_ALI=y
CONFIG_AGP_ATI=y
CONFIG_AGP_AMD=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_NVIDIA=y
CONFIG_AGP_SIS=y
CONFIG_AGP_SWORKS=y
CONFIG_AGP_VIA=y
CONFIG_AGP_EFFICEON=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_TTM=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
# CONFIG_DRM_VMWGFX is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
# CONFIG_FB_WMT_GE_ROPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=y
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
# CONFIG_FB_VESA is not set
CONFIG_FB_EFI=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=m
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
CONFIG_HIDRAW=y

#
# USB Input Devices
#
CONFIG_USB_HID=m
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=m
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CYPRESS=m
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
CONFIG_HID_EZKEY=m
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_KEYTOUCH is not set
CONFIG_HID_KYE=m
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
CONFIG_HID_GYRATION=m
# CONFIG_HID_TWINHAN is not set
CONFIG_HID_KENSINGTON=m
# CONFIG_HID_LCPOWER is not set
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
# CONFIG_HID_MULTITOUCH is not set
CONFIG_HID_NTRIG=m
# CONFIG_HID_ORTEK is not set
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_QUANTA is not set
# CONFIG_HID_ROCCAT is not set
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
# CONFIG_HID_SPEEDLINK is not set
CONFIG_HID_SUNPLUS=m
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
CONFIG_HID_TOPSEED=m
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_DWC3 is not set
CONFIG_USB_MON=y
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set
CONFIG_USB_LIBUSUAL=y

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set

#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_GADGET is not set

#
# OTG and related infrastructure
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_UWB is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_DELL_NETBOOKS is not set
# CONFIG_LEDS_TRIGGERS is not set

#
# LED Triggers
#
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=y
# CONFIG_EDAC_MCE_INJ is not set
# CONFIG_EDAC_MM_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set

#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
# CONFIG_INTEL_MID_DMAC is not set
# CONFIG_INTEL_IOATDMA is not set
# CONFIG_TIMB_DMA is not set
# CONFIG_PCH_DMA is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=y
# CONFIG_VIRTIO_MMIO is not set

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SELFBALLOONING=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=y
CONFIG_XEN_PCIDEV_BACKEND=y
CONFIG_STAGING=y
# CONFIG_ET131X is not set
# CONFIG_SLICOSS is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_ECHO is not set
# CONFIG_COMEDI is not set
# CONFIG_ASUS_OLED is not set
# CONFIG_RTS_PSTOR is not set
# CONFIG_RTS5139 is not set
# CONFIG_TRANZPORT is not set
# CONFIG_POHMELFS is not set
# CONFIG_IDE_PHISON is not set
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set
CONFIG_DRM_NOUVEAU_DEBUG=y

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_VME_BUS is not set
# CONFIG_DX_SEP is not set
# CONFIG_IIO is not set
CONFIG_XVMALLOC=y
CONFIG_ZRAM=y
# CONFIG_ZRAM_DEBUG is not set
CONFIG_ZCACHE=y
# CONFIG_FB_SM7XX is not set
# CONFIG_CRYSTALHD is not set
# CONFIG_FB_XGI is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_USB_ENESTORAGE is not set
# CONFIG_BCM_WIMAX is not set
# CONFIG_FT1000 is not set

#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
# CONFIG_DRM_PSB is not set
# CONFIG_STAGING_MEDIA is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ACER_WMI is not set
# CONFIG_ACERHDF is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_DELL_WMI is not set
# CONFIG_DELL_WMI_AIO is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_TC1100_WMI is not set
# CONFIG_HP_ACCEL is not set
# CONFIG_HP_WMI is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_MENLOW is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_ASUS_WMI is not set
CONFIG_ACPI_WMI=m
# CONFIG_MSI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_IBM_RTL is not set
# CONFIG_XO15_EBOOK is not set
# CONFIG_SAMSUNG_LAPTOP is not set
CONFIG_MXM_WMI=m
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_SAMSUNG_Q10 is not set

#
# Hardware Spinlock drivers
#
CONFIG_CLKSRC_I8253=y
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_SUPPORT=y
# CONFIG_INTEL_IOMMU is not set
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_HYPERV is not set
# CONFIG_PM_DEVFREQ is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EFI_VARS=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
# CONFIG_SIGMA is not set
# CONFIG_GOOGLE_FIRMWARE is not set

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=m
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_FS_XIP=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
CONFIG_XFS_FS=m
# CONFIG_XFS_QUOTA is not set
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=m
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_V4_1 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_USE_NEW_IDMAPPER is not set
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
# CONFIG_CEPH_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_KMEMLEAK is not set
CONFIG_DEBUG_PREEMPT=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_REDUCED=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_CPU_STALL_VERBOSE=y
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
CONFIG_FAULT_INJECTION=y
# CONFIG_FAILSLAB is not set
# CONFIG_FAIL_PAGE_ALLOC is not set
CONFIG_FAIL_MAKE_REQUEST=y
# CONFIG_FAIL_IO_TIMEOUT is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
# CONFIG_KGDB_LOW_LEVEL_TRAP is not set
# CONFIG_KGDB_KDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_KMEMCHECK is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_X86_PTDUMP=y
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_SET_MODULE_RONX=y
CONFIG_DEBUG_NX_TEST=m
CONFIG_DOUBLEFAULT=y
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
# CONFIG_SECURITY_PATH is not set
CONFIG_LSM_MMAP_MIN_ADDR=65534
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="selinux"
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
# CONFIG_CRYPTO_AES_NI_INTEL is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_586 is not set

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
CONFIG_CRYPTO_ZLIB=y
# CONFIG_CRYPTO_LZO is not set

#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_GEODE is not set
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
# CONFIG_KVM_MMU_AUDIT is not set
CONFIG_VHOST_NET=y
# CONFIG_LGUEST is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=y
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
# CONFIG_CRC8 is not set
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set

--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--3MwIy2ne0vdjdPXF--


From xen-devel-bounces@lists.xen.org Fri May 11 18:36:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 18:36:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSuhU-00038l-2P; Fri, 11 May 2012 18:36:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSuhS-00038f-9P
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 18:36:22 +0000
Received: from [85.158.143.35:42857] by server-1.bemta-4.messagelabs.com id
	D6/6E-20925-52C5DAF4; Fri, 11 May 2012 18:36:21 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336761379!13739740!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32690 invoked from network); 11 May 2012 18:36:20 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 18:36:20 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BIaHST009370
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 18:36:18 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BIaG9M016047
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 18:36:17 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BIaGp2026911; Fri, 11 May 2012 13:36:16 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 11:36:15 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 999C740359; Fri, 11 May 2012 14:30:12 -0400 (EDT)
Date: Fri, 11 May 2012 14:30:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Christopher S. Aker" <caker@theshore.net>
Message-ID: <20120511183012.GB21486@phenom.dumpdata.com>
References: <4FA7EBF6.6040204@theshore.net>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="3MwIy2ne0vdjdPXF"
Content-Disposition: inline
In-Reply-To: <4FA7EBF6.6040204@theshore.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> Dom0: 3.2.6 PAE and 3.3.4 PAE
> 
> We seeing the below crash on 3.x dom0s.  A simple lvcreate/lvremove
> loop deployed to a few dozen boxes will hit it quite reliably within
> a short time.  This happens on both an older LVM userspace and
> newest, and in production we have seen this hit on lvremove,
> lvrename, and lvdelete.
> 
> #!/bin/bash
> while true; do
>    lvcreate -L 256M -n test1 vg1; lvremove -f vg1/test1
> done

I just did this with 3.2.16 and didn't experience this. Can you
try 3.2.16 pls?

I used the attached .config

--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=".config"

#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 3.2.16 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_KTIME_SCALAR=y
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_FHANDLE is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_RCU_BOOST is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_DEVICE is not set
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
# CONFIG_CGROUP_MEM_RES_CTLR is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_BLK_CGROUP is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="early-devs"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
CONFIG_INITRAMFS_COMPRESSION_GZIP=y
# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
# CONFIG_BLK_DEV_INTEGRITY is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_BIGSMP=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_X86_32_IRIS is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_LGUEST_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
CONFIG_M686=y
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MELAN is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=7
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_CMPXCHG_DOUBLE=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
# CONFIG_X86_PPRO_FENCE is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_NR_CPUS=256
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_IRQ_TIME_ACCOUNTING=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_ANCIENT_MCE=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=y
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_NUMA=y
# CONFIG_NUMA_EMU is not set
CONFIG_NODES_SHIFT=3
CONFIG_HAVE_ARCH_BOOTMEM=y
CONFIG_HAVE_ARCH_ALLOC_REMAP=y
CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
CONFIG_NEED_NODE_MEMMAP_SIZE=y
CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_DISCONTIGMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_DISCONTIGMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_CLEANCACHE=y
CONFIG_HIGHPTE=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW=64
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
# CONFIG_KEXEC_JUMP is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y

#
# Power management and ACPI options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_RUNTIME is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_CAN_PM_TRACE=y
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_NUMA is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_CUSTOM_METHOD is not set
# CONFIG_ACPI_APEI is not set
# CONFIG_SFI is not set
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# x86 CPU frequency scaling drivers
#
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
CONFIG_X86_POWERNOW_K8=m
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
CONFIG_X86_P4_CLOCKMOD=m
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_E_POWERSAVER is not set

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_INTEL_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
# CONFIG_HOTPLUG_PCI_PCIE is not set
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_ALIX is not set
CONFIG_AMD_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_FAKE is not set
# CONFIG_HOTPLUG_PCI_COMPAQ is not set
# CONFIG_HOTPLUG_PCI_IBM is not set
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
# CONFIG_RAPIDIO is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_IP_MROUTE=y
# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_INET_LRO=y
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
CONFIG_TCP_CONG_CUBIC=y
# CONFIG_TCP_CONG_WESTWOOD is not set
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=y
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_ADVANCED is not set

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_IRC=y
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NETFILTER_XTABLES=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
# CONFIG_IP_SET is not set
# CONFIG_IP_VS is not set

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
# CONFIG_NF_NAT_TFTP is not set
# CONFIG_NF_NAT_AMANDA is not set
# CONFIG_NF_NAT_PPTP is not set
# CONFIG_NF_NAT_H323 is not set
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_MANGLE=y
# CONFIG_IP_NF_RAW is not set

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_TARGET_LOG=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_MANGLE=y
# CONFIG_IP6_NF_RAW is not set
# CONFIG_BRIDGE_NF_EBTABLES is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_PRIO is not set
# CONFIG_NET_SCH_MULTIQ is not set
# CONFIG_NET_SCH_RED is not set
# CONFIG_NET_SCH_SFB is not set
# CONFIG_NET_SCH_SFQ is not set
# CONFIG_NET_SCH_TEQL is not set
# CONFIG_NET_SCH_TBF is not set
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_DSMARK is not set
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_DRR is not set
# CONFIG_NET_SCH_MQPRIO is not set
# CONFIG_NET_SCH_CHOKE is not set
# CONFIG_NET_SCH_QFQ is not set
# CONFIG_NET_SCH_INGRESS is not set

#
# Classification
#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
# CONFIG_NET_CLS_TCINDEX is not set
# CONFIG_NET_CLS_ROUTE4 is not set
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not set
# CONFIG_NET_CLS_CGROUP is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
# CONFIG_NET_EMATCH_CMP is not set
# CONFIG_NET_EMATCH_NBYTE is not set
# CONFIG_NET_EMATCH_U32 is not set
# CONFIG_NET_EMATCH_META is not set
# CONFIG_NET_EMATCH_TEXT is not set
CONFIG_NET_CLS_ACT=y
# CONFIG_NET_ACT_POLICE is not set
# CONFIG_NET_ACT_GACT is not set
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_IPT is not set
# CONFIG_NET_ACT_NAT is not set
# CONFIG_NET_ACT_PEDIT is not set
# CONFIG_NET_ACT_SIMP is not set
# CONFIG_NET_ACT_SKBEDIT is not set
# CONFIG_NET_ACT_CSUM is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
# CONFIG_BATMAN_ADV is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_NET_DROP_MONITOR is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
CONFIG_SYS_HYPERVISOR=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
CONFIG_ISCSI_BOOT_SYSFS=m
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_SCSI_BNX2X_FCOE is not set
# CONFIG_BE2ISCSI is not set
CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_SCSI_HPSA is not set
CONFIG_SCSI_3W_9XXX=m
# CONFIG_SCSI_3W_SAS is not set
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=15000
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
# CONFIG_SCSI_MVSAS_TASKLET is not set
# CONFIG_SCSI_MVUMI is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS_LOGGING=y
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_FLASHPOINT=y
# CONFIG_VMWARE_PVSCSI is not set
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
# CONFIG_FCOE_FNIC is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=m
# CONFIG_SCSI_IPR_TRACE is not set
# CONFIG_SCSI_IPR_DUMP is not set
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
# CONFIG_SCSI_QLA_ISCSI is not set
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_NSP32=m
CONFIG_SCSI_DEBUG=m
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_SRP=m
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
# CONFIG_SATA_AHCI_PLATFORM is not set
CONFIG_SATA_INIC162X=m
# CONFIG_SATA_ACARD_AHCI is not set
CONFIG_SATA_SIL24=m
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_SX4=m
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARASAN_CF is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
CONFIG_PATA_EFAR=m
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
CONFIG_PATA_MARVELL=m
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RADISYS=m
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SC1200 is not set
CONFIG_PATA_SCH=m
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
CONFIG_PATA_SIS=m
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
CONFIG_PATA_WINBOND=m

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_PCMCIA=m
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=m
CONFIG_PATA_LEGACY=m
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MULTICORE_RAID456 is not set
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
# CONFIG_DM_THIN_PROVISIONING is not set
CONFIG_DM_MIRROR=m
# CONFIG_DM_RAID is not set
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
# CONFIG_DM_MULTIPATH_QL is not set
# CONFIG_DM_MULTIPATH_ST is not set
CONFIG_DM_DELAY=m
# CONFIG_DM_UEVENT is not set
# CONFIG_DM_FLAKEY is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=m
CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_CTL=m
# CONFIG_FUSION_LOGGING is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
CONFIG_MII=m
# CONFIG_IFB is not set
# CONFIG_MACVLAN is not set
CONFIG_NETCONSOLE=m
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
# CONFIG_VETH is not set
CONFIG_VIRTIO_NET=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set

#
# CAIF transport drivers
#
CONFIG_ETHERNET=y
CONFIG_MDIO=m
CONFIG_NET_VENDOR_3COM=y
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_3C589 is not set
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_NET_VENDOR_ADAPTEC=y
# CONFIG_ADAPTEC_STARFIRE is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
CONFIG_NET_VENDOR_AMD=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_PCNET32 is not set
# CONFIG_PCMCIA_NMCLAN is not set
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_ATL2 is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
CONFIG_ATL1C=m
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
CONFIG_BNX2=m
# CONFIG_CNIC is not set
CONFIG_TIGON3=y
CONFIG_BNX2X=m
CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not set
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
# CONFIG_TULIP is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# CONFIG_ULI526X is not set
# CONFIG_PCMCIA_XIRCOM is not set
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DL2K is not set
# CONFIG_SUNDANCE is not set
CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_BE2NET is not set
CONFIG_NET_VENDOR_EXAR=y
# CONFIG_S2IO is not set
# CONFIG_VXGE is not set
CONFIG_NET_VENDOR_FUJITSU=y
# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_NET_VENDOR_HP=y
# CONFIG_HP100 is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGBVF=m
# CONFIG_IXGB is not set
CONFIG_IXGBE=m
# CONFIG_IXGBEVF is not set
CONFIG_NET_VENDOR_I825XX=y
# CONFIG_ZNET is not set
# CONFIG_IP1000 is not set
# CONFIG_JME is not set
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
# CONFIG_SKGE_GENESIS is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
# CONFIG_MLX4_CORE is not set
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8851_MLL is not set
# CONFIG_KSZ884X_PCI is not set
CONFIG_NET_VENDOR_MYRI=y
# CONFIG_MYRI10GE is not set
# CONFIG_FEALNX is not set
CONFIG_NET_VENDOR_NATSEMI=y
# CONFIG_NATSEMI is not set
# CONFIG_NS83820 is not set
CONFIG_NET_VENDOR_8390=y
# CONFIG_PCMCIA_AXNET is not set
CONFIG_NE2K_PCI=m
# CONFIG_PCMCIA_PCNET is not set
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=y
CONFIG_NET_VENDOR_OKI=y
# CONFIG_PCH_GBE is not set
# CONFIG_ETHOC is not set
CONFIG_NET_PACKET_ENGINE=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
# CONFIG_QLGE is not set
# CONFIG_NETXEN_NIC is not set
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_8139CP is not set
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
CONFIG_NET_VENDOR_RDC=y
# CONFIG_R6040 is not set
CONFIG_NET_VENDOR_SEEQ=y
# CONFIG_SEEQ8005 is not set
CONFIG_NET_VENDOR_SILAN=y
CONFIG_SC92031=m
CONFIG_NET_VENDOR_SIS=y
# CONFIG_SIS900 is not set
# CONFIG_SIS190 is not set
# CONFIG_SFC is not set
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SMSC9420 is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
# CONFIG_NIU is not set
CONFIG_NET_VENDOR_TEHUTI=y
# CONFIG_TEHUTI is not set
CONFIG_NET_VENDOR_TI=y
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_VIA_VELOCITY=m
CONFIG_NET_VENDOR_XIRCOM=y
# CONFIG_PCMCIA_XIRC2PS is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_TR=y
# CONFIG_PCMCIA_IBMTR is not set
# CONFIG_IBMOL is not set
# CONFIG_IBMLS is not set
CONFIG_3C359=m
# CONFIG_TMS380TR is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_WLAN is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=y
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_SPARSEKMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_JOYSTICK_XPAD is not set
CONFIG_INPUT_TABLET=y
# CONFIG_TABLET_USB_ACECAD is not set
# CONFIG_TABLET_USB_AIPTEK is not set
# CONFIG_TABLET_USB_GTCO is not set
# CONFIG_TABLET_USB_HANWANG is not set
# CONFIG_TABLET_USB_KBTAB is not set
# CONFIG_TABLET_USB_WACOM is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MPU3050 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_WISTRON_BTNS is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_KXTJ9 is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_CMA3000 is not set
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_DEVKMEM=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=16
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MFD_HSU is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_IPWIRELESS is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
# CONFIG_I2C_EG20T is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set

#
# PPS support
#
# CONFIG_PPS is not set

#
# PPS generators support
#

#
# PTP clock support
#

#
# Enable Device Drivers -> PPS to see the PTP clock options.
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ20Z75 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_MAX8903 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_APPLESMC is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_ALI=y
CONFIG_AGP_ATI=y
CONFIG_AGP_AMD=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_NVIDIA=y
CONFIG_AGP_SIS=y
CONFIG_AGP_SWORKS=y
CONFIG_AGP_VIA=y
CONFIG_AGP_EFFICEON=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_TTM=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
# CONFIG_DRM_VMWGFX is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
# CONFIG_FB_WMT_GE_ROPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=y
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
# CONFIG_FB_VESA is not set
CONFIG_FB_EFI=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=m
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
CONFIG_HIDRAW=y

#
# USB Input Devices
#
CONFIG_USB_HID=m
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=m
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CYPRESS=m
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
CONFIG_HID_EZKEY=m
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_KEYTOUCH is not set
CONFIG_HID_KYE=m
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
CONFIG_HID_GYRATION=m
# CONFIG_HID_TWINHAN is not set
CONFIG_HID_KENSINGTON=m
# CONFIG_HID_LCPOWER is not set
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
# CONFIG_HID_MULTITOUCH is not set
CONFIG_HID_NTRIG=m
# CONFIG_HID_ORTEK is not set
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_QUANTA is not set
# CONFIG_HID_ROCCAT is not set
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
# CONFIG_HID_SPEEDLINK is not set
CONFIG_HID_SUNPLUS=m
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
CONFIG_HID_TOPSEED=m
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_DWC3 is not set
CONFIG_USB_MON=y
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set
CONFIG_USB_LIBUSUAL=y

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set

#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_GADGET is not set

#
# OTG and related infrastructure
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_UWB is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_DELL_NETBOOKS is not set
# CONFIG_LEDS_TRIGGERS is not set

#
# LED Triggers
#
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=y
# CONFIG_EDAC_MCE_INJ is not set
# CONFIG_EDAC_MM_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set

#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
# CONFIG_INTEL_MID_DMAC is not set
# CONFIG_INTEL_IOATDMA is not set
# CONFIG_TIMB_DMA is not set
# CONFIG_PCH_DMA is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=y
# CONFIG_VIRTIO_MMIO is not set

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SELFBALLOONING=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=y
CONFIG_XEN_PCIDEV_BACKEND=y
CONFIG_STAGING=y
# CONFIG_ET131X is not set
# CONFIG_SLICOSS is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_ECHO is not set
# CONFIG_COMEDI is not set
# CONFIG_ASUS_OLED is not set
# CONFIG_RTS_PSTOR is not set
# CONFIG_RTS5139 is not set
# CONFIG_TRANZPORT is not set
# CONFIG_POHMELFS is not set
# CONFIG_IDE_PHISON is not set
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set
CONFIG_DRM_NOUVEAU_DEBUG=y

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_VME_BUS is not set
# CONFIG_DX_SEP is not set
# CONFIG_IIO is not set
CONFIG_XVMALLOC=y
CONFIG_ZRAM=y
# CONFIG_ZRAM_DEBUG is not set
CONFIG_ZCACHE=y
# CONFIG_FB_SM7XX is not set
# CONFIG_CRYSTALHD is not set
# CONFIG_FB_XGI is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_USB_ENESTORAGE is not set
# CONFIG_BCM_WIMAX is not set
# CONFIG_FT1000 is not set

#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
# CONFIG_DRM_PSB is not set
# CONFIG_STAGING_MEDIA is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ACER_WMI is not set
# CONFIG_ACERHDF is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_DELL_WMI is not set
# CONFIG_DELL_WMI_AIO is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_TC1100_WMI is not set
# CONFIG_HP_ACCEL is not set
# CONFIG_HP_WMI is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_MENLOW is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_ASUS_WMI is not set
CONFIG_ACPI_WMI=m
# CONFIG_MSI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_IBM_RTL is not set
# CONFIG_XO15_EBOOK is not set
# CONFIG_SAMSUNG_LAPTOP is not set
CONFIG_MXM_WMI=m
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_SAMSUNG_Q10 is not set

#
# Hardware Spinlock drivers
#
CONFIG_CLKSRC_I8253=y
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_SUPPORT=y
# CONFIG_INTEL_IOMMU is not set
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_HYPERV is not set
# CONFIG_PM_DEVFREQ is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EFI_VARS=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
# CONFIG_SIGMA is not set
# CONFIG_GOOGLE_FIRMWARE is not set

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=m
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_FS_XIP=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
CONFIG_XFS_FS=m
# CONFIG_XFS_QUOTA is not set
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=m
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_V4_1 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_USE_NEW_IDMAPPER is not set
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
# CONFIG_CEPH_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_KMEMLEAK is not set
CONFIG_DEBUG_PREEMPT=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_REDUCED=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_CPU_STALL_VERBOSE=y
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
CONFIG_FAULT_INJECTION=y
# CONFIG_FAILSLAB is not set
# CONFIG_FAIL_PAGE_ALLOC is not set
CONFIG_FAIL_MAKE_REQUEST=y
# CONFIG_FAIL_IO_TIMEOUT is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
# CONFIG_KGDB_LOW_LEVEL_TRAP is not set
# CONFIG_KGDB_KDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_KMEMCHECK is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_X86_PTDUMP=y
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_SET_MODULE_RONX=y
CONFIG_DEBUG_NX_TEST=m
CONFIG_DOUBLEFAULT=y
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
# CONFIG_SECURITY_PATH is not set
CONFIG_LSM_MMAP_MIN_ADDR=65534
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="selinux"
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
# CONFIG_CRYPTO_AES_NI_INTEL is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_586 is not set

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
CONFIG_CRYPTO_ZLIB=y
# CONFIG_CRYPTO_LZO is not set

#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_GEODE is not set
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
# CONFIG_KVM_MMU_AUDIT is not set
CONFIG_VHOST_NET=y
# CONFIG_LGUEST is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=y
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
# CONFIG_CRC8 is not set
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set

--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--3MwIy2ne0vdjdPXF--


From xen-devel-bounces@lists.xen.org Fri May 11 19:07:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:07:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvAy-0003i0-VW; Fri, 11 May 2012 19:06:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSvAw-0003hv-OG
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:06:50 +0000
Received: from [85.158.143.35:14657] by server-2.bemta-4.messagelabs.com id
	65/AF-17550-A436DAF4; Fri, 11 May 2012 19:06:50 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336763208!13578662!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4963 invoked from network); 11 May 2012 19:06:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 19:06:49 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJ6jHn014884
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:06:46 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJ6iVm029225
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:06:45 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJ6iJ6000517; Fri, 11 May 2012 14:06:44 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:06:44 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5B69640359; Fri, 11 May 2012 15:00:41 -0400 (EDT)
Date: Fri, 11 May 2012 15:00:41 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511190041.GA3785@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 06:04:21PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> > On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
> >> Liu, Jinsong wrote:
> >>> Just notice your reply (so quick :)
> >>> 
> >>> Agree and will update later, except 1 concern below.
> >>> 
> >>> Konrad Rzeszutek Wilk wrote:
> >>>>> 
> >>>>> Hmm, it's good if it's convenient to do it automatically via
> >>>>> dev->release. However, dev container (pcpu) would be free at some
> >>>>> other error cases, so I prefer do it 'manually'.
> >>>> 
> >>>> You could also call pcpu_release(..) to do it manually.
> >>>> 
> >>> 
> >>> that means kfree(pcpu) would be done twice at some error cases, do
> >>> you think it really good? 
> >>> 
> >> 
> >> Ping.
> >> 
> >> I think error recovery should be kept inside error logic level
> >> itself, if try to recover upper level error would bring trouble. 
> >> 
> >> In our example, there are 2 logic levels:
> >> pcpu level (as container), and dev level (subfield used for sys)
> > 
> > So you need to untangle free_pcpu from doing both. Meaning one does
> > the SysFS and the other deals with free-ing the structure and
> > removing itself from the list.
> > 
> 
> free_cpu is very samll, just consist of the 2 parts your said:
> * pcpu_sys_remove() deal with sysfs
> * list_del/kfree(pcpu) deal with pcpu
> 
> > 
> >> dev->release should only recover error occurred at dev/sys level,
> >> and the pcpu error should be recovered at pcpu level. 
> >> 
> >> If dev->release try to recover its container pcpu level error, like
> >> list_del/kfree(pcpu), it would make confusing. i.e., considering
> >> pcpu_sys_create(), 2 error cases: device_register fail, and
> >> device_create_file fail --> how can the caller decide kfree(pcpu) or
> >> not?   
> > 
> > Then you should free it manually. But you can do this by a wrapper
> > function:
> > 
> > __pcpu_release(..) {
> > 	..
> > 	/* Does the removing itself from the list and kfree the pcpu */
> > }
> > pcpu_release(..) {
> > 	struct pcpcu *p= container_of(..)
> > 	__pcpu_release(p);
> > }
> > 
> > dev->release = &pcpu_release;
> > 
> 
> Too weird way. If we want to release dev itself it's good to use dev->release, but for pcpu I doubt it.
> (consider the example I gave --> why we create issue (it maybe solved in weird method I agree), just for using dev->release?)
> 
> In kernel many dev->release keep NULL.
> An example of using dev->release is cpu/mcheck/mce.c --> mce_device_release(), it *just* deal dev itself.

OK? I am not sure what are we arguing here anymore?
I think using 'kfree(pcpu)' on the error paths (as long as it is
done before device_register) is OK. I think that seperating
the SysFS deletion from the pcpu deletion should be done to
avoid races. Perhaps the SysFS deletion function should also
remove the pcpu from the list.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:07:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:07:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvAy-0003i0-VW; Fri, 11 May 2012 19:06:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSvAw-0003hv-OG
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:06:50 +0000
Received: from [85.158.143.35:14657] by server-2.bemta-4.messagelabs.com id
	65/AF-17550-A436DAF4; Fri, 11 May 2012 19:06:50 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336763208!13578662!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4963 invoked from network); 11 May 2012 19:06:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 19:06:49 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJ6jHn014884
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:06:46 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJ6iVm029225
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:06:45 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJ6iJ6000517; Fri, 11 May 2012 14:06:44 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:06:44 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5B69640359; Fri, 11 May 2012 15:00:41 -0400 (EDT)
Date: Fri, 11 May 2012 15:00:41 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511190041.GA3785@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 06:04:21PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> > On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
> >> Liu, Jinsong wrote:
> >>> Just notice your reply (so quick :)
> >>> 
> >>> Agree and will update later, except 1 concern below.
> >>> 
> >>> Konrad Rzeszutek Wilk wrote:
> >>>>> 
> >>>>> Hmm, it's good if it's convenient to do it automatically via
> >>>>> dev->release. However, dev container (pcpu) would be free at some
> >>>>> other error cases, so I prefer do it 'manually'.
> >>>> 
> >>>> You could also call pcpu_release(..) to do it manually.
> >>>> 
> >>> 
> >>> that means kfree(pcpu) would be done twice at some error cases, do
> >>> you think it really good? 
> >>> 
> >> 
> >> Ping.
> >> 
> >> I think error recovery should be kept inside error logic level
> >> itself, if try to recover upper level error would bring trouble. 
> >> 
> >> In our example, there are 2 logic levels:
> >> pcpu level (as container), and dev level (subfield used for sys)
> > 
> > So you need to untangle free_pcpu from doing both. Meaning one does
> > the SysFS and the other deals with free-ing the structure and
> > removing itself from the list.
> > 
> 
> free_cpu is very samll, just consist of the 2 parts your said:
> * pcpu_sys_remove() deal with sysfs
> * list_del/kfree(pcpu) deal with pcpu
> 
> > 
> >> dev->release should only recover error occurred at dev/sys level,
> >> and the pcpu error should be recovered at pcpu level. 
> >> 
> >> If dev->release try to recover its container pcpu level error, like
> >> list_del/kfree(pcpu), it would make confusing. i.e., considering
> >> pcpu_sys_create(), 2 error cases: device_register fail, and
> >> device_create_file fail --> how can the caller decide kfree(pcpu) or
> >> not?   
> > 
> > Then you should free it manually. But you can do this by a wrapper
> > function:
> > 
> > __pcpu_release(..) {
> > 	..
> > 	/* Does the removing itself from the list and kfree the pcpu */
> > }
> > pcpu_release(..) {
> > 	struct pcpcu *p= container_of(..)
> > 	__pcpu_release(p);
> > }
> > 
> > dev->release = &pcpu_release;
> > 
> 
> Too weird way. If we want to release dev itself it's good to use dev->release, but for pcpu I doubt it.
> (consider the example I gave --> why we create issue (it maybe solved in weird method I agree), just for using dev->release?)
> 
> In kernel many dev->release keep NULL.
> An example of using dev->release is cpu/mcheck/mce.c --> mce_device_release(), it *just* deal dev itself.

OK? I am not sure what are we arguing here anymore?
I think using 'kfree(pcpu)' on the error paths (as long as it is
done before device_register) is OK. I think that seperating
the SysFS deletion from the pcpu deletion should be done to
avoid races. Perhaps the SysFS deletion function should also
remove the pcpu from the list.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:21:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvOJ-0003yq-Dm; Fri, 11 May 2012 19:20:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSvOH-0003yl-QT
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:20:38 +0000
Received: from [85.158.139.83:27853] by server-9.bemta-5.messagelabs.com id
	F1/B4-09826-3866DAF4; Fri, 11 May 2012 19:20:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336764034!28252269!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18976 invoked from network); 11 May 2012 19:20:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 19:20:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12436088"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 19:20:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 20:20:33 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSvOD-0000Iu-LQ;
	Fri, 11 May 2012 19:20:33 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSvOD-0005I0-KJ;
	Fri, 11 May 2012 20:20:33 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12853-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 11 May 2012 20:20:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12853: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12853 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12853/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12852
 test-amd64-amd64-xl-win7-amd64  3 host-install(3)       broken REGR. vs. 12852

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  42553101ccfe
baseline version:
 xen                  54c8c9eaee92

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               broken  
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:21:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvOJ-0003yq-Dm; Fri, 11 May 2012 19:20:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SSvOH-0003yl-QT
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:20:38 +0000
Received: from [85.158.139.83:27853] by server-9.bemta-5.messagelabs.com id
	F1/B4-09826-3866DAF4; Fri, 11 May 2012 19:20:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336764034!28252269!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODU1MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18976 invoked from network); 11 May 2012 19:20:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 19:20:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,572,1330905600"; d="scan'208";a="12436088"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	11 May 2012 19:20:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 11 May 2012 20:20:33 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SSvOD-0000Iu-LQ;
	Fri, 11 May 2012 19:20:33 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SSvOD-0005I0-KJ;
	Fri, 11 May 2012 20:20:33 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12853-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 11 May 2012 20:20:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12853: regressions - trouble:
	broken/fail/pass
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12853 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12853/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12852
 test-amd64-amd64-xl-win7-amd64  3 host-install(3)       broken REGR. vs. 12852

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3  8 guest-saverestore          fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  8 guest-saverestore        fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  42553101ccfe
baseline version:
 xen                  54c8c9eaee92

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               broken  
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:38:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:38:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvew-0004CS-2V; Fri, 11 May 2012 19:37:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSveu-0004CN-Sn
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:37:49 +0000
Received: from [85.158.138.51:34395] by server-6.bemta-3.messagelabs.com id
	91/C6-05145-C8A6DAF4; Fri, 11 May 2012 19:37:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336765065!26663605!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1155 invoked from network); 11 May 2012 19:37:47 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 19:37:47 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJbgc0001680
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:37:43 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJbfQC025675
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:37:41 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJbfH9032039; Fri, 11 May 2012 14:37:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:37:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E3B3840359; Fri, 11 May 2012 15:31:37 -0400 (EDT)
Date: Fri, 11 May 2012 15:31:37 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511193137.GE3785@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
	<20120511140454.GA13735@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BA0B2@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351BA0B2@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> +struct pcpu {
> >> +	struct list_head list;
> >> +	struct device dev;
> >> +	uint32_t cpu_id;
> >> +	uint32_t flags;
> >> +};
> >> +
> >> +static struct bus_type xen_pcpu_subsys = {
> >> +	.name = "xen_cpu",
> >> +	.dev_name = "xen_cpu",
> >> +};
> >> +
> >> +static DEFINE_MUTEX(xen_pcpu_lock);
> >> +
> >> +static LIST_HEAD(xen_pcpus);
> > 
> > So what about the recommendation to get rid of that and
> > instead do
> > 
> > struct pcpu *xen_cpu;
> 
> I'm not quite clear your meaning here, do you mean 'LIST_HEAD(xen_pcpus)' instead of 'struct pcpu *xen_cpu'?

No. Just use the embedded 'struct list_head' inside of 'struct pcpu'
as your iterator.

And your first 'struct pcpu' won't ever be deleted (as it is for
CPU0), so you can iterate from that.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:38:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:38:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvew-0004CS-2V; Fri, 11 May 2012 19:37:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSveu-0004CN-Sn
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:37:49 +0000
Received: from [85.158.138.51:34395] by server-6.bemta-3.messagelabs.com id
	91/C6-05145-C8A6DAF4; Fri, 11 May 2012 19:37:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336765065!26663605!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1155 invoked from network); 11 May 2012 19:37:47 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 19:37:47 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJbgc0001680
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:37:43 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJbfQC025675
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:37:41 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJbfH9032039; Fri, 11 May 2012 14:37:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:37:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E3B3840359; Fri, 11 May 2012 15:31:37 -0400 (EDT)
Date: Fri, 11 May 2012 15:31:37 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511193137.GE3785@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351B58A3@SHSMSX101.ccr.corp.intel.com>
	<20120511140454.GA13735@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BA0B2@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351BA0B2@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface (V2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> +struct pcpu {
> >> +	struct list_head list;
> >> +	struct device dev;
> >> +	uint32_t cpu_id;
> >> +	uint32_t flags;
> >> +};
> >> +
> >> +static struct bus_type xen_pcpu_subsys = {
> >> +	.name = "xen_cpu",
> >> +	.dev_name = "xen_cpu",
> >> +};
> >> +
> >> +static DEFINE_MUTEX(xen_pcpu_lock);
> >> +
> >> +static LIST_HEAD(xen_pcpus);
> > 
> > So what about the recommendation to get rid of that and
> > instead do
> > 
> > struct pcpu *xen_cpu;
> 
> I'm not quite clear your meaning here, do you mean 'LIST_HEAD(xen_pcpus)' instead of 'struct pcpu *xen_cpu'?

No. Just use the embedded 'struct list_head' inside of 'struct pcpu'
as your iterator.

And your first 'struct pcpu' won't ever be deleted (as it is for
CPU0), so you can iterate from that.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:49:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvpS-0004Mp-5w; Fri, 11 May 2012 19:48:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSvpQ-0004Mk-LQ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:48:40 +0000
Received: from [85.158.143.99:54248] by server-1.bemta-4.messagelabs.com id
	C5/30-20925-71D6DAF4; Fri, 11 May 2012 19:48:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336765716!27585133!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1599 invoked from network); 11 May 2012 19:48:37 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 19:48:37 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJli9k028438
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:47:45 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJlgkg012681
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:47:43 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJlfw0005698; Fri, 11 May 2012 14:47:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:47:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5A02B40359; Fri, 11 May 2012 15:41:38 -0400 (EDT)
Date: Fri, 11 May 2012 15:41:38 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Carsten Schiers <carsten@schiers.de>
Message-ID: <20120511194138.GA30099@phenom.dumpdata.com>
References: <zarafa.4f4e2069.413c.75dd1c180ec000b7@uhura.space.zz>
	<zarafa.4facde3c.0774.52df3a5311f718f3@uhura.space.zz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <zarafa.4facde3c.0774.52df3a5311f718f3@uhura.space.zz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	xen-devel <xen-devel@lists.xensource.com>, Jan Beulich <jbeulich@suse.com>,
	Sander Eikelenboom <linux@eikelenboom.it>
Subject: Re: [Xen-devel] Load increase after memory upgrade (part2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 11:39:08AM +0200, Carsten Schiers wrote:
> Hi Konrad,
> =

> =A0
> don't want to be pushy, as I have no real issue. I simply use the Xenifie=
d kernel or take the double load. =

> =

> But I think this mistery is still open. My last status was that the lates=
t patch you produced resulted in a BUG, =


Yes, that is right. Thank you for reminding me.
> =

> so we still have not checked whether our theory is correct.

No we haven't. And I should be have no trouble reproducing this. I can just=
 write
a tiny module that allocates vmalloc_32().

But your timming sucks - I am going on a week vacation next week :-(

Ah, if there was just a cloning machine - I could stick myself in it,
and Baseline_0 goes on vacation, while Clone_1 goes on working. Then
git merge Baseline_0 and Clone_1 in a week and fixup the merge conflicts
and continue on. Sigh.

Can I ask you to be patient with me once more and ping me in a week - when
I am back from vacation and my brain is fresh to work on this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:49:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvpS-0004Mp-5w; Fri, 11 May 2012 19:48:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSvpQ-0004Mk-LQ
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:48:40 +0000
Received: from [85.158.143.99:54248] by server-1.bemta-4.messagelabs.com id
	C5/30-20925-71D6DAF4; Fri, 11 May 2012 19:48:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336765716!27585133!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTI1MDUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1599 invoked from network); 11 May 2012 19:48:37 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 11 May 2012 19:48:37 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJli9k028438
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:47:45 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJlgkg012681
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:47:43 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJlfw0005698; Fri, 11 May 2012 14:47:41 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:47:41 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5A02B40359; Fri, 11 May 2012 15:41:38 -0400 (EDT)
Date: Fri, 11 May 2012 15:41:38 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Carsten Schiers <carsten@schiers.de>
Message-ID: <20120511194138.GA30099@phenom.dumpdata.com>
References: <zarafa.4f4e2069.413c.75dd1c180ec000b7@uhura.space.zz>
	<zarafa.4facde3c.0774.52df3a5311f718f3@uhura.space.zz>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <zarafa.4facde3c.0774.52df3a5311f718f3@uhura.space.zz>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Konrad Rzeszutek Wilk <konrad@darnok.org>,
	xen-devel <xen-devel@lists.xensource.com>, Jan Beulich <jbeulich@suse.com>,
	Sander Eikelenboom <linux@eikelenboom.it>
Subject: Re: [Xen-devel] Load increase after memory upgrade (part2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 11:39:08AM +0200, Carsten Schiers wrote:
> Hi Konrad,
> =

> =A0
> don't want to be pushy, as I have no real issue. I simply use the Xenifie=
d kernel or take the double load. =

> =

> But I think this mistery is still open. My last status was that the lates=
t patch you produced resulted in a BUG, =


Yes, that is right. Thank you for reminding me.
> =

> so we still have not checked whether our theory is correct.

No we haven't. And I should be have no trouble reproducing this. I can just=
 write
a tiny module that allocates vmalloc_32().

But your timming sucks - I am going on a week vacation next week :-(

Ah, if there was just a cloning machine - I could stick myself in it,
and Baseline_0 goes on vacation, while Clone_1 goes on working. Then
git merge Baseline_0 and Clone_1 in a week and fixup the merge conflicts
and continue on. Sigh.

Can I ask you to be patient with me once more and ping me in a week - when
I am back from vacation and my brain is fresh to work on this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:57:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvxS-0004Vi-59; Fri, 11 May 2012 19:56:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSvxR-0004Vd-Fv
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:56:57 +0000
Received: from [85.158.143.35:49512] by server-2.bemta-4.messagelabs.com id
	FF/63-17550-80F6DAF4; Fri, 11 May 2012 19:56:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336766214!14149234!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25671 invoked from network); 11 May 2012 19:56:56 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 19:56:56 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJupq0021693
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:56:52 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJupwQ018647
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:56:51 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJunh0012067; Fri, 11 May 2012 14:56:51 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:56:49 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D4A5E40359; Fri, 11 May 2012 15:50:46 -0400 (EDT)
Date: Fri, 11 May 2012 15:50:46 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Rajendra Bele <belerajendra753@gmail.com>
Message-ID: <20120511195046.GA30343@phenom.dumpdata.com>
References: <CAJRmKy9oQUe1PJcnckeNkSPSN16hV6c3LUU3BnyWBwJH_7aQdQ@mail.gmail.com>
	<20120510153901.GF6389@phenom.dumpdata.com>
	<CAJRmKy9pXHrOY9kVJ5pf+UbzjiJ7Q7L5rUoVYEkTpq5_isfnLg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJRmKy9pXHrOY9kVJ5pf+UbzjiJ7Q7L5rUoVYEkTpq5_isfnLg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xen Enhancement
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 02:33:50PM +0545, Rajendra Bele wrote:
> yes i am interested in this research

Ok, lets put xen-devel back on the CC.
.. snip..
> >> can anybody help me for following activities
> >>
> >> 1. Install Xen on laptop

That should be easy. Just install Fedora Core 17 and
run 'yum install xen'

> >>
> >> 2. Add open source os to create virtualization environment

Like Linux?
> >>
> >> 3. check performance with current souce code
> >>
> >> 4. Identify algorithms associated with existing
> >>
> >> 5. Identify performance bottlenecks with current algorithms
> >>
> >> 6. Modify algorithms and implement code
> >>
> >> 7. execute the code and check performance

So .. may I suggest a different path. Try installing Fedora
Core 17 and just try installing a guest - using virt-install.

Then come back and I can give you an idea of where we
know there are bottlenecks.

> >>
> >> I will be more happy if abybody guides me to conduct above research plan
> >
> > Are you still interested in this?
> >
> >>
> >> Thanking you
> >
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@lists.xen.org
> >> http://lists.xen.org/xen-devel
> >
> >

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 19:57:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 19:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSvxS-0004Vi-59; Fri, 11 May 2012 19:56:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSvxR-0004Vd-Fv
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 19:56:57 +0000
Received: from [85.158.143.35:49512] by server-2.bemta-4.messagelabs.com id
	FF/63-17550-80F6DAF4; Fri, 11 May 2012 19:56:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336766214!14149234!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25671 invoked from network); 11 May 2012 19:56:56 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 19:56:56 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BJupq0021693
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 19:56:52 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BJupwQ018647
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 19:56:51 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BJunh0012067; Fri, 11 May 2012 14:56:51 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 12:56:49 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D4A5E40359; Fri, 11 May 2012 15:50:46 -0400 (EDT)
Date: Fri, 11 May 2012 15:50:46 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Rajendra Bele <belerajendra753@gmail.com>
Message-ID: <20120511195046.GA30343@phenom.dumpdata.com>
References: <CAJRmKy9oQUe1PJcnckeNkSPSN16hV6c3LUU3BnyWBwJH_7aQdQ@mail.gmail.com>
	<20120510153901.GF6389@phenom.dumpdata.com>
	<CAJRmKy9pXHrOY9kVJ5pf+UbzjiJ7Q7L5rUoVYEkTpq5_isfnLg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJRmKy9pXHrOY9kVJ5pf+UbzjiJ7Q7L5rUoVYEkTpq5_isfnLg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xen Enhancement
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 02:33:50PM +0545, Rajendra Bele wrote:
> yes i am interested in this research

Ok, lets put xen-devel back on the CC.
.. snip..
> >> can anybody help me for following activities
> >>
> >> 1. Install Xen on laptop

That should be easy. Just install Fedora Core 17 and
run 'yum install xen'

> >>
> >> 2. Add open source os to create virtualization environment

Like Linux?
> >>
> >> 3. check performance with current souce code
> >>
> >> 4. Identify algorithms associated with existing
> >>
> >> 5. Identify performance bottlenecks with current algorithms
> >>
> >> 6. Modify algorithms and implement code
> >>
> >> 7. execute the code and check performance

So .. may I suggest a different path. Try installing Fedora
Core 17 and just try installing a guest - using virt-install.

Then come back and I can give you an idea of where we
know there are bottlenecks.

> >>
> >> I will be more happy if abybody guides me to conduct above research plan
> >
> > Are you still interested in this?
> >
> >>
> >> Thanking you
> >
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@lists.xen.org
> >> http://lists.xen.org/xen-devel
> >
> >

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 20:31:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 20:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSwUj-00056R-GK; Fri, 11 May 2012 20:31:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSwUh-00056M-Ta
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 20:31:20 +0000
Received: from [85.158.139.83:34257] by server-7.bemta-5.messagelabs.com id
	3F/12-16195-7177DAF4; Fri, 11 May 2012 20:31:19 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336768277!27865050!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc4Nzcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15472 invoked from network); 11 May 2012 20:31:18 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-15.tower-182.messagelabs.com with SMTP;
	11 May 2012 20:31:18 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 11 May 2012 13:31:17 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99104894"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 11 May 2012 13:31:17 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 13:31:16 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 04:31:14 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQgAHTcp+AABcXMA==
Date: Fri, 11 May 2012 20:31:15 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BCD16@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
	<20120511190041.GA3785@phenom.dumpdata.com>
In-Reply-To: <20120511190041.GA3785@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 11, 2012 at 06:04:21PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>> On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
>>>> Liu, Jinsong wrote:
>>>>> Just notice your reply (so quick :)
>>>>> 
>>>>> Agree and will update later, except 1 concern below.
>>>>> 
>>>>> Konrad Rzeszutek Wilk wrote:
>>>>>>> 
>>>>>>> Hmm, it's good if it's convenient to do it automatically via
>>>>>>> dev->release. However, dev container (pcpu) would be free at
>>>>>>> some other error cases, so I prefer do it 'manually'.
>>>>>> 
>>>>>> You could also call pcpu_release(..) to do it manually.
>>>>>> 
>>>>> 
>>>>> that means kfree(pcpu) would be done twice at some error cases,
>>>>> do you think it really good? 
>>>>> 
>>>> 
>>>> Ping.
>>>> 
>>>> I think error recovery should be kept inside error logic level
>>>> itself, if try to recover upper level error would bring trouble.
>>>> 
>>>> In our example, there are 2 logic levels:
>>>> pcpu level (as container), and dev level (subfield used for sys)
>>> 
>>> So you need to untangle free_pcpu from doing both. Meaning one does
>>> the SysFS and the other deals with free-ing the structure and
>>> removing itself from the list.
>>> 
>> 
>> free_cpu is very samll, just consist of the 2 parts your said:
>> * pcpu_sys_remove() deal with sysfs
>> * list_del/kfree(pcpu) deal with pcpu
>> 
>>> 
>>>> dev->release should only recover error occurred at dev/sys level,
>>>> and the pcpu error should be recovered at pcpu level.
>>>> 
>>>> If dev->release try to recover its container pcpu level error, like
>>>> list_del/kfree(pcpu), it would make confusing. i.e., considering
>>>> pcpu_sys_create(), 2 error cases: device_register fail, and
>>>> device_create_file fail --> how can the caller decide kfree(pcpu)
>>>> or not?
>>> 
>>> Then you should free it manually. But you can do this by a wrapper
>>> function: 
>>> 
>>> __pcpu_release(..) {
>>> 	..
>>> 	/* Does the removing itself from the list and kfree the pcpu */ }
>>> pcpu_release(..) {
>>> 	struct pcpcu *p= container_of(..)
>>> 	__pcpu_release(p);
>>> }
>>> 
>>> dev->release = &pcpu_release;
>>> 
>> 
>> Too weird way. If we want to release dev itself it's good to use
>> dev->release, but for pcpu I doubt it. (consider the example I gave
>> --> why we create issue (it maybe solved in weird method I agree),
>> just for using dev->release?)  
>> 
>> In kernel many dev->release keep NULL.
>> An example of using dev->release is cpu/mcheck/mce.c -->
>> mce_device_release(), it *just* deal dev itself. 
> 
> OK? I am not sure what are we arguing here anymore?
> I think using 'kfree(pcpu)' on the error paths (as long as it is
> done before device_register) is OK. I think that seperating
> the SysFS deletion from the pcpu deletion should be done to
> avoid races. Perhaps the SysFS deletion function should also
> remove the pcpu from the list.

How about static array pcpu[NR_CPUS]?
It seems solve all issues we argued :)

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 20:31:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 20:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSwUj-00056R-GK; Fri, 11 May 2012 20:31:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SSwUh-00056M-Ta
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 20:31:20 +0000
Received: from [85.158.139.83:34257] by server-7.bemta-5.messagelabs.com id
	3F/12-16195-7177DAF4; Fri, 11 May 2012 20:31:19 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336768277!27865050!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc4Nzcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15472 invoked from network); 11 May 2012 20:31:18 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-15.tower-182.messagelabs.com with SMTP;
	11 May 2012 20:31:18 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 11 May 2012 13:31:17 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99104894"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 11 May 2012 13:31:17 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 13:31:16 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 04:31:14 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
Thread-Index: AQHNLr1B1b8pDRiwSFiwkpXixs4X8JbDIYNQgAHTcp+AABcXMA==
Date: Fri, 11 May 2012 20:31:15 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351BCD16@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
	<20120511190041.GA3785@phenom.dumpdata.com>
In-Reply-To: <20120511190041.GA3785@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 11, 2012 at 06:04:21PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>> On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
>>>> Liu, Jinsong wrote:
>>>>> Just notice your reply (so quick :)
>>>>> 
>>>>> Agree and will update later, except 1 concern below.
>>>>> 
>>>>> Konrad Rzeszutek Wilk wrote:
>>>>>>> 
>>>>>>> Hmm, it's good if it's convenient to do it automatically via
>>>>>>> dev->release. However, dev container (pcpu) would be free at
>>>>>>> some other error cases, so I prefer do it 'manually'.
>>>>>> 
>>>>>> You could also call pcpu_release(..) to do it manually.
>>>>>> 
>>>>> 
>>>>> that means kfree(pcpu) would be done twice at some error cases,
>>>>> do you think it really good? 
>>>>> 
>>>> 
>>>> Ping.
>>>> 
>>>> I think error recovery should be kept inside error logic level
>>>> itself, if try to recover upper level error would bring trouble.
>>>> 
>>>> In our example, there are 2 logic levels:
>>>> pcpu level (as container), and dev level (subfield used for sys)
>>> 
>>> So you need to untangle free_pcpu from doing both. Meaning one does
>>> the SysFS and the other deals with free-ing the structure and
>>> removing itself from the list.
>>> 
>> 
>> free_cpu is very samll, just consist of the 2 parts your said:
>> * pcpu_sys_remove() deal with sysfs
>> * list_del/kfree(pcpu) deal with pcpu
>> 
>>> 
>>>> dev->release should only recover error occurred at dev/sys level,
>>>> and the pcpu error should be recovered at pcpu level.
>>>> 
>>>> If dev->release try to recover its container pcpu level error, like
>>>> list_del/kfree(pcpu), it would make confusing. i.e., considering
>>>> pcpu_sys_create(), 2 error cases: device_register fail, and
>>>> device_create_file fail --> how can the caller decide kfree(pcpu)
>>>> or not?
>>> 
>>> Then you should free it manually. But you can do this by a wrapper
>>> function: 
>>> 
>>> __pcpu_release(..) {
>>> 	..
>>> 	/* Does the removing itself from the list and kfree the pcpu */ }
>>> pcpu_release(..) {
>>> 	struct pcpcu *p= container_of(..)
>>> 	__pcpu_release(p);
>>> }
>>> 
>>> dev->release = &pcpu_release;
>>> 
>> 
>> Too weird way. If we want to release dev itself it's good to use
>> dev->release, but for pcpu I doubt it. (consider the example I gave
>> --> why we create issue (it maybe solved in weird method I agree),
>> just for using dev->release?)  
>> 
>> In kernel many dev->release keep NULL.
>> An example of using dev->release is cpu/mcheck/mce.c -->
>> mce_device_release(), it *just* deal dev itself. 
> 
> OK? I am not sure what are we arguing here anymore?
> I think using 'kfree(pcpu)' on the error paths (as long as it is
> done before device_register) is OK. I think that seperating
> the SysFS deletion from the pcpu deletion should be done to
> avoid races. Perhaps the SysFS deletion function should also
> remove the pcpu from the list.

How about static array pcpu[NR_CPUS]?
It seems solve all issues we argued :)

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 20:55:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 20:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSwrE-0005RI-Qg; Fri, 11 May 2012 20:54:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSwrC-0005RD-JK
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 20:54:34 +0000
Received: from [85.158.138.51:56319] by server-10.bemta-3.messagelabs.com id
	13/B6-29478-98C7DAF4; Fri, 11 May 2012 20:54:33 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336769671!26703529!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30158 invoked from network); 11 May 2012 20:54:33 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 20:54:33 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BKsT7k002659
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 20:54:30 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BKsSDC012825
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 20:54:28 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BKsRYX014239; Fri, 11 May 2012 15:54:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 13:54:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B6CEB4035B; Fri, 11 May 2012 16:48:24 -0400 (EDT)
Date: Fri, 11 May 2012 16:48:24 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511204824.GA2156@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
	<20120511190041.GA3785@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BCD16@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351BCD16@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 08:31:15PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> > On Fri, May 11, 2012 at 06:04:21PM +0000, Liu, Jinsong wrote:
> >> Konrad Rzeszutek Wilk wrote:
> >>> On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
> >>>> Liu, Jinsong wrote:
> >>>>> Just notice your reply (so quick :)
> >>>>> 
> >>>>> Agree and will update later, except 1 concern below.
> >>>>> 
> >>>>> Konrad Rzeszutek Wilk wrote:
> >>>>>>> 
> >>>>>>> Hmm, it's good if it's convenient to do it automatically via
> >>>>>>> dev->release. However, dev container (pcpu) would be free at
> >>>>>>> some other error cases, so I prefer do it 'manually'.
> >>>>>> 
> >>>>>> You could also call pcpu_release(..) to do it manually.
> >>>>>> 
> >>>>> 
> >>>>> that means kfree(pcpu) would be done twice at some error cases,
> >>>>> do you think it really good? 
> >>>>> 
> >>>> 
> >>>> Ping.
> >>>> 
> >>>> I think error recovery should be kept inside error logic level
> >>>> itself, if try to recover upper level error would bring trouble.
> >>>> 
> >>>> In our example, there are 2 logic levels:
> >>>> pcpu level (as container), and dev level (subfield used for sys)
> >>> 
> >>> So you need to untangle free_pcpu from doing both. Meaning one does
> >>> the SysFS and the other deals with free-ing the structure and
> >>> removing itself from the list.
> >>> 
> >> 
> >> free_cpu is very samll, just consist of the 2 parts your said:
> >> * pcpu_sys_remove() deal with sysfs
> >> * list_del/kfree(pcpu) deal with pcpu
> >> 
> >>> 
> >>>> dev->release should only recover error occurred at dev/sys level,
> >>>> and the pcpu error should be recovered at pcpu level.
> >>>> 
> >>>> If dev->release try to recover its container pcpu level error, like
> >>>> list_del/kfree(pcpu), it would make confusing. i.e., considering
> >>>> pcpu_sys_create(), 2 error cases: device_register fail, and
> >>>> device_create_file fail --> how can the caller decide kfree(pcpu)
> >>>> or not?
> >>> 
> >>> Then you should free it manually. But you can do this by a wrapper
> >>> function: 
> >>> 
> >>> __pcpu_release(..) {
> >>> 	..
> >>> 	/* Does the removing itself from the list and kfree the pcpu */ }
> >>> pcpu_release(..) {
> >>> 	struct pcpcu *p= container_of(..)
> >>> 	__pcpu_release(p);
> >>> }
> >>> 
> >>> dev->release = &pcpu_release;
> >>> 
> >> 
> >> Too weird way. If we want to release dev itself it's good to use
> >> dev->release, but for pcpu I doubt it. (consider the example I gave
> >> --> why we create issue (it maybe solved in weird method I agree),
> >> just for using dev->release?)  
> >> 
> >> In kernel many dev->release keep NULL.
> >> An example of using dev->release is cpu/mcheck/mce.c -->
> >> mce_device_release(), it *just* deal dev itself. 
> > 
> > OK? I am not sure what are we arguing here anymore?
> > I think using 'kfree(pcpu)' on the error paths (as long as it is
> > done before device_register) is OK. I think that seperating
> > the SysFS deletion from the pcpu deletion should be done to
> > avoid races. Perhaps the SysFS deletion function should also
> > remove the pcpu from the list.
> 
> How about static array pcpu[NR_CPUS]?
> It seems solve all issues we argued :)

Ugh. That could mean a structure of more than 4K of items.
Lets stick with making it dynamic.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 20:55:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 20:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSwrE-0005RI-Qg; Fri, 11 May 2012 20:54:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SSwrC-0005RD-JK
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 20:54:34 +0000
Received: from [85.158.138.51:56319] by server-10.bemta-3.messagelabs.com id
	13/B6-29478-98C7DAF4; Fri, 11 May 2012 20:54:33 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1336769671!26703529!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDUyNzMzOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30158 invoked from network); 11 May 2012 20:54:33 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 11 May 2012 20:54:33 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4BKsT7k002659
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 11 May 2012 20:54:30 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4BKsSDC012825
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 11 May 2012 20:54:28 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4BKsRYX014239; Fri, 11 May 2012 15:54:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 11 May 2012 13:54:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B6CEB4035B; Fri, 11 May 2012 16:48:24 -0400 (EDT)
Date: Fri, 11 May 2012 16:48:24 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120511204824.GA2156@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335154F3E@SHSMSX101.ccr.corp.intel.com>
	<20120420192439.GA32170@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5807@SHSMSX101.ccr.corp.intel.com>
	<20120510145745.GO26152@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351B5A2E@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351B873F@SHSMSX101.ccr.corp.intel.com>
	<20120511142758.GA29677@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BC88D@SHSMSX101.ccr.corp.intel.com>
	<20120511190041.GA3785@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351BCD16@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351BCD16@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Xen physical cpus interface
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 11, 2012 at 08:31:15PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> > On Fri, May 11, 2012 at 06:04:21PM +0000, Liu, Jinsong wrote:
> >> Konrad Rzeszutek Wilk wrote:
> >>> On Fri, May 11, 2012 at 01:12:13PM +0000, Liu, Jinsong wrote:
> >>>> Liu, Jinsong wrote:
> >>>>> Just notice your reply (so quick :)
> >>>>> 
> >>>>> Agree and will update later, except 1 concern below.
> >>>>> 
> >>>>> Konrad Rzeszutek Wilk wrote:
> >>>>>>> 
> >>>>>>> Hmm, it's good if it's convenient to do it automatically via
> >>>>>>> dev->release. However, dev container (pcpu) would be free at
> >>>>>>> some other error cases, so I prefer do it 'manually'.
> >>>>>> 
> >>>>>> You could also call pcpu_release(..) to do it manually.
> >>>>>> 
> >>>>> 
> >>>>> that means kfree(pcpu) would be done twice at some error cases,
> >>>>> do you think it really good? 
> >>>>> 
> >>>> 
> >>>> Ping.
> >>>> 
> >>>> I think error recovery should be kept inside error logic level
> >>>> itself, if try to recover upper level error would bring trouble.
> >>>> 
> >>>> In our example, there are 2 logic levels:
> >>>> pcpu level (as container), and dev level (subfield used for sys)
> >>> 
> >>> So you need to untangle free_pcpu from doing both. Meaning one does
> >>> the SysFS and the other deals with free-ing the structure and
> >>> removing itself from the list.
> >>> 
> >> 
> >> free_cpu is very samll, just consist of the 2 parts your said:
> >> * pcpu_sys_remove() deal with sysfs
> >> * list_del/kfree(pcpu) deal with pcpu
> >> 
> >>> 
> >>>> dev->release should only recover error occurred at dev/sys level,
> >>>> and the pcpu error should be recovered at pcpu level.
> >>>> 
> >>>> If dev->release try to recover its container pcpu level error, like
> >>>> list_del/kfree(pcpu), it would make confusing. i.e., considering
> >>>> pcpu_sys_create(), 2 error cases: device_register fail, and
> >>>> device_create_file fail --> how can the caller decide kfree(pcpu)
> >>>> or not?
> >>> 
> >>> Then you should free it manually. But you can do this by a wrapper
> >>> function: 
> >>> 
> >>> __pcpu_release(..) {
> >>> 	..
> >>> 	/* Does the removing itself from the list and kfree the pcpu */ }
> >>> pcpu_release(..) {
> >>> 	struct pcpcu *p= container_of(..)
> >>> 	__pcpu_release(p);
> >>> }
> >>> 
> >>> dev->release = &pcpu_release;
> >>> 
> >> 
> >> Too weird way. If we want to release dev itself it's good to use
> >> dev->release, but for pcpu I doubt it. (consider the example I gave
> >> --> why we create issue (it maybe solved in weird method I agree),
> >> just for using dev->release?)  
> >> 
> >> In kernel many dev->release keep NULL.
> >> An example of using dev->release is cpu/mcheck/mce.c -->
> >> mce_device_release(), it *just* deal dev itself. 
> > 
> > OK? I am not sure what are we arguing here anymore?
> > I think using 'kfree(pcpu)' on the error paths (as long as it is
> > done before device_register) is OK. I think that seperating
> > the SysFS deletion from the pcpu deletion should be done to
> > avoid races. Perhaps the SysFS deletion function should also
> > remove the pcpu from the list.
> 
> How about static array pcpu[NR_CPUS]?
> It seems solve all issues we argued :)

Ugh. That could mean a structure of more than 4K of items.
Lets stick with making it dynamic.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 22:40:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 22:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSyVV-0006OY-Kl; Fri, 11 May 2012 22:40:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SSyVU-0006OT-Qp
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 22:40:17 +0000
Received: from [85.158.143.35:26055] by server-1.bemta-4.messagelabs.com id
	D6/1D-20925-0559DAF4; Fri, 11 May 2012 22:40:16 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336776014!15677244!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18763 invoked from network); 11 May 2012 22:40:14 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-7.tower-21.messagelabs.com with SMTP;
	11 May 2012 22:40:14 -0000
Received: from [10.0.1.5] (c-68-44-174-16.hsd1.nj.comcast.net [68.44.174.16])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q4BMeCah004362;
	Fri, 11 May 2012 18:40:12 -0400
Mime-Version: 1.0 (Apple Message framework v1084)
From: "Christopher S. Aker" <caker@theshore.net>
In-Reply-To: <20120511183012.GB21486@phenom.dumpdata.com>
Date: Fri, 11 May 2012 18:40:12 -0400
Message-Id: <9B6030CC-6E1F-469E-8C97-8331222BF9CC@theshore.net>
References: <4FA7EBF6.6040204@theshore.net>
	<20120511183012.GB21486@phenom.dumpdata.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On May 11, 2012, at 2:30 PM, Konrad Rzeszutek Wilk wrote:
> On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
>> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> I just did this with 3.2.16 and didn't experience this. Can you
> try 3.2.16 pls?
> 
> I used the attached .config
> <.config.txt>

Thanks, but no joy with 3.2.16 and your config - only changes made were to build in a few drivers verses as modules to avoid initrd.  Two boxes hit it out of a dozen in under an hour.

[ 2152.285097] BUG: unable to handle kernel paging request at bffff3f0 
[ 2152.285160] IP: [<c1137f4a>] __page_check_address+0xca/0x1b0 
[ 2152.285238] *pdpt = 000000001b5ac027 *pde = 0000000000000000  
[ 2152.285286] Oops: 0000 [#1] PREEMPT SMP  
[ 2152.285338] Modules linked in: dm_snapshot xen_evtchn xenfs ext2 dm_mod tpm_tis ata_generic ata_piix e1000e sg 
[ 2152.285468]  
[ 2152.285495] Pid: 506, comm: lvremove Tainted: G        W    3.2.16 #4 Supermicro X8DT6/X8DT6 
[ 2152.285572] EIP: 0061:[<c1137f4a>] EFLAGS: 00010246 CPU: 14 
[ 2152.285607] EIP is at __page_check_address+0xca/0x1b0 
[ 2152.285641] EAX: bffff000 EBX: dbe79dd8 ECX: 00000000 EDX: e2c00000 
[ 2152.285678] ESI: bffff3f0 EDI: e33538e0 EBP: daf03e58 ESP: daf03e48 
[ 2152.285715]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0069 
[ 2152.285750] Process lvremove (pid: 506, ti=daf02000 task=dd18a3e0 task.ti=daf02000) 
[ 2152.285804] Stack: 
[ 2152.285830]  00000fff e33538e0 dd1a5400 da4826c0 daf03e8c c1138b69 daf03e7c 00000000 
[ 2152.285938]  00000124 00000000 c158df53 b767e000 00000000 b7686000 da4826c0 b767e000 
[ 2152.286042]  e33538e0 daf03f1c c11390e3 00000002 e2c00280 008c7025 daf03ebc c1037d59 
[ 2152.286146] Call Trace: 
[ 2152.286178]  [<c1138b69>] try_to_unmap_one+0x29/0x370 
[ 2152.286218]  [<c158df53>] ? _raw_spin_unlock+0x13/0x40 
[ 2152.286255]  [<c11390e3>] try_to_unmap_file+0x83/0x5a0 
[ 2152.286295]  [<c1037d59>] ? xen_pte_val+0xb9/0x140 
[ 2152.286332]  [<c1036c46>] ? __raw_callee_save_xen_pte_val+0x6/0x8 
[ 2152.286372]  [<c112d6e8>] ? vm_normal_page+0x28/0xe0 
[ 2152.286408]  [<c1037a5d>] ? xen_pmd_val+0x6d/0xf0 
[ 2152.286446]  [<c107995b>] ? get_parent_ip+0xb/0x40 
[ 2152.286482]  [<c113972c>] try_to_munlock+0x1c/0x40 
[ 2152.286518]  [<c11331d9>] munlock_vma_page+0x49/0x90 
[ 2152.286582]  [<c113332d>] munlock_vma_pages_range+0x6d/0xb0 
[ 2152.286620]  [<c1133437>] mlock_fixup+0xc7/0x130 
[ 2152.286656]  [<c1133717>] do_mlock+0x97/0xc0 
[ 2152.286690]  [<c1133782>] sys_munlock+0x42/0x60 
[ 2152.286728]  [<c159465f>] sysenter_do_call+0x12/0x28 
[ 2152.286761] Code: e0 c4 76 c1 8b 04 85 c0 c4 76 c1 2b 90 b0 12 00 00 c1 e2 05 03 90 ac 12 00 00 89 d0 e8 b0 9e f3 ff 8b 4d 0c 85 c9 8d 34 30 75 0c <f7> 06 01 01 00 00 0f 84 ab 00 00 00 8b 03 8b 53 04 ff 15 14 25  
[ 2152.287263] EIP: [<c1137f4a>] __page_check_address+0xca/0x1b0 SS:ESP 0069:daf03e48 
[ 2152.287331] CR2: 00000000bffff3f0 
[ 2152.287560] ---[ end trace a7919e7f17c0a74d ]--- 
[ 2152.287622] note: lvremove[506] exited with preempt_count 1 
[ 2152.287685] BUG: sleeping function called from invalid context at kernel/rwsem.c:21 
[ 2152.287767] in_atomic(): 1, irqs_disabled(): 0, pid: 506, name: lvremove 
[ 2152.287833] Pid: 506, comm: lvremove Tainted: G      D W    3.2.16 #4 
[ 2152.287897] Call Trace: 
[ 2152.287983]  [<c1078244>] __might_sleep+0xe4/0x110 
[ 2152.288047]  [<c158d337>] down_read+0x17/0x30 
[ 2152.288112]  [<c10cb21a>] acct_collect+0x3a/0x160 
[ 2152.288177]  [<c108a55a>] do_exit+0x65a/0x810 
[ 2152.288240]  [<c1087878>] ? kmsg_dump+0x98/0xc0 
[ 2152.288303]  [<c158f640>] oops_end+0x90/0xd0 
[ 2152.288367]  [<c106b24e>] no_context+0xbe/0x190 
[ 2152.288430]  [<c106b3b8>] __bad_area_nosemaphore+0x98/0x140 
[ 2152.288496]  [<c103b9ec>] ? xen_clocksource_read+0x2c/0x60 
[ 2152.288560]  [<c106b472>] bad_area_nosemaphore+0x12/0x20 
[ 2152.288625]  [<c1591393>] do_page_fault+0x2b3/0x450 
[ 2152.288690]  [<c10e5624>] ? handle_percpu_irq+0x34/0x50 
[ 2152.288753]  [<c103b24a>] ? xen_force_evtchn_callback+0x1a/0x30 
[ 2152.288819]  [<c103b24a>] ? xen_force_evtchn_callback+0x1a/0x30 
[ 2152.288886]  [<c103bc2b>] ? xen_restore_fl_direct_reloc+0x4/0x4 
[ 2152.288953]  [<c10e842a>] ? rcu_enter_nohz+0x4a/0x80 
[ 2152.289017]  [<c103b24a>] ? xen_force_evtchn_callback+0x1a/0x30 
[ 2152.289083]  [<c107995b>] ? get_parent_ip+0xb/0x40 
[ 2152.289145]  [<c15915ab>] ? sub_preempt_count+0x7b/0xb0 
[ 2152.289209]  [<c15910e0>] ? spurious_fault+0x130/0x130 
[ 2152.289273]  [<c158ee9b>] error_code+0x67/0x6c 
[ 2152.289365]  [<c1137f4a>] ? __page_check_address+0xca/0x1b0 
[ 2152.289429]  [<c1138b69>] try_to_unmap_one+0x29/0x370 
[ 2152.289494]  [<c158df53>] ? _raw_spin_unlock+0x13/0x40 
[ 2152.289558]  [<c11390e3>] try_to_unmap_file+0x83/0x5a0 
[ 2152.289623]  [<c1037d59>] ? xen_pte_val+0xb9/0x140 
[ 2152.289686]  [<c1036c46>] ? __raw_callee_save_xen_pte_val+0x6/0x8 
[ 2152.289752]  [<c112d6e8>] ? vm_normal_page+0x28/0xe0 
[ 2152.289816]  [<c1037a5d>] ? xen_pmd_val+0x6d/0xf0 
[ 2152.289879]  [<c107995b>] ? get_parent_ip+0xb/0x40 
[ 2152.289943]  [<c113972c>] try_to_munlock+0x1c/0x40 
[ 2152.291288]  [<c11331d9>] munlock_vma_page+0x49/0x90 
[ 2152.291352]  [<c113332d>] munlock_vma_pages_range+0x6d/0xb0 
[ 2152.291417]  [<c1133437>] mlock_fixup+0xc7/0x130 
[ 2152.291479]  [<c1133717>] do_mlock+0x97/0xc0 
[ 2152.291542]  [<c1133782>] sys_munlock+0x42/0x60 
[ 2152.291606]  [<c159465f>] sysenter_do_call+0x12/0x28 
[ 2152.291759] Modules linked in: dm_snapshot xen_evtchn xenfs ext2 dm_mod tpm_tis ata_generic ata_piix e1000e sg 
[ 2152.292366] Pid: 506, comm: lvremove Tainted: G      D W    3.2.16 #4

-Chris


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 22:40:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 22:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSyVV-0006OY-Kl; Fri, 11 May 2012 22:40:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SSyVU-0006OT-Qp
	for xen-devel@lists.xensource.com; Fri, 11 May 2012 22:40:17 +0000
Received: from [85.158.143.35:26055] by server-1.bemta-4.messagelabs.com id
	D6/1D-20925-0559DAF4; Fri, 11 May 2012 22:40:16 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-7.tower-21.messagelabs.com!1336776014!15677244!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18763 invoked from network); 11 May 2012 22:40:14 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-7.tower-21.messagelabs.com with SMTP;
	11 May 2012 22:40:14 -0000
Received: from [10.0.1.5] (c-68-44-174-16.hsd1.nj.comcast.net [68.44.174.16])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q4BMeCah004362;
	Fri, 11 May 2012 18:40:12 -0400
Mime-Version: 1.0 (Apple Message framework v1084)
From: "Christopher S. Aker" <caker@theshore.net>
In-Reply-To: <20120511183012.GB21486@phenom.dumpdata.com>
Date: Fri, 11 May 2012 18:40:12 -0400
Message-Id: <9B6030CC-6E1F-469E-8C97-8331222BF9CC@theshore.net>
References: <4FA7EBF6.6040204@theshore.net>
	<20120511183012.GB21486@phenom.dumpdata.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On May 11, 2012, at 2:30 PM, Konrad Rzeszutek Wilk wrote:
> On Mon, May 07, 2012 at 11:36:22AM -0400, Christopher S. Aker wrote:
>> Xen: 4.1.3-rc1-pre (xenbits @ 23285)
> I just did this with 3.2.16 and didn't experience this. Can you
> try 3.2.16 pls?
> 
> I used the attached .config
> <.config.txt>

Thanks, but no joy with 3.2.16 and your config - only changes made were to build in a few drivers verses as modules to avoid initrd.  Two boxes hit it out of a dozen in under an hour.

[ 2152.285097] BUG: unable to handle kernel paging request at bffff3f0 
[ 2152.285160] IP: [<c1137f4a>] __page_check_address+0xca/0x1b0 
[ 2152.285238] *pdpt = 000000001b5ac027 *pde = 0000000000000000  
[ 2152.285286] Oops: 0000 [#1] PREEMPT SMP  
[ 2152.285338] Modules linked in: dm_snapshot xen_evtchn xenfs ext2 dm_mod tpm_tis ata_generic ata_piix e1000e sg 
[ 2152.285468]  
[ 2152.285495] Pid: 506, comm: lvremove Tainted: G        W    3.2.16 #4 Supermicro X8DT6/X8DT6 
[ 2152.285572] EIP: 0061:[<c1137f4a>] EFLAGS: 00010246 CPU: 14 
[ 2152.285607] EIP is at __page_check_address+0xca/0x1b0 
[ 2152.285641] EAX: bffff000 EBX: dbe79dd8 ECX: 00000000 EDX: e2c00000 
[ 2152.285678] ESI: bffff3f0 EDI: e33538e0 EBP: daf03e58 ESP: daf03e48 
[ 2152.285715]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0069 
[ 2152.285750] Process lvremove (pid: 506, ti=daf02000 task=dd18a3e0 task.ti=daf02000) 
[ 2152.285804] Stack: 
[ 2152.285830]  00000fff e33538e0 dd1a5400 da4826c0 daf03e8c c1138b69 daf03e7c 00000000 
[ 2152.285938]  00000124 00000000 c158df53 b767e000 00000000 b7686000 da4826c0 b767e000 
[ 2152.286042]  e33538e0 daf03f1c c11390e3 00000002 e2c00280 008c7025 daf03ebc c1037d59 
[ 2152.286146] Call Trace: 
[ 2152.286178]  [<c1138b69>] try_to_unmap_one+0x29/0x370 
[ 2152.286218]  [<c158df53>] ? _raw_spin_unlock+0x13/0x40 
[ 2152.286255]  [<c11390e3>] try_to_unmap_file+0x83/0x5a0 
[ 2152.286295]  [<c1037d59>] ? xen_pte_val+0xb9/0x140 
[ 2152.286332]  [<c1036c46>] ? __raw_callee_save_xen_pte_val+0x6/0x8 
[ 2152.286372]  [<c112d6e8>] ? vm_normal_page+0x28/0xe0 
[ 2152.286408]  [<c1037a5d>] ? xen_pmd_val+0x6d/0xf0 
[ 2152.286446]  [<c107995b>] ? get_parent_ip+0xb/0x40 
[ 2152.286482]  [<c113972c>] try_to_munlock+0x1c/0x40 
[ 2152.286518]  [<c11331d9>] munlock_vma_page+0x49/0x90 
[ 2152.286582]  [<c113332d>] munlock_vma_pages_range+0x6d/0xb0 
[ 2152.286620]  [<c1133437>] mlock_fixup+0xc7/0x130 
[ 2152.286656]  [<c1133717>] do_mlock+0x97/0xc0 
[ 2152.286690]  [<c1133782>] sys_munlock+0x42/0x60 
[ 2152.286728]  [<c159465f>] sysenter_do_call+0x12/0x28 
[ 2152.286761] Code: e0 c4 76 c1 8b 04 85 c0 c4 76 c1 2b 90 b0 12 00 00 c1 e2 05 03 90 ac 12 00 00 89 d0 e8 b0 9e f3 ff 8b 4d 0c 85 c9 8d 34 30 75 0c <f7> 06 01 01 00 00 0f 84 ab 00 00 00 8b 03 8b 53 04 ff 15 14 25  
[ 2152.287263] EIP: [<c1137f4a>] __page_check_address+0xca/0x1b0 SS:ESP 0069:daf03e48 
[ 2152.287331] CR2: 00000000bffff3f0 
[ 2152.287560] ---[ end trace a7919e7f17c0a74d ]--- 
[ 2152.287622] note: lvremove[506] exited with preempt_count 1 
[ 2152.287685] BUG: sleeping function called from invalid context at kernel/rwsem.c:21 
[ 2152.287767] in_atomic(): 1, irqs_disabled(): 0, pid: 506, name: lvremove 
[ 2152.287833] Pid: 506, comm: lvremove Tainted: G      D W    3.2.16 #4 
[ 2152.287897] Call Trace: 
[ 2152.287983]  [<c1078244>] __might_sleep+0xe4/0x110 
[ 2152.288047]  [<c158d337>] down_read+0x17/0x30 
[ 2152.288112]  [<c10cb21a>] acct_collect+0x3a/0x160 
[ 2152.288177]  [<c108a55a>] do_exit+0x65a/0x810 
[ 2152.288240]  [<c1087878>] ? kmsg_dump+0x98/0xc0 
[ 2152.288303]  [<c158f640>] oops_end+0x90/0xd0 
[ 2152.288367]  [<c106b24e>] no_context+0xbe/0x190 
[ 2152.288430]  [<c106b3b8>] __bad_area_nosemaphore+0x98/0x140 
[ 2152.288496]  [<c103b9ec>] ? xen_clocksource_read+0x2c/0x60 
[ 2152.288560]  [<c106b472>] bad_area_nosemaphore+0x12/0x20 
[ 2152.288625]  [<c1591393>] do_page_fault+0x2b3/0x450 
[ 2152.288690]  [<c10e5624>] ? handle_percpu_irq+0x34/0x50 
[ 2152.288753]  [<c103b24a>] ? xen_force_evtchn_callback+0x1a/0x30 
[ 2152.288819]  [<c103b24a>] ? xen_force_evtchn_callback+0x1a/0x30 
[ 2152.288886]  [<c103bc2b>] ? xen_restore_fl_direct_reloc+0x4/0x4 
[ 2152.288953]  [<c10e842a>] ? rcu_enter_nohz+0x4a/0x80 
[ 2152.289017]  [<c103b24a>] ? xen_force_evtchn_callback+0x1a/0x30 
[ 2152.289083]  [<c107995b>] ? get_parent_ip+0xb/0x40 
[ 2152.289145]  [<c15915ab>] ? sub_preempt_count+0x7b/0xb0 
[ 2152.289209]  [<c15910e0>] ? spurious_fault+0x130/0x130 
[ 2152.289273]  [<c158ee9b>] error_code+0x67/0x6c 
[ 2152.289365]  [<c1137f4a>] ? __page_check_address+0xca/0x1b0 
[ 2152.289429]  [<c1138b69>] try_to_unmap_one+0x29/0x370 
[ 2152.289494]  [<c158df53>] ? _raw_spin_unlock+0x13/0x40 
[ 2152.289558]  [<c11390e3>] try_to_unmap_file+0x83/0x5a0 
[ 2152.289623]  [<c1037d59>] ? xen_pte_val+0xb9/0x140 
[ 2152.289686]  [<c1036c46>] ? __raw_callee_save_xen_pte_val+0x6/0x8 
[ 2152.289752]  [<c112d6e8>] ? vm_normal_page+0x28/0xe0 
[ 2152.289816]  [<c1037a5d>] ? xen_pmd_val+0x6d/0xf0 
[ 2152.289879]  [<c107995b>] ? get_parent_ip+0xb/0x40 
[ 2152.289943]  [<c113972c>] try_to_munlock+0x1c/0x40 
[ 2152.291288]  [<c11331d9>] munlock_vma_page+0x49/0x90 
[ 2152.291352]  [<c113332d>] munlock_vma_pages_range+0x6d/0xb0 
[ 2152.291417]  [<c1133437>] mlock_fixup+0xc7/0x130 
[ 2152.291479]  [<c1133717>] do_mlock+0x97/0xc0 
[ 2152.291542]  [<c1133782>] sys_munlock+0x42/0x60 
[ 2152.291606]  [<c159465f>] sysenter_do_call+0x12/0x28 
[ 2152.291759] Modules linked in: dm_snapshot xen_evtchn xenfs ext2 dm_mod tpm_tis ata_generic ata_piix e1000e sg 
[ 2152.292366] Pid: 506, comm: lvremove Tainted: G      D W    3.2.16 #4

-Chris


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 23:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 23:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSz8R-0007Kc-4c; Fri, 11 May 2012 23:20:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SSz8P-0007KX-NA
	for xen-devel@lists.xen.org; Fri, 11 May 2012 23:20:29 +0000
Received: from [85.158.143.35:26392] by server-2.bemta-4.messagelabs.com id
	9C/8D-17550-DBE9DAF4; Fri, 11 May 2012 23:20:29 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336778427!8479488!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28120 invoked from network); 11 May 2012 23:20:27 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 23:20:27 -0000
Received: by werf3 with SMTP id f3so1744940wer.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 16:20:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=InXuae00m5qOq7s4m0m2CplwgaOrheHyh+J5fZ0fHN4=;
	b=TJkw0vqafb5fMm8UsiktsYQ4W8WxfDKQZ2+uTaJbsq6H5TnZ+TOx4vcwB+1g5v4ZDe
	wvxyvc48Ea5pCI06CwvtRVIi2gc9hA3v0iV6zYy+DPYsqFFmTBFLw2MvGQUnjF0yITBv
	RpB2Zgwc0PBNS070HSGeSLYNCpwnbM7w5MQKB3MvIgBQNzmqWoEvWNHnWN3b0Hpg6t6V
	8owPngsy03397c9aMtlb5qZv8zY5Z99FSsy9MswvWrVrqTGKmXvzPlcFGShx19P7QPgu
	49k+05DdldR61j+E93An/PvZxWF/7QCBq6XM+Bw7nJeI+AOJlLANhW5QlrpOTC+ynygV
	2iRg==
Received: by 10.216.150.213 with SMTP id z63mr2635723wej.102.1336778427115;
	Fri, 11 May 2012 16:20:27 -0700 (PDT)
Received: from [127.0.1.1] (ip-182-223.sn1.eutelia.it. [62.94.182.223])
	by mx.google.com with ESMTPS id bn9sm14083376wib.5.2012.05.11.16.20.24
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 11 May 2012 16:20:25 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 20943633a63e0691272bd940459c6c9c34e8f5c8
Message-Id: <20943633a63e0691272b.1336778417@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Sat, 12 May 2012 01:20:17 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping in
	config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same to be done in xl.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1709,6 +1728,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu);
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 23:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 23:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSz8R-0007Kc-4c; Fri, 11 May 2012 23:20:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SSz8P-0007KX-NA
	for xen-devel@lists.xen.org; Fri, 11 May 2012 23:20:29 +0000
Received: from [85.158.143.35:26392] by server-2.bemta-4.messagelabs.com id
	9C/8D-17550-DBE9DAF4; Fri, 11 May 2012 23:20:29 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1336778427!8479488!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28120 invoked from network); 11 May 2012 23:20:27 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 23:20:27 -0000
Received: by werf3 with SMTP id f3so1744940wer.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 16:20:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=InXuae00m5qOq7s4m0m2CplwgaOrheHyh+J5fZ0fHN4=;
	b=TJkw0vqafb5fMm8UsiktsYQ4W8WxfDKQZ2+uTaJbsq6H5TnZ+TOx4vcwB+1g5v4ZDe
	wvxyvc48Ea5pCI06CwvtRVIi2gc9hA3v0iV6zYy+DPYsqFFmTBFLw2MvGQUnjF0yITBv
	RpB2Zgwc0PBNS070HSGeSLYNCpwnbM7w5MQKB3MvIgBQNzmqWoEvWNHnWN3b0Hpg6t6V
	8owPngsy03397c9aMtlb5qZv8zY5Z99FSsy9MswvWrVrqTGKmXvzPlcFGShx19P7QPgu
	49k+05DdldR61j+E93An/PvZxWF/7QCBq6XM+Bw7nJeI+AOJlLANhW5QlrpOTC+ynygV
	2iRg==
Received: by 10.216.150.213 with SMTP id z63mr2635723wej.102.1336778427115;
	Fri, 11 May 2012 16:20:27 -0700 (PDT)
Received: from [127.0.1.1] (ip-182-223.sn1.eutelia.it. [62.94.182.223])
	by mx.google.com with ESMTPS id bn9sm14083376wib.5.2012.05.11.16.20.24
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 11 May 2012 16:20:25 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 20943633a63e0691272bd940459c6c9c34e8f5c8
Message-Id: <20943633a63e0691272b.1336778417@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Sat, 12 May 2012 01:20:17 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping in
	config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same to be done in xl.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1709,6 +1728,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu);
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 11 23:24:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 23:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSzBb-0007QL-QH; Fri, 11 May 2012 23:23:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SSzBa-0007QC-BR
	for xen-devel@lists.xen.org; Fri, 11 May 2012 23:23:46 +0000
Received: from [85.158.143.99:22435] by server-3.bemta-4.messagelabs.com id
	A3/ED-05853-18F9DAF4; Fri, 11 May 2012 23:23:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336778624!22304758!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6639 invoked from network); 11 May 2012 23:23:44 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	11 May 2012 23:23:44 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77810963; Sat, 12 May 2012 01:23:43 +0200
Message-ID: <1336778609.27081.1.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Sat, 12 May 2012 01:23:29 +0200
In-Reply-To: <20943633a63e0691272b.1336778417@Solace>
References: <20943633a63e0691272b.1336778417@Solace>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7115100927558285491=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7115100927558285491==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-MwjyKRp4azlLmCvBx/79"


--=-MwjyKRp4azlLmCvBx/79
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, 2012-05-12 at 01:20 +0200, Dario Faggioli wrote:=20
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
>=20
> cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
>=20
> Allow for the same to be done in xl.
>=20
And yes, I'm proposing this for 4.2, as not having it is a feature
parity between xm and xl bug someone reported on @xen-users.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-MwjyKRp4azlLmCvBx/79
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+tn3EACgkQk4XaBE3IOsRTGgCfbDgcCEB9BtvVynZBioj8DceT
GkUAnR6v2LaWN88BlC0Bq7qn84yiV8hC
=cbeX
-----END PGP SIGNATURE-----

--=-MwjyKRp4azlLmCvBx/79--



--===============7115100927558285491==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7115100927558285491==--



From xen-devel-bounces@lists.xen.org Fri May 11 23:24:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 23:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSzBb-0007QL-QH; Fri, 11 May 2012 23:23:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SSzBa-0007QC-BR
	for xen-devel@lists.xen.org; Fri, 11 May 2012 23:23:46 +0000
Received: from [85.158.143.99:22435] by server-3.bemta-4.messagelabs.com id
	A3/ED-05853-18F9DAF4; Fri, 11 May 2012 23:23:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1336778624!22304758!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6639 invoked from network); 11 May 2012 23:23:44 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	11 May 2012 23:23:44 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77810963; Sat, 12 May 2012 01:23:43 +0200
Message-ID: <1336778609.27081.1.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Sat, 12 May 2012 01:23:29 +0200
In-Reply-To: <20943633a63e0691272b.1336778417@Solace>
References: <20943633a63e0691272b.1336778417@Solace>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7115100927558285491=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7115100927558285491==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-MwjyKRp4azlLmCvBx/79"


--=-MwjyKRp4azlLmCvBx/79
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, 2012-05-12 at 01:20 +0200, Dario Faggioli wrote:=20
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
>=20
> cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
>=20
> Allow for the same to be done in xl.
>=20
And yes, I'm proposing this for 4.2, as not having it is a feature
parity between xm and xl bug someone reported on @xen-users.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-MwjyKRp4azlLmCvBx/79
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+tn3EACgkQk4XaBE3IOsRTGgCfbDgcCEB9BtvVynZBioj8DceT
GkUAnR6v2LaWN88BlC0Bq7qn84yiV8hC
=cbeX
-----END PGP SIGNATURE-----

--=-MwjyKRp4azlLmCvBx/79--



--===============7115100927558285491==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7115100927558285491==--



From xen-devel-bounces@lists.xen.org Fri May 11 23:53:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 23:53:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSze7-0007iy-AM; Fri, 11 May 2012 23:53:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SSze5-0007iq-7g
	for xen-devel@lists.xen.org; Fri, 11 May 2012 23:53:13 +0000
Received: from [85.158.143.99:27233] by server-1.bemta-4.messagelabs.com id
	D8/16-20925-866ADAF4; Fri, 11 May 2012 23:53:12 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336780389!22347175!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24442 invoked from network); 11 May 2012 23:53:10 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 23:53:10 -0000
Received: by pbbro12 with SMTP id ro12so4202148pbb.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 16:53:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=mNfcSANEwjGY2FleqJky+Coe8OKzqV/Q8xuxwLywkBY=;
	b=FNz4v8tQbfnS9vmC84SfW+3pfUnO1ykw8kad1EsStFVvH8nLT476SGFn4BHR9+zd6W
	ivaqWZfmgKbDWnMoc+uWTcE1T5LcXDhJtY4//Wnd/U1VCo1s5hLvC1alKRar9UMmKhDe
	LUPvNWbbkL2HlTo8LTwfj+lb6E6nCgxRxyH+Ur8pPO26wEffs4Lb2H6sVdQMTzSc0rne
	+3rsaYONUfJcEK4n9wXIIqQ5J5gbeCyw/Cui9v49d1yTazOCpt/fRe68zVuxtXqeqtB6
	kMhD8VNgd5IwHYwS3acwMYYSyMh9743Z/CY2sugK6NEqaH8DTfGEznNT/rLjmBSmN9Es
	vIUA==
MIME-Version: 1.0
Received: by 10.68.228.195 with SMTP id sk3mr217478pbc.20.1336780388181; Fri,
	11 May 2012 16:53:08 -0700 (PDT)
Received: by 10.68.189.133 with HTTP; Fri, 11 May 2012 16:53:07 -0700 (PDT)
In-Reply-To: <20397.10224.96552.711065@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
Date: Sat, 12 May 2012 07:53:07 +0800
Message-ID: <CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Content-Type: multipart/mixed; boundary=047d7b2eda632e25c404bfcb70c5
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--047d7b2eda632e25c404bfcb70c5
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
>> libxl/xend: name tap devices vifX.Y-emu
>
> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

This is my backport version which excludes the following:

Lastly also move libxl__device_* to a better place in the header, otherwise the
comment about evgen stuff isn't next to the associated functions (noticed jsut
because I was going to add nic_devname near to the setdefault functions)

I have tested with xm and xl with and without vifname set in domU
config for hvmdomain and pvdomain.

For your review and comments please.

Thanks.

Kindest regards,
Giam Teck Choon




libxl/xend: name tap devices vifX.Y-emu

This prevents the udev scripts from operating on other tap devices (e.g.
openvpn etc)

Correct the documentation for the "vifname" option which suggested it applied
to HVM tap devices only, which is not the case.

Reported by Michael Young.

Also fix the use of vifname with emulated devices. This is slightly complex.
The current hotplug scripts rely on being able to parse the "tapX.Y" (now
"vifX.Y-emu") name in order to locate the xenstore backend dir relating to the
corresponding vif. This is because we cannot inject our own environment vars
into the tap hotplug events. However this means that if the tap is initially
named with a user specified name (which will not match the expected scheme) we
fail to do anything useful with the device. So now we create the initial tap
device with the standard "vifX.Y-emu" name and the hotplug script will handle
the rename to the desired name. This is also how PV vif devices work -- they
are always created by netback with the name vifX.Y and renamed in the script.

xen-unstable changeset: 25290:7a6dcecb1781
Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
---
 tools/hotplug/Linux/vif-common.sh     |   15 +++++++++++++--
 tools/hotplug/Linux/xen-backend.rules |    2 +-
 tools/libxl/libxl_dm.c                |   17 ++++++-----------
 tools/python/xen/xend/image.py        |    6 +-----
 4 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/tools/hotplug/Linux/vif-common.sh
b/tools/hotplug/Linux/vif-common.sh
index c9c5d41..fff22bb 100644
--- a/tools/hotplug/Linux/vif-common.sh
+++ b/tools/hotplug/Linux/vif-common.sh
@@ -85,12 +85,23 @@ elif [ "$type_if" = tap ]; then
     : ${INTERFACE:?}

     # Get xenbus_path from device name.
-    # The name is built like that: "tap${domid}.${devid}".
-    dev_=${dev#tap}
+    # The name is built like that: "vif${domid}.${devid}-emu".
+    dev_=${dev#vif}
+    dev_=${dev_%-emu}
     domid=${dev_%.*}
     devid=${dev_#*.}

     XENBUS_PATH="/local/domain/0/backend/vif/$domid/$devid"
+    vifname=$(xenstore_read_default "$XENBUS_PATH/vifname" "")
+    if [ "$vifname" ]
+    then
+        vifname="${vifname}-emu"
+        if [ "$command" == "add" ] && ! ip link show "$vifname" >&/dev/null
+        then
+            do_or_die ip link set "$dev" name "$vifname"
+        fi
+        dev="$vifname"
+    fi
 fi

 ip=${ip:-}
diff --git a/tools/hotplug/Linux/xen-backend.rules
b/tools/hotplug/Linux/xen-backend.rules
index 40f2658..405387f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -13,4 +13,4 @@ KERNEL=="blktap-control",
NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="tap*", ACTION=="add",
RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add",
RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 1ffcc90..2c030ca 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -134,11 +134,9 @@ static char **
libxl_build_device_model_args_old(libxl__gc *gc,
                 char *smac = libxl__sprintf(gc,
"%02x:%02x:%02x:%02x:%02x:%02x",
                                            vifs[i].mac[0],
vifs[i].mac[1], vifs[i].mac[2],
                                            vifs[i].mac[3],
vifs[i].mac[4], vifs[i].mac[5]);
-                char *ifname;
-                if (!vifs[i].ifname)
-                    ifname = libxl__sprintf(gc, "tap%d.%d",
info->domid, vifs[i].devid);
-                else
-                    ifname = vifs[i].ifname;
+                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
+                                                    info->domid,
+                                                    vifs[i].devid);
                 flexarray_vappend(dm_args,
                                 "-net", libxl__sprintf(gc,
"nic,vlan=%d,macaddr=%s,model=%s",
                                                        vifs[i].devid,
smac, vifs[i].model),
@@ -271,12 +269,9 @@ static char **
libxl_build_device_model_args_new(libxl__gc *gc,
                 char *smac = libxl__sprintf(gc,
"%02x:%02x:%02x:%02x:%02x:%02x",
                                            vifs[i].mac[0],
vifs[i].mac[1], vifs[i].mac[2],
                                            vifs[i].mac[3],
vifs[i].mac[4], vifs[i].mac[5]);
-                char *ifname;
-                if (!vifs[i].ifname) {
-                    ifname = libxl__sprintf(gc, "tap%d.%d",
info->domid, vifs[i].devid);
-                } else {
-                    ifname = vifs[i].ifname;
-                }
+                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
+                                                    info->domid,
+                                                    vifs[i].devid);
                 flexarray_append(dm_args, "-net");
                 flexarray_append(dm_args, libxl__sprintf(gc,
"nic,vlan=%d,macaddr=%s,model=%s",
                             vifs[i].devid, smac, vifs[i].model));
diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py
index f1464ac..3c8d80c 100644
--- a/tools/python/xen/xend/image.py
+++ b/tools/python/xen/xend/image.py
@@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
             ret.append("-net")
             ret.append("nic,vlan=%d,macaddr=%s,model=%s" %
                        (nics, mac, model))
-            vifname = devinfo.get('vifname')
-            if vifname:
-                vifname = "tap-" + vifname
-            else:
-                vifname = "tap%d.%d" % (self.vm.getDomid(), nics-1)
+            vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
             ret.append("-net")
             ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
                        (nics, vifname, bridge))

--047d7b2eda632e25c404bfcb70c5
Content-Type: application/octet-stream; 
	name="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Disposition: attachment; 
	filename="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h23wier60

bGlieGwveGVuZDogbmFtZSB0YXAgZGV2aWNlcyB2aWZYLlktZW11CgpUaGlzIHByZXZlbnRzIHRo
ZSB1ZGV2IHNjcmlwdHMgZnJvbSBvcGVyYXRpbmcgb24gb3RoZXIgdGFwIGRldmljZXMgKGUuZy4K
b3BlbnZwbiBldGMpCgpDb3JyZWN0IHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgInZpZm5hbWUi
IG9wdGlvbiB3aGljaCBzdWdnZXN0ZWQgaXQgYXBwbGllZAp0byBIVk0gdGFwIGRldmljZXMgb25s
eSwgd2hpY2ggaXMgbm90IHRoZSBjYXNlLgoKUmVwb3J0ZWQgYnkgTWljaGFlbCBZb3VuZy4KCkFs
c28gZml4IHRoZSB1c2Ugb2YgdmlmbmFtZSB3aXRoIGVtdWxhdGVkIGRldmljZXMuIFRoaXMgaXMg
c2xpZ2h0bHkgY29tcGxleC4KVGhlIGN1cnJlbnQgaG90cGx1ZyBzY3JpcHRzIHJlbHkgb24gYmVp
bmcgYWJsZSB0byBwYXJzZSB0aGUgInRhcFguWSIgKG5vdwoidmlmWC5ZLWVtdSIpIG5hbWUgaW4g
b3JkZXIgdG8gbG9jYXRlIHRoZSB4ZW5zdG9yZSBiYWNrZW5kIGRpciByZWxhdGluZyB0byB0aGUK
Y29ycmVzcG9uZGluZyB2aWYuIFRoaXMgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgaW5qZWN0IG91ciBv
d24gZW52aXJvbm1lbnQgdmFycwppbnRvIHRoZSB0YXAgaG90cGx1ZyBldmVudHMuIEhvd2V2ZXIg
dGhpcyBtZWFucyB0aGF0IGlmIHRoZSB0YXAgaXMgaW5pdGlhbGx5Cm5hbWVkIHdpdGggYSB1c2Vy
IHNwZWNpZmllZCBuYW1lICh3aGljaCB3aWxsIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgc2NoZW1l
KSB3ZQpmYWlsIHRvIGRvIGFueXRoaW5nIHVzZWZ1bCB3aXRoIHRoZSBkZXZpY2UuIFNvIG5vdyB3
ZSBjcmVhdGUgdGhlIGluaXRpYWwgdGFwCmRldmljZSB3aXRoIHRoZSBzdGFuZGFyZCAidmlmWC5Z
LWVtdSIgbmFtZSBhbmQgdGhlIGhvdHBsdWcgc2NyaXB0IHdpbGwgaGFuZGxlCnRoZSByZW5hbWUg
dG8gdGhlIGRlc2lyZWQgbmFtZS4gVGhpcyBpcyBhbHNvIGhvdyBQViB2aWYgZGV2aWNlcyB3b3Jr
IC0tIHRoZXkKYXJlIGFsd2F5cyBjcmVhdGVkIGJ5IG5ldGJhY2sgd2l0aCB0aGUgbmFtZSB2aWZY
LlkgYW5kIHJlbmFtZWQgaW4gdGhlIHNjcmlwdC4KCnhlbi11bnN0YWJsZSBjaGFuZ2VzZXQ6IDI1
MjkwOjdhNmRjZWNiMTc4MQpTaWduZWQtb2ZmLWJ5OiBHaWFtIFRlY2sgQ2hvb24gPGdpYW10ZWNr
Y2hvb25AZ21haWwuY29tPgotLS0KIHRvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaCAg
ICAgfCAgIDE1ICsrKysrKysrKysrKystLQogdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFja2Vu
ZC5ydWxlcyB8ICAgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2RtLmMgICAgICAgICAgICAgICAg
fCAgIDE3ICsrKysrKy0tLS0tLS0tLS0tCiB0b29scy9weXRob24veGVuL3hlbmQvaW1hZ2UucHkg
ICAgICAgIHwgICAgNiArLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg
MTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvaG90cGx1Zy9MaW51eC92aWYtY29t
bW9uLnNoIGIvdG9vbHMvaG90cGx1Zy9MaW51eC92aWYtY29tbW9uLnNoCmluZGV4IGM5YzVkNDEu
LmZmZjIyYmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaAor
KysgYi90b29scy9ob3RwbHVnL0xpbnV4L3ZpZi1jb21tb24uc2gKQEAgLTg1LDEyICs4NSwyMyBA
QCBlbGlmIFsgIiR0eXBlX2lmIiA9IHRhcCBdOyB0aGVuCiAgICAgOiAke0lOVEVSRkFDRTo/fQog
CiAgICAgIyBHZXQgeGVuYnVzX3BhdGggZnJvbSBkZXZpY2UgbmFtZS4KLSAgICAjIFRoZSBuYW1l
IGlzIGJ1aWx0IGxpa2UgdGhhdDogInRhcCR7ZG9taWR9LiR7ZGV2aWR9Ii4KLSAgICBkZXZfPSR7
ZGV2I3RhcH0KKyAgICAjIFRoZSBuYW1lIGlzIGJ1aWx0IGxpa2UgdGhhdDogInZpZiR7ZG9taWR9
LiR7ZGV2aWR9LWVtdSIuCisgICAgZGV2Xz0ke2RldiN2aWZ9CisgICAgZGV2Xz0ke2Rldl8lLWVt
dX0KICAgICBkb21pZD0ke2Rldl8lLip9CiAgICAgZGV2aWQ9JHtkZXZfIyoufQogCiAgICAgWEVO
QlVTX1BBVEg9Ii9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8kZG9taWQvJGRldmlkIgorICAg
IHZpZm5hbWU9JCh4ZW5zdG9yZV9yZWFkX2RlZmF1bHQgIiRYRU5CVVNfUEFUSC92aWZuYW1lIiAi
IikKKyAgICBpZiBbICIkdmlmbmFtZSIgXQorICAgIHRoZW4KKyAgICAgICAgdmlmbmFtZT0iJHt2
aWZuYW1lfS1lbXUiCisgICAgICAgIGlmIFsgIiRjb21tYW5kIiA9PSAiYWRkIiBdICYmICEgaXAg
bGluayBzaG93ICIkdmlmbmFtZSIgPiYvZGV2L251bGwKKyAgICAgICAgdGhlbgorICAgICAgICAg
ICAgZG9fb3JfZGllIGlwIGxpbmsgc2V0ICIkZGV2IiBuYW1lICIkdmlmbmFtZSIKKyAgICAgICAg
ZmkKKyAgICAgICAgZGV2PSIkdmlmbmFtZSIKKyAgICBmaQogZmkKIAogaXA9JHtpcDotfQpkaWZm
IC0tZ2l0IGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFja2VuZC5ydWxlcyBiL3Rvb2xzL2hv
dHBsdWcvTGludXgveGVuLWJhY2tlbmQucnVsZXMKaW5kZXggNDBmMjY1OC4uNDA1Mzg3ZiAxMDA2
NDQKLS0tIGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFja2VuZC5ydWxlcworKysgYi90b29s
cy9ob3RwbHVnL0xpbnV4L3hlbi1iYWNrZW5kLnJ1bGVzCkBAIC0xMyw0ICsxMyw0IEBAIEtFUk5F
TD09ImJsa3RhcC1jb250cm9sIiwgTkFNRT0ieGVuL2Jsa3RhcC0yL2NvbnRyb2wiLCBNT0RFPSIw
NjAwIgogS0VSTkVMPT0iZ250ZGV2IiwgTkFNRT0ieGVuLyVrIiwgTU9ERT0iMDYwMCIKIEtFUk5F
TD09InBjaV9pb211bCIsIE5BTUU9Inhlbi8layIsIE1PREU9IjA2MDAiCiBLRVJORUw9PSJ0YXBk
ZXZbYS16XSoiLCBOQU1FPSJ4ZW4vYmxrdGFwLTIvdGFwZGV2JW0iLCBNT0RFPSIwNjAwIgotU1VC
U1lTVEVNPT0ibmV0IiwgS0VSTkVMPT0idGFwKiIsIEFDVElPTj09ImFkZCIsIFJVTis9Ii9ldGMv
eGVuL3NjcmlwdHMvdmlmLXNldHVwICRlbnZ7QUNUSU9OfSB0eXBlX2lmPXRhcCIKK1NVQlNZU1RF
TT09Im5ldCIsIEtFUk5FTD09InZpZiotZW11IiwgQUNUSU9OPT0iYWRkIiwgUlVOKz0iL2V0Yy94
ZW4vc2NyaXB0cy92aWYtc2V0dXAgJGVudntBQ1RJT059IHR5cGVfaWY9dGFwIgpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKaW5kZXgg
MWZmY2M5MC4uMmMwMzBjYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysg
Yi90b29scy9saWJ4bC9saWJ4bF9kbS5jCkBAIC0xMzQsMTEgKzEzNCw5IEBAIHN0YXRpYyBjaGFy
ICoqIGxpYnhsX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX29sZChsaWJ4bF9fZ2MgKmdjLAogICAg
ICAgICAgICAgICAgIGNoYXIgKnNtYWMgPSBsaWJ4bF9fc3ByaW50ZihnYywgIiUwMng6JTAyeDol
MDJ4OiUwMng6JTAyeDolMDJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2aWZzW2ldLm1hY1swXSwgdmlmc1tpXS5tYWNbMV0sIHZpZnNbaV0ubWFjWzJdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZnNbaV0ubWFjWzNd
LCB2aWZzW2ldLm1hY1s0XSwgdmlmc1tpXS5tYWNbNV0pOwotICAgICAgICAgICAgICAgIGNoYXIg
KmlmbmFtZTsKLSAgICAgICAgICAgICAgICBpZiAoIXZpZnNbaV0uaWZuYW1lKQotICAgICAgICAg
ICAgICAgICAgICBpZm5hbWUgPSBsaWJ4bF9fc3ByaW50ZihnYywgInRhcCVkLiVkIiwgaW5mby0+
ZG9taWQsIHZpZnNbaV0uZGV2aWQpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgaWZuYW1lID0gdmlmc1tpXS5pZm5hbWU7CisgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciAqaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ2aWYlZC4lZC1lbXUiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPmRvbWlk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZp
ZnNbaV0uZGV2aWQpOwogICAgICAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRtX2FyZ3Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbmV0IiwgbGlieGxfX3NwcmludGYo
Z2MsICJuaWMsdmxhbj0lZCxtYWNhZGRyPSVzLG1vZGVsPSVzIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWZzW2ldLmRldmlkLCBzbWFj
LCB2aWZzW2ldLm1vZGVsKSwKQEAgLTI3MSwxMiArMjY5LDkgQEAgc3RhdGljIGNoYXIgKiogbGli
eGxfYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAg
ICAgICAgY2hhciAqc21hYyA9IGxpYnhsX19zcHJpbnRmKGdjLCAiJTAyeDolMDJ4OiUwMng6JTAy
eDolMDJ4OiUwMngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZpZnNbaV0ubWFjWzBdLCB2aWZzW2ldLm1hY1sxXSwgdmlmc1tpXS5tYWNbMl0sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlmc1tpXS5tYWNbM10sIHZpZnNb
aV0ubWFjWzRdLCB2aWZzW2ldLm1hY1s1XSk7Ci0gICAgICAgICAgICAgICAgY2hhciAqaWZuYW1l
OwotICAgICAgICAgICAgICAgIGlmICghdmlmc1tpXS5pZm5hbWUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ0YXAlZC4lZCIsIGluZm8tPmRvbWlk
LCB2aWZzW2ldLmRldmlkKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICBpZm5hbWUgPSB2aWZzW2ldLmlmbmFtZTsKLSAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgY29uc3QgY2hhciAqaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ2aWYl
ZC4lZC1lbXUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluZm8tPmRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZpZnNbaV0uZGV2aWQpOwogICAgICAgICAgICAgICAgIGZsZXhhcnJh
eV9hcHBlbmQoZG1fYXJncywgIi1uZXQiKTsKICAgICAgICAgICAgICAgICBmbGV4YXJyYXlfYXBw
ZW5kKGRtX2FyZ3MsIGxpYnhsX19zcHJpbnRmKGdjLCAibmljLHZsYW49JWQsbWFjYWRkcj0lcyxt
b2RlbD0lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlmc1tpXS5kZXZpZCwgc21h
Yywgdmlmc1tpXS5tb2RlbCkpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvcHl0aG9uL3hlbi94ZW5kL2lt
YWdlLnB5IGIvdG9vbHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdlLnB5CmluZGV4IGYxNDY0YWMuLjNj
OGQ4MGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4veGVuZC9pbWFnZS5weQorKysgYi90
b29scy9weXRob24veGVuL3hlbmQvaW1hZ2UucHkKQEAgLTkxNywxMSArOTE3LDcgQEAgY2xhc3Mg
SFZNSW1hZ2VIYW5kbGVyKEltYWdlSGFuZGxlcik6CiAgICAgICAgICAgICByZXQuYXBwZW5kKCIt
bmV0IikKICAgICAgICAgICAgIHJldC5hcHBlbmQoIm5pYyx2bGFuPSVkLG1hY2FkZHI9JXMsbW9k
ZWw9JXMiICUKICAgICAgICAgICAgICAgICAgICAgICAgKG5pY3MsIG1hYywgbW9kZWwpKQotICAg
ICAgICAgICAgdmlmbmFtZSA9IGRldmluZm8uZ2V0KCd2aWZuYW1lJykKLSAgICAgICAgICAgIGlm
IHZpZm5hbWU6Ci0gICAgICAgICAgICAgICAgdmlmbmFtZSA9ICJ0YXAtIiArIHZpZm5hbWUKLSAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdmlmbmFtZSA9ICJ0YXAlZC4lZCIgJSAo
c2VsZi52bS5nZXREb21pZCgpLCBuaWNzLTEpCisgICAgICAgICAgICB2aWZuYW1lID0gInZpZiVk
LiVkLWVtdSIgJSAoc2VsZi52bS5nZXREb21pZCgpLCBuaWNzLTEpCiAgICAgICAgICAgICByZXQu
YXBwZW5kKCItbmV0IikKICAgICAgICAgICAgIHJldC5hcHBlbmQoInRhcCx2bGFuPSVkLGlmbmFt
ZT0lcyxicmlkZ2U9JXMiICUKICAgICAgICAgICAgICAgICAgICAgICAgKG5pY3MsIHZpZm5hbWUs
IGJyaWRnZSkpCg==
--047d7b2eda632e25c404bfcb70c5
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--047d7b2eda632e25c404bfcb70c5--


From xen-devel-bounces@lists.xen.org Fri May 11 23:53:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 11 May 2012 23:53:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SSze7-0007iy-AM; Fri, 11 May 2012 23:53:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SSze5-0007iq-7g
	for xen-devel@lists.xen.org; Fri, 11 May 2012 23:53:13 +0000
Received: from [85.158.143.99:27233] by server-1.bemta-4.messagelabs.com id
	D8/16-20925-866ADAF4; Fri, 11 May 2012 23:53:12 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336780389!22347175!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24442 invoked from network); 11 May 2012 23:53:10 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	11 May 2012 23:53:10 -0000
Received: by pbbro12 with SMTP id ro12so4202148pbb.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 16:53:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=mNfcSANEwjGY2FleqJky+Coe8OKzqV/Q8xuxwLywkBY=;
	b=FNz4v8tQbfnS9vmC84SfW+3pfUnO1ykw8kad1EsStFVvH8nLT476SGFn4BHR9+zd6W
	ivaqWZfmgKbDWnMoc+uWTcE1T5LcXDhJtY4//Wnd/U1VCo1s5hLvC1alKRar9UMmKhDe
	LUPvNWbbkL2HlTo8LTwfj+lb6E6nCgxRxyH+Ur8pPO26wEffs4Lb2H6sVdQMTzSc0rne
	+3rsaYONUfJcEK4n9wXIIqQ5J5gbeCyw/Cui9v49d1yTazOCpt/fRe68zVuxtXqeqtB6
	kMhD8VNgd5IwHYwS3acwMYYSyMh9743Z/CY2sugK6NEqaH8DTfGEznNT/rLjmBSmN9Es
	vIUA==
MIME-Version: 1.0
Received: by 10.68.228.195 with SMTP id sk3mr217478pbc.20.1336780388181; Fri,
	11 May 2012 16:53:08 -0700 (PDT)
Received: by 10.68.189.133 with HTTP; Fri, 11 May 2012 16:53:07 -0700 (PDT)
In-Reply-To: <20397.10224.96552.711065@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
Date: Sat, 12 May 2012 07:53:07 +0800
Message-ID: <CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Content-Type: multipart/mixed; boundary=047d7b2eda632e25c404bfcb70c5
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--047d7b2eda632e25c404bfcb70c5
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
>> libxl/xend: name tap devices vifX.Y-emu
>
> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

This is my backport version which excludes the following:

Lastly also move libxl__device_* to a better place in the header, otherwise the
comment about evgen stuff isn't next to the associated functions (noticed jsut
because I was going to add nic_devname near to the setdefault functions)

I have tested with xm and xl with and without vifname set in domU
config for hvmdomain and pvdomain.

For your review and comments please.

Thanks.

Kindest regards,
Giam Teck Choon




libxl/xend: name tap devices vifX.Y-emu

This prevents the udev scripts from operating on other tap devices (e.g.
openvpn etc)

Correct the documentation for the "vifname" option which suggested it applied
to HVM tap devices only, which is not the case.

Reported by Michael Young.

Also fix the use of vifname with emulated devices. This is slightly complex.
The current hotplug scripts rely on being able to parse the "tapX.Y" (now
"vifX.Y-emu") name in order to locate the xenstore backend dir relating to the
corresponding vif. This is because we cannot inject our own environment vars
into the tap hotplug events. However this means that if the tap is initially
named with a user specified name (which will not match the expected scheme) we
fail to do anything useful with the device. So now we create the initial tap
device with the standard "vifX.Y-emu" name and the hotplug script will handle
the rename to the desired name. This is also how PV vif devices work -- they
are always created by netback with the name vifX.Y and renamed in the script.

xen-unstable changeset: 25290:7a6dcecb1781
Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
---
 tools/hotplug/Linux/vif-common.sh     |   15 +++++++++++++--
 tools/hotplug/Linux/xen-backend.rules |    2 +-
 tools/libxl/libxl_dm.c                |   17 ++++++-----------
 tools/python/xen/xend/image.py        |    6 +-----
 4 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/tools/hotplug/Linux/vif-common.sh
b/tools/hotplug/Linux/vif-common.sh
index c9c5d41..fff22bb 100644
--- a/tools/hotplug/Linux/vif-common.sh
+++ b/tools/hotplug/Linux/vif-common.sh
@@ -85,12 +85,23 @@ elif [ "$type_if" = tap ]; then
     : ${INTERFACE:?}

     # Get xenbus_path from device name.
-    # The name is built like that: "tap${domid}.${devid}".
-    dev_=${dev#tap}
+    # The name is built like that: "vif${domid}.${devid}-emu".
+    dev_=${dev#vif}
+    dev_=${dev_%-emu}
     domid=${dev_%.*}
     devid=${dev_#*.}

     XENBUS_PATH="/local/domain/0/backend/vif/$domid/$devid"
+    vifname=$(xenstore_read_default "$XENBUS_PATH/vifname" "")
+    if [ "$vifname" ]
+    then
+        vifname="${vifname}-emu"
+        if [ "$command" == "add" ] && ! ip link show "$vifname" >&/dev/null
+        then
+            do_or_die ip link set "$dev" name "$vifname"
+        fi
+        dev="$vifname"
+    fi
 fi

 ip=${ip:-}
diff --git a/tools/hotplug/Linux/xen-backend.rules
b/tools/hotplug/Linux/xen-backend.rules
index 40f2658..405387f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -13,4 +13,4 @@ KERNEL=="blktap-control",
NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="tap*", ACTION=="add",
RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add",
RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 1ffcc90..2c030ca 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -134,11 +134,9 @@ static char **
libxl_build_device_model_args_old(libxl__gc *gc,
                 char *smac = libxl__sprintf(gc,
"%02x:%02x:%02x:%02x:%02x:%02x",
                                            vifs[i].mac[0],
vifs[i].mac[1], vifs[i].mac[2],
                                            vifs[i].mac[3],
vifs[i].mac[4], vifs[i].mac[5]);
-                char *ifname;
-                if (!vifs[i].ifname)
-                    ifname = libxl__sprintf(gc, "tap%d.%d",
info->domid, vifs[i].devid);
-                else
-                    ifname = vifs[i].ifname;
+                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
+                                                    info->domid,
+                                                    vifs[i].devid);
                 flexarray_vappend(dm_args,
                                 "-net", libxl__sprintf(gc,
"nic,vlan=%d,macaddr=%s,model=%s",
                                                        vifs[i].devid,
smac, vifs[i].model),
@@ -271,12 +269,9 @@ static char **
libxl_build_device_model_args_new(libxl__gc *gc,
                 char *smac = libxl__sprintf(gc,
"%02x:%02x:%02x:%02x:%02x:%02x",
                                            vifs[i].mac[0],
vifs[i].mac[1], vifs[i].mac[2],
                                            vifs[i].mac[3],
vifs[i].mac[4], vifs[i].mac[5]);
-                char *ifname;
-                if (!vifs[i].ifname) {
-                    ifname = libxl__sprintf(gc, "tap%d.%d",
info->domid, vifs[i].devid);
-                } else {
-                    ifname = vifs[i].ifname;
-                }
+                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
+                                                    info->domid,
+                                                    vifs[i].devid);
                 flexarray_append(dm_args, "-net");
                 flexarray_append(dm_args, libxl__sprintf(gc,
"nic,vlan=%d,macaddr=%s,model=%s",
                             vifs[i].devid, smac, vifs[i].model));
diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py
index f1464ac..3c8d80c 100644
--- a/tools/python/xen/xend/image.py
+++ b/tools/python/xen/xend/image.py
@@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
             ret.append("-net")
             ret.append("nic,vlan=%d,macaddr=%s,model=%s" %
                        (nics, mac, model))
-            vifname = devinfo.get('vifname')
-            if vifname:
-                vifname = "tap-" + vifname
-            else:
-                vifname = "tap%d.%d" % (self.vm.getDomid(), nics-1)
+            vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
             ret.append("-net")
             ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
                        (nics, vifname, bridge))

--047d7b2eda632e25c404bfcb70c5
Content-Type: application/octet-stream; 
	name="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Disposition: attachment; 
	filename="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h23wier60

bGlieGwveGVuZDogbmFtZSB0YXAgZGV2aWNlcyB2aWZYLlktZW11CgpUaGlzIHByZXZlbnRzIHRo
ZSB1ZGV2IHNjcmlwdHMgZnJvbSBvcGVyYXRpbmcgb24gb3RoZXIgdGFwIGRldmljZXMgKGUuZy4K
b3BlbnZwbiBldGMpCgpDb3JyZWN0IHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgInZpZm5hbWUi
IG9wdGlvbiB3aGljaCBzdWdnZXN0ZWQgaXQgYXBwbGllZAp0byBIVk0gdGFwIGRldmljZXMgb25s
eSwgd2hpY2ggaXMgbm90IHRoZSBjYXNlLgoKUmVwb3J0ZWQgYnkgTWljaGFlbCBZb3VuZy4KCkFs
c28gZml4IHRoZSB1c2Ugb2YgdmlmbmFtZSB3aXRoIGVtdWxhdGVkIGRldmljZXMuIFRoaXMgaXMg
c2xpZ2h0bHkgY29tcGxleC4KVGhlIGN1cnJlbnQgaG90cGx1ZyBzY3JpcHRzIHJlbHkgb24gYmVp
bmcgYWJsZSB0byBwYXJzZSB0aGUgInRhcFguWSIgKG5vdwoidmlmWC5ZLWVtdSIpIG5hbWUgaW4g
b3JkZXIgdG8gbG9jYXRlIHRoZSB4ZW5zdG9yZSBiYWNrZW5kIGRpciByZWxhdGluZyB0byB0aGUK
Y29ycmVzcG9uZGluZyB2aWYuIFRoaXMgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgaW5qZWN0IG91ciBv
d24gZW52aXJvbm1lbnQgdmFycwppbnRvIHRoZSB0YXAgaG90cGx1ZyBldmVudHMuIEhvd2V2ZXIg
dGhpcyBtZWFucyB0aGF0IGlmIHRoZSB0YXAgaXMgaW5pdGlhbGx5Cm5hbWVkIHdpdGggYSB1c2Vy
IHNwZWNpZmllZCBuYW1lICh3aGljaCB3aWxsIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgc2NoZW1l
KSB3ZQpmYWlsIHRvIGRvIGFueXRoaW5nIHVzZWZ1bCB3aXRoIHRoZSBkZXZpY2UuIFNvIG5vdyB3
ZSBjcmVhdGUgdGhlIGluaXRpYWwgdGFwCmRldmljZSB3aXRoIHRoZSBzdGFuZGFyZCAidmlmWC5Z
LWVtdSIgbmFtZSBhbmQgdGhlIGhvdHBsdWcgc2NyaXB0IHdpbGwgaGFuZGxlCnRoZSByZW5hbWUg
dG8gdGhlIGRlc2lyZWQgbmFtZS4gVGhpcyBpcyBhbHNvIGhvdyBQViB2aWYgZGV2aWNlcyB3b3Jr
IC0tIHRoZXkKYXJlIGFsd2F5cyBjcmVhdGVkIGJ5IG5ldGJhY2sgd2l0aCB0aGUgbmFtZSB2aWZY
LlkgYW5kIHJlbmFtZWQgaW4gdGhlIHNjcmlwdC4KCnhlbi11bnN0YWJsZSBjaGFuZ2VzZXQ6IDI1
MjkwOjdhNmRjZWNiMTc4MQpTaWduZWQtb2ZmLWJ5OiBHaWFtIFRlY2sgQ2hvb24gPGdpYW10ZWNr
Y2hvb25AZ21haWwuY29tPgotLS0KIHRvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaCAg
ICAgfCAgIDE1ICsrKysrKysrKysrKystLQogdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFja2Vu
ZC5ydWxlcyB8ICAgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2RtLmMgICAgICAgICAgICAgICAg
fCAgIDE3ICsrKysrKy0tLS0tLS0tLS0tCiB0b29scy9weXRob24veGVuL3hlbmQvaW1hZ2UucHkg
ICAgICAgIHwgICAgNiArLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg
MTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvaG90cGx1Zy9MaW51eC92aWYtY29t
bW9uLnNoIGIvdG9vbHMvaG90cGx1Zy9MaW51eC92aWYtY29tbW9uLnNoCmluZGV4IGM5YzVkNDEu
LmZmZjIyYmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaAor
KysgYi90b29scy9ob3RwbHVnL0xpbnV4L3ZpZi1jb21tb24uc2gKQEAgLTg1LDEyICs4NSwyMyBA
QCBlbGlmIFsgIiR0eXBlX2lmIiA9IHRhcCBdOyB0aGVuCiAgICAgOiAke0lOVEVSRkFDRTo/fQog
CiAgICAgIyBHZXQgeGVuYnVzX3BhdGggZnJvbSBkZXZpY2UgbmFtZS4KLSAgICAjIFRoZSBuYW1l
IGlzIGJ1aWx0IGxpa2UgdGhhdDogInRhcCR7ZG9taWR9LiR7ZGV2aWR9Ii4KLSAgICBkZXZfPSR7
ZGV2I3RhcH0KKyAgICAjIFRoZSBuYW1lIGlzIGJ1aWx0IGxpa2UgdGhhdDogInZpZiR7ZG9taWR9
LiR7ZGV2aWR9LWVtdSIuCisgICAgZGV2Xz0ke2RldiN2aWZ9CisgICAgZGV2Xz0ke2Rldl8lLWVt
dX0KICAgICBkb21pZD0ke2Rldl8lLip9CiAgICAgZGV2aWQ9JHtkZXZfIyoufQogCiAgICAgWEVO
QlVTX1BBVEg9Ii9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8kZG9taWQvJGRldmlkIgorICAg
IHZpZm5hbWU9JCh4ZW5zdG9yZV9yZWFkX2RlZmF1bHQgIiRYRU5CVVNfUEFUSC92aWZuYW1lIiAi
IikKKyAgICBpZiBbICIkdmlmbmFtZSIgXQorICAgIHRoZW4KKyAgICAgICAgdmlmbmFtZT0iJHt2
aWZuYW1lfS1lbXUiCisgICAgICAgIGlmIFsgIiRjb21tYW5kIiA9PSAiYWRkIiBdICYmICEgaXAg
bGluayBzaG93ICIkdmlmbmFtZSIgPiYvZGV2L251bGwKKyAgICAgICAgdGhlbgorICAgICAgICAg
ICAgZG9fb3JfZGllIGlwIGxpbmsgc2V0ICIkZGV2IiBuYW1lICIkdmlmbmFtZSIKKyAgICAgICAg
ZmkKKyAgICAgICAgZGV2PSIkdmlmbmFtZSIKKyAgICBmaQogZmkKIAogaXA9JHtpcDotfQpkaWZm
IC0tZ2l0IGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFja2VuZC5ydWxlcyBiL3Rvb2xzL2hv
dHBsdWcvTGludXgveGVuLWJhY2tlbmQucnVsZXMKaW5kZXggNDBmMjY1OC4uNDA1Mzg3ZiAxMDA2
NDQKLS0tIGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFja2VuZC5ydWxlcworKysgYi90b29s
cy9ob3RwbHVnL0xpbnV4L3hlbi1iYWNrZW5kLnJ1bGVzCkBAIC0xMyw0ICsxMyw0IEBAIEtFUk5F
TD09ImJsa3RhcC1jb250cm9sIiwgTkFNRT0ieGVuL2Jsa3RhcC0yL2NvbnRyb2wiLCBNT0RFPSIw
NjAwIgogS0VSTkVMPT0iZ250ZGV2IiwgTkFNRT0ieGVuLyVrIiwgTU9ERT0iMDYwMCIKIEtFUk5F
TD09InBjaV9pb211bCIsIE5BTUU9Inhlbi8layIsIE1PREU9IjA2MDAiCiBLRVJORUw9PSJ0YXBk
ZXZbYS16XSoiLCBOQU1FPSJ4ZW4vYmxrdGFwLTIvdGFwZGV2JW0iLCBNT0RFPSIwNjAwIgotU1VC
U1lTVEVNPT0ibmV0IiwgS0VSTkVMPT0idGFwKiIsIEFDVElPTj09ImFkZCIsIFJVTis9Ii9ldGMv
eGVuL3NjcmlwdHMvdmlmLXNldHVwICRlbnZ7QUNUSU9OfSB0eXBlX2lmPXRhcCIKK1NVQlNZU1RF
TT09Im5ldCIsIEtFUk5FTD09InZpZiotZW11IiwgQUNUSU9OPT0iYWRkIiwgUlVOKz0iL2V0Yy94
ZW4vc2NyaXB0cy92aWYtc2V0dXAgJGVudntBQ1RJT059IHR5cGVfaWY9dGFwIgpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKaW5kZXgg
MWZmY2M5MC4uMmMwMzBjYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysg
Yi90b29scy9saWJ4bC9saWJ4bF9kbS5jCkBAIC0xMzQsMTEgKzEzNCw5IEBAIHN0YXRpYyBjaGFy
ICoqIGxpYnhsX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX29sZChsaWJ4bF9fZ2MgKmdjLAogICAg
ICAgICAgICAgICAgIGNoYXIgKnNtYWMgPSBsaWJ4bF9fc3ByaW50ZihnYywgIiUwMng6JTAyeDol
MDJ4OiUwMng6JTAyeDolMDJ4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2aWZzW2ldLm1hY1swXSwgdmlmc1tpXS5tYWNbMV0sIHZpZnNbaV0ubWFjWzJdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZnNbaV0ubWFjWzNd
LCB2aWZzW2ldLm1hY1s0XSwgdmlmc1tpXS5tYWNbNV0pOwotICAgICAgICAgICAgICAgIGNoYXIg
KmlmbmFtZTsKLSAgICAgICAgICAgICAgICBpZiAoIXZpZnNbaV0uaWZuYW1lKQotICAgICAgICAg
ICAgICAgICAgICBpZm5hbWUgPSBsaWJ4bF9fc3ByaW50ZihnYywgInRhcCVkLiVkIiwgaW5mby0+
ZG9taWQsIHZpZnNbaV0uZGV2aWQpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgaWZuYW1lID0gdmlmc1tpXS5pZm5hbWU7CisgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciAqaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ2aWYlZC4lZC1lbXUiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPmRvbWlk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZp
ZnNbaV0uZGV2aWQpOwogICAgICAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRtX2FyZ3Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbmV0IiwgbGlieGxfX3NwcmludGYo
Z2MsICJuaWMsdmxhbj0lZCxtYWNhZGRyPSVzLG1vZGVsPSVzIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWZzW2ldLmRldmlkLCBzbWFj
LCB2aWZzW2ldLm1vZGVsKSwKQEAgLTI3MSwxMiArMjY5LDkgQEAgc3RhdGljIGNoYXIgKiogbGli
eGxfYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAg
ICAgICAgY2hhciAqc21hYyA9IGxpYnhsX19zcHJpbnRmKGdjLCAiJTAyeDolMDJ4OiUwMng6JTAy
eDolMDJ4OiUwMngiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZpZnNbaV0ubWFjWzBdLCB2aWZzW2ldLm1hY1sxXSwgdmlmc1tpXS5tYWNbMl0sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlmc1tpXS5tYWNbM10sIHZpZnNb
aV0ubWFjWzRdLCB2aWZzW2ldLm1hY1s1XSk7Ci0gICAgICAgICAgICAgICAgY2hhciAqaWZuYW1l
OwotICAgICAgICAgICAgICAgIGlmICghdmlmc1tpXS5pZm5hbWUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ0YXAlZC4lZCIsIGluZm8tPmRvbWlk
LCB2aWZzW2ldLmRldmlkKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICBpZm5hbWUgPSB2aWZzW2ldLmlmbmFtZTsKLSAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgY29uc3QgY2hhciAqaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ2aWYl
ZC4lZC1lbXUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluZm8tPmRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZpZnNbaV0uZGV2aWQpOwogICAgICAgICAgICAgICAgIGZsZXhhcnJh
eV9hcHBlbmQoZG1fYXJncywgIi1uZXQiKTsKICAgICAgICAgICAgICAgICBmbGV4YXJyYXlfYXBw
ZW5kKGRtX2FyZ3MsIGxpYnhsX19zcHJpbnRmKGdjLCAibmljLHZsYW49JWQsbWFjYWRkcj0lcyxt
b2RlbD0lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlmc1tpXS5kZXZpZCwgc21h
Yywgdmlmc1tpXS5tb2RlbCkpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvcHl0aG9uL3hlbi94ZW5kL2lt
YWdlLnB5IGIvdG9vbHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdlLnB5CmluZGV4IGYxNDY0YWMuLjNj
OGQ4MGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4veGVuZC9pbWFnZS5weQorKysgYi90
b29scy9weXRob24veGVuL3hlbmQvaW1hZ2UucHkKQEAgLTkxNywxMSArOTE3LDcgQEAgY2xhc3Mg
SFZNSW1hZ2VIYW5kbGVyKEltYWdlSGFuZGxlcik6CiAgICAgICAgICAgICByZXQuYXBwZW5kKCIt
bmV0IikKICAgICAgICAgICAgIHJldC5hcHBlbmQoIm5pYyx2bGFuPSVkLG1hY2FkZHI9JXMsbW9k
ZWw9JXMiICUKICAgICAgICAgICAgICAgICAgICAgICAgKG5pY3MsIG1hYywgbW9kZWwpKQotICAg
ICAgICAgICAgdmlmbmFtZSA9IGRldmluZm8uZ2V0KCd2aWZuYW1lJykKLSAgICAgICAgICAgIGlm
IHZpZm5hbWU6Ci0gICAgICAgICAgICAgICAgdmlmbmFtZSA9ICJ0YXAtIiArIHZpZm5hbWUKLSAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdmlmbmFtZSA9ICJ0YXAlZC4lZCIgJSAo
c2VsZi52bS5nZXREb21pZCgpLCBuaWNzLTEpCisgICAgICAgICAgICB2aWZuYW1lID0gInZpZiVk
LiVkLWVtdSIgJSAoc2VsZi52bS5nZXREb21pZCgpLCBuaWNzLTEpCiAgICAgICAgICAgICByZXQu
YXBwZW5kKCItbmV0IikKICAgICAgICAgICAgIHJldC5hcHBlbmQoInRhcCx2bGFuPSVkLGlmbmFt
ZT0lcyxicmlkZ2U9JXMiICUKICAgICAgICAgICAgICAgICAgICAgICAgKG5pY3MsIHZpZm5hbWUs
IGJyaWRnZSkpCg==
--047d7b2eda632e25c404bfcb70c5
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--047d7b2eda632e25c404bfcb70c5--


From xen-devel-bounces@lists.xen.org Sat May 12 00:40:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 00:40:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST0NG-0008V0-7w; Sat, 12 May 2012 00:39:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1ST0NF-0008Uv-BH
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 00:39:53 +0000
Received: from [85.158.138.51:2914] by server-9.bemta-3.messagelabs.com id
	21/C7-26691-851BDAF4; Sat, 12 May 2012 00:39:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336783191!26761841!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29406 invoked from network); 12 May 2012 00:39:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 00:39:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12437912"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 00:39:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 12 May 2012 01:39:49 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1ST0NB-0001yj-ME;
	Sat, 12 May 2012 00:39:49 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1ST0NB-00063K-Kj;
	Sat, 12 May 2012 01:39:49 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12854-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 12 May 2012 01:39:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12854: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12854 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12854/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12852
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10       fail   like 12849

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  cd4dd23a831d
baseline version:
 xen                  54c8c9eaee92

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=cd4dd23a831d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable cd4dd23a831d
+ branch=xen-unstable
+ revision=cd4dd23a831d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r cd4dd23a831d ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 39 changesets with 117 changes to 43 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 00:40:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 00:40:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST0NG-0008V0-7w; Sat, 12 May 2012 00:39:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1ST0NF-0008Uv-BH
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 00:39:53 +0000
Received: from [85.158.138.51:2914] by server-9.bemta-3.messagelabs.com id
	21/C7-26691-851BDAF4; Sat, 12 May 2012 00:39:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336783191!26761841!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29406 invoked from network); 12 May 2012 00:39:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 00:39:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12437912"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 00:39:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 12 May 2012 01:39:49 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1ST0NB-0001yj-ME;
	Sat, 12 May 2012 00:39:49 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1ST0NB-00063K-Kj;
	Sat, 12 May 2012 01:39:49 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12854-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 12 May 2012 01:39:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12854: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12854 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12854/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12852
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10       fail   like 12849

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  cd4dd23a831d
baseline version:
 xen                  54c8c9eaee92

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=cd4dd23a831d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable cd4dd23a831d
+ branch=xen-unstable
+ revision=cd4dd23a831d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r cd4dd23a831d ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 39 changesets with 117 changes to 43 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 01:42:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 01:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1Lc-0004GI-6h; Sat, 12 May 2012 01:42:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1ST1La-0004GD-1T
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 01:42:14 +0000
Received: from [85.158.138.51:9537] by server-5.bemta-3.messagelabs.com id
	C4/7B-17113-5FFBDAF4; Sat, 12 May 2012 01:42:13 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336786932!8003883!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18436 invoked from network); 12 May 2012 01:42:12 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 01:42:12 -0000
Received: by wgbdr1 with SMTP id dr1so2779708wgb.24
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 18:42:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=Fqnz0BYdHdblscBBNIib+pG1tQESKxt4zQSjYz6pdNs=;
	b=SGiSyiaINEMvSIlNHA1sRdBmHJ2zUZ94QUDyzqB/Ue0T/d5Vlep0Q74i3rofR3vXpt
	mtVo5ppN+ostVf93qkyJ3RLHxWqGuUfe2vt9rYKU6OuVdOFNgoGesmgGTzClv6fbZnNb
	3L4KOTE0znlWNrtNHCf6El5LGztOA04zGTwGj1qzJke2Orf4SpbiQ7oT5LN2argcOGPv
	34lGT0WrhkhvR7FltpQbX958RZSVAhT4xUTB1/QuVZ8iOGlTBCLRVLaKfk+46ZeEp5ua
	2k+Kgxkv+LzeBZm3IpRsNO2pHyBJIinvtKaDetHyol/TavmZkWgODQuggHUIMRMUMZn1
	HlgQ==
MIME-Version: 1.0
Received: by 10.180.24.103 with SMTP id t7mr589875wif.16.1336786932005; Fri,
	11 May 2012 18:42:12 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Fri, 11 May 2012 18:42:11 -0700 (PDT)
In-Reply-To: <1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
Date: Fri, 11 May 2012 21:42:11 -0400
X-Google-Sender-Auth: SS8ITEJpxLDLR6WixfszFFkYGWY
Message-ID: <CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 2/8] configure: Introduce
	--enable-xen-pci-passthrough.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Mar 16, 2012 at 12:54 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

I thought I reviewed this last time? Is there a reason for not
attaching 'Reviewed-by: Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com>' on this patch?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 01:42:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 01:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1Lc-0004GI-6h; Sat, 12 May 2012 01:42:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1ST1La-0004GD-1T
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 01:42:14 +0000
Received: from [85.158.138.51:9537] by server-5.bemta-3.messagelabs.com id
	C4/7B-17113-5FFBDAF4; Sat, 12 May 2012 01:42:13 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1336786932!8003883!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18436 invoked from network); 12 May 2012 01:42:12 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 01:42:12 -0000
Received: by wgbdr1 with SMTP id dr1so2779708wgb.24
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 18:42:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=Fqnz0BYdHdblscBBNIib+pG1tQESKxt4zQSjYz6pdNs=;
	b=SGiSyiaINEMvSIlNHA1sRdBmHJ2zUZ94QUDyzqB/Ue0T/d5Vlep0Q74i3rofR3vXpt
	mtVo5ppN+ostVf93qkyJ3RLHxWqGuUfe2vt9rYKU6OuVdOFNgoGesmgGTzClv6fbZnNb
	3L4KOTE0znlWNrtNHCf6El5LGztOA04zGTwGj1qzJke2Orf4SpbiQ7oT5LN2argcOGPv
	34lGT0WrhkhvR7FltpQbX958RZSVAhT4xUTB1/QuVZ8iOGlTBCLRVLaKfk+46ZeEp5ua
	2k+Kgxkv+LzeBZm3IpRsNO2pHyBJIinvtKaDetHyol/TavmZkWgODQuggHUIMRMUMZn1
	HlgQ==
MIME-Version: 1.0
Received: by 10.180.24.103 with SMTP id t7mr589875wif.16.1336786932005; Fri,
	11 May 2012 18:42:12 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Fri, 11 May 2012 18:42:11 -0700 (PDT)
In-Reply-To: <1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
Date: Fri, 11 May 2012 21:42:11 -0400
X-Google-Sender-Auth: SS8ITEJpxLDLR6WixfszFFkYGWY
Message-ID: <CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 2/8] configure: Introduce
	--enable-xen-pci-passthrough.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Mar 16, 2012 at 12:54 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

I thought I reviewed this last time? Is there a reason for not
attaching 'Reviewed-by: Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com>' on this patch?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 01:44:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 01:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1NB-0004JZ-M8; Sat, 12 May 2012 01:43:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1ST1NA-0004JT-Hi
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 01:43:52 +0000
Received: from [85.158.139.83:4341] by server-5.bemta-5.messagelabs.com id
	21/0A-13566-750CDAF4; Sat, 12 May 2012 01:43:51 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336787030!27961252!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP,UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24771 invoked from network); 12 May 2012 01:43:51 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 01:43:51 -0000
Received: by wgbdr1 with SMTP id dr1so2780152wgb.24
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 18:43:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=TZBLiY1yngN9QrdExLxL+KugYR+7Dt7OX6aRpsKD688=;
	b=Gs1cmqhX9FwnlVDlaKMAesy+uI6jd3OAAPgJmkP33txHXjV/F4+lfZh85JnuGiwocD
	31UvXKZK8zK8NtKexYg15422+DOuJ7FKkI1aUJPmYJmgFvG5pcwreFKiJaGw7wZlKn8N
	f4w6NVrQBxLmvmqE7u8/J4WnmAayb8EPTG03jLMshAlOhd0L4Nav94gepMP9Rsgm6Azb
	WaFlfonzN1dXD1IitvTF7/B/4NxtCz1DtAhND/q1bq+3dSO1h7KkVlehKl3GF/VRSEr9
	dm4zzmDjUZbp4ky3SFjehC6lxX7gKS1dJp9xYxZplTN5ucPFn3yW4exF6StV6uuaUWeP
	uBtA==
MIME-Version: 1.0
Received: by 10.180.81.37 with SMTP id w5mr585977wix.16.1336787030710; Fri, 11
	May 2012 18:43:50 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Fri, 11 May 2012 18:43:50 -0700 (PDT)
In-Reply-To: <4F6764BD.4060708@citrix.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-2-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1203191150280.923@kaball-desktop>
	<4F6764BD.4060708@citrix.com>
Date: Fri, 11 May 2012 21:43:50 -0400
X-Google-Sender-Auth: 8xu3pmCqMVDs3Zq3Zg3Iqlcd2Bc
Message-ID: <CAPbh3ruY2npfORN-+oTt0i966RyzvCOBxnZ1x1OHbAj+ouLYcA@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	"Michael S . Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 1/8] pci_ids: Add INTEL_82599_VF
	id.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, Mar 19, 2012 at 12:54 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> On 19/03/12 11:50, Stefano Stabellini wrote:
>>
>> On Fri, 16 Mar 2012, Anthony PERARD wrote:
>>>
>>> Signed-off-by: Anthony PERARD<anthony.perard@citrix.com>
>>> ---
>>> =A0hw/pci_ids.h | =A0 =A01 +
>>> =A01 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/hw/pci_ids.h b/hw/pci_ids.h
>>> index e8235a7..943106a 100644
>>> --- a/hw/pci_ids.h
>>> +++ b/hw/pci_ids.h
>>> @@ -118,6 +118,7 @@
>>> =A0#define PCI_DEVICE_ID_INTEL_82801I_UHCI6 0x2939
>>> =A0#define PCI_DEVICE_ID_INTEL_82801I_EHCI1 0x293a
>>> =A0#define PCI_DEVICE_ID_INTEL_82801I_EHCI2 0x293c
>>> +#define PCI_DEVICE_ID_INTEL_82599_VF =A0 =A0 0x10ed
>>
>>
>> maybe it should be PCI_DEVICE_ID_INTEL_82599_SFP_VF for consistency with
>> Linux?
>
>
> Ok, I'll change that.
>

And can you add why you need this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 01:44:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 01:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1NB-0004JZ-M8; Sat, 12 May 2012 01:43:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1ST1NA-0004JT-Hi
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 01:43:52 +0000
Received: from [85.158.139.83:4341] by server-5.bemta-5.messagelabs.com id
	21/0A-13566-750CDAF4; Sat, 12 May 2012 01:43:51 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336787030!27961252!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP,UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24771 invoked from network); 12 May 2012 01:43:51 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 01:43:51 -0000
Received: by wgbdr1 with SMTP id dr1so2780152wgb.24
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 18:43:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=TZBLiY1yngN9QrdExLxL+KugYR+7Dt7OX6aRpsKD688=;
	b=Gs1cmqhX9FwnlVDlaKMAesy+uI6jd3OAAPgJmkP33txHXjV/F4+lfZh85JnuGiwocD
	31UvXKZK8zK8NtKexYg15422+DOuJ7FKkI1aUJPmYJmgFvG5pcwreFKiJaGw7wZlKn8N
	f4w6NVrQBxLmvmqE7u8/J4WnmAayb8EPTG03jLMshAlOhd0L4Nav94gepMP9Rsgm6Azb
	WaFlfonzN1dXD1IitvTF7/B/4NxtCz1DtAhND/q1bq+3dSO1h7KkVlehKl3GF/VRSEr9
	dm4zzmDjUZbp4ky3SFjehC6lxX7gKS1dJp9xYxZplTN5ucPFn3yW4exF6StV6uuaUWeP
	uBtA==
MIME-Version: 1.0
Received: by 10.180.81.37 with SMTP id w5mr585977wix.16.1336787030710; Fri, 11
	May 2012 18:43:50 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Fri, 11 May 2012 18:43:50 -0700 (PDT)
In-Reply-To: <4F6764BD.4060708@citrix.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-2-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1203191150280.923@kaball-desktop>
	<4F6764BD.4060708@citrix.com>
Date: Fri, 11 May 2012 21:43:50 -0400
X-Google-Sender-Auth: 8xu3pmCqMVDs3Zq3Zg3Iqlcd2Bc
Message-ID: <CAPbh3ruY2npfORN-+oTt0i966RyzvCOBxnZ1x1OHbAj+ouLYcA@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	"Michael S . Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 1/8] pci_ids: Add INTEL_82599_VF
	id.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, Mar 19, 2012 at 12:54 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> On 19/03/12 11:50, Stefano Stabellini wrote:
>>
>> On Fri, 16 Mar 2012, Anthony PERARD wrote:
>>>
>>> Signed-off-by: Anthony PERARD<anthony.perard@citrix.com>
>>> ---
>>> =A0hw/pci_ids.h | =A0 =A01 +
>>> =A01 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/hw/pci_ids.h b/hw/pci_ids.h
>>> index e8235a7..943106a 100644
>>> --- a/hw/pci_ids.h
>>> +++ b/hw/pci_ids.h
>>> @@ -118,6 +118,7 @@
>>> =A0#define PCI_DEVICE_ID_INTEL_82801I_UHCI6 0x2939
>>> =A0#define PCI_DEVICE_ID_INTEL_82801I_EHCI1 0x293a
>>> =A0#define PCI_DEVICE_ID_INTEL_82801I_EHCI2 0x293c
>>> +#define PCI_DEVICE_ID_INTEL_82599_VF =A0 =A0 0x10ed
>>
>>
>> maybe it should be PCI_DEVICE_ID_INTEL_82599_SFP_VF for consistency with
>> Linux?
>
>
> Ok, I'll change that.
>

And can you add why you need this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 01:54:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 01:54:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1Wy-0004Xu-P5; Sat, 12 May 2012 01:54:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1ST1Wx-0004Xp-TB
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 01:54:00 +0000
Received: from [85.158.139.83:7118] by server-5.bemta-5.messagelabs.com id
	AF/7E-13566-6B2CDAF4; Sat, 12 May 2012 01:53:58 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336787637!24022395!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12181 invoked from network); 12 May 2012 01:53:58 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 01:53:58 -0000
Received: by wgbdr1 with SMTP id dr1so2782994wgb.24
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 18:53:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=8KaLyXu+frq7Sm3w1UxsP4JVt/Tsi6Vn1Q+sdOSYHiQ=;
	b=wXLB2svNPfk2P6jEhij5C+bIE1sbdjQLR3FBVq9oG4G3CGBDp3DJTbqO/M3a7nHoTQ
	fRZjE6PdOlq1CCyIGAtj4CJqZ2XEhyoRvRdpQYiRYWP8JFVHQ4bFguEab+gpIIUZ0tcz
	rytPt00FeGrKyEu2jqz3pLfp0Z4s25jWfSo6LhijEFF4KKvoiM9/FPr+53aKbgvis9YS
	oxtXIU6Vx9CYEkAo+VMSDYJOOXgTgyqY8ym9CKAA1MSSieiIYnUmRmv4FTFt+ArZrDmZ
	I0M+TmFkZFkMjZGptfs2UAHi1ZmUn3Fjcia01FQ72d4i5+HgVRWjG9mjJbipJNYO9/SX
	9GJw==
MIME-Version: 1.0
Received: by 10.180.101.230 with SMTP id fj6mr668231wib.13.1336787637102; Fri,
	11 May 2012 18:53:57 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Fri, 11 May 2012 18:53:57 -0700 (PDT)
In-Reply-To: <1331916862-20504-6-git-send-email-anthony.perard@citrix.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-6-git-send-email-anthony.perard@citrix.com>
Date: Fri, 11 May 2012 21:53:57 -0400
X-Google-Sender-Auth: -QULaPtcQSovOsP0WQy4oHJdtlQ
Message-ID: <CAPbh3rtQT0ejbD0=968+i0HXbBptcgNS5cnir6nmw2xnrjPQCg@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Guy Zana <guy@neocleus.com>, Xen Devel <xen-devel@lists.xensource.com>,
	Allen Kay <allen.m.kay@intel.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 5/8] Introduce Xen PCI Passthrough,
 qdevice (1/3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +void pt_log(const PCIDevice *d, const char *f, ...)
> +{
> + =A0 =A0va_list ap;
> +
> + =A0 =A0va_start(ap, f);
> + =A0 =A0if (d) {
> + =A0 =A0 =A0 =A0fprintf(stderr, "[%02x:%02x.%x] ", pci_bus_num(d->bus),

%02x.%d

> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PCI_SLOT(d->devfn), PCI_FUNC(d->devfn));
> + =A0 =A0}
> + =A0 =A0vfprintf(stderr, f, ap);
> + =A0 =A0va_end(ap);
> +}

> +static uint32_t pt_pci_read_config(PCIDevice *d, uint32_t addr, int len)

I wish there was some way to combine this function along with the
pt_pci_write_config one. They look so similar.


Besides that it looks ok.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 01:54:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 01:54:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1Wy-0004Xu-P5; Sat, 12 May 2012 01:54:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.r.wilk@gmail.com>) id 1ST1Wx-0004Xp-TB
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 01:54:00 +0000
Received: from [85.158.139.83:7118] by server-5.bemta-5.messagelabs.com id
	AF/7E-13566-6B2CDAF4; Sat, 12 May 2012 01:53:58 +0000
X-Env-Sender: konrad.r.wilk@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336787637!24022395!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12181 invoked from network); 12 May 2012 01:53:58 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 01:53:58 -0000
Received: by wgbdr1 with SMTP id dr1so2782994wgb.24
	for <xen-devel@lists.xensource.com>;
	Fri, 11 May 2012 18:53:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:reply-to:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=8KaLyXu+frq7Sm3w1UxsP4JVt/Tsi6Vn1Q+sdOSYHiQ=;
	b=wXLB2svNPfk2P6jEhij5C+bIE1sbdjQLR3FBVq9oG4G3CGBDp3DJTbqO/M3a7nHoTQ
	fRZjE6PdOlq1CCyIGAtj4CJqZ2XEhyoRvRdpQYiRYWP8JFVHQ4bFguEab+gpIIUZ0tcz
	rytPt00FeGrKyEu2jqz3pLfp0Z4s25jWfSo6LhijEFF4KKvoiM9/FPr+53aKbgvis9YS
	oxtXIU6Vx9CYEkAo+VMSDYJOOXgTgyqY8ym9CKAA1MSSieiIYnUmRmv4FTFt+ArZrDmZ
	I0M+TmFkZFkMjZGptfs2UAHi1ZmUn3Fjcia01FQ72d4i5+HgVRWjG9mjJbipJNYO9/SX
	9GJw==
MIME-Version: 1.0
Received: by 10.180.101.230 with SMTP id fj6mr668231wib.13.1336787637102; Fri,
	11 May 2012 18:53:57 -0700 (PDT)
Received: by 10.180.7.137 with HTTP; Fri, 11 May 2012 18:53:57 -0700 (PDT)
In-Reply-To: <1331916862-20504-6-git-send-email-anthony.perard@citrix.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-6-git-send-email-anthony.perard@citrix.com>
Date: Fri, 11 May 2012 21:53:57 -0400
X-Google-Sender-Auth: -QULaPtcQSovOsP0WQy4oHJdtlQ
Message-ID: <CAPbh3rtQT0ejbD0=968+i0HXbBptcgNS5cnir6nmw2xnrjPQCg@mail.gmail.com>
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Guy Zana <guy@neocleus.com>, Xen Devel <xen-devel@lists.xensource.com>,
	Allen Kay <allen.m.kay@intel.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 5/8] Introduce Xen PCI Passthrough,
 qdevice (1/3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: konrad@darnok.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +void pt_log(const PCIDevice *d, const char *f, ...)
> +{
> + =A0 =A0va_list ap;
> +
> + =A0 =A0va_start(ap, f);
> + =A0 =A0if (d) {
> + =A0 =A0 =A0 =A0fprintf(stderr, "[%02x:%02x.%x] ", pci_bus_num(d->bus),

%02x.%d

> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PCI_SLOT(d->devfn), PCI_FUNC(d->devfn));
> + =A0 =A0}
> + =A0 =A0vfprintf(stderr, f, ap);
> + =A0 =A0va_end(ap);
> +}

> +static uint32_t pt_pci_read_config(PCIDevice *d, uint32_t addr, int len)

I wish there was some way to combine this function along with the
pt_pci_write_config one. They look so similar.


Besides that it looks ok.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 02:17:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 02:17:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1tB-00056w-Ot; Sat, 12 May 2012 02:16:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lists+xen@internecto.net>) id 1ST1t9-00056r-Nv
	for xen-devel@lists.xen.org; Sat, 12 May 2012 02:16:55 +0000
Received: from [85.158.138.51:22684] by server-8.bemta-3.messagelabs.com id
	6B/FF-24428-618CDAF4; Sat, 12 May 2012 02:16:54 +0000
X-Env-Sender: lists+xen@internecto.net
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336789014!22656799!1
X-Originating-IP: [176.9.245.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11778 invoked from network); 12 May 2012 02:16:54 -0000
Received: from polaris.internecto.net (HELO mx1.internecto.net) (176.9.245.29)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 12 May 2012 02:16:54 -0000
Received: from localhost (unknown [127.0.0.1])
	by mx1.internecto.net (Postfix) with ESMTP id D72E1298144
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:16:53 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at mx1.internecto.net
Received: from mx1.internecto.net ([176.9.245.29])
	by localhost (polaris.internecto.net [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id lm6814Xdo2zi for <xen-devel@lists.xen.org>;
	Sat, 12 May 2012 02:16:48 +0000 (UTC)
Received: from internecto.net (unknown
	[IPv6:2001:888:173e:1:221:85ff:fe10:3c98])
	by mx1.internecto.net (Postfix) with ESMTP id 39013298022
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:16:48 +0000 (UTC)
Date: Sat, 12 May 2012 04:16:45 +0200
From: Mark <lists+xen@internecto.net>
To: xen-devel@lists.xen.org
Message-ID: <20120512041645.11509848@internecto.net>
Organization: Internecto SIS
X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-unknown-linux-gnu)
Mime-Version: 1.0
Subject: [Xen-devel] xen-pciback.hide bug report: parse error in current
 xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello everyone,

Said Xen version running on kernel 3.3.4 x86_64.

I had put in Grub's "module /vmlinuz.gz" line:

xen_pciback.hide=(02:10.0)(02:10.2)(etc.)

This yields an error in dmesg:

xen_pciback: Unknown parameter `2)'

I tried all sorts of variations: quoting the pci devices, prefixing
the devices with an extra 0000:, putting the thing somewhere else. But
the error keeps returning.

I am working around this by having added the hide option in a
modules.conf entry.

For further contact please be aware I am not receiving xen-devel
emails, so please include me in CC's when more info is required.

Thank you,
Mark

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 02:17:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 02:17:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST1tB-00056w-Ot; Sat, 12 May 2012 02:16:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lists+xen@internecto.net>) id 1ST1t9-00056r-Nv
	for xen-devel@lists.xen.org; Sat, 12 May 2012 02:16:55 +0000
Received: from [85.158.138.51:22684] by server-8.bemta-3.messagelabs.com id
	6B/FF-24428-618CDAF4; Sat, 12 May 2012 02:16:54 +0000
X-Env-Sender: lists+xen@internecto.net
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336789014!22656799!1
X-Originating-IP: [176.9.245.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11778 invoked from network); 12 May 2012 02:16:54 -0000
Received: from polaris.internecto.net (HELO mx1.internecto.net) (176.9.245.29)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 12 May 2012 02:16:54 -0000
Received: from localhost (unknown [127.0.0.1])
	by mx1.internecto.net (Postfix) with ESMTP id D72E1298144
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:16:53 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at mx1.internecto.net
Received: from mx1.internecto.net ([176.9.245.29])
	by localhost (polaris.internecto.net [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id lm6814Xdo2zi for <xen-devel@lists.xen.org>;
	Sat, 12 May 2012 02:16:48 +0000 (UTC)
Received: from internecto.net (unknown
	[IPv6:2001:888:173e:1:221:85ff:fe10:3c98])
	by mx1.internecto.net (Postfix) with ESMTP id 39013298022
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:16:48 +0000 (UTC)
Date: Sat, 12 May 2012 04:16:45 +0200
From: Mark <lists+xen@internecto.net>
To: xen-devel@lists.xen.org
Message-ID: <20120512041645.11509848@internecto.net>
Organization: Internecto SIS
X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-unknown-linux-gnu)
Mime-Version: 1.0
Subject: [Xen-devel] xen-pciback.hide bug report: parse error in current
 xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello everyone,

Said Xen version running on kernel 3.3.4 x86_64.

I had put in Grub's "module /vmlinuz.gz" line:

xen_pciback.hide=(02:10.0)(02:10.2)(etc.)

This yields an error in dmesg:

xen_pciback: Unknown parameter `2)'

I tried all sorts of variations: quoting the pci devices, prefixing
the devices with an extra 0000:, putting the thing somewhere else. But
the error keeps returning.

I am working around this by having added the hide option in a
modules.conf entry.

For further contact please be aware I am not receiving xen-devel
emails, so please include me in CC's when more info is required.

Thank you,
Mark

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 02:28:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 02:28:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST24S-0005GP-0X; Sat, 12 May 2012 02:28:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lists+xen@internecto.net>) id 1ST24Q-0005GK-FQ
	for xen-devel@lists.xen.org; Sat, 12 May 2012 02:28:34 +0000
Received: from [85.158.138.51:16572] by server-9.bemta-3.messagelabs.com id
	90/EE-26691-1DACDAF4; Sat, 12 May 2012 02:28:33 +0000
X-Env-Sender: lists+xen@internecto.net
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336789713!22657728!1
X-Originating-IP: [176.9.245.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6927 invoked from network); 12 May 2012 02:28:33 -0000
Received: from polaris.internecto.net (HELO mx1.internecto.net) (176.9.245.29)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 12 May 2012 02:28:33 -0000
Received: from localhost (unknown [127.0.0.1])
	by mx1.internecto.net (Postfix) with ESMTP id CDA46298144
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:28:32 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at mx1.internecto.net
Received: from mx1.internecto.net ([176.9.245.29])
	by localhost (polaris.internecto.net [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id rNR3Z3+A6C16 for <xen-devel@lists.xen.org>;
	Sat, 12 May 2012 02:28:31 +0000 (UTC)
Received: from internecto.net (unknown
	[IPv6:2001:888:173e:1:221:85ff:fe10:3c98])
	by mx1.internecto.net (Postfix) with ESMTP id 43378298022
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:28:31 +0000 (UTC)
Date: Sat, 12 May 2012 04:28:31 +0200
From: Mark <lists+xen@internecto.net>
To: xen-devel@lists.xen.org
Message-ID: <20120512042831.6460b834@internecto.net>
Organization: Internecto SIS
X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-unknown-linux-gnu)
Mime-Version: 1.0
Subject: [Xen-devel] bug report for network device i82599er:
 eepro100_write4: Assertion `!"feature is missing in this emulation: "
 "unknown longword write"' failed.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When trying to start a FreeBSD 9.0 HVM guest I see the following line
in qemu-dm-freebsd.log:

qemu-dm: /src/xen-stable-hg/src/xen-4.1-testing.hg-build/tools/ioemu-dir/hw/eepro100.c:1320: eepro100_write4: Assertion `!"feature is missing in this emulation: " "unknown longword write"' failed.

The domain crashes.

I suspect this occurs because I am trying to build the domain with a
vif where model=i82559er. Changing the model to e1000 does build
the domain. 

I would prefer to have the ability to use 10Gbps because my physical
nic is also a 10Gbps nic:

02:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01)

For further contact please be aware I am not receiving xen-devel
emails, so please include me in CC's when more info is required.

Thank you,
Mark

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 02:28:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 02:28:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST24S-0005GP-0X; Sat, 12 May 2012 02:28:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lists+xen@internecto.net>) id 1ST24Q-0005GK-FQ
	for xen-devel@lists.xen.org; Sat, 12 May 2012 02:28:34 +0000
Received: from [85.158.138.51:16572] by server-9.bemta-3.messagelabs.com id
	90/EE-26691-1DACDAF4; Sat, 12 May 2012 02:28:33 +0000
X-Env-Sender: lists+xen@internecto.net
X-Msg-Ref: server-10.tower-174.messagelabs.com!1336789713!22657728!1
X-Originating-IP: [176.9.245.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6927 invoked from network); 12 May 2012 02:28:33 -0000
Received: from polaris.internecto.net (HELO mx1.internecto.net) (176.9.245.29)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 12 May 2012 02:28:33 -0000
Received: from localhost (unknown [127.0.0.1])
	by mx1.internecto.net (Postfix) with ESMTP id CDA46298144
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:28:32 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at mx1.internecto.net
Received: from mx1.internecto.net ([176.9.245.29])
	by localhost (polaris.internecto.net [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id rNR3Z3+A6C16 for <xen-devel@lists.xen.org>;
	Sat, 12 May 2012 02:28:31 +0000 (UTC)
Received: from internecto.net (unknown
	[IPv6:2001:888:173e:1:221:85ff:fe10:3c98])
	by mx1.internecto.net (Postfix) with ESMTP id 43378298022
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:28:31 +0000 (UTC)
Date: Sat, 12 May 2012 04:28:31 +0200
From: Mark <lists+xen@internecto.net>
To: xen-devel@lists.xen.org
Message-ID: <20120512042831.6460b834@internecto.net>
Organization: Internecto SIS
X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-unknown-linux-gnu)
Mime-Version: 1.0
Subject: [Xen-devel] bug report for network device i82599er:
 eepro100_write4: Assertion `!"feature is missing in this emulation: "
 "unknown longword write"' failed.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When trying to start a FreeBSD 9.0 HVM guest I see the following line
in qemu-dm-freebsd.log:

qemu-dm: /src/xen-stable-hg/src/xen-4.1-testing.hg-build/tools/ioemu-dir/hw/eepro100.c:1320: eepro100_write4: Assertion `!"feature is missing in this emulation: " "unknown longword write"' failed.

The domain crashes.

I suspect this occurs because I am trying to build the domain with a
vif where model=i82559er. Changing the model to e1000 does build
the domain. 

I would prefer to have the ability to use 10Gbps because my physical
nic is also a 10Gbps nic:

02:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01)

For further contact please be aware I am not receiving xen-devel
emails, so please include me in CC's when more info is required.

Thank you,
Mark

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 02:32:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 02:32:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST27o-0005Mx-Kq; Sat, 12 May 2012 02:32:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lists+xen@internecto.net>) id 1ST27o-0005Mr-6u
	for xen-devel@lists.xen.org; Sat, 12 May 2012 02:32:04 +0000
Received: from [193.109.254.147:48730] by server-3.bemta-14.messagelabs.com id
	56/91-23274-3ABCDAF4; Sat, 12 May 2012 02:32:03 +0000
X-Env-Sender: lists+xen@internecto.net
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336789922!8521625!1
X-Originating-IP: [176.9.245.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21814 invoked from network); 12 May 2012 02:32:02 -0000
Received: from polaris.internecto.net (HELO mx1.internecto.net) (176.9.245.29)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 12 May 2012 02:32:02 -0000
Received: from localhost (unknown [127.0.0.1])
	by mx1.internecto.net (Postfix) with ESMTP id 88263298144
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:32:02 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at mx1.internecto.net
Received: from mx1.internecto.net ([176.9.245.29])
	by localhost (polaris.internecto.net [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id 8Q5Emz9czE1J for <xen-devel@lists.xen.org>;
	Sat, 12 May 2012 02:32:01 +0000 (UTC)
Received: from internecto.net (unknown
	[IPv6:2001:888:173e:1:221:85ff:fe10:3c98])
	by mx1.internecto.net (Postfix) with ESMTP id 91D55298022
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:32:01 +0000 (UTC)
Date: Sat, 12 May 2012 04:32:01 +0200
From: Mark <lists+xen@internecto.net>
To: xen-devel@lists.xen.org
Message-ID: <20120512043201.7e6055e7@internecto.net>
Organization: Internecto SIS
X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-unknown-linux-gnu)
Mime-Version: 1.0
Subject: [Xen-devel] bug report for network device i82599er: eepro100_write4
 assertation failed
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Sorry, reposting this with a shorter subject line.

When trying to start a FreeBSD 9.0 HVM guest I see the following line
in qemu-dm-freebsd.log:

qemu-dm: /src/xen-stable-hg/src/xen-4.1-testing.hg-build/tools/ioemu-dir/hw/eepro100.c:1320:
eepro100_write4: Assertion `!"feature is missing in this emulation: "
"unknown longword write"' failed.

The domain crashes.

I suspect this occurs because I am trying to build the domain with a
vif where model=i82559er. Changing the model to e1000 does build
the domain. 

I would prefer to have the ability to use 10Gbps because my physical
nic is also a 10Gbps nic:

02:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit
SFI/SFP+ Network Connection (rev 01)

For further contact please be aware I am not receiving xen-devel
emails, so please include me in CC's when more info is required.

Thank you,
Mark

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 02:32:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 02:32:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST27o-0005Mx-Kq; Sat, 12 May 2012 02:32:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lists+xen@internecto.net>) id 1ST27o-0005Mr-6u
	for xen-devel@lists.xen.org; Sat, 12 May 2012 02:32:04 +0000
Received: from [193.109.254.147:48730] by server-3.bemta-14.messagelabs.com id
	56/91-23274-3ABCDAF4; Sat, 12 May 2012 02:32:03 +0000
X-Env-Sender: lists+xen@internecto.net
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336789922!8521625!1
X-Originating-IP: [176.9.245.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21814 invoked from network); 12 May 2012 02:32:02 -0000
Received: from polaris.internecto.net (HELO mx1.internecto.net) (176.9.245.29)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 12 May 2012 02:32:02 -0000
Received: from localhost (unknown [127.0.0.1])
	by mx1.internecto.net (Postfix) with ESMTP id 88263298144
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:32:02 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at mx1.internecto.net
Received: from mx1.internecto.net ([176.9.245.29])
	by localhost (polaris.internecto.net [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id 8Q5Emz9czE1J for <xen-devel@lists.xen.org>;
	Sat, 12 May 2012 02:32:01 +0000 (UTC)
Received: from internecto.net (unknown
	[IPv6:2001:888:173e:1:221:85ff:fe10:3c98])
	by mx1.internecto.net (Postfix) with ESMTP id 91D55298022
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 02:32:01 +0000 (UTC)
Date: Sat, 12 May 2012 04:32:01 +0200
From: Mark <lists+xen@internecto.net>
To: xen-devel@lists.xen.org
Message-ID: <20120512043201.7e6055e7@internecto.net>
Organization: Internecto SIS
X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-unknown-linux-gnu)
Mime-Version: 1.0
Subject: [Xen-devel] bug report for network device i82599er: eepro100_write4
 assertation failed
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Sorry, reposting this with a shorter subject line.

When trying to start a FreeBSD 9.0 HVM guest I see the following line
in qemu-dm-freebsd.log:

qemu-dm: /src/xen-stable-hg/src/xen-4.1-testing.hg-build/tools/ioemu-dir/hw/eepro100.c:1320:
eepro100_write4: Assertion `!"feature is missing in this emulation: "
"unknown longword write"' failed.

The domain crashes.

I suspect this occurs because I am trying to build the domain with a
vif where model=i82559er. Changing the model to e1000 does build
the domain. 

I would prefer to have the ability to use 10Gbps because my physical
nic is also a 10Gbps nic:

02:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit
SFI/SFP+ Network Connection (rev 01)

For further contact please be aware I am not receiving xen-devel
emails, so please include me in CC's when more info is required.

Thank you,
Mark

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 05:48:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 05:48:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST5Ar-0006dw-IY; Sat, 12 May 2012 05:47:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1ST5Ap-0006dr-Gt
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 05:47:23 +0000
Received: from [85.158.143.35:25256] by server-2.bemta-4.messagelabs.com id
	53/61-17550-A69FDAF4; Sat, 12 May 2012 05:47:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336801641!4008819!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21281 invoked from network); 12 May 2012 05:47:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 05:47:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12439037"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 05:47:21 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sat, 12 May 2012 06:47:20 +0100
Message-ID: <1336801640.3891.17.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Sat, 12 May 2012 06:47:20 +0100
In-Reply-To: <20397.18234.50742.594420@mariner.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 18:07 +0100, Ian Jackson wrote:
> Bastian Blank writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> > On Fri, May 11, 2012 at 05:49:59PM +0100, Ian Campbell wrote:
> > > --- /dev/null
> > > +++ b/tools/xenstore/compat/xs.h
> > 
> > Why not in tools/xenstore?
> 
> Good question.  One answer is that this prevents in-tree users from
> accidentally using the old header - but do we really care about that ?

I thought it was worth doing it -- the cost is minimal.

> 
> > > +#ifndef XENSTORE_COMPAT_H
> > > +#define XENSTORE_COMPAT_H
> > 
> > Don't.
> 
> I guess you mean that we want a warning each time <xs.h> is #included,
> rather than only the first time.  In which case I agree.

I'm not convinced that getting multiple warnings+backtraces for each .c
file which includes xs.h is any more useful than just getting one, but
OK.

> Ian: I tried your patch but it didn't seem to apply to my current tip.

You've been shovelling stuff in all day ;-) I'll refresh/resend on
Monday.

You did take note of the "git-ness" of the patch though? -- ISTR your
tools had trouble with this format last time.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 05:48:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 05:48:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST5Ar-0006dw-IY; Sat, 12 May 2012 05:47:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1ST5Ap-0006dr-Gt
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 05:47:23 +0000
Received: from [85.158.143.35:25256] by server-2.bemta-4.messagelabs.com id
	53/61-17550-A69FDAF4; Sat, 12 May 2012 05:47:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336801641!4008819!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21281 invoked from network); 12 May 2012 05:47:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 05:47:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12439037"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 05:47:21 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sat, 12 May 2012 06:47:20 +0100
Message-ID: <1336801640.3891.17.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Sat, 12 May 2012 06:47:20 +0100
In-Reply-To: <20397.18234.50742.594420@mariner.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 18:07 +0100, Ian Jackson wrote:
> Bastian Blank writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> > On Fri, May 11, 2012 at 05:49:59PM +0100, Ian Campbell wrote:
> > > --- /dev/null
> > > +++ b/tools/xenstore/compat/xs.h
> > 
> > Why not in tools/xenstore?
> 
> Good question.  One answer is that this prevents in-tree users from
> accidentally using the old header - but do we really care about that ?

I thought it was worth doing it -- the cost is minimal.

> 
> > > +#ifndef XENSTORE_COMPAT_H
> > > +#define XENSTORE_COMPAT_H
> > 
> > Don't.
> 
> I guess you mean that we want a warning each time <xs.h> is #included,
> rather than only the first time.  In which case I agree.

I'm not convinced that getting multiple warnings+backtraces for each .c
file which includes xs.h is any more useful than just getting one, but
OK.

> Ian: I tried your patch but it didn't seem to apply to my current tip.

You've been shovelling stuff in all day ;-) I'll refresh/resend on
Monday.

You did take note of the "git-ness" of the patch though? -- ISTR your
tools had trouble with this format last time.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 05:51:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 05:51:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST5E7-0006jd-5N; Sat, 12 May 2012 05:50:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1ST5E5-0006jT-Ii
	for xen-devel@lists.xen.org; Sat, 12 May 2012 05:50:45 +0000
Received: from [85.158.143.99:35651] by server-3.bemta-4.messagelabs.com id
	17/07-05853-43AFDAF4; Sat, 12 May 2012 05:50:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336801843!17872446!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16143 invoked from network); 12 May 2012 05:50:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 05:50:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12439043"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 05:50:43 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sat, 12 May 2012 06:50:43 +0100
Message-ID: <1336801842.3891.18.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Keir Fraser <keir@xen.org>
Date: Sat, 12 May 2012 06:50:42 +0100
In-Reply-To: <CBD30119.40176%keir@xen.org>
References: <CBD30119.40176%keir@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bei Guan <gbtju85@gmail.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:47 +0100, Keir Fraser wrote:
> On 11/05/2012 17:33, "Bei Guan" <gbtju85@gmail.com> wrote:
> 
> > 2012/5/12 Ian Campbell <Ian.Campbell@citrix.com>
> >> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
> >> 
> >> 
> >>> No, it doesn't work for me. There is the same error.
> >> 
> >> Hrm. Since you can reproduce would you mind experimenting a bit to
> >> figure out the correct fix for this?
> >> 
> >> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> >> may not)?
> > Yes, I add this option to Makefile. And now it works well. The patch is as the
> > following. Thank you very much.
> 
> I'd be worried about more command-line meddling causing even more fallout.
> Particularly because we haven't used that option anywhere else so far, so
> it's untested by us. E.g., do all gcc support -Wno-unused-result?

We could have used cc-option, but your {read,write}_exact patch looks
like a better fix anyway.

Ian.

> 
>  -- Keir
> 
> > 
> > diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile
> > --- a/tools/blktap2/drivers/Makefile    Fri Apr 27 11:09:26 2012 +0200
> > +++ b/tools/blktap2/drivers/Makefile    Sat May 12 00:31:12 2012 +0800
> > @@ -11,6 +11,7 @@
> >  
> >  CFLAGS    += -Werror -g
> >  CFLAGS    += -Wno-unused
> > +CFLAGS    += -Wno-unused-result
> >  CFLAGS    += -fno-strict-aliasing
> >  CFLAGS    += -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
> >  CFLAGS    += $(CFLAGS_libxenctrl)
> > 
> > 
> > 
> > 
> > Thanks,
> > Bei Guan
> > 
> > 
> > 
> >  
> >> 
> >> Or maybe just assigning to a dummy variable.
> >> 
> >> Ian.
> >> 
> >>> My environment and gcc version are like this:
> >>> 
> >>> root@gavin-desktop:~# uname -a
> >>> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> >>> 2011 x86_64 GNU/Linux
> >>> 
> >>> root@gavin-desktop:~# gcc -v
> >>> Using built-in specs.
> >>> Target: x86_64-linux-gnu
> >>> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> >>> 4.4.3-4ubuntu5'
> >>> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> >>> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> >>> --enable-shared --enable-multiarch --enable-linker-build-id
> >>> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> >>> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> >>> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> >>> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> >>> --disable-werror --with-arch-32=i486 --with-tune=generic
> >>> --enable-checking=release --build=x86_64-linux-gnu
> >>> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> >>> Thread model: posix
> >>> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> >>> 
> >>> 
> >>> 
> >>> 
> >>> Thanks,
> >>> Bei Guan
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>>         8<------------------------------------------------------
> >>> 
> >>>         # HG changeset patch
> >>>         # User Ian Campbell <ian.campbell@citrix.com>
> >>>         # Date 1336751175 -3600
> >>>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> >>>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> >>>         blktap: avoid attribute warn_unused_result build failures.
> >>> 
> >>>         I'm not proud of this, but since none of these callers of
> >>>         read/write have any
> >>>         other error handling and return void themselves (for several
> >>>         links up the call
> >>>         chain AFAICT) and because I don't really want to get into a
> >>>         massive reworking
> >>>         of blktap2 I suppose it is at least pragmatic
> >>> 
> >>>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >>> 
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk-log.c
> >>>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>>         16:19:16 2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>>         16:46:15 2012 +0100
> >>>         @@ -247,7 +247,7 @@ tlog_flush(void)
> >>>                wsize = ((size + 511) & (~511));
> >>> 
> >>>                memset(tapdisk_log.buf + size, '\n', wsize - size);
> >>>         -       write(fd, tapdisk_log.buf, wsize);
> >>>         +       (void)write(fd, tapdisk_log.buf, wsize);
> >>> 
> >>>                tapdisk_log.p = tapdisk_log.buf;
> >>> 
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk-queue.c
> >>>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>>         16:19:16 2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>>         16:46:15 2012 +0100
> >>>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
> >>>                uint64_t val;
> >>> 
> >>>                if (lio->flags & LIO_FLAG_EVENTFD)
> >>>         -               read(lio->event_fd, &val, sizeof(val));
> >>>         +               (void)read(lio->event_fd, &val, sizeof(val));
> >>>          }
> >>> 
> >>>          static void
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk-stream.c
> >>>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>>         16:19:16 2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>>         16:46:15 2012 +0100
> >>>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
> >>>          {
> >>>                int dummy;
> >>> 
> >>>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>>                p->set = 0;
> >>>          }
> >>> 
> >>>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
> >>>                int dummy = 0;
> >>> 
> >>>                if (!p->set) {
> >>>         -               write(p->pipe[POLL_WRITE], &dummy,
> >>>         sizeof(dummy));
> >>>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
> >>>         sizeof(dummy));
> >>>                        p->set = 1;
> >>>                }
> >>>          }
> >>>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
> >>>          {
> >>>                unsigned long idx = (unsigned
> >>>         long)tapdisk_stream_request_idx(s, sreq);
> >>>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
> >>>         idx, 0);
> >>>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> >>>         +       (void)write(s->out_fd, buf, sreq->secs <<
> >>>         SECTOR_SHIFT);
> >>>          }
> >>> 
> >>>          static void
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk2.c
> >>>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
> >>>         2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
> >>>         2012 +0100
> >>>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
> >>>                if (optind != argc)
> >>>                        usage(argv[0], EINVAL);
> >>> 
> >>>         -       chdir("/");
> >>>         +       if (chdir("/")) {
> >>>         +               DPRINTF("failed to chdir(/): %d\n", errno);
> >>>         +               err = 1;
> >>>         +               goto out;
> >>>         +       }
> >>>         +
> >>>                tapdisk_start_logging("tapdisk2");
> >>> 
> >>>                err = tapdisk_server_init();
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> --
> >>> Best Regards,
> >>> Bei Guan
> >>> 
> >> 
> >> 
> > 
> > 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 05:51:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 05:51:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST5E7-0006jd-5N; Sat, 12 May 2012 05:50:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1ST5E5-0006jT-Ii
	for xen-devel@lists.xen.org; Sat, 12 May 2012 05:50:45 +0000
Received: from [85.158.143.99:35651] by server-3.bemta-4.messagelabs.com id
	17/07-05853-43AFDAF4; Sat, 12 May 2012 05:50:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1336801843!17872446!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16143 invoked from network); 12 May 2012 05:50:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 05:50:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12439043"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 05:50:43 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sat, 12 May 2012 06:50:43 +0100
Message-ID: <1336801842.3891.18.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Keir Fraser <keir@xen.org>
Date: Sat, 12 May 2012 06:50:42 +0100
In-Reply-To: <CBD30119.40176%keir@xen.org>
References: <CBD30119.40176%keir@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bei Guan <gbtju85@gmail.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Errors of doing "make install-tools" with
 xen-4.2-unstable?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 17:47 +0100, Keir Fraser wrote:
> On 11/05/2012 17:33, "Bei Guan" <gbtju85@gmail.com> wrote:
> 
> > 2012/5/12 Ian Campbell <Ian.Campbell@citrix.com>
> >> On Fri, 2012-05-11 at 17:10 +0100, Bei Guan wrote:
> >> 
> >> 
> >>> No, it doesn't work for me. There is the same error.
> >> 
> >> Hrm. Since you can reproduce would you mind experimenting a bit to
> >> figure out the correct fix for this?
> >> 
> >> Perhaps adding -Wno-unused-result to C flags helps (google suggests it
> >> may not)?
> > Yes, I add this option to Makefile. And now it works well. The patch is as the
> > following. Thank you very much.
> 
> I'd be worried about more command-line meddling causing even more fallout.
> Particularly because we haven't used that option anywhere else so far, so
> it's untested by us. E.g., do all gcc support -Wno-unused-result?

We could have used cc-option, but your {read,write}_exact patch looks
like a better fix anyway.

Ian.

> 
>  -- Keir
> 
> > 
> > diff -r 54c8c9eaee92 tools/blktap2/drivers/Makefile
> > --- a/tools/blktap2/drivers/Makefile    Fri Apr 27 11:09:26 2012 +0200
> > +++ b/tools/blktap2/drivers/Makefile    Sat May 12 00:31:12 2012 +0800
> > @@ -11,6 +11,7 @@
> >  
> >  CFLAGS    += -Werror -g
> >  CFLAGS    += -Wno-unused
> > +CFLAGS    += -Wno-unused-result
> >  CFLAGS    += -fno-strict-aliasing
> >  CFLAGS    += -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
> >  CFLAGS    += $(CFLAGS_libxenctrl)
> > 
> > 
> > 
> > 
> > Thanks,
> > Bei Guan
> > 
> > 
> > 
> >  
> >> 
> >> Or maybe just assigning to a dummy variable.
> >> 
> >> Ian.
> >> 
> >>> My environment and gcc version are like this:
> >>> 
> >>> root@gavin-desktop:~# uname -a
> >>> Linux gavin-desktop 2.6.32-5-xen-amd64 #1 SMP Thu May 19 01:16:47 UTC
> >>> 2011 x86_64 GNU/Linux
> >>> 
> >>> root@gavin-desktop:~# gcc -v
> >>> Using built-in specs.
> >>> Target: x86_64-linux-gnu
> >>> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> >>> 4.4.3-4ubuntu5'
> >>> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> >>> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> >>> --enable-shared --enable-multiarch --enable-linker-build-id
> >>> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> >>> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> >>> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> >>> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc
> >>> --disable-werror --with-arch-32=i486 --with-tune=generic
> >>> --enable-checking=release --build=x86_64-linux-gnu
> >>> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> >>> Thread model: posix
> >>> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
> >>> 
> >>> 
> >>> 
> >>> 
> >>> Thanks,
> >>> Bei Guan
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>>         8<------------------------------------------------------
> >>> 
> >>>         # HG changeset patch
> >>>         # User Ian Campbell <ian.campbell@citrix.com>
> >>>         # Date 1336751175 -3600
> >>>         # Node ID 15ed8f45c4e57a1e206af020e0ff17b792108e99
> >>>         # Parent  adc74e492edfee6cf44e433e3e93743a3cf71999
> >>>         blktap: avoid attribute warn_unused_result build failures.
> >>> 
> >>>         I'm not proud of this, but since none of these callers of
> >>>         read/write have any
> >>>         other error handling and return void themselves (for several
> >>>         links up the call
> >>>         chain AFAICT) and because I don't really want to get into a
> >>>         massive reworking
> >>>         of blktap2 I suppose it is at least pragmatic
> >>> 
> >>>         Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >>> 
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk-log.c
> >>>         --- a/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>>         16:19:16 2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk-log.c       Fri May 11
> >>>         16:46:15 2012 +0100
> >>>         @@ -247,7 +247,7 @@ tlog_flush(void)
> >>>                wsize = ((size + 511) & (~511));
> >>> 
> >>>                memset(tapdisk_log.buf + size, '\n', wsize - size);
> >>>         -       write(fd, tapdisk_log.buf, wsize);
> >>>         +       (void)write(fd, tapdisk_log.buf, wsize);
> >>> 
> >>>                tapdisk_log.p = tapdisk_log.buf;
> >>> 
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk-queue.c
> >>>         --- a/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>>         16:19:16 2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk-queue.c     Fri May 11
> >>>         16:46:15 2012 +0100
> >>>         @@ -435,7 +435,7 @@ tapdisk_lio_ack_event(struct tqueue *que
> >>>                uint64_t val;
> >>> 
> >>>                if (lio->flags & LIO_FLAG_EVENTFD)
> >>>         -               read(lio->event_fd, &val, sizeof(val));
> >>>         +               (void)read(lio->event_fd, &val, sizeof(val));
> >>>          }
> >>> 
> >>>          static void
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk-stream.c
> >>>         --- a/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>>         16:19:16 2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk-stream.c    Fri May 11
> >>>         16:46:15 2012 +0100
> >>>         @@ -145,7 +145,7 @@ tapdisk_stream_poll_clear(struct tapdisk
> >>>          {
> >>>                int dummy;
> >>> 
> >>>         -       read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>>         +       (void)read(p->pipe[POLL_READ], &dummy, sizeof(dummy));
> >>>                p->set = 0;
> >>>          }
> >>> 
> >>>         @@ -155,7 +155,7 @@ tapdisk_stream_poll_set(struct tapdisk_s
> >>>                int dummy = 0;
> >>> 
> >>>                if (!p->set) {
> >>>         -               write(p->pipe[POLL_WRITE], &dummy,
> >>>         sizeof(dummy));
> >>>         +               (void)write(p->pipe[POLL_WRITE], &dummy,
> >>>         sizeof(dummy));
> >>>                        p->set = 1;
> >>>                }
> >>>          }
> >>>         @@ -203,7 +203,7 @@ tapdisk_stream_print_request(struct tapd
> >>>          {
> >>>                unsigned long idx = (unsigned
> >>>         long)tapdisk_stream_request_idx(s, sreq);
> >>>                char *buf = (char *)MMAP_VADDR(s->vbd->ring.vstart,
> >>>         idx, 0);
> >>>         -       write(s->out_fd, buf, sreq->secs << SECTOR_SHIFT);
> >>>         +       (void)write(s->out_fd, buf, sreq->secs <<
> >>>         SECTOR_SHIFT);
> >>>          }
> >>> 
> >>>          static void
> >>>         diff -r adc74e492edf -r 15ed8f45c4e5
> >>>         tools/blktap2/drivers/tapdisk2.c
> >>>         --- a/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:19:16
> >>>         2012 +0100
> >>>         +++ b/tools/blktap2/drivers/tapdisk2.c  Fri May 11 16:46:15
> >>>         2012 +0100
> >>>         @@ -79,7 +79,12 @@ main(int argc, char *argv[])
> >>>                if (optind != argc)
> >>>                        usage(argv[0], EINVAL);
> >>> 
> >>>         -       chdir("/");
> >>>         +       if (chdir("/")) {
> >>>         +               DPRINTF("failed to chdir(/): %d\n", errno);
> >>>         +               err = 1;
> >>>         +               goto out;
> >>>         +       }
> >>>         +
> >>>                tapdisk_start_logging("tapdisk2");
> >>> 
> >>>                err = tapdisk_server_init();
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> --
> >>> Best Regards,
> >>> Bei Guan
> >>> 
> >> 
> >> 
> > 
> > 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 06:39:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 06:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST5yd-0007CL-0s; Sat, 12 May 2012 06:38:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1ST5yc-0007CG-8A
	for xen-devel@lists.xen.org; Sat, 12 May 2012 06:38:50 +0000
Received: from [85.158.143.99:55347] by server-2.bemta-4.messagelabs.com id
	F4/F1-17550-9750EAF4; Sat, 12 May 2012 06:38:49 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336804727!20118968!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzNjQy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16763 invoked from network); 12 May 2012 06:38:48 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-216.messagelabs.com with SMTP;
	12 May 2012 06:38:48 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 23:38:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="142159298"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 11 May 2012 23:38:46 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 23:38:45 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 14:38:43 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>
Thread-Topic: [PATCH] Fix the mistake for #BP and #OF exception handler
Thread-Index: Ac0wCbcSZBF1B8nJRNeU7sQ1kiyfjw==
Date: Sat, 12 May 2012 06:38:42 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC28B5@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
	handler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for breakpoint exception(#BP; generated by INT3), overflow exception(#OF; generated by INTO) and int n instruction emulation.

#BP and #OF should use software exception, which int n instruction should use software interrupt.

Signed-off-by: Eddie Dong<eddie.dong@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff -r 98fe3b2a572d xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Tue May 01 14:20:37 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Sun May 12 03:14:04 2013 +0800
@@ -1350,6 +1350,15 @@ static void __vmx_inject_exception(int t
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE: 
+ *    This is for processor execution generated exceptions,
+ * and INT 3(CC), INTO (CE) instruction emulation. It is
+ * not intended for the delivery of event due to emulation 
+ * of INT nn (CD nn) instruction, which should use 
+ * X86_EVENTTYPE_SW_INTERRUPT as interrupt type.
+ */
 void vmx_inject_hw_exception(int trap, int error_code)
 {
     unsigned long intr_info;
@@ -1365,7 +1374,6 @@ void vmx_inject_hw_exception(int trap, i
     switch ( trap )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1387,10 +1395,15 @@ void vmx_inject_hw_exception(int trap, i
         __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
         break;
 
+    case TRAP_overflow:
+        type = X86_EVENTTYPE_SW_EXCEPTION;
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
+        break;
+	
     default:
         if ( trap > TRAP_last_reserved )
         {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
+            type = X86_EVENTTYPE_SW_INTERRUPT;
             __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
         }
         break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 06:39:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 06:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST5yd-0007CL-0s; Sat, 12 May 2012 06:38:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1ST5yc-0007CG-8A
	for xen-devel@lists.xen.org; Sat, 12 May 2012 06:38:50 +0000
Received: from [85.158.143.99:55347] by server-2.bemta-4.messagelabs.com id
	F4/F1-17550-9750EAF4; Sat, 12 May 2012 06:38:49 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1336804727!20118968!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzNjQy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16763 invoked from network); 12 May 2012 06:38:48 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-216.messagelabs.com with SMTP;
	12 May 2012 06:38:48 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 11 May 2012 23:38:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="142159298"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 11 May 2012 23:38:46 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 11 May 2012 23:38:45 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 14:38:43 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>
Thread-Topic: [PATCH] Fix the mistake for #BP and #OF exception handler
Thread-Index: Ac0wCbcSZBF1B8nJRNeU7sQ1kiyfjw==
Date: Sat, 12 May 2012 06:38:42 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC28B5@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
	handler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for breakpoint exception(#BP; generated by INT3), overflow exception(#OF; generated by INTO) and int n instruction emulation.

#BP and #OF should use software exception, which int n instruction should use software interrupt.

Signed-off-by: Eddie Dong<eddie.dong@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff -r 98fe3b2a572d xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Tue May 01 14:20:37 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Sun May 12 03:14:04 2013 +0800
@@ -1350,6 +1350,15 @@ static void __vmx_inject_exception(int t
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE: 
+ *    This is for processor execution generated exceptions,
+ * and INT 3(CC), INTO (CE) instruction emulation. It is
+ * not intended for the delivery of event due to emulation 
+ * of INT nn (CD nn) instruction, which should use 
+ * X86_EVENTTYPE_SW_INTERRUPT as interrupt type.
+ */
 void vmx_inject_hw_exception(int trap, int error_code)
 {
     unsigned long intr_info;
@@ -1365,7 +1374,6 @@ void vmx_inject_hw_exception(int trap, i
     switch ( trap )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1387,10 +1395,15 @@ void vmx_inject_hw_exception(int trap, i
         __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
         break;
 
+    case TRAP_overflow:
+        type = X86_EVENTTYPE_SW_EXCEPTION;
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
+        break;
+	
     default:
         if ( trap > TRAP_last_reserved )
         {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
+            type = X86_EVENTTYPE_SW_INTERRUPT;
             __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
         }
         break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 06:49:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 06:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST686-0007La-38; Sat, 12 May 2012 06:48:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1ST683-0007LV-Vo
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 06:48:36 +0000
Received: from [85.158.139.83:21952] by server-9.bemta-5.messagelabs.com id
	1D/A9-09826-3C70EAF4; Sat, 12 May 2012 06:48:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336805313!28029765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26263 invoked from network); 12 May 2012 06:48:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 06:48:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12439226"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 06:48:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 12 May 2012 07:48:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1ST67z-0003wB-SW;
	Sat, 12 May 2012 06:48:31 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1ST67z-00049X-Oz;
	Sat, 12 May 2012 07:48:31 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12856-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 12 May 2012 07:48:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12856: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12856 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12856/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf-pin  9 guest-start                 fail pass in 12854
 test-amd64-amd64-xl-sedf 14 guest-localmigrate/x10 fail in 12854 pass in 12856
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12854 pass in 12856

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12854

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  cd4dd23a831d
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 06:49:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 06:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST686-0007La-38; Sat, 12 May 2012 06:48:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1ST683-0007LV-Vo
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 06:48:36 +0000
Received: from [85.158.139.83:21952] by server-9.bemta-5.messagelabs.com id
	1D/A9-09826-3C70EAF4; Sat, 12 May 2012 06:48:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336805313!28029765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODY1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26263 invoked from network); 12 May 2012 06:48:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 06:48:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,574,1330905600"; d="scan'208";a="12439226"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 06:48:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 12 May 2012 07:48:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1ST67z-0003wB-SW;
	Sat, 12 May 2012 06:48:31 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1ST67z-00049X-Oz;
	Sat, 12 May 2012 07:48:31 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12856-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 12 May 2012 07:48:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12856: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12856 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12856/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf-pin  9 guest-start                 fail pass in 12854
 test-amd64-amd64-xl-sedf 14 guest-localmigrate/x10 fail in 12854 pass in 12856
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12854 pass in 12856

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12854

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  cd4dd23a831d
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 06:50:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 06:50:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST69b-0007PE-I7; Sat, 12 May 2012 06:50:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1ST69Z-0007P4-7R
	for xen-devel@lists.xen.org; Sat, 12 May 2012 06:50:09 +0000
Received: from [85.158.139.83:62421] by server-10.bemta-5.messagelabs.com id
	69/0B-08260-0280EAF4; Sat, 12 May 2012 06:50:08 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336805406!25285571!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25433 invoked from network); 12 May 2012 06:50:07 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 06:50:07 -0000
Received: by werf3 with SMTP id f3so1871196wer.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 23:50:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=frEfaqsruexgMoun2Cns+7raRKyXIeweyHs4WqdZoqI=;
	b=bKGCMORcjopFmwFIQM29iAGhPg0otqpD0CP8g8VCRKsFij3D5pesIiVDrjuP26/l8Q
	oCpRrbSYH/iI/FbDcj9VquQJi2P6QwEs5x2sn1ryuh9a1xXx+Rc9xYgwMkgfxiwN7Mrv
	u5lSkeW4Uku7ISUaFnkrp3BKm7evflCYeG4aqerwdsLjEMiuZd2DhSkCQzA72/K9LB7A
	bC1BIT3jnhldxWwqKEIkor37HkBD7YYZdNRGoemMAuBEXC7yYbBVt/mMSEPfc6iJzRsK
	nyDSmKFiaamWC+sB0jOlFwvVxrJP7ZAE+qt1HAXStZFmrjSkj5f50ds1spwQPmuBs97m
	s1gw==
Received: by 10.180.83.196 with SMTP id s4mr2099065wiy.15.1336805406462;
	Fri, 11 May 2012 23:50:06 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id du4sm26074962wib.10.2012.05.11.23.50.03
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 23:50:05 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Sat, 12 May 2012 07:49:57 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>
Message-ID: <CBD3C6A5.33035%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
	handler
Thread-Index: Ac0wCbcSZBF1B8nJRNeU7sQ1kiyfjwAAbpla
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC28B5@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
 handler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 12/05/2012 07:38, "Hao, Xudong" <xudong.hao@intel.com> wrote:

> Fix the mistake for breakpoint exception(#BP; generated by INT3), overflow
> exception(#OF; generated by INTO) and int n instruction emulation.
> 
> #BP and #OF should use software exception, which int n instruction should use
> software interrupt.

This patch doesn't fix #BP, which is already using SW_EXCEPTION. It does
however fix #DB, which was using SW_EXCEPTION and you fix to use
HW_EXCEPTION.

Also your new comment at the top of the function is a bit wishful. It may
not be suitable to use this function for INT nn, but it *is* making a
half-arsed attempt at handling it anyway, and it is being called for that
purpose. Perhaps the comment should admit this, but indicate that this needs
to go away during 4.3 development?

Apart from these gripes, your code changes look correct. If this tests okay
for others, we can check this in when you provide a fixed changeset
description and code comment.

 -- Keir

> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r 98fe3b2a572d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c Tue May 01 14:20:37 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c Sun May 12 03:14:04 2013 +0800
> @@ -1350,6 +1350,15 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE: 
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. It is
> + * not intended for the delivery of event due to emulation
> + * of INT nn (CD nn) instruction, which should use
> + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type.
> + */
>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1374,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1387,10 +1395,15 @@ void vmx_inject_hw_exception(int trap, i
>          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
>          break;
>  
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> +        break;
> + 
>      default:
>          if ( trap > TRAP_last_reserved )
>          {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> +            type = X86_EVENTTYPE_SW_INTERRUPT;
>              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>          }
>          break;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 06:50:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 06:50:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST69b-0007PE-I7; Sat, 12 May 2012 06:50:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1ST69Z-0007P4-7R
	for xen-devel@lists.xen.org; Sat, 12 May 2012 06:50:09 +0000
Received: from [85.158.139.83:62421] by server-10.bemta-5.messagelabs.com id
	69/0B-08260-0280EAF4; Sat, 12 May 2012 06:50:08 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1336805406!25285571!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25433 invoked from network); 12 May 2012 06:50:07 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 06:50:07 -0000
Received: by werf3 with SMTP id f3so1871196wer.32
	for <xen-devel@lists.xen.org>; Fri, 11 May 2012 23:50:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=frEfaqsruexgMoun2Cns+7raRKyXIeweyHs4WqdZoqI=;
	b=bKGCMORcjopFmwFIQM29iAGhPg0otqpD0CP8g8VCRKsFij3D5pesIiVDrjuP26/l8Q
	oCpRrbSYH/iI/FbDcj9VquQJi2P6QwEs5x2sn1ryuh9a1xXx+Rc9xYgwMkgfxiwN7Mrv
	u5lSkeW4Uku7ISUaFnkrp3BKm7evflCYeG4aqerwdsLjEMiuZd2DhSkCQzA72/K9LB7A
	bC1BIT3jnhldxWwqKEIkor37HkBD7YYZdNRGoemMAuBEXC7yYbBVt/mMSEPfc6iJzRsK
	nyDSmKFiaamWC+sB0jOlFwvVxrJP7ZAE+qt1HAXStZFmrjSkj5f50ds1spwQPmuBs97m
	s1gw==
Received: by 10.180.83.196 with SMTP id s4mr2099065wiy.15.1336805406462;
	Fri, 11 May 2012 23:50:06 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id du4sm26074962wib.10.2012.05.11.23.50.03
	(version=SSLv3 cipher=OTHER); Fri, 11 May 2012 23:50:05 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Sat, 12 May 2012 07:49:57 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>
Message-ID: <CBD3C6A5.33035%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
	handler
Thread-Index: Ac0wCbcSZBF1B8nJRNeU7sQ1kiyfjwAAbpla
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC28B5@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
 handler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 12/05/2012 07:38, "Hao, Xudong" <xudong.hao@intel.com> wrote:

> Fix the mistake for breakpoint exception(#BP; generated by INT3), overflow
> exception(#OF; generated by INTO) and int n instruction emulation.
> 
> #BP and #OF should use software exception, which int n instruction should use
> software interrupt.

This patch doesn't fix #BP, which is already using SW_EXCEPTION. It does
however fix #DB, which was using SW_EXCEPTION and you fix to use
HW_EXCEPTION.

Also your new comment at the top of the function is a bit wishful. It may
not be suitable to use this function for INT nn, but it *is* making a
half-arsed attempt at handling it anyway, and it is being called for that
purpose. Perhaps the comment should admit this, but indicate that this needs
to go away during 4.3 development?

Apart from these gripes, your code changes look correct. If this tests okay
for others, we can check this in when you provide a fixed changeset
description and code comment.

 -- Keir

> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r 98fe3b2a572d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c Tue May 01 14:20:37 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c Sun May 12 03:14:04 2013 +0800
> @@ -1350,6 +1350,15 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE: 
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. It is
> + * not intended for the delivery of event due to emulation
> + * of INT nn (CD nn) instruction, which should use
> + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type.
> + */
>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1374,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1387,10 +1395,15 @@ void vmx_inject_hw_exception(int trap, i
>          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
>          break;
>  
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> +        break;
> + 
>      default:
>          if ( trap > TRAP_last_reserved )
>          {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> +            type = X86_EVENTTYPE_SW_INTERRUPT;
>              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>          }
>          break;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 07:17:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 07:17:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST6Zw-0007wF-8E; Sat, 12 May 2012 07:17:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1ST6Zu-0007wA-5S
	for xen-devel@lists.xen.org; Sat, 12 May 2012 07:17:22 +0000
Received: from [85.158.139.83:26576] by server-1.bemta-5.messagelabs.com id
	6E/0A-28458-18E0EAF4; Sat, 12 May 2012 07:17:21 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336807039!27987199!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzNjQy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20090 invoked from network); 12 May 2012 07:17:20 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-182.messagelabs.com with SMTP;
	12 May 2012 07:17:20 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 12 May 2012 00:17:18 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="142165810"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 12 May 2012 00:17:18 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sat, 12 May 2012 00:17:18 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 15:17:15 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: 'Keir Fraser' <keir.xen@gmail.com>, "Jan Beulich (JBeulich@suse.com)"
	<JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
	handler
Thread-Index: Ac0wCbcSZBF1B8nJRNeU7sQ1kiyfjwAAbplaAAA7nnA=
Date: Sat, 12 May 2012 07:17:14 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC2CFC@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC28B5@SHSMSX102.ccr.corp.intel.com>
	<CBD3C6A5.33035%keir.xen@gmail.com>
In-Reply-To: <CBD3C6A5.33035%keir.xen@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, "xen-devel
	\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
 handler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com]
> Sent: Saturday, May 12, 2012 2:50 PM
> To: Hao, Xudong; Jan Beulich (JBeulich@suse.com)
> Cc: Aravindh Puthiyaparambil; Dong, Eddie; Zhang, Xiantao; Nakajima, Jun;
> xen-devel (xen-devel@lists.xen.org)
> Subject: Re: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
> handler
> 
> On 12/05/2012 07:38, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> > Fix the mistake for breakpoint exception(#BP; generated by INT3), overflow
> > exception(#OF; generated by INTO) and int n instruction emulation.
> >
> > #BP and #OF should use software exception, which int n instruction should
> use
> > software interrupt.
> 
> This patch doesn't fix #BP, which is already using SW_EXCEPTION. It does
> however fix #DB, which was using SW_EXCEPTION and you fix to use
> HW_EXCEPTION.
> 
Yes, it fixed #DB, #OF and int n , not for #BP.

> Also your new comment at the top of the function is a bit wishful. It may
> not be suitable to use this function for INT nn, but it *is* making a
> half-arsed attempt at handling it anyway, and it is being called for that
> purpose. Perhaps the comment should admit this, but indicate that this needs
> to go away during 4.3 development?
> 
No, the new comment on the top of function is a little suitable, I'll correct it.

> Apart from these gripes, your code changes look correct. If this tests okay
> for others, we can check this in when you provide a fixed changeset
> description and code comment.
> 
I'll supply next version to modify the description and comment.


>  -- Keir
> 
> > Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff -r 98fe3b2a572d xen/arch/x86/hvm/vmx/vmx.c
> > --- a/xen/arch/x86/hvm/vmx/vmx.c Tue May 01 14:20:37 2012 +0100
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c Sun May 12 03:14:04 2013 +0800
> > @@ -1350,6 +1350,15 @@ static void __vmx_inject_exception(int t
> >          curr->arch.hvm_vmx.vmx_emulate = 1;
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and INT 3(CC), INTO (CE) instruction emulation. It is
> > + * not intended for the delivery of event due to emulation
> > + * of INT nn (CD nn) instruction, which should use
> > + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type.
> > + */
> >  void vmx_inject_hw_exception(int trap, int error_code)
> >  {
> >      unsigned long intr_info;
> > @@ -1365,7 +1374,6 @@ void vmx_inject_hw_exception(int trap, i
> >      switch ( trap )
> >      {
> >      case TRAP_debug:
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> > @@ -1387,10 +1395,15 @@ void vmx_inject_hw_exception(int trap, i
> >          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> >          break;
> >
> > +    case TRAP_overflow:
> > +        type = X86_EVENTTYPE_SW_EXCEPTION;
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> > +        break;
> > +
> >      default:
> >          if ( trap > TRAP_last_reserved )
> >          {
> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > +            type = X86_EVENTTYPE_SW_INTERRUPT;
> >              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8
> */
> >          }
> >          break;
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 07:17:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 07:17:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST6Zw-0007wF-8E; Sat, 12 May 2012 07:17:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1ST6Zu-0007wA-5S
	for xen-devel@lists.xen.org; Sat, 12 May 2012 07:17:22 +0000
Received: from [85.158.139.83:26576] by server-1.bemta-5.messagelabs.com id
	6E/0A-28458-18E0EAF4; Sat, 12 May 2012 07:17:21 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1336807039!27987199!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjMzNjQy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20090 invoked from network); 12 May 2012 07:17:20 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-182.messagelabs.com with SMTP;
	12 May 2012 07:17:20 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 12 May 2012 00:17:18 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="142165810"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 12 May 2012 00:17:18 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sat, 12 May 2012 00:17:18 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 15:17:15 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: 'Keir Fraser' <keir.xen@gmail.com>, "Jan Beulich (JBeulich@suse.com)"
	<JBeulich@suse.com>
Thread-Topic: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
	handler
Thread-Index: Ac0wCbcSZBF1B8nJRNeU7sQ1kiyfjwAAbplaAAA7nnA=
Date: Sat, 12 May 2012 07:17:14 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC2CFC@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC28B5@SHSMSX102.ccr.corp.intel.com>
	<CBD3C6A5.33035%keir.xen@gmail.com>
In-Reply-To: <CBD3C6A5.33035%keir.xen@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, "xen-devel
	\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
 handler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com]
> Sent: Saturday, May 12, 2012 2:50 PM
> To: Hao, Xudong; Jan Beulich (JBeulich@suse.com)
> Cc: Aravindh Puthiyaparambil; Dong, Eddie; Zhang, Xiantao; Nakajima, Jun;
> xen-devel (xen-devel@lists.xen.org)
> Subject: Re: [Xen-devel] [PATCH] Fix the mistake for #BP and #OF exception
> handler
> 
> On 12/05/2012 07:38, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> > Fix the mistake for breakpoint exception(#BP; generated by INT3), overflow
> > exception(#OF; generated by INTO) and int n instruction emulation.
> >
> > #BP and #OF should use software exception, which int n instruction should
> use
> > software interrupt.
> 
> This patch doesn't fix #BP, which is already using SW_EXCEPTION. It does
> however fix #DB, which was using SW_EXCEPTION and you fix to use
> HW_EXCEPTION.
> 
Yes, it fixed #DB, #OF and int n , not for #BP.

> Also your new comment at the top of the function is a bit wishful. It may
> not be suitable to use this function for INT nn, but it *is* making a
> half-arsed attempt at handling it anyway, and it is being called for that
> purpose. Perhaps the comment should admit this, but indicate that this needs
> to go away during 4.3 development?
> 
No, the new comment on the top of function is a little suitable, I'll correct it.

> Apart from these gripes, your code changes look correct. If this tests okay
> for others, we can check this in when you provide a fixed changeset
> description and code comment.
> 
I'll supply next version to modify the description and comment.


>  -- Keir
> 
> > Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff -r 98fe3b2a572d xen/arch/x86/hvm/vmx/vmx.c
> > --- a/xen/arch/x86/hvm/vmx/vmx.c Tue May 01 14:20:37 2012 +0100
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c Sun May 12 03:14:04 2013 +0800
> > @@ -1350,6 +1350,15 @@ static void __vmx_inject_exception(int t
> >          curr->arch.hvm_vmx.vmx_emulate = 1;
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and INT 3(CC), INTO (CE) instruction emulation. It is
> > + * not intended for the delivery of event due to emulation
> > + * of INT nn (CD nn) instruction, which should use
> > + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type.
> > + */
> >  void vmx_inject_hw_exception(int trap, int error_code)
> >  {
> >      unsigned long intr_info;
> > @@ -1365,7 +1374,6 @@ void vmx_inject_hw_exception(int trap, i
> >      switch ( trap )
> >      {
> >      case TRAP_debug:
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> > @@ -1387,10 +1395,15 @@ void vmx_inject_hw_exception(int trap, i
> >          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> >          break;
> >
> > +    case TRAP_overflow:
> > +        type = X86_EVENTTYPE_SW_EXCEPTION;
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> > +        break;
> > +
> >      default:
> >          if ( trap > TRAP_last_reserved )
> >          {
> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > +            type = X86_EVENTTYPE_SW_INTERRUPT;
> >              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8
> */
> >          }
> >          break;
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 07:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 07:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST6cc-00081A-RU; Sat, 12 May 2012 07:20:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1ST6cb-000813-FP
	for xen-devel@lists.xen.org; Sat, 12 May 2012 07:20:09 +0000
Received: from [193.109.254.147:53714] by server-1.bemta-14.messagelabs.com id
	8A/4B-29372-82F0EAF4; Sat, 12 May 2012 07:20:08 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336807207!2072657!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17397 invoked from network); 12 May 2012 07:20:07 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	12 May 2012 07:20:07 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:49385
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1ST6Y2-0002sZ-1x; Sat, 12 May 2012 09:15:26 +0200
Date: Sat, 12 May 2012 09:20:04 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <318116397.20120512092004@eikelenboom.it>
To: Mark <lists+xen@internecto.net>
In-Reply-To: <20120512041645.11509848@internecto.net>
References: <20120512041645.11509848@internecto.net>
MIME-Version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] xen-pciback.hide bug report: parse error in current
	xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Mark,

Saturday, May 12, 2012, 4:16:45 AM, you wrote:

> Hello everyone,

> Said Xen version running on kernel 3.3.4 x86_64.

> I had put in Grub's "module /vmlinuz.gz" line:

> xen_pciback.hide=(02:10.0)(02:10.2)(etc.)

Should be xen-pciback.hide (not a underscore)

--
Sander


> This yields an error in dmesg:

> xen_pciback: Unknown parameter `2)'

> I tried all sorts of variations: quoting the pci devices, prefixing
> the devices with an extra 0000:, putting the thing somewhere else. But
> the error keeps returning.

> I am working around this by having added the hide option in a
> modules.conf entry.

> For further contact please be aware I am not receiving xen-devel
> emails, so please include me in CC's when more info is required.

> Thank you,
> Mark





-- 
Best regards,
 Sander                            mailto:linux@eikelenboom.it


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 07:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 07:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST6cc-00081A-RU; Sat, 12 May 2012 07:20:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1ST6cb-000813-FP
	for xen-devel@lists.xen.org; Sat, 12 May 2012 07:20:09 +0000
Received: from [193.109.254.147:53714] by server-1.bemta-14.messagelabs.com id
	8A/4B-29372-82F0EAF4; Sat, 12 May 2012 07:20:08 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336807207!2072657!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17397 invoked from network); 12 May 2012 07:20:07 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	12 May 2012 07:20:07 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:49385
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1ST6Y2-0002sZ-1x; Sat, 12 May 2012 09:15:26 +0200
Date: Sat, 12 May 2012 09:20:04 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <318116397.20120512092004@eikelenboom.it>
To: Mark <lists+xen@internecto.net>
In-Reply-To: <20120512041645.11509848@internecto.net>
References: <20120512041645.11509848@internecto.net>
MIME-Version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] xen-pciback.hide bug report: parse error in current
	xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Mark,

Saturday, May 12, 2012, 4:16:45 AM, you wrote:

> Hello everyone,

> Said Xen version running on kernel 3.3.4 x86_64.

> I had put in Grub's "module /vmlinuz.gz" line:

> xen_pciback.hide=(02:10.0)(02:10.2)(etc.)

Should be xen-pciback.hide (not a underscore)

--
Sander


> This yields an error in dmesg:

> xen_pciback: Unknown parameter `2)'

> I tried all sorts of variations: quoting the pci devices, prefixing
> the devices with an extra 0000:, putting the thing somewhere else. But
> the error keeps returning.

> I am working around this by having added the hide option in a
> modules.conf entry.

> For further contact please be aware I am not receiving xen-devel
> emails, so please include me in CC's when more info is required.

> Thank you,
> Mark





-- 
Best regards,
 Sander                            mailto:linux@eikelenboom.it


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 07:29:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 07:29:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST6lL-0008EB-TH; Sat, 12 May 2012 07:29:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1ST6lK-0008E3-Ns
	for xen-devel@lists.xen.org; Sat, 12 May 2012 07:29:11 +0000
Received: from [85.158.143.35:40581] by server-3.bemta-4.messagelabs.com id
	8C/00-05853-6411EAF4; Sat, 12 May 2012 07:29:10 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336807745!4695979!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21752 invoked from network); 12 May 2012 07:29:07 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 07:29:07 -0000
Received: by pbbro12 with SMTP id ro12so4467895pbb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 00:29:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BO/3b2ZUWIAaJao/NLZ1qxrl7v/o1a7lnzXAFn7iOMc=;
	b=jyO1FA79tdx/BIGCELp1u1rSTtk4e2T9T34+lHJizVHKk8VZ4hWdJzPLabG7X0Er6i
	WnBRLOcj4l7RlVmzhZUD3eZjKvUi79RgYZwv6A8QqCuAB1kDO7IPE6e1BAdxMakHlKPd
	xw1B92SD8XT2k7J4dpXNyvZMdz3I5FBTvnSi3e+JGdNI1yIpOzIAI0r08O+3K2e9XuA2
	23DbBv+uzt8+wXQj1gqSnKz2/EXA9B3aucwKHi/D647c9Hv2pbIFJtFcmSEGcuicAWvK
	FvWOKzg0LBft//XiNFRdNmdpP6LbPPBmJfYuqUmvD4+7Qiq98durflB9kjJgynmuegMz
	+zvQ==
MIME-Version: 1.0
Received: by 10.68.130.3 with SMTP id oa3mr2762561pbb.62.1336807743845; Sat,
	12 May 2012 00:29:03 -0700 (PDT)
Received: by 10.68.189.133 with HTTP; Sat, 12 May 2012 00:29:03 -0700 (PDT)
In-Reply-To: <CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
Date: Sat, 12 May 2012 15:29:03 +0800
Message-ID: <CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com>=
 wrote:
>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering =
with openvpn"):
>>> libxl/xend: name tap devices vifX.Y-emu
>>
>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>
> This is my backport version which excludes the following:
>
> Lastly also move libxl__device_* to a better place in the header, otherwi=
se the
> comment about evgen stuff isn't next to the associated functions (noticed=
 jsut
> because I was going to add nic_devname near to the setdefault functions)
>
> I have tested with xm and xl with and without vifname set in domU
> config for hvmdomain and pvdomain.

Sorry, when re-test one of the test case failed... xm create hvmdomain
with vifname set.  I must have missed certain test case :(

Kindest regards,
Giam Teck Choon



>
> For your review and comments please.
>
> Thanks.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>
> libxl/xend: name tap devices vifX.Y-emu
>
> This prevents the udev scripts from operating on other tap devices (e.g.
> openvpn etc)
>
> Correct the documentation for the "vifname" option which suggested it app=
lied
> to HVM tap devices only, which is not the case.
>
> Reported by Michael Young.
>
> Also fix the use of vifname with emulated devices. This is slightly compl=
ex.
> The current hotplug scripts rely on being able to parse the "tapX.Y" (now
> "vifX.Y-emu") name in order to locate the xenstore backend dir relating t=
o the
> corresponding vif. This is because we cannot inject our own environment v=
ars
> into the tap hotplug events. However this means that if the tap is initia=
lly
> named with a user specified name (which will not match the expected schem=
e) we
> fail to do anything useful with the device. So now we create the initial =
tap
> device with the standard "vifX.Y-emu" name and the hotplug script will ha=
ndle
> the rename to the desired name. This is also how PV vif devices work -- t=
hey
> are always created by netback with the name vifX.Y and renamed in the scr=
ipt.
>
> xen-unstable changeset: 25290:7a6dcecb1781
> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
> ---
> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++++++-=
----------
> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
> =A04 files changed, 21 insertions(+), 19 deletions(-)
>
> diff --git a/tools/hotplug/Linux/vif-common.sh
> b/tools/hotplug/Linux/vif-common.sh
> index c9c5d41..fff22bb 100644
> --- a/tools/hotplug/Linux/vif-common.sh
> +++ b/tools/hotplug/Linux/vif-common.sh
> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
> =A0 =A0 : ${INTERFACE:?}
>
> =A0 =A0 # Get xenbus_path from device name.
> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
> - =A0 =A0dev_=3D${dev#tap}
> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
> + =A0 =A0dev_=3D${dev#vif}
> + =A0 =A0dev_=3D${dev_%-emu}
> =A0 =A0 domid=3D${dev_%.*}
> =A0 =A0 devid=3D${dev_#*.}
>
> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> + =A0 =A0if [ "$vifname" ]
> + =A0 =A0then
> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifna=
me" >&/dev/null
> + =A0 =A0 =A0 =A0then
> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> + =A0 =A0 =A0 =A0fi
> + =A0 =A0 =A0 =A0dev=3D"$vifname"
> + =A0 =A0fi
> =A0fi
>
> =A0ip=3D${ip:-}
> diff --git a/tools/hotplug/Linux/xen-backend.rules
> b/tools/hotplug/Linux/xen-backend.rules
> index 40f2658..405387f 100644
> --- a/tools/hotplug/Linux/xen-backend.rules
> +++ b/tools/hotplug/Linux/xen-backend.rules
> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=3D"06=
00"
> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 1ffcc90..2c030ca 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -134,11 +134,9 @@ static char **
> libxl_build_device_model_args_old(libxl__gc *gc,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
> "%02x:%02x:%02x:%02x:%02x:%02x",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
> vifs[i].mac[1], vifs[i].mac[2],
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
> vifs[i].mac[4], vifs[i].mac[5]);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "t=
ap%d.%d",
> info->domid, vifs[i].devid);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(gc=
, "vif%d.%d-emu",
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-net", l=
ibxl__sprintf(gc,
> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
> smac, vifs[i].model),
> @@ -271,12 +269,9 @@ static char **
> libxl_build_device_model_args_new(libxl__gc *gc,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
> "%02x:%02x:%02x:%02x:%02x:%02x",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
> vifs[i].mac[1], vifs[i].mac[2],
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
> vifs[i].mac[4], vifs[i].mac[5]);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "t=
ap%d.%d",
> info->domid, vifs[i].devid);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(gc=
, "vif%d.%d-emu",
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__sprintf(=
gc,
> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devid, sm=
ac, vifs[i].model));
> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image=
.py
> index f1464ac..3c8d80c 100644
> --- a/tools/python/xen/xend/image.py
> +++ b/tools/python/xen/xend/image.py
> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=3D%s=
" %
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
> - =A0 =A0 =A0 =A0 =A0 =A0else:
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.getDom=
id(), nics-1)
> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDomid()=
, nics-1)
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%s=
" %
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridge))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 07:29:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 07:29:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST6lL-0008EB-TH; Sat, 12 May 2012 07:29:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1ST6lK-0008E3-Ns
	for xen-devel@lists.xen.org; Sat, 12 May 2012 07:29:11 +0000
Received: from [85.158.143.35:40581] by server-3.bemta-4.messagelabs.com id
	8C/00-05853-6411EAF4; Sat, 12 May 2012 07:29:10 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336807745!4695979!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21752 invoked from network); 12 May 2012 07:29:07 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 07:29:07 -0000
Received: by pbbro12 with SMTP id ro12so4467895pbb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 00:29:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BO/3b2ZUWIAaJao/NLZ1qxrl7v/o1a7lnzXAFn7iOMc=;
	b=jyO1FA79tdx/BIGCELp1u1rSTtk4e2T9T34+lHJizVHKk8VZ4hWdJzPLabG7X0Er6i
	WnBRLOcj4l7RlVmzhZUD3eZjKvUi79RgYZwv6A8QqCuAB1kDO7IPE6e1BAdxMakHlKPd
	xw1B92SD8XT2k7J4dpXNyvZMdz3I5FBTvnSi3e+JGdNI1yIpOzIAI0r08O+3K2e9XuA2
	23DbBv+uzt8+wXQj1gqSnKz2/EXA9B3aucwKHi/D647c9Hv2pbIFJtFcmSEGcuicAWvK
	FvWOKzg0LBft//XiNFRdNmdpP6LbPPBmJfYuqUmvD4+7Qiq98durflB9kjJgynmuegMz
	+zvQ==
MIME-Version: 1.0
Received: by 10.68.130.3 with SMTP id oa3mr2762561pbb.62.1336807743845; Sat,
	12 May 2012 00:29:03 -0700 (PDT)
Received: by 10.68.189.133 with HTTP; Sat, 12 May 2012 00:29:03 -0700 (PDT)
In-Reply-To: <CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
Date: Sat, 12 May 2012 15:29:03 +0800
Message-ID: <CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com>=
 wrote:
>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering =
with openvpn"):
>>> libxl/xend: name tap devices vifX.Y-emu
>>
>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>
> This is my backport version which excludes the following:
>
> Lastly also move libxl__device_* to a better place in the header, otherwi=
se the
> comment about evgen stuff isn't next to the associated functions (noticed=
 jsut
> because I was going to add nic_devname near to the setdefault functions)
>
> I have tested with xm and xl with and without vifname set in domU
> config for hvmdomain and pvdomain.

Sorry, when re-test one of the test case failed... xm create hvmdomain
with vifname set.  I must have missed certain test case :(

Kindest regards,
Giam Teck Choon



>
> For your review and comments please.
>
> Thanks.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>
> libxl/xend: name tap devices vifX.Y-emu
>
> This prevents the udev scripts from operating on other tap devices (e.g.
> openvpn etc)
>
> Correct the documentation for the "vifname" option which suggested it app=
lied
> to HVM tap devices only, which is not the case.
>
> Reported by Michael Young.
>
> Also fix the use of vifname with emulated devices. This is slightly compl=
ex.
> The current hotplug scripts rely on being able to parse the "tapX.Y" (now
> "vifX.Y-emu") name in order to locate the xenstore backend dir relating t=
o the
> corresponding vif. This is because we cannot inject our own environment v=
ars
> into the tap hotplug events. However this means that if the tap is initia=
lly
> named with a user specified name (which will not match the expected schem=
e) we
> fail to do anything useful with the device. So now we create the initial =
tap
> device with the standard "vifX.Y-emu" name and the hotplug script will ha=
ndle
> the rename to the desired name. This is also how PV vif devices work -- t=
hey
> are always created by netback with the name vifX.Y and renamed in the scr=
ipt.
>
> xen-unstable changeset: 25290:7a6dcecb1781
> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
> ---
> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++++++-=
----------
> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
> =A04 files changed, 21 insertions(+), 19 deletions(-)
>
> diff --git a/tools/hotplug/Linux/vif-common.sh
> b/tools/hotplug/Linux/vif-common.sh
> index c9c5d41..fff22bb 100644
> --- a/tools/hotplug/Linux/vif-common.sh
> +++ b/tools/hotplug/Linux/vif-common.sh
> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
> =A0 =A0 : ${INTERFACE:?}
>
> =A0 =A0 # Get xenbus_path from device name.
> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
> - =A0 =A0dev_=3D${dev#tap}
> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
> + =A0 =A0dev_=3D${dev#vif}
> + =A0 =A0dev_=3D${dev_%-emu}
> =A0 =A0 domid=3D${dev_%.*}
> =A0 =A0 devid=3D${dev_#*.}
>
> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> + =A0 =A0if [ "$vifname" ]
> + =A0 =A0then
> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifna=
me" >&/dev/null
> + =A0 =A0 =A0 =A0then
> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> + =A0 =A0 =A0 =A0fi
> + =A0 =A0 =A0 =A0dev=3D"$vifname"
> + =A0 =A0fi
> =A0fi
>
> =A0ip=3D${ip:-}
> diff --git a/tools/hotplug/Linux/xen-backend.rules
> b/tools/hotplug/Linux/xen-backend.rules
> index 40f2658..405387f 100644
> --- a/tools/hotplug/Linux/xen-backend.rules
> +++ b/tools/hotplug/Linux/xen-backend.rules
> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=3D"06=
00"
> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 1ffcc90..2c030ca 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -134,11 +134,9 @@ static char **
> libxl_build_device_model_args_old(libxl__gc *gc,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
> "%02x:%02x:%02x:%02x:%02x:%02x",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
> vifs[i].mac[1], vifs[i].mac[2],
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
> vifs[i].mac[4], vifs[i].mac[5]);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "t=
ap%d.%d",
> info->domid, vifs[i].devid);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(gc=
, "vif%d.%d-emu",
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-net", l=
ibxl__sprintf(gc,
> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
> smac, vifs[i].model),
> @@ -271,12 +269,9 @@ static char **
> libxl_build_device_model_args_new(libxl__gc *gc,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
> "%02x:%02x:%02x:%02x:%02x:%02x",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
> vifs[i].mac[1], vifs[i].mac[2],
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
> vifs[i].mac[4], vifs[i].mac[5]);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "t=
ap%d.%d",
> info->domid, vifs[i].devid);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(gc=
, "vif%d.%d-emu",
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__sprintf(=
gc,
> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devid, sm=
ac, vifs[i].model));
> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image=
.py
> index f1464ac..3c8d80c 100644
> --- a/tools/python/xen/xend/image.py
> +++ b/tools/python/xen/xend/image.py
> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=3D%s=
" %
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
> - =A0 =A0 =A0 =A0 =A0 =A0else:
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.getDom=
id(), nics-1)
> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDomid()=
, nics-1)
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%s=
" %
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridge))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 09:13:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 09:13:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST8Nd-0000qP-Su; Sat, 12 May 2012 09:12:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1ST8Nc-0000qJ-Gc
	for xen-devel@lists.xen.org; Sat, 12 May 2012 09:12:48 +0000
Received: from [85.158.138.51:36868] by server-2.bemta-3.messagelabs.com id
	8D/85-09269-F892EAF4; Sat, 12 May 2012 09:12:47 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336813965!26689151!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3Njkx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19510 invoked from network); 12 May 2012 09:12:46 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-8.tower-174.messagelabs.com with SMTP;
	12 May 2012 09:12:46 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 12 May 2012 02:12:44 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99257650"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 12 May 2012 02:12:44 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sat, 12 May 2012 02:12:44 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 17:12:41 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>, "Keir Fraser
	(keir.xen@gmail.com)" <keir.xen@gmail.com>
Thread-Topic: [PATCH v2] Fix the mistake for #DB and #OF exception 
Thread-Index: Ac0wHoS1rWMeWTdrSEKneX/7Xlgnsw==
Date: Sat, 12 May 2012 09:12:40 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, "xen-devel
	\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB; generated by INT1), overflow exception(#OF; generated by INTO) and int n instruction emulation.

#DB should use hardware exception(except #DB generated by opcode 0xf1), #OF should use software exception, which int n instruction should use software interrupt.

Signed-off-by: Eddie Dong<eddie.dong@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
@@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE: 
+ *    This is for processor execution generated exceptions,
+ * and INT 3(CC), INTO (CE) instruction emulation. INT3 and 
+ * INT0 use software exception, and INT n should use 
+ * software interrupt.
+ */
 void vmx_inject_hw_exception(int trap, int error_code)
 {
     unsigned long intr_info;
@@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
     switch ( trap )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
         __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
         break;
 
+    case TRAP_overflow:
+        type = X86_EVENTTYPE_SW_EXCEPTION;
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
+        break;
+	
     default:
         if ( trap > TRAP_last_reserved )
         {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
+            type = X86_EVENTTYPE_SW_INTERRUPT;
             __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
         }
         break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 09:13:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 09:13:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1ST8Nd-0000qP-Su; Sat, 12 May 2012 09:12:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1ST8Nc-0000qJ-Gc
	for xen-devel@lists.xen.org; Sat, 12 May 2012 09:12:48 +0000
Received: from [85.158.138.51:36868] by server-2.bemta-3.messagelabs.com id
	8D/85-09269-F892EAF4; Sat, 12 May 2012 09:12:47 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336813965!26689151!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3Njkx\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19510 invoked from network); 12 May 2012 09:12:46 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-8.tower-174.messagelabs.com with SMTP;
	12 May 2012 09:12:46 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 12 May 2012 02:12:44 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99257650"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 12 May 2012 02:12:44 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sat, 12 May 2012 02:12:44 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Sat, 12 May 2012 17:12:41 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>, "Keir Fraser
	(keir.xen@gmail.com)" <keir.xen@gmail.com>
Thread-Topic: [PATCH v2] Fix the mistake for #DB and #OF exception 
Thread-Index: Ac0wHoS1rWMeWTdrSEKneX/7Xlgnsw==
Date: Sat, 12 May 2012 09:12:40 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, "xen-devel
	\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB; generated by INT1), overflow exception(#OF; generated by INTO) and int n instruction emulation.

#DB should use hardware exception(except #DB generated by opcode 0xf1), #OF should use software exception, which int n instruction should use software interrupt.

Signed-off-by: Eddie Dong<eddie.dong@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
@@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE: 
+ *    This is for processor execution generated exceptions,
+ * and INT 3(CC), INTO (CE) instruction emulation. INT3 and 
+ * INT0 use software exception, and INT n should use 
+ * software interrupt.
+ */
 void vmx_inject_hw_exception(int trap, int error_code)
 {
     unsigned long intr_info;
@@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
     switch ( trap )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
         __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
         break;
 
+    case TRAP_overflow:
+        type = X86_EVENTTYPE_SW_EXCEPTION;
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
+        break;
+	
     default:
         if ( trap > TRAP_last_reserved )
         {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
+            type = X86_EVENTTYPE_SW_INTERRUPT;
             __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
         }
         break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 22:01:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 22:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STKMi-0002vA-CR; Sat, 12 May 2012 22:00:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1STKMh-0002v5-4L
	for xen-devel@lists.xen.org; Sat, 12 May 2012 22:00:39 +0000
Received: from [85.158.143.99:46536] by server-1.bemta-4.messagelabs.com id
	19/54-20925-68DDEAF4; Sat, 12 May 2012 22:00:38 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336860034!20685030!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24864 invoked from network); 12 May 2012 22:00:36 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 22:00:36 -0000
Received: by pbbro12 with SMTP id ro12so4937138pbb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 15:00:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BJbt5+WNAb8xWXViFbednmuMXoU8lyhmbyfT3VDttE4=;
	b=y+J0WVQmw9LJ4Q9P40SE9YjdsC8E5j+FZvqIKop4FKQ8JKjQIkkkWxYy5h4Oocgd+8
	Av2rrLFX3S7YGE1JnZ4nGewFBmtGXTQxj4DoUd4URohztzfFE+twiGWNfWoxJZ+VFF5P
	Dg7h6O4E3C0g+YTb6VfvnZtF1JYFLpctf9DU0P9v5npi5ldRB+wC920MbFhj3uVteeLI
	toHztHcAylOlYdmpL5HL1RthKhxZM2+6tL0OZtuMqoyA2w+j4IJjz69g/S/AsmVmB1CV
	W1pRsF1v5z39a7bkMxO+4C5KvJTn5gmOtJ8XyzVlT7JjEXiwCNmR80PDmfBQr2W+nVAp
	QHBA==
MIME-Version: 1.0
Received: by 10.68.242.33 with SMTP id wn1mr7904182pbc.167.1336860034054; Sat,
	12 May 2012 15:00:34 -0700 (PDT)
Received: by 10.68.189.133 with HTTP; Sat, 12 May 2012 15:00:33 -0700 (PDT)
In-Reply-To: <CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
Date: Sun, 13 May 2012 06:00:33 +0800
Message-ID: <CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
> <giamteckchoon@gmail.com> wrote:
>> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com=
> wrote:
>>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering=
 with openvpn"):
>>>> libxl/xend: name tap devices vifX.Y-emu
>>>
>>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>>
>> This is my backport version which excludes the following:
>>
>> Lastly also move libxl__device_* to a better place in the header, otherw=
ise the
>> comment about evgen stuff isn't next to the associated functions (notice=
d jsut
>> because I was going to add nic_devname near to the setdefault functions)
>>
>> I have tested with xm and xl with and without vifname set in domU
>> config for hvmdomain and pvdomain.
>
> Sorry, when re-test one of the test case failed... xm create hvmdomain
> with vifname set. =A0I must have missed certain test case :(

The same test case failed for xen unstable latest changeset 25326:cd4dd23a8=
31d.

My tests as below:

1. xm create pvdomain without vifname set
2. xl create pvdomain without vifname set
3. xm create hvmdomain without vifname set
4. xl create hvmdomain without vifname set
5. xm create pvdomain with vifname set
6. xl create pvdomain with vifname set
7. xm create hvmdomain with vifname set
8. xl create hvmdomain with vifname set

Thanks.

Kindest regards,


>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>
>> For your review and comments please.
>>
>> Thanks.
>>
>> Kindest regards,
>> Giam Teck Choon
>>
>>
>>
>>
>> libxl/xend: name tap devices vifX.Y-emu
>>
>> This prevents the udev scripts from operating on other tap devices (e.g.
>> openvpn etc)
>>
>> Correct the documentation for the "vifname" option which suggested it ap=
plied
>> to HVM tap devices only, which is not the case.
>>
>> Reported by Michael Young.
>>
>> Also fix the use of vifname with emulated devices. This is slightly comp=
lex.
>> The current hotplug scripts rely on being able to parse the "tapX.Y" (now
>> "vifX.Y-emu") name in order to locate the xenstore backend dir relating =
to the
>> corresponding vif. This is because we cannot inject our own environment =
vars
>> into the tap hotplug events. However this means that if the tap is initi=
ally
>> named with a user specified name (which will not match the expected sche=
me) we
>> fail to do anything useful with the device. So now we create the initial=
 tap
>> device with the standard "vifX.Y-emu" name and the hotplug script will h=
andle
>> the rename to the desired name. This is also how PV vif devices work -- =
they
>> are always created by netback with the name vifX.Y and renamed in the sc=
ript.
>>
>> xen-unstable changeset: 25290:7a6dcecb1781
>> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>> ---
>> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
>> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++++++=
-----------
>> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>> =A04 files changed, 21 insertions(+), 19 deletions(-)
>>
>> diff --git a/tools/hotplug/Linux/vif-common.sh
>> b/tools/hotplug/Linux/vif-common.sh
>> index c9c5d41..fff22bb 100644
>> --- a/tools/hotplug/Linux/vif-common.sh
>> +++ b/tools/hotplug/Linux/vif-common.sh
>> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>> =A0 =A0 : ${INTERFACE:?}
>>
>> =A0 =A0 # Get xenbus_path from device name.
>> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>> - =A0 =A0dev_=3D${dev#tap}
>> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>> + =A0 =A0dev_=3D${dev#vif}
>> + =A0 =A0dev_=3D${dev_%-emu}
>> =A0 =A0 domid=3D${dev_%.*}
>> =A0 =A0 devid=3D${dev_#*.}
>>
>> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
>> + =A0 =A0if [ "$vifname" ]
>> + =A0 =A0then
>> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifn=
ame" >&/dev/null
>> + =A0 =A0 =A0 =A0then
>> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>> + =A0 =A0 =A0 =A0fi
>> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>> + =A0 =A0fi
>> =A0fi
>>
>> =A0ip=3D${ip:-}
>> diff --git a/tools/hotplug/Linux/xen-backend.rules
>> b/tools/hotplug/Linux/xen-backend.rules
>> index 40f2658..405387f 100644
>> --- a/tools/hotplug/Linux/xen-backend.rules
>> +++ b/tools/hotplug/Linux/xen-backend.rules
>> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=3D"0=
600"
>> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>> index 1ffcc90..2c030ca 100644
>> --- a/tools/libxl/libxl_dm.c
>> +++ b/tools/libxl/libxl_dm.c
>> @@ -134,11 +134,9 @@ static char **
>> libxl_build_device_model_args_old(libxl__gc *gc,
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> "%02x:%02x:%02x:%02x:%02x:%02x",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
>> vifs[i].mac[1], vifs[i].mac[2],
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
>> vifs[i].mac[4], vifs[i].mac[5]);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "=
tap%d.%d",
>> info->domid, vifs[i].devid);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(g=
c, "vif%d.%d-emu",
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-net", =
libxl__sprintf(gc,
>> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>> smac, vifs[i].model),
>> @@ -271,12 +269,9 @@ static char **
>> libxl_build_device_model_args_new(libxl__gc *gc,
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> "%02x:%02x:%02x:%02x:%02x:%02x",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
>> vifs[i].mac[1], vifs[i].mac[2],
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
>> vifs[i].mac[4], vifs[i].mac[5]);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "=
tap%d.%d",
>> info->domid, vifs[i].devid);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(g=
c, "vif%d.%d-emu",
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__sprintf=
(gc,
>> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devid, s=
mac, vifs[i].model));
>> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/imag=
e.py
>> index f1464ac..3c8d80c 100644
>> --- a/tools/python/xen/xend/image.py
>> +++ b/tools/python/xen/xend/image.py
>> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=3D%=
s" %
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>> - =A0 =A0 =A0 =A0 =A0 =A0else:
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.getDo=
mid(), nics-1)
>> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDomid(=
), nics-1)
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%=
s" %
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridge))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 22:01:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 22:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STKMi-0002vA-CR; Sat, 12 May 2012 22:00:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1STKMh-0002v5-4L
	for xen-devel@lists.xen.org; Sat, 12 May 2012 22:00:39 +0000
Received: from [85.158.143.99:46536] by server-1.bemta-4.messagelabs.com id
	19/54-20925-68DDEAF4; Sat, 12 May 2012 22:00:38 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336860034!20685030!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24864 invoked from network); 12 May 2012 22:00:36 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 22:00:36 -0000
Received: by pbbro12 with SMTP id ro12so4937138pbb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 15:00:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BJbt5+WNAb8xWXViFbednmuMXoU8lyhmbyfT3VDttE4=;
	b=y+J0WVQmw9LJ4Q9P40SE9YjdsC8E5j+FZvqIKop4FKQ8JKjQIkkkWxYy5h4Oocgd+8
	Av2rrLFX3S7YGE1JnZ4nGewFBmtGXTQxj4DoUd4URohztzfFE+twiGWNfWoxJZ+VFF5P
	Dg7h6O4E3C0g+YTb6VfvnZtF1JYFLpctf9DU0P9v5npi5ldRB+wC920MbFhj3uVteeLI
	toHztHcAylOlYdmpL5HL1RthKhxZM2+6tL0OZtuMqoyA2w+j4IJjz69g/S/AsmVmB1CV
	W1pRsF1v5z39a7bkMxO+4C5KvJTn5gmOtJ8XyzVlT7JjEXiwCNmR80PDmfBQr2W+nVAp
	QHBA==
MIME-Version: 1.0
Received: by 10.68.242.33 with SMTP id wn1mr7904182pbc.167.1336860034054; Sat,
	12 May 2012 15:00:34 -0700 (PDT)
Received: by 10.68.189.133 with HTTP; Sat, 12 May 2012 15:00:33 -0700 (PDT)
In-Reply-To: <CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
Date: Sun, 13 May 2012 06:00:33 +0800
Message-ID: <CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
> <giamteckchoon@gmail.com> wrote:
>> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com=
> wrote:
>>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering=
 with openvpn"):
>>>> libxl/xend: name tap devices vifX.Y-emu
>>>
>>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>>
>> This is my backport version which excludes the following:
>>
>> Lastly also move libxl__device_* to a better place in the header, otherw=
ise the
>> comment about evgen stuff isn't next to the associated functions (notice=
d jsut
>> because I was going to add nic_devname near to the setdefault functions)
>>
>> I have tested with xm and xl with and without vifname set in domU
>> config for hvmdomain and pvdomain.
>
> Sorry, when re-test one of the test case failed... xm create hvmdomain
> with vifname set. =A0I must have missed certain test case :(

The same test case failed for xen unstable latest changeset 25326:cd4dd23a8=
31d.

My tests as below:

1. xm create pvdomain without vifname set
2. xl create pvdomain without vifname set
3. xm create hvmdomain without vifname set
4. xl create hvmdomain without vifname set
5. xm create pvdomain with vifname set
6. xl create pvdomain with vifname set
7. xm create hvmdomain with vifname set
8. xl create hvmdomain with vifname set

Thanks.

Kindest regards,


>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>
>> For your review and comments please.
>>
>> Thanks.
>>
>> Kindest regards,
>> Giam Teck Choon
>>
>>
>>
>>
>> libxl/xend: name tap devices vifX.Y-emu
>>
>> This prevents the udev scripts from operating on other tap devices (e.g.
>> openvpn etc)
>>
>> Correct the documentation for the "vifname" option which suggested it ap=
plied
>> to HVM tap devices only, which is not the case.
>>
>> Reported by Michael Young.
>>
>> Also fix the use of vifname with emulated devices. This is slightly comp=
lex.
>> The current hotplug scripts rely on being able to parse the "tapX.Y" (now
>> "vifX.Y-emu") name in order to locate the xenstore backend dir relating =
to the
>> corresponding vif. This is because we cannot inject our own environment =
vars
>> into the tap hotplug events. However this means that if the tap is initi=
ally
>> named with a user specified name (which will not match the expected sche=
me) we
>> fail to do anything useful with the device. So now we create the initial=
 tap
>> device with the standard "vifX.Y-emu" name and the hotplug script will h=
andle
>> the rename to the desired name. This is also how PV vif devices work -- =
they
>> are always created by netback with the name vifX.Y and renamed in the sc=
ript.
>>
>> xen-unstable changeset: 25290:7a6dcecb1781
>> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>> ---
>> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
>> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++++++=
-----------
>> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>> =A04 files changed, 21 insertions(+), 19 deletions(-)
>>
>> diff --git a/tools/hotplug/Linux/vif-common.sh
>> b/tools/hotplug/Linux/vif-common.sh
>> index c9c5d41..fff22bb 100644
>> --- a/tools/hotplug/Linux/vif-common.sh
>> +++ b/tools/hotplug/Linux/vif-common.sh
>> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>> =A0 =A0 : ${INTERFACE:?}
>>
>> =A0 =A0 # Get xenbus_path from device name.
>> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>> - =A0 =A0dev_=3D${dev#tap}
>> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>> + =A0 =A0dev_=3D${dev#vif}
>> + =A0 =A0dev_=3D${dev_%-emu}
>> =A0 =A0 domid=3D${dev_%.*}
>> =A0 =A0 devid=3D${dev_#*.}
>>
>> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
>> + =A0 =A0if [ "$vifname" ]
>> + =A0 =A0then
>> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifn=
ame" >&/dev/null
>> + =A0 =A0 =A0 =A0then
>> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>> + =A0 =A0 =A0 =A0fi
>> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>> + =A0 =A0fi
>> =A0fi
>>
>> =A0ip=3D${ip:-}
>> diff --git a/tools/hotplug/Linux/xen-backend.rules
>> b/tools/hotplug/Linux/xen-backend.rules
>> index 40f2658..405387f 100644
>> --- a/tools/hotplug/Linux/xen-backend.rules
>> +++ b/tools/hotplug/Linux/xen-backend.rules
>> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=3D"0=
600"
>> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>> index 1ffcc90..2c030ca 100644
>> --- a/tools/libxl/libxl_dm.c
>> +++ b/tools/libxl/libxl_dm.c
>> @@ -134,11 +134,9 @@ static char **
>> libxl_build_device_model_args_old(libxl__gc *gc,
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> "%02x:%02x:%02x:%02x:%02x:%02x",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
>> vifs[i].mac[1], vifs[i].mac[2],
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
>> vifs[i].mac[4], vifs[i].mac[5]);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "=
tap%d.%d",
>> info->domid, vifs[i].devid);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(g=
c, "vif%d.%d-emu",
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-net", =
libxl__sprintf(gc,
>> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>> smac, vifs[i].model),
>> @@ -271,12 +269,9 @@ static char **
>> libxl_build_device_model_args_new(libxl__gc *gc,
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> "%02x:%02x:%02x:%02x:%02x:%02x",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[0],
>> vifs[i].mac[1], vifs[i].mac[2],
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0vifs[i].mac[3],
>> vifs[i].mac[4], vifs[i].mac[5]);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc, "=
tap%d.%d",
>> info->domid, vifs[i].devid);
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprintf(g=
c, "vif%d.%d-emu",
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__sprintf=
(gc,
>> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devid, s=
mac, vifs[i].model));
>> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/imag=
e.py
>> index f1464ac..3c8d80c 100644
>> --- a/tools/python/xen/xend/image.py
>> +++ b/tools/python/xen/xend/image.py
>> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=3D%=
s" %
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>> - =A0 =A0 =A0 =A0 =A0 =A0else:
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.getDo=
mid(), nics-1)
>> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDomid(=
), nics-1)
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%=
s" %
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridge))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 22:31:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 22:31:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STKpl-0003D2-Tj; Sat, 12 May 2012 22:30:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STKpk-0003Cx-6n
	for xen-devel@lists.xen.org; Sat, 12 May 2012 22:30:40 +0000
Received: from [85.158.138.51:59708] by server-8.bemta-3.messagelabs.com id
	46/4B-24428-F84EEAF4; Sat, 12 May 2012 22:30:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336861838!18696697!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODc4Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8616 invoked from network); 12 May 2012 22:30:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 22:30:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,577,1330905600"; d="scan'208";a="12442322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 22:30:38 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sat, 12 May 2012 23:30:38 +0100
Message-ID: <1336861837.3891.29.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Sat, 12 May 2012 23:30:37 +0100
In-Reply-To: <CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
> <giamteckchoon@gmail.com> wrote:
> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
> > <giamteckchoon@gmail.com> wrote:
> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
> >>>> libxl/xend: name tap devices vifX.Y-emu
> >>>
> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
> >>
> >> This is my backport version which excludes the following:
> >>
> >> Lastly also move libxl__device_* to a better place in the header, otherwise the
> >> comment about evgen stuff isn't next to the associated functions (noticed jsut
> >> because I was going to add nic_devname near to the setdefault functions)
> >>
> >> I have tested with xm and xl with and without vifname set in domU
> >> config for hvmdomain and pvdomain.
> >
> > Sorry, when re-test one of the test case failed... xm create hvmdomain
> > with vifname set.  I must have missed certain test case :(
> 
> The same test case failed for xen unstable latest changeset 25326:cd4dd23a831d.

Oh dear.

> My tests as below:

Which ones fail?

> 1. xm create pvdomain without vifname set
> 2. xl create pvdomain without vifname set
> 3. xm create hvmdomain without vifname set
> 4. xl create hvmdomain without vifname set
> 5. xm create pvdomain with vifname set
> 6. xl create pvdomain with vifname set
> 7. xm create hvmdomain with vifname set
> 8. xl create hvmdomain with vifname set
> 
> Thanks.
> 
> Kindest regards,
> 
> 
> >
> > Kindest regards,
> > Giam Teck Choon
> >
> >
> >
> >>
> >> For your review and comments please.
> >>
> >> Thanks.
> >>
> >> Kindest regards,
> >> Giam Teck Choon
> >>
> >>
> >>
> >>
> >> libxl/xend: name tap devices vifX.Y-emu
> >>
> >> This prevents the udev scripts from operating on other tap devices (e.g.
> >> openvpn etc)
> >>
> >> Correct the documentation for the "vifname" option which suggested it applied
> >> to HVM tap devices only, which is not the case.
> >>
> >> Reported by Michael Young.
> >>
> >> Also fix the use of vifname with emulated devices. This is slightly complex.
> >> The current hotplug scripts rely on being able to parse the "tapX.Y" (now
> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relating to the
> >> corresponding vif. This is because we cannot inject our own environment vars
> >> into the tap hotplug events. However this means that if the tap is initially
> >> named with a user specified name (which will not match the expected scheme) we
> >> fail to do anything useful with the device. So now we create the initial tap
> >> device with the standard "vifX.Y-emu" name and the hotplug script will handle
> >> the rename to the desired name. This is also how PV vif devices work -- they
> >> are always created by netback with the name vifX.Y and renamed in the script.
> >>
> >> xen-unstable changeset: 25290:7a6dcecb1781
> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
> >> ---
> >>  tools/hotplug/Linux/vif-common.sh     |   15 +++++++++++++--
> >>  tools/hotplug/Linux/xen-backend.rules |    2 +-
> >>  tools/libxl/libxl_dm.c                |   17 ++++++-----------
> >>  tools/python/xen/xend/image.py        |    6 +-----
> >>  4 files changed, 21 insertions(+), 19 deletions(-)
> >>
> >> diff --git a/tools/hotplug/Linux/vif-common.sh
> >> b/tools/hotplug/Linux/vif-common.sh
> >> index c9c5d41..fff22bb 100644
> >> --- a/tools/hotplug/Linux/vif-common.sh
> >> +++ b/tools/hotplug/Linux/vif-common.sh
> >> @@ -85,12 +85,23 @@ elif [ "$type_if" = tap ]; then
> >>     : ${INTERFACE:?}
> >>
> >>     # Get xenbus_path from device name.
> >> -    # The name is built like that: "tap${domid}.${devid}".
> >> -    dev_=${dev#tap}
> >> +    # The name is built like that: "vif${domid}.${devid}-emu".
> >> +    dev_=${dev#vif}
> >> +    dev_=${dev_%-emu}
> >>     domid=${dev_%.*}
> >>     devid=${dev_#*.}
> >>
> >>     XENBUS_PATH="/local/domain/0/backend/vif/$domid/$devid"
> >> +    vifname=$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> >> +    if [ "$vifname" ]
> >> +    then
> >> +        vifname="${vifname}-emu"
> >> +        if [ "$command" == "add" ] && ! ip link show "$vifname" >&/dev/null
> >> +        then
> >> +            do_or_die ip link set "$dev" name "$vifname"
> >> +        fi
> >> +        dev="$vifname"
> >> +    fi
> >>  fi
> >>
> >>  ip=${ip:-}
> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
> >> b/tools/hotplug/Linux/xen-backend.rules
> >> index 40f2658..405387f 100644
> >> --- a/tools/hotplug/Linux/xen-backend.rules
> >> +++ b/tools/hotplug/Linux/xen-backend.rules
> >> @@ -13,4 +13,4 @@ KERNEL=="blktap-control",
> >> NAME="xen/blktap-2/control", MODE="0600"
> >>  KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
> >>  KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
> >>  KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
> >> -SUBSYSTEM=="net", KERNEL=="tap*", ACTION=="add",
> >> RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
> >> +SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add",
> >> RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> >> index 1ffcc90..2c030ca 100644
> >> --- a/tools/libxl/libxl_dm.c
> >> +++ b/tools/libxl/libxl_dm.c
> >> @@ -134,11 +134,9 @@ static char **
> >> libxl_build_device_model_args_old(libxl__gc *gc,
> >>                 char *smac = libxl__sprintf(gc,
> >> "%02x:%02x:%02x:%02x:%02x:%02x",
> >>                                            vifs[i].mac[0],
> >> vifs[i].mac[1], vifs[i].mac[2],
> >>                                            vifs[i].mac[3],
> >> vifs[i].mac[4], vifs[i].mac[5]);
> >> -                char *ifname;
> >> -                if (!vifs[i].ifname)
> >> -                    ifname = libxl__sprintf(gc, "tap%d.%d",
> >> info->domid, vifs[i].devid);
> >> -                else
> >> -                    ifname = vifs[i].ifname;
> >> +                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
> >> +                                                    info->domid,
> >> +                                                    vifs[i].devid);
> >>                 flexarray_vappend(dm_args,
> >>                                 "-net", libxl__sprintf(gc,
> >> "nic,vlan=%d,macaddr=%s,model=%s",
> >>                                                        vifs[i].devid,
> >> smac, vifs[i].model),
> >> @@ -271,12 +269,9 @@ static char **
> >> libxl_build_device_model_args_new(libxl__gc *gc,
> >>                 char *smac = libxl__sprintf(gc,
> >> "%02x:%02x:%02x:%02x:%02x:%02x",
> >>                                            vifs[i].mac[0],
> >> vifs[i].mac[1], vifs[i].mac[2],
> >>                                            vifs[i].mac[3],
> >> vifs[i].mac[4], vifs[i].mac[5]);
> >> -                char *ifname;
> >> -                if (!vifs[i].ifname) {
> >> -                    ifname = libxl__sprintf(gc, "tap%d.%d",
> >> info->domid, vifs[i].devid);
> >> -                } else {
> >> -                    ifname = vifs[i].ifname;
> >> -                }
> >> +                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
> >> +                                                    info->domid,
> >> +                                                    vifs[i].devid);
> >>                 flexarray_append(dm_args, "-net");
> >>                 flexarray_append(dm_args, libxl__sprintf(gc,
> >> "nic,vlan=%d,macaddr=%s,model=%s",
> >>                             vifs[i].devid, smac, vifs[i].model));
> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py
> >> index f1464ac..3c8d80c 100644
> >> --- a/tools/python/xen/xend/image.py
> >> +++ b/tools/python/xen/xend/image.py
> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
> >>             ret.append("-net")
> >>             ret.append("nic,vlan=%d,macaddr=%s,model=%s" %
> >>                        (nics, mac, model))
> >> -            vifname = devinfo.get('vifname')
> >> -            if vifname:
> >> -                vifname = "tap-" + vifname
> >> -            else:
> >> -                vifname = "tap%d.%d" % (self.vm.getDomid(), nics-1)
> >> +            vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
> >>             ret.append("-net")
> >>             ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
> >>                        (nics, vifname, bridge))



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 22:31:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 22:31:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STKpl-0003D2-Tj; Sat, 12 May 2012 22:30:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STKpk-0003Cx-6n
	for xen-devel@lists.xen.org; Sat, 12 May 2012 22:30:40 +0000
Received: from [85.158.138.51:59708] by server-8.bemta-3.messagelabs.com id
	46/4B-24428-F84EEAF4; Sat, 12 May 2012 22:30:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1336861838!18696697!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODc4Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8616 invoked from network); 12 May 2012 22:30:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 22:30:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,577,1330905600"; d="scan'208";a="12442322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	12 May 2012 22:30:38 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Sat, 12 May 2012 23:30:38 +0100
Message-ID: <1336861837.3891.29.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Sat, 12 May 2012 23:30:37 +0100
In-Reply-To: <CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
> <giamteckchoon@gmail.com> wrote:
> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
> > <giamteckchoon@gmail.com> wrote:
> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
> >>>> libxl/xend: name tap devices vifX.Y-emu
> >>>
> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
> >>
> >> This is my backport version which excludes the following:
> >>
> >> Lastly also move libxl__device_* to a better place in the header, otherwise the
> >> comment about evgen stuff isn't next to the associated functions (noticed jsut
> >> because I was going to add nic_devname near to the setdefault functions)
> >>
> >> I have tested with xm and xl with and without vifname set in domU
> >> config for hvmdomain and pvdomain.
> >
> > Sorry, when re-test one of the test case failed... xm create hvmdomain
> > with vifname set.  I must have missed certain test case :(
> 
> The same test case failed for xen unstable latest changeset 25326:cd4dd23a831d.

Oh dear.

> My tests as below:

Which ones fail?

> 1. xm create pvdomain without vifname set
> 2. xl create pvdomain without vifname set
> 3. xm create hvmdomain without vifname set
> 4. xl create hvmdomain without vifname set
> 5. xm create pvdomain with vifname set
> 6. xl create pvdomain with vifname set
> 7. xm create hvmdomain with vifname set
> 8. xl create hvmdomain with vifname set
> 
> Thanks.
> 
> Kindest regards,
> 
> 
> >
> > Kindest regards,
> > Giam Teck Choon
> >
> >
> >
> >>
> >> For your review and comments please.
> >>
> >> Thanks.
> >>
> >> Kindest regards,
> >> Giam Teck Choon
> >>
> >>
> >>
> >>
> >> libxl/xend: name tap devices vifX.Y-emu
> >>
> >> This prevents the udev scripts from operating on other tap devices (e.g.
> >> openvpn etc)
> >>
> >> Correct the documentation for the "vifname" option which suggested it applied
> >> to HVM tap devices only, which is not the case.
> >>
> >> Reported by Michael Young.
> >>
> >> Also fix the use of vifname with emulated devices. This is slightly complex.
> >> The current hotplug scripts rely on being able to parse the "tapX.Y" (now
> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relating to the
> >> corresponding vif. This is because we cannot inject our own environment vars
> >> into the tap hotplug events. However this means that if the tap is initially
> >> named with a user specified name (which will not match the expected scheme) we
> >> fail to do anything useful with the device. So now we create the initial tap
> >> device with the standard "vifX.Y-emu" name and the hotplug script will handle
> >> the rename to the desired name. This is also how PV vif devices work -- they
> >> are always created by netback with the name vifX.Y and renamed in the script.
> >>
> >> xen-unstable changeset: 25290:7a6dcecb1781
> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
> >> ---
> >>  tools/hotplug/Linux/vif-common.sh     |   15 +++++++++++++--
> >>  tools/hotplug/Linux/xen-backend.rules |    2 +-
> >>  tools/libxl/libxl_dm.c                |   17 ++++++-----------
> >>  tools/python/xen/xend/image.py        |    6 +-----
> >>  4 files changed, 21 insertions(+), 19 deletions(-)
> >>
> >> diff --git a/tools/hotplug/Linux/vif-common.sh
> >> b/tools/hotplug/Linux/vif-common.sh
> >> index c9c5d41..fff22bb 100644
> >> --- a/tools/hotplug/Linux/vif-common.sh
> >> +++ b/tools/hotplug/Linux/vif-common.sh
> >> @@ -85,12 +85,23 @@ elif [ "$type_if" = tap ]; then
> >>     : ${INTERFACE:?}
> >>
> >>     # Get xenbus_path from device name.
> >> -    # The name is built like that: "tap${domid}.${devid}".
> >> -    dev_=${dev#tap}
> >> +    # The name is built like that: "vif${domid}.${devid}-emu".
> >> +    dev_=${dev#vif}
> >> +    dev_=${dev_%-emu}
> >>     domid=${dev_%.*}
> >>     devid=${dev_#*.}
> >>
> >>     XENBUS_PATH="/local/domain/0/backend/vif/$domid/$devid"
> >> +    vifname=$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> >> +    if [ "$vifname" ]
> >> +    then
> >> +        vifname="${vifname}-emu"
> >> +        if [ "$command" == "add" ] && ! ip link show "$vifname" >&/dev/null
> >> +        then
> >> +            do_or_die ip link set "$dev" name "$vifname"
> >> +        fi
> >> +        dev="$vifname"
> >> +    fi
> >>  fi
> >>
> >>  ip=${ip:-}
> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
> >> b/tools/hotplug/Linux/xen-backend.rules
> >> index 40f2658..405387f 100644
> >> --- a/tools/hotplug/Linux/xen-backend.rules
> >> +++ b/tools/hotplug/Linux/xen-backend.rules
> >> @@ -13,4 +13,4 @@ KERNEL=="blktap-control",
> >> NAME="xen/blktap-2/control", MODE="0600"
> >>  KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
> >>  KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
> >>  KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
> >> -SUBSYSTEM=="net", KERNEL=="tap*", ACTION=="add",
> >> RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
> >> +SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add",
> >> RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> >> index 1ffcc90..2c030ca 100644
> >> --- a/tools/libxl/libxl_dm.c
> >> +++ b/tools/libxl/libxl_dm.c
> >> @@ -134,11 +134,9 @@ static char **
> >> libxl_build_device_model_args_old(libxl__gc *gc,
> >>                 char *smac = libxl__sprintf(gc,
> >> "%02x:%02x:%02x:%02x:%02x:%02x",
> >>                                            vifs[i].mac[0],
> >> vifs[i].mac[1], vifs[i].mac[2],
> >>                                            vifs[i].mac[3],
> >> vifs[i].mac[4], vifs[i].mac[5]);
> >> -                char *ifname;
> >> -                if (!vifs[i].ifname)
> >> -                    ifname = libxl__sprintf(gc, "tap%d.%d",
> >> info->domid, vifs[i].devid);
> >> -                else
> >> -                    ifname = vifs[i].ifname;
> >> +                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
> >> +                                                    info->domid,
> >> +                                                    vifs[i].devid);
> >>                 flexarray_vappend(dm_args,
> >>                                 "-net", libxl__sprintf(gc,
> >> "nic,vlan=%d,macaddr=%s,model=%s",
> >>                                                        vifs[i].devid,
> >> smac, vifs[i].model),
> >> @@ -271,12 +269,9 @@ static char **
> >> libxl_build_device_model_args_new(libxl__gc *gc,
> >>                 char *smac = libxl__sprintf(gc,
> >> "%02x:%02x:%02x:%02x:%02x:%02x",
> >>                                            vifs[i].mac[0],
> >> vifs[i].mac[1], vifs[i].mac[2],
> >>                                            vifs[i].mac[3],
> >> vifs[i].mac[4], vifs[i].mac[5]);
> >> -                char *ifname;
> >> -                if (!vifs[i].ifname) {
> >> -                    ifname = libxl__sprintf(gc, "tap%d.%d",
> >> info->domid, vifs[i].devid);
> >> -                } else {
> >> -                    ifname = vifs[i].ifname;
> >> -                }
> >> +                const char *ifname = libxl__sprintf(gc, "vif%d.%d-emu",
> >> +                                                    info->domid,
> >> +                                                    vifs[i].devid);
> >>                 flexarray_append(dm_args, "-net");
> >>                 flexarray_append(dm_args, libxl__sprintf(gc,
> >> "nic,vlan=%d,macaddr=%s,model=%s",
> >>                             vifs[i].devid, smac, vifs[i].model));
> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py
> >> index f1464ac..3c8d80c 100644
> >> --- a/tools/python/xen/xend/image.py
> >> +++ b/tools/python/xen/xend/image.py
> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
> >>             ret.append("-net")
> >>             ret.append("nic,vlan=%d,macaddr=%s,model=%s" %
> >>                        (nics, mac, model))
> >> -            vifname = devinfo.get('vifname')
> >> -            if vifname:
> >> -                vifname = "tap-" + vifname
> >> -            else:
> >> -                vifname = "tap%d.%d" % (self.vm.getDomid(), nics-1)
> >> +            vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
> >>             ret.append("-net")
> >>             ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
> >>                        (nics, vifname, bridge))



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 23:14:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 23:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STLVk-0003x0-VZ; Sat, 12 May 2012 23:14:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jrnieder@gmail.com>) id 1STLVj-0003wv-TQ
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 23:14:04 +0000
Received: from [85.158.143.99:24507] by server-2.bemta-4.messagelabs.com id
	10/1D-17550-BBEEEAF4; Sat, 12 May 2012 23:14:03 +0000
X-Env-Sender: jrnieder@gmail.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336864440!27694653!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15432 invoked from network); 12 May 2012 23:14:02 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 23:14:02 -0000
Received: by yhkk6 with SMTP id k6so4613356yhk.30
	for <xen-devel@lists.xensource.com>;
	Sat, 12 May 2012 16:14:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent;
	bh=a2T93G/TMKZdKa2Zafiq+eQbtW7dTlSGr4wYvO4J4yM=;
	b=A4yp/V+snTpn1QGeIqSD/s6JXqgzKL93u/rbQjHZDe2mIB8Z+X/JzRAh0HJt54cJ8A
	CDMhEISpFcKraKbPzhI2MxbiAzCU9Bq+lOY9G59kw5Lu+BQlIu4H0Stx9bvBTuhpyX1Z
	YLGGKjlvSSB4qAB3EKjcWlycACm1mo8k20jBpJyUZpfEvy4EprlIeqXhQqyLZEwlubVJ
	WiqjlRKKuqNS7mPXRqMdPzqq43BVuEgHIEFHEgouH/HlCn9X2m6l6naZ7mSlSB01mOoo
	O3K99K6mlfUR3Xuu+7zz3HYDdj4enZh7/cyTLVRIpSVfrBqkCxgdWpQJg/YfWw2KzaYh
	MD6g==
Received: by 10.42.151.130 with SMTP id e2mr1338937icw.37.1336864440117;
	Sat, 12 May 2012 16:14:00 -0700 (PDT)
Received: from burratino (c-24-1-56-9.hsd1.il.comcast.net. [24.1.56.9])
	by mx.google.com with ESMTPS id vw8sm6835983igb.5.2012.05.12.16.13.58
	(version=SSLv3 cipher=OTHER); Sat, 12 May 2012 16:13:59 -0700 (PDT)
Date: Sat, 12 May 2012 18:13:49 -0500
From: Jonathan Nieder <jrnieder@gmail.com>
To: "Tian, Kevin" <kevin.tian@intel.com>
Message-ID: <20120512231349.GA17443@burratino>
References: <625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E3@shsmsx502.ccr.corp.intel.com>
	<20110829041532.GA22087@elie.gateway.2wire.net>
	<625BA99ED14B2D499DC4E29D8138F15063048B864D@shsmsx502.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <625BA99ED14B2D499DC4E29D8138F15063048B864D@shsmsx502.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Robert Scott <bugs@humanleg.org.uk>, "hpa@zytor.com" <hpa@zytor.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>,
	Andreas Wallberg <andreas.wallberg@gmail.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	Fengzhe Zhang <fengzhe.zhang@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>, Lars Boegild Thomsen <lth@cow.dk>
Subject: Re: [Xen-devel] [regression] Ideapad S10-3 does not wake up from
	suspend
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi again,

In September, Kevin Tian wrote:
>> Lars Boegild Thomsen writes[1]:

>>> After update from 2.6 kernel to 3.0 my Idepad S10-3 will not wake up after
>>> sleep.  Back to latest 2.6 kernel works fine.
> > [...]
>>> Upon wakeup, the power light go from slow flashing to on, the battery light
>>> goes from off to on, the hdd light blink once and then everything is dead.
[...]
>>> 983bbf1af0664b78689612b247acb514300f62c7 is the first bad commit
>> [...]
>>> I also tried to go back to HEAD and manually change arch/x86/irq.c revert this
>>> particular commit and it works.
[...]
> fixup_irqs is invoked in suspend path. The only impact this change may
> bring to resume path is the interrupt line state, which is saved later
> in suspend and then restored in resume. w/ above change after resume
> given interrupt line is always masked, while w/o it there may be at least
> one interrupt raising. If this does matter to make your ideapad working,
> I'd think there may have other bugs which are hidden originally, e.g. by
> triggering a reschedule from that interrupt though the handler itself
> does nothing except masking the interrupt line.
>
> So... above commit is not important which can be easily reverted. My
> only concern is whether other severe issues are just hidden.
>
> btw, any serial output you may capture?

Sorry for the slow response.  Result from reporters is:

 - 3.4-rc2 is affected as well
 - this only affects suspend-to-RAM --- suspend-to-disk works fine
 - all five pm_test modes for suspend-to-RAM work fine
 - this netbook doesn't have a serial port.  Netconsole gives:

| [  745.161322] PM: Syncing filesystems ... done.
| [  747.088247] PM: Preparing system for mem sleep
| [  747.187932] Freezing user space processes ... (elapsed 0.01 seconds) done.
| [  747.204325] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
| [  747.220416] PM: Entering mem sleep
| [  747.221085] sd 1:0:0:0: [sda] Synchronizing SCSI cache
| [  747.222247] sd 1:0:0:0: [sda] Stopping disk
| 
| (then nothing)

   Serial console via a USB-to-serial converter gives:

| [  814.016541] PM: Syncing filesystems ... done.
| [  814.018516] PM: Preparing system for mem sleep
| [  814.100393] Freezing user space processes ... (elapsed 0.01 se
|
| before it goes to sleep, and it doesn't output anything on (attempted) wakeup.

 - passing parameters "hpet=disable highres=off nohz=off" helps some
   people if I understand correctly, but I might have misunderstood.[2]

I'd be interested to hear whether the same problem occurs when trying
to suspend from the minimal initramfs environment.  (On systems like
Debian that use initramfs-tools, that means passing the kernel command
line parameter "break=top", booting, loading some appropriate minimal
collection of modules --- maybe none ---, and then running
"echo mem >/sys/power/state".  initramfs-tools(8) has details.)

Hope that helps,
Jonathan

>> [1] http://bugs.debian.org/635575
[2] https://bugzilla.kernel.org/show_bug.cgi?id=41932

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 23:14:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 23:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STLVk-0003x0-VZ; Sat, 12 May 2012 23:14:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jrnieder@gmail.com>) id 1STLVj-0003wv-TQ
	for xen-devel@lists.xensource.com; Sat, 12 May 2012 23:14:04 +0000
Received: from [85.158.143.99:24507] by server-2.bemta-4.messagelabs.com id
	10/1D-17550-BBEEEAF4; Sat, 12 May 2012 23:14:03 +0000
X-Env-Sender: jrnieder@gmail.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336864440!27694653!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15432 invoked from network); 12 May 2012 23:14:02 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 23:14:02 -0000
Received: by yhkk6 with SMTP id k6so4613356yhk.30
	for <xen-devel@lists.xensource.com>;
	Sat, 12 May 2012 16:14:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent;
	bh=a2T93G/TMKZdKa2Zafiq+eQbtW7dTlSGr4wYvO4J4yM=;
	b=A4yp/V+snTpn1QGeIqSD/s6JXqgzKL93u/rbQjHZDe2mIB8Z+X/JzRAh0HJt54cJ8A
	CDMhEISpFcKraKbPzhI2MxbiAzCU9Bq+lOY9G59kw5Lu+BQlIu4H0Stx9bvBTuhpyX1Z
	YLGGKjlvSSB4qAB3EKjcWlycACm1mo8k20jBpJyUZpfEvy4EprlIeqXhQqyLZEwlubVJ
	WiqjlRKKuqNS7mPXRqMdPzqq43BVuEgHIEFHEgouH/HlCn9X2m6l6naZ7mSlSB01mOoo
	O3K99K6mlfUR3Xuu+7zz3HYDdj4enZh7/cyTLVRIpSVfrBqkCxgdWpQJg/YfWw2KzaYh
	MD6g==
Received: by 10.42.151.130 with SMTP id e2mr1338937icw.37.1336864440117;
	Sat, 12 May 2012 16:14:00 -0700 (PDT)
Received: from burratino (c-24-1-56-9.hsd1.il.comcast.net. [24.1.56.9])
	by mx.google.com with ESMTPS id vw8sm6835983igb.5.2012.05.12.16.13.58
	(version=SSLv3 cipher=OTHER); Sat, 12 May 2012 16:13:59 -0700 (PDT)
Date: Sat, 12 May 2012 18:13:49 -0500
From: Jonathan Nieder <jrnieder@gmail.com>
To: "Tian, Kevin" <kevin.tian@intel.com>
Message-ID: <20120512231349.GA17443@burratino>
References: <625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E3@shsmsx502.ccr.corp.intel.com>
	<20110829041532.GA22087@elie.gateway.2wire.net>
	<625BA99ED14B2D499DC4E29D8138F15063048B864D@shsmsx502.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <625BA99ED14B2D499DC4E29D8138F15063048B864D@shsmsx502.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Robert Scott <bugs@humanleg.org.uk>, "hpa@zytor.com" <hpa@zytor.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>,
	Andreas Wallberg <andreas.wallberg@gmail.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	Fengzhe Zhang <fengzhe.zhang@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>, Lars Boegild Thomsen <lth@cow.dk>
Subject: Re: [Xen-devel] [regression] Ideapad S10-3 does not wake up from
	suspend
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi again,

In September, Kevin Tian wrote:
>> Lars Boegild Thomsen writes[1]:

>>> After update from 2.6 kernel to 3.0 my Idepad S10-3 will not wake up after
>>> sleep.  Back to latest 2.6 kernel works fine.
> > [...]
>>> Upon wakeup, the power light go from slow flashing to on, the battery light
>>> goes from off to on, the hdd light blink once and then everything is dead.
[...]
>>> 983bbf1af0664b78689612b247acb514300f62c7 is the first bad commit
>> [...]
>>> I also tried to go back to HEAD and manually change arch/x86/irq.c revert this
>>> particular commit and it works.
[...]
> fixup_irqs is invoked in suspend path. The only impact this change may
> bring to resume path is the interrupt line state, which is saved later
> in suspend and then restored in resume. w/ above change after resume
> given interrupt line is always masked, while w/o it there may be at least
> one interrupt raising. If this does matter to make your ideapad working,
> I'd think there may have other bugs which are hidden originally, e.g. by
> triggering a reschedule from that interrupt though the handler itself
> does nothing except masking the interrupt line.
>
> So... above commit is not important which can be easily reverted. My
> only concern is whether other severe issues are just hidden.
>
> btw, any serial output you may capture?

Sorry for the slow response.  Result from reporters is:

 - 3.4-rc2 is affected as well
 - this only affects suspend-to-RAM --- suspend-to-disk works fine
 - all five pm_test modes for suspend-to-RAM work fine
 - this netbook doesn't have a serial port.  Netconsole gives:

| [  745.161322] PM: Syncing filesystems ... done.
| [  747.088247] PM: Preparing system for mem sleep
| [  747.187932] Freezing user space processes ... (elapsed 0.01 seconds) done.
| [  747.204325] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
| [  747.220416] PM: Entering mem sleep
| [  747.221085] sd 1:0:0:0: [sda] Synchronizing SCSI cache
| [  747.222247] sd 1:0:0:0: [sda] Stopping disk
| 
| (then nothing)

   Serial console via a USB-to-serial converter gives:

| [  814.016541] PM: Syncing filesystems ... done.
| [  814.018516] PM: Preparing system for mem sleep
| [  814.100393] Freezing user space processes ... (elapsed 0.01 se
|
| before it goes to sleep, and it doesn't output anything on (attempted) wakeup.

 - passing parameters "hpet=disable highres=off nohz=off" helps some
   people if I understand correctly, but I might have misunderstood.[2]

I'd be interested to hear whether the same problem occurs when trying
to suspend from the minimal initramfs environment.  (On systems like
Debian that use initramfs-tools, that means passing the kernel command
line parameter "break=top", booting, loading some appropriate minimal
collection of modules --- maybe none ---, and then running
"echo mem >/sys/power/state".  initramfs-tools(8) has details.)

Hope that helps,
Jonathan

>> [1] http://bugs.debian.org/635575
[2] https://bugzilla.kernel.org/show_bug.cgi?id=41932

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 23:38:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 23:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STLss-0004Fq-6q; Sat, 12 May 2012 23:37:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1STLsq-0004Fl-5l
	for xen-devel@lists.xen.org; Sat, 12 May 2012 23:37:56 +0000
Received: from [85.158.143.99:17459] by server-3.bemta-4.messagelabs.com id
	D8/71-05853-354FEAF4; Sat, 12 May 2012 23:37:55 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336865872!26819578!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29636 invoked from network); 12 May 2012 23:37:53 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 23:37:53 -0000
Received: by obbwd20 with SMTP id wd20so6941358obb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 16:37:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BJi47pL8DFT8fbvAK36ij+fe4s2DM9sC96j9MD5CIQE=;
	b=r6ncdxdfIePsd3188soc5qgGzdf8gRV2wK843tZFwl+NhRUdCbPTwP+dktF66PN/0e
	2TnXt5TvqI2IJU8G+mfn3Pp0TznOJ8C4t7/6IPLmkoNlsc7k7n1jAIWADRkS58YtGjw/
	YHS3odoCSGk2Nkevw+v/kG6+fIGvfgFVIgbLChMXbLh8E4gtmV+UQyarPEdZi8bm6mw3
	GK2G5VHFa6C7qsqQCT473nZyZWKGgatiZJDYx71JFUulfh39d9NDcrmp6XQW87JkmExe
	s8bZhFNiVwGM3w4nGgcKcOYHaRtULgFCP0QcmXoKPnrn6jPLEEDb2CfB1wv1QwZ8mmyb
	bMxw==
MIME-Version: 1.0
Received: by 10.60.14.162 with SMTP id q2mr3950837oec.22.1336865872005; Sat,
	12 May 2012 16:37:52 -0700 (PDT)
Received: by 10.182.9.170 with HTTP; Sat, 12 May 2012 16:37:51 -0700 (PDT)
In-Reply-To: <1336861837.3891.29.camel@dagon.hellion.org.uk>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
Date: Sun, 13 May 2012 07:37:51 +0800
Message-ID: <CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>> <giamteckchoon@gmail.com> wrote:
>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>> > <giamteckchoon@gmail.com> wrote:
>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.=
com> wrote:
>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfer=
ing with openvpn"):
>> >>>> libxl/xend: name tap devices vifX.Y-emu
>> >>>
>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>> >>
>> >> This is my backport version which excludes the following:
>> >>
>> >> Lastly also move libxl__device_* to a better place in the header, oth=
erwise the
>> >> comment about evgen stuff isn't next to the associated functions (not=
iced jsut
>> >> because I was going to add nic_devname near to the setdefault functio=
ns)
>> >>
>> >> I have tested with xm and xl with and without vifname set in domU
>> >> config for hvmdomain and pvdomain.
>> >
>> > Sorry, when re-test one of the test case failed... xm create hvmdomain
>> > with vifname set. =A0I must have missed certain test case :(
>>
>> The same test case failed for xen unstable latest changeset 25326:cd4dd2=
3a831d.
>
> Oh dear.
>
>> My tests as below:
>
> Which ones fail?
>
>> 1. xm create pvdomain without vifname set
>> 2. xl create pvdomain without vifname set
>> 3. xm create hvmdomain without vifname set
>> 4. xl create hvmdomain without vifname set
>> 5. xm create pvdomain with vifname set
>> 6. xl create pvdomain with vifname set
>> 7. xm create hvmdomain with vifname set

xm create hvmdomain with vifname set


I track down the problem already.  It happens that xm and xl behave
differently when creating $dev device?

In short, just set $dev down before:
do_or_die ip link set "$dev" name "$vifname"
Then set $vifname up after the above fix my problem.

Is the above suitable in upstream/unstable?  If yes, can you fix that
in xen-unstable or you need me to submit a patch for review for
xen-unstable?

With the below partial of my latest backport patch fix the problem but
I have to re-run all tests to double confirm all are fix and good to
go :p

diff --git a/tools/hotplug/Linux/vif-common.sh
b/tools/hotplug/Linux/vif-common.sh
index c9c5d41..86c0aaa 100644
--- a/tools/hotplug/Linux/vif-common.sh
+++ b/tools/hotplug/Linux/vif-common.sh
@@ -85,12 +85,25 @@ elif [ "$type_if" =3D tap ]; then
     : ${INTERFACE:?}

     # Get xenbus_path from device name.
-    # The name is built like that: "tap${domid}.${devid}".
-    dev_=3D${dev#tap}
+    # The name is built like that: "vif${domid}.${devid}-emu".
+    dev_=3D${dev#vif}
+    dev_=3D${dev_%-emu}
     domid=3D${dev_%.*}
     devid=3D${dev_#*.}

     XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
+    vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
+    if [ "$vifname" ]
+    then
+        vifname=3D"${vifname}-emu"
+        if [ "$command" =3D=3D "add" ] && ! ip link show "$vifname" >&/dev=
/null
+        then
+            ip link set "$dev" down
+            do_or_die ip link set "$dev" name "$vifname"
+            ip link set "$vifname" up
+        fi
+        dev=3D"$vifname"
+    fi
 fi


Thanks.

Kindest regards,
Giam Teck Choon



>> 8. xl create hvmdomain with vifname set
>>
>> Thanks.
>>
>> Kindest regards,
>>
>>
>> >
>> > Kindest regards,
>> > Giam Teck Choon
>> >
>> >
>> >
>> >>
>> >> For your review and comments please.
>> >>
>> >> Thanks.
>> >>
>> >> Kindest regards,
>> >> Giam Teck Choon
>> >>
>> >>
>> >>
>> >>
>> >> libxl/xend: name tap devices vifX.Y-emu
>> >>
>> >> This prevents the udev scripts from operating on other tap devices (e=
.g.
>> >> openvpn etc)
>> >>
>> >> Correct the documentation for the "vifname" option which suggested it=
 applied
>> >> to HVM tap devices only, which is not the case.
>> >>
>> >> Reported by Michael Young.
>> >>
>> >> Also fix the use of vifname with emulated devices. This is slightly c=
omplex.
>> >> The current hotplug scripts rely on being able to parse the "tapX.Y" =
(now
>> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relati=
ng to the
>> >> corresponding vif. This is because we cannot inject our own environme=
nt vars
>> >> into the tap hotplug events. However this means that if the tap is in=
itially
>> >> named with a user specified name (which will not match the expected s=
cheme) we
>> >> fail to do anything useful with the device. So now we create the init=
ial tap
>> >> device with the standard "vifX.Y-emu" name and the hotplug script wil=
l handle
>> >> the rename to the desired name. This is also how PV vif devices work =
-- they
>> >> are always created by netback with the name vifX.Y and renamed in the=
 script.
>> >>
>> >> xen-unstable changeset: 25290:7a6dcecb1781
>> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>> >> ---
>> >> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
>> >> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>> >> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 +++=
+++-----------
>> >> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>> >> =A04 files changed, 21 insertions(+), 19 deletions(-)
>> >>
>> >> diff --git a/tools/hotplug/Linux/vif-common.sh
>> >> b/tools/hotplug/Linux/vif-common.sh
>> >> index c9c5d41..fff22bb 100644
>> >> --- a/tools/hotplug/Linux/vif-common.sh
>> >> +++ b/tools/hotplug/Linux/vif-common.sh
>> >> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>> >> =A0 =A0 : ${INTERFACE:?}
>> >>
>> >> =A0 =A0 # Get xenbus_path from device name.
>> >> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>> >> - =A0 =A0dev_=3D${dev#tap}
>> >> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>> >> + =A0 =A0dev_=3D${dev#vif}
>> >> + =A0 =A0dev_=3D${dev_%-emu}
>> >> =A0 =A0 domid=3D${dev_%.*}
>> >> =A0 =A0 devid=3D${dev_#*.}
>> >>
>> >> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>> >> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
>> >> + =A0 =A0if [ "$vifname" ]
>> >> + =A0 =A0then
>> >> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>> >> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$v=
ifname" >&/dev/null
>> >> + =A0 =A0 =A0 =A0then
>> >> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>> >> + =A0 =A0 =A0 =A0fi
>> >> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>> >> + =A0 =A0fi
>> >> =A0fi
>> >>
>> >> =A0ip=3D${ip:-}
>> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
>> >> b/tools/hotplug/Linux/xen-backend.rules
>> >> index 40f2658..405387f 100644
>> >> --- a/tools/hotplug/Linux/xen-backend.rules
>> >> +++ b/tools/hotplug/Linux/xen-backend.rules
>> >> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>> >> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>> >> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>> >> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>> >> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=
=3D"0600"
>> >> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> >> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>> >> index 1ffcc90..2c030ca 100644
>> >> --- a/tools/libxl/libxl_dm.c
>> >> +++ b/tools/libxl/libxl_dm.c
>> >> @@ -134,11 +134,9 @@ static char **
>> >> libxl_build_device_model_args_old(libxl__gc *gc,
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>> >> vifs[i].mac[1], vifs[i].mac[2],
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>> >> vifs[i].mac[4], vifs[i].mac[5]);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc=
, "tap%d.%d",
>> >> info->domid, vifs[i].devid);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprint=
f(gc, "vif%d.%d-emu",
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-net=
", libxl__sprintf(gc,
>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>> >> smac, vifs[i].model),
>> >> @@ -271,12 +269,9 @@ static char **
>> >> libxl_build_device_model_args_new(libxl__gc *gc,
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>> >> vifs[i].mac[1], vifs[i].mac[2],
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>> >> vifs[i].mac[4], vifs[i].mac[5]);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc=
, "tap%d.%d",
>> >> info->domid, vifs[i].devid);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprint=
f(gc, "vif%d.%d-emu",
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__spri=
ntf(gc,
>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devid=
, smac, vifs[i].model));
>> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/i=
mage.py
>> >> index f1464ac..3c8d80c 100644
>> >> --- a/tools/python/xen/xend/image.py
>> >> +++ b/tools/python/xen/xend/image.py
>> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=
=3D%s" %
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>> >> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>> >> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>> >> - =A0 =A0 =A0 =A0 =A0 =A0else:
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.ge=
tDomid(), nics-1)
>> >> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDom=
id(), nics-1)
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridge=
))
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 12 23:38:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 12 May 2012 23:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STLss-0004Fq-6q; Sat, 12 May 2012 23:37:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1STLsq-0004Fl-5l
	for xen-devel@lists.xen.org; Sat, 12 May 2012 23:37:56 +0000
Received: from [85.158.143.99:17459] by server-3.bemta-4.messagelabs.com id
	D8/71-05853-354FEAF4; Sat, 12 May 2012 23:37:55 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336865872!26819578!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29636 invoked from network); 12 May 2012 23:37:53 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	12 May 2012 23:37:53 -0000
Received: by obbwd20 with SMTP id wd20so6941358obb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 16:37:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=BJi47pL8DFT8fbvAK36ij+fe4s2DM9sC96j9MD5CIQE=;
	b=r6ncdxdfIePsd3188soc5qgGzdf8gRV2wK843tZFwl+NhRUdCbPTwP+dktF66PN/0e
	2TnXt5TvqI2IJU8G+mfn3Pp0TznOJ8C4t7/6IPLmkoNlsc7k7n1jAIWADRkS58YtGjw/
	YHS3odoCSGk2Nkevw+v/kG6+fIGvfgFVIgbLChMXbLh8E4gtmV+UQyarPEdZi8bm6mw3
	GK2G5VHFa6C7qsqQCT473nZyZWKGgatiZJDYx71JFUulfh39d9NDcrmp6XQW87JkmExe
	s8bZhFNiVwGM3w4nGgcKcOYHaRtULgFCP0QcmXoKPnrn6jPLEEDb2CfB1wv1QwZ8mmyb
	bMxw==
MIME-Version: 1.0
Received: by 10.60.14.162 with SMTP id q2mr3950837oec.22.1336865872005; Sat,
	12 May 2012 16:37:52 -0700 (PDT)
Received: by 10.182.9.170 with HTTP; Sat, 12 May 2012 16:37:51 -0700 (PDT)
In-Reply-To: <1336861837.3891.29.camel@dagon.hellion.org.uk>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
Date: Sun, 13 May 2012 07:37:51 +0800
Message-ID: <CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>> <giamteckchoon@gmail.com> wrote:
>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>> > <giamteckchoon@gmail.com> wrote:
>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.=
com> wrote:
>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfer=
ing with openvpn"):
>> >>>> libxl/xend: name tap devices vifX.Y-emu
>> >>>
>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>> >>
>> >> This is my backport version which excludes the following:
>> >>
>> >> Lastly also move libxl__device_* to a better place in the header, oth=
erwise the
>> >> comment about evgen stuff isn't next to the associated functions (not=
iced jsut
>> >> because I was going to add nic_devname near to the setdefault functio=
ns)
>> >>
>> >> I have tested with xm and xl with and without vifname set in domU
>> >> config for hvmdomain and pvdomain.
>> >
>> > Sorry, when re-test one of the test case failed... xm create hvmdomain
>> > with vifname set. =A0I must have missed certain test case :(
>>
>> The same test case failed for xen unstable latest changeset 25326:cd4dd2=
3a831d.
>
> Oh dear.
>
>> My tests as below:
>
> Which ones fail?
>
>> 1. xm create pvdomain without vifname set
>> 2. xl create pvdomain without vifname set
>> 3. xm create hvmdomain without vifname set
>> 4. xl create hvmdomain without vifname set
>> 5. xm create pvdomain with vifname set
>> 6. xl create pvdomain with vifname set
>> 7. xm create hvmdomain with vifname set

xm create hvmdomain with vifname set


I track down the problem already.  It happens that xm and xl behave
differently when creating $dev device?

In short, just set $dev down before:
do_or_die ip link set "$dev" name "$vifname"
Then set $vifname up after the above fix my problem.

Is the above suitable in upstream/unstable?  If yes, can you fix that
in xen-unstable or you need me to submit a patch for review for
xen-unstable?

With the below partial of my latest backport patch fix the problem but
I have to re-run all tests to double confirm all are fix and good to
go :p

diff --git a/tools/hotplug/Linux/vif-common.sh
b/tools/hotplug/Linux/vif-common.sh
index c9c5d41..86c0aaa 100644
--- a/tools/hotplug/Linux/vif-common.sh
+++ b/tools/hotplug/Linux/vif-common.sh
@@ -85,12 +85,25 @@ elif [ "$type_if" =3D tap ]; then
     : ${INTERFACE:?}

     # Get xenbus_path from device name.
-    # The name is built like that: "tap${domid}.${devid}".
-    dev_=3D${dev#tap}
+    # The name is built like that: "vif${domid}.${devid}-emu".
+    dev_=3D${dev#vif}
+    dev_=3D${dev_%-emu}
     domid=3D${dev_%.*}
     devid=3D${dev_#*.}

     XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
+    vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
+    if [ "$vifname" ]
+    then
+        vifname=3D"${vifname}-emu"
+        if [ "$command" =3D=3D "add" ] && ! ip link show "$vifname" >&/dev=
/null
+        then
+            ip link set "$dev" down
+            do_or_die ip link set "$dev" name "$vifname"
+            ip link set "$vifname" up
+        fi
+        dev=3D"$vifname"
+    fi
 fi


Thanks.

Kindest regards,
Giam Teck Choon



>> 8. xl create hvmdomain with vifname set
>>
>> Thanks.
>>
>> Kindest regards,
>>
>>
>> >
>> > Kindest regards,
>> > Giam Teck Choon
>> >
>> >
>> >
>> >>
>> >> For your review and comments please.
>> >>
>> >> Thanks.
>> >>
>> >> Kindest regards,
>> >> Giam Teck Choon
>> >>
>> >>
>> >>
>> >>
>> >> libxl/xend: name tap devices vifX.Y-emu
>> >>
>> >> This prevents the udev scripts from operating on other tap devices (e=
.g.
>> >> openvpn etc)
>> >>
>> >> Correct the documentation for the "vifname" option which suggested it=
 applied
>> >> to HVM tap devices only, which is not the case.
>> >>
>> >> Reported by Michael Young.
>> >>
>> >> Also fix the use of vifname with emulated devices. This is slightly c=
omplex.
>> >> The current hotplug scripts rely on being able to parse the "tapX.Y" =
(now
>> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relati=
ng to the
>> >> corresponding vif. This is because we cannot inject our own environme=
nt vars
>> >> into the tap hotplug events. However this means that if the tap is in=
itially
>> >> named with a user specified name (which will not match the expected s=
cheme) we
>> >> fail to do anything useful with the device. So now we create the init=
ial tap
>> >> device with the standard "vifX.Y-emu" name and the hotplug script wil=
l handle
>> >> the rename to the desired name. This is also how PV vif devices work =
-- they
>> >> are always created by netback with the name vifX.Y and renamed in the=
 script.
>> >>
>> >> xen-unstable changeset: 25290:7a6dcecb1781
>> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>> >> ---
>> >> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
>> >> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>> >> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 +++=
+++-----------
>> >> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>> >> =A04 files changed, 21 insertions(+), 19 deletions(-)
>> >>
>> >> diff --git a/tools/hotplug/Linux/vif-common.sh
>> >> b/tools/hotplug/Linux/vif-common.sh
>> >> index c9c5d41..fff22bb 100644
>> >> --- a/tools/hotplug/Linux/vif-common.sh
>> >> +++ b/tools/hotplug/Linux/vif-common.sh
>> >> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>> >> =A0 =A0 : ${INTERFACE:?}
>> >>
>> >> =A0 =A0 # Get xenbus_path from device name.
>> >> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>> >> - =A0 =A0dev_=3D${dev#tap}
>> >> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>> >> + =A0 =A0dev_=3D${dev#vif}
>> >> + =A0 =A0dev_=3D${dev_%-emu}
>> >> =A0 =A0 domid=3D${dev_%.*}
>> >> =A0 =A0 devid=3D${dev_#*.}
>> >>
>> >> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>> >> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
>> >> + =A0 =A0if [ "$vifname" ]
>> >> + =A0 =A0then
>> >> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>> >> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$v=
ifname" >&/dev/null
>> >> + =A0 =A0 =A0 =A0then
>> >> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>> >> + =A0 =A0 =A0 =A0fi
>> >> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>> >> + =A0 =A0fi
>> >> =A0fi
>> >>
>> >> =A0ip=3D${ip:-}
>> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
>> >> b/tools/hotplug/Linux/xen-backend.rules
>> >> index 40f2658..405387f 100644
>> >> --- a/tools/hotplug/Linux/xen-backend.rules
>> >> +++ b/tools/hotplug/Linux/xen-backend.rules
>> >> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>> >> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>> >> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>> >> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>> >> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=
=3D"0600"
>> >> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> >> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>> >> index 1ffcc90..2c030ca 100644
>> >> --- a/tools/libxl/libxl_dm.c
>> >> +++ b/tools/libxl/libxl_dm.c
>> >> @@ -134,11 +134,9 @@ static char **
>> >> libxl_build_device_model_args_old(libxl__gc *gc,
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>> >> vifs[i].mac[1], vifs[i].mac[2],
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>> >> vifs[i].mac[4], vifs[i].mac[5]);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc=
, "tap%d.%d",
>> >> info->domid, vifs[i].devid);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprint=
f(gc, "vif%d.%d-emu",
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-net=
", libxl__sprintf(gc,
>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>> >> smac, vifs[i].model),
>> >> @@ -271,12 +269,9 @@ static char **
>> >> libxl_build_device_model_args_new(libxl__gc *gc,
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>> >> vifs[i].mac[1], vifs[i].mac[2],
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>> >> vifs[i].mac[4], vifs[i].mac[5]);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(gc=
, "tap%d.%d",
>> >> info->domid, vifs[i].devid);
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprint=
f(gc, "vif%d.%d-emu",
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__spri=
ntf(gc,
>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devid=
, smac, vifs[i].model));
>> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/i=
mage.py
>> >> index f1464ac..3c8d80c 100644
>> >> --- a/tools/python/xen/xend/image.py
>> >> +++ b/tools/python/xen/xend/image.py
>> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=
=3D%s" %
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>> >> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>> >> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>> >> - =A0 =A0 =A0 =A0 =A0 =A0else:
>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.ge=
tDomid(), nics-1)
>> >> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDom=
id(), nics-1)
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridge=
))
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 00:40:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 00:40:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STMqS-00057O-Tw; Sun, 13 May 2012 00:39:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1STMqQ-00057J-AZ
	for xen-devel@lists.xen.org; Sun, 13 May 2012 00:39:30 +0000
Received: from [193.109.254.147:50933] by server-11.bemta-14.messagelabs.com
	id 68/C5-05858-1C20FAF4; Sun, 13 May 2012 00:39:29 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336869566!2140474!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20754 invoked from network); 13 May 2012 00:39:28 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	13 May 2012 00:39:28 -0000
Received: by obbwd20 with SMTP id wd20so7019454obb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 17:39:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=h3k9dsTMBqa+bTLY7GjlCjxS5MeucB5cYGofYcDXDJ0=;
	b=RrXNLw1MzFPxwdl7d/7sfRecn3VkF+4aa3314V9FkJpOeC+6cdeGtCdij9Ep9Cc0XK
	nT+fcvkcGJnU2L0o4m+GzkScfX36zfL5pBD97SoXs3ErjbEJyc9iBItRsvkC7iIY7XAz
	EXtubSN7wUlmp3zE7mkCl3GphASk/IcGMLHZvYH1gt7HgjrwmTIUgJHv242XoWYINGCg
	+eqGr1p4Fr48sp9BvpGN8txUtdfxRokb53m3aEiERCKHb9hxbgp35n52MAhONSq6SuWM
	OQfRr5yWBOnwQ/ctTrPiuL/uiO0oyhRv/O4bYdPPNCsrfUzCAISg31jiWMjIPVtjmmB4
	uKOA==
MIME-Version: 1.0
Received: by 10.182.5.132 with SMTP id s4mr4518342obs.65.1336869566048; Sat,
	12 May 2012 17:39:26 -0700 (PDT)
Received: by 10.182.9.170 with HTTP; Sat, 12 May 2012 17:39:25 -0700 (PDT)
In-Reply-To: <CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
Date: Sun, 13 May 2012 08:39:25 +0800
Message-ID: <CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Content-Type: multipart/mixed; boundary=f46d0447967d98696104bfe033c9
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--f46d0447967d98696104bfe033c9
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>>> <giamteckchoon@gmail.com> wrote:
>>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>>> > <giamteckchoon@gmail.com> wrote:
>>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix=
.com> wrote:
>>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfe=
ring with openvpn"):
>>> >>>> libxl/xend: name tap devices vifX.Y-emu
>>> >>>
>>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>>> >>
>>> >> This is my backport version which excludes the following:
>>> >>
>>> >> Lastly also move libxl__device_* to a better place in the header, ot=
herwise the
>>> >> comment about evgen stuff isn't next to the associated functions (no=
ticed jsut
>>> >> because I was going to add nic_devname near to the setdefault functi=
ons)
>>> >>
>>> >> I have tested with xm and xl with and without vifname set in domU
>>> >> config for hvmdomain and pvdomain.
>>> >
>>> > Sorry, when re-test one of the test case failed... xm create hvmdomai=
n
>>> > with vifname set. =A0I must have missed certain test case :(
>>>
>>> The same test case failed for xen unstable latest changeset 25326:cd4dd=
23a831d.
>>
>> Oh dear.
>>
>>> My tests as below:
>>
>> Which ones fail?
>>
>>> 1. xm create pvdomain without vifname set
>>> 2. xl create pvdomain without vifname set
>>> 3. xm create hvmdomain without vifname set
>>> 4. xl create hvmdomain without vifname set
>>> 5. xm create pvdomain with vifname set
>>> 6. xl create pvdomain with vifname set
>>> 7. xm create hvmdomain with vifname set
>
> xm create hvmdomain with vifname set
>
>
> I track down the problem already. =A0It happens that xm and xl behave
> differently when creating $dev device?
>
> In short, just set $dev down before:
> do_or_die ip link set "$dev" name "$vifname"
> Then set $vifname up after the above fix my problem.
>
> Is the above suitable in upstream/unstable? =A0If yes, can you fix that
> in xen-unstable or you need me to submit a patch for review for
> xen-unstable?
>
> With the below partial of my latest backport patch fix the problem but
> I have to re-run all tests to double confirm all are fix and good to
> go :p

Attached is my final backport for xen-4.1-testing which passed all my
tests as stated below:

1. xm create pvdomain without vifname set
2. xl create pvdomain without vifname set
3. xm create hvmdomain without vifname set
4. xl create hvmdomain without vifname set
5. xm create pvdomain with vifname set
6. xl create pvdomain with vifname set
7. xm create hvmdomain with vifname set
8. xl create hvmdomain with vifname set

My initial backport patch failed for test no. 7 and when I perform
test for all the above in latest xen-unstable it failed in test no. 7
as well.

For review and comments please.

Thanks.

Kindest regards,
Giam Teck Choon


>
> diff --git a/tools/hotplug/Linux/vif-common.sh
> b/tools/hotplug/Linux/vif-common.sh
> index c9c5d41..86c0aaa 100644
> --- a/tools/hotplug/Linux/vif-common.sh
> +++ b/tools/hotplug/Linux/vif-common.sh
> @@ -85,12 +85,25 @@ elif [ "$type_if" =3D tap ]; then
> =A0 =A0 : ${INTERFACE:?}
>
> =A0 =A0 # Get xenbus_path from device name.
> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
> - =A0 =A0dev_=3D${dev#tap}
> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
> + =A0 =A0dev_=3D${dev#vif}
> + =A0 =A0dev_=3D${dev_%-emu}
> =A0 =A0 domid=3D${dev_%.*}
> =A0 =A0 devid=3D${dev_#*.}
>
> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> + =A0 =A0if [ "$vifname" ]
> + =A0 =A0then
> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifna=
me" >&/dev/null
> + =A0 =A0 =A0 =A0then
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$dev" down
> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$vifname" up
> + =A0 =A0 =A0 =A0fi
> + =A0 =A0 =A0 =A0dev=3D"$vifname"
> + =A0 =A0fi
> =A0fi
>
>
> Thanks.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>> 8. xl create hvmdomain with vifname set
>>>
>>> Thanks.
>>>
>>> Kindest regards,
>>>
>>>
>>> >
>>> > Kindest regards,
>>> > Giam Teck Choon
>>> >
>>> >
>>> >
>>> >>
>>> >> For your review and comments please.
>>> >>
>>> >> Thanks.
>>> >>
>>> >> Kindest regards,
>>> >> Giam Teck Choon
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> libxl/xend: name tap devices vifX.Y-emu
>>> >>
>>> >> This prevents the udev scripts from operating on other tap devices (=
e.g.
>>> >> openvpn etc)
>>> >>
>>> >> Correct the documentation for the "vifname" option which suggested i=
t applied
>>> >> to HVM tap devices only, which is not the case.
>>> >>
>>> >> Reported by Michael Young.
>>> >>
>>> >> Also fix the use of vifname with emulated devices. This is slightly =
complex.
>>> >> The current hotplug scripts rely on being able to parse the "tapX.Y"=
 (now
>>> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relat=
ing to the
>>> >> corresponding vif. This is because we cannot inject our own environm=
ent vars
>>> >> into the tap hotplug events. However this means that if the tap is i=
nitially
>>> >> named with a user specified name (which will not match the expected =
scheme) we
>>> >> fail to do anything useful with the device. So now we create the ini=
tial tap
>>> >> device with the standard "vifX.Y-emu" name and the hotplug script wi=
ll handle
>>> >> the rename to the desired name. This is also how PV vif devices work=
 -- they
>>> >> are always created by netback with the name vifX.Y and renamed in th=
e script.
>>> >>
>>> >> xen-unstable changeset: 25290:7a6dcecb1781
>>> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>>> >> ---
>>> >> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++-=
-
>>> >> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>>> >> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++=
++++-----------
>>> >> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>>> >> =A04 files changed, 21 insertions(+), 19 deletions(-)
>>> >>
>>> >> diff --git a/tools/hotplug/Linux/vif-common.sh
>>> >> b/tools/hotplug/Linux/vif-common.sh
>>> >> index c9c5d41..fff22bb 100644
>>> >> --- a/tools/hotplug/Linux/vif-common.sh
>>> >> +++ b/tools/hotplug/Linux/vif-common.sh
>>> >> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>>> >> =A0 =A0 : ${INTERFACE:?}
>>> >>
>>> >> =A0 =A0 # Get xenbus_path from device name.
>>> >> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>>> >> - =A0 =A0dev_=3D${dev#tap}
>>> >> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>>> >> + =A0 =A0dev_=3D${dev#vif}
>>> >> + =A0 =A0dev_=3D${dev_%-emu}
>>> >> =A0 =A0 domid=3D${dev_%.*}
>>> >> =A0 =A0 devid=3D${dev_#*.}
>>> >>
>>> >> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>>> >> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" ""=
)
>>> >> + =A0 =A0if [ "$vifname" ]
>>> >> + =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>>> >> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$=
vifname" >&/dev/null
>>> >> + =A0 =A0 =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname=
"
>>> >> + =A0 =A0 =A0 =A0fi
>>> >> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>>> >> + =A0 =A0fi
>>> >> =A0fi
>>> >>
>>> >> =A0ip=3D${ip:-}
>>> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
>>> >> b/tools/hotplug/Linux/xen-backend.rules
>>> >> index 40f2658..405387f 100644
>>> >> --- a/tools/hotplug/Linux/xen-backend.rules
>>> >> +++ b/tools/hotplug/Linux/xen-backend.rules
>>> >> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>>> >> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=
=3D"0600"
>>> >> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>>> >> index 1ffcc90..2c030ca 100644
>>> >> --- a/tools/libxl/libxl_dm.c
>>> >> +++ b/tools/libxl/libxl_dm.c
>>> >> @@ -134,11 +134,9 @@ static char **
>>> >> libxl_build_device_model_args_old(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-ne=
t", libxl__sprintf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>>> >> smac, vifs[i].model),
>>> >> @@ -271,12 +269,9 @@ static char **
>>> >> libxl_build_device_model_args_new(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__spr=
intf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devi=
d, smac, vifs[i].model));
>>> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/=
image.py
>>> >> index f1464ac..3c8d80c 100644
>>> >> --- a/tools/python/xen/xend/image.py
>>> >> +++ b/tools/python/xen/xend/image.py
>>> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0else:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.g=
etDomid(), nics-1)
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDo=
mid(), nics-1)
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridg=
e))
>>
>>

--f46d0447967d98696104bfe033c9
Content-Type: application/octet-stream; 
	name="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Disposition: attachment; 
	filename="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h25dl3f20

bGlieGwveGVuZDogbmFtZSB0YXAgZGV2aWNlcyB2aWZYLlktZW11CgpUaGlzIHByZXZlbnRzIHRo
ZSB1ZGV2IHNjcmlwdHMgZnJvbSBvcGVyYXRpbmcgb24gb3RoZXIgdGFwIGRldmljZXMgKGUuZy4K
b3BlbnZwbiBldGMpCgpDb3JyZWN0IHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgInZpZm5hbWUi
IG9wdGlvbiB3aGljaCBzdWdnZXN0ZWQgaXQgYXBwbGllZAp0byBIVk0gdGFwIGRldmljZXMgb25s
eSwgd2hpY2ggaXMgbm90IHRoZSBjYXNlLgoKUmVwb3J0ZWQgYnkgTWljaGFlbCBZb3VuZy4KCkFs
c28gZml4IHRoZSB1c2Ugb2YgdmlmbmFtZSB3aXRoIGVtdWxhdGVkIGRldmljZXMuIFRoaXMgaXMg
c2xpZ2h0bHkgY29tcGxleC4KVGhlIGN1cnJlbnQgaG90cGx1ZyBzY3JpcHRzIHJlbHkgb24gYmVp
bmcgYWJsZSB0byBwYXJzZSB0aGUgInRhcFguWSIgKG5vdwoidmlmWC5ZLWVtdSIpIG5hbWUgaW4g
b3JkZXIgdG8gbG9jYXRlIHRoZSB4ZW5zdG9yZSBiYWNrZW5kIGRpciByZWxhdGluZyB0byB0aGUK
Y29ycmVzcG9uZGluZyB2aWYuIFRoaXMgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgaW5qZWN0IG91ciBv
d24gZW52aXJvbm1lbnQgdmFycwppbnRvIHRoZSB0YXAgaG90cGx1ZyBldmVudHMuIEhvd2V2ZXIg
dGhpcyBtZWFucyB0aGF0IGlmIHRoZSB0YXAgaXMgaW5pdGlhbGx5Cm5hbWVkIHdpdGggYSB1c2Vy
IHNwZWNpZmllZCBuYW1lICh3aGljaCB3aWxsIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgc2NoZW1l
KSB3ZQpmYWlsIHRvIGRvIGFueXRoaW5nIHVzZWZ1bCB3aXRoIHRoZSBkZXZpY2UuIFNvIG5vdyB3
ZSBjcmVhdGUgdGhlIGluaXRpYWwgdGFwCmRldmljZSB3aXRoIHRoZSBzdGFuZGFyZCAidmlmWC5Z
LWVtdSIgbmFtZSBhbmQgdGhlIGhvdHBsdWcgc2NyaXB0IHdpbGwgaGFuZGxlCnRoZSByZW5hbWUg
dG8gdGhlIGRlc2lyZWQgbmFtZS4gVGhpcyBpcyBhbHNvIGhvdyBQViB2aWYgZGV2aWNlcyB3b3Jr
IC0tIHRoZXkKYXJlIGFsd2F5cyBjcmVhdGVkIGJ5IG5ldGJhY2sgd2l0aCB0aGUgbmFtZSB2aWZY
LlkgYW5kIHJlbmFtZWQgaW4gdGhlIHNjcmlwdC4KCnhlbi11bnN0YWJsZSBjaGFuZ2VzZXQ6IDI1
MjkwOjdhNmRjZWNiMTc4MQpTaWduZWQtb2ZmLWJ5OiBHaWFtIFRlY2sgQ2hvb24gPGdpYW10ZWNr
Y2hvb25AZ21haWwuY29tPgotLS0KIHRvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaCAg
ICAgfCAgIDE3ICsrKysrKysrKysrKysrKy0tCiB0b29scy9ob3RwbHVnL0xpbnV4L3hlbi1iYWNr
ZW5kLnJ1bGVzIHwgICAgMiArLQogdG9vbHMvbGlieGwvbGlieGxfZG0uYyAgICAgICAgICAgICAg
ICB8ICAgMTcgKysrKysrLS0tLS0tLS0tLS0KIHRvb2xzL3B5dGhvbi94ZW4veGVuZC9pbWFnZS5w
eSAgICAgICAgfCAgICA2ICstLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp
LCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9ob3RwbHVnL0xpbnV4L3ZpZi1j
b21tb24uc2ggYi90b29scy9ob3RwbHVnL0xpbnV4L3ZpZi1jb21tb24uc2gKaW5kZXggYzljNWQ0
MS4uODZjMGFhYSAxMDA2NDQKLS0tIGEvdG9vbHMvaG90cGx1Zy9MaW51eC92aWYtY29tbW9uLnNo
CisrKyBiL3Rvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaApAQCAtODUsMTIgKzg1LDI1
IEBAIGVsaWYgWyAiJHR5cGVfaWYiID0gdGFwIF07IHRoZW4KICAgICA6ICR7SU5URVJGQUNFOj99
CiAKICAgICAjIEdldCB4ZW5idXNfcGF0aCBmcm9tIGRldmljZSBuYW1lLgotICAgICMgVGhlIG5h
bWUgaXMgYnVpbHQgbGlrZSB0aGF0OiAidGFwJHtkb21pZH0uJHtkZXZpZH0iLgotICAgIGRldl89
JHtkZXYjdGFwfQorICAgICMgVGhlIG5hbWUgaXMgYnVpbHQgbGlrZSB0aGF0OiAidmlmJHtkb21p
ZH0uJHtkZXZpZH0tZW11Ii4KKyAgICBkZXZfPSR7ZGV2I3ZpZn0KKyAgICBkZXZfPSR7ZGV2XyUt
ZW11fQogICAgIGRvbWlkPSR7ZGV2XyUuKn0KICAgICBkZXZpZD0ke2Rldl8jKi59CiAKICAgICBY
RU5CVVNfUEFUSD0iL2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmlmLyRkb21pZC8kZGV2aWQiCisg
ICAgdmlmbmFtZT0kKHhlbnN0b3JlX3JlYWRfZGVmYXVsdCAiJFhFTkJVU19QQVRIL3ZpZm5hbWUi
ICIiKQorICAgIGlmIFsgIiR2aWZuYW1lIiBdCisgICAgdGhlbgorICAgICAgICB2aWZuYW1lPSIk
e3ZpZm5hbWV9LWVtdSIKKyAgICAgICAgaWYgWyAiJGNvbW1hbmQiID09ICJhZGQiIF0gJiYgISBp
cCBsaW5rIHNob3cgIiR2aWZuYW1lIiA+Ji9kZXYvbnVsbAorICAgICAgICB0aGVuCisgICAgICAg
ICAgICBpcCBsaW5rIHNldCAiJGRldiIgZG93bgorICAgICAgICAgICAgZG9fb3JfZGllIGlwIGxp
bmsgc2V0ICIkZGV2IiBuYW1lICIkdmlmbmFtZSIKKyAgICAgICAgICAgIGlwIGxpbmsgc2V0ICIk
dmlmbmFtZSIgdXAKKyAgICAgICAgZmkKKyAgICAgICAgZGV2PSIkdmlmbmFtZSIKKyAgICBmaQog
ZmkKIAogaXA9JHtpcDotfQpkaWZmIC0tZ2l0IGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFj
a2VuZC5ydWxlcyBiL3Rvb2xzL2hvdHBsdWcvTGludXgveGVuLWJhY2tlbmQucnVsZXMKaW5kZXgg
NDBmMjY1OC4uNDA1Mzg3ZiAxMDA2NDQKLS0tIGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFj
a2VuZC5ydWxlcworKysgYi90b29scy9ob3RwbHVnL0xpbnV4L3hlbi1iYWNrZW5kLnJ1bGVzCkBA
IC0xMyw0ICsxMyw0IEBAIEtFUk5FTD09ImJsa3RhcC1jb250cm9sIiwgTkFNRT0ieGVuL2Jsa3Rh
cC0yL2NvbnRyb2wiLCBNT0RFPSIwNjAwIgogS0VSTkVMPT0iZ250ZGV2IiwgTkFNRT0ieGVuLyVr
IiwgTU9ERT0iMDYwMCIKIEtFUk5FTD09InBjaV9pb211bCIsIE5BTUU9Inhlbi8layIsIE1PREU9
IjA2MDAiCiBLRVJORUw9PSJ0YXBkZXZbYS16XSoiLCBOQU1FPSJ4ZW4vYmxrdGFwLTIvdGFwZGV2
JW0iLCBNT0RFPSIwNjAwIgotU1VCU1lTVEVNPT0ibmV0IiwgS0VSTkVMPT0idGFwKiIsIEFDVElP
Tj09ImFkZCIsIFJVTis9Ii9ldGMveGVuL3NjcmlwdHMvdmlmLXNldHVwICRlbnZ7QUNUSU9OfSB0
eXBlX2lmPXRhcCIKK1NVQlNZU1RFTT09Im5ldCIsIEtFUk5FTD09InZpZiotZW11IiwgQUNUSU9O
PT0iYWRkIiwgUlVOKz0iL2V0Yy94ZW4vc2NyaXB0cy92aWYtc2V0dXAgJGVudntBQ1RJT059IHR5
cGVfaWY9dGFwIgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xp
YnhsL2xpYnhsX2RtLmMKaW5kZXggMWZmY2M5MC4uMmMwMzBjYSAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCkBAIC0xMzQsMTEg
KzEzNCw5IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX29s
ZChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgIGNoYXIgKnNtYWMgPSBsaWJ4bF9fc3By
aW50ZihnYywgIiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4IiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWZzW2ldLm1hY1swXSwgdmlmc1tpXS5tYWNb
MV0sIHZpZnNbaV0ubWFjWzJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZpZnNbaV0ubWFjWzNdLCB2aWZzW2ldLm1hY1s0XSwgdmlmc1tpXS5tYWNbNV0pOwot
ICAgICAgICAgICAgICAgIGNoYXIgKmlmbmFtZTsKLSAgICAgICAgICAgICAgICBpZiAoIXZpZnNb
aV0uaWZuYW1lKQotICAgICAgICAgICAgICAgICAgICBpZm5hbWUgPSBsaWJ4bF9fc3ByaW50Zihn
YywgInRhcCVkLiVkIiwgaW5mby0+ZG9taWQsIHZpZnNbaV0uZGV2aWQpOwotICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgaWZuYW1lID0gdmlmc1tpXS5pZm5hbWU7Cisg
ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ2
aWYlZC4lZC1lbXUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluZm8tPmRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZpZnNbaV0uZGV2aWQpOwogICAgICAgICAgICAgICAgIGZsZXhh
cnJheV92YXBwZW5kKGRtX2FyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
bmV0IiwgbGlieGxfX3NwcmludGYoZ2MsICJuaWMsdmxhbj0lZCxtYWNhZGRyPSVzLG1vZGVsPSVz
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2aWZzW2ldLmRldmlkLCBzbWFjLCB2aWZzW2ldLm1vZGVsKSwKQEAgLTI3MSwxMiArMjY5LDkg
QEAgc3RhdGljIGNoYXIgKiogbGlieGxfYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxpYnhs
X19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgY2hhciAqc21hYyA9IGxpYnhsX19zcHJpbnRmKGdj
LCAiJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMngiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZpZnNbaV0ubWFjWzBdLCB2aWZzW2ldLm1hY1sxXSwgdmlm
c1tpXS5tYWNbMl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmlmc1tpXS5tYWNbM10sIHZpZnNbaV0ubWFjWzRdLCB2aWZzW2ldLm1hY1s1XSk7Ci0gICAgICAg
ICAgICAgICAgY2hhciAqaWZuYW1lOwotICAgICAgICAgICAgICAgIGlmICghdmlmc1tpXS5pZm5h
bWUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ0
YXAlZC4lZCIsIGluZm8tPmRvbWlkLCB2aWZzW2ldLmRldmlkKTsKLSAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZm5hbWUgPSB2aWZzW2ldLmlmbmFtZTsKLSAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaWZuYW1lID0gbGli
eGxfX3NwcmludGYoZ2MsICJ2aWYlZC4lZC1lbXUiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPmRvbWlkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZnNbaV0uZGV2aWQpOwogICAg
ICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1uZXQiKTsKICAgICAgICAg
ICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIGxpYnhsX19zcHJpbnRmKGdjLCAibmlj
LHZsYW49JWQsbWFjYWRkcj0lcyxtb2RlbD0lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmlmc1tpXS5kZXZpZCwgc21hYywgdmlmc1tpXS5tb2RlbCkpOwpkaWZmIC0tZ2l0IGEvdG9v
bHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdlLnB5IGIvdG9vbHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdl
LnB5CmluZGV4IGYxNDY0YWMuLjNjOGQ4MGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4v
eGVuZC9pbWFnZS5weQorKysgYi90b29scy9weXRob24veGVuL3hlbmQvaW1hZ2UucHkKQEAgLTkx
NywxMSArOTE3LDcgQEAgY2xhc3MgSFZNSW1hZ2VIYW5kbGVyKEltYWdlSGFuZGxlcik6CiAgICAg
ICAgICAgICByZXQuYXBwZW5kKCItbmV0IikKICAgICAgICAgICAgIHJldC5hcHBlbmQoIm5pYyx2
bGFuPSVkLG1hY2FkZHI9JXMsbW9kZWw9JXMiICUKICAgICAgICAgICAgICAgICAgICAgICAgKG5p
Y3MsIG1hYywgbW9kZWwpKQotICAgICAgICAgICAgdmlmbmFtZSA9IGRldmluZm8uZ2V0KCd2aWZu
YW1lJykKLSAgICAgICAgICAgIGlmIHZpZm5hbWU6Ci0gICAgICAgICAgICAgICAgdmlmbmFtZSA9
ICJ0YXAtIiArIHZpZm5hbWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdmlm
bmFtZSA9ICJ0YXAlZC4lZCIgJSAoc2VsZi52bS5nZXREb21pZCgpLCBuaWNzLTEpCisgICAgICAg
ICAgICB2aWZuYW1lID0gInZpZiVkLiVkLWVtdSIgJSAoc2VsZi52bS5nZXREb21pZCgpLCBuaWNz
LTEpCiAgICAgICAgICAgICByZXQuYXBwZW5kKCItbmV0IikKICAgICAgICAgICAgIHJldC5hcHBl
bmQoInRhcCx2bGFuPSVkLGlmbmFtZT0lcyxicmlkZ2U9JXMiICUKICAgICAgICAgICAgICAgICAg
ICAgICAgKG5pY3MsIHZpZm5hbWUsIGJyaWRnZSkpCg==
--f46d0447967d98696104bfe033c9
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--f46d0447967d98696104bfe033c9--


From xen-devel-bounces@lists.xen.org Sun May 13 00:40:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 00:40:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STMqS-00057O-Tw; Sun, 13 May 2012 00:39:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1STMqQ-00057J-AZ
	for xen-devel@lists.xen.org; Sun, 13 May 2012 00:39:30 +0000
Received: from [193.109.254.147:50933] by server-11.bemta-14.messagelabs.com
	id 68/C5-05858-1C20FAF4; Sun, 13 May 2012 00:39:29 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336869566!2140474!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20754 invoked from network); 13 May 2012 00:39:28 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	13 May 2012 00:39:28 -0000
Received: by obbwd20 with SMTP id wd20so7019454obb.32
	for <xen-devel@lists.xen.org>; Sat, 12 May 2012 17:39:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=h3k9dsTMBqa+bTLY7GjlCjxS5MeucB5cYGofYcDXDJ0=;
	b=RrXNLw1MzFPxwdl7d/7sfRecn3VkF+4aa3314V9FkJpOeC+6cdeGtCdij9Ep9Cc0XK
	nT+fcvkcGJnU2L0o4m+GzkScfX36zfL5pBD97SoXs3ErjbEJyc9iBItRsvkC7iIY7XAz
	EXtubSN7wUlmp3zE7mkCl3GphASk/IcGMLHZvYH1gt7HgjrwmTIUgJHv242XoWYINGCg
	+eqGr1p4Fr48sp9BvpGN8txUtdfxRokb53m3aEiERCKHb9hxbgp35n52MAhONSq6SuWM
	OQfRr5yWBOnwQ/ctTrPiuL/uiO0oyhRv/O4bYdPPNCsrfUzCAISg31jiWMjIPVtjmmB4
	uKOA==
MIME-Version: 1.0
Received: by 10.182.5.132 with SMTP id s4mr4518342obs.65.1336869566048; Sat,
	12 May 2012 17:39:26 -0700 (PDT)
Received: by 10.182.9.170 with HTTP; Sat, 12 May 2012 17:39:25 -0700 (PDT)
In-Reply-To: <CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
Date: Sun, 13 May 2012 08:39:25 +0800
Message-ID: <CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Content-Type: multipart/mixed; boundary=f46d0447967d98696104bfe033c9
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--f46d0447967d98696104bfe033c9
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>>> <giamteckchoon@gmail.com> wrote:
>>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>>> > <giamteckchoon@gmail.com> wrote:
>>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix=
.com> wrote:
>>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfe=
ring with openvpn"):
>>> >>>> libxl/xend: name tap devices vifX.Y-emu
>>> >>>
>>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>>> >>
>>> >> This is my backport version which excludes the following:
>>> >>
>>> >> Lastly also move libxl__device_* to a better place in the header, ot=
herwise the
>>> >> comment about evgen stuff isn't next to the associated functions (no=
ticed jsut
>>> >> because I was going to add nic_devname near to the setdefault functi=
ons)
>>> >>
>>> >> I have tested with xm and xl with and without vifname set in domU
>>> >> config for hvmdomain and pvdomain.
>>> >
>>> > Sorry, when re-test one of the test case failed... xm create hvmdomai=
n
>>> > with vifname set. =A0I must have missed certain test case :(
>>>
>>> The same test case failed for xen unstable latest changeset 25326:cd4dd=
23a831d.
>>
>> Oh dear.
>>
>>> My tests as below:
>>
>> Which ones fail?
>>
>>> 1. xm create pvdomain without vifname set
>>> 2. xl create pvdomain without vifname set
>>> 3. xm create hvmdomain without vifname set
>>> 4. xl create hvmdomain without vifname set
>>> 5. xm create pvdomain with vifname set
>>> 6. xl create pvdomain with vifname set
>>> 7. xm create hvmdomain with vifname set
>
> xm create hvmdomain with vifname set
>
>
> I track down the problem already. =A0It happens that xm and xl behave
> differently when creating $dev device?
>
> In short, just set $dev down before:
> do_or_die ip link set "$dev" name "$vifname"
> Then set $vifname up after the above fix my problem.
>
> Is the above suitable in upstream/unstable? =A0If yes, can you fix that
> in xen-unstable or you need me to submit a patch for review for
> xen-unstable?
>
> With the below partial of my latest backport patch fix the problem but
> I have to re-run all tests to double confirm all are fix and good to
> go :p

Attached is my final backport for xen-4.1-testing which passed all my
tests as stated below:

1. xm create pvdomain without vifname set
2. xl create pvdomain without vifname set
3. xm create hvmdomain without vifname set
4. xl create hvmdomain without vifname set
5. xm create pvdomain with vifname set
6. xl create pvdomain with vifname set
7. xm create hvmdomain with vifname set
8. xl create hvmdomain with vifname set

My initial backport patch failed for test no. 7 and when I perform
test for all the above in latest xen-unstable it failed in test no. 7
as well.

For review and comments please.

Thanks.

Kindest regards,
Giam Teck Choon


>
> diff --git a/tools/hotplug/Linux/vif-common.sh
> b/tools/hotplug/Linux/vif-common.sh
> index c9c5d41..86c0aaa 100644
> --- a/tools/hotplug/Linux/vif-common.sh
> +++ b/tools/hotplug/Linux/vif-common.sh
> @@ -85,12 +85,25 @@ elif [ "$type_if" =3D tap ]; then
> =A0 =A0 : ${INTERFACE:?}
>
> =A0 =A0 # Get xenbus_path from device name.
> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
> - =A0 =A0dev_=3D${dev#tap}
> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
> + =A0 =A0dev_=3D${dev#vif}
> + =A0 =A0dev_=3D${dev_%-emu}
> =A0 =A0 domid=3D${dev_%.*}
> =A0 =A0 devid=3D${dev_#*.}
>
> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> + =A0 =A0if [ "$vifname" ]
> + =A0 =A0then
> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifna=
me" >&/dev/null
> + =A0 =A0 =A0 =A0then
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$dev" down
> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$vifname" up
> + =A0 =A0 =A0 =A0fi
> + =A0 =A0 =A0 =A0dev=3D"$vifname"
> + =A0 =A0fi
> =A0fi
>
>
> Thanks.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>> 8. xl create hvmdomain with vifname set
>>>
>>> Thanks.
>>>
>>> Kindest regards,
>>>
>>>
>>> >
>>> > Kindest regards,
>>> > Giam Teck Choon
>>> >
>>> >
>>> >
>>> >>
>>> >> For your review and comments please.
>>> >>
>>> >> Thanks.
>>> >>
>>> >> Kindest regards,
>>> >> Giam Teck Choon
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> libxl/xend: name tap devices vifX.Y-emu
>>> >>
>>> >> This prevents the udev scripts from operating on other tap devices (=
e.g.
>>> >> openvpn etc)
>>> >>
>>> >> Correct the documentation for the "vifname" option which suggested i=
t applied
>>> >> to HVM tap devices only, which is not the case.
>>> >>
>>> >> Reported by Michael Young.
>>> >>
>>> >> Also fix the use of vifname with emulated devices. This is slightly =
complex.
>>> >> The current hotplug scripts rely on being able to parse the "tapX.Y"=
 (now
>>> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relat=
ing to the
>>> >> corresponding vif. This is because we cannot inject our own environm=
ent vars
>>> >> into the tap hotplug events. However this means that if the tap is i=
nitially
>>> >> named with a user specified name (which will not match the expected =
scheme) we
>>> >> fail to do anything useful with the device. So now we create the ini=
tial tap
>>> >> device with the standard "vifX.Y-emu" name and the hotplug script wi=
ll handle
>>> >> the rename to the desired name. This is also how PV vif devices work=
 -- they
>>> >> are always created by netback with the name vifX.Y and renamed in th=
e script.
>>> >>
>>> >> xen-unstable changeset: 25290:7a6dcecb1781
>>> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>>> >> ---
>>> >> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++-=
-
>>> >> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>>> >> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++=
++++-----------
>>> >> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>>> >> =A04 files changed, 21 insertions(+), 19 deletions(-)
>>> >>
>>> >> diff --git a/tools/hotplug/Linux/vif-common.sh
>>> >> b/tools/hotplug/Linux/vif-common.sh
>>> >> index c9c5d41..fff22bb 100644
>>> >> --- a/tools/hotplug/Linux/vif-common.sh
>>> >> +++ b/tools/hotplug/Linux/vif-common.sh
>>> >> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>>> >> =A0 =A0 : ${INTERFACE:?}
>>> >>
>>> >> =A0 =A0 # Get xenbus_path from device name.
>>> >> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>>> >> - =A0 =A0dev_=3D${dev#tap}
>>> >> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>>> >> + =A0 =A0dev_=3D${dev#vif}
>>> >> + =A0 =A0dev_=3D${dev_%-emu}
>>> >> =A0 =A0 domid=3D${dev_%.*}
>>> >> =A0 =A0 devid=3D${dev_#*.}
>>> >>
>>> >> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>>> >> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" ""=
)
>>> >> + =A0 =A0if [ "$vifname" ]
>>> >> + =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>>> >> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$=
vifname" >&/dev/null
>>> >> + =A0 =A0 =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname=
"
>>> >> + =A0 =A0 =A0 =A0fi
>>> >> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>>> >> + =A0 =A0fi
>>> >> =A0fi
>>> >>
>>> >> =A0ip=3D${ip:-}
>>> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
>>> >> b/tools/hotplug/Linux/xen-backend.rules
>>> >> index 40f2658..405387f 100644
>>> >> --- a/tools/hotplug/Linux/xen-backend.rules
>>> >> +++ b/tools/hotplug/Linux/xen-backend.rules
>>> >> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>>> >> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=
=3D"0600"
>>> >> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>>> >> index 1ffcc90..2c030ca 100644
>>> >> --- a/tools/libxl/libxl_dm.c
>>> >> +++ b/tools/libxl/libxl_dm.c
>>> >> @@ -134,11 +134,9 @@ static char **
>>> >> libxl_build_device_model_args_old(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-ne=
t", libxl__sprintf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>>> >> smac, vifs[i].model),
>>> >> @@ -271,12 +269,9 @@ static char **
>>> >> libxl_build_device_model_args_new(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__spr=
intf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devi=
d, smac, vifs[i].model));
>>> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/=
image.py
>>> >> index f1464ac..3c8d80c 100644
>>> >> --- a/tools/python/xen/xend/image.py
>>> >> +++ b/tools/python/xen/xend/image.py
>>> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0else:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.g=
etDomid(), nics-1)
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDo=
mid(), nics-1)
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridg=
e))
>>
>>

--f46d0447967d98696104bfe033c9
Content-Type: application/octet-stream; 
	name="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Disposition: attachment; 
	filename="backport-unstable-25290-to-xen-4.1-testing.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h25dl3f20

bGlieGwveGVuZDogbmFtZSB0YXAgZGV2aWNlcyB2aWZYLlktZW11CgpUaGlzIHByZXZlbnRzIHRo
ZSB1ZGV2IHNjcmlwdHMgZnJvbSBvcGVyYXRpbmcgb24gb3RoZXIgdGFwIGRldmljZXMgKGUuZy4K
b3BlbnZwbiBldGMpCgpDb3JyZWN0IHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgInZpZm5hbWUi
IG9wdGlvbiB3aGljaCBzdWdnZXN0ZWQgaXQgYXBwbGllZAp0byBIVk0gdGFwIGRldmljZXMgb25s
eSwgd2hpY2ggaXMgbm90IHRoZSBjYXNlLgoKUmVwb3J0ZWQgYnkgTWljaGFlbCBZb3VuZy4KCkFs
c28gZml4IHRoZSB1c2Ugb2YgdmlmbmFtZSB3aXRoIGVtdWxhdGVkIGRldmljZXMuIFRoaXMgaXMg
c2xpZ2h0bHkgY29tcGxleC4KVGhlIGN1cnJlbnQgaG90cGx1ZyBzY3JpcHRzIHJlbHkgb24gYmVp
bmcgYWJsZSB0byBwYXJzZSB0aGUgInRhcFguWSIgKG5vdwoidmlmWC5ZLWVtdSIpIG5hbWUgaW4g
b3JkZXIgdG8gbG9jYXRlIHRoZSB4ZW5zdG9yZSBiYWNrZW5kIGRpciByZWxhdGluZyB0byB0aGUK
Y29ycmVzcG9uZGluZyB2aWYuIFRoaXMgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgaW5qZWN0IG91ciBv
d24gZW52aXJvbm1lbnQgdmFycwppbnRvIHRoZSB0YXAgaG90cGx1ZyBldmVudHMuIEhvd2V2ZXIg
dGhpcyBtZWFucyB0aGF0IGlmIHRoZSB0YXAgaXMgaW5pdGlhbGx5Cm5hbWVkIHdpdGggYSB1c2Vy
IHNwZWNpZmllZCBuYW1lICh3aGljaCB3aWxsIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgc2NoZW1l
KSB3ZQpmYWlsIHRvIGRvIGFueXRoaW5nIHVzZWZ1bCB3aXRoIHRoZSBkZXZpY2UuIFNvIG5vdyB3
ZSBjcmVhdGUgdGhlIGluaXRpYWwgdGFwCmRldmljZSB3aXRoIHRoZSBzdGFuZGFyZCAidmlmWC5Z
LWVtdSIgbmFtZSBhbmQgdGhlIGhvdHBsdWcgc2NyaXB0IHdpbGwgaGFuZGxlCnRoZSByZW5hbWUg
dG8gdGhlIGRlc2lyZWQgbmFtZS4gVGhpcyBpcyBhbHNvIGhvdyBQViB2aWYgZGV2aWNlcyB3b3Jr
IC0tIHRoZXkKYXJlIGFsd2F5cyBjcmVhdGVkIGJ5IG5ldGJhY2sgd2l0aCB0aGUgbmFtZSB2aWZY
LlkgYW5kIHJlbmFtZWQgaW4gdGhlIHNjcmlwdC4KCnhlbi11bnN0YWJsZSBjaGFuZ2VzZXQ6IDI1
MjkwOjdhNmRjZWNiMTc4MQpTaWduZWQtb2ZmLWJ5OiBHaWFtIFRlY2sgQ2hvb24gPGdpYW10ZWNr
Y2hvb25AZ21haWwuY29tPgotLS0KIHRvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaCAg
ICAgfCAgIDE3ICsrKysrKysrKysrKysrKy0tCiB0b29scy9ob3RwbHVnL0xpbnV4L3hlbi1iYWNr
ZW5kLnJ1bGVzIHwgICAgMiArLQogdG9vbHMvbGlieGwvbGlieGxfZG0uYyAgICAgICAgICAgICAg
ICB8ICAgMTcgKysrKysrLS0tLS0tLS0tLS0KIHRvb2xzL3B5dGhvbi94ZW4veGVuZC9pbWFnZS5w
eSAgICAgICAgfCAgICA2ICstLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp
LCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9ob3RwbHVnL0xpbnV4L3ZpZi1j
b21tb24uc2ggYi90b29scy9ob3RwbHVnL0xpbnV4L3ZpZi1jb21tb24uc2gKaW5kZXggYzljNWQ0
MS4uODZjMGFhYSAxMDA2NDQKLS0tIGEvdG9vbHMvaG90cGx1Zy9MaW51eC92aWYtY29tbW9uLnNo
CisrKyBiL3Rvb2xzL2hvdHBsdWcvTGludXgvdmlmLWNvbW1vbi5zaApAQCAtODUsMTIgKzg1LDI1
IEBAIGVsaWYgWyAiJHR5cGVfaWYiID0gdGFwIF07IHRoZW4KICAgICA6ICR7SU5URVJGQUNFOj99
CiAKICAgICAjIEdldCB4ZW5idXNfcGF0aCBmcm9tIGRldmljZSBuYW1lLgotICAgICMgVGhlIG5h
bWUgaXMgYnVpbHQgbGlrZSB0aGF0OiAidGFwJHtkb21pZH0uJHtkZXZpZH0iLgotICAgIGRldl89
JHtkZXYjdGFwfQorICAgICMgVGhlIG5hbWUgaXMgYnVpbHQgbGlrZSB0aGF0OiAidmlmJHtkb21p
ZH0uJHtkZXZpZH0tZW11Ii4KKyAgICBkZXZfPSR7ZGV2I3ZpZn0KKyAgICBkZXZfPSR7ZGV2XyUt
ZW11fQogICAgIGRvbWlkPSR7ZGV2XyUuKn0KICAgICBkZXZpZD0ke2Rldl8jKi59CiAKICAgICBY
RU5CVVNfUEFUSD0iL2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmlmLyRkb21pZC8kZGV2aWQiCisg
ICAgdmlmbmFtZT0kKHhlbnN0b3JlX3JlYWRfZGVmYXVsdCAiJFhFTkJVU19QQVRIL3ZpZm5hbWUi
ICIiKQorICAgIGlmIFsgIiR2aWZuYW1lIiBdCisgICAgdGhlbgorICAgICAgICB2aWZuYW1lPSIk
e3ZpZm5hbWV9LWVtdSIKKyAgICAgICAgaWYgWyAiJGNvbW1hbmQiID09ICJhZGQiIF0gJiYgISBp
cCBsaW5rIHNob3cgIiR2aWZuYW1lIiA+Ji9kZXYvbnVsbAorICAgICAgICB0aGVuCisgICAgICAg
ICAgICBpcCBsaW5rIHNldCAiJGRldiIgZG93bgorICAgICAgICAgICAgZG9fb3JfZGllIGlwIGxp
bmsgc2V0ICIkZGV2IiBuYW1lICIkdmlmbmFtZSIKKyAgICAgICAgICAgIGlwIGxpbmsgc2V0ICIk
dmlmbmFtZSIgdXAKKyAgICAgICAgZmkKKyAgICAgICAgZGV2PSIkdmlmbmFtZSIKKyAgICBmaQog
ZmkKIAogaXA9JHtpcDotfQpkaWZmIC0tZ2l0IGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFj
a2VuZC5ydWxlcyBiL3Rvb2xzL2hvdHBsdWcvTGludXgveGVuLWJhY2tlbmQucnVsZXMKaW5kZXgg
NDBmMjY1OC4uNDA1Mzg3ZiAxMDA2NDQKLS0tIGEvdG9vbHMvaG90cGx1Zy9MaW51eC94ZW4tYmFj
a2VuZC5ydWxlcworKysgYi90b29scy9ob3RwbHVnL0xpbnV4L3hlbi1iYWNrZW5kLnJ1bGVzCkBA
IC0xMyw0ICsxMyw0IEBAIEtFUk5FTD09ImJsa3RhcC1jb250cm9sIiwgTkFNRT0ieGVuL2Jsa3Rh
cC0yL2NvbnRyb2wiLCBNT0RFPSIwNjAwIgogS0VSTkVMPT0iZ250ZGV2IiwgTkFNRT0ieGVuLyVr
IiwgTU9ERT0iMDYwMCIKIEtFUk5FTD09InBjaV9pb211bCIsIE5BTUU9Inhlbi8layIsIE1PREU9
IjA2MDAiCiBLRVJORUw9PSJ0YXBkZXZbYS16XSoiLCBOQU1FPSJ4ZW4vYmxrdGFwLTIvdGFwZGV2
JW0iLCBNT0RFPSIwNjAwIgotU1VCU1lTVEVNPT0ibmV0IiwgS0VSTkVMPT0idGFwKiIsIEFDVElP
Tj09ImFkZCIsIFJVTis9Ii9ldGMveGVuL3NjcmlwdHMvdmlmLXNldHVwICRlbnZ7QUNUSU9OfSB0
eXBlX2lmPXRhcCIKK1NVQlNZU1RFTT09Im5ldCIsIEtFUk5FTD09InZpZiotZW11IiwgQUNUSU9O
PT0iYWRkIiwgUlVOKz0iL2V0Yy94ZW4vc2NyaXB0cy92aWYtc2V0dXAgJGVudntBQ1RJT059IHR5
cGVfaWY9dGFwIgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xp
YnhsL2xpYnhsX2RtLmMKaW5kZXggMWZmY2M5MC4uMmMwMzBjYSAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCkBAIC0xMzQsMTEg
KzEzNCw5IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX29s
ZChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgIGNoYXIgKnNtYWMgPSBsaWJ4bF9fc3By
aW50ZihnYywgIiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4IiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWZzW2ldLm1hY1swXSwgdmlmc1tpXS5tYWNb
MV0sIHZpZnNbaV0ubWFjWzJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZpZnNbaV0ubWFjWzNdLCB2aWZzW2ldLm1hY1s0XSwgdmlmc1tpXS5tYWNbNV0pOwot
ICAgICAgICAgICAgICAgIGNoYXIgKmlmbmFtZTsKLSAgICAgICAgICAgICAgICBpZiAoIXZpZnNb
aV0uaWZuYW1lKQotICAgICAgICAgICAgICAgICAgICBpZm5hbWUgPSBsaWJ4bF9fc3ByaW50Zihn
YywgInRhcCVkLiVkIiwgaW5mby0+ZG9taWQsIHZpZnNbaV0uZGV2aWQpOwotICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgaWZuYW1lID0gdmlmc1tpXS5pZm5hbWU7Cisg
ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ2
aWYlZC4lZC1lbXUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluZm8tPmRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZpZnNbaV0uZGV2aWQpOwogICAgICAgICAgICAgICAgIGZsZXhh
cnJheV92YXBwZW5kKGRtX2FyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
bmV0IiwgbGlieGxfX3NwcmludGYoZ2MsICJuaWMsdmxhbj0lZCxtYWNhZGRyPSVzLG1vZGVsPSVz
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2aWZzW2ldLmRldmlkLCBzbWFjLCB2aWZzW2ldLm1vZGVsKSwKQEAgLTI3MSwxMiArMjY5LDkg
QEAgc3RhdGljIGNoYXIgKiogbGlieGxfYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxpYnhs
X19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgY2hhciAqc21hYyA9IGxpYnhsX19zcHJpbnRmKGdj
LCAiJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMngiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZpZnNbaV0ubWFjWzBdLCB2aWZzW2ldLm1hY1sxXSwgdmlm
c1tpXS5tYWNbMl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmlmc1tpXS5tYWNbM10sIHZpZnNbaV0ubWFjWzRdLCB2aWZzW2ldLm1hY1s1XSk7Ci0gICAgICAg
ICAgICAgICAgY2hhciAqaWZuYW1lOwotICAgICAgICAgICAgICAgIGlmICghdmlmc1tpXS5pZm5h
bWUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWZuYW1lID0gbGlieGxfX3NwcmludGYoZ2MsICJ0
YXAlZC4lZCIsIGluZm8tPmRvbWlkLCB2aWZzW2ldLmRldmlkKTsKLSAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZm5hbWUgPSB2aWZzW2ldLmlmbmFtZTsKLSAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaWZuYW1lID0gbGli
eGxfX3NwcmludGYoZ2MsICJ2aWYlZC4lZC1lbXUiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPmRvbWlkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZnNbaV0uZGV2aWQpOwogICAg
ICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1uZXQiKTsKICAgICAgICAg
ICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIGxpYnhsX19zcHJpbnRmKGdjLCAibmlj
LHZsYW49JWQsbWFjYWRkcj0lcyxtb2RlbD0lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmlmc1tpXS5kZXZpZCwgc21hYywgdmlmc1tpXS5tb2RlbCkpOwpkaWZmIC0tZ2l0IGEvdG9v
bHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdlLnB5IGIvdG9vbHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdl
LnB5CmluZGV4IGYxNDY0YWMuLjNjOGQ4MGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4v
eGVuZC9pbWFnZS5weQorKysgYi90b29scy9weXRob24veGVuL3hlbmQvaW1hZ2UucHkKQEAgLTkx
NywxMSArOTE3LDcgQEAgY2xhc3MgSFZNSW1hZ2VIYW5kbGVyKEltYWdlSGFuZGxlcik6CiAgICAg
ICAgICAgICByZXQuYXBwZW5kKCItbmV0IikKICAgICAgICAgICAgIHJldC5hcHBlbmQoIm5pYyx2
bGFuPSVkLG1hY2FkZHI9JXMsbW9kZWw9JXMiICUKICAgICAgICAgICAgICAgICAgICAgICAgKG5p
Y3MsIG1hYywgbW9kZWwpKQotICAgICAgICAgICAgdmlmbmFtZSA9IGRldmluZm8uZ2V0KCd2aWZu
YW1lJykKLSAgICAgICAgICAgIGlmIHZpZm5hbWU6Ci0gICAgICAgICAgICAgICAgdmlmbmFtZSA9
ICJ0YXAtIiArIHZpZm5hbWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdmlm
bmFtZSA9ICJ0YXAlZC4lZCIgJSAoc2VsZi52bS5nZXREb21pZCgpLCBuaWNzLTEpCisgICAgICAg
ICAgICB2aWZuYW1lID0gInZpZiVkLiVkLWVtdSIgJSAoc2VsZi52bS5nZXREb21pZCgpLCBuaWNz
LTEpCiAgICAgICAgICAgICByZXQuYXBwZW5kKCItbmV0IikKICAgICAgICAgICAgIHJldC5hcHBl
bmQoInRhcCx2bGFuPSVkLGlmbmFtZT0lcyxicmlkZ2U9JXMiICUKICAgICAgICAgICAgICAgICAg
ICAgICAgKG5pY3MsIHZpZm5hbWUsIGJyaWRnZSkpCg==
--f46d0447967d98696104bfe033c9
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--f46d0447967d98696104bfe033c9--


From xen-devel-bounces@lists.xen.org Sun May 13 01:23:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 01:23:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STNW4-0001Gg-E7; Sun, 13 May 2012 01:22:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <lth@cow.dk>)
	id 1STNW2-0001Gb-Th
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 01:22:31 +0000
Received: from [85.158.143.35:25596] by server-3.bemta-4.messagelabs.com id
	A2/1A-05853-6DC0FAF4; Sun, 13 May 2012 01:22:30 +0000
X-Env-Sender: lth@cow.dk
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336872149!4087081!1
X-Originating-IP: [95.166.183.192]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20052 invoked from network); 13 May 2012 01:22:29 -0000
Received: from 4607ds7-vby.0.fullrate.dk (HELO cow.netcompartner.com)
	(95.166.183.192)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	13 May 2012 01:22:29 -0000
Received: from [210.195.65.36] (helo=ncpws04.localnet)
	by cow.netcompartner.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.77)
	(envelope-from <lth@cow.dk>)
	id 1STNVo-0006JF-N0; Sun, 13 May 2012 03:22:18 +0200
From: Lars Boegild Thomsen <lth@cow.dk>
Organization: Call of the Wild BBS
To: Jonathan Nieder <jrnieder@gmail.com>
Date: Sun, 13 May 2012 09:22:10 +0800
User-Agent: KMail/1.13.7 (Linux/3.2.0-2-amd64; KDE/4.7.4; x86_64; ; )
References: <625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E3@shsmsx502.ccr.corp.intel.com>
	<625BA99ED14B2D499DC4E29D8138F15063048B864D@shsmsx502.ccr.corp.intel.com>
	<20120512231349.GA17443@burratino>
In-Reply-To: <20120512231349.GA17443@burratino>
MIME-Version: 1.0
Message-Id: <201205130922.10945.lth@cow.dk>
X-Spam-Score: -2.9 (--)
X-Spam-Report: Spam detection software,
	running on the system "cow.netcompartner.com", has
	identified this incoming email as possible spam. The original message
	has been attached to this so you can view it (if it isn't spam) or
	label similar future email.  If you have any questions, see
	the administrator of that system for details.
	Content preview: On Sunday 13 May 2012 07:13:49 Jonathan Nieder wrote:
	> In September,
	Kevin Tian wrote: > >> Lars Boegild Thomsen writes[1]: > >>> After
	update from 2.6 kernel to 3.0 my Idepad S10-3 will not wake up > >>>
	after
	sleep. Back to latest 2.6 kernel works fine. > - passing parameters
	"hpet=disable
	highres=off nohz=off" helps some > people if I understand correctly, but
	I might have misunderstood.[2] [...] 
	Content analysis details:   (-2.9 points, 5.0 required)
	pts rule name              description
	---- ----------------------
	--------------------------------------------------
	-1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP
	-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
	[score: 0.0000]
Cc: "Tian, Kevin" <kevin.tian@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Robert Scott <bugs@humanleg.org.uk>, "hpa@zytor.com" <hpa@zytor.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>,
	Andreas Wallberg <andreas.wallberg@gmail.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	Fengzhe Zhang <fengzhe.zhang@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [Xen-devel] [regression] Ideapad S10-3 does not wake up from
	suspend
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sunday 13 May 2012 07:13:49 Jonathan Nieder wrote:
> In September, Kevin Tian wrote:
> >> Lars Boegild Thomsen writes[1]:
> >>> After update from 2.6 kernel to 3.0 my Idepad S10-3 will not wake up
> >>> after sleep.  Back to latest 2.6 kernel works fine.
>  - passing parameters "hpet=disable highres=off nohz=off" helps some
>    people if I understand correctly, but I might have misunderstood.[2]

I didn't notice this one before but that actually works for me.  Adding those 
kernel params and sleep works again.  I tried combinations thereof but no-go - 
all 3 required.

> I'd be interested to hear whether the same problem occurs when trying
> to suspend from the minimal initramfs environment.  (On systems like
> Debian that use initramfs-tools, that means passing the kernel command
> line parameter "break=top", booting, loading some appropriate minimal
> collection of modules --- maybe none ---, and then running
> "echo mem >/sys/power/state".  initramfs-tools(8) has details.)

And I just tried this loading no modules manually and it's the same - never 
wakes up after sleep.

//Lars...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 01:23:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 01:23:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STNW4-0001Gg-E7; Sun, 13 May 2012 01:22:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <lth@cow.dk>)
	id 1STNW2-0001Gb-Th
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 01:22:31 +0000
Received: from [85.158.143.35:25596] by server-3.bemta-4.messagelabs.com id
	A2/1A-05853-6DC0FAF4; Sun, 13 May 2012 01:22:30 +0000
X-Env-Sender: lth@cow.dk
X-Msg-Ref: server-9.tower-21.messagelabs.com!1336872149!4087081!1
X-Originating-IP: [95.166.183.192]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20052 invoked from network); 13 May 2012 01:22:29 -0000
Received: from 4607ds7-vby.0.fullrate.dk (HELO cow.netcompartner.com)
	(95.166.183.192)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	13 May 2012 01:22:29 -0000
Received: from [210.195.65.36] (helo=ncpws04.localnet)
	by cow.netcompartner.com with esmtpsa
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.77)
	(envelope-from <lth@cow.dk>)
	id 1STNVo-0006JF-N0; Sun, 13 May 2012 03:22:18 +0200
From: Lars Boegild Thomsen <lth@cow.dk>
Organization: Call of the Wild BBS
To: Jonathan Nieder <jrnieder@gmail.com>
Date: Sun, 13 May 2012 09:22:10 +0800
User-Agent: KMail/1.13.7 (Linux/3.2.0-2-amd64; KDE/4.7.4; x86_64; ; )
References: <625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E3@shsmsx502.ccr.corp.intel.com>
	<625BA99ED14B2D499DC4E29D8138F15063048B864D@shsmsx502.ccr.corp.intel.com>
	<20120512231349.GA17443@burratino>
In-Reply-To: <20120512231349.GA17443@burratino>
MIME-Version: 1.0
Message-Id: <201205130922.10945.lth@cow.dk>
X-Spam-Score: -2.9 (--)
X-Spam-Report: Spam detection software,
	running on the system "cow.netcompartner.com", has
	identified this incoming email as possible spam. The original message
	has been attached to this so you can view it (if it isn't spam) or
	label similar future email.  If you have any questions, see
	the administrator of that system for details.
	Content preview: On Sunday 13 May 2012 07:13:49 Jonathan Nieder wrote:
	> In September,
	Kevin Tian wrote: > >> Lars Boegild Thomsen writes[1]: > >>> After
	update from 2.6 kernel to 3.0 my Idepad S10-3 will not wake up > >>>
	after
	sleep. Back to latest 2.6 kernel works fine. > - passing parameters
	"hpet=disable
	highres=off nohz=off" helps some > people if I understand correctly, but
	I might have misunderstood.[2] [...] 
	Content analysis details:   (-2.9 points, 5.0 required)
	pts rule name              description
	---- ----------------------
	--------------------------------------------------
	-1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP
	-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
	[score: 0.0000]
Cc: "Tian, Kevin" <kevin.tian@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Robert Scott <bugs@humanleg.org.uk>, "hpa@zytor.com" <hpa@zytor.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>,
	Andreas Wallberg <andreas.wallberg@gmail.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	Fengzhe Zhang <fengzhe.zhang@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [Xen-devel] [regression] Ideapad S10-3 does not wake up from
	suspend
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sunday 13 May 2012 07:13:49 Jonathan Nieder wrote:
> In September, Kevin Tian wrote:
> >> Lars Boegild Thomsen writes[1]:
> >>> After update from 2.6 kernel to 3.0 my Idepad S10-3 will not wake up
> >>> after sleep.  Back to latest 2.6 kernel works fine.
>  - passing parameters "hpet=disable highres=off nohz=off" helps some
>    people if I understand correctly, but I might have misunderstood.[2]

I didn't notice this one before but that actually works for me.  Adding those 
kernel params and sleep works again.  I tried combinations thereof but no-go - 
all 3 required.

> I'd be interested to hear whether the same problem occurs when trying
> to suspend from the minimal initramfs environment.  (On systems like
> Debian that use initramfs-tools, that means passing the kernel command
> line parameter "break=top", booting, loading some appropriate minimal
> collection of modules --- maybe none ---, and then running
> "echo mem >/sys/power/state".  initramfs-tools(8) has details.)

And I just tried this loading no modules manually and it's the same - never 
wakes up after sleep.

//Lars...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 07:19:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 07:19:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STT4k-0003tG-Tb; Sun, 13 May 2012 07:18:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STT4j-0003tB-2o
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 07:18:41 +0000
Received: from [193.109.254.147:46319] by server-1.bemta-14.messagelabs.com id
	D4/D9-29372-0506FAF4; Sun, 13 May 2012 07:18:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336893519!2149232!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODc5Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4780 invoked from network); 13 May 2012 07:18:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	13 May 2012 07:18:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,579,1330905600"; d="scan'208";a="12443488"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	13 May 2012 07:18:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 13 May 2012 08:18:38 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1STT4g-0003IA-Nu;
	Sun, 13 May 2012 07:18:38 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1STT4g-0002jb-KR;
	Sun, 13 May 2012 08:18:38 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12857-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 13 May 2012 08:18:38 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12857: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12857 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12857/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12856
 test-amd64-amd64-xl-sedf-pin  9 guest-start        fail in 12856 pass in 12857

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12856

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12856 never pass

version targeted for testing:
 xen                  cd4dd23a831d
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 07:19:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 07:19:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STT4k-0003tG-Tb; Sun, 13 May 2012 07:18:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STT4j-0003tB-2o
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 07:18:41 +0000
Received: from [193.109.254.147:46319] by server-1.bemta-14.messagelabs.com id
	D4/D9-29372-0506FAF4; Sun, 13 May 2012 07:18:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336893519!2149232!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODc5Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4780 invoked from network); 13 May 2012 07:18:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	13 May 2012 07:18:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,579,1330905600"; d="scan'208";a="12443488"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	13 May 2012 07:18:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 13 May 2012 08:18:38 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1STT4g-0003IA-Nu;
	Sun, 13 May 2012 07:18:38 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1STT4g-0002jb-KR;
	Sun, 13 May 2012 08:18:38 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12857-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 13 May 2012 08:18:38 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12857: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12857 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12857/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12856
 test-amd64-amd64-xl-sedf-pin  9 guest-start        fail in 12856 pass in 12857

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12856

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12856 never pass

version targeted for testing:
 xen                  cd4dd23a831d
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 08:36:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 08:36:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STUHY-0004hx-Lj; Sun, 13 May 2012 08:36:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STUHW-0004hs-7c
	for xen-devel@lists.xen.org; Sun, 13 May 2012 08:35:58 +0000
Received: from [85.158.138.51:35373] by server-9.bemta-3.messagelabs.com id
	04/60-26691-D627FAF4; Sun, 13 May 2012 08:35:57 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336898156!26833718!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14565 invoked from network); 13 May 2012 08:35:56 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-11.tower-174.messagelabs.com with SMTP;
	13 May 2012 08:35:56 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77827918; Sun, 13 May 2012 10:35:55 +0200
Message-ID: <1336898139.2612.1.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Sun, 13 May 2012 10:35:39 +0200
In-Reply-To: <1336778609.27081.1.camel@Abyss>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336778609.27081.1.camel@Abyss>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7363166968530265349=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7363166968530265349==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-6sClyjmvO9Yib4cz+xM1"


--=-6sClyjmvO9Yib4cz+xM1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, 2012-05-12 at 01:23 +0200, Dario Faggioli wrote:=20
> On Sat, 2012-05-12 at 01:20 +0200, Dario Faggioli wrote:=20
> > xm supports the following syntax (in the config file) for
> > specific VCPU to PCPU mapping:
> >=20
> > cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> >=20
> > Allow for the same to be done in xl.
> >=20
> And yes, I'm proposing this for 4.2, as not having it is a feature
> parity between xm and xl bug someone reported on @xen-users.
>=20
Damn! I forgot to update the doc (xl manual) accordingly!

Feel free to provide any comments but, please, wait for a new and
complete version before applying.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-6sClyjmvO9Yib4cz+xM1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+vclsACgkQk4XaBE3IOsRiWQCgpBVZDuKq8UdtLjU1H4mdxwif
HZUAn2ozGWKSZR7lSobsSlgs9T7k/3tx
=og5C
-----END PGP SIGNATURE-----

--=-6sClyjmvO9Yib4cz+xM1--



--===============7363166968530265349==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7363166968530265349==--



From xen-devel-bounces@lists.xen.org Sun May 13 08:36:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 08:36:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STUHY-0004hx-Lj; Sun, 13 May 2012 08:36:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STUHW-0004hs-7c
	for xen-devel@lists.xen.org; Sun, 13 May 2012 08:35:58 +0000
Received: from [85.158.138.51:35373] by server-9.bemta-3.messagelabs.com id
	04/60-26691-D627FAF4; Sun, 13 May 2012 08:35:57 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-11.tower-174.messagelabs.com!1336898156!26833718!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14565 invoked from network); 13 May 2012 08:35:56 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-11.tower-174.messagelabs.com with SMTP;
	13 May 2012 08:35:56 -0000
Received: from [62.94.182.223] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77827918; Sun, 13 May 2012 10:35:55 +0200
Message-ID: <1336898139.2612.1.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Sun, 13 May 2012 10:35:39 +0200
In-Reply-To: <1336778609.27081.1.camel@Abyss>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336778609.27081.1.camel@Abyss>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7363166968530265349=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7363166968530265349==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-6sClyjmvO9Yib4cz+xM1"


--=-6sClyjmvO9Yib4cz+xM1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, 2012-05-12 at 01:23 +0200, Dario Faggioli wrote:=20
> On Sat, 2012-05-12 at 01:20 +0200, Dario Faggioli wrote:=20
> > xm supports the following syntax (in the config file) for
> > specific VCPU to PCPU mapping:
> >=20
> > cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> >=20
> > Allow for the same to be done in xl.
> >=20
> And yes, I'm proposing this for 4.2, as not having it is a feature
> parity between xm and xl bug someone reported on @xen-users.
>=20
Damn! I forgot to update the doc (xl manual) accordingly!

Feel free to provide any comments but, please, wait for a new and
complete version before applying.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-6sClyjmvO9Yib4cz+xM1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+vclsACgkQk4XaBE3IOsRiWQCgpBVZDuKq8UdtLjU1H4mdxwif
HZUAn2ozGWKSZR7lSobsSlgs9T7k/3tx
=og5C
-----END PGP SIGNATURE-----

--=-6sClyjmvO9Yib4cz+xM1--



--===============7363166968530265349==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7363166968530265349==--



From xen-devel-bounces@lists.xen.org Sun May 13 08:56:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 08:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STUbH-0004sY-Iy; Sun, 13 May 2012 08:56:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1STUbF-0004sT-Ie
	for xen-devel@lists.xen.org; Sun, 13 May 2012 08:56:21 +0000
Received: from [193.109.254.147:14355] by server-3.bemta-14.messagelabs.com id
	40/6A-23274-4377FAF4; Sun, 13 May 2012 08:56:20 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336899379!2156001!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDcyNTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18039 invoked from network); 13 May 2012 08:56:20 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 13 May 2012 08:56:20 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id EA05B179B;
	Sun, 13 May 2012 11:56:18 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id A12AF2005D; Sun, 13 May 2012 11:56:18 +0300 (EEST)
Date: Sun, 13 May 2012 11:56:18 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Sander Eikelenboom <linux@eikelenboom.it>
Message-ID: <20120513085618.GL2058@reaktio.net>
References: <20120512041645.11509848@internecto.net>
	<318116397.20120512092004@eikelenboom.it>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <318116397.20120512092004@eikelenboom.it>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Mark <lists+xen@internecto.net>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] xen-pciback.hide bug report: parse error in current
 xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 09:20:04AM +0200, Sander Eikelenboom wrote:
> Hello Mark,
> 
> Saturday, May 12, 2012, 4:16:45 AM, you wrote:
> 
> > Hello everyone,
> 
> > Said Xen version running on kernel 3.3.4 x86_64.
> 
> > I had put in Grub's "module /vmlinuz.gz" line:
> 
> > xen_pciback.hide=(02:10.0)(02:10.2)(etc.)
> 
> Should be xen-pciback.hide (not a underscore)
> 

Yep. Also the subject is misleading because this is a 
*Linux* dom0 kernel configuration issue, not xen-4.1-testing.hg issue.

-- Pasi


> --
> Sander
> 
> 
> > This yields an error in dmesg:
> 
> > xen_pciback: Unknown parameter `2)'
> 
> > I tried all sorts of variations: quoting the pci devices, prefixing
> > the devices with an extra 0000:, putting the thing somewhere else. But
> > the error keeps returning.
> 
> > I am working around this by having added the hide option in a
> > modules.conf entry.
> 
> > For further contact please be aware I am not receiving xen-devel
> > emails, so please include me in CC's when more info is required.
> 
> > Thank you,
> > Mark
> 
> 
> 
> 
> 
> -- 
> Best regards,
>  Sander                            mailto:linux@eikelenboom.it
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 08:56:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 08:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STUbH-0004sY-Iy; Sun, 13 May 2012 08:56:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1STUbF-0004sT-Ie
	for xen-devel@lists.xen.org; Sun, 13 May 2012 08:56:21 +0000
Received: from [193.109.254.147:14355] by server-3.bemta-14.messagelabs.com id
	40/6A-23274-4377FAF4; Sun, 13 May 2012 08:56:20 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336899379!2156001!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDcyNTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18039 invoked from network); 13 May 2012 08:56:20 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 13 May 2012 08:56:20 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id EA05B179B;
	Sun, 13 May 2012 11:56:18 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id A12AF2005D; Sun, 13 May 2012 11:56:18 +0300 (EEST)
Date: Sun, 13 May 2012 11:56:18 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Sander Eikelenboom <linux@eikelenboom.it>
Message-ID: <20120513085618.GL2058@reaktio.net>
References: <20120512041645.11509848@internecto.net>
	<318116397.20120512092004@eikelenboom.it>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <318116397.20120512092004@eikelenboom.it>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Mark <lists+xen@internecto.net>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] xen-pciback.hide bug report: parse error in current
 xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 09:20:04AM +0200, Sander Eikelenboom wrote:
> Hello Mark,
> 
> Saturday, May 12, 2012, 4:16:45 AM, you wrote:
> 
> > Hello everyone,
> 
> > Said Xen version running on kernel 3.3.4 x86_64.
> 
> > I had put in Grub's "module /vmlinuz.gz" line:
> 
> > xen_pciback.hide=(02:10.0)(02:10.2)(etc.)
> 
> Should be xen-pciback.hide (not a underscore)
> 

Yep. Also the subject is misleading because this is a 
*Linux* dom0 kernel configuration issue, not xen-4.1-testing.hg issue.

-- Pasi


> --
> Sander
> 
> 
> > This yields an error in dmesg:
> 
> > xen_pciback: Unknown parameter `2)'
> 
> > I tried all sorts of variations: quoting the pci devices, prefixing
> > the devices with an extra 0000:, putting the thing somewhere else. But
> > the error keeps returning.
> 
> > I am working around this by having added the hide option in a
> > modules.conf entry.
> 
> > For further contact please be aware I am not receiving xen-devel
> > emails, so please include me in CC's when more info is required.
> 
> > Thank you,
> > Mark
> 
> 
> 
> 
> 
> -- 
> Best regards,
>  Sander                            mailto:linux@eikelenboom.it
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 10:19:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 10:19:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STVsk-0005LM-TM; Sun, 13 May 2012 10:18:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1STVsj-0005LH-No
	for xen-devel@lists.xen.org; Sun, 13 May 2012 10:18:29 +0000
Received: from [85.158.139.83:17064] by server-7.bemta-5.messagelabs.com id
	26/E6-16195-47A8FAF4; Sun, 13 May 2012 10:18:28 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336904308!16845747!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19170 invoked from network); 13 May 2012 10:18:28 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-8.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	13 May 2012 10:18:28 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:49473
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1STVoF-0006Bc-9x; Sun, 13 May 2012 12:13:51 +0200
Date: Sun, 13 May 2012 12:18:25 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <1049107950.20120513121825@eikelenboom.it>
To: Internecto List Subscriber <lists@internecto.net>
In-Reply-To: <20120512125506.4a4a927c@internecto.net>
References: <20120512041645.11509848@internecto.net>
	<318116397.20120512092004@eikelenboom.it>
	<20120512125506.4a4a927c@internecto.net>
MIME-Version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] xen-pciback.hide bug report: parse error in current
	xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Internecto,

Saturday, May 12, 2012, 12:55:06 PM, you wrote:

> On Sat, 12 May 2012 09:20:04 +0200
> Sander Eikelenboom <linux@eikelenboom.it> wrote:

>> Hello Mark,

> Hi Sander,

>> 
>> Saturday, May 12, 2012, 4:16:45 AM, you wrote:
>> 
>> > Hello everyone,
>> 
>> > Said Xen version running on kernel 3.3.4 x86_64.
>> 
>> > I had put in Grub's "module /vmlinuz.gz" line:
>> 
>> > xen_pciback.hide=(02:10.0)(02:10.2)(etc.)
>> 
>> Should be xen-pciback.hide (not a underscore)

> Thanks for the suggestion, but unfortunately this makes no difference...
> I still get the same error. Also, I think both are allowed, the actual
> name of the module is xen_pciback and I think kmod considers both - and
> _ to be equally valid..

You have compiled xen-pciback as a module, perhaps you could try to compile it in the kernel to rule out problems with module loading ?
It works for me (tm), could you also give the complete grub lines ?
--
Sander



> Mark




-- 
Best regards,
 Sander                            mailto:linux@eikelenboom.it


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 10:19:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 10:19:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STVsk-0005LM-TM; Sun, 13 May 2012 10:18:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1STVsj-0005LH-No
	for xen-devel@lists.xen.org; Sun, 13 May 2012 10:18:29 +0000
Received: from [85.158.139.83:17064] by server-7.bemta-5.messagelabs.com id
	26/E6-16195-47A8FAF4; Sun, 13 May 2012 10:18:28 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336904308!16845747!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19170 invoked from network); 13 May 2012 10:18:28 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-8.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	13 May 2012 10:18:28 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:49473
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1STVoF-0006Bc-9x; Sun, 13 May 2012 12:13:51 +0200
Date: Sun, 13 May 2012 12:18:25 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <1049107950.20120513121825@eikelenboom.it>
To: Internecto List Subscriber <lists@internecto.net>
In-Reply-To: <20120512125506.4a4a927c@internecto.net>
References: <20120512041645.11509848@internecto.net>
	<318116397.20120512092004@eikelenboom.it>
	<20120512125506.4a4a927c@internecto.net>
MIME-Version: 1.0
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] xen-pciback.hide bug report: parse error in current
	xen-4.1-stable.hg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Internecto,

Saturday, May 12, 2012, 12:55:06 PM, you wrote:

> On Sat, 12 May 2012 09:20:04 +0200
> Sander Eikelenboom <linux@eikelenboom.it> wrote:

>> Hello Mark,

> Hi Sander,

>> 
>> Saturday, May 12, 2012, 4:16:45 AM, you wrote:
>> 
>> > Hello everyone,
>> 
>> > Said Xen version running on kernel 3.3.4 x86_64.
>> 
>> > I had put in Grub's "module /vmlinuz.gz" line:
>> 
>> > xen_pciback.hide=(02:10.0)(02:10.2)(etc.)
>> 
>> Should be xen-pciback.hide (not a underscore)

> Thanks for the suggestion, but unfortunately this makes no difference...
> I still get the same error. Also, I think both are allowed, the actual
> name of the module is xen_pciback and I think kmod considers both - and
> _ to be equally valid..

You have compiled xen-pciback as a module, perhaps you could try to compile it in the kernel to rule out problems with module loading ?
It works for me (tm), could you also give the complete grub lines ?
--
Sander



> Mark




-- 
Best regards,
 Sander                            mailto:linux@eikelenboom.it


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 20:25:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 20:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STfLC-0001cM-B2; Sun, 13 May 2012 20:24:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1STfLB-0001cH-AC
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 20:24:29 +0000
Received: from [193.109.254.147:32299] by server-12.bemta-14.messagelabs.com
	id 8E/BC-05898-C7810BF4; Sun, 13 May 2012 20:24:28 +0000
X-Env-Sender: k@itoc.dk
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336940666!9049142!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19430 invoked from network); 13 May 2012 20:24:27 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	13 May 2012 20:24:27 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1STfL8-0005gm-1I
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 13:24:26 -0700
Date: Sun, 13 May 2012 13:24:26 -0700 (PDT)
From: Kristoffer Harthing Egefelt <k@itoc.dk>
To: xen-devel@lists.xensource.com
Message-ID: <1336940666023-5708399.post@n5.nabble.com>
In-Reply-To: <20120510154255.GH6389@phenom.dumpdata.com>
References: <20120327192644.GQ12984@reaktio.net>
	<1332880165775-5598838.post@n5.nabble.com>
	<1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> Any luck?

Actually after finding out about the pci=nomsi kernel parameter, I have not
had any problems.
Regarding the firmware upgrade, qlogic and dell need a supported OS to run
their diag tools on, I'm tired of dealing with them, so I have not gathered
this info yet.
Didn't try to downgrade the driver either.
But I'm about to try pci passthrough, to have 10gig directly in the domU.
I'll let you know if it works.


--
View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5708399.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 13 20:25:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 13 May 2012 20:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STfLC-0001cM-B2; Sun, 13 May 2012 20:24:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1STfLB-0001cH-AC
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 20:24:29 +0000
Received: from [193.109.254.147:32299] by server-12.bemta-14.messagelabs.com
	id 8E/BC-05898-C7810BF4; Sun, 13 May 2012 20:24:28 +0000
X-Env-Sender: k@itoc.dk
X-Msg-Ref: server-12.tower-27.messagelabs.com!1336940666!9049142!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19430 invoked from network); 13 May 2012 20:24:27 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	13 May 2012 20:24:27 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1STfL8-0005gm-1I
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 13:24:26 -0700
Date: Sun, 13 May 2012 13:24:26 -0700 (PDT)
From: Kristoffer Harthing Egefelt <k@itoc.dk>
To: xen-devel@lists.xensource.com
Message-ID: <1336940666023-5708399.post@n5.nabble.com>
In-Reply-To: <20120510154255.GH6389@phenom.dumpdata.com>
References: <20120327192644.GQ12984@reaktio.net>
	<1332880165775-5598838.post@n5.nabble.com>
	<1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> Any luck?

Actually after finding out about the pci=nomsi kernel parameter, I have not
had any problems.
Regarding the firmware upgrade, qlogic and dell need a supported OS to run
their diag tools on, I'm tired of dealing with them, so I have not gathered
this info yet.
Didn't try to downgrade the driver either.
But I'm about to try pci passthrough, to have 10gig directly in the domU.
I'll let you know if it works.


--
View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5708399.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 01:27:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 01:27:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STk3Y-0007CQ-7Y; Mon, 14 May 2012 01:26:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1STk3W-0007CL-Bt
	for xen-devel@lists.xen.org; Mon, 14 May 2012 01:26:34 +0000
Received: from [193.109.254.147:19113] by server-11.bemta-14.messagelabs.com
	id 30/6A-05858-94F50BF4; Mon, 14 May 2012 01:26:33 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336958792!9123702!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3ODA1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15786 invoked from network); 14 May 2012 01:26:32 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-3.tower-27.messagelabs.com with SMTP;
	14 May 2012 01:26:32 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 13 May 2012 18:26:30 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99631985"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 13 May 2012 18:26:30 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 13 May 2012 18:26:30 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 14 May 2012 09:26:28 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: "Hao, Xudong" <xudong.hao@intel.com>, "Jan Beulich (JBeulich@suse.com)"
	<JBeulich@suse.com>,
	"Keir Fraser (keir.xen@gmail.com)" <keir.xen@gmail.com>
Thread-Topic: [PATCH v2] Fix the mistake for #DB and #OF exception 
Thread-Index: Ac0wHoS1rWMeWTdrSEKneX/7XlgnswBUfZ4g
Date: Mon, 14 May 2012 01:26:27 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B5EA26@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima, Jun" <jun.nakajima@intel.com>,
	"Zhang, Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xudong:
	VM_ENTRY_INSTRUCTION_LEN is hard to detect due to the prefix instruction. We may rely on the caller to handle...
Thx, Eddie

> -----Original Message-----
> From: Hao, Xudong
> Sent: Saturday, May 12, 2012 5:13 PM
> To: Jan Beulich (JBeulich@suse.com); Keir Fraser (keir.xen@gmail.com)
> Cc: Aravindh Puthiyaparambil; Dong, Eddie; Zhang, Xiantao; Nakajima, Jun;
> xen-devel (xen-devel@lists.xen.org)
> Subject: [PATCH v2] Fix the mistake for #DB and #OF exception
> 
> Fix the mistake for debug exception(#DB; generated by INT1), overflow
> exception(#OF; generated by INTO) and int n instruction emulation.
> 
> #DB should use hardware exception(except #DB generated by opcode 0xf1),
> #OF should use software exception, which int n instruction should use
> software interrupt.
> 
> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
> @@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
> 
> +/*
> + * Generate the virtual event to guest.
> + * NOTE:
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. INT3 and
> + * INT0 use software exception, and INT n should use
> + * software interrupt.
> + */
>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
>          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
>          break;
> 
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> +        break;
> +
>      default:
>          if ( trap > TRAP_last_reserved )
>          {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> +            type = X86_EVENTTYPE_SW_INTERRUPT;
>              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8
> */
>          }
>          break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 01:27:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 01:27:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STk3Y-0007CQ-7Y; Mon, 14 May 2012 01:26:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <eddie.dong@intel.com>) id 1STk3W-0007CL-Bt
	for xen-devel@lists.xen.org; Mon, 14 May 2012 01:26:34 +0000
Received: from [193.109.254.147:19113] by server-11.bemta-14.messagelabs.com
	id 30/6A-05858-94F50BF4; Mon, 14 May 2012 01:26:33 +0000
X-Env-Sender: eddie.dong@intel.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336958792!9123702!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3ODA1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15786 invoked from network); 14 May 2012 01:26:32 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-3.tower-27.messagelabs.com with SMTP;
	14 May 2012 01:26:32 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 13 May 2012 18:26:30 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99631985"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 13 May 2012 18:26:30 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 13 May 2012 18:26:30 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 14 May 2012 09:26:28 +0800
From: "Dong, Eddie" <eddie.dong@intel.com>
To: "Hao, Xudong" <xudong.hao@intel.com>, "Jan Beulich (JBeulich@suse.com)"
	<JBeulich@suse.com>,
	"Keir Fraser (keir.xen@gmail.com)" <keir.xen@gmail.com>
Thread-Topic: [PATCH v2] Fix the mistake for #DB and #OF exception 
Thread-Index: Ac0wHoS1rWMeWTdrSEKneX/7XlgnswBUfZ4g
Date: Mon, 14 May 2012 01:26:27 +0000
Message-ID: <A12AC9D104E08D47BAF23C492F83C53B23B5EA26@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Nakajima, Jun" <jun.nakajima@intel.com>,
	"Zhang, Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xudong:
	VM_ENTRY_INSTRUCTION_LEN is hard to detect due to the prefix instruction. We may rely on the caller to handle...
Thx, Eddie

> -----Original Message-----
> From: Hao, Xudong
> Sent: Saturday, May 12, 2012 5:13 PM
> To: Jan Beulich (JBeulich@suse.com); Keir Fraser (keir.xen@gmail.com)
> Cc: Aravindh Puthiyaparambil; Dong, Eddie; Zhang, Xiantao; Nakajima, Jun;
> xen-devel (xen-devel@lists.xen.org)
> Subject: [PATCH v2] Fix the mistake for #DB and #OF exception
> 
> Fix the mistake for debug exception(#DB; generated by INT1), overflow
> exception(#OF; generated by INTO) and int n instruction emulation.
> 
> #DB should use hardware exception(except #DB generated by opcode 0xf1),
> #OF should use software exception, which int n instruction should use
> software interrupt.
> 
> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
> @@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
> 
> +/*
> + * Generate the virtual event to guest.
> + * NOTE:
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. INT3 and
> + * INT0 use software exception, and INT n should use
> + * software interrupt.
> + */
>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
>          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
>          break;
> 
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> +        break;
> +
>      default:
>          if ( trap > TRAP_last_reserved )
>          {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> +            type = X86_EVENTTYPE_SW_INTERRUPT;
>              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8
> */
>          }
>          break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 07:39:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 07:39:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STps6-0003OS-6d; Mon, 14 May 2012 07:39:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STps5-0003ON-99
	for xen-devel@lists.xen.org; Mon, 14 May 2012 07:39:09 +0000
Received: from [193.109.254.147:8039] by server-2.bemta-14.messagelabs.com id
	23/66-19409-C96B0BF4; Mon, 14 May 2012 07:39:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336981147!9072977!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24554 invoked from network); 14 May 2012 07:39:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 07:39:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 08:39:07 +0100
Message-Id: <4FB0D2B70200007800083547@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 08:39:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] qemu/xendisk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 18:01, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Thu, 10 May 2012, Jan Beulich wrote:
>> While for the "normal" case (called from blk_send_response_all())
>> decrementing requests_finished is correct, doing so in the parse error
>> case is wrong; requests_inflight needs to be decremented instead.
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> 
>> --- a/hw/xen_disk.c
>> +++ b/hw/xen_disk.c
>> @@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
>>      blkdev->requests_finished++;
>>  }
>>  
>> -static void ioreq_release(struct ioreq *ioreq)
>> +static void ioreq_release(struct ioreq *ioreq, bool finish)
>>  {
>>      struct XenBlkDev *blkdev = ioreq->blkdev;
>>  
>> @@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
>>      memset(ioreq, 0, sizeof(*ioreq));
>>      ioreq->blkdev = blkdev;
>>      QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
>> -    blkdev->requests_finished--;
>> +    if (finish)
>> +        blkdev->requests_finished--;
>> +    else
>> +        blkdev->requests_inflight--;
>>  }
>>  
>>  /*
>> @@ -449,7 +452,7 @@ static void blk_send_response_all(struct
>>      while (!QLIST_EMPTY(&blkdev->finished)) {
>>          ioreq = QLIST_FIRST(&blkdev->finished);
>>          send_notify += blk_send_response_one(ioreq);
>> -        ioreq_release(ioreq);
>> +        ioreq_release(ioreq, true);
>>      }
>>      if (send_notify) {
>>          xen_be_send_notify(&blkdev->xendev);
>> @@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
>>              if (blk_send_response_one(ioreq)) {
>>                  xen_be_send_notify(&blkdev->xendev);
>>              }
>> -            ioreq_release(ioreq);
>> +            ioreq_release(ioreq, false);
>>              continue;
>>          }
> 
> In case of an error returned by ioreq_parse requests_finished should
> also be decremented.

I don't think so - it gets incremented in ioreq_finish(), and that gets
called only when I/O was at least attempted (which isn't the case
when parse failed).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 07:39:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 07:39:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STps6-0003OS-6d; Mon, 14 May 2012 07:39:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STps5-0003ON-99
	for xen-devel@lists.xen.org; Mon, 14 May 2012 07:39:09 +0000
Received: from [193.109.254.147:8039] by server-2.bemta-14.messagelabs.com id
	23/66-19409-C96B0BF4; Mon, 14 May 2012 07:39:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336981147!9072977!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24554 invoked from network); 14 May 2012 07:39:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 07:39:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 08:39:07 +0100
Message-Id: <4FB0D2B70200007800083547@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 08:39:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] qemu/xendisk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 18:01, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Thu, 10 May 2012, Jan Beulich wrote:
>> While for the "normal" case (called from blk_send_response_all())
>> decrementing requests_finished is correct, doing so in the parse error
>> case is wrong; requests_inflight needs to be decremented instead.
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> 
>> --- a/hw/xen_disk.c
>> +++ b/hw/xen_disk.c
>> @@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
>>      blkdev->requests_finished++;
>>  }
>>  
>> -static void ioreq_release(struct ioreq *ioreq)
>> +static void ioreq_release(struct ioreq *ioreq, bool finish)
>>  {
>>      struct XenBlkDev *blkdev = ioreq->blkdev;
>>  
>> @@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
>>      memset(ioreq, 0, sizeof(*ioreq));
>>      ioreq->blkdev = blkdev;
>>      QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
>> -    blkdev->requests_finished--;
>> +    if (finish)
>> +        blkdev->requests_finished--;
>> +    else
>> +        blkdev->requests_inflight--;
>>  }
>>  
>>  /*
>> @@ -449,7 +452,7 @@ static void blk_send_response_all(struct
>>      while (!QLIST_EMPTY(&blkdev->finished)) {
>>          ioreq = QLIST_FIRST(&blkdev->finished);
>>          send_notify += blk_send_response_one(ioreq);
>> -        ioreq_release(ioreq);
>> +        ioreq_release(ioreq, true);
>>      }
>>      if (send_notify) {
>>          xen_be_send_notify(&blkdev->xendev);
>> @@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
>>              if (blk_send_response_one(ioreq)) {
>>                  xen_be_send_notify(&blkdev->xendev);
>>              }
>> -            ioreq_release(ioreq);
>> +            ioreq_release(ioreq, false);
>>              continue;
>>          }
> 
> In case of an error returned by ioreq_parse requests_finished should
> also be decremented.

I don't think so - it gets incremented in ioreq_finish(), and that gets
called only when I/O was at least attempted (which isn't the case
when parse failed).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 07:41:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 07:41:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STpuC-0003Sm-N2; Mon, 14 May 2012 07:41:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STpuB-0003Sh-Fh
	for xen-devel@lists.xen.org; Mon, 14 May 2012 07:41:19 +0000
Received: from [193.109.254.147:14128] by server-2.bemta-14.messagelabs.com id
	84/98-19409-E17B0BF4; Mon, 14 May 2012 07:41:18 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336981277!9120819!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7906 invoked from network); 14 May 2012 07:41:17 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 07:41:17 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 08:41:16 +0100
Message-Id: <4FB0D339020000780008354D@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 08:41:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
	<4FAD3C0802000078000830D8@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205111800310.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205111800310.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants
 to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 19:07, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Fri, 11 May 2012, Jan Beulich wrote:
>> >>> On 11.05.12 at 09:19, "Jan Beulich" <JBeulich@suse.com> wrote:
>> > Legacy (non-pvops) gntdev drivers may require this to be done when the
>> > number of grants intended to be used simultaneously exceeds a certain
>> > driver specific default limit.
>> > 
>> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> > 
>> > --- a/hw/xen_disk.c
>> > +++ b/hw/xen_disk.c
>> > @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
>> >      if (xen_mode != XEN_EMULATE) {
>> >          batch_maps = 1;
>> >      }
>> > +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
>> > +            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
>> 
>> In more extensive testing it appears that very rarely this value is still
>> too low:
>> 
>> xen be: qdisk-768: can't map 11 grant refs (Cannot allocate memory, 342 maps)
>> 
>> 342 + 11 = 353 > 352 = 32 * 11
>> 
>> Could someone help out here? I first thought this might be due to
>> use_aio being non-zero, but ioreq_start() doesn't permit more than
>> max_requests struct ioreqs-s to be around.
> 
> Actually 342 + 11 = 353, that should be still OK because it is equal to
> 32 * 11 + 1, where the additional 1 is for the ring, right?

The +1 is for the ring, yes. And the calculation in the driver actually
appears to be fine. It's rather an issue with fragmentation afaict -
the driver needs to allocate 11 contiguous slots, and such may not
be available. I'll send out a v2 of the patch soon, taking fragmentation
into account.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 07:41:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 07:41:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STpuC-0003Sm-N2; Mon, 14 May 2012 07:41:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STpuB-0003Sh-Fh
	for xen-devel@lists.xen.org; Mon, 14 May 2012 07:41:19 +0000
Received: from [193.109.254.147:14128] by server-2.bemta-14.messagelabs.com id
	84/98-19409-E17B0BF4; Mon, 14 May 2012 07:41:18 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336981277!9120819!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7906 invoked from network); 14 May 2012 07:41:17 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 07:41:17 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 08:41:16 +0100
Message-Id: <4FB0D339020000780008354D@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 08:41:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <4FACD9940200007800082F0D@nat28.tlf.novell.com>
	<4FAD3C0802000078000830D8@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205111800310.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205111800310.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu/xendisk: set maximum number of grants
 to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 19:07, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Fri, 11 May 2012, Jan Beulich wrote:
>> >>> On 11.05.12 at 09:19, "Jan Beulich" <JBeulich@suse.com> wrote:
>> > Legacy (non-pvops) gntdev drivers may require this to be done when the
>> > number of grants intended to be used simultaneously exceeds a certain
>> > driver specific default limit.
>> > 
>> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> > 
>> > --- a/hw/xen_disk.c
>> > +++ b/hw/xen_disk.c
>> > @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
>> >      if (xen_mode != XEN_EMULATE) {
>> >          batch_maps = 1;
>> >      }
>> > +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
>> > +            max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
>> 
>> In more extensive testing it appears that very rarely this value is still
>> too low:
>> 
>> xen be: qdisk-768: can't map 11 grant refs (Cannot allocate memory, 342 maps)
>> 
>> 342 + 11 = 353 > 352 = 32 * 11
>> 
>> Could someone help out here? I first thought this might be due to
>> use_aio being non-zero, but ioreq_start() doesn't permit more than
>> max_requests struct ioreqs-s to be around.
> 
> Actually 342 + 11 = 353, that should be still OK because it is equal to
> 32 * 11 + 1, where the additional 1 is for the ring, right?

The +1 is for the ring, yes. And the calculation in the driver actually
appears to be fine. It's rather an issue with fragmentation afaict -
the driver needs to allocate 11 contiguous slots, and such may not
be available. I'll send out a v2 of the patch soon, taking fragmentation
into account.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:05:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqHY-0004Dd-F7; Mon, 14 May 2012 08:05:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STqHW-0004DV-Mt
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:05:26 +0000
Received: from [85.158.143.99:53303] by server-2.bemta-4.messagelabs.com id
	40/9D-17550-5CCB0BF4; Mon, 14 May 2012 08:05:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336982724!26955442!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 418 invoked from network); 14 May 2012 08:05:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 08:05:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 09:05:23 +0100
Message-Id: <4FB0D8DF0200007800083566@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 09:05:19 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Eddie Dong <eddie.dong@intel.com>,
	"xen-devel\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 12.05.12 at 11:12, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> Fix the mistake for debug exception(#DB; generated by INT1), overflow 
> exception(#OF; generated by INTO) and int n instruction emulation.
> 
> #DB should use hardware exception(except #DB generated by opcode 0xf1), #OF 
> should use software exception, which int n instruction should use software 
> interrupt.
> 
> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
> @@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE: 
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. INT3 and 
> + * INT0 use software exception, and INT n should use 

INTO ...

> + * software interrupt.
> + */

Neither comment nor description still say anything about what needs
to be fixed going forward (namely the need to properly handle INT nn
when nn < 0x20).

>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);

While the description correctly mentions the opcode 0xf1 case, the
code makes no attempt at dealing with it. At least a comment would
seem appropriate here, indicating the need for further adjustment.

> @@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
>          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
>          break;
>  
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */

So you're adding one more of these incorrect length settings. This
is particularly harmful here, as iirc some gcc versions generate
2-byte INT 4 instructions in certain overflow checking functions.

As this needs to be taken care of here anyway, we should aim at
fixing it for the other code paths too (as I just saw Eddie also
suggests).

Jan

> +        break;
> +	
>      default:
>          if ( trap > TRAP_last_reserved )
>          {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> +            type = X86_EVENTTYPE_SW_INTERRUPT;
>              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>          }
>          break;




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:05:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqHY-0004Dd-F7; Mon, 14 May 2012 08:05:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STqHW-0004DV-Mt
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:05:26 +0000
Received: from [85.158.143.99:53303] by server-2.bemta-4.messagelabs.com id
	40/9D-17550-5CCB0BF4; Mon, 14 May 2012 08:05:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336982724!26955442!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 418 invoked from network); 14 May 2012 08:05:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 08:05:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 09:05:23 +0100
Message-Id: <4FB0D8DF0200007800083566@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 09:05:19 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Eddie Dong <eddie.dong@intel.com>,
	"xen-devel\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 12.05.12 at 11:12, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> Fix the mistake for debug exception(#DB; generated by INT1), overflow 
> exception(#OF; generated by INTO) and int n instruction emulation.
> 
> #DB should use hardware exception(except #DB generated by opcode 0xf1), #OF 
> should use software exception, which int n instruction should use software 
> interrupt.
> 
> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
> @@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE: 
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. INT3 and 
> + * INT0 use software exception, and INT n should use 

INTO ...

> + * software interrupt.
> + */

Neither comment nor description still say anything about what needs
to be fixed going forward (namely the need to properly handle INT nn
when nn < 0x20).

>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);

While the description correctly mentions the opcode 0xf1 case, the
code makes no attempt at dealing with it. At least a comment would
seem appropriate here, indicating the need for further adjustment.

> @@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
>          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
>          break;
>  
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */

So you're adding one more of these incorrect length settings. This
is particularly harmful here, as iirc some gcc versions generate
2-byte INT 4 instructions in certain overflow checking functions.

As this needs to be taken care of here anyway, we should aim at
fixing it for the other code paths too (as I just saw Eddie also
suggests).

Jan

> +        break;
> +	
>      default:
>          if ( trap > TRAP_last_reserved )
>          {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> +            type = X86_EVENTTYPE_SW_INTERRUPT;
>              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>          }
>          break;




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:15:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:15:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqQg-0004av-Ia; Mon, 14 May 2012 08:14:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STqQf-0004aq-Ik
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:14:53 +0000
Received: from [193.109.254.147:5060] by server-9.bemta-14.messagelabs.com id
	C1/C2-05787-CFEB0BF4; Mon, 14 May 2012 08:14:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336983292!9163939!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18399 invoked from network); 14 May 2012 08:14:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:14:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12450309"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:14:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:14:51 +0100
Message-ID: <1336983290.31817.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Mon, 14 May 2012 09:14:50 +0100
In-Reply-To: <1336898139.2612.1.camel@Abyss>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336778609.27081.1.camel@Abyss> <1336898139.2612.1.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 2012-05-13 at 09:35 +0100, Dario Faggioli wrote:
> On Sat, 2012-05-12 at 01:23 +0200, Dario Faggioli wrote: 
> > On Sat, 2012-05-12 at 01:20 +0200, Dario Faggioli wrote: 
> > > xm supports the following syntax (in the config file) for
> > > specific VCPU to PCPU mapping:
> > > 
> > > cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> > > 
> > > Allow for the same to be done in xl.
> > > 
> > And yes, I'm proposing this for 4.2, as not having it is a feature
> > parity between xm and xl bug someone reported on @xen-users.
> > 
> Damn! I forgot to update the doc (xl manual) accordingly!

That was going to be my first comment ;-)

It would also be useful if the commit message mentions the impact on the
existing syntax -- I'm not sure if this is changing the behaviour of an
existing xl syntax or adding a whole new one (maybe the docs will answer
that).

Ian.

> Feel free to provide any comments but, please, wait for a new and
> complete version before applying.
> 
> Thanks and Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:15:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:15:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqQg-0004av-Ia; Mon, 14 May 2012 08:14:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STqQf-0004aq-Ik
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:14:53 +0000
Received: from [193.109.254.147:5060] by server-9.bemta-14.messagelabs.com id
	C1/C2-05787-CFEB0BF4; Mon, 14 May 2012 08:14:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336983292!9163939!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18399 invoked from network); 14 May 2012 08:14:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:14:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12450309"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:14:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:14:51 +0100
Message-ID: <1336983290.31817.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Mon, 14 May 2012 09:14:50 +0100
In-Reply-To: <1336898139.2612.1.camel@Abyss>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336778609.27081.1.camel@Abyss> <1336898139.2612.1.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 2012-05-13 at 09:35 +0100, Dario Faggioli wrote:
> On Sat, 2012-05-12 at 01:23 +0200, Dario Faggioli wrote: 
> > On Sat, 2012-05-12 at 01:20 +0200, Dario Faggioli wrote: 
> > > xm supports the following syntax (in the config file) for
> > > specific VCPU to PCPU mapping:
> > > 
> > > cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> > > 
> > > Allow for the same to be done in xl.
> > > 
> > And yes, I'm proposing this for 4.2, as not having it is a feature
> > parity between xm and xl bug someone reported on @xen-users.
> > 
> Damn! I forgot to update the doc (xl manual) accordingly!

That was going to be my first comment ;-)

It would also be useful if the commit message mentions the impact on the
existing syntax -- I'm not sure if this is changing the behaviour of an
existing xl syntax or adding a whole new one (maybe the docs will answer
that).

Ian.

> Feel free to provide any comments but, please, wait for a new and
> complete version before applying.
> 
> Thanks and Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:19:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqUx-0004ll-9d; Mon, 14 May 2012 08:19:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STqUv-0004lb-Bl
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:19:17 +0000
Received: from [193.109.254.147:5752] by server-7.bemta-14.messagelabs.com id
	75/62-01627-400C0BF4; Mon, 14 May 2012 08:19:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336983555!6672827!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3159 invoked from network); 14 May 2012 08:19:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:19:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12450426"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:19:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:19:15 +0100
Message-ID: <1336983554.31817.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Mon, 14 May 2012 09:19:14 +0100
In-Reply-To: <20943633a63e0691272b.1336778417@Solace>
References: <20943633a63e0691272b.1336778417@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, 2012-05-12 at 00:20 +0100, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
> 
> cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> 
> Allow for the same to be done in xl.
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> 
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -71,6 +71,8 @@ static uint32_t domid;
>  static const char *common_domname;
>  static int fd_lock = -1;
>  
> +/* Stash for specific vcpu to pcpu mappping */
> +static int *vcpu_to_pcpu;
>  
>  static const char savefileheader_magic[32]=
>      "Xen saved domain, xl format\n \0 \r";
> @@ -630,6 +632,21 @@ static void parse_config_data(const char
>              exit(1);
>          }
>  
> +        /* Prepare the array for single vcpu to pcpu mappings */
> +        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
> +        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
> +
> +        /*
> +         * Idea here is to let libxl think all the domain's vcpus
> +         * have cpu affinity with all the pcpus on the list.
> +         * It is then us, here in xl, that matches each single vcpu
> +         * to its pcpu (and that's why we need to stash such info in
> +         * the vcpu_to_pcpu array now) after the domain has been created.
> +         * Doing it like this saves the burden of passing to libxl
> +         * some big array hosting the single mappings. Also, using
> +         * the cpumap derived from the list ensures memory is being
> +         * allocated on the proper nodes anyway.

So effectively we create the domain pinned to the right nodes and then
rebind all the CPUS later to be mapped to specific phys-processors? This
means that the memory which is allocated is from the correct nodes, even
though we appear to do the pinning later. Clever.


> +         */
>          libxl_cpumap_set_none(&b_info->cpumap);
>          while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
>              i = atoi(buf);
> @@ -638,6 +655,8 @@ static void parse_config_data(const char
>                  exit(1);
>              }
>              libxl_cpumap_set(&b_info->cpumap, i);
> +            if (n_cpus < b_info->max_vcpus)
> +                vcpu_to_pcpu[n_cpus] = i;
>              n_cpus++;
>          }
>      }
> @@ -1709,6 +1728,31 @@ start:
>      if ( ret )
>          goto error_out;
>  
> +    /* If single vcpu to pcpu mapping was requested, honour it */
> +    if (vcpu_to_pcpu) {

This is always allocated above, isn't it? I'm concerned that this might
break the non-1-1 case.

> +        libxl_cpumap vcpu_cpumap;
> +
> +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> +        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
> +
> +            if (vcpu_to_pcpu[i] != -1) {
> +                libxl_cpumap_set_none(&vcpu_cpumap);
> +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> +            } else {
> +                libxl_cpumap_set_any(&vcpu_cpumap);
> +            }
> +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> +                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
> +                libxl_cpumap_dispose(&vcpu_cpumap);
> +                free(vcpu_to_pcpu);
> +                ret = ERROR_FAIL;
> +                goto error_out;
> +            }
> +        }
> +        libxl_cpumap_dispose(&vcpu_cpumap);
> +        free(vcpu_to_pcpu);

vpuc_to_pcpu = NULL, in case you go back around again...

For that reason it might be preferable to put vcpu_to_pcpu struct
dom_info and pass that to parse_config -- I think Goncalo is doing
something similar for the vncviewer option.

> +    }
> +
>      ret = libxl_userdata_store(ctx, domid, "xl",
>                                      config_data, config_len);
>      if (ret) {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:19:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqUx-0004ll-9d; Mon, 14 May 2012 08:19:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STqUv-0004lb-Bl
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:19:17 +0000
Received: from [193.109.254.147:5752] by server-7.bemta-14.messagelabs.com id
	75/62-01627-400C0BF4; Mon, 14 May 2012 08:19:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336983555!6672827!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3159 invoked from network); 14 May 2012 08:19:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:19:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12450426"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:19:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:19:15 +0100
Message-ID: <1336983554.31817.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Mon, 14 May 2012 09:19:14 +0100
In-Reply-To: <20943633a63e0691272b.1336778417@Solace>
References: <20943633a63e0691272b.1336778417@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, 2012-05-12 at 00:20 +0100, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
> 
> cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> 
> Allow for the same to be done in xl.
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> 
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -71,6 +71,8 @@ static uint32_t domid;
>  static const char *common_domname;
>  static int fd_lock = -1;
>  
> +/* Stash for specific vcpu to pcpu mappping */
> +static int *vcpu_to_pcpu;
>  
>  static const char savefileheader_magic[32]=
>      "Xen saved domain, xl format\n \0 \r";
> @@ -630,6 +632,21 @@ static void parse_config_data(const char
>              exit(1);
>          }
>  
> +        /* Prepare the array for single vcpu to pcpu mappings */
> +        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
> +        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
> +
> +        /*
> +         * Idea here is to let libxl think all the domain's vcpus
> +         * have cpu affinity with all the pcpus on the list.
> +         * It is then us, here in xl, that matches each single vcpu
> +         * to its pcpu (and that's why we need to stash such info in
> +         * the vcpu_to_pcpu array now) after the domain has been created.
> +         * Doing it like this saves the burden of passing to libxl
> +         * some big array hosting the single mappings. Also, using
> +         * the cpumap derived from the list ensures memory is being
> +         * allocated on the proper nodes anyway.

So effectively we create the domain pinned to the right nodes and then
rebind all the CPUS later to be mapped to specific phys-processors? This
means that the memory which is allocated is from the correct nodes, even
though we appear to do the pinning later. Clever.


> +         */
>          libxl_cpumap_set_none(&b_info->cpumap);
>          while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
>              i = atoi(buf);
> @@ -638,6 +655,8 @@ static void parse_config_data(const char
>                  exit(1);
>              }
>              libxl_cpumap_set(&b_info->cpumap, i);
> +            if (n_cpus < b_info->max_vcpus)
> +                vcpu_to_pcpu[n_cpus] = i;
>              n_cpus++;
>          }
>      }
> @@ -1709,6 +1728,31 @@ start:
>      if ( ret )
>          goto error_out;
>  
> +    /* If single vcpu to pcpu mapping was requested, honour it */
> +    if (vcpu_to_pcpu) {

This is always allocated above, isn't it? I'm concerned that this might
break the non-1-1 case.

> +        libxl_cpumap vcpu_cpumap;
> +
> +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> +        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
> +
> +            if (vcpu_to_pcpu[i] != -1) {
> +                libxl_cpumap_set_none(&vcpu_cpumap);
> +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> +            } else {
> +                libxl_cpumap_set_any(&vcpu_cpumap);
> +            }
> +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> +                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
> +                libxl_cpumap_dispose(&vcpu_cpumap);
> +                free(vcpu_to_pcpu);
> +                ret = ERROR_FAIL;
> +                goto error_out;
> +            }
> +        }
> +        libxl_cpumap_dispose(&vcpu_cpumap);
> +        free(vcpu_to_pcpu);

vpuc_to_pcpu = NULL, in case you go back around again...

For that reason it might be preferable to put vcpu_to_pcpu struct
dom_info and pass that to parse_config -- I think Goncalo is doing
something similar for the vncviewer option.

> +    }
> +
>      ret = libxl_userdata_store(ctx, domid, "xl",
>                                      config_data, config_len);
>      if (ret) {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:35:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:35:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqk0-0005bT-Ii; Mon, 14 May 2012 08:34:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STqjy-0005bG-OD
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 08:34:51 +0000
Received: from [85.158.139.83:13884] by server-9.bemta-5.messagelabs.com id
	75/58-09826-8A3C0BF4; Mon, 14 May 2012 08:34:48 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336984487!27549131!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9394 invoked from network); 14 May 2012 08:34:47 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:34:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12450859"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:34:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:34:46 +0100
Message-ID: <1336984485.31817.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 09:34:45 +0100
In-Reply-To: <1336801640.3891.17.camel@dagon.hellion.org.uk>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
	<1336801640.3891.17.camel@dagon.hellion.org.uk>
Organization: Citrix Systems, Inc.
Content-Type: multipart/mixed; boundary="=-JAQUWIbHp0H2oacY4bGT"
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--=-JAQUWIbHp0H2oacY4bGT
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

On Sat, 2012-05-12 at 06:47 +0100, Ian Campbell wrote:
> 
> You've been shovelling stuff in all day ;-) I'll refresh/resend on
> Monday.

It applied for me this morning so I suspect you hadn't noticed this:

> You did take note of the "git-ness" of the patch though? -- ISTR your
> tools had trouble with this format last time.

Here it is a gain in non-git format and with the header guards removed
from the compat headers as requested. I stuck with the compat subdir.

qemu-xs-compat.patch is again attached.

8<--------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336984299 -3600
# Node ID e71b19157a4788d8a56bb578f9ddc01cb92c331f
# Parent  54fcdee8740f86c9d3ca4f8bf5b780d292cd11f7
xenstore: rename public xenstore headers


The xenstore header xs.h is producing conflicts with other software[1].

xs is a too short identifier and does not matche the library. Renaming
the headers to xenstore.h and xenstore_lib.h is the easiest way to make
them easy recognizable and prevent furthe problems.

[1]: http://bugs.debian.org/668550

Signed-off-by: Bastian Blank <waldi@debian.org>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 54fcdee8740f -r e71b19157a47 Makefile
--- a/Makefile	Mon May 14 09:11:00 2012 +0100
+++ b/Makefile	Mon May 14 09:31:39 2012 +0100
@@ -241,6 +241,8 @@ uninstall:
 	rm -rf $(D)$(BINDIR)/xenpvnetboot $(D)$(BINDIR)/qemu-*-xen
 	rm -rf $(D)$(INCLUDEDIR)/xenctrl* $(D)$(INCLUDEDIR)/xenguest.h
 	rm -rf $(D)$(INCLUDEDIR)/xs_lib.h $(D)$(INCLUDEDIR)/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xensotre-compat/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore_lib.h $(D)$(INCLUDEDIR)/xenstore.h
 	rm -rf $(D)$(INCLUDEDIR)/xen
 	rm -rf $(D)$(INCLUDEDIR)/_libxl* $(D)$(INCLUDEDIR)/libxl*
 	rm -rf $(D)$(INCLUDEDIR)/xenstat.h $(D)$(INCLUDEDIR)/xentoollog.h
diff -r 54fcdee8740f -r e71b19157a47 extras/mini-os/lib/sys.c
--- a/extras/mini-os/lib/sys.c	Mon May 14 09:11:00 2012 +0100
+++ b/extras/mini-os/lib/sys.c	Mon May 14 09:31:39 2012 +0100
@@ -28,7 +28,7 @@
 #include <blkfront.h>
 #include <fbfront.h>
 #include <xenbus.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/types.h>
 #include <sys/unistd.h>
diff -r 54fcdee8740f -r e71b19157a47 extras/mini-os/lib/xs.c
--- a/extras/mini-os/lib/xs.c	Mon May 14 09:11:00 2012 +0100
+++ b/extras/mini-os/lib/xs.c	Mon May 14 09:31:39 2012 +0100
@@ -9,7 +9,7 @@
 #ifdef HAVE_LIBC
 #include <os.h>
 #include <lib.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xenbus.h>
 #include <stdlib.h>
 #include <unistd.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/Makefile
--- a/tools/Makefile	Mon May 14 09:11:00 2012 +0100
+++ b/tools/Makefile	Mon May 14 09:31:39 2012 +0100
@@ -150,7 +150,8 @@ subdir-all-qemu-xen-dir subdir-install-q
 		--source-path=$$source \
 		--extra-cflags="-I$(XEN_ROOT)/tools/include \
 		-I$(XEN_ROOT)/tools/libxc \
-		-I$(XEN_ROOT)/tools/xenstore" \
+		-I$(XEN_ROOT)/tools/xenstore \
+		-I$(XEN_ROOT)/tools/xenstore/compat" \
 		--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
 		-L$(XEN_ROOT)/tools/xenstore" \
 		--bindir=$(LIBEXEC) \
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/drivers/blktapctrl.c
--- a/tools/blktap/drivers/blktapctrl.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/drivers/blktapctrl.c	Mon May 14 09:31:39 2012 +0100
@@ -47,7 +47,7 @@
 #include <sys/ioctl.h>
 #include <string.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/time.h>
 #include <syslog.h>
 #ifdef MEMSHR
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/lib/blktaplib.h
--- a/tools/blktap/lib/blktaplib.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/lib/blktaplib.h	Mon May 14 09:31:39 2012 +0100
@@ -38,7 +38,7 @@
 #include <xen/xen.h>
 #include <xen/io/blkif.h>
 #include <xen/io/ring.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <unistd.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/lib/xenbus.c
--- a/tools/blktap/lib/xenbus.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/lib/xenbus.c	Mon May 14 09:31:39 2012 +0100
@@ -41,7 +41,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/lib/xs_api.c
--- a/tools/blktap/lib/xs_api.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/lib/xs_api.c	Mon May 14 09:31:39 2012 +0100
@@ -38,7 +38,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/console/client/main.c
--- a/tools/console/client/main.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/console/client/main.c	Mon May 14 09:31:39 2012 +0100
@@ -39,7 +39,7 @@
 #include <sys/stropts.h>
 #endif
 
-#include "xs.h"
+#include <xenstore.h>
 #include "xenctrl.h"
 
 #define ESCAPE_CHARACTER 0x1d
diff -r 54fcdee8740f -r e71b19157a47 tools/console/daemon/io.c
--- a/tools/console/daemon/io.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/console/daemon/io.c	Mon May 14 09:31:39 2012 +0100
@@ -22,7 +22,7 @@
 
 #include "utils.h"
 #include "io.h"
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/console.h>
 
 #include <stdlib.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/console/daemon/utils.h
--- a/tools/console/daemon/utils.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/console/daemon/utils.h	Mon May 14 09:31:39 2012 +0100
@@ -26,7 +26,7 @@
 #include <stdio.h>
 #include <xenctrl.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 void daemonize(const char *pidfile);
 bool xen_setup(void);
diff -r 54fcdee8740f -r e71b19157a47 tools/libvchan/init.c
--- a/tools/libvchan/init.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/libvchan/init.c	Mon May 14 09:31:39 2012 +0100
@@ -40,7 +40,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/evtchn.h>
 #include <xen/sys/gntalloc.h>
 #include <xen/sys/gntdev.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Mon May 14 09:31:39 2012 +0100
@@ -44,7 +44,7 @@
 #include <sys/wait.h>
 #include <sys/socket.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "xentoollog.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/misc/xen-lowmemd.c
--- a/tools/misc/xen-lowmemd.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/misc/xen-lowmemd.c	Mon May 14 09:31:39 2012 +0100
@@ -5,7 +5,7 @@
 
 #include <stdio.h>
 #include <xenctrl.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <stdlib.h>
 #include <string.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/checkpoint/checkpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.c	Mon May 14 09:31:39 2012 +0100
@@ -2,7 +2,7 @@
 
 #include <Python.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "checkpoint.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/checkpoint/checkpoint.h
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.h	Mon May 14 09:31:39 2012 +0100
@@ -8,7 +8,7 @@
 #include <time.h>
 
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 typedef enum {
     dt_unknown,
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c	Mon May 14 09:31:39 2012 +0100
@@ -11,7 +11,7 @@
 
 #include <xenctrl.h>
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include "checkpoint.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/xs/xs.c
--- a/tools/python/xen/lowlevel/xs/xs.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/xs/xs.c	Mon May 14 09:31:39 2012 +0100
@@ -30,7 +30,7 @@
 #include <fcntl.h>
 #include <errno.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 /** @file
  * Python interface to the Xen Store Daemon (xs).
diff -r 54fcdee8740f -r e71b19157a47 tools/tests/mce-test/tools/xen-mceinj.c
--- a/tools/tests/mce-test/tools/xen-mceinj.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/tests/mce-test/tools/xen-mceinj.c	Mon May 14 09:31:39 2012 +0100
@@ -38,7 +38,7 @@
 #include <sys/time.h>
 #include <xen/arch-x86/xen-mca.h>
 #include <xg_save_restore.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #define MCi_type_CTL        0x0
 #define MCi_type_STATUS     0x1
diff -r 54fcdee8740f -r e71b19157a47 tools/xcutils/xc_save.c
--- a/tools/xcutils/xc_save.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xcutils/xc_save.c	Mon May 14 09:31:39 2012 +0100
@@ -19,7 +19,7 @@
 #include <fcntl.h>
 #include <err.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xenguest.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenbackendd/xenbackendd.c
--- a/tools/xenbackendd/xenbackendd.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenbackendd/xenbackendd.c	Mon May 14 09:31:39 2012 +0100
@@ -28,7 +28,7 @@
 #include <string.h>
 #include <syslog.h>
 
-#include <xs.h>
+#include <xenstore.h>
 
 #define DEVTYPE_UNKNOWN 0
 #define DEVTYPE_VIF 1
diff -r 54fcdee8740f -r e71b19157a47 tools/xenpaging/xenpaging.c
--- a/tools/xenpaging/xenpaging.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenpaging/xenpaging.c	Mon May 14 09:31:39 2012 +0100
@@ -29,7 +29,7 @@
 #include <unistd.h>
 #include <poll.h>
 #include <xc_private.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <getopt.h>
 
 #include "xc_bitops.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/xenpmd/xenpmd.c
--- a/tools/xenpmd/xenpmd.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenpmd/xenpmd.c	Mon May 14 09:31:39 2012 +0100
@@ -40,7 +40,7 @@
 #include <dirent.h>
 #include <unistd.h>
 #include <sys/stat.h>
-#include <xs.h>
+#include <xenstore.h>
 
 /* #define RUN_STANDALONE */
 #define RUN_IN_SIMULATE_MODE
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstat/libxenstat/src/xenstat_priv.h
--- a/tools/xenstat/libxenstat/src/xenstat_priv.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstat/libxenstat/src/xenstat_priv.h	Mon May 14 09:31:39 2012 +0100
@@ -24,7 +24,7 @@
 #define XENSTAT_PRIV_H
 
 #include <sys/types.h>
-#include <xs.h>
+#include <xenstore.h>
 #include "xenstat.h"
 
 #include "xenctrl.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/COPYING
--- a/tools/xenstore/COPYING	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/COPYING	Mon May 14 09:31:39 2012 +0100
@@ -1,6 +1,6 @@
 This license (LGPL) applies to the xenstore library which interfaces
-with the xenstore daemon (as stated in xs.c, xs.h, xs_lib.c and
-xs_lib.h).  The remaining files in the directory are licensed as
+with the xenstore daemon (as stated in xs.c, xenstore.h, xs_lib.c and
+xenstore_lib.h).  The remaining files in the directory are licensed as
 stated in the comments (as of this writing, GPL, see ../../COPYING).
 
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/Makefile
--- a/tools/xenstore/Makefile	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/Makefile	Mon May 14 09:31:39 2012 +0100
@@ -109,6 +109,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xenstored
 	$(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored
 	$(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
@@ -122,8 +123,12 @@ install: all
 	ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
 	ln -sf libxenstore.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenstore.so
 	$(INSTALL_DATA) libxenstore.a $(DESTDIR)$(LIBDIR)
-	$(INSTALL_DATA) xs.h $(DESTDIR)$(INCLUDEDIR)
-	$(INSTALL_DATA) xs_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) compat/xs.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs.h
+	$(INSTALL_DATA) compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs_lib.h
+	ln -sf xenstore-compat/xs.h  $(DESTDIR)$(INCLUDEDIR)/xs.h
+	ln -sf xenstore-compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xs_lib.h
 
 -include $(DEPS)
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/compat/xs.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/compat/xs.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,2 @@
+#warning xs.h is deprecated use xenstore.h instead
+#include <xenstore.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/compat/xs_lib.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/compat/xs_lib.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,2 @@
+#warning xs_lib.h is deprecated use xenstore_lib.h instead
+#include <xenstore_lib.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/init-xenstore-domain.c
--- a/tools/xenstore/init-xenstore-domain.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/init-xenstore-domain.c	Mon May 14 09:31:39 2012 +0100
@@ -7,7 +7,7 @@
 #include <sys/mman.h>
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/xenbus_dev.h>
 
 static uint32_t domid = -1;
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/xenstore.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,236 @@
+/* 
+    Xen Store Daemon providing simple tree-like database.
+    Copyright (C) 2005 Rusty Russell IBM Corporation
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef XENSTORE_H
+#define XENSTORE_H
+
+#include <xenstore_lib.h>
+
+#define XBT_NULL 0
+
+#define XS_OPEN_READONLY	1UL<<0
+#define XS_OPEN_SOCKETONLY      1UL<<1
+
+struct xs_handle;
+typedef uint32_t xs_transaction_t;
+
+/* IMPORTANT: For details on xenstore protocol limits, see
+ * docs/misc/xenstore.txt in the Xen public source repository, and use the
+ * XENSTORE_*_MAX limit macros defined in xen/io/xs_wire.h.
+ */
+
+/* On failure, these routines set errno. */
+
+/* Open a connection to the xs daemon.
+ * Attempts to make a connection over the socket interface, 
+ * and if it fails, then over the  xenbus interface.
+ * Mode 0 specifies read-write access, XS_OPEN_READONLY for
+ * read-only access.
+ * Returns a handle or NULL.
+ */
+struct xs_handle *xs_open(unsigned long flags);
+
+/* Close the connection to the xs daemon. */
+void xs_close(struct xs_handle *xsh);
+
+/* Connect to the xs daemon.
+ * Returns a handle or NULL.
+ * Deprecated, please use xs_open(0) instead
+ */
+struct xs_handle *xs_daemon_open(void);
+struct xs_handle *xs_domain_open(void);
+
+/* Connect to the xs daemon (readonly for non-root clients).
+ * Returns a handle or NULL.
+ * Deprecated, please use xs_open(XS_OPEN_READONLY) instead
+ */
+struct xs_handle *xs_daemon_open_readonly(void);
+
+/* Close the connection to the xs daemon.
+ * Deprecated, please use xs_close() instead
+ */
+void xs_daemon_close(struct xs_handle *);
+
+/* Throw away the connection to the xs daemon, for use after fork(). */
+void xs_daemon_destroy_postfork(struct xs_handle *);
+
+/* Get contents of a directory.
+ * Returns a malloced array: call free() on it after use.
+ * Num indicates size.
+ */
+char **xs_directory(struct xs_handle *h, xs_transaction_t t,
+		    const char *path, unsigned int *num);
+
+/* Get the value of a single file, nul terminated.
+ * Returns a malloced value: call free() on it after use.
+ * len indicates length in bytes, not including terminator.
+ */
+void *xs_read(struct xs_handle *h, xs_transaction_t t,
+	      const char *path, unsigned int *len);
+
+/* Write the value of a single file.
+ * Returns false on failure.
+ */
+bool xs_write(struct xs_handle *h, xs_transaction_t t,
+	      const char *path, const void *data, unsigned int len);
+
+/* Create a new directory.
+ * Returns false on failure, or success if it already exists.
+ */
+bool xs_mkdir(struct xs_handle *h, xs_transaction_t t,
+	      const char *path);
+
+/* Destroy a file or directory (and children).
+ * Returns false on failure, or if it doesn't exist.
+ */
+bool xs_rm(struct xs_handle *h, xs_transaction_t t,
+	   const char *path);
+
+/* Restrict a xenstore handle so that it acts as if it had the
+ * permissions of domain @domid.  The handle must currently be
+ * using domain 0's credentials.
+ *
+ * Returns false on failure, in which case the handle continues
+ * to use the old credentials, or true on success.
+ */
+bool xs_restrict(struct xs_handle *h, unsigned domid);
+
+/* Get permissions of node (first element is owner, first perms is "other").
+ * Returns malloced array, or NULL: call free() after use.
+ */
+struct xs_permissions *xs_get_permissions(struct xs_handle *h,
+					  xs_transaction_t t,
+					  const char *path, unsigned int *num);
+
+/* Set permissions of node (must be owner).
+ * Returns false on failure.
+ */
+bool xs_set_permissions(struct xs_handle *h, xs_transaction_t t,
+			const char *path, struct xs_permissions *perms,
+			unsigned int num_perms);
+
+/* Watch a node for changes (poll on fd to detect, or call read_watch()).
+ * When the node (or any child) changes, fd will become readable.
+ * Token is returned when watch is read, to allow matching.
+ * Returns false on failure.
+ */
+bool xs_watch(struct xs_handle *h, const char *path, const char *token);
+
+/* Return the FD to poll on to see if a watch has fired. */
+int xs_fileno(struct xs_handle *h);
+
+/* Check for node changes.  On success, returns a non-NULL pointer ret
+ * such that ret[0] and ret[1] are valid C strings, namely the
+ * triggering path (see docs/misc/xenstore.txt) and the token (from
+ * xs_watch).  On error return value is NULL setting errno.
+ * 
+ * Callers should, after xs_fileno has become readable, repeatedly
+ * call xs_check_watch until it returns NULL and sets errno to EAGAIN.
+ * (If the fd became readable, xs_check_watch is allowed to make it no
+ * longer show up as readable even if future calls to xs_check_watch
+ * will return more watch events.)
+ *
+ * After the caller is finished with the returned information it
+ * should be freed all in one go with free(ret).
+ */
+char **xs_check_watch(struct xs_handle *h);
+
+/* Find out what node change was on (will block if nothing pending).
+ * Returns array containing the path and token. Use XS_WATCH_* to access these
+ * elements. Call free() after use.
+ */
+char **xs_read_watch(struct xs_handle *h, unsigned int *num);
+
+/* Remove a watch on a node: implicitly acks any outstanding watch.
+ * Returns false on failure (no watch on that node).
+ */
+bool xs_unwatch(struct xs_handle *h, const char *path, const char *token);
+
+/* Start a transaction: changes by others will not be seen during this
+ * transaction, and changes will not be visible to others until end.
+ * Returns NULL on failure.
+ */
+xs_transaction_t xs_transaction_start(struct xs_handle *h);
+
+/* End a transaction.
+ * If abandon is true, transaction is discarded instead of committed.
+ * Returns false on failure: if errno == EAGAIN, you have to restart
+ * transaction.
+ */
+bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
+			bool abort);
+
+/* Introduce a new domain.
+ * This tells the store daemon about a shared memory page, event channel and
+ * store path associated with a domain: the domain uses these to communicate.
+ */
+bool xs_introduce_domain(struct xs_handle *h,
+			 unsigned int domid,
+			 unsigned long mfn,
+                         unsigned int eventchn); 
+
+/* Set the target of a domain
+ * This tells the store daemon that a domain is targetting another one, so
+ * it should let it tinker with it.
+ */
+bool xs_set_target(struct xs_handle *h,
+		   unsigned int domid,
+		   unsigned int target);
+
+/* Resume a domain.
+ * Clear the shutdown flag for this domain in the store.
+ */
+bool xs_resume_domain(struct xs_handle *h, unsigned int domid);
+
+/* Release a domain.
+ * Tells the store domain to release the memory page to the domain.
+ */
+bool xs_release_domain(struct xs_handle *h, unsigned int domid);
+
+/* Query the home path of a domain.  Call free() after use.
+ */
+char *xs_get_domain_path(struct xs_handle *h, unsigned int domid);
+
+/* Returns true if child is either equal to parent, or a node underneath
+ * parent; or false otherwise.  Done by string comparison, so relative and
+ * absolute pathnames never in a parent/child relationship by this
+ * definition.  Cannot fail.
+ */
+bool xs_path_is_subpath(const char *parent, const char *child);
+
+/* Return whether the domain specified has been introduced to xenstored.
+ */
+bool xs_is_domain_introduced(struct xs_handle *h, unsigned int domid);
+
+/* Only useful for DEBUG versions */
+char *xs_debug_command(struct xs_handle *h, const char *cmd,
+		       void *data, unsigned int len);
+
+int xs_suspend_evtchn_port(int domid);
+#endif /* XENSTORE_H */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstore_client.c	Mon May 14 09:31:39 2012 +0100
@@ -18,7 +18,7 @@
 #include <string.h>
 #include <termios.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/ioctl.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore_control.c
--- a/tools/xenstore/xenstore_control.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstore_control.c	Mon May 14 09:31:39 2012 +0100
@@ -2,7 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "xs.h"
+#include "xenstore.h"
 
 
 int main(int argc, char **argv)
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore_lib.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/xenstore_lib.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,85 @@
+/* 
+    Common routines between Xen store user library and daemon.
+    Copyright (C) 2005 Rusty Russell IBM Corporation
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef XENSTORE_LIB_H
+#define XENSTORE_LIB_H
+
+#include <stdbool.h>
+#include <limits.h>
+#include <errno.h>
+#include <stdint.h>
+#include <xen/io/xs_wire.h>
+
+/* Bitmask of permissions. */
+enum xs_perm_type {
+	XS_PERM_NONE = 0,
+	XS_PERM_READ = 1,
+	XS_PERM_WRITE = 2,
+	/* Internal use. */
+	XS_PERM_ENOENT_OK = 4,
+	XS_PERM_OWNER = 8,
+};
+
+struct xs_permissions
+{
+	unsigned int id;
+	enum xs_perm_type perms;
+};
+
+/* Each 10 bits takes ~ 3 digits, plus one, plus one for nul terminator. */
+#define MAX_STRLEN(x) ((sizeof(x) * CHAR_BIT + CHAR_BIT-1) / 10 * 3 + 2)
+
+/* Path for various daemon things: env vars can override. */
+const char *xs_daemon_rootdir(void);
+const char *xs_daemon_rundir(void);
+const char *xs_daemon_socket(void);
+const char *xs_daemon_socket_ro(void);
+const char *xs_domain_dev(void);
+const char *xs_daemon_tdb(void);
+
+/* Simple write function: loops for you. */
+bool xs_write_all(int fd, const void *data, unsigned int len);
+
+/* Convert strings to permissions.  False if a problem. */
+bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
+			 const char *strings);
+
+/* Convert permissions to a string (up to len MAX_STRLEN(unsigned int)+1). */
+bool xs_perm_to_string(const struct xs_permissions *perm,
+                       char *buffer, size_t buf_len);
+
+/* Given a string and a length, count how many strings (nul terms). */
+unsigned int xs_count_strings(const char *strings, unsigned int len);
+
+/* Sanitising (quoting) possibly-binary strings. */
+struct expanding_buffer {
+	char *buf;
+	int avail;
+};
+
+/* Ensure that given expanding buffer has at least min_avail characters. */
+char *expanding_buffer_ensure(struct expanding_buffer *, int min_avail);
+
+/* sanitise_value() may return NULL if malloc fails. */
+char *sanitise_value(struct expanding_buffer *, const char *val, unsigned len);
+
+/* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
+void unsanitise_value(char *out, unsigned *out_len_r, const char *in);
+
+#endif /* XENSTORE_LIB_H */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_core.c
--- a/tools/xenstore/xenstored_core.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_core.c	Mon May 14 09:31:39 2012 +0100
@@ -44,7 +44,7 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "xenstored_core.h"
 #include "xenstored_watch.h"
 #include "xenstored_transaction.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_core.h
--- a/tools/xenstore/xenstored_core.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_core.h	Mon May 14 09:31:39 2012 +0100
@@ -27,7 +27,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "list.h"
 #include "tdb.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_transaction.c
--- a/tools/xenstore/xenstored_transaction.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_transaction.c	Mon May 14 09:31:39 2012 +0100
@@ -33,7 +33,7 @@
 #include "xenstored_transaction.h"
 #include "xenstored_watch.h"
 #include "xenstored_domain.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 
 struct changed_node
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_watch.c
--- a/tools/xenstore/xenstored_watch.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_watch.c	Mon May 14 09:31:39 2012 +0100
@@ -27,7 +27,7 @@
 #include "talloc.h"
 #include "list.h"
 #include "xenstored_watch.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 #include "xenstored_domain.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xs.c	Mon May 14 09:31:39 2012 +0100
@@ -32,7 +32,7 @@
 #include <signal.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs.h"
+#include "xenstore.h"
 #include "list.h"
 #include "utils.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs.h
--- a/tools/xenstore/xs.h	Mon May 14 09:11:00 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/* 
-    Xen Store Daemon providing simple tree-like database.
-    Copyright (C) 2005 Rusty Russell IBM Corporation
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef _XS_H
-#define _XS_H
-
-#include <xs_lib.h>
-
-#define XBT_NULL 0
-
-#define XS_OPEN_READONLY	1UL<<0
-#define XS_OPEN_SOCKETONLY      1UL<<1
-
-struct xs_handle;
-typedef uint32_t xs_transaction_t;
-
-/* IMPORTANT: For details on xenstore protocol limits, see
- * docs/misc/xenstore.txt in the Xen public source repository, and use the
- * XENSTORE_*_MAX limit macros defined in xen/io/xs_wire.h.
- */
-
-/* On failure, these routines set errno. */
-
-/* Open a connection to the xs daemon.
- * Attempts to make a connection over the socket interface, 
- * and if it fails, then over the  xenbus interface.
- * Mode 0 specifies read-write access, XS_OPEN_READONLY for
- * read-only access.
- * Returns a handle or NULL.
- */
-struct xs_handle *xs_open(unsigned long flags);
-
-/* Close the connection to the xs daemon. */
-void xs_close(struct xs_handle *xsh);
-
-/* Connect to the xs daemon.
- * Returns a handle or NULL.
- * Deprecated, please use xs_open(0) instead
- */
-struct xs_handle *xs_daemon_open(void);
-struct xs_handle *xs_domain_open(void);
-
-/* Connect to the xs daemon (readonly for non-root clients).
- * Returns a handle or NULL.
- * Deprecated, please use xs_open(XS_OPEN_READONLY) instead
- */
-struct xs_handle *xs_daemon_open_readonly(void);
-
-/* Close the connection to the xs daemon.
- * Deprecated, please use xs_close() instead
- */
-void xs_daemon_close(struct xs_handle *);
-
-/* Throw away the connection to the xs daemon, for use after fork(). */
-void xs_daemon_destroy_postfork(struct xs_handle *);
-
-/* Get contents of a directory.
- * Returns a malloced array: call free() on it after use.
- * Num indicates size.
- */
-char **xs_directory(struct xs_handle *h, xs_transaction_t t,
-		    const char *path, unsigned int *num);
-
-/* Get the value of a single file, nul terminated.
- * Returns a malloced value: call free() on it after use.
- * len indicates length in bytes, not including terminator.
- */
-void *xs_read(struct xs_handle *h, xs_transaction_t t,
-	      const char *path, unsigned int *len);
-
-/* Write the value of a single file.
- * Returns false on failure.
- */
-bool xs_write(struct xs_handle *h, xs_transaction_t t,
-	      const char *path, const void *data, unsigned int len);
-
-/* Create a new directory.
- * Returns false on failure, or success if it already exists.
- */
-bool xs_mkdir(struct xs_handle *h, xs_transaction_t t,
-	      const char *path);
-
-/* Destroy a file or directory (and children).
- * Returns false on failure, or if it doesn't exist.
- */
-bool xs_rm(struct xs_handle *h, xs_transaction_t t,
-	   const char *path);
-
-/* Restrict a xenstore handle so that it acts as if it had the
- * permissions of domain @domid.  The handle must currently be
- * using domain 0's credentials.
- *
- * Returns false on failure, in which case the handle continues
- * to use the old credentials, or true on success.
- */
-bool xs_restrict(struct xs_handle *h, unsigned domid);
-
-/* Get permissions of node (first element is owner, first perms is "other").
- * Returns malloced array, or NULL: call free() after use.
- */
-struct xs_permissions *xs_get_permissions(struct xs_handle *h,
-					  xs_transaction_t t,
-					  const char *path, unsigned int *num);
-
-/* Set permissions of node (must be owner).
- * Returns false on failure.
- */
-bool xs_set_permissions(struct xs_handle *h, xs_transaction_t t,
-			const char *path, struct xs_permissions *perms,
-			unsigned int num_perms);
-
-/* Watch a node for changes (poll on fd to detect, or call read_watch()).
- * When the node (or any child) changes, fd will become readable.
- * Token is returned when watch is read, to allow matching.
- * Returns false on failure.
- */
-bool xs_watch(struct xs_handle *h, const char *path, const char *token);
-
-/* Return the FD to poll on to see if a watch has fired. */
-int xs_fileno(struct xs_handle *h);
-
-/* Check for node changes.  On success, returns a non-NULL pointer ret
- * such that ret[0] and ret[1] are valid C strings, namely the
- * triggering path (see docs/misc/xenstore.txt) and the token (from
- * xs_watch).  On error return value is NULL setting errno.
- * 
- * Callers should, after xs_fileno has become readable, repeatedly
- * call xs_check_watch until it returns NULL and sets errno to EAGAIN.
- * (If the fd became readable, xs_check_watch is allowed to make it no
- * longer show up as readable even if future calls to xs_check_watch
- * will return more watch events.)
- *
- * After the caller is finished with the returned information it
- * should be freed all in one go with free(ret).
- */
-char **xs_check_watch(struct xs_handle *h);
-
-/* Find out what node change was on (will block if nothing pending).
- * Returns array containing the path and token. Use XS_WATCH_* to access these
- * elements. Call free() after use.
- */
-char **xs_read_watch(struct xs_handle *h, unsigned int *num);
-
-/* Remove a watch on a node: implicitly acks any outstanding watch.
- * Returns false on failure (no watch on that node).
- */
-bool xs_unwatch(struct xs_handle *h, const char *path, const char *token);
-
-/* Start a transaction: changes by others will not be seen during this
- * transaction, and changes will not be visible to others until end.
- * Returns NULL on failure.
- */
-xs_transaction_t xs_transaction_start(struct xs_handle *h);
-
-/* End a transaction.
- * If abandon is true, transaction is discarded instead of committed.
- * Returns false on failure: if errno == EAGAIN, you have to restart
- * transaction.
- */
-bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
-			bool abort);
-
-/* Introduce a new domain.
- * This tells the store daemon about a shared memory page, event channel and
- * store path associated with a domain: the domain uses these to communicate.
- */
-bool xs_introduce_domain(struct xs_handle *h,
-			 unsigned int domid,
-			 unsigned long mfn,
-                         unsigned int eventchn); 
-
-/* Set the target of a domain
- * This tells the store daemon that a domain is targetting another one, so
- * it should let it tinker with it.
- */
-bool xs_set_target(struct xs_handle *h,
-		   unsigned int domid,
-		   unsigned int target);
-
-/* Resume a domain.
- * Clear the shutdown flag for this domain in the store.
- */
-bool xs_resume_domain(struct xs_handle *h, unsigned int domid);
-
-/* Release a domain.
- * Tells the store domain to release the memory page to the domain.
- */
-bool xs_release_domain(struct xs_handle *h, unsigned int domid);
-
-/* Query the home path of a domain.  Call free() after use.
- */
-char *xs_get_domain_path(struct xs_handle *h, unsigned int domid);
-
-/* Returns true if child is either equal to parent, or a node underneath
- * parent; or false otherwise.  Done by string comparison, so relative and
- * absolute pathnames never in a parent/child relationship by this
- * definition.  Cannot fail.
- */
-bool xs_path_is_subpath(const char *parent, const char *child);
-
-/* Return whether the domain specified has been introduced to xenstored.
- */
-bool xs_is_domain_introduced(struct xs_handle *h, unsigned int domid);
-
-/* Only useful for DEBUG versions */
-char *xs_debug_command(struct xs_handle *h, const char *cmd,
-		       void *data, unsigned int len);
-
-int xs_suspend_evtchn_port(int domid);
-#endif /* _XS_H */
-
-/*
- * Local variables:
- *  c-file-style: "linux"
- *  indent-tabs-mode: t
- *  c-indent-level: 8
- *  c-basic-offset: 8
- *  tab-width: 8
- * End:
- */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs_lib.c
--- a/tools/xenstore/xs_lib.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xs_lib.c	Mon May 14 09:31:39 2012 +0100
@@ -23,7 +23,7 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <assert.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 
 /* Common routines for the Xen store daemon and client library. */
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs_lib.h
--- a/tools/xenstore/xs_lib.h	Mon May 14 09:11:00 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/* 
-    Common routines between Xen store user library and daemon.
-    Copyright (C) 2005 Rusty Russell IBM Corporation
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef _XS_LIB_H
-#define _XS_LIB_H
-
-#include <stdbool.h>
-#include <limits.h>
-#include <errno.h>
-#include <stdint.h>
-#include <xen/io/xs_wire.h>
-
-/* Bitmask of permissions. */
-enum xs_perm_type {
-	XS_PERM_NONE = 0,
-	XS_PERM_READ = 1,
-	XS_PERM_WRITE = 2,
-	/* Internal use. */
-	XS_PERM_ENOENT_OK = 4,
-	XS_PERM_OWNER = 8,
-};
-
-struct xs_permissions
-{
-	unsigned int id;
-	enum xs_perm_type perms;
-};
-
-/* Each 10 bits takes ~ 3 digits, plus one, plus one for nul terminator. */
-#define MAX_STRLEN(x) ((sizeof(x) * CHAR_BIT + CHAR_BIT-1) / 10 * 3 + 2)
-
-/* Path for various daemon things: env vars can override. */
-const char *xs_daemon_rootdir(void);
-const char *xs_daemon_rundir(void);
-const char *xs_daemon_socket(void);
-const char *xs_daemon_socket_ro(void);
-const char *xs_domain_dev(void);
-const char *xs_daemon_tdb(void);
-
-/* Simple write function: loops for you. */
-bool xs_write_all(int fd, const void *data, unsigned int len);
-
-/* Convert strings to permissions.  False if a problem. */
-bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
-			 const char *strings);
-
-/* Convert permissions to a string (up to len MAX_STRLEN(unsigned int)+1). */
-bool xs_perm_to_string(const struct xs_permissions *perm,
-                       char *buffer, size_t buf_len);
-
-/* Given a string and a length, count how many strings (nul terms). */
-unsigned int xs_count_strings(const char *strings, unsigned int len);
-
-/* Sanitising (quoting) possibly-binary strings. */
-struct expanding_buffer {
-	char *buf;
-	int avail;
-};
-
-/* Ensure that given expanding buffer has at least min_avail characters. */
-char *expanding_buffer_ensure(struct expanding_buffer *, int min_avail);
-
-/* sanitise_value() may return NULL if malloc fails. */
-char *sanitise_value(struct expanding_buffer *, const char *val, unsigned len);
-
-/* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
-void unsanitise_value(char *out, unsigned *out_len_r, const char *in);
-
-#endif /* _XS_LIB_H */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs_tdb_dump.c
--- a/tools/xenstore/xs_tdb_dump.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xs_tdb_dump.c	Mon May 14 09:31:39 2012 +0100
@@ -5,7 +5,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 #include <string.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "tdb.h"
 #include "talloc.h"
 #include "utils.h"


--=-JAQUWIbHp0H2oacY4bGT
Content-Disposition: attachment; filename="qemu-xs-compat.patch"
Content-Type: text/x-patch; name="qemu-xs-compat.patch"; charset="UTF-8"
Content-Transfer-Encoding: 7bit

qemu-xen-traditional: use compat xenstore headers.

Pending a transition to the new names

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff --git a/Makefile b/Makefile
index 37c7066..a43ca67 100644
--- a/Makefile
+++ b/Makefile
@@ -49,6 +49,7 @@ recurse-all: $(SUBDIR_RULES)
 CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
 CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS += -I$(XEN_ROOT)/tools/include
 
 tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
diff --git a/xen-hooks.mak b/xen-hooks.mak
index b55f45b..8e9cadf 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -1,5 +1,6 @@
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
 
 SSE2 := $(call cc-option,-msse2,)

--=-JAQUWIbHp0H2oacY4bGT
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=-JAQUWIbHp0H2oacY4bGT--


From xen-devel-bounces@lists.xen.org Mon May 14 08:35:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:35:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STqk0-0005bT-Ii; Mon, 14 May 2012 08:34:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STqjy-0005bG-OD
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 08:34:51 +0000
Received: from [85.158.139.83:13884] by server-9.bemta-5.messagelabs.com id
	75/58-09826-8A3C0BF4; Mon, 14 May 2012 08:34:48 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336984487!27549131!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9394 invoked from network); 14 May 2012 08:34:47 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:34:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12450859"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:34:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:34:46 +0100
Message-ID: <1336984485.31817.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 09:34:45 +0100
In-Reply-To: <1336801640.3891.17.camel@dagon.hellion.org.uk>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
	<1336801640.3891.17.camel@dagon.hellion.org.uk>
Organization: Citrix Systems, Inc.
Content-Type: multipart/mixed; boundary="=-JAQUWIbHp0H2oacY4bGT"
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--=-JAQUWIbHp0H2oacY4bGT
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

On Sat, 2012-05-12 at 06:47 +0100, Ian Campbell wrote:
> 
> You've been shovelling stuff in all day ;-) I'll refresh/resend on
> Monday.

It applied for me this morning so I suspect you hadn't noticed this:

> You did take note of the "git-ness" of the patch though? -- ISTR your
> tools had trouble with this format last time.

Here it is a gain in non-git format and with the header guards removed
from the compat headers as requested. I stuck with the compat subdir.

qemu-xs-compat.patch is again attached.

8<--------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1336984299 -3600
# Node ID e71b19157a4788d8a56bb578f9ddc01cb92c331f
# Parent  54fcdee8740f86c9d3ca4f8bf5b780d292cd11f7
xenstore: rename public xenstore headers


The xenstore header xs.h is producing conflicts with other software[1].

xs is a too short identifier and does not matche the library. Renaming
the headers to xenstore.h and xenstore_lib.h is the easiest way to make
them easy recognizable and prevent furthe problems.

[1]: http://bugs.debian.org/668550

Signed-off-by: Bastian Blank <waldi@debian.org>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 54fcdee8740f -r e71b19157a47 Makefile
--- a/Makefile	Mon May 14 09:11:00 2012 +0100
+++ b/Makefile	Mon May 14 09:31:39 2012 +0100
@@ -241,6 +241,8 @@ uninstall:
 	rm -rf $(D)$(BINDIR)/xenpvnetboot $(D)$(BINDIR)/qemu-*-xen
 	rm -rf $(D)$(INCLUDEDIR)/xenctrl* $(D)$(INCLUDEDIR)/xenguest.h
 	rm -rf $(D)$(INCLUDEDIR)/xs_lib.h $(D)$(INCLUDEDIR)/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xensotre-compat/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore_lib.h $(D)$(INCLUDEDIR)/xenstore.h
 	rm -rf $(D)$(INCLUDEDIR)/xen
 	rm -rf $(D)$(INCLUDEDIR)/_libxl* $(D)$(INCLUDEDIR)/libxl*
 	rm -rf $(D)$(INCLUDEDIR)/xenstat.h $(D)$(INCLUDEDIR)/xentoollog.h
diff -r 54fcdee8740f -r e71b19157a47 extras/mini-os/lib/sys.c
--- a/extras/mini-os/lib/sys.c	Mon May 14 09:11:00 2012 +0100
+++ b/extras/mini-os/lib/sys.c	Mon May 14 09:31:39 2012 +0100
@@ -28,7 +28,7 @@
 #include <blkfront.h>
 #include <fbfront.h>
 #include <xenbus.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/types.h>
 #include <sys/unistd.h>
diff -r 54fcdee8740f -r e71b19157a47 extras/mini-os/lib/xs.c
--- a/extras/mini-os/lib/xs.c	Mon May 14 09:11:00 2012 +0100
+++ b/extras/mini-os/lib/xs.c	Mon May 14 09:31:39 2012 +0100
@@ -9,7 +9,7 @@
 #ifdef HAVE_LIBC
 #include <os.h>
 #include <lib.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xenbus.h>
 #include <stdlib.h>
 #include <unistd.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/Makefile
--- a/tools/Makefile	Mon May 14 09:11:00 2012 +0100
+++ b/tools/Makefile	Mon May 14 09:31:39 2012 +0100
@@ -150,7 +150,8 @@ subdir-all-qemu-xen-dir subdir-install-q
 		--source-path=$$source \
 		--extra-cflags="-I$(XEN_ROOT)/tools/include \
 		-I$(XEN_ROOT)/tools/libxc \
-		-I$(XEN_ROOT)/tools/xenstore" \
+		-I$(XEN_ROOT)/tools/xenstore \
+		-I$(XEN_ROOT)/tools/xenstore/compat" \
 		--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
 		-L$(XEN_ROOT)/tools/xenstore" \
 		--bindir=$(LIBEXEC) \
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/drivers/blktapctrl.c
--- a/tools/blktap/drivers/blktapctrl.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/drivers/blktapctrl.c	Mon May 14 09:31:39 2012 +0100
@@ -47,7 +47,7 @@
 #include <sys/ioctl.h>
 #include <string.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/time.h>
 #include <syslog.h>
 #ifdef MEMSHR
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/lib/blktaplib.h
--- a/tools/blktap/lib/blktaplib.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/lib/blktaplib.h	Mon May 14 09:31:39 2012 +0100
@@ -38,7 +38,7 @@
 #include <xen/xen.h>
 #include <xen/io/blkif.h>
 #include <xen/io/ring.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <unistd.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/lib/xenbus.c
--- a/tools/blktap/lib/xenbus.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/lib/xenbus.c	Mon May 14 09:31:39 2012 +0100
@@ -41,7 +41,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/blktap/lib/xs_api.c
--- a/tools/blktap/lib/xs_api.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/blktap/lib/xs_api.c	Mon May 14 09:31:39 2012 +0100
@@ -38,7 +38,7 @@
 #include <err.h>
 #include <stdarg.h>
 #include <errno.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/console/client/main.c
--- a/tools/console/client/main.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/console/client/main.c	Mon May 14 09:31:39 2012 +0100
@@ -39,7 +39,7 @@
 #include <sys/stropts.h>
 #endif
 
-#include "xs.h"
+#include <xenstore.h>
 #include "xenctrl.h"
 
 #define ESCAPE_CHARACTER 0x1d
diff -r 54fcdee8740f -r e71b19157a47 tools/console/daemon/io.c
--- a/tools/console/daemon/io.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/console/daemon/io.c	Mon May 14 09:31:39 2012 +0100
@@ -22,7 +22,7 @@
 
 #include "utils.h"
 #include "io.h"
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/console.h>
 
 #include <stdlib.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/console/daemon/utils.h
--- a/tools/console/daemon/utils.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/console/daemon/utils.h	Mon May 14 09:31:39 2012 +0100
@@ -26,7 +26,7 @@
 #include <stdio.h>
 #include <xenctrl.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 void daemonize(const char *pidfile);
 bool xen_setup(void);
diff -r 54fcdee8740f -r e71b19157a47 tools/libvchan/init.c
--- a/tools/libvchan/init.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/libvchan/init.c	Mon May 14 09:31:39 2012 +0100
@@ -40,7 +40,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/evtchn.h>
 #include <xen/sys/gntalloc.h>
 #include <xen/sys/gntdev.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Mon May 14 09:31:39 2012 +0100
@@ -44,7 +44,7 @@
 #include <sys/wait.h>
 #include <sys/socket.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "xentoollog.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/misc/xen-lowmemd.c
--- a/tools/misc/xen-lowmemd.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/misc/xen-lowmemd.c	Mon May 14 09:31:39 2012 +0100
@@ -5,7 +5,7 @@
 
 #include <stdio.h>
 #include <xenctrl.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <stdlib.h>
 #include <string.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/checkpoint/checkpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.c	Mon May 14 09:31:39 2012 +0100
@@ -2,7 +2,7 @@
 
 #include <Python.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 
 #include "checkpoint.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/checkpoint/checkpoint.h
--- a/tools/python/xen/lowlevel/checkpoint/checkpoint.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/checkpoint/checkpoint.h	Mon May 14 09:31:39 2012 +0100
@@ -8,7 +8,7 @@
 #include <time.h>
 
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 typedef enum {
     dt_unknown,
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
--- a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c	Mon May 14 09:31:39 2012 +0100
@@ -11,7 +11,7 @@
 
 #include <xenctrl.h>
 #include <xenguest.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include "checkpoint.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/python/xen/lowlevel/xs/xs.c
--- a/tools/python/xen/lowlevel/xs/xs.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/python/xen/lowlevel/xs/xs.c	Mon May 14 09:31:39 2012 +0100
@@ -30,7 +30,7 @@
 #include <fcntl.h>
 #include <errno.h>
 
-#include "xs.h"
+#include <xenstore.h>
 
 /** @file
  * Python interface to the Xen Store Daemon (xs).
diff -r 54fcdee8740f -r e71b19157a47 tools/tests/mce-test/tools/xen-mceinj.c
--- a/tools/tests/mce-test/tools/xen-mceinj.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/tests/mce-test/tools/xen-mceinj.c	Mon May 14 09:31:39 2012 +0100
@@ -38,7 +38,7 @@
 #include <sys/time.h>
 #include <xen/arch-x86/xen-mca.h>
 #include <xg_save_restore.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #define MCi_type_CTL        0x0
 #define MCi_type_STATUS     0x1
diff -r 54fcdee8740f -r e71b19157a47 tools/xcutils/xc_save.c
--- a/tools/xcutils/xc_save.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xcutils/xc_save.c	Mon May 14 09:31:39 2012 +0100
@@ -19,7 +19,7 @@
 #include <fcntl.h>
 #include <err.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xenguest.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenbackendd/xenbackendd.c
--- a/tools/xenbackendd/xenbackendd.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenbackendd/xenbackendd.c	Mon May 14 09:31:39 2012 +0100
@@ -28,7 +28,7 @@
 #include <string.h>
 #include <syslog.h>
 
-#include <xs.h>
+#include <xenstore.h>
 
 #define DEVTYPE_UNKNOWN 0
 #define DEVTYPE_VIF 1
diff -r 54fcdee8740f -r e71b19157a47 tools/xenpaging/xenpaging.c
--- a/tools/xenpaging/xenpaging.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenpaging/xenpaging.c	Mon May 14 09:31:39 2012 +0100
@@ -29,7 +29,7 @@
 #include <unistd.h>
 #include <poll.h>
 #include <xc_private.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <getopt.h>
 
 #include "xc_bitops.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/xenpmd/xenpmd.c
--- a/tools/xenpmd/xenpmd.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenpmd/xenpmd.c	Mon May 14 09:31:39 2012 +0100
@@ -40,7 +40,7 @@
 #include <dirent.h>
 #include <unistd.h>
 #include <sys/stat.h>
-#include <xs.h>
+#include <xenstore.h>
 
 /* #define RUN_STANDALONE */
 #define RUN_IN_SIMULATE_MODE
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstat/libxenstat/src/xenstat_priv.h
--- a/tools/xenstat/libxenstat/src/xenstat_priv.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstat/libxenstat/src/xenstat_priv.h	Mon May 14 09:31:39 2012 +0100
@@ -24,7 +24,7 @@
 #define XENSTAT_PRIV_H
 
 #include <sys/types.h>
-#include <xs.h>
+#include <xenstore.h>
 #include "xenstat.h"
 
 #include "xenctrl.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/COPYING
--- a/tools/xenstore/COPYING	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/COPYING	Mon May 14 09:31:39 2012 +0100
@@ -1,6 +1,6 @@
 This license (LGPL) applies to the xenstore library which interfaces
-with the xenstore daemon (as stated in xs.c, xs.h, xs_lib.c and
-xs_lib.h).  The remaining files in the directory are licensed as
+with the xenstore daemon (as stated in xs.c, xenstore.h, xs_lib.c and
+xenstore_lib.h).  The remaining files in the directory are licensed as
 stated in the comments (as of this writing, GPL, see ../../COPYING).
 
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/Makefile
--- a/tools/xenstore/Makefile	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/Makefile	Mon May 14 09:31:39 2012 +0100
@@ -109,6 +109,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xenstored
 	$(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored
 	$(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
@@ -122,8 +123,12 @@ install: all
 	ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
 	ln -sf libxenstore.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenstore.so
 	$(INSTALL_DATA) libxenstore.a $(DESTDIR)$(LIBDIR)
-	$(INSTALL_DATA) xs.h $(DESTDIR)$(INCLUDEDIR)
-	$(INSTALL_DATA) xs_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) xenstore_lib.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_DATA) compat/xs.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs.h
+	$(INSTALL_DATA) compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs_lib.h
+	ln -sf xenstore-compat/xs.h  $(DESTDIR)$(INCLUDEDIR)/xs.h
+	ln -sf xenstore-compat/xs_lib.h $(DESTDIR)$(INCLUDEDIR)/xs_lib.h
 
 -include $(DEPS)
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/compat/xs.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/compat/xs.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,2 @@
+#warning xs.h is deprecated use xenstore.h instead
+#include <xenstore.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/compat/xs_lib.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/compat/xs_lib.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,2 @@
+#warning xs_lib.h is deprecated use xenstore_lib.h instead
+#include <xenstore_lib.h>
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/init-xenstore-domain.c
--- a/tools/xenstore/init-xenstore-domain.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/init-xenstore-domain.c	Mon May 14 09:31:39 2012 +0100
@@ -7,7 +7,7 @@
 #include <sys/mman.h>
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/sys/xenbus_dev.h>
 
 static uint32_t domid = -1;
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/xenstore.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,236 @@
+/* 
+    Xen Store Daemon providing simple tree-like database.
+    Copyright (C) 2005 Rusty Russell IBM Corporation
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef XENSTORE_H
+#define XENSTORE_H
+
+#include <xenstore_lib.h>
+
+#define XBT_NULL 0
+
+#define XS_OPEN_READONLY	1UL<<0
+#define XS_OPEN_SOCKETONLY      1UL<<1
+
+struct xs_handle;
+typedef uint32_t xs_transaction_t;
+
+/* IMPORTANT: For details on xenstore protocol limits, see
+ * docs/misc/xenstore.txt in the Xen public source repository, and use the
+ * XENSTORE_*_MAX limit macros defined in xen/io/xs_wire.h.
+ */
+
+/* On failure, these routines set errno. */
+
+/* Open a connection to the xs daemon.
+ * Attempts to make a connection over the socket interface, 
+ * and if it fails, then over the  xenbus interface.
+ * Mode 0 specifies read-write access, XS_OPEN_READONLY for
+ * read-only access.
+ * Returns a handle or NULL.
+ */
+struct xs_handle *xs_open(unsigned long flags);
+
+/* Close the connection to the xs daemon. */
+void xs_close(struct xs_handle *xsh);
+
+/* Connect to the xs daemon.
+ * Returns a handle or NULL.
+ * Deprecated, please use xs_open(0) instead
+ */
+struct xs_handle *xs_daemon_open(void);
+struct xs_handle *xs_domain_open(void);
+
+/* Connect to the xs daemon (readonly for non-root clients).
+ * Returns a handle or NULL.
+ * Deprecated, please use xs_open(XS_OPEN_READONLY) instead
+ */
+struct xs_handle *xs_daemon_open_readonly(void);
+
+/* Close the connection to the xs daemon.
+ * Deprecated, please use xs_close() instead
+ */
+void xs_daemon_close(struct xs_handle *);
+
+/* Throw away the connection to the xs daemon, for use after fork(). */
+void xs_daemon_destroy_postfork(struct xs_handle *);
+
+/* Get contents of a directory.
+ * Returns a malloced array: call free() on it after use.
+ * Num indicates size.
+ */
+char **xs_directory(struct xs_handle *h, xs_transaction_t t,
+		    const char *path, unsigned int *num);
+
+/* Get the value of a single file, nul terminated.
+ * Returns a malloced value: call free() on it after use.
+ * len indicates length in bytes, not including terminator.
+ */
+void *xs_read(struct xs_handle *h, xs_transaction_t t,
+	      const char *path, unsigned int *len);
+
+/* Write the value of a single file.
+ * Returns false on failure.
+ */
+bool xs_write(struct xs_handle *h, xs_transaction_t t,
+	      const char *path, const void *data, unsigned int len);
+
+/* Create a new directory.
+ * Returns false on failure, or success if it already exists.
+ */
+bool xs_mkdir(struct xs_handle *h, xs_transaction_t t,
+	      const char *path);
+
+/* Destroy a file or directory (and children).
+ * Returns false on failure, or if it doesn't exist.
+ */
+bool xs_rm(struct xs_handle *h, xs_transaction_t t,
+	   const char *path);
+
+/* Restrict a xenstore handle so that it acts as if it had the
+ * permissions of domain @domid.  The handle must currently be
+ * using domain 0's credentials.
+ *
+ * Returns false on failure, in which case the handle continues
+ * to use the old credentials, or true on success.
+ */
+bool xs_restrict(struct xs_handle *h, unsigned domid);
+
+/* Get permissions of node (first element is owner, first perms is "other").
+ * Returns malloced array, or NULL: call free() after use.
+ */
+struct xs_permissions *xs_get_permissions(struct xs_handle *h,
+					  xs_transaction_t t,
+					  const char *path, unsigned int *num);
+
+/* Set permissions of node (must be owner).
+ * Returns false on failure.
+ */
+bool xs_set_permissions(struct xs_handle *h, xs_transaction_t t,
+			const char *path, struct xs_permissions *perms,
+			unsigned int num_perms);
+
+/* Watch a node for changes (poll on fd to detect, or call read_watch()).
+ * When the node (or any child) changes, fd will become readable.
+ * Token is returned when watch is read, to allow matching.
+ * Returns false on failure.
+ */
+bool xs_watch(struct xs_handle *h, const char *path, const char *token);
+
+/* Return the FD to poll on to see if a watch has fired. */
+int xs_fileno(struct xs_handle *h);
+
+/* Check for node changes.  On success, returns a non-NULL pointer ret
+ * such that ret[0] and ret[1] are valid C strings, namely the
+ * triggering path (see docs/misc/xenstore.txt) and the token (from
+ * xs_watch).  On error return value is NULL setting errno.
+ * 
+ * Callers should, after xs_fileno has become readable, repeatedly
+ * call xs_check_watch until it returns NULL and sets errno to EAGAIN.
+ * (If the fd became readable, xs_check_watch is allowed to make it no
+ * longer show up as readable even if future calls to xs_check_watch
+ * will return more watch events.)
+ *
+ * After the caller is finished with the returned information it
+ * should be freed all in one go with free(ret).
+ */
+char **xs_check_watch(struct xs_handle *h);
+
+/* Find out what node change was on (will block if nothing pending).
+ * Returns array containing the path and token. Use XS_WATCH_* to access these
+ * elements. Call free() after use.
+ */
+char **xs_read_watch(struct xs_handle *h, unsigned int *num);
+
+/* Remove a watch on a node: implicitly acks any outstanding watch.
+ * Returns false on failure (no watch on that node).
+ */
+bool xs_unwatch(struct xs_handle *h, const char *path, const char *token);
+
+/* Start a transaction: changes by others will not be seen during this
+ * transaction, and changes will not be visible to others until end.
+ * Returns NULL on failure.
+ */
+xs_transaction_t xs_transaction_start(struct xs_handle *h);
+
+/* End a transaction.
+ * If abandon is true, transaction is discarded instead of committed.
+ * Returns false on failure: if errno == EAGAIN, you have to restart
+ * transaction.
+ */
+bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
+			bool abort);
+
+/* Introduce a new domain.
+ * This tells the store daemon about a shared memory page, event channel and
+ * store path associated with a domain: the domain uses these to communicate.
+ */
+bool xs_introduce_domain(struct xs_handle *h,
+			 unsigned int domid,
+			 unsigned long mfn,
+                         unsigned int eventchn); 
+
+/* Set the target of a domain
+ * This tells the store daemon that a domain is targetting another one, so
+ * it should let it tinker with it.
+ */
+bool xs_set_target(struct xs_handle *h,
+		   unsigned int domid,
+		   unsigned int target);
+
+/* Resume a domain.
+ * Clear the shutdown flag for this domain in the store.
+ */
+bool xs_resume_domain(struct xs_handle *h, unsigned int domid);
+
+/* Release a domain.
+ * Tells the store domain to release the memory page to the domain.
+ */
+bool xs_release_domain(struct xs_handle *h, unsigned int domid);
+
+/* Query the home path of a domain.  Call free() after use.
+ */
+char *xs_get_domain_path(struct xs_handle *h, unsigned int domid);
+
+/* Returns true if child is either equal to parent, or a node underneath
+ * parent; or false otherwise.  Done by string comparison, so relative and
+ * absolute pathnames never in a parent/child relationship by this
+ * definition.  Cannot fail.
+ */
+bool xs_path_is_subpath(const char *parent, const char *child);
+
+/* Return whether the domain specified has been introduced to xenstored.
+ */
+bool xs_is_domain_introduced(struct xs_handle *h, unsigned int domid);
+
+/* Only useful for DEBUG versions */
+char *xs_debug_command(struct xs_handle *h, const char *cmd,
+		       void *data, unsigned int len);
+
+int xs_suspend_evtchn_port(int domid);
+#endif /* XENSTORE_H */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstore_client.c	Mon May 14 09:31:39 2012 +0100
@@ -18,7 +18,7 @@
 #include <string.h>
 #include <termios.h>
 #include <unistd.h>
-#include <xs.h>
+#include <xenstore.h>
 
 #include <sys/ioctl.h>
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore_control.c
--- a/tools/xenstore/xenstore_control.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstore_control.c	Mon May 14 09:31:39 2012 +0100
@@ -2,7 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "xs.h"
+#include "xenstore.h"
 
 
 int main(int argc, char **argv)
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstore_lib.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xenstore/xenstore_lib.h	Mon May 14 09:31:39 2012 +0100
@@ -0,0 +1,85 @@
+/* 
+    Common routines between Xen store user library and daemon.
+    Copyright (C) 2005 Rusty Russell IBM Corporation
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef XENSTORE_LIB_H
+#define XENSTORE_LIB_H
+
+#include <stdbool.h>
+#include <limits.h>
+#include <errno.h>
+#include <stdint.h>
+#include <xen/io/xs_wire.h>
+
+/* Bitmask of permissions. */
+enum xs_perm_type {
+	XS_PERM_NONE = 0,
+	XS_PERM_READ = 1,
+	XS_PERM_WRITE = 2,
+	/* Internal use. */
+	XS_PERM_ENOENT_OK = 4,
+	XS_PERM_OWNER = 8,
+};
+
+struct xs_permissions
+{
+	unsigned int id;
+	enum xs_perm_type perms;
+};
+
+/* Each 10 bits takes ~ 3 digits, plus one, plus one for nul terminator. */
+#define MAX_STRLEN(x) ((sizeof(x) * CHAR_BIT + CHAR_BIT-1) / 10 * 3 + 2)
+
+/* Path for various daemon things: env vars can override. */
+const char *xs_daemon_rootdir(void);
+const char *xs_daemon_rundir(void);
+const char *xs_daemon_socket(void);
+const char *xs_daemon_socket_ro(void);
+const char *xs_domain_dev(void);
+const char *xs_daemon_tdb(void);
+
+/* Simple write function: loops for you. */
+bool xs_write_all(int fd, const void *data, unsigned int len);
+
+/* Convert strings to permissions.  False if a problem. */
+bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
+			 const char *strings);
+
+/* Convert permissions to a string (up to len MAX_STRLEN(unsigned int)+1). */
+bool xs_perm_to_string(const struct xs_permissions *perm,
+                       char *buffer, size_t buf_len);
+
+/* Given a string and a length, count how many strings (nul terms). */
+unsigned int xs_count_strings(const char *strings, unsigned int len);
+
+/* Sanitising (quoting) possibly-binary strings. */
+struct expanding_buffer {
+	char *buf;
+	int avail;
+};
+
+/* Ensure that given expanding buffer has at least min_avail characters. */
+char *expanding_buffer_ensure(struct expanding_buffer *, int min_avail);
+
+/* sanitise_value() may return NULL if malloc fails. */
+char *sanitise_value(struct expanding_buffer *, const char *val, unsigned len);
+
+/* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
+void unsanitise_value(char *out, unsigned *out_len_r, const char *in);
+
+#endif /* XENSTORE_LIB_H */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_core.c
--- a/tools/xenstore/xenstored_core.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_core.c	Mon May 14 09:31:39 2012 +0100
@@ -44,7 +44,7 @@
 #include "utils.h"
 #include "list.h"
 #include "talloc.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "xenstored_core.h"
 #include "xenstored_watch.h"
 #include "xenstored_transaction.h"
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_core.h
--- a/tools/xenstore/xenstored_core.h	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_core.h	Mon May 14 09:31:39 2012 +0100
@@ -27,7 +27,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "list.h"
 #include "tdb.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_transaction.c
--- a/tools/xenstore/xenstored_transaction.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_transaction.c	Mon May 14 09:31:39 2012 +0100
@@ -33,7 +33,7 @@
 #include "xenstored_transaction.h"
 #include "xenstored_watch.h"
 #include "xenstored_domain.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 
 struct changed_node
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xenstored_watch.c
--- a/tools/xenstore/xenstored_watch.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xenstored_watch.c	Mon May 14 09:31:39 2012 +0100
@@ -27,7 +27,7 @@
 #include "talloc.h"
 #include "list.h"
 #include "xenstored_watch.h"
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "utils.h"
 #include "xenstored_domain.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xs.c	Mon May 14 09:31:39 2012 +0100
@@ -32,7 +32,7 @@
 #include <signal.h>
 #include <stdint.h>
 #include <errno.h>
-#include "xs.h"
+#include "xenstore.h"
 #include "list.h"
 #include "utils.h"
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs.h
--- a/tools/xenstore/xs.h	Mon May 14 09:11:00 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/* 
-    Xen Store Daemon providing simple tree-like database.
-    Copyright (C) 2005 Rusty Russell IBM Corporation
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef _XS_H
-#define _XS_H
-
-#include <xs_lib.h>
-
-#define XBT_NULL 0
-
-#define XS_OPEN_READONLY	1UL<<0
-#define XS_OPEN_SOCKETONLY      1UL<<1
-
-struct xs_handle;
-typedef uint32_t xs_transaction_t;
-
-/* IMPORTANT: For details on xenstore protocol limits, see
- * docs/misc/xenstore.txt in the Xen public source repository, and use the
- * XENSTORE_*_MAX limit macros defined in xen/io/xs_wire.h.
- */
-
-/* On failure, these routines set errno. */
-
-/* Open a connection to the xs daemon.
- * Attempts to make a connection over the socket interface, 
- * and if it fails, then over the  xenbus interface.
- * Mode 0 specifies read-write access, XS_OPEN_READONLY for
- * read-only access.
- * Returns a handle or NULL.
- */
-struct xs_handle *xs_open(unsigned long flags);
-
-/* Close the connection to the xs daemon. */
-void xs_close(struct xs_handle *xsh);
-
-/* Connect to the xs daemon.
- * Returns a handle or NULL.
- * Deprecated, please use xs_open(0) instead
- */
-struct xs_handle *xs_daemon_open(void);
-struct xs_handle *xs_domain_open(void);
-
-/* Connect to the xs daemon (readonly for non-root clients).
- * Returns a handle or NULL.
- * Deprecated, please use xs_open(XS_OPEN_READONLY) instead
- */
-struct xs_handle *xs_daemon_open_readonly(void);
-
-/* Close the connection to the xs daemon.
- * Deprecated, please use xs_close() instead
- */
-void xs_daemon_close(struct xs_handle *);
-
-/* Throw away the connection to the xs daemon, for use after fork(). */
-void xs_daemon_destroy_postfork(struct xs_handle *);
-
-/* Get contents of a directory.
- * Returns a malloced array: call free() on it after use.
- * Num indicates size.
- */
-char **xs_directory(struct xs_handle *h, xs_transaction_t t,
-		    const char *path, unsigned int *num);
-
-/* Get the value of a single file, nul terminated.
- * Returns a malloced value: call free() on it after use.
- * len indicates length in bytes, not including terminator.
- */
-void *xs_read(struct xs_handle *h, xs_transaction_t t,
-	      const char *path, unsigned int *len);
-
-/* Write the value of a single file.
- * Returns false on failure.
- */
-bool xs_write(struct xs_handle *h, xs_transaction_t t,
-	      const char *path, const void *data, unsigned int len);
-
-/* Create a new directory.
- * Returns false on failure, or success if it already exists.
- */
-bool xs_mkdir(struct xs_handle *h, xs_transaction_t t,
-	      const char *path);
-
-/* Destroy a file or directory (and children).
- * Returns false on failure, or if it doesn't exist.
- */
-bool xs_rm(struct xs_handle *h, xs_transaction_t t,
-	   const char *path);
-
-/* Restrict a xenstore handle so that it acts as if it had the
- * permissions of domain @domid.  The handle must currently be
- * using domain 0's credentials.
- *
- * Returns false on failure, in which case the handle continues
- * to use the old credentials, or true on success.
- */
-bool xs_restrict(struct xs_handle *h, unsigned domid);
-
-/* Get permissions of node (first element is owner, first perms is "other").
- * Returns malloced array, or NULL: call free() after use.
- */
-struct xs_permissions *xs_get_permissions(struct xs_handle *h,
-					  xs_transaction_t t,
-					  const char *path, unsigned int *num);
-
-/* Set permissions of node (must be owner).
- * Returns false on failure.
- */
-bool xs_set_permissions(struct xs_handle *h, xs_transaction_t t,
-			const char *path, struct xs_permissions *perms,
-			unsigned int num_perms);
-
-/* Watch a node for changes (poll on fd to detect, or call read_watch()).
- * When the node (or any child) changes, fd will become readable.
- * Token is returned when watch is read, to allow matching.
- * Returns false on failure.
- */
-bool xs_watch(struct xs_handle *h, const char *path, const char *token);
-
-/* Return the FD to poll on to see if a watch has fired. */
-int xs_fileno(struct xs_handle *h);
-
-/* Check for node changes.  On success, returns a non-NULL pointer ret
- * such that ret[0] and ret[1] are valid C strings, namely the
- * triggering path (see docs/misc/xenstore.txt) and the token (from
- * xs_watch).  On error return value is NULL setting errno.
- * 
- * Callers should, after xs_fileno has become readable, repeatedly
- * call xs_check_watch until it returns NULL and sets errno to EAGAIN.
- * (If the fd became readable, xs_check_watch is allowed to make it no
- * longer show up as readable even if future calls to xs_check_watch
- * will return more watch events.)
- *
- * After the caller is finished with the returned information it
- * should be freed all in one go with free(ret).
- */
-char **xs_check_watch(struct xs_handle *h);
-
-/* Find out what node change was on (will block if nothing pending).
- * Returns array containing the path and token. Use XS_WATCH_* to access these
- * elements. Call free() after use.
- */
-char **xs_read_watch(struct xs_handle *h, unsigned int *num);
-
-/* Remove a watch on a node: implicitly acks any outstanding watch.
- * Returns false on failure (no watch on that node).
- */
-bool xs_unwatch(struct xs_handle *h, const char *path, const char *token);
-
-/* Start a transaction: changes by others will not be seen during this
- * transaction, and changes will not be visible to others until end.
- * Returns NULL on failure.
- */
-xs_transaction_t xs_transaction_start(struct xs_handle *h);
-
-/* End a transaction.
- * If abandon is true, transaction is discarded instead of committed.
- * Returns false on failure: if errno == EAGAIN, you have to restart
- * transaction.
- */
-bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
-			bool abort);
-
-/* Introduce a new domain.
- * This tells the store daemon about a shared memory page, event channel and
- * store path associated with a domain: the domain uses these to communicate.
- */
-bool xs_introduce_domain(struct xs_handle *h,
-			 unsigned int domid,
-			 unsigned long mfn,
-                         unsigned int eventchn); 
-
-/* Set the target of a domain
- * This tells the store daemon that a domain is targetting another one, so
- * it should let it tinker with it.
- */
-bool xs_set_target(struct xs_handle *h,
-		   unsigned int domid,
-		   unsigned int target);
-
-/* Resume a domain.
- * Clear the shutdown flag for this domain in the store.
- */
-bool xs_resume_domain(struct xs_handle *h, unsigned int domid);
-
-/* Release a domain.
- * Tells the store domain to release the memory page to the domain.
- */
-bool xs_release_domain(struct xs_handle *h, unsigned int domid);
-
-/* Query the home path of a domain.  Call free() after use.
- */
-char *xs_get_domain_path(struct xs_handle *h, unsigned int domid);
-
-/* Returns true if child is either equal to parent, or a node underneath
- * parent; or false otherwise.  Done by string comparison, so relative and
- * absolute pathnames never in a parent/child relationship by this
- * definition.  Cannot fail.
- */
-bool xs_path_is_subpath(const char *parent, const char *child);
-
-/* Return whether the domain specified has been introduced to xenstored.
- */
-bool xs_is_domain_introduced(struct xs_handle *h, unsigned int domid);
-
-/* Only useful for DEBUG versions */
-char *xs_debug_command(struct xs_handle *h, const char *cmd,
-		       void *data, unsigned int len);
-
-int xs_suspend_evtchn_port(int domid);
-#endif /* _XS_H */
-
-/*
- * Local variables:
- *  c-file-style: "linux"
- *  indent-tabs-mode: t
- *  c-indent-level: 8
- *  c-basic-offset: 8
- *  tab-width: 8
- * End:
- */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs_lib.c
--- a/tools/xenstore/xs_lib.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xs_lib.c	Mon May 14 09:31:39 2012 +0100
@@ -23,7 +23,7 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <assert.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 
 /* Common routines for the Xen store daemon and client library. */
 
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs_lib.h
--- a/tools/xenstore/xs_lib.h	Mon May 14 09:11:00 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/* 
-    Common routines between Xen store user library and daemon.
-    Copyright (C) 2005 Rusty Russell IBM Corporation
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef _XS_LIB_H
-#define _XS_LIB_H
-
-#include <stdbool.h>
-#include <limits.h>
-#include <errno.h>
-#include <stdint.h>
-#include <xen/io/xs_wire.h>
-
-/* Bitmask of permissions. */
-enum xs_perm_type {
-	XS_PERM_NONE = 0,
-	XS_PERM_READ = 1,
-	XS_PERM_WRITE = 2,
-	/* Internal use. */
-	XS_PERM_ENOENT_OK = 4,
-	XS_PERM_OWNER = 8,
-};
-
-struct xs_permissions
-{
-	unsigned int id;
-	enum xs_perm_type perms;
-};
-
-/* Each 10 bits takes ~ 3 digits, plus one, plus one for nul terminator. */
-#define MAX_STRLEN(x) ((sizeof(x) * CHAR_BIT + CHAR_BIT-1) / 10 * 3 + 2)
-
-/* Path for various daemon things: env vars can override. */
-const char *xs_daemon_rootdir(void);
-const char *xs_daemon_rundir(void);
-const char *xs_daemon_socket(void);
-const char *xs_daemon_socket_ro(void);
-const char *xs_domain_dev(void);
-const char *xs_daemon_tdb(void);
-
-/* Simple write function: loops for you. */
-bool xs_write_all(int fd, const void *data, unsigned int len);
-
-/* Convert strings to permissions.  False if a problem. */
-bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
-			 const char *strings);
-
-/* Convert permissions to a string (up to len MAX_STRLEN(unsigned int)+1). */
-bool xs_perm_to_string(const struct xs_permissions *perm,
-                       char *buffer, size_t buf_len);
-
-/* Given a string and a length, count how many strings (nul terms). */
-unsigned int xs_count_strings(const char *strings, unsigned int len);
-
-/* Sanitising (quoting) possibly-binary strings. */
-struct expanding_buffer {
-	char *buf;
-	int avail;
-};
-
-/* Ensure that given expanding buffer has at least min_avail characters. */
-char *expanding_buffer_ensure(struct expanding_buffer *, int min_avail);
-
-/* sanitise_value() may return NULL if malloc fails. */
-char *sanitise_value(struct expanding_buffer *, const char *val, unsigned len);
-
-/* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
-void unsanitise_value(char *out, unsigned *out_len_r, const char *in);
-
-#endif /* _XS_LIB_H */
diff -r 54fcdee8740f -r e71b19157a47 tools/xenstore/xs_tdb_dump.c
--- a/tools/xenstore/xs_tdb_dump.c	Mon May 14 09:11:00 2012 +0100
+++ b/tools/xenstore/xs_tdb_dump.c	Mon May 14 09:31:39 2012 +0100
@@ -5,7 +5,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 #include <string.h>
-#include "xs_lib.h"
+#include "xenstore_lib.h"
 #include "tdb.h"
 #include "talloc.h"
 #include "utils.h"


--=-JAQUWIbHp0H2oacY4bGT
Content-Disposition: attachment; filename="qemu-xs-compat.patch"
Content-Type: text/x-patch; name="qemu-xs-compat.patch"; charset="UTF-8"
Content-Transfer-Encoding: 7bit

qemu-xen-traditional: use compat xenstore headers.

Pending a transition to the new names

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff --git a/Makefile b/Makefile
index 37c7066..a43ca67 100644
--- a/Makefile
+++ b/Makefile
@@ -49,6 +49,7 @@ recurse-all: $(SUBDIR_RULES)
 CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
 CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS += -I$(XEN_ROOT)/tools/include
 
 tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
diff --git a/xen-hooks.mak b/xen-hooks.mak
index b55f45b..8e9cadf 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -1,5 +1,6 @@
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/compat
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
 
 SSE2 := $(call cc-option,-msse2,)

--=-JAQUWIbHp0H2oacY4bGT
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=-JAQUWIbHp0H2oacY4bGT--


From xen-devel-bounces@lists.xen.org Mon May 14 08:56:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STr4Y-0006CJ-EO; Mon, 14 May 2012 08:56:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STr4X-0006CE-7D
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:56:05 +0000
Received: from [85.158.138.51:8359] by server-11.bemta-3.messagelabs.com id
	B8/79-18894-4A8C0BF4; Mon, 14 May 2012 08:56:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336985763!27014077!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1040 invoked from network); 14 May 2012 08:56:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:56:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12451388"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:56:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:56:02 +0100
Message-ID: <1336985761.31817.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
Date: Mon, 14 May 2012 09:56:01 +0100
In-Reply-To: <CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 16:06 +0100, Shriram Rajagopalan wrote:
> On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <Ian.Campbell@citrix.com>
> wrote:
>         On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wrote:
>         > On Tue, 8 May 2012, Ian Campbell wrote:
>         > > Where are we with the following?
>         > >
>         > > I've not seen anything recently about PCI passthrough.
>         >
>         > The last patch series that was sent is:
>         >
>         > http://marc.info/?l=qemu-devel&m=133346733411606&w=2
>         >
>         > it is still stuck waiting for reviews. Given that QEMU is in
>         freeze for
>         > the next release release now, I don't think anything is
>         going to happen
>         > in the next few weeks.
>         > I could backport the patch series to the upstream QEMU tree
>         that we use
>         > with xen-unstable, but considering that we are in freeze
>         ourselves and
>         > that upstream QEMU is not used by default with HVM guests we
>         > might as well wait for the beginning of the next release
>         cycle.
>         
>         
>         Thanks. I will mark these as "deferred to 4.3" and remove from
>         the list.
>         If they do go into upstream we can revisit whether we
>         backport.
>         
>         > > Is it still the case that save/restore is waiting on
>         lib{c,l} patches
>         > > and Remus is waiting for those? What's the hold up there?
>         >
>         > The libxl save/restore patches haven't been applied yet.
>         
>         
>         
>         Ian J -- have you dropped these or are you waiting for
>         something?
>         
>         
>          
>         
>  
> Ian J, also note that the remus libxl patches may not apply cleanly
> after
> applying stefano's patches (even these might require some re-basing),
> given that a lot of patches that came in later (the event based stuff,
> Ian C's refactorings,etc)
> went in.
> 
> If you could just let me know when they have been committed, I can
> certainly rebase mine and post them.

Seems like this request was missed -- the libxl save patches seem to be
in now, please do rebase+repost.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 08:56:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 08:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STr4Y-0006CJ-EO; Mon, 14 May 2012 08:56:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STr4X-0006CE-7D
	for xen-devel@lists.xen.org; Mon, 14 May 2012 08:56:05 +0000
Received: from [85.158.138.51:8359] by server-11.bemta-3.messagelabs.com id
	B8/79-18894-4A8C0BF4; Mon, 14 May 2012 08:56:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336985763!27014077!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1040 invoked from network); 14 May 2012 08:56:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 08:56:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12451388"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:56:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:56:02 +0100
Message-ID: <1336985761.31817.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
Date: Mon, 14 May 2012 09:56:01 +0100
In-Reply-To: <CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
References: <1336469655.14542.21.camel@zakaz.uk.xensource.com>
	<1336474322.14542.61.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205081541530.26786@kaball-desktop>
	<1336489170.13218.11.camel@cthulhu.hellion.org.uk>
	<CAP8mzPOnSKR7k5qBPpNNLkdJ6eb3gcsWMO2p1LYP35oyyJvv8Q@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Upstream Qemu Status (Was: Re: 4.2 TODO / Release
 Status)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-08 at 16:06 +0100, Shriram Rajagopalan wrote:
> On Tue, May 8, 2012 at 9:59 AM, Ian Campbell <Ian.Campbell@citrix.com>
> wrote:
>         On Tue, 2012-05-08 at 10:54 -0400, Stefano Stabellini wrote:
>         > On Tue, 8 May 2012, Ian Campbell wrote:
>         > > Where are we with the following?
>         > >
>         > > I've not seen anything recently about PCI passthrough.
>         >
>         > The last patch series that was sent is:
>         >
>         > http://marc.info/?l=qemu-devel&m=133346733411606&w=2
>         >
>         > it is still stuck waiting for reviews. Given that QEMU is in
>         freeze for
>         > the next release release now, I don't think anything is
>         going to happen
>         > in the next few weeks.
>         > I could backport the patch series to the upstream QEMU tree
>         that we use
>         > with xen-unstable, but considering that we are in freeze
>         ourselves and
>         > that upstream QEMU is not used by default with HVM guests we
>         > might as well wait for the beginning of the next release
>         cycle.
>         
>         
>         Thanks. I will mark these as "deferred to 4.3" and remove from
>         the list.
>         If they do go into upstream we can revisit whether we
>         backport.
>         
>         > > Is it still the case that save/restore is waiting on
>         lib{c,l} patches
>         > > and Remus is waiting for those? What's the hold up there?
>         >
>         > The libxl save/restore patches haven't been applied yet.
>         
>         
>         
>         Ian J -- have you dropped these or are you waiting for
>         something?
>         
>         
>          
>         
>  
> Ian J, also note that the remus libxl patches may not apply cleanly
> after
> applying stefano's patches (even these might require some re-basing),
> given that a lot of patches that came in later (the event based stuff,
> Ian C's refactorings,etc)
> went in.
> 
> If you could just let me know when they have been committed, I can
> certainly rebase mine and post them.

Seems like this request was missed -- the libxl save patches seem to be
in now, please do rebase+repost.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:22:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrTP-0006Se-3i; Mon, 14 May 2012 09:21:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrTO-0006SW-4Z
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:21:46 +0000
Received: from [85.158.139.83:49904] by server-6.bemta-5.messagelabs.com id
	6F/35-13222-9AEC0BF4; Mon, 14 May 2012 09:21:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336987304!21014724!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5556 invoked from network); 14 May 2012 09:21:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:21:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452077"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:21:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:21:44 +0100
Message-ID: <1336987293.31817.41.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Mon, 14 May 2012 10:21:33 +0100
In-Reply-To: <5e21532dab5b1c31e54e.1336743092@kodo2>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +
> +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    FILE *f;
> +    int rc = 0;
> +    unsigned dom, bus, dev, func;
> +
> +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> +
> +    if (f == NULL) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> +                         SYSFS_PCIBACK_DRIVER"/slots");
> +        return ERROR_FAIL;
> +    }
> +
> +    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {

Shouldn't this 3 be 4 now that you include dom?

Also ISTR some change to the precise formatting using by the kernel for
BDFs recently (A . became a : or vice versa?). CCing Konrad for input in
case it impacts this too.

The rest all looked fine.

> +        if(dom == pcidev->domain
> +           && bus == pcidev->bus
> +           && dev == pcidev->dev
> +           && func == pcidev->func) {
> +            rc = 1;
> +            goto out;
> +        }
> +    }
> +out:
> +    fclose(f);
> +    return rc;
> +}
> +


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:22:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrTP-0006Se-3i; Mon, 14 May 2012 09:21:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrTO-0006SW-4Z
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:21:46 +0000
Received: from [85.158.139.83:49904] by server-6.bemta-5.messagelabs.com id
	6F/35-13222-9AEC0BF4; Mon, 14 May 2012 09:21:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336987304!21014724!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5556 invoked from network); 14 May 2012 09:21:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:21:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452077"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:21:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:21:44 +0100
Message-ID: <1336987293.31817.41.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Mon, 14 May 2012 10:21:33 +0100
In-Reply-To: <5e21532dab5b1c31e54e.1336743092@kodo2>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +
> +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    FILE *f;
> +    int rc = 0;
> +    unsigned dom, bus, dev, func;
> +
> +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> +
> +    if (f == NULL) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> +                         SYSFS_PCIBACK_DRIVER"/slots");
> +        return ERROR_FAIL;
> +    }
> +
> +    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {

Shouldn't this 3 be 4 now that you include dom?

Also ISTR some change to the precise formatting using by the kernel for
BDFs recently (A . became a : or vice versa?). CCing Konrad for input in
case it impacts this too.

The rest all looked fine.

> +        if(dom == pcidev->domain
> +           && bus == pcidev->bus
> +           && dev == pcidev->dev
> +           && func == pcidev->func) {
> +            rc = 1;
> +            goto out;
> +        }
> +    }
> +out:
> +    fclose(f);
> +    return rc;
> +}
> +


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:24:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:24:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrVf-0006XE-OI; Mon, 14 May 2012 09:24:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrVe-0006X6-0o
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:24:06 +0000
Received: from [193.109.254.147:49326] by server-3.bemta-14.messagelabs.com id
	15/0C-23274-53FC0BF4; Mon, 14 May 2012 09:24:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336987444!2277006!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6262 invoked from network); 14 May 2012 09:24:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:24:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452150"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:24:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:24:04 +0100
Message-ID: <1336987443.31817.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Mon, 14 May 2012 10:24:03 +0100
In-Reply-To: <ba3d30d721eef8c31b33.1336743093@kodo2>
References: <patchbomb.1336743089@kodo2>
	<ba3d30d721eef8c31b33.1336743093@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4 v2] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 14:31 +0100, George Dunlap wrote:
> pci-assignable-add will always store the driver rebind path, but
> pci-assignable-remove will only actually rebind if asked to do so.
> 
> v2:
>  - Use libxl_device_pci_init() instead of memset()
>  - Call xlu_cfg_destroy() properly
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

(one typo below twice, if you don't end up reposting due to comments on
3/4 I'll fix that up as it goes in)

> +static void pciassignable_add(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    libxl_device_pci_init(&pcidev);
> +    
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }

                                      init
[...]
> +static void pciassignable_remove(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    libxl_device_pci_init(&pcidev);
> +
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }

And again.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:24:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:24:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrVf-0006XE-OI; Mon, 14 May 2012 09:24:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrVe-0006X6-0o
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:24:06 +0000
Received: from [193.109.254.147:49326] by server-3.bemta-14.messagelabs.com id
	15/0C-23274-53FC0BF4; Mon, 14 May 2012 09:24:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1336987444!2277006!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6262 invoked from network); 14 May 2012 09:24:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:24:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452150"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:24:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:24:04 +0100
Message-ID: <1336987443.31817.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Mon, 14 May 2012 10:24:03 +0100
In-Reply-To: <ba3d30d721eef8c31b33.1336743093@kodo2>
References: <patchbomb.1336743089@kodo2>
	<ba3d30d721eef8c31b33.1336743093@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 4 of 4 v2] xl: Add pci_assignable_add and
 remove commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-11 at 14:31 +0100, George Dunlap wrote:
> pci-assignable-add will always store the driver rebind path, but
> pci-assignable-remove will only actually rebind if asked to do so.
> 
> v2:
>  - Use libxl_device_pci_init() instead of memset()
>  - Call xlu_cfg_destroy() properly
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

(one typo below twice, if you don't end up reposting due to comments on
3/4 I'll fix that up as it goes in)

> +static void pciassignable_add(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    libxl_device_pci_init(&pcidev);
> +    
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }

                                      init
[...]
> +static void pciassignable_remove(const char *bdf, int rebind)
> +{
> +    libxl_device_pci pcidev;
> +    XLU_Config *config;
> +
> +    libxl_device_pci_init(&pcidev);
> +
> +    config = xlu_cfg_init(stderr, "command line");
> +    if (!config) { perror("xlu_cfg_inig"); exit(-1); }

And again.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrYl-0006g1-Aq; Mon, 14 May 2012 09:27:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STrYk-0006fw-4o
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:27:18 +0000
Received: from [193.109.254.147:31396] by server-11.bemta-14.messagelabs.com
	id 1B/14-05858-5FFC0BF4; Mon, 14 May 2012 09:27:17 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336987618!2290465!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31685 invoked from network); 14 May 2012 09:26:58 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:26:58 -0000
Received: by wibhr14 with SMTP id hr14so1329445wib.14
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 02:26:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=4H37rO4+x915MljWl1uZMlkPC70zfj9w+2yLGKStBXg=;
	b=y3hX7jU0KzV5YZZao/Nf5BmgHc/5s/MV4aQGYFXb8NgewhkS3OAZ9Ow7iOaZWdpQ6B
	nzMLQMD1WOrapYmjH+MIeRjsH97nXtwFIKvK12mxUXB2svzEHy6gwk+AARtG1xxjLHXO
	k7rKQYTetvjIDlIRyLIGizaFqZIug3qFTmxxqpSX5knQTBmy1wCcvLNjOPaL1g9wmfmP
	vz6IUGKWYHo83tkxKMCcfj3AsgXbnc4HJImF0fLCcn5MO8fOfeI+lEW7ZkJFidzalCt+
	nt+7Lou7QQuuKM1c17e+O2JxWFBdLvWd2fQoXfKEHPAHFNdRgVNIJWmCfZSdvg/ACTOy
	X/qA==
Received: by 10.216.142.200 with SMTP id i50mr4661145wej.47.1336987617913;
	Mon, 14 May 2012 02:26:57 -0700 (PDT)
Received: from [127.0.1.1] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id z3sm34991054wix.0.2012.05.14.02.26.55
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 02:26:56 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 0953e429ec0a517b247fd8334f20799d72112c81
Message-Id: <0953e429ec0a517b247f.1336987609@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Mon, 14 May 2012 11:26:49 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU mapping
	in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same in xl.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -108,9 +108,25 @@ created online and the remainder will be
 =item B<cpus="CPU-LIST">
 
 List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
-(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
-will run on cpus 2 and 3).
+`all cpus`. A C<CPU-LIST> may be specified as follows:
+
+=over 4
+
+=item "all"
+
+To allow all the vcpus of the guest tov run on all the cpus on the host.
+
+=item "0-3,5,^1"
+
+To allow all the vcpus of the guest to run on cpus 0,2,3,5.
+
+=item [2, 3]
+
+To ask for specific vcpu mapping. That means (in this example), vcpu #0
+of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
+run on cpu #3 of the host.
+
+=back
 
 =item B<cpu_weight=WEIGHT>
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1714,6 +1733,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu);
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrYl-0006g1-Aq; Mon, 14 May 2012 09:27:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STrYk-0006fw-4o
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:27:18 +0000
Received: from [193.109.254.147:31396] by server-11.bemta-14.messagelabs.com
	id 1B/14-05858-5FFC0BF4; Mon, 14 May 2012 09:27:17 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336987618!2290465!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31685 invoked from network); 14 May 2012 09:26:58 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:26:58 -0000
Received: by wibhr14 with SMTP id hr14so1329445wib.14
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 02:26:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=4H37rO4+x915MljWl1uZMlkPC70zfj9w+2yLGKStBXg=;
	b=y3hX7jU0KzV5YZZao/Nf5BmgHc/5s/MV4aQGYFXb8NgewhkS3OAZ9Ow7iOaZWdpQ6B
	nzMLQMD1WOrapYmjH+MIeRjsH97nXtwFIKvK12mxUXB2svzEHy6gwk+AARtG1xxjLHXO
	k7rKQYTetvjIDlIRyLIGizaFqZIug3qFTmxxqpSX5knQTBmy1wCcvLNjOPaL1g9wmfmP
	vz6IUGKWYHo83tkxKMCcfj3AsgXbnc4HJImF0fLCcn5MO8fOfeI+lEW7ZkJFidzalCt+
	nt+7Lou7QQuuKM1c17e+O2JxWFBdLvWd2fQoXfKEHPAHFNdRgVNIJWmCfZSdvg/ACTOy
	X/qA==
Received: by 10.216.142.200 with SMTP id i50mr4661145wej.47.1336987617913;
	Mon, 14 May 2012 02:26:57 -0700 (PDT)
Received: from [127.0.1.1] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id z3sm34991054wix.0.2012.05.14.02.26.55
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 02:26:56 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 0953e429ec0a517b247fd8334f20799d72112c81
Message-Id: <0953e429ec0a517b247f.1336987609@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Mon, 14 May 2012 11:26:49 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU mapping
	in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same in xl.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -108,9 +108,25 @@ created online and the remainder will be
 =item B<cpus="CPU-LIST">
 
 List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
-(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
-will run on cpus 2 and 3).
+`all cpus`. A C<CPU-LIST> may be specified as follows:
+
+=over 4
+
+=item "all"
+
+To allow all the vcpus of the guest tov run on all the cpus on the host.
+
+=item "0-3,5,^1"
+
+To allow all the vcpus of the guest to run on cpus 0,2,3,5.
+
+=item [2, 3]
+
+To ask for specific vcpu mapping. That means (in this example), vcpu #0
+of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
+run on cpu #3 of the host.
+
+=back
 
 =item B<cpu_weight=WEIGHT>
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1714,6 +1733,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu);
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:29:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:29:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STraA-0006m4-QE; Mon, 14 May 2012 09:28:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STra9-0006lz-Qv
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:28:46 +0000
Received: from [85.158.138.51:53934] by server-11.bemta-3.messagelabs.com id
	69/E4-18894-D40D0BF4; Mon, 14 May 2012 09:28:45 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336987722!27042379!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30789 invoked from network); 14 May 2012 09:28:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:28:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194660853"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:28:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:28:41 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STra5-0007nl-74;
	Mon, 14 May 2012 10:28:41 +0100
Message-ID: <4FB0D047.7010104@citrix.com>
Date: Mon, 14 May 2012 10:28:39 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Bei Guan <gbtju85@gmail.com>
References: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
	<CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
In-Reply-To: <CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bei Guan escribi=F3:
> Hi,
>
> This problem is solved now.
>
> My environment is 64-bit ubuntu and xl needs to find libyajl from the fol=
lowing paths.
>
>     trying file=3D/lib/libyajl.so.2
>     trying file=3D/usr/lib/libyajl.so.2
>     trying file=3D/lib/x86_64-linux-gnu/tls/x86_64/libyajl.so.2
>     trying file=3D/lib/x86_64-linux-gnu/tls/libyajl.so.2
>    ...
>
> However, the actual path of libyajl is /usr/local/lib/libyajl.so.2.0.5 wh=
ere I just installed into.
> So, a symbolic link is enough to solve this problem. Just like this:
> # ln -s /usr/local/lib/libyajl.so.2.0.5 /lib/libyajl.so.2

I'ts probably best to add /usr/local/lib to LD_LIBRARY_PATH instead =

polluting /usr/lib or /lib with symlinks.

> Thanks,
> Bei Guan
>
>
>
>
> 2012/5/12 Bei Guan<gbtju85@gmail.com<mailto:gbtju85@gmail.com>>
> Hi,
>
> When I do "xl list", there is an error like this:
>
> root@gavin-desktop:~# xl list
> xl: error while loading shared libraries: libyajl.so.2: cannot open share=
d object file: No such file or directory
>
> I install the yajl followed this message:
> http://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html
>
> After that, the module libyajl.so.2 is copied to /usr/local/lib/.
>
> Is there any advice on this problem. Thank you so much.
>
>
> Best Regards,
> Bei Guan
>
>
>
>
> --
> Best Regards,
> Bei Guan
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:29:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:29:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STraA-0006m4-QE; Mon, 14 May 2012 09:28:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STra9-0006lz-Qv
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:28:46 +0000
Received: from [85.158.138.51:53934] by server-11.bemta-3.messagelabs.com id
	69/E4-18894-D40D0BF4; Mon, 14 May 2012 09:28:45 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1336987722!27042379!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30789 invoked from network); 14 May 2012 09:28:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:28:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194660853"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:28:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:28:41 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STra5-0007nl-74;
	Mon, 14 May 2012 10:28:41 +0100
Message-ID: <4FB0D047.7010104@citrix.com>
Date: Mon, 14 May 2012 10:28:39 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Bei Guan <gbtju85@gmail.com>
References: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
	<CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
In-Reply-To: <CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bei Guan escribi=F3:
> Hi,
>
> This problem is solved now.
>
> My environment is 64-bit ubuntu and xl needs to find libyajl from the fol=
lowing paths.
>
>     trying file=3D/lib/libyajl.so.2
>     trying file=3D/usr/lib/libyajl.so.2
>     trying file=3D/lib/x86_64-linux-gnu/tls/x86_64/libyajl.so.2
>     trying file=3D/lib/x86_64-linux-gnu/tls/libyajl.so.2
>    ...
>
> However, the actual path of libyajl is /usr/local/lib/libyajl.so.2.0.5 wh=
ere I just installed into.
> So, a symbolic link is enough to solve this problem. Just like this:
> # ln -s /usr/local/lib/libyajl.so.2.0.5 /lib/libyajl.so.2

I'ts probably best to add /usr/local/lib to LD_LIBRARY_PATH instead =

polluting /usr/lib or /lib with symlinks.

> Thanks,
> Bei Guan
>
>
>
>
> 2012/5/12 Bei Guan<gbtju85@gmail.com<mailto:gbtju85@gmail.com>>
> Hi,
>
> When I do "xl list", there is an error like this:
>
> root@gavin-desktop:~# xl list
> xl: error while loading shared libraries: libyajl.so.2: cannot open share=
d object file: No such file or directory
>
> I install the yajl followed this message:
> http://lists.xen.org/archives/html/xen-users/2012-03/msg00325.html
>
> After that, the module libyajl.so.2 is copied to /usr/local/lib/.
>
> Is there any advice on this problem. Thank you so much.
>
>
> Best Regards,
> Bei Guan
>
>
>
>
> --
> Best Regards,
> Bei Guan
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:34:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:34:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrfd-00072p-Jn; Mon, 14 May 2012 09:34:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrfb-00072j-Vt
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:34:24 +0000
Received: from [193.109.254.147:15856] by server-9.bemta-14.messagelabs.com id
	ED/D1-05787-F91D0BF4; Mon, 14 May 2012 09:34:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336988062!9084893!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24678 invoked from network); 14 May 2012 09:34:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:34:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452433"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:34:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:34:22 +0100
Message-ID: <1336988060.31817.51.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Mon, 14 May 2012 10:34:20 +0100
In-Reply-To: <0953e429ec0a517b247f.1336987609@Solace>
References: <0953e429ec0a517b247f.1336987609@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 10:26 +0100, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
> 
> cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> 
> Allow for the same in xl.
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> 
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -108,9 +108,25 @@ created online and the remainder will be
>  =item B<cpus="CPU-LIST">
>  
>  List of which cpus the guest is allowed to use. Default behavior is
> -`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
> -(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
> -will run on cpus 2 and 3).
> +`all cpus`. A C<CPU-LIST> may be specified as follows:
> +
> +=over 4
> +
> +=item "all"
> +
> +To allow all the vcpus of the guest tov run on all the cpus on the host.

typo:                                  to

> +
> +=item "0-3,5,^1"
> +
> +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> +
> +=item [2, 3]

Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
it be confusing the make those distinct, represent the current xl
behaviour and xm behaviour respectively?)

I think you missed my review on the v1 code when preparing this posting
(we probably passed in mid-air)?

> +
> +To ask for specific vcpu mapping. That means (in this example), vcpu #0
> +of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
> +run on cpu #3 of the host.
> +
> +=back
>  
>  =item B<cpu_weight=WEIGHT>
>  
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -71,6 +71,8 @@ static uint32_t domid;
>  static const char *common_domname;
>  static int fd_lock = -1;
>  
> +/* Stash for specific vcpu to pcpu mappping */
> +static int *vcpu_to_pcpu;
>  
>  static const char savefileheader_magic[32]=
>      "Xen saved domain, xl format\n \0 \r";
> @@ -630,6 +632,21 @@ static void parse_config_data(const char
>              exit(1);
>          }
>  
> +        /* Prepare the array for single vcpu to pcpu mappings */
> +        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
> +        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
> +
> +        /*
> +         * Idea here is to let libxl think all the domain's vcpus
> +         * have cpu affinity with all the pcpus on the list.
> +         * It is then us, here in xl, that matches each single vcpu
> +         * to its pcpu (and that's why we need to stash such info in
> +         * the vcpu_to_pcpu array now) after the domain has been created.
> +         * Doing it like this saves the burden of passing to libxl
> +         * some big array hosting the single mappings. Also, using
> +         * the cpumap derived from the list ensures memory is being
> +         * allocated on the proper nodes anyway.
> +         */
>          libxl_cpumap_set_none(&b_info->cpumap);
>          while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
>              i = atoi(buf);
> @@ -638,6 +655,8 @@ static void parse_config_data(const char
>                  exit(1);
>              }
>              libxl_cpumap_set(&b_info->cpumap, i);
> +            if (n_cpus < b_info->max_vcpus)
> +                vcpu_to_pcpu[n_cpus] = i;
>              n_cpus++;
>          }
>      }
> @@ -1714,6 +1733,31 @@ start:
>      if ( ret )
>          goto error_out;
>  
> +    /* If single vcpu to pcpu mapping was requested, honour it */
> +    if (vcpu_to_pcpu) {
> +        libxl_cpumap vcpu_cpumap;
> +
> +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> +        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
> +
> +            if (vcpu_to_pcpu[i] != -1) {
> +                libxl_cpumap_set_none(&vcpu_cpumap);
> +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> +            } else {
> +                libxl_cpumap_set_any(&vcpu_cpumap);
> +            }
> +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> +                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
> +                libxl_cpumap_dispose(&vcpu_cpumap);
> +                free(vcpu_to_pcpu);
> +                ret = ERROR_FAIL;
> +                goto error_out;
> +            }
> +        }
> +        libxl_cpumap_dispose(&vcpu_cpumap);
> +        free(vcpu_to_pcpu);
> +    }
> +
>      ret = libxl_userdata_store(ctx, domid, "xl",
>                                      config_data, config_len);
>      if (ret) {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:34:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:34:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrfd-00072p-Jn; Mon, 14 May 2012 09:34:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrfb-00072j-Vt
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:34:24 +0000
Received: from [193.109.254.147:15856] by server-9.bemta-14.messagelabs.com id
	ED/D1-05787-F91D0BF4; Mon, 14 May 2012 09:34:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1336988062!9084893!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24678 invoked from network); 14 May 2012 09:34:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:34:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452433"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:34:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:34:22 +0100
Message-ID: <1336988060.31817.51.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Mon, 14 May 2012 10:34:20 +0100
In-Reply-To: <0953e429ec0a517b247f.1336987609@Solace>
References: <0953e429ec0a517b247f.1336987609@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 10:26 +0100, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
> 
> cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> 
> Allow for the same in xl.
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> 
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -108,9 +108,25 @@ created online and the remainder will be
>  =item B<cpus="CPU-LIST">
>  
>  List of which cpus the guest is allowed to use. Default behavior is
> -`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
> -(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
> -will run on cpus 2 and 3).
> +`all cpus`. A C<CPU-LIST> may be specified as follows:
> +
> +=over 4
> +
> +=item "all"
> +
> +To allow all the vcpus of the guest tov run on all the cpus on the host.

typo:                                  to

> +
> +=item "0-3,5,^1"
> +
> +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> +
> +=item [2, 3]

Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
it be confusing the make those distinct, represent the current xl
behaviour and xm behaviour respectively?)

I think you missed my review on the v1 code when preparing this posting
(we probably passed in mid-air)?

> +
> +To ask for specific vcpu mapping. That means (in this example), vcpu #0
> +of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
> +run on cpu #3 of the host.
> +
> +=back
>  
>  =item B<cpu_weight=WEIGHT>
>  
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -71,6 +71,8 @@ static uint32_t domid;
>  static const char *common_domname;
>  static int fd_lock = -1;
>  
> +/* Stash for specific vcpu to pcpu mappping */
> +static int *vcpu_to_pcpu;
>  
>  static const char savefileheader_magic[32]=
>      "Xen saved domain, xl format\n \0 \r";
> @@ -630,6 +632,21 @@ static void parse_config_data(const char
>              exit(1);
>          }
>  
> +        /* Prepare the array for single vcpu to pcpu mappings */
> +        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
> +        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
> +
> +        /*
> +         * Idea here is to let libxl think all the domain's vcpus
> +         * have cpu affinity with all the pcpus on the list.
> +         * It is then us, here in xl, that matches each single vcpu
> +         * to its pcpu (and that's why we need to stash such info in
> +         * the vcpu_to_pcpu array now) after the domain has been created.
> +         * Doing it like this saves the burden of passing to libxl
> +         * some big array hosting the single mappings. Also, using
> +         * the cpumap derived from the list ensures memory is being
> +         * allocated on the proper nodes anyway.
> +         */
>          libxl_cpumap_set_none(&b_info->cpumap);
>          while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
>              i = atoi(buf);
> @@ -638,6 +655,8 @@ static void parse_config_data(const char
>                  exit(1);
>              }
>              libxl_cpumap_set(&b_info->cpumap, i);
> +            if (n_cpus < b_info->max_vcpus)
> +                vcpu_to_pcpu[n_cpus] = i;
>              n_cpus++;
>          }
>      }
> @@ -1714,6 +1733,31 @@ start:
>      if ( ret )
>          goto error_out;
>  
> +    /* If single vcpu to pcpu mapping was requested, honour it */
> +    if (vcpu_to_pcpu) {
> +        libxl_cpumap vcpu_cpumap;
> +
> +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> +        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
> +
> +            if (vcpu_to_pcpu[i] != -1) {
> +                libxl_cpumap_set_none(&vcpu_cpumap);
> +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> +            } else {
> +                libxl_cpumap_set_any(&vcpu_cpumap);
> +            }
> +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> +                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
> +                libxl_cpumap_dispose(&vcpu_cpumap);
> +                free(vcpu_to_pcpu);
> +                ret = ERROR_FAIL;
> +                goto error_out;
> +            }
> +        }
> +        libxl_cpumap_dispose(&vcpu_cpumap);
> +        free(vcpu_to_pcpu);
> +    }
> +
>      ret = libxl_userdata_store(ctx, domid, "xl",
>                                      config_data, config_len);
>      if (ret) {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrhQ-000792-8g; Mon, 14 May 2012 09:36:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrhO-00078r-3y
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:36:14 +0000
Received: from [85.158.143.99:47981] by server-2.bemta-4.messagelabs.com id
	F3/EB-17550-D02D0BF4; Mon, 14 May 2012 09:36:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336988171!16665841!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18762 invoked from network); 14 May 2012 09:36:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:36:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452489"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:36:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:36:10 +0100
Message-ID: <1336988169.31817.53.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Mon, 14 May 2012 10:36:09 +0100
In-Reply-To: <4FB0D047.7010104@citrix.com>
References: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
	<CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
	<4FB0D047.7010104@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bei Guan <gbtju85@gmail.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gTW9uLCAyMDEyLTA1LTE0IGF0IDEwOjI4ICswMTAwLCBSb2dlciBQYXUgTW9ubmUgd3JvdGU6
Cj4gQmVpIEd1YW4gZXNjcmliacOzOgo+ID4gSGksCj4gPgo+ID4gVGhpcyBwcm9ibGVtIGlzIHNv
bHZlZCBub3cuCj4gPgo+ID4gTXkgZW52aXJvbm1lbnQgaXMgNjQtYml0IHVidW50dSBhbmQgeGwg
bmVlZHMgdG8gZmluZCBsaWJ5YWpsIGZyb20gdGhlIGZvbGxvd2luZyBwYXRocy4KPiA+Cj4gPiAg
ICAgdHJ5aW5nIGZpbGU9L2xpYi9saWJ5YWpsLnNvLjIKPiA+ICAgICB0cnlpbmcgZmlsZT0vdXNy
L2xpYi9saWJ5YWpsLnNvLjIKPiA+ICAgICB0cnlpbmcgZmlsZT0vbGliL3g4Nl82NC1saW51eC1n
bnUvdGxzL3g4Nl82NC9saWJ5YWpsLnNvLjIKPiA+ICAgICB0cnlpbmcgZmlsZT0vbGliL3g4Nl82
NC1saW51eC1nbnUvdGxzL2xpYnlhamwuc28uMgo+ID4gICAgLi4uCj4gPgo+ID4gSG93ZXZlciwg
dGhlIGFjdHVhbCBwYXRoIG9mIGxpYnlhamwgaXMgL3Vzci9sb2NhbC9saWIvbGlieWFqbC5zby4y
LjAuNSB3aGVyZSBJIGp1c3QgaW5zdGFsbGVkIGludG8uCj4gPiBTbywgYSBzeW1ib2xpYyBsaW5r
IGlzIGVub3VnaCB0byBzb2x2ZSB0aGlzIHByb2JsZW0uIEp1c3QgbGlrZSB0aGlzOgo+ID4gIyBs
biAtcyAvdXNyL2xvY2FsL2xpYi9saWJ5YWpsLnNvLjIuMC41IC9saWIvbGlieWFqbC5zby4yCj4g
Cj4gSSd0cyBwcm9iYWJseSBiZXN0IHRvIGFkZCAvdXNyL2xvY2FsL2xpYiB0byBMRF9MSUJSQVJZ
X1BBVEggaW5zdGVhZCAKPiBwb2xsdXRpbmcgL3Vzci9saWIgb3IgL2xpYiB3aXRoIHN5bWxpbmtz
LgoKV2VpcmQgdGhhdCAvdXNyL2xvY2FsLypzb21ldGhpbmcqIGlzbid0IGluIC9ldGMvbGQuc28u
Y29uZgooL3Vzci9sb2NhbC9saWIgaXMgdGhlcmUgb24gbXkgRGViaWFuIHN5c3RlbSkKCkluIGFu
eSBjYXNlIGl0IGlzIGV2ZW4gYmV0dGVyIHRvIGp1c3QgaW5zdGFsbCB0aGUgbGlieWFqbCBwYWNr
YWdlcyBmcm9tCnlvdXIgZGlzdHJvIC0tIHRoZXJlJ3Mgbm8gcmVxdWlyZW1lbnQgdG8gYnVpbGQg
aXQgZnJvbSBzb3VyY2UuCgpJYW4uCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl
bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 14 09:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrhQ-000792-8g; Mon, 14 May 2012 09:36:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STrhO-00078r-3y
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:36:14 +0000
Received: from [85.158.143.99:47981] by server-2.bemta-4.messagelabs.com id
	F3/EB-17550-D02D0BF4; Mon, 14 May 2012 09:36:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336988171!16665841!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18762 invoked from network); 14 May 2012 09:36:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:36:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452489"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:36:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:36:10 +0100
Message-ID: <1336988169.31817.53.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Mon, 14 May 2012 10:36:09 +0100
In-Reply-To: <4FB0D047.7010104@citrix.com>
References: <CAEQjb-S5ONGYg8zDhFfSOMw4J1YBSNBdefT0SWcwFj0N=1QONQ@mail.gmail.com>
	<CAEQjb-RrZ3pYKDRMhHf8R3gUbgrwh2ebNQ7pvVC0oOK1Pk1wPg@mail.gmail.com>
	<4FB0D047.7010104@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bei Guan <gbtju85@gmail.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Error about loading shared libraries libyajl.so.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gTW9uLCAyMDEyLTA1LTE0IGF0IDEwOjI4ICswMTAwLCBSb2dlciBQYXUgTW9ubmUgd3JvdGU6
Cj4gQmVpIEd1YW4gZXNjcmliacOzOgo+ID4gSGksCj4gPgo+ID4gVGhpcyBwcm9ibGVtIGlzIHNv
bHZlZCBub3cuCj4gPgo+ID4gTXkgZW52aXJvbm1lbnQgaXMgNjQtYml0IHVidW50dSBhbmQgeGwg
bmVlZHMgdG8gZmluZCBsaWJ5YWpsIGZyb20gdGhlIGZvbGxvd2luZyBwYXRocy4KPiA+Cj4gPiAg
ICAgdHJ5aW5nIGZpbGU9L2xpYi9saWJ5YWpsLnNvLjIKPiA+ICAgICB0cnlpbmcgZmlsZT0vdXNy
L2xpYi9saWJ5YWpsLnNvLjIKPiA+ICAgICB0cnlpbmcgZmlsZT0vbGliL3g4Nl82NC1saW51eC1n
bnUvdGxzL3g4Nl82NC9saWJ5YWpsLnNvLjIKPiA+ICAgICB0cnlpbmcgZmlsZT0vbGliL3g4Nl82
NC1saW51eC1nbnUvdGxzL2xpYnlhamwuc28uMgo+ID4gICAgLi4uCj4gPgo+ID4gSG93ZXZlciwg
dGhlIGFjdHVhbCBwYXRoIG9mIGxpYnlhamwgaXMgL3Vzci9sb2NhbC9saWIvbGlieWFqbC5zby4y
LjAuNSB3aGVyZSBJIGp1c3QgaW5zdGFsbGVkIGludG8uCj4gPiBTbywgYSBzeW1ib2xpYyBsaW5r
IGlzIGVub3VnaCB0byBzb2x2ZSB0aGlzIHByb2JsZW0uIEp1c3QgbGlrZSB0aGlzOgo+ID4gIyBs
biAtcyAvdXNyL2xvY2FsL2xpYi9saWJ5YWpsLnNvLjIuMC41IC9saWIvbGlieWFqbC5zby4yCj4g
Cj4gSSd0cyBwcm9iYWJseSBiZXN0IHRvIGFkZCAvdXNyL2xvY2FsL2xpYiB0byBMRF9MSUJSQVJZ
X1BBVEggaW5zdGVhZCAKPiBwb2xsdXRpbmcgL3Vzci9saWIgb3IgL2xpYiB3aXRoIHN5bWxpbmtz
LgoKV2VpcmQgdGhhdCAvdXNyL2xvY2FsLypzb21ldGhpbmcqIGlzbid0IGluIC9ldGMvbGQuc28u
Y29uZgooL3Vzci9sb2NhbC9saWIgaXMgdGhlcmUgb24gbXkgRGViaWFuIHN5c3RlbSkKCkluIGFu
eSBjYXNlIGl0IGlzIGV2ZW4gYmV0dGVyIHRvIGp1c3QgaW5zdGFsbCB0aGUgbGlieWFqbCBwYWNr
YWdlcyBmcm9tCnlvdXIgZGlzdHJvIC0tIHRoZXJlJ3Mgbm8gcmVxdWlyZW1lbnQgdG8gYnVpbGQg
aXQgZnJvbSBzb3VyY2UuCgpJYW4uCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl
bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 14 09:38:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STriw-0007Fc-Sm; Mon, 14 May 2012 09:37:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STriu-0007FO-UR
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:37:49 +0000
Received: from [85.158.139.83:59016] by server-1.bemta-5.messagelabs.com id
	C4/23-19304-C62D0BF4; Mon, 14 May 2012 09:37:48 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336988265!27562961!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30681 invoked from network); 14 May 2012 09:37:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:37:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194661566"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:36:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:36:42 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STrhp-0007ul-MW;
	Mon, 14 May 2012 10:36:41 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 10:36:37 +0100
Message-ID: <1336988197-29450-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4] libxl: prevent xl from running if xend is
	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Prevent xl from doing any operation if xend daemon is running. That
prevents bugs that happened when xl and xend raced to close a domain.

Changes since v3:

 * Refresh to apply to current tree.

Changes since v2:

 * Allow to dry run even if xend is running.

 * Refresh to apply to current tree.

Changes since v1:

 * Add documentation to xl man page.

 * Permit the execution of commands that don't modify anything.

 * Indent error message.

Cc: ian.jackson@eu.citrix.com
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.pod.1         |    6 ++
 tools/libxl/xl.c          |   22 +++++++-
 tools/libxl/xl.h          |    1 +
 tools/libxl/xl_cmdimpl.c  |    5 +-
 tools/libxl/xl_cmdtable.c |  130 ++++++++++++++++++++++----------------------
 5 files changed, 96 insertions(+), 68 deletions(-)

diff --git a/docs/man/xl.pod.1 b/docs/man/xl.pod.1
index 283c9ed..b192efa 100644
--- a/docs/man/xl.pod.1
+++ b/docs/man/xl.pod.1
@@ -75,6 +75,12 @@ Verbose.
 
 Dry run: do not actually execute the command.
 
+=item B<-f>
+
+Force execution: xl will refuse to run some commands if it detects that xend is
+also running, this option will force the execution of those commands, even
+though it is unsafe.
+
 =back
 
 =head1 DOMAIN SUBCOMMANDS
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..750a61c 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -32,8 +32,11 @@
 #include "libxlutil.h"
 #include "xl.h"
 
+#define XEND_LOCK { "/var/lock/subsys/xend", "/var/lock/xend" }
+
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
+int force_execution;
 int autoballoon = 1;
 char *lockfile;
 char *default_vifscript = NULL;
@@ -126,8 +129,9 @@ int main(int argc, char **argv)
     char *config_file;
     void *config_data = 0;
     int config_len = 0;
+    const char *locks[] = XEND_LOCK;
 
-    while ((opt = getopt(argc, argv, "+vN")) >= 0) {
+    while ((opt = getopt(argc, argv, "+vfN")) >= 0) {
         switch (opt) {
         case 'v':
             if (minmsglevel > 0) minmsglevel--;
@@ -135,6 +139,9 @@ int main(int argc, char **argv)
         case 'N':
             dryrun_only = 1;
             break;
+        case 'f':
+            force_execution = 1;
+            break;
         default:
             fprintf(stderr, "unknown global option\n");
             exit(2);
@@ -185,6 +192,19 @@ int main(int argc, char **argv)
             ret = 1;
             goto xit;
         }
+        if (cspec->modifies && !dryrun_only) {
+            for (int i = 0; i < sizeof(locks)/sizeof(locks[0]); i++) {
+                if (!access(locks[i], F_OK) && !force_execution) {
+                    fprintf(stderr,
+"xend is running, which prevents xl from working correctly.\n"
+"If you still want to force the execution of xl please use the -f\n"
+"option.\n"
+                            );
+                    ret = 1;
+                    goto xit;
+                }
+            }
+        }
         ret = cspec->cmd_impl(argc, argv);
     } else if (!strcmp(cmd, "help")) {
         help(argv[1]);
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..5d0d504 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -21,6 +21,7 @@ struct cmd_spec {
     char *cmd_name;
     int (*cmd_impl)(int argc, char **argv);
     int can_dryrun;
+    int modifies;
     char *cmd_desc;
     char *cmd_usage;
     char *cmd_option;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..5fc5cde 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1937,7 +1937,7 @@ void help(const char *command)
     struct cmd_spec *cmd;
 
     if (!command || !strcmp(command, "help")) {
-        printf("Usage xl [-vN] <subcommand> [args]\n\n");
+        printf("Usage xl [-vfN] <subcommand> [args]\n\n");
         printf("xl full list of subcommands:\n\n");
         for (i = 0; i < cmdtable_len; i++) {
             printf(" %-19s ", cmd_table[i].cmd_name);
@@ -1948,7 +1948,8 @@ void help(const char *command)
     } else {
         cmd = cmdtable_lookup(command);
         if (cmd) {
-            printf("Usage: xl [-v%s] %s %s\n\n%s.\n\n",
+            printf("Usage: xl [-v%s%s] %s %s\n\n%s.\n\n",
+                   cmd->modifies ? "f" : "",
                    cmd->can_dryrun ? "N" : "",
                    cmd->cmd_name,
                    cmd->cmd_usage,
diff --git a/tools/libxl/xl_cmdtable.c b/tools/libxl/xl_cmdtable.c
index 2796460..9d33707 100644
--- a/tools/libxl/xl_cmdtable.c
+++ b/tools/libxl/xl_cmdtable.c
@@ -19,7 +19,7 @@
 
 struct cmd_spec cmd_table[] = {
     { "create",
-      &main_create, 1,
+      &main_create, 1, 1,
       "Create a domain from config file <filename>",
       "<ConfigFile> [options] [vars]",
       "-h                      Print this help.\n"
@@ -33,7 +33,7 @@ struct cmd_spec cmd_table[] = {
       "-e                      Do not wait in the background for the death of the domain."
     },
     { "config-update",
-      &main_config_update, 1,
+      &main_config_update, 1, 1,
       "Update a running domain's saved configuration, used when rebuilding "
       "the domain after reboot",
       "<Domain> <ConfigFile> [options] [vars]",
@@ -42,7 +42,7 @@ struct cmd_spec cmd_table[] = {
       "-d                      Enable debug messages.\n"
     },
     { "list",
-      &main_list, 0,
+      &main_list, 0, 0,
       "List information about all/some domains",
       "[options] [Domain]\n",
       "-l, --long              Output all VM details\n"
@@ -50,12 +50,12 @@ struct cmd_spec cmd_table[] = {
       "-Z, --context           Prints out security context"
     },
     { "destroy",
-      &main_destroy, 0,
+      &main_destroy, 0, 1,
       "Terminate a domain immediately",
       "<Domain>",
     },
     { "shutdown",
-      &main_shutdown, 0,
+      &main_shutdown, 0, 1,
       "Issue a shutdown signal to a domain",
       "[options] <Domain>",
       "-h                      Print this help.\n"
@@ -64,7 +64,7 @@ struct cmd_spec cmd_table[] = {
       "-w                      Wait for guest to shutdown.\n"
     },
     { "reboot",
-      &main_reboot, 0,
+      &main_reboot, 0, 1,
       "Issue a reboot signal to a domain",
       "[options] <Domain>",
       "-h                      Print this help.\n"
@@ -72,44 +72,44 @@ struct cmd_spec cmd_table[] = {
       "                        no PV drivers.\n"
     },
     { "pci-attach",
-      &main_pciattach, 0,
+      &main_pciattach, 0, 1,
       "Insert a new pass-through pci device",
       "<Domain> <BDF> [Virtual Slot]",
     },
     { "pci-detach",
-      &main_pcidetach, 0,
+      &main_pcidetach, 0, 1,
       "Remove a domain's pass-through pci device",
       "<Domain> <BDF>",
     },
     { "pci-list",
-      &main_pcilist, 0,
+      &main_pcilist, 0, 0,
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
     { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0,
+      &main_pcilist_assignable, 0, 0,
       "List all the assignable pci devices",
       "",
     },
     { "pause",
-      &main_pause, 0,
+      &main_pause, 0, 1,
       "Pause execution of a domain",
       "<Domain>",
     },
     { "unpause",
-      &main_unpause, 0,
+      &main_unpause, 0, 1,
       "Unpause a paused domain",
       "<Domain>",
     },
     { "console",
-      &main_console, 0,
+      &main_console, 0, 0,
       "Attach to domain's console",
       "[options] <Domain>\n"
       "-t <type>       console type, pv or serial\n"
       "-n <number>     console number"
     },
     { "vncviewer",
-      &main_vncviewer, 0,
+      &main_vncviewer, 0, 0,
       "Attach to domain's VNC server.",
       "[options] <Domain>\n"
       "--autopass               Pass VNC password to viewer via stdin and\n"
@@ -117,14 +117,14 @@ struct cmd_spec cmd_table[] = {
       "--vncviewer-autopass     (consistency alias for --autopass)"
     },
     { "save",
-      &main_save, 0,
+      &main_save, 0, 1,
       "Save a domain state to restore later",
       "[options] <Domain> <CheckpointFile> [<ConfigFile>]",
       "-h  Print this help.\n"
       "-c  Leave domain running after creating the snapshot."
     },
     { "migrate",
-      &main_migrate, 0,
+      &main_migrate, 0, 1,
       "Save a domain state to restore later",
       "[options] <Domain> <host>",
       "-h              Print this help.\n"
@@ -136,12 +136,12 @@ struct cmd_spec cmd_table[] = {
       "                of the domain."
     },
     { "dump-core",
-      &main_dump_core, 0,
+      &main_dump_core, 0, 1,
       "Core dump a domain",
       "<Domain> <filename>"
     },
     { "restore",
-      &main_restore, 0,
+      &main_restore, 0, 1,
       "Restore a domain from a saved state",
       "[options] [<ConfigFile>] <CheckpointFile>",
       "-h  Print this help.\n"
@@ -150,68 +150,68 @@ struct cmd_spec cmd_table[] = {
       "-d  Enable debug messages."
     },
     { "migrate-receive",
-      &main_migrate_receive, 0,
+      &main_migrate_receive, 0, 1,
       "Restore a domain from a saved state",
       "- for internal use only",
     },
     { "cd-insert",
-      &main_cd_insert, 0,
+      &main_cd_insert, 0, 1,
       "Insert a cdrom into a guest's cd drive",
       "<Domain> <VirtualDevice> <type:path>",
     },
     { "cd-eject",
-      &main_cd_eject, 0,
+      &main_cd_eject, 0, 1,
       "Eject a cdrom from a guest's cd drive",
       "<Domain> <VirtualDevice>",
     },
     { "mem-max",
-      &main_memmax, 0,
+      &main_memmax, 0, 1,
       "Set the maximum amount reservation for a domain",
       "<Domain> <MemMB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
     },
     { "mem-set",
-      &main_memset, 0,
+      &main_memset, 0, 1,
       "Set the current memory usage for a domain",
       "<Domain> <MemMB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
     },
     { "button-press",
-      &main_button_press, 0,
+      &main_button_press, 0, 1,
       "Indicate an ACPI button press to the domain",
       "<Domain> <Button>",
       "<Button> may be 'power' or 'sleep'."
     },
     { "vcpu-list",
-      &main_vcpulist, 0,
+      &main_vcpulist, 0, 0,
       "List the VCPUs for all/some domains",
       "[Domain, ...]",
     },
     { "vcpu-pin",
-      &main_vcpupin, 0,
+      &main_vcpupin, 0, 1,
       "Set which CPUs a VCPU can use",
       "<Domain> <VCPU|all> <CPUs|all>",
     },
     { "vcpu-set",
-      &main_vcpuset, 0,
+      &main_vcpuset, 0, 1,
       "Set the number of active VCPUs allowed for the domain",
       "<Domain> <vCPUs>",
     },
     { "list-vm",
-      &main_list_vm, 0,
+      &main_list_vm, 0, 0,
       "List the VMs,without DOM0",
       "",
     },
     { "info",
-      &main_info, 0,
+      &main_info, 0, 0,
       "Get information about Xen host",
       "-n, --numa         List host NUMA topology information",
     },
     { "sharing",
-      &main_sharing, 0,
+      &main_sharing, 0, 0,
       "Get information about page sharing",
       "[Domain]", 
     },
     { "sched-credit",
-      &main_sched_credit, 0,
+      &main_sched_credit, 0, 1,
       "Get/set credit scheduler parameters",
       "[-d <Domain> [-w[=WEIGHT]|-c[=CAP]]] [-s [-t TSLICE] [-r RATELIMIT]] [-p CPUPOOL]",
       "-d DOMAIN, --domain=DOMAIN        Domain to modify\n"
@@ -223,7 +223,7 @@ struct cmd_spec cmd_table[] = {
       "-p CPUPOOL, --cpupool=CPUPOOL     Restrict output to CPUPOOL"
     },
     { "sched-credit2",
-      &main_sched_credit2, 0,
+      &main_sched_credit2, 0, 1,
       "Get/set credit2 scheduler parameters",
       "[-d <Domain> [-w[=WEIGHT]]] [-p CPUPOOL]",
       "-d DOMAIN, --domain=DOMAIN     Domain to modify\n"
@@ -231,7 +231,7 @@ struct cmd_spec cmd_table[] = {
       "-p CPUPOOL, --cpupool=CPUPOOL  Restrict output to CPUPOOL"
     },
     { "sched-sedf",
-      &main_sched_sedf, 0,
+      &main_sched_sedf, 0, 1,
       "Get/set sedf scheduler parameters",
       "[options]",
       "-d DOMAIN, --domain=DOMAIN     Domain to modify\n"
@@ -247,103 +247,103 @@ struct cmd_spec cmd_table[] = {
       "-c CPUPOOL, --cpupool=CPUPOOL  Restrict output to CPUPOOL"
     },
     { "domid",
-      &main_domid, 0,
+      &main_domid, 0, 0,
       "Convert a domain name to domain id",
       "<DomainName>",
     },
     { "domname",
-      &main_domname, 0,
+      &main_domname, 0, 0,
       "Convert a domain id to domain name",
       "<DomainId>",
     },
     { "rename",
-      &main_rename, 0,
+      &main_rename, 0, 1,
       "Rename a domain",
       "<Domain> <NewDomainName>",
     },
     { "trigger",
-      &main_trigger, 0,
+      &main_trigger, 0, 1,
       "Send a trigger to a domain",
       "<Domain> <nmi|reset|init|power|sleep|s3resume> [<VCPU>]",
     },
     { "sysrq",
-      &main_sysrq, 0,
+      &main_sysrq, 0, 1,
       "Send a sysrq to a domain",
       "<Domain> <letter>",
     },
     { "debug-keys",
-      &main_debug_keys, 0,
+      &main_debug_keys, 0, 1,
       "Send debug keys to Xen",
       "<Keys>",
     },
     { "dmesg",
-      &main_dmesg, 0,
+      &main_dmesg, 0, 0,
       "Read and/or clear dmesg buffer",
       "[-c]",
       "  -c                        Clear dmesg buffer as well as printing it",
     },
     { "top",
-      &main_top, 0,
+      &main_top, 0, 0,
       "Monitor a host and the domains in real time",
       "",
     },
     { "network-attach",
-      &main_networkattach, 1,
+      &main_networkattach, 1, 1,
       "Create a new virtual network device",
       "<Domain> [type=<type>] [mac=<mac>] [bridge=<bridge>] "
       "[ip=<ip>] [script=<script>] [backend=<BackDomain>] [vifname=<name>] "
       "[rate=<rate>] [model=<model>] [accel=<accel>]",
     },
     { "network-list",
-      &main_networklist, 0,
+      &main_networklist, 0, 0,
       "List virtual network interfaces for a domain",
       "<Domain(s)>",
     },
     { "network-detach",
-      &main_networkdetach, 0,
+      &main_networkdetach, 0, 1,
       "Destroy a domain's virtual network device",
       "<Domain> <DevId|mac>",
     },
     { "block-attach",
-      &main_blockattach, 1,
+      &main_blockattach, 1, 1,
       "Create a new virtual block device",
       "<Domain> <disk-spec-component(s)>...",
     },
     { "block-list",
-      &main_blocklist, 0,
+      &main_blocklist, 0, 0,
       "List virtual block devices for a domain",
       "<Domain(s)>",
     },
     { "block-detach",
-      &main_blockdetach, 0,
+      &main_blockdetach, 0, 1,
       "Destroy a domain's virtual block device",
       "<Domain> <DevId>",
     },
     { "uptime",
-      &main_uptime, 0,
+      &main_uptime, 0, 0,
       "Print uptime for all/some domains",
       "[-s] [Domain]",
     },
     { "tmem-list",
-      &main_tmem_list, 0,
+      &main_tmem_list, 0, 0,
       "List tmem pools",
       "[-l] [<Domain>|-a]",
       "  -l                             List tmem stats",
     },
     { "tmem-freeze",
-      &main_tmem_freeze, 0,
+      &main_tmem_freeze, 0, 1,
       "Freeze tmem pools",
       "[<Domain>|-a]",
       "  -a                             Freeze all tmem",
     },
     { "tmem-thaw",
-      &main_tmem_thaw, 0,
+      &main_tmem_thaw, 0, 1,
       "Thaw tmem pools",
       "[<Domain>|-a]",
       "  -a                             Thaw all tmem",
     },
     { "tmem-set",
-      &main_tmem_set, 0,
+      &main_tmem_set, 0, 1,
       "Change tmem settings",
       "[<Domain>|-a] [-w[=WEIGHT]|-c[=CAP]|-p[=COMPRESS]]",
       "  -a                             Operate on all tmem\n"
@@ -352,7 +352,7 @@ struct cmd_spec cmd_table[] = {
       "  -p COMPRESS                    Compress (int)",
     },
     { "tmem-shared-auth",
-      &main_tmem_shared_auth, 0,
+      &main_tmem_shared_auth, 0, 1,
       "De/authenticate shared tmem pool",
       "[<Domain>|-a] [-u[=UUID] [-A[=AUTH]",
       "  -a                             Authenticate for all tmem pools\n"
@@ -361,12 +361,12 @@ struct cmd_spec cmd_table[] = {
       "  -A AUTH                        0=auth,1=deauth",
     },
     { "tmem-freeable",
-      &main_tmem_freeable, 0,
+      &main_tmem_freeable, 0, 0,
       "Get information about how much freeable memory (MB) is in-use by tmem",
       "",
     },
     { "cpupool-create",
-      &main_cpupoolcreate, 1,
+      &main_cpupoolcreate, 1, 1,
       "Create a new CPU pool",
       "[options] [<ConfigFile>] [Variable=value ...]",
       "-h, --help                   Print this help.\n"
@@ -377,53 +377,53 @@ struct cmd_spec cmd_table[] = {
 
     },
     { "cpupool-list",
-      &main_cpupoollist, 0,
+      &main_cpupoollist, 0, 0,
       "List CPU pools on host",
       "[-c|--cpus] [<CPU Pool>]",
       "-c, --cpus                     Output list of CPUs used by a pool"
     },
     { "cpupool-destroy",
-      &main_cpupooldestroy, 0,
+      &main_cpupooldestroy, 0, 1,
       "Deactivates a CPU pool",
       "<CPU Pool>",
     },
     { "cpupool-rename",
-      &main_cpupoolrename, 0,
+      &main_cpupoolrename, 0, 1,
       "Renames a CPU pool",
       "<CPU Pool> <new name>",
     },
     { "cpupool-cpu-add",
-      &main_cpupoolcpuadd, 0,
+      &main_cpupoolcpuadd, 0, 1,
       "Adds a CPU to a CPU pool",
       "<CPU Pool> <CPU nr>|node:<node nr>",
     },
     { "cpupool-cpu-remove",
-      &main_cpupoolcpuremove, 0,
+      &main_cpupoolcpuremove, 0, 1,
       "Removes a CPU from a CPU pool",
       "<CPU Pool> <CPU nr>|node:<node nr>",
     },
     { "cpupool-migrate",
-      &main_cpupoolmigrate, 0,
+      &main_cpupoolmigrate, 0, 1,
       "Moves a domain into a CPU pool",
       "<Domain> <CPU Pool>",
     },
     { "cpupool-numa-split",
-      &main_cpupoolnumasplit, 0,
+      &main_cpupoolnumasplit, 0, 1,
       "Splits up the machine into one CPU pool per NUMA node",
       "",
     },
     { "getenforce",
-      &main_getenforce, 0,
+      &main_getenforce, 0, 0,
       "Returns the current enforcing mode of the Flask Xen security module",
       "",
     },
     { "setenforce",
-      &main_setenforce, 0,
+      &main_setenforce, 0, 1,
       "Sets the current enforcing mode of the Flask Xen security module",
       "<1|0|Enforcing|Permissive>",
     },
     { "loadpolicy",
-      &main_loadpolicy, 0,
+      &main_loadpolicy, 0, 1,
       "Loads a new policy int the Flask Xen security module",
       "<policy file>",
     },
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:38:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STriw-0007Fc-Sm; Mon, 14 May 2012 09:37:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STriu-0007FO-UR
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:37:49 +0000
Received: from [85.158.139.83:59016] by server-1.bemta-5.messagelabs.com id
	C4/23-19304-C62D0BF4; Mon, 14 May 2012 09:37:48 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336988265!27562961!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30681 invoked from network); 14 May 2012 09:37:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:37:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194661566"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:36:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:36:42 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STrhp-0007ul-MW;
	Mon, 14 May 2012 10:36:41 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 10:36:37 +0100
Message-ID: <1336988197-29450-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4] libxl: prevent xl from running if xend is
	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Prevent xl from doing any operation if xend daemon is running. That
prevents bugs that happened when xl and xend raced to close a domain.

Changes since v3:

 * Refresh to apply to current tree.

Changes since v2:

 * Allow to dry run even if xend is running.

 * Refresh to apply to current tree.

Changes since v1:

 * Add documentation to xl man page.

 * Permit the execution of commands that don't modify anything.

 * Indent error message.

Cc: ian.jackson@eu.citrix.com
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.pod.1         |    6 ++
 tools/libxl/xl.c          |   22 +++++++-
 tools/libxl/xl.h          |    1 +
 tools/libxl/xl_cmdimpl.c  |    5 +-
 tools/libxl/xl_cmdtable.c |  130 ++++++++++++++++++++++----------------------
 5 files changed, 96 insertions(+), 68 deletions(-)

diff --git a/docs/man/xl.pod.1 b/docs/man/xl.pod.1
index 283c9ed..b192efa 100644
--- a/docs/man/xl.pod.1
+++ b/docs/man/xl.pod.1
@@ -75,6 +75,12 @@ Verbose.
 
 Dry run: do not actually execute the command.
 
+=item B<-f>
+
+Force execution: xl will refuse to run some commands if it detects that xend is
+also running, this option will force the execution of those commands, even
+though it is unsafe.
+
 =back
 
 =head1 DOMAIN SUBCOMMANDS
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..750a61c 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -32,8 +32,11 @@
 #include "libxlutil.h"
 #include "xl.h"
 
+#define XEND_LOCK { "/var/lock/subsys/xend", "/var/lock/xend" }
+
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
+int force_execution;
 int autoballoon = 1;
 char *lockfile;
 char *default_vifscript = NULL;
@@ -126,8 +129,9 @@ int main(int argc, char **argv)
     char *config_file;
     void *config_data = 0;
     int config_len = 0;
+    const char *locks[] = XEND_LOCK;
 
-    while ((opt = getopt(argc, argv, "+vN")) >= 0) {
+    while ((opt = getopt(argc, argv, "+vfN")) >= 0) {
         switch (opt) {
         case 'v':
             if (minmsglevel > 0) minmsglevel--;
@@ -135,6 +139,9 @@ int main(int argc, char **argv)
         case 'N':
             dryrun_only = 1;
             break;
+        case 'f':
+            force_execution = 1;
+            break;
         default:
             fprintf(stderr, "unknown global option\n");
             exit(2);
@@ -185,6 +192,19 @@ int main(int argc, char **argv)
             ret = 1;
             goto xit;
         }
+        if (cspec->modifies && !dryrun_only) {
+            for (int i = 0; i < sizeof(locks)/sizeof(locks[0]); i++) {
+                if (!access(locks[i], F_OK) && !force_execution) {
+                    fprintf(stderr,
+"xend is running, which prevents xl from working correctly.\n"
+"If you still want to force the execution of xl please use the -f\n"
+"option.\n"
+                            );
+                    ret = 1;
+                    goto xit;
+                }
+            }
+        }
         ret = cspec->cmd_impl(argc, argv);
     } else if (!strcmp(cmd, "help")) {
         help(argv[1]);
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..5d0d504 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -21,6 +21,7 @@ struct cmd_spec {
     char *cmd_name;
     int (*cmd_impl)(int argc, char **argv);
     int can_dryrun;
+    int modifies;
     char *cmd_desc;
     char *cmd_usage;
     char *cmd_option;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..5fc5cde 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1937,7 +1937,7 @@ void help(const char *command)
     struct cmd_spec *cmd;
 
     if (!command || !strcmp(command, "help")) {
-        printf("Usage xl [-vN] <subcommand> [args]\n\n");
+        printf("Usage xl [-vfN] <subcommand> [args]\n\n");
         printf("xl full list of subcommands:\n\n");
         for (i = 0; i < cmdtable_len; i++) {
             printf(" %-19s ", cmd_table[i].cmd_name);
@@ -1948,7 +1948,8 @@ void help(const char *command)
     } else {
         cmd = cmdtable_lookup(command);
         if (cmd) {
-            printf("Usage: xl [-v%s] %s %s\n\n%s.\n\n",
+            printf("Usage: xl [-v%s%s] %s %s\n\n%s.\n\n",
+                   cmd->modifies ? "f" : "",
                    cmd->can_dryrun ? "N" : "",
                    cmd->cmd_name,
                    cmd->cmd_usage,
diff --git a/tools/libxl/xl_cmdtable.c b/tools/libxl/xl_cmdtable.c
index 2796460..9d33707 100644
--- a/tools/libxl/xl_cmdtable.c
+++ b/tools/libxl/xl_cmdtable.c
@@ -19,7 +19,7 @@
 
 struct cmd_spec cmd_table[] = {
     { "create",
-      &main_create, 1,
+      &main_create, 1, 1,
       "Create a domain from config file <filename>",
       "<ConfigFile> [options] [vars]",
       "-h                      Print this help.\n"
@@ -33,7 +33,7 @@ struct cmd_spec cmd_table[] = {
       "-e                      Do not wait in the background for the death of the domain."
     },
     { "config-update",
-      &main_config_update, 1,
+      &main_config_update, 1, 1,
       "Update a running domain's saved configuration, used when rebuilding "
       "the domain after reboot",
       "<Domain> <ConfigFile> [options] [vars]",
@@ -42,7 +42,7 @@ struct cmd_spec cmd_table[] = {
       "-d                      Enable debug messages.\n"
     },
     { "list",
-      &main_list, 0,
+      &main_list, 0, 0,
       "List information about all/some domains",
       "[options] [Domain]\n",
       "-l, --long              Output all VM details\n"
@@ -50,12 +50,12 @@ struct cmd_spec cmd_table[] = {
       "-Z, --context           Prints out security context"
     },
     { "destroy",
-      &main_destroy, 0,
+      &main_destroy, 0, 1,
       "Terminate a domain immediately",
       "<Domain>",
     },
     { "shutdown",
-      &main_shutdown, 0,
+      &main_shutdown, 0, 1,
       "Issue a shutdown signal to a domain",
       "[options] <Domain>",
       "-h                      Print this help.\n"
@@ -64,7 +64,7 @@ struct cmd_spec cmd_table[] = {
       "-w                      Wait for guest to shutdown.\n"
     },
     { "reboot",
-      &main_reboot, 0,
+      &main_reboot, 0, 1,
       "Issue a reboot signal to a domain",
       "[options] <Domain>",
       "-h                      Print this help.\n"
@@ -72,44 +72,44 @@ struct cmd_spec cmd_table[] = {
       "                        no PV drivers.\n"
     },
     { "pci-attach",
-      &main_pciattach, 0,
+      &main_pciattach, 0, 1,
       "Insert a new pass-through pci device",
       "<Domain> <BDF> [Virtual Slot]",
     },
     { "pci-detach",
-      &main_pcidetach, 0,
+      &main_pcidetach, 0, 1,
       "Remove a domain's pass-through pci device",
       "<Domain> <BDF>",
     },
     { "pci-list",
-      &main_pcilist, 0,
+      &main_pcilist, 0, 0,
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
     { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0,
+      &main_pcilist_assignable, 0, 0,
       "List all the assignable pci devices",
       "",
     },
     { "pause",
-      &main_pause, 0,
+      &main_pause, 0, 1,
       "Pause execution of a domain",
       "<Domain>",
     },
     { "unpause",
-      &main_unpause, 0,
+      &main_unpause, 0, 1,
       "Unpause a paused domain",
       "<Domain>",
     },
     { "console",
-      &main_console, 0,
+      &main_console, 0, 0,
       "Attach to domain's console",
       "[options] <Domain>\n"
       "-t <type>       console type, pv or serial\n"
       "-n <number>     console number"
     },
     { "vncviewer",
-      &main_vncviewer, 0,
+      &main_vncviewer, 0, 0,
       "Attach to domain's VNC server.",
       "[options] <Domain>\n"
       "--autopass               Pass VNC password to viewer via stdin and\n"
@@ -117,14 +117,14 @@ struct cmd_spec cmd_table[] = {
       "--vncviewer-autopass     (consistency alias for --autopass)"
     },
     { "save",
-      &main_save, 0,
+      &main_save, 0, 1,
       "Save a domain state to restore later",
       "[options] <Domain> <CheckpointFile> [<ConfigFile>]",
       "-h  Print this help.\n"
       "-c  Leave domain running after creating the snapshot."
     },
     { "migrate",
-      &main_migrate, 0,
+      &main_migrate, 0, 1,
       "Save a domain state to restore later",
       "[options] <Domain> <host>",
       "-h              Print this help.\n"
@@ -136,12 +136,12 @@ struct cmd_spec cmd_table[] = {
       "                of the domain."
     },
     { "dump-core",
-      &main_dump_core, 0,
+      &main_dump_core, 0, 1,
       "Core dump a domain",
       "<Domain> <filename>"
     },
     { "restore",
-      &main_restore, 0,
+      &main_restore, 0, 1,
       "Restore a domain from a saved state",
       "[options] [<ConfigFile>] <CheckpointFile>",
       "-h  Print this help.\n"
@@ -150,68 +150,68 @@ struct cmd_spec cmd_table[] = {
       "-d  Enable debug messages."
     },
     { "migrate-receive",
-      &main_migrate_receive, 0,
+      &main_migrate_receive, 0, 1,
       "Restore a domain from a saved state",
       "- for internal use only",
     },
     { "cd-insert",
-      &main_cd_insert, 0,
+      &main_cd_insert, 0, 1,
       "Insert a cdrom into a guest's cd drive",
       "<Domain> <VirtualDevice> <type:path>",
     },
     { "cd-eject",
-      &main_cd_eject, 0,
+      &main_cd_eject, 0, 1,
       "Eject a cdrom from a guest's cd drive",
       "<Domain> <VirtualDevice>",
     },
     { "mem-max",
-      &main_memmax, 0,
+      &main_memmax, 0, 1,
       "Set the maximum amount reservation for a domain",
       "<Domain> <MemMB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
     },
     { "mem-set",
-      &main_memset, 0,
+      &main_memset, 0, 1,
       "Set the current memory usage for a domain",
       "<Domain> <MemMB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
     },
     { "button-press",
-      &main_button_press, 0,
+      &main_button_press, 0, 1,
       "Indicate an ACPI button press to the domain",
       "<Domain> <Button>",
       "<Button> may be 'power' or 'sleep'."
     },
     { "vcpu-list",
-      &main_vcpulist, 0,
+      &main_vcpulist, 0, 0,
       "List the VCPUs for all/some domains",
       "[Domain, ...]",
     },
     { "vcpu-pin",
-      &main_vcpupin, 0,
+      &main_vcpupin, 0, 1,
       "Set which CPUs a VCPU can use",
       "<Domain> <VCPU|all> <CPUs|all>",
     },
     { "vcpu-set",
-      &main_vcpuset, 0,
+      &main_vcpuset, 0, 1,
       "Set the number of active VCPUs allowed for the domain",
       "<Domain> <vCPUs>",
     },
     { "list-vm",
-      &main_list_vm, 0,
+      &main_list_vm, 0, 0,
       "List the VMs,without DOM0",
       "",
     },
     { "info",
-      &main_info, 0,
+      &main_info, 0, 0,
       "Get information about Xen host",
       "-n, --numa         List host NUMA topology information",
     },
     { "sharing",
-      &main_sharing, 0,
+      &main_sharing, 0, 0,
       "Get information about page sharing",
       "[Domain]", 
     },
     { "sched-credit",
-      &main_sched_credit, 0,
+      &main_sched_credit, 0, 1,
       "Get/set credit scheduler parameters",
       "[-d <Domain> [-w[=WEIGHT]|-c[=CAP]]] [-s [-t TSLICE] [-r RATELIMIT]] [-p CPUPOOL]",
       "-d DOMAIN, --domain=DOMAIN        Domain to modify\n"
@@ -223,7 +223,7 @@ struct cmd_spec cmd_table[] = {
       "-p CPUPOOL, --cpupool=CPUPOOL     Restrict output to CPUPOOL"
     },
     { "sched-credit2",
-      &main_sched_credit2, 0,
+      &main_sched_credit2, 0, 1,
       "Get/set credit2 scheduler parameters",
       "[-d <Domain> [-w[=WEIGHT]]] [-p CPUPOOL]",
       "-d DOMAIN, --domain=DOMAIN     Domain to modify\n"
@@ -231,7 +231,7 @@ struct cmd_spec cmd_table[] = {
       "-p CPUPOOL, --cpupool=CPUPOOL  Restrict output to CPUPOOL"
     },
     { "sched-sedf",
-      &main_sched_sedf, 0,
+      &main_sched_sedf, 0, 1,
       "Get/set sedf scheduler parameters",
       "[options]",
       "-d DOMAIN, --domain=DOMAIN     Domain to modify\n"
@@ -247,103 +247,103 @@ struct cmd_spec cmd_table[] = {
       "-c CPUPOOL, --cpupool=CPUPOOL  Restrict output to CPUPOOL"
     },
     { "domid",
-      &main_domid, 0,
+      &main_domid, 0, 0,
       "Convert a domain name to domain id",
       "<DomainName>",
     },
     { "domname",
-      &main_domname, 0,
+      &main_domname, 0, 0,
       "Convert a domain id to domain name",
       "<DomainId>",
     },
     { "rename",
-      &main_rename, 0,
+      &main_rename, 0, 1,
       "Rename a domain",
       "<Domain> <NewDomainName>",
     },
     { "trigger",
-      &main_trigger, 0,
+      &main_trigger, 0, 1,
       "Send a trigger to a domain",
       "<Domain> <nmi|reset|init|power|sleep|s3resume> [<VCPU>]",
     },
     { "sysrq",
-      &main_sysrq, 0,
+      &main_sysrq, 0, 1,
       "Send a sysrq to a domain",
       "<Domain> <letter>",
     },
     { "debug-keys",
-      &main_debug_keys, 0,
+      &main_debug_keys, 0, 1,
       "Send debug keys to Xen",
       "<Keys>",
     },
     { "dmesg",
-      &main_dmesg, 0,
+      &main_dmesg, 0, 0,
       "Read and/or clear dmesg buffer",
       "[-c]",
       "  -c                        Clear dmesg buffer as well as printing it",
     },
     { "top",
-      &main_top, 0,
+      &main_top, 0, 0,
       "Monitor a host and the domains in real time",
       "",
     },
     { "network-attach",
-      &main_networkattach, 1,
+      &main_networkattach, 1, 1,
       "Create a new virtual network device",
       "<Domain> [type=<type>] [mac=<mac>] [bridge=<bridge>] "
       "[ip=<ip>] [script=<script>] [backend=<BackDomain>] [vifname=<name>] "
       "[rate=<rate>] [model=<model>] [accel=<accel>]",
     },
     { "network-list",
-      &main_networklist, 0,
+      &main_networklist, 0, 0,
       "List virtual network interfaces for a domain",
       "<Domain(s)>",
     },
     { "network-detach",
-      &main_networkdetach, 0,
+      &main_networkdetach, 0, 1,
       "Destroy a domain's virtual network device",
       "<Domain> <DevId|mac>",
     },
     { "block-attach",
-      &main_blockattach, 1,
+      &main_blockattach, 1, 1,
       "Create a new virtual block device",
       "<Domain> <disk-spec-component(s)>...",
     },
     { "block-list",
-      &main_blocklist, 0,
+      &main_blocklist, 0, 0,
       "List virtual block devices for a domain",
       "<Domain(s)>",
     },
     { "block-detach",
-      &main_blockdetach, 0,
+      &main_blockdetach, 0, 1,
       "Destroy a domain's virtual block device",
       "<Domain> <DevId>",
     },
     { "uptime",
-      &main_uptime, 0,
+      &main_uptime, 0, 0,
       "Print uptime for all/some domains",
       "[-s] [Domain]",
     },
     { "tmem-list",
-      &main_tmem_list, 0,
+      &main_tmem_list, 0, 0,
       "List tmem pools",
       "[-l] [<Domain>|-a]",
       "  -l                             List tmem stats",
     },
     { "tmem-freeze",
-      &main_tmem_freeze, 0,
+      &main_tmem_freeze, 0, 1,
       "Freeze tmem pools",
       "[<Domain>|-a]",
       "  -a                             Freeze all tmem",
     },
     { "tmem-thaw",
-      &main_tmem_thaw, 0,
+      &main_tmem_thaw, 0, 1,
       "Thaw tmem pools",
       "[<Domain>|-a]",
       "  -a                             Thaw all tmem",
     },
     { "tmem-set",
-      &main_tmem_set, 0,
+      &main_tmem_set, 0, 1,
       "Change tmem settings",
       "[<Domain>|-a] [-w[=WEIGHT]|-c[=CAP]|-p[=COMPRESS]]",
       "  -a                             Operate on all tmem\n"
@@ -352,7 +352,7 @@ struct cmd_spec cmd_table[] = {
       "  -p COMPRESS                    Compress (int)",
     },
     { "tmem-shared-auth",
-      &main_tmem_shared_auth, 0,
+      &main_tmem_shared_auth, 0, 1,
       "De/authenticate shared tmem pool",
       "[<Domain>|-a] [-u[=UUID] [-A[=AUTH]",
       "  -a                             Authenticate for all tmem pools\n"
@@ -361,12 +361,12 @@ struct cmd_spec cmd_table[] = {
       "  -A AUTH                        0=auth,1=deauth",
     },
     { "tmem-freeable",
-      &main_tmem_freeable, 0,
+      &main_tmem_freeable, 0, 0,
       "Get information about how much freeable memory (MB) is in-use by tmem",
       "",
     },
     { "cpupool-create",
-      &main_cpupoolcreate, 1,
+      &main_cpupoolcreate, 1, 1,
       "Create a new CPU pool",
       "[options] [<ConfigFile>] [Variable=value ...]",
       "-h, --help                   Print this help.\n"
@@ -377,53 +377,53 @@ struct cmd_spec cmd_table[] = {
 
     },
     { "cpupool-list",
-      &main_cpupoollist, 0,
+      &main_cpupoollist, 0, 0,
       "List CPU pools on host",
       "[-c|--cpus] [<CPU Pool>]",
       "-c, --cpus                     Output list of CPUs used by a pool"
     },
     { "cpupool-destroy",
-      &main_cpupooldestroy, 0,
+      &main_cpupooldestroy, 0, 1,
       "Deactivates a CPU pool",
       "<CPU Pool>",
     },
     { "cpupool-rename",
-      &main_cpupoolrename, 0,
+      &main_cpupoolrename, 0, 1,
       "Renames a CPU pool",
       "<CPU Pool> <new name>",
     },
     { "cpupool-cpu-add",
-      &main_cpupoolcpuadd, 0,
+      &main_cpupoolcpuadd, 0, 1,
       "Adds a CPU to a CPU pool",
       "<CPU Pool> <CPU nr>|node:<node nr>",
     },
     { "cpupool-cpu-remove",
-      &main_cpupoolcpuremove, 0,
+      &main_cpupoolcpuremove, 0, 1,
       "Removes a CPU from a CPU pool",
       "<CPU Pool> <CPU nr>|node:<node nr>",
     },
     { "cpupool-migrate",
-      &main_cpupoolmigrate, 0,
+      &main_cpupoolmigrate, 0, 1,
       "Moves a domain into a CPU pool",
       "<Domain> <CPU Pool>",
     },
     { "cpupool-numa-split",
-      &main_cpupoolnumasplit, 0,
+      &main_cpupoolnumasplit, 0, 1,
       "Splits up the machine into one CPU pool per NUMA node",
       "",
     },
     { "getenforce",
-      &main_getenforce, 0,
+      &main_getenforce, 0, 0,
       "Returns the current enforcing mode of the Flask Xen security module",
       "",
     },
     { "setenforce",
-      &main_setenforce, 0,
+      &main_setenforce, 0, 1,
       "Sets the current enforcing mode of the Flask Xen security module",
       "<1|0|Enforcing|Permissive>",
     },
     { "loadpolicy",
-      &main_loadpolicy, 0,
+      &main_loadpolicy, 0, 1,
       "Loads a new policy int the Flask Xen security module",
       "<policy file>",
     },
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:39:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:39:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrkP-0007NO-GO; Mon, 14 May 2012 09:39:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STrkN-0007NF-Gp
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:39:19 +0000
Received: from [85.158.138.51:48996] by server-7.bemta-3.messagelabs.com id
	DD/1F-03078-6C2D0BF4; Mon, 14 May 2012 09:39:18 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336988357!27024659!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5518 invoked from network); 14 May 2012 09:39:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:39:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452573"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:39:17 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 10:39:16 +0100
Date: Mon, 14 May 2012 10:39:01 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB0D2B70200007800083547@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205141035450.26786@kaball-desktop>
References: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
	<4FB0D2B70200007800083547@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] qemu/xendisk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Jan Beulich wrote:
> >>> On 11.05.12 at 18:01, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > On Thu, 10 May 2012, Jan Beulich wrote:
> >> While for the "normal" case (called from blk_send_response_all())
> >> decrementing requests_finished is correct, doing so in the parse error
> >> case is wrong; requests_inflight needs to be decremented instead.
> >> 
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> 
> >> --- a/hw/xen_disk.c
> >> +++ b/hw/xen_disk.c
> >> @@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
> >>      blkdev->requests_finished++;
> >>  }
> >>  
> >> -static void ioreq_release(struct ioreq *ioreq)
> >> +static void ioreq_release(struct ioreq *ioreq, bool finish)
> >>  {
> >>      struct XenBlkDev *blkdev = ioreq->blkdev;
> >>  
> >> @@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
> >>      memset(ioreq, 0, sizeof(*ioreq));
> >>      ioreq->blkdev = blkdev;
> >>      QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
> >> -    blkdev->requests_finished--;
> >> +    if (finish)
> >> +        blkdev->requests_finished--;
> >> +    else
> >> +        blkdev->requests_inflight--;
> >>  }
> >>  
> >>  /*
> >> @@ -449,7 +452,7 @@ static void blk_send_response_all(struct
> >>      while (!QLIST_EMPTY(&blkdev->finished)) {
> >>          ioreq = QLIST_FIRST(&blkdev->finished);
> >>          send_notify += blk_send_response_one(ioreq);
> >> -        ioreq_release(ioreq);
> >> +        ioreq_release(ioreq, true);
> >>      }
> >>      if (send_notify) {
> >>          xen_be_send_notify(&blkdev->xendev);
> >> @@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
> >>              if (blk_send_response_one(ioreq)) {
> >>                  xen_be_send_notify(&blkdev->xendev);
> >>              }
> >> -            ioreq_release(ioreq);
> >> +            ioreq_release(ioreq, false);
> >>              continue;
> >>          }
> > 
> > In case of an error returned by ioreq_parse requests_finished should
> > also be decremented.
> 
> I don't think so - it gets incremented in ioreq_finish(), and that gets
> called only when I/O was at least attempted (which isn't the case
> when parse failed).

You are right, the patch is correct as it is.
However it is not following QEMU's CODING_STYLE (braces around single
line statements): you can use scripts/checkpatch.pl to check your
patches for code style errors.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:39:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:39:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrkP-0007NO-GO; Mon, 14 May 2012 09:39:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STrkN-0007NF-Gp
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:39:19 +0000
Received: from [85.158.138.51:48996] by server-7.bemta-3.messagelabs.com id
	DD/1F-03078-6C2D0BF4; Mon, 14 May 2012 09:39:18 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1336988357!27024659!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5518 invoked from network); 14 May 2012 09:39:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:39:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12452573"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:39:17 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 10:39:16 +0100
Date: Mon, 14 May 2012 10:39:01 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB0D2B70200007800083547@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205141035450.26786@kaball-desktop>
References: <4FABFCF40200007800082CE0@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205111658570.26786@kaball-desktop>
	<4FB0D2B70200007800083547@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] qemu/xendisk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Jan Beulich wrote:
> >>> On 11.05.12 at 18:01, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > On Thu, 10 May 2012, Jan Beulich wrote:
> >> While for the "normal" case (called from blk_send_response_all())
> >> decrementing requests_finished is correct, doing so in the parse error
> >> case is wrong; requests_inflight needs to be decremented instead.
> >> 
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> 
> >> --- a/hw/xen_disk.c
> >> +++ b/hw/xen_disk.c
> >> @@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
> >>      blkdev->requests_finished++;
> >>  }
> >>  
> >> -static void ioreq_release(struct ioreq *ioreq)
> >> +static void ioreq_release(struct ioreq *ioreq, bool finish)
> >>  {
> >>      struct XenBlkDev *blkdev = ioreq->blkdev;
> >>  
> >> @@ -162,7 +162,10 @@ static void ioreq_release(struct ioreq *
> >>      memset(ioreq, 0, sizeof(*ioreq));
> >>      ioreq->blkdev = blkdev;
> >>      QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
> >> -    blkdev->requests_finished--;
> >> +    if (finish)
> >> +        blkdev->requests_finished--;
> >> +    else
> >> +        blkdev->requests_inflight--;
> >>  }
> >>  
> >>  /*
> >> @@ -449,7 +452,7 @@ static void blk_send_response_all(struct
> >>      while (!QLIST_EMPTY(&blkdev->finished)) {
> >>          ioreq = QLIST_FIRST(&blkdev->finished);
> >>          send_notify += blk_send_response_one(ioreq);
> >> -        ioreq_release(ioreq);
> >> +        ioreq_release(ioreq, true);
> >>      }
> >>      if (send_notify) {
> >>          xen_be_send_notify(&blkdev->xendev);
> >> @@ -505,7 +508,7 @@ static void blk_handle_requests(struct X
> >>              if (blk_send_response_one(ioreq)) {
> >>                  xen_be_send_notify(&blkdev->xendev);
> >>              }
> >> -            ioreq_release(ioreq);
> >> +            ioreq_release(ioreq, false);
> >>              continue;
> >>          }
> > 
> > In case of an error returned by ioreq_parse requests_finished should
> > also be decremented.
> 
> I don't think so - it gets incremented in ioreq_finish(), and that gets
> called only when I/O was at least attempted (which isn't the case
> when parse failed).

You are right, the patch is correct as it is.
However it is not following QEMU's CODING_STYLE (braces around single
line statements): you can use scripts/checkpatch.pl to check your
patches for code style errors.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:41:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrmI-0007XU-Vb; Mon, 14 May 2012 09:41:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STrmI-0007XK-A0
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:41:18 +0000
Received: from [193.109.254.147:59615] by server-9.bemta-14.messagelabs.com id
	6D/3D-05787-D33D0BF4; Mon, 14 May 2012 09:41:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336988474!8765750!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21600 invoked from network); 14 May 2012 09:41:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:41:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194661890"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:41:14 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:41:14 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STrmD-0007zy-RT;
	Mon, 14 May 2012 10:41:13 +0100
Message-ID: <4FB0D338.9030800@citrix.com>
Date: Mon, 14 May 2012 10:41:12 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1335352142-43858-1-git-send-email-roger.pau@citrix.com>
	<20397.14454.676453.9389@mariner.uk.xensource.com>
In-Reply-To: <20397.14454.676453.9389@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] libxl: prevent xl from running if xend
 is	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH v3] libxl: prevent xl from ru=
nning if xend is running."):
>> Prevent xl from doing any operation if xend daemon is running. That
>> prevents bugs that happened when xl and xend raced to close a domain.
>
> Thanks,
>
> Acked-by: Ian Jackson<ian.jackson@eu.citrix.com>
>
> I tried to apply this but I'm afraid it needs a refresh.

Ok, I've updated it and resend, but I'm afraid I've forgot to add the =

Ack, sorry about that.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:41:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrmI-0007XU-Vb; Mon, 14 May 2012 09:41:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STrmI-0007XK-A0
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:41:18 +0000
Received: from [193.109.254.147:59615] by server-9.bemta-14.messagelabs.com id
	6D/3D-05787-D33D0BF4; Mon, 14 May 2012 09:41:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1336988474!8765750!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21600 invoked from network); 14 May 2012 09:41:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:41:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194661890"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:41:14 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:41:14 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STrmD-0007zy-RT;
	Mon, 14 May 2012 10:41:13 +0100
Message-ID: <4FB0D338.9030800@citrix.com>
Date: Mon, 14 May 2012 10:41:12 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1335352142-43858-1-git-send-email-roger.pau@citrix.com>
	<20397.14454.676453.9389@mariner.uk.xensource.com>
In-Reply-To: <20397.14454.676453.9389@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] libxl: prevent xl from running if xend
 is	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH v3] libxl: prevent xl from ru=
nning if xend is running."):
>> Prevent xl from doing any operation if xend daemon is running. That
>> prevents bugs that happened when xl and xend raced to close a domain.
>
> Thanks,
>
> Acked-by: Ian Jackson<ian.jackson@eu.citrix.com>
>
> I tried to apply this but I'm afraid it needs a refresh.

Ok, I've updated it and resend, but I'm afraid I've forgot to add the =

Ack, sorry about that.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:42:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:42:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrmp-0007bw-Ip; Mon, 14 May 2012 09:41:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1STrmo-0007bn-Kg
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:41:50 +0000
Received: from [193.109.254.147:5552] by server-1.bemta-14.messagelabs.com id
	65/1A-29372-D53D0BF4; Mon, 14 May 2012 09:41:49 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336988501!3449346!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3ODk2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5408 invoked from network); 14 May 2012 09:41:41 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-6.tower-27.messagelabs.com with SMTP;
	14 May 2012 09:41:41 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 14 May 2012 02:41:40 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99765691"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 14 May 2012 02:41:40 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 14 May 2012 02:41:40 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 14 May 2012 17:41:36 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH v2] Fix the mistake for #DB and #OF exception
Thread-Index: AQHNMahTFIHm0tlOM0CJxjqd5VR4AJbI9q+g
Date: Mon, 14 May 2012 09:41:35 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC353F@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
	<4FB0D8DF0200007800083566@nat28.tlf.novell.com>
In-Reply-To: <4FB0D8DF0200007800083566@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	"Nakajima, Jun" <jun.nakajima@intel.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Monday, May 14, 2012 4:05 PM
> To: Hao, Xudong
> Cc: Keir Fraser(keir.xen@gmail.com); Dong, Eddie; Nakajima, Jun; Zhang,
> Xiantao; xen-devel(xen-devel@lists.xen.org); Aravindh Puthiyaparambil
> Subject: Re: [PATCH v2] Fix the mistake for #DB and #OF exception
> 
> >>> On 12.05.12 at 11:12, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > Fix the mistake for debug exception(#DB; generated by INT1), overflow
> > exception(#OF; generated by INTO) and int n instruction emulation.
> >
> > #DB should use hardware exception(except #DB generated by opcode 0xf1),
> #OF
> > should use software exception, which int n instruction should use software
> > interrupt.
> >
> > Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> > --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
> > @@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
> >          curr->arch.hvm_vmx.vmx_emulate = 1;
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and INT 3(CC), INTO (CE) instruction emulation. INT3 and
> > + * INT0 use software exception, and INT n should use
> 
> INTO ...
> 
> > + * software interrupt.
> > + */
> 
> Neither comment nor description still say anything about what needs
> to be fixed going forward (namely the need to properly handle INT nn
> when nn < 0x20).
> 
> >  void vmx_inject_hw_exception(int trap, int error_code)
> >  {
> >      unsigned long intr_info;
> > @@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
> >      switch ( trap )
> >      {
> >      case TRAP_debug:
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> 
> While the description correctly mentions the opcode 0xf1 case, the
> code makes no attempt at dealing with it. At least a comment would
> seem appropriate here, indicating the need for further adjustment.
> 
> > @@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
> >          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> >          break;
> >
> > +    case TRAP_overflow:
> > +        type = X86_EVENTTYPE_SW_EXCEPTION;
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> 
> So you're adding one more of these incorrect length settings. This
> is particularly harmful here, as iirc some gcc versions generate
> 2-byte INT 4 instructions in certain overflow checking functions.
> 
> As this needs to be taken care of here anyway, we should aim at
> fixing it for the other code paths too (as I just saw Eddie also
> suggests).
> 

I will clean this patch only for fixing the mistake of int3, #DB and #OF just as Eddie's suggestion.

> Jan
> 
> > +        break;
> > +
> >      default:
> >          if ( trap > TRAP_last_reserved )
> >          {
> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > +            type = X86_EVENTTYPE_SW_INTERRUPT;
> >              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8
> */
> >          }
> >          break;
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:42:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:42:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrmp-0007bw-Ip; Mon, 14 May 2012 09:41:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1STrmo-0007bn-Kg
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:41:50 +0000
Received: from [193.109.254.147:5552] by server-1.bemta-14.messagelabs.com id
	65/1A-29372-D53D0BF4; Mon, 14 May 2012 09:41:49 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336988501!3449346!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc3ODk2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5408 invoked from network); 14 May 2012 09:41:41 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-6.tower-27.messagelabs.com with SMTP;
	14 May 2012 09:41:41 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 14 May 2012 02:41:40 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99765691"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 14 May 2012 02:41:40 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 14 May 2012 02:41:40 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 14 May 2012 17:41:36 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH v2] Fix the mistake for #DB and #OF exception
Thread-Index: AQHNMahTFIHm0tlOM0CJxjqd5VR4AJbI9q+g
Date: Mon, 14 May 2012 09:41:35 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC353F@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC2D41@SHSMSX102.ccr.corp.intel.com>
	<4FB0D8DF0200007800083566@nat28.tlf.novell.com>
In-Reply-To: <4FB0D8DF0200007800083566@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	"Nakajima, Jun" <jun.nakajima@intel.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2] Fix the mistake for #DB and #OF exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Monday, May 14, 2012 4:05 PM
> To: Hao, Xudong
> Cc: Keir Fraser(keir.xen@gmail.com); Dong, Eddie; Nakajima, Jun; Zhang,
> Xiantao; xen-devel(xen-devel@lists.xen.org); Aravindh Puthiyaparambil
> Subject: Re: [PATCH v2] Fix the mistake for #DB and #OF exception
> 
> >>> On 12.05.12 at 11:12, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > Fix the mistake for debug exception(#DB; generated by INT1), overflow
> > exception(#OF; generated by INTO) and int n instruction emulation.
> >
> > #DB should use hardware exception(except #DB generated by opcode 0xf1),
> #OF
> > should use software exception, which int n instruction should use software
> > interrupt.
> >
> > Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> > --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c	Mon May 13 01:01:24 2013 +0800
> > @@ -1350,6 +1350,14 @@ static void __vmx_inject_exception(int t
> >          curr->arch.hvm_vmx.vmx_emulate = 1;
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and INT 3(CC), INTO (CE) instruction emulation. INT3 and
> > + * INT0 use software exception, and INT n should use
> 
> INTO ...
> 
> > + * software interrupt.
> > + */
> 
> Neither comment nor description still say anything about what needs
> to be fixed going forward (namely the need to properly handle INT nn
> when nn < 0x20).
> 
> >  void vmx_inject_hw_exception(int trap, int error_code)
> >  {
> >      unsigned long intr_info;
> > @@ -1365,7 +1373,6 @@ void vmx_inject_hw_exception(int trap, i
> >      switch ( trap )
> >      {
> >      case TRAP_debug:
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> 
> While the description correctly mentions the opcode 0xf1 case, the
> code makes no attempt at dealing with it. At least a comment would
> seem appropriate here, indicating the need for further adjustment.
> 
> > @@ -1387,10 +1394,15 @@ void vmx_inject_hw_exception(int trap, i
> >          __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> >          break;
> >
> > +    case TRAP_overflow:
> > +        type = X86_EVENTTYPE_SW_EXCEPTION;
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* into */
> 
> So you're adding one more of these incorrect length settings. This
> is particularly harmful here, as iirc some gcc versions generate
> 2-byte INT 4 instructions in certain overflow checking functions.
> 
> As this needs to be taken care of here anyway, we should aim at
> fixing it for the other code paths too (as I just saw Eddie also
> suggests).
> 

I will clean this patch only for fixing the mistake of int3, #DB and #OF just as Eddie's suggestion.

> Jan
> 
> > +        break;
> > +
> >      default:
> >          if ( trap > TRAP_last_reserved )
> >          {
> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > +            type = X86_EVENTTYPE_SW_INTERRUPT;
> >              __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8
> */
> >          }
> >          break;
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:42:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:42:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrn0-0007dl-VJ; Mon, 14 May 2012 09:42:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STrmz-0007dD-8M
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:42:01 +0000
Received: from [85.158.139.83:45979] by server-12.bemta-5.messagelabs.com id
	B2/B8-01344-863D0BF4; Mon, 14 May 2012 09:42:00 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336988518!27564007!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22876 invoked from network); 14 May 2012 09:41:59 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-9.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	14 May 2012 09:41:59 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STrmv-00016y-Va
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 02:41:57 -0700
Date: Mon, 14 May 2012 02:41:57 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336988517973-5708692.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Test result of xen-unstable changeset 25326
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.16-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25326:cd4dd23a831d)
vi Config.mk # test seabios unstable
PYTHON_PREFIX_ARG =
QEMU_UPSTREAM_URL ?= git://git.qemu.org/qemu.git #commit
94d1991445fa3582c042ee4e5b72606e2fc39cc2
SEABIOS_UPSTREAM_URL ?= git://git.seabios.org/seabios.git #commit
0c8f58d78543a06a57f4280dd3498807a1d9005d
SEABIOS_UPSTREAM_TAG ?= master
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
- libxc: do not "panic" if a kernel is not a bzImage.
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb


-------------------------
New issue:
-------------
- Network not working after save/restore on W7 64 bit domU with qemu
upstream
-------------------------

-------------------------
Fixed issue:
-------------
- Save/restore not working with qemu-xen
-------------------------

-------------------------
Old regression:
-------------
- CRITICAL - PV domU unable to start:
With pygrub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: error: libxl_bootloader.c:517:bootloader_finished: bootloader failed
- consult logfile /var/log/xen/bootloader.14.log
libxl: error: libxl_exec.c:108:libxl_report_child_exitstatus: bootloader
[6196] exited with error status 1
--------------
Traceback (most recent call last):
  File "/usr/bin/pygrub", line 822, in <module>
    raise RuntimeError, "Unable to find partition containing kernel"
RuntimeError: Unable to find partition containing kernel
--------------
With pv-grub:
Start but arrive at grubdom (see with xl console)

Now I try to bisect for this...
-------------------------

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25326-tp5708692.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:42:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:42:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrn0-0007dl-VJ; Mon, 14 May 2012 09:42:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STrmz-0007dD-8M
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:42:01 +0000
Received: from [85.158.139.83:45979] by server-12.bemta-5.messagelabs.com id
	B2/B8-01344-863D0BF4; Mon, 14 May 2012 09:42:00 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-9.tower-182.messagelabs.com!1336988518!27564007!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22876 invoked from network); 14 May 2012 09:41:59 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-9.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	14 May 2012 09:41:59 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STrmv-00016y-Va
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 02:41:57 -0700
Date: Mon, 14 May 2012 02:41:57 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1336988517973-5708692.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Test result of xen-unstable changeset 25326
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.16-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25326:cd4dd23a831d)
vi Config.mk # test seabios unstable
PYTHON_PREFIX_ARG =
QEMU_UPSTREAM_URL ?= git://git.qemu.org/qemu.git #commit
94d1991445fa3582c042ee4e5b72606e2fc39cc2
SEABIOS_UPSTREAM_URL ?= git://git.seabios.org/seabios.git #commit
0c8f58d78543a06a57f4280dd3498807a1d9005d
SEABIOS_UPSTREAM_TAG ?= master
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
- libxc: do not "panic" if a kernel is not a bzImage.
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb


-------------------------
New issue:
-------------
- Network not working after save/restore on W7 64 bit domU with qemu
upstream
-------------------------

-------------------------
Fixed issue:
-------------
- Save/restore not working with qemu-xen
-------------------------

-------------------------
Old regression:
-------------
- CRITICAL - PV domU unable to start:
With pygrub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: error: libxl_bootloader.c:517:bootloader_finished: bootloader failed
- consult logfile /var/log/xen/bootloader.14.log
libxl: error: libxl_exec.c:108:libxl_report_child_exitstatus: bootloader
[6196] exited with error status 1
--------------
Traceback (most recent call last):
  File "/usr/bin/pygrub", line 822, in <module>
    raise RuntimeError, "Unable to find partition containing kernel"
RuntimeError: Unable to find partition containing kernel
--------------
With pv-grub:
Start but arrive at grubdom (see with xl console)

Now I try to bisect for this...
-------------------------

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25326-tp5708692.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:51:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:51:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrwJ-00084J-0Z; Mon, 14 May 2012 09:51:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STrwG-00084E-Vs
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:51:37 +0000
Received: from [85.158.138.51:52990] by server-2.bemta-3.messagelabs.com id
	32/82-09269-8A5D0BF4; Mon, 14 May 2012 09:51:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336989093!18943661!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31273 invoked from network); 14 May 2012 09:51:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:51:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="25147815"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:51:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:51:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STrwC-00089K-UG;
	Mon, 14 May 2012 10:51:32 +0100
Message-ID: <4FB0D5A3.9000304@citrix.com>
Date: Mon, 14 May 2012 10:51:31 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-2-git-send-email-roger.pau@citrix.com>
	<20397.16177.826755.879002@mariner.uk.xensource.com>
In-Reply-To: <20397.16177.826755.879002@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and
 library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH 1/3] autoconf/python_dev: pas=
s include and library dir based on prefix"):
>> NetBSD `python-conf --ldflags` doesn't return the library dir, so we
>> have to add it to LDFLAGS based on the prefix returned by `python-conf
>> --prefix`. Also the include dir has been added to CFLAGS using the
>> same technique.
> ...
>>       dnl If python-config is found use it
>> -    CPPFLAGS=3D"$CFLAGS `$PYTHON-config --cflags`"
>> -    LDFLAGS=3D"$LDFLAGS `$PYTHON-config --ldflags`"
>> +    ac_python_prefix=3D`$PYTHON-config --prefix`
>> +    CPPFLAGS=3D"$CFLAGS `$PYTHON-config --cflags` -I$ac_python_prefix/i=
nclude"
>> +    LDFLAGS=3D"$LDFLAGS `$PYTHON-config --ldflags` -L$ac_python_prefix/=
lib"
>
> Shouldn't the -I and particulary the -L come first ?

According to man ld (from Debian):

"All -L options apply to all -l options, regardless of the order in =

which the options appear."

So it should be ok to specify -L after -l.

> TBH I'm
> surprised that this works since it looks like it ought to generate
>     -lpython2.6 -L/usr/blah/lib/bleh/python2.6
> or something, which I wouldn't expect to work.

python-config --prefix on the systems I've tested (that's NetBSD and =

Debian) returns the prefix path used for install, that's /usr on Debian =

and /usr/pkg on NetBSD.

Anyway, forget about this patch, a latter patch 3/3, fixes the library =

path search, so it's just easier to pass APPEND_LIB=3D/usr/pkg/lib to =

configure rather than touching the python_dev code.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 09:51:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 09:51:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STrwJ-00084J-0Z; Mon, 14 May 2012 09:51:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STrwG-00084E-Vs
	for xen-devel@lists.xen.org; Mon, 14 May 2012 09:51:37 +0000
Received: from [85.158.138.51:52990] by server-2.bemta-3.messagelabs.com id
	32/82-09269-8A5D0BF4; Mon, 14 May 2012 09:51:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336989093!18943661!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31273 invoked from network); 14 May 2012 09:51:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 09:51:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="25147815"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 05:51:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 05:51:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STrwC-00089K-UG;
	Mon, 14 May 2012 10:51:32 +0100
Message-ID: <4FB0D5A3.9000304@citrix.com>
Date: Mon, 14 May 2012 10:51:31 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-2-git-send-email-roger.pau@citrix.com>
	<20397.16177.826755.879002@mariner.uk.xensource.com>
In-Reply-To: <20397.16177.826755.879002@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and
 library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH 1/3] autoconf/python_dev: pas=
s include and library dir based on prefix"):
>> NetBSD `python-conf --ldflags` doesn't return the library dir, so we
>> have to add it to LDFLAGS based on the prefix returned by `python-conf
>> --prefix`. Also the include dir has been added to CFLAGS using the
>> same technique.
> ...
>>       dnl If python-config is found use it
>> -    CPPFLAGS=3D"$CFLAGS `$PYTHON-config --cflags`"
>> -    LDFLAGS=3D"$LDFLAGS `$PYTHON-config --ldflags`"
>> +    ac_python_prefix=3D`$PYTHON-config --prefix`
>> +    CPPFLAGS=3D"$CFLAGS `$PYTHON-config --cflags` -I$ac_python_prefix/i=
nclude"
>> +    LDFLAGS=3D"$LDFLAGS `$PYTHON-config --ldflags` -L$ac_python_prefix/=
lib"
>
> Shouldn't the -I and particulary the -L come first ?

According to man ld (from Debian):

"All -L options apply to all -l options, regardless of the order in =

which the options appear."

So it should be ok to specify -L after -l.

> TBH I'm
> surprised that this works since it looks like it ought to generate
>     -lpython2.6 -L/usr/blah/lib/bleh/python2.6
> or something, which I wouldn't expect to work.

python-config --prefix on the systems I've tested (that's NetBSD and =

Debian) returns the prefix path used for install, that's /usr on Debian =

and /usr/pkg on NetBSD.

Anyway, forget about this patch, a latter patch 3/3, fixes the library =

path search, so it's just easier to pass APPEND_LIB=3D/usr/pkg/lib to =

configure rather than touching the python_dev code.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:09:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:09:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsBw-0008LW-JH; Mon, 14 May 2012 10:07:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1STsBv-0008LQ-LZ
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:07:47 +0000
Received: from [85.158.139.83:38859] by server-9.bemta-5.messagelabs.com id
	97/D0-09826-279D0BF4; Mon, 14 May 2012 10:07:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336990062!28291093!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2476 invoked from network); 14 May 2012 10:07:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:07:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194664118"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 06:07:17 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 06:07:17 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1STsBQ-0008Oc-T8;
	Mon, 14 May 2012 11:07:16 +0100
Message-ID: <4FB0D908.9070201@eu.citrix.com>
Date: Mon, 14 May 2012 11:06:00 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
	<1336987293.31817.41.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336987293.31817.41.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 10:21, Ian Campbell wrote:
>> +
>> +    if (f == NULL) {
>> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
>> +                         SYSFS_PCIBACK_DRIVER"/slots");
>> +        return ERROR_FAIL;
>> +    }
>> +
>> +    while(fscanf(f, "%x:%x:%x.%x\n",&dom,&bus,&dev,&func)==3) {
> Shouldn't this 3 be 4 now that you include dom?
Ah, of course -- this is handling a case that doesn't happen normally 
when you use the commands (i.e., having a slot in pciback but not being 
bound), so it didn't get tested.  I'll make sure to check that.
> Also ISTR some change to the precise formatting using by the kernel for
> BDFs recently (A . became a : or vice versa?). CCing Konrad for input in
> case it impacts this too.
That would be pretty unfortunate; but it seems like it would also be 
pretty unlikely, as it would break an awful lot of user-mode programs, 
yes?  Linus seems to have a zero-tolerance policy towards that kind of 
thing.

I'll fix this up, re-test, and wait for Konrad's comment before re-sending.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:09:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:09:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsBw-0008LW-JH; Mon, 14 May 2012 10:07:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1STsBv-0008LQ-LZ
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:07:47 +0000
Received: from [85.158.139.83:38859] by server-9.bemta-5.messagelabs.com id
	97/D0-09826-279D0BF4; Mon, 14 May 2012 10:07:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336990062!28291093!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2476 invoked from network); 14 May 2012 10:07:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:07:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194664118"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 06:07:17 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 06:07:17 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1STsBQ-0008Oc-T8;
	Mon, 14 May 2012 11:07:16 +0100
Message-ID: <4FB0D908.9070201@eu.citrix.com>
Date: Mon, 14 May 2012 11:06:00 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
	<1336987293.31817.41.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336987293.31817.41.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 10:21, Ian Campbell wrote:
>> +
>> +    if (f == NULL) {
>> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
>> +                         SYSFS_PCIBACK_DRIVER"/slots");
>> +        return ERROR_FAIL;
>> +    }
>> +
>> +    while(fscanf(f, "%x:%x:%x.%x\n",&dom,&bus,&dev,&func)==3) {
> Shouldn't this 3 be 4 now that you include dom?
Ah, of course -- this is handling a case that doesn't happen normally 
when you use the commands (i.e., having a slot in pciback but not being 
bound), so it didn't get tested.  I'll make sure to check that.
> Also ISTR some change to the precise formatting using by the kernel for
> BDFs recently (A . became a : or vice versa?). CCing Konrad for input in
> case it impacts this too.
That would be pretty unfortunate; but it seems like it would also be 
pretty unlikely, as it would break an awful lot of user-mode programs, 
yes?  Linus seems to have a zero-tolerance policy towards that kind of 
thing.

I'll fix this up, re-test, and wait for Konrad's comment before re-sending.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:10:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:10:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsCq-0008Nb-1A; Mon, 14 May 2012 10:08:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STsCo-0008NT-ML
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:08:42 +0000
Received: from [193.109.254.147:24882] by server-12.bemta-14.messagelabs.com
	id 36/D2-05898-AA9D0BF4; Mon, 14 May 2012 10:08:42 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336990112!9106642!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30035 invoked from network); 14 May 2012 10:08:33 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-4.tower-27.messagelabs.com with SMTP;
	14 May 2012 10:08:33 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77847041; Mon, 14 May 2012 12:08:32 +0200
Message-ID: <1336990105.28326.12.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 12:08:25 +0200
In-Reply-To: <1336983290.31817.4.camel@zakaz.uk.xensource.com>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336778609.27081.1.camel@Abyss> <1336898139.2612.1.camel@Abyss>
	<1336983290.31817.4.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7447410111136253433=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7447410111136253433==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-gAauRNc41a9BOePnSCr0"


--=-gAauRNc41a9BOePnSCr0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 09:14 +0100, Ian Campbell wrote:
> > Damn! I forgot to update the doc (xl manual) accordingly!
>=20
> That was going to be my first comment ;-)
>=20
:-)

> It would also be useful if the commit message mentions the impact on the
> existing syntax -- I'm not sure if this is changing the behaviour of an
> existing xl syntax or adding a whole new one (maybe the docs will answer
> that).
>=20
=46rom since when I added the `cpus=3Dxxx` support to xl (back in February
and righ because it was a missing feature wrt to xm) it was using both:

cpus=3D"2, 3"

and

cpus=3D["2", "3"]

to do the same thing, i.e., bind all the vcpus of the guest to the pcpus
#2 and #3 of the host.

On the other hand xm/xend do/did the following:

cpus=3D"2, 3" --> bind all vcpus to pcpus #2 and #3

cpus=3D["2", "3"] --> bind vcpu #0 to pcpu #3 and vcpu #1 to pcpu #3

So, yes and no. :-) The point is using both syntax for he same thing in
xl hasn't been a good choice at all at that time, and this changest is
fixing that, other than improving xl-xm compatibility.

I hope I've clarified that here, and yes, I'll add something about this
in the commit message.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-gAauRNc41a9BOePnSCr0
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+w2ZkACgkQk4XaBE3IOsShbgCfahROGC/KexbI80dkSmlufnRv
r0AAnA8HVOjLE4En7C/At8QJdrBYuWOn
=Byde
-----END PGP SIGNATURE-----

--=-gAauRNc41a9BOePnSCr0--



--===============7447410111136253433==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7447410111136253433==--



From xen-devel-bounces@lists.xen.org Mon May 14 10:10:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:10:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsCq-0008Nb-1A; Mon, 14 May 2012 10:08:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STsCo-0008NT-ML
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:08:42 +0000
Received: from [193.109.254.147:24882] by server-12.bemta-14.messagelabs.com
	id 36/D2-05898-AA9D0BF4; Mon, 14 May 2012 10:08:42 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-4.tower-27.messagelabs.com!1336990112!9106642!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30035 invoked from network); 14 May 2012 10:08:33 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-4.tower-27.messagelabs.com with SMTP;
	14 May 2012 10:08:33 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77847041; Mon, 14 May 2012 12:08:32 +0200
Message-ID: <1336990105.28326.12.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 12:08:25 +0200
In-Reply-To: <1336983290.31817.4.camel@zakaz.uk.xensource.com>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336778609.27081.1.camel@Abyss> <1336898139.2612.1.camel@Abyss>
	<1336983290.31817.4.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7447410111136253433=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7447410111136253433==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-gAauRNc41a9BOePnSCr0"


--=-gAauRNc41a9BOePnSCr0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 09:14 +0100, Ian Campbell wrote:
> > Damn! I forgot to update the doc (xl manual) accordingly!
>=20
> That was going to be my first comment ;-)
>=20
:-)

> It would also be useful if the commit message mentions the impact on the
> existing syntax -- I'm not sure if this is changing the behaviour of an
> existing xl syntax or adding a whole new one (maybe the docs will answer
> that).
>=20
=46rom since when I added the `cpus=3Dxxx` support to xl (back in February
and righ because it was a missing feature wrt to xm) it was using both:

cpus=3D"2, 3"

and

cpus=3D["2", "3"]

to do the same thing, i.e., bind all the vcpus of the guest to the pcpus
#2 and #3 of the host.

On the other hand xm/xend do/did the following:

cpus=3D"2, 3" --> bind all vcpus to pcpus #2 and #3

cpus=3D["2", "3"] --> bind vcpu #0 to pcpu #3 and vcpu #1 to pcpu #3

So, yes and no. :-) The point is using both syntax for he same thing in
xl hasn't been a good choice at all at that time, and this changest is
fixing that, other than improving xl-xm compatibility.

I hope I've clarified that here, and yes, I'll add something about this
in the commit message.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-gAauRNc41a9BOePnSCr0
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+w2ZkACgkQk4XaBE3IOsShbgCfahROGC/KexbI80dkSmlufnRv
r0AAnA8HVOjLE4En7C/At8QJdrBYuWOn
=Byde
-----END PGP SIGNATURE-----

--=-gAauRNc41a9BOePnSCr0--



--===============7447410111136253433==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7447410111136253433==--



From xen-devel-bounces@lists.xen.org Mon May 14 10:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsEp-0008VC-Tk; Mon, 14 May 2012 10:10:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsEp-0008V3-8x
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:10:47 +0000
Received: from [85.158.143.35:39843] by server-2.bemta-4.messagelabs.com id
	ED/E3-17550-62AD0BF4; Mon, 14 May 2012 10:10:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336990238!14032959!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21534 invoked from network); 14 May 2012 10:10:41 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:10:41 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:10:37 +0100
Message-Id: <4FB0F6150200007800083669@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:09:57 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Olaf Hering" <olaf@aepfle.de>,"Keir Fraser" <keir@xen.org>
References: <CBCD8594.3FCE5%keir@xen.org>
 <20120511155148.GA21206@aepfle.de>
In-Reply-To: <20120511155148.GA21206@aepfle.de>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 17:51, Olaf Hering <olaf@aepfle.de> wrote:
> On Mon, May 07, Keir Fraser wrote:
> 
>> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
> 
> Keir,
> 
> the changes to unmodified_drivers//linux-2.6/ should be backported to
> the 4.1 branch:
> 
> changeset:   25069:46bf3ab42baf
> changeset:   25067:05768bd498f2
> 
> optional:
> changeset:   24045:4ed766d70396
> changeset:   25068:e4460795ee66
> 
> Also the asm/system.h patch I sent out today is a candidate.

25327:cc7a054a5a27

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsEp-0008VC-Tk; Mon, 14 May 2012 10:10:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsEp-0008V3-8x
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:10:47 +0000
Received: from [85.158.143.35:39843] by server-2.bemta-4.messagelabs.com id
	ED/E3-17550-62AD0BF4; Mon, 14 May 2012 10:10:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336990238!14032959!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21534 invoked from network); 14 May 2012 10:10:41 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:10:41 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:10:37 +0100
Message-Id: <4FB0F6150200007800083669@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:09:57 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Olaf Hering" <olaf@aepfle.de>,"Keir Fraser" <keir@xen.org>
References: <CBCD8594.3FCE5%keir@xen.org>
 <20120511155148.GA21206@aepfle.de>
In-Reply-To: <20120511155148.GA21206@aepfle.de>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [ANNOUNCE] First release candidates for Xen 4.0.4
 and 4.1.3
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 17:51, Olaf Hering <olaf@aepfle.de> wrote:
> On Mon, May 07, Keir Fraser wrote:
> 
>> http://xenbits.xen.org/staging/xen-4.1-testing.hg (tag 4.1.3-rc1)
> 
> Keir,
> 
> the changes to unmodified_drivers//linux-2.6/ should be backported to
> the 4.1 branch:
> 
> changeset:   25069:46bf3ab42baf
> changeset:   25067:05768bd498f2
> 
> optional:
> changeset:   24045:4ed766d70396
> changeset:   25068:e4460795ee66
> 
> Also the asm/system.h patch I sent out today is a candidate.

25327:cc7a054a5a27

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:12:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsEo-0008Uw-Hz; Mon, 14 May 2012 10:10:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsEm-0008Un-PC
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:10:44 +0000
Received: from [85.158.143.35:9383] by server-1.bemta-4.messagelabs.com id
	E7/13-20925-42AD0BF4; Mon, 14 May 2012 10:10:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336990238!12750488!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20088 invoked from network); 14 May 2012 10:10:39 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:10:39 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:10:37 +0100
Message-Id: <4FB0F63A020000780008366C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:10:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Olaf Hering" <olaf@aepfle.de>,
 "Ian Campbell" <Ian.Campbell@citrix.com>
References: <f81fa4014d8c66bd1a80.1336746929@probook.site>
	<1336751953.23818.118.camel@zakaz.uk.xensource.com>
	<20120511162103.GA24144@aepfle.de>
In-Reply-To: <20120511162103.GA24144@aepfle.de>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
 asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 18:21, Olaf Hering <olaf@aepfle.de> wrote:
> On Fri, May 11, Ian Campbell wrote:
> 
>> On Fri, 2012-05-11 at 15:35 +0100, Olaf Hering wrote:
>> > # HG changeset patch
>> > # User Olaf Hering <olaf@aepfle.de>
>> > # Date 1336743357 -7200
>> > # Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
>> > # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
>> > unmodified_drivers: remove inclusion of asm/system.h
>> > 
>> > Allow compilation of PVonHVM drivers with forward-ported xenlinux
>> > sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
>> > anymore. Remove inclusion of this header, its not needed.
>> 
>> It is not needed for 3.4 or it is not needed for any historical Linux
>> version which these drivers are supposed to be built against? What
>> kernels have you build tested?
> 
> asm/system.h does not need to be included.
> I tested it with sles11sp1+2, opensuse 11.2, 11.4, 12.1 and 12.2.
> I have not tested it with a plain linux-2.6.18-xen.hg, but I suspect it
> should work there too.

I did before pushing it, and it's okay there too.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:12:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsEo-0008Uw-Hz; Mon, 14 May 2012 10:10:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsEm-0008Un-PC
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:10:44 +0000
Received: from [85.158.143.35:9383] by server-1.bemta-4.messagelabs.com id
	E7/13-20925-42AD0BF4; Mon, 14 May 2012 10:10:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336990238!12750488!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20088 invoked from network); 14 May 2012 10:10:39 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:10:39 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:10:37 +0100
Message-Id: <4FB0F63A020000780008366C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:10:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Olaf Hering" <olaf@aepfle.de>,
 "Ian Campbell" <Ian.Campbell@citrix.com>
References: <f81fa4014d8c66bd1a80.1336746929@probook.site>
	<1336751953.23818.118.camel@zakaz.uk.xensource.com>
	<20120511162103.GA24144@aepfle.de>
In-Reply-To: <20120511162103.GA24144@aepfle.de>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] unmodified_drivers: remove inclusion of
 asm/system.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 11.05.12 at 18:21, Olaf Hering <olaf@aepfle.de> wrote:
> On Fri, May 11, Ian Campbell wrote:
> 
>> On Fri, 2012-05-11 at 15:35 +0100, Olaf Hering wrote:
>> > # HG changeset patch
>> > # User Olaf Hering <olaf@aepfle.de>
>> > # Date 1336743357 -7200
>> > # Node ID f81fa4014d8c66bd1a80e4914c5d777cbdb343d1
>> > # Parent  0f53540494f779a1260d4e5319dcdb268389dd07
>> > unmodified_drivers: remove inclusion of asm/system.h
>> > 
>> > Allow compilation of PVonHVM drivers with forward-ported xenlinux
>> > sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present
>> > anymore. Remove inclusion of this header, its not needed.
>> 
>> It is not needed for 3.4 or it is not needed for any historical Linux
>> version which these drivers are supposed to be built against? What
>> kernels have you build tested?
> 
> asm/system.h does not need to be included.
> I tested it with sles11sp1+2, opensuse 11.2, 11.4, 12.1 and 12.2.
> I have not tested it with a plain linux-2.6.18-xen.hg, but I suspect it
> should work there too.

I did before pushing it, and it's okay there too.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:19:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:19:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsLv-0000SM-Sf; Mon, 14 May 2012 10:18:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsLu-0000SH-9C
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:18:06 +0000
Received: from [85.158.143.35:31492] by server-1.bemta-4.messagelabs.com id
	4F/A0-20925-DDBD0BF4; Mon, 14 May 2012 10:18:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336990684!10904717!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32529 invoked from network); 14 May 2012 10:18:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:18:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:18:03 +0100
Message-Id: <4FB0F7F80200007800083676@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:18:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Jackson" <Ian.Jackson@eu.citrix.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part84AA76C8.1__="
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH,
 resend] libxc: implement gnttab.set_max_grants for Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part84AA76C8.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this operation to be
performed when the number of grants intended to be used simultaneously
exceeds a certain driver specific default limit, and qemu's qdisk
driver is an example of needing to do so.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libxc/xc_linux_osdep.c
+++ b/tools/libxc/xc_linux_osdep.c
@@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab=20
     return close(fd);
 }
=20
+static int linux_gnttab_set_max_grants(xc_gnttab *xch, xc_osdep_handle h,
+                                       uint32_t count)
+{
+    int fd =3D (int)h, rc;
+    struct ioctl_gntdev_set_max_grants max_grants =3D { .count =3D count =
};
+
+    rc =3D ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);
+    if (rc) {
+        /*
+         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
+         * so ignore the resulting specific failure.
+         */
+        if (errno =3D=3D ENOTTY)
+            rc =3D 0;
+        else
+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRANTS =
failed");
+    }
+
+    return rc;
+}
+
 static void *linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,
                                     uint32_t count, int flags, int prot,
                                     uint32_t *domids, uint32_t *refs,
@@ -680,6 +701,7 @@ static struct xc_osdep_ops linux_gnttab_
     .close =3D &linux_gnttab_close,
=20
     .u.gnttab =3D {
+        .set_max_grants =3D linux_gnttab_set_max_grants,
         .grant_map =3D &linux_gnttab_grant_map,
         .munmap =3D &linux_gnttab_munmap,
     },




--=__Part84AA76C8.1__=
Content-Type: text/plain; name="libxc-linux-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="libxc-linux-set-max-grants.patch"

libxc: implement gnttab.set_max_grants for Linux=0A=0ALegacy (non-pvops) =
gntdev drivers may require this operation to be=0Aperformed when the =
number of grants intended to be used simultaneously=0Aexceeds a certain =
driver specific default limit, and qemu's qdisk=0Adriver is an example of =
needing to do so.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/tools/libxc/xc_linux_osdep.c=0A+++ b/tools/libxc/xc_linux_osdep.c=0A@=
@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab =0A     return =
close(fd);=0A }=0A =0A+static int linux_gnttab_set_max_grants(xc_gnttab =
*xch, xc_osdep_handle h,=0A+                                       =
uint32_t count)=0A+{=0A+    int fd =3D (int)h, rc;=0A+    struct ioctl_gntd=
ev_set_max_grants max_grants =3D { .count =3D count };=0A+=0A+    rc =3D =
ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);=0A+    if (rc) {=0A+  =
      /*=0A+         * Newer (e.g. pv-ops) kernels don't implement this =
IOCTL,=0A+         * so ignore the resulting specific failure.=0A+         =
*/=0A+        if (errno =3D=3D ENOTTY)=0A+            rc =3D 0;=0A+        =
else=0A+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRAN=
TS failed");=0A+    }=0A+=0A+    return rc;=0A+}=0A+=0A static void =
*linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,=0A              =
                       uint32_t count, int flags, int prot,=0A             =
                        uint32_t *domids, uint32_t *refs,=0A@@ -680,6 =
+701,7 @@ static struct xc_osdep_ops linux_gnttab_=0A     .close =3D =
&linux_gnttab_close,=0A =0A     .u.gnttab =3D {=0A+        .set_max_grants =
=3D linux_gnttab_set_max_grants,=0A         .grant_map =3D &linux_gnttab_gr=
ant_map,=0A         .munmap =3D &linux_gnttab_munmap,=0A     },=0A
--=__Part84AA76C8.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part84AA76C8.1__=--


From xen-devel-bounces@lists.xen.org Mon May 14 10:19:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:19:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsLv-0000SM-Sf; Mon, 14 May 2012 10:18:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsLu-0000SH-9C
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:18:06 +0000
Received: from [85.158.143.35:31492] by server-1.bemta-4.messagelabs.com id
	4F/A0-20925-DDBD0BF4; Mon, 14 May 2012 10:18:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336990684!10904717!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32529 invoked from network); 14 May 2012 10:18:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:18:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:18:03 +0100
Message-Id: <4FB0F7F80200007800083676@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:18:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Jackson" <Ian.Jackson@eu.citrix.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part84AA76C8.1__="
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH,
 resend] libxc: implement gnttab.set_max_grants for Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part84AA76C8.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this operation to be
performed when the number of grants intended to be used simultaneously
exceeds a certain driver specific default limit, and qemu's qdisk
driver is an example of needing to do so.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/libxc/xc_linux_osdep.c
+++ b/tools/libxc/xc_linux_osdep.c
@@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab=20
     return close(fd);
 }
=20
+static int linux_gnttab_set_max_grants(xc_gnttab *xch, xc_osdep_handle h,
+                                       uint32_t count)
+{
+    int fd =3D (int)h, rc;
+    struct ioctl_gntdev_set_max_grants max_grants =3D { .count =3D count =
};
+
+    rc =3D ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);
+    if (rc) {
+        /*
+         * Newer (e.g. pv-ops) kernels don't implement this IOCTL,
+         * so ignore the resulting specific failure.
+         */
+        if (errno =3D=3D ENOTTY)
+            rc =3D 0;
+        else
+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRANTS =
failed");
+    }
+
+    return rc;
+}
+
 static void *linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,
                                     uint32_t count, int flags, int prot,
                                     uint32_t *domids, uint32_t *refs,
@@ -680,6 +701,7 @@ static struct xc_osdep_ops linux_gnttab_
     .close =3D &linux_gnttab_close,
=20
     .u.gnttab =3D {
+        .set_max_grants =3D linux_gnttab_set_max_grants,
         .grant_map =3D &linux_gnttab_grant_map,
         .munmap =3D &linux_gnttab_munmap,
     },




--=__Part84AA76C8.1__=
Content-Type: text/plain; name="libxc-linux-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="libxc-linux-set-max-grants.patch"

libxc: implement gnttab.set_max_grants for Linux=0A=0ALegacy (non-pvops) =
gntdev drivers may require this operation to be=0Aperformed when the =
number of grants intended to be used simultaneously=0Aexceeds a certain =
driver specific default limit, and qemu's qdisk=0Adriver is an example of =
needing to do so.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/tools/libxc/xc_linux_osdep.c=0A+++ b/tools/libxc/xc_linux_osdep.c=0A@=
@ -541,6 +541,27 @@ static int linux_gnttab_close(xc_gnttab =0A     return =
close(fd);=0A }=0A =0A+static int linux_gnttab_set_max_grants(xc_gnttab =
*xch, xc_osdep_handle h,=0A+                                       =
uint32_t count)=0A+{=0A+    int fd =3D (int)h, rc;=0A+    struct ioctl_gntd=
ev_set_max_grants max_grants =3D { .count =3D count };=0A+=0A+    rc =3D =
ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &max_grants);=0A+    if (rc) {=0A+  =
      /*=0A+         * Newer (e.g. pv-ops) kernels don't implement this =
IOCTL,=0A+         * so ignore the resulting specific failure.=0A+         =
*/=0A+        if (errno =3D=3D ENOTTY)=0A+            rc =3D 0;=0A+        =
else=0A+            PERROR("linux_gnttab_set_max_grants: ioctl SET_MAX_GRAN=
TS failed");=0A+    }=0A+=0A+    return rc;=0A+}=0A+=0A static void =
*linux_gnttab_grant_map(xc_gnttab *xch, xc_osdep_handle h,=0A              =
                       uint32_t count, int flags, int prot,=0A             =
                        uint32_t *domids, uint32_t *refs,=0A@@ -680,6 =
+701,7 @@ static struct xc_osdep_ops linux_gnttab_=0A     .close =3D =
&linux_gnttab_close,=0A =0A     .u.gnttab =3D {=0A+        .set_max_grants =
=3D linux_gnttab_set_max_grants,=0A         .grant_map =3D &linux_gnttab_gr=
ant_map,=0A         .munmap =3D &linux_gnttab_munmap,=0A     },=0A
--=__Part84AA76C8.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part84AA76C8.1__=--


From xen-devel-bounces@lists.xen.org Mon May 14 10:21:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:21:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsNZ-0000Y4-Ht; Mon, 14 May 2012 10:19:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STsNX-0000Xs-Mz
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:19:47 +0000
Received: from [85.158.143.99:8022] by server-1.bemta-4.messagelabs.com id
	CE/D3-20925-34CD0BF4; Mon, 14 May 2012 10:19:47 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336990783!16675350!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7965 invoked from network); 14 May 2012 10:19:45 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:19:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194665106"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 06:19:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 06:19:41 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STsNR-000097-6v;
	Mon, 14 May 2012 11:19:41 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 11:19:36 +0100
Message-ID: <1336990776-30127-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Ian Campbell <ian.campbell@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] autoconf: check for dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Check for this tools on x86 systems only.

Rerun autogen after applying this patch.

Cc: Ian Campbell <ian.campbell@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/configure.ac |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/tools/configure.ac b/tools/configure.ac
index 57c887d..893f283 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -69,10 +69,16 @@ AC_ARG_VAR([CURL], [Path to curl-config tool])
 AC_ARG_VAR([XML], [Path to xml2-config tool])
 AC_ARG_VAR([BASH], [Path to bash shell])
 AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
+
+dnl as86, ld86, bcc and iasl are only present in x86* systems
+case "$host_cpu" in
+i[[3456]]86|x86_64)
 AC_ARG_VAR([AS86], [Path to as86 tool])
 AC_ARG_VAR([LD86], [Path to ld86 tool])
 AC_ARG_VAR([BCC], [Path to bcc tool])
 AC_ARG_VAR([IASL], [Path to iasl tool])
+;;
+esac
 
 # Checks for programs.
 AC_PROG_SED
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:21:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:21:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsNZ-0000Y4-Ht; Mon, 14 May 2012 10:19:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STsNX-0000Xs-Mz
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:19:47 +0000
Received: from [85.158.143.99:8022] by server-1.bemta-4.messagelabs.com id
	CE/D3-20925-34CD0BF4; Mon, 14 May 2012 10:19:47 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1336990783!16675350!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7965 invoked from network); 14 May 2012 10:19:45 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:19:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194665106"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 06:19:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 06:19:41 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STsNR-000097-6v;
	Mon, 14 May 2012 11:19:41 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 11:19:36 +0100
Message-ID: <1336990776-30127-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Ian Campbell <ian.campbell@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] autoconf: check for dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Check for this tools on x86 systems only.

Rerun autogen after applying this patch.

Cc: Ian Campbell <ian.campbell@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/configure.ac |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/tools/configure.ac b/tools/configure.ac
index 57c887d..893f283 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -69,10 +69,16 @@ AC_ARG_VAR([CURL], [Path to curl-config tool])
 AC_ARG_VAR([XML], [Path to xml2-config tool])
 AC_ARG_VAR([BASH], [Path to bash shell])
 AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
+
+dnl as86, ld86, bcc and iasl are only present in x86* systems
+case "$host_cpu" in
+i[[3456]]86|x86_64)
 AC_ARG_VAR([AS86], [Path to as86 tool])
 AC_ARG_VAR([LD86], [Path to ld86 tool])
 AC_ARG_VAR([BCC], [Path to bcc tool])
 AC_ARG_VAR([IASL], [Path to iasl tool])
+;;
+esac
 
 # Checks for programs.
 AC_PROG_SED
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:28:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:28:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsUX-0000lK-ER; Mon, 14 May 2012 10:27:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STsUW-0000lF-4e
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:27:00 +0000
Received: from [85.158.138.51:60196] by server-1.bemta-3.messagelabs.com id
	04/B9-11491-3FDD0BF4; Mon, 14 May 2012 10:26:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336991217!19032335!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15055 invoked from network); 14 May 2012 10:26:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:26:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12453899"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 10:26:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 11:26:57 +0100
Message-ID: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 14 May 2012 11:26:55 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpUaGUgdXBkYXRlZCBUT0RPIGxpc3QgZm9sbG93cy4gUGVyIHRoZSByZWxlYXNlIHBsYW4g
YSBzdHJvbmcgY2FzZSB3aWxsCm5vdyBoYXZlIHRvIGJlIG1hZGUgYXMgdG8gd2h5IG5ldyBpdGVt
cyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGxpc3QsCmVzcGVjaWFsbHkgYXMgYSBibG9ja2VyLCBy
YXRoZXIgdGhhbiBkZWZlcnJlZCB0byA0LjMuCgpBIGxvdCBvZiBuZXcgRE9ORSBhbmQgb25lIG9m
IHRoZSBiaWdnZXIgaXRlbXMgKElhbkoncyBhc3luYwpib290bG9hZGVyL2NyZWF0ZS9mb3JrIHNl
cmllcykgaXMgbm93IGluLiBUaGUgcmVtYWluaW5nIGJpZyBpdGVtcyBhcmUKdGhlIGhvdHBsdWcg
c2NyaXB0IHNlcmllcyBhbmQgYXN5bmNocm9uaXNhdGlvbiBvZiBtaWdyYXRpb24uCgpXZSBoYXZl
IG1hZGUgYSBmcmVlemUgZXhjZXB0aW9uIGZvciBHZW9yZ2UncyAicGNpYmFjayBhdXRvYmluZCIg
cGF0Y2ggdG8KeGwsIHNpbmNlIGl0IGlzIHNlbGYgY29udGFpbmVkLiBMaWtld2lzZSBCYXN0aWFu
J3Mgc3VnZ2VzdGlvbiB0byByZW5hbWUKeHMuaCAtPiB4ZW5zdG9yZS5oIChzaW5jZSB0aGUgb2xk
IG5hbWUgaXMgdG9vIHNob3J0IGFuZCBub3cgY29uZmxpY3RzCndpdGggYW5vdGhlciBwcm9qZWN0
KSBoYXMgYmVlbiBhY2NlcHRlZCAod2l0aCBjb21wYXQgc3ltbGlua3MpIGZvciA0LjIKaW4gb3Jk
ZXIgdG8gZ2V0IHRoZSB0cmFuc2l0aW9uIHVuZGVyIHdheSBBU0FQLgoKT3RoZXIgdGhhbiB0aGF0
IEkgdGhpbmsgd2Ugc2hvdWxkIGNvbnNpZGVyIHRoZSBmcmVlemUgdG8gYmUgaW4gZnVsbAplZmZl
Y3QgYW5kIHRoZSBiYXIgdG8gZW50cnkgdG8gNC4yIHRvIGJlIHZlcnkgaGlnaC4KCmh5cGVydmlz
b3IsIGJsb2NrZXJzOgogICAgICAqIFBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gZHVlIHRvIGNvbnRl
bnRpb24gb24gcDJtIGxvY2suIFBhdGNoZXMKICAgICAgICBwb3N0ZWQsIHJldmlld2VkLCB1cGRh
dGVkLCB0byBnbyBpbiBzaG9ydGx5IChUaW0sIEFuZHJlcykgCiAKdG9vbHMsIGJsb2NrZXJzOgog
ICAgICAqIGxpYnhsIHN0YWJsZSBBUEkgLS0gd2Ugd291bGQgbGlrZSA0LjIgdG8gZGVmaW5lIGEg
c3RhYmxlIEFQSQogICAgICAgIHdoaWNoIGRvd25zdHJlYW0ncyBjYW4gc3RhcnQgdG8gcmVseSBv
biBub3QgY2hhbmdpbmcuIEFzcGVjdHMgb2YKICAgICAgICB0aGlzIGFyZToKICAgICAgICAgICAg
ICAqIFNhZmUgZm9yayB2cy4gZmQgaGFuZGxpbmcgaG9va3MuIEludm9sdmVzIEFQSSBjaGFuZ2Vz
CiAgICAgICAgICAgICAgICAoSWFuIEosIEkgdGhpbmsgdGhpcyB3YXMgYWN0dWFsbHkgRE9ORSBh
IHdoaWxlIGJhY2sgYW5kCiAgICAgICAgICAgICAgICBJIG1pc3NlZCBpdCkKICAgICAgICAgICAg
ICAqIGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVtb3J5L2xpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJn
ZXQuCiAgICAgICAgICAgICAgICBJbnRlcmZhY2UgbmVlZHMgYW4gb3ZlcmhhdWwsIHJlbGF0ZWQg
dG8KICAgICAgICAgICAgICAgIGxvY2tpbmcvc2VyaWFsaXphdGlvbiBvdmVyIGRvbWFpbiBjcmVh
dGUgKGRlZmVycmVkIHRvCiAgICAgICAgICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFi
b3V0IHRoaXMgaW50ZXJmYWNlIGJlaW5nCiAgICAgICAgICAgICAgICBzdWJzdGFuZGFyZCBidXQg
b3RoZXJ3aXNlIGRlZmVyIHRvIDQuMy4KICAgICAgICAgICAgICAqIGxpYnhsXypfcGF0aC4gTWFq
b3JpdHkgbWFkZSBpbnRlcm5hbCwgb25seSBjb25maWdkaXIgYW5kCiAgICAgICAgICAgICAgICBs
b2NrZGlyIHJlbWFpbiBwdWJsaWMgKHVzZWQgYnkgeGwpLiBHb29kIGVub3VnaD8KICAgICAgICAg
ICAgICAqIEludGVyZmFjZXMgd2hpY2ggbWF5IG5lZWQgdG8gYmUgYXN5bmM6CiAgICAgICAgICAg
ICAgICAgICAgICAqIGxpYnhsX2RvbWFpbl9zdXNwZW5kLiBQcm9iYWJseSBuZWVkIHRvIG1vdmUK
ICAgICAgICAgICAgICAgICAgICAgICAgeGNfZG9tYWluX3NhdmUgaW50byBhIHNlcGFyYXRlIHBy
b2Nlc3MsIGFzIHBlcgogICAgICAgICAgICAgICAgICAgICAgICA8MjAzNjYuNDAxODMuNDEwMzg4
LjQ0NzYzMEBtYXJpbmVyLnVrLnhlbnNvdXJjZS5jb20+LiBMaWtlbHkgbmVlZCB0byBkbyB0aGUg
c2FtZSBmb3IgeGNfZG9tYWluX3Jlc3RvcmUgdG9vLiAoSWFuSikuCiAgICAgICAgICAgICAgICAg
ICAgICAqIGxpYnhsX2RvbWFpbl9jcmVhdGVfe25ldyxyZXN0b3JlfSAtLSBJYW5KIGhhcwogICAg
ICAgICAgICAgICAgICAgICAgICBwYXRjaGVzIGFzIHBhcnQgb2YgZXZlbnQgc2VyaWVzLCAoRE9O
RSkuCiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RvbWFpbl9jb3JlX2R1bXAuIENhbiB0
YWtlIGEgZHVtbXkgYW9faG93CiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZW1haW4gc3lu
Y2hyb25vdXMgaW50ZXJuYWxseS4gKElhbkMsIERPTkUpCiAgICAgICAgICAgICAgICAgICAgICAq
IGxpYnhsX2RldmljZV97ZGlzayxuaWMsdmtiLGFkZCxwY2l9X2FkZCAoYW5kCiAgICAgICAgICAg
ICAgICAgICAgICAgIHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sgYXMgcGFy
dCBvZgogICAgICAgICAgICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFk
ZHMgaW5mcmFzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggc2hvdWxkIG1h
a2UgdGhlIG90aGVycyB0cml2aWFsLiAoUm9nZXIsCiAgICAgICAgICAgICAgICAgICAgICAgIFdJ
UCkKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91bGQgYmUg
ZWFzeSBvbmNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9IGRvbmUs
IElhbkogdG8gbG9vayBhdCAob3IKICAgICAgICAgICAgICAgICAgICAgICAgZG9pbmcgc28/KS4K
ICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfZGV2aWNlX2Rpc2tfbG9jYWxfe2F0dGFjaCxk
ZXRhY2h9LiBCZWNvbWUKICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWwgYXMgcGFydCBv
ZiBTdGVmYW5vJ3MgZG9tYWluIDAgZGlzawogICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2gg
c2VyaWVzIChwYXRjaGVzIHBvc3RlZCwgYW5vdGhlciByb3VuZAogICAgICAgICAgICAgICAgICAg
ICAgICByZXF1aXJlZD8pCiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2ZvcmsgLS0gSWFu
SidzIGV2ZW50IHNlcmllcyB3aWxsIHJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICBhbGwg
dXNlcnMgb2YgdGhpcy4gKERPTkUpCiAgICAgICogW0JVR10gTWFudWFsbHkgYmFsbG9vbmluZyBk
b20wLiAgeGwgbWVtLXNldCAwIFtmb29dIGZhaWxzIHdpdGgKICAgICAgICAibGlieGw6IGVycm9y
OiBsaWJ4bC5jOjI1Njk6bGlieGxfc2V0X21lbW9yeV90YXJnZXQ6IGNhbm5vdCBnZXQKICAgICAg
ICBtZW1vcnkgaW5mbyBmcm9tIC9sb2NhbC9kb21haW4vMC9tZW1vcnkvc3RhdGljLW1heDogTm8g
c3VjaCBmaWxlCiAgICAgICAgb3IgZGlyZWN0b3J5Ii4gVGhpcyBtaWdodCBiZSBzdWl0YWJsZSBm
b3IgYW4gZW50aHVzaWFzdGljCiAgICAgICAgb24tbG9va2VyLiAoU2VlbXMgdG8gaGF2ZSBiZWVu
IGZpeGVkLCBET05FKQogICAgICAqIHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToKICAgICAgICAg
ICAgICAqIFtCVUddIGNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgQ0QtUk9NIGRyaXZlciBvbiBIVk0g
Z3Vlc3QsCiAgICAgICAgICAgICAgICByZXBvcnRlZCBieSBGYWJpbyBGYW50b25pIGluCiAgICAg
ICAgICAgICAgICA8NEY5NjcyREQuMjA4MDkwMkB0aXNjYWxpLml0PgogICAgICAgICAgICAgICog
W0JVR10gU3B1cmlvdXMgQ1BVIHBhcmFtcyBlcnJvciBtZXNzYWdlIHdoZW4gc3RhcnRpbmcgYQog
ICAgICAgICAgICAgICAgZG9tYWluLCBlLmcuICJDcHUgd2VpZ2h0IG91dCBvZiByYW5nZSwgdmFs
aWQgdmFsdWVzIGFyZQogICAgICAgICAgICAgICAgd2l0aGluIHJhbmdlIGZyb20gMSB0byA2NTUz
NSIuICgiR2VvcmdlIHdpbGwgZG8gaXQgaWYgbm8KICAgICAgICAgICAgICAgIG9uZSBlbHNlIHN0
ZXBzIHVwIikKICAgICAgICAgICAgICAqIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgdHJ5IHRvIHNl
bGVjdCBhIChzZXQgb2YpIG5vZGUocykKICAgICAgICAgICAgICAgIG9uIHdoaWNoIHRvIGNyZWF0
ZSBhIFZNIGFuZCBwaW4gaXRzIHZjcHVzIHRoZXJlLiAoRGFyaW8KICAgICAgICAgICAgICAgIEZh
Z2dpb2xpLCBwYXRjaGVzIHBvc3RlZCkKICAgICAgKiBNb3JlIGZvcm1hbGx5IGRlcHJlY2F0ZSB4
bS94ZW5kLiBNYW5wYWdlIHBhdGNoZXMgYWxyZWFkeSBpbgogICAgICAgIHRyZWUuIE5lZWRzIHJl
bGVhc2Ugbm90aW5nIGFuZCBjb21tdW5pY2F0aW9uIGFyb3VuZCAtcmMxIHRvCiAgICAgICAgcmVt
aW5kIHBlb3BsZSB0byB0ZXN0IHhsLgogICAgICAqIHhsIHRvIHJlZnVzZSB0byBydW4gaWYgeGVu
ZCBpcyBydW5uaW5nLCBSb2dlciBQYXUgTW9ubsOpIChwYXRjaAogICAgICAgIHBvc3RlZCwgbmVl
ZHMgcmViYXNlKQogICAgICAqIERvbWFpbiAwIGJsb2NrIGF0dGFjaCAmIGdlbmVyYWwgaG90cGx1
ZyB3aGVuIHVzaW5nIHFkaXNrIGJhY2tlbmQKICAgICAgICAobmVlZCB0byBzdGFydCBxZW11IGFz
IG5lY2Vzc2FyeSBldGMpIChTdGVmYW5vIFMsIHBhdGNoZXMKICAgICAgICBwb3N0ZWQsIG5lZWRz
IHVwZGF0ZXMpCiAgICAgICogSW1wcm92ZWQgSG90cGx1ZyBzY3JpcHQgc3VwcG9ydCAoUm9nZXIg
UGF1IE1vbm7DqSwgcGF0Y2hlcwogICAgICAgIHBvc3RlZCkKICAgICAgKiBCbG9jayBzY3JpcHQg
c3VwcG9ydCAtLSBmb2xsb3dzIG9uIGZyb20gaG90cGx1ZyBzY3JpcHQgKFJvZ2VyCiAgICAgICAg
UGF1IE1vbm7DqSkKICAgICAgKiB4cy5oIC0+IHhlbnN0b3JlLmguIFNob3VsZCBkbyB0aGlzIGZv
ciA0LjIgcmF0aGVyIHRoYW4gaGF2ZQogICAgICAgIGRpc3Ryb3MgY2FycnkgdGhlaXIgb3duIHBh
dGNoZXMuIChJYW4gQywgcGF0Y2ggcG9zdGVkKQoKaHlwZXJ2aXNvciwgbmljZSB0byBoYXZlOgog
ICAgICAqIFBvRCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgKEdlb3JnZSBEdW5sYXApCgp0b29s
cywgbmljZSB0byBoYXZlOgogICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgog
ICAgICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBQQ0kgcGFzc3Rocm91Z2ggc3VwcG9ydCAoQW50
aG9ueSBQZXJhcmQsCiAgICAgICAgICAgICAgICBhd2FpdGluZyBxZW15IHVwc3RyZWFtIHJldmll
dykKICAgICAgICAgICAgICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBpcyBmcm96ZW4gZm9yIHRo
ZWlyIG5leHQgcmVsZWFzZS4KICAgICAgICAgICAgICAgICAgICAgICAgVW5saWtlbHkgdGhhdCB0
aGVzZSB3aWxsIGJlIGFjY2VwdGVkIGluIHRoZSBuZXh0CiAgICAgICAgICAgICAgICAgICAgICAg
IGZldyB3ZWVrcy4gR2l2ZW4gdGhhdCB1cHN0cmVhbSBxZW11IGlzIG5vdCB5ZXQKICAgICAgICAg
ICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgSSB0aGluayBpdCBpcyBhY2NlcHRhYmxlIHRvIGRl
ZmVyCiAgICAgICAgICAgICAgICAgICAgICAgIFBDSSBwYXNzdGhyb3VnaCBzdXBwb3J0IHRvIDQu
My4KICAgICAgICAgICAgICAqIFVwc3RyZWFtIHFlbXUgc2F2ZSByZXN0b3JlIChBbnRob255IFBl
cmFyZCwgU3RlZmFubwogICAgICAgICAgICAgICAgU3RhYmVsbGluaSwgcWVtdSBwYXRjaGVzIGFw
cGxpZWQsIGxpYnhsIHBhdGNoZXMgYXBwbGllZC4KICAgICAgICAgICAgICAgIERvbmUpCiAgICAg
ICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAobWVtb3J5IGNoZWNrcG9pbnQsIGJsYWNr
aG9saW5nKQogICAgICAgIChTaHJpcmFtLCB3YXMgd2FpdGluZyBvbiBsaWJ4bCBzaWRlIG9mIHFl
bXUgdXBzdHJlYW0KICAgICAgICBzYXZlL3Jlc3RvcmUsIG5vdyB1bmJsb2NrZWQpCiAgICAgICog
eGwgY29tcGF0aWJpbGl0eSB3aXRoIHhtOgogICAgICAgICAgICAgICogeGwgc3VwcG9ydCBmb3Ig
YXV0b3NwYXduaW5nIHZuY3ZpZXdlciAodm5jdmlld2VyPTEgb3IKICAgICAgICAgICAgICAgIG90
aGVyd2lzZSkgKEdvbmNhbG8gR29tZXMsIG5ldyB2ZXJzaW9uIG9mIHBhdGNoIHBvc3RlZAogICAg
ICAgICAgICAgICAgcmVjZW50bHkpCiAgICAgICogRGlyZWN0b3J5IHVzYWdlIGluIGxpYnhsIChC
YXN0aWFuLCBhcyBwYXJ0IG9mIERlYmlhbiBwYWNrYWdpbmcsCiAgICAgICAgbGlrZWx5IHRvIGRl
ZmVyIHRvIDQuMyB1bmxlc3MgdGhlcmUgaXMgc29tZSBiaWcgcHJvYmxlbSB3aXRoCiAgICAgICAg
cGFja2FnaW5nIGRldmlhdGluZyBmcm9tIHVwc3RyZWFtKQogICAgICAgICAgICAgICogZHVtcHMg
aW4gL3Zhci94ZW46IHd0Zj8KICAgICAgICAgICAgICAgICAgICAgICogQmFzdGlhbjogIlRoZSBG
SFMgZGVmaW5lcyAvdmFyL2NyYXNoIGZvciBzeXN0ZW0KICAgICAgICAgICAgICAgICAgICAgICAg
Y3Jhc2ggZHVtcHMsIGJ1dCBpdCBpcyBub3QgdXNlZCBldmVyeXdoZXJlLiBTbyBJCiAgICAgICAg
ICAgICAgICAgICAgICAgIHdvdWxkIHVzZSAvdmFyL2xpYi94ZW4vZHVtcCBvciBzby4iCiAgICAg
ICAgICAgICAgKiB1c2VyIGRhdGEgZmlsZXMgaW4gL3Zhci9saWIveGVuOgogICAgICAgICAgICAg
ICAgICAgICAgKiBXaGF0IGFyZSB0aGUgZ3VhcmFudGVlcyBnaXZlbiBmb3IgdGhpcyBmaWxlcz8K
ICAgICAgICAgICAgICAgICAgICAgICogQmFzdGlhbjogIkkgZG9uJ3QgdGhpbmsgcmVib290aW5n
IHRoZSBjb250cm9sCiAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbiB3aXRob3V0IHJlYm9v
dGluZyBYZW4gd2lsbCB3b3JrIHJpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgIG5vdy4gU28g
L3Zhci9ydW4gaXMgdGhlIGNvcnJlY3QgbG9jYXRpb24uIgogICAgICAgICAgICAgICogL3Zhci9y
dW4vbGlieGwgZm9yIHRlbXBvcmFyeSBmaWxlcwogICAgICAgICAgICAgICAgICAgICAgKiAiJFRN
UERJUiBvciB0aGUgZmFsbGJhY2sgL3RtcCBpcyB0aGUgY29ycmVjdAogICAgICAgICAgICAgICAg
ICAgICAgICBsb2NhdGlvbi4iCiAgICAgICogeGwgY29tbWFuZHMgdG8gaGVscCByZWJpbmQgcGNp
IGRldmljZXMgdG8gcGNpYmFjay4gCgpbMF0gaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMv
aHRtbC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDg4My5odG1sCgoKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Mon May 14 10:28:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:28:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsUX-0000lK-ER; Mon, 14 May 2012 10:27:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STsUW-0000lF-4e
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:27:00 +0000
Received: from [85.158.138.51:60196] by server-1.bemta-3.messagelabs.com id
	04/B9-11491-3FDD0BF4; Mon, 14 May 2012 10:26:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1336991217!19032335!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15055 invoked from network); 14 May 2012 10:26:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:26:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12453899"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 10:26:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 11:26:57 +0100
Message-ID: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 14 May 2012 11:26:55 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpUaGUgdXBkYXRlZCBUT0RPIGxpc3QgZm9sbG93cy4gUGVyIHRoZSByZWxlYXNlIHBsYW4g
YSBzdHJvbmcgY2FzZSB3aWxsCm5vdyBoYXZlIHRvIGJlIG1hZGUgYXMgdG8gd2h5IG5ldyBpdGVt
cyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGxpc3QsCmVzcGVjaWFsbHkgYXMgYSBibG9ja2VyLCBy
YXRoZXIgdGhhbiBkZWZlcnJlZCB0byA0LjMuCgpBIGxvdCBvZiBuZXcgRE9ORSBhbmQgb25lIG9m
IHRoZSBiaWdnZXIgaXRlbXMgKElhbkoncyBhc3luYwpib290bG9hZGVyL2NyZWF0ZS9mb3JrIHNl
cmllcykgaXMgbm93IGluLiBUaGUgcmVtYWluaW5nIGJpZyBpdGVtcyBhcmUKdGhlIGhvdHBsdWcg
c2NyaXB0IHNlcmllcyBhbmQgYXN5bmNocm9uaXNhdGlvbiBvZiBtaWdyYXRpb24uCgpXZSBoYXZl
IG1hZGUgYSBmcmVlemUgZXhjZXB0aW9uIGZvciBHZW9yZ2UncyAicGNpYmFjayBhdXRvYmluZCIg
cGF0Y2ggdG8KeGwsIHNpbmNlIGl0IGlzIHNlbGYgY29udGFpbmVkLiBMaWtld2lzZSBCYXN0aWFu
J3Mgc3VnZ2VzdGlvbiB0byByZW5hbWUKeHMuaCAtPiB4ZW5zdG9yZS5oIChzaW5jZSB0aGUgb2xk
IG5hbWUgaXMgdG9vIHNob3J0IGFuZCBub3cgY29uZmxpY3RzCndpdGggYW5vdGhlciBwcm9qZWN0
KSBoYXMgYmVlbiBhY2NlcHRlZCAod2l0aCBjb21wYXQgc3ltbGlua3MpIGZvciA0LjIKaW4gb3Jk
ZXIgdG8gZ2V0IHRoZSB0cmFuc2l0aW9uIHVuZGVyIHdheSBBU0FQLgoKT3RoZXIgdGhhbiB0aGF0
IEkgdGhpbmsgd2Ugc2hvdWxkIGNvbnNpZGVyIHRoZSBmcmVlemUgdG8gYmUgaW4gZnVsbAplZmZl
Y3QgYW5kIHRoZSBiYXIgdG8gZW50cnkgdG8gNC4yIHRvIGJlIHZlcnkgaGlnaC4KCmh5cGVydmlz
b3IsIGJsb2NrZXJzOgogICAgICAqIFBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gZHVlIHRvIGNvbnRl
bnRpb24gb24gcDJtIGxvY2suIFBhdGNoZXMKICAgICAgICBwb3N0ZWQsIHJldmlld2VkLCB1cGRh
dGVkLCB0byBnbyBpbiBzaG9ydGx5IChUaW0sIEFuZHJlcykgCiAKdG9vbHMsIGJsb2NrZXJzOgog
ICAgICAqIGxpYnhsIHN0YWJsZSBBUEkgLS0gd2Ugd291bGQgbGlrZSA0LjIgdG8gZGVmaW5lIGEg
c3RhYmxlIEFQSQogICAgICAgIHdoaWNoIGRvd25zdHJlYW0ncyBjYW4gc3RhcnQgdG8gcmVseSBv
biBub3QgY2hhbmdpbmcuIEFzcGVjdHMgb2YKICAgICAgICB0aGlzIGFyZToKICAgICAgICAgICAg
ICAqIFNhZmUgZm9yayB2cy4gZmQgaGFuZGxpbmcgaG9va3MuIEludm9sdmVzIEFQSSBjaGFuZ2Vz
CiAgICAgICAgICAgICAgICAoSWFuIEosIEkgdGhpbmsgdGhpcyB3YXMgYWN0dWFsbHkgRE9ORSBh
IHdoaWxlIGJhY2sgYW5kCiAgICAgICAgICAgICAgICBJIG1pc3NlZCBpdCkKICAgICAgICAgICAg
ICAqIGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVtb3J5L2xpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJn
ZXQuCiAgICAgICAgICAgICAgICBJbnRlcmZhY2UgbmVlZHMgYW4gb3ZlcmhhdWwsIHJlbGF0ZWQg
dG8KICAgICAgICAgICAgICAgIGxvY2tpbmcvc2VyaWFsaXphdGlvbiBvdmVyIGRvbWFpbiBjcmVh
dGUgKGRlZmVycmVkIHRvCiAgICAgICAgICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFi
b3V0IHRoaXMgaW50ZXJmYWNlIGJlaW5nCiAgICAgICAgICAgICAgICBzdWJzdGFuZGFyZCBidXQg
b3RoZXJ3aXNlIGRlZmVyIHRvIDQuMy4KICAgICAgICAgICAgICAqIGxpYnhsXypfcGF0aC4gTWFq
b3JpdHkgbWFkZSBpbnRlcm5hbCwgb25seSBjb25maWdkaXIgYW5kCiAgICAgICAgICAgICAgICBs
b2NrZGlyIHJlbWFpbiBwdWJsaWMgKHVzZWQgYnkgeGwpLiBHb29kIGVub3VnaD8KICAgICAgICAg
ICAgICAqIEludGVyZmFjZXMgd2hpY2ggbWF5IG5lZWQgdG8gYmUgYXN5bmM6CiAgICAgICAgICAg
ICAgICAgICAgICAqIGxpYnhsX2RvbWFpbl9zdXNwZW5kLiBQcm9iYWJseSBuZWVkIHRvIG1vdmUK
ICAgICAgICAgICAgICAgICAgICAgICAgeGNfZG9tYWluX3NhdmUgaW50byBhIHNlcGFyYXRlIHBy
b2Nlc3MsIGFzIHBlcgogICAgICAgICAgICAgICAgICAgICAgICA8MjAzNjYuNDAxODMuNDEwMzg4
LjQ0NzYzMEBtYXJpbmVyLnVrLnhlbnNvdXJjZS5jb20+LiBMaWtlbHkgbmVlZCB0byBkbyB0aGUg
c2FtZSBmb3IgeGNfZG9tYWluX3Jlc3RvcmUgdG9vLiAoSWFuSikuCiAgICAgICAgICAgICAgICAg
ICAgICAqIGxpYnhsX2RvbWFpbl9jcmVhdGVfe25ldyxyZXN0b3JlfSAtLSBJYW5KIGhhcwogICAg
ICAgICAgICAgICAgICAgICAgICBwYXRjaGVzIGFzIHBhcnQgb2YgZXZlbnQgc2VyaWVzLCAoRE9O
RSkuCiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RvbWFpbl9jb3JlX2R1bXAuIENhbiB0
YWtlIGEgZHVtbXkgYW9faG93CiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZW1haW4gc3lu
Y2hyb25vdXMgaW50ZXJuYWxseS4gKElhbkMsIERPTkUpCiAgICAgICAgICAgICAgICAgICAgICAq
IGxpYnhsX2RldmljZV97ZGlzayxuaWMsdmtiLGFkZCxwY2l9X2FkZCAoYW5kCiAgICAgICAgICAg
ICAgICAgICAgICAgIHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sgYXMgcGFy
dCBvZgogICAgICAgICAgICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFk
ZHMgaW5mcmFzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggc2hvdWxkIG1h
a2UgdGhlIG90aGVycyB0cml2aWFsLiAoUm9nZXIsCiAgICAgICAgICAgICAgICAgICAgICAgIFdJ
UCkKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91bGQgYmUg
ZWFzeSBvbmNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9IGRvbmUs
IElhbkogdG8gbG9vayBhdCAob3IKICAgICAgICAgICAgICAgICAgICAgICAgZG9pbmcgc28/KS4K
ICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfZGV2aWNlX2Rpc2tfbG9jYWxfe2F0dGFjaCxk
ZXRhY2h9LiBCZWNvbWUKICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWwgYXMgcGFydCBv
ZiBTdGVmYW5vJ3MgZG9tYWluIDAgZGlzawogICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2gg
c2VyaWVzIChwYXRjaGVzIHBvc3RlZCwgYW5vdGhlciByb3VuZAogICAgICAgICAgICAgICAgICAg
ICAgICByZXF1aXJlZD8pCiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2ZvcmsgLS0gSWFu
SidzIGV2ZW50IHNlcmllcyB3aWxsIHJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICBhbGwg
dXNlcnMgb2YgdGhpcy4gKERPTkUpCiAgICAgICogW0JVR10gTWFudWFsbHkgYmFsbG9vbmluZyBk
b20wLiAgeGwgbWVtLXNldCAwIFtmb29dIGZhaWxzIHdpdGgKICAgICAgICAibGlieGw6IGVycm9y
OiBsaWJ4bC5jOjI1Njk6bGlieGxfc2V0X21lbW9yeV90YXJnZXQ6IGNhbm5vdCBnZXQKICAgICAg
ICBtZW1vcnkgaW5mbyBmcm9tIC9sb2NhbC9kb21haW4vMC9tZW1vcnkvc3RhdGljLW1heDogTm8g
c3VjaCBmaWxlCiAgICAgICAgb3IgZGlyZWN0b3J5Ii4gVGhpcyBtaWdodCBiZSBzdWl0YWJsZSBm
b3IgYW4gZW50aHVzaWFzdGljCiAgICAgICAgb24tbG9va2VyLiAoU2VlbXMgdG8gaGF2ZSBiZWVu
IGZpeGVkLCBET05FKQogICAgICAqIHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToKICAgICAgICAg
ICAgICAqIFtCVUddIGNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgQ0QtUk9NIGRyaXZlciBvbiBIVk0g
Z3Vlc3QsCiAgICAgICAgICAgICAgICByZXBvcnRlZCBieSBGYWJpbyBGYW50b25pIGluCiAgICAg
ICAgICAgICAgICA8NEY5NjcyREQuMjA4MDkwMkB0aXNjYWxpLml0PgogICAgICAgICAgICAgICog
W0JVR10gU3B1cmlvdXMgQ1BVIHBhcmFtcyBlcnJvciBtZXNzYWdlIHdoZW4gc3RhcnRpbmcgYQog
ICAgICAgICAgICAgICAgZG9tYWluLCBlLmcuICJDcHUgd2VpZ2h0IG91dCBvZiByYW5nZSwgdmFs
aWQgdmFsdWVzIGFyZQogICAgICAgICAgICAgICAgd2l0aGluIHJhbmdlIGZyb20gMSB0byA2NTUz
NSIuICgiR2VvcmdlIHdpbGwgZG8gaXQgaWYgbm8KICAgICAgICAgICAgICAgIG9uZSBlbHNlIHN0
ZXBzIHVwIikKICAgICAgICAgICAgICAqIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgdHJ5IHRvIHNl
bGVjdCBhIChzZXQgb2YpIG5vZGUocykKICAgICAgICAgICAgICAgIG9uIHdoaWNoIHRvIGNyZWF0
ZSBhIFZNIGFuZCBwaW4gaXRzIHZjcHVzIHRoZXJlLiAoRGFyaW8KICAgICAgICAgICAgICAgIEZh
Z2dpb2xpLCBwYXRjaGVzIHBvc3RlZCkKICAgICAgKiBNb3JlIGZvcm1hbGx5IGRlcHJlY2F0ZSB4
bS94ZW5kLiBNYW5wYWdlIHBhdGNoZXMgYWxyZWFkeSBpbgogICAgICAgIHRyZWUuIE5lZWRzIHJl
bGVhc2Ugbm90aW5nIGFuZCBjb21tdW5pY2F0aW9uIGFyb3VuZCAtcmMxIHRvCiAgICAgICAgcmVt
aW5kIHBlb3BsZSB0byB0ZXN0IHhsLgogICAgICAqIHhsIHRvIHJlZnVzZSB0byBydW4gaWYgeGVu
ZCBpcyBydW5uaW5nLCBSb2dlciBQYXUgTW9ubsOpIChwYXRjaAogICAgICAgIHBvc3RlZCwgbmVl
ZHMgcmViYXNlKQogICAgICAqIERvbWFpbiAwIGJsb2NrIGF0dGFjaCAmIGdlbmVyYWwgaG90cGx1
ZyB3aGVuIHVzaW5nIHFkaXNrIGJhY2tlbmQKICAgICAgICAobmVlZCB0byBzdGFydCBxZW11IGFz
IG5lY2Vzc2FyeSBldGMpIChTdGVmYW5vIFMsIHBhdGNoZXMKICAgICAgICBwb3N0ZWQsIG5lZWRz
IHVwZGF0ZXMpCiAgICAgICogSW1wcm92ZWQgSG90cGx1ZyBzY3JpcHQgc3VwcG9ydCAoUm9nZXIg
UGF1IE1vbm7DqSwgcGF0Y2hlcwogICAgICAgIHBvc3RlZCkKICAgICAgKiBCbG9jayBzY3JpcHQg
c3VwcG9ydCAtLSBmb2xsb3dzIG9uIGZyb20gaG90cGx1ZyBzY3JpcHQgKFJvZ2VyCiAgICAgICAg
UGF1IE1vbm7DqSkKICAgICAgKiB4cy5oIC0+IHhlbnN0b3JlLmguIFNob3VsZCBkbyB0aGlzIGZv
ciA0LjIgcmF0aGVyIHRoYW4gaGF2ZQogICAgICAgIGRpc3Ryb3MgY2FycnkgdGhlaXIgb3duIHBh
dGNoZXMuIChJYW4gQywgcGF0Y2ggcG9zdGVkKQoKaHlwZXJ2aXNvciwgbmljZSB0byBoYXZlOgog
ICAgICAqIFBvRCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgKEdlb3JnZSBEdW5sYXApCgp0b29s
cywgbmljZSB0byBoYXZlOgogICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgog
ICAgICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBQQ0kgcGFzc3Rocm91Z2ggc3VwcG9ydCAoQW50
aG9ueSBQZXJhcmQsCiAgICAgICAgICAgICAgICBhd2FpdGluZyBxZW15IHVwc3RyZWFtIHJldmll
dykKICAgICAgICAgICAgICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBpcyBmcm96ZW4gZm9yIHRo
ZWlyIG5leHQgcmVsZWFzZS4KICAgICAgICAgICAgICAgICAgICAgICAgVW5saWtlbHkgdGhhdCB0
aGVzZSB3aWxsIGJlIGFjY2VwdGVkIGluIHRoZSBuZXh0CiAgICAgICAgICAgICAgICAgICAgICAg
IGZldyB3ZWVrcy4gR2l2ZW4gdGhhdCB1cHN0cmVhbSBxZW11IGlzIG5vdCB5ZXQKICAgICAgICAg
ICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgSSB0aGluayBpdCBpcyBhY2NlcHRhYmxlIHRvIGRl
ZmVyCiAgICAgICAgICAgICAgICAgICAgICAgIFBDSSBwYXNzdGhyb3VnaCBzdXBwb3J0IHRvIDQu
My4KICAgICAgICAgICAgICAqIFVwc3RyZWFtIHFlbXUgc2F2ZSByZXN0b3JlIChBbnRob255IFBl
cmFyZCwgU3RlZmFubwogICAgICAgICAgICAgICAgU3RhYmVsbGluaSwgcWVtdSBwYXRjaGVzIGFw
cGxpZWQsIGxpYnhsIHBhdGNoZXMgYXBwbGllZC4KICAgICAgICAgICAgICAgIERvbmUpCiAgICAg
ICogSW5pdGlhbCB4bCBzdXBwb3J0IGZvciBSZW11cyAobWVtb3J5IGNoZWNrcG9pbnQsIGJsYWNr
aG9saW5nKQogICAgICAgIChTaHJpcmFtLCB3YXMgd2FpdGluZyBvbiBsaWJ4bCBzaWRlIG9mIHFl
bXUgdXBzdHJlYW0KICAgICAgICBzYXZlL3Jlc3RvcmUsIG5vdyB1bmJsb2NrZWQpCiAgICAgICog
eGwgY29tcGF0aWJpbGl0eSB3aXRoIHhtOgogICAgICAgICAgICAgICogeGwgc3VwcG9ydCBmb3Ig
YXV0b3NwYXduaW5nIHZuY3ZpZXdlciAodm5jdmlld2VyPTEgb3IKICAgICAgICAgICAgICAgIG90
aGVyd2lzZSkgKEdvbmNhbG8gR29tZXMsIG5ldyB2ZXJzaW9uIG9mIHBhdGNoIHBvc3RlZAogICAg
ICAgICAgICAgICAgcmVjZW50bHkpCiAgICAgICogRGlyZWN0b3J5IHVzYWdlIGluIGxpYnhsIChC
YXN0aWFuLCBhcyBwYXJ0IG9mIERlYmlhbiBwYWNrYWdpbmcsCiAgICAgICAgbGlrZWx5IHRvIGRl
ZmVyIHRvIDQuMyB1bmxlc3MgdGhlcmUgaXMgc29tZSBiaWcgcHJvYmxlbSB3aXRoCiAgICAgICAg
cGFja2FnaW5nIGRldmlhdGluZyBmcm9tIHVwc3RyZWFtKQogICAgICAgICAgICAgICogZHVtcHMg
aW4gL3Zhci94ZW46IHd0Zj8KICAgICAgICAgICAgICAgICAgICAgICogQmFzdGlhbjogIlRoZSBG
SFMgZGVmaW5lcyAvdmFyL2NyYXNoIGZvciBzeXN0ZW0KICAgICAgICAgICAgICAgICAgICAgICAg
Y3Jhc2ggZHVtcHMsIGJ1dCBpdCBpcyBub3QgdXNlZCBldmVyeXdoZXJlLiBTbyBJCiAgICAgICAg
ICAgICAgICAgICAgICAgIHdvdWxkIHVzZSAvdmFyL2xpYi94ZW4vZHVtcCBvciBzby4iCiAgICAg
ICAgICAgICAgKiB1c2VyIGRhdGEgZmlsZXMgaW4gL3Zhci9saWIveGVuOgogICAgICAgICAgICAg
ICAgICAgICAgKiBXaGF0IGFyZSB0aGUgZ3VhcmFudGVlcyBnaXZlbiBmb3IgdGhpcyBmaWxlcz8K
ICAgICAgICAgICAgICAgICAgICAgICogQmFzdGlhbjogIkkgZG9uJ3QgdGhpbmsgcmVib290aW5n
IHRoZSBjb250cm9sCiAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbiB3aXRob3V0IHJlYm9v
dGluZyBYZW4gd2lsbCB3b3JrIHJpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgIG5vdy4gU28g
L3Zhci9ydW4gaXMgdGhlIGNvcnJlY3QgbG9jYXRpb24uIgogICAgICAgICAgICAgICogL3Zhci9y
dW4vbGlieGwgZm9yIHRlbXBvcmFyeSBmaWxlcwogICAgICAgICAgICAgICAgICAgICAgKiAiJFRN
UERJUiBvciB0aGUgZmFsbGJhY2sgL3RtcCBpcyB0aGUgY29ycmVjdAogICAgICAgICAgICAgICAg
ICAgICAgICBsb2NhdGlvbi4iCiAgICAgICogeGwgY29tbWFuZHMgdG8gaGVscCByZWJpbmQgcGNp
IGRldmljZXMgdG8gcGNpYmFjay4gCgpbMF0gaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMv
aHRtbC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDg4My5odG1sCgoKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Mon May 14 10:32:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:32:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsXY-0000qn-1J; Mon, 14 May 2012 10:30:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsXW-0000qh-J7
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:30:06 +0000
Received: from [85.158.138.51:30944] by server-6.bemta-3.messagelabs.com id
	C9/59-05145-DAED0BF4; Mon, 14 May 2012 10:30:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336991404!20634582!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30019 invoked from network); 14 May 2012 10:30:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:30:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:30:03 +0100
Message-Id: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:30:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartF1DF03B8.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartF1DF03B8.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

While for the "normal" case (called from blk_send_response_all())
decrementing requests_finished is correct, doing so in the parse error
case is wrong; requests_inflight needs to be decremented instead.

Change in v2: Adjust coding style.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
     blkdev->requests_finished++;
 }
=20
-static void ioreq_release(struct ioreq *ioreq)
+static void ioreq_release(struct ioreq *ioreq, bool finish)
 {
     struct XenBlkDev *blkdev =3D ioreq->blkdev;
=20
@@ -162,7 +162,11 @@ static void ioreq_release(struct ioreq *
     memset(ioreq, 0, sizeof(*ioreq));
     ioreq->blkdev =3D blkdev;
     QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
-    blkdev->requests_finished--;
+    if (finish) {
+        blkdev->requests_finished--;
+    } else {
+        blkdev->requests_inflight--;
+    }
 }
=20
 /*
@@ -449,7 +453,7 @@ static void blk_send_response_all(struct
     while (!QLIST_EMPTY(&blkdev->finished)) {
         ioreq =3D QLIST_FIRST(&blkdev->finished);
         send_notify +=3D blk_send_response_one(ioreq);
-        ioreq_release(ioreq);
+        ioreq_release(ioreq, true);
     }
     if (send_notify) {
         xen_be_send_notify(&blkdev->xendev);
@@ -505,7 +509,7 @@ static void blk_handle_requests(struct X
             if (blk_send_response_one(ioreq)) {
                 xen_be_send_notify(&blkdev->xendev);
             }
-            ioreq_release(ioreq);
+            ioreq_release(ioreq, false);
             continue;
         }
=20




--=__PartF1DF03B8.1__=
Content-Type: text/plain; name="qemu-xendisk-accounting.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-accounting.patch"

qemu/xendisk: properly update stats in ioreq_release()=0A=0AWhile for the =
"normal" case (called from blk_send_response_all())=0Adecrementing =
requests_finished is correct, doing so in the parse error=0Acase is wrong; =
requests_inflight needs to be decremented instead.=0A=0AChange in v2: =
Adjust coding style.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ -154,7 +154,7 @@ static =
void ioreq_finish(struct ioreq *i=0A     blkdev->requests_finished++;=0A =
}=0A =0A-static void ioreq_release(struct ioreq *ioreq)=0A+static void =
ioreq_release(struct ioreq *ioreq, bool finish)=0A {=0A     struct =
XenBlkDev *blkdev =3D ioreq->blkdev;=0A =0A@@ -162,7 +162,11 @@ static =
void ioreq_release(struct ioreq *=0A     memset(ioreq, 0, sizeof(*ioreq));=
=0A     ioreq->blkdev =3D blkdev;=0A     QLIST_INSERT_HEAD(&blkdev->freelis=
t, ioreq, list);=0A-    blkdev->requests_finished--;=0A+    if (finish) =
{=0A+        blkdev->requests_finished--;=0A+    } else {=0A+        =
blkdev->requests_inflight--;=0A+    }=0A }=0A =0A /*=0A@@ -449,7 +453,7 @@ =
static void blk_send_response_all(struct=0A     while (!QLIST_EMPTY(&blkdev=
->finished)) {=0A         ioreq =3D QLIST_FIRST(&blkdev->finished);=0A     =
    send_notify +=3D blk_send_response_one(ioreq);=0A-        ioreq_release=
(ioreq);=0A+        ioreq_release(ioreq, true);=0A     }=0A     if =
(send_notify) {=0A         xen_be_send_notify(&blkdev->xendev);=0A@@ =
-505,7 +509,7 @@ static void blk_handle_requests(struct X=0A             =
if (blk_send_response_one(ioreq)) {=0A                 xen_be_send_notify(&=
blkdev->xendev);=0A             }=0A-            ioreq_release(ioreq);=0A+ =
           ioreq_release(ioreq, false);=0A             continue;=0A        =
 }=0A =0A
--=__PartF1DF03B8.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartF1DF03B8.1__=--


From xen-devel-bounces@lists.xen.org Mon May 14 10:32:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:32:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsXY-0000qn-1J; Mon, 14 May 2012 10:30:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STsXW-0000qh-J7
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:30:06 +0000
Received: from [85.158.138.51:30944] by server-6.bemta-3.messagelabs.com id
	C9/59-05145-DAED0BF4; Mon, 14 May 2012 10:30:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1336991404!20634582!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30019 invoked from network); 14 May 2012 10:30:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 10:30:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 11:30:03 +0100
Message-Id: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 11:30:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartF1DF03B8.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartF1DF03B8.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

While for the "normal" case (called from blk_send_response_all())
decrementing requests_finished is correct, doing so in the parse error
case is wrong; requests_inflight needs to be decremented instead.

Change in v2: Adjust coding style.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *i
     blkdev->requests_finished++;
 }
=20
-static void ioreq_release(struct ioreq *ioreq)
+static void ioreq_release(struct ioreq *ioreq, bool finish)
 {
     struct XenBlkDev *blkdev =3D ioreq->blkdev;
=20
@@ -162,7 +162,11 @@ static void ioreq_release(struct ioreq *
     memset(ioreq, 0, sizeof(*ioreq));
     ioreq->blkdev =3D blkdev;
     QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
-    blkdev->requests_finished--;
+    if (finish) {
+        blkdev->requests_finished--;
+    } else {
+        blkdev->requests_inflight--;
+    }
 }
=20
 /*
@@ -449,7 +453,7 @@ static void blk_send_response_all(struct
     while (!QLIST_EMPTY(&blkdev->finished)) {
         ioreq =3D QLIST_FIRST(&blkdev->finished);
         send_notify +=3D blk_send_response_one(ioreq);
-        ioreq_release(ioreq);
+        ioreq_release(ioreq, true);
     }
     if (send_notify) {
         xen_be_send_notify(&blkdev->xendev);
@@ -505,7 +509,7 @@ static void blk_handle_requests(struct X
             if (blk_send_response_one(ioreq)) {
                 xen_be_send_notify(&blkdev->xendev);
             }
-            ioreq_release(ioreq);
+            ioreq_release(ioreq, false);
             continue;
         }
=20




--=__PartF1DF03B8.1__=
Content-Type: text/plain; name="qemu-xendisk-accounting.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-accounting.patch"

qemu/xendisk: properly update stats in ioreq_release()=0A=0AWhile for the =
"normal" case (called from blk_send_response_all())=0Adecrementing =
requests_finished is correct, doing so in the parse error=0Acase is wrong; =
requests_inflight needs to be decremented instead.=0A=0AChange in v2: =
Adjust coding style.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ -154,7 +154,7 @@ static =
void ioreq_finish(struct ioreq *i=0A     blkdev->requests_finished++;=0A =
}=0A =0A-static void ioreq_release(struct ioreq *ioreq)=0A+static void =
ioreq_release(struct ioreq *ioreq, bool finish)=0A {=0A     struct =
XenBlkDev *blkdev =3D ioreq->blkdev;=0A =0A@@ -162,7 +162,11 @@ static =
void ioreq_release(struct ioreq *=0A     memset(ioreq, 0, sizeof(*ioreq));=
=0A     ioreq->blkdev =3D blkdev;=0A     QLIST_INSERT_HEAD(&blkdev->freelis=
t, ioreq, list);=0A-    blkdev->requests_finished--;=0A+    if (finish) =
{=0A+        blkdev->requests_finished--;=0A+    } else {=0A+        =
blkdev->requests_inflight--;=0A+    }=0A }=0A =0A /*=0A@@ -449,7 +453,7 @@ =
static void blk_send_response_all(struct=0A     while (!QLIST_EMPTY(&blkdev=
->finished)) {=0A         ioreq =3D QLIST_FIRST(&blkdev->finished);=0A     =
    send_notify +=3D blk_send_response_one(ioreq);=0A-        ioreq_release=
(ioreq);=0A+        ioreq_release(ioreq, true);=0A     }=0A     if =
(send_notify) {=0A         xen_be_send_notify(&blkdev->xendev);=0A@@ =
-505,7 +509,7 @@ static void blk_handle_requests(struct X=0A             =
if (blk_send_response_one(ioreq)) {=0A                 xen_be_send_notify(&=
blkdev->xendev);=0A             }=0A-            ioreq_release(ioreq);=0A+ =
           ioreq_release(ioreq, false);=0A             continue;=0A        =
 }=0A =0A
--=__PartF1DF03B8.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartF1DF03B8.1__=--


From xen-devel-bounces@lists.xen.org Mon May 14 10:32:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:32:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsXu-0000sQ-E5; Mon, 14 May 2012 10:30:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STsXs-0000sB-J4
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:30:28 +0000
Received: from [85.158.143.35:60064] by server-1.bemta-4.messagelabs.com id
	9A/C7-20925-3CED0BF4; Mon, 14 May 2012 10:30:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336991420!14037254!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22941 invoked from network); 14 May 2012 10:30:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:30:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="25148584"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 06:30:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 06:30:18 -0400
Received: from [10.80.246.74] (helo=army.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1STsXg-0000IY-8U;
	Mon, 14 May 2012 11:30:17 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 10:30:15 +0000
Message-ID: <1336991415-19018-1-git-send-email-ian.campbell@citrix.com>
X-Mailer: git-send-email 1.7.9.1
MIME-Version: 1.0
Cc: ian.jackson@citrix.com, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	Ian Campbell <ian.campbell@citrix.com>
Subject: [Xen-devel] [PATCH] tools: xen-lowmemd is x86 specific,
	only install for x86
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

It is TARGETS-$(CONFIG_X86) so it should be INSTALL_SBIN-$(CONFIG_X86) too

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/misc/Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 834ffe7..2e763cc 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -22,8 +22,8 @@ INSTALL_BIN-y := xencons xenpvnetboot
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
-INSTALL_SBIN-y := xm xen-bugtool xen-python-path xend xenperf xsview xenpm xen-tmem-list-parse gtraceview gtracestat xenlockprof xenwatchdogd xen-ringwatch xen-lowmemd
-INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash
+INSTALL_SBIN-y := xm xen-bugtool xen-python-path xend xenperf xsview xenpm xen-tmem-list-parse gtraceview gtracestat xenlockprof xenwatchdogd xen-ringwatch
+INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash xen-lowmemd
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
-- 
1.7.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:32:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:32:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsXu-0000sQ-E5; Mon, 14 May 2012 10:30:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STsXs-0000sB-J4
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:30:28 +0000
Received: from [85.158.143.35:60064] by server-1.bemta-4.messagelabs.com id
	9A/C7-20925-3CED0BF4; Mon, 14 May 2012 10:30:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336991420!14037254!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22941 invoked from network); 14 May 2012 10:30:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:30:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="25148584"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 06:30:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 06:30:18 -0400
Received: from [10.80.246.74] (helo=army.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1STsXg-0000IY-8U;
	Mon, 14 May 2012 11:30:17 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 10:30:15 +0000
Message-ID: <1336991415-19018-1-git-send-email-ian.campbell@citrix.com>
X-Mailer: git-send-email 1.7.9.1
MIME-Version: 1.0
Cc: ian.jackson@citrix.com, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	Ian Campbell <ian.campbell@citrix.com>
Subject: [Xen-devel] [PATCH] tools: xen-lowmemd is x86 specific,
	only install for x86
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

It is TARGETS-$(CONFIG_X86) so it should be INSTALL_SBIN-$(CONFIG_X86) too

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/misc/Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 834ffe7..2e763cc 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -22,8 +22,8 @@ INSTALL_BIN-y := xencons xenpvnetboot
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
-INSTALL_SBIN-y := xm xen-bugtool xen-python-path xend xenperf xsview xenpm xen-tmem-list-parse gtraceview gtracestat xenlockprof xenwatchdogd xen-ringwatch xen-lowmemd
-INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash
+INSTALL_SBIN-y := xm xen-bugtool xen-python-path xend xenperf xsview xenpm xen-tmem-list-parse gtraceview gtracestat xenlockprof xenwatchdogd xen-ringwatch
+INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash xen-lowmemd
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
-- 
1.7.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:43:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:43:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsj0-0001DV-KI; Mon, 14 May 2012 10:41:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1STsiy-0001DQ-GH
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:41:56 +0000
Received: from [193.109.254.147:64730] by server-6.bemta-14.messagelabs.com id
	50/5B-04960-271E0BF4; Mon, 14 May 2012 10:41:54 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336992105!9196063!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM0Mjk2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 850 invoked from network); 14 May 2012 10:41:46 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-3.tower-27.messagelabs.com with SMTP;
	14 May 2012 10:41:46 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 14 May 2012 03:41:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99780978"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 14 May 2012 03:41:27 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 14 May 2012 03:41:26 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Mon, 14 May 2012 18:41:23 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>, "Keir Fraser
	(keir.xen@gmail.com)" <keir.xen@gmail.com>
Thread-Topic: [PATCH v3] Fix the mistake of exception execution
Thread-Index: Ac0xva6QCiV4cu6aQjqgC+rmiVimuw==
Date: Mon, 14 May 2012 10:41:22 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>,
	"xen-devel	\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB), overflow exception(#OF; generated by INTO) and int 3(#BP) instruction emulation.

For INTn (CD ib), it should use type 4 (software interrupt).

For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4), it should use type 6 (software exception).

For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF, #AC, #MC, and #XM), it should use type 3 (hardware exception).
 
In the unlikely event that you are emulating the undocumented opcode F1 (informally called INT1 or ICEBP), it would use type 5 (privileged software exception).

Signed-off-by: Eddie Dong<eddie.dong@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Wed May 15 02:31:34 2013 +0800
@@ -1350,6 +1350,19 @@ static void __vmx_inject_exception(int t
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE: 
+ *    This is for processor execution generated exceptions,
+ * and INT 3(CC), INTO (CE) instruction emulation. It is
+ * not intended for the delivery of event due to emulation 
+ * of INT nn (CD nn) instruction, which should use 
+ * X86_EVENTTYPE_SW_INTERRUPT as interrupt type; opcode
+ * 0xf1 generated #DB should use privileged software
+ * exception, which is not deliverd here either.
+ *    The caller of this function should set correct instruction
+ * length.
+ */
 void vmx_inject_hw_exception(int trap, int error_code)
 {
     unsigned long intr_info;
@@ -1365,7 +1378,6 @@ void vmx_inject_hw_exception(int trap, i
     switch ( trap )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1383,16 +1395,14 @@ void vmx_inject_hw_exception(int trap, i
             return;
         }
 
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
-        break;
-
+        type = X86_EVENTTYPE_SW_EXCEPTION; /* int3; CC */
+        break;
+
+    case TRAP_overflow:
+        type = X86_EVENTTYPE_SW_EXCEPTION;  /* into; CE */
+        break;
+	
     default:
-        if ( trap > TRAP_last_reserved )
-        {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
-            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
-        }
         break;
     }
 
@@ -2447,6 +2457,11 @@ void vmx_vmexit_handler(struct cpu_user_
                 if ( handled < 0 ) 
                 {
                     vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
+                    /*
+                     * According to the vmx_inject_hw_exception() description,
+                     * it must set correct instruction length by caller itself.
+                     */
+                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC */
                     break;
                 }
                 else if ( handled )

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:43:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:43:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsj0-0001DV-KI; Mon, 14 May 2012 10:41:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1STsiy-0001DQ-GH
	for xen-devel@lists.xen.org; Mon, 14 May 2012 10:41:56 +0000
Received: from [193.109.254.147:64730] by server-6.bemta-14.messagelabs.com id
	50/5B-04960-271E0BF4; Mon, 14 May 2012 10:41:54 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1336992105!9196063!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM0Mjk2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 850 invoked from network); 14 May 2012 10:41:46 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-3.tower-27.messagelabs.com with SMTP;
	14 May 2012 10:41:46 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 14 May 2012 03:41:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="99780978"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 14 May 2012 03:41:27 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 14 May 2012 03:41:26 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Mon, 14 May 2012 18:41:23 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: "Jan Beulich (JBeulich@suse.com)" <JBeulich@suse.com>, "Keir Fraser
	(keir.xen@gmail.com)" <keir.xen@gmail.com>
Thread-Topic: [PATCH v3] Fix the mistake of exception execution
Thread-Index: Ac0xva6QCiV4cu6aQjqgC+rmiVimuw==
Date: Mon, 14 May 2012 10:41:22 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>, "Nakajima,
	Jun" <jun.nakajima@intel.com>,
	"xen-devel	\(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB), overflow exception(#OF; generated by INTO) and int 3(#BP) instruction emulation.

For INTn (CD ib), it should use type 4 (software interrupt).

For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4), it should use type 6 (software exception).

For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF, #AC, #MC, and #XM), it should use type 3 (hardware exception).
 
In the unlikely event that you are emulating the undocumented opcode F1 (informally called INT1 or ICEBP), it would use type 5 (privileged software exception).

Signed-off-by: Eddie Dong<eddie.dong@intel.com>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>

diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c	Wed May 15 02:31:34 2013 +0800
@@ -1350,6 +1350,19 @@ static void __vmx_inject_exception(int t
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE: 
+ *    This is for processor execution generated exceptions,
+ * and INT 3(CC), INTO (CE) instruction emulation. It is
+ * not intended for the delivery of event due to emulation 
+ * of INT nn (CD nn) instruction, which should use 
+ * X86_EVENTTYPE_SW_INTERRUPT as interrupt type; opcode
+ * 0xf1 generated #DB should use privileged software
+ * exception, which is not deliverd here either.
+ *    The caller of this function should set correct instruction
+ * length.
+ */
 void vmx_inject_hw_exception(int trap, int error_code)
 {
     unsigned long intr_info;
@@ -1365,7 +1378,6 @@ void vmx_inject_hw_exception(int trap, i
     switch ( trap )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1383,16 +1395,14 @@ void vmx_inject_hw_exception(int trap, i
             return;
         }
 
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
-        break;
-
+        type = X86_EVENTTYPE_SW_EXCEPTION; /* int3; CC */
+        break;
+
+    case TRAP_overflow:
+        type = X86_EVENTTYPE_SW_EXCEPTION;  /* into; CE */
+        break;
+	
     default:
-        if ( trap > TRAP_last_reserved )
-        {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
-            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
-        }
         break;
     }
 
@@ -2447,6 +2457,11 @@ void vmx_vmexit_handler(struct cpu_user_
                 if ( handled < 0 ) 
                 {
                     vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
+                    /*
+                     * According to the vmx_inject_hw_exception() description,
+                     * it must set correct instruction length by caller itself.
+                     */
+                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC */
                     break;
                 }
                 else if ( handled )

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:54:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:54:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STstL-0001Ne-Qk; Mon, 14 May 2012 10:52:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1STstK-0001NZ-Jv
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:52:38 +0000
Received: from [85.158.143.99:41640] by server-3.bemta-4.messagelabs.com id
	F3/C8-05853-4F3E0BF4; Mon, 14 May 2012 10:52:36 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336992754!21333912!1
X-Originating-IP: [209.85.161.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP,UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16072 invoked from network); 14 May 2012 10:52:35 -0000
Received: from mail-gg0-f171.google.com (HELO mail-gg0-f171.google.com)
	(209.85.161.171)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:52:35 -0000
Received: by ggmi1 with SMTP id i1so1031766ggm.30
	for <xen-devel@lists.xensource.com>;
	Mon, 14 May 2012 03:52:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=5GQVKzNcLZHP0WmSfjbj/NHBSsnzpdwVp+7ZoJHGe7U=;
	b=C4JhP2QNMvYvoYHiWmDULu/HBCiErKBcPt3gc/n2VJIeP7nVTH5FMy9y+pOfcAotNi
	M+Ibs5R7I7JNgDUehv1LpvviLqZkKxU+gYCNmgQyKkAVsBCbP5D0k64A+fJQ7veLKaF8
	DcYrWgPVeLMIdgLFkR1xzSMkacZXhQX3oRf/Vk/7DPHyH45pO4tped2e57FwETd4Hf/A
	i0oWtwRr0IASMIGZBXp6LcpEk7VhKiav4t/Y50vJot9gWL502DwdTFfKBUKHiQShVwKN
	JJX02SjY/2HGl8CjXHNq28KEnjnG1w43+S3Mwr7zkmXrfjAc9Tbl3rrPgFrK2KxKY2Vv
	/B0g==
Received: by 10.50.149.134 with SMTP id ua6mr3945778igb.11.1336992753457; Mon,
	14 May 2012 03:52:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Mon, 14 May 2012 03:52:03 -0700 (PDT)
In-Reply-To: <CAPbh3ruY2npfORN-+oTt0i966RyzvCOBxnZ1x1OHbAj+ouLYcA@mail.gmail.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-2-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1203191150280.923@kaball-desktop>
	<4F6764BD.4060708@citrix.com>
	<CAPbh3ruY2npfORN-+oTt0i966RyzvCOBxnZ1x1OHbAj+ouLYcA@mail.gmail.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Mon, 14 May 2012 11:52:03 +0100
X-Google-Sender-Auth: pdKFvcDdOIfC5IzRHw0CULNYVIc
Message-ID: <CAJJyHjKDYyffS9zB-xuNcadWw=c7fGgYLhe2AhGODsKAgErRoA@mail.gmail.com>
To: konrad@darnok.org
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 1/8] pci_ids: Add INTEL_82599_VF
	id.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gU2F0LCBNYXkgMTIsIDIwMTIgYXQgMjo0MyBBTSwgS29ucmFkIFJ6ZXN6dXRlayBXaWxrCjxr
b25yYWRAZGFybm9rLm9yZz4gd3JvdGU6Cj4gT24gTW9uLCBNYXIgMTksIDIwMTIgYXQgMTI6NTQg
UE0sIEFudGhvbnkgUEVSQVJECj4gPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+IHdyb3RlOgo+
PiBPbiAxOS8wMy8xMiAxMTo1MCwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+Pj4KPj4+IE9u
IEZyaSwgMTYgTWFyIDIwMTIsIEFudGhvbnkgUEVSQVJEIHdyb3RlOgo+Pj4+Cj4+Pj4gU2lnbmVk
LW9mZi1ieTogQW50aG9ueSBQRVJBUkQ8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KPj4+PiAt
LS0KPj4+PiDCoGh3L3BjaV9pZHMuaCB8IMKgIMKgMSArCj4+Pj4gwqAxIGZpbGVzIGNoYW5nZWQs
IDEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9o
dy9wY2lfaWRzLmggYi9ody9wY2lfaWRzLmgKPj4+PiBpbmRleCBlODIzNWE3Li45NDMxMDZhIDEw
MDY0NAo+Pj4+IC0tLSBhL2h3L3BjaV9pZHMuaAo+Pj4+ICsrKyBiL2h3L3BjaV9pZHMuaAo+Pj4+
IEBAIC0xMTgsNiArMTE4LDcgQEAKPj4+PiDCoCNkZWZpbmUgUENJX0RFVklDRV9JRF9JTlRFTF84
MjgwMUlfVUhDSTYgMHgyOTM5Cj4+Pj4gwqAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4
MDFJX0VIQ0kxIDB4MjkzYQo+Pj4+IMKgI2RlZmluZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAx
SV9FSENJMiAweDI5M2MKPj4+PiArI2RlZmluZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyNTk5X1ZG
IMKgIMKgIDB4MTBlZAo+Pj4KPj4+Cj4+PiBtYXliZSBpdCBzaG91bGQgYmUgUENJX0RFVklDRV9J
RF9JTlRFTF84MjU5OV9TRlBfVkYgZm9yIGNvbnNpc3RlbmN5IHdpdGgKPj4+IExpbnV4Pwo+Pgo+
Pgo+PiBPaywgSSdsbCBjaGFuZ2UgdGhhdC4KPj4KPgo+IEFuZCBjYW4geW91IGFkZCB3aHkgeW91
IG5lZWQgdGhpcz8KCkRvbmUgaW4gdGhlIFYxMS4KCi0tIApBbnRob255IFBFUkFSRAoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp
bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4t
ZGV2ZWwK

From xen-devel-bounces@lists.xen.org Mon May 14 10:54:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:54:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STstL-0001Ne-Qk; Mon, 14 May 2012 10:52:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1STstK-0001NZ-Jv
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:52:38 +0000
Received: from [85.158.143.99:41640] by server-3.bemta-4.messagelabs.com id
	F3/C8-05853-4F3E0BF4; Mon, 14 May 2012 10:52:36 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1336992754!21333912!1
X-Originating-IP: [209.85.161.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP,UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16072 invoked from network); 14 May 2012 10:52:35 -0000
Received: from mail-gg0-f171.google.com (HELO mail-gg0-f171.google.com)
	(209.85.161.171)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:52:35 -0000
Received: by ggmi1 with SMTP id i1so1031766ggm.30
	for <xen-devel@lists.xensource.com>;
	Mon, 14 May 2012 03:52:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=5GQVKzNcLZHP0WmSfjbj/NHBSsnzpdwVp+7ZoJHGe7U=;
	b=C4JhP2QNMvYvoYHiWmDULu/HBCiErKBcPt3gc/n2VJIeP7nVTH5FMy9y+pOfcAotNi
	M+Ibs5R7I7JNgDUehv1LpvviLqZkKxU+gYCNmgQyKkAVsBCbP5D0k64A+fJQ7veLKaF8
	DcYrWgPVeLMIdgLFkR1xzSMkacZXhQX3oRf/Vk/7DPHyH45pO4tped2e57FwETd4Hf/A
	i0oWtwRr0IASMIGZBXp6LcpEk7VhKiav4t/Y50vJot9gWL502DwdTFfKBUKHiQShVwKN
	JJX02SjY/2HGl8CjXHNq28KEnjnG1w43+S3Mwr7zkmXrfjAc9Tbl3rrPgFrK2KxKY2Vv
	/B0g==
Received: by 10.50.149.134 with SMTP id ua6mr3945778igb.11.1336992753457; Mon,
	14 May 2012 03:52:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Mon, 14 May 2012 03:52:03 -0700 (PDT)
In-Reply-To: <CAPbh3ruY2npfORN-+oTt0i966RyzvCOBxnZ1x1OHbAj+ouLYcA@mail.gmail.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-2-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1203191150280.923@kaball-desktop>
	<4F6764BD.4060708@citrix.com>
	<CAPbh3ruY2npfORN-+oTt0i966RyzvCOBxnZ1x1OHbAj+ouLYcA@mail.gmail.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Mon, 14 May 2012 11:52:03 +0100
X-Google-Sender-Auth: pdKFvcDdOIfC5IzRHw0CULNYVIc
Message-ID: <CAJJyHjKDYyffS9zB-xuNcadWw=c7fGgYLhe2AhGODsKAgErRoA@mail.gmail.com>
To: konrad@darnok.org
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 1/8] pci_ids: Add INTEL_82599_VF
	id.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gU2F0LCBNYXkgMTIsIDIwMTIgYXQgMjo0MyBBTSwgS29ucmFkIFJ6ZXN6dXRlayBXaWxrCjxr
b25yYWRAZGFybm9rLm9yZz4gd3JvdGU6Cj4gT24gTW9uLCBNYXIgMTksIDIwMTIgYXQgMTI6NTQg
UE0sIEFudGhvbnkgUEVSQVJECj4gPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+IHdyb3RlOgo+
PiBPbiAxOS8wMy8xMiAxMTo1MCwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+Pj4KPj4+IE9u
IEZyaSwgMTYgTWFyIDIwMTIsIEFudGhvbnkgUEVSQVJEIHdyb3RlOgo+Pj4+Cj4+Pj4gU2lnbmVk
LW9mZi1ieTogQW50aG9ueSBQRVJBUkQ8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KPj4+PiAt
LS0KPj4+PiDCoGh3L3BjaV9pZHMuaCB8IMKgIMKgMSArCj4+Pj4gwqAxIGZpbGVzIGNoYW5nZWQs
IDEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9o
dy9wY2lfaWRzLmggYi9ody9wY2lfaWRzLmgKPj4+PiBpbmRleCBlODIzNWE3Li45NDMxMDZhIDEw
MDY0NAo+Pj4+IC0tLSBhL2h3L3BjaV9pZHMuaAo+Pj4+ICsrKyBiL2h3L3BjaV9pZHMuaAo+Pj4+
IEBAIC0xMTgsNiArMTE4LDcgQEAKPj4+PiDCoCNkZWZpbmUgUENJX0RFVklDRV9JRF9JTlRFTF84
MjgwMUlfVUhDSTYgMHgyOTM5Cj4+Pj4gwqAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4
MDFJX0VIQ0kxIDB4MjkzYQo+Pj4+IMKgI2RlZmluZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAx
SV9FSENJMiAweDI5M2MKPj4+PiArI2RlZmluZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyNTk5X1ZG
IMKgIMKgIDB4MTBlZAo+Pj4KPj4+Cj4+PiBtYXliZSBpdCBzaG91bGQgYmUgUENJX0RFVklDRV9J
RF9JTlRFTF84MjU5OV9TRlBfVkYgZm9yIGNvbnNpc3RlbmN5IHdpdGgKPj4+IExpbnV4Pwo+Pgo+
Pgo+PiBPaywgSSdsbCBjaGFuZ2UgdGhhdC4KPj4KPgo+IEFuZCBjYW4geW91IGFkZCB3aHkgeW91
IG5lZWQgdGhpcz8KCkRvbmUgaW4gdGhlIFYxMS4KCi0tIApBbnRob255IFBFUkFSRAoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp
bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4t
ZGV2ZWwK

From xen-devel-bounces@lists.xen.org Mon May 14 10:59:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:59:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsyK-0001XW-My; Mon, 14 May 2012 10:57:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1STsyJ-0001XP-GN
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:57:47 +0000
Received: from [85.158.143.99:16963] by server-2.bemta-4.messagelabs.com id
	CE/F0-17550-A25E0BF4; Mon, 14 May 2012 10:57:46 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336993060!22609123!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9405 invoked from network); 14 May 2012 10:57:45 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:57:45 -0000
Received: by yhkk6 with SMTP id k6so5357827yhk.30
	for <xen-devel@lists.xensource.com>;
	Mon, 14 May 2012 03:57:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=AaCmCV0NMdH3va6daLhFr2XycADewk92fqm1qlNpPR0=;
	b=lvgxj2xXRe41/YQzyyQwDgsgIsVUPNLK05K+0uz2nIQ2vUVrXwTYHjJ5dwSQdZHbH5
	7s5VoDycnSqRicvRX5UZTxJgkWmUoUTFjsEG3JcLyyzpZJ19RyH7IhDPV7Bpa7wP97oj
	O3Zk8JWbAWFZ9p0GdnOSF/973OWkUVksXcYLYQ8ulgSgs2CSPdtvb8/e5JB+7xR3miUC
	6JoWfkVmePBk1mTiNrHPo146JvqTElRiuTZpGzj33YXbwLEZv3ChE8bqfthAPFPKmEhL
	IbafVrV4j04TJxh0tigojjuTxf3oDlnmzsbPQSPOzABJaG2V4UKL6ut6BQbSERK9lskv
	aLmw==
Received: by 10.50.181.164 with SMTP id dx4mr4015950igc.1.1336992617033; Mon,
	14 May 2012 03:50:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Mon, 14 May 2012 03:49:46 -0700 (PDT)
In-Reply-To: <CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
	<CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Mon, 14 May 2012 11:49:46 +0100
X-Google-Sender-Auth: oxNhxwOwZj25EstNpqzWht6qO4g
Message-ID: <CAJJyHj+CkTmifx-CiYS-VPsXZAuJWEgbc07K6yQR94C9jpXjcQ@mail.gmail.com>
To: konrad@darnok.org
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 2/8] configure: Introduce
	--enable-xen-pci-passthrough.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 2:42 AM, Konrad Rzeszutek Wilk
<konrad@darnok.org> wrote:
>
> I thought I reviewed this last time? Is there a reason for not
> attaching 'Reviewed-by: Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com>' on this patch?

Yes, one: you reviewed a later patch :-)

Your reviewed-by is in the last version of this series, V11.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 10:59:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 10:59:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STsyK-0001XW-My; Mon, 14 May 2012 10:57:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1STsyJ-0001XP-GN
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 10:57:47 +0000
Received: from [85.158.143.99:16963] by server-2.bemta-4.messagelabs.com id
	CE/F0-17550-A25E0BF4; Mon, 14 May 2012 10:57:46 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1336993060!22609123!1
X-Originating-IP: [209.85.213.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9405 invoked from network); 14 May 2012 10:57:45 -0000
Received: from mail-yw0-f43.google.com (HELO mail-yw0-f43.google.com)
	(209.85.213.43)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 10:57:45 -0000
Received: by yhkk6 with SMTP id k6so5357827yhk.30
	for <xen-devel@lists.xensource.com>;
	Mon, 14 May 2012 03:57:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=AaCmCV0NMdH3va6daLhFr2XycADewk92fqm1qlNpPR0=;
	b=lvgxj2xXRe41/YQzyyQwDgsgIsVUPNLK05K+0uz2nIQ2vUVrXwTYHjJ5dwSQdZHbH5
	7s5VoDycnSqRicvRX5UZTxJgkWmUoUTFjsEG3JcLyyzpZJ19RyH7IhDPV7Bpa7wP97oj
	O3Zk8JWbAWFZ9p0GdnOSF/973OWkUVksXcYLYQ8ulgSgs2CSPdtvb8/e5JB+7xR3miUC
	6JoWfkVmePBk1mTiNrHPo146JvqTElRiuTZpGzj33YXbwLEZv3ChE8bqfthAPFPKmEhL
	IbafVrV4j04TJxh0tigojjuTxf3oDlnmzsbPQSPOzABJaG2V4UKL6ut6BQbSERK9lskv
	aLmw==
Received: by 10.50.181.164 with SMTP id dx4mr4015950igc.1.1336992617033; Mon,
	14 May 2012 03:50:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Mon, 14 May 2012 03:49:46 -0700 (PDT)
In-Reply-To: <CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
	<CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Mon, 14 May 2012 11:49:46 +0100
X-Google-Sender-Auth: oxNhxwOwZj25EstNpqzWht6qO4g
Message-ID: <CAJJyHj+CkTmifx-CiYS-VPsXZAuJWEgbc07K6yQR94C9jpXjcQ@mail.gmail.com>
To: konrad@darnok.org
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 2/8] configure: Introduce
	--enable-xen-pci-passthrough.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 12, 2012 at 2:42 AM, Konrad Rzeszutek Wilk
<konrad@darnok.org> wrote:
>
> I thought I reviewed this last time? Is there a reason for not
> attaching 'Reviewed-by: Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com>' on this patch?

Yes, one: you reviewed a later patch :-)

Your reviewed-by is in the last version of this series, V11.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:08:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STt7L-0001km-Oj; Mon, 14 May 2012 11:07:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STt7J-0001kh-M0
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:07:05 +0000
Received: from [85.158.143.35:24260] by server-2.bemta-4.messagelabs.com id
	D2/14-17550-957E0BF4; Mon, 14 May 2012 11:07:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336993623!13488622!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10182 invoked from network); 14 May 2012 11:07:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 11:07:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 12:07:02 +0100
Message-Id: <4FB1037302000078000836C8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 12:06:59 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Eddie Dong <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> Fix the mistake for debug exception(#DB), overflow exception(#OF; generated 
> by INTO) and int 3(#BP) instruction emulation.
> 
> For INTn (CD ib), it should use type 4 (software interrupt).
> 
> For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4), it 
> should use type 6 (software exception).
> 
> For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF, 
> #AC, #MC, and #XM), it should use type 3 (hardware exception).
>  
> In the unlikely event that you are emulating the undocumented opcode F1 
> (informally called INT1 or ICEBP), it would use type 5 (privileged software 
> exception).
> 
> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c	Wed May 15 02:31:34 2013 +0800
> @@ -1350,6 +1350,19 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE: 
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. It is
> + * not intended for the delivery of event due to emulation 
> + * of INT nn (CD nn) instruction, which should use 
> + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type; opcode
> + * 0xf1 generated #DB should use privileged software
> + * exception, which is not deliverd here either.
> + *    The caller of this function should set correct instruction
> + * length.
> + */
>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1378,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1383,16 +1395,14 @@ void vmx_inject_hw_exception(int trap, i
>              return;
>          }
>  
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
> -        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> -        break;
> -
> +        type = X86_EVENTTYPE_SW_EXCEPTION; /* int3; CC */
> +        break;
> +
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;  /* into; CE */
> +        break;
> +	
>      default:
> -        if ( trap > TRAP_last_reserved )
> -        {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
> -        }

So this undoes Aravindh's earlier change, without replacement. I
don't think that's acceptable.

>          break;
>      }
>  
> @@ -2447,6 +2457,11 @@ void vmx_vmexit_handler(struct cpu_user_
>                  if ( handled < 0 ) 
>                  {
>                      vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
> +                    /*
> +                     * According to the vmx_inject_hw_exception() description,
> +                     * it must set correct instruction length by caller itself.
> +                     */
> +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC */

Still using a hard-coded 1 here, the more that afaict you can't
distinguish CC and CD 03 here.

Furthermore - is this really the only place needing adjustment after
the removal of the corresponding writes above?

Jan

>                      break;
>                  }
>                  else if ( handled )




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:08:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STt7L-0001km-Oj; Mon, 14 May 2012 11:07:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STt7J-0001kh-M0
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:07:05 +0000
Received: from [85.158.143.35:24260] by server-2.bemta-4.messagelabs.com id
	D2/14-17550-957E0BF4; Mon, 14 May 2012 11:07:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1336993623!13488622!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10182 invoked from network); 14 May 2012 11:07:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 11:07:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 12:07:02 +0100
Message-Id: <4FB1037302000078000836C8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 12:06:59 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Eddie Dong <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> Fix the mistake for debug exception(#DB), overflow exception(#OF; generated 
> by INTO) and int 3(#BP) instruction emulation.
> 
> For INTn (CD ib), it should use type 4 (software interrupt).
> 
> For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4), it 
> should use type 6 (software exception).
> 
> For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF, 
> #AC, #MC, and #XM), it should use type 3 (hardware exception).
>  
> In the unlikely event that you are emulating the undocumented opcode F1 
> (informally called INT1 or ICEBP), it would use type 5 (privileged software 
> exception).
> 
> Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> 
> diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> +++ b/xen/arch/x86/hvm/vmx/vmx.c	Wed May 15 02:31:34 2013 +0800
> @@ -1350,6 +1350,19 @@ static void __vmx_inject_exception(int t
>          curr->arch.hvm_vmx.vmx_emulate = 1;
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE: 
> + *    This is for processor execution generated exceptions,
> + * and INT 3(CC), INTO (CE) instruction emulation. It is
> + * not intended for the delivery of event due to emulation 
> + * of INT nn (CD nn) instruction, which should use 
> + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type; opcode
> + * 0xf1 generated #DB should use privileged software
> + * exception, which is not deliverd here either.
> + *    The caller of this function should set correct instruction
> + * length.
> + */
>  void vmx_inject_hw_exception(int trap, int error_code)
>  {
>      unsigned long intr_info;
> @@ -1365,7 +1378,6 @@ void vmx_inject_hw_exception(int trap, i
>      switch ( trap )
>      {
>      case TRAP_debug:
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1383,16 +1395,14 @@ void vmx_inject_hw_exception(int trap, i
>              return;
>          }
>  
> -        type = X86_EVENTTYPE_SW_EXCEPTION;
> -        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> -        break;
> -
> +        type = X86_EVENTTYPE_SW_EXCEPTION; /* int3; CC */
> +        break;
> +
> +    case TRAP_overflow:
> +        type = X86_EVENTTYPE_SW_EXCEPTION;  /* into; CE */
> +        break;
> +	
>      default:
> -        if ( trap > TRAP_last_reserved )
> -        {
> -            type = X86_EVENTTYPE_SW_EXCEPTION;
> -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
> -        }

So this undoes Aravindh's earlier change, without replacement. I
don't think that's acceptable.

>          break;
>      }
>  
> @@ -2447,6 +2457,11 @@ void vmx_vmexit_handler(struct cpu_user_
>                  if ( handled < 0 ) 
>                  {
>                      vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
> +                    /*
> +                     * According to the vmx_inject_hw_exception() description,
> +                     * it must set correct instruction length by caller itself.
> +                     */
> +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC */

Still using a hard-coded 1 here, the more that afaict you can't
distinguish CC and CD 03 here.

Furthermore - is this really the only place needing adjustment after
the removal of the corresponding writes above?

Jan

>                      break;
>                  }
>                  else if ( handled )




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:16:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtER-0001u5-KW; Mon, 14 May 2012 11:14:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STtEQ-0001u0-Ut
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:14:27 +0000
Received: from [85.158.143.35:14608] by server-3.bemta-4.messagelabs.com id
	C7/56-05853-219E0BF4; Mon, 14 May 2012 11:14:26 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336994065!10916177!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12436 invoked from network); 14 May 2012 11:14:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 11:14:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 12:14:25 +0100
Message-Id: <4FB1052D02000078000836D8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 12:14:21 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> tools, blockers:

Adjustments needed for qdisk backend to work on non-pvops Linux.

> hypervisor, nice to have:

IRQ problem for which debugging code got added by c/s
24707:96987c324a4f. I have a tentative adjustment to this which I
would hope to at least eliminate the bad consequences of crashing
the hypervisor (converting the unsolicited PIC-originated IRQ into
a spurious one). I'll submit as soon as I got to test this a little,
particularly also on an old box without APIC.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:16:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtER-0001u5-KW; Mon, 14 May 2012 11:14:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STtEQ-0001u0-Ut
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:14:27 +0000
Received: from [85.158.143.35:14608] by server-3.bemta-4.messagelabs.com id
	C7/56-05853-219E0BF4; Mon, 14 May 2012 11:14:26 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1336994065!10916177!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12436 invoked from network); 14 May 2012 11:14:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 11:14:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 12:14:25 +0100
Message-Id: <4FB1052D02000078000836D8@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 12:14:21 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> tools, blockers:

Adjustments needed for qdisk backend to work on non-pvops Linux.

> hypervisor, nice to have:

IRQ problem for which debugging code got added by c/s
24707:96987c324a4f. I have a tentative adjustment to this which I
would hope to at least eliminate the bad consequences of crashing
the hypervisor (converting the unsolicited PIC-originated IRQ into
a spurious one). I'll submit as soon as I got to test this a little,
particularly also on an old box without APIC.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:25:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:25:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtN2-000240-KC; Mon, 14 May 2012 11:23:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STtN1-00023v-2O
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 11:23:19 +0000
Received: from [85.158.138.51:49964] by server-11.bemta-3.messagelabs.com id
	E0/EC-18894-62BE0BF4; Mon, 14 May 2012 11:23:18 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336994595!26949139!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29353 invoked from network); 14 May 2012 11:23:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 11:23:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194671041"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 07:23:14 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 07:23:14 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STtMr-00018K-2U; Mon, 14 May 2012 12:23:09 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: konrad.wilk@oracle.com
Date: Mon, 14 May 2012 12:23:07 +0100
Message-ID: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When the frontend and the backend reside on the same domain, even if we
add pages to the m2p_override, these pages will never be returned by
mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
always fail, so the pfn of the frontend will be returned instead
(resulting in a deadlock because the frontend pages are already locked).

However m2p_add_override can easily find out whether another pfn
corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.

This allows the backend to perform direct_IO on these pages, but as a
side effect prevents the frontend from using get_user_pages_fast on
them while they are being shared with the backend.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 arch/x86/xen/p2m.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 7ece122..c62ae5c 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -687,6 +687,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	if (!PageHighMem(page)) {
@@ -722,6 +723,16 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
 	spin_unlock_irqrestore(&m2p_override_lock, flags);
 
+	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
+	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other
+	 * pfn so that the following mfn_to_pfn(mfn) calls will return the
+	 * pfn from the m2p_override (the backend pfn) instead.
+	 * As a side effect GUPF might not be safe on the frontend pages
+	 * while they are being shared with the backend. */
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret >= 0 && get_phys_to_machine(pfn) == mfn)
+		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_add_override);
@@ -733,6 +744,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	mfn = get_phys_to_machine(pfn);
@@ -802,6 +814,12 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	} else
 		set_phys_to_machine(pfn, page->index);
 
+	mfn &= ~FOREIGN_FRAME_BIT;
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret >= 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&
+			m2p_find_override(mfn) == NULL)
+		set_phys_to_machine(pfn, mfn);
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_remove_override);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:25:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:25:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtN2-000240-KC; Mon, 14 May 2012 11:23:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STtN1-00023v-2O
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 11:23:19 +0000
Received: from [85.158.138.51:49964] by server-11.bemta-3.messagelabs.com id
	E0/EC-18894-62BE0BF4; Mon, 14 May 2012 11:23:18 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1336994595!26949139!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29353 invoked from network); 14 May 2012 11:23:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 11:23:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="194671041"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 07:23:14 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 07:23:14 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STtMr-00018K-2U; Mon, 14 May 2012 12:23:09 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: konrad.wilk@oracle.com
Date: Mon, 14 May 2012 12:23:07 +0100
Message-ID: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When the frontend and the backend reside on the same domain, even if we
add pages to the m2p_override, these pages will never be returned by
mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
always fail, so the pfn of the frontend will be returned instead
(resulting in a deadlock because the frontend pages are already locked).

However m2p_add_override can easily find out whether another pfn
corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.

This allows the backend to perform direct_IO on these pages, but as a
side effect prevents the frontend from using get_user_pages_fast on
them while they are being shared with the backend.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 arch/x86/xen/p2m.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 7ece122..c62ae5c 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -687,6 +687,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	if (!PageHighMem(page)) {
@@ -722,6 +723,16 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
 	spin_unlock_irqrestore(&m2p_override_lock, flags);
 
+	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
+	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other
+	 * pfn so that the following mfn_to_pfn(mfn) calls will return the
+	 * pfn from the m2p_override (the backend pfn) instead.
+	 * As a side effect GUPF might not be safe on the frontend pages
+	 * while they are being shared with the backend. */
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret >= 0 && get_phys_to_machine(pfn) == mfn)
+		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_add_override);
@@ -733,6 +744,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	mfn = get_phys_to_machine(pfn);
@@ -802,6 +814,12 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	} else
 		set_phys_to_machine(pfn, page->index);
 
+	mfn &= ~FOREIGN_FRAME_BIT;
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret >= 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&
+			m2p_find_override(mfn) == NULL)
+		set_phys_to_machine(pfn, mfn);
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_remove_override);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:48:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:48:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtjf-0002Hc-V8; Mon, 14 May 2012 11:46:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STtje-0002HX-9l
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:46:42 +0000
Received: from [85.158.143.35:8107] by server-1.bemta-4.messagelabs.com id
	3C/AB-20925-1A0F0BF4; Mon, 14 May 2012 11:46:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336995983!4873059!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 677 invoked from network); 14 May 2012 11:46:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 11:46:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 12:46:23 +0100
Message-Id: <4FB10CAC0200007800083700@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 12:46:20 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] [PATCH] x86: fix i8259A_resume()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On systems that have an IO-APIC, we generally run the PIC in AEOI
mode, yet i8259A_resume() so far failed to put it back into that mode.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -314,7 +314,7 @@ static void save_ELCR(char *trigger)
 
 int i8259A_resume(void)
 {
-    init_8259A(0);
+    init_8259A(i8259A_irq_type.ack == disable_8259A_irq);
     restore_ELCR(irq_trigger);
     return 0;
 }




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:48:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:48:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtjf-0002Hc-V8; Mon, 14 May 2012 11:46:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STtje-0002HX-9l
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:46:42 +0000
Received: from [85.158.143.35:8107] by server-1.bemta-4.messagelabs.com id
	3C/AB-20925-1A0F0BF4; Mon, 14 May 2012 11:46:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336995983!4873059!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 677 invoked from network); 14 May 2012 11:46:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 11:46:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 12:46:23 +0100
Message-Id: <4FB10CAC0200007800083700@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 12:46:20 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] [PATCH] x86: fix i8259A_resume()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On systems that have an IO-APIC, we generally run the PIC in AEOI
mode, yet i8259A_resume() so far failed to put it back into that mode.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -314,7 +314,7 @@ static void save_ELCR(char *trigger)
 
 int i8259A_resume(void)
 {
-    init_8259A(0);
+    init_8259A(i8259A_irq_type.ack == disable_8259A_irq);
     restore_ELCR(irq_trigger);
     return 0;
 }




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:55:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtqK-0002Qi-Pg; Mon, 14 May 2012 11:53:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kwolf@redhat.com>) id 1STtqJ-0002Qb-9y
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:53:35 +0000
Received: from [85.158.143.35:55515] by server-1.bemta-4.messagelabs.com id
	49/F9-20925-E32F0BF4; Mon, 14 May 2012 11:53:34 +0000
X-Env-Sender: kwolf@redhat.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336996413!4950417!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIxMDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9013 invoked from network); 14 May 2012 11:53:33 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-2.tower-21.messagelabs.com with SMTP;
	14 May 2012 11:53:33 -0000
Received: from int-mx01.intmail.prod.int.phx2.redhat.com
	(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4EBrTTK015453
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 14 May 2012 07:53:29 -0400
Received: from dhcp-5-188.str.redhat.com (vpn1-4-252.ams2.redhat.com
	[10.36.4.252])
	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q4EBrPrP020556
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 14 May 2012 07:53:27 -0400
Message-ID: <4FB0F235.1030900@redhat.com>
Date: Mon, 14 May 2012 13:53:25 +0200
From: Kevin Wolf <kwolf@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
In-Reply-To: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	qemu-devel@nongnu.org, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am 14.05.2012 12:30, schrieb Jan Beulich:
> While for the "normal" case (called from blk_send_response_all())
> decrementing requests_finished is correct, doing so in the parse error
> case is wrong; requests_inflight needs to be decremented instead.
> 
> Change in v2: Adjust coding style.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I think it would be nicer if a struct ioreq had an explicit state so
that you don't have to pass the right state when releasing it. But
anyway, the patch looks correct to me:

Reviewed-by: Kevin Wolf <kwolf@redhat.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 11:55:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 11:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STtqK-0002Qi-Pg; Mon, 14 May 2012 11:53:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kwolf@redhat.com>) id 1STtqJ-0002Qb-9y
	for xen-devel@lists.xen.org; Mon, 14 May 2012 11:53:35 +0000
Received: from [85.158.143.35:55515] by server-1.bemta-4.messagelabs.com id
	49/F9-20925-E32F0BF4; Mon, 14 May 2012 11:53:34 +0000
X-Env-Sender: kwolf@redhat.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1336996413!4950417!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIxMDk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9013 invoked from network); 14 May 2012 11:53:33 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-2.tower-21.messagelabs.com with SMTP;
	14 May 2012 11:53:33 -0000
Received: from int-mx01.intmail.prod.int.phx2.redhat.com
	(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4EBrTTK015453
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 14 May 2012 07:53:29 -0400
Received: from dhcp-5-188.str.redhat.com (vpn1-4-252.ams2.redhat.com
	[10.36.4.252])
	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q4EBrPrP020556
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 14 May 2012 07:53:27 -0400
Message-ID: <4FB0F235.1030900@redhat.com>
Date: Mon, 14 May 2012 13:53:25 +0200
From: Kevin Wolf <kwolf@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
In-Reply-To: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	qemu-devel@nongnu.org, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am 14.05.2012 12:30, schrieb Jan Beulich:
> While for the "normal" case (called from blk_send_response_all())
> decrementing requests_finished is correct, doing so in the parse error
> case is wrong; requests_inflight needs to be decremented instead.
> 
> Change in v2: Adjust coding style.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I think it would be nicer if a struct ioreq had an explicit state so
that you don't have to pass the right state when releasing it. But
anyway, the patch looks correct to me:

Reviewed-by: Kevin Wolf <kwolf@redhat.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 12:38:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:38:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuXm-0002uK-VB; Mon, 14 May 2012 12:38:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STuXl-0002uF-6M
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:38:29 +0000
Received: from [85.158.139.83:11684] by server-11.bemta-5.messagelabs.com id
	D6/D7-12959-4CCF0BF4; Mon, 14 May 2012 12:38:28 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336999105!17018532!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19151 invoked from network); 14 May 2012 12:38:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 12:38:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="25151214"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:38:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 08:38:24 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STuXg-0002Hy-6A;
	Mon, 14 May 2012 13:38:24 +0100
Message-ID: <4FB0FCBE.1020802@citrix.com>
Date: Mon, 14 May 2012 13:38:22 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
In-Reply-To: <20395.60719.885071.452187@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH v4 3/4] libxl: call hotplug s=
cripts from libxl for vbd"):
>> This is a rather big change, that adds the necessary machinery to
>> perform hotplug script calling from libxl for Linux. This patch
>> launches the necessary scripts to attach and detach PHY and TAP
>> backend types (Qemu doesn't use hotplug scripts).
>
> Thanks.
>
>> -SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"tap*", RUN+=3D"/etc/xen/scri=
pts/blktap $env{ACTION}"
>> -SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vbd*", RUN+=3D"/etc/xen/scri=
pts/block $env{ACTION}"
>> +SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"tap*", ENV{UDEV_CALL}=3D"1",=
 RUN+=3D"/etc/xen/scripts/blktap $env{ACTION}"
>> +SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vbd*", ENV{UDEV_CALL}=3D"1",=
 RUN+=3D"/etc/xen/scripts/block $env{ACTION}"
>
> Wouldn't it be better to have an env var set by libxl to mean "_not_
> called from udev?".  That would mean that if the udev rules weren't
> updated for some reason it would all still work.  On many setups these
> are config files which may require the user to merge changes, etc., so
> this is a real concern.

Since the 4.2 release already implies updating udev rules (due to the =

change from tap* to *emu), I think it's better to set the var on udev, =

that way when udev is dropped we won't need to perform any change to libxl.

>
>> +# Hack to prevent the execution of hotplug scripts from udev if the dom=
ain
>> +# has been launched from libxl
>> +if [ -n "${UDEV_CALL}" ]&&  \
>> +   `xenstore-read "libxl/disable_udev">/dev/null 2>&1`; then
>
> This reads something from xenstore and executes it as a shell command!
> (Also it will go wrong if the value read is empty eg becaue the key
> doesn't exist.)

Are you sure about this? This command never returns anything, because it =

is redirected to /dev/null, so we only evaluate if it is able to read =

libxl/disable_udev. If libxl/disable_udev exists this test is passed.

>
> Also didn't I say that in xenstore we normally record booleans as
> decimal integers, "0" for false and "1" for true ?
>
>> -}
>> +}
>>
>> -int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
>> -{
>> -    GC_INIT(ctx);
>> -    char *dom_path;
>> -    char *vm_path;
>> -    char *pid;
>> -    int rc, dm_present;
>> +/* Callback for domain destruction */
>
> The rest of this is very very difficult to review because of the
> amount of code motion, variable renaming, and so forth.

Yes, will try to do so. I'm currently moving the changes to mach tip and =

also splitting them.

>
> Do you think it would be possible to reorganise things so that the
> diff is as minimal as possible ?  Techniques you will probably find
> useful include:
>
>   * Declare some convenience variables such as
>        uint32_t const domid =3D dis->domid;
>     This is best done near the top of each function along with the new
>     function prototype etc., so it doesn't introduce a mid-function
>     patch hunk.  This will avoid irrelevant noise in the diff caused by
>     the movement of state into the operation state struct.
>
>   * Declare callback functions at the top of the file so that they can
>     appear after the point where they are referenced, and write all the
>     code in the order in which it actually occurs.  This is useful
>     anyway, but it probably means that the code won't need to move
>     because it's probably already in that order.  If it isn't you may
>     need to move it about separately.
>
>   * In general, avoid moving any code if at all possible in the main
>     patch.  If you need to move code, do it in a pre- or post-patch.
>
>   * Only take the opportunity to make unrelated changes (eg, changing
>     from libxl__sprintf to GCSPRINTF) if you have to make another
>     change to the very same line of code.
>
>   * If any code motion is needed, split it out into a pre-patch which
>     contains only code motion.
>
>   * Be prepared to leave wrinkles in the code style or layout and fix
>     them up in a later patch.
>
>   * If it is necessary to switch a variable from a "struct foo" to a
>     "struct foo*", split out a separate pre-patch which changes it to a
>     "struct foo[1]".  This separate patch will then obviously have no
>     functional change and wiull simply contain a lot of removing of "&"
>     etc.  The actual patch with the meat can leave all those references
>     unchanged.
>
>   * Likewise if you want to change something from a "struct foo*" to a
>     "struct foo" you can do the reverse: in your main patch change it
>     to "struct foo[1]" instead.  Then, you can add a post-patch to fix
>     that up by changing "struct foo[1]" to "struct foo" which again
>     will have no functional change.
>
> You will see me applying these techniques in my recent child process
> series; I can point you at specific commits etc. if you want more
> hints.
>
> Of course this may not be feasible.  If for some parts of the code
> this approach is not feasible, and the result is always going to look
> like a rewrite, mention in the commit message that such-and-such
> function(s) or parts of code have essentially been rewritten.
>
> Thanks,
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 12:38:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:38:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuXm-0002uK-VB; Mon, 14 May 2012 12:38:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STuXl-0002uF-6M
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:38:29 +0000
Received: from [85.158.139.83:11684] by server-11.bemta-5.messagelabs.com id
	D6/D7-12959-4CCF0BF4; Mon, 14 May 2012 12:38:28 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336999105!17018532!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19151 invoked from network); 14 May 2012 12:38:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 12:38:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330923600"; d="scan'208";a="25151214"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 08:38:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 08:38:24 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STuXg-0002Hy-6A;
	Mon, 14 May 2012 13:38:24 +0100
Message-ID: <4FB0FCBE.1020802@citrix.com>
Date: Mon, 14 May 2012 13:38:22 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
In-Reply-To: <20395.60719.885071.452187@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson escribi=F3:
> Roger Pau Monne writes ("[Xen-devel] [PATCH v4 3/4] libxl: call hotplug s=
cripts from libxl for vbd"):
>> This is a rather big change, that adds the necessary machinery to
>> perform hotplug script calling from libxl for Linux. This patch
>> launches the necessary scripts to attach and detach PHY and TAP
>> backend types (Qemu doesn't use hotplug scripts).
>
> Thanks.
>
>> -SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"tap*", RUN+=3D"/etc/xen/scri=
pts/blktap $env{ACTION}"
>> -SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vbd*", RUN+=3D"/etc/xen/scri=
pts/block $env{ACTION}"
>> +SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"tap*", ENV{UDEV_CALL}=3D"1",=
 RUN+=3D"/etc/xen/scripts/blktap $env{ACTION}"
>> +SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vbd*", ENV{UDEV_CALL}=3D"1",=
 RUN+=3D"/etc/xen/scripts/block $env{ACTION}"
>
> Wouldn't it be better to have an env var set by libxl to mean "_not_
> called from udev?".  That would mean that if the udev rules weren't
> updated for some reason it would all still work.  On many setups these
> are config files which may require the user to merge changes, etc., so
> this is a real concern.

Since the 4.2 release already implies updating udev rules (due to the =

change from tap* to *emu), I think it's better to set the var on udev, =

that way when udev is dropped we won't need to perform any change to libxl.

>
>> +# Hack to prevent the execution of hotplug scripts from udev if the dom=
ain
>> +# has been launched from libxl
>> +if [ -n "${UDEV_CALL}" ]&&  \
>> +   `xenstore-read "libxl/disable_udev">/dev/null 2>&1`; then
>
> This reads something from xenstore and executes it as a shell command!
> (Also it will go wrong if the value read is empty eg becaue the key
> doesn't exist.)

Are you sure about this? This command never returns anything, because it =

is redirected to /dev/null, so we only evaluate if it is able to read =

libxl/disable_udev. If libxl/disable_udev exists this test is passed.

>
> Also didn't I say that in xenstore we normally record booleans as
> decimal integers, "0" for false and "1" for true ?
>
>> -}
>> +}
>>
>> -int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
>> -{
>> -    GC_INIT(ctx);
>> -    char *dom_path;
>> -    char *vm_path;
>> -    char *pid;
>> -    int rc, dm_present;
>> +/* Callback for domain destruction */
>
> The rest of this is very very difficult to review because of the
> amount of code motion, variable renaming, and so forth.

Yes, will try to do so. I'm currently moving the changes to mach tip and =

also splitting them.

>
> Do you think it would be possible to reorganise things so that the
> diff is as minimal as possible ?  Techniques you will probably find
> useful include:
>
>   * Declare some convenience variables such as
>        uint32_t const domid =3D dis->domid;
>     This is best done near the top of each function along with the new
>     function prototype etc., so it doesn't introduce a mid-function
>     patch hunk.  This will avoid irrelevant noise in the diff caused by
>     the movement of state into the operation state struct.
>
>   * Declare callback functions at the top of the file so that they can
>     appear after the point where they are referenced, and write all the
>     code in the order in which it actually occurs.  This is useful
>     anyway, but it probably means that the code won't need to move
>     because it's probably already in that order.  If it isn't you may
>     need to move it about separately.
>
>   * In general, avoid moving any code if at all possible in the main
>     patch.  If you need to move code, do it in a pre- or post-patch.
>
>   * Only take the opportunity to make unrelated changes (eg, changing
>     from libxl__sprintf to GCSPRINTF) if you have to make another
>     change to the very same line of code.
>
>   * If any code motion is needed, split it out into a pre-patch which
>     contains only code motion.
>
>   * Be prepared to leave wrinkles in the code style or layout and fix
>     them up in a later patch.
>
>   * If it is necessary to switch a variable from a "struct foo" to a
>     "struct foo*", split out a separate pre-patch which changes it to a
>     "struct foo[1]".  This separate patch will then obviously have no
>     functional change and wiull simply contain a lot of removing of "&"
>     etc.  The actual patch with the meat can leave all those references
>     unchanged.
>
>   * Likewise if you want to change something from a "struct foo*" to a
>     "struct foo" you can do the reverse: in your main patch change it
>     to "struct foo[1]" instead.  Then, you can add a post-patch to fix
>     that up by changing "struct foo[1]" to "struct foo" which again
>     will have no functional change.
>
> You will see me applying these techniques in my recent child process
> series; I can point you at specific commits etc. if you want more
> hints.
>
> Of course this may not be feasible.  If for some parts of the code
> this approach is not feasible, and the result is always going to look
> like a rewrite, mention in the commit message that such-and-such
> function(s) or parts of code have essentially been rewritten.
>
> Thanks,
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 12:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuYS-0002wG-CY; Mon, 14 May 2012 12:39:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STuYQ-0002w3-6w
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:39:10 +0000
Received: from [85.158.139.83:18285] by server-11.bemta-5.messagelabs.com id
	D5/2A-12959-DECF0BF4; Mon, 14 May 2012 12:39:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336999148!21059195!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19647 invoked from network); 14 May 2012 12:39:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 12:39:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 13:39:08 +0100
Message-Id: <4FB119090200007800083738@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 13:39:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part92BC60F9.0__="
Subject: [Xen-devel] x86: adjust handling of interrupts coming in via legacy
 vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part92BC60F9.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

The debugging code added in c/s 24707:96987c324a4f was hit a (small)
number of times (one report being
http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
apparently always with a vector within the legacy range. Obviously,
besides legacy vectors not normally expected to be in use on systems
with IO-APIC(s), they should never make it to the IRQ migration logic.

This wasn't being prevented so far: Since we don't have a one-to-one
mapping between vectors and IRQs - legacy IRQs may have two vectors
associated with them (one used in either 8259A, the other used in one
of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
used in do_IRQ()) would yield a valid IRQ number despite the IRQ
really being handled via an IO-APIC.

This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
IRQ mapping, and enable_8259A_irq(), should it ever be called for a
particular interrupts, restores it.

Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
too: Interrupts coming in via legacy vectors obviously didn't get
reported through the IO-APIC/LAPIC pair (as we never program these
vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
have the 8259A driver take care of the bogus interrupt (as outside of
automatice EOI mode it may need an EOI to be issued for it to prevent
other interrupts that may legitimately go through the 8259As from
getting masked out).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
=20
 static DEFINE_SPINLOCK(i8259A_lock);
=20
-static void mask_and_ack_8259A_irq(struct irq_desc *);
+static void _mask_and_ack_8259A_irq(unsigned int irq);
+
+void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =3D
+    _mask_and_ack_8259A_irq;
+
+static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+{
+    _mask_and_ack_8259A_irq(desc->irq);
+}
=20
 static unsigned int startup_8259A_irq(struct irq_desc *desc)
 {
@@ -133,20 +141,26 @@ static unsigned int cached_irq_mask =3D 0x
  */
 unsigned int __read_mostly io_apic_irqs;
=20
-void disable_8259A_irq(struct irq_desc *desc)
+static void _disable_8259A_irq(unsigned int irq)
 {
-    unsigned int mask =3D 1 << desc->irq;
+    unsigned int mask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask |=3D mask;
-    if (desc->irq & 8)
+    if (irq & 8)
         outb(cached_A1,0xA1);
     else
         outb(cached_21,0x21);
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;
     spin_unlock_irqrestore(&i8259A_lock, flags);
 }
=20
+void disable_8259A_irq(struct irq_desc *desc)
+{
+    _disable_8259A_irq(desc->irq);
+}
+
 void enable_8259A_irq(struct irq_desc *desc)
 {
     unsigned int mask =3D ~(1 << desc->irq);
@@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask &=3D mask;
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] =3D desc->irq;
     if (desc->irq & 8)
         outb(cached_A1,0xA1);
     else
@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
  * first, _then_ send the EOI, and the order of EOI
  * to the two 8259s is important!
  */
-static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+static void _mask_and_ack_8259A_irq(unsigned int irq)
 {
-    unsigned int irqmask =3D 1 << desc->irq;
+    unsigned int irqmask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
@@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
     cached_irq_mask |=3D irqmask;
=20
  handle_real_irq:
-    if (desc->irq & 8) {
+    if (irq & 8) {
         inb(0xA1);              /* DUMMY - (do we need this?) */
         outb(cached_A1,0xA1);
-        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
+        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
         outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
     } else {
         inb(0x21);              /* DUMMY - (do we need this?) */
         outb(cached_21,0x21);
-        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
+        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
     }
     spin_unlock_irqrestore(&i8259A_lock, flags);
     return;
@@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
     /*
      * this is the slow path - should happen rarely.
      */
-    if (i8259A_irq_real(desc->irq))
+    if (i8259A_irq_real(irq))
         /*
          * oops, the IRQ _is_ in service according to the
          * 8259A - not spurious, go handle it.
@@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
          * lets ACK and report it. [once per IRQ]
          */
         if (!(spurious_irq_mask & irqmask)) {
-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
             spurious_irq_mask |=3D irqmask;
         }
         /*
@@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
                                is to be investigated) */
=20
     if (auto_eoi)
+    {
         /*
          * in AEOI mode we just have to mask the interrupt
          * when acking.
          */
         i8259A_irq_type.ack =3D disable_8259A_irq;
+        bogus_8259A_irq =3D _disable_8259A_irq;
+    }
     else
+    {
         i8259A_irq_type.ack =3D mask_and_ack_8259A_irq;
+        bogus_8259A_irq =3D _mask_and_ack_8259A_irq;
+    }
=20
     udelay(100);            /* wait for 8259A to initialize */
=20
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
         if (direct_apic_vector[vector] !=3D NULL) {
             (*direct_apic_vector[vector])(regs);
         } else {
-            ack_APIC_irq();
-            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
-                   __func__, smp_processor_id(), vector, irq);
+            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECT=
OR )
+                ack_APIC_irq();
+            else
+                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
+            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
+                   smp_processor_id(), vector, irq);
             TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
         }
         goto out_no_unlock;
--- a/xen/include/asm-x86/irq.h
+++ b/xen/include/asm-x86/irq.h
@@ -104,6 +104,7 @@ void mask_8259A(void);
 void unmask_8259A(void);
 void init_8259A(int aeoi);
 void make_8259A_irq(unsigned int irq);
+extern void (*bogus_8259A_irq)(unsigned int irq);
 int i8259A_suspend(void);
 int i8259A_resume(void);
=20



--=__Part92BC60F9.0__=
Content-Type: text/plain; name="x86-spurious-8259A-irq.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-spurious-8259A-irq.patch"

x86: adjust handling of interrupts coming in via legacy vectors=0A=0AThe =
debugging code added in c/s 24707:96987c324a4f was hit a (small)=0Anumber =
of times (one report being=0Ahttp://lists.xen.org/archives/html/xen-devel/2=
012-05/msg00332.html),=0Aapparently always with a vector within the legacy =
range. Obviously,=0Abesides legacy vectors not normally expected to be in =
use on systems=0Awith IO-APIC(s), they should never make it to the IRQ =
migration logic.=0A=0AThis wasn't being prevented so far: Since we don't =
have a one-to-one=0Amapping between vectors and IRQs - legacy IRQs may =
have two vectors=0Aassociated with them (one used in either 8259A, the =
other used in one=0Aof the IO-APICs) -, vector-to-IRQ translations for =
legacy vectors (as=0Aused in do_IRQ()) would yield a valid IRQ number =
despite the IRQ=0Areally being handled via an IO-APIC.=0A=0AThis gets =
changed here - disable_8259A_irq() zaps the legacy vector-to-=0AIRQ =
mapping, and enable_8259A_irq(), should it ever be called for a=0Aparticula=
r interrupts, restores it.=0A=0AAdditionally, the spurious interrupt logic =
in do_IRQ() gets adjusted=0Atoo: Interrupts coming in via legacy vectors =
obviously didn't get=0Areported through the IO-APIC/LAPIC pair (as we =
never program these=0Avectors into any RTE), and hence shouldn't get =
ack_APIC_irq() called on=0Athem. Instead, a new function (pointer) =
bogus_8259A_irq() gets used to=0Ahave the 8259A driver take care of the =
bogus interrupt (as outside of=0Aautomatice EOI mode it may need an EOI to =
be issued for it to prevent=0Aother interrupts that may legitimately go =
through the 8259As from=0Agetting masked out).=0A=0ASigned-off-by: Jan =
Beulich <jbeulich@suse.com>=0A=0A--- a/xen/arch/x86/i8259.c=0A+++ =
b/xen/arch/x86/i8259.c=0A@@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQ=
S(0xd) BU=0A =0A static DEFINE_SPINLOCK(i8259A_lock);=0A =0A-static void =
mask_and_ack_8259A_irq(struct irq_desc *);=0A+static void _mask_and_ack_825=
9A_irq(unsigned int irq);=0A+=0A+void (*__read_mostly bogus_8259A_irq)(unsi=
gned int irq) =3D=0A+    _mask_and_ack_8259A_irq;=0A+=0A+static void =
mask_and_ack_8259A_irq(struct irq_desc *desc)=0A+{=0A+    _mask_and_ack_825=
9A_irq(desc->irq);=0A+}=0A =0A static unsigned int startup_8259A_irq(struct=
 irq_desc *desc)=0A {=0A@@ -133,20 +141,26 @@ static unsigned int =
cached_irq_mask =3D 0x=0A  */=0A unsigned int __read_mostly io_apic_irqs;=
=0A =0A-void disable_8259A_irq(struct irq_desc *desc)=0A+static void =
_disable_8259A_irq(unsigned int irq)=0A {=0A-    unsigned int mask =3D 1 =
<< desc->irq;=0A+    unsigned int mask =3D 1 << irq;=0A     unsigned long =
flags;=0A =0A     spin_lock_irqsave(&i8259A_lock, flags);=0A     cached_irq=
_mask |=3D mask;=0A-    if (desc->irq & 8)=0A+    if (irq & 8)=0A         =
outb(cached_A1,0xA1);=0A     else=0A         outb(cached_21,0x21);=0A+    =
per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;=0A     spin_unlock_irqre=
store(&i8259A_lock, flags);=0A }=0A =0A+void disable_8259A_irq(struct =
irq_desc *desc)=0A+{=0A+    _disable_8259A_irq(desc->irq);=0A+}=0A+=0A =
void enable_8259A_irq(struct irq_desc *desc)=0A {=0A     unsigned int mask =
=3D ~(1 << desc->irq);=0A@@ -154,6 +168,7 @@ void enable_8259A_irq(struct =
irq_desc *d=0A =0A     spin_lock_irqsave(&i8259A_lock, flags);=0A     =
cached_irq_mask &=3D mask;=0A+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc=
->irq)] =3D desc->irq;=0A     if (desc->irq & 8)=0A         outb(cached_A1,=
0xA1);=0A     else=0A@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(=
unsign=0A  * first, _then_ send the EOI, and the order of EOI=0A  * to the =
two 8259s is important!=0A  */=0A-static void mask_and_ack_8259A_irq(struct=
 irq_desc *desc)=0A+static void _mask_and_ack_8259A_irq(unsigned int =
irq)=0A {=0A-    unsigned int irqmask =3D 1 << desc->irq;=0A+    unsigned =
int irqmask =3D 1 << irq;=0A     unsigned long flags;=0A =0A     spin_lock_=
irqsave(&i8259A_lock, flags);=0A@@ -252,15 +267,15 @@ static void =
mask_and_ack_8259A_irq(struc=0A     cached_irq_mask |=3D irqmask;=0A =0A  =
handle_real_irq:=0A-    if (desc->irq & 8) {=0A+    if (irq & 8) {=0A      =
   inb(0xA1);              /* DUMMY - (do we need this?) */=0A         =
outb(cached_A1,0xA1);=0A-        outb(0x60 + (desc->irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A+        outb(0x60 + (irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A         outb(0x62,0x20);        /* 'Specific =
EOI' to master-IRQ2 */=0A     } else {=0A         inb(0x21);              =
/* DUMMY - (do we need this?) */=0A         outb(cached_21,0x21);=0A-      =
  outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */=0A+        =
outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */=0A     }=0A     =
spin_unlock_irqrestore(&i8259A_lock, flags);=0A     return;=0A@@ -269,7 =
+284,7 @@ static void mask_and_ack_8259A_irq(struc=0A     /*=0A      * =
this is the slow path - should happen rarely.=0A      */=0A-    if =
(i8259A_irq_real(desc->irq))=0A+    if (i8259A_irq_real(irq))=0A         =
/*=0A          * oops, the IRQ _is_ in service according to the=0A         =
 * 8259A - not spurious, go handle it.=0A@@ -283,7 +298,7 @@ static void =
mask_and_ack_8259A_irq(struc=0A          * lets ACK and report it. [once =
per IRQ]=0A          */=0A         if (!(spurious_irq_mask & irqmask)) =
{=0A-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);=
=0A+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);=0A      =
       spurious_irq_mask |=3D irqmask;=0A         }=0A         /*=0A@@ =
-352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)=0A              =
                  is to be investigated) */=0A =0A     if (auto_eoi)=0A+   =
 {=0A         /*=0A          * in AEOI mode we just have to mask the =
interrupt=0A          * when acking.=0A          */=0A         i8259A_irq_t=
ype.ack =3D disable_8259A_irq;=0A+        bogus_8259A_irq =3D _disable_8259=
A_irq;=0A+    }=0A     else=0A+    {=0A         i8259A_irq_type.ack =3D =
mask_and_ack_8259A_irq;=0A+        bogus_8259A_irq =3D _mask_and_ack_8259A_=
irq;=0A+    }=0A =0A     udelay(100);            /* wait for 8259A to =
initialize */=0A =0A--- a/xen/arch/x86/irq.c=0A+++ b/xen/arch/x86/irq.c=0A@=
@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)=0A         if =
(direct_apic_vector[vector] !=3D NULL) {=0A             (*direct_apic_vecto=
r[vector])(regs);=0A         } else {=0A-            ack_APIC_irq();=0A-   =
         printk("%s: %d.%d No irq handler for vector (irq %d)\n",=0A-      =
             __func__, smp_processor_id(), vector, irq);=0A+            if =
( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR )=0A+        =
        ack_APIC_irq();=0A+            else=0A+                bogus_8259A_=
irq(vector - FIRST_LEGACY_VECTOR);=0A+            printk("CPU%u: No =
handler for vector %02x (IRQ %d)\n",=0A+                   smp_processor_id=
(), vector, irq);=0A             TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, =
vector);=0A         }=0A         goto out_no_unlock;=0A--- a/xen/include/as=
m-x86/irq.h=0A+++ b/xen/include/asm-x86/irq.h=0A@@ -104,6 +104,7 @@ void =
mask_8259A(void);=0A void unmask_8259A(void);=0A void init_8259A(int =
aeoi);=0A void make_8259A_irq(unsigned int irq);=0A+extern void (*bogus_825=
9A_irq)(unsigned int irq);=0A int i8259A_suspend(void);=0A int i8259A_resum=
e(void);=0A =0A
--=__Part92BC60F9.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part92BC60F9.0__=--


From xen-devel-bounces@lists.xen.org Mon May 14 12:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuYS-0002wG-CY; Mon, 14 May 2012 12:39:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STuYQ-0002w3-6w
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:39:10 +0000
Received: from [85.158.139.83:18285] by server-11.bemta-5.messagelabs.com id
	D5/2A-12959-DECF0BF4; Mon, 14 May 2012 12:39:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336999148!21059195!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19647 invoked from network); 14 May 2012 12:39:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 12:39:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 13:39:08 +0100
Message-Id: <4FB119090200007800083738@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 13:39:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part92BC60F9.0__="
Subject: [Xen-devel] x86: adjust handling of interrupts coming in via legacy
 vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part92BC60F9.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

The debugging code added in c/s 24707:96987c324a4f was hit a (small)
number of times (one report being
http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
apparently always with a vector within the legacy range. Obviously,
besides legacy vectors not normally expected to be in use on systems
with IO-APIC(s), they should never make it to the IRQ migration logic.

This wasn't being prevented so far: Since we don't have a one-to-one
mapping between vectors and IRQs - legacy IRQs may have two vectors
associated with them (one used in either 8259A, the other used in one
of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
used in do_IRQ()) would yield a valid IRQ number despite the IRQ
really being handled via an IO-APIC.

This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
IRQ mapping, and enable_8259A_irq(), should it ever be called for a
particular interrupts, restores it.

Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
too: Interrupts coming in via legacy vectors obviously didn't get
reported through the IO-APIC/LAPIC pair (as we never program these
vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
have the 8259A driver take care of the bogus interrupt (as outside of
automatice EOI mode it may need an EOI to be issued for it to prevent
other interrupts that may legitimately go through the 8259As from
getting masked out).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
=20
 static DEFINE_SPINLOCK(i8259A_lock);
=20
-static void mask_and_ack_8259A_irq(struct irq_desc *);
+static void _mask_and_ack_8259A_irq(unsigned int irq);
+
+void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =3D
+    _mask_and_ack_8259A_irq;
+
+static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+{
+    _mask_and_ack_8259A_irq(desc->irq);
+}
=20
 static unsigned int startup_8259A_irq(struct irq_desc *desc)
 {
@@ -133,20 +141,26 @@ static unsigned int cached_irq_mask =3D 0x
  */
 unsigned int __read_mostly io_apic_irqs;
=20
-void disable_8259A_irq(struct irq_desc *desc)
+static void _disable_8259A_irq(unsigned int irq)
 {
-    unsigned int mask =3D 1 << desc->irq;
+    unsigned int mask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask |=3D mask;
-    if (desc->irq & 8)
+    if (irq & 8)
         outb(cached_A1,0xA1);
     else
         outb(cached_21,0x21);
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;
     spin_unlock_irqrestore(&i8259A_lock, flags);
 }
=20
+void disable_8259A_irq(struct irq_desc *desc)
+{
+    _disable_8259A_irq(desc->irq);
+}
+
 void enable_8259A_irq(struct irq_desc *desc)
 {
     unsigned int mask =3D ~(1 << desc->irq);
@@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask &=3D mask;
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] =3D desc->irq;
     if (desc->irq & 8)
         outb(cached_A1,0xA1);
     else
@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
  * first, _then_ send the EOI, and the order of EOI
  * to the two 8259s is important!
  */
-static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+static void _mask_and_ack_8259A_irq(unsigned int irq)
 {
-    unsigned int irqmask =3D 1 << desc->irq;
+    unsigned int irqmask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
@@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
     cached_irq_mask |=3D irqmask;
=20
  handle_real_irq:
-    if (desc->irq & 8) {
+    if (irq & 8) {
         inb(0xA1);              /* DUMMY - (do we need this?) */
         outb(cached_A1,0xA1);
-        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
+        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
         outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
     } else {
         inb(0x21);              /* DUMMY - (do we need this?) */
         outb(cached_21,0x21);
-        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
+        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
     }
     spin_unlock_irqrestore(&i8259A_lock, flags);
     return;
@@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
     /*
      * this is the slow path - should happen rarely.
      */
-    if (i8259A_irq_real(desc->irq))
+    if (i8259A_irq_real(irq))
         /*
          * oops, the IRQ _is_ in service according to the
          * 8259A - not spurious, go handle it.
@@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
          * lets ACK and report it. [once per IRQ]
          */
         if (!(spurious_irq_mask & irqmask)) {
-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
             spurious_irq_mask |=3D irqmask;
         }
         /*
@@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
                                is to be investigated) */
=20
     if (auto_eoi)
+    {
         /*
          * in AEOI mode we just have to mask the interrupt
          * when acking.
          */
         i8259A_irq_type.ack =3D disable_8259A_irq;
+        bogus_8259A_irq =3D _disable_8259A_irq;
+    }
     else
+    {
         i8259A_irq_type.ack =3D mask_and_ack_8259A_irq;
+        bogus_8259A_irq =3D _mask_and_ack_8259A_irq;
+    }
=20
     udelay(100);            /* wait for 8259A to initialize */
=20
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
         if (direct_apic_vector[vector] !=3D NULL) {
             (*direct_apic_vector[vector])(regs);
         } else {
-            ack_APIC_irq();
-            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
-                   __func__, smp_processor_id(), vector, irq);
+            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECT=
OR )
+                ack_APIC_irq();
+            else
+                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
+            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
+                   smp_processor_id(), vector, irq);
             TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
         }
         goto out_no_unlock;
--- a/xen/include/asm-x86/irq.h
+++ b/xen/include/asm-x86/irq.h
@@ -104,6 +104,7 @@ void mask_8259A(void);
 void unmask_8259A(void);
 void init_8259A(int aeoi);
 void make_8259A_irq(unsigned int irq);
+extern void (*bogus_8259A_irq)(unsigned int irq);
 int i8259A_suspend(void);
 int i8259A_resume(void);
=20



--=__Part92BC60F9.0__=
Content-Type: text/plain; name="x86-spurious-8259A-irq.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-spurious-8259A-irq.patch"

x86: adjust handling of interrupts coming in via legacy vectors=0A=0AThe =
debugging code added in c/s 24707:96987c324a4f was hit a (small)=0Anumber =
of times (one report being=0Ahttp://lists.xen.org/archives/html/xen-devel/2=
012-05/msg00332.html),=0Aapparently always with a vector within the legacy =
range. Obviously,=0Abesides legacy vectors not normally expected to be in =
use on systems=0Awith IO-APIC(s), they should never make it to the IRQ =
migration logic.=0A=0AThis wasn't being prevented so far: Since we don't =
have a one-to-one=0Amapping between vectors and IRQs - legacy IRQs may =
have two vectors=0Aassociated with them (one used in either 8259A, the =
other used in one=0Aof the IO-APICs) -, vector-to-IRQ translations for =
legacy vectors (as=0Aused in do_IRQ()) would yield a valid IRQ number =
despite the IRQ=0Areally being handled via an IO-APIC.=0A=0AThis gets =
changed here - disable_8259A_irq() zaps the legacy vector-to-=0AIRQ =
mapping, and enable_8259A_irq(), should it ever be called for a=0Aparticula=
r interrupts, restores it.=0A=0AAdditionally, the spurious interrupt logic =
in do_IRQ() gets adjusted=0Atoo: Interrupts coming in via legacy vectors =
obviously didn't get=0Areported through the IO-APIC/LAPIC pair (as we =
never program these=0Avectors into any RTE), and hence shouldn't get =
ack_APIC_irq() called on=0Athem. Instead, a new function (pointer) =
bogus_8259A_irq() gets used to=0Ahave the 8259A driver take care of the =
bogus interrupt (as outside of=0Aautomatice EOI mode it may need an EOI to =
be issued for it to prevent=0Aother interrupts that may legitimately go =
through the 8259As from=0Agetting masked out).=0A=0ASigned-off-by: Jan =
Beulich <jbeulich@suse.com>=0A=0A--- a/xen/arch/x86/i8259.c=0A+++ =
b/xen/arch/x86/i8259.c=0A@@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQ=
S(0xd) BU=0A =0A static DEFINE_SPINLOCK(i8259A_lock);=0A =0A-static void =
mask_and_ack_8259A_irq(struct irq_desc *);=0A+static void _mask_and_ack_825=
9A_irq(unsigned int irq);=0A+=0A+void (*__read_mostly bogus_8259A_irq)(unsi=
gned int irq) =3D=0A+    _mask_and_ack_8259A_irq;=0A+=0A+static void =
mask_and_ack_8259A_irq(struct irq_desc *desc)=0A+{=0A+    _mask_and_ack_825=
9A_irq(desc->irq);=0A+}=0A =0A static unsigned int startup_8259A_irq(struct=
 irq_desc *desc)=0A {=0A@@ -133,20 +141,26 @@ static unsigned int =
cached_irq_mask =3D 0x=0A  */=0A unsigned int __read_mostly io_apic_irqs;=
=0A =0A-void disable_8259A_irq(struct irq_desc *desc)=0A+static void =
_disable_8259A_irq(unsigned int irq)=0A {=0A-    unsigned int mask =3D 1 =
<< desc->irq;=0A+    unsigned int mask =3D 1 << irq;=0A     unsigned long =
flags;=0A =0A     spin_lock_irqsave(&i8259A_lock, flags);=0A     cached_irq=
_mask |=3D mask;=0A-    if (desc->irq & 8)=0A+    if (irq & 8)=0A         =
outb(cached_A1,0xA1);=0A     else=0A         outb(cached_21,0x21);=0A+    =
per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;=0A     spin_unlock_irqre=
store(&i8259A_lock, flags);=0A }=0A =0A+void disable_8259A_irq(struct =
irq_desc *desc)=0A+{=0A+    _disable_8259A_irq(desc->irq);=0A+}=0A+=0A =
void enable_8259A_irq(struct irq_desc *desc)=0A {=0A     unsigned int mask =
=3D ~(1 << desc->irq);=0A@@ -154,6 +168,7 @@ void enable_8259A_irq(struct =
irq_desc *d=0A =0A     spin_lock_irqsave(&i8259A_lock, flags);=0A     =
cached_irq_mask &=3D mask;=0A+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc=
->irq)] =3D desc->irq;=0A     if (desc->irq & 8)=0A         outb(cached_A1,=
0xA1);=0A     else=0A@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(=
unsign=0A  * first, _then_ send the EOI, and the order of EOI=0A  * to the =
two 8259s is important!=0A  */=0A-static void mask_and_ack_8259A_irq(struct=
 irq_desc *desc)=0A+static void _mask_and_ack_8259A_irq(unsigned int =
irq)=0A {=0A-    unsigned int irqmask =3D 1 << desc->irq;=0A+    unsigned =
int irqmask =3D 1 << irq;=0A     unsigned long flags;=0A =0A     spin_lock_=
irqsave(&i8259A_lock, flags);=0A@@ -252,15 +267,15 @@ static void =
mask_and_ack_8259A_irq(struc=0A     cached_irq_mask |=3D irqmask;=0A =0A  =
handle_real_irq:=0A-    if (desc->irq & 8) {=0A+    if (irq & 8) {=0A      =
   inb(0xA1);              /* DUMMY - (do we need this?) */=0A         =
outb(cached_A1,0xA1);=0A-        outb(0x60 + (desc->irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A+        outb(0x60 + (irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A         outb(0x62,0x20);        /* 'Specific =
EOI' to master-IRQ2 */=0A     } else {=0A         inb(0x21);              =
/* DUMMY - (do we need this?) */=0A         outb(cached_21,0x21);=0A-      =
  outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */=0A+        =
outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */=0A     }=0A     =
spin_unlock_irqrestore(&i8259A_lock, flags);=0A     return;=0A@@ -269,7 =
+284,7 @@ static void mask_and_ack_8259A_irq(struc=0A     /*=0A      * =
this is the slow path - should happen rarely.=0A      */=0A-    if =
(i8259A_irq_real(desc->irq))=0A+    if (i8259A_irq_real(irq))=0A         =
/*=0A          * oops, the IRQ _is_ in service according to the=0A         =
 * 8259A - not spurious, go handle it.=0A@@ -283,7 +298,7 @@ static void =
mask_and_ack_8259A_irq(struc=0A          * lets ACK and report it. [once =
per IRQ]=0A          */=0A         if (!(spurious_irq_mask & irqmask)) =
{=0A-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);=
=0A+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);=0A      =
       spurious_irq_mask |=3D irqmask;=0A         }=0A         /*=0A@@ =
-352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)=0A              =
                  is to be investigated) */=0A =0A     if (auto_eoi)=0A+   =
 {=0A         /*=0A          * in AEOI mode we just have to mask the =
interrupt=0A          * when acking.=0A          */=0A         i8259A_irq_t=
ype.ack =3D disable_8259A_irq;=0A+        bogus_8259A_irq =3D _disable_8259=
A_irq;=0A+    }=0A     else=0A+    {=0A         i8259A_irq_type.ack =3D =
mask_and_ack_8259A_irq;=0A+        bogus_8259A_irq =3D _mask_and_ack_8259A_=
irq;=0A+    }=0A =0A     udelay(100);            /* wait for 8259A to =
initialize */=0A =0A--- a/xen/arch/x86/irq.c=0A+++ b/xen/arch/x86/irq.c=0A@=
@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)=0A         if =
(direct_apic_vector[vector] !=3D NULL) {=0A             (*direct_apic_vecto=
r[vector])(regs);=0A         } else {=0A-            ack_APIC_irq();=0A-   =
         printk("%s: %d.%d No irq handler for vector (irq %d)\n",=0A-      =
             __func__, smp_processor_id(), vector, irq);=0A+            if =
( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR )=0A+        =
        ack_APIC_irq();=0A+            else=0A+                bogus_8259A_=
irq(vector - FIRST_LEGACY_VECTOR);=0A+            printk("CPU%u: No =
handler for vector %02x (IRQ %d)\n",=0A+                   smp_processor_id=
(), vector, irq);=0A             TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, =
vector);=0A         }=0A         goto out_no_unlock;=0A--- a/xen/include/as=
m-x86/irq.h=0A+++ b/xen/include/asm-x86/irq.h=0A@@ -104,6 +104,7 @@ void =
mask_8259A(void);=0A void unmask_8259A(void);=0A void init_8259A(int =
aeoi);=0A void make_8259A_irq(unsigned int irq);=0A+extern void (*bogus_825=
9A_irq)(unsigned int irq);=0A int i8259A_suspend(void);=0A int i8259A_resum=
e(void);=0A =0A
--=__Part92BC60F9.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part92BC60F9.0__=--


From xen-devel-bounces@lists.xen.org Mon May 14 12:52:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:52:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuko-0003CL-Mh; Mon, 14 May 2012 12:51:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STukn-0003CG-3L
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:51:57 +0000
Received: from [193.109.254.147:7272] by server-4.bemta-14.messagelabs.com id
	3C/B0-11570-CEFF0BF4; Mon, 14 May 2012 12:51:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336999915!2333321!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3673 invoked from network); 14 May 2012 12:51:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 12:51:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12457305"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 12:51:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:51:55 +0100
Message-ID: <1336999913.31817.69.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Mon, 14 May 2012 13:51:53 +0100
In-Reply-To: <4FB0FCBE.1020802@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 13:38 +0100, Roger Pau Monne wrote:
> >> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> >> +# has been launched from libxl
> >> +if [ -n "${UDEV_CALL}" ]&&  \
> >> +   `xenstore-read "libxl/disable_udev">/dev/null 2>&1`; then
> >
> > This reads something from xenstore and executes it as a shell command!
> > (Also it will go wrong if the value read is empty eg becaue the key
> > doesn't exist.)
> 
> Are you sure about this? This command never returns anything, because it 
> is redirected to /dev/null, so we only evaluate if it is able to read 
> libxl/disable_udev. If libxl/disable_udev exists this test is passed.

You don't need the backticks for that though. With the backticks it will
execute whatever happens to be in the key -- I guess it's something
quite benign right now or you'd have seen errors.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 12:52:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:52:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuko-0003CL-Mh; Mon, 14 May 2012 12:51:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STukn-0003CG-3L
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:51:57 +0000
Received: from [193.109.254.147:7272] by server-4.bemta-14.messagelabs.com id
	3C/B0-11570-CEFF0BF4; Mon, 14 May 2012 12:51:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1336999915!2333321!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3673 invoked from network); 14 May 2012 12:51:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 12:51:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,584,1330905600"; d="scan'208";a="12457305"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 12:51:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:51:55 +0100
Message-ID: <1336999913.31817.69.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Mon, 14 May 2012 13:51:53 +0100
In-Reply-To: <4FB0FCBE.1020802@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 13:38 +0100, Roger Pau Monne wrote:
> >> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> >> +# has been launched from libxl
> >> +if [ -n "${UDEV_CALL}" ]&&  \
> >> +   `xenstore-read "libxl/disable_udev">/dev/null 2>&1`; then
> >
> > This reads something from xenstore and executes it as a shell command!
> > (Also it will go wrong if the value read is empty eg becaue the key
> > doesn't exist.)
> 
> Are you sure about this? This command never returns anything, because it 
> is redirected to /dev/null, so we only evaluate if it is able to read 
> libxl/disable_udev. If libxl/disable_udev exists this test is passed.

You don't need the backticks for that though. With the backticks it will
execute whatever happens to be in the key -- I guess it's something
quite benign right now or you'd have seen errors.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 12:56:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuor-0003JC-BY; Mon, 14 May 2012 12:56:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STuop-0003J2-Ez
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:56:07 +0000
Received: from [85.158.139.83:6468] by server-8.bemta-5.messagelabs.com id
	B2/25-26964-4E001BF4; Mon, 14 May 2012 12:56:04 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337000162!21062611!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23425 invoked from network); 14 May 2012 12:56:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 12:56:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 13:56:02 +0100
Message-Id: <4FB11CFE020000780008375B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 13:55:58 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
In-Reply-To: <4FB119090200007800083738@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
> number of times (one report being
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
> apparently always with a vector within the legacy range. Obviously,
> besides legacy vectors not normally expected to be in use on systems
> with IO-APIC(s), they should never make it to the IRQ migration logic.
> 
> This wasn't being prevented so far: Since we don't have a one-to-one
> mapping between vectors and IRQs - legacy IRQs may have two vectors
> associated with them (one used in either 8259A, the other used in one
> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
> really being handled via an IO-APIC.
> 
> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
> particular interrupts, restores it.
> 
> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
> too: Interrupts coming in via legacy vectors obviously didn't get
> reported through the IO-APIC/LAPIC pair (as we never program these
> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
> have the 8259A driver take care of the bogus interrupt (as outside of
> automatice EOI mode it may need an EOI to be issued for it to prevent
> other interrupts that may legitimately go through the 8259As from
> getting masked out).

Note that this patch does not make any attempt at dealing with the
underlying issue that causes the bogus interrupt(s) to show up. If
my analysis is right, we shouldn't see crashes anymore, but instead
observe instances of spurious interrupts on legacy vectors. It would
certainly be nice to have an actual proof of this (albeit I realize that
this isn't readily reproducible), in order to then - if indeed behaving
as expected - add debugging code to identify whether such interrupts
in fact get raised by one of the 8259A-s (particularly printing the
cached and physical mask register values), or whether they get
introduced into the system by yet another obscure mechanism.

One particular thing I'm suspicious about are the numerous aliases
to the two (each) 8259A I/O ports that various chipsets have: What
if some component in Dom0 accesses one of the alias ports in order
to do something specific to a non-standard platform (say, probe for
some special hardware interface), not realizing that it actually plays
with PIC state? Linux under the same conditions wouldn't severely
suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
merely observe an extra interrupt.

Jan

> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>  
>  static DEFINE_SPINLOCK(i8259A_lock);
>  
> -static void mask_and_ack_8259A_irq(struct irq_desc *);
> +static void _mask_and_ack_8259A_irq(unsigned int irq);
> +
> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
> +    _mask_and_ack_8259A_irq;
> +
> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +{
> +    _mask_and_ack_8259A_irq(desc->irq);
> +}
>  
>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>  {
> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>   */
>  unsigned int __read_mostly io_apic_irqs;
>  
> -void disable_8259A_irq(struct irq_desc *desc)
> +static void _disable_8259A_irq(unsigned int irq)
>  {
> -    unsigned int mask = 1 << desc->irq;
> +    unsigned int mask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask |= mask;
> -    if (desc->irq & 8)
> +    if (irq & 8)
>          outb(cached_A1,0xA1);
>      else
>          outb(cached_21,0x21);
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>  }
>  
> +void disable_8259A_irq(struct irq_desc *desc)
> +{
> +    _disable_8259A_irq(desc->irq);
> +}
> +
>  void enable_8259A_irq(struct irq_desc *desc)
>  {
>      unsigned int mask = ~(1 << desc->irq);
> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask &= mask;
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>      if (desc->irq & 8)
>          outb(cached_A1,0xA1);
>      else
> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>   * first, _then_ send the EOI, and the order of EOI
>   * to the two 8259s is important!
>   */
> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>  {
> -    unsigned int irqmask = 1 << desc->irq;
> +    unsigned int irqmask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>      cached_irq_mask |= irqmask;
>  
>   handle_real_irq:
> -    if (desc->irq & 8) {
> +    if (irq & 8) {
>          inb(0xA1);              /* DUMMY - (do we need this?) */
>          outb(cached_A1,0xA1);
> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>      } else {
>          inb(0x21);              /* DUMMY - (do we need this?) */
>          outb(cached_21,0x21);
> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>      }
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>      return;
> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>      /*
>       * this is the slow path - should happen rarely.
>       */
> -    if (i8259A_irq_real(desc->irq))
> +    if (i8259A_irq_real(irq))
>          /*
>           * oops, the IRQ _is_ in service according to the
>           * 8259A - not spurious, go handle it.
> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>           * lets ACK and report it. [once per IRQ]
>           */
>          if (!(spurious_irq_mask & irqmask)) {
> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>              spurious_irq_mask |= irqmask;
>          }
>          /*
> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>                                 is to be investigated) */
>  
>      if (auto_eoi)
> +    {
>          /*
>           * in AEOI mode we just have to mask the interrupt
>           * when acking.
>           */
>          i8259A_irq_type.ack = disable_8259A_irq;
> +        bogus_8259A_irq = _disable_8259A_irq;
> +    }
>      else
> +    {
>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
> +    }
>  
>      udelay(100);            /* wait for 8259A to initialize */
>  
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
>          if (direct_apic_vector[vector] != NULL) {
>              (*direct_apic_vector[vector])(regs);
>          } else {
> -            ack_APIC_irq();
> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
> -                   __func__, smp_processor_id(), vector, irq);
> +            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR 
> )
> +                ack_APIC_irq();
> +            else
> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
> +            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
> +                   smp_processor_id(), vector, irq);
>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>          }
>          goto out_no_unlock;
> --- a/xen/include/asm-x86/irq.h
> +++ b/xen/include/asm-x86/irq.h
> @@ -104,6 +104,7 @@ void mask_8259A(void);
>  void unmask_8259A(void);
>  void init_8259A(int aeoi);
>  void make_8259A_irq(unsigned int irq);
> +extern void (*bogus_8259A_irq)(unsigned int irq);
>  int i8259A_suspend(void);
>  int i8259A_resume(void);
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 12:56:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 12:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuor-0003JC-BY; Mon, 14 May 2012 12:56:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STuop-0003J2-Ez
	for xen-devel@lists.xen.org; Mon, 14 May 2012 12:56:07 +0000
Received: from [85.158.139.83:6468] by server-8.bemta-5.messagelabs.com id
	B2/25-26964-4E001BF4; Mon, 14 May 2012 12:56:04 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337000162!21062611!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23425 invoked from network); 14 May 2012 12:56:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 12:56:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 13:56:02 +0100
Message-Id: <4FB11CFE020000780008375B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 13:55:58 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
In-Reply-To: <4FB119090200007800083738@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
> number of times (one report being
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
> apparently always with a vector within the legacy range. Obviously,
> besides legacy vectors not normally expected to be in use on systems
> with IO-APIC(s), they should never make it to the IRQ migration logic.
> 
> This wasn't being prevented so far: Since we don't have a one-to-one
> mapping between vectors and IRQs - legacy IRQs may have two vectors
> associated with them (one used in either 8259A, the other used in one
> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
> really being handled via an IO-APIC.
> 
> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
> particular interrupts, restores it.
> 
> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
> too: Interrupts coming in via legacy vectors obviously didn't get
> reported through the IO-APIC/LAPIC pair (as we never program these
> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
> have the 8259A driver take care of the bogus interrupt (as outside of
> automatice EOI mode it may need an EOI to be issued for it to prevent
> other interrupts that may legitimately go through the 8259As from
> getting masked out).

Note that this patch does not make any attempt at dealing with the
underlying issue that causes the bogus interrupt(s) to show up. If
my analysis is right, we shouldn't see crashes anymore, but instead
observe instances of spurious interrupts on legacy vectors. It would
certainly be nice to have an actual proof of this (albeit I realize that
this isn't readily reproducible), in order to then - if indeed behaving
as expected - add debugging code to identify whether such interrupts
in fact get raised by one of the 8259A-s (particularly printing the
cached and physical mask register values), or whether they get
introduced into the system by yet another obscure mechanism.

One particular thing I'm suspicious about are the numerous aliases
to the two (each) 8259A I/O ports that various chipsets have: What
if some component in Dom0 accesses one of the alias ports in order
to do something specific to a non-standard platform (say, probe for
some special hardware interface), not realizing that it actually plays
with PIC state? Linux under the same conditions wouldn't severely
suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
merely observe an extra interrupt.

Jan

> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>  
>  static DEFINE_SPINLOCK(i8259A_lock);
>  
> -static void mask_and_ack_8259A_irq(struct irq_desc *);
> +static void _mask_and_ack_8259A_irq(unsigned int irq);
> +
> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
> +    _mask_and_ack_8259A_irq;
> +
> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +{
> +    _mask_and_ack_8259A_irq(desc->irq);
> +}
>  
>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>  {
> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>   */
>  unsigned int __read_mostly io_apic_irqs;
>  
> -void disable_8259A_irq(struct irq_desc *desc)
> +static void _disable_8259A_irq(unsigned int irq)
>  {
> -    unsigned int mask = 1 << desc->irq;
> +    unsigned int mask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask |= mask;
> -    if (desc->irq & 8)
> +    if (irq & 8)
>          outb(cached_A1,0xA1);
>      else
>          outb(cached_21,0x21);
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>  }
>  
> +void disable_8259A_irq(struct irq_desc *desc)
> +{
> +    _disable_8259A_irq(desc->irq);
> +}
> +
>  void enable_8259A_irq(struct irq_desc *desc)
>  {
>      unsigned int mask = ~(1 << desc->irq);
> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask &= mask;
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>      if (desc->irq & 8)
>          outb(cached_A1,0xA1);
>      else
> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>   * first, _then_ send the EOI, and the order of EOI
>   * to the two 8259s is important!
>   */
> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>  {
> -    unsigned int irqmask = 1 << desc->irq;
> +    unsigned int irqmask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>      cached_irq_mask |= irqmask;
>  
>   handle_real_irq:
> -    if (desc->irq & 8) {
> +    if (irq & 8) {
>          inb(0xA1);              /* DUMMY - (do we need this?) */
>          outb(cached_A1,0xA1);
> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>      } else {
>          inb(0x21);              /* DUMMY - (do we need this?) */
>          outb(cached_21,0x21);
> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>      }
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>      return;
> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>      /*
>       * this is the slow path - should happen rarely.
>       */
> -    if (i8259A_irq_real(desc->irq))
> +    if (i8259A_irq_real(irq))
>          /*
>           * oops, the IRQ _is_ in service according to the
>           * 8259A - not spurious, go handle it.
> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>           * lets ACK and report it. [once per IRQ]
>           */
>          if (!(spurious_irq_mask & irqmask)) {
> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>              spurious_irq_mask |= irqmask;
>          }
>          /*
> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>                                 is to be investigated) */
>  
>      if (auto_eoi)
> +    {
>          /*
>           * in AEOI mode we just have to mask the interrupt
>           * when acking.
>           */
>          i8259A_irq_type.ack = disable_8259A_irq;
> +        bogus_8259A_irq = _disable_8259A_irq;
> +    }
>      else
> +    {
>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
> +    }
>  
>      udelay(100);            /* wait for 8259A to initialize */
>  
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
>          if (direct_apic_vector[vector] != NULL) {
>              (*direct_apic_vector[vector])(regs);
>          } else {
> -            ack_APIC_irq();
> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
> -                   __func__, smp_processor_id(), vector, irq);
> +            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR 
> )
> +                ack_APIC_irq();
> +            else
> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
> +            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
> +                   smp_processor_id(), vector, irq);
>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>          }
>          goto out_no_unlock;
> --- a/xen/include/asm-x86/irq.h
> +++ b/xen/include/asm-x86/irq.h
> @@ -104,6 +104,7 @@ void mask_8259A(void);
>  void unmask_8259A(void);
>  void init_8259A(int aeoi);
>  void make_8259A_irq(unsigned int irq);
> +extern void (*bogus_8259A_irq)(unsigned int irq);
>  int i8259A_suspend(void);
>  int i8259A_resume(void);
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:05:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:05:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuxQ-0003YC-HN; Mon, 14 May 2012 13:05:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STuxP-0003Y7-N0
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:04:59 +0000
Received: from [85.158.143.35:22115] by server-2.bemta-4.messagelabs.com id
	3B/53-17550-BF201BF4; Mon, 14 May 2012 13:04:59 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337000697!12130706!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18074 invoked from network); 14 May 2012 13:04:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:04:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12457656"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:04:33 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 14:04:33 +0100
Date: Mon, 14 May 2012 14:04:28 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20388.878.645214.92917@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.878.645214.92917@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > Introduce a new libxl_device_disk** parameter to
> > libxl__device_disk_local_attach, the parameter is allocated on the gc by
> > libxl__device_disk_local_attach. It is going to fill it with
> > informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> ...
> > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > index fc771ff..55dc55c 100644
> > --- a/tools/libxl/libxl_internal.c
> > +++ b/tools/libxl/libxl_internal.c
> ...
> >              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > -                       disk->pdev_path);
> > +                       in_disk->pdev_path);
> 
> I think in_disk->pdev_path can be NULL here ?

It cannot, unless a wrong configuration was provided. In that case we'll
fail to open the empty disk later on.


> Also log messages should not contain "\n"; the logging functions add
> it.

OK

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:05:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:05:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuxQ-0003YC-HN; Mon, 14 May 2012 13:05:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STuxP-0003Y7-N0
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:04:59 +0000
Received: from [85.158.143.35:22115] by server-2.bemta-4.messagelabs.com id
	3B/53-17550-BF201BF4; Mon, 14 May 2012 13:04:59 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337000697!12130706!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18074 invoked from network); 14 May 2012 13:04:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:04:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12457656"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:04:33 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 14:04:33 +0100
Date: Mon, 14 May 2012 14:04:28 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20388.878.645214.92917@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.878.645214.92917@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > Introduce a new libxl_device_disk** parameter to
> > libxl__device_disk_local_attach, the parameter is allocated on the gc by
> > libxl__device_disk_local_attach. It is going to fill it with
> > informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> ...
> > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > index fc771ff..55dc55c 100644
> > --- a/tools/libxl/libxl_internal.c
> > +++ b/tools/libxl/libxl_internal.c
> ...
> >              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > -                       disk->pdev_path);
> > +                       in_disk->pdev_path);
> 
> I think in_disk->pdev_path can be NULL here ?

It cannot, unless a wrong configuration was provided. In that case we'll
fail to open the empty disk later on.


> Also log messages should not contain "\n"; the logging functions add
> it.

OK

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:07:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:07:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuzN-0003cl-1Y; Mon, 14 May 2012 13:07:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STuzL-0003cf-Cl
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:06:59 +0000
Received: from [85.158.138.51:21471] by server-6.bemta-3.messagelabs.com id
	47/98-05145-27301BF4; Mon, 14 May 2012 13:06:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337000817!25250289!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27718 invoked from network); 14 May 2012 13:06:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:06:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12457745"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:06:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 14:06:57 +0100
Message-ID: <1337000815.31817.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 14 May 2012 14:06:55 +0100
In-Reply-To: <alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.878.645214.92917@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 14:04 +0100, Stefano Stabellini wrote:
> On Fri, 4 May 2012, Ian Jackson wrote:
> > Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > > Introduce a new libxl_device_disk** parameter to
> > > libxl__device_disk_local_attach, the parameter is allocated on the gc by
> > > libxl__device_disk_local_attach. It is going to fill it with
> > > informations about the new locally attached disk.  The new
> > > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > > afterwards.
> > ...
> > > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > > index fc771ff..55dc55c 100644
> > > --- a/tools/libxl/libxl_internal.c
> > > +++ b/tools/libxl/libxl_internal.c
> > ...
> > >              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > > -                       disk->pdev_path);
> > > +                       in_disk->pdev_path);
> > 
> > I think in_disk->pdev_path can be NULL here ?
> 
> It cannot, unless a wrong configuration was provided.

so it can?

> In that case we'll fail to open the empty disk later on.

But logging the NULL pointer doesn't seem right. If this case is invalid
we should detect it as such and error out, not carry on until some other
secondary error causes us to abort.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:07:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:07:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STuzN-0003cl-1Y; Mon, 14 May 2012 13:07:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STuzL-0003cf-Cl
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:06:59 +0000
Received: from [85.158.138.51:21471] by server-6.bemta-3.messagelabs.com id
	47/98-05145-27301BF4; Mon, 14 May 2012 13:06:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337000817!25250289!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27718 invoked from network); 14 May 2012 13:06:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:06:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12457745"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:06:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 14:06:57 +0100
Message-ID: <1337000815.31817.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 14 May 2012 14:06:55 +0100
In-Reply-To: <alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.878.645214.92917@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 14:04 +0100, Stefano Stabellini wrote:
> On Fri, 4 May 2012, Ian Jackson wrote:
> > Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > > Introduce a new libxl_device_disk** parameter to
> > > libxl__device_disk_local_attach, the parameter is allocated on the gc by
> > > libxl__device_disk_local_attach. It is going to fill it with
> > > informations about the new locally attached disk.  The new
> > > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > > afterwards.
> > ...
> > > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > > index fc771ff..55dc55c 100644
> > > --- a/tools/libxl/libxl_internal.c
> > > +++ b/tools/libxl/libxl_internal.c
> > ...
> > >              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > > -                       disk->pdev_path);
> > > +                       in_disk->pdev_path);
> > 
> > I think in_disk->pdev_path can be NULL here ?
> 
> It cannot, unless a wrong configuration was provided.

so it can?

> In that case we'll fail to open the empty disk later on.

But logging the NULL pointer doesn't seem right. If this case is invalid
we should detect it as such and error out, not carry on until some other
secondary error causes us to abort.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:28:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvKL-0003ut-0t; Mon, 14 May 2012 13:28:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STvKJ-0003uo-H0
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:28:39 +0000
Received: from [193.109.254.147:19813] by server-6.bemta-14.messagelabs.com id
	E6/15-04960-68801BF4; Mon, 14 May 2012 13:28:38 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337002117!9147448!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24448 invoked from network); 14 May 2012 13:28:38 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 May 2012 13:28:38 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STvKG-0003aN-BC
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 06:28:36 -0700
Date: Mon, 14 May 2012 06:28:36 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337002116340-5708718.post@n5.nabble.com>
In-Reply-To: <1336988517973-5708692.post@n5.nabble.com>
References: <1336988517973-5708692.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25326
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I start pv domU boot problem bisect, looking at my previous posts with rev
25070 were working but not now.
I want try if kernel package regression but this not work:
aptitude install linux-image-3.2.0-2-amd64=3.2.12-1
Probably no more in repository, can anyone give me advice please?

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25326-tp5708692p5708718.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:28:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvKL-0003ut-0t; Mon, 14 May 2012 13:28:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STvKJ-0003uo-H0
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:28:39 +0000
Received: from [193.109.254.147:19813] by server-6.bemta-14.messagelabs.com id
	E6/15-04960-68801BF4; Mon, 14 May 2012 13:28:38 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337002117!9147448!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24448 invoked from network); 14 May 2012 13:28:38 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 May 2012 13:28:38 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1STvKG-0003aN-BC
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 06:28:36 -0700
Date: Mon, 14 May 2012 06:28:36 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337002116340-5708718.post@n5.nabble.com>
In-Reply-To: <1336988517973-5708692.post@n5.nabble.com>
References: <1336988517973-5708692.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25326
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I start pv domU boot problem bisect, looking at my previous posts with rev
25070 were working but not now.
I want try if kernel package regression but this not work:
aptitude install linux-image-3.2.0-2-amd64=3.2.12-1
Probably no more in repository, can anyone give me advice please?

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25326-tp5708692p5708718.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:34:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:34:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvPb-00045k-Om; Mon, 14 May 2012 13:34:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1STvPa-00045e-89
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:34:06 +0000
Received: from [85.158.143.35:65312] by server-1.bemta-4.messagelabs.com id
	8D/60-20925-DC901BF4; Mon, 14 May 2012 13:34:05 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337002442!15399322!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24893 invoked from network); 14 May 2012 13:34:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:34:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="194687575"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:33:46 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 14 May 2012
	09:33:45 -0400
Message-ID: <4FB109B8.7030208@citrix.com>
Date: Mon, 14 May 2012 14:33:44 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
In-Reply-To: <4FB11CFE020000780008375B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 13:55, Jan Beulich wrote:
>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>> number of times (one report being
>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>> apparently always with a vector within the legacy range. Obviously,
>> besides legacy vectors not normally expected to be in use on systems
>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>
>> This wasn't being prevented so far: Since we don't have a one-to-one
>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>> associated with them (one used in either 8259A, the other used in one
>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>> really being handled via an IO-APIC.
>>
>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>> particular interrupts, restores it.
>>
>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>> too: Interrupts coming in via legacy vectors obviously didn't get
>> reported through the IO-APIC/LAPIC pair (as we never program these
>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>> have the 8259A driver take care of the bogus interrupt (as outside of
>> automatice EOI mode it may need an EOI to be issued for it to prevent
>> other interrupts that may legitimately go through the 8259As from
>> getting masked out).
> Note that this patch does not make any attempt at dealing with the
> underlying issue that causes the bogus interrupt(s) to show up. If
> my analysis is right, we shouldn't see crashes anymore, but instead
> observe instances of spurious interrupts on legacy vectors. It would
> certainly be nice to have an actual proof of this (albeit I realize that
> this isn't readily reproducible), in order to then - if indeed behaving
> as expected - add debugging code to identify whether such interrupts
> in fact get raised by one of the 8259A-s (particularly printing the
> cached and physical mask register values), or whether they get
> introduced into the system by yet another obscure mechanism.
>
> One particular thing I'm suspicious about are the numerous aliases
> to the two (each) 8259A I/O ports that various chipsets have: What
> if some component in Dom0 accesses one of the alias ports in order
> to do something specific to a non-standard platform (say, probe for
> some special hardware interface), not realizing that it actually plays
> with PIC state? Linux under the same conditions wouldn't severely
> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
> merely observe an extra interrupt.
>
> Jan

On the whole, the patch looks sensible, but what happens if the spurious
interrupt is coming in through the Local APIC ?  If this is the case,
then we still need to ACK it, even if it is a bogus PIC interrupt.

Perhaps in irq.c, the changes should check whether the observed vector
has been raised in the LAPIC and ack it, and then decide whether it is
bogus or not.

Might it also be sensible to remove dom0's permissions to use the PIC
ports, in case it is some weird issue like that?

~Andrew

>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/i8259.c
>> +++ b/xen/arch/x86/i8259.c
>> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>>  
>>  static DEFINE_SPINLOCK(i8259A_lock);
>>  
>> -static void mask_and_ack_8259A_irq(struct irq_desc *);
>> +static void _mask_and_ack_8259A_irq(unsigned int irq);
>> +
>> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
>> +    _mask_and_ack_8259A_irq;
>> +
>> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _mask_and_ack_8259A_irq(desc->irq);
>> +}
>>  
>>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>>  {
>> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>>   */
>>  unsigned int __read_mostly io_apic_irqs;
>>  
>> -void disable_8259A_irq(struct irq_desc *desc)
>> +static void _disable_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int mask = 1 << desc->irq;
>> +    unsigned int mask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask |= mask;
>> -    if (desc->irq & 8)
>> +    if (irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>>          outb(cached_21,0x21);
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>  }
>>  
>> +void disable_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _disable_8259A_irq(desc->irq);
>> +}
>> +
>>  void enable_8259A_irq(struct irq_desc *desc)
>>  {
>>      unsigned int mask = ~(1 << desc->irq);
>> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask &= mask;
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>>      if (desc->irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>>   * first, _then_ send the EOI, and the order of EOI
>>   * to the two 8259s is important!
>>   */
>> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int irqmask = 1 << desc->irq;
>> +    unsigned int irqmask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>>      cached_irq_mask |= irqmask;
>>  
>>   handle_real_irq:
>> -    if (desc->irq & 8) {
>> +    if (irq & 8) {
>>          inb(0xA1);              /* DUMMY - (do we need this?) */
>>          outb(cached_A1,0xA1);
>> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
>> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>>      } else {
>>          inb(0x21);              /* DUMMY - (do we need this?) */
>>          outb(cached_21,0x21);
>> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
>> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>>      }
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>      return;
>> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>>      /*
>>       * this is the slow path - should happen rarely.
>>       */
>> -    if (i8259A_irq_real(desc->irq))
>> +    if (i8259A_irq_real(irq))
>>          /*
>>           * oops, the IRQ _is_ in service according to the
>>           * 8259A - not spurious, go handle it.
>> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>>           * lets ACK and report it. [once per IRQ]
>>           */
>>          if (!(spurious_irq_mask & irqmask)) {
>> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
>> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>>              spurious_irq_mask |= irqmask;
>>          }
>>          /*
>> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>>                                 is to be investigated) */
>>  
>>      if (auto_eoi)
>> +    {
>>          /*
>>           * in AEOI mode we just have to mask the interrupt
>>           * when acking.
>>           */
>>          i8259A_irq_type.ack = disable_8259A_irq;
>> +        bogus_8259A_irq = _disable_8259A_irq;
>> +    }
>>      else
>> +    {
>>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
>> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
>> +    }
>>  
>>      udelay(100);            /* wait for 8259A to initialize */
>>  
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
>>          if (direct_apic_vector[vector] != NULL) {
>>              (*direct_apic_vector[vector])(regs);
>>          } else {
>> -            ack_APIC_irq();
>> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
>> -                   __func__, smp_processor_id(), vector, irq);
>> +            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR 
>> )
>> +                ack_APIC_irq();
>> +            else
>> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
>> +            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
>> +                   smp_processor_id(), vector, irq);
>>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>>          }
>>          goto out_no_unlock;
>> --- a/xen/include/asm-x86/irq.h
>> +++ b/xen/include/asm-x86/irq.h
>> @@ -104,6 +104,7 @@ void mask_8259A(void);
>>  void unmask_8259A(void);
>>  void init_8259A(int aeoi);
>>  void make_8259A_irq(unsigned int irq);
>> +extern void (*bogus_8259A_irq)(unsigned int irq);
>>  int i8259A_suspend(void);
>>  int i8259A_resume(void);
>>  
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:34:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:34:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvPb-00045k-Om; Mon, 14 May 2012 13:34:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1STvPa-00045e-89
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:34:06 +0000
Received: from [85.158.143.35:65312] by server-1.bemta-4.messagelabs.com id
	8D/60-20925-DC901BF4; Mon, 14 May 2012 13:34:05 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337002442!15399322!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24893 invoked from network); 14 May 2012 13:34:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:34:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="194687575"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:33:46 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 14 May 2012
	09:33:45 -0400
Message-ID: <4FB109B8.7030208@citrix.com>
Date: Mon, 14 May 2012 14:33:44 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>, Jan Beulich <JBeulich@suse.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
In-Reply-To: <4FB11CFE020000780008375B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 13:55, Jan Beulich wrote:
>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>> number of times (one report being
>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>> apparently always with a vector within the legacy range. Obviously,
>> besides legacy vectors not normally expected to be in use on systems
>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>
>> This wasn't being prevented so far: Since we don't have a one-to-one
>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>> associated with them (one used in either 8259A, the other used in one
>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>> really being handled via an IO-APIC.
>>
>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>> particular interrupts, restores it.
>>
>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>> too: Interrupts coming in via legacy vectors obviously didn't get
>> reported through the IO-APIC/LAPIC pair (as we never program these
>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>> have the 8259A driver take care of the bogus interrupt (as outside of
>> automatice EOI mode it may need an EOI to be issued for it to prevent
>> other interrupts that may legitimately go through the 8259As from
>> getting masked out).
> Note that this patch does not make any attempt at dealing with the
> underlying issue that causes the bogus interrupt(s) to show up. If
> my analysis is right, we shouldn't see crashes anymore, but instead
> observe instances of spurious interrupts on legacy vectors. It would
> certainly be nice to have an actual proof of this (albeit I realize that
> this isn't readily reproducible), in order to then - if indeed behaving
> as expected - add debugging code to identify whether such interrupts
> in fact get raised by one of the 8259A-s (particularly printing the
> cached and physical mask register values), or whether they get
> introduced into the system by yet another obscure mechanism.
>
> One particular thing I'm suspicious about are the numerous aliases
> to the two (each) 8259A I/O ports that various chipsets have: What
> if some component in Dom0 accesses one of the alias ports in order
> to do something specific to a non-standard platform (say, probe for
> some special hardware interface), not realizing that it actually plays
> with PIC state? Linux under the same conditions wouldn't severely
> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
> merely observe an extra interrupt.
>
> Jan

On the whole, the patch looks sensible, but what happens if the spurious
interrupt is coming in through the Local APIC ?  If this is the case,
then we still need to ACK it, even if it is a bogus PIC interrupt.

Perhaps in irq.c, the changes should check whether the observed vector
has been raised in the LAPIC and ack it, and then decide whether it is
bogus or not.

Might it also be sensible to remove dom0's permissions to use the PIC
ports, in case it is some weird issue like that?

~Andrew

>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/i8259.c
>> +++ b/xen/arch/x86/i8259.c
>> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>>  
>>  static DEFINE_SPINLOCK(i8259A_lock);
>>  
>> -static void mask_and_ack_8259A_irq(struct irq_desc *);
>> +static void _mask_and_ack_8259A_irq(unsigned int irq);
>> +
>> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
>> +    _mask_and_ack_8259A_irq;
>> +
>> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _mask_and_ack_8259A_irq(desc->irq);
>> +}
>>  
>>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>>  {
>> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>>   */
>>  unsigned int __read_mostly io_apic_irqs;
>>  
>> -void disable_8259A_irq(struct irq_desc *desc)
>> +static void _disable_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int mask = 1 << desc->irq;
>> +    unsigned int mask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask |= mask;
>> -    if (desc->irq & 8)
>> +    if (irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>>          outb(cached_21,0x21);
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>  }
>>  
>> +void disable_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _disable_8259A_irq(desc->irq);
>> +}
>> +
>>  void enable_8259A_irq(struct irq_desc *desc)
>>  {
>>      unsigned int mask = ~(1 << desc->irq);
>> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask &= mask;
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>>      if (desc->irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>>   * first, _then_ send the EOI, and the order of EOI
>>   * to the two 8259s is important!
>>   */
>> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int irqmask = 1 << desc->irq;
>> +    unsigned int irqmask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>>      cached_irq_mask |= irqmask;
>>  
>>   handle_real_irq:
>> -    if (desc->irq & 8) {
>> +    if (irq & 8) {
>>          inb(0xA1);              /* DUMMY - (do we need this?) */
>>          outb(cached_A1,0xA1);
>> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
>> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>>      } else {
>>          inb(0x21);              /* DUMMY - (do we need this?) */
>>          outb(cached_21,0x21);
>> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
>> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>>      }
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>      return;
>> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>>      /*
>>       * this is the slow path - should happen rarely.
>>       */
>> -    if (i8259A_irq_real(desc->irq))
>> +    if (i8259A_irq_real(irq))
>>          /*
>>           * oops, the IRQ _is_ in service according to the
>>           * 8259A - not spurious, go handle it.
>> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>>           * lets ACK and report it. [once per IRQ]
>>           */
>>          if (!(spurious_irq_mask & irqmask)) {
>> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
>> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>>              spurious_irq_mask |= irqmask;
>>          }
>>          /*
>> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>>                                 is to be investigated) */
>>  
>>      if (auto_eoi)
>> +    {
>>          /*
>>           * in AEOI mode we just have to mask the interrupt
>>           * when acking.
>>           */
>>          i8259A_irq_type.ack = disable_8259A_irq;
>> +        bogus_8259A_irq = _disable_8259A_irq;
>> +    }
>>      else
>> +    {
>>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
>> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
>> +    }
>>  
>>      udelay(100);            /* wait for 8259A to initialize */
>>  
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
>>          if (direct_apic_vector[vector] != NULL) {
>>              (*direct_apic_vector[vector])(regs);
>>          } else {
>> -            ack_APIC_irq();
>> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
>> -                   __func__, smp_processor_id(), vector, irq);
>> +            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR 
>> )
>> +                ack_APIC_irq();
>> +            else
>> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
>> +            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
>> +                   smp_processor_id(), vector, irq);
>>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>>          }
>>          goto out_no_unlock;
>> --- a/xen/include/asm-x86/irq.h
>> +++ b/xen/include/asm-x86/irq.h
>> @@ -104,6 +104,7 @@ void mask_8259A(void);
>>  void unmask_8259A(void);
>>  void init_8259A(int aeoi);
>>  void make_8259A_irq(unsigned int irq);
>> +extern void (*bogus_8259A_irq)(unsigned int irq);
>>  int i8259A_suspend(void);
>>  int i8259A_resume(void);
>>  
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:34:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvQ7-00047r-5b; Mon, 14 May 2012 13:34:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STvQ5-00047f-O6
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:34:37 +0000
Received: from [85.158.143.35:10445] by server-3.bemta-4.messagelabs.com id
	3A/90-05853-DE901BF4; Mon, 14 May 2012 13:34:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337002474!12791155!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6031 invoked from network); 14 May 2012 13:34:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:34:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="25153196"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:34:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:34:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STvLi-000389-3V;
	Mon, 14 May 2012 14:30:06 +0100
Message-ID: <4FB108DC.3040804@citrix.com>
Date: Mon, 14 May 2012 14:30:04 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
	<1336999913.31817.69.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336999913.31817.69.camel@zakaz.uk.xensource.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SWFuIENhbXBiZWxsIGVzY3JpYmnDszoKPiBPbiBNb24sIDIwMTItMDUtMTQgYXQgMTM6MzggKzAx
MDAsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToKPj4+PiArIyBIYWNrIHRvIHByZXZlbnQgdGhlIGV4
ZWN1dGlvbiBvZiBob3RwbHVnIHNjcmlwdHMgZnJvbSB1ZGV2IGlmIHRoZSBkb21haW4KPj4+PiAr
IyBoYXMgYmVlbiBsYXVuY2hlZCBmcm9tIGxpYnhsCj4+Pj4gK2lmIFsgLW4gIiR7VURFVl9DQUxM
fSIgXSYmICAgXAo+Pj4+ICsgICBgeGVuc3RvcmUtcmVhZCAibGlieGwvZGlzYWJsZV91ZGV2Ij4v
ZGV2L251bGwgMj4mMWA7IHRoZW4KPj4+IFRoaXMgcmVhZHMgc29tZXRoaW5nIGZyb20geGVuc3Rv
cmUgYW5kIGV4ZWN1dGVzIGl0IGFzIGEgc2hlbGwgY29tbWFuZCEKPj4+IChBbHNvIGl0IHdpbGwg
Z28gd3JvbmcgaWYgdGhlIHZhbHVlIHJlYWQgaXMgZW1wdHkgZWcgYmVjYXVlIHRoZSBrZXkKPj4+
IGRvZXNuJ3QgZXhpc3QuKQo+PiBBcmUgeW91IHN1cmUgYWJvdXQgdGhpcz8gVGhpcyBjb21tYW5k
IG5ldmVyIHJldHVybnMgYW55dGhpbmcsIGJlY2F1c2UgaXQKPj4gaXMgcmVkaXJlY3RlZCB0byAv
ZGV2L251bGwsIHNvIHdlIG9ubHkgZXZhbHVhdGUgaWYgaXQgaXMgYWJsZSB0byByZWFkCj4+IGxp
YnhsL2Rpc2FibGVfdWRldi4gSWYgbGlieGwvZGlzYWJsZV91ZGV2IGV4aXN0cyB0aGlzIHRlc3Qg
aXMgcGFzc2VkLgo+Cj4gWW91IGRvbid0IG5lZWQgdGhlIGJhY2t0aWNrcyBmb3IgdGhhdCB0aG91
Z2guIFdpdGggdGhlIGJhY2t0aWNrcyBpdCB3aWxsCj4gZXhlY3V0ZSB3aGF0ZXZlciBoYXBwZW5z
IHRvIGJlIGluIHRoZSBrZXkgLS0gSSBndWVzcyBpdCdzIHNvbWV0aGluZwo+IHF1aXRlIGJlbmln
biByaWdodCBub3cgb3IgeW91J2QgaGF2ZSBzZWVuIGVycm9ycy4KClllcywgaXQncyBub3QgdGhl
IGZpcnN0IHRpbWUgdGhhdCBJJ3ZlIG1hZGUgdGhhdCBtaXN0YWtlLiBTaW5jZSBpdCBuZXZlciAK
cmV0dXJucyBhbnl0aGluZyBJIGd1ZXNzIHRoYXQncyB3aHkgSSBuZXZlciBzYXcgYW55IGVycm9y
cy4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54
ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Mon May 14 13:34:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvQ7-00047r-5b; Mon, 14 May 2012 13:34:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STvQ5-00047f-O6
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:34:37 +0000
Received: from [85.158.143.35:10445] by server-3.bemta-4.messagelabs.com id
	3A/90-05853-DE901BF4; Mon, 14 May 2012 13:34:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337002474!12791155!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6031 invoked from network); 14 May 2012 13:34:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:34:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="25153196"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 09:34:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 09:34:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STvLi-000389-3V;
	Mon, 14 May 2012 14:30:06 +0100
Message-ID: <4FB108DC.3040804@citrix.com>
Date: Mon, 14 May 2012 14:30:04 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
	<1336999913.31817.69.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336999913.31817.69.camel@zakaz.uk.xensource.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SWFuIENhbXBiZWxsIGVzY3JpYmnDszoKPiBPbiBNb24sIDIwMTItMDUtMTQgYXQgMTM6MzggKzAx
MDAsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToKPj4+PiArIyBIYWNrIHRvIHByZXZlbnQgdGhlIGV4
ZWN1dGlvbiBvZiBob3RwbHVnIHNjcmlwdHMgZnJvbSB1ZGV2IGlmIHRoZSBkb21haW4KPj4+PiAr
IyBoYXMgYmVlbiBsYXVuY2hlZCBmcm9tIGxpYnhsCj4+Pj4gK2lmIFsgLW4gIiR7VURFVl9DQUxM
fSIgXSYmICAgXAo+Pj4+ICsgICBgeGVuc3RvcmUtcmVhZCAibGlieGwvZGlzYWJsZV91ZGV2Ij4v
ZGV2L251bGwgMj4mMWA7IHRoZW4KPj4+IFRoaXMgcmVhZHMgc29tZXRoaW5nIGZyb20geGVuc3Rv
cmUgYW5kIGV4ZWN1dGVzIGl0IGFzIGEgc2hlbGwgY29tbWFuZCEKPj4+IChBbHNvIGl0IHdpbGwg
Z28gd3JvbmcgaWYgdGhlIHZhbHVlIHJlYWQgaXMgZW1wdHkgZWcgYmVjYXVlIHRoZSBrZXkKPj4+
IGRvZXNuJ3QgZXhpc3QuKQo+PiBBcmUgeW91IHN1cmUgYWJvdXQgdGhpcz8gVGhpcyBjb21tYW5k
IG5ldmVyIHJldHVybnMgYW55dGhpbmcsIGJlY2F1c2UgaXQKPj4gaXMgcmVkaXJlY3RlZCB0byAv
ZGV2L251bGwsIHNvIHdlIG9ubHkgZXZhbHVhdGUgaWYgaXQgaXMgYWJsZSB0byByZWFkCj4+IGxp
YnhsL2Rpc2FibGVfdWRldi4gSWYgbGlieGwvZGlzYWJsZV91ZGV2IGV4aXN0cyB0aGlzIHRlc3Qg
aXMgcGFzc2VkLgo+Cj4gWW91IGRvbid0IG5lZWQgdGhlIGJhY2t0aWNrcyBmb3IgdGhhdCB0aG91
Z2guIFdpdGggdGhlIGJhY2t0aWNrcyBpdCB3aWxsCj4gZXhlY3V0ZSB3aGF0ZXZlciBoYXBwZW5z
IHRvIGJlIGluIHRoZSBrZXkgLS0gSSBndWVzcyBpdCdzIHNvbWV0aGluZwo+IHF1aXRlIGJlbmln
biByaWdodCBub3cgb3IgeW91J2QgaGF2ZSBzZWVuIGVycm9ycy4KClllcywgaXQncyBub3QgdGhl
IGZpcnN0IHRpbWUgdGhhdCBJJ3ZlIG1hZGUgdGhhdCBtaXN0YWtlLiBTaW5jZSBpdCBuZXZlciAK
cmV0dXJucyBhbnl0aGluZyBJIGd1ZXNzIHRoYXQncyB3aHkgSSBuZXZlciBzYXcgYW55IGVycm9y
cy4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54
ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Mon May 14 13:48:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvdD-0004ON-HH; Mon, 14 May 2012 13:48:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STvdC-0004OI-85
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:48:10 +0000
Received: from [85.158.143.35:52580] by server-3.bemta-4.messagelabs.com id
	69/DC-05853-91D01BF4; Mon, 14 May 2012 13:48:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337003288!15303491!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15620 invoked from network); 14 May 2012 13:48:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:48:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459298"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:48:06 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 14:48:06 +0100
Date: Mon, 14 May 2012 14:48:01 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336143599.7535.17.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141425010.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Campbell wrote:
> On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
> > 
> > Changes in v5:
> > - remove domid paramter to libxl__alloc_vdev (assume
> >   LIBXL_TOOLSTACK_DOMID);
> > - remove scaling limit from libxl__alloc_vdev.
> > 
> > Changes in v4:
> > - rename libxl__devid_to_vdev to libxl__devid_to_localdev;
> > - introduce upper bound for encode_disk_name;
> > - better error handling;
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > ---
> >  tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
> >  tools/libxl/libxl_internal.h |    4 +++
> >  tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
> >  tools/libxl/libxl_netbsd.c   |    6 +++++
> >  4 files changed, 86 insertions(+), 0 deletions(-)
> > 
> > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > index bd5ebb3..7a1e017 100644
> > --- a/tools/libxl/libxl_internal.c
> > +++ b/tools/libxl/libxl_internal.c
> > @@ -480,6 +480,37 @@ out:
> >      return rc;
> >  }
> >  
> > +/* libxl__alloc_vdev only works on the local domain, that is the domain
> > + * where the toolstack is running */
> > +static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
> > +        xs_transaction_t t)
> > +{
> > +    int devid = 0, disk = 0, part = 0;
> > +    char *vdev = NULL;
> > +    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
> > +
> > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> 
> If you specify the default blkdev_start in xl as d0 instead of xvda
> doesn't at least this bit magically become portable to BSD etc too?

It cannot work on BSD for other reason, see below.
In any case blkdev_start can be anything that
libxl__device_disk_dev_number can parse, so d0p0 works too.


> Or couldn't it actually be an int and save you parsing at all?

Yes, it could. But isn't "xvda" much more intuitive?


> > +    if (part != 0) {
> > +        LOG(ERROR, "blkdev_start is invalid");
> > +        return NULL;
> > +    }
> > +
> > +    do {
> > +        vdev = GCSPRINTF("d%dp0", disk);
> > +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> 
> libxl__device_disk_dev_number does the right thing with "d<N>" (i.e.
> without the hardcoded "p0"), I think.

In my tests it doesn't work properly using just d<N>.


> I'd be tempted to inline the GCSPRINTF in the arg and do away with vdev
> since you don't use it again.

OK 

> > diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> > index 9e0ed6d..dbf5f71 100644
> > --- a/tools/libxl/libxl_netbsd.c
> > +++ b/tools/libxl/libxl_netbsd.c
> 
> Aha, here's where we need a BSD contribution. CC someone?

There is no working gntdev or QDISK on BSD at the moment.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:48:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvdD-0004ON-HH; Mon, 14 May 2012 13:48:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STvdC-0004OI-85
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:48:10 +0000
Received: from [85.158.143.35:52580] by server-3.bemta-4.messagelabs.com id
	69/DC-05853-91D01BF4; Mon, 14 May 2012 13:48:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337003288!15303491!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15620 invoked from network); 14 May 2012 13:48:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:48:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459298"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:48:06 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 14:48:06 +0100
Date: Mon, 14 May 2012 14:48:01 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336143599.7535.17.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141425010.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Campbell wrote:
> On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
> > 
> > Changes in v5:
> > - remove domid paramter to libxl__alloc_vdev (assume
> >   LIBXL_TOOLSTACK_DOMID);
> > - remove scaling limit from libxl__alloc_vdev.
> > 
> > Changes in v4:
> > - rename libxl__devid_to_vdev to libxl__devid_to_localdev;
> > - introduce upper bound for encode_disk_name;
> > - better error handling;
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > ---
> >  tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
> >  tools/libxl/libxl_internal.h |    4 +++
> >  tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
> >  tools/libxl/libxl_netbsd.c   |    6 +++++
> >  4 files changed, 86 insertions(+), 0 deletions(-)
> > 
> > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > index bd5ebb3..7a1e017 100644
> > --- a/tools/libxl/libxl_internal.c
> > +++ b/tools/libxl/libxl_internal.c
> > @@ -480,6 +480,37 @@ out:
> >      return rc;
> >  }
> >  
> > +/* libxl__alloc_vdev only works on the local domain, that is the domain
> > + * where the toolstack is running */
> > +static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
> > +        xs_transaction_t t)
> > +{
> > +    int devid = 0, disk = 0, part = 0;
> > +    char *vdev = NULL;
> > +    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
> > +
> > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> 
> If you specify the default blkdev_start in xl as d0 instead of xvda
> doesn't at least this bit magically become portable to BSD etc too?

It cannot work on BSD for other reason, see below.
In any case blkdev_start can be anything that
libxl__device_disk_dev_number can parse, so d0p0 works too.


> Or couldn't it actually be an int and save you parsing at all?

Yes, it could. But isn't "xvda" much more intuitive?


> > +    if (part != 0) {
> > +        LOG(ERROR, "blkdev_start is invalid");
> > +        return NULL;
> > +    }
> > +
> > +    do {
> > +        vdev = GCSPRINTF("d%dp0", disk);
> > +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> 
> libxl__device_disk_dev_number does the right thing with "d<N>" (i.e.
> without the hardcoded "p0"), I think.

In my tests it doesn't work properly using just d<N>.


> I'd be tempted to inline the GCSPRINTF in the arg and do away with vdev
> since you don't use it again.

OK 

> > diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> > index 9e0ed6d..dbf5f71 100644
> > --- a/tools/libxl/libxl_netbsd.c
> > +++ b/tools/libxl/libxl_netbsd.c
> 
> Aha, here's where we need a BSD contribution. CC someone?

There is no working gntdev or QDISK on BSD at the moment.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:52:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:52:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvgg-0004WT-AI; Mon, 14 May 2012 13:51:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STvge-0004WK-Vr
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:51:45 +0000
Received: from [193.109.254.147:34465] by server-6.bemta-14.messagelabs.com id
	92/30-04960-0FD01BF4; Mon, 14 May 2012 13:51:44 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337003499!2346663!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 630 invoked from network); 14 May 2012 13:51:39 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-11.tower-27.messagelabs.com with SMTP;
	14 May 2012 13:51:39 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77853759; Mon, 14 May 2012 15:51:38 +0200
Message-ID: <1337003493.28326.15.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 15:51:33 +0200
In-Reply-To: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3537497986806994178=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3537497986806994178==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-JYgA/BaDF1HsY5g4K0Sl"


--=-JYgA/BaDF1HsY5g4K0Sl
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 11:26 +0100, Ian Campbell wrote:
>
>       * xl compatibility with xm:
>
 * `cpus=3D[2,3]` to select specific mapping vcpu0-->pcpu2, vcpu1-->pcpu3
    as xm does. (Dario Faggioli, patches posted and reviewed, will=20
    repost)



Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-JYgA/BaDF1HsY5g4K0Sl
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xDeUACgkQk4XaBE3IOsRQqwCglFbW3NMo/elvUFWx2Z2mRMRs
pe8An1DJplL1cbUwatdbddfKULFhAHDj
=CQrZ
-----END PGP SIGNATURE-----

--=-JYgA/BaDF1HsY5g4K0Sl--



--===============3537497986806994178==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3537497986806994178==--



From xen-devel-bounces@lists.xen.org Mon May 14 13:52:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:52:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvgg-0004WT-AI; Mon, 14 May 2012 13:51:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STvge-0004WK-Vr
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:51:45 +0000
Received: from [193.109.254.147:34465] by server-6.bemta-14.messagelabs.com id
	92/30-04960-0FD01BF4; Mon, 14 May 2012 13:51:44 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337003499!2346663!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 630 invoked from network); 14 May 2012 13:51:39 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-11.tower-27.messagelabs.com with SMTP;
	14 May 2012 13:51:39 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77853759; Mon, 14 May 2012 15:51:38 +0200
Message-ID: <1337003493.28326.15.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 15:51:33 +0200
In-Reply-To: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3537497986806994178=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3537497986806994178==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-JYgA/BaDF1HsY5g4K0Sl"


--=-JYgA/BaDF1HsY5g4K0Sl
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 11:26 +0100, Ian Campbell wrote:
>
>       * xl compatibility with xm:
>
 * `cpus=3D[2,3]` to select specific mapping vcpu0-->pcpu2, vcpu1-->pcpu3
    as xm does. (Dario Faggioli, patches posted and reviewed, will=20
    repost)



Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-JYgA/BaDF1HsY5g4K0Sl
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xDeUACgkQk4XaBE3IOsRQqwCglFbW3NMo/elvUFWx2Z2mRMRs
pe8An1DJplL1cbUwatdbddfKULFhAHDj
=CQrZ
-----END PGP SIGNATURE-----

--=-JYgA/BaDF1HsY5g4K0Sl--



--===============3537497986806994178==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3537497986806994178==--



From xen-devel-bounces@lists.xen.org Mon May 14 13:56:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:56:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvlG-0004gd-20; Mon, 14 May 2012 13:56:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STvlF-0004gY-BM
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:56:29 +0000
Received: from [85.158.143.99:10886] by server-2.bemta-4.messagelabs.com id
	D6/4B-17550-C0F01BF4; Mon, 14 May 2012 13:56:28 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337003787!27901261!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12966 invoked from network); 14 May 2012 13:56:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:56:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459514"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:56:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 14:56:26 +0100
Message-ID: <1337003785.31817.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 14 May 2012 14:56:25 +0100
In-Reply-To: <alpine.DEB.2.00.1205141425010.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205141425010.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 14:48 +0100, Stefano Stabellini wrote:
> On Fri, 4 May 2012, Ian Campbell wrote:
> > On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > > domain passed as argument.
> > > 
> > > Changes in v5:
> > > - remove domid paramter to libxl__alloc_vdev (assume
> > >   LIBXL_TOOLSTACK_DOMID);
> > > - remove scaling limit from libxl__alloc_vdev.
> > > 
> > > Changes in v4:
> > > - rename libxl__devid_to_vdev to libxl__devid_to_localdev;
> > > - introduce upper bound for encode_disk_name;
> > > - better error handling;
> > > 
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > > ---
> > >  tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
> > >  tools/libxl/libxl_internal.h |    4 +++
> > >  tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
> > >  tools/libxl/libxl_netbsd.c   |    6 +++++
> > >  4 files changed, 86 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > > index bd5ebb3..7a1e017 100644
> > > --- a/tools/libxl/libxl_internal.c
> > > +++ b/tools/libxl/libxl_internal.c
> > > @@ -480,6 +480,37 @@ out:
> > >      return rc;
> > >  }
> > >  
> > > +/* libxl__alloc_vdev only works on the local domain, that is the domain
> > > + * where the toolstack is running */
> > > +static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
> > > +        xs_transaction_t t)
> > > +{
> > > +    int devid = 0, disk = 0, part = 0;
> > > +    char *vdev = NULL;
> > > +    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
> > > +
> > > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> > 
> > If you specify the default blkdev_start in xl as d0 instead of xvda
> > doesn't at least this bit magically become portable to BSD etc too?
> 
> It cannot work on BSD for other reason, see below.
> In any case blkdev_start can be anything that
> libxl__device_disk_dev_number can parse, so d0p0 works too.
> 
> 
> > Or couldn't it actually be an int and save you parsing at all?
> 
> Yes, it could. But isn't "xvda" much more intuitive?

To Linux users, yes. But on BSD the virt devices have a different naming
scheme, so xvda wouldn't necessarily make much sense to them.

However I agree with IanJ's comment that letting the user use a name is
friendlier than just a bare number.

Anyway, lets just leave it as "xvda", it's not a huge deal.

> > > +    if (part != 0) {
> > > +        LOG(ERROR, "blkdev_start is invalid");
> > > +        return NULL;
> > > +    }
> > > +
> > > +    do {
> > > +        vdev = GCSPRINTF("d%dp0", disk);
> > > +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> > 
> > libxl__device_disk_dev_number does the right thing with "d<N>" (i.e.
> > without the hardcoded "p0"), I think.
> 
> In my tests it doesn't work properly using just d<N>.

I misread it, the sscanf in libxl__device_disk_dev_number needs to match
at least twice (so "dN" and "pM"). In theory that could be changed but
lets not do that now.

> > > diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> > > index 9e0ed6d..dbf5f71 100644
> > > --- a/tools/libxl/libxl_netbsd.c
> > > +++ b/tools/libxl/libxl_netbsd.c
> > 
> > Aha, here's where we need a BSD contribution. CC someone?
> 
> There is no working gntdev or QDISK on BSD at the moment.

Oh, right, that does make it somewhat pointless...

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:56:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:56:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvlG-0004gd-20; Mon, 14 May 2012 13:56:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STvlF-0004gY-BM
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 13:56:29 +0000
Received: from [85.158.143.99:10886] by server-2.bemta-4.messagelabs.com id
	D6/4B-17550-C0F01BF4; Mon, 14 May 2012 13:56:28 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337003787!27901261!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12966 invoked from network); 14 May 2012 13:56:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:56:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459514"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:56:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 14:56:26 +0100
Message-ID: <1337003785.31817.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 14 May 2012 14:56:25 +0100
In-Reply-To: <alpine.DEB.2.00.1205141425010.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336143599.7535.17.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205141425010.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 14:48 +0100, Stefano Stabellini wrote:
> On Fri, 4 May 2012, Ian Campbell wrote:
> > On Fri, 2012-05-04 at 12:13 +0100, Stefano Stabellini wrote:
> > > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > > domain passed as argument.
> > > 
> > > Changes in v5:
> > > - remove domid paramter to libxl__alloc_vdev (assume
> > >   LIBXL_TOOLSTACK_DOMID);
> > > - remove scaling limit from libxl__alloc_vdev.
> > > 
> > > Changes in v4:
> > > - rename libxl__devid_to_vdev to libxl__devid_to_localdev;
> > > - introduce upper bound for encode_disk_name;
> > > - better error handling;
> > > 
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > > ---
> > >  tools/libxl/libxl_internal.c |   31 ++++++++++++++++++++++++++++
> > >  tools/libxl/libxl_internal.h |    4 +++
> > >  tools/libxl/libxl_linux.c    |   45 ++++++++++++++++++++++++++++++++++++++++++
> > >  tools/libxl/libxl_netbsd.c   |    6 +++++
> > >  4 files changed, 86 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > > index bd5ebb3..7a1e017 100644
> > > --- a/tools/libxl/libxl_internal.c
> > > +++ b/tools/libxl/libxl_internal.c
> > > @@ -480,6 +480,37 @@ out:
> > >      return rc;
> > >  }
> > >  
> > > +/* libxl__alloc_vdev only works on the local domain, that is the domain
> > > + * where the toolstack is running */
> > > +static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
> > > +        xs_transaction_t t)
> > > +{
> > > +    int devid = 0, disk = 0, part = 0;
> > > +    char *vdev = NULL;
> > > +    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
> > > +
> > > +    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
> > 
> > If you specify the default blkdev_start in xl as d0 instead of xvda
> > doesn't at least this bit magically become portable to BSD etc too?
> 
> It cannot work on BSD for other reason, see below.
> In any case blkdev_start can be anything that
> libxl__device_disk_dev_number can parse, so d0p0 works too.
> 
> 
> > Or couldn't it actually be an int and save you parsing at all?
> 
> Yes, it could. But isn't "xvda" much more intuitive?

To Linux users, yes. But on BSD the virt devices have a different naming
scheme, so xvda wouldn't necessarily make much sense to them.

However I agree with IanJ's comment that letting the user use a name is
friendlier than just a bare number.

Anyway, lets just leave it as "xvda", it's not a huge deal.

> > > +    if (part != 0) {
> > > +        LOG(ERROR, "blkdev_start is invalid");
> > > +        return NULL;
> > > +    }
> > > +
> > > +    do {
> > > +        vdev = GCSPRINTF("d%dp0", disk);
> > > +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> > 
> > libxl__device_disk_dev_number does the right thing with "d<N>" (i.e.
> > without the hardcoded "p0"), I think.
> 
> In my tests it doesn't work properly using just d<N>.

I misread it, the sscanf in libxl__device_disk_dev_number needs to match
at least twice (so "dN" and "pM"). In theory that could be changed but
lets not do that now.

> > > diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> > > index 9e0ed6d..dbf5f71 100644
> > > --- a/tools/libxl/libxl_netbsd.c
> > > +++ b/tools/libxl/libxl_netbsd.c
> > 
> > Aha, here's where we need a BSD contribution. CC someone?
> 
> There is no working gntdev or QDISK on BSD at the moment.

Oh, right, that does make it somewhat pointless...

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:56:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:56:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvlI-0004gs-E9; Mon, 14 May 2012 13:56:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STvlG-0004gh-JX
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:56:30 +0000
Received: from [193.109.254.147:23415] by server-12.bemta-14.messagelabs.com
	id 12/86-05898-D0F01BF4; Mon, 14 May 2012 13:56:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337003769!9153483!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29953 invoked from network); 14 May 2012 13:56:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:56:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459506"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:56:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 14:56:04 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STvkq-0004hG-23; Mon, 14 May 2012 13:56:04 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STvkq-0004OB-0r;
	Mon, 14 May 2012 14:56:04 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.3827.999059.337500@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 14:56:03 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336988060.31817.51.camel@zakaz.uk.xensource.com>
References: <0953e429ec0a517b247f.1336987609@Solace>
	<1336988060.31817.51.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v2] xl: introduce specific VCPU to PCPU mapping in config file"):
> On Mon, 2012-05-14 at 10:26 +0100, Dario Faggioli wrote:
> > +=item "0-3,5,^1"
> > +
> > +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> > +
> > +=item [2, 3]
> 
> Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
> it be confusing the make those distinct, represent the current xl
> behaviour and xm behaviour respectively?)

The current generic config parsing arrangements do not allow
config-item-specific code to distinguish between `"2"' and `2' in the
config file.  This would be possible in principle but let's not do
this at this stage of the release.

I guess the docs should tell you to use numbers.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 13:56:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 13:56:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvlI-0004gs-E9; Mon, 14 May 2012 13:56:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STvlG-0004gh-JX
	for xen-devel@lists.xen.org; Mon, 14 May 2012 13:56:30 +0000
Received: from [193.109.254.147:23415] by server-12.bemta-14.messagelabs.com
	id 12/86-05898-D0F01BF4; Mon, 14 May 2012 13:56:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337003769!9153483!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29953 invoked from network); 14 May 2012 13:56:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 13:56:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459506"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:56:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 14:56:04 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STvkq-0004hG-23; Mon, 14 May 2012 13:56:04 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STvkq-0004OB-0r;
	Mon, 14 May 2012 14:56:04 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.3827.999059.337500@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 14:56:03 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336988060.31817.51.camel@zakaz.uk.xensource.com>
References: <0953e429ec0a517b247f.1336987609@Solace>
	<1336988060.31817.51.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v2] xl: introduce specific VCPU to PCPU mapping in config file"):
> On Mon, 2012-05-14 at 10:26 +0100, Dario Faggioli wrote:
> > +=item "0-3,5,^1"
> > +
> > +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> > +
> > +=item [2, 3]
> 
> Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
> it be confusing the make those distinct, represent the current xl
> behaviour and xm behaviour respectively?)

The current generic config parsing arrangements do not allow
config-item-specific code to distinguish between `"2"' and `2' in the
config file.  This would be possible in principle but let's not do
this at this stage of the release.

I guess the docs should tell you to use numbers.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:08:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:08:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvwW-00055W-Ln; Mon, 14 May 2012 14:08:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STvwV-00055R-3D
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:08:07 +0000
Received: from [85.158.143.99:41829] by server-1.bemta-4.messagelabs.com id
	01/64-20925-6C111BF4; Mon, 14 May 2012 14:08:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337004484!16720475!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8449 invoked from network); 14 May 2012 14:08:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:08:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:08:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:08:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STvwR-0004l6-3Z; Mon, 14 May 2012 14:08:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STvwR-0004P9-2Y;
	Mon, 14 May 2012 15:08:03 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.4547.64923.505180@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:08:03 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB0D5A3.9000304@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-2-git-send-email-roger.pau@citrix.com>
	<20397.16177.826755.879002@mariner.uk.xensource.com>
	<4FB0D5A3.9000304@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and
 library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and library dir based on prefix"):
> According to man ld (from Debian):
> 
> "All -L options apply to all -l options, regardless of the order in 
> which the options appear."

I think this is a special feature of GNU binutils.  (And a surprising
one to me at least!)

> So it should be ok to specify -L after -l.

No.  I asked a friend who had access to (for example) the Solaris ld
manpage and got this quote:

    -L path [...] This option is useful only if the option 
    precedes the -l options to which the -L option applies.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:08:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:08:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STvwW-00055W-Ln; Mon, 14 May 2012 14:08:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STvwV-00055R-3D
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:08:07 +0000
Received: from [85.158.143.99:41829] by server-1.bemta-4.messagelabs.com id
	01/64-20925-6C111BF4; Mon, 14 May 2012 14:08:06 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337004484!16720475!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8449 invoked from network); 14 May 2012 14:08:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:08:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12459935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:08:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:08:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STvwR-0004l6-3Z; Mon, 14 May 2012 14:08:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STvwR-0004P9-2Y;
	Mon, 14 May 2012 15:08:03 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.4547.64923.505180@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:08:03 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB0D5A3.9000304@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-2-git-send-email-roger.pau@citrix.com>
	<20397.16177.826755.879002@mariner.uk.xensource.com>
	<4FB0D5A3.9000304@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and
 library dir based on prefix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [Xen-devel] [PATCH 1/3] autoconf/python_dev: pass include and library dir based on prefix"):
> According to man ld (from Debian):
> 
> "All -L options apply to all -l options, regardless of the order in 
> which the options appear."

I think this is a special feature of GNU binutils.  (And a surprising
one to me at least!)

> So it should be ok to specify -L after -l.

No.  I asked a friend who had access to (for example) the Solaris ld
manpage and got this quote:

    -L path [...] This option is useful only if the option 
    precedes the -l options to which the -L option applies.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:12:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:12:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw0G-0005Cj-AZ; Mon, 14 May 2012 14:12:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STw0F-0005Cd-MJ
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:11:59 +0000
Received: from [85.158.138.51:33237] by server-10.bemta-3.messagelabs.com id
	6D/0D-29478-EA211BF4; Mon, 14 May 2012 14:11:58 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337004717!18998514!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4275 invoked from network); 14 May 2012 14:11:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:11:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460091"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:10:38 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:10:37 +0100
Date: Mon, 14 May 2012 15:10:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20388.1615.382752.914755@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1615.382752.914755@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
> ...
> > +    do {
> > +        vdev = GCSPRINTF("d%dp0", disk);
> > +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> > +        if (libxl__xs_read(gc, t,
> > +                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
> > +                        dompath, devid)) == NULL) {
> > +            if (errno == ENOENT)
> > +                return libxl__devid_to_localdev(gc, devid);
> > +            else
> > +                return NULL;
> > +        }
> > +        disk++;
> > +    } while (disk <= (1 << 20));
> 
> This should be "<", as disk==(1<<20) is too big.
> And the magic number 20 should not be repeated.
> 
> But it turns out that you don't need to do this check here at all
> because libxl__device_disk_dev_number will check this, correctly.
> 
> All you need to do is actually pay attention to its error return.

OK

> > +    return NULL;
> 
> All the NULL error exits should log an error surely.

The error log is in the next patch. Should I add a second log here?
Or maybe I should move the error log from the caller to the callee?


> > +/* same as in Linux */
> > +static char *encode_disk_name(char *ptr, unsigned int n)
> > +{
> > +    if (n >= 26)
> > +        ptr = encode_disk_name(ptr, n / 26 - 1);
> > +    *ptr = 'a' + n % 26;
> > +    return ptr + 1;
> > +}
> 
> This still makes it difficult to see that the buffer cannot be
> overrun.  I mentioned this in response to a previous posting of this
> code and IIRC you were going to do something about it, if only a
> comment explaining what the maximum buffer length is and why it's
> safe.

I am keen on keeping the code as is, because it is the same that is in
Linux (see comment above).
I'll add a comment.

> > +    strcpy(ret, "xvd");
> > +    ptr = encode_disk_name(ret + 3, offset);
> > +    if (minor % nr_parts == 0)
> > +        *ptr = 0;
> > +    else
> > +        snprintf(ptr, ret + 32 - ptr,
> > +                "%d", minor & (nr_parts - 1));
> 
> You do not handle snprintf buffer truncation sensibly here.  As it
> happens I think this overflow cannot happen but this deserves a
> comment at the very least, to explain the lack of error handling.

Same here, I am keen on keeping the code as is, because it is the same
that is in Linux.
I'll add a comment.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:12:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:12:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw0G-0005Cj-AZ; Mon, 14 May 2012 14:12:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STw0F-0005Cd-MJ
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:11:59 +0000
Received: from [85.158.138.51:33237] by server-10.bemta-3.messagelabs.com id
	6D/0D-29478-EA211BF4; Mon, 14 May 2012 14:11:58 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337004717!18998514!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4275 invoked from network); 14 May 2012 14:11:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:11:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460091"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:10:38 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:10:37 +0100
Date: Mon, 14 May 2012 15:10:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20388.1615.382752.914755@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1615.382752.914755@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
> ...
> > +    do {
> > +        vdev = GCSPRINTF("d%dp0", disk);
> > +        devid = libxl__device_disk_dev_number(vdev, NULL, NULL);
> > +        if (libxl__xs_read(gc, t,
> > +                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
> > +                        dompath, devid)) == NULL) {
> > +            if (errno == ENOENT)
> > +                return libxl__devid_to_localdev(gc, devid);
> > +            else
> > +                return NULL;
> > +        }
> > +        disk++;
> > +    } while (disk <= (1 << 20));
> 
> This should be "<", as disk==(1<<20) is too big.
> And the magic number 20 should not be repeated.
> 
> But it turns out that you don't need to do this check here at all
> because libxl__device_disk_dev_number will check this, correctly.
> 
> All you need to do is actually pay attention to its error return.

OK

> > +    return NULL;
> 
> All the NULL error exits should log an error surely.

The error log is in the next patch. Should I add a second log here?
Or maybe I should move the error log from the caller to the callee?


> > +/* same as in Linux */
> > +static char *encode_disk_name(char *ptr, unsigned int n)
> > +{
> > +    if (n >= 26)
> > +        ptr = encode_disk_name(ptr, n / 26 - 1);
> > +    *ptr = 'a' + n % 26;
> > +    return ptr + 1;
> > +}
> 
> This still makes it difficult to see that the buffer cannot be
> overrun.  I mentioned this in response to a previous posting of this
> code and IIRC you were going to do something about it, if only a
> comment explaining what the maximum buffer length is and why it's
> safe.

I am keen on keeping the code as is, because it is the same that is in
Linux (see comment above).
I'll add a comment.

> > +    strcpy(ret, "xvd");
> > +    ptr = encode_disk_name(ret + 3, offset);
> > +    if (minor % nr_parts == 0)
> > +        *ptr = 0;
> > +    else
> > +        snprintf(ptr, ret + 32 - ptr,
> > +                "%d", minor & (nr_parts - 1));
> 
> You do not handle snprintf buffer truncation sensibly here.  As it
> happens I think this overflow cannot happen but this deserves a
> comment at the very least, to explain the lack of error handling.

Same here, I am keen on keeping the code as is, because it is the same
that is in Linux.
I'll add a comment.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:13:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:13:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw1B-0005GO-PS; Mon, 14 May 2012 14:12:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STw1A-0005GC-JT
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:12:56 +0000
Received: from [85.158.143.99:4034] by server-2.bemta-4.messagelabs.com id
	D3/0F-17550-7E211BF4; Mon, 14 May 2012 14:12:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337004774!20899797!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20595 invoked from network); 14 May 2012 14:12:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:12:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460155"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:12:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:12:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STw16-0004mb-Ju; Mon, 14 May 2012 14:12:52 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STw16-0004Pw-J2;
	Mon, 14 May 2012 15:12:52 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.4836.571277.912615@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:12:52 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB0FCBE.1020802@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug=
 scripts from libxl for vbd"):
> Ian Jackson escribi=F3:
> > Wouldn't it be better to have an env var set by libxl to mean "_not_
> > called from udev?".  That would mean that if the udev rules weren't
> > updated for some reason it would all still work.  On many setups these
> > are config files which may require the user to merge changes, etc., so
> > this is a real concern.
> =

> Since the 4.2 release already implies updating udev rules (due to the =

> change from tap* to *emu), I think it's better to set the var on udev, =

> that way when udev is dropped we won't need to perform any change to libx=
l.

Ah.  (The change to libxl is not an essential one so we won't "need"
to make it, but OK.)

> >> +if [ -n "${UDEV_CALL}" ]&&  \
> >> +   `xenstore-read "libxl/disable_udev">/dev/null 2>&1`; then
> >
> > This reads something from xenstore and executes it as a shell command!
> > (Also it will go wrong if the value read is empty eg becaue the key
> > doesn't exist.)
> =

> Are you sure about this? This command never returns anything, because it =

> is redirected to /dev/null, so we only evaluate if it is able to read =

> libxl/disable_udev. If libxl/disable_udev exists this test is passed.

Uh, so it does.  Why are you using `` at all then ?  This is a very
odd construction.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:13:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:13:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw1B-0005GO-PS; Mon, 14 May 2012 14:12:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STw1A-0005GC-JT
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:12:56 +0000
Received: from [85.158.143.99:4034] by server-2.bemta-4.messagelabs.com id
	D3/0F-17550-7E211BF4; Mon, 14 May 2012 14:12:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337004774!20899797!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20595 invoked from network); 14 May 2012 14:12:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:12:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460155"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:12:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:12:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STw16-0004mb-Ju; Mon, 14 May 2012 14:12:52 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STw16-0004Pw-J2;
	Mon, 14 May 2012 15:12:52 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.4836.571277.912615@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:12:52 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB0FCBE.1020802@citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug=
 scripts from libxl for vbd"):
> Ian Jackson escribi=F3:
> > Wouldn't it be better to have an env var set by libxl to mean "_not_
> > called from udev?".  That would mean that if the udev rules weren't
> > updated for some reason it would all still work.  On many setups these
> > are config files which may require the user to merge changes, etc., so
> > this is a real concern.
> =

> Since the 4.2 release already implies updating udev rules (due to the =

> change from tap* to *emu), I think it's better to set the var on udev, =

> that way when udev is dropped we won't need to perform any change to libx=
l.

Ah.  (The change to libxl is not an essential one so we won't "need"
to make it, but OK.)

> >> +if [ -n "${UDEV_CALL}" ]&&  \
> >> +   `xenstore-read "libxl/disable_udev">/dev/null 2>&1`; then
> >
> > This reads something from xenstore and executes it as a shell command!
> > (Also it will go wrong if the value read is empty eg becaue the key
> > doesn't exist.)
> =

> Are you sure about this? This command never returns anything, because it =

> is redirected to /dev/null, so we only evaluate if it is able to read =

> libxl/disable_udev. If libxl/disable_udev exists this test is passed.

Uh, so it does.  Why are you using `` at all then ?  This is a very
odd construction.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:13:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:13:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw1h-0005Ja-6b; Mon, 14 May 2012 14:13:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STw1f-0005JD-5J
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:13:27 +0000
Received: from [85.158.139.83:16334] by server-12.bemta-5.messagelabs.com id
	76/AB-01344-60311BF4; Mon, 14 May 2012 14:13:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337004805!24433718!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12323 invoked from network); 14 May 2012 14:13:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:13:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460175"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:13:25 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:13:25 +0100
Date: Mon, 14 May 2012 15:13:20 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20388.1780.828830.419864@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> > - Spawn a QEMU instance at boot time to handle disk local attach
> > requests.
> ...
> > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > index 7a1e017..e180498 100644
> > --- a/tools/libxl/libxl_internal.c
> > +++ b/tools/libxl/libxl_internal.c
> ...
> > +                    rc = xs_transaction_end(ctx->xsh, t, 0);
> > +                } while (rc == 0 && errno == EAGAIN);
> > +                t = XBT_NULL;
> > +                if (rc == 0) {
> > +                    LOGE(ERROR, "xenstore transaction failed");
> > +                    goto out;
> 
> Maybe I'm being excessively picky, but I think "rc" should be used
> only for a variable which contains libxl error codes.  I had to do a
> double-take when I saw
>   if (rc == 0) {
>      error handling;
> since rc==0 is of course the success case.

Should I s/rc/ret/ in this function?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:13:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:13:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw1h-0005Ja-6b; Mon, 14 May 2012 14:13:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STw1f-0005JD-5J
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:13:27 +0000
Received: from [85.158.139.83:16334] by server-12.bemta-5.messagelabs.com id
	76/AB-01344-60311BF4; Mon, 14 May 2012 14:13:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337004805!24433718!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12323 invoked from network); 14 May 2012 14:13:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:13:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460175"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:13:25 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:13:25 +0100
Date: Mon, 14 May 2012 15:13:20 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20388.1780.828830.419864@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> > - Spawn a QEMU instance at boot time to handle disk local attach
> > requests.
> ...
> > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> > index 7a1e017..e180498 100644
> > --- a/tools/libxl/libxl_internal.c
> > +++ b/tools/libxl/libxl_internal.c
> ...
> > +                    rc = xs_transaction_end(ctx->xsh, t, 0);
> > +                } while (rc == 0 && errno == EAGAIN);
> > +                t = XBT_NULL;
> > +                if (rc == 0) {
> > +                    LOGE(ERROR, "xenstore transaction failed");
> > +                    goto out;
> 
> Maybe I'm being excessively picky, but I think "rc" should be used
> only for a variable which contains libxl error codes.  I had to do a
> double-take when I saw
>   if (rc == 0) {
>      error handling;
> since rc==0 is of course the success case.

Should I s/rc/ret/ in this function?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:14:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:14:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw2s-0005S8-Lz; Mon, 14 May 2012 14:14:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STw2q-0005Rs-TW
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:14:41 +0000
Received: from [85.158.143.35:12690] by server-2.bemta-4.messagelabs.com id
	51/92-17550-05311BF4; Mon, 14 May 2012 14:14:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337004877!15408379!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3734 invoked from network); 14 May 2012 14:14:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:14:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460203"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:14:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:14:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STw2m-0004nK-3N; Mon, 14 May 2012 14:14:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STw2m-0004QL-2c;
	Mon, 14 May 2012 15:14:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.4940.65294.822388@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:14:36 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336999913.31817.69.camel@zakaz.uk.xensource.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
	<1336999913.31817.69.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from libxl for vbd"):
> On Mon, 2012-05-14 at 13:38 +0100, Roger Pau Monne wrote:
> > Are you sure about this? This command never returns anything, because it 
> > is redirected to /dev/null, so we only evaluate if it is able to read 
> > libxl/disable_udev. If libxl/disable_udev exists this test is passed.
> 
> You don't need the backticks for that though. With the backticks it will
> execute whatever happens to be in the key -- I guess it's something
> quite benign right now or you'd have seen errors.

In fact Roger was right on the narrow point: because the >/dev/null is
inside the backticks, the backticks never see any output and it's
equivalent to `false` or `true`.  I'm pleased that it's not just me
that read it the way you did at first :-).

But you are of course right in that it's a silly construction.  If the
output is not wanted, `` should not be used.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:14:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:14:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw2s-0005S8-Lz; Mon, 14 May 2012 14:14:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STw2q-0005Rs-TW
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:14:41 +0000
Received: from [85.158.143.35:12690] by server-2.bemta-4.messagelabs.com id
	51/92-17550-05311BF4; Mon, 14 May 2012 14:14:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337004877!15408379!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3734 invoked from network); 14 May 2012 14:14:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:14:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460203"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:14:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:14:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STw2m-0004nK-3N; Mon, 14 May 2012 14:14:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STw2m-0004QL-2c;
	Mon, 14 May 2012 15:14:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.4940.65294.822388@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:14:36 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336999913.31817.69.camel@zakaz.uk.xensource.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
	<1336999913.31817.69.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from libxl for vbd"):
> On Mon, 2012-05-14 at 13:38 +0100, Roger Pau Monne wrote:
> > Are you sure about this? This command never returns anything, because it 
> > is redirected to /dev/null, so we only evaluate if it is able to read 
> > libxl/disable_udev. If libxl/disable_udev exists this test is passed.
> 
> You don't need the backticks for that though. With the backticks it will
> execute whatever happens to be in the key -- I guess it's something
> quite benign right now or you'd have seen errors.

In fact Roger was right on the narrow point: because the >/dev/null is
inside the backticks, the backticks never see any output and it's
equivalent to `false` or `true`.  I'm pleased that it's not just me
that read it the way you did at first :-).

But you are of course right in that it's a silly construction.  If the
output is not wanted, `` should not be used.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:16:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:16:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw49-0005cy-A0; Mon, 14 May 2012 14:16:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STw47-0005co-U1
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:16:00 +0000
Received: from [85.158.143.99:43792] by server-1.bemta-4.messagelabs.com id
	9B/24-20925-F9311BF4; Mon, 14 May 2012 14:15:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337004955!18151626!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2101 invoked from network); 14 May 2012 14:15:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:15:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460247"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:15:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:15:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STw3s-0004nj-4M; Mon, 14 May 2012 14:15:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STw3s-0004QP-3Y;
	Mon, 14 May 2012 15:15:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.5008.79214.336391@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:15:44 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.878.645214.92917@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> On Fri, 4 May 2012, Ian Jackson wrote:
> > Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > >              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > > -                       disk->pdev_path);
> > > +                       in_disk->pdev_path);
> > 
> > I think in_disk->pdev_path can be NULL here ?
> 
> It cannot, unless a wrong configuration was provided. In that case we'll
> fail to open the empty disk later on.

But not until we've called LIBXL__LOG(..., "%s", NULL) which is
undefined behaviour (according to the spec) and which on all systems
we are likely to run on will print "(null)".

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:16:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:16:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw49-0005cy-A0; Mon, 14 May 2012 14:16:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STw47-0005co-U1
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:16:00 +0000
Received: from [85.158.143.99:43792] by server-1.bemta-4.messagelabs.com id
	9B/24-20925-F9311BF4; Mon, 14 May 2012 14:15:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337004955!18151626!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2101 invoked from network); 14 May 2012 14:15:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:15:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460247"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:15:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:15:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STw3s-0004nj-4M; Mon, 14 May 2012 14:15:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STw3s-0004QP-3Y;
	Mon, 14 May 2012 15:15:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.5008.79214.336391@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:15:44 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.878.645214.92917@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141402350.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 2/8] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> On Fri, 4 May 2012, Ian Jackson wrote:
> > Stefano Stabellini writes ("[PATCH v5 2/8] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > >              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > > -                       disk->pdev_path);
> > > +                       in_disk->pdev_path);
> > 
> > I think in_disk->pdev_path can be NULL here ?
> 
> It cannot, unless a wrong configuration was provided. In that case we'll
> fail to open the empty disk later on.

But not until we've called LIBXL__LOG(..., "%s", NULL) which is
undefined behaviour (according to the spec) and which on all systems
we are likely to run on will print "(null)".

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:16:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:16:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw4i-0005is-Nw; Mon, 14 May 2012 14:16:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STw4h-0005iV-3f
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:16:35 +0000
Received: from [193.109.254.147:5580] by server-8.bemta-14.messagelabs.com id
	BD/F0-23244-2C311BF4; Mon, 14 May 2012 14:16:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337004992!3509909!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31411 invoked from network); 14 May 2012 14:16:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:16:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:16:32 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:16:32 +0100
Date: Mon, 14 May 2012 15:16:27 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336144436.7535.22.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141514410.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336144436.7535.22.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 8/8] libxl__device_disk_local_attach:
 wait for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Campbell wrote:
> > @@ -598,11 +599,24 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
> >              break;
> >      }
> >  
> > +    if (disk->vdev != NULL) {
> > +        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
> > +        if (rc < 0)
> > +            goto out;
> > +        be_path = libxl__device_backend_path(gc, &device);
> > +        rc = libxl__wait_for_backend(gc, be_path, "4");
> > +        if (rc < 0)
> > +            goto out;
> > +    }
> > +
> > +    *new_disk = disk;
> > +    return dev;
> >   out:
> >      if (t != XBT_NULL)
> >          xs_transaction_end(ctx->xsh, t, 1);
> 
> There's no way to reach the preceding "return dev" with the transaction
> still open? Previously we would have fallen through and done it.

Yes, there is no way.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:16:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:16:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw4i-0005is-Nw; Mon, 14 May 2012 14:16:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STw4h-0005iV-3f
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:16:35 +0000
Received: from [193.109.254.147:5580] by server-8.bemta-14.messagelabs.com id
	BD/F0-23244-2C311BF4; Mon, 14 May 2012 14:16:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337004992!3509909!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31411 invoked from network); 14 May 2012 14:16:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:16:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:16:32 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:16:32 +0100
Date: Mon, 14 May 2012 15:16:27 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336144436.7535.22.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141514410.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-8-git-send-email-stefano.stabellini@eu.citrix.com>
	<1336144436.7535.22.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 8/8] libxl__device_disk_local_attach:
 wait for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 4 May 2012, Ian Campbell wrote:
> > @@ -598,11 +599,24 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
> >              break;
> >      }
> >  
> > +    if (disk->vdev != NULL) {
> > +        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
> > +        if (rc < 0)
> > +            goto out;
> > +        be_path = libxl__device_backend_path(gc, &device);
> > +        rc = libxl__wait_for_backend(gc, be_path, "4");
> > +        if (rc < 0)
> > +            goto out;
> > +    }
> > +
> > +    *new_disk = disk;
> > +    return dev;
> >   out:
> >      if (t != XBT_NULL)
> >          xs_transaction_end(ctx->xsh, t, 1);
> 
> There's no way to reach the preceding "return dev" with the transaction
> still open? Previously we would have fallen through and done it.

Yes, there is no way.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:20:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw8g-000645-Fi; Mon, 14 May 2012 14:20:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STw8e-00063x-AC
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:20:40 +0000
Received: from [85.158.139.83:30001] by server-4.bemta-5.messagelabs.com id
	33/1B-10788-7B411BF4; Mon, 14 May 2012 14:20:39 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337005236!28347499!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25348 invoked from network); 14 May 2012 14:20:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:20:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="25155459"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 10:20:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:20:36 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STw8Z-0003zT-P3;
	Mon, 14 May 2012 15:20:35 +0100
Message-ID: <4FB114B2.7090404@citrix.com>
Date: Mon, 14 May 2012 15:20:34 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
	<1336999913.31817.69.camel@zakaz.uk.xensource.com>
	<20401.4940.65294.822388@mariner.uk.xensource.com>
In-Reply-To: <20401.4940.65294.822388@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SWFuIEphY2tzb24gZXNjcmliacOzOgo+IElhbiBDYW1wYmVsbCB3cml0ZXMgKCJSZTogW1hlbi1k
ZXZlbF0gW1BBVENIIHY0IDMvNF0gbGlieGw6IGNhbGwgaG90cGx1ZyBzY3JpcHRzIGZyb20gbGli
eGwgZm9yIHZiZCIpOgo+PiBPbiBNb24sIDIwMTItMDUtMTQgYXQgMTM6MzggKzAxMDAsIFJvZ2Vy
IFBhdSBNb25uZSB3cm90ZToKPj4+IEFyZSB5b3Ugc3VyZSBhYm91dCB0aGlzPyBUaGlzIGNvbW1h
bmQgbmV2ZXIgcmV0dXJucyBhbnl0aGluZywgYmVjYXVzZSBpdAo+Pj4gaXMgcmVkaXJlY3RlZCB0
byAvZGV2L251bGwsIHNvIHdlIG9ubHkgZXZhbHVhdGUgaWYgaXQgaXMgYWJsZSB0byByZWFkCj4+
PiBsaWJ4bC9kaXNhYmxlX3VkZXYuIElmIGxpYnhsL2Rpc2FibGVfdWRldiBleGlzdHMgdGhpcyB0
ZXN0IGlzIHBhc3NlZC4KPj4gWW91IGRvbid0IG5lZWQgdGhlIGJhY2t0aWNrcyBmb3IgdGhhdCB0
aG91Z2guIFdpdGggdGhlIGJhY2t0aWNrcyBpdCB3aWxsCj4+IGV4ZWN1dGUgd2hhdGV2ZXIgaGFw
cGVucyB0byBiZSBpbiB0aGUga2V5IC0tIEkgZ3Vlc3MgaXQncyBzb21ldGhpbmcKPj4gcXVpdGUg
YmVuaWduIHJpZ2h0IG5vdyBvciB5b3UnZCBoYXZlIHNlZW4gZXJyb3JzLgo+Cj4gSW4gZmFjdCBS
b2dlciB3YXMgcmlnaHQgb24gdGhlIG5hcnJvdyBwb2ludDogYmVjYXVzZSB0aGU+L2Rldi9udWxs
IGlzCj4gaW5zaWRlIHRoZSBiYWNrdGlja3MsIHRoZSBiYWNrdGlja3MgbmV2ZXIgc2VlIGFueSBv
dXRwdXQgYW5kIGl0J3MKPiBlcXVpdmFsZW50IHRvIGBmYWxzZWAgb3IgYHRydWVgLiAgSSdtIHBs
ZWFzZWQgdGhhdCBpdCdzIG5vdCBqdXN0IG1lCj4gdGhhdCByZWFkIGl0IHRoZSB3YXkgeW91IGRp
ZCBhdCBmaXJzdCA6LSkuCgpUaGUgZmFjdCB0aGF0IGl0IHdvcmtzIGlzIGp1c3QgYSBxdWVzdGlv
biBvZiAibHVjayIsIGJ1dCB0aGUgCmNvbnN0cnVjdGlvbiBpcyBkZWZpbml0ZWx5IHdyb25nLiBJ
IGFsd2F5cyBmb3JnZXQgdGhhdCB5b3UgZG9uJ3QgbmVlZCB0byAKdXNlIHRoZSBgIHdoZW4gdGVz
dGluZyBpbiB0aGUgY29uZGl0aW9uYWwgZm9yIHRoZSBleGVjdXRpb24gb2YgYSAKY29tbWFuZC4g
U29ycnkgYWJvdXQgdGhhdC4KCj4gQnV0IHlvdSBhcmUgb2YgY291cnNlIHJpZ2h0IGluIHRoYXQg
aXQncyBhIHNpbGx5IGNvbnN0cnVjdGlvbi4gIElmIHRoZQo+IG91dHB1dCBpcyBub3Qgd2FudGVk
LCBgYCBzaG91bGQgbm90IGJlIHVzZWQuCj4KPiBJYW4uCgoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2
ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Mon May 14 14:20:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STw8g-000645-Fi; Mon, 14 May 2012 14:20:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1STw8e-00063x-AC
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:20:40 +0000
Received: from [85.158.139.83:30001] by server-4.bemta-5.messagelabs.com id
	33/1B-10788-7B411BF4; Mon, 14 May 2012 14:20:39 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337005236!28347499!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25348 invoked from network); 14 May 2012 14:20:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:20:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="25155459"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 10:20:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 10:20:36 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1STw8Z-0003zT-P3;
	Mon, 14 May 2012 15:20:35 +0100
Message-ID: <4FB114B2.7090404@citrix.com>
Date: Mon, 14 May 2012 15:20:34 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1336649312-11198-1-git-send-email-roger.pau@citrix.com>
	<1336649312-11198-4-git-send-email-roger.pau@citrix.com>
	<20395.60719.885071.452187@mariner.uk.xensource.com>
	<4FB0FCBE.1020802@citrix.com>
	<1336999913.31817.69.camel@zakaz.uk.xensource.com>
	<20401.4940.65294.822388@mariner.uk.xensource.com>
In-Reply-To: <20401.4940.65294.822388@mariner.uk.xensource.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 3/4] libxl: call hotplug scripts from
 libxl for vbd
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SWFuIEphY2tzb24gZXNjcmliacOzOgo+IElhbiBDYW1wYmVsbCB3cml0ZXMgKCJSZTogW1hlbi1k
ZXZlbF0gW1BBVENIIHY0IDMvNF0gbGlieGw6IGNhbGwgaG90cGx1ZyBzY3JpcHRzIGZyb20gbGli
eGwgZm9yIHZiZCIpOgo+PiBPbiBNb24sIDIwMTItMDUtMTQgYXQgMTM6MzggKzAxMDAsIFJvZ2Vy
IFBhdSBNb25uZSB3cm90ZToKPj4+IEFyZSB5b3Ugc3VyZSBhYm91dCB0aGlzPyBUaGlzIGNvbW1h
bmQgbmV2ZXIgcmV0dXJucyBhbnl0aGluZywgYmVjYXVzZSBpdAo+Pj4gaXMgcmVkaXJlY3RlZCB0
byAvZGV2L251bGwsIHNvIHdlIG9ubHkgZXZhbHVhdGUgaWYgaXQgaXMgYWJsZSB0byByZWFkCj4+
PiBsaWJ4bC9kaXNhYmxlX3VkZXYuIElmIGxpYnhsL2Rpc2FibGVfdWRldiBleGlzdHMgdGhpcyB0
ZXN0IGlzIHBhc3NlZC4KPj4gWW91IGRvbid0IG5lZWQgdGhlIGJhY2t0aWNrcyBmb3IgdGhhdCB0
aG91Z2guIFdpdGggdGhlIGJhY2t0aWNrcyBpdCB3aWxsCj4+IGV4ZWN1dGUgd2hhdGV2ZXIgaGFw
cGVucyB0byBiZSBpbiB0aGUga2V5IC0tIEkgZ3Vlc3MgaXQncyBzb21ldGhpbmcKPj4gcXVpdGUg
YmVuaWduIHJpZ2h0IG5vdyBvciB5b3UnZCBoYXZlIHNlZW4gZXJyb3JzLgo+Cj4gSW4gZmFjdCBS
b2dlciB3YXMgcmlnaHQgb24gdGhlIG5hcnJvdyBwb2ludDogYmVjYXVzZSB0aGU+L2Rldi9udWxs
IGlzCj4gaW5zaWRlIHRoZSBiYWNrdGlja3MsIHRoZSBiYWNrdGlja3MgbmV2ZXIgc2VlIGFueSBv
dXRwdXQgYW5kIGl0J3MKPiBlcXVpdmFsZW50IHRvIGBmYWxzZWAgb3IgYHRydWVgLiAgSSdtIHBs
ZWFzZWQgdGhhdCBpdCdzIG5vdCBqdXN0IG1lCj4gdGhhdCByZWFkIGl0IHRoZSB3YXkgeW91IGRp
ZCBhdCBmaXJzdCA6LSkuCgpUaGUgZmFjdCB0aGF0IGl0IHdvcmtzIGlzIGp1c3QgYSBxdWVzdGlv
biBvZiAibHVjayIsIGJ1dCB0aGUgCmNvbnN0cnVjdGlvbiBpcyBkZWZpbml0ZWx5IHdyb25nLiBJ
IGFsd2F5cyBmb3JnZXQgdGhhdCB5b3UgZG9uJ3QgbmVlZCB0byAKdXNlIHRoZSBgIHdoZW4gdGVz
dGluZyBpbiB0aGUgY29uZGl0aW9uYWwgZm9yIHRoZSBleGVjdXRpb24gb2YgYSAKY29tbWFuZC4g
U29ycnkgYWJvdXQgdGhhdC4KCj4gQnV0IHlvdSBhcmUgb2YgY291cnNlIHJpZ2h0IGluIHRoYXQg
aXQncyBhIHNpbGx5IGNvbnN0cnVjdGlvbi4gIElmIHRoZQo+IG91dHB1dCBpcyBub3Qgd2FudGVk
LCBgYCBzaG91bGQgbm90IGJlIHVzZWQuCj4KPiBJYW4uCgoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2
ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Mon May 14 14:23:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:23:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwAu-0006AL-0H; Mon, 14 May 2012 14:23:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STwAt-0006AF-4Y
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:22:59 +0000
Received: from [193.109.254.147:3381] by server-8.bemta-14.messagelabs.com id
	2B/58-23244-24511BF4; Mon, 14 May 2012 14:22:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337005377!3511364!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29471 invoked from network); 14 May 2012 14:22:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:22:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460623"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:22:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:22:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STwAq-0004qD-Cx; Mon, 14 May 2012 14:22:56 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STwAq-0004RH-C1;
	Mon, 14 May 2012 15:22:56 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.5440.352447.771763@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:22:56 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1615.382752.914755@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> On Fri, 4 May 2012, Ian Jackson wrote:
> > All you need to do is actually pay attention to its error return.
> 
> OK
> 
> > > +    return NULL;
> > 
> > All the NULL error exits should log an error surely.
> 
> The error log is in the next patch. Should I add a second log here?
> Or maybe I should move the error log from the caller to the callee?

Well, my view is that a function should either always log if it
returns ERROR_FAIL (or NULL if that's its calling pattern), or never
do so.  And if it logs this should be in a doc comment.

I inferred that the function was supposed to log by the fact that the
other error paths logged (that is, I didn't read the doc comment or
the rest of the code).

I don't mind where the logging is done (although normally it's best to
do it closer to the source of the error) but I do want to make sure
that we don't have cases where there is an exit path which simply
fails without explaining why.

> > > +/* same as in Linux */
> > > +static char *encode_disk_name(char *ptr, unsigned int n)
> > > +{
> > > +    if (n >= 26)
> > > +        ptr = encode_disk_name(ptr, n / 26 - 1);
> > > +    *ptr = 'a' + n % 26;
> > > +    return ptr + 1;
> > > +}
> > 
> > This still makes it difficult to see that the buffer cannot be
> > overrun.  I mentioned this in response to a previous posting of this
> > code and IIRC you were going to do something about it, if only a
> > comment explaining what the maximum buffer length is and why it's
> > safe.
> 
> I am keen on keeping the code as is, because it is the same that is in
> Linux (see comment above).

I read the comment as "this implements the same transformation as the
Linux kernel" not "this is the same code as actually used in the Linux
kernel".  If you mean the latter, do say so.

Also, in that case why is the recursive function name, formatting,
etc. not the same as in Linux (as far as they can be) ?  Surely if
Linux changes this we will want to change our code too and that will
be easiest if we can c&p without needing to reformat, rename, etc.

> I'll add a comment.

OK.  The comments, taken together, should constitute proofs that the
code does not overrun any buffers.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:23:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:23:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwAu-0006AL-0H; Mon, 14 May 2012 14:23:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STwAt-0006AF-4Y
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:22:59 +0000
Received: from [193.109.254.147:3381] by server-8.bemta-14.messagelabs.com id
	2B/58-23244-24511BF4; Mon, 14 May 2012 14:22:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337005377!3511364!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29471 invoked from network); 14 May 2012 14:22:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:22:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460623"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:22:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:22:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STwAq-0004qD-Cx; Mon, 14 May 2012 14:22:56 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STwAq-0004RH-C1;
	Mon, 14 May 2012 15:22:56 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.5440.352447.771763@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:22:56 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1615.382752.914755@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev"):
> On Fri, 4 May 2012, Ian Jackson wrote:
> > All you need to do is actually pay attention to its error return.
> 
> OK
> 
> > > +    return NULL;
> > 
> > All the NULL error exits should log an error surely.
> 
> The error log is in the next patch. Should I add a second log here?
> Or maybe I should move the error log from the caller to the callee?

Well, my view is that a function should either always log if it
returns ERROR_FAIL (or NULL if that's its calling pattern), or never
do so.  And if it logs this should be in a doc comment.

I inferred that the function was supposed to log by the fact that the
other error paths logged (that is, I didn't read the doc comment or
the rest of the code).

I don't mind where the logging is done (although normally it's best to
do it closer to the source of the error) but I do want to make sure
that we don't have cases where there is an exit path which simply
fails without explaining why.

> > > +/* same as in Linux */
> > > +static char *encode_disk_name(char *ptr, unsigned int n)
> > > +{
> > > +    if (n >= 26)
> > > +        ptr = encode_disk_name(ptr, n / 26 - 1);
> > > +    *ptr = 'a' + n % 26;
> > > +    return ptr + 1;
> > > +}
> > 
> > This still makes it difficult to see that the buffer cannot be
> > overrun.  I mentioned this in response to a previous posting of this
> > code and IIRC you were going to do something about it, if only a
> > comment explaining what the maximum buffer length is and why it's
> > safe.
> 
> I am keen on keeping the code as is, because it is the same that is in
> Linux (see comment above).

I read the comment as "this implements the same transformation as the
Linux kernel" not "this is the same code as actually used in the Linux
kernel".  If you mean the latter, do say so.

Also, in that case why is the recursive function name, formatting,
etc. not the same as in Linux (as far as they can be) ?  Surely if
Linux changes this we will want to change our code too and that will
be easiest if we can c&p without needing to reformat, rename, etc.

> I'll add a comment.

OK.  The comments, taken together, should constitute proofs that the
code does not overrun any buffers.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:24:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:24:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwBr-0006Eh-Eg; Mon, 14 May 2012 14:23:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STwBp-0006EQ-Fn
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:23:57 +0000
Received: from [85.158.143.99:39776] by server-1.bemta-4.messagelabs.com id
	5B/D2-20925-C7511BF4; Mon, 14 May 2012 14:23:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337005436!27034464!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18434 invoked from network); 14 May 2012 14:23:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:23:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460649"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:23:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:23:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STwBn-0004qY-PT; Mon, 14 May 2012 14:23:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STwBn-0004RU-Of;
	Mon, 14 May 2012 15:23:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.5499.750184.933944@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:23:55 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> On Fri, 4 May 2012, Ian Jackson wrote:
> > Maybe I'm being excessively picky, but I think "rc" should be used
> > only for a variable which contains libxl error codes.  I had to do a
> > double-take when I saw
> >   if (rc == 0) {
> >      error handling;
> > since rc==0 is of course the success case.
> 
> Should I s/rc/ret/ in this function?

I think you should s/rc/<something else>/ when it's the return value
from xs_*.  ret would do.  If rc is used for a libxl error code it
should remain as rc.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:24:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:24:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwBr-0006Eh-Eg; Mon, 14 May 2012 14:23:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STwBp-0006EQ-Fn
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:23:57 +0000
Received: from [85.158.143.99:39776] by server-1.bemta-4.messagelabs.com id
	5B/D2-20925-C7511BF4; Mon, 14 May 2012 14:23:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337005436!27034464!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18434 invoked from network); 14 May 2012 14:23:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:23:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12460649"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:23:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:23:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STwBn-0004qY-PT; Mon, 14 May 2012 14:23:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STwBn-0004RU-Of;
	Mon, 14 May 2012 15:23:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.5499.750184.933944@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:23:55 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> On Fri, 4 May 2012, Ian Jackson wrote:
> > Maybe I'm being excessively picky, but I think "rc" should be used
> > only for a variable which contains libxl error codes.  I had to do a
> > double-take when I saw
> >   if (rc == 0) {
> >      error handling;
> > since rc==0 is of course the success case.
> 
> Should I s/rc/ret/ in this function?

I think you should s/rc/<something else>/ when it's the return value
from xs_*.  ret would do.  If rc is used for a libxl error code it
should remain as rc.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:29:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:29:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwGl-0006Uf-6y; Mon, 14 May 2012 14:29:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STwGj-0006Ua-Tx
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:29:02 +0000
Received: from [193.109.254.147:52616] by server-10.bemta-14.messagelabs.com
	id 9C/0F-05847-DA611BF4; Mon, 14 May 2012 14:29:01 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337005740!2354107!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17072 invoked from network); 14 May 2012 14:29:00 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 14:29:00 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 15:29:00 +0100
Message-Id: <4FB132C80200007800083808@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 15:28:56 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
	<4FB109B8.7030208@citrix.com>
In-Reply-To: <4FB109B8.7030208@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 15:33, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 14/05/12 13:55, Jan Beulich wrote:
>>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>>> number of times (one report being
>>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>>> apparently always with a vector within the legacy range. Obviously,
>>> besides legacy vectors not normally expected to be in use on systems
>>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>>
>>> This wasn't being prevented so far: Since we don't have a one-to-one
>>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>>> associated with them (one used in either 8259A, the other used in one
>>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>>> really being handled via an IO-APIC.
>>>
>>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>>> particular interrupts, restores it.
>>>
>>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>>> too: Interrupts coming in via legacy vectors obviously didn't get
>>> reported through the IO-APIC/LAPIC pair (as we never program these
>>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>>> have the 8259A driver take care of the bogus interrupt (as outside of
>>> automatice EOI mode it may need an EOI to be issued for it to prevent
>>> other interrupts that may legitimately go through the 8259As from
>>> getting masked out).
>> Note that this patch does not make any attempt at dealing with the
>> underlying issue that causes the bogus interrupt(s) to show up. If
>> my analysis is right, we shouldn't see crashes anymore, but instead
>> observe instances of spurious interrupts on legacy vectors. It would
>> certainly be nice to have an actual proof of this (albeit I realize that
>> this isn't readily reproducible), in order to then - if indeed behaving
>> as expected - add debugging code to identify whether such interrupts
>> in fact get raised by one of the 8259A-s (particularly printing the
>> cached and physical mask register values), or whether they get
>> introduced into the system by yet another obscure mechanism.
>>
>> One particular thing I'm suspicious about are the numerous aliases
>> to the two (each) 8259A I/O ports that various chipsets have: What
>> if some component in Dom0 accesses one of the alias ports in order
>> to do something specific to a non-standard platform (say, probe for
>> some special hardware interface), not realizing that it actually plays
>> with PIC state? Linux under the same conditions wouldn't severely
>> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
>> merely observe an extra interrupt.
> 
> On the whole, the patch looks sensible, but what happens if the spurious
> interrupt is coming in through the Local APIC ?  If this is the case,
> then we still need to ACK it, even if it is a bogus PIC interrupt.
> 
> Perhaps in irq.c, the changes should check whether the observed vector
> has been raised in the LAPIC and ack it, and then decide whether it is
> bogus or not.

Should that really turn out to be the case, we're in much bigger trouble,
as then we need an explanation how an interrupt at that vector could
have got raised in the first place. I'd therefore like to keep the current
change deal only with things that we know can happen.

> Might it also be sensible to remove dom0's permissions to use the PIC
> ports, in case it is some weird issue like that?

That's already being done iirc. The problem is that it's non-trivial (and
perhaps non-reliable) to determine the aliases, and hence we can't
blindly remove more than the two real ports from Dom0's permitted
set.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:29:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:29:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwGl-0006Uf-6y; Mon, 14 May 2012 14:29:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STwGj-0006Ua-Tx
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:29:02 +0000
Received: from [193.109.254.147:52616] by server-10.bemta-14.messagelabs.com
	id 9C/0F-05847-DA611BF4; Mon, 14 May 2012 14:29:01 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337005740!2354107!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17072 invoked from network); 14 May 2012 14:29:00 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 14:29:00 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 15:29:00 +0100
Message-Id: <4FB132C80200007800083808@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 15:28:56 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
	<4FB109B8.7030208@citrix.com>
In-Reply-To: <4FB109B8.7030208@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 15:33, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 14/05/12 13:55, Jan Beulich wrote:
>>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>>> number of times (one report being
>>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>>> apparently always with a vector within the legacy range. Obviously,
>>> besides legacy vectors not normally expected to be in use on systems
>>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>>
>>> This wasn't being prevented so far: Since we don't have a one-to-one
>>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>>> associated with them (one used in either 8259A, the other used in one
>>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>>> really being handled via an IO-APIC.
>>>
>>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>>> particular interrupts, restores it.
>>>
>>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>>> too: Interrupts coming in via legacy vectors obviously didn't get
>>> reported through the IO-APIC/LAPIC pair (as we never program these
>>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>>> have the 8259A driver take care of the bogus interrupt (as outside of
>>> automatice EOI mode it may need an EOI to be issued for it to prevent
>>> other interrupts that may legitimately go through the 8259As from
>>> getting masked out).
>> Note that this patch does not make any attempt at dealing with the
>> underlying issue that causes the bogus interrupt(s) to show up. If
>> my analysis is right, we shouldn't see crashes anymore, but instead
>> observe instances of spurious interrupts on legacy vectors. It would
>> certainly be nice to have an actual proof of this (albeit I realize that
>> this isn't readily reproducible), in order to then - if indeed behaving
>> as expected - add debugging code to identify whether such interrupts
>> in fact get raised by one of the 8259A-s (particularly printing the
>> cached and physical mask register values), or whether they get
>> introduced into the system by yet another obscure mechanism.
>>
>> One particular thing I'm suspicious about are the numerous aliases
>> to the two (each) 8259A I/O ports that various chipsets have: What
>> if some component in Dom0 accesses one of the alias ports in order
>> to do something specific to a non-standard platform (say, probe for
>> some special hardware interface), not realizing that it actually plays
>> with PIC state? Linux under the same conditions wouldn't severely
>> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
>> merely observe an extra interrupt.
> 
> On the whole, the patch looks sensible, but what happens if the spurious
> interrupt is coming in through the Local APIC ?  If this is the case,
> then we still need to ACK it, even if it is a bogus PIC interrupt.
> 
> Perhaps in irq.c, the changes should check whether the observed vector
> has been raised in the LAPIC and ack it, and then decide whether it is
> bogus or not.

Should that really turn out to be the case, we're in much bigger trouble,
as then we need an explanation how an interrupt at that vector could
have got raised in the first place. I'd therefore like to keep the current
change deal only with things that we know can happen.

> Might it also be sensible to remove dom0's permissions to use the PIC
> ports, in case it is some weird issue like that?

That's already being done iirc. The problem is that it's non-trivial (and
perhaps non-reliable) to determine the aliases, and hence we can't
blindly remove more than the two real ports from Dom0's permitted
set.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:39:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwQj-0006gi-9n; Mon, 14 May 2012 14:39:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1STwQi-0006ga-14
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:39:20 +0000
Received: from [85.158.143.35:4575] by server-1.bemta-4.messagelabs.com id
	3B/50-20925-71911BF4; Mon, 14 May 2012 14:39:19 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337006355!10957336!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31188 invoked from network); 14 May 2012 14:39:18 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:39:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="194703108"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 10:38:46 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 14 May 2012
	10:38:46 -0400
Message-ID: <4FB118F5.4050709@citrix.com>
Date: Mon, 14 May 2012 15:38:45 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
	<4FB109B8.7030208@citrix.com>
	<4FB132C80200007800083808@nat28.tlf.novell.com>
In-Reply-To: <4FB132C80200007800083808@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 15:28, Jan Beulich wrote:
>>>> On 14.05.12 at 15:33, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 14/05/12 13:55, Jan Beulich wrote:
>>>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>>>> number of times (one report being
>>>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>>>> apparently always with a vector within the legacy range. Obviously,
>>>> besides legacy vectors not normally expected to be in use on systems
>>>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>>>
>>>> This wasn't being prevented so far: Since we don't have a one-to-one
>>>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>>>> associated with them (one used in either 8259A, the other used in one
>>>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>>>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>>>> really being handled via an IO-APIC.
>>>>
>>>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>>>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>>>> particular interrupts, restores it.
>>>>
>>>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>>>> too: Interrupts coming in via legacy vectors obviously didn't get
>>>> reported through the IO-APIC/LAPIC pair (as we never program these
>>>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>>>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>>>> have the 8259A driver take care of the bogus interrupt (as outside of
>>>> automatice EOI mode it may need an EOI to be issued for it to prevent
>>>> other interrupts that may legitimately go through the 8259As from
>>>> getting masked out).
>>> Note that this patch does not make any attempt at dealing with the
>>> underlying issue that causes the bogus interrupt(s) to show up. If
>>> my analysis is right, we shouldn't see crashes anymore, but instead
>>> observe instances of spurious interrupts on legacy vectors. It would
>>> certainly be nice to have an actual proof of this (albeit I realize that
>>> this isn't readily reproducible), in order to then - if indeed behaving
>>> as expected - add debugging code to identify whether such interrupts
>>> in fact get raised by one of the 8259A-s (particularly printing the
>>> cached and physical mask register values), or whether they get
>>> introduced into the system by yet another obscure mechanism.
>>>
>>> One particular thing I'm suspicious about are the numerous aliases
>>> to the two (each) 8259A I/O ports that various chipsets have: What
>>> if some component in Dom0 accesses one of the alias ports in order
>>> to do something specific to a non-standard platform (say, probe for
>>> some special hardware interface), not realizing that it actually plays
>>> with PIC state? Linux under the same conditions wouldn't severely
>>> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
>>> merely observe an extra interrupt.
>> On the whole, the patch looks sensible, but what happens if the spurious
>> interrupt is coming in through the Local APIC ?  If this is the case,
>> then we still need to ACK it, even if it is a bogus PIC interrupt.
>>
>> Perhaps in irq.c, the changes should check whether the observed vector
>> has been raised in the LAPIC and ack it, and then decide whether it is
>> bogus or not.
> Should that really turn out to be the case, we're in much bigger trouble,
> as then we need an explanation how an interrupt at that vector could
> have got raised in the first place. I'd therefore like to keep the current
> change deal only with things that we know can happen.

We would be in huge trouble.  As it currently stands, I am not certain
that we can be sure that this is not happening.

As a concession, perhaps a test of the LAPIC IIR, and an obvious error
to the console?  It would be be more useful than having Xen crash/hang
due to no longer always ack'ing the LAPIC.

>
>> Might it also be sensible to remove dom0's permissions to use the PIC
>> ports, in case it is some weird issue like that?
> That's already being done iirc. The problem is that it's non-trivial (and
> perhaps non-reliable) to determine the aliases, and hence we can't
> blindly remove more than the two real ports from Dom0's permitted
> set.
>
> Jan

Ah yes - in which case its not feasible.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:39:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwQj-0006gi-9n; Mon, 14 May 2012 14:39:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1STwQi-0006ga-14
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:39:20 +0000
Received: from [85.158.143.35:4575] by server-1.bemta-4.messagelabs.com id
	3B/50-20925-71911BF4; Mon, 14 May 2012 14:39:19 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337006355!10957336!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31188 invoked from network); 14 May 2012 14:39:18 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:39:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="194703108"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 10:38:46 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 14 May 2012
	10:38:46 -0400
Message-ID: <4FB118F5.4050709@citrix.com>
Date: Mon, 14 May 2012 15:38:45 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
	<4FB109B8.7030208@citrix.com>
	<4FB132C80200007800083808@nat28.tlf.novell.com>
In-Reply-To: <4FB132C80200007800083808@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 15:28, Jan Beulich wrote:
>>>> On 14.05.12 at 15:33, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 14/05/12 13:55, Jan Beulich wrote:
>>>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>>>> number of times (one report being
>>>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>>>> apparently always with a vector within the legacy range. Obviously,
>>>> besides legacy vectors not normally expected to be in use on systems
>>>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>>>
>>>> This wasn't being prevented so far: Since we don't have a one-to-one
>>>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>>>> associated with them (one used in either 8259A, the other used in one
>>>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>>>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>>>> really being handled via an IO-APIC.
>>>>
>>>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>>>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>>>> particular interrupts, restores it.
>>>>
>>>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>>>> too: Interrupts coming in via legacy vectors obviously didn't get
>>>> reported through the IO-APIC/LAPIC pair (as we never program these
>>>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>>>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>>>> have the 8259A driver take care of the bogus interrupt (as outside of
>>>> automatice EOI mode it may need an EOI to be issued for it to prevent
>>>> other interrupts that may legitimately go through the 8259As from
>>>> getting masked out).
>>> Note that this patch does not make any attempt at dealing with the
>>> underlying issue that causes the bogus interrupt(s) to show up. If
>>> my analysis is right, we shouldn't see crashes anymore, but instead
>>> observe instances of spurious interrupts on legacy vectors. It would
>>> certainly be nice to have an actual proof of this (albeit I realize that
>>> this isn't readily reproducible), in order to then - if indeed behaving
>>> as expected - add debugging code to identify whether such interrupts
>>> in fact get raised by one of the 8259A-s (particularly printing the
>>> cached and physical mask register values), or whether they get
>>> introduced into the system by yet another obscure mechanism.
>>>
>>> One particular thing I'm suspicious about are the numerous aliases
>>> to the two (each) 8259A I/O ports that various chipsets have: What
>>> if some component in Dom0 accesses one of the alias ports in order
>>> to do something specific to a non-standard platform (say, probe for
>>> some special hardware interface), not realizing that it actually plays
>>> with PIC state? Linux under the same conditions wouldn't severely
>>> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
>>> merely observe an extra interrupt.
>> On the whole, the patch looks sensible, but what happens if the spurious
>> interrupt is coming in through the Local APIC ?  If this is the case,
>> then we still need to ACK it, even if it is a bogus PIC interrupt.
>>
>> Perhaps in irq.c, the changes should check whether the observed vector
>> has been raised in the LAPIC and ack it, and then decide whether it is
>> bogus or not.
> Should that really turn out to be the case, we're in much bigger trouble,
> as then we need an explanation how an interrupt at that vector could
> have got raised in the first place. I'd therefore like to keep the current
> change deal only with things that we know can happen.

We would be in huge trouble.  As it currently stands, I am not certain
that we can be sure that this is not happening.

As a concession, perhaps a test of the LAPIC IIR, and an obvious error
to the console?  It would be be more useful than having Xen crash/hang
due to no longer always ack'ing the LAPIC.

>
>> Might it also be sensible to remove dom0's permissions to use the PIC
>> ports, in case it is some weird issue like that?
> That's already being done iirc. The problem is that it's non-trivial (and
> perhaps non-reliable) to determine the aliases, and hence we can't
> blindly remove more than the two real ports from Dom0's permitted
> set.
>
> Jan

Ah yes - in which case its not feasible.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:44:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:44:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwVH-0006sE-5M; Mon, 14 May 2012 14:44:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwVF-0006s8-A8
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:44:01 +0000
Received: from [85.158.139.83:28881] by server-11.bemta-5.messagelabs.com id
	6E/36-12959-03A11BF4; Mon, 14 May 2012 14:44:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337006639!24367307!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21962 invoked from network); 14 May 2012 14:43:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:43:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461291"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:43:59 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:43:59 +0100
Date: Mon, 14 May 2012 15:43:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20401.5440.352447.771763@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141541130.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1615.382752.914755@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
	<20401.5440.352447.771763@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Ian Jackson wrote:
> > > > +/* same as in Linux */
> > > > +static char *encode_disk_name(char *ptr, unsigned int n)
> > > > +{
> > > > +    if (n >= 26)
> > > > +        ptr = encode_disk_name(ptr, n / 26 - 1);
> > > > +    *ptr = 'a' + n % 26;
> > > > +    return ptr + 1;
> > > > +}
> > > 
> > > This still makes it difficult to see that the buffer cannot be
> > > overrun.  I mentioned this in response to a previous posting of this
> > > code and IIRC you were going to do something about it, if only a
> > > comment explaining what the maximum buffer length is and why it's
> > > safe.
> > 
> > I am keen on keeping the code as is, because it is the same that is in
> > Linux (see comment above).
> 
> I read the comment as "this implements the same transformation as the
> Linux kernel" not "this is the same code as actually used in the Linux
> kernel".  If you mean the latter, do say so.

Yes, it is actually the same used in the Linux kernel.


> Also, in that case why is the recursive function name, formatting,
> etc. not the same as in Linux (as far as they can be) ?  Surely if
> Linux changes this we will want to change our code too and that will
> be easiest if we can c&p without needing to reformat, rename, etc.

It is exactly the same code, except for the tab indentation that I
replaced with space indentation to follow the coding style.


> > I'll add a comment.
> 
> OK.  The comments, taken together, should constitute proofs that the
> code does not overrun any buffers.

The two comments refer to the upper bound that we introduced, thanks to
the limit there can be no buffer overruns.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:44:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:44:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwVH-0006sE-5M; Mon, 14 May 2012 14:44:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwVF-0006s8-A8
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:44:01 +0000
Received: from [85.158.139.83:28881] by server-11.bemta-5.messagelabs.com id
	6E/36-12959-03A11BF4; Mon, 14 May 2012 14:44:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337006639!24367307!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21962 invoked from network); 14 May 2012 14:43:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:43:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461291"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:43:59 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:43:59 +0100
Date: Mon, 14 May 2012 15:43:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20401.5440.352447.771763@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141541130.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-6-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1615.382752.914755@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141457310.26786@kaball-desktop>
	<20401.5440.352447.771763@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 6/8] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Ian Jackson wrote:
> > > > +/* same as in Linux */
> > > > +static char *encode_disk_name(char *ptr, unsigned int n)
> > > > +{
> > > > +    if (n >= 26)
> > > > +        ptr = encode_disk_name(ptr, n / 26 - 1);
> > > > +    *ptr = 'a' + n % 26;
> > > > +    return ptr + 1;
> > > > +}
> > > 
> > > This still makes it difficult to see that the buffer cannot be
> > > overrun.  I mentioned this in response to a previous posting of this
> > > code and IIRC you were going to do something about it, if only a
> > > comment explaining what the maximum buffer length is and why it's
> > > safe.
> > 
> > I am keen on keeping the code as is, because it is the same that is in
> > Linux (see comment above).
> 
> I read the comment as "this implements the same transformation as the
> Linux kernel" not "this is the same code as actually used in the Linux
> kernel".  If you mean the latter, do say so.

Yes, it is actually the same used in the Linux kernel.


> Also, in that case why is the recursive function name, formatting,
> etc. not the same as in Linux (as far as they can be) ?  Surely if
> Linux changes this we will want to change our code too and that will
> be easiest if we can c&p without needing to reformat, rename, etc.

It is exactly the same code, except for the tab indentation that I
replaced with space indentation to follow the coding style.


> > I'll add a comment.
> 
> OK.  The comments, taken together, should constitute proofs that the
> code does not overrun any buffers.

The two comments refer to the upper bound that we introduced, thanks to
the limit there can be no buffer overruns.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:45:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:45:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwWZ-0006wh-Jv; Mon, 14 May 2012 14:45:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwWX-0006wT-IN
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:45:21 +0000
Received: from [193.109.254.147:63630] by server-11.bemta-14.messagelabs.com
	id 7B/32-05858-08A11BF4; Mon, 14 May 2012 14:45:20 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337006715!4030361!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28502 invoked from network); 14 May 2012 14:45:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:45:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:45:15 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:45:15 +0100
Date: Mon, 14 May 2012 15:45:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20401.5499.750184.933944@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
	<20401.5499.750184.933944@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> > On Fri, 4 May 2012, Ian Jackson wrote:
> > > Maybe I'm being excessively picky, but I think "rc" should be used
> > > only for a variable which contains libxl error codes.  I had to do a
> > > double-take when I saw
> > >   if (rc == 0) {
> > >      error handling;
> > > since rc==0 is of course the success case.
> > 
> > Should I s/rc/ret/ in this function?
> 
> I think you should s/rc/<something else>/ when it's the return value
> from xs_*.  ret would do.  If rc is used for a libxl error code it
> should remain as rc.

rc is already used for a libxl error code in the same function.
Maybe I should just add ret in addition to rc?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:45:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:45:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwWZ-0006wh-Jv; Mon, 14 May 2012 14:45:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwWX-0006wT-IN
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:45:21 +0000
Received: from [193.109.254.147:63630] by server-11.bemta-14.messagelabs.com
	id 7B/32-05858-08A11BF4; Mon, 14 May 2012 14:45:20 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337006715!4030361!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28502 invoked from network); 14 May 2012 14:45:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:45:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461322"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:45:15 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:45:15 +0100
Date: Mon, 14 May 2012 15:45:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20401.5499.750184.933944@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
	<20401.5499.750184.933944@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> > On Fri, 4 May 2012, Ian Jackson wrote:
> > > Maybe I'm being excessively picky, but I think "rc" should be used
> > > only for a variable which contains libxl error codes.  I had to do a
> > > double-take when I saw
> > >   if (rc == 0) {
> > >      error handling;
> > > since rc==0 is of course the success case.
> > 
> > Should I s/rc/ret/ in this function?
> 
> I think you should s/rc/<something else>/ when it's the return value
> from xs_*.  ret would do.  If rc is used for a libxl error code it
> should remain as rc.

rc is already used for a libxl error code in the same function.
Maybe I should just add ret in addition to rc?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:47:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:47:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwXw-00072i-4Q; Mon, 14 May 2012 14:46:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STwXu-00072a-1f
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:46:46 +0000
Received: from [85.158.139.83:59374] by server-4.bemta-5.messagelabs.com id
	85/F4-10788-5DA11BF4; Mon, 14 May 2012 14:46:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337006804!24368050!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6129 invoked from network); 14 May 2012 14:46:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:46:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461361"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:46:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:46:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STwXs-0004xz-5R; Mon, 14 May 2012 14:46:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STwXs-0004TF-4a;
	Mon, 14 May 2012 15:46:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.6868.123963.247317@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:46:44 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
	<20401.5499.750184.933944@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> On Mon, 14 May 2012, Ian Jackson wrote:
> > I think you should s/rc/<something else>/ when it's the return value
> > from xs_*.  ret would do.  If rc is used for a libxl error code it
> > should remain as rc.
> 
> rc is already used for a libxl error code in the same function.
> Maybe I should just add ret in addition to rc?

I think that would be better.  Do you agree ?

As I say this seems like quite a small nit I'm picking.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:47:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:47:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwXw-00072i-4Q; Mon, 14 May 2012 14:46:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STwXu-00072a-1f
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:46:46 +0000
Received: from [85.158.139.83:59374] by server-4.bemta-5.messagelabs.com id
	85/F4-10788-5DA11BF4; Mon, 14 May 2012 14:46:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337006804!24368050!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6129 invoked from network); 14 May 2012 14:46:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:46:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461361"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:46:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:46:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STwXs-0004xz-5R; Mon, 14 May 2012 14:46:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STwXs-0004TF-4a;
	Mon, 14 May 2012 15:46:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.6868.123963.247317@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 15:46:44 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
	<20401.5499.750184.933944@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> On Mon, 14 May 2012, Ian Jackson wrote:
> > I think you should s/rc/<something else>/ when it's the return value
> > from xs_*.  ret would do.  If rc is used for a libxl error code it
> > should remain as rc.
> 
> rc is already used for a libxl error code in the same function.
> Maybe I should just add ret in addition to rc?

I think that would be better.  Do you agree ?

As I say this seems like quite a small nit I'm picking.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwdL-0007If-Tj; Mon, 14 May 2012 14:52:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwdK-0007Ia-Tb
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:52:23 +0000
Received: from [85.158.143.99:14585] by server-3.bemta-4.messagelabs.com id
	2C/74-05853-62C11BF4; Mon, 14 May 2012 14:52:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337007138!21383960!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29886 invoked from network); 14 May 2012 14:52:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:52:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461495"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:52:18 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:52:17 +0100
Date: Mon, 14 May 2012 15:52:12 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20401.6868.123963.247317@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141551130.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
	<20401.5499.750184.933944@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
	<20401.6868.123963.247317@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> > On Mon, 14 May 2012, Ian Jackson wrote:
> > > I think you should s/rc/<something else>/ when it's the return value
> > > from xs_*.  ret would do.  If rc is used for a libxl error code it
> > > should remain as rc.
> > 
> > rc is already used for a libxl error code in the same function.
> > Maybe I should just add ret in addition to rc?
> 
> I think that would be better.  Do you agree ?

In general I try to make my code as easy to read as possible. A new
integer is a small price to pay for it.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwdL-0007If-Tj; Mon, 14 May 2012 14:52:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwdK-0007Ia-Tb
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 14:52:23 +0000
Received: from [85.158.143.99:14585] by server-3.bemta-4.messagelabs.com id
	2C/74-05853-62C11BF4; Mon, 14 May 2012 14:52:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337007138!21383960!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29886 invoked from network); 14 May 2012 14:52:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:52:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461495"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:52:18 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:52:17 +0100
Date: Mon, 14 May 2012 15:52:12 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20401.6868.123963.247317@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141551130.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205041204540.26786@kaball-desktop>
	<1336130000-27261-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20388.1780.828830.419864@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141512460.26786@kaball-desktop>
	<20401.5499.750184.933944@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205141544160.26786@kaball-desktop>
	<20401.6868.123963.247317@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v5 7/8] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("Re: [PATCH v5 7/8] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> > On Mon, 14 May 2012, Ian Jackson wrote:
> > > I think you should s/rc/<something else>/ when it's the return value
> > > from xs_*.  ret would do.  If rc is used for a libxl error code it
> > > should remain as rc.
> > 
> > rc is already used for a libxl error code in the same function.
> > Maybe I should just add ret in addition to rc?
> 
> I think that would be better.  Do you agree ?

In general I try to make my code as easy to read as possible. A new
integer is a small price to pay for it.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:58:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwir-0007S4-Mr; Mon, 14 May 2012 14:58:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwiq-0007Rz-6N
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:58:04 +0000
Received: from [85.158.139.83:17879] by server-11.bemta-5.messagelabs.com id
	2B/F8-12959-B7D11BF4; Mon, 14 May 2012 14:58:03 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337007481!17050765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29786 invoked from network); 14 May 2012 14:58:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:58:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461628"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:58:00 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:58:00 +0100
Date: Mon, 14 May 2012 15:57:45 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Jan Beulich wrote:
> While for the "normal" case (called from blk_send_response_all())
> decrementing requests_finished is correct, doing so in the parse error
> case is wrong; requests_inflight needs to be decremented instead.
> 
> Change in v2: Adjust coding style.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 14:58:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 14:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STwir-0007S4-Mr; Mon, 14 May 2012 14:58:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STwiq-0007Rz-6N
	for xen-devel@lists.xen.org; Mon, 14 May 2012 14:58:04 +0000
Received: from [85.158.139.83:17879] by server-11.bemta-5.messagelabs.com id
	2B/F8-12959-B7D11BF4; Mon, 14 May 2012 14:58:03 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337007481!17050765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29786 invoked from network); 14 May 2012 14:58:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 14:58:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12461628"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 14:58:00 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 15:58:00 +0100
Date: Mon, 14 May 2012 15:57:45 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Jan Beulich wrote:
> While for the "normal" case (called from blk_send_response_all())
> decrementing requests_finished is correct, doing so in the parse error
> case is wrong; requests_inflight needs to be decremented instead.
> 
> Change in v2: Adjust coding style.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:18:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:18:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STx2L-0007hv-Jr; Mon, 14 May 2012 15:18:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STx2K-0007hn-1z
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:18:12 +0000
Received: from [85.158.143.35:26389] by server-2.bemta-4.messagelabs.com id
	21/22-17550-33221BF4; Mon, 14 May 2012 15:18:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337008690!4213667!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10279 invoked from network); 14 May 2012 15:18:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:18:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462164"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:18:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:18:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STx2H-000584-TH; Mon, 14 May 2012 15:18:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STx2H-0004Xm-SO;
	Mon, 14 May 2012 16:18:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.8753.862994.670495@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:18:09 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336988197-29450-1-git-send-email-roger.pau@citrix.com>
References: <1336988197-29450-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4] libxl: prevent xl from running if xend
	is	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4] libxl: prevent xl from running if xend is running."):
> Prevent xl from doing any operation if xend daemon is running. That
> prevents bugs that happened when xl and xend raced to close a domain.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:18:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:18:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STx2L-0007hv-Jr; Mon, 14 May 2012 15:18:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STx2K-0007hn-1z
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:18:12 +0000
Received: from [85.158.143.35:26389] by server-2.bemta-4.messagelabs.com id
	21/22-17550-33221BF4; Mon, 14 May 2012 15:18:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337008690!4213667!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10279 invoked from network); 14 May 2012 15:18:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:18:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462164"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:18:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:18:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STx2H-000584-TH; Mon, 14 May 2012 15:18:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STx2H-0004Xm-SO;
	Mon, 14 May 2012 16:18:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.8753.862994.670495@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:18:09 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336988197-29450-1-git-send-email-roger.pau@citrix.com>
References: <1336988197-29450-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v4] libxl: prevent xl from running if xend
	is	running.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH v4] libxl: prevent xl from running if xend is running."):
> Prevent xl from doing any operation if xend daemon is running. That
> prevents bugs that happened when xl and xend raced to close a domain.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:21:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:21:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STx4p-0007mp-5s; Mon, 14 May 2012 15:20:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STx4o-0007mf-3u
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:20:46 +0000
Received: from [85.158.143.35:56127] by server-3.bemta-4.messagelabs.com id
	2E/AF-05853-BC221BF4; Mon, 14 May 2012 15:20:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337008840!12813960!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29805 invoked from network); 14 May 2012 15:20:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:20:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462223"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:20:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:20:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STx4h-000599-FE; Mon, 14 May 2012 15:20:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STx4h-0004Zq-EQ;
	Mon, 14 May 2012 16:20:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.8903.338809.429054@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:20:39 +0100
To: "Jan Beulich" <JBeulich@suse.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4FB0F7F80200007800083676@nat28.tlf.novell.com>
References: <4FB0F7F80200007800083676@nat28.tlf.novell.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 resend] libxc: implement gnttab.set_max_grants for Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich writes ("[Xen-devel] [PATCH, resend] libxc: implement gnttab.set_max_grants for Linux"):
> Legacy (non-pvops) gntdev drivers may require this operation to be
> performed when the number of grants intended to be used simultaneously
> exceeds a certain driver specific default limit, and qemu's qdisk
> driver is an example of needing to do so.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:21:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:21:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STx4p-0007mp-5s; Mon, 14 May 2012 15:20:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STx4o-0007mf-3u
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:20:46 +0000
Received: from [85.158.143.35:56127] by server-3.bemta-4.messagelabs.com id
	2E/AF-05853-BC221BF4; Mon, 14 May 2012 15:20:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337008840!12813960!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29805 invoked from network); 14 May 2012 15:20:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:20:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462223"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:20:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:20:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STx4h-000599-FE; Mon, 14 May 2012 15:20:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STx4h-0004Zq-EQ;
	Mon, 14 May 2012 16:20:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.8903.338809.429054@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:20:39 +0100
To: "Jan Beulich" <JBeulich@suse.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <4FB0F7F80200007800083676@nat28.tlf.novell.com>
References: <4FB0F7F80200007800083676@nat28.tlf.novell.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 resend] libxc: implement gnttab.set_max_grants for Linux
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich writes ("[Xen-devel] [PATCH, resend] libxc: implement gnttab.set_max_grants for Linux"):
> Legacy (non-pvops) gntdev drivers may require this operation to be
> performed when the number of grants intended to be used simultaneously
> exceeds a certain driver specific default limit, and qemu's qdisk
> driver is an example of needing to do so.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:24:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STx6t-0007ty-MS; Mon, 14 May 2012 15:22:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STx6s-0007tq-IR
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:22:54 +0000
Received: from [193.109.254.147:43665] by server-3.bemta-14.messagelabs.com id
	0B/BC-23274-D4321BF4; Mon, 14 May 2012 15:22:53 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337008973!4038160!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4936 invoked from network); 14 May 2012 15:22:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:22:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462268"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:22:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:22:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STx6q-00059m-S4; Mon, 14 May 2012 15:22:52 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STx6q-0004bR-RE;
	Mon, 14 May 2012 16:22:52 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.9036.825001.705931@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:22:52 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336990776-30127-1-git-send-email-roger.pau@citrix.com>
References: <1336990776-30127-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <ian.campbell@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] autoconf: check for dev86 and iasl on x86*
	only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH] autoconf: check for dev86 and iasl on x86* only"):
> Check for this tools on x86 systems only.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

> Rerun autogen after applying this patch.

Done.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:24:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STx6t-0007ty-MS; Mon, 14 May 2012 15:22:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STx6s-0007tq-IR
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:22:54 +0000
Received: from [193.109.254.147:43665] by server-3.bemta-14.messagelabs.com id
	0B/BC-23274-D4321BF4; Mon, 14 May 2012 15:22:53 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337008973!4038160!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4936 invoked from network); 14 May 2012 15:22:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:22:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462268"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:22:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:22:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STx6q-00059m-S4; Mon, 14 May 2012 15:22:52 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STx6q-0004bR-RE;
	Mon, 14 May 2012 16:22:52 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.9036.825001.705931@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:22:52 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336990776-30127-1-git-send-email-roger.pau@citrix.com>
References: <1336990776-30127-1-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <ian.campbell@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] autoconf: check for dev86 and iasl on x86*
	only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[Xen-devel] [PATCH] autoconf: check for dev86 and iasl on x86* only"):
> Check for this tools on x86 systems only.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

> Rerun autogen after applying this patch.

Done.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:34:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxGy-00089x-BT; Mon, 14 May 2012 15:33:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STxGx-00089o-Hy
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:33:19 +0000
Received: from [85.158.143.35:23855] by server-1.bemta-4.messagelabs.com id
	F9/16-20925-EB521BF4; Mon, 14 May 2012 15:33:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337009596!15324970!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24097 invoked from network); 14 May 2012 15:33:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:33:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462507"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:33:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:33:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STxGu-0005D2-5v; Mon, 14 May 2012 15:33:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STxGu-0004qT-55;
	Mon, 14 May 2012 16:33:16 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.9660.140351.151833@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:33:16 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2543054859318590087=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2543054859318590087==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Ian Campbell writes ("[Xen-devel] Xen 4.2 TODO / Release Plan"):
> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
...
> tools, blockers:
>       * libxl stable API -- we would like 4.2 to define a stable API
>         which downstream's can start to rely on not changing. Aspects of
>         this are:
>               * Safe fork vs. fd handling hooks. Involves API changes
>                 (Ian J, I think this was actually DONE a while back and
>                 I missed it)

This is indeed committed.

>               * libxl_wait_for_free_memory/libxl_wait_for_memory_target.
>                 Interface needs an overhaul, related to
>                 locking/serialization over domain create (deferred to
>                 4.3). IanJ to add note about this interface being
>                 substandard but otherwise defer to 4.3.

I have yet to write such a note.

>               * libxl_*_path. Majority made internal, only configdir and
>                 lockdir remain public (used by xl). Good enough?

Yes.  We should perhaps add a note saying that the lockdir path
function should not be used by out-of-tree callers.

>               * Interfaces which may need to be async:
>                       * libxl_domain_suspend. Probably need to move
>                         xc_domain_save into a separate process, as per
>                         <20366.40183.410388.447630@mariner.uk.xensource.com>. Likely need to do the same for xc_domain_restore too. (IanJ).

I am working on this.

>                       * libxl_domain_create_{new,restore} -- IanJ has
>                         patches as part of event series, (DONE).

Yes.

>                       * libxl_domain_core_dump. Can take a dummy ao_how
>                         and remain synchronous internally. (IanC, DONE)

Yes.

>                       * libxl_device_{disk,nic,vkb,add,pci}_add (and
>                         remove?). Roger Pau MonnÃ© fixes disk as part of
>                         hotplug script series and adds infrastructure
>                         which should make the others trivial. (Roger,
>                         WIP)

Right.

>                       * libxl_cdrom_insert. Should be easy once
>                         disk_{add,remove} done, IanJ to look at (or
>                         doing so?).

This isn't on my proximate todo list yet.

>                       * libxl_device_disk_local_{attach,detach}. Become
>                         internal as part of Stefano's domain 0 disk
>                         attach series (patches posted, another round
>                         required?)

I believe I am expecting a revised series from Stefano, yes.

>                       * libxl_fork -- IanJ's event series will remove
>                         all users of this. (DONE)

Yes.

>       * xl compatibility with xm:
>               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
>                 reported by Fabio Fantoni in
>                 <4F9672DD.2080902@tiscali.it>

This needs my attention.

>               * does not automatically try to select a (set of) node(s)
>                 on which to create a VM and pin its vcpus there. (Dario
>                 Faggioli, patches posted)

This is still in progress somehow ?

>       * More formally deprecate xm/xend. Manpage patches already in
>         tree. Needs release noting and communication around -rc1 to
>         remind people to test xl.

Good.

>       * xl to refuse to run if xend is running, Roger Pau MonnÃ© (patch
>         posted, needs rebase)

Committed.

>       * Domain 0 block attach & general hotplug when using qdisk backend
>         (need to start qemu as necessary etc) (Stefano S, patches
>         posted, needs updates)

Is this not the same as the libxl_device_disk_local_{attach,detach}
series you mention above ?

>       * Improved Hotplug script support (Roger Pau MonnÃ©, patches
>         posted)

These are currently undergoing review/rework.

>       * Block script support -- follows on from hotplug script (Roger
>         Pau Monné)

Right.

>       * xs.h -> xenstore.h. Should do this for 4.2 rather than have
>         distros carry their own patches. (Ian C, patch posted)

I will be applying this today I hope.

> tools, nice to have:
>       * Initial xl support for Remus (memory checkpoint, blackholing)
>         (Shriram, was waiting on libxl side of qemu upstream
>         save/restore, now unblocked)

Yes.

>       * xl compatibility with xm:
>               * xl support for autospawning vncviewer (vncviewer=1 or
>                 otherwise) (Goncalo Gomes, new version of patch posted
>                 recently)

I think we are awaiting a reworked series from Goncalo.

>       * Directory usage in libxl (Bastian, as part of Debian packaging,
>         likely to defer to 4.3 unless there is some big problem with
>         packaging deviating from upstream)

I think this can wait.

Ian.


--===============2543054859318590087==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2543054859318590087==--

From xen-devel-bounces@lists.xen.org Mon May 14 15:34:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxGy-00089x-BT; Mon, 14 May 2012 15:33:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STxGx-00089o-Hy
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:33:19 +0000
Received: from [85.158.143.35:23855] by server-1.bemta-4.messagelabs.com id
	F9/16-20925-EB521BF4; Mon, 14 May 2012 15:33:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337009596!15324970!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24097 invoked from network); 14 May 2012 15:33:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:33:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462507"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:33:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:33:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STxGu-0005D2-5v; Mon, 14 May 2012 15:33:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STxGu-0004qT-55;
	Mon, 14 May 2012 16:33:16 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.9660.140351.151833@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:33:16 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2543054859318590087=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2543054859318590087==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Ian Campbell writes ("[Xen-devel] Xen 4.2 TODO / Release Plan"):
> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
...
> tools, blockers:
>       * libxl stable API -- we would like 4.2 to define a stable API
>         which downstream's can start to rely on not changing. Aspects of
>         this are:
>               * Safe fork vs. fd handling hooks. Involves API changes
>                 (Ian J, I think this was actually DONE a while back and
>                 I missed it)

This is indeed committed.

>               * libxl_wait_for_free_memory/libxl_wait_for_memory_target.
>                 Interface needs an overhaul, related to
>                 locking/serialization over domain create (deferred to
>                 4.3). IanJ to add note about this interface being
>                 substandard but otherwise defer to 4.3.

I have yet to write such a note.

>               * libxl_*_path. Majority made internal, only configdir and
>                 lockdir remain public (used by xl). Good enough?

Yes.  We should perhaps add a note saying that the lockdir path
function should not be used by out-of-tree callers.

>               * Interfaces which may need to be async:
>                       * libxl_domain_suspend. Probably need to move
>                         xc_domain_save into a separate process, as per
>                         <20366.40183.410388.447630@mariner.uk.xensource.com>. Likely need to do the same for xc_domain_restore too. (IanJ).

I am working on this.

>                       * libxl_domain_create_{new,restore} -- IanJ has
>                         patches as part of event series, (DONE).

Yes.

>                       * libxl_domain_core_dump. Can take a dummy ao_how
>                         and remain synchronous internally. (IanC, DONE)

Yes.

>                       * libxl_device_{disk,nic,vkb,add,pci}_add (and
>                         remove?). Roger Pau MonnÃ© fixes disk as part of
>                         hotplug script series and adds infrastructure
>                         which should make the others trivial. (Roger,
>                         WIP)

Right.

>                       * libxl_cdrom_insert. Should be easy once
>                         disk_{add,remove} done, IanJ to look at (or
>                         doing so?).

This isn't on my proximate todo list yet.

>                       * libxl_device_disk_local_{attach,detach}. Become
>                         internal as part of Stefano's domain 0 disk
>                         attach series (patches posted, another round
>                         required?)

I believe I am expecting a revised series from Stefano, yes.

>                       * libxl_fork -- IanJ's event series will remove
>                         all users of this. (DONE)

Yes.

>       * xl compatibility with xm:
>               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
>                 reported by Fabio Fantoni in
>                 <4F9672DD.2080902@tiscali.it>

This needs my attention.

>               * does not automatically try to select a (set of) node(s)
>                 on which to create a VM and pin its vcpus there. (Dario
>                 Faggioli, patches posted)

This is still in progress somehow ?

>       * More formally deprecate xm/xend. Manpage patches already in
>         tree. Needs release noting and communication around -rc1 to
>         remind people to test xl.

Good.

>       * xl to refuse to run if xend is running, Roger Pau MonnÃ© (patch
>         posted, needs rebase)

Committed.

>       * Domain 0 block attach & general hotplug when using qdisk backend
>         (need to start qemu as necessary etc) (Stefano S, patches
>         posted, needs updates)

Is this not the same as the libxl_device_disk_local_{attach,detach}
series you mention above ?

>       * Improved Hotplug script support (Roger Pau MonnÃ©, patches
>         posted)

These are currently undergoing review/rework.

>       * Block script support -- follows on from hotplug script (Roger
>         Pau Monné)

Right.

>       * xs.h -> xenstore.h. Should do this for 4.2 rather than have
>         distros carry their own patches. (Ian C, patch posted)

I will be applying this today I hope.

> tools, nice to have:
>       * Initial xl support for Remus (memory checkpoint, blackholing)
>         (Shriram, was waiting on libxl side of qemu upstream
>         save/restore, now unblocked)

Yes.

>       * xl compatibility with xm:
>               * xl support for autospawning vncviewer (vncviewer=1 or
>                 otherwise) (Goncalo Gomes, new version of patch posted
>                 recently)

I think we are awaiting a reworked series from Goncalo.

>       * Directory usage in libxl (Bastian, as part of Debian packaging,
>         likely to defer to 4.3 unless there is some big problem with
>         packaging deviating from upstream)

I think this can wait.

Ian.


--===============2543054859318590087==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2543054859318590087==--

From xen-devel-bounces@lists.xen.org Mon May 14 15:34:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxGp-000896-QN; Mon, 14 May 2012 15:33:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1STxGo-00088y-HI
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:33:10 +0000
Received: from [85.158.143.35:23331] by server-3.bemta-4.messagelabs.com id
	06/94-05853-5B521BF4; Mon, 14 May 2012 15:33:09 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337009588!4993314!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19284 invoked from network); 14 May 2012 15:33:08 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:33:08 -0000
Received: by eaak12 with SMTP id k12so1804227eaa.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 08:33:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=AwSeKtNHg44YE5mMwCyFdfQoNqmMpEJVcSbDF/07bOw=;
	b=oWu8PA/Jpo84IAS2jIRUuSgw9UrfxlWpibd01a/h8upZEnhweL8XIWYkZ1KO5L4Ukp
	RShqT7D0VEPwQJY0Uu5jdVP8h75Q7gStzMy8xqNfItSGc5dk0whF3J3a0euNm5KdZVXa
	h8naqU0r0q1s7YoGr+NiI62D6ycW5DL8o1bH83ytn01v4fB1Bq7cxhLTzCmhMRxntdn3
	BN3QbKE+v4fLxuAd4UxUeiiLe2L4WDUkvkB0ayaJF3sBcpzcYicVfN7I1A1VOzCi3iIg
	dscyllc3FyBFY0jxpEH3af2thBRrBkJR+BZyrCS71MoAXTQBB8yznsq0LlAeuae5lhNw
	+7CQ==
Received: by 10.213.21.8 with SMTP id h8mr1553151ebb.43.1337009587077;
	Mon, 14 May 2012 08:33:07 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id f16sm91792867eec.2.2012.05.14.08.33.03
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 08:33:06 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 14 May 2012 16:33:02 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD6E43E.331A2%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: fix i8259A_resume()
Thread-Index: Ac0x5tk1z5FUXtZqW027kHdEakJUKg==
In-Reply-To: <4FB10CAC0200007800083700@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: fix i8259A_resume()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/2012 12:46, "Jan Beulich" <JBeulich@suse.com> wrote:

> On systems that have an IO-APIC, we generally run the PIC in AEOI
> mode, yet i8259A_resume() so far failed to put it back into that mode.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -314,7 +314,7 @@ static void save_ELCR(char *trigger)
>  
>  int i8259A_resume(void)
>  {
> -    init_8259A(0);
> +    init_8259A(i8259A_irq_type.ack == disable_8259A_irq);
>      restore_ELCR(irq_trigger);
>      return 0;
>  }
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:34:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxGp-000896-QN; Mon, 14 May 2012 15:33:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1STxGo-00088y-HI
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:33:10 +0000
Received: from [85.158.143.35:23331] by server-3.bemta-4.messagelabs.com id
	06/94-05853-5B521BF4; Mon, 14 May 2012 15:33:09 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337009588!4993314!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19284 invoked from network); 14 May 2012 15:33:08 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:33:08 -0000
Received: by eaak12 with SMTP id k12so1804227eaa.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 08:33:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=AwSeKtNHg44YE5mMwCyFdfQoNqmMpEJVcSbDF/07bOw=;
	b=oWu8PA/Jpo84IAS2jIRUuSgw9UrfxlWpibd01a/h8upZEnhweL8XIWYkZ1KO5L4Ukp
	RShqT7D0VEPwQJY0Uu5jdVP8h75Q7gStzMy8xqNfItSGc5dk0whF3J3a0euNm5KdZVXa
	h8naqU0r0q1s7YoGr+NiI62D6ycW5DL8o1bH83ytn01v4fB1Bq7cxhLTzCmhMRxntdn3
	BN3QbKE+v4fLxuAd4UxUeiiLe2L4WDUkvkB0ayaJF3sBcpzcYicVfN7I1A1VOzCi3iIg
	dscyllc3FyBFY0jxpEH3af2thBRrBkJR+BZyrCS71MoAXTQBB8yznsq0LlAeuae5lhNw
	+7CQ==
Received: by 10.213.21.8 with SMTP id h8mr1553151ebb.43.1337009587077;
	Mon, 14 May 2012 08:33:07 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id f16sm91792867eec.2.2012.05.14.08.33.03
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 08:33:06 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 14 May 2012 16:33:02 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD6E43E.331A2%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: fix i8259A_resume()
Thread-Index: Ac0x5tk1z5FUXtZqW027kHdEakJUKg==
In-Reply-To: <4FB10CAC0200007800083700@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: fix i8259A_resume()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/2012 12:46, "Jan Beulich" <JBeulich@suse.com> wrote:

> On systems that have an IO-APIC, we generally run the PIC in AEOI
> mode, yet i8259A_resume() so far failed to put it back into that mode.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -314,7 +314,7 @@ static void save_ELCR(char *trigger)
>  
>  int i8259A_resume(void)
>  {
> -    init_8259A(0);
> +    init_8259A(i8259A_irq_type.ack == disable_8259A_irq);
>      restore_ELCR(irq_trigger);
>      return 0;
>  }
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:35:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxIT-0008Id-RI; Mon, 14 May 2012 15:34:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STxIS-0008IR-DA
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:34:52 +0000
Received: from [85.158.143.35:4290] by server-3.bemta-4.messagelabs.com id
	23/27-05853-B1621BF4; Mon, 14 May 2012 15:34:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337009676!13543070!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25094 invoked from network); 14 May 2012 15:34:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:34:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462535"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:34:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:34:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STxIB-0005Dc-TC; Mon, 14 May 2012 15:34:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STxIB-0004qn-SR;
	Mon, 14 May 2012 16:34:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.9739.610774.451974@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:34:35 +0100
To: Ian Campbell <ian.campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336991415-19018-1-git-send-email-ian.campbell@citrix.com>
References: <1336991415-19018-1-git-send-email-ian.campbell@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] tools: xen-lowmemd is x86 specific,
	only install for x86
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[Xen-devel] [PATCH] tools: xen-lowmemd is x86 specific, only install for x86"):
> It is TARGETS-$(CONFIG_X86) so it should be INSTALL_SBIN-$(CONFIG_X86) too
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:35:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxIT-0008Id-RI; Mon, 14 May 2012 15:34:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STxIS-0008IR-DA
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:34:52 +0000
Received: from [85.158.143.35:4290] by server-3.bemta-4.messagelabs.com id
	23/27-05853-B1621BF4; Mon, 14 May 2012 15:34:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337009676!13543070!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25094 invoked from network); 14 May 2012 15:34:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:34:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462535"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:34:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 16:34:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STxIB-0005Dc-TC; Mon, 14 May 2012 15:34:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STxIB-0004qn-SR;
	Mon, 14 May 2012 16:34:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.9739.610774.451974@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 16:34:35 +0100
To: Ian Campbell <ian.campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336991415-19018-1-git-send-email-ian.campbell@citrix.com>
References: <1336991415-19018-1-git-send-email-ian.campbell@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] tools: xen-lowmemd is x86 specific,
	only install for x86
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[Xen-devel] [PATCH] tools: xen-lowmemd is x86 specific, only install for x86"):
> It is TARGETS-$(CONFIG_X86) so it should be INSTALL_SBIN-$(CONFIG_X86) too
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:36:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxIl-0008K9-86; Mon, 14 May 2012 15:35:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1STxIj-0008Jq-BE
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:35:09 +0000
Received: from [85.158.143.35:34813] by server-1.bemta-4.messagelabs.com id
	AA/B8-20925-C2621BF4; Mon, 14 May 2012 15:35:08 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337009705!4993673!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25795 invoked from network); 14 May 2012 15:35:06 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:35:06 -0000
Received: by eaak12 with SMTP id k12so1804996eaa.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 08:35:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=aV0OBlV/Me4V8tWcJ7hTZAamO26X3RUjvTwGvYZtXdM=;
	b=CTOxGNpHcD7gQ2Yw6fAqmVJdPgLFZbCKS9+5zvKTzZUT5mMq52JU3Ca/R6YFD65cNb
	ubkCZ/HPTxgcsHY1yIBffpmnQwCnHYgWYo/4fj3sE1xXG9yjf0ut0h1s+2Vk6Z/lLAMh
	nly4wB6AdNvvDXssRYe+aDG3I1GiIbrgNL8RiOWcYs8ssxh1A7Bue04Qdtm10y61iiDO
	pAUAbRBq9CvITnOpZNMoQrjqGVqG8VW7Jr4gHFzqafgsW5SxzXcHiqpoPWrRkH0L88sm
	n7A/tB8LIrbFPDCr6yrB0QzCj4CVdFbs51xi/sAHet4DtNQroNuyLrlzoYKYP2IqlJQM
	TN0w==
Received: by 10.213.27.26 with SMTP id g26mr1545289ebc.5.1337009705096;
	Mon, 14 May 2012 08:35:05 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id d18sm91759923eeb.7.2012.05.14.08.35.03
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 08:35:04 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 14 May 2012 16:35:02 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD6E4B6.331A3%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] x86: adjust handling of interrupts coming in via
	legacy vectors
Thread-Index: Ac0x5yC7F6Jvi7De0kSLi/cpQip5ZA==
In-Reply-To: <4FB119090200007800083738@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/2012 13:39, "Jan Beulich" <JBeulich@suse.com> wrote:

> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
> number of times (one report being
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
> apparently always with a vector within the legacy range. Obviously,
> besides legacy vectors not normally expected to be in use on systems
> with IO-APIC(s), they should never make it to the IRQ migration logic.
> 
> This wasn't being prevented so far: Since we don't have a one-to-one
> mapping between vectors and IRQs - legacy IRQs may have two vectors
> associated with them (one used in either 8259A, the other used in one
> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
> really being handled via an IO-APIC.
> 
> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
> particular interrupts, restores it.
> 
> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
> too: Interrupts coming in via legacy vectors obviously didn't get
> reported through the IO-APIC/LAPIC pair (as we never program these
> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
> have the 8259A driver take care of the bogus interrupt (as outside of
> automatice EOI mode it may need an EOI to be issued for it to prevent
> other interrupts that may legitimately go through the 8259As from
> getting masked out).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Looks sensible, and I suppose good to have for 4.2.

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>  
>  static DEFINE_SPINLOCK(i8259A_lock);
>  
> -static void mask_and_ack_8259A_irq(struct irq_desc *);
> +static void _mask_and_ack_8259A_irq(unsigned int irq);
> +
> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
> +    _mask_and_ack_8259A_irq;
> +
> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +{
> +    _mask_and_ack_8259A_irq(desc->irq);
> +}
>  
>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>  {
> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>   */
>  unsigned int __read_mostly io_apic_irqs;
>  
> -void disable_8259A_irq(struct irq_desc *desc)
> +static void _disable_8259A_irq(unsigned int irq)
>  {
> -    unsigned int mask = 1 << desc->irq;
> +    unsigned int mask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask |= mask;
> -    if (desc->irq & 8)
> +    if (irq & 8)
>          outb(cached_A1,0xA1);
>      else
>          outb(cached_21,0x21);
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>  }
>  
> +void disable_8259A_irq(struct irq_desc *desc)
> +{
> +    _disable_8259A_irq(desc->irq);
> +}
> +
>  void enable_8259A_irq(struct irq_desc *desc)
>  {
>      unsigned int mask = ~(1 << desc->irq);
> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask &= mask;
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>      if (desc->irq & 8)
>          outb(cached_A1,0xA1);
>      else
> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>   * first, _then_ send the EOI, and the order of EOI
>   * to the two 8259s is important!
>   */
> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>  {
> -    unsigned int irqmask = 1 << desc->irq;
> +    unsigned int irqmask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>      cached_irq_mask |= irqmask;
>  
>   handle_real_irq:
> -    if (desc->irq & 8) {
> +    if (irq & 8) {
>          inb(0xA1);              /* DUMMY - (do we need this?) */
>          outb(cached_A1,0xA1);
> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>      } else {
>          inb(0x21);              /* DUMMY - (do we need this?) */
>          outb(cached_21,0x21);
> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>      }
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>      return;
> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>      /*
>       * this is the slow path - should happen rarely.
>       */
> -    if (i8259A_irq_real(desc->irq))
> +    if (i8259A_irq_real(irq))
>          /*
>           * oops, the IRQ _is_ in service according to the
>           * 8259A - not spurious, go handle it.
> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>           * lets ACK and report it. [once per IRQ]
>           */
>          if (!(spurious_irq_mask & irqmask)) {
> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>              spurious_irq_mask |= irqmask;
>          }
>          /*
> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>                                 is to be investigated) */
>  
>      if (auto_eoi)
> +    {
>          /*
>           * in AEOI mode we just have to mask the interrupt
>           * when acking.
>           */
>          i8259A_irq_type.ack = disable_8259A_irq;
> +        bogus_8259A_irq = _disable_8259A_irq;
> +    }
>      else
> +    {
>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
> +    }
>  
>      udelay(100);            /* wait for 8259A to initialize */
>  
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
>          if (direct_apic_vector[vector] != NULL) {
>              (*direct_apic_vector[vector])(regs);
>          } else {
> -            ack_APIC_irq();
> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
> -                   __func__, smp_processor_id(), vector, irq);
> +            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR
> )
> +                ack_APIC_irq();
> +            else
> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
> +            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
> +                   smp_processor_id(), vector, irq);
>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>          }
>          goto out_no_unlock;
> --- a/xen/include/asm-x86/irq.h
> +++ b/xen/include/asm-x86/irq.h
> @@ -104,6 +104,7 @@ void mask_8259A(void);
>  void unmask_8259A(void);
>  void init_8259A(int aeoi);
>  void make_8259A_irq(unsigned int irq);
> +extern void (*bogus_8259A_irq)(unsigned int irq);
>  int i8259A_suspend(void);
>  int i8259A_resume(void);
>  
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:36:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxIl-0008K9-86; Mon, 14 May 2012 15:35:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1STxIj-0008Jq-BE
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:35:09 +0000
Received: from [85.158.143.35:34813] by server-1.bemta-4.messagelabs.com id
	AA/B8-20925-C2621BF4; Mon, 14 May 2012 15:35:08 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337009705!4993673!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25795 invoked from network); 14 May 2012 15:35:06 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:35:06 -0000
Received: by eaak12 with SMTP id k12so1804996eaa.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 08:35:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=aV0OBlV/Me4V8tWcJ7hTZAamO26X3RUjvTwGvYZtXdM=;
	b=CTOxGNpHcD7gQ2Yw6fAqmVJdPgLFZbCKS9+5zvKTzZUT5mMq52JU3Ca/R6YFD65cNb
	ubkCZ/HPTxgcsHY1yIBffpmnQwCnHYgWYo/4fj3sE1xXG9yjf0ut0h1s+2Vk6Z/lLAMh
	nly4wB6AdNvvDXssRYe+aDG3I1GiIbrgNL8RiOWcYs8ssxh1A7Bue04Qdtm10y61iiDO
	pAUAbRBq9CvITnOpZNMoQrjqGVqG8VW7Jr4gHFzqafgsW5SxzXcHiqpoPWrRkH0L88sm
	n7A/tB8LIrbFPDCr6yrB0QzCj4CVdFbs51xi/sAHet4DtNQroNuyLrlzoYKYP2IqlJQM
	TN0w==
Received: by 10.213.27.26 with SMTP id g26mr1545289ebc.5.1337009705096;
	Mon, 14 May 2012 08:35:05 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id d18sm91759923eeb.7.2012.05.14.08.35.03
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 08:35:04 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 14 May 2012 16:35:02 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD6E4B6.331A3%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] x86: adjust handling of interrupts coming in via
	legacy vectors
Thread-Index: Ac0x5yC7F6Jvi7De0kSLi/cpQip5ZA==
In-Reply-To: <4FB119090200007800083738@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/2012 13:39, "Jan Beulich" <JBeulich@suse.com> wrote:

> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
> number of times (one report being
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
> apparently always with a vector within the legacy range. Obviously,
> besides legacy vectors not normally expected to be in use on systems
> with IO-APIC(s), they should never make it to the IRQ migration logic.
> 
> This wasn't being prevented so far: Since we don't have a one-to-one
> mapping between vectors and IRQs - legacy IRQs may have two vectors
> associated with them (one used in either 8259A, the other used in one
> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
> really being handled via an IO-APIC.
> 
> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
> particular interrupts, restores it.
> 
> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
> too: Interrupts coming in via legacy vectors obviously didn't get
> reported through the IO-APIC/LAPIC pair (as we never program these
> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
> have the 8259A driver take care of the bogus interrupt (as outside of
> automatice EOI mode it may need an EOI to be issued for it to prevent
> other interrupts that may legitimately go through the 8259As from
> getting masked out).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Looks sensible, and I suppose good to have for 4.2.

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>  
>  static DEFINE_SPINLOCK(i8259A_lock);
>  
> -static void mask_and_ack_8259A_irq(struct irq_desc *);
> +static void _mask_and_ack_8259A_irq(unsigned int irq);
> +
> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
> +    _mask_and_ack_8259A_irq;
> +
> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +{
> +    _mask_and_ack_8259A_irq(desc->irq);
> +}
>  
>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>  {
> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>   */
>  unsigned int __read_mostly io_apic_irqs;
>  
> -void disable_8259A_irq(struct irq_desc *desc)
> +static void _disable_8259A_irq(unsigned int irq)
>  {
> -    unsigned int mask = 1 << desc->irq;
> +    unsigned int mask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask |= mask;
> -    if (desc->irq & 8)
> +    if (irq & 8)
>          outb(cached_A1,0xA1);
>      else
>          outb(cached_21,0x21);
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>  }
>  
> +void disable_8259A_irq(struct irq_desc *desc)
> +{
> +    _disable_8259A_irq(desc->irq);
> +}
> +
>  void enable_8259A_irq(struct irq_desc *desc)
>  {
>      unsigned int mask = ~(1 << desc->irq);
> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask &= mask;
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>      if (desc->irq & 8)
>          outb(cached_A1,0xA1);
>      else
> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>   * first, _then_ send the EOI, and the order of EOI
>   * to the two 8259s is important!
>   */
> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>  {
> -    unsigned int irqmask = 1 << desc->irq;
> +    unsigned int irqmask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>      cached_irq_mask |= irqmask;
>  
>   handle_real_irq:
> -    if (desc->irq & 8) {
> +    if (irq & 8) {
>          inb(0xA1);              /* DUMMY - (do we need this?) */
>          outb(cached_A1,0xA1);
> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>      } else {
>          inb(0x21);              /* DUMMY - (do we need this?) */
>          outb(cached_21,0x21);
> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>      }
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>      return;
> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>      /*
>       * this is the slow path - should happen rarely.
>       */
> -    if (i8259A_irq_real(desc->irq))
> +    if (i8259A_irq_real(irq))
>          /*
>           * oops, the IRQ _is_ in service according to the
>           * 8259A - not spurious, go handle it.
> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>           * lets ACK and report it. [once per IRQ]
>           */
>          if (!(spurious_irq_mask & irqmask)) {
> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>              spurious_irq_mask |= irqmask;
>          }
>          /*
> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>                                 is to be investigated) */
>  
>      if (auto_eoi)
> +    {
>          /*
>           * in AEOI mode we just have to mask the interrupt
>           * when acking.
>           */
>          i8259A_irq_type.ack = disable_8259A_irq;
> +        bogus_8259A_irq = _disable_8259A_irq;
> +    }
>      else
> +    {
>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
> +    }
>  
>      udelay(100);            /* wait for 8259A to initialize */
>  
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -811,9 +811,12 @@ void do_IRQ(struct cpu_user_regs *regs)
>          if (direct_apic_vector[vector] != NULL) {
>              (*direct_apic_vector[vector])(regs);
>          } else {
> -            ack_APIC_irq();
> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
> -                   __func__, smp_processor_id(), vector, irq);
> +            if ( vector < FIRST_LEGACY_VECTOR || vector > LAST_LEGACY_VECTOR
> )
> +                ack_APIC_irq();
> +            else
> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
> +            printk("CPU%u: No handler for vector %02x (IRQ %d)\n",
> +                   smp_processor_id(), vector, irq);
>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>          }
>          goto out_no_unlock;
> --- a/xen/include/asm-x86/irq.h
> +++ b/xen/include/asm-x86/irq.h
> @@ -104,6 +104,7 @@ void mask_8259A(void);
>  void unmask_8259A(void);
>  void init_8259A(int aeoi);
>  void make_8259A_irq(unsigned int irq);
> +extern void (*bogus_8259A_irq)(unsigned int irq);
>  int i8259A_suspend(void);
>  int i8259A_resume(void);
>  
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:40:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:40:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxMa-0000Fd-Sd; Mon, 14 May 2012 15:39:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxMZ-0000FT-Po
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:39:08 +0000
Received: from [85.158.139.83:19771] by server-5.bemta-5.messagelabs.com id
	E4/73-13566-A1721BF4; Mon, 14 May 2012 15:39:06 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337009945!24378890!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1176 invoked from network); 14 May 2012 15:39:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 15:39:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 16:39:04 +0100
Message-Id: <4FB143540200007800083883@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 16:39:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
	<4FB109B8.7030208@citrix.com>
	<4FB132C80200007800083808@nat28.tlf.novell.com>
	<4FB118F5.4050709@citrix.com>
In-Reply-To: <4FB118F5.4050709@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 16:38, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 14/05/12 15:28, Jan Beulich wrote:
>>>>> On 14.05.12 at 15:33, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>> On 14/05/12 13:55, Jan Beulich wrote:
>>>>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>>>>> number of times (one report being
>>>>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>>>>> apparently always with a vector within the legacy range. Obviously,
>>>>> besides legacy vectors not normally expected to be in use on systems
>>>>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>>>>
>>>>> This wasn't being prevented so far: Since we don't have a one-to-one
>>>>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>>>>> associated with them (one used in either 8259A, the other used in one
>>>>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>>>>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>>>>> really being handled via an IO-APIC.
>>>>>
>>>>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>>>>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>>>>> particular interrupts, restores it.
>>>>>
>>>>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>>>>> too: Interrupts coming in via legacy vectors obviously didn't get
>>>>> reported through the IO-APIC/LAPIC pair (as we never program these
>>>>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>>>>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>>>>> have the 8259A driver take care of the bogus interrupt (as outside of
>>>>> automatice EOI mode it may need an EOI to be issued for it to prevent
>>>>> other interrupts that may legitimately go through the 8259As from
>>>>> getting masked out).
>>>> Note that this patch does not make any attempt at dealing with the
>>>> underlying issue that causes the bogus interrupt(s) to show up. If
>>>> my analysis is right, we shouldn't see crashes anymore, but instead
>>>> observe instances of spurious interrupts on legacy vectors. It would
>>>> certainly be nice to have an actual proof of this (albeit I realize that
>>>> this isn't readily reproducible), in order to then - if indeed behaving
>>>> as expected - add debugging code to identify whether such interrupts
>>>> in fact get raised by one of the 8259A-s (particularly printing the
>>>> cached and physical mask register values), or whether they get
>>>> introduced into the system by yet another obscure mechanism.
>>>>
>>>> One particular thing I'm suspicious about are the numerous aliases
>>>> to the two (each) 8259A I/O ports that various chipsets have: What
>>>> if some component in Dom0 accesses one of the alias ports in order
>>>> to do something specific to a non-standard platform (say, probe for
>>>> some special hardware interface), not realizing that it actually plays
>>>> with PIC state? Linux under the same conditions wouldn't severely
>>>> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
>>>> merely observe an extra interrupt.
>>> On the whole, the patch looks sensible, but what happens if the spurious
>>> interrupt is coming in through the Local APIC ?  If this is the case,
>>> then we still need to ACK it, even if it is a bogus PIC interrupt.
>>>
>>> Perhaps in irq.c, the changes should check whether the observed vector
>>> has been raised in the LAPIC and ack it, and then decide whether it is
>>> bogus or not.
>> Should that really turn out to be the case, we're in much bigger trouble,
>> as then we need an explanation how an interrupt at that vector could
>> have got raised in the first place. I'd therefore like to keep the current
>> change deal only with things that we know can happen.
> 
> We would be in huge trouble.  As it currently stands, I am not certain
> that we can be sure that this is not happening.
> 
> As a concession, perhaps a test of the LAPIC IIR, and an obvious error
> to the console?  It would be be more useful than having Xen crash/hang
> due to no longer always ack'ing the LAPIC.

Okay, let's do both then (check LAPIC and 8259A). I'll send an updated
patch soon.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:40:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:40:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxMa-0000Fd-Sd; Mon, 14 May 2012 15:39:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxMZ-0000FT-Po
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:39:08 +0000
Received: from [85.158.139.83:19771] by server-5.bemta-5.messagelabs.com id
	E4/73-13566-A1721BF4; Mon, 14 May 2012 15:39:06 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337009945!24378890!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1176 invoked from network); 14 May 2012 15:39:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 15:39:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 16:39:04 +0100
Message-Id: <4FB143540200007800083883@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 16:39:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<4FB11CFE020000780008375B@nat28.tlf.novell.com>
	<4FB109B8.7030208@citrix.com>
	<4FB132C80200007800083808@nat28.tlf.novell.com>
	<4FB118F5.4050709@citrix.com>
In-Reply-To: <4FB118F5.4050709@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: adjust handling of interrupts coming
 in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 16:38, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 14/05/12 15:28, Jan Beulich wrote:
>>>>> On 14.05.12 at 15:33, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>> On 14/05/12 13:55, Jan Beulich wrote:
>>>>>>> On 14.05.12 at 14:39, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>>>>> number of times (one report being
>>>>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>>>>> apparently always with a vector within the legacy range. Obviously,
>>>>> besides legacy vectors not normally expected to be in use on systems
>>>>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>>>>
>>>>> This wasn't being prevented so far: Since we don't have a one-to-one
>>>>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>>>>> associated with them (one used in either 8259A, the other used in one
>>>>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>>>>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>>>>> really being handled via an IO-APIC.
>>>>>
>>>>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>>>>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>>>>> particular interrupts, restores it.
>>>>>
>>>>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>>>>> too: Interrupts coming in via legacy vectors obviously didn't get
>>>>> reported through the IO-APIC/LAPIC pair (as we never program these
>>>>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>>>>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>>>>> have the 8259A driver take care of the bogus interrupt (as outside of
>>>>> automatice EOI mode it may need an EOI to be issued for it to prevent
>>>>> other interrupts that may legitimately go through the 8259As from
>>>>> getting masked out).
>>>> Note that this patch does not make any attempt at dealing with the
>>>> underlying issue that causes the bogus interrupt(s) to show up. If
>>>> my analysis is right, we shouldn't see crashes anymore, but instead
>>>> observe instances of spurious interrupts on legacy vectors. It would
>>>> certainly be nice to have an actual proof of this (albeit I realize that
>>>> this isn't readily reproducible), in order to then - if indeed behaving
>>>> as expected - add debugging code to identify whether such interrupts
>>>> in fact get raised by one of the 8259A-s (particularly printing the
>>>> cached and physical mask register values), or whether they get
>>>> introduced into the system by yet another obscure mechanism.
>>>>
>>>> One particular thing I'm suspicious about are the numerous aliases
>>>> to the two (each) 8259A I/O ports that various chipsets have: What
>>>> if some component in Dom0 accesses one of the alias ports in order
>>>> to do something specific to a non-standard platform (say, probe for
>>>> some special hardware interface), not realizing that it actually plays
>>>> with PIC state? Linux under the same conditions wouldn't severely
>>>> suffer - as it has a 1:1 vector <-> IRQ translation, it likely would
>>>> merely observe an extra interrupt.
>>> On the whole, the patch looks sensible, but what happens if the spurious
>>> interrupt is coming in through the Local APIC ?  If this is the case,
>>> then we still need to ACK it, even if it is a bogus PIC interrupt.
>>>
>>> Perhaps in irq.c, the changes should check whether the observed vector
>>> has been raised in the LAPIC and ack it, and then decide whether it is
>>> bogus or not.
>> Should that really turn out to be the case, we're in much bigger trouble,
>> as then we need an explanation how an interrupt at that vector could
>> have got raised in the first place. I'd therefore like to keep the current
>> change deal only with things that we know can happen.
> 
> We would be in huge trouble.  As it currently stands, I am not certain
> that we can be sure that this is not happening.
> 
> As a concession, perhaps a test of the LAPIC IIR, and an obvious error
> to the console?  It would be be more useful than having Xen crash/hang
> due to no longer always ack'ing the LAPIC.

Okay, let's do both then (check LAPIC and 8259A). I'll send an updated
patch soon.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:45:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:45:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxR5-0000PD-J0; Mon, 14 May 2012 15:43:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STxR4-0000P7-4L
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:43:46 +0000
Received: from [85.158.143.35:27964] by server-1.bemta-4.messagelabs.com id
	C9/16-20925-13821BF4; Mon, 14 May 2012 15:43:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337010224!14100264!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 367 invoked from network); 14 May 2012 15:43:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:43:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:43:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 16:43:44 +0100
Message-ID: <1337010222.6497.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 16:43:42 +0100
In-Reply-To: <20401.9660.140351.151833@mariner.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<20401.9660.140351.151833@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 16:33 +0100, Ian Jackson wrote:
> >               * libxl_*_path. Majority made internal, only configdir and
> >                 lockdir remain public (used by xl). Good enough?
> 
> Yes.  We should perhaps add a note saying that the lockdir path
> function should not be used by out-of-tree callers.

Or move lockdir into xl, it's only actually used there.

So is config_dir_path now I look at it.

> >                       * libxl_cdrom_insert. Should be easy once
> >                         disk_{add,remove} done, IanJ to look at (or
> >                         doing so?).
> 
> This isn't on my proximate todo list yet.

OK.

> >               * does not automatically try to select a (set of) node(s)
> >                 on which to create a VM and pin its vcpus there. (Dario
> >                 Faggioli, patches posted)
> 
> This is still in progress somehow ?

RFC posted, awaiting another round IIRC.

> >       * Domain 0 block attach & general hotplug when using qdisk backend
> >         (need to start qemu as necessary etc) (Stefano S, patches
> >         posted, needs updates)
> 
> Is this not the same as the libxl_device_disk_local_{attach,detach}
> series you mention above ?

Yes it is.

The first entry was under "make them async if necessary", which noted
that this would be fixed by Stefano's series which was making them
internal, which is this second entry.

> >       * xl compatibility with xm:
> >               * xl support for autospawning vncviewer (vncviewer=1 or
> >                 otherwise) (Goncalo Gomes, new version of patch posted
> >                 recently)
> 
> I think we are awaiting a reworked series from Goncalo.

Yes.

> >       * Directory usage in libxl (Bastian, as part of Debian packaging,
> >         likely to defer to 4.3 unless there is some big problem with
> >         packaging deviating from upstream)
> 
> I think this can wait.

Agreed.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:45:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:45:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxR5-0000PD-J0; Mon, 14 May 2012 15:43:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STxR4-0000P7-4L
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:43:46 +0000
Received: from [85.158.143.35:27964] by server-1.bemta-4.messagelabs.com id
	C9/16-20925-13821BF4; Mon, 14 May 2012 15:43:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337010224!14100264!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 367 invoked from network); 14 May 2012 15:43:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 15:43:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12462935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 15:43:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 16:43:44 +0100
Message-ID: <1337010222.6497.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 16:43:42 +0100
In-Reply-To: <20401.9660.140351.151833@mariner.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<20401.9660.140351.151833@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 16:33 +0100, Ian Jackson wrote:
> >               * libxl_*_path. Majority made internal, only configdir and
> >                 lockdir remain public (used by xl). Good enough?
> 
> Yes.  We should perhaps add a note saying that the lockdir path
> function should not be used by out-of-tree callers.

Or move lockdir into xl, it's only actually used there.

So is config_dir_path now I look at it.

> >                       * libxl_cdrom_insert. Should be easy once
> >                         disk_{add,remove} done, IanJ to look at (or
> >                         doing so?).
> 
> This isn't on my proximate todo list yet.

OK.

> >               * does not automatically try to select a (set of) node(s)
> >                 on which to create a VM and pin its vcpus there. (Dario
> >                 Faggioli, patches posted)
> 
> This is still in progress somehow ?

RFC posted, awaiting another round IIRC.

> >       * Domain 0 block attach & general hotplug when using qdisk backend
> >         (need to start qemu as necessary etc) (Stefano S, patches
> >         posted, needs updates)
> 
> Is this not the same as the libxl_device_disk_local_{attach,detach}
> series you mention above ?

Yes it is.

The first entry was under "make them async if necessary", which noted
that this would be fixed by Stefano's series which was making them
internal, which is this second entry.

> >       * xl compatibility with xm:
> >               * xl support for autospawning vncviewer (vncviewer=1 or
> >                 otherwise) (Goncalo Gomes, new version of patch posted
> >                 recently)
> 
> I think we are awaiting a reworked series from Goncalo.

Yes.

> >       * Directory usage in libxl (Bastian, as part of Debian packaging,
> >         likely to defer to 4.3 unless there is some big problem with
> >         packaging deviating from upstream)
> 
> I think this can wait.

Agreed.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:54:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:54:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxZy-0000cL-PZ; Mon, 14 May 2012 15:52:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxZw-0000cG-Rk
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:52:57 +0000
Received: from [85.158.139.83:45648] by server-8.bemta-5.messagelabs.com id
	EE/06-26964-75A21BF4; Mon, 14 May 2012 15:52:55 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337010774!28647094!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16116 invoked from network); 14 May 2012 15:52:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 15:52:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 16:52:55 +0100
Message-Id: <4FB1469102000078000838A2@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 16:53:21 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartDDF32E61.0__="
Subject: [Xen-devel] [PATCH,
 v2] x86: adjust handling of interrupts coming in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartDDF32E61.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

The debugging code added in c/s 24707:96987c324a4f was hit a (small)
number of times (one report being
http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
apparently always with a vector within the legacy range. Obviously,
besides legacy vectors not normally expected to be in use on systems
with IO-APIC(s), they should never make it to the IRQ migration logic.

This wasn't being prevented so far: Since we don't have a one-to-one
mapping between vectors and IRQs - legacy IRQs may have two vectors
associated with them (one used in either 8259A, the other used in one
of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
used in do_IRQ()) would yield a valid IRQ number despite the IRQ
really being handled via an IO-APIC.

This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
IRQ mapping, and enable_8259A_irq(), should it ever be called for a
particular interrupts, restores it.

Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
too: Interrupts coming in via legacy vectors obviously didn't get
reported through the IO-APIC/LAPIC pair (as we never program these
vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
have the 8259A driver take care of the bogus interrupt (as outside of
automatice EOI mode it may need an EOI to be issued for it to prevent
other interrupts that may legitimately go through the 8259As from
getting masked out).

Changes in v2: Check LAPIC's ISR to decide whether to call
ack_APIC_irq(), and use the vector only to decide whether to call
bogus_8259A_irq(). Use the newly introduced helper function also in the
two places in apic.c where this so far was open-coded.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1317,15 +1317,12 @@ void smp_send_state_dump(unsigned int cp
  */
 void spurious_interrupt(struct cpu_user_regs *regs)
 {
-    unsigned long v;
-
     /*
      * Check if this is a vectored interrupt (most likely, as this is =
probably
      * a request to dump local CPU state). Vectored interrupts are ACKed;
      * spurious interrupts are not.
      */
-    v =3D apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> 1));
-    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {
+    if (apic_isr_read(SPURIOUS_APIC_VECTOR)) {
         ack_APIC_irq();
         if (this_cpu(state_dump_pending)) {
             this_cpu(state_dump_pending) =3D 0;
@@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mode(v
=20
 void check_for_unexpected_msi(unsigned int vector)
 {
-    unsigned long v =3D apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));
-    BUG_ON(v & (1 << (vector & 0x1f)));
+    BUG_ON(apic_isr_read(vector));
 }
--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
=20
 static DEFINE_SPINLOCK(i8259A_lock);
=20
-static void mask_and_ack_8259A_irq(struct irq_desc *);
+static void _mask_and_ack_8259A_irq(unsigned int irq);
+
+void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =3D
+    _mask_and_ack_8259A_irq;
+
+static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+{
+    _mask_and_ack_8259A_irq(desc->irq);
+}
=20
 static unsigned int startup_8259A_irq(struct irq_desc *desc)
 {
@@ -133,20 +141,26 @@ static unsigned int cached_irq_mask =3D 0x
  */
 unsigned int __read_mostly io_apic_irqs;
=20
-void disable_8259A_irq(struct irq_desc *desc)
+static void _disable_8259A_irq(unsigned int irq)
 {
-    unsigned int mask =3D 1 << desc->irq;
+    unsigned int mask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask |=3D mask;
-    if (desc->irq & 8)
+    if (irq & 8)
         outb(cached_A1,0xA1);
     else
         outb(cached_21,0x21);
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;
     spin_unlock_irqrestore(&i8259A_lock, flags);
 }
=20
+void disable_8259A_irq(struct irq_desc *desc)
+{
+    _disable_8259A_irq(desc->irq);
+}
+
 void enable_8259A_irq(struct irq_desc *desc)
 {
     unsigned int mask =3D ~(1 << desc->irq);
@@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask &=3D mask;
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] =3D desc->irq;
     if (desc->irq & 8)
         outb(cached_A1,0xA1);
     else
@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
  * first, _then_ send the EOI, and the order of EOI
  * to the two 8259s is important!
  */
-static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+static void _mask_and_ack_8259A_irq(unsigned int irq)
 {
-    unsigned int irqmask =3D 1 << desc->irq;
+    unsigned int irqmask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
@@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
     cached_irq_mask |=3D irqmask;
=20
  handle_real_irq:
-    if (desc->irq & 8) {
+    if (irq & 8) {
         inb(0xA1);              /* DUMMY - (do we need this?) */
         outb(cached_A1,0xA1);
-        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
+        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
         outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
     } else {
         inb(0x21);              /* DUMMY - (do we need this?) */
         outb(cached_21,0x21);
-        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
+        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
     }
     spin_unlock_irqrestore(&i8259A_lock, flags);
     return;
@@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
     /*
      * this is the slow path - should happen rarely.
      */
-    if (i8259A_irq_real(desc->irq))
+    if (i8259A_irq_real(irq))
         /*
          * oops, the IRQ _is_ in service according to the
          * 8259A - not spurious, go handle it.
@@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
          * lets ACK and report it. [once per IRQ]
          */
         if (!(spurious_irq_mask & irqmask)) {
-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
             spurious_irq_mask |=3D irqmask;
         }
         /*
@@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
                                is to be investigated) */
=20
     if (auto_eoi)
+    {
         /*
          * in AEOI mode we just have to mask the interrupt
          * when acking.
          */
         i8259A_irq_type.ack =3D disable_8259A_irq;
+        bogus_8259A_irq =3D _disable_8259A_irq;
+    }
     else
+    {
         i8259A_irq_type.ack =3D mask_and_ack_8259A_irq;
+        bogus_8259A_irq =3D _mask_and_ack_8259A_irq;
+    }
=20
     udelay(100);            /* wait for 8259A to initialize */
=20
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)
         if (direct_apic_vector[vector] !=3D NULL) {
             (*direct_apic_vector[vector])(regs);
         } else {
-            ack_APIC_irq();
-            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
-                   __func__, smp_processor_id(), vector, irq);
+            const char *kind =3D ", LAPIC";
+
+            if ( apic_isr_read(vector) )
+                ack_APIC_irq();
+            else
+                kind =3D "";
+            if ( vector >=3D FIRST_LEGACY_VECTOR &&
+                 vector <=3D LAST_LEGACY_VECTOR )
+                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
+            printk("CPU%u: No irq handler for vector %02x (IRQ %d%s)\n",
+                   smp_processor_id(), vector, irq, kind);
             TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
         }
         goto out_no_unlock;
--- a/xen/include/asm-x86/apic.h
+++ b/xen/include/asm-x86/apic.h
@@ -146,6 +146,12 @@ static __inline void apic_icr_write(u32=20
     }
 }
=20
+static __inline bool_t apic_isr_read(u8 vector)
+{
+    return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
+            (vector & 0x1f)) & 1;
+}
+
 static __inline u32 get_apic_id(void) /* Get the physical APIC id */
 {
     u32 id =3D apic_read(APIC_ID);
--- a/xen/include/asm-x86/irq.h
+++ b/xen/include/asm-x86/irq.h
@@ -104,6 +104,7 @@ void mask_8259A(void);
 void unmask_8259A(void);
 void init_8259A(int aeoi);
 void make_8259A_irq(unsigned int irq);
+extern void (*bogus_8259A_irq)(unsigned int irq);
 int i8259A_suspend(void);
 int i8259A_resume(void);
=20



--=__PartDDF32E61.0__=
Content-Type: text/plain; name="x86-spurious-8259A-irq.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-spurious-8259A-irq.patch"

x86: adjust handling of interrupts coming in via legacy vectors=0A=0AThe =
debugging code added in c/s 24707:96987c324a4f was hit a (small)=0Anumber =
of times (one report being=0Ahttp://lists.xen.org/archives/html/xen-devel/2=
012-05/msg00332.html),=0Aapparently always with a vector within the legacy =
range. Obviously,=0Abesides legacy vectors not normally expected to be in =
use on systems=0Awith IO-APIC(s), they should never make it to the IRQ =
migration logic.=0A=0AThis wasn't being prevented so far: Since we don't =
have a one-to-one=0Amapping between vectors and IRQs - legacy IRQs may =
have two vectors=0Aassociated with them (one used in either 8259A, the =
other used in one=0Aof the IO-APICs) -, vector-to-IRQ translations for =
legacy vectors (as=0Aused in do_IRQ()) would yield a valid IRQ number =
despite the IRQ=0Areally being handled via an IO-APIC.=0A=0AThis gets =
changed here - disable_8259A_irq() zaps the legacy vector-to-=0AIRQ =
mapping, and enable_8259A_irq(), should it ever be called for a=0Aparticula=
r interrupts, restores it.=0A=0AAdditionally, the spurious interrupt logic =
in do_IRQ() gets adjusted=0Atoo: Interrupts coming in via legacy vectors =
obviously didn't get=0Areported through the IO-APIC/LAPIC pair (as we =
never program these=0Avectors into any RTE), and hence shouldn't get =
ack_APIC_irq() called on=0Athem. Instead, a new function (pointer) =
bogus_8259A_irq() gets used to=0Ahave the 8259A driver take care of the =
bogus interrupt (as outside of=0Aautomatice EOI mode it may need an EOI to =
be issued for it to prevent=0Aother interrupts that may legitimately go =
through the 8259As from=0Agetting masked out).=0A=0AChanges in v2: Check =
LAPIC's ISR to decide whether to call=0Aack_APIC_irq(), and use the vector =
only to decide whether to call=0Abogus_8259A_irq(). Use the newly =
introduced helper function also in the=0Atwo places in apic.c where this =
so far was open-coded.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=
=0A=0A--- a/xen/arch/x86/apic.c=0A+++ b/xen/arch/x86/apic.c=0A@@ -1317,15 =
+1317,12 @@ void smp_send_state_dump(unsigned int cp=0A  */=0A void =
spurious_interrupt(struct cpu_user_regs *regs)=0A {=0A-    unsigned long =
v;=0A-=0A     /*=0A      * Check if this is a vectored interrupt (most =
likely, as this is probably=0A      * a request to dump local CPU state). =
Vectored interrupts are ACKed;=0A      * spurious interrupts are not.=0A   =
   */=0A-    v =3D apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> =
1));=0A-    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {=0A+    if =
(apic_isr_read(SPURIOUS_APIC_VECTOR)) {=0A         ack_APIC_irq();=0A      =
   if (this_cpu(state_dump_pending)) {=0A             this_cpu(state_dump_p=
ending) =3D 0;=0A@@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mo=
de(v=0A =0A void check_for_unexpected_msi(unsigned int vector)=0A {=0A-    =
unsigned long v =3D apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));=0A-    =
BUG_ON(v & (1 << (vector & 0x1f)));=0A+    BUG_ON(apic_isr_read(vector));=
=0A }=0A--- a/xen/arch/x86/i8259.c=0A+++ b/xen/arch/x86/i8259.c=0A@@ -85,7 =
+85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU=0A =0A static DEFINE_SPI=
NLOCK(i8259A_lock);=0A =0A-static void mask_and_ack_8259A_irq(struct =
irq_desc *);=0A+static void _mask_and_ack_8259A_irq(unsigned int =
irq);=0A+=0A+void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
=3D=0A+    _mask_and_ack_8259A_irq;=0A+=0A+static void mask_and_ack_8259A_i=
rq(struct irq_desc *desc)=0A+{=0A+    _mask_and_ack_8259A_irq(desc->irq);=
=0A+}=0A =0A static unsigned int startup_8259A_irq(struct irq_desc =
*desc)=0A {=0A@@ -133,20 +141,26 @@ static unsigned int cached_irq_mask =
=3D 0x=0A  */=0A unsigned int __read_mostly io_apic_irqs;=0A =0A-void =
disable_8259A_irq(struct irq_desc *desc)=0A+static void _disable_8259A_irq(=
unsigned int irq)=0A {=0A-    unsigned int mask =3D 1 << desc->irq;=0A+    =
unsigned int mask =3D 1 << irq;=0A     unsigned long flags;=0A =0A     =
spin_lock_irqsave(&i8259A_lock, flags);=0A     cached_irq_mask |=3D =
mask;=0A-    if (desc->irq & 8)=0A+    if (irq & 8)=0A         outb(cached_=
A1,0xA1);=0A     else=0A         outb(cached_21,0x21);=0A+    per_cpu(vecto=
r_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;=0A     spin_unlock_irqrestore(&i8259A=
_lock, flags);=0A }=0A =0A+void disable_8259A_irq(struct irq_desc =
*desc)=0A+{=0A+    _disable_8259A_irq(desc->irq);=0A+}=0A+=0A void =
enable_8259A_irq(struct irq_desc *desc)=0A {=0A     unsigned int mask =3D =
~(1 << desc->irq);=0A@@ -154,6 +168,7 @@ void enable_8259A_irq(struct =
irq_desc *d=0A =0A     spin_lock_irqsave(&i8259A_lock, flags);=0A     =
cached_irq_mask &=3D mask;=0A+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc=
->irq)] =3D desc->irq;=0A     if (desc->irq & 8)=0A         outb(cached_A1,=
0xA1);=0A     else=0A@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(=
unsign=0A  * first, _then_ send the EOI, and the order of EOI=0A  * to the =
two 8259s is important!=0A  */=0A-static void mask_and_ack_8259A_irq(struct=
 irq_desc *desc)=0A+static void _mask_and_ack_8259A_irq(unsigned int =
irq)=0A {=0A-    unsigned int irqmask =3D 1 << desc->irq;=0A+    unsigned =
int irqmask =3D 1 << irq;=0A     unsigned long flags;=0A =0A     spin_lock_=
irqsave(&i8259A_lock, flags);=0A@@ -252,15 +267,15 @@ static void =
mask_and_ack_8259A_irq(struc=0A     cached_irq_mask |=3D irqmask;=0A =0A  =
handle_real_irq:=0A-    if (desc->irq & 8) {=0A+    if (irq & 8) {=0A      =
   inb(0xA1);              /* DUMMY - (do we need this?) */=0A         =
outb(cached_A1,0xA1);=0A-        outb(0x60 + (desc->irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A+        outb(0x60 + (irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A         outb(0x62,0x20);        /* 'Specific =
EOI' to master-IRQ2 */=0A     } else {=0A         inb(0x21);              =
/* DUMMY - (do we need this?) */=0A         outb(cached_21,0x21);=0A-      =
  outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */=0A+        =
outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */=0A     }=0A     =
spin_unlock_irqrestore(&i8259A_lock, flags);=0A     return;=0A@@ -269,7 =
+284,7 @@ static void mask_and_ack_8259A_irq(struc=0A     /*=0A      * =
this is the slow path - should happen rarely.=0A      */=0A-    if =
(i8259A_irq_real(desc->irq))=0A+    if (i8259A_irq_real(irq))=0A         =
/*=0A          * oops, the IRQ _is_ in service according to the=0A         =
 * 8259A - not spurious, go handle it.=0A@@ -283,7 +298,7 @@ static void =
mask_and_ack_8259A_irq(struc=0A          * lets ACK and report it. [once =
per IRQ]=0A          */=0A         if (!(spurious_irq_mask & irqmask)) =
{=0A-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);=
=0A+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);=0A      =
       spurious_irq_mask |=3D irqmask;=0A         }=0A         /*=0A@@ =
-352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)=0A              =
                  is to be investigated) */=0A =0A     if (auto_eoi)=0A+   =
 {=0A         /*=0A          * in AEOI mode we just have to mask the =
interrupt=0A          * when acking.=0A          */=0A         i8259A_irq_t=
ype.ack =3D disable_8259A_irq;=0A+        bogus_8259A_irq =3D _disable_8259=
A_irq;=0A+    }=0A     else=0A+    {=0A         i8259A_irq_type.ack =3D =
mask_and_ack_8259A_irq;=0A+        bogus_8259A_irq =3D _mask_and_ack_8259A_=
irq;=0A+    }=0A =0A     udelay(100);            /* wait for 8259A to =
initialize */=0A =0A--- a/xen/arch/x86/irq.c=0A+++ b/xen/arch/x86/irq.c=0A@=
@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)=0A         if =
(direct_apic_vector[vector] !=3D NULL) {=0A             (*direct_apic_vecto=
r[vector])(regs);=0A         } else {=0A-            ack_APIC_irq();=0A-   =
         printk("%s: %d.%d No irq handler for vector (irq %d)\n",=0A-      =
             __func__, smp_processor_id(), vector, irq);=0A+            =
const char *kind =3D ", LAPIC";=0A+=0A+            if ( apic_isr_read(vecto=
r) )=0A+                ack_APIC_irq();=0A+            else=0A+            =
    kind =3D "";=0A+            if ( vector >=3D FIRST_LEGACY_VECTOR =
&&=0A+                 vector <=3D LAST_LEGACY_VECTOR )=0A+                =
bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);=0A+            printk("CPU%u=
: No irq handler for vector %02x (IRQ %d%s)\n",=0A+                   =
smp_processor_id(), vector, irq, kind);=0A             TRACE_1D(TRC_HW_IRQ_=
UNMAPPED_VECTOR, vector);=0A         }=0A         goto out_no_unlock;=0A---=
 a/xen/include/asm-x86/apic.h=0A+++ b/xen/include/asm-x86/apic.h=0A@@ =
-146,6 +146,12 @@ static __inline void apic_icr_write(u32 =0A     }=0A =
}=0A =0A+static __inline bool_t apic_isr_read(u8 vector)=0A+{=0A+    =
return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>=0A+            =
(vector & 0x1f)) & 1;=0A+}=0A+=0A static __inline u32 get_apic_id(void) /* =
Get the physical APIC id */=0A {=0A     u32 id =3D apic_read(APIC_ID);=0A--=
- a/xen/include/asm-x86/irq.h=0A+++ b/xen/include/asm-x86/irq.h=0A@@ =
-104,6 +104,7 @@ void mask_8259A(void);=0A void unmask_8259A(void);=0A =
void init_8259A(int aeoi);=0A void make_8259A_irq(unsigned int irq);=0A+ext=
ern void (*bogus_8259A_irq)(unsigned int irq);=0A int i8259A_suspend(void);=
=0A int i8259A_resume(void);=0A =0A
--=__PartDDF32E61.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartDDF32E61.0__=--


From xen-devel-bounces@lists.xen.org Mon May 14 15:54:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:54:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxZy-0000cL-PZ; Mon, 14 May 2012 15:52:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxZw-0000cG-Rk
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:52:57 +0000
Received: from [85.158.139.83:45648] by server-8.bemta-5.messagelabs.com id
	EE/06-26964-75A21BF4; Mon, 14 May 2012 15:52:55 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337010774!28647094!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16116 invoked from network); 14 May 2012 15:52:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 15:52:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 16:52:55 +0100
Message-Id: <4FB1469102000078000838A2@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 16:53:21 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartDDF32E61.0__="
Subject: [Xen-devel] [PATCH,
 v2] x86: adjust handling of interrupts coming in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartDDF32E61.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

The debugging code added in c/s 24707:96987c324a4f was hit a (small)
number of times (one report being
http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
apparently always with a vector within the legacy range. Obviously,
besides legacy vectors not normally expected to be in use on systems
with IO-APIC(s), they should never make it to the IRQ migration logic.

This wasn't being prevented so far: Since we don't have a one-to-one
mapping between vectors and IRQs - legacy IRQs may have two vectors
associated with them (one used in either 8259A, the other used in one
of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
used in do_IRQ()) would yield a valid IRQ number despite the IRQ
really being handled via an IO-APIC.

This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
IRQ mapping, and enable_8259A_irq(), should it ever be called for a
particular interrupts, restores it.

Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
too: Interrupts coming in via legacy vectors obviously didn't get
reported through the IO-APIC/LAPIC pair (as we never program these
vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
have the 8259A driver take care of the bogus interrupt (as outside of
automatice EOI mode it may need an EOI to be issued for it to prevent
other interrupts that may legitimately go through the 8259As from
getting masked out).

Changes in v2: Check LAPIC's ISR to decide whether to call
ack_APIC_irq(), and use the vector only to decide whether to call
bogus_8259A_irq(). Use the newly introduced helper function also in the
two places in apic.c where this so far was open-coded.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1317,15 +1317,12 @@ void smp_send_state_dump(unsigned int cp
  */
 void spurious_interrupt(struct cpu_user_regs *regs)
 {
-    unsigned long v;
-
     /*
      * Check if this is a vectored interrupt (most likely, as this is =
probably
      * a request to dump local CPU state). Vectored interrupts are ACKed;
      * spurious interrupts are not.
      */
-    v =3D apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> 1));
-    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {
+    if (apic_isr_read(SPURIOUS_APIC_VECTOR)) {
         ack_APIC_irq();
         if (this_cpu(state_dump_pending)) {
             this_cpu(state_dump_pending) =3D 0;
@@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mode(v
=20
 void check_for_unexpected_msi(unsigned int vector)
 {
-    unsigned long v =3D apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));
-    BUG_ON(v & (1 << (vector & 0x1f)));
+    BUG_ON(apic_isr_read(vector));
 }
--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
=20
 static DEFINE_SPINLOCK(i8259A_lock);
=20
-static void mask_and_ack_8259A_irq(struct irq_desc *);
+static void _mask_and_ack_8259A_irq(unsigned int irq);
+
+void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =3D
+    _mask_and_ack_8259A_irq;
+
+static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+{
+    _mask_and_ack_8259A_irq(desc->irq);
+}
=20
 static unsigned int startup_8259A_irq(struct irq_desc *desc)
 {
@@ -133,20 +141,26 @@ static unsigned int cached_irq_mask =3D 0x
  */
 unsigned int __read_mostly io_apic_irqs;
=20
-void disable_8259A_irq(struct irq_desc *desc)
+static void _disable_8259A_irq(unsigned int irq)
 {
-    unsigned int mask =3D 1 << desc->irq;
+    unsigned int mask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask |=3D mask;
-    if (desc->irq & 8)
+    if (irq & 8)
         outb(cached_A1,0xA1);
     else
         outb(cached_21,0x21);
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;
     spin_unlock_irqrestore(&i8259A_lock, flags);
 }
=20
+void disable_8259A_irq(struct irq_desc *desc)
+{
+    _disable_8259A_irq(desc->irq);
+}
+
 void enable_8259A_irq(struct irq_desc *desc)
 {
     unsigned int mask =3D ~(1 << desc->irq);
@@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
=20
     spin_lock_irqsave(&i8259A_lock, flags);
     cached_irq_mask &=3D mask;
+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] =3D desc->irq;
     if (desc->irq & 8)
         outb(cached_A1,0xA1);
     else
@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
  * first, _then_ send the EOI, and the order of EOI
  * to the two 8259s is important!
  */
-static void mask_and_ack_8259A_irq(struct irq_desc *desc)
+static void _mask_and_ack_8259A_irq(unsigned int irq)
 {
-    unsigned int irqmask =3D 1 << desc->irq;
+    unsigned int irqmask =3D 1 << irq;
     unsigned long flags;
=20
     spin_lock_irqsave(&i8259A_lock, flags);
@@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
     cached_irq_mask |=3D irqmask;
=20
  handle_real_irq:
-    if (desc->irq & 8) {
+    if (irq & 8) {
         inb(0xA1);              /* DUMMY - (do we need this?) */
         outb(cached_A1,0xA1);
-        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
+        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
         outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
     } else {
         inb(0x21);              /* DUMMY - (do we need this?) */
         outb(cached_21,0x21);
-        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
+        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
     }
     spin_unlock_irqrestore(&i8259A_lock, flags);
     return;
@@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
     /*
      * this is the slow path - should happen rarely.
      */
-    if (i8259A_irq_real(desc->irq))
+    if (i8259A_irq_real(irq))
         /*
          * oops, the IRQ _is_ in service according to the
          * 8259A - not spurious, go handle it.
@@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
          * lets ACK and report it. [once per IRQ]
          */
         if (!(spurious_irq_mask & irqmask)) {
-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
             spurious_irq_mask |=3D irqmask;
         }
         /*
@@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
                                is to be investigated) */
=20
     if (auto_eoi)
+    {
         /*
          * in AEOI mode we just have to mask the interrupt
          * when acking.
          */
         i8259A_irq_type.ack =3D disable_8259A_irq;
+        bogus_8259A_irq =3D _disable_8259A_irq;
+    }
     else
+    {
         i8259A_irq_type.ack =3D mask_and_ack_8259A_irq;
+        bogus_8259A_irq =3D _mask_and_ack_8259A_irq;
+    }
=20
     udelay(100);            /* wait for 8259A to initialize */
=20
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)
         if (direct_apic_vector[vector] !=3D NULL) {
             (*direct_apic_vector[vector])(regs);
         } else {
-            ack_APIC_irq();
-            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
-                   __func__, smp_processor_id(), vector, irq);
+            const char *kind =3D ", LAPIC";
+
+            if ( apic_isr_read(vector) )
+                ack_APIC_irq();
+            else
+                kind =3D "";
+            if ( vector >=3D FIRST_LEGACY_VECTOR &&
+                 vector <=3D LAST_LEGACY_VECTOR )
+                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
+            printk("CPU%u: No irq handler for vector %02x (IRQ %d%s)\n",
+                   smp_processor_id(), vector, irq, kind);
             TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
         }
         goto out_no_unlock;
--- a/xen/include/asm-x86/apic.h
+++ b/xen/include/asm-x86/apic.h
@@ -146,6 +146,12 @@ static __inline void apic_icr_write(u32=20
     }
 }
=20
+static __inline bool_t apic_isr_read(u8 vector)
+{
+    return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
+            (vector & 0x1f)) & 1;
+}
+
 static __inline u32 get_apic_id(void) /* Get the physical APIC id */
 {
     u32 id =3D apic_read(APIC_ID);
--- a/xen/include/asm-x86/irq.h
+++ b/xen/include/asm-x86/irq.h
@@ -104,6 +104,7 @@ void mask_8259A(void);
 void unmask_8259A(void);
 void init_8259A(int aeoi);
 void make_8259A_irq(unsigned int irq);
+extern void (*bogus_8259A_irq)(unsigned int irq);
 int i8259A_suspend(void);
 int i8259A_resume(void);
=20



--=__PartDDF32E61.0__=
Content-Type: text/plain; name="x86-spurious-8259A-irq.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-spurious-8259A-irq.patch"

x86: adjust handling of interrupts coming in via legacy vectors=0A=0AThe =
debugging code added in c/s 24707:96987c324a4f was hit a (small)=0Anumber =
of times (one report being=0Ahttp://lists.xen.org/archives/html/xen-devel/2=
012-05/msg00332.html),=0Aapparently always with a vector within the legacy =
range. Obviously,=0Abesides legacy vectors not normally expected to be in =
use on systems=0Awith IO-APIC(s), they should never make it to the IRQ =
migration logic.=0A=0AThis wasn't being prevented so far: Since we don't =
have a one-to-one=0Amapping between vectors and IRQs - legacy IRQs may =
have two vectors=0Aassociated with them (one used in either 8259A, the =
other used in one=0Aof the IO-APICs) -, vector-to-IRQ translations for =
legacy vectors (as=0Aused in do_IRQ()) would yield a valid IRQ number =
despite the IRQ=0Areally being handled via an IO-APIC.=0A=0AThis gets =
changed here - disable_8259A_irq() zaps the legacy vector-to-=0AIRQ =
mapping, and enable_8259A_irq(), should it ever be called for a=0Aparticula=
r interrupts, restores it.=0A=0AAdditionally, the spurious interrupt logic =
in do_IRQ() gets adjusted=0Atoo: Interrupts coming in via legacy vectors =
obviously didn't get=0Areported through the IO-APIC/LAPIC pair (as we =
never program these=0Avectors into any RTE), and hence shouldn't get =
ack_APIC_irq() called on=0Athem. Instead, a new function (pointer) =
bogus_8259A_irq() gets used to=0Ahave the 8259A driver take care of the =
bogus interrupt (as outside of=0Aautomatice EOI mode it may need an EOI to =
be issued for it to prevent=0Aother interrupts that may legitimately go =
through the 8259As from=0Agetting masked out).=0A=0AChanges in v2: Check =
LAPIC's ISR to decide whether to call=0Aack_APIC_irq(), and use the vector =
only to decide whether to call=0Abogus_8259A_irq(). Use the newly =
introduced helper function also in the=0Atwo places in apic.c where this =
so far was open-coded.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=
=0A=0A--- a/xen/arch/x86/apic.c=0A+++ b/xen/arch/x86/apic.c=0A@@ -1317,15 =
+1317,12 @@ void smp_send_state_dump(unsigned int cp=0A  */=0A void =
spurious_interrupt(struct cpu_user_regs *regs)=0A {=0A-    unsigned long =
v;=0A-=0A     /*=0A      * Check if this is a vectored interrupt (most =
likely, as this is probably=0A      * a request to dump local CPU state). =
Vectored interrupts are ACKed;=0A      * spurious interrupts are not.=0A   =
   */=0A-    v =3D apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> =
1));=0A-    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {=0A+    if =
(apic_isr_read(SPURIOUS_APIC_VECTOR)) {=0A         ack_APIC_irq();=0A      =
   if (this_cpu(state_dump_pending)) {=0A             this_cpu(state_dump_p=
ending) =3D 0;=0A@@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mo=
de(v=0A =0A void check_for_unexpected_msi(unsigned int vector)=0A {=0A-    =
unsigned long v =3D apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));=0A-    =
BUG_ON(v & (1 << (vector & 0x1f)));=0A+    BUG_ON(apic_isr_read(vector));=
=0A }=0A--- a/xen/arch/x86/i8259.c=0A+++ b/xen/arch/x86/i8259.c=0A@@ -85,7 =
+85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU=0A =0A static DEFINE_SPI=
NLOCK(i8259A_lock);=0A =0A-static void mask_and_ack_8259A_irq(struct =
irq_desc *);=0A+static void _mask_and_ack_8259A_irq(unsigned int =
irq);=0A+=0A+void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
=3D=0A+    _mask_and_ack_8259A_irq;=0A+=0A+static void mask_and_ack_8259A_i=
rq(struct irq_desc *desc)=0A+{=0A+    _mask_and_ack_8259A_irq(desc->irq);=
=0A+}=0A =0A static unsigned int startup_8259A_irq(struct irq_desc =
*desc)=0A {=0A@@ -133,20 +141,26 @@ static unsigned int cached_irq_mask =
=3D 0x=0A  */=0A unsigned int __read_mostly io_apic_irqs;=0A =0A-void =
disable_8259A_irq(struct irq_desc *desc)=0A+static void _disable_8259A_irq(=
unsigned int irq)=0A {=0A-    unsigned int mask =3D 1 << desc->irq;=0A+    =
unsigned int mask =3D 1 << irq;=0A     unsigned long flags;=0A =0A     =
spin_lock_irqsave(&i8259A_lock, flags);=0A     cached_irq_mask |=3D =
mask;=0A-    if (desc->irq & 8)=0A+    if (irq & 8)=0A         outb(cached_=
A1,0xA1);=0A     else=0A         outb(cached_21,0x21);=0A+    per_cpu(vecto=
r_irq, 0)[LEGACY_VECTOR(irq)] =3D -1;=0A     spin_unlock_irqrestore(&i8259A=
_lock, flags);=0A }=0A =0A+void disable_8259A_irq(struct irq_desc =
*desc)=0A+{=0A+    _disable_8259A_irq(desc->irq);=0A+}=0A+=0A void =
enable_8259A_irq(struct irq_desc *desc)=0A {=0A     unsigned int mask =3D =
~(1 << desc->irq);=0A@@ -154,6 +168,7 @@ void enable_8259A_irq(struct =
irq_desc *d=0A =0A     spin_lock_irqsave(&i8259A_lock, flags);=0A     =
cached_irq_mask &=3D mask;=0A+    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc=
->irq)] =3D desc->irq;=0A     if (desc->irq & 8)=0A         outb(cached_A1,=
0xA1);=0A     else=0A@@ -226,9 +241,9 @@ static inline int i8259A_irq_real(=
unsign=0A  * first, _then_ send the EOI, and the order of EOI=0A  * to the =
two 8259s is important!=0A  */=0A-static void mask_and_ack_8259A_irq(struct=
 irq_desc *desc)=0A+static void _mask_and_ack_8259A_irq(unsigned int =
irq)=0A {=0A-    unsigned int irqmask =3D 1 << desc->irq;=0A+    unsigned =
int irqmask =3D 1 << irq;=0A     unsigned long flags;=0A =0A     spin_lock_=
irqsave(&i8259A_lock, flags);=0A@@ -252,15 +267,15 @@ static void =
mask_and_ack_8259A_irq(struc=0A     cached_irq_mask |=3D irqmask;=0A =0A  =
handle_real_irq:=0A-    if (desc->irq & 8) {=0A+    if (irq & 8) {=0A      =
   inb(0xA1);              /* DUMMY - (do we need this?) */=0A         =
outb(cached_A1,0xA1);=0A-        outb(0x60 + (desc->irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A+        outb(0x60 + (irq & 7), 0xA0);/* =
'Specific EOI' to slave */=0A         outb(0x62,0x20);        /* 'Specific =
EOI' to master-IRQ2 */=0A     } else {=0A         inb(0x21);              =
/* DUMMY - (do we need this?) */=0A         outb(cached_21,0x21);=0A-      =
  outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */=0A+        =
outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */=0A     }=0A     =
spin_unlock_irqrestore(&i8259A_lock, flags);=0A     return;=0A@@ -269,7 =
+284,7 @@ static void mask_and_ack_8259A_irq(struc=0A     /*=0A      * =
this is the slow path - should happen rarely.=0A      */=0A-    if =
(i8259A_irq_real(desc->irq))=0A+    if (i8259A_irq_real(irq))=0A         =
/*=0A          * oops, the IRQ _is_ in service according to the=0A         =
 * 8259A - not spurious, go handle it.=0A@@ -283,7 +298,7 @@ static void =
mask_and_ack_8259A_irq(struc=0A          * lets ACK and report it. [once =
per IRQ]=0A          */=0A         if (!(spurious_irq_mask & irqmask)) =
{=0A-            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);=
=0A+            printk("spurious 8259A interrupt: IRQ%d.\n", irq);=0A      =
       spurious_irq_mask |=3D irqmask;=0A         }=0A         /*=0A@@ =
-352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)=0A              =
                  is to be investigated) */=0A =0A     if (auto_eoi)=0A+   =
 {=0A         /*=0A          * in AEOI mode we just have to mask the =
interrupt=0A          * when acking.=0A          */=0A         i8259A_irq_t=
ype.ack =3D disable_8259A_irq;=0A+        bogus_8259A_irq =3D _disable_8259=
A_irq;=0A+    }=0A     else=0A+    {=0A         i8259A_irq_type.ack =3D =
mask_and_ack_8259A_irq;=0A+        bogus_8259A_irq =3D _mask_and_ack_8259A_=
irq;=0A+    }=0A =0A     udelay(100);            /* wait for 8259A to =
initialize */=0A =0A--- a/xen/arch/x86/irq.c=0A+++ b/xen/arch/x86/irq.c=0A@=
@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)=0A         if =
(direct_apic_vector[vector] !=3D NULL) {=0A             (*direct_apic_vecto=
r[vector])(regs);=0A         } else {=0A-            ack_APIC_irq();=0A-   =
         printk("%s: %d.%d No irq handler for vector (irq %d)\n",=0A-      =
             __func__, smp_processor_id(), vector, irq);=0A+            =
const char *kind =3D ", LAPIC";=0A+=0A+            if ( apic_isr_read(vecto=
r) )=0A+                ack_APIC_irq();=0A+            else=0A+            =
    kind =3D "";=0A+            if ( vector >=3D FIRST_LEGACY_VECTOR =
&&=0A+                 vector <=3D LAST_LEGACY_VECTOR )=0A+                =
bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);=0A+            printk("CPU%u=
: No irq handler for vector %02x (IRQ %d%s)\n",=0A+                   =
smp_processor_id(), vector, irq, kind);=0A             TRACE_1D(TRC_HW_IRQ_=
UNMAPPED_VECTOR, vector);=0A         }=0A         goto out_no_unlock;=0A---=
 a/xen/include/asm-x86/apic.h=0A+++ b/xen/include/asm-x86/apic.h=0A@@ =
-146,6 +146,12 @@ static __inline void apic_icr_write(u32 =0A     }=0A =
}=0A =0A+static __inline bool_t apic_isr_read(u8 vector)=0A+{=0A+    =
return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>=0A+            =
(vector & 0x1f)) & 1;=0A+}=0A+=0A static __inline u32 get_apic_id(void) /* =
Get the physical APIC id */=0A {=0A     u32 id =3D apic_read(APIC_ID);=0A--=
- a/xen/include/asm-x86/irq.h=0A+++ b/xen/include/asm-x86/irq.h=0A@@ =
-104,6 +104,7 @@ void mask_8259A(void);=0A void unmask_8259A(void);=0A =
void init_8259A(int aeoi);=0A void make_8259A_irq(unsigned int irq);=0A+ext=
ern void (*bogus_8259A_irq)(unsigned int irq);=0A int i8259A_suspend(void);=
=0A int i8259A_resume(void);=0A =0A
--=__PartDDF32E61.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartDDF32E61.0__=--


From xen-devel-bounces@lists.xen.org Mon May 14 15:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxcY-0000hN-Bj; Mon, 14 May 2012 15:55:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxcV-0000hH-Vl
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:55:36 +0000
Received: from [193.109.254.147:33031] by server-6.bemta-14.messagelabs.com id
	ED/58-04960-7FA21BF4; Mon, 14 May 2012 15:55:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337010933!6094662!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5763 invoked from network); 14 May 2012 15:55:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 15:55:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 16:55:34 +0100
Message-Id: <4FB1473102000078000838A6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 16:56:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<CBD6E4B6.331A3%keir.xen@gmail.com>
In-Reply-To: <CBD6E4B6.331A3%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 17:35, Keir Fraser <keir.xen@gmail.com> wrote:
> On 14/05/2012 13:39, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>> number of times (one report being
>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>> apparently always with a vector within the legacy range. Obviously,
>> besides legacy vectors not normally expected to be in use on systems
>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>> 
>> This wasn't being prevented so far: Since we don't have a one-to-one
>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>> associated with them (one used in either 8259A, the other used in one
>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>> really being handled via an IO-APIC.
>> 
>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>> particular interrupts, restores it.
>> 
>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>> too: Interrupts coming in via legacy vectors obviously didn't get
>> reported through the IO-APIC/LAPIC pair (as we never program these
>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>> have the 8259A driver take care of the bogus interrupt (as outside of
>> automatice EOI mode it may need an EOI to be issued for it to prevent
>> other interrupts that may legitimately go through the 8259As from
>> getting masked out).
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Looks sensible, and I suppose good to have for 4.2.
> 
> Acked-by: Keir Fraser <keir@xen.org>

Please take a look at the v2 I just sent, to accommodate a suggestion
from Andrew Cooper.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 15:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 15:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxcY-0000hN-Bj; Mon, 14 May 2012 15:55:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxcV-0000hH-Vl
	for xen-devel@lists.xen.org; Mon, 14 May 2012 15:55:36 +0000
Received: from [193.109.254.147:33031] by server-6.bemta-14.messagelabs.com id
	ED/58-04960-7FA21BF4; Mon, 14 May 2012 15:55:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337010933!6094662!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5763 invoked from network); 14 May 2012 15:55:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 15:55:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 16:55:34 +0100
Message-Id: <4FB1473102000078000838A6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 16:56:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FB119090200007800083738@nat28.tlf.novell.com>
	<CBD6E4B6.331A3%keir.xen@gmail.com>
In-Reply-To: <CBD6E4B6.331A3%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 17:35, Keir Fraser <keir.xen@gmail.com> wrote:
> On 14/05/2012 13:39, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>> number of times (one report being
>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>> apparently always with a vector within the legacy range. Obviously,
>> besides legacy vectors not normally expected to be in use on systems
>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>> 
>> This wasn't being prevented so far: Since we don't have a one-to-one
>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>> associated with them (one used in either 8259A, the other used in one
>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>> really being handled via an IO-APIC.
>> 
>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>> particular interrupts, restores it.
>> 
>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>> too: Interrupts coming in via legacy vectors obviously didn't get
>> reported through the IO-APIC/LAPIC pair (as we never program these
>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>> have the 8259A driver take care of the bogus interrupt (as outside of
>> automatice EOI mode it may need an EOI to be issued for it to prevent
>> other interrupts that may legitimately go through the 8259As from
>> getting masked out).
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Looks sensible, and I suppose good to have for 4.2.
> 
> Acked-by: Keir Fraser <keir@xen.org>

Please take a look at the v2 I just sent, to accommodate a suggestion
from Andrew Cooper.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:07:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxmX-0001Kp-Gj; Mon, 14 May 2012 16:05:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STxmW-0001Kk-NN
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:05:56 +0000
Received: from [193.109.254.147:31818] by server-5.bemta-14.messagelabs.com id
	49/C9-30733-36D21BF4; Mon, 14 May 2012 16:05:55 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337011555!4045432!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22657 invoked from network); 14 May 2012 16:05:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:05:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12463451"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 16:05:55 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 17:05:54 +0100
Date: Mon, 14 May 2012 17:05:49 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: xen-devel@lists.xensource.com
Message-ID: <alpine.DEB.2.00.1205141702210.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Subject: [Xen-devel] new xl segmentation fault
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
I have just rebased on "libxl: abort bootloader invocation when domain
dies" and I get a segfault in xl if I try to create a PV guest using
pygrub with regular raw file as disk.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff79b56e9 in egc_run_callbacks (egc=0x7fffffffe0a0) at libxl_event.c:967

- Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:07:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxmX-0001Kp-Gj; Mon, 14 May 2012 16:05:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STxmW-0001Kk-NN
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:05:56 +0000
Received: from [193.109.254.147:31818] by server-5.bemta-14.messagelabs.com id
	49/C9-30733-36D21BF4; Mon, 14 May 2012 16:05:55 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337011555!4045432!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22657 invoked from network); 14 May 2012 16:05:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:05:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12463451"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 16:05:55 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 17:05:54 +0100
Date: Mon, 14 May 2012 17:05:49 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: xen-devel@lists.xensource.com
Message-ID: <alpine.DEB.2.00.1205141702210.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Subject: [Xen-devel] new xl segmentation fault
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
I have just rebased on "libxl: abort bootloader invocation when domain
dies" and I get a segfault in xl if I try to create a PV guest using
pygrub with regular raw file as disk.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff79b56e9 in egc_run_callbacks (egc=0x7fffffffe0a0) at libxl_event.c:967

- Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:08:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:08:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxnA-0001MQ-Ud; Mon, 14 May 2012 16:06:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxn9-0001MI-4d
	for xen-devel@lists.xen.org; Mon, 14 May 2012 16:06:35 +0000
Received: from [85.158.138.51:18045] by server-11.bemta-3.messagelabs.com id
	6F/E3-18894-A8D21BF4; Mon, 14 May 2012 16:06:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337011592!27105651!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11864 invoked from network); 14 May 2012 16:06:33 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 16:06:33 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 17:06:33 +0100
Message-Id: <4FB149C502000078000838B2@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 17:07:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
References: <4FB1469102000078000838A2@nat28.tlf.novell.com>
In-Reply-To: <4FB1469102000078000838A2@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH,
 v2] x86: adjust handling of interrupts coming in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 17:53, "Jan Beulich" <JBeulich@suse.com> wrote:
> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
> number of times (one report being
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
> apparently always with a vector within the legacy range. Obviously,
> besides legacy vectors not normally expected to be in use on systems
> with IO-APIC(s), they should never make it to the IRQ migration logic.
> 
> This wasn't being prevented so far: Since we don't have a one-to-one
> mapping between vectors and IRQs - legacy IRQs may have two vectors
> associated with them (one used in either 8259A, the other used in one
> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
> really being handled via an IO-APIC.
> 
> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
> particular interrupts, restores it.
> 
> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
> too: Interrupts coming in via legacy vectors obviously didn't get
> reported through the IO-APIC/LAPIC pair (as we never program these
> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
> have the 8259A driver take care of the bogus interrupt (as outside of
> automatice EOI mode it may need an EOI to be issued for it to prevent
> other interrupts that may legitimately go through the 8259As from
> getting masked out).

Just realized that this last paragraph doesn't really match the
implementation, so I'm intending to replace it with:

The spurious interrupt logic in do_IRQ() gets adjusted too: Interrupts
coming in via legacy vectors presumably didn't get reported through the
IO-APIC/LAPIC pair (as we never program these vectors into any RTE or
LVT). Call ack_APIC_irq() only when the LAPIC's ISR bit says an
interrupt is pending at the given vector. Plus, a new function (pointer)
bogus_8259A_irq() gets used to have the 8259A driver take care of the
bogus interrupt (as outside of automatic EOI mode it may need an EOI to
be issued for it to prevent other interrupts legitimately going through
the 8259As from getting masked out).

Jan

> Changes in v2: Check LAPIC's ISR to decide whether to call
> ack_APIC_irq(), and use the vector only to decide whether to call
> bogus_8259A_irq(). Use the newly introduced helper function also in the
> two places in apic.c where this so far was open-coded.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/apic.c
> +++ b/xen/arch/x86/apic.c
> @@ -1317,15 +1317,12 @@ void smp_send_state_dump(unsigned int cp
>   */
>  void spurious_interrupt(struct cpu_user_regs *regs)
>  {
> -    unsigned long v;
> -
>      /*
>       * Check if this is a vectored interrupt (most likely, as this is 
> probably
>       * a request to dump local CPU state). Vectored interrupts are ACKed;
>       * spurious interrupts are not.
>       */
> -    v = apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> 1));
> -    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {
> +    if (apic_isr_read(SPURIOUS_APIC_VECTOR)) {
>          ack_APIC_irq();
>          if (this_cpu(state_dump_pending)) {
>              this_cpu(state_dump_pending) = 0;
> @@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mode(v
>  
>  void check_for_unexpected_msi(unsigned int vector)
>  {
> -    unsigned long v = apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));
> -    BUG_ON(v & (1 << (vector & 0x1f)));
> +    BUG_ON(apic_isr_read(vector));
>  }
> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>  
>  static DEFINE_SPINLOCK(i8259A_lock);
>  
> -static void mask_and_ack_8259A_irq(struct irq_desc *);
> +static void _mask_and_ack_8259A_irq(unsigned int irq);
> +
> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
> +    _mask_and_ack_8259A_irq;
> +
> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +{
> +    _mask_and_ack_8259A_irq(desc->irq);
> +}
>  
>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>  {
> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>   */
>  unsigned int __read_mostly io_apic_irqs;
>  
> -void disable_8259A_irq(struct irq_desc *desc)
> +static void _disable_8259A_irq(unsigned int irq)
>  {
> -    unsigned int mask = 1 << desc->irq;
> +    unsigned int mask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask |= mask;
> -    if (desc->irq & 8)
> +    if (irq & 8)
>          outb(cached_A1,0xA1);
>      else
>          outb(cached_21,0x21);
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>  }
>  
> +void disable_8259A_irq(struct irq_desc *desc)
> +{
> +    _disable_8259A_irq(desc->irq);
> +}
> +
>  void enable_8259A_irq(struct irq_desc *desc)
>  {
>      unsigned int mask = ~(1 << desc->irq);
> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask &= mask;
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>      if (desc->irq & 8)
>          outb(cached_A1,0xA1);
>      else
> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>   * first, _then_ send the EOI, and the order of EOI
>   * to the two 8259s is important!
>   */
> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>  {
> -    unsigned int irqmask = 1 << desc->irq;
> +    unsigned int irqmask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>      cached_irq_mask |= irqmask;
>  
>   handle_real_irq:
> -    if (desc->irq & 8) {
> +    if (irq & 8) {
>          inb(0xA1);              /* DUMMY - (do we need this?) */
>          outb(cached_A1,0xA1);
> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>      } else {
>          inb(0x21);              /* DUMMY - (do we need this?) */
>          outb(cached_21,0x21);
> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>      }
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>      return;
> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>      /*
>       * this is the slow path - should happen rarely.
>       */
> -    if (i8259A_irq_real(desc->irq))
> +    if (i8259A_irq_real(irq))
>          /*
>           * oops, the IRQ _is_ in service according to the
>           * 8259A - not spurious, go handle it.
> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>           * lets ACK and report it. [once per IRQ]
>           */
>          if (!(spurious_irq_mask & irqmask)) {
> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>              spurious_irq_mask |= irqmask;
>          }
>          /*
> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>                                 is to be investigated) */
>  
>      if (auto_eoi)
> +    {
>          /*
>           * in AEOI mode we just have to mask the interrupt
>           * when acking.
>           */
>          i8259A_irq_type.ack = disable_8259A_irq;
> +        bogus_8259A_irq = _disable_8259A_irq;
> +    }
>      else
> +    {
>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
> +    }
>  
>      udelay(100);            /* wait for 8259A to initialize */
>  
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)
>          if (direct_apic_vector[vector] != NULL) {
>              (*direct_apic_vector[vector])(regs);
>          } else {
> -            ack_APIC_irq();
> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
> -                   __func__, smp_processor_id(), vector, irq);
> +            const char *kind = ", LAPIC";
> +
> +            if ( apic_isr_read(vector) )
> +                ack_APIC_irq();
> +            else
> +                kind = "";
> +            if ( vector >= FIRST_LEGACY_VECTOR &&
> +                 vector <= LAST_LEGACY_VECTOR )
> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
> +            printk("CPU%u: No irq handler for vector %02x (IRQ %d%s)\n",
> +                   smp_processor_id(), vector, irq, kind);
>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>          }
>          goto out_no_unlock;
> --- a/xen/include/asm-x86/apic.h
> +++ b/xen/include/asm-x86/apic.h
> @@ -146,6 +146,12 @@ static __inline void apic_icr_write(u32 
>      }
>  }
>  
> +static __inline bool_t apic_isr_read(u8 vector)
> +{
> +    return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
> +            (vector & 0x1f)) & 1;
> +}
> +
>  static __inline u32 get_apic_id(void) /* Get the physical APIC id */
>  {
>      u32 id = apic_read(APIC_ID);
> --- a/xen/include/asm-x86/irq.h
> +++ b/xen/include/asm-x86/irq.h
> @@ -104,6 +104,7 @@ void mask_8259A(void);
>  void unmask_8259A(void);
>  void init_8259A(int aeoi);
>  void make_8259A_irq(unsigned int irq);
> +extern void (*bogus_8259A_irq)(unsigned int irq);
>  int i8259A_suspend(void);
>  int i8259A_resume(void);
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:08:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:08:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STxnA-0001MQ-Ud; Mon, 14 May 2012 16:06:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1STxn9-0001MI-4d
	for xen-devel@lists.xen.org; Mon, 14 May 2012 16:06:35 +0000
Received: from [85.158.138.51:18045] by server-11.bemta-3.messagelabs.com id
	6F/E3-18894-A8D21BF4; Mon, 14 May 2012 16:06:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337011592!27105651!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11864 invoked from network); 14 May 2012 16:06:33 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 16:06:33 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 17:06:33 +0100
Message-Id: <4FB149C502000078000838B2@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 17:07:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
References: <4FB1469102000078000838A2@nat28.tlf.novell.com>
In-Reply-To: <4FB1469102000078000838A2@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH,
 v2] x86: adjust handling of interrupts coming in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 17:53, "Jan Beulich" <JBeulich@suse.com> wrote:
> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
> number of times (one report being
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
> apparently always with a vector within the legacy range. Obviously,
> besides legacy vectors not normally expected to be in use on systems
> with IO-APIC(s), they should never make it to the IRQ migration logic.
> 
> This wasn't being prevented so far: Since we don't have a one-to-one
> mapping between vectors and IRQs - legacy IRQs may have two vectors
> associated with them (one used in either 8259A, the other used in one
> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
> really being handled via an IO-APIC.
> 
> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
> particular interrupts, restores it.
> 
> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
> too: Interrupts coming in via legacy vectors obviously didn't get
> reported through the IO-APIC/LAPIC pair (as we never program these
> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
> have the 8259A driver take care of the bogus interrupt (as outside of
> automatice EOI mode it may need an EOI to be issued for it to prevent
> other interrupts that may legitimately go through the 8259As from
> getting masked out).

Just realized that this last paragraph doesn't really match the
implementation, so I'm intending to replace it with:

The spurious interrupt logic in do_IRQ() gets adjusted too: Interrupts
coming in via legacy vectors presumably didn't get reported through the
IO-APIC/LAPIC pair (as we never program these vectors into any RTE or
LVT). Call ack_APIC_irq() only when the LAPIC's ISR bit says an
interrupt is pending at the given vector. Plus, a new function (pointer)
bogus_8259A_irq() gets used to have the 8259A driver take care of the
bogus interrupt (as outside of automatic EOI mode it may need an EOI to
be issued for it to prevent other interrupts legitimately going through
the 8259As from getting masked out).

Jan

> Changes in v2: Check LAPIC's ISR to decide whether to call
> ack_APIC_irq(), and use the vector only to decide whether to call
> bogus_8259A_irq(). Use the newly introduced helper function also in the
> two places in apic.c where this so far was open-coded.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/apic.c
> +++ b/xen/arch/x86/apic.c
> @@ -1317,15 +1317,12 @@ void smp_send_state_dump(unsigned int cp
>   */
>  void spurious_interrupt(struct cpu_user_regs *regs)
>  {
> -    unsigned long v;
> -
>      /*
>       * Check if this is a vectored interrupt (most likely, as this is 
> probably
>       * a request to dump local CPU state). Vectored interrupts are ACKed;
>       * spurious interrupts are not.
>       */
> -    v = apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> 1));
> -    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {
> +    if (apic_isr_read(SPURIOUS_APIC_VECTOR)) {
>          ack_APIC_irq();
>          if (this_cpu(state_dump_pending)) {
>              this_cpu(state_dump_pending) = 0;
> @@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mode(v
>  
>  void check_for_unexpected_msi(unsigned int vector)
>  {
> -    unsigned long v = apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));
> -    BUG_ON(v & (1 << (vector & 0x1f)));
> +    BUG_ON(apic_isr_read(vector));
>  }
> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>  
>  static DEFINE_SPINLOCK(i8259A_lock);
>  
> -static void mask_and_ack_8259A_irq(struct irq_desc *);
> +static void _mask_and_ack_8259A_irq(unsigned int irq);
> +
> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
> +    _mask_and_ack_8259A_irq;
> +
> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +{
> +    _mask_and_ack_8259A_irq(desc->irq);
> +}
>  
>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>  {
> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>   */
>  unsigned int __read_mostly io_apic_irqs;
>  
> -void disable_8259A_irq(struct irq_desc *desc)
> +static void _disable_8259A_irq(unsigned int irq)
>  {
> -    unsigned int mask = 1 << desc->irq;
> +    unsigned int mask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask |= mask;
> -    if (desc->irq & 8)
> +    if (irq & 8)
>          outb(cached_A1,0xA1);
>      else
>          outb(cached_21,0x21);
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>  }
>  
> +void disable_8259A_irq(struct irq_desc *desc)
> +{
> +    _disable_8259A_irq(desc->irq);
> +}
> +
>  void enable_8259A_irq(struct irq_desc *desc)
>  {
>      unsigned int mask = ~(1 << desc->irq);
> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
>      cached_irq_mask &= mask;
> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>      if (desc->irq & 8)
>          outb(cached_A1,0xA1);
>      else
> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>   * first, _then_ send the EOI, and the order of EOI
>   * to the two 8259s is important!
>   */
> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>  {
> -    unsigned int irqmask = 1 << desc->irq;
> +    unsigned int irqmask = 1 << irq;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&i8259A_lock, flags);
> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>      cached_irq_mask |= irqmask;
>  
>   handle_real_irq:
> -    if (desc->irq & 8) {
> +    if (irq & 8) {
>          inb(0xA1);              /* DUMMY - (do we need this?) */
>          outb(cached_A1,0xA1);
> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>      } else {
>          inb(0x21);              /* DUMMY - (do we need this?) */
>          outb(cached_21,0x21);
> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>      }
>      spin_unlock_irqrestore(&i8259A_lock, flags);
>      return;
> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>      /*
>       * this is the slow path - should happen rarely.
>       */
> -    if (i8259A_irq_real(desc->irq))
> +    if (i8259A_irq_real(irq))
>          /*
>           * oops, the IRQ _is_ in service according to the
>           * 8259A - not spurious, go handle it.
> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>           * lets ACK and report it. [once per IRQ]
>           */
>          if (!(spurious_irq_mask & irqmask)) {
> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>              spurious_irq_mask |= irqmask;
>          }
>          /*
> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>                                 is to be investigated) */
>  
>      if (auto_eoi)
> +    {
>          /*
>           * in AEOI mode we just have to mask the interrupt
>           * when acking.
>           */
>          i8259A_irq_type.ack = disable_8259A_irq;
> +        bogus_8259A_irq = _disable_8259A_irq;
> +    }
>      else
> +    {
>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
> +    }
>  
>      udelay(100);            /* wait for 8259A to initialize */
>  
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)
>          if (direct_apic_vector[vector] != NULL) {
>              (*direct_apic_vector[vector])(regs);
>          } else {
> -            ack_APIC_irq();
> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
> -                   __func__, smp_processor_id(), vector, irq);
> +            const char *kind = ", LAPIC";
> +
> +            if ( apic_isr_read(vector) )
> +                ack_APIC_irq();
> +            else
> +                kind = "";
> +            if ( vector >= FIRST_LEGACY_VECTOR &&
> +                 vector <= LAST_LEGACY_VECTOR )
> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
> +            printk("CPU%u: No irq handler for vector %02x (IRQ %d%s)\n",
> +                   smp_processor_id(), vector, irq, kind);
>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>          }
>          goto out_no_unlock;
> --- a/xen/include/asm-x86/apic.h
> +++ b/xen/include/asm-x86/apic.h
> @@ -146,6 +146,12 @@ static __inline void apic_icr_write(u32 
>      }
>  }
>  
> +static __inline bool_t apic_isr_read(u8 vector)
> +{
> +    return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
> +            (vector & 0x1f)) & 1;
> +}
> +
>  static __inline u32 get_apic_id(void) /* Get the physical APIC id */
>  {
>      u32 id = apic_read(APIC_ID);
> --- a/xen/include/asm-x86/irq.h
> +++ b/xen/include/asm-x86/irq.h
> @@ -104,6 +104,7 @@ void mask_8259A(void);
>  void unmask_8259A(void);
>  void init_8259A(int aeoi);
>  void make_8259A_irq(unsigned int irq);
> +extern void (*bogus_8259A_irq)(unsigned int irq);
>  int i8259A_suspend(void);
>  int i8259A_resume(void);
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:22:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy1K-0001gn-Hi; Mon, 14 May 2012 16:21:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STy1I-0001gi-Rn
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:21:13 +0000
Received: from [85.158.143.99:6510] by server-2.bemta-4.messagelabs.com id
	7B/1F-17550-8F031BF4; Mon, 14 May 2012 16:21:12 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337012471!22631052!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2162 invoked from network); 14 May 2012 16:21:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:21:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12463739"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 16:21:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 17:21:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STy1G-0005Sq-Iq; Mon, 14 May 2012 16:21:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STy1G-0007bu-C6;
	Mon, 14 May 2012 17:21:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.12534.42475.795827@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 17:21:10 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336984485.31817.17.camel@zakaz.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
	<1336801640.3891.17.camel@dagon.hellion.org.uk>
	<1336984485.31817.17.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> xenstore: rename public xenstore headers
> 
> 
> The xenstore header xs.h is producing conflicts with other software[1].
> 
> xs is a too short identifier and does not matche the library. Renaming
> the headers to xenstore.h and xenstore_lib.h is the easiest way to make
> them easy recognizable and prevent furthe problems.
> 
> [1]: http://bugs.debian.org/668550
> 
> Signed-off-by: Bastian Blank <waldi@debian.org>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

I have applied the xen-unstable.hg part of this.  For the
qemu-xen-traditional part, I felt the number of warnings that result
was really rather excessive for one of our own trees.

I have therefore updated qemu-xen-traditional.git (with the patch
below) to immediately use the new name, and included a corresponding
update to QEMU_TAG in xen-unstable.hg.

People who are working with xen-unstable will find that they have to
update their qemu.

Ian.

commit 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date:   Mon May 14 17:05:48 2012 +0100

    xenstore: Use <xenstore.h>
    
    <xs.h> is going away.
    
    This change needs to be made in lockstep with xen-unstable.hg, which
    will be done by a change to the QEMU_TAG in the xen-unstable.hg
    changeset.
    
    Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>

diff --git a/hw/xen_backend.c b/hw/xen_backend.c
index 64dc93a..92b3506 100644
--- a/hw/xen_backend.c
+++ b/hw/xen_backend.c
@@ -32,7 +32,7 @@
 #include <sys/mman.h>
 #include <sys/signal.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xen/grant_table.h>
 
diff --git a/hw/xen_common.h b/hw/xen_common.h
index 7562567..a615052 100644
--- a/hw/xen_common.h
+++ b/hw/xen_common.h
@@ -5,7 +5,7 @@
 #include <inttypes.h>
 
 #include <xenctrl.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/xenbus.h>
 
 #include "hw.h"
diff --git a/hw/xen_console.c b/hw/xen_console.c
index 8d14131..80beb31 100644
--- a/hw/xen_console.c
+++ b/hw/xen_console.c
@@ -29,7 +29,7 @@
 #include <termios.h>
 #include <stdarg.h>
 #include <sys/mman.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/console.h>
 #include <xenctrl.h>
 
diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 5db58ac..04a62e2 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -33,7 +33,7 @@
 #include <sys/mman.h>
 #include <sys/uio.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xen/io/xenbus.h>
 
diff --git a/hw/xenfb.c b/hw/xenfb.c
index 96c2a6f..75b2bc2 100644
--- a/hw/xenfb.c
+++ b/hw/xenfb.c
@@ -37,7 +37,7 @@
 #include <string.h>
 #include <time.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xen/event_channel.h>
 #include <xen/io/xenbus.h>
diff --git a/xen-config-host.h b/xen-config-host.h
index 818f25d..647f6be 100644
--- a/xen-config-host.h
+++ b/xen-config-host.h
@@ -17,7 +17,7 @@ extern int domid, domid_backend;
 #include <stdbool.h>
 
 #include "xenctrl.h"
-#include "xs.h"
+#include "xenstore.h"
 #if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
 #include "blktaplib.h"
 #endif

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:22:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy1K-0001gn-Hi; Mon, 14 May 2012 16:21:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STy1I-0001gi-Rn
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:21:13 +0000
Received: from [85.158.143.99:6510] by server-2.bemta-4.messagelabs.com id
	7B/1F-17550-8F031BF4; Mon, 14 May 2012 16:21:12 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337012471!22631052!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2162 invoked from network); 14 May 2012 16:21:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:21:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12463739"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 16:21:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 17:21:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1STy1G-0005Sq-Iq; Mon, 14 May 2012 16:21:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1STy1G-0007bu-C6;
	Mon, 14 May 2012 17:21:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20401.12534.42475.795827@mariner.uk.xensource.com>
Date: Mon, 14 May 2012 17:21:10 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1336984485.31817.17.camel@zakaz.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
	<1336801640.3891.17.camel@dagon.hellion.org.uk>
	<1336984485.31817.17.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> xenstore: rename public xenstore headers
> 
> 
> The xenstore header xs.h is producing conflicts with other software[1].
> 
> xs is a too short identifier and does not matche the library. Renaming
> the headers to xenstore.h and xenstore_lib.h is the easiest way to make
> them easy recognizable and prevent furthe problems.
> 
> [1]: http://bugs.debian.org/668550
> 
> Signed-off-by: Bastian Blank <waldi@debian.org>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

I have applied the xen-unstable.hg part of this.  For the
qemu-xen-traditional part, I felt the number of warnings that result
was really rather excessive for one of our own trees.

I have therefore updated qemu-xen-traditional.git (with the patch
below) to immediately use the new name, and included a corresponding
update to QEMU_TAG in xen-unstable.hg.

People who are working with xen-unstable will find that they have to
update their qemu.

Ian.

commit 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date:   Mon May 14 17:05:48 2012 +0100

    xenstore: Use <xenstore.h>
    
    <xs.h> is going away.
    
    This change needs to be made in lockstep with xen-unstable.hg, which
    will be done by a change to the QEMU_TAG in the xen-unstable.hg
    changeset.
    
    Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>

diff --git a/hw/xen_backend.c b/hw/xen_backend.c
index 64dc93a..92b3506 100644
--- a/hw/xen_backend.c
+++ b/hw/xen_backend.c
@@ -32,7 +32,7 @@
 #include <sys/mman.h>
 #include <sys/signal.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xen/grant_table.h>
 
diff --git a/hw/xen_common.h b/hw/xen_common.h
index 7562567..a615052 100644
--- a/hw/xen_common.h
+++ b/hw/xen_common.h
@@ -5,7 +5,7 @@
 #include <inttypes.h>
 
 #include <xenctrl.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/xenbus.h>
 
 #include "hw.h"
diff --git a/hw/xen_console.c b/hw/xen_console.c
index 8d14131..80beb31 100644
--- a/hw/xen_console.c
+++ b/hw/xen_console.c
@@ -29,7 +29,7 @@
 #include <termios.h>
 #include <stdarg.h>
 #include <sys/mman.h>
-#include <xs.h>
+#include <xenstore.h>
 #include <xen/io/console.h>
 #include <xenctrl.h>
 
diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 5db58ac..04a62e2 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -33,7 +33,7 @@
 #include <sys/mman.h>
 #include <sys/uio.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xen/io/xenbus.h>
 
diff --git a/hw/xenfb.c b/hw/xenfb.c
index 96c2a6f..75b2bc2 100644
--- a/hw/xenfb.c
+++ b/hw/xenfb.c
@@ -37,7 +37,7 @@
 #include <string.h>
 #include <time.h>
 
-#include <xs.h>
+#include <xenstore.h>
 #include <xenctrl.h>
 #include <xen/event_channel.h>
 #include <xen/io/xenbus.h>
diff --git a/xen-config-host.h b/xen-config-host.h
index 818f25d..647f6be 100644
--- a/xen-config-host.h
+++ b/xen-config-host.h
@@ -17,7 +17,7 @@ extern int domid, domid_backend;
 #include <stdbool.h>
 
 #include "xenctrl.h"
-#include "xs.h"
+#include "xenstore.h"
 #if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
 #include "blktaplib.h"
 #endif

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:26:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy4g-0001mV-8K; Mon, 14 May 2012 16:24:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1STy4f-0001mN-1L
	for xen-devel@lists.xen.org; Mon, 14 May 2012 16:24:41 +0000
Received: from [193.109.254.147:10217] by server-7.bemta-14.messagelabs.com id
	72/79-01627-8C131BF4; Mon, 14 May 2012 16:24:40 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337012679!9182528!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3554 invoked from network); 14 May 2012 16:24:39 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:24:39 -0000
Received: by eekd41 with SMTP id d41so798280eek.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 09:24:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=ICGjkH/tISghVm8aBteOvraW20FiG4eJaMLNDkjuDGw=;
	b=qQLpwNinYxTWORq6QrOEyktjZEaSQO6Vwms5+Y4MK6TPyM+eEAYz9lWd4UE6HVEphB
	1kP7fGDekFgITzIRxhP77mpZdYqEINXR7ITIncj9m+uvCa1WUK64oBk2/DtrRt1r+/5t
	X88KjdgGtsYbbnywCneWDColgzW8vVzX+uWOcpCYluIR/ow2VHeEanLKu8ZKRbjdhEQu
	1yP82imAbGUm8yn2uIYEg4ALD0DKt0TjepTvGgGzOQaZ6pO70CqVrvCRGkr1R1OceCg6
	qDxFGZN+T+TaukEfax6Pcm2mA0z2FYA99kS/shJTU53kwkWLeth+kvNofBkEF/VQl+qX
	9tmQ==
Received: by 10.14.47.197 with SMTP id t45mr1587836eeb.21.1337012679120;
	Mon, 14 May 2012 09:24:39 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z47sm92412337een.5.2012.05.14.09.24.37
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 09:24:38 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 14 May 2012 17:24:30 +0100
From: Keir Fraser <keir@xen.org>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBD6F04E.40439%keir@xen.org>
Thread-Topic: [Xen-devel] x86: adjust handling of interrupts coming in via
	legacy vectors
Thread-Index: Ac0x7gnMW9+jTaou0EGzQFknULJm8A==
In-Reply-To: <4FB1473102000078000838A6@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:

>> Looks sensible, and I suppose good to have for 4.2.
>> 
>> Acked-by: Keir Fraser <keir@xen.org>
> 
> Please take a look at the v2 I just sent, to accommodate a suggestion
> from Andrew Cooper.

I think it's very paranoid, since legacy vectors never get programmed into
an IOAPIC RTE and should never need EOIing at the local APIC. But you do at
least printk the case that we see the ISR bit set, and you printk the vector
number, so really this v2 patch gives us more information about this bogus
situation than v1 did, so it's a slight improvement overall. So you still
have my Ack.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:26:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy4g-0001mV-8K; Mon, 14 May 2012 16:24:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1STy4f-0001mN-1L
	for xen-devel@lists.xen.org; Mon, 14 May 2012 16:24:41 +0000
Received: from [193.109.254.147:10217] by server-7.bemta-14.messagelabs.com id
	72/79-01627-8C131BF4; Mon, 14 May 2012 16:24:40 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337012679!9182528!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3554 invoked from network); 14 May 2012 16:24:39 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:24:39 -0000
Received: by eekd41 with SMTP id d41so798280eek.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 09:24:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=ICGjkH/tISghVm8aBteOvraW20FiG4eJaMLNDkjuDGw=;
	b=qQLpwNinYxTWORq6QrOEyktjZEaSQO6Vwms5+Y4MK6TPyM+eEAYz9lWd4UE6HVEphB
	1kP7fGDekFgITzIRxhP77mpZdYqEINXR7ITIncj9m+uvCa1WUK64oBk2/DtrRt1r+/5t
	X88KjdgGtsYbbnywCneWDColgzW8vVzX+uWOcpCYluIR/ow2VHeEanLKu8ZKRbjdhEQu
	1yP82imAbGUm8yn2uIYEg4ALD0DKt0TjepTvGgGzOQaZ6pO70CqVrvCRGkr1R1OceCg6
	qDxFGZN+T+TaukEfax6Pcm2mA0z2FYA99kS/shJTU53kwkWLeth+kvNofBkEF/VQl+qX
	9tmQ==
Received: by 10.14.47.197 with SMTP id t45mr1587836eeb.21.1337012679120;
	Mon, 14 May 2012 09:24:39 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z47sm92412337een.5.2012.05.14.09.24.37
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 09:24:38 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 14 May 2012 17:24:30 +0100
From: Keir Fraser <keir@xen.org>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <CBD6F04E.40439%keir@xen.org>
Thread-Topic: [Xen-devel] x86: adjust handling of interrupts coming in via
	legacy vectors
Thread-Index: Ac0x7gnMW9+jTaou0EGzQFknULJm8A==
In-Reply-To: <4FB1473102000078000838A6@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:

>> Looks sensible, and I suppose good to have for 4.2.
>> 
>> Acked-by: Keir Fraser <keir@xen.org>
> 
> Please take a look at the v2 I just sent, to accommodate a suggestion
> from Andrew Cooper.

I think it's very paranoid, since legacy vectors never get programmed into
an IOAPIC RTE and should never need EOIing at the local APIC. But you do at
least printk the case that we see the ISR bit set, and you printk the vector
number, so really this v2 patch gives us more information about this bogus
situation than v1 did, so it's a slight improvement overall. So you still
have my Ack.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:26:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:26:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy4q-0001nO-Kk; Mon, 14 May 2012 16:24:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STy4p-0001nF-HA
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:24:51 +0000
Received: from [85.158.143.99:3802] by server-3.bemta-4.messagelabs.com id
	4A/C1-05853-2D131BF4; Mon, 14 May 2012 16:24:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337012689!22699637!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29336 invoked from network); 14 May 2012 16:24:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:24:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12463797"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 16:24:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 17:24:49 +0100
Message-ID: <1337012687.6497.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 17:24:47 +0100
In-Reply-To: <20401.12534.42475.795827@mariner.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
	<1336801640.3891.17.camel@dagon.hellion.org.uk>
	<1336984485.31817.17.camel@zakaz.uk.xensource.com>
	<20401.12534.42475.795827@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 17:21 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> > xenstore: rename public xenstore headers
> > 
> > 
> > The xenstore header xs.h is producing conflicts with other software[1].
> > 
> > xs is a too short identifier and does not matche the library. Renaming
> > the headers to xenstore.h and xenstore_lib.h is the easiest way to make
> > them easy recognizable and prevent furthe problems.
> > 
> > [1]: http://bugs.debian.org/668550
> > 
> > Signed-off-by: Bastian Blank <waldi@debian.org>
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> 
> I have applied the xen-unstable.hg part of this.  For the
> qemu-xen-traditional part, I felt the number of warnings that result
> was really rather excessive for one of our own trees.
> 
> I have therefore updated qemu-xen-traditional.git (with the patch
> below) to immediately use the new name, and included a corresponding
> update to QEMU_TAG in xen-unstable.hg.

Looks fine, thanks. I would Ack but assume it's too late.

> 
> People who are working with xen-unstable will find that they have to
> update their qemu.
> 
> Ian.
> 
> commit 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445
> Author: Ian Jackson <ian.jackson@eu.citrix.com>
> Date:   Mon May 14 17:05:48 2012 +0100
> 
>     xenstore: Use <xenstore.h>
>     
>     <xs.h> is going away.
>     
>     This change needs to be made in lockstep with xen-unstable.hg, which
>     will be done by a change to the QEMU_TAG in the xen-unstable.hg
>     changeset.
>     
>     Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
> 
> diff --git a/hw/xen_backend.c b/hw/xen_backend.c
> index 64dc93a..92b3506 100644
> --- a/hw/xen_backend.c
> +++ b/hw/xen_backend.c
> @@ -32,7 +32,7 @@
>  #include <sys/mman.h>
>  #include <sys/signal.h>
>  
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xenctrl.h>
>  #include <xen/grant_table.h>
>  
> diff --git a/hw/xen_common.h b/hw/xen_common.h
> index 7562567..a615052 100644
> --- a/hw/xen_common.h
> +++ b/hw/xen_common.h
> @@ -5,7 +5,7 @@
>  #include <inttypes.h>
>  
>  #include <xenctrl.h>
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xen/io/xenbus.h>
>  
>  #include "hw.h"
> diff --git a/hw/xen_console.c b/hw/xen_console.c
> index 8d14131..80beb31 100644
> --- a/hw/xen_console.c
> +++ b/hw/xen_console.c
> @@ -29,7 +29,7 @@
>  #include <termios.h>
>  #include <stdarg.h>
>  #include <sys/mman.h>
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xen/io/console.h>
>  #include <xenctrl.h>
>  
> diff --git a/hw/xen_disk.c b/hw/xen_disk.c
> index 5db58ac..04a62e2 100644
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -33,7 +33,7 @@
>  #include <sys/mman.h>
>  #include <sys/uio.h>
>  
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xenctrl.h>
>  #include <xen/io/xenbus.h>
>  
> diff --git a/hw/xenfb.c b/hw/xenfb.c
> index 96c2a6f..75b2bc2 100644
> --- a/hw/xenfb.c
> +++ b/hw/xenfb.c
> @@ -37,7 +37,7 @@
>  #include <string.h>
>  #include <time.h>
>  
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xenctrl.h>
>  #include <xen/event_channel.h>
>  #include <xen/io/xenbus.h>
> diff --git a/xen-config-host.h b/xen-config-host.h
> index 818f25d..647f6be 100644
> --- a/xen-config-host.h
> +++ b/xen-config-host.h
> @@ -17,7 +17,7 @@ extern int domid, domid_backend;
>  #include <stdbool.h>
>  
>  #include "xenctrl.h"
> -#include "xs.h"
> +#include "xenstore.h"
>  #if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
>  #include "blktaplib.h"
>  #endif



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:26:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:26:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy4q-0001nO-Kk; Mon, 14 May 2012 16:24:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1STy4p-0001nF-HA
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:24:51 +0000
Received: from [85.158.143.99:3802] by server-3.bemta-4.messagelabs.com id
	4A/C1-05853-2D131BF4; Mon, 14 May 2012 16:24:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337012689!22699637!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29336 invoked from network); 14 May 2012 16:24:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:24:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12463797"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 16:24:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 17:24:49 +0100
Message-ID: <1337012687.6497.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 17:24:47 +0100
In-Reply-To: <20401.12534.42475.795827@mariner.uk.xensource.com>
References: <20120416154210.GA6338@wavehammer.waldi.eu.org>
	<1334591484.14560.219.camel@zakaz.uk.xensource.com>
	<20374.54942.132249.434292@mariner.uk.xensource.com>
	<1336754999.23818.144.camel@zakaz.uk.xensource.com>
	<20120511170240.GA15662@wavehammer.waldi.eu.org>
	<20397.18234.50742.594420@mariner.uk.xensource.com>
	<1336801640.3891.17.camel@dagon.hellion.org.uk>
	<1336984485.31817.17.camel@zakaz.uk.xensource.com>
	<20401.12534.42475.795827@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Bastian Blank <waldi@debian.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] Rename public xenstore headers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 17:21 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH] Rename public xenstore headers"):
> > xenstore: rename public xenstore headers
> > 
> > 
> > The xenstore header xs.h is producing conflicts with other software[1].
> > 
> > xs is a too short identifier and does not matche the library. Renaming
> > the headers to xenstore.h and xenstore_lib.h is the easiest way to make
> > them easy recognizable and prevent furthe problems.
> > 
> > [1]: http://bugs.debian.org/668550
> > 
> > Signed-off-by: Bastian Blank <waldi@debian.org>
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> 
> I have applied the xen-unstable.hg part of this.  For the
> qemu-xen-traditional part, I felt the number of warnings that result
> was really rather excessive for one of our own trees.
> 
> I have therefore updated qemu-xen-traditional.git (with the patch
> below) to immediately use the new name, and included a corresponding
> update to QEMU_TAG in xen-unstable.hg.

Looks fine, thanks. I would Ack but assume it's too late.

> 
> People who are working with xen-unstable will find that they have to
> update their qemu.
> 
> Ian.
> 
> commit 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445
> Author: Ian Jackson <ian.jackson@eu.citrix.com>
> Date:   Mon May 14 17:05:48 2012 +0100
> 
>     xenstore: Use <xenstore.h>
>     
>     <xs.h> is going away.
>     
>     This change needs to be made in lockstep with xen-unstable.hg, which
>     will be done by a change to the QEMU_TAG in the xen-unstable.hg
>     changeset.
>     
>     Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
> 
> diff --git a/hw/xen_backend.c b/hw/xen_backend.c
> index 64dc93a..92b3506 100644
> --- a/hw/xen_backend.c
> +++ b/hw/xen_backend.c
> @@ -32,7 +32,7 @@
>  #include <sys/mman.h>
>  #include <sys/signal.h>
>  
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xenctrl.h>
>  #include <xen/grant_table.h>
>  
> diff --git a/hw/xen_common.h b/hw/xen_common.h
> index 7562567..a615052 100644
> --- a/hw/xen_common.h
> +++ b/hw/xen_common.h
> @@ -5,7 +5,7 @@
>  #include <inttypes.h>
>  
>  #include <xenctrl.h>
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xen/io/xenbus.h>
>  
>  #include "hw.h"
> diff --git a/hw/xen_console.c b/hw/xen_console.c
> index 8d14131..80beb31 100644
> --- a/hw/xen_console.c
> +++ b/hw/xen_console.c
> @@ -29,7 +29,7 @@
>  #include <termios.h>
>  #include <stdarg.h>
>  #include <sys/mman.h>
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xen/io/console.h>
>  #include <xenctrl.h>
>  
> diff --git a/hw/xen_disk.c b/hw/xen_disk.c
> index 5db58ac..04a62e2 100644
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -33,7 +33,7 @@
>  #include <sys/mman.h>
>  #include <sys/uio.h>
>  
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xenctrl.h>
>  #include <xen/io/xenbus.h>
>  
> diff --git a/hw/xenfb.c b/hw/xenfb.c
> index 96c2a6f..75b2bc2 100644
> --- a/hw/xenfb.c
> +++ b/hw/xenfb.c
> @@ -37,7 +37,7 @@
>  #include <string.h>
>  #include <time.h>
>  
> -#include <xs.h>
> +#include <xenstore.h>
>  #include <xenctrl.h>
>  #include <xen/event_channel.h>
>  #include <xen/io/xenbus.h>
> diff --git a/xen-config-host.h b/xen-config-host.h
> index 818f25d..647f6be 100644
> --- a/xen-config-host.h
> +++ b/xen-config-host.h
> @@ -17,7 +17,7 @@ extern int domid, domid_backend;
>  #include <stdbool.h>
>  
>  #include "xenctrl.h"
> -#include "xs.h"
> +#include "xenstore.h"
>  #if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
>  #include "blktaplib.h"
>  #endif



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:28:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy6y-0001y3-81; Mon, 14 May 2012 16:27:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1STy6w-0001xt-Vw
	for xen-devel@lists.xen.org; Mon, 14 May 2012 16:27:03 +0000
Received: from [85.158.143.99:35036] by server-3.bemta-4.messagelabs.com id
	CB/54-05853-65231BF4; Mon, 14 May 2012 16:27:02 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337012818!27056301!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19850 invoked from network); 14 May 2012 16:26:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:26:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="25161915"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 12:26:48 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Mon, 14 May 2012
	12:26:47 -0400
Message-ID: <4FB13246.7040905@citrix.com>
Date: Mon, 14 May 2012 17:26:46 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <4FB1469102000078000838A2@nat28.tlf.novell.com>
	<4FB149C502000078000838B2@nat28.tlf.novell.com>
In-Reply-To: <4FB149C502000078000838B2@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH,
 v2] x86: adjust handling of interrupts coming in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 17:07, Jan Beulich wrote:
>>>> On 14.05.12 at 17:53, "Jan Beulich" <JBeulich@suse.com> wrote:
>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>> number of times (one report being
>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>> apparently always with a vector within the legacy range. Obviously,
>> besides legacy vectors not normally expected to be in use on systems
>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>
>> This wasn't being prevented so far: Since we don't have a one-to-one
>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>> associated with them (one used in either 8259A, the other used in one
>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>> really being handled via an IO-APIC.
>>
>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>> particular interrupts, restores it.
>>
>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>> too: Interrupts coming in via legacy vectors obviously didn't get
>> reported through the IO-APIC/LAPIC pair (as we never program these
>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>> have the 8259A driver take care of the bogus interrupt (as outside of
>> automatice EOI mode it may need an EOI to be issued for it to prevent
>> other interrupts that may legitimately go through the 8259As from
>> getting masked out).
> Just realized that this last paragraph doesn't really match the
> implementation, so I'm intending to replace it with:
>
> The spurious interrupt logic in do_IRQ() gets adjusted too: Interrupts
> coming in via legacy vectors presumably didn't get reported through the
> IO-APIC/LAPIC pair (as we never program these vectors into any RTE or
> LVT). Call ack_APIC_irq() only when the LAPIC's ISR bit says an
> interrupt is pending at the given vector. Plus, a new function (pointer)
> bogus_8259A_irq() gets used to have the 8259A driver take care of the
> bogus interrupt (as outside of automatic EOI mode it may need an EOI to
> be issued for it to prevent other interrupts legitimately going through
> the 8259As from getting masked out).
>
> Jan

Yes - that looks better.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
>> Changes in v2: Check LAPIC's ISR to decide whether to call
>> ack_APIC_irq(), and use the vector only to decide whether to call
>> bogus_8259A_irq(). Use the newly introduced helper function also in the
>> two places in apic.c where this so far was open-coded.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/apic.c
>> +++ b/xen/arch/x86/apic.c
>> @@ -1317,15 +1317,12 @@ void smp_send_state_dump(unsigned int cp
>>   */
>>  void spurious_interrupt(struct cpu_user_regs *regs)
>>  {
>> -    unsigned long v;
>> -
>>      /*
>>       * Check if this is a vectored interrupt (most likely, as this is 
>> probably
>>       * a request to dump local CPU state). Vectored interrupts are ACKed;
>>       * spurious interrupts are not.
>>       */
>> -    v = apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> 1));
>> -    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {
>> +    if (apic_isr_read(SPURIOUS_APIC_VECTOR)) {
>>          ack_APIC_irq();
>>          if (this_cpu(state_dump_pending)) {
>>              this_cpu(state_dump_pending) = 0;
>> @@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mode(v
>>  
>>  void check_for_unexpected_msi(unsigned int vector)
>>  {
>> -    unsigned long v = apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));
>> -    BUG_ON(v & (1 << (vector & 0x1f)));
>> +    BUG_ON(apic_isr_read(vector));
>>  }
>> --- a/xen/arch/x86/i8259.c
>> +++ b/xen/arch/x86/i8259.c
>> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>>  
>>  static DEFINE_SPINLOCK(i8259A_lock);
>>  
>> -static void mask_and_ack_8259A_irq(struct irq_desc *);
>> +static void _mask_and_ack_8259A_irq(unsigned int irq);
>> +
>> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
>> +    _mask_and_ack_8259A_irq;
>> +
>> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _mask_and_ack_8259A_irq(desc->irq);
>> +}
>>  
>>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>>  {
>> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>>   */
>>  unsigned int __read_mostly io_apic_irqs;
>>  
>> -void disable_8259A_irq(struct irq_desc *desc)
>> +static void _disable_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int mask = 1 << desc->irq;
>> +    unsigned int mask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask |= mask;
>> -    if (desc->irq & 8)
>> +    if (irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>>          outb(cached_21,0x21);
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>  }
>>  
>> +void disable_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _disable_8259A_irq(desc->irq);
>> +}
>> +
>>  void enable_8259A_irq(struct irq_desc *desc)
>>  {
>>      unsigned int mask = ~(1 << desc->irq);
>> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask &= mask;
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>>      if (desc->irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>>   * first, _then_ send the EOI, and the order of EOI
>>   * to the two 8259s is important!
>>   */
>> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int irqmask = 1 << desc->irq;
>> +    unsigned int irqmask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>>      cached_irq_mask |= irqmask;
>>  
>>   handle_real_irq:
>> -    if (desc->irq & 8) {
>> +    if (irq & 8) {
>>          inb(0xA1);              /* DUMMY - (do we need this?) */
>>          outb(cached_A1,0xA1);
>> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
>> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>>      } else {
>>          inb(0x21);              /* DUMMY - (do we need this?) */
>>          outb(cached_21,0x21);
>> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
>> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>>      }
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>      return;
>> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>>      /*
>>       * this is the slow path - should happen rarely.
>>       */
>> -    if (i8259A_irq_real(desc->irq))
>> +    if (i8259A_irq_real(irq))
>>          /*
>>           * oops, the IRQ _is_ in service according to the
>>           * 8259A - not spurious, go handle it.
>> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>>           * lets ACK and report it. [once per IRQ]
>>           */
>>          if (!(spurious_irq_mask & irqmask)) {
>> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
>> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>>              spurious_irq_mask |= irqmask;
>>          }
>>          /*
>> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>>                                 is to be investigated) */
>>  
>>      if (auto_eoi)
>> +    {
>>          /*
>>           * in AEOI mode we just have to mask the interrupt
>>           * when acking.
>>           */
>>          i8259A_irq_type.ack = disable_8259A_irq;
>> +        bogus_8259A_irq = _disable_8259A_irq;
>> +    }
>>      else
>> +    {
>>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
>> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
>> +    }
>>  
>>      udelay(100);            /* wait for 8259A to initialize */
>>  
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)
>>          if (direct_apic_vector[vector] != NULL) {
>>              (*direct_apic_vector[vector])(regs);
>>          } else {
>> -            ack_APIC_irq();
>> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
>> -                   __func__, smp_processor_id(), vector, irq);
>> +            const char *kind = ", LAPIC";
>> +
>> +            if ( apic_isr_read(vector) )
>> +                ack_APIC_irq();
>> +            else
>> +                kind = "";
>> +            if ( vector >= FIRST_LEGACY_VECTOR &&
>> +                 vector <= LAST_LEGACY_VECTOR )
>> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
>> +            printk("CPU%u: No irq handler for vector %02x (IRQ %d%s)\n",
>> +                   smp_processor_id(), vector, irq, kind);
>>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>>          }
>>          goto out_no_unlock;
>> --- a/xen/include/asm-x86/apic.h
>> +++ b/xen/include/asm-x86/apic.h
>> @@ -146,6 +146,12 @@ static __inline void apic_icr_write(u32 
>>      }
>>  }
>>  
>> +static __inline bool_t apic_isr_read(u8 vector)
>> +{
>> +    return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
>> +            (vector & 0x1f)) & 1;
>> +}
>> +
>>  static __inline u32 get_apic_id(void) /* Get the physical APIC id */
>>  {
>>      u32 id = apic_read(APIC_ID);
>> --- a/xen/include/asm-x86/irq.h
>> +++ b/xen/include/asm-x86/irq.h
>> @@ -104,6 +104,7 @@ void mask_8259A(void);
>>  void unmask_8259A(void);
>>  void init_8259A(int aeoi);
>>  void make_8259A_irq(unsigned int irq);
>> +extern void (*bogus_8259A_irq)(unsigned int irq);
>>  int i8259A_suspend(void);
>>  int i8259A_resume(void);
>>  
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:28:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STy6y-0001y3-81; Mon, 14 May 2012 16:27:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1STy6w-0001xt-Vw
	for xen-devel@lists.xen.org; Mon, 14 May 2012 16:27:03 +0000
Received: from [85.158.143.99:35036] by server-3.bemta-4.messagelabs.com id
	CB/54-05853-65231BF4; Mon, 14 May 2012 16:27:02 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337012818!27056301!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19850 invoked from network); 14 May 2012 16:26:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:26:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330923600"; d="scan'208";a="25161915"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 12:26:48 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Mon, 14 May 2012
	12:26:47 -0400
Message-ID: <4FB13246.7040905@citrix.com>
Date: Mon, 14 May 2012 17:26:46 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <4FB1469102000078000838A2@nat28.tlf.novell.com>
	<4FB149C502000078000838B2@nat28.tlf.novell.com>
In-Reply-To: <4FB149C502000078000838B2@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH,
 v2] x86: adjust handling of interrupts coming in via legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 14/05/12 17:07, Jan Beulich wrote:
>>>> On 14.05.12 at 17:53, "Jan Beulich" <JBeulich@suse.com> wrote:
>> The debugging code added in c/s 24707:96987c324a4f was hit a (small)
>> number of times (one report being
>> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html),
>> apparently always with a vector within the legacy range. Obviously,
>> besides legacy vectors not normally expected to be in use on systems
>> with IO-APIC(s), they should never make it to the IRQ migration logic.
>>
>> This wasn't being prevented so far: Since we don't have a one-to-one
>> mapping between vectors and IRQs - legacy IRQs may have two vectors
>> associated with them (one used in either 8259A, the other used in one
>> of the IO-APICs) -, vector-to-IRQ translations for legacy vectors (as
>> used in do_IRQ()) would yield a valid IRQ number despite the IRQ
>> really being handled via an IO-APIC.
>>
>> This gets changed here - disable_8259A_irq() zaps the legacy vector-to-
>> IRQ mapping, and enable_8259A_irq(), should it ever be called for a
>> particular interrupts, restores it.
>>
>> Additionally, the spurious interrupt logic in do_IRQ() gets adjusted
>> too: Interrupts coming in via legacy vectors obviously didn't get
>> reported through the IO-APIC/LAPIC pair (as we never program these
>> vectors into any RTE), and hence shouldn't get ack_APIC_irq() called on
>> them. Instead, a new function (pointer) bogus_8259A_irq() gets used to
>> have the 8259A driver take care of the bogus interrupt (as outside of
>> automatice EOI mode it may need an EOI to be issued for it to prevent
>> other interrupts that may legitimately go through the 8259As from
>> getting masked out).
> Just realized that this last paragraph doesn't really match the
> implementation, so I'm intending to replace it with:
>
> The spurious interrupt logic in do_IRQ() gets adjusted too: Interrupts
> coming in via legacy vectors presumably didn't get reported through the
> IO-APIC/LAPIC pair (as we never program these vectors into any RTE or
> LVT). Call ack_APIC_irq() only when the LAPIC's ISR bit says an
> interrupt is pending at the given vector. Plus, a new function (pointer)
> bogus_8259A_irq() gets used to have the 8259A driver take care of the
> bogus interrupt (as outside of automatic EOI mode it may need an EOI to
> be issued for it to prevent other interrupts legitimately going through
> the 8259As from getting masked out).
>
> Jan

Yes - that looks better.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
>> Changes in v2: Check LAPIC's ISR to decide whether to call
>> ack_APIC_irq(), and use the vector only to decide whether to call
>> bogus_8259A_irq(). Use the newly introduced helper function also in the
>> two places in apic.c where this so far was open-coded.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/apic.c
>> +++ b/xen/arch/x86/apic.c
>> @@ -1317,15 +1317,12 @@ void smp_send_state_dump(unsigned int cp
>>   */
>>  void spurious_interrupt(struct cpu_user_regs *regs)
>>  {
>> -    unsigned long v;
>> -
>>      /*
>>       * Check if this is a vectored interrupt (most likely, as this is 
>> probably
>>       * a request to dump local CPU state). Vectored interrupts are ACKed;
>>       * spurious interrupts are not.
>>       */
>> -    v = apic_read(APIC_ISR + ((SPURIOUS_APIC_VECTOR & ~0x1f) >> 1));
>> -    if (v & (1 << (SPURIOUS_APIC_VECTOR & 0x1f))) {
>> +    if (apic_isr_read(SPURIOUS_APIC_VECTOR)) {
>>          ack_APIC_irq();
>>          if (this_cpu(state_dump_pending)) {
>>              this_cpu(state_dump_pending) = 0;
>> @@ -1491,6 +1488,5 @@ enum apic_mode current_local_apic_mode(v
>>  
>>  void check_for_unexpected_msi(unsigned int vector)
>>  {
>> -    unsigned long v = apic_read(APIC_ISR + ((vector & ~0x1f) >> 1));
>> -    BUG_ON(v & (1 << (vector & 0x1f)));
>> +    BUG_ON(apic_isr_read(vector));
>>  }
>> --- a/xen/arch/x86/i8259.c
>> +++ b/xen/arch/x86/i8259.c
>> @@ -85,7 +85,15 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) BU
>>  
>>  static DEFINE_SPINLOCK(i8259A_lock);
>>  
>> -static void mask_and_ack_8259A_irq(struct irq_desc *);
>> +static void _mask_and_ack_8259A_irq(unsigned int irq);
>> +
>> +void (*__read_mostly bogus_8259A_irq)(unsigned int irq) =
>> +    _mask_and_ack_8259A_irq;
>> +
>> +static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _mask_and_ack_8259A_irq(desc->irq);
>> +}
>>  
>>  static unsigned int startup_8259A_irq(struct irq_desc *desc)
>>  {
>> @@ -133,20 +141,26 @@ static unsigned int cached_irq_mask = 0x
>>   */
>>  unsigned int __read_mostly io_apic_irqs;
>>  
>> -void disable_8259A_irq(struct irq_desc *desc)
>> +static void _disable_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int mask = 1 << desc->irq;
>> +    unsigned int mask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask |= mask;
>> -    if (desc->irq & 8)
>> +    if (irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>>          outb(cached_21,0x21);
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(irq)] = -1;
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>  }
>>  
>> +void disable_8259A_irq(struct irq_desc *desc)
>> +{
>> +    _disable_8259A_irq(desc->irq);
>> +}
>> +
>>  void enable_8259A_irq(struct irq_desc *desc)
>>  {
>>      unsigned int mask = ~(1 << desc->irq);
>> @@ -154,6 +168,7 @@ void enable_8259A_irq(struct irq_desc *d
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>>      cached_irq_mask &= mask;
>> +    per_cpu(vector_irq, 0)[LEGACY_VECTOR(desc->irq)] = desc->irq;
>>      if (desc->irq & 8)
>>          outb(cached_A1,0xA1);
>>      else
>> @@ -226,9 +241,9 @@ static inline int i8259A_irq_real(unsign
>>   * first, _then_ send the EOI, and the order of EOI
>>   * to the two 8259s is important!
>>   */
>> -static void mask_and_ack_8259A_irq(struct irq_desc *desc)
>> +static void _mask_and_ack_8259A_irq(unsigned int irq)
>>  {
>> -    unsigned int irqmask = 1 << desc->irq;
>> +    unsigned int irqmask = 1 << irq;
>>      unsigned long flags;
>>  
>>      spin_lock_irqsave(&i8259A_lock, flags);
>> @@ -252,15 +267,15 @@ static void mask_and_ack_8259A_irq(struc
>>      cached_irq_mask |= irqmask;
>>  
>>   handle_real_irq:
>> -    if (desc->irq & 8) {
>> +    if (irq & 8) {
>>          inb(0xA1);              /* DUMMY - (do we need this?) */
>>          outb(cached_A1,0xA1);
>> -        outb(0x60 + (desc->irq & 7), 0xA0);/* 'Specific EOI' to slave */
>> +        outb(0x60 + (irq & 7), 0xA0);/* 'Specific EOI' to slave */
>>          outb(0x62,0x20);        /* 'Specific EOI' to master-IRQ2 */
>>      } else {
>>          inb(0x21);              /* DUMMY - (do we need this?) */
>>          outb(cached_21,0x21);
>> -        outb(0x60 + desc->irq, 0x20);/* 'Specific EOI' to master */
>> +        outb(0x60 + irq, 0x20);/* 'Specific EOI' to master */
>>      }
>>      spin_unlock_irqrestore(&i8259A_lock, flags);
>>      return;
>> @@ -269,7 +284,7 @@ static void mask_and_ack_8259A_irq(struc
>>      /*
>>       * this is the slow path - should happen rarely.
>>       */
>> -    if (i8259A_irq_real(desc->irq))
>> +    if (i8259A_irq_real(irq))
>>          /*
>>           * oops, the IRQ _is_ in service according to the
>>           * 8259A - not spurious, go handle it.
>> @@ -283,7 +298,7 @@ static void mask_and_ack_8259A_irq(struc
>>           * lets ACK and report it. [once per IRQ]
>>           */
>>          if (!(spurious_irq_mask & irqmask)) {
>> -            printk("spurious 8259A interrupt: IRQ%d.\n", desc->irq);
>> +            printk("spurious 8259A interrupt: IRQ%d.\n", irq);
>>              spurious_irq_mask |= irqmask;
>>          }
>>          /*
>> @@ -352,13 +367,19 @@ void __devinit init_8259A(int auto_eoi)
>>                                 is to be investigated) */
>>  
>>      if (auto_eoi)
>> +    {
>>          /*
>>           * in AEOI mode we just have to mask the interrupt
>>           * when acking.
>>           */
>>          i8259A_irq_type.ack = disable_8259A_irq;
>> +        bogus_8259A_irq = _disable_8259A_irq;
>> +    }
>>      else
>> +    {
>>          i8259A_irq_type.ack = mask_and_ack_8259A_irq;
>> +        bogus_8259A_irq = _mask_and_ack_8259A_irq;
>> +    }
>>  
>>      udelay(100);            /* wait for 8259A to initialize */
>>  
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -811,9 +811,17 @@ void do_IRQ(struct cpu_user_regs *regs)
>>          if (direct_apic_vector[vector] != NULL) {
>>              (*direct_apic_vector[vector])(regs);
>>          } else {
>> -            ack_APIC_irq();
>> -            printk("%s: %d.%d No irq handler for vector (irq %d)\n",
>> -                   __func__, smp_processor_id(), vector, irq);
>> +            const char *kind = ", LAPIC";
>> +
>> +            if ( apic_isr_read(vector) )
>> +                ack_APIC_irq();
>> +            else
>> +                kind = "";
>> +            if ( vector >= FIRST_LEGACY_VECTOR &&
>> +                 vector <= LAST_LEGACY_VECTOR )
>> +                bogus_8259A_irq(vector - FIRST_LEGACY_VECTOR);
>> +            printk("CPU%u: No irq handler for vector %02x (IRQ %d%s)\n",
>> +                   smp_processor_id(), vector, irq, kind);
>>              TRACE_1D(TRC_HW_IRQ_UNMAPPED_VECTOR, vector);
>>          }
>>          goto out_no_unlock;
>> --- a/xen/include/asm-x86/apic.h
>> +++ b/xen/include/asm-x86/apic.h
>> @@ -146,6 +146,12 @@ static __inline void apic_icr_write(u32 
>>      }
>>  }
>>  
>> +static __inline bool_t apic_isr_read(u8 vector)
>> +{
>> +    return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
>> +            (vector & 0x1f)) & 1;
>> +}
>> +
>>  static __inline u32 get_apic_id(void) /* Get the physical APIC id */
>>  {
>>      u32 id = apic_read(APIC_ID);
>> --- a/xen/include/asm-x86/irq.h
>> +++ b/xen/include/asm-x86/irq.h
>> @@ -104,6 +104,7 @@ void mask_8259A(void);
>>  void unmask_8259A(void);
>>  void init_8259A(int aeoi);
>>  void make_8259A_irq(unsigned int irq);
>> +extern void (*bogus_8259A_irq)(unsigned int irq);
>>  int i8259A_suspend(void);
>>  int i8259A_resume(void);
>>  
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:39:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:39:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STyII-0006om-1h; Mon, 14 May 2012 16:38:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony@codemonkey.ws>) id 1STyIF-0006oR-KO
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:38:43 +0000
Received: from [193.109.254.147:7775] by server-6.bemta-14.messagelabs.com id
	6B/2F-04960-21531BF4; Mon, 14 May 2012 16:38:42 +0000
X-Env-Sender: anthony@codemonkey.ws
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337013518!2377226!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8807 invoked from network); 14 May 2012 16:38:39 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:38:39 -0000
Received: by yenq11 with SMTP id q11so5760909yen.30
	for <xen-devel@lists.xensource.com>;
	Mon, 14 May 2012 09:38:38 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding
	:x-gm-message-state;
	bh=lJEPQpzQY9wrdaBFrb1xOBJaxZNbG401V4DOuFix4Dc=;
	b=R6vDzT3EamoBLcLwix66pBzAxYF82sO/XGSUW34EsReASukT6CT7T65eGsO5l0Kku7
	xpU24ykrSDDBWuL+FZ+Yrsb8g0bmhtQ/CR6ZaBV9IQPdQukoMqo/jMQ3e31e5qsixbGZ
	62isE40eKfMy2fZ1fDmfhIyJDUTnaNwuYDBlQkVqkfDewK+irqcfmuXQzYQN2reP0pby
	yr4t6n41849snu4CXSaVpEVmXl6o/5CwldEV4HW8ucytfhiZe3tEeW07owYk1SUbur91
	Lou3qofPamnDBI7CfeDchGpm/YetA1pt5V0PU6riaH6sPATPxCg+GdqjAaWrdAmvDfzE
	WTGA==
Received: by 10.60.24.67 with SMTP id s3mr6385435oef.54.1337013517947;
	Mon, 14 May 2012 09:38:37 -0700 (PDT)
Received: from [192.168.0.106] (cpe-70-123-145-39.austin.res.rr.com.
	[70.123.145.39])
	by mx.google.com with ESMTPS id r8sm15656065oer.6.2012.05.14.09.38.35
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 09:38:36 -0700 (PDT)
Message-ID: <4FB1350A.6020106@codemonkey.ws>
Date: Mon, 14 May 2012 11:38:34 -0500
From: Anthony Liguori <anthony@codemonkey.ws>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
	<1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Gm-Message-State: ALoCoQnAMcujSKBDzu8YMAEPUdcxf5OoJbc330TxU81gAs/D2j0Ba68TVDHi0Y1CM40219rp/oA9
Cc: xen-devel@lists.xensource.com, qemu-devel@nongnu.org
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1.1 1/4] xen: do not initialize
 the interval timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 07:44 AM, Stefano Stabellini wrote:
> PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
> them in Qemu: this patch prevents Qemu from waking up needlessly at
> PIT_FREQ on Xen.
>
> Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> ---
>   hw/pc.c |   23 +++++++++++++----------
>   1 files changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/hw/pc.c b/hw/pc.c
> index 4d34a33..c52caf6 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -47,6 +47,7 @@
>   #include "ui/qemu-spice.h"
>   #include "memory.h"
>   #include "exec-memory.h"
> +#include "arch_init.h"
>
>   /* output Bochs bios info messages */
>   //#define DEBUG_BIOS
> @@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
>       qemu_irq pit_alt_irq = NULL;
>       qemu_irq rtc_irq = NULL;
>       qemu_irq *a20_line;
> -    ISADevice *i8042, *port92, *vmmouse, *pit;
> +    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
>       qemu_irq *cpu_exit_irq;
>
>       register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
> @@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
>
>       qemu_register_boot_set(pc_boot_set, *rtc_state);
>
> -    if (kvm_irqchip_in_kernel()) {
> -        pit = kvm_pit_init(isa_bus, 0x40);
> -    } else {
> -        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> -    }
> -    if (hpet) {
> -        /* connect PIT to output control line of the HPET */
> -        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
> +    if (!xen_available()) {

Shouldn't this be xen_enabled()?

Regards,

Anthony Liguori

> +        if (kvm_irqchip_in_kernel()) {
> +            pit = kvm_pit_init(isa_bus, 0x40);
> +        } else {
> +            pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> +        }
> +        if (hpet) {
> +            /* connect PIT to output control line of the HPET */
> +            qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
> +        }
> +        pcspk_init(isa_bus, pit);
>       }
> -    pcspk_init(isa_bus, pit);
>
>       for(i = 0; i<  MAX_SERIAL_PORTS; i++) {
>           if (serial_hds[i]) {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 16:39:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 16:39:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STyII-0006om-1h; Mon, 14 May 2012 16:38:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony@codemonkey.ws>) id 1STyIF-0006oR-KO
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 16:38:43 +0000
Received: from [193.109.254.147:7775] by server-6.bemta-14.messagelabs.com id
	6B/2F-04960-21531BF4; Mon, 14 May 2012 16:38:42 +0000
X-Env-Sender: anthony@codemonkey.ws
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337013518!2377226!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8807 invoked from network); 14 May 2012 16:38:39 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 16:38:39 -0000
Received: by yenq11 with SMTP id q11so5760909yen.30
	for <xen-devel@lists.xensource.com>;
	Mon, 14 May 2012 09:38:38 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding
	:x-gm-message-state;
	bh=lJEPQpzQY9wrdaBFrb1xOBJaxZNbG401V4DOuFix4Dc=;
	b=R6vDzT3EamoBLcLwix66pBzAxYF82sO/XGSUW34EsReASukT6CT7T65eGsO5l0Kku7
	xpU24ykrSDDBWuL+FZ+Yrsb8g0bmhtQ/CR6ZaBV9IQPdQukoMqo/jMQ3e31e5qsixbGZ
	62isE40eKfMy2fZ1fDmfhIyJDUTnaNwuYDBlQkVqkfDewK+irqcfmuXQzYQN2reP0pby
	yr4t6n41849snu4CXSaVpEVmXl6o/5CwldEV4HW8ucytfhiZe3tEeW07owYk1SUbur91
	Lou3qofPamnDBI7CfeDchGpm/YetA1pt5V0PU6riaH6sPATPxCg+GdqjAaWrdAmvDfzE
	WTGA==
Received: by 10.60.24.67 with SMTP id s3mr6385435oef.54.1337013517947;
	Mon, 14 May 2012 09:38:37 -0700 (PDT)
Received: from [192.168.0.106] (cpe-70-123-145-39.austin.res.rr.com.
	[70.123.145.39])
	by mx.google.com with ESMTPS id r8sm15656065oer.6.2012.05.14.09.38.35
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 09:38:36 -0700 (PDT)
Message-ID: <4FB1350A.6020106@codemonkey.ws>
Date: Mon, 14 May 2012 11:38:34 -0500
From: Anthony Liguori <anthony@codemonkey.ws>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
	<1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
In-Reply-To: <1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Gm-Message-State: ALoCoQnAMcujSKBDzu8YMAEPUdcxf5OoJbc330TxU81gAs/D2j0Ba68TVDHi0Y1CM40219rp/oA9
Cc: xen-devel@lists.xensource.com, qemu-devel@nongnu.org
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1.1 1/4] xen: do not initialize
 the interval timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 07:44 AM, Stefano Stabellini wrote:
> PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
> them in Qemu: this patch prevents Qemu from waking up needlessly at
> PIT_FREQ on Xen.
>
> Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> ---
>   hw/pc.c |   23 +++++++++++++----------
>   1 files changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/hw/pc.c b/hw/pc.c
> index 4d34a33..c52caf6 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -47,6 +47,7 @@
>   #include "ui/qemu-spice.h"
>   #include "memory.h"
>   #include "exec-memory.h"
> +#include "arch_init.h"
>
>   /* output Bochs bios info messages */
>   //#define DEBUG_BIOS
> @@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
>       qemu_irq pit_alt_irq = NULL;
>       qemu_irq rtc_irq = NULL;
>       qemu_irq *a20_line;
> -    ISADevice *i8042, *port92, *vmmouse, *pit;
> +    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
>       qemu_irq *cpu_exit_irq;
>
>       register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
> @@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
>
>       qemu_register_boot_set(pc_boot_set, *rtc_state);
>
> -    if (kvm_irqchip_in_kernel()) {
> -        pit = kvm_pit_init(isa_bus, 0x40);
> -    } else {
> -        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> -    }
> -    if (hpet) {
> -        /* connect PIT to output control line of the HPET */
> -        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
> +    if (!xen_available()) {

Shouldn't this be xen_enabled()?

Regards,

Anthony Liguori

> +        if (kvm_irqchip_in_kernel()) {
> +            pit = kvm_pit_init(isa_bus, 0x40);
> +        } else {
> +            pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> +        }
> +        if (hpet) {
> +            /* connect PIT to output control line of the HPET */
> +            qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
> +        }
> +        pcspk_init(isa_bus, pit);
>       }
> -    pcspk_init(isa_bus, pit);
>
>       for(i = 0; i<  MAX_SERIAL_PORTS; i++) {
>           if (serial_hds[i]) {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:01:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STydW-0007RW-8I; Mon, 14 May 2012 17:00:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STydU-0007RR-C4
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:00:40 +0000
Received: from [85.158.138.51:24653] by server-2.bemta-3.messagelabs.com id
	0E/F6-09269-73A31BF4; Mon, 14 May 2012 17:00:39 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337014838!27018564!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22914 invoked from network); 14 May 2012 17:00:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:00:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12464490"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 17:00:37 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 18:00:37 +0100
Date: Mon, 14 May 2012 18:00:22 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony Liguori <anthony@codemonkey.ws>
In-Reply-To: <4FB1350A.6020106@codemonkey.ws>
Message-ID: <alpine.DEB.2.00.1205141748150.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
	<1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB1350A.6020106@codemonkey.ws>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1.1 1/4] xen: do not initialize
 the interval timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Anthony Liguori wrote:
> On 05/09/2012 07:44 AM, Stefano Stabellini wrote:
> > PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
> > them in Qemu: this patch prevents Qemu from waking up needlessly at
> > PIT_FREQ on Xen.
> >
> > Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> > ---
> >   hw/pc.c |   23 +++++++++++++----------
> >   1 files changed, 13 insertions(+), 10 deletions(-)
> >
> > diff --git a/hw/pc.c b/hw/pc.c
> > index 4d34a33..c52caf6 100644
> > --- a/hw/pc.c
> > +++ b/hw/pc.c
> > @@ -47,6 +47,7 @@
> >   #include "ui/qemu-spice.h"
> >   #include "memory.h"
> >   #include "exec-memory.h"
> > +#include "arch_init.h"
> >
> >   /* output Bochs bios info messages */
> >   //#define DEBUG_BIOS
> > @@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
> >       qemu_irq pit_alt_irq = NULL;
> >       qemu_irq rtc_irq = NULL;
> >       qemu_irq *a20_line;
> > -    ISADevice *i8042, *port92, *vmmouse, *pit;
> > +    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
> >       qemu_irq *cpu_exit_irq;
> >
> >       register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
> > @@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
> >
> >       qemu_register_boot_set(pc_boot_set, *rtc_state);
> >
> > -    if (kvm_irqchip_in_kernel()) {
> > -        pit = kvm_pit_init(isa_bus, 0x40);
> > -    } else {
> > -        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> > -    }
> > -    if (hpet) {
> > -        /* connect PIT to output control line of the HPET */
> > -        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
> > +    if (!xen_available()) {
> 
> Shouldn't this be xen_enabled()?

Yes, it should!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:01:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STydW-0007RW-8I; Mon, 14 May 2012 17:00:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STydU-0007RR-C4
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:00:40 +0000
Received: from [85.158.138.51:24653] by server-2.bemta-3.messagelabs.com id
	0E/F6-09269-73A31BF4; Mon, 14 May 2012 17:00:39 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337014838!27018564!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22914 invoked from network); 14 May 2012 17:00:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:00:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12464490"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 17:00:37 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 18:00:37 +0100
Date: Mon, 14 May 2012 18:00:22 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony Liguori <anthony@codemonkey.ws>
In-Reply-To: <4FB1350A.6020106@codemonkey.ws>
Message-ID: <alpine.DEB.2.00.1205141748150.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205091230380.26786@kaball-desktop>
	<1336567456-20202-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB1350A.6020106@codemonkey.ws>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1.1 1/4] xen: do not initialize
 the interval timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012, Anthony Liguori wrote:
> On 05/09/2012 07:44 AM, Stefano Stabellini wrote:
> > PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
> > them in Qemu: this patch prevents Qemu from waking up needlessly at
> > PIT_FREQ on Xen.
> >
> > Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> > ---
> >   hw/pc.c |   23 +++++++++++++----------
> >   1 files changed, 13 insertions(+), 10 deletions(-)
> >
> > diff --git a/hw/pc.c b/hw/pc.c
> > index 4d34a33..c52caf6 100644
> > --- a/hw/pc.c
> > +++ b/hw/pc.c
> > @@ -47,6 +47,7 @@
> >   #include "ui/qemu-spice.h"
> >   #include "memory.h"
> >   #include "exec-memory.h"
> > +#include "arch_init.h"
> >
> >   /* output Bochs bios info messages */
> >   //#define DEBUG_BIOS
> > @@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
> >       qemu_irq pit_alt_irq = NULL;
> >       qemu_irq rtc_irq = NULL;
> >       qemu_irq *a20_line;
> > -    ISADevice *i8042, *port92, *vmmouse, *pit;
> > +    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
> >       qemu_irq *cpu_exit_irq;
> >
> >       register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
> > @@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
> >
> >       qemu_register_boot_set(pc_boot_set, *rtc_state);
> >
> > -    if (kvm_irqchip_in_kernel()) {
> > -        pit = kvm_pit_init(isa_bus, 0x40);
> > -    } else {
> > -        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
> > -    }
> > -    if (hpet) {
> > -        /* connect PIT to output control line of the HPET */
> > -        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
> > +    if (!xen_available()) {
> 
> Shouldn't this be xen_enabled()?

Yes, it should!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:04:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:04:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STygV-0007j4-Q1; Mon, 14 May 2012 17:03:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STygU-0007ix-GJ
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:03:46 +0000
Received: from [85.158.138.51:27701] by server-10.bemta-3.messagelabs.com id
	37/78-29478-1FA31BF4; Mon, 14 May 2012 17:03:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337015024!27113946!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7394 invoked from network); 14 May 2012 17:03:44 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-174.messagelabs.com with SMTP;
	14 May 2012 17:03:44 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77859690; Mon, 14 May 2012 19:03:44 +0200
Message-ID: <1337015017.28326.50.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 19:03:37 +0200
In-Reply-To: <1336983554.31817.8.camel@zakaz.uk.xensource.com>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336983554.31817.8.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2142793801508101071=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2142793801508101071==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-gbDDJl4CzWVCEcdeyeIW"


--=-gbDDJl4CzWVCEcdeyeIW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 09:19 +0100, Ian Campbell wrote:
> So effectively we create the domain pinned to the right nodes and then
> rebind all the CPUS later to be mapped to specific phys-processors?=20
>
Yep. Although that map might be considered a build info, it seems more a
low toolstack level thing to me. Besides, we already have a cpumap.
Besides, it's a fu*$ing array of ints as big as the number of vcpus...
And fo all these reasons I wanted to avoid putting it in build_info as
bad as hell! :-)

> This
> means that the memory which is allocated is from the correct nodes, even
> though we appear to do the pinning later. Clever.
>=20
Thanks. All the above being true, I also didn't want to miss the
memory/node affinity side effect having the correct info in
b_info->cpumap brings.

> > +    /* If single vcpu to pcpu mapping was requested, honour it */
> > +    if (vcpu_to_pcpu) {
>=20
> This is always allocated above, isn't it? I'm concerned that this might
> break the non-1-1 case.
>=20
Not really, it's only allocated in case the correct `cpus=3D` specifier is
found (that being `cpus=3D[2, 3]`).

> > +        libxl_cpumap vcpu_cpumap;
> > +
> > +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> > +        for (i =3D 0; i < d_config.b_info.max_vcpus; i++) {
> > +
> > +            if (vcpu_to_pcpu[i] !=3D -1) {
> > +                libxl_cpumap_set_none(&vcpu_cpumap);
> > +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> > +            } else {
> > +                libxl_cpumap_set_any(&vcpu_cpumap);
> > +            }
> > +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> > +                fprintf(stderr, "setting affinity failed on vcpu `%d'.=
\n", i);
> > +                libxl_cpumap_dispose(&vcpu_cpumap);
> > +                free(vcpu_to_pcpu);
> > +                ret =3D ERROR_FAIL;
> > +                goto error_out;
> > +            }
> > +        }
> > +        libxl_cpumap_dispose(&vcpu_cpumap);
> > +        free(vcpu_to_pcpu);
>=20
> vpuc_to_pcpu =3D NULL, in case you go back around again...
>=20
Yep. This is needed, thanks!

> For that reason it might be preferable to put vcpu_to_pcpu struct
> dom_info and pass that to parse_config -- I think Goncalo is doing
> something similar for the vncviewer option.
>=20
Adding the proper =3DNULL above makes it work for all the cases, namely
config-update, save/restore and migration. Nevertheless, I looked into
moving the array in `struct domain_create', but it doesn't fit there, at
least according to my personal taste. It requires adding a parameter to
parse_config_data() that, in many cases, would need to be created on
purpose with only that field as the meaningful one (or just be NULL),
resulting in something really counter intuitive and hard to read and
maintain (again, according to my personal taste :-)). Also, this is
somehow different from "autoconnect" or "vncviewer", which fits
perfectly there, as they're parameters to a specific create-ish command
resulting in some actual action (i.e., popping the console or the VNC
window up!).

So, I'm resending with the array still as a global variable, but of
course I'm open to rework the patch again if you and/or the other
maintainers want it the other way around (within `struct
domain_create').

Thanks a lot for looking into this.

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-gbDDJl4CzWVCEcdeyeIW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xOuoACgkQk4XaBE3IOsStMwCcCZYqptMd9NELQ3snKN/dByVM
A5gAn1a9NQqF1oZXfS1h+TZqstgUq+gW
=htzd
-----END PGP SIGNATURE-----

--=-gbDDJl4CzWVCEcdeyeIW--



--===============2142793801508101071==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2142793801508101071==--



From xen-devel-bounces@lists.xen.org Mon May 14 17:04:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:04:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STygV-0007j4-Q1; Mon, 14 May 2012 17:03:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STygU-0007ix-GJ
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:03:46 +0000
Received: from [85.158.138.51:27701] by server-10.bemta-3.messagelabs.com id
	37/78-29478-1FA31BF4; Mon, 14 May 2012 17:03:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337015024!27113946!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7394 invoked from network); 14 May 2012 17:03:44 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-174.messagelabs.com with SMTP;
	14 May 2012 17:03:44 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77859690; Mon, 14 May 2012 19:03:44 +0200
Message-ID: <1337015017.28326.50.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 19:03:37 +0200
In-Reply-To: <1336983554.31817.8.camel@zakaz.uk.xensource.com>
References: <20943633a63e0691272b.1336778417@Solace>
	<1336983554.31817.8.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: introduce specific VCPU to PCPU mapping
 in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2142793801508101071=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2142793801508101071==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-gbDDJl4CzWVCEcdeyeIW"


--=-gbDDJl4CzWVCEcdeyeIW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 09:19 +0100, Ian Campbell wrote:
> So effectively we create the domain pinned to the right nodes and then
> rebind all the CPUS later to be mapped to specific phys-processors?=20
>
Yep. Although that map might be considered a build info, it seems more a
low toolstack level thing to me. Besides, we already have a cpumap.
Besides, it's a fu*$ing array of ints as big as the number of vcpus...
And fo all these reasons I wanted to avoid putting it in build_info as
bad as hell! :-)

> This
> means that the memory which is allocated is from the correct nodes, even
> though we appear to do the pinning later. Clever.
>=20
Thanks. All the above being true, I also didn't want to miss the
memory/node affinity side effect having the correct info in
b_info->cpumap brings.

> > +    /* If single vcpu to pcpu mapping was requested, honour it */
> > +    if (vcpu_to_pcpu) {
>=20
> This is always allocated above, isn't it? I'm concerned that this might
> break the non-1-1 case.
>=20
Not really, it's only allocated in case the correct `cpus=3D` specifier is
found (that being `cpus=3D[2, 3]`).

> > +        libxl_cpumap vcpu_cpumap;
> > +
> > +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> > +        for (i =3D 0; i < d_config.b_info.max_vcpus; i++) {
> > +
> > +            if (vcpu_to_pcpu[i] !=3D -1) {
> > +                libxl_cpumap_set_none(&vcpu_cpumap);
> > +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> > +            } else {
> > +                libxl_cpumap_set_any(&vcpu_cpumap);
> > +            }
> > +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> > +                fprintf(stderr, "setting affinity failed on vcpu `%d'.=
\n", i);
> > +                libxl_cpumap_dispose(&vcpu_cpumap);
> > +                free(vcpu_to_pcpu);
> > +                ret =3D ERROR_FAIL;
> > +                goto error_out;
> > +            }
> > +        }
> > +        libxl_cpumap_dispose(&vcpu_cpumap);
> > +        free(vcpu_to_pcpu);
>=20
> vpuc_to_pcpu =3D NULL, in case you go back around again...
>=20
Yep. This is needed, thanks!

> For that reason it might be preferable to put vcpu_to_pcpu struct
> dom_info and pass that to parse_config -- I think Goncalo is doing
> something similar for the vncviewer option.
>=20
Adding the proper =3DNULL above makes it work for all the cases, namely
config-update, save/restore and migration. Nevertheless, I looked into
moving the array in `struct domain_create', but it doesn't fit there, at
least according to my personal taste. It requires adding a parameter to
parse_config_data() that, in many cases, would need to be created on
purpose with only that field as the meaningful one (or just be NULL),
resulting in something really counter intuitive and hard to read and
maintain (again, according to my personal taste :-)). Also, this is
somehow different from "autoconnect" or "vncviewer", which fits
perfectly there, as they're parameters to a specific create-ish command
resulting in some actual action (i.e., popping the console or the VNC
window up!).

So, I'm resending with the array still as a global variable, but of
course I'm open to rework the patch again if you and/or the other
maintainers want it the other way around (within `struct
domain_create').

Thanks a lot for looking into this.

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-gbDDJl4CzWVCEcdeyeIW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xOuoACgkQk4XaBE3IOsStMwCcCZYqptMd9NELQ3snKN/dByVM
A5gAn1a9NQqF1oZXfS1h+TZqstgUq+gW
=htzd
-----END PGP SIGNATURE-----

--=-gbDDJl4CzWVCEcdeyeIW--



--===============2142793801508101071==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2142793801508101071==--



From xen-devel-bounces@lists.xen.org Mon May 14 17:05:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:05:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STyiE-0007qE-Bl; Mon, 14 May 2012 17:05:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STyiC-0007q5-Kl
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:05:32 +0000
Received: from [85.158.143.99:30159] by server-3.bemta-4.messagelabs.com id
	EC/BD-05853-C5B31BF4; Mon, 14 May 2012 17:05:32 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337015129!27061666!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1298 invoked from network); 14 May 2012 17:05:30 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-216.messagelabs.com with SMTP;
	14 May 2012 17:05:30 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77859749; Mon, 14 May 2012 19:05:27 +0200
Message-ID: <1337015121.28326.53.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 19:05:21 +0200
In-Reply-To: <20401.3827.999059.337500@mariner.uk.xensource.com>
References: <0953e429ec0a517b247f.1336987609@Solace>
	<1336988060.31817.51.camel@zakaz.uk.xensource.com>
	<20401.3827.999059.337500@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0055960402737331204=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0055960402737331204==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-LtXioR0Au5qVo1C0jNqR"


--=-LtXioR0Au5qVo1C0jNqR
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 14:56 +0100, Ian Jackson wrote:
> > Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
> > it be confusing the make those distinct, represent the current xl
> > behaviour and xm behaviour respectively?)
>=20
> The current generic config parsing arrangements do not allow
> config-item-specific code to distinguish between `"2"' and `2' in the
> config file.  This would be possible in principle but let's not do
> this at this stage of the release.
>=20
Agreed.

> I guess the docs should tell you to use numbers.
>=20
I was thinking about mentioning both, as xm config examples uses the
["2", "3"] syntax... Is that reasonable?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-LtXioR0Au5qVo1C0jNqR
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xO1EACgkQk4XaBE3IOsSDlgCfWB4Qlfxnkfm+PpaLtr1fqspf
0KgAn3O7FwAKla+wQuW/1P7yWUBubsFV
=cJ1T
-----END PGP SIGNATURE-----

--=-LtXioR0Au5qVo1C0jNqR--



--===============0055960402737331204==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0055960402737331204==--



From xen-devel-bounces@lists.xen.org Mon May 14 17:05:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:05:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STyiE-0007qE-Bl; Mon, 14 May 2012 17:05:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STyiC-0007q5-Kl
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:05:32 +0000
Received: from [85.158.143.99:30159] by server-3.bemta-4.messagelabs.com id
	EC/BD-05853-C5B31BF4; Mon, 14 May 2012 17:05:32 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337015129!27061666!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1298 invoked from network); 14 May 2012 17:05:30 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-216.messagelabs.com with SMTP;
	14 May 2012 17:05:30 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77859749; Mon, 14 May 2012 19:05:27 +0200
Message-ID: <1337015121.28326.53.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 19:05:21 +0200
In-Reply-To: <20401.3827.999059.337500@mariner.uk.xensource.com>
References: <0953e429ec0a517b247f.1336987609@Solace>
	<1336988060.31817.51.camel@zakaz.uk.xensource.com>
	<20401.3827.999059.337500@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0055960402737331204=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0055960402737331204==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-LtXioR0Au5qVo1C0jNqR"


--=-LtXioR0Au5qVo1C0jNqR
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 14:56 +0100, Ian Jackson wrote:
> > Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
> > it be confusing the make those distinct, represent the current xl
> > behaviour and xm behaviour respectively?)
>=20
> The current generic config parsing arrangements do not allow
> config-item-specific code to distinguish between `"2"' and `2' in the
> config file.  This would be possible in principle but let's not do
> this at this stage of the release.
>=20
Agreed.

> I guess the docs should tell you to use numbers.
>=20
I was thinking about mentioning both, as xm config examples uses the
["2", "3"] syntax... Is that reasonable?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-LtXioR0Au5qVo1C0jNqR
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xO1EACgkQk4XaBE3IOsSDlgCfWB4Qlfxnkfm+PpaLtr1fqspf
0KgAn3O7FwAKla+wQuW/1P7yWUBubsFV
=cJ1T
-----END PGP SIGNATURE-----

--=-LtXioR0Au5qVo1C0jNqR--



--===============0055960402737331204==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0055960402737331204==--



From xen-devel-bounces@lists.xen.org Mon May 14 17:08:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:08:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STykd-00083E-W7; Mon, 14 May 2012 17:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STykd-000836-9q
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:08:03 +0000
Received: from [85.158.143.35:65416] by server-2.bemta-4.messagelabs.com id
	17/81-17550-2FB31BF4; Mon, 14 May 2012 17:08:02 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337015281!5007074!1
X-Originating-IP: [209.85.214.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10016 invoked from network); 14 May 2012 17:08:01 -0000
Received: from mail-bk0-f45.google.com (HELO mail-bk0-f45.google.com)
	(209.85.214.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:08:01 -0000
Received: by bkwj10 with SMTP id j10so4888096bkw.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 10:08:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:subject:from:to:cc:date:in-reply-to:references
	:content-type:x-mailer:content-transfer-encoding:mime-version;
	bh=o8iChMjHcMgU/9dZXwO+BAjaEtTXIrgpJ8Y5d4H0FKA=;
	b=mIDHHUcVsvCNffCoWsTMtFl8HbaRrxo4dgo3G82k/4B87BgtlaYm/NB3yX3vlwCoNQ
	UYBPFiwRw0Yucssv6mcewcRF/nEl0RxXbhW25ysDoPzdYAujcVEZzkXqpj5X3fQG6Py4
	EiaLBzuNs4PJrZG+DU7SlSEcVASm5AyEovGwp1Vb/GMqlwopsBlINSExXSX3cwiH+zA6
	5J5/6tvEFyTfXDPKRD7TytFpVPXI3DpV0QleYhEw60SEYbDVRFk+41mFUi46VPnz/hne
	H1zp0s1wDHeouiWvildjqa9ZGIqzW9DahSsDQRCIHE+FE/r39ijD5mLaQWIwEokKyH3S
	m92Q==
Received: by 10.205.116.203 with SMTP id fj11mr3372058bkc.108.1337015281054;
	Mon, 14 May 2012 10:08:01 -0700 (PDT)
Received: from [192.168.0.40] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id gm18sm36197785bkc.7.2012.05.14.10.07.58
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 10:07:59 -0700 (PDT)
Message-ID: <1337015271.28326.55.camel@Solace>
From: Dario Faggioli <raistlin.df@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 19:07:51 +0200
In-Reply-To: <20401.9660.140351.151833@mariner.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<20401.9660.140351.151833@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 16:33 +0100, Ian Jackson wrote:
> >       * xl compatibility with xm:
> >               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
> >                 reported by Fabio Fantoni in
> >                 <4F9672DD.2080902@tiscali.it>
> 
> This needs my attention.
> 
> >               * does not automatically try to select a (set of) node(s)
> >                 on which to create a VM and pin its vcpus there. (Dario
> >                 Faggioli, patches posted)
> 
> This is still in progress somehow ?
> 
It definitely is. I've it almost ready but got distracted by some other
stuff in the last days... I'll post something again asap.

Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:08:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:08:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STykd-00083E-W7; Mon, 14 May 2012 17:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STykd-000836-9q
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:08:03 +0000
Received: from [85.158.143.35:65416] by server-2.bemta-4.messagelabs.com id
	17/81-17550-2FB31BF4; Mon, 14 May 2012 17:08:02 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337015281!5007074!1
X-Originating-IP: [209.85.214.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10016 invoked from network); 14 May 2012 17:08:01 -0000
Received: from mail-bk0-f45.google.com (HELO mail-bk0-f45.google.com)
	(209.85.214.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:08:01 -0000
Received: by bkwj10 with SMTP id j10so4888096bkw.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 10:08:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:subject:from:to:cc:date:in-reply-to:references
	:content-type:x-mailer:content-transfer-encoding:mime-version;
	bh=o8iChMjHcMgU/9dZXwO+BAjaEtTXIrgpJ8Y5d4H0FKA=;
	b=mIDHHUcVsvCNffCoWsTMtFl8HbaRrxo4dgo3G82k/4B87BgtlaYm/NB3yX3vlwCoNQ
	UYBPFiwRw0Yucssv6mcewcRF/nEl0RxXbhW25ysDoPzdYAujcVEZzkXqpj5X3fQG6Py4
	EiaLBzuNs4PJrZG+DU7SlSEcVASm5AyEovGwp1Vb/GMqlwopsBlINSExXSX3cwiH+zA6
	5J5/6tvEFyTfXDPKRD7TytFpVPXI3DpV0QleYhEw60SEYbDVRFk+41mFUi46VPnz/hne
	H1zp0s1wDHeouiWvildjqa9ZGIqzW9DahSsDQRCIHE+FE/r39ijD5mLaQWIwEokKyH3S
	m92Q==
Received: by 10.205.116.203 with SMTP id fj11mr3372058bkc.108.1337015281054;
	Mon, 14 May 2012 10:08:01 -0700 (PDT)
Received: from [192.168.0.40] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id gm18sm36197785bkc.7.2012.05.14.10.07.58
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 10:07:59 -0700 (PDT)
Message-ID: <1337015271.28326.55.camel@Solace>
From: Dario Faggioli <raistlin.df@gmail.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Mon, 14 May 2012 19:07:51 +0200
In-Reply-To: <20401.9660.140351.151833@mariner.uk.xensource.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<20401.9660.140351.151833@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 16:33 +0100, Ian Jackson wrote:
> >       * xl compatibility with xm:
> >               * [BUG] cannot create an empty CD-ROM driver on HVM guest,
> >                 reported by Fabio Fantoni in
> >                 <4F9672DD.2080902@tiscali.it>
> 
> This needs my attention.
> 
> >               * does not automatically try to select a (set of) node(s)
> >                 on which to create a VM and pin its vcpus there. (Dario
> >                 Faggioli, patches posted)
> 
> This is still in progress somehow ?
> 
It definitely is. I've it almost ready but got distracted by some other
stuff in the last days... I'll post something again asap.

Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:10:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:10:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STynE-0008Dp-BY; Mon, 14 May 2012 17:10:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STynC-0008De-H7
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:10:42 +0000
Received: from [85.158.138.51:33250] by server-5.bemta-3.messagelabs.com id
	15/3A-17113-19C31BF4; Mon, 14 May 2012 17:10:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337015440!18969927!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6602 invoked from network); 14 May 2012 17:10:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:10:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12464732"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 17:10:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 18:10:40 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1STynA-0005jD-7f;
	Mon, 14 May 2012 17:10:40 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1STynA-0000a2-3M;
	Mon, 14 May 2012 18:10:40 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12859-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 14 May 2012 18:10:40 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12859: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12859 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12859/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 10 guest-saverestore.2 fail REGR. vs. 12858

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12858

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  7fdefd89cd86
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:10:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:10:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STynE-0008Dp-BY; Mon, 14 May 2012 17:10:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1STynC-0008De-H7
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:10:42 +0000
Received: from [85.158.138.51:33250] by server-5.bemta-3.messagelabs.com id
	15/3A-17113-19C31BF4; Mon, 14 May 2012 17:10:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337015440!18969927!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6602 invoked from network); 14 May 2012 17:10:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:10:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12464732"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 17:10:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 18:10:40 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1STynA-0005jD-7f;
	Mon, 14 May 2012 17:10:40 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1STynA-0000a2-3M;
	Mon, 14 May 2012 18:10:40 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12859-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 14 May 2012 18:10:40 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12859: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12859 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12859/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 10 guest-saverestore.2 fail REGR. vs. 12858

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12858

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  7fdefd89cd86
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:12:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:12:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STyoN-0008Jz-RG; Mon, 14 May 2012 17:11:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STyoM-0008Jp-5y
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:11:54 +0000
Received: from [85.158.139.83:49348] by server-9.bemta-5.messagelabs.com id
	D5/BE-09826-9DC31BF4; Mon, 14 May 2012 17:11:53 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337015511!21005174!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10484 invoked from network); 14 May 2012 17:11:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:11:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12464746"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 17:11:51 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 18:11:51 +0100
Date: Mon, 14 May 2012 18:11:35 +0100
From: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Message-ID: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 0/5] Xen patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series is a collection of the outstanding Xen patches for
QEMU 1.1: all of them have been sent to qemu-devel at least once
already, some of them as many as 6 times.

Patch 1 and 2 remove unneeded devices and timers when Xen is enabled,
patch 3, 4 and 5 are improvements and fixes for xen_disk.c.



Changes in v2:
- fix a xen_available/xen_enabled mistake in the first patch;
- add "qemu/xendisk: properly update stats in ioreq_release()".



Jan Beulich (1):
      xen_disk: properly update stats in ioreq_release()

Stefano Stabellini (4):
      xen: do not initialize the interval timer and PCSPK emulator
      xen: disable rtc_clock
      xen_disk: remove syncwrite option
      xen_disk: use bdrv_aio_flush instead of bdrv_flush

 hw/pc.c       |   23 +++++++++++++----------
 hw/xen_disk.c |   42 +++++++++++++++++++++++++++---------------
 xen-all.c     |    4 ++++
 3 files changed, 44 insertions(+), 25 deletions(-)



git://xenbits.xen.org/people/sstabellini/qemu-dm.git for_1.1

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:12:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:12:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STyoN-0008Jz-RG; Mon, 14 May 2012 17:11:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STyoM-0008Jp-5y
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:11:54 +0000
Received: from [85.158.139.83:49348] by server-9.bemta-5.messagelabs.com id
	D5/BE-09826-9DC31BF4; Mon, 14 May 2012 17:11:53 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337015511!21005174!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10484 invoked from network); 14 May 2012 17:11:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:11:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,586,1330905600"; d="scan'208";a="12464746"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 17:11:51 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 18:11:51 +0100
Date: Mon, 14 May 2012 18:11:35 +0100
From: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Message-ID: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 0/5] Xen patches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series is a collection of the outstanding Xen patches for
QEMU 1.1: all of them have been sent to qemu-devel at least once
already, some of them as many as 6 times.

Patch 1 and 2 remove unneeded devices and timers when Xen is enabled,
patch 3, 4 and 5 are improvements and fixes for xen_disk.c.



Changes in v2:
- fix a xen_available/xen_enabled mistake in the first patch;
- add "qemu/xendisk: properly update stats in ioreq_release()".



Jan Beulich (1):
      xen_disk: properly update stats in ioreq_release()

Stefano Stabellini (4):
      xen: do not initialize the interval timer and PCSPK emulator
      xen: disable rtc_clock
      xen_disk: remove syncwrite option
      xen_disk: use bdrv_aio_flush instead of bdrv_flush

 hw/pc.c       |   23 +++++++++++++----------
 hw/xen_disk.c |   42 +++++++++++++++++++++++++++---------------
 xen-all.c     |    4 ++++
 3 files changed, 44 insertions(+), 25 deletions(-)



git://xenbits.xen.org/people/sstabellini/qemu-dm.git for_1.1

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypc-0008RR-N4; Mon, 14 May 2012 17:13:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypb-0008Qt-Cm
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:11 +0000
Received: from [85.158.143.35:29585] by server-1.bemta-4.messagelabs.com id
	BC/52-20925-62D31BF4; Mon, 14 May 2012 17:13:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337015588!12175449!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18779 invoked from network); 14 May 2012 17:13:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="25163566"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-Cc; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:12:59 +0100
Message-ID: <1337015581-15996-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 3/5] xen_disk: remove syncwrite option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch removes a dead option.

The same can be achieved removing BDRV_O_NOCACHE and BDRV_O_CACHE_WB
from the flags passed to bdrv_open.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 22dbd10..49e53b7 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -48,7 +48,6 @@
 
 /* ------------------------------------------------------------- */
 
-static int syncwrite    = 0;
 static int batch_maps   = 0;
 
 static int max_requests = 32;
@@ -189,15 +188,10 @@ static int ioreq_parse(struct ioreq *ioreq)
             ioreq->presync = 1;
             return 0;
         }
-        if (!syncwrite) {
-            ioreq->presync = ioreq->postsync = 1;
-        }
+        ioreq->presync = ioreq->postsync = 1;
         /* fall through */
     case BLKIF_OP_WRITE:
         ioreq->prot = PROT_READ; /* from memory */
-        if (syncwrite) {
-            ioreq->postsync = 1;
-        }
         break;
     default:
         xen_be_printf(&blkdev->xendev, 0, "error: unknown operation (%d)\n",
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypc-0008RR-N4; Mon, 14 May 2012 17:13:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypb-0008Qt-Cm
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:11 +0000
Received: from [85.158.143.35:29585] by server-1.bemta-4.messagelabs.com id
	BC/52-20925-62D31BF4; Mon, 14 May 2012 17:13:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337015588!12175449!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18779 invoked from network); 14 May 2012 17:13:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="25163566"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-Cc; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:12:59 +0100
Message-ID: <1337015581-15996-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 3/5] xen_disk: remove syncwrite option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch removes a dead option.

The same can be achieved removing BDRV_O_NOCACHE and BDRV_O_CACHE_WB
from the flags passed to bdrv_open.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 22dbd10..49e53b7 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -48,7 +48,6 @@
 
 /* ------------------------------------------------------------- */
 
-static int syncwrite    = 0;
 static int batch_maps   = 0;
 
 static int max_requests = 32;
@@ -189,15 +188,10 @@ static int ioreq_parse(struct ioreq *ioreq)
             ioreq->presync = 1;
             return 0;
         }
-        if (!syncwrite) {
-            ioreq->presync = ioreq->postsync = 1;
-        }
+        ioreq->presync = ioreq->postsync = 1;
         /* fall through */
     case BLKIF_OP_WRITE:
         ioreq->prot = PROT_READ; /* from memory */
-        if (syncwrite) {
-            ioreq->postsync = 1;
-        }
         break;
     default:
         xen_be_printf(&blkdev->xendev, 0, "error: unknown operation (%d)\n",
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypc-0008RB-AJ; Mon, 14 May 2012 17:13:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypb-0008Qs-3T
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:11 +0000
Received: from [85.158.143.35:61712] by server-3.bemta-4.messagelabs.com id
	79/E5-05853-62D31BF4; Mon, 14 May 2012 17:13:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337015588!12175449!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18752 invoked from network); 14 May 2012 17:13:09 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="25163565"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-A4; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:12:57 +0100
Message-ID: <1337015581-15996-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 1/5] xen: do not initialize the interval
	timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
them in Qemu: this patch prevents Qemu from waking up needlessly at
PIT_FREQ on Xen.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/pc.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/hw/pc.c b/hw/pc.c
index 4d34a33..a752a6b 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -47,6 +47,7 @@
 #include "ui/qemu-spice.h"
 #include "memory.h"
 #include "exec-memory.h"
+#include "arch_init.h"
 
 /* output Bochs bios info messages */
 //#define DEBUG_BIOS
@@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
     qemu_irq pit_alt_irq = NULL;
     qemu_irq rtc_irq = NULL;
     qemu_irq *a20_line;
-    ISADevice *i8042, *port92, *vmmouse, *pit;
+    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
     qemu_irq *cpu_exit_irq;
 
     register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
@@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
 
     qemu_register_boot_set(pc_boot_set, *rtc_state);
 
-    if (kvm_irqchip_in_kernel()) {
-        pit = kvm_pit_init(isa_bus, 0x40);
-    } else {
-        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
-    }
-    if (hpet) {
-        /* connect PIT to output control line of the HPET */
-        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+    if (!xen_enabled()) {
+        if (kvm_irqchip_in_kernel()) {
+            pit = kvm_pit_init(isa_bus, 0x40);
+        } else {
+            pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
+        }
+        if (hpet) {
+            /* connect PIT to output control line of the HPET */
+            qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+        }
+        pcspk_init(isa_bus, pit);
     }
-    pcspk_init(isa_bus, pit);
 
     for(i = 0; i < MAX_SERIAL_PORTS; i++) {
         if (serial_hds[i]) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypc-0008RB-AJ; Mon, 14 May 2012 17:13:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypb-0008Qs-3T
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:11 +0000
Received: from [85.158.143.35:61712] by server-3.bemta-4.messagelabs.com id
	79/E5-05853-62D31BF4; Mon, 14 May 2012 17:13:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337015588!12175449!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18752 invoked from network); 14 May 2012 17:13:09 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="25163565"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-A4; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:12:57 +0100
Message-ID: <1337015581-15996-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 1/5] xen: do not initialize the interval
	timer and PCSPK emulator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
them in Qemu: this patch prevents Qemu from waking up needlessly at
PIT_FREQ on Xen.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/pc.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/hw/pc.c b/hw/pc.c
index 4d34a33..a752a6b 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -47,6 +47,7 @@
 #include "ui/qemu-spice.h"
 #include "memory.h"
 #include "exec-memory.h"
+#include "arch_init.h"
 
 /* output Bochs bios info messages */
 //#define DEBUG_BIOS
@@ -1097,7 +1098,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
     qemu_irq pit_alt_irq = NULL;
     qemu_irq rtc_irq = NULL;
     qemu_irq *a20_line;
-    ISADevice *i8042, *port92, *vmmouse, *pit;
+    ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
     qemu_irq *cpu_exit_irq;
 
     register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
@@ -1126,16 +1127,18 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
 
     qemu_register_boot_set(pc_boot_set, *rtc_state);
 
-    if (kvm_irqchip_in_kernel()) {
-        pit = kvm_pit_init(isa_bus, 0x40);
-    } else {
-        pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
-    }
-    if (hpet) {
-        /* connect PIT to output control line of the HPET */
-        qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+    if (!xen_enabled()) {
+        if (kvm_irqchip_in_kernel()) {
+            pit = kvm_pit_init(isa_bus, 0x40);
+        } else {
+            pit = pit_init(isa_bus, 0x40, pit_isa_irq, pit_alt_irq);
+        }
+        if (hpet) {
+            /* connect PIT to output control line of the HPET */
+            qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(&pit->qdev, 0));
+        }
+        pcspk_init(isa_bus, pit);
     }
-    pcspk_init(isa_bus, pit);
 
     for(i = 0; i < MAX_SERIAL_PORTS; i++) {
         if (serial_hds[i]) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypd-0008Rq-AW; Mon, 14 May 2012 17:13:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypc-0008Qs-4j
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:12 +0000
Received: from [85.158.143.35:29645] by server-3.bemta-4.messagelabs.com id
	FF/E5-05853-72D31BF4; Mon, 14 May 2012 17:13:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337015589!13557654!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5161 invoked from network); 14 May 2012 17:13:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="194736344"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-D9; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:13:00 +0100
Message-ID: <1337015581-15996-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 4/5] xen_disk: use bdrv_aio_flush instead
	of bdrv_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Use bdrv_aio_flush instead of bdrv_flush.

Make sure to call bdrv_aio_writev/readv after the presync bdrv_aio_flush is fully
completed and make sure to call the postsync bdrv_aio_flush after
bdrv_aio_writev/readv is fully completed.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 49e53b7..cf06243 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -66,6 +66,7 @@ struct ioreq {
     QEMUIOVector        v;
     int                 presync;
     int                 postsync;
+    uint8_t             mapped;
 
     /* grant mapping */
     uint32_t            domids[BLKIF_MAX_SEGMENTS_PER_REQUEST];
@@ -242,7 +243,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 0) {
         return;
     }
     if (batch_maps) {
@@ -268,6 +269,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
             ioreq->page[i] = NULL;
         }
     }
+    ioreq->mapped = 0;
 }
 
 static int ioreq_map(struct ioreq *ioreq)
@@ -275,7 +277,7 @@ static int ioreq_map(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 1) {
         return 0;
     }
     if (batch_maps) {
@@ -307,9 +309,12 @@ static int ioreq_map(struct ioreq *ioreq)
             ioreq->blkdev->cnt_map++;
         }
     }
+    ioreq->mapped = 1;
     return 0;
 }
 
+static int ioreq_runio_qemu_aio(struct ioreq *ioreq);
+
 static void qemu_aio_complete(void *opaque, int ret)
 {
     struct ioreq *ioreq = opaque;
@@ -321,11 +326,19 @@ static void qemu_aio_complete(void *opaque, int ret)
     }
 
     ioreq->aio_inflight--;
+    if (ioreq->presync) {
+        ioreq->presync = 0;
+        ioreq_runio_qemu_aio(ioreq);
+        return;
+    }
     if (ioreq->aio_inflight > 0) {
         return;
     }
     if (ioreq->postsync) {
-        bdrv_flush(ioreq->blkdev->bs);
+        ioreq->postsync = 0;
+        ioreq->aio_inflight++;
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return;
     }
 
     ioreq->status = ioreq->aio_errors ? BLKIF_RSP_ERROR : BLKIF_RSP_OKAY;
@@ -345,7 +358,8 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
 
     ioreq->aio_inflight++;
     if (ioreq->presync) {
-        bdrv_flush(blkdev->bs); /* FIXME: aio_flush() ??? */
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return 0;
     }
 
     switch (ioreq->req.operation) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypd-0008Rq-AW; Mon, 14 May 2012 17:13:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypc-0008Qs-4j
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:12 +0000
Received: from [85.158.143.35:29645] by server-3.bemta-4.messagelabs.com id
	FF/E5-05853-72D31BF4; Mon, 14 May 2012 17:13:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337015589!13557654!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5161 invoked from network); 14 May 2012 17:13:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="194736344"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-D9; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:13:00 +0100
Message-ID: <1337015581-15996-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 4/5] xen_disk: use bdrv_aio_flush instead
	of bdrv_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Use bdrv_aio_flush instead of bdrv_flush.

Make sure to call bdrv_aio_writev/readv after the presync bdrv_aio_flush is fully
completed and make sure to call the postsync bdrv_aio_flush after
bdrv_aio_writev/readv is fully completed.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/xen_disk.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index 49e53b7..cf06243 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -66,6 +66,7 @@ struct ioreq {
     QEMUIOVector        v;
     int                 presync;
     int                 postsync;
+    uint8_t             mapped;
 
     /* grant mapping */
     uint32_t            domids[BLKIF_MAX_SEGMENTS_PER_REQUEST];
@@ -242,7 +243,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 0) {
         return;
     }
     if (batch_maps) {
@@ -268,6 +269,7 @@ static void ioreq_unmap(struct ioreq *ioreq)
             ioreq->page[i] = NULL;
         }
     }
+    ioreq->mapped = 0;
 }
 
 static int ioreq_map(struct ioreq *ioreq)
@@ -275,7 +277,7 @@ static int ioreq_map(struct ioreq *ioreq)
     XenGnttab gnt = ioreq->blkdev->xendev.gnttabdev;
     int i;
 
-    if (ioreq->v.niov == 0) {
+    if (ioreq->v.niov == 0 || ioreq->mapped == 1) {
         return 0;
     }
     if (batch_maps) {
@@ -307,9 +309,12 @@ static int ioreq_map(struct ioreq *ioreq)
             ioreq->blkdev->cnt_map++;
         }
     }
+    ioreq->mapped = 1;
     return 0;
 }
 
+static int ioreq_runio_qemu_aio(struct ioreq *ioreq);
+
 static void qemu_aio_complete(void *opaque, int ret)
 {
     struct ioreq *ioreq = opaque;
@@ -321,11 +326,19 @@ static void qemu_aio_complete(void *opaque, int ret)
     }
 
     ioreq->aio_inflight--;
+    if (ioreq->presync) {
+        ioreq->presync = 0;
+        ioreq_runio_qemu_aio(ioreq);
+        return;
+    }
     if (ioreq->aio_inflight > 0) {
         return;
     }
     if (ioreq->postsync) {
-        bdrv_flush(ioreq->blkdev->bs);
+        ioreq->postsync = 0;
+        ioreq->aio_inflight++;
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return;
     }
 
     ioreq->status = ioreq->aio_errors ? BLKIF_RSP_ERROR : BLKIF_RSP_OKAY;
@@ -345,7 +358,8 @@ static int ioreq_runio_qemu_aio(struct ioreq *ioreq)
 
     ioreq->aio_inflight++;
     if (ioreq->presync) {
-        bdrv_flush(blkdev->bs); /* FIXME: aio_flush() ??? */
+        bdrv_aio_flush(ioreq->blkdev->bs, qemu_aio_complete, ioreq);
+        return 0;
     }
 
     switch (ioreq->req.operation) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypg-0008Ss-76; Mon, 14 May 2012 17:13:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SType-0008SB-Sh
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:14 +0000
Received: from [85.158.143.35:29742] by server-2.bemta-4.messagelabs.com id
	CE/56-17550-A2D31BF4; Mon, 14 May 2012 17:13:14 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337015588!12175449!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18839 invoked from network); 14 May 2012 17:13:13 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="25163569"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:13 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:12 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-Ew; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:13:01 +0100
Message-ID: <1337015581-15996-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com, Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 5/5] xen_disk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jan Beulich <JBeulich@suse.com>

While for the "normal" case (called from blk_send_response_all())
decrementing requests_finished is correct, doing so in the parse error
case is wrong; requests_inflight needs to be decremented instead.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
---
 hw/xen_disk.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index cf06243..07594bc 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *ioreq)
     blkdev->requests_finished++;
 }
 
-static void ioreq_release(struct ioreq *ioreq)
+static void ioreq_release(struct ioreq *ioreq, bool finish)
 {
     struct XenBlkDev *blkdev = ioreq->blkdev;
 
@@ -162,7 +162,11 @@ static void ioreq_release(struct ioreq *ioreq)
     memset(ioreq, 0, sizeof(*ioreq));
     ioreq->blkdev = blkdev;
     QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
-    blkdev->requests_finished--;
+    if (finish) {
+        blkdev->requests_finished--;
+    } else {
+        blkdev->requests_inflight--;
+    }
 }
 
 /*
@@ -457,7 +461,7 @@ static void blk_send_response_all(struct XenBlkDev *blkdev)
     while (!QLIST_EMPTY(&blkdev->finished)) {
         ioreq = QLIST_FIRST(&blkdev->finished);
         send_notify += blk_send_response_one(ioreq);
-        ioreq_release(ioreq);
+        ioreq_release(ioreq, true);
     }
     if (send_notify) {
         xen_be_send_notify(&blkdev->xendev);
@@ -513,7 +517,7 @@ static void blk_handle_requests(struct XenBlkDev *blkdev)
             if (blk_send_response_one(ioreq)) {
                 xen_be_send_notify(&blkdev->xendev);
             }
-            ioreq_release(ioreq);
+            ioreq_release(ioreq, false);
             continue;
         }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STypg-0008Ss-76; Mon, 14 May 2012 17:13:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SType-0008SB-Sh
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:14 +0000
Received: from [85.158.143.35:29742] by server-2.bemta-4.messagelabs.com id
	CE/56-17550-A2D31BF4; Mon, 14 May 2012 17:13:14 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337015588!12175449!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4NTA=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18839 invoked from network); 14 May 2012 17:13:13 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="25163569"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:13 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:12 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-Ew; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:13:01 +0100
Message-ID: <1337015581-15996-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com, Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 5/5] xen_disk: properly update stats in
	ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jan Beulich <JBeulich@suse.com>

While for the "normal" case (called from blk_send_response_all())
decrementing requests_finished is correct, doing so in the parse error
case is wrong; requests_inflight needs to be decremented instead.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
---
 hw/xen_disk.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/xen_disk.c b/hw/xen_disk.c
index cf06243..07594bc 100644
--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -154,7 +154,7 @@ static void ioreq_finish(struct ioreq *ioreq)
     blkdev->requests_finished++;
 }
 
-static void ioreq_release(struct ioreq *ioreq)
+static void ioreq_release(struct ioreq *ioreq, bool finish)
 {
     struct XenBlkDev *blkdev = ioreq->blkdev;
 
@@ -162,7 +162,11 @@ static void ioreq_release(struct ioreq *ioreq)
     memset(ioreq, 0, sizeof(*ioreq));
     ioreq->blkdev = blkdev;
     QLIST_INSERT_HEAD(&blkdev->freelist, ioreq, list);
-    blkdev->requests_finished--;
+    if (finish) {
+        blkdev->requests_finished--;
+    } else {
+        blkdev->requests_inflight--;
+    }
 }
 
 /*
@@ -457,7 +461,7 @@ static void blk_send_response_all(struct XenBlkDev *blkdev)
     while (!QLIST_EMPTY(&blkdev->finished)) {
         ioreq = QLIST_FIRST(&blkdev->finished);
         send_notify += blk_send_response_one(ioreq);
-        ioreq_release(ioreq);
+        ioreq_release(ioreq, true);
     }
     if (send_notify) {
         xen_be_send_notify(&blkdev->xendev);
@@ -513,7 +517,7 @@ static void blk_handle_requests(struct XenBlkDev *blkdev)
             if (blk_send_response_one(ioreq)) {
                 xen_be_send_notify(&blkdev->xendev);
             }
-            ioreq_release(ioreq);
+            ioreq_release(ioreq, false);
             continue;
         }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SType-0008SK-OV; Mon, 14 May 2012 17:13:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypc-0008Qt-Sw
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:12 +0000
Received: from [85.158.143.35:61803] by server-1.bemta-4.messagelabs.com id
	54/62-20925-82D31BF4; Mon, 14 May 2012 17:13:12 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337015589!13557654!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5189 invoked from network); 14 May 2012 17:13:12 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="194736343"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-Ao; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:12:58 +0100
Message-ID: <1337015581-15996-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 2/5] xen: disable rtc_clock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

rtc_clock is only used by the RTC emulator (mc146818rtc.c), however Xen
has its own RTC emulator in the hypervisor so we can disable it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen-all.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/xen-all.c b/xen-all.c
index bdf9c0f..b88ad5d 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -603,6 +603,10 @@ void xen_vcpu_init(void)
         qemu_register_reset(xen_reset_vcpu, first_cpu);
         xen_reset_vcpu(first_cpu);
     }
+    /* if rtc_clock is left to default (host_clock), disable it */
+    if (rtc_clock == host_clock) {
+        qemu_clock_enable(rtc_clock, false);
+    }
 }
 
 /* get the ioreq packets from share mem */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:13:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SType-0008SK-OV; Mon, 14 May 2012 17:13:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1STypc-0008Qt-Sw
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 17:13:12 +0000
Received: from [85.158.143.35:61803] by server-1.bemta-4.messagelabs.com id
	54/62-20925-82D31BF4; Mon, 14 May 2012 17:13:12 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337015589!13557654!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTIxMDI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5189 invoked from network); 14 May 2012 17:13:12 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:13:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,588,1330923600"; d="scan'208";a="194736343"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 13:13:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 14 May 2012 13:13:07 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1STypS-0006xv-Ao; Mon, 14 May 2012 18:13:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: qemu-devel@nongnu.org
Date: Mon, 14 May 2012 18:12:58 +0100
Message-ID: <1337015581-15996-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141800590.26786@kaball-desktop>
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1.1 v2 2/5] xen: disable rtc_clock
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

rtc_clock is only used by the RTC emulator (mc146818rtc.c), however Xen
has its own RTC emulator in the hypervisor so we can disable it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen-all.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/xen-all.c b/xen-all.c
index bdf9c0f..b88ad5d 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -603,6 +603,10 @@ void xen_vcpu_init(void)
         qemu_register_reset(xen_reset_vcpu, first_cpu);
         xen_reset_vcpu(first_cpu);
     }
+    /* if rtc_clock is left to default (host_clock), disable it */
+    if (rtc_clock == host_clock) {
+        qemu_clock_enable(rtc_clock, false);
+    }
 }
 
 /* get the ioreq packets from share mem */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:16:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:16:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STysS-0000fX-10; Mon, 14 May 2012 17:16:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STysQ-0000fF-NX
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:16:06 +0000
Received: from [85.158.143.35:14241] by server-2.bemta-4.messagelabs.com id
	39/B9-17550-6DD31BF4; Mon, 14 May 2012 17:16:06 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337015764!13558051!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=1.5 required=7.0 tests=HOT_NASTY,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13310 invoked from network); 14 May 2012 17:16:05 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:16:05 -0000
Received: by werf3 with SMTP id f3so3350859wer.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 10:16:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=wjg5IbAOThS5yjwbKm2aURYaeG/toiAAadUwF/NFzM0=;
	b=XhCxGs15wvvlWmtwLM2RMLptsqnc59dGK7YrBz18GUzDq0xjnIrFvaFgURE+Y23UVg
	7Bg6wmr0o0tXM3XFheocXEz6tLr8orBnDzW51lcEMalpVbuVvYl4svRf1H16O+dDij4u
	nA8Nh68XibAOYTy/ae9JwvtUEIcY7GsbSD3knvTdQAY995AVjhTFz/cIo7OlJOlhEJz8
	KNPHtR1FA1l/v2Zik4pTRGwaOc323gU8QrqVlJ3C6UJg88C6rq4UHYkcriuKCuNZY6ha
	1BE3KppUqmmSHKpht/w2mTtQUe0VDOjbp70TtnsZxC5JjuyNGyrxsAqOV1y9M3yNsKeb
	CrYg==
Received: by 10.180.76.232 with SMTP id n8mr22092868wiw.2.1337015764221;
	Mon, 14 May 2012 10:16:04 -0700 (PDT)
Received: from [127.0.1.1] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id z3sm37132429wix.0.2012.05.14.10.16.01
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 10:16:02 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 54e2eb42fd49ac9bad3f2dac40c09b902c985d71
Message-Id: <54e2eb42fd49ac9bad3f.1337015755@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Mon, 14 May 2012 19:15:55 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU mapping
	in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same in xl.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -108,9 +108,25 @@ created online and the remainder will be
 =item B<cpus="CPU-LIST">
 
 List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
-(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
-will run on cpus 2 and 3).
+`all cpus`. A C<CPU-LIST> may be specified as follows:
+
+=over 4
+
+=item "all"
+
+To allow all the vcpus of the guest to run on all the cpus on the host.
+
+=item "0-3,5,^1"
+
+To allow all the vcpus of the guest to run on cpus 0,2,3,5.
+
+=item ["2", "3"] (or [2, 3])
+
+To ask for specific vcpu mapping. That means (in this example), vcpu #0
+of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
+run on cpu #3 of the host.
+
+=back
 
 =item B<cpu_weight=WEIGHT>
 
@@ -951,10 +967,6 @@ XXX
 
 XXX
 
-=item B<cpus=XXX>
-
-XXX
-
 =item B<maxmem=NUMBER>
 
 XXX
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1714,6 +1733,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu); vcpu_to_pcpu = NULL;
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:16:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:16:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STysS-0000fX-10; Mon, 14 May 2012 17:16:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STysQ-0000fF-NX
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:16:06 +0000
Received: from [85.158.143.35:14241] by server-2.bemta-4.messagelabs.com id
	39/B9-17550-6DD31BF4; Mon, 14 May 2012 17:16:06 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337015764!13558051!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=1.5 required=7.0 tests=HOT_NASTY,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13310 invoked from network); 14 May 2012 17:16:05 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:16:05 -0000
Received: by werf3 with SMTP id f3so3350859wer.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 10:16:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=wjg5IbAOThS5yjwbKm2aURYaeG/toiAAadUwF/NFzM0=;
	b=XhCxGs15wvvlWmtwLM2RMLptsqnc59dGK7YrBz18GUzDq0xjnIrFvaFgURE+Y23UVg
	7Bg6wmr0o0tXM3XFheocXEz6tLr8orBnDzW51lcEMalpVbuVvYl4svRf1H16O+dDij4u
	nA8Nh68XibAOYTy/ae9JwvtUEIcY7GsbSD3knvTdQAY995AVjhTFz/cIo7OlJOlhEJz8
	KNPHtR1FA1l/v2Zik4pTRGwaOc323gU8QrqVlJ3C6UJg88C6rq4UHYkcriuKCuNZY6ha
	1BE3KppUqmmSHKpht/w2mTtQUe0VDOjbp70TtnsZxC5JjuyNGyrxsAqOV1y9M3yNsKeb
	CrYg==
Received: by 10.180.76.232 with SMTP id n8mr22092868wiw.2.1337015764221;
	Mon, 14 May 2012 10:16:04 -0700 (PDT)
Received: from [127.0.1.1] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id z3sm37132429wix.0.2012.05.14.10.16.01
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 10:16:02 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 54e2eb42fd49ac9bad3f2dac40c09b902c985d71
Message-Id: <54e2eb42fd49ac9bad3f.1337015755@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Mon, 14 May 2012 19:15:55 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU mapping
	in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same in xl.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -108,9 +108,25 @@ created online and the remainder will be
 =item B<cpus="CPU-LIST">
 
 List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
-(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
-will run on cpus 2 and 3).
+`all cpus`. A C<CPU-LIST> may be specified as follows:
+
+=over 4
+
+=item "all"
+
+To allow all the vcpus of the guest to run on all the cpus on the host.
+
+=item "0-3,5,^1"
+
+To allow all the vcpus of the guest to run on cpus 0,2,3,5.
+
+=item ["2", "3"] (or [2, 3])
+
+To ask for specific vcpu mapping. That means (in this example), vcpu #0
+of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
+run on cpu #3 of the host.
+
+=back
 
 =item B<cpu_weight=WEIGHT>
 
@@ -951,10 +967,6 @@ XXX
 
 XXX
 
-=item B<cpus=XXX>
-
-XXX
-
 =item B<maxmem=NUMBER>
 
 XXX
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1714,6 +1733,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu); vcpu_to_pcpu = NULL;
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:31:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:31:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STz6l-00017M-Ju; Mon, 14 May 2012 17:30:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STz6k-00017F-8E
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:30:54 +0000
Received: from [85.158.143.99:19028] by server-3.bemta-4.messagelabs.com id
	87/1A-05853-D4141BF4; Mon, 14 May 2012 17:30:53 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337016652!27984515!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.5 required=7.0 tests=HOT_NASTY,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26447 invoked from network); 14 May 2012 17:30:52 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:30:52 -0000
Received: by wgbed3 with SMTP id ed3so3932991wgb.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 10:30:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=iQnA4pUA3EouTdw8h+A6b0NqJQYHbIwb0+sXQ9SjHkw=;
	b=c+KTsTI5bJx/aCd5LyTQoasKag3Jrqq320STYEpgH8lFIiJqYiHsJDdiSA7/Wt9ZN7
	nDdYflDO961u2OHhYZx4IaW3GGmJhRHTUnQbElr3OM5zQFfEHRTVWYHzz8peMUo+muhp
	Btv7zsp0p0wY2Az2BivKM/mRgpSb3m31W0G0bBXE5Lzm7lCP8QAXiA2WY7leVdhfWynK
	WHVJ2UxmZ2hPV5/lbJDGZZ32UCUuJ3ff+/8XnN7+ZkZ0RY5xW2tTfc9NdSyXoBShyEIS
	IN68wOecP1FonbvhW1gEbPRocEeSoUUklD1JaOmMaDtyvi+Roa4ndE2nXnYtNkJYPfJ3
	gqfg==
Received: by 10.180.82.195 with SMTP id k3mr4599126wiy.9.1337016651695;
	Mon, 14 May 2012 10:30:51 -0700 (PDT)
Received: from [127.0.1.1] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id eb8sm445055wib.11.2012.05.14.10.30.49
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 10:30:50 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 3d90429f3ad323525332eea5cae54768e7d0788e
Message-Id: <3d90429f3ad323525332.1337016642@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Mon, 14 May 2012 19:30:42 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU mapping
	in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same in xl.

This fixes what happened in changeset 54000bca7a6a, which
introduced suppot for the `cpus=` option within xl, but used
both the list (cpus=[2, 3]) and the string (cpus="2,3") syntax
for achieving the same behaviour (pin all guest's vcpus to the
pcpus in the list/string).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -108,9 +108,25 @@ created online and the remainder will be
 =item B<cpus="CPU-LIST">
 
 List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
-(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
-will run on cpus 2 and 3).
+`all cpus`. A C<CPU-LIST> may be specified as follows:
+
+=over 4
+
+=item "all"
+
+To allow all the vcpus of the guest to run on all the cpus on the host.
+
+=item "0-3,5,^1"
+
+To allow all the vcpus of the guest to run on cpus 0,2,3,5.
+
+=item ["2", "3"] (or [2, 3])
+
+To ask for specific vcpu mapping. That means (in this example), vcpu #0
+of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
+run on cpu #3 of the host.
+
+=back
 
 =item B<cpu_weight=WEIGHT>
 
@@ -951,10 +967,6 @@ XXX
 
 XXX
 
-=item B<cpus=XXX>
-
-XXX
-
 =item B<maxmem=NUMBER>
 
 XXX
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1714,6 +1733,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu); vcpu_to_pcpu = NULL;
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:31:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:31:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STz6l-00017M-Ju; Mon, 14 May 2012 17:30:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1STz6k-00017F-8E
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:30:54 +0000
Received: from [85.158.143.99:19028] by server-3.bemta-4.messagelabs.com id
	87/1A-05853-D4141BF4; Mon, 14 May 2012 17:30:53 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337016652!27984515!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=1.5 required=7.0 tests=HOT_NASTY,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26447 invoked from network); 14 May 2012 17:30:52 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 17:30:52 -0000
Received: by wgbed3 with SMTP id ed3so3932991wgb.32
	for <xen-devel@lists.xen.org>; Mon, 14 May 2012 10:30:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=iQnA4pUA3EouTdw8h+A6b0NqJQYHbIwb0+sXQ9SjHkw=;
	b=c+KTsTI5bJx/aCd5LyTQoasKag3Jrqq320STYEpgH8lFIiJqYiHsJDdiSA7/Wt9ZN7
	nDdYflDO961u2OHhYZx4IaW3GGmJhRHTUnQbElr3OM5zQFfEHRTVWYHzz8peMUo+muhp
	Btv7zsp0p0wY2Az2BivKM/mRgpSb3m31W0G0bBXE5Lzm7lCP8QAXiA2WY7leVdhfWynK
	WHVJ2UxmZ2hPV5/lbJDGZZ32UCUuJ3ff+/8XnN7+ZkZ0RY5xW2tTfc9NdSyXoBShyEIS
	IN68wOecP1FonbvhW1gEbPRocEeSoUUklD1JaOmMaDtyvi+Roa4ndE2nXnYtNkJYPfJ3
	gqfg==
Received: by 10.180.82.195 with SMTP id k3mr4599126wiy.9.1337016651695;
	Mon, 14 May 2012 10:30:51 -0700 (PDT)
Received: from [127.0.1.1] (ip-178-202.sn2.eutelia.it. [83.211.178.202])
	by mx.google.com with ESMTPS id eb8sm445055wib.11.2012.05.14.10.30.49
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 14 May 2012 10:30:50 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 3d90429f3ad323525332eea5cae54768e7d0788e
Message-Id: <3d90429f3ad323525332.1337016642@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Mon, 14 May 2012 19:30:42 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU mapping
	in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xm supports the following syntax (in the config file) for
specific VCPU to PCPU mapping:

cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

Allow for the same in xl.

This fixes what happened in changeset 54000bca7a6a, which
introduced suppot for the `cpus=` option within xl, but used
both the list (cpus=[2, 3]) and the string (cpus="2,3") syntax
for achieving the same behaviour (pin all guest's vcpus to the
pcpus in the list/string).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -108,9 +108,25 @@ created online and the remainder will be
 =item B<cpus="CPU-LIST">
 
 List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
-(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
-will run on cpus 2 and 3).
+`all cpus`. A C<CPU-LIST> may be specified as follows:
+
+=over 4
+
+=item "all"
+
+To allow all the vcpus of the guest to run on all the cpus on the host.
+
+=item "0-3,5,^1"
+
+To allow all the vcpus of the guest to run on cpus 0,2,3,5.
+
+=item ["2", "3"] (or [2, 3])
+
+To ask for specific vcpu mapping. That means (in this example), vcpu #0
+of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
+run on cpu #3 of the host.
+
+=back
 
 =item B<cpu_weight=WEIGHT>
 
@@ -951,10 +967,6 @@ XXX
 
 XXX
 
-=item B<cpus=XXX>
-
-XXX
-
 =item B<maxmem=NUMBER>
 
 XXX
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -71,6 +71,8 @@ static uint32_t domid;
 static const char *common_domname;
 static int fd_lock = -1;
 
+/* Stash for specific vcpu to pcpu mappping */
+static int *vcpu_to_pcpu;
 
 static const char savefileheader_magic[32]=
     "Xen saved domain, xl format\n \0 \r";
@@ -630,6 +632,21 @@ static void parse_config_data(const char
             exit(1);
         }
 
+        /* Prepare the array for single vcpu to pcpu mappings */
+        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
+        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
+
+        /*
+         * Idea here is to let libxl think all the domain's vcpus
+         * have cpu affinity with all the pcpus on the list.
+         * It is then us, here in xl, that matches each single vcpu
+         * to its pcpu (and that's why we need to stash such info in
+         * the vcpu_to_pcpu array now) after the domain has been created.
+         * Doing it like this saves the burden of passing to libxl
+         * some big array hosting the single mappings. Also, using
+         * the cpumap derived from the list ensures memory is being
+         * allocated on the proper nodes anyway.
+         */
         libxl_cpumap_set_none(&b_info->cpumap);
         while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
             i = atoi(buf);
@@ -638,6 +655,8 @@ static void parse_config_data(const char
                 exit(1);
             }
             libxl_cpumap_set(&b_info->cpumap, i);
+            if (n_cpus < b_info->max_vcpus)
+                vcpu_to_pcpu[n_cpus] = i;
             n_cpus++;
         }
     }
@@ -1714,6 +1733,31 @@ start:
     if ( ret )
         goto error_out;
 
+    /* If single vcpu to pcpu mapping was requested, honour it */
+    if (vcpu_to_pcpu) {
+        libxl_cpumap vcpu_cpumap;
+
+        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
+
+            if (vcpu_to_pcpu[i] != -1) {
+                libxl_cpumap_set_none(&vcpu_cpumap);
+                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
+            } else {
+                libxl_cpumap_set_any(&vcpu_cpumap);
+            }
+            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
+                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
+                libxl_cpumap_dispose(&vcpu_cpumap);
+                free(vcpu_to_pcpu);
+                ret = ERROR_FAIL;
+                goto error_out;
+            }
+        }
+        libxl_cpumap_dispose(&vcpu_cpumap);
+        free(vcpu_to_pcpu); vcpu_to_pcpu = NULL;
+    }
+
     ret = libxl_userdata_store(ctx, domid, "xl",
                                     config_data, config_len);
     if (ret) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 17:33:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STz8c-0001EZ-92; Mon, 14 May 2012 17:32:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STz8a-0001EF-Aw
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:32:48 +0000
Received: from [85.158.143.35:14891] by server-2.bemta-4.messagelabs.com id
	8E/DB-17550-FB141BF4; Mon, 14 May 2012 17:32:47 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337016766!15342056!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26433 invoked from network); 14 May 2012 17:32:46 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-6.tower-21.messagelabs.com with SMTP;
	14 May 2012 17:32:46 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77861011; Mon, 14 May 2012 19:32:45 +0200
Message-ID: <1337016759.28326.59.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 19:32:39 +0200
In-Reply-To: <54e2eb42fd49ac9bad3f.1337015755@Solace>
References: <54e2eb42fd49ac9bad3f.1337015755@Solace>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3441473805888079069=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3441473805888079069==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-DVljmluB4XDiJtHfQXgv"


--=-DVljmluB4XDiJtHfQXgv
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 19:15 +0200, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
>=20
> cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
>=20
> Allow for the same in xl.
>=20
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
>=20
Gah! Forgot to qpop and qpush it to have the changelog (to which I added
some more information, as agreed with Ian C) refreshed ... Sorry for the
noise, and, please, consider the other posting I've just sent!

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-DVljmluB4XDiJtHfQXgv
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xQbcACgkQk4XaBE3IOsQkFQCeNAlw7aKo4+U9nUXDJ97LPUN0
xy4AoIfIoLAkhft6E1gkGNtIVY9aOuEI
=Sh5y
-----END PGP SIGNATURE-----

--=-DVljmluB4XDiJtHfQXgv--



--===============3441473805888079069==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3441473805888079069==--



From xen-devel-bounces@lists.xen.org Mon May 14 17:33:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STz8c-0001EZ-92; Mon, 14 May 2012 17:32:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STz8a-0001EF-Aw
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:32:48 +0000
Received: from [85.158.143.35:14891] by server-2.bemta-4.messagelabs.com id
	8E/DB-17550-FB141BF4; Mon, 14 May 2012 17:32:47 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337016766!15342056!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26433 invoked from network); 14 May 2012 17:32:46 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-6.tower-21.messagelabs.com with SMTP;
	14 May 2012 17:32:46 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77861011; Mon, 14 May 2012 19:32:45 +0200
Message-ID: <1337016759.28326.59.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Date: Mon, 14 May 2012 19:32:39 +0200
In-Reply-To: <54e2eb42fd49ac9bad3f.1337015755@Solace>
References: <54e2eb42fd49ac9bad3f.1337015755@Solace>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3441473805888079069=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3441473805888079069==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-DVljmluB4XDiJtHfQXgv"


--=-DVljmluB4XDiJtHfQXgv
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 19:15 +0200, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
>=20
> cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
>=20
> Allow for the same in xl.
>=20
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
>=20
Gah! Forgot to qpop and qpush it to have the changelog (to which I added
some more information, as agreed with Ian C) refreshed ... Sorry for the
noise, and, please, consider the other posting I've just sent!

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-DVljmluB4XDiJtHfQXgv
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xQbcACgkQk4XaBE3IOsQkFQCeNAlw7aKo4+U9nUXDJ97LPUN0
xy4AoIfIoLAkhft6E1gkGNtIVY9aOuEI
=Sh5y
-----END PGP SIGNATURE-----

--=-DVljmluB4XDiJtHfQXgv--



--===============3441473805888079069==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3441473805888079069==--



From xen-devel-bounces@lists.xen.org Mon May 14 17:34:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STz9i-0001Kt-PA; Mon, 14 May 2012 17:33:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STz9h-0001Ko-5l
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:33:57 +0000
Received: from [85.158.139.83:48682] by server-9.bemta-5.messagelabs.com id
	9D/A4-09826-40241BF4; Mon, 14 May 2012 17:33:56 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337016835!24470267!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12592 invoked from network); 14 May 2012 17:33:55 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-6.tower-182.messagelabs.com with SMTP;
	14 May 2012 17:33:55 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77859720; Mon, 14 May 2012 19:03:55 +0200
Message-ID: <1337015029.28326.51.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 19:03:49 +0200
In-Reply-To: <1336988060.31817.51.camel@zakaz.uk.xensource.com>
References: <0953e429ec0a517b247f.1336987609@Solace>
	<1336988060.31817.51.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2820221027594701527=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2820221027594701527==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-LlGY/ZyS9jvFR6tOtWLY"


--=-LlGY/ZyS9jvFR6tOtWLY
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 10:34 +0100, Ian Campbell wrote:
> On Mon, 2012-05-14 at 10:26 +0100, Dario Faggioli wrote:
> > xm supports the following syntax (in the config file) for
> > specific VCPU to PCPU mapping:
> >=20
> > cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> >=20
> > Allow for the same in xl.
> >=20
> > Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> >=20
> > ...
> > +
> > +=3Ditem "0-3,5,^1"
> > +
> > +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> > +
> > +=3Ditem [2, 3]
>=20
> Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
> it be confusing the make those distinct, represent the current xl
> behaviour and xm behaviour respectively?)
>=20
Well, tools/examples/xmexample.hvm says xm supports `cpus=3D["2", "3"]`,
while on xl both syntax (with or without the inner `"`) are recognized
by xlu_get_list[item]().

TBH, I don't think it's worth distinguishing between the two, especially
considering we have the string syntax (i.e., `cpus=3D"2,3") to achieve the
current behaviour.

> I think you missed my review on the v1 code when preparing this posting
> (we probably passed in mid-air)?
>=20
Indeed! :-)

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-LlGY/ZyS9jvFR6tOtWLY
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xOvUACgkQk4XaBE3IOsSrDACeL5p8jIJmgzInxl+JmNBsBNuI
O/4AoIsE2WDup5FlugW6VW8tjKszTAfO
=otes
-----END PGP SIGNATURE-----

--=-LlGY/ZyS9jvFR6tOtWLY--



--===============2820221027594701527==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2820221027594701527==--



From xen-devel-bounces@lists.xen.org Mon May 14 17:34:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 17:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STz9i-0001Kt-PA; Mon, 14 May 2012 17:33:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1STz9h-0001Ko-5l
	for xen-devel@lists.xen.org; Mon, 14 May 2012 17:33:57 +0000
Received: from [85.158.139.83:48682] by server-9.bemta-5.messagelabs.com id
	9D/A4-09826-40241BF4; Mon, 14 May 2012 17:33:56 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337016835!24470267!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12592 invoked from network); 14 May 2012 17:33:55 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-6.tower-182.messagelabs.com with SMTP;
	14 May 2012 17:33:55 -0000
Received: from [83.211.178.202] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77859720; Mon, 14 May 2012 19:03:55 +0200
Message-ID: <1337015029.28326.51.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Mon, 14 May 2012 19:03:49 +0200
In-Reply-To: <1336988060.31817.51.camel@zakaz.uk.xensource.com>
References: <0953e429ec0a517b247f.1336987609@Solace>
	<1336988060.31817.51.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2820221027594701527=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2820221027594701527==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-LlGY/ZyS9jvFR6tOtWLY"


--=-LlGY/ZyS9jvFR6tOtWLY
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-14 at 10:34 +0100, Ian Campbell wrote:
> On Mon, 2012-05-14 at 10:26 +0100, Dario Faggioli wrote:
> > xm supports the following syntax (in the config file) for
> > specific VCPU to PCPU mapping:
> >=20
> > cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> >=20
> > Allow for the same in xl.
> >=20
> > Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> >=20
> > ...
> > +
> > +=3Ditem "0-3,5,^1"
> > +
> > +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> > +
> > +=3Ditem [2, 3]
>=20
> Is this [2, 3] or ["2", "3"] as you used in the commit message? (would
> it be confusing the make those distinct, represent the current xl
> behaviour and xm behaviour respectively?)
>=20
Well, tools/examples/xmexample.hvm says xm supports `cpus=3D["2", "3"]`,
while on xl both syntax (with or without the inner `"`) are recognized
by xlu_get_list[item]().

TBH, I don't think it's worth distinguishing between the two, especially
considering we have the string syntax (i.e., `cpus=3D"2,3") to achieve the
current behaviour.

> I think you missed my review on the v1 code when preparing this posting
> (we probably passed in mid-air)?
>=20
Indeed! :-)

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-LlGY/ZyS9jvFR6tOtWLY
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+xOvUACgkQk4XaBE3IOsSrDACeL5p8jIJmgzInxl+JmNBsBNuI
O/4AoIsE2WDup5FlugW6VW8tjKszTAfO
=otes
-----END PGP SIGNATURE-----

--=-LlGY/ZyS9jvFR6tOtWLY--



--===============2820221027594701527==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2820221027594701527==--



From xen-devel-bounces@lists.xen.org Mon May 14 18:02:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 18:02:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STzaH-00023C-Qb; Mon, 14 May 2012 18:01:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1STzaF-00021i-1o
	for xen-devel@lists.xen.org; Mon, 14 May 2012 18:01:23 +0000
Received: from [85.158.143.35:61244] by server-1.bemta-4.messagelabs.com id
	03/F0-20925-07841BF4; Mon, 14 May 2012 18:01:20 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337018475!13563248!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8948 invoked from network); 14 May 2012 18:01:18 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 18:01:18 -0000
Received: by dadv2 with SMTP id v2so6549763dad.32
	for <multiple recipients>; Mon, 14 May 2012 11:01:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type;
	bh=1hHzLWgZKG0iKp99JEDBfhMdN8V6ELhcir247q+wKnw=;
	b=tc9xsVNb40mg75snqw1qW5d1UhY1anEwTEOLFiB+lFi+XIxvnOsB3sJsGW460xmY80
	AlWXIu2G9H0Y9esxw1N3/ciKNhfPUR+imuJ0aDVn3jVcMTlVmN0fcby+gesvk+jVnvgD
	Nl+dETVDeK1Lm0VwrFupZxE0eRQ6eTcJnFDI5oFK2v0aen4GPNrN9zKYZaPYVtm8Q/GW
	xCDH7Hkq4i9w/UwFNwHmsfSFaURECwpqtoV6XLFAJ5MVGi4Zj+d/pmytCLye5kQ5e6ic
	dhwj9gBBfAN0POvNxuxXkrMu+ES0GKHwdjXw+h+pFeI+FD2uLhQCPvyZBCCTskJG1XHd
	iF1g==
Received: by 10.68.226.228 with SMTP id rv4mr2022126pbc.167.1337018474347;
	Mon, 14 May 2012 11:01:14 -0700 (PDT)
Received: from [172.16.25.10] ([206.15.84.247])
	by mx.google.com with ESMTPS id h10sm22880066pbh.69.2012.05.14.11.01.12
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 11:01:13 -0700 (PDT)
Message-ID: <4FB14867.4070709@xen.org>
Date: Mon, 14 May 2012 11:01:11 -0700
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: lars.kurth@xen.org
References: <4FA2B2B1.3040901@xen.org> <4FAD3ABC.7070905@xen.org>
In-Reply-To: <4FAD3ABC.7070905@xen.org>
Cc: xen-arm@lists.xen.org, xen-api@lists.xen.org, xen-announce@lists.xen.org,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [Vote] Minor additions and clarification to Xen Project
 Governance - with voting form
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4694104278229486417=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============4694104278229486417==
Content-Type: multipart/alternative;
 boundary="------------020206080307030005020502"

This is a multi-part message in MIME format.
--------------020206080307030005020502
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi everybody:

I forgot to add the link to the voting form. Sorry for the confusion caused.

You can find it at: http://xen.org/polls/governance_proposal1_2.html

For those who have voted by e-mail: I will transfer your vote to the 
back-end and attach the mail you sent as proof.
You can vote again if you wish, in which case I will ignore any e-mail 
on the vote that you have sent.

Regards
Lars

On 11/05/2012 09:13, Lars Kurth wrote:
> Hi,
>
> there was no controversial feedback on the proposal to change 
> http://xen.org/projects/governance.html
>
> The proposal can be viewed at: 
> http://xen.org/projects/governance_v1_2.html
>
> Community Manager, Maintainers, Committers and Project leads of mature 
> projects can vote according to http://xen.org/projects/governance.html).
>
> Voting works as follows:
> +1: for proposal
> 0: abstain
> -1: against proposal - must contain an alternative suggestion to the 
> proposal or an explanation to be valid
>
> The vote is open until May 18th (for 1 week).
>
> Regards
> Lars
>
> On 03/05/2012 09:30, Lars Kurth wrote:
>> Dear Developers,
>>
>> we have had the original Xen project governance document (see 
>> http://xen.org/projects/governance.html 
>> <http://www.xen.org/projects/governance.html>) in effect now since 
>> July last year. The last minor review was in October 2011.
>>
>> Since then I had feedback on two items:
>>
>> a) Our governance does not specify how friction in the community is 
>> resolved. The role definitions cover the concept of Committers and 
>> Project leads acting as Referees, without being specific. In essence, 
>> the proposal reflects what happens informally in practice today and 
>> has happened in the past.
>>
>> b) There also was a bug in the definition of Project Lead: "Xen.org 
>> projects are managed by a Project Lead, who also is a maintainer" 
>> should be "..., who also is a committer". I clarified this and added 
>> a sentence that a project lead can also act as referee (which was 
>> implied before as a project lead is a committer).
>>
>> Please find a proposal for a new revision of the process at 
>> http://xen.org/projects/governance_v1_2.html which fixes these two 
>> issues. Changes are marked in italics and are in sections "Conflict 
>> Resolution" and "Project Lead".
>>
>> Timetable:
>>
>> 1) Open review with feedback until 11th May (a bit more than a week 
>> from today)
>>
>> 2) Lars to incorporate any feedback and publish a revision.
>>
>> 3) Lars to set up a private poll via a form, the week of May 14th 
>> which will be open for a week. Community members that can vote are 
>> maintainers (including committers and maintainers)of any mature 
>> project in Xen (aka Xen and XCP).
>>
>> Best Regards
>> Lars
>>
>


--------------020206080307030005020502
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi everybody: <br>
    <br>
    I forgot to add the link to the voting form. Sorry for the confusion
    caused.<br>
    <br>
    You can find it at: <a class="moz-txt-link-freetext" href="http://xen.org/polls/governance_proposal1_2.html">http://xen.org/polls/governance_proposal1_2.html</a><br>
    <br>
    For those who have voted by e-mail: I will transfer your vote to the
    back-end and attach the mail you sent as proof.<br>
    You can vote again if you wish, in which case I will ignore any
    e-mail on the vote that you have sent.<br>
    <br>
    Regards<br>
    Lars<br>
    <br>
    On 11/05/2012 09:13, Lars Kurth wrote:
    <blockquote cite="mid:4FAD3ABC.7070905@xen.org" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      Hi,<br>
      <br>
      there was no controversial feedback on the proposal to change <a
        moz-do-not-send="true" class="moz-txt-link-freetext"
        href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a><br>
      <br>
      The proposal can be viewed at: <a moz-do-not-send="true"
        class="moz-txt-link-freetext"
        href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a><br>
      <br>
      Community Manager, Maintainers, Committers and Project leads of
      mature projects can vote according to <a moz-do-not-send="true"
        class="moz-txt-link-freetext"
        href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>).<br>
      <br>
      Voting works as follows:<br>
      +1: for proposal<br>
      0: abstain<br>
      -1: against proposal - must contain an alternative suggestion to
      the proposal or an explanation to be valid <br>
      <br>
      The vote is open until May 18th (for 1 week).<br>
      <br>
      Regards<br>
      Lars<br>
      <br>
      On 03/05/2012 09:30, Lars Kurth wrote:
      <blockquote cite="mid:4FA2B2B1.3040901@xen.org" type="cite">
        <div class="moz-text-flowed" style="font-family: -moz-fixed;
          font-size: 14px;" lang="x-western">Dear Developers, <br>
          <br>
          we have had the original Xen project governance document (see
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>
          <a moz-do-not-send="true" class="moz-txt-link-rfc2396E"
            href="http://www.xen.org/projects/governance.html">&lt;http://www.xen.org/projects/governance.html&gt;</a>)
          in effect now since July last year. The last minor review was
          in October 2011. <br>
          <br>
          Since then I had feedback on two items: <br>
          <br>
          a) Our governance does not specify how friction in the
          community is resolved. The role definitions cover the concept
          of Committers and Project leads acting as Referees, without
          being specific. In essence, the proposal reflects what happens
          informally in practice today and has happened in the past. <br>
          <br>
          b) There also was a bug in the definition of Project Lead:
          "Xen.org projects are managed by a Project Lead, who also is a
          maintainer" should be "..., who also is a committer". I
          clarified this and added a sentence that a project lead can
          also act as referee (which was implied before as a project
          lead is a committer). <br>
          <br>
          Please find a proposal for a new revision of the process at <a
            moz-do-not-send="true" class="moz-txt-link-freetext"
            href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a>
          which fixes these two issues. Changes are marked in italics
          and are in sections "Conflict Resolution" and "Project Lead".
          <br>
          <br>
          Timetable: <br>
          <br>
          1) Open review with feedback until 11th May (a bit more than a
          week from today) <br>
          <br>
          2) Lars to incorporate any feedback and publish a revision. <br>
          <br>
          3) Lars to set up a private poll via a form, the week of May
          14th which will be open for a week. Community members that can
          vote are maintainers (including committers and maintainers)of
          any mature project in Xen (aka Xen and XCP). <br>
          <br>
          Best Regards <br>
          Lars <br>
          <br>
        </div>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>

--------------020206080307030005020502--


--===============4694104278229486417==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4694104278229486417==--


From xen-devel-bounces@lists.xen.org Mon May 14 18:02:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 18:02:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1STzaH-00023C-Qb; Mon, 14 May 2012 18:01:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1STzaF-00021i-1o
	for xen-devel@lists.xen.org; Mon, 14 May 2012 18:01:23 +0000
Received: from [85.158.143.35:61244] by server-1.bemta-4.messagelabs.com id
	03/F0-20925-07841BF4; Mon, 14 May 2012 18:01:20 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337018475!13563248!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8948 invoked from network); 14 May 2012 18:01:18 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 18:01:18 -0000
Received: by dadv2 with SMTP id v2so6549763dad.32
	for <multiple recipients>; Mon, 14 May 2012 11:01:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type;
	bh=1hHzLWgZKG0iKp99JEDBfhMdN8V6ELhcir247q+wKnw=;
	b=tc9xsVNb40mg75snqw1qW5d1UhY1anEwTEOLFiB+lFi+XIxvnOsB3sJsGW460xmY80
	AlWXIu2G9H0Y9esxw1N3/ciKNhfPUR+imuJ0aDVn3jVcMTlVmN0fcby+gesvk+jVnvgD
	Nl+dETVDeK1Lm0VwrFupZxE0eRQ6eTcJnFDI5oFK2v0aen4GPNrN9zKYZaPYVtm8Q/GW
	xCDH7Hkq4i9w/UwFNwHmsfSFaURECwpqtoV6XLFAJ5MVGi4Zj+d/pmytCLye5kQ5e6ic
	dhwj9gBBfAN0POvNxuxXkrMu+ES0GKHwdjXw+h+pFeI+FD2uLhQCPvyZBCCTskJG1XHd
	iF1g==
Received: by 10.68.226.228 with SMTP id rv4mr2022126pbc.167.1337018474347;
	Mon, 14 May 2012 11:01:14 -0700 (PDT)
Received: from [172.16.25.10] ([206.15.84.247])
	by mx.google.com with ESMTPS id h10sm22880066pbh.69.2012.05.14.11.01.12
	(version=SSLv3 cipher=OTHER); Mon, 14 May 2012 11:01:13 -0700 (PDT)
Message-ID: <4FB14867.4070709@xen.org>
Date: Mon, 14 May 2012 11:01:11 -0700
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: lars.kurth@xen.org
References: <4FA2B2B1.3040901@xen.org> <4FAD3ABC.7070905@xen.org>
In-Reply-To: <4FAD3ABC.7070905@xen.org>
Cc: xen-arm@lists.xen.org, xen-api@lists.xen.org, xen-announce@lists.xen.org,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [Vote] Minor additions and clarification to Xen Project
 Governance - with voting form
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4694104278229486417=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============4694104278229486417==
Content-Type: multipart/alternative;
 boundary="------------020206080307030005020502"

This is a multi-part message in MIME format.
--------------020206080307030005020502
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi everybody:

I forgot to add the link to the voting form. Sorry for the confusion caused.

You can find it at: http://xen.org/polls/governance_proposal1_2.html

For those who have voted by e-mail: I will transfer your vote to the 
back-end and attach the mail you sent as proof.
You can vote again if you wish, in which case I will ignore any e-mail 
on the vote that you have sent.

Regards
Lars

On 11/05/2012 09:13, Lars Kurth wrote:
> Hi,
>
> there was no controversial feedback on the proposal to change 
> http://xen.org/projects/governance.html
>
> The proposal can be viewed at: 
> http://xen.org/projects/governance_v1_2.html
>
> Community Manager, Maintainers, Committers and Project leads of mature 
> projects can vote according to http://xen.org/projects/governance.html).
>
> Voting works as follows:
> +1: for proposal
> 0: abstain
> -1: against proposal - must contain an alternative suggestion to the 
> proposal or an explanation to be valid
>
> The vote is open until May 18th (for 1 week).
>
> Regards
> Lars
>
> On 03/05/2012 09:30, Lars Kurth wrote:
>> Dear Developers,
>>
>> we have had the original Xen project governance document (see 
>> http://xen.org/projects/governance.html 
>> <http://www.xen.org/projects/governance.html>) in effect now since 
>> July last year. The last minor review was in October 2011.
>>
>> Since then I had feedback on two items:
>>
>> a) Our governance does not specify how friction in the community is 
>> resolved. The role definitions cover the concept of Committers and 
>> Project leads acting as Referees, without being specific. In essence, 
>> the proposal reflects what happens informally in practice today and 
>> has happened in the past.
>>
>> b) There also was a bug in the definition of Project Lead: "Xen.org 
>> projects are managed by a Project Lead, who also is a maintainer" 
>> should be "..., who also is a committer". I clarified this and added 
>> a sentence that a project lead can also act as referee (which was 
>> implied before as a project lead is a committer).
>>
>> Please find a proposal for a new revision of the process at 
>> http://xen.org/projects/governance_v1_2.html which fixes these two 
>> issues. Changes are marked in italics and are in sections "Conflict 
>> Resolution" and "Project Lead".
>>
>> Timetable:
>>
>> 1) Open review with feedback until 11th May (a bit more than a week 
>> from today)
>>
>> 2) Lars to incorporate any feedback and publish a revision.
>>
>> 3) Lars to set up a private poll via a form, the week of May 14th 
>> which will be open for a week. Community members that can vote are 
>> maintainers (including committers and maintainers)of any mature 
>> project in Xen (aka Xen and XCP).
>>
>> Best Regards
>> Lars
>>
>


--------------020206080307030005020502
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi everybody: <br>
    <br>
    I forgot to add the link to the voting form. Sorry for the confusion
    caused.<br>
    <br>
    You can find it at: <a class="moz-txt-link-freetext" href="http://xen.org/polls/governance_proposal1_2.html">http://xen.org/polls/governance_proposal1_2.html</a><br>
    <br>
    For those who have voted by e-mail: I will transfer your vote to the
    back-end and attach the mail you sent as proof.<br>
    You can vote again if you wish, in which case I will ignore any
    e-mail on the vote that you have sent.<br>
    <br>
    Regards<br>
    Lars<br>
    <br>
    On 11/05/2012 09:13, Lars Kurth wrote:
    <blockquote cite="mid:4FAD3ABC.7070905@xen.org" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      Hi,<br>
      <br>
      there was no controversial feedback on the proposal to change <a
        moz-do-not-send="true" class="moz-txt-link-freetext"
        href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a><br>
      <br>
      The proposal can be viewed at: <a moz-do-not-send="true"
        class="moz-txt-link-freetext"
        href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a><br>
      <br>
      Community Manager, Maintainers, Committers and Project leads of
      mature projects can vote according to <a moz-do-not-send="true"
        class="moz-txt-link-freetext"
        href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>).<br>
      <br>
      Voting works as follows:<br>
      +1: for proposal<br>
      0: abstain<br>
      -1: against proposal - must contain an alternative suggestion to
      the proposal or an explanation to be valid <br>
      <br>
      The vote is open until May 18th (for 1 week).<br>
      <br>
      Regards<br>
      Lars<br>
      <br>
      On 03/05/2012 09:30, Lars Kurth wrote:
      <blockquote cite="mid:4FA2B2B1.3040901@xen.org" type="cite">
        <div class="moz-text-flowed" style="font-family: -moz-fixed;
          font-size: 14px;" lang="x-western">Dear Developers, <br>
          <br>
          we have had the original Xen project governance document (see
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="http://xen.org/projects/governance.html">http://xen.org/projects/governance.html</a>
          <a moz-do-not-send="true" class="moz-txt-link-rfc2396E"
            href="http://www.xen.org/projects/governance.html">&lt;http://www.xen.org/projects/governance.html&gt;</a>)
          in effect now since July last year. The last minor review was
          in October 2011. <br>
          <br>
          Since then I had feedback on two items: <br>
          <br>
          a) Our governance does not specify how friction in the
          community is resolved. The role definitions cover the concept
          of Committers and Project leads acting as Referees, without
          being specific. In essence, the proposal reflects what happens
          informally in practice today and has happened in the past. <br>
          <br>
          b) There also was a bug in the definition of Project Lead:
          "Xen.org projects are managed by a Project Lead, who also is a
          maintainer" should be "..., who also is a committer". I
          clarified this and added a sentence that a project lead can
          also act as referee (which was implied before as a project
          lead is a committer). <br>
          <br>
          Please find a proposal for a new revision of the process at <a
            moz-do-not-send="true" class="moz-txt-link-freetext"
            href="http://xen.org/projects/governance_v1_2.html">http://xen.org/projects/governance_v1_2.html</a>
          which fixes these two issues. Changes are marked in italics
          and are in sections "Conflict Resolution" and "Project Lead".
          <br>
          <br>
          Timetable: <br>
          <br>
          1) Open review with feedback until 11th May (a bit more than a
          week from today) <br>
          <br>
          2) Lars to incorporate any feedback and publish a revision. <br>
          <br>
          3) Lars to set up a private poll via a form, the week of May
          14th which will be open for a week. Community members that can
          vote are maintainers (including committers and maintainers)of
          any mature project in Xen (aka Xen and XCP). <br>
          <br>
          Best Regards <br>
          Lars <br>
          <br>
        </div>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>

--------------020206080307030005020502--


--===============4694104278229486417==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4694104278229486417==--


From xen-devel-bounces@lists.xen.org Mon May 14 22:57:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 22:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU4Ce-00059y-Eh; Mon, 14 May 2012 22:57:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SU4Cc-00059m-8K
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 22:57:18 +0000
Received: from [85.158.139.83:14384] by server-3.bemta-5.messagelabs.com id
	D3/79-25237-DCD81BF4; Mon, 14 May 2012 22:57:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337036236!21150964!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27589 invoked from network); 14 May 2012 22:57:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 22:57:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,589,1330905600"; d="scan'208";a="12469922"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 22:57:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 23:57:15 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SU4CZ-0007Yx-NN;
	Mon, 14 May 2012 22:57:15 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SU4CZ-0004ei-Mc;
	Mon, 14 May 2012 23:57:15 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12860-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 14 May 2012 23:57:15 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12860: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12860 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12860/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12858

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12858

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  f8279258e3c9
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 14 22:57:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 14 May 2012 22:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU4Ce-00059y-Eh; Mon, 14 May 2012 22:57:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SU4Cc-00059m-8K
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 22:57:18 +0000
Received: from [85.158.139.83:14384] by server-3.bemta-5.messagelabs.com id
	D3/79-25237-DCD81BF4; Mon, 14 May 2012 22:57:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337036236!21150964!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27589 invoked from network); 14 May 2012 22:57:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	14 May 2012 22:57:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,589,1330905600"; d="scan'208";a="12469922"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	14 May 2012 22:57:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 14 May 2012 23:57:15 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SU4CZ-0007Yx-NN;
	Mon, 14 May 2012 22:57:15 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SU4CZ-0004ei-Mc;
	Mon, 14 May 2012 23:57:15 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12860-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 14 May 2012 23:57:15 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12860: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12860 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12860/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12858

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12858

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  f8279258e3c9
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 01:04:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 01:04:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU6BH-0002Le-9v; Tue, 15 May 2012 01:04:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SU6BE-0002LZ-O7
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 01:04:01 +0000
Received: from [85.158.139.83:31419] by server-2.bemta-5.messagelabs.com id
	F2/3C-17016-F7BA1BF4; Tue, 15 May 2012 01:03:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337043838!28377709!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14738 invoked from network); 15 May 2012 01:03:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 01:03:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471110"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 01:03:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 02:03:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SU6BB-0008HV-LO;
	Tue, 15 May 2012 01:03:57 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SU6BB-00054u-Bx;
	Tue, 15 May 2012 02:03:57 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12862-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 02:03:57 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12862: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12862 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12862/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   4 xen-build                 fail REGR. vs. 12795
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12795
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12795

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 01:04:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 01:04:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU6BH-0002Le-9v; Tue, 15 May 2012 01:04:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SU6BE-0002LZ-O7
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 01:04:01 +0000
Received: from [85.158.139.83:31419] by server-2.bemta-5.messagelabs.com id
	F2/3C-17016-F7BA1BF4; Tue, 15 May 2012 01:03:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337043838!28377709!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14738 invoked from network); 15 May 2012 01:03:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 01:03:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471110"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 01:03:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 02:03:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SU6BB-0008HV-LO;
	Tue, 15 May 2012 01:03:57 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SU6BB-00054u-Bx;
	Tue, 15 May 2012 02:03:57 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12862-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 02:03:57 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12862: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12862 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12862/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   4 xen-build                 fail REGR. vs. 12795
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12795
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12795

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 02:41:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 02:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU7hB-00036h-Q5; Tue, 15 May 2012 02:41:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SU7hA-00036X-In
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 02:41:04 +0000
Received: from [85.158.138.51:31732] by server-10.bemta-3.messagelabs.com id
	54/43-29478-F32C1BF4; Tue, 15 May 2012 02:41:03 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337049662!19022571!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6193 invoked from network); 15 May 2012 02:41:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 02:41:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471628"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 02:41:02 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 03:41:02 +0100
MIME-Version: 1.0
X-Mercurial-Node: d1c195e989ccb3799976b481521b5925115fcfb0
Message-ID: <d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1337049568@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 02:39:30 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: xen-devel@lists.xensource.com
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 2 v2] Introduce vncviewer xm compatibility
	options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 docs/man/xl.cfg.pod.5     |   4 ++
 docs/man/xl.pod.1         |  18 +++++++++++
 tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
 tools/libxl/xl_cmdtable.c |  15 ++++++---
 4 files changed, 92 insertions(+), 18 deletions(-)


Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5	Tue May 15 02:26:51 2012 +0000
+++ b/docs/man/xl.cfg.pod.5	Tue May 15 02:26:53 2012 +0000
@@ -91,6 +91,10 @@ The following options apply to guests of
 Specifies the UUID of the domain.  If not specified, a fresh unique
 UUID will be generated.
 
+=item B<vncviewer=BOOLEAN>
+
+Automatically spawn a vncviewer when creating/restoring a guest
+
 =item B<pool="CPUPOOLNAME">
 
 Put the guest's vcpus into the named cpu pool.
diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 15 02:26:51 2012 +0000
+++ b/docs/man/xl.pod.1	Tue May 15 02:26:53 2012 +0000
@@ -120,6 +120,14 @@ Use the given configuration file.
 
 Leave the domain paused after it is created.
 
+=item B<-V>, B<--vncviewer>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>, B<--vncviewer-autopass>
+
+Pass VNC password to vncviewer via stdin.
+
 =item B<-c>
 
 Attach console to the domain as soon as it has started.  This is
@@ -433,6 +441,16 @@ See the corresponding option of the I<cr
 
 Enable debug messages.
 
+=item B<-V>, B<--vncviewer>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>, B<--vncviewer-autopass>
+
+Pass VNC password to vncviewer via stdin.
+
+
+
 =back
 
 =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:53 2012 +0000
@@ -127,6 +127,8 @@ struct domain_create {
     int paused;
     int dryrun;
     int quiet;
+    int vnc;
+    int vncautopass;
     int console_autoconnect;
     const char *config_file;
     const char *extra_config; /* extra config string */
@@ -204,9 +206,8 @@ static void find_domain(const char *p)
     common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
 }
 
-static int vncviewer(const char *domain_spec, int autopass)
+static int vncviewer(uint32_t domid, int autopass)
 {
-    find_domain(domain_spec);
     libxl_vncviewer_exec(ctx, domid, autopass);
     fprintf(stderr, "Unable to execute vncviewer\n");
     return 1;
@@ -549,7 +550,9 @@ vcpp_out:
 static void parse_config_data(const char *configfile_filename_report,
                               const char *configfile_data,
                               int configfile_len,
-                              libxl_domain_config *d_config)
+                              libxl_domain_config *d_config, 
+                              struct domain_create *dom_info)
+
 {
     const char *buf;
     long l;
@@ -754,6 +757,13 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
         b_info->rtc_timeoffset = l;
 
+    if (dom_info && !xlu_cfg_get_long(config, "vncviewer", &l, 0)) {
+        /* Command line arguments must take precedence over what's 
+         * specified in the configuration file. */
+        if (!dom_info->vnc)
+            dom_info->vnc = l;
+    }
+
     xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
 
     if (!xlu_cfg_get_long (config, "videoram", &l, 0))
@@ -1531,6 +1541,7 @@ static int create_domain(struct domain_c
     int daemonize = dom_info->daemonize;
     int monitor = dom_info->monitor;
     int paused = dom_info->paused;
+    int vncautopass = dom_info->vncautopass;
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
@@ -1654,7 +1665,7 @@ static int create_domain(struct domain_c
     if (!dom_info->quiet)
         printf("Parsing config file %s\n", config_file);
 
-    parse_config_data(config_file, config_data, config_len, &d_config);
+    parse_config_data(config_file, config_data, config_len, &d_config, dom_info);
 
     if (migrate_fd >= 0) {
         if (d_config.c_info.name) {
@@ -1741,6 +1752,9 @@ start:
     if (!daemonize && !monitor)
         goto out;
 
+    if (dom_info->vnc) 
+        vncviewer(domid, vncautopass);
+
     if (need_daemon) {
         char *fullname, *name;
         pid_t child1, got_child;
@@ -1867,7 +1881,7 @@ start:
                 libxl_domain_config_dispose(&d_config);
                 libxl_domain_config_init(&d_config);
                 parse_config_data(config_file, config_data, config_len,
-                                  &d_config);
+                                  &d_config, dom_info);
 
                 /*
                  * XXX FIXME: If this sleep is not there then domain
@@ -2218,7 +2232,9 @@ int main_vncviewer(int argc, char **argv
         return 2;
     }
 
-    if (vncviewer(argv[optind], autopass))
+    find_domain(argv[optind]);
+
+    if (vncviewer(domid, autopass))
         return 1;
     return 0;
 }
@@ -2493,7 +2509,7 @@ static void list_domains_details(const l
             continue;
         CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
         libxl_domain_config_init(&d_config);
-        parse_config_data(config_file, (char *)data, len, &d_config);
+        parse_config_data(config_file, (char *)data, len, &d_config, NULL);
         printf_info(default_output_format, info[i].domid, &d_config);
         libxl_domain_config_dispose(&d_config);
         free(data);
@@ -3043,13 +3059,26 @@ int main_restore(int argc, char **argv)
     const char *config_file = NULL;
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, monitor = 1,
-        console_autoconnect = 0;
+        console_autoconnect = 0, vnc = 0, vncautopass = 0;
     int opt, rc;
-
-    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
+    int option_index = 0;
+    static struct option long_options[] = {
+        {"vncviewer", 0, 0, 'V'},
+        {"vncviewer-autopass", 0, 0, 'A'},
+        {0, 0, 0, 0}
+    };
+
+    while (1) {
+        opt = getopt_long(argc, argv, "FhcpdeVA", long_options, &option_index);
+        if (opt == -1)
+            break;
+
         switch (opt) {
         case 0: case 2:
             return opt;
+        case 'h':
+            help("restore");
+            return 2;
         case 'c':
             console_autoconnect = 1;
             break;
@@ -3066,6 +3095,12 @@ int main_restore(int argc, char **argv)
             daemonize = 0;
             monitor = 0;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         }
     }
 
@@ -3087,6 +3122,8 @@ int main_restore(int argc, char **argv)
     dom_info.config_file = config_file;
     dom_info.restore_file = checkpoint_file;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 1;
 
@@ -3394,7 +3431,7 @@ int main_create(int argc, char **argv)
     char extra_config[1024];
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
-        quiet = 0, monitor = 1;
+        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
     int opt, rc;
     int option_index = 0;
     static struct option long_options[] = {
@@ -3402,6 +3439,8 @@ int main_create(int argc, char **argv)
         {"quiet", 0, 0, 'q'},
         {"help", 0, 0, 'h'},
         {"defconfig", 1, 0, 'f'},
+        {"vncviewer", 0, 0, 'V'},
+        {"vncviewer-autopass", 0, 0, 'A'},
         {0, 0, 0, 0}
     };
 
@@ -3411,7 +3450,7 @@ int main_create(int argc, char **argv)
     }
 
     while (1) {
-        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
+        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
         if (opt == -1)
             break;
 
@@ -3444,6 +3483,12 @@ int main_create(int argc, char **argv)
         case 'q':
             quiet = 1;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         default:
             fprintf(stderr, "option `%c' not supported.\n", optopt);
             break;
@@ -3473,6 +3518,8 @@ int main_create(int argc, char **argv)
     dom_info.config_file = filename;
     dom_info.extra_config = extra_config;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 0;
 
@@ -3575,7 +3622,7 @@ int main_config_update(int argc, char **
 
     libxl_domain_config_init(&d_config);
 
-    parse_config_data(filename, config_data, config_len, &d_config);
+    parse_config_data(filename, config_data, config_len, &d_config, NULL);
 
     if (debug || dryrun_only)
         printf_info(default_output_format, -1, &d_config);
diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:51 2012 +0000
+++ b/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:53 2012 +0000
@@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
       "-n, --dryrun            Dry run - prints the resulting configuration\n"
       "                         (deprecated in favour of global -N option).\n"
       "-d                      Enable debug messages.\n"
-      "-e                      Do not wait in the background for the death of the domain."
+      "-e                      Do not wait in the background for the death of the domain.\n"
+      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
+      "-A, --vncviewer-autopass\n"
+      "                        Pass VNC password to viewer via stdin."
     },
     { "config-update",
       &main_config_update, 1,
@@ -144,10 +147,12 @@ struct cmd_spec cmd_table[] = {
       &main_restore, 0,
       "Restore a domain from a saved state",
       "[options] [<ConfigFile>] <CheckpointFile>",
-      "-h  Print this help.\n"
-      "-p  Do not unpause domain after restoring it.\n"
-      "-e  Do not wait in the background for the death of the domain.\n"
-      "-d  Enable debug messages."
+      "-h                       Print this help.\n"
+      "-p                       Do not unpause domain after restoring it.\n"
+      "-e                       Do not wait in the background for the death of the domain.\n"
+      "-d                       Enable debug messages.\n"
+      "-V, --vncviewer          Connect to the VNC display after the domain is created.\n"
+      "-A, --vncviewer-autopass Pass VNC password to viewer via stdin."
     },
     { "migrate-receive",
       &main_migrate_receive, 0,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 02:41:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 02:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU7hB-00036h-Q5; Tue, 15 May 2012 02:41:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SU7hA-00036X-In
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 02:41:04 +0000
Received: from [85.158.138.51:31732] by server-10.bemta-3.messagelabs.com id
	54/43-29478-F32C1BF4; Tue, 15 May 2012 02:41:03 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337049662!19022571!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6193 invoked from network); 15 May 2012 02:41:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 02:41:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471628"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 02:41:02 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 03:41:02 +0100
MIME-Version: 1.0
X-Mercurial-Node: d1c195e989ccb3799976b481521b5925115fcfb0
Message-ID: <d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1337049568@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 02:39:30 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: xen-devel@lists.xensource.com
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 2 v2] Introduce vncviewer xm compatibility
	options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 docs/man/xl.cfg.pod.5     |   4 ++
 docs/man/xl.pod.1         |  18 +++++++++++
 tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
 tools/libxl/xl_cmdtable.c |  15 ++++++---
 4 files changed, 92 insertions(+), 18 deletions(-)


Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5	Tue May 15 02:26:51 2012 +0000
+++ b/docs/man/xl.cfg.pod.5	Tue May 15 02:26:53 2012 +0000
@@ -91,6 +91,10 @@ The following options apply to guests of
 Specifies the UUID of the domain.  If not specified, a fresh unique
 UUID will be generated.
 
+=item B<vncviewer=BOOLEAN>
+
+Automatically spawn a vncviewer when creating/restoring a guest
+
 =item B<pool="CPUPOOLNAME">
 
 Put the guest's vcpus into the named cpu pool.
diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 15 02:26:51 2012 +0000
+++ b/docs/man/xl.pod.1	Tue May 15 02:26:53 2012 +0000
@@ -120,6 +120,14 @@ Use the given configuration file.
 
 Leave the domain paused after it is created.
 
+=item B<-V>, B<--vncviewer>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>, B<--vncviewer-autopass>
+
+Pass VNC password to vncviewer via stdin.
+
 =item B<-c>
 
 Attach console to the domain as soon as it has started.  This is
@@ -433,6 +441,16 @@ See the corresponding option of the I<cr
 
 Enable debug messages.
 
+=item B<-V>, B<--vncviewer>
+
+Attach to domain's VNC server, forking a vncviewer process.
+
+=item B<-A>, B<--vncviewer-autopass>
+
+Pass VNC password to vncviewer via stdin.
+
+
+
 =back
 
 =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:53 2012 +0000
@@ -127,6 +127,8 @@ struct domain_create {
     int paused;
     int dryrun;
     int quiet;
+    int vnc;
+    int vncautopass;
     int console_autoconnect;
     const char *config_file;
     const char *extra_config; /* extra config string */
@@ -204,9 +206,8 @@ static void find_domain(const char *p)
     common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
 }
 
-static int vncviewer(const char *domain_spec, int autopass)
+static int vncviewer(uint32_t domid, int autopass)
 {
-    find_domain(domain_spec);
     libxl_vncviewer_exec(ctx, domid, autopass);
     fprintf(stderr, "Unable to execute vncviewer\n");
     return 1;
@@ -549,7 +550,9 @@ vcpp_out:
 static void parse_config_data(const char *configfile_filename_report,
                               const char *configfile_data,
                               int configfile_len,
-                              libxl_domain_config *d_config)
+                              libxl_domain_config *d_config, 
+                              struct domain_create *dom_info)
+
 {
     const char *buf;
     long l;
@@ -754,6 +757,13 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
         b_info->rtc_timeoffset = l;
 
+    if (dom_info && !xlu_cfg_get_long(config, "vncviewer", &l, 0)) {
+        /* Command line arguments must take precedence over what's 
+         * specified in the configuration file. */
+        if (!dom_info->vnc)
+            dom_info->vnc = l;
+    }
+
     xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
 
     if (!xlu_cfg_get_long (config, "videoram", &l, 0))
@@ -1531,6 +1541,7 @@ static int create_domain(struct domain_c
     int daemonize = dom_info->daemonize;
     int monitor = dom_info->monitor;
     int paused = dom_info->paused;
+    int vncautopass = dom_info->vncautopass;
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
@@ -1654,7 +1665,7 @@ static int create_domain(struct domain_c
     if (!dom_info->quiet)
         printf("Parsing config file %s\n", config_file);
 
-    parse_config_data(config_file, config_data, config_len, &d_config);
+    parse_config_data(config_file, config_data, config_len, &d_config, dom_info);
 
     if (migrate_fd >= 0) {
         if (d_config.c_info.name) {
@@ -1741,6 +1752,9 @@ start:
     if (!daemonize && !monitor)
         goto out;
 
+    if (dom_info->vnc) 
+        vncviewer(domid, vncautopass);
+
     if (need_daemon) {
         char *fullname, *name;
         pid_t child1, got_child;
@@ -1867,7 +1881,7 @@ start:
                 libxl_domain_config_dispose(&d_config);
                 libxl_domain_config_init(&d_config);
                 parse_config_data(config_file, config_data, config_len,
-                                  &d_config);
+                                  &d_config, dom_info);
 
                 /*
                  * XXX FIXME: If this sleep is not there then domain
@@ -2218,7 +2232,9 @@ int main_vncviewer(int argc, char **argv
         return 2;
     }
 
-    if (vncviewer(argv[optind], autopass))
+    find_domain(argv[optind]);
+
+    if (vncviewer(domid, autopass))
         return 1;
     return 0;
 }
@@ -2493,7 +2509,7 @@ static void list_domains_details(const l
             continue;
         CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
         libxl_domain_config_init(&d_config);
-        parse_config_data(config_file, (char *)data, len, &d_config);
+        parse_config_data(config_file, (char *)data, len, &d_config, NULL);
         printf_info(default_output_format, info[i].domid, &d_config);
         libxl_domain_config_dispose(&d_config);
         free(data);
@@ -3043,13 +3059,26 @@ int main_restore(int argc, char **argv)
     const char *config_file = NULL;
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, monitor = 1,
-        console_autoconnect = 0;
+        console_autoconnect = 0, vnc = 0, vncautopass = 0;
     int opt, rc;
-
-    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
+    int option_index = 0;
+    static struct option long_options[] = {
+        {"vncviewer", 0, 0, 'V'},
+        {"vncviewer-autopass", 0, 0, 'A'},
+        {0, 0, 0, 0}
+    };
+
+    while (1) {
+        opt = getopt_long(argc, argv, "FhcpdeVA", long_options, &option_index);
+        if (opt == -1)
+            break;
+
         switch (opt) {
         case 0: case 2:
             return opt;
+        case 'h':
+            help("restore");
+            return 2;
         case 'c':
             console_autoconnect = 1;
             break;
@@ -3066,6 +3095,12 @@ int main_restore(int argc, char **argv)
             daemonize = 0;
             monitor = 0;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         }
     }
 
@@ -3087,6 +3122,8 @@ int main_restore(int argc, char **argv)
     dom_info.config_file = config_file;
     dom_info.restore_file = checkpoint_file;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 1;
 
@@ -3394,7 +3431,7 @@ int main_create(int argc, char **argv)
     char extra_config[1024];
     struct domain_create dom_info;
     int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
-        quiet = 0, monitor = 1;
+        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
     int opt, rc;
     int option_index = 0;
     static struct option long_options[] = {
@@ -3402,6 +3439,8 @@ int main_create(int argc, char **argv)
         {"quiet", 0, 0, 'q'},
         {"help", 0, 0, 'h'},
         {"defconfig", 1, 0, 'f'},
+        {"vncviewer", 0, 0, 'V'},
+        {"vncviewer-autopass", 0, 0, 'A'},
         {0, 0, 0, 0}
     };
 
@@ -3411,7 +3450,7 @@ int main_create(int argc, char **argv)
     }
 
     while (1) {
-        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
+        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
         if (opt == -1)
             break;
 
@@ -3444,6 +3483,12 @@ int main_create(int argc, char **argv)
         case 'q':
             quiet = 1;
             break;
+        case 'V':
+            vnc = 1;
+            break;
+        case 'A':
+            vnc = vncautopass = 1;
+            break;
         default:
             fprintf(stderr, "option `%c' not supported.\n", optopt);
             break;
@@ -3473,6 +3518,8 @@ int main_create(int argc, char **argv)
     dom_info.config_file = filename;
     dom_info.extra_config = extra_config;
     dom_info.migrate_fd = -1;
+    dom_info.vnc = vnc;
+    dom_info.vncautopass = vncautopass;
     dom_info.console_autoconnect = console_autoconnect;
     dom_info.incr_generationid = 0;
 
@@ -3575,7 +3622,7 @@ int main_config_update(int argc, char **
 
     libxl_domain_config_init(&d_config);
 
-    parse_config_data(filename, config_data, config_len, &d_config);
+    parse_config_data(filename, config_data, config_len, &d_config, NULL);
 
     if (debug || dryrun_only)
         printf_info(default_output_format, -1, &d_config);
diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:51 2012 +0000
+++ b/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:53 2012 +0000
@@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
       "-n, --dryrun            Dry run - prints the resulting configuration\n"
       "                         (deprecated in favour of global -N option).\n"
       "-d                      Enable debug messages.\n"
-      "-e                      Do not wait in the background for the death of the domain."
+      "-e                      Do not wait in the background for the death of the domain.\n"
+      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
+      "-A, --vncviewer-autopass\n"
+      "                        Pass VNC password to viewer via stdin."
     },
     { "config-update",
       &main_config_update, 1,
@@ -144,10 +147,12 @@ struct cmd_spec cmd_table[] = {
       &main_restore, 0,
       "Restore a domain from a saved state",
       "[options] [<ConfigFile>] <CheckpointFile>",
-      "-h  Print this help.\n"
-      "-p  Do not unpause domain after restoring it.\n"
-      "-e  Do not wait in the background for the death of the domain.\n"
-      "-d  Enable debug messages."
+      "-h                       Print this help.\n"
+      "-p                       Do not unpause domain after restoring it.\n"
+      "-e                       Do not wait in the background for the death of the domain.\n"
+      "-d                       Enable debug messages.\n"
+      "-V, --vncviewer          Connect to the VNC display after the domain is created.\n"
+      "-A, --vncviewer-autopass Pass VNC password to viewer via stdin."
     },
     { "migrate-receive",
       &main_migrate_receive, 0,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 02:41:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 02:41:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU7hD-00036o-6L; Tue, 15 May 2012 02:41:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SU7hB-00036Y-7K
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 02:41:05 +0000
Received: from [85.158.138.51:31771] by server-11.bemta-3.messagelabs.com id
	F2/69-18894-042C1BF4; Tue, 15 May 2012 02:41:04 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337049662!19022571!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6188 invoked from network); 15 May 2012 02:41:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 02:41:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471627"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 02:41:02 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 03:41:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: 380d5f86dfdd6c5281421a8fb8a5549c13e7c2c3
Message-ID: <380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1337049568@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 02:39:29 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 2 v2] xl: code motion of vncviewer() and
 `struct domain_create`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 tools/libxl/xl_cmdimpl.c |  50 ++++++++++++++++++++++++-----------------------
 1 files changed, 26 insertions(+), 24 deletions(-)


Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r cd4dd23a831d -r 380d5f86dfdd tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 18:59:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
@@ -120,6 +120,24 @@ static const char *action_on_shutdown_na
 
 #define SAVEFILE_BYTEORDER_VALUE ((uint32_t)0x01020304UL)
 
+struct domain_create {
+    int debug;
+    int daemonize;
+    int monitor; /* handle guest reboots etc */
+    int paused;
+    int dryrun;
+    int quiet;
+    int console_autoconnect;
+    const char *config_file;
+    const char *extra_config; /* extra config string */
+    const char *restore_file;
+    int migrate_fd; /* -1 means none */
+    char **migration_domname_r; /* from malloc */
+    int incr_generationid;
+};
+
+
+
 static int qualifier_to_id(const char *p, uint32_t *id_r)
 {
     int i, alldigit;
@@ -186,6 +204,14 @@ static void find_domain(const char *p)
     common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
 }
 
+static int vncviewer(const char *domain_spec, int autopass)
+{
+    find_domain(domain_spec);
+    libxl_vncviewer_exec(ctx, domid, autopass);
+    fprintf(stderr, "Unable to execute vncviewer\n");
+    return 1;
+}
+
 static int acquire_lock(void)
 {
     int rc;
@@ -1399,22 +1425,6 @@ static int preserve_domain(libxl_ctx *ct
     return rc == 0 ? 1 : 0;
 }
 
-struct domain_create {
-    int debug;
-    int daemonize;
-    int monitor; /* handle guest reboots etc */
-    int paused;
-    int dryrun;
-    int quiet;
-    int console_autoconnect;
-    const char *config_file;
-    const char *extra_config; /* extra config string */
-    const char *restore_file;
-    int migrate_fd; /* -1 means none */
-    char **migration_domname_r; /* from malloc */
-    int incr_generationid;
-};
-
 static int freemem(libxl_domain_build_info *b_info)
 {
     int rc, retries = 3;
@@ -2175,14 +2185,6 @@ int main_console(int argc, char **argv)
     return 1;
 }
 
-static int vncviewer(const char *domain_spec, int autopass)
-{
-    find_domain(domain_spec);
-    libxl_vncviewer_exec(ctx, domid, autopass);
-    fprintf(stderr, "Unable to execute vncviewer\n");
-    return 1;
-}
-
 int main_vncviewer(int argc, char **argv)
 {
     static const struct option long_options[] = {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 02:41:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 02:41:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU7hD-00036o-6L; Tue, 15 May 2012 02:41:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SU7hB-00036Y-7K
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 02:41:05 +0000
Received: from [85.158.138.51:31771] by server-11.bemta-3.messagelabs.com id
	F2/69-18894-042C1BF4; Tue, 15 May 2012 02:41:04 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337049662!19022571!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6188 invoked from network); 15 May 2012 02:41:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 02:41:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471627"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 02:41:02 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 03:41:01 +0100
MIME-Version: 1.0
X-Mercurial-Node: 380d5f86dfdd6c5281421a8fb8a5549c13e7c2c3
Message-ID: <380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
In-Reply-To: <patchbomb.1337049568@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 02:39:29 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 2 v2] xl: code motion of vncviewer() and
 `struct domain_create`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 tools/libxl/xl_cmdimpl.c |  50 ++++++++++++++++++++++++-----------------------
 1 files changed, 26 insertions(+), 24 deletions(-)


Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

diff -r cd4dd23a831d -r 380d5f86dfdd tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 11 18:59:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
@@ -120,6 +120,24 @@ static const char *action_on_shutdown_na
 
 #define SAVEFILE_BYTEORDER_VALUE ((uint32_t)0x01020304UL)
 
+struct domain_create {
+    int debug;
+    int daemonize;
+    int monitor; /* handle guest reboots etc */
+    int paused;
+    int dryrun;
+    int quiet;
+    int console_autoconnect;
+    const char *config_file;
+    const char *extra_config; /* extra config string */
+    const char *restore_file;
+    int migrate_fd; /* -1 means none */
+    char **migration_domname_r; /* from malloc */
+    int incr_generationid;
+};
+
+
+
 static int qualifier_to_id(const char *p, uint32_t *id_r)
 {
     int i, alldigit;
@@ -186,6 +204,14 @@ static void find_domain(const char *p)
     common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
 }
 
+static int vncviewer(const char *domain_spec, int autopass)
+{
+    find_domain(domain_spec);
+    libxl_vncviewer_exec(ctx, domid, autopass);
+    fprintf(stderr, "Unable to execute vncviewer\n");
+    return 1;
+}
+
 static int acquire_lock(void)
 {
     int rc;
@@ -1399,22 +1425,6 @@ static int preserve_domain(libxl_ctx *ct
     return rc == 0 ? 1 : 0;
 }
 
-struct domain_create {
-    int debug;
-    int daemonize;
-    int monitor; /* handle guest reboots etc */
-    int paused;
-    int dryrun;
-    int quiet;
-    int console_autoconnect;
-    const char *config_file;
-    const char *extra_config; /* extra config string */
-    const char *restore_file;
-    int migrate_fd; /* -1 means none */
-    char **migration_domname_r; /* from malloc */
-    int incr_generationid;
-};
-
 static int freemem(libxl_domain_build_info *b_info)
 {
     int rc, retries = 3;
@@ -2175,14 +2185,6 @@ int main_console(int argc, char **argv)
     return 1;
 }
 
-static int vncviewer(const char *domain_spec, int autopass)
-{
-    find_domain(domain_spec);
-    libxl_vncviewer_exec(ctx, domid, autopass);
-    fprintf(stderr, "Unable to execute vncviewer\n");
-    return 1;
-}
-
 int main_vncviewer(int argc, char **argv)
 {
     static const struct option long_options[] = {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 02:42:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 02:42:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU7iB-0003BT-Jo; Tue, 15 May 2012 02:42:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SU7iA-0003BG-8g
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 02:42:06 +0000
Received: from [85.158.138.51:9607] by server-10.bemta-3.messagelabs.com id
	6A/04-29478-D72C1BF4; Tue, 15 May 2012 02:42:05 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337049724!20762693!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32673 invoked from network); 15 May 2012 02:42:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 02:42:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471626"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 02:41:01 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 03:41:01 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337049568@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 02:39:28 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 2 v2] Add vncviewer xm compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes since v1:

- Removed libxl vncviewer related dependencies

- The vncviewer function was modified to accept a domid instead of domspec;
 - main_vncviewer was updated to reflect the new use.

- A domain_create structure is now passed to the parse_config_data where required/feasible (NULL otherwise)

- xl restore now have long options for vncviewer/vncviewer-autopass; docs updated.

- Updated vnc logic to depend on create_domain

 tools/libxl/xl_cmdimpl.c  |  50 ++++++++++++++++---------------
 docs/man/xl.cfg.pod.5     |   4 ++
 docs/man/xl.pod.1         |  18 +++++++++++
 tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
 tools/libxl/xl_cmdtable.c |  15 ++++++---
 5 files changed, 118 insertions(+), 42 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 02:42:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 02:42:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU7iB-0003BT-Jo; Tue, 15 May 2012 02:42:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SU7iA-0003BG-8g
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 02:42:06 +0000
Received: from [85.158.138.51:9607] by server-10.bemta-3.messagelabs.com id
	6A/04-29478-D72C1BF4; Tue, 15 May 2012 02:42:05 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337049724!20762693!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32673 invoked from network); 15 May 2012 02:42:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 02:42:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471626"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 02:41:01 +0000
Received: from dt29.uk.xensource.com (10.80.227.196) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 03:41:01 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337049568@dt29.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 02:39:28 +0000
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: <xen-devel@lists.xensource.com>
Cc: ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 2 v2] Add vncviewer xm compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes since v1:

- Removed libxl vncviewer related dependencies

- The vncviewer function was modified to accept a domid instead of domspec;
 - main_vncviewer was updated to reflect the new use.

- A domain_create structure is now passed to the parse_config_data where required/feasible (NULL otherwise)

- xl restore now have long options for vncviewer/vncviewer-autopass; docs updated.

- Updated vnc logic to depend on create_domain

 tools/libxl/xl_cmdimpl.c  |  50 ++++++++++++++++---------------
 docs/man/xl.cfg.pod.5     |   4 ++
 docs/man/xl.pod.1         |  18 +++++++++++
 tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
 tools/libxl/xl_cmdtable.c |  15 ++++++---
 5 files changed, 118 insertions(+), 42 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 03:04:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 03:04:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU838-0003bm-IU; Tue, 15 May 2012 03:03:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SU837-0003bN-2B
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 03:03:45 +0000
Received: from [85.158.143.99:33419] by server-2.bemta-4.messagelabs.com id
	84/88-17550-097C1BF4; Tue, 15 May 2012 03:03:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337051022!22727698!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16617 invoked from network); 15 May 2012 03:03:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 03:03:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471719"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 03:03:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 04:03:41 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SU833-0000Tm-Nv;
	Tue, 15 May 2012 03:03:41 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SU833-000617-L2;
	Tue, 15 May 2012 04:03:41 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12863-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 04:03:41 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12863: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12863 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12863/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12825
 build-amd64                   4 xen-build                 fail REGR. vs. 12825
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12825

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a

version targeted for testing:
 xen                  35248be669e7
baseline version:
 xen                  513ca342fd86

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 03:04:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 03:04:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU838-0003bm-IU; Tue, 15 May 2012 03:03:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SU837-0003bN-2B
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 03:03:45 +0000
Received: from [85.158.143.99:33419] by server-2.bemta-4.messagelabs.com id
	84/88-17550-097C1BF4; Tue, 15 May 2012 03:03:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337051022!22727698!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16617 invoked from network); 15 May 2012 03:03:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 03:03:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,590,1330905600"; d="scan'208";a="12471719"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 03:03:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 04:03:41 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SU833-0000Tm-Nv;
	Tue, 15 May 2012 03:03:41 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SU833-000617-L2;
	Tue, 15 May 2012 04:03:41 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12863-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 04:03:41 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12863: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12863 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12863/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12825
 build-amd64                   4 xen-build                 fail REGR. vs. 12825
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12825

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a

version targeted for testing:
 xen                  35248be669e7
baseline version:
 xen                  513ca342fd86

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 05:07:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 05:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU9xr-0004LO-V8; Tue, 15 May 2012 05:06:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SU9xq-0004LJ-Hs
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 05:06:26 +0000
Received: from [85.158.143.99:39909] by server-3.bemta-4.messagelabs.com id
	60/E6-05853-154E1BF4; Tue, 15 May 2012 05:06:25 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337058383!18236986!1
X-Originating-IP: [137.65.250.214]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13876 invoked from network); 15 May 2012 05:06:24 -0000
Received: from soto.provo.novell.com (HELO soto.provo.novell.com)
	(137.65.250.214) by server-8.tower-216.messagelabs.com with SMTP;
	15 May 2012 05:06:24 -0000
Received: from INET-RELAY2-MTA by soto.provo.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 23:06:22 -0600
Message-Id: <4FB254C2020000300000F28A@soto.provo.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 23:06:10 -0600
From: "Bamvor Jian Zhang" <bjzhang@suse.com>
To: "Ian Jackson" <Ian.Jackson@eu.citrix.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
In-Reply-To: <20395.62632.654951.334814@mariner.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jim Fehlig <JFEHLIG@suse.com>, xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Ian 

thanks your reply. 

Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: 
>Bamvor Jian Zhang writes ("[Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff"):
>> diff -r 9dda0efd8ce1 -r 4a6043e1434a tools/libxl/libxl.c

>Thanks for posting this but was int actually inteded for inclusion in
>the tree ?  If so we need a commit message and a Signed-off-by and so
>forth.  Also we may be too late for 4.2 considering the feature
>freeze.
I am sorry maybe there are something wrong in my hgrc settings. the patch including comments and Signed-off-by in my ".hg/patches" directory. 
I understand that 4.2 is almost release. meanwhile, my patch is useful for adding a api in libvirt for xenlight open console commands.

>> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)
>> +{
>
>We already have various functions to refer to and open consoles, which
>have much of this functionality in them already.  That shouldn't be
>duplicated.
>
>Also we need to make a policy decision about whether the fact that the
>console looks like a tty is a part of the API.
sorry i only found one api about open console is libxl_console_exec. libxl_console_exec call xenconsole command directly which is not compatible with libvirt open console api. libvirt open console want a console device path and handle the console by libvirt itself. libvirt xen(not xenlight) driver read console path from xenstore directly which is prohibited by libvirt xenlight drvier. 
So, because these reasons, i guess add this simple api to return console path to libvirt is a good choice. it is useful for libvirt and do not break libxl api. 
>
>> +/* libxl_get_console_tty get the tty path from xenstore according to the 
>> + * domain id. 
>> + */
>> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path);
>
>In any case the doc comment should not mention xenstore.  It should
>also document the memory allocation behaviour.
I will change it in my next version. 
>
>Ian.

Bamvor




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 05:07:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 05:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SU9xr-0004LO-V8; Tue, 15 May 2012 05:06:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SU9xq-0004LJ-Hs
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 05:06:26 +0000
Received: from [85.158.143.99:39909] by server-3.bemta-4.messagelabs.com id
	60/E6-05853-154E1BF4; Tue, 15 May 2012 05:06:25 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337058383!18236986!1
X-Originating-IP: [137.65.250.214]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13876 invoked from network); 15 May 2012 05:06:24 -0000
Received: from soto.provo.novell.com (HELO soto.provo.novell.com)
	(137.65.250.214) by server-8.tower-216.messagelabs.com with SMTP;
	15 May 2012 05:06:24 -0000
Received: from INET-RELAY2-MTA by soto.provo.novell.com
	with Novell_GroupWise; Mon, 14 May 2012 23:06:22 -0600
Message-Id: <4FB254C2020000300000F28A@soto.provo.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 14 May 2012 23:06:10 -0600
From: "Bamvor Jian Zhang" <bjzhang@suse.com>
To: "Ian Jackson" <Ian.Jackson@eu.citrix.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
In-Reply-To: <20395.62632.654951.334814@mariner.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jim Fehlig <JFEHLIG@suse.com>, xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Ian 

thanks your reply. 

Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: 
>Bamvor Jian Zhang writes ("[Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff"):
>> diff -r 9dda0efd8ce1 -r 4a6043e1434a tools/libxl/libxl.c

>Thanks for posting this but was int actually inteded for inclusion in
>the tree ?  If so we need a commit message and a Signed-off-by and so
>forth.  Also we may be too late for 4.2 considering the feature
>freeze.
I am sorry maybe there are something wrong in my hgrc settings. the patch including comments and Signed-off-by in my ".hg/patches" directory. 
I understand that 4.2 is almost release. meanwhile, my patch is useful for adding a api in libvirt for xenlight open console commands.

>> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)
>> +{
>
>We already have various functions to refer to and open consoles, which
>have much of this functionality in them already.  That shouldn't be
>duplicated.
>
>Also we need to make a policy decision about whether the fact that the
>console looks like a tty is a part of the API.
sorry i only found one api about open console is libxl_console_exec. libxl_console_exec call xenconsole command directly which is not compatible with libvirt open console api. libvirt open console want a console device path and handle the console by libvirt itself. libvirt xen(not xenlight) driver read console path from xenstore directly which is prohibited by libvirt xenlight drvier. 
So, because these reasons, i guess add this simple api to return console path to libvirt is a good choice. it is useful for libvirt and do not break libxl api. 
>
>> +/* libxl_get_console_tty get the tty path from xenstore according to the 
>> + * domain id. 
>> + */
>> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path);
>
>In any case the doc comment should not mention xenstore.  It should
>also document the memory allocation behaviour.
I will change it in my next version. 
>
>Ian.

Bamvor




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 05:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 05:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUAmx-0004dc-Eg; Tue, 15 May 2012 05:59:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SUAmv-0004dX-Ik
	for xen-devel@lists.xen.org; Tue, 15 May 2012 05:59:13 +0000
Received: from [193.109.254.147:45228] by server-5.bemta-14.messagelabs.com id
	3E/3D-30733-0B0F1BF4; Tue, 15 May 2012 05:59:12 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337061551!1583230!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM0NzU5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21844 invoked from network); 15 May 2012 05:59:11 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-27.messagelabs.com with SMTP;
	15 May 2012 05:59:11 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 14 May 2012 22:59:10 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="100162766"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 14 May 2012 22:59:10 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 14 May 2012 22:59:09 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Tue, 15 May 2012 13:59:06 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH v3] Fix the mistake of exception execution
Thread-Index: Ac0xva6QCiV4cu6aQjqgC+rmiVimu///geOA//5Bn1A=
Date: Tue, 15 May 2012 05:59:05 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
In-Reply-To: <4FB1037302000078000836C8@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	"Nakajima, Jun" <jun.nakajima@intel.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Monday, May 14, 2012 7:07 PM
> To: Hao, Xudong
> Cc: Keir Fraser(keir.xen@gmail.com); Dong, Eddie; Nakajima, Jun; Zhang,
> Xiantao; xen-devel (xen-devel@lists.xen.org); Aravindh Puthiyaparambil
> Subject: Re: [PATCH v3] Fix the mistake of exception execution
> 
> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > Fix the mistake for debug exception(#DB), overflow exception(#OF; generated
> > by INTO) and int 3(#BP) instruction emulation.
> >
> > For INTn (CD ib), it should use type 4 (software interrupt).
> >
> > For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4), it
> > should use type 6 (software exception).
> >
> > For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF,
> #MF,
> > #AC, #MC, and #XM), it should use type 3 (hardware exception).
> >
> > In the unlikely event that you are emulating the undocumented opcode F1
> > (informally called INT1 or ICEBP), it would use type 5 (privileged software
> > exception).
> >
> > Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> > --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c	Wed May 15 02:31:34 2013 +0800
> > @@ -1350,6 +1350,19 @@ static void __vmx_inject_exception(int t
> >          curr->arch.hvm_vmx.vmx_emulate = 1;
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and INT 3(CC), INTO (CE) instruction emulation. It is
> > + * not intended for the delivery of event due to emulation
> > + * of INT nn (CD nn) instruction, which should use
> > + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type; opcode
> > + * 0xf1 generated #DB should use privileged software
> > + * exception, which is not deliverd here either.
> > + *    The caller of this function should set correct instruction
> > + * length.
> > + */
> >  void vmx_inject_hw_exception(int trap, int error_code)
> >  {
> >      unsigned long intr_info;
> > @@ -1365,7 +1378,6 @@ void vmx_inject_hw_exception(int trap, i
> >      switch ( trap )
> >      {
> >      case TRAP_debug:
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> > @@ -1383,16 +1395,14 @@ void vmx_inject_hw_exception(int trap, i
> >              return;
> >          }
> >
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> > -        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> > -        break;
> > -
> > +        type = X86_EVENTTYPE_SW_EXCEPTION; /* int3; CC */
> > +        break;
> > +
> > +    case TRAP_overflow:
> > +        type = X86_EVENTTYPE_SW_EXCEPTION;  /* into; CE */
> > +        break;
> > +
> >      default:
> > -        if ( trap > TRAP_last_reserved )
> > -        {
> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
> > -        }
> 
> So this undoes Aravindh's earlier change, without replacement. I
> don't think that's acceptable.
> 

This is the first patch that just correct some instruction in hw exception function, as function description above, int n (n > 32) is not delivered by this function. 
I'll write another patch of new function for int n handler.

> >          break;
> >      }
> >
> > @@ -2447,6 +2457,11 @@ void vmx_vmexit_handler(struct cpu_user_
> >                  if ( handled < 0 )
> >                  {
> >                      vmx_inject_exception(TRAP_int3,
> HVM_DELIVER_NO_ERROR_CODE, 0);
> > +                    /*
> > +                     * According to the vmx_inject_hw_exception()
> description,
> > +                     * it must set correct instruction length by caller
> itself.
> > +                     */
> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /*
> int3, CC */
> 
> Still using a hard-coded 1 here, the more that afaict you can't
> distinguish CC and CD 03 here.
> 

Just copied it from original code, how about this replacement:

+     __vmwrite(VM_ENTRY_INSTRUCTION_LEN, __vmread(VM_EXIT_INSTRUCTION_LEN));

> Furthermore - is this really the only place needing adjustment after
> the removal of the corresponding writes above?
> 

Yes, I searched whole code, only this place need to do adjustment after function changes.

> Jan
> 
> >                      break;
> >                  }
> >                  else if ( handled )
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 05:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 05:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUAmx-0004dc-Eg; Tue, 15 May 2012 05:59:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SUAmv-0004dX-Ik
	for xen-devel@lists.xen.org; Tue, 15 May 2012 05:59:13 +0000
Received: from [193.109.254.147:45228] by server-5.bemta-14.messagelabs.com id
	3E/3D-30733-0B0F1BF4; Tue, 15 May 2012 05:59:12 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337061551!1583230!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM0NzU5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21844 invoked from network); 15 May 2012 05:59:11 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-27.messagelabs.com with SMTP;
	15 May 2012 05:59:11 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 14 May 2012 22:59:10 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="100162766"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 14 May 2012 22:59:10 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 14 May 2012 22:59:09 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.6]) with mapi id
	14.01.0355.002; Tue, 15 May 2012 13:59:06 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH v3] Fix the mistake of exception execution
Thread-Index: Ac0xva6QCiV4cu6aQjqgC+rmiVimu///geOA//5Bn1A=
Date: Tue, 15 May 2012 05:59:05 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
In-Reply-To: <4FB1037302000078000836C8@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	"Nakajima, Jun" <jun.nakajima@intel.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Monday, May 14, 2012 7:07 PM
> To: Hao, Xudong
> Cc: Keir Fraser(keir.xen@gmail.com); Dong, Eddie; Nakajima, Jun; Zhang,
> Xiantao; xen-devel (xen-devel@lists.xen.org); Aravindh Puthiyaparambil
> Subject: Re: [PATCH v3] Fix the mistake of exception execution
> 
> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > Fix the mistake for debug exception(#DB), overflow exception(#OF; generated
> > by INTO) and int 3(#BP) instruction emulation.
> >
> > For INTn (CD ib), it should use type 4 (software interrupt).
> >
> > For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4), it
> > should use type 6 (software exception).
> >
> > For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF,
> #MF,
> > #AC, #MC, and #XM), it should use type 3 (hardware exception).
> >
> > In the unlikely event that you are emulating the undocumented opcode F1
> > (informally called INT1 or ICEBP), it would use type 5 (privileged software
> > exception).
> >
> > Signed-off-by: Eddie Dong<eddie.dong@intel.com>
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> >
> > diff -r cd4dd23a831d xen/arch/x86/hvm/vmx/vmx.c
> > --- a/xen/arch/x86/hvm/vmx/vmx.c	Fri May 11 18:59:07 2012 +0100
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c	Wed May 15 02:31:34 2013 +0800
> > @@ -1350,6 +1350,19 @@ static void __vmx_inject_exception(int t
> >          curr->arch.hvm_vmx.vmx_emulate = 1;
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and INT 3(CC), INTO (CE) instruction emulation. It is
> > + * not intended for the delivery of event due to emulation
> > + * of INT nn (CD nn) instruction, which should use
> > + * X86_EVENTTYPE_SW_INTERRUPT as interrupt type; opcode
> > + * 0xf1 generated #DB should use privileged software
> > + * exception, which is not deliverd here either.
> > + *    The caller of this function should set correct instruction
> > + * length.
> > + */
> >  void vmx_inject_hw_exception(int trap, int error_code)
> >  {
> >      unsigned long intr_info;
> > @@ -1365,7 +1378,6 @@ void vmx_inject_hw_exception(int trap, i
> >      switch ( trap )
> >      {
> >      case TRAP_debug:
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> > @@ -1383,16 +1395,14 @@ void vmx_inject_hw_exception(int trap, i
> >              return;
> >          }
> >
> > -        type = X86_EVENTTYPE_SW_EXCEPTION;
> > -        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
> > -        break;
> > -
> > +        type = X86_EVENTTYPE_SW_EXCEPTION; /* int3; CC */
> > +        break;
> > +
> > +    case TRAP_overflow:
> > +        type = X86_EVENTTYPE_SW_EXCEPTION;  /* into; CE */
> > +        break;
> > +
> >      default:
> > -        if ( trap > TRAP_last_reserved )
> > -        {
> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
> > -        }
> 
> So this undoes Aravindh's earlier change, without replacement. I
> don't think that's acceptable.
> 

This is the first patch that just correct some instruction in hw exception function, as function description above, int n (n > 32) is not delivered by this function. 
I'll write another patch of new function for int n handler.

> >          break;
> >      }
> >
> > @@ -2447,6 +2457,11 @@ void vmx_vmexit_handler(struct cpu_user_
> >                  if ( handled < 0 )
> >                  {
> >                      vmx_inject_exception(TRAP_int3,
> HVM_DELIVER_NO_ERROR_CODE, 0);
> > +                    /*
> > +                     * According to the vmx_inject_hw_exception()
> description,
> > +                     * it must set correct instruction length by caller
> itself.
> > +                     */
> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /*
> int3, CC */
> 
> Still using a hard-coded 1 here, the more that afaict you can't
> distinguish CC and CD 03 here.
> 

Just copied it from original code, how about this replacement:

+     __vmwrite(VM_ENTRY_INSTRUCTION_LEN, __vmread(VM_EXIT_INSTRUCTION_LEN));

> Furthermore - is this really the only place needing adjustment after
> the removal of the corresponding writes above?
> 

Yes, I searched whole code, only this place need to do adjustment after function changes.

> Jan
> 
> >                      break;
> >                  }
> >                  else if ( handled )
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 06:44:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 06:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUBTX-0005BN-8I; Tue, 15 May 2012 06:43:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUBTV-0005BG-TG
	for xen-devel@lists.xen.org; Tue, 15 May 2012 06:43:14 +0000
Received: from [85.158.138.51:51684] by server-4.bemta-3.messagelabs.com id
	B4/61-15341-10BF1BF4; Tue, 15 May 2012 06:43:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337064192!18226871!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21079 invoked from network); 15 May 2012 06:43:12 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 06:43:12 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 07:43:11 +0100
Message-Id: <4FB2173C0200007800083A5D@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 07:43:40 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
In-Reply-To: <CBD6F04E.40439%keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: andrew.cooper3@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
> On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>> Looks sensible, and I suppose good to have for 4.2.
>>> 
>>> Acked-by: Keir Fraser <keir@xen.org>
>> 
>> Please take a look at the v2 I just sent, to accommodate a suggestion
>> from Andrew Cooper.
> 
> I think it's very paranoid, since legacy vectors never get programmed into
> an IOAPIC RTE and should never need EOIing at the local APIC. But you do at
> least printk the case that we see the ISR bit set, and you printk the vector
> number, so really this v2 patch gives us more information about this bogus
> situation than v1 did, so it's a slight improvement overall. So you still
> have my Ack.

It indeed is paranoid (which is why I didn't do so in v1), but Andrew
certainly has a point in saying that something so far unexplainable
going on makes it desirable to cover as many (however remotely)
potential causes as possible. (I still consider double delivery through
IO-APIC and PIC the most likely scenario, despite not having a
reasonably explanation on how the PIC mask bit could get cleared.)

Once we hopefully understand the hole situation, the code here
should likely be reverted to the v1 version (along with removing the
other debugging code).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 06:44:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 06:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUBTX-0005BN-8I; Tue, 15 May 2012 06:43:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUBTV-0005BG-TG
	for xen-devel@lists.xen.org; Tue, 15 May 2012 06:43:14 +0000
Received: from [85.158.138.51:51684] by server-4.bemta-3.messagelabs.com id
	B4/61-15341-10BF1BF4; Tue, 15 May 2012 06:43:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337064192!18226871!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21079 invoked from network); 15 May 2012 06:43:12 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 06:43:12 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 07:43:11 +0100
Message-Id: <4FB2173C0200007800083A5D@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 07:43:40 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir@xen.org>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
In-Reply-To: <CBD6F04E.40439%keir@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: andrew.cooper3@citrix.com, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
> On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>> Looks sensible, and I suppose good to have for 4.2.
>>> 
>>> Acked-by: Keir Fraser <keir@xen.org>
>> 
>> Please take a look at the v2 I just sent, to accommodate a suggestion
>> from Andrew Cooper.
> 
> I think it's very paranoid, since legacy vectors never get programmed into
> an IOAPIC RTE and should never need EOIing at the local APIC. But you do at
> least printk the case that we see the ISR bit set, and you printk the vector
> number, so really this v2 patch gives us more information about this bogus
> situation than v1 did, so it's a slight improvement overall. So you still
> have my Ack.

It indeed is paranoid (which is why I didn't do so in v1), but Andrew
certainly has a point in saying that something so far unexplainable
going on makes it desirable to cover as many (however remotely)
potential causes as possible. (I still consider double delivery through
IO-APIC and PIC the most likely scenario, despite not having a
reasonably explanation on how the PIC mask bit could get cleared.)

Once we hopefully understand the hole situation, the code here
should likely be reverted to the v1 version (along with removing the
other debugging code).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 06:48:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 06:48:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUBYM-0005PN-2B; Tue, 15 May 2012 06:48:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUBYK-0005PF-KM
	for xen-devel@lists.xen.org; Tue, 15 May 2012 06:48:12 +0000
Received: from [193.109.254.147:4699] by server-3.bemta-14.messagelabs.com id
	95/8F-23274-B2CF1BF4; Tue, 15 May 2012 06:48:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337064490!9261519!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18731 invoked from network); 15 May 2012 06:48:11 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 06:48:11 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 07:48:10 +0100
Message-Id: <4FB218670200007800083A63@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 07:48:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Eddie Dong <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> From: Jan Beulich [mailto:JBeulich@suse.com]
>> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> >      default:
>> > -        if ( trap > TRAP_last_reserved )
>> > -        {
>> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
>> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>> > -        }
>> 
>> So this undoes Aravindh's earlier change, without replacement. I
>> don't think that's acceptable.
>> 
> 
> This is the first patch that just correct some instruction in hw exception 
> function, as function description above, int n (n > 32) is not delivered by 
> this function. 
> I'll write another patch of new function for int n handler.

In that case it would have been nice to indicate that you don't expect
this to be applied just yet (i.e. by marking the patch RFC).

>> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC */
>> 
>> Still using a hard-coded 1 here, the more that afaict you can't
>> distinguish CC and CD 03 here.
>> 
> 
> Just copied it from original code, how about this replacement:
> 
> +     __vmwrite(VM_ENTRY_INSTRUCTION_LEN, __vmread(VM_EXIT_INSTRUCTION_LEN));

That's okay as long as on all possible code paths arriving here
VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
not be the case (especially in the case of injection originating from
libxc).

>> Furthermore - is this really the only place needing adjustment after
>> the removal of the corresponding writes above?
>> 
> 
> Yes, I searched whole code, only this place need to do adjustment after 
> function changes.

Thanks, that's good to be sure of.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 06:48:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 06:48:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUBYM-0005PN-2B; Tue, 15 May 2012 06:48:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUBYK-0005PF-KM
	for xen-devel@lists.xen.org; Tue, 15 May 2012 06:48:12 +0000
Received: from [193.109.254.147:4699] by server-3.bemta-14.messagelabs.com id
	95/8F-23274-B2CF1BF4; Tue, 15 May 2012 06:48:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337064490!9261519!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18731 invoked from network); 15 May 2012 06:48:11 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 06:48:11 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 07:48:10 +0100
Message-Id: <4FB218670200007800083A63@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 07:48:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>,
	Eddie Dong <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> From: Jan Beulich [mailto:JBeulich@suse.com]
>> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> >      default:
>> > -        if ( trap > TRAP_last_reserved )
>> > -        {
>> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
>> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>> > -        }
>> 
>> So this undoes Aravindh's earlier change, without replacement. I
>> don't think that's acceptable.
>> 
> 
> This is the first patch that just correct some instruction in hw exception 
> function, as function description above, int n (n > 32) is not delivered by 
> this function. 
> I'll write another patch of new function for int n handler.

In that case it would have been nice to indicate that you don't expect
this to be applied just yet (i.e. by marking the patch RFC).

>> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC */
>> 
>> Still using a hard-coded 1 here, the more that afaict you can't
>> distinguish CC and CD 03 here.
>> 
> 
> Just copied it from original code, how about this replacement:
> 
> +     __vmwrite(VM_ENTRY_INSTRUCTION_LEN, __vmread(VM_EXIT_INSTRUCTION_LEN));

That's okay as long as on all possible code paths arriving here
VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
not be the case (especially in the case of injection originating from
libxc).

>> Furthermore - is this really the only place needing adjustment after
>> the removal of the corresponding writes above?
>> 
> 
> Yes, I searched whole code, only this place need to do adjustment after 
> function changes.

Thanks, that's good to be sure of.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 07:13:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 07:13:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUBw1-0006NH-N6; Tue, 15 May 2012 07:12:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUBw0-0006N9-0t
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 07:12:40 +0000
Received: from [85.158.143.35:20056] by server-3.bemta-4.messagelabs.com id
	C4/CA-05853-7E102BF4; Tue, 15 May 2012 07:12:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337065958!10501167!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11295 invoked from network); 15 May 2012 07:12:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 07:12:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,591,1330905600"; d="scan'208";a="12473519"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 07:12:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 08:12:37 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUBvw-0001or-UR;
	Tue, 15 May 2012 07:12:36 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUBvr-0001ps-C9;
	Tue, 15 May 2012 08:12:35 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12876-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 08:12:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12876 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12876/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10      fail pass in 12860
 test-amd64-i386-win           7 windows-install             fail pass in 12860
 test-i386-i386-xl-win         7 windows-install             fail pass in 12860
 test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12858
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12860 like 12858

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check      fail in 12860 never pass
 test-i386-i386-xl-win        13 guest-stop            fail in 12860 never pass

version targeted for testing:
 xen                  f8279258e3c9
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=f8279258e3c9
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable f8279258e3c9
+ branch=xen-unstable
+ revision=f8279258e3c9
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r f8279258e3c9 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 8 changesets with 53 changes to 53 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 07:13:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 07:13:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUBw1-0006NH-N6; Tue, 15 May 2012 07:12:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUBw0-0006N9-0t
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 07:12:40 +0000
Received: from [85.158.143.35:20056] by server-3.bemta-4.messagelabs.com id
	C4/CA-05853-7E102BF4; Tue, 15 May 2012 07:12:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337065958!10501167!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11295 invoked from network); 15 May 2012 07:12:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 07:12:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,591,1330905600"; d="scan'208";a="12473519"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 07:12:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 08:12:37 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUBvw-0001or-UR;
	Tue, 15 May 2012 07:12:36 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUBvr-0001ps-C9;
	Tue, 15 May 2012 08:12:35 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12876-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 08:12:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12876 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12876/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10      fail pass in 12860
 test-amd64-i386-win           7 windows-install             fail pass in 12860
 test-i386-i386-xl-win         7 windows-install             fail pass in 12860
 test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12858
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12860 like 12858

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win          16 leak-check/check      fail in 12860 never pass
 test-i386-i386-xl-win        13 guest-stop            fail in 12860 never pass

version targeted for testing:
 xen                  f8279258e3c9
baseline version:
 xen                  cd4dd23a831d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=f8279258e3c9
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable f8279258e3c9
+ branch=xen-unstable
+ revision=f8279258e3c9
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r f8279258e3c9 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 8 changesets with 53 changes to 53 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 07:23:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 07:23:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUC5e-0006dO-38; Tue, 15 May 2012 07:22:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SUC5c-0006dJ-6p
	for xen-devel@lists.xen.org; Tue, 15 May 2012 07:22:36 +0000
Received: from [193.109.254.147:41662] by server-8.bemta-14.messagelabs.com id
	97/30-23244-B3402BF4; Tue, 15 May 2012 07:22:35 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337066554!9354286!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24393 invoked from network); 15 May 2012 07:22:34 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 07:22:34 -0000
Received: by lahc1 with SMTP id c1so4538118lah.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 00:22:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=Hsa3wtFLWz/EeWh9KWwrUq+GE8tqidKEtJy/lYd10aQ=;
	b=fbgekAzaFO82tsxK3wVmqN7EjIA1tljupM9o8lRDw99TFAciVoOQu9MIV278Ht1gG2
	90UPiqqwhnwGiJ81icYMjsiOum7hm9uEQw1o9UFlgxfFBT6BXPlzoDMCbFxFKEU8sNWR
	tSVpJ5rBkyibDnAiY6DcFSYV3W2IphO0tgI4s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=Hsa3wtFLWz/EeWh9KWwrUq+GE8tqidKEtJy/lYd10aQ=;
	b=emdl1TUfuD12vuAqWGVMRpmx2elgCuqbBINESF5v59/hCgH/uh+5XRoTvGzcntGaVs
	7nCCryHxDTcQs2kGyw4PFp5YvOTF8ctDm9M+5mtmx617BEUg678w36VxJOb5R8gZUqsi
	w6Mmz9bDqvYKmVbBApgOM6rtp4RQBVn5hYqe6z3+N1WZjqD0wjMIveBdOg7QzpotI6Q8
	iscl9D/cbtbnHWb+96BRhEmjIzyc4jqwCd1ypNW1zJarRKgIx2mz4+g2bR5Ikib/eNke
	itHJ5HGTmH7CqRDLdCEA66YPMEc9xzAOJXvqaMJaFafzGfmfyWxtisCDw8SkpHfixweS
	4W4A==
MIME-Version: 1.0
Received: by 10.152.147.100 with SMTP id tj4mr11201643lab.39.1337066554110;
	Tue, 15 May 2012 00:22:34 -0700 (PDT)
Received: by 10.112.48.8 with HTTP; Tue, 15 May 2012 00:22:34 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <4FB218670200007800083A63@nat28.tlf.novell.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
Date: Tue, 15 May 2012 00:22:34 -0700
Message-ID: <CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Jan Beulich <JBeulich@suse.com>
X-Gm-Message-State: ALoCoQmDEQPF4zQTF5ESStunD3afT5Pvo/ENBSja/96AEZI+CI2RTjdh+WDmHD3rwbOu9fRzIFg/
Cc: Xudong Hao <xudong.hao@intel.com>, Eddie Dong <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> From: Jan Beulich [mailto:JBeulich@suse.com]
> >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> > =A0 =A0 =A0default:
> >> > - =A0 =A0 =A0 =A0if ( trap > TRAP_last_reserved )
> >> > - =A0 =A0 =A0 =A0{
> >> > - =A0 =A0 =A0 =A0 =A0 =A0type =3D X86_EVENTTYPE_SW_EXCEPTION;
> >> > - =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* =
int imm8 */
> >> > - =A0 =A0 =A0 =A0}
> >>
> >> So this undoes Aravindh's earlier change, without replacement. I
> >> don't think that's acceptable.
> >>
> >
> > This is the first patch that just correct some instruction in hw except=
ion
> > function, as function description above, int n (n > 32) is not delivere=
d by
> > this function.
> > I'll write another patch of new function for int n handler.
>
> In that case it would have been nice to indicate that you don't expect
> this to be applied just yet (i.e. by marking the patch RFC).
>
> >> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRUCT=
ION_LEN, 1); /* int3, CC */
> >>
> >> Still using a hard-coded 1 here, the more that afaict you can't
> >> distinguish CC and CD 03 here.
> >>
> >
> > Just copied it from original code, how about this replacement:
> >
> > + =A0 =A0 __vmwrite(VM_ENTRY_INSTRUCTION_LEN, __vmread(VM_EXIT_INSTRUCT=
ION_LEN));
>
> That's okay as long as on all possible code paths arriving here
> VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
> not be the case (especially in the case of injection originating from
> libxc).

Your suspicion is warranted. IIRC this did not work for the libxc case
injecting software interrupts. That is why I hard coded the
instruction length. Maybe the instruction length can be made caller
specific?

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 07:23:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 07:23:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUC5e-0006dO-38; Tue, 15 May 2012 07:22:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SUC5c-0006dJ-6p
	for xen-devel@lists.xen.org; Tue, 15 May 2012 07:22:36 +0000
Received: from [193.109.254.147:41662] by server-8.bemta-14.messagelabs.com id
	97/30-23244-B3402BF4; Tue, 15 May 2012 07:22:35 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337066554!9354286!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24393 invoked from network); 15 May 2012 07:22:34 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 07:22:34 -0000
Received: by lahc1 with SMTP id c1so4538118lah.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 00:22:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=Hsa3wtFLWz/EeWh9KWwrUq+GE8tqidKEtJy/lYd10aQ=;
	b=fbgekAzaFO82tsxK3wVmqN7EjIA1tljupM9o8lRDw99TFAciVoOQu9MIV278Ht1gG2
	90UPiqqwhnwGiJ81icYMjsiOum7hm9uEQw1o9UFlgxfFBT6BXPlzoDMCbFxFKEU8sNWR
	tSVpJ5rBkyibDnAiY6DcFSYV3W2IphO0tgI4s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=Hsa3wtFLWz/EeWh9KWwrUq+GE8tqidKEtJy/lYd10aQ=;
	b=emdl1TUfuD12vuAqWGVMRpmx2elgCuqbBINESF5v59/hCgH/uh+5XRoTvGzcntGaVs
	7nCCryHxDTcQs2kGyw4PFp5YvOTF8ctDm9M+5mtmx617BEUg678w36VxJOb5R8gZUqsi
	w6Mmz9bDqvYKmVbBApgOM6rtp4RQBVn5hYqe6z3+N1WZjqD0wjMIveBdOg7QzpotI6Q8
	iscl9D/cbtbnHWb+96BRhEmjIzyc4jqwCd1ypNW1zJarRKgIx2mz4+g2bR5Ikib/eNke
	itHJ5HGTmH7CqRDLdCEA66YPMEc9xzAOJXvqaMJaFafzGfmfyWxtisCDw8SkpHfixweS
	4W4A==
MIME-Version: 1.0
Received: by 10.152.147.100 with SMTP id tj4mr11201643lab.39.1337066554110;
	Tue, 15 May 2012 00:22:34 -0700 (PDT)
Received: by 10.112.48.8 with HTTP; Tue, 15 May 2012 00:22:34 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <4FB218670200007800083A63@nat28.tlf.novell.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
Date: Tue, 15 May 2012 00:22:34 -0700
Message-ID: <CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Jan Beulich <JBeulich@suse.com>
X-Gm-Message-State: ALoCoQmDEQPF4zQTF5ESStunD3afT5Pvo/ENBSja/96AEZI+CI2RTjdh+WDmHD3rwbOu9fRzIFg/
Cc: Xudong Hao <xudong.hao@intel.com>, Eddie Dong <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> From: Jan Beulich [mailto:JBeulich@suse.com]
> >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >> > =A0 =A0 =A0default:
> >> > - =A0 =A0 =A0 =A0if ( trap > TRAP_last_reserved )
> >> > - =A0 =A0 =A0 =A0{
> >> > - =A0 =A0 =A0 =A0 =A0 =A0type =3D X86_EVENTTYPE_SW_EXCEPTION;
> >> > - =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* =
int imm8 */
> >> > - =A0 =A0 =A0 =A0}
> >>
> >> So this undoes Aravindh's earlier change, without replacement. I
> >> don't think that's acceptable.
> >>
> >
> > This is the first patch that just correct some instruction in hw except=
ion
> > function, as function description above, int n (n > 32) is not delivere=
d by
> > this function.
> > I'll write another patch of new function for int n handler.
>
> In that case it would have been nice to indicate that you don't expect
> this to be applied just yet (i.e. by marking the patch RFC).
>
> >> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRUCT=
ION_LEN, 1); /* int3, CC */
> >>
> >> Still using a hard-coded 1 here, the more that afaict you can't
> >> distinguish CC and CD 03 here.
> >>
> >
> > Just copied it from original code, how about this replacement:
> >
> > + =A0 =A0 __vmwrite(VM_ENTRY_INSTRUCTION_LEN, __vmread(VM_EXIT_INSTRUCT=
ION_LEN));
>
> That's okay as long as on all possible code paths arriving here
> VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
> not be the case (especially in the case of injection originating from
> libxc).

Your suspicion is warranted. IIRC this did not work for the libxc case
injecting software interrupts. That is why I hard coded the
instruction length. Maybe the instruction length can be made caller
specific?

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 07:32:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 07:32:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCF9-0006zj-VG; Tue, 15 May 2012 07:32:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUCF8-0006zZ-N5
	for xen-devel@lists.xen.org; Tue, 15 May 2012 07:32:26 +0000
Received: from [85.158.139.83:41373] by server-8.bemta-5.messagelabs.com id
	46/F9-26964-98602BF4; Tue, 15 May 2012 07:32:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337067145!27889027!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12073 invoked from network); 15 May 2012 07:32:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 07:32:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 08:32:24 +0100
Message-Id: <4FB222C50200007800083A91@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 08:32:53 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Aravindh Puthiyaparambil" <aravindh@virtuata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
	<CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
In-Reply-To: <CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Eddie Dong <eddie.dong@intel.com>, Xudong Hao <xudong.hao@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 09:22, Aravindh Puthiyaparambil <aravindh@virtuata.com> wrote:
> On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>
>> >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> >> From: Jan Beulich [mailto:JBeulich@suse.com]
>> >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> >> >      default:
>> >> > -        if ( trap > TRAP_last_reserved )
>> >> > -        {
>> >> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
>> >> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>> >> > -        }
>> >>
>> >> So this undoes Aravindh's earlier change, without replacement. I
>> >> don't think that's acceptable.
>> >>
>> >
>> > This is the first patch that just correct some instruction in hw exception
>> > function, as function description above, int n (n > 32) is not delivered by
>> > this function.
>> > I'll write another patch of new function for int n handler.
>>
>> In that case it would have been nice to indicate that you don't expect
>> this to be applied just yet (i.e. by marking the patch RFC).
>>
>> >> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC 
> */
>> >>
>> >> Still using a hard-coded 1 here, the more that afaict you can't
>> >> distinguish CC and CD 03 here.
>> >>
>> >
>> > Just copied it from original code, how about this replacement:
>> >
>> > +     __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 
> __vmread(VM_EXIT_INSTRUCTION_LEN));
>>
>> That's okay as long as on all possible code paths arriving here
>> VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
>> not be the case (especially in the case of injection originating from
>> libxc).
> 
> Your suspicion is warranted. IIRC this did not work for the libxc case
> injecting software interrupts. That is why I hard coded the
> instruction length. Maybe the instruction length can be made caller
> specific?

Yes, this is what I think is needed. It should probably be an input,
with some special value (negative? zero?) indicating to use the
__vmread() as above (so that instruction emulation callers don't
need to care).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 07:32:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 07:32:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCF9-0006zj-VG; Tue, 15 May 2012 07:32:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUCF8-0006zZ-N5
	for xen-devel@lists.xen.org; Tue, 15 May 2012 07:32:26 +0000
Received: from [85.158.139.83:41373] by server-8.bemta-5.messagelabs.com id
	46/F9-26964-98602BF4; Tue, 15 May 2012 07:32:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337067145!27889027!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12073 invoked from network); 15 May 2012 07:32:25 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 07:32:25 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 08:32:24 +0100
Message-Id: <4FB222C50200007800083A91@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 08:32:53 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Aravindh Puthiyaparambil" <aravindh@virtuata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
	<CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
In-Reply-To: <CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Eddie Dong <eddie.dong@intel.com>, Xudong Hao <xudong.hao@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 09:22, Aravindh Puthiyaparambil <aravindh@virtuata.com> wrote:
> On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>
>> >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> >> From: Jan Beulich [mailto:JBeulich@suse.com]
>> >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> >> >      default:
>> >> > -        if ( trap > TRAP_last_reserved )
>> >> > -        {
>> >> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
>> >> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
>> >> > -        }
>> >>
>> >> So this undoes Aravindh's earlier change, without replacement. I
>> >> don't think that's acceptable.
>> >>
>> >
>> > This is the first patch that just correct some instruction in hw exception
>> > function, as function description above, int n (n > 32) is not delivered by
>> > this function.
>> > I'll write another patch of new function for int n handler.
>>
>> In that case it would have been nice to indicate that you don't expect
>> this to be applied just yet (i.e. by marking the patch RFC).
>>
>> >> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3, CC 
> */
>> >>
>> >> Still using a hard-coded 1 here, the more that afaict you can't
>> >> distinguish CC and CD 03 here.
>> >>
>> >
>> > Just copied it from original code, how about this replacement:
>> >
>> > +     __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 
> __vmread(VM_EXIT_INSTRUCTION_LEN));
>>
>> That's okay as long as on all possible code paths arriving here
>> VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
>> not be the case (especially in the case of injection originating from
>> libxc).
> 
> Your suspicion is warranted. IIRC this did not work for the libxc case
> injecting software interrupts. That is why I hard coded the
> instruction length. Maybe the instruction length can be made caller
> specific?

Yes, this is what I think is needed. It should probably be an input,
with some special value (negative? zero?) indicating to use the
__vmread() as above (so that instruction emulation callers don't
need to care).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:04:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:04:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCjK-0007pN-Aa; Tue, 15 May 2012 08:03:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SUCjJ-0007pI-2q
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:03:37 +0000
Received: from [85.158.143.99:62732] by server-1.bemta-4.messagelabs.com id
	75/97-20925-8DD02BF4; Tue, 15 May 2012 08:03:36 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337069014!24670059!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22868 invoked from network); 15 May 2012 08:03:35 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:03:35 -0000
Received: by qaeb19 with SMTP id b19so4026260qae.11
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 01:03:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=PLB4pt1Wh6lI+Iqyj9jVeowZmiNMo8yjQ3nbLwWJG0k=;
	b=A5lRSiVV4jVXmtDf0xxSFkEVjnwecuDFg26f0sTfnEw97E8gH0lcoyb/6fqErV7Khb
	mNm1aQDKtyibBCgDRG71Lk+nJHtn7Rxh7ppueyf8ZPVzJXD+ydwqXQM0OZo0HHl82ezh
	oGWW6LST3klhKbGe7G/szXfH9x1jJiRoJInywrZMsecGo2tEBxcJydA6sWDdDXi+jXgT
	pzr/URBEDV/Y/i3GryEPwPsKgN5DzX1ZkvdQN5UIo/NEm7HubkCfeJcaqA8d5Xd3/qei
	m1PJVbdwlglsbuj9DEi6+3lnm10NwAhLVo+YP+UL/+Px5O1x5GfBYD6t1/ibePtBLrnO
	0rHA==
MIME-Version: 1.0
Received: by 10.224.219.144 with SMTP id hu16mr1423602qab.97.1337069013538;
	Tue, 15 May 2012 01:03:33 -0700 (PDT)
Received: by 10.229.159.200 with HTTP; Tue, 15 May 2012 01:03:33 -0700 (PDT)
In-Reply-To: <4FB2173C0200007800083A5D@nat28.tlf.novell.com>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
	<4FB2173C0200007800083A5D@nat28.tlf.novell.com>
Date: Tue, 15 May 2012 01:03:33 -0700
Message-ID: <CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: andrew.cooper3@citrix.com, Keir Fraser <keir@xen.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 11:43 PM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
> > On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
> >
> >>> Looks sensible, and I suppose good to have for 4.2.
> >>>
> >>> Acked-by: Keir Fraser <keir@xen.org>
> >>
> >> Please take a look at the v2 I just sent, to accommodate a suggestion
> >> from Andrew Cooper.
> >
> > I think it's very paranoid, since legacy vectors never get programmed
> > into
> > an IOAPIC RTE and should never need EOIing at the local APIC. But you do
> > at
> > least printk the case that we see the ISR bit set, and you printk the
> > vector
> > number, so really this v2 patch gives us more information about this
> > bogus
> > situation than v1 did, so it's a slight improvement overall. So you
> > still
> > have my Ack.
>
> It indeed is paranoid (which is why I didn't do so in v1), but Andrew
> certainly has a point in saying that something so far unexplainable
> going on makes it desirable to cover as many (however remotely)
> potential causes as possible. (I still consider double delivery through
> IO-APIC and PIC the most likely scenario, despite not having a
> reasonably explanation on how the PIC mask bit could get cleared.)
>
> Once we hopefully understand the hole situation, the code here
> should likely be reverted to the v1 version (along with removing the
> other debugging code).

Once this patch goes in, do I need to still run with the patch Andrew
provided in http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html
for the debugging code?

Thanks,
AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:04:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:04:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCjK-0007pN-Aa; Tue, 15 May 2012 08:03:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <apxeng@gmail.com>) id 1SUCjJ-0007pI-2q
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:03:37 +0000
Received: from [85.158.143.99:62732] by server-1.bemta-4.messagelabs.com id
	75/97-20925-8DD02BF4; Tue, 15 May 2012 08:03:36 +0000
X-Env-Sender: apxeng@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337069014!24670059!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22868 invoked from network); 15 May 2012 08:03:35 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:03:35 -0000
Received: by qaeb19 with SMTP id b19so4026260qae.11
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 01:03:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=PLB4pt1Wh6lI+Iqyj9jVeowZmiNMo8yjQ3nbLwWJG0k=;
	b=A5lRSiVV4jVXmtDf0xxSFkEVjnwecuDFg26f0sTfnEw97E8gH0lcoyb/6fqErV7Khb
	mNm1aQDKtyibBCgDRG71Lk+nJHtn7Rxh7ppueyf8ZPVzJXD+ydwqXQM0OZo0HHl82ezh
	oGWW6LST3klhKbGe7G/szXfH9x1jJiRoJInywrZMsecGo2tEBxcJydA6sWDdDXi+jXgT
	pzr/URBEDV/Y/i3GryEPwPsKgN5DzX1ZkvdQN5UIo/NEm7HubkCfeJcaqA8d5Xd3/qei
	m1PJVbdwlglsbuj9DEi6+3lnm10NwAhLVo+YP+UL/+Px5O1x5GfBYD6t1/ibePtBLrnO
	0rHA==
MIME-Version: 1.0
Received: by 10.224.219.144 with SMTP id hu16mr1423602qab.97.1337069013538;
	Tue, 15 May 2012 01:03:33 -0700 (PDT)
Received: by 10.229.159.200 with HTTP; Tue, 15 May 2012 01:03:33 -0700 (PDT)
In-Reply-To: <4FB2173C0200007800083A5D@nat28.tlf.novell.com>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
	<4FB2173C0200007800083A5D@nat28.tlf.novell.com>
Date: Tue, 15 May 2012 01:03:33 -0700
Message-ID: <CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
From: AP <apxeng@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: andrew.cooper3@citrix.com, Keir Fraser <keir@xen.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 11:43 PM, Jan Beulich <JBeulich@suse.com> wrote:
>
> >>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
> > On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
> >
> >>> Looks sensible, and I suppose good to have for 4.2.
> >>>
> >>> Acked-by: Keir Fraser <keir@xen.org>
> >>
> >> Please take a look at the v2 I just sent, to accommodate a suggestion
> >> from Andrew Cooper.
> >
> > I think it's very paranoid, since legacy vectors never get programmed
> > into
> > an IOAPIC RTE and should never need EOIing at the local APIC. But you do
> > at
> > least printk the case that we see the ISR bit set, and you printk the
> > vector
> > number, so really this v2 patch gives us more information about this
> > bogus
> > situation than v1 did, so it's a slight improvement overall. So you
> > still
> > have my Ack.
>
> It indeed is paranoid (which is why I didn't do so in v1), but Andrew
> certainly has a point in saying that something so far unexplainable
> going on makes it desirable to cover as many (however remotely)
> potential causes as possible. (I still consider double delivery through
> IO-APIC and PIC the most likely scenario, despite not having a
> reasonably explanation on how the PIC mask bit could get cleared.)
>
> Once we hopefully understand the hole situation, the code here
> should likely be reverted to the v1 version (along with removing the
> other debugging code).

Once this patch goes in, do I need to still run with the patch Andrew
provided in http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html
for the debugging code?

Thanks,
AP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:16:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:16:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCut-00081X-RG; Tue, 15 May 2012 08:15:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SUCur-00081S-N3
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:15:33 +0000
Received: from [85.158.143.35:4735] by server-2.bemta-4.messagelabs.com id
	B4/8F-17550-5A012BF4; Tue, 15 May 2012 08:15:33 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337069730!10514409!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM0NzU5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10232 invoked from network); 15 May 2012 08:15:31 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-21.messagelabs.com with SMTP;
	15 May 2012 08:15:31 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 15 May 2012 01:15:29 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="100202609"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 15 May 2012 01:15:27 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 15 May 2012 01:15:25 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 15 May 2012 16:14:11 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Thread-Topic: [PATCH v3] Fix the mistake of exception execution
Thread-Index: Ac0xva6QCiV4cu6aQjqgC+rmiVimu///geOA//5Bn1CAAwiJgIAACXkA//93LaA=
Date: Tue, 15 May 2012 08:14:11 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC41A1@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
	<CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
In-Reply-To: <CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jan Beulich <JBeulich@suse.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Aravindh Puthiyaparambil [mailto:aravindh@virtuata.com]
> Sent: Tuesday, May 15, 2012 3:23 PM
> To: Jan Beulich
> Cc: Hao, Xudong; Keir Fraser(keir.xen@gmail.com); Dong, Eddie; Nakajima, =
Jun;
> Zhang, Xiantao; xen-devel (xen-devel@lists.xen.org)
> Subject: Re: [PATCH v3] Fix the mistake of exception execution
> =

> On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
> >
> > >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > >> From: Jan Beulich [mailto:JBeulich@suse.com]
> > >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com>
> wrote:
> > >> > =A0 =A0 =A0default:
> > >> > - =A0 =A0 =A0 =A0if ( trap > TRAP_last_reserved )
> > >> > - =A0 =A0 =A0 =A0{
> > >> > - =A0 =A0 =A0 =A0 =A0 =A0type =3D X86_EVENTTYPE_SW_EXCEPTION;
> > >> > - =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /=
* int
> imm8 */
> > >> > - =A0 =A0 =A0 =A0}
> > >>
> > >> So this undoes Aravindh's earlier change, without replacement. I
> > >> don't think that's acceptable.
> > >>
> > >
> > > This is the first patch that just correct some instruction in hw exce=
ption
> > > function, as function description above, int n (n > 32) is not delive=
red by
> > > this function.
> > > I'll write another patch of new function for int n handler.
> >
> > In that case it would have been nice to indicate that you don't expect
> > this to be applied just yet (i.e. by marking the patch RFC).
> >
> > >> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRU=
CTION_LEN,
> 1); /* int3, CC */
> > >>
> > >> Still using a hard-coded 1 here, the more that afaict you can't
> > >> distinguish CC and CD 03 here.
> > >>
> > >
> > > Just copied it from original code, how about this replacement:
> > >
> > > + =A0 =A0 __vmwrite(VM_ENTRY_INSTRUCTION_LEN,
> __vmread(VM_EXIT_INSTRUCTION_LEN));
> >
> > That's okay as long as on all possible code paths arriving here
> > VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
> > not be the case (especially in the case of injection originating from
> > libxc).
> =

> Your suspicion is warranted. IIRC this did not work for the libxc case
> injecting software interrupts. That is why I hard coded the
> instruction length. Maybe the instruction length can be made caller
> specific?
> =


What's traps did you inject? This patch has not handle the software interru=
pts, but hardware exceptions and #BP, #OF software exceptions.

> Thanks,
> Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:16:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:16:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCut-00081X-RG; Tue, 15 May 2012 08:15:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SUCur-00081S-N3
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:15:33 +0000
Received: from [85.158.143.35:4735] by server-2.bemta-4.messagelabs.com id
	B4/8F-17550-5A012BF4; Tue, 15 May 2012 08:15:33 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337069730!10514409!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM0NzU5\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10232 invoked from network); 15 May 2012 08:15:31 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-21.messagelabs.com with SMTP;
	15 May 2012 08:15:31 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 15 May 2012 01:15:29 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="100202609"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 15 May 2012 01:15:27 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 15 May 2012 01:15:25 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 15 May 2012 16:14:11 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Thread-Topic: [PATCH v3] Fix the mistake of exception execution
Thread-Index: Ac0xva6QCiV4cu6aQjqgC+rmiVimu///geOA//5Bn1CAAwiJgIAACXkA//93LaA=
Date: Tue, 15 May 2012 08:14:11 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDC41A1@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
	<CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
In-Reply-To: <CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jan Beulich <JBeulich@suse.com>, "Zhang, 
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Aravindh Puthiyaparambil [mailto:aravindh@virtuata.com]
> Sent: Tuesday, May 15, 2012 3:23 PM
> To: Jan Beulich
> Cc: Hao, Xudong; Keir Fraser(keir.xen@gmail.com); Dong, Eddie; Nakajima, =
Jun;
> Zhang, Xiantao; xen-devel (xen-devel@lists.xen.org)
> Subject: Re: [PATCH v3] Fix the mistake of exception execution
> =

> On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
> >
> > >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > >> From: Jan Beulich [mailto:JBeulich@suse.com]
> > >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com>
> wrote:
> > >> > =A0 =A0 =A0default:
> > >> > - =A0 =A0 =A0 =A0if ( trap > TRAP_last_reserved )
> > >> > - =A0 =A0 =A0 =A0{
> > >> > - =A0 =A0 =A0 =A0 =A0 =A0type =3D X86_EVENTTYPE_SW_EXCEPTION;
> > >> > - =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /=
* int
> imm8 */
> > >> > - =A0 =A0 =A0 =A0}
> > >>
> > >> So this undoes Aravindh's earlier change, without replacement. I
> > >> don't think that's acceptable.
> > >>
> > >
> > > This is the first patch that just correct some instruction in hw exce=
ption
> > > function, as function description above, int n (n > 32) is not delive=
red by
> > > this function.
> > > I'll write another patch of new function for int n handler.
> >
> > In that case it would have been nice to indicate that you don't expect
> > this to be applied just yet (i.e. by marking the patch RFC).
> >
> > >> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_INSTRU=
CTION_LEN,
> 1); /* int3, CC */
> > >>
> > >> Still using a hard-coded 1 here, the more that afaict you can't
> > >> distinguish CC and CD 03 here.
> > >>
> > >
> > > Just copied it from original code, how about this replacement:
> > >
> > > + =A0 =A0 __vmwrite(VM_ENTRY_INSTRUCTION_LEN,
> __vmread(VM_EXIT_INSTRUCTION_LEN));
> >
> > That's okay as long as on all possible code paths arriving here
> > VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
> > not be the case (especially in the case of injection originating from
> > libxc).
> =

> Your suspicion is warranted. IIRC this did not work for the libxc case
> injecting software interrupts. That is why I hard coded the
> instruction length. Maybe the instruction length can be made caller
> specific?
> =


What's traps did you inject? This patch has not handle the software interru=
pts, but hardware exceptions and #BP, #OF software exceptions.

> Thanks,
> Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCyz-00088D-Gl; Tue, 15 May 2012 08:19:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SUCyy-00087y-2D
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:19:48 +0000
Received: from [85.158.138.51:33759] by server-6.bemta-3.messagelabs.com id
	A3/DB-05145-3A112BF4; Tue, 15 May 2012 08:19:47 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337069983!27210393!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.4 required=7.0 tests=BODY_DONG,BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10281 invoked from network); 15 May 2012 08:19:44 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:19:44 -0000
Received: by lbok6 with SMTP id k6so4892161lbo.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 01:19:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=u8OWcXkCyrfvn6egRp9jhwjQuCy28rGz+FhR5IHg2oY=;
	b=tCZu234LL9t7wMbGktbCk09ho4yUWB0Tc14dDZ3KNEjhXnOM+7MIy4DjE+rCUvl/M3
	mS7S3I1LOoZdcRSABTJF95x5nBycwNGTeOmVsdzHfjq2YtbUZ7XLWf6aNanLS5zdgeTX
	ZT9owEeYA3WoQNcufLquZtLSiwVPW+Hu7VMNw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=u8OWcXkCyrfvn6egRp9jhwjQuCy28rGz+FhR5IHg2oY=;
	b=Cgvwn8FGRL7jfC6JoVcofOq72djM3q5LCKeRuePNhlnqE5smLhAGFARKgK/ggPqvb9
	Q8aq+sfGww77k3c6ewGTDCxZc752q0v8MRPgqRl9QP2mXeGYoOnJnAoUju2HHAwru/OT
	yjLhbgdyNMyoNrw+a/yj/LFQg4hoXn1JdAaIgouy5iteGItD2zEVUeNMfWjm41dg35Mv
	AozfdNuvSmLv3LI8zapemMVhm8fAA8X9RSfZ+aiqAtorjgQ7K9/beYXC/9XP1DC8k5qN
	95DJ71eJ4DzyL11cIz9f0PTv6XENfrTZjqr5BAcE4ERlZo5Z7GMrEmWsV1jzGR1nBmOT
	e6dQ==
MIME-Version: 1.0
Received: by 10.112.8.197 with SMTP id t5mr5063521lba.46.1337069983325; Tue,
	15 May 2012 01:19:43 -0700 (PDT)
Received: by 10.112.48.8 with HTTP; Tue, 15 May 2012 01:19:43 -0700 (PDT)
X-Originating-IP: [174.253.243.151]
Received: by 10.112.48.8 with HTTP; Tue, 15 May 2012 01:19:43 -0700 (PDT)
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC41A1@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
	<CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC41A1@SHSMSX102.ccr.corp.intel.com>
Date: Tue, 15 May 2012 01:19:43 -0700
Message-ID: <CAB10MZCxy21HEG3dZb9_udqCAo6XTWcqwfm0-yeY4y4c5hjaqA@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
X-Gm-Message-State: ALoCoQldPI0SKxxzH6j1M6uP9Y5BaRhCZZKI4FZypALeHV944payI8EuE7uO7yzrDFcmhEO+PnM2
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jan Beulich <JBeulich@suse.com>, "Zhang, Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5147208859588423856=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5147208859588423856==
Content-Type: multipart/alternative; boundary=e0cb4efe2af2655eaa04c00eddba

--e0cb4efe2af2655eaa04c00eddba
Content-Type: text/plain; charset=ISO-8859-1

On May 15, 2012 1:15 AM, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>
> > -----Original Message-----
> > From: Aravindh Puthiyaparambil [mailto:aravindh@virtuata.com]
> > Sent: Tuesday, May 15, 2012 3:23 PM
> > To: Jan Beulich
> > Cc: Hao, Xudong; Keir Fraser(keir.xen@gmail.com); Dong, Eddie;
Nakajima, Jun;
> > Zhang, Xiantao; xen-devel (xen-devel@lists.xen.org)
> > Subject: Re: [PATCH v3] Fix the mistake of exception execution
> >
> > On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
> > >
> > > >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > > >> From: Jan Beulich [mailto:JBeulich@suse.com]
> > > >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com>
> > wrote:
> > > >> >      default:
> > > >> > -        if ( trap > TRAP_last_reserved )
> > > >> > -        {
> > > >> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > > >> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int
> > imm8 */
> > > >> > -        }
> > > >>
> > > >> So this undoes Aravindh's earlier change, without replacement. I
> > > >> don't think that's acceptable.
> > > >>
> > > >
> > > > This is the first patch that just correct some instruction in hw
exception
> > > > function, as function description above, int n (n > 32) is not
delivered by
> > > > this function.
> > > > I'll write another patch of new function for int n handler.
> > >
> > > In that case it would have been nice to indicate that you don't expect
> > > this to be applied just yet (i.e. by marking the patch RFC).
> > >
> > > >> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN,
> > 1); /* int3, CC */
> > > >>
> > > >> Still using a hard-coded 1 here, the more that afaict you can't
> > > >> distinguish CC and CD 03 here.
> > > >>
> > > >
> > > > Just copied it from original code, how about this replacement:
> > > >
> > > > +     __vmwrite(VM_ENTRY_INSTRUCTION_LEN,
> > __vmread(VM_EXIT_INSTRUCTION_LEN));
> > >
> > > That's okay as long as on all possible code paths arriving here
> > > VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
> > > not be the case (especially in the case of injection originating from
> > > libxc).
> >
> > Your suspicion is warranted. IIRC this did not work for the libxc case
> > injecting software interrupts. That is why I hard coded the
> > instruction length. Maybe the instruction length can be made caller
> > specific?
> >
>
> What's traps did you inject? This patch has not handle the software
interrupts, but hardware exceptions and #BP, #OF software exceptions.
>

The function handles software interrupts though marked as software
exception. Incorrect it might be but it works. Your patch removes that code.

Thanks,
Aravindh

--e0cb4efe2af2655eaa04c00eddba
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<p><br>
On May 15, 2012 1:15 AM, &quot;Hao, Xudong&quot; &lt;<a href=3D"mailto:xudo=
ng.hao@intel.com">xudong.hao@intel.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; -----Original Message-----<br>
&gt; &gt; From: Aravindh Puthiyaparambil [mailto:<a href=3D"mailto:aravindh=
@virtuata.com">aravindh@virtuata.com</a>]<br>
&gt; &gt; Sent: Tuesday, May 15, 2012 3:23 PM<br>
&gt; &gt; To: Jan Beulich<br>
&gt; &gt; Cc: Hao, Xudong; Keir Fraser(<a href=3D"mailto:keir.xen@gmail.com=
">keir.xen@gmail.com</a>); Dong, Eddie; Nakajima, Jun;<br>
&gt; &gt; Zhang, Xiantao; xen-devel (<a href=3D"mailto:xen-devel@lists.xen.=
org">xen-devel@lists.xen.org</a>)<br>
&gt; &gt; Subject: Re: [PATCH v3] Fix the mistake of exception execution<br=
>
&gt; &gt;<br>
&gt; &gt; On Mon, May 14, 2012 at 11:48 PM, Jan Beulich &lt;<a href=3D"mail=
to:JBeulich@suse.com">JBeulich@suse.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt;&gt; On 15.05.12 at 07:59, &quot;Hao, Xudong&quot; &=
lt;<a href=3D"mailto:xudong.hao@intel.com">xudong.hao@intel.com</a>&gt; wro=
te:<br>
&gt; &gt; &gt; &gt;&gt; From: Jan Beulich [mailto:<a href=3D"mailto:JBeulic=
h@suse.com">JBeulich@suse.com</a>]<br>
&gt; &gt; &gt; &gt;&gt; &gt;&gt;&gt; On 14.05.12 at 12:41, &quot;Hao, Xudon=
g&quot; &lt;<a href=3D"mailto:xudong.hao@intel.com">xudong.hao@intel.com</a=
>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt;&gt; &gt; =A0 =A0 =A0default:<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0if ( trap &gt; TRAP_last_rese=
rved )<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0{<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0 =A0 =A0type =3D X86_EVENTTYP=
E_SW_EXCEPTION;<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_IN=
STRUCTION_LEN, 2); /* int<br>
&gt; &gt; imm8 */<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0}<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; So this undoes Aravindh&#39;s earlier change, witho=
ut replacement. I<br>
&gt; &gt; &gt; &gt;&gt; don&#39;t think that&#39;s acceptable.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; This is the first patch that just correct some instruct=
ion in hw exception<br>
&gt; &gt; &gt; &gt; function, as function description above, int n (n &gt; =
32) is not delivered by<br>
&gt; &gt; &gt; &gt; this function.<br>
&gt; &gt; &gt; &gt; I&#39;ll write another patch of new function for int n =
handler.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; In that case it would have been nice to indicate that you do=
n&#39;t expect<br>
&gt; &gt; &gt; this to be applied just yet (i.e. by marking the patch RFC).=
<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0__vmw=
rite(VM_ENTRY_INSTRUCTION_LEN,<br>
&gt; &gt; 1); /* int3, CC */<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; Still using a hard-coded 1 here, the more that afai=
ct you can&#39;t<br>
&gt; &gt; &gt; &gt;&gt; distinguish CC and CD 03 here.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Just copied it from original code, how about this repla=
cement:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; + =A0 =A0 __vmwrite(VM_ENTRY_INSTRUCTION_LEN,<br>
&gt; &gt; __vmread(VM_EXIT_INSTRUCTION_LEN));<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; That&#39;s okay as long as on all possible code paths arrivi=
ng here<br>
&gt; &gt; &gt; VM_EXIT_INSTRUCTION_LEN is actually valid. I&#39;m suspiciou=
s this might<br>
&gt; &gt; &gt; not be the case (especially in the case of injection origina=
ting from<br>
&gt; &gt; &gt; libxc).<br>
&gt; &gt;<br>
&gt; &gt; Your suspicion is warranted. IIRC this did not work for the libxc=
 case<br>
&gt; &gt; injecting software interrupts. That is why I hard coded the<br>
&gt; &gt; instruction length. Maybe the instruction length can be made call=
er<br>
&gt; &gt; specific?<br>
&gt; &gt;<br>
&gt;<br>
&gt; What&#39;s traps did you inject? This patch has not handle the softwar=
e interrupts, but hardware exceptions and #BP, #OF software exceptions.<br>
&gt;</p>
<p>The function handles software interrupts though marked as software excep=
tion. Incorrect it might be but it works. Your patch removes that code.</p>
<p>Thanks,<br>
Aravindh<br>
</p>

--e0cb4efe2af2655eaa04c00eddba--


--===============5147208859588423856==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5147208859588423856==--


From xen-devel-bounces@lists.xen.org Tue May 15 08:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUCyz-00088D-Gl; Tue, 15 May 2012 08:19:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SUCyy-00087y-2D
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:19:48 +0000
Received: from [85.158.138.51:33759] by server-6.bemta-3.messagelabs.com id
	A3/DB-05145-3A112BF4; Tue, 15 May 2012 08:19:47 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337069983!27210393!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.4 required=7.0 tests=BODY_DONG,BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10281 invoked from network); 15 May 2012 08:19:44 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:19:44 -0000
Received: by lbok6 with SMTP id k6so4892161lbo.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 01:19:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=u8OWcXkCyrfvn6egRp9jhwjQuCy28rGz+FhR5IHg2oY=;
	b=tCZu234LL9t7wMbGktbCk09ho4yUWB0Tc14dDZ3KNEjhXnOM+7MIy4DjE+rCUvl/M3
	mS7S3I1LOoZdcRSABTJF95x5nBycwNGTeOmVsdzHfjq2YtbUZ7XLWf6aNanLS5zdgeTX
	ZT9owEeYA3WoQNcufLquZtLSiwVPW+Hu7VMNw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=u8OWcXkCyrfvn6egRp9jhwjQuCy28rGz+FhR5IHg2oY=;
	b=Cgvwn8FGRL7jfC6JoVcofOq72djM3q5LCKeRuePNhlnqE5smLhAGFARKgK/ggPqvb9
	Q8aq+sfGww77k3c6ewGTDCxZc752q0v8MRPgqRl9QP2mXeGYoOnJnAoUju2HHAwru/OT
	yjLhbgdyNMyoNrw+a/yj/LFQg4hoXn1JdAaIgouy5iteGItD2zEVUeNMfWjm41dg35Mv
	AozfdNuvSmLv3LI8zapemMVhm8fAA8X9RSfZ+aiqAtorjgQ7K9/beYXC/9XP1DC8k5qN
	95DJ71eJ4DzyL11cIz9f0PTv6XENfrTZjqr5BAcE4ERlZo5Z7GMrEmWsV1jzGR1nBmOT
	e6dQ==
MIME-Version: 1.0
Received: by 10.112.8.197 with SMTP id t5mr5063521lba.46.1337069983325; Tue,
	15 May 2012 01:19:43 -0700 (PDT)
Received: by 10.112.48.8 with HTTP; Tue, 15 May 2012 01:19:43 -0700 (PDT)
X-Originating-IP: [174.253.243.151]
Received: by 10.112.48.8 with HTTP; Tue, 15 May 2012 01:19:43 -0700 (PDT)
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC41A1@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDC35E2@SHSMSX102.ccr.corp.intel.com>
	<4FB1037302000078000836C8@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC40C0@SHSMSX102.ccr.corp.intel.com>
	<4FB218670200007800083A63@nat28.tlf.novell.com>
	<CAB10MZC2o9T7q1CGodfi+k_PaXoDA0r_-t0MfiBbAs6GGbEB9A@mail.gmail.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC41A1@SHSMSX102.ccr.corp.intel.com>
Date: Tue, 15 May 2012 01:19:43 -0700
Message-ID: <CAB10MZCxy21HEG3dZb9_udqCAo6XTWcqwfm0-yeY4y4c5hjaqA@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
X-Gm-Message-State: ALoCoQldPI0SKxxzH6j1M6uP9Y5BaRhCZZKI4FZypALeHV944payI8EuE7uO7yzrDFcmhEO+PnM2
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel \(xen-devel@lists.xen.org\)" <xen-devel@lists.xen.org>,
	"Keir Fraser\(keir.xen@gmail.com\)" <keir.xen@gmail.com>,
	Jan Beulich <JBeulich@suse.com>, "Zhang, Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v3] Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5147208859588423856=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5147208859588423856==
Content-Type: multipart/alternative; boundary=e0cb4efe2af2655eaa04c00eddba

--e0cb4efe2af2655eaa04c00eddba
Content-Type: text/plain; charset=ISO-8859-1

On May 15, 2012 1:15 AM, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>
> > -----Original Message-----
> > From: Aravindh Puthiyaparambil [mailto:aravindh@virtuata.com]
> > Sent: Tuesday, May 15, 2012 3:23 PM
> > To: Jan Beulich
> > Cc: Hao, Xudong; Keir Fraser(keir.xen@gmail.com); Dong, Eddie;
Nakajima, Jun;
> > Zhang, Xiantao; xen-devel (xen-devel@lists.xen.org)
> > Subject: Re: [PATCH v3] Fix the mistake of exception execution
> >
> > On Mon, May 14, 2012 at 11:48 PM, Jan Beulich <JBeulich@suse.com> wrote:
> > >
> > > >>> On 15.05.12 at 07:59, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > > >> From: Jan Beulich [mailto:JBeulich@suse.com]
> > > >> >>> On 14.05.12 at 12:41, "Hao, Xudong" <xudong.hao@intel.com>
> > wrote:
> > > >> >      default:
> > > >> > -        if ( trap > TRAP_last_reserved )
> > > >> > -        {
> > > >> > -            type = X86_EVENTTYPE_SW_EXCEPTION;
> > > >> > -            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int
> > imm8 */
> > > >> > -        }
> > > >>
> > > >> So this undoes Aravindh's earlier change, without replacement. I
> > > >> don't think that's acceptable.
> > > >>
> > > >
> > > > This is the first patch that just correct some instruction in hw
exception
> > > > function, as function description above, int n (n > 32) is not
delivered by
> > > > this function.
> > > > I'll write another patch of new function for int n handler.
> > >
> > > In that case it would have been nice to indicate that you don't expect
> > > this to be applied just yet (i.e. by marking the patch RFC).
> > >
> > > >> > +                    __vmwrite(VM_ENTRY_INSTRUCTION_LEN,
> > 1); /* int3, CC */
> > > >>
> > > >> Still using a hard-coded 1 here, the more that afaict you can't
> > > >> distinguish CC and CD 03 here.
> > > >>
> > > >
> > > > Just copied it from original code, how about this replacement:
> > > >
> > > > +     __vmwrite(VM_ENTRY_INSTRUCTION_LEN,
> > __vmread(VM_EXIT_INSTRUCTION_LEN));
> > >
> > > That's okay as long as on all possible code paths arriving here
> > > VM_EXIT_INSTRUCTION_LEN is actually valid. I'm suspicious this might
> > > not be the case (especially in the case of injection originating from
> > > libxc).
> >
> > Your suspicion is warranted. IIRC this did not work for the libxc case
> > injecting software interrupts. That is why I hard coded the
> > instruction length. Maybe the instruction length can be made caller
> > specific?
> >
>
> What's traps did you inject? This patch has not handle the software
interrupts, but hardware exceptions and #BP, #OF software exceptions.
>

The function handles software interrupts though marked as software
exception. Incorrect it might be but it works. Your patch removes that code.

Thanks,
Aravindh

--e0cb4efe2af2655eaa04c00eddba
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<p><br>
On May 15, 2012 1:15 AM, &quot;Hao, Xudong&quot; &lt;<a href=3D"mailto:xudo=
ng.hao@intel.com">xudong.hao@intel.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; -----Original Message-----<br>
&gt; &gt; From: Aravindh Puthiyaparambil [mailto:<a href=3D"mailto:aravindh=
@virtuata.com">aravindh@virtuata.com</a>]<br>
&gt; &gt; Sent: Tuesday, May 15, 2012 3:23 PM<br>
&gt; &gt; To: Jan Beulich<br>
&gt; &gt; Cc: Hao, Xudong; Keir Fraser(<a href=3D"mailto:keir.xen@gmail.com=
">keir.xen@gmail.com</a>); Dong, Eddie; Nakajima, Jun;<br>
&gt; &gt; Zhang, Xiantao; xen-devel (<a href=3D"mailto:xen-devel@lists.xen.=
org">xen-devel@lists.xen.org</a>)<br>
&gt; &gt; Subject: Re: [PATCH v3] Fix the mistake of exception execution<br=
>
&gt; &gt;<br>
&gt; &gt; On Mon, May 14, 2012 at 11:48 PM, Jan Beulich &lt;<a href=3D"mail=
to:JBeulich@suse.com">JBeulich@suse.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt;&gt; On 15.05.12 at 07:59, &quot;Hao, Xudong&quot; &=
lt;<a href=3D"mailto:xudong.hao@intel.com">xudong.hao@intel.com</a>&gt; wro=
te:<br>
&gt; &gt; &gt; &gt;&gt; From: Jan Beulich [mailto:<a href=3D"mailto:JBeulic=
h@suse.com">JBeulich@suse.com</a>]<br>
&gt; &gt; &gt; &gt;&gt; &gt;&gt;&gt; On 14.05.12 at 12:41, &quot;Hao, Xudon=
g&quot; &lt;<a href=3D"mailto:xudong.hao@intel.com">xudong.hao@intel.com</a=
>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt;&gt; &gt; =A0 =A0 =A0default:<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0if ( trap &gt; TRAP_last_rese=
rved )<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0{<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0 =A0 =A0type =3D X86_EVENTTYP=
E_SW_EXCEPTION;<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0 =A0 =A0__vmwrite(VM_ENTRY_IN=
STRUCTION_LEN, 2); /* int<br>
&gt; &gt; imm8 */<br>
&gt; &gt; &gt; &gt;&gt; &gt; - =A0 =A0 =A0 =A0}<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; So this undoes Aravindh&#39;s earlier change, witho=
ut replacement. I<br>
&gt; &gt; &gt; &gt;&gt; don&#39;t think that&#39;s acceptable.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; This is the first patch that just correct some instruct=
ion in hw exception<br>
&gt; &gt; &gt; &gt; function, as function description above, int n (n &gt; =
32) is not delivered by<br>
&gt; &gt; &gt; &gt; this function.<br>
&gt; &gt; &gt; &gt; I&#39;ll write another patch of new function for int n =
handler.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; In that case it would have been nice to indicate that you do=
n&#39;t expect<br>
&gt; &gt; &gt; this to be applied just yet (i.e. by marking the patch RFC).=
<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0__vmw=
rite(VM_ENTRY_INSTRUCTION_LEN,<br>
&gt; &gt; 1); /* int3, CC */<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; Still using a hard-coded 1 here, the more that afai=
ct you can&#39;t<br>
&gt; &gt; &gt; &gt;&gt; distinguish CC and CD 03 here.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Just copied it from original code, how about this repla=
cement:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; + =A0 =A0 __vmwrite(VM_ENTRY_INSTRUCTION_LEN,<br>
&gt; &gt; __vmread(VM_EXIT_INSTRUCTION_LEN));<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; That&#39;s okay as long as on all possible code paths arrivi=
ng here<br>
&gt; &gt; &gt; VM_EXIT_INSTRUCTION_LEN is actually valid. I&#39;m suspiciou=
s this might<br>
&gt; &gt; &gt; not be the case (especially in the case of injection origina=
ting from<br>
&gt; &gt; &gt; libxc).<br>
&gt; &gt;<br>
&gt; &gt; Your suspicion is warranted. IIRC this did not work for the libxc=
 case<br>
&gt; &gt; injecting software interrupts. That is why I hard coded the<br>
&gt; &gt; instruction length. Maybe the instruction length can be made call=
er<br>
&gt; &gt; specific?<br>
&gt; &gt;<br>
&gt;<br>
&gt; What&#39;s traps did you inject? This patch has not handle the softwar=
e interrupts, but hardware exceptions and #BP, #OF software exceptions.<br>
&gt;</p>
<p>The function handles software interrupts though marked as software excep=
tion. Incorrect it might be but it works. Your patch removes that code.</p>
<p>Thanks,<br>
Aravindh<br>
</p>

--e0cb4efe2af2655eaa04c00eddba--


--===============5147208859588423856==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5147208859588423856==--


From xen-devel-bounces@lists.xen.org Tue May 15 08:22:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUD1K-0008EO-2Q; Tue, 15 May 2012 08:22:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUD1I-0008EH-Kv
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:22:12 +0000
Received: from [85.158.143.35:25655] by server-1.bemta-4.messagelabs.com id
	05/DD-20925-33212BF4; Tue, 15 May 2012 08:22:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337070128!15429756!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25264 invoked from network); 15 May 2012 08:22:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 08:22:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 09:22:08 +0100
Message-Id: <4FB22E6D0200007800083ACF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 09:22:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <andrew.cooper3@citrix.com>,"AP" <apxeng@gmail.com>,
	"Keir Fraser" <keir@xen.org>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
	<4FB2173C0200007800083A5D@nat28.tlf.novell.com>
	<CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
In-Reply-To: <CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 10:03, AP <apxeng@gmail.com> wrote:
> On Mon, May 14, 2012 at 11:43 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>
>> >>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
>> > On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
>> >
>> >>> Looks sensible, and I suppose good to have for 4.2.
>> >>>
>> >>> Acked-by: Keir Fraser <keir@xen.org>
>> >>
>> >> Please take a look at the v2 I just sent, to accommodate a suggestion
>> >> from Andrew Cooper.
>> >
>> > I think it's very paranoid, since legacy vectors never get programmed
>> > into
>> > an IOAPIC RTE and should never need EOIing at the local APIC. But you do
>> > at
>> > least printk the case that we see the ISR bit set, and you printk the
>> > vector
>> > number, so really this v2 patch gives us more information about this
>> > bogus
>> > situation than v1 did, so it's a slight improvement overall. So you
>> > still
>> > have my Ack.
>>
>> It indeed is paranoid (which is why I didn't do so in v1), but Andrew
>> certainly has a point in saying that something so far unexplainable
>> going on makes it desirable to cover as many (however remotely)
>> potential causes as possible. (I still consider double delivery through
>> IO-APIC and PIC the most likely scenario, despite not having a
>> reasonably explanation on how the PIC mask bit could get cleared.)
>>
>> Once we hopefully understand the hole situation, the code here
>> should likely be reverted to the v1 version (along with removing the
>> other debugging code).
> 
> Once this patch goes in, do I need to still run with the patch Andrew
> provided in http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html 
> for the debugging code?

Yes, that change is still going to be necessary. Probably worth
committing too (perhaps with its second hunk annotated with a
comment), which I believe didn't happen because it wasn't really
submitted for that purpose. Andrew, Keir?

Or would we be better off simply allowing xfree(NULL) in IRQ
context, by swapping the in_irq() and NULL checks in the
function)? I'd favor this, despite the small risk of it hiding
latent bugs.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:22:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUD1K-0008EO-2Q; Tue, 15 May 2012 08:22:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUD1I-0008EH-Kv
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:22:12 +0000
Received: from [85.158.143.35:25655] by server-1.bemta-4.messagelabs.com id
	05/DD-20925-33212BF4; Tue, 15 May 2012 08:22:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337070128!15429756!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25264 invoked from network); 15 May 2012 08:22:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 08:22:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 09:22:08 +0100
Message-Id: <4FB22E6D0200007800083ACF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 09:22:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <andrew.cooper3@citrix.com>,"AP" <apxeng@gmail.com>,
	"Keir Fraser" <keir@xen.org>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
	<4FB2173C0200007800083A5D@nat28.tlf.novell.com>
	<CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
In-Reply-To: <CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 10:03, AP <apxeng@gmail.com> wrote:
> On Mon, May 14, 2012 at 11:43 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>
>> >>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
>> > On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
>> >
>> >>> Looks sensible, and I suppose good to have for 4.2.
>> >>>
>> >>> Acked-by: Keir Fraser <keir@xen.org>
>> >>
>> >> Please take a look at the v2 I just sent, to accommodate a suggestion
>> >> from Andrew Cooper.
>> >
>> > I think it's very paranoid, since legacy vectors never get programmed
>> > into
>> > an IOAPIC RTE and should never need EOIing at the local APIC. But you do
>> > at
>> > least printk the case that we see the ISR bit set, and you printk the
>> > vector
>> > number, so really this v2 patch gives us more information about this
>> > bogus
>> > situation than v1 did, so it's a slight improvement overall. So you
>> > still
>> > have my Ack.
>>
>> It indeed is paranoid (which is why I didn't do so in v1), but Andrew
>> certainly has a point in saying that something so far unexplainable
>> going on makes it desirable to cover as many (however remotely)
>> potential causes as possible. (I still consider double delivery through
>> IO-APIC and PIC the most likely scenario, despite not having a
>> reasonably explanation on how the PIC mask bit could get cleared.)
>>
>> Once we hopefully understand the hole situation, the code here
>> should likely be reverted to the v1 version (along with removing the
>> other debugging code).
> 
> Once this patch goes in, do I need to still run with the patch Andrew
> provided in http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html 
> for the debugging code?

Yes, that change is still going to be necessary. Probably worth
committing too (perhaps with its second hunk annotated with a
comment), which I believe didn't happen because it wasn't really
submitted for that purpose. Andrew, Keir?

Or would we be better off simply allowing xfree(NULL) in IRQ
context, by swapping the in_irq() and NULL checks in the
function)? I'd favor this, despite the small risk of it hiding
latent bugs.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:44:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:44:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDMC-000053-8F; Tue, 15 May 2012 08:43:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUDMB-00004x-JL
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:43:47 +0000
Received: from [193.109.254.147:46194] by server-11.bemta-14.messagelabs.com
	id 73/EB-05858-24712BF4; Tue, 15 May 2012 08:43:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337071426!8954883!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22782 invoked from network); 15 May 2012 08:43:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:43:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330905600"; d="scan'208";a="12475718"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 08:43:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 09:43:45 +0100
Message-ID: <1337071424.14297.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 15 May 2012 09:43:44 +0100
In-Reply-To: <1337016759.28326.59.camel@Solace>
References: <54e2eb42fd49ac9bad3f.1337015755@Solace>
	<1337016759.28326.59.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 18:32 +0100, Dario Faggioli wrote:
> On Mon, 2012-05-14 at 19:15 +0200, Dario Faggioli wrote:
> > xm supports the following syntax (in the config file) for
> > specific VCPU to PCPU mapping:
> > 
> > cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> > 
> > Allow for the same in xl.
> > 
> > Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> > 
> Gah! Forgot to qpop and qpush it to have the changelog (to which I added
> some more information, as agreed with Ian C) refreshed ... Sorry for the
> noise, and, please, consider the other posting I've just sent!

Specifically the second version of v3 with message-id:
<3d90429f3ad323525332.1337016642@Solace> is the one we want, right?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:44:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:44:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDMC-000053-8F; Tue, 15 May 2012 08:43:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUDMB-00004x-JL
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:43:47 +0000
Received: from [193.109.254.147:46194] by server-11.bemta-14.messagelabs.com
	id 73/EB-05858-24712BF4; Tue, 15 May 2012 08:43:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337071426!8954883!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODgwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22782 invoked from network); 15 May 2012 08:43:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:43:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330905600"; d="scan'208";a="12475718"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 08:43:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 09:43:45 +0100
Message-ID: <1337071424.14297.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 15 May 2012 09:43:44 +0100
In-Reply-To: <1337016759.28326.59.camel@Solace>
References: <54e2eb42fd49ac9bad3f.1337015755@Solace>
	<1337016759.28326.59.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 18:32 +0100, Dario Faggioli wrote:
> On Mon, 2012-05-14 at 19:15 +0200, Dario Faggioli wrote:
> > xm supports the following syntax (in the config file) for
> > specific VCPU to PCPU mapping:
> > 
> > cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> > 
> > Allow for the same in xl.
> > 
> > Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> > 
> Gah! Forgot to qpop and qpush it to have the changelog (to which I added
> some more information, as agreed with Ian C) refreshed ... Sorry for the
> noise, and, please, consider the other posting I've just sent!

Specifically the second version of v3 with message-id:
<3d90429f3ad323525332.1337016642@Solace> is the one we want, right?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:53:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDVE-0000Fn-9Z; Tue, 15 May 2012 08:53:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SUDVC-0000Fh-Mc
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:53:07 +0000
Received: from [85.158.139.83:20856] by server-9.bemta-5.messagelabs.com id
	7A/78-09826-17912BF4; Tue, 15 May 2012 08:53:05 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337071982!27760426!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUwMDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29350 invoked from network); 15 May 2012 08:53:04 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:53:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330923600"; d="scan'208";a="25188089"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 04:52:37 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 15 May 2012
	04:52:37 -0400
Message-ID: <4FB21953.40004@citrix.com>
Date: Tue, 15 May 2012 09:52:35 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
	<4FB2173C0200007800083A5D@nat28.tlf.novell.com>
	<CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
	<4FB22E6D0200007800083ACF@nat28.tlf.novell.com>
In-Reply-To: <4FB22E6D0200007800083ACF@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "Keir \(Xen.org\)" <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 09:22, Jan Beulich wrote:
>>>> On 15.05.12 at 10:03, AP <apxeng@gmail.com> wrote:
>> On Mon, May 14, 2012 at 11:43 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
>>>> On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>>
>>>>>> Looks sensible, and I suppose good to have for 4.2.
>>>>>>
>>>>>> Acked-by: Keir Fraser <keir@xen.org>
>>>>> Please take a look at the v2 I just sent, to accommodate a suggestion
>>>>> from Andrew Cooper.
>>>> I think it's very paranoid, since legacy vectors never get programmed
>>>> into
>>>> an IOAPIC RTE and should never need EOIing at the local APIC. But you do
>>>> at
>>>> least printk the case that we see the ISR bit set, and you printk the
>>>> vector
>>>> number, so really this v2 patch gives us more information about this
>>>> bogus
>>>> situation than v1 did, so it's a slight improvement overall. So you
>>>> still
>>>> have my Ack.
>>> It indeed is paranoid (which is why I didn't do so in v1), but Andrew
>>> certainly has a point in saying that something so far unexplainable
>>> going on makes it desirable to cover as many (however remotely)
>>> potential causes as possible. (I still consider double delivery through
>>> IO-APIC and PIC the most likely scenario, despite not having a
>>> reasonably explanation on how the PIC mask bit could get cleared.)
>>>
>>> Once we hopefully understand the hole situation, the code here
>>> should likely be reverted to the v1 version (along with removing the
>>> other debugging code).
>> Once this patch goes in, do I need to still run with the patch Andrew
>> provided in http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html 
>> for the debugging code?
> Yes, that change is still going to be necessary. Probably worth
> committing too (perhaps with its second hunk annotated with a
> comment), which I believe didn't happen because it wasn't really
> submitted for that purpose. Andrew, Keir?
>
> Or would we be better off simply allowing xfree(NULL) in IRQ
> context, by swapping the in_irq() and NULL checks in the
> function)? I'd favor this, despite the small risk of it hiding
> latent bugs.
>
> Jan

The patch should probably be committed in the same vein as the other
debugging patches

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:53:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDVE-0000Fn-9Z; Tue, 15 May 2012 08:53:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SUDVC-0000Fh-Mc
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:53:07 +0000
Received: from [85.158.139.83:20856] by server-9.bemta-5.messagelabs.com id
	7A/78-09826-17912BF4; Tue, 15 May 2012 08:53:05 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337071982!27760426!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUwMDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29350 invoked from network); 15 May 2012 08:53:04 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 08:53:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330923600"; d="scan'208";a="25188089"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 04:52:37 -0400
Received: from [10.80.2.18] (10.80.2.18) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 15 May 2012
	04:52:37 -0400
Message-ID: <4FB21953.40004@citrix.com>
Date: Tue, 15 May 2012 09:52:35 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FB1473102000078000838A6@nat28.tlf.novell.com>
	<CBD6F04E.40439%keir@xen.org>
	<4FB2173C0200007800083A5D@nat28.tlf.novell.com>
	<CAGU+auupwXF3ayGsNA4rcwfiAx9JEA4=36QZY+_Cxj=m1PvDgw@mail.gmail.com>
	<4FB22E6D0200007800083ACF@nat28.tlf.novell.com>
In-Reply-To: <4FB22E6D0200007800083ACF@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "Keir \(Xen.org\)" <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86: adjust handling of interrupts coming in via
 legacy vectors
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 09:22, Jan Beulich wrote:
>>>> On 15.05.12 at 10:03, AP <apxeng@gmail.com> wrote:
>> On Mon, May 14, 2012 at 11:43 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> On 14.05.12 at 18:24, Keir Fraser <keir@xen.org> wrote:
>>>> On 14/05/2012 16:56, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>>
>>>>>> Looks sensible, and I suppose good to have for 4.2.
>>>>>>
>>>>>> Acked-by: Keir Fraser <keir@xen.org>
>>>>> Please take a look at the v2 I just sent, to accommodate a suggestion
>>>>> from Andrew Cooper.
>>>> I think it's very paranoid, since legacy vectors never get programmed
>>>> into
>>>> an IOAPIC RTE and should never need EOIing at the local APIC. But you do
>>>> at
>>>> least printk the case that we see the ISR bit set, and you printk the
>>>> vector
>>>> number, so really this v2 patch gives us more information about this
>>>> bogus
>>>> situation than v1 did, so it's a slight improvement overall. So you
>>>> still
>>>> have my Ack.
>>> It indeed is paranoid (which is why I didn't do so in v1), but Andrew
>>> certainly has a point in saying that something so far unexplainable
>>> going on makes it desirable to cover as many (however remotely)
>>> potential causes as possible. (I still consider double delivery through
>>> IO-APIC and PIC the most likely scenario, despite not having a
>>> reasonably explanation on how the PIC mask bit could get cleared.)
>>>
>>> Once we hopefully understand the hole situation, the code here
>>> should likely be reverted to the v1 version (along with removing the
>>> other debugging code).
>> Once this patch goes in, do I need to still run with the patch Andrew
>> provided in http://lists.xen.org/archives/html/xen-devel/2012-05/msg00332.html 
>> for the debugging code?
> Yes, that change is still going to be necessary. Probably worth
> committing too (perhaps with its second hunk annotated with a
> comment), which I believe didn't happen because it wasn't really
> submitted for that purpose. Andrew, Keir?
>
> Or would we be better off simply allowing xfree(NULL) in IRQ
> context, by swapping the in_irq() and NULL checks in the
> function)? I'd favor this, despite the small risk of it hiding
> latent bugs.
>
> Jan

The patch should probably be committed in the same vein as the other
debugging patches

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:57:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:57:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDYg-0000MS-V9; Tue, 15 May 2012 08:56:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kwolf@redhat.com>) id 1SUDYf-0000MK-93
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:56:41 +0000
Received: from [85.158.143.35:54428] by server-1.bemta-4.messagelabs.com id
	7A/E4-20925-84A12BF4; Tue, 15 May 2012 08:56:40 +0000
X-Env-Sender: kwolf@redhat.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337072198!12273614!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14161 invoked from network); 15 May 2012 08:56:39 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-8.tower-21.messagelabs.com with SMTP;
	15 May 2012 08:56:39 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4F8uYJV027122
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 04:56:34 -0400
Received: from dhcp-5-188.str.redhat.com (vpn1-5-43.ams2.redhat.com
	[10.36.5.43])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4F8uVqE003225
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Tue, 15 May 2012 04:56:32 -0400
Message-ID: <4FB21A3F.6060509@redhat.com>
Date: Tue, 15 May 2012 10:56:31 +0200
From: Kevin Wolf <kwolf@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am 14.05.2012 16:57, schrieb Stefano Stabellini:
> On Mon, 14 May 2012, Jan Beulich wrote:
>> While for the "normal" case (called from blk_send_response_all())
>> decrementing requests_finished is correct, doing so in the parse error
>> case is wrong; requests_inflight needs to be decremented instead.
>>
>> Change in v2: Adjust coding style.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Aren't you going to send a pull request yourself, Stefano?

Kevin

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 08:57:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 08:57:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDYg-0000MS-V9; Tue, 15 May 2012 08:56:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kwolf@redhat.com>) id 1SUDYf-0000MK-93
	for xen-devel@lists.xen.org; Tue, 15 May 2012 08:56:41 +0000
Received: from [85.158.143.35:54428] by server-1.bemta-4.messagelabs.com id
	7A/E4-20925-84A12BF4; Tue, 15 May 2012 08:56:40 +0000
X-Env-Sender: kwolf@redhat.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337072198!12273614!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14161 invoked from network); 15 May 2012 08:56:39 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-8.tower-21.messagelabs.com with SMTP;
	15 May 2012 08:56:39 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4F8uYJV027122
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 04:56:34 -0400
Received: from dhcp-5-188.str.redhat.com (vpn1-5-43.ams2.redhat.com
	[10.36.5.43])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4F8uVqE003225
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Tue, 15 May 2012 04:56:32 -0400
Message-ID: <4FB21A3F.6060509@redhat.com>
Date: Tue, 15 May 2012 10:56:31 +0200
From: Kevin Wolf <kwolf@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am 14.05.2012 16:57, schrieb Stefano Stabellini:
> On Mon, 14 May 2012, Jan Beulich wrote:
>> While for the "normal" case (called from blk_send_response_all())
>> decrementing requests_finished is correct, doing so in the parse error
>> case is wrong; requests_inflight needs to be decremented instead.
>>
>> Change in v2: Adjust coding style.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Aren't you going to send a pull request yourself, Stefano?

Kevin

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:14:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDpQ-0000eX-ET; Tue, 15 May 2012 09:14:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUDpP-0000eM-2h
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:13:59 +0000
Received: from [85.158.138.51:38456] by server-8.bemta-3.messagelabs.com id
	9A/6A-24428-65E12BF4; Tue, 15 May 2012 09:13:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337073237!19137778!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15902 invoked from network); 15 May 2012 09:13:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 09:13:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330905600"; d="scan'208";a="12476547"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 09:13:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:13:57 +0100
Message-ID: <1337073235.14297.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bamvor Jian Zhang <bjzhang@suse.com>
Date: Tue, 15 May 2012 10:13:55 +0100
In-Reply-To: <4FB254C2020000300000F28A@soto.provo.novell.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
	<4FB254C2020000300000F28A@soto.provo.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jim Fehlig <JFEHLIG@suse.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 06:06 +0100, Bamvor Jian Zhang wrote:
> >> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)
> >> +{
> >
> >We already have various functions to refer to and open consoles, which
> >have much of this functionality in them already.  That shouldn't be
> >duplicated.
> >
> >Also we need to make a policy decision about whether the fact that the
> >console looks like a tty is a part of the API.

> sorry i only found one api about open console is libxl_console_exec.
> libxl_console_exec call xenconsole command directly which is not
> compatible with libvirt open console api. libvirt open console want a
> console device path and handle the console by libvirt itself. libvirt
> xen(not xenlight) driver read console path from xenstore directly
> which is prohibited by libvirt xenlight drvier. 
> So, because these reasons, i guess add this simple api to return
> console path to libvirt is a good choice. it is useful for libvirt and
> do not break libxl api. 

We actually discussed the existing interface in the context of the libxl
stable API (sub-thread starting at
<20357.44324.27939.514126@mariner.uk.xensource.com> which has a lot of
sub-threads. Another interesting bit starts at
<20358.47143.994639.76453@mariner.uk.xensource.com>)

In that thread IanJ said:
> ]   int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass);
> ]   int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type);
> ]   /* libxl_primary_console_exec finds the domid and console number
> ]    * corresponding to the primary console of the given vm, then calls
> ]    * libxl_console_exec with the right arguments (domid might be different
> ]    * if the guest is using stubdoms).
> ]    * This function can be called after creating the device model, in
> ]    * case of HVM guests, and before libxl_run_bootloader in case of PV
> ]    * guests using pygrub. */
> ]   int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> 
> These functions should not exec things for you; they should tell you
> the parameters.  Any execing helpers should be in libxlu.

and later on he said, in response to some of my musings:
> But what if your vnc viewer doesn't have the command line options
> these functions expect ?  libxl_vncviewer_* should give you an idl
> struct containing the ip address (or perhaps the domain name), port
> number, and password.

I think the same can be said of libxl_console_*.

In the end I decided:
> this seems like 4.3 material at this stage.
> 
> I'd expect that the functions which behaved this way would not be
> called ..._exec (perhaps ..._get_params or so) so implementing the
> proper interface in 4.3 won't cause a compat issue.

I think I'd be happy to make a freeze exception for a patch which
implemented the returning of an IDL struct representing the console
device for the benefit of libvirt, so long as it is pretty much self
contained (which I think it will be).

I don't see any need for it to be a requirement to switch xl over to
this new interface at this stage, but we could mark the exec functions
as already deprecated in 4.2 and plan to do so (with associated libxlu
helpers) in 4.3.

This still leaves us having to decide if we want to expose the fact that
the console is a tty. Perhaps a compromise would be to include a
libxl_console_type enum and KeyedUnion of params, currently the only
possible value for the enum would be "PTY" (or "TTY")? (or maybe we can
leave that until the second one comes along...)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:14:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDpQ-0000eX-ET; Tue, 15 May 2012 09:14:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUDpP-0000eM-2h
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:13:59 +0000
Received: from [85.158.138.51:38456] by server-8.bemta-3.messagelabs.com id
	9A/6A-24428-65E12BF4; Tue, 15 May 2012 09:13:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337073237!19137778!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15902 invoked from network); 15 May 2012 09:13:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 09:13:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330905600"; d="scan'208";a="12476547"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 09:13:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:13:57 +0100
Message-ID: <1337073235.14297.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bamvor Jian Zhang <bjzhang@suse.com>
Date: Tue, 15 May 2012 10:13:55 +0100
In-Reply-To: <4FB254C2020000300000F28A@soto.provo.novell.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
	<4FB254C2020000300000F28A@soto.provo.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jim Fehlig <JFEHLIG@suse.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 06:06 +0100, Bamvor Jian Zhang wrote:
> >> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)
> >> +{
> >
> >We already have various functions to refer to and open consoles, which
> >have much of this functionality in them already.  That shouldn't be
> >duplicated.
> >
> >Also we need to make a policy decision about whether the fact that the
> >console looks like a tty is a part of the API.

> sorry i only found one api about open console is libxl_console_exec.
> libxl_console_exec call xenconsole command directly which is not
> compatible with libvirt open console api. libvirt open console want a
> console device path and handle the console by libvirt itself. libvirt
> xen(not xenlight) driver read console path from xenstore directly
> which is prohibited by libvirt xenlight drvier. 
> So, because these reasons, i guess add this simple api to return
> console path to libvirt is a good choice. it is useful for libvirt and
> do not break libxl api. 

We actually discussed the existing interface in the context of the libxl
stable API (sub-thread starting at
<20357.44324.27939.514126@mariner.uk.xensource.com> which has a lot of
sub-threads. Another interesting bit starts at
<20358.47143.994639.76453@mariner.uk.xensource.com>)

In that thread IanJ said:
> ]   int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass);
> ]   int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type);
> ]   /* libxl_primary_console_exec finds the domid and console number
> ]    * corresponding to the primary console of the given vm, then calls
> ]    * libxl_console_exec with the right arguments (domid might be different
> ]    * if the guest is using stubdoms).
> ]    * This function can be called after creating the device model, in
> ]    * case of HVM guests, and before libxl_run_bootloader in case of PV
> ]    * guests using pygrub. */
> ]   int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> 
> These functions should not exec things for you; they should tell you
> the parameters.  Any execing helpers should be in libxlu.

and later on he said, in response to some of my musings:
> But what if your vnc viewer doesn't have the command line options
> these functions expect ?  libxl_vncviewer_* should give you an idl
> struct containing the ip address (or perhaps the domain name), port
> number, and password.

I think the same can be said of libxl_console_*.

In the end I decided:
> this seems like 4.3 material at this stage.
> 
> I'd expect that the functions which behaved this way would not be
> called ..._exec (perhaps ..._get_params or so) so implementing the
> proper interface in 4.3 won't cause a compat issue.

I think I'd be happy to make a freeze exception for a patch which
implemented the returning of an IDL struct representing the console
device for the benefit of libvirt, so long as it is pretty much self
contained (which I think it will be).

I don't see any need for it to be a requirement to switch xl over to
this new interface at this stage, but we could mark the exec functions
as already deprecated in 4.2 and plan to do so (with associated libxlu
helpers) in 4.3.

This still leaves us having to decide if we want to expose the fact that
the console is a tty. Perhaps a compromise would be to include a
libxl_console_type enum and KeyedUnion of params, currently the only
possible value for the enum would be "PTY" (or "TTY")? (or maybe we can
leave that until the second one comes along...)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:18:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:18:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDtP-0000vv-3i; Tue, 15 May 2012 09:18:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUDtN-0000vm-R6
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:18:06 +0000
Received: from [85.158.138.51:61543] by server-12.bemta-3.messagelabs.com id
	4F/BF-29760-C4F12BF4; Tue, 15 May 2012 09:18:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337073484!27197654!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4084 invoked from network); 15 May 2012 09:18:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 09:18:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330905600"; d="scan'208";a="12476682"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 09:18:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 10:18:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUDtL-0002V5-Mw;
	Tue, 15 May 2012 09:18:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUDtL-0003WH-5m;
	Tue, 15 May 2012 10:18:03 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12878-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 10:18:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12878: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12878 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12878/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   4 xen-build                 fail REGR. vs. 12795
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12795
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12795

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             9 guest-start                 fail pass in 12862

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl            15 guest-stop            fail in 12862 never pass

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:18:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:18:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUDtP-0000vv-3i; Tue, 15 May 2012 09:18:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUDtN-0000vm-R6
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:18:06 +0000
Received: from [85.158.138.51:61543] by server-12.bemta-3.messagelabs.com id
	4F/BF-29760-C4F12BF4; Tue, 15 May 2012 09:18:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337073484!27197654!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4084 invoked from network); 15 May 2012 09:18:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 09:18:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,592,1330905600"; d="scan'208";a="12476682"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 09:18:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 10:18:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUDtL-0002V5-Mw;
	Tue, 15 May 2012 09:18:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUDtL-0003WH-5m;
	Tue, 15 May 2012 10:18:03 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12878-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 10:18:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12878: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12878 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12878/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   4 xen-build                 fail REGR. vs. 12795
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12795
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12795

Tests which are failing intermittently (not blocking):
 test-i386-i386-xl             9 guest-start                 fail pass in 12862

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl            15 guest-stop            fail in 12862 never pass

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:28:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:28:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUE2s-0001E5-A6; Tue, 15 May 2012 09:27:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUE2q-0001Dz-33
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:27:52 +0000
Received: from [85.158.143.99:45870] by server-2.bemta-4.messagelabs.com id
	70/0F-17550-79122BF4; Tue, 15 May 2012 09:27:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337074069!16852795!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29352 invoked from network); 15 May 2012 09:27:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 09:27:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12476986"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 09:27:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:27:48 +0100
Message-ID: <1337074067.14297.28.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 10:27:47 +0100
In-Reply-To: <osstest-12876-mainreport@xen.org>
References: <osstest-12876-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 08:12 +0100, xen.org wrote:
> flight 12876 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12876/
> 
> Failures :-/ but no regressions.
> 
> Tests which are failing intermittently (not blocking):

(re-ordered to get the short ones over with first)

>  test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10      fail pass in 12860

Known intermittent bug in non-default scheduler. Don't care for 4.2.

> test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876

qemuu is still a bit flakey. It's not the default qemu for 4.2 but would
still be nice to investigate.

> test-i386-i386-xl-win         7 windows-install             fail pass in 12860

The test harness seems to die ~11 mins after starting the guest. The
timeout was 7000 seconds which is 100+ mins.

2012-05-15 03:22:39 Z executing ssh ... root@10.80.249.56 xl create /etc/xen/win.guest.osstest.cfg
WARNING: ignoring "kernel" directive for HVM guest. Use "firmware_override" instead if you really want a non-default firmware
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bca4
  TOTAL:         0000000000000000->000000001f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000000fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl.c:3162:libxl_sched_credit_domain_set: Cpu weight out of range, valid values are within range from 1 to 65535
Parsing config file /etc/xen/win.guest.osstest.cfg
Daemon running with PID 2548
2012-05-15 03:22:40 Z guest win.guest.osstest 5a:36:0e:4c:00:1d 8936 link/ip/tcp: waiting 7000s...
2012-05-15 03:22:40 Z guest win.guest.osstest 5a:36:0e:4c:00:1d 8936 link/ip/tcp: no active lease (waiting) ...
Died at Osstest.pm line 1833, <GEN1332> line 2553.
...
+ rc=255
+ date -u '+%Y-%m-%d %H:%M:%S Z exit status 255'
2012-05-15 03:33:45 Z exit status 255

The screenshot shows that the guest was in the middle of an XP boot.
 
Hopefully a harness problem but otherwise needs looking at for 4.2?

>  test-amd64-i386-win           7 windows-install             fail pass in 12860

This timed out after ~2 hours. The screenshot shows that the Windows
installer was still at the blue and yellow text mode stage, and a fairly
early looking one at that. It seems rather like the guest has hung, or
at least stalled.

Needs investigation for 4.2?

Towards the end of the host serial log is a stack trace which suggests
that we were at least in the guest context.

May 15 01:56:45.470932 (XEN) *** Dumping CPU1 host state: ***
May 15 01:56:45.470966 (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
May 15 01:56:45.478913 (XEN) CPU:    1
May 15 01:56:45.478937 (XEN) RIP:    e008:[<ffff82c4801cd933>] vmx_vmcs_enter+0xc5/0xc6
May 15 01:56:45.478977 (XEN) RFLAGS: 0000000000000246   CONTEXT: hypervisor
May 15 01:56:45.490925 (XEN) rax: ffff8301281bff18   rbx: ffff8300cfd19000   rcx: 0000000000010093
May 15 01:56:45.498909 (XEN) rdx: 0000000000000093   rsi: 0000000000000000   rdi: ffff8300cfd19000
May 15 01:56:45.498947 (XEN) rbp: ffff8301281bf5f8   rsp: ffff8301281bf5b0   r8:  ffff82f602289d68
May 15 01:56:45.510917 (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000000
May 15 01:56:45.518908 (XEN) r12: 0000000000000005   r13: 000000000000ffff   r14: 0000000000000000
May 15 01:56:45.518945 (XEN) r15: 0000000000000000   cr0: 0000000080050033   cr4: 00000000000426f0
May 15 01:56:45.530913 (XEN) cr3: 000000010ce45000   cr2: 0000000000000000
May 15 01:56:45.530947 (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
May 15 01:56:45.538921 (XEN) Xen stack trace from rsp=ffff8301281bf5b0:
May 15 01:56:45.538954 (XEN)    ffff82c4801d0405 ffff8301281bf688 00000093cfd19000 ffff8301281bf5f8
May 15 01:56:45.550915 (XEN)    ffff8300cfd19000 0000000000000005 0000000000000005 0000000080010021
May 15 01:56:45.558914 (XEN)    ffff8301281bf628 ffff8301281bf6d8 ffff82c4801d227c 00000000000244e2
May 15 01:56:45.566906 (XEN)    0000000000000024 ffff8301281bf688 00000000801e0cc8 0000ffff009b2000
May 15 01:56:45.566945 (XEN)    0000000000020000 0000ffff009322f3 0000000000022f30 0000ffff009322f3
May 15 01:56:45.578924 (XEN)    0000000000022f30 0000ffff00930000 0000000000000000 0000ffff00930030
May 15 01:56:45.586968 (XEN)    0000000000000300 0000ffff00930000 0000000000000000 00000077008b0028
May 15 01:56:45.587027 (XEN)    0000000000024460 ffff8301281bf708 ffff8301281bf700 ffff8301281bfdd8
May 15 01:56:45.598935 (XEN)    0000000080000011 ffff8300cfd19000 0000000000000010 00000000001144eb
May 15 01:56:45.607211 (XEN)    0000000000000039 ffff8301281bf738 ffff82c4801b0b76 ffff830100000001
May 15 01:56:45.607248 (XEN)    ffff8300cfd19000 ffff8301281bf728 0000000000000007 ffff8301281bfdd8
May 15 01:56:45.618930 (XEN)    0000000000000000 0000000080000011 0000000000000000 0000000000000000
May 15 01:56:45.626921 (XEN)    ffff82c480265500 ffff8301281bf778 ffff82c4801ab15a ffff8301281bf778
May 15 01:56:45.626960 (XEN)    ffff8301281bfdd8 ffff8301281bf778 ffff82c480189e69 ffff8301281bfdd8
May 15 01:56:45.638934 (XEN)    0000000000000022 ffff8301281bfcd8 ffff82c480198204 0000000100000008
May 15 01:56:45.646931 (XEN)    0000000000000000 01ff82f6025a14c0 0000000000000000 ffff8301281bff00
May 15 01:56:45.646969 (XEN)    ffff8301281bff18 ffff8301281bf800 ffff82c4801a5182 01ff8300cfe6b000
May 15 01:56:45.658921 (XEN)    0000000800000000 ffff8301281bffc0 000000008016fec4 0000000100000008
May 15 01:56:45.666915 (XEN)    0001000000000000 0100000000000000 0000000000000002 ffff8301281b0000
May 15 01:56:45.666951 (XEN)    0000000000000001 0000000000000048 00000000001144d5 0000000000000002
May 15 01:56:45.678914 (XEN) Xen call trace:
May 15 01:56:45.678940 (XEN)    [<ffff82c4801cd933>] vmx_vmcs_enter+0xc5/0xc6
May 15 01:56:45.686917 (XEN)    [<ffff82c4801d227c>] vmx_update_guest_cr+0x252/0x663
May 15 01:56:45.686954 (XEN)    [<ffff82c4801b0b76>] hvm_set_cr0+0x562/0x5e8
May 15 01:56:45.698910 (XEN)    [<ffff82c4801ab15a>] hvmemul_write_cr+0x91/0xd4
May 15 01:56:45.698945 (XEN)    [<ffff82c480198204>] x86_emulate+0xdba9/0xfc89
May 15 01:56:45.706917 (XEN)    [<ffff82c4801aad74>] hvm_emulate_one+0x120/0x1af
May 15 01:56:45.706953 (XEN)    [<ffff82c4801cc796>] realmode_emulate_one+0x3b/0x21a
May 15 01:56:45.718907 (XEN)    [<ffff82c4801cca75>] vmx_realmode+0x100/0x25b
May 15 01:56:45.718942 (XEN)    
May 15 01:56:45.718968 (XEN) *** Dumping CPU1 guest state (d1:v0): ***
May 15 01:56:45.726921 (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
May 15 01:56:45.726959 (XEN) CPU:    1
May 15 01:56:45.738920 (XEN) RIP:    2000:[<0000000000000252>]
May 15 01:56:45.738950 (XEN) RFLAGS: 0000000000010086   CONTEXT: hvm guest
May 15 01:56:45.738987 (XEN) rax: 0000000080000011   rbx: 0000000000067ff2   rcx: 00000000000000b6
May 15 01:56:45.746923 (XEN) rdx: 0000000000000001   rsi: 0000000000011d68   rdi: 0000000006000000
May 15 01:56:45.758908 (XEN) rbp: 0000000000060b88   rsp: 0000000000067ff2   r8:  0000000000000000
May 15 01:56:45.758945 (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000000
May 15 01:56:45.766919 (XEN) r12: 0000000000000000   r13: 0000000000000000   r14: 0000000000000000
May 15 01:56:45.778914 (XEN) r15: 0000000000000000   cr0: 0000000080000011   cr4: 0000000000000000
May 15 01:56:45.778951 (XEN) cr3: 0000000000039000   cr2: 0000000000000000
May 15 01:56:45.786916 (XEN) ds: 0060   es: 0000   fs: 0030   gs: 0000   ss: 22f3   cs: 2000
May 15 01:56:45.786952 (XEN) 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:28:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:28:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUE2s-0001E5-A6; Tue, 15 May 2012 09:27:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUE2q-0001Dz-33
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:27:52 +0000
Received: from [85.158.143.99:45870] by server-2.bemta-4.messagelabs.com id
	70/0F-17550-79122BF4; Tue, 15 May 2012 09:27:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337074069!16852795!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29352 invoked from network); 15 May 2012 09:27:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 09:27:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12476986"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 09:27:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:27:48 +0100
Message-ID: <1337074067.14297.28.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 10:27:47 +0100
In-Reply-To: <osstest-12876-mainreport@xen.org>
References: <osstest-12876-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 08:12 +0100, xen.org wrote:
> flight 12876 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12876/
> 
> Failures :-/ but no regressions.
> 
> Tests which are failing intermittently (not blocking):

(re-ordered to get the short ones over with first)

>  test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10      fail pass in 12860

Known intermittent bug in non-default scheduler. Don't care for 4.2.

> test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876

qemuu is still a bit flakey. It's not the default qemu for 4.2 but would
still be nice to investigate.

> test-i386-i386-xl-win         7 windows-install             fail pass in 12860

The test harness seems to die ~11 mins after starting the guest. The
timeout was 7000 seconds which is 100+ mins.

2012-05-15 03:22:39 Z executing ssh ... root@10.80.249.56 xl create /etc/xen/win.guest.osstest.cfg
WARNING: ignoring "kernel" directive for HVM guest. Use "firmware_override" instead if you really want a non-default firmware
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bca4
  TOTAL:         0000000000000000->000000001f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000000fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl.c:3162:libxl_sched_credit_domain_set: Cpu weight out of range, valid values are within range from 1 to 65535
Parsing config file /etc/xen/win.guest.osstest.cfg
Daemon running with PID 2548
2012-05-15 03:22:40 Z guest win.guest.osstest 5a:36:0e:4c:00:1d 8936 link/ip/tcp: waiting 7000s...
2012-05-15 03:22:40 Z guest win.guest.osstest 5a:36:0e:4c:00:1d 8936 link/ip/tcp: no active lease (waiting) ...
Died at Osstest.pm line 1833, <GEN1332> line 2553.
...
+ rc=255
+ date -u '+%Y-%m-%d %H:%M:%S Z exit status 255'
2012-05-15 03:33:45 Z exit status 255

The screenshot shows that the guest was in the middle of an XP boot.
 
Hopefully a harness problem but otherwise needs looking at for 4.2?

>  test-amd64-i386-win           7 windows-install             fail pass in 12860

This timed out after ~2 hours. The screenshot shows that the Windows
installer was still at the blue and yellow text mode stage, and a fairly
early looking one at that. It seems rather like the guest has hung, or
at least stalled.

Needs investigation for 4.2?

Towards the end of the host serial log is a stack trace which suggests
that we were at least in the guest context.

May 15 01:56:45.470932 (XEN) *** Dumping CPU1 host state: ***
May 15 01:56:45.470966 (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
May 15 01:56:45.478913 (XEN) CPU:    1
May 15 01:56:45.478937 (XEN) RIP:    e008:[<ffff82c4801cd933>] vmx_vmcs_enter+0xc5/0xc6
May 15 01:56:45.478977 (XEN) RFLAGS: 0000000000000246   CONTEXT: hypervisor
May 15 01:56:45.490925 (XEN) rax: ffff8301281bff18   rbx: ffff8300cfd19000   rcx: 0000000000010093
May 15 01:56:45.498909 (XEN) rdx: 0000000000000093   rsi: 0000000000000000   rdi: ffff8300cfd19000
May 15 01:56:45.498947 (XEN) rbp: ffff8301281bf5f8   rsp: ffff8301281bf5b0   r8:  ffff82f602289d68
May 15 01:56:45.510917 (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000000
May 15 01:56:45.518908 (XEN) r12: 0000000000000005   r13: 000000000000ffff   r14: 0000000000000000
May 15 01:56:45.518945 (XEN) r15: 0000000000000000   cr0: 0000000080050033   cr4: 00000000000426f0
May 15 01:56:45.530913 (XEN) cr3: 000000010ce45000   cr2: 0000000000000000
May 15 01:56:45.530947 (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
May 15 01:56:45.538921 (XEN) Xen stack trace from rsp=ffff8301281bf5b0:
May 15 01:56:45.538954 (XEN)    ffff82c4801d0405 ffff8301281bf688 00000093cfd19000 ffff8301281bf5f8
May 15 01:56:45.550915 (XEN)    ffff8300cfd19000 0000000000000005 0000000000000005 0000000080010021
May 15 01:56:45.558914 (XEN)    ffff8301281bf628 ffff8301281bf6d8 ffff82c4801d227c 00000000000244e2
May 15 01:56:45.566906 (XEN)    0000000000000024 ffff8301281bf688 00000000801e0cc8 0000ffff009b2000
May 15 01:56:45.566945 (XEN)    0000000000020000 0000ffff009322f3 0000000000022f30 0000ffff009322f3
May 15 01:56:45.578924 (XEN)    0000000000022f30 0000ffff00930000 0000000000000000 0000ffff00930030
May 15 01:56:45.586968 (XEN)    0000000000000300 0000ffff00930000 0000000000000000 00000077008b0028
May 15 01:56:45.587027 (XEN)    0000000000024460 ffff8301281bf708 ffff8301281bf700 ffff8301281bfdd8
May 15 01:56:45.598935 (XEN)    0000000080000011 ffff8300cfd19000 0000000000000010 00000000001144eb
May 15 01:56:45.607211 (XEN)    0000000000000039 ffff8301281bf738 ffff82c4801b0b76 ffff830100000001
May 15 01:56:45.607248 (XEN)    ffff8300cfd19000 ffff8301281bf728 0000000000000007 ffff8301281bfdd8
May 15 01:56:45.618930 (XEN)    0000000000000000 0000000080000011 0000000000000000 0000000000000000
May 15 01:56:45.626921 (XEN)    ffff82c480265500 ffff8301281bf778 ffff82c4801ab15a ffff8301281bf778
May 15 01:56:45.626960 (XEN)    ffff8301281bfdd8 ffff8301281bf778 ffff82c480189e69 ffff8301281bfdd8
May 15 01:56:45.638934 (XEN)    0000000000000022 ffff8301281bfcd8 ffff82c480198204 0000000100000008
May 15 01:56:45.646931 (XEN)    0000000000000000 01ff82f6025a14c0 0000000000000000 ffff8301281bff00
May 15 01:56:45.646969 (XEN)    ffff8301281bff18 ffff8301281bf800 ffff82c4801a5182 01ff8300cfe6b000
May 15 01:56:45.658921 (XEN)    0000000800000000 ffff8301281bffc0 000000008016fec4 0000000100000008
May 15 01:56:45.666915 (XEN)    0001000000000000 0100000000000000 0000000000000002 ffff8301281b0000
May 15 01:56:45.666951 (XEN)    0000000000000001 0000000000000048 00000000001144d5 0000000000000002
May 15 01:56:45.678914 (XEN) Xen call trace:
May 15 01:56:45.678940 (XEN)    [<ffff82c4801cd933>] vmx_vmcs_enter+0xc5/0xc6
May 15 01:56:45.686917 (XEN)    [<ffff82c4801d227c>] vmx_update_guest_cr+0x252/0x663
May 15 01:56:45.686954 (XEN)    [<ffff82c4801b0b76>] hvm_set_cr0+0x562/0x5e8
May 15 01:56:45.698910 (XEN)    [<ffff82c4801ab15a>] hvmemul_write_cr+0x91/0xd4
May 15 01:56:45.698945 (XEN)    [<ffff82c480198204>] x86_emulate+0xdba9/0xfc89
May 15 01:56:45.706917 (XEN)    [<ffff82c4801aad74>] hvm_emulate_one+0x120/0x1af
May 15 01:56:45.706953 (XEN)    [<ffff82c4801cc796>] realmode_emulate_one+0x3b/0x21a
May 15 01:56:45.718907 (XEN)    [<ffff82c4801cca75>] vmx_realmode+0x100/0x25b
May 15 01:56:45.718942 (XEN)    
May 15 01:56:45.718968 (XEN) *** Dumping CPU1 guest state (d1:v0): ***
May 15 01:56:45.726921 (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
May 15 01:56:45.726959 (XEN) CPU:    1
May 15 01:56:45.738920 (XEN) RIP:    2000:[<0000000000000252>]
May 15 01:56:45.738950 (XEN) RFLAGS: 0000000000010086   CONTEXT: hvm guest
May 15 01:56:45.738987 (XEN) rax: 0000000080000011   rbx: 0000000000067ff2   rcx: 00000000000000b6
May 15 01:56:45.746923 (XEN) rdx: 0000000000000001   rsi: 0000000000011d68   rdi: 0000000006000000
May 15 01:56:45.758908 (XEN) rbp: 0000000000060b88   rsp: 0000000000067ff2   r8:  0000000000000000
May 15 01:56:45.758945 (XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000000
May 15 01:56:45.766919 (XEN) r12: 0000000000000000   r13: 0000000000000000   r14: 0000000000000000
May 15 01:56:45.778914 (XEN) r15: 0000000000000000   cr0: 0000000080000011   cr4: 0000000000000000
May 15 01:56:45.778951 (XEN) cr3: 0000000000039000   cr2: 0000000000000000
May 15 01:56:45.786916 (XEN) ds: 0060   es: 0000   fs: 0030   gs: 0000   ss: 22f3   cs: 2000
May 15 01:56:45.786952 (XEN) 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:29:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:29:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUE40-0001Ij-Tt; Tue, 15 May 2012 09:29:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SUE3z-0001Ia-P3
	for xen-devel@lists.xen.org; Tue, 15 May 2012 09:29:03 +0000
Received: from [85.158.143.99:53952] by server-3.bemta-4.messagelabs.com id
	38/BC-05853-FD122BF4; Tue, 15 May 2012 09:29:03 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337074141!22740413!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7185 invoked from network); 15 May 2012 09:29:02 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	15 May 2012 09:29:02 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77877701; Tue, 15 May 2012 11:29:01 +0200
Message-ID: <1337074140.31012.7.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 15 May 2012 11:29:00 +0200
In-Reply-To: <1337071424.14297.4.camel@zakaz.uk.xensource.com>
References: <54e2eb42fd49ac9bad3f.1337015755@Solace>
	<1337016759.28326.59.camel@Solace>
	<1337071424.14297.4.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5144264417310059300=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5144264417310059300==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-/YHOKVFQx5ILWkUyfGdC"


--=-/YHOKVFQx5ILWkUyfGdC
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-15 at 09:43 +0100, Ian Campbell wrote:=20
> On Mon, 2012-05-14 at 18:32 +0100, Dario Faggioli wrote:
> > On Mon, 2012-05-14 at 19:15 +0200, Dario Faggioli wrote:
> > > xm supports the following syntax (in the config file) for
> > > specific VCPU to PCPU mapping:
> > >=20
> > > cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> > >=20
> > > Allow for the same in xl.
> > >=20
> > > Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> > >=20
> > Gah! Forgot to qpop and qpush it to have the changelog (to which I adde=
d
> > some more information, as agreed with Ian C) refreshed ... Sorry for th=
e
> > noise, and, please, consider the other posting I've just sent!
>=20
> Specifically the second version of v3 with message-id:
> <3d90429f3ad323525332.1337016642@Solace> is the one we want, right?
>=20
Yep, the one with the longer changelog and that very msg-id. Sorry again
for the confusion. :-(

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-/YHOKVFQx5ILWkUyfGdC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+yIdwACgkQk4XaBE3IOsTGrQCeNZkDvmtt17eb5OtyBTtgRFWg
V44AoJ39VAekaBAnoL5YdFvnUmkRVKG8
=Wl2U
-----END PGP SIGNATURE-----

--=-/YHOKVFQx5ILWkUyfGdC--



--===============5144264417310059300==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5144264417310059300==--



From xen-devel-bounces@lists.xen.org Tue May 15 09:29:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:29:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUE40-0001Ij-Tt; Tue, 15 May 2012 09:29:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SUE3z-0001Ia-P3
	for xen-devel@lists.xen.org; Tue, 15 May 2012 09:29:03 +0000
Received: from [85.158.143.99:53952] by server-3.bemta-4.messagelabs.com id
	38/BC-05853-FD122BF4; Tue, 15 May 2012 09:29:03 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337074141!22740413!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7185 invoked from network); 15 May 2012 09:29:02 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	15 May 2012 09:29:02 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77877701; Tue, 15 May 2012 11:29:01 +0200
Message-ID: <1337074140.31012.7.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 15 May 2012 11:29:00 +0200
In-Reply-To: <1337071424.14297.4.camel@zakaz.uk.xensource.com>
References: <54e2eb42fd49ac9bad3f.1337015755@Solace>
	<1337016759.28326.59.camel@Solace>
	<1337071424.14297.4.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5144264417310059300=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5144264417310059300==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-/YHOKVFQx5ILWkUyfGdC"


--=-/YHOKVFQx5ILWkUyfGdC
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-15 at 09:43 +0100, Ian Campbell wrote:=20
> On Mon, 2012-05-14 at 18:32 +0100, Dario Faggioli wrote:
> > On Mon, 2012-05-14 at 19:15 +0200, Dario Faggioli wrote:
> > > xm supports the following syntax (in the config file) for
> > > specific VCPU to PCPU mapping:
> > >=20
> > > cpus =3D ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> > >=20
> > > Allow for the same in xl.
> > >=20
> > > Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
> > >=20
> > Gah! Forgot to qpop and qpush it to have the changelog (to which I adde=
d
> > some more information, as agreed with Ian C) refreshed ... Sorry for th=
e
> > noise, and, please, consider the other posting I've just sent!
>=20
> Specifically the second version of v3 with message-id:
> <3d90429f3ad323525332.1337016642@Solace> is the one we want, right?
>=20
Yep, the one with the longer changelog and that very msg-id. Sorry again
for the confusion. :-(

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-/YHOKVFQx5ILWkUyfGdC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+yIdwACgkQk4XaBE3IOsTGrQCeNZkDvmtt17eb5OtyBTtgRFWg
V44AoJ39VAekaBAnoL5YdFvnUmkRVKG8
=Wl2U
-----END PGP SIGNATURE-----

--=-/YHOKVFQx5ILWkUyfGdC--



--===============5144264417310059300==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5144264417310059300==--



From xen-devel-bounces@lists.xen.org Tue May 15 09:50:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:50:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEO4-0001wO-E6; Tue, 15 May 2012 09:49:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUEO2-0001wH-HN
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:49:46 +0000
Received: from [85.158.138.51:55437] by server-11.bemta-3.messagelabs.com id
	5F/69-18894-9B622BF4; Tue, 15 May 2012 09:49:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337075384!27137250!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27123 invoked from network); 15 May 2012 09:49:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 09:49:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 10:49:43 +0100
Message-Id: <4FB242F60200007800083B58@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 10:50:14 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>,
	"xen.org" <ian.jackson@eu.citrix.com>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337074067.14297.28.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 11:27, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Tue, 2012-05-15 at 08:12 +0100, xen.org wrote:
>> test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876
> 
> qemuu is still a bit flakey. It's not the default qemu for 4.2 but would
> still be nice to investigate.

Isn't it being made the default at least for pv guests? After having fixed
the gntdev driver in our kernels and the pvops-centric shortcomings in
both qemu-s, the qdisk backend still looks somewhat unreliable in
testing that Olaf has performed. We haven't narrowed it so far, but
a resulting question of course is whether using that backend (and/or
qemu-upstream) by default for any guests is a good idea.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 09:50:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 09:50:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEO4-0001wO-E6; Tue, 15 May 2012 09:49:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUEO2-0001wH-HN
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 09:49:46 +0000
Received: from [85.158.138.51:55437] by server-11.bemta-3.messagelabs.com id
	5F/69-18894-9B622BF4; Tue, 15 May 2012 09:49:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337075384!27137250!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27123 invoked from network); 15 May 2012 09:49:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 09:49:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 10:49:43 +0100
Message-Id: <4FB242F60200007800083B58@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 10:50:14 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>,
	"xen.org" <ian.jackson@eu.citrix.com>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337074067.14297.28.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 11:27, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Tue, 2012-05-15 at 08:12 +0100, xen.org wrote:
>> test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876
> 
> qemuu is still a bit flakey. It's not the default qemu for 4.2 but would
> still be nice to investigate.

Isn't it being made the default at least for pv guests? After having fixed
the gntdev driver in our kernels and the pvops-centric shortcomings in
both qemu-s, the qdisk backend still looks somewhat unreliable in
testing that Olaf has performed. We haven't narrowed it so far, but
a resulting question of course is whether using that backend (and/or
qemu-upstream) by default for any guests is a good idea.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:02:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEZY-0002A9-Ky; Tue, 15 May 2012 10:01:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SUEZX-0002A4-5C
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:01:39 +0000
Received: from [193.109.254.147:33679] by server-8.bemta-14.messagelabs.com id
	20/6F-23244-28922BF4; Tue, 15 May 2012 10:01:38 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337076095!8629756!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30636 invoked from network); 15 May 2012 10:01:36 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:01:36 -0000
Received: by qcsc20 with SMTP id c20so5061048qcs.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 03:01:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=tFc69/ASQtzUZ757o4sCrc3pLR+n97oO5I2DcGT2oMU=;
	b=m3NK5IQ11tLYn8DlcydzATP3EocPE/9gBEafEHRd4AOJNhQCvkrryU2lBLFkzV6+h/
	DiE3Prrg72T3lsZ1VjvwkH9cctDBJcpxBSpXsWTD3rLpQCW2oNvX48u+ZcjY69WXjyYp
	LW2IMOXRgdlEAnO4bP8Tl2MiBmT5fmJpjkbV+Z/F/Do1mdi3O9lUbYAah+1xkCqABOiu
	IhvuIKnEPpexH0gE8+R+6anypnieWhWbLGWRqLjHuhXS+BlIbj4lFKrhCCMwnb9W2XnD
	Eqf40zrZDlGvxRFTFKcqHM/Y03mxOdvtMB0ZnPukpG4Pu4NxhqjuXUSaA4n4o15QDiEf
	R6WQ==
MIME-Version: 1.0
Received: by 10.224.1.68 with SMTP id 4mr2296524qae.6.1337076095401; Tue, 15
	May 2012 03:01:35 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 15 May 2012 03:01:35 -0700 (PDT)
In-Reply-To: <1335448015.28015.151.camel@zakaz.uk.xensource.com>
References: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
	<1335437978.28015.103.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261218410.26786@kaball-desktop>
	<1335439154.28015.119.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261306350.26786@kaball-desktop>
	<CAFLBxZY0=HMRDAvM_mzw+tVK0JDvBFG59beLpKV2c39Zk6u2fQ@mail.gmail.com>
	<1335446686.28015.150.camel@zakaz.uk.xensource.com>
	<CAFLBxZbQyfZkm1OC6F3pXN7cznaM0mv0L_9JBKswG51yKRZpaQ@mail.gmail.com>
	<1335448015.28015.151.camel@zakaz.uk.xensource.com>
Date: Tue, 15 May 2012 11:01:35 +0100
X-Google-Sender-Auth: CWrH3FAWHnRNoqrldCdl49EOS7M
Message-ID: <CAFLBxZb=+b4Wr6VRU0sopXchHB2U1H+djXkMbwVHb6CZPD=6Lg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Kernel aio bug in Debian 2.6.32-5-xen kernel?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, 2012 at 2:46 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Thu, 2012-04-26 at 14:43 +0100, George Dunlap wrote:
>> On Thu, Apr 26, 2012 at 2:24 PM, Ian Campbell <Ian.Campbell@citrix.com> =
wrote:
>> > On Thu, 2012-04-26 at 14:14 +0100, George Dunlap wrote:
>> >> On Thu, Apr 26, 2012 at 1:07 PM, Stefano Stabellini
>> >> <stefano.stabellini@eu.citrix.com> wrote:
>> >> >> However this kernel does have blktap so why is qemu based AIO bein=
g used
>> >> >> at all?
>> >> >
>> >> > If blktap is present and working then libxl only uses QEMU for
>> >> > qcow/qcow2 disk images.
>> >>
>> >> Hmm -- except that the process that's dying is clearly QEMU, and the
>> >> disk images are definitely not qcow*, and Ian seems to think this
>> >> kernel has blktap (how could I tell?), so something's not right.
>> >
>> > It looks like it is a module -- lsmod should confirm, maybe it's a
>> > simple as loading it?
>> >
>> > (if so let me know and I'll be sure to include that when I write up
>> > "installing a Debian Dom0")
>>
>> Indeed, blktap was *not* loaded, and "modprobe blktap" seems make things=
 work.
>>
>> Should this be done in one of the initscripts? =A0Or perhaps by xl?
>
> xencommons should do it, IMHO.

Just re-ran into this problem.  Is the preferred solution to just add
"modprobe blktap" (without error checking) to the xencommons
initscript?

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:02:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEZY-0002A9-Ky; Tue, 15 May 2012 10:01:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SUEZX-0002A4-5C
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:01:39 +0000
Received: from [193.109.254.147:33679] by server-8.bemta-14.messagelabs.com id
	20/6F-23244-28922BF4; Tue, 15 May 2012 10:01:38 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337076095!8629756!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30636 invoked from network); 15 May 2012 10:01:36 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:01:36 -0000
Received: by qcsc20 with SMTP id c20so5061048qcs.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 03:01:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=tFc69/ASQtzUZ757o4sCrc3pLR+n97oO5I2DcGT2oMU=;
	b=m3NK5IQ11tLYn8DlcydzATP3EocPE/9gBEafEHRd4AOJNhQCvkrryU2lBLFkzV6+h/
	DiE3Prrg72T3lsZ1VjvwkH9cctDBJcpxBSpXsWTD3rLpQCW2oNvX48u+ZcjY69WXjyYp
	LW2IMOXRgdlEAnO4bP8Tl2MiBmT5fmJpjkbV+Z/F/Do1mdi3O9lUbYAah+1xkCqABOiu
	IhvuIKnEPpexH0gE8+R+6anypnieWhWbLGWRqLjHuhXS+BlIbj4lFKrhCCMwnb9W2XnD
	Eqf40zrZDlGvxRFTFKcqHM/Y03mxOdvtMB0ZnPukpG4Pu4NxhqjuXUSaA4n4o15QDiEf
	R6WQ==
MIME-Version: 1.0
Received: by 10.224.1.68 with SMTP id 4mr2296524qae.6.1337076095401; Tue, 15
	May 2012 03:01:35 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 15 May 2012 03:01:35 -0700 (PDT)
In-Reply-To: <1335448015.28015.151.camel@zakaz.uk.xensource.com>
References: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
	<1335437978.28015.103.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261218410.26786@kaball-desktop>
	<1335439154.28015.119.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261306350.26786@kaball-desktop>
	<CAFLBxZY0=HMRDAvM_mzw+tVK0JDvBFG59beLpKV2c39Zk6u2fQ@mail.gmail.com>
	<1335446686.28015.150.camel@zakaz.uk.xensource.com>
	<CAFLBxZbQyfZkm1OC6F3pXN7cznaM0mv0L_9JBKswG51yKRZpaQ@mail.gmail.com>
	<1335448015.28015.151.camel@zakaz.uk.xensource.com>
Date: Tue, 15 May 2012 11:01:35 +0100
X-Google-Sender-Auth: CWrH3FAWHnRNoqrldCdl49EOS7M
Message-ID: <CAFLBxZb=+b4Wr6VRU0sopXchHB2U1H+djXkMbwVHb6CZPD=6Lg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Kernel aio bug in Debian 2.6.32-5-xen kernel?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, Apr 26, 2012 at 2:46 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Thu, 2012-04-26 at 14:43 +0100, George Dunlap wrote:
>> On Thu, Apr 26, 2012 at 2:24 PM, Ian Campbell <Ian.Campbell@citrix.com> =
wrote:
>> > On Thu, 2012-04-26 at 14:14 +0100, George Dunlap wrote:
>> >> On Thu, Apr 26, 2012 at 1:07 PM, Stefano Stabellini
>> >> <stefano.stabellini@eu.citrix.com> wrote:
>> >> >> However this kernel does have blktap so why is qemu based AIO bein=
g used
>> >> >> at all?
>> >> >
>> >> > If blktap is present and working then libxl only uses QEMU for
>> >> > qcow/qcow2 disk images.
>> >>
>> >> Hmm -- except that the process that's dying is clearly QEMU, and the
>> >> disk images are definitely not qcow*, and Ian seems to think this
>> >> kernel has blktap (how could I tell?), so something's not right.
>> >
>> > It looks like it is a module -- lsmod should confirm, maybe it's a
>> > simple as loading it?
>> >
>> > (if so let me know and I'll be sure to include that when I write up
>> > "installing a Debian Dom0")
>>
>> Indeed, blktap was *not* loaded, and "modprobe blktap" seems make things=
 work.
>>
>> Should this be done in one of the initscripts? =A0Or perhaps by xl?
>
> xencommons should do it, IMHO.

Just re-ran into this problem.  Is the preferred solution to just add
"modprobe blktap" (without error checking) to the xencommons
initscript?

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:05:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEcQ-0002Gx-7J; Tue, 15 May 2012 10:04:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUEcP-0002Gp-18
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:04:37 +0000
Received: from [193.109.254.147:24038] by server-6.bemta-14.messagelabs.com id
	7C/CD-04960-43A22BF4; Tue, 15 May 2012 10:04:36 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337076275!1634470!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29568 invoked from network); 15 May 2012 10:04:35 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:04:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12477964"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:04:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:04:35 +0100
Message-ID: <1337076274.14297.34.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 11:04:34 +0100
In-Reply-To: <CAFLBxZb=+b4Wr6VRU0sopXchHB2U1H+djXkMbwVHb6CZPD=6Lg@mail.gmail.com>
References: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
	<1335437978.28015.103.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261218410.26786@kaball-desktop>
	<1335439154.28015.119.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261306350.26786@kaball-desktop>
	<CAFLBxZY0=HMRDAvM_mzw+tVK0JDvBFG59beLpKV2c39Zk6u2fQ@mail.gmail.com>
	<1335446686.28015.150.camel@zakaz.uk.xensource.com>
	<CAFLBxZbQyfZkm1OC6F3pXN7cznaM0mv0L_9JBKswG51yKRZpaQ@mail.gmail.com>
	<1335448015.28015.151.camel@zakaz.uk.xensource.com>
	<CAFLBxZb=+b4Wr6VRU0sopXchHB2U1H+djXkMbwVHb6CZPD=6Lg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Kernel aio bug in Debian 2.6.32-5-xen kernel?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:01 +0100, George Dunlap wrote:
> On Thu, Apr 26, 2012 at 2:46 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Thu, 2012-04-26 at 14:43 +0100, George Dunlap wrote:
> >> On Thu, Apr 26, 2012 at 2:24 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Thu, 2012-04-26 at 14:14 +0100, George Dunlap wrote:
> >> >> On Thu, Apr 26, 2012 at 1:07 PM, Stefano Stabellini
> >> >> <stefano.stabellini@eu.citrix.com> wrote:
> >> >> >> However this kernel does have blktap so why is qemu based AIO being used
> >> >> >> at all?
> >> >> >
> >> >> > If blktap is present and working then libxl only uses QEMU for
> >> >> > qcow/qcow2 disk images.
> >> >>
> >> >> Hmm -- except that the process that's dying is clearly QEMU, and the
> >> >> disk images are definitely not qcow*, and Ian seems to think this
> >> >> kernel has blktap (how could I tell?), so something's not right.
> >> >
> >> > It looks like it is a module -- lsmod should confirm, maybe it's a
> >> > simple as loading it?
> >> >
> >> > (if so let me know and I'll be sure to include that when I write up
> >> > "installing a Debian Dom0")
> >>
> >> Indeed, blktap was *not* loaded, and "modprobe blktap" seems make things work.
> >>
> >> Should this be done in one of the initscripts?  Or perhaps by xl?
> >
> > xencommons should do it, IMHO.
> 
> Just re-ran into this problem.  Is the preferred solution to just add
> "modprobe blktap" (without error checking) to the xencommons
> initscript?

Right, or maybe xen-blktap depending on the kernel, or maybe both. (not
sure if this is one of the ones which got renamed, being out of tree I
suppose it is less likely...)

There's a bunch of modprobes in there already which you can just copy


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:05:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEcQ-0002Gx-7J; Tue, 15 May 2012 10:04:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUEcP-0002Gp-18
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:04:37 +0000
Received: from [193.109.254.147:24038] by server-6.bemta-14.messagelabs.com id
	7C/CD-04960-43A22BF4; Tue, 15 May 2012 10:04:36 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337076275!1634470!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29568 invoked from network); 15 May 2012 10:04:35 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:04:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12477964"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:04:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:04:35 +0100
Message-ID: <1337076274.14297.34.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 11:04:34 +0100
In-Reply-To: <CAFLBxZb=+b4Wr6VRU0sopXchHB2U1H+djXkMbwVHb6CZPD=6Lg@mail.gmail.com>
References: <CAFLBxZZjaRprdo_-ADpyB1bmfOW2zxTjaDCcSTFL90wNMLX4Vg@mail.gmail.com>
	<1335437978.28015.103.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261218410.26786@kaball-desktop>
	<1335439154.28015.119.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1204261306350.26786@kaball-desktop>
	<CAFLBxZY0=HMRDAvM_mzw+tVK0JDvBFG59beLpKV2c39Zk6u2fQ@mail.gmail.com>
	<1335446686.28015.150.camel@zakaz.uk.xensource.com>
	<CAFLBxZbQyfZkm1OC6F3pXN7cznaM0mv0L_9JBKswG51yKRZpaQ@mail.gmail.com>
	<1335448015.28015.151.camel@zakaz.uk.xensource.com>
	<CAFLBxZb=+b4Wr6VRU0sopXchHB2U1H+djXkMbwVHb6CZPD=6Lg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Kernel aio bug in Debian 2.6.32-5-xen kernel?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:01 +0100, George Dunlap wrote:
> On Thu, Apr 26, 2012 at 2:46 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Thu, 2012-04-26 at 14:43 +0100, George Dunlap wrote:
> >> On Thu, Apr 26, 2012 at 2:24 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Thu, 2012-04-26 at 14:14 +0100, George Dunlap wrote:
> >> >> On Thu, Apr 26, 2012 at 1:07 PM, Stefano Stabellini
> >> >> <stefano.stabellini@eu.citrix.com> wrote:
> >> >> >> However this kernel does have blktap so why is qemu based AIO being used
> >> >> >> at all?
> >> >> >
> >> >> > If blktap is present and working then libxl only uses QEMU for
> >> >> > qcow/qcow2 disk images.
> >> >>
> >> >> Hmm -- except that the process that's dying is clearly QEMU, and the
> >> >> disk images are definitely not qcow*, and Ian seems to think this
> >> >> kernel has blktap (how could I tell?), so something's not right.
> >> >
> >> > It looks like it is a module -- lsmod should confirm, maybe it's a
> >> > simple as loading it?
> >> >
> >> > (if so let me know and I'll be sure to include that when I write up
> >> > "installing a Debian Dom0")
> >>
> >> Indeed, blktap was *not* loaded, and "modprobe blktap" seems make things work.
> >>
> >> Should this be done in one of the initscripts?  Or perhaps by xl?
> >
> > xencommons should do it, IMHO.
> 
> Just re-ran into this problem.  Is the preferred solution to just add
> "modprobe blktap" (without error checking) to the xencommons
> initscript?

Right, or maybe xen-blktap depending on the kernel, or maybe both. (not
sure if this is one of the ones which got renamed, being out of tree I
suppose it is less likely...)

There's a bunch of modprobes in there already which you can just copy


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:06:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:06:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEdt-0002Mg-MU; Tue, 15 May 2012 10:06:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUEds-0002MU-5u
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:06:08 +0000
Received: from [85.158.143.99:40723] by server-3.bemta-4.messagelabs.com id
	3D/BF-05853-F8A22BF4; Tue, 15 May 2012 10:06:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337076366!27174804!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30828 invoked from network); 15 May 2012 10:06:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:06:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12477995"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:05:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:05:40 +0100
Message-ID: <1337076339.14297.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Tue, 15 May 2012 11:05:39 +0100
In-Reply-To: <4FB242F60200007800083B58@nat28.tlf.novell.com>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <stefano.stabellini@citrix.com>,
	Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 10:50 +0100, Jan Beulich wrote:
> >>> On 15.05.12 at 11:27, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Tue, 2012-05-15 at 08:12 +0100, xen.org wrote:
> >> test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876
> > 
> > qemuu is still a bit flakey. It's not the default qemu for 4.2 but would
> > still be nice to investigate.
> 
> Isn't it being made the default at least for pv guests?

Right, yes. I should have made it clear I was talking about HVM here.

>  After having fixed
> the gntdev driver in our kernels and the pvops-centric shortcomings in
> both qemu-s, the qdisk backend still looks somewhat unreliable in
> testing that Olaf has performed. We haven't narrowed it so far, but
> a resulting question of course is whether using that backend (and/or
> qemu-upstream) by default for any guests is a good idea.

CCing Stefano who made the patch to have PV guests use this guy. Please
do share details when you have them.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:06:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:06:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEdt-0002Mg-MU; Tue, 15 May 2012 10:06:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUEds-0002MU-5u
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:06:08 +0000
Received: from [85.158.143.99:40723] by server-3.bemta-4.messagelabs.com id
	3D/BF-05853-F8A22BF4; Tue, 15 May 2012 10:06:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337076366!27174804!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30828 invoked from network); 15 May 2012 10:06:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:06:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12477995"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:05:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:05:40 +0100
Message-ID: <1337076339.14297.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Tue, 15 May 2012 11:05:39 +0100
In-Reply-To: <4FB242F60200007800083B58@nat28.tlf.novell.com>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <stefano.stabellini@citrix.com>,
	Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 10:50 +0100, Jan Beulich wrote:
> >>> On 15.05.12 at 11:27, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Tue, 2012-05-15 at 08:12 +0100, xen.org wrote:
> >> test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12860 pass in 12876
> > 
> > qemuu is still a bit flakey. It's not the default qemu for 4.2 but would
> > still be nice to investigate.
> 
> Isn't it being made the default at least for pv guests?

Right, yes. I should have made it clear I was talking about HVM here.

>  After having fixed
> the gntdev driver in our kernels and the pvops-centric shortcomings in
> both qemu-s, the qdisk backend still looks somewhat unreliable in
> testing that Olaf has performed. We haven't narrowed it so far, but
> a resulting question of course is whether using that backend (and/or
> qemu-upstream) by default for any guests is a good idea.

CCing Stefano who made the patch to have PV guests use this guy. Please
do share details when you have them.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:17:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEoL-0002cq-QN; Tue, 15 May 2012 10:16:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUEoK-0002cl-P9
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:16:57 +0000
Received: from [193.109.254.147:36612] by server-5.bemta-14.messagelabs.com id
	23/38-30733-81D22BF4; Tue, 15 May 2012 10:16:56 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337077015!2490634!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3637 invoked from network); 15 May 2012 10:16:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:16:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12478272"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:16:55 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 11:16:55 +0100
Date: Tue, 15 May 2012 11:16:39 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Kevin Wolf <kwolf@redhat.com>
In-Reply-To: <4FB21A3F.6060509@redhat.com>
Message-ID: <alpine.DEB.2.00.1205151115240.26786@kaball-desktop>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
	<4FB21A3F.6060509@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Kevin Wolf wrote:
> Am 14.05.2012 16:57, schrieb Stefano Stabellini:
> > On Mon, 14 May 2012, Jan Beulich wrote:
> >> While for the "normal" case (called from blk_send_response_all())
> >> decrementing requests_finished is correct, doing so in the parse error
> >> case is wrong; requests_inflight needs to be decremented instead.
> >>
> >> Change in v2: Adjust coding style.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> Aren't you going to send a pull request yourself, Stefano?

Yes, I am: I am collecting a series of Xen patches for 1.1 and I am
aiming at sending a single pull request by the end of the week.

http://marc.info/?l=qemu-devel&m=133701567429388&w=2

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:17:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEoL-0002cq-QN; Tue, 15 May 2012 10:16:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUEoK-0002cl-P9
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:16:57 +0000
Received: from [193.109.254.147:36612] by server-5.bemta-14.messagelabs.com id
	23/38-30733-81D22BF4; Tue, 15 May 2012 10:16:56 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337077015!2490634!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3637 invoked from network); 15 May 2012 10:16:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:16:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12478272"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:16:55 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 11:16:55 +0100
Date: Tue, 15 May 2012 11:16:39 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Kevin Wolf <kwolf@redhat.com>
In-Reply-To: <4FB21A3F.6060509@redhat.com>
Message-ID: <alpine.DEB.2.00.1205151115240.26786@kaball-desktop>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
	<4FB21A3F.6060509@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Kevin Wolf wrote:
> Am 14.05.2012 16:57, schrieb Stefano Stabellini:
> > On Mon, 14 May 2012, Jan Beulich wrote:
> >> While for the "normal" case (called from blk_send_response_all())
> >> decrementing requests_finished is correct, doing so in the parse error
> >> case is wrong; requests_inflight needs to be decremented instead.
> >>
> >> Change in v2: Adjust coding style.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> Aren't you going to send a pull request yourself, Stefano?

Yes, I am: I am collecting a series of Xen patches for 1.1 and I am
aiming at sending a single pull request by the end of the week.

http://marc.info/?l=qemu-devel&m=133701567429388&w=2

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:27:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEyU-0002mF-UL; Tue, 15 May 2012 10:27:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUEyT-0002mA-HD
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:27:25 +0000
Received: from [193.109.254.147:5132] by server-3.bemta-14.messagelabs.com id
	2A/32-23274-C8F22BF4; Tue, 15 May 2012 10:27:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337077643!4177137!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11676 invoked from network); 15 May 2012 10:27:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:27:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12478534"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:27:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 11:27:23 +0100
Date: Tue, 15 May 2012 11:27:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337076339.14297.35.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
	<1337076339.14297.35.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Ian Campbell wrote:
> >  After having fixed
> > the gntdev driver in our kernels and the pvops-centric shortcomings in
> > both qemu-s, the qdisk backend still looks somewhat unreliable in
> > testing that Olaf has performed. We haven't narrowed it so far, but
> > a resulting question of course is whether using that backend (and/or
> > qemu-upstream) by default for any guests is a good idea.
> 
> CCing Stefano who made the patch to have PV guests use this guy. Please
> do share details when you have them.

I would prefer precise bug reports, and possibly patches, to "somewhat
unreliable" :-)

Please note that the userspace disk backend is basically the same in
upstream QEMU and qemu-xen-traditional, so switching back to the old
QEMU for pv guests wouldn't improve anything.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:27:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUEyU-0002mF-UL; Tue, 15 May 2012 10:27:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUEyT-0002mA-HD
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:27:25 +0000
Received: from [193.109.254.147:5132] by server-3.bemta-14.messagelabs.com id
	2A/32-23274-C8F22BF4; Tue, 15 May 2012 10:27:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337077643!4177137!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11676 invoked from network); 15 May 2012 10:27:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:27:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12478534"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:27:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 11:27:23 +0100
Date: Tue, 15 May 2012 11:27:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337076339.14297.35.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
	<1337076339.14297.35.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Ian Campbell wrote:
> >  After having fixed
> > the gntdev driver in our kernels and the pvops-centric shortcomings in
> > both qemu-s, the qdisk backend still looks somewhat unreliable in
> > testing that Olaf has performed. We haven't narrowed it so far, but
> > a resulting question of course is whether using that backend (and/or
> > qemu-upstream) by default for any guests is a good idea.
> 
> CCing Stefano who made the patch to have PV guests use this guy. Please
> do share details when you have them.

I would prefer precise bug reports, and possibly patches, to "somewhat
unreliable" :-)

Please note that the userspace disk backend is basically the same in
upstream QEMU and qemu-xen-traditional, so switching back to the old
QEMU for pv guests wouldn't improve anything.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:32:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:32:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF3V-0002uM-LY; Tue, 15 May 2012 10:32:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kwolf@redhat.com>) id 1SUF3U-0002uH-AE
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:32:36 +0000
Received: from [85.158.143.99:47279] by server-1.bemta-4.messagelabs.com id
	D7/98-20925-3C032BF4; Tue, 15 May 2012 10:32:35 +0000
X-Env-Sender: kwolf@redhat.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337077953!27746581!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11262 invoked from network); 15 May 2012 10:32:34 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-216.messagelabs.com with SMTP;
	15 May 2012 10:32:34 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FAWQoB009791
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 06:32:27 -0400
Received: from dhcp-5-188.str.redhat.com (vpn1-5-43.ams2.redhat.com
	[10.36.5.43])
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q4FAWOSC026243
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 15 May 2012 06:32:25 -0400
Message-ID: <4FB230B8.9060002@redhat.com>
Date: Tue, 15 May 2012 12:32:24 +0200
From: Kevin Wolf <kwolf@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
	<4FB21A3F.6060509@redhat.com>
	<alpine.DEB.2.00.1205151115240.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205151115240.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am 15.05.2012 12:16, schrieb Stefano Stabellini:
> On Tue, 15 May 2012, Kevin Wolf wrote:
>> Am 14.05.2012 16:57, schrieb Stefano Stabellini:
>>> On Mon, 14 May 2012, Jan Beulich wrote:
>>>> While for the "normal" case (called from blk_send_response_all())
>>>> decrementing requests_finished is correct, doing so in the parse error
>>>> case is wrong; requests_inflight needs to be decremented instead.
>>>>
>>>> Change in v2: Adjust coding style.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>>
>> Aren't you going to send a pull request yourself, Stefano?
> 
> Yes, I am: I am collecting a series of Xen patches for 1.1 and I am
> aiming at sending a single pull request by the end of the week.
> 
> http://marc.info/?l=qemu-devel&m=133701567429388&w=2

Ok, great.

I was just wondering because I always understood an Acked-by as a
message to the maintainer who picks the patch up, so I wasn't sure if
you expected me to do it and the patch would fall through the cracks.

Kevin

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:32:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:32:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF3V-0002uM-LY; Tue, 15 May 2012 10:32:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kwolf@redhat.com>) id 1SUF3U-0002uH-AE
	for xen-devel@lists.xen.org; Tue, 15 May 2012 10:32:36 +0000
Received: from [85.158.143.99:47279] by server-1.bemta-4.messagelabs.com id
	D7/98-20925-3C032BF4; Tue, 15 May 2012 10:32:35 +0000
X-Env-Sender: kwolf@redhat.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337077953!27746581!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11262 invoked from network); 15 May 2012 10:32:34 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-216.messagelabs.com with SMTP;
	15 May 2012 10:32:34 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FAWQoB009791
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 06:32:27 -0400
Received: from dhcp-5-188.str.redhat.com (vpn1-5-43.ams2.redhat.com
	[10.36.5.43])
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q4FAWOSC026243
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 15 May 2012 06:32:25 -0400
Message-ID: <4FB230B8.9060002@redhat.com>
Date: Tue, 15 May 2012 12:32:24 +0200
From: Kevin Wolf <kwolf@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <4FB0FAC8020000780008369A@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205141557350.26786@kaball-desktop>
	<4FB21A3F.6060509@redhat.com>
	<alpine.DEB.2.00.1205151115240.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205151115240.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH,
 v2] qemu/xendisk: properly update stats in ioreq_release()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Am 15.05.2012 12:16, schrieb Stefano Stabellini:
> On Tue, 15 May 2012, Kevin Wolf wrote:
>> Am 14.05.2012 16:57, schrieb Stefano Stabellini:
>>> On Mon, 14 May 2012, Jan Beulich wrote:
>>>> While for the "normal" case (called from blk_send_response_all())
>>>> decrementing requests_finished is correct, doing so in the parse error
>>>> case is wrong; requests_inflight needs to be decremented instead.
>>>>
>>>> Change in v2: Adjust coding style.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>>
>> Aren't you going to send a pull request yourself, Stefano?
> 
> Yes, I am: I am collecting a series of Xen patches for 1.1 and I am
> aiming at sending a single pull request by the end of the week.
> 
> http://marc.info/?l=qemu-devel&m=133701567429388&w=2

Ok, great.

I was just wondering because I always understood an Acked-by as a
message to the maintainer who picks the patch up, so I wasn't sure if
you expected me to do it and the patch would fall through the cracks.

Kevin

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:35:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:35:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF5a-00032a-AU; Tue, 15 May 2012 10:34:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jana@saout.de>) id 1SUF5Y-00032O-Gr
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:34:44 +0000
Received: from [193.109.254.147:37559] by server-7.bemta-14.messagelabs.com id
	50/E9-01627-34132BF4; Tue, 15 May 2012 10:34:43 +0000
X-Env-Sender: jana@saout.de
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337078082!9311512!1
X-Originating-IP: [78.46.99.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6445 invoked from network); 15 May 2012 10:34:43 -0000
Received: from websrv.saout.de (HELO websrv.saout.de) (78.46.99.52)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 15 May 2012 10:34:43 -0000
Received: from [192.168.128.60] (p50994a5e.dip0.t-ipconnect.de [80.153.74.94])
	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
	(Client did not present a certificate)
	by mail.saout.de (Postfix) with ESMTPSA id 0092AC123;
	Tue, 15 May 2012 12:34:41 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=saout.de; s=default;
	t=1337078082; bh=g2/nZ5RguwNrZjwK5E3aeJEWCA27LC6+iaeuceeX7f0=;
	h=Message-ID:Subject:From:Date;
	b=uXYG74jP6zX9AH1I7YOdB5K5jNcpJdZtlFMYrtRa/xAGl7ngRhdkrrKrxTH91owkv
	YYRPHJ3LaCP4VCeSIr6ZQ9Ld25CkC4puEYwYfgztOOSJmQyqbVzc23d9TRh2FLDQhw
	lbBp5/+RNkCywrj5jkZ42cE9WoZhiQxHRPi7a5DM=
Message-ID: <1337078086.3605.16.camel@localhost>
From: Jana Saout <jana@saout.de>
To: xen-devel@lists.xensource.com
Date: Tue, 15 May 2012 12:34:46 +0200
X-Mailer: Evolution 3.4.1 
Mime-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen: Add selfballoning memory reservation
	tunable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Currently, the memory target in the Xen selfballooning driver is mainly
driven by the value of "Committed_AS".  However, there are cases in
which it is desirable to assign additional memory to be available for
the kernel, e.g. for local caches (which are not covered by cleancache),
e.g. dcache and inode caches.

This adds an additional tunable in the selfballooning driver (accessible
via sysfs) which allows the user to specify an additional constant
amount of memory to be reserved by the selfballoning driver for the
local domain.

Signed-off-by: Jana Saout <jana@saout.de>
Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>

--- a/drivers/xen/xen-selfballoon.c
+++ b/drivers/xen/xen-selfballoon.c
@@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
  */
 static unsigned int selfballoon_min_usable_mb;
 
+/*
+ * Amount of RAM in MB to add to the target number of pages.
+ * Can be used to reserve some more room for caches and the like.
+ */
+static unsigned int selfballoon_reserved_mb;
+
 static void selfballoon_process(struct work_struct *work);
 static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
 
@@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
 		cur_pages = totalram_pages;
 		tgt_pages = cur_pages; /* default is no change */
 		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
-				totalreserve_pages;
+				totalreserve_pages +
+				MB2PAGES(selfballoon_reserved_mb);
 #ifdef CONFIG_FRONTSWAP
 		/* allow space for frontswap pages to be repatriated */
 		if (frontswap_selfshrinking && frontswap_enabled)
@@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
 		   show_selfballoon_min_usable_mb,
 		   store_selfballoon_min_usable_mb);
 
+SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
+				selfballoon_reserved_mb);
+
+static ssize_t store_selfballoon_reserved_mb(struct device *dev,
+					     struct device_attribute *attr,
+					     const char *buf,
+					     size_t count)
+{
+	unsigned long val;
+	int err;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+	err = strict_strtoul(buf, 10, &val);
+	if (err || val == 0)
+		return -EINVAL;
+	selfballoon_reserved_mb = val;
+	return count;
+}
+
+static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
+		   show_selfballoon_reserved_mb,
+		   store_selfballoon_reserved_mb);
+
 
 #ifdef CONFIG_FRONTSWAP
 SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
@@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
 	&dev_attr_selfballoon_downhysteresis.attr,
 	&dev_attr_selfballoon_uphysteresis.attr,
 	&dev_attr_selfballoon_min_usable_mb.attr,
+	&dev_attr_selfballoon_reserved_mb.attr,
 #ifdef CONFIG_FRONTSWAP
 	&dev_attr_frontswap_selfshrinking.attr,
 	&dev_attr_frontswap_hysteresis.attr,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:35:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:35:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF5a-00032a-AU; Tue, 15 May 2012 10:34:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jana@saout.de>) id 1SUF5Y-00032O-Gr
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:34:44 +0000
Received: from [193.109.254.147:37559] by server-7.bemta-14.messagelabs.com id
	50/E9-01627-34132BF4; Tue, 15 May 2012 10:34:43 +0000
X-Env-Sender: jana@saout.de
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337078082!9311512!1
X-Originating-IP: [78.46.99.52]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6445 invoked from network); 15 May 2012 10:34:43 -0000
Received: from websrv.saout.de (HELO websrv.saout.de) (78.46.99.52)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 15 May 2012 10:34:43 -0000
Received: from [192.168.128.60] (p50994a5e.dip0.t-ipconnect.de [80.153.74.94])
	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
	(Client did not present a certificate)
	by mail.saout.de (Postfix) with ESMTPSA id 0092AC123;
	Tue, 15 May 2012 12:34:41 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=saout.de; s=default;
	t=1337078082; bh=g2/nZ5RguwNrZjwK5E3aeJEWCA27LC6+iaeuceeX7f0=;
	h=Message-ID:Subject:From:Date;
	b=uXYG74jP6zX9AH1I7YOdB5K5jNcpJdZtlFMYrtRa/xAGl7ngRhdkrrKrxTH91owkv
	YYRPHJ3LaCP4VCeSIr6ZQ9Ld25CkC4puEYwYfgztOOSJmQyqbVzc23d9TRh2FLDQhw
	lbBp5/+RNkCywrj5jkZ42cE9WoZhiQxHRPi7a5DM=
Message-ID: <1337078086.3605.16.camel@localhost>
From: Jana Saout <jana@saout.de>
To: xen-devel@lists.xensource.com
Date: Tue, 15 May 2012 12:34:46 +0200
X-Mailer: Evolution 3.4.1 
Mime-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen: Add selfballoning memory reservation
	tunable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Currently, the memory target in the Xen selfballooning driver is mainly
driven by the value of "Committed_AS".  However, there are cases in
which it is desirable to assign additional memory to be available for
the kernel, e.g. for local caches (which are not covered by cleancache),
e.g. dcache and inode caches.

This adds an additional tunable in the selfballooning driver (accessible
via sysfs) which allows the user to specify an additional constant
amount of memory to be reserved by the selfballoning driver for the
local domain.

Signed-off-by: Jana Saout <jana@saout.de>
Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>

--- a/drivers/xen/xen-selfballoon.c
+++ b/drivers/xen/xen-selfballoon.c
@@ -105,6 +105,12 @@ static unsigned int selfballoon_interval __read_mostly = 5;
  */
 static unsigned int selfballoon_min_usable_mb;
 
+/*
+ * Amount of RAM in MB to add to the target number of pages.
+ * Can be used to reserve some more room for caches and the like.
+ */
+static unsigned int selfballoon_reserved_mb;
+
 static void selfballoon_process(struct work_struct *work);
 static DECLARE_DELAYED_WORK(selfballoon_worker, selfballoon_process);
 
@@ -217,7 +223,8 @@ static void selfballoon_process(struct work_struct *work)
 		cur_pages = totalram_pages;
 		tgt_pages = cur_pages; /* default is no change */
 		goal_pages = percpu_counter_read_positive(&vm_committed_as) +
-				totalreserve_pages;
+				totalreserve_pages +
+				MB2PAGES(selfballoon_reserved_mb);
 #ifdef CONFIG_FRONTSWAP
 		/* allow space for frontswap pages to be repatriated */
 		if (frontswap_selfshrinking && frontswap_enabled)
@@ -397,6 +404,30 @@ static DEVICE_ATTR(selfballoon_min_usable_mb, S_IRUGO | S_IWUSR,
 		   show_selfballoon_min_usable_mb,
 		   store_selfballoon_min_usable_mb);
 
+SELFBALLOON_SHOW(selfballoon_reserved_mb, "%d\n",
+				selfballoon_reserved_mb);
+
+static ssize_t store_selfballoon_reserved_mb(struct device *dev,
+					     struct device_attribute *attr,
+					     const char *buf,
+					     size_t count)
+{
+	unsigned long val;
+	int err;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+	err = strict_strtoul(buf, 10, &val);
+	if (err || val == 0)
+		return -EINVAL;
+	selfballoon_reserved_mb = val;
+	return count;
+}
+
+static DEVICE_ATTR(selfballoon_reserved_mb, S_IRUGO | S_IWUSR,
+		   show_selfballoon_reserved_mb,
+		   store_selfballoon_reserved_mb);
+
 
 #ifdef CONFIG_FRONTSWAP
 SELFBALLOON_SHOW(frontswap_selfshrinking, "%d\n", frontswap_selfshrinking);
@@ -480,6 +511,7 @@ static struct attribute *selfballoon_attrs[] = {
 	&dev_attr_selfballoon_downhysteresis.attr,
 	&dev_attr_selfballoon_uphysteresis.attr,
 	&dev_attr_selfballoon_min_usable_mb.attr,
+	&dev_attr_selfballoon_reserved_mb.attr,
 #ifdef CONFIG_FRONTSWAP
 	&dev_attr_frontswap_selfshrinking.attr,
 	&dev_attr_frontswap_hysteresis.attr,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6b-00037h-TX; Tue, 15 May 2012 10:35:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6a-00036X-AM
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:48 +0000
Received: from [85.158.143.99:10125] by server-1.bemta-4.messagelabs.com id
	3B/4E-20925-48132BF4; Tue, 15 May 2012 10:35:48 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337078145!21522328!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17942 invoked from network); 15 May 2012 10:35:46 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190722"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-2S;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: 662e2f6be283a05422845ad4f319c3627b53f85a
Message-ID: <662e2f6be283a0542284.1337077984@kodo2>
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:04 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3 v2] libxl: Look for bootloader in libexec
	path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
given, check for it first in the libexec path before falling back to the
PATH variable.

v2:
 - Check for the libexec path, and if the bootloader isn't there, fall back to
   the explicitly passed value.  If the full path isn't specified, this will
   case execvp to search using the path given in the PATH variable.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 84ae90427c54 -r 662e2f6be283 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Fri May 11 17:46:16 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:53 2012 +0100
@@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
 
     char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
     char *tempdir;
+    const char *bootloader = NULL;
 
     char *dom_console_xs_path;
     char dom_console_slave_tty_path[PATH_MAX];
@@ -397,6 +398,30 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
+    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
+               info->u.pv.bootloader);
+
+    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
+                                 libxl__libexec_path());
+    if ( bootloader == NULL ) {
+        rc = ERROR_NOMEM;
+        goto out_close;
+    } else {
+        /* Check to see if the file exists in this location; if not,  fall back
+         * to checking the path */
+        struct stat st;
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Resulting bootloader path: %s",
+                   bootloader);
+
+        if ( lstat(bootloader, &st) )
+        {
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "%s doesn't exist, will search $PATH",
+                       bootloader);
+            bootloader = info->u.pv.bootloader;
+        }
+    }
+
     /*
      * We need to present the bootloader's tty as a pty slave that xenconsole
      * can access.  Since the bootloader itself needs a pty slave,
@@ -417,7 +442,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
     libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
 
-    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
+    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
     if (pid < 0) {
         goto out_close;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6b-00037h-TX; Tue, 15 May 2012 10:35:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6a-00036X-AM
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:48 +0000
Received: from [85.158.143.99:10125] by server-1.bemta-4.messagelabs.com id
	3B/4E-20925-48132BF4; Tue, 15 May 2012 10:35:48 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337078145!21522328!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17942 invoked from network); 15 May 2012 10:35:46 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190722"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-2S;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: 662e2f6be283a05422845ad4f319c3627b53f85a
Message-ID: <662e2f6be283a0542284.1337077984@kodo2>
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:04 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3 v2] libxl: Look for bootloader in libexec
	path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
given, check for it first in the libexec path before falling back to the
PATH variable.

v2:
 - Check for the libexec path, and if the bootloader isn't there, fall back to
   the explicitly passed value.  If the full path isn't specified, this will
   case execvp to search using the path given in the PATH variable.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 84ae90427c54 -r 662e2f6be283 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Fri May 11 17:46:16 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:53 2012 +0100
@@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
 
     char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
     char *tempdir;
+    const char *bootloader = NULL;
 
     char *dom_console_xs_path;
     char dom_console_slave_tty_path[PATH_MAX];
@@ -397,6 +398,30 @@ int libxl_run_bootloader(libxl_ctx *ctx,
         goto out_close;
     }
 
+    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
+               info->u.pv.bootloader);
+
+    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
+                                 libxl__libexec_path());
+    if ( bootloader == NULL ) {
+        rc = ERROR_NOMEM;
+        goto out_close;
+    } else {
+        /* Check to see if the file exists in this location; if not,  fall back
+         * to checking the path */
+        struct stat st;
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Resulting bootloader path: %s",
+                   bootloader);
+
+        if ( lstat(bootloader, &st) )
+        {
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "%s doesn't exist, will search $PATH",
+                       bootloader);
+            bootloader = info->u.pv.bootloader;
+        }
+    }
+
     /*
      * We need to present the bootloader's tty as a pty slave that xenconsole
      * can access.  Since the bootloader itself needs a pty slave,
@@ -417,7 +442,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
     libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
 
-    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
+    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
     if (pid < 0) {
         goto out_close;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6b-00037V-HZ; Tue, 15 May 2012 10:35:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6Z-00036q-UC
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:48 +0000
Received: from [85.158.143.99:10065] by server-2.bemta-4.messagelabs.com id
	CE/05-06146-38132BF4; Tue, 15 May 2012 10:35:47 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337078142!28099624!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10978 invoked from network); 15 May 2012 10:35:46 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190721"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-2x;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: 4503705206f3ca3cf000d5244e5bed379936c64c
Message-ID: <4503705206f3ca3cf000.1337077985@kodo2>
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:05 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3 v2] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.

Because most config files will still have an absolute path pointing to
/usr/bin/pygrub, make a symbolic link that we will deprecate.

Signed-off-by: George Dunlap <george.dunlap@eu.ctirix.com>

diff -r 662e2f6be283 -r 4503705206f3 tools/misc/Makefile
--- a/tools/misc/Makefile	Tue May 15 11:20:53 2012 +0100
+++ b/tools/misc/Makefile	Tue May 15 11:20:55 2012 +0100
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
-INSTALL_BIN-y := xencons xenpvnetboot
+INSTALL_BIN-y := xencons
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
@@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
+INSTALL_PRIVBIN-y := xenpvnetboot
+INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
+
 # Include configure output (config.h) to headers search path
 CFLAGS += -I$(XEN_ROOT)/tools
 
@@ -41,8 +44,10 @@ build: $(TARGETS)
 install: build
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
 	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
 
 .PHONY: clean
diff -r 662e2f6be283 -r 4503705206f3 tools/pygrub/Makefile
--- a/tools/pygrub/Makefile	Tue May 15 11:20:53 2012 +0100
+++ b/tools/pygrub/Makefile	Tue May 15 11:20:55 2012 +0100
@@ -11,9 +11,11 @@ build:
 .PHONY: install
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
-	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
+		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
+	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6b-00037V-HZ; Tue, 15 May 2012 10:35:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6Z-00036q-UC
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:48 +0000
Received: from [85.158.143.99:10065] by server-2.bemta-4.messagelabs.com id
	CE/05-06146-38132BF4; Tue, 15 May 2012 10:35:47 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337078142!28099624!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10978 invoked from network); 15 May 2012 10:35:46 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190721"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-2x;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: 4503705206f3ca3cf000d5244e5bed379936c64c
Message-ID: <4503705206f3ca3cf000.1337077985@kodo2>
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:05 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3 v2] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.

Because most config files will still have an absolute path pointing to
/usr/bin/pygrub, make a symbolic link that we will deprecate.

Signed-off-by: George Dunlap <george.dunlap@eu.ctirix.com>

diff -r 662e2f6be283 -r 4503705206f3 tools/misc/Makefile
--- a/tools/misc/Makefile	Tue May 15 11:20:53 2012 +0100
+++ b/tools/misc/Makefile	Tue May 15 11:20:55 2012 +0100
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
-INSTALL_BIN-y := xencons xenpvnetboot
+INSTALL_BIN-y := xencons
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
@@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
+INSTALL_PRIVBIN-y := xenpvnetboot
+INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
+
 # Include configure output (config.h) to headers search path
 CFLAGS += -I$(XEN_ROOT)/tools
 
@@ -41,8 +44,10 @@ build: $(TARGETS)
 install: build
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
 	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
 
 .PHONY: clean
diff -r 662e2f6be283 -r 4503705206f3 tools/pygrub/Makefile
--- a/tools/pygrub/Makefile	Tue May 15 11:20:53 2012 +0100
+++ b/tools/pygrub/Makefile	Tue May 15 11:20:55 2012 +0100
@@ -11,9 +11,11 @@ build:
 .PHONY: install
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
-	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
+		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
+	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6a-00036w-5M; Tue, 15 May 2012 10:35:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6Z-00036X-07
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:47 +0000
Received: from [85.158.143.99:9998] by server-1.bemta-4.messagelabs.com id
	78/3E-20925-28132BF4; Tue, 15 May 2012 10:35:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337078142!28099624!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10914 invoked from network); 15 May 2012 10:35:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190720"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-3N;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: 01804c550dd1e9fc51c1efd0014a4958fcb1b628
Message-ID: <01804c550dd1e9fc51c1.1337077986@kodo2>
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:06 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3 v2] libxl: Warn that /usr/bin/pygrub is
	deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

v2: Use strcmp rather than strncmp.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 4503705206f3 -r 01804c550dd1 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:55 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:28:12 2012 +0100
@@ -15,6 +15,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include <termios.h>
+#include <string.h>
 
 #include "libxl_internal.h"
 
@@ -401,6 +402,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
                info->u.pv.bootloader);
 
+    if ( !strcmp(info->u.pv.bootloader, "/usr/bin/pygrub") )
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "WARNING: bootloader='/usr/bin/pygrub' "             \
+                   "is deprecated; use bootloader='pygrub' instead");
+    
     bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
                                  libxl__libexec_path());
     if ( bootloader == NULL ) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6a-00036w-5M; Tue, 15 May 2012 10:35:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6Z-00036X-07
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:47 +0000
Received: from [85.158.143.99:9998] by server-1.bemta-4.messagelabs.com id
	78/3E-20925-28132BF4; Tue, 15 May 2012 10:35:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337078142!28099624!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10914 invoked from network); 15 May 2012 10:35:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190720"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-3N;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: 01804c550dd1e9fc51c1efd0014a4958fcb1b628
Message-ID: <01804c550dd1e9fc51c1.1337077986@kodo2>
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:06 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3 v2] libxl: Warn that /usr/bin/pygrub is
	deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

v2: Use strcmp rather than strncmp.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 4503705206f3 -r 01804c550dd1 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:55 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:28:12 2012 +0100
@@ -15,6 +15,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include <termios.h>
+#include <string.h>
 
 #include "libxl_internal.h"
 
@@ -401,6 +402,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
     LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
                info->u.pv.bootloader);
 
+    if ( !strcmp(info->u.pv.bootloader, "/usr/bin/pygrub") )
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "WARNING: bootloader='/usr/bin/pygrub' "             \
+                   "is deprecated; use bootloader='pygrub' instead");
+    
     bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
                                  libxl__libexec_path());
     if ( bootloader == NULL ) {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6Y-00036b-P2; Tue, 15 May 2012 10:35:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6X-00036O-Q0
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:45 +0000
Received: from [85.158.143.99:55829] by server-3.bemta-4.messagelabs.com id
	00/92-05853-18132BF4; Tue, 15 May 2012 10:35:45 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337078142!28099624!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10861 invoked from network); 15 May 2012 10:35:43 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190719"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-1q;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:03 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3 v2] tools: Move bootloaders to libexec
	directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

tools: Move bootloaders to libexec directory

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
series:
* Causes libxl to look in the libexec dir if a full path is not specified,
  falling back to searching PATH if it's not in the libexec dir
* Moves pygrub and xenpvnetboot into the libexec dir
* For compatibility with existing configs, puts a link to pygrub in /usr/bin
* Warns the user that /usr/bin/pygrub is deprecated

v2: 
 - If the bootloader is not in the libexec path, revert to using the string
   as passed in the config file (which will search $PATH)
 - Use strcmp rather than strncmp

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 10:36:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 10:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUF6Y-00036b-P2; Tue, 15 May 2012 10:35:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUF6X-00036O-Q0
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 10:35:45 +0000
Received: from [85.158.143.99:55829] by server-3.bemta-4.messagelabs.com id
	00/92-05853-18132BF4; Tue, 15 May 2012 10:35:45 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337078142!28099624!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10861 invoked from network); 15 May 2012 10:35:43 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 10:35:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330923600"; d="scan'208";a="25190719"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 06:35:41 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 06:35:41 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUF6T-0005FG-1q;
	Tue, 15 May 2012 11:35:41 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337077983@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 11:33:03 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3 v2] tools: Move bootloaders to libexec
	directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

tools: Move bootloaders to libexec directory

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
series:
* Causes libxl to look in the libexec dir if a full path is not specified,
  falling back to searching PATH if it's not in the libexec dir
* Moves pygrub and xenpvnetboot into the libexec dir
* For compatibility with existing configs, puts a link to pygrub in /usr/bin
* Warns the user that /usr/bin/pygrub is deprecated

v2: 
 - If the bootloader is not in the libexec path, revert to using the string
   as passed in the config file (which will search $PATH)
 - Use strcmp rather than strncmp

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:11:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFdU-00040X-Uf; Tue, 15 May 2012 11:09:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SUFdS-00040P-Fx
	for xen-devel@lists.xen.org; Tue, 15 May 2012 11:09:47 +0000
Received: from [85.158.143.35:26028] by server-3.bemta-4.messagelabs.com id
	C2/79-05853-97932BF4; Tue, 15 May 2012 11:09:45 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337080183!12311241!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7276 invoked from network); 15 May 2012 11:09:44 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 11:09:44 -0000
Received: by vbbfn1 with SMTP id fn1so6196434vbb.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 04:09:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=NJ0eSSEtAnLu3BTRu/PXdP8C4jSXpwiiXmMlF7nRCSc=;
	b=JDj/2ES359iDBbxjHFXkCH1ZM5KOx68f4tgVWEsdNRKeQ6ATkqc7V5QzIY6dEOxN8L
	8ZMpqMPr83T8UchGcq1ExuCEHRuOJBgFOh7jmQKVEbEQJRNsR5K0DJ6IJEuJ8ZRqrhT4
	mA5X2WeOwn/mhJrapo9oJpJvwUXpbqAVvZJonxXovN/ixwNfJ4pRyPY9RGoD4vAtnRRO
	ys8XvauDi3p/4YjUxZy9Kc99Xcx/PDu2yztp9Vxz4z68hy2PfZIHKEitCb3D4xsNjixM
	UqYiSQSHXsQqf+9y6ztsXYXASHKSCJw6rrUQsCgD6kjAFSMVrsx6APk3RNk9OyFlwVvA
	rQBw==
MIME-Version: 1.0
Received: by 10.52.179.35 with SMTP id dd3mr5659985vdc.2.1337080182769; Tue,
	15 May 2012 04:09:42 -0700 (PDT)
Received: by 10.220.35.142 with HTTP; Tue, 15 May 2012 04:09:42 -0700 (PDT)
In-Reply-To: <1336551537.25514.5.camel@zakaz.uk.xensource.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
Date: Tue, 15 May 2012 20:09:42 +0900
Message-ID: <CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: James Harper <james.harper@bendigoit.com.au>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 9, 2012 at 5:18 PM, Ian Campbell <Ian.Campbell@citrix.com> wrot=
e:
> On Wed, 2012-05-09 at 08:54 +0100, James Harper wrote:
>> >
>> > I am writing the PV Driver front end in Seabios.
>> >
>> > Could you explain your method in a little more detail please?
>> >
>>
>> I'm not sure that my way is the best way. The existing linux pv
>> drivers should do what you want - have a look at the source. If you
>> really want to look at my code you can get it from hg and have a look.
>> It's in the xenvbd driver.
>>
>> And I think I got it backwards in a previous email. It seems that the
>> frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64
>> bit.
I was not doing this, now it is written in xenstore, as Ian=B4s
suggestion 32-abi, yet the same problem persists...
After RING RESPONSE 0x0009a040
status:9
operation 0
id:256
This above is the content of the response. The id should be 9. If I
change the id the response status will change to the same number. Any
ideas?

Thanks,

Daniel

>
> That's right, xen/include/public/io/protocols.h defines the valid
> protocols, your frontend should publish the one it implements (probably
> x86_32-abi for a SeaBIOS driver).
>
>> =A0You should probably just make sure your structures are correctly laid
>> out for a 32 bit system and then write the correct protocol string
>> into the frontend when you set up communications and that should
>> ensure that it will work on all but the most ancient Xen
>> implementations.
>>
>> James
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:11:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFdU-00040X-Uf; Tue, 15 May 2012 11:09:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SUFdS-00040P-Fx
	for xen-devel@lists.xen.org; Tue, 15 May 2012 11:09:47 +0000
Received: from [85.158.143.35:26028] by server-3.bemta-4.messagelabs.com id
	C2/79-05853-97932BF4; Tue, 15 May 2012 11:09:45 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337080183!12311241!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7276 invoked from network); 15 May 2012 11:09:44 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 11:09:44 -0000
Received: by vbbfn1 with SMTP id fn1so6196434vbb.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 04:09:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=NJ0eSSEtAnLu3BTRu/PXdP8C4jSXpwiiXmMlF7nRCSc=;
	b=JDj/2ES359iDBbxjHFXkCH1ZM5KOx68f4tgVWEsdNRKeQ6ATkqc7V5QzIY6dEOxN8L
	8ZMpqMPr83T8UchGcq1ExuCEHRuOJBgFOh7jmQKVEbEQJRNsR5K0DJ6IJEuJ8ZRqrhT4
	mA5X2WeOwn/mhJrapo9oJpJvwUXpbqAVvZJonxXovN/ixwNfJ4pRyPY9RGoD4vAtnRRO
	ys8XvauDi3p/4YjUxZy9Kc99Xcx/PDu2yztp9Vxz4z68hy2PfZIHKEitCb3D4xsNjixM
	UqYiSQSHXsQqf+9y6ztsXYXASHKSCJw6rrUQsCgD6kjAFSMVrsx6APk3RNk9OyFlwVvA
	rQBw==
MIME-Version: 1.0
Received: by 10.52.179.35 with SMTP id dd3mr5659985vdc.2.1337080182769; Tue,
	15 May 2012 04:09:42 -0700 (PDT)
Received: by 10.220.35.142 with HTTP; Tue, 15 May 2012 04:09:42 -0700 (PDT)
In-Reply-To: <1336551537.25514.5.camel@zakaz.uk.xensource.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
Date: Tue, 15 May 2012 20:09:42 +0900
Message-ID: <CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: James Harper <james.harper@bendigoit.com.au>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 9, 2012 at 5:18 PM, Ian Campbell <Ian.Campbell@citrix.com> wrot=
e:
> On Wed, 2012-05-09 at 08:54 +0100, James Harper wrote:
>> >
>> > I am writing the PV Driver front end in Seabios.
>> >
>> > Could you explain your method in a little more detail please?
>> >
>>
>> I'm not sure that my way is the best way. The existing linux pv
>> drivers should do what you want - have a look at the source. If you
>> really want to look at my code you can get it from hg and have a look.
>> It's in the xenvbd driver.
>>
>> And I think I got it backwards in a previous email. It seems that the
>> frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64
>> bit.
I was not doing this, now it is written in xenstore, as Ian=B4s
suggestion 32-abi, yet the same problem persists...
After RING RESPONSE 0x0009a040
status:9
operation 0
id:256
This above is the content of the response. The id should be 9. If I
change the id the response status will change to the same number. Any
ideas?

Thanks,

Daniel

>
> That's right, xen/include/public/io/protocols.h defines the valid
> protocols, your frontend should publish the one it implements (probably
> x86_32-abi for a SeaBIOS driver).
>
>> =A0You should probably just make sure your structures are correctly laid
>> out for a 32 bit system and then write the correct protocol string
>> into the frontend when you set up communications and that should
>> ensure that it will work on all but the most ancient Xen
>> implementations.
>>
>> James
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgQ-0004Az-Kb; Tue, 15 May 2012 11:12:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRgQl-0003hS-FN
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:10:03 +0000
Received: from [193.109.254.147:57625] by server-11.bemta-14.messagelabs.com
	id 51/77-05858-AE2E8AF4; Tue, 08 May 2012 09:10:02 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336468201!5706764!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTExNzQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3749 invoked from network); 8 May 2012 09:10:01 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-27.messagelabs.com with SMTP;
	8 May 2012 09:10:01 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4898BIs006631
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 05:08:11 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q48983YO019359; Tue, 8 May 2012 05:08:03 -0400
Message-ID: <4FA8E272.5040307@redhat.com>
Date: Tue, 08 May 2012 12:08:02 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA8579C.3000205@goop.org>
In-Reply-To: <4FA8579C.3000205@goop.org>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/08/2012 02:15 AM, Jeremy Fitzhardinge wrote:
> On 05/07/2012 06:49 AM, Avi Kivity wrote:
> > On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
> >> * Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:
> >>
> >>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
> >>> 'll expect the improvement around 1-3% as it was in last version.
> >> Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
> >> results on PLE hardware. Something worth trying IMHO.
> > Is the improvement so low, because PLE is interfering with the patch, or
> > because PLE already does a good job?
>
> How does PLE help with ticket scheduling on unlock?  I thought it would
> just help with the actual spin loops.

PLE yields to up a random vcpu, hoping it is the lock holder.  This
patchset wakes up the right vcpu.  For small vcpu counts the difference
is a few bad wakeups (and even a bad wakeup sometimes works, since it
can put the spinner to sleep for a bit).  I expect that large vcpu
counts would show a greater difference.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgQ-0004Az-Kb; Tue, 15 May 2012 11:12:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRgQl-0003hS-FN
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 09:10:03 +0000
Received: from [193.109.254.147:57625] by server-11.bemta-14.messagelabs.com
	id 51/77-05858-AE2E8AF4; Tue, 08 May 2012 09:10:02 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1336468201!5706764!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTExNzQ=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3749 invoked from network); 8 May 2012 09:10:01 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-27.messagelabs.com with SMTP;
	8 May 2012 09:10:01 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4898BIs006631
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 8 May 2012 05:08:11 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q48983YO019359; Tue, 8 May 2012 05:08:03 -0400
Message-ID: <4FA8E272.5040307@redhat.com>
Date: Tue, 08 May 2012 12:08:02 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA8579C.3000205@goop.org>
In-Reply-To: <4FA8579C.3000205@goop.org>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/08/2012 02:15 AM, Jeremy Fitzhardinge wrote:
> On 05/07/2012 06:49 AM, Avi Kivity wrote:
> > On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
> >> * Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:
> >>
> >>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
> >>> 'll expect the improvement around 1-3% as it was in last version.
> >> Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
> >> results on PLE hardware. Something worth trying IMHO.
> > Is the improvement so low, because PLE is interfering with the patch, or
> > because PLE already does a good job?
>
> How does PLE help with ticket scheduling on unlock?  I thought it would
> just help with the actual spin loops.

PLE yields to up a random vcpu, hoping it is the lock holder.  This
patchset wakes up the right vcpu.  For small vcpu counts the difference
is a few bad wakeups (and even a bad wakeup sometimes works, since it
can put the spinner to sleep for a bit).  I expect that large vcpu
counts would show a greater difference.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgN-0004A1-3a; Tue, 15 May 2012 11:12:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mingo.kernel.org@gmail.com>) id 1SRRgk-0004iQ-QR
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:25:35 +0000
Received: from [85.158.139.83:12179] by server-11.bemta-5.messagelabs.com id
	0A/B1-12959-D8508AF4; Mon, 07 May 2012 17:25:33 +0000
X-Env-Sender: mingo.kernel.org@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336411532!27138317!1
X-Originating-IP: [209.85.212.169]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 698 invoked from network); 7 May 2012 17:25:33 -0000
Received: from mail-wi0-f169.google.com (HELO mail-wi0-f169.google.com)
	(209.85.212.169)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 17:25:33 -0000
Received: by wibhn14 with SMTP id hn14so992748wib.0
	for <xen-devel@lists.xensource.com>;
	Mon, 07 May 2012 10:25:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent;
	bh=0K1v9lETQQjx6lVhQu/m/mIUmnP0G4978c+iGEC4S4Y=;
	b=nPPEqWfq7P8eDfjnACFSQNfj+rB5vA9ox93yVflU5YRG2wYTChEgNLCR1eo8B1hVRl
	tGJroz3SCh18414wOV0K99a7zyf8fJkeG0alM2jvs+AiwHG+pPj+X9+WKkbkwAZD3LdR
	gR276P82dj2eZtGotKxSXqi2BS1MYABGUxoLptTwyaZplxSW4T7+isrtnVyMbWgxFp9T
	p/GWkTYDhWGMlop/PRgBLjlN6CTUZHFiIaP0pcvLyAHdS9ASG2N+O5V26SG2fp87HyMD
	rUui7efWfLkVwLVInJmMhicTeHSi9JI/ExP7W4zb62418Iinaam9uV7mlcFgJ1SDFINC
	+bww==
Received: by 10.180.93.38 with SMTP id cr6mr7009943wib.16.1336411532221;
	Mon, 07 May 2012 10:25:32 -0700 (PDT)
Received: from gmail.com (54033750.catv.pool.telekom.hu. [84.3.55.80])
	by mx.google.com with ESMTPS id j3sm36065245wiw.1.2012.05.07.10.25.29
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 07 May 2012 10:25:31 -0700 (PDT)
Date: Mon, 7 May 2012 19:25:27 +0200
From: Ingo Molnar <mingo@kernel.org>
To: Avi Kivity <avi@redhat.com>
Message-ID: <20120507172527.GA5357@gmail.com>
References: <4FA7BABA.4040700@redhat.com> <4FA7CC05.50808@linux.vnet.ibm.com>
	<4FA7CCA2.4030408@redhat.com> <4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


* Avi Kivity <avi@redhat.com> wrote:

> > PS: Nikunj had experimented that pv-flush tlb + 
> > paravirt-spinlock is a win on PLE where only one of them 
> > alone could not prove the benefit.
> 
> I'd like to see those numbers, then.
> 
> Ingo, please hold on the kvm-specific patches, meanwhile.

I'll hold off on the whole thing - frankly, we don't want this 
kind of Xen-only complexity. If KVM can make use of PLE then Xen 
ought to be able to do it as well.

If both Xen and KVM makes good use of it then that's a different 
matter.

Thanks,

	Ingo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgN-0004A1-3a; Tue, 15 May 2012 11:12:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mingo.kernel.org@gmail.com>) id 1SRRgk-0004iQ-QR
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 17:25:35 +0000
Received: from [85.158.139.83:12179] by server-11.bemta-5.messagelabs.com id
	0A/B1-12959-D8508AF4; Mon, 07 May 2012 17:25:33 +0000
X-Env-Sender: mingo.kernel.org@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1336411532!27138317!1
X-Originating-IP: [209.85.212.169]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 698 invoked from network); 7 May 2012 17:25:33 -0000
Received: from mail-wi0-f169.google.com (HELO mail-wi0-f169.google.com)
	(209.85.212.169)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 17:25:33 -0000
Received: by wibhn14 with SMTP id hn14so992748wib.0
	for <xen-devel@lists.xensource.com>;
	Mon, 07 May 2012 10:25:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent;
	bh=0K1v9lETQQjx6lVhQu/m/mIUmnP0G4978c+iGEC4S4Y=;
	b=nPPEqWfq7P8eDfjnACFSQNfj+rB5vA9ox93yVflU5YRG2wYTChEgNLCR1eo8B1hVRl
	tGJroz3SCh18414wOV0K99a7zyf8fJkeG0alM2jvs+AiwHG+pPj+X9+WKkbkwAZD3LdR
	gR276P82dj2eZtGotKxSXqi2BS1MYABGUxoLptTwyaZplxSW4T7+isrtnVyMbWgxFp9T
	p/GWkTYDhWGMlop/PRgBLjlN6CTUZHFiIaP0pcvLyAHdS9ASG2N+O5V26SG2fp87HyMD
	rUui7efWfLkVwLVInJmMhicTeHSi9JI/ExP7W4zb62418Iinaam9uV7mlcFgJ1SDFINC
	+bww==
Received: by 10.180.93.38 with SMTP id cr6mr7009943wib.16.1336411532221;
	Mon, 07 May 2012 10:25:32 -0700 (PDT)
Received: from gmail.com (54033750.catv.pool.telekom.hu. [84.3.55.80])
	by mx.google.com with ESMTPS id j3sm36065245wiw.1.2012.05.07.10.25.29
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 07 May 2012 10:25:31 -0700 (PDT)
Date: Mon, 7 May 2012 19:25:27 +0200
From: Ingo Molnar <mingo@kernel.org>
To: Avi Kivity <avi@redhat.com>
Message-ID: <20120507172527.GA5357@gmail.com>
References: <4FA7BABA.4040700@redhat.com> <4FA7CC05.50808@linux.vnet.ibm.com>
	<4FA7CCA2.4030408@redhat.com> <4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


* Avi Kivity <avi@redhat.com> wrote:

> > PS: Nikunj had experimented that pv-flush tlb + 
> > paravirt-spinlock is a win on PLE where only one of them 
> > alone could not prove the benefit.
> 
> I'd like to see those numbers, then.
> 
> Ingo, please hold on the kvm-specific patches, meanwhile.

I'll hold off on the whole thing - frankly, we don't want this 
kind of Xen-only complexity. If KVM can make use of PLE then Xen 
ought to be able to do it as well.

If both Xen and KVM makes good use of it then that's a different 
matter.

Thanks,

	Ingo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgE-00048K-Qq; Tue, 15 May 2012 11:12:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRNs3-0005bW-S9
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:21:00 +0000
Received: from [85.158.143.35:59182] by server-1.bemta-4.messagelabs.com id
	8F/44-20925-B3CC7AF4; Mon, 07 May 2012 13:20:59 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336396846!11820766!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA4MDQxNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13995 invoked from network); 7 May 2012 13:20:50 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:20:50 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 18:50:46 +0530
Received: from d28relay02.in.ibm.com (9.184.220.59)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 18:50:32 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DKVo957540670
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 18:50:32 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47Ip6Lp032488
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 04:51:08 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47Ip0Mx032063; Tue, 8 May 2012 04:51:00 +1000
Message-ID: <4FA7CC05.50808@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 18:50:05 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
In-Reply-To: <4FA7BABA.4040700@redhat.com>
x-cbid: 12050713-2000-0000-0000-00000761265B
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:36 PM, Avi Kivity wrote:
> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>>> This is looking pretty good and complete now - any objections
>>>> from anyone to trying this out in a separate x86 topic tree?
>>>
>>> No objections, instead an
>>>
>>> Acked-by: Avi Kivity<avi@redhat.com>
>>>
[...]
>>
>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>> (3+3 runs)).
>>
>>           BASE                    BASE+patch            %improvement
>>           mean (sd)               mean (sd)
>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>
>
> You're calculating the improvement incorrectly.  In the last case, it's
> not 96%, rather it's 2400% (25x).  Similarly the second case is about
> 900% faster.
>

You are right,
my %improvement was intended to be like
if
1) base takes 100 sec ==> patch takes 93 sec
2) base takes 100 sec ==> patch takes 11 sec
3) base takes 100 sec ==> patch takes 4 sec

The above is more confusing (and incorrect!).

Better is what you told which boils to 10x and 25x improvement in case
2 and case 3. And IMO, this *really* gives the feeling of magnitude of
improvement with patches.

I ll change script to report that way :).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgE-00048K-Qq; Tue, 15 May 2012 11:12:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRNs3-0005bW-S9
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:21:00 +0000
Received: from [85.158.143.35:59182] by server-1.bemta-4.messagelabs.com id
	8F/44-20925-B3CC7AF4; Mon, 07 May 2012 13:20:59 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336396846!11820766!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA4MDQxNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13995 invoked from network); 7 May 2012 13:20:50 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:20:50 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 18:50:46 +0530
Received: from d28relay02.in.ibm.com (9.184.220.59)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 18:50:32 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DKVo957540670
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 18:50:32 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47Ip6Lp032488
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 04:51:08 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47Ip0Mx032063; Tue, 8 May 2012 04:51:00 +1000
Message-ID: <4FA7CC05.50808@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 18:50:05 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
In-Reply-To: <4FA7BABA.4040700@redhat.com>
x-cbid: 12050713-2000-0000-0000-00000761265B
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:36 PM, Avi Kivity wrote:
> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>>> This is looking pretty good and complete now - any objections
>>>> from anyone to trying this out in a separate x86 topic tree?
>>>
>>> No objections, instead an
>>>
>>> Acked-by: Avi Kivity<avi@redhat.com>
>>>
[...]
>>
>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>> (3+3 runs)).
>>
>>           BASE                    BASE+patch            %improvement
>>           mean (sd)               mean (sd)
>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>
>
> You're calculating the improvement incorrectly.  In the last case, it's
> not 96%, rather it's 2400% (25x).  Similarly the second case is about
> 900% faster.
>

You are right,
my %improvement was intended to be like
if
1) base takes 100 sec ==> patch takes 93 sec
2) base takes 100 sec ==> patch takes 11 sec
3) base takes 100 sec ==> patch takes 4 sec

The above is more confusing (and incorrect!).

Better is what you told which boils to 10x and 25x improvement in case
2 and case 3. And IMO, this *really* gives the feeling of magnitude of
improvement with patches.

I ll change script to report that way :).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgD-000483-P6; Tue, 15 May 2012 11:12:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRLf1-0003mI-RW
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 10:59:24 +0000
Received: from [85.158.143.99:16987] by server-1.bemta-4.messagelabs.com id
	AA/EE-20925-B0BA7AF4; Mon, 07 May 2012 10:59:23 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336388359!25909880!1
X-Originating-IP: [202.81.31.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MCA9PiAzMTY2NDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7741 invoked from network); 7 May 2012 10:59:22 -0000
Received: from e23smtp07.au.ibm.com (HELO e23smtp07.au.ibm.com) (202.81.31.140)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 10:59:22 -0000
Received: from /spool/local
	by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 10:51:42 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 10:51:37 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47Ax4TJ19136590
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 20:59:06 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47Ax2V2012117
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 20:59:04 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47Awn95011552; Mon, 7 May 2012 20:58:53 +1000
Message-ID: <4FA7AAD8.6050003@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 16:28:32 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>, Ingo Molnar <mingo@kernel.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
In-Reply-To: <4FA7888F.80505@redhat.com>
x-cbid: 12050700-0260-0000-0000-000001045992
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 02:02 PM, Avi Kivity wrote:
> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>> This is looking pretty good and complete now - any objections
>> from anyone to trying this out in a separate x86 topic tree?
>
> No objections, instead an
>
> Acked-by: Avi Kivity<avi@redhat.com>
>

Thank you.

Here is a benchmark result with the patches.

3 guests with 8VCPU, 8GB RAM, 1 used for kernbench
(kernbench -f -H -M -o 20) other for cpuhog (shell script while
true with an instruction)

unpinned scenario
1x: no hogs
2x: 8hogs in one guest
3x: 8hogs each in two guest

BASE: 3.4-rc4 vanilla with CONFIG_PARAVIRT_SPINLOCK=n
BASE+patch: 3.4-rc4 + debugfs + pv patches with CONFIG_PARAVIRT_SPINLOCK=y

Machine : IBM xSeries with Intel(R) Xeon(R) x5570 2.93GHz CPU (Non PLE) 
with 8 core , 64GB RAM

(Less is better. Below is time elapsed in sec for x86_64_defconfig (3+3 
runs)).

		 BASE                    BASE+patch            %improvement
		 mean (sd)               mean (sd)
case 1x:	 66.0566 (74.0304) 	 61.3233 (68.8299) 	7.16552
case 2x:	 1253.2 (1795.74) 	 131.606 (137.358) 	89.4984
case 3x:	 3431.04 (5297.26) 	 134.964 (149.861) 	96.0664


Will be working on further analysis with other benchmarks 
(pgbench/sysbench/ebizzy...) and further optimization.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgD-000483-P6; Tue, 15 May 2012 11:12:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRLf1-0003mI-RW
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 10:59:24 +0000
Received: from [85.158.143.99:16987] by server-1.bemta-4.messagelabs.com id
	AA/EE-20925-B0BA7AF4; Mon, 07 May 2012 10:59:23 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1336388359!25909880!1
X-Originating-IP: [202.81.31.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MCA9PiAzMTY2NDU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7741 invoked from network); 7 May 2012 10:59:22 -0000
Received: from e23smtp07.au.ibm.com (HELO e23smtp07.au.ibm.com) (202.81.31.140)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 10:59:22 -0000
Received: from /spool/local
	by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 10:51:42 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 10:51:37 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47Ax4TJ19136590
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 20:59:06 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47Ax2V2012117
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 20:59:04 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47Awn95011552; Mon, 7 May 2012 20:58:53 +1000
Message-ID: <4FA7AAD8.6050003@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 16:28:32 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>, Ingo Molnar <mingo@kernel.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
In-Reply-To: <4FA7888F.80505@redhat.com>
x-cbid: 12050700-0260-0000-0000-000001045992
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 02:02 PM, Avi Kivity wrote:
> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>> This is looking pretty good and complete now - any objections
>> from anyone to trying this out in a separate x86 topic tree?
>
> No objections, instead an
>
> Acked-by: Avi Kivity<avi@redhat.com>
>

Thank you.

Here is a benchmark result with the patches.

3 guests with 8VCPU, 8GB RAM, 1 used for kernbench
(kernbench -f -H -M -o 20) other for cpuhog (shell script while
true with an instruction)

unpinned scenario
1x: no hogs
2x: 8hogs in one guest
3x: 8hogs each in two guest

BASE: 3.4-rc4 vanilla with CONFIG_PARAVIRT_SPINLOCK=n
BASE+patch: 3.4-rc4 + debugfs + pv patches with CONFIG_PARAVIRT_SPINLOCK=y

Machine : IBM xSeries with Intel(R) Xeon(R) x5570 2.93GHz CPU (Non PLE) 
with 8 core , 64GB RAM

(Less is better. Below is time elapsed in sec for x86_64_defconfig (3+3 
runs)).

		 BASE                    BASE+patch            %improvement
		 mean (sd)               mean (sd)
case 1x:	 66.0566 (74.0304) 	 61.3233 (68.8299) 	7.16552
case 2x:	 1253.2 (1795.74) 	 131.606 (137.358) 	89.4984
case 3x:	 3431.04 (5297.26) 	 134.964 (149.861) 	96.0664


Will be working on further analysis with other benchmarks 
(pgbench/sysbench/ebizzy...) and further optimization.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgR-0004B8-79; Tue, 15 May 2012 11:12:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <law@redhat.com>) id 1SSZEI-0003Pf-Ju
	for xen-devel@lists.xen.org; Thu, 10 May 2012 19:40:50 +0000
Received: from [85.158.139.83:18717] by server-4.bemta-5.messagelabs.com id
	62/36-10788-1C91CAF4; Thu, 10 May 2012 19:40:49 +0000
X-Env-Sender: law@redhat.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336678848!28052818!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE2MjA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23591 invoked from network); 10 May 2012 19:40:48 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-10.tower-182.messagelabs.com with SMTP;
	10 May 2012 19:40:48 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4AJdu4p018828
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:39:56 -0400
Received: from stumpy.slc.redhat.com (ovpn-113-71.phx2.redhat.com
	[10.3.113.71])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4AJdrKD026070; Thu, 10 May 2012 15:39:53 -0400
Message-ID: <4FAC1989.4060201@redhat.com>
Date: Thu, 10 May 2012 13:39:53 -0600
From: Jeff Law <law@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
In-Reply-To: <20120509173836.GB9094@phenom.dumpdata.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>, Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>>
>> And finally one always has to keep in mind that there is this nice
>> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
>> when trying to determine whether AVX or FMA is available.
>
> It has this:
> 146
> 147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
> 148     {
> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
> 150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_OSXSAVE) != 0
> 151&&  ({ unsigned int xcrlow;
> 152                 unsigned int xcrhigh;
> 153                 asm ("xgetbv"
> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
> 155                 (xcrlow&  6) == 6; }))
> 156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
> 157     }
>
>
> And when I ran a little silly C program (attached) to probe the CPUID flags, I got:
>   /root/test-xsave
> SSE3 CMOV
> AVX  XSAVE
> Trying XGETBV
> Illegal instruction (core dumped)
>
> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV guest
> still crashes on that machine) - which means that in multi-lib the bit_YMM_Usable
> is _not_ set. But then looking at the sources I see:
>
> # ifdef USE_AS_STRCASECMP_L
> 102 ENTRY(__strcasecmp)
> 103         .type   __strcasecmp, @gnu_indirect_function
> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
> 105         jne     1f
> 106         call    __init_cpu_features
> 107 1:
> 108 #  ifdef HAVE_AVX_SUPPORT
> 109         leaq    __strcasecmp_avx(%rip), %rax
> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
> 111         jnz     2f
> 112 #  endif
>
> which would imply that the AVX bit is sampled here instead of the
> YMM one.
[ ... ]
I think Uli's position is that this code only uses AVX encodings, but 
not the YMM registers and thus the right check is for AVX.

That doesn't make sense to me given the text under availability and 
support here:

http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/

According to my reading AVX can only be used if the hardware supports 
AVX *and* the OS supports XSAVE.    The only weasel language is "To use 
the Intel AVX extensions reliably in most settings ..."  Which Uli might 
be relying upon for his position.

Ironically, the code in init-arch used to look like:

  if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
     {
       /* Reset the AVX bit in case OSXSAVE is disabled.  */
       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & 
bit_OSXSAVE) == 0
           || ({ unsigned int xcrlow;
               unsigned int xcrhigh;
               asm ("xgetbv"
                    : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
               (xcrlow & 6) != 6; }))
         __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
     }


Which I think would have done the right thing.   Uli changed it to the 
form you quoted just 2 hours after installing the version I quoted.

If i'm going to make the claim Uli is wrong, some clarification from 
Intel would be appreciated.


jeff


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgR-0004B8-79; Tue, 15 May 2012 11:12:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <law@redhat.com>) id 1SSZEI-0003Pf-Ju
	for xen-devel@lists.xen.org; Thu, 10 May 2012 19:40:50 +0000
Received: from [85.158.139.83:18717] by server-4.bemta-5.messagelabs.com id
	62/36-10788-1C91CAF4; Thu, 10 May 2012 19:40:49 +0000
X-Env-Sender: law@redhat.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1336678848!28052818!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE2MjA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23591 invoked from network); 10 May 2012 19:40:48 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-10.tower-182.messagelabs.com with SMTP;
	10 May 2012 19:40:48 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4AJdu4p018828
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 15:39:56 -0400
Received: from stumpy.slc.redhat.com (ovpn-113-71.phx2.redhat.com
	[10.3.113.71])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4AJdrKD026070; Thu, 10 May 2012 15:39:53 -0400
Message-ID: <4FAC1989.4060201@redhat.com>
Date: Thu, 10 May 2012 13:39:53 -0600
From: Jeff Law <law@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
In-Reply-To: <20120509173836.GB9094@phenom.dumpdata.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>, Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:
>>
>> And finally one always has to keep in mind that there is this nice
>> glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE
>> when trying to determine whether AVX or FMA is available.
>
> It has this:
> 146
> 147   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
> 148     {
> 149       /* Reset the AVX bit in case OSXSAVE is disabled.  */
> 150       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_OSXSAVE) != 0
> 151&&  ({ unsigned int xcrlow;
> 152                 unsigned int xcrhigh;
> 153                 asm ("xgetbv"
> 154                      : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
> 155                 (xcrlow&  6) == 6; }))
> 156         __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
> 157     }
>
>
> And when I ran a little silly C program (attached) to probe the CPUID flags, I got:
>   /root/test-xsave
> SSE3 CMOV
> AVX  XSAVE
> Trying XGETBV
> Illegal instruction (core dumped)
>
> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV guest
> still crashes on that machine) - which means that in multi-lib the bit_YMM_Usable
> is _not_ set. But then looking at the sources I see:
>
> # ifdef USE_AS_STRCASECMP_L
> 102 ENTRY(__strcasecmp)
> 103         .type   __strcasecmp, @gnu_indirect_function
> 104         cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
> 105         jne     1f
> 106         call    __init_cpu_features
> 107 1:
> 108 #  ifdef HAVE_AVX_SUPPORT
> 109         leaq    __strcasecmp_avx(%rip), %rax
> 110         testl   $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
> 111         jnz     2f
> 112 #  endif
>
> which would imply that the AVX bit is sampled here instead of the
> YMM one.
[ ... ]
I think Uli's position is that this code only uses AVX encodings, but 
not the YMM registers and thus the right check is for AVX.

That doesn't make sense to me given the text under availability and 
support here:

http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/

According to my reading AVX can only be used if the hardware supports 
AVX *and* the OS supports XSAVE.    The only weasel language is "To use 
the Intel AVX extensions reliably in most settings ..."  Which Uli might 
be relying upon for his position.

Ironically, the code in init-arch used to look like:

  if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
     {
       /* Reset the AVX bit in case OSXSAVE is disabled.  */
       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & 
bit_OSXSAVE) == 0
           || ({ unsigned int xcrlow;
               unsigned int xcrhigh;
               asm ("xgetbv"
                    : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
               (xcrlow & 6) != 6; }))
         __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
     }


Which I think would have done the right thing.   Uli changed it to the 
form you quoted just 2 hours after installing the version I quoted.

If i'm going to make the claim Uli is wrong, some clarification from 
Intel would be appreciated.


jeff


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgJ-00049T-Qy; Tue, 15 May 2012 11:12:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SROTM-0006BL-BF
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:59:32 +0000
Received: from [193.109.254.147:37962] by server-9.bemta-14.messagelabs.com id
	22/53-05787-345D7AF4; Mon, 07 May 2012 13:59:31 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336399170!8019425!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7753 invoked from network); 7 May 2012 13:59:30 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-13.tower-27.messagelabs.com with SMTP;
	7 May 2012 13:59:30 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47DwjcP017189
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 09:58:45 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47DwbB9019918; Mon, 7 May 2012 09:58:38 -0400
Message-ID: <4FA7D50D.1020209@redhat.com>
Date: Mon, 07 May 2012 16:58:37 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
In-Reply-To: <4FA7D3F7.9080005@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 04:53 PM, Raghavendra K T wrote:
>> Is the improvement so low, because PLE is interfering with the patch, or
>> because PLE already does a good job?
>>
>
>
> It is because PLE already does a good job (of not burning cpu). The
> 1-3% improvement is because, patchset knows atleast who is next to hold
> lock, which is lacking in PLE.
>

Not good.  Solving a problem in software that is already solved by
hardware?  It's okay if there are no costs involved, but here we're
introducing a new ABI that we'll have to maintain for a long time.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgJ-00049T-Qy; Tue, 15 May 2012 11:12:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SROTM-0006BL-BF
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:59:32 +0000
Received: from [193.109.254.147:37962] by server-9.bemta-14.messagelabs.com id
	22/53-05787-345D7AF4; Mon, 07 May 2012 13:59:31 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1336399170!8019425!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7753 invoked from network); 7 May 2012 13:59:30 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-13.tower-27.messagelabs.com with SMTP;
	7 May 2012 13:59:30 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47DwjcP017189
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 09:58:45 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47DwbB9019918; Mon, 7 May 2012 09:58:38 -0400
Message-ID: <4FA7D50D.1020209@redhat.com>
Date: Mon, 07 May 2012 16:58:37 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
In-Reply-To: <4FA7D3F7.9080005@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 04:53 PM, Raghavendra K T wrote:
>> Is the improvement so low, because PLE is interfering with the patch, or
>> because PLE already does a good job?
>>
>
>
> It is because PLE already does a good job (of not burning cpu). The
> 1-3% improvement is because, patchset knows atleast who is next to hold
> lock, which is lacking in PLE.
>

Not good.  Solving a problem in software that is already solved by
hardware?  It's okay if there are no costs involved, but here we're
introducing a new ABI that we'll have to maintain for a long time.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgP-0004Ad-Ku; Tue, 15 May 2012 11:12:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRdIB-0001R3-Fi
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 05:48:59 +0000
Received: from [85.158.143.99:57971] by server-1.bemta-4.messagelabs.com id
	6B/D8-20925-AC3B8AF4; Tue, 08 May 2012 05:48:58 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336456115!26357098!1
X-Originating-IP: [202.81.31.142]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MiA9PiAxNzQyMTI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15316 invoked from network); 8 May 2012 05:48:50 -0000
Received: from e23smtp09.au.ibm.com (HELO e23smtp09.au.ibm.com) (202.81.31.142)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 05:48:50 -0000
Received: from /spool/local
	by e23smtp09.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 8 May 2012 06:14:49 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp09.au.ibm.com (202.81.31.206) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 8 May 2012 06:14:38 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q485Pqkh35192860
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 15:25:52 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q485Pow7007963
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 15:25:52 +1000
Received: from [9.79.232.139] ([9.79.232.139])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q485Paie007237; Tue, 8 May 2012 15:25:37 +1000
Message-ID: <4FA8AE38.9050109@linux.vnet.ibm.com>
Date: Tue, 08 May 2012 10:55:12 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
x-cbid: 12050720-3568-0000-0000-000001B168B5
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 08:22 PM, Avi Kivity wrote:
> On 05/07/2012 05:47 PM, Raghavendra K T wrote:
>>> Not good.  Solving a problem in software that is already solved by
>>> hardware?  It's okay if there are no costs involved, but here we're
>>> introducing a new ABI that we'll have to maintain for a long time.
>>>
>>
>>
>> Hmm agree that being a step ahead of mighty hardware (and just an
>> improvement of 1-3%) is no good for long term (where PLE is future).
>>
>
> PLE is the present, not the future.  It was introduced on later Nehalems
> and is present on all Westmeres.  Two more processor generations have
> passed meanwhile.  The AMD equivalent was also introduced around that
> timeframe.
>
>> Having said that, it is hard for me to resist saying :
>>   bottleneck is somewhere else on PLE m/c and IMHO answer would be
>> combination of paravirt-spinlock + pv-flush-tb.
>>
>> But I need to come up with good number to argue in favour of the claim.
>>
>> PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a
>> win on PLE where only one of them alone could not prove the benefit.
>>
>
> I'd like to see those numbers, then.
>
> Ingo, please hold on the kvm-specific patches, meanwhile.
>


Hmm. I think I messed up the fact while saying 1-3% improvement on PLE.

Going by what I had posted in  https://lkml.org/lkml/2012/4/5/73 (with
correct calculation)

   1x  	 70.475 (85.6979) 	63.5033 (72.7041)   15.7%
   2x  	 110.971 (132.829) 	105.099 (128.738)    5.56%	
   3x   	 150.265 (184.766) 	138.341 (172.69)     8.62%


It was around 12% with optimization patch posted separately with that 
(That one Needs more experiment though)

But anyways, I will come up with result for current patch series..


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgP-0004Ad-Ku; Tue, 15 May 2012 11:12:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRdIB-0001R3-Fi
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 05:48:59 +0000
Received: from [85.158.143.99:57971] by server-1.bemta-4.messagelabs.com id
	6B/D8-20925-AC3B8AF4; Tue, 08 May 2012 05:48:58 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1336456115!26357098!1
X-Originating-IP: [202.81.31.142]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MiA9PiAxNzQyMTI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15316 invoked from network); 8 May 2012 05:48:50 -0000
Received: from e23smtp09.au.ibm.com (HELO e23smtp09.au.ibm.com) (202.81.31.142)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 05:48:50 -0000
Received: from /spool/local
	by e23smtp09.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 8 May 2012 06:14:49 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp09.au.ibm.com (202.81.31.206) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 8 May 2012 06:14:38 +1000
Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q485Pqkh35192860
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 15:25:52 +1000
Received: from d23av01.au.ibm.com (loopback [127.0.0.1])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q485Pow7007963
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 15:25:52 +1000
Received: from [9.79.232.139] ([9.79.232.139])
	by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q485Paie007237; Tue, 8 May 2012 15:25:37 +1000
Message-ID: <4FA8AE38.9050109@linux.vnet.ibm.com>
Date: Tue, 08 May 2012 10:55:12 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
x-cbid: 12050720-3568-0000-0000-000001B168B5
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 08:22 PM, Avi Kivity wrote:
> On 05/07/2012 05:47 PM, Raghavendra K T wrote:
>>> Not good.  Solving a problem in software that is already solved by
>>> hardware?  It's okay if there are no costs involved, but here we're
>>> introducing a new ABI that we'll have to maintain for a long time.
>>>
>>
>>
>> Hmm agree that being a step ahead of mighty hardware (and just an
>> improvement of 1-3%) is no good for long term (where PLE is future).
>>
>
> PLE is the present, not the future.  It was introduced on later Nehalems
> and is present on all Westmeres.  Two more processor generations have
> passed meanwhile.  The AMD equivalent was also introduced around that
> timeframe.
>
>> Having said that, it is hard for me to resist saying :
>>   bottleneck is somewhere else on PLE m/c and IMHO answer would be
>> combination of paravirt-spinlock + pv-flush-tb.
>>
>> But I need to come up with good number to argue in favour of the claim.
>>
>> PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a
>> win on PLE where only one of them alone could not prove the benefit.
>>
>
> I'd like to see those numbers, then.
>
> Ingo, please hold on the kvm-specific patches, meanwhile.
>


Hmm. I think I messed up the fact while saying 1-3% improvement on PLE.

Going by what I had posted in  https://lkml.org/lkml/2012/4/5/73 (with
correct calculation)

   1x  	 70.475 (85.6979) 	63.5033 (72.7041)   15.7%
   2x  	 110.971 (132.829) 	105.099 (128.738)    5.56%	
   3x   	 150.265 (184.766) 	138.341 (172.69)     8.62%


It was around 12% with optimization patch posted separately with that 
(That one Needs more experiment though)

But anyways, I will come up with result for current patch series..


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgN-0004A9-SG; Tue, 15 May 2012 11:12:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tglx@linutronix.de>) id 1SRUlo-0008Mp-9W
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 20:43:00 +0000
Received: from [85.158.143.35:49808] by server-3.bemta-4.messagelabs.com id
	80/AF-05853-3D338AF4; Mon, 07 May 2012 20:42:59 +0000
X-Env-Sender: tglx@linutronix.de
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336423378!13144300!1
X-Originating-IP: [62.245.132.108]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11336 invoked from network); 7 May 2012 20:42:58 -0000
Received: from www.linutronix.de (HELO Galois.linutronix.de) (62.245.132.108)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 20:42:58 -0000
Received: from localhost ([127.0.0.1]) by Galois.linutronix.de with esmtps
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72)
	(envelope-from <tglx@linutronix.de>)
	id 1SRUlL-0005aq-Vm; Mon, 07 May 2012 22:42:32 +0200
Date: Mon, 7 May 2012 22:42:30 +0200 (CEST)
From: Thomas Gleixner <tglx@linutronix.de>
To: Ingo Molnar <mingo@kernel.org>
In-Reply-To: <20120507172527.GA5357@gmail.com>
Message-ID: <alpine.LFD.2.02.1205072240020.6271@ionos>
References: <4FA7BABA.4040700@redhat.com> <4FA7CC05.50808@linux.vnet.ibm.com>
	<4FA7CCA2.4030408@redhat.com> <4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <20120507172527.GA5357@gmail.com>
User-Agent: Alpine 2.02 (LFD 1266 2009-07-14)
MIME-Version: 1.0
X-Linutronix-Spam-Score: -1.0
X-Linutronix-Spam-Level: -
X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,
	SHORTCIRCUIT=-0.0001
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012, Ingo Molnar wrote:
> * Avi Kivity <avi@redhat.com> wrote:
> 
> > > PS: Nikunj had experimented that pv-flush tlb + 
> > > paravirt-spinlock is a win on PLE where only one of them 
> > > alone could not prove the benefit.
> > 
> > I'd like to see those numbers, then.
> > 
> > Ingo, please hold on the kvm-specific patches, meanwhile.
> 
> I'll hold off on the whole thing - frankly, we don't want this 
> kind of Xen-only complexity. If KVM can make use of PLE then Xen 
> ought to be able to do it as well.
> 
> If both Xen and KVM makes good use of it then that's a different 
> matter.

Aside of that, it's kinda strange that a dude named "Nikunj" is
referenced in the argument chain, but I can't find him on the CC list.

Thanks,

	tglx

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgN-0004A9-SG; Tue, 15 May 2012 11:12:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <tglx@linutronix.de>) id 1SRUlo-0008Mp-9W
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 20:43:00 +0000
Received: from [85.158.143.35:49808] by server-3.bemta-4.messagelabs.com id
	80/AF-05853-3D338AF4; Mon, 07 May 2012 20:42:59 +0000
X-Env-Sender: tglx@linutronix.de
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336423378!13144300!1
X-Originating-IP: [62.245.132.108]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11336 invoked from network); 7 May 2012 20:42:58 -0000
Received: from www.linutronix.de (HELO Galois.linutronix.de) (62.245.132.108)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 May 2012 20:42:58 -0000
Received: from localhost ([127.0.0.1]) by Galois.linutronix.de with esmtps
	(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72)
	(envelope-from <tglx@linutronix.de>)
	id 1SRUlL-0005aq-Vm; Mon, 07 May 2012 22:42:32 +0200
Date: Mon, 7 May 2012 22:42:30 +0200 (CEST)
From: Thomas Gleixner <tglx@linutronix.de>
To: Ingo Molnar <mingo@kernel.org>
In-Reply-To: <20120507172527.GA5357@gmail.com>
Message-ID: <alpine.LFD.2.02.1205072240020.6271@ionos>
References: <4FA7BABA.4040700@redhat.com> <4FA7CC05.50808@linux.vnet.ibm.com>
	<4FA7CCA2.4030408@redhat.com> <4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <20120507172527.GA5357@gmail.com>
User-Agent: Alpine 2.02 (LFD 1266 2009-07-14)
MIME-Version: 1.0
X-Linutronix-Spam-Score: -1.0
X-Linutronix-Spam-Level: -
X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,
	SHORTCIRCUIT=-0.0001
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012, Ingo Molnar wrote:
> * Avi Kivity <avi@redhat.com> wrote:
> 
> > > PS: Nikunj had experimented that pv-flush tlb + 
> > > paravirt-spinlock is a win on PLE where only one of them 
> > > alone could not prove the benefit.
> > 
> > I'd like to see those numbers, then.
> > 
> > Ingo, please hold on the kvm-specific patches, meanwhile.
> 
> I'll hold off on the whole thing - frankly, we don't want this 
> kind of Xen-only complexity. If KVM can make use of PLE then Xen 
> ought to be able to do it as well.
> 
> If both Xen and KVM makes good use of it then that's a different 
> matter.

Aside of that, it's kinda strange that a dude named "Nikunj" is
referenced in the argument chain, but I can't find him on the CC list.

Thanks,

	tglx

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFga-0004Dt-Qk; Tue, 15 May 2012 11:13:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STrAY-0006NJ-Uk
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:02:19 +0000
Received: from [85.158.139.83:2879] by server-6.bemta-5.messagelabs.com id
	A7/25-13222-91AC0BF4; Mon, 14 May 2012 09:02:17 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336986109!28159008!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxOTM0NjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20782 invoked from network); 14 May 2012 09:02:12 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 09:02:12 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 14 May 2012 14:31:48 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 14:31:43 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4E91gIq65208510
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 14:31:42 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4EEUuar007661
	for <xen-devel@lists.xensource.com>; Tue, 15 May 2012 00:30:57 +1000
Received: from [9.79.196.182] ([9.79.196.182])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4EEUos0007360; Tue, 15 May 2012 00:30:51 +1000
Message-ID: <4FB0C9CF.30803@linux.vnet.ibm.com>
Date: Mon, 14 May 2012 14:31:03 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
	<87y5ovtl54.fsf@abhimanyu.in.ibm.com>
In-Reply-To: <87y5ovtl54.fsf@abhimanyu.in.ibm.com>
x-cbid: 12051409-4790-0000-0000-000002AFE24D
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/14/2012 10:27 AM, Nikunj A Dadhania wrote:
> On Mon, 14 May 2012 00:15:30 +0530, Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  wrote:
>> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>>
>> I could not come with pv-flush results (also Nikunj had clarified that
>> the result was on NOn PLE
>>
> Did you see any issues on PLE?
>

No, I did not see issues in setup, but did not get time to check
that out yet ..


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFga-0004Dt-Qk; Tue, 15 May 2012 11:13:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STrAY-0006NJ-Uk
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 09:02:19 +0000
Received: from [85.158.139.83:2879] by server-6.bemta-5.messagelabs.com id
	A7/25-13222-91AC0BF4; Mon, 14 May 2012 09:02:17 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336986109!28159008!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxOTM0NjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20782 invoked from network); 14 May 2012 09:02:12 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 14 May 2012 09:02:12 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 14 May 2012 14:31:48 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 14:31:43 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4E91gIq65208510
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 14:31:42 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4EEUuar007661
	for <xen-devel@lists.xensource.com>; Tue, 15 May 2012 00:30:57 +1000
Received: from [9.79.196.182] ([9.79.196.182])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4EEUos0007360; Tue, 15 May 2012 00:30:51 +1000
Message-ID: <4FB0C9CF.30803@linux.vnet.ibm.com>
Date: Mon, 14 May 2012 14:31:03 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
	<87y5ovtl54.fsf@abhimanyu.in.ibm.com>
In-Reply-To: <87y5ovtl54.fsf@abhimanyu.in.ibm.com>
x-cbid: 12051409-4790-0000-0000-000002AFE24D
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/14/2012 10:27 AM, Nikunj A Dadhania wrote:
> On Mon, 14 May 2012 00:15:30 +0530, Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  wrote:
>> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>>
>> I could not come with pv-flush results (also Nikunj had clarified that
>> the result was on NOn PLE
>>
> Did you see any issues on PLE?
>

No, I did not see issues in setup, but did not get time to check
that out yet ..


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgJ-00049M-3r; Tue, 15 May 2012 11:12:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRORI-0006Aq-QB
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:57:25 +0000
Received: from [85.158.143.35:44927] by server-2.bemta-4.messagelabs.com id
	C8/B7-17550-4C4D7AF4; Mon, 07 May 2012 13:57:24 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336399036!14335828!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAxOTM3MTI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18945 invoked from network); 7 May 2012 13:57:22 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:57:22 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 19:27:16 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:27:13 +0530
Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DvDnl8126786
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:27:13 +0530
Received: from d28av01.in.ibm.com (loopback [127.0.0.1])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JQogR008528
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:56:52 +0530
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47JQjXx008251; Tue, 8 May 2012 00:56:45 +0530
Message-ID: <4FA7D4A1.3030702@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 19:26:49 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
In-Reply-To: <20120507134611.GB5533@linux.vnet.ibm.com>
x-cbid: 12050713-8256-0000-0000-0000024BB83F
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 07:16 PM, Srivatsa Vaddagiri wrote:
> * Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  [2012-05-07 19:08:51]:
>
>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>> 'll expect the improvement around 1-3% as it was in last version.
>
> Deferring preemption (when vcpu is holding lock) may give us better than 1-3%
> results on PLE hardware. Something worth trying IMHO.
>

Yes, Sure. 'll take-up this and any scalability improvement possible 
further.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgJ-00049M-3r; Tue, 15 May 2012 11:12:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRORI-0006Aq-QB
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:57:25 +0000
Received: from [85.158.143.35:44927] by server-2.bemta-4.messagelabs.com id
	C8/B7-17550-4C4D7AF4; Mon, 07 May 2012 13:57:24 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1336399036!14335828!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAxOTM3MTI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18945 invoked from network); 7 May 2012 13:57:22 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:57:22 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 19:27:16 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:27:13 +0530
Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DvDnl8126786
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:27:13 +0530
Received: from d28av01.in.ibm.com (loopback [127.0.0.1])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JQogR008528
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:56:52 +0530
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47JQjXx008251; Tue, 8 May 2012 00:56:45 +0530
Message-ID: <4FA7D4A1.3030702@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 19:26:49 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
In-Reply-To: <20120507134611.GB5533@linux.vnet.ibm.com>
x-cbid: 12050713-8256-0000-0000-0000024BB83F
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 07:16 PM, Srivatsa Vaddagiri wrote:
> * Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  [2012-05-07 19:08:51]:
>
>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>> 'll expect the improvement around 1-3% as it was in last version.
>
> Deferring preemption (when vcpu is holding lock) may give us better than 1-3%
> results on PLE hardware. Something worth trying IMHO.
>

Yes, Sure. 'll take-up this and any scalability improvement possible 
further.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgC-00047n-O8; Tue, 15 May 2012 11:12:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRJNY-0001Rr-29
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:33:12 +0000
Received: from [85.158.143.35:51414] by server-1.bemta-4.messagelabs.com id
	9A/C2-20925-7C887AF4; Mon, 07 May 2012 08:33:11 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336379590!11142029!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA5MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20111 invoked from network); 7 May 2012 08:33:10 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-3.tower-21.messagelabs.com with SMTP;
	7 May 2012 08:33:10 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q478WOvo020666
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 04:32:24 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q478WFRp023291; Mon, 7 May 2012 04:32:17 -0400
Message-ID: <4FA7888F.80505@redhat.com>
Date: Mon, 07 May 2012 11:32:15 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ingo Molnar <mingo@kernel.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com>
In-Reply-To: <20120507082928.GI16608@gmail.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, Gleb Natapov <gleb@redhat.com>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 11:29 AM, Ingo Molnar wrote:
> This is looking pretty good and complete now - any objections 
> from anyone to trying this out in a separate x86 topic tree?

No objections, instead an

Acked-by: Avi Kivity <avi@redhat.com>

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgC-00047n-O8; Tue, 15 May 2012 11:12:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRJNY-0001Rr-29
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:33:12 +0000
Received: from [85.158.143.35:51414] by server-1.bemta-4.messagelabs.com id
	9A/C2-20925-7C887AF4; Mon, 07 May 2012 08:33:11 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1336379590!11142029!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA5MjE=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20111 invoked from network); 7 May 2012 08:33:10 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-3.tower-21.messagelabs.com with SMTP;
	7 May 2012 08:33:10 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q478WOvo020666
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 04:32:24 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q478WFRp023291; Mon, 7 May 2012 04:32:17 -0400
Message-ID: <4FA7888F.80505@redhat.com>
Date: Mon, 07 May 2012 11:32:15 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ingo Molnar <mingo@kernel.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com>
In-Reply-To: <20120507082928.GI16608@gmail.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, Gleb Natapov <gleb@redhat.com>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 11:29 AM, Ingo Molnar wrote:
> This is looking pretty good and complete now - any objections 
> from anyone to trying this out in a separate x86 topic tree?

No objections, instead an

Acked-by: Avi Kivity <avi@redhat.com>

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgG-00048l-Jv; Tue, 15 May 2012 11:12:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vatsa@linux.vnet.ibm.com>) id 1SROH3-0005sh-F6
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:46:49 +0000
Received: from [85.158.139.83:21873] by server-8.bemta-5.messagelabs.com id
	ED/05-26964-842D7AF4; Mon, 07 May 2012 13:46:48 +0000
X-Env-Sender: vatsa@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336398383!27040515!1
X-Originating-IP: [122.248.162.7]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNyA9PiA2NTA2Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13150 invoked from network); 7 May 2012 13:46:44 -0000
Received: from e28smtp07.in.ibm.com (HELO e28smtp07.in.ibm.com) (122.248.162.7)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 13:46:44 -0000
Received: from /spool/local
	by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <vatsa@linux.vnet.ibm.com>;
	Mon, 7 May 2012 19:16:20 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp07.in.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:16:18 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DkHIW6029678
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:16:17 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JG1MK005193
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 05:16:04 +1000
Received: from linux.vnet.ibm.com ([9.79.223.198])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with SMTP id
	q47JG05S005043; Tue, 8 May 2012 05:16:00 +1000
Date: Mon, 7 May 2012 19:16:11 +0530
From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Message-ID: <20120507134611.GB5533@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7D06B.60005@linux.vnet.ibm.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
x-cbid: 12050713-8878-0000-0000-00000251A69F
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:

> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
> 'll expect the improvement around 1-3% as it was in last version.

Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
results on PLE hardware. Something worth trying IMHO.

- vatsa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgG-00048l-Jv; Tue, 15 May 2012 11:12:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vatsa@linux.vnet.ibm.com>) id 1SROH3-0005sh-F6
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:46:49 +0000
Received: from [85.158.139.83:21873] by server-8.bemta-5.messagelabs.com id
	ED/05-26964-842D7AF4; Mon, 07 May 2012 13:46:48 +0000
X-Env-Sender: vatsa@linux.vnet.ibm.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1336398383!27040515!1
X-Originating-IP: [122.248.162.7]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNyA9PiA2NTA2Nw==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13150 invoked from network); 7 May 2012 13:46:44 -0000
Received: from e28smtp07.in.ibm.com (HELO e28smtp07.in.ibm.com) (122.248.162.7)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 7 May 2012 13:46:44 -0000
Received: from /spool/local
	by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <vatsa@linux.vnet.ibm.com>;
	Mon, 7 May 2012 19:16:20 +0530
Received: from d28relay04.in.ibm.com (9.184.220.61)
	by e28smtp07.in.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:16:18 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay04.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DkHIW6029678
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:16:17 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JG1MK005193
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 05:16:04 +1000
Received: from linux.vnet.ibm.com ([9.79.223.198])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with SMTP id
	q47JG05S005043; Tue, 8 May 2012 05:16:00 +1000
Date: Mon, 7 May 2012 19:16:11 +0530
From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Message-ID: <20120507134611.GB5533@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7D06B.60005@linux.vnet.ibm.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
x-cbid: 12050713-8878-0000-0000-00000251A69F
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:

> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
> 'll expect the improvement around 1-3% as it was in last version.

Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
results on PLE hardware. Something worth trying IMHO.

- vatsa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgM-00049r-9g; Tue, 15 May 2012 11:12:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRPLu-000890-Hg
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:55:54 +0000
Received: from [85.158.143.99:62357] by server-2.bemta-4.messagelabs.com id
	C9/0F-17550-972E7AF4; Mon, 07 May 2012 14:55:53 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336402549!26833789!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14528 invoked from network); 7 May 2012 14:55:52 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-15.tower-216.messagelabs.com with SMTP;
	7 May 2012 14:55:52 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47Er3eY031424
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 10:53:03 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47Equug007044; Mon, 7 May 2012 10:52:57 -0400
Message-ID: <4FA7E1C8.7010509@redhat.com>
Date: Mon, 07 May 2012 17:52:56 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
In-Reply-To: <4FA7E06E.20304@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:47 PM, Raghavendra K T wrote:
>> Not good.  Solving a problem in software that is already solved by
>> hardware?  It's okay if there are no costs involved, but here we're
>> introducing a new ABI that we'll have to maintain for a long time.
>>
>
>
> Hmm agree that being a step ahead of mighty hardware (and just an
> improvement of 1-3%) is no good for long term (where PLE is future).
>

PLE is the present, not the future.  It was introduced on later Nehalems
and is present on all Westmeres.  Two more processor generations have
passed meanwhile.  The AMD equivalent was also introduced around that
timeframe.

> Having said that, it is hard for me to resist saying :
>  bottleneck is somewhere else on PLE m/c and IMHO answer would be
> combination of paravirt-spinlock + pv-flush-tb.
>
> But I need to come up with good number to argue in favour of the claim.
>
> PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a
> win on PLE where only one of them alone could not prove the benefit.
>

I'd like to see those numbers, then.

Ingo, please hold on the kvm-specific patches, meanwhile.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgM-00049r-9g; Tue, 15 May 2012 11:12:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRPLu-000890-Hg
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:55:54 +0000
Received: from [85.158.143.99:62357] by server-2.bemta-4.messagelabs.com id
	C9/0F-17550-972E7AF4; Mon, 07 May 2012 14:55:53 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1336402549!26833789!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14528 invoked from network); 7 May 2012 14:55:52 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-15.tower-216.messagelabs.com with SMTP;
	7 May 2012 14:55:52 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47Er3eY031424
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 10:53:03 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47Equug007044; Mon, 7 May 2012 10:52:57 -0400
Message-ID: <4FA7E1C8.7010509@redhat.com>
Date: Mon, 07 May 2012 17:52:56 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
In-Reply-To: <4FA7E06E.20304@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:47 PM, Raghavendra K T wrote:
>> Not good.  Solving a problem in software that is already solved by
>> hardware?  It's okay if there are no costs involved, but here we're
>> introducing a new ABI that we'll have to maintain for a long time.
>>
>
>
> Hmm agree that being a step ahead of mighty hardware (and just an
> improvement of 1-3%) is no good for long term (where PLE is future).
>

PLE is the present, not the future.  It was introduced on later Nehalems
and is present on all Westmeres.  Two more processor generations have
passed meanwhile.  The AMD equivalent was also introduced around that
timeframe.

> Having said that, it is hard for me to resist saying :
>  bottleneck is somewhere else on PLE m/c and IMHO answer would be
> combination of paravirt-spinlock + pv-flush-tb.
>
> But I need to come up with good number to argue in favour of the claim.
>
> PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a
> win on PLE where only one of them alone could not prove the benefit.
>

I'd like to see those numbers, then.

Ingo, please hold on the kvm-specific patches, meanwhile.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgg-0004FN-W3; Tue, 15 May 2012 11:13:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SUFgG-00048L-SI
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:12:42 +0000
Received: from [85.158.143.99:40689] by server-2.bemta-4.messagelabs.com id
	B0/73-06146-62A32BF4; Tue, 15 May 2012 11:12:38 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337080355!28062737!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32509 invoked from network); 15 May 2012 11:12:36 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 11:12:36 -0000
Received: by qady23 with SMTP id y23so5039680qad.7
	for <xen-devel@lists.xensource.com>;
	Tue, 15 May 2012 04:12:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:content-type
	:content-transfer-encoding;
	bh=kis5esKBDtzbvHo0B3y+j4elmdX65D20mKZ6BJeugD8=;
	b=kG4skbP83gaBjqR1HrzOQwd08TIlc3BC9qtGN1DrTovt7VxNen5iDZkXoBv1CV3kF5
	XNIak1n5ZTt4wuuyFXzhsH5HY80Eifij2uwCgzy+t+RHjxB5Ja1LaLZ49BN1sTZXbrY1
	rnY+45RI/7viBu5+oqcbtx7qZeWxm8jAvorbhw1j2dsL55pXfjZm4ORZJM3qtVdqam2K
	CYBI6eIuhV3rei4cxgtdRNPf01JgZY4d5JwO+qQD8L5z5JKfpRzgXSW80Gu2pdfaYcFT
	hSN537JHePTpGV4PD/rCApJyH3JuI4TeYPh7VrKYuvkjqGMa+KD2IJ1bEMbFbTJFdD7z
	DjeQ==
MIME-Version: 1.0
Received: by 10.224.33.8 with SMTP id f8mr2712911qad.11.1337080354290; Tue, 15
	May 2012 04:12:34 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 15 May 2012 04:12:34 -0700 (PDT)
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
Date: Tue, 15 May 2012 12:12:34 +0100
X-Google-Sender-Auth: gysIlTATyEUSkR92OYOGRePqdAw
Message-ID: <CAFLBxZYgSi24eYZMJCqOpH=3tj7Ndt0guYN+ArqTX9XS-dWv0g@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH 0 of 3 v2] tools: Move bootloaders to
	libexec directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hmm -- sorry, seems a bunch of changes have been made to
libxl_bootloader.c.  Let me take a look at this.

 -Georg

On Tue, May 15, 2012 at 11:33 AM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
> tools: Move bootloaders to libexec directory
>
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin. =A0This patch
> series:
> * Causes libxl to look in the libexec dir if a full path is not specified,
> =A0falling back to searching PATH if it's not in the libexec dir
> * Moves pygrub and xenpvnetboot into the libexec dir
> * For compatibility with existing configs, puts a link to pygrub in /usr/=
bin
> * Warns the user that /usr/bin/pygrub is deprecated
>
> v2:
> =A0- If the bootloader is not in the libexec path, revert to using the st=
ring
> =A0 as passed in the config file (which will search $PATH)
> =A0- Use strcmp rather than strncmp
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgg-0004FN-W3; Tue, 15 May 2012 11:13:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SUFgG-00048L-SI
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:12:42 +0000
Received: from [85.158.143.99:40689] by server-2.bemta-4.messagelabs.com id
	B0/73-06146-62A32BF4; Tue, 15 May 2012 11:12:38 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337080355!28062737!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32509 invoked from network); 15 May 2012 11:12:36 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 11:12:36 -0000
Received: by qady23 with SMTP id y23so5039680qad.7
	for <xen-devel@lists.xensource.com>;
	Tue, 15 May 2012 04:12:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:content-type
	:content-transfer-encoding;
	bh=kis5esKBDtzbvHo0B3y+j4elmdX65D20mKZ6BJeugD8=;
	b=kG4skbP83gaBjqR1HrzOQwd08TIlc3BC9qtGN1DrTovt7VxNen5iDZkXoBv1CV3kF5
	XNIak1n5ZTt4wuuyFXzhsH5HY80Eifij2uwCgzy+t+RHjxB5Ja1LaLZ49BN1sTZXbrY1
	rnY+45RI/7viBu5+oqcbtx7qZeWxm8jAvorbhw1j2dsL55pXfjZm4ORZJM3qtVdqam2K
	CYBI6eIuhV3rei4cxgtdRNPf01JgZY4d5JwO+qQD8L5z5JKfpRzgXSW80Gu2pdfaYcFT
	hSN537JHePTpGV4PD/rCApJyH3JuI4TeYPh7VrKYuvkjqGMa+KD2IJ1bEMbFbTJFdD7z
	DjeQ==
MIME-Version: 1.0
Received: by 10.224.33.8 with SMTP id f8mr2712911qad.11.1337080354290; Tue, 15
	May 2012 04:12:34 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 15 May 2012 04:12:34 -0700 (PDT)
In-Reply-To: <patchbomb.1337077983@kodo2>
References: <patchbomb.1337077983@kodo2>
Date: Tue, 15 May 2012 12:12:34 +0100
X-Google-Sender-Auth: gysIlTATyEUSkR92OYOGRePqdAw
Message-ID: <CAFLBxZYgSi24eYZMJCqOpH=3tj7Ndt0guYN+ArqTX9XS-dWv0g@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH 0 of 3 v2] tools: Move bootloaders to
	libexec directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hmm -- sorry, seems a bunch of changes have been made to
libxl_bootloader.c.  Let me take a look at this.

 -Georg

On Tue, May 15, 2012 at 11:33 AM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
> tools: Move bootloaders to libexec directory
>
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin. =A0This patch
> series:
> * Causes libxl to look in the libexec dir if a full path is not specified,
> =A0falling back to searching PATH if it's not in the libexec dir
> * Moves pygrub and xenpvnetboot into the libexec dir
> * For compatibility with existing configs, puts a link to pygrub in /usr/=
bin
> * Warns the user that /usr/bin/pygrub is deprecated
>
> v2:
> =A0- If the bootloader is not in the libexec path, revert to using the st=
ring
> =A0 as passed in the config file (which will search $PATH)
> =A0- Use strcmp rather than strncmp
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgF-00048U-Ds; Tue, 15 May 2012 11:12:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRNuH-0005c0-Fe
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:23:17 +0000
Received: from [85.158.139.83:4570] by server-4.bemta-5.messagelabs.com id
	06/D3-10788-4CCC7AF4; Mon, 07 May 2012 13:23:16 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336396995!27114617!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23918 invoked from network); 7 May 2012 13:23:15 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-12.tower-182.messagelabs.com with SMTP;
	7 May 2012 13:23:15 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47DMnxQ021434
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 09:22:49 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47DMg2N007388; Mon, 7 May 2012 09:22:43 -0400
Message-ID: <4FA7CCA2.4030408@redhat.com>
Date: Mon, 07 May 2012 16:22:42 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com>
In-Reply-To: <4FA7CC05.50808@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 04:20 PM, Raghavendra K T wrote:
> On 05/07/2012 05:36 PM, Avi Kivity wrote:
>> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>>>> This is looking pretty good and complete now - any objections
>>>>> from anyone to trying this out in a separate x86 topic tree?
>>>>
>>>> No objections, instead an
>>>>
>>>> Acked-by: Avi Kivity<avi@redhat.com>
>>>>
> [...]
>>>
>>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>>> (3+3 runs)).
>>>
>>>           BASE                    BASE+patch            %improvement
>>>           mean (sd)               mean (sd)
>>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>>
>>
>> You're calculating the improvement incorrectly.  In the last case, it's
>> not 96%, rather it's 2400% (25x).  Similarly the second case is about
>> 900% faster.
>>
>
> You are right,
> my %improvement was intended to be like
> if
> 1) base takes 100 sec ==> patch takes 93 sec
> 2) base takes 100 sec ==> patch takes 11 sec
> 3) base takes 100 sec ==> patch takes 4 sec
>
> The above is more confusing (and incorrect!).
>
> Better is what you told which boils to 10x and 25x improvement in case
> 2 and case 3. And IMO, this *really* gives the feeling of magnitude of
> improvement with patches.
>
> I ll change script to report that way :).
>

btw, this is on non-PLE hardware, right?  What are the numbers for PLE?

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgF-00048U-Ds; Tue, 15 May 2012 11:12:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRNuH-0005c0-Fe
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:23:17 +0000
Received: from [85.158.139.83:4570] by server-4.bemta-5.messagelabs.com id
	06/D3-10788-4CCC7AF4; Mon, 07 May 2012 13:23:16 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1336396995!27114617!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23918 invoked from network); 7 May 2012 13:23:15 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-12.tower-182.messagelabs.com with SMTP;
	7 May 2012 13:23:15 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47DMnxQ021434
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 09:22:49 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47DMg2N007388; Mon, 7 May 2012 09:22:43 -0400
Message-ID: <4FA7CCA2.4030408@redhat.com>
Date: Mon, 07 May 2012 16:22:42 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com>
In-Reply-To: <4FA7CC05.50808@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 04:20 PM, Raghavendra K T wrote:
> On 05/07/2012 05:36 PM, Avi Kivity wrote:
>> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>>>> This is looking pretty good and complete now - any objections
>>>>> from anyone to trying this out in a separate x86 topic tree?
>>>>
>>>> No objections, instead an
>>>>
>>>> Acked-by: Avi Kivity<avi@redhat.com>
>>>>
> [...]
>>>
>>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>>> (3+3 runs)).
>>>
>>>           BASE                    BASE+patch            %improvement
>>>           mean (sd)               mean (sd)
>>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>>
>>
>> You're calculating the improvement incorrectly.  In the last case, it's
>> not 96%, rather it's 2400% (25x).  Similarly the second case is about
>> 900% faster.
>>
>
> You are right,
> my %improvement was intended to be like
> if
> 1) base takes 100 sec ==> patch takes 93 sec
> 2) base takes 100 sec ==> patch takes 11 sec
> 3) base takes 100 sec ==> patch takes 4 sec
>
> The above is more confusing (and incorrect!).
>
> Better is what you told which boils to 10x and 25x improvement in case
> 2 and case 3. And IMO, this *really* gives the feeling of magnitude of
> improvement with patches.
>
> I ll change script to report that way :).
>

btw, this is on non-PLE hardware, right?  What are the numbers for PLE?

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgE-00048C-AY; Tue, 15 May 2012 11:12:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRMxh-0004yc-10
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 12:22:45 +0000
Received: from [193.109.254.147:25570] by server-10.bemta-14.messagelabs.com
	id 30/E5-05847-49EB7AF4; Mon, 07 May 2012 12:22:44 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336393362!8031923!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18035 invoked from network); 7 May 2012 12:22:43 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-8.tower-27.messagelabs.com with SMTP;
	7 May 2012 12:22:43 -0000
Received: from int-mx12.intmail.prod.int.phx2.redhat.com
	(int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47CKbgi021848
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 08:22:24 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47C6Ihl011939; Mon, 7 May 2012 08:06:19 -0400
Message-ID: <4FA7BABA.4040700@redhat.com>
Date: Mon, 07 May 2012 15:06:18 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com>
In-Reply-To: <4FA7AAD8.6050003@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 01:58 PM, Raghavendra K T wrote:
> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>> This is looking pretty good and complete now - any objections
>>> from anyone to trying this out in a separate x86 topic tree?
>>
>> No objections, instead an
>>
>> Acked-by: Avi Kivity<avi@redhat.com>
>>
>
> Thank you.
>
> Here is a benchmark result with the patches.
>
> 3 guests with 8VCPU, 8GB RAM, 1 used for kernbench
> (kernbench -f -H -M -o 20) other for cpuhog (shell script while
> true with an instruction)
>
> unpinned scenario
> 1x: no hogs
> 2x: 8hogs in one guest
> 3x: 8hogs each in two guest
>
> BASE: 3.4-rc4 vanilla with CONFIG_PARAVIRT_SPINLOCK=n
> BASE+patch: 3.4-rc4 + debugfs + pv patches with
> CONFIG_PARAVIRT_SPINLOCK=y
>
> Machine : IBM xSeries with Intel(R) Xeon(R) x5570 2.93GHz CPU (Non
> PLE) with 8 core , 64GB RAM
>
> (Less is better. Below is time elapsed in sec for x86_64_defconfig
> (3+3 runs)).
>
>          BASE                    BASE+patch            %improvement
>          mean (sd)               mean (sd)
> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>

You're calculating the improvement incorrectly.  In the last case, it's
not 96%, rather it's 2400% (25x).  Similarly the second case is about
900% faster.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgE-00048C-AY; Tue, 15 May 2012 11:12:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRMxh-0004yc-10
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 12:22:45 +0000
Received: from [193.109.254.147:25570] by server-10.bemta-14.messagelabs.com
	id 30/E5-05847-49EB7AF4; Mon, 07 May 2012 12:22:44 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1336393362!8031923!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18035 invoked from network); 7 May 2012 12:22:43 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-8.tower-27.messagelabs.com with SMTP;
	7 May 2012 12:22:43 -0000
Received: from int-mx12.intmail.prod.int.phx2.redhat.com
	(int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47CKbgi021848
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 08:22:24 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47C6Ihl011939; Mon, 7 May 2012 08:06:19 -0400
Message-ID: <4FA7BABA.4040700@redhat.com>
Date: Mon, 07 May 2012 15:06:18 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com>
In-Reply-To: <4FA7AAD8.6050003@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 01:58 PM, Raghavendra K T wrote:
> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>> This is looking pretty good and complete now - any objections
>>> from anyone to trying this out in a separate x86 topic tree?
>>
>> No objections, instead an
>>
>> Acked-by: Avi Kivity<avi@redhat.com>
>>
>
> Thank you.
>
> Here is a benchmark result with the patches.
>
> 3 guests with 8VCPU, 8GB RAM, 1 used for kernbench
> (kernbench -f -H -M -o 20) other for cpuhog (shell script while
> true with an instruction)
>
> unpinned scenario
> 1x: no hogs
> 2x: 8hogs in one guest
> 3x: 8hogs each in two guest
>
> BASE: 3.4-rc4 vanilla with CONFIG_PARAVIRT_SPINLOCK=n
> BASE+patch: 3.4-rc4 + debugfs + pv patches with
> CONFIG_PARAVIRT_SPINLOCK=y
>
> Machine : IBM xSeries with Intel(R) Xeon(R) x5570 2.93GHz CPU (Non
> PLE) with 8 core , 64GB RAM
>
> (Less is better. Below is time elapsed in sec for x86_64_defconfig
> (3+3 runs)).
>
>          BASE                    BASE+patch            %improvement
>          mean (sd)               mean (sd)
> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>

You're calculating the improvement incorrectly.  In the last case, it's
not 96%, rather it's 2400% (25x).  Similarly the second case is about
900% faster.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgU-0004CE-Kf; Tue, 15 May 2012 11:12:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1STprb-0003O5-P2
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 07:38:39 +0000
Received: from [193.109.254.147:44612] by server-3.bemta-14.messagelabs.com id
	B0/59-23274-E76B0BF4; Mon, 14 May 2012 07:38:38 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336981116!8898881!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7915 invoked from network); 14 May 2012 07:38:38 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 14 May 2012 07:38:38 -0000
Received: from saboo.goop.org (unknown
	[IPv6:2001:470:1f05:899:f2de:f1ff:fe5c:34ed])
	(Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id EE275973E;
	Mon, 14 May 2012 00:38:35 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id 0EB0F20649;
	Mon, 14 May 2012 00:38:34 -0700 (PDT)
Message-ID: <4FB0B679.1020600@goop.org>
Date: Mon, 14 May 2012 00:38:33 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
In-Reply-To: <4FB0014A.90604@linux.vnet.ibm.com>
X-Enigmail-Version: 1.4.1
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Greg Kroah-Hartman <gregkh@suse.de>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/13/2012 11:45 AM, Raghavendra K T wrote:
> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>
> I could not come with pv-flush results (also Nikunj had clarified that
> the result was on NOn PLE
>
>> I'd like to see those numbers, then.
>>
>> Ingo, please hold on the kvm-specific patches, meanwhile.
>>
>
> 3 guests 8GB RAM, 1 used for kernbench
> (kernbench -f -H -M -o 20) other for cpuhog (shell script with  while
> true do hackbench)
>
> 1x: no hogs
> 2x: 8hogs in one guest
> 3x: 8hogs each in two guest
>
> kernbench on PLE:
> Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32
> core, with 8 online cpus and 4*64GB RAM.
>
> The average is taken over 4 iterations with 3 run each (4*3=12). and
> stdev is calculated over mean reported in each run.
>
>
> A): 8 vcpu guest
>
>                  BASE                    BASE+patch %improvement w.r.t
>                  mean (sd)               mean (sd)             
> patched kernel time
> case 1*1x:    61.7075  (1.17872)    60.93     (1.475625)    1.27605
> case 1*2x:    107.2125 (1.3821349)    97.506675 (1.3461878)   9.95401
> case 1*3x:    144.3515 (1.8203927)    138.9525  (0.58309319)  3.8855
>
>
> B): 16 vcpu guest
>                  BASE                    BASE+patch %improvement w.r.t
>                  mean (sd)               mean (sd)             
> patched kernel time
> case 2*1x:    70.524   (1.5941395)    69.68866  (1.9392529)   1.19867
> case 2*2x:    133.0738 (1.4558653)    124.8568  (1.4544986)   6.58114
> case 2*3x:    206.0094 (1.3437359)    181.4712  (2.9134116)   13.5218
>
> B): 32 vcpu guest
>                  BASE                    BASE+patch %improvementw.r.t
>                  mean (sd)               mean (sd)             
> patched kernel time
> case 4*1x:    100.61046 (2.7603485)     85.48734  (2.6035035)  17.6905

What does the "4*1x" notation mean? Do these workloads have overcommit
of the PCPU resources?

When I measured it, even quite small amounts of overcommit lead to large
performance drops with non-pv ticket locks (on the order of 10%
improvements when there were 5 busy VCPUs on a 4 cpu system).  I never
tested it on larger machines, but I guess that represents around 25%
overcommit, or 40 busy VCPUs on a 32-PCPU system.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgU-0004CE-Kf; Tue, 15 May 2012 11:12:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1STprb-0003O5-P2
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 07:38:39 +0000
Received: from [193.109.254.147:44612] by server-3.bemta-14.messagelabs.com id
	B0/59-23274-E76B0BF4; Mon, 14 May 2012 07:38:38 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336981116!8898881!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7915 invoked from network); 14 May 2012 07:38:38 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 14 May 2012 07:38:38 -0000
Received: from saboo.goop.org (unknown
	[IPv6:2001:470:1f05:899:f2de:f1ff:fe5c:34ed])
	(Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id EE275973E;
	Mon, 14 May 2012 00:38:35 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id 0EB0F20649;
	Mon, 14 May 2012 00:38:34 -0700 (PDT)
Message-ID: <4FB0B679.1020600@goop.org>
Date: Mon, 14 May 2012 00:38:33 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
In-Reply-To: <4FB0014A.90604@linux.vnet.ibm.com>
X-Enigmail-Version: 1.4.1
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Greg Kroah-Hartman <gregkh@suse.de>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/13/2012 11:45 AM, Raghavendra K T wrote:
> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>
> I could not come with pv-flush results (also Nikunj had clarified that
> the result was on NOn PLE
>
>> I'd like to see those numbers, then.
>>
>> Ingo, please hold on the kvm-specific patches, meanwhile.
>>
>
> 3 guests 8GB RAM, 1 used for kernbench
> (kernbench -f -H -M -o 20) other for cpuhog (shell script with  while
> true do hackbench)
>
> 1x: no hogs
> 2x: 8hogs in one guest
> 3x: 8hogs each in two guest
>
> kernbench on PLE:
> Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32
> core, with 8 online cpus and 4*64GB RAM.
>
> The average is taken over 4 iterations with 3 run each (4*3=12). and
> stdev is calculated over mean reported in each run.
>
>
> A): 8 vcpu guest
>
>                  BASE                    BASE+patch %improvement w.r.t
>                  mean (sd)               mean (sd)             
> patched kernel time
> case 1*1x:    61.7075  (1.17872)    60.93     (1.475625)    1.27605
> case 1*2x:    107.2125 (1.3821349)    97.506675 (1.3461878)   9.95401
> case 1*3x:    144.3515 (1.8203927)    138.9525  (0.58309319)  3.8855
>
>
> B): 16 vcpu guest
>                  BASE                    BASE+patch %improvement w.r.t
>                  mean (sd)               mean (sd)             
> patched kernel time
> case 2*1x:    70.524   (1.5941395)    69.68866  (1.9392529)   1.19867
> case 2*2x:    133.0738 (1.4558653)    124.8568  (1.4544986)   6.58114
> case 2*3x:    206.0094 (1.3437359)    181.4712  (2.9134116)   13.5218
>
> B): 32 vcpu guest
>                  BASE                    BASE+patch %improvementw.r.t
>                  mean (sd)               mean (sd)             
> patched kernel time
> case 4*1x:    100.61046 (2.7603485)     85.48734  (2.6035035)  17.6905

What does the "4*1x" notation mean? Do these workloads have overcommit
of the PCPU resources?

When I measured it, even quite small amounts of overcommit lead to large
performance drops with non-pv ticket locks (on the order of 10%
improvements when there were 5 busy VCPUs on a 4 cpu system).  I never
tested it on larger machines, but I guess that represents around 25%
overcommit, or 40 busy VCPUs on a 32-PCPU system.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgL-00049j-Eh; Tue, 15 May 2012 11:12:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRPL9-000888-LR
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:55:07 +0000
Received: from [85.158.138.51:55505] by server-2.bemta-3.messagelabs.com id
	89/9D-09269-A42E7AF4; Mon, 07 May 2012 14:55:06 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336402505!19648088!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9073 invoked from network); 7 May 2012 14:55:05 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-6.tower-174.messagelabs.com with SMTP;
	7 May 2012 14:55:05 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47Esc5v023713
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 10:54:38 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47EsVKb022669; Mon, 7 May 2012 10:54:31 -0400
Message-ID: <4FA7E226.5060809@redhat.com>
Date: Mon, 07 May 2012 17:54:30 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:52 PM, Avi Kivity wrote:
> > Having said that, it is hard for me to resist saying :
> >  bottleneck is somewhere else on PLE m/c and IMHO answer would be
> > combination of paravirt-spinlock + pv-flush-tb.
> >
> > But I need to come up with good number to argue in favour of the claim.
> >
> > PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a
> > win on PLE where only one of them alone could not prove the benefit.
> >
>
> I'd like to see those numbers, then.
>

Note: it's probably best to try very wide guests, where the overhead of
iterating on all vcpus begins to show.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgL-00049j-Eh; Tue, 15 May 2012 11:12:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SRPL9-000888-LR
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:55:07 +0000
Received: from [85.158.138.51:55505] by server-2.bemta-3.messagelabs.com id
	89/9D-09269-A42E7AF4; Mon, 07 May 2012 14:55:06 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336402505!19648088!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9073 invoked from network); 7 May 2012 14:55:05 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-6.tower-174.messagelabs.com with SMTP;
	7 May 2012 14:55:05 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47Esc5v023713
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 10:54:38 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q47EsVKb022669; Mon, 7 May 2012 10:54:31 -0400
Message-ID: <4FA7E226.5060809@redhat.com>
Date: Mon, 07 May 2012 17:54:30 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:52 PM, Avi Kivity wrote:
> > Having said that, it is hard for me to resist saying :
> >  bottleneck is somewhere else on PLE m/c and IMHO answer would be
> > combination of paravirt-spinlock + pv-flush-tb.
> >
> > But I need to come up with good number to argue in favour of the claim.
> >
> > PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a
> > win on PLE where only one of them alone could not prove the benefit.
> >
>
> I'd like to see those numbers, then.
>

Note: it's probably best to try very wide guests, where the overhead of
iterating on all vcpus begins to show.

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgD-00047v-6v; Tue, 15 May 2012 11:12:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mingo.kernel.org@gmail.com>) id 1SRJRV-0001aK-RK
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:37:18 +0000
Received: from [85.158.139.83:13617] by server-11.bemta-5.messagelabs.com id
	87/F6-12959-DB987AF4; Mon, 07 May 2012 08:37:17 +0000
X-Env-Sender: mingo.kernel.org@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336379835!23119816!1
X-Originating-IP: [209.85.214.43]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23139 invoked from network); 7 May 2012 08:37:15 -0000
Received: from mail-bk0-f43.google.com (HELO mail-bk0-f43.google.com)
	(209.85.214.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 08:37:15 -0000
Received: by bkty5 with SMTP id y5so4201791bkt.30
	for <xen-devel@lists.xensource.com>;
	Mon, 07 May 2012 01:37:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent;
	bh=gsmcB44XB/5Fs4nPWOslau16ZZ/LsVfi9A6AptR3De4=;
	b=EFyWhRsOWolnAvlXQfvH14eaMyUAIJxjinAWIXZieTfm/JhNclNcIiNLi8aQqabtxQ
	KF0P1XVNa/txTI+YIgVwtwKFlpKyt5MTt9VYrVzaELyAeYUBhEAWF7YhHkVPpUicNFz4
	nLCl23Vy2pM3M8EwONJAJMEQ7OEaNN7df5176xlQokqiJRfDMRhqZVH9ku7nRgMxi/UL
	t3OF3sHqgMzDa6MvR93vZ6oF7JDsIO8yHwNoUowZj2mVd4SNg0tOLETjK54DAZXAViGa
	Sg6Rdbdl9giwr4iAM7aUYsKSwr7ZXqhAQwbMfcQfGdfx6g4/qVXTCDeecOJBG3Y3bKY+
	cHdw==
Received: by 10.204.151.211 with SMTP id d19mr5135449bkw.63.1336379378793;
	Mon, 07 May 2012 01:29:38 -0700 (PDT)
Received: from gmail.com (54033750.catv.pool.telekom.hu. [84.3.55.80])
	by mx.google.com with ESMTPS id u8sm30664715bks.0.2012.05.07.01.29.31
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 07 May 2012 01:29:37 -0700 (PDT)
Date: Mon, 7 May 2012 10:29:28 +0200
From: Ingo Molnar <mingo@kernel.org>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>, Avi Kivity <avi@redhat.com>
Message-ID: <20120507082928.GI16608@gmail.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


* Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> wrote:

> This series replaces the existing paravirtualized spinlock mechanism
> with a paravirtualized ticketlock mechanism. The series provides
> implementation for both Xen and KVM.(targeted for 3.5 window)
> 
> Note: This needs debugfs changes patch that should be in Xen / linux-next
>    https://lkml.org/lkml/2012/3/30/687
> 
> Changes in V8:
>  - Reabsed patches to 3.4-rc4
>  - Combined the KVM changes with ticketlock + Xen changes (Ingo)
>  - Removed CAP_PV_UNHALT since it is redundant (Avi). But note that we
>     need newer qemu which uses KVM_GET_SUPPORTED_CPUID ioctl.
>  - Rewrite GET_MP_STATE condition (Avi)
>  - Make pv_unhalt = bool (Avi)
>  - Move out reset pv_unhalt code to vcpu_run from vcpu_block (Gleb)
>  - Documentation changes (Rob Landley)
>  - Have a printk to recognize that paravirt spinlock is enabled (Nikunj)
>  - Move out kick hypercall out of CONFIG_PARAVIRT_SPINLOCK now
>    so that it can be used for other optimizations such as 
>    flush_tlb_ipi_others etc. (Nikunj)
> 
> Ticket locks have an inherent problem in a virtualized case, because
> the vCPUs are scheduled rather than running concurrently (ignoring
> gang scheduled vCPUs).  This can result in catastrophic performance
> collapses when the vCPU scheduler doesn't schedule the correct "next"
> vCPU, and ends up scheduling a vCPU which burns its entire timeslice
> spinning.  (Note that this is not the same problem as lock-holder
> preemption, which this series also addresses; that's also a problem,
> but not catastrophic).
> 
> (See Thomas Friebel's talk "Prevent Guests from Spinning Around"
> http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)
> 
> Currently we deal with this by having PV spinlocks, which adds a layer
> of indirection in front of all the spinlock functions, and defining a
> completely new implementation for Xen (and for other pvops users, but
> there are none at present).
> 
> PV ticketlocks keeps the existing ticketlock implemenentation
> (fastpath) as-is, but adds a couple of pvops for the slow paths:
> 
> - If a CPU has been waiting for a spinlock for SPIN_THRESHOLD
>   iterations, then call out to the __ticket_lock_spinning() pvop,
>   which allows a backend to block the vCPU rather than spinning.  This
>   pvop can set the lock into "slowpath state".
> 
> - When releasing a lock, if it is in "slowpath state", the call
>   __ticket_unlock_kick() to kick the next vCPU in line awake.  If the
>   lock is no longer in contention, it also clears the slowpath flag.
> 
> The "slowpath state" is stored in the LSB of the within the lock tail
> ticket.  This has the effect of reducing the max number of CPUs by
> half (so, a "small ticket" can deal with 128 CPUs, and "large ticket"
> 32768).
> 
> For KVM, one hypercall is introduced in hypervisor,that allows a vcpu to kick
> another vcpu out of halt state.
> The blocking of vcpu is done using halt() in (lock_spinning) slowpath.
> 
> Overall, it results in a large reduction in code, it makes the native
> and virtualized cases closer, and it removes a layer of indirection
> around all the spinlock functions.
> 
> The fast path (taking an uncontended lock which isn't in "slowpath"
> state) is optimal, identical to the non-paravirtualized case.
> 
> The inner part of ticket lock code becomes:
> 	inc = xadd(&lock->tickets, inc);
> 	inc.tail &= ~TICKET_SLOWPATH_FLAG;
> 
> 	if (likely(inc.head == inc.tail))
> 		goto out;
> 	for (;;) {
> 		unsigned count = SPIN_THRESHOLD;
> 		do {
> 			if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
> 				goto out;
> 			cpu_relax();
> 		} while (--count);
> 		__ticket_lock_spinning(lock, inc.tail);
> 	}
> out:	barrier();
> which results in:
> 	push   %rbp
> 	mov    %rsp,%rbp
> 
> 	mov    $0x200,%eax
> 	lock xadd %ax,(%rdi)
> 	movzbl %ah,%edx
> 	cmp    %al,%dl
> 	jne    1f	# Slowpath if lock in contention
> 
> 	pop    %rbp
> 	retq   
> 
> 	### SLOWPATH START
> 1:	and    $-2,%edx
> 	movzbl %dl,%esi
> 
> 2:	mov    $0x800,%eax
> 	jmp    4f
> 
> 3:	pause  
> 	sub    $0x1,%eax
> 	je     5f
> 
> 4:	movzbl (%rdi),%ecx
> 	cmp    %cl,%dl
> 	jne    3b
> 
> 	pop    %rbp
> 	retq   
> 
> 5:	callq  *__ticket_lock_spinning
> 	jmp    2b
> 	### SLOWPATH END
> 
> with CONFIG_PARAVIRT_SPINLOCKS=n, the code has changed slightly, where
> the fastpath case is straight through (taking the lock without
> contention), and the spin loop is out of line:
> 
> 	push   %rbp
> 	mov    %rsp,%rbp
> 
> 	mov    $0x100,%eax
> 	lock xadd %ax,(%rdi)
> 	movzbl %ah,%edx
> 	cmp    %al,%dl
> 	jne    1f
> 
> 	pop    %rbp
> 	retq   
> 
> 	### SLOWPATH START
> 1:	pause  
> 	movzbl (%rdi),%eax
> 	cmp    %dl,%al
> 	jne    1b
> 
> 	pop    %rbp
> 	retq   
> 	### SLOWPATH END
> 
> The unlock code is complicated by the need to both add to the lock's
> "head" and fetch the slowpath flag from "tail".  This version of the
> patch uses a locked add to do this, followed by a test to see if the
> slowflag is set.  The lock prefix acts as a full memory barrier, so we
> can be sure that other CPUs will have seen the unlock before we read
> the flag (without the barrier the read could be fetched from the
> store queue before it hits memory, which could result in a deadlock).
> 
> This is is all unnecessary complication if you're not using PV ticket
> locks, it also uses the jump-label machinery to use the standard
> "add"-based unlock in the non-PV case.
> 
> 	if (TICKET_SLOWPATH_FLAG &&
> 	     static_key_false(&paravirt_ticketlocks_enabled))) {
> 		arch_spinlock_t prev;
> 		prev = *lock;
> 		add_smp(&lock->tickets.head, TICKET_LOCK_INC);
> 
> 		/* add_smp() is a full mb() */
> 		if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
> 			__ticket_unlock_slowpath(lock, prev);
> 	} else
> 		__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
> which generates:
> 	push   %rbp
> 	mov    %rsp,%rbp
> 
> 	nop5	# replaced by 5-byte jmp 2f when PV enabled
> 
> 	# non-PV unlock
> 	addb   $0x2,(%rdi)
> 
> 1:	pop    %rbp
> 	retq   
> 
> ### PV unlock ###
> 2:	movzwl (%rdi),%esi	# Fetch prev
> 
> 	lock addb $0x2,(%rdi)	# Do unlock
> 
> 	testb  $0x1,0x1(%rdi)	# Test flag
> 	je     1b		# Finished if not set
> 
> ### Slow path ###
> 	add    $2,%sil		# Add "head" in old lock state
> 	mov    %esi,%edx
> 	and    $0xfe,%dh	# clear slowflag for comparison
> 	movzbl %dh,%eax
> 	cmp    %dl,%al		# If head == tail (uncontended)
> 	je     4f		# clear slowpath flag
> 
> 	# Kick next CPU waiting for lock
> 3:	movzbl %sil,%esi
> 	callq  *pv_lock_ops.kick
> 
> 	pop    %rbp
> 	retq   
> 
> 	# Lock no longer contended - clear slowflag
> 4:	mov    %esi,%eax
> 	lock cmpxchg %dx,(%rdi)	# cmpxchg to clear flag
> 	cmp    %si,%ax
> 	jne    3b		# If clear failed, then kick
> 
> 	pop    %rbp
> 	retq   
> 
> So when not using PV ticketlocks, the unlock sequence just has a
> 5-byte nop added to it, and the PV case is reasonable straightforward
> aside from requiring a "lock add".
> 
> TODO: 1) Remove CONFIG_PARAVIRT_SPINLOCK ?
>       2) Experiments on further optimization possibilities. (discussed in V6)
>       3) Use kvm_irq_delivery_to_apic() in kvm hypercall (suggested by Gleb)
>       4) Any cleanups for e.g. Xen/KVM common code for debugfs.
> 
> PS: TODOs are no blockers for the current series merge.
> 
> Results:
> =======
> various form of results based on V6 of the patch series are posted in following links
>  
>  https://lkml.org/lkml/2012/3/21/161
>  https://lkml.org/lkml/2012/3/21/198
> 
>  kvm results:
>  https://lkml.org/lkml/2012/3/23/50
>  https://lkml.org/lkml/2012/4/5/73
> 
> Benchmarking on the current set of patches will be posted soon.
> 
> Thoughts? Comments? Suggestions?. It  would be nice to see
> Acked-by/Reviewed-by/Tested-by for the patch series.
>  
> Jeremy Fitzhardinge (9):
>   x86/spinlock: Replace pv spinlocks with pv ticketlocks
>   x86/ticketlock: Collapse a layer of functions
>   xen: Defer spinlock setup until boot CPU setup
>   xen/pvticketlock: Xen implementation for PV ticket locks
>   xen/pvticketlocks: Add xen_nopvspin parameter to disable xen pv
>     ticketlocks
>   x86/pvticketlock: Use callee-save for lock_spinning
>   x86/pvticketlock: When paravirtualizing ticket locks, increment by 2
>   x86/ticketlock: Add slowpath logic
>   xen/pvticketlock: Allow interrupts to be enabled while blocking
> 
> Srivatsa Vaddagiri (3): 
>   Add a hypercall to KVM hypervisor to support pv-ticketlocks
>   Added configuration support to enable debug information for KVM Guests
>   Paravirtual ticketlock support for linux guests running on KVM hypervisor
> 
> Raghavendra K T (3):
>   x86/ticketlock: Don't inline _spin_unlock when using paravirt
>     spinlocks
>   Fold pv_unhalt flag into GET_MP_STATE ioctl to aid migration
>   Add documentation on Hypercalls and features used for PV spinlock
> 
> Andrew Jones (1):
>   Split out rate limiting from jump_label.h
> 
> Stefano Stabellini (1):
>  xen: Enable PV ticketlocks on HVM Xen
> ---
> PS: Had to trim down recipient list because, LKML archive does not support
> list > 20. Though many more people should have been in To/CC list.
> 
> Ticketlock links:
> V7 : https://lkml.org/lkml/2012/4/19/335 
> V6 : https://lkml.org/lkml/2012/3/21/161
> 
> KVM patch links:
>  V6: https://lkml.org/lkml/2012/4/23/123
> 
>  V5 kernel changes:
>  https://lkml.org/lkml/2012/3/23/50
>  Qemu changes for V5:
>  http://lists.gnu.org/archive/html/qemu-devel/2012-03/msg04455.html 
> 
>  V4 kernel changes:
>  https://lkml.org/lkml/2012/1/14/66
>  Qemu changes for V4:
>  http://www.mail-archive.com/kvm@vger.kernel.org/msg66450.html
> 
>  V3 kernel Changes:
>  https://lkml.org/lkml/2011/11/30/62
>  Qemu patch for V3:
>  http://lists.gnu.org/archive/html/qemu-devel/2011-12/msg00397.html
> 
>  V2 kernel changes : 
>  https://lkml.org/lkml/2011/10/23/207
> 
>  Previous discussions : (posted by Srivatsa V).
>  https://lkml.org/lkml/2010/7/26/24
>  https://lkml.org/lkml/2011/1/19/212
> 
> Ticketlock change history:
> Changes in V7:
>  - Reabsed patches to 3.4-rc3
>  - Added jumplabel split patch (originally from Andrew Jones rebased to
>     3.4-rc3
>  - jumplabel changes from Ingo and Jason taken and now using static_key_*
>     instead of static_branch.
>  - using UNINLINE_SPIN_UNLOCK (which was splitted as per suggestion from Linus)
>  - This patch series is rebased on debugfs patch (that sould be already in
>     Xen/linux-next https://lkml.org/lkml/2012/3/23/51)
> 
> Changes in V6 posting: (Raghavendra K T)
>  - Rebased to linux-3.3-rc6.
>  - used function+enum in place of macro (better type checking) 
>  - use cmpxchg while resetting zero status for possible race
> 	[suggested by Dave Hansen for KVM patches ]
> 
> KVM patch Change history:
> Changes in V6:
> - Rebased to 3.4-rc3
> - Removed debugfs changes patch which should now be in Xen/linux-next.
>   (https://lkml.org/lkml/2012/3/30/687)
> - Removed PV_UNHALT_MSR since currently we don't need guest communication,
>   and made pv_unhalt folded to GET_MP_STATE (Marcello, Avi[long back])
> - Take jumplabel changes from Ingo/Jason into use (static_key_slow_inc usage)
> - Added inline to spinlock_init in non PARAVIRT case
> - Move arch specific code to arch/x86 and add stubs to other archs (Marcello)
> - Added more comments on pv_unhalt usage etc (Marcello)
> 
> Changes in V5:
> - rebased to 3.3-rc6
> - added PV_UNHALT_MSR that would help in live migration (Avi)
> - removed PV_LOCK_KICK vcpu request and pv_unhalt flag (re)added.
> - Changed hypercall documentaion (Alex).
> - mode_t changed to umode_t in debugfs.
> - MSR related documentation added.
> - rename PV_LOCK_KICK to PV_UNHALT. 
> - host and guest patches not mixed. (Marcelo, Alex)
> - kvm_kick_cpu now takes cpu so it can be used by flush_tlb_ipi_other 
>    paravirtualization (Nikunj)
> - coding style changes in variable declarion etc (Srikar)
> 
> Changes in V4:
> - reabsed to 3.2.0 pre.
> - use APIC ID for kicking the vcpu and use kvm_apic_match_dest for matching (Avi)
> - fold vcpu->kicked flag into vcpu->requests (KVM_REQ_PVLOCK_KICK) and related 
>   changes for UNHALT path to make pv ticket spinlock migration friendly(Avi, Marcello)
> - Added Documentation for CPUID, Hypercall (KVM_HC_KICK_CPU)
>   and capabilty (KVM_CAP_PVLOCK_KICK) (Avi)
> - Remove unneeded kvm_arch_vcpu_ioctl_set_mpstate call. (Marcello)
> - cumulative variable type changed (int ==> u32) in add_stat (Konrad)
> - remove unneeded kvm_guest_init for !CONFIG_KVM_GUEST case
> 
> Changes in V3:
> - rebased to 3.2-rc1
> - use halt() instead of wait for kick hypercall.
> - modify kick hyper call to do wakeup halted vcpu.
> - hook kvm_spinlock_init to smp_prepare_cpus call (moved the call out of head##.c).
> - fix the potential race when zero_stat is read.
> - export debugfs_create_32 and add documentation to API.
> - use static inline and enum instead of ADDSTAT macro. 
> - add  barrier() in after setting kick_vcpu.
> - empty static inline function for kvm_spinlock_init.
> - combine the patches one and two readuce overhead.
> - make KVM_DEBUGFS depends on DEBUGFS.
> - include debugfs header unconditionally.
> 
> Changes in V2:
> - rebased patchesto -rc9
> - synchronization related changes based on Jeremy's changes 
>  (Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>) pointed by 
>  Stephan Diestelhorst <stephan.diestelhorst@amd.com>
> - enabling 32 bit guests
> - splitted patches into two more chunks
> 
>  Documentation/virtual/kvm/cpuid.txt      |    4 +
>  Documentation/virtual/kvm/hypercalls.txt |   60 +++++
>  arch/x86/Kconfig                         |   10 +
>  arch/x86/include/asm/kvm_host.h          |    4 +
>  arch/x86/include/asm/kvm_para.h          |   16 +-
>  arch/x86/include/asm/paravirt.h          |   32 +--
>  arch/x86/include/asm/paravirt_types.h    |   10 +-
>  arch/x86/include/asm/spinlock.h          |  128 +++++++----
>  arch/x86/include/asm/spinlock_types.h    |   16 +-
>  arch/x86/kernel/kvm.c                    |  256 ++++++++++++++++++++
>  arch/x86/kernel/paravirt-spinlocks.c     |   18 +-
>  arch/x86/kvm/cpuid.c                     |    3 +-
>  arch/x86/kvm/x86.c                       |   44 ++++-
>  arch/x86/xen/smp.c                       |    3 +-
>  arch/x86/xen/spinlock.c                  |  387 ++++++++++--------------------
>  include/linux/jump_label.h               |   26 +--
>  include/linux/jump_label_ratelimit.h     |   34 +++
>  include/linux/kvm_para.h                 |    1 +
>  include/linux/perf_event.h               |    1 +
>  kernel/jump_label.c                      |    1 +
>  20 files changed, 673 insertions(+), 381 deletions(-)

This is looking pretty good and complete now - any objections 
from anyone to trying this out in a separate x86 topic tree?

Thanks,

	Ingo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgR-0004BH-PE; Tue, 15 May 2012 11:12:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <law@redhat.com>) id 1SSZmP-0003iK-Ka
	for xen-devel@lists.xen.org; Thu, 10 May 2012 20:16:05 +0000
Received: from [85.158.139.83:20511] by server-3.bemta-5.messagelabs.com id
	18/17-25237-4022CAF4; Thu, 10 May 2012 20:16:04 +0000
X-Env-Sender: law@redhat.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336680963!16472924!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE2MjA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24787 invoked from network); 10 May 2012 20:16:04 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-8.tower-182.messagelabs.com with SMTP;
	10 May 2012 20:16:04 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4AKFEDQ023887
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:15:14 -0400
Received: from stumpy.slc.redhat.com (ovpn-113-71.phx2.redhat.com
	[10.3.113.71])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4AKFDwI007622; Thu, 10 May 2012 16:15:13 -0400
Message-ID: <4FAC21D1.4030005@redhat.com>
Date: Thu, 10 May 2012 14:15:13 -0600
From: Jeff Law <law@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
In-Reply-To: <20120509173836.GB9094@phenom.dumpdata.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>, Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:

>
> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV guest
> still crashes on that machine) - which means that in multi-lib the bit_YMM_Usable
> is _not_ set. But then looking at the sources I see:
What's even more amusing?  Just after installing the incorrect feature 
check and introducing bit_YMM_Usable, Uli reverted all the tests which 
had been checking for usable YMM regs and made them check AVX again.

  one.
>
> Perhaps this is needed:
>
> --- glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c.orig	2012-05-09 13:32:10.832000122 -0400
> +++ glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c	2012-05-09 13:33:31.043000138 -0400
> @@ -154,6 +154,8 @@ __init_cpu_features (void)
>   		     : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>   		(xcrlow&  6) == 6; }))
>   	__cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
> +	else
> +	__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&= ~bit_AVX;
>       }
>
>     __cpu_features.family = family;
I certainly agree.  The big problem here is testing...  I still can't 
test it :(  Against my better judgment I may have to throw a glibc with 
that change over the wall and hope.  There's been far too much of that 
already.

jeff

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgH-00048t-9Z; Tue, 15 May 2012 11:12:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SROK6-0005zj-Tv
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:49:59 +0000
Received: from [85.158.138.51:14069] by server-3.bemta-3.messagelabs.com id
	D6/38-04048-603D7AF4; Mon, 07 May 2012 13:49:58 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336398596!25699246!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23485 invoked from network); 7 May 2012 13:49:57 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-4.tower-174.messagelabs.com with SMTP;
	7 May 2012 13:49:57 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47DnWQc014732
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 09:49:33 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q47DnPVY032195; Mon, 7 May 2012 09:49:26 -0400
Message-ID: <4FA7D2E5.1020607@redhat.com>
Date: Mon, 07 May 2012 16:49:25 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
In-Reply-To: <20120507134611.GB5533@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, Gleb Natapov <gleb@redhat.com>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>, Greg Kroah-Hartman <gregkh@suse.de>,
	LKML <linux-kernel@vger.kernel.org>, Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
> * Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:
>
> > I 'll get hold of a PLE mc  and come up with the numbers soon. but I
> > 'll expect the improvement around 1-3% as it was in last version.
>
> Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
> results on PLE hardware. Something worth trying IMHO.

Is the improvement so low, because PLE is interfering with the patch, or
because PLE already does a good job?

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgH-00048t-9Z; Tue, 15 May 2012 11:12:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avi@redhat.com>) id 1SROK6-0005zj-Tv
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:49:59 +0000
Received: from [85.158.138.51:14069] by server-3.bemta-3.messagelabs.com id
	D6/38-04048-603D7AF4; Mon, 07 May 2012 13:49:58 +0000
X-Env-Sender: avi@redhat.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1336398596!25699246!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTA4MzU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23485 invoked from network); 7 May 2012 13:49:57 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-4.tower-174.messagelabs.com with SMTP;
	7 May 2012 13:49:57 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q47DnWQc014732
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 7 May 2012 09:49:33 -0400
Received: from balrog.usersys.redhat.com (dhcp-4-117.tlv.redhat.com
	[10.35.4.117])
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q47DnPVY032195; Mon, 7 May 2012 09:49:26 -0400
Message-ID: <4FA7D2E5.1020607@redhat.com>
Date: Mon, 07 May 2012 16:49:25 +0300
From: Avi Kivity <avi@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
In-Reply-To: <20120507134611.GB5533@linux.vnet.ibm.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, Gleb Natapov <gleb@redhat.com>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>, Greg Kroah-Hartman <gregkh@suse.de>,
	LKML <linux-kernel@vger.kernel.org>, Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
> * Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:
>
> > I 'll get hold of a PLE mc  and come up with the numbers soon. but I
> > 'll expect the improvement around 1-3% as it was in last version.
>
> Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
> results on PLE hardware. Something worth trying IMHO.

Is the improvement so low, because PLE is interfering with the patch, or
because PLE already does a good job?

-- 
error compiling committee.c: too many arguments to function


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgD-00047v-6v; Tue, 15 May 2012 11:12:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mingo.kernel.org@gmail.com>) id 1SRJRV-0001aK-RK
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 08:37:18 +0000
Received: from [85.158.139.83:13617] by server-11.bemta-5.messagelabs.com id
	87/F6-12959-DB987AF4; Mon, 07 May 2012 08:37:17 +0000
X-Env-Sender: mingo.kernel.org@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1336379835!23119816!1
X-Originating-IP: [209.85.214.43]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23139 invoked from network); 7 May 2012 08:37:15 -0000
Received: from mail-bk0-f43.google.com (HELO mail-bk0-f43.google.com)
	(209.85.214.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	7 May 2012 08:37:15 -0000
Received: by bkty5 with SMTP id y5so4201791bkt.30
	for <xen-devel@lists.xensource.com>;
	Mon, 07 May 2012 01:37:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent;
	bh=gsmcB44XB/5Fs4nPWOslau16ZZ/LsVfi9A6AptR3De4=;
	b=EFyWhRsOWolnAvlXQfvH14eaMyUAIJxjinAWIXZieTfm/JhNclNcIiNLi8aQqabtxQ
	KF0P1XVNa/txTI+YIgVwtwKFlpKyt5MTt9VYrVzaELyAeYUBhEAWF7YhHkVPpUicNFz4
	nLCl23Vy2pM3M8EwONJAJMEQ7OEaNN7df5176xlQokqiJRfDMRhqZVH9ku7nRgMxi/UL
	t3OF3sHqgMzDa6MvR93vZ6oF7JDsIO8yHwNoUowZj2mVd4SNg0tOLETjK54DAZXAViGa
	Sg6Rdbdl9giwr4iAM7aUYsKSwr7ZXqhAQwbMfcQfGdfx6g4/qVXTCDeecOJBG3Y3bKY+
	cHdw==
Received: by 10.204.151.211 with SMTP id d19mr5135449bkw.63.1336379378793;
	Mon, 07 May 2012 01:29:38 -0700 (PDT)
Received: from gmail.com (54033750.catv.pool.telekom.hu. [84.3.55.80])
	by mx.google.com with ESMTPS id u8sm30664715bks.0.2012.05.07.01.29.31
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 07 May 2012 01:29:37 -0700 (PDT)
Date: Mon, 7 May 2012 10:29:28 +0200
From: Ingo Molnar <mingo@kernel.org>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>, Avi Kivity <avi@redhat.com>
Message-ID: <20120507082928.GI16608@gmail.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


* Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> wrote:

> This series replaces the existing paravirtualized spinlock mechanism
> with a paravirtualized ticketlock mechanism. The series provides
> implementation for both Xen and KVM.(targeted for 3.5 window)
> 
> Note: This needs debugfs changes patch that should be in Xen / linux-next
>    https://lkml.org/lkml/2012/3/30/687
> 
> Changes in V8:
>  - Reabsed patches to 3.4-rc4
>  - Combined the KVM changes with ticketlock + Xen changes (Ingo)
>  - Removed CAP_PV_UNHALT since it is redundant (Avi). But note that we
>     need newer qemu which uses KVM_GET_SUPPORTED_CPUID ioctl.
>  - Rewrite GET_MP_STATE condition (Avi)
>  - Make pv_unhalt = bool (Avi)
>  - Move out reset pv_unhalt code to vcpu_run from vcpu_block (Gleb)
>  - Documentation changes (Rob Landley)
>  - Have a printk to recognize that paravirt spinlock is enabled (Nikunj)
>  - Move out kick hypercall out of CONFIG_PARAVIRT_SPINLOCK now
>    so that it can be used for other optimizations such as 
>    flush_tlb_ipi_others etc. (Nikunj)
> 
> Ticket locks have an inherent problem in a virtualized case, because
> the vCPUs are scheduled rather than running concurrently (ignoring
> gang scheduled vCPUs).  This can result in catastrophic performance
> collapses when the vCPU scheduler doesn't schedule the correct "next"
> vCPU, and ends up scheduling a vCPU which burns its entire timeslice
> spinning.  (Note that this is not the same problem as lock-holder
> preemption, which this series also addresses; that's also a problem,
> but not catastrophic).
> 
> (See Thomas Friebel's talk "Prevent Guests from Spinning Around"
> http://www.xen.org/files/xensummitboston08/LHP.pdf for more details.)
> 
> Currently we deal with this by having PV spinlocks, which adds a layer
> of indirection in front of all the spinlock functions, and defining a
> completely new implementation for Xen (and for other pvops users, but
> there are none at present).
> 
> PV ticketlocks keeps the existing ticketlock implemenentation
> (fastpath) as-is, but adds a couple of pvops for the slow paths:
> 
> - If a CPU has been waiting for a spinlock for SPIN_THRESHOLD
>   iterations, then call out to the __ticket_lock_spinning() pvop,
>   which allows a backend to block the vCPU rather than spinning.  This
>   pvop can set the lock into "slowpath state".
> 
> - When releasing a lock, if it is in "slowpath state", the call
>   __ticket_unlock_kick() to kick the next vCPU in line awake.  If the
>   lock is no longer in contention, it also clears the slowpath flag.
> 
> The "slowpath state" is stored in the LSB of the within the lock tail
> ticket.  This has the effect of reducing the max number of CPUs by
> half (so, a "small ticket" can deal with 128 CPUs, and "large ticket"
> 32768).
> 
> For KVM, one hypercall is introduced in hypervisor,that allows a vcpu to kick
> another vcpu out of halt state.
> The blocking of vcpu is done using halt() in (lock_spinning) slowpath.
> 
> Overall, it results in a large reduction in code, it makes the native
> and virtualized cases closer, and it removes a layer of indirection
> around all the spinlock functions.
> 
> The fast path (taking an uncontended lock which isn't in "slowpath"
> state) is optimal, identical to the non-paravirtualized case.
> 
> The inner part of ticket lock code becomes:
> 	inc = xadd(&lock->tickets, inc);
> 	inc.tail &= ~TICKET_SLOWPATH_FLAG;
> 
> 	if (likely(inc.head == inc.tail))
> 		goto out;
> 	for (;;) {
> 		unsigned count = SPIN_THRESHOLD;
> 		do {
> 			if (ACCESS_ONCE(lock->tickets.head) == inc.tail)
> 				goto out;
> 			cpu_relax();
> 		} while (--count);
> 		__ticket_lock_spinning(lock, inc.tail);
> 	}
> out:	barrier();
> which results in:
> 	push   %rbp
> 	mov    %rsp,%rbp
> 
> 	mov    $0x200,%eax
> 	lock xadd %ax,(%rdi)
> 	movzbl %ah,%edx
> 	cmp    %al,%dl
> 	jne    1f	# Slowpath if lock in contention
> 
> 	pop    %rbp
> 	retq   
> 
> 	### SLOWPATH START
> 1:	and    $-2,%edx
> 	movzbl %dl,%esi
> 
> 2:	mov    $0x800,%eax
> 	jmp    4f
> 
> 3:	pause  
> 	sub    $0x1,%eax
> 	je     5f
> 
> 4:	movzbl (%rdi),%ecx
> 	cmp    %cl,%dl
> 	jne    3b
> 
> 	pop    %rbp
> 	retq   
> 
> 5:	callq  *__ticket_lock_spinning
> 	jmp    2b
> 	### SLOWPATH END
> 
> with CONFIG_PARAVIRT_SPINLOCKS=n, the code has changed slightly, where
> the fastpath case is straight through (taking the lock without
> contention), and the spin loop is out of line:
> 
> 	push   %rbp
> 	mov    %rsp,%rbp
> 
> 	mov    $0x100,%eax
> 	lock xadd %ax,(%rdi)
> 	movzbl %ah,%edx
> 	cmp    %al,%dl
> 	jne    1f
> 
> 	pop    %rbp
> 	retq   
> 
> 	### SLOWPATH START
> 1:	pause  
> 	movzbl (%rdi),%eax
> 	cmp    %dl,%al
> 	jne    1b
> 
> 	pop    %rbp
> 	retq   
> 	### SLOWPATH END
> 
> The unlock code is complicated by the need to both add to the lock's
> "head" and fetch the slowpath flag from "tail".  This version of the
> patch uses a locked add to do this, followed by a test to see if the
> slowflag is set.  The lock prefix acts as a full memory barrier, so we
> can be sure that other CPUs will have seen the unlock before we read
> the flag (without the barrier the read could be fetched from the
> store queue before it hits memory, which could result in a deadlock).
> 
> This is is all unnecessary complication if you're not using PV ticket
> locks, it also uses the jump-label machinery to use the standard
> "add"-based unlock in the non-PV case.
> 
> 	if (TICKET_SLOWPATH_FLAG &&
> 	     static_key_false(&paravirt_ticketlocks_enabled))) {
> 		arch_spinlock_t prev;
> 		prev = *lock;
> 		add_smp(&lock->tickets.head, TICKET_LOCK_INC);
> 
> 		/* add_smp() is a full mb() */
> 		if (unlikely(lock->tickets.tail & TICKET_SLOWPATH_FLAG))
> 			__ticket_unlock_slowpath(lock, prev);
> 	} else
> 		__add(&lock->tickets.head, TICKET_LOCK_INC, UNLOCK_LOCK_PREFIX);
> which generates:
> 	push   %rbp
> 	mov    %rsp,%rbp
> 
> 	nop5	# replaced by 5-byte jmp 2f when PV enabled
> 
> 	# non-PV unlock
> 	addb   $0x2,(%rdi)
> 
> 1:	pop    %rbp
> 	retq   
> 
> ### PV unlock ###
> 2:	movzwl (%rdi),%esi	# Fetch prev
> 
> 	lock addb $0x2,(%rdi)	# Do unlock
> 
> 	testb  $0x1,0x1(%rdi)	# Test flag
> 	je     1b		# Finished if not set
> 
> ### Slow path ###
> 	add    $2,%sil		# Add "head" in old lock state
> 	mov    %esi,%edx
> 	and    $0xfe,%dh	# clear slowflag for comparison
> 	movzbl %dh,%eax
> 	cmp    %dl,%al		# If head == tail (uncontended)
> 	je     4f		# clear slowpath flag
> 
> 	# Kick next CPU waiting for lock
> 3:	movzbl %sil,%esi
> 	callq  *pv_lock_ops.kick
> 
> 	pop    %rbp
> 	retq   
> 
> 	# Lock no longer contended - clear slowflag
> 4:	mov    %esi,%eax
> 	lock cmpxchg %dx,(%rdi)	# cmpxchg to clear flag
> 	cmp    %si,%ax
> 	jne    3b		# If clear failed, then kick
> 
> 	pop    %rbp
> 	retq   
> 
> So when not using PV ticketlocks, the unlock sequence just has a
> 5-byte nop added to it, and the PV case is reasonable straightforward
> aside from requiring a "lock add".
> 
> TODO: 1) Remove CONFIG_PARAVIRT_SPINLOCK ?
>       2) Experiments on further optimization possibilities. (discussed in V6)
>       3) Use kvm_irq_delivery_to_apic() in kvm hypercall (suggested by Gleb)
>       4) Any cleanups for e.g. Xen/KVM common code for debugfs.
> 
> PS: TODOs are no blockers for the current series merge.
> 
> Results:
> =======
> various form of results based on V6 of the patch series are posted in following links
>  
>  https://lkml.org/lkml/2012/3/21/161
>  https://lkml.org/lkml/2012/3/21/198
> 
>  kvm results:
>  https://lkml.org/lkml/2012/3/23/50
>  https://lkml.org/lkml/2012/4/5/73
> 
> Benchmarking on the current set of patches will be posted soon.
> 
> Thoughts? Comments? Suggestions?. It  would be nice to see
> Acked-by/Reviewed-by/Tested-by for the patch series.
>  
> Jeremy Fitzhardinge (9):
>   x86/spinlock: Replace pv spinlocks with pv ticketlocks
>   x86/ticketlock: Collapse a layer of functions
>   xen: Defer spinlock setup until boot CPU setup
>   xen/pvticketlock: Xen implementation for PV ticket locks
>   xen/pvticketlocks: Add xen_nopvspin parameter to disable xen pv
>     ticketlocks
>   x86/pvticketlock: Use callee-save for lock_spinning
>   x86/pvticketlock: When paravirtualizing ticket locks, increment by 2
>   x86/ticketlock: Add slowpath logic
>   xen/pvticketlock: Allow interrupts to be enabled while blocking
> 
> Srivatsa Vaddagiri (3): 
>   Add a hypercall to KVM hypervisor to support pv-ticketlocks
>   Added configuration support to enable debug information for KVM Guests
>   Paravirtual ticketlock support for linux guests running on KVM hypervisor
> 
> Raghavendra K T (3):
>   x86/ticketlock: Don't inline _spin_unlock when using paravirt
>     spinlocks
>   Fold pv_unhalt flag into GET_MP_STATE ioctl to aid migration
>   Add documentation on Hypercalls and features used for PV spinlock
> 
> Andrew Jones (1):
>   Split out rate limiting from jump_label.h
> 
> Stefano Stabellini (1):
>  xen: Enable PV ticketlocks on HVM Xen
> ---
> PS: Had to trim down recipient list because, LKML archive does not support
> list > 20. Though many more people should have been in To/CC list.
> 
> Ticketlock links:
> V7 : https://lkml.org/lkml/2012/4/19/335 
> V6 : https://lkml.org/lkml/2012/3/21/161
> 
> KVM patch links:
>  V6: https://lkml.org/lkml/2012/4/23/123
> 
>  V5 kernel changes:
>  https://lkml.org/lkml/2012/3/23/50
>  Qemu changes for V5:
>  http://lists.gnu.org/archive/html/qemu-devel/2012-03/msg04455.html 
> 
>  V4 kernel changes:
>  https://lkml.org/lkml/2012/1/14/66
>  Qemu changes for V4:
>  http://www.mail-archive.com/kvm@vger.kernel.org/msg66450.html
> 
>  V3 kernel Changes:
>  https://lkml.org/lkml/2011/11/30/62
>  Qemu patch for V3:
>  http://lists.gnu.org/archive/html/qemu-devel/2011-12/msg00397.html
> 
>  V2 kernel changes : 
>  https://lkml.org/lkml/2011/10/23/207
> 
>  Previous discussions : (posted by Srivatsa V).
>  https://lkml.org/lkml/2010/7/26/24
>  https://lkml.org/lkml/2011/1/19/212
> 
> Ticketlock change history:
> Changes in V7:
>  - Reabsed patches to 3.4-rc3
>  - Added jumplabel split patch (originally from Andrew Jones rebased to
>     3.4-rc3
>  - jumplabel changes from Ingo and Jason taken and now using static_key_*
>     instead of static_branch.
>  - using UNINLINE_SPIN_UNLOCK (which was splitted as per suggestion from Linus)
>  - This patch series is rebased on debugfs patch (that sould be already in
>     Xen/linux-next https://lkml.org/lkml/2012/3/23/51)
> 
> Changes in V6 posting: (Raghavendra K T)
>  - Rebased to linux-3.3-rc6.
>  - used function+enum in place of macro (better type checking) 
>  - use cmpxchg while resetting zero status for possible race
> 	[suggested by Dave Hansen for KVM patches ]
> 
> KVM patch Change history:
> Changes in V6:
> - Rebased to 3.4-rc3
> - Removed debugfs changes patch which should now be in Xen/linux-next.
>   (https://lkml.org/lkml/2012/3/30/687)
> - Removed PV_UNHALT_MSR since currently we don't need guest communication,
>   and made pv_unhalt folded to GET_MP_STATE (Marcello, Avi[long back])
> - Take jumplabel changes from Ingo/Jason into use (static_key_slow_inc usage)
> - Added inline to spinlock_init in non PARAVIRT case
> - Move arch specific code to arch/x86 and add stubs to other archs (Marcello)
> - Added more comments on pv_unhalt usage etc (Marcello)
> 
> Changes in V5:
> - rebased to 3.3-rc6
> - added PV_UNHALT_MSR that would help in live migration (Avi)
> - removed PV_LOCK_KICK vcpu request and pv_unhalt flag (re)added.
> - Changed hypercall documentaion (Alex).
> - mode_t changed to umode_t in debugfs.
> - MSR related documentation added.
> - rename PV_LOCK_KICK to PV_UNHALT. 
> - host and guest patches not mixed. (Marcelo, Alex)
> - kvm_kick_cpu now takes cpu so it can be used by flush_tlb_ipi_other 
>    paravirtualization (Nikunj)
> - coding style changes in variable declarion etc (Srikar)
> 
> Changes in V4:
> - reabsed to 3.2.0 pre.
> - use APIC ID for kicking the vcpu and use kvm_apic_match_dest for matching (Avi)
> - fold vcpu->kicked flag into vcpu->requests (KVM_REQ_PVLOCK_KICK) and related 
>   changes for UNHALT path to make pv ticket spinlock migration friendly(Avi, Marcello)
> - Added Documentation for CPUID, Hypercall (KVM_HC_KICK_CPU)
>   and capabilty (KVM_CAP_PVLOCK_KICK) (Avi)
> - Remove unneeded kvm_arch_vcpu_ioctl_set_mpstate call. (Marcello)
> - cumulative variable type changed (int ==> u32) in add_stat (Konrad)
> - remove unneeded kvm_guest_init for !CONFIG_KVM_GUEST case
> 
> Changes in V3:
> - rebased to 3.2-rc1
> - use halt() instead of wait for kick hypercall.
> - modify kick hyper call to do wakeup halted vcpu.
> - hook kvm_spinlock_init to smp_prepare_cpus call (moved the call out of head##.c).
> - fix the potential race when zero_stat is read.
> - export debugfs_create_32 and add documentation to API.
> - use static inline and enum instead of ADDSTAT macro. 
> - add  barrier() in after setting kick_vcpu.
> - empty static inline function for kvm_spinlock_init.
> - combine the patches one and two readuce overhead.
> - make KVM_DEBUGFS depends on DEBUGFS.
> - include debugfs header unconditionally.
> 
> Changes in V2:
> - rebased patchesto -rc9
> - synchronization related changes based on Jeremy's changes 
>  (Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>) pointed by 
>  Stephan Diestelhorst <stephan.diestelhorst@amd.com>
> - enabling 32 bit guests
> - splitted patches into two more chunks
> 
>  Documentation/virtual/kvm/cpuid.txt      |    4 +
>  Documentation/virtual/kvm/hypercalls.txt |   60 +++++
>  arch/x86/Kconfig                         |   10 +
>  arch/x86/include/asm/kvm_host.h          |    4 +
>  arch/x86/include/asm/kvm_para.h          |   16 +-
>  arch/x86/include/asm/paravirt.h          |   32 +--
>  arch/x86/include/asm/paravirt_types.h    |   10 +-
>  arch/x86/include/asm/spinlock.h          |  128 +++++++----
>  arch/x86/include/asm/spinlock_types.h    |   16 +-
>  arch/x86/kernel/kvm.c                    |  256 ++++++++++++++++++++
>  arch/x86/kernel/paravirt-spinlocks.c     |   18 +-
>  arch/x86/kvm/cpuid.c                     |    3 +-
>  arch/x86/kvm/x86.c                       |   44 ++++-
>  arch/x86/xen/smp.c                       |    3 +-
>  arch/x86/xen/spinlock.c                  |  387 ++++++++++--------------------
>  include/linux/jump_label.h               |   26 +--
>  include/linux/jump_label_ratelimit.h     |   34 +++
>  include/linux/kvm_para.h                 |    1 +
>  include/linux/perf_event.h               |    1 +
>  kernel/jump_label.c                      |    1 +
>  20 files changed, 673 insertions(+), 381 deletions(-)

This is looking pretty good and complete now - any objections 
from anyone to trying this out in a separate x86 topic tree?

Thanks,

	Ingo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgR-0004BH-PE; Tue, 15 May 2012 11:12:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <law@redhat.com>) id 1SSZmP-0003iK-Ka
	for xen-devel@lists.xen.org; Thu, 10 May 2012 20:16:05 +0000
Received: from [85.158.139.83:20511] by server-3.bemta-5.messagelabs.com id
	18/17-25237-4022CAF4; Thu, 10 May 2012 20:16:04 +0000
X-Env-Sender: law@redhat.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1336680963!16472924!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE2MjA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24787 invoked from network); 10 May 2012 20:16:04 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-8.tower-182.messagelabs.com with SMTP;
	10 May 2012 20:16:04 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4AKFEDQ023887
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 16:15:14 -0400
Received: from stumpy.slc.redhat.com (ovpn-113-71.phx2.redhat.com
	[10.3.113.71])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4AKFDwI007622; Thu, 10 May 2012 16:15:13 -0400
Message-ID: <4FAC21D1.4030005@redhat.com>
Date: Thu, 10 May 2012 14:15:13 -0600
From: Jeff Law <law@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
In-Reply-To: <20120509173836.GB9094@phenom.dumpdata.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	weidong.han@intel.com, haitao.shan@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>, Konrad Rzeszutek Wilk <konrad@darnok.org>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote:

>
> Which would imply that the OSXSAVE is not set (but Fedora Core 17 64-bit PV guest
> still crashes on that machine) - which means that in multi-lib the bit_YMM_Usable
> is _not_ set. But then looking at the sources I see:
What's even more amusing?  Just after installing the incorrect feature 
check and introducing bit_YMM_Usable, Uli reverted all the tests which 
had been checking for usable YMM regs and made them check AVX again.

  one.
>
> Perhaps this is needed:
>
> --- glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c.orig	2012-05-09 13:32:10.832000122 -0400
> +++ glibc-2.15-a316c1f/sysdeps/x86_64/multiarch/init-arch.c	2012-05-09 13:33:31.043000138 -0400
> @@ -154,6 +154,8 @@ __init_cpu_features (void)
>   		     : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>   		(xcrlow&  6) == 6; }))
>   	__cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
> +	else
> +	__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&= ~bit_AVX;
>       }
>
>     __cpu_features.family = family;
I certainly agree.  The big problem here is testing...  I still can't 
test it :(  Against my better judgment I may have to throw a glibc with 
that change over the wall and hope.  There's been far too much of that 
already.

jeff

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgP-0004AU-6h; Tue, 15 May 2012 11:12:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRZ0N-00086e-Jo
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 01:14:19 +0000
Received: from [85.158.143.35:5503] by server-1.bemta-4.messagelabs.com id
	5B/D4-20925-A6378AF4; Tue, 08 May 2012 01:14:18 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336439654!10129059!1
X-Originating-IP: [202.81.31.147]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NyA9PiAxMDE5Njc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22373 invoked from network); 8 May 2012 01:14:17 -0000
Received: from e23smtp05.au.ibm.com (HELO e23smtp05.au.ibm.com) (202.81.31.147)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 01:14:17 -0000
Received: from /spool/local
	by e23smtp05.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 8 May 2012 01:09:09 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp05.au.ibm.com (202.81.31.211) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 8 May 2012 01:09:05 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q481E0uu29884656
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 11:14:01 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q481DvQG002494
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 11:14:00 +1000
Received: from [9.77.206.63] ([9.77.206.63])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q481Dn15002304; Tue, 8 May 2012 11:13:50 +1000
Message-ID: <4FA8733B.70402@linux.vnet.ibm.com>
Date: Tue, 08 May 2012 06:43:31 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>, Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA8579C.3000205@goop.org>
In-Reply-To: <4FA8579C.3000205@goop.org>
x-cbid: 12050715-1396-0000-0000-0000011C09E9
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Greg Kroah-Hartman <gregkh@suse.de>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/08/2012 04:45 AM, Jeremy Fitzhardinge wrote:
> On 05/07/2012 06:49 AM, Avi Kivity wrote:
>> On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
>>> * Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  [2012-05-07 19:08:51]:
>>>
>>>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>>>> 'll expect the improvement around 1-3% as it was in last version.
>>> Deferring preemption (when vcpu is holding lock) may give us better than 1-3%
>>> results on PLE hardware. Something worth trying IMHO.
>> Is the improvement so low, because PLE is interfering with the patch, or
>> because PLE already does a good job?
>
> How does PLE help with ticket scheduling on unlock?  I thought it would
> just help with the actual spin loops.

Hmm. This strikes something to me. I think I should replace while 1 hog
in with some *real job*  to measure over-commit case. I hope to see
greater improvements because of fairness and scheduling of the
patch-set.

May be all the way I was measuring something equal to 1x case.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgP-0004AU-6h; Tue, 15 May 2012 11:12:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRZ0N-00086e-Jo
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 01:14:19 +0000
Received: from [85.158.143.35:5503] by server-1.bemta-4.messagelabs.com id
	5B/D4-20925-A6378AF4; Tue, 08 May 2012 01:14:18 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1336439654!10129059!1
X-Originating-IP: [202.81.31.147]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NyA9PiAxMDE5Njc=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22373 invoked from network); 8 May 2012 01:14:17 -0000
Received: from e23smtp05.au.ibm.com (HELO e23smtp05.au.ibm.com) (202.81.31.147)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 01:14:17 -0000
Received: from /spool/local
	by e23smtp05.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Tue, 8 May 2012 01:09:09 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp05.au.ibm.com (202.81.31.211) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 8 May 2012 01:09:05 +1000
Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q481E0uu29884656
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 11:14:01 +1000
Received: from d23av04.au.ibm.com (loopback [127.0.0.1])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q481DvQG002494
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 11:14:00 +1000
Received: from [9.77.206.63] ([9.77.206.63])
	by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q481Dn15002304; Tue, 8 May 2012 11:13:50 +1000
Message-ID: <4FA8733B.70402@linux.vnet.ibm.com>
Date: Tue, 08 May 2012 06:43:31 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>, Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA8579C.3000205@goop.org>
In-Reply-To: <4FA8579C.3000205@goop.org>
x-cbid: 12050715-1396-0000-0000-0000011C09E9
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Greg Kroah-Hartman <gregkh@suse.de>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/08/2012 04:45 AM, Jeremy Fitzhardinge wrote:
> On 05/07/2012 06:49 AM, Avi Kivity wrote:
>> On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
>>> * Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  [2012-05-07 19:08:51]:
>>>
>>>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>>>> 'll expect the improvement around 1-3% as it was in last version.
>>> Deferring preemption (when vcpu is holding lock) may give us better than 1-3%
>>> results on PLE hardware. Something worth trying IMHO.
>> Is the improvement so low, because PLE is interfering with the patch, or
>> because PLE already does a good job?
>
> How does PLE help with ticket scheduling on unlock?  I thought it would
> just help with the actual spin loops.

Hmm. This strikes something to me. I think I should replace while 1 hog
in with some *real job*  to measure over-commit case. I hope to see
greater improvements because of fairness and scheduling of the
patch-set.

May be all the way I was measuring something equal to 1x case.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgT-0004Bm-KJ; Tue, 15 May 2012 11:12:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STdo5-00013y-RI
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 18:46:14 +0000
Received: from [85.158.139.83:6619] by server-4.bemta-5.messagelabs.com id
	95/CD-10788-57100BF4; Sun, 13 May 2012 18:46:13 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336934769!20924727!1
X-Originating-IP: [122.248.162.7]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNyA9PiA2OTk2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15633 invoked from network); 13 May 2012 18:46:12 -0000
Received: from e28smtp07.in.ibm.com (HELO e28smtp07.in.ibm.com) (122.248.162.7)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 13 May 2012 18:46:12 -0000
Received: from /spool/local
	by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 14 May 2012 00:16:05 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp07.in.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 00:16:04 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4DIk3fI14221630
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 00:16:04 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4E0GWGb005723
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 10:16:34 +1000
Received: from [9.79.215.5] ([9.79.215.5])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4E0GRnL005602; Mon, 14 May 2012 10:16:27 +1000
Message-ID: <4FB0014A.90604@linux.vnet.ibm.com>
Date: Mon, 14 May 2012 00:15:30 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
x-cbid: 12051318-8878-0000-0000-000002700AA3
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 08:22 PM, Avi Kivity wrote:

I could not come with pv-flush results (also Nikunj had clarified that
the result was on NOn PLE

> I'd like to see those numbers, then.
>
> Ingo, please hold on the kvm-specific patches, meanwhile.
>

3 guests 8GB RAM, 1 used for kernbench
(kernbench -f -H -M -o 20) other for cpuhog (shell script with  while
true do hackbench)

1x: no hogs
2x: 8hogs in one guest
3x: 8hogs each in two guest

kernbench on PLE:
Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32 
core, with 8 online cpus and 4*64GB RAM.

The average is taken over 4 iterations with 3 run each (4*3=12). and 
stdev is calculated over mean reported in each run.


A): 8 vcpu guest

                  BASE                    BASE+patch 
%improvement w.r.t
                  mean (sd)               mean (sd)              patched 
kernel time
case 1*1x:	61.7075  (1.17872)	60.93     (1.475625)    1.27605
case 1*2x:	107.2125 (1.3821349)	97.506675 (1.3461878)   9.95401
case 1*3x:	144.3515 (1.8203927)	138.9525  (0.58309319)  3.8855


B): 16 vcpu guest
                  BASE                    BASE+patch 
%improvement w.r.t
                  mean (sd)               mean (sd)              patched 
kernel time
case 2*1x:	70.524   (1.5941395)	69.68866  (1.9392529)   1.19867
case 2*2x:	133.0738 (1.4558653)	124.8568  (1.4544986)   6.58114
case 2*3x:	206.0094 (1.3437359)	181.4712  (2.9134116)   13.5218

B): 32 vcpu guest
                  BASE                    BASE+patch 
%improvementw.r.t
                  mean (sd)               mean (sd)              patched 
kernel time
case 4*1x:	100.61046 (2.7603485)	 85.48734  (2.6035035)  17.6905

It seems while we do not see any improvement in low contention case,
the benefit becomes evident with overcommit and large guests. I am
continuing analysis with other benchmarks (now with pgbench to check if
it has acceptable improvement/degradation in low contenstion case).

Avi,
Can patch series go ahead for inclusion into tree with following
reasons:

The patch series brings fairness with ticketlock ( hence the
predictability, since during contention, vcpu trying
  to acqire lock is sure that it gets its turn in less than total number 
of vcpus conntending for lock), which is very much desired irrespective
of its low benefit/degradation (if any) in low contention scenarios.

Ofcourse ticketlocks had undesirable effect of exploding LHP problem,
and the series addresses with improvement in scheduling and sleeping 
instead of burning cpu time.

Finally a less famous one, it brings almost PLE equivalent capabilty to
all the non PLE hardware (TBH I always preferred my experiment kernel to 
be compiled in my pv guest that saves more than 30 min of time for each 
run).

It would be nice to see any results if somebody got benefited/suffered 
with patchset.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgT-0004Bm-KJ; Tue, 15 May 2012 11:12:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STdo5-00013y-RI
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 18:46:14 +0000
Received: from [85.158.139.83:6619] by server-4.bemta-5.messagelabs.com id
	95/CD-10788-57100BF4; Sun, 13 May 2012 18:46:13 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1336934769!20924727!1
X-Originating-IP: [122.248.162.7]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNyA9PiA2OTk2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15633 invoked from network); 13 May 2012 18:46:12 -0000
Received: from e28smtp07.in.ibm.com (HELO e28smtp07.in.ibm.com) (122.248.162.7)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 13 May 2012 18:46:12 -0000
Received: from /spool/local
	by e28smtp07.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 14 May 2012 00:16:05 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp07.in.ibm.com (192.168.1.137) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 00:16:04 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4DIk3fI14221630
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 00:16:04 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4E0GWGb005723
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 10:16:34 +1000
Received: from [9.79.215.5] ([9.79.215.5])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4E0GRnL005602; Mon, 14 May 2012 10:16:27 +1000
Message-ID: <4FB0014A.90604@linux.vnet.ibm.com>
Date: Mon, 14 May 2012 00:15:30 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
In-Reply-To: <4FA7E1C8.7010509@redhat.com>
x-cbid: 12051318-8878-0000-0000-000002700AA3
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 08:22 PM, Avi Kivity wrote:

I could not come with pv-flush results (also Nikunj had clarified that
the result was on NOn PLE

> I'd like to see those numbers, then.
>
> Ingo, please hold on the kvm-specific patches, meanwhile.
>

3 guests 8GB RAM, 1 used for kernbench
(kernbench -f -H -M -o 20) other for cpuhog (shell script with  while
true do hackbench)

1x: no hogs
2x: 8hogs in one guest
3x: 8hogs each in two guest

kernbench on PLE:
Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32 
core, with 8 online cpus and 4*64GB RAM.

The average is taken over 4 iterations with 3 run each (4*3=12). and 
stdev is calculated over mean reported in each run.


A): 8 vcpu guest

                  BASE                    BASE+patch 
%improvement w.r.t
                  mean (sd)               mean (sd)              patched 
kernel time
case 1*1x:	61.7075  (1.17872)	60.93     (1.475625)    1.27605
case 1*2x:	107.2125 (1.3821349)	97.506675 (1.3461878)   9.95401
case 1*3x:	144.3515 (1.8203927)	138.9525  (0.58309319)  3.8855


B): 16 vcpu guest
                  BASE                    BASE+patch 
%improvement w.r.t
                  mean (sd)               mean (sd)              patched 
kernel time
case 2*1x:	70.524   (1.5941395)	69.68866  (1.9392529)   1.19867
case 2*2x:	133.0738 (1.4558653)	124.8568  (1.4544986)   6.58114
case 2*3x:	206.0094 (1.3437359)	181.4712  (2.9134116)   13.5218

B): 32 vcpu guest
                  BASE                    BASE+patch 
%improvementw.r.t
                  mean (sd)               mean (sd)              patched 
kernel time
case 4*1x:	100.61046 (2.7603485)	 85.48734  (2.6035035)  17.6905

It seems while we do not see any improvement in low contention case,
the benefit becomes evident with overcommit and large guests. I am
continuing analysis with other benchmarks (now with pgbench to check if
it has acceptable improvement/degradation in low contenstion case).

Avi,
Can patch series go ahead for inclusion into tree with following
reasons:

The patch series brings fairness with ticketlock ( hence the
predictability, since during contention, vcpu trying
  to acqire lock is sure that it gets its turn in less than total number 
of vcpus conntending for lock), which is very much desired irrespective
of its low benefit/degradation (if any) in low contention scenarios.

Ofcourse ticketlocks had undesirable effect of exploding LHP problem,
and the series addresses with improvement in scheduling and sleeping 
instead of burning cpu time.

Finally a less famous one, it brings almost PLE equivalent capabilty to
all the non PLE hardware (TBH I always preferred my experiment kernel to 
be compiled in my pv guest that saves more than 30 min of time for each 
run).

It would be nice to see any results if somebody got benefited/suffered 
with patchset.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgS-0004BQ-D1; Tue, 15 May 2012 11:12:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <law@redhat.com>) id 1SSfaX-0004LE-CU
	for xen-devel@lists.xen.org; Fri, 11 May 2012 02:28:13 +0000
Received: from [85.158.143.99:13862] by server-2.bemta-4.messagelabs.com id
	17/3E-17550-C397CAF4; Fri, 11 May 2012 02:28:12 +0000
X-Env-Sender: law@redhat.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336703290!20429111!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE3Mzk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9151 invoked from network); 11 May 2012 02:28:11 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-6.tower-216.messagelabs.com with SMTP;
	11 May 2012 02:28:11 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4B2RHta009361
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 22:27:17 -0400
Received: from stumpy.slc.redhat.com (ovpn-113-71.phx2.redhat.com
	[10.3.113.71])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4B2REP6026847; Thu, 10 May 2012 22:27:14 -0400
Message-ID: <4FAC7902.6050701@redhat.com>
Date: Thu, 10 May 2012 20:27:14 -0600
From: Jeff Law <law@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: konrad@darnok.org
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
	<CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
	<CAPbh3rtBywB8t+gnQ0nhuyOge3=j_9fDvnyuHLzE8TLtCNFHdg@mail.gmail.com>
In-Reply-To: <CAPbh3rtBywB8t+gnQ0nhuyOge3=j_9fDvnyuHLzE8TLtCNFHdg@mail.gmail.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	haitao.shan@intel.com, weidong.han@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/10/2012 06:58 PM, Konrad Rzeszutek Wilk wrote:
>>> Ironically, the code in init-arch used to look like:
>>>
>>>
>>>   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
>>>     {
>>>
>>>       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>>>       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_OSXSAVE) ==
>>> 0
>>>           || ({ unsigned int xcrlow;
>>>               unsigned int xcrhigh;
>>>               asm ("xgetbv"
>>>
>>>                    : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>>>               (xcrlow&  6) != 6; }))
>>>
>>>         __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&= ~bit_AVX;
>>>     }
>>>
>>>
>>> Which I think would have done the right thing.   Uli changed it to the
>>> form you quoted just 2 hours after installing the version I quoted.
>>
>> Sadly no as it would have executed the xgetv instruction. Since the first
>> part of the boolean logic returns false.
>
> <sigh>  And that is what I get from typing this while stopping at
> lights and being in a hurry and doing this on a cellphone.
> Please ignore what I said above - the earlier version would have worked correct.
No worries :-)

Had you not gotten involved, I never would have seen the xen-devel 
thread which then referred me to the appropriate Intel doc to confirm 
that your patch should fix the problem.  Your input on this issue has 
been greatly appreciated.

jeff


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgS-0004BQ-D1; Tue, 15 May 2012 11:12:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <law@redhat.com>) id 1SSfaX-0004LE-CU
	for xen-devel@lists.xen.org; Fri, 11 May 2012 02:28:13 +0000
Received: from [85.158.143.99:13862] by server-2.bemta-4.messagelabs.com id
	17/3E-17550-C397CAF4; Fri, 11 May 2012 02:28:12 +0000
X-Env-Sender: law@redhat.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1336703290!20429111!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTE3Mzk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9151 invoked from network); 11 May 2012 02:28:11 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-6.tower-216.messagelabs.com with SMTP;
	11 May 2012 02:28:11 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4B2RHta009361
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 10 May 2012 22:27:17 -0400
Received: from stumpy.slc.redhat.com (ovpn-113-71.phx2.redhat.com
	[10.3.113.71])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4B2REP6026847; Thu, 10 May 2012 22:27:14 -0400
Message-ID: <4FAC7902.6050701@redhat.com>
Date: Thu, 10 May 2012 20:27:14 -0600
From: Jeff Law <law@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: konrad@darnok.org
References: <4FA268CD02000078000814E4@nat28.tlf.novell.com>
	<CAGU+autZDEKdQje4TKtPupvSsGYD=eTOTgUmA=ajirV6=ptYqw@mail.gmail.com>
	<CAGU+auvgVk2WK6i8meo1RNLicbfJRjwiW8tsK20w7fS5in+3aQ@mail.gmail.com>
	<4FA792C00200007800081F06@nat28.tlf.novell.com>
	<CAGU+auuX6a4w71L4wVn3TpXZzZCmAhgKju91vNtGFcx+V_Ko5w@mail.gmail.com>
	<20120508000813.GA29587@phenom.dumpdata.com>
	<CAGU+auvdDQevAoR0ThxVCLCBr_DtkNE2U6FQp8QoS_DXP07OSw@mail.gmail.com>
	<20120509003510.GA19643@phenom.dumpdata.com>
	<20120509131153.GA13956@andromeda.dapyr.net>
	<4FAA8E96020000780008288F@nat28.tlf.novell.com>
	<20120509173836.GB9094@phenom.dumpdata.com>
	<4FAC1989.4060201@redhat.com>
	<CAPbh3rv7ovB2a=4oUP4KgwgiGym+dYb0r1MXY+FHkjk+GVSbbA@mail.gmail.com>
	<CAPbh3rtBywB8t+gnQ0nhuyOge3=j_9fDvnyuHLzE8TLtCNFHdg@mail.gmail.com>
In-Reply-To: <CAPbh3rtBywB8t+gnQ0nhuyOge3=j_9fDvnyuHLzE8TLtCNFHdg@mail.gmail.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Tim.Deegan@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	haitao.shan@intel.com, weidong.han@intel.com,
	stefan.bader@canonical.com, xen-devel <xen-devel@lists.xen.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen
 4.1 or Xen-unstable.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/10/2012 06:58 PM, Konrad Rzeszutek Wilk wrote:
>>> Ironically, the code in init-arch used to look like:
>>>
>>>
>>>   if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_AVX)
>>>     {
>>>
>>>       /* Reset the AVX bit in case OSXSAVE is disabled.  */
>>>       if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&  bit_OSXSAVE) ==
>>> 0
>>>           || ({ unsigned int xcrlow;
>>>               unsigned int xcrhigh;
>>>               asm ("xgetbv"
>>>
>>>                    : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
>>>               (xcrlow&  6) != 6; }))
>>>
>>>         __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx&= ~bit_AVX;
>>>     }
>>>
>>>
>>> Which I think would have done the right thing.   Uli changed it to the
>>> form you quoted just 2 hours after installing the version I quoted.
>>
>> Sadly no as it would have executed the xgetv instruction. Since the first
>> part of the boolean logic returns false.
>
> <sigh>  And that is what I get from typing this while stopping at
> lights and being in a hurry and doing this on a cellphone.
> Please ignore what I said above - the earlier version would have worked correct.
No worries :-)

Had you not gotten involved, I never would have seen the xen-devel 
thread which then referred me to the appropriate Intel doc to confirm 
that your patch should fix the problem.  Your input on this issue has 
been greatly appreciated.

jeff


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgU-0004C2-2L; Tue, 15 May 2012 11:12:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nikunj@linux.vnet.ibm.com>) id 1STnZz-0000S2-6F
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 05:12:19 +0000
Received: from [85.158.143.99:35712] by server-1.bemta-4.messagelabs.com id
	6E/DB-20925-23490BF4; Mon, 14 May 2012 05:12:18 +0000
X-Env-Sender: nikunj@linux.vnet.ibm.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336972309!27499511!1
X-Originating-IP: [202.81.31.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MSA9PiAxNDA0ODg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19915 invoked from network); 14 May 2012 05:12:10 -0000
Received: from e23smtp08.au.ibm.com (HELO e23smtp08.au.ibm.com) (202.81.31.141)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 14 May 2012 05:12:10 -0000
Received: from /spool/local
	by e23smtp08.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <nikunj@linux.vnet.ibm.com>;
	Mon, 14 May 2012 04:55:13 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp08.au.ibm.com (202.81.31.205) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 04:55:10 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4E4vwg427525132
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 14:57:59 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4E4vuXT009416
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 14:57:58 +1000
Received: from abhimanyu.in.ibm.com.vnet.linux.ibm.com (abhimanyu.in.ibm.com
	[9.124.35.185])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4E4vk8C008865
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Mon, 14 May 2012 14:57:47 +1000
From: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Avi Kivity <avi@redhat.com>
In-Reply-To: <4FB0014A.90604@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
User-Agent: Notmuch/0.10.2+70~gf0e0053 (http://notmuchmail.org)
	Emacs/24.0.95.1 (x86_64-unknown-linux-gnu)
Date: Mon, 14 May 2012 10:27:27 +0530
Message-ID: <87y5ovtl54.fsf@abhimanyu.in.ibm.com>
MIME-Version: 1.0
x-cbid: 12051318-5140-0000-0000-0000014EF430
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012 00:15:30 +0530, Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> wrote:
> On 05/07/2012 08:22 PM, Avi Kivity wrote:
> 
> I could not come with pv-flush results (also Nikunj had clarified that
> the result was on NOn PLE
> 
Did you see any issues on PLE?

Regards,
Nikunj


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgU-0004C2-2L; Tue, 15 May 2012 11:12:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nikunj@linux.vnet.ibm.com>) id 1STnZz-0000S2-6F
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 05:12:19 +0000
Received: from [85.158.143.99:35712] by server-1.bemta-4.messagelabs.com id
	6E/DB-20925-23490BF4; Mon, 14 May 2012 05:12:18 +0000
X-Env-Sender: nikunj@linux.vnet.ibm.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336972309!27499511!1
X-Originating-IP: [202.81.31.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0MSA9PiAxNDA0ODg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19915 invoked from network); 14 May 2012 05:12:10 -0000
Received: from e23smtp08.au.ibm.com (HELO e23smtp08.au.ibm.com) (202.81.31.141)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 14 May 2012 05:12:10 -0000
Received: from /spool/local
	by e23smtp08.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <nikunj@linux.vnet.ibm.com>;
	Mon, 14 May 2012 04:55:13 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp08.au.ibm.com (202.81.31.205) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 04:55:10 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4E4vwg427525132
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 14:57:59 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4E4vuXT009416
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 14:57:58 +1000
Received: from abhimanyu.in.ibm.com.vnet.linux.ibm.com (abhimanyu.in.ibm.com
	[9.124.35.185])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4E4vk8C008865
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Mon, 14 May 2012 14:57:47 +1000
From: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
To: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Avi Kivity <avi@redhat.com>
In-Reply-To: <4FB0014A.90604@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
User-Agent: Notmuch/0.10.2+70~gf0e0053 (http://notmuchmail.org)
	Emacs/24.0.95.1 (x86_64-unknown-linux-gnu)
Date: Mon, 14 May 2012 10:27:27 +0530
Message-ID: <87y5ovtl54.fsf@abhimanyu.in.ibm.com>
MIME-Version: 1.0
x-cbid: 12051318-5140-0000-0000-0000014EF430
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 14 May 2012 00:15:30 +0530, Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> wrote:
> On 05/07/2012 08:22 PM, Avi Kivity wrote:
> 
> I could not come with pv-flush results (also Nikunj had clarified that
> the result was on NOn PLE
> 
Did you see any issues on PLE?

Regards,
Nikunj


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgI-000499-E6; Tue, 15 May 2012 11:12:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vatsa@linux.vnet.ibm.com>) id 1SROPa-0006AM-Ul
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:55:39 +0000
Received: from [85.158.143.99:10669] by server-2.bemta-4.messagelabs.com id
	F9/36-17550-A54D7AF4; Mon, 07 May 2012 13:55:38 +0000
X-Env-Sender: vatsa@linux.vnet.ibm.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336398934!26510539!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA4MDQxNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20606 invoked from network); 7 May 2012 13:55:36 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:55:36 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <vatsa@linux.vnet.ibm.com>;
	Mon, 7 May 2012 19:25:32 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:25:28 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DtRDB59048022
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:25:27 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JPDQV032036
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 05:25:15 +1000
Received: from linux.vnet.ibm.com ([9.79.223.198])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with SMTP id
	q47JPCYG031986; Tue, 8 May 2012 05:25:13 +1000
Date: Mon, 7 May 2012 19:25:24 +0530
From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
To: Avi Kivity <avi@redhat.com>
Message-ID: <20120507135524.GA30420@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7D2E5.1020607@redhat.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
x-cbid: 12050713-2000-0000-0000-000007613E2D
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, Gleb Natapov <gleb@redhat.com>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>, Greg Kroah-Hartman <gregkh@suse.de>,
	LKML <linux-kernel@vger.kernel.org>, Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Avi Kivity <avi@redhat.com> [2012-05-07 16:49:25]:

> > Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
> > results on PLE hardware. Something worth trying IMHO.
> 
> Is the improvement so low, because PLE is interfering with the patch, or
> because PLE already does a good job?

I think its latter (PLE already doing a good job). 

- vatsa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgI-000499-E6; Tue, 15 May 2012 11:12:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vatsa@linux.vnet.ibm.com>) id 1SROPa-0006AM-Ul
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:55:39 +0000
Received: from [85.158.143.99:10669] by server-2.bemta-4.messagelabs.com id
	F9/36-17550-A54D7AF4; Mon, 07 May 2012 13:55:38 +0000
X-Env-Sender: vatsa@linux.vnet.ibm.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1336398934!26510539!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA4MDQxNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20606 invoked from network); 7 May 2012 13:55:36 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:55:36 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <vatsa@linux.vnet.ibm.com>;
	Mon, 7 May 2012 19:25:32 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:25:28 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DtRDB59048022
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:25:27 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JPDQV032036
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 05:25:15 +1000
Received: from linux.vnet.ibm.com ([9.79.223.198])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with SMTP id
	q47JPCYG031986; Tue, 8 May 2012 05:25:13 +1000
Date: Mon, 7 May 2012 19:25:24 +0530
From: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
To: Avi Kivity <avi@redhat.com>
Message-ID: <20120507135524.GA30420@linux.vnet.ibm.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FA7D2E5.1020607@redhat.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
x-cbid: 12050713-2000-0000-0000-000007613E2D
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, Gleb Natapov <gleb@redhat.com>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>, Greg Kroah-Hartman <gregkh@suse.de>,
	LKML <linux-kernel@vger.kernel.org>, Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Avi Kivity <avi@redhat.com> [2012-05-07 16:49:25]:

> > Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
> > results on PLE hardware. Something worth trying IMHO.
> 
> Is the improvement so low, because PLE is interfering with the patch, or
> because PLE already does a good job?

I think its latter (PLE already doing a good job). 

- vatsa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgO-0004AM-Kb; Tue, 15 May 2012 11:12:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1SRX9f-000341-Ll
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 23:15:47 +0000
Received: from [85.158.143.35:63932] by server-2.bemta-4.messagelabs.com id
	CC/B4-17550-3A758AF4; Mon, 07 May 2012 23:15:47 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336432544!11869700!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18886 invoked from network); 7 May 2012 23:15:46 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 23:15:46 -0000
Received: from saboo.goop.org (50-76-62-73-ip-static.hfc.comcastbusiness.net
	[50.76.62.73]) (Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id 93DEDAA22;
	Mon,  7 May 2012 16:15:43 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id 28E0320262;
	Mon,  7 May 2012 16:15:40 -0700 (PDT)
Message-ID: <4FA8579C.3000205@goop.org>
Date: Mon, 07 May 2012 16:15:40 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120424 Thunderbird/12.0
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
In-Reply-To: <4FA7D2E5.1020607@redhat.com>
X-Enigmail-Version: 1.4.1
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 06:49 AM, Avi Kivity wrote:
> On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
>> * Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:
>>
>>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>>> 'll expect the improvement around 1-3% as it was in last version.
>> Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
>> results on PLE hardware. Something worth trying IMHO.
> Is the improvement so low, because PLE is interfering with the patch, or
> because PLE already does a good job?

How does PLE help with ticket scheduling on unlock?  I thought it would
just help with the actual spin loops.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgO-0004AM-Kb; Tue, 15 May 2012 11:12:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1SRX9f-000341-Ll
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 23:15:47 +0000
Received: from [85.158.143.35:63932] by server-2.bemta-4.messagelabs.com id
	CC/B4-17550-3A758AF4; Mon, 07 May 2012 23:15:47 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1336432544!11869700!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18886 invoked from network); 7 May 2012 23:15:46 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 23:15:46 -0000
Received: from saboo.goop.org (50-76-62-73-ip-static.hfc.comcastbusiness.net
	[50.76.62.73]) (Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id 93DEDAA22;
	Mon,  7 May 2012 16:15:43 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id 28E0320262;
	Mon,  7 May 2012 16:15:40 -0700 (PDT)
Message-ID: <4FA8579C.3000205@goop.org>
Date: Mon, 07 May 2012 16:15:40 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120424 Thunderbird/12.0
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
In-Reply-To: <4FA7D2E5.1020607@redhat.com>
X-Enigmail-Version: 1.4.1
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 06:49 AM, Avi Kivity wrote:
> On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
>> * Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> [2012-05-07 19:08:51]:
>>
>>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>>> 'll expect the improvement around 1-3% as it was in last version.
>> Deferring preemption (when vcpu is holding lock) may give us better than 1-3% 
>> results on PLE hardware. Something worth trying IMHO.
> Is the improvement so low, because PLE is interfering with the patch, or
> because PLE already does a good job?

How does PLE help with ticket scheduling on unlock?  I thought it would
just help with the actual spin loops.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFga-0004CX-7e; Tue, 15 May 2012 11:13:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STqPb-0004Zw-Q6
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 08:13:47 +0000
Received: from [193.109.254.147:44923] by server-8.bemta-14.messagelabs.com id
	C1/1D-23244-BBEB0BF4; Mon, 14 May 2012 08:13:47 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336983206!3430513!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxOTcxMTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18645 invoked from network); 14 May 2012 08:13:43 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 14 May 2012 08:13:43 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 14 May 2012 13:43:24 +0530
Received: from d28relay02.in.ibm.com (9.184.220.59)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 13:43:20 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4E8DKx411338210
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 13:43:20 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4EDhugx026974
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 23:43:57 +1000
Received: from [9.79.196.182] ([9.79.196.182])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4EDgxei023882; Mon, 14 May 2012 23:43:00 +1000
Message-ID: <4FB0BE4A.6060604@linux.vnet.ibm.com>
Date: Mon, 14 May 2012 13:41:54 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
	<4FB0014A.90604@linux.vnet.ibm.com> <4FB0B679.1020600@goop.org>
In-Reply-To: <4FB0B679.1020600@goop.org>
x-cbid: 12051408-9574-0000-0000-000002ACC270
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Greg Kroah-Hartman <gregkh@suse.de>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/14/2012 01:08 PM, Jeremy Fitzhardinge wrote:
> On 05/13/2012 11:45 AM, Raghavendra K T wrote:
>> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>>
>> I could not come with pv-flush results (also Nikunj had clarified that
>> the result was on NOn PLE
>>
>>> I'd like to see those numbers, then.
>>>
>>> Ingo, please hold on the kvm-specific patches, meanwhile.
>>>
>>
>> 3 guests 8GB RAM, 1 used for kernbench
>> (kernbench -f -H -M -o 20) other for cpuhog (shell script with  while
>> true do hackbench)
>>
>> 1x: no hogs
>> 2x: 8hogs in one guest
>> 3x: 8hogs each in two guest
>>
>> kernbench on PLE:
>> Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32
>> core, with 8 online cpus and 4*64GB RAM.
>>
>> The average is taken over 4 iterations with 3 run each (4*3=12). and
>> stdev is calculated over mean reported in each run.
>>
>>
>> A): 8 vcpu guest
>>
>>                   BASE                    BASE+patch %improvement w.r.t
>>                   mean (sd)               mean (sd)
>> patched kernel time
>> case 1*1x:    61.7075  (1.17872)    60.93     (1.475625)    1.27605
>> case 1*2x:    107.2125 (1.3821349)    97.506675 (1.3461878)   9.95401
>> case 1*3x:    144.3515 (1.8203927)    138.9525  (0.58309319)  3.8855
>>
>>
>> B): 16 vcpu guest
>>                   BASE                    BASE+patch %improvement w.r.t
>>                   mean (sd)               mean (sd)
>> patched kernel time
>> case 2*1x:    70.524   (1.5941395)    69.68866  (1.9392529)   1.19867
>> case 2*2x:    133.0738 (1.4558653)    124.8568  (1.4544986)   6.58114
>> case 2*3x:    206.0094 (1.3437359)    181.4712  (2.9134116)   13.5218
>>
>> B): 32 vcpu guest
>>                   BASE                    BASE+patch %improvementw.r.t
>>                   mean (sd)               mean (sd)
>> patched kernel time
>> case 4*1x:    100.61046 (2.7603485)     85.48734  (2.6035035)  17.6905
>
> What does the "4*1x" notation mean? Do these workloads have overcommit
> of the PCPU resources?
>
> When I measured it, even quite small amounts of overcommit lead to large
> performance drops with non-pv ticket locks (on the order of 10%
> improvements when there were 5 busy VCPUs on a 4 cpu system).  I never
> tested it on larger machines, but I guess that represents around 25%
> overcommit, or 40 busy VCPUs on a 32-PCPU system.

All the above measurements are on PLE machine. It is 32 vcpu single
guest on a 8 pcpu.

(PS:One problem I saw in my kernbench run itself is that
number of threads spawned = 20 instead of 2* number of vcpu. I ll
correct during next measurement.)

"even quite small amounts of overcommit lead to large performance drops
with non-pv ticket locks":

This is very much true on non PLE machine. probably compilation takes
even a day vs just one hour. ( with just 1:3x overcommit I had got 25 x
speedup).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgS-0004Bc-VL; Tue, 15 May 2012 11:12:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STd5p-0000kV-FJ
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 18:00:29 +0000
Received: from [85.158.138.51:45696] by server-10.bemta-3.messagelabs.com id
	79/C9-29478-CB6FFAF4; Sun, 13 May 2012 18:00:28 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336932024!17966497!1
X-Originating-IP: [202.81.31.145]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NSA9PiAyNTM2NTk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28893 invoked from network); 13 May 2012 18:00:27 -0000
Received: from e23smtp03.au.ibm.com (HELO e23smtp03.au.ibm.com) (202.81.31.145)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 13 May 2012 18:00:27 -0000
Received: from /spool/local
	by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Sun, 13 May 2012 17:50:21 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp03.au.ibm.com (202.81.31.209) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Sun, 13 May 2012 17:50:15 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4DHr6nH18612244
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 03:53:06 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4DI01n3021341
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 04:00:03 +1000
Received: from [9.79.215.5] ([9.79.215.5])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4DHxs6h021292; Mon, 14 May 2012 03:59:54 +1000
Message-ID: <4FAFF680.6030307@linux.vnet.ibm.com>
Date: Sun, 13 May 2012 23:29:28 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
In-Reply-To: <4FA7BABA.4040700@redhat.com>
x-cbid: 12051307-6102-0000-0000-0000017788F8
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:36 PM, Avi Kivity wrote:
> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>> (3+3 runs)).
>>
>>           BASE                    BASE+patch            %improvement
>>           mean (sd)               mean (sd)
>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>
>
> You're calculating the improvement incorrectly.  In the last case, it's
> not 96%, rather it's 2400% (25x).  Similarly the second case is about
> 900% faster.
>

speedup calculation is clear.

I think confusion for me was more because of the types of benchmarks.

I always did

|(patch - base)| * 100 / base


So,  for
(1) lesser is better sort of benchmarks,
improvement calculation would be like

|(patched -  base)| * 100/ patched
e.g for kernbench,

suppose base    = 150 sec
         patched = 100 sec
improvement = 50 % ( = 33% degradation of base)


(2) for higher is better sort of benchmarks improvement calculation 
would be like

|(patched - base)| * 100 / base

for e.g say for pgbench/ ebizzy...

     base = 100 tps (transactions per sec)
     patched = 150 tps

  improvement  = 50 % of pathched kernel ( OR 33 % degradation of base )


Is this is what generally done? just wanted to be on same page before 
publishing benchmark results, other than kernbench.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgH-000492-S0; Tue, 15 May 2012 11:12:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SROPC-0006A0-Jz
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:55:14 +0000
Received: from [193.109.254.147:5620] by server-5.bemta-14.messagelabs.com id
	B3/CD-30733-144D7AF4; Mon, 07 May 2012 13:55:13 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336398870!8006418!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxODg3ODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2949 invoked from network); 7 May 2012 13:55:00 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:55:00 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 19:24:29 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:24:25 +0530
Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DsOxi11206964
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:24:24 +0530
Received: from d28av01.in.ibm.com (loopback [127.0.0.1])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JO28S030752
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:54:04 +0530
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47JNt0l030360; Tue, 8 May 2012 00:53:56 +0530
Message-ID: <4FA7D3F7.9080005@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 19:23:59 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
In-Reply-To: <4FA7D2E5.1020607@redhat.com>
x-cbid: 12050713-4790-0000-0000-00000287CF08
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 07:19 PM, Avi Kivity wrote:
> On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
>> * Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  [2012-05-07 19:08:51]:
>>
>>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>>> 'll expect the improvement around 1-3% as it was in last version.
>>
>> Deferring preemption (when vcpu is holding lock) may give us better than 1-3%
>> results on PLE hardware. Something worth trying IMHO.
>
> Is the improvement so low, because PLE is interfering with the patch, or
> because PLE already does a good job?
>

It is because PLE already does a good job (of not burning cpu). The
1-3% improvement is because, patchset knows atleast who is next to hold
lock, which is lacking in PLE.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFga-0004CX-7e; Tue, 15 May 2012 11:13:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STqPb-0004Zw-Q6
	for xen-devel@lists.xensource.com; Mon, 14 May 2012 08:13:47 +0000
Received: from [193.109.254.147:44923] by server-8.bemta-14.messagelabs.com id
	C1/1D-23244-BBEB0BF4; Mon, 14 May 2012 08:13:47 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1336983206!3430513!1
X-Originating-IP: [122.248.162.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNiA9PiAxOTcxMTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18645 invoked from network); 14 May 2012 08:13:43 -0000
Received: from e28smtp06.in.ibm.com (HELO e28smtp06.in.ibm.com) (122.248.162.6)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 14 May 2012 08:13:43 -0000
Received: from /spool/local
	by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 14 May 2012 13:43:24 +0530
Received: from d28relay02.in.ibm.com (9.184.220.59)
	by e28smtp06.in.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 14 May 2012 13:43:20 +0530
Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64])
	by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4E8DKx411338210
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 13:43:20 +0530
Received: from d28av02.in.ibm.com (loopback [127.0.0.1])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4EDhugx026974
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 23:43:57 +1000
Received: from [9.79.196.182] ([9.79.196.182])
	by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4EDgxei023882; Mon, 14 May 2012 23:43:00 +1000
Message-ID: <4FB0BE4A.6060604@linux.vnet.ibm.com>
Date: Mon, 14 May 2012 13:41:54 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com>
	<4FB0014A.90604@linux.vnet.ibm.com> <4FB0B679.1020600@goop.org>
In-Reply-To: <4FB0B679.1020600@goop.org>
x-cbid: 12051408-9574-0000-0000-000002ACC270
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Greg Kroah-Hartman <gregkh@suse.de>, KVM <kvm@vger.kernel.org>,
	linux-doc@vger.kernel.org, Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/14/2012 01:08 PM, Jeremy Fitzhardinge wrote:
> On 05/13/2012 11:45 AM, Raghavendra K T wrote:
>> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>>
>> I could not come with pv-flush results (also Nikunj had clarified that
>> the result was on NOn PLE
>>
>>> I'd like to see those numbers, then.
>>>
>>> Ingo, please hold on the kvm-specific patches, meanwhile.
>>>
>>
>> 3 guests 8GB RAM, 1 used for kernbench
>> (kernbench -f -H -M -o 20) other for cpuhog (shell script with  while
>> true do hackbench)
>>
>> 1x: no hogs
>> 2x: 8hogs in one guest
>> 3x: 8hogs each in two guest
>>
>> kernbench on PLE:
>> Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32
>> core, with 8 online cpus and 4*64GB RAM.
>>
>> The average is taken over 4 iterations with 3 run each (4*3=12). and
>> stdev is calculated over mean reported in each run.
>>
>>
>> A): 8 vcpu guest
>>
>>                   BASE                    BASE+patch %improvement w.r.t
>>                   mean (sd)               mean (sd)
>> patched kernel time
>> case 1*1x:    61.7075  (1.17872)    60.93     (1.475625)    1.27605
>> case 1*2x:    107.2125 (1.3821349)    97.506675 (1.3461878)   9.95401
>> case 1*3x:    144.3515 (1.8203927)    138.9525  (0.58309319)  3.8855
>>
>>
>> B): 16 vcpu guest
>>                   BASE                    BASE+patch %improvement w.r.t
>>                   mean (sd)               mean (sd)
>> patched kernel time
>> case 2*1x:    70.524   (1.5941395)    69.68866  (1.9392529)   1.19867
>> case 2*2x:    133.0738 (1.4558653)    124.8568  (1.4544986)   6.58114
>> case 2*3x:    206.0094 (1.3437359)    181.4712  (2.9134116)   13.5218
>>
>> B): 32 vcpu guest
>>                   BASE                    BASE+patch %improvementw.r.t
>>                   mean (sd)               mean (sd)
>> patched kernel time
>> case 4*1x:    100.61046 (2.7603485)     85.48734  (2.6035035)  17.6905
>
> What does the "4*1x" notation mean? Do these workloads have overcommit
> of the PCPU resources?
>
> When I measured it, even quite small amounts of overcommit lead to large
> performance drops with non-pv ticket locks (on the order of 10%
> improvements when there were 5 busy VCPUs on a 4 cpu system).  I never
> tested it on larger machines, but I guess that represents around 25%
> overcommit, or 40 busy VCPUs on a 32-PCPU system.

All the above measurements are on PLE machine. It is 32 vcpu single
guest on a 8 pcpu.

(PS:One problem I saw in my kernbench run itself is that
number of threads spawned = 20 instead of 2* number of vcpu. I ll
correct during next measurement.)

"even quite small amounts of overcommit lead to large performance drops
with non-pv ticket locks":

This is very much true on non PLE machine. probably compilation takes
even a day vs just one hour. ( with just 1:3x overcommit I had got 25 x
speedup).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgH-000492-S0; Tue, 15 May 2012 11:12:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SROPC-0006A0-Jz
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:55:14 +0000
Received: from [193.109.254.147:5620] by server-5.bemta-14.messagelabs.com id
	B3/CD-30733-144D7AF4; Mon, 07 May 2012 13:55:13 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1336398870!8006418!1
X-Originating-IP: [122.248.162.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMSA9PiAxODg3ODg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2949 invoked from network); 7 May 2012 13:55:00 -0000
Received: from e28smtp01.in.ibm.com (HELO e28smtp01.in.ibm.com) (122.248.162.1)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:55:00 -0000
Received: from /spool/local
	by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 19:24:29 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:24:25 +0530
Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DsOxi11206964
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:24:24 +0530
Received: from d28av01.in.ibm.com (loopback [127.0.0.1])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47JO28S030752
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:54:04 +0530
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47JNt0l030360; Tue, 8 May 2012 00:53:56 +0530
Message-ID: <4FA7D3F7.9080005@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 19:23:59 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
In-Reply-To: <4FA7D2E5.1020607@redhat.com>
x-cbid: 12050713-4790-0000-0000-00000287CF08
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 07:19 PM, Avi Kivity wrote:
> On 05/07/2012 04:46 PM, Srivatsa Vaddagiri wrote:
>> * Raghavendra K T<raghavendra.kt@linux.vnet.ibm.com>  [2012-05-07 19:08:51]:
>>
>>> I 'll get hold of a PLE mc  and come up with the numbers soon. but I
>>> 'll expect the improvement around 1-3% as it was in last version.
>>
>> Deferring preemption (when vcpu is holding lock) may give us better than 1-3%
>> results on PLE hardware. Something worth trying IMHO.
>
> Is the improvement so low, because PLE is interfering with the patch, or
> because PLE already does a good job?
>

It is because PLE already does a good job (of not burning cpu). The
1-3% improvement is because, patchset knows atleast who is next to hold
lock, which is lacking in PLE.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgS-0004Bc-VL; Tue, 15 May 2012 11:12:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1STd5p-0000kV-FJ
	for xen-devel@lists.xensource.com; Sun, 13 May 2012 18:00:29 +0000
Received: from [85.158.138.51:45696] by server-10.bemta-3.messagelabs.com id
	79/C9-29478-CB6FFAF4; Sun, 13 May 2012 18:00:28 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1336932024!17966497!1
X-Originating-IP: [202.81.31.145]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NSA9PiAyNTM2NTk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28893 invoked from network); 13 May 2012 18:00:27 -0000
Received: from e23smtp03.au.ibm.com (HELO e23smtp03.au.ibm.com) (202.81.31.145)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 13 May 2012 18:00:27 -0000
Received: from /spool/local
	by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Sun, 13 May 2012 17:50:21 +1000
Received: from d23relay04.au.ibm.com (202.81.31.246)
	by e23smtp03.au.ibm.com (202.81.31.209) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Sun, 13 May 2012 17:50:15 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4DHr6nH18612244
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 03:53:06 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4DI01n3021341
	for <xen-devel@lists.xensource.com>; Mon, 14 May 2012 04:00:03 +1000
Received: from [9.79.215.5] ([9.79.215.5])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4DHxs6h021292; Mon, 14 May 2012 03:59:54 +1000
Message-ID: <4FAFF680.6030307@linux.vnet.ibm.com>
Date: Sun, 13 May 2012 23:29:28 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
In-Reply-To: <4FA7BABA.4040700@redhat.com>
x-cbid: 12051307-6102-0000-0000-0000017788F8
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 05:36 PM, Avi Kivity wrote:
> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>> (3+3 runs)).
>>
>>           BASE                    BASE+patch            %improvement
>>           mean (sd)               mean (sd)
>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>
>
> You're calculating the improvement incorrectly.  In the last case, it's
> not 96%, rather it's 2400% (25x).  Similarly the second case is about
> 900% faster.
>

speedup calculation is clear.

I think confusion for me was more because of the types of benchmarks.

I always did

|(patch - base)| * 100 / base


So,  for
(1) lesser is better sort of benchmarks,
improvement calculation would be like

|(patched -  base)| * 100/ patched
e.g for kernbench,

suppose base    = 150 sec
         patched = 100 sec
improvement = 50 % ( = 33% degradation of base)


(2) for higher is better sort of benchmarks improvement calculation 
would be like

|(patched - base)| * 100 / base

for e.g say for pgbench/ ebizzy...

     base = 100 tps (transactions per sec)
     patched = 150 tps

  improvement  = 50 % of pathched kernel ( OR 33 % degradation of base )


Is this is what generally done? just wanted to be on same page before 
publishing benchmark results, other than kernbench.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgG-00048d-0z; Tue, 15 May 2012 11:12:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SROAk-0005p1-Or
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:40:18 +0000
Received: from [85.158.139.83:37256] by server-11.bemta-5.messagelabs.com id
	6F/C1-12959-2C0D7AF4; Mon, 07 May 2012 13:40:18 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336397958!27156218!1
X-Originating-IP: [122.248.162.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMiA9PiAxOTE3Njk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8390 invoked from network); 7 May 2012 13:40:07 -0000
Received: from e28smtp02.in.ibm.com (HELO e28smtp02.in.ibm.com) (122.248.162.2)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:40:07 -0000
Received: from /spool/local
	by e28smtp02.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 19:09:18 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp02.in.ibm.com (192.168.1.132) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:09:17 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DdFG212517636
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:09:16 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47J8TOl002838
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 05:08:30 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47J8Nai002589; Tue, 8 May 2012 05:08:24 +1000
Message-ID: <4FA7D06B.60005@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 19:08:51 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
In-Reply-To: <4FA7CCA2.4030408@redhat.com>
x-cbid: 12050713-5816-0000-0000-00000276C61F
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 06:52 PM, Avi Kivity wrote:
> On 05/07/2012 04:20 PM, Raghavendra K T wrote:
>> On 05/07/2012 05:36 PM, Avi Kivity wrote:
>>> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>>>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>>>>> This is looking pretty good and complete now - any objections
>>>>>> from anyone to trying this out in a separate x86 topic tree?
>>>>>
>>>>> No objections, instead an
>>>>>
>>>>> Acked-by: Avi Kivity<avi@redhat.com>
>>>>>
>> [...]
>>>>
>>>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>>>> (3+3 runs)).
>>>>
>>>>            BASE                    BASE+patch            %improvement
>>>>            mean (sd)               mean (sd)
>>>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>>>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>>>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>>>
>>>
>>> You're calculating the improvement incorrectly.  In the last case, it's
>>> not 96%, rather it's 2400% (25x).  Similarly the second case is about
>>> 900% faster.
>>>
>>
>> You are right,
>> my %improvement was intended to be like
>> if
>> 1) base takes 100 sec ==>  patch takes 93 sec
>> 2) base takes 100 sec ==>  patch takes 11 sec
>> 3) base takes 100 sec ==>  patch takes 4 sec
>>
>> The above is more confusing (and incorrect!).
>>
>> Better is what you told which boils to 10x and 25x improvement in case
>> 2 and case 3. And IMO, this *really* gives the feeling of magnitude of
>> improvement with patches.
>>
>> I ll change script to report that way :).
>>
>
> btw, this is on non-PLE hardware, right?  What are the numbers for PLE?
>
Sure.
I 'll get hold of a PLE mc  and come up with the numbers soon. but I
'll expect the improvement around 1-3% as it was in last version.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgG-00048d-0z; Tue, 15 May 2012 11:12:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SROAk-0005p1-Or
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 13:40:18 +0000
Received: from [85.158.139.83:37256] by server-11.bemta-5.messagelabs.com id
	6F/C1-12959-2C0D7AF4; Mon, 07 May 2012 13:40:18 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1336397958!27156218!1
X-Originating-IP: [122.248.162.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuMiA9PiAxOTE3Njk=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8390 invoked from network); 7 May 2012 13:40:07 -0000
Received: from e28smtp02.in.ibm.com (HELO e28smtp02.in.ibm.com) (122.248.162.2)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 13:40:07 -0000
Received: from /spool/local
	by e28smtp02.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 19:09:18 +0530
Received: from d28relay01.in.ibm.com (9.184.220.58)
	by e28smtp02.in.ibm.com (192.168.1.132) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 19:09:17 +0530
Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65])
	by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47DdFG212517636
	for <xen-devel@lists.xensource.com>; Mon, 7 May 2012 19:09:16 +0530
Received: from d28av03.in.ibm.com (loopback [127.0.0.1])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47J8TOl002838
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 05:08:30 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47J8Nai002589; Tue, 8 May 2012 05:08:24 +1000
Message-ID: <4FA7D06B.60005@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 19:08:51 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
In-Reply-To: <4FA7CCA2.4030408@redhat.com>
x-cbid: 12050713-5816-0000-0000-00000276C61F
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 06:52 PM, Avi Kivity wrote:
> On 05/07/2012 04:20 PM, Raghavendra K T wrote:
>> On 05/07/2012 05:36 PM, Avi Kivity wrote:
>>> On 05/07/2012 01:58 PM, Raghavendra K T wrote:
>>>> On 05/07/2012 02:02 PM, Avi Kivity wrote:
>>>>> On 05/07/2012 11:29 AM, Ingo Molnar wrote:
>>>>>> This is looking pretty good and complete now - any objections
>>>>>> from anyone to trying this out in a separate x86 topic tree?
>>>>>
>>>>> No objections, instead an
>>>>>
>>>>> Acked-by: Avi Kivity<avi@redhat.com>
>>>>>
>> [...]
>>>>
>>>> (Less is better. Below is time elapsed in sec for x86_64_defconfig
>>>> (3+3 runs)).
>>>>
>>>>            BASE                    BASE+patch            %improvement
>>>>            mean (sd)               mean (sd)
>>>> case 1x:     66.0566 (74.0304)      61.3233 (68.8299)     7.16552
>>>> case 2x:     1253.2 (1795.74)      131.606 (137.358)     89.4984
>>>> case 3x:     3431.04 (5297.26)      134.964 (149.861)     96.0664
>>>>
>>>
>>> You're calculating the improvement incorrectly.  In the last case, it's
>>> not 96%, rather it's 2400% (25x).  Similarly the second case is about
>>> 900% faster.
>>>
>>
>> You are right,
>> my %improvement was intended to be like
>> if
>> 1) base takes 100 sec ==>  patch takes 93 sec
>> 2) base takes 100 sec ==>  patch takes 11 sec
>> 3) base takes 100 sec ==>  patch takes 4 sec
>>
>> The above is more confusing (and incorrect!).
>>
>> Better is what you told which boils to 10x and 25x improvement in case
>> 2 and case 3. And IMO, this *really* gives the feeling of magnitude of
>> improvement with patches.
>>
>> I ll change script to report that way :).
>>
>
> btw, this is on non-PLE hardware, right?  What are the numbers for PLE?
>
Sure.
I 'll get hold of a PLE mc  and come up with the numbers soon. but I
'll expect the improvement around 1-3% as it was in last version.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgK-00049b-K3; Tue, 15 May 2012 11:12:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRPE7-0007yJ-OE
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:47:51 +0000
Received: from [85.158.143.35:51414] by server-2.bemta-4.messagelabs.com id
	36/68-17550-790E7AF4; Mon, 07 May 2012 14:47:51 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336402066!13116012!1
X-Originating-IP: [202.81.31.144]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NCA9PiAyNTI4NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19340 invoked from network); 7 May 2012 14:47:49 -0000
Received: from e23smtp02.au.ibm.com (HELO e23smtp02.au.ibm.com) (202.81.31.144)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 14:47:49 -0000
Received: from /spool/local
	by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 14:29:31 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp02.au.ibm.com (202.81.31.208) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 14:29:27 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47Eldta35913894
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:47:40 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47ElbYb026397
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:47:39 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47ElRJs026249; Tue, 8 May 2012 00:47:28 +1000
Message-ID: <4FA7E06E.20304@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 20:17:10 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com>
In-Reply-To: <4FA7D50D.1020209@redhat.com>
x-cbid: 12050704-5490-0000-0000-0000014C851B
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 07:28 PM, Avi Kivity wrote:
> On 05/07/2012 04:53 PM, Raghavendra K T wrote:
>>> Is the improvement so low, because PLE is interfering with the patch, or
>>> because PLE already does a good job?
>>>
>>
>>
>> It is because PLE already does a good job (of not burning cpu). The
>> 1-3% improvement is because, patchset knows atleast who is next to hold
>> lock, which is lacking in PLE.
>>
>
> Not good.  Solving a problem in software that is already solved by
> hardware?  It's okay if there are no costs involved, but here we're
> introducing a new ABI that we'll have to maintain for a long time.
>

Hmm agree that being a step ahead of mighty hardware (and just an
improvement of 1-3%) is no good for long term (where PLE is future).

Having said that, it is hard for me to resist saying :
  bottleneck is somewhere else on PLE m/c and IMHO answer would be
combination of paravirt-spinlock + pv-flush-tb.

But I need to come up with good number to argue in favour of the claim.

PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a 
win on PLE where only one of them alone could not prove the benefit.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgK-00049b-K3; Tue, 15 May 2012 11:12:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SRPE7-0007yJ-OE
	for xen-devel@lists.xensource.com; Mon, 07 May 2012 14:47:51 +0000
Received: from [85.158.143.35:51414] by server-2.bemta-4.messagelabs.com id
	36/68-17550-790E7AF4; Mon, 07 May 2012 14:47:51 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1336402066!13116012!1
X-Originating-IP: [202.81.31.144]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAyLjgxLjMxLjE0NCA9PiAyNTI4NjI=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19340 invoked from network); 7 May 2012 14:47:49 -0000
Received: from e23smtp02.au.ibm.com (HELO e23smtp02.au.ibm.com) (202.81.31.144)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 May 2012 14:47:49 -0000
Received: from /spool/local
	by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Mon, 7 May 2012 14:29:31 +1000
Received: from d23relay03.au.ibm.com (202.81.31.245)
	by e23smtp02.au.ibm.com (202.81.31.208) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Mon, 7 May 2012 14:29:27 +1000
Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138])
	by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q47Eldta35913894
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:47:40 +1000
Received: from d23av02.au.ibm.com (loopback [127.0.0.1])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q47ElbYb026397
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 00:47:39 +1000
Received: from [9.79.222.147] ([9.79.222.147])
	by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q47ElRJs026249; Tue, 8 May 2012 00:47:28 +1000
Message-ID: <4FA7E06E.20304@linux.vnet.ibm.com>
Date: Mon, 07 May 2012 20:17:10 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com>
In-Reply-To: <4FA7D50D.1020209@redhat.com>
x-cbid: 12050704-5490-0000-0000-0000014C851B
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/07/2012 07:28 PM, Avi Kivity wrote:
> On 05/07/2012 04:53 PM, Raghavendra K T wrote:
>>> Is the improvement so low, because PLE is interfering with the patch, or
>>> because PLE already does a good job?
>>>
>>
>>
>> It is because PLE already does a good job (of not burning cpu). The
>> 1-3% improvement is because, patchset knows atleast who is next to hold
>> lock, which is lacking in PLE.
>>
>
> Not good.  Solving a problem in software that is already solved by
> hardware?  It's okay if there are no costs involved, but here we're
> introducing a new ABI that we'll have to maintain for a long time.
>

Hmm agree that being a step ahead of mighty hardware (and just an
improvement of 1-3%) is no good for long term (where PLE is future).

Having said that, it is hard for me to resist saying :
  bottleneck is somewhere else on PLE m/c and IMHO answer would be
combination of paravirt-spinlock + pv-flush-tb.

But I need to come up with good number to argue in favour of the claim.

PS: Nikunj had experimented that pv-flush tlb + paravirt-spinlock is a 
win on PLE where only one of them alone could not prove the benefit.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgQ-0004Ao-45; Tue, 15 May 2012 11:12:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nikunj@linux.vnet.ibm.com>) id 1SReCj-0001lJ-N5
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:47:27 +0000
Received: from [85.158.138.51:30477] by server-8.bemta-3.messagelabs.com id
	F8/A0-24428-C71C8AF4; Tue, 08 May 2012 06:47:24 +0000
X-Env-Sender: nikunj@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336459640!19744684!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA4MTE3OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16440 invoked from network); 8 May 2012 06:47:23 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 06:47:23 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <nikunj@linux.vnet.ibm.com>;
	Tue, 8 May 2012 12:17:19 +0530
Received: from d28relay02.in.ibm.com (9.184.220.59)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 8 May 2012 12:17:16 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q486lFZD9699680
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 12:17:16 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q48CHgZh024866
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 22:17:44 +1000
Received: from abhimanyu.vnet.linux.ibm.com (abhimanyu.in.ibm.com
	[9.124.35.185])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q48CHeE2024818
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Tue, 8 May 2012 22:17:40 +1000
From: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>
In-Reply-To: <alpine.LFD.2.02.1205072240020.6271@ionos>
References: <4FA7BABA.4040700@redhat.com> <4FA7CC05.50808@linux.vnet.ibm.com>
	<4FA7CCA2.4030408@redhat.com> <4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <20120507172527.GA5357@gmail.com>
	<alpine.LFD.2.02.1205072240020.6271@ionos>
User-Agent: Notmuch/0.10.2+70~gf0e0053 (http://notmuchmail.org)
	Emacs/24.0.95.1 (x86_64-unknown-linux-gnu)
Date: Tue, 08 May 2012 12:16:46 +0530
Message-ID: <878vh3rwyx.fsf@linux.vnet.ibm.com>
MIME-Version: 1.0
x-cbid: 12050806-2000-0000-0000-00000763612D
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012 22:42:30 +0200 (CEST), Thomas Gleixner <tglx@linutronix.de> wrote:
> On Mon, 7 May 2012, Ingo Molnar wrote:
> > * Avi Kivity <avi@redhat.com> wrote:
> > 
> > > > PS: Nikunj had experimented that pv-flush tlb + 
> > > > paravirt-spinlock is a win on PLE where only one of them 
> > > > alone could not prove the benefit.
> > > 
Do not have PLE numbers yet for pvflush and pvspinlock. 

I have seen on Non-PLE having pvflush and pvspinlock patches -
kernbench, ebizzy, specjbb, hackbench and dbench all of them improved. 

I am chasing a race currently on pv-flush path, it is causing
file-system corruption. I will post these number along with my v2 post.

> > > I'd like to see those numbers, then.
> > > 
> > > Ingo, please hold on the kvm-specific patches, meanwhile.
> > 
> > I'll hold off on the whole thing - frankly, we don't want this 
> > kind of Xen-only complexity. If KVM can make use of PLE then Xen 
> > ought to be able to do it as well.
> > 
> > If both Xen and KVM makes good use of it then that's a different 
> > matter.
> 
> Aside of that, it's kinda strange that a dude named "Nikunj" is
> referenced in the argument chain, but I can't find him on the CC list.
> 
/me waves my hand

Regards
Nikunj


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:14:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:14:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFgQ-0004Ao-45; Tue, 15 May 2012 11:12:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <nikunj@linux.vnet.ibm.com>) id 1SReCj-0001lJ-N5
	for xen-devel@lists.xensource.com; Tue, 08 May 2012 06:47:27 +0000
Received: from [85.158.138.51:30477] by server-8.bemta-3.messagelabs.com id
	F8/A0-24428-C71C8AF4; Tue, 08 May 2012 06:47:24 +0000
X-Env-Sender: nikunj@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1336459640!19744684!1
X-Originating-IP: [122.248.162.8]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuOCA9PiA4MTE3OA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16440 invoked from network); 8 May 2012 06:47:23 -0000
Received: from e28smtp08.in.ibm.com (HELO e28smtp08.in.ibm.com) (122.248.162.8)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 8 May 2012 06:47:23 -0000
Received: from /spool/local
	by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from <nikunj@linux.vnet.ibm.com>;
	Tue, 8 May 2012 12:17:19 +0530
Received: from d28relay02.in.ibm.com (9.184.220.59)
	by e28smtp08.in.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Tue, 8 May 2012 12:17:16 +0530
Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67])
	by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q486lFZD9699680
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 12:17:16 +0530
Received: from d28av05.in.ibm.com (loopback [127.0.0.1])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q48CHgZh024866
	for <xen-devel@lists.xensource.com>; Tue, 8 May 2012 22:17:44 +1000
Received: from abhimanyu.vnet.linux.ibm.com (abhimanyu.in.ibm.com
	[9.124.35.185])
	by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q48CHeE2024818
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Tue, 8 May 2012 22:17:40 +1000
From: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>
In-Reply-To: <alpine.LFD.2.02.1205072240020.6271@ionos>
References: <4FA7BABA.4040700@redhat.com> <4FA7CC05.50808@linux.vnet.ibm.com>
	<4FA7CCA2.4030408@redhat.com> <4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <20120507172527.GA5357@gmail.com>
	<alpine.LFD.2.02.1205072240020.6271@ionos>
User-Agent: Notmuch/0.10.2+70~gf0e0053 (http://notmuchmail.org)
	Emacs/24.0.95.1 (x86_64-unknown-linux-gnu)
Date: Tue, 08 May 2012 12:16:46 +0530
Message-ID: <878vh3rwyx.fsf@linux.vnet.ibm.com>
MIME-Version: 1.0
x-cbid: 12050806-2000-0000-0000-00000763612D
X-Mailman-Approved-At: Tue, 15 May 2012 11:12:34 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 7 May 2012 22:42:30 +0200 (CEST), Thomas Gleixner <tglx@linutronix.de> wrote:
> On Mon, 7 May 2012, Ingo Molnar wrote:
> > * Avi Kivity <avi@redhat.com> wrote:
> > 
> > > > PS: Nikunj had experimented that pv-flush tlb + 
> > > > paravirt-spinlock is a win on PLE where only one of them 
> > > > alone could not prove the benefit.
> > > 
Do not have PLE numbers yet for pvflush and pvspinlock. 

I have seen on Non-PLE having pvflush and pvspinlock patches -
kernbench, ebizzy, specjbb, hackbench and dbench all of them improved. 

I am chasing a race currently on pv-flush path, it is causing
file-system corruption. I will post these number along with my v2 post.

> > > I'd like to see those numbers, then.
> > > 
> > > Ingo, please hold on the kvm-specific patches, meanwhile.
> > 
> > I'll hold off on the whole thing - frankly, we don't want this 
> > kind of Xen-only complexity. If KVM can make use of PLE then Xen 
> > ought to be able to do it as well.
> > 
> > If both Xen and KVM makes good use of it then that's a different 
> > matter.
> 
> Aside of that, it's kinda strange that a dude named "Nikunj" is
> referenced in the argument chain, but I can't find him on the CC list.
> 
/me waves my hand

Regards
Nikunj


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:19:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:19:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFmN-0008R3-Iz; Tue, 15 May 2012 11:18:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUFmJ-0008Pe-UH
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:18:56 +0000
Received: from [85.158.143.35:14151] by server-1.bemta-4.messagelabs.com id
	96/94-20925-F9B32BF4; Tue, 15 May 2012 11:18:55 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337080725!5135211!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20326 invoked from network); 15 May 2012 11:18:46 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 11:18:46 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 12:18:44 +0100
Message-Id: <4FB257D10200007800083C41@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 12:19:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>,
	"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
	<1337076339.14297.35.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 12:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Tue, 15 May 2012, Ian Campbell wrote:
>> >  After having fixed
>> > the gntdev driver in our kernels and the pvops-centric shortcomings in
>> > both qemu-s, the qdisk backend still looks somewhat unreliable in
>> > testing that Olaf has performed. We haven't narrowed it so far, but
>> > a resulting question of course is whether using that backend (and/or
>> > qemu-upstream) by default for any guests is a good idea.
>> 
>> CCing Stefano who made the patch to have PV guests use this guy. Please
>> do share details when you have them.
> 
> I would prefer precise bug reports, and possibly patches, to "somewhat
> unreliable" :-)

Of course. But we barely got past all the basic issues...

> Please note that the userspace disk backend is basically the same in
> upstream QEMU and qemu-xen-traditional,

I understand that, ...

> so switching back to the old
> QEMU for pv guests wouldn't improve anything.

... and I didn't mean to suggest that. I was rather trying to hint
towards continuing to use blkback as default backend.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:19:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:19:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFmN-0008R3-Iz; Tue, 15 May 2012 11:18:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUFmJ-0008Pe-UH
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:18:56 +0000
Received: from [85.158.143.35:14151] by server-1.bemta-4.messagelabs.com id
	96/94-20925-F9B32BF4; Tue, 15 May 2012 11:18:55 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337080725!5135211!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20326 invoked from network); 15 May 2012 11:18:46 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 11:18:46 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 12:18:44 +0100
Message-Id: <4FB257D10200007800083C41@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 12:19:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>,
	"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
	<1337076339.14297.35.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 12:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Tue, 15 May 2012, Ian Campbell wrote:
>> >  After having fixed
>> > the gntdev driver in our kernels and the pvops-centric shortcomings in
>> > both qemu-s, the qdisk backend still looks somewhat unreliable in
>> > testing that Olaf has performed. We haven't narrowed it so far, but
>> > a resulting question of course is whether using that backend (and/or
>> > qemu-upstream) by default for any guests is a good idea.
>> 
>> CCing Stefano who made the patch to have PV guests use this guy. Please
>> do share details when you have them.
> 
> I would prefer precise bug reports, and possibly patches, to "somewhat
> unreliable" :-)

Of course. But we barely got past all the basic issues...

> Please note that the userspace disk backend is basically the same in
> upstream QEMU and qemu-xen-traditional,

I understand that, ...

> so switching back to the old
> QEMU for pv guests wouldn't improve anything.

... and I didn't mean to suggest that. I was rather trying to hint
towards continuing to use blkback as default backend.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:26:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFtR-0000cl-RN; Tue, 15 May 2012 11:26:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUFtQ-0000ca-H1
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:26:16 +0000
Received: from [85.158.143.99:19685] by server-1.bemta-4.messagelabs.com id
	D4/C2-20925-75D32BF4; Tue, 15 May 2012 11:26:15 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337081173!21056859!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14715 invoked from network); 15 May 2012 11:26:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 11:26:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12480380"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:26:11 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 12:26:10 +0100
Date: Tue, 15 May 2012 12:25:55 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB257D10200007800083C41@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205151221060.26786@kaball-desktop>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
	<1337076339.14297.35.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
	<4FB257D10200007800083C41@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Jan Beulich wrote:
> >>> On 15.05.12 at 12:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > On Tue, 15 May 2012, Ian Campbell wrote:
> >> >  After having fixed
> >> > the gntdev driver in our kernels and the pvops-centric shortcomings in
> >> > both qemu-s, the qdisk backend still looks somewhat unreliable in
> >> > testing that Olaf has performed. We haven't narrowed it so far, but
> >> > a resulting question of course is whether using that backend (and/or
> >> > qemu-upstream) by default for any guests is a good idea.
> >> 
> >> CCing Stefano who made the patch to have PV guests use this guy. Please
> >> do share details when you have them.
> > 
> > I would prefer precise bug reports, and possibly patches, to "somewhat
> > unreliable" :-)
> 
> Of course. But we barely got past all the basic issues...
> 
> > Please note that the userspace disk backend is basically the same in
> > upstream QEMU and qemu-xen-traditional,
> 
> I understand that, ...
> 
> > so switching back to the old
> > QEMU for pv guests wouldn't improve anything.
> 
> ... and I didn't mean to suggest that. I was rather trying to hint
> towards continuing to use blkback as default backend.

blkback is still the default backend for physical partitions and LVM
volumes, but without direct_IO support in loop.c is unsafe for files.
I wouldn't want to run my VM on a disk that is basically stored in RAM.
Also we don't really have choice when it comes to QCOW and QCOW2 images.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 11:26:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 11:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUFtR-0000cl-RN; Tue, 15 May 2012 11:26:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUFtQ-0000ca-H1
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:26:16 +0000
Received: from [85.158.143.99:19685] by server-1.bemta-4.messagelabs.com id
	D4/C2-20925-75D32BF4; Tue, 15 May 2012 11:26:15 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337081173!21056859!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14715 invoked from network); 15 May 2012 11:26:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 11:26:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,593,1330905600"; d="scan'208";a="12480380"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:26:11 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 12:26:10 +0100
Date: Tue, 15 May 2012 12:25:55 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB257D10200007800083C41@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205151221060.26786@kaball-desktop>
References: <osstest-12876-mainreport@xen.org>
	<1337074067.14297.28.camel@zakaz.uk.xensource.com>
	<4FB242F60200007800083B58@nat28.tlf.novell.com>
	<1337076339.14297.35.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205151123270.26786@kaball-desktop>
	<4FB257D10200007800083C41@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12876: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Jan Beulich wrote:
> >>> On 15.05.12 at 12:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > On Tue, 15 May 2012, Ian Campbell wrote:
> >> >  After having fixed
> >> > the gntdev driver in our kernels and the pvops-centric shortcomings in
> >> > both qemu-s, the qdisk backend still looks somewhat unreliable in
> >> > testing that Olaf has performed. We haven't narrowed it so far, but
> >> > a resulting question of course is whether using that backend (and/or
> >> > qemu-upstream) by default for any guests is a good idea.
> >> 
> >> CCing Stefano who made the patch to have PV guests use this guy. Please
> >> do share details when you have them.
> > 
> > I would prefer precise bug reports, and possibly patches, to "somewhat
> > unreliable" :-)
> 
> Of course. But we barely got past all the basic issues...
> 
> > Please note that the userspace disk backend is basically the same in
> > upstream QEMU and qemu-xen-traditional,
> 
> I understand that, ...
> 
> > so switching back to the old
> > QEMU for pv guests wouldn't improve anything.
> 
> ... and I didn't mean to suggest that. I was rather trying to hint
> towards continuing to use blkback as default backend.

blkback is still the default backend for physical partitions and LVM
volumes, but without direct_IO support in loop.c is unsafe for files.
I wouldn't want to run my VM on a disk that is basically stored in RAM.
Also we don't really have choice when it comes to QCOW and QCOW2 images.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 12:22:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 12:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUGl5-0002tW-ON; Tue, 15 May 2012 12:21:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUGl4-0002tR-3g
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 12:21:42 +0000
Received: from [85.158.143.35:59337] by server-1.bemta-4.messagelabs.com id
	8A/61-20925-55A42BF4; Tue, 15 May 2012 12:21:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337084493!12326868!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15337 invoked from network); 15 May 2012 12:21:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 12:21:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,594,1330905600"; d="scan'208";a="12481769"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:21:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 13:21:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUGku-0003cG-IO;
	Tue, 15 May 2012 12:21:32 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUGku-0002Rj-9x;
	Tue, 15 May 2012 13:21:32 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12882-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 13:21:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12882 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12882/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12825
 build-amd64                   4 xen-build                 fail REGR. vs. 12825
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12825

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a

version targeted for testing:
 xen                  35248be669e7
baseline version:
 xen                  513ca342fd86

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 12:22:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 12:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUGl5-0002tW-ON; Tue, 15 May 2012 12:21:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUGl4-0002tR-3g
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 12:21:42 +0000
Received: from [85.158.143.35:59337] by server-1.bemta-4.messagelabs.com id
	8A/61-20925-55A42BF4; Tue, 15 May 2012 12:21:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337084493!12326868!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15337 invoked from network); 15 May 2012 12:21:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 12:21:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,594,1330905600"; d="scan'208";a="12481769"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:21:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 13:21:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUGku-0003cG-IO;
	Tue, 15 May 2012 12:21:32 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUGku-0002Rj-9x;
	Tue, 15 May 2012 13:21:32 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12882-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 13:21:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12882 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12882/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-pvops             4 kernel-build              fail REGR. vs. 12825
 build-amd64                   4 xen-build                 fail REGR. vs. 12825
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12825

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf-pin  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-sedf      1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pair         1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-amd64-win          1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win       1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-pv           1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a

version targeted for testing:
 xen                  35248be669e7
baseline version:
 xen                  513ca342fd86

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            fail    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-win7-amd64                               blocked 
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              blocked 
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 blocked 
 test-amd64-amd64-pv                                          blocked 
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     blocked 
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         blocked 
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      blocked 
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 blocked 
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 12:30:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 12:30:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUGsv-0003A9-La; Tue, 15 May 2012 12:29:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUGsu-0003A3-L1
	for xen-devel@lists.xen.org; Tue, 15 May 2012 12:29:48 +0000
Received: from [193.109.254.147:37244] by server-8.bemta-14.messagelabs.com id
	17/D4-23244-B3C42BF4; Tue, 15 May 2012 12:29:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337084987!9159225!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28561 invoked from network); 15 May 2012 12:29:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 12:29:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 13:29:46 +0100
Message-Id: <4FB268780200007800083CDE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 13:30:16 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <ian.jackson@eu.citrix.com>
References: <osstest-12882-mainreport@xen.org>
In-Reply-To: <osstest-12882-mainreport@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 14:21, xen.org <ian.jackson@eu.citrix.com> wrote:
> flight 12882 xen-4.1-testing real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12882/ 
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-amd64-pvops             4 kernel-build              fail REGR. vs. 12825
>  build-amd64                   4 xen-build                 fail REGR. vs. 12825
>  build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12825

Some test infrastructure problem (4.0-testing failing the same way)?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 12:30:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 12:30:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUGsv-0003A9-La; Tue, 15 May 2012 12:29:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUGsu-0003A3-L1
	for xen-devel@lists.xen.org; Tue, 15 May 2012 12:29:48 +0000
Received: from [193.109.254.147:37244] by server-8.bemta-14.messagelabs.com id
	17/D4-23244-B3C42BF4; Tue, 15 May 2012 12:29:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337084987!9159225!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28561 invoked from network); 15 May 2012 12:29:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 12:29:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 13:29:46 +0100
Message-Id: <4FB268780200007800083CDE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 13:30:16 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <ian.jackson@eu.citrix.com>
References: <osstest-12882-mainreport@xen.org>
In-Reply-To: <osstest-12882-mainreport@xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 14:21, xen.org <ian.jackson@eu.citrix.com> wrote:
> flight 12882 xen-4.1-testing real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12882/ 
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-amd64-pvops             4 kernel-build              fail REGR. vs. 12825
>  build-amd64                   4 xen-build                 fail REGR. vs. 12825
>  build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12825

Some test infrastructure problem (4.0-testing failing the same way)?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 12:33:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 12:33:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUGwW-0003J7-EQ; Tue, 15 May 2012 12:33:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUGwV-0003J0-53
	for xen-devel@lists.xen.org; Tue, 15 May 2012 12:33:31 +0000
Received: from [85.158.143.99:30333] by server-1.bemta-4.messagelabs.com id
	A4/59-20925-A1D42BF4; Tue, 15 May 2012 12:33:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337085209!20566019!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23941 invoked from network); 15 May 2012 12:33:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 12:33:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,594,1330905600"; d="scan'208";a="12482161"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:33:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 13:33:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUGwH-0003gF-Db; Tue, 15 May 2012 12:33:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUGwH-0000YE-Cm;
	Tue, 15 May 2012 13:33:17 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20402.19725.381626.445941@mariner.uk.xensource.com>
Date: Tue, 15 May 2012 13:33:17 +0100
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB268780200007800083CDE@nat28.tlf.novell.com>
References: <osstest-12882-mainreport@xen.org>
	<4FB268780200007800083CDE@nat28.tlf.novell.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich writes ("Re: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL"):
> Some test infrastructure problem (4.0-testing failing the same way)?

Yes.  I have worked around it I think...

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 12:33:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 12:33:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUGwW-0003J7-EQ; Tue, 15 May 2012 12:33:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUGwV-0003J0-53
	for xen-devel@lists.xen.org; Tue, 15 May 2012 12:33:31 +0000
Received: from [85.158.143.99:30333] by server-1.bemta-4.messagelabs.com id
	A4/59-20925-A1D42BF4; Tue, 15 May 2012 12:33:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337085209!20566019!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23941 invoked from network); 15 May 2012 12:33:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 12:33:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,594,1330905600"; d="scan'208";a="12482161"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:33:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 13:33:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUGwH-0003gF-Db; Tue, 15 May 2012 12:33:17 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUGwH-0000YE-Cm;
	Tue, 15 May 2012 13:33:17 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20402.19725.381626.445941@mariner.uk.xensource.com>
Date: Tue, 15 May 2012 13:33:17 +0100
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FB268780200007800083CDE@nat28.tlf.novell.com>
References: <osstest-12882-mainreport@xen.org>
	<4FB268780200007800083CDE@nat28.tlf.novell.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Jan Beulich writes ("Re: [Xen-devel] [xen-4.1-testing test] 12882: regressions - FAIL"):
> Some test infrastructure problem (4.0-testing failing the same way)?

Yes.  I have worked around it I think...

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 13:01:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUHN8-0003zw-EO; Tue, 15 May 2012 13:01:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUHN7-0003zr-4H
	for xen-devel@lists.xen.org; Tue, 15 May 2012 13:01:01 +0000
Received: from [85.158.143.99:49460] by server-2.bemta-4.messagelabs.com id
	BF/5C-06146-C8352BF4; Tue, 15 May 2012 13:01:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337086859!16897850!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12182 invoked from network); 15 May 2012 13:00:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:00:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12482874"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:00:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:00:58 +0100
Message-ID: <1337086856.14297.41.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Daniel Castro <evil.dani@gmail.com>
Date: Tue, 15 May 2012 14:00:56 +0100
In-Reply-To: <CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: James Harper <james.harper@bendigoit.com.au>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCAyMDEyLTA1LTE1IGF0IDEyOjA5ICswMTAwLCBEYW5pZWwgQ2FzdHJvIHdyb3RlOgo+
IE9uIFdlZCwgTWF5IDksIDIwMTIgYXQgNToxOCBQTSwgSWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJl
bGxAY2l0cml4LmNvbT4gd3JvdGU6Cj4gPiBPbiBXZWQsIDIwMTItMDUtMDkgYXQgMDg6NTQgKzAx
MDAsIEphbWVzIEhhcnBlciB3cm90ZToKPiA+PiA+Cj4gPj4gPiBJIGFtIHdyaXRpbmcgdGhlIFBW
IERyaXZlciBmcm9udCBlbmQgaW4gU2VhYmlvcy4KPiA+PiA+Cj4gPj4gPiBDb3VsZCB5b3UgZXhw
bGFpbiB5b3VyIG1ldGhvZCBpbiBhIGxpdHRsZSBtb3JlIGRldGFpbCBwbGVhc2U/Cj4gPj4gPgo+
ID4+Cj4gPj4gSSdtIG5vdCBzdXJlIHRoYXQgbXkgd2F5IGlzIHRoZSBiZXN0IHdheS4gVGhlIGV4
aXN0aW5nIGxpbnV4IHB2Cj4gPj4gZHJpdmVycyBzaG91bGQgZG8gd2hhdCB5b3Ugd2FudCAtIGhh
dmUgYSBsb29rIGF0IHRoZSBzb3VyY2UuIElmIHlvdQo+ID4+IHJlYWxseSB3YW50IHRvIGxvb2sg
YXQgbXkgY29kZSB5b3UgY2FuIGdldCBpdCBmcm9tIGhnIGFuZCBoYXZlIGEgbG9vay4KPiA+PiBJ
dCdzIGluIHRoZSB4ZW52YmQgZHJpdmVyLgo+ID4+Cj4gPj4gQW5kIEkgdGhpbmsgSSBnb3QgaXQg
YmFja3dhcmRzIGluIGEgcHJldmlvdXMgZW1haWwuIEl0IHNlZW1zIHRoYXQgdGhlCj4gPj4gZnJv
bnRlbmQgd3JpdGVzIHRoZSBwcm90b2NvbCBpbnRvIHRoZSB4ZW5zdG9yZSwgZWcgIng4Nl82NC1h
YmkiIGZvciA2NAo+ID4+IGJpdC4KPiBJIHdhcyBub3QgZG9pbmcgdGhpcywgbm93IGl0IGlzIHdy
aXR0ZW4gaW4geGVuc3RvcmUsIGFzIElhbsK0cwo+IHN1Z2dlc3Rpb24gMzItYWJpLCB5ZXQgdGhl
IHNhbWUgcHJvYmxlbSBwZXJzaXN0cy4uLgo+IEFmdGVyIFJJTkcgUkVTUE9OU0UgMHgwMDA5YTA0
MAo+IHN0YXR1czo5Cj4gb3BlcmF0aW9uIDAKPiBpZDoyNTYKPiBUaGlzIGFib3ZlIGlzIHRoZSBj
b250ZW50IG9mIHRoZSByZXNwb25zZS4gVGhlIGlkIHNob3VsZCBiZSA5LiBJZiBJCj4gY2hhbmdl
IHRoZSBpZCB0aGUgcmVzcG9uc2Ugc3RhdHVzIHdpbGwgY2hhbmdlIHRvIHRoZSBzYW1lIG51bWJl
ci4gQW55Cj4gaWRlYXM/CgpDb21wYXJlIHRoZSBsYXlvdXQgYW5kIGRhdGEgc2l6ZXMgb2YgdGhl
IG1lbWJlcnMgb2YgeW91ciByZXF1ZXN0IGFuZApyZXNwb25zZSBzdHJ1Y3R1cmVzIHZlcnkgY2Fy
ZWZ1bGx5IHdpdGggdGhlIG9uZXMgaW4geGVuL2luY2x1ZGUvcHVibGljLgoKSWFuLgoKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp
bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hl
bi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Tue May 15 13:01:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUHN8-0003zw-EO; Tue, 15 May 2012 13:01:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUHN7-0003zr-4H
	for xen-devel@lists.xen.org; Tue, 15 May 2012 13:01:01 +0000
Received: from [85.158.143.99:49460] by server-2.bemta-4.messagelabs.com id
	BF/5C-06146-C8352BF4; Tue, 15 May 2012 13:01:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337086859!16897850!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12182 invoked from network); 15 May 2012 13:00:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:00:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12482874"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:00:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:00:58 +0100
Message-ID: <1337086856.14297.41.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Daniel Castro <evil.dani@gmail.com>
Date: Tue, 15 May 2012 14:00:56 +0100
In-Reply-To: <CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: James Harper <james.harper@bendigoit.com.au>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCAyMDEyLTA1LTE1IGF0IDEyOjA5ICswMTAwLCBEYW5pZWwgQ2FzdHJvIHdyb3RlOgo+
IE9uIFdlZCwgTWF5IDksIDIwMTIgYXQgNToxOCBQTSwgSWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJl
bGxAY2l0cml4LmNvbT4gd3JvdGU6Cj4gPiBPbiBXZWQsIDIwMTItMDUtMDkgYXQgMDg6NTQgKzAx
MDAsIEphbWVzIEhhcnBlciB3cm90ZToKPiA+PiA+Cj4gPj4gPiBJIGFtIHdyaXRpbmcgdGhlIFBW
IERyaXZlciBmcm9udCBlbmQgaW4gU2VhYmlvcy4KPiA+PiA+Cj4gPj4gPiBDb3VsZCB5b3UgZXhw
bGFpbiB5b3VyIG1ldGhvZCBpbiBhIGxpdHRsZSBtb3JlIGRldGFpbCBwbGVhc2U/Cj4gPj4gPgo+
ID4+Cj4gPj4gSSdtIG5vdCBzdXJlIHRoYXQgbXkgd2F5IGlzIHRoZSBiZXN0IHdheS4gVGhlIGV4
aXN0aW5nIGxpbnV4IHB2Cj4gPj4gZHJpdmVycyBzaG91bGQgZG8gd2hhdCB5b3Ugd2FudCAtIGhh
dmUgYSBsb29rIGF0IHRoZSBzb3VyY2UuIElmIHlvdQo+ID4+IHJlYWxseSB3YW50IHRvIGxvb2sg
YXQgbXkgY29kZSB5b3UgY2FuIGdldCBpdCBmcm9tIGhnIGFuZCBoYXZlIGEgbG9vay4KPiA+PiBJ
dCdzIGluIHRoZSB4ZW52YmQgZHJpdmVyLgo+ID4+Cj4gPj4gQW5kIEkgdGhpbmsgSSBnb3QgaXQg
YmFja3dhcmRzIGluIGEgcHJldmlvdXMgZW1haWwuIEl0IHNlZW1zIHRoYXQgdGhlCj4gPj4gZnJv
bnRlbmQgd3JpdGVzIHRoZSBwcm90b2NvbCBpbnRvIHRoZSB4ZW5zdG9yZSwgZWcgIng4Nl82NC1h
YmkiIGZvciA2NAo+ID4+IGJpdC4KPiBJIHdhcyBub3QgZG9pbmcgdGhpcywgbm93IGl0IGlzIHdy
aXR0ZW4gaW4geGVuc3RvcmUsIGFzIElhbsK0cwo+IHN1Z2dlc3Rpb24gMzItYWJpLCB5ZXQgdGhl
IHNhbWUgcHJvYmxlbSBwZXJzaXN0cy4uLgo+IEFmdGVyIFJJTkcgUkVTUE9OU0UgMHgwMDA5YTA0
MAo+IHN0YXR1czo5Cj4gb3BlcmF0aW9uIDAKPiBpZDoyNTYKPiBUaGlzIGFib3ZlIGlzIHRoZSBj
b250ZW50IG9mIHRoZSByZXNwb25zZS4gVGhlIGlkIHNob3VsZCBiZSA5LiBJZiBJCj4gY2hhbmdl
IHRoZSBpZCB0aGUgcmVzcG9uc2Ugc3RhdHVzIHdpbGwgY2hhbmdlIHRvIHRoZSBzYW1lIG51bWJl
ci4gQW55Cj4gaWRlYXM/CgpDb21wYXJlIHRoZSBsYXlvdXQgYW5kIGRhdGEgc2l6ZXMgb2YgdGhl
IG1lbWJlcnMgb2YgeW91ciByZXF1ZXN0IGFuZApyZXNwb25zZSBzdHJ1Y3R1cmVzIHZlcnkgY2Fy
ZWZ1bGx5IHdpdGggdGhlIG9uZXMgaW4geGVuL2luY2x1ZGUvcHVibGljLgoKSWFuLgoKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp
bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hl
bi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Tue May 15 13:50:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:50:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUI8C-0006EO-7H; Tue, 15 May 2012 13:49:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUI8B-0006EB-D7
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 13:49:39 +0000
Received: from [85.158.138.51:34144] by server-7.bemta-3.messagelabs.com id
	2F/67-03078-2FE52BF4; Tue, 15 May 2012 13:49:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337089777!27191589!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28525 invoked from network); 15 May 2012 13:49:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:49:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12484508"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:49:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:49:37 +0100
Message-ID: <1337089775.14297.48.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 14:49:35 +0100
In-Reply-To: <662e2f6be283a0542284.1337077984@kodo2>
References: <patchbomb.1337077983@kodo2>
	<662e2f6be283a0542284.1337077984@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3 v2] libxl: Look for bootloader in
 libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:33 +0100, George Dunlap wrote:
> If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
> given, check for it first in the libexec path before falling back to the
> PATH variable.
> 
> v2:
>  - Check for the libexec path, and if the bootloader isn't there, fall back to
>    the explicitly passed value.  If the full path isn't specified, this will
>    case execvp to search using the path given in the PATH variable.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 84ae90427c54 -r 662e2f6be283 tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Fri May 11 17:46:16 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:53 2012 +0100
> @@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>  
>      char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>      char *tempdir;
> +    const char *bootloader = NULL;
>  
>      char *dom_console_xs_path;
>      char dom_console_slave_tty_path[PATH_MAX];
> @@ -397,6 +398,30 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> +    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
> +               info->u.pv.bootloader);
> +
> +    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
> +                                 libxl__libexec_path());
> +    if ( bootloader == NULL ) {

Since you seem to be respinning anyway...

This can't actually happen any more, since 25181:26f72d923cb9 (libxl:
Crash (more sensibly) on malloc failure)


> +        rc = ERROR_NOMEM;
> +        goto out_close;
> +    } else {
> +        /* Check to see if the file exists in this location; if not,  fall back
> +         * to checking the path */
> +        struct stat st;
> +
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Resulting bootloader path: %s",
> +                   bootloader);
> +
> +        if ( lstat(bootloader, &st) )
> +        {
> +            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "%s doesn't exist, will search $PATH",
> +                       bootloader);
> +            bootloader = info->u.pv.bootloader;
> +        }
> +    }
> +
>      /*
>       * We need to present the bootloader's tty as a pty slave that xenconsole
>       * can access.  Since the bootloader itself needs a pty slave,
> @@ -417,7 +442,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
>      libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
>  
> -    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
> +    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
>      if (pid < 0) {
>          goto out_close;
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 13:50:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:50:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUI8C-0006EO-7H; Tue, 15 May 2012 13:49:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUI8B-0006EB-D7
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 13:49:39 +0000
Received: from [85.158.138.51:34144] by server-7.bemta-3.messagelabs.com id
	2F/67-03078-2FE52BF4; Tue, 15 May 2012 13:49:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337089777!27191589!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28525 invoked from network); 15 May 2012 13:49:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:49:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12484508"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:49:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:49:37 +0100
Message-ID: <1337089775.14297.48.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 14:49:35 +0100
In-Reply-To: <662e2f6be283a0542284.1337077984@kodo2>
References: <patchbomb.1337077983@kodo2>
	<662e2f6be283a0542284.1337077984@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3 v2] libxl: Look for bootloader in
 libexec path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:33 +0100, George Dunlap wrote:
> If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
> given, check for it first in the libexec path before falling back to the
> PATH variable.
> 
> v2:
>  - Check for the libexec path, and if the bootloader isn't there, fall back to
>    the explicitly passed value.  If the full path isn't specified, this will
>    case execvp to search using the path given in the PATH variable.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 84ae90427c54 -r 662e2f6be283 tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Fri May 11 17:46:16 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:53 2012 +0100
> @@ -333,6 +333,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>  
>      char tempdir_template[] = "/var/run/libxl/bl.XXXXXX";
>      char *tempdir;
> +    const char *bootloader = NULL;
>  
>      char *dom_console_xs_path;
>      char dom_console_slave_tty_path[PATH_MAX];
> @@ -397,6 +398,30 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>          goto out_close;
>      }
>  
> +    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
> +               info->u.pv.bootloader);
> +
> +    bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
> +                                 libxl__libexec_path());
> +    if ( bootloader == NULL ) {

Since you seem to be respinning anyway...

This can't actually happen any more, since 25181:26f72d923cb9 (libxl:
Crash (more sensibly) on malloc failure)


> +        rc = ERROR_NOMEM;
> +        goto out_close;
> +    } else {
> +        /* Check to see if the file exists in this location; if not,  fall back
> +         * to checking the path */
> +        struct stat st;
> +
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Resulting bootloader path: %s",
> +                   bootloader);
> +
> +        if ( lstat(bootloader, &st) )
> +        {
> +            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "%s doesn't exist, will search $PATH",
> +                       bootloader);
> +            bootloader = info->u.pv.bootloader;
> +        }
> +    }
> +
>      /*
>       * We need to present the bootloader's tty as a pty slave that xenconsole
>       * can access.  Since the bootloader itself needs a pty slave,
> @@ -417,7 +442,7 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      dom_console_xs_path = libxl__sprintf(gc, "%s/console/tty", libxl__xs_get_dompath(gc, domid));
>      libxl__xs_write(gc, XBT_NULL, dom_console_xs_path, "%s", dom_console_slave_tty_path);
>  
> -    pid = fork_exec_bootloader(&bootloader_fd, info->u.pv.bootloader, args);
> +    pid = fork_exec_bootloader(&bootloader_fd, bootloader, args);
>      if (pid < 0) {
>          goto out_close;
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 13:50:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:50:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUI8o-0006I9-MZ; Tue, 15 May 2012 13:50:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUI8n-0006Ht-Dg
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 13:50:17 +0000
Received: from [193.109.254.147:10189] by server-10.bemta-14.messagelabs.com
	id F5/B6-05847-81F52BF4; Tue, 15 May 2012 13:50:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337089814!9443700!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8644 invoked from network); 15 May 2012 13:50:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:50:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12484524"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:50:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:50:14 +0100
Message-ID: <1337089812.14297.49.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 14:50:12 +0100
In-Reply-To: <4503705206f3ca3cf000.1337077985@kodo2>
References: <patchbomb.1337077983@kodo2>
	<4503705206f3ca3cf000.1337077985@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 3 v2] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:33 +0100, George Dunlap wrote:
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin.
> 
> Because most config files will still have an absolute path pointing to
> /usr/bin/pygrub, make a symbolic link that we will deprecate.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.ctirix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 662e2f6be283 -r 4503705206f3 tools/misc/Makefile
> --- a/tools/misc/Makefile	Tue May 15 11:20:53 2012 +0100
> +++ b/tools/misc/Makefile	Tue May 15 11:20:55 2012 +0100
> @@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
>  SUBDIRS-$(CONFIG_MINITERM) += miniterm
>  SUBDIRS := $(SUBDIRS-y)
>  
> -INSTALL_BIN-y := xencons xenpvnetboot
> +INSTALL_BIN-y := xencons
>  INSTALL_BIN-$(CONFIG_X86) += xen-detect
>  INSTALL_BIN := $(INSTALL_BIN-y)
>  
> @@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
>  INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
>  INSTALL_SBIN := $(INSTALL_SBIN-y)
>  
> +INSTALL_PRIVBIN-y := xenpvnetboot
> +INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
> +
>  # Include configure output (config.h) to headers search path
>  CFLAGS += -I$(XEN_ROOT)/tools
>  
> @@ -41,8 +44,10 @@ build: $(TARGETS)
>  install: build
>  	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
>  	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
>  
>  .PHONY: clean
> diff -r 662e2f6be283 -r 4503705206f3 tools/pygrub/Makefile
> --- a/tools/pygrub/Makefile	Tue May 15 11:20:53 2012 +0100
> +++ b/tools/pygrub/Makefile	Tue May 15 11:20:55 2012 +0100
> @@ -11,9 +11,11 @@ build:
>  .PHONY: install
>  install: all
>  	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
> -		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
> -	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
> +		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
> +		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
> +	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
>  	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> +	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
>  
>  .PHONY: clean
>  clean:
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 13:50:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:50:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUI8o-0006I9-MZ; Tue, 15 May 2012 13:50:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUI8n-0006Ht-Dg
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 13:50:17 +0000
Received: from [193.109.254.147:10189] by server-10.bemta-14.messagelabs.com
	id F5/B6-05847-81F52BF4; Tue, 15 May 2012 13:50:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337089814!9443700!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8644 invoked from network); 15 May 2012 13:50:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:50:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12484524"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:50:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:50:14 +0100
Message-ID: <1337089812.14297.49.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 14:50:12 +0100
In-Reply-To: <4503705206f3ca3cf000.1337077985@kodo2>
References: <patchbomb.1337077983@kodo2>
	<4503705206f3ca3cf000.1337077985@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 3 v2] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:33 +0100, George Dunlap wrote:
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin.
> 
> Because most config files will still have an absolute path pointing to
> /usr/bin/pygrub, make a symbolic link that we will deprecate.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.ctirix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 662e2f6be283 -r 4503705206f3 tools/misc/Makefile
> --- a/tools/misc/Makefile	Tue May 15 11:20:53 2012 +0100
> +++ b/tools/misc/Makefile	Tue May 15 11:20:55 2012 +0100
> @@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
>  SUBDIRS-$(CONFIG_MINITERM) += miniterm
>  SUBDIRS := $(SUBDIRS-y)
>  
> -INSTALL_BIN-y := xencons xenpvnetboot
> +INSTALL_BIN-y := xencons
>  INSTALL_BIN-$(CONFIG_X86) += xen-detect
>  INSTALL_BIN := $(INSTALL_BIN-y)
>  
> @@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
>  INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
>  INSTALL_SBIN := $(INSTALL_SBIN-y)
>  
> +INSTALL_PRIVBIN-y := xenpvnetboot
> +INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
> +
>  # Include configure output (config.h) to headers search path
>  CFLAGS += -I$(XEN_ROOT)/tools
>  
> @@ -41,8 +44,10 @@ build: $(TARGETS)
>  install: build
>  	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
>  	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
>  	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
>  
>  .PHONY: clean
> diff -r 662e2f6be283 -r 4503705206f3 tools/pygrub/Makefile
> --- a/tools/pygrub/Makefile	Tue May 15 11:20:53 2012 +0100
> +++ b/tools/pygrub/Makefile	Tue May 15 11:20:55 2012 +0100
> @@ -11,9 +11,11 @@ build:
>  .PHONY: install
>  install: all
>  	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
> -		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
> -	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
> +		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
> +		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
> +	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
>  	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> +	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
>  
>  .PHONY: clean
>  clean:
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 13:51:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUI9O-0006Me-3g; Tue, 15 May 2012 13:50:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUI9M-0006MH-Mg
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 13:50:52 +0000
Received: from [85.158.143.99:57841] by server-3.bemta-4.messagelabs.com id
	93/8E-05853-B3F52BF4; Tue, 15 May 2012 13:50:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337089841!16908366!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12585 invoked from network); 15 May 2012 13:50:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:50:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12484533"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:50:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:50:40 +0100
Message-ID: <1337089839.14297.50.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 14:50:39 +0100
In-Reply-To: <01804c550dd1e9fc51c1.1337077986@kodo2>
References: <patchbomb.1337077983@kodo2>
	<01804c550dd1e9fc51c1.1337077986@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 v2] libxl: Warn that /usr/bin/pygrub
 is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:33 +0100, George Dunlap wrote:
> v2: Use strcmp rather than strncmp.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 4503705206f3 -r 01804c550dd1 tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:55 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:28:12 2012 +0100
> @@ -15,6 +15,7 @@
>  #include "libxl_osdeps.h" /* must come before any other headers */
>  
>  #include <termios.h>
> +#include <string.h>
>  
>  #include "libxl_internal.h"
>  
> @@ -401,6 +402,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
>                 info->u.pv.bootloader);
>  
> +    if ( !strcmp(info->u.pv.bootloader, "/usr/bin/pygrub") )
> +        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                   "WARNING: bootloader='/usr/bin/pygrub' "             \
> +                   "is deprecated; use bootloader='pygrub' instead");
> +    
>      bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
>                                   libxl__libexec_path());
>      if ( bootloader == NULL ) {
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 13:51:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 13:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUI9O-0006Me-3g; Tue, 15 May 2012 13:50:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUI9M-0006MH-Mg
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 13:50:52 +0000
Received: from [85.158.143.99:57841] by server-3.bemta-4.messagelabs.com id
	93/8E-05853-B3F52BF4; Tue, 15 May 2012 13:50:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337089841!16908366!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12585 invoked from network); 15 May 2012 13:50:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 13:50:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12484533"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 13:50:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 14:50:40 +0100
Message-ID: <1337089839.14297.50.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 14:50:39 +0100
In-Reply-To: <01804c550dd1e9fc51c1.1337077986@kodo2>
References: <patchbomb.1337077983@kodo2>
	<01804c550dd1e9fc51c1.1337077986@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3 v2] libxl: Warn that /usr/bin/pygrub
 is deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 11:33 +0100, George Dunlap wrote:
> v2: Use strcmp rather than strncmp.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 4503705206f3 -r 01804c550dd1 tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Tue May 15 11:20:55 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Tue May 15 11:28:12 2012 +0100
> @@ -15,6 +15,7 @@
>  #include "libxl_osdeps.h" /* must come before any other headers */
>  
>  #include <termios.h>
> +#include <string.h>
>  
>  #include "libxl_internal.h"
>  
> @@ -401,6 +402,11 @@ int libxl_run_bootloader(libxl_ctx *ctx,
>      LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Config bootloader path: %s",
>                 info->u.pv.bootloader);
>  
> +    if ( !strcmp(info->u.pv.bootloader, "/usr/bin/pygrub") )
> +        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
> +                   "WARNING: bootloader='/usr/bin/pygrub' "             \
> +                   "is deprecated; use bootloader='pygrub' instead");
> +    
>      bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
>                                   libxl__libexec_path());
>      if ( bootloader == NULL ) {
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIS0-0007Qr-8R; Tue, 15 May 2012 14:10:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Q3-Tx
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:06 +0000
Received: from [85.158.138.51:2041] by server-2.bemta-3.messagelabs.com id
	B5/3B-09269-DB362BF4; Tue, 15 May 2012 14:10:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22718 invoked from network); 15 May 2012 14:10:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485026"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wG-LP; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044k-Ir;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:56 +0100
Message-ID: <1337090999-15608-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/4] libxl: events: debugging output for timeouts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 03d0498..3956f00 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -169,6 +169,14 @@ static void time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     }
 }
 
+static void time_done_debug(libxl__gc *gc, const char *func,
+                            libxl__ev_time *ev, int rc)
+{
+    libxl__log(CTX, XTL_DEBUG, -1,__FILE__,0,func,
+               "ev_time=%p done rc=%d .func=%p infinite=%d abs=%lu.%06lu",
+               ev, rc, ev->func, ev->infinite,
+               (unsigned long)ev->abs.tv_sec, (unsigned long)ev->abs.tv_usec);
+}
 
 int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
                                 libxl__ev_time_callback *func,
@@ -178,6 +186,9 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p register abs=%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     rc = time_register_finite(gc, ev, abs);
     if (rc) goto out;
 
@@ -185,6 +196,7 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -199,6 +211,8 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p register ms=%d", ev, milliseconds);
+
     if (milliseconds < 0) {
         ev->infinite = 1;
     } else {
@@ -213,6 +227,7 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
     rc = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -224,6 +239,9 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p modify abs==%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (ev->infinite) {
@@ -240,6 +258,7 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -252,6 +271,8 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p modify ms=%d", ev, milliseconds);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (milliseconds < 0) {
@@ -269,6 +290,7 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -277,6 +299,8 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
 {
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p deregister", ev);
+
     if (!libxl__ev_time_isregistered(ev))
         goto out;
 
@@ -284,6 +308,7 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     ev->func = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,0);
     CTX_UNLOCK;
     return;
 }
@@ -856,6 +881,10 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
 
         time_deregister(gc, etime);
 
+        LOG(DEBUG, "ev_time=%p occurs abs=%lu.%06lu",
+            etime, (unsigned long)etime->abs.tv_sec,
+            (unsigned long)etime->abs.tv_usec);
+
         etime->func(egc, etime, &etime->abs);
     }
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIS0-0007Qr-8R; Tue, 15 May 2012 14:10:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Q3-Tx
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:06 +0000
Received: from [85.158.138.51:2041] by server-2.bemta-3.messagelabs.com id
	B5/3B-09269-DB362BF4; Tue, 15 May 2012 14:10:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22718 invoked from network); 15 May 2012 14:10:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485026"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wG-LP; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044k-Ir;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:56 +0100
Message-ID: <1337090999-15608-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/4] libxl: events: debugging output for timeouts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 03d0498..3956f00 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -169,6 +169,14 @@ static void time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     }
 }
 
+static void time_done_debug(libxl__gc *gc, const char *func,
+                            libxl__ev_time *ev, int rc)
+{
+    libxl__log(CTX, XTL_DEBUG, -1,__FILE__,0,func,
+               "ev_time=%p done rc=%d .func=%p infinite=%d abs=%lu.%06lu",
+               ev, rc, ev->func, ev->infinite,
+               (unsigned long)ev->abs.tv_sec, (unsigned long)ev->abs.tv_usec);
+}
 
 int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
                                 libxl__ev_time_callback *func,
@@ -178,6 +186,9 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p register abs=%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     rc = time_register_finite(gc, ev, abs);
     if (rc) goto out;
 
@@ -185,6 +196,7 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -199,6 +211,8 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p register ms=%d", ev, milliseconds);
+
     if (milliseconds < 0) {
         ev->infinite = 1;
     } else {
@@ -213,6 +227,7 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
     rc = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -224,6 +239,9 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p modify abs==%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (ev->infinite) {
@@ -240,6 +258,7 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -252,6 +271,8 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p modify ms=%d", ev, milliseconds);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (milliseconds < 0) {
@@ -269,6 +290,7 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -277,6 +299,8 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
 {
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_time=%p deregister", ev);
+
     if (!libxl__ev_time_isregistered(ev))
         goto out;
 
@@ -284,6 +308,7 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     ev->func = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,0);
     CTX_UNLOCK;
     return;
 }
@@ -856,6 +881,10 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
 
         time_deregister(gc, etime);
 
+        LOG(DEBUG, "ev_time=%p occurs abs=%lu.%06lu",
+            etime, (unsigned long)etime->abs.tv_sec,
+            (unsigned long)etime->abs.tv_usec);
+
         etime->func(egc, etime, &etime->abs);
     }
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRx-0007QF-PM; Tue, 15 May 2012 14:10:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRw-0007Pu-Le
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:04 +0000
Received: from [85.158.138.51:16979] by server-1.bemta-3.messagelabs.com id
	70/90-11491-BB362BF4; Tue, 15 May 2012 14:10:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22422 invoked from network); 15 May 2012 14:10:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485025"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wF-Ka; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044i-Gk;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:55 +0100
Message-ID: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] libxl: events: debugging improvements
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These four patches may help people who are working with the libxl
event machinery:

 1/4 libxl: events: debugging output for timeouts
 2/4 libxl: events: improve debugging output for xs watches
 3/4 libxl: events: debugging output for fds
 4/4 libxl: events: STATE_AO_GC checks ao is still valid

The first three are not intended to cause any change other than the
new debug messages.  The last one should simply cause erroneous code
to crash sooner.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRx-0007QF-PM; Tue, 15 May 2012 14:10:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRw-0007Pu-Le
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:04 +0000
Received: from [85.158.138.51:16979] by server-1.bemta-3.messagelabs.com id
	70/90-11491-BB362BF4; Tue, 15 May 2012 14:10:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22422 invoked from network); 15 May 2012 14:10:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485025"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wF-Ka; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044i-Gk;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:55 +0100
Message-ID: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] libxl: events: debugging improvements
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These four patches may help people who are working with the libxl
event machinery:

 1/4 libxl: events: debugging output for timeouts
 2/4 libxl: events: improve debugging output for xs watches
 3/4 libxl: events: debugging output for fds
 4/4 libxl: events: STATE_AO_GC checks ao is still valid

The first three are not intended to cause any change other than the
new debug messages.  The last one should simply cause erroneous code
to crash sooner.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRz-0007QZ-H1; Tue, 15 May 2012 14:10:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Pw-C5
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:05 +0000
Received: from [85.158.138.51:17138] by server-11.bemta-3.messagelabs.com id
	C2/FC-18894-CB362BF4; Tue, 15 May 2012 14:10:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22648 invoked from network); 15 May 2012 14:10:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485029"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wM-QK; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044s-OJ;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:58 +0100
Message-ID: <1337090999-15608-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/4] libxl: events: debugging output for fds
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 4d31b3c..0f9ea41 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -58,6 +58,8 @@ int libxl__ev_fd_register(libxl__gc *gc, libxl__ev_fd *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_fd=%p register fd=%d events=%x", ev, fd, events);
+
     rc = OSEVENT_HOOK(fd_register, fd, &ev->for_app_reg, events, ev);
     if (rc) goto out;
 
@@ -81,6 +83,8 @@ int libxl__ev_fd_modify(libxl__gc *gc, libxl__ev_fd *ev, short events)
     CTX_LOCK;
     assert(libxl__ev_fd_isregistered(ev));
 
+    LOG(DEBUG, "ev_fd=%p modify fd=%d events=%x", ev, ev->fd, events);
+
     rc = OSEVENT_HOOK(fd_modify, ev->fd, &ev->for_app_reg, events);
     if (rc) goto out;
 
@@ -96,8 +100,12 @@ void libxl__ev_fd_deregister(libxl__gc *gc, libxl__ev_fd *ev)
 {
     CTX_LOCK;
 
-    if (!libxl__ev_fd_isregistered(ev))
+    if (!libxl__ev_fd_isregistered(ev)) {
+        LOG(DEBUG, "ev_fd=%p deregister unregistered",ev);
         goto out;
+    }
+
+    LOG(DEBUG, "ev_fd=%p deregister fd=%d", ev, ev->fd);
 
     OSEVENT_HOOK_VOID(fd_deregister, ev->fd, ev->for_app_reg);
     LIBXL_LIST_REMOVE(ev, entry);
@@ -859,8 +867,11 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
             continue;
 
         int revents = afterpoll_check_fd(poller,fds,nfds, efd->fd,efd->events);
-        if (revents)
+        if (revents) {
+            LOG(DEBUG,"ev_fd=%p occurs fd=%d events=%x revents=%x",
+                efd, efd->fd, efd->events, revents);
             efd->func(egc, efd, efd->fd, efd->events, revents);
+        }
     }
 
     if (afterpoll_check_fd(poller,fds,nfds, poller->wakeup_pipe[0],POLLIN)) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRz-0007QZ-H1; Tue, 15 May 2012 14:10:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Pw-C5
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:05 +0000
Received: from [85.158.138.51:17138] by server-11.bemta-3.messagelabs.com id
	C2/FC-18894-CB362BF4; Tue, 15 May 2012 14:10:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22648 invoked from network); 15 May 2012 14:10:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485029"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wM-QK; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044s-OJ;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:58 +0100
Message-ID: <1337090999-15608-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/4] libxl: events: debugging output for fds
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 4d31b3c..0f9ea41 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -58,6 +58,8 @@ int libxl__ev_fd_register(libxl__gc *gc, libxl__ev_fd *ev,
 
     CTX_LOCK;
 
+    LOG(DEBUG, "ev_fd=%p register fd=%d events=%x", ev, fd, events);
+
     rc = OSEVENT_HOOK(fd_register, fd, &ev->for_app_reg, events, ev);
     if (rc) goto out;
 
@@ -81,6 +83,8 @@ int libxl__ev_fd_modify(libxl__gc *gc, libxl__ev_fd *ev, short events)
     CTX_LOCK;
     assert(libxl__ev_fd_isregistered(ev));
 
+    LOG(DEBUG, "ev_fd=%p modify fd=%d events=%x", ev, ev->fd, events);
+
     rc = OSEVENT_HOOK(fd_modify, ev->fd, &ev->for_app_reg, events);
     if (rc) goto out;
 
@@ -96,8 +100,12 @@ void libxl__ev_fd_deregister(libxl__gc *gc, libxl__ev_fd *ev)
 {
     CTX_LOCK;
 
-    if (!libxl__ev_fd_isregistered(ev))
+    if (!libxl__ev_fd_isregistered(ev)) {
+        LOG(DEBUG, "ev_fd=%p deregister unregistered",ev);
         goto out;
+    }
+
+    LOG(DEBUG, "ev_fd=%p deregister fd=%d", ev, ev->fd);
 
     OSEVENT_HOOK_VOID(fd_deregister, ev->fd, ev->for_app_reg);
     LIBXL_LIST_REMOVE(ev, entry);
@@ -859,8 +867,11 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
             continue;
 
         int revents = afterpoll_check_fd(poller,fds,nfds, efd->fd,efd->events);
-        if (revents)
+        if (revents) {
+            LOG(DEBUG,"ev_fd=%p occurs fd=%d events=%x revents=%x",
+                efd, efd->fd, efd->events, revents);
             efd->func(egc, efd, efd->fd, efd->events, revents);
+        }
     }
 
     if (afterpoll_check_fd(poller,fds,nfds, poller->wakeup_pipe[0],POLLIN)) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRz-0007QS-5S; Tue, 15 May 2012 14:10:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Pv-2P
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:05 +0000
Received: from [85.158.138.51:17074] by server-8.bemta-3.messagelabs.com id
	94/92-24428-CB362BF4; Tue, 15 May 2012 14:10:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22476 invoked from network); 15 May 2012 14:10:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485027"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wJ-Op; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044o-LA;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:57 +0100
Message-ID: <1337090999-15608-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/4] libxl: events: improve debugging output for
	xs watches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Add debugging output for register/deregister.
* Make the debugging printfs consistent about the order in which they
  print the information.
* Where we touch the code, change LIBXL__LOG to LOG.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 3956f00..4d31b3c 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -406,9 +406,8 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
         }
 
         if (w->counterval != counterval) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: counter != %"PRIx32,
-                       epath, token, w->counterval);
+            LOG(DEBUG, "watch w=%p epath=%s token=%s: counter != %"PRIx32,
+                w, epath, token, w->counterval);
             goto ignore;
         }
 
@@ -426,16 +425,14 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
          * See also docs/misc/xenstore.txt.
          */
         if (!xs_path_is_subpath(w->path, epath)) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: not child of wpath=%s",
-                       epath, token, w->path);
+            LOG(DEBUG, "watch w=%p wpath=%s token=%s: unexpected epath=%s",
+                w, w->path, token, epath);
             goto ignore;
         }
 
         /* At last, we have checked everything! */
-        LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                   "watch event: epath=%s token=%s wpath=%s w=%p",
-                   epath, token, w->path, w);
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: event epath=%s",
+            w, w->path, token, epath);
         w->callback(egc, w, w->path, epath);
 
     ignore:
@@ -488,7 +485,11 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
     int slotnum = use - CTX->watch_slots;
     w->counterval = CTX->watch_counter++;
 
-    if (!xs_watch(CTX->xsh, path, watch_token(gc, slotnum, w->counterval))) {
+    const char *token = watch_token(gc, slotnum, w->counterval);
+    LOG(DEBUG, "watch w=%p wpath=%s token=%s: register slotnum=%d",
+        w, path, token, slotnum);
+
+    if (!xs_watch(CTX->xsh, path, token)) {
         LIBXL__LOG_ERRNOVAL(CTX, LIBXL__LOG_ERROR, errno,
                             "create watch for path %s", path);
         rc = ERROR_FAIL;
@@ -520,7 +521,11 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
     CTX_LOCK;
 
     if (w->slotnum >= 0) {
-        char *token = watch_token(gc, w->slotnum, w->counterval);
+        const char *token = watch_token(gc, w->slotnum, w->counterval);
+
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: deregister slotnum=%d",
+            w, w->path, token, w->slotnum);
+
         if (!xs_unwatch(CTX->xsh, w->path, token))
             /* Oh well, we will just get watch events forever more
              * and ignore them.  But we should complain to the log. */
@@ -530,6 +535,8 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
         libxl__ev_watch_slot *slot = &CTX->watch_slots[w->slotnum];
         LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots, slot, empty);
         w->slotnum = -1;
+    } else {
+        LOG(DEBUG, "watch w=%p: deregister unregistered", w);
     }
 
     free(w->path);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRz-0007QS-5S; Tue, 15 May 2012 14:10:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Pv-2P
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:05 +0000
Received: from [85.158.138.51:17074] by server-8.bemta-3.messagelabs.com id
	94/92-24428-CB362BF4; Tue, 15 May 2012 14:10:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22476 invoked from network); 15 May 2012 14:10:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485027"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wJ-Op; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044o-LA;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:57 +0100
Message-ID: <1337090999-15608-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/4] libxl: events: improve debugging output for
	xs watches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Add debugging output for register/deregister.
* Make the debugging printfs consistent about the order in which they
  print the information.
* Where we touch the code, change LIBXL__LOG to LOG.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 3956f00..4d31b3c 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -406,9 +406,8 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
         }
 
         if (w->counterval != counterval) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: counter != %"PRIx32,
-                       epath, token, w->counterval);
+            LOG(DEBUG, "watch w=%p epath=%s token=%s: counter != %"PRIx32,
+                w, epath, token, w->counterval);
             goto ignore;
         }
 
@@ -426,16 +425,14 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
          * See also docs/misc/xenstore.txt.
          */
         if (!xs_path_is_subpath(w->path, epath)) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: not child of wpath=%s",
-                       epath, token, w->path);
+            LOG(DEBUG, "watch w=%p wpath=%s token=%s: unexpected epath=%s",
+                w, w->path, token, epath);
             goto ignore;
         }
 
         /* At last, we have checked everything! */
-        LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                   "watch event: epath=%s token=%s wpath=%s w=%p",
-                   epath, token, w->path, w);
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: event epath=%s",
+            w, w->path, token, epath);
         w->callback(egc, w, w->path, epath);
 
     ignore:
@@ -488,7 +485,11 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
     int slotnum = use - CTX->watch_slots;
     w->counterval = CTX->watch_counter++;
 
-    if (!xs_watch(CTX->xsh, path, watch_token(gc, slotnum, w->counterval))) {
+    const char *token = watch_token(gc, slotnum, w->counterval);
+    LOG(DEBUG, "watch w=%p wpath=%s token=%s: register slotnum=%d",
+        w, path, token, slotnum);
+
+    if (!xs_watch(CTX->xsh, path, token)) {
         LIBXL__LOG_ERRNOVAL(CTX, LIBXL__LOG_ERROR, errno,
                             "create watch for path %s", path);
         rc = ERROR_FAIL;
@@ -520,7 +521,11 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
     CTX_LOCK;
 
     if (w->slotnum >= 0) {
-        char *token = watch_token(gc, w->slotnum, w->counterval);
+        const char *token = watch_token(gc, w->slotnum, w->counterval);
+
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: deregister slotnum=%d",
+            w, w->path, token, w->slotnum);
+
         if (!xs_unwatch(CTX->xsh, w->path, token))
             /* Oh well, we will just get watch events forever more
              * and ignore them.  But we should complain to the log. */
@@ -530,6 +535,8 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
         libxl__ev_watch_slot *slot = &CTX->watch_slots[w->slotnum];
         LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots, slot, empty);
         w->slotnum = -1;
+    } else {
+        LOG(DEBUG, "watch w=%p: deregister unregistered", w);
     }
 
     free(w->path);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRz-0007Qg-TL; Tue, 15 May 2012 14:10:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Px-Ez
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:05 +0000
Received: from [85.158.138.51:17137] by server-9.bemta-3.messagelabs.com id
	14/37-26691-CB362BF4; Tue, 15 May 2012 14:10:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22590 invoked from network); 15 May 2012 14:10:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485028"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wN-R3; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044w-PY;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:59 +0100
Message-ID: <1337090999-15608-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 4/4] libxl: events: STATE_AO_GC checks ao is
	still valid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This will catch earlier the mistake where an ao is completed while it
still has events registered: when the event callback happens for the
long-gone ao, we will crash before attempting to execute any of the
operation-specific code.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c    |    7 +++++++
 tools/libxl/libxl_internal.h |    3 ++-
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 0f9ea41..bdbbdd4 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1399,6 +1399,13 @@ void libxl__ao_abort(libxl__ao *ao)
     libxl__ao__destroy(CTX, ao);
 }
 
+libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
+{
+    assert(ao->magic == LIBXL__AO_MAGIC);
+    assert(!ao->complete);
+    return &ao->gc;
+}
+
 void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
 {
     assert(ao->magic == LIBXL__AO_MAGIC);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b2fe8bb..73b9915 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1575,7 +1575,7 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 
 #define STATE_AO_GC(op_ao)                      \
     libxl__ao *const ao = (op_ao);              \
-    AO_GC
+    libxl__gc *const gc __attribute__((unused)) = libxl__ao_inprogress_gc(ao)
 
 
 /* All of these MUST be called with the ctx locked.
@@ -1585,6 +1585,7 @@ _hidden libxl__ao *libxl__ao_create(libxl_ctx*, uint32_t domid,
 _hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
+_hidden libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao);
 
 /* Can be called at any time.  Use is essential for any aop user. */
 _hidden void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIRz-0007Qg-TL; Tue, 15 May 2012 14:10:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUIRx-0007Px-Ez
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:10:05 +0000
Received: from [85.158.138.51:17137] by server-9.bemta-3.messagelabs.com id
	14/37-26691-CB362BF4; Tue, 15 May 2012 14:10:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337091002!27311827!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22590 invoked from network); 15 May 2012 14:10:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:10:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485028"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:10:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 15:10:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUIRt-0001wN-R3; Tue, 15 May 2012 14:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUIRt-00044w-PY;
	Tue, 15 May 2012 15:10:01 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Tue, 15 May 2012 15:09:59 +0100
Message-ID: <1337090999-15608-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 4/4] libxl: events: STATE_AO_GC checks ao is
	still valid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This will catch earlier the mistake where an ao is completed while it
still has events registered: when the event callback happens for the
long-gone ao, we will crash before attempting to execute any of the
operation-specific code.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c    |    7 +++++++
 tools/libxl/libxl_internal.h |    3 ++-
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 0f9ea41..bdbbdd4 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1399,6 +1399,13 @@ void libxl__ao_abort(libxl__ao *ao)
     libxl__ao__destroy(CTX, ao);
 }
 
+libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
+{
+    assert(ao->magic == LIBXL__AO_MAGIC);
+    assert(!ao->complete);
+    return &ao->gc;
+}
+
 void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
 {
     assert(ao->magic == LIBXL__AO_MAGIC);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b2fe8bb..73b9915 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1575,7 +1575,7 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 
 #define STATE_AO_GC(op_ao)                      \
     libxl__ao *const ao = (op_ao);              \
-    AO_GC
+    libxl__gc *const gc __attribute__((unused)) = libxl__ao_inprogress_gc(ao)
 
 
 /* All of these MUST be called with the ctx locked.
@@ -1585,6 +1585,7 @@ _hidden libxl__ao *libxl__ao_create(libxl_ctx*, uint32_t domid,
 _hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
+_hidden libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao);
 
 /* Can be called at any time.  Use is essential for any aop user. */
 _hidden void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:22:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:22:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIdc-000877-Iz; Tue, 15 May 2012 14:22:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUIdb-000871-Ok
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:22:07 +0000
Received: from [85.158.143.35:44811] by server-3.bemta-4.messagelabs.com id
	37/64-05853-F8662BF4; Tue, 15 May 2012 14:22:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337091725!5174252!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7857 invoked from network); 15 May 2012 14:22:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:22:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485318"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:21:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 15:21:02 +0100
Message-ID: <1337091661.19852.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 15 May 2012 15:21:01 +0100
In-Reply-To: <3d90429f3ad323525332.1337016642@Solace>
References: <3d90429f3ad323525332.1337016642@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 18:30 +0100, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
> 
> cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
> cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> 
> Allow for the same in xl.
> 
> This fixes what happened in changeset 54000bca7a6a, which
> introduced suppot for the `cpus=` option within xl, but used
> both the list (cpus=[2, 3]) and the string (cpus="2,3") syntax
> for achieving the same behaviour (pin all guest's vcpus to the
> pcpus in the list/string).
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

Thanks!

> 
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -108,9 +108,25 @@ created online and the remainder will be
>  =item B<cpus="CPU-LIST">
>  
>  List of which cpus the guest is allowed to use. Default behavior is
> -`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
> -(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
> -will run on cpus 2 and 3).
> +`all cpus`. A C<CPU-LIST> may be specified as follows:
> +
> +=over 4
> +
> +=item "all"
> +
> +To allow all the vcpus of the guest to run on all the cpus on the host.
> +
> +=item "0-3,5,^1"
> +
> +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> +
> +=item ["2", "3"] (or [2, 3])
> +
> +To ask for specific vcpu mapping. That means (in this example), vcpu #0
> +of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
> +run on cpu #3 of the host.
> +
> +=back
>  
>  =item B<cpu_weight=WEIGHT>
>  
> @@ -951,10 +967,6 @@ XXX
>  
>  XXX
>  
> -=item B<cpus=XXX>
> -
> -XXX
> -
>  =item B<maxmem=NUMBER>
>  
>  XXX
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -71,6 +71,8 @@ static uint32_t domid;
>  static const char *common_domname;
>  static int fd_lock = -1;
>  
> +/* Stash for specific vcpu to pcpu mappping */
> +static int *vcpu_to_pcpu;
>  
>  static const char savefileheader_magic[32]=
>      "Xen saved domain, xl format\n \0 \r";
> @@ -630,6 +632,21 @@ static void parse_config_data(const char
>              exit(1);
>          }
>  
> +        /* Prepare the array for single vcpu to pcpu mappings */
> +        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
> +        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
> +
> +        /*
> +         * Idea here is to let libxl think all the domain's vcpus
> +         * have cpu affinity with all the pcpus on the list.
> +         * It is then us, here in xl, that matches each single vcpu
> +         * to its pcpu (and that's why we need to stash such info in
> +         * the vcpu_to_pcpu array now) after the domain has been created.
> +         * Doing it like this saves the burden of passing to libxl
> +         * some big array hosting the single mappings. Also, using
> +         * the cpumap derived from the list ensures memory is being
> +         * allocated on the proper nodes anyway.
> +         */
>          libxl_cpumap_set_none(&b_info->cpumap);
>          while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
>              i = atoi(buf);
> @@ -638,6 +655,8 @@ static void parse_config_data(const char
>                  exit(1);
>              }
>              libxl_cpumap_set(&b_info->cpumap, i);
> +            if (n_cpus < b_info->max_vcpus)
> +                vcpu_to_pcpu[n_cpus] = i;
>              n_cpus++;
>          }
>      }
> @@ -1714,6 +1733,31 @@ start:
>      if ( ret )
>          goto error_out;
>  
> +    /* If single vcpu to pcpu mapping was requested, honour it */
> +    if (vcpu_to_pcpu) {
> +        libxl_cpumap vcpu_cpumap;
> +
> +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> +        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
> +
> +            if (vcpu_to_pcpu[i] != -1) {
> +                libxl_cpumap_set_none(&vcpu_cpumap);
> +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> +            } else {
> +                libxl_cpumap_set_any(&vcpu_cpumap);
> +            }
> +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> +                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
> +                libxl_cpumap_dispose(&vcpu_cpumap);
> +                free(vcpu_to_pcpu);
> +                ret = ERROR_FAIL;
> +                goto error_out;
> +            }
> +        }
> +        libxl_cpumap_dispose(&vcpu_cpumap);
> +        free(vcpu_to_pcpu); vcpu_to_pcpu = NULL;
> +    }
> +
>      ret = libxl_userdata_store(ctx, domid, "xl",
>                                      config_data, config_len);
>      if (ret) {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:22:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:22:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIdc-000877-Iz; Tue, 15 May 2012 14:22:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUIdb-000871-Ok
	for xen-devel@lists.xen.org; Tue, 15 May 2012 14:22:07 +0000
Received: from [85.158.143.35:44811] by server-3.bemta-4.messagelabs.com id
	37/64-05853-F8662BF4; Tue, 15 May 2012 14:22:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337091725!5174252!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7857 invoked from network); 15 May 2012 14:22:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:22:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12485318"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:21:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 15:21:02 +0100
Message-ID: <1337091661.19852.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 15 May 2012 15:21:01 +0100
In-Reply-To: <3d90429f3ad323525332.1337016642@Solace>
References: <3d90429f3ad323525332.1337016642@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] xl: introduce specific VCPU to PCPU
 mapping in config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 18:30 +0100, Dario Faggioli wrote:
> xm supports the following syntax (in the config file) for
> specific VCPU to PCPU mapping:
> 
> cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
> cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
> 
> Allow for the same in xl.
> 
> This fixes what happened in changeset 54000bca7a6a, which
> introduced suppot for the `cpus=` option within xl, but used
> both the list (cpus=[2, 3]) and the string (cpus="2,3") syntax
> for achieving the same behaviour (pin all guest's vcpus to the
> pcpus in the list/string).
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

Thanks!

> 
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -108,9 +108,25 @@ created online and the remainder will be
>  =item B<cpus="CPU-LIST">
>  
>  List of which cpus the guest is allowed to use. Default behavior is
> -`all cpus`. A list of cpus may be specified as follows: `cpus="0-3,5,^1"`
> -(all vcpus will run on cpus 0,2,3,5), or `cpus=["2", "3"]` (all vcpus
> -will run on cpus 2 and 3).
> +`all cpus`. A C<CPU-LIST> may be specified as follows:
> +
> +=over 4
> +
> +=item "all"
> +
> +To allow all the vcpus of the guest to run on all the cpus on the host.
> +
> +=item "0-3,5,^1"
> +
> +To allow all the vcpus of the guest to run on cpus 0,2,3,5.
> +
> +=item ["2", "3"] (or [2, 3])
> +
> +To ask for specific vcpu mapping. That means (in this example), vcpu #0
> +of the guest will run on cpu #2 of the host and vcpu #1 of the guest will
> +run on cpu #3 of the host.
> +
> +=back
>  
>  =item B<cpu_weight=WEIGHT>
>  
> @@ -951,10 +967,6 @@ XXX
>  
>  XXX
>  
> -=item B<cpus=XXX>
> -
> -XXX
> -
>  =item B<maxmem=NUMBER>
>  
>  XXX
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -71,6 +71,8 @@ static uint32_t domid;
>  static const char *common_domname;
>  static int fd_lock = -1;
>  
> +/* Stash for specific vcpu to pcpu mappping */
> +static int *vcpu_to_pcpu;
>  
>  static const char savefileheader_magic[32]=
>      "Xen saved domain, xl format\n \0 \r";
> @@ -630,6 +632,21 @@ static void parse_config_data(const char
>              exit(1);
>          }
>  
> +        /* Prepare the array for single vcpu to pcpu mappings */
> +        vcpu_to_pcpu = xmalloc(sizeof(int) * b_info->max_vcpus);
> +        memset(vcpu_to_pcpu, -1, sizeof(int) * b_info->max_vcpus);
> +
> +        /*
> +         * Idea here is to let libxl think all the domain's vcpus
> +         * have cpu affinity with all the pcpus on the list.
> +         * It is then us, here in xl, that matches each single vcpu
> +         * to its pcpu (and that's why we need to stash such info in
> +         * the vcpu_to_pcpu array now) after the domain has been created.
> +         * Doing it like this saves the burden of passing to libxl
> +         * some big array hosting the single mappings. Also, using
> +         * the cpumap derived from the list ensures memory is being
> +         * allocated on the proper nodes anyway.
> +         */
>          libxl_cpumap_set_none(&b_info->cpumap);
>          while ((buf = xlu_cfg_get_listitem(cpus, n_cpus)) != NULL) {
>              i = atoi(buf);
> @@ -638,6 +655,8 @@ static void parse_config_data(const char
>                  exit(1);
>              }
>              libxl_cpumap_set(&b_info->cpumap, i);
> +            if (n_cpus < b_info->max_vcpus)
> +                vcpu_to_pcpu[n_cpus] = i;
>              n_cpus++;
>          }
>      }
> @@ -1714,6 +1733,31 @@ start:
>      if ( ret )
>          goto error_out;
>  
> +    /* If single vcpu to pcpu mapping was requested, honour it */
> +    if (vcpu_to_pcpu) {
> +        libxl_cpumap vcpu_cpumap;
> +
> +        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
> +        for (i = 0; i < d_config.b_info.max_vcpus; i++) {
> +
> +            if (vcpu_to_pcpu[i] != -1) {
> +                libxl_cpumap_set_none(&vcpu_cpumap);
> +                libxl_cpumap_set(&vcpu_cpumap, vcpu_to_pcpu[i]);
> +            } else {
> +                libxl_cpumap_set_any(&vcpu_cpumap);
> +            }
> +            if (libxl_set_vcpuaffinity(ctx, domid, i, &vcpu_cpumap)) {
> +                fprintf(stderr, "setting affinity failed on vcpu `%d'.\n", i);
> +                libxl_cpumap_dispose(&vcpu_cpumap);
> +                free(vcpu_to_pcpu);
> +                ret = ERROR_FAIL;
> +                goto error_out;
> +            }
> +        }
> +        libxl_cpumap_dispose(&vcpu_cpumap);
> +        free(vcpu_to_pcpu); vcpu_to_pcpu = NULL;
> +    }
> +
>      ret = libxl_userdata_store(ctx, domid, "xl",
>                                      config_data, config_len);
>      if (ret) {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIim-0008Hp-UT; Tue, 15 May 2012 14:27:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIil-0008HV-8d
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:27 +0000
Received: from [85.158.143.35:51404] by server-3.bemta-4.messagelabs.com id
	6B/30-05853-EC762BF4; Tue, 15 May 2012 14:27:26 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337092042!14283611!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31129 invoked from network); 15 May 2012 14:27:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894488"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-N1;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 52ff381a0bba98fc4d21ad74ff9da4dbdc3afe45
Message-ID: <52ff381a0bba98fc4d21.1337091774@kodo2>
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:54 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3 v3] libxl: Look for bootloader in libexec
	path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
given, check for it first in the libexec path before falling back to the
PATH variable.

v2:
 - Check for the libexec path, and if the bootloader isn't there, fall back to
   the explicitly passed value.  If the full path isn't specified, this will
   case execvp to search using the path given in the PATH variable.

v3:
 - Port to xen-unstable tip
 - Take out now-unnecessary check for malloc failure

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r edd7c7ad1ad2 -r 52ff381a0bba tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 15 09:18:33 2012 +0200
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 15:13:36 2012 +0100
@@ -336,6 +336,26 @@ void libxl__bootloader_run(libxl__egc *e
         goto out;
     }
 
+    LOG(DEBUG, "Config bootloader value: %s", info->u.pv.bootloader);
+
+    /* If the full path is not specified, check in the libexec path */
+    if ( info->u.pv.bootloader[0] != '/' ) {
+        char *bootloader;
+        struct stat st;
+        
+        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
+                                     libxl__libexec_path());
+        /* Check to see if the file exists in this location; if not,
+         * fall back to checking the path */
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        
+        if ( lstat(bootloader, &st) )
+            LOG(DEBUG, "%s doesn't exist, falling back to config path",
+                bootloader);
+        else
+            info->u.pv.bootloader = bootloader;
+    }
+
     make_bootloader_args(gc, bl);
 
     bl->openpty.ao = ao;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIim-0008Hp-UT; Tue, 15 May 2012 14:27:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIil-0008HV-8d
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:27 +0000
Received: from [85.158.143.35:51404] by server-3.bemta-4.messagelabs.com id
	6B/30-05853-EC762BF4; Tue, 15 May 2012 14:27:26 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337092042!14283611!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31129 invoked from network); 15 May 2012 14:27:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894488"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-N1;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 52ff381a0bba98fc4d21ad74ff9da4dbdc3afe45
Message-ID: <52ff381a0bba98fc4d21.1337091774@kodo2>
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:54 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 3 v3] libxl: Look for bootloader in libexec
	path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
given, check for it first in the libexec path before falling back to the
PATH variable.

v2:
 - Check for the libexec path, and if the bootloader isn't there, fall back to
   the explicitly passed value.  If the full path isn't specified, this will
   case execvp to search using the path given in the PATH variable.

v3:
 - Port to xen-unstable tip
 - Take out now-unnecessary check for malloc failure

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r edd7c7ad1ad2 -r 52ff381a0bba tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 15 09:18:33 2012 +0200
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 15:13:36 2012 +0100
@@ -336,6 +336,26 @@ void libxl__bootloader_run(libxl__egc *e
         goto out;
     }
 
+    LOG(DEBUG, "Config bootloader value: %s", info->u.pv.bootloader);
+
+    /* If the full path is not specified, check in the libexec path */
+    if ( info->u.pv.bootloader[0] != '/' ) {
+        char *bootloader;
+        struct stat st;
+        
+        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
+                                     libxl__libexec_path());
+        /* Check to see if the file exists in this location; if not,
+         * fall back to checking the path */
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        
+        if ( lstat(bootloader, &st) )
+            LOG(DEBUG, "%s doesn't exist, falling back to config path",
+                bootloader);
+        else
+            info->u.pv.bootloader = bootloader;
+    }
+
     make_bootloader_args(gc, bl);
 
     bl->openpty.ao = ao;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIin-0008I2-AY; Tue, 15 May 2012 14:27:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIil-0008HP-Tf
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:28 +0000
Received: from [85.158.143.35:37443] by server-2.bemta-4.messagelabs.com id
	D3/C0-12211-FC762BF4; Tue, 15 May 2012 14:27:27 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337092042!14283611!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31232 invoked from network); 15 May 2012 14:27:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894489"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-Nz;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 804eb2962984402ae58f8ac5b86a85ed39007e8a
Message-ID: <804eb2962984402ae58f.1337091776@kodo2>
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3 v3] libxl: Warn that /usr/bin/pygrub is
	deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

v2: Use strcmp rather than strncmp.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 9ebf2c1292c3 -r 804eb2962984 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 15 15:13:45 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 15:13:45 2012 +0100
@@ -338,6 +338,10 @@ void libxl__bootloader_run(libxl__egc *e
 
     LOG(DEBUG, "Config bootloader value: %s", info->u.pv.bootloader);
 
+    if ( !strcmp(info->u.pv.bootloader, "/usr/bin/pygrub") )
+        LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
+            "bootloader='pygrub' instead");
+    
     /* If the full path is not specified, check in the libexec path */
     if ( info->u.pv.bootloader[0] != '/' ) {
         char *bootloader;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIin-0008I2-AY; Tue, 15 May 2012 14:27:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIil-0008HP-Tf
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:28 +0000
Received: from [85.158.143.35:37443] by server-2.bemta-4.messagelabs.com id
	D3/C0-12211-FC762BF4; Tue, 15 May 2012 14:27:27 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337092042!14283611!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31232 invoked from network); 15 May 2012 14:27:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894489"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-Nz;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 804eb2962984402ae58f8ac5b86a85ed39007e8a
Message-ID: <804eb2962984402ae58f.1337091776@kodo2>
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 3 v3] libxl: Warn that /usr/bin/pygrub is
	deprecated
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

v2: Use strcmp rather than strncmp.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 9ebf2c1292c3 -r 804eb2962984 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 15 15:13:45 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 15 15:13:45 2012 +0100
@@ -338,6 +338,10 @@ void libxl__bootloader_run(libxl__egc *e
 
     LOG(DEBUG, "Config bootloader value: %s", info->u.pv.bootloader);
 
+    if ( !strcmp(info->u.pv.bootloader, "/usr/bin/pygrub") )
+        LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
+            "bootloader='pygrub' instead");
+    
     /* If the full path is not specified, check in the libexec path */
     if ( info->u.pv.bootloader[0] != '/' ) {
         char *bootloader;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIio-0008IH-NR; Tue, 15 May 2012 14:27:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIim-0008Hl-U4
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:29 +0000
Received: from [85.158.138.51:35085] by server-6.bemta-3.messagelabs.com id
	09/32-05145-0D762BF4; Tue, 15 May 2012 14:27:28 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337092045!19208761!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6649 invoked from network); 15 May 2012 14:27:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894490"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-NW;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9ebf2c1292c344bc209c2dd8da992fe5ef8439fa
Message-ID: <9ebf2c1292c344bc209c.1337091775@kodo2>
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:55 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3 v3] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.

Because most config files will still have an absolute path pointing to
/usr/bin/pygrub, make a symbolic link that we will deprecate.

Signed-off-by: George Dunlap <george.dunlap@eu.ctirix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 52ff381a0bba -r 9ebf2c1292c3 tools/misc/Makefile
--- a/tools/misc/Makefile	Tue May 15 15:13:36 2012 +0100
+++ b/tools/misc/Makefile	Tue May 15 15:13:45 2012 +0100
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
-INSTALL_BIN-y := xencons xenpvnetboot
+INSTALL_BIN-y := xencons
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
@@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
+INSTALL_PRIVBIN-y := xenpvnetboot
+INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
+
 # Include configure output (config.h) to headers search path
 CFLAGS += -I$(XEN_ROOT)/tools
 
@@ -41,8 +44,10 @@ build: $(TARGETS)
 install: build
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
 	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
 
 .PHONY: clean
diff -r 52ff381a0bba -r 9ebf2c1292c3 tools/pygrub/Makefile
--- a/tools/pygrub/Makefile	Tue May 15 15:13:36 2012 +0100
+++ b/tools/pygrub/Makefile	Tue May 15 15:13:45 2012 +0100
@@ -11,9 +11,11 @@ build:
 .PHONY: install
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
-	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
+		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
+	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIio-0008IH-NR; Tue, 15 May 2012 14:27:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIim-0008Hl-U4
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:29 +0000
Received: from [85.158.138.51:35085] by server-6.bemta-3.messagelabs.com id
	09/32-05145-0D762BF4; Tue, 15 May 2012 14:27:28 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337092045!19208761!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6649 invoked from network); 15 May 2012 14:27:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894490"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-NW;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9ebf2c1292c344bc209c2dd8da992fe5ef8439fa
Message-ID: <9ebf2c1292c344bc209c.1337091775@kodo2>
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:55 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 3 v3] tools: Install pv bootloaders in
 libexec rather than /usr/bin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.

Because most config files will still have an absolute path pointing to
/usr/bin/pygrub, make a symbolic link that we will deprecate.

Signed-off-by: George Dunlap <george.dunlap@eu.ctirix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 52ff381a0bba -r 9ebf2c1292c3 tools/misc/Makefile
--- a/tools/misc/Makefile	Tue May 15 15:13:36 2012 +0100
+++ b/tools/misc/Makefile	Tue May 15 15:13:45 2012 +0100
@@ -18,7 +18,7 @@ SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
-INSTALL_BIN-y := xencons xenpvnetboot
+INSTALL_BIN-y := xencons
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
@@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
 INSTALL_SBIN := $(INSTALL_SBIN-y)
 
+INSTALL_PRIVBIN-y := xenpvnetboot
+INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
+
 # Include configure output (config.h) to headers search path
 CFLAGS += -I$(XEN_ROOT)/tools
 
@@ -41,8 +44,10 @@ build: $(TARGETS)
 install: build
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
 	$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(PRIVATE_BINDIR)
 	set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
 
 .PHONY: clean
diff -r 52ff381a0bba -r 9ebf2c1292c3 tools/pygrub/Makefile
--- a/tools/pygrub/Makefile	Tue May 15 15:13:36 2012 +0100
+++ b/tools/pygrub/Makefile	Tue May 15 15:13:45 2012 +0100
@@ -11,9 +11,11 @@ build:
 .PHONY: install
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
-	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
+		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
+	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
 
 .PHONY: clean
 clean:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIil-0008Ha-Ib; Tue, 15 May 2012 14:27:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIik-0008HP-C9
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:26 +0000
Received: from [85.158.143.35:37307] by server-2.bemta-4.messagelabs.com id
	D7/A0-12211-DC762BF4; Tue, 15 May 2012 14:27:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337092042!14283611!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30963 invoked from network); 15 May 2012 14:27:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894487"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-MP;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:53 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3 v3] tools: Move bootloaders to libexec
	directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

tools: Move bootloaders to libexec directory

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
series:
* Causes libxl to look in the libexec dir if a full path is not specified,
  falling back to searching PATH if it's not in the libexec dir
* Moves pygrub and xenpvnetboot into the libexec dir
* For compatibility with existing configs, puts a link to pygrub in /usr/bin
* Warns the user that /usr/bin/pygrub is deprecated

v2: 
 - If the bootloader is not in the libexec path, revert to using the string
   as passed in the config file (which will search $PATH)
 - Use strcmp rather than strncmp

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:27:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:27:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIil-0008Ha-Ib; Tue, 15 May 2012 14:27:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUIik-0008HP-C9
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:27:26 +0000
Received: from [85.158.143.35:37307] by server-2.bemta-4.messagelabs.com id
	D7/A0-12211-DC762BF4; Tue, 15 May 2012 14:27:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337092042!14283611!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30963 invoked from network); 15 May 2012 14:27:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:27:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194894487"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:25:31 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:25:31 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIgs-00016j-MP;
	Tue, 15 May 2012 15:25:30 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337091773@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:22:53 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 3 v3] tools: Move bootloaders to libexec
	directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

tools: Move bootloaders to libexec directory

pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
series:
* Causes libxl to look in the libexec dir if a full path is not specified,
  falling back to searching PATH if it's not in the libexec dir
* Moves pygrub and xenpvnetboot into the libexec dir
* For compatibility with existing configs, puts a link to pygrub in /usr/bin
* Warns the user that /usr/bin/pygrub is deprecated

v2: 
 - If the bootloader is not in the libexec path, revert to using the string
   as passed in the config file (which will search $PATH)
 - Use strcmp rather than strncmp

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIyZ-0000ag-HE; Tue, 15 May 2012 14:43:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUIyX-0000aZ-VE
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:43:46 +0000
Received: from [85.158.138.51:38091] by server-12.bemta-3.messagelabs.com id
	4F/1E-29760-1AB62BF4; Tue, 15 May 2012 14:43:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337093024!18335403!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24147 invoked from network); 15 May 2012 14:43:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:43:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12486057"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:43:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 15:43:31 +0100
Message-ID: <1337093010.19852.19.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 15 May 2012 15:43:30 +0100
In-Reply-To: <d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2 v2] Introduce vncviewer xm
	compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> docs/man/xl.cfg.pod.5     |   4 ++
>  docs/man/xl.pod.1         |  18 +++++++++++
>  tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
>  tools/libxl/xl_cmdtable.c |  15 ++++++---
>  4 files changed, 92 insertions(+), 18 deletions(-)
> 
> 
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

Thanks! I fixed up a context reject in xl_cmdtable.c, relating to the
addition of the "modifies" flag, please do check I did the right thing.

Also I stripped some trailing whitespace.

> 
> diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5	Tue May 15 02:26:51 2012 +0000
> +++ b/docs/man/xl.cfg.pod.5	Tue May 15 02:26:53 2012 +0000
> @@ -91,6 +91,10 @@ The following options apply to guests of
>  Specifies the UUID of the domain.  If not specified, a fresh unique
>  UUID will be generated.
>  
> +=item B<vncviewer=BOOLEAN>
> +
> +Automatically spawn a vncviewer when creating/restoring a guest
> +
>  =item B<pool="CPUPOOLNAME">
>  
>  Put the guest's vcpus into the named cpu pool.
> diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Tue May 15 02:26:51 2012 +0000
> +++ b/docs/man/xl.pod.1	Tue May 15 02:26:53 2012 +0000
> @@ -120,6 +120,14 @@ Use the given configuration file.
>  
>  Leave the domain paused after it is created.
>  
> +=item B<-V>, B<--vncviewer>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>, B<--vncviewer-autopass>
> +
> +Pass VNC password to vncviewer via stdin.
> +
>  =item B<-c>
>  
>  Attach console to the domain as soon as it has started.  This is
> @@ -433,6 +441,16 @@ See the corresponding option of the I<cr
>  
>  Enable debug messages.
>  
> +=item B<-V>, B<--vncviewer>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>, B<--vncviewer-autopass>
> +
> +Pass VNC password to vncviewer via stdin.
> +
> +
> +
>  =back
>  
>  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
> diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:53 2012 +0000
> @@ -127,6 +127,8 @@ struct domain_create {
>      int paused;
>      int dryrun;
>      int quiet;
> +    int vnc;
> +    int vncautopass;
>      int console_autoconnect;
>      const char *config_file;
>      const char *extra_config; /* extra config string */
> @@ -204,9 +206,8 @@ static void find_domain(const char *p)
>      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
>  }
>  
> -static int vncviewer(const char *domain_spec, int autopass)
> +static int vncviewer(uint32_t domid, int autopass)
>  {
> -    find_domain(domain_spec);
>      libxl_vncviewer_exec(ctx, domid, autopass);
>      fprintf(stderr, "Unable to execute vncviewer\n");
>      return 1;
> @@ -549,7 +550,9 @@ vcpp_out:
>  static void parse_config_data(const char *configfile_filename_report,
>                                const char *configfile_data,
>                                int configfile_len,
> -                              libxl_domain_config *d_config)
> +                              libxl_domain_config *d_config, 
> +                              struct domain_create *dom_info)
> +
>  {
>      const char *buf;
>      long l;
> @@ -754,6 +757,13 @@ static void parse_config_data(const char
>      if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
>          b_info->rtc_timeoffset = l;
>  
> +    if (dom_info && !xlu_cfg_get_long(config, "vncviewer", &l, 0)) {
> +        /* Command line arguments must take precedence over what's 
> +         * specified in the configuration file. */
> +        if (!dom_info->vnc)
> +            dom_info->vnc = l;
> +    }
> +
>      xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
>  
>      if (!xlu_cfg_get_long (config, "videoram", &l, 0))
> @@ -1531,6 +1541,7 @@ static int create_domain(struct domain_c
>      int daemonize = dom_info->daemonize;
>      int monitor = dom_info->monitor;
>      int paused = dom_info->paused;
> +    int vncautopass = dom_info->vncautopass;
>      const char *config_file = dom_info->config_file;
>      const char *extra_config = dom_info->extra_config;
>      const char *restore_file = dom_info->restore_file;
> @@ -1654,7 +1665,7 @@ static int create_domain(struct domain_c
>      if (!dom_info->quiet)
>          printf("Parsing config file %s\n", config_file);
>  
> -    parse_config_data(config_file, config_data, config_len, &d_config);
> +    parse_config_data(config_file, config_data, config_len, &d_config, dom_info);
>  
>      if (migrate_fd >= 0) {
>          if (d_config.c_info.name) {
> @@ -1741,6 +1752,9 @@ start:
>      if (!daemonize && !monitor)
>          goto out;
>  
> +    if (dom_info->vnc) 
> +        vncviewer(domid, vncautopass);
> +
>      if (need_daemon) {
>          char *fullname, *name;
>          pid_t child1, got_child;
> @@ -1867,7 +1881,7 @@ start:
>                  libxl_domain_config_dispose(&d_config);
>                  libxl_domain_config_init(&d_config);
>                  parse_config_data(config_file, config_data, config_len,
> -                                  &d_config);
> +                                  &d_config, dom_info);
>  
>                  /*
>                   * XXX FIXME: If this sleep is not there then domain
> @@ -2218,7 +2232,9 @@ int main_vncviewer(int argc, char **argv
>          return 2;
>      }
>  
> -    if (vncviewer(argv[optind], autopass))
> +    find_domain(argv[optind]);
> +
> +    if (vncviewer(domid, autopass))
>          return 1;
>      return 0;
>  }
> @@ -2493,7 +2509,7 @@ static void list_domains_details(const l
>              continue;
>          CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
>          libxl_domain_config_init(&d_config);
> -        parse_config_data(config_file, (char *)data, len, &d_config);
> +        parse_config_data(config_file, (char *)data, len, &d_config, NULL);
>          printf_info(default_output_format, info[i].domid, &d_config);
>          libxl_domain_config_dispose(&d_config);
>          free(data);
> @@ -3043,13 +3059,26 @@ int main_restore(int argc, char **argv)
>      const char *config_file = NULL;
>      struct domain_create dom_info;
>      int paused = 0, debug = 0, daemonize = 1, monitor = 1,
> -        console_autoconnect = 0;
> +        console_autoconnect = 0, vnc = 0, vncautopass = 0;
>      int opt, rc;
> -
> -    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
> +    int option_index = 0;
> +    static struct option long_options[] = {
> +        {"vncviewer", 0, 0, 'V'},
> +        {"vncviewer-autopass", 0, 0, 'A'},
> +        {0, 0, 0, 0}
> +    };
> +
> +    while (1) {
> +        opt = getopt_long(argc, argv, "FhcpdeVA", long_options, &option_index);
> +        if (opt == -1)
> +            break;
> +
>          switch (opt) {
>          case 0: case 2:
>              return opt;
> +        case 'h':
> +            help("restore");
> +            return 2;
>          case 'c':
>              console_autoconnect = 1;
>              break;
> @@ -3066,6 +3095,12 @@ int main_restore(int argc, char **argv)
>              daemonize = 0;
>              monitor = 0;
>              break;
> +        case 'V':
> +            vnc = 1;
> +            break;
> +        case 'A':
> +            vnc = vncautopass = 1;
> +            break;
>          }
>      }
>  
> @@ -3087,6 +3122,8 @@ int main_restore(int argc, char **argv)
>      dom_info.config_file = config_file;
>      dom_info.restore_file = checkpoint_file;
>      dom_info.migrate_fd = -1;
> +    dom_info.vnc = vnc;
> +    dom_info.vncautopass = vncautopass;
>      dom_info.console_autoconnect = console_autoconnect;
>      dom_info.incr_generationid = 1;
>  
> @@ -3394,7 +3431,7 @@ int main_create(int argc, char **argv)
>      char extra_config[1024];
>      struct domain_create dom_info;
>      int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
> -        quiet = 0, monitor = 1;
> +        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
>      int opt, rc;
>      int option_index = 0;
>      static struct option long_options[] = {
> @@ -3402,6 +3439,8 @@ int main_create(int argc, char **argv)
>          {"quiet", 0, 0, 'q'},
>          {"help", 0, 0, 'h'},
>          {"defconfig", 1, 0, 'f'},
> +        {"vncviewer", 0, 0, 'V'},
> +        {"vncviewer-autopass", 0, 0, 'A'},
>          {0, 0, 0, 0}
>      };
>  
> @@ -3411,7 +3450,7 @@ int main_create(int argc, char **argv)
>      }
>  
>      while (1) {
> -        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
> +        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
>          if (opt == -1)
>              break;
>  
> @@ -3444,6 +3483,12 @@ int main_create(int argc, char **argv)
>          case 'q':
>              quiet = 1;
>              break;
> +        case 'V':
> +            vnc = 1;
> +            break;
> +        case 'A':
> +            vnc = vncautopass = 1;
> +            break;
>          default:
>              fprintf(stderr, "option `%c' not supported.\n", optopt);
>              break;
> @@ -3473,6 +3518,8 @@ int main_create(int argc, char **argv)
>      dom_info.config_file = filename;
>      dom_info.extra_config = extra_config;
>      dom_info.migrate_fd = -1;
> +    dom_info.vnc = vnc;
> +    dom_info.vncautopass = vncautopass;
>      dom_info.console_autoconnect = console_autoconnect;
>      dom_info.incr_generationid = 0;
>  
> @@ -3575,7 +3622,7 @@ int main_config_update(int argc, char **
>  
>      libxl_domain_config_init(&d_config);
>  
> -    parse_config_data(filename, config_data, config_len, &d_config);
> +    parse_config_data(filename, config_data, config_len, &d_config, NULL);
>  
>      if (debug || dryrun_only)
>          printf_info(default_output_format, -1, &d_config);
> diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdtable.c
> --- a/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:51 2012 +0000
> +++ b/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:53 2012 +0000
> @@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
>        "-n, --dryrun            Dry run - prints the resulting configuration\n"
>        "                         (deprecated in favour of global -N option).\n"
>        "-d                      Enable debug messages.\n"
> -      "-e                      Do not wait in the background for the death of the domain."
> +      "-e                      Do not wait in the background for the death of the domain.\n"
> +      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
> +      "-A, --vncviewer-autopass\n"
> +      "                        Pass VNC password to viewer via stdin."
>      },
>      { "config-update",
>        &main_config_update, 1,
> @@ -144,10 +147,12 @@ struct cmd_spec cmd_table[] = {
>        &main_restore, 0,
>        "Restore a domain from a saved state",
>        "[options] [<ConfigFile>] <CheckpointFile>",
> -      "-h  Print this help.\n"
> -      "-p  Do not unpause domain after restoring it.\n"
> -      "-e  Do not wait in the background for the death of the domain.\n"
> -      "-d  Enable debug messages."
> +      "-h                       Print this help.\n"
> +      "-p                       Do not unpause domain after restoring it.\n"
> +      "-e                       Do not wait in the background for the death of the domain.\n"
> +      "-d                       Enable debug messages.\n"
> +      "-V, --vncviewer          Connect to the VNC display after the domain is created.\n"
> +      "-A, --vncviewer-autopass Pass VNC password to viewer via stdin."
>      },
>      { "migrate-receive",
>        &main_migrate_receive, 0,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUIyZ-0000ag-HE; Tue, 15 May 2012 14:43:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUIyX-0000aZ-VE
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:43:46 +0000
Received: from [85.158.138.51:38091] by server-12.bemta-3.messagelabs.com id
	4F/1E-29760-1AB62BF4; Tue, 15 May 2012 14:43:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337093024!18335403!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24147 invoked from network); 15 May 2012 14:43:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:43:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12486057"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:43:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 15:43:31 +0100
Message-ID: <1337093010.19852.19.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 15 May 2012 15:43:30 +0100
In-Reply-To: <d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2 v2] Introduce vncviewer xm
	compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> docs/man/xl.cfg.pod.5     |   4 ++
>  docs/man/xl.pod.1         |  18 +++++++++++
>  tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
>  tools/libxl/xl_cmdtable.c |  15 ++++++---
>  4 files changed, 92 insertions(+), 18 deletions(-)
> 
> 
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

Thanks! I fixed up a context reject in xl_cmdtable.c, relating to the
addition of the "modifies" flag, please do check I did the right thing.

Also I stripped some trailing whitespace.

> 
> diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.cfg.pod.5
> --- a/docs/man/xl.cfg.pod.5	Tue May 15 02:26:51 2012 +0000
> +++ b/docs/man/xl.cfg.pod.5	Tue May 15 02:26:53 2012 +0000
> @@ -91,6 +91,10 @@ The following options apply to guests of
>  Specifies the UUID of the domain.  If not specified, a fresh unique
>  UUID will be generated.
>  
> +=item B<vncviewer=BOOLEAN>
> +
> +Automatically spawn a vncviewer when creating/restoring a guest
> +
>  =item B<pool="CPUPOOLNAME">
>  
>  Put the guest's vcpus into the named cpu pool.
> diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Tue May 15 02:26:51 2012 +0000
> +++ b/docs/man/xl.pod.1	Tue May 15 02:26:53 2012 +0000
> @@ -120,6 +120,14 @@ Use the given configuration file.
>  
>  Leave the domain paused after it is created.
>  
> +=item B<-V>, B<--vncviewer>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>, B<--vncviewer-autopass>
> +
> +Pass VNC password to vncviewer via stdin.
> +
>  =item B<-c>
>  
>  Attach console to the domain as soon as it has started.  This is
> @@ -433,6 +441,16 @@ See the corresponding option of the I<cr
>  
>  Enable debug messages.
>  
> +=item B<-V>, B<--vncviewer>
> +
> +Attach to domain's VNC server, forking a vncviewer process.
> +
> +=item B<-A>, B<--vncviewer-autopass>
> +
> +Pass VNC password to vncviewer via stdin.
> +
> +
> +
>  =back
>  
>  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
> diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:53 2012 +0000
> @@ -127,6 +127,8 @@ struct domain_create {
>      int paused;
>      int dryrun;
>      int quiet;
> +    int vnc;
> +    int vncautopass;
>      int console_autoconnect;
>      const char *config_file;
>      const char *extra_config; /* extra config string */
> @@ -204,9 +206,8 @@ static void find_domain(const char *p)
>      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
>  }
>  
> -static int vncviewer(const char *domain_spec, int autopass)
> +static int vncviewer(uint32_t domid, int autopass)
>  {
> -    find_domain(domain_spec);
>      libxl_vncviewer_exec(ctx, domid, autopass);
>      fprintf(stderr, "Unable to execute vncviewer\n");
>      return 1;
> @@ -549,7 +550,9 @@ vcpp_out:
>  static void parse_config_data(const char *configfile_filename_report,
>                                const char *configfile_data,
>                                int configfile_len,
> -                              libxl_domain_config *d_config)
> +                              libxl_domain_config *d_config, 
> +                              struct domain_create *dom_info)
> +
>  {
>      const char *buf;
>      long l;
> @@ -754,6 +757,13 @@ static void parse_config_data(const char
>      if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
>          b_info->rtc_timeoffset = l;
>  
> +    if (dom_info && !xlu_cfg_get_long(config, "vncviewer", &l, 0)) {
> +        /* Command line arguments must take precedence over what's 
> +         * specified in the configuration file. */
> +        if (!dom_info->vnc)
> +            dom_info->vnc = l;
> +    }
> +
>      xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
>  
>      if (!xlu_cfg_get_long (config, "videoram", &l, 0))
> @@ -1531,6 +1541,7 @@ static int create_domain(struct domain_c
>      int daemonize = dom_info->daemonize;
>      int monitor = dom_info->monitor;
>      int paused = dom_info->paused;
> +    int vncautopass = dom_info->vncautopass;
>      const char *config_file = dom_info->config_file;
>      const char *extra_config = dom_info->extra_config;
>      const char *restore_file = dom_info->restore_file;
> @@ -1654,7 +1665,7 @@ static int create_domain(struct domain_c
>      if (!dom_info->quiet)
>          printf("Parsing config file %s\n", config_file);
>  
> -    parse_config_data(config_file, config_data, config_len, &d_config);
> +    parse_config_data(config_file, config_data, config_len, &d_config, dom_info);
>  
>      if (migrate_fd >= 0) {
>          if (d_config.c_info.name) {
> @@ -1741,6 +1752,9 @@ start:
>      if (!daemonize && !monitor)
>          goto out;
>  
> +    if (dom_info->vnc) 
> +        vncviewer(domid, vncautopass);
> +
>      if (need_daemon) {
>          char *fullname, *name;
>          pid_t child1, got_child;
> @@ -1867,7 +1881,7 @@ start:
>                  libxl_domain_config_dispose(&d_config);
>                  libxl_domain_config_init(&d_config);
>                  parse_config_data(config_file, config_data, config_len,
> -                                  &d_config);
> +                                  &d_config, dom_info);
>  
>                  /*
>                   * XXX FIXME: If this sleep is not there then domain
> @@ -2218,7 +2232,9 @@ int main_vncviewer(int argc, char **argv
>          return 2;
>      }
>  
> -    if (vncviewer(argv[optind], autopass))
> +    find_domain(argv[optind]);
> +
> +    if (vncviewer(domid, autopass))
>          return 1;
>      return 0;
>  }
> @@ -2493,7 +2509,7 @@ static void list_domains_details(const l
>              continue;
>          CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
>          libxl_domain_config_init(&d_config);
> -        parse_config_data(config_file, (char *)data, len, &d_config);
> +        parse_config_data(config_file, (char *)data, len, &d_config, NULL);
>          printf_info(default_output_format, info[i].domid, &d_config);
>          libxl_domain_config_dispose(&d_config);
>          free(data);
> @@ -3043,13 +3059,26 @@ int main_restore(int argc, char **argv)
>      const char *config_file = NULL;
>      struct domain_create dom_info;
>      int paused = 0, debug = 0, daemonize = 1, monitor = 1,
> -        console_autoconnect = 0;
> +        console_autoconnect = 0, vnc = 0, vncautopass = 0;
>      int opt, rc;
> -
> -    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
> +    int option_index = 0;
> +    static struct option long_options[] = {
> +        {"vncviewer", 0, 0, 'V'},
> +        {"vncviewer-autopass", 0, 0, 'A'},
> +        {0, 0, 0, 0}
> +    };
> +
> +    while (1) {
> +        opt = getopt_long(argc, argv, "FhcpdeVA", long_options, &option_index);
> +        if (opt == -1)
> +            break;
> +
>          switch (opt) {
>          case 0: case 2:
>              return opt;
> +        case 'h':
> +            help("restore");
> +            return 2;
>          case 'c':
>              console_autoconnect = 1;
>              break;
> @@ -3066,6 +3095,12 @@ int main_restore(int argc, char **argv)
>              daemonize = 0;
>              monitor = 0;
>              break;
> +        case 'V':
> +            vnc = 1;
> +            break;
> +        case 'A':
> +            vnc = vncautopass = 1;
> +            break;
>          }
>      }
>  
> @@ -3087,6 +3122,8 @@ int main_restore(int argc, char **argv)
>      dom_info.config_file = config_file;
>      dom_info.restore_file = checkpoint_file;
>      dom_info.migrate_fd = -1;
> +    dom_info.vnc = vnc;
> +    dom_info.vncautopass = vncautopass;
>      dom_info.console_autoconnect = console_autoconnect;
>      dom_info.incr_generationid = 1;
>  
> @@ -3394,7 +3431,7 @@ int main_create(int argc, char **argv)
>      char extra_config[1024];
>      struct domain_create dom_info;
>      int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
> -        quiet = 0, monitor = 1;
> +        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
>      int opt, rc;
>      int option_index = 0;
>      static struct option long_options[] = {
> @@ -3402,6 +3439,8 @@ int main_create(int argc, char **argv)
>          {"quiet", 0, 0, 'q'},
>          {"help", 0, 0, 'h'},
>          {"defconfig", 1, 0, 'f'},
> +        {"vncviewer", 0, 0, 'V'},
> +        {"vncviewer-autopass", 0, 0, 'A'},
>          {0, 0, 0, 0}
>      };
>  
> @@ -3411,7 +3450,7 @@ int main_create(int argc, char **argv)
>      }
>  
>      while (1) {
> -        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
> +        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
>          if (opt == -1)
>              break;
>  
> @@ -3444,6 +3483,12 @@ int main_create(int argc, char **argv)
>          case 'q':
>              quiet = 1;
>              break;
> +        case 'V':
> +            vnc = 1;
> +            break;
> +        case 'A':
> +            vnc = vncautopass = 1;
> +            break;
>          default:
>              fprintf(stderr, "option `%c' not supported.\n", optopt);
>              break;
> @@ -3473,6 +3518,8 @@ int main_create(int argc, char **argv)
>      dom_info.config_file = filename;
>      dom_info.extra_config = extra_config;
>      dom_info.migrate_fd = -1;
> +    dom_info.vnc = vnc;
> +    dom_info.vncautopass = vncautopass;
>      dom_info.console_autoconnect = console_autoconnect;
>      dom_info.incr_generationid = 0;
>  
> @@ -3575,7 +3622,7 @@ int main_config_update(int argc, char **
>  
>      libxl_domain_config_init(&d_config);
>  
> -    parse_config_data(filename, config_data, config_len, &d_config);
> +    parse_config_data(filename, config_data, config_len, &d_config, NULL);
>  
>      if (debug || dryrun_only)
>          printf_info(default_output_format, -1, &d_config);
> diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdtable.c
> --- a/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:51 2012 +0000
> +++ b/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:53 2012 +0000
> @@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
>        "-n, --dryrun            Dry run - prints the resulting configuration\n"
>        "                         (deprecated in favour of global -N option).\n"
>        "-d                      Enable debug messages.\n"
> -      "-e                      Do not wait in the background for the death of the domain."
> +      "-e                      Do not wait in the background for the death of the domain.\n"
> +      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
> +      "-A, --vncviewer-autopass\n"
> +      "                        Pass VNC password to viewer via stdin."
>      },
>      { "config-update",
>        &main_config_update, 1,
> @@ -144,10 +147,12 @@ struct cmd_spec cmd_table[] = {
>        &main_restore, 0,
>        "Restore a domain from a saved state",
>        "[options] [<ConfigFile>] <CheckpointFile>",
> -      "-h  Print this help.\n"
> -      "-p  Do not unpause domain after restoring it.\n"
> -      "-e  Do not wait in the background for the death of the domain.\n"
> -      "-d  Enable debug messages."
> +      "-h                       Print this help.\n"
> +      "-p                       Do not unpause domain after restoring it.\n"
> +      "-e                       Do not wait in the background for the death of the domain.\n"
> +      "-d                       Enable debug messages.\n"
> +      "-V, --vncviewer          Connect to the VNC display after the domain is created.\n"
> +      "-A, --vncviewer-autopass Pass VNC password to viewer via stdin."
>      },
>      { "migrate-receive",
>        &main_migrate_receive, 0,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:45:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:45:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ0F-0000fT-2w; Tue, 15 May 2012 14:45:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJ0E-0000fO-Id
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:45:30 +0000
Received: from [85.158.143.35:21407] by server-3.bemta-4.messagelabs.com id
	19/95-05853-90C62BF4; Tue, 15 May 2012 14:45:29 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337093127!4408477!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30100 invoked from network); 15 May 2012 14:45:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:45:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12486121"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:45:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 15:45:27 +0100
Message-ID: <1337093125.19852.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 15 May 2012 15:45:25 +0100
In-Reply-To: <380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 2 v2] xl: code motion of vncviewer()
 and `struct domain_create`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> tools/libxl/xl_cmdimpl.c |  50 ++++++++++++++++++++++++-----------------------
>  1 files changed, 26 insertions(+), 24 deletions(-)
> 
> 
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

Thanks!

Not sure what tool you use to send, but it is usual to put the diffstat
after the commit + s-o-b and a "---" marker. This way the standard tools
(e.g. git am) knows not to include it in the commit message. In this
case I've done it by hand. I think hg email is a bit broken in this
regard (puts the diffstat at the top), in which case feel free not to
use the corresponding option next time.

Ian.

> 
> diff -r cd4dd23a831d -r 380d5f86dfdd tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Fri May 11 18:59:07 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> @@ -120,6 +120,24 @@ static const char *action_on_shutdown_na
>  
>  #define SAVEFILE_BYTEORDER_VALUE ((uint32_t)0x01020304UL)
>  
> +struct domain_create {
> +    int debug;
> +    int daemonize;
> +    int monitor; /* handle guest reboots etc */
> +    int paused;
> +    int dryrun;
> +    int quiet;
> +    int console_autoconnect;
> +    const char *config_file;
> +    const char *extra_config; /* extra config string */
> +    const char *restore_file;
> +    int migrate_fd; /* -1 means none */
> +    char **migration_domname_r; /* from malloc */
> +    int incr_generationid;
> +};
> +
> +
> +
>  static int qualifier_to_id(const char *p, uint32_t *id_r)
>  {
>      int i, alldigit;
> @@ -186,6 +204,14 @@ static void find_domain(const char *p)
>      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
>  }
>  
> +static int vncviewer(const char *domain_spec, int autopass)
> +{
> +    find_domain(domain_spec);
> +    libxl_vncviewer_exec(ctx, domid, autopass);
> +    fprintf(stderr, "Unable to execute vncviewer\n");
> +    return 1;
> +}
> +
>  static int acquire_lock(void)
>  {
>      int rc;
> @@ -1399,22 +1425,6 @@ static int preserve_domain(libxl_ctx *ct
>      return rc == 0 ? 1 : 0;
>  }
>  
> -struct domain_create {
> -    int debug;
> -    int daemonize;
> -    int monitor; /* handle guest reboots etc */
> -    int paused;
> -    int dryrun;
> -    int quiet;
> -    int console_autoconnect;
> -    const char *config_file;
> -    const char *extra_config; /* extra config string */
> -    const char *restore_file;
> -    int migrate_fd; /* -1 means none */
> -    char **migration_domname_r; /* from malloc */
> -    int incr_generationid;
> -};
> -
>  static int freemem(libxl_domain_build_info *b_info)
>  {
>      int rc, retries = 3;
> @@ -2175,14 +2185,6 @@ int main_console(int argc, char **argv)
>      return 1;
>  }
>  
> -static int vncviewer(const char *domain_spec, int autopass)
> -{
> -    find_domain(domain_spec);
> -    libxl_vncviewer_exec(ctx, domid, autopass);
> -    fprintf(stderr, "Unable to execute vncviewer\n");
> -    return 1;
> -}
> -
>  int main_vncviewer(int argc, char **argv)
>  {
>      static const struct option long_options[] = {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:45:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:45:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ0F-0000fT-2w; Tue, 15 May 2012 14:45:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJ0E-0000fO-Id
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:45:30 +0000
Received: from [85.158.143.35:21407] by server-3.bemta-4.messagelabs.com id
	19/95-05853-90C62BF4; Tue, 15 May 2012 14:45:29 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337093127!4408477!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30100 invoked from network); 15 May 2012 14:45:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:45:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12486121"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 14:45:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 15:45:27 +0100
Message-ID: <1337093125.19852.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
Date: Tue, 15 May 2012 15:45:25 +0100
In-Reply-To: <380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 2 v2] xl: code motion of vncviewer()
 and `struct domain_create`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> tools/libxl/xl_cmdimpl.c |  50 ++++++++++++++++++++++++-----------------------
>  1 files changed, 26 insertions(+), 24 deletions(-)
> 
> 
> Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

Thanks!

Not sure what tool you use to send, but it is usual to put the diffstat
after the commit + s-o-b and a "---" marker. This way the standard tools
(e.g. git am) knows not to include it in the commit message. In this
case I've done it by hand. I think hg email is a bit broken in this
regard (puts the diffstat at the top), in which case feel free not to
use the corresponding option next time.

Ian.

> 
> diff -r cd4dd23a831d -r 380d5f86dfdd tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Fri May 11 18:59:07 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> @@ -120,6 +120,24 @@ static const char *action_on_shutdown_na
>  
>  #define SAVEFILE_BYTEORDER_VALUE ((uint32_t)0x01020304UL)
>  
> +struct domain_create {
> +    int debug;
> +    int daemonize;
> +    int monitor; /* handle guest reboots etc */
> +    int paused;
> +    int dryrun;
> +    int quiet;
> +    int console_autoconnect;
> +    const char *config_file;
> +    const char *extra_config; /* extra config string */
> +    const char *restore_file;
> +    int migrate_fd; /* -1 means none */
> +    char **migration_domname_r; /* from malloc */
> +    int incr_generationid;
> +};
> +
> +
> +
>  static int qualifier_to_id(const char *p, uint32_t *id_r)
>  {
>      int i, alldigit;
> @@ -186,6 +204,14 @@ static void find_domain(const char *p)
>      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
>  }
>  
> +static int vncviewer(const char *domain_spec, int autopass)
> +{
> +    find_domain(domain_spec);
> +    libxl_vncviewer_exec(ctx, domid, autopass);
> +    fprintf(stderr, "Unable to execute vncviewer\n");
> +    return 1;
> +}
> +
>  static int acquire_lock(void)
>  {
>      int rc;
> @@ -1399,22 +1425,6 @@ static int preserve_domain(libxl_ctx *ct
>      return rc == 0 ? 1 : 0;
>  }
>  
> -struct domain_create {
> -    int debug;
> -    int daemonize;
> -    int monitor; /* handle guest reboots etc */
> -    int paused;
> -    int dryrun;
> -    int quiet;
> -    int console_autoconnect;
> -    const char *config_file;
> -    const char *extra_config; /* extra config string */
> -    const char *restore_file;
> -    int migrate_fd; /* -1 means none */
> -    char **migration_domname_r; /* from malloc */
> -    int incr_generationid;
> -};
> -
>  static int freemem(libxl_domain_build_info *b_info)
>  {
>      int rc, retries = 3;
> @@ -2175,14 +2185,6 @@ int main_console(int argc, char **argv)
>      return 1;
>  }
>  
> -static int vncviewer(const char *domain_spec, int autopass)
> -{
> -    find_domain(domain_spec);
> -    libxl_vncviewer_exec(ctx, domid, autopass);
> -    fprintf(stderr, "Unable to execute vncviewer\n");
> -    return 1;
> -}
> -
>  int main_vncviewer(int argc, char **argv)
>  {
>      static const struct option long_options[] = {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1S-0000mi-4R; Tue, 15 May 2012 14:46:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1P-0000m7-Pj
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:44 +0000
Received: from [85.158.143.35:64804] by server-3.bemta-4.messagelabs.com id
	BE/38-05853-35C62BF4; Tue, 15 May 2012 14:46:43 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29171 invoked from network); 15 May 2012 14:46:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898973"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-Bc;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: d6739b5dfd9a730b4694cedb72d92a332c1586c5
Message-ID: <d6739b5dfd9a730b4694.1337092515@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:15 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 4 v3] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl helper functions to prepare devices to be passed
through to guests.  This is meant to replace of all the manual sysfs
commands which are currently required.

pci_assignable_add accepts a BDF for a device and will:
* Unbind a device from its current driver, if any
* If "rebind" is set, it will store the path of the driver from which we
  unplugged it in /libxl/pciback/$BDF/driver_path
* If create a slot for it in pciback if one doesn't yet exist
* Bind the device to pciback

At this point it will show up in pci_assignable_list, and is ready to
be passed through to a guest.

pci_assignable_remove accepts a BDF for a device and will:
* Unbind the device from pciback
* Remove the slot from pciback
* If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it
  will attempt to rebind the device to its original driver.

Both functions are idempotent: if the desired end state has already
been reached, they return SUCCESS.

NB that "$BDF" in this case uses '-' instead of ':' and '.', because
':' and '.' are illegal characters in xenstore paths.

v2:
 - sysfs_dev_unbind uses a local var for the path pointer, and sets
   only at the end
 - Actually read pci domain when looking at slots, instead of assuming
   0000
 - Call LOG_ERRNO after failed sysfs_write_bdf calls, rather than just
   LOG
 - Removed stray FIXME
 - Made xenstore reads and writes single operations, and removed
   transaction infrastructure
 - Wrapped a couple of lines that were above 80 characters
 - Added a comment explaining the patch's treatment of slots
 - Clarified patch description of when it creates slots
v3:
 - Fix bug in pciback_dev_has_slot() introduced in v2.
 - Raise loglevel to WARNING when pci device is already assigned
 - Update comment in libxl.h to make add and remove explicitly
   idempotent

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 62e682bdb103 -r d6739b5dfd9a tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 15 15:26:24 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 15 15:26:25 2012 +0100
@@ -718,10 +718,29 @@ int libxl_device_pci_destroy(libxl_ctx *
 libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
 
 /*
- * Similar to libxl_device_pci_list but returns all devices which
- * could be assigned to a domain (i.e. are bound to the backend
- * driver) but are not currently.
+ * Functions related to making devices assignable -- that is, bound to
+ * the pciback driver, ready to be given to a guest via
+ * libxl_pci_device_add.
+ *
+ * - ..._add() will unbind the device from its current driver (if
+ * already bound) and re-bind it to pciback; at that point it will be
+ * ready to be assigned to a VM.  If rebind is set, it will store the
+ * path to the old driver in xenstore so that it can be handed back to
+ * dom0 on restore.
+ *
+ * - ..._remove() will unbind the device from pciback, and if
+ * rebind is non-zero, attempt to assign it back to the driver
+ * from whence it came.
+ *
+ * - ..._list() will return a list of the PCI devices available to be
+ * assigned.
+ *
+ * add and remove are idempotent: if the device in question is already
+ * added or is not bound, the functions will emit a warning but return
+ * SUCCESS.
  */
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
 libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
diff -r 62e682bdb103 -r d6739b5dfd9a tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 15 15:26:24 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 15 15:26:25 2012 +0100
@@ -21,6 +21,7 @@
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
 #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
+#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
 
 static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
 {
@@ -408,6 +409,334 @@ out:
     return pcidevs;
 }
 
+/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
+ * store the path to the original driver in it. */
+static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev,
+                            char **driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath, *dp = NULL;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func);
+    if ( !lstat(spath, &st) ) {
+        /* Find the canonical path to the driver. */
+        dp = libxl__zalloc(gc, PATH_MAX);
+        dp = realpath(spath, dp);
+        if ( !dp ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "realpath() failed");
+            return -1;
+        }
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
+                   dp);
+        
+        /* Unbind from the old driver */
+        spath = libxl__sprintf(gc, "%s/unbind", dp);
+        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
+            return -1;
+        }
+    }
+
+    if ( driver_path )
+        *driver_path = dp;
+
+    return 0;
+}
+
+/*
+ * A brief comment about slots.  I don't know what slots are for; however,
+ * I have by experimentation determined:
+ * - Before a device can be bound to pciback, its BDF must first be listed
+ *   in pciback/slots
+ * - The way to get the BDF listed there is to write BDF to
+ *   pciback/new_slot
+ * - Writing the same BDF to pciback/new_slot is not idempotent; it results
+ *   in two entries of the BDF in pciback/slots
+ * It's not clear whether having two entries in pciback/slots is a problem
+ * or not.  Just to be safe, this code does the conservative thing, and
+ * first checks to see if there is a slot, adding one only if one does not
+ * already exist.
+ */
+
+/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
+static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    FILE *f;
+    int rc = 0;
+    unsigned dom, bus, dev, func;
+    
+    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
+
+    if (f == NULL) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         SYSFS_PCIBACK_DRIVER"/slots");
+        return ERROR_FAIL;
+    }
+
+    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
+        if(dom == pcidev->domain
+           && bus == pcidev->bus
+           && dev == pcidev->dev
+           && func == pcidev->func) {
+            rc = 1;
+            goto out;
+        }
+    }
+out:
+    fclose(f);
+    return rc;
+}
+
+static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath;
+    int rc;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
+                           pcidev->domain, pcidev->bus,
+                           pcidev->dev, pcidev->func);
+    rc = lstat(spath, &st);
+
+    if( rc == 0 )
+        return 1;
+    if ( rc < 0 && errno == ENOENT )
+        return 0;
+    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
+    return -1;
+}
+
+static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+
+    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Error checking for pciback slot");
+        return ERROR_FAIL;
+    } else if (rc == 0) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't bind device to pciback!");
+            return ERROR_FAIL;
+        }
+    }
+    
+    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove from pciback */
+    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
+        return ERROR_FAIL;
+    }
+
+    /* Remove slot if necessary */
+    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "Couldn't remove pciback slot");
+            return ERROR_FAIL;
+        }
+    }
+    return 0;
+}
+
+#define PCIBACK_INFO_PATH "/libxl/pciback"
+
+static void pci_assignable_driver_path_write(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            char *driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char *path;
+
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_WARNING,
+                         "Write of %s to node %s failed.",
+                         driver_path, path);
+    }
+}
+
+static char * pci_assignable_driver_path_read(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    return libxl__xs_read(gc, XBT_NULL, 
+                          libxl__sprintf(gc,
+                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func));
+}
+
+static void pci_assignable_driver_path_remove(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove the xenstore entry */
+    xs_rm(ctx->xsh, XBT_NULL,
+          libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
+                         pcidev->domain,
+                         pcidev->bus,
+                         pcidev->dev,
+                         pcidev->func) );
+}
+
+static int libxl__device_pci_assignable_add(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    unsigned dom, bus, dev, func;
+    char *spath, *driver_path = NULL;
+    struct stat st;
+
+    /* Local copy for convenience */
+    dom = pcidev->domain;
+    bus = pcidev->bus;
+    dev = pcidev->dev;
+    func = pcidev->func;
+
+    /* See if the device exists */
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
+    if ( lstat(spath, &st) ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
+        return ERROR_FAIL;
+    }
+
+    /* Check to see if it's already assigned to pciback */
+    if ( pciback_dev_is_assigned(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING, PCI_BDF" already assigned to pciback",
+                   dom, bus, dev, func);
+        return 0;
+    }
+
+    /* Check to see if there's already a driver that we need to unbind from */
+    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "Couldn't unbind "PCI_BDF" from driver",
+                   dom, bus, dev, func);
+        return ERROR_FAIL;
+    }
+
+    /* Store driver_path for rebinding to dom0 */
+    if ( rebind ) {
+        if ( driver_path ) {
+            pci_assignable_driver_path_write(gc, pcidev, driver_path);
+        } else {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       PCI_BDF" not bound to a driver, will not be rebound.",
+                       dom, bus, dev, func);
+        }
+    }
+
+    if ( pciback_dev_assign(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+static int libxl__device_pci_assignable_remove(libxl__gc *gc,
+                                               libxl_device_pci *pcidev,
+                                               int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    char *driver_path;
+
+    /* Unbind from pciback */
+    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
+        return ERROR_FAIL;
+    } else if ( rc ) {
+        pciback_dev_unassign(gc, pcidev);
+    } else {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "Not bound to pciback");
+    }
+
+    /* Rebind if necessary */
+    driver_path = pci_assignable_driver_path_read(gc, pcidev);
+
+    if ( driver_path ) {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
+                       driver_path);
+
+            if ( sysfs_write_bdf(gc,
+                                 libxl__sprintf(gc, "%s/bind", driver_path),
+                                 pcidev) < 0 ) {
+                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                                 "Couldn't bind device to %s", driver_path);
+                return -1;
+            }
+        }
+
+        pci_assignable_driver_path_remove(gc, pcidev);
+    } else {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       "Couldn't find path for original driver; not rebinding");
+        }
+    }
+
+    return 0;
+}
+
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                    int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
+
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                       int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
 /*
  * This function checks that all functions of a device are bound to pciback
  * driver. It also initialises a bit-mask of which function numbers are present

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1S-0000mi-4R; Tue, 15 May 2012 14:46:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1P-0000m7-Pj
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:44 +0000
Received: from [85.158.143.35:64804] by server-3.bemta-4.messagelabs.com id
	BE/38-05853-35C62BF4; Tue, 15 May 2012 14:46:43 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29171 invoked from network); 15 May 2012 14:46:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898973"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-Bc;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: d6739b5dfd9a730b4694cedb72d92a332c1586c5
Message-ID: <d6739b5dfd9a730b4694.1337092515@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:15 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 3 of 4 v3] libxl: Introduce pci_assignable_add
 and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl helper functions to prepare devices to be passed
through to guests.  This is meant to replace of all the manual sysfs
commands which are currently required.

pci_assignable_add accepts a BDF for a device and will:
* Unbind a device from its current driver, if any
* If "rebind" is set, it will store the path of the driver from which we
  unplugged it in /libxl/pciback/$BDF/driver_path
* If create a slot for it in pciback if one doesn't yet exist
* Bind the device to pciback

At this point it will show up in pci_assignable_list, and is ready to
be passed through to a guest.

pci_assignable_remove accepts a BDF for a device and will:
* Unbind the device from pciback
* Remove the slot from pciback
* If "rebind" is set, and /libx/pciback/$BDF/driver_path exists, it
  will attempt to rebind the device to its original driver.

Both functions are idempotent: if the desired end state has already
been reached, they return SUCCESS.

NB that "$BDF" in this case uses '-' instead of ':' and '.', because
':' and '.' are illegal characters in xenstore paths.

v2:
 - sysfs_dev_unbind uses a local var for the path pointer, and sets
   only at the end
 - Actually read pci domain when looking at slots, instead of assuming
   0000
 - Call LOG_ERRNO after failed sysfs_write_bdf calls, rather than just
   LOG
 - Removed stray FIXME
 - Made xenstore reads and writes single operations, and removed
   transaction infrastructure
 - Wrapped a couple of lines that were above 80 characters
 - Added a comment explaining the patch's treatment of slots
 - Clarified patch description of when it creates slots
v3:
 - Fix bug in pciback_dev_has_slot() introduced in v2.
 - Raise loglevel to WARNING when pci device is already assigned
 - Update comment in libxl.h to make add and remove explicitly
   idempotent

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 62e682bdb103 -r d6739b5dfd9a tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 15 15:26:24 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 15 15:26:25 2012 +0100
@@ -718,10 +718,29 @@ int libxl_device_pci_destroy(libxl_ctx *
 libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num);
 
 /*
- * Similar to libxl_device_pci_list but returns all devices which
- * could be assigned to a domain (i.e. are bound to the backend
- * driver) but are not currently.
+ * Functions related to making devices assignable -- that is, bound to
+ * the pciback driver, ready to be given to a guest via
+ * libxl_pci_device_add.
+ *
+ * - ..._add() will unbind the device from its current driver (if
+ * already bound) and re-bind it to pciback; at that point it will be
+ * ready to be assigned to a VM.  If rebind is set, it will store the
+ * path to the old driver in xenstore so that it can be handed back to
+ * dom0 on restore.
+ *
+ * - ..._remove() will unbind the device from pciback, and if
+ * rebind is non-zero, attempt to assign it back to the driver
+ * from whence it came.
+ *
+ * - ..._list() will return a list of the PCI devices available to be
+ * assigned.
+ *
+ * add and remove are idempotent: if the device in question is already
+ * added or is not bound, the functions will emit a warning but return
+ * SUCCESS.
  */
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev, int rebind);
 libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
diff -r 62e682bdb103 -r d6739b5dfd9a tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 15 15:26:24 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 15 15:26:25 2012 +0100
@@ -21,6 +21,7 @@
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
 #define PCI_BDF_VDEVFN         "%04x:%02x:%02x.%01x@%02x"
+#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
 
 static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev)
 {
@@ -408,6 +409,334 @@ out:
     return pcidevs;
 }
 
+/* Unbind device from its current driver, if any.  If driver_path is non-NULL,
+ * store the path to the original driver in it. */
+static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev,
+                            char **driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath, *dp = NULL;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func);
+    if ( !lstat(spath, &st) ) {
+        /* Find the canonical path to the driver. */
+        dp = libxl__zalloc(gc, PATH_MAX);
+        dp = realpath(spath, dp);
+        if ( !dp ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "realpath() failed");
+            return -1;
+        }
+
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Driver re-plug path: %s",
+                   dp);
+        
+        /* Unbind from the old driver */
+        spath = libxl__sprintf(gc, "%s/unbind", dp);
+        if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device");
+            return -1;
+        }
+    }
+
+    if ( driver_path )
+        *driver_path = dp;
+
+    return 0;
+}
+
+/*
+ * A brief comment about slots.  I don't know what slots are for; however,
+ * I have by experimentation determined:
+ * - Before a device can be bound to pciback, its BDF must first be listed
+ *   in pciback/slots
+ * - The way to get the BDF listed there is to write BDF to
+ *   pciback/new_slot
+ * - Writing the same BDF to pciback/new_slot is not idempotent; it results
+ *   in two entries of the BDF in pciback/slots
+ * It's not clear whether having two entries in pciback/slots is a problem
+ * or not.  Just to be safe, this code does the conservative thing, and
+ * first checks to see if there is a slot, adding one only if one does not
+ * already exist.
+ */
+
+/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
+static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    FILE *f;
+    int rc = 0;
+    unsigned dom, bus, dev, func;
+    
+    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
+
+    if (f == NULL) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         SYSFS_PCIBACK_DRIVER"/slots");
+        return ERROR_FAIL;
+    }
+
+    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
+        if(dom == pcidev->domain
+           && bus == pcidev->bus
+           && dev == pcidev->dev
+           && func == pcidev->func) {
+            rc = 1;
+            goto out;
+        }
+    }
+out:
+    fclose(f);
+    return rc;
+}
+
+static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char * spath;
+    int rc;
+    struct stat st;
+
+    spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF,
+                           pcidev->domain, pcidev->bus,
+                           pcidev->dev, pcidev->func);
+    rc = lstat(spath, &st);
+
+    if( rc == 0 )
+        return 1;
+    if ( rc < 0 && errno == ENOENT )
+        return 0;
+    LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Accessing %s", spath);
+    return -1;
+}
+
+static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+
+    if ( (rc=pciback_dev_has_slot(gc, pcidev)) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Error checking for pciback slot");
+        return ERROR_FAIL;
+    } else if (rc == 0) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                       "Couldn't bind device to pciback!");
+            return ERROR_FAIL;
+        }
+    }
+    
+    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pcidev) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove from pciback */
+    if ( sysfs_dev_unbind(gc, pcidev, NULL) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't unbind device!");
+        return ERROR_FAIL;
+    }
+
+    /* Remove slot if necessary */
+    if ( pciback_dev_has_slot(gc, pcidev) > 0 ) {
+        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
+                             pcidev) < 0 ) {
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                             "Couldn't remove pciback slot");
+            return ERROR_FAIL;
+        }
+    }
+    return 0;
+}
+
+#define PCIBACK_INFO_PATH "/libxl/pciback"
+
+static void pci_assignable_driver_path_write(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            char *driver_path)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char *path;
+
+    path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path",
+                          pcidev->domain,
+                          pcidev->bus,
+                          pcidev->dev,
+                          pcidev->func);
+    if ( libxl__xs_write(gc, XBT_NULL, path, "%s", driver_path) < 0 ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_WARNING,
+                         "Write of %s to node %s failed.",
+                         driver_path, path);
+    }
+}
+
+static char * pci_assignable_driver_path_read(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    return libxl__xs_read(gc, XBT_NULL, 
+                          libxl__sprintf(gc,
+                           PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path",
+                           pcidev->domain,
+                           pcidev->bus,
+                           pcidev->dev,
+                           pcidev->func));
+}
+
+static void pci_assignable_driver_path_remove(libxl__gc *gc,
+                                              libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+
+    /* Remove the xenstore entry */
+    xs_rm(ctx->xsh, XBT_NULL,
+          libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH,
+                         pcidev->domain,
+                         pcidev->bus,
+                         pcidev->dev,
+                         pcidev->func) );
+}
+
+static int libxl__device_pci_assignable_add(libxl__gc *gc,
+                                            libxl_device_pci *pcidev,
+                                            int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    unsigned dom, bus, dev, func;
+    char *spath, *driver_path = NULL;
+    struct stat st;
+
+    /* Local copy for convenience */
+    dom = pcidev->domain;
+    bus = pcidev->bus;
+    dev = pcidev->dev;
+    func = pcidev->func;
+
+    /* See if the device exists */
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func);
+    if ( lstat(spath, &st) ) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't lstat %s", spath);
+        return ERROR_FAIL;
+    }
+
+    /* Check to see if it's already assigned to pciback */
+    if ( pciback_dev_is_assigned(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING, PCI_BDF" already assigned to pciback",
+                   dom, bus, dev, func);
+        return 0;
+    }
+
+    /* Check to see if there's already a driver that we need to unbind from */
+    if ( sysfs_dev_unbind(gc, pcidev, &driver_path ) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "Couldn't unbind "PCI_BDF" from driver",
+                   dom, bus, dev, func);
+        return ERROR_FAIL;
+    }
+
+    /* Store driver_path for rebinding to dom0 */
+    if ( rebind ) {
+        if ( driver_path ) {
+            pci_assignable_driver_path_write(gc, pcidev, driver_path);
+        } else {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       PCI_BDF" not bound to a driver, will not be rebound.",
+                       dom, bus, dev, func);
+        }
+    }
+
+    if ( pciback_dev_assign(gc, pcidev) ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Couldn't bind device to pciback!");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+static int libxl__device_pci_assignable_remove(libxl__gc *gc,
+                                               libxl_device_pci *pcidev,
+                                               int rebind)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    char *driver_path;
+
+    /* Unbind from pciback */
+    if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Checking if pciback was assigned");
+        return ERROR_FAIL;
+    } else if ( rc ) {
+        pciback_dev_unassign(gc, pcidev);
+    } else {
+        LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                   "Not bound to pciback");
+    }
+
+    /* Rebind if necessary */
+    driver_path = pci_assignable_driver_path_read(gc, pcidev);
+
+    if ( driver_path ) {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_INFO, "Rebinding to driver at %s",
+                       driver_path);
+
+            if ( sysfs_write_bdf(gc,
+                                 libxl__sprintf(gc, "%s/bind", driver_path),
+                                 pcidev) < 0 ) {
+                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                                 "Couldn't bind device to %s", driver_path);
+                return -1;
+            }
+        }
+
+        pci_assignable_driver_path_remove(gc, pcidev);
+    } else {
+        if ( rebind ) {
+            LIBXL__LOG(ctx, LIBXL__LOG_WARNING,
+                       "Couldn't find path for original driver; not rebinding");
+        }
+    }
+
+    return 0;
+}
+
+int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                    int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_add(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
+
+int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pcidev,
+                                       int rebind)
+{
+    GC_INIT(ctx);
+    int rc;
+
+    rc = libxl__device_pci_assignable_remove(gc, pcidev, rebind);
+
+    GC_FREE;
+    return rc;
+}
+
 /*
  * This function checks that all functions of a device are bound to pciback
  * driver. It also initialises a bit-mask of which function numbers are present

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1T-0000nI-2P; Tue, 15 May 2012 14:46:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1R-0000mS-K5
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:45 +0000
Received: from [85.158.138.51:21045] by server-1.bemta-3.messagelabs.com id
	E4/0E-11491-45C62BF4; Tue, 15 May 2012 14:46:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337093202!27209766!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 945 invoked from network); 15 May 2012 14:46:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898984"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:50 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-8s;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:12 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 4 v3] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add commands to automatically prep devices for pass-through

The current method for passing through devices requires users to
either modify cryptic Linux boot parameters and reboot, or do a lot of
manual reads and writes into sysfs nodes.

This set of patches introduces commands to make this easier.  It expands
on the concept of "assignable" (from the list_assignable_devices command).

The new xl commands are:

pci_assignable_add: Make a device assignable to guests.  This involves
unbinding the device from its old driver, creating a slot for it in
pciback (if necessary), and binding it to pciback.

pci_assignable_list: List devices assignable to guests.  Just renamed
from pci_list_assignable.

pci_assignable_remove: Make the device no longer assignable to guests. 
This involves unbinding the device from pciback and removing the slot.  It 
optionally involves rebinding the device to the driver from which we stole
it.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1T-0000nI-2P; Tue, 15 May 2012 14:46:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1R-0000mS-K5
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:45 +0000
Received: from [85.158.138.51:21045] by server-1.bemta-3.messagelabs.com id
	E4/0E-11491-45C62BF4; Tue, 15 May 2012 14:46:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337093202!27209766!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 945 invoked from network); 15 May 2012 14:46:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898984"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:50 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-8s;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:12 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 4 v3] Add commands to automatically prep
 devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add commands to automatically prep devices for pass-through

The current method for passing through devices requires users to
either modify cryptic Linux boot parameters and reboot, or do a lot of
manual reads and writes into sysfs nodes.

This set of patches introduces commands to make this easier.  It expands
on the concept of "assignable" (from the list_assignable_devices command).

The new xl commands are:

pci_assignable_add: Make a device assignable to guests.  This involves
unbinding the device from its old driver, creating a slot for it in
pciback (if necessary), and binding it to pciback.

pci_assignable_list: List devices assignable to guests.  Just renamed
from pci_list_assignable.

pci_assignable_remove: Make the device no longer assignable to guests. 
This involves unbinding the device from pciback and removing the slot.  It 
optionally involves rebinding the device to the driver from which we stole
it.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1S-0000mr-Hh; Tue, 15 May 2012 14:46:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1Q-0000m0-BA
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:44 +0000
Received: from [85.158.143.35:64923] by server-2.bemta-4.messagelabs.com id
	FC/B8-12211-45C62BF4; Tue, 15 May 2012 14:46:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29259 invoked from network); 15 May 2012 14:46:42 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898980"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-B8;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 62e682bdb103348552ec9048a094bb19c48c6f0b
Message-ID: <62e682bdb103348552ec.1337092514@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:14 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 4 v3] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

...to prepare for a consistent "pci_assignable_*" naming scheme.

Also move the man page entry into the PCI PASS-THROUGH section, rather
than the XEN HOST section.

No functional changes.

v3:
 - Port to xen-unstable tip

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r a2b528299c12 -r 62e682bdb103 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 15 15:24:02 2012 +0100
+++ b/docs/man/xl.pod.1	Tue May 15 15:26:24 2012 +0100
@@ -693,13 +693,6 @@ explanatory.
 
 Prints the current uptime of the domains running.
 
-=item B<pci-list-assignable-devices>
-
-List all the assignable PCI devices.
-These are devices in the system which are configured to be
-available for passthrough and are bound to a suitable PCI
-backend driver in domain 0 rather than a real driver.
-
 =back
 
 =head1 SCHEDULER SUBCOMMANDS
@@ -1032,6 +1025,13 @@ List virtual network interfaces for a do
 
 =over 4
 
+=item B<pci-assignable-list>
+
+List all the assignable PCI devices.
+These are devices in the system which are configured to be
+available for passthrough and are bound to a suitable PCI
+backend driver in domain 0 rather than a real driver.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 15 15:26:24 2012 +0100
@@ -722,7 +722,7 @@ libxl_device_pci *libxl_device_pci_list(
  * could be assigned to a domain (i.e. are bound to the backend
  * driver) but are not currently.
  */
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
 int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 15 15:26:24 2012 +0100
@@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
     return 0;
 }
 
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
     libxl_device_pci *pcidevs = NULL, *new, *assigned;
@@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
     libxl_device_pci *pcidevs;
     int num, i;
 
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
     for (i = 0; i < num; i++) {
         if (pcidevs[i].domain == pcidev->domain &&
             pcidevs[i].bus == pcidev->bus &&
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/xl.h	Tue May 15 15:26:24 2012 +0100
@@ -35,9 +35,9 @@ int main_cd_insert(int argc, char **argv
 int main_console(int argc, char **argv);
 int main_vncviewer(int argc, char **argv);
 int main_pcilist(int argc, char **argv);
-int main_pcilist_assignable(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
 int main_save(int argc, char **argv);
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 15:26:24 2012 +0100
@@ -2222,34 +2222,6 @@ int main_vncviewer(int argc, char **argv
     return 0;
 }
 
-static void pcilist_assignable(void)
-{
-    libxl_device_pci *pcidevs;
-    int num, i;
-
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
-
-    if ( pcidevs == NULL )
-        return;
-    for (i = 0; i < num; i++) {
-        printf("%04x:%02x:%02x.%01x\n",
-               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
-        libxl_device_pci_dispose(&pcidevs[i]);
-    }
-    free(pcidevs);
-}
-
-int main_pcilist_assignable(int argc, char **argv)
-{
-    int opt;
-
-    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
-        return opt;
-
-    pcilist_assignable();
-    return 0;
-}
-
 static void pcilist(const char *dom)
 {
     libxl_device_pci *pcidevs;
@@ -2371,6 +2343,34 @@ int main_pciattach(int argc, char **argv
     return 0;
 }
 
+static void pciassignable_list(void)
+{
+    libxl_device_pci *pcidevs;
+    int num, i;
+
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
+
+    if ( pcidevs == NULL )
+        return;
+    for (i = 0; i < num; i++) {
+        printf("%04x:%02x:%02x.%01x\n",
+               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
+        libxl_device_pci_dispose(&pcidevs[i]);
+    }
+    free(pcidevs);
+}
+
+int main_pciassignable_list(int argc, char **argv)
+{
+    int opt;
+
+    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
+        return opt;
+
+    pciassignable_list();
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Tue May 15 15:26:24 2012 +0100
@@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
-    { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0, 0,
+    { "pci-assignable-list",
+      &main_pciassignable_list, 0, 0,
       "List all the assignable pci devices",
       "",
     },
diff -r a2b528299c12 -r 62e682bdb103 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Tue May 15 15:26:24 2012 +0100
@@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
     return (PyObject *)pci;
 }
 
-static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
+static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
 {
     libxl_device_pci *dev;
     PyObject *list;
     int nr_dev, i;
 
-    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
+    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
     if ( dev == NULL ) {
         PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
         return NULL;
@@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
          "Parse pass-through PCI device spec (BDF)"},
     {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
         "List PCI devices assigned to a domain"},
-    {"device_pci_list_assignable",
-        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
+    {"device_pci_assignable_list",
+        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
         "List assignable PCI devices"},
     { NULL, NULL, 0, NULL }
 };

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1S-0000mr-Hh; Tue, 15 May 2012 14:46:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1Q-0000m0-BA
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:44 +0000
Received: from [85.158.143.35:64923] by server-2.bemta-4.messagelabs.com id
	FC/B8-12211-45C62BF4; Tue, 15 May 2012 14:46:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29259 invoked from network); 15 May 2012 14:46:42 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898980"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:49 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-B8;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 62e682bdb103348552ec9048a094bb19c48c6f0b
Message-ID: <62e682bdb103348552ec.1337092514@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:14 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 4 v3] libxl: Rename pci_list_assignable to
 pci_assignable_list
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

...to prepare for a consistent "pci_assignable_*" naming scheme.

Also move the man page entry into the PCI PASS-THROUGH section, rather
than the XEN HOST section.

No functional changes.

v3:
 - Port to xen-unstable tip

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r a2b528299c12 -r 62e682bdb103 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 15 15:24:02 2012 +0100
+++ b/docs/man/xl.pod.1	Tue May 15 15:26:24 2012 +0100
@@ -693,13 +693,6 @@ explanatory.
 
 Prints the current uptime of the domains running.
 
-=item B<pci-list-assignable-devices>
-
-List all the assignable PCI devices.
-These are devices in the system which are configured to be
-available for passthrough and are bound to a suitable PCI
-backend driver in domain 0 rather than a real driver.
-
 =back
 
 =head1 SCHEDULER SUBCOMMANDS
@@ -1032,6 +1025,13 @@ List virtual network interfaces for a do
 
 =over 4
 
+=item B<pci-assignable-list>
+
+List all the assignable PCI devices.
+These are devices in the system which are configured to be
+available for passthrough and are bound to a suitable PCI
+backend driver in domain 0 rather than a real driver.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 15 15:26:24 2012 +0100
@@ -722,7 +722,7 @@ libxl_device_pci *libxl_device_pci_list(
  * could be assigned to a domain (i.e. are bound to the backend
  * driver) but are not currently.
  */
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num);
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
 
 /* CPUID handling */
 int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str);
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 15 15:26:24 2012 +0100
@@ -357,7 +357,7 @@ static int sysfs_write_bdf(libxl__gc *gc
     return 0;
 }
 
-libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
+libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
     libxl_device_pci *pcidevs = NULL, *new, *assigned;
@@ -684,7 +684,7 @@ static int libxl_pcidev_assignable(libxl
     libxl_device_pci *pcidevs;
     int num, i;
 
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
     for (i = 0; i < num; i++) {
         if (pcidevs[i].domain == pcidev->domain &&
             pcidevs[i].bus == pcidev->bus &&
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/xl.h	Tue May 15 15:26:24 2012 +0100
@@ -35,9 +35,9 @@ int main_cd_insert(int argc, char **argv
 int main_console(int argc, char **argv);
 int main_vncviewer(int argc, char **argv);
 int main_pcilist(int argc, char **argv);
-int main_pcilist_assignable(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
 int main_save(int argc, char **argv);
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 15:26:24 2012 +0100
@@ -2222,34 +2222,6 @@ int main_vncviewer(int argc, char **argv
     return 0;
 }
 
-static void pcilist_assignable(void)
-{
-    libxl_device_pci *pcidevs;
-    int num, i;
-
-    pcidevs = libxl_device_pci_list_assignable(ctx, &num);
-
-    if ( pcidevs == NULL )
-        return;
-    for (i = 0; i < num; i++) {
-        printf("%04x:%02x:%02x.%01x\n",
-               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
-        libxl_device_pci_dispose(&pcidevs[i]);
-    }
-    free(pcidevs);
-}
-
-int main_pcilist_assignable(int argc, char **argv)
-{
-    int opt;
-
-    if ((opt = def_getopt(argc, argv, "", "pci-list-assignable-devices", 0)) != -1)
-        return opt;
-
-    pcilist_assignable();
-    return 0;
-}
-
 static void pcilist(const char *dom)
 {
     libxl_device_pci *pcidevs;
@@ -2371,6 +2343,34 @@ int main_pciattach(int argc, char **argv
     return 0;
 }
 
+static void pciassignable_list(void)
+{
+    libxl_device_pci *pcidevs;
+    int num, i;
+
+    pcidevs = libxl_device_pci_assignable_list(ctx, &num);
+
+    if ( pcidevs == NULL )
+        return;
+    for (i = 0; i < num; i++) {
+        printf("%04x:%02x:%02x.%01x\n",
+               pcidevs[i].domain, pcidevs[i].bus, pcidevs[i].dev, pcidevs[i].func);
+        libxl_device_pci_dispose(&pcidevs[i]);
+    }
+    free(pcidevs);
+}
+
+int main_pciassignable_list(int argc, char **argv)
+{
+    int opt;
+
+    if ((opt = def_getopt(argc, argv, "", "pci-assignable-list", 0)) != -1)
+        return opt;
+
+    pciassignable_list();
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r a2b528299c12 -r 62e682bdb103 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Tue May 15 15:26:24 2012 +0100
@@ -86,8 +86,8 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
-    { "pci-list-assignable-devices",
-      &main_pcilist_assignable, 0, 0,
+    { "pci-assignable-list",
+      &main_pciassignable_list, 0, 0,
       "List all the assignable pci devices",
       "",
     },
diff -r a2b528299c12 -r 62e682bdb103 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 15 15:24:02 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Tue May 15 15:26:24 2012 +0100
@@ -566,13 +566,13 @@ static PyObject *pyxl_pci_parse(XlObject
     return (PyObject *)pci;
 }
 
-static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
+static PyObject *pyxl_pci_assignable_list(XlObject *self, PyObject *args)
 {
     libxl_device_pci *dev;
     PyObject *list;
     int nr_dev, i;
 
-    dev = libxl_device_pci_list_assignable(self->ctx, &nr_dev);
+    dev = libxl_device_pci_assignable_list(self->ctx, &nr_dev);
     if ( dev == NULL ) {
         PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
         return NULL;
@@ -662,8 +662,8 @@ static PyMethodDef pyxl_methods[] = {
          "Parse pass-through PCI device spec (BDF)"},
     {"device_pci_list", (PyCFunction)pyxl_pci_list, METH_VARARGS,
         "List PCI devices assigned to a domain"},
-    {"device_pci_list_assignable",
-        (PyCFunction)pyxl_pci_list_assignable, METH_NOARGS,
+    {"device_pci_assignable_list",
+        (PyCFunction)pyxl_pci_assignable_list, METH_NOARGS,
         "List assignable PCI devices"},
     { NULL, NULL, 0, NULL }
 };

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1U-0000nj-ER; Tue, 15 May 2012 14:46:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1S-0000mh-G1
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:46 +0000
Received: from [85.158.143.35:65091] by server-1.bemta-4.messagelabs.com id
	31/98-20925-55C62BF4; Tue, 15 May 2012 14:46:45 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29319 invoked from network); 15 May 2012 14:46:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898981"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:50 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-9R;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: a2b528299c12d5350e0d8215ed1ffd648d8ed8f0
Message-ID: <a2b528299c12d5350e0d.1337092513@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:13 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 4 v3] libxl: Make a helper function write a
 BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This functionality will be used several times in subsequent patches.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 804eb2962984 -r a2b528299c12 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 15 15:13:45 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 15 15:24:02 2012 +0100
@@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
     return 0;
 }
 
+/* Write the standard BDF into the sysfs path given by sysfs_path. */
+static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
+                           libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc, fd;
+    char *buf;
+
+    fd = open(sysfs_path, O_WRONLY);
+    if (fd < 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         sysfs_path);
+        return ERROR_FAIL;
+    }
+        
+    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
+                         pcidev->dev, pcidev->func);
+    rc = write(fd, buf, strlen(buf));
+    /* Annoying to have two if's, but we need the errno */
+    if (rc < 0)
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "write to %s returned %d", sysfs_path, rc);
+    close(fd);
+
+    if (rc < 0)
+        return ERROR_FAIL;
+
+    return 0;
+}
+
 libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
@@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
 
         /* Don't restrict writes to the PCI config space from this VM */
         if (pcidev->permissive) {
-            int fd;
-            char *buf;
-            
-            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
-            fd = open(sysfs_path, O_WRONLY);
-            if (fd < 0) {
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
-                                 sysfs_path);
+            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Setting permissive for device");
                 return ERROR_FAIL;
             }
- 
-            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
-                                 pcidev->dev, pcidev->func);
-            rc = write(fd, buf, strlen(buf));
-            /* Annoying to have two if's, but we need the errno */
-            if (rc < 0)
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                                 "write to %s returned %d", sysfs_path, rc);
-            close(fd);
-            if (rc < 0)
-                return ERROR_FAIL;
         }
         break;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1U-0000nj-ER; Tue, 15 May 2012 14:46:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1S-0000mh-G1
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:46 +0000
Received: from [85.158.143.35:65091] by server-1.bemta-4.messagelabs.com id
	31/98-20925-55C62BF4; Tue, 15 May 2012 14:46:45 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29319 invoked from network); 15 May 2012 14:46:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898981"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:50 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-9R;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: a2b528299c12d5350e0d8215ed1ffd648d8ed8f0
Message-ID: <a2b528299c12d5350e0d.1337092513@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:13 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 4 v3] libxl: Make a helper function write a
 BDF to a sysfs path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This functionality will be used several times in subsequent patches.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 804eb2962984 -r a2b528299c12 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c	Tue May 15 15:13:45 2012 +0100
+++ b/tools/libxl/libxl_pci.c	Tue May 15 15:24:02 2012 +0100
@@ -327,6 +327,36 @@ static int is_pcidev_in_array(libxl_devi
     return 0;
 }
 
+/* Write the standard BDF into the sysfs path given by sysfs_path. */
+static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
+                           libxl_device_pci *pcidev)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc, fd;
+    char *buf;
+
+    fd = open(sysfs_path, O_WRONLY);
+    if (fd < 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
+                         sysfs_path);
+        return ERROR_FAIL;
+    }
+        
+    buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
+                         pcidev->dev, pcidev->func);
+    rc = write(fd, buf, strlen(buf));
+    /* Annoying to have two if's, but we need the errno */
+    if (rc < 0)
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "write to %s returned %d", sysfs_path, rc);
+    close(fd);
+
+    if (rc < 0)
+        return ERROR_FAIL;
+
+    return 0;
+}
+
 libxl_device_pci *libxl_device_pci_list_assignable(libxl_ctx *ctx, int *num)
 {
     GC_INIT(ctx);
@@ -571,27 +601,12 @@ static int do_pci_add(libxl__gc *gc, uin
 
         /* Don't restrict writes to the PCI config space from this VM */
         if (pcidev->permissive) {
-            int fd;
-            char *buf;
-            
-            sysfs_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/permissive");
-            fd = open(sysfs_path, O_WRONLY);
-            if (fd < 0) {
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
-                                 sysfs_path);
+            if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
+                                 pcidev) < 0 ) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "Setting permissive for device");
                 return ERROR_FAIL;
             }
- 
-            buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus,
-                                 pcidev->dev, pcidev->func);
-            rc = write(fd, buf, strlen(buf));
-            /* Annoying to have two if's, but we need the errno */
-            if (rc < 0)
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                                 "write to %s returned %d", sysfs_path, rc);
-            close(fd);
-            if (rc < 0)
-                return ERROR_FAIL;
         }
         break;
     }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1Q-0000mL-Nx; Tue, 15 May 2012 14:46:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1O-0000m0-OR
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:43 +0000
Received: from [85.158.143.35:64691] by server-2.bemta-4.messagelabs.com id
	9E/A8-12211-25C62BF4; Tue, 15 May 2012 14:46:42 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29097 invoked from network); 15 May 2012 14:46:40 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898971"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:48 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-Cc;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 34a8cded4b39c341ed48a57422dc5a31b02e3b1a
Message-ID: <34a8cded4b39c341ed48.1337092516@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:16 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 4 of 4 v3] xl: Add pci_assignable_add and remove
	commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pci-assignable-add will always store the driver rebind path, but
pci-assignable-remove will only actually rebind if asked to do so.

v2:
 - Use libxl_device_pci_init() instead of memset()
 - Call xlu_cfg_destroy() properly
v3:
 - Fix typo in failure message
 - Specify idempotence in manpage
 - Mark add/remove as commands which modify state

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r d6739b5dfd9a -r 34a8cded4b39 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 15 15:26:25 2012 +0100
+++ b/docs/man/xl.pod.1	Tue May 15 15:30:32 2012 +0100
@@ -1032,6 +1032,28 @@ These are devices in the system which ar
 available for passthrough and are bound to a suitable PCI
 backend driver in domain 0 rather than a real driver.
 
+=item B<pci-assignable-add> I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.
+This will bind the device to the pciback driver.  If it is already
+bound to a driver, it will first be unbound, and the original driver
+stored so that it can be re-bound to the same driver later if desired.
+If the device is already bound, it will return success.
+
+CAUTION: This will make the device unusable by Domain 0 until it is
+returned with pci-assignable-remove.  Care should therefore be taken
+not to do this on a device critical to domain 0's operation, such as
+storage controllers, network interfaces, or GPUs that are currently
+being used.
+
+=item B<pci-assignable-remove> [I<-r>] I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will at least unbind the device from pciback.  If the -r option is specified,
+it will also attempt to re-bind the device to its original driver, making it
+usable by Domain 0 again.  If the device is not bound to pciback, it will
+return success.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r d6739b5dfd9a -r 34a8cded4b39 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 15 15:26:25 2012 +0100
+++ b/tools/libxl/xl.h	Tue May 15 15:30:32 2012 +0100
@@ -37,6 +37,8 @@ int main_vncviewer(int argc, char **argv
 int main_pcilist(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_add(int argc, char **argv);
+int main_pciassignable_remove(int argc, char **argv);
 int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
diff -r d6739b5dfd9a -r 34a8cded4b39 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 15:26:25 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 15:30:32 2012 +0100
@@ -2371,6 +2371,86 @@ int main_pciassignable_list(int argc, ch
     return 0;
 }
 
+static void pciassignable_add(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+    
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_init"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_add(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+
+    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_add(bdf, 1);
+    return 0;
+}
+
+static void pciassignable_remove(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_init"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_remove(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+    int rebind = 0;
+
+    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        case 'r':
+            rebind=1;
+            break;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_remove(bdf, rebind);
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r d6739b5dfd9a -r 34a8cded4b39 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 15 15:26:25 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Tue May 15 15:30:32 2012 +0100
@@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
+    { "pci-assignable-add",
+      &main_pciassignable_add, 0, 1,
+      "Make a device assignable for pci-passthru",
+      "<BDF>",
+      "-h                      Print this help.\n"
+    },
+    { "pci-assignable-remove",
+      &main_pciassignable_remove, 0, 1,
+      "Remove a device from being assignable",
+      "[options] <BDF>",
+      "-h                      Print this help.\n"
+      "-r                      Attempt to re-assign the device to the\n"
+      "                        original driver"
+    },
     { "pci-assignable-list",
       &main_pciassignable_list, 0, 0,
       "List all the assignable pci devices",

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ1Q-0000mL-Nx; Tue, 15 May 2012 14:46:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ1O-0000m0-OR
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:46:43 +0000
Received: from [85.158.143.35:64691] by server-2.bemta-4.messagelabs.com id
	9E/A8-12211-25C62BF4; Tue, 15 May 2012 14:46:42 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093198!12251676!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29097 invoked from network); 15 May 2012 14:46:40 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:46:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194898971"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:42:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:42:48 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUIso-0001I6-Cc;
	Tue, 15 May 2012 15:37:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 34a8cded4b39c341ed48a57422dc5a31b02e3b1a
Message-ID: <34a8cded4b39c341ed48.1337092516@kodo2>
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:35:16 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 4 of 4 v3] xl: Add pci_assignable_add and remove
	commands
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

pci-assignable-add will always store the driver rebind path, but
pci-assignable-remove will only actually rebind if asked to do so.

v2:
 - Use libxl_device_pci_init() instead of memset()
 - Call xlu_cfg_destroy() properly
v3:
 - Fix typo in failure message
 - Specify idempotence in manpage
 - Mark add/remove as commands which modify state

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r d6739b5dfd9a -r 34a8cded4b39 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Tue May 15 15:26:25 2012 +0100
+++ b/docs/man/xl.pod.1	Tue May 15 15:30:32 2012 +0100
@@ -1032,6 +1032,28 @@ These are devices in the system which ar
 available for passthrough and are bound to a suitable PCI
 backend driver in domain 0 rather than a real driver.
 
+=item B<pci-assignable-add> I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.
+This will bind the device to the pciback driver.  If it is already
+bound to a driver, it will first be unbound, and the original driver
+stored so that it can be re-bound to the same driver later if desired.
+If the device is already bound, it will return success.
+
+CAUTION: This will make the device unusable by Domain 0 until it is
+returned with pci-assignable-remove.  Care should therefore be taken
+not to do this on a device critical to domain 0's operation, such as
+storage controllers, network interfaces, or GPUs that are currently
+being used.
+
+=item B<pci-assignable-remove> [I<-r>] I<BDF>
+
+Make the device at PCI Bus/Device/Function BDF assignable to guests.  This
+will at least unbind the device from pciback.  If the -r option is specified,
+it will also attempt to re-bind the device to its original driver, making it
+usable by Domain 0 again.  If the device is not bound to pciback, it will
+return success.
+
 =item B<pci-attach> I<domain-id> I<BDF>
 
 Hot-plug a new pass-through pci device to the specified domain.
diff -r d6739b5dfd9a -r 34a8cded4b39 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 15 15:26:25 2012 +0100
+++ b/tools/libxl/xl.h	Tue May 15 15:30:32 2012 +0100
@@ -37,6 +37,8 @@ int main_vncviewer(int argc, char **argv
 int main_pcilist(int argc, char **argv);
 int main_pcidetach(int argc, char **argv);
 int main_pciattach(int argc, char **argv);
+int main_pciassignable_add(int argc, char **argv);
+int main_pciassignable_remove(int argc, char **argv);
 int main_pciassignable_list(int argc, char **argv);
 int main_restore(int argc, char **argv);
 int main_migrate_receive(int argc, char **argv);
diff -r d6739b5dfd9a -r 34a8cded4b39 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 15:26:25 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 15:30:32 2012 +0100
@@ -2371,6 +2371,86 @@ int main_pciassignable_list(int argc, ch
     return 0;
 }
 
+static void pciassignable_add(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+    
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_init"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-add: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_add(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_add(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+
+    while ((opt = def_getopt(argc, argv, "", "pci-assignable-add", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_add(bdf, 1);
+    return 0;
+}
+
+static void pciassignable_remove(const char *bdf, int rebind)
+{
+    libxl_device_pci pcidev;
+    XLU_Config *config;
+
+    libxl_device_pci_init(&pcidev);
+
+    config = xlu_cfg_init(stderr, "command line");
+    if (!config) { perror("xlu_cfg_init"); exit(-1); }
+
+    if (xlu_pci_parse_bdf(config, &pcidev, bdf)) {
+        fprintf(stderr, "pci-assignable-remove: malformed BDF specification \"%s\"\n", bdf);
+        exit(2);
+    }
+    libxl_device_pci_assignable_remove(ctx, &pcidev, rebind);
+
+    libxl_device_pci_dispose(&pcidev);
+    xlu_cfg_destroy(config);
+}
+
+int main_pciassignable_remove(int argc, char **argv)
+{
+    int opt;
+    const char *bdf = NULL;
+    int rebind = 0;
+
+    while ((opt = def_getopt(argc, argv, "r", "pci-assignable-remove", 1)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+        case 'r':
+            rebind=1;
+            break;
+        }
+    }
+
+    bdf = argv[optind];
+
+    pciassignable_remove(bdf, rebind);
+    return 0;
+}
+
 static void pause_domain(const char *p)
 {
     find_domain(p);
diff -r d6739b5dfd9a -r 34a8cded4b39 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Tue May 15 15:26:25 2012 +0100
+++ b/tools/libxl/xl_cmdtable.c	Tue May 15 15:30:32 2012 +0100
@@ -86,6 +86,20 @@ struct cmd_spec cmd_table[] = {
       "List pass-through pci devices for a domain",
       "<Domain>",
     },
+    { "pci-assignable-add",
+      &main_pciassignable_add, 0, 1,
+      "Make a device assignable for pci-passthru",
+      "<BDF>",
+      "-h                      Print this help.\n"
+    },
+    { "pci-assignable-remove",
+      &main_pciassignable_remove, 0, 1,
+      "Remove a device from being assignable",
+      "[options] <BDF>",
+      "-h                      Print this help.\n"
+      "-r                      Attempt to re-assign the device to the\n"
+      "                        original driver"
+    },
     { "pci-assignable-list",
       &main_pciassignable_list, 0, 0,
       "List all the assignable pci devices",

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:54:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ90-0001bK-En; Tue, 15 May 2012 14:54:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ8y-0001bF-0j
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:54:32 +0000
Received: from [85.158.143.35:61022] by server-1.bemta-4.messagelabs.com id
	77/F7-20925-72E62BF4; Tue, 15 May 2012 14:54:31 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093669!12253311!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7453 invoked from network); 15 May 2012 14:54:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:54:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25199950"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:54:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:54:28 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJ8u-0001ZU-8U;
	Tue, 15 May 2012 15:54:28 +0100
MIME-Version: 1.0
X-Mercurial-Node: d555dd6614af4faec21eb23720ae596c5b40e8fe
Message-ID: <d555dd6614af4faec21e.1337093512@kodo2>
In-Reply-To: <patchbomb.1337093510@kodo2>
References: <patchbomb.1337093510@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:51:52 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Many places in xl there's a variable or element named "filename" which
does not contain a filename, but the source of the data for reporting
purposes.  Worse, there are variables which are sometimes actually
used or interpreted as a filename depending on what other variables
are set.  This makes it difficult to tell when a string is purely
cosmetic, and when another bit of code may actually attempt to call
"open" with the string.

This patch makes a consistent distinction between "filename" (which
always refers to the name of an actual file, and may be interpreted as
such at some point) and "source" (which may be a filename, or may be
another data source such as a migration stream or saved data).

This does add some variables and reshuffle where assignments happen;
most notably, the "restore_filename" element of struct domain_create
is now only set when restoring from a file.

But at a high level, there should be no funcitonal changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c	Tue May 15 15:45:55 2012 +0100
+++ b/tools/libxl/libxl_utils.c	Tue May 15 15:51:25 2012 +0100
@@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
                                                                           \
   int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
                            constdata void *data, ssize_t sz,              \
-                           const char *filename, const char *what) {      \
+                           const char *source, const char *what) {      \
       ssize_t got;                                                        \
                                                                           \
       while (sz > 0) {                                                    \
@@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
               if (errno == EINTR) continue;                               \
               if (!ctx) return errno;                                     \
               LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
-                           what?what:"", what?" from ":"", filename);     \
+                           what?what:"", what?" from ":"", source);       \
               return errno;                                               \
           }                                                               \
           if (got == 0) {                                                 \
@@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
                      zero_is_eof                                          \
                      ? "file/stream truncated reading %s%s%s"             \
                      : "file/stream write returned 0! writing %s%s%s",    \
-                     what?what:"", what?" from ":"", filename);           \
+                     what?what:"", what?" from ":"", source);             \
               return EPROTO;                                              \
           }                                                               \
           sz -= got;                                                      \
diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 15:45:55 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 15:51:25 2012 +0100
@@ -520,9 +520,9 @@ vcpp_out:
     return rc;
 }
 
-static void parse_config_data(const char *configfile_filename_report,
-                              const char *configfile_data,
-                              int configfile_len,
+static void parse_config_data(const char *config_source,
+                              const char *config_data,
+                              int config_len,
                               libxl_domain_config *d_config)
 {
     const char *buf;
@@ -537,15 +537,15 @@ static void parse_config_data(const char
     libxl_domain_create_info *c_info = &d_config->c_info;
     libxl_domain_build_info *b_info = &d_config->b_info;
 
-    config= xlu_cfg_init(stderr, configfile_filename_report);
+    config= xlu_cfg_init(stderr, config_source);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
         exit(1);
     }
 
-    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
+    e= xlu_cfg_readdata(config, config_data, config_len);
     if (e) {
-        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
+        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
         exit(1);
     }
 
@@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
+    const char *config_source = NULL;
+    const char *restore_source = NULL;
     int migrate_fd = dom_info->migrate_fd;
 
     int i;
@@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
     pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
+    int restoring = (restore_file || (migrate_fd >= 0));
+
     libxl_domain_config_init(&d_config);
 
-    if (restore_file) {
+    if (restoring) {
         uint8_t *optdata_begin = 0;
         const uint8_t *optdata_here = 0;
         union { uint32_t u32; char b[4]; } u32buf;
         uint32_t badflags;
 
         if (migrate_fd >= 0) {
+            restore_source = "<incoming migration stream>";
             restore_fd = migrate_fd;
         } else {
+            restore_source = restore_file;
             restore_fd = open(restore_file, O_RDONLY);
             rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
             if (rc) return rc;
         }
 
         CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
-                   sizeof(hdr), restore_file, "header") );
+                   sizeof(hdr), restore_source, "header") );
         if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
             fprintf(stderr, "File has wrong magic number -"
                     " corrupt or for a different tool?\n");
@@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
         fprintf(stderr, "Loading new save file %s"
                 " (new xl fmt info"
                 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-                restore_file, hdr.mandatory_flags, hdr.optional_flags,
+                restore_source, hdr.mandatory_flags, hdr.optional_flags,
                 hdr.optional_data_len);
 
         badflags = hdr.mandatory_flags & ~( 0 /* none understood yet */ );
@@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
         if (hdr.optional_data_len) {
             optdata_begin = xmalloc(hdr.optional_data_len);
             CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
-                   hdr.optional_data_len, restore_file, "optdata") );
+                   hdr.optional_data_len, restore_source, "optdata") );
         }
 
 #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
@@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
                                        &config_data, &config_len);
         if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
                            config_file, strerror(errno)); return ERROR_FAIL; }
-        if (!restore_file && extra_config && strlen(extra_config)) {
+        if (!restoring && extra_config && strlen(extra_config)) {
             if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
                 fprintf(stderr, "Failed to attach extra configration\n");
                 return ERROR_FAIL;
@@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
             config_len += sprintf(config_data + config_len, "\n%s\n",
                 extra_config);
         }
+        config_source=config_file;
     } else {
         if (!config_data) {
             fprintf(stderr, "Config file not specified and"
                     " none in save file\n");
             return ERROR_INVAL;
         }
-        config_file = "<saved>";
+        config_source = "<saved>";
     }
 
     if (!dom_info->quiet)
-        printf("Parsing config file %s\n", config_file);
-
-    parse_config_data(config_file, config_data, config_len, &d_config);
+        printf("Parsing config from %s\n", config_source);
+
+    parse_config_data(config_source, config_data, config_len, &d_config);
 
     if (migrate_fd >= 0) {
         if (d_config.c_info.name) {
@@ -1698,7 +1705,7 @@ start:
         autoconnect_console_how = 0;
     }
 
-    if ( restore_file ) {
+    if ( restoring ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
                                           &domid, restore_fd,
                                           0, autoconnect_console_how);
@@ -2559,7 +2566,7 @@ static void list_domains_details(const l
 {
     libxl_domain_config d_config;
 
-    char *config_file;
+    char *config_source;
     uint8_t *data;
     int i, len, rc;
 
@@ -2570,13 +2577,13 @@ static void list_domains_details(const l
         rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl", &data, &len);
         if (rc)
             continue;
-        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
+        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
         libxl_domain_config_init(&d_config);
-        parse_config_data(config_file, (char *)data, len, &d_config);
+        parse_config_data(config_source, (char *)data, len, &d_config);
         printf_info(default_output_format, info[i].domid, &d_config);
         libxl_domain_config_dispose(&d_config);
         free(data);
-        free(config_file);
+        free(config_source);
     }
 }
 
@@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
     }
 }
 
-static void save_domain_core_writeconfig(int fd, const char *filename,
+static void save_domain_core_writeconfig(int fd, const char *source,
                                   const uint8_t *config_data, int config_len)
 {
     struct save_file_header hdr;
@@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
     /* that's the optional data */
 
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        &hdr, sizeof(hdr), filename, "header") );
+        &hdr, sizeof(hdr), source, "header") );
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        optdata_begin, hdr.optional_data_len, filename, "header") );
+        optdata_begin, hdr.optional_data_len, source, "header") );
 
     fprintf(stderr, "Saving to %s new xl format (info"
             " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-            filename, hdr.mandatory_flags, hdr.optional_flags,
+            source, hdr.mandatory_flags, hdr.optional_flags,
             hdr.optional_data_len);
 }
 
@@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
     dom_info.daemonize = daemonize;
     dom_info.monitor = monitor;
     dom_info.paused = 1;
-    dom_info.restore_file = "incoming migration stream";
     dom_info.migrate_fd = 0; /* stdin */
     dom_info.migration_domname_r = &migration_domname;
     dom_info.incr_generationid = 0;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:54:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJ90-0001bK-En; Tue, 15 May 2012 14:54:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJ8y-0001bF-0j
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:54:32 +0000
Received: from [85.158.143.35:61022] by server-1.bemta-4.messagelabs.com id
	77/F7-20925-72E62BF4; Tue, 15 May 2012 14:54:31 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337093669!12253311!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7453 invoked from network); 15 May 2012 14:54:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:54:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25199950"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:54:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:54:28 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJ8u-0001ZU-8U;
	Tue, 15 May 2012 15:54:28 +0100
MIME-Version: 1.0
X-Mercurial-Node: d555dd6614af4faec21eb23720ae596c5b40e8fe
Message-ID: <d555dd6614af4faec21e.1337093512@kodo2>
In-Reply-To: <patchbomb.1337093510@kodo2>
References: <patchbomb.1337093510@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:51:52 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Many places in xl there's a variable or element named "filename" which
does not contain a filename, but the source of the data for reporting
purposes.  Worse, there are variables which are sometimes actually
used or interpreted as a filename depending on what other variables
are set.  This makes it difficult to tell when a string is purely
cosmetic, and when another bit of code may actually attempt to call
"open" with the string.

This patch makes a consistent distinction between "filename" (which
always refers to the name of an actual file, and may be interpreted as
such at some point) and "source" (which may be a filename, or may be
another data source such as a migration stream or saved data).

This does add some variables and reshuffle where assignments happen;
most notably, the "restore_filename" element of struct domain_create
is now only set when restoring from a file.

But at a high level, there should be no funcitonal changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c	Tue May 15 15:45:55 2012 +0100
+++ b/tools/libxl/libxl_utils.c	Tue May 15 15:51:25 2012 +0100
@@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
                                                                           \
   int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
                            constdata void *data, ssize_t sz,              \
-                           const char *filename, const char *what) {      \
+                           const char *source, const char *what) {      \
       ssize_t got;                                                        \
                                                                           \
       while (sz > 0) {                                                    \
@@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
               if (errno == EINTR) continue;                               \
               if (!ctx) return errno;                                     \
               LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
-                           what?what:"", what?" from ":"", filename);     \
+                           what?what:"", what?" from ":"", source);       \
               return errno;                                               \
           }                                                               \
           if (got == 0) {                                                 \
@@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
                      zero_is_eof                                          \
                      ? "file/stream truncated reading %s%s%s"             \
                      : "file/stream write returned 0! writing %s%s%s",    \
-                     what?what:"", what?" from ":"", filename);           \
+                     what?what:"", what?" from ":"", source);             \
               return EPROTO;                                              \
           }                                                               \
           sz -= got;                                                      \
diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 15:45:55 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 15:51:25 2012 +0100
@@ -520,9 +520,9 @@ vcpp_out:
     return rc;
 }
 
-static void parse_config_data(const char *configfile_filename_report,
-                              const char *configfile_data,
-                              int configfile_len,
+static void parse_config_data(const char *config_source,
+                              const char *config_data,
+                              int config_len,
                               libxl_domain_config *d_config)
 {
     const char *buf;
@@ -537,15 +537,15 @@ static void parse_config_data(const char
     libxl_domain_create_info *c_info = &d_config->c_info;
     libxl_domain_build_info *b_info = &d_config->b_info;
 
-    config= xlu_cfg_init(stderr, configfile_filename_report);
+    config= xlu_cfg_init(stderr, config_source);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
         exit(1);
     }
 
-    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
+    e= xlu_cfg_readdata(config, config_data, config_len);
     if (e) {
-        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
+        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
         exit(1);
     }
 
@@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
     const char *config_file = dom_info->config_file;
     const char *extra_config = dom_info->extra_config;
     const char *restore_file = dom_info->restore_file;
+    const char *config_source = NULL;
+    const char *restore_source = NULL;
     int migrate_fd = dom_info->migrate_fd;
 
     int i;
@@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
     pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
+    int restoring = (restore_file || (migrate_fd >= 0));
+
     libxl_domain_config_init(&d_config);
 
-    if (restore_file) {
+    if (restoring) {
         uint8_t *optdata_begin = 0;
         const uint8_t *optdata_here = 0;
         union { uint32_t u32; char b[4]; } u32buf;
         uint32_t badflags;
 
         if (migrate_fd >= 0) {
+            restore_source = "<incoming migration stream>";
             restore_fd = migrate_fd;
         } else {
+            restore_source = restore_file;
             restore_fd = open(restore_file, O_RDONLY);
             rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
             if (rc) return rc;
         }
 
         CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
-                   sizeof(hdr), restore_file, "header") );
+                   sizeof(hdr), restore_source, "header") );
         if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
             fprintf(stderr, "File has wrong magic number -"
                     " corrupt or for a different tool?\n");
@@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
         fprintf(stderr, "Loading new save file %s"
                 " (new xl fmt info"
                 " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-                restore_file, hdr.mandatory_flags, hdr.optional_flags,
+                restore_source, hdr.mandatory_flags, hdr.optional_flags,
                 hdr.optional_data_len);
 
         badflags = hdr.mandatory_flags & ~( 0 /* none understood yet */ );
@@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
         if (hdr.optional_data_len) {
             optdata_begin = xmalloc(hdr.optional_data_len);
             CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
-                   hdr.optional_data_len, restore_file, "optdata") );
+                   hdr.optional_data_len, restore_source, "optdata") );
         }
 
 #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
@@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
                                        &config_data, &config_len);
         if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
                            config_file, strerror(errno)); return ERROR_FAIL; }
-        if (!restore_file && extra_config && strlen(extra_config)) {
+        if (!restoring && extra_config && strlen(extra_config)) {
             if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
                 fprintf(stderr, "Failed to attach extra configration\n");
                 return ERROR_FAIL;
@@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
             config_len += sprintf(config_data + config_len, "\n%s\n",
                 extra_config);
         }
+        config_source=config_file;
     } else {
         if (!config_data) {
             fprintf(stderr, "Config file not specified and"
                     " none in save file\n");
             return ERROR_INVAL;
         }
-        config_file = "<saved>";
+        config_source = "<saved>";
     }
 
     if (!dom_info->quiet)
-        printf("Parsing config file %s\n", config_file);
-
-    parse_config_data(config_file, config_data, config_len, &d_config);
+        printf("Parsing config from %s\n", config_source);
+
+    parse_config_data(config_source, config_data, config_len, &d_config);
 
     if (migrate_fd >= 0) {
         if (d_config.c_info.name) {
@@ -1698,7 +1705,7 @@ start:
         autoconnect_console_how = 0;
     }
 
-    if ( restore_file ) {
+    if ( restoring ) {
         ret = libxl_domain_create_restore(ctx, &d_config,
                                           &domid, restore_fd,
                                           0, autoconnect_console_how);
@@ -2559,7 +2566,7 @@ static void list_domains_details(const l
 {
     libxl_domain_config d_config;
 
-    char *config_file;
+    char *config_source;
     uint8_t *data;
     int i, len, rc;
 
@@ -2570,13 +2577,13 @@ static void list_domains_details(const l
         rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl", &data, &len);
         if (rc)
             continue;
-        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
+        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
         libxl_domain_config_init(&d_config);
-        parse_config_data(config_file, (char *)data, len, &d_config);
+        parse_config_data(config_source, (char *)data, len, &d_config);
         printf_info(default_output_format, info[i].domid, &d_config);
         libxl_domain_config_dispose(&d_config);
         free(data);
-        free(config_file);
+        free(config_source);
     }
 }
 
@@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
     }
 }
 
-static void save_domain_core_writeconfig(int fd, const char *filename,
+static void save_domain_core_writeconfig(int fd, const char *source,
                                   const uint8_t *config_data, int config_len)
 {
     struct save_file_header hdr;
@@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
     /* that's the optional data */
 
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        &hdr, sizeof(hdr), filename, "header") );
+        &hdr, sizeof(hdr), source, "header") );
     CHK_ERRNO( libxl_write_exactly(ctx, fd,
-        optdata_begin, hdr.optional_data_len, filename, "header") );
+        optdata_begin, hdr.optional_data_len, source, "header") );
 
     fprintf(stderr, "Saving to %s new xl format (info"
             " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
-            filename, hdr.mandatory_flags, hdr.optional_flags,
+            source, hdr.mandatory_flags, hdr.optional_flags,
             hdr.optional_data_len);
 }
 
@@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
     dom_info.daemonize = daemonize;
     dom_info.monitor = monitor;
     dom_info.paused = 1;
-    dom_info.restore_file = "incoming migration stream";
     dom_info.migrate_fd = 0; /* stdin */
     dom_info.migration_domname_r = &migration_domname;
     dom_info.incr_generationid = 0;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:57:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJBD-0001lk-NQ; Tue, 15 May 2012 14:56:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJBB-0001lU-GZ
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:56:49 +0000
Received: from [193.109.254.147:44688] by server-8.bemta-14.messagelabs.com id
	EE/BE-23244-0BE62BF4; Tue, 15 May 2012 14:56:48 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337093806!2564197!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23953 invoked from network); 15 May 2012 14:56:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:56:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194901875"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:54:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:54:28 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJ8u-0001ZU-81;
	Tue, 15 May 2012 15:54:28 +0100
MIME-Version: 1.0
X-Mercurial-Node: 750b4dbab4b508bc3e034e2ee5a0b9ca1cf91ff4
Message-ID: <750b4dbab4b508bc3e03.1337093511@kodo2>
In-Reply-To: <patchbomb.1337093510@kodo2>
References: <patchbomb.1337093510@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:51:51 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 2] libxlu: Rename filename to config_source
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The "filename" is a bit of a misnomer, as it's only used during error
messages, and in most instances cases is actually set to "command
line".

Rename it to "config_source" to make it clear that it's not used to
actually open any files.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_cfg.c
--- a/tools/libxl/libxlu_cfg.c	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_cfg.c	Tue May 15 15:45:55 2012 +0100
@@ -25,15 +25,15 @@
 #include "libxlu_cfg_l.h"
 #include "libxlu_cfg_i.h"
 
-XLU_Config *xlu_cfg_init(FILE *report, const char *report_filename) {
+XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
 
     cfg= malloc(sizeof(*cfg));
     if (!cfg) return 0;
 
     cfg->report= report;
-    cfg->filename= strdup(report_filename);
-    if (!cfg->filename) { free(cfg); return 0; }
+    cfg->config_source= strdup(report_source);
+    if (!cfg->config_source) { free(cfg); return 0; }
 
     cfg->settings= 0;
     return cfg;
@@ -51,7 +51,7 @@ static int ctx_prep(CfgParseContext *ctx
     e= xlu__cfg_yylex_init_extra(ctx, &ctx->scanner);
     if (e) {
         fprintf(cfg->report,"%s: unable to create scanner: %s\n",
-                cfg->filename, strerror(e));
+                cfg->config_source, strerror(e));
         return e;
     }
     return 0;
@@ -117,7 +117,7 @@ int xlu_cfg_readdata(XLU_Config *cfg, co
     buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
     if (!buf) {
         fprintf(cfg->report,"%s: unable to allocate scanner buffer\n",
-                cfg->filename);
+                cfg->config_source);
         ctx.err= ENOMEM;
         goto xe;
     }
@@ -151,7 +151,7 @@ void xlu_cfg_destroy(XLU_Config *cfg) {
         set_next= set->next;
         xlu__cfg_set_free(set);
     }
-    free(cfg->filename);
+    free(cfg->config_source);
     free(cfg);
 }
 
@@ -178,7 +178,7 @@ static int find_atom(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is"
                     " a list but should be a single value\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *set_r= set;
@@ -223,14 +223,14 @@ int xlu_cfg_get_long(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' could not be parsed"
                     " as a number: %s\n",
-                    cfg->filename, set->lineno, n, strerror(e));
+                    cfg->config_source, set->lineno, n, strerror(e));
         return e;
     }
     if (*ep || ep==set->values[0]) {
         if (!dont_warn)
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is not a valid number\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *value_r= l;
@@ -258,7 +258,7 @@ int xlu_cfg_get_list(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is a single value"
                     " but should be a list\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         }
         return EINVAL;
     }
@@ -467,7 +467,7 @@ void xlu__cfg_yyerror(YYLTYPE *loc, CfgP
 
     fprintf(ctx->cfg->report,
             "%s:%d: config parsing error near %s%.*s%s%s: %s\n",
-            ctx->cfg->filename, lineno,
+            ctx->cfg->config_source, lineno,
             len?"`":"", len, text, len?"'":"", newline,
             msg);
     if (!ctx->err) ctx->err= EINVAL;
diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_disk.c
--- a/tools/libxl/libxlu_disk.c	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_disk.c	Tue May 15 15:45:55 2012 +0100
@@ -10,7 +10,7 @@ void xlu__disk_err(DiskParseContext *dpc
             "%s: config parsing error in disk specification: %s"
             "%s%s%s"
             " in `%s'\n",
-            dpc->cfg->filename, message,
+            dpc->cfg->config_source, message,
             erroneous?": near `":"", erroneous?erroneous:"", erroneous?"'":"",
             dpc->spec);
     if (!dpc->err) dpc->err= EINVAL;
diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_internal.h
--- a/tools/libxl/libxlu_internal.h	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_internal.h	Tue May 15 15:45:55 2012 +0100
@@ -38,7 +38,7 @@ struct XLU_ConfigSetting { /* transparen
 struct XLU_Config {
     XLU_ConfigSetting *settings;
     FILE *report;
-    char *filename;
+    char *config_source;
 };
 
 typedef struct {
diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_vif.c
--- a/tools/libxl/libxlu_vif.c	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_vif.c	Tue May 15 15:45:55 2012 +0100
@@ -7,7 +7,7 @@ static const char *vif_internal_usec_re 
 static void xlu__vif_err(XLU_Config *cfg, const char *msg, const char *rate) {
     fprintf(cfg->report,
             "%s: config parsing error in vif: %s in `%s'\n",
-            cfg->filename, msg, rate);
+            cfg->config_source, msg, rate);
 }
 
 static int vif_parse_rate_bytes_per_sec(XLU_Config *cfg, const char *bytes,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:57:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJBD-0001lk-NQ; Tue, 15 May 2012 14:56:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJBB-0001lU-GZ
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:56:49 +0000
Received: from [193.109.254.147:44688] by server-8.bemta-14.messagelabs.com id
	EE/BE-23244-0BE62BF4; Tue, 15 May 2012 14:56:48 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337093806!2564197!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23953 invoked from network); 15 May 2012 14:56:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:56:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194901875"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:54:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:54:28 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJ8u-0001ZU-81;
	Tue, 15 May 2012 15:54:28 +0100
MIME-Version: 1.0
X-Mercurial-Node: 750b4dbab4b508bc3e034e2ee5a0b9ca1cf91ff4
Message-ID: <750b4dbab4b508bc3e03.1337093511@kodo2>
In-Reply-To: <patchbomb.1337093510@kodo2>
References: <patchbomb.1337093510@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:51:51 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 1 of 2] libxlu: Rename filename to config_source
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The "filename" is a bit of a misnomer, as it's only used during error
messages, and in most instances cases is actually set to "command
line".

Rename it to "config_source" to make it clear that it's not used to
actually open any files.

No functional changes.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_cfg.c
--- a/tools/libxl/libxlu_cfg.c	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_cfg.c	Tue May 15 15:45:55 2012 +0100
@@ -25,15 +25,15 @@
 #include "libxlu_cfg_l.h"
 #include "libxlu_cfg_i.h"
 
-XLU_Config *xlu_cfg_init(FILE *report, const char *report_filename) {
+XLU_Config *xlu_cfg_init(FILE *report, const char *report_source) {
     XLU_Config *cfg;
 
     cfg= malloc(sizeof(*cfg));
     if (!cfg) return 0;
 
     cfg->report= report;
-    cfg->filename= strdup(report_filename);
-    if (!cfg->filename) { free(cfg); return 0; }
+    cfg->config_source= strdup(report_source);
+    if (!cfg->config_source) { free(cfg); return 0; }
 
     cfg->settings= 0;
     return cfg;
@@ -51,7 +51,7 @@ static int ctx_prep(CfgParseContext *ctx
     e= xlu__cfg_yylex_init_extra(ctx, &ctx->scanner);
     if (e) {
         fprintf(cfg->report,"%s: unable to create scanner: %s\n",
-                cfg->filename, strerror(e));
+                cfg->config_source, strerror(e));
         return e;
     }
     return 0;
@@ -117,7 +117,7 @@ int xlu_cfg_readdata(XLU_Config *cfg, co
     buf = xlu__cfg_yy_scan_bytes(data, length, ctx.scanner);
     if (!buf) {
         fprintf(cfg->report,"%s: unable to allocate scanner buffer\n",
-                cfg->filename);
+                cfg->config_source);
         ctx.err= ENOMEM;
         goto xe;
     }
@@ -151,7 +151,7 @@ void xlu_cfg_destroy(XLU_Config *cfg) {
         set_next= set->next;
         xlu__cfg_set_free(set);
     }
-    free(cfg->filename);
+    free(cfg->config_source);
     free(cfg);
 }
 
@@ -178,7 +178,7 @@ static int find_atom(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is"
                     " a list but should be a single value\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *set_r= set;
@@ -223,14 +223,14 @@ int xlu_cfg_get_long(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' could not be parsed"
                     " as a number: %s\n",
-                    cfg->filename, set->lineno, n, strerror(e));
+                    cfg->config_source, set->lineno, n, strerror(e));
         return e;
     }
     if (*ep || ep==set->values[0]) {
         if (!dont_warn)
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is not a valid number\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         return EINVAL;
     }
     *value_r= l;
@@ -258,7 +258,7 @@ int xlu_cfg_get_list(const XLU_Config *c
             fprintf(cfg->report,
                     "%s:%d: warning: parameter `%s' is a single value"
                     " but should be a list\n",
-                    cfg->filename, set->lineno, n);
+                    cfg->config_source, set->lineno, n);
         }
         return EINVAL;
     }
@@ -467,7 +467,7 @@ void xlu__cfg_yyerror(YYLTYPE *loc, CfgP
 
     fprintf(ctx->cfg->report,
             "%s:%d: config parsing error near %s%.*s%s%s: %s\n",
-            ctx->cfg->filename, lineno,
+            ctx->cfg->config_source, lineno,
             len?"`":"", len, text, len?"'":"", newline,
             msg);
     if (!ctx->err) ctx->err= EINVAL;
diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_disk.c
--- a/tools/libxl/libxlu_disk.c	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_disk.c	Tue May 15 15:45:55 2012 +0100
@@ -10,7 +10,7 @@ void xlu__disk_err(DiskParseContext *dpc
             "%s: config parsing error in disk specification: %s"
             "%s%s%s"
             " in `%s'\n",
-            dpc->cfg->filename, message,
+            dpc->cfg->config_source, message,
             erroneous?": near `":"", erroneous?erroneous:"", erroneous?"'":"",
             dpc->spec);
     if (!dpc->err) dpc->err= EINVAL;
diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_internal.h
--- a/tools/libxl/libxlu_internal.h	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_internal.h	Tue May 15 15:45:55 2012 +0100
@@ -38,7 +38,7 @@ struct XLU_ConfigSetting { /* transparen
 struct XLU_Config {
     XLU_ConfigSetting *settings;
     FILE *report;
-    char *filename;
+    char *config_source;
 };
 
 typedef struct {
diff -r 34a8cded4b39 -r 750b4dbab4b5 tools/libxl/libxlu_vif.c
--- a/tools/libxl/libxlu_vif.c	Tue May 15 15:30:32 2012 +0100
+++ b/tools/libxl/libxlu_vif.c	Tue May 15 15:45:55 2012 +0100
@@ -7,7 +7,7 @@ static const char *vif_internal_usec_re 
 static void xlu__vif_err(XLU_Config *cfg, const char *msg, const char *rate) {
     fprintf(cfg->report,
             "%s: config parsing error in vif: %s in `%s'\n",
-            cfg->filename, msg, rate);
+            cfg->config_source, msg, rate);
 }
 
 static int vif_parse_rate_bytes_per_sec(XLU_Config *cfg, const char *bytes,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:57:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:57:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJBE-0001lt-3h; Tue, 15 May 2012 14:56:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJBC-0001lb-GH
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:56:50 +0000
Received: from [193.109.254.147:44763] by server-1.bemta-14.messagelabs.com id
	BF/A9-29372-1BE62BF4; Tue, 15 May 2012 14:56:49 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337093806!2564197!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24345 invoked from network); 15 May 2012 14:56:48 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:56:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194901888"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:54:30 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:54:28 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJ8u-0001ZU-7Q;
	Tue, 15 May 2012 15:54:28 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337093510@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:51:50 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 2] libxl cleanup: distinguish filenames
	from sources
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl cleanup: distinguish filenames from sources

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 14:57:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 14:57:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJBE-0001lt-3h; Tue, 15 May 2012 14:56:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJBC-0001lb-GH
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 14:56:50 +0000
Received: from [193.109.254.147:44763] by server-1.bemta-14.messagelabs.com id
	BF/A9-29372-1BE62BF4; Tue, 15 May 2012 14:56:49 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337093806!2564197!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24345 invoked from network); 15 May 2012 14:56:48 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 14:56:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194901888"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 10:54:30 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 10:54:28 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJ8u-0001ZU-7Q;
	Tue, 15 May 2012 15:54:28 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337093510@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 15:51:50 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH 0 of 2] libxl cleanup: distinguish filenames
	from sources
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl cleanup: distinguish filenames from sources

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:24:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:24:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJbh-0002YQ-R8; Tue, 15 May 2012 15:24:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUJbh-0002YL-3B
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:24:13 +0000
Received: from [85.158.138.51:9889] by server-12.bemta-3.messagelabs.com id
	F3/AC-29760-C1572BF4; Tue, 15 May 2012 15:24:12 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337095451!23210766!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18746 invoked from network); 15 May 2012 15:24:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:24:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487136"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:23:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 16:23:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUJbN-0002Kf-Uk;
	Tue, 15 May 2012 15:23:53 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUJbN-0002us-Jc;
	Tue, 15 May 2012 16:23:53 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12884-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 16:23:53 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12884: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12884 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12884/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12876
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12860

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  f8279258e3c9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:24:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:24:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJbh-0002YQ-R8; Tue, 15 May 2012 15:24:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUJbh-0002YL-3B
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:24:13 +0000
Received: from [85.158.138.51:9889] by server-12.bemta-3.messagelabs.com id
	F3/AC-29760-C1572BF4; Tue, 15 May 2012 15:24:12 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337095451!23210766!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18746 invoked from network); 15 May 2012 15:24:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:24:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487136"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:23:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 16:23:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUJbN-0002Kf-Uk;
	Tue, 15 May 2012 15:23:53 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUJbN-0002us-Jc;
	Tue, 15 May 2012 16:23:53 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12884-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 16:23:53 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12884: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12884 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12884/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12876
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12860

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  f8279258e3c9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:27:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJec-0002eZ-DQ; Tue, 15 May 2012 15:27:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJeb-0002eQ-5f
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:27:13 +0000
Received: from [193.109.254.147:8163] by server-11.bemta-14.messagelabs.com id
	75/53-05858-0D572BF4; Tue, 15 May 2012 15:27:12 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337095630!9409083!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10110 invoked from network); 15 May 2012 15:27:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:27:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25201577"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:10 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:09 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeX-00026H-JF;
	Tue, 15 May 2012 16:27:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:35 +0100
Message-ID: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized. This mean that there must be
unplug without the consent of the guest.

Without this patch series, the guest end up with two nics with the same MAC,
the emulated nic and the PV nic.

I tried few other path before to submite these patches:
  - delayed the hot unplug in QEMU until the guest initialize the hotplug.
    => the guest unplug the nic only after the driver initialized it. That's a
      bit late.
  - delayed the call to unplug the emulated device until pci_acpi_init is called
    => this is worse, the pv disc does not show up and the guest does not boot.

In order to achive this fix, these patches introduce a new hotplug state only
used in acpi_piix4, and a new qdev callback force_unplug.

Would it be possible to have this fix in the next release?

Thanks,


Anthony PERARD (4):
  Introduce a new hotplug state: Force eject.
  qdev: Introduce qdev_force_unplug.
  pci: Add force_unplug callback.
  xen: Fix PV-on-HVM

 hw/acpi_piix4.c   |    5 +++++
 hw/pci.c          |   15 +++++++++++++--
 hw/pci.h          |    1 +
 hw/qdev.c         |   23 ++++++++++++++++++++---
 hw/qdev.h         |    3 +++
 hw/xen_platform.c |    2 +-
 6 files changed, 43 insertions(+), 6 deletions(-)

-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:27:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJec-0002eZ-DQ; Tue, 15 May 2012 15:27:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJeb-0002eQ-5f
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:27:13 +0000
Received: from [193.109.254.147:8163] by server-11.bemta-14.messagelabs.com id
	75/53-05858-0D572BF4; Tue, 15 May 2012 15:27:12 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337095630!9409083!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10110 invoked from network); 15 May 2012 15:27:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:27:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25201577"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:10 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:09 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeX-00026H-JF;
	Tue, 15 May 2012 16:27:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:35 +0100
Message-ID: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized. This mean that there must be
unplug without the consent of the guest.

Without this patch series, the guest end up with two nics with the same MAC,
the emulated nic and the PV nic.

I tried few other path before to submite these patches:
  - delayed the hot unplug in QEMU until the guest initialize the hotplug.
    => the guest unplug the nic only after the driver initialized it. That's a
      bit late.
  - delayed the call to unplug the emulated device until pci_acpi_init is called
    => this is worse, the pv disc does not show up and the guest does not boot.

In order to achive this fix, these patches introduce a new hotplug state only
used in acpi_piix4, and a new qdev callback force_unplug.

Would it be possible to have this fix in the next release?

Thanks,


Anthony PERARD (4):
  Introduce a new hotplug state: Force eject.
  qdev: Introduce qdev_force_unplug.
  pci: Add force_unplug callback.
  xen: Fix PV-on-HVM

 hw/acpi_piix4.c   |    5 +++++
 hw/pci.c          |   15 +++++++++++++--
 hw/pci.h          |    1 +
 hw/qdev.c         |   23 ++++++++++++++++++++---
 hw/qdev.h         |    3 +++
 hw/xen_platform.c |    2 +-
 6 files changed, 43 insertions(+), 6 deletions(-)

-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:29:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJgu-0002n8-B5; Tue, 15 May 2012 15:29:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJgs-0002mk-Kx
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:29:34 +0000
Received: from [193.109.254.147:14536] by server-12.bemta-14.messagelabs.com
	id 22/88-05898-D5672BF4; Tue, 15 May 2012 15:29:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337095772!1706790!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12171 invoked from network); 15 May 2012 15:29:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:29:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487252"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:29:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:29:25 +0100
Message-ID: <1337095764.19852.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:29:24 +0100
In-Reply-To: <d555dd6614af4faec21e.1337093512@kodo2>
References: <patchbomb.1337093510@kodo2>
	<d555dd6614af4faec21e.1337093512@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:51 +0100, George Dunlap wrote:
> Many places in xl there's a variable or element named "filename" which
> does not contain a filename, but the source of the data for reporting
> purposes.  Worse, there are variables which are sometimes actually
> used or interpreted as a filename depending on what other variables
> are set.  This makes it difficult to tell when a string is purely
> cosmetic, and when another bit of code may actually attempt to call
> "open" with the string.
> 
> This patch makes a consistent distinction between "filename" (which
> always refers to the name of an actual file, and may be interpreted as
> such at some point) and "source" (which may be a filename, or may be
> another data source such as a migration stream or saved data).
> 
> This does add some variables and reshuffle where assignments happen;
> most notably, the "restore_filename" element of struct domain_create
> is now only set when restoring from a file.
> 
> But at a high level, there should be no funcitonal changes.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

I've committed this (and the preceding patch), there were a few
conflicts with Goncalo's vncviewer patch (a new param to
parse_config_data). Please do check I've done the right thing.

> 
> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Tue May 15 15:45:55 2012 +0100
> +++ b/tools/libxl/libxl_utils.c Tue May 15 15:51:25 2012 +0100
> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
>                                                                            \
>    int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
>                             constdata void *data, ssize_t sz,              \
> -                           const char *filename, const char *what) {      \
> +                           const char *source, const char *what) {      \
>        ssize_t got;                                                        \
>                                                                            \
>        while (sz > 0) {                                                    \
> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
>                if (errno == EINTR) continue;                               \
>                if (!ctx) return errno;                                     \
>                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
> -                           what?what:"", what?" from ":"", filename);     \
> +                           what?what:"", what?" from ":"", source);       \
>                return errno;                                               \
>            }                                                               \
>            if (got == 0) {                                                 \
> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
>                       zero_is_eof                                          \
>                       ? "file/stream truncated reading %s%s%s"             \
>                       : "file/stream write returned 0! writing %s%s%s",    \
> -                     what?what:"", what?" from ":"", filename);           \
> +                     what?what:"", what?" from ":"", source);             \
>                return EPROTO;                                              \
>            }                                                               \
>            sz -= got;                                                      \
> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Tue May 15 15:45:55 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 15 15:51:25 2012 +0100
> @@ -520,9 +520,9 @@ vcpp_out:
>      return rc;
>  }
> 
> -static void parse_config_data(const char *configfile_filename_report,
> -                              const char *configfile_data,
> -                              int configfile_len,
> +static void parse_config_data(const char *config_source,
> +                              const char *config_data,
> +                              int config_len,
>                                libxl_domain_config *d_config)
>  {
>      const char *buf;
> @@ -537,15 +537,15 @@ static void parse_config_data(const char
>      libxl_domain_create_info *c_info = &d_config->c_info;
>      libxl_domain_build_info *b_info = &d_config->b_info;
> 
> -    config= xlu_cfg_init(stderr, configfile_filename_report);
> +    config= xlu_cfg_init(stderr, config_source);
>      if (!config) {
>          fprintf(stderr, "Failed to allocate for configuration\n");
>          exit(1);
>      }
> 
> -    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
> +    e= xlu_cfg_readdata(config, config_data, config_len);
>      if (e) {
> -        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
> +        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
>          exit(1);
>      }
> 
> @@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
>      const char *config_file = dom_info->config_file;
>      const char *extra_config = dom_info->extra_config;
>      const char *restore_file = dom_info->restore_file;
> +    const char *config_source = NULL;
> +    const char *restore_source = NULL;
>      int migrate_fd = dom_info->migrate_fd;
> 
>      int i;
> @@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
>      pid_t child_console_pid = -1;
>      struct save_file_header hdr;
> 
> +    int restoring = (restore_file || (migrate_fd >= 0));
> +
>      libxl_domain_config_init(&d_config);
> 
> -    if (restore_file) {
> +    if (restoring) {
>          uint8_t *optdata_begin = 0;
>          const uint8_t *optdata_here = 0;
>          union { uint32_t u32; char b[4]; } u32buf;
>          uint32_t badflags;
> 
>          if (migrate_fd >= 0) {
> +            restore_source = "<incoming migration stream>";
>              restore_fd = migrate_fd;
>          } else {
> +            restore_source = restore_file;
>              restore_fd = open(restore_file, O_RDONLY);
>              rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
>              if (rc) return rc;
>          }
> 
>          CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
> -                   sizeof(hdr), restore_file, "header") );
> +                   sizeof(hdr), restore_source, "header") );
>          if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
>              fprintf(stderr, "File has wrong magic number -"
>                      " corrupt or for a different tool?\n");
> @@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
>          fprintf(stderr, "Loading new save file %s"
>                  " (new xl fmt info"
>                  " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> -                restore_file, hdr.mandatory_flags, hdr.optional_flags,
> +                restore_source, hdr.mandatory_flags, hdr.optional_flags,
>                  hdr.optional_data_len);
> 
>          badflags = hdr.mandatory_flags & ~( 0 /* none understood yet */ );
> @@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
>          if (hdr.optional_data_len) {
>              optdata_begin = xmalloc(hdr.optional_data_len);
>              CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
> -                   hdr.optional_data_len, restore_file, "optdata") );
> +                   hdr.optional_data_len, restore_source, "optdata") );
>          }
> 
>  #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
> @@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
>                                         &config_data, &config_len);
>          if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
>                             config_file, strerror(errno)); return ERROR_FAIL; }
> -        if (!restore_file && extra_config && strlen(extra_config)) {
> +        if (!restoring && extra_config && strlen(extra_config)) {
>              if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
>                  fprintf(stderr, "Failed to attach extra configration\n");
>                  return ERROR_FAIL;
> @@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
>              config_len += sprintf(config_data + config_len, "\n%s\n",
>                  extra_config);
>          }
> +        config_source=config_file;
>      } else {
>          if (!config_data) {
>              fprintf(stderr, "Config file not specified and"
>                      " none in save file\n");
>              return ERROR_INVAL;
>          }
> -        config_file = "<saved>";
> +        config_source = "<saved>";
>      }
> 
>      if (!dom_info->quiet)
> -        printf("Parsing config file %s\n", config_file);
> -
> -    parse_config_data(config_file, config_data, config_len, &d_config);
> +        printf("Parsing config from %s\n", config_source);
> +
> +    parse_config_data(config_source, config_data, config_len, &d_config);
> 
>      if (migrate_fd >= 0) {
>          if (d_config.c_info.name) {
> @@ -1698,7 +1705,7 @@ start:
>          autoconnect_console_how = 0;
>      }
> 
> -    if ( restore_file ) {
> +    if ( restoring ) {
>          ret = libxl_domain_create_restore(ctx, &d_config,
>                                            &domid, restore_fd,
>                                            0, autoconnect_console_how);
> @@ -2559,7 +2566,7 @@ static void list_domains_details(const l
>  {
>      libxl_domain_config d_config;
> 
> -    char *config_file;
> +    char *config_source;
>      uint8_t *data;
>      int i, len, rc;
> 
> @@ -2570,13 +2577,13 @@ static void list_domains_details(const l
>          rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl", &data, &len);
>          if (rc)
>              continue;
> -        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
> +        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
>          libxl_domain_config_init(&d_config);
> -        parse_config_data(config_file, (char *)data, len, &d_config);
> +        parse_config_data(config_source, (char *)data, len, &d_config);
>          printf_info(default_output_format, info[i].domid, &d_config);
>          libxl_domain_config_dispose(&d_config);
>          free(data);
> -        free(config_file);
> +        free(config_source);
>      }
>  }
> 
> @@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
>      }
>  }
> 
> -static void save_domain_core_writeconfig(int fd, const char *filename,
> +static void save_domain_core_writeconfig(int fd, const char *source,
>                                    const uint8_t *config_data, int config_len)
>  {
>      struct save_file_header hdr;
> @@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
>      /* that's the optional data */
> 
>      CHK_ERRNO( libxl_write_exactly(ctx, fd,
> -        &hdr, sizeof(hdr), filename, "header") );
> +        &hdr, sizeof(hdr), source, "header") );
>      CHK_ERRNO( libxl_write_exactly(ctx, fd,
> -        optdata_begin, hdr.optional_data_len, filename, "header") );
> +        optdata_begin, hdr.optional_data_len, source, "header") );
> 
>      fprintf(stderr, "Saving to %s new xl format (info"
>              " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> -            filename, hdr.mandatory_flags, hdr.optional_flags,
> +            source, hdr.mandatory_flags, hdr.optional_flags,
>              hdr.optional_data_len);
>  }
> 
> @@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
>      dom_info.daemonize = daemonize;
>      dom_info.monitor = monitor;
>      dom_info.paused = 1;
> -    dom_info.restore_file = "incoming migration stream";
>      dom_info.migrate_fd = 0; /* stdin */
>      dom_info.migration_domname_r = &migration_domname;
>      dom_info.incr_generationid = 0;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:29:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJgu-0002n8-B5; Tue, 15 May 2012 15:29:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJgs-0002mk-Kx
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:29:34 +0000
Received: from [193.109.254.147:14536] by server-12.bemta-14.messagelabs.com
	id 22/88-05898-D5672BF4; Tue, 15 May 2012 15:29:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337095772!1706790!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12171 invoked from network); 15 May 2012 15:29:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:29:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487252"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:29:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:29:25 +0100
Message-ID: <1337095764.19852.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:29:24 +0100
In-Reply-To: <d555dd6614af4faec21e.1337093512@kodo2>
References: <patchbomb.1337093510@kodo2>
	<d555dd6614af4faec21e.1337093512@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:51 +0100, George Dunlap wrote:
> Many places in xl there's a variable or element named "filename" which
> does not contain a filename, but the source of the data for reporting
> purposes.  Worse, there are variables which are sometimes actually
> used or interpreted as a filename depending on what other variables
> are set.  This makes it difficult to tell when a string is purely
> cosmetic, and when another bit of code may actually attempt to call
> "open" with the string.
> 
> This patch makes a consistent distinction between "filename" (which
> always refers to the name of an actual file, and may be interpreted as
> such at some point) and "source" (which may be a filename, or may be
> another data source such as a migration stream or saved data).
> 
> This does add some variables and reshuffle where assignments happen;
> most notably, the "restore_filename" element of struct domain_create
> is now only set when restoring from a file.
> 
> But at a high level, there should be no funcitonal changes.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

I've committed this (and the preceding patch), there were a few
conflicts with Goncalo's vncviewer patch (a new param to
parse_config_data). Please do check I've done the right thing.

> 
> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Tue May 15 15:45:55 2012 +0100
> +++ b/tools/libxl/libxl_utils.c Tue May 15 15:51:25 2012 +0100
> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
>                                                                            \
>    int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
>                             constdata void *data, ssize_t sz,              \
> -                           const char *filename, const char *what) {      \
> +                           const char *source, const char *what) {      \
>        ssize_t got;                                                        \
>                                                                            \
>        while (sz > 0) {                                                    \
> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
>                if (errno == EINTR) continue;                               \
>                if (!ctx) return errno;                                     \
>                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
> -                           what?what:"", what?" from ":"", filename);     \
> +                           what?what:"", what?" from ":"", source);       \
>                return errno;                                               \
>            }                                                               \
>            if (got == 0) {                                                 \
> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
>                       zero_is_eof                                          \
>                       ? "file/stream truncated reading %s%s%s"             \
>                       : "file/stream write returned 0! writing %s%s%s",    \
> -                     what?what:"", what?" from ":"", filename);           \
> +                     what?what:"", what?" from ":"", source);             \
>                return EPROTO;                                              \
>            }                                                               \
>            sz -= got;                                                      \
> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Tue May 15 15:45:55 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 15 15:51:25 2012 +0100
> @@ -520,9 +520,9 @@ vcpp_out:
>      return rc;
>  }
> 
> -static void parse_config_data(const char *configfile_filename_report,
> -                              const char *configfile_data,
> -                              int configfile_len,
> +static void parse_config_data(const char *config_source,
> +                              const char *config_data,
> +                              int config_len,
>                                libxl_domain_config *d_config)
>  {
>      const char *buf;
> @@ -537,15 +537,15 @@ static void parse_config_data(const char
>      libxl_domain_create_info *c_info = &d_config->c_info;
>      libxl_domain_build_info *b_info = &d_config->b_info;
> 
> -    config= xlu_cfg_init(stderr, configfile_filename_report);
> +    config= xlu_cfg_init(stderr, config_source);
>      if (!config) {
>          fprintf(stderr, "Failed to allocate for configuration\n");
>          exit(1);
>      }
> 
> -    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
> +    e= xlu_cfg_readdata(config, config_data, config_len);
>      if (e) {
> -        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
> +        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
>          exit(1);
>      }
> 
> @@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
>      const char *config_file = dom_info->config_file;
>      const char *extra_config = dom_info->extra_config;
>      const char *restore_file = dom_info->restore_file;
> +    const char *config_source = NULL;
> +    const char *restore_source = NULL;
>      int migrate_fd = dom_info->migrate_fd;
> 
>      int i;
> @@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
>      pid_t child_console_pid = -1;
>      struct save_file_header hdr;
> 
> +    int restoring = (restore_file || (migrate_fd >= 0));
> +
>      libxl_domain_config_init(&d_config);
> 
> -    if (restore_file) {
> +    if (restoring) {
>          uint8_t *optdata_begin = 0;
>          const uint8_t *optdata_here = 0;
>          union { uint32_t u32; char b[4]; } u32buf;
>          uint32_t badflags;
> 
>          if (migrate_fd >= 0) {
> +            restore_source = "<incoming migration stream>";
>              restore_fd = migrate_fd;
>          } else {
> +            restore_source = restore_file;
>              restore_fd = open(restore_file, O_RDONLY);
>              rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
>              if (rc) return rc;
>          }
> 
>          CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
> -                   sizeof(hdr), restore_file, "header") );
> +                   sizeof(hdr), restore_source, "header") );
>          if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
>              fprintf(stderr, "File has wrong magic number -"
>                      " corrupt or for a different tool?\n");
> @@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
>          fprintf(stderr, "Loading new save file %s"
>                  " (new xl fmt info"
>                  " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> -                restore_file, hdr.mandatory_flags, hdr.optional_flags,
> +                restore_source, hdr.mandatory_flags, hdr.optional_flags,
>                  hdr.optional_data_len);
> 
>          badflags = hdr.mandatory_flags & ~( 0 /* none understood yet */ );
> @@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
>          if (hdr.optional_data_len) {
>              optdata_begin = xmalloc(hdr.optional_data_len);
>              CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
> -                   hdr.optional_data_len, restore_file, "optdata") );
> +                   hdr.optional_data_len, restore_source, "optdata") );
>          }
> 
>  #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
> @@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
>                                         &config_data, &config_len);
>          if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
>                             config_file, strerror(errno)); return ERROR_FAIL; }
> -        if (!restore_file && extra_config && strlen(extra_config)) {
> +        if (!restoring && extra_config && strlen(extra_config)) {
>              if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
>                  fprintf(stderr, "Failed to attach extra configration\n");
>                  return ERROR_FAIL;
> @@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
>              config_len += sprintf(config_data + config_len, "\n%s\n",
>                  extra_config);
>          }
> +        config_source=config_file;
>      } else {
>          if (!config_data) {
>              fprintf(stderr, "Config file not specified and"
>                      " none in save file\n");
>              return ERROR_INVAL;
>          }
> -        config_file = "<saved>";
> +        config_source = "<saved>";
>      }
> 
>      if (!dom_info->quiet)
> -        printf("Parsing config file %s\n", config_file);
> -
> -    parse_config_data(config_file, config_data, config_len, &d_config);
> +        printf("Parsing config from %s\n", config_source);
> +
> +    parse_config_data(config_source, config_data, config_len, &d_config);
> 
>      if (migrate_fd >= 0) {
>          if (d_config.c_info.name) {
> @@ -1698,7 +1705,7 @@ start:
>          autoconnect_console_how = 0;
>      }
> 
> -    if ( restore_file ) {
> +    if ( restoring ) {
>          ret = libxl_domain_create_restore(ctx, &d_config,
>                                            &domid, restore_fd,
>                                            0, autoconnect_console_how);
> @@ -2559,7 +2566,7 @@ static void list_domains_details(const l
>  {
>      libxl_domain_config d_config;
> 
> -    char *config_file;
> +    char *config_source;
>      uint8_t *data;
>      int i, len, rc;
> 
> @@ -2570,13 +2577,13 @@ static void list_domains_details(const l
>          rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl", &data, &len);
>          if (rc)
>              continue;
> -        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
> +        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
>          libxl_domain_config_init(&d_config);
> -        parse_config_data(config_file, (char *)data, len, &d_config);
> +        parse_config_data(config_source, (char *)data, len, &d_config);
>          printf_info(default_output_format, info[i].domid, &d_config);
>          libxl_domain_config_dispose(&d_config);
>          free(data);
> -        free(config_file);
> +        free(config_source);
>      }
>  }
> 
> @@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
>      }
>  }
> 
> -static void save_domain_core_writeconfig(int fd, const char *filename,
> +static void save_domain_core_writeconfig(int fd, const char *source,
>                                    const uint8_t *config_data, int config_len)
>  {
>      struct save_file_header hdr;
> @@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
>      /* that's the optional data */
> 
>      CHK_ERRNO( libxl_write_exactly(ctx, fd,
> -        &hdr, sizeof(hdr), filename, "header") );
> +        &hdr, sizeof(hdr), source, "header") );
>      CHK_ERRNO( libxl_write_exactly(ctx, fd,
> -        optdata_begin, hdr.optional_data_len, filename, "header") );
> +        optdata_begin, hdr.optional_data_len, source, "header") );
> 
>      fprintf(stderr, "Saving to %s new xl format (info"
>              " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> -            filename, hdr.mandatory_flags, hdr.optional_flags,
> +            source, hdr.mandatory_flags, hdr.optional_flags,
>              hdr.optional_data_len);
>  }
> 
> @@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
>      dom_info.daemonize = daemonize;
>      dom_info.monitor = monitor;
>      dom_info.paused = 1;
> -    dom_info.restore_file = "incoming migration stream";
>      dom_info.migrate_fd = 0; /* stdin */
>      dom_info.migration_domname_r = &migration_domname;
>      dom_info.incr_generationid = 0;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:29:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJgu-0002n0-05; Tue, 15 May 2012 15:29:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJgs-0002mh-8u
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:29:34 +0000
Received: from [193.109.254.147:14512] by server-5.bemta-14.messagelabs.com id
	C7/B3-30733-D5672BF4; Tue, 15 May 2012 15:29:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337095772!1706790!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12135 invoked from network); 15 May 2012 15:29:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:29:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487246"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:29:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:29:04 +0100
Message-ID: <1337095743.19852.28.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:29:03 +0100
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4 v3] Add commands to automatically
 prep devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:35 +0100, George Dunlap wrote:
> Add commands to automatically prep devices for pass-through
> 
> The current method for passing through devices requires users to
> either modify cryptic Linux boot parameters and reboot, or do a lot of
> manual reads and writes into sysfs nodes.
> 
> This set of patches introduces commands to make this easier.  It expands
> on the concept of "assignable" (from the list_assignable_devices command).
> 
> The new xl commands are:
> 
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
> 
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.
> 
> pci_assignable_remove: Make the device no longer assignable to guests. 
> This involves unbinding the device from pciback and removing the slot.  It 
> optionally involves rebinding the device to the driver from which we stole
> it.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

All 4 patches:
Committed-by: Ian Campbell <ian.campbell@citrix.com>

Please do watch out for adding trailing whitespace, I cleaned this up in
the series and a couple of your other patches which I applied today.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:29:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJgu-0002n0-05; Tue, 15 May 2012 15:29:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJgs-0002mh-8u
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:29:34 +0000
Received: from [193.109.254.147:14512] by server-5.bemta-14.messagelabs.com id
	C7/B3-30733-D5672BF4; Tue, 15 May 2012 15:29:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337095772!1706790!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12135 invoked from network); 15 May 2012 15:29:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:29:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487246"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:29:04 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:29:04 +0100
Message-ID: <1337095743.19852.28.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:29:03 +0100
In-Reply-To: <patchbomb.1337092512@kodo2>
References: <patchbomb.1337092512@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4 v3] Add commands to automatically
 prep devices for pass-through
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:35 +0100, George Dunlap wrote:
> Add commands to automatically prep devices for pass-through
> 
> The current method for passing through devices requires users to
> either modify cryptic Linux boot parameters and reboot, or do a lot of
> manual reads and writes into sysfs nodes.
> 
> This set of patches introduces commands to make this easier.  It expands
> on the concept of "assignable" (from the list_assignable_devices command).
> 
> The new xl commands are:
> 
> pci_assignable_add: Make a device assignable to guests.  This involves
> unbinding the device from its old driver, creating a slot for it in
> pciback (if necessary), and binding it to pciback.
> 
> pci_assignable_list: List devices assignable to guests.  Just renamed
> from pci_list_assignable.
> 
> pci_assignable_remove: Make the device no longer assignable to guests. 
> This involves unbinding the device from pciback and removing the slot.  It 
> optionally involves rebinding the device to the driver from which we stole
> it.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

All 4 patches:
Committed-by: Ian Campbell <ian.campbell@citrix.com>

Please do watch out for adding trailing whitespace, I cleaned this up in
the series and a couple of your other patches which I applied today.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:29:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJgu-0002nJ-NF; Tue, 15 May 2012 15:29:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJgs-0002mj-IE
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:29:35 +0000
Received: from [193.109.254.147:45930] by server-4.bemta-14.messagelabs.com id
	D8/A1-11570-D5672BF4; Tue, 15 May 2012 15:29:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337095772!1706790!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12150 invoked from network); 15 May 2012 15:29:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:29:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487247"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:29:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:29:08 +0100
Message-ID: <1337095746.19852.29.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:29:06 +0100
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 3 v3] tools: Move bootloaders to
 libexec directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:22 +0100, George Dunlap wrote:
> tools: Move bootloaders to libexec directory
> 
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
> series:
> * Causes libxl to look in the libexec dir if a full path is not specified,
>   falling back to searching PATH if it's not in the libexec dir
> * Moves pygrub and xenpvnetboot into the libexec dir
> * For compatibility with existing configs, puts a link to pygrub in /usr/bin
> * Warns the user that /usr/bin/pygrub is deprecated
> 
> v2: 
>  - If the bootloader is not in the libexec path, revert to using the string
>    as passed in the config file (which will search $PATH)
>  - Use strcmp rather than strncmp

All 3 patches:
Committed-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:29:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJgu-0002nJ-NF; Tue, 15 May 2012 15:29:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUJgs-0002mj-IE
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:29:35 +0000
Received: from [193.109.254.147:45930] by server-4.bemta-14.messagelabs.com id
	D8/A1-11570-D5672BF4; Tue, 15 May 2012 15:29:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337095772!1706790!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12150 invoked from network); 15 May 2012 15:29:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:29:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487247"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:29:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:29:08 +0100
Message-ID: <1337095746.19852.29.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:29:06 +0100
In-Reply-To: <patchbomb.1337091773@kodo2>
References: <patchbomb.1337091773@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 0 of 3 v3] tools: Move bootloaders to
 libexec directory
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:22 +0100, George Dunlap wrote:
> tools: Move bootloaders to libexec directory
> 
> pygrub and xenpvnetboot are meant to be run by tools, and not by the user,
> and thus should be in /usr/lib/xen/bin rather than /usr/bin.  This patch
> series:
> * Causes libxl to look in the libexec dir if a full path is not specified,
>   falling back to searching PATH if it's not in the libexec dir
> * Moves pygrub and xenpvnetboot into the libexec dir
> * For compatibility with existing configs, puts a link to pygrub in /usr/bin
> * Warns the user that /usr/bin/pygrub is deprecated
> 
> v2: 
>  - If the bootloader is not in the libexec path, revert to using the string
>    as passed in the config file (which will search $PATH)
>  - Use strcmp rather than strncmp

All 3 patches:
Committed-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhR-0002uW-LO; Tue, 15 May 2012 15:30:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhQ-0002tk-1o
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:08 +0000
Received: from [193.109.254.147:48706] by server-4.bemta-14.messagelabs.com id
	73/42-11570-F7672BF4; Tue, 15 May 2012 15:30:07 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12222 invoked from network); 15 May 2012 15:30:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910355"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-Es;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:37 +0100
Message-ID: <1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 2/4] qdev: Introduce qdev_force_unplug.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This function will be use to force a device to be ejected without the guest
cooperation.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/qdev.c |   23 ++++++++++++++++++++---
 hw/qdev.h |    3 +++
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/hw/qdev.c b/hw/qdev.c
index 6a8f6bd..c95d4c2 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -184,24 +184,41 @@ void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
     dev->alias_required_for_version = required_for_version;
 }
 
-void qdev_unplug(DeviceState *dev, Error **errp)
+static void qdev_unplug_common(DeviceState *dev, Error **errp, bool force)
 {
     DeviceClass *dc = DEVICE_GET_CLASS(dev);
+    qdev_event unplug;
 
     if (!dev->parent_bus->allow_hotplug) {
         error_set(errp, QERR_BUS_NO_HOTPLUG, dev->parent_bus->name);
         return;
     }
-    assert(dc->unplug != NULL);
+
+    if (force) {
+        unplug = dc->force_unplug;
+    } else {
+        unplug = dc->unplug;
+    }
+    assert(unplug != NULL);
 
     qdev_hot_removed = true;
 
-    if (dc->unplug(dev) < 0) {
+    if (unplug(dev) < 0) {
         error_set(errp, QERR_UNDEFINED_ERROR);
         return;
     }
 }
 
+void qdev_force_unplug(DeviceState *dev, Error **errp)
+{
+    qdev_unplug_common(dev, errp, true);
+}
+
+void qdev_unplug(DeviceState *dev, Error **errp)
+{
+    qdev_unplug_common(dev, errp, false);
+}
+
 static int qdev_reset_one(DeviceState *dev, void *opaque)
 {
     device_reset(dev);
diff --git a/hw/qdev.h b/hw/qdev.h
index 4e90119..404c560 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -54,6 +54,7 @@ typedef struct DeviceClass {
     /* Private to qdev / bus.  */
     qdev_initfn init;
     qdev_event unplug;
+    qdev_event force_unplug;
     qdev_event exit;
     BusInfo *bus_info;
 } DeviceClass;
@@ -150,6 +151,8 @@ void qdev_init_nofail(DeviceState *dev);
 void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
                                  int required_for_version);
 void qdev_unplug(DeviceState *dev, Error **errp);
+/* Unplug a device without the guest cooperation. */
+void qdev_force_unplug(DeviceState *dev, Error **errp);
 void qdev_free(DeviceState *dev);
 int qdev_simple_unplug_cb(DeviceState *dev);
 void qdev_machine_creation_done(void);
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhR-0002uW-LO; Tue, 15 May 2012 15:30:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhQ-0002tk-1o
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:08 +0000
Received: from [193.109.254.147:48706] by server-4.bemta-14.messagelabs.com id
	73/42-11570-F7672BF4; Tue, 15 May 2012 15:30:07 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12222 invoked from network); 15 May 2012 15:30:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910355"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-Es;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:37 +0100
Message-ID: <1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 2/4] qdev: Introduce qdev_force_unplug.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This function will be use to force a device to be ejected without the guest
cooperation.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/qdev.c |   23 ++++++++++++++++++++---
 hw/qdev.h |    3 +++
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/hw/qdev.c b/hw/qdev.c
index 6a8f6bd..c95d4c2 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -184,24 +184,41 @@ void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
     dev->alias_required_for_version = required_for_version;
 }
 
-void qdev_unplug(DeviceState *dev, Error **errp)
+static void qdev_unplug_common(DeviceState *dev, Error **errp, bool force)
 {
     DeviceClass *dc = DEVICE_GET_CLASS(dev);
+    qdev_event unplug;
 
     if (!dev->parent_bus->allow_hotplug) {
         error_set(errp, QERR_BUS_NO_HOTPLUG, dev->parent_bus->name);
         return;
     }
-    assert(dc->unplug != NULL);
+
+    if (force) {
+        unplug = dc->force_unplug;
+    } else {
+        unplug = dc->unplug;
+    }
+    assert(unplug != NULL);
 
     qdev_hot_removed = true;
 
-    if (dc->unplug(dev) < 0) {
+    if (unplug(dev) < 0) {
         error_set(errp, QERR_UNDEFINED_ERROR);
         return;
     }
 }
 
+void qdev_force_unplug(DeviceState *dev, Error **errp)
+{
+    qdev_unplug_common(dev, errp, true);
+}
+
+void qdev_unplug(DeviceState *dev, Error **errp)
+{
+    qdev_unplug_common(dev, errp, false);
+}
+
 static int qdev_reset_one(DeviceState *dev, void *opaque)
 {
     device_reset(dev);
diff --git a/hw/qdev.h b/hw/qdev.h
index 4e90119..404c560 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -54,6 +54,7 @@ typedef struct DeviceClass {
     /* Private to qdev / bus.  */
     qdev_initfn init;
     qdev_event unplug;
+    qdev_event force_unplug;
     qdev_event exit;
     BusInfo *bus_info;
 } DeviceClass;
@@ -150,6 +151,8 @@ void qdev_init_nofail(DeviceState *dev);
 void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
                                  int required_for_version);
 void qdev_unplug(DeviceState *dev, Error **errp);
+/* Unplug a device without the guest cooperation. */
+void qdev_force_unplug(DeviceState *dev, Error **errp);
 void qdev_free(DeviceState *dev);
 int qdev_simple_unplug_cb(DeviceState *dev);
 void qdev_machine_creation_done(void);
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhT-0002vJ-GB; Tue, 15 May 2012 15:30:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhR-0002uF-Gp
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:09 +0000
Received: from [193.109.254.147:59213] by server-2.bemta-14.messagelabs.com id
	4A/93-19409-08672BF4; Tue, 15 May 2012 15:30:08 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12377 invoked from network); 15 May 2012 15:30:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910357"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-H2;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:39 +0100
Message-ID: <1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized. This mean that there must be
unplug without the consent of the guest.

Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/xen_platform.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..2e47129 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -87,7 +87,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
 {
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
-        qdev_unplug(&(d->qdev), NULL);
+        qdev_force_unplug(&(d->qdev), NULL);
     }
 }
 
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhT-0002vJ-GB; Tue, 15 May 2012 15:30:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhR-0002uF-Gp
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:09 +0000
Received: from [193.109.254.147:59213] by server-2.bemta-14.messagelabs.com id
	4A/93-19409-08672BF4; Tue, 15 May 2012 15:30:08 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12377 invoked from network); 15 May 2012 15:30:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910357"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-H2;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:39 +0100
Message-ID: <1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized. This mean that there must be
unplug without the consent of the guest.

Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/xen_platform.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..2e47129 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -87,7 +87,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
 {
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
-        qdev_unplug(&(d->qdev), NULL);
+        qdev_force_unplug(&(d->qdev), NULL);
     }
 }
 
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhS-0002un-2F; Tue, 15 May 2012 15:30:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhQ-0002tW-6Q
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:08 +0000
Received: from [193.109.254.147:59157] by server-6.bemta-14.messagelabs.com id
	43/22-04960-F7672BF4; Tue, 15 May 2012 15:30:07 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12308 invoked from network); 15 May 2012 15:30:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910356"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-GZ;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:38 +0100
Message-ID: <1337095599-28836-4-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 3/4] pci: Add force_unplug callback.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/pci.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/hw/pci.c b/hw/pci.c
index b706e69..c58bbc1 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -1518,7 +1518,7 @@ static int pci_qdev_init(DeviceState *qdev)
     return 0;
 }
 
-static int pci_unplug_device(DeviceState *qdev)
+static int pci_unplug_device_common(DeviceState *qdev, PCIHotplugState state)
 {
     PCIDevice *dev = PCI_DEVICE(qdev);
     PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
@@ -1529,7 +1529,17 @@ static int pci_unplug_device(DeviceState *qdev)
     }
     object_unparent(OBJECT(dev));
     return dev->bus->hotplug(dev->bus->hotplug_qdev, dev,
-                             PCI_HOTPLUG_DISABLED);
+                             state);
+}
+
+static int pci_unplug_device(DeviceState *qdev)
+{
+    return pci_unplug_device_common(qdev, PCI_HOTPLUG_DISABLED);
+}
+
+static int pci_force_unplug_device(DeviceState *qdev)
+{
+    return pci_unplug_device_common(qdev, PCI_FORCE_EJECT);
 }
 
 PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
@@ -2000,6 +2010,7 @@ static void pci_device_class_init(ObjectClass *klass, void *data)
     DeviceClass *k = DEVICE_CLASS(klass);
     k->init = pci_qdev_init;
     k->unplug = pci_unplug_device;
+    k->force_unplug = pci_force_unplug_device;
     k->exit = pci_unregister_device;
     k->bus_info = &pci_bus_info;
 }
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhS-0002un-2F; Tue, 15 May 2012 15:30:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhQ-0002tW-6Q
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:08 +0000
Received: from [193.109.254.147:59157] by server-6.bemta-14.messagelabs.com id
	43/22-04960-F7672BF4; Tue, 15 May 2012 15:30:07 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12308 invoked from network); 15 May 2012 15:30:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910356"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-GZ;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:38 +0100
Message-ID: <1337095599-28836-4-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 3/4] pci: Add force_unplug callback.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/pci.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/hw/pci.c b/hw/pci.c
index b706e69..c58bbc1 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -1518,7 +1518,7 @@ static int pci_qdev_init(DeviceState *qdev)
     return 0;
 }
 
-static int pci_unplug_device(DeviceState *qdev)
+static int pci_unplug_device_common(DeviceState *qdev, PCIHotplugState state)
 {
     PCIDevice *dev = PCI_DEVICE(qdev);
     PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
@@ -1529,7 +1529,17 @@ static int pci_unplug_device(DeviceState *qdev)
     }
     object_unparent(OBJECT(dev));
     return dev->bus->hotplug(dev->bus->hotplug_qdev, dev,
-                             PCI_HOTPLUG_DISABLED);
+                             state);
+}
+
+static int pci_unplug_device(DeviceState *qdev)
+{
+    return pci_unplug_device_common(qdev, PCI_HOTPLUG_DISABLED);
+}
+
+static int pci_force_unplug_device(DeviceState *qdev)
+{
+    return pci_unplug_device_common(qdev, PCI_FORCE_EJECT);
 }
 
 PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
@@ -2000,6 +2010,7 @@ static void pci_device_class_init(ObjectClass *klass, void *data)
     DeviceClass *k = DEVICE_CLASS(klass);
     k->init = pci_qdev_init;
     k->unplug = pci_unplug_device;
+    k->force_unplug = pci_force_unplug_device;
     k->exit = pci_unregister_device;
     k->bus_info = &pci_bus_info;
 }
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhR-0002uJ-99; Tue, 15 May 2012 15:30:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhP-0002tW-CD
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:07 +0000
Received: from [193.109.254.147:21140] by server-6.bemta-14.messagelabs.com id
	9C/12-04960-E7672BF4; Tue, 15 May 2012 15:30:06 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12103 invoked from network); 15 May 2012 15:30:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910353"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-EJ;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:36 +0100
Message-ID: <1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This hotplug state will be used to remove a device without the guest
cooperation.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/acpi_piix4.c |    5 +++++
 hw/pci.h        |    1 +
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
index 585da4e..dfd5a9d 100644
--- a/hw/acpi_piix4.c
+++ b/hw/acpi_piix4.c
@@ -587,6 +587,11 @@ static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev,
         return 0;
     }
 
+    if (state == PCI_FORCE_EJECT) {
+        acpi_piix_eject_slot(s, 1 << slot);
+        return 0;
+    }
+
     if (state == PCI_HOTPLUG_ENABLED) {
         enable_device(s, slot);
     } else {
diff --git a/hw/pci.h b/hw/pci.h
index 8d0aa49..3b61e43 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -273,6 +273,7 @@ typedef enum {
     PCI_HOTPLUG_DISABLED,
     PCI_HOTPLUG_ENABLED,
     PCI_COLDPLUG_ENABLED,
+    PCI_FORCE_EJECT,
 } PCIHotplugState;
 
 typedef int (*pci_hotplug_fn)(DeviceState *qdev, PCIDevice *pci_dev,
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJhR-0002uJ-99; Tue, 15 May 2012 15:30:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUJhP-0002tW-CD
	for xen-devel@lists.xen.org; Tue, 15 May 2012 15:30:07 +0000
Received: from [193.109.254.147:21140] by server-6.bemta-14.messagelabs.com id
	9C/12-04960-E7672BF4; Tue, 15 May 2012 15:30:06 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337095804!9466262!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12103 invoked from network); 15 May 2012 15:30:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:30:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194910353"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:27:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:27:11 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUJeZ-00026H-EJ;
	Tue, 15 May 2012 16:27:11 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Tue, 15 May 2012 16:26:36 +0100
Message-ID: <1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This hotplug state will be used to remove a device without the guest
cooperation.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/acpi_piix4.c |    5 +++++
 hw/pci.h        |    1 +
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
index 585da4e..dfd5a9d 100644
--- a/hw/acpi_piix4.c
+++ b/hw/acpi_piix4.c
@@ -587,6 +587,11 @@ static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev,
         return 0;
     }
 
+    if (state == PCI_FORCE_EJECT) {
+        acpi_piix_eject_slot(s, 1 << slot);
+        return 0;
+    }
+
     if (state == PCI_HOTPLUG_ENABLED) {
         enable_device(s, slot);
     } else {
diff --git a/hw/pci.h b/hw/pci.h
index 8d0aa49..3b61e43 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -273,6 +273,7 @@ typedef enum {
     PCI_HOTPLUG_DISABLED,
     PCI_HOTPLUG_ENABLED,
     PCI_COLDPLUG_ENABLED,
+    PCI_FORCE_EJECT,
 } PCIHotplugState;
 
 typedef int (*pci_hotplug_fn)(DeviceState *qdev, PCIDevice *pci_dev,
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:49:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJzs-0004HS-8p; Tue, 15 May 2012 15:49:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJzq-0004HJ-H4
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:49:10 +0000
Received: from [193.109.254.147:56454] by server-4.bemta-14.messagelabs.com id
	88/C7-11570-5FA72BF4; Tue, 15 May 2012 15:49:09 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337096947!8519546!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12731 invoked from network); 15 May 2012 15:49:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:49:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194914845"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:48:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:48:19 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJz0-0002Vr-V8;
	Tue, 15 May 2012 16:48:18 +0100
Message-ID: <4FB27A74.3070605@eu.citrix.com>
Date: Tue, 15 May 2012 16:47:00 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1337093510@kodo2>
	<d555dd6614af4faec21e.1337093512@kodo2>
	<1337095764.19852.30.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337095764.19852.30.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 16:29, Ian Campbell wrote:
> On Tue, 2012-05-15 at 15:51 +0100, George Dunlap wrote:
>> Many places in xl there's a variable or element named "filename" which
>> does not contain a filename, but the source of the data for reporting
>> purposes.  Worse, there are variables which are sometimes actually
>> used or interpreted as a filename depending on what other variables
>> are set.  This makes it difficult to tell when a string is purely
>> cosmetic, and when another bit of code may actually attempt to call
>> "open" with the string.
>>
>> This patch makes a consistent distinction between "filename" (which
>> always refers to the name of an actual file, and may be interpreted as
>> such at some point) and "source" (which may be a filename, or may be
>> another data source such as a migration stream or saved data).
>>
>> This does add some variables and reshuffle where assignments happen;
>> most notably, the "restore_filename" element of struct domain_create
>> is now only set when restoring from a file.
>>
>> But at a high level, there should be no funcitonal changes.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> I've committed this (and the preceding patch), there were a few
> conflicts with Goncalo's vncviewer patch (a new param to
> parse_config_data). Please do check I've done the right thing.
Looks like you missed one s/config_file/config_source/ for 
parse_config_data; I'll follow-up with a patch.

  -George
>
>> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
>> --- a/tools/libxl/libxl_utils.c Tue May 15 15:45:55 2012 +0100
>> +++ b/tools/libxl/libxl_utils.c Tue May 15 15:51:25 2012 +0100
>> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
>>                                                                             \
>>     int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
>>                              constdata void *data, ssize_t sz,              \
>> -                           const char *filename, const char *what) {      \
>> +                           const char *source, const char *what) {      \
>>         ssize_t got;                                                        \
>>                                                                             \
>>         while (sz>  0) {                                                    \
>> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
>>                 if (errno == EINTR) continue;                               \
>>                 if (!ctx) return errno;                                     \
>>                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
>> -                           what?what:"", what?" from ":"", filename);     \
>> +                           what?what:"", what?" from ":"", source);       \
>>                 return errno;                                               \
>>             }                                                               \
>>             if (got == 0) {                                                 \
>> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
>>                        zero_is_eof                                          \
>>                        ? "file/stream truncated reading %s%s%s"             \
>>                        : "file/stream write returned 0! writing %s%s%s",    \
>> -                     what?what:"", what?" from ":"", filename);           \
>> +                     what?what:"", what?" from ":"", source);             \
>>                 return EPROTO;                                              \
>>             }                                                               \
>>             sz -= got;                                                      \
>> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
>> --- a/tools/libxl/xl_cmdimpl.c  Tue May 15 15:45:55 2012 +0100
>> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 15 15:51:25 2012 +0100
>> @@ -520,9 +520,9 @@ vcpp_out:
>>       return rc;
>>   }
>>
>> -static void parse_config_data(const char *configfile_filename_report,
>> -                              const char *configfile_data,
>> -                              int configfile_len,
>> +static void parse_config_data(const char *config_source,
>> +                              const char *config_data,
>> +                              int config_len,
>>                                 libxl_domain_config *d_config)
>>   {
>>       const char *buf;
>> @@ -537,15 +537,15 @@ static void parse_config_data(const char
>>       libxl_domain_create_info *c_info =&d_config->c_info;
>>       libxl_domain_build_info *b_info =&d_config->b_info;
>>
>> -    config= xlu_cfg_init(stderr, configfile_filename_report);
>> +    config= xlu_cfg_init(stderr, config_source);
>>       if (!config) {
>>           fprintf(stderr, "Failed to allocate for configuration\n");
>>           exit(1);
>>       }
>>
>> -    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
>> +    e= xlu_cfg_readdata(config, config_data, config_len);
>>       if (e) {
>> -        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
>> +        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
>>           exit(1);
>>       }
>>
>> @@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
>>       const char *config_file = dom_info->config_file;
>>       const char *extra_config = dom_info->extra_config;
>>       const char *restore_file = dom_info->restore_file;
>> +    const char *config_source = NULL;
>> +    const char *restore_source = NULL;
>>       int migrate_fd = dom_info->migrate_fd;
>>
>>       int i;
>> @@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
>>       pid_t child_console_pid = -1;
>>       struct save_file_header hdr;
>>
>> +    int restoring = (restore_file || (migrate_fd>= 0));
>> +
>>       libxl_domain_config_init(&d_config);
>>
>> -    if (restore_file) {
>> +    if (restoring) {
>>           uint8_t *optdata_begin = 0;
>>           const uint8_t *optdata_here = 0;
>>           union { uint32_t u32; char b[4]; } u32buf;
>>           uint32_t badflags;
>>
>>           if (migrate_fd>= 0) {
>> +            restore_source = "<incoming migration stream>";
>>               restore_fd = migrate_fd;
>>           } else {
>> +            restore_source = restore_file;
>>               restore_fd = open(restore_file, O_RDONLY);
>>               rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
>>               if (rc) return rc;
>>           }
>>
>>           CHK_ERRNO( libxl_read_exactly(ctx, restore_fd,&hdr,
>> -                   sizeof(hdr), restore_file, "header") );
>> +                   sizeof(hdr), restore_source, "header") );
>>           if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
>>               fprintf(stderr, "File has wrong magic number -"
>>                       " corrupt or for a different tool?\n");
>> @@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
>>           fprintf(stderr, "Loading new save file %s"
>>                   " (new xl fmt info"
>>                   " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
>> -                restore_file, hdr.mandatory_flags, hdr.optional_flags,
>> +                restore_source, hdr.mandatory_flags, hdr.optional_flags,
>>                   hdr.optional_data_len);
>>
>>           badflags = hdr.mandatory_flags&  ~( 0 /* none understood yet */ );
>> @@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
>>           if (hdr.optional_data_len) {
>>               optdata_begin = xmalloc(hdr.optional_data_len);
>>               CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
>> -                   hdr.optional_data_len, restore_file, "optdata") );
>> +                   hdr.optional_data_len, restore_source, "optdata") );
>>           }
>>
>>   #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
>> @@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
>>                                          &config_data,&config_len);
>>           if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
>>                              config_file, strerror(errno)); return ERROR_FAIL; }
>> -        if (!restore_file&&  extra_config&&  strlen(extra_config)) {
>> +        if (!restoring&&  extra_config&&  strlen(extra_config)) {
>>               if (config_len>  INT_MAX - (strlen(extra_config) + 2 + 1)) {
>>                   fprintf(stderr, "Failed to attach extra configration\n");
>>                   return ERROR_FAIL;
>> @@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
>>               config_len += sprintf(config_data + config_len, "\n%s\n",
>>                   extra_config);
>>           }
>> +        config_source=config_file;
>>       } else {
>>           if (!config_data) {
>>               fprintf(stderr, "Config file not specified and"
>>                       " none in save file\n");
>>               return ERROR_INVAL;
>>           }
>> -        config_file = "<saved>";
>> +        config_source = "<saved>";
>>       }
>>
>>       if (!dom_info->quiet)
>> -        printf("Parsing config file %s\n", config_file);
>> -
>> -    parse_config_data(config_file, config_data, config_len,&d_config);
>> +        printf("Parsing config from %s\n", config_source);
>> +
>> +    parse_config_data(config_source, config_data, config_len,&d_config);
>>
>>       if (migrate_fd>= 0) {
>>           if (d_config.c_info.name) {
>> @@ -1698,7 +1705,7 @@ start:
>>           autoconnect_console_how = 0;
>>       }
>>
>> -    if ( restore_file ) {
>> +    if ( restoring ) {
>>           ret = libxl_domain_create_restore(ctx,&d_config,
>>                                             &domid, restore_fd,
>>                                             0, autoconnect_console_how);
>> @@ -2559,7 +2566,7 @@ static void list_domains_details(const l
>>   {
>>       libxl_domain_config d_config;
>>
>> -    char *config_file;
>> +    char *config_source;
>>       uint8_t *data;
>>       int i, len, rc;
>>
>> @@ -2570,13 +2577,13 @@ static void list_domains_details(const l
>>           rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl",&data,&len);
>>           if (rc)
>>               continue;
>> -        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
>> +        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
>>           libxl_domain_config_init(&d_config);
>> -        parse_config_data(config_file, (char *)data, len,&d_config);
>> +        parse_config_data(config_source, (char *)data, len,&d_config);
>>           printf_info(default_output_format, info[i].domid,&d_config);
>>           libxl_domain_config_dispose(&d_config);
>>           free(data);
>> -        free(config_file);
>> +        free(config_source);
>>       }
>>   }
>>
>> @@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
>>       }
>>   }
>>
>> -static void save_domain_core_writeconfig(int fd, const char *filename,
>> +static void save_domain_core_writeconfig(int fd, const char *source,
>>                                     const uint8_t *config_data, int config_len)
>>   {
>>       struct save_file_header hdr;
>> @@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
>>       /* that's the optional data */
>>
>>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
>> -&hdr, sizeof(hdr), filename, "header") );
>> +&hdr, sizeof(hdr), source, "header") );
>>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
>> -        optdata_begin, hdr.optional_data_len, filename, "header") );
>> +        optdata_begin, hdr.optional_data_len, source, "header") );
>>
>>       fprintf(stderr, "Saving to %s new xl format (info"
>>               " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
>> -            filename, hdr.mandatory_flags, hdr.optional_flags,
>> +            source, hdr.mandatory_flags, hdr.optional_flags,
>>               hdr.optional_data_len);
>>   }
>>
>> @@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
>>       dom_info.daemonize = daemonize;
>>       dom_info.monitor = monitor;
>>       dom_info.paused = 1;
>> -    dom_info.restore_file = "incoming migration stream";
>>       dom_info.migrate_fd = 0; /* stdin */
>>       dom_info.migration_domname_r =&migration_domname;
>>       dom_info.incr_generationid = 0;
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:49:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUJzs-0004HS-8p; Tue, 15 May 2012 15:49:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUJzq-0004HJ-H4
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:49:10 +0000
Received: from [193.109.254.147:56454] by server-4.bemta-14.messagelabs.com id
	88/C7-11570-5FA72BF4; Tue, 15 May 2012 15:49:09 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337096947!8519546!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI0MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12731 invoked from network); 15 May 2012 15:49:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:49:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="194914845"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:48:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:48:19 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUJz0-0002Vr-V8;
	Tue, 15 May 2012 16:48:18 +0100
Message-ID: <4FB27A74.3070605@eu.citrix.com>
Date: Tue, 15 May 2012 16:47:00 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <patchbomb.1337093510@kodo2>
	<d555dd6614af4faec21e.1337093512@kodo2>
	<1337095764.19852.30.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337095764.19852.30.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 16:29, Ian Campbell wrote:
> On Tue, 2012-05-15 at 15:51 +0100, George Dunlap wrote:
>> Many places in xl there's a variable or element named "filename" which
>> does not contain a filename, but the source of the data for reporting
>> purposes.  Worse, there are variables which are sometimes actually
>> used or interpreted as a filename depending on what other variables
>> are set.  This makes it difficult to tell when a string is purely
>> cosmetic, and when another bit of code may actually attempt to call
>> "open" with the string.
>>
>> This patch makes a consistent distinction between "filename" (which
>> always refers to the name of an actual file, and may be interpreted as
>> such at some point) and "source" (which may be a filename, or may be
>> another data source such as a migration stream or saved data).
>>
>> This does add some variables and reshuffle where assignments happen;
>> most notably, the "restore_filename" element of struct domain_create
>> is now only set when restoring from a file.
>>
>> But at a high level, there should be no funcitonal changes.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> I've committed this (and the preceding patch), there were a few
> conflicts with Goncalo's vncviewer patch (a new param to
> parse_config_data). Please do check I've done the right thing.
Looks like you missed one s/config_file/config_source/ for 
parse_config_data; I'll follow-up with a patch.

  -George
>
>> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
>> --- a/tools/libxl/libxl_utils.c Tue May 15 15:45:55 2012 +0100
>> +++ b/tools/libxl/libxl_utils.c Tue May 15 15:51:25 2012 +0100
>> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
>>                                                                             \
>>     int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
>>                              constdata void *data, ssize_t sz,              \
>> -                           const char *filename, const char *what) {      \
>> +                           const char *source, const char *what) {      \
>>         ssize_t got;                                                        \
>>                                                                             \
>>         while (sz>  0) {                                                    \
>> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
>>                 if (errno == EINTR) continue;                               \
>>                 if (!ctx) return errno;                                     \
>>                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
>> -                           what?what:"", what?" from ":"", filename);     \
>> +                           what?what:"", what?" from ":"", source);       \
>>                 return errno;                                               \
>>             }                                                               \
>>             if (got == 0) {                                                 \
>> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
>>                        zero_is_eof                                          \
>>                        ? "file/stream truncated reading %s%s%s"             \
>>                        : "file/stream write returned 0! writing %s%s%s",    \
>> -                     what?what:"", what?" from ":"", filename);           \
>> +                     what?what:"", what?" from ":"", source);             \
>>                 return EPROTO;                                              \
>>             }                                                               \
>>             sz -= got;                                                      \
>> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
>> --- a/tools/libxl/xl_cmdimpl.c  Tue May 15 15:45:55 2012 +0100
>> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 15 15:51:25 2012 +0100
>> @@ -520,9 +520,9 @@ vcpp_out:
>>       return rc;
>>   }
>>
>> -static void parse_config_data(const char *configfile_filename_report,
>> -                              const char *configfile_data,
>> -                              int configfile_len,
>> +static void parse_config_data(const char *config_source,
>> +                              const char *config_data,
>> +                              int config_len,
>>                                 libxl_domain_config *d_config)
>>   {
>>       const char *buf;
>> @@ -537,15 +537,15 @@ static void parse_config_data(const char
>>       libxl_domain_create_info *c_info =&d_config->c_info;
>>       libxl_domain_build_info *b_info =&d_config->b_info;
>>
>> -    config= xlu_cfg_init(stderr, configfile_filename_report);
>> +    config= xlu_cfg_init(stderr, config_source);
>>       if (!config) {
>>           fprintf(stderr, "Failed to allocate for configuration\n");
>>           exit(1);
>>       }
>>
>> -    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
>> +    e= xlu_cfg_readdata(config, config_data, config_len);
>>       if (e) {
>> -        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
>> +        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
>>           exit(1);
>>       }
>>
>> @@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
>>       const char *config_file = dom_info->config_file;
>>       const char *extra_config = dom_info->extra_config;
>>       const char *restore_file = dom_info->restore_file;
>> +    const char *config_source = NULL;
>> +    const char *restore_source = NULL;
>>       int migrate_fd = dom_info->migrate_fd;
>>
>>       int i;
>> @@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
>>       pid_t child_console_pid = -1;
>>       struct save_file_header hdr;
>>
>> +    int restoring = (restore_file || (migrate_fd>= 0));
>> +
>>       libxl_domain_config_init(&d_config);
>>
>> -    if (restore_file) {
>> +    if (restoring) {
>>           uint8_t *optdata_begin = 0;
>>           const uint8_t *optdata_here = 0;
>>           union { uint32_t u32; char b[4]; } u32buf;
>>           uint32_t badflags;
>>
>>           if (migrate_fd>= 0) {
>> +            restore_source = "<incoming migration stream>";
>>               restore_fd = migrate_fd;
>>           } else {
>> +            restore_source = restore_file;
>>               restore_fd = open(restore_file, O_RDONLY);
>>               rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
>>               if (rc) return rc;
>>           }
>>
>>           CHK_ERRNO( libxl_read_exactly(ctx, restore_fd,&hdr,
>> -                   sizeof(hdr), restore_file, "header") );
>> +                   sizeof(hdr), restore_source, "header") );
>>           if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
>>               fprintf(stderr, "File has wrong magic number -"
>>                       " corrupt or for a different tool?\n");
>> @@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
>>           fprintf(stderr, "Loading new save file %s"
>>                   " (new xl fmt info"
>>                   " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
>> -                restore_file, hdr.mandatory_flags, hdr.optional_flags,
>> +                restore_source, hdr.mandatory_flags, hdr.optional_flags,
>>                   hdr.optional_data_len);
>>
>>           badflags = hdr.mandatory_flags&  ~( 0 /* none understood yet */ );
>> @@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
>>           if (hdr.optional_data_len) {
>>               optdata_begin = xmalloc(hdr.optional_data_len);
>>               CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
>> -                   hdr.optional_data_len, restore_file, "optdata") );
>> +                   hdr.optional_data_len, restore_source, "optdata") );
>>           }
>>
>>   #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
>> @@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
>>                                          &config_data,&config_len);
>>           if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
>>                              config_file, strerror(errno)); return ERROR_FAIL; }
>> -        if (!restore_file&&  extra_config&&  strlen(extra_config)) {
>> +        if (!restoring&&  extra_config&&  strlen(extra_config)) {
>>               if (config_len>  INT_MAX - (strlen(extra_config) + 2 + 1)) {
>>                   fprintf(stderr, "Failed to attach extra configration\n");
>>                   return ERROR_FAIL;
>> @@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
>>               config_len += sprintf(config_data + config_len, "\n%s\n",
>>                   extra_config);
>>           }
>> +        config_source=config_file;
>>       } else {
>>           if (!config_data) {
>>               fprintf(stderr, "Config file not specified and"
>>                       " none in save file\n");
>>               return ERROR_INVAL;
>>           }
>> -        config_file = "<saved>";
>> +        config_source = "<saved>";
>>       }
>>
>>       if (!dom_info->quiet)
>> -        printf("Parsing config file %s\n", config_file);
>> -
>> -    parse_config_data(config_file, config_data, config_len,&d_config);
>> +        printf("Parsing config from %s\n", config_source);
>> +
>> +    parse_config_data(config_source, config_data, config_len,&d_config);
>>
>>       if (migrate_fd>= 0) {
>>           if (d_config.c_info.name) {
>> @@ -1698,7 +1705,7 @@ start:
>>           autoconnect_console_how = 0;
>>       }
>>
>> -    if ( restore_file ) {
>> +    if ( restoring ) {
>>           ret = libxl_domain_create_restore(ctx,&d_config,
>>                                             &domid, restore_fd,
>>                                             0, autoconnect_console_how);
>> @@ -2559,7 +2566,7 @@ static void list_domains_details(const l
>>   {
>>       libxl_domain_config d_config;
>>
>> -    char *config_file;
>> +    char *config_source;
>>       uint8_t *data;
>>       int i, len, rc;
>>
>> @@ -2570,13 +2577,13 @@ static void list_domains_details(const l
>>           rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl",&data,&len);
>>           if (rc)
>>               continue;
>> -        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
>> +        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
>>           libxl_domain_config_init(&d_config);
>> -        parse_config_data(config_file, (char *)data, len,&d_config);
>> +        parse_config_data(config_source, (char *)data, len,&d_config);
>>           printf_info(default_output_format, info[i].domid,&d_config);
>>           libxl_domain_config_dispose(&d_config);
>>           free(data);
>> -        free(config_file);
>> +        free(config_source);
>>       }
>>   }
>>
>> @@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
>>       }
>>   }
>>
>> -static void save_domain_core_writeconfig(int fd, const char *filename,
>> +static void save_domain_core_writeconfig(int fd, const char *source,
>>                                     const uint8_t *config_data, int config_len)
>>   {
>>       struct save_file_header hdr;
>> @@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
>>       /* that's the optional data */
>>
>>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
>> -&hdr, sizeof(hdr), filename, "header") );
>> +&hdr, sizeof(hdr), source, "header") );
>>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
>> -        optdata_begin, hdr.optional_data_len, filename, "header") );
>> +        optdata_begin, hdr.optional_data_len, source, "header") );
>>
>>       fprintf(stderr, "Saving to %s new xl format (info"
>>               " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
>> -            filename, hdr.mandatory_flags, hdr.optional_flags,
>> +            source, hdr.mandatory_flags, hdr.optional_flags,
>>               hdr.optional_data_len);
>>   }
>>
>> @@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
>>       dom_info.daemonize = daemonize;
>>       dom_info.monitor = monitor;
>>       dom_info.paused = 1;
>> -    dom_info.restore_file = "incoming migration stream";
>>       dom_info.migrate_fd = 0; /* stdin */
>>       dom_info.migration_domname_r =&migration_domname;
>>       dom_info.incr_generationid = 0;
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:52:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:52:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUK2Y-0004Q6-IW; Tue, 15 May 2012 15:51:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUK2W-0004Pw-I7
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:51:56 +0000
Received: from [85.158.138.51:42093] by server-10.bemta-3.messagelabs.com id
	99/F0-29478-B9B72BF4; Tue, 15 May 2012 15:51:55 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337097113!25494843!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30544 invoked from network); 15 May 2012 15:51:54 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:51:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25202758"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:51:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:51:52 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUK2S-0002ZO-2Z;
	Tue, 15 May 2012 16:51:52 +0100
MIME-Version: 1.0
X-Mercurial-Node: 99244350516a1543ae5bc1057ffb5b60a7666be6
Message-ID: <99244350516a1543ae5b.1337096954@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 16:49:14 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH] xl: Fixup filename->source after
	25344:0f3b1e13d6af
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Because of conflicts with another patch, changeset 25344:0f3b1e13d6af missed
one change.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r ec972fec40a3 -r 99244350516a tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 16:28:16 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 16:48:49 2012 +0100
@@ -1931,7 +1931,7 @@ start:
                 /* Reparse the configuration in case it has changed */
                 libxl_domain_config_dispose(&d_config);
                 libxl_domain_config_init(&d_config);
-                parse_config_data(config_file, config_data, config_len,
+                parse_config_data(config_source, config_data, config_len,
                                   &d_config, dom_info);
 
                 /*

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:52:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:52:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUK2Y-0004Q6-IW; Tue, 15 May 2012 15:51:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUK2W-0004Pw-I7
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:51:56 +0000
Received: from [85.158.138.51:42093] by server-10.bemta-3.messagelabs.com id
	99/F0-29478-B9B72BF4; Tue, 15 May 2012 15:51:55 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337097113!25494843!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30544 invoked from network); 15 May 2012 15:51:54 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:51:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25202758"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:51:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:51:52 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUK2S-0002ZO-2Z;
	Tue, 15 May 2012 16:51:52 +0100
MIME-Version: 1.0
X-Mercurial-Node: 99244350516a1543ae5bc1057ffb5b60a7666be6
Message-ID: <99244350516a1543ae5b.1337096954@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 16:49:14 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH] xl: Fixup filename->source after
	25344:0f3b1e13d6af
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Because of conflicts with another patch, changeset 25344:0f3b1e13d6af missed
one change.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r ec972fec40a3 -r 99244350516a tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 15 16:28:16 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 16:48:49 2012 +0100
@@ -1931,7 +1931,7 @@ start:
                 /* Reparse the configuration in case it has changed */
                 libxl_domain_config_dispose(&d_config);
                 libxl_domain_config_init(&d_config);
-                parse_config_data(config_file, config_data, config_len,
+                parse_config_data(config_source, config_data, config_len,
                                   &d_config, dom_info);
 
                 /*

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:52:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:52:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUK2u-0004S7-VA; Tue, 15 May 2012 15:52:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUK2s-0004Ro-Tn
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:52:19 +0000
Received: from [85.158.138.51:46282] by server-4.bemta-3.messagelabs.com id
	F3/F1-15341-2BB72BF4; Tue, 15 May 2012 15:52:18 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337097135!19168262!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11495 invoked from network); 15 May 2012 15:52:17 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:52:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25202794"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:52:15 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:52:15 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUK2o-0002Zv-PL;
	Tue, 15 May 2012 16:52:14 +0100
MIME-Version: 1.0
X-Mercurial-Node: db614e92faf743e20b3f6cd06ba31ec8afbc873a
Message-ID: <db614e92faf743e20b3f.1337096977@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 16:49:37 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Older kernels, such as those found in Debian Squeeze:
* Have bugs in handling of AIO into foreign pages
* Have blktap modules, which will cause qemu not to use AIO, but
which are not loaded on boot.

Attempt to load blktap in xencommons, to make sure modern qemu's which
use AIO will work properly on those kernels.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
--- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
+++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
@@ -59,6 +59,7 @@ do_start () {
 	modprobe evtchn 2>/dev/null
 	modprobe gntdev 2>/dev/null
 	modprobe xen-acpi-processor 2>/dev/null
+	modprobe blktap 2>/dev/null
 	mkdir -p /var/run/xen
 
 	if ! `xenstore-read -s / >/dev/null 2>&1`

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:52:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:52:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUK2u-0004S7-VA; Tue, 15 May 2012 15:52:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUK2s-0004Ro-Tn
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:52:19 +0000
Received: from [85.158.138.51:46282] by server-4.bemta-3.messagelabs.com id
	F3/F1-15341-2BB72BF4; Tue, 15 May 2012 15:52:18 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337097135!19168262!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11495 invoked from network); 15 May 2012 15:52:17 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:52:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25202794"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 11:52:15 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 11:52:15 -0400
Received: from kodo2.uk.xensource.com ([10.80.227.109] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUK2o-0002Zv-PL;
	Tue, 15 May 2012 16:52:14 +0100
MIME-Version: 1.0
X-Mercurial-Node: db614e92faf743e20b3f6cd06ba31ec8afbc873a
Message-ID: <db614e92faf743e20b3f.1337096977@kodo2>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 15 May 2012 16:49:37 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Older kernels, such as those found in Debian Squeeze:
* Have bugs in handling of AIO into foreign pages
* Have blktap modules, which will cause qemu not to use AIO, but
which are not loaded on boot.

Attempt to load blktap in xencommons, to make sure modern qemu's which
use AIO will work properly on those kernels.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
--- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
+++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
@@ -59,6 +59,7 @@ do_start () {
 	modprobe evtchn 2>/dev/null
 	modprobe gntdev 2>/dev/null
 	modprobe xen-acpi-processor 2>/dev/null
+	modprobe blktap 2>/dev/null
 	mkdir -p /var/run/xen
 
 	if ! `xenstore-read -s / >/dev/null 2>&1`

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:53:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:53:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUK3U-0004WS-Cs; Tue, 15 May 2012 15:52:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUK3S-0004W9-Sb
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:52:55 +0000
Received: from [193.109.254.147:45548] by server-12.bemta-14.messagelabs.com
	id 59/EA-05898-6DB72BF4; Tue, 15 May 2012 15:52:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337097173!3732638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8498 invoked from network); 15 May 2012 15:52:53 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:52:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487764"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:52:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:52:52 +0100
Message-ID: <1337097171.19852.31.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:52:51 +0100
In-Reply-To: <4FB27A74.3070605@eu.citrix.com>
References: <patchbomb.1337093510@kodo2>
	<d555dd6614af4faec21e.1337093512@kodo2>
	<1337095764.19852.30.camel@zakaz.uk.xensource.com>
	<4FB27A74.3070605@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 16:47 +0100, George Dunlap wrote:
> On 15/05/12 16:29, Ian Campbell wrote:
> > On Tue, 2012-05-15 at 15:51 +0100, George Dunlap wrote:
> >> Many places in xl there's a variable or element named "filename" which
> >> does not contain a filename, but the source of the data for reporting
> >> purposes.  Worse, there are variables which are sometimes actually
> >> used or interpreted as a filename depending on what other variables
> >> are set.  This makes it difficult to tell when a string is purely
> >> cosmetic, and when another bit of code may actually attempt to call
> >> "open" with the string.
> >>
> >> This patch makes a consistent distinction between "filename" (which
> >> always refers to the name of an actual file, and may be interpreted as
> >> such at some point) and "source" (which may be a filename, or may be
> >> another data source such as a migration stream or saved data).
> >>
> >> This does add some variables and reshuffle where assignments happen;
> >> most notably, the "restore_filename" element of struct domain_create
> >> is now only set when restoring from a file.
> >>
> >> But at a high level, there should be no funcitonal changes.
> >>
> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> > I've committed this (and the preceding patch), there were a few
> > conflicts with Goncalo's vncviewer patch (a new param to
> > parse_config_data). Please do check I've done the right thing.
> Looks like you missed one s/config_file/config_source/ for 
> parse_config_data; I'll follow-up with a patch.

Thanks, I did build test but I guess this is a runtime issue?

> 
>   -George
> >
> >> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
> >> --- a/tools/libxl/libxl_utils.c Tue May 15 15:45:55 2012 +0100
> >> +++ b/tools/libxl/libxl_utils.c Tue May 15 15:51:25 2012 +0100
> >> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
> >>                                                                             \
> >>     int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
> >>                              constdata void *data, ssize_t sz,              \
> >> -                           const char *filename, const char *what) {      \
> >> +                           const char *source, const char *what) {      \
> >>         ssize_t got;                                                        \
> >>                                                                             \
> >>         while (sz>  0) {                                                    \
> >> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
> >>                 if (errno == EINTR) continue;                               \
> >>                 if (!ctx) return errno;                                     \
> >>                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
> >> -                           what?what:"", what?" from ":"", filename);     \
> >> +                           what?what:"", what?" from ":"", source);       \
> >>                 return errno;                                               \
> >>             }                                                               \
> >>             if (got == 0) {                                                 \
> >> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
> >>                        zero_is_eof                                          \
> >>                        ? "file/stream truncated reading %s%s%s"             \
> >>                        : "file/stream write returned 0! writing %s%s%s",    \
> >> -                     what?what:"", what?" from ":"", filename);           \
> >> +                     what?what:"", what?" from ":"", source);             \
> >>                 return EPROTO;                                              \
> >>             }                                                               \
> >>             sz -= got;                                                      \
> >> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
> >> --- a/tools/libxl/xl_cmdimpl.c  Tue May 15 15:45:55 2012 +0100
> >> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 15 15:51:25 2012 +0100
> >> @@ -520,9 +520,9 @@ vcpp_out:
> >>       return rc;
> >>   }
> >>
> >> -static void parse_config_data(const char *configfile_filename_report,
> >> -                              const char *configfile_data,
> >> -                              int configfile_len,
> >> +static void parse_config_data(const char *config_source,
> >> +                              const char *config_data,
> >> +                              int config_len,
> >>                                 libxl_domain_config *d_config)
> >>   {
> >>       const char *buf;
> >> @@ -537,15 +537,15 @@ static void parse_config_data(const char
> >>       libxl_domain_create_info *c_info =&d_config->c_info;
> >>       libxl_domain_build_info *b_info =&d_config->b_info;
> >>
> >> -    config= xlu_cfg_init(stderr, configfile_filename_report);
> >> +    config= xlu_cfg_init(stderr, config_source);
> >>       if (!config) {
> >>           fprintf(stderr, "Failed to allocate for configuration\n");
> >>           exit(1);
> >>       }
> >>
> >> -    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
> >> +    e= xlu_cfg_readdata(config, config_data, config_len);
> >>       if (e) {
> >> -        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
> >> +        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
> >>           exit(1);
> >>       }
> >>
> >> @@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
> >>       const char *config_file = dom_info->config_file;
> >>       const char *extra_config = dom_info->extra_config;
> >>       const char *restore_file = dom_info->restore_file;
> >> +    const char *config_source = NULL;
> >> +    const char *restore_source = NULL;
> >>       int migrate_fd = dom_info->migrate_fd;
> >>
> >>       int i;
> >> @@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
> >>       pid_t child_console_pid = -1;
> >>       struct save_file_header hdr;
> >>
> >> +    int restoring = (restore_file || (migrate_fd>= 0));
> >> +
> >>       libxl_domain_config_init(&d_config);
> >>
> >> -    if (restore_file) {
> >> +    if (restoring) {
> >>           uint8_t *optdata_begin = 0;
> >>           const uint8_t *optdata_here = 0;
> >>           union { uint32_t u32; char b[4]; } u32buf;
> >>           uint32_t badflags;
> >>
> >>           if (migrate_fd>= 0) {
> >> +            restore_source = "<incoming migration stream>";
> >>               restore_fd = migrate_fd;
> >>           } else {
> >> +            restore_source = restore_file;
> >>               restore_fd = open(restore_file, O_RDONLY);
> >>               rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
> >>               if (rc) return rc;
> >>           }
> >>
> >>           CHK_ERRNO( libxl_read_exactly(ctx, restore_fd,&hdr,
> >> -                   sizeof(hdr), restore_file, "header") );
> >> +                   sizeof(hdr), restore_source, "header") );
> >>           if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
> >>               fprintf(stderr, "File has wrong magic number -"
> >>                       " corrupt or for a different tool?\n");
> >> @@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
> >>           fprintf(stderr, "Loading new save file %s"
> >>                   " (new xl fmt info"
> >>                   " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> >> -                restore_file, hdr.mandatory_flags, hdr.optional_flags,
> >> +                restore_source, hdr.mandatory_flags, hdr.optional_flags,
> >>                   hdr.optional_data_len);
> >>
> >>           badflags = hdr.mandatory_flags&  ~( 0 /* none understood yet */ );
> >> @@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
> >>           if (hdr.optional_data_len) {
> >>               optdata_begin = xmalloc(hdr.optional_data_len);
> >>               CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
> >> -                   hdr.optional_data_len, restore_file, "optdata") );
> >> +                   hdr.optional_data_len, restore_source, "optdata") );
> >>           }
> >>
> >>   #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
> >> @@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
> >>                                          &config_data,&config_len);
> >>           if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
> >>                              config_file, strerror(errno)); return ERROR_FAIL; }
> >> -        if (!restore_file&&  extra_config&&  strlen(extra_config)) {
> >> +        if (!restoring&&  extra_config&&  strlen(extra_config)) {
> >>               if (config_len>  INT_MAX - (strlen(extra_config) + 2 + 1)) {
> >>                   fprintf(stderr, "Failed to attach extra configration\n");
> >>                   return ERROR_FAIL;
> >> @@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
> >>               config_len += sprintf(config_data + config_len, "\n%s\n",
> >>                   extra_config);
> >>           }
> >> +        config_source=config_file;
> >>       } else {
> >>           if (!config_data) {
> >>               fprintf(stderr, "Config file not specified and"
> >>                       " none in save file\n");
> >>               return ERROR_INVAL;
> >>           }
> >> -        config_file = "<saved>";
> >> +        config_source = "<saved>";
> >>       }
> >>
> >>       if (!dom_info->quiet)
> >> -        printf("Parsing config file %s\n", config_file);
> >> -
> >> -    parse_config_data(config_file, config_data, config_len,&d_config);
> >> +        printf("Parsing config from %s\n", config_source);
> >> +
> >> +    parse_config_data(config_source, config_data, config_len,&d_config);
> >>
> >>       if (migrate_fd>= 0) {
> >>           if (d_config.c_info.name) {
> >> @@ -1698,7 +1705,7 @@ start:
> >>           autoconnect_console_how = 0;
> >>       }
> >>
> >> -    if ( restore_file ) {
> >> +    if ( restoring ) {
> >>           ret = libxl_domain_create_restore(ctx,&d_config,
> >>                                             &domid, restore_fd,
> >>                                             0, autoconnect_console_how);
> >> @@ -2559,7 +2566,7 @@ static void list_domains_details(const l
> >>   {
> >>       libxl_domain_config d_config;
> >>
> >> -    char *config_file;
> >> +    char *config_source;
> >>       uint8_t *data;
> >>       int i, len, rc;
> >>
> >> @@ -2570,13 +2577,13 @@ static void list_domains_details(const l
> >>           rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl",&data,&len);
> >>           if (rc)
> >>               continue;
> >> -        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
> >> +        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
> >>           libxl_domain_config_init(&d_config);
> >> -        parse_config_data(config_file, (char *)data, len,&d_config);
> >> +        parse_config_data(config_source, (char *)data, len,&d_config);
> >>           printf_info(default_output_format, info[i].domid,&d_config);
> >>           libxl_domain_config_dispose(&d_config);
> >>           free(data);
> >> -        free(config_file);
> >> +        free(config_source);
> >>       }
> >>   }
> >>
> >> @@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
> >>       }
> >>   }
> >>
> >> -static void save_domain_core_writeconfig(int fd, const char *filename,
> >> +static void save_domain_core_writeconfig(int fd, const char *source,
> >>                                     const uint8_t *config_data, int config_len)
> >>   {
> >>       struct save_file_header hdr;
> >> @@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
> >>       /* that's the optional data */
> >>
> >>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
> >> -&hdr, sizeof(hdr), filename, "header") );
> >> +&hdr, sizeof(hdr), source, "header") );
> >>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
> >> -        optdata_begin, hdr.optional_data_len, filename, "header") );
> >> +        optdata_begin, hdr.optional_data_len, source, "header") );
> >>
> >>       fprintf(stderr, "Saving to %s new xl format (info"
> >>               " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> >> -            filename, hdr.mandatory_flags, hdr.optional_flags,
> >> +            source, hdr.mandatory_flags, hdr.optional_flags,
> >>               hdr.optional_data_len);
> >>   }
> >>
> >> @@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
> >>       dom_info.daemonize = daemonize;
> >>       dom_info.monitor = monitor;
> >>       dom_info.paused = 1;
> >> -    dom_info.restore_file = "incoming migration stream";
> >>       dom_info.migrate_fd = 0; /* stdin */
> >>       dom_info.migration_domname_r =&migration_domname;
> >>       dom_info.incr_generationid = 0;
> >>
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@lists.xen.org
> >> http://lists.xen.org/xen-devel
> >
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 15:53:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 15:53:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUK3U-0004WS-Cs; Tue, 15 May 2012 15:52:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUK3S-0004W9-Sb
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 15:52:55 +0000
Received: from [193.109.254.147:45548] by server-12.bemta-14.messagelabs.com
	id 59/EA-05898-6DB72BF4; Tue, 15 May 2012 15:52:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337097173!3732638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8498 invoked from network); 15 May 2012 15:52:53 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 15:52:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12487764"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 15:52:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 16:52:52 +0100
Message-ID: <1337097171.19852.31.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 16:52:51 +0100
In-Reply-To: <4FB27A74.3070605@eu.citrix.com>
References: <patchbomb.1337093510@kodo2>
	<d555dd6614af4faec21e.1337093512@kodo2>
	<1337095764.19852.30.camel@zakaz.uk.xensource.com>
	<4FB27A74.3070605@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2] xl: Make clear distinction between
 "filename" and "data source"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 16:47 +0100, George Dunlap wrote:
> On 15/05/12 16:29, Ian Campbell wrote:
> > On Tue, 2012-05-15 at 15:51 +0100, George Dunlap wrote:
> >> Many places in xl there's a variable or element named "filename" which
> >> does not contain a filename, but the source of the data for reporting
> >> purposes.  Worse, there are variables which are sometimes actually
> >> used or interpreted as a filename depending on what other variables
> >> are set.  This makes it difficult to tell when a string is purely
> >> cosmetic, and when another bit of code may actually attempt to call
> >> "open" with the string.
> >>
> >> This patch makes a consistent distinction between "filename" (which
> >> always refers to the name of an actual file, and may be interpreted as
> >> such at some point) and "source" (which may be a filename, or may be
> >> another data source such as a migration stream or saved data).
> >>
> >> This does add some variables and reshuffle where assignments happen;
> >> most notably, the "restore_filename" element of struct domain_create
> >> is now only set when restoring from a file.
> >>
> >> But at a high level, there should be no funcitonal changes.
> >>
> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> > I've committed this (and the preceding patch), there were a few
> > conflicts with Goncalo's vncviewer patch (a new param to
> > parse_config_data). Please do check I've done the right thing.
> Looks like you missed one s/config_file/config_source/ for 
> parse_config_data; I'll follow-up with a patch.

Thanks, I did build test but I guess this is a runtime issue?

> 
>   -George
> >
> >> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/libxl_utils.c
> >> --- a/tools/libxl/libxl_utils.c Tue May 15 15:45:55 2012 +0100
> >> +++ b/tools/libxl/libxl_utils.c Tue May 15 15:51:25 2012 +0100
> >> @@ -334,7 +334,7 @@ int libxl_read_file_contents(libxl_ctx *
> >>                                                                             \
> >>     int libxl_##rw##_exactly(libxl_ctx *ctx, int fd,                 \
> >>                              constdata void *data, ssize_t sz,              \
> >> -                           const char *filename, const char *what) {      \
> >> +                           const char *source, const char *what) {      \
> >>         ssize_t got;                                                        \
> >>                                                                             \
> >>         while (sz>  0) {                                                    \
> >> @@ -343,7 +343,7 @@ int libxl_read_file_contents(libxl_ctx *
> >>                 if (errno == EINTR) continue;                               \
> >>                 if (!ctx) return errno;                                     \
> >>                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to " #rw " %s%s%s", \
> >> -                           what?what:"", what?" from ":"", filename);     \
> >> +                           what?what:"", what?" from ":"", source);       \
> >>                 return errno;                                               \
> >>             }                                                               \
> >>             if (got == 0) {                                                 \
> >> @@ -352,7 +352,7 @@ int libxl_read_file_contents(libxl_ctx *
> >>                        zero_is_eof                                          \
> >>                        ? "file/stream truncated reading %s%s%s"             \
> >>                        : "file/stream write returned 0! writing %s%s%s",    \
> >> -                     what?what:"", what?" from ":"", filename);           \
> >> +                     what?what:"", what?" from ":"", source);             \
> >>                 return EPROTO;                                              \
> >>             }                                                               \
> >>             sz -= got;                                                      \
> >> diff -r 750b4dbab4b5 -r d555dd6614af tools/libxl/xl_cmdimpl.c
> >> --- a/tools/libxl/xl_cmdimpl.c  Tue May 15 15:45:55 2012 +0100
> >> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 15 15:51:25 2012 +0100
> >> @@ -520,9 +520,9 @@ vcpp_out:
> >>       return rc;
> >>   }
> >>
> >> -static void parse_config_data(const char *configfile_filename_report,
> >> -                              const char *configfile_data,
> >> -                              int configfile_len,
> >> +static void parse_config_data(const char *config_source,
> >> +                              const char *config_data,
> >> +                              int config_len,
> >>                                 libxl_domain_config *d_config)
> >>   {
> >>       const char *buf;
> >> @@ -537,15 +537,15 @@ static void parse_config_data(const char
> >>       libxl_domain_create_info *c_info =&d_config->c_info;
> >>       libxl_domain_build_info *b_info =&d_config->b_info;
> >>
> >> -    config= xlu_cfg_init(stderr, configfile_filename_report);
> >> +    config= xlu_cfg_init(stderr, config_source);
> >>       if (!config) {
> >>           fprintf(stderr, "Failed to allocate for configuration\n");
> >>           exit(1);
> >>       }
> >>
> >> -    e= xlu_cfg_readdata(config, configfile_data, configfile_len);
> >> +    e= xlu_cfg_readdata(config, config_data, config_len);
> >>       if (e) {
> >> -        fprintf(stderr, "Failed to parse config file: %s\n", strerror(e));
> >> +        fprintf(stderr, "Failed to parse config: %s\n", strerror(e));
> >>           exit(1);
> >>       }
> >>
> >> @@ -1524,6 +1524,8 @@ static int create_domain(struct domain_c
> >>       const char *config_file = dom_info->config_file;
> >>       const char *extra_config = dom_info->extra_config;
> >>       const char *restore_file = dom_info->restore_file;
> >> +    const char *config_source = NULL;
> >> +    const char *restore_source = NULL;
> >>       int migrate_fd = dom_info->migrate_fd;
> >>
> >>       int i;
> >> @@ -1539,24 +1541,28 @@ static int create_domain(struct domain_c
> >>       pid_t child_console_pid = -1;
> >>       struct save_file_header hdr;
> >>
> >> +    int restoring = (restore_file || (migrate_fd>= 0));
> >> +
> >>       libxl_domain_config_init(&d_config);
> >>
> >> -    if (restore_file) {
> >> +    if (restoring) {
> >>           uint8_t *optdata_begin = 0;
> >>           const uint8_t *optdata_here = 0;
> >>           union { uint32_t u32; char b[4]; } u32buf;
> >>           uint32_t badflags;
> >>
> >>           if (migrate_fd>= 0) {
> >> +            restore_source = "<incoming migration stream>";
> >>               restore_fd = migrate_fd;
> >>           } else {
> >> +            restore_source = restore_file;
> >>               restore_fd = open(restore_file, O_RDONLY);
> >>               rc = libxl_fd_set_cloexec(ctx, restore_fd, 1);
> >>               if (rc) return rc;
> >>           }
> >>
> >>           CHK_ERRNO( libxl_read_exactly(ctx, restore_fd,&hdr,
> >> -                   sizeof(hdr), restore_file, "header") );
> >> +                   sizeof(hdr), restore_source, "header") );
> >>           if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
> >>               fprintf(stderr, "File has wrong magic number -"
> >>                       " corrupt or for a different tool?\n");
> >> @@ -1569,7 +1575,7 @@ static int create_domain(struct domain_c
> >>           fprintf(stderr, "Loading new save file %s"
> >>                   " (new xl fmt info"
> >>                   " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> >> -                restore_file, hdr.mandatory_flags, hdr.optional_flags,
> >> +                restore_source, hdr.mandatory_flags, hdr.optional_flags,
> >>                   hdr.optional_data_len);
> >>
> >>           badflags = hdr.mandatory_flags&  ~( 0 /* none understood yet */ );
> >> @@ -1582,7 +1588,7 @@ static int create_domain(struct domain_c
> >>           if (hdr.optional_data_len) {
> >>               optdata_begin = xmalloc(hdr.optional_data_len);
> >>               CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
> >> -                   hdr.optional_data_len, restore_file, "optdata") );
> >> +                   hdr.optional_data_len, restore_source, "optdata") );
> >>           }
> >>
> >>   #define OPTDATA_LEFT  (hdr.optional_data_len - (optdata_here - optdata_begin))
> >> @@ -1617,7 +1623,7 @@ static int create_domain(struct domain_c
> >>                                          &config_data,&config_len);
> >>           if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
> >>                              config_file, strerror(errno)); return ERROR_FAIL; }
> >> -        if (!restore_file&&  extra_config&&  strlen(extra_config)) {
> >> +        if (!restoring&&  extra_config&&  strlen(extra_config)) {
> >>               if (config_len>  INT_MAX - (strlen(extra_config) + 2 + 1)) {
> >>                   fprintf(stderr, "Failed to attach extra configration\n");
> >>                   return ERROR_FAIL;
> >> @@ -1632,19 +1638,20 @@ static int create_domain(struct domain_c
> >>               config_len += sprintf(config_data + config_len, "\n%s\n",
> >>                   extra_config);
> >>           }
> >> +        config_source=config_file;
> >>       } else {
> >>           if (!config_data) {
> >>               fprintf(stderr, "Config file not specified and"
> >>                       " none in save file\n");
> >>               return ERROR_INVAL;
> >>           }
> >> -        config_file = "<saved>";
> >> +        config_source = "<saved>";
> >>       }
> >>
> >>       if (!dom_info->quiet)
> >> -        printf("Parsing config file %s\n", config_file);
> >> -
> >> -    parse_config_data(config_file, config_data, config_len,&d_config);
> >> +        printf("Parsing config from %s\n", config_source);
> >> +
> >> +    parse_config_data(config_source, config_data, config_len,&d_config);
> >>
> >>       if (migrate_fd>= 0) {
> >>           if (d_config.c_info.name) {
> >> @@ -1698,7 +1705,7 @@ start:
> >>           autoconnect_console_how = 0;
> >>       }
> >>
> >> -    if ( restore_file ) {
> >> +    if ( restoring ) {
> >>           ret = libxl_domain_create_restore(ctx,&d_config,
> >>                                             &domid, restore_fd,
> >>                                             0, autoconnect_console_how);
> >> @@ -2559,7 +2566,7 @@ static void list_domains_details(const l
> >>   {
> >>       libxl_domain_config d_config;
> >>
> >> -    char *config_file;
> >> +    char *config_source;
> >>       uint8_t *data;
> >>       int i, len, rc;
> >>
> >> @@ -2570,13 +2577,13 @@ static void list_domains_details(const l
> >>           rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl",&data,&len);
> >>           if (rc)
> >>               continue;
> >> -        CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
> >> +        CHK_ERRNO(asprintf(&config_source, "<domid %d data>", info[i].domid));
> >>           libxl_domain_config_init(&d_config);
> >> -        parse_config_data(config_file, (char *)data, len,&d_config);
> >> +        parse_config_data(config_source, (char *)data, len,&d_config);
> >>           printf_info(default_output_format, info[i].domid,&d_config);
> >>           libxl_domain_config_dispose(&d_config);
> >>           free(data);
> >> -        free(config_file);
> >> +        free(config_source);
> >>       }
> >>   }
> >>
> >> @@ -2679,7 +2686,7 @@ static void save_domain_core_begin(const
> >>       }
> >>   }
> >>
> >> -static void save_domain_core_writeconfig(int fd, const char *filename,
> >> +static void save_domain_core_writeconfig(int fd, const char *source,
> >>                                     const uint8_t *config_data, int config_len)
> >>   {
> >>       struct save_file_header hdr;
> >> @@ -2708,13 +2715,13 @@ static void save_domain_core_writeconfig
> >>       /* that's the optional data */
> >>
> >>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
> >> -&hdr, sizeof(hdr), filename, "header") );
> >> +&hdr, sizeof(hdr), source, "header") );
> >>       CHK_ERRNO( libxl_write_exactly(ctx, fd,
> >> -        optdata_begin, hdr.optional_data_len, filename, "header") );
> >> +        optdata_begin, hdr.optional_data_len, source, "header") );
> >>
> >>       fprintf(stderr, "Saving to %s new xl format (info"
> >>               " 0x%"PRIx32"/0x%"PRIx32"/%"PRIu32")\n",
> >> -            filename, hdr.mandatory_flags, hdr.optional_flags,
> >> +            source, hdr.mandatory_flags, hdr.optional_flags,
> >>               hdr.optional_data_len);
> >>   }
> >>
> >> @@ -3039,7 +3046,6 @@ static void migrate_receive(int debug, i
> >>       dom_info.daemonize = daemonize;
> >>       dom_info.monitor = monitor;
> >>       dom_info.paused = 1;
> >> -    dom_info.restore_file = "incoming migration stream";
> >>       dom_info.migrate_fd = 0; /* stdin */
> >>       dom_info.migration_domname_r =&migration_domname;
> >>       dom_info.incr_generationid = 0;
> >>
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@lists.xen.org
> >> http://lists.xen.org/xen-devel
> >
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:05:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKF6-0005PD-Lr; Tue, 15 May 2012 16:04:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUKF5-0005P8-6T
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:04:55 +0000
Received: from [85.158.138.51:25509] by server-5.bemta-3.messagelabs.com id
	04/09-17113-6AE72BF4; Tue, 15 May 2012 16:04:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337097893!20909612!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2867 invoked from network); 15 May 2012 16:04:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:04:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488030"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:04:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 17:04:52 +0100
Message-ID: <1337097891.19852.33.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 17:04:51 +0100
In-Reply-To: <99244350516a1543ae5b.1337096954@kodo2>
References: <99244350516a1543ae5b.1337096954@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl: Fixup filename->source after
 25344:0f3b1e13d6af
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 16:49 +0100, George Dunlap wrote:
> Because of conflicts with another patch, changeset 25344:0f3b1e13d6af missed
> one change.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

I don't think this hunk was actually in the patch I applied as
25344:0f3b1e13d6af in the first place. Did you originally write this
patch prior to 25128:40efd7d36d46 by any chance?

> diff -r ec972fec40a3 -r 99244350516a tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 15 16:28:16 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 16:48:49 2012 +0100
> @@ -1931,7 +1931,7 @@ start:
>                  /* Reparse the configuration in case it has changed */
>                  libxl_domain_config_dispose(&d_config);
>                  libxl_domain_config_init(&d_config);
> -                parse_config_data(config_file, config_data, config_len,
> +                parse_config_data(config_source, config_data, config_len,
>                                    &d_config, dom_info);
>  
>                  /*
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:05:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKF6-0005PD-Lr; Tue, 15 May 2012 16:04:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUKF5-0005P8-6T
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:04:55 +0000
Received: from [85.158.138.51:25509] by server-5.bemta-3.messagelabs.com id
	04/09-17113-6AE72BF4; Tue, 15 May 2012 16:04:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337097893!20909612!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2867 invoked from network); 15 May 2012 16:04:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:04:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488030"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:04:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 17:04:52 +0100
Message-ID: <1337097891.19852.33.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Tue, 15 May 2012 17:04:51 +0100
In-Reply-To: <99244350516a1543ae5b.1337096954@kodo2>
References: <99244350516a1543ae5b.1337096954@kodo2>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl: Fixup filename->source after
 25344:0f3b1e13d6af
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 16:49 +0100, George Dunlap wrote:
> Because of conflicts with another patch, changeset 25344:0f3b1e13d6af missed
> one change.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

Committed-by: Ian Campbell <ian.campbell@citrix.com>

I don't think this hunk was actually in the patch I applied as
25344:0f3b1e13d6af in the first place. Did you originally write this
patch prior to 25128:40efd7d36d46 by any chance?

> diff -r ec972fec40a3 -r 99244350516a tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 15 16:28:16 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 16:48:49 2012 +0100
> @@ -1931,7 +1931,7 @@ start:
>                  /* Reparse the configuration in case it has changed */
>                  libxl_domain_config_dispose(&d_config);
>                  libxl_domain_config_init(&d_config);
> -                parse_config_data(config_file, config_data, config_len,
> +                parse_config_data(config_source, config_data, config_len,
>                                    &d_config, dom_info);
>  
>                  /*
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:11:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKLW-0005c0-JC; Tue, 15 May 2012 16:11:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SUKLU-0005bu-Tc
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:11:33 +0000
Received: from [85.158.139.83:24401] by server-7.bemta-5.messagelabs.com id
	F3/75-16195-43082BF4; Tue, 15 May 2012 16:11:32 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337098291!28010435!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4646 invoked from network); 15 May 2012 16:11:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:11:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488175"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:11:30 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 17:11:30 +0100
Date: Tue, 15 May 2012 17:07:13 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120515160713.GA24401@eire.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
	<1337093125.19852.21.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337093125.19852.21.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 2 v2] xl: code motion of vncviewer()
 and `struct domain_create`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Ian Campbell wrote:

> On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> > tools/libxl/xl_cmdimpl.c |  50 ++++++++++++++++++++++++-----------------------
> >  1 files changed, 26 insertions(+), 24 deletions(-)
> > 
> > 
> > Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> Committed-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Thanks!
> 
> Not sure what tool you use to send, but it is usual to put the diffstat
> after the commit + s-o-b and a "---" marker. This way the standard tools
> (e.g. git am) knows not to include it in the commit message. In this
> case I've done it by hand. I think hg email is a bit broken in this
> regard (puts the diffstat at the top), in which case feel free not to
> use the corresponding option next time.

Thanks for fixing this by hand, I used hg email, with the '-d' switch 
to add the diffstat. I will defer from using it next time.

Goncalo
 
> Ian.
> 
> > 
> > diff -r cd4dd23a831d -r 380d5f86dfdd tools/libxl/xl_cmdimpl.c
> > --- a/tools/libxl/xl_cmdimpl.c	Fri May 11 18:59:07 2012 +0100
> > +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> > @@ -120,6 +120,24 @@ static const char *action_on_shutdown_na
> >  
> >  #define SAVEFILE_BYTEORDER_VALUE ((uint32_t)0x01020304UL)
> >  
> > +struct domain_create {
> > +    int debug;
> > +    int daemonize;
> > +    int monitor; /* handle guest reboots etc */
> > +    int paused;
> > +    int dryrun;
> > +    int quiet;
> > +    int console_autoconnect;
> > +    const char *config_file;
> > +    const char *extra_config; /* extra config string */
> > +    const char *restore_file;
> > +    int migrate_fd; /* -1 means none */
> > +    char **migration_domname_r; /* from malloc */
> > +    int incr_generationid;
> > +};
> > +
> > +
> > +
> >  static int qualifier_to_id(const char *p, uint32_t *id_r)
> >  {
> >      int i, alldigit;
> > @@ -186,6 +204,14 @@ static void find_domain(const char *p)
> >      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
> >  }
> >  
> > +static int vncviewer(const char *domain_spec, int autopass)
> > +{
> > +    find_domain(domain_spec);
> > +    libxl_vncviewer_exec(ctx, domid, autopass);
> > +    fprintf(stderr, "Unable to execute vncviewer\n");
> > +    return 1;
> > +}
> > +
> >  static int acquire_lock(void)
> >  {
> >      int rc;
> > @@ -1399,22 +1425,6 @@ static int preserve_domain(libxl_ctx *ct
> >      return rc == 0 ? 1 : 0;
> >  }
> >  
> > -struct domain_create {
> > -    int debug;
> > -    int daemonize;
> > -    int monitor; /* handle guest reboots etc */
> > -    int paused;
> > -    int dryrun;
> > -    int quiet;
> > -    int console_autoconnect;
> > -    const char *config_file;
> > -    const char *extra_config; /* extra config string */
> > -    const char *restore_file;
> > -    int migrate_fd; /* -1 means none */
> > -    char **migration_domname_r; /* from malloc */
> > -    int incr_generationid;
> > -};
> > -
> >  static int freemem(libxl_domain_build_info *b_info)
> >  {
> >      int rc, retries = 3;
> > @@ -2175,14 +2185,6 @@ int main_console(int argc, char **argv)
> >      return 1;
> >  }
> >  
> > -static int vncviewer(const char *domain_spec, int autopass)
> > -{
> > -    find_domain(domain_spec);
> > -    libxl_vncviewer_exec(ctx, domid, autopass);
> > -    fprintf(stderr, "Unable to execute vncviewer\n");
> > -    return 1;
> > -}
> > -
> >  int main_vncviewer(int argc, char **argv)
> >  {
> >      static const struct option long_options[] = {
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:11:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKLW-0005c0-JC; Tue, 15 May 2012 16:11:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SUKLU-0005bu-Tc
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:11:33 +0000
Received: from [85.158.139.83:24401] by server-7.bemta-5.messagelabs.com id
	F3/75-16195-43082BF4; Tue, 15 May 2012 16:11:32 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337098291!28010435!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4646 invoked from network); 15 May 2012 16:11:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:11:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488175"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:11:30 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 17:11:30 +0100
Date: Tue, 15 May 2012 17:07:13 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120515160713.GA24401@eire.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<380d5f86dfdd6c528142.1337049569@dt29.uk.xensource.com>
	<1337093125.19852.21.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337093125.19852.21.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 2 v2] xl: code motion of vncviewer()
 and `struct domain_create`
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Ian Campbell wrote:

> On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> > tools/libxl/xl_cmdimpl.c |  50 ++++++++++++++++++++++++-----------------------
> >  1 files changed, 26 insertions(+), 24 deletions(-)
> > 
> > 
> > Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> Committed-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Thanks!
> 
> Not sure what tool you use to send, but it is usual to put the diffstat
> after the commit + s-o-b and a "---" marker. This way the standard tools
> (e.g. git am) knows not to include it in the commit message. In this
> case I've done it by hand. I think hg email is a bit broken in this
> regard (puts the diffstat at the top), in which case feel free not to
> use the corresponding option next time.

Thanks for fixing this by hand, I used hg email, with the '-d' switch 
to add the diffstat. I will defer from using it next time.

Goncalo
 
> Ian.
> 
> > 
> > diff -r cd4dd23a831d -r 380d5f86dfdd tools/libxl/xl_cmdimpl.c
> > --- a/tools/libxl/xl_cmdimpl.c	Fri May 11 18:59:07 2012 +0100
> > +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> > @@ -120,6 +120,24 @@ static const char *action_on_shutdown_na
> >  
> >  #define SAVEFILE_BYTEORDER_VALUE ((uint32_t)0x01020304UL)
> >  
> > +struct domain_create {
> > +    int debug;
> > +    int daemonize;
> > +    int monitor; /* handle guest reboots etc */
> > +    int paused;
> > +    int dryrun;
> > +    int quiet;
> > +    int console_autoconnect;
> > +    const char *config_file;
> > +    const char *extra_config; /* extra config string */
> > +    const char *restore_file;
> > +    int migrate_fd; /* -1 means none */
> > +    char **migration_domname_r; /* from malloc */
> > +    int incr_generationid;
> > +};
> > +
> > +
> > +
> >  static int qualifier_to_id(const char *p, uint32_t *id_r)
> >  {
> >      int i, alldigit;
> > @@ -186,6 +204,14 @@ static void find_domain(const char *p)
> >      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
> >  }
> >  
> > +static int vncviewer(const char *domain_spec, int autopass)
> > +{
> > +    find_domain(domain_spec);
> > +    libxl_vncviewer_exec(ctx, domid, autopass);
> > +    fprintf(stderr, "Unable to execute vncviewer\n");
> > +    return 1;
> > +}
> > +
> >  static int acquire_lock(void)
> >  {
> >      int rc;
> > @@ -1399,22 +1425,6 @@ static int preserve_domain(libxl_ctx *ct
> >      return rc == 0 ? 1 : 0;
> >  }
> >  
> > -struct domain_create {
> > -    int debug;
> > -    int daemonize;
> > -    int monitor; /* handle guest reboots etc */
> > -    int paused;
> > -    int dryrun;
> > -    int quiet;
> > -    int console_autoconnect;
> > -    const char *config_file;
> > -    const char *extra_config; /* extra config string */
> > -    const char *restore_file;
> > -    int migrate_fd; /* -1 means none */
> > -    char **migration_domname_r; /* from malloc */
> > -    int incr_generationid;
> > -};
> > -
> >  static int freemem(libxl_domain_build_info *b_info)
> >  {
> >      int rc, retries = 3;
> > @@ -2175,14 +2185,6 @@ int main_console(int argc, char **argv)
> >      return 1;
> >  }
> >  
> > -static int vncviewer(const char *domain_spec, int autopass)
> > -{
> > -    find_domain(domain_spec);
> > -    libxl_vncviewer_exec(ctx, domid, autopass);
> > -    fprintf(stderr, "Unable to execute vncviewer\n");
> > -    return 1;
> > -}
> > -
> >  int main_vncviewer(int argc, char **argv)
> >  {
> >      static const struct option long_options[] = {
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:18:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKRa-0005nx-IK; Tue, 15 May 2012 16:17:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUKRY-0005nq-Oh
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:17:49 +0000
Received: from [85.158.139.83:13030] by server-5.bemta-5.messagelabs.com id
	62/03-13566-CA182BF4; Tue, 15 May 2012 16:17:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337098667!28468571!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10517 invoked from network); 15 May 2012 16:17:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 16:17:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 17:15:46 +0100
Message-Id: <4FB29D6F0200007800083E81@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 17:16:15 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <george.dunlap@eu.citrix.com>,
 "xen-devel" <xen-devel@lists.xen.org>
References: <db614e92faf743e20b3f.1337096977@kodo2>
In-Reply-To: <db614e92faf743e20b3f.1337096977@kodo2>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 17:49, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> Older kernels, such as those found in Debian Squeeze:
> * Have bugs in handling of AIO into foreign pages
> * Have blktap modules, which will cause qemu not to use AIO, but
> which are not loaded on boot.
> 
> Attempt to load blktap in xencommons, to make sure modern qemu's which
> use AIO will work properly on those kernels.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> @@ -59,6 +59,7 @@ do_start () {
>  	modprobe evtchn 2>/dev/null
>  	modprobe gntdev 2>/dev/null
>  	modprobe xen-acpi-processor 2>/dev/null
> +	modprobe blktap 2>/dev/null

Can we stop manually loading all kinds of drivers here? I was
glad this went away with the switch to xencommons, and
now this is coming back. Drivers definitely needed in all cases
are acceptable imo, but backend drivers should be loaded as
backends get created by the tools (similarly frontend drivers
for the local attach case, though they should get auto-loaded
normally anyway).

Jan

>  	mkdir -p /var/run/xen
>  
>  	if ! `xenstore-read -s / >/dev/null 2>&1`
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:18:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKRa-0005nx-IK; Tue, 15 May 2012 16:17:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUKRY-0005nq-Oh
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:17:49 +0000
Received: from [85.158.139.83:13030] by server-5.bemta-5.messagelabs.com id
	62/03-13566-CA182BF4; Tue, 15 May 2012 16:17:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337098667!28468571!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10517 invoked from network); 15 May 2012 16:17:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 16:17:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 17:15:46 +0100
Message-Id: <4FB29D6F0200007800083E81@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 17:16:15 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <george.dunlap@eu.citrix.com>,
 "xen-devel" <xen-devel@lists.xen.org>
References: <db614e92faf743e20b3f.1337096977@kodo2>
In-Reply-To: <db614e92faf743e20b3f.1337096977@kodo2>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 17:49, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> Older kernels, such as those found in Debian Squeeze:
> * Have bugs in handling of AIO into foreign pages
> * Have blktap modules, which will cause qemu not to use AIO, but
> which are not loaded on boot.
> 
> Attempt to load blktap in xencommons, to make sure modern qemu's which
> use AIO will work properly on those kernels.
> 
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> @@ -59,6 +59,7 @@ do_start () {
>  	modprobe evtchn 2>/dev/null
>  	modprobe gntdev 2>/dev/null
>  	modprobe xen-acpi-processor 2>/dev/null
> +	modprobe blktap 2>/dev/null

Can we stop manually loading all kinds of drivers here? I was
glad this went away with the switch to xencommons, and
now this is coming back. Drivers definitely needed in all cases
are acceptable imo, but backend drivers should be loaded as
backends get created by the tools (similarly frontend drivers
for the local attach case, though they should get auto-loaded
normally anyway).

Jan

>  	mkdir -p /var/run/xen
>  
>  	if ! `xenstore-read -s / >/dev/null 2>&1`
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:18:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKRd-0005oH-Uv; Tue, 15 May 2012 16:17:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SUKRc-0005o6-Ff
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:17:52 +0000
Received: from [85.158.139.83:13373] by server-4.bemta-5.messagelabs.com id
	B5/6D-10788-FA182BF4; Tue, 15 May 2012 16:17:51 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337098670!28468585!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10787 invoked from network); 15 May 2012 16:17:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:17:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:17:50 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 17:17:50 +0100
Date: Tue, 15 May 2012 17:13:32 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120515161332.GB24401@eire.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
	<1337093010.19852.19.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337093010.19852.19.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2 v2] Introduce vncviewer xm
	compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Ian Campbell wrote:

> On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> > docs/man/xl.cfg.pod.5     |   4 ++
> >  docs/man/xl.pod.1         |  18 +++++++++++
> >  tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
> >  tools/libxl/xl_cmdtable.c |  15 ++++++---
> >  4 files changed, 92 insertions(+), 18 deletions(-)
> > 
> > 
> > Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> Committed-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Thanks! I fixed up a context reject in xl_cmdtable.c, relating to the
> addition of the "modifies" flag, please do check I did the right thing.
> 
> Also I stripped some trailing whitespace.

Thanks for stripping the whitespace/fixing the reject in 
xl_cmdtable.c. Looks fine to me!

Goncalo


 
> > 
> > diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.cfg.pod.5
> > --- a/docs/man/xl.cfg.pod.5	Tue May 15 02:26:51 2012 +0000
> > +++ b/docs/man/xl.cfg.pod.5	Tue May 15 02:26:53 2012 +0000
> > @@ -91,6 +91,10 @@ The following options apply to guests of
> >  Specifies the UUID of the domain.  If not specified, a fresh unique
> >  UUID will be generated.
> >  
> > +=item B<vncviewer=BOOLEAN>
> > +
> > +Automatically spawn a vncviewer when creating/restoring a guest
> > +
> >  =item B<pool="CPUPOOLNAME">
> >  
> >  Put the guest's vcpus into the named cpu pool.
> > diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.pod.1
> > --- a/docs/man/xl.pod.1	Tue May 15 02:26:51 2012 +0000
> > +++ b/docs/man/xl.pod.1	Tue May 15 02:26:53 2012 +0000
> > @@ -120,6 +120,14 @@ Use the given configuration file.
> >  
> >  Leave the domain paused after it is created.
> >  
> > +=item B<-V>, B<--vncviewer>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>, B<--vncviewer-autopass>
> > +
> > +Pass VNC password to vncviewer via stdin.
> > +
> >  =item B<-c>
> >  
> >  Attach console to the domain as soon as it has started.  This is
> > @@ -433,6 +441,16 @@ See the corresponding option of the I<cr
> >  
> >  Enable debug messages.
> >  
> > +=item B<-V>, B<--vncviewer>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>, B<--vncviewer-autopass>
> > +
> > +Pass VNC password to vncviewer via stdin.
> > +
> > +
> > +
> >  =back
> >  
> >  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
> > diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdimpl.c
> > --- a/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> > +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:53 2012 +0000
> > @@ -127,6 +127,8 @@ struct domain_create {
> >      int paused;
> >      int dryrun;
> >      int quiet;
> > +    int vnc;
> > +    int vncautopass;
> >      int console_autoconnect;
> >      const char *config_file;
> >      const char *extra_config; /* extra config string */
> > @@ -204,9 +206,8 @@ static void find_domain(const char *p)
> >      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
> >  }
> >  
> > -static int vncviewer(const char *domain_spec, int autopass)
> > +static int vncviewer(uint32_t domid, int autopass)
> >  {
> > -    find_domain(domain_spec);
> >      libxl_vncviewer_exec(ctx, domid, autopass);
> >      fprintf(stderr, "Unable to execute vncviewer\n");
> >      return 1;
> > @@ -549,7 +550,9 @@ vcpp_out:
> >  static void parse_config_data(const char *configfile_filename_report,
> >                                const char *configfile_data,
> >                                int configfile_len,
> > -                              libxl_domain_config *d_config)
> > +                              libxl_domain_config *d_config, 
> > +                              struct domain_create *dom_info)
> > +
> >  {
> >      const char *buf;
> >      long l;
> > @@ -754,6 +757,13 @@ static void parse_config_data(const char
> >      if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
> >          b_info->rtc_timeoffset = l;
> >  
> > +    if (dom_info && !xlu_cfg_get_long(config, "vncviewer", &l, 0)) {
> > +        /* Command line arguments must take precedence over what's 
> > +         * specified in the configuration file. */
> > +        if (!dom_info->vnc)
> > +            dom_info->vnc = l;
> > +    }
> > +
> >      xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
> >  
> >      if (!xlu_cfg_get_long (config, "videoram", &l, 0))
> > @@ -1531,6 +1541,7 @@ static int create_domain(struct domain_c
> >      int daemonize = dom_info->daemonize;
> >      int monitor = dom_info->monitor;
> >      int paused = dom_info->paused;
> > +    int vncautopass = dom_info->vncautopass;
> >      const char *config_file = dom_info->config_file;
> >      const char *extra_config = dom_info->extra_config;
> >      const char *restore_file = dom_info->restore_file;
> > @@ -1654,7 +1665,7 @@ static int create_domain(struct domain_c
> >      if (!dom_info->quiet)
> >          printf("Parsing config file %s\n", config_file);
> >  
> > -    parse_config_data(config_file, config_data, config_len, &d_config);
> > +    parse_config_data(config_file, config_data, config_len, &d_config, dom_info);
> >  
> >      if (migrate_fd >= 0) {
> >          if (d_config.c_info.name) {
> > @@ -1741,6 +1752,9 @@ start:
> >      if (!daemonize && !monitor)
> >          goto out;
> >  
> > +    if (dom_info->vnc) 
> > +        vncviewer(domid, vncautopass);
> > +
> >      if (need_daemon) {
> >          char *fullname, *name;
> >          pid_t child1, got_child;
> > @@ -1867,7 +1881,7 @@ start:
> >                  libxl_domain_config_dispose(&d_config);
> >                  libxl_domain_config_init(&d_config);
> >                  parse_config_data(config_file, config_data, config_len,
> > -                                  &d_config);
> > +                                  &d_config, dom_info);
> >  
> >                  /*
> >                   * XXX FIXME: If this sleep is not there then domain
> > @@ -2218,7 +2232,9 @@ int main_vncviewer(int argc, char **argv
> >          return 2;
> >      }
> >  
> > -    if (vncviewer(argv[optind], autopass))
> > +    find_domain(argv[optind]);
> > +
> > +    if (vncviewer(domid, autopass))
> >          return 1;
> >      return 0;
> >  }
> > @@ -2493,7 +2509,7 @@ static void list_domains_details(const l
> >              continue;
> >          CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
> >          libxl_domain_config_init(&d_config);
> > -        parse_config_data(config_file, (char *)data, len, &d_config);
> > +        parse_config_data(config_file, (char *)data, len, &d_config, NULL);
> >          printf_info(default_output_format, info[i].domid, &d_config);
> >          libxl_domain_config_dispose(&d_config);
> >          free(data);
> > @@ -3043,13 +3059,26 @@ int main_restore(int argc, char **argv)
> >      const char *config_file = NULL;
> >      struct domain_create dom_info;
> >      int paused = 0, debug = 0, daemonize = 1, monitor = 1,
> > -        console_autoconnect = 0;
> > +        console_autoconnect = 0, vnc = 0, vncautopass = 0;
> >      int opt, rc;
> > -
> > -    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
> > +    int option_index = 0;
> > +    static struct option long_options[] = {
> > +        {"vncviewer", 0, 0, 'V'},
> > +        {"vncviewer-autopass", 0, 0, 'A'},
> > +        {0, 0, 0, 0}
> > +    };
> > +
> > +    while (1) {
> > +        opt = getopt_long(argc, argv, "FhcpdeVA", long_options, &option_index);
> > +        if (opt == -1)
> > +            break;
> > +
> >          switch (opt) {
> >          case 0: case 2:
> >              return opt;
> > +        case 'h':
> > +            help("restore");
> > +            return 2;
> >          case 'c':
> >              console_autoconnect = 1;
> >              break;
> > @@ -3066,6 +3095,12 @@ int main_restore(int argc, char **argv)
> >              daemonize = 0;
> >              monitor = 0;
> >              break;
> > +        case 'V':
> > +            vnc = 1;
> > +            break;
> > +        case 'A':
> > +            vnc = vncautopass = 1;
> > +            break;
> >          }
> >      }
> >  
> > @@ -3087,6 +3122,8 @@ int main_restore(int argc, char **argv)
> >      dom_info.config_file = config_file;
> >      dom_info.restore_file = checkpoint_file;
> >      dom_info.migrate_fd = -1;
> > +    dom_info.vnc = vnc;
> > +    dom_info.vncautopass = vncautopass;
> >      dom_info.console_autoconnect = console_autoconnect;
> >      dom_info.incr_generationid = 1;
> >  
> > @@ -3394,7 +3431,7 @@ int main_create(int argc, char **argv)
> >      char extra_config[1024];
> >      struct domain_create dom_info;
> >      int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
> > -        quiet = 0, monitor = 1;
> > +        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
> >      int opt, rc;
> >      int option_index = 0;
> >      static struct option long_options[] = {
> > @@ -3402,6 +3439,8 @@ int main_create(int argc, char **argv)
> >          {"quiet", 0, 0, 'q'},
> >          {"help", 0, 0, 'h'},
> >          {"defconfig", 1, 0, 'f'},
> > +        {"vncviewer", 0, 0, 'V'},
> > +        {"vncviewer-autopass", 0, 0, 'A'},
> >          {0, 0, 0, 0}
> >      };
> >  
> > @@ -3411,7 +3450,7 @@ int main_create(int argc, char **argv)
> >      }
> >  
> >      while (1) {
> > -        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
> > +        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
> >          if (opt == -1)
> >              break;
> >  
> > @@ -3444,6 +3483,12 @@ int main_create(int argc, char **argv)
> >          case 'q':
> >              quiet = 1;
> >              break;
> > +        case 'V':
> > +            vnc = 1;
> > +            break;
> > +        case 'A':
> > +            vnc = vncautopass = 1;
> > +            break;
> >          default:
> >              fprintf(stderr, "option `%c' not supported.\n", optopt);
> >              break;
> > @@ -3473,6 +3518,8 @@ int main_create(int argc, char **argv)
> >      dom_info.config_file = filename;
> >      dom_info.extra_config = extra_config;
> >      dom_info.migrate_fd = -1;
> > +    dom_info.vnc = vnc;
> > +    dom_info.vncautopass = vncautopass;
> >      dom_info.console_autoconnect = console_autoconnect;
> >      dom_info.incr_generationid = 0;
> >  
> > @@ -3575,7 +3622,7 @@ int main_config_update(int argc, char **
> >  
> >      libxl_domain_config_init(&d_config);
> >  
> > -    parse_config_data(filename, config_data, config_len, &d_config);
> > +    parse_config_data(filename, config_data, config_len, &d_config, NULL);
> >  
> >      if (debug || dryrun_only)
> >          printf_info(default_output_format, -1, &d_config);
> > diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdtable.c
> > --- a/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:51 2012 +0000
> > +++ b/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:53 2012 +0000
> > @@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
> >        "-n, --dryrun            Dry run - prints the resulting configuration\n"
> >        "                         (deprecated in favour of global -N option).\n"
> >        "-d                      Enable debug messages.\n"
> > -      "-e                      Do not wait in the background for the death of the domain."
> > +      "-e                      Do not wait in the background for the death of the domain.\n"
> > +      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
> > +      "-A, --vncviewer-autopass\n"
> > +      "                        Pass VNC password to viewer via stdin."
> >      },
> >      { "config-update",
> >        &main_config_update, 1,
> > @@ -144,10 +147,12 @@ struct cmd_spec cmd_table[] = {
> >        &main_restore, 0,
> >        "Restore a domain from a saved state",
> >        "[options] [<ConfigFile>] <CheckpointFile>",
> > -      "-h  Print this help.\n"
> > -      "-p  Do not unpause domain after restoring it.\n"
> > -      "-e  Do not wait in the background for the death of the domain.\n"
> > -      "-d  Enable debug messages."
> > +      "-h                       Print this help.\n"
> > +      "-p                       Do not unpause domain after restoring it.\n"
> > +      "-e                       Do not wait in the background for the death of the domain.\n"
> > +      "-d                       Enable debug messages.\n"
> > +      "-V, --vncviewer          Connect to the VNC display after the domain is created.\n"
> > +      "-A, --vncviewer-autopass Pass VNC password to viewer via stdin."
> >      },
> >      { "migrate-receive",
> >        &main_migrate_receive, 0,
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:18:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKRd-0005oH-Uv; Tue, 15 May 2012 16:17:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Goncalo.Gomes@eu.citrix.com>) id 1SUKRc-0005o6-Ff
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:17:52 +0000
Received: from [85.158.139.83:13373] by server-4.bemta-5.messagelabs.com id
	B5/6D-10788-FA182BF4; Tue, 15 May 2012 16:17:51 +0000
X-Env-Sender: Goncalo.Gomes@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337098670!28468585!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10787 invoked from network); 15 May 2012 16:17:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:17:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:17:50 +0000
Received: from eire.uk.xensource.com (10.80.2.151) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 17:17:50 +0100
Date: Tue, 15 May 2012 17:13:32 +0100
From: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120515161332.GB24401@eire.uk.xensource.com>
References: <patchbomb.1337049568@dt29.uk.xensource.com>
	<d1c195e989ccb3799976.1337049570@dt29.uk.xensource.com>
	<1337093010.19852.19.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337093010.19852.19.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2 of 2 v2] Introduce vncviewer xm
	compatibility options
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Ian Campbell wrote:

> On Tue, 2012-05-15 at 03:39 +0100, Goncalo Gomes wrote:
> > docs/man/xl.cfg.pod.5     |   4 ++
> >  docs/man/xl.pod.1         |  18 +++++++++++
> >  tools/libxl/xl_cmdimpl.c  |  73 ++++++++++++++++++++++++++++++++++++++--------
> >  tools/libxl/xl_cmdtable.c |  15 ++++++---
> >  4 files changed, 92 insertions(+), 18 deletions(-)
> > 
> > 
> > Signed-off-by: Goncalo Gomes <Goncalo.Gomes@EU.CITRIX.COM>
> 
> Committed-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Thanks! I fixed up a context reject in xl_cmdtable.c, relating to the
> addition of the "modifies" flag, please do check I did the right thing.
> 
> Also I stripped some trailing whitespace.

Thanks for stripping the whitespace/fixing the reject in 
xl_cmdtable.c. Looks fine to me!

Goncalo


 
> > 
> > diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.cfg.pod.5
> > --- a/docs/man/xl.cfg.pod.5	Tue May 15 02:26:51 2012 +0000
> > +++ b/docs/man/xl.cfg.pod.5	Tue May 15 02:26:53 2012 +0000
> > @@ -91,6 +91,10 @@ The following options apply to guests of
> >  Specifies the UUID of the domain.  If not specified, a fresh unique
> >  UUID will be generated.
> >  
> > +=item B<vncviewer=BOOLEAN>
> > +
> > +Automatically spawn a vncviewer when creating/restoring a guest
> > +
> >  =item B<pool="CPUPOOLNAME">
> >  
> >  Put the guest's vcpus into the named cpu pool.
> > diff -r 380d5f86dfdd -r d1c195e989cc docs/man/xl.pod.1
> > --- a/docs/man/xl.pod.1	Tue May 15 02:26:51 2012 +0000
> > +++ b/docs/man/xl.pod.1	Tue May 15 02:26:53 2012 +0000
> > @@ -120,6 +120,14 @@ Use the given configuration file.
> >  
> >  Leave the domain paused after it is created.
> >  
> > +=item B<-V>, B<--vncviewer>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>, B<--vncviewer-autopass>
> > +
> > +Pass VNC password to vncviewer via stdin.
> > +
> >  =item B<-c>
> >  
> >  Attach console to the domain as soon as it has started.  This is
> > @@ -433,6 +441,16 @@ See the corresponding option of the I<cr
> >  
> >  Enable debug messages.
> >  
> > +=item B<-V>, B<--vncviewer>
> > +
> > +Attach to domain's VNC server, forking a vncviewer process.
> > +
> > +=item B<-A>, B<--vncviewer-autopass>
> > +
> > +Pass VNC password to vncviewer via stdin.
> > +
> > +
> > +
> >  =back
> >  
> >  =item B<save> [I<OPTIONS>] I<domain-id> I<CheckpointFile> [I<ConfigFile>]
> > diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdimpl.c
> > --- a/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:51 2012 +0000
> > +++ b/tools/libxl/xl_cmdimpl.c	Tue May 15 02:26:53 2012 +0000
> > @@ -127,6 +127,8 @@ struct domain_create {
> >      int paused;
> >      int dryrun;
> >      int quiet;
> > +    int vnc;
> > +    int vncautopass;
> >      int console_autoconnect;
> >      const char *config_file;
> >      const char *extra_config; /* extra config string */
> > @@ -204,9 +206,8 @@ static void find_domain(const char *p)
> >      common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
> >  }
> >  
> > -static int vncviewer(const char *domain_spec, int autopass)
> > +static int vncviewer(uint32_t domid, int autopass)
> >  {
> > -    find_domain(domain_spec);
> >      libxl_vncviewer_exec(ctx, domid, autopass);
> >      fprintf(stderr, "Unable to execute vncviewer\n");
> >      return 1;
> > @@ -549,7 +550,9 @@ vcpp_out:
> >  static void parse_config_data(const char *configfile_filename_report,
> >                                const char *configfile_data,
> >                                int configfile_len,
> > -                              libxl_domain_config *d_config)
> > +                              libxl_domain_config *d_config, 
> > +                              struct domain_create *dom_info)
> > +
> >  {
> >      const char *buf;
> >      long l;
> > @@ -754,6 +757,13 @@ static void parse_config_data(const char
> >      if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0))
> >          b_info->rtc_timeoffset = l;
> >  
> > +    if (dom_info && !xlu_cfg_get_long(config, "vncviewer", &l, 0)) {
> > +        /* Command line arguments must take precedence over what's 
> > +         * specified in the configuration file. */
> > +        if (!dom_info->vnc)
> > +            dom_info->vnc = l;
> > +    }
> > +
> >      xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0);
> >  
> >      if (!xlu_cfg_get_long (config, "videoram", &l, 0))
> > @@ -1531,6 +1541,7 @@ static int create_domain(struct domain_c
> >      int daemonize = dom_info->daemonize;
> >      int monitor = dom_info->monitor;
> >      int paused = dom_info->paused;
> > +    int vncautopass = dom_info->vncautopass;
> >      const char *config_file = dom_info->config_file;
> >      const char *extra_config = dom_info->extra_config;
> >      const char *restore_file = dom_info->restore_file;
> > @@ -1654,7 +1665,7 @@ static int create_domain(struct domain_c
> >      if (!dom_info->quiet)
> >          printf("Parsing config file %s\n", config_file);
> >  
> > -    parse_config_data(config_file, config_data, config_len, &d_config);
> > +    parse_config_data(config_file, config_data, config_len, &d_config, dom_info);
> >  
> >      if (migrate_fd >= 0) {
> >          if (d_config.c_info.name) {
> > @@ -1741,6 +1752,9 @@ start:
> >      if (!daemonize && !monitor)
> >          goto out;
> >  
> > +    if (dom_info->vnc) 
> > +        vncviewer(domid, vncautopass);
> > +
> >      if (need_daemon) {
> >          char *fullname, *name;
> >          pid_t child1, got_child;
> > @@ -1867,7 +1881,7 @@ start:
> >                  libxl_domain_config_dispose(&d_config);
> >                  libxl_domain_config_init(&d_config);
> >                  parse_config_data(config_file, config_data, config_len,
> > -                                  &d_config);
> > +                                  &d_config, dom_info);
> >  
> >                  /*
> >                   * XXX FIXME: If this sleep is not there then domain
> > @@ -2218,7 +2232,9 @@ int main_vncviewer(int argc, char **argv
> >          return 2;
> >      }
> >  
> > -    if (vncviewer(argv[optind], autopass))
> > +    find_domain(argv[optind]);
> > +
> > +    if (vncviewer(domid, autopass))
> >          return 1;
> >      return 0;
> >  }
> > @@ -2493,7 +2509,7 @@ static void list_domains_details(const l
> >              continue;
> >          CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
> >          libxl_domain_config_init(&d_config);
> > -        parse_config_data(config_file, (char *)data, len, &d_config);
> > +        parse_config_data(config_file, (char *)data, len, &d_config, NULL);
> >          printf_info(default_output_format, info[i].domid, &d_config);
> >          libxl_domain_config_dispose(&d_config);
> >          free(data);
> > @@ -3043,13 +3059,26 @@ int main_restore(int argc, char **argv)
> >      const char *config_file = NULL;
> >      struct domain_create dom_info;
> >      int paused = 0, debug = 0, daemonize = 1, monitor = 1,
> > -        console_autoconnect = 0;
> > +        console_autoconnect = 0, vnc = 0, vncautopass = 0;
> >      int opt, rc;
> > -
> > -    while ((opt = def_getopt(argc, argv, "Fcpde", "restore", 1)) != -1) {
> > +    int option_index = 0;
> > +    static struct option long_options[] = {
> > +        {"vncviewer", 0, 0, 'V'},
> > +        {"vncviewer-autopass", 0, 0, 'A'},
> > +        {0, 0, 0, 0}
> > +    };
> > +
> > +    while (1) {
> > +        opt = getopt_long(argc, argv, "FhcpdeVA", long_options, &option_index);
> > +        if (opt == -1)
> > +            break;
> > +
> >          switch (opt) {
> >          case 0: case 2:
> >              return opt;
> > +        case 'h':
> > +            help("restore");
> > +            return 2;
> >          case 'c':
> >              console_autoconnect = 1;
> >              break;
> > @@ -3066,6 +3095,12 @@ int main_restore(int argc, char **argv)
> >              daemonize = 0;
> >              monitor = 0;
> >              break;
> > +        case 'V':
> > +            vnc = 1;
> > +            break;
> > +        case 'A':
> > +            vnc = vncautopass = 1;
> > +            break;
> >          }
> >      }
> >  
> > @@ -3087,6 +3122,8 @@ int main_restore(int argc, char **argv)
> >      dom_info.config_file = config_file;
> >      dom_info.restore_file = checkpoint_file;
> >      dom_info.migrate_fd = -1;
> > +    dom_info.vnc = vnc;
> > +    dom_info.vncautopass = vncautopass;
> >      dom_info.console_autoconnect = console_autoconnect;
> >      dom_info.incr_generationid = 1;
> >  
> > @@ -3394,7 +3431,7 @@ int main_create(int argc, char **argv)
> >      char extra_config[1024];
> >      struct domain_create dom_info;
> >      int paused = 0, debug = 0, daemonize = 1, console_autoconnect = 0,
> > -        quiet = 0, monitor = 1;
> > +        quiet = 0, monitor = 1, vnc = 0, vncautopass = 0;
> >      int opt, rc;
> >      int option_index = 0;
> >      static struct option long_options[] = {
> > @@ -3402,6 +3439,8 @@ int main_create(int argc, char **argv)
> >          {"quiet", 0, 0, 'q'},
> >          {"help", 0, 0, 'h'},
> >          {"defconfig", 1, 0, 'f'},
> > +        {"vncviewer", 0, 0, 'V'},
> > +        {"vncviewer-autopass", 0, 0, 'A'},
> >          {0, 0, 0, 0}
> >      };
> >  
> > @@ -3411,7 +3450,7 @@ int main_create(int argc, char **argv)
> >      }
> >  
> >      while (1) {
> > -        opt = getopt_long(argc, argv, "Fhnqf:pcde", long_options, &option_index);
> > +        opt = getopt_long(argc, argv, "Fhnqf:pcdeVA", long_options, &option_index);
> >          if (opt == -1)
> >              break;
> >  
> > @@ -3444,6 +3483,12 @@ int main_create(int argc, char **argv)
> >          case 'q':
> >              quiet = 1;
> >              break;
> > +        case 'V':
> > +            vnc = 1;
> > +            break;
> > +        case 'A':
> > +            vnc = vncautopass = 1;
> > +            break;
> >          default:
> >              fprintf(stderr, "option `%c' not supported.\n", optopt);
> >              break;
> > @@ -3473,6 +3518,8 @@ int main_create(int argc, char **argv)
> >      dom_info.config_file = filename;
> >      dom_info.extra_config = extra_config;
> >      dom_info.migrate_fd = -1;
> > +    dom_info.vnc = vnc;
> > +    dom_info.vncautopass = vncautopass;
> >      dom_info.console_autoconnect = console_autoconnect;
> >      dom_info.incr_generationid = 0;
> >  
> > @@ -3575,7 +3622,7 @@ int main_config_update(int argc, char **
> >  
> >      libxl_domain_config_init(&d_config);
> >  
> > -    parse_config_data(filename, config_data, config_len, &d_config);
> > +    parse_config_data(filename, config_data, config_len, &d_config, NULL);
> >  
> >      if (debug || dryrun_only)
> >          printf_info(default_output_format, -1, &d_config);
> > diff -r 380d5f86dfdd -r d1c195e989cc tools/libxl/xl_cmdtable.c
> > --- a/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:51 2012 +0000
> > +++ b/tools/libxl/xl_cmdtable.c	Tue May 15 02:26:53 2012 +0000
> > @@ -30,7 +30,10 @@ struct cmd_spec cmd_table[] = {
> >        "-n, --dryrun            Dry run - prints the resulting configuration\n"
> >        "                         (deprecated in favour of global -N option).\n"
> >        "-d                      Enable debug messages.\n"
> > -      "-e                      Do not wait in the background for the death of the domain."
> > +      "-e                      Do not wait in the background for the death of the domain.\n"
> > +      "-V, --vncviewer         Connect to the VNC display after the domain is created.\n"
> > +      "-A, --vncviewer-autopass\n"
> > +      "                        Pass VNC password to viewer via stdin."
> >      },
> >      { "config-update",
> >        &main_config_update, 1,
> > @@ -144,10 +147,12 @@ struct cmd_spec cmd_table[] = {
> >        &main_restore, 0,
> >        "Restore a domain from a saved state",
> >        "[options] [<ConfigFile>] <CheckpointFile>",
> > -      "-h  Print this help.\n"
> > -      "-p  Do not unpause domain after restoring it.\n"
> > -      "-e  Do not wait in the background for the death of the domain.\n"
> > -      "-d  Enable debug messages."
> > +      "-h                       Print this help.\n"
> > +      "-p                       Do not unpause domain after restoring it.\n"
> > +      "-e                       Do not wait in the background for the death of the domain.\n"
> > +      "-d                       Enable debug messages.\n"
> > +      "-V, --vncviewer          Connect to the VNC display after the domain is created.\n"
> > +      "-A, --vncviewer-autopass Pass VNC password to viewer via stdin."
> >      },
> >      { "migrate-receive",
> >        &main_migrate_receive, 0,
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:18:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:18:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKRl-0005p5-C4; Tue, 15 May 2012 16:18:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUKRj-0005oo-MC
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:17:59 +0000
Received: from [85.158.143.35:8400] by server-1.bemta-4.messagelabs.com id
	4F/14-20925-7B182BF4; Tue, 15 May 2012 16:17:59 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337098676!12369090!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29325 invoked from network); 15 May 2012 16:17:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:17:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25203792"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:17:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 12:17:56 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUKRf-0002w8-Rt;
	Tue, 15 May 2012 17:17:55 +0100
Message-ID: <4FB28165.1030902@eu.citrix.com>
Date: Tue, 15 May 2012 17:16:37 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <99244350516a1543ae5b.1337096954@kodo2>
	<1337097891.19852.33.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337097891.19852.33.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl: Fixup filename->source after
	25344:0f3b1e13d6af
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 17:04, Ian Campbell wrote:
> On Tue, 2012-05-15 at 16:49 +0100, George Dunlap wrote:
>> Because of conflicts with another patch, changeset 25344:0f3b1e13d6af missed
>> one change.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> Committed-by: Ian Campbell<ian.campbell@citrix.com>
>
> I don't think this hunk was actually in the patch I applied as
> 25344:0f3b1e13d6af in the first place. Did you originally write this
> patch prior to 25128:40efd7d36d46 by any chance?
Strange -- no, I'm pretty sure my first patches were after that; and I 
thought that I had done a search for "file" at my previous refresh two 
weeks ago and satisfied myself that all the variable names were used 
properly.  But you're right, it's not in the patch I sent. :-/

  -G


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:18:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:18:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKRl-0005p5-C4; Tue, 15 May 2012 16:18:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUKRj-0005oo-MC
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 16:17:59 +0000
Received: from [85.158.143.35:8400] by server-1.bemta-4.messagelabs.com id
	4F/14-20925-7B182BF4; Tue, 15 May 2012 16:17:59 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337098676!12369090!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29325 invoked from network); 15 May 2012 16:17:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:17:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25203792"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:17:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 12:17:56 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUKRf-0002w8-Rt;
	Tue, 15 May 2012 17:17:55 +0100
Message-ID: <4FB28165.1030902@eu.citrix.com>
Date: Tue, 15 May 2012 17:16:37 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <99244350516a1543ae5b.1337096954@kodo2>
	<1337097891.19852.33.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337097891.19852.33.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xl: Fixup filename->source after
	25344:0f3b1e13d6af
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 17:04, Ian Campbell wrote:
> On Tue, 2012-05-15 at 16:49 +0100, George Dunlap wrote:
>> Because of conflicts with another patch, changeset 25344:0f3b1e13d6af missed
>> one change.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> Committed-by: Ian Campbell<ian.campbell@citrix.com>
>
> I don't think this hunk was actually in the patch I applied as
> 25344:0f3b1e13d6af in the first place. Did you originally write this
> patch prior to 25128:40efd7d36d46 by any chance?
Strange -- no, I'm pretty sure my first patches were after that; and I 
thought that I had done a search for "file" at my previous refresh two 
weeks ago and satisfied myself that all the variable names were used 
properly.  But you're right, it's not in the patch I sent. :-/

  -G


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:23:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:23:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKWf-0006B9-6b; Tue, 15 May 2012 16:23:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUKWd-0006B2-Td
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:23:04 +0000
Received: from [85.158.143.99:50102] by server-1.bemta-4.messagelabs.com id
	FF/0B-20925-7E282BF4; Tue, 15 May 2012 16:23:03 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337098981!18519347!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30717 invoked from network); 15 May 2012 16:23:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:23:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25203982"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:23:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 12:23:00 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUKWa-00031Z-07;
	Tue, 15 May 2012 17:23:00 +0100
Message-ID: <4FB28295.8020905@eu.citrix.com>
Date: Tue, 15 May 2012 17:21:41 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
In-Reply-To: <4FB29D6F0200007800083E81@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 17:16, Jan Beulich wrote:
>>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> Older kernels, such as those found in Debian Squeeze:
>> * Have bugs in handling of AIO into foreign pages
>> * Have blktap modules, which will cause qemu not to use AIO, but
>> which are not loaded on boot.
>>
>> Attempt to load blktap in xencommons, to make sure modern qemu's which
>> use AIO will work properly on those kernels.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>> @@ -59,6 +59,7 @@ do_start () {
>>   	modprobe evtchn 2>/dev/null
>>   	modprobe gntdev 2>/dev/null
>>   	modprobe xen-acpi-processor 2>/dev/null
>> +	modprobe blktap 2>/dev/null
> Can we stop manually loading all kinds of drivers here? I was
> glad this went away with the switch to xencommons, and
> now this is coming back. Drivers definitely needed in all cases
> are acceptable imo, but backend drivers should be loaded as
> backends get created by the tools (similarly frontend drivers
> for the local attach case, though they should get auto-loaded
> normally anyway).
I tend to agree with you; I did it this way because that's what was 
suggested to me.  But I don't at the moment know enough about the 
backend creation stuff in xl / qemu to DTRT here.

If you want to volunteer to do a patch that DTRT, I think it makes sense 
to hold off.  But if not, I suggest we accept this patch, and I'll come 
back and try to write a proper one before the 4.2 release.  I think it's 
really important we do something before 4.2, as it causes pretty serious 
problems on systems which are affected (almost always a host crash, 
possibly with some disk corruption).

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:23:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:23:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKWf-0006B9-6b; Tue, 15 May 2012 16:23:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUKWd-0006B2-Td
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:23:04 +0000
Received: from [85.158.143.99:50102] by server-1.bemta-4.messagelabs.com id
	FF/0B-20925-7E282BF4; Tue, 15 May 2012 16:23:03 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337098981!18519347!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30717 invoked from network); 15 May 2012 16:23:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:23:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25203982"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:23:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 12:23:00 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUKWa-00031Z-07;
	Tue, 15 May 2012 17:23:00 +0100
Message-ID: <4FB28295.8020905@eu.citrix.com>
Date: Tue, 15 May 2012 17:21:41 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
In-Reply-To: <4FB29D6F0200007800083E81@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 17:16, Jan Beulich wrote:
>>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> Older kernels, such as those found in Debian Squeeze:
>> * Have bugs in handling of AIO into foreign pages
>> * Have blktap modules, which will cause qemu not to use AIO, but
>> which are not loaded on boot.
>>
>> Attempt to load blktap in xencommons, to make sure modern qemu's which
>> use AIO will work properly on those kernels.
>>
>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>
>> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>> @@ -59,6 +59,7 @@ do_start () {
>>   	modprobe evtchn 2>/dev/null
>>   	modprobe gntdev 2>/dev/null
>>   	modprobe xen-acpi-processor 2>/dev/null
>> +	modprobe blktap 2>/dev/null
> Can we stop manually loading all kinds of drivers here? I was
> glad this went away with the switch to xencommons, and
> now this is coming back. Drivers definitely needed in all cases
> are acceptable imo, but backend drivers should be loaded as
> backends get created by the tools (similarly frontend drivers
> for the local attach case, though they should get auto-loaded
> normally anyway).
I tend to agree with you; I did it this way because that's what was 
suggested to me.  But I don't at the moment know enough about the 
backend creation stuff in xl / qemu to DTRT here.

If you want to volunteer to do a patch that DTRT, I think it makes sense 
to hold off.  But if not, I suggest we accept this patch, and I'll come 
back and try to write a proper one before the 4.2 release.  I think it's 
really important we do something before 4.2, as it causes pretty serious 
problems on systems which are affected (almost always a host crash, 
possibly with some disk corruption).

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:26:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:26:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKZf-0006JF-PX; Tue, 15 May 2012 16:26:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony@codemonkey.ws>) id 1SUKZe-0006J5-AB
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:26:10 +0000
Received: from [85.158.143.99:40466] by server-1.bemta-4.messagelabs.com id
	10/8F-20925-1A382BF4; Tue, 15 May 2012 16:26:09 +0000
X-Env-Sender: anthony@codemonkey.ws
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337099167!22891705!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19930 invoked from network); 15 May 2012 16:26:08 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:26:08 -0000
Received: by obbwd20 with SMTP id wd20so12172455obb.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 09:26:07 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding
	:x-gm-message-state;
	bh=zPg4msH48415saOy/f3WrbWfcRidTKNtO742JKEuKCM=;
	b=LGZ4qMyHagfPE8JAQeWGUKjVaLX06LH+uU0koUVQSoYpem4uUy91g7KVVEzvkCJrwR
	2kEM0CSdnj13pnwK5KEQpx3jMuxvoaJkwKJ98rRuuLGIfqMOG6YjjKOjnk8WQlqclRwQ
	Dq6jEOUiGAvFjDE86aiTNrQCHOYkddWJeesNsKAge1/TjMcXxyCk8l0YbXUVImKC72fR
	dTDxuUK9VhiLL0JICp76+YrHoJ1Sa0mmwgiquGwu+V0eedSkTe7BoaS2Ayq7FUCBz5ld
	Dqacf8TtcBC2bux7D/Z2mxahMe/E0SNvhiDdytAmzYbko8I4dfIhHsoyRqQnqKx7F2/k
	VnYg==
Received: by 10.182.167.68 with SMTP id zm4mr4988935obb.25.1337099166923;
	Tue, 15 May 2012 09:26:06 -0700 (PDT)
Received: from [9.53.41.253] ([32.97.110.59])
	by mx.google.com with ESMTPS id ju5sm23253288obb.23.2012.05.15.09.26.04
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 15 May 2012 09:26:05 -0700 (PDT)
Message-ID: <4FB2839B.3000103@codemonkey.ws>
Date: Tue, 15 May 2012 11:26:03 -0500
From: Anthony Liguori <anthony@codemonkey.ws>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Anthony PERARD <anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
X-Gm-Message-State: ALoCoQklnsHcAm2ZYTu6oXisXBtZQv9mZp625lgIK7wmvvrrkccMFNK6nvl25iycAfttqEtiLV6T
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/15/2012 10:26 AM, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized. This mean that there must be
> unplug without the consent of the guest.

Stefano,

Can you do a PULL for the various 1.1 fixes for Xen?  Please try to get any -rc3 
pull requests in by Friday.

Thanks,

Anthony Liguori

>
> Without this patch series, the guest end up with two nics with the same MAC,
> the emulated nic and the PV nic.
>
> I tried few other path before to submite these patches:
>    - delayed the hot unplug in QEMU until the guest initialize the hotplug.
>      =>  the guest unplug the nic only after the driver initialized it. That's a
>        bit late.
>    - delayed the call to unplug the emulated device until pci_acpi_init is called
>      =>  this is worse, the pv disc does not show up and the guest does not boot.
>
> In order to achive this fix, these patches introduce a new hotplug state only
> used in acpi_piix4, and a new qdev callback force_unplug.
>
> Would it be possible to have this fix in the next release?
>
> Thanks,
>
>
> Anthony PERARD (4):
>    Introduce a new hotplug state: Force eject.
>    qdev: Introduce qdev_force_unplug.
>    pci: Add force_unplug callback.
>    xen: Fix PV-on-HVM
>
>   hw/acpi_piix4.c   |    5 +++++
>   hw/pci.c          |   15 +++++++++++++--
>   hw/pci.h          |    1 +
>   hw/qdev.c         |   23 ++++++++++++++++++++---
>   hw/qdev.h         |    3 +++
>   hw/xen_platform.c |    2 +-
>   6 files changed, 43 insertions(+), 6 deletions(-)
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:26:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:26:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKZf-0006JF-PX; Tue, 15 May 2012 16:26:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony@codemonkey.ws>) id 1SUKZe-0006J5-AB
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:26:10 +0000
Received: from [85.158.143.99:40466] by server-1.bemta-4.messagelabs.com id
	10/8F-20925-1A382BF4; Tue, 15 May 2012 16:26:09 +0000
X-Env-Sender: anthony@codemonkey.ws
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337099167!22891705!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19930 invoked from network); 15 May 2012 16:26:08 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:26:08 -0000
Received: by obbwd20 with SMTP id wd20so12172455obb.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 09:26:07 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding
	:x-gm-message-state;
	bh=zPg4msH48415saOy/f3WrbWfcRidTKNtO742JKEuKCM=;
	b=LGZ4qMyHagfPE8JAQeWGUKjVaLX06LH+uU0koUVQSoYpem4uUy91g7KVVEzvkCJrwR
	2kEM0CSdnj13pnwK5KEQpx3jMuxvoaJkwKJ98rRuuLGIfqMOG6YjjKOjnk8WQlqclRwQ
	Dq6jEOUiGAvFjDE86aiTNrQCHOYkddWJeesNsKAge1/TjMcXxyCk8l0YbXUVImKC72fR
	dTDxuUK9VhiLL0JICp76+YrHoJ1Sa0mmwgiquGwu+V0eedSkTe7BoaS2Ayq7FUCBz5ld
	Dqacf8TtcBC2bux7D/Z2mxahMe/E0SNvhiDdytAmzYbko8I4dfIhHsoyRqQnqKx7F2/k
	VnYg==
Received: by 10.182.167.68 with SMTP id zm4mr4988935obb.25.1337099166923;
	Tue, 15 May 2012 09:26:06 -0700 (PDT)
Received: from [9.53.41.253] ([32.97.110.59])
	by mx.google.com with ESMTPS id ju5sm23253288obb.23.2012.05.15.09.26.04
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 15 May 2012 09:26:05 -0700 (PDT)
Message-ID: <4FB2839B.3000103@codemonkey.ws>
Date: Tue, 15 May 2012 11:26:03 -0500
From: Anthony Liguori <anthony@codemonkey.ws>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Anthony PERARD <anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
X-Gm-Message-State: ALoCoQklnsHcAm2ZYTu6oXisXBtZQv9mZp625lgIK7wmvvrrkccMFNK6nvl25iycAfttqEtiLV6T
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/15/2012 10:26 AM, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized. This mean that there must be
> unplug without the consent of the guest.

Stefano,

Can you do a PULL for the various 1.1 fixes for Xen?  Please try to get any -rc3 
pull requests in by Friday.

Thanks,

Anthony Liguori

>
> Without this patch series, the guest end up with two nics with the same MAC,
> the emulated nic and the PV nic.
>
> I tried few other path before to submite these patches:
>    - delayed the hot unplug in QEMU until the guest initialize the hotplug.
>      =>  the guest unplug the nic only after the driver initialized it. That's a
>        bit late.
>    - delayed the call to unplug the emulated device until pci_acpi_init is called
>      =>  this is worse, the pv disc does not show up and the guest does not boot.
>
> In order to achive this fix, these patches introduce a new hotplug state only
> used in acpi_piix4, and a new qdev callback force_unplug.
>
> Would it be possible to have this fix in the next release?
>
> Thanks,
>
>
> Anthony PERARD (4):
>    Introduce a new hotplug state: Force eject.
>    qdev: Introduce qdev_force_unplug.
>    pci: Add force_unplug callback.
>    xen: Fix PV-on-HVM
>
>   hw/acpi_piix4.c   |    5 +++++
>   hw/pci.c          |   15 +++++++++++++--
>   hw/pci.h          |    1 +
>   hw/qdev.c         |   23 ++++++++++++++++++++---
>   hw/qdev.h         |    3 +++
>   hw/xen_platform.c |    2 +-
>   6 files changed, 43 insertions(+), 6 deletions(-)
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:36:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:36:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKjH-0006pS-16; Tue, 15 May 2012 16:36:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUKjG-0006pB-0a
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:36:06 +0000
Received: from [193.109.254.147:22168] by server-5.bemta-14.messagelabs.com id
	52/67-30733-5F582BF4; Tue, 15 May 2012 16:36:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337099764!9372049!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1109 invoked from network); 15 May 2012 16:36:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 16:36:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 17:36:03 +0100
Message-Id: <4FB2A2320200007800083EB4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 17:36:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "George Dunlap" <george.dunlap@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
In-Reply-To: <4FB28295.8020905@eu.citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 18:21, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> On 15/05/12 17:16, Jan Beulich wrote:
>>>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>>> Older kernels, such as those found in Debian Squeeze:
>>> * Have bugs in handling of AIO into foreign pages
>>> * Have blktap modules, which will cause qemu not to use AIO, but
>>> which are not loaded on boot.
>>>
>>> Attempt to load blktap in xencommons, to make sure modern qemu's which
>>> use AIO will work properly on those kernels.
>>>
>>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>>
>>> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>>> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>>> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>>> @@ -59,6 +59,7 @@ do_start () {
>>>   	modprobe evtchn 2>/dev/null
>>>   	modprobe gntdev 2>/dev/null
>>>   	modprobe xen-acpi-processor 2>/dev/null
>>> +	modprobe blktap 2>/dev/null
>> Can we stop manually loading all kinds of drivers here? I was
>> glad this went away with the switch to xencommons, and
>> now this is coming back. Drivers definitely needed in all cases
>> are acceptable imo, but backend drivers should be loaded as
>> backends get created by the tools (similarly frontend drivers
>> for the local attach case, though they should get auto-loaded
>> normally anyway).
> I tend to agree with you; I did it this way because that's what was 
> suggested to me.  But I don't at the moment know enough about the 
> backend creation stuff in xl / qemu to DTRT here.
> 
> If you want to volunteer to do a patch that DTRT, I think it makes sense 
> to hold off.

No, I won't.

>  But if not, I suggest we accept this patch, and I'll come 
> back and try to write a proper one before the 4.2 release.  I think it's 
> really important we do something before 4.2, as it causes pretty serious 
> problems on systems which are affected (almost always a host crash, 
> possibly with some disk corruption).

A host crash because of a driver not loaded? That would suggest
bugs elsewhere...

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:36:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:36:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKjH-0006pS-16; Tue, 15 May 2012 16:36:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUKjG-0006pB-0a
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:36:06 +0000
Received: from [193.109.254.147:22168] by server-5.bemta-14.messagelabs.com id
	52/67-30733-5F582BF4; Tue, 15 May 2012 16:36:05 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337099764!9372049!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1109 invoked from network); 15 May 2012 16:36:04 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 16:36:04 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 17:36:03 +0100
Message-Id: <4FB2A2320200007800083EB4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 17:36:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "George Dunlap" <george.dunlap@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
In-Reply-To: <4FB28295.8020905@eu.citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 18:21, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> On 15/05/12 17:16, Jan Beulich wrote:
>>>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>>> Older kernels, such as those found in Debian Squeeze:
>>> * Have bugs in handling of AIO into foreign pages
>>> * Have blktap modules, which will cause qemu not to use AIO, but
>>> which are not loaded on boot.
>>>
>>> Attempt to load blktap in xencommons, to make sure modern qemu's which
>>> use AIO will work properly on those kernels.
>>>
>>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>>
>>> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>>> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>>> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>>> @@ -59,6 +59,7 @@ do_start () {
>>>   	modprobe evtchn 2>/dev/null
>>>   	modprobe gntdev 2>/dev/null
>>>   	modprobe xen-acpi-processor 2>/dev/null
>>> +	modprobe blktap 2>/dev/null
>> Can we stop manually loading all kinds of drivers here? I was
>> glad this went away with the switch to xencommons, and
>> now this is coming back. Drivers definitely needed in all cases
>> are acceptable imo, but backend drivers should be loaded as
>> backends get created by the tools (similarly frontend drivers
>> for the local attach case, though they should get auto-loaded
>> normally anyway).
> I tend to agree with you; I did it this way because that's what was 
> suggested to me.  But I don't at the moment know enough about the 
> backend creation stuff in xl / qemu to DTRT here.
> 
> If you want to volunteer to do a patch that DTRT, I think it makes sense 
> to hold off.

No, I won't.

>  But if not, I suggest we accept this patch, and I'll come 
> back and try to write a proper one before the 4.2 release.  I think it's 
> really important we do something before 4.2, as it causes pretty serious 
> problems on systems which are affected (almost always a host crash, 
> possibly with some disk corruption).

A host crash because of a driver not loaded? That would suggest
bugs elsewhere...

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:42:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKp4-0007JX-Qv; Tue, 15 May 2012 16:42:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUKp3-0007JM-AH
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:42:05 +0000
Received: from [85.158.138.51:44400] by server-3.bemta-3.messagelabs.com id
	27/6C-04048-A5782BF4; Tue, 15 May 2012 16:42:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337100120!27263101!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15674 invoked from network); 15 May 2012 16:42:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:42:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25204922"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:41:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 12:41:59 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUKox-0003IT-3P;
	Tue, 15 May 2012 17:41:59 +0100
Message-ID: <4FB28709.9080001@eu.citrix.com>
Date: Tue, 15 May 2012 17:40:41 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
In-Reply-To: <4FB2A2320200007800083EB4@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 17:36, Jan Beulich wrote:
>>>> On 15.05.12 at 18:21, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> On 15/05/12 17:16, Jan Beulich wrote:
>>>>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>   wrote:
>>>> Older kernels, such as those found in Debian Squeeze:
>>>> * Have bugs in handling of AIO into foreign pages
>>>> * Have blktap modules, which will cause qemu not to use AIO, but
>>>> which are not loaded on boot.
>>>>
>>>> Attempt to load blktap in xencommons, to make sure modern qemu's which
>>>> use AIO will work properly on those kernels.
>>>>
>>>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>>>
>>>> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>>>> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>>>> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>>>> @@ -59,6 +59,7 @@ do_start () {
>>>>    	modprobe evtchn 2>/dev/null
>>>>    	modprobe gntdev 2>/dev/null
>>>>    	modprobe xen-acpi-processor 2>/dev/null
>>>> +	modprobe blktap 2>/dev/null
>>> Can we stop manually loading all kinds of drivers here? I was
>>> glad this went away with the switch to xencommons, and
>>> now this is coming back. Drivers definitely needed in all cases
>>> are acceptable imo, but backend drivers should be loaded as
>>> backends get created by the tools (similarly frontend drivers
>>> for the local attach case, though they should get auto-loaded
>>> normally anyway).
>> I tend to agree with you; I did it this way because that's what was
>> suggested to me.  But I don't at the moment know enough about the
>> backend creation stuff in xl / qemu to DTRT here.
>>
>> If you want to volunteer to do a patch that DTRT, I think it makes sense
>> to hold off.
> No, I won't.
>
>>   But if not, I suggest we accept this patch, and I'll come
>> back and try to write a proper one before the 4.2 release.  I think it's
>> really important we do something before 4.2, as it causes pretty serious
>> problems on systems which are affected (almost always a host crash,
>> possibly with some disk corruption).
> A host crash because of a driver not loaded? That would suggest
> bugs elsewhere...
Yes -- a bug in the AIO implementation for foreign pages, as the 
description states.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:42:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKp4-0007JX-Qv; Tue, 15 May 2012 16:42:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUKp3-0007JM-AH
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:42:05 +0000
Received: from [85.158.138.51:44400] by server-3.bemta-3.messagelabs.com id
	27/6C-04048-A5782BF4; Tue, 15 May 2012 16:42:02 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337100120!27263101!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxODU=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15674 invoked from network); 15 May 2012 16:42:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:42:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330923600"; d="scan'208";a="25204922"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 12:41:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 15 May 2012 12:41:59 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUKox-0003IT-3P;
	Tue, 15 May 2012 17:41:59 +0100
Message-ID: <4FB28709.9080001@eu.citrix.com>
Date: Tue, 15 May 2012 17:40:41 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
In-Reply-To: <4FB2A2320200007800083EB4@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 15/05/12 17:36, Jan Beulich wrote:
>>>> On 15.05.12 at 18:21, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> On 15/05/12 17:16, Jan Beulich wrote:
>>>>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>   wrote:
>>>> Older kernels, such as those found in Debian Squeeze:
>>>> * Have bugs in handling of AIO into foreign pages
>>>> * Have blktap modules, which will cause qemu not to use AIO, but
>>>> which are not loaded on boot.
>>>>
>>>> Attempt to load blktap in xencommons, to make sure modern qemu's which
>>>> use AIO will work properly on those kernels.
>>>>
>>>> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>>>>
>>>> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>>>> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>>>> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>>>> @@ -59,6 +59,7 @@ do_start () {
>>>>    	modprobe evtchn 2>/dev/null
>>>>    	modprobe gntdev 2>/dev/null
>>>>    	modprobe xen-acpi-processor 2>/dev/null
>>>> +	modprobe blktap 2>/dev/null
>>> Can we stop manually loading all kinds of drivers here? I was
>>> glad this went away with the switch to xencommons, and
>>> now this is coming back. Drivers definitely needed in all cases
>>> are acceptable imo, but backend drivers should be loaded as
>>> backends get created by the tools (similarly frontend drivers
>>> for the local attach case, though they should get auto-loaded
>>> normally anyway).
>> I tend to agree with you; I did it this way because that's what was
>> suggested to me.  But I don't at the moment know enough about the
>> backend creation stuff in xl / qemu to DTRT here.
>>
>> If you want to volunteer to do a patch that DTRT, I think it makes sense
>> to hold off.
> No, I won't.
>
>>   But if not, I suggest we accept this patch, and I'll come
>> back and try to write a proper one before the 4.2 release.  I think it's
>> really important we do something before 4.2, as it causes pretty serious
>> problems on systems which are affected (almost always a host crash,
>> possibly with some disk corruption).
> A host crash because of a driver not loaded? That would suggest
> bugs elsewhere...
Yes -- a bug in the AIO implementation for foreign pages, as the 
description states.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:42:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:42:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKpQ-0007LO-7c; Tue, 15 May 2012 16:42:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUKpO-0007L5-SL
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:42:26 +0000
Received: from [85.158.139.83:5808] by server-7.bemta-5.messagelabs.com id
	BD/B6-16195-17782BF4; Tue, 15 May 2012 16:42:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337100145!28015880!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4954 invoked from network); 15 May 2012 16:42:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:42:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488770"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:42:25 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 17:42:25 +0100
Date: Tue, 15 May 2012 17:42:08 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony Liguori <anthony@codemonkey.ws>
In-Reply-To: <4FB2839B.3000103@codemonkey.ws>
Message-ID: <alpine.DEB.2.00.1205151742010.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<4FB2839B.3000103@codemonkey.ws>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony Liguori wrote:
> On 05/15/2012 10:26 AM, Anthony PERARD wrote:
> > In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> > unplug before the guest drivers are initialized. This mean that there must be
> > unplug without the consent of the guest.
> 
> Stefano,
> 
> Can you do a PULL for the various 1.1 fixes for Xen?  Please try to get any -rc3 
> pull requests in by Friday.

Sure, I am going to issue a PULL request for yesterday's patches today.

Regarding Anthony's new fixes, I'll send them out on Thursday to get
people a chance to read them if for you is OK.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 16:42:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 16:42:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUKpQ-0007LO-7c; Tue, 15 May 2012 16:42:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUKpO-0007L5-SL
	for xen-devel@lists.xen.org; Tue, 15 May 2012 16:42:26 +0000
Received: from [85.158.139.83:5808] by server-7.bemta-5.messagelabs.com id
	BD/B6-16195-17782BF4; Tue, 15 May 2012 16:42:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337100145!28015880!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4954 invoked from network); 15 May 2012 16:42:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 16:42:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12488770"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 16:42:25 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 17:42:25 +0100
Date: Tue, 15 May 2012 17:42:08 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony Liguori <anthony@codemonkey.ws>
In-Reply-To: <4FB2839B.3000103@codemonkey.ws>
Message-ID: <alpine.DEB.2.00.1205151742010.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<4FB2839B.3000103@codemonkey.ws>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony Liguori wrote:
> On 05/15/2012 10:26 AM, Anthony PERARD wrote:
> > In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> > unplug before the guest drivers are initialized. This mean that there must be
> > unplug without the consent of the guest.
> 
> Stefano,
> 
> Can you do a PULL for the various 1.1 fixes for Xen?  Please try to get any -rc3 
> pull requests in by Friday.

Sure, I am going to issue a PULL request for yesterday's patches today.

Regarding Anthony's new fixes, I'll send them out on Thursday to get
people a chance to read them if for you is OK.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:16:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:16:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMHY-0000Mp-3N; Tue, 15 May 2012 18:15:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUMHW-0000Mk-SP
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:15:35 +0000
Received: from [85.158.143.35:27527] by server-3.bemta-4.messagelabs.com id
	3E/F2-05853-64D92BF4; Tue, 15 May 2012 18:15:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337105732!15544015!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17395 invoked from network); 15 May 2012 18:15:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:15:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12489884"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 18:15:32 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 19:15:32 +0100
Date: Tue, 15 May 2012 19:15:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205151913460.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2/4] qdev: Introduce qdev_force_unplug.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony PERARD wrote:
> This function will be use to force a device to be ejected without the guest
> cooperation.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  hw/qdev.c |   23 ++++++++++++++++++++---
>  hw/qdev.h |    3 +++
>  2 files changed, 23 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/qdev.c b/hw/qdev.c
> index 6a8f6bd..c95d4c2 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -184,24 +184,41 @@ void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
>      dev->alias_required_for_version = required_for_version;
>  }
>  
> -void qdev_unplug(DeviceState *dev, Error **errp)
> +static void qdev_unplug_common(DeviceState *dev, Error **errp, bool force)
>  {
>      DeviceClass *dc = DEVICE_GET_CLASS(dev);
> +    qdev_event unplug;
>  
>      if (!dev->parent_bus->allow_hotplug) {
>          error_set(errp, QERR_BUS_NO_HOTPLUG, dev->parent_bus->name);
>          return;
>      }
> -    assert(dc->unplug != NULL);
> +
> +    if (force) {
> +        unplug = dc->force_unplug;
> +    } else {
> +        unplug = dc->unplug;
> +    }
> +    assert(unplug != NULL);

unplug needs to be initialized to NULL above


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:16:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:16:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMHY-0000Mp-3N; Tue, 15 May 2012 18:15:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUMHW-0000Mk-SP
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:15:35 +0000
Received: from [85.158.143.35:27527] by server-3.bemta-4.messagelabs.com id
	3E/F2-05853-64D92BF4; Tue, 15 May 2012 18:15:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337105732!15544015!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17395 invoked from network); 15 May 2012 18:15:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:15:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12489884"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 18:15:32 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 19:15:32 +0100
Date: Tue, 15 May 2012 19:15:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205151913460.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2/4] qdev: Introduce qdev_force_unplug.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony PERARD wrote:
> This function will be use to force a device to be ejected without the guest
> cooperation.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  hw/qdev.c |   23 ++++++++++++++++++++---
>  hw/qdev.h |    3 +++
>  2 files changed, 23 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/qdev.c b/hw/qdev.c
> index 6a8f6bd..c95d4c2 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -184,24 +184,41 @@ void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
>      dev->alias_required_for_version = required_for_version;
>  }
>  
> -void qdev_unplug(DeviceState *dev, Error **errp)
> +static void qdev_unplug_common(DeviceState *dev, Error **errp, bool force)
>  {
>      DeviceClass *dc = DEVICE_GET_CLASS(dev);
> +    qdev_event unplug;
>  
>      if (!dev->parent_bus->allow_hotplug) {
>          error_set(errp, QERR_BUS_NO_HOTPLUG, dev->parent_bus->name);
>          return;
>      }
> -    assert(dc->unplug != NULL);
> +
> +    if (force) {
> +        unplug = dc->force_unplug;
> +    } else {
> +        unplug = dc->unplug;
> +    }
> +    assert(unplug != NULL);

unplug needs to be initialized to NULL above


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:20:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMLL-0000Su-OR; Tue, 15 May 2012 18:19:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUMLK-0000Sh-ET
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:19:30 +0000
Received: from [85.158.143.99:60104] by server-1.bemta-4.messagelabs.com id
	12/3C-20925-13E92BF4; Tue, 15 May 2012 18:19:29 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337105964!27265677!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26162 invoked from network); 15 May 2012 18:19:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:19:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12489909"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 18:19:22 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 19:19:22 +0100
Date: Tue, 15 May 2012 19:19:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205151916440.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony PERARD wrote:
> This hotplug state will be used to remove a device without the guest
> cooperation.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  hw/acpi_piix4.c |    5 +++++
>  hw/pci.h        |    1 +
>  2 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 585da4e..dfd5a9d 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -587,6 +587,11 @@ static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev,
>          return 0;
>      }
>  
> +    if (state == PCI_FORCE_EJECT) {
> +        acpi_piix_eject_slot(s, 1 << slot);
> +        return 0;
> +    }
> +
>      if (state == PCI_HOTPLUG_ENABLED) {
>          enable_device(s, slot);
>      } else {
> diff --git a/hw/pci.h b/hw/pci.h
> index 8d0aa49..3b61e43 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -273,6 +273,7 @@ typedef enum {
>      PCI_HOTPLUG_DISABLED,
>      PCI_HOTPLUG_ENABLED,
>      PCI_COLDPLUG_ENABLED,
> +    PCI_FORCE_EJECT,
>  } PCIHotplugState;

Given that it is supposed to be a state rather than an action, it should
be called PCI_FORCE_DISABLED or something like that.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:20:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMLL-0000Su-OR; Tue, 15 May 2012 18:19:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUMLK-0000Sh-ET
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:19:30 +0000
Received: from [85.158.143.99:60104] by server-1.bemta-4.messagelabs.com id
	12/3C-20925-13E92BF4; Tue, 15 May 2012 18:19:29 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337105964!27265677!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26162 invoked from network); 15 May 2012 18:19:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:19:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12489909"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 18:19:22 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 19:19:22 +0100
Date: Tue, 15 May 2012 19:19:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205151916440.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony PERARD wrote:
> This hotplug state will be used to remove a device without the guest
> cooperation.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  hw/acpi_piix4.c |    5 +++++
>  hw/pci.h        |    1 +
>  2 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 585da4e..dfd5a9d 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -587,6 +587,11 @@ static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev,
>          return 0;
>      }
>  
> +    if (state == PCI_FORCE_EJECT) {
> +        acpi_piix_eject_slot(s, 1 << slot);
> +        return 0;
> +    }
> +
>      if (state == PCI_HOTPLUG_ENABLED) {
>          enable_device(s, slot);
>      } else {
> diff --git a/hw/pci.h b/hw/pci.h
> index 8d0aa49..3b61e43 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -273,6 +273,7 @@ typedef enum {
>      PCI_HOTPLUG_DISABLED,
>      PCI_HOTPLUG_ENABLED,
>      PCI_COLDPLUG_ENABLED,
> +    PCI_FORCE_EJECT,
>  } PCIHotplugState;

Given that it is supposed to be a state rather than an action, it should
be called PCI_FORCE_DISABLED or something like that.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:21:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:21:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMMW-0000Wx-7t; Tue, 15 May 2012 18:20:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUMMU-0000Wp-Ta
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:20:43 +0000
Received: from [85.158.143.99:8346] by server-3.bemta-4.messagelabs.com id
	43/C8-05853-A7E92BF4; Tue, 15 May 2012 18:20:42 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337106040!28138478!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14432 invoked from network); 15 May 2012 18:20:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:20:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12489924"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 18:20:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 19:20:39 +0100
Date: Tue, 15 May 2012 19:20:23 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205151919300.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized. This mean that there must be
> unplug without the consent of the guest.
> 
> Without this patch series, the guest end up with two nics with the same MAC,
> the emulated nic and the PV nic.
> 
> I tried few other path before to submite these patches:
>   - delayed the hot unplug in QEMU until the guest initialize the hotplug.
>     => the guest unplug the nic only after the driver initialized it. That's a
>       bit late.
>   - delayed the call to unplug the emulated device until pci_acpi_init is called
>     => this is worse, the pv disc does not show up and the guest does not boot.
> 
> In order to achive this fix, these patches introduce a new hotplug state only
> used in acpi_piix4, and a new qdev callback force_unplug.
> 
> Would it be possible to have this fix in the next release?

I would be in favor for having this fix in 1.1.

Apart from the two comments I sent, I think that the patch series looks
reasonable.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:21:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:21:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMMW-0000Wx-7t; Tue, 15 May 2012 18:20:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUMMU-0000Wp-Ta
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:20:43 +0000
Received: from [85.158.143.99:8346] by server-3.bemta-4.messagelabs.com id
	43/C8-05853-A7E92BF4; Tue, 15 May 2012 18:20:42 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337106040!28138478!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14432 invoked from network); 15 May 2012 18:20:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:20:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,595,1330905600"; d="scan'208";a="12489924"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 18:20:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 19:20:39 +0100
Date: Tue, 15 May 2012 19:20:23 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205151919300.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized. This mean that there must be
> unplug without the consent of the guest.
> 
> Without this patch series, the guest end up with two nics with the same MAC,
> the emulated nic and the PV nic.
> 
> I tried few other path before to submite these patches:
>   - delayed the hot unplug in QEMU until the guest initialize the hotplug.
>     => the guest unplug the nic only after the driver initialized it. That's a
>       bit late.
>   - delayed the call to unplug the emulated device until pci_acpi_init is called
>     => this is worse, the pv disc does not show up and the guest does not boot.
> 
> In order to achive this fix, these patches introduce a new hotplug state only
> used in acpi_piix4, and a new qdev callback force_unplug.
> 
> Would it be possible to have this fix in the next release?

I would be in favor for having this fix in 1.1.

Apart from the two comments I sent, I think that the patch series looks
reasonable.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:23:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:23:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMOo-0000gd-Oz; Tue, 15 May 2012 18:23:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUMOn-0000gU-R3
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:23:06 +0000
Received: from [85.158.138.51:9131] by server-8.bemta-3.messagelabs.com id
	3F/61-24428-80F92BF4; Tue, 15 May 2012 18:23:04 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337106182!19246637!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25908 invoked from network); 15 May 2012 18:23:03 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:23:03 -0000
Received: by ggnp1 with SMTP id p1so5672066ggn.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 11:23:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=/c6PikHC9SHRfV5yIx7w4dU9NQdYE/MiM3uR8Lx+fhM=;
	b=SYktYIn86jdELBmuiv7dpUX1aIPnHmh368Ze1Dmmus+Xmy4P0IrLMROXUC80R0tKrg
	YslZBfTnpjDQ9D5Es6mTqXkvPNMVybqC9UDE+ZFFLjaa0ZRlOkTP+KoNtjjdkaIVbZZb
	OjrpnU1mJD9Oyco7Xs2fBc3OpfbE1uOGtvIsajxkEleznzRr367VBgVX2bDatxj//CJ5
	udHHGVWQpFJ6c64wu2TveXSn6Iq+HbvQDlYT+s9MWzhZ02mrbq0FvdLY5jDZ+kSGCYnT
	HJrzIJJTK7pP2LJ/2nMBgCR3C0NvSrgkeu10WS0eUEdzKcCs01W5ioFs34zON9LjsEtU
	Gl8g==
Received: by 10.50.181.164 with SMTP id dx4mr8134260igc.1.1337106181163; Tue,
	15 May 2012 11:23:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Tue, 15 May 2012 11:22:30 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205151913460.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205151913460.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Tue, 15 May 2012 19:22:30 +0100
X-Google-Sender-Auth: drOgkM5lefY_NaqLEfXEGIKHGq4
Message-ID: <CAJJyHjLcip+voFMuftWGAKJDTrA+yovKa+4=Cef6S4HkEQc-VQ@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 2/4] qdev: Introduce
	qdev_force_unplug.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCBNYXkgMTUsIDIwMTIgYXQgNzoxNSBQTSwgU3RlZmFubyBTdGFiZWxsaW5pCjxzdGVm
YW5vLnN0YWJlbGxpbmlAZXUuY2l0cml4LmNvbT4gd3JvdGU6Cj4gT24gVHVlLCAxNSBNYXkgMjAx
MiwgQW50aG9ueSBQRVJBUkQgd3JvdGU6Cj4+IFRoaXMgZnVuY3Rpb24gd2lsbCBiZSB1c2UgdG8g
Zm9yY2UgYSBkZXZpY2UgdG8gYmUgZWplY3RlZCB3aXRob3V0IHRoZSBndWVzdAo+PiBjb29wZXJh
dGlvbi4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJk
QGNpdHJpeC5jb20+Cj4+IC0tLQo+PiDCoGh3L3FkZXYuYyB8IMKgIDIzICsrKysrKysrKysrKysr
KysrKysrLS0tCj4+IMKgaHcvcWRldi5oIHwgwqAgwqAzICsrKwo+PiDCoDIgZmlsZXMgY2hhbmdl
ZCwgMjMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2h3
L3FkZXYuYyBiL2h3L3FkZXYuYwo+PiBpbmRleCA2YThmNmJkLi5jOTVkNGMyIDEwMDY0NAo+PiAt
LS0gYS9ody9xZGV2LmMKPj4gKysrIGIvaHcvcWRldi5jCj4+IEBAIC0xODQsMjQgKzE4NCw0MSBA
QCB2b2lkIHFkZXZfc2V0X2xlZ2FjeV9pbnN0YW5jZV9pZChEZXZpY2VTdGF0ZSAqZGV2LCBpbnQg
YWxpYXNfaWQsCj4+IMKgIMKgIMKgZGV2LT5hbGlhc19yZXF1aXJlZF9mb3JfdmVyc2lvbiA9IHJl
cXVpcmVkX2Zvcl92ZXJzaW9uOwo+PiDCoH0KPj4KPj4gLXZvaWQgcWRldl91bnBsdWcoRGV2aWNl
U3RhdGUgKmRldiwgRXJyb3IgKiplcnJwKQo+PiArc3RhdGljIHZvaWQgcWRldl91bnBsdWdfY29t
bW9uKERldmljZVN0YXRlICpkZXYsIEVycm9yICoqZXJycCwgYm9vbCBmb3JjZSkKPj4gwqB7Cj4+
IMKgIMKgIMKgRGV2aWNlQ2xhc3MgKmRjID0gREVWSUNFX0dFVF9DTEFTUyhkZXYpOwo+PiArIMKg
IMKgcWRldl9ldmVudCB1bnBsdWc7Cj4+Cj4+IMKgIMKgIMKgaWYgKCFkZXYtPnBhcmVudF9idXMt
PmFsbG93X2hvdHBsdWcpIHsKPj4gwqAgwqAgwqAgwqAgwqBlcnJvcl9zZXQoZXJycCwgUUVSUl9C
VVNfTk9fSE9UUExVRywgZGV2LT5wYXJlbnRfYnVzLT5uYW1lKTsKPj4gwqAgwqAgwqAgwqAgwqBy
ZXR1cm47Cj4+IMKgIMKgIMKgfQo+PiAtIMKgIMKgYXNzZXJ0KGRjLT51bnBsdWcgIT0gTlVMTCk7
Cj4+ICsKPj4gKyDCoCDCoGlmIChmb3JjZSkgewo+PiArIMKgIMKgIMKgIMKgdW5wbHVnID0gZGMt
PmZvcmNlX3VucGx1ZzsKPj4gKyDCoCDCoH0gZWxzZSB7Cj4+ICsgwqAgwqAgwqAgwqB1bnBsdWcg
PSBkYy0+dW5wbHVnOwo+PiArIMKgIMKgfQo+PiArIMKgIMKgYXNzZXJ0KHVucGx1ZyAhPSBOVUxM
KTsKPgo+IHVucGx1ZyBuZWVkcyB0byBiZSBpbml0aWFsaXplZCB0byBOVUxMIGFib3ZlCgpXaHk/
IHVucGx1ZyBpcyBub3QgdXNlZCBiZWZvcmUgdG8gYmUgc2V0LgoKQnV0IEkgY2FuIGRvIHRoYXQg
Zm9yIHRoZSBuZXh0IHZlcnNpb24gaWYgdGhlcmUgaXMgb25lLgoKLS0gCkFudGhvbnkgUEVSQVJE
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2
ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u
b3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Tue May 15 18:23:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:23:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMOo-0000gd-Oz; Tue, 15 May 2012 18:23:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUMOn-0000gU-R3
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:23:06 +0000
Received: from [85.158.138.51:9131] by server-8.bemta-3.messagelabs.com id
	3F/61-24428-80F92BF4; Tue, 15 May 2012 18:23:04 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337106182!19246637!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25908 invoked from network); 15 May 2012 18:23:03 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:23:03 -0000
Received: by ggnp1 with SMTP id p1so5672066ggn.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 11:23:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=/c6PikHC9SHRfV5yIx7w4dU9NQdYE/MiM3uR8Lx+fhM=;
	b=SYktYIn86jdELBmuiv7dpUX1aIPnHmh368Ze1Dmmus+Xmy4P0IrLMROXUC80R0tKrg
	YslZBfTnpjDQ9D5Es6mTqXkvPNMVybqC9UDE+ZFFLjaa0ZRlOkTP+KoNtjjdkaIVbZZb
	OjrpnU1mJD9Oyco7Xs2fBc3OpfbE1uOGtvIsajxkEleznzRr367VBgVX2bDatxj//CJ5
	udHHGVWQpFJ6c64wu2TveXSn6Iq+HbvQDlYT+s9MWzhZ02mrbq0FvdLY5jDZ+kSGCYnT
	HJrzIJJTK7pP2LJ/2nMBgCR3C0NvSrgkeu10WS0eUEdzKcCs01W5ioFs34zON9LjsEtU
	Gl8g==
Received: by 10.50.181.164 with SMTP id dx4mr8134260igc.1.1337106181163; Tue,
	15 May 2012 11:23:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Tue, 15 May 2012 11:22:30 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205151913460.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-3-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205151913460.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Tue, 15 May 2012 19:22:30 +0100
X-Google-Sender-Auth: drOgkM5lefY_NaqLEfXEGIKHGq4
Message-ID: <CAJJyHjLcip+voFMuftWGAKJDTrA+yovKa+4=Cef6S4HkEQc-VQ@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 2/4] qdev: Introduce
	qdev_force_unplug.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCBNYXkgMTUsIDIwMTIgYXQgNzoxNSBQTSwgU3RlZmFubyBTdGFiZWxsaW5pCjxzdGVm
YW5vLnN0YWJlbGxpbmlAZXUuY2l0cml4LmNvbT4gd3JvdGU6Cj4gT24gVHVlLCAxNSBNYXkgMjAx
MiwgQW50aG9ueSBQRVJBUkQgd3JvdGU6Cj4+IFRoaXMgZnVuY3Rpb24gd2lsbCBiZSB1c2UgdG8g
Zm9yY2UgYSBkZXZpY2UgdG8gYmUgZWplY3RlZCB3aXRob3V0IHRoZSBndWVzdAo+PiBjb29wZXJh
dGlvbi4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJk
QGNpdHJpeC5jb20+Cj4+IC0tLQo+PiDCoGh3L3FkZXYuYyB8IMKgIDIzICsrKysrKysrKysrKysr
KysrKysrLS0tCj4+IMKgaHcvcWRldi5oIHwgwqAgwqAzICsrKwo+PiDCoDIgZmlsZXMgY2hhbmdl
ZCwgMjMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2h3
L3FkZXYuYyBiL2h3L3FkZXYuYwo+PiBpbmRleCA2YThmNmJkLi5jOTVkNGMyIDEwMDY0NAo+PiAt
LS0gYS9ody9xZGV2LmMKPj4gKysrIGIvaHcvcWRldi5jCj4+IEBAIC0xODQsMjQgKzE4NCw0MSBA
QCB2b2lkIHFkZXZfc2V0X2xlZ2FjeV9pbnN0YW5jZV9pZChEZXZpY2VTdGF0ZSAqZGV2LCBpbnQg
YWxpYXNfaWQsCj4+IMKgIMKgIMKgZGV2LT5hbGlhc19yZXF1aXJlZF9mb3JfdmVyc2lvbiA9IHJl
cXVpcmVkX2Zvcl92ZXJzaW9uOwo+PiDCoH0KPj4KPj4gLXZvaWQgcWRldl91bnBsdWcoRGV2aWNl
U3RhdGUgKmRldiwgRXJyb3IgKiplcnJwKQo+PiArc3RhdGljIHZvaWQgcWRldl91bnBsdWdfY29t
bW9uKERldmljZVN0YXRlICpkZXYsIEVycm9yICoqZXJycCwgYm9vbCBmb3JjZSkKPj4gwqB7Cj4+
IMKgIMKgIMKgRGV2aWNlQ2xhc3MgKmRjID0gREVWSUNFX0dFVF9DTEFTUyhkZXYpOwo+PiArIMKg
IMKgcWRldl9ldmVudCB1bnBsdWc7Cj4+Cj4+IMKgIMKgIMKgaWYgKCFkZXYtPnBhcmVudF9idXMt
PmFsbG93X2hvdHBsdWcpIHsKPj4gwqAgwqAgwqAgwqAgwqBlcnJvcl9zZXQoZXJycCwgUUVSUl9C
VVNfTk9fSE9UUExVRywgZGV2LT5wYXJlbnRfYnVzLT5uYW1lKTsKPj4gwqAgwqAgwqAgwqAgwqBy
ZXR1cm47Cj4+IMKgIMKgIMKgfQo+PiAtIMKgIMKgYXNzZXJ0KGRjLT51bnBsdWcgIT0gTlVMTCk7
Cj4+ICsKPj4gKyDCoCDCoGlmIChmb3JjZSkgewo+PiArIMKgIMKgIMKgIMKgdW5wbHVnID0gZGMt
PmZvcmNlX3VucGx1ZzsKPj4gKyDCoCDCoH0gZWxzZSB7Cj4+ICsgwqAgwqAgwqAgwqB1bnBsdWcg
PSBkYy0+dW5wbHVnOwo+PiArIMKgIMKgfQo+PiArIMKgIMKgYXNzZXJ0KHVucGx1ZyAhPSBOVUxM
KTsKPgo+IHVucGx1ZyBuZWVkcyB0byBiZSBpbml0aWFsaXplZCB0byBOVUxMIGFib3ZlCgpXaHk/
IHVucGx1ZyBpcyBub3QgdXNlZCBiZWZvcmUgdG8gYmUgc2V0LgoKQnV0IEkgY2FuIGRvIHRoYXQg
Zm9yIHRoZSBuZXh0IHZlcnNpb24gaWYgdGhlcmUgaXMgb25lLgoKLS0gCkFudGhvbnkgUEVSQVJE
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2
ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u
b3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Tue May 15 18:26:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:26:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMRp-0000rk-DD; Tue, 15 May 2012 18:26:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUMRn-0000rU-PO
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:26:11 +0000
Received: from [85.158.143.99:24653] by server-3.bemta-4.messagelabs.com id
	9B/5D-05853-2CF92BF4; Tue, 15 May 2012 18:26:10 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337106368!22905987!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 994 invoked from network); 15 May 2012 18:26:09 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:26:09 -0000
Received: by qaeb19 with SMTP id b19so4621780qae.11
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 11:26:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=GuSIW/5px5lg/5lGEtQNPK5UYFKl9cPr4v+hZzmJp+0=;
	b=K9QfQvf2oChL+O49NarsvMikFcV9idDveiPUXMviP/tSZtqFMhDnJgghMS9j67QWE4
	R7/5cYOOAYU0FOdovDzWRcMFgG41yBPjsxQ9AKGZfblNt6DMzQfOqPqdr3OsnD70+6t5
	d306MgyzFwC9SYZ78sP27P/PS/XNGAgKRcD/D/Qzn3RmxrE0YskKFmxHDOrX7iL+g8HK
	nbwI54lxMBE55InEG8vDgbDPwv+M/9C2K7Bteo0yGuedwoK/8UVxSo7MRDUtMcjjG91L
	Z8dStS9dRQk8HEtPK7KA7DU1ZbEjxzZ7Fp4IIAmhkuX2FfBXM0s3hBNrkW1zeF+cF2Gz
	BDkw==
Received: by 10.50.179.104 with SMTP id df8mr41642igc.11.1337106365054; Tue,
	15 May 2012 11:26:05 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Tue, 15 May 2012 11:25:34 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205151916440.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205151916440.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Tue, 15 May 2012 19:25:34 +0100
X-Google-Sender-Auth: rTzZILHIhv6_KAYdryeG-nn_lEE
Message-ID: <CAJJyHjK95hY_3wY9K5D2529tVHv-EpjrQS5Rx=R1kHgQOBZ9FQ@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
	state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 7:19 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
>
> Given that it is supposed to be a state rather than an action, it should
> be called PCI_FORCE_DISABLED or something like that.

Ok, I will change to that.

Thanks,

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 18:26:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 18:26:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUMRp-0000rk-DD; Tue, 15 May 2012 18:26:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUMRn-0000rU-PO
	for xen-devel@lists.xen.org; Tue, 15 May 2012 18:26:11 +0000
Received: from [85.158.143.99:24653] by server-3.bemta-4.messagelabs.com id
	9B/5D-05853-2CF92BF4; Tue, 15 May 2012 18:26:10 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337106368!22905987!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 994 invoked from network); 15 May 2012 18:26:09 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 18:26:09 -0000
Received: by qaeb19 with SMTP id b19so4621780qae.11
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 11:26:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=GuSIW/5px5lg/5lGEtQNPK5UYFKl9cPr4v+hZzmJp+0=;
	b=K9QfQvf2oChL+O49NarsvMikFcV9idDveiPUXMviP/tSZtqFMhDnJgghMS9j67QWE4
	R7/5cYOOAYU0FOdovDzWRcMFgG41yBPjsxQ9AKGZfblNt6DMzQfOqPqdr3OsnD70+6t5
	d306MgyzFwC9SYZ78sP27P/PS/XNGAgKRcD/D/Qzn3RmxrE0YskKFmxHDOrX7iL+g8HK
	nbwI54lxMBE55InEG8vDgbDPwv+M/9C2K7Bteo0yGuedwoK/8UVxSo7MRDUtMcjjG91L
	Z8dStS9dRQk8HEtPK7KA7DU1ZbEjxzZ7Fp4IIAmhkuX2FfBXM0s3hBNrkW1zeF+cF2Gz
	BDkw==
Received: by 10.50.179.104 with SMTP id df8mr41642igc.11.1337106365054; Tue,
	15 May 2012 11:26:05 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Tue, 15 May 2012 11:25:34 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205151916440.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205151916440.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Tue, 15 May 2012 19:25:34 +0100
X-Google-Sender-Auth: rTzZILHIhv6_KAYdryeG-nn_lEE
Message-ID: <CAJJyHjK95hY_3wY9K5D2529tVHv-EpjrQS5Rx=R1kHgQOBZ9FQ@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
	state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 7:19 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
>
> Given that it is supposed to be a state rather than an action, it should
> be called PCI_FORCE_DISABLED or something like that.

Ok, I will change to that.

Thanks,

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 19:35:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 19:35:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUNW7-0001mC-7K; Tue, 15 May 2012 19:34:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SUNW5-0001m7-Ue
	for xen-devel@lists.xen.org; Tue, 15 May 2012 19:34:42 +0000
Received: from [193.109.254.147:36620] by server-9.bemta-14.messagelabs.com id
	A4/73-05787-1DFA2BF4; Tue, 15 May 2012 19:34:41 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337110480!2599858!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26023 invoked from network); 15 May 2012 19:34:40 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-11.tower-27.messagelabs.com with SMTP;
	15 May 2012 19:34:40 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id 7EF92C56159;
	Tue, 15 May 2012 20:34:39 +0100 (BST)
Date: Tue, 15 May 2012 20:34:37 +0100
From: Alex Bligh <alex@alex.org.uk>
To: Xen Devel <xen-devel@lists.xen.org>
Message-ID: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Alex Bligh <alex@alex.org.uk>
Subject: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Odd question I know. I am looking for source for as recent a kernel as
possible running the old style xenlinux/xenified kernel (i.e. capable of
running the xen3.3.x hypervisor). Any ideas where I can get this -
preferably in git form?

I think Stefano Stabellini had something that worked up to 2.6.36 (from
memory).

And yes, we would all prefer all our customers moved to xen4 but this is
difficult for some of them.

-- 
Alex Bligh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 19:35:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 19:35:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUNW7-0001mC-7K; Tue, 15 May 2012 19:34:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SUNW5-0001m7-Ue
	for xen-devel@lists.xen.org; Tue, 15 May 2012 19:34:42 +0000
Received: from [193.109.254.147:36620] by server-9.bemta-14.messagelabs.com id
	A4/73-05787-1DFA2BF4; Tue, 15 May 2012 19:34:41 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337110480!2599858!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26023 invoked from network); 15 May 2012 19:34:40 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-11.tower-27.messagelabs.com with SMTP;
	15 May 2012 19:34:40 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id 7EF92C56159;
	Tue, 15 May 2012 20:34:39 +0100 (BST)
Date: Tue, 15 May 2012 20:34:37 +0100
From: Alex Bligh <alex@alex.org.uk>
To: Xen Devel <xen-devel@lists.xen.org>
Message-ID: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Alex Bligh <alex@alex.org.uk>
Subject: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Odd question I know. I am looking for source for as recent a kernel as
possible running the old style xenlinux/xenified kernel (i.e. capable of
running the xen3.3.x hypervisor). Any ideas where I can get this -
preferably in git form?

I think Stefano Stabellini had something that worked up to 2.6.36 (from
memory).

And yes, we would all prefer all our customers moved to xen4 but this is
difficult for some of them.

-- 
Alex Bligh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 20:00:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 20:00:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUNuA-00022F-Ex; Tue, 15 May 2012 19:59:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SUNu8-00022A-N9
	for xen-devel@lists.xen.org; Tue, 15 May 2012 19:59:32 +0000
Received: from [85.158.139.83:15618] by server-10.bemta-5.messagelabs.com id
	06/EE-08260-3A5B2BF4; Tue, 15 May 2012 19:59:31 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337111970!28614752!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzQ0NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1338 invoked from network); 15 May 2012 19:59:31 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 15 May 2012 19:59:31 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 326BB154C;
	Tue, 15 May 2012 22:59:30 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id D9E052005D; Tue, 15 May 2012 22:59:29 +0300 (EEST)
Date: Tue, 15 May 2012 22:59:29 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Alex Bligh <alex@alex.org.uk>
Message-ID: <20120515195929.GM2058@reaktio.net>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 08:34:37PM +0100, Alex Bligh wrote:
> Odd question I know. I am looking for source for as recent a kernel as
> possible running the old style xenlinux/xenified kernel (i.e. capable of
> running the xen3.3.x hypervisor). Any ideas where I can get this -
> preferably in git form?
> 
> I think Stefano Stabellini had something that worked up to 2.6.36 (from
> memory).
> 
> And yes, we would all prefer all our customers moved to xen4 but this is
> difficult for some of them.
> 

upstream pvops dom0 kernels probably won't run with Xen 3.3.x hypervisor
due to missing and required hypercalls.

So you might want to try SLES or OpenSUSE Xenlinux kernels.
Or even RHEL5/CentOS5 kernel-xen.. it's 2.6.18 but actively maintained/patched.

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 20:00:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 20:00:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUNuA-00022F-Ex; Tue, 15 May 2012 19:59:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SUNu8-00022A-N9
	for xen-devel@lists.xen.org; Tue, 15 May 2012 19:59:32 +0000
Received: from [85.158.139.83:15618] by server-10.bemta-5.messagelabs.com id
	06/EE-08260-3A5B2BF4; Tue, 15 May 2012 19:59:31 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337111970!28614752!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzQ0NDM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1338 invoked from network); 15 May 2012 19:59:31 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 15 May 2012 19:59:31 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 326BB154C;
	Tue, 15 May 2012 22:59:30 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id D9E052005D; Tue, 15 May 2012 22:59:29 +0300 (EEST)
Date: Tue, 15 May 2012 22:59:29 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Alex Bligh <alex@alex.org.uk>
Message-ID: <20120515195929.GM2058@reaktio.net>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 08:34:37PM +0100, Alex Bligh wrote:
> Odd question I know. I am looking for source for as recent a kernel as
> possible running the old style xenlinux/xenified kernel (i.e. capable of
> running the xen3.3.x hypervisor). Any ideas where I can get this -
> preferably in git form?
> 
> I think Stefano Stabellini had something that worked up to 2.6.36 (from
> memory).
> 
> And yes, we would all prefer all our customers moved to xen4 but this is
> difficult for some of them.
> 

upstream pvops dom0 kernels probably won't run with Xen 3.3.x hypervisor
due to missing and required hypercalls.

So you might want to try SLES or OpenSUSE Xenlinux kernels.
Or even RHEL5/CentOS5 kernel-xen.. it's 2.6.18 but actively maintained/patched.

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 20:53:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 20:53:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUOjP-0002T0-ON; Tue, 15 May 2012 20:52:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUOjN-0002Sv-EV
	for xen-devel@lists.xen.org; Tue, 15 May 2012 20:52:29 +0000
Received: from [85.158.138.51:3952] by server-11.bemta-3.messagelabs.com id
	06/B6-18894-C02C2BF4; Tue, 15 May 2012 20:52:28 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337115147!18384619!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27953 invoked from network); 15 May 2012 20:52:27 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-7.tower-174.messagelabs.com with SMTP;
	15 May 2012 20:52:27 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FKqLNL004507
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 16:52:21 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4FKqHvD011931; Tue, 15 May 2012 16:52:18 -0400
Date: Tue, 15 May 2012 23:52:22 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120515205222.GA12039@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 04:26:36PM +0100, Anthony PERARD wrote:
> This hotplug state will be used to remove a device without the guest
> cooperation.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

This can crash guest, can't it? If you are fine with crashing guest,
we already let you do this:
- delete device
- reset guest
no need for new flags.

> ---
>  hw/acpi_piix4.c |    5 +++++
>  hw/pci.h        |    1 +
>  2 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 585da4e..dfd5a9d 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -587,6 +587,11 @@ static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev,
>          return 0;
>      }
>  
> +    if (state == PCI_FORCE_EJECT) {
> +        acpi_piix_eject_slot(s, 1 << slot);
> +        return 0;
> +    }
> +
>      if (state == PCI_HOTPLUG_ENABLED) {
>          enable_device(s, slot);
>      } else {
> diff --git a/hw/pci.h b/hw/pci.h
> index 8d0aa49..3b61e43 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -273,6 +273,7 @@ typedef enum {
>      PCI_HOTPLUG_DISABLED,
>      PCI_HOTPLUG_ENABLED,
>      PCI_COLDPLUG_ENABLED,
> +    PCI_FORCE_EJECT,
>  } PCIHotplugState;
>  
>  typedef int (*pci_hotplug_fn)(DeviceState *qdev, PCIDevice *pci_dev,
> -- 
> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 20:53:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 20:53:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUOjP-0002T0-ON; Tue, 15 May 2012 20:52:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUOjN-0002Sv-EV
	for xen-devel@lists.xen.org; Tue, 15 May 2012 20:52:29 +0000
Received: from [85.158.138.51:3952] by server-11.bemta-3.messagelabs.com id
	06/B6-18894-C02C2BF4; Tue, 15 May 2012 20:52:28 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337115147!18384619!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27953 invoked from network); 15 May 2012 20:52:27 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-7.tower-174.messagelabs.com with SMTP;
	15 May 2012 20:52:27 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FKqLNL004507
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 16:52:21 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4FKqHvD011931; Tue, 15 May 2012 16:52:18 -0400
Date: Tue, 15 May 2012 23:52:22 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120515205222.GA12039@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 04:26:36PM +0100, Anthony PERARD wrote:
> This hotplug state will be used to remove a device without the guest
> cooperation.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

This can crash guest, can't it? If you are fine with crashing guest,
we already let you do this:
- delete device
- reset guest
no need for new flags.

> ---
>  hw/acpi_piix4.c |    5 +++++
>  hw/pci.h        |    1 +
>  2 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 585da4e..dfd5a9d 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -587,6 +587,11 @@ static int piix4_device_hotplug(DeviceState *qdev, PCIDevice *dev,
>          return 0;
>      }
>  
> +    if (state == PCI_FORCE_EJECT) {
> +        acpi_piix_eject_slot(s, 1 << slot);
> +        return 0;
> +    }
> +
>      if (state == PCI_HOTPLUG_ENABLED) {
>          enable_device(s, slot);
>      } else {
> diff --git a/hw/pci.h b/hw/pci.h
> index 8d0aa49..3b61e43 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -273,6 +273,7 @@ typedef enum {
>      PCI_HOTPLUG_DISABLED,
>      PCI_HOTPLUG_ENABLED,
>      PCI_COLDPLUG_ENABLED,
> +    PCI_FORCE_EJECT,
>  } PCIHotplugState;
>  
>  typedef int (*pci_hotplug_fn)(DeviceState *qdev, PCIDevice *pci_dev,
> -- 
> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 21:01:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 21:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUOrc-0002dB-Nc; Tue, 15 May 2012 21:01:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUOrb-0002d6-DN
	for xen-devel@lists.xen.org; Tue, 15 May 2012 21:00:59 +0000
Received: from [85.158.139.83:10435] by server-11.bemta-5.messagelabs.com id
	16/8D-12959-A04C2BF4; Tue, 15 May 2012 21:00:58 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337115657!28576431!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI1MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28721 invoked from network); 15 May 2012 21:00:57 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-3.tower-182.messagelabs.com with SMTP;
	15 May 2012 21:00:57 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FL0qWj028655
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 17:00:52 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4FL0n6h002387; Tue, 15 May 2012 17:00:49 -0400
Date: Wed, 16 May 2012 00:00:53 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120515210053.GB12039@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 04:26:39PM +0100, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized. This mean that there must be
> unplug without the consent of the guest.
> 
> Without this patch, the guest end up with two nics with the same MAC, the
> emulated nic and the PV nic.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

OK, so on Xen there are special devices that can be safely removed
without telling the guest?  Does there need to be regular hotplug for
these devices too? Or can it be always surprise removal?

> ---
>  hw/xen_platform.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
> index a9c52a6..2e47129 100644
> --- a/hw/xen_platform.c
> +++ b/hw/xen_platform.c
> @@ -87,7 +87,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>  {
>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>              PCI_CLASS_NETWORK_ETHERNET) {
> -        qdev_unplug(&(d->qdev), NULL);
> +        qdev_force_unplug(&(d->qdev), NULL);
>      }
>  }
>  
> -- 
> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 21:01:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 21:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUOrc-0002dB-Nc; Tue, 15 May 2012 21:01:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUOrb-0002d6-DN
	for xen-devel@lists.xen.org; Tue, 15 May 2012 21:00:59 +0000
Received: from [85.158.139.83:10435] by server-11.bemta-5.messagelabs.com id
	16/8D-12959-A04C2BF4; Tue, 15 May 2012 21:00:58 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337115657!28576431!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI1MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28721 invoked from network); 15 May 2012 21:00:57 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-3.tower-182.messagelabs.com with SMTP;
	15 May 2012 21:00:57 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FL0qWj028655
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 17:00:52 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4FL0n6h002387; Tue, 15 May 2012 17:00:49 -0400
Date: Wed, 16 May 2012 00:00:53 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120515210053.GB12039@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 04:26:39PM +0100, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized. This mean that there must be
> unplug without the consent of the guest.
> 
> Without this patch, the guest end up with two nics with the same MAC, the
> emulated nic and the PV nic.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

OK, so on Xen there are special devices that can be safely removed
without telling the guest?  Does there need to be regular hotplug for
these devices too? Or can it be always surprise removal?

> ---
>  hw/xen_platform.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
> index a9c52a6..2e47129 100644
> --- a/hw/xen_platform.c
> +++ b/hw/xen_platform.c
> @@ -87,7 +87,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>  {
>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>              PCI_CLASS_NETWORK_ETHERNET) {
> -        qdev_unplug(&(d->qdev), NULL);
> +        qdev_force_unplug(&(d->qdev), NULL);
>      }
>  }
>  
> -- 
> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 21:06:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 21:06:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUOwp-0002n9-Eh; Tue, 15 May 2012 21:06:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUOwn-0002n4-N8
	for xen-devel@lists.xen.org; Tue, 15 May 2012 21:06:21 +0000
Received: from [85.158.143.35:48253] by server-2.bemta-4.messagelabs.com id
	B9/A7-12211-D45C2BF4; Tue, 15 May 2012 21:06:21 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337115975!11203388!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12720 invoked from network); 15 May 2012 21:06:16 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-11.tower-21.messagelabs.com with SMTP;
	15 May 2012 21:06:16 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FL6AZ9023419
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 17:06:11 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4FL67TB004760; Tue, 15 May 2012 17:06:08 -0400
Date: Wed, 16 May 2012 00:06:12 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120515210612.GC12039@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 04:26:35PM +0100, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized.

Guest drivers for which device?

> This mean that there must be unplug without the consent of the guest.
> Without this patch series, the guest end up with two nics with the
> same MAC, the emulated nic and the PV nic.

Shouldn't be a problem if one of them has link down state.
So maybe just be careful not to bring PV link up until after emulated
nic goes away?

> I tried few other path before to submite these patches:
>   - delayed the hot unplug in QEMU until the guest initialize the hotplug.
>     => the guest unplug the nic only after the driver initialized it. That's a
>       bit late.
>   - delayed the call to unplug the emulated device until pci_acpi_init is called
>     => this is worse, the pv disc does not show up and the guest does not boot.
> 
> In order to achive this fix, these patches introduce a new hotplug state only
> used in acpi_piix4, and a new qdev callback force_unplug.
> 
> Would it be possible to have this fix in the next release?
> 
> Thanks,
> 
> 
> Anthony PERARD (4):
>   Introduce a new hotplug state: Force eject.
>   qdev: Introduce qdev_force_unplug.
>   pci: Add force_unplug callback.
>   xen: Fix PV-on-HVM
> 
>  hw/acpi_piix4.c   |    5 +++++
>  hw/pci.c          |   15 +++++++++++++--
>  hw/pci.h          |    1 +
>  hw/qdev.c         |   23 ++++++++++++++++++++---
>  hw/qdev.h         |    3 +++
>  hw/xen_platform.c |    2 +-
>  6 files changed, 43 insertions(+), 6 deletions(-)
> 
> -- 
> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 21:06:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 21:06:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUOwp-0002n9-Eh; Tue, 15 May 2012 21:06:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUOwn-0002n4-N8
	for xen-devel@lists.xen.org; Tue, 15 May 2012 21:06:21 +0000
Received: from [85.158.143.35:48253] by server-2.bemta-4.messagelabs.com id
	B9/A7-12211-D45C2BF4; Tue, 15 May 2012 21:06:21 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337115975!11203388!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTIzOTM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12720 invoked from network); 15 May 2012 21:06:16 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-11.tower-21.messagelabs.com with SMTP;
	15 May 2012 21:06:16 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4FL6AZ9023419
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 May 2012 17:06:11 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4FL67TB004760; Tue, 15 May 2012 17:06:08 -0400
Date: Wed, 16 May 2012 00:06:12 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120515210612.GC12039@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 0/4] Xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 04:26:35PM +0100, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized.

Guest drivers for which device?

> This mean that there must be unplug without the consent of the guest.
> Without this patch series, the guest end up with two nics with the
> same MAC, the emulated nic and the PV nic.

Shouldn't be a problem if one of them has link down state.
So maybe just be careful not to bring PV link up until after emulated
nic goes away?

> I tried few other path before to submite these patches:
>   - delayed the hot unplug in QEMU until the guest initialize the hotplug.
>     => the guest unplug the nic only after the driver initialized it. That's a
>       bit late.
>   - delayed the call to unplug the emulated device until pci_acpi_init is called
>     => this is worse, the pv disc does not show up and the guest does not boot.
> 
> In order to achive this fix, these patches introduce a new hotplug state only
> used in acpi_piix4, and a new qdev callback force_unplug.
> 
> Would it be possible to have this fix in the next release?
> 
> Thanks,
> 
> 
> Anthony PERARD (4):
>   Introduce a new hotplug state: Force eject.
>   qdev: Introduce qdev_force_unplug.
>   pci: Add force_unplug callback.
>   xen: Fix PV-on-HVM
> 
>  hw/acpi_piix4.c   |    5 +++++
>  hw/pci.c          |   15 +++++++++++++--
>  hw/pci.h          |    1 +
>  hw/qdev.c         |   23 ++++++++++++++++++++---
>  hw/qdev.h         |    3 +++
>  hw/xen_platform.c |    2 +-
>  6 files changed, 43 insertions(+), 6 deletions(-)
> 
> -- 
> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 21:53:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 21:53:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUPgJ-0003S9-Pi; Tue, 15 May 2012 21:53:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUPgI-0003S4-8h
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 21:53:22 +0000
Received: from [85.158.143.35:29189] by server-3.bemta-4.messagelabs.com id
	BA/BD-05853-150D2BF4; Tue, 15 May 2012 21:53:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337118800!15564798!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13901 invoked from network); 15 May 2012 21:53:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 21:53:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,598,1330905600"; d="scan'208";a="12492240"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 21:53:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 22:53:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUPgF-0004P6-Ud;
	Tue, 15 May 2012 21:53:19 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUPgF-0006uR-Fs;
	Tue, 15 May 2012 22:53:19 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12888-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 22:53:19 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12888: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12888 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12888/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   4 xen-build                 fail REGR. vs. 12713

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1  1 xen-build-check(1)     blocked n/a
 test-amd64-i386-qemuu-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-qemuu-win  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 xen-build-check(1)          blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-win-vcpus1  1 xen-build-check(1)          blocked n/a
 test-amd64-amd64-qemuu-win    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-win     1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-qemuu-winxpsp3  1 xen-build-check(1)          blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass

version targeted for testing:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5
baseline version:
 qemuu                fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-win-vcpus1                             blocked 
 test-amd64-i386-xl-qemuu-win-vcpus1                          blocked 
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     blocked 
 test-amd64-amd64-qemuu-win                                   blocked 
 test-amd64-i386-qemuu-win                                    blocked 
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                blocked 
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 21:53:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 21:53:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUPgJ-0003S9-Pi; Tue, 15 May 2012 21:53:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUPgI-0003S4-8h
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 21:53:22 +0000
Received: from [85.158.143.35:29189] by server-3.bemta-4.messagelabs.com id
	BA/BD-05853-150D2BF4; Tue, 15 May 2012 21:53:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337118800!15564798!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5ODk1Ng==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13901 invoked from network); 15 May 2012 21:53:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 21:53:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,598,1330905600"; d="scan'208";a="12492240"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 21:53:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 15 May 2012 22:53:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUPgF-0004P6-Ud;
	Tue, 15 May 2012 21:53:19 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUPgF-0006uR-Fs;
	Tue, 15 May 2012 22:53:19 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12888-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 15 May 2012 22:53:19 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12888: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12888 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12888/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   4 xen-build                 fail REGR. vs. 12713

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1  1 xen-build-check(1)     blocked n/a
 test-amd64-i386-qemuu-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-amd64-xl-qemuu-win  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 xen-build-check(1)          blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-win-vcpus1  1 xen-build-check(1)          blocked n/a
 test-amd64-amd64-qemuu-win    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-win     1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-qemuu-winxpsp3  1 xen-build-check(1)          blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass

version targeted for testing:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5
baseline version:
 qemuu                fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-win-vcpus1                             blocked 
 test-amd64-i386-xl-qemuu-win-vcpus1                          blocked 
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     blocked 
 test-amd64-amd64-qemuu-win                                   blocked 
 test-amd64-i386-qemuu-win                                    blocked 
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                blocked 
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 22:16:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 22:16:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUQ2F-0003jb-0s; Tue, 15 May 2012 22:16:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vase@selfip.ru>) id 1SUQ2E-0003jW-7P
	for xen-devel@lists.xen.org; Tue, 15 May 2012 22:16:02 +0000
Received: from [85.158.138.51:36557] by server-6.bemta-3.messagelabs.com id
	47/2D-05145-1A5D2BF4; Tue, 15 May 2012 22:16:01 +0000
X-Env-Sender: vase@selfip.ru
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337120160!27327096!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_TEST_2,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25778 invoked from network); 15 May 2012 22:16:00 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 22:16:00 -0000
Received: by eekd41 with SMTP id d41so21782eek.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 15:16:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=selfip.ru; s=google;
	h=mime-version:sender:x-originating-ip:from:date:x-google-sender-auth
	:message-id:subject:to:content-type;
	bh=M7QJyT5awQ1LXsUnKwm6eNbEAJzo0SKBJGUizSaplP0=;
	b=OLnscbfDUu/sPitkb4vXqgd56+NGKg9pD788dMnfieY/1PZXlJZI44wVSB2nRgCrZu
	jTjFfYBKmOdf0/xQJZ37jVVuMFU05eeouHDRDdNmei9lNKoYrxfxvscW6S0BdpPmMK2e
	/8CkO3vkHhnSpmYMxtWNX6P+njcZF8LB+KMBw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:sender:x-originating-ip:from:date:x-google-sender-auth
	:message-id:subject:to:content-type:x-gm-message-state;
	bh=M7QJyT5awQ1LXsUnKwm6eNbEAJzo0SKBJGUizSaplP0=;
	b=DDg5epLiG/jzCtFaOmwnITNWuRlbFRZfw0R/Od5HzOJLdKAZXBv/+v/sqMGuvDQHXf
	O+nbG7XlVD661jlVV9HZZD05rByZR5z0jBlX27Wy7+MiaSsKTkXbZ5vIlDPUS8lPVqOb
	pA2tOb399CCC7pexhJoPpA4bGp3s01gmjVGgTqW0gxvF70n8bqog5RhCR4BY2KLA1XEO
	VZ3/Pcy4QVPkoTurycqeDWD/fyOoBxhmE6ZvHn0lC55KSI7XopWn0MK6P7a4oj+lz8Cb
	tQ3/2Ry78m2Ed3OiIhs3mA2obYE9rtP2W/0VfyrYKq6BhW3vUTM8Wd1Sf1eIX6vaeeRY
	3oQA==
Received: by 10.14.119.142 with SMTP id n14mr67409eeh.20.1337120159599; Tue,
	15 May 2012 15:15:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.14.47.73 with HTTP; Tue, 15 May 2012 15:15:44 -0700 (PDT)
X-Originating-IP: [178.70.157.141]
From: Vasiliy Tolstov <v.tolstov@selfip.ru>
Date: Wed, 16 May 2012 02:15:44 +0400
X-Google-Sender-Auth: -ZaNMiI2GGWqGOAHr5UPHsTjhms
Message-ID: <CACaajQsodYYBdEY=PeYiae+=f9sX78Oc9-avjRKOO-hczcjJOg@mail.gmail.com>
To: xen-devel@lists.xen.org
X-Gm-Message-State: ALoCoQmkv7dMbJFUuMg1fmGkJezYuzi8DlnWd7dbx26ZTvOfn6mDmIDXOqKk4nIbpzfaGOgOkluZ
Subject: [Xen-devel] writing own stubdom or modify exiting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello! If i need to write own stubdom that do some things before
original kernel that lays on domU fs is started.
What i need to do? What is the best method to do this?

As i read 3 stubdoms based on mini-os (c, ocaml, pvgrub) where i can
find some how-to or another docs to write own stubdom?

Thanks!

-- 
Vasiliy Tolstov,
Clodo.ru
e-mail: v.tolstov@selfip.ru
jabber: vase@selfip.ru

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 22:16:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 22:16:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUQ2F-0003jb-0s; Tue, 15 May 2012 22:16:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vase@selfip.ru>) id 1SUQ2E-0003jW-7P
	for xen-devel@lists.xen.org; Tue, 15 May 2012 22:16:02 +0000
Received: from [85.158.138.51:36557] by server-6.bemta-3.messagelabs.com id
	47/2D-05145-1A5D2BF4; Tue, 15 May 2012 22:16:01 +0000
X-Env-Sender: vase@selfip.ru
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337120160!27327096!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_TEST_2,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25778 invoked from network); 15 May 2012 22:16:00 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 22:16:00 -0000
Received: by eekd41 with SMTP id d41so21782eek.32
	for <xen-devel@lists.xen.org>; Tue, 15 May 2012 15:16:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=selfip.ru; s=google;
	h=mime-version:sender:x-originating-ip:from:date:x-google-sender-auth
	:message-id:subject:to:content-type;
	bh=M7QJyT5awQ1LXsUnKwm6eNbEAJzo0SKBJGUizSaplP0=;
	b=OLnscbfDUu/sPitkb4vXqgd56+NGKg9pD788dMnfieY/1PZXlJZI44wVSB2nRgCrZu
	jTjFfYBKmOdf0/xQJZ37jVVuMFU05eeouHDRDdNmei9lNKoYrxfxvscW6S0BdpPmMK2e
	/8CkO3vkHhnSpmYMxtWNX6P+njcZF8LB+KMBw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:sender:x-originating-ip:from:date:x-google-sender-auth
	:message-id:subject:to:content-type:x-gm-message-state;
	bh=M7QJyT5awQ1LXsUnKwm6eNbEAJzo0SKBJGUizSaplP0=;
	b=DDg5epLiG/jzCtFaOmwnITNWuRlbFRZfw0R/Od5HzOJLdKAZXBv/+v/sqMGuvDQHXf
	O+nbG7XlVD661jlVV9HZZD05rByZR5z0jBlX27Wy7+MiaSsKTkXbZ5vIlDPUS8lPVqOb
	pA2tOb399CCC7pexhJoPpA4bGp3s01gmjVGgTqW0gxvF70n8bqog5RhCR4BY2KLA1XEO
	VZ3/Pcy4QVPkoTurycqeDWD/fyOoBxhmE6ZvHn0lC55KSI7XopWn0MK6P7a4oj+lz8Cb
	tQ3/2Ry78m2Ed3OiIhs3mA2obYE9rtP2W/0VfyrYKq6BhW3vUTM8Wd1Sf1eIX6vaeeRY
	3oQA==
Received: by 10.14.119.142 with SMTP id n14mr67409eeh.20.1337120159599; Tue,
	15 May 2012 15:15:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.14.47.73 with HTTP; Tue, 15 May 2012 15:15:44 -0700 (PDT)
X-Originating-IP: [178.70.157.141]
From: Vasiliy Tolstov <v.tolstov@selfip.ru>
Date: Wed, 16 May 2012 02:15:44 +0400
X-Google-Sender-Auth: -ZaNMiI2GGWqGOAHr5UPHsTjhms
Message-ID: <CACaajQsodYYBdEY=PeYiae+=f9sX78Oc9-avjRKOO-hczcjJOg@mail.gmail.com>
To: xen-devel@lists.xen.org
X-Gm-Message-State: ALoCoQmkv7dMbJFUuMg1fmGkJezYuzi8DlnWd7dbx26ZTvOfn6mDmIDXOqKk4nIbpzfaGOgOkluZ
Subject: [Xen-devel] writing own stubdom or modify exiting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello! If i need to write own stubdom that do some things before
original kernel that lays on domU fs is started.
What i need to do? What is the best method to do this?

As i read 3 stubdoms based on mini-os (c, ocaml, pvgrub) where i can
find some how-to or another docs to write own stubdom?

Thanks!

-- 
Vasiliy Tolstov,
Clodo.ru
e-mail: v.tolstov@selfip.ru
jabber: vase@selfip.ru

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 23:36:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 23:36:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SURHf-0004Sy-1B; Tue, 15 May 2012 23:36:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SURHd-0004Sr-5B
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 23:36:01 +0000
Received: from [193.109.254.147:61412] by server-1.bemta-14.messagelabs.com id
	52/89-29372-068E2BF4; Tue, 15 May 2012 23:36:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337124959!9518933!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22450 invoked from network); 15 May 2012 23:35:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 23:35:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,598,1330905600"; d="scan'208";a="12492897"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 23:35:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 00:35:58 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SURHa-0004wK-At;
	Tue, 15 May 2012 23:35:58 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SURHa-0006PC-8N;
	Wed, 16 May 2012 00:35:58 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12887-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 00:35:58 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12887: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12887 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12887/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-rhel6hvm-amd  7 redhat-install            fail REGR. vs. 12884

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  a3186b243e2d
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 15 23:36:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 15 May 2012 23:36:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SURHf-0004Sy-1B; Tue, 15 May 2012 23:36:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SURHd-0004Sr-5B
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 23:36:01 +0000
Received: from [193.109.254.147:61412] by server-1.bemta-14.messagelabs.com id
	52/89-29372-068E2BF4; Tue, 15 May 2012 23:36:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337124959!9518933!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22450 invoked from network); 15 May 2012 23:35:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	15 May 2012 23:35:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,598,1330905600"; d="scan'208";a="12492897"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	15 May 2012 23:35:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 00:35:58 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SURHa-0004wK-At;
	Tue, 15 May 2012 23:35:58 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SURHa-0006PC-8N;
	Wed, 16 May 2012 00:35:58 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12887-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 00:35:58 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12887: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12887 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12887/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-rhel6hvm-amd  7 redhat-install            fail REGR. vs. 12884

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  a3186b243e2d
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 00:02:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 00:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SURgm-0005DL-DJ; Wed, 16 May 2012 00:02:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SURgl-0005DG-Kb
	for xen-devel@lists.xen.org; Wed, 16 May 2012 00:01:59 +0000
Received: from [193.109.254.147:35201] by server-6.bemta-14.messagelabs.com id
	51/B0-04960-67EE2BF4; Wed, 16 May 2012 00:01:58 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337126517!9430908!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDQzODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24808 invoked from network); 16 May 2012 00:01:58 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 00:01:58 -0000
Received: from smtphost1.dur.ac.uk (smtphost1.dur.ac.uk [129.234.252.1])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G01dG2009008
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:43 +0100
Received: from vega-a.dur.ac.uk (vega-a.dur.ac.uk [129.234.250.133])
	by smtphost1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G01LmJ002822
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:21 +0100
Received: from vega-a.dur.ac.uk (localhost [127.0.0.1])
	by vega-a.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4G01Lf2008019
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:21 +0100
Received: from localhost (dcl0may@localhost)
	by vega-a.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4G01LYc008014
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:21 +0100
Date: Wed, 16 May 2012 01:01:21 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: xen-devel@lists.xen.org
Message-ID: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; boundary="8323329-591148524-1337125357=:6558"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4G01dG2009008
Subject: [Xen-devel] [PATCH] make pygrub cope better with big files in guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-591148524-1337125357=:6558
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Pygrub can use a lot of memory if the kernel or ramdisk files in a guest 
are very big as it reads them into memory before writing them out again to 
temporary files (these can legitimately be big for example the initrd.img 
file in a Fedora 16 install is around 130MB ).

This patch allows these files to be copied in one megabyte pieces, and if 
it sees any write problems it delets the files and exits. It also only 
reads up to the first megabyte of configurations files for grub etc. to 
avoid problems here as well (as it is a text file it should actually be 
much smaller).

This issue was reported by Xinli Niu in the Fedora bug report
https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE 
reference CVE-2012-2625 .

 	Michael Young
--8323329-591148524-1337125357=:6558
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=pygrub.size.limits.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=pygrub.size.limits.patch

TWFrZSBweWdydWIgY29wZSBiZXR0ZXIgd2l0aCBiaWcgZmlsZXMgaW4gdGhlIGd1ZXN0Lg0KT25s
eSByZWFkIHRoZSBmaXJzdCBtZWdhYnl0ZSBvZiBhIGNvbmZpZ3VyYXRpb24gZmlsZSAoZ3J1YiBl
dGMuKQ0KUmVhZCB0aGUga2VybmVsIGFuZCByYW1kaXNrIGZpbGVzIGZyb20gdGhlIGd1ZXN0IGlu
IG9uZSBtZWdhYnl0ZSBwaWVjZXMNCnNvIHB5Z3J1YiBkb2Vzbid0IGdyb3cgdG9vIGxhcmdlIGlm
IHRoZXkgYXJlIGxhcmdlLg0KSWYgdGhlcmUgYXJlIHByb2JsZW1zIHdyaXRpbmcgdGhlIHRlbXBv
cmFyeSBjb3BpZXMgb2YgdGhlIGtlcm5lbCBhbmQgcmFtZGlzaw0KZmlsZXMgZGVsZXRlIHRoZW0g
YW5kIGV4aXQuDQoNClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgWW91bmcgPG0uYS55b3VuZ0BkdXJo
YW0uYWMudWs+DQoNCi0tLSB4ZW4tNC4yLjAvdG9vbHMvcHlncnViL3NyYy9weWdydWIub3JpZwky
MDEyLTA1LTEyIDE2OjQwOjQ4LjAwMDAwMDAwMCArMDEwMA0KKysrIHhlbi00LjIuMC90b29scy9w
eWdydWIvc3JjL3B5Z3J1YgkyMDEyLTA1LTE2IDAwOjE4OjQ0LjczODAwMDAyMCArMDEwMA0KQEAg
LTI4LDYgKzI4LDcgQEANCiBpbXBvcnQgZ3J1Yi5FeHRMaW51eENvbmYNCiANCiBQWUdSVUJfVkVS
ID0gMC42DQorZnNfcmVhZF9tYXg9MTA0ODU3Ng0KIA0KIGRlZiBlbmFibGVfY3Vyc29yKGlzb24p
Og0KICAgICBpZiBpc29uOg0KQEAgLTQ0OCw3ICs0NDksOCBAQA0KICAgICAgICAgaWYgc2VsZi5f
X2RpY3RfXy5nZXQoJ2NmJywgTm9uZSkgaXMgTm9uZToNCiAgICAgICAgICAgICByYWlzZSBSdW50
aW1lRXJyb3IsICJjb3VsZG4ndCBmaW5kIGJvb3Rsb2FkZXIgY29uZmlnIGZpbGUgaW4gdGhlIGlt
YWdlIHByb3ZpZGVkLiINCiAgICAgICAgIGYgPSBmcy5vcGVuX2ZpbGUoc2VsZi5jZi5maWxlbmFt
ZSkNCi0gICAgICAgIGJ1ZiA9IGYucmVhZCgpDQorICAgICAgICAjIGxpbWl0IHJlYWQgc2l6ZSB0
byBhdm9pZCBwYXRob2xvZ2ljYWwgY2FzZXMNCisgICAgICAgIGJ1ZiA9IGYucmVhZChmc19yZWFk
X21heCkNCiAgICAgICAgIGRlbCBmDQogICAgICAgICBzZWxmLmNmLnBhcnNlKGJ1ZikNCiANCkBA
IC04MjQsMjEgKzgyNiw0MiBAQA0KICAgICBpZiBub3RfcmVhbGx5Og0KICAgICAgICAgYm9vdGNm
Z1sia2VybmVsIl0gPSAiPGtlcm5lbDolcz4iICUgY2hvc2VuY2ZnWyJrZXJuZWwiXQ0KICAgICBl
bHNlOg0KLSAgICAgICAgZGF0YSA9IGZzLm9wZW5fZmlsZShjaG9zZW5jZmdbImtlcm5lbCJdKS5y
ZWFkKCkNCisgICAgICAgIGRhdGFmaWxlID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1sia2VybmVs
Il0pDQogICAgICAgICAodGZkLCBib290Y2ZnWyJrZXJuZWwiXSkgPSB0ZW1wZmlsZS5ta3N0ZW1w
KHByZWZpeD0iYm9vdF9rZXJuZWwuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAgICBvcy53
cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICBkYXRhb2ZmPTANCisgICAgICAgIGRhdGE9ZGF0YWZp
bGUucmVhZChmc19yZWFkX21heCkNCisgICAgICAgIHdoaWxlIGxlbihkYXRhKT4wOg0KKyAgICAg
ICAgICAgIHRyeToNCisgICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQ0KKyAgICAg
ICAgICAgIGV4Y2VwdDoNCisgICAgICAgICAgICAgICAgcHJpbnQgImVycm9yIHdyaXRpbmcgdGVt
cG9yYXJ5IGNvcHkgb2Yga2VybmVsIg0KKyAgICAgICAgICAgICAgICBvcy51bmxpbmsodGZkKQ0K
KyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQ0KKyAgICAgICAgICAgIGRhdGFvZmYrPWxlbihk
YXRhKQ0KKyAgICAgICAgICAgIGRhdGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCxkYXRhb2Zm
KQ0KICAgICAgICAgb3MuY2xvc2UodGZkKQ0KIA0KICAgICBpZiBjaG9zZW5jZmdbInJhbWRpc2si
XToNCiAgICAgICAgIGlmIG5vdF9yZWFsbHk6DQogICAgICAgICAgICAgYm9vdGNmZ1sicmFtZGlz
ayJdID0gIjxyYW1kaXNrOiVzPiIgJSBjaG9zZW5jZmdbInJhbWRpc2siXQ0KICAgICAgICAgZWxz
ZToNCi0gICAgICAgICAgICBkYXRhID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1sicmFtZGlzayJd
LCkucmVhZCgpDQotICAgICAgICAgICAgKHRmZCwgYm9vdGNmZ1sicmFtZGlzayJdKSA9IHRlbXBm
aWxlLm1rc3RlbXAoDQorICAgICAgICAgICAgZGF0YWZpbGUgPSBmcy5vcGVuX2ZpbGUoY2hvc2Vu
Y2ZnWyJyYW1kaXNrIl0sKQ0KKyAgICAgICAgICAgICh0ZmQyLCBib290Y2ZnWyJyYW1kaXNrIl0p
ID0gdGVtcGZpbGUubWtzdGVtcCgNCiAgICAgICAgICAgICAgICAgcHJlZml4PSJib290X3JhbWRp
c2suIiwgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBk
YXRhKQ0KLSAgICAgICAgICAgIG9zLmNsb3NlKHRmZCkNCisgICAgICAgICAgICBkYXRhb2ZmPTAN
CisgICAgICAgICAgICBkYXRhPWRhdGFmaWxlLnJlYWQoZnNfcmVhZF9tYXgpDQorICAgICAgICAg
ICAgd2hpbGUgbGVuKGRhdGEpPjA6DQorICAgICAgICAgICAgICAgIHRyeToNCisgICAgICAgICAg
ICAgICAgICAgIG9zLndyaXRlKHRmZDIsIGRhdGEpDQorICAgICAgICAgICAgICAgIGV4Y2VwdDoN
CisgICAgICAgICAgICAgICAgICAgIHByaW50ICJlcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5
IG9mIHJhbWRpc2siDQorICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsodGZkMikNCisgICAg
ICAgICAgICAgICAgICAgIG9zLnVubGluayh0ZmQpDQorICAgICAgICAgICAgICAgICAgICBzeXMu
ZXhpdCgxKQ0KKyAgICAgICAgICAgICAgICBkYXRhb2ZmKz1sZW4oZGF0YSkNCisgICAgICAgICAg
ICAgICAgZGF0YT1kYXRhZmlsZS5yZWFkKGZzX3JlYWRfbWF4LGRhdGFvZmYpDQorICAgICAgICAg
ICAgb3MuY2xvc2UodGZkMikNCiAgICAgZWxzZToNCiAgICAgICAgIGluaXRyZCA9IE5vbmUNCiAN
Cg==

--8323329-591148524-1337125357=:6558
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-591148524-1337125357=:6558--


From xen-devel-bounces@lists.xen.org Wed May 16 00:02:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 00:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SURgm-0005DL-DJ; Wed, 16 May 2012 00:02:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SURgl-0005DG-Kb
	for xen-devel@lists.xen.org; Wed, 16 May 2012 00:01:59 +0000
Received: from [193.109.254.147:35201] by server-6.bemta-14.messagelabs.com id
	51/B0-04960-67EE2BF4; Wed, 16 May 2012 00:01:58 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337126517!9430908!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDQzODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24808 invoked from network); 16 May 2012 00:01:58 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 00:01:58 -0000
Received: from smtphost1.dur.ac.uk (smtphost1.dur.ac.uk [129.234.252.1])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G01dG2009008
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:43 +0100
Received: from vega-a.dur.ac.uk (vega-a.dur.ac.uk [129.234.250.133])
	by smtphost1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G01LmJ002822
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:21 +0100
Received: from vega-a.dur.ac.uk (localhost [127.0.0.1])
	by vega-a.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4G01Lf2008019
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:21 +0100
Received: from localhost (dcl0may@localhost)
	by vega-a.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4G01LYc008014
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:01:21 +0100
Date: Wed, 16 May 2012 01:01:21 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: xen-devel@lists.xen.org
Message-ID: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; boundary="8323329-591148524-1337125357=:6558"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4G01dG2009008
Subject: [Xen-devel] [PATCH] make pygrub cope better with big files in guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-591148524-1337125357=:6558
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Pygrub can use a lot of memory if the kernel or ramdisk files in a guest 
are very big as it reads them into memory before writing them out again to 
temporary files (these can legitimately be big for example the initrd.img 
file in a Fedora 16 install is around 130MB ).

This patch allows these files to be copied in one megabyte pieces, and if 
it sees any write problems it delets the files and exits. It also only 
reads up to the first megabyte of configurations files for grub etc. to 
avoid problems here as well (as it is a text file it should actually be 
much smaller).

This issue was reported by Xinli Niu in the Fedora bug report
https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE 
reference CVE-2012-2625 .

 	Michael Young
--8323329-591148524-1337125357=:6558
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=pygrub.size.limits.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=pygrub.size.limits.patch

TWFrZSBweWdydWIgY29wZSBiZXR0ZXIgd2l0aCBiaWcgZmlsZXMgaW4gdGhlIGd1ZXN0Lg0KT25s
eSByZWFkIHRoZSBmaXJzdCBtZWdhYnl0ZSBvZiBhIGNvbmZpZ3VyYXRpb24gZmlsZSAoZ3J1YiBl
dGMuKQ0KUmVhZCB0aGUga2VybmVsIGFuZCByYW1kaXNrIGZpbGVzIGZyb20gdGhlIGd1ZXN0IGlu
IG9uZSBtZWdhYnl0ZSBwaWVjZXMNCnNvIHB5Z3J1YiBkb2Vzbid0IGdyb3cgdG9vIGxhcmdlIGlm
IHRoZXkgYXJlIGxhcmdlLg0KSWYgdGhlcmUgYXJlIHByb2JsZW1zIHdyaXRpbmcgdGhlIHRlbXBv
cmFyeSBjb3BpZXMgb2YgdGhlIGtlcm5lbCBhbmQgcmFtZGlzaw0KZmlsZXMgZGVsZXRlIHRoZW0g
YW5kIGV4aXQuDQoNClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgWW91bmcgPG0uYS55b3VuZ0BkdXJo
YW0uYWMudWs+DQoNCi0tLSB4ZW4tNC4yLjAvdG9vbHMvcHlncnViL3NyYy9weWdydWIub3JpZwky
MDEyLTA1LTEyIDE2OjQwOjQ4LjAwMDAwMDAwMCArMDEwMA0KKysrIHhlbi00LjIuMC90b29scy9w
eWdydWIvc3JjL3B5Z3J1YgkyMDEyLTA1LTE2IDAwOjE4OjQ0LjczODAwMDAyMCArMDEwMA0KQEAg
LTI4LDYgKzI4LDcgQEANCiBpbXBvcnQgZ3J1Yi5FeHRMaW51eENvbmYNCiANCiBQWUdSVUJfVkVS
ID0gMC42DQorZnNfcmVhZF9tYXg9MTA0ODU3Ng0KIA0KIGRlZiBlbmFibGVfY3Vyc29yKGlzb24p
Og0KICAgICBpZiBpc29uOg0KQEAgLTQ0OCw3ICs0NDksOCBAQA0KICAgICAgICAgaWYgc2VsZi5f
X2RpY3RfXy5nZXQoJ2NmJywgTm9uZSkgaXMgTm9uZToNCiAgICAgICAgICAgICByYWlzZSBSdW50
aW1lRXJyb3IsICJjb3VsZG4ndCBmaW5kIGJvb3Rsb2FkZXIgY29uZmlnIGZpbGUgaW4gdGhlIGlt
YWdlIHByb3ZpZGVkLiINCiAgICAgICAgIGYgPSBmcy5vcGVuX2ZpbGUoc2VsZi5jZi5maWxlbmFt
ZSkNCi0gICAgICAgIGJ1ZiA9IGYucmVhZCgpDQorICAgICAgICAjIGxpbWl0IHJlYWQgc2l6ZSB0
byBhdm9pZCBwYXRob2xvZ2ljYWwgY2FzZXMNCisgICAgICAgIGJ1ZiA9IGYucmVhZChmc19yZWFk
X21heCkNCiAgICAgICAgIGRlbCBmDQogICAgICAgICBzZWxmLmNmLnBhcnNlKGJ1ZikNCiANCkBA
IC04MjQsMjEgKzgyNiw0MiBAQA0KICAgICBpZiBub3RfcmVhbGx5Og0KICAgICAgICAgYm9vdGNm
Z1sia2VybmVsIl0gPSAiPGtlcm5lbDolcz4iICUgY2hvc2VuY2ZnWyJrZXJuZWwiXQ0KICAgICBl
bHNlOg0KLSAgICAgICAgZGF0YSA9IGZzLm9wZW5fZmlsZShjaG9zZW5jZmdbImtlcm5lbCJdKS5y
ZWFkKCkNCisgICAgICAgIGRhdGFmaWxlID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1sia2VybmVs
Il0pDQogICAgICAgICAodGZkLCBib290Y2ZnWyJrZXJuZWwiXSkgPSB0ZW1wZmlsZS5ta3N0ZW1w
KHByZWZpeD0iYm9vdF9rZXJuZWwuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAgICBvcy53
cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICBkYXRhb2ZmPTANCisgICAgICAgIGRhdGE9ZGF0YWZp
bGUucmVhZChmc19yZWFkX21heCkNCisgICAgICAgIHdoaWxlIGxlbihkYXRhKT4wOg0KKyAgICAg
ICAgICAgIHRyeToNCisgICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQ0KKyAgICAg
ICAgICAgIGV4Y2VwdDoNCisgICAgICAgICAgICAgICAgcHJpbnQgImVycm9yIHdyaXRpbmcgdGVt
cG9yYXJ5IGNvcHkgb2Yga2VybmVsIg0KKyAgICAgICAgICAgICAgICBvcy51bmxpbmsodGZkKQ0K
KyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQ0KKyAgICAgICAgICAgIGRhdGFvZmYrPWxlbihk
YXRhKQ0KKyAgICAgICAgICAgIGRhdGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCxkYXRhb2Zm
KQ0KICAgICAgICAgb3MuY2xvc2UodGZkKQ0KIA0KICAgICBpZiBjaG9zZW5jZmdbInJhbWRpc2si
XToNCiAgICAgICAgIGlmIG5vdF9yZWFsbHk6DQogICAgICAgICAgICAgYm9vdGNmZ1sicmFtZGlz
ayJdID0gIjxyYW1kaXNrOiVzPiIgJSBjaG9zZW5jZmdbInJhbWRpc2siXQ0KICAgICAgICAgZWxz
ZToNCi0gICAgICAgICAgICBkYXRhID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1sicmFtZGlzayJd
LCkucmVhZCgpDQotICAgICAgICAgICAgKHRmZCwgYm9vdGNmZ1sicmFtZGlzayJdKSA9IHRlbXBm
aWxlLm1rc3RlbXAoDQorICAgICAgICAgICAgZGF0YWZpbGUgPSBmcy5vcGVuX2ZpbGUoY2hvc2Vu
Y2ZnWyJyYW1kaXNrIl0sKQ0KKyAgICAgICAgICAgICh0ZmQyLCBib290Y2ZnWyJyYW1kaXNrIl0p
ID0gdGVtcGZpbGUubWtzdGVtcCgNCiAgICAgICAgICAgICAgICAgcHJlZml4PSJib290X3JhbWRp
c2suIiwgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBk
YXRhKQ0KLSAgICAgICAgICAgIG9zLmNsb3NlKHRmZCkNCisgICAgICAgICAgICBkYXRhb2ZmPTAN
CisgICAgICAgICAgICBkYXRhPWRhdGFmaWxlLnJlYWQoZnNfcmVhZF9tYXgpDQorICAgICAgICAg
ICAgd2hpbGUgbGVuKGRhdGEpPjA6DQorICAgICAgICAgICAgICAgIHRyeToNCisgICAgICAgICAg
ICAgICAgICAgIG9zLndyaXRlKHRmZDIsIGRhdGEpDQorICAgICAgICAgICAgICAgIGV4Y2VwdDoN
CisgICAgICAgICAgICAgICAgICAgIHByaW50ICJlcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5
IG9mIHJhbWRpc2siDQorICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsodGZkMikNCisgICAg
ICAgICAgICAgICAgICAgIG9zLnVubGluayh0ZmQpDQorICAgICAgICAgICAgICAgICAgICBzeXMu
ZXhpdCgxKQ0KKyAgICAgICAgICAgICAgICBkYXRhb2ZmKz1sZW4oZGF0YSkNCisgICAgICAgICAg
ICAgICAgZGF0YT1kYXRhZmlsZS5yZWFkKGZzX3JlYWRfbWF4LGRhdGFvZmYpDQorICAgICAgICAg
ICAgb3MuY2xvc2UodGZkMikNCiAgICAgZWxzZToNCiAgICAgICAgIGluaXRyZCA9IE5vbmUNCiAN
Cg==

--8323329-591148524-1337125357=:6558
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-591148524-1337125357=:6558--


From xen-devel-bounces@lists.xen.org Wed May 16 04:43:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 04:43:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUW4V-0002pD-Ms; Wed, 16 May 2012 04:42:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SUW4U-0002p6-Ha
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 04:42:46 +0000
Received: from [85.158.143.35:16542] by server-1.bemta-4.messagelabs.com id
	A5/B7-20925-54033BF4; Wed, 16 May 2012 04:42:45 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337143364!5191476!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjkxNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21888 invoked from network); 16 May 2012 04:42:45 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 04:42:45 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:Date:From:To;
	b=tChDBruyxyMy4dMAz5AnAhtq2/ujxNhRAllqnqYfHTSmTtv3ev1KuJg9
	SQu9ewgkK71FL6lGnCkwJG5b6UCf3LBRZNxaeh6rhDZksndIvkAf9BQfC
	PzTh7pSl1Yz5TDr2MJnnvbzBx+zGETx5ReN/EM1U1sYeTC0Ra9vHjwWrl
	uskl8gjNq7L7tcHdsnq2Xsu/PQXlob5f0fOLTUMC28mqh6OYHkOKJ5Ndw
	/Umgp/HSj9qg24Wcg2e1vViFTQx1s;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337143365; x=1368679365;
	h=mime-version:subject:message-id:date:from:to;
	bh=ZnIMjY5ehqS+XC2hMKSKi1gBRAdodYl2o6gumbEiV8A=;
	b=RYQlKpRbEw2gITMiE37MjduTmzq0wYy1yTwqSjJH3mwOPGg3H3I15N66
	FFtKkGRlynHDNuqwgchS5Bmf8JfjYPAznn2pBnuoXy1roI4Of7PItgH5n
	xOqzyBlZoXoft75UAJdqHEUrTEBqOYoQUiicB2EZsW4hzipQimAK+yAMQ
	rHAXXNe33jFf84c5y6TXq39VRy+5kO4Gtjk3DohgnVM1SH2uZUUCRdr8Q
	bORI2jRDKo57tMznSyWLpJ6wbAhJd;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,600,1330902000"; d="scan'208";a="110551350"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 16 May 2012 06:42:44 +0200
X-IronPort-AV: E=Sophos;i="4.75,599,1330902000"; d="scan'208";a="134410121"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 16 May 2012 06:42:44 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 12DCE76C0C9;
	Wed, 16 May 2012 06:42:44 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============7955769989787656637=="
MIME-Version: 1.0
X-Mercurial-Node: c034634fda0e1d96768d86f38f15f08e29726fcc
Message-Id: <c034634fda0e1d96768d.1337142981@nehalem1>
Date: Wed, 16 May 2012 06:36:21 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] Correct typo introduced by cs25334
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7955769989787656637==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


1 file changed, 1 insertion(+), 1 deletion(-)
Makefile |    2 +-



--===============7955769989787656637==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337142954 -7200
# Node ID c034634fda0e1d96768d86f38f15f08e29726fcc
# Parent  612a24c8c4f9005863bc22d89690db7070c13031
Correct typo introduced by cs25334

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 612a24c8c4f9 -r c034634fda0e Makefile
--- a/Makefile	Tue May 15 17:01:54 2012 +0100
+++ b/Makefile	Wed May 16 06:35:54 2012 +0200
@@ -241,7 +241,7 @@ uninstall:
 	rm -rf $(D)$(BINDIR)/xenpvnetboot $(D)$(BINDIR)/qemu-*-xen
 	rm -rf $(D)$(INCLUDEDIR)/xenctrl* $(D)$(INCLUDEDIR)/xenguest.h
 	rm -rf $(D)$(INCLUDEDIR)/xs_lib.h $(D)$(INCLUDEDIR)/xs.h
-	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xensotre-compat/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xenstore-compat/xs.h
 	rm -rf $(D)$(INCLUDEDIR)/xenstore_lib.h $(D)$(INCLUDEDIR)/xenstore.h
 	rm -rf $(D)$(INCLUDEDIR)/xen
 	rm -rf $(D)$(INCLUDEDIR)/_libxl* $(D)$(INCLUDEDIR)/libxl*

--===============7955769989787656637==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7955769989787656637==--


From xen-devel-bounces@lists.xen.org Wed May 16 04:43:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 04:43:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUW4V-0002pD-Ms; Wed, 16 May 2012 04:42:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SUW4U-0002p6-Ha
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 04:42:46 +0000
Received: from [85.158.143.35:16542] by server-1.bemta-4.messagelabs.com id
	A5/B7-20925-54033BF4; Wed, 16 May 2012 04:42:45 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337143364!5191476!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjkxNA==\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21888 invoked from network); 16 May 2012 04:42:45 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 04:42:45 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:Date:From:To;
	b=tChDBruyxyMy4dMAz5AnAhtq2/ujxNhRAllqnqYfHTSmTtv3ev1KuJg9
	SQu9ewgkK71FL6lGnCkwJG5b6UCf3LBRZNxaeh6rhDZksndIvkAf9BQfC
	PzTh7pSl1Yz5TDr2MJnnvbzBx+zGETx5ReN/EM1U1sYeTC0Ra9vHjwWrl
	uskl8gjNq7L7tcHdsnq2Xsu/PQXlob5f0fOLTUMC28mqh6OYHkOKJ5Ndw
	/Umgp/HSj9qg24Wcg2e1vViFTQx1s;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337143365; x=1368679365;
	h=mime-version:subject:message-id:date:from:to;
	bh=ZnIMjY5ehqS+XC2hMKSKi1gBRAdodYl2o6gumbEiV8A=;
	b=RYQlKpRbEw2gITMiE37MjduTmzq0wYy1yTwqSjJH3mwOPGg3H3I15N66
	FFtKkGRlynHDNuqwgchS5Bmf8JfjYPAznn2pBnuoXy1roI4Of7PItgH5n
	xOqzyBlZoXoft75UAJdqHEUrTEBqOYoQUiicB2EZsW4hzipQimAK+yAMQ
	rHAXXNe33jFf84c5y6TXq39VRy+5kO4Gtjk3DohgnVM1SH2uZUUCRdr8Q
	bORI2jRDKo57tMznSyWLpJ6wbAhJd;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,600,1330902000"; d="scan'208";a="110551350"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 16 May 2012 06:42:44 +0200
X-IronPort-AV: E=Sophos;i="4.75,599,1330902000"; d="scan'208";a="134410121"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 16 May 2012 06:42:44 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 12DCE76C0C9;
	Wed, 16 May 2012 06:42:44 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============7955769989787656637=="
MIME-Version: 1.0
X-Mercurial-Node: c034634fda0e1d96768d86f38f15f08e29726fcc
Message-Id: <c034634fda0e1d96768d.1337142981@nehalem1>
Date: Wed, 16 May 2012 06:36:21 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] Correct typo introduced by cs25334
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7955769989787656637==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


1 file changed, 1 insertion(+), 1 deletion(-)
Makefile |    2 +-



--===============7955769989787656637==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337142954 -7200
# Node ID c034634fda0e1d96768d86f38f15f08e29726fcc
# Parent  612a24c8c4f9005863bc22d89690db7070c13031
Correct typo introduced by cs25334

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 612a24c8c4f9 -r c034634fda0e Makefile
--- a/Makefile	Tue May 15 17:01:54 2012 +0100
+++ b/Makefile	Wed May 16 06:35:54 2012 +0200
@@ -241,7 +241,7 @@ uninstall:
 	rm -rf $(D)$(BINDIR)/xenpvnetboot $(D)$(BINDIR)/qemu-*-xen
 	rm -rf $(D)$(INCLUDEDIR)/xenctrl* $(D)$(INCLUDEDIR)/xenguest.h
 	rm -rf $(D)$(INCLUDEDIR)/xs_lib.h $(D)$(INCLUDEDIR)/xs.h
-	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xensotre-compat/xs.h
+	rm -rf $(D)$(INCLUDEDIR)/xenstore-compat/xs_lib.h $(D)$(INCLUDEDIR)/xenstore-compat/xs.h
 	rm -rf $(D)$(INCLUDEDIR)/xenstore_lib.h $(D)$(INCLUDEDIR)/xenstore.h
 	rm -rf $(D)$(INCLUDEDIR)/xen
 	rm -rf $(D)$(INCLUDEDIR)/_libxl* $(D)$(INCLUDEDIR)/libxl*

--===============7955769989787656637==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7955769989787656637==--


From xen-devel-bounces@lists.xen.org Wed May 16 06:23:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 06:23:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUXdP-0003wv-AV; Wed, 16 May 2012 06:22:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUXdN-0003wS-M8
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 06:22:54 +0000
Received: from [85.158.138.51:45888] by server-7.bemta-3.messagelabs.com id
	67/DD-03078-CB743BF4; Wed, 16 May 2012 06:22:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337149372!19398795!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28024 invoked from network); 16 May 2012 06:22:52 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 06:22:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,600,1330905600"; d="scan'208";a="12494927"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 06:22:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 07:22:51 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUXdL-000775-59;
	Wed, 16 May 2012 06:22:51 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUXdK-0006f9-J6;
	Wed, 16 May 2012 07:22:50 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12892-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 07:22:50 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12892: tolerable FAIL -
	PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12892 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12892/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12713

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5
baseline version:
 qemuu                fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=qemu-upstream-unstable
+ revision=9efe258c19da5ef736b74217c11a610e448d1ab5
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push qemu-upstream-unstable 9efe258c19da5ef736b74217c11a610e448d1ab5
+ branch=qemu-upstream-unstable
+ revision=9efe258c19da5ef736b74217c11a610e448d1ab5
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=qemuu
+ xenbranch=xen-unstable
+ '[' xqemuu = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.qemu-upstream-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.qemu-upstream-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree qemu-upstream-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/qemu-upstream-unstable
+ git push xen@xenbits.xensource.com:git/qemu-upstream-unstable.git 9efe258c19da5ef736b74217c11a610e448d1ab5:master
Counting objects: 1   
Counting objects: 8   
Counting objects: 31   
Counting objects: 52, done.
Compressing objects:   2% (1/39)   
Compressing objects:   5% (2/39)   
Compressing objects:   7% (3/39)   
Compressing objects:  10% (4/39)   
Compressing objects:  12% (5/39)   
Compressing objects:  15% (6/39)   
Compressing objects:  17% (7/39)   
Compressing objects:  20% (8/39)   
Compressing objects:  23% (9/39)   
Compressing objects:  25% (10/39)   
Compressing objects:  28% (11/39)   
Compressing objects:  30% (12/39)   
Compressing objects:  33% (13/39)   
Compressing objects:  35% (14/39)   
Compressing objects:  38% (15/39)   
Compressing objects:  41% (16/39)   
Compressing objects:  43% (17/39)   
Compressing objects:  46% (18/39)   
Compressing objects:  48% (19/39)   
Compressing objects:  51% (20/39)   
Compressing objects:  53% (21/39)   
Compressing objects:  56% (22/39)   
Compressing objects:  58% (23/39)   
Compressing objects:  61% (24/39)   
Compressing objects:  64% (25/39)   
Compressing objects:  66% (26/39)   
Compressing objects:  69% (27/39)   
Compressing objects:  71% (28/39)   
Compressing objects:  74% (29/39)   
Compressing objects:  76% (30/39)   
Compressing objects:  79% (31/39)   
Compressing objects:  82% (32/39)   
Compressing objects:  84% (33/39)   
Compressing objects:  87% (34/39)   
Compressing objects:  89% (35/39)   
Compressing objects:  92% (36/39)   
Compressing objects:  94% (37/39)   
Compressing objects:  97% (38/39)   
Compressing objects: 100% (39/39)   
Compressing objects: 100% (39/39), done.
Writing objects:   2% (1/39)   
Writing objects:   5% (2/39)   
Writing objects:   7% (3/39)   
Writing objects:  10% (4/39)   
Writing objects:  12% (5/39)   
Writing objects:  15% (6/39)   
Writing objects:  17% (7/39)   
Writing objects:  20% (8/39)   
Writing objects:  23% (9/39)   
Writing objects:  25% (10/39)   
Writing objects:  28% (11/39)   
Writing objects:  30% (12/39)   
Writing objects:  33% (13/39)   
Writing objects:  35% (14/39)   
Writing objects:  38% (15/39)   
Writing objects:  41% (16/39)   
Writing objects:  46% (18/39)   
Writing objects:  48% (19/39)   
Writing objects:  51% (20/39)   
Writing objects:  53% (21/39)   
Writing objects:  56% (22/39)   
Writing objects:  58% (23/39)   
Writing objects:  61% (24/39)   
Writing objects:  64% (25/39)   
Writing objects:  66% (26/39)   
Writing objects:  69% (27/39)   
Writing objects:  71% (28/39)   
Writing objects:  74% (29/39)   
Writing objects:  76% (30/39)   
Writing objects:  79% (31/39)   
Writing objects:  82% (32/39)   
Writing objects:  84% (33/39)   
Writing objects:  87% (34/39)   
Writing objects:  89% (35/39)   
Writing objects:  94% (37/39)   
Writing objects:  97% (38/39)   
Writing objects: 100% (39/39)   
Writing objects: 100% (39/39), 5.94 KiB, done.
Total 39 (delta 30), reused 0 (delta 0)
To xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
   fcd11a4..9efe258  9efe258c19da5ef736b74217c11a610e448d1ab5 -> master

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 06:23:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 06:23:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUXdP-0003wv-AV; Wed, 16 May 2012 06:22:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUXdN-0003wS-M8
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 06:22:54 +0000
Received: from [85.158.138.51:45888] by server-7.bemta-3.messagelabs.com id
	67/DD-03078-CB743BF4; Wed, 16 May 2012 06:22:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337149372!19398795!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28024 invoked from network); 16 May 2012 06:22:52 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 06:22:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,600,1330905600"; d="scan'208";a="12494927"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 06:22:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 07:22:51 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUXdL-000775-59;
	Wed, 16 May 2012 06:22:51 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUXdK-0006f9-J6;
	Wed, 16 May 2012 07:22:50 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12892-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 07:22:50 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12892: tolerable FAIL -
	PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12892 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12892/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12713

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5
baseline version:
 qemuu                fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=qemu-upstream-unstable
+ revision=9efe258c19da5ef736b74217c11a610e448d1ab5
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push qemu-upstream-unstable 9efe258c19da5ef736b74217c11a610e448d1ab5
+ branch=qemu-upstream-unstable
+ revision=9efe258c19da5ef736b74217c11a610e448d1ab5
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=qemuu
+ xenbranch=xen-unstable
+ '[' xqemuu = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.qemu-upstream-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.qemu-upstream-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree qemu-upstream-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/qemu-upstream-unstable
+ git push xen@xenbits.xensource.com:git/qemu-upstream-unstable.git 9efe258c19da5ef736b74217c11a610e448d1ab5:master
Counting objects: 1   
Counting objects: 8   
Counting objects: 31   
Counting objects: 52, done.
Compressing objects:   2% (1/39)   
Compressing objects:   5% (2/39)   
Compressing objects:   7% (3/39)   
Compressing objects:  10% (4/39)   
Compressing objects:  12% (5/39)   
Compressing objects:  15% (6/39)   
Compressing objects:  17% (7/39)   
Compressing objects:  20% (8/39)   
Compressing objects:  23% (9/39)   
Compressing objects:  25% (10/39)   
Compressing objects:  28% (11/39)   
Compressing objects:  30% (12/39)   
Compressing objects:  33% (13/39)   
Compressing objects:  35% (14/39)   
Compressing objects:  38% (15/39)   
Compressing objects:  41% (16/39)   
Compressing objects:  43% (17/39)   
Compressing objects:  46% (18/39)   
Compressing objects:  48% (19/39)   
Compressing objects:  51% (20/39)   
Compressing objects:  53% (21/39)   
Compressing objects:  56% (22/39)   
Compressing objects:  58% (23/39)   
Compressing objects:  61% (24/39)   
Compressing objects:  64% (25/39)   
Compressing objects:  66% (26/39)   
Compressing objects:  69% (27/39)   
Compressing objects:  71% (28/39)   
Compressing objects:  74% (29/39)   
Compressing objects:  76% (30/39)   
Compressing objects:  79% (31/39)   
Compressing objects:  82% (32/39)   
Compressing objects:  84% (33/39)   
Compressing objects:  87% (34/39)   
Compressing objects:  89% (35/39)   
Compressing objects:  92% (36/39)   
Compressing objects:  94% (37/39)   
Compressing objects:  97% (38/39)   
Compressing objects: 100% (39/39)   
Compressing objects: 100% (39/39), done.
Writing objects:   2% (1/39)   
Writing objects:   5% (2/39)   
Writing objects:   7% (3/39)   
Writing objects:  10% (4/39)   
Writing objects:  12% (5/39)   
Writing objects:  15% (6/39)   
Writing objects:  17% (7/39)   
Writing objects:  20% (8/39)   
Writing objects:  23% (9/39)   
Writing objects:  25% (10/39)   
Writing objects:  28% (11/39)   
Writing objects:  30% (12/39)   
Writing objects:  33% (13/39)   
Writing objects:  35% (14/39)   
Writing objects:  38% (15/39)   
Writing objects:  41% (16/39)   
Writing objects:  46% (18/39)   
Writing objects:  48% (19/39)   
Writing objects:  51% (20/39)   
Writing objects:  53% (21/39)   
Writing objects:  56% (22/39)   
Writing objects:  58% (23/39)   
Writing objects:  61% (24/39)   
Writing objects:  64% (25/39)   
Writing objects:  66% (26/39)   
Writing objects:  69% (27/39)   
Writing objects:  71% (28/39)   
Writing objects:  74% (29/39)   
Writing objects:  76% (30/39)   
Writing objects:  79% (31/39)   
Writing objects:  82% (32/39)   
Writing objects:  84% (33/39)   
Writing objects:  87% (34/39)   
Writing objects:  89% (35/39)   
Writing objects:  94% (37/39)   
Writing objects:  97% (38/39)   
Writing objects: 100% (39/39)   
Writing objects: 100% (39/39), 5.94 KiB, done.
Total 39 (delta 30), reused 0 (delta 0)
To xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
   fcd11a4..9efe258  9efe258c19da5ef736b74217c11a610e448d1ab5 -> master

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 07:12:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:12:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYP4-0004bz-Hl; Wed, 16 May 2012 07:12:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUYP2-0004bu-Ol
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 07:12:09 +0000
Received: from [85.158.143.99:11465] by server-2.bemta-4.messagelabs.com id
	F6/6B-12211-84353BF4; Wed, 16 May 2012 07:12:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337152325!22947319!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7704 invoked from network); 16 May 2012 07:12:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 07:12:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12495613"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 07:12:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 08:12:04 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUYOy-0007PG-JP;
	Wed, 16 May 2012 07:12:04 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUYOy-0006wC-Hn;
	Wed, 16 May 2012 08:12:04 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12889-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 08:12:04 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12889: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12889 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12889/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-i386-i386-xl             9 guest-start               fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 07:12:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:12:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYP4-0004bz-Hl; Wed, 16 May 2012 07:12:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUYP2-0004bu-Ol
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 07:12:09 +0000
Received: from [85.158.143.99:11465] by server-2.bemta-4.messagelabs.com id
	F6/6B-12211-84353BF4; Wed, 16 May 2012 07:12:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337152325!22947319!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7704 invoked from network); 16 May 2012 07:12:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 07:12:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12495613"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 07:12:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 08:12:04 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUYOy-0007PG-JP;
	Wed, 16 May 2012 07:12:04 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUYOy-0006wC-Hn;
	Wed, 16 May 2012 08:12:04 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12889-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 08:12:04 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12889: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12889 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12889/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-i386-i386-xl             9 guest-start               fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 07:26:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:26:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYcA-0004pm-2O; Wed, 16 May 2012 07:25:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SUYc8-0004ph-SO
	for xen-devel@lists.xen.org; Wed, 16 May 2012 07:25:41 +0000
Received: from [193.109.254.147:53850] by server-3.bemta-14.messagelabs.com id
	80/F8-23274-47653BF4; Wed, 16 May 2012 07:25:40 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337153139!9561763!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MjYzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12665 invoked from network); 16 May 2012 07:25:39 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-3.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 07:25:39 -0000
Received: from smtphost1.dur.ac.uk (smtphost1.dur.ac.uk [129.234.252.1])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G7PL7T003357
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:26 +0100
Received: from vega-a.dur.ac.uk (vega-a.dur.ac.uk [129.234.250.133])
	by smtphost1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G7P6R9030105
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:06 +0100
Received: from vega-a.dur.ac.uk (localhost [127.0.0.1])
	by vega-a.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4G7P6oh001087
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:06 +0100
Received: from localhost (dcl0may@localhost)
	by vega-a.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4G7P58Z001080
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:06 +0100
Date: Wed, 16 May 2012 08:25:05 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: xen-devel@lists.xen.org
In-Reply-To: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
Message-ID: <alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-262355278-1337153106=:32268"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4G7PL7T003357
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
	guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-262355278-1337153106=:32268
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Wed, 16 May 2012, M A Young wrote:

> Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are 
> very big as it reads them into memory before writing them out again to 
> temporary files (these can legitimately be big for example the initrd.img 
> file in a Fedora 16 install is around 130MB ).
>
> This patch allows these files to be copied in one megabyte pieces, and if it 
> sees any write problems it delets the files and exits. It also only reads up 
> to the first megabyte of configurations files for grub etc. to avoid problems 
> here as well (as it is a text file it should actually be much smaller).
>
> This issue was reported by Xinli Niu in the Fedora bug report
> https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference 
> CVE-2012-2625 .

I realized the first patch was flawed as I was potentially using a file 
descriptor after I closed it. This is an untested correction.

 	Michael Young
--8323329-262355278-1337153106=:32268
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=pygrub.size.limits.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=pygrub.size.limits.patch

TWFrZSBweWdydWIgY29wZSBiZXR0ZXIgd2l0aCBiaWcgZmlsZXMgaW4gdGhl
IGd1ZXN0Lg0KT25seSByZWFkIHRoZSBmaXJzdCBtZWdhYnl0ZSBvZiBhIGNv
bmZpZ3VyYXRpb24gZmlsZSAoZ3J1YiBldGMuKQ0KUmVhZCB0aGUga2VybmVs
IGFuZCByYW1kaXNrIGZpbGVzIGZyb20gdGhlIGd1ZXN0IGluIG9uZSBtZWdh
Ynl0ZSBwaWVjZXMNCnNvIHB5Z3J1YiBkb2Vzbid0IGdyb3cgdG9vIGxhcmdl
IGlmIHRoZXkgYXJlIGxhcmdlLg0KSWYgdGhlcmUgYXJlIHByb2JsZW1zIHdy
aXRpbmcgdGhlIHRlbXBvcmFyeSBjb3BpZXMgb2YgdGhlIGtlcm5lbCBhbmQg
cmFtZGlzaw0KZmlsZXMgZGVsZXRlIHRoZW0gYW5kIGV4aXQuDQoNClNpZ25l
ZC1vZmYtYnk6IE1pY2hhZWwgWW91bmcgPG0uYS55b3VuZ0BkdXJoYW0uYWMu
dWs+DQoNCi0tLSB4ZW4tNC4yLjAvdG9vbHMvcHlncnViL3NyYy9weWdydWIu
b3JpZwkyMDEyLTA1LTEyIDE2OjQwOjQ4LjAwMDAwMDAwMCArMDEwMA0KKysr
IHhlbi00LjIuMC90b29scy9weWdydWIvc3JjL3B5Z3J1YgkyMDEyLTA1LTE2
IDAwOjE4OjQ0LjczODAwMDAyMCArMDEwMA0KQEAgLTI4LDYgKzI4LDcgQEAN
CiBpbXBvcnQgZ3J1Yi5FeHRMaW51eENvbmYNCiANCiBQWUdSVUJfVkVSID0g
MC42DQorZnNfcmVhZF9tYXg9MTA0ODU3Ng0KIA0KIGRlZiBlbmFibGVfY3Vy
c29yKGlzb24pOg0KICAgICBpZiBpc29uOg0KQEAgLTQ0OCw3ICs0NDksOCBA
QA0KICAgICAgICAgaWYgc2VsZi5fX2RpY3RfXy5nZXQoJ2NmJywgTm9uZSkg
aXMgTm9uZToNCiAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IsICJj
b3VsZG4ndCBmaW5kIGJvb3Rsb2FkZXIgY29uZmlnIGZpbGUgaW4gdGhlIGlt
YWdlIHByb3ZpZGVkLiINCiAgICAgICAgIGYgPSBmcy5vcGVuX2ZpbGUoc2Vs
Zi5jZi5maWxlbmFtZSkNCi0gICAgICAgIGJ1ZiA9IGYucmVhZCgpDQorICAg
ICAgICAjIGxpbWl0IHJlYWQgc2l6ZSB0byBhdm9pZCBwYXRob2xvZ2ljYWwg
Y2FzZXMNCisgICAgICAgIGJ1ZiA9IGYucmVhZChmc19yZWFkX21heCkNCiAg
ICAgICAgIGRlbCBmDQogICAgICAgICBzZWxmLmNmLnBhcnNlKGJ1ZikNCiAN
CkBAIC04MjQsMjAgKzgyNiw0MSBAQA0KICAgICBpZiBub3RfcmVhbGx5Og0K
ICAgICAgICAgYm9vdGNmZ1sia2VybmVsIl0gPSAiPGtlcm5lbDolcz4iICUg
Y2hvc2VuY2ZnWyJrZXJuZWwiXQ0KICAgICBlbHNlOg0KLSAgICAgICAgZGF0
YSA9IGZzLm9wZW5fZmlsZShjaG9zZW5jZmdbImtlcm5lbCJdKS5yZWFkKCkN
CisgICAgICAgIGRhdGFmaWxlID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1si
a2VybmVsIl0pDQogICAgICAgICAodGZkLCBib290Y2ZnWyJrZXJuZWwiXSkg
PSB0ZW1wZmlsZS5ta3N0ZW1wKHByZWZpeD0iYm9vdF9rZXJuZWwuIiwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAgICBvcy53cml0
ZSh0ZmQsIGRhdGEpDQorICAgICAgICBkYXRhb2ZmPTANCisgICAgICAgIGRh
dGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCkNCisgICAgICAgIHdoaWxl
IGxlbihkYXRhKT4wOg0KKyAgICAgICAgICAgIHRyeToNCisgICAgICAgICAg
ICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQ0KKyAgICAgICAgICAgIGV4Y2Vw
dDoNCisgICAgICAgICAgICAgICAgcHJpbnQgImVycm9yIHdyaXRpbmcgdGVt
cG9yYXJ5IGNvcHkgb2Yga2VybmVsIg0KKyAgICAgICAgICAgICAgICBvcy51
bmxpbmsodGZkKQ0KKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQ0KKyAg
ICAgICAgICAgIGRhdGFvZmYrPWxlbihkYXRhKQ0KKyAgICAgICAgICAgIGRh
dGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCxkYXRhb2ZmKQ0KICAgICAg
ICAgb3MuY2xvc2UodGZkKQ0KIA0KICAgICBpZiBjaG9zZW5jZmdbInJhbWRp
c2siXToNCiAgICAgICAgIGlmIG5vdF9yZWFsbHk6DQogICAgICAgICAgICAg
Ym9vdGNmZ1sicmFtZGlzayJdID0gIjxyYW1kaXNrOiVzPiIgJSBjaG9zZW5j
ZmdbInJhbWRpc2siXQ0KICAgICAgICAgZWxzZToNCi0gICAgICAgICAgICBk
YXRhID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1sicmFtZGlzayJdLCkucmVh
ZCgpDQorICAgICAgICAgICAgZGF0YWZpbGUgPSBmcy5vcGVuX2ZpbGUoY2hv
c2VuY2ZnWyJyYW1kaXNrIl0sKQ0KICAgICAgICAgICAgICh0ZmQsIGJvb3Rj
ZmdbInJhbWRpc2siXSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKA0KICAgICAgICAg
ICAgICAgICBwcmVmaXg9ImJvb3RfcmFtZGlzay4iLCBkaXI9b3V0cHV0X2Rp
cmVjdG9yeSkNCi0gICAgICAgICAgICBvcy53cml0ZSh0ZmQsIGRhdGEpDQor
ICAgICAgICAgICAgZGF0YW9mZj0wDQorICAgICAgICAgICAgZGF0YT1kYXRh
ZmlsZS5yZWFkKGZzX3JlYWRfbWF4KQ0KKyAgICAgICAgICAgIHdoaWxlIGxl
bihkYXRhKT4wOg0KKyAgICAgICAgICAgICAgICB0cnk6DQorICAgICAgICAg
ICAgICAgICAgICBvcy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICAgICAg
ICAgIGV4Y2VwdDoNCisgICAgICAgICAgICAgICAgICAgIHByaW50ICJlcnJv
ciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mIHJhbWRpc2siDQorICAgICAg
ICAgICAgICAgICAgICBvcy51bmxpbmsodGZkKQ0KKyAgICAgICAgICAgICAg
ICAgICAgb3MudW5saW5rKG9zLm9wZW4oYm9vdGNmZ1sia2VybmVsIl0pKQ0K
KyAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkNCisgICAgICAgICAg
ICAgICAgZGF0YW9mZis9bGVuKGRhdGEpDQorICAgICAgICAgICAgICAgIGRh
dGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCxkYXRhb2ZmKQ0KICAgICAg
ICAgICAgIG9zLmNsb3NlKHRmZCkNCiAgICAgZWxzZToNCiAgICAgICAgIGlu
aXRyZCA9IE5vbmUNCg==

--8323329-262355278-1337153106=:32268
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-262355278-1337153106=:32268--


From xen-devel-bounces@lists.xen.org Wed May 16 07:26:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:26:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYcA-0004pm-2O; Wed, 16 May 2012 07:25:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SUYc8-0004ph-SO
	for xen-devel@lists.xen.org; Wed, 16 May 2012 07:25:41 +0000
Received: from [193.109.254.147:53850] by server-3.bemta-14.messagelabs.com id
	80/F8-23274-47653BF4; Wed, 16 May 2012 07:25:40 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337153139!9561763!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MjYzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12665 invoked from network); 16 May 2012 07:25:39 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-3.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 07:25:39 -0000
Received: from smtphost1.dur.ac.uk (smtphost1.dur.ac.uk [129.234.252.1])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G7PL7T003357
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:26 +0100
Received: from vega-a.dur.ac.uk (vega-a.dur.ac.uk [129.234.250.133])
	by smtphost1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G7P6R9030105
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:06 +0100
Received: from vega-a.dur.ac.uk (localhost [127.0.0.1])
	by vega-a.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4G7P6oh001087
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:06 +0100
Received: from localhost (dcl0may@localhost)
	by vega-a.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4G7P58Z001080
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:25:06 +0100
Date: Wed, 16 May 2012 08:25:05 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: xen-devel@lists.xen.org
In-Reply-To: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
Message-ID: <alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-262355278-1337153106=:32268"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4G7PL7T003357
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
	guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-262355278-1337153106=:32268
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Wed, 16 May 2012, M A Young wrote:

> Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are 
> very big as it reads them into memory before writing them out again to 
> temporary files (these can legitimately be big for example the initrd.img 
> file in a Fedora 16 install is around 130MB ).
>
> This patch allows these files to be copied in one megabyte pieces, and if it 
> sees any write problems it delets the files and exits. It also only reads up 
> to the first megabyte of configurations files for grub etc. to avoid problems 
> here as well (as it is a text file it should actually be much smaller).
>
> This issue was reported by Xinli Niu in the Fedora bug report
> https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference 
> CVE-2012-2625 .

I realized the first patch was flawed as I was potentially using a file 
descriptor after I closed it. This is an untested correction.

 	Michael Young
--8323329-262355278-1337153106=:32268
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=pygrub.size.limits.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=pygrub.size.limits.patch

TWFrZSBweWdydWIgY29wZSBiZXR0ZXIgd2l0aCBiaWcgZmlsZXMgaW4gdGhl
IGd1ZXN0Lg0KT25seSByZWFkIHRoZSBmaXJzdCBtZWdhYnl0ZSBvZiBhIGNv
bmZpZ3VyYXRpb24gZmlsZSAoZ3J1YiBldGMuKQ0KUmVhZCB0aGUga2VybmVs
IGFuZCByYW1kaXNrIGZpbGVzIGZyb20gdGhlIGd1ZXN0IGluIG9uZSBtZWdh
Ynl0ZSBwaWVjZXMNCnNvIHB5Z3J1YiBkb2Vzbid0IGdyb3cgdG9vIGxhcmdl
IGlmIHRoZXkgYXJlIGxhcmdlLg0KSWYgdGhlcmUgYXJlIHByb2JsZW1zIHdy
aXRpbmcgdGhlIHRlbXBvcmFyeSBjb3BpZXMgb2YgdGhlIGtlcm5lbCBhbmQg
cmFtZGlzaw0KZmlsZXMgZGVsZXRlIHRoZW0gYW5kIGV4aXQuDQoNClNpZ25l
ZC1vZmYtYnk6IE1pY2hhZWwgWW91bmcgPG0uYS55b3VuZ0BkdXJoYW0uYWMu
dWs+DQoNCi0tLSB4ZW4tNC4yLjAvdG9vbHMvcHlncnViL3NyYy9weWdydWIu
b3JpZwkyMDEyLTA1LTEyIDE2OjQwOjQ4LjAwMDAwMDAwMCArMDEwMA0KKysr
IHhlbi00LjIuMC90b29scy9weWdydWIvc3JjL3B5Z3J1YgkyMDEyLTA1LTE2
IDAwOjE4OjQ0LjczODAwMDAyMCArMDEwMA0KQEAgLTI4LDYgKzI4LDcgQEAN
CiBpbXBvcnQgZ3J1Yi5FeHRMaW51eENvbmYNCiANCiBQWUdSVUJfVkVSID0g
MC42DQorZnNfcmVhZF9tYXg9MTA0ODU3Ng0KIA0KIGRlZiBlbmFibGVfY3Vy
c29yKGlzb24pOg0KICAgICBpZiBpc29uOg0KQEAgLTQ0OCw3ICs0NDksOCBA
QA0KICAgICAgICAgaWYgc2VsZi5fX2RpY3RfXy5nZXQoJ2NmJywgTm9uZSkg
aXMgTm9uZToNCiAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IsICJj
b3VsZG4ndCBmaW5kIGJvb3Rsb2FkZXIgY29uZmlnIGZpbGUgaW4gdGhlIGlt
YWdlIHByb3ZpZGVkLiINCiAgICAgICAgIGYgPSBmcy5vcGVuX2ZpbGUoc2Vs
Zi5jZi5maWxlbmFtZSkNCi0gICAgICAgIGJ1ZiA9IGYucmVhZCgpDQorICAg
ICAgICAjIGxpbWl0IHJlYWQgc2l6ZSB0byBhdm9pZCBwYXRob2xvZ2ljYWwg
Y2FzZXMNCisgICAgICAgIGJ1ZiA9IGYucmVhZChmc19yZWFkX21heCkNCiAg
ICAgICAgIGRlbCBmDQogICAgICAgICBzZWxmLmNmLnBhcnNlKGJ1ZikNCiAN
CkBAIC04MjQsMjAgKzgyNiw0MSBAQA0KICAgICBpZiBub3RfcmVhbGx5Og0K
ICAgICAgICAgYm9vdGNmZ1sia2VybmVsIl0gPSAiPGtlcm5lbDolcz4iICUg
Y2hvc2VuY2ZnWyJrZXJuZWwiXQ0KICAgICBlbHNlOg0KLSAgICAgICAgZGF0
YSA9IGZzLm9wZW5fZmlsZShjaG9zZW5jZmdbImtlcm5lbCJdKS5yZWFkKCkN
CisgICAgICAgIGRhdGFmaWxlID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1si
a2VybmVsIl0pDQogICAgICAgICAodGZkLCBib290Y2ZnWyJrZXJuZWwiXSkg
PSB0ZW1wZmlsZS5ta3N0ZW1wKHByZWZpeD0iYm9vdF9rZXJuZWwuIiwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAgICBvcy53cml0
ZSh0ZmQsIGRhdGEpDQorICAgICAgICBkYXRhb2ZmPTANCisgICAgICAgIGRh
dGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCkNCisgICAgICAgIHdoaWxl
IGxlbihkYXRhKT4wOg0KKyAgICAgICAgICAgIHRyeToNCisgICAgICAgICAg
ICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQ0KKyAgICAgICAgICAgIGV4Y2Vw
dDoNCisgICAgICAgICAgICAgICAgcHJpbnQgImVycm9yIHdyaXRpbmcgdGVt
cG9yYXJ5IGNvcHkgb2Yga2VybmVsIg0KKyAgICAgICAgICAgICAgICBvcy51
bmxpbmsodGZkKQ0KKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQ0KKyAg
ICAgICAgICAgIGRhdGFvZmYrPWxlbihkYXRhKQ0KKyAgICAgICAgICAgIGRh
dGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCxkYXRhb2ZmKQ0KICAgICAg
ICAgb3MuY2xvc2UodGZkKQ0KIA0KICAgICBpZiBjaG9zZW5jZmdbInJhbWRp
c2siXToNCiAgICAgICAgIGlmIG5vdF9yZWFsbHk6DQogICAgICAgICAgICAg
Ym9vdGNmZ1sicmFtZGlzayJdID0gIjxyYW1kaXNrOiVzPiIgJSBjaG9zZW5j
ZmdbInJhbWRpc2siXQ0KICAgICAgICAgZWxzZToNCi0gICAgICAgICAgICBk
YXRhID0gZnMub3Blbl9maWxlKGNob3NlbmNmZ1sicmFtZGlzayJdLCkucmVh
ZCgpDQorICAgICAgICAgICAgZGF0YWZpbGUgPSBmcy5vcGVuX2ZpbGUoY2hv
c2VuY2ZnWyJyYW1kaXNrIl0sKQ0KICAgICAgICAgICAgICh0ZmQsIGJvb3Rj
ZmdbInJhbWRpc2siXSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKA0KICAgICAgICAg
ICAgICAgICBwcmVmaXg9ImJvb3RfcmFtZGlzay4iLCBkaXI9b3V0cHV0X2Rp
cmVjdG9yeSkNCi0gICAgICAgICAgICBvcy53cml0ZSh0ZmQsIGRhdGEpDQor
ICAgICAgICAgICAgZGF0YW9mZj0wDQorICAgICAgICAgICAgZGF0YT1kYXRh
ZmlsZS5yZWFkKGZzX3JlYWRfbWF4KQ0KKyAgICAgICAgICAgIHdoaWxlIGxl
bihkYXRhKT4wOg0KKyAgICAgICAgICAgICAgICB0cnk6DQorICAgICAgICAg
ICAgICAgICAgICBvcy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICAgICAg
ICAgIGV4Y2VwdDoNCisgICAgICAgICAgICAgICAgICAgIHByaW50ICJlcnJv
ciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mIHJhbWRpc2siDQorICAgICAg
ICAgICAgICAgICAgICBvcy51bmxpbmsodGZkKQ0KKyAgICAgICAgICAgICAg
ICAgICAgb3MudW5saW5rKG9zLm9wZW4oYm9vdGNmZ1sia2VybmVsIl0pKQ0K
KyAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkNCisgICAgICAgICAg
ICAgICAgZGF0YW9mZis9bGVuKGRhdGEpDQorICAgICAgICAgICAgICAgIGRh
dGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCxkYXRhb2ZmKQ0KICAgICAg
ICAgICAgIG9zLmNsb3NlKHRmZCkNCiAgICAgZWxzZToNCiAgICAgICAgIGlu
aXRyZCA9IE5vbmUNCg==

--8323329-262355278-1337153106=:32268
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-262355278-1337153106=:32268--


From xen-devel-bounces@lists.xen.org Wed May 16 07:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYkv-00052S-2z; Wed, 16 May 2012 07:34:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUYkt-00052N-6I
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 07:34:43 +0000
Received: from [85.158.139.83:52325] by server-10.bemta-5.messagelabs.com id
	BF/02-08260-09853BF4; Wed, 16 May 2012 07:34:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337153679!24694330!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5273 invoked from network); 16 May 2012 07:34:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 07:34:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12496027"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 07:34:38 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 08:34:38 +0100
Message-ID: <1337153677.3891.60.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 16 May 2012 08:34:37 +0100
In-Reply-To: <c034634fda0e1d96768d.1337142981@nehalem1>
References: <c034634fda0e1d96768d.1337142981@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] Correct typo introduced by cs25334
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 05:36 +0100, Juergen Gross wrote:
> Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

Oops, thanks!

Acked-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 07:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYkv-00052S-2z; Wed, 16 May 2012 07:34:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUYkt-00052N-6I
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 07:34:43 +0000
Received: from [85.158.139.83:52325] by server-10.bemta-5.messagelabs.com id
	BF/02-08260-09853BF4; Wed, 16 May 2012 07:34:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337153679!24694330!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5273 invoked from network); 16 May 2012 07:34:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 07:34:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12496027"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 07:34:38 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 08:34:38 +0100
Message-ID: <1337153677.3891.60.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 16 May 2012 08:34:37 +0100
In-Reply-To: <c034634fda0e1d96768d.1337142981@nehalem1>
References: <c034634fda0e1d96768d.1337142981@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] Correct typo introduced by cs25334
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 05:36 +0100, Juergen Gross wrote:
> Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

Oops, thanks!

Acked-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 07:47:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:47:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYwZ-0005CB-BX; Wed, 16 May 2012 07:46:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUYwX-0005C4-I8
	for xen-devel@lists.xen.org; Wed, 16 May 2012 07:46:45 +0000
Received: from [85.158.139.83:48318] by server-11.bemta-5.messagelabs.com id
	44/83-12959-46B53BF4; Wed, 16 May 2012 07:46:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337154403!27958892!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2NzQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23976 invoked from network); 16 May 2012 07:46:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 07:46:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 08:46:43 +0100
Message-Id: <4FB377A10200007800083FFE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 08:47:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "George Dunlap" <george.dunlap@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
	<4FB28709.9080001@eu.citrix.com>
In-Reply-To: <4FB28709.9080001@eu.citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 18:40, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> On 15/05/12 17:36, Jan Beulich wrote:
>>>>> On 15.05.12 at 18:21, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>>>   But if not, I suggest we accept this patch, and I'll come
>>> back and try to write a proper one before the 4.2 release.  I think it's
>>> really important we do something before 4.2, as it causes pretty serious
>>> problems on systems which are affected (almost always a host crash,
>>> possibly with some disk corruption).
>> A host crash because of a driver not loaded? That would suggest
>> bugs elsewhere...
> Yes -- a bug in the AIO implementation for foreign pages, as the 
> description states.

But if there's no backend driver, there shouldn't be any I/O at all,
and hence no crash? Or are you saying that in the absence of the
driver another (qdisk?) backend gets selected (which doesn't match
my own observations, at least not as far as local attach to Dom0
is concerned, and I would hope [expect] that backend selection
doesn't depend on which domain the frontend lives in)?

Finally, loading "blktap" here is the right thing for pvops, but
wrong for legacy/forward ported kernels - blktap2 would be
the right module name there afaict. Perhaps, if this really is to
go in (temporarily), loading an alias (devname: or xen-backend:,
though the latter apears to be missing from the pvops driver)
would be better here?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 07:47:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 07:47:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUYwZ-0005CB-BX; Wed, 16 May 2012 07:46:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUYwX-0005C4-I8
	for xen-devel@lists.xen.org; Wed, 16 May 2012 07:46:45 +0000
Received: from [85.158.139.83:48318] by server-11.bemta-5.messagelabs.com id
	44/83-12959-46B53BF4; Wed, 16 May 2012 07:46:44 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337154403!27958892!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2NzQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23976 invoked from network); 16 May 2012 07:46:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 07:46:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 08:46:43 +0100
Message-Id: <4FB377A10200007800083FFE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 08:47:13 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "George Dunlap" <george.dunlap@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
	<4FB28709.9080001@eu.citrix.com>
In-Reply-To: <4FB28709.9080001@eu.citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 15.05.12 at 18:40, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> On 15/05/12 17:36, Jan Beulich wrote:
>>>>> On 15.05.12 at 18:21, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>>>   But if not, I suggest we accept this patch, and I'll come
>>> back and try to write a proper one before the 4.2 release.  I think it's
>>> really important we do something before 4.2, as it causes pretty serious
>>> problems on systems which are affected (almost always a host crash,
>>> possibly with some disk corruption).
>> A host crash because of a driver not loaded? That would suggest
>> bugs elsewhere...
> Yes -- a bug in the AIO implementation for foreign pages, as the 
> description states.

But if there's no backend driver, there shouldn't be any I/O at all,
and hence no crash? Or are you saying that in the absence of the
driver another (qdisk?) backend gets selected (which doesn't match
my own observations, at least not as far as local attach to Dom0
is concerned, and I would hope [expect] that backend selection
doesn't depend on which domain the frontend lives in)?

Finally, loading "blktap" here is the right thing for pvops, but
wrong for legacy/forward ported kernels - blktap2 would be
the right module name there afaict. Perhaps, if this really is to
go in (temporarily), loading an alias (devname: or xen-backend:,
though the latter apears to be missing from the pvops driver)
would be better here?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:07:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:07:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZFr-0005p6-7Z; Wed, 16 May 2012 08:06:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <paolo.bonzini@gmail.com>) id 1SUZFp-0005p1-MA
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:06:41 +0000
Received: from [85.158.143.99:6683] by server-1.bemta-4.messagelabs.com id
	7D/62-20925-11063BF4; Wed, 16 May 2012 08:06:41 +0000
X-Env-Sender: paolo.bonzini@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337155598!18454347!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21265 invoked from network); 16 May 2012 08:06:40 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:06:40 -0000
Received: by dadv2 with SMTP id v2so681027dad.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:06:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=a18e0BqC4IePsyEZBFA4YSz7D7KpdkDa3XhobmRnhG4=;
	b=ZMC8HgWPtD3dBlx+GkjHH8hT+t2P0o4mj2OPRFHuIEEJa0+cunzhKGY5BWuLq1jbKZ
	k/Jr2nZhdfJMYoMvKDT2vzPsf5VALJ+E88QEMHuwlWidcm53DI7T4OipdoG2RVC7lkv+
	IWEFt7IsYRgjhxkAw3VOeQ+tBKEykHaTfUIXUhe/aJsE4f2FNoWcRjqWMNoVjGSkj099
	oNWqgS2JInVZlqzhZJIeCS+EQoxgjKFVI3KUgIVi4udaCBHEf9VeIC4UlBGhLFJmFZTQ
	dtqnFJiDjWNSLik2y+QlRgkAErcpjbqEtgzcvcR8wi7nOvE3UYJLu/biO1OmePvHky+c
	/0cQ==
Received: by 10.68.200.193 with SMTP id ju1mr10892668pbc.90.1337155597733;
	Wed, 16 May 2012 01:06:37 -0700 (PDT)
Received: from yakj.usersys.redhat.com (93-34-182-16.ip50.fastwebnet.it.
	[93.34.182.16])
	by mx.google.com with ESMTPS id pn10sm4667906pbb.22.2012.05.16.01.06.33
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 01:06:36 -0700 (PDT)
Message-ID: <4FB36001.9030008@redhat.com>
Date: Wed, 16 May 2012 10:06:25 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "Michael S. Tsirkin" <mst@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com>
In-Reply-To: <20120515210053.GB12039@redhat.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 15/05/2012 23:00, Michael S. Tsirkin ha scritto:
> On Tue, May 15, 2012 at 04:26:39PM +0100, Anthony PERARD wrote:
>> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
>> unplug before the guest drivers are initialized. This mean that there must be
>> unplug without the consent of the guest.
>>
>> Without this patch, the guest end up with two nics with the same MAC, the
>> emulated nic and the PV nic.
>>
>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> OK, so on Xen there are special devices that can be safely removed
> without telling the guest?  Does there need to be regular hotplug for
> these devices too? Or can it be always surprise removal?

On Xen the PV drivers can ask the firmware to surprise-remove the
emulated NICs.  Of course it has to do it early enough so that the guest
doesn't crash.

Paolo


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:07:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:07:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZFr-0005p6-7Z; Wed, 16 May 2012 08:06:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <paolo.bonzini@gmail.com>) id 1SUZFp-0005p1-MA
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:06:41 +0000
Received: from [85.158.143.99:6683] by server-1.bemta-4.messagelabs.com id
	7D/62-20925-11063BF4; Wed, 16 May 2012 08:06:41 +0000
X-Env-Sender: paolo.bonzini@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337155598!18454347!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21265 invoked from network); 16 May 2012 08:06:40 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:06:40 -0000
Received: by dadv2 with SMTP id v2so681027dad.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 01:06:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=a18e0BqC4IePsyEZBFA4YSz7D7KpdkDa3XhobmRnhG4=;
	b=ZMC8HgWPtD3dBlx+GkjHH8hT+t2P0o4mj2OPRFHuIEEJa0+cunzhKGY5BWuLq1jbKZ
	k/Jr2nZhdfJMYoMvKDT2vzPsf5VALJ+E88QEMHuwlWidcm53DI7T4OipdoG2RVC7lkv+
	IWEFt7IsYRgjhxkAw3VOeQ+tBKEykHaTfUIXUhe/aJsE4f2FNoWcRjqWMNoVjGSkj099
	oNWqgS2JInVZlqzhZJIeCS+EQoxgjKFVI3KUgIVi4udaCBHEf9VeIC4UlBGhLFJmFZTQ
	dtqnFJiDjWNSLik2y+QlRgkAErcpjbqEtgzcvcR8wi7nOvE3UYJLu/biO1OmePvHky+c
	/0cQ==
Received: by 10.68.200.193 with SMTP id ju1mr10892668pbc.90.1337155597733;
	Wed, 16 May 2012 01:06:37 -0700 (PDT)
Received: from yakj.usersys.redhat.com (93-34-182-16.ip50.fastwebnet.it.
	[93.34.182.16])
	by mx.google.com with ESMTPS id pn10sm4667906pbb.22.2012.05.16.01.06.33
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 01:06:36 -0700 (PDT)
Message-ID: <4FB36001.9030008@redhat.com>
Date: Wed, 16 May 2012 10:06:25 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "Michael S. Tsirkin" <mst@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com>
In-Reply-To: <20120515210053.GB12039@redhat.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 15/05/2012 23:00, Michael S. Tsirkin ha scritto:
> On Tue, May 15, 2012 at 04:26:39PM +0100, Anthony PERARD wrote:
>> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
>> unplug before the guest drivers are initialized. This mean that there must be
>> unplug without the consent of the guest.
>>
>> Without this patch, the guest end up with two nics with the same MAC, the
>> emulated nic and the PV nic.
>>
>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> OK, so on Xen there are special devices that can be safely removed
> without telling the guest?  Does there need to be regular hotplug for
> these devices too? Or can it be always surprise removal?

On Xen the PV drivers can ask the firmware to surprise-remove the
emulated NICs.  Of course it has to do it early enough so that the guest
doesn't crash.

Paolo


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:14:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:14:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZMl-0005zu-NJ; Wed, 16 May 2012 08:13:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUZMk-0005zj-Qu
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:13:51 +0000
Received: from [85.158.143.99:45306] by server-1.bemta-4.messagelabs.com id
	35/F0-20925-EB163BF4; Wed, 16 May 2012 08:13:50 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337156028!17029375!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI1MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26318 invoked from network); 16 May 2012 08:13:49 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-16.tower-216.messagelabs.com with SMTP;
	16 May 2012 08:13:49 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4G8DfXZ016787
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 04:13:42 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q4G8Dccc014614; Wed, 16 May 2012 04:13:39 -0400
Date: Wed, 16 May 2012 11:13:42 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20120516081341.GB3183@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB36001.9030008@redhat.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> Il 15/05/2012 23:00, Michael S. Tsirkin ha scritto:
> > On Tue, May 15, 2012 at 04:26:39PM +0100, Anthony PERARD wrote:
> >> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> >> unplug before the guest drivers are initialized. This mean that there must be
> >> unplug without the consent of the guest.
> >>
> >> Without this patch, the guest end up with two nics with the same MAC, the
> >> emulated nic and the PV nic.
> >>
> >> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > 
> > OK, so on Xen there are special devices that can be safely removed
> > without telling the guest?  Does there need to be regular hotplug for
> > these devices too? Or can it be always surprise removal?
> 
> On Xen the PV drivers can ask the firmware to surprise-remove the
> emulated NICs.

So driver tells firmware (meaning acpi? how?) that it's ok
to do surprize removal?

> Of course it has to do it early enough so that the guest
> doesn't crash.
> 
> Paolo

What does early enough mean and how do we ensure that?

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:14:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:14:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZMl-0005zu-NJ; Wed, 16 May 2012 08:13:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUZMk-0005zj-Qu
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:13:51 +0000
Received: from [85.158.143.99:45306] by server-1.bemta-4.messagelabs.com id
	35/F0-20925-EB163BF4; Wed, 16 May 2012 08:13:50 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337156028!17029375!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI1MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26318 invoked from network); 16 May 2012 08:13:49 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-16.tower-216.messagelabs.com with SMTP;
	16 May 2012 08:13:49 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4G8DfXZ016787
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 04:13:42 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q4G8Dccc014614; Wed, 16 May 2012 04:13:39 -0400
Date: Wed, 16 May 2012 11:13:42 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20120516081341.GB3183@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB36001.9030008@redhat.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> Il 15/05/2012 23:00, Michael S. Tsirkin ha scritto:
> > On Tue, May 15, 2012 at 04:26:39PM +0100, Anthony PERARD wrote:
> >> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> >> unplug before the guest drivers are initialized. This mean that there must be
> >> unplug without the consent of the guest.
> >>
> >> Without this patch, the guest end up with two nics with the same MAC, the
> >> emulated nic and the PV nic.
> >>
> >> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > 
> > OK, so on Xen there are special devices that can be safely removed
> > without telling the guest?  Does there need to be regular hotplug for
> > these devices too? Or can it be always surprise removal?
> 
> On Xen the PV drivers can ask the firmware to surprise-remove the
> emulated NICs.

So driver tells firmware (meaning acpi? how?) that it's ok
to do surprize removal?

> Of course it has to do it early enough so that the guest
> doesn't crash.
> 
> Paolo

What does early enough mean and how do we ensure that?

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:22:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:22:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZUQ-0006NE-Kl; Wed, 16 May 2012 08:21:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUZUP-0006N6-NY
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:21:45 +0000
Received: from [85.158.143.99:54876] by server-1.bemta-4.messagelabs.com id
	99/51-20925-99363BF4; Wed, 16 May 2012 08:21:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337156500!18457507!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9935 invoked from network); 16 May 2012 08:21:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:21:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12497219"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 08:21:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 09:21:39 +0100
Message-ID: <1337156497.27824.2.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 16 May 2012 09:21:37 +0100
In-Reply-To: <4FB28295.8020905@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
> On 15/05/12 17:16, Jan Beulich wrote:
> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >> Older kernels, such as those found in Debian Squeeze:
> >> * Have bugs in handling of AIO into foreign pages
> >> * Have blktap modules, which will cause qemu not to use AIO, but
> >> which are not loaded on boot.
> >>
> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
> >> use AIO will work properly on those kernels.
> >>
> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >>
> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> >> @@ -59,6 +59,7 @@ do_start () {
> >>   	modprobe evtchn 2>/dev/null
> >>   	modprobe gntdev 2>/dev/null
> >>   	modprobe xen-acpi-processor 2>/dev/null
> >> +	modprobe blktap 2>/dev/null
> > Can we stop manually loading all kinds of drivers here? I was
> > glad this went away with the switch to xencommons, and
> > now this is coming back. Drivers definitely needed in all cases
> > are acceptable imo, but backend drivers should be loaded as
> > backends get created by the tools (similarly frontend drivers
> > for the local attach case, though they should get auto-loaded
> > normally anyway).
> I tend to agree with you; I did it this way because that's what was 
> suggested to me.  But I don't at the moment know enough about the 
> backend creation stuff in xl / qemu to DTRT here.

The issue preventing autoloading here is that blktap is effectively
optional and libxl tries to do a best effort search for a usable disk
backend. If blktap is loaded the libxl will choose it, otherwise it will
fallback to qdisk. The problem is that if blktap is available but not
loaded then that is something which libxl cannot detect, I'm not sure
how we could go about fixing that.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:22:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:22:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZUQ-0006NE-Kl; Wed, 16 May 2012 08:21:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUZUP-0006N6-NY
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:21:45 +0000
Received: from [85.158.143.99:54876] by server-1.bemta-4.messagelabs.com id
	99/51-20925-99363BF4; Wed, 16 May 2012 08:21:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337156500!18457507!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9935 invoked from network); 16 May 2012 08:21:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:21:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12497219"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 08:21:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 09:21:39 +0100
Message-ID: <1337156497.27824.2.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 16 May 2012 09:21:37 +0100
In-Reply-To: <4FB28295.8020905@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
> On 15/05/12 17:16, Jan Beulich wrote:
> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >> Older kernels, such as those found in Debian Squeeze:
> >> * Have bugs in handling of AIO into foreign pages
> >> * Have blktap modules, which will cause qemu not to use AIO, but
> >> which are not loaded on boot.
> >>
> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
> >> use AIO will work properly on those kernels.
> >>
> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >>
> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> >> @@ -59,6 +59,7 @@ do_start () {
> >>   	modprobe evtchn 2>/dev/null
> >>   	modprobe gntdev 2>/dev/null
> >>   	modprobe xen-acpi-processor 2>/dev/null
> >> +	modprobe blktap 2>/dev/null
> > Can we stop manually loading all kinds of drivers here? I was
> > glad this went away with the switch to xencommons, and
> > now this is coming back. Drivers definitely needed in all cases
> > are acceptable imo, but backend drivers should be loaded as
> > backends get created by the tools (similarly frontend drivers
> > for the local attach case, though they should get auto-loaded
> > normally anyway).
> I tend to agree with you; I did it this way because that's what was 
> suggested to me.  But I don't at the moment know enough about the 
> backend creation stuff in xl / qemu to DTRT here.

The issue preventing autoloading here is that blktap is effectively
optional and libxl tries to do a best effort search for a usable disk
backend. If blktap is loaded the libxl will choose it, otherwise it will
fallback to qdisk. The problem is that if blktap is available but not
loaded then that is something which libxl cannot detect, I'm not sure
how we could go about fixing that.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:26:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:26:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZYK-0006Ym-9X; Wed, 16 May 2012 08:25:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUZYJ-0006Ye-0Q
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:25:47 +0000
Received: from [85.158.143.35:23561] by server-1.bemta-4.messagelabs.com id
	BF/B9-20925-A8463BF4; Wed, 16 May 2012 08:25:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337156745!13121947!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31961 invoked from network); 16 May 2012 08:25:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:25:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12497311"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 08:25:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 09:25:44 +0100
Message-ID: <1337156743.27824.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 16 May 2012 09:25:43 +0100
In-Reply-To: <4FB377A10200007800083FFE@nat28.tlf.novell.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
	<4FB28709.9080001@eu.citrix.com>
	<4FB377A10200007800083FFE@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 08:47 +0100, Jan Beulich wrote:
> >>> On 15.05.12 at 18:40, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> > On 15/05/12 17:36, Jan Beulich wrote:
> >>>>> On 15.05.12 at 18:21, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >>>   But if not, I suggest we accept this patch, and I'll come
> >>> back and try to write a proper one before the 4.2 release.  I think it's
> >>> really important we do something before 4.2, as it causes pretty serious
> >>> problems on systems which are affected (almost always a host crash,
> >>> possibly with some disk corruption).
> >> A host crash because of a driver not loaded? That would suggest
> >> bugs elsewhere...
> > Yes -- a bug in the AIO implementation for foreign pages, as the 
> > description states.
> 
> But if there's no backend driver, there shouldn't be any I/O at all,
> and hence no crash? Or are you saying that in the absence of the
> driver another (qdisk?) backend gets selected (which doesn't match
> my own observations, at least not as far as local attach to Dom0
> is concerned, and I would hope [expect] that backend selection
> doesn't depend on which domain the frontend lives in)?

backend selection depends on what drivers are available in the backend
domain, not the frontend domain.

libxl will try blktap(2) first and fallback to qdisk if blktap is not
present. The issue George is seeing is that qdisk can sometimes exercise
AIO bugs which cause host crashes. The fix is to try harder to use
blktap when it is really available by ensuring it gets loaded.

> Finally, loading "blktap" here is the right thing for pvops, but
> wrong for legacy/forward ported kernels - blktap2 would be
> the right module name there afaict. Perhaps, if this really is to
> go in (temporarily), loading an alias (devname: or xen-backend:,
> though the latter apears to be missing from the pvops driver)
> would be better here?

There is no blktap driver at all in mainline pvops, which is part of the
problem and the reason for falling back to qdisk. Which pvops driver do
you mean? To confuse matters there is a DKMS thing floating around which
works against modern kernels too.

Perhaps the right answer is (roughly) "modprobe blktap2 || modprobe
blktap"?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:26:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:26:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZYK-0006Ym-9X; Wed, 16 May 2012 08:25:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUZYJ-0006Ye-0Q
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:25:47 +0000
Received: from [85.158.143.35:23561] by server-1.bemta-4.messagelabs.com id
	BF/B9-20925-A8463BF4; Wed, 16 May 2012 08:25:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337156745!13121947!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31961 invoked from network); 16 May 2012 08:25:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:25:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12497311"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 08:25:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 09:25:44 +0100
Message-ID: <1337156743.27824.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 16 May 2012 09:25:43 +0100
In-Reply-To: <4FB377A10200007800083FFE@nat28.tlf.novell.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
	<4FB28709.9080001@eu.citrix.com>
	<4FB377A10200007800083FFE@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 08:47 +0100, Jan Beulich wrote:
> >>> On 15.05.12 at 18:40, George Dunlap <george.dunlap@eu.citrix.com> wrote:
> > On 15/05/12 17:36, Jan Beulich wrote:
> >>>>> On 15.05.12 at 18:21, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >>>   But if not, I suggest we accept this patch, and I'll come
> >>> back and try to write a proper one before the 4.2 release.  I think it's
> >>> really important we do something before 4.2, as it causes pretty serious
> >>> problems on systems which are affected (almost always a host crash,
> >>> possibly with some disk corruption).
> >> A host crash because of a driver not loaded? That would suggest
> >> bugs elsewhere...
> > Yes -- a bug in the AIO implementation for foreign pages, as the 
> > description states.
> 
> But if there's no backend driver, there shouldn't be any I/O at all,
> and hence no crash? Or are you saying that in the absence of the
> driver another (qdisk?) backend gets selected (which doesn't match
> my own observations, at least not as far as local attach to Dom0
> is concerned, and I would hope [expect] that backend selection
> doesn't depend on which domain the frontend lives in)?

backend selection depends on what drivers are available in the backend
domain, not the frontend domain.

libxl will try blktap(2) first and fallback to qdisk if blktap is not
present. The issue George is seeing is that qdisk can sometimes exercise
AIO bugs which cause host crashes. The fix is to try harder to use
blktap when it is really available by ensuring it gets loaded.

> Finally, loading "blktap" here is the right thing for pvops, but
> wrong for legacy/forward ported kernels - blktap2 would be
> the right module name there afaict. Perhaps, if this really is to
> go in (temporarily), loading an alias (devname: or xen-backend:,
> though the latter apears to be missing from the pvops driver)
> would be better here?

There is no blktap driver at all in mainline pvops, which is part of the
problem and the reason for falling back to qdisk. Which pvops driver do
you mean? To confuse matters there is a DKMS thing floating around which
works against modern kernels too.

Perhaps the right answer is (roughly) "modprobe blktap2 || modprobe
blktap"?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:34:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:34:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZgb-0006s0-Cy; Wed, 16 May 2012 08:34:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUZgZ-0006rv-Gd
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 08:34:19 +0000
Received: from [193.109.254.147:21488] by server-5.bemta-14.messagelabs.com id
	4C/F6-30733-A8663BF4; Wed, 16 May 2012 08:34:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337157257!4354796!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31022 invoked from network); 16 May 2012 08:34:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:34:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12497567"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 08:34:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 09:34:01 +0100
Message-ID: <1337157240.27824.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 09:34:00 +0100
In-Reply-To: <osstest-12889-mainreport@xen.org>
References: <osstest-12889-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	George.Dunlap@citrix.com
Subject: [Xen-devel] "xl pci-list-assignable" command not implemented (Was:
 Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 08:12 +0100, xen.org wrote:
> flight 12889 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12889/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884

        2012-05-16 01:24:41 Z toolstack xl
        2012-05-16 01:24:41 Z executing ssh ... root@10.80.249.149 xl pci-list-assignable
        command not implemented
        
I should have anticipated this before committing this change. :-/

I guess we could make the test harness detect which to use, or perhaps
we should just put in a hidden alias command?

Ian.

>  test-i386-i386-xl             9 guest-start               fail REGR. vs. 12884
>  test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876
> 
> Regressions which are regarded as allowable (not blocking):
>  test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884
> 
> Tests which did not succeed, but are not blocking:
>  test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
>  test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
>  test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
>  test-amd64-amd64-win         16 leak-check/check             fail   never pass
>  test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
>  test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
>  test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
>  test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
>  test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
>  test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
>  test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
>  test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
>  test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
>  test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
>  test-amd64-i386-win          16 leak-check/check             fail   never pass
>  test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
>  test-i386-i386-xl-win        13 guest-stop                   fail   never pass
>  test-i386-i386-win           16 leak-check/check             fail   never pass
> 
> version targeted for testing:
>  xen                  612a24c8c4f9
> baseline version:
>  xen                  f8279258e3c9
> 
> jobs:
>  build-amd64                                                  pass    
>  build-i386                                                   pass    
>  build-amd64-oldkern                                          pass    
>  build-i386-oldkern                                           pass    
>  build-amd64-pvops                                            pass    
>  build-i386-pvops                                             pass    
>  test-amd64-amd64-xl                                          pass    
>  test-amd64-i386-xl                                           pass    
>  test-i386-i386-xl                                            fail    
>  test-amd64-i386-rhel6hvm-amd                                 fail    
>  test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
>  test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
>  test-amd64-amd64-xl-win7-amd64                               fail    
>  test-amd64-i386-xl-win7-amd64                                fail    
>  test-amd64-i386-xl-credit2                                   pass    
>  test-amd64-amd64-xl-pcipt-intel                              fail    
>  test-amd64-i386-rhel6hvm-intel                               fail    
>  test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
>  test-amd64-i386-xl-multivcpu                                 pass    
>  test-amd64-amd64-pair                                        pass    
>  test-amd64-i386-pair                                         pass    
>  test-i386-i386-pair                                          pass    
>  test-amd64-amd64-xl-sedf-pin                                 pass    
>  test-amd64-amd64-pv                                          pass    
>  test-amd64-i386-pv                                           pass    
>  test-i386-i386-pv                                            pass    
>  test-amd64-amd64-xl-sedf                                     pass    
>  test-amd64-i386-win-vcpus1                                   fail    
>  test-amd64-i386-xl-win-vcpus1                                fail    
>  test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
>  test-amd64-amd64-win                                         fail    
>  test-amd64-i386-win                                          fail    
>  test-i386-i386-win                                           fail    
>  test-amd64-amd64-xl-win                                      fail    
>  test-i386-i386-xl-win                                        fail    
>  test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
>  test-i386-i386-xl-qemuu-winxpsp3                             fail    
>  test-amd64-i386-xend-winxpsp3                                fail    
>  test-amd64-amd64-xl-winxpsp3                                 fail    
>  test-i386-i386-xl-winxpsp3                                   fail    
> 
> 
> ------------------------------------------------------------
> sg-report-flight on woking.cam.xci-test.com
> logs: /home/xc_osstest/logs
> images: /home/xc_osstest/images
> 
> Logs, config files, etc. are available at
>     http://www.chiark.greenend.org.uk/~xensrcts/logs
> 
> Test harness code can be found at
>     http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary
> 
> 
> Not pushing.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:34:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:34:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZgb-0006s0-Cy; Wed, 16 May 2012 08:34:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUZgZ-0006rv-Gd
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 08:34:19 +0000
Received: from [193.109.254.147:21488] by server-5.bemta-14.messagelabs.com id
	4C/F6-30733-A8663BF4; Wed, 16 May 2012 08:34:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337157257!4354796!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31022 invoked from network); 16 May 2012 08:34:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 08:34:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12497567"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 08:34:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 09:34:01 +0100
Message-ID: <1337157240.27824.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 09:34:00 +0100
In-Reply-To: <osstest-12889-mainreport@xen.org>
References: <osstest-12889-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	George.Dunlap@citrix.com
Subject: [Xen-devel] "xl pci-list-assignable" command not implemented (Was:
 Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 08:12 +0100, xen.org wrote:
> flight 12889 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12889/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884

        2012-05-16 01:24:41 Z toolstack xl
        2012-05-16 01:24:41 Z executing ssh ... root@10.80.249.149 xl pci-list-assignable
        command not implemented
        
I should have anticipated this before committing this change. :-/

I guess we could make the test harness detect which to use, or perhaps
we should just put in a hidden alias command?

Ian.

>  test-i386-i386-xl             9 guest-start               fail REGR. vs. 12884
>  test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876
> 
> Regressions which are regarded as allowable (not blocking):
>  test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884
> 
> Tests which did not succeed, but are not blocking:
>  test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
>  test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
>  test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
>  test-amd64-amd64-win         16 leak-check/check             fail   never pass
>  test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
>  test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
>  test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
>  test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
>  test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
>  test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
>  test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
>  test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
>  test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
>  test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
>  test-amd64-i386-win          16 leak-check/check             fail   never pass
>  test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
>  test-i386-i386-xl-win        13 guest-stop                   fail   never pass
>  test-i386-i386-win           16 leak-check/check             fail   never pass
> 
> version targeted for testing:
>  xen                  612a24c8c4f9
> baseline version:
>  xen                  f8279258e3c9
> 
> jobs:
>  build-amd64                                                  pass    
>  build-i386                                                   pass    
>  build-amd64-oldkern                                          pass    
>  build-i386-oldkern                                           pass    
>  build-amd64-pvops                                            pass    
>  build-i386-pvops                                             pass    
>  test-amd64-amd64-xl                                          pass    
>  test-amd64-i386-xl                                           pass    
>  test-i386-i386-xl                                            fail    
>  test-amd64-i386-rhel6hvm-amd                                 fail    
>  test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
>  test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
>  test-amd64-amd64-xl-win7-amd64                               fail    
>  test-amd64-i386-xl-win7-amd64                                fail    
>  test-amd64-i386-xl-credit2                                   pass    
>  test-amd64-amd64-xl-pcipt-intel                              fail    
>  test-amd64-i386-rhel6hvm-intel                               fail    
>  test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
>  test-amd64-i386-xl-multivcpu                                 pass    
>  test-amd64-amd64-pair                                        pass    
>  test-amd64-i386-pair                                         pass    
>  test-i386-i386-pair                                          pass    
>  test-amd64-amd64-xl-sedf-pin                                 pass    
>  test-amd64-amd64-pv                                          pass    
>  test-amd64-i386-pv                                           pass    
>  test-i386-i386-pv                                            pass    
>  test-amd64-amd64-xl-sedf                                     pass    
>  test-amd64-i386-win-vcpus1                                   fail    
>  test-amd64-i386-xl-win-vcpus1                                fail    
>  test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
>  test-amd64-amd64-win                                         fail    
>  test-amd64-i386-win                                          fail    
>  test-i386-i386-win                                           fail    
>  test-amd64-amd64-xl-win                                      fail    
>  test-i386-i386-xl-win                                        fail    
>  test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
>  test-i386-i386-xl-qemuu-winxpsp3                             fail    
>  test-amd64-i386-xend-winxpsp3                                fail    
>  test-amd64-amd64-xl-winxpsp3                                 fail    
>  test-i386-i386-xl-winxpsp3                                   fail    
> 
> 
> ------------------------------------------------------------
> sg-report-flight on woking.cam.xci-test.com
> logs: /home/xc_osstest/logs
> images: /home/xc_osstest/images
> 
> Logs, config files, etc. are available at
>     http://www.chiark.greenend.org.uk/~xensrcts/logs
> 
> Test harness code can be found at
>     http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary
> 
> 
> Not pushing.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:43:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:43:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZp6-00074W-Hg; Wed, 16 May 2012 08:43:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pbonzini@redhat.com>) id 1SUZp5-00074R-6i
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:43:07 +0000
Received: from [85.158.138.51:8376] by server-12.bemta-3.messagelabs.com id
	DE/ED-29760-A9863BF4; Wed, 16 May 2012 08:43:06 +0000
X-Env-Sender: pbonzini@redhat.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337157784!27369729!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI1MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10877 invoked from network); 16 May 2012 08:43:05 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-11.tower-174.messagelabs.com with SMTP;
	16 May 2012 08:43:05 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4G8h0M0030856
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 04:43:00 -0400
Received: from yakj.usersys.redhat.com (ovpn-112-22.ams2.redhat.com
	[10.36.112.22])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4G8guE3007793; Wed, 16 May 2012 04:42:57 -0400
Message-ID: <4FB36890.3090301@redhat.com>
Date: Wed, 16 May 2012 10:42:56 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "Michael S. Tsirkin" <mst@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com>
In-Reply-To: <20120516081341.GB3183@redhat.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
>> On Xen the PV drivers can ask the firmware to surprise-remove the
>> emulated NICs.
> 
> So driver tells firmware (meaning acpi? how?) that it's ok
> to do surprize removal?

It writes something to some I/O port, and then QEMU surprise-removes the
NICs.

>> Of course it has to do it early enough so that the guest
>> doesn't crash.
> 
> What does early enough mean and how do we ensure that?

Early enough means that the I/O port is written very early in the boot
process, even before the PCI bus is scanned by the OS.

You don't ensure it, it's up to the OS.  The OS knows whether its
drivers can cope properly with surprise removal.  If they can, in
principle it could write the magic value whenever it wants to.

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:43:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:43:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZp6-00074W-Hg; Wed, 16 May 2012 08:43:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pbonzini@redhat.com>) id 1SUZp5-00074R-6i
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:43:07 +0000
Received: from [85.158.138.51:8376] by server-12.bemta-3.messagelabs.com id
	DE/ED-29760-A9863BF4; Wed, 16 May 2012 08:43:06 +0000
X-Env-Sender: pbonzini@redhat.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337157784!27369729!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI1MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10877 invoked from network); 16 May 2012 08:43:05 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-11.tower-174.messagelabs.com with SMTP;
	16 May 2012 08:43:05 -0000
Received: from int-mx11.intmail.prod.int.phx2.redhat.com
	(int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4G8h0M0030856
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 04:43:00 -0400
Received: from yakj.usersys.redhat.com (ovpn-112-22.ams2.redhat.com
	[10.36.112.22])
	by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4G8guE3007793; Wed, 16 May 2012 04:42:57 -0400
Message-ID: <4FB36890.3090301@redhat.com>
Date: Wed, 16 May 2012 10:42:56 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "Michael S. Tsirkin" <mst@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com>
In-Reply-To: <20120516081341.GB3183@redhat.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
>> On Xen the PV drivers can ask the firmware to surprise-remove the
>> emulated NICs.
> 
> So driver tells firmware (meaning acpi? how?) that it's ok
> to do surprize removal?

It writes something to some I/O port, and then QEMU surprise-removes the
NICs.

>> Of course it has to do it early enough so that the guest
>> doesn't crash.
> 
> What does early enough mean and how do we ensure that?

Early enough means that the I/O port is written very early in the boot
process, even before the PCI bus is scanned by the OS.

You don't ensure it, it's up to the OS.  The OS knows whether its
drivers can cope properly with surprise removal.  If they can, in
principle it could write the magic value whenever it wants to.

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:53:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZz2-0007E0-NP; Wed, 16 May 2012 08:53:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUZz1-0007Dv-Dy
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:53:23 +0000
Received: from [85.158.143.35:21479] by server-1.bemta-4.messagelabs.com id
	3A/07-20925-20B63BF4; Wed, 16 May 2012 08:53:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337158401!4723084!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2NzQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13004 invoked from network); 16 May 2012 08:53:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 08:53:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 09:53:21 +0100
Message-Id: <4FB3873A0200007800084028@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 09:53:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
	<4FB28709.9080001@eu.citrix.com>
	<4FB377A10200007800083FFE@nat28.tlf.novell.com>
	<1337156743.27824.6.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337156743.27824.6.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 10:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Wed, 2012-05-16 at 08:47 +0100, Jan Beulich wrote:
>> Finally, loading "blktap" here is the right thing for pvops, but
>> wrong for legacy/forward ported kernels - blktap2 would be
>> the right module name there afaict. Perhaps, if this really is to
>> go in (temporarily), loading an alias (devname: or xen-backend:,
>> though the latter apears to be missing from the pvops driver)
>> would be better here?
> 
> There is no blktap driver at all in mainline pvops, which is part of the
> problem and the reason for falling back to qdisk. Which pvops driver do
> you mean?

The one in Jeremy's tree (on branch xen/next-2.6.32), which is
easily forward ported to current kernels.

> Perhaps the right answer is (roughly) "modprobe blktap2 || modprobe
> blktap"?

modprobe devname:xen/blktap-2/control

or

modprobe xen-backend:tap2

(but I now realize the former is a 2.6.35 addition [or really a
counterpart of devname: aliases added elsewhere in that
release], and the latter one done in our patches for 3.1, where
other xen-backend: aliases also got added).

So yes, looks like the only half-way compatible way would be
what you suggest (perhaps extended to redirect stderr to
/dev/null).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:53:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUZz2-0007E0-NP; Wed, 16 May 2012 08:53:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUZz1-0007Dv-Dy
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:53:23 +0000
Received: from [85.158.143.35:21479] by server-1.bemta-4.messagelabs.com id
	3A/07-20925-20B63BF4; Wed, 16 May 2012 08:53:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337158401!4723084!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2NzQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13004 invoked from network); 16 May 2012 08:53:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 08:53:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 09:53:21 +0100
Message-Id: <4FB3873A0200007800084028@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 09:53:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<4FB2A2320200007800083EB4@nat28.tlf.novell.com>
	<4FB28709.9080001@eu.citrix.com>
	<4FB377A10200007800083FFE@nat28.tlf.novell.com>
	<1337156743.27824.6.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337156743.27824.6.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 10:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Wed, 2012-05-16 at 08:47 +0100, Jan Beulich wrote:
>> Finally, loading "blktap" here is the right thing for pvops, but
>> wrong for legacy/forward ported kernels - blktap2 would be
>> the right module name there afaict. Perhaps, if this really is to
>> go in (temporarily), loading an alias (devname: or xen-backend:,
>> though the latter apears to be missing from the pvops driver)
>> would be better here?
> 
> There is no blktap driver at all in mainline pvops, which is part of the
> problem and the reason for falling back to qdisk. Which pvops driver do
> you mean?

The one in Jeremy's tree (on branch xen/next-2.6.32), which is
easily forward ported to current kernels.

> Perhaps the right answer is (roughly) "modprobe blktap2 || modprobe
> blktap"?

modprobe devname:xen/blktap-2/control

or

modprobe xen-backend:tap2

(but I now realize the former is a 2.6.35 addition [or really a
counterpart of devname: aliases added elsewhere in that
release], and the latter one done in our patches for 3.1, where
other xen-backend: aliases also got added).

So yes, looks like the only half-way compatible way would be
what you suggest (perhaps extended to redirect stderr to
/dev/null).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:58:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUa3u-0007ML-Fu; Wed, 16 May 2012 08:58:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUa3s-0007MF-8M
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:58:24 +0000
Received: from [85.158.143.35:27340] by server-2.bemta-4.messagelabs.com id
	A4/6D-12211-E2C63BF4; Wed, 16 May 2012 08:58:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337158701!15738296!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2NzQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11297 invoked from network); 16 May 2012 08:58:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 08:58:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 09:58:21 +0100
Message-Id: <4FB3886A020000780008402F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 09:58:50 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337156497.27824.2.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
>> On 15/05/12 17:16, Jan Beulich wrote:
>> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> >> Older kernels, such as those found in Debian Squeeze:
>> >> * Have bugs in handling of AIO into foreign pages
>> >> * Have blktap modules, which will cause qemu not to use AIO, but
>> >> which are not loaded on boot.
>> >>
>> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
>> >> use AIO will work properly on those kernels.
>> >>
>> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>> >>
>> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>> >> @@ -59,6 +59,7 @@ do_start () {
>> >>   	modprobe evtchn 2>/dev/null
>> >>   	modprobe gntdev 2>/dev/null
>> >>   	modprobe xen-acpi-processor 2>/dev/null
>> >> +	modprobe blktap 2>/dev/null
>> > Can we stop manually loading all kinds of drivers here? I was
>> > glad this went away with the switch to xencommons, and
>> > now this is coming back. Drivers definitely needed in all cases
>> > are acceptable imo, but backend drivers should be loaded as
>> > backends get created by the tools (similarly frontend drivers
>> > for the local attach case, though they should get auto-loaded
>> > normally anyway).
>> I tend to agree with you; I did it this way because that's what was 
>> suggested to me.  But I don't at the moment know enough about the 
>> backend creation stuff in xl / qemu to DTRT here.
> 
> The issue preventing autoloading here is that blktap is effectively
> optional and libxl tries to do a best effort search for a usable disk
> backend. If blktap is loaded the libxl will choose it, otherwise it will
> fallback to qdisk. The problem is that if blktap is available but not
> loaded then that is something which libxl cannot detect, I'm not sure
> how we could go about fixing that.

Why not simply run a (series of) modprobe(s) from there? Or is
that precluded by not being OS-neutral?

The same would obviously apply to other backends (netback most
notably).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 08:58:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 08:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUa3u-0007ML-Fu; Wed, 16 May 2012 08:58:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUa3s-0007MF-8M
	for xen-devel@lists.xen.org; Wed, 16 May 2012 08:58:24 +0000
Received: from [85.158.143.35:27340] by server-2.bemta-4.messagelabs.com id
	A4/6D-12211-E2C63BF4; Wed, 16 May 2012 08:58:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337158701!15738296!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2NzQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11297 invoked from network); 16 May 2012 08:58:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 08:58:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 09:58:21 +0100
Message-Id: <4FB3886A020000780008402F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 09:58:50 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337156497.27824.2.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
>> On 15/05/12 17:16, Jan Beulich wrote:
>> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> >> Older kernels, such as those found in Debian Squeeze:
>> >> * Have bugs in handling of AIO into foreign pages
>> >> * Have blktap modules, which will cause qemu not to use AIO, but
>> >> which are not loaded on boot.
>> >>
>> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
>> >> use AIO will work properly on those kernels.
>> >>
>> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>> >>
>> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>> >> @@ -59,6 +59,7 @@ do_start () {
>> >>   	modprobe evtchn 2>/dev/null
>> >>   	modprobe gntdev 2>/dev/null
>> >>   	modprobe xen-acpi-processor 2>/dev/null
>> >> +	modprobe blktap 2>/dev/null
>> > Can we stop manually loading all kinds of drivers here? I was
>> > glad this went away with the switch to xencommons, and
>> > now this is coming back. Drivers definitely needed in all cases
>> > are acceptable imo, but backend drivers should be loaded as
>> > backends get created by the tools (similarly frontend drivers
>> > for the local attach case, though they should get auto-loaded
>> > normally anyway).
>> I tend to agree with you; I did it this way because that's what was 
>> suggested to me.  But I don't at the moment know enough about the 
>> backend creation stuff in xl / qemu to DTRT here.
> 
> The issue preventing autoloading here is that blktap is effectively
> optional and libxl tries to do a best effort search for a usable disk
> backend. If blktap is loaded the libxl will choose it, otherwise it will
> fallback to qdisk. The problem is that if blktap is available but not
> loaded then that is something which libxl cannot detect, I'm not sure
> how we could go about fixing that.

Why not simply run a (series of) modprobe(s) from there? Or is
that precluded by not being OS-neutral?

The same would obviously apply to other backends (netback most
notably).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:16:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUaLG-0007aV-4q; Wed, 16 May 2012 09:16:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUaLE-0007aQ-Ng
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:16:20 +0000
Received: from [85.158.143.99:52718] by server-2.bemta-4.messagelabs.com id
	2E/2B-12211-46073BF4; Wed, 16 May 2012 09:16:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337159779!28229733!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3019 invoked from network); 16 May 2012 09:16:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 09:16:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12498742"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 09:16:18 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:16:18 +0100
Message-ID: <1337159777.27824.39.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 16 May 2012 10:16:17 +0100
In-Reply-To: <4FB3886A020000780008402F@nat28.tlf.novell.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 09:58 +0100, Jan Beulich wrote:
> >>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
> >> On 15/05/12 17:16, Jan Beulich wrote:
> >> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >> >> Older kernels, such as those found in Debian Squeeze:
> >> >> * Have bugs in handling of AIO into foreign pages
> >> >> * Have blktap modules, which will cause qemu not to use AIO, but
> >> >> which are not loaded on boot.
> >> >>
> >> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
> >> >> use AIO will work properly on those kernels.
> >> >>
> >> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >> >>
> >> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> >> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> >> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> >> >> @@ -59,6 +59,7 @@ do_start () {
> >> >>   	modprobe evtchn 2>/dev/null
> >> >>   	modprobe gntdev 2>/dev/null
> >> >>   	modprobe xen-acpi-processor 2>/dev/null
> >> >> +	modprobe blktap 2>/dev/null
> >> > Can we stop manually loading all kinds of drivers here? I was
> >> > glad this went away with the switch to xencommons, and
> >> > now this is coming back. Drivers definitely needed in all cases
> >> > are acceptable imo, but backend drivers should be loaded as
> >> > backends get created by the tools (similarly frontend drivers
> >> > for the local attach case, though they should get auto-loaded
> >> > normally anyway).
> >> I tend to agree with you; I did it this way because that's what was 
> >> suggested to me.  But I don't at the moment know enough about the 
> >> backend creation stuff in xl / qemu to DTRT here.
> > 
> > The issue preventing autoloading here is that blktap is effectively
> > optional and libxl tries to do a best effort search for a usable disk
> > backend. If blktap is loaded the libxl will choose it, otherwise it will
> > fallback to qdisk. The problem is that if blktap is available but not
> > loaded then that is something which libxl cannot detect, I'm not sure
> > how we could go about fixing that.
> 
> Why not simply run a (series of) modprobe(s) from there? Or is
> that precluded by not being OS-neutral?

An interesting idea.

The blktap detection code is necessarily OS-specific. I previously
discounted it because of the possibility of a race between the
completion of modprobe and the driver actually registering enough for
detection to succeed. Maybe I was too pessimistic or someone has a
bright idea?

> The same would obviously apply to other backends (netback most
> notably).

We use netback unconditionally (there are no alternatives, at least not
ones we want to use (does qnet exist? not sure)) so I think the normal
driver autoloading ought to work there -- at least on kernels where it
exists, it was a relatively recent addition IIRC.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:16:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUaLG-0007aV-4q; Wed, 16 May 2012 09:16:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUaLE-0007aQ-Ng
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:16:20 +0000
Received: from [85.158.143.99:52718] by server-2.bemta-4.messagelabs.com id
	2E/2B-12211-46073BF4; Wed, 16 May 2012 09:16:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337159779!28229733!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTEwOQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3019 invoked from network); 16 May 2012 09:16:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 09:16:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12498742"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 09:16:18 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:16:18 +0100
Message-ID: <1337159777.27824.39.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 16 May 2012 10:16:17 +0100
In-Reply-To: <4FB3886A020000780008402F@nat28.tlf.novell.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 09:58 +0100, Jan Beulich wrote:
> >>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
> >> On 15/05/12 17:16, Jan Beulich wrote:
> >> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >> >> Older kernels, such as those found in Debian Squeeze:
> >> >> * Have bugs in handling of AIO into foreign pages
> >> >> * Have blktap modules, which will cause qemu not to use AIO, but
> >> >> which are not loaded on boot.
> >> >>
> >> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
> >> >> use AIO will work properly on those kernels.
> >> >>
> >> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >> >>
> >> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> >> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> >> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> >> >> @@ -59,6 +59,7 @@ do_start () {
> >> >>   	modprobe evtchn 2>/dev/null
> >> >>   	modprobe gntdev 2>/dev/null
> >> >>   	modprobe xen-acpi-processor 2>/dev/null
> >> >> +	modprobe blktap 2>/dev/null
> >> > Can we stop manually loading all kinds of drivers here? I was
> >> > glad this went away with the switch to xencommons, and
> >> > now this is coming back. Drivers definitely needed in all cases
> >> > are acceptable imo, but backend drivers should be loaded as
> >> > backends get created by the tools (similarly frontend drivers
> >> > for the local attach case, though they should get auto-loaded
> >> > normally anyway).
> >> I tend to agree with you; I did it this way because that's what was 
> >> suggested to me.  But I don't at the moment know enough about the 
> >> backend creation stuff in xl / qemu to DTRT here.
> > 
> > The issue preventing autoloading here is that blktap is effectively
> > optional and libxl tries to do a best effort search for a usable disk
> > backend. If blktap is loaded the libxl will choose it, otherwise it will
> > fallback to qdisk. The problem is that if blktap is available but not
> > loaded then that is something which libxl cannot detect, I'm not sure
> > how we could go about fixing that.
> 
> Why not simply run a (series of) modprobe(s) from there? Or is
> that precluded by not being OS-neutral?

An interesting idea.

The blktap detection code is necessarily OS-specific. I previously
discounted it because of the possibility of a race between the
completion of modprobe and the driver actually registering enough for
detection to succeed. Maybe I was too pessimistic or someone has a
bright idea?

> The same would obviously apply to other backends (netback most
> notably).

We use netback unconditionally (there are no alternatives, at least not
ones we want to use (does qnet exist? not sure)) so I think the normal
driver autoloading ought to work there -- at least on kernels where it
exists, it was a relatively recent addition IIRC.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:36:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUadt-0007sr-86; Wed, 16 May 2012 09:35:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUads-0007sm-Bi
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:35:36 +0000
Received: from [85.158.143.99:8537] by server-3.bemta-4.messagelabs.com id
	60/CC-05853-7E473BF4; Wed, 16 May 2012 09:35:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337160932!21227856!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23670 invoked from network); 16 May 2012 09:35:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 09:35:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12499286"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 09:35:06 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:35:06 +0100
Message-ID: <1337160904.27824.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: M A Young <m.a.young@durham.ac.uk>
Date: Wed, 16 May 2012 10:35:04 +0100
In-Reply-To: <alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 08:25 +0100, M A Young wrote:
> On Wed, 16 May 2012, M A Young wrote:
> 
> > Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are 
> > very big as it reads them into memory before writing them out again to 
> > temporary files (these can legitimately be big for example the initrd.img 
> > file in a Fedora 16 install is around 130MB ).
> >
> > This patch allows these files to be copied in one megabyte pieces, and if it 
> > sees any write problems it delets the files and exits. It also only reads up 
> > to the first megabyte of configurations files for grub etc. to avoid problems 
> > here as well (as it is a text file it should actually be much smaller).
> >
> > This issue was reported by Xinli Niu in the Fedora bug report
> > https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference 
> > CVE-2012-2625 .
> 
> I realized the first patch was flawed as I was potentially using a file 
> descriptor after I closed it. This is an untested correction.

I think you might want a couple of closes on datafile in here. Otherwise
it looks good to me (by inspection, I've not run it either).

Thanks!

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:36:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUadt-0007sr-86; Wed, 16 May 2012 09:35:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUads-0007sm-Bi
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:35:36 +0000
Received: from [85.158.143.99:8537] by server-3.bemta-4.messagelabs.com id
	60/CC-05853-7E473BF4; Wed, 16 May 2012 09:35:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337160932!21227856!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23670 invoked from network); 16 May 2012 09:35:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 09:35:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12499286"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 09:35:06 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:35:06 +0100
Message-ID: <1337160904.27824.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: M A Young <m.a.young@durham.ac.uk>
Date: Wed, 16 May 2012 10:35:04 +0100
In-Reply-To: <alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 08:25 +0100, M A Young wrote:
> On Wed, 16 May 2012, M A Young wrote:
> 
> > Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are 
> > very big as it reads them into memory before writing them out again to 
> > temporary files (these can legitimately be big for example the initrd.img 
> > file in a Fedora 16 install is around 130MB ).
> >
> > This patch allows these files to be copied in one megabyte pieces, and if it 
> > sees any write problems it delets the files and exits. It also only reads up 
> > to the first megabyte of configurations files for grub etc. to avoid problems 
> > here as well (as it is a text file it should actually be much smaller).
> >
> > This issue was reported by Xinli Niu in the Fedora bug report
> > https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference 
> > CVE-2012-2625 .
> 
> I realized the first patch was flawed as I was potentially using a file 
> descriptor after I closed it. This is an untested correction.

I think you might want a couple of closes on datafile in here. Otherwise
it looks good to me (by inspection, I've not run it either).

Thanks!

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:47:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:47:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUaoZ-00082E-G0; Wed, 16 May 2012 09:46:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SUaoX-000829-Ee
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:46:37 +0000
Received: from [85.158.138.51:19916] by server-12.bemta-3.messagelabs.com id
	84/43-29760-C7773BF4; Wed, 16 May 2012 09:46:36 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337161595!8704577!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MjY4Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3991 invoked from network); 16 May 2012 09:46:36 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 09:46:36 -0000
Received: from smtphost3.dur.ac.uk (smtphost3.dur.ac.uk [129.234.252.3])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G9jYuf003320;
	Wed, 16 May 2012 10:45:38 +0100
Received: from algedi.dur.ac.uk (algedi.dur.ac.uk [129.234.2.28])
	by smtphost3.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G9jJeR026093
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 16 May 2012 10:45:20 +0100
Received: from algedi.dur.ac.uk (localhost [127.0.0.1])
	by algedi.dur.ac.uk (8.14.4+Sun/8.11.1) with ESMTP id q4G9jJ5R026633;
	Wed, 16 May 2012 10:45:19 +0100 (BST)
Received: from localhost (dcl0may@localhost)
	by algedi.dur.ac.uk (8.14.4+Sun/8.14.4/Submit) with ESMTP id
	q4G9jJ87026630; Wed, 16 May 2012 10:45:19 +0100 (BST)
Date: Wed, 16 May 2012 10:45:19 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337160904.27824.43.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.GSO.2.00.1205161043100.26467@algedi.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4G9jYuf003320
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Ian Campbell wrote:

> On Wed, 2012-05-16 at 08:25 +0100, M A Young wrote:
>> On Wed, 16 May 2012, M A Young wrote:
>>
>>> Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are
>>> very big as it reads them into memory before writing them out again to
>>> temporary files (these can legitimately be big for example the initrd.img
>>> file in a Fedora 16 install is around 130MB ).
>>>
>>> This patch allows these files to be copied in one megabyte pieces, and if it
>>> sees any write problems it delets the files and exits. It also only reads up
>>> to the first megabyte of configurations files for grub etc. to avoid problems
>>> here as well (as it is a text file it should actually be much smaller).
>>>
>>> This issue was reported by Xinli Niu in the Fedora bug report
>>> https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference
>>> CVE-2012-2625 .
>>
>> I realized the first patch was flawed as I was potentially using a file
>> descriptor after I closed it. This is an untested correction.
>
> I think you might want a couple of closes on datafile in here. Otherwise
> it looks good to me (by inspection, I've not run it either).

Yes, that sounds like a good idea. I did test the first version of the 
patch for basic functionality, though not how well it would handle 
problem situations.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:47:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:47:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUaoZ-00082E-G0; Wed, 16 May 2012 09:46:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SUaoX-000829-Ee
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:46:37 +0000
Received: from [85.158.138.51:19916] by server-12.bemta-3.messagelabs.com id
	84/43-29760-C7773BF4; Wed, 16 May 2012 09:46:36 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337161595!8704577!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MjY4Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3991 invoked from network); 16 May 2012 09:46:36 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 09:46:36 -0000
Received: from smtphost3.dur.ac.uk (smtphost3.dur.ac.uk [129.234.252.3])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G9jYuf003320;
	Wed, 16 May 2012 10:45:38 +0100
Received: from algedi.dur.ac.uk (algedi.dur.ac.uk [129.234.2.28])
	by smtphost3.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4G9jJeR026093
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 16 May 2012 10:45:20 +0100
Received: from algedi.dur.ac.uk (localhost [127.0.0.1])
	by algedi.dur.ac.uk (8.14.4+Sun/8.11.1) with ESMTP id q4G9jJ5R026633;
	Wed, 16 May 2012 10:45:19 +0100 (BST)
Received: from localhost (dcl0may@localhost)
	by algedi.dur.ac.uk (8.14.4+Sun/8.14.4/Submit) with ESMTP id
	q4G9jJ87026630; Wed, 16 May 2012 10:45:19 +0100 (BST)
Date: Wed, 16 May 2012 10:45:19 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337160904.27824.43.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.GSO.2.00.1205161043100.26467@algedi.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4G9jYuf003320
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Ian Campbell wrote:

> On Wed, 2012-05-16 at 08:25 +0100, M A Young wrote:
>> On Wed, 16 May 2012, M A Young wrote:
>>
>>> Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are
>>> very big as it reads them into memory before writing them out again to
>>> temporary files (these can legitimately be big for example the initrd.img
>>> file in a Fedora 16 install is around 130MB ).
>>>
>>> This patch allows these files to be copied in one megabyte pieces, and if it
>>> sees any write problems it delets the files and exits. It also only reads up
>>> to the first megabyte of configurations files for grub etc. to avoid problems
>>> here as well (as it is a text file it should actually be much smaller).
>>>
>>> This issue was reported by Xinli Niu in the Fedora bug report
>>> https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference
>>> CVE-2012-2625 .
>>
>> I realized the first patch was flawed as I was potentially using a file
>> descriptor after I closed it. This is an untested correction.
>
> I think you might want a couple of closes on datafile in here. Otherwise
> it looks good to me (by inspection, I've not run it either).

Yes, that sounds like a good idea. I did test the first version of the 
patch for basic functionality, though not how well it would handle 
problem situations.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:51:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:51:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUasW-0008DL-KX; Wed, 16 May 2012 09:50:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUasV-0008D5-Kl
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:50:43 +0000
Received: from [85.158.139.83:59816] by server-10.bemta-5.messagelabs.com id
	89/86-08260-17873BF4; Wed, 16 May 2012 09:50:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337161841!17409581!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10117 invoked from network); 16 May 2012 09:50:41 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 09:50:41 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 10:50:41 +0100
Message-Id: <4FB394AE0200007800084098@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 10:51:10 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337159777.27824.39.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 11:16, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Wed, 2012-05-16 at 09:58 +0100, Jan Beulich wrote:
>> >>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
>> >> On 15/05/12 17:16, Jan Beulich wrote:
>> >> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> >> >> Older kernels, such as those found in Debian Squeeze:
>> >> >> * Have bugs in handling of AIO into foreign pages
>> >> >> * Have blktap modules, which will cause qemu not to use AIO, but
>> >> >> which are not loaded on boot.
>> >> >>
>> >> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
>> >> >> use AIO will work properly on those kernels.
>> >> >>
>> >> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>> >> >>
>> >> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>> >> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>> >> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>> >> >> @@ -59,6 +59,7 @@ do_start () {
>> >> >>   	modprobe evtchn 2>/dev/null
>> >> >>   	modprobe gntdev 2>/dev/null
>> >> >>   	modprobe xen-acpi-processor 2>/dev/null
>> >> >> +	modprobe blktap 2>/dev/null
>> >> > Can we stop manually loading all kinds of drivers here? I was
>> >> > glad this went away with the switch to xencommons, and
>> >> > now this is coming back. Drivers definitely needed in all cases
>> >> > are acceptable imo, but backend drivers should be loaded as
>> >> > backends get created by the tools (similarly frontend drivers
>> >> > for the local attach case, though they should get auto-loaded
>> >> > normally anyway).
>> >> I tend to agree with you; I did it this way because that's what was 
>> >> suggested to me.  But I don't at the moment know enough about the 
>> >> backend creation stuff in xl / qemu to DTRT here.
>> > 
>> > The issue preventing autoloading here is that blktap is effectively
>> > optional and libxl tries to do a best effort search for a usable disk
>> > backend. If blktap is loaded the libxl will choose it, otherwise it will
>> > fallback to qdisk. The problem is that if blktap is available but not
>> > loaded then that is something which libxl cannot detect, I'm not sure
>> > how we could go about fixing that.
>> 
>> Why not simply run a (series of) modprobe(s) from there? Or is
>> that precluded by not being OS-neutral?
> 
> An interesting idea.
> 
> The blktap detection code is necessarily OS-specific. I previously
> discounted it because of the possibility of a race between the
> completion of modprobe and the driver actually registering enough for
> detection to succeed. Maybe I was too pessimistic or someone has a
> bright idea?

modprobe only exits when the driver's init function completed,
at which point the driver can be expected to be in a usable state.

>> The same would obviously apply to other backends (netback most
>> notably).
> 
> We use netback unconditionally (there are no alternatives, at least not
> ones we want to use (does qnet exist? not sure)) so I think the normal
> driver autoloading ought to work there -- at least on kernels where it
> exists, it was a relatively recent addition IIRC.

It was a recent addition, and I wonder whether calling this
auto-loading really is the right term (unless I'm mis-understanding,
you're referring to the xen-backend: module aliases) - what would
trigger their loading? My current understanding of this it that it only
allows loading the drivers without referring to a hard-coded driver
module names.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:51:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:51:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUasW-0008DL-KX; Wed, 16 May 2012 09:50:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUasV-0008D5-Kl
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:50:43 +0000
Received: from [85.158.139.83:59816] by server-10.bemta-5.messagelabs.com id
	89/86-08260-17873BF4; Wed, 16 May 2012 09:50:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337161841!17409581!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10117 invoked from network); 16 May 2012 09:50:41 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 09:50:41 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 10:50:41 +0100
Message-Id: <4FB394AE0200007800084098@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 10:51:10 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337159777.27824.39.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 11:16, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Wed, 2012-05-16 at 09:58 +0100, Jan Beulich wrote:
>> >>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
>> >> On 15/05/12 17:16, Jan Beulich wrote:
>> >> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
>> >> >> Older kernels, such as those found in Debian Squeeze:
>> >> >> * Have bugs in handling of AIO into foreign pages
>> >> >> * Have blktap modules, which will cause qemu not to use AIO, but
>> >> >> which are not loaded on boot.
>> >> >>
>> >> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
>> >> >> use AIO will work properly on those kernels.
>> >> >>
>> >> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
>> >> >>
>> >> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
>> >> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
>> >> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
>> >> >> @@ -59,6 +59,7 @@ do_start () {
>> >> >>   	modprobe evtchn 2>/dev/null
>> >> >>   	modprobe gntdev 2>/dev/null
>> >> >>   	modprobe xen-acpi-processor 2>/dev/null
>> >> >> +	modprobe blktap 2>/dev/null
>> >> > Can we stop manually loading all kinds of drivers here? I was
>> >> > glad this went away with the switch to xencommons, and
>> >> > now this is coming back. Drivers definitely needed in all cases
>> >> > are acceptable imo, but backend drivers should be loaded as
>> >> > backends get created by the tools (similarly frontend drivers
>> >> > for the local attach case, though they should get auto-loaded
>> >> > normally anyway).
>> >> I tend to agree with you; I did it this way because that's what was 
>> >> suggested to me.  But I don't at the moment know enough about the 
>> >> backend creation stuff in xl / qemu to DTRT here.
>> > 
>> > The issue preventing autoloading here is that blktap is effectively
>> > optional and libxl tries to do a best effort search for a usable disk
>> > backend. If blktap is loaded the libxl will choose it, otherwise it will
>> > fallback to qdisk. The problem is that if blktap is available but not
>> > loaded then that is something which libxl cannot detect, I'm not sure
>> > how we could go about fixing that.
>> 
>> Why not simply run a (series of) modprobe(s) from there? Or is
>> that precluded by not being OS-neutral?
> 
> An interesting idea.
> 
> The blktap detection code is necessarily OS-specific. I previously
> discounted it because of the possibility of a race between the
> completion of modprobe and the driver actually registering enough for
> detection to succeed. Maybe I was too pessimistic or someone has a
> bright idea?

modprobe only exits when the driver's init function completed,
at which point the driver can be expected to be in a usable state.

>> The same would obviously apply to other backends (netback most
>> notably).
> 
> We use netback unconditionally (there are no alternatives, at least not
> ones we want to use (does qnet exist? not sure)) so I think the normal
> driver autoloading ought to work there -- at least on kernels where it
> exists, it was a relatively recent addition IIRC.

It was a recent addition, and I wonder whether calling this
auto-loading really is the right term (unless I'm mis-understanding,
you're referring to the xen-backend: module aliases) - what would
trigger their loading? My current understanding of this it that it only
allows loading the drivers without referring to a hard-coded driver
module names.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:57:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUayr-0000EH-Rf; Wed, 16 May 2012 09:57:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUayq-0000E6-Ec
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:57:16 +0000
Received: from [85.158.139.83:15927] by server-8.bemta-5.messagelabs.com id
	99/CF-26964-BF973BF4; Wed, 16 May 2012 09:57:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337162234!28599765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18606 invoked from network); 16 May 2012 09:57:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 09:57:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12499865"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 09:57:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:57:13 +0100
Message-ID: <1337162232.27824.55.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 16 May 2012 10:57:12 +0100
In-Reply-To: <4FB394AE0200007800084098@nat28.tlf.novell.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
	<4FB394AE0200007800084098@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 10:51 +0100, Jan Beulich wrote:
> >>> On 16.05.12 at 11:16, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Wed, 2012-05-16 at 09:58 +0100, Jan Beulich wrote:
> >> >>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
> >> >> On 15/05/12 17:16, Jan Beulich wrote:
> >> >> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >> >> >> Older kernels, such as those found in Debian Squeeze:
> >> >> >> * Have bugs in handling of AIO into foreign pages
> >> >> >> * Have blktap modules, which will cause qemu not to use AIO, but
> >> >> >> which are not loaded on boot.
> >> >> >>
> >> >> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
> >> >> >> use AIO will work properly on those kernels.
> >> >> >>
> >> >> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >> >> >>
> >> >> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> >> >> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> >> >> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> >> >> >> @@ -59,6 +59,7 @@ do_start () {
> >> >> >>   	modprobe evtchn 2>/dev/null
> >> >> >>   	modprobe gntdev 2>/dev/null
> >> >> >>   	modprobe xen-acpi-processor 2>/dev/null
> >> >> >> +	modprobe blktap 2>/dev/null
> >> >> > Can we stop manually loading all kinds of drivers here? I was
> >> >> > glad this went away with the switch to xencommons, and
> >> >> > now this is coming back. Drivers definitely needed in all cases
> >> >> > are acceptable imo, but backend drivers should be loaded as
> >> >> > backends get created by the tools (similarly frontend drivers
> >> >> > for the local attach case, though they should get auto-loaded
> >> >> > normally anyway).
> >> >> I tend to agree with you; I did it this way because that's what was 
> >> >> suggested to me.  But I don't at the moment know enough about the 
> >> >> backend creation stuff in xl / qemu to DTRT here.
> >> > 
> >> > The issue preventing autoloading here is that blktap is effectively
> >> > optional and libxl tries to do a best effort search for a usable disk
> >> > backend. If blktap is loaded the libxl will choose it, otherwise it will
> >> > fallback to qdisk. The problem is that if blktap is available but not
> >> > loaded then that is something which libxl cannot detect, I'm not sure
> >> > how we could go about fixing that.
> >> 
> >> Why not simply run a (series of) modprobe(s) from there? Or is
> >> that precluded by not being OS-neutral?
> > 
> > An interesting idea.
> > 
> > The blktap detection code is necessarily OS-specific. I previously
> > discounted it because of the possibility of a race between the
> > completion of modprobe and the driver actually registering enough for
> > detection to succeed. Maybe I was too pessimistic or someone has a
> > bright idea?
> 
> modprobe only exits when the driver's init function completed,
> at which point the driver can be expected to be in a usable state.

OK, so maybe that works then.

> >> The same would obviously apply to other backends (netback most
> >> notably).
> > 
> > We use netback unconditionally (there are no alternatives, at least not
> > ones we want to use (does qnet exist? not sure)) so I think the normal
> > driver autoloading ought to work there -- at least on kernels where it
> > exists, it was a relatively recent addition IIRC.
> 
> It was a recent addition, and I wonder whether calling this
> auto-loading really is the right term (unless I'm mis-understanding,
> you're referring to the xen-backend: module aliases) - what would
> trigger their loading? My current understanding of this it that it only
> allows loading the drivers without referring to a hard-coded driver
> module names.

My understanding was that creating a xenstore backend path would cause
the core generic xenstore backend code in the kernel to go "ah, I need a
driver for foo" (where foo is the backend name) and if one is not
already registered it will do the "modprobe foo" userspace event, which
the modaliases then cause to pickup the right kernel module.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 09:57:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 09:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUayr-0000EH-Rf; Wed, 16 May 2012 09:57:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUayq-0000E6-Ec
	for xen-devel@lists.xen.org; Wed, 16 May 2012 09:57:16 +0000
Received: from [85.158.139.83:15927] by server-8.bemta-5.messagelabs.com id
	99/CF-26964-BF973BF4; Wed, 16 May 2012 09:57:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337162234!28599765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18606 invoked from network); 16 May 2012 09:57:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 09:57:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12499865"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 09:57:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:57:13 +0100
Message-ID: <1337162232.27824.55.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Wed, 16 May 2012 10:57:12 +0100
In-Reply-To: <4FB394AE0200007800084098@nat28.tlf.novell.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
	<4FB394AE0200007800084098@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 10:51 +0100, Jan Beulich wrote:
> >>> On 16.05.12 at 11:16, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Wed, 2012-05-16 at 09:58 +0100, Jan Beulich wrote:
> >> >>> On 16.05.12 at 10:21, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Tue, 2012-05-15 at 17:21 +0100, George Dunlap wrote:
> >> >> On 15/05/12 17:16, Jan Beulich wrote:
> >> >> >>>> On 15.05.12 at 17:49, George Dunlap<george.dunlap@eu.citrix.com>  wrote:
> >> >> >> Older kernels, such as those found in Debian Squeeze:
> >> >> >> * Have bugs in handling of AIO into foreign pages
> >> >> >> * Have blktap modules, which will cause qemu not to use AIO, but
> >> >> >> which are not loaded on boot.
> >> >> >>
> >> >> >> Attempt to load blktap in xencommons, to make sure modern qemu's which
> >> >> >> use AIO will work properly on those kernels.
> >> >> >>
> >> >> >> Signed-off-by: George Dunlap<george.dunlap@eu.citrix.com>
> >> >> >>
> >> >> >> diff -r 99244350516a -r db614e92faf7 tools/hotplug/Linux/init.d/xencommons
> >> >> >> --- a/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:48:49 2012 +0100
> >> >> >> +++ b/tools/hotplug/Linux/init.d/xencommons	Tue May 15 16:49:32 2012 +0100
> >> >> >> @@ -59,6 +59,7 @@ do_start () {
> >> >> >>   	modprobe evtchn 2>/dev/null
> >> >> >>   	modprobe gntdev 2>/dev/null
> >> >> >>   	modprobe xen-acpi-processor 2>/dev/null
> >> >> >> +	modprobe blktap 2>/dev/null
> >> >> > Can we stop manually loading all kinds of drivers here? I was
> >> >> > glad this went away with the switch to xencommons, and
> >> >> > now this is coming back. Drivers definitely needed in all cases
> >> >> > are acceptable imo, but backend drivers should be loaded as
> >> >> > backends get created by the tools (similarly frontend drivers
> >> >> > for the local attach case, though they should get auto-loaded
> >> >> > normally anyway).
> >> >> I tend to agree with you; I did it this way because that's what was 
> >> >> suggested to me.  But I don't at the moment know enough about the 
> >> >> backend creation stuff in xl / qemu to DTRT here.
> >> > 
> >> > The issue preventing autoloading here is that blktap is effectively
> >> > optional and libxl tries to do a best effort search for a usable disk
> >> > backend. If blktap is loaded the libxl will choose it, otherwise it will
> >> > fallback to qdisk. The problem is that if blktap is available but not
> >> > loaded then that is something which libxl cannot detect, I'm not sure
> >> > how we could go about fixing that.
> >> 
> >> Why not simply run a (series of) modprobe(s) from there? Or is
> >> that precluded by not being OS-neutral?
> > 
> > An interesting idea.
> > 
> > The blktap detection code is necessarily OS-specific. I previously
> > discounted it because of the possibility of a race between the
> > completion of modprobe and the driver actually registering enough for
> > detection to succeed. Maybe I was too pessimistic or someone has a
> > bright idea?
> 
> modprobe only exits when the driver's init function completed,
> at which point the driver can be expected to be in a usable state.

OK, so maybe that works then.

> >> The same would obviously apply to other backends (netback most
> >> notably).
> > 
> > We use netback unconditionally (there are no alternatives, at least not
> > ones we want to use (does qnet exist? not sure)) so I think the normal
> > driver autoloading ought to work there -- at least on kernels where it
> > exists, it was a relatively recent addition IIRC.
> 
> It was a recent addition, and I wonder whether calling this
> auto-loading really is the right term (unless I'm mis-understanding,
> you're referring to the xen-backend: module aliases) - what would
> trigger their loading? My current understanding of this it that it only
> allows loading the drivers without referring to a hard-coded driver
> module names.

My understanding was that creating a xenstore backend path would cause
the core generic xenstore backend code in the kernel to go "ah, I need a
driver for foo" (where foo is the backend name) and if one is not
already registered it will do the "modprobe foo" userspace event, which
the modaliases then cause to pickup the right kernel module.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:20:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbLR-0002c8-KR; Wed, 16 May 2012 10:20:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbLP-0002c0-PI
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:20:36 +0000
Received: from [193.109.254.147:54906] by server-1.bemta-14.messagelabs.com id
	BA/C0-29372-37F73BF4; Wed, 16 May 2012 10:20:35 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337163633!2694319!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1429 invoked from network); 16 May 2012 10:20:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:20:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500448"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:20:08 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:20:08 +0100
Date: Wed, 16 May 2012 11:19:53 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Paolo Bonzini <pbonzini@redhat.com>
In-Reply-To: <4FB36890.3090301@redhat.com>
Message-ID: <alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Paolo Bonzini wrote:
> Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> >> On Xen the PV drivers can ask the firmware to surprise-remove the
> >> emulated NICs.
> > 
> > So driver tells firmware (meaning acpi? how?) that it's ok
> > to do surprize removal?
> 
> It writes something to some I/O port, and then QEMU surprise-removes the
> NICs.

Yes, writing to a static I/O port provided by the Xen platform PCI
device, see hw/xen_platform.c:platform_fixed_ioport_writew.

The guest can ask to unplug emulated NICs and disks this way.
Surprise-removal is OK in these cases.


> >> Of course it has to do it early enough so that the guest
> >> doesn't crash.
> > 
> > What does early enough mean and how do we ensure that?
> 
> Early enough means that the I/O port is written very early in the boot
> process, even before the PCI bus is scanned by the OS.
> 
> You don't ensure it, it's up to the OS.  The OS knows whether its
> drivers can cope properly with surprise removal.  If they can, in
> principle it could write the magic value whenever it wants to.

Right, it is up to the OS, in general before the PCI bus is scanned.
In Linux we do it from hypervisor_x86->init_platform.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:20:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbLR-0002c8-KR; Wed, 16 May 2012 10:20:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbLP-0002c0-PI
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:20:36 +0000
Received: from [193.109.254.147:54906] by server-1.bemta-14.messagelabs.com id
	BA/C0-29372-37F73BF4; Wed, 16 May 2012 10:20:35 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337163633!2694319!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1429 invoked from network); 16 May 2012 10:20:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:20:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500448"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:20:08 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:20:08 +0100
Date: Wed, 16 May 2012 11:19:53 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Paolo Bonzini <pbonzini@redhat.com>
In-Reply-To: <4FB36890.3090301@redhat.com>
Message-ID: <alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Paolo Bonzini wrote:
> Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> >> On Xen the PV drivers can ask the firmware to surprise-remove the
> >> emulated NICs.
> > 
> > So driver tells firmware (meaning acpi? how?) that it's ok
> > to do surprize removal?
> 
> It writes something to some I/O port, and then QEMU surprise-removes the
> NICs.

Yes, writing to a static I/O port provided by the Xen platform PCI
device, see hw/xen_platform.c:platform_fixed_ioport_writew.

The guest can ask to unplug emulated NICs and disks this way.
Surprise-removal is OK in these cases.


> >> Of course it has to do it early enough so that the guest
> >> doesn't crash.
> > 
> > What does early enough mean and how do we ensure that?
> 
> Early enough means that the I/O port is written very early in the boot
> process, even before the PCI bus is scanned by the OS.
> 
> You don't ensure it, it's up to the OS.  The OS knows whether its
> drivers can cope properly with surprise removal.  If they can, in
> principle it could write the magic value whenever it wants to.

Right, it is up to the OS, in general before the PCI bus is scanned.
In Linux we do it from hypervisor_x86->init_platform.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:24:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:24:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbPN-0002ni-9A; Wed, 16 May 2012 10:24:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SUbPL-0002nY-CM
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 10:24:39 +0000
Received: from [85.158.138.51:38678] by server-9.bemta-3.messagelabs.com id
	6E/7F-26691-66083BF4; Wed, 16 May 2012 10:24:38 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337163876!27353713!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5361 invoked from network); 16 May 2012 10:24:37 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:24:37 -0000
Received: by qcsp15 with SMTP id p15so424311qcs.30
	for <xen-devel@lists.xensource.com>;
	Wed, 16 May 2012 03:24:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=C957e4B8Rtt1slXYtFshGchMufB0dIJPM5x5AdFPlX8=;
	b=k2nfRf639OtSl2bVjwamauG7yvhbJDL1oH1ClxscwpBhSu0Im9B04gu1+K8sLhef5U
	unfD9M4ArhbEXMzlz6rQsSYz52/J99SxhdWlcYvdfjbuNoiwMONc2/h+/q4O2ILH9Wg4
	v75YJGKhq4I1BjAqNuDxP0GapOx47k2r8SdUfn5qGn6IXADCg3KKXevobsyvBcTT8p2L
	MRXH2zTgy9nWevykra7vDQ3RnLl/5D4YAqjn2Ost1Uo2FxfLZSzsRfq2xmtpKqN2yhY/
	84B6DmM7+fJVKr6EbuQdGlrSWSJO3ek36tCJpv68RHYR73KtUJ4ZT8z2G0pdUoJdpGrf
	F1ZQ==
MIME-Version: 1.0
Received: by 10.224.185.204 with SMTP id cp12mr8939603qab.42.1337163876270;
	Wed, 16 May 2012 03:24:36 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 16 May 2012 03:24:36 -0700 (PDT)
In-Reply-To: <1337157240.27824.8.camel@zakaz.uk.xensource.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
Date: Wed, 16 May 2012 11:24:36 +0100
X-Google-Sender-Auth: dke_Bx-_CMAKg4FP7yGCxFVEcyQ
Message-ID: <CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen.org" <ian.jackson@eu.citrix.com>, George.Dunlap@citrix.com
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
>> =A0test-amd64-amd64-xl-pcipt-intel =A08 debian-fixup =A0 =A0 =A0 =A0 =A0=
 fail REGR. vs. 12884
>
> =A0 =A0 =A0 =A02012-05-16 01:24:41 Z toolstack xl
> =A0 =A0 =A0 =A02012-05-16 01:24:41 Z executing ssh ... root@10.80.249.149=
 xl pci-list-assignable
> =A0 =A0 =A0 =A0command not implemented
>
> I should have anticipated this before committing this change. :-/
>
> I guess we could make the test harness detect which to use, or perhaps
> we should just put in a hidden alias command?

Why do we need to detect which to use?  I pci-list-assignable was
introduced in the 4.2 dev cycle, I believe (which is why I wasn't
worried about changing the name); was it backported to 4.1?

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:24:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:24:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbPN-0002ni-9A; Wed, 16 May 2012 10:24:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SUbPL-0002nY-CM
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 10:24:39 +0000
Received: from [85.158.138.51:38678] by server-9.bemta-3.messagelabs.com id
	6E/7F-26691-66083BF4; Wed, 16 May 2012 10:24:38 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337163876!27353713!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5361 invoked from network); 16 May 2012 10:24:37 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:24:37 -0000
Received: by qcsp15 with SMTP id p15so424311qcs.30
	for <xen-devel@lists.xensource.com>;
	Wed, 16 May 2012 03:24:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=C957e4B8Rtt1slXYtFshGchMufB0dIJPM5x5AdFPlX8=;
	b=k2nfRf639OtSl2bVjwamauG7yvhbJDL1oH1ClxscwpBhSu0Im9B04gu1+K8sLhef5U
	unfD9M4ArhbEXMzlz6rQsSYz52/J99SxhdWlcYvdfjbuNoiwMONc2/h+/q4O2ILH9Wg4
	v75YJGKhq4I1BjAqNuDxP0GapOx47k2r8SdUfn5qGn6IXADCg3KKXevobsyvBcTT8p2L
	MRXH2zTgy9nWevykra7vDQ3RnLl/5D4YAqjn2Ost1Uo2FxfLZSzsRfq2xmtpKqN2yhY/
	84B6DmM7+fJVKr6EbuQdGlrSWSJO3ek36tCJpv68RHYR73KtUJ4ZT8z2G0pdUoJdpGrf
	F1ZQ==
MIME-Version: 1.0
Received: by 10.224.185.204 with SMTP id cp12mr8939603qab.42.1337163876270;
	Wed, 16 May 2012 03:24:36 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 16 May 2012 03:24:36 -0700 (PDT)
In-Reply-To: <1337157240.27824.8.camel@zakaz.uk.xensource.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
Date: Wed, 16 May 2012 11:24:36 +0100
X-Google-Sender-Auth: dke_Bx-_CMAKg4FP7yGCxFVEcyQ
Message-ID: <CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen.org" <ian.jackson@eu.citrix.com>, George.Dunlap@citrix.com
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
>> =A0test-amd64-amd64-xl-pcipt-intel =A08 debian-fixup =A0 =A0 =A0 =A0 =A0=
 fail REGR. vs. 12884
>
> =A0 =A0 =A0 =A02012-05-16 01:24:41 Z toolstack xl
> =A0 =A0 =A0 =A02012-05-16 01:24:41 Z executing ssh ... root@10.80.249.149=
 xl pci-list-assignable
> =A0 =A0 =A0 =A0command not implemented
>
> I should have anticipated this before committing this change. :-/
>
> I guess we could make the test harness detect which to use, or perhaps
> we should just put in a hidden alias command?

Why do we need to detect which to use?  I pci-list-assignable was
introduced in the 4.2 dev cycle, I believe (which is why I wasn't
worried about changing the name); was it backported to 4.1?

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:29:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbTl-0002y2-VY; Wed, 16 May 2012 10:29:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUbTk-0002xu-Ef
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 10:29:12 +0000
Received: from [85.158.143.99:20474] by server-3.bemta-4.messagelabs.com id
	43/CA-05853-77183BF4; Wed, 16 May 2012 10:29:11 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337164149!23003433!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30654 invoked from network); 16 May 2012 10:29:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:29:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500662"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:29:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 11:29:07 +0100
Message-ID: <1337164146.27824.84.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Wed, 16 May 2012 11:29:06 +0100
In-Reply-To: <CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
	<CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 11:24 +0100, George Dunlap wrote:
> On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >>  test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
> >
> >        2012-05-16 01:24:41 Z toolstack xl
> >        2012-05-16 01:24:41 Z executing ssh ... root@10.80.249.149 xl pci-list-assignable
> >        command not implemented
> >
> > I should have anticipated this before committing this change. :-/
> >
> > I guess we could make the test harness detect which to use, or perhaps
> > we should just put in a hidden alias command?
> 
> Why do we need to detect which to use?

For the benefit of the bisector when crossing this changeset.

>   I pci-list-assignable was
> introduced in the 4.2 dev cycle, I believe (which is why I wasn't
> worried about changing the name); was it backported to 4.1?
> 
>  -George



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:29:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbTl-0002y2-VY; Wed, 16 May 2012 10:29:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUbTk-0002xu-Ef
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 10:29:12 +0000
Received: from [85.158.143.99:20474] by server-3.bemta-4.messagelabs.com id
	43/CA-05853-77183BF4; Wed, 16 May 2012 10:29:11 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337164149!23003433!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30654 invoked from network); 16 May 2012 10:29:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:29:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500662"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:29:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 11:29:07 +0100
Message-ID: <1337164146.27824.84.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Wed, 16 May 2012 11:29:06 +0100
In-Reply-To: <CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
	<CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 11:24 +0100, George Dunlap wrote:
> On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >>  test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
> >
> >        2012-05-16 01:24:41 Z toolstack xl
> >        2012-05-16 01:24:41 Z executing ssh ... root@10.80.249.149 xl pci-list-assignable
> >        command not implemented
> >
> > I should have anticipated this before committing this change. :-/
> >
> > I guess we could make the test harness detect which to use, or perhaps
> > we should just put in a hidden alias command?
> 
> Why do we need to detect which to use?

For the benefit of the bisector when crossing this changeset.

>   I pci-list-assignable was
> introduced in the 4.2 dev cycle, I believe (which is why I wasn't
> worried about changing the name); was it backported to 4.1?
> 
>  -George



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:31:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:31:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbVh-00033I-FU; Wed, 16 May 2012 10:31:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUbVf-000337-Tq
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:31:12 +0000
Received: from [85.158.143.99:10323] by server-3.bemta-4.messagelabs.com id
	E9/30-05853-FE183BF4; Wed, 16 May 2012 10:31:11 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337164268!27711358!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15556 invoked from network); 16 May 2012 10:31:09 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-3.tower-216.messagelabs.com with SMTP;
	16 May 2012 10:31:09 -0000
Received: from int-mx01.intmail.prod.int.phx2.redhat.com
	(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GAV3Ce009951
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 06:31:03 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q4GAUrd5011259; Wed, 16 May 2012 06:30:55 -0400
Date: Wed, 16 May 2012 13:30:57 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120516103057.GA5161@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
	<alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:19:53AM +0100, Stefano Stabellini wrote:
> On Wed, 16 May 2012, Paolo Bonzini wrote:
> > Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> > >> On Xen the PV drivers can ask the firmware to surprise-remove the
> > >> emulated NICs.
> > > 
> > > So driver tells firmware (meaning acpi? how?) that it's ok
> > > to do surprize removal?
> > 
> > It writes something to some I/O port, and then QEMU surprise-removes the
> > NICs.
> 
> Yes, writing to a static I/O port provided by the Xen platform PCI
> device, see hw/xen_platform.c:platform_fixed_ioport_writew.
> 
> The guest can ask to unplug emulated NICs and disks this way.
> Surprise-removal is OK in these cases.

Confused.
Don't you want to just remove the device on unplug?
In fact the equivalent of guest calling _EJ0?

> > >> Of course it has to do it early enough so that the guest
> > >> doesn't crash.
> > > 
> > > What does early enough mean and how do we ensure that?
> > 
> > Early enough means that the I/O port is written very early in the boot
> > process, even before the PCI bus is scanned by the OS.
> > 
> > You don't ensure it, it's up to the OS.  The OS knows whether its
> > drivers can cope properly with surprise removal.  If they can, in
> > principle it could write the magic value whenever it wants to.
> 
> Right, it is up to the OS, in general before the PCI bus is scanned.
> In Linux we do it from hypervisor_x86->init_platform.

So early on boot you decide you want PV and so you unplug all emulated
devices?


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:31:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:31:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbVh-00033I-FU; Wed, 16 May 2012 10:31:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUbVf-000337-Tq
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:31:12 +0000
Received: from [85.158.143.99:10323] by server-3.bemta-4.messagelabs.com id
	E9/30-05853-FE183BF4; Wed, 16 May 2012 10:31:11 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337164268!27711358!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15556 invoked from network); 16 May 2012 10:31:09 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-3.tower-216.messagelabs.com with SMTP;
	16 May 2012 10:31:09 -0000
Received: from int-mx01.intmail.prod.int.phx2.redhat.com
	(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GAV3Ce009951
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 06:31:03 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q4GAUrd5011259; Wed, 16 May 2012 06:30:55 -0400
Date: Wed, 16 May 2012 13:30:57 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120516103057.GA5161@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
	<alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:19:53AM +0100, Stefano Stabellini wrote:
> On Wed, 16 May 2012, Paolo Bonzini wrote:
> > Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> > >> On Xen the PV drivers can ask the firmware to surprise-remove the
> > >> emulated NICs.
> > > 
> > > So driver tells firmware (meaning acpi? how?) that it's ok
> > > to do surprize removal?
> > 
> > It writes something to some I/O port, and then QEMU surprise-removes the
> > NICs.
> 
> Yes, writing to a static I/O port provided by the Xen platform PCI
> device, see hw/xen_platform.c:platform_fixed_ioport_writew.
> 
> The guest can ask to unplug emulated NICs and disks this way.
> Surprise-removal is OK in these cases.

Confused.
Don't you want to just remove the device on unplug?
In fact the equivalent of guest calling _EJ0?

> > >> Of course it has to do it early enough so that the guest
> > >> doesn't crash.
> > > 
> > > What does early enough mean and how do we ensure that?
> > 
> > Early enough means that the I/O port is written very early in the boot
> > process, even before the PCI bus is scanned by the OS.
> > 
> > You don't ensure it, it's up to the OS.  The OS knows whether its
> > drivers can cope properly with surprise removal.  If they can, in
> > principle it could write the magic value whenever it wants to.
> 
> Right, it is up to the OS, in general before the PCI bus is scanned.
> In Linux we do it from hypervisor_x86->init_platform.

So early on boot you decide you want PV and so you unplug all emulated
devices?


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:33:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:33:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbXB-00039U-Vf; Wed, 16 May 2012 10:32:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbX9-00039G-Rg
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:32:44 +0000
Received: from [85.158.139.83:53992] by server-11.bemta-5.messagelabs.com id
	84/5E-12959-B4283BF4; Wed, 16 May 2012 10:32:43 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337164362!24415513!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12876 invoked from network); 16 May 2012 10:32:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:32:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500761"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:32:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:32:39 +0100
Date: Wed, 16 May 2012 11:32:24 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Michael S. Tsirkin" <mst@redhat.com>
In-Reply-To: <20120515205222.GA12039@redhat.com>
Message-ID: <alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Michael S. Tsirkin wrote:
> On Tue, May 15, 2012 at 04:26:36PM +0100, Anthony PERARD wrote:
> > This hotplug state will be used to remove a device without the guest
> > cooperation.
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> This can crash guest, can't it? If you are fine with crashing guest,
> we already let you do this:
> - delete device
> - reset guest
> no need for new flags.

Given that the guest is not going to crash (if it knows what it is
doing), we could just:


diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..a1e1a33 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -88,6 +88,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
         qdev_unplug(&(d->qdev), NULL);
+        qdev_free(&(d->qdev));
     }
 }
 

Anthony, can you confirm that this solves the problem for you?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:33:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:33:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbXB-00039U-Vf; Wed, 16 May 2012 10:32:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbX9-00039G-Rg
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:32:44 +0000
Received: from [85.158.139.83:53992] by server-11.bemta-5.messagelabs.com id
	84/5E-12959-B4283BF4; Wed, 16 May 2012 10:32:43 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337164362!24415513!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12876 invoked from network); 16 May 2012 10:32:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:32:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500761"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:32:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:32:39 +0100
Date: Wed, 16 May 2012 11:32:24 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Michael S. Tsirkin" <mst@redhat.com>
In-Reply-To: <20120515205222.GA12039@redhat.com>
Message-ID: <alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Michael S. Tsirkin wrote:
> On Tue, May 15, 2012 at 04:26:36PM +0100, Anthony PERARD wrote:
> > This hotplug state will be used to remove a device without the guest
> > cooperation.
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> This can crash guest, can't it? If you are fine with crashing guest,
> we already let you do this:
> - delete device
> - reset guest
> no need for new flags.

Given that the guest is not going to crash (if it knows what it is
doing), we could just:


diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..a1e1a33 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -88,6 +88,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
         qdev_unplug(&(d->qdev), NULL);
+        qdev_free(&(d->qdev));
     }
 }
 

Anthony, can you confirm that this solves the problem for you?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:37:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbbe-0003Py-Ry; Wed, 16 May 2012 10:37:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbbd-0003Ps-Ro
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:37:22 +0000
Received: from [85.158.143.35:56886] by server-3.bemta-4.messagelabs.com id
	3E/CF-05853-F5383BF4; Wed, 16 May 2012 10:37:19 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337164638!10163626!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9093 invoked from network); 16 May 2012 10:37:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:37:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500868"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:37:18 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:37:17 +0100
Date: Wed, 16 May 2012 11:37:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Michael S. Tsirkin" <mst@redhat.com>
In-Reply-To: <20120516103057.GA5161@redhat.com>
Message-ID: <alpine.DEB.2.00.1205161133270.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
	<alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
	<20120516103057.GA5161@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>, Xen Devel <xen-devel@lists.xen.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Michael S. Tsirkin wrote:
> On Wed, May 16, 2012 at 11:19:53AM +0100, Stefano Stabellini wrote:
> > On Wed, 16 May 2012, Paolo Bonzini wrote:
> > > Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > > > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> > > >> On Xen the PV drivers can ask the firmware to surprise-remove the
> > > >> emulated NICs.
> > > > 
> > > > So driver tells firmware (meaning acpi? how?) that it's ok
> > > > to do surprize removal?
> > > 
> > > It writes something to some I/O port, and then QEMU surprise-removes the
> > > NICs.
> > 
> > Yes, writing to a static I/O port provided by the Xen platform PCI
> > device, see hw/xen_platform.c:platform_fixed_ioport_writew.
> > 
> > The guest can ask to unplug emulated NICs and disks this way.
> > Surprise-removal is OK in these cases.
> 
> Confused.
> Don't you want to just remove the device on unplug?

Yes, the NIC needs to "disappear" from the PCI bus.


> In fact the equivalent of guest calling _EJ0?

Except that _EJ0 can or cannot be implemented, while this doesn't have
to go through ACPI or PCI hotplug and it is supposed to always work.


> > > >> Of course it has to do it early enough so that the guest
> > > >> doesn't crash.
> > > > 
> > > > What does early enough mean and how do we ensure that?
> > > 
> > > Early enough means that the I/O port is written very early in the boot
> > > process, even before the PCI bus is scanned by the OS.
> > > 
> > > You don't ensure it, it's up to the OS.  The OS knows whether its
> > > drivers can cope properly with surprise removal.  If they can, in
> > > principle it could write the magic value whenever it wants to.
> > 
> > Right, it is up to the OS, in general before the PCI bus is scanned.
> > In Linux we do it from hypervisor_x86->init_platform.
> 
> So early on boot you decide you want PV and so you unplug all emulated
> devices?

Yes, but only the emulated devices that can collide with PV devices:
disk and network.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:37:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbbe-0003Py-Ry; Wed, 16 May 2012 10:37:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbbd-0003Ps-Ro
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:37:22 +0000
Received: from [85.158.143.35:56886] by server-3.bemta-4.messagelabs.com id
	3E/CF-05853-F5383BF4; Wed, 16 May 2012 10:37:19 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337164638!10163626!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9093 invoked from network); 16 May 2012 10:37:19 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:37:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12500868"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:37:18 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:37:17 +0100
Date: Wed, 16 May 2012 11:37:02 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "Michael S. Tsirkin" <mst@redhat.com>
In-Reply-To: <20120516103057.GA5161@redhat.com>
Message-ID: <alpine.DEB.2.00.1205161133270.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
	<alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
	<20120516103057.GA5161@redhat.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>, Xen Devel <xen-devel@lists.xen.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Michael S. Tsirkin wrote:
> On Wed, May 16, 2012 at 11:19:53AM +0100, Stefano Stabellini wrote:
> > On Wed, 16 May 2012, Paolo Bonzini wrote:
> > > Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > > > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> > > >> On Xen the PV drivers can ask the firmware to surprise-remove the
> > > >> emulated NICs.
> > > > 
> > > > So driver tells firmware (meaning acpi? how?) that it's ok
> > > > to do surprize removal?
> > > 
> > > It writes something to some I/O port, and then QEMU surprise-removes the
> > > NICs.
> > 
> > Yes, writing to a static I/O port provided by the Xen platform PCI
> > device, see hw/xen_platform.c:platform_fixed_ioport_writew.
> > 
> > The guest can ask to unplug emulated NICs and disks this way.
> > Surprise-removal is OK in these cases.
> 
> Confused.
> Don't you want to just remove the device on unplug?

Yes, the NIC needs to "disappear" from the PCI bus.


> In fact the equivalent of guest calling _EJ0?

Except that _EJ0 can or cannot be implemented, while this doesn't have
to go through ACPI or PCI hotplug and it is supposed to always work.


> > > >> Of course it has to do it early enough so that the guest
> > > >> doesn't crash.
> > > > 
> > > > What does early enough mean and how do we ensure that?
> > > 
> > > Early enough means that the I/O port is written very early in the boot
> > > process, even before the PCI bus is scanned by the OS.
> > > 
> > > You don't ensure it, it's up to the OS.  The OS knows whether its
> > > drivers can cope properly with surprise removal.  If they can, in
> > > principle it could write the magic value whenever it wants to.
> > 
> > Right, it is up to the OS, in general before the PCI bus is scanned.
> > In Linux we do it from hypervisor_x86->init_platform.
> 
> So early on boot you decide you want PV and so you unplug all emulated
> devices?

Yes, but only the emulated devices that can collide with PV devices:
disk and network.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:49:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbmj-0003gR-2O; Wed, 16 May 2012 10:48:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbmh-0003gJ-I2
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:48:47 +0000
Received: from [193.109.254.147:17634] by server-7.bemta-14.messagelabs.com id
	0C/4D-01627-E0683BF4; Wed, 16 May 2012 10:48:46 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337165326!2713929!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29936 invoked from network); 16 May 2012 10:48:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:48:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12501183"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:48:46 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:48:46 +0100
Date: Wed, 16 May 2012 11:48:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Alex Bligh <alex@alex.org.uk>
In-Reply-To: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
Message-ID: <alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Alex Bligh wrote:
> Odd question I know. I am looking for source for as recent a kernel as
> possible running the old style xenlinux/xenified kernel (i.e. capable of
> running the xen3.3.x hypervisor). Any ideas where I can get this -
> preferably in git form?
> 
> I think Stefano Stabellini had something that worked up to 2.6.36 (from
> memory).

Nope, I always worked on pvops style kernels.
I think that your best chance would be with SLES/OpenSUSE kernels.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:49:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUbmj-0003gR-2O; Wed, 16 May 2012 10:48:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUbmh-0003gJ-I2
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:48:47 +0000
Received: from [193.109.254.147:17634] by server-7.bemta-14.messagelabs.com id
	0C/4D-01627-E0683BF4; Wed, 16 May 2012 10:48:46 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337165326!2713929!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29936 invoked from network); 16 May 2012 10:48:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:48:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12501183"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:48:46 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 11:48:46 +0100
Date: Wed, 16 May 2012 11:48:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Alex Bligh <alex@alex.org.uk>
In-Reply-To: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
Message-ID: <alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 15 May 2012, Alex Bligh wrote:
> Odd question I know. I am looking for source for as recent a kernel as
> possible running the old style xenlinux/xenified kernel (i.e. capable of
> running the xen3.3.x hypervisor). Any ideas where I can get this -
> preferably in git form?
> 
> I think Stefano Stabellini had something that worked up to 2.6.36 (from
> memory).

Nope, I always worked on pvops style kernels.
I think that your best chance would be with SLES/OpenSUSE kernels.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:51:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUboe-0003m7-LW; Wed, 16 May 2012 10:50:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUbod-0003lv-9v
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:50:47 +0000
Received: from [85.158.139.83:10551] by server-3.bemta-5.messagelabs.com id
	74/E8-25237-68683BF4; Wed, 16 May 2012 10:50:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337165444!25981303!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3613 invoked from network); 16 May 2012 10:50:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:50:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330923600"; d="scan'208";a="25228978"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 06:50:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 06:50:43 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUboZ-0002ce-7J;
	Wed, 16 May 2012 11:50:43 +0100
Message-ID: <4FB38634.7050807@eu.citrix.com>
Date: Wed, 16 May 2012 11:49:24 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
	<4FB394AE0200007800084098@nat28.tlf.novell.com>
	<1337162232.27824.55.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337162232.27824.55.camel@zakaz.uk.xensource.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/12 10:57, Ian Campbell wrote:
>>> The blktap detection code is necessarily OS-specific. I previously
>>> discounted it because of the possibility of a race between the
>>> completion of modprobe and the driver actually registering enough for
>>> detection to succeed. Maybe I was too pessimistic or someone has a
>>> bright idea?
>> modprobe only exits when the driver's init function completed,
>> at which point the driver can be expected to be in a usable state.
> OK, so maybe that works then.
So what's the plan?  Options seem to be:
1. Put this on the blocker list, so it definitely gets done before release
2. Accept the patch that started this thread (or a version of it), and 
put "do it right" on the "nice-to-have" list.  I can do it if I get a 
chance.
3. Someone can volunteer who can prioritize it.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 10:51:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 10:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUboe-0003m7-LW; Wed, 16 May 2012 10:50:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SUbod-0003lv-9v
	for xen-devel@lists.xen.org; Wed, 16 May 2012 10:50:47 +0000
Received: from [85.158.139.83:10551] by server-3.bemta-5.messagelabs.com id
	74/E8-25237-68683BF4; Wed, 16 May 2012 10:50:46 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337165444!25981303!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3613 invoked from network); 16 May 2012 10:50:45 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 10:50:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330923600"; d="scan'208";a="25228978"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 06:50:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 06:50:43 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SUboZ-0002ce-7J;
	Wed, 16 May 2012 11:50:43 +0100
Message-ID: <4FB38634.7050807@eu.citrix.com>
Date: Wed, 16 May 2012 11:49:24 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
	<4FB394AE0200007800084098@nat28.tlf.novell.com>
	<1337162232.27824.55.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337162232.27824.55.camel@zakaz.uk.xensource.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/12 10:57, Ian Campbell wrote:
>>> The blktap detection code is necessarily OS-specific. I previously
>>> discounted it because of the possibility of a race between the
>>> completion of modprobe and the driver actually registering enough for
>>> detection to succeed. Maybe I was too pessimistic or someone has a
>>> bright idea?
>> modprobe only exits when the driver's init function completed,
>> at which point the driver can be expected to be in a usable state.
> OK, so maybe that works then.
So what's the plan?  Options seem to be:
1. Put this on the blocker list, so it definitely gets done before release
2. Accept the patch that started this thread (or a version of it), and 
put "do it right" on the "nice-to-have" list.  I can do it if I get a 
chance.
3. Someone can volunteer who can prioritize it.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:15:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcCK-00048S-UQ; Wed, 16 May 2012 11:15:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SUcCK-00048N-7G
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:15:16 +0000
Received: from [85.158.143.99:11013] by server-3.bemta-4.messagelabs.com id
	3A/DF-05853-34C83BF4; Wed, 16 May 2012 11:15:15 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337166909!27949772!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4150 invoked from network); 16 May 2012 11:15:12 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 11:15:12 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4GBF2II021645
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 16 May 2012 07:15:02 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4GBF1Op021642;
	Wed, 16 May 2012 07:15:01 -0400
Date: Wed, 16 May 2012 07:15:01 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516111501.GA21609@andromeda.dapyr.net>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
	<CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
	<CAJJyHj+CkTmifx-CiYS-VPsXZAuJWEgbc07K6yQR94C9jpXjcQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJJyHj+CkTmifx-CiYS-VPsXZAuJWEgbc07K6yQR94C9jpXjcQ@mail.gmail.com>
User-Agent: Mutt/1.5.9i
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 2/8] configure: Introduce
	--enable-xen-pci-passthrough.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 11:49:46AM +0100, Anthony PERARD wrote:
> On Sat, May 12, 2012 at 2:42 AM, Konrad Rzeszutek Wilk
> <konrad@darnok.org> wrote:
> >
> > I thought I reviewed this last time? Is there a reason for not
> > attaching 'Reviewed-by: Konrad Rzeszutek Wilk
> > <konrad.wilk@oracle.com>' on this patch?
> 
> Yes, one: you reviewed a later patch :-)

Duh!
> 
> Your reviewed-by is in the last version of this series, V11.
> 
> -- 
> Anthony PERARD
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:15:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcCK-00048S-UQ; Wed, 16 May 2012 11:15:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SUcCK-00048N-7G
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:15:16 +0000
Received: from [85.158.143.99:11013] by server-3.bemta-4.messagelabs.com id
	3A/DF-05853-34C83BF4; Wed, 16 May 2012 11:15:15 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337166909!27949772!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4150 invoked from network); 16 May 2012 11:15:12 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 11:15:12 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4GBF2II021645
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 16 May 2012 07:15:02 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4GBF1Op021642;
	Wed, 16 May 2012 07:15:01 -0400
Date: Wed, 16 May 2012 07:15:01 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516111501.GA21609@andromeda.dapyr.net>
References: <1331916862-20504-1-git-send-email-anthony.perard@citrix.com>
	<1331916862-20504-3-git-send-email-anthony.perard@citrix.com>
	<CAPbh3ru=c9n518LR5ML8skv9m9PT1pRZcQcJuWptgQCpwP8MwA@mail.gmail.com>
	<CAJJyHj+CkTmifx-CiYS-VPsXZAuJWEgbc07K6yQR94C9jpXjcQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJJyHj+CkTmifx-CiYS-VPsXZAuJWEgbc07K6yQR94C9jpXjcQ@mail.gmail.com>
User-Agent: Mutt/1.5.9i
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V8 RESEND 2/8] configure: Introduce
	--enable-xen-pci-passthrough.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 11:49:46AM +0100, Anthony PERARD wrote:
> On Sat, May 12, 2012 at 2:42 AM, Konrad Rzeszutek Wilk
> <konrad@darnok.org> wrote:
> >
> > I thought I reviewed this last time? Is there a reason for not
> > attaching 'Reviewed-by: Konrad Rzeszutek Wilk
> > <konrad.wilk@oracle.com>' on this patch?
> 
> Yes, one: you reviewed a later patch :-)

Duh!
> 
> Your reviewed-by is in the last version of this series, V11.
> 
> -- 
> Anthony PERARD
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:16:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:16:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcDN-0004BC-CR; Wed, 16 May 2012 11:16:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUcDM-0004B5-9x
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:16:20 +0000
Received: from [85.158.143.35:32952] by server-2.bemta-4.messagelabs.com id
	23/8E-12211-38C83BF4; Wed, 16 May 2012 11:16:19 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337166976!10171849!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1435 invoked from network); 16 May 2012 11:16:18 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:16:18 -0000
Received: by yenm4 with SMTP id m4so655359yen.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 04:16:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=PSm2Zhga8nIfYV9VDTR3ewPz0zp69Q7NqHclKc0u1TA=;
	b=WZYOxFdV0QQdJll6a2utwvm0x2AlbOZ3zFNrBkIWeaZ9xrcEg5Z02SVy32v5/TnUFJ
	wBmqmCBhXgYVnh+XDBFARHqwonR2l+PMvVTisKcjdUou8qGWUID+bhQaqTy5iDF1vG4t
	j7/6PNFr8GsRBSg8mInbOdafuc3ckthsl/XFlMDqyA9UG7A1xlC41pNlpBrie5JKyo9j
	lHO17kXUDqVfCQZNE+1qJ/DJ4hRW5mPZ+PpPVRyzXqqFTOnzD6RvyEkLjaFxYm1WprMM
	jYMLGylY8SVprualP0+qWhF69zMszlbUtx/O60OeT8C8VpxgFedcFkC8LovgJXPOnyDq
	e3gA==
Received: by 10.42.77.69 with SMTP id h5mr1286453ick.44.1337166975362; Wed, 16
	May 2012 04:16:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Wed, 16 May 2012 04:15:45 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Wed, 16 May 2012 12:15:45 +0100
X-Google-Sender-Auth: YCLi6y7kDkMANVzg5hCV8e5W0LU
Message-ID: <CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
	state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gV2VkLCBNYXkgMTYsIDIwMTIgYXQgMTE6MzIgQU0sIFN0ZWZhbm8gU3RhYmVsbGluaQo8c3Rl
ZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+IHdyb3RlOgo+IE9uIFR1ZSwgMTUgTWF5IDIw
MTIsIE1pY2hhZWwgUy4gVHNpcmtpbiB3cm90ZToKPj4gT24gVHVlLCBNYXkgMTUsIDIwMTIgYXQg
MDQ6MjY6MzZQTSArMDEwMCwgQW50aG9ueSBQRVJBUkQgd3JvdGU6Cj4+ID4gVGhpcyBob3RwbHVn
IHN0YXRlIHdpbGwgYmUgdXNlZCB0byByZW1vdmUgYSBkZXZpY2Ugd2l0aG91dCB0aGUgZ3Vlc3QK
Pj4gPiBjb29wZXJhdGlvbi4KPj4gPgo+PiA+IFNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJE
IDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgo+Pgo+PiBUaGlzIGNhbiBjcmFzaCBndWVzdCwg
Y2FuJ3QgaXQ/IElmIHlvdSBhcmUgZmluZSB3aXRoIGNyYXNoaW5nIGd1ZXN0LAo+PiB3ZSBhbHJl
YWR5IGxldCB5b3UgZG8gdGhpczoKPj4gLSBkZWxldGUgZGV2aWNlCj4+IC0gcmVzZXQgZ3Vlc3QK
Pj4gbm8gbmVlZCBmb3IgbmV3IGZsYWdzLgo+Cj4gR2l2ZW4gdGhhdCB0aGUgZ3Vlc3QgaXMgbm90
IGdvaW5nIHRvIGNyYXNoIChpZiBpdCBrbm93cyB3aGF0IGl0IGlzCj4gZG9pbmcpLCB3ZSBjb3Vs
ZCBqdXN0Ogo+Cj4KPiBkaWZmIC0tZ2l0IGEvaHcveGVuX3BsYXRmb3JtLmMgYi9ody94ZW5fcGxh
dGZvcm0uYwo+IGluZGV4IGE5YzUyYTYuLmExZTFhMzMgMTAwNjQ0Cj4gLS0tIGEvaHcveGVuX3Bs
YXRmb3JtLmMKPiArKysgYi9ody94ZW5fcGxhdGZvcm0uYwo+IEBAIC04OCw2ICs4OCw3IEBAIHN0
YXRpYyB2b2lkIHVucGx1Z19uaWMoUENJQnVzICpiLCBQQ0lEZXZpY2UgKmQpCj4gwqAgwqAgaWYg
KHBjaV9nZXRfd29yZChkLT5jb25maWcgKyBQQ0lfQ0xBU1NfREVWSUNFKSA9PQo+IMKgIMKgIMKg
IMKgIMKgIMKgIFBDSV9DTEFTU19ORVRXT1JLX0VUSEVSTkVUKSB7Cj4gwqAgwqAgwqAgwqAgcWRl
dl91bnBsdWcoJihkLT5xZGV2KSwgTlVMTCk7Cj4gKyDCoCDCoCDCoCDCoHFkZXZfZnJlZSgmKGQt
PnFkZXYpKTsKPiDCoCDCoCB9Cj4gwqB9Cj4KPgo+IEFudGhvbnksIGNhbiB5b3UgY29uZmlybSB0
aGF0IHRoaXMgc29sdmVzIHRoZSBwcm9ibGVtIGZvciB5b3U/CgpUaGlzIHdvcmsgdW50aWwgSSB0
cnkgdG8gaG90cGx1ZyBhIG5ldyBkZXZpY2UgdG8gdGhlIGd1ZXN0IGF0IHdpc2gKcG9pbnQgSSBo
YXZlIHRoaXM6CkVSUk9SOi9sb2NhbC9ob21lL2FudGhvbnkvd29yay9xZW11L3FvbS9vYmplY3Qu
YzozODk6b2JqZWN0X2RlbGV0ZToKYXNzZXJ0aW9uIGZhaWxlZDogKG9iai0+cmVmID09IDApCgpU
aGlzIGlzIGJlY2F1c2UgdGhlcmUgaXMgc3RpbGwgYSBwZW5kaW5nIHJlcXVlc3Qgb2YgdGhlIGhv
dHVucGx1ZyBpbgp0aGUgYWNwaSBwaWl4NC4KSWYgSSBjYWxsIHFkZXZfZnJlZSB3aXRob3V0IHFk
ZXZfdW5wbHVnLCBJIGhpdCB0aGUgc2FtZSBhc3NlcnQsIGJ1dApyaWd0aCBhd2F5LiBUaGlzIGlz
IHdheSBzb21ldGhpbmcgbmV3LgoKLS0gCkFudGhvbnkgUEVSQVJECgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 16 11:16:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:16:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcDN-0004BC-CR; Wed, 16 May 2012 11:16:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUcDM-0004B5-9x
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:16:20 +0000
Received: from [85.158.143.35:32952] by server-2.bemta-4.messagelabs.com id
	23/8E-12211-38C83BF4; Wed, 16 May 2012 11:16:19 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337166976!10171849!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1435 invoked from network); 16 May 2012 11:16:18 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:16:18 -0000
Received: by yenm4 with SMTP id m4so655359yen.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 04:16:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=PSm2Zhga8nIfYV9VDTR3ewPz0zp69Q7NqHclKc0u1TA=;
	b=WZYOxFdV0QQdJll6a2utwvm0x2AlbOZ3zFNrBkIWeaZ9xrcEg5Z02SVy32v5/TnUFJ
	wBmqmCBhXgYVnh+XDBFARHqwonR2l+PMvVTisKcjdUou8qGWUID+bhQaqTy5iDF1vG4t
	j7/6PNFr8GsRBSg8mInbOdafuc3ckthsl/XFlMDqyA9UG7A1xlC41pNlpBrie5JKyo9j
	lHO17kXUDqVfCQZNE+1qJ/DJ4hRW5mPZ+PpPVRyzXqqFTOnzD6RvyEkLjaFxYm1WprMM
	jYMLGylY8SVprualP0+qWhF69zMszlbUtx/O60OeT8C8VpxgFedcFkC8LovgJXPOnyDq
	e3gA==
Received: by 10.42.77.69 with SMTP id h5mr1286453ick.44.1337166975362; Wed, 16
	May 2012 04:16:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Wed, 16 May 2012 04:15:45 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Wed, 16 May 2012 12:15:45 +0100
X-Google-Sender-Auth: YCLi6y7kDkMANVzg5hCV8e5W0LU
Message-ID: <CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
	state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gV2VkLCBNYXkgMTYsIDIwMTIgYXQgMTE6MzIgQU0sIFN0ZWZhbm8gU3RhYmVsbGluaQo8c3Rl
ZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+IHdyb3RlOgo+IE9uIFR1ZSwgMTUgTWF5IDIw
MTIsIE1pY2hhZWwgUy4gVHNpcmtpbiB3cm90ZToKPj4gT24gVHVlLCBNYXkgMTUsIDIwMTIgYXQg
MDQ6MjY6MzZQTSArMDEwMCwgQW50aG9ueSBQRVJBUkQgd3JvdGU6Cj4+ID4gVGhpcyBob3RwbHVn
IHN0YXRlIHdpbGwgYmUgdXNlZCB0byByZW1vdmUgYSBkZXZpY2Ugd2l0aG91dCB0aGUgZ3Vlc3QK
Pj4gPiBjb29wZXJhdGlvbi4KPj4gPgo+PiA+IFNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJE
IDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgo+Pgo+PiBUaGlzIGNhbiBjcmFzaCBndWVzdCwg
Y2FuJ3QgaXQ/IElmIHlvdSBhcmUgZmluZSB3aXRoIGNyYXNoaW5nIGd1ZXN0LAo+PiB3ZSBhbHJl
YWR5IGxldCB5b3UgZG8gdGhpczoKPj4gLSBkZWxldGUgZGV2aWNlCj4+IC0gcmVzZXQgZ3Vlc3QK
Pj4gbm8gbmVlZCBmb3IgbmV3IGZsYWdzLgo+Cj4gR2l2ZW4gdGhhdCB0aGUgZ3Vlc3QgaXMgbm90
IGdvaW5nIHRvIGNyYXNoIChpZiBpdCBrbm93cyB3aGF0IGl0IGlzCj4gZG9pbmcpLCB3ZSBjb3Vs
ZCBqdXN0Ogo+Cj4KPiBkaWZmIC0tZ2l0IGEvaHcveGVuX3BsYXRmb3JtLmMgYi9ody94ZW5fcGxh
dGZvcm0uYwo+IGluZGV4IGE5YzUyYTYuLmExZTFhMzMgMTAwNjQ0Cj4gLS0tIGEvaHcveGVuX3Bs
YXRmb3JtLmMKPiArKysgYi9ody94ZW5fcGxhdGZvcm0uYwo+IEBAIC04OCw2ICs4OCw3IEBAIHN0
YXRpYyB2b2lkIHVucGx1Z19uaWMoUENJQnVzICpiLCBQQ0lEZXZpY2UgKmQpCj4gwqAgwqAgaWYg
KHBjaV9nZXRfd29yZChkLT5jb25maWcgKyBQQ0lfQ0xBU1NfREVWSUNFKSA9PQo+IMKgIMKgIMKg
IMKgIMKgIMKgIFBDSV9DTEFTU19ORVRXT1JLX0VUSEVSTkVUKSB7Cj4gwqAgwqAgwqAgwqAgcWRl
dl91bnBsdWcoJihkLT5xZGV2KSwgTlVMTCk7Cj4gKyDCoCDCoCDCoCDCoHFkZXZfZnJlZSgmKGQt
PnFkZXYpKTsKPiDCoCDCoCB9Cj4gwqB9Cj4KPgo+IEFudGhvbnksIGNhbiB5b3UgY29uZmlybSB0
aGF0IHRoaXMgc29sdmVzIHRoZSBwcm9ibGVtIGZvciB5b3U/CgpUaGlzIHdvcmsgdW50aWwgSSB0
cnkgdG8gaG90cGx1ZyBhIG5ldyBkZXZpY2UgdG8gdGhlIGd1ZXN0IGF0IHdpc2gKcG9pbnQgSSBo
YXZlIHRoaXM6CkVSUk9SOi9sb2NhbC9ob21lL2FudGhvbnkvd29yay9xZW11L3FvbS9vYmplY3Qu
YzozODk6b2JqZWN0X2RlbGV0ZToKYXNzZXJ0aW9uIGZhaWxlZDogKG9iai0+cmVmID09IDApCgpU
aGlzIGlzIGJlY2F1c2UgdGhlcmUgaXMgc3RpbGwgYSBwZW5kaW5nIHJlcXVlc3Qgb2YgdGhlIGhv
dHVucGx1ZyBpbgp0aGUgYWNwaSBwaWl4NC4KSWYgSSBjYWxsIHFkZXZfZnJlZSB3aXRob3V0IHFk
ZXZfdW5wbHVnLCBJIGhpdCB0aGUgc2FtZSBhc3NlcnQsIGJ1dApyaWd0aCBhd2F5LiBUaGlzIGlz
IHdheSBzb21ldGhpbmcgbmV3LgoKLS0gCkFudGhvbnkgUEVSQVJECgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 16 11:24:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:24:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcKX-0004Pk-AF; Wed, 16 May 2012 11:23:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <paolo.bonzini@gmail.com>) id 1SUcKV-0004Pf-IA
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:23:43 +0000
Received: from [193.109.254.147:61859] by server-10.bemta-14.messagelabs.com
	id 97/7C-05847-E3E83BF4; Wed, 16 May 2012 11:23:42 +0000
X-Env-Sender: paolo.bonzini@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337167420!3877454!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1982 invoked from network); 16 May 2012 11:23:42 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:23:42 -0000
Received: by dadv2 with SMTP id v2so908433dad.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 04:23:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=OJAzQuoR9DP+8BbyNfFKvwR/qwWcvPkPh3ab/9PrO8s=;
	b=omBNV1h+PwobbdCy+cCfv/oc5QIGWsWnYWJE3BV7Oj4+oqRx7pUcQ3w5pj1+4vxO0B
	OvBmmAiTNIamQd2d8bKFZHFi117wD6qXl4a8luvAPV9ARzmQhc1/678n7mai3hDfRfZA
	cr14EGtOSpp8zVAcAogXhvYnEhXsfLnGpgbugOU0e0anqy0IX+sFH/e3Dk9h4U7RiJXN
	aRjo1MY4WoScReYIllSLhF9bk4Geu8tTzgM2OUL94VdTV0MHDlx8XxcCyD01o5jVqQsv
	ZLmeW4WBqNc9FXXVHF4Jd+V1FU8GrThJwh0LV1l8bnpewNYz8miL56MxCYxykU9oi9b/
	DnDA==
Received: by 10.68.233.102 with SMTP id tv6mr15515344pbc.153.1337167419798;
	Wed, 16 May 2012 04:23:39 -0700 (PDT)
Received: from yakj.usersys.redhat.com (93-34-182-16.ip50.fastwebnet.it.
	[93.34.182.16])
	by mx.google.com with ESMTPS id tx3sm5181769pbc.2.2012.05.16.04.23.34
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 04:23:38 -0700 (PDT)
Message-ID: <4FB38E2E.5000508@redhat.com>
Date: Wed, 16 May 2012 13:23:26 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Anthony PERARD <anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
In-Reply-To: <CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, "Michael S. Tsirkin" <mst@redhat.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 16/05/2012 13:15, Anthony PERARD ha scritto:
>> >         qdev_unplug(&(d->qdev), NULL);
>> > +        qdev_free(&(d->qdev));
>> >     }
>> >  }
>> >
>> >
>> > Anthony, can you confirm that this solves the problem for you?
> This work until I try to hotplug a new device to the guest at wish
> point I have this:
> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
> assertion failed: (obj->ref == 0)
> 
> This is because there is still a pending request of the hotunplug in
> the acpi piix4.
> If I call qdev_free without qdev_unplug, I hit the same assert, but
> rigth away. This is way something new.

Because it's missing the object_unparent done by qdev_unplug.  Does
object_unparent+qdev_free work?  (I believe object_unparent should be
done by qdev_free rather than qdev_unplug, but that's something for 1.2).

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:24:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:24:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcKX-0004Pk-AF; Wed, 16 May 2012 11:23:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <paolo.bonzini@gmail.com>) id 1SUcKV-0004Pf-IA
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:23:43 +0000
Received: from [193.109.254.147:61859] by server-10.bemta-14.messagelabs.com
	id 97/7C-05847-E3E83BF4; Wed, 16 May 2012 11:23:42 +0000
X-Env-Sender: paolo.bonzini@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337167420!3877454!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1982 invoked from network); 16 May 2012 11:23:42 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:23:42 -0000
Received: by dadv2 with SMTP id v2so908433dad.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 04:23:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=OJAzQuoR9DP+8BbyNfFKvwR/qwWcvPkPh3ab/9PrO8s=;
	b=omBNV1h+PwobbdCy+cCfv/oc5QIGWsWnYWJE3BV7Oj4+oqRx7pUcQ3w5pj1+4vxO0B
	OvBmmAiTNIamQd2d8bKFZHFi117wD6qXl4a8luvAPV9ARzmQhc1/678n7mai3hDfRfZA
	cr14EGtOSpp8zVAcAogXhvYnEhXsfLnGpgbugOU0e0anqy0IX+sFH/e3Dk9h4U7RiJXN
	aRjo1MY4WoScReYIllSLhF9bk4Geu8tTzgM2OUL94VdTV0MHDlx8XxcCyD01o5jVqQsv
	ZLmeW4WBqNc9FXXVHF4Jd+V1FU8GrThJwh0LV1l8bnpewNYz8miL56MxCYxykU9oi9b/
	DnDA==
Received: by 10.68.233.102 with SMTP id tv6mr15515344pbc.153.1337167419798;
	Wed, 16 May 2012 04:23:39 -0700 (PDT)
Received: from yakj.usersys.redhat.com (93-34-182-16.ip50.fastwebnet.it.
	[93.34.182.16])
	by mx.google.com with ESMTPS id tx3sm5181769pbc.2.2012.05.16.04.23.34
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 04:23:38 -0700 (PDT)
Message-ID: <4FB38E2E.5000508@redhat.com>
Date: Wed, 16 May 2012 13:23:26 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Anthony PERARD <anthony.perard@citrix.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
In-Reply-To: <CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
Cc: Xen Devel <xen-devel@lists.xen.org>, "Michael S. Tsirkin" <mst@redhat.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 16/05/2012 13:15, Anthony PERARD ha scritto:
>> >         qdev_unplug(&(d->qdev), NULL);
>> > +        qdev_free(&(d->qdev));
>> >     }
>> >  }
>> >
>> >
>> > Anthony, can you confirm that this solves the problem for you?
> This work until I try to hotplug a new device to the guest at wish
> point I have this:
> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
> assertion failed: (obj->ref == 0)
> 
> This is because there is still a pending request of the hotunplug in
> the acpi piix4.
> If I call qdev_free without qdev_unplug, I hit the same assert, but
> rigth away. This is way something new.

Because it's missing the object_unparent done by qdev_unplug.  Does
object_unparent+qdev_free work?  (I believe object_unparent should be
done by qdev_free rather than qdev_unplug, but that's something for 1.2).

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:25:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:25:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcLd-0004T6-Oa; Wed, 16 May 2012 11:24:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SUcLc-0004Su-R8
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:24:53 +0000
Received: from [85.158.139.83:27932] by server-1.bemta-5.messagelabs.com id
	2D/FE-19304-38E83BF4; Wed, 16 May 2012 11:24:51 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337167489!25989906!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1285 invoked from network); 16 May 2012 11:24:51 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 11:24:51 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4GBOj5A021924
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 16 May 2012 07:24:45 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4GBOjcw021922;
	Wed, 16 May 2012 07:24:45 -0400
Date: Wed, 16 May 2012 07:24:45 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516112445.GB21609@andromeda.dapyr.net>
References: <1333467163-25795-1-git-send-email-anthony.perard@citrix.com>
	<1333467163-25795-4-git-send-email-anthony.perard@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1333467163-25795-4-git-send-email-anthony.perard@citrix.com>
User-Agent: Mutt/1.5.9i
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S . Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [PATCH V11 3/8] Introduce XenHostPCIDevice to
	access a pci device on the host.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Apr 03, 2012 at 04:32:38PM +0100, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Looks good, thought I've just couple of tiny comments:

> +#define XEN_HOST_PCI_RESSOURCE_BUFFER_SIZE 512

You might want a comment explaining why 512, and not
a more precise number like 741.
> +{
.. snip..
> +    do {
> +        rc = read(fd, &buf, sizeof (buf) - 1);
> +        if (rc < 0 && errno != EINTR) {
> +            rc = -errno;
> +            goto out;
> +        }
> +    } while (rc < 0);

Ok, you read it in. Maybe my 'wc' magic is gone, but this
is what I get:
[root@localhost 0000:00:02.0]# cat resource | wc -c
741
.. snip..
> +#define XEN_HOST_PCI_GET_VALUE_BUFFER_SIZE 42

The answer to the life? Can you provide a comment explaining
the reason why it is 42, please?

> +static int xen_host_pci_get_value(XenHostPCIDevice *d, const char *name,
> +                                  unsigned int *pvalue, int base)
> +{

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:25:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:25:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcLd-0004T6-Oa; Wed, 16 May 2012 11:24:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SUcLc-0004Su-R8
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:24:53 +0000
Received: from [85.158.139.83:27932] by server-1.bemta-5.messagelabs.com id
	2D/FE-19304-38E83BF4; Wed, 16 May 2012 11:24:51 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337167489!25989906!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1285 invoked from network); 16 May 2012 11:24:51 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 11:24:51 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4GBOj5A021924
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 16 May 2012 07:24:45 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4GBOjcw021922;
	Wed, 16 May 2012 07:24:45 -0400
Date: Wed, 16 May 2012 07:24:45 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516112445.GB21609@andromeda.dapyr.net>
References: <1333467163-25795-1-git-send-email-anthony.perard@citrix.com>
	<1333467163-25795-4-git-send-email-anthony.perard@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1333467163-25795-4-git-send-email-anthony.perard@citrix.com>
User-Agent: Mutt/1.5.9i
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S . Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [PATCH V11 3/8] Introduce XenHostPCIDevice to
	access a pci device on the host.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Apr 03, 2012 at 04:32:38PM +0100, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Looks good, thought I've just couple of tiny comments:

> +#define XEN_HOST_PCI_RESSOURCE_BUFFER_SIZE 512

You might want a comment explaining why 512, and not
a more precise number like 741.
> +{
.. snip..
> +    do {
> +        rc = read(fd, &buf, sizeof (buf) - 1);
> +        if (rc < 0 && errno != EINTR) {
> +            rc = -errno;
> +            goto out;
> +        }
> +    } while (rc < 0);

Ok, you read it in. Maybe my 'wc' magic is gone, but this
is what I get:
[root@localhost 0000:00:02.0]# cat resource | wc -c
741
.. snip..
> +#define XEN_HOST_PCI_GET_VALUE_BUFFER_SIZE 42

The answer to the life? Can you provide a comment explaining
the reason why it is 42, please?

> +static int xen_host_pci_get_value(XenHostPCIDevice *d, const char *name,
> +                                  unsigned int *pvalue, int base)
> +{

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:32:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:32:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcSR-0004n1-8Y; Wed, 16 May 2012 11:31:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SUcSP-0004ms-3U
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:31:53 +0000
Received: from [85.158.138.51:12077] by server-7.bemta-3.messagelabs.com id
	E0/94-03078-82093BF4; Wed, 16 May 2012 11:31:52 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337167909!19322068!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11702 invoked from network); 16 May 2012 11:31:51 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-3.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 11:31:51 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4GBVhGc022223
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 16 May 2012 07:31:44 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4GBVhgg022221;
	Wed, 16 May 2012 07:31:43 -0400
Date: Wed, 16 May 2012 07:31:43 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516113142.GC21609@andromeda.dapyr.net>
References: <1333467163-25795-1-git-send-email-anthony.perard@citrix.com>
	<1333467163-25795-6-git-send-email-anthony.perard@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1333467163-25795-6-git-send-email-anthony.perard@citrix.com>
User-Agent: Mutt/1.5.9i
Cc: Guy Zana <guy@neocleus.com>, Xen Devel <xen-devel@lists.xensource.com>,
	Allen Kay <allen.m.kay@intel.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V11 5/8] Introduce Xen PCI Passthrough,
	qdevice (1/3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +void xen_pt_log(const PCIDevice *d, const char *f, ...)
> +{
> +    va_list ap;
> +
> +    va_start(ap, f);
> +    if (d) {
> +        fprintf(stderr, "[%02x:%02x.%x] ", pci_bus_num(d->bus),

%d at the end and in the other location pls fix it up..

> +                PCI_SLOT(d->devfn), PCI_FUNC(d->devfn));
> +    }
> +    vfprintf(stderr, f, ap);
> +    va_end(ap);
> +}
> +
> +/* Config Space */
> +

.. Is there a way to make this function (and the following one) squahed?

> +static uint32_t xen_pt_pci_read_config(PCIDevice *d, uint32_t addr, int len)
> +{
> +    XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
> +    uint32_t val = 0;
> +    XenPTRegGroup *reg_grp_entry = NULL;
> +    XenPTReg *reg_entry = NULL;
> +    int rc = 0;
> +    int emul_len = 0;
> +    uint32_t find_addr = addr;
> +
> +    if (xen_pt_pci_config_access_check(d, addr, len)) {
> +        goto exit;
> +    }
> +
> +    /* find register group entry */
> +    reg_grp_entry = xen_pt_find_reg_grp(s, addr);
> +    if (reg_grp_entry) {
> +        /* check 0-Hardwired register group */
> +        if (reg_grp_entry->reg_grp->grp_type == XEN_PT_GRP_TYPE_HARDWIRED) {
> +            /* no need to emulate, just return 0 */
> +            val = 0;
> +            goto exit;
> +        }
> +    }
> +
> +    /* read I/O device register value */
> +    rc = xen_host_pci_get_block(&s->real_device, addr, (uint8_t *)&val, len);
> +    if (rc < 0) {
> +        XEN_PT_ERR(d, "pci_read_block failed. return value: %d.\n", rc);
> +        memset(&val, 0xff, len);
> +    }
> +
> +    /* just return the I/O device register value for
> +     * passthrough type register group */
> +    if (reg_grp_entry == NULL) {
> +        goto exit;
> +    }
> +
> +    /* adjust the read value to appropriate CFC-CFF window */
> +    val <<= (addr & 3) << 3;
> +    emul_len = len;
> +
> +    /* loop around the guest requested size */
> +    while (emul_len > 0) {
> +        /* find register entry to be emulated */
> +        reg_entry = xen_pt_find_reg(reg_grp_entry, find_addr);
> +        if (reg_entry) {
> +            XenPTRegInfo *reg = reg_entry->reg;
> +            uint32_t real_offset = reg_grp_entry->base_offset + reg->offset;
> +            uint32_t valid_mask = 0xFFFFFFFF >> ((4 - emul_len) << 3);
> +            uint8_t *ptr_val = NULL;
> +
> +            valid_mask <<= (find_addr - real_offset) << 3;
> +            ptr_val = (uint8_t *)&val + (real_offset & 3);
> +
> +            /* do emulation based on register size */
> +            switch (reg->size) {
> +            case 1:
> +                if (reg->u.b.read) {
> +                    rc = reg->u.b.read(s, reg_entry, ptr_val, valid_mask);
> +                }
> +                break;
> +            case 2:
> +                if (reg->u.w.read) {
> +                    rc = reg->u.w.read(s, reg_entry,
> +                                       (uint16_t *)ptr_val, valid_mask);
> +                }
> +                break;
> +            case 4:
> +                if (reg->u.dw.read) {
> +                    rc = reg->u.dw.read(s, reg_entry,
> +                                        (uint32_t *)ptr_val, valid_mask);
> +                }
> +                break;
> +            }
> +
> +            if (rc < 0) {
> +                xen_shutdown_fatal_error("Internal error: Invalid read "
> +                                         "emulation. (%s, rc: %d)\n",
> +                                         __func__, rc);
> +                return 0;
> +            }
> +
> +            /* calculate next address to find */
> +            emul_len -= reg->size;
> +            if (emul_len > 0) {
> +                find_addr = real_offset + reg->size;
> +            }
> +        } else {
> +            /* nothing to do with passthrough type register,
> +             * continue to find next byte */
> +            emul_len--;
> +            find_addr++;
> +        }
> +    }
> +
> +    /* need to shift back before returning them to pci bus emulator */
> +    val >>= ((addr & 3) << 3);
> +
> +exit:
> +    XEN_PT_LOG_CONFIG(d, addr, val, len);
> +    return val;
> +}
> +
> +static void xen_pt_pci_write_config(PCIDevice *d, uint32_t addr,
> +                                    uint32_t val, int len)
> +{
> +    XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
> +    int index = 0;
> +    XenPTRegGroup *reg_grp_entry = NULL;
> +    int rc = 0;
> +    uint32_t read_val = 0;
> +    int emul_len = 0;
> +    XenPTReg *reg_entry = NULL;
> +    uint32_t find_addr = addr;
> +    XenPTRegInfo *reg = NULL;
> +
> +    if (xen_pt_pci_config_access_check(d, addr, len)) {
> +        return;
> +    }
> +
> +    XEN_PT_LOG_CONFIG(d, addr, val, len);
> +
> +    /* check unused BAR register */
> +    index = xen_pt_bar_offset_to_index(addr);
> +    if ((index >= 0) && (val > 0 && val < XEN_PT_BAR_ALLF) &&
> +        (s->bases[index].bar_flag == XEN_PT_BAR_FLAG_UNUSED)) {
> +        XEN_PT_WARN(d, "Guest attempt to set address to unused Base Address "
> +                    "Register. (addr: 0x%02x, len: %d)\n", addr, len);
> +    }
> +
> +    /* find register group entry */
> +    reg_grp_entry = xen_pt_find_reg_grp(s, addr);
> +    if (reg_grp_entry) {
> +        /* check 0-Hardwired register group */
> +        if (reg_grp_entry->reg_grp->grp_type == XEN_PT_GRP_TYPE_HARDWIRED) {
> +            /* ignore silently */
> +            XEN_PT_WARN(d, "Access to 0-Hardwired register. "
> +                        "(addr: 0x%02x, len: %d)\n", addr, len);
> +            return;
> +        }
> +    }
> +
> +    rc = xen_host_pci_get_block(&s->real_device, addr,
> +                                (uint8_t *)&read_val, len);
> +    if (rc < 0) {
> +        XEN_PT_ERR(d, "pci_read_block failed. return value: %d.\n", rc);
> +        memset(&read_val, 0xff, len);
> +    }
> +
> +    /* pass directly to the real device for passthrough type register group */
> +    if (reg_grp_entry == NULL) {
> +        goto out;
> +    }
> +
> +    memory_region_transaction_begin();
> +    pci_default_write_config(d, addr, val, len);
> +
> +    /* adjust the read and write value to appropriate CFC-CFF window */
> +    read_val <<= (addr & 3) << 3;
> +    val <<= (addr & 3) << 3;
> +    emul_len = len;
> +
> +    /* loop around the guest requested size */
> +    while (emul_len > 0) {
> +        /* find register entry to be emulated */
> +        reg_entry = xen_pt_find_reg(reg_grp_entry, find_addr);
> +        if (reg_entry) {
> +            reg = reg_entry->reg;
> +            uint32_t real_offset = reg_grp_entry->base_offset + reg->offset;
> +            uint32_t valid_mask = 0xFFFFFFFF >> ((4 - emul_len) << 3);
> +            uint8_t *ptr_val = NULL;
> +
> +            valid_mask <<= (find_addr - real_offset) << 3;
> +            ptr_val = (uint8_t *)&val + (real_offset & 3);
> +
> +            /* do emulation based on register size */
> +            switch (reg->size) {
> +            case 1:
> +                if (reg->u.b.write) {
> +                    rc = reg->u.b.write(s, reg_entry, ptr_val,
> +                                        read_val >> ((real_offset & 3) << 3),
> +                                        valid_mask);
> +                }
> +                break;
> +            case 2:
> +                if (reg->u.w.write) {
> +                    rc = reg->u.w.write(s, reg_entry, (uint16_t *)ptr_val,
> +                                        (read_val >> ((real_offset & 3) << 3)),
> +                                        valid_mask);
> +                }
> +                break;
> +            case 4:
> +                if (reg->u.dw.write) {
> +                    rc = reg->u.dw.write(s, reg_entry, (uint32_t *)ptr_val,
> +                                         (read_val >> ((real_offset & 3) << 3)),
> +                                         valid_mask);
> +                }
> +                break;
> +            }
> +
> +            if (rc < 0) {
> +                xen_shutdown_fatal_error("Internal error: Invalid write"
> +                                         " emulation. (%s, rc: %d)\n",
> +                                         __func__, rc);
> +                return;
> +            }
> +
> +            /* calculate next address to find */
> +            emul_len -= reg->size;
> +            if (emul_len > 0) {
> +                find_addr = real_offset + reg->size;
> +            }
> +        } else {
> +            /* nothing to do with passthrough type register,
> +             * continue to find next byte */
> +            emul_len--;
> +            find_addr++;
> +        }
> +    }
> +
> +    /* need to shift back before passing them to xen_host_pci_device */
> +    val >>= (addr & 3) << 3;
> +
> +    memory_region_transaction_commit();

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:32:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:32:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcSR-0004n1-8Y; Wed, 16 May 2012 11:31:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SUcSP-0004ms-3U
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:31:53 +0000
Received: from [85.158.138.51:12077] by server-7.bemta-3.messagelabs.com id
	E0/94-03078-82093BF4; Wed, 16 May 2012 11:31:52 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337167909!19322068!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11702 invoked from network); 16 May 2012 11:31:51 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-3.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 11:31:51 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4GBVhGc022223
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 16 May 2012 07:31:44 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4GBVhgg022221;
	Wed, 16 May 2012 07:31:43 -0400
Date: Wed, 16 May 2012 07:31:43 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516113142.GC21609@andromeda.dapyr.net>
References: <1333467163-25795-1-git-send-email-anthony.perard@citrix.com>
	<1333467163-25795-6-git-send-email-anthony.perard@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1333467163-25795-6-git-send-email-anthony.perard@citrix.com>
User-Agent: Mutt/1.5.9i
Cc: Guy Zana <guy@neocleus.com>, Xen Devel <xen-devel@lists.xensource.com>,
	Allen Kay <allen.m.kay@intel.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V11 5/8] Introduce Xen PCI Passthrough,
	qdevice (1/3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> +void xen_pt_log(const PCIDevice *d, const char *f, ...)
> +{
> +    va_list ap;
> +
> +    va_start(ap, f);
> +    if (d) {
> +        fprintf(stderr, "[%02x:%02x.%x] ", pci_bus_num(d->bus),

%d at the end and in the other location pls fix it up..

> +                PCI_SLOT(d->devfn), PCI_FUNC(d->devfn));
> +    }
> +    vfprintf(stderr, f, ap);
> +    va_end(ap);
> +}
> +
> +/* Config Space */
> +

.. Is there a way to make this function (and the following one) squahed?

> +static uint32_t xen_pt_pci_read_config(PCIDevice *d, uint32_t addr, int len)
> +{
> +    XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
> +    uint32_t val = 0;
> +    XenPTRegGroup *reg_grp_entry = NULL;
> +    XenPTReg *reg_entry = NULL;
> +    int rc = 0;
> +    int emul_len = 0;
> +    uint32_t find_addr = addr;
> +
> +    if (xen_pt_pci_config_access_check(d, addr, len)) {
> +        goto exit;
> +    }
> +
> +    /* find register group entry */
> +    reg_grp_entry = xen_pt_find_reg_grp(s, addr);
> +    if (reg_grp_entry) {
> +        /* check 0-Hardwired register group */
> +        if (reg_grp_entry->reg_grp->grp_type == XEN_PT_GRP_TYPE_HARDWIRED) {
> +            /* no need to emulate, just return 0 */
> +            val = 0;
> +            goto exit;
> +        }
> +    }
> +
> +    /* read I/O device register value */
> +    rc = xen_host_pci_get_block(&s->real_device, addr, (uint8_t *)&val, len);
> +    if (rc < 0) {
> +        XEN_PT_ERR(d, "pci_read_block failed. return value: %d.\n", rc);
> +        memset(&val, 0xff, len);
> +    }
> +
> +    /* just return the I/O device register value for
> +     * passthrough type register group */
> +    if (reg_grp_entry == NULL) {
> +        goto exit;
> +    }
> +
> +    /* adjust the read value to appropriate CFC-CFF window */
> +    val <<= (addr & 3) << 3;
> +    emul_len = len;
> +
> +    /* loop around the guest requested size */
> +    while (emul_len > 0) {
> +        /* find register entry to be emulated */
> +        reg_entry = xen_pt_find_reg(reg_grp_entry, find_addr);
> +        if (reg_entry) {
> +            XenPTRegInfo *reg = reg_entry->reg;
> +            uint32_t real_offset = reg_grp_entry->base_offset + reg->offset;
> +            uint32_t valid_mask = 0xFFFFFFFF >> ((4 - emul_len) << 3);
> +            uint8_t *ptr_val = NULL;
> +
> +            valid_mask <<= (find_addr - real_offset) << 3;
> +            ptr_val = (uint8_t *)&val + (real_offset & 3);
> +
> +            /* do emulation based on register size */
> +            switch (reg->size) {
> +            case 1:
> +                if (reg->u.b.read) {
> +                    rc = reg->u.b.read(s, reg_entry, ptr_val, valid_mask);
> +                }
> +                break;
> +            case 2:
> +                if (reg->u.w.read) {
> +                    rc = reg->u.w.read(s, reg_entry,
> +                                       (uint16_t *)ptr_val, valid_mask);
> +                }
> +                break;
> +            case 4:
> +                if (reg->u.dw.read) {
> +                    rc = reg->u.dw.read(s, reg_entry,
> +                                        (uint32_t *)ptr_val, valid_mask);
> +                }
> +                break;
> +            }
> +
> +            if (rc < 0) {
> +                xen_shutdown_fatal_error("Internal error: Invalid read "
> +                                         "emulation. (%s, rc: %d)\n",
> +                                         __func__, rc);
> +                return 0;
> +            }
> +
> +            /* calculate next address to find */
> +            emul_len -= reg->size;
> +            if (emul_len > 0) {
> +                find_addr = real_offset + reg->size;
> +            }
> +        } else {
> +            /* nothing to do with passthrough type register,
> +             * continue to find next byte */
> +            emul_len--;
> +            find_addr++;
> +        }
> +    }
> +
> +    /* need to shift back before returning them to pci bus emulator */
> +    val >>= ((addr & 3) << 3);
> +
> +exit:
> +    XEN_PT_LOG_CONFIG(d, addr, val, len);
> +    return val;
> +}
> +
> +static void xen_pt_pci_write_config(PCIDevice *d, uint32_t addr,
> +                                    uint32_t val, int len)
> +{
> +    XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
> +    int index = 0;
> +    XenPTRegGroup *reg_grp_entry = NULL;
> +    int rc = 0;
> +    uint32_t read_val = 0;
> +    int emul_len = 0;
> +    XenPTReg *reg_entry = NULL;
> +    uint32_t find_addr = addr;
> +    XenPTRegInfo *reg = NULL;
> +
> +    if (xen_pt_pci_config_access_check(d, addr, len)) {
> +        return;
> +    }
> +
> +    XEN_PT_LOG_CONFIG(d, addr, val, len);
> +
> +    /* check unused BAR register */
> +    index = xen_pt_bar_offset_to_index(addr);
> +    if ((index >= 0) && (val > 0 && val < XEN_PT_BAR_ALLF) &&
> +        (s->bases[index].bar_flag == XEN_PT_BAR_FLAG_UNUSED)) {
> +        XEN_PT_WARN(d, "Guest attempt to set address to unused Base Address "
> +                    "Register. (addr: 0x%02x, len: %d)\n", addr, len);
> +    }
> +
> +    /* find register group entry */
> +    reg_grp_entry = xen_pt_find_reg_grp(s, addr);
> +    if (reg_grp_entry) {
> +        /* check 0-Hardwired register group */
> +        if (reg_grp_entry->reg_grp->grp_type == XEN_PT_GRP_TYPE_HARDWIRED) {
> +            /* ignore silently */
> +            XEN_PT_WARN(d, "Access to 0-Hardwired register. "
> +                        "(addr: 0x%02x, len: %d)\n", addr, len);
> +            return;
> +        }
> +    }
> +
> +    rc = xen_host_pci_get_block(&s->real_device, addr,
> +                                (uint8_t *)&read_val, len);
> +    if (rc < 0) {
> +        XEN_PT_ERR(d, "pci_read_block failed. return value: %d.\n", rc);
> +        memset(&read_val, 0xff, len);
> +    }
> +
> +    /* pass directly to the real device for passthrough type register group */
> +    if (reg_grp_entry == NULL) {
> +        goto out;
> +    }
> +
> +    memory_region_transaction_begin();
> +    pci_default_write_config(d, addr, val, len);
> +
> +    /* adjust the read and write value to appropriate CFC-CFF window */
> +    read_val <<= (addr & 3) << 3;
> +    val <<= (addr & 3) << 3;
> +    emul_len = len;
> +
> +    /* loop around the guest requested size */
> +    while (emul_len > 0) {
> +        /* find register entry to be emulated */
> +        reg_entry = xen_pt_find_reg(reg_grp_entry, find_addr);
> +        if (reg_entry) {
> +            reg = reg_entry->reg;
> +            uint32_t real_offset = reg_grp_entry->base_offset + reg->offset;
> +            uint32_t valid_mask = 0xFFFFFFFF >> ((4 - emul_len) << 3);
> +            uint8_t *ptr_val = NULL;
> +
> +            valid_mask <<= (find_addr - real_offset) << 3;
> +            ptr_val = (uint8_t *)&val + (real_offset & 3);
> +
> +            /* do emulation based on register size */
> +            switch (reg->size) {
> +            case 1:
> +                if (reg->u.b.write) {
> +                    rc = reg->u.b.write(s, reg_entry, ptr_val,
> +                                        read_val >> ((real_offset & 3) << 3),
> +                                        valid_mask);
> +                }
> +                break;
> +            case 2:
> +                if (reg->u.w.write) {
> +                    rc = reg->u.w.write(s, reg_entry, (uint16_t *)ptr_val,
> +                                        (read_val >> ((real_offset & 3) << 3)),
> +                                        valid_mask);
> +                }
> +                break;
> +            case 4:
> +                if (reg->u.dw.write) {
> +                    rc = reg->u.dw.write(s, reg_entry, (uint32_t *)ptr_val,
> +                                         (read_val >> ((real_offset & 3) << 3)),
> +                                         valid_mask);
> +                }
> +                break;
> +            }
> +
> +            if (rc < 0) {
> +                xen_shutdown_fatal_error("Internal error: Invalid write"
> +                                         " emulation. (%s, rc: %d)\n",
> +                                         __func__, rc);
> +                return;
> +            }
> +
> +            /* calculate next address to find */
> +            emul_len -= reg->size;
> +            if (emul_len > 0) {
> +                find_addr = real_offset + reg->size;
> +            }
> +        } else {
> +            /* nothing to do with passthrough type register,
> +             * continue to find next byte */
> +            emul_len--;
> +            find_addr++;
> +        }
> +    }
> +
> +    /* need to shift back before passing them to xen_host_pci_device */
> +    val >>= (addr & 3) << 3;
> +
> +    memory_region_transaction_commit();

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:36:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:36:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcWm-00054d-3S; Wed, 16 May 2012 11:36:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SUcWk-00054W-Np
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:36:22 +0000
Received: from [85.158.139.83:35388] by server-11.bemta-5.messagelabs.com id
	02/68-12959-53193BF4; Wed, 16 May 2012 11:36:21 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337168179!29015897!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc5NzY4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14906 invoked from network); 16 May 2012 11:36:20 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-10.tower-182.messagelabs.com with SMTP;
	16 May 2012 11:36:20 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 16 May 2012 04:36:18 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="100721682"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 16 May 2012 04:36:18 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 16 May 2012 04:36:17 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 16 May 2012 19:36:15 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Tim Deegan <tim@xen.org>
Thread-Topic: [Xen-devel] lock in vhpet
Thread-Index: Ac0eCQwXJG/pjIlt90WVAZCixCEkDQDGHugQABTqmCsAIL0OEP//f4gA//57d2CAApdigP//edFQgACUawD//3mnoABqsUeA/+Cwt4A=
Date: Wed, 16 May 2012 11:36:14 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E0F1154@SHSMSX101.ccr.corp.intel.com>
	<20120423091445.GA17920@ocelot.phlegethon.org>
	<2a7b92d7a952c53c0fb81bdebdd45d24.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
In-Reply-To: <20120426212531.GH67043@ocelot.phlegethon.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi tim,

Did the attached patch apply to upstream xen? I tried the latest xen and still saw the high cpu utilization.

best regards
yang

> -----Original Message-----
> From: Tim Deegan [mailto:tim@xen.org]
> Sent: Friday, April 27, 2012 5:26 AM
> To: Zhang, Yang Z
> Cc: andres@lagarcavilla.org; Keir Fraser; xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] lock in vhpet
> 
> At 02:36 +0000 on 25 Apr (1335321409), Zhang, Yang Z wrote:
> > > > But actually, the first cs introduced this issue is 24770. When win8
> > > > booting and if hpet is enabled, it will use hpet as the time source
> > > > and there have lots of hpet access and EPT violation. In EPT violation
> > > > handler, it call get_gfn_type_access to get the mfn. The cs 24770
> > > > introduces the gfn_lock for p2m lookups, and then the issue happens.
> > > > After I removed the gfn_lock, the issue goes. But in latest xen, even
> > > > I remove this lock, it still shows high cpu utilization.
> > >
> > > It would seem then that even the briefest lock-protected critical section
> would
> > > cause this? In the mmio case, the p2m lock taken in the hap fault handler is
> > > held during the actual lookup, and for a couple of branch instructions
> > > afterwards.
> > >
> > > In latest Xen, with lock removed for get_gfn, on which lock is time spent?
> > Still the p2m_lock.
> 
> Can you please try the attached patch?  I think you'll need this one
> plus the ones that take the locks out of the hpet code.
> 
> This patch makes the p2m lock into an rwlock and adjusts a number of the
> paths that don't update the p2m so they only take the read lock.  It's a
> bit rough but I can boot 16-way win7 guest with it.
> 
> N.B. Since rwlocks don't show up the the existing lock profiling, please
> don't try to use the lock-profiling numbers to see if it's helping!
> 
> Andres, this is basically the big-hammer version of your "take a
> pagecount" changes, plus the change you made to hvmemul_rep_movs().
> If this works I intend to follow it up with a patch to make some of the
> read-modify-write paths avoid taking the lock (by using a
> compare-exchange operation so they only take the lock on a write).  If
> that succeeds I might drop put_gfn() altogether.
> 
> But first it will need a lot of tidying up.  Noticeably missing:
>  - SVM code equivalents to the vmx.c changes
>  - grant-table operations still use the lock, because frankly I
>    could not follow the current code, and it's quite late in the evening.
> I also have a long list of uglinesses in the mm code that I found while
> writing this lot.
> 
> Keir, I have no objection to later replacing this with something better
> than an rwlock. :)  Or with making a NUMA-friendly rwlock
> implementation, since I really expect this to be heavily read-mostly
> when paging/sharing/pod are not enabled.
> 
> Cheers,
> 
> Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:36:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:36:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcWm-00054d-3S; Wed, 16 May 2012 11:36:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SUcWk-00054W-Np
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 11:36:22 +0000
Received: from [85.158.139.83:35388] by server-11.bemta-5.messagelabs.com id
	02/68-12959-53193BF4; Wed, 16 May 2012 11:36:21 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337168179!29015897!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjc5NzY4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14906 invoked from network); 16 May 2012 11:36:20 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-10.tower-182.messagelabs.com with SMTP;
	16 May 2012 11:36:20 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 16 May 2012 04:36:18 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="100721682"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 16 May 2012 04:36:18 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 16 May 2012 04:36:17 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 16 May 2012 19:36:15 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Tim Deegan <tim@xen.org>
Thread-Topic: [Xen-devel] lock in vhpet
Thread-Index: Ac0eCQwXJG/pjIlt90WVAZCixCEkDQDGHugQABTqmCsAIL0OEP//f4gA//57d2CAApdigP//edFQgACUawD//3mnoABqsUeA/+Cwt4A=
Date: Wed, 16 May 2012 11:36:14 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E0F1154@SHSMSX101.ccr.corp.intel.com>
	<20120423091445.GA17920@ocelot.phlegethon.org>
	<2a7b92d7a952c53c0fb81bdebdd45d24.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
In-Reply-To: <20120426212531.GH67043@ocelot.phlegethon.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi tim,

Did the attached patch apply to upstream xen? I tried the latest xen and still saw the high cpu utilization.

best regards
yang

> -----Original Message-----
> From: Tim Deegan [mailto:tim@xen.org]
> Sent: Friday, April 27, 2012 5:26 AM
> To: Zhang, Yang Z
> Cc: andres@lagarcavilla.org; Keir Fraser; xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] lock in vhpet
> 
> At 02:36 +0000 on 25 Apr (1335321409), Zhang, Yang Z wrote:
> > > > But actually, the first cs introduced this issue is 24770. When win8
> > > > booting and if hpet is enabled, it will use hpet as the time source
> > > > and there have lots of hpet access and EPT violation. In EPT violation
> > > > handler, it call get_gfn_type_access to get the mfn. The cs 24770
> > > > introduces the gfn_lock for p2m lookups, and then the issue happens.
> > > > After I removed the gfn_lock, the issue goes. But in latest xen, even
> > > > I remove this lock, it still shows high cpu utilization.
> > >
> > > It would seem then that even the briefest lock-protected critical section
> would
> > > cause this? In the mmio case, the p2m lock taken in the hap fault handler is
> > > held during the actual lookup, and for a couple of branch instructions
> > > afterwards.
> > >
> > > In latest Xen, with lock removed for get_gfn, on which lock is time spent?
> > Still the p2m_lock.
> 
> Can you please try the attached patch?  I think you'll need this one
> plus the ones that take the locks out of the hpet code.
> 
> This patch makes the p2m lock into an rwlock and adjusts a number of the
> paths that don't update the p2m so they only take the read lock.  It's a
> bit rough but I can boot 16-way win7 guest with it.
> 
> N.B. Since rwlocks don't show up the the existing lock profiling, please
> don't try to use the lock-profiling numbers to see if it's helping!
> 
> Andres, this is basically the big-hammer version of your "take a
> pagecount" changes, plus the change you made to hvmemul_rep_movs().
> If this works I intend to follow it up with a patch to make some of the
> read-modify-write paths avoid taking the lock (by using a
> compare-exchange operation so they only take the lock on a write).  If
> that succeeds I might drop put_gfn() altogether.
> 
> But first it will need a lot of tidying up.  Noticeably missing:
>  - SVM code equivalents to the vmx.c changes
>  - grant-table operations still use the lock, because frankly I
>    could not follow the current code, and it's quite late in the evening.
> I also have a long list of uglinesses in the mm code that I found while
> writing this lot.
> 
> Keir, I have no objection to later replacing this with something better
> than an rwlock. :)  Or with making a NUMA-friendly rwlock
> implementation, since I really expect this to be heavily read-mostly
> when paging/sharing/pod are not enabled.
> 
> Cheers,
> 
> Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:38:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcYn-0005D7-KE; Wed, 16 May 2012 11:38:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUcYl-0005Cs-PO
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:38:28 +0000
Received: from [85.158.139.83:57637] by server-8.bemta-5.messagelabs.com id
	A0/10-26964-2B193BF4; Wed, 16 May 2012 11:38:26 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337168305!28693496!1
X-Originating-IP: [209.85.213.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 447 invoked from network); 16 May 2012 11:38:26 -0000
Received: from mail-yw0-f45.google.com (HELO mail-yw0-f45.google.com)
	(209.85.213.45)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:38:26 -0000
Received: by yhoo21 with SMTP id o21so678836yho.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 04:38:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=kQUZ4diAPXaZIYZCev9778YV+2Gz87cMi9+cfxn8Umw=;
	b=BOrk3BAHLwhiBpQMaax8z+YsOghDt4GiBjkaZpwcTcSYlnVVa1FwJD9ZHtgfRRxoRl
	9ZtteL2X35dziDaSlVghoqXwM6ZZTNfJQwvl4CK5TD2dx4lBd/VRykQ8Aj4nrnhbvUj+
	5z47nDrRSjSo4Z4wG9UJedJYmhCvZg3BXHjAKzfPLPWThZLPufFpGl4KQHkIlF4NHjLM
	yUQudOV54nS7D79PMOXIU6z3YIdbxnSONu7/diGFV2Mb4wrR7Hqlasl+xq0q9S4WyHPP
	7V/ZrTS2WQWPEKdcXMSrXMnOm0iGlT5vCT4RY5fbARoryxj/J3dNauXuifULdV2LuhYO
	i6QA==
Received: by 10.50.181.164 with SMTP id dx4mr9835027igc.1.1337168304713; Wed,
	16 May 2012 04:38:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Wed, 16 May 2012 04:37:54 -0700 (PDT)
In-Reply-To: <4FB38E2E.5000508@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Wed, 16 May 2012 12:37:54 +0100
X-Google-Sender-Auth: Pte7Ud8heSIoHgkhFLL4zj1nB7U
Message-ID: <CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
	state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gV2VkLCBNYXkgMTYsIDIwMTIgYXQgMTI6MjMgUE0sIFBhb2xvIEJvbnppbmkgPHBib256aW5p
QHJlZGhhdC5jb20+IHdyb3RlOgo+IElsIDE2LzA1LzIwMTIgMTM6MTUsIEFudGhvbnkgUEVSQVJE
IGhhIHNjcml0dG86Cj4+PiA+IMKgIMKgIMKgIMKgIHFkZXZfdW5wbHVnKCYoZC0+cWRldiksIE5V
TEwpOwo+Pj4gPiArIMKgIMKgIMKgIMKgcWRldl9mcmVlKCYoZC0+cWRldikpOwo+Pj4gPiDCoCDC
oCB9Cj4+PiA+IMKgfQo+Pj4gPgo+Pj4gPgo+Pj4gPiBBbnRob255LCBjYW4geW91IGNvbmZpcm0g
dGhhdCB0aGlzIHNvbHZlcyB0aGUgcHJvYmxlbSBmb3IgeW91Pwo+PiBUaGlzIHdvcmsgdW50aWwg
SSB0cnkgdG8gaG90cGx1ZyBhIG5ldyBkZXZpY2UgdG8gdGhlIGd1ZXN0IGF0IHdpc2gKPj4gcG9p
bnQgSSBoYXZlIHRoaXM6Cj4+IEVSUk9SOi9sb2NhbC9ob21lL2FudGhvbnkvd29yay9xZW11L3Fv
bS9vYmplY3QuYzozODk6b2JqZWN0X2RlbGV0ZToKPj4gYXNzZXJ0aW9uIGZhaWxlZDogKG9iai0+
cmVmID09IDApCj4+Cj4+IFRoaXMgaXMgYmVjYXVzZSB0aGVyZSBpcyBzdGlsbCBhIHBlbmRpbmcg
cmVxdWVzdCBvZiB0aGUgaG90dW5wbHVnIGluCj4+IHRoZSBhY3BpIHBpaXg0Lgo+PiBJZiBJIGNh
bGwgcWRldl9mcmVlIHdpdGhvdXQgcWRldl91bnBsdWcsIEkgaGl0IHRoZSBzYW1lIGFzc2VydCwg
YnV0Cj4+IHJpZ3RoIGF3YXkuIFRoaXMgaXMgd2F5IHNvbWV0aGluZyBuZXcuCj4KPiBCZWNhdXNl
IGl0J3MgbWlzc2luZyB0aGUgb2JqZWN0X3VucGFyZW50IGRvbmUgYnkgcWRldl91bnBsdWcuIMKg
RG9lcwo+IG9iamVjdF91bnBhcmVudCtxZGV2X2ZyZWUgd29yaz8gwqAoSSBiZWxpZXZlIG9iamVj
dF91bnBhcmVudCBzaG91bGQgYmUKPiBkb25lIGJ5IHFkZXZfZnJlZSByYXRoZXIgdGhhbiBxZGV2
X3VucGx1ZywgYnV0IHRoYXQncyBzb21ldGhpbmcgZm9yIDEuMikuCgpDb29sLCB0aGlzIHNlZW1z
IHRvIHdvcmsgZmluZS4gVGhhbmtzLgoKSSdsbCB0ZXN0IGEgYml0IG1vcmUgYW5kIHJlc2VuZCBh
IHBhdGNoIHdpdGggb25seSBvYmplY3RfdW5wYXJlbnQrcWRldl9mcmVlLgoKLS0gCkFudGhvbnkg
UEVSQVJECgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY
ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 16 11:38:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUcYn-0005D7-KE; Wed, 16 May 2012 11:38:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SUcYl-0005Cs-PO
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:38:28 +0000
Received: from [85.158.139.83:57637] by server-8.bemta-5.messagelabs.com id
	A0/10-26964-2B193BF4; Wed, 16 May 2012 11:38:26 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337168305!28693496!1
X-Originating-IP: [209.85.213.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 447 invoked from network); 16 May 2012 11:38:26 -0000
Received: from mail-yw0-f45.google.com (HELO mail-yw0-f45.google.com)
	(209.85.213.45)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:38:26 -0000
Received: by yhoo21 with SMTP id o21so678836yho.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 04:38:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type
	:content-transfer-encoding;
	bh=kQUZ4diAPXaZIYZCev9778YV+2Gz87cMi9+cfxn8Umw=;
	b=BOrk3BAHLwhiBpQMaax8z+YsOghDt4GiBjkaZpwcTcSYlnVVa1FwJD9ZHtgfRRxoRl
	9ZtteL2X35dziDaSlVghoqXwM6ZZTNfJQwvl4CK5TD2dx4lBd/VRykQ8Aj4nrnhbvUj+
	5z47nDrRSjSo4Z4wG9UJedJYmhCvZg3BXHjAKzfPLPWThZLPufFpGl4KQHkIlF4NHjLM
	yUQudOV54nS7D79PMOXIU6z3YIdbxnSONu7/diGFV2Mb4wrR7Hqlasl+xq0q9S4WyHPP
	7V/ZrTS2WQWPEKdcXMSrXMnOm0iGlT5vCT4RY5fbARoryxj/J3dNauXuifULdV2LuhYO
	i6QA==
Received: by 10.50.181.164 with SMTP id dx4mr9835027igc.1.1337168304713; Wed,
	16 May 2012 04:38:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Wed, 16 May 2012 04:37:54 -0700 (PDT)
In-Reply-To: <4FB38E2E.5000508@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Wed, 16 May 2012 12:37:54 +0100
X-Google-Sender-Auth: Pte7Ud8heSIoHgkhFLL4zj1nB7U
Message-ID: <CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
	state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gV2VkLCBNYXkgMTYsIDIwMTIgYXQgMTI6MjMgUE0sIFBhb2xvIEJvbnppbmkgPHBib256aW5p
QHJlZGhhdC5jb20+IHdyb3RlOgo+IElsIDE2LzA1LzIwMTIgMTM6MTUsIEFudGhvbnkgUEVSQVJE
IGhhIHNjcml0dG86Cj4+PiA+IMKgIMKgIMKgIMKgIHFkZXZfdW5wbHVnKCYoZC0+cWRldiksIE5V
TEwpOwo+Pj4gPiArIMKgIMKgIMKgIMKgcWRldl9mcmVlKCYoZC0+cWRldikpOwo+Pj4gPiDCoCDC
oCB9Cj4+PiA+IMKgfQo+Pj4gPgo+Pj4gPgo+Pj4gPiBBbnRob255LCBjYW4geW91IGNvbmZpcm0g
dGhhdCB0aGlzIHNvbHZlcyB0aGUgcHJvYmxlbSBmb3IgeW91Pwo+PiBUaGlzIHdvcmsgdW50aWwg
SSB0cnkgdG8gaG90cGx1ZyBhIG5ldyBkZXZpY2UgdG8gdGhlIGd1ZXN0IGF0IHdpc2gKPj4gcG9p
bnQgSSBoYXZlIHRoaXM6Cj4+IEVSUk9SOi9sb2NhbC9ob21lL2FudGhvbnkvd29yay9xZW11L3Fv
bS9vYmplY3QuYzozODk6b2JqZWN0X2RlbGV0ZToKPj4gYXNzZXJ0aW9uIGZhaWxlZDogKG9iai0+
cmVmID09IDApCj4+Cj4+IFRoaXMgaXMgYmVjYXVzZSB0aGVyZSBpcyBzdGlsbCBhIHBlbmRpbmcg
cmVxdWVzdCBvZiB0aGUgaG90dW5wbHVnIGluCj4+IHRoZSBhY3BpIHBpaXg0Lgo+PiBJZiBJIGNh
bGwgcWRldl9mcmVlIHdpdGhvdXQgcWRldl91bnBsdWcsIEkgaGl0IHRoZSBzYW1lIGFzc2VydCwg
YnV0Cj4+IHJpZ3RoIGF3YXkuIFRoaXMgaXMgd2F5IHNvbWV0aGluZyBuZXcuCj4KPiBCZWNhdXNl
IGl0J3MgbWlzc2luZyB0aGUgb2JqZWN0X3VucGFyZW50IGRvbmUgYnkgcWRldl91bnBsdWcuIMKg
RG9lcwo+IG9iamVjdF91bnBhcmVudCtxZGV2X2ZyZWUgd29yaz8gwqAoSSBiZWxpZXZlIG9iamVj
dF91bnBhcmVudCBzaG91bGQgYmUKPiBkb25lIGJ5IHFkZXZfZnJlZSByYXRoZXIgdGhhbiBxZGV2
X3VucGx1ZywgYnV0IHRoYXQncyBzb21ldGhpbmcgZm9yIDEuMikuCgpDb29sLCB0aGlzIHNlZW1z
IHRvIHdvcmsgZmluZS4gVGhhbmtzLgoKSSdsbCB0ZXN0IGEgYml0IG1vcmUgYW5kIHJlc2VuZCBh
IHBhdGNoIHdpdGggb25seSBvYmplY3RfdW5wYXJlbnQrcWRldl9mcmVlLgoKLS0gCkFudGhvbnkg
UEVSQVJECgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY
ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 16 11:45:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:45:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUceu-0005VS-E2; Wed, 16 May 2012 11:44:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUces-0005VL-Q7
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:44:47 +0000
Received: from [85.158.139.83:61523] by server-2.bemta-5.messagelabs.com id
	41/45-17016-D2393BF4; Wed, 16 May 2012 11:44:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337168685!28741769!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13822 invoked from network); 16 May 2012 11:44:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:44:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12502574"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 11:44:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:44:44 +0100
Message-ID: <1337168683.27824.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 16 May 2012 12:44:43 +0100
In-Reply-To: <4FB38634.7050807@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
	<4FB394AE0200007800084098@nat28.tlf.novell.com>
	<1337162232.27824.55.camel@zakaz.uk.xensource.com>
	<4FB38634.7050807@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 11:49 +0100, George Dunlap wrote:
> On 16/05/12 10:57, Ian Campbell wrote:
> >>> The blktap detection code is necessarily OS-specific. I previously
> >>> discounted it because of the possibility of a race between the
> >>> completion of modprobe and the driver actually registering enough for
> >>> detection to succeed. Maybe I was too pessimistic or someone has a
> >>> bright idea?
> >> modprobe only exits when the driver's init function completed,
> >> at which point the driver can be expected to be in a usable state.
> > OK, so maybe that works then.
> So what's the plan?  Options seem to be:
> 1. Put this on the blocker list, so it definitely gets done before release
> 2. Accept the patch that started this thread (or a version of it), and 
> put "do it right" on the "nice-to-have" list.  I can do it if I get a 
> chance.
> 3. Someone can volunteer who can prioritize it.

My preference, in decreasing order would be 2, 3, 1.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 11:45:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 11:45:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUceu-0005VS-E2; Wed, 16 May 2012 11:44:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUces-0005VL-Q7
	for xen-devel@lists.xen.org; Wed, 16 May 2012 11:44:47 +0000
Received: from [85.158.139.83:61523] by server-2.bemta-5.messagelabs.com id
	41/45-17016-D2393BF4; Wed, 16 May 2012 11:44:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337168685!28741769!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13822 invoked from network); 16 May 2012 11:44:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 11:44:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,601,1330905600"; d="scan'208";a="12502574"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 11:44:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:44:44 +0100
Message-ID: <1337168683.27824.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Wed, 16 May 2012 12:44:43 +0100
In-Reply-To: <4FB38634.7050807@eu.citrix.com>
References: <db614e92faf743e20b3f.1337096977@kodo2>
	<4FB29D6F0200007800083E81@nat28.tlf.novell.com>
	<4FB28295.8020905@eu.citrix.com>
	<1337156497.27824.2.camel@zakaz.uk.xensource.com>
	<4FB3886A020000780008402F@nat28.tlf.novell.com>
	<1337159777.27824.39.camel@zakaz.uk.xensource.com>
	<4FB394AE0200007800084098@nat28.tlf.novell.com>
	<1337162232.27824.55.camel@zakaz.uk.xensource.com>
	<4FB38634.7050807@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xencommons: Attempt to load blktap driver
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 11:49 +0100, George Dunlap wrote:
> On 16/05/12 10:57, Ian Campbell wrote:
> >>> The blktap detection code is necessarily OS-specific. I previously
> >>> discounted it because of the possibility of a race between the
> >>> completion of modprobe and the driver actually registering enough for
> >>> detection to succeed. Maybe I was too pessimistic or someone has a
> >>> bright idea?
> >> modprobe only exits when the driver's init function completed,
> >> at which point the driver can be expected to be in a usable state.
> > OK, so maybe that works then.
> So what's the plan?  Options seem to be:
> 1. Put this on the blocker list, so it definitely gets done before release
> 2. Accept the patch that started this thread (or a version of it), and 
> put "do it right" on the "nice-to-have" list.  I can do it if I get a 
> chance.
> 3. Someone can volunteer who can prioritize it.

My preference, in decreasing order would be 2, 3, 1.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 12:19:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 12:19:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdBb-00076G-PQ; Wed, 16 May 2012 12:18:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1SUdBa-000766-TE
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 12:18:35 +0000
Received: from [85.158.139.83:5112] by server-2.bemta-5.messagelabs.com id
	AD/62-17016-A1B93BF4; Wed, 16 May 2012 12:18:34 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337170711!21375070!1
X-Originating-IP: [66.111.4.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjUgPT4gMjE5ODI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3142 invoked from network); 16 May 2012 12:18:32 -0000
Received: from out1-smtp.messagingengine.com (HELO
	out1-smtp.messagingengine.com) (66.111.4.25)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 12:18:32 -0000
Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 1E5A821CC2
	for <xen-devel@lists.xensource.com>;
	Wed, 16 May 2012 08:18:31 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161])
	by compute2.internal (MEProxy); Wed, 16 May 2012 08:18:31 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:content-type; s=mesmtp; bh=eWDoavdgZyQdC1rSX5JFcIseY
	GI=; b=cf/sN9ZHDcAqbnml+b/dg+JgmqCA3jctU4KhISzX76jT/rCNSIQoX5OyC
	wZL+RWd5UaxLkhWKtapn4FDZ9uMmNTb2U0riGu9gZWueE09V5rCiPvi3zpqI6dag
	a/leUQ/OfPn/uFrlbeRO/cxe9QntDWnBo9GS08kb0r1w7ldtmU=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:content-type; s=smtpout; bh=eWDoavdgZyQdC1rSX5JFcIseYGI
	=; b=s9VeYBB0HQtyAJnE6kldkXaqZb4e8ZNx0nDi4n/+LD2qNzfVRj3b+wfhUBx
	EoTO3LFGTIcVfrtJ/+bwnS4rD6+VyKOtOhGOHahEsbchahwtimxuul6RdXKhRQKi
	Ko2/s4KrR48yCvONwQ9FWhSHb1D9EtGiyIRT9vGpV5qR/PnM=
X-Sasl-enc: AEsYRA099qqS/rTgiXVX62hf6Z3WyzYMvde9UdDrl/jc 1337170710
Received: from [10.137.2.24] (afnk224.neoplus.adsl.tpnet.pl [178.42.88.224])
	by mail.messagingengine.com (Postfix) with ESMTPSA id 44892482760;
	Wed, 16 May 2012 08:18:30 -0400 (EDT)
Message-ID: <4FB39B13.70707@invisiblethingslab.com>
Date: Wed, 16 May 2012 14:18:27 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
X-Enigmail-Version: 1.4
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: [Xen-devel] The strange case of xen_netback not returning ARP
	replies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4412883461917978488=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============4412883461917978488==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enig25EA00E6119971304D270B7A"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig25EA00E6119971304D270B7A
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello,

I'm facing a rather strange problem with the netback interface. My setup
involves a netvm, which has some physical network interfaces assigned,
and a client VM where a net front is running (exposed as eth0) and which
is connected to that netvm (via vif42.0 interface, as seen in the netvm
on the dumps below).

Now, the netvm has two physical network interfaces assigned:
1) A standard Intel AGN (iwlwifi module, interface wlan0) -- this is
just a PCI devices assigned

2) A USB 3G modem (cdc_ncm module, usb0 interface) -- this has been made
available to the netvm by assigning a whole USB controller, where the 3G
modem is connected to. This works fine.

We do NAT in netvm for the traffic coming on vif* and send it out
through the default outgoing interface, e.g. wlan0. Now, as long as I
use the wlan0 for networking all works great. I've been using this setup
for years, no problem here.

However, when I switch to usb0 as a default outgoing interface in the
netvm, something strange happens. The networking works fine via usb0 for
some time (a few minutes typically), yet suddenly, after enough packets
got exchanged, the networking stops working.

When I run tcpdump on the vif* interface I can see that suddenly there
is nobody (in the netvm) to reply for the ARP requests from the client
VM (the client vm has Xen ID =3D 42 in this dump, and IP =3D .5, and gate=
way
=3D .1):

[root@netvm user]# tcpdump -ni vif42.0 arp
tcpdump: WARNING: vif42.0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decod=
e
listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 byt=
es
13:41:55.031819 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:41:56.031860 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:41:57.031794 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:41:59.287308 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:42:00.283853 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:42:01.283816 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:42:03.231324 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length

=2E.. and this now continues until no end.

For comparison, this is how it looks when I use networking via wlan0:

[root@netvm user]# tcpdump -ni vif42.0 arp
tcpdump: WARNING: vif42.0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decod=
e
listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 byt=
es
13:39:00.215883 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:39:00.215911 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28
13:39:21.799844 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:39:21.799869 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28

We can see that every once in a while an ARP request for 10.137.1.1
appears (a gateway for clientvm, so the netvm), yet this is immediately
being answered (by netvm, as I understand).

Now, this behavior seems really strange, because:

1) AFAIU, the ARP replies are/should be generated by the netback
interface in the netvm (vif*).

2) It shouldn't matter, for the netback code, how the packets are later
routed (via wlan0 vs. usb0) to provide this (dummy) arp response?

3) ...yet, for some reason, in the case when packets are later routed
through usb0, the netback is not willing to generate arp response???

Or am I misunderstanding this, and it is somebody else who is generating
the arp responses? The final NIC?

Some additional notes:
1) We make sure to set /proc/sys/net/ipv4/conf/vif*/proxy_arp to 1

2) When this "arp hang" happens, the networking (via usb0) is still
working fine in the netvm (i.e. I can do ping google.com from the netvm)

3) This has been tested on various VM kernels (in the netvm): 3.0.4,
3.2.7, and 3.3.5 -- all exhibit the same behavior.

4) Nothing spectacular in the logs of the netvm, however, I can often
see this crash in the *client* VM:

[ 1257.228761] ------------[ cut here ]------------
[ 1257.228767] WARNING: at
/home/user/qubes-src/kernel/kernel-3.3.5/linux-3.3.5/fs/sysfs/file.c:498
sysfs_attr_ns+0x93/0xa0()
[ 1257.228776] sysfs: kobject eth0 without dirent
[ 1257.228780] Modules linked in: iptable_raw bnep bluetooth rfkill
ipt_MASQUERADE ipt_REJECT xt_state xt_tcpudp xen_netback iptable_filter
iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4
ip_tables x_tables xen_netfront microcode pcspkr u2mfn(O) xen_blkback
xen_evtchn autofs4 ext4 jbd2 crc16 dm_snapshot xen_blkfront [last
unloaded: scsi_wait_scan]
[ 1257.228819] Pid: 11, comm: xenwatch Tainted: G        W  O
3.3.5-1.pvops.qubes.x86_64 #1
[ 1257.228825] Call Trace:
[ 1257.228830]  [<ffffffff810495aa>] warn_slowpath_common+0x7a/0xb0
[ 1257.228836]  [<ffffffff81049681>] warn_slowpath_fmt+0x41/0x50
[ 1257.228842]  [<ffffffff81057ba7>] ? lock_timer_base+0x37/0x70
[ 1257.228850]  [<ffffffff811a7433>] sysfs_attr_ns+0x93/0xa0
[ 1257.228856]  [<ffffffff811a7aef>] sysfs_remove_file+0x1f/0x40
[ 1257.228862]  [<ffffffff812e5622>] device_remove_file+0x12/0x20
[ 1257.228870]  [<ffffffffa00faf5a>] xennet_remove+0x84/0xac [xen_netfron=
t]
[ 1257.228875]  [<ffffffff812b5c82>] xenbus_dev_remove+0x42/0xa0
[ 1257.228881]  [<ffffffff812e85a7>] __device_release_driver+0x77/0xd0
[ 1257.228887]  [<ffffffff812e86e8>] device_release_driver+0x28/0x40
[ 1257.228895]  [<ffffffff812e790f>] bus_remove_device+0x10f/0x180
[ 1257.228901]  [<ffffffff812e5808>] device_del+0x118/0x1c0
[ 1257.228906]  [<ffffffff812e58cd>] device_unregister+0x1d/0x60
[ 1257.228914]  [<ffffffff812b5a46>] xenbus_dev_changed+0x96/0x1b0
[ 1257.228920]  [<ffffffff812b74b4>] frontend_changed+0x24/0x50
[ 1257.228926]  [<ffffffff812b4221>] xenwatch_thread+0xb1/0x170
[ 1257.228933]  [<ffffffff8106aea0>] ? wake_up_bit+0x40/0x40
[ 1257.228939]  [<ffffffff812b4170>] ? xenbus_thread+0x40/0x40
[ 1257.228944]  [<ffffffff8106a9a6>] kthread+0x96/0xa0
[ 1257.228951]  [<ffffffff81465724>] kernel_thread_helper+0x4/0x10
[ 1257.228959]  [<ffffffff8145c7fc>] ? retint_restore_args+0x5/0x6
[ 1257.228964]  [<ffffffff81465720>] ? gs_change+0x13/0x13
[ 1257.228968] ---[ end trace 75286ef58ce0391f ]---

But this seems rather irrelevant, as it seems like it is the netvm that
is failing here, i.e. it doesn't generate ARP responses?

I would appreciate any help with this issue!

Thanks,
joanna.


--------------enig25EA00E6119971304D270B7A
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPs5sTAAoJEDaIqHeRBUM0v1YIAOGfmXQNk/8dDdwBpAe/tMf5
7BdpFdF3bZwyN9AvNFnN0gsdsY2aPMQV2WHna4mr25k1o3DJyZCXrjltZdIw7RJS
D8V6t4cW4J6qTddaSWQQrK/5ftVbIeN5MsNYsmJfWEb3eayuuGFQAD1Rfi70LRCP
LtB+K5fzkROBomkOglaSNtG+LtH3OMWEW5P0+FkN1aQqXsWwmYO7UX/Rzo0G/uOo
/7WkR3SysEpAaTHF0UEmZdGkuPxPrUfATGJT7T/yeBr1iw/1NYjMKMucwxWTVrJ/
YT+OtUrXZzxlOQ+13OA72vXYTCHXNW6UuTI/NYU1xhGyhIjGgbQHSuCpCRwLiOU=
=+ufZ
-----END PGP SIGNATURE-----

--------------enig25EA00E6119971304D270B7A--


--===============4412883461917978488==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4412883461917978488==--


From xen-devel-bounces@lists.xen.org Wed May 16 12:19:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 12:19:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdBb-00076G-PQ; Wed, 16 May 2012 12:18:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1SUdBa-000766-TE
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 12:18:35 +0000
Received: from [85.158.139.83:5112] by server-2.bemta-5.messagelabs.com id
	AD/62-17016-A1B93BF4; Wed, 16 May 2012 12:18:34 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337170711!21375070!1
X-Originating-IP: [66.111.4.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjUgPT4gMjE5ODI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3142 invoked from network); 16 May 2012 12:18:32 -0000
Received: from out1-smtp.messagingengine.com (HELO
	out1-smtp.messagingengine.com) (66.111.4.25)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 12:18:32 -0000
Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 1E5A821CC2
	for <xen-devel@lists.xensource.com>;
	Wed, 16 May 2012 08:18:31 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161])
	by compute2.internal (MEProxy); Wed, 16 May 2012 08:18:31 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:content-type; s=mesmtp; bh=eWDoavdgZyQdC1rSX5JFcIseY
	GI=; b=cf/sN9ZHDcAqbnml+b/dg+JgmqCA3jctU4KhISzX76jT/rCNSIQoX5OyC
	wZL+RWd5UaxLkhWKtapn4FDZ9uMmNTb2U0riGu9gZWueE09V5rCiPvi3zpqI6dag
	a/leUQ/OfPn/uFrlbeRO/cxe9QntDWnBo9GS08kb0r1w7ldtmU=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:content-type; s=smtpout; bh=eWDoavdgZyQdC1rSX5JFcIseYGI
	=; b=s9VeYBB0HQtyAJnE6kldkXaqZb4e8ZNx0nDi4n/+LD2qNzfVRj3b+wfhUBx
	EoTO3LFGTIcVfrtJ/+bwnS4rD6+VyKOtOhGOHahEsbchahwtimxuul6RdXKhRQKi
	Ko2/s4KrR48yCvONwQ9FWhSHb1D9EtGiyIRT9vGpV5qR/PnM=
X-Sasl-enc: AEsYRA099qqS/rTgiXVX62hf6Z3WyzYMvde9UdDrl/jc 1337170710
Received: from [10.137.2.24] (afnk224.neoplus.adsl.tpnet.pl [178.42.88.224])
	by mail.messagingengine.com (Postfix) with ESMTPSA id 44892482760;
	Wed, 16 May 2012 08:18:30 -0400 (EDT)
Message-ID: <4FB39B13.70707@invisiblethingslab.com>
Date: Wed, 16 May 2012 14:18:27 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
X-Enigmail-Version: 1.4
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: [Xen-devel] The strange case of xen_netback not returning ARP
	replies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4412883461917978488=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============4412883461917978488==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enig25EA00E6119971304D270B7A"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig25EA00E6119971304D270B7A
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello,

I'm facing a rather strange problem with the netback interface. My setup
involves a netvm, which has some physical network interfaces assigned,
and a client VM where a net front is running (exposed as eth0) and which
is connected to that netvm (via vif42.0 interface, as seen in the netvm
on the dumps below).

Now, the netvm has two physical network interfaces assigned:
1) A standard Intel AGN (iwlwifi module, interface wlan0) -- this is
just a PCI devices assigned

2) A USB 3G modem (cdc_ncm module, usb0 interface) -- this has been made
available to the netvm by assigning a whole USB controller, where the 3G
modem is connected to. This works fine.

We do NAT in netvm for the traffic coming on vif* and send it out
through the default outgoing interface, e.g. wlan0. Now, as long as I
use the wlan0 for networking all works great. I've been using this setup
for years, no problem here.

However, when I switch to usb0 as a default outgoing interface in the
netvm, something strange happens. The networking works fine via usb0 for
some time (a few minutes typically), yet suddenly, after enough packets
got exchanged, the networking stops working.

When I run tcpdump on the vif* interface I can see that suddenly there
is nobody (in the netvm) to reply for the ARP requests from the client
VM (the client vm has Xen ID =3D 42 in this dump, and IP =3D .5, and gate=
way
=3D .1):

[root@netvm user]# tcpdump -ni vif42.0 arp
tcpdump: WARNING: vif42.0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decod=
e
listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 byt=
es
13:41:55.031819 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:41:56.031860 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:41:57.031794 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:41:59.287308 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:42:00.283853 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:42:01.283816 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:42:03.231324 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length

=2E.. and this now continues until no end.

For comparison, this is how it looks when I use networking via wlan0:

[root@netvm user]# tcpdump -ni vif42.0 arp
tcpdump: WARNING: vif42.0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decod=
e
listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 byt=
es
13:39:00.215883 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:39:00.215911 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28
13:39:21.799844 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 2=
8
13:39:21.799869 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28

We can see that every once in a while an ARP request for 10.137.1.1
appears (a gateway for clientvm, so the netvm), yet this is immediately
being answered (by netvm, as I understand).

Now, this behavior seems really strange, because:

1) AFAIU, the ARP replies are/should be generated by the netback
interface in the netvm (vif*).

2) It shouldn't matter, for the netback code, how the packets are later
routed (via wlan0 vs. usb0) to provide this (dummy) arp response?

3) ...yet, for some reason, in the case when packets are later routed
through usb0, the netback is not willing to generate arp response???

Or am I misunderstanding this, and it is somebody else who is generating
the arp responses? The final NIC?

Some additional notes:
1) We make sure to set /proc/sys/net/ipv4/conf/vif*/proxy_arp to 1

2) When this "arp hang" happens, the networking (via usb0) is still
working fine in the netvm (i.e. I can do ping google.com from the netvm)

3) This has been tested on various VM kernels (in the netvm): 3.0.4,
3.2.7, and 3.3.5 -- all exhibit the same behavior.

4) Nothing spectacular in the logs of the netvm, however, I can often
see this crash in the *client* VM:

[ 1257.228761] ------------[ cut here ]------------
[ 1257.228767] WARNING: at
/home/user/qubes-src/kernel/kernel-3.3.5/linux-3.3.5/fs/sysfs/file.c:498
sysfs_attr_ns+0x93/0xa0()
[ 1257.228776] sysfs: kobject eth0 without dirent
[ 1257.228780] Modules linked in: iptable_raw bnep bluetooth rfkill
ipt_MASQUERADE ipt_REJECT xt_state xt_tcpudp xen_netback iptable_filter
iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4
ip_tables x_tables xen_netfront microcode pcspkr u2mfn(O) xen_blkback
xen_evtchn autofs4 ext4 jbd2 crc16 dm_snapshot xen_blkfront [last
unloaded: scsi_wait_scan]
[ 1257.228819] Pid: 11, comm: xenwatch Tainted: G        W  O
3.3.5-1.pvops.qubes.x86_64 #1
[ 1257.228825] Call Trace:
[ 1257.228830]  [<ffffffff810495aa>] warn_slowpath_common+0x7a/0xb0
[ 1257.228836]  [<ffffffff81049681>] warn_slowpath_fmt+0x41/0x50
[ 1257.228842]  [<ffffffff81057ba7>] ? lock_timer_base+0x37/0x70
[ 1257.228850]  [<ffffffff811a7433>] sysfs_attr_ns+0x93/0xa0
[ 1257.228856]  [<ffffffff811a7aef>] sysfs_remove_file+0x1f/0x40
[ 1257.228862]  [<ffffffff812e5622>] device_remove_file+0x12/0x20
[ 1257.228870]  [<ffffffffa00faf5a>] xennet_remove+0x84/0xac [xen_netfron=
t]
[ 1257.228875]  [<ffffffff812b5c82>] xenbus_dev_remove+0x42/0xa0
[ 1257.228881]  [<ffffffff812e85a7>] __device_release_driver+0x77/0xd0
[ 1257.228887]  [<ffffffff812e86e8>] device_release_driver+0x28/0x40
[ 1257.228895]  [<ffffffff812e790f>] bus_remove_device+0x10f/0x180
[ 1257.228901]  [<ffffffff812e5808>] device_del+0x118/0x1c0
[ 1257.228906]  [<ffffffff812e58cd>] device_unregister+0x1d/0x60
[ 1257.228914]  [<ffffffff812b5a46>] xenbus_dev_changed+0x96/0x1b0
[ 1257.228920]  [<ffffffff812b74b4>] frontend_changed+0x24/0x50
[ 1257.228926]  [<ffffffff812b4221>] xenwatch_thread+0xb1/0x170
[ 1257.228933]  [<ffffffff8106aea0>] ? wake_up_bit+0x40/0x40
[ 1257.228939]  [<ffffffff812b4170>] ? xenbus_thread+0x40/0x40
[ 1257.228944]  [<ffffffff8106a9a6>] kthread+0x96/0xa0
[ 1257.228951]  [<ffffffff81465724>] kernel_thread_helper+0x4/0x10
[ 1257.228959]  [<ffffffff8145c7fc>] ? retint_restore_args+0x5/0x6
[ 1257.228964]  [<ffffffff81465720>] ? gs_change+0x13/0x13
[ 1257.228968] ---[ end trace 75286ef58ce0391f ]---

But this seems rather irrelevant, as it seems like it is the netvm that
is failing here, i.e. it doesn't generate ARP responses?

I would appreciate any help with this issue!

Thanks,
joanna.


--------------enig25EA00E6119971304D270B7A
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPs5sTAAoJEDaIqHeRBUM0v1YIAOGfmXQNk/8dDdwBpAe/tMf5
7BdpFdF3bZwyN9AvNFnN0gsdsY2aPMQV2WHna4mr25k1o3DJyZCXrjltZdIw7RJS
D8V6t4cW4J6qTddaSWQQrK/5ftVbIeN5MsNYsmJfWEb3eayuuGFQAD1Rfi70LRCP
LtB+K5fzkROBomkOglaSNtG+LtH3OMWEW5P0+FkN1aQqXsWwmYO7UX/Rzo0G/uOo
/7WkR3SysEpAaTHF0UEmZdGkuPxPrUfATGJT7T/yeBr1iw/1NYjMKMucwxWTVrJ/
YT+OtUrXZzxlOQ+13OA72vXYTCHXNW6UuTI/NYU1xhGyhIjGgbQHSuCpCRwLiOU=
=+ufZ
-----END PGP SIGNATURE-----

--------------enig25EA00E6119971304D270B7A--


--===============4412883461917978488==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4412883461917978488==--


From xen-devel-bounces@lists.xen.org Wed May 16 12:36:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 12:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdSZ-0007Vd-Nl; Wed, 16 May 2012 12:36:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUdSY-0007VR-IR
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 12:36:06 +0000
Received: from [193.109.254.147:7604] by server-2.bemta-14.messagelabs.com id
	07/77-19409-53F93BF4; Wed, 16 May 2012 12:36:05 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337171763!6460924!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8553 invoked from network); 16 May 2012 12:36:04 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 12:36:04 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUdSU-0000cS-10; Wed, 16 May 2012 12:36:02 +0000
Date: Wed, 16 May 2012 13:36:01 +0100
From: Tim Deegan <tim@xen.org>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Message-ID: <20120516123601.GA1933@ocelot.phlegethon.org>
References: <2a7b92d7a952c53c0fb81bdebdd45d24.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.4.2.1i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

At 11:36 +0000 on 16 May (1337168174), Zhang, Yang Z wrote:
> Hi tim,
> 
> Did the attached patch apply to upstream xen? I tried the latest xen
> and still saw the high cpu utilization.

The patch is not yet applied.  It's been cleaned up into a patch series
that I posted last Thursday, and will probably be applied later this
week. 

Cheers,

Tim.

> best regards
> yang
> 
> > -----Original Message-----
> > From: Tim Deegan [mailto:tim@xen.org]
> > Sent: Friday, April 27, 2012 5:26 AM
> > To: Zhang, Yang Z
> > Cc: andres@lagarcavilla.org; Keir Fraser; xen-devel@lists.xensource.com
> > Subject: Re: [Xen-devel] lock in vhpet
> > 
> > At 02:36 +0000 on 25 Apr (1335321409), Zhang, Yang Z wrote:
> > > > > But actually, the first cs introduced this issue is 24770. When win8
> > > > > booting and if hpet is enabled, it will use hpet as the time source
> > > > > and there have lots of hpet access and EPT violation. In EPT violation
> > > > > handler, it call get_gfn_type_access to get the mfn. The cs 24770
> > > > > introduces the gfn_lock for p2m lookups, and then the issue happens.
> > > > > After I removed the gfn_lock, the issue goes. But in latest xen, even
> > > > > I remove this lock, it still shows high cpu utilization.
> > > >
> > > > It would seem then that even the briefest lock-protected critical section
> > would
> > > > cause this? In the mmio case, the p2m lock taken in the hap fault handler is
> > > > held during the actual lookup, and for a couple of branch instructions
> > > > afterwards.
> > > >
> > > > In latest Xen, with lock removed for get_gfn, on which lock is time spent?
> > > Still the p2m_lock.
> > 
> > Can you please try the attached patch?  I think you'll need this one
> > plus the ones that take the locks out of the hpet code.
> > 
> > This patch makes the p2m lock into an rwlock and adjusts a number of the
> > paths that don't update the p2m so they only take the read lock.  It's a
> > bit rough but I can boot 16-way win7 guest with it.
> > 
> > N.B. Since rwlocks don't show up the the existing lock profiling, please
> > don't try to use the lock-profiling numbers to see if it's helping!
> > 
> > Andres, this is basically the big-hammer version of your "take a
> > pagecount" changes, plus the change you made to hvmemul_rep_movs().
> > If this works I intend to follow it up with a patch to make some of the
> > read-modify-write paths avoid taking the lock (by using a
> > compare-exchange operation so they only take the lock on a write).  If
> > that succeeds I might drop put_gfn() altogether.
> > 
> > But first it will need a lot of tidying up.  Noticeably missing:
> >  - SVM code equivalents to the vmx.c changes
> >  - grant-table operations still use the lock, because frankly I
> >    could not follow the current code, and it's quite late in the evening.
> > I also have a long list of uglinesses in the mm code that I found while
> > writing this lot.
> > 
> > Keir, I have no objection to later replacing this with something better
> > than an rwlock. :)  Or with making a NUMA-friendly rwlock
> > implementation, since I really expect this to be heavily read-mostly
> > when paging/sharing/pod are not enabled.
> > 
> > Cheers,
> > 
> > Tim.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 12:36:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 12:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdSZ-0007Vd-Nl; Wed, 16 May 2012 12:36:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUdSY-0007VR-IR
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 12:36:06 +0000
Received: from [193.109.254.147:7604] by server-2.bemta-14.messagelabs.com id
	07/77-19409-53F93BF4; Wed, 16 May 2012 12:36:05 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337171763!6460924!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8553 invoked from network); 16 May 2012 12:36:04 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 12:36:04 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUdSU-0000cS-10; Wed, 16 May 2012 12:36:02 +0000
Date: Wed, 16 May 2012 13:36:01 +0100
From: Tim Deegan <tim@xen.org>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Message-ID: <20120516123601.GA1933@ocelot.phlegethon.org>
References: <2a7b92d7a952c53c0fb81bdebdd45d24.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.4.2.1i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

At 11:36 +0000 on 16 May (1337168174), Zhang, Yang Z wrote:
> Hi tim,
> 
> Did the attached patch apply to upstream xen? I tried the latest xen
> and still saw the high cpu utilization.

The patch is not yet applied.  It's been cleaned up into a patch series
that I posted last Thursday, and will probably be applied later this
week. 

Cheers,

Tim.

> best regards
> yang
> 
> > -----Original Message-----
> > From: Tim Deegan [mailto:tim@xen.org]
> > Sent: Friday, April 27, 2012 5:26 AM
> > To: Zhang, Yang Z
> > Cc: andres@lagarcavilla.org; Keir Fraser; xen-devel@lists.xensource.com
> > Subject: Re: [Xen-devel] lock in vhpet
> > 
> > At 02:36 +0000 on 25 Apr (1335321409), Zhang, Yang Z wrote:
> > > > > But actually, the first cs introduced this issue is 24770. When win8
> > > > > booting and if hpet is enabled, it will use hpet as the time source
> > > > > and there have lots of hpet access and EPT violation. In EPT violation
> > > > > handler, it call get_gfn_type_access to get the mfn. The cs 24770
> > > > > introduces the gfn_lock for p2m lookups, and then the issue happens.
> > > > > After I removed the gfn_lock, the issue goes. But in latest xen, even
> > > > > I remove this lock, it still shows high cpu utilization.
> > > >
> > > > It would seem then that even the briefest lock-protected critical section
> > would
> > > > cause this? In the mmio case, the p2m lock taken in the hap fault handler is
> > > > held during the actual lookup, and for a couple of branch instructions
> > > > afterwards.
> > > >
> > > > In latest Xen, with lock removed for get_gfn, on which lock is time spent?
> > > Still the p2m_lock.
> > 
> > Can you please try the attached patch?  I think you'll need this one
> > plus the ones that take the locks out of the hpet code.
> > 
> > This patch makes the p2m lock into an rwlock and adjusts a number of the
> > paths that don't update the p2m so they only take the read lock.  It's a
> > bit rough but I can boot 16-way win7 guest with it.
> > 
> > N.B. Since rwlocks don't show up the the existing lock profiling, please
> > don't try to use the lock-profiling numbers to see if it's helping!
> > 
> > Andres, this is basically the big-hammer version of your "take a
> > pagecount" changes, plus the change you made to hvmemul_rep_movs().
> > If this works I intend to follow it up with a patch to make some of the
> > read-modify-write paths avoid taking the lock (by using a
> > compare-exchange operation so they only take the lock on a write).  If
> > that succeeds I might drop put_gfn() altogether.
> > 
> > But first it will need a lot of tidying up.  Noticeably missing:
> >  - SVM code equivalents to the vmx.c changes
> >  - grant-table operations still use the lock, because frankly I
> >    could not follow the current code, and it's quite late in the evening.
> > I also have a long list of uglinesses in the mm code that I found while
> > writing this lot.
> > 
> > Keir, I have no objection to later replacing this with something better
> > than an rwlock. :)  Or with making a NUMA-friendly rwlock
> > implementation, since I really expect this to be heavily read-mostly
> > when paging/sharing/pod are not enabled.
> > 
> > Cheers,
> > 
> > Tim.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 12:44:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 12:44:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdae-0007ye-Kq; Wed, 16 May 2012 12:44:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SUdad-0007yU-FQ
	for xen-devel@lists.xen.org; Wed, 16 May 2012 12:44:27 +0000
Received: from [85.158.139.83:29576] by server-9.bemta-5.messagelabs.com id
	DD/E5-09826-A21A3BF4; Wed, 16 May 2012 12:44:26 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337172265!26007831!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzYxMDk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3858 invoked from network); 16 May 2012 12:44:26 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 12:44:26 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 3FFD81E32;
	Wed, 16 May 2012 15:44:25 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 691B62005D; Wed, 16 May 2012 15:44:24 +0300 (EEST)
Date: Wed, 16 May 2012 15:44:24 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120516124424.GN2058@reaktio.net>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Alex Bligh <alex@alex.org.uk>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:48:30AM +0100, Stefano Stabellini wrote:
> On Tue, 15 May 2012, Alex Bligh wrote:
> > Odd question I know. I am looking for source for as recent a kernel as
> > possible running the old style xenlinux/xenified kernel (i.e. capable of
> > running the xen3.3.x hypervisor). Any ideas where I can get this -
> > preferably in git form?
> > 
> > I think Stefano Stabellini had something that worked up to 2.6.36 (from
> > memory).
> 
> Nope, I always worked on pvops style kernels.
> I think that your best chance would be with SLES/OpenSUSE kernels.
> 

SLES11SP1 has 2.6.32 Xenlinux kernel, and SLES11SP2 has 3.x Xenlinux kernel.

Jan probably can comment if those (should/might) work with old Xen 3.3.x hypervisor..

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 12:44:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 12:44:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdae-0007ye-Kq; Wed, 16 May 2012 12:44:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SUdad-0007yU-FQ
	for xen-devel@lists.xen.org; Wed, 16 May 2012 12:44:27 +0000
Received: from [85.158.139.83:29576] by server-9.bemta-5.messagelabs.com id
	DD/E5-09826-A21A3BF4; Wed, 16 May 2012 12:44:26 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337172265!26007831!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0MzYxMDk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3858 invoked from network); 16 May 2012 12:44:26 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 12:44:26 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 3FFD81E32;
	Wed, 16 May 2012 15:44:25 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 691B62005D; Wed, 16 May 2012 15:44:24 +0300 (EEST)
Date: Wed, 16 May 2012 15:44:24 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120516124424.GN2058@reaktio.net>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Alex Bligh <alex@alex.org.uk>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:48:30AM +0100, Stefano Stabellini wrote:
> On Tue, 15 May 2012, Alex Bligh wrote:
> > Odd question I know. I am looking for source for as recent a kernel as
> > possible running the old style xenlinux/xenified kernel (i.e. capable of
> > running the xen3.3.x hypervisor). Any ideas where I can get this -
> > preferably in git form?
> > 
> > I think Stefano Stabellini had something that worked up to 2.6.36 (from
> > memory).
> 
> Nope, I always worked on pvops style kernels.
> I think that your best chance would be with SLES/OpenSUSE kernels.
> 

SLES11SP1 has 2.6.32 Xenlinux kernel, and SLES11SP2 has 3.x Xenlinux kernel.

Jan probably can comment if those (should/might) work with old Xen 3.3.x hypervisor..

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:06:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:06:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdvA-000059-5F; Wed, 16 May 2012 13:05:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SUdv9-000051-2F
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:05:39 +0000
Received: from [85.158.143.99:22065] by server-3.bemta-4.messagelabs.com id
	5B/8B-05853-226A3BF4; Wed, 16 May 2012 13:05:38 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337173536!27743397!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.2 required=7.0 tests=MIME_QP_LONG_LINE
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23491 invoked from network); 16 May 2012 13:05:37 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-3.tower-216.messagelabs.com with SMTP;
	16 May 2012 13:05:37 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id AA99CC56154;
	Wed, 16 May 2012 14:05:34 +0100 (BST)
Date: Wed, 16 May 2012 14:05:33 +0100
From: Alex Bligh <alex@alex.org.uk>
To: =?UTF-8?Q?Pasi_K=C3=A4rkk=C3=A4inen?= <pasik@iki.fi>
Message-ID: <15DB653A8CA68F68F510146B@Ximines.local>
In-Reply-To: <20120515195929.GM2058@reaktio.net>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<20120515195929.GM2058@reaktio.net>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Alex Bligh <alex@alex.org.uk>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CgotLU9uIDE1IE1heSAyMDEyIDIyOjU5OjI5ICswMzAwIFBhc2kgS8Okcmtrw6RpbmVuIDxwYXNp
a0Bpa2kuZmk+IHdyb3RlOgoKPj4gQW5kIHllcywgd2Ugd291bGQgYWxsIHByZWZlciBhbGwgb3Vy
IGN1c3RvbWVycyBtb3ZlZCB0byB4ZW40IGJ1dCB0aGlzIGlzCj4+IGRpZmZpY3VsdCBmb3Igc29t
ZSBvZiB0aGVtLgo+Pgo+Cj4gdXBzdHJlYW0gcHZvcHMgZG9tMCBrZXJuZWxzIHByb2JhYmx5IHdv
bid0IHJ1biB3aXRoIFhlbiAzLjMueCBoeXBlcnZpc29yCj4gZHVlIHRvIG1pc3NpbmcgYW5kIHJl
cXVpcmVkIGh5cGVyY2FsbHMuCj4KPiBTbyB5b3UgbWlnaHQgd2FudCB0byB0cnkgU0xFUyBvciBP
cGVuU1VTRSBYZW5saW51eCBrZXJuZWxzLgo+IE9yIGV2ZW4gUkhFTDUvQ2VudE9TNSBrZXJuZWwt
eGVuLi4gaXQncyAyLjYuMTggYnV0IGFjdGl2ZWx5Cj4gbWFpbnRhaW5lZC9wYXRjaGVkLgoKT0sg
SSBzaG91bGQgcHJvYmFibHkgZXhwbGFpbiBhIGJpdCBmdXJ0aGVyLiBJIGhhdmUgYSB4ZW5saW51
eC1pZmllZApVYnVudHUncyAyLjYuMzgga2VybmVsIGFuZCBoYXZlIGl0IHdvcmtpbmcgd2l0aCB3
aXRoIFhlbiAzLjMuMiwgc2F2ZSBmb3IKdGhlIGZhY3Qgc29tZXRoaW5nIGluIHBvcnRpbmcgc2Ny
ZXdlZCB1cCB0aGUgSUdCIGRyaXZlciAocGFja2V0CnRyYW5zbWlzc2lvbiBpcyB1bmlkaXJlY3Rp
b25hbCk7IHBlcmhhcHMgdGhlIGRyaXZlciB3YXMgYnJva2VuIGFueXdheS4KRXZlcnl0aGluZyBl
bHNlIHdvcmtzLiBJIGFtIG9mIGNvdXJzZSB2ZXJ5IGhhcHB5IHRvIHNoYXJlIHRoaXMgaW50ZXJl
c3RpbmcKY2hpbWVyYS4KCkkgbWFkZSB0aGlzIGJ5IHRha2luZyBBbmRyZXcgTHlvbidzIHBhdGNo
ZXMgKG5vdCBTdGVmYW5vJ3MgLSBzb3JyeSBTdGVmYW5vKQp3aGljaCBJIGJlbGlldmUgIHdlcmUg
cHJlcGFyZWQgZm9yIEdlbnRvbywgYW5kIGFyZSBoZXJlOgoKaHR0cDovL2NvZGUuZ29vZ2xlLmNv
bS9wL2dlbnRvby14ZW4ta2VybmVsL2Rvd25sb2Fkcy9kZXRhaWw/bmFtZT14ZW4tcGF0Y2hlcy0y
LjYuMzgtMi50YXIuYnoyJmNhbj0yJnE9CgpJIHRoaW5rIHRoZXNlIHdlcmUgYmFzZWQgb24gd29y
ayBkb25lIGJ5IEphbiBCZXVsaWNoLiBJIGFwcGxpZWQgdGhlbSB0byBhIApzdG9jayAyLjYuMzgs
IHRoZW4gcmVhcHBsaWVkIFVidW50dSdzIG93biBwYXRjaGVzIG9uIHRvcCBvZiB0aGVtLgoKSSdk
IG5vdyBsaWtlIHRvIGRvIHRoZSBzYW1lIGZvciB0aGUgVWJ1bnR1IFByZWNpc2Uga2VybmVsICh3
aGljaAppcyBzb21ldGhpbmcgbGlrZSAzLjIuMC0xLjEpLiBIb3dldmVyCiBodHRwOi8vY29kZS5n
b29nbGUuY29tL3AvZ2VudG9vLXhlbi1rZXJuZWwvZG93bmxvYWRzL2xpc3Q/Y2FuPTImcT14ZW4K
ZG9lcyBub3Qgc2hvdyBhbnkgZ2VudG9vIGtlcm5lbHMgbmV3ZXIgdGhhbiAyLjYuMzguCgpXaGF0
IEknbSBub3Qgc3VyZSBpcyB3aGV0aGVyIFNVU0Ugb3IgR2VudG9vIGhhdmUgY29udGludWVkIHRv
IG1ha2UKbXkgbGlmZSBlYXN5IGJ5IGZvcndhcmQgcG9ydGluZyB0aGlzIHN0dWZmLCBhbmQgaWYg
c28gd2hlcmUgSSBjYW4gZ2V0CmhvbGQgb2YgaXQuIE9yIHdoZXRoZXIgSSBuZWVkIHRvIGZvcndh
cmQgcG9ydCBldmVyeXRoaW5nIG15c2VsZi4KCi0tIApBbGV4IEJsaWdoCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0
Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 16 13:06:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:06:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdvA-000059-5F; Wed, 16 May 2012 13:05:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SUdv9-000051-2F
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:05:39 +0000
Received: from [85.158.143.99:22065] by server-3.bemta-4.messagelabs.com id
	5B/8B-05853-226A3BF4; Wed, 16 May 2012 13:05:38 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337173536!27743397!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.2 required=7.0 tests=MIME_QP_LONG_LINE
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23491 invoked from network); 16 May 2012 13:05:37 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-3.tower-216.messagelabs.com with SMTP;
	16 May 2012 13:05:37 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id AA99CC56154;
	Wed, 16 May 2012 14:05:34 +0100 (BST)
Date: Wed, 16 May 2012 14:05:33 +0100
From: Alex Bligh <alex@alex.org.uk>
To: =?UTF-8?Q?Pasi_K=C3=A4rkk=C3=A4inen?= <pasik@iki.fi>
Message-ID: <15DB653A8CA68F68F510146B@Ximines.local>
In-Reply-To: <20120515195929.GM2058@reaktio.net>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<20120515195929.GM2058@reaktio.net>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Alex Bligh <alex@alex.org.uk>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CgotLU9uIDE1IE1heSAyMDEyIDIyOjU5OjI5ICswMzAwIFBhc2kgS8Okcmtrw6RpbmVuIDxwYXNp
a0Bpa2kuZmk+IHdyb3RlOgoKPj4gQW5kIHllcywgd2Ugd291bGQgYWxsIHByZWZlciBhbGwgb3Vy
IGN1c3RvbWVycyBtb3ZlZCB0byB4ZW40IGJ1dCB0aGlzIGlzCj4+IGRpZmZpY3VsdCBmb3Igc29t
ZSBvZiB0aGVtLgo+Pgo+Cj4gdXBzdHJlYW0gcHZvcHMgZG9tMCBrZXJuZWxzIHByb2JhYmx5IHdv
bid0IHJ1biB3aXRoIFhlbiAzLjMueCBoeXBlcnZpc29yCj4gZHVlIHRvIG1pc3NpbmcgYW5kIHJl
cXVpcmVkIGh5cGVyY2FsbHMuCj4KPiBTbyB5b3UgbWlnaHQgd2FudCB0byB0cnkgU0xFUyBvciBP
cGVuU1VTRSBYZW5saW51eCBrZXJuZWxzLgo+IE9yIGV2ZW4gUkhFTDUvQ2VudE9TNSBrZXJuZWwt
eGVuLi4gaXQncyAyLjYuMTggYnV0IGFjdGl2ZWx5Cj4gbWFpbnRhaW5lZC9wYXRjaGVkLgoKT0sg
SSBzaG91bGQgcHJvYmFibHkgZXhwbGFpbiBhIGJpdCBmdXJ0aGVyLiBJIGhhdmUgYSB4ZW5saW51
eC1pZmllZApVYnVudHUncyAyLjYuMzgga2VybmVsIGFuZCBoYXZlIGl0IHdvcmtpbmcgd2l0aCB3
aXRoIFhlbiAzLjMuMiwgc2F2ZSBmb3IKdGhlIGZhY3Qgc29tZXRoaW5nIGluIHBvcnRpbmcgc2Ny
ZXdlZCB1cCB0aGUgSUdCIGRyaXZlciAocGFja2V0CnRyYW5zbWlzc2lvbiBpcyB1bmlkaXJlY3Rp
b25hbCk7IHBlcmhhcHMgdGhlIGRyaXZlciB3YXMgYnJva2VuIGFueXdheS4KRXZlcnl0aGluZyBl
bHNlIHdvcmtzLiBJIGFtIG9mIGNvdXJzZSB2ZXJ5IGhhcHB5IHRvIHNoYXJlIHRoaXMgaW50ZXJl
c3RpbmcKY2hpbWVyYS4KCkkgbWFkZSB0aGlzIGJ5IHRha2luZyBBbmRyZXcgTHlvbidzIHBhdGNo
ZXMgKG5vdCBTdGVmYW5vJ3MgLSBzb3JyeSBTdGVmYW5vKQp3aGljaCBJIGJlbGlldmUgIHdlcmUg
cHJlcGFyZWQgZm9yIEdlbnRvbywgYW5kIGFyZSBoZXJlOgoKaHR0cDovL2NvZGUuZ29vZ2xlLmNv
bS9wL2dlbnRvby14ZW4ta2VybmVsL2Rvd25sb2Fkcy9kZXRhaWw/bmFtZT14ZW4tcGF0Y2hlcy0y
LjYuMzgtMi50YXIuYnoyJmNhbj0yJnE9CgpJIHRoaW5rIHRoZXNlIHdlcmUgYmFzZWQgb24gd29y
ayBkb25lIGJ5IEphbiBCZXVsaWNoLiBJIGFwcGxpZWQgdGhlbSB0byBhIApzdG9jayAyLjYuMzgs
IHRoZW4gcmVhcHBsaWVkIFVidW50dSdzIG93biBwYXRjaGVzIG9uIHRvcCBvZiB0aGVtLgoKSSdk
IG5vdyBsaWtlIHRvIGRvIHRoZSBzYW1lIGZvciB0aGUgVWJ1bnR1IFByZWNpc2Uga2VybmVsICh3
aGljaAppcyBzb21ldGhpbmcgbGlrZSAzLjIuMC0xLjEpLiBIb3dldmVyCiBodHRwOi8vY29kZS5n
b29nbGUuY29tL3AvZ2VudG9vLXhlbi1rZXJuZWwvZG93bmxvYWRzL2xpc3Q/Y2FuPTImcT14ZW4K
ZG9lcyBub3Qgc2hvdyBhbnkgZ2VudG9vIGtlcm5lbHMgbmV3ZXIgdGhhbiAyLjYuMzguCgpXaGF0
IEknbSBub3Qgc3VyZSBpcyB3aGV0aGVyIFNVU0Ugb3IgR2VudG9vIGhhdmUgY29udGludWVkIHRv
IG1ha2UKbXkgbGlmZSBlYXN5IGJ5IGZvcndhcmQgcG9ydGluZyB0aGlzIHN0dWZmLCBhbmQgaWYg
c28gd2hlcmUgSSBjYW4gZ2V0CmhvbGQgb2YgaXQuIE9yIHdoZXRoZXIgSSBuZWVkIHRvIGZvcndh
cmQgcG9ydCBldmVyeXRoaW5nIG15c2VsZi4KCi0tIApBbGV4IEJsaWdoCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0
Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 16 13:08:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:08:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdxd-0000Gh-PD; Wed, 16 May 2012 13:08:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUdxc-0000GX-9g
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:08:12 +0000
Received: from [85.158.143.35:10908] by server-3.bemta-4.messagelabs.com id
	FF/01-05853-BB6A3BF4; Wed, 16 May 2012 13:08:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337173690!5289701!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17510 invoked from network); 16 May 2012 13:08:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 13:08:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 14:08:09 +0100
Message-Id: <4FB3C2F702000078000841A3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 14:08:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Alex Bligh" <alex@alex.org.uk>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
	<20120516124424.GN2058@reaktio.net>
In-Reply-To: <20120516124424.GN2058@reaktio.net>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Xen Devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Pj4+IE9uIDE2LjA1LjEyIGF0IDE0OjQ0LCBQYXNpIEvDpHJra8OkaW5lbjxwYXNpa0Bpa2kuZmk+
IHdyb3RlOgo+IE9uIFdlZCwgTWF5IDE2LCAyMDEyIGF0IDExOjQ4OjMwQU0gKzAxMDAsIFN0ZWZh
bm8gU3RhYmVsbGluaSB3cm90ZToKPj4gT24gVHVlLCAxNSBNYXkgMjAxMiwgQWxleCBCbGlnaCB3
cm90ZToKPj4gPiBPZGQgcXVlc3Rpb24gSSBrbm93LiBJIGFtIGxvb2tpbmcgZm9yIHNvdXJjZSBm
b3IgYXMgcmVjZW50IGEga2VybmVsIGFzCj4+ID4gcG9zc2libGUgcnVubmluZyB0aGUgb2xkIHN0
eWxlIHhlbmxpbnV4L3hlbmlmaWVkIGtlcm5lbCAoaS5lLiBjYXBhYmxlIG9mCj4+ID4gcnVubmlu
ZyB0aGUgeGVuMy4zLnggaHlwZXJ2aXNvcikuIEFueSBpZGVhcyB3aGVyZSBJIGNhbiBnZXQgdGhp
cyAtCj4+ID4gcHJlZmVyYWJseSBpbiBnaXQgZm9ybT8KPj4gPiAKPj4gPiBJIHRoaW5rIFN0ZWZh
bm8gU3RhYmVsbGluaSBoYWQgc29tZXRoaW5nIHRoYXQgd29ya2VkIHVwIHRvIDIuNi4zNiAoZnJv
bQo+PiA+IG1lbW9yeSkuCj4+IAo+PiBOb3BlLCBJIGFsd2F5cyB3b3JrZWQgb24gcHZvcHMgc3R5
bGUga2VybmVscy4KPj4gSSB0aGluayB0aGF0IHlvdXIgYmVzdCBjaGFuY2Ugd291bGQgYmUgd2l0
aCBTTEVTL09wZW5TVVNFIGtlcm5lbHMuCj4+IAo+IAo+IFNMRVMxMVNQMSBoYXMgMi42LjMyIFhl
bmxpbnV4IGtlcm5lbCwgYW5kIFNMRVMxMVNQMiBoYXMgMy54IFhlbmxpbnV4IGtlcm5lbC4KPiAK
PiBKYW4gcHJvYmFibHkgY2FuIGNvbW1lbnQgaWYgdGhvc2UgKHNob3VsZC9taWdodCkgd29yayB3
aXRoIG9sZCBYZW4gMy4zLnggCj4gaHlwZXJ2aXNvci4uCgpUaGV5IHNob3VsZCwgYXMgbG9uZyBh
cyB0aGV5J3JlIGJlaW5nIGNvbXBpbGVkIHdpdGggdGhlIHJpZ2h0IC5jb25maWcuCkFzIGV2aWRl
bmNlIGZvciB0aGlzLCB0aGUgLWVjMiBmbGF2b3Igd2UgaGF2ZSBpbiBTTEVTIHJlcG9ydGVkbHkK
d29ya3MgZmluZSBvbiBBbWF6b24ncyBhcmNoYWljIDMuMC54IGh5cGVydmlzb3IuCgpKYW4KCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt
YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcv
eGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 16 13:08:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:08:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUdxd-0000Gh-PD; Wed, 16 May 2012 13:08:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUdxc-0000GX-9g
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:08:12 +0000
Received: from [85.158.143.35:10908] by server-3.bemta-4.messagelabs.com id
	FF/01-05853-BB6A3BF4; Wed, 16 May 2012 13:08:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337173690!5289701!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17510 invoked from network); 16 May 2012 13:08:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 13:08:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 14:08:09 +0100
Message-Id: <4FB3C2F702000078000841A3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 14:08:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Alex Bligh" <alex@alex.org.uk>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
	<20120516124424.GN2058@reaktio.net>
In-Reply-To: <20120516124424.GN2058@reaktio.net>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Xen Devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Pj4+IE9uIDE2LjA1LjEyIGF0IDE0OjQ0LCBQYXNpIEvDpHJra8OkaW5lbjxwYXNpa0Bpa2kuZmk+
IHdyb3RlOgo+IE9uIFdlZCwgTWF5IDE2LCAyMDEyIGF0IDExOjQ4OjMwQU0gKzAxMDAsIFN0ZWZh
bm8gU3RhYmVsbGluaSB3cm90ZToKPj4gT24gVHVlLCAxNSBNYXkgMjAxMiwgQWxleCBCbGlnaCB3
cm90ZToKPj4gPiBPZGQgcXVlc3Rpb24gSSBrbm93LiBJIGFtIGxvb2tpbmcgZm9yIHNvdXJjZSBm
b3IgYXMgcmVjZW50IGEga2VybmVsIGFzCj4+ID4gcG9zc2libGUgcnVubmluZyB0aGUgb2xkIHN0
eWxlIHhlbmxpbnV4L3hlbmlmaWVkIGtlcm5lbCAoaS5lLiBjYXBhYmxlIG9mCj4+ID4gcnVubmlu
ZyB0aGUgeGVuMy4zLnggaHlwZXJ2aXNvcikuIEFueSBpZGVhcyB3aGVyZSBJIGNhbiBnZXQgdGhp
cyAtCj4+ID4gcHJlZmVyYWJseSBpbiBnaXQgZm9ybT8KPj4gPiAKPj4gPiBJIHRoaW5rIFN0ZWZh
bm8gU3RhYmVsbGluaSBoYWQgc29tZXRoaW5nIHRoYXQgd29ya2VkIHVwIHRvIDIuNi4zNiAoZnJv
bQo+PiA+IG1lbW9yeSkuCj4+IAo+PiBOb3BlLCBJIGFsd2F5cyB3b3JrZWQgb24gcHZvcHMgc3R5
bGUga2VybmVscy4KPj4gSSB0aGluayB0aGF0IHlvdXIgYmVzdCBjaGFuY2Ugd291bGQgYmUgd2l0
aCBTTEVTL09wZW5TVVNFIGtlcm5lbHMuCj4+IAo+IAo+IFNMRVMxMVNQMSBoYXMgMi42LjMyIFhl
bmxpbnV4IGtlcm5lbCwgYW5kIFNMRVMxMVNQMiBoYXMgMy54IFhlbmxpbnV4IGtlcm5lbC4KPiAK
PiBKYW4gcHJvYmFibHkgY2FuIGNvbW1lbnQgaWYgdGhvc2UgKHNob3VsZC9taWdodCkgd29yayB3
aXRoIG9sZCBYZW4gMy4zLnggCj4gaHlwZXJ2aXNvci4uCgpUaGV5IHNob3VsZCwgYXMgbG9uZyBh
cyB0aGV5J3JlIGJlaW5nIGNvbXBpbGVkIHdpdGggdGhlIHJpZ2h0IC5jb25maWcuCkFzIGV2aWRl
bmNlIGZvciB0aGlzLCB0aGUgLWVjMiBmbGF2b3Igd2UgaGF2ZSBpbiBTTEVTIHJlcG9ydGVkbHkK
d29ya3MgZmluZSBvbiBBbWF6b24ncyBhcmNoYWljIDMuMC54IGh5cGVydmlzb3IuCgpKYW4KCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt
YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcv
eGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 16 13:20:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUe9T-0000Xn-1T; Wed, 16 May 2012 13:20:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUe9R-0000Xg-CV
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:20:25 +0000
Received: from [85.158.143.99:4075] by server-2.bemta-4.messagelabs.com id
	5F/BC-12211-899A3BF4; Wed, 16 May 2012 13:20:24 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337174422!23037148!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7224 invoked from network); 16 May 2012 13:20:23 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-12.tower-216.messagelabs.com with SMTP;
	16 May 2012 13:20:23 -0000
Received: from int-mx12.intmail.prod.int.phx2.redhat.com
	(int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GDKF5K017223
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 09:20:16 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4GDKC4N006964; Wed, 16 May 2012 09:20:13 -0400
Date: Wed, 16 May 2012 16:20:17 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516132017.GB8620@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
	<CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
 state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 12:37:54PM +0100, Anthony PERARD wrote:
> On Wed, May 16, 2012 at 12:23 PM, Paolo Bonzini <pbonzini@redhat.com> wro=
te:
> > Il 16/05/2012 13:15, Anthony PERARD ha scritto:
> >>> > =A0 =A0 =A0 =A0 qdev_unplug(&(d->qdev), NULL);
> >>> > + =A0 =A0 =A0 =A0qdev_free(&(d->qdev));
> >>> > =A0 =A0 }
> >>> > =A0}
> >>> >
> >>> >
> >>> > Anthony, can you confirm that this solves the problem for you?
> >> This work until I try to hotplug a new device to the guest at wish
> >> point I have this:
> >> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
> >> assertion failed: (obj->ref =3D=3D 0)
> >>
> >> This is because there is still a pending request of the hotunplug in
> >> the acpi piix4.
> >> If I call qdev_free without qdev_unplug, I hit the same assert, but
> >> rigth away. This is way something new.
> >
> > Because it's missing the object_unparent done by qdev_unplug. =A0Does
> > object_unparent+qdev_free work? =A0(I believe object_unparent should be
> > done by qdev_free rather than qdev_unplug, but that's something for 1.2=
).
> =

> Cool, this seems to work fine. Thanks.
> =

> I'll test a bit more and resend a patch with only object_unparent+qdev_fr=
ee.

Separately it was suggested to make qdev_free do object_unparent
automatically. Anthony is yet to respond.

> -- =

> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:20:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUe9T-0000Xn-1T; Wed, 16 May 2012 13:20:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUe9R-0000Xg-CV
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:20:25 +0000
Received: from [85.158.143.99:4075] by server-2.bemta-4.messagelabs.com id
	5F/BC-12211-899A3BF4; Wed, 16 May 2012 13:20:24 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337174422!23037148!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7224 invoked from network); 16 May 2012 13:20:23 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-12.tower-216.messagelabs.com with SMTP;
	16 May 2012 13:20:23 -0000
Received: from int-mx12.intmail.prod.int.phx2.redhat.com
	(int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GDKF5K017223
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 09:20:16 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4GDKC4N006964; Wed, 16 May 2012 09:20:13 -0400
Date: Wed, 16 May 2012 16:20:17 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20120516132017.GB8620@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
	<CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Qemu-devel] [PATCH 1/4] Introduce a new hotplug
 state: Force eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 12:37:54PM +0100, Anthony PERARD wrote:
> On Wed, May 16, 2012 at 12:23 PM, Paolo Bonzini <pbonzini@redhat.com> wro=
te:
> > Il 16/05/2012 13:15, Anthony PERARD ha scritto:
> >>> > =A0 =A0 =A0 =A0 qdev_unplug(&(d->qdev), NULL);
> >>> > + =A0 =A0 =A0 =A0qdev_free(&(d->qdev));
> >>> > =A0 =A0 }
> >>> > =A0}
> >>> >
> >>> >
> >>> > Anthony, can you confirm that this solves the problem for you?
> >> This work until I try to hotplug a new device to the guest at wish
> >> point I have this:
> >> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
> >> assertion failed: (obj->ref =3D=3D 0)
> >>
> >> This is because there is still a pending request of the hotunplug in
> >> the acpi piix4.
> >> If I call qdev_free without qdev_unplug, I hit the same assert, but
> >> rigth away. This is way something new.
> >
> > Because it's missing the object_unparent done by qdev_unplug. =A0Does
> > object_unparent+qdev_free work? =A0(I believe object_unparent should be
> > done by qdev_free rather than qdev_unplug, but that's something for 1.2=
).
> =

> Cool, this seems to work fine. Thanks.
> =

> I'll test a bit more and resend a patch with only object_unparent+qdev_fr=
ee.

Separately it was suggested to make qdev_free do object_unparent
automatically. Anthony is yet to respond.

> -- =

> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:24:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUeDF-0000hw-S5; Wed, 16 May 2012 13:24:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUeDE-0000hp-Qx
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:24:21 +0000
Received: from [193.109.254.147:14747] by server-6.bemta-14.messagelabs.com id
	6A/7D-04960-48AA3BF4; Wed, 16 May 2012 13:24:20 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337174658!8693212!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29794 invoked from network); 16 May 2012 13:24:18 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-13.tower-27.messagelabs.com with SMTP;
	16 May 2012 13:24:18 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GDOErb026066
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 09:24:14 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4GDOBpK025603; Wed, 16 May 2012 09:24:12 -0400
Date: Wed, 16 May 2012 16:24:15 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120516132415.GC8620@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
	<alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
	<20120516103057.GA5161@redhat.com>
	<alpine.DEB.2.00.1205161133270.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205161133270.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:37:02AM +0100, Stefano Stabellini wrote:
> On Wed, 16 May 2012, Michael S. Tsirkin wrote:
> > On Wed, May 16, 2012 at 11:19:53AM +0100, Stefano Stabellini wrote:
> > > On Wed, 16 May 2012, Paolo Bonzini wrote:
> > > > Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > > > > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> > > > >> On Xen the PV drivers can ask the firmware to surprise-remove the
> > > > >> emulated NICs.
> > > > > 
> > > > > So driver tells firmware (meaning acpi? how?) that it's ok
> > > > > to do surprize removal?
> > > > 
> > > > It writes something to some I/O port, and then QEMU surprise-removes the
> > > > NICs.
> > > 
> > > Yes, writing to a static I/O port provided by the Xen platform PCI
> > > device, see hw/xen_platform.c:platform_fixed_ioport_writew.
> > > 
> > > The guest can ask to unplug emulated NICs and disks this way.
> > > Surprise-removal is OK in these cases.
> > 
> > Confused.
> > Don't you want to just remove the device on unplug?
> 
> Yes, the NIC needs to "disappear" from the PCI bus.
> 
> 
> > In fact the equivalent of guest calling _EJ0?
> 
> Except that _EJ0 can or cannot be implemented, while this doesn't have
> to go through ACPI or PCI hotplug and it is supposed to always work.

So the answer is to simply free on unplug exactly
like _EJ0 does. There's no forcing and no surprise removal here.

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:24:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUeDF-0000hw-S5; Wed, 16 May 2012 13:24:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUeDE-0000hp-Qx
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:24:21 +0000
Received: from [193.109.254.147:14747] by server-6.bemta-14.messagelabs.com id
	6A/7D-04960-48AA3BF4; Wed, 16 May 2012 13:24:20 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337174658!8693212!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29794 invoked from network); 16 May 2012 13:24:18 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-13.tower-27.messagelabs.com with SMTP;
	16 May 2012 13:24:18 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GDOErb026066
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 09:24:14 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4GDOBpK025603; Wed, 16 May 2012 09:24:12 -0400
Date: Wed, 16 May 2012 16:24:15 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120516132415.GC8620@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-5-git-send-email-anthony.perard@citrix.com>
	<20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com>
	<20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com>
	<alpine.DEB.2.00.1205161116070.26786@kaball-desktop>
	<20120516103057.GA5161@redhat.com>
	<alpine.DEB.2.00.1205161133270.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205161133270.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:37:02AM +0100, Stefano Stabellini wrote:
> On Wed, 16 May 2012, Michael S. Tsirkin wrote:
> > On Wed, May 16, 2012 at 11:19:53AM +0100, Stefano Stabellini wrote:
> > > On Wed, 16 May 2012, Paolo Bonzini wrote:
> > > > Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto:
> > > > > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote:
> > > > >> On Xen the PV drivers can ask the firmware to surprise-remove the
> > > > >> emulated NICs.
> > > > > 
> > > > > So driver tells firmware (meaning acpi? how?) that it's ok
> > > > > to do surprize removal?
> > > > 
> > > > It writes something to some I/O port, and then QEMU surprise-removes the
> > > > NICs.
> > > 
> > > Yes, writing to a static I/O port provided by the Xen platform PCI
> > > device, see hw/xen_platform.c:platform_fixed_ioport_writew.
> > > 
> > > The guest can ask to unplug emulated NICs and disks this way.
> > > Surprise-removal is OK in these cases.
> > 
> > Confused.
> > Don't you want to just remove the device on unplug?
> 
> Yes, the NIC needs to "disappear" from the PCI bus.
> 
> 
> > In fact the equivalent of guest calling _EJ0?
> 
> Except that _EJ0 can or cannot be implemented, while this doesn't have
> to go through ACPI or PCI hotplug and it is supposed to always work.

So the answer is to simply free on unplug exactly
like _EJ0 does. There's no forcing and no surprise removal here.

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:25:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:25:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUeE2-0000lD-A6; Wed, 16 May 2012 13:25:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUeE1-0000l4-Ej
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:25:09 +0000
Received: from [85.158.143.35:14105] by server-1.bemta-4.messagelabs.com id
	A3/E7-00342-4BAA3BF4; Wed, 16 May 2012 13:25:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337174707!10198179!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32640 invoked from network); 16 May 2012 13:25:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 13:25:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 14:25:06 +0100
Message-Id: <4FB3C6EE02000078000841D0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 14:25:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Alex Bligh" <alex@alex.org.uk>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<20120515195929.GM2058@reaktio.net>
	<15DB653A8CA68F68F510146B@Ximines.local>
In-Reply-To: <15DB653A8CA68F68F510146B@Ximines.local>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 15:05, Alex Bligh <alex@alex.org.uk> wrote:
> What I'm not sure is whether SUSE or Gentoo have continued to make
> my life easy by forward porting this stuff, and if so where I can get
> hold of it. Or whether I need to forward port everything myself.

http://kernel.opensuse.org/git/master (of course we're at 3.4
now, but using the history you should be able to get something
usable).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:25:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:25:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUeE2-0000lD-A6; Wed, 16 May 2012 13:25:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUeE1-0000l4-Ej
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:25:09 +0000
Received: from [85.158.143.35:14105] by server-1.bemta-4.messagelabs.com id
	A3/E7-00342-4BAA3BF4; Wed, 16 May 2012 13:25:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337174707!10198179!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32640 invoked from network); 16 May 2012 13:25:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 13:25:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 14:25:06 +0100
Message-Id: <4FB3C6EE02000078000841D0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 14:25:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Alex Bligh" <alex@alex.org.uk>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<20120515195929.GM2058@reaktio.net>
	<15DB653A8CA68F68F510146B@Ximines.local>
In-Reply-To: <15DB653A8CA68F68F510146B@Ximines.local>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 16.05.12 at 15:05, Alex Bligh <alex@alex.org.uk> wrote:
> What I'm not sure is whether SUSE or Gentoo have continued to make
> my life easy by forward porting this stuff, and if so where I can get
> hold of it. Or whether I need to forward port everything myself.

http://kernel.opensuse.org/git/master (of course we're at 3.4
now, but using the history you should be able to get something
usable).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:53:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:53:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUefV-00018k-PK; Wed, 16 May 2012 13:53:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SUefT-00018f-LR
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:53:31 +0000
Received: from [85.158.143.35:8314] by server-3.bemta-4.messagelabs.com id
	8F/E7-05853-B51B3BF4; Wed, 16 May 2012 13:53:31 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337176409!12537448!1
X-Originating-IP: [208.97.132.119]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4xMTkgPT4gMjU2OTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18504 invoked from network); 16 May 2012 13:53:29 -0000
Received: from caiajhbdcbbj.dreamhost.com (HELO homiemail-a76.g.dreamhost.com)
	(208.97.132.119) by server-8.tower-21.messagelabs.com with SMTP;
	16 May 2012 13:53:29 -0000
Received: from homiemail-a76.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTP id 308CC45807B;
	Wed, 16 May 2012 06:53:28 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=gbCYahFK+Xve2QHjHTqQgvQu1zxjdGfZvOKFgsQ38Yv5
	vVSCh9UHTlB7jalWJHbAJcExIpPVApyG4va83B7tDfuiDsrkPayLX/gr2fSI7Ks3
	vh8e/j+vDGBV7MKNHwnhC4MQzSieyLQtQhMm/1l9pQIojiKsslsgzfNM+Q/Y7Pk=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=IqLJ9SL/VdH8hJRnddeSyHmTvnM=; b=OutdjKs6
	7quKMi8NO81rdiG8+7gcueitMt0PTgiWbsOOQKe2yStwsADNRqkIgo575LIoihSl
	7U6mFpPy5/IqxRLlL1K/2bTCy+mrDjeetI0nHkW+Fe/H5BQGX4x0k5RxmVwtiJmy
	EsJdswazHPM91Rti/ErC6tkTd11pfzJ5I8o=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTPA id A7AF245807C; 
	Wed, 16 May 2012 06:53:27 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Wed, 16 May 2012 06:53:28 -0700
Message-ID: <a7c44efb2246a015a1cc223ee51aa908.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
Date: Wed, 16 May 2012 06:53:28 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 00 of 11] Use a reader-writer lock for the
	p2m
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> This is a cleaned-up version of my patch of two weeks ago to make the
> p2m lock into an rwlock, with some updates from Andres folded in.
> With these applied, p2m lookups are no longer serialized in the
> common case (where there are few updates).
>
> I hope to check these in next week, before we branch for 4.2.

We've found this to not break our testing:
Acked-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

Thanks!
Andres

>
> Signed-off-by: Tim Deegan <tim@xen.org>
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:53:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:53:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUefV-00018k-PK; Wed, 16 May 2012 13:53:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SUefT-00018f-LR
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:53:31 +0000
Received: from [85.158.143.35:8314] by server-3.bemta-4.messagelabs.com id
	8F/E7-05853-B51B3BF4; Wed, 16 May 2012 13:53:31 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337176409!12537448!1
X-Originating-IP: [208.97.132.119]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4xMTkgPT4gMjU2OTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18504 invoked from network); 16 May 2012 13:53:29 -0000
Received: from caiajhbdcbbj.dreamhost.com (HELO homiemail-a76.g.dreamhost.com)
	(208.97.132.119) by server-8.tower-21.messagelabs.com with SMTP;
	16 May 2012 13:53:29 -0000
Received: from homiemail-a76.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTP id 308CC45807B;
	Wed, 16 May 2012 06:53:28 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=gbCYahFK+Xve2QHjHTqQgvQu1zxjdGfZvOKFgsQ38Yv5
	vVSCh9UHTlB7jalWJHbAJcExIpPVApyG4va83B7tDfuiDsrkPayLX/gr2fSI7Ks3
	vh8e/j+vDGBV7MKNHwnhC4MQzSieyLQtQhMm/1l9pQIojiKsslsgzfNM+Q/Y7Pk=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=IqLJ9SL/VdH8hJRnddeSyHmTvnM=; b=OutdjKs6
	7quKMi8NO81rdiG8+7gcueitMt0PTgiWbsOOQKe2yStwsADNRqkIgo575LIoihSl
	7U6mFpPy5/IqxRLlL1K/2bTCy+mrDjeetI0nHkW+Fe/H5BQGX4x0k5RxmVwtiJmy
	EsJdswazHPM91Rti/ErC6tkTd11pfzJ5I8o=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTPA id A7AF245807C; 
	Wed, 16 May 2012 06:53:27 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Wed, 16 May 2012 06:53:28 -0700
Message-ID: <a7c44efb2246a015a1cc223ee51aa908.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <patchbomb.1336661984@whitby.uk.xensource.com>
References: <patchbomb.1336661984@whitby.uk.xensource.com>
Date: Wed, 16 May 2012 06:53:28 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 00 of 11] Use a reader-writer lock for the
	p2m
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> This is a cleaned-up version of my patch of two weeks ago to make the
> p2m lock into an rwlock, with some updates from Andres folded in.
> With these applied, p2m lookups are no longer serialized in the
> common case (where there are few updates).
>
> I hope to check these in next week, before we branch for 4.2.

We've found this to not break our testing:
Acked-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

Thanks!
Andres

>
> Signed-off-by: Tim Deegan <tim@xen.org>
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:58:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUejb-0001Fi-DJ; Wed, 16 May 2012 13:57:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SUeja-0001FY-9P
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:57:46 +0000
Received: from [85.158.143.35:41743] by server-1.bemta-4.messagelabs.com id
	1A/4F-00342-952B3BF4; Wed, 16 May 2012 13:57:45 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337176664!12538424!1
X-Originating-IP: [208.97.132.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4yMDcgPT4gMjQzNzk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9803 invoked from network); 16 May 2012 13:57:44 -0000
Received: from caiajhbdccah.dreamhost.com (HELO homiemail-a76.g.dreamhost.com)
	(208.97.132.207) by server-8.tower-21.messagelabs.com with SMTP;
	16 May 2012 13:57:44 -0000
Received: from homiemail-a76.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTP id 8642F458080;
	Wed, 16 May 2012 06:57:43 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=content-type
	:mime-version:content-transfer-encoding:subject:message-id:date
	:from:to:cc; q=dns; s=lagarcavilla.org; b=uMftp90+MV5bKvhlnk7bi3
	odnlApOyJo7ICKWUPhDR05TZ713ueNdE1x+CRJNiPXMQNzl37LsZXqVQ0MWDCanZ
	9ScP3HGVr9fdAJzcmC87HsgogoOuoSUg8HHT3TBd2Rwe50n79cAByiKhs6ue7vsn
	XsyreWuWCMH9lc5Jp/B18=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	content-type:mime-version:content-transfer-encoding:subject
	:message-id:date:from:to:cc; s=lagarcavilla.org; bh=mJS5RpTROOce
	hvzbyUwWlJ1P4IU=; b=AkLPQNuLNGi2Yhg3NJBGE3zSVkXyiVmdWetAoScm0C4T
	boM1Y++6og0TviDTaBbps9mV6ohrsxHrXcF2owTezl6kM4XjN+7wL6t5hvgOrw2N
	tkLZ2nWD5Caaa5CnbVaL+oQnGDfB/1TkIoLoCL9evTaQACmGoDDHMXniyycRS7Y=
Received: from xdev.gridcentric.ca (unknown [206.223.182.18])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	(Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTPSA id 292D345807B; 
	Wed, 16 May 2012 06:57:43 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 3169fba29613241b69acfff7888c23f79ab0ac55
Message-Id: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
User-Agent: Mercurial-patchbomb/1.8.4
Date: Wed, 16 May 2012 10:05:32 -0400
From: Andres Lagar-Cavilla <andres@lagarcavilla.org>
To: xen-devel@lists.xen.org
Cc: andres@gridcentric.ca, tim@xen.org
Subject: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 xen/arch/x86/mm/mem_sharing.c |  7 ++++---
 xen/include/asm-x86/p2m.h     |  8 ++++++++
 2 files changed, 12 insertions(+), 3 deletions(-)


Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r f83397dfb6c0 -r 3169fba29613 xen/arch/x86/mm/mem_sharing.c
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
     if ( spage->sharing->handle != sh )
         goto err_unlock;
 
-    /* Make sure the target page is a hole in the physmap */
-    if ( mfn_valid(cmfn) ||
-         (!(p2m_is_ram(cmfn_type))) )
+    /* Make sure the target page is a hole in the physmap. These are typically
+     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
+     * definition of p2m_is_hole in p2m.h. */
+    if ( !p2m_is_hole(cmfn_type) || mfn_valid(cmfn) )
     {
         ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
         goto err_unlock;
diff -r f83397dfb6c0 -r 3169fba29613 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
                        | p2m_to_mask(p2m_ram_paging_in)       \
                        | p2m_to_mask(p2m_ram_shared))
 
+/* Types that represent a physmap hole that is ok to replace with a shared
+ * entry */
+#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
+                       | p2m_to_mask(p2m_invalid)       \
+                       | p2m_to_mask(p2m_ram_paging_in) \
+                       | p2m_to_mask(p2m_ram_paged))
+
 /* Grant mapping types, which map to a real machine frame in another
  * VM */
 #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
@@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;
 
 /* Useful predicates */
 #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
+#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
 #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
 #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
 #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 13:58:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 13:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUejb-0001Fi-DJ; Wed, 16 May 2012 13:57:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SUeja-0001FY-9P
	for xen-devel@lists.xen.org; Wed, 16 May 2012 13:57:46 +0000
Received: from [85.158.143.35:41743] by server-1.bemta-4.messagelabs.com id
	1A/4F-00342-952B3BF4; Wed, 16 May 2012 13:57:45 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337176664!12538424!1
X-Originating-IP: [208.97.132.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4yMDcgPT4gMjQzNzk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9803 invoked from network); 16 May 2012 13:57:44 -0000
Received: from caiajhbdccah.dreamhost.com (HELO homiemail-a76.g.dreamhost.com)
	(208.97.132.207) by server-8.tower-21.messagelabs.com with SMTP;
	16 May 2012 13:57:44 -0000
Received: from homiemail-a76.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTP id 8642F458080;
	Wed, 16 May 2012 06:57:43 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=content-type
	:mime-version:content-transfer-encoding:subject:message-id:date
	:from:to:cc; q=dns; s=lagarcavilla.org; b=uMftp90+MV5bKvhlnk7bi3
	odnlApOyJo7ICKWUPhDR05TZ713ueNdE1x+CRJNiPXMQNzl37LsZXqVQ0MWDCanZ
	9ScP3HGVr9fdAJzcmC87HsgogoOuoSUg8HHT3TBd2Rwe50n79cAByiKhs6ue7vsn
	XsyreWuWCMH9lc5Jp/B18=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	content-type:mime-version:content-transfer-encoding:subject
	:message-id:date:from:to:cc; s=lagarcavilla.org; bh=mJS5RpTROOce
	hvzbyUwWlJ1P4IU=; b=AkLPQNuLNGi2Yhg3NJBGE3zSVkXyiVmdWetAoScm0C4T
	boM1Y++6og0TviDTaBbps9mV6ohrsxHrXcF2owTezl6kM4XjN+7wL6t5hvgOrw2N
	tkLZ2nWD5Caaa5CnbVaL+oQnGDfB/1TkIoLoCL9evTaQACmGoDDHMXniyycRS7Y=
Received: from xdev.gridcentric.ca (unknown [206.223.182.18])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	(Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a76.g.dreamhost.com (Postfix) with ESMTPSA id 292D345807B; 
	Wed, 16 May 2012 06:57:43 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 3169fba29613241b69acfff7888c23f79ab0ac55
Message-Id: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
User-Agent: Mercurial-patchbomb/1.8.4
Date: Wed, 16 May 2012 10:05:32 -0400
From: Andres Lagar-Cavilla <andres@lagarcavilla.org>
To: xen-devel@lists.xen.org
Cc: andres@gridcentric.ca, tim@xen.org
Subject: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 xen/arch/x86/mm/mem_sharing.c |  7 ++++---
 xen/include/asm-x86/p2m.h     |  8 ++++++++
 2 files changed, 12 insertions(+), 3 deletions(-)


Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r f83397dfb6c0 -r 3169fba29613 xen/arch/x86/mm/mem_sharing.c
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
     if ( spage->sharing->handle != sh )
         goto err_unlock;
 
-    /* Make sure the target page is a hole in the physmap */
-    if ( mfn_valid(cmfn) ||
-         (!(p2m_is_ram(cmfn_type))) )
+    /* Make sure the target page is a hole in the physmap. These are typically
+     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
+     * definition of p2m_is_hole in p2m.h. */
+    if ( !p2m_is_hole(cmfn_type) || mfn_valid(cmfn) )
     {
         ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
         goto err_unlock;
diff -r f83397dfb6c0 -r 3169fba29613 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
                        | p2m_to_mask(p2m_ram_paging_in)       \
                        | p2m_to_mask(p2m_ram_shared))
 
+/* Types that represent a physmap hole that is ok to replace with a shared
+ * entry */
+#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
+                       | p2m_to_mask(p2m_invalid)       \
+                       | p2m_to_mask(p2m_ram_paging_in) \
+                       | p2m_to_mask(p2m_ram_paged))
+
 /* Grant mapping types, which map to a real machine frame in another
  * VM */
 #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
@@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;
 
 /* Useful predicates */
 #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
+#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
 #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
 #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
 #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 14:14:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 14:14:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUezh-0001t5-LW; Wed, 16 May 2012 14:14:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SUezg-0001sz-62
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 14:14:24 +0000
Received: from [193.109.254.147:19928] by server-10.bemta-14.messagelabs.com
	id 42/AB-05847-F36B3BF4; Wed, 16 May 2012 14:14:23 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337177661!9656918!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16527 invoked from network); 16 May 2012 14:14:22 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 May 2012 14:14:22 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SUezd-0007jC-1b
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 07:14:21 -0700
Date: Wed, 16 May 2012 07:14:21 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337177661024-5708934.post@n5.nabble.com>
In-Reply-To: <1337002116340-5708718.post@n5.nabble.com>
References: <1336988517973-5708692.post@n5.nabble.com>
	<1337002116340-5708718.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25326
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Fantu wrote
> 
> I start pv domU boot problem bisect, looking at my previous posts with rev
> 25070 were working but not now.
> I want try if kernel package regression but this not work:
> aptitude install linux-image-3.2.0-2-amd64=3.2.12-1
> Probably no more in repository, can anyone give me advice please?
> 
I tried also with kernel downgrade to 3.2.12-1 but not work, I have no idea
what caused the regression :(

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25326-tp5708692p5708934.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 14:14:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 14:14:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUezh-0001t5-LW; Wed, 16 May 2012 14:14:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SUezg-0001sz-62
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 14:14:24 +0000
Received: from [193.109.254.147:19928] by server-10.bemta-14.messagelabs.com
	id 42/AB-05847-F36B3BF4; Wed, 16 May 2012 14:14:23 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337177661!9656918!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16527 invoked from network); 16 May 2012 14:14:22 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 May 2012 14:14:22 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SUezd-0007jC-1b
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 07:14:21 -0700
Date: Wed, 16 May 2012 07:14:21 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337177661024-5708934.post@n5.nabble.com>
In-Reply-To: <1337002116340-5708718.post@n5.nabble.com>
References: <1336988517973-5708692.post@n5.nabble.com>
	<1337002116340-5708718.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Test result of xen-unstable changeset 25326
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Fantu wrote
> 
> I start pv domU boot problem bisect, looking at my previous posts with rev
> 25070 were working but not now.
> I want try if kernel package regression but this not work:
> aptitude install linux-image-3.2.0-2-amd64=3.2.12-1
> Probably no more in repository, can anyone give me advice please?
> 
I tried also with kernel downgrade to 3.2.12-1 but not work, I have no idea
what caused the regression :(

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25326-tp5708692p5708934.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:00:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:00:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUfiI-0003Pr-7a; Wed, 16 May 2012 15:00:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUfiG-0003Pm-Hg
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:00:28 +0000
Received: from [85.158.139.83:49697] by server-9.bemta-5.messagelabs.com id
	A2/CC-09826-B01C3BF4; Wed, 16 May 2012 15:00:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337180421!21409812!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25529 invoked from network); 16 May 2012 15:00:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:00:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330923600"; d="scan'208";a="195109026"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:58:30 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:58:30 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SUfgL-0006HJ-PP;
	Wed, 16 May 2012 15:58:29 +0100
MIME-Version: 1.0
X-Mercurial-Node: 3f65f6466bf6008a2cccc374ffd9ab799dd41da4
Message-ID: <3f65f6466bf6008a2ccc.1337180309@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 16 May 2012 15:58:29 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337180254 -3600
# Node ID 3f65f6466bf6008a2cccc374ffd9ab799dd41da4
# Parent  c8af0666c1448bbdcb3fddc155c6cc1978bc0206
xl: remove all local "ctx" variables.

xl has a global "ctx" variable, so there should be no need to pass a
ctx to any function.

The exception is to functions which are used as libxl callbacks. In
this case the ctx passed to the callback must necessarily always be
the same as the global one and so we rename the parameter version to
ctx_unused.

This fixes a hang/deadlock with console autoconnect. postfork() would
correctly replace the global ctx with a new one in the child, but
autoconnect_console() would continue using the old context via the
local variable (i.e. the parent's context) leading to deadlock on the
xenstore handle (which cannot be reliably shared between guests).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r c8af0666c144 -r 3f65f6466bf6 tools/libxl/xl.c
--- a/tools/libxl/xl.c	Wed May 16 14:37:25 2012 +0100
+++ b/tools/libxl/xl.c	Wed May 16 15:57:34 2012 +0100
@@ -108,7 +108,7 @@ void postfork(void)
     }
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
+pid_t xl_fork(void) {
     pid_t pid;
 
     pid = fork();
diff -r c8af0666c144 -r 3f65f6466bf6 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Wed May 16 14:37:25 2012 +0100
+++ b/tools/libxl/xl.h	Wed May 16 15:57:34 2012 +0100
@@ -107,7 +107,7 @@ struct cmd_spec *cmdtable_lookup(const c
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
+pid_t xl_fork(void); /* like fork, but prints and dies if it fails */
 void postfork(void);
 
 /* global options */
diff -r c8af0666c144 -r 3f65f6466bf6 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 16 14:37:25 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 16 15:57:34 2012 +0100
@@ -1298,7 +1298,7 @@ skip_vfb:
     xlu_cfg_destroy(config);
 }
 
-static void reload_domain_config(libxl_ctx *ctx, uint32_t domid,
+static void reload_domain_config(uint32_t domid,
                                  uint8_t **config_data, int *config_len)
 {
     uint8_t *t_data;
@@ -1318,7 +1318,7 @@ static void reload_domain_config(libxl_c
 
 /* Returns 1 if domain should be restarted,
  * 2 if domain should be renamed then restarted, or 0 */
-static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
+static int handle_domain_death(uint32_t domid,
                                libxl_event *event,
                                uint8_t **config_data, int *config_len,
                                libxl_domain_config *d_config)
@@ -1377,12 +1377,12 @@ static int handle_domain_death(libxl_ctx
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART_RENAME:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
         restart = 2;
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
 
         restart = 1;
         /* fall-through */
@@ -1418,7 +1418,7 @@ static void replace_string(char **str, c
 }
 
 
-static int preserve_domain(libxl_ctx *ctx, uint32_t domid, libxl_event *event,
+static int preserve_domain(uint32_t domid, libxl_event *event,
                            libxl_domain_config *d_config)
 {
     time_t now;
@@ -1496,7 +1496,7 @@ static int freemem(libxl_domain_build_in
     return ERROR_NOMEM;
 }
 
-static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
+static void autoconnect_console(libxl_ctx *ctx_ignored, libxl_event *ev, void *priv)
 {
     pid_t *pid = priv;
 
@@ -1811,7 +1811,7 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork();
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
@@ -1889,11 +1889,11 @@ start:
             LOG("Domain %d has shut down, reason code %d 0x%x", domid,
                 event->u.domain_shutdown.shutdown_reason,
                 event->u.domain_shutdown.shutdown_reason);
-            switch (handle_domain_death(ctx, domid, event,
+            switch (handle_domain_death(domid, event,
                                         (uint8_t **)&config_data, &config_len,
                                         &d_config)) {
             case 2:
-                if (!preserve_domain(ctx, domid, event, &d_config)) {
+                if (!preserve_domain(domid, event, &d_config)) {
                     /* If we fail then exit leaving the old domain in place. */
                     ret = -1;
                     goto out;
@@ -2929,7 +2929,7 @@ static void migrate_domain(const char *d
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork();
 
     if (!child) {
         dup2(sendpipe[0], 0);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:00:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:00:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUfiI-0003Pr-7a; Wed, 16 May 2012 15:00:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUfiG-0003Pm-Hg
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:00:28 +0000
Received: from [85.158.139.83:49697] by server-9.bemta-5.messagelabs.com id
	A2/CC-09826-B01C3BF4; Wed, 16 May 2012 15:00:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337180421!21409812!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25529 invoked from network); 16 May 2012 15:00:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:00:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330923600"; d="scan'208";a="195109026"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 10:58:30 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 10:58:30 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SUfgL-0006HJ-PP;
	Wed, 16 May 2012 15:58:29 +0100
MIME-Version: 1.0
X-Mercurial-Node: 3f65f6466bf6008a2cccc374ffd9ab799dd41da4
Message-ID: <3f65f6466bf6008a2ccc.1337180309@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 16 May 2012 15:58:29 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337180254 -3600
# Node ID 3f65f6466bf6008a2cccc374ffd9ab799dd41da4
# Parent  c8af0666c1448bbdcb3fddc155c6cc1978bc0206
xl: remove all local "ctx" variables.

xl has a global "ctx" variable, so there should be no need to pass a
ctx to any function.

The exception is to functions which are used as libxl callbacks. In
this case the ctx passed to the callback must necessarily always be
the same as the global one and so we rename the parameter version to
ctx_unused.

This fixes a hang/deadlock with console autoconnect. postfork() would
correctly replace the global ctx with a new one in the child, but
autoconnect_console() would continue using the old context via the
local variable (i.e. the parent's context) leading to deadlock on the
xenstore handle (which cannot be reliably shared between guests).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r c8af0666c144 -r 3f65f6466bf6 tools/libxl/xl.c
--- a/tools/libxl/xl.c	Wed May 16 14:37:25 2012 +0100
+++ b/tools/libxl/xl.c	Wed May 16 15:57:34 2012 +0100
@@ -108,7 +108,7 @@ void postfork(void)
     }
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
+pid_t xl_fork(void) {
     pid_t pid;
 
     pid = fork();
diff -r c8af0666c144 -r 3f65f6466bf6 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Wed May 16 14:37:25 2012 +0100
+++ b/tools/libxl/xl.h	Wed May 16 15:57:34 2012 +0100
@@ -107,7 +107,7 @@ struct cmd_spec *cmdtable_lookup(const c
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
+pid_t xl_fork(void); /* like fork, but prints and dies if it fails */
 void postfork(void);
 
 /* global options */
diff -r c8af0666c144 -r 3f65f6466bf6 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 16 14:37:25 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 16 15:57:34 2012 +0100
@@ -1298,7 +1298,7 @@ skip_vfb:
     xlu_cfg_destroy(config);
 }
 
-static void reload_domain_config(libxl_ctx *ctx, uint32_t domid,
+static void reload_domain_config(uint32_t domid,
                                  uint8_t **config_data, int *config_len)
 {
     uint8_t *t_data;
@@ -1318,7 +1318,7 @@ static void reload_domain_config(libxl_c
 
 /* Returns 1 if domain should be restarted,
  * 2 if domain should be renamed then restarted, or 0 */
-static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
+static int handle_domain_death(uint32_t domid,
                                libxl_event *event,
                                uint8_t **config_data, int *config_len,
                                libxl_domain_config *d_config)
@@ -1377,12 +1377,12 @@ static int handle_domain_death(libxl_ctx
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART_RENAME:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
         restart = 2;
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
 
         restart = 1;
         /* fall-through */
@@ -1418,7 +1418,7 @@ static void replace_string(char **str, c
 }
 
 
-static int preserve_domain(libxl_ctx *ctx, uint32_t domid, libxl_event *event,
+static int preserve_domain(uint32_t domid, libxl_event *event,
                            libxl_domain_config *d_config)
 {
     time_t now;
@@ -1496,7 +1496,7 @@ static int freemem(libxl_domain_build_in
     return ERROR_NOMEM;
 }
 
-static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
+static void autoconnect_console(libxl_ctx *ctx_ignored, libxl_event *ev, void *priv)
 {
     pid_t *pid = priv;
 
@@ -1811,7 +1811,7 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork();
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
@@ -1889,11 +1889,11 @@ start:
             LOG("Domain %d has shut down, reason code %d 0x%x", domid,
                 event->u.domain_shutdown.shutdown_reason,
                 event->u.domain_shutdown.shutdown_reason);
-            switch (handle_domain_death(ctx, domid, event,
+            switch (handle_domain_death(domid, event,
                                         (uint8_t **)&config_data, &config_len,
                                         &d_config)) {
             case 2:
-                if (!preserve_domain(ctx, domid, event, &d_config)) {
+                if (!preserve_domain(domid, event, &d_config)) {
                     /* If we fail then exit leaving the old domain in place. */
                     ret = -1;
                     goto out;
@@ -2929,7 +2929,7 @@ static void migrate_domain(const char *d
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork();
 
     if (!child) {
         dup2(sendpipe[0], 0);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:15:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:15:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUfwV-0003v3-8y; Wed, 16 May 2012 15:15:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SUfwU-0003us-BO
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 15:15:10 +0000
Received: from [85.158.139.83:48106] by server-12.bemta-5.messagelabs.com id
	DA/A3-01344-D74C3BF4; Wed, 16 May 2012 15:15:09 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337181308!21523372!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26972 invoked from network); 16 May 2012 15:15:08 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-11.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	16 May 2012 15:15:08 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SUfwN-0001N7-E8
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 17:15:03 +0200
Received: from 178-16-156-18.obit.ru ([178.16.156.18])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 17:15:03 +0200
Received: from dcherkassov by 178-16-156-18.obit.ru with local (Gmexim 0.1
	(Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 17:15:03 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Dmitry Cherkassov <dcherkassov@gmail.com>
Date: Wed, 16 May 2012 19:11:33 +0400
Lines: 9
Message-ID: <87fwb0kvoa.fsf@gmail.com>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: 178-16-156-18.obit.ru
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
Cancel-Lock: sha1:yiujp014Angl5gkdqInQDhD2nbA=
Subject: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi!
Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
(before xen dom0 support went into upstream)?

thanks!

-- 
With best regards,
Dmitry


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:15:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:15:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUfwV-0003v3-8y; Wed, 16 May 2012 15:15:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SUfwU-0003us-BO
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 15:15:10 +0000
Received: from [85.158.139.83:48106] by server-12.bemta-5.messagelabs.com id
	DA/A3-01344-D74C3BF4; Wed, 16 May 2012 15:15:09 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337181308!21523372!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26972 invoked from network); 16 May 2012 15:15:08 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-11.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	16 May 2012 15:15:08 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SUfwN-0001N7-E8
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 17:15:03 +0200
Received: from 178-16-156-18.obit.ru ([178.16.156.18])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 17:15:03 +0200
Received: from dcherkassov by 178-16-156-18.obit.ru with local (Gmexim 0.1
	(Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 17:15:03 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Dmitry Cherkassov <dcherkassov@gmail.com>
Date: Wed, 16 May 2012 19:11:33 +0400
Lines: 9
Message-ID: <87fwb0kvoa.fsf@gmail.com>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: 178-16-156-18.obit.ru
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
Cancel-Lock: sha1:yiujp014Angl5gkdqInQDhD2nbA=
Subject: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi!
Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
(before xen dom0 support went into upstream)?

thanks!

-- 
With best regards,
Dmitry


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:16:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:16:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUfxV-0003zP-OD; Wed, 16 May 2012 15:16:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUfxU-0003zD-4I
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:16:12 +0000
Received: from [85.158.143.99:62571] by server-1.bemta-4.messagelabs.com id
	21/8F-00342-BB4C3BF4; Wed, 16 May 2012 15:16:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337181366!18543740!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22406 invoked from network); 16 May 2012 15:16:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 15:16:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 16:16:05 +0100
Message-Id: <4FB3E0F3020000780008426A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 16:16:35 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part93BD62C3.0__="
Subject: [Xen-devel] [PATCH] serial: serial_irq() and descendants can be
	__init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part93BD62C3.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... as being solely called from smp_intr_init(), which itself is
marked such.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -361,7 +361,7 @@ static void __init ns16550_endboot(struc
 #define ns16550_endboot NULL
 #endif
=20
-static int ns16550_irq(struct serial_port *port)
+static int __init ns16550_irq(struct serial_port *port)
 {
     struct ns16550 *uart =3D port->uart;
     return ((uart->irq > 0) ? uart->irq : -1);
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -215,7 +215,7 @@ static int pl011_getc(struct serial_port
     return 1;
 }
=20
-static int pl011_irq(struct serial_port *port)
+static int __init pl011_irq(struct serial_port *port)
 {
     struct pl011 *uart =3D port->uart;
     return ((uart->irq > 0) ? uart->irq : -1);
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -475,7 +475,7 @@ void __init serial_endboot(void)
             com[i].driver->endboot(&com[i]);
 }
=20
-int serial_irq(int idx)
+int __init serial_irq(int idx)
 {
     if ( (idx >=3D 0) && (idx < ARRAY_SIZE(com)) &&
          com[idx].driver && com[idx].driver->irq )




--=__Part93BD62C3.0__=
Content-Type: text/plain; name="sercon-serial_irq-init.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-serial_irq-init.patch"

serial: serial_irq() and descendants can be __init=0A=0A... as being =
solely called from smp_intr_init(), which itself is=0Amarked such.=0A=0ASig=
ned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/drivers/char/ns1=
6550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@ -361,7 +361,7 @@ static =
void __init ns16550_endboot(struc=0A #define ns16550_endboot NULL=0A =
#endif=0A =0A-static int ns16550_irq(struct serial_port *port)=0A+static =
int __init ns16550_irq(struct serial_port *port)=0A {=0A     struct =
ns16550 *uart =3D port->uart;=0A     return ((uart->irq > 0) ? uart->irq : =
-1);=0A--- a/xen/drivers/char/pl011.c=0A+++ b/xen/drivers/char/pl011.c=0A@@=
 -215,7 +215,7 @@ static int pl011_getc(struct serial_port=0A     return =
1;=0A }=0A =0A-static int pl011_irq(struct serial_port *port)=0A+static =
int __init pl011_irq(struct serial_port *port)=0A {=0A     struct pl011 =
*uart =3D port->uart;=0A     return ((uart->irq > 0) ? uart->irq : =
-1);=0A--- a/xen/drivers/char/serial.c=0A+++ b/xen/drivers/char/serial.c=0A=
@@ -475,7 +475,7 @@ void __init serial_endboot(void)=0A             =
com[i].driver->endboot(&com[i]);=0A }=0A =0A-int serial_irq(int idx)=0A+int=
 __init serial_irq(int idx)=0A {=0A     if ( (idx >=3D 0) && (idx < =
ARRAY_SIZE(com)) &&=0A          com[idx].driver && com[idx].driver->irq =
)=0A
--=__Part93BD62C3.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part93BD62C3.0__=--


From xen-devel-bounces@lists.xen.org Wed May 16 15:16:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:16:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUfxV-0003zP-OD; Wed, 16 May 2012 15:16:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUfxU-0003zD-4I
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:16:12 +0000
Received: from [85.158.143.99:62571] by server-1.bemta-4.messagelabs.com id
	21/8F-00342-BB4C3BF4; Wed, 16 May 2012 15:16:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337181366!18543740!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22406 invoked from network); 16 May 2012 15:16:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 15:16:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 16:16:05 +0100
Message-Id: <4FB3E0F3020000780008426A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 16:16:35 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part93BD62C3.0__="
Subject: [Xen-devel] [PATCH] serial: serial_irq() and descendants can be
	__init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part93BD62C3.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... as being solely called from smp_intr_init(), which itself is
marked such.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -361,7 +361,7 @@ static void __init ns16550_endboot(struc
 #define ns16550_endboot NULL
 #endif
=20
-static int ns16550_irq(struct serial_port *port)
+static int __init ns16550_irq(struct serial_port *port)
 {
     struct ns16550 *uart =3D port->uart;
     return ((uart->irq > 0) ? uart->irq : -1);
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -215,7 +215,7 @@ static int pl011_getc(struct serial_port
     return 1;
 }
=20
-static int pl011_irq(struct serial_port *port)
+static int __init pl011_irq(struct serial_port *port)
 {
     struct pl011 *uart =3D port->uart;
     return ((uart->irq > 0) ? uart->irq : -1);
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -475,7 +475,7 @@ void __init serial_endboot(void)
             com[i].driver->endboot(&com[i]);
 }
=20
-int serial_irq(int idx)
+int __init serial_irq(int idx)
 {
     if ( (idx >=3D 0) && (idx < ARRAY_SIZE(com)) &&
          com[idx].driver && com[idx].driver->irq )




--=__Part93BD62C3.0__=
Content-Type: text/plain; name="sercon-serial_irq-init.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-serial_irq-init.patch"

serial: serial_irq() and descendants can be __init=0A=0A... as being =
solely called from smp_intr_init(), which itself is=0Amarked such.=0A=0ASig=
ned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/drivers/char/ns1=
6550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@ -361,7 +361,7 @@ static =
void __init ns16550_endboot(struc=0A #define ns16550_endboot NULL=0A =
#endif=0A =0A-static int ns16550_irq(struct serial_port *port)=0A+static =
int __init ns16550_irq(struct serial_port *port)=0A {=0A     struct =
ns16550 *uart =3D port->uart;=0A     return ((uart->irq > 0) ? uart->irq : =
-1);=0A--- a/xen/drivers/char/pl011.c=0A+++ b/xen/drivers/char/pl011.c=0A@@=
 -215,7 +215,7 @@ static int pl011_getc(struct serial_port=0A     return =
1;=0A }=0A =0A-static int pl011_irq(struct serial_port *port)=0A+static =
int __init pl011_irq(struct serial_port *port)=0A {=0A     struct pl011 =
*uart =3D port->uart;=0A     return ((uart->irq > 0) ? uart->irq : =
-1);=0A--- a/xen/drivers/char/serial.c=0A+++ b/xen/drivers/char/serial.c=0A=
@@ -475,7 +475,7 @@ void __init serial_endboot(void)=0A             =
com[i].driver->endboot(&com[i]);=0A }=0A =0A-int serial_irq(int idx)=0A+int=
 __init serial_irq(int idx)=0A {=0A     if ( (idx >=3D 0) && (idx < =
ARRAY_SIZE(com)) &&=0A          com[idx].driver && com[idx].driver->irq =
)=0A
--=__Part93BD62C3.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part93BD62C3.0__=--


From xen-devel-bounces@lists.xen.org Wed May 16 15:24:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg5c-0004M5-0B; Wed, 16 May 2012 15:24:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUg5b-0004Lz-3q
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:24:35 +0000
Received: from [85.158.138.51:14138] by server-8.bemta-3.messagelabs.com id
	4B/4F-24428-2B6C3BF4; Wed, 16 May 2012 15:24:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337181872!27537515!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22111 invoked from network); 16 May 2012 15:24:32 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 15:24:32 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 16:24:31 +0100
Message-Id: <4FB3E2ED0200007800084287@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 16:25:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part8FA17EDD.0__="
Subject: [Xen-devel] [PATCH] x86: don't call generic_identify() redundantly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part8FA17EDD.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Right before calling struct cpu_dev's ->c_identify, if non-NULL,
identify_cpu() calls generic_identify(). Hence there's no point for
->c_identify to point to generic_identify, nor for the handler to call
that function. After removing all pointless uses, the function isn't
being used outside the file that's defininig it anymore, and hence can
become static.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -516,7 +516,6 @@ static struct cpu_dev amd_cpu_dev __cpui
 	.c_vendor	=3D "AMD",
 	.c_ident 	=3D { "AuthenticAMD" },
 	.c_init		=3D init_amd,
-	.c_identify	=3D generic_identify,
 };
=20
 int __init amd_init_cpu(void)
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -227,7 +227,7 @@ static void __init early_cpu_detect(void
 	c->x86_capability[4] =3D cap4;
 }
=20
-void __cpuinit generic_identify(struct cpuinfo_x86 * c)
+static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
 {
 	u32 tfms, xlvl, capability, excap, ebx;
=20
--- a/xen/arch/x86/cpu/cpu.h
+++ b/xen/arch/x86/cpu/cpu.h
@@ -28,6 +28,4 @@ extern unsigned int opt_cpuid_mask_ext_e
 extern int get_model_name(struct cpuinfo_x86 *c);
 extern void display_cacheinfo(struct cpuinfo_x86 *c);
=20
-extern void generic_identify(struct cpuinfo_x86 * c);
-
 extern void early_intel_workaround(struct cpuinfo_x86 *c);
--- a/xen/arch/x86/cpu/cyrix.c
+++ b/xen/arch/x86/cpu/cyrix.c
@@ -288,7 +288,6 @@ static struct cpu_dev cyrix_cpu_dev __cp
 	.c_vendor	=3D "Cyrix",
 	.c_ident 	=3D { "CyrixInstead" },
 	.c_init		=3D init_cyrix,
-	.c_identify	=3D generic_identify,
 };
=20
 int __init cyrix_init_cpu(void)
@@ -303,7 +302,6 @@ static struct cpu_dev nsc_cpu_dev __cpui
 	.c_vendor	=3D "NSC",
 	.c_ident 	=3D { "Geode by NSC" },
 	.c_init		=3D init_cyrix,
-	.c_identify	=3D generic_identify,
 };
=20
 int __init nsc_init_cpu(void)
--- a/xen/arch/x86/cpu/intel.c
+++ b/xen/arch/x86/cpu/intel.c
@@ -329,7 +329,6 @@ static struct cpu_dev intel_cpu_dev __cp
 		},
 	},
 	.c_init		=3D init_intel,
-	.c_identify	=3D generic_identify,
 	.c_size_cache	=3D intel_size_cache,
 };
=20
--- a/xen/arch/x86/cpu/transmeta.c
+++ b/xen/arch/x86/cpu/transmeta.c
@@ -82,7 +82,6 @@ static void __init init_transmeta(struct
 static void transmeta_identify(struct cpuinfo_x86 * c)
 {
 	u32 xlvl;
-	generic_identify(c);
=20
 	/* Transmeta-defined flags: level 0x80860001 */
 	xlvl =3D cpuid_eax(0x80860000);




--=__Part8FA17EDD.0__=
Content-Type: text/plain; name="x86-generic-identify.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-generic-identify.patch"

x86: don't call generic_identify() redundantly=0A=0ARight before calling =
struct cpu_dev's ->c_identify, if non-NULL,=0Aidentify_cpu() calls =
generic_identify(). Hence there's no point for=0A->c_identify to point to =
generic_identify, nor for the handler to call=0Athat function. After =
removing all pointless uses, the function isn't=0Abeing used outside the =
file that's defininig it anymore, and hence can=0Abecome static.=0A=0ASigne=
d-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/arch/x86/cpu/amd.c=
=0A+++ b/xen/arch/x86/cpu/amd.c=0A@@ -516,7 +516,6 @@ static struct =
cpu_dev amd_cpu_dev __cpui=0A 	.c_vendor	=3D "AMD",=0A 	.c_ident 	=
=3D { "AuthenticAMD" },=0A 	.c_init		=3D init_amd,=0A-	=
.c_identify	=3D generic_identify,=0A };=0A =0A int __init amd_init_cpu(=
void)=0A--- a/xen/arch/x86/cpu/common.c=0A+++ b/xen/arch/x86/cpu/common.c=
=0A@@ -227,7 +227,7 @@ static void __init early_cpu_detect(void=0A 	=
c->x86_capability[4] =3D cap4;=0A }=0A =0A-void __cpuinit generic_identify(=
struct cpuinfo_x86 * c)=0A+static void __cpuinit generic_identify(struct =
cpuinfo_x86 *c)=0A {=0A 	u32 tfms, xlvl, capability, excap, ebx;=0A =
=0A--- a/xen/arch/x86/cpu/cpu.h=0A+++ b/xen/arch/x86/cpu/cpu.h=0A@@ -28,6 =
+28,4 @@ extern unsigned int opt_cpuid_mask_ext_e=0A extern int get_model_n=
ame(struct cpuinfo_x86 *c);=0A extern void display_cacheinfo(struct =
cpuinfo_x86 *c);=0A =0A-extern void generic_identify(struct cpuinfo_x86 * =
c);=0A-=0A extern void early_intel_workaround(struct cpuinfo_x86 *c);=0A---=
 a/xen/arch/x86/cpu/cyrix.c=0A+++ b/xen/arch/x86/cpu/cyrix.c=0A@@ -288,7 =
+288,6 @@ static struct cpu_dev cyrix_cpu_dev __cp=0A 	.c_vendor	=
=3D "Cyrix",=0A 	.c_ident 	=3D { "CyrixInstead" },=0A 	=
.c_init		=3D init_cyrix,=0A-	.c_identify	=3D generic_identif=
y,=0A };=0A =0A int __init cyrix_init_cpu(void)=0A@@ -303,7 +302,6 @@ =
static struct cpu_dev nsc_cpu_dev __cpui=0A 	.c_vendor	=3D =
"NSC",=0A 	.c_ident 	=3D { "Geode by NSC" },=0A 	.c_init		=
=3D init_cyrix,=0A-	.c_identify	=3D generic_identify,=0A };=0A =0A =
int __init nsc_init_cpu(void)=0A--- a/xen/arch/x86/cpu/intel.c=0A+++ =
b/xen/arch/x86/cpu/intel.c=0A@@ -329,7 +329,6 @@ static struct cpu_dev =
intel_cpu_dev __cp=0A 		},=0A 	},=0A 	.c_init		=3D =
init_intel,=0A-	.c_identify	=3D generic_identify,=0A 	.c_size_cac=
he	=3D intel_size_cache,=0A };=0A =0A--- a/xen/arch/x86/cpu/transmeta.=
c=0A+++ b/xen/arch/x86/cpu/transmeta.c=0A@@ -82,7 +82,6 @@ static void =
__init init_transmeta(struct=0A static void transmeta_identify(struct =
cpuinfo_x86 * c)=0A {=0A 	u32 xlvl;=0A-	generic_identify(c);=0A =
=0A 	/* Transmeta-defined flags: level 0x80860001 */=0A 	xlvl =3D =
cpuid_eax(0x80860000);=0A
--=__Part8FA17EDD.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part8FA17EDD.0__=--


From xen-devel-bounces@lists.xen.org Wed May 16 15:24:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg5c-0004M5-0B; Wed, 16 May 2012 15:24:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUg5b-0004Lz-3q
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:24:35 +0000
Received: from [85.158.138.51:14138] by server-8.bemta-3.messagelabs.com id
	4B/4F-24428-2B6C3BF4; Wed, 16 May 2012 15:24:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337181872!27537515!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM3ODk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22111 invoked from network); 16 May 2012 15:24:32 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 16 May 2012 15:24:32 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 16 May 2012 16:24:31 +0100
Message-Id: <4FB3E2ED0200007800084287@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 16 May 2012 16:25:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part8FA17EDD.0__="
Subject: [Xen-devel] [PATCH] x86: don't call generic_identify() redundantly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part8FA17EDD.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Right before calling struct cpu_dev's ->c_identify, if non-NULL,
identify_cpu() calls generic_identify(). Hence there's no point for
->c_identify to point to generic_identify, nor for the handler to call
that function. After removing all pointless uses, the function isn't
being used outside the file that's defininig it anymore, and hence can
become static.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -516,7 +516,6 @@ static struct cpu_dev amd_cpu_dev __cpui
 	.c_vendor	=3D "AMD",
 	.c_ident 	=3D { "AuthenticAMD" },
 	.c_init		=3D init_amd,
-	.c_identify	=3D generic_identify,
 };
=20
 int __init amd_init_cpu(void)
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -227,7 +227,7 @@ static void __init early_cpu_detect(void
 	c->x86_capability[4] =3D cap4;
 }
=20
-void __cpuinit generic_identify(struct cpuinfo_x86 * c)
+static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
 {
 	u32 tfms, xlvl, capability, excap, ebx;
=20
--- a/xen/arch/x86/cpu/cpu.h
+++ b/xen/arch/x86/cpu/cpu.h
@@ -28,6 +28,4 @@ extern unsigned int opt_cpuid_mask_ext_e
 extern int get_model_name(struct cpuinfo_x86 *c);
 extern void display_cacheinfo(struct cpuinfo_x86 *c);
=20
-extern void generic_identify(struct cpuinfo_x86 * c);
-
 extern void early_intel_workaround(struct cpuinfo_x86 *c);
--- a/xen/arch/x86/cpu/cyrix.c
+++ b/xen/arch/x86/cpu/cyrix.c
@@ -288,7 +288,6 @@ static struct cpu_dev cyrix_cpu_dev __cp
 	.c_vendor	=3D "Cyrix",
 	.c_ident 	=3D { "CyrixInstead" },
 	.c_init		=3D init_cyrix,
-	.c_identify	=3D generic_identify,
 };
=20
 int __init cyrix_init_cpu(void)
@@ -303,7 +302,6 @@ static struct cpu_dev nsc_cpu_dev __cpui
 	.c_vendor	=3D "NSC",
 	.c_ident 	=3D { "Geode by NSC" },
 	.c_init		=3D init_cyrix,
-	.c_identify	=3D generic_identify,
 };
=20
 int __init nsc_init_cpu(void)
--- a/xen/arch/x86/cpu/intel.c
+++ b/xen/arch/x86/cpu/intel.c
@@ -329,7 +329,6 @@ static struct cpu_dev intel_cpu_dev __cp
 		},
 	},
 	.c_init		=3D init_intel,
-	.c_identify	=3D generic_identify,
 	.c_size_cache	=3D intel_size_cache,
 };
=20
--- a/xen/arch/x86/cpu/transmeta.c
+++ b/xen/arch/x86/cpu/transmeta.c
@@ -82,7 +82,6 @@ static void __init init_transmeta(struct
 static void transmeta_identify(struct cpuinfo_x86 * c)
 {
 	u32 xlvl;
-	generic_identify(c);
=20
 	/* Transmeta-defined flags: level 0x80860001 */
 	xlvl =3D cpuid_eax(0x80860000);




--=__Part8FA17EDD.0__=
Content-Type: text/plain; name="x86-generic-identify.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-generic-identify.patch"

x86: don't call generic_identify() redundantly=0A=0ARight before calling =
struct cpu_dev's ->c_identify, if non-NULL,=0Aidentify_cpu() calls =
generic_identify(). Hence there's no point for=0A->c_identify to point to =
generic_identify, nor for the handler to call=0Athat function. After =
removing all pointless uses, the function isn't=0Abeing used outside the =
file that's defininig it anymore, and hence can=0Abecome static.=0A=0ASigne=
d-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/arch/x86/cpu/amd.c=
=0A+++ b/xen/arch/x86/cpu/amd.c=0A@@ -516,7 +516,6 @@ static struct =
cpu_dev amd_cpu_dev __cpui=0A 	.c_vendor	=3D "AMD",=0A 	.c_ident 	=
=3D { "AuthenticAMD" },=0A 	.c_init		=3D init_amd,=0A-	=
.c_identify	=3D generic_identify,=0A };=0A =0A int __init amd_init_cpu(=
void)=0A--- a/xen/arch/x86/cpu/common.c=0A+++ b/xen/arch/x86/cpu/common.c=
=0A@@ -227,7 +227,7 @@ static void __init early_cpu_detect(void=0A 	=
c->x86_capability[4] =3D cap4;=0A }=0A =0A-void __cpuinit generic_identify(=
struct cpuinfo_x86 * c)=0A+static void __cpuinit generic_identify(struct =
cpuinfo_x86 *c)=0A {=0A 	u32 tfms, xlvl, capability, excap, ebx;=0A =
=0A--- a/xen/arch/x86/cpu/cpu.h=0A+++ b/xen/arch/x86/cpu/cpu.h=0A@@ -28,6 =
+28,4 @@ extern unsigned int opt_cpuid_mask_ext_e=0A extern int get_model_n=
ame(struct cpuinfo_x86 *c);=0A extern void display_cacheinfo(struct =
cpuinfo_x86 *c);=0A =0A-extern void generic_identify(struct cpuinfo_x86 * =
c);=0A-=0A extern void early_intel_workaround(struct cpuinfo_x86 *c);=0A---=
 a/xen/arch/x86/cpu/cyrix.c=0A+++ b/xen/arch/x86/cpu/cyrix.c=0A@@ -288,7 =
+288,6 @@ static struct cpu_dev cyrix_cpu_dev __cp=0A 	.c_vendor	=
=3D "Cyrix",=0A 	.c_ident 	=3D { "CyrixInstead" },=0A 	=
.c_init		=3D init_cyrix,=0A-	.c_identify	=3D generic_identif=
y,=0A };=0A =0A int __init cyrix_init_cpu(void)=0A@@ -303,7 +302,6 @@ =
static struct cpu_dev nsc_cpu_dev __cpui=0A 	.c_vendor	=3D =
"NSC",=0A 	.c_ident 	=3D { "Geode by NSC" },=0A 	.c_init		=
=3D init_cyrix,=0A-	.c_identify	=3D generic_identify,=0A };=0A =0A =
int __init nsc_init_cpu(void)=0A--- a/xen/arch/x86/cpu/intel.c=0A+++ =
b/xen/arch/x86/cpu/intel.c=0A@@ -329,7 +329,6 @@ static struct cpu_dev =
intel_cpu_dev __cp=0A 		},=0A 	},=0A 	.c_init		=3D =
init_intel,=0A-	.c_identify	=3D generic_identify,=0A 	.c_size_cac=
he	=3D intel_size_cache,=0A };=0A =0A--- a/xen/arch/x86/cpu/transmeta.=
c=0A+++ b/xen/arch/x86/cpu/transmeta.c=0A@@ -82,7 +82,6 @@ static void =
__init init_transmeta(struct=0A static void transmeta_identify(struct =
cpuinfo_x86 * c)=0A {=0A 	u32 xlvl;=0A-	generic_identify(c);=0A =
=0A 	/* Transmeta-defined flags: level 0x80860001 */=0A 	xlvl =3D =
cpuid_eax(0x80860000);=0A
--=__Part8FA17EDD.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part8FA17EDD.0__=--


From xen-devel-bounces@lists.xen.org Wed May 16 15:25:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6N-0004P0-RJ; Wed, 16 May 2012 15:25:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6M-0004Ol-HS
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:22 +0000
Received: from [193.109.254.147:11749] by server-9.bemta-14.messagelabs.com id
	6B/8F-05787-1E6C3BF4; Wed, 16 May 2012 15:25:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337181916!9566617!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28787 invoked from network); 16 May 2012 15:25:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509364"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6K-0001xV-Pn; Wed, 16 May 2012 15:25:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6K-0001sv-P1;
	Wed, 16 May 2012 16:25:20 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 16 May 2012 16:25:12 +0100
Message-ID: <1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/3] libxl: events: debugging output relating to
	ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c    |   36 ++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   12 ++++++++----
 2 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index bdbbdd4..7e71a88 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1006,11 +1006,14 @@ static void egc_run_callbacks(libxl__egc *egc)
 
     LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
+        LOG(DEBUG,"event %p callback type=%s",
+            ev, libxl_event_type_to_string(ev->type));
         CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
     }
 
     LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback aop=%p", aop->ao, aop);
         aop->how->callback(CTX, aop->ev, aop->how->for_callback);
 
         CTX_LOCK;
@@ -1023,6 +1026,7 @@ static void egc_run_callbacks(libxl__egc *egc)
     LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
                              entry_for_callback, ao_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
+        LOG(DEBUG,"ao %p: completion callback", ao);
         ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
         CTX_LOCK;
         ao->notified = 1;
@@ -1382,7 +1386,9 @@ int libxl_event_wait(libxl_ctx *ctx, libxl_event **event_r,
 
 void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 {
+    AO_GC;
     if (!ao) return;
+    LOG(DEBUG,"ao %p: destroy",ao);
     if (ao->poller) libxl__poller_put(ctx, ao->poller);
     ao->magic = LIBXL__AO_MAGIC_DESTROYED;
     libxl__free_all(&ao->gc);
@@ -1392,6 +1398,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 void libxl__ao_abort(libxl__ao *ao)
 {
     AO_GC;
+    LOG(DEBUG,"ao %p: abort",ao);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(ao->in_initiator);
     assert(!ao->complete);
@@ -1408,6 +1415,8 @@ libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
 
 void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
 {
+    AO_GC;
+    LOG(DEBUG,"ao %p: complete, rc=%d",ao,rc);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(!ao->complete);
     ao->complete = 1;
@@ -1437,6 +1446,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
             /* don't bother with this if we're not in the event loop */
             libxl__poller_wakeup(egc, ao->poller);
     } else if (ao->how.callback) {
+        AO_GC;
+        LOG(DEBUG,"ao %p: complete for callback",ao);
         LIBXL_TAILQ_INSERT_TAIL(&egc->aos_for_callback, ao, entry_for_callback);
     } else {
         libxl_event *ev;
@@ -1453,7 +1464,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
 }
 
 libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
-                            const libxl_asyncop_how *how)
+                            const libxl_asyncop_how *how,
+                            const char *file, int line, const char *func)
 {
     libxl__ao *ao;
 
@@ -1473,6 +1485,10 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
         ao->poller = libxl__poller_get(ctx);
         if (!ao->poller) goto out;
     }
+    libxl__log(ctx,XTL_DEBUG,-1,file,line,func,
+               "ao %p: create: how=%p callback=%p poller=%p",
+               ao, how, ao->how.callback, ao->poller);
+
     return ao;
 
  out:
@@ -1481,7 +1497,8 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
 }
 
 
-int libxl__ao_inprogress(libxl__ao *ao)
+int libxl__ao_inprogress(libxl__ao *ao,
+                         const char *file, int line, const char *func)
 {
     AO_GC;
     int rc;
@@ -1491,6 +1508,14 @@ int libxl__ao_inprogress(libxl__ao *ao)
     assert(ao->in_initiator);
     ao->constructing = 0;
 
+    libxl__log(CTX,XTL_DEBUG,-1,file,line,func,
+               "ao %p: inprogress: poller=%p, flags=%s%s%s%s",
+               ao, ao->poller,
+               ao->constructing ? "o" : "",
+               ao->in_initiator ? "i" : "",
+               ao->complete ? "c" : "",
+               ao->notified ? "n" : "");
+
     if (ao->poller) {
         /* Caller wants it done synchronously. */
         /* We use a fresh gc, so that we can free things
@@ -1507,6 +1532,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
                 break;
             }
 
+            LOG(DEBUG,"ao %p: not ready, waiting",ao);
+
             rc = eventloop_iteration(&egc,ao->poller);
             if (rc) {
                 /* Oh dear, this is quite unfortunate. */
@@ -1557,8 +1584,10 @@ void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
 void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         const libxl_asyncprogress_how *how, libxl_event *ev)
 {
+    AO_GC;
     ev->for_user = how->for_event;
     if (how->callback == dummy_asyncprogress_callback_ignore) {
+        LOG(DEBUG,"ao %p: progress report: ignored",ao);
         /* ignore */
     } else if (how->callback) {
         libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
@@ -1567,7 +1596,10 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         aop->ev = ev;
         aop->how = how;
         LIBXL_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback queued aop=%p",ao,aop);
     } else {
+        LOG(DEBUG,"ao %p: progress report: event queued ev=%p type=%s",
+            ao, ev, libxl_event_type_to_string(ev->type));
         libxl__event_occurred(egc, ev);
     }
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 73b9915..a3a87d8 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1548,14 +1548,16 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 
 #define AO_CREATE(ctx, domid, ao_how)                           \
     libxl__ctx_lock(ctx);                                       \
-    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how);       \
+    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how,        \
+                               __FILE__, __LINE__, __func__);   \
     if (!ao) { libxl__ctx_unlock(ctx); return ERROR_NOMEM; }    \
     libxl__egc egc[1]; LIBXL_INIT_EGC(egc[0],ctx);              \
     AO_GC;
 
 #define AO_INPROGRESS ({                                        \
         libxl_ctx *ao__ctx = libxl__gc_owner(&ao->gc);          \
-        int ao__rc = libxl__ao_inprogress(ao);                  \
+        int ao__rc = libxl__ao_inprogress(ao,                   \
+                               __FILE__, __LINE__, __func__);   \
         libxl__ctx_unlock(ao__ctx); /* gc is now invalid */     \
         EGC_FREE;                                               \
         (ao__rc);                                               \
@@ -1581,8 +1583,10 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 /* All of these MUST be called with the ctx locked.
  * libxl__ao_inprogress MUST be called with the ctx locked exactly once. */
 _hidden libxl__ao *libxl__ao_create(libxl_ctx*, uint32_t domid,
-                                    const libxl_asyncop_how*);
-_hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
+                                    const libxl_asyncop_how*,
+       const char *file, int line, const char *func);
+_hidden int libxl__ao_inprogress(libxl__ao *ao,
+       const char *file, int line, const char *func); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
 _hidden libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:25:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6N-0004P0-RJ; Wed, 16 May 2012 15:25:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6M-0004Ol-HS
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:22 +0000
Received: from [193.109.254.147:11749] by server-9.bemta-14.messagelabs.com id
	6B/8F-05787-1E6C3BF4; Wed, 16 May 2012 15:25:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337181916!9566617!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28787 invoked from network); 16 May 2012 15:25:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509364"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6K-0001xV-Pn; Wed, 16 May 2012 15:25:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6K-0001sv-P1;
	Wed, 16 May 2012 16:25:20 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 16 May 2012 16:25:12 +0100
Message-ID: <1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/3] libxl: events: debugging output relating to
	ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c    |   36 ++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   12 ++++++++----
 2 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index bdbbdd4..7e71a88 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1006,11 +1006,14 @@ static void egc_run_callbacks(libxl__egc *egc)
 
     LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
+        LOG(DEBUG,"event %p callback type=%s",
+            ev, libxl_event_type_to_string(ev->type));
         CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
     }
 
     LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback aop=%p", aop->ao, aop);
         aop->how->callback(CTX, aop->ev, aop->how->for_callback);
 
         CTX_LOCK;
@@ -1023,6 +1026,7 @@ static void egc_run_callbacks(libxl__egc *egc)
     LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
                              entry_for_callback, ao_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
+        LOG(DEBUG,"ao %p: completion callback", ao);
         ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
         CTX_LOCK;
         ao->notified = 1;
@@ -1382,7 +1386,9 @@ int libxl_event_wait(libxl_ctx *ctx, libxl_event **event_r,
 
 void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 {
+    AO_GC;
     if (!ao) return;
+    LOG(DEBUG,"ao %p: destroy",ao);
     if (ao->poller) libxl__poller_put(ctx, ao->poller);
     ao->magic = LIBXL__AO_MAGIC_DESTROYED;
     libxl__free_all(&ao->gc);
@@ -1392,6 +1398,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 void libxl__ao_abort(libxl__ao *ao)
 {
     AO_GC;
+    LOG(DEBUG,"ao %p: abort",ao);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(ao->in_initiator);
     assert(!ao->complete);
@@ -1408,6 +1415,8 @@ libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
 
 void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
 {
+    AO_GC;
+    LOG(DEBUG,"ao %p: complete, rc=%d",ao,rc);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(!ao->complete);
     ao->complete = 1;
@@ -1437,6 +1446,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
             /* don't bother with this if we're not in the event loop */
             libxl__poller_wakeup(egc, ao->poller);
     } else if (ao->how.callback) {
+        AO_GC;
+        LOG(DEBUG,"ao %p: complete for callback",ao);
         LIBXL_TAILQ_INSERT_TAIL(&egc->aos_for_callback, ao, entry_for_callback);
     } else {
         libxl_event *ev;
@@ -1453,7 +1464,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
 }
 
 libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
-                            const libxl_asyncop_how *how)
+                            const libxl_asyncop_how *how,
+                            const char *file, int line, const char *func)
 {
     libxl__ao *ao;
 
@@ -1473,6 +1485,10 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
         ao->poller = libxl__poller_get(ctx);
         if (!ao->poller) goto out;
     }
+    libxl__log(ctx,XTL_DEBUG,-1,file,line,func,
+               "ao %p: create: how=%p callback=%p poller=%p",
+               ao, how, ao->how.callback, ao->poller);
+
     return ao;
 
  out:
@@ -1481,7 +1497,8 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
 }
 
 
-int libxl__ao_inprogress(libxl__ao *ao)
+int libxl__ao_inprogress(libxl__ao *ao,
+                         const char *file, int line, const char *func)
 {
     AO_GC;
     int rc;
@@ -1491,6 +1508,14 @@ int libxl__ao_inprogress(libxl__ao *ao)
     assert(ao->in_initiator);
     ao->constructing = 0;
 
+    libxl__log(CTX,XTL_DEBUG,-1,file,line,func,
+               "ao %p: inprogress: poller=%p, flags=%s%s%s%s",
+               ao, ao->poller,
+               ao->constructing ? "o" : "",
+               ao->in_initiator ? "i" : "",
+               ao->complete ? "c" : "",
+               ao->notified ? "n" : "");
+
     if (ao->poller) {
         /* Caller wants it done synchronously. */
         /* We use a fresh gc, so that we can free things
@@ -1507,6 +1532,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
                 break;
             }
 
+            LOG(DEBUG,"ao %p: not ready, waiting",ao);
+
             rc = eventloop_iteration(&egc,ao->poller);
             if (rc) {
                 /* Oh dear, this is quite unfortunate. */
@@ -1557,8 +1584,10 @@ void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
 void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         const libxl_asyncprogress_how *how, libxl_event *ev)
 {
+    AO_GC;
     ev->for_user = how->for_event;
     if (how->callback == dummy_asyncprogress_callback_ignore) {
+        LOG(DEBUG,"ao %p: progress report: ignored",ao);
         /* ignore */
     } else if (how->callback) {
         libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
@@ -1567,7 +1596,10 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         aop->ev = ev;
         aop->how = how;
         LIBXL_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback queued aop=%p",ao,aop);
     } else {
+        LOG(DEBUG,"ao %p: progress report: event queued ev=%p type=%s",
+            ao, ev, libxl_event_type_to_string(ev->type));
         libxl__event_occurred(egc, ev);
     }
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 73b9915..a3a87d8 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1548,14 +1548,16 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 
 #define AO_CREATE(ctx, domid, ao_how)                           \
     libxl__ctx_lock(ctx);                                       \
-    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how);       \
+    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how,        \
+                               __FILE__, __LINE__, __func__);   \
     if (!ao) { libxl__ctx_unlock(ctx); return ERROR_NOMEM; }    \
     libxl__egc egc[1]; LIBXL_INIT_EGC(egc[0],ctx);              \
     AO_GC;
 
 #define AO_INPROGRESS ({                                        \
         libxl_ctx *ao__ctx = libxl__gc_owner(&ao->gc);          \
-        int ao__rc = libxl__ao_inprogress(ao);                  \
+        int ao__rc = libxl__ao_inprogress(ao,                   \
+                               __FILE__, __LINE__, __func__);   \
         libxl__ctx_unlock(ao__ctx); /* gc is now invalid */     \
         EGC_FREE;                                               \
         (ao__rc);                                               \
@@ -1581,8 +1583,10 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 /* All of these MUST be called with the ctx locked.
  * libxl__ao_inprogress MUST be called with the ctx locked exactly once. */
 _hidden libxl__ao *libxl__ao_create(libxl_ctx*, uint32_t domid,
-                                    const libxl_asyncop_how*);
-_hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
+                                    const libxl_asyncop_how*,
+       const char *file, int line, const char *func);
+_hidden int libxl__ao_inprogress(libxl__ao *ao,
+       const char *file, int line, const char *func); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
 _hidden libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:25:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6V-0004QH-8n; Wed, 16 May 2012 15:25:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6T-0004Pg-BR
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:29 +0000
Received: from [85.158.143.99:34563] by server-3.bemta-4.messagelabs.com id
	9E/2B-05853-8E6C3BF4; Wed, 16 May 2012 15:25:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337181926!18545365!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31488 invoked from network); 16 May 2012 15:25:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509367"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6Q-0001xZ-5O; Wed, 16 May 2012 15:25:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6Q-0001t4-4a;
	Wed, 16 May 2012 16:25:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 16:25:13 +0100
Message-ID: <1337181914-7199-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/3] libxl: Do not use-after-free on ao progress
	reporting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We need to call libxl__free_all after egc_run_callbacks since some of
the callbacks might be ao progress reports allocated from the egc's
gc.

Fixes a segfault in egc_run_callbacks.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 7e71a88..d3bb4da 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1039,9 +1039,9 @@ static void egc_run_callbacks(libxl__egc *egc)
 void libxl__egc_cleanup(libxl__egc *egc)
 {
     EGC_GC;
-    libxl__free_all(gc);
-
     egc_run_callbacks(egc);
+
+    libxl__free_all(gc);
 }
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:25:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6V-0004QH-8n; Wed, 16 May 2012 15:25:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6T-0004Pg-BR
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:29 +0000
Received: from [85.158.143.99:34563] by server-3.bemta-4.messagelabs.com id
	9E/2B-05853-8E6C3BF4; Wed, 16 May 2012 15:25:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337181926!18545365!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31488 invoked from network); 16 May 2012 15:25:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509367"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6Q-0001xZ-5O; Wed, 16 May 2012 15:25:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6Q-0001t4-4a;
	Wed, 16 May 2012 16:25:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 16:25:13 +0100
Message-ID: <1337181914-7199-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/3] libxl: Do not use-after-free on ao progress
	reporting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We need to call libxl__free_all after egc_run_callbacks since some of
the callbacks might be ao progress reports allocated from the egc's
gc.

Fixes a segfault in egc_run_callbacks.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 7e71a88..d3bb4da 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1039,9 +1039,9 @@ static void egc_run_callbacks(libxl__egc *egc)
 void libxl__egc_cleanup(libxl__egc *egc)
 {
     EGC_GC;
-    libxl__free_all(gc);
-
     egc_run_callbacks(egc);
+
+    libxl__free_all(gc);
 }
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:25:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6J-0004OU-Ea; Wed, 16 May 2012 15:25:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6I-0004OK-0W
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:18 +0000
Received: from [193.109.254.147:7504] by server-8.bemta-14.messagelabs.com id
	1A/C9-23244-DD6C3BF4; Wed, 16 May 2012 15:25:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337181916!9566617!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28260 invoked from network); 16 May 2012 15:25:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509362"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6F-0001xP-M4; Wed, 16 May 2012 15:25:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6F-0001sl-LA;
	Wed, 16 May 2012 16:25:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 16:25:11 +0100
Message-ID: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/3] libxl: event handling fixes related to
	console/pygrub Roger Pau Monne <roger.pau@citrix.com>
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks to Roger Pau Monne and Ian Campbell for the reports.
With these changes, xl create -c works for me again with pygrub.
Apparently I had not tested that recently enough; sorry :-/.

 1/3 libxl: events: debugging output relating to ao's
 2/3 libxl: Do not use-after-free on ao progress reporting
 3/3 libxl, xl: fix bootloader immediate console attach


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:25:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6J-0004OU-Ea; Wed, 16 May 2012 15:25:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6I-0004OK-0W
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:18 +0000
Received: from [193.109.254.147:7504] by server-8.bemta-14.messagelabs.com id
	1A/C9-23244-DD6C3BF4; Wed, 16 May 2012 15:25:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337181916!9566617!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28260 invoked from network); 16 May 2012 15:25:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509362"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6F-0001xP-M4; Wed, 16 May 2012 15:25:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6F-0001sl-LA;
	Wed, 16 May 2012 16:25:15 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 16:25:11 +0100
Message-ID: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/3] libxl: event handling fixes related to
	console/pygrub Roger Pau Monne <roger.pau@citrix.com>
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks to Roger Pau Monne and Ian Campbell for the reports.
With these changes, xl create -c works for me again with pygrub.
Apparently I had not tested that recently enough; sorry :-/.

 1/3 libxl: events: debugging output relating to ao's
 2/3 libxl: Do not use-after-free on ao progress reporting
 3/3 libxl, xl: fix bootloader immediate console attach


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:25:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6V-0004QT-OO; Wed, 16 May 2012 15:25:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Huang2@amd.com>) id 1SUg6U-0004Py-GH
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:30 +0000
Received: from [85.158.143.99:33269] by server-2.bemta-4.messagelabs.com id
	A0/11-12211-9E6C3BF4; Wed, 16 May 2012 15:25:29 +0000
X-Env-Sender: Wei.Huang2@amd.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337181915!21299193!1
X-Originating-IP: [216.32.181.184]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_90_100,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_8,spamassassin: ,async_handler: 
	YXN5bmNfZGVsYXk6IDcwNDQ5NjggKHRpbWVvdXQp\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30920 invoked from network); 16 May 2012 15:25:17 -0000
Received: from ch1ehsobe004.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.184)
	by server-6.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	16 May 2012 15:25:17 -0000
Received: from mail56-ch1-R.bigfish.com (10.43.68.248) by
	CH1EHSOBE012.bigfish.com (10.43.70.62) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:25:08 +0000
Received: from mail56-ch1 (localhost [127.0.0.1])	by mail56-ch1-R.bigfish.com
	(Postfix) with ESMTP id 6136E1805A2;
	Wed, 16 May 2012 15:25:08 +0000 (UTC)
X-SpamScore: -1
X-BigFish: VPS-1(zzc85fh4015Izz1202hzz8275bh8275dhz2dh668h839hd25h)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail56-ch1 (localhost.localdomain [127.0.0.1]) by mail56-ch1
	(MessageSwitch) id 1337181906810751_14351;
	Wed, 16 May 2012 15:25:06 +0000 (UTC)
Received: from CH1EHSMHS005.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.234])	by mail56-ch1.bigfish.com (Postfix) with ESMTP id
	B45533000B7;	Wed, 16 May 2012 15:25:06 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS005.bigfish.com (10.43.70.5) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:25:06 +0000
X-WSS-ID: 0M44G5Z-01-2F3-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 260B510280FC;	Wed, 16 May 2012 10:25:11 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 16 May 2012 10:31:53 -0500
Received: from SAUSEXDAG03.amd.com ([fe80::85b5:3838:d8b4:20ba]) by
	sausexdag02.amd.com ([fe80::ed3c:9786:3083:dd99%21]) with mapi id
	14.01.0323.003; Wed, 16 May 2012 10:25:10 -0500
From: "Huang2, Wei" <Wei.Huang2@amd.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Thread-Topic: Xen 4.1.3 Backport Request
Thread-Index: Ac0zdZloexwNm6HQR82F8F+d3wvNSQ==
Date: Wed, 16 May 2012 15:25:09 +0000
Message-ID: <4400B41FB768044EA720935D0808176C09137DB0@sausexdag03.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.236.48.215]
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: Keir Fraser <keir@xen.org>,
	"Jan Beulich \(JBeulich@suse.com\)" <JBeulich@suse.com>
Subject: [Xen-devel] Xen 4.1.3 Backport Request
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7034090707489742211=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7034090707489742211==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_"

--_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Could you backport changset  25195:a06e6cdeafe3 to Xen 4.1.3? I think it is=
 more a bug fix than new feature; so justified for 4.1.3 release. Several u=
sers report this problem on XenServer 6.0 (see http://tinyurl.com/842q2ko).

Thanks,
-Wei

--_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:2142184243;
	mso-list-type:hybrid;
	mso-list-template-ids:1512736906 67698703 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Could you backport changset &nbsp;25195:a06e6cdeafe3=
 to Xen 4.1.3? I think it is more a bug fix than new feature; so justified =
for 4.1.3 release. Several users report this problem on XenServer 6.0 (see =
http://tinyurl.com/842q2ko).<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
<p class=3D"MsoNormal">-Wei<o:p></o:p></p>
</div>
</body>
</html>

--_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_--


--===============7034090707489742211==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7034090707489742211==--


From xen-devel-bounces@lists.xen.org Wed May 16 15:25:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6V-0004QT-OO; Wed, 16 May 2012 15:25:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Huang2@amd.com>) id 1SUg6U-0004Py-GH
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:30 +0000
Received: from [85.158.143.99:33269] by server-2.bemta-4.messagelabs.com id
	A0/11-12211-9E6C3BF4; Wed, 16 May 2012 15:25:29 +0000
X-Env-Sender: Wei.Huang2@amd.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337181915!21299193!1
X-Originating-IP: [216.32.181.184]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_90_100,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_8,spamassassin: ,async_handler: 
	YXN5bmNfZGVsYXk6IDcwNDQ5NjggKHRpbWVvdXQp\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30920 invoked from network); 16 May 2012 15:25:17 -0000
Received: from ch1ehsobe004.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.184)
	by server-6.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	16 May 2012 15:25:17 -0000
Received: from mail56-ch1-R.bigfish.com (10.43.68.248) by
	CH1EHSOBE012.bigfish.com (10.43.70.62) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:25:08 +0000
Received: from mail56-ch1 (localhost [127.0.0.1])	by mail56-ch1-R.bigfish.com
	(Postfix) with ESMTP id 6136E1805A2;
	Wed, 16 May 2012 15:25:08 +0000 (UTC)
X-SpamScore: -1
X-BigFish: VPS-1(zzc85fh4015Izz1202hzz8275bh8275dhz2dh668h839hd25h)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail56-ch1 (localhost.localdomain [127.0.0.1]) by mail56-ch1
	(MessageSwitch) id 1337181906810751_14351;
	Wed, 16 May 2012 15:25:06 +0000 (UTC)
Received: from CH1EHSMHS005.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.234])	by mail56-ch1.bigfish.com (Postfix) with ESMTP id
	B45533000B7;	Wed, 16 May 2012 15:25:06 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS005.bigfish.com (10.43.70.5) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:25:06 +0000
X-WSS-ID: 0M44G5Z-01-2F3-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 260B510280FC;	Wed, 16 May 2012 10:25:11 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 16 May 2012 10:31:53 -0500
Received: from SAUSEXDAG03.amd.com ([fe80::85b5:3838:d8b4:20ba]) by
	sausexdag02.amd.com ([fe80::ed3c:9786:3083:dd99%21]) with mapi id
	14.01.0323.003; Wed, 16 May 2012 10:25:10 -0500
From: "Huang2, Wei" <Wei.Huang2@amd.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Thread-Topic: Xen 4.1.3 Backport Request
Thread-Index: Ac0zdZloexwNm6HQR82F8F+d3wvNSQ==
Date: Wed, 16 May 2012 15:25:09 +0000
Message-ID: <4400B41FB768044EA720935D0808176C09137DB0@sausexdag03.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.236.48.215]
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: Keir Fraser <keir@xen.org>,
	"Jan Beulich \(JBeulich@suse.com\)" <JBeulich@suse.com>
Subject: [Xen-devel] Xen 4.1.3 Backport Request
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7034090707489742211=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7034090707489742211==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_"

--_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Could you backport changset  25195:a06e6cdeafe3 to Xen 4.1.3? I think it is=
 more a bug fix than new feature; so justified for 4.1.3 release. Several u=
sers report this problem on XenServer 6.0 (see http://tinyurl.com/842q2ko).

Thanks,
-Wei

--_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:2142184243;
	mso-list-type:hybrid;
	mso-list-template-ids:1512736906 67698703 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Could you backport changset &nbsp;25195:a06e6cdeafe3=
 to Xen 4.1.3? I think it is more a bug fix than new feature; so justified =
for 4.1.3 release. Several users report this problem on XenServer 6.0 (see =
http://tinyurl.com/842q2ko).<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
<p class=3D"MsoNormal">-Wei<o:p></o:p></p>
</div>
</body>
</html>

--_000_4400B41FB768044EA720935D0808176C09137DB0sausexdag03amdc_--


--===============7034090707489742211==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7034090707489742211==--


From xen-devel-bounces@lists.xen.org Wed May 16 15:25:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6W-0004Qg-6Y; Wed, 16 May 2012 15:25:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6U-0004Pg-Sj
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:31 +0000
Received: from [85.158.143.99:34728] by server-3.bemta-4.messagelabs.com id
	FE/3B-05853-AE6C3BF4; Wed, 16 May 2012 15:25:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337181926!18545365!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31581 invoked from network); 16 May 2012 15:25:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509369"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6S-0001xc-S5; Wed, 16 May 2012 15:25:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6S-0001t8-RI;
	Wed, 16 May 2012 16:25:28 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 16 May 2012 16:25:14 +0100
Message-ID: <1337181914-7199-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/3] libxl,
	xl: fix bootloader immediate console attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix bugs related to console handling:

 * In libxl_primary_console_exec, if libxl__domain_type fails, do
   not abort, but instead log and return an error.  This can occur
   if the domid is invalid.

 * In xl's autoconnect_console, rename the ctx formal parameter so
   that when postfork creates a new ctx and puts it in the global ctx,
   we don't end up using the old one (via the formal parameter which
   has shadowed the global).

 * In xl's autoconnect_console, pass the domid from the event
   to libxl_primary_console_exec, rather than using the global domid
   (which has not yet been set, since it is only set at completion
   of the ao).

This causes xl create -c to once more work with pygrub.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c      |    4 ++++
 tools/libxl/xl_cmdimpl.c |    6 ++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..1e0105e 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1188,6 +1188,10 @@ int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
         case LIBXL_DOMAIN_TYPE_PV:
             rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
             break;
+        case -1:
+            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
+            rc = ERROR_FAIL;
+            break;
         default:
             abort();
         }
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5fc5cde..9f182c2 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1457,9 +1457,11 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
-static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
+static void autoconnect_console(libxl_ctx *ctx_ignored,
+                                libxl_event *ev, void *priv)
 {
     pid_t *pid = priv;
+    uint32_t bldomid = ev->domid;
 
     libxl_event_free(ctx, ev);
 
@@ -1473,7 +1475,7 @@ static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
     postfork();
 
     sleep(1);
-    libxl_primary_console_exec(ctx, domid);
+    libxl_primary_console_exec(ctx, bldomid);
     /* Do not return. xl continued in child process */
     fprintf(stderr, "Unable to attach console\n");
     _exit(1);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:25:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUg6W-0004Qg-6Y; Wed, 16 May 2012 15:25:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUg6U-0004Pg-Sj
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:25:31 +0000
Received: from [85.158.143.99:34728] by server-3.bemta-4.messagelabs.com id
	FE/3B-05853-AE6C3BF4; Wed, 16 May 2012 15:25:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337181926!18545365!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31581 invoked from network); 16 May 2012 15:25:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:25:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,603,1330905600"; d="scan'208";a="12509369"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 15:25:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 16:25:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUg6S-0001xc-S5; Wed, 16 May 2012 15:25:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUg6S-0001t8-RI;
	Wed, 16 May 2012 16:25:28 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 16 May 2012 16:25:14 +0100
Message-ID: <1337181914-7199-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/3] libxl,
	xl: fix bootloader immediate console attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix bugs related to console handling:

 * In libxl_primary_console_exec, if libxl__domain_type fails, do
   not abort, but instead log and return an error.  This can occur
   if the domid is invalid.

 * In xl's autoconnect_console, rename the ctx formal parameter so
   that when postfork creates a new ctx and puts it in the global ctx,
   we don't end up using the old one (via the formal parameter which
   has shadowed the global).

 * In xl's autoconnect_console, pass the domid from the event
   to libxl_primary_console_exec, rather than using the global domid
   (which has not yet been set, since it is only set at completion
   of the ao).

This causes xl create -c to once more work with pygrub.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c      |    4 ++++
 tools/libxl/xl_cmdimpl.c |    6 ++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..1e0105e 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1188,6 +1188,10 @@ int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
         case LIBXL_DOMAIN_TYPE_PV:
             rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
             break;
+        case -1:
+            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
+            rc = ERROR_FAIL;
+            break;
         default:
             abort();
         }
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5fc5cde..9f182c2 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1457,9 +1457,11 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
-static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
+static void autoconnect_console(libxl_ctx *ctx_ignored,
+                                libxl_event *ev, void *priv)
 {
     pid_t *pid = priv;
+    uint32_t bldomid = ev->domid;
 
     libxl_event_free(ctx, ev);
 
@@ -1473,7 +1475,7 @@ static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
     postfork();
 
     sleep(1);
-    libxl_primary_console_exec(ctx, domid);
+    libxl_primary_console_exec(ctx, bldomid);
     /* Do not return. xl continued in child process */
     fprintf(stderr, "Unable to attach console\n");
     _exit(1);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:36:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgGV-0005FM-Ob; Wed, 16 May 2012 15:35:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SUgGU-0005Ey-6I
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:35:50 +0000
Received: from [85.158.143.35:30019] by server-2.bemta-4.messagelabs.com id
	66/D5-12211-559C3BF4; Wed, 16 May 2012 15:35:49 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337182547!4808175!1
X-Originating-IP: [213.199.154.208]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6421 invoked from network); 16 May 2012 15:35:48 -0000
Received: from am1ehsobe005.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.208)
	by server-2.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	16 May 2012 15:35:48 -0000
Received: from mail54-am1-R.bigfish.com (10.3.201.245) by
	AM1EHSOBE005.bigfish.com (10.3.204.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:35:40 +0000
Received: from mail54-am1 (localhost [127.0.0.1])	by mail54-am1-R.bigfish.com
	(Postfix) with ESMTP id 72FC718035C;
	Wed, 16 May 2012 15:35:40 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzz8275bhz2dh668h839hd25he5bh)
Received: from mail54-am1 (localhost.localdomain [127.0.0.1]) by mail54-am1
	(MessageSwitch) id 1337182538557822_28973;
	Wed, 16 May 2012 15:35:38 +0000 (UTC)
Received: from AM1EHSMHS014.bigfish.com (unknown [10.3.201.235])	by
	mail54-am1.bigfish.com (Postfix) with ESMTP id 7C85E360047;
	Wed, 16 May 2012 15:35:38 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	AM1EHSMHS014.bigfish.com (10.3.207.152) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:35:38 +0000
X-WSS-ID: 0M44GNI-02-HDT-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 24CCDC812F;	Wed, 16 May 2012 10:35:41 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 16 May 2012 10:42:24 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 16 May 2012 10:35:42 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 16 May 2012
	11:35:40 -0400
Message-ID: <4FB3C94A.2030603@amd.com>
Date: Wed, 16 May 2012 17:35:38 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Roger Pau Monne <roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-3-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1336745632-28158-3-git-send-email-roger.pau@citrix.com>
X-OriginatorOrg: amd.com
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2/3] build/tools: disable libvchan build on
 NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/11/12 16:13, Roger Pau Monne wrote:

> NetBSD doesn't have a gntdev, so libvchan is unable to build due to
> the lack of the header files gntalloc.h.
> 
> This is the error:
> 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
> -D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
> -I../include -I.
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
> init.o init.c
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> gmake[3]: *** [init.opic] Error 1
> gmake[3]: *** Waiting for unfinished jobs....
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

  Acked-by: Christoph Egger <Christoph.Egger@amd.com>

> ---
>  tools/Makefile |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/Makefile b/tools/Makefile
> index a74df2f..18a58e8 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
>  SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
>  SUBDIRS-y += libfsimage
>  SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
> -SUBDIRS-y += libvchan
> +SUBDIRS-$(CONFIG_Linux) += libvchan
>  
>  # do not recurse in to a dir we are about to delete
>  ifneq "$(MAKECMDGOALS)" "distclean"



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:36:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgGV-0005FM-Ob; Wed, 16 May 2012 15:35:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SUgGU-0005Ey-6I
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:35:50 +0000
Received: from [85.158.143.35:30019] by server-2.bemta-4.messagelabs.com id
	66/D5-12211-559C3BF4; Wed, 16 May 2012 15:35:49 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337182547!4808175!1
X-Originating-IP: [213.199.154.208]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6421 invoked from network); 16 May 2012 15:35:48 -0000
Received: from am1ehsobe005.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.208)
	by server-2.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	16 May 2012 15:35:48 -0000
Received: from mail54-am1-R.bigfish.com (10.3.201.245) by
	AM1EHSOBE005.bigfish.com (10.3.204.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:35:40 +0000
Received: from mail54-am1 (localhost [127.0.0.1])	by mail54-am1-R.bigfish.com
	(Postfix) with ESMTP id 72FC718035C;
	Wed, 16 May 2012 15:35:40 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzz8275bhz2dh668h839hd25he5bh)
Received: from mail54-am1 (localhost.localdomain [127.0.0.1]) by mail54-am1
	(MessageSwitch) id 1337182538557822_28973;
	Wed, 16 May 2012 15:35:38 +0000 (UTC)
Received: from AM1EHSMHS014.bigfish.com (unknown [10.3.201.235])	by
	mail54-am1.bigfish.com (Postfix) with ESMTP id 7C85E360047;
	Wed, 16 May 2012 15:35:38 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	AM1EHSMHS014.bigfish.com (10.3.207.152) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:35:38 +0000
X-WSS-ID: 0M44GNI-02-HDT-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 24CCDC812F;	Wed, 16 May 2012 10:35:41 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 16 May 2012 10:42:24 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 16 May 2012 10:35:42 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 16 May 2012
	11:35:40 -0400
Message-ID: <4FB3C94A.2030603@amd.com>
Date: Wed, 16 May 2012 17:35:38 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Roger Pau Monne <roger.pau@citrix.com>
References: <1336745632-28158-1-git-send-email-roger.pau@citrix.com>
	<1336745632-28158-3-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1336745632-28158-3-git-send-email-roger.pau@citrix.com>
X-OriginatorOrg: amd.com
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2/3] build/tools: disable libvchan build on
 NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/11/12 16:13, Roger Pau Monne wrote:

> NetBSD doesn't have a gntdev, so libvchan is unable to build due to
> the lack of the header files gntalloc.h.
> 
> This is the error:
> 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
> -D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
> -I../include -I.
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
> init.o init.c
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> gmake[3]: *** [init.opic] Error 1
> gmake[3]: *** Waiting for unfinished jobs....
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

  Acked-by: Christoph Egger <Christoph.Egger@amd.com>

> ---
>  tools/Makefile |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/Makefile b/tools/Makefile
> index a74df2f..18a58e8 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
>  SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
>  SUBDIRS-y += libfsimage
>  SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
> -SUBDIRS-y += libvchan
> +SUBDIRS-$(CONFIG_Linux) += libvchan
>  
>  # do not recurse in to a dir we are about to delete
>  ifneq "$(MAKECMDGOALS)" "distclean"



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:46:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:46:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgQW-0005fQ-7E; Wed, 16 May 2012 15:46:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SUgQU-0005fE-NQ
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:46:10 +0000
Received: from [85.158.143.99:56103] by server-1.bemta-4.messagelabs.com id
	73/29-00342-2CBC3BF4; Wed, 16 May 2012 15:46:10 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337183159!27437994!2
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4591 invoked from network); 16 May 2012 15:46:09 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:46:09 -0000
Received: by mail-ee0-f45.google.com with SMTP id d41so284223eek.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:46:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=GnG5sPRnpePpoCmHoY7hCVgVPPCNceJUEhfUR5oKUXw=;
	b=wr7MxLxFmTA9KsS2BG+FOACHprVIghBm2+SgI86xIm8MP4fY9GTHNYyzyfW4Om+v5Y
	kxGEGA1ojwEgy8mBxonCugpxZtwHq9uPM6g4146Zc7Ol1H+v0BGObixZRXD6nuSHnEbU
	0yyU7rAGUgv0s5YmkfNK0P+oA1/H2V4Z8KbPDRdlfAU8gj2oa6Ym00iXUmRmbmb8igST
	7nN9U4BnNbV1JxidzFf4ApKFENvrNXtmWKnlJBeGo+jfVE2LyVBVcnW2vvPa2UZm+hLd
	q5Nl7y+3pZyd/Os8ls7kjOYh3/PYVguFvjnP8OvIKxF5djwcPJNylQcuDCK/M/wLNNj+
	YtQQ==
Received: by 10.213.15.2 with SMTP id i2mr704356eba.150.1337183168943;
	Wed, 16 May 2012 08:46:08 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id v7sm14160180eem.6.2012.05.16.08.46.07
	(version=SSLv3 cipher=OTHER); Wed, 16 May 2012 08:46:08 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 16 May 2012 16:46:05 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD98A4D.3364C%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: don't call generic_identify()
	redundantly
Thread-Index: Ac0zewC9agx4NBTDnkuMWMKBLEK/mQ==
In-Reply-To: <4FB3E2ED0200007800084287@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: don't call generic_identify()
 redundantly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/2012 16:25, "Jan Beulich" <JBeulich@suse.com> wrote:

> Right before calling struct cpu_dev's ->c_identify, if non-NULL,
> identify_cpu() calls generic_identify(). Hence there's no point for
> ->c_identify to point to generic_identify, nor for the handler to call
> that function. After removing all pointless uses, the function isn't
> being used outside the file that's defininig it anymore, and hence can
> become static.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -516,7 +516,6 @@ static struct cpu_dev amd_cpu_dev __cpui
> .c_vendor = "AMD",
> .c_ident  = { "AuthenticAMD" },
> .c_init  = init_amd,
> - .c_identify = generic_identify,
>  };
>  
>  int __init amd_init_cpu(void)
> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -227,7 +227,7 @@ static void __init early_cpu_detect(void
> c->x86_capability[4] = cap4;
>  }
>  
> -void __cpuinit generic_identify(struct cpuinfo_x86 * c)
> +static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
>  {
> u32 tfms, xlvl, capability, excap, ebx;
>  
> --- a/xen/arch/x86/cpu/cpu.h
> +++ b/xen/arch/x86/cpu/cpu.h
> @@ -28,6 +28,4 @@ extern unsigned int opt_cpuid_mask_ext_e
>  extern int get_model_name(struct cpuinfo_x86 *c);
>  extern void display_cacheinfo(struct cpuinfo_x86 *c);
>  
> -extern void generic_identify(struct cpuinfo_x86 * c);
> -
>  extern void early_intel_workaround(struct cpuinfo_x86 *c);
> --- a/xen/arch/x86/cpu/cyrix.c
> +++ b/xen/arch/x86/cpu/cyrix.c
> @@ -288,7 +288,6 @@ static struct cpu_dev cyrix_cpu_dev __cp
> .c_vendor = "Cyrix",
> .c_ident  = { "CyrixInstead" },
> .c_init  = init_cyrix,
> - .c_identify = generic_identify,
>  };
>  
>  int __init cyrix_init_cpu(void)
> @@ -303,7 +302,6 @@ static struct cpu_dev nsc_cpu_dev __cpui
> .c_vendor = "NSC",
> .c_ident  = { "Geode by NSC" },
> .c_init  = init_cyrix,
> - .c_identify = generic_identify,
>  };
>  
>  int __init nsc_init_cpu(void)
> --- a/xen/arch/x86/cpu/intel.c
> +++ b/xen/arch/x86/cpu/intel.c
> @@ -329,7 +329,6 @@ static struct cpu_dev intel_cpu_dev __cp
> },
> },
> .c_init  = init_intel,
> - .c_identify = generic_identify,
> .c_size_cache = intel_size_cache,
>  };
>  
> --- a/xen/arch/x86/cpu/transmeta.c
> +++ b/xen/arch/x86/cpu/transmeta.c
> @@ -82,7 +82,6 @@ static void __init init_transmeta(struct
>  static void transmeta_identify(struct cpuinfo_x86 * c)
>  {
> u32 xlvl;
> - generic_identify(c);
>  
> /* Transmeta-defined flags: level 0x80860001 */
> xlvl = cpuid_eax(0x80860000);
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:46:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:46:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgQW-0005fQ-7E; Wed, 16 May 2012 15:46:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SUgQU-0005fE-NQ
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:46:10 +0000
Received: from [85.158.143.99:56103] by server-1.bemta-4.messagelabs.com id
	73/29-00342-2CBC3BF4; Wed, 16 May 2012 15:46:10 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337183159!27437994!2
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4591 invoked from network); 16 May 2012 15:46:09 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:46:09 -0000
Received: by mail-ee0-f45.google.com with SMTP id d41so284223eek.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:46:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=GnG5sPRnpePpoCmHoY7hCVgVPPCNceJUEhfUR5oKUXw=;
	b=wr7MxLxFmTA9KsS2BG+FOACHprVIghBm2+SgI86xIm8MP4fY9GTHNYyzyfW4Om+v5Y
	kxGEGA1ojwEgy8mBxonCugpxZtwHq9uPM6g4146Zc7Ol1H+v0BGObixZRXD6nuSHnEbU
	0yyU7rAGUgv0s5YmkfNK0P+oA1/H2V4Z8KbPDRdlfAU8gj2oa6Ym00iXUmRmbmb8igST
	7nN9U4BnNbV1JxidzFf4ApKFENvrNXtmWKnlJBeGo+jfVE2LyVBVcnW2vvPa2UZm+hLd
	q5Nl7y+3pZyd/Os8ls7kjOYh3/PYVguFvjnP8OvIKxF5djwcPJNylQcuDCK/M/wLNNj+
	YtQQ==
Received: by 10.213.15.2 with SMTP id i2mr704356eba.150.1337183168943;
	Wed, 16 May 2012 08:46:08 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id v7sm14160180eem.6.2012.05.16.08.46.07
	(version=SSLv3 cipher=OTHER); Wed, 16 May 2012 08:46:08 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 16 May 2012 16:46:05 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD98A4D.3364C%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: don't call generic_identify()
	redundantly
Thread-Index: Ac0zewC9agx4NBTDnkuMWMKBLEK/mQ==
In-Reply-To: <4FB3E2ED0200007800084287@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: don't call generic_identify()
 redundantly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/2012 16:25, "Jan Beulich" <JBeulich@suse.com> wrote:

> Right before calling struct cpu_dev's ->c_identify, if non-NULL,
> identify_cpu() calls generic_identify(). Hence there's no point for
> ->c_identify to point to generic_identify, nor for the handler to call
> that function. After removing all pointless uses, the function isn't
> being used outside the file that's defininig it anymore, and hence can
> become static.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -516,7 +516,6 @@ static struct cpu_dev amd_cpu_dev __cpui
> .c_vendor = "AMD",
> .c_ident  = { "AuthenticAMD" },
> .c_init  = init_amd,
> - .c_identify = generic_identify,
>  };
>  
>  int __init amd_init_cpu(void)
> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -227,7 +227,7 @@ static void __init early_cpu_detect(void
> c->x86_capability[4] = cap4;
>  }
>  
> -void __cpuinit generic_identify(struct cpuinfo_x86 * c)
> +static void __cpuinit generic_identify(struct cpuinfo_x86 *c)
>  {
> u32 tfms, xlvl, capability, excap, ebx;
>  
> --- a/xen/arch/x86/cpu/cpu.h
> +++ b/xen/arch/x86/cpu/cpu.h
> @@ -28,6 +28,4 @@ extern unsigned int opt_cpuid_mask_ext_e
>  extern int get_model_name(struct cpuinfo_x86 *c);
>  extern void display_cacheinfo(struct cpuinfo_x86 *c);
>  
> -extern void generic_identify(struct cpuinfo_x86 * c);
> -
>  extern void early_intel_workaround(struct cpuinfo_x86 *c);
> --- a/xen/arch/x86/cpu/cyrix.c
> +++ b/xen/arch/x86/cpu/cyrix.c
> @@ -288,7 +288,6 @@ static struct cpu_dev cyrix_cpu_dev __cp
> .c_vendor = "Cyrix",
> .c_ident  = { "CyrixInstead" },
> .c_init  = init_cyrix,
> - .c_identify = generic_identify,
>  };
>  
>  int __init cyrix_init_cpu(void)
> @@ -303,7 +302,6 @@ static struct cpu_dev nsc_cpu_dev __cpui
> .c_vendor = "NSC",
> .c_ident  = { "Geode by NSC" },
> .c_init  = init_cyrix,
> - .c_identify = generic_identify,
>  };
>  
>  int __init nsc_init_cpu(void)
> --- a/xen/arch/x86/cpu/intel.c
> +++ b/xen/arch/x86/cpu/intel.c
> @@ -329,7 +329,6 @@ static struct cpu_dev intel_cpu_dev __cp
> },
> },
> .c_init  = init_intel,
> - .c_identify = generic_identify,
> .c_size_cache = intel_size_cache,
>  };
>  
> --- a/xen/arch/x86/cpu/transmeta.c
> +++ b/xen/arch/x86/cpu/transmeta.c
> @@ -82,7 +82,6 @@ static void __init init_transmeta(struct
>  static void transmeta_identify(struct cpuinfo_x86 * c)
>  {
> u32 xlvl;
> - generic_identify(c);
>  
> /* Transmeta-defined flags: level 0x80860001 */
> xlvl = cpuid_eax(0x80860000);
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:46:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgQM-0005ec-Q3; Wed, 16 May 2012 15:46:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SUgQL-0005eU-Al
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:46:01 +0000
Received: from [85.158.143.99:51563] by server-3.bemta-4.messagelabs.com id
	21/04-05853-8BBC3BF4; Wed, 16 May 2012 15:46:00 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337183159!27437994!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3951 invoked from network); 16 May 2012 15:45:59 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:45:59 -0000
Received: by eekd41 with SMTP id d41so284223eek.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:45:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=w2VdmLaUAqmiSO2ynLDi4+ev4h0qS92Q4Eg2tjKtunc=;
	b=KtcEh4u958NcStSzxoKnEVfgUzujdnF9WmFdPHzkfOku7thQKqaTxanLkk52f4ENIB
	hddaJsAPHR9S9Njenm5cuRDQxW7JNmowvFX4wIJrfNyP/fGMdd2MzxbkN2Ix7g+xzM/3
	QhFJOSGLtjsh/Y6JmPqoIxn/0w0L0dwnldzZb7m10PI7rsrG+T20yv+tBF/WNdGrKvxr
	TLm5fY7gaOkz3MH+AoHZIjLASVTpqdKHN1UAvS8jQSRlvDTglP8dWtZI3l3CDsBGeytf
	ou/FOGCcNYAIrOx5sNssGdT9f0f3kEQYAlgVeNwgTwjE1rN+zhIasDcv+fV5RmYt0WSP
	LjwQ==
Received: by 10.213.20.14 with SMTP id d14mr388439ebb.115.1337183159258;
	Wed, 16 May 2012 08:45:59 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z5sm14196438eem.3.2012.05.16.08.45.51
	(version=SSLv3 cipher=OTHER); Wed, 16 May 2012 08:45:58 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 16 May 2012 16:45:50 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD98A3E.3364B%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] serial: serial_irq() and descendants can be
	__init
Thread-Index: Ac0zevfMFNrs4f4CLkWXxOIczPCADg==
In-Reply-To: <4FB3E0F3020000780008426A@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] serial: serial_irq() and descendants can be
 __init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/2012 16:16, "Jan Beulich" <JBeulich@suse.com> wrote:

> ... as being solely called from smp_intr_init(), which itself is
> marked such.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -361,7 +361,7 @@ static void __init ns16550_endboot(struc
>  #define ns16550_endboot NULL
>  #endif
>  
> -static int ns16550_irq(struct serial_port *port)
> +static int __init ns16550_irq(struct serial_port *port)
>  {
>      struct ns16550 *uart = port->uart;
>      return ((uart->irq > 0) ? uart->irq : -1);
> --- a/xen/drivers/char/pl011.c
> +++ b/xen/drivers/char/pl011.c
> @@ -215,7 +215,7 @@ static int pl011_getc(struct serial_port
>      return 1;
>  }
>  
> -static int pl011_irq(struct serial_port *port)
> +static int __init pl011_irq(struct serial_port *port)
>  {
>      struct pl011 *uart = port->uart;
>      return ((uart->irq > 0) ? uart->irq : -1);
> --- a/xen/drivers/char/serial.c
> +++ b/xen/drivers/char/serial.c
> @@ -475,7 +475,7 @@ void __init serial_endboot(void)
>              com[i].driver->endboot(&com[i]);
>  }
>  
> -int serial_irq(int idx)
> +int __init serial_irq(int idx)
>  {
>      if ( (idx >= 0) && (idx < ARRAY_SIZE(com)) &&
>           com[idx].driver && com[idx].driver->irq )
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:46:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgQM-0005ec-Q3; Wed, 16 May 2012 15:46:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SUgQL-0005eU-Al
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:46:01 +0000
Received: from [85.158.143.99:51563] by server-3.bemta-4.messagelabs.com id
	21/04-05853-8BBC3BF4; Wed, 16 May 2012 15:46:00 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337183159!27437994!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3951 invoked from network); 16 May 2012 15:45:59 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:45:59 -0000
Received: by eekd41 with SMTP id d41so284223eek.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:45:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=w2VdmLaUAqmiSO2ynLDi4+ev4h0qS92Q4Eg2tjKtunc=;
	b=KtcEh4u958NcStSzxoKnEVfgUzujdnF9WmFdPHzkfOku7thQKqaTxanLkk52f4ENIB
	hddaJsAPHR9S9Njenm5cuRDQxW7JNmowvFX4wIJrfNyP/fGMdd2MzxbkN2Ix7g+xzM/3
	QhFJOSGLtjsh/Y6JmPqoIxn/0w0L0dwnldzZb7m10PI7rsrG+T20yv+tBF/WNdGrKvxr
	TLm5fY7gaOkz3MH+AoHZIjLASVTpqdKHN1UAvS8jQSRlvDTglP8dWtZI3l3CDsBGeytf
	ou/FOGCcNYAIrOx5sNssGdT9f0f3kEQYAlgVeNwgTwjE1rN+zhIasDcv+fV5RmYt0WSP
	LjwQ==
Received: by 10.213.20.14 with SMTP id d14mr388439ebb.115.1337183159258;
	Wed, 16 May 2012 08:45:59 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z5sm14196438eem.3.2012.05.16.08.45.51
	(version=SSLv3 cipher=OTHER); Wed, 16 May 2012 08:45:58 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 16 May 2012 16:45:50 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBD98A3E.3364B%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] serial: serial_irq() and descendants can be
	__init
Thread-Index: Ac0zevfMFNrs4f4CLkWXxOIczPCADg==
In-Reply-To: <4FB3E0F3020000780008426A@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] serial: serial_irq() and descendants can be
 __init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/2012 16:16, "Jan Beulich" <JBeulich@suse.com> wrote:

> ... as being solely called from smp_intr_init(), which itself is
> marked such.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -361,7 +361,7 @@ static void __init ns16550_endboot(struc
>  #define ns16550_endboot NULL
>  #endif
>  
> -static int ns16550_irq(struct serial_port *port)
> +static int __init ns16550_irq(struct serial_port *port)
>  {
>      struct ns16550 *uart = port->uart;
>      return ((uart->irq > 0) ? uart->irq : -1);
> --- a/xen/drivers/char/pl011.c
> +++ b/xen/drivers/char/pl011.c
> @@ -215,7 +215,7 @@ static int pl011_getc(struct serial_port
>      return 1;
>  }
>  
> -static int pl011_irq(struct serial_port *port)
> +static int __init pl011_irq(struct serial_port *port)
>  {
>      struct pl011 *uart = port->uart;
>      return ((uart->irq > 0) ? uart->irq : -1);
> --- a/xen/drivers/char/serial.c
> +++ b/xen/drivers/char/serial.c
> @@ -475,7 +475,7 @@ void __init serial_endboot(void)
>              com[i].driver->endboot(&com[i]);
>  }
>  
> -int serial_irq(int idx)
> +int __init serial_irq(int idx)
>  {
>      if ( (idx >= 0) && (idx < ARRAY_SIZE(com)) &&
>           com[idx].driver && com[idx].driver->irq )
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:52:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgWA-00060r-2C; Wed, 16 May 2012 15:52:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SUgW9-00060k-F1
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:52:01 +0000
Received: from [85.158.143.35:13002] by server-3.bemta-4.messagelabs.com id
	55/FE-05853-02DC3BF4; Wed, 16 May 2012 15:52:00 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337183517!11365783!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9857 invoked from network); 16 May 2012 15:51:58 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-11.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	16 May 2012 15:51:58 -0000
Received: from mail61-db3-R.bigfish.com (10.3.81.237) by
	DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:51:49 +0000
Received: from mail61-db3 (localhost [127.0.0.1])	by mail61-db3-R.bigfish.com
	(Postfix) with ESMTP id DEA4C1401B3	for <xen-devel@lists.xen.org>;
	Wed, 16 May 2012 15:51:49 +0000 (UTC)
X-SpamScore: 0
X-BigFish: VPS0(zzc85fhc85dhzz1202hzz8275bhz2dh668h839hd25he5bh34h)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail61-db3 (localhost.localdomain [127.0.0.1]) by mail61-db3
	(MessageSwitch) id 1337183508291516_21295;
	Wed, 16 May 2012 15:51:48 +0000 (UTC)
Received: from DB3EHSMHS007.bigfish.com (unknown [10.3.81.232])	by
	mail61-db3.bigfish.com (Postfix) with ESMTP id 38C291E0047	for
	<xen-devel@lists.xen.org>; Wed, 16 May 2012 15:51:48 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS007.bigfish.com (10.3.87.107) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:51:45 +0000
X-WSS-ID: 0M44HED-02-J03-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26CD2C812F	for <xen-devel@lists.xen.org>; Wed, 16 May 2012
	10:51:48 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 16 May 2012 10:58:31 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 16 May 2012 10:51:49 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 16 May 2012
	11:51:48 -0400
Message-ID: <4FB3CD0E.5000708@amd.com>
Date: Wed, 16 May 2012 17:51:42 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
Content-Type: multipart/mixed; boundary="------------080300030603000302070601"
X-OriginatorOrg: amd.com
Subject: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------080300030603000302070601
Content-Type: text/plain; charset="ISO-8859-15"
Content-Transfer-Encoding: 7bit


Fix this build error:

libxl_aoutils.c: In function 'libxl__openptys':
libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
qualifiers from pointer target type
/usr/include/util.h:92:6: note: expected 'struct termios *' but argument
is of type 'const struct termios *'
libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
qualifiers from pointer target type
/usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
is of type 'const struct winsize *'

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------080300030603000302070601
Content-Type: text/plain; charset="us-ascii"; name="xen_libxl.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xen_libxl.diff"
Content-Description: xen_libxl.diff

diff -r 1463985435ba tools/libxl/libxl_aoutils.c
--- a/tools/libxl/libxl_aoutils.c	Wed May 16 17:17:17 2012 +0200
+++ b/tools/libxl/libxl_aoutils.c	Wed May 16 17:47:51 2012 +0200
@@ -230,8 +230,8 @@ static void openpty_exited(libxl__egc *e
 }
 
 int libxl__openptys(libxl__openpty_state *op,
-                    const struct termios *termp,
-                    const struct winsize *winp) {
+                    struct termios *termp,
+                    struct winsize *winp) {
     /*
      * This is completely crazy.  openpty calls grantpt which the spec
      * says may fork, and may not be called with a SIGCHLD handler.
diff -r 1463985435ba tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Wed May 16 17:17:17 2012 +0200
+++ b/tools/libxl/libxl_internal.h	Wed May 16 17:47:51 2012 +0200
@@ -1739,8 +1739,8 @@ struct libxl__openpty_result {
 };
 
 int libxl__openptys(libxl__openpty_state *op,
-                    const struct termios *termp,
-                    const struct winsize *winp);
+                    struct termios *termp,
+                    struct winsize *winp);
 
 
 /*----- bootloader -----*/

--------------080300030603000302070601
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------080300030603000302070601--


From xen-devel-bounces@lists.xen.org Wed May 16 15:52:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgWA-00060r-2C; Wed, 16 May 2012 15:52:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SUgW9-00060k-F1
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:52:01 +0000
Received: from [85.158.143.35:13002] by server-3.bemta-4.messagelabs.com id
	55/FE-05853-02DC3BF4; Wed, 16 May 2012 15:52:00 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337183517!11365783!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9857 invoked from network); 16 May 2012 15:51:58 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-11.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	16 May 2012 15:51:58 -0000
Received: from mail61-db3-R.bigfish.com (10.3.81.237) by
	DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:51:49 +0000
Received: from mail61-db3 (localhost [127.0.0.1])	by mail61-db3-R.bigfish.com
	(Postfix) with ESMTP id DEA4C1401B3	for <xen-devel@lists.xen.org>;
	Wed, 16 May 2012 15:51:49 +0000 (UTC)
X-SpamScore: 0
X-BigFish: VPS0(zzc85fhc85dhzz1202hzz8275bhz2dh668h839hd25he5bh34h)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail61-db3 (localhost.localdomain [127.0.0.1]) by mail61-db3
	(MessageSwitch) id 1337183508291516_21295;
	Wed, 16 May 2012 15:51:48 +0000 (UTC)
Received: from DB3EHSMHS007.bigfish.com (unknown [10.3.81.232])	by
	mail61-db3.bigfish.com (Postfix) with ESMTP id 38C291E0047	for
	<xen-devel@lists.xen.org>; Wed, 16 May 2012 15:51:48 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS007.bigfish.com (10.3.87.107) with Microsoft SMTP Server id
	14.1.225.23; Wed, 16 May 2012 15:51:45 +0000
X-WSS-ID: 0M44HED-02-J03-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26CD2C812F	for <xen-devel@lists.xen.org>; Wed, 16 May 2012
	10:51:48 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 16 May 2012 10:58:31 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 16 May 2012 10:51:49 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 16 May 2012
	11:51:48 -0400
Message-ID: <4FB3CD0E.5000708@amd.com>
Date: Wed, 16 May 2012 17:51:42 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
Content-Type: multipart/mixed; boundary="------------080300030603000302070601"
X-OriginatorOrg: amd.com
Subject: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------080300030603000302070601
Content-Type: text/plain; charset="ISO-8859-15"
Content-Transfer-Encoding: 7bit


Fix this build error:

libxl_aoutils.c: In function 'libxl__openptys':
libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
qualifiers from pointer target type
/usr/include/util.h:92:6: note: expected 'struct termios *' but argument
is of type 'const struct termios *'
libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
qualifiers from pointer target type
/usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
is of type 'const struct winsize *'

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------080300030603000302070601
Content-Type: text/plain; charset="us-ascii"; name="xen_libxl.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xen_libxl.diff"
Content-Description: xen_libxl.diff

diff -r 1463985435ba tools/libxl/libxl_aoutils.c
--- a/tools/libxl/libxl_aoutils.c	Wed May 16 17:17:17 2012 +0200
+++ b/tools/libxl/libxl_aoutils.c	Wed May 16 17:47:51 2012 +0200
@@ -230,8 +230,8 @@ static void openpty_exited(libxl__egc *e
 }
 
 int libxl__openptys(libxl__openpty_state *op,
-                    const struct termios *termp,
-                    const struct winsize *winp) {
+                    struct termios *termp,
+                    struct winsize *winp) {
     /*
      * This is completely crazy.  openpty calls grantpt which the spec
      * says may fork, and may not be called with a SIGCHLD handler.
diff -r 1463985435ba tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Wed May 16 17:17:17 2012 +0200
+++ b/tools/libxl/libxl_internal.h	Wed May 16 17:47:51 2012 +0200
@@ -1739,8 +1739,8 @@ struct libxl__openpty_result {
 };
 
 int libxl__openptys(libxl__openpty_state *op,
-                    const struct termios *termp,
-                    const struct winsize *winp);
+                    struct termios *termp,
+                    struct winsize *winp);
 
 
 /*----- bootloader -----*/

--------------080300030603000302070601
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------080300030603000302070601--


From xen-devel-bounces@lists.xen.org Wed May 16 15:52:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:52:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgWc-000636-MB; Wed, 16 May 2012 15:52:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <paolo.bonzini@gmail.com>) id 1SUgWa-00062v-PH
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:52:29 +0000
Received: from [85.158.139.83:59955] by server-5.bemta-5.messagelabs.com id
	DC/31-13566-B3DC3BF4; Wed, 16 May 2012 15:52:27 +0000
X-Env-Sender: paolo.bonzini@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337183545!28066490!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20817 invoked from network); 16 May 2012 15:52:26 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:52:26 -0000
Received: by pbbro12 with SMTP id ro12so1364677pbb.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:52:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=JQJQ3r/uDgPzEJco6gmD2YgSadQARM+EVUblwffV8aU=;
	b=a4UzImr0xO/bonnqn5tovKh3pk7HMd8zhcS2XSN3gwsz0umJotnnQBH4p3IEXNfxL3
	LbPeyIotAu/k2PijU72X8jJhbpWE30mWb4XeNwhV5h1gEfSwDxdyhRcMlKdQ2Bl/5e6J
	HuDfbp38lI33rTOEB9hGlRnZga+6j/BmgudKaHaa46Chg3PtcryGjnOFmxUCWVF/iCp8
	kD09xqSCU5z1d6e4cXeCD6mOshBUJsErGoDnku4uYvtL9CMB4XWOJurhprnznBVDT9Sv
	ToKYxo+1PG8jcggHWawQJ8W/DWlgN4QeLeDfT/KKp0TjlGSMVgUZNwhqHXs5cgBtiNIj
	BeMg==
Received: by 10.68.222.3 with SMTP id qi3mr17702817pbc.141.1337183544454;
	Wed, 16 May 2012 08:52:24 -0700 (PDT)
Received: from yakj.usersys.redhat.com (93-34-182-16.ip50.fastwebnet.it.
	[93.34.182.16])
	by mx.google.com with ESMTPS id ud10sm5853909pbc.25.2012.05.16.08.52.19
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 08:52:23 -0700 (PDT)
Message-ID: <4FB3CD31.8050903@redhat.com>
Date: Wed, 16 May 2012 17:52:17 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "Michael S. Tsirkin" <mst@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
	<CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
	<20120516132017.GB8620@redhat.com>
In-Reply-To: <20120516132017.GB8620@redhat.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 16/05/2012 15:20, Michael S. Tsirkin ha scritto:
>>> Because it's missing the object_unparent done by qdev_unplug.  Does
>>> object_unparent+qdev_free work?  (I believe object_unparent should be
>>> done by qdev_free rather than qdev_unplug, but that's something for 1.2).
>>
>> Cool, this seems to work fine. Thanks.
>>
>> I'll test a bit more and resend a patch with only object_unparent+qdev_free.
> 
> Separately it was suggested to make qdev_free do object_unparent
> automatically. Anthony is yet to respond.

Yes, but for 1.1 this Xen-only patch would be nice.

Paolo


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 15:52:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 15:52:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgWc-000636-MB; Wed, 16 May 2012 15:52:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <paolo.bonzini@gmail.com>) id 1SUgWa-00062v-PH
	for xen-devel@lists.xen.org; Wed, 16 May 2012 15:52:29 +0000
Received: from [85.158.139.83:59955] by server-5.bemta-5.messagelabs.com id
	DC/31-13566-B3DC3BF4; Wed, 16 May 2012 15:52:27 +0000
X-Env-Sender: paolo.bonzini@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337183545!28066490!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20817 invoked from network); 16 May 2012 15:52:26 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 15:52:26 -0000
Received: by pbbro12 with SMTP id ro12so1364677pbb.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 08:52:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	bh=JQJQ3r/uDgPzEJco6gmD2YgSadQARM+EVUblwffV8aU=;
	b=a4UzImr0xO/bonnqn5tovKh3pk7HMd8zhcS2XSN3gwsz0umJotnnQBH4p3IEXNfxL3
	LbPeyIotAu/k2PijU72X8jJhbpWE30mWb4XeNwhV5h1gEfSwDxdyhRcMlKdQ2Bl/5e6J
	HuDfbp38lI33rTOEB9hGlRnZga+6j/BmgudKaHaa46Chg3PtcryGjnOFmxUCWVF/iCp8
	kD09xqSCU5z1d6e4cXeCD6mOshBUJsErGoDnku4uYvtL9CMB4XWOJurhprnznBVDT9Sv
	ToKYxo+1PG8jcggHWawQJ8W/DWlgN4QeLeDfT/KKp0TjlGSMVgUZNwhqHXs5cgBtiNIj
	BeMg==
Received: by 10.68.222.3 with SMTP id qi3mr17702817pbc.141.1337183544454;
	Wed, 16 May 2012 08:52:24 -0700 (PDT)
Received: from yakj.usersys.redhat.com (93-34-182-16.ip50.fastwebnet.it.
	[93.34.182.16])
	by mx.google.com with ESMTPS id ud10sm5853909pbc.25.2012.05.16.08.52.19
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 08:52:23 -0700 (PDT)
Message-ID: <4FB3CD31.8050903@redhat.com>
Date: Wed, 16 May 2012 17:52:17 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "Michael S. Tsirkin" <mst@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
	<CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
	<20120516132017.GB8620@redhat.com>
In-Reply-To: <20120516132017.GB8620@redhat.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 16/05/2012 15:20, Michael S. Tsirkin ha scritto:
>>> Because it's missing the object_unparent done by qdev_unplug.  Does
>>> object_unparent+qdev_free work?  (I believe object_unparent should be
>>> done by qdev_free rather than qdev_unplug, but that's something for 1.2).
>>
>> Cool, this seems to work fine. Thanks.
>>
>> I'll test a bit more and resend a patch with only object_unparent+qdev_free.
> 
> Separately it was suggested to make qdev_free do object_unparent
> automatically. Anthony is yet to respond.

Yes, but for 1.1 this Xen-only patch would be nice.

Paolo


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:02:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUggS-0006ov-7I; Wed, 16 May 2012 16:02:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony@codemonkey.ws>) id 1SUggR-0006ok-L8
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:02:39 +0000
Received: from [85.158.143.99:20848] by server-3.bemta-4.messagelabs.com id
	E6/54-05853-E9FC3BF4; Wed, 16 May 2012 16:02:38 +0000
X-Env-Sender: anthony@codemonkey.ws
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337184155!21305416!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16996 invoked from network); 16 May 2012 16:02:37 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:02:37 -0000
Received: by dadv2 with SMTP id v2so1247821dad.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 09:02:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding
	:x-gm-message-state;
	bh=eWxM9EpoFHMFsbLUgi1eX7dUP8DenB5+l2iPcHoDDEc=;
	b=nXranPJarQaSfn9cXTBWpBhh3VVynQt+yMnSfWrAgXeN8pggo2CoRjSykTGrphKu1u
	eKHxF3aTLlT++WoZTRTCBgYqlXXmymLgrkN0BMiPBKHiWUJ4vNF0f+DHl83GML/kLBcG
	SZL4nG55+nno3mldNFjUUqcNnTj6yAe/F1YDQ24v6Ci/hjzBxQ0TvwByv6u26aJ5eroq
	uHs0BNxBG4c+AzS2re8iQAUlzhzOGa/xZ4VNO3KEyOxDW5QrKOwHxsh34mbvMnlFZ7ow
	mWjVjLTGE5J3ejj6uDI7iztJqg85MfqwvUtM4rpnbAGocXyOtbUXQd0PxdGKljrsdGY8
	Op2A==
Received: by 10.68.190.137 with SMTP id gq9mr2502944pbc.34.1337184155214;
	Wed, 16 May 2012 09:02:35 -0700 (PDT)
Received: from [192.168.0.113] (cpe-70-123-145-39.austin.res.rr.com.
	[70.123.145.39])
	by mx.google.com with ESMTPS id ov3sm5872294pbb.35.2012.05.16.09.02.32
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 09:02:33 -0700 (PDT)
Message-ID: <4FB3CF96.7080402@codemonkey.ws>
Date: Wed, 16 May 2012 11:02:30 -0500
From: Anthony Liguori <anthony@codemonkey.ws>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Paolo Bonzini <pbonzini@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
In-Reply-To: <4FB38E2E.5000508@redhat.com>
X-Gm-Message-State: ALoCoQmd2m2rVxG7Qt9reaE7MN60YfYINVMuJaXyucvcWEdX+N8WlbLWkikGQLbSfdtQTRFlHzWy
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, "Michael S. Tsirkin" <mst@redhat.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/16/2012 06:23 AM, Paolo Bonzini wrote:
> Il 16/05/2012 13:15, Anthony PERARD ha scritto:
>>>>          qdev_unplug(&(d->qdev), NULL);
>>>> +        qdev_free(&(d->qdev));
>>>>      }
>>>>   }
>>>>
>>>>
>>>> Anthony, can you confirm that this solves the problem for you?
>> This work until I try to hotplug a new device to the guest at wish
>> point I have this:
>> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
>> assertion failed: (obj->ref == 0)
>>
>> This is because there is still a pending request of the hotunplug in
>> the acpi piix4.
>> If I call qdev_free without qdev_unplug, I hit the same assert, but
>> rigth away. This is way something new.
>
> Because it's missing the object_unparent done by qdev_unplug.  Does
> object_unparent+qdev_free work?  (I believe object_unparent should be
> done by qdev_free rather than qdev_unplug, but that's something for 1.2).

qdev_free() is trivially object_delete today.

What we should do is make an object_destroy() which emits a destroy event and 
then decrements the reference count.  When ref == 0, we should emit a delete event.

We could then register a slot to object_unparent in the destroy event handler, 
and then object_new() could register a free handler in the delete event.

Then object_delete()/qdev_free() just become trivial invocations of object_unref().

But for 1.1, we definitely should just do an explicit object_unparent().

Regards,

Anthony Liguori

>
> Paolo


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:02:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUggS-0006ov-7I; Wed, 16 May 2012 16:02:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony@codemonkey.ws>) id 1SUggR-0006ok-L8
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:02:39 +0000
Received: from [85.158.143.99:20848] by server-3.bemta-4.messagelabs.com id
	E6/54-05853-E9FC3BF4; Wed, 16 May 2012 16:02:38 +0000
X-Env-Sender: anthony@codemonkey.ws
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337184155!21305416!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16996 invoked from network); 16 May 2012 16:02:37 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:02:37 -0000
Received: by dadv2 with SMTP id v2so1247821dad.32
	for <xen-devel@lists.xen.org>; Wed, 16 May 2012 09:02:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type:content-transfer-encoding
	:x-gm-message-state;
	bh=eWxM9EpoFHMFsbLUgi1eX7dUP8DenB5+l2iPcHoDDEc=;
	b=nXranPJarQaSfn9cXTBWpBhh3VVynQt+yMnSfWrAgXeN8pggo2CoRjSykTGrphKu1u
	eKHxF3aTLlT++WoZTRTCBgYqlXXmymLgrkN0BMiPBKHiWUJ4vNF0f+DHl83GML/kLBcG
	SZL4nG55+nno3mldNFjUUqcNnTj6yAe/F1YDQ24v6Ci/hjzBxQ0TvwByv6u26aJ5eroq
	uHs0BNxBG4c+AzS2re8iQAUlzhzOGa/xZ4VNO3KEyOxDW5QrKOwHxsh34mbvMnlFZ7ow
	mWjVjLTGE5J3ejj6uDI7iztJqg85MfqwvUtM4rpnbAGocXyOtbUXQd0PxdGKljrsdGY8
	Op2A==
Received: by 10.68.190.137 with SMTP id gq9mr2502944pbc.34.1337184155214;
	Wed, 16 May 2012 09:02:35 -0700 (PDT)
Received: from [192.168.0.113] (cpe-70-123-145-39.austin.res.rr.com.
	[70.123.145.39])
	by mx.google.com with ESMTPS id ov3sm5872294pbb.35.2012.05.16.09.02.32
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 16 May 2012 09:02:33 -0700 (PDT)
Message-ID: <4FB3CF96.7080402@codemonkey.ws>
Date: Wed, 16 May 2012 11:02:30 -0500
From: Anthony Liguori <anthony@codemonkey.ws>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Paolo Bonzini <pbonzini@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
In-Reply-To: <4FB38E2E.5000508@redhat.com>
X-Gm-Message-State: ALoCoQmd2m2rVxG7Qt9reaE7MN60YfYINVMuJaXyucvcWEdX+N8WlbLWkikGQLbSfdtQTRFlHzWy
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, "Michael S. Tsirkin" <mst@redhat.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/16/2012 06:23 AM, Paolo Bonzini wrote:
> Il 16/05/2012 13:15, Anthony PERARD ha scritto:
>>>>          qdev_unplug(&(d->qdev), NULL);
>>>> +        qdev_free(&(d->qdev));
>>>>      }
>>>>   }
>>>>
>>>>
>>>> Anthony, can you confirm that this solves the problem for you?
>> This work until I try to hotplug a new device to the guest at wish
>> point I have this:
>> ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
>> assertion failed: (obj->ref == 0)
>>
>> This is because there is still a pending request of the hotunplug in
>> the acpi piix4.
>> If I call qdev_free without qdev_unplug, I hit the same assert, but
>> rigth away. This is way something new.
>
> Because it's missing the object_unparent done by qdev_unplug.  Does
> object_unparent+qdev_free work?  (I believe object_unparent should be
> done by qdev_free rather than qdev_unplug, but that's something for 1.2).

qdev_free() is trivially object_delete today.

What we should do is make an object_destroy() which emits a destroy event and 
then decrements the reference count.  When ref == 0, we should emit a delete event.

We could then register a slot to object_unparent in the destroy event handler, 
and then object_new() could register a free handler in the delete event.

Then object_delete()/qdev_free() just become trivial invocations of object_unref().

But for 1.1, we definitely should just do an explicit object_unparent().

Regards,

Anthony Liguori

>
> Paolo


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpY-0006zZ-MY; Wed, 16 May 2012 16:12:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpX-0006zE-1Z
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:03 +0000
Received: from [85.158.143.99:13807] by server-1.bemta-4.messagelabs.com id
	C1/17-00342-2D1D3BF4; Wed, 16 May 2012 16:12:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25995 invoked from network); 16 May 2012 16:12:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243430"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpS-0007Tp-UX;
	Wed, 16 May 2012 17:11:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:45 +0100
Message-ID: <1337184716-49276-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 02/13] libxl: fix libxl__xs_directory usage of
	transaction
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__xs_directory takes a transaction parameter, but completely
ignores it, passing XBT_NULL unconditionally to xs_directory.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_xshelp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 3ea8d08..6ca1afe 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -111,7 +111,7 @@ char **libxl__xs_directory(libxl__gc *gc, xs_transaction_t t,
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **ret = NULL;
-    ret = xs_directory(ctx->xsh, XBT_NULL, path, nb);
+    ret = xs_directory(ctx->xsh, t, path, nb);
     libxl__ptr_add(gc, ret);
     return ret;
 }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpY-0006zZ-MY; Wed, 16 May 2012 16:12:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpX-0006zE-1Z
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:03 +0000
Received: from [85.158.143.99:13807] by server-1.bemta-4.messagelabs.com id
	C1/17-00342-2D1D3BF4; Wed, 16 May 2012 16:12:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25995 invoked from network); 16 May 2012 16:12:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243430"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpS-0007Tp-UX;
	Wed, 16 May 2012 17:11:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:45 +0100
Message-ID: <1337184716-49276-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 02/13] libxl: fix libxl__xs_directory usage of
	transaction
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__xs_directory takes a transaction parameter, but completely
ignores it, passing XBT_NULL unconditionally to xs_directory.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_xshelp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 3ea8d08..6ca1afe 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -111,7 +111,7 @@ char **libxl__xs_directory(libxl__gc *gc, xs_transaction_t t,
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **ret = NULL;
-    ret = xs_directory(ctx->xsh, XBT_NULL, path, nb);
+    ret = xs_directory(ctx->xsh, t, path, nb);
     libxl__ptr_add(gc, ret);
     return ret;
 }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpa-00070H-Rv; Wed, 16 May 2012 16:12:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpZ-0006zT-CC
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:05 +0000
Received: from [85.158.143.99:51504] by server-3.bemta-4.messagelabs.com id
	62/F5-05853-4D1D3BF4; Wed, 16 May 2012 16:12:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26088 invoked from network); 16 May 2012 16:12:03 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243435"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-3s;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:49 +0100
Message-ID: <1337184716-49276-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 06/13] libxl: cleanup libxl__device_{disk,
	nic}_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change libxl__sprintf for GCSPRINTF, LIBXL__LOG* for LOG and remove
use of ctx variable in favour of the CTX constant.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |  114 +++++++++++++++++++++-----------------------
 1 files changed, 55 insertions(+), 59 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index edc4ad1..1e34135 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -253,13 +253,12 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                             libxl_device_disk *disk,
                             libxl__device *device)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     int devid;
 
     devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
     if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
+        LOG(ERROR, "Invalid or unsupported virtual disk identifier %s",
+                   disk->vdev);
         return ERROR_INVAL;
     }
 
@@ -267,19 +266,18 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     device->backend_devid = devid;
 
     switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
+    case LIBXL_DISK_BACKEND_PHY:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_TAP:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_QDISK:
+        device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+        break;
+    default:
+        LOG(ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+        return ERROR_INVAL;
     }
 
     device->domid = domid;
@@ -292,10 +290,9 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
                            libxl_device_disk *disk)
 {
-    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
-    char *dev;
+    char *dev, *format;
     libxl__device device;
     int major, minor, rc;
 
@@ -314,18 +311,18 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     }
 
     if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
+        LOG(ERROR, "External block scripts not yet supported, sorry");
         rc = ERROR_INVAL;
         goto out_free;
     }
 
     rc = libxl__device_from_disk(gc, domid, disk, &device);
     if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
+        LOG(ERROR, "Invalid or unsupported virtual disk identifier %s",
+                   disk->vdev);
         goto out_free;
     }
+    format = libxl__device_disk_string_of_format(disk->format);
 
     switch (disk->backend) {
         case LIBXL_DISK_BACKEND_PHY:
@@ -333,7 +330,7 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     do_backend_phy:
             libxl__device_physdisk_major_minor(dev, &major, &minor);
             flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+            flexarray_append(back, GCSPRINTF("%x:%x", major, minor));
 
             flexarray_append(back, "params");
             flexarray_append(back, dev);
@@ -349,34 +346,31 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
                 goto out_free;
             }
             flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
+            flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
 
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
             flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
             assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            LOG(ERROR, "unrecognized disk backend type: %d\n", disk->backend);
             rc = ERROR_INVAL;
             goto out_free;
     }
 
     flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, GCSPRINTF("%d", domid));
     flexarray_append(back, "online");
     flexarray_append(back, "1");
     flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, GCSPRINTF("%d", (disk->removable) ? 1 : 0));
     flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, GCSPRINTF("%d", 1));
     flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, GCSPRINTF("%d", 1));
     flexarray_append(back, "dev");
     flexarray_append(back, disk->vdev);
     flexarray_append(back, "type");
@@ -387,17 +381,17 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
 
     flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
     flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, GCSPRINTF("%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, GCSPRINTF("%d", device.devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
     libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
     rc = 0;
 
@@ -449,8 +443,10 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
             rc = ERROR_FAIL;
             goto out_free;
         }
-        if (!(l = libxl__xs_directory(gc, XBT_NULL,
-                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
+        l = libxl__xs_directory(gc, XBT_NULL, GCSPRINTF(
+                                                  "%s/device/vif", dompath),
+                                              &nb);
+        if (!l) {
             nic->devid = 0;
         } else {
             nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
@@ -461,17 +457,18 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, GCSPRINTF("%d", domid));
     flexarray_append(back, "online");
     flexarray_append(back, "1");
     flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, GCSPRINTF("%d", 1));
     if (nic->script) {
         flexarray_append(back, "script");
-        flexarray_append(back, nic->script[0]=='/' ? nic->script
-                         : libxl__sprintf(gc, "%s/%s",
-                                          libxl__xen_script_dir_path(),
-                                          nic->script));
+        flexarray_append(back, nic->script[0]=='/' ?
+                                   nic->script :
+                                   GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             nic->script));
     }
 
     if (nic->ifname) {
@@ -480,8 +477,7 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     }
 
     flexarray_append(back, "mac");
-    flexarray_append(back,libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    flexarray_append(back, GCSPRINTF(LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
     if (nic->ip) {
         flexarray_append(back, "ip");
         flexarray_append(back, libxl__strdup(gc, nic->ip));
@@ -489,28 +485,28 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
 
     if (nic->rate_interval_usecs > 0) {
         flexarray_append(back, "rate");
-        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
-                            nic->rate_bytes_per_interval,
-                            nic->rate_interval_usecs));
+        flexarray_append(back, GCSPRINTF("%"PRIu64",%"PRIu32"",
+                                         nic->rate_bytes_per_interval,
+                                         nic->rate_interval_usecs));
     }
 
     flexarray_append(back, "bridge");
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
-    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, GCSPRINTF("%d", nic->devid));
 
     flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
+    flexarray_append(front, GCSPRINTF("%d", nic->backend_domid));
     flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, GCSPRINTF("%d", 1));
     flexarray_append(front, "handle");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(front, GCSPRINTF("%d", nic->devid));
     flexarray_append(front, "mac");
-    flexarray_append(front, libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    flexarray_append(front, GCSPRINTF(LIBXL_MAC_FMT,
+                                      LIBXL_MAC_BYTES(nic->mac)));
     libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
     /* FIXME: wait for plug */
     rc = 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpa-00070H-Rv; Wed, 16 May 2012 16:12:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpZ-0006zT-CC
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:05 +0000
Received: from [85.158.143.99:51504] by server-3.bemta-4.messagelabs.com id
	62/F5-05853-4D1D3BF4; Wed, 16 May 2012 16:12:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26088 invoked from network); 16 May 2012 16:12:03 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243435"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-3s;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:49 +0100
Message-ID: <1337184716-49276-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 06/13] libxl: cleanup libxl__device_{disk,
	nic}_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change libxl__sprintf for GCSPRINTF, LIBXL__LOG* for LOG and remove
use of ctx variable in favour of the CTX constant.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |  114 +++++++++++++++++++++-----------------------
 1 files changed, 55 insertions(+), 59 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index edc4ad1..1e34135 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -253,13 +253,12 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                             libxl_device_disk *disk,
                             libxl__device *device)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     int devid;
 
     devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
     if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
+        LOG(ERROR, "Invalid or unsupported virtual disk identifier %s",
+                   disk->vdev);
         return ERROR_INVAL;
     }
 
@@ -267,19 +266,18 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     device->backend_devid = devid;
 
     switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
+    case LIBXL_DISK_BACKEND_PHY:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_TAP:
+        device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+        break;
+    case LIBXL_DISK_BACKEND_QDISK:
+        device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+        break;
+    default:
+        LOG(ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+        return ERROR_INVAL;
     }
 
     device->domid = domid;
@@ -292,10 +290,9 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
                            libxl_device_disk *disk)
 {
-    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
-    char *dev;
+    char *dev, *format;
     libxl__device device;
     int major, minor, rc;
 
@@ -314,18 +311,18 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     }
 
     if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
+        LOG(ERROR, "External block scripts not yet supported, sorry");
         rc = ERROR_INVAL;
         goto out_free;
     }
 
     rc = libxl__device_from_disk(gc, domid, disk, &device);
     if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
+        LOG(ERROR, "Invalid or unsupported virtual disk identifier %s",
+                   disk->vdev);
         goto out_free;
     }
+    format = libxl__device_disk_string_of_format(disk->format);
 
     switch (disk->backend) {
         case LIBXL_DISK_BACKEND_PHY:
@@ -333,7 +330,7 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     do_backend_phy:
             libxl__device_physdisk_major_minor(dev, &major, &minor);
             flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+            flexarray_append(back, GCSPRINTF("%x:%x", major, minor));
 
             flexarray_append(back, "params");
             flexarray_append(back, dev);
@@ -349,34 +346,31 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
                 goto out_free;
             }
             flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
+            flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
 
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
             flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
             assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            LOG(ERROR, "unrecognized disk backend type: %d\n", disk->backend);
             rc = ERROR_INVAL;
             goto out_free;
     }
 
     flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, GCSPRINTF("%d", domid));
     flexarray_append(back, "online");
     flexarray_append(back, "1");
     flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, GCSPRINTF("%d", (disk->removable) ? 1 : 0));
     flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, GCSPRINTF("%d", 1));
     flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, GCSPRINTF("%d", 1));
     flexarray_append(back, "dev");
     flexarray_append(back, disk->vdev);
     flexarray_append(back, "type");
@@ -387,17 +381,17 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
 
     flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
     flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, GCSPRINTF("%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, GCSPRINTF("%d", device.devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
     libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
     rc = 0;
 
@@ -449,8 +443,10 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
             rc = ERROR_FAIL;
             goto out_free;
         }
-        if (!(l = libxl__xs_directory(gc, XBT_NULL,
-                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
+        l = libxl__xs_directory(gc, XBT_NULL, GCSPRINTF(
+                                                  "%s/device/vif", dompath),
+                                              &nb);
+        if (!l) {
             nic->devid = 0;
         } else {
             nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
@@ -461,17 +457,18 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, GCSPRINTF("%d", domid));
     flexarray_append(back, "online");
     flexarray_append(back, "1");
     flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, GCSPRINTF("%d", 1));
     if (nic->script) {
         flexarray_append(back, "script");
-        flexarray_append(back, nic->script[0]=='/' ? nic->script
-                         : libxl__sprintf(gc, "%s/%s",
-                                          libxl__xen_script_dir_path(),
-                                          nic->script));
+        flexarray_append(back, nic->script[0]=='/' ?
+                                   nic->script :
+                                   GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             nic->script));
     }
 
     if (nic->ifname) {
@@ -480,8 +477,7 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     }
 
     flexarray_append(back, "mac");
-    flexarray_append(back,libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    flexarray_append(back, GCSPRINTF(LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
     if (nic->ip) {
         flexarray_append(back, "ip");
         flexarray_append(back, libxl__strdup(gc, nic->ip));
@@ -489,28 +485,28 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
 
     if (nic->rate_interval_usecs > 0) {
         flexarray_append(back, "rate");
-        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
-                            nic->rate_bytes_per_interval,
-                            nic->rate_interval_usecs));
+        flexarray_append(back, GCSPRINTF("%"PRIu64",%"PRIu32"",
+                                         nic->rate_bytes_per_interval,
+                                         nic->rate_interval_usecs));
     }
 
     flexarray_append(back, "bridge");
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
-    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, GCSPRINTF("%d", nic->devid));
 
     flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
+    flexarray_append(front, GCSPRINTF("%d", nic->backend_domid));
     flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, GCSPRINTF("%d", 1));
     flexarray_append(front, "handle");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(front, GCSPRINTF("%d", nic->devid));
     flexarray_append(front, "mac");
-    flexarray_append(front, libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    flexarray_append(front, GCSPRINTF(LIBXL_MAC_FMT,
+                                      LIBXL_MAC_BYTES(nic->mac)));
     libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+                        libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                        libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
     /* FIXME: wait for plug */
     rc = 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpb-00070T-8N; Wed, 16 May 2012 16:12:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpZ-0006zf-IC
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:05 +0000
Received: from [85.158.138.51:34735] by server-10.bemta-3.messagelabs.com id
	E3/6A-29478-4D1D3BF4; Wed, 16 May 2012 16:12:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337184722!27523107!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12539 invoked from network); 16 May 2012 16:12:03 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243434"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-3F;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:48 +0100
Message-ID: <1337184716-49276-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 05/13] libxl: move libxl_device_nic_add to
	libxl_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move the code of this function to libxl_device.c so it can be made
asyncronious later on the series. The static function
libxl__device_from_nic also has to be moved to libxl_device and it is
no longer static.

The code will be fixed in a latter patch, replacing libxl__sprintf,
LIBXL_LOG* and lines > 80.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  108 +---------------------------------------
 tools/libxl/libxl_device.c   |  113 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    6 ++
 3 files changed, 121 insertions(+), 106 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2d8abd0..d3b6a53 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1655,117 +1655,13 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
     return 0;
 }
 
-static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_nic *nic,
-                                  libxl__device *device)
-{
-    device->backend_devid    = nic->devid;
-    device->backend_domid    = nic->backend_domid;
-    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
-    device->devid            = nic->devid;
-    device->domid            = domid;
-    device->kind             = LIBXL__DEVICE_KIND_VIF;
-
-    return 0;
-}
-
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
-    char *dompath, **l;
-    unsigned int nb, rc;
-
-    rc = libxl__device_nic_setdefault(gc, nic);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (nic->devid == -1) {
-        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
-            rc = ERROR_FAIL;
-            goto out_free;
-        }
-        if (!(l = libxl__xs_directory(gc, XBT_NULL,
-                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
-            nic->devid = 0;
-        } else {
-            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
-        }
-    }
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if ( rc != 0 ) goto out_free;
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    if (nic->script) {
-        flexarray_append(back, "script");
-        flexarray_append(back, nic->script[0]=='/' ? nic->script
-                         : libxl__sprintf(gc, "%s/%s",
-                                          libxl__xen_script_dir_path(),
-                                          nic->script));
-    }
-
-    if (nic->ifname) {
-        flexarray_append(back, "vifname");
-        flexarray_append(back, nic->ifname);
-    }
-
-    flexarray_append(back, "mac");
-    flexarray_append(back,libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    if (nic->ip) {
-        flexarray_append(back, "ip");
-        flexarray_append(back, libxl__strdup(gc, nic->ip));
-    }
-
-    if (nic->rate_interval_usecs > 0) {
-        flexarray_append(back, "rate");
-        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
-                            nic->rate_bytes_per_interval,
-                            nic->rate_interval_usecs));
-    }
-
-    flexarray_append(back, "bridge");
-    flexarray_append(back, libxl__strdup(gc, nic->bridge));
-    flexarray_append(back, "handle");
-    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    int rc;
 
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "handle");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
-    flexarray_append(front, "mac");
-    flexarray_append(front, libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    rc = libxl__device_nic_add(gc, domid, nic);
 
-    /* FIXME: wait for plug */
-    rc = 0;
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 304929a..edc4ad1 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -408,6 +408,119 @@ out:
     return rc;
 }
 
+int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                           libxl_device_nic *nic,
+                           libxl__device *device)
+{
+    device->backend_devid    = nic->devid;
+    device->backend_domid    = nic->backend_domid;
+    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
+    device->devid            = nic->devid;
+    device->domid            = domid;
+    device->kind             = LIBXL__DEVICE_KIND_VIF;
+
+    return 0;
+}
+
+int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
+{
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device device;
+    char *dompath, **l;
+    unsigned int nb, rc;
+
+    rc = libxl__device_nic_setdefault(gc, nic);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (nic->devid == -1) {
+        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
+            rc = ERROR_FAIL;
+            goto out_free;
+        }
+        if (!(l = libxl__xs_directory(gc, XBT_NULL,
+                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
+            nic->devid = 0;
+        } else {
+            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
+        }
+    }
+
+    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    if ( rc != 0 ) goto out_free;
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    if (nic->script) {
+        flexarray_append(back, "script");
+        flexarray_append(back, nic->script[0]=='/' ? nic->script
+                         : libxl__sprintf(gc, "%s/%s",
+                                          libxl__xen_script_dir_path(),
+                                          nic->script));
+    }
+
+    if (nic->ifname) {
+        flexarray_append(back, "vifname");
+        flexarray_append(back, nic->ifname);
+    }
+
+    flexarray_append(back, "mac");
+    flexarray_append(back,libxl__sprintf(gc,
+                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    if (nic->ip) {
+        flexarray_append(back, "ip");
+        flexarray_append(back, libxl__strdup(gc, nic->ip));
+    }
+
+    if (nic->rate_interval_usecs > 0) {
+        flexarray_append(back, "rate");
+        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
+                            nic->rate_bytes_per_interval,
+                            nic->rate_interval_usecs));
+    }
+
+    flexarray_append(back, "bridge");
+    flexarray_append(back, libxl__strdup(gc, nic->bridge));
+    flexarray_append(back, "handle");
+    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "handle");
+    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(front, "mac");
+    flexarray_append(front, libxl__sprintf(gc,
+                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    libxl__device_generic_add(gc, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    /* FIXME: wait for plug */
+    rc = 0;
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor)
 {
     struct stat buf;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 87c9366..0ddfe72 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -786,6 +786,12 @@ _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk);
 
+_hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__device *device);
+_hidden int libxl__device_nic_add(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_nic *nic);
+
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
                                           int *pdisk, int *ppartition);
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpY-0006zR-7a; Wed, 16 May 2012 16:12:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpW-0006zD-GR
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:02 +0000
Received: from [85.158.143.99:13751] by server-2.bemta-4.messagelabs.com id
	63/C8-12211-1D1D3BF4; Wed, 16 May 2012 16:12:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25946 invoked from network); 16 May 2012 16:12:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243429"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpS-0007Tp-TM	for xen-devel@lists.xen.org;
	Wed, 16 May 2012 17:11:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:43 +0100
Message-ID: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/13] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

[PATCH 01/13] libxl: pass env vars to libxl__exec
[PATCH 02/13] libxl: fix libxl__xs_directory usage of transaction
[PATCH 03/13] libxl: add libxl__xs_path_cleanup
[PATCH 04/13] libxl: move libxl_device_disk_add to libxl_device
[PATCH 05/13] libxl: move libxl_device_nic_add to libxl_device
[PATCH 06/13] libxl: cleanup libxl__device_{disk,nic}_add
[PATCH 10/13] libxl: add option to choose who executes hotplug
[PATCH 11/13] libxl: set nic type to VIF by default

All the changes above are bug fixes, code motion or helper functions, 
that will be used by the other patches in the list.

[PATCH 07/13] libxl: convert libxl_domain_destroy to an AO op
[PATCH 08/13] libxl: convert libxl_device_disk_add to an async
[PATCH 09/13] libxl: convert libxl_device_nic_add to an async
[PATCH 12/13] libxl: call hotplug scripts for disk devices from
[PATCH 13/13] libxl: call hotplug scripts for nic devices from libxl

This patches contain the meat, specially 07/13. The other ones become 
quite trivial once 07/13 is applied.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpa-000708-Fm; Wed, 16 May 2012 16:12:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpY-0006zT-Oh
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:05 +0000
Received: from [85.158.143.99:51448] by server-3.bemta-4.messagelabs.com id
	3D/E5-05853-4D1D3BF4; Wed, 16 May 2012 16:12:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26075 invoked from network); 16 May 2012 16:12:03 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243433"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-2L;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:47 +0100
Message-ID: <1337184716-49276-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 04/13] libxl: move libxl_device_disk_add to
	libxl_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move the code of this function to libxl_device.c so it can be made
asyncronious later on the series. The static function
libxl__device_from_disk also has to be moved to libxl_device and it is
no longer static.

The code will be fixed in a latter patch, replacing libxl__sprintf,
LIBXL_LOG* and lines > 80.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  152 +---------------------------------------
 tools/libxl/libxl_device.c   |  159 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    5 ++
 3 files changed, 166 insertions(+), 150 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2a09192..2d8abd0 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1281,161 +1281,13 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
-
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
-
-    return 0;
-}
-
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                LOG(ERROR, "failed to get blktap devpath for %p\n",
-                    disk->pdev_path);
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    int rc;
 
-    rc = 0;
+    rc = libxl__device_disk_add(gc, domid, disk);
 
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..304929a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -249,6 +249,165 @@ char *libxl__device_disk_string_of_backend(libxl_disk_backend backend)
     }
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid==-1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
+                       disk->backend);
+            return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+                           libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = CTX;
+    flexarray_t *front;
+    flexarray_t *back;
+    char *dev;
+    libxl__device device;
+    int major, minor, rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
+                   " not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    if (rc != 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        goto out_free;
+    }
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            dev = disk->pdev_path;
+    do_backend_phy:
+            libxl__device_physdisk_major_minor(dev, &major, &minor);
+            flexarray_append(back, "physical-device");
+            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+
+            flexarray_append(back, "params");
+            flexarray_append(back, dev);
+
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+            if (!dev) {
+                LOG(ERROR, "failed to get blktap devpath for %p\n",
+                    disk->pdev_path);
+                rc = ERROR_FAIL;
+                goto out_free;
+            }
+            flexarray_append(back, "tapdisk-params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                libxl__device_disk_string_of_format(disk->format),
+                disk->pdev_path));
+
+            /* now create a phy device to export the device to the guest */
+            goto do_backend_phy;
+        case LIBXL_DISK_BACKEND_QDISK:
+            flexarray_append(back, "params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            rc = ERROR_INVAL;
+            goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor)
 {
     struct stat buf;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae5527b..87c9366 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -780,6 +780,11 @@ _hidden int libxl__domain_pvcontrol_write(libxl__gc *gc, xs_transaction_t t,
 _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend backend);
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpb-00070T-8N; Wed, 16 May 2012 16:12:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpZ-0006zf-IC
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:05 +0000
Received: from [85.158.138.51:34735] by server-10.bemta-3.messagelabs.com id
	E3/6A-29478-4D1D3BF4; Wed, 16 May 2012 16:12:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337184722!27523107!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12539 invoked from network); 16 May 2012 16:12:03 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243434"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-3F;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:48 +0100
Message-ID: <1337184716-49276-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 05/13] libxl: move libxl_device_nic_add to
	libxl_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move the code of this function to libxl_device.c so it can be made
asyncronious later on the series. The static function
libxl__device_from_nic also has to be moved to libxl_device and it is
no longer static.

The code will be fixed in a latter patch, replacing libxl__sprintf,
LIBXL_LOG* and lines > 80.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  108 +---------------------------------------
 tools/libxl/libxl_device.c   |  113 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    6 ++
 3 files changed, 121 insertions(+), 106 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2d8abd0..d3b6a53 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1655,117 +1655,13 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
     return 0;
 }
 
-static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_nic *nic,
-                                  libxl__device *device)
-{
-    device->backend_devid    = nic->devid;
-    device->backend_domid    = nic->backend_domid;
-    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
-    device->devid            = nic->devid;
-    device->domid            = domid;
-    device->kind             = LIBXL__DEVICE_KIND_VIF;
-
-    return 0;
-}
-
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    libxl__device device;
-    char *dompath, **l;
-    unsigned int nb, rc;
-
-    rc = libxl__device_nic_setdefault(gc, nic);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (nic->devid == -1) {
-        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
-            rc = ERROR_FAIL;
-            goto out_free;
-        }
-        if (!(l = libxl__xs_directory(gc, XBT_NULL,
-                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
-            nic->devid = 0;
-        } else {
-            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
-        }
-    }
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if ( rc != 0 ) goto out_free;
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    if (nic->script) {
-        flexarray_append(back, "script");
-        flexarray_append(back, nic->script[0]=='/' ? nic->script
-                         : libxl__sprintf(gc, "%s/%s",
-                                          libxl__xen_script_dir_path(),
-                                          nic->script));
-    }
-
-    if (nic->ifname) {
-        flexarray_append(back, "vifname");
-        flexarray_append(back, nic->ifname);
-    }
-
-    flexarray_append(back, "mac");
-    flexarray_append(back,libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    if (nic->ip) {
-        flexarray_append(back, "ip");
-        flexarray_append(back, libxl__strdup(gc, nic->ip));
-    }
-
-    if (nic->rate_interval_usecs > 0) {
-        flexarray_append(back, "rate");
-        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
-                            nic->rate_bytes_per_interval,
-                            nic->rate_interval_usecs));
-    }
-
-    flexarray_append(back, "bridge");
-    flexarray_append(back, libxl__strdup(gc, nic->bridge));
-    flexarray_append(back, "handle");
-    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    int rc;
 
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "handle");
-    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
-    flexarray_append(front, "mac");
-    flexarray_append(front, libxl__sprintf(gc,
-                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    rc = libxl__device_nic_add(gc, domid, nic);
 
-    /* FIXME: wait for plug */
-    rc = 0;
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 304929a..edc4ad1 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -408,6 +408,119 @@ out:
     return rc;
 }
 
+int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                           libxl_device_nic *nic,
+                           libxl__device *device)
+{
+    device->backend_devid    = nic->devid;
+    device->backend_domid    = nic->backend_domid;
+    device->backend_kind     = LIBXL__DEVICE_KIND_VIF;
+    device->devid            = nic->devid;
+    device->domid            = domid;
+    device->kind             = LIBXL__DEVICE_KIND_VIF;
+
+    return 0;
+}
+
+int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
+{
+    flexarray_t *front;
+    flexarray_t *back;
+    libxl__device device;
+    char *dompath, **l;
+    unsigned int nb, rc;
+
+    rc = libxl__device_nic_setdefault(gc, nic);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (nic->devid == -1) {
+        if (!(dompath = libxl__xs_get_dompath(gc, domid))) {
+            rc = ERROR_FAIL;
+            goto out_free;
+        }
+        if (!(l = libxl__xs_directory(gc, XBT_NULL,
+                                     libxl__sprintf(gc, "%s/device/vif", dompath), &nb))) {
+            nic->devid = 0;
+        } else {
+            nic->devid = strtoul(l[nb - 1], NULL, 10) + 1;
+        }
+    }
+
+    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    if ( rc != 0 ) goto out_free;
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    if (nic->script) {
+        flexarray_append(back, "script");
+        flexarray_append(back, nic->script[0]=='/' ? nic->script
+                         : libxl__sprintf(gc, "%s/%s",
+                                          libxl__xen_script_dir_path(),
+                                          nic->script));
+    }
+
+    if (nic->ifname) {
+        flexarray_append(back, "vifname");
+        flexarray_append(back, nic->ifname);
+    }
+
+    flexarray_append(back, "mac");
+    flexarray_append(back,libxl__sprintf(gc,
+                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    if (nic->ip) {
+        flexarray_append(back, "ip");
+        flexarray_append(back, libxl__strdup(gc, nic->ip));
+    }
+
+    if (nic->rate_interval_usecs > 0) {
+        flexarray_append(back, "rate");
+        flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"",
+                            nic->rate_bytes_per_interval,
+                            nic->rate_interval_usecs));
+    }
+
+    flexarray_append(back, "bridge");
+    flexarray_append(back, libxl__strdup(gc, nic->bridge));
+    flexarray_append(back, "handle");
+    flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "handle");
+    flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(front, "mac");
+    flexarray_append(front, libxl__sprintf(gc,
+                                    LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
+    libxl__device_generic_add(gc, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    /* FIXME: wait for plug */
+    rc = 0;
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor)
 {
     struct stat buf;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 87c9366..0ddfe72 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -786,6 +786,12 @@ _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk);
 
+_hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__device *device);
+_hidden int libxl__device_nic_add(libxl__gc *gc, uint32_t domid,
+                                  libxl_device_nic *nic);
+
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
                                           int *pdisk, int *ppartition);
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpa-000708-Fm; Wed, 16 May 2012 16:12:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpY-0006zT-Oh
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:05 +0000
Received: from [85.158.143.99:51448] by server-3.bemta-4.messagelabs.com id
	3D/E5-05853-4D1D3BF4; Wed, 16 May 2012 16:12:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26075 invoked from network); 16 May 2012 16:12:03 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243433"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-2L;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:47 +0100
Message-ID: <1337184716-49276-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 04/13] libxl: move libxl_device_disk_add to
	libxl_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move the code of this function to libxl_device.c so it can be made
asyncronious later on the series. The static function
libxl__device_from_disk also has to be moved to libxl_device and it is
no longer static.

The code will be fixed in a latter patch, replacing libxl__sprintf,
LIBXL_LOG* and lines > 80.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  152 +---------------------------------------
 tools/libxl/libxl_device.c   |  159 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    5 ++
 3 files changed, 166 insertions(+), 150 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2a09192..2d8abd0 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1281,161 +1281,13 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
-
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
-
-    return 0;
-}
-
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                LOG(ERROR, "failed to get blktap devpath for %p\n",
-                    disk->pdev_path);
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+    int rc;
 
-    rc = 0;
+    rc = libxl__device_disk_add(gc, domid, disk);
 
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..304929a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -249,6 +249,165 @@ char *libxl__device_disk_string_of_backend(libxl_disk_backend backend)
     }
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid==-1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
+                       disk->backend);
+            return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+                           libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = CTX;
+    flexarray_t *front;
+    flexarray_t *back;
+    char *dev;
+    libxl__device device;
+    int major, minor, rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
+                   " not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    if (rc != 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        goto out_free;
+    }
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            dev = disk->pdev_path;
+    do_backend_phy:
+            libxl__device_physdisk_major_minor(dev, &major, &minor);
+            flexarray_append(back, "physical-device");
+            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+
+            flexarray_append(back, "params");
+            flexarray_append(back, dev);
+
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+            if (!dev) {
+                LOG(ERROR, "failed to get blktap devpath for %p\n",
+                    disk->pdev_path);
+                rc = ERROR_FAIL;
+                goto out_free;
+            }
+            flexarray_append(back, "tapdisk-params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                libxl__device_disk_string_of_format(disk->format),
+                disk->pdev_path));
+
+            /* now create a phy device to export the device to the guest */
+            goto do_backend_phy;
+        case LIBXL_DISK_BACKEND_QDISK:
+            flexarray_append(back, "params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            rc = ERROR_INVAL;
+            goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor)
 {
     struct stat buf;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae5527b..87c9366 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -780,6 +780,11 @@ _hidden int libxl__domain_pvcontrol_write(libxl__gc *gc, xs_transaction_t t,
 _hidden char *libxl__device_disk_string_of_backend(libxl_disk_backend backend);
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpY-0006zR-7a; Wed, 16 May 2012 16:12:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpW-0006zD-GR
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:02 +0000
Received: from [85.158.143.99:13751] by server-2.bemta-4.messagelabs.com id
	63/C8-12211-1D1D3BF4; Wed, 16 May 2012 16:12:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25946 invoked from network); 16 May 2012 16:12:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243429"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpS-0007Tp-TM	for xen-devel@lists.xen.org;
	Wed, 16 May 2012 17:11:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:43 +0100
Message-ID: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/13] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

[PATCH 01/13] libxl: pass env vars to libxl__exec
[PATCH 02/13] libxl: fix libxl__xs_directory usage of transaction
[PATCH 03/13] libxl: add libxl__xs_path_cleanup
[PATCH 04/13] libxl: move libxl_device_disk_add to libxl_device
[PATCH 05/13] libxl: move libxl_device_nic_add to libxl_device
[PATCH 06/13] libxl: cleanup libxl__device_{disk,nic}_add
[PATCH 10/13] libxl: add option to choose who executes hotplug
[PATCH 11/13] libxl: set nic type to VIF by default

All the changes above are bug fixes, code motion or helper functions, 
that will be used by the other patches in the list.

[PATCH 07/13] libxl: convert libxl_domain_destroy to an AO op
[PATCH 08/13] libxl: convert libxl_device_disk_add to an async
[PATCH 09/13] libxl: convert libxl_device_nic_add to an async
[PATCH 12/13] libxl: call hotplug scripts for disk devices from
[PATCH 13/13] libxl: call hotplug scripts for nic devices from libxl

This patches contain the meat, specially 07/13. The other ones become 
quite trivial once 07/13 is applied.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpZ-0006zh-2C; Wed, 16 May 2012 16:12:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpX-0006zD-Aw
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:03 +0000
Received: from [85.158.143.99:13869] by server-2.bemta-4.messagelabs.com id
	72/D8-12211-3D1D3BF4; Wed, 16 May 2012 16:12:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26047 invoked from network); 16 May 2012 16:12:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243431"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpS-0007Tp-U0;
	Wed, 16 May 2012 17:11:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:44 +0100
Message-ID: <1337184716-49276-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 01/13] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add another parameter to libxl__exec call that contains the
environment variables to use when performing the execvp call.

Changes since v4:

 * Unify error checking.

Changes since v3:

 * Use CTX instead of defining libxl_ctx *ctx.

 * Error checking on setenv.

 * Better comment on header for libxl__exec function.

 * Added some const-correctness.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c            |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_dm.c         |    2 +-
 tools/libxl/libxl_exec.c       |   14 ++++++++++++--
 tools/libxl/libxl_internal.h   |   20 ++++++++++++++++++--
 5 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..2a09192 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1261,7 +1261,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
         args[2] = "-autopass";
     }
 
-    libxl__exec(autopass_fd, -1, -1, args[0], args);
+    libxl__exec(gc, autopass_fd, -1, -1, args[0], args, NULL);
     abort();
 
  x_fail:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..0021a7b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -359,6 +359,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
     libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
     STATE_AO_GC(bl->ao);
     int rc, r;
+    char *const env[] = { "TERM", "vt100", NULL };
 
     if (bl->openpty.rc) {
         rc = bl->openpty.rc;
@@ -452,8 +453,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         /* child */
         r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
         if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        libxl__exec(gc, -1, -1, -1, bl->args[0], (char **) bl->args, env);
         exit(-1);
     }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 4ad7d02..95fd0ac 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1015,7 +1015,7 @@ retry_transaction:
         goto out_close;
     if (!rc) { /* inner child */
         setsid();
-        libxl__exec(null, logfile_w, logfile_w, dm, args);
+        libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
     rc = 0;
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b46b893..082bf44 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -66,8 +66,8 @@ static void check_open_fds(const char *what)
     if (badness) abort();
 }
 
-void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
-                char **args)
+void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd, int stderrfd,
+                 const char *arg0, char *const args[], char *const env[])
      /* call this in the child */
 {
     if (stdinfd != -1)
@@ -90,8 +90,18 @@ void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
     /* in case our caller set it to IGN.  subprocesses are entitled
      * to assume they got DFL. */
 
+    if (env != NULL) {
+        for (int i = 0; env[i] != NULL && env[i+1] != NULL; i += 2) {
+            if (setenv(env[i], env[i+1], 1) < 0) {
+                LOGEV(ERROR, errno, "setting env vars (%s = %s)",
+                                    env[i], env[i+1]);
+                goto out;
+            }
+        }
+    }
     execvp(arg0, args);
 
+out:
     fprintf(stderr, "libxl: cannot execute %s: %s\n", arg0, strerror(errno));
     _exit(-1);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f71e76a..aaaf644 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1138,8 +1138,24 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
-_hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
-               const char *arg0, char **args); // logs errors, never returns
+/*
+ * env should be passed using the following format,
+ *
+ * env[0]: name of env variable
+ * env[1]: value of env variable
+ * env[n]: ...
+ *
+ * So it efectively becomes something like:
+ * export env[n]=env[n+1]
+ * (where n%2 = 0)
+ *
+ * The last entry of the array always has to be NULL.
+ *
+ * Logs errors, never returns.
+ */
+_hidden  void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd,
+                          int stderrfd, const char *arg0, char *const args[],
+                          char *const env[]);
 
 /* from xl_create */
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:12:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgpZ-0006zh-2C; Wed, 16 May 2012 16:12:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgpX-0006zD-Aw
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:12:03 +0000
Received: from [85.158.143.99:13869] by server-2.bemta-4.messagelabs.com id
	72/D8-12211-3D1D3BF4; Wed, 16 May 2012 16:12:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337184720!27778319!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26047 invoked from network); 16 May 2012 16:12:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:12:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243431"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpS-0007Tp-U0;
	Wed, 16 May 2012 17:11:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:44 +0100
Message-ID: <1337184716-49276-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 01/13] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add another parameter to libxl__exec call that contains the
environment variables to use when performing the execvp call.

Changes since v4:

 * Unify error checking.

Changes since v3:

 * Use CTX instead of defining libxl_ctx *ctx.

 * Error checking on setenv.

 * Better comment on header for libxl__exec function.

 * Added some const-correctness.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c            |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_dm.c         |    2 +-
 tools/libxl/libxl_exec.c       |   14 ++++++++++++--
 tools/libxl/libxl_internal.h   |   20 ++++++++++++++++++--
 5 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..2a09192 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1261,7 +1261,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
         args[2] = "-autopass";
     }
 
-    libxl__exec(autopass_fd, -1, -1, args[0], args);
+    libxl__exec(gc, autopass_fd, -1, -1, args[0], args, NULL);
     abort();
 
  x_fail:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..0021a7b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -359,6 +359,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
     libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
     STATE_AO_GC(bl->ao);
     int rc, r;
+    char *const env[] = { "TERM", "vt100", NULL };
 
     if (bl->openpty.rc) {
         rc = bl->openpty.rc;
@@ -452,8 +453,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         /* child */
         r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
         if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        libxl__exec(gc, -1, -1, -1, bl->args[0], (char **) bl->args, env);
         exit(-1);
     }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 4ad7d02..95fd0ac 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1015,7 +1015,7 @@ retry_transaction:
         goto out_close;
     if (!rc) { /* inner child */
         setsid();
-        libxl__exec(null, logfile_w, logfile_w, dm, args);
+        libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
     rc = 0;
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b46b893..082bf44 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -66,8 +66,8 @@ static void check_open_fds(const char *what)
     if (badness) abort();
 }
 
-void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
-                char **args)
+void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd, int stderrfd,
+                 const char *arg0, char *const args[], char *const env[])
      /* call this in the child */
 {
     if (stdinfd != -1)
@@ -90,8 +90,18 @@ void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
     /* in case our caller set it to IGN.  subprocesses are entitled
      * to assume they got DFL. */
 
+    if (env != NULL) {
+        for (int i = 0; env[i] != NULL && env[i+1] != NULL; i += 2) {
+            if (setenv(env[i], env[i+1], 1) < 0) {
+                LOGEV(ERROR, errno, "setting env vars (%s = %s)",
+                                    env[i], env[i+1]);
+                goto out;
+            }
+        }
+    }
     execvp(arg0, args);
 
+out:
     fprintf(stderr, "libxl: cannot execute %s: %s\n", arg0, strerror(errno));
     _exit(-1);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f71e76a..aaaf644 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1138,8 +1138,24 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
-_hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
-               const char *arg0, char **args); // logs errors, never returns
+/*
+ * env should be passed using the following format,
+ *
+ * env[0]: name of env variable
+ * env[1]: value of env variable
+ * env[n]: ...
+ *
+ * So it efectively becomes something like:
+ * export env[n]=env[n+1]
+ * (where n%2 = 0)
+ *
+ * The last entry of the array always has to be NULL.
+ *
+ * Logs errors, never returns.
+ */
+_hidden  void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd,
+                          int stderrfd, const char *arg0, char *const args[],
+                          char *const env[]);
 
 /* from xl_create */
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:20:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgxH-0007sG-DR; Wed, 16 May 2012 16:20:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgxG-0007s6-C0
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:20:02 +0000
Received: from [193.109.254.147:33961] by server-9.bemta-14.messagelabs.com id
	12/37-05787-1B3D3BF4; Wed, 16 May 2012 16:20:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337185199!1691190!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23425 invoked from network); 16 May 2012 16:20:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:20:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243733"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-DW;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:56 +0100
Message-ID: <1337184716-49276-14-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 13/13] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Since the call to libxl__device_hotplug is already there, this patch
only adds the necessary code to this function to handle the vif case,
and the necessary modification in the udev rules.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_internal.h          |    1 +
 tools/libxl/libxl_linux.c             |  130 ++++++++++++++++++++++++++++++++-
 3 files changed, 133 insertions(+), 4 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5e2bac5..b5002db 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1817,6 +1817,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int vif_executed;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 315ce15..6e752bd 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -28,6 +28,26 @@ int libxl__try_phy_backend(mode_t st_mode)
 
 /* Hotplug scripts helpers */
 
+static libxl_nic_type get_nic_type(libxl__gc *gc, libxl__device *dev)
+{
+    char *snictype, *be_path;
+    libxl_nic_type nictype;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        return -1;
+    }
+    if (libxl_nic_type_from_string(snictype, &nictype) < 0) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        return -1;
+    }
+
+    return nictype;
+}
+
 static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
 {
     if (!aorm) return;
@@ -47,7 +67,18 @@ static void callback(libxl__egc *egc, libxl__ev_child *child,
                                                     : LIBXL__LOG_WARNING,
                                       aorm->what, pid, status);
         aorm->rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        get_nic_type(gc, aorm->dev) == LIBXL_NIC_TYPE_IOEMU &&
+        !aorm->vif_executed) {
+        aorm->vif_executed = 1;
+        libxl__device_hotplug(egc, aorm);
+        return;
     }
+
+out:
     aorm->callback(egc, aorm);
 }
 
@@ -66,7 +97,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    GCNEW_ARRAY(env, 9);
+    GCNEW_ARRAY(env, 13);
     env[nr++] = "script";
     env[nr++] = script;
     env[nr++] = "XENBUS_TYPE";
@@ -75,6 +106,24 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        switch (get_nic_type(gc, dev)) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
 
     return env;
@@ -119,6 +168,81 @@ out_free:
     return rc;
 }
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *what, *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        return -1;
+    }
+
+    nictype = get_nic_type(gc, aorm->dev);
+    if (nictype < 0) {
+        LOGE(ERROR, "error when fetching nic type");
+        return -1;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return -1;
+
+    GCNEW_ARRAY(args, 4);
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (!aorm->vif_executed) goto execute_vif;
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+        args[nr++] = libxl__strdup(gc, "type_if=tap");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "online" : "offline";
+        args[nr++] = libxl__strdup(gc, "type_if=vif");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    default:
+        /* Unknown network type */
+        LOG(DEBUG, "unknown network card type with id %"PRIu32,
+                   aorm->dev->devid);
+        return 0;
+    }
+
+    rc = 0;
+
+out:
+    return rc;
+}
+
 void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
@@ -132,6 +256,10 @@ void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
         aorm->rc = libxl__hotplug_disk(gc, aorm);
         if (aorm->rc) goto error;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        aorm->rc = libxl__hotplug_nic(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:20:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgxH-0007sG-DR; Wed, 16 May 2012 16:20:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgxG-0007s6-C0
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:20:02 +0000
Received: from [193.109.254.147:33961] by server-9.bemta-14.messagelabs.com id
	12/37-05787-1B3D3BF4; Wed, 16 May 2012 16:20:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337185199!1691190!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23425 invoked from network); 16 May 2012 16:20:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:20:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243733"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-DW;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:56 +0100
Message-ID: <1337184716-49276-14-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 13/13] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Since the call to libxl__device_hotplug is already there, this patch
only adds the necessary code to this function to handle the vif case,
and the necessary modification in the udev rules.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_internal.h          |    1 +
 tools/libxl/libxl_linux.c             |  130 ++++++++++++++++++++++++++++++++-
 3 files changed, 133 insertions(+), 4 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5e2bac5..b5002db 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1817,6 +1817,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int vif_executed;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 315ce15..6e752bd 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -28,6 +28,26 @@ int libxl__try_phy_backend(mode_t st_mode)
 
 /* Hotplug scripts helpers */
 
+static libxl_nic_type get_nic_type(libxl__gc *gc, libxl__device *dev)
+{
+    char *snictype, *be_path;
+    libxl_nic_type nictype;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        return -1;
+    }
+    if (libxl_nic_type_from_string(snictype, &nictype) < 0) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        return -1;
+    }
+
+    return nictype;
+}
+
 static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
 {
     if (!aorm) return;
@@ -47,7 +67,18 @@ static void callback(libxl__egc *egc, libxl__ev_child *child,
                                                     : LIBXL__LOG_WARNING,
                                       aorm->what, pid, status);
         aorm->rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        get_nic_type(gc, aorm->dev) == LIBXL_NIC_TYPE_IOEMU &&
+        !aorm->vif_executed) {
+        aorm->vif_executed = 1;
+        libxl__device_hotplug(egc, aorm);
+        return;
     }
+
+out:
     aorm->callback(egc, aorm);
 }
 
@@ -66,7 +97,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    GCNEW_ARRAY(env, 9);
+    GCNEW_ARRAY(env, 13);
     env[nr++] = "script";
     env[nr++] = script;
     env[nr++] = "XENBUS_TYPE";
@@ -75,6 +106,24 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        switch (get_nic_type(gc, dev)) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
 
     return env;
@@ -119,6 +168,81 @@ out_free:
     return rc;
 }
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *what, *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        return -1;
+    }
+
+    nictype = get_nic_type(gc, aorm->dev);
+    if (nictype < 0) {
+        LOGE(ERROR, "error when fetching nic type");
+        return -1;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return -1;
+
+    GCNEW_ARRAY(args, 4);
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (!aorm->vif_executed) goto execute_vif;
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+        args[nr++] = libxl__strdup(gc, "type_if=tap");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        args[nr++] = script;
+        args[nr++] = aorm->action == DEVICE_CONNECT ? "online" : "offline";
+        args[nr++] = libxl__strdup(gc, "type_if=vif");
+        args[nr++] = NULL;
+        what = GCSPRINTF("%s %s", args[0], aorm->action == DEVICE_CONNECT ?
+                                           "connect" : "disconnect");
+        LOG(DEBUG, "Calling hotplug script: %s %s %s",
+                   args[0], args[1], args[2]);
+        rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+        if (rc) {
+            LOGE(ERROR, "unable execute hotplug scripts for vif device %"PRIu32,
+                        aorm->dev->devid);
+            goto out;
+        }
+        break;
+    default:
+        /* Unknown network type */
+        LOG(DEBUG, "unknown network card type with id %"PRIu32,
+                   aorm->dev->devid);
+        return 0;
+    }
+
+    rc = 0;
+
+out:
+    return rc;
+}
+
 void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
@@ -132,6 +256,10 @@ void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
         aorm->rc = libxl__hotplug_disk(gc, aorm);
         if (aorm->rc) goto error;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        aorm->rc = libxl__hotplug_nic(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:20:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgxI-0007sZ-V6; Wed, 16 May 2012 16:20:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgxG-0007s7-Ly
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:20:02 +0000
Received: from [193.109.254.147:6128] by server-4.bemta-14.messagelabs.com id
	7E/14-11570-2B3D3BF4; Wed, 16 May 2012 16:20:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337185199!1691190!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23542 invoked from network); 16 May 2012 16:20:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:20:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243734"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:35 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-9y;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:54 +0100
Message-ID: <1337184716-49276-12-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2490138..631de15 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1637,7 +1637,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:20:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgxI-0007sZ-V6; Wed, 16 May 2012 16:20:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgxG-0007s7-Ly
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:20:02 +0000
Received: from [193.109.254.147:6128] by server-4.bemta-14.messagelabs.com id
	7E/14-11570-2B3D3BF4; Wed, 16 May 2012 16:20:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337185199!1691190!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23542 invoked from network); 16 May 2012 16:20:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:20:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25243734"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:35 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-9y;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:54 +0100
Message-ID: <1337184716-49276-12-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2490138..631de15 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1637,7 +1637,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzi-00085S-U4; Wed, 16 May 2012 16:22:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzh-000856-Cw
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:33 +0000
Received: from [85.158.139.83:14768] by server-12.bemta-5.messagelabs.com id
	50/88-01344-844D3BF4; Wed, 16 May 2012 16:22:32 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337185349!17494254!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 356 invoked from network); 16 May 2012 16:22:31 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130977"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:12:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-5k;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:51 +0100
Message-ID: <1337184716-49276-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 08/13] libxl: convert libxl_device_disk_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   22 +++++++++-----
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   51 ++++++++++++++++++++++++++++----
 tools/libxl/libxl_device.c   |   66 ++++++++++++++++++++++++++++++++++++------
 tools/libxl/libxl_dm.c       |   62 +++++++++++++++++++++++++++++++--------
 tools/libxl/libxl_internal.h |   21 ++++++++++++-
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 187 insertions(+), 41 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index dabe92b..5edfbdc 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1255,15 +1255,19 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
 
-    rc = libxl__device_disk_add(gc, domid, disk);
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_disk_add(egc, domid, disk, device);
 
-    GC_FREE;
-    return rc;
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
@@ -1508,11 +1512,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 2f4694e..f76b2e6 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -663,7 +663,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index bd8e6a6..9a65c45 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -705,15 +707,50 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
+    GCNEW_ARRAY(dcs->devices, d_config->num_disks);
+    dcs->num_devices = d_config->num_disks;
     for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+        dcs->devices[i].callback = domcreate_disk_connected;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &dcs->devices[i]);
     }
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int i, last, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto error_out;
+    }
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 577324c..96e6ec4 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -329,13 +329,15 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
-                           libxl_device_disk *disk)
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aorm)
 {
+    STATE_AO_GC(aorm->ao);
     flexarray_t *front;
     flexarray_t *back;
     char *dev, *format;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -358,7 +360,8 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LOG(ERROR, "Invalid or unsupported virtual disk identifier %s",
                    disk->vdev);
@@ -377,7 +380,7 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -395,7 +398,7 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
         case LIBXL_DISK_BACKEND_QDISK:
             flexarray_append(back, "params");
             flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LOG(ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -427,21 +430,27 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     flexarray_append(front, "state");
     flexarray_append(front, GCSPRINTF("%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, GCSPRINTF("%d", device.devid));
+    flexarray_append(front, GCSPRINTF("%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                         libxl__xs_kvs_of_flexarray(gc, back, back->count),
                         libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    return rc;
+    aorm->rc = rc;
+    if (aorm->rc) aorm->callback(egc,aorm);
+    return;
 }
 
 int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
@@ -705,6 +714,45 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
 static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                     int rc);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    int rc = 0;
+
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aorm->callback(egc, aorm);
+        return;
+    }
+
+    if (atoi(state) == XenbusStateInitWait)
+        goto out_ok;
+
+    libxl__ev_devstate_init(&aorm->ds);
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+
+out_ok:
+    assert(!rc);
+    aorm->callback(egc, aorm);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 4019309..2b63a15 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int i, ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,60 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
+    GCNEW_ARRAY(sdss->devices, dm_config->num_disks);
+    sdss->num_devices = dm_config->num_disks;
     for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
+        libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
+        sdss->devices[i].callback = spawn_stub_disk_connected;
+        libxl__device_disk_add(egc, dm_domid, &dm_config->disks[i],
+                               &sdss->devices[i]);
+    }
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0, last;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto out;
     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +862,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +898,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -869,11 +908,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e324da2..2500b86 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -783,8 +784,6 @@ _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__device *device);
-_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk);
 
 _hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
                                    libxl_device_nic *nic,
@@ -1817,6 +1816,18 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aorm);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1941,6 +1952,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1969,6 +1983,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c02b69..69ce45a 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5081,7 +5081,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzi-00085S-U4; Wed, 16 May 2012 16:22:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzh-000856-Cw
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:33 +0000
Received: from [85.158.139.83:14768] by server-12.bemta-5.messagelabs.com id
	50/88-01344-844D3BF4; Wed, 16 May 2012 16:22:32 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337185349!17494254!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 356 invoked from network); 16 May 2012 16:22:31 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130977"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:12:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-5k;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:51 +0100
Message-ID: <1337184716-49276-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 08/13] libxl: convert libxl_device_disk_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   22 +++++++++-----
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   51 ++++++++++++++++++++++++++++----
 tools/libxl/libxl_device.c   |   66 ++++++++++++++++++++++++++++++++++++------
 tools/libxl/libxl_dm.c       |   62 +++++++++++++++++++++++++++++++--------
 tools/libxl/libxl_internal.h |   21 ++++++++++++-
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 187 insertions(+), 41 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index dabe92b..5edfbdc 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1255,15 +1255,19 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
 
-    rc = libxl__device_disk_add(gc, domid, disk);
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_disk_add(egc, domid, disk, device);
 
-    GC_FREE;
-    return rc;
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
@@ -1508,11 +1512,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 2f4694e..f76b2e6 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -663,7 +663,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index bd8e6a6..9a65c45 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -705,15 +707,50 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
+    GCNEW_ARRAY(dcs->devices, d_config->num_disks);
+    dcs->num_devices = d_config->num_disks;
     for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+        dcs->devices[i].callback = domcreate_disk_connected;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &dcs->devices[i]);
     }
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int i, last, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto error_out;
+    }
+
+    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
+     * Fill in any field required by either, including both relevant
+     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
+    dcs->dmss.dm.spawn.ao = ao;
+    dcs->dmss.dm.guest_config = dcs->guest_config;
+    dcs->dmss.dm.build_state = &dcs->build_state;
+    dcs->dmss.dm.callback = domcreate_devmodel_started;
+    dcs->dmss.callback = domcreate_devmodel_started;
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 577324c..96e6ec4 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -329,13 +329,15 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
-                           libxl_device_disk *disk)
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aorm)
 {
+    STATE_AO_GC(aorm->ao);
     flexarray_t *front;
     flexarray_t *back;
     char *dev, *format;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -358,7 +360,8 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LOG(ERROR, "Invalid or unsupported virtual disk identifier %s",
                    disk->vdev);
@@ -377,7 +380,7 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -395,7 +398,7 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
         case LIBXL_DISK_BACKEND_QDISK:
             flexarray_append(back, "params");
             flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LOG(ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -427,21 +430,27 @@ int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
     flexarray_append(front, "state");
     flexarray_append(front, GCSPRINTF("%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, GCSPRINTF("%d", device.devid));
+    flexarray_append(front, GCSPRINTF("%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                         libxl__xs_kvs_of_flexarray(gc, back, back->count),
                         libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    return rc;
+    aorm->rc = rc;
+    if (aorm->rc) aorm->callback(egc,aorm);
+    return;
 }
 
 int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
@@ -705,6 +714,45 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
 static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                     int rc);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    int rc = 0;
+
+    if (aorm->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aorm->callback(egc, aorm);
+        return;
+    }
+
+    if (atoi(state) == XenbusStateInitWait)
+        goto out_ok;
+
+    libxl__ev_devstate_init(&aorm->ds);
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+
+out_ok:
+    assert(!rc);
+    aorm->callback(egc, aorm);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 4019309..2b63a15 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int i, ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,60 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
+    GCNEW_ARRAY(sdss->devices, dm_config->num_disks);
+    sdss->num_devices = dm_config->num_disks;
     for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
+        libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
+        sdss->devices[i].callback = spawn_stub_disk_connected;
+        libxl__device_disk_add(egc, dm_domid, &dm_config->disks[i],
+                               &sdss->devices[i]);
+    }
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0, last;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting disk devices");
+        goto out;
     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +862,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +898,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -869,11 +908,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e324da2..2500b86 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -783,8 +784,6 @@ _hidden int libxl__device_disk_set_backend(libxl__gc*, libxl_device_disk*);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__device *device);
-_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk);
 
 _hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
                                    libxl_device_nic *nic,
@@ -1817,6 +1816,18 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aorm);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1941,6 +1952,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1969,6 +1983,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c02b69..69ce45a 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5081,7 +5081,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzk-00085s-BE; Wed, 16 May 2012 16:22:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzi-00085P-Ob
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:35 +0000
Received: from [85.158.143.35:5530] by server-3.bemta-4.messagelabs.com id
	62/E9-05853-A44D3BF4; Wed, 16 May 2012 16:22:34 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337185348!4815180!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29795 invoked from network); 16 May 2012 16:22:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130976"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:12:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-6Q;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:52 +0100
Message-ID: <1337184716-49276-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add to an
	async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   15 +++++---
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   73 ++++++++++++++++++++++++++++++++++++++----
 tools/libxl/libxl_device.c   |   23 ++++++++++---
 tools/libxl/libxl_dm.c       |   58 +++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |    7 +++-
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 155 insertions(+), 26 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 5edfbdc..2490138 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1641,15 +1641,18 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
 
-    rc = libxl__device_nic_add(gc, domid, nic);
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_nic_add(egc, domid, nic, device);
 
-    GC_FREE;
-    return rc;
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index f76b2e6..fc8a1a1 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -690,7 +690,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 9a65c45..2134645 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -752,13 +757,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     dcs->dmss.callback = domcreate_devmodel_started;
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -851,6 +854,62 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
+        dcs->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+            dcs->devices[i].callback = domcreate_nics_connected;
+            libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                                  &dcs->devices[i]);
+        }
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 96e6ec4..6b0ce95 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -467,11 +467,13 @@ int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aorm)
 {
+    STATE_AO_GC(aorm->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -504,7 +506,8 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -545,6 +548,9 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, GCSPRINTF("%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, GCSPRINTF("%s",
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, GCSPRINTF("%d", nic->backend_domid));
@@ -555,17 +561,22 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, GCSPRINTF(LIBXL_MAC_FMT,
                                       LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                         libxl__xs_kvs_of_flexarray(gc, back, back->count),
                         libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    return rc;
+    aorm->rc = rc;
+    if (aorm->rc) aorm->callback(egc, aorm);
+    return;
 }
 
 int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor)
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 2b63a15..f63cf31 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -845,9 +851,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -923,9 +931,53 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
+    int i;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        GCNEW_ARRAY(sdss->devices, d_config->num_vifs);
+        sdss->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
+            sdss->devices[i].callback = stubdom_nics_connected;
+            libxl__device_nic_add(egc, dm_domid, &d_config->vifs[i],
+                                        &sdss->devices[i]);
+        }
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 2500b86..725975d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -788,8 +788,6 @@ _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 _hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
                                    libxl_device_nic *nic,
                                    libxl__device *device);
-_hidden int libxl__device_nic_add(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_nic *nic);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
@@ -1821,6 +1819,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aorm);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aorm);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 69ce45a..46af9fb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4970,7 +4970,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzk-00085s-BE; Wed, 16 May 2012 16:22:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzi-00085P-Ob
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:35 +0000
Received: from [85.158.143.35:5530] by server-3.bemta-4.messagelabs.com id
	62/E9-05853-A44D3BF4; Wed, 16 May 2012 16:22:34 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337185348!4815180!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29795 invoked from network); 16 May 2012 16:22:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130976"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:12:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-6Q;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:52 +0100
Message-ID: <1337184716-49276-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add to an
	async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   15 +++++---
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   73 ++++++++++++++++++++++++++++++++++++++----
 tools/libxl/libxl_device.c   |   23 ++++++++++---
 tools/libxl/libxl_dm.c       |   58 +++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |    7 +++-
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 155 insertions(+), 26 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 5edfbdc..2490138 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1641,15 +1641,18 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    int rc;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
 
-    rc = libxl__device_nic_add(gc, domid, nic);
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_nic_add(egc, domid, nic, device);
 
-    GC_FREE;
-    return rc;
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index f76b2e6..fc8a1a1 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -690,7 +690,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 9a65c45..2134645 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -752,13 +757,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     dcs->dmss.callback = domcreate_devmodel_started;
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -851,6 +854,62 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
+        dcs->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
+            dcs->devices[i].callback = domcreate_nics_connected;
+            libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                                  &dcs->devices[i]);
+        }
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 96e6ec4..6b0ce95 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -467,11 +467,13 @@ int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aorm)
 {
+    STATE_AO_GC(aorm->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -504,7 +506,8 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -545,6 +548,9 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, GCSPRINTF("%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, GCSPRINTF("%s",
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, GCSPRINTF("%d", nic->backend_domid));
@@ -555,17 +561,22 @@ int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, GCSPRINTF(LIBXL_MAC_FMT,
                                       LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                         libxl__xs_kvs_of_flexarray(gc, back, back->count),
                         libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aorm->dev = device;
+    aorm->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aorm);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    return rc;
+    aorm->rc = rc;
+    if (aorm->rc) aorm->callback(egc, aorm);
+    return;
 }
 
 int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor)
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 2b63a15..f63cf31 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -845,9 +851,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -923,9 +931,53 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
+    int i;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        GCNEW_ARRAY(sdss->devices, d_config->num_vifs);
+        sdss->num_devices = d_config->num_vifs;
+        for (i = 0; i < d_config->num_vifs; i++) {
+            libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
+            sdss->devices[i].callback = stubdom_nics_connected;
+            libxl__device_nic_add(egc, dm_domid, &d_config->vifs[i],
+                                        &sdss->devices[i]);
+        }
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+
+    if (!last) return;
+    if (last && ret)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 2500b86..725975d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -788,8 +788,6 @@ _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 _hidden int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
                                    libxl_device_nic *nic,
                                    libxl__device *device);
-_hidden int libxl__device_nic_add(libxl__gc *gc, uint32_t domid,
-                                  libxl_device_nic *nic);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int *major, int *minor);
 _hidden int libxl__device_disk_dev_number(const char *virtpath,
@@ -1821,6 +1819,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aorm);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aorm);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 69ce45a..46af9fb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4970,7 +4970,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzk-000864-OD; Wed, 16 May 2012 16:22:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzj-00085Q-10
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:35 +0000
Received: from [85.158.139.83:41755] by server-7.bemta-5.messagelabs.com id
	BF/BF-16195-A44D3BF4; Wed, 16 May 2012 16:22:34 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337185349!17494254!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 765 invoked from network); 16 May 2012 16:22:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130978"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:12:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-4e;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:50 +0100
Message-ID: <1337184716-49276-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 07/13] libxl: convert libxl_domain_destroy to an
	AO op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c               |  180 +++++++++++-----------
 tools/libxl/libxl.h               |    3 +-
 tools/libxl/libxl_create.c        |   30 +++-
 tools/libxl/libxl_device.c        |  308 ++++++++++++++++++++++++++++---------
 tools/libxl/libxl_dm.c            |   83 +++++-----
 tools/libxl/libxl_dom.c           |  170 ++++++++++++++++++++
 tools/libxl/libxl_internal.h      |  224 +++++++++++++++++++++------
 tools/libxl/xl_cmdimpl.c          |   12 +-
 tools/python/xen/lowlevel/xl/xl.c |    2 +-
 9 files changed, 752 insertions(+), 260 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index d3b6a53..dabe92b 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1070,80 +1070,34 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
-{
-    GC_INIT(ctx);
-    char *dom_path;
-    char *vm_path;
-    char *pid;
-    int rc, dm_present;
-
-    rc = libxl_domain_info(ctx, NULL, domid);
-    switch(rc) {
-    case 0:
-        break;
-    case ERROR_INVAL:
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
-    default:
-        return rc;
-    }
-
-    switch (libxl__domain_type(gc, domid)) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        dm_present = 1;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-        dm_present = (pid != NULL);
-        break;
-    default:
-        abort();
-    }
-
-    dom_path = libxl__xs_get_dompath(gc, domid);
-    if (!dom_path) {
-        rc = ERROR_FAIL;
-        goto out;
-    }
+/* Callback for domain destruction */
 
-    if (libxl__device_pci_destroy_all(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "pci shutdown failed for domid %d", domid);
-    rc = xc_domain_pause(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_pause failed for %d", domid);
-    }
-    if (dm_present) {
-        if (libxl__destroy_device_model(gc, domid) < 0)
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl__destroy_device_model failed for %d", domid);
+static void domain_destroy_cb(libxl__egc *, libxl__domain_destroy_state *, int);
 
-        libxl__qmp_cleanup(gc, domid);
-    }
-    if (libxl__devices_destroy(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
-                   "libxl__devices_destroy failed for %d", domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
 
-    vm_path = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/vm", dom_path));
-    if (vm_path)
-        if (!xs_rm(ctx->xsh, XBT_NULL, vm_path))
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", vm_path);
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
 
-    if (!xs_rm(ctx->xsh, XBT_NULL, dom_path))
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", dom_path);
+    return AO_INPROGRESS;
+}
 
-    xs_rm(ctx->xsh, XBT_NULL, libxl__xs_libxl_path(gc, domid));
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
 
-    libxl__userdata_destroyall(gc, domid);
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
 
-    rc = xc_domain_destroy(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_destroy failed for %d", domid);
-        rc = ERROR_FAIL;
-        goto out;
-    }
-    rc = 0;
-out:
-    GC_FREE;
-    return rc;
+    libxl__ao_complete(egc, ao, rc);
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1271,6 +1225,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+
+    if (aorm->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aorm->dev->kind),
+                    aorm->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aorm->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1297,19 +1271,25 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -1671,19 +1651,25 @@ int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2033,19 +2019,25 @@ int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2166,19 +2158,25 @@ int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..2f4694e 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..bd8e6a6 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,13 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                    libxl__domain_destroy_state *dds,
+                                    int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +855,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 1e34135..577324c 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -624,49 +666,70 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device destruction */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
-
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
     if (!aorm) return;
     libxl__ev_devstate_cancel(gc, &aorm->ds);
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
-                                   int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                           libxl__ao_device **base)
+{
+    aorm->ao = ao;
+    aorm->state = DEVICE_ACTIVE;
+    aorm->rc = 0;
+    aorm->base = base;
+}
+
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num, int *last)
+{
+    int i, ret = 0;
+
+    device->state = DEVICE_FINISHED;
+    *last = 1;
+    for (i = 0; i < num; i++) {
+        if (list[i].state != DEVICE_FINISHED && *last) {
+            *last = 0;
+        }
+        if (list[i].rc)
+            ret = list[i].rc;
+    }
+    return ret;
 }
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+/* Common callbacks for device add/remove */
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc);
+
+void libxl__initiate_device_remove(libxl__egc *egc, libxl__ao_device *aorm)
 {
-    AO_GC;
+    STATE_AO_GC(aorm->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aorm->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aorm->dev));
+        /* Remove frontend xs paths to force backend disconnection */
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
 
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
-    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
+    xs_write(ctx->xsh, t, GCSPRINTF("%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
@@ -676,60 +739,67 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
     libxl__ev_devstate_init(&aorm->ds);
-
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOGE(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aorm->callback(egc, aorm);
+    return;
 }
 
-int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char *be_path = libxl__device_backend_path(gc, dev);
-    char *fe_path = libxl__device_frontend_path(gc, dev);
-
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+/* Callback for device destruction */
 
-    libxl__device_destroy_tapdisk(gc, be_path);
-
-    return 0;
-}
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm);
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
+    STATE_AO_GC(drs->ao);
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, rc = 0, numdev = 0;
+    libxl__device *dev;
     libxl__device_kind kind;
 
-    path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOGE(ERROR, "unable to get number of devices for domain %u",
+                    drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aorm, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__init_ao_device(&drs->aorm[i], drs->ao, &drs->aorm);
+    }
+
+    path = GCSPRINTF("/local/domain/%d/device", drs->domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
         if (errno != ENOENT) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get xenstore"
-                             " device listing %s", path);
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
             goto out;
         }
         num_kinds = 0;
@@ -738,38 +808,136 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
         if (libxl__device_kind_from_string(kinds[i], &kind))
             continue;
 
-        path = libxl__sprintf(gc, "/local/domain/%d/device/%s", domid, kinds[i]);
+        path = GCSPRINTF("/local/domain/%d/device/%s", drs->domid, kinds[i]);
         devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
         if (!devs)
             continue;
         for (j = 0; j < num_devs; j++) {
-            path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
-                                  domid, kinds[i], devs[j]);
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             drs->domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                dev->domid = drs->domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                drs->aorm[numdev].action = DEVICE_DISCONNECT;
+                drs->aorm[numdev].dev = dev;
+                drs->aorm[numdev].callback = device_remove_callback;
+                libxl__initiate_device_remove(egc, &drs->aorm[numdev]);
+                numdev++;
             }
         }
     }
 
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
-    path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
+    path = GCSPRINTF("/local/domain/%d/console/backend", drs->domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = drs->domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
+}
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
+    STATE_AO_GC(aorm->ao);
+
+    device_backend_cleanup(gc, aorm);
+
+    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
+        !aorm->force) {
+        aorm->force = 1;
+        libxl__initiate_device_remove(egc, aorm);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aorm->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    }
+
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
+    xs_transaction_t t = 0;
+    int rc = 0, last = 1;
+
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    if (aorm->action == DEVICE_DISCONNECT) {
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+    }
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
+                                     drs->num_devices, &last);
+    if (last)
+        drs->callback(egc, drs, rc);
+    return;
+}
+
+int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
+
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    libxl__xs_path_cleanup(gc, t, be_path);
+    libxl__xs_path_cleanup(gc, t, fe_path);
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    libxl__device_destroy_tapdisk(gc, be_path);
+    return rc;
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 95fd0ac..4019309 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -891,12 +895,30 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1089,48 +1111,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOGE(ERROR, "Couldn't find device model's pid");
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 6064d44..1e73f64 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -1125,6 +1125,176 @@ out:
     return rc;
 }
 
+/* Callbacks for libxl__domain_destroy */
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc)
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    if (dds->domain_finished)
+        dds->callback(egc, dds, rc);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+
+    dds->domain_finished = 1;
+    if (dds->stubdom_finished)
+        dds->callback(egc, dds, rc);
+}
+
+/* Callbacks for libxl__domain_clean */
+
+/* Device destruction callback */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    int rc;
+
+    rc = libxl_domain_info(CTX, NULL, dis->domid);
+    switch (rc) {
+    case 0:
+        break;
+    case ERROR_INVAL:
+        LOGEV(ERROR, rc, "non-existant domain %d", dis->domid);
+    default:
+        goto out;
+    }
+
+    switch (libxl__domain_type(gc, dis->domid)) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        dis->dm_present = 1;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        dis->pid = libxl__xs_read(gc, XBT_NULL,
+                        GCSPRINTF("/local/domain/%d/image/device-model-pid",
+                        dis->domid));
+        dis->dm_present = (dis->pid != NULL);
+        break;
+    default:
+        abort();
+    }
+
+    dis->dom_path = libxl__xs_get_dompath(gc, dis->domid);
+    if (!dis->dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl__device_pci_destroy_all(gc, dis->domid) < 0)
+        LOG(ERROR, "pci shutdown failed for domid %d", dis->domid);
+    rc = xc_domain_pause(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_pause failed for %d", dis->domid);
+    }
+    if (dis->dm_present) {
+        rc = libxl__destroy_device_model(gc, dis->domid);
+        if (rc < 0)
+            LOG(ERROR, "libxl__destroy_device_model failed for %d",
+                        dis->domid);
+        libxl__qmp_cleanup(gc, dis->domid);
+    }
+    dis->drs.ao = ao;
+    dis->drs.domid = dis->domid;
+    dis->drs.callback = devices_destroy_cb;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+
+    if (rc < 0)
+        LOG(DEBUG, "libxl__devices_destroy failed for %d", dis->domid);
+
+    dis->vm_path = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/vm",
+                                                          dis->dom_path));
+    if (dis->vm_path)
+        if (!xs_rm(CTX->xsh, XBT_NULL, dis->vm_path))
+            LOG(ERROR, "xs_rm failed for %s", dis->vm_path);
+
+    if (!xs_rm(CTX->xsh, XBT_NULL, dis->dom_path))
+        LOG(ERROR, "xs_rm failed for %s", dis->dom_path);
+
+    xs_rm(CTX->xsh, XBT_NULL, libxl__xs_libxl_path(gc, dis->domid));
+
+    libxl__userdata_destroyall(gc, dis->domid);
+
+    rc = xc_domain_destroy(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_destroy failed for %d", dis->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = 0;
+
+out:
+    dis->callback(egc, dis, rc);
+    return;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 0ddfe72..e324da2 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -807,7 +807,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -838,13 +837,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1085,43 +1077,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
 
 /*
  * libxl__wait_for_offspring - Wait for child state
@@ -1813,6 +1768,183 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* During the init/destruction process, the device can be in several states:
+ *
+ * DEVICE_UNKNOWN: device in unknown state (default value when struct is
+ * initialized).
+ *
+ * DEVICE_WAIT_BACKEND: waiting for the backend to switch to XenbusStateInit or
+ * XenbusStateClosed.
+ *
+ * DEVICE_WAIT_HOTPLUG: waiting for hotplug script to finish execution.
+ *
+ * DEVICE_FINISHED: device is connected/disconnected.
+ */
+typedef enum {
+    DEVICE_ACTIVE,
+    DEVICE_FINISHED
+} libxl__device_state;
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+_hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                                   libxl__ao_device **base);
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list,
+                                        int num, int *last);
+
+struct libxl__ao_device {
+    libxl__ao *ao;
+    /* State in which the device is */
+    libxl__device_state state;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aorm);
+
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been splitted in two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, it detects
+ * stubdoms and calls libxl__destroy_domid on the domain and it's
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    /* private */
+    libxl__ao_device *aorm;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+    char *dom_path;
+    char *vm_path;
+    char *pid;
+    int dm_present;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/* 
+ * Entry point for domain destruction 
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
@@ -1835,6 +1967,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..3c02b69 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1333,7 +1333,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1899,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2390,7 +2390,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2664,7 +2664,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2896,7 +2896,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3014,7 +3014,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index c4f7c52..e144670 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -447,7 +447,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, 0) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzk-000864-OD; Wed, 16 May 2012 16:22:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzj-00085Q-10
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:35 +0000
Received: from [85.158.139.83:41755] by server-7.bemta-5.messagelabs.com id
	BF/BF-16195-A44D3BF4; Wed, 16 May 2012 16:22:34 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337185349!17494254!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 765 invoked from network); 16 May 2012 16:22:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130978"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:12:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-4e;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:50 +0100
Message-ID: <1337184716-49276-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 07/13] libxl: convert libxl_domain_destroy to an
	AO op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c               |  180 +++++++++++-----------
 tools/libxl/libxl.h               |    3 +-
 tools/libxl/libxl_create.c        |   30 +++-
 tools/libxl/libxl_device.c        |  308 ++++++++++++++++++++++++++++---------
 tools/libxl/libxl_dm.c            |   83 +++++-----
 tools/libxl/libxl_dom.c           |  170 ++++++++++++++++++++
 tools/libxl/libxl_internal.h      |  224 +++++++++++++++++++++------
 tools/libxl/xl_cmdimpl.c          |   12 +-
 tools/python/xen/lowlevel/xl/xl.c |    2 +-
 9 files changed, 752 insertions(+), 260 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index d3b6a53..dabe92b 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1070,80 +1070,34 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
-{
-    GC_INIT(ctx);
-    char *dom_path;
-    char *vm_path;
-    char *pid;
-    int rc, dm_present;
-
-    rc = libxl_domain_info(ctx, NULL, domid);
-    switch(rc) {
-    case 0:
-        break;
-    case ERROR_INVAL:
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
-    default:
-        return rc;
-    }
-
-    switch (libxl__domain_type(gc, domid)) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        dm_present = 1;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-        dm_present = (pid != NULL);
-        break;
-    default:
-        abort();
-    }
-
-    dom_path = libxl__xs_get_dompath(gc, domid);
-    if (!dom_path) {
-        rc = ERROR_FAIL;
-        goto out;
-    }
+/* Callback for domain destruction */
 
-    if (libxl__device_pci_destroy_all(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "pci shutdown failed for domid %d", domid);
-    rc = xc_domain_pause(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_pause failed for %d", domid);
-    }
-    if (dm_present) {
-        if (libxl__destroy_device_model(gc, domid) < 0)
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl__destroy_device_model failed for %d", domid);
+static void domain_destroy_cb(libxl__egc *, libxl__domain_destroy_state *, int);
 
-        libxl__qmp_cleanup(gc, domid);
-    }
-    if (libxl__devices_destroy(gc, domid) < 0)
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
-                   "libxl__devices_destroy failed for %d", domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
 
-    vm_path = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/vm", dom_path));
-    if (vm_path)
-        if (!xs_rm(ctx->xsh, XBT_NULL, vm_path))
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", vm_path);
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
 
-    if (!xs_rm(ctx->xsh, XBT_NULL, dom_path))
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", dom_path);
+    return AO_INPROGRESS;
+}
 
-    xs_rm(ctx->xsh, XBT_NULL, libxl__xs_libxl_path(gc, domid));
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
 
-    libxl__userdata_destroyall(gc, domid);
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
 
-    rc = xc_domain_destroy(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_destroy failed for %d", domid);
-        rc = ERROR_FAIL;
-        goto out;
-    }
-    rc = 0;
-out:
-    GC_FREE;
-    return rc;
+    libxl__ao_complete(egc, ao, rc);
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1271,6 +1225,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+
+    if (aorm->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aorm->dev->kind),
+                    aorm->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aorm->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1297,19 +1271,25 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -1671,19 +1651,25 @@ int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2033,19 +2019,25 @@ int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
@@ -2166,19 +2158,25 @@ int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm = 0;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
 
-    return AO_INPROGRESS;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..2f4694e 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..bd8e6a6 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,13 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                    libxl__domain_destroy_state *dds,
+                                    int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +855,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 1e34135..577324c 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -624,49 +666,70 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device destruction */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
-
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
     if (!aorm) return;
     libxl__ev_devstate_cancel(gc, &aorm->ds);
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
-                                   int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                           libxl__ao_device **base)
+{
+    aorm->ao = ao;
+    aorm->state = DEVICE_ACTIVE;
+    aorm->rc = 0;
+    aorm->base = base;
+}
+
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num, int *last)
+{
+    int i, ret = 0;
+
+    device->state = DEVICE_FINISHED;
+    *last = 1;
+    for (i = 0; i < num; i++) {
+        if (list[i].state != DEVICE_FINISHED && *last) {
+            *last = 0;
+        }
+        if (list[i].rc)
+            ret = list[i].rc;
+    }
+    return ret;
 }
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+/* Common callbacks for device add/remove */
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc);
+
+void libxl__initiate_device_remove(libxl__egc *egc, libxl__ao_device *aorm)
 {
-    AO_GC;
+    STATE_AO_GC(aorm->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aorm->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aorm->dev));
+        /* Remove frontend xs paths to force backend disconnection */
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
 
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
-    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
+    xs_write(ctx->xsh, t, GCSPRINTF("%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
@@ -676,60 +739,67 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
     libxl__ev_devstate_init(&aorm->ds);
-
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOGE(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aorm->callback(egc, aorm);
+    return;
 }
 
-int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char *be_path = libxl__device_backend_path(gc, dev);
-    char *fe_path = libxl__device_frontend_path(gc, dev);
-
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+/* Callback for device destruction */
 
-    libxl__device_destroy_tapdisk(gc, be_path);
-
-    return 0;
-}
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm);
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
+    STATE_AO_GC(drs->ao);
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, rc = 0, numdev = 0;
+    libxl__device *dev;
     libxl__device_kind kind;
 
-    path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOGE(ERROR, "unable to get number of devices for domain %u",
+                    drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aorm, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__init_ao_device(&drs->aorm[i], drs->ao, &drs->aorm);
+    }
+
+    path = GCSPRINTF("/local/domain/%d/device", drs->domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
         if (errno != ENOENT) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get xenstore"
-                             " device listing %s", path);
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
             goto out;
         }
         num_kinds = 0;
@@ -738,38 +808,136 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
         if (libxl__device_kind_from_string(kinds[i], &kind))
             continue;
 
-        path = libxl__sprintf(gc, "/local/domain/%d/device/%s", domid, kinds[i]);
+        path = GCSPRINTF("/local/domain/%d/device/%s", drs->domid, kinds[i]);
         devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
         if (!devs)
             continue;
         for (j = 0; j < num_devs; j++) {
-            path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
-                                  domid, kinds[i], devs[j]);
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             drs->domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                dev->domid = drs->domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                drs->aorm[numdev].action = DEVICE_DISCONNECT;
+                drs->aorm[numdev].dev = dev;
+                drs->aorm[numdev].callback = device_remove_callback;
+                libxl__initiate_device_remove(egc, &drs->aorm[numdev]);
+                numdev++;
             }
         }
     }
 
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
-    path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
+    path = GCSPRINTF("/local/domain/%d/console/backend", drs->domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = drs->domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
+}
+
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                    int rc)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
+    STATE_AO_GC(aorm->ao);
+
+    device_backend_cleanup(gc, aorm);
+
+    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
+        !aorm->force) {
+        aorm->force = 1;
+        libxl__initiate_device_remove(egc, aorm);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aorm->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    }
+
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
+    xs_transaction_t t = 0;
+    int rc = 0, last = 1;
+
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    if (aorm->action == DEVICE_DISCONNECT) {
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+    }
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
+                                     drs->num_devices, &last);
+    if (last)
+        drs->callback(egc, drs, rc);
+    return;
+}
+
+int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
+
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    libxl__xs_path_cleanup(gc, t, be_path);
+    libxl__xs_path_cleanup(gc, t, fe_path);
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    libxl__device_destroy_tapdisk(gc, be_path);
+    return rc;
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 95fd0ac..4019309 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -891,12 +895,30 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1089,48 +1111,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOGE(ERROR, "Couldn't find device model's pid");
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 6064d44..1e73f64 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -1125,6 +1125,176 @@ out:
     return rc;
 }
 
+/* Callbacks for libxl__domain_destroy */
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc)
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    if (dds->domain_finished)
+        dds->callback(egc, dds, rc);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+
+    dds->domain_finished = 1;
+    if (dds->stubdom_finished)
+        dds->callback(egc, dds, rc);
+}
+
+/* Callbacks for libxl__domain_clean */
+
+/* Device destruction callback */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    int rc;
+
+    rc = libxl_domain_info(CTX, NULL, dis->domid);
+    switch (rc) {
+    case 0:
+        break;
+    case ERROR_INVAL:
+        LOGEV(ERROR, rc, "non-existant domain %d", dis->domid);
+    default:
+        goto out;
+    }
+
+    switch (libxl__domain_type(gc, dis->domid)) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        dis->dm_present = 1;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        dis->pid = libxl__xs_read(gc, XBT_NULL,
+                        GCSPRINTF("/local/domain/%d/image/device-model-pid",
+                        dis->domid));
+        dis->dm_present = (dis->pid != NULL);
+        break;
+    default:
+        abort();
+    }
+
+    dis->dom_path = libxl__xs_get_dompath(gc, dis->domid);
+    if (!dis->dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl__device_pci_destroy_all(gc, dis->domid) < 0)
+        LOG(ERROR, "pci shutdown failed for domid %d", dis->domid);
+    rc = xc_domain_pause(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_pause failed for %d", dis->domid);
+    }
+    if (dis->dm_present) {
+        rc = libxl__destroy_device_model(gc, dis->domid);
+        if (rc < 0)
+            LOG(ERROR, "libxl__destroy_device_model failed for %d",
+                        dis->domid);
+        libxl__qmp_cleanup(gc, dis->domid);
+    }
+    dis->drs.ao = ao;
+    dis->drs.domid = dis->domid;
+    dis->drs.callback = devices_destroy_cb;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+
+    if (rc < 0)
+        LOG(DEBUG, "libxl__devices_destroy failed for %d", dis->domid);
+
+    dis->vm_path = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/vm",
+                                                          dis->dom_path));
+    if (dis->vm_path)
+        if (!xs_rm(CTX->xsh, XBT_NULL, dis->vm_path))
+            LOG(ERROR, "xs_rm failed for %s", dis->vm_path);
+
+    if (!xs_rm(CTX->xsh, XBT_NULL, dis->dom_path))
+        LOG(ERROR, "xs_rm failed for %s", dis->dom_path);
+
+    xs_rm(CTX->xsh, XBT_NULL, libxl__xs_libxl_path(gc, dis->domid));
+
+    libxl__userdata_destroyall(gc, dis->domid);
+
+    rc = xc_domain_destroy(CTX->xch, dis->domid);
+    if (rc < 0) {
+        LOGEV(ERROR, rc, "xc_domain_destroy failed for %d", dis->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = 0;
+
+out:
+    dis->callback(egc, dis, rc);
+    return;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 0ddfe72..e324da2 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -807,7 +807,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -838,13 +837,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1085,43 +1077,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
 
 /*
  * libxl__wait_for_offspring - Wait for child state
@@ -1813,6 +1768,183 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* During the init/destruction process, the device can be in several states:
+ *
+ * DEVICE_UNKNOWN: device in unknown state (default value when struct is
+ * initialized).
+ *
+ * DEVICE_WAIT_BACKEND: waiting for the backend to switch to XenbusStateInit or
+ * XenbusStateClosed.
+ *
+ * DEVICE_WAIT_HOTPLUG: waiting for hotplug script to finish execution.
+ *
+ * DEVICE_FINISHED: device is connected/disconnected.
+ */
+typedef enum {
+    DEVICE_ACTIVE,
+    DEVICE_FINISHED
+} libxl__device_state;
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+_hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                                   libxl__ao_device **base);
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list,
+                                        int num, int *last);
+
+struct libxl__ao_device {
+    libxl__ao *ao;
+    /* State in which the device is */
+    libxl__device_state state;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aorm);
+
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been splitted in two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, it detects
+ * stubdoms and calls libxl__destroy_domid on the domain and it's
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    /* private */
+    libxl__ao_device *aorm;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+    char *dom_path;
+    char *vm_path;
+    char *pid;
+    int dm_present;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/* 
+ * Entry point for domain destruction 
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
@@ -1835,6 +1967,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..3c02b69 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1333,7 +1333,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1899,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2390,7 +2390,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2664,7 +2664,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2896,7 +2896,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3014,7 +3014,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index c4f7c52..e144670 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -447,7 +447,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, 0) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzh-00085A-H7; Wed, 16 May 2012 16:22:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzg-00084u-Ce
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:32 +0000
Received: from [85.158.139.83:41502] by server-3.bemta-5.messagelabs.com id
	EE/18-25237-744D3BF4; Wed, 16 May 2012 16:22:31 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337185349!17494254!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32767 invoked from network); 16 May 2012 16:22:30 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130969"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-0T;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:46 +0100
Message-ID: <1337184716-49276-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 03/13] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a function which behaves like "xenstore-rm -t", and which will be
used to clean xenstore after unplug since we will be no longer
executing xen-hotplug-cleanup script, that used to do that for us.

Changes since v4:

 * Caller must supply a transaction.

Changes since v3:

 * Better error checking and function description.

Changes since v2:

 * Moved the function to libxl_xshelp.c and added the prototype to
   libxl_internal.h.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |    8 ++++++++
 tools/libxl/libxl_xshelp.c   |   42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index aaaf644..ae5527b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -494,6 +494,14 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+/*
+ * This is a recursive delete, from top to bottom. What this function does
+ * is remove empty folders that contained the deleted entry.
+ *
+ * It mimics xenstore-rm -t behaviour.
+ */
+_hidden int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t,
+                                   char *user_path);
 
 /*
  * Event generation functions provided by the libxl event core to the
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 6ca1afe..0667fae 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,48 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
+{
+    unsigned int nb = 0;
+    char *path, *last, *val;
+    int rc;
+
+    if (!user_path) {
+        LOGE(ERROR, "null path provided");
+        return ERROR_INVAL;
+    }
+    if (!t) {
+        LOGE(ERROR, "null transaction provided");
+        return ERROR_INVAL;
+    }
+
+    path = libxl__strdup(gc, user_path);
+    if (!xs_rm(CTX->xsh, t, path)) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    for (last = strrchr(path, '/'); last != NULL; last = strrchr(path, '/')) {
+        *last = '\0';
+
+        if (!strlen(path)) break;
+
+        val = libxl__xs_read(gc, t, path);
+        if (!val || strlen(val) != 0) break;
+
+        if (!libxl__xs_directory(gc, t, path, &nb) || nb != 0) break;
+
+        if (!xs_rm(CTX->xsh, t, path)) {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+    rc = 0;
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:22:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:22:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUgzh-00085A-H7; Wed, 16 May 2012 16:22:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUgzg-00084u-Ce
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:22:32 +0000
Received: from [85.158.139.83:41502] by server-3.bemta-5.messagelabs.com id
	EE/18-25237-744D3BF4; Wed, 16 May 2012 16:22:31 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337185349!17494254!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32767 invoked from network); 16 May 2012 16:22:30 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:22:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195130969"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:11:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:11:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-0T;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:46 +0100
Message-ID: <1337184716-49276-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 03/13] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a function which behaves like "xenstore-rm -t", and which will be
used to clean xenstore after unplug since we will be no longer
executing xen-hotplug-cleanup script, that used to do that for us.

Changes since v4:

 * Caller must supply a transaction.

Changes since v3:

 * Better error checking and function description.

Changes since v2:

 * Moved the function to libxl_xshelp.c and added the prototype to
   libxl_internal.h.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |    8 ++++++++
 tools/libxl/libxl_xshelp.c   |   42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index aaaf644..ae5527b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -494,6 +494,14 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+/*
+ * This is a recursive delete, from top to bottom. What this function does
+ * is remove empty folders that contained the deleted entry.
+ *
+ * It mimics xenstore-rm -t behaviour.
+ */
+_hidden int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t,
+                                   char *user_path);
 
 /*
  * Event generation functions provided by the libxl event core to the
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 6ca1afe..0667fae 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,48 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
+{
+    unsigned int nb = 0;
+    char *path, *last, *val;
+    int rc;
+
+    if (!user_path) {
+        LOGE(ERROR, "null path provided");
+        return ERROR_INVAL;
+    }
+    if (!t) {
+        LOGE(ERROR, "null transaction provided");
+        return ERROR_INVAL;
+    }
+
+    path = libxl__strdup(gc, user_path);
+    if (!xs_rm(CTX->xsh, t, path)) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    for (last = strrchr(path, '/'); last != NULL; last = strrchr(path, '/')) {
+        *last = '\0';
+
+        if (!strlen(path)) break;
+
+        val = libxl__xs_read(gc, t, path);
+        if (!val || strlen(val) != 0) break;
+
+        if (!libxl__xs_directory(gc, t, path, &nb) || nb != 0) break;
+
+        if (!xs_rm(CTX->xsh, t, path)) {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+    rc = 0;
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:24:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:24:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh1U-0008VB-Mk; Wed, 16 May 2012 16:24:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUh1T-0008V0-5c
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:24:23 +0000
Received: from [193.109.254.147:46318] by server-4.bemta-14.messagelabs.com id
	F0/58-11570-6B4D3BF4; Wed, 16 May 2012 16:24:22 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337185461!9262031!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7171 invoked from network); 16 May 2012 16:24:21 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-9.tower-27.messagelabs.com with SMTP;
	16 May 2012 16:24:21 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GGOFqS010840
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 12:24:15 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4GGOAOH002720; Wed, 16 May 2012 12:24:12 -0400
Date: Wed, 16 May 2012 19:24:15 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Message-ID: <20120516162415.GB10676@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com> <4FB3CF96.7080402@codemonkey.ws>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB3CF96.7080402@codemonkey.ws>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>, Xen Devel <xen-devel@lists.xen.org>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:02:30AM -0500, Anthony Liguori wrote:
> On 05/16/2012 06:23 AM, Paolo Bonzini wrote:
> >Il 16/05/2012 13:15, Anthony PERARD ha scritto:
> >>>>         qdev_unplug(&(d->qdev), NULL);
> >>>>+        qdev_free(&(d->qdev));
> >>>>     }
> >>>>  }
> >>>>
> >>>>
> >>>>Anthony, can you confirm that this solves the problem for you?
> >>This work until I try to hotplug a new device to the guest at wish
> >>point I have this:
> >>ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
> >>assertion failed: (obj->ref == 0)
> >>
> >>This is because there is still a pending request of the hotunplug in
> >>the acpi piix4.
> >>If I call qdev_free without qdev_unplug, I hit the same assert, but
> >>rigth away. This is way something new.
> >
> >Because it's missing the object_unparent done by qdev_unplug.  Does
> >object_unparent+qdev_free work?  (I believe object_unparent should be
> >done by qdev_free rather than qdev_unplug, but that's something for 1.2).
> 
> qdev_free() is trivially object_delete today.
> 
> What we should do is make an object_destroy() which emits a destroy
> event and then decrements the reference count.  When ref == 0, we
> should emit a delete event.
> 
> We could then register a slot to object_unparent in the destroy
> event handler, and then object_new() could register a free handler
> in the delete event.
> 
> Then object_delete()/qdev_free() just become trivial invocations of object_unref().
> 
> But for 1.1, we definitely should just do an explicit object_unparent().
> 
> Regards,
> 
> Anthony Liguori
> 
> >
> >Paolo

Okay. Can you fix the bug Amos reported this way too
to avoid confusion?  Or prefer Amos to do it?

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:24:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:24:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh1U-0008VB-Mk; Wed, 16 May 2012 16:24:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUh1T-0008V0-5c
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:24:23 +0000
Received: from [193.109.254.147:46318] by server-4.bemta-14.messagelabs.com id
	F0/58-11570-6B4D3BF4; Wed, 16 May 2012 16:24:22 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337185461!9262031!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7171 invoked from network); 16 May 2012 16:24:21 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-9.tower-27.messagelabs.com with SMTP;
	16 May 2012 16:24:21 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GGOFqS010840
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 12:24:15 -0400
Received: from redhat.com (reserved-202-254.tlv.redhat.com [10.35.202.254]
	(may be forged))
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP
	id q4GGOAOH002720; Wed, 16 May 2012 12:24:12 -0400
Date: Wed, 16 May 2012 19:24:15 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Message-ID: <20120516162415.GB10676@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com> <4FB3CF96.7080402@codemonkey.ws>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB3CF96.7080402@codemonkey.ws>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>, Xen Devel <xen-devel@lists.xen.org>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 11:02:30AM -0500, Anthony Liguori wrote:
> On 05/16/2012 06:23 AM, Paolo Bonzini wrote:
> >Il 16/05/2012 13:15, Anthony PERARD ha scritto:
> >>>>         qdev_unplug(&(d->qdev), NULL);
> >>>>+        qdev_free(&(d->qdev));
> >>>>     }
> >>>>  }
> >>>>
> >>>>
> >>>>Anthony, can you confirm that this solves the problem for you?
> >>This work until I try to hotplug a new device to the guest at wish
> >>point I have this:
> >>ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete:
> >>assertion failed: (obj->ref == 0)
> >>
> >>This is because there is still a pending request of the hotunplug in
> >>the acpi piix4.
> >>If I call qdev_free without qdev_unplug, I hit the same assert, but
> >>rigth away. This is way something new.
> >
> >Because it's missing the object_unparent done by qdev_unplug.  Does
> >object_unparent+qdev_free work?  (I believe object_unparent should be
> >done by qdev_free rather than qdev_unplug, but that's something for 1.2).
> 
> qdev_free() is trivially object_delete today.
> 
> What we should do is make an object_destroy() which emits a destroy
> event and then decrements the reference count.  When ref == 0, we
> should emit a delete event.
> 
> We could then register a slot to object_unparent in the destroy
> event handler, and then object_new() could register a free handler
> in the delete event.
> 
> Then object_delete()/qdev_free() just become trivial invocations of object_unref().
> 
> But for 1.1, we definitely should just do an explicit object_unparent().
> 
> Regards,
> 
> Anthony Liguori
> 
> >
> >Paolo

Okay. Can you fix the bug Amos reported this way too
to avoid confusion?  Or prefer Amos to do it?

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh2t-0000IL-5w; Wed, 16 May 2012 16:25:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUh2s-0000IC-MA
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:25:50 +0000
Received: from [85.158.138.51:28557] by server-2.bemta-3.messagelabs.com id
	AE/6A-09269-D05D3BF4; Wed, 16 May 2012 16:25:49 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337185548!27525208!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29785 invoked from network); 16 May 2012 16:25:48 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-9.tower-174.messagelabs.com with SMTP;
	16 May 2012 16:25:48 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GGPhD4008924
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 12:25:43 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q4GGPeiL020858; Wed, 16 May 2012 12:25:40 -0400
Date: Wed, 16 May 2012 19:25:44 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20120516162544.GC10676@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
	<CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
	<20120516132017.GB8620@redhat.com> <4FB3CD31.8050903@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB3CD31.8050903@redhat.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 05:52:17PM +0200, Paolo Bonzini wrote:
> Il 16/05/2012 15:20, Michael S. Tsirkin ha scritto:
> >>> Because it's missing the object_unparent done by qdev_unplug.  Does
> >>> object_unparent+qdev_free work?  (I believe object_unparent should be
> >>> done by qdev_free rather than qdev_unplug, but that's something for 1.2).
> >>
> >> Cool, this seems to work fine. Thanks.
> >>
> >> I'll test a bit more and resend a patch with only object_unparent+qdev_free.
> > 
> > Separately it was suggested to make qdev_free do object_unparent
> > automatically. Anthony is yet to respond.
> 
> Yes, but for 1.1 this Xen-only patch would be nice.
> 
> Paolo

No sure which this patch is meant, the force eject is not a good idea.
Freeing directly from Xen is fine.

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh2t-0000IL-5w; Wed, 16 May 2012 16:25:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mst@redhat.com>) id 1SUh2s-0000IC-MA
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:25:50 +0000
Received: from [85.158.138.51:28557] by server-2.bemta-3.messagelabs.com id
	AE/6A-09269-D05D3BF4; Wed, 16 May 2012 16:25:49 +0000
X-Env-Sender: mst@redhat.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337185548!27525208!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTI3NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29785 invoked from network); 16 May 2012 16:25:48 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-9.tower-174.messagelabs.com with SMTP;
	16 May 2012 16:25:48 -0000
Received: from int-mx02.intmail.prod.int.phx2.redhat.com
	(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4GGPhD4008924
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 16 May 2012 12:25:43 -0400
Received: from redhat.com (reserved [10.35.202.254] (may be forged))
	by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP
	id q4GGPeiL020858; Wed, 16 May 2012 12:25:40 -0400
Date: Wed, 16 May 2012 19:25:44 +0300
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20120516162544.GC10676@redhat.com>
References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com>
	<1337095599-28836-2-git-send-email-anthony.perard@citrix.com>
	<20120515205222.GA12039@redhat.com>
	<alpine.DEB.2.00.1205161124090.26786@kaball-desktop>
	<CAJJyHjKHn5HA6y0B8oHP7o2W=6_wd-0vpLzkeM74-ZYypn+tAA@mail.gmail.com>
	<4FB38E2E.5000508@redhat.com>
	<CAJJyHj+AOgGDUfKKkJa0R=kjokeN5dcz8yEXQPjnXsCrOQ52Dw@mail.gmail.com>
	<20120516132017.GB8620@redhat.com> <4FB3CD31.8050903@redhat.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB3CD31.8050903@redhat.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/4] Introduce a new hotplug state: Force
	eject.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 05:52:17PM +0200, Paolo Bonzini wrote:
> Il 16/05/2012 15:20, Michael S. Tsirkin ha scritto:
> >>> Because it's missing the object_unparent done by qdev_unplug.  Does
> >>> object_unparent+qdev_free work?  (I believe object_unparent should be
> >>> done by qdev_free rather than qdev_unplug, but that's something for 1.2).
> >>
> >> Cool, this seems to work fine. Thanks.
> >>
> >> I'll test a bit more and resend a patch with only object_unparent+qdev_free.
> > 
> > Separately it was suggested to make qdev_free do object_unparent
> > automatically. Anthony is yet to respond.
> 
> Yes, but for 1.1 this Xen-only patch would be nice.
> 
> Paolo

No sure which this patch is meant, the force eject is not a good idea.
Freeing directly from Xen is fine.

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:29:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:29:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh6G-0000dG-64; Wed, 16 May 2012 16:29:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUh6E-0000d0-Ps
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:29:19 +0000
Received: from [193.109.254.147:42457] by server-5.bemta-14.messagelabs.com id
	11/92-30733-DD5D3BF4; Wed, 16 May 2012 16:29:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337185754!2773332!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14389 invoked from network); 16 May 2012 16:29:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:29:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195132744"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-86;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:53 +0100
Message-ID: <1337184716-49276-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 10/13] libxl: add option to choose who executes
	hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   25 ++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h |    1 +
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 8 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 2134645..4520bc7 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,29 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        if (!libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOG(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+    } else {
+        if (libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOG(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 725975d..7969a43 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 46af9fb..c13c48b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:29:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:29:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh6G-0000dG-64; Wed, 16 May 2012 16:29:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUh6E-0000d0-Ps
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:29:19 +0000
Received: from [193.109.254.147:42457] by server-5.bemta-14.messagelabs.com id
	11/92-30733-DD5D3BF4; Wed, 16 May 2012 16:29:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337185754!2773332!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14389 invoked from network); 16 May 2012 16:29:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:29:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195132744"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-86;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:53 +0100
Message-ID: <1337184716-49276-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 10/13] libxl: add option to choose who executes
	hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   25 ++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h |    1 +
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 8 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 2134645..4520bc7 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,29 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        if (!libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOG(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+    } else {
+        if (libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
+            LOG(ERROR, "cannot change hotplug execution option once set, "
+                        "please shutdown all guests before changing it");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 725975d..7969a43 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 46af9fb..c13c48b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:29:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:29:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh6F-0000d9-Qd; Wed, 16 May 2012 16:29:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUh6E-0000cy-28
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:29:18 +0000
Received: from [193.109.254.147:42425] by server-6.bemta-14.messagelabs.com id
	5C/F4-04960-DD5D3BF4; Wed, 16 May 2012 16:29:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337185754!2773332!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14345 invoked from network); 16 May 2012 16:29:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:29:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195132735"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-Bi;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:55 +0100
Message-ID: <1337184716-49276-13-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 12/13] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/Makefile                      |    3 +-
 tools/libxl/libxl_device.c                |   23 ++++-
 tools/libxl/libxl_hotplug.c               |   84 +++++++++++++++++++
 tools/libxl/libxl_internal.h              |   17 ++++
 tools/libxl/libxl_linux.c                 |  126 +++++++++++++++++++++++++++++
 7 files changed, 256 insertions(+), 9 deletions(-)
 create mode 100644 tools/libxl/libxl_hotplug.c

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9abadff 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,7 +66,8 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
+			libxl_qmp.o libxl_event.o libxl_fork.o libxl_hotplug.o \
+			$(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6b0ce95..0b7beb7 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -380,6 +380,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -393,6 +398,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "tapdisk-params");
             flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
@@ -760,7 +770,7 @@ out_fail:
 
 out_ok:
     assert(!rc);
-    aorm->callback(egc, aorm);
+    libxl__device_hotplug(egc, aorm);
     return;
 }
 
@@ -822,7 +832,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aorm->callback(egc, aorm);
+    libxl__device_hotplug(egc, aorm);
     return;
 }
 
@@ -929,14 +939,17 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
     if (rc && aorm->action == DEVICE_CONNECT) {
         LOG(ERROR, "unable to connect device with path %s",
                    libxl__device_backend_path(gc, aorm->dev));
-        goto out;
+        goto error;
     } else if(rc) {
         LOG(DEBUG, "unable to disconnect device with path %s",
                    libxl__device_backend_path(gc, aorm->dev));
-        goto out;
+        goto error;
     }
 
-out:
+    libxl__device_hotplug(egc, aorm);
+    return;
+
+error:
     aorm->rc = rc;
     aorm->callback(egc, aorm);
     return;
diff --git a/tools/libxl/libxl_hotplug.c b/tools/libxl/libxl_hotplug.c
new file mode 100644
index 0000000..686a38d
--- /dev/null
+++ b/tools/libxl/libxl_hotplug.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2012
+ * Author Roger Pau Monne <roger.pau@citrix.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+
+/*
+ * Generic hotplug helpers
+ *
+ * This helpers are both used by Linux and NetBSD hotplug script
+ * dispatcher functions.
+ */
+
+static void device_hotplug_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                   const struct timeval *requested_abs)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ev, *aorm, ev);
+    STATE_AO_GC(aorm->ao);
+
+    if (!aorm) return;
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        if (kill(aorm->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aorm->what, (unsigned long)aorm->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return;
+}
+
+int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                          const char *arg0, char *const args[],
+                          char *const env[], libxl__ev_child_callback *death)
+{
+    int rc = 0;
+    pid_t pid = -1;
+
+    libxl__ev_time_init(&aorm->ev);
+    libxl__ev_child_init(&aorm->child);
+
+    rc = libxl__ev_time_register_rel(gc, &aorm->ev, device_hotplug_timeout,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to register timeout for hotplug script %s", arg0);
+        goto out;
+    }
+
+    pid = libxl__ev_child_fork(gc, &aorm->child, death);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, arg0, args, env);
+        LOGE(ERROR, "unable execute hotplug scripts for device %"PRIu32 " on "
+                    "dom %"PRIu32, aorm->dev->devid, aorm->dev->backend_domid);
+        abort();
+    }
+out:
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        aorm->pid = pid;
+        /* we will get a callback when the child dies */
+        return 0;
+    }
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return rc;
+}
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 7969a43..5e2bac5 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1813,6 +1814,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1840,6 +1846,17 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*
+ * libxl__hotplug_launch is an internal function that should not be used
+ * directly, all hotplug script calls have to implement and use
+ * libxl__device_hotplug.
+ */
+_hidden void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm);
+_hidden int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                                  const char *arg0, char *const args[],
+                                  char *const env[],
+                                  libxl__ev_child_callback *death);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been splitted in two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..315ce15 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,129 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    if (!aorm) return;
+    libxl__ev_time_deregister(gc, &aorm->ev);
+}
+
+static void callback(libxl__egc *egc, libxl__ev_child *child,
+                                    pid_t pid, int status)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(child, *aorm, child);
+    STATE_AO_GC(aorm->ao);
+
+    cleanup(gc, aorm);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aorm->rc ? LIBXL__LOG_ERROR
+                                                    : LIBXL__LOG_WARNING,
+                                      aorm->what, pid, status);
+        aorm->rc = ERROR_FAIL;
+    }
+    aorm->callback(egc, aorm);
+}
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, 9);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return ERROR_FAIL;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return ERROR_FAIL;
+
+    GCNEW_ARRAY(args, 3);
+
+    args[nr++] = script;
+    args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+    args[nr++] = NULL;
+
+    aorm->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+    if (rc) {
+        goto out_free;
+    }
+
+    rc = 0;
+
+out_free:
+    return rc;
+}
+
+void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) goto out;
+
+    switch (aorm->dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        aorm->rc = libxl__hotplug_disk(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        aorm->rc = 0;
+        aorm->callback(egc, aorm);
+        break;
+    }
+
+    return;
+
+error:
+    assert(aorm->rc);
+    LOGE(ERROR, "unable to queue execution of hotplug script for device "
+                "with path %s", libxl__device_backend_path(gc, aorm->dev));
+out:
+    aorm->callback(egc, aorm);
+    return;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:29:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:29:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUh6F-0000d9-Qd; Wed, 16 May 2012 16:29:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUh6E-0000cy-28
	for xen-devel@lists.xen.org; Wed, 16 May 2012 16:29:18 +0000
Received: from [193.109.254.147:42425] by server-6.bemta-14.messagelabs.com id
	5C/F4-04960-DD5D3BF4; Wed, 16 May 2012 16:29:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337185754!2773332!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTI3MjU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14345 invoked from network); 16 May 2012 16:29:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:29:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="195132735"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 12:19:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 12:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUgpT-0007Tp-Bi;
	Wed, 16 May 2012 17:11:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 16 May 2012 17:11:55 +0100
Message-ID: <1337184716-49276-13-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 12/13] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/Makefile                      |    3 +-
 tools/libxl/libxl_device.c                |   23 ++++-
 tools/libxl/libxl_hotplug.c               |   84 +++++++++++++++++++
 tools/libxl/libxl_internal.h              |   17 ++++
 tools/libxl/libxl_linux.c                 |  126 +++++++++++++++++++++++++++++
 7 files changed, 256 insertions(+), 9 deletions(-)
 create mode 100644 tools/libxl/libxl_hotplug.c

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9abadff 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,7 +66,8 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
+			libxl_qmp.o libxl_event.o libxl_fork.o libxl_hotplug.o \
+			$(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6b0ce95..0b7beb7 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -380,6 +380,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -393,6 +398,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "tapdisk-params");
             flexarray_append(back, GCSPRINTF("%s:%s", format, disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
@@ -760,7 +770,7 @@ out_fail:
 
 out_ok:
     assert(!rc);
-    aorm->callback(egc, aorm);
+    libxl__device_hotplug(egc, aorm);
     return;
 }
 
@@ -822,7 +832,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aorm->callback(egc, aorm);
+    libxl__device_hotplug(egc, aorm);
     return;
 }
 
@@ -929,14 +939,17 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
     if (rc && aorm->action == DEVICE_CONNECT) {
         LOG(ERROR, "unable to connect device with path %s",
                    libxl__device_backend_path(gc, aorm->dev));
-        goto out;
+        goto error;
     } else if(rc) {
         LOG(DEBUG, "unable to disconnect device with path %s",
                    libxl__device_backend_path(gc, aorm->dev));
-        goto out;
+        goto error;
     }
 
-out:
+    libxl__device_hotplug(egc, aorm);
+    return;
+
+error:
     aorm->rc = rc;
     aorm->callback(egc, aorm);
     return;
diff --git a/tools/libxl/libxl_hotplug.c b/tools/libxl/libxl_hotplug.c
new file mode 100644
index 0000000..686a38d
--- /dev/null
+++ b/tools/libxl/libxl_hotplug.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2012
+ * Author Roger Pau Monne <roger.pau@citrix.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+
+/*
+ * Generic hotplug helpers
+ *
+ * This helpers are both used by Linux and NetBSD hotplug script
+ * dispatcher functions.
+ */
+
+static void device_hotplug_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                   const struct timeval *requested_abs)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(ev, *aorm, ev);
+    STATE_AO_GC(aorm->ao);
+
+    if (!aorm) return;
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        if (kill(aorm->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aorm->what, (unsigned long)aorm->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return;
+}
+
+int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                          const char *arg0, char *const args[],
+                          char *const env[], libxl__ev_child_callback *death)
+{
+    int rc = 0;
+    pid_t pid = -1;
+
+    libxl__ev_time_init(&aorm->ev);
+    libxl__ev_child_init(&aorm->child);
+
+    rc = libxl__ev_time_register_rel(gc, &aorm->ev, device_hotplug_timeout,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to register timeout for hotplug script %s", arg0);
+        goto out;
+    }
+
+    pid = libxl__ev_child_fork(gc, &aorm->child, death);
+    if (pid == -1) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, arg0, args, env);
+        LOGE(ERROR, "unable execute hotplug scripts for device %"PRIu32 " on "
+                    "dom %"PRIu32, aorm->dev->devid, aorm->dev->backend_domid);
+        abort();
+    }
+out:
+    if (libxl__ev_child_inuse(&aorm->child)) {
+        aorm->pid = pid;
+        /* we will get a callback when the child dies */
+        return 0;
+    }
+    libxl__ev_time_deregister(gc, &aorm->ev);
+    return rc;
+}
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 7969a43..5e2bac5 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1813,6 +1814,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1840,6 +1846,17 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*
+ * libxl__hotplug_launch is an internal function that should not be used
+ * directly, all hotplug script calls have to implement and use
+ * libxl__device_hotplug.
+ */
+_hidden void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm);
+_hidden int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,
+                                  const char *arg0, char *const args[],
+                                  char *const env[],
+                                  libxl__ev_child_callback *death);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been splitted in two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..315ce15 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,129 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    if (!aorm) return;
+    libxl__ev_time_deregister(gc, &aorm->ev);
+}
+
+static void callback(libxl__egc *egc, libxl__ev_child *child,
+                                    pid_t pid, int status)
+{
+    libxl__ao_device *aorm = CONTAINER_OF(child, *aorm, child);
+    STATE_AO_GC(aorm->ao);
+
+    cleanup(gc, aorm);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aorm->rc ? LIBXL__LOG_ERROR
+                                                    : LIBXL__LOG_WARNING,
+                                      aorm->what, pid, status);
+        aorm->rc = ERROR_FAIL;
+    }
+    aorm->callback(egc, aorm);
+}
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, 9);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__ao_device *aorm)
+{
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *script;
+    char **args, **env;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return ERROR_FAIL;
+    }
+
+    env = get_hotplug_env(gc, aorm->dev);
+    if (!env)
+        return ERROR_FAIL;
+
+    GCNEW_ARRAY(args, 3);
+
+    args[nr++] = script;
+    args[nr++] = aorm->action == DEVICE_CONNECT ? "add" : "remove";
+    args[nr++] = NULL;
+
+    aorm->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    rc = libxl__hotplug_launch(gc, aorm, args[0], args, env, callback);
+    if (rc) {
+        goto out_free;
+    }
+
+    rc = 0;
+
+out_free:
+    return rc;
+}
+
+void libxl__device_hotplug(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) goto out;
+
+    switch (aorm->dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        aorm->rc = libxl__hotplug_disk(gc, aorm);
+        if (aorm->rc) goto error;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        aorm->rc = 0;
+        aorm->callback(egc, aorm);
+        break;
+    }
+
+    return;
+
+error:
+    assert(aorm->rc);
+    LOGE(ERROR, "unable to queue execution of hotplug script for device "
+                "with path %s", libxl__device_backend_path(gc, aorm->dev));
+out:
+    aorm->callback(egc, aorm);
+    return;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:35:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:35:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUhCM-0000xu-7C; Wed, 16 May 2012 16:35:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <george.shuklin@gmail.com>) id 1SUhCK-0000xo-VB
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 16:35:37 +0000
Received: from [85.158.138.51:48362] by server-3.bemta-3.messagelabs.com id
	DE/09-04048-857D3BF4; Wed, 16 May 2012 16:35:36 +0000
X-Env-Sender: george.shuklin@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337186134!21129159!1
X-Originating-IP: [209.85.215.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2834 invoked from network); 16 May 2012 16:35:35 -0000
Received: from mail-lpp01m010-f43.google.com (HELO
	mail-lpp01m010-f43.google.com) (209.85.215.43)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:35:35 -0000
Received: by lahg1 with SMTP id g1so769772lah.30
	for <xen-devel@lists.xensource.com>;
	Wed, 16 May 2012 09:35:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject
	:content-type:content-transfer-encoding;
	bh=FhFO/P3EEG7sGGxsCtNQ1cOTpVqPgE3sVsLs92F+Wkg=;
	b=NrPZ+8D7auXY31t6Y6Ysg+ba5jcpTZryH2FmCCpMJnZrTPtPZb6tHRVmxXmcqgpa2+
	cW+lEL+LjY5nhl5knQ5K9YAuoZRk3MPKBVPwj0dC9vj5v4gK+yoWLKWHCZQN6RPMBLjV
	pkjcA4KG5ILIhN0hK1/NkvjLlYYh5AUp/BZxDEuQQpHN6kwioNX96Opgah24qhC8ngOZ
	Y7C/taD9Tyt0azibrwcy/1gUreg2YxYy/C+ct3wd108ZXX/xKuoOOTSTgEon+2SIk6DH
	IY5jatN/pM9lTcSyBRHMoqx8DpAq+g0m72vdvg/wXasEiKwuHc3LBOdeEZEVmepBM157
	trbQ==
Received: by 10.152.148.199 with SMTP id tu7mr3583484lab.43.1337186134035;
	Wed, 16 May 2012 09:35:34 -0700 (PDT)
Received: from [0.0.0.0] (desunote.ru. [95.161.2.76])
	by mx.google.com with ESMTPS id uc6sm3796936lbb.3.2012.05.16.09.35.29
	(version=SSLv3 cipher=OTHER); Wed, 16 May 2012 09:35:31 -0700 (PDT)
Message-ID: <4FB3D74F.50101@gmail.com>
Date: Wed, 16 May 2012 20:35:27 +0400
From: George Shuklin <george.shuklin@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:13.0) Gecko/20120509 Thunderbird/13.0
MIME-Version: 1.0
To: xen-devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [IDEA] xendhcp proposal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Good day.

During automated VM deploy I found some very annoying problem - network 
VM configuration. Classic DHCP is not very easy to manage in virtual 
environment (protection from stray DHCP-servers, problems with 
autoidentification).

Problems are:
* how to identificate VM?
* how to provide network configuration in native way for guest (e.g. 
support of mount order for network fs, if-up scripts and so on)
* how to reconfigure hosts 'on demand'? (even DHCP is not very 'on 
demand' beause of lease time).

Propose:

Store network configuration in domain part of xenstore, use xendhcp 
service to read those data from guest and acts like classic dhcp client.

Implementation detail:

1) Store data in DHCP-like way (option code - answer).
2) Subscribe for changes and reacts to it like we have lease expiration.
3) xendhcp should replace normal dhcp (may be even with conclict in 
packages with original dhcp client, and provide it functionality), mimic 
/sbin/dhclient functionality.

That allows to keep original network configuration for every 
distribution, just put 'dhcp' method for debian 'interfaces' (and same 
way for every other operation system).

What you think about this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 16:35:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 16:35:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUhCM-0000xu-7C; Wed, 16 May 2012 16:35:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <george.shuklin@gmail.com>) id 1SUhCK-0000xo-VB
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 16:35:37 +0000
Received: from [85.158.138.51:48362] by server-3.bemta-3.messagelabs.com id
	DE/09-04048-857D3BF4; Wed, 16 May 2012 16:35:36 +0000
X-Env-Sender: george.shuklin@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337186134!21129159!1
X-Originating-IP: [209.85.215.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2834 invoked from network); 16 May 2012 16:35:35 -0000
Received: from mail-lpp01m010-f43.google.com (HELO
	mail-lpp01m010-f43.google.com) (209.85.215.43)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 16:35:35 -0000
Received: by lahg1 with SMTP id g1so769772lah.30
	for <xen-devel@lists.xensource.com>;
	Wed, 16 May 2012 09:35:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject
	:content-type:content-transfer-encoding;
	bh=FhFO/P3EEG7sGGxsCtNQ1cOTpVqPgE3sVsLs92F+Wkg=;
	b=NrPZ+8D7auXY31t6Y6Ysg+ba5jcpTZryH2FmCCpMJnZrTPtPZb6tHRVmxXmcqgpa2+
	cW+lEL+LjY5nhl5knQ5K9YAuoZRk3MPKBVPwj0dC9vj5v4gK+yoWLKWHCZQN6RPMBLjV
	pkjcA4KG5ILIhN0hK1/NkvjLlYYh5AUp/BZxDEuQQpHN6kwioNX96Opgah24qhC8ngOZ
	Y7C/taD9Tyt0azibrwcy/1gUreg2YxYy/C+ct3wd108ZXX/xKuoOOTSTgEon+2SIk6DH
	IY5jatN/pM9lTcSyBRHMoqx8DpAq+g0m72vdvg/wXasEiKwuHc3LBOdeEZEVmepBM157
	trbQ==
Received: by 10.152.148.199 with SMTP id tu7mr3583484lab.43.1337186134035;
	Wed, 16 May 2012 09:35:34 -0700 (PDT)
Received: from [0.0.0.0] (desunote.ru. [95.161.2.76])
	by mx.google.com with ESMTPS id uc6sm3796936lbb.3.2012.05.16.09.35.29
	(version=SSLv3 cipher=OTHER); Wed, 16 May 2012 09:35:31 -0700 (PDT)
Message-ID: <4FB3D74F.50101@gmail.com>
Date: Wed, 16 May 2012 20:35:27 +0400
From: George Shuklin <george.shuklin@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:13.0) Gecko/20120509 Thunderbird/13.0
MIME-Version: 1.0
To: xen-devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [IDEA] xendhcp proposal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Good day.

During automated VM deploy I found some very annoying problem - network 
VM configuration. Classic DHCP is not very easy to manage in virtual 
environment (protection from stray DHCP-servers, problems with 
autoidentification).

Problems are:
* how to identificate VM?
* how to provide network configuration in native way for guest (e.g. 
support of mount order for network fs, if-up scripts and so on)
* how to reconfigure hosts 'on demand'? (even DHCP is not very 'on 
demand' beause of lease time).

Propose:

Store network configuration in domain part of xenstore, use xendhcp 
service to read those data from guest and acts like classic dhcp client.

Implementation detail:

1) Store data in DHCP-like way (option code - answer).
2) Subscribe for changes and reacts to it like we have lease expiration.
3) xendhcp should replace normal dhcp (may be even with conclict in 
packages with original dhcp client, and provide it functionality), mimic 
/sbin/dhclient functionality.

That allows to keep original network configuration for every 
distribution, just put 'dhcp' method for debian 'interfaces' (and same 
way for every other operation system).

What you think about this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 17:46:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 17:46:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUiII-0001ek-2r; Wed, 16 May 2012 17:45:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SUiIG-0001ef-FS
	for xen-devel@lists.xen.org; Wed, 16 May 2012 17:45:48 +0000
Received: from [85.158.143.35:39519] by server-1.bemta-4.messagelabs.com id
	CD/A4-00342-BC7E3BF4; Wed, 16 May 2012 17:45:47 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337190346!4731822!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17907 invoked from network); 16 May 2012 17:45:46 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-9.tower-21.messagelabs.com with SMTP;
	16 May 2012 17:45:46 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id E0A24C56157;
	Wed, 16 May 2012 18:45:44 +0100 (BST)
Date: Wed, 16 May 2012 18:45:44 +0100
From: Alex Bligh <alex@alex.org.uk>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <BF18AA8B28651A3D2455EF62@Ximines.local>
In-Reply-To: <4FB3C2F702000078000841A3@nat28.tlf.novell.com>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
	<20120516124424.GN2058@reaktio.net>
	<4FB3C2F702000078000841A3@nat28.tlf.novell.com>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Alex Bligh <alex@alex.org.uk>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SmFuLCBQYXNpLAoKLS1PbiAxNiBNYXkgMjAxMiAxNDowODozOSArMDEwMCBKYW4gQmV1bGljaCA8
SkJldWxpY2hAc3VzZS5jb20+IHdyb3RlOgoKPj4+PiBPbiAxNi4wNS4xMiBhdCAxNDo0NCwgUGFz
aSBLw6Rya2vDpGluZW48cGFzaWtAaWtpLmZpPiB3cm90ZToKPj4gU0xFUzExU1AxIGhhcyAyLjYu
MzIgWGVubGludXgga2VybmVsLCBhbmQgU0xFUzExU1AyIGhhcyAzLnggWGVubGludXgKPj4ga2Vy
bmVsLgo+Pgo+PiBKYW4gcHJvYmFibHkgY2FuIGNvbW1lbnQgaWYgdGhvc2UgKHNob3VsZC9taWdo
dCkgd29yayB3aXRoIG9sZCBYZW4gMy4zLngKPj4gaHlwZXJ2aXNvci4uCj4KPiBUaGV5IHNob3Vs
ZCwgYXMgbG9uZyBhcyB0aGV5J3JlIGJlaW5nIGNvbXBpbGVkIHdpdGggdGhlIHJpZ2h0IC5jb25m
aWcuCj4gQXMgZXZpZGVuY2UgZm9yIHRoaXMsIHRoZSAtZWMyIGZsYXZvciB3ZSBoYXZlIGluIFNM
RVMgcmVwb3J0ZWRseQo+IHdvcmtzIGZpbmUgb24gQW1hem9uJ3MgYXJjaGFpYyAzLjAueCBoeXBl
cnZpc29yLgouLi4KPiBodHRwOi8va2VybmVsLm9wZW5zdXNlLm9yZy9naXQvbWFzdGVyIChvZiBj
b3Vyc2Ugd2UncmUgYXQgMy40Cj4gbm93LCBidXQgdXNpbmcgdGhlIGhpc3RvcnkgeW91IHNob3Vs
ZCBiZSBhYmxlIHRvIGdldCBzb21ldGhpbmcKPiB1c2FibGUpLgoKRmFudGFzdGljIC0gdGhhbmsg
eW91LgoKLS0gCkFsZXggQmxpZ2gKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v
cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 16 17:46:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 17:46:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUiII-0001ek-2r; Wed, 16 May 2012 17:45:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SUiIG-0001ef-FS
	for xen-devel@lists.xen.org; Wed, 16 May 2012 17:45:48 +0000
Received: from [85.158.143.35:39519] by server-1.bemta-4.messagelabs.com id
	CD/A4-00342-BC7E3BF4; Wed, 16 May 2012 17:45:47 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337190346!4731822!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17907 invoked from network); 16 May 2012 17:45:46 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-9.tower-21.messagelabs.com with SMTP;
	16 May 2012 17:45:46 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id E0A24C56157;
	Wed, 16 May 2012 18:45:44 +0100 (BST)
Date: Wed, 16 May 2012 18:45:44 +0100
From: Alex Bligh <alex@alex.org.uk>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <BF18AA8B28651A3D2455EF62@Ximines.local>
In-Reply-To: <4FB3C2F702000078000841A3@nat28.tlf.novell.com>
References: <B0B28A92F7EF2BE7FB3E7452@nimrod.local>
	<alpine.DEB.2.00.1205161146440.26786@kaball-desktop>
	<20120516124424.GN2058@reaktio.net>
	<4FB3C2F702000078000841A3@nat28.tlf.novell.com>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Alex Bligh <alex@alex.org.uk>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 3.3.x on recent dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SmFuLCBQYXNpLAoKLS1PbiAxNiBNYXkgMjAxMiAxNDowODozOSArMDEwMCBKYW4gQmV1bGljaCA8
SkJldWxpY2hAc3VzZS5jb20+IHdyb3RlOgoKPj4+PiBPbiAxNi4wNS4xMiBhdCAxNDo0NCwgUGFz
aSBLw6Rya2vDpGluZW48cGFzaWtAaWtpLmZpPiB3cm90ZToKPj4gU0xFUzExU1AxIGhhcyAyLjYu
MzIgWGVubGludXgga2VybmVsLCBhbmQgU0xFUzExU1AyIGhhcyAzLnggWGVubGludXgKPj4ga2Vy
bmVsLgo+Pgo+PiBKYW4gcHJvYmFibHkgY2FuIGNvbW1lbnQgaWYgdGhvc2UgKHNob3VsZC9taWdo
dCkgd29yayB3aXRoIG9sZCBYZW4gMy4zLngKPj4gaHlwZXJ2aXNvci4uCj4KPiBUaGV5IHNob3Vs
ZCwgYXMgbG9uZyBhcyB0aGV5J3JlIGJlaW5nIGNvbXBpbGVkIHdpdGggdGhlIHJpZ2h0IC5jb25m
aWcuCj4gQXMgZXZpZGVuY2UgZm9yIHRoaXMsIHRoZSAtZWMyIGZsYXZvciB3ZSBoYXZlIGluIFNM
RVMgcmVwb3J0ZWRseQo+IHdvcmtzIGZpbmUgb24gQW1hem9uJ3MgYXJjaGFpYyAzLjAueCBoeXBl
cnZpc29yLgouLi4KPiBodHRwOi8va2VybmVsLm9wZW5zdXNlLm9yZy9naXQvbWFzdGVyIChvZiBj
b3Vyc2Ugd2UncmUgYXQgMy40Cj4gbm93LCBidXQgdXNpbmcgdGhlIGhpc3RvcnkgeW91IHNob3Vs
ZCBiZSBhYmxlIHRvIGdldCBzb21ldGhpbmcKPiB1c2FibGUpLgoKRmFudGFzdGljIC0gdGhhbmsg
eW91LgoKLS0gCkFsZXggQmxpZ2gKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v
cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 16 17:51:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 17:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUiMx-0001lP-Pf; Wed, 16 May 2012 17:50:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUiMw-0001lK-47
	for xen-devel@lists.xen.org; Wed, 16 May 2012 17:50:38 +0000
Received: from [85.158.143.99:52349] by server-2.bemta-4.messagelabs.com id
	7D/88-12211-DE8E3BF4; Wed, 16 May 2012 17:50:37 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337190626!23066912!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5640 invoked from network); 16 May 2012 17:50:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 17:50:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25247140"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 13:50:26 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 13:50:25 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUiMj-0000T9-9e;
	Wed, 16 May 2012 18:50:25 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Wed, 16 May 2012 18:50:10 +0100
Message-ID: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized, when the guest write to a
specific IO port.

Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/xen_platform.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..0214f37 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
 {
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
-        qdev_unplug(&(d->qdev), NULL);
+        /* Until qdev_free includes a call to object_unparent, we call it here
+         */
+        object_unparent(&d->qdev.parent_obj);
+        qdev_free(&d->qdev);
     }
 }
 
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 17:51:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 17:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUiMx-0001lP-Pf; Wed, 16 May 2012 17:50:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SUiMw-0001lK-47
	for xen-devel@lists.xen.org; Wed, 16 May 2012 17:50:38 +0000
Received: from [85.158.143.99:52349] by server-2.bemta-4.messagelabs.com id
	7D/88-12211-DE8E3BF4; Wed, 16 May 2012 17:50:37 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337190626!23066912!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5640 invoked from network); 16 May 2012 17:50:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 17:50:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330923600"; d="scan'208";a="25247140"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 13:50:26 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 16 May 2012 13:50:25 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SUiMj-0000T9-9e;
	Wed, 16 May 2012 18:50:25 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: QEMU-devel <qemu-devel@nongnu.org>
Date: Wed, 16 May 2012 18:50:10 +0100
Message-ID: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized, when the guest write to a
specific IO port.

Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/xen_platform.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..0214f37 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
 {
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
-        qdev_unplug(&(d->qdev), NULL);
+        /* Until qdev_free includes a call to object_unparent, we call it here
+         */
+        object_unparent(&d->qdev.parent_obj);
+        qdev_free(&d->qdev);
     }
 }
 
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 18:01:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 18:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUiWy-00020y-VU; Wed, 16 May 2012 18:01:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUiWy-00020t-6l
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 18:01:00 +0000
Received: from [85.158.139.83:12687] by server-12.bemta-5.messagelabs.com id
	3C/6B-01344-B5BE3BF4; Wed, 16 May 2012 18:00:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337191258!24825547!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9896 invoked from network); 16 May 2012 18:00:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 18:00:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12512270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 18:00:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 19:00:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUiWv-0002uR-DX;
	Wed, 16 May 2012 18:00:57 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUiWv-00052n-CR;
	Wed, 16 May 2012 19:00:57 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12885-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 19:00:57 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12885: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12885 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12885/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-boot            fail REGR. vs. 12795

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-sedf     15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 18:01:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 18:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUiWy-00020y-VU; Wed, 16 May 2012 18:01:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUiWy-00020t-6l
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 18:01:00 +0000
Received: from [85.158.139.83:12687] by server-12.bemta-5.messagelabs.com id
	3C/6B-01344-B5BE3BF4; Wed, 16 May 2012 18:00:59 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337191258!24825547!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9896 invoked from network); 16 May 2012 18:00:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 18:00:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12512270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 18:00:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 19:00:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUiWv-0002uR-DX;
	Wed, 16 May 2012 18:00:57 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUiWv-00052n-CR;
	Wed, 16 May 2012 19:00:57 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12885-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 19:00:57 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12885: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12885 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12885/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-boot            fail REGR. vs. 12795

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop                   fail   never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-sedf     15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 18:50:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 18:50:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUjIQ-0003MS-SN; Wed, 16 May 2012 18:50:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUjIP-0003MN-6E
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 18:50:01 +0000
Received: from [85.158.139.83:51472] by server-11.bemta-5.messagelabs.com id
	2E/AA-12959-6D6F3BF4; Wed, 16 May 2012 18:49:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337194197!28242377!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2456 invoked from network); 16 May 2012 18:49:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 18:49:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12512829"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 18:49:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 19:49:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUjIK-0003Al-Rb;
	Wed, 16 May 2012 18:49:56 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUjIK-0007zR-R2;
	Wed, 16 May 2012 19:49:56 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <E1SUjIK-0007zR-R2@woking.cam.xci-test.com>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 19:49:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, keir@xen.org, stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [xen-unstable bisection] complete
	test-amd64-amd64-xl-pcipt-intel
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

branch xen-unstable
xen branch xen-unstable
job test-amd64-amd64-xl-pcipt-intel
test debian-fixup

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  28dedda66ec5
  Bug not present: db6a951a4bbb


  changeset:   25346:28dedda66ec5
  user:        George Dunlap <george.dunlap@eu.citrix.com>
  date:        Tue May 15 16:28:15 2012 +0100
      
      libxl: Rename pci_list_assignable to pci_assignable_list
      
      ...to prepare for a consistent "pci_assignable_*" naming scheme.
      
      Also move the man page entry into the PCI PASS-THROUGH section, rather
      than the XEN HOST section.
      
      No functional changes.
      
      Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
      Acked-by: Ian Campbell <ian.campbell@citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      


For bisection revision-tuple graph see:
   http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.test-amd64-amd64-xl-pcipt-intel.debian-fixup.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Searching for failure / basis pass:
 12889 fail [host=gall-mite] / 12887 ok.
Failure / basis pass flights: 12889 / 12887
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
Latest a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 612a24c8c4f9
Basis pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 a3186b243e2d
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#a938a246d34912423c560f475ccf1ce0c71d9d00-a938a246d34912423c560f475ccf1ce0c71d9d00 git://xenbits.xen.org/staging/qemu-xen-unstable.git#7bde54662d45b0bbc2ee78c7a8bf2c97c6655445-7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7-fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 http://xenbits.xen.org/staging/xen-unstable.hg#a3186b243e2d-612a24c8c4f9
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
Loaded 16 nodes in revision graph
Searching for test results:
 12905 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12889 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 612a24c8c4f9
 12894 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 a3186b243e2d
 12895 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 612a24c8c4f9
 12896 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 0f3b1e13d6af
 12897 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12898 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
 12899 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12887 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 a3186b243e2d
 12900 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
 12901 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12902 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
Searching for interesting versions
 Result found: flight 12887 (pass), for basis pass
 Result found: flight 12889 (fail), for basis failure
 Repro found: flight 12894 (pass), for basis pass
 Repro found: flight 12895 (fail), for basis failure
 0 revisions at a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
No revisions left to test, checking graph state.
 Result found: flight 12898 (pass), for last pass
 Result found: flight 12899 (fail), for first failure
 Repro found: flight 12900 (pass), for last pass
 Repro found: flight 12901 (fail), for first failure
 Repro found: flight 12902 (pass), for last pass
 Repro found: flight 12905 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  28dedda66ec5
  Bug not present: db6a951a4bbb

pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found

  changeset:   25346:28dedda66ec5
  user:        George Dunlap <george.dunlap@eu.citrix.com>
  date:        Tue May 15 16:28:15 2012 +0100
      
      libxl: Rename pci_list_assignable to pci_assignable_list
      
      ...to prepare for a consistent "pci_assignable_*" naming scheme.
      
      Also move the man page entry into the PCI PASS-THROUGH section, rather
      than the XEN HOST section.
      
      No functional changes.
      
      Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
      Acked-by: Ian Campbell <ian.campbell@citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      

Revision graph left in /home/xc_osstest/results/bisect.xen-unstable.test-amd64-amd64-xl-pcipt-intel.debian-fixup.{dot,ps,png,html}.
----------------------------------------
12905: tolerable ALL FAIL

flight 12905 xen-unstable real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12905/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup         fail baseline untested


jobs:
 test-amd64-amd64-xl-pcipt-intel                              fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 18:50:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 18:50:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUjIQ-0003MS-SN; Wed, 16 May 2012 18:50:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUjIP-0003MN-6E
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 18:50:01 +0000
Received: from [85.158.139.83:51472] by server-11.bemta-5.messagelabs.com id
	2E/AA-12959-6D6F3BF4; Wed, 16 May 2012 18:49:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337194197!28242377!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2456 invoked from network); 16 May 2012 18:49:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 18:49:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12512829"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 18:49:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 19:49:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUjIK-0003Al-Rb;
	Wed, 16 May 2012 18:49:56 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUjIK-0007zR-R2;
	Wed, 16 May 2012 19:49:56 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <E1SUjIK-0007zR-R2@woking.cam.xci-test.com>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 19:49:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, keir@xen.org, stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [xen-unstable bisection] complete
	test-amd64-amd64-xl-pcipt-intel
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

branch xen-unstable
xen branch xen-unstable
job test-amd64-amd64-xl-pcipt-intel
test debian-fixup

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  28dedda66ec5
  Bug not present: db6a951a4bbb


  changeset:   25346:28dedda66ec5
  user:        George Dunlap <george.dunlap@eu.citrix.com>
  date:        Tue May 15 16:28:15 2012 +0100
      
      libxl: Rename pci_list_assignable to pci_assignable_list
      
      ...to prepare for a consistent "pci_assignable_*" naming scheme.
      
      Also move the man page entry into the PCI PASS-THROUGH section, rather
      than the XEN HOST section.
      
      No functional changes.
      
      Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
      Acked-by: Ian Campbell <ian.campbell@citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      


For bisection revision-tuple graph see:
   http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.test-amd64-amd64-xl-pcipt-intel.debian-fixup.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Searching for failure / basis pass:
 12889 fail [host=gall-mite] / 12887 ok.
Failure / basis pass flights: 12889 / 12887
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
Latest a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 612a24c8c4f9
Basis pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 a3186b243e2d
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#a938a246d34912423c560f475ccf1ce0c71d9d00-a938a246d34912423c560f475ccf1ce0c71d9d00 git://xenbits.xen.org/staging/qemu-xen-unstable.git#7bde54662d45b0bbc2ee78c7a8bf2c97c6655445-7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7-fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 http://xenbits.xen.org/staging/xen-unstable.hg#a3186b243e2d-612a24c8c4f9
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
Loaded 16 nodes in revision graph
Searching for test results:
 12905 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12889 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 612a24c8c4f9
 12894 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 a3186b243e2d
 12895 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 612a24c8c4f9
 12896 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 0f3b1e13d6af
 12897 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12898 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
 12899 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12887 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 a3186b243e2d
 12900 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
 12901 fail a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 28dedda66ec5
 12902 pass a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
Searching for interesting versions
 Result found: flight 12887 (pass), for basis pass
 Result found: flight 12889 (fail), for basis failure
 Repro found: flight 12894 (pass), for basis pass
 Repro found: flight 12895 (fail), for basis failure
 0 revisions at a938a246d34912423c560f475ccf1ce0c71d9d00 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 fcd11a4f9f279ee89686706fe1cedf36cf9a7ee7 db6a951a4bbb
No revisions left to test, checking graph state.
 Result found: flight 12898 (pass), for last pass
 Result found: flight 12899 (fail), for first failure
 Repro found: flight 12900 (pass), for last pass
 Repro found: flight 12901 (fail), for first failure
 Repro found: flight 12902 (pass), for last pass
 Repro found: flight 12905 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  28dedda66ec5
  Bug not present: db6a951a4bbb

pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found

  changeset:   25346:28dedda66ec5
  user:        George Dunlap <george.dunlap@eu.citrix.com>
  date:        Tue May 15 16:28:15 2012 +0100
      
      libxl: Rename pci_list_assignable to pci_assignable_list
      
      ...to prepare for a consistent "pci_assignable_*" naming scheme.
      
      Also move the man page entry into the PCI PASS-THROUGH section, rather
      than the XEN HOST section.
      
      No functional changes.
      
      Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
      Acked-by: Ian Campbell <ian.campbell@citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      

Revision graph left in /home/xc_osstest/results/bisect.xen-unstable.test-amd64-amd64-xl-pcipt-intel.debian-fixup.{dot,ps,png,html}.
----------------------------------------
12905: tolerable ALL FAIL

flight 12905 xen-unstable real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12905/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup         fail baseline untested


jobs:
 test-amd64-amd64-xl-pcipt-intel                              fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 19:10:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 19:10:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUjc6-0003aE-3m; Wed, 16 May 2012 19:10:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUjc5-0003a9-0s
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 19:10:21 +0000
Received: from [85.158.139.83:33901] by server-8.bemta-5.messagelabs.com id
	21/2E-26964-C9BF3BF4; Wed, 16 May 2012 19:10:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337195414!28093559!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17909 invoked from network); 16 May 2012 19:10:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 19:10:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12512996"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 19:10:14 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 20:10:14 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUjbx-0003HA-Ut;
	Wed, 16 May 2012 19:10:13 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUjbx-0006nz-ON;
	Wed, 16 May 2012 20:10:13 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12886-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 20:10:13 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12886: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12886 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12886/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12825

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  35248be669e7
baseline version:
 xen                  513ca342fd86

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=35248be669e7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing 35248be669e7
+ branch=xen-4.1-testing
+ revision=35248be669e7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r 35248be669e7 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 7 changesets with 18 changes to 16 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 19:10:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 19:10:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUjc6-0003aE-3m; Wed, 16 May 2012 19:10:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUjc5-0003a9-0s
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 19:10:21 +0000
Received: from [85.158.139.83:33901] by server-8.bemta-5.messagelabs.com id
	21/2E-26964-C9BF3BF4; Wed, 16 May 2012 19:10:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337195414!28093559!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17909 invoked from network); 16 May 2012 19:10:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 19:10:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12512996"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 19:10:14 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 20:10:14 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUjbx-0003HA-Ut;
	Wed, 16 May 2012 19:10:13 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUjbx-0006nz-ON;
	Wed, 16 May 2012 20:10:13 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12886-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 20:10:13 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12886: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12886 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12886/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12825

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  35248be669e7
baseline version:
 xen                  513ca342fd86

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=35248be669e7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing 35248be669e7
+ branch=xen-4.1-testing
+ revision=35248be669e7
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r 35248be669e7 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 7 changesets with 18 changes to 16 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 19:33:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 19:33:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUjxx-00048R-1D; Wed, 16 May 2012 19:32:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUjxv-00048M-PD
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 19:32:56 +0000
Received: from [85.158.143.99:61385] by server-2.bemta-4.messagelabs.com id
	80/23-12211-7E004BF4; Wed, 16 May 2012 19:32:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337196773!23076852!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28611 invoked from network); 16 May 2012 19:32:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 19:32:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12513236"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 19:32:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 20:32:22 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUjxN-0003OI-J3;
	Wed, 16 May 2012 19:32:21 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUjxN-000478-Fw;
	Wed, 16 May 2012 20:32:21 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12893-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 20:32:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12893: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12893 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12893/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install      fail pass in 12889
 test-i386-i386-xl             9 guest-start        fail in 12889 pass in 12893

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12889 never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 19:33:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 19:33:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUjxx-00048R-1D; Wed, 16 May 2012 19:32:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUjxv-00048M-PD
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 19:32:56 +0000
Received: from [85.158.143.99:61385] by server-2.bemta-4.messagelabs.com id
	80/23-12211-7E004BF4; Wed, 16 May 2012 19:32:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337196773!23076852!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28611 invoked from network); 16 May 2012 19:32:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 19:32:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12513236"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 19:32:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 20:32:22 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUjxN-0003OI-J3;
	Wed, 16 May 2012 19:32:21 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUjxN-000478-Fw;
	Wed, 16 May 2012 20:32:21 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12893-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 16 May 2012 20:32:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12893: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12893 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12893/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install      fail pass in 12889
 test-i386-i386-xl             9 guest-start        fail in 12889 pass in 12893

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12889 never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 20:40:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 20:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUl13-000517-2D; Wed, 16 May 2012 20:40:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUl11-00050z-3h
	for xen-devel@lists.xen.org; Wed, 16 May 2012 20:40:11 +0000
Received: from [85.158.143.99:20634] by server-2.bemta-4.messagelabs.com id
	78/29-12211-AA014BF4; Wed, 16 May 2012 20:40:10 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337200807!20830679!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30558 invoked from network); 16 May 2012 20:40:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 20:40:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12513766"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 20:40:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 21:40:05 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUl0v-0003kL-R5; Wed, 16 May 2012 20:40:05 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUl0v-0002N2-Q7;
	Wed, 16 May 2012 21:40:05 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20404.4261.794115.716972@mariner.uk.xensource.com>
Date: Wed, 16 May 2012 21:40:05 +0100
To: xen-devel@lists.xen.org
X-Mailer: VM 7.19 under Emacs 21.4.1
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] xl: track child processes for the benefit of
	libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Each time xl forks, it needs to record the pid, so that its exit
status can be preserved if it happens that libxl's event loop reaped
it.  Consequently we also have a new wrapper for waitpid, which in
that case returns the previously-reaped status.

When we get a console ready callback from libxl, check to see if we
have spawned but not reaped a previous console client, and if so reap
it now.  (This is necessary to prevent improper use of the xlchild
struct, but has the happy consequence of checking the exit status of
the first console client in the pygrub case.)

Refactor the two calls to libxl_ctx_alloc into a new function
xl_ctx_alloc which also sets the child reaped handler callback.

All of this has the effect of suppressing a message
   unknown child [nnnn] unexpected exited status zero
which would sometimes (depending on a race) appear with `xl create -c'
and pygrub.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Reported-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>

---
 tools/libxl/xl.c         |   80 ++++++++++++++++++++++++++++++++++++++-------
 tools/libxl/xl.h         |   29 +++++++++++++++-
 tools/libxl/xl_cmdimpl.c |   80 ++++++++++++++++++++++++++-------------------
 3 files changed, 140 insertions(+), 49 deletions(-)

diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..66499dd 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -102,22 +102,79 @@ void postfork(void)
     libxl_postfork_child_noexec(ctx); /* in case we don't exit/exec */
     ctx = 0;
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot reinit xl context after fork\n");
-        exit(-1);
-    }
+    xl_ctx_alloc();
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
-    pid_t pid;
+pid_t xl_fork(xlchild *ch) {
+    assert(!ch->pid);
+    ch->reaped = 0;
 
-    pid = fork();
-    if (pid == -1) {
+    ch->pid = fork();
+    if (ch->pid == -1) {
         perror("fork failed");
         exit(-1);
     }
 
-    return pid;
+    if (!ch->pid) {
+#define CHILD_FORGET(other) \
+        other.pid = 0;
+CHILD_LIST(CHILD_FORGET)
+    }
+
+    return ch->pid;
+}
+
+pid_t xl_waitpid(xlchild *child, int *status, int flags)
+{
+    pid_t got = child->pid;
+    assert(got);
+    if (child->reaped) {
+        *status = child->status;
+        child->pid = 0;
+        return got;
+    }
+    for (;;) {
+        got = waitpid(child->pid, status, flags);
+        if (got < 0 && errno == EINTR) continue;
+        if (got > 0) {
+            assert(got == child->pid);
+            child->pid = 0;
+        }
+        return got;
+    }
+}
+
+static int reaped_callback_child_check(xlchild *ch, pid_t got, int status)
+{
+    if (ch->pid != got)
+        return 0;
+    ch->reaped = 1;
+    ch->status = status;
+    return 1;
+}
+
+static int xl_reaped_callback(pid_t got, int status, void *user)
+{
+    assert(got);
+    return (
+#define CHILD_CHECK(ch) \
+            reaped_callback_child_check(&ch, got, status) ||
+CHILD_LIST(CHILD_CHECK)
+            0) ? 0 : ERROR_UNKNOWN_CHILD;
+}
+
+static const libxl_childproc_hooks childproc_hooks = {
+    .chldowner = libxl_sigchld_owner_libxl,
+    .reaped_callback = xl_reaped_callback,
+};
+
+void xl_ctx_alloc(void) {
+    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
+        fprintf(stderr, "cannot init xl context\n");
+        exit(1);
+    }
+
+    libxl_childproc_setmode(ctx, &childproc_hooks, 0);
 }
 
 int main(int argc, char **argv)
@@ -159,10 +216,7 @@ int main(int argc, char **argv)
     logger = xtl_createlogger_stdiostream(stderr, minmsglevel,  0);
     if (!logger) exit(1);
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot init xl context\n");
-        exit(1);
-    }
+    xl_ctx_alloc();
 
     /* Read global config file options */
     ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 5d0d504..a00309c 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -15,6 +15,8 @@
 #ifndef XL_H
 #define XL_H
 
+#include <assert.h>
+
 #include "xentoollog.h"
 
 struct cmd_spec {
@@ -105,8 +107,31 @@ struct cmd_spec *cmdtable_lookup(const char *s);
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
-void postfork(void);
+
+void xl_ctx_alloc(void);
+
+/* child processes */
+
+typedef struct {
+    /* every struct like this must be in XLCHILD_LIST */
+    pid_t pid; /* 0: not in use */
+    int reaped;
+    int status; /* valid iff pid==-1 */
+} xlchild;
+
+/* our child processes */
+#define CHILD_LIST(_)                           \
+    _(child_console)                            \
+    _(child_waitdaemon)                         \
+    _(migration_child)
+
+#define CHILD_DECLARE(ch) \
+extern xlchild ch;
+CHILD_LIST(CHILD_DECLARE);
+
+pid_t xl_fork(xlchild*); /* like fork, but prints and dies if it fails */
+void postfork(void); /* needed only if we aren't going to exec right away */
+pid_t xl_waitpid(xlchild*, int *status, int flags); /* handles EINTR */
 
 /* global options */
 extern int autoballoon;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 9f182c2..de1f2d8 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -17,7 +17,6 @@
 #include "libxl_osdeps.h"
 
 #include <stdio.h>
-#include <assert.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -66,6 +65,13 @@ int logfile = 2;
 /* every libxl action in xl uses this same libxl context */
 libxl_ctx *ctx;
 
+#define CHILD_DEFINE(ch) \
+xlchild ch;
+CHILD_LIST(CHILD_DEFINE);
+
+xlchild child_console;
+xlchild child_waitdaemon;
+
 /* when we operate on a domain, it is this one: */
 static uint32_t domid;
 static const char *common_domname;
@@ -1457,19 +1463,33 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
+static void console_child_report(void)
+{
+    if (child_console.pid) {
+        int status;
+        pid_t got = xl_waitpid(&child_console, &status, 0);
+        if (got < 0)
+            perror("xl: warning, failed to waitpid for console child");
+        else if (status)
+            libxl_report_child_exitstatus(ctx, XTL_ERROR, "console child",
+                                          child_console.pid, status);
+    }
+}
+
 static void autoconnect_console(libxl_ctx *ctx_ignored,
                                 libxl_event *ev, void *priv)
 {
-    pid_t *pid = priv;
     uint32_t bldomid = ev->domid;
 
     libxl_event_free(ctx, ev);
 
-    *pid = fork();
-    if (*pid < 0) {
+    console_child_report();
+
+    pid_t pid = xl_fork(&child_console);
+    if (pid < 0) {
         perror("unable to fork xenconsole");
         return;
-    } else if (*pid > 0)
+    } else if (pid > 0)
         return;
 
     postfork();
@@ -1538,7 +1558,6 @@ static int create_domain(struct domain_create *dom_info)
     int restore_fd = -1;
     int status = 0;
     const libxl_asyncprogress_how *autoconnect_console_how;
-    pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
     libxl_domain_config_init(&d_config);
@@ -1694,7 +1713,6 @@ start:
     libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
         autoconnect_console_how_buf.callback = autoconnect_console;
-        autoconnect_console_how_buf.for_callback = &child_console_pid;
         autoconnect_console_how = &autoconnect_console_how_buf;
     }else{
         autoconnect_console_how = 0;
@@ -1738,19 +1756,17 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork(&child_waitdaemon);
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
             for (;;) {
-                got_child = waitpid(child1, &status, 0);
+                got_child = xl_waitpid(&child_waitdaemon, &status, 0);
                 if (got_child == child1) break;
                 assert(got_child == -1);
-                if (errno != EINTR) {
-                    perror("failed to wait for daemonizing child");
-                    ret = ERROR_FAIL;
-                    goto out;
-                }
+                perror("failed to wait for daemonizing child");
+                ret = ERROR_FAIL;
+                goto out;
             }
             if (status) {
                 libxl_report_child_exitstatus(ctx, XTL_ERROR,
@@ -1911,10 +1927,7 @@ out:
 
     free(config_data);
 
-waitpid_out:
-    if (child_console_pid > 0 &&
-            waitpid(child_console_pid, &status, 0) < 0 && errno == EINTR)
-        goto waitpid_out;
+    console_child_report();
 
     if (deathw)
         libxl_evdisable_domain_death(ctx, deathw);
@@ -2692,31 +2705,30 @@ static int migrate_read_fixedmessage(int fd, const void *msg, int msgsz,
     return 0;
 }
 
-static void migration_child_report(pid_t migration_child, int recv_fd) {
-    pid_t child;
+static void migration_child_report(int recv_fd) {
+    pid_t child = migration_child.pid;
     int status, sr;
     struct timeval now, waituntil, timeout;
     static const struct timeval pollinterval = { 0, 1000 }; /* 1ms */
 
-    if (!migration_child) return;
+    if (!child) return;
 
     CHK_ERRNO( gettimeofday(&waituntil, 0) );
     waituntil.tv_sec += 2;
 
     for (;;) {
-        child = waitpid(migration_child, &status, WNOHANG);
+        child = xl_waitpid(&migration_child, &status, WNOHANG);
 
-        if (child == migration_child) {
+        if (child == migration_child.pid) {
             if (status)
                 libxl_report_child_exitstatus(ctx, XTL_INFO,
                                               "migration target process",
-                                              migration_child, status);
+                                              child, status);
             break;
         }
         if (child == -1) {
-            if (errno == EINTR) continue;
             fprintf(stderr, "wait for migration child [%ld] failed: %s\n",
-                    (long)migration_child, strerror(errno));
+                    (long)migration_child.pid, strerror(errno));
             break;
         }
         assert(child == 0);
@@ -2725,7 +2737,7 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
         if (timercmp(&now, &waituntil, >)) {
             fprintf(stderr, "migration child [%ld] not exiting, no longer"
                     " waiting (exit status will be unreported)\n",
-                    (long)migration_child);
+                    (long)migration_child.pid);
             break;
         }
         timersub(&waituntil, &now, &timeout);
@@ -2749,12 +2761,12 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
             if (errno != EINTR) {
                 fprintf(stderr, "migration child [%ld] exit wait select"
                         " failed unexpectedly: %s\n",
-                        (long)migration_child, strerror(errno));
+                        (long)migration_child.pid, strerror(errno));
                 break;
             }
         }
     }
-    migration_child = 0;
+    migration_child.pid = 0;
 }
 
 static void migrate_domain(const char *domain_spec, const char *rune,
@@ -2782,7 +2794,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork(&migration_child);
 
     if (!child) {
         dup2(sendpipe[0], 0);
@@ -2808,7 +2820,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
                                    "banner", rune);
     if (rc) {
         close(send_fd);
-        migration_child_report(child, recv_fd);
+        migration_child_report(recv_fd);
         exit(-rc);
     }
 
@@ -2905,13 +2917,13 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
  failed_suspend:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, failed to suspend at sender.\n");
     exit(-ERROR_FAIL);
 
  failed_resume:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, resuming at sender.\n");
     libxl_domain_resume(ctx, domid);
     exit(-ERROR_FAIL);
@@ -2926,7 +2938,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
  " responsibility to avoid that.  Sorry.\n");
 
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     exit(-ERROR_BADFAIL);
 }
 
-- 
tg: (95117b6..) t/xen/xl.event.fix.xlchildren (depends on: t/xen/xl.event.fix.console)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 20:40:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 20:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUl13-000517-2D; Wed, 16 May 2012 20:40:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUl11-00050z-3h
	for xen-devel@lists.xen.org; Wed, 16 May 2012 20:40:11 +0000
Received: from [85.158.143.99:20634] by server-2.bemta-4.messagelabs.com id
	78/29-12211-AA014BF4; Wed, 16 May 2012 20:40:10 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337200807!20830679!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI2NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30558 invoked from network); 16 May 2012 20:40:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	16 May 2012 20:40:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,604,1330905600"; d="scan'208";a="12513766"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 May 2012 20:40:06 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 16 May 2012 21:40:05 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUl0v-0003kL-R5; Wed, 16 May 2012 20:40:05 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUl0v-0002N2-Q7;
	Wed, 16 May 2012 21:40:05 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20404.4261.794115.716972@mariner.uk.xensource.com>
Date: Wed, 16 May 2012 21:40:05 +0100
To: xen-devel@lists.xen.org
X-Mailer: VM 7.19 under Emacs 21.4.1
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] xl: track child processes for the benefit of
	libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Each time xl forks, it needs to record the pid, so that its exit
status can be preserved if it happens that libxl's event loop reaped
it.  Consequently we also have a new wrapper for waitpid, which in
that case returns the previously-reaped status.

When we get a console ready callback from libxl, check to see if we
have spawned but not reaped a previous console client, and if so reap
it now.  (This is necessary to prevent improper use of the xlchild
struct, but has the happy consequence of checking the exit status of
the first console client in the pygrub case.)

Refactor the two calls to libxl_ctx_alloc into a new function
xl_ctx_alloc which also sets the child reaped handler callback.

All of this has the effect of suppressing a message
   unknown child [nnnn] unexpected exited status zero
which would sometimes (depending on a race) appear with `xl create -c'
and pygrub.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Reported-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>

---
 tools/libxl/xl.c         |   80 ++++++++++++++++++++++++++++++++++++++-------
 tools/libxl/xl.h         |   29 +++++++++++++++-
 tools/libxl/xl_cmdimpl.c |   80 ++++++++++++++++++++++++++-------------------
 3 files changed, 140 insertions(+), 49 deletions(-)

diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..66499dd 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -102,22 +102,79 @@ void postfork(void)
     libxl_postfork_child_noexec(ctx); /* in case we don't exit/exec */
     ctx = 0;
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot reinit xl context after fork\n");
-        exit(-1);
-    }
+    xl_ctx_alloc();
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
-    pid_t pid;
+pid_t xl_fork(xlchild *ch) {
+    assert(!ch->pid);
+    ch->reaped = 0;
 
-    pid = fork();
-    if (pid == -1) {
+    ch->pid = fork();
+    if (ch->pid == -1) {
         perror("fork failed");
         exit(-1);
     }
 
-    return pid;
+    if (!ch->pid) {
+#define CHILD_FORGET(other) \
+        other.pid = 0;
+CHILD_LIST(CHILD_FORGET)
+    }
+
+    return ch->pid;
+}
+
+pid_t xl_waitpid(xlchild *child, int *status, int flags)
+{
+    pid_t got = child->pid;
+    assert(got);
+    if (child->reaped) {
+        *status = child->status;
+        child->pid = 0;
+        return got;
+    }
+    for (;;) {
+        got = waitpid(child->pid, status, flags);
+        if (got < 0 && errno == EINTR) continue;
+        if (got > 0) {
+            assert(got == child->pid);
+            child->pid = 0;
+        }
+        return got;
+    }
+}
+
+static int reaped_callback_child_check(xlchild *ch, pid_t got, int status)
+{
+    if (ch->pid != got)
+        return 0;
+    ch->reaped = 1;
+    ch->status = status;
+    return 1;
+}
+
+static int xl_reaped_callback(pid_t got, int status, void *user)
+{
+    assert(got);
+    return (
+#define CHILD_CHECK(ch) \
+            reaped_callback_child_check(&ch, got, status) ||
+CHILD_LIST(CHILD_CHECK)
+            0) ? 0 : ERROR_UNKNOWN_CHILD;
+}
+
+static const libxl_childproc_hooks childproc_hooks = {
+    .chldowner = libxl_sigchld_owner_libxl,
+    .reaped_callback = xl_reaped_callback,
+};
+
+void xl_ctx_alloc(void) {
+    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
+        fprintf(stderr, "cannot init xl context\n");
+        exit(1);
+    }
+
+    libxl_childproc_setmode(ctx, &childproc_hooks, 0);
 }
 
 int main(int argc, char **argv)
@@ -159,10 +216,7 @@ int main(int argc, char **argv)
     logger = xtl_createlogger_stdiostream(stderr, minmsglevel,  0);
     if (!logger) exit(1);
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot init xl context\n");
-        exit(1);
-    }
+    xl_ctx_alloc();
 
     /* Read global config file options */
     ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 5d0d504..a00309c 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -15,6 +15,8 @@
 #ifndef XL_H
 #define XL_H
 
+#include <assert.h>
+
 #include "xentoollog.h"
 
 struct cmd_spec {
@@ -105,8 +107,31 @@ struct cmd_spec *cmdtable_lookup(const char *s);
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
-void postfork(void);
+
+void xl_ctx_alloc(void);
+
+/* child processes */
+
+typedef struct {
+    /* every struct like this must be in XLCHILD_LIST */
+    pid_t pid; /* 0: not in use */
+    int reaped;
+    int status; /* valid iff pid==-1 */
+} xlchild;
+
+/* our child processes */
+#define CHILD_LIST(_)                           \
+    _(child_console)                            \
+    _(child_waitdaemon)                         \
+    _(migration_child)
+
+#define CHILD_DECLARE(ch) \
+extern xlchild ch;
+CHILD_LIST(CHILD_DECLARE);
+
+pid_t xl_fork(xlchild*); /* like fork, but prints and dies if it fails */
+void postfork(void); /* needed only if we aren't going to exec right away */
+pid_t xl_waitpid(xlchild*, int *status, int flags); /* handles EINTR */
 
 /* global options */
 extern int autoballoon;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 9f182c2..de1f2d8 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -17,7 +17,6 @@
 #include "libxl_osdeps.h"
 
 #include <stdio.h>
-#include <assert.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -66,6 +65,13 @@ int logfile = 2;
 /* every libxl action in xl uses this same libxl context */
 libxl_ctx *ctx;
 
+#define CHILD_DEFINE(ch) \
+xlchild ch;
+CHILD_LIST(CHILD_DEFINE);
+
+xlchild child_console;
+xlchild child_waitdaemon;
+
 /* when we operate on a domain, it is this one: */
 static uint32_t domid;
 static const char *common_domname;
@@ -1457,19 +1463,33 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
+static void console_child_report(void)
+{
+    if (child_console.pid) {
+        int status;
+        pid_t got = xl_waitpid(&child_console, &status, 0);
+        if (got < 0)
+            perror("xl: warning, failed to waitpid for console child");
+        else if (status)
+            libxl_report_child_exitstatus(ctx, XTL_ERROR, "console child",
+                                          child_console.pid, status);
+    }
+}
+
 static void autoconnect_console(libxl_ctx *ctx_ignored,
                                 libxl_event *ev, void *priv)
 {
-    pid_t *pid = priv;
     uint32_t bldomid = ev->domid;
 
     libxl_event_free(ctx, ev);
 
-    *pid = fork();
-    if (*pid < 0) {
+    console_child_report();
+
+    pid_t pid = xl_fork(&child_console);
+    if (pid < 0) {
         perror("unable to fork xenconsole");
         return;
-    } else if (*pid > 0)
+    } else if (pid > 0)
         return;
 
     postfork();
@@ -1538,7 +1558,6 @@ static int create_domain(struct domain_create *dom_info)
     int restore_fd = -1;
     int status = 0;
     const libxl_asyncprogress_how *autoconnect_console_how;
-    pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
     libxl_domain_config_init(&d_config);
@@ -1694,7 +1713,6 @@ start:
     libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
         autoconnect_console_how_buf.callback = autoconnect_console;
-        autoconnect_console_how_buf.for_callback = &child_console_pid;
         autoconnect_console_how = &autoconnect_console_how_buf;
     }else{
         autoconnect_console_how = 0;
@@ -1738,19 +1756,17 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork(&child_waitdaemon);
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
             for (;;) {
-                got_child = waitpid(child1, &status, 0);
+                got_child = xl_waitpid(&child_waitdaemon, &status, 0);
                 if (got_child == child1) break;
                 assert(got_child == -1);
-                if (errno != EINTR) {
-                    perror("failed to wait for daemonizing child");
-                    ret = ERROR_FAIL;
-                    goto out;
-                }
+                perror("failed to wait for daemonizing child");
+                ret = ERROR_FAIL;
+                goto out;
             }
             if (status) {
                 libxl_report_child_exitstatus(ctx, XTL_ERROR,
@@ -1911,10 +1927,7 @@ out:
 
     free(config_data);
 
-waitpid_out:
-    if (child_console_pid > 0 &&
-            waitpid(child_console_pid, &status, 0) < 0 && errno == EINTR)
-        goto waitpid_out;
+    console_child_report();
 
     if (deathw)
         libxl_evdisable_domain_death(ctx, deathw);
@@ -2692,31 +2705,30 @@ static int migrate_read_fixedmessage(int fd, const void *msg, int msgsz,
     return 0;
 }
 
-static void migration_child_report(pid_t migration_child, int recv_fd) {
-    pid_t child;
+static void migration_child_report(int recv_fd) {
+    pid_t child = migration_child.pid;
     int status, sr;
     struct timeval now, waituntil, timeout;
     static const struct timeval pollinterval = { 0, 1000 }; /* 1ms */
 
-    if (!migration_child) return;
+    if (!child) return;
 
     CHK_ERRNO( gettimeofday(&waituntil, 0) );
     waituntil.tv_sec += 2;
 
     for (;;) {
-        child = waitpid(migration_child, &status, WNOHANG);
+        child = xl_waitpid(&migration_child, &status, WNOHANG);
 
-        if (child == migration_child) {
+        if (child == migration_child.pid) {
             if (status)
                 libxl_report_child_exitstatus(ctx, XTL_INFO,
                                               "migration target process",
-                                              migration_child, status);
+                                              child, status);
             break;
         }
         if (child == -1) {
-            if (errno == EINTR) continue;
             fprintf(stderr, "wait for migration child [%ld] failed: %s\n",
-                    (long)migration_child, strerror(errno));
+                    (long)migration_child.pid, strerror(errno));
             break;
         }
         assert(child == 0);
@@ -2725,7 +2737,7 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
         if (timercmp(&now, &waituntil, >)) {
             fprintf(stderr, "migration child [%ld] not exiting, no longer"
                     " waiting (exit status will be unreported)\n",
-                    (long)migration_child);
+                    (long)migration_child.pid);
             break;
         }
         timersub(&waituntil, &now, &timeout);
@@ -2749,12 +2761,12 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
             if (errno != EINTR) {
                 fprintf(stderr, "migration child [%ld] exit wait select"
                         " failed unexpectedly: %s\n",
-                        (long)migration_child, strerror(errno));
+                        (long)migration_child.pid, strerror(errno));
                 break;
             }
         }
     }
-    migration_child = 0;
+    migration_child.pid = 0;
 }
 
 static void migrate_domain(const char *domain_spec, const char *rune,
@@ -2782,7 +2794,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork(&migration_child);
 
     if (!child) {
         dup2(sendpipe[0], 0);
@@ -2808,7 +2820,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
                                    "banner", rune);
     if (rc) {
         close(send_fd);
-        migration_child_report(child, recv_fd);
+        migration_child_report(recv_fd);
         exit(-rc);
     }
 
@@ -2905,13 +2917,13 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
  failed_suspend:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, failed to suspend at sender.\n");
     exit(-ERROR_FAIL);
 
  failed_resume:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, resuming at sender.\n");
     libxl_domain_resume(ctx, domid);
     exit(-ERROR_FAIL);
@@ -2926,7 +2938,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
  " responsibility to avoid that.  Sorry.\n");
 
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     exit(-ERROR_BADFAIL);
 }
 
-- 
tg: (95117b6..) t/xen/xl.event.fix.xlchildren (depends on: t/xen/xl.event.fix.console)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 16 23:46:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 23:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUnuO-0006jw-QP; Wed, 16 May 2012 23:45:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SUnuN-0006jr-HX
	for xen-devel@lists.xen.org; Wed, 16 May 2012 23:45:31 +0000
Received: from [85.158.139.83:4767] by server-12.bemta-5.messagelabs.com id
	D5/F6-01344-A1C34BF4; Wed, 16 May 2012 23:45:30 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337211928!24859645!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MjgzNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6716 invoked from network); 16 May 2012 23:45:28 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 23:45:28 -0000
Received: from smtphost2.dur.ac.uk (smtphost2.dur.ac.uk [129.234.252.2])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4GNj2bi008044;
	Thu, 17 May 2012 00:45:06 +0100
Received: from vega-c.dur.ac.uk (vega-c.dur.ac.uk [129.234.250.135])
	by smtphost2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4GNikjJ019549
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 17 May 2012 00:44:46 +0100
Received: from vega-c.dur.ac.uk (localhost [127.0.0.1])
	by vega-c.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4GNikD7004248;
	Thu, 17 May 2012 00:44:46 +0100
Received: from localhost (dcl0may@localhost)
	by vega-c.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4GNijv7004244;
	Thu, 17 May 2012 00:44:46 +0100
Date: Thu, 17 May 2012 00:44:45 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337160904.27824.43.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-631309279-1337211886=:26049"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4GNj2bi008044
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-631309279-1337211886=:26049
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Wed, 16 May 2012, Ian Campbell wrote:

> On Wed, 2012-05-16 at 08:25 +0100, M A Young wrote:
>> On Wed, 16 May 2012, M A Young wrote:
>>
>>> Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are
>>> very big as it reads them into memory before writing them out again to
>>> temporary files (these can legitimately be big for example the initrd.img
>>> file in a Fedora 16 install is around 130MB ).
>>>
>>> This patch allows these files to be copied in one megabyte pieces, and if it
>>> sees any write problems it delets the files and exits. It also only reads up
>>> to the first megabyte of configurations files for grub etc. to avoid problems
>>> here as well (as it is a text file it should actually be much smaller).
>>>
>>> This issue was reported by Xinli Niu in the Fedora bug report
>>> https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference
>>> CVE-2012-2625 .
>>
>> I realized the first patch was flawed as I was potentially using a file
>> descriptor after I closed it. This is an untested correction.
>
> I think you might want a couple of closes on datafile in here. Otherwise
> it looks good to me (by inspection, I've not run it either).

I am attaching the third version of this patch. The datafile object 
doesn't have an explicit close so this patch uses del to clean it. I was 
also using unlink incorrectly which is now fixed.

I have tested it for basic functionality and also used pygrub directly to 
write to a very small file system and with this patch pygrub deletes the 
temporary files it creates if it runs out of file space.

 	Michael Young
--8323329-631309279-1337211886=:26049
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=pygrub.size.limits.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=pygrub.size.limits.patch

TWFrZSBweWdydWIgY29wZSBiZXR0ZXIgd2l0aCBiaWcgZmlsZXMgaW4gdGhl
IGd1ZXN0Lg0KT25seSByZWFkIHRoZSBmaXJzdCBtZWdhYnl0ZSBvZiBhIGNv
bmZpZ3VyYXRpb24gZmlsZSAoZ3J1YiBldGMuKQ0KUmVhZCB0aGUga2VybmVs
IGFuZCByYW1kaXNrIGZpbGVzIGZyb20gdGhlIGd1ZXN0IGluIG9uZSBtZWdh
Ynl0ZSBwaWVjZXMNCnNvIHB5Z3J1YiBkb2Vzbid0IGdyb3cgdG9vIGxhcmdl
IGlmIHRoZXkgYXJlIGxhcmdlLg0KSWYgdGhlcmUgYXJlIHByb2JsZW1zIHdy
aXRpbmcgdGhlIHRlbXBvcmFyeSBjb3BpZXMgb2YgdGhlIGtlcm5lbCBhbmQg
cmFtZGlzaw0KZmlsZXMgZGVsZXRlIHRoZW0gYW5kIGV4aXQuDQoNClNpZ25l
ZC1vZmYtYnk6IE1pY2hhZWwgWW91bmcgPG0uYS55b3VuZ0BkdXJoYW0uYWMu
dWs+DQoNCi0tLSB4ZW4tNC4yLjAvdG9vbHMvcHlncnViL3NyYy9weWdydWIu
b3JpZwkyMDEyLTA1LTEyIDE2OjQwOjQ4LjAwMDAwMDAwMCArMDEwMA0KKysr
IHhlbi00LjIuMC90b29scy9weWdydWIvc3JjL3B5Z3J1Yg0KQEAgLTI4LDYg
KzI4LDcgQEANCiBpbXBvcnQgZ3J1Yi5FeHRMaW51eENvbmYNCiANCiBQWUdS
VUJfVkVSID0gMC42DQorZnNfcmVhZF9tYXg9MTA0ODU3Ng0KIA0KIGRlZiBl
bmFibGVfY3Vyc29yKGlzb24pOg0KICAgICBpZiBpc29uOg0KQEAgLTQ0OCw3
ICs0NDksOCBAQA0KICAgICAgICAgaWYgc2VsZi5fX2RpY3RfXy5nZXQoJ2Nm
JywgTm9uZSkgaXMgTm9uZToNCiAgICAgICAgICAgICByYWlzZSBSdW50aW1l
RXJyb3IsICJjb3VsZG4ndCBmaW5kIGJvb3Rsb2FkZXIgY29uZmlnIGZpbGUg
aW4gdGhlIGltYWdlIHByb3ZpZGVkLiINCiAgICAgICAgIGYgPSBmcy5vcGVu
X2ZpbGUoc2VsZi5jZi5maWxlbmFtZSkNCi0gICAgICAgIGJ1ZiA9IGYucmVh
ZCgpDQorICAgICAgICAjIGxpbWl0IHJlYWQgc2l6ZSB0byBhdm9pZCBwYXRo
b2xvZ2ljYWwgY2FzZXMNCisgICAgICAgIGJ1ZiA9IGYucmVhZChmc19yZWFk
X21heCkNCiAgICAgICAgIGRlbCBmDQogICAgICAgICBzZWxmLmNmLnBhcnNl
KGJ1ZikNCiANCkBAIC04MjQsMjEgKzgyNiw0NiBAQA0KICAgICBpZiBub3Rf
cmVhbGx5Og0KICAgICAgICAgYm9vdGNmZ1sia2VybmVsIl0gPSAiPGtlcm5l
bDolcz4iICUgY2hvc2VuY2ZnWyJrZXJuZWwiXQ0KICAgICBlbHNlOg0KLSAg
ICAgICAgZGF0YSA9IGZzLm9wZW5fZmlsZShjaG9zZW5jZmdbImtlcm5lbCJd
KS5yZWFkKCkNCisgICAgICAgIGRhdGFmaWxlID0gZnMub3Blbl9maWxlKGNo
b3NlbmNmZ1sia2VybmVsIl0pDQogICAgICAgICAodGZkLCBib290Y2ZnWyJr
ZXJuZWwiXSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKHByZWZpeD0iYm9vdF9rZXJu
ZWwuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAg
ICBvcy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICBkYXRhb2ZmPTANCisg
ICAgICAgIGRhdGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCkNCisgICAg
ICAgIHdoaWxlIGxlbihkYXRhKT4wOg0KKyAgICAgICAgICAgIHRyeToNCisg
ICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQ0KKyAgICAgICAg
ICAgIGV4Y2VwdDoNCisgICAgICAgICAgICAgICAgcHJpbnQgImVycm9yIHdy
aXRpbmcgdGVtcG9yYXJ5IGNvcHkgb2Yga2VybmVsIg0KKyAgICAgICAgICAg
ICAgICBvcy5jbG9zZSh0ZmQpDQorICAgICAgICAgICAgICAgIG9zLnVubGlu
ayhib290Y2ZnWyJrZXJuZWwiXSkNCisgICAgICAgICAgICAgICAgc3lzLmV4
aXQoMSkNCisgICAgICAgICAgICBkYXRhb2ZmKz1sZW4oZGF0YSkNCisgICAg
ICAgICAgICBkYXRhPWRhdGFmaWxlLnJlYWQoZnNfcmVhZF9tYXgsZGF0YW9m
ZikNCiAgICAgICAgIG9zLmNsb3NlKHRmZCkNCisgICAgICAgIGRlbCBkYXRh
ZmlsZQ0KIA0KICAgICBpZiBjaG9zZW5jZmdbInJhbWRpc2siXToNCiAgICAg
ICAgIGlmIG5vdF9yZWFsbHk6DQogICAgICAgICAgICAgYm9vdGNmZ1sicmFt
ZGlzayJdID0gIjxyYW1kaXNrOiVzPiIgJSBjaG9zZW5jZmdbInJhbWRpc2si
XQ0KICAgICAgICAgZWxzZToNCi0gICAgICAgICAgICBkYXRhID0gZnMub3Bl
bl9maWxlKGNob3NlbmNmZ1sicmFtZGlzayJdLCkucmVhZCgpDQorICAgICAg
ICAgICAgZGF0YWZpbGUgPSBmcy5vcGVuX2ZpbGUoY2hvc2VuY2ZnWyJyYW1k
aXNrIl0sKQ0KICAgICAgICAgICAgICh0ZmQsIGJvb3RjZmdbInJhbWRpc2si
XSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKA0KICAgICAgICAgICAgICAgICBwcmVm
aXg9ImJvb3RfcmFtZGlzay4iLCBkaXI9b3V0cHV0X2RpcmVjdG9yeSkNCi0g
ICAgICAgICAgICBvcy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICAgICAg
ZGF0YW9mZj0wDQorICAgICAgICAgICAgZGF0YT1kYXRhZmlsZS5yZWFkKGZz
X3JlYWRfbWF4KQ0KKyAgICAgICAgICAgIHdoaWxlIGxlbihkYXRhKT4wOg0K
KyAgICAgICAgICAgICAgICB0cnk6DQorICAgICAgICAgICAgICAgICAgICBv
cy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICAgICAgICAgIGV4Y2VwdDoN
CisgICAgICAgICAgICAgICAgICAgIHByaW50ICJlcnJvciB3cml0aW5nIHRl
bXBvcmFyeSBjb3B5IG9mIHJhbWRpc2siDQorICAgICAgICAgICAgICAgICAg
ICBvcy5jbG9zZSh0ZmQpDQorICAgICAgICAgICAgICAgICAgICBvcy51bmxp
bmsoYm9vdGNmZ1sicmFtZGlzayJdKQ0KKyAgICAgICAgICAgICAgICAgICAg
b3MudW5saW5rKGJvb3RjZmdbImtlcm5lbCJdKQ0KKyAgICAgICAgICAgICAg
ICAgICAgc3lzLmV4aXQoMSkNCisgICAgICAgICAgICAgICAgZGF0YW9mZis9
bGVuKGRhdGEpDQorICAgICAgICAgICAgICAgIGRhdGE9ZGF0YWZpbGUucmVh
ZChmc19yZWFkX21heCxkYXRhb2ZmKQ0KICAgICAgICAgICAgIG9zLmNsb3Nl
KHRmZCkNCisgICAgICAgICAgICBkZWwgZGF0YWZpbGUNCiAgICAgZWxzZToN
CiAgICAgICAgIGluaXRyZCA9IE5vbmUNCiANCg==

--8323329-631309279-1337211886=:26049
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-631309279-1337211886=:26049--


From xen-devel-bounces@lists.xen.org Wed May 16 23:46:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 16 May 2012 23:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUnuO-0006jw-QP; Wed, 16 May 2012 23:45:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SUnuN-0006jr-HX
	for xen-devel@lists.xen.org; Wed, 16 May 2012 23:45:31 +0000
Received: from [85.158.139.83:4767] by server-12.bemta-5.messagelabs.com id
	D5/F6-01344-A1C34BF4; Wed, 16 May 2012 23:45:30 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337211928!24859645!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MjgzNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6716 invoked from network); 16 May 2012 23:45:28 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 23:45:28 -0000
Received: from smtphost2.dur.ac.uk (smtphost2.dur.ac.uk [129.234.252.2])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4GNj2bi008044;
	Thu, 17 May 2012 00:45:06 +0100
Received: from vega-c.dur.ac.uk (vega-c.dur.ac.uk [129.234.250.135])
	by smtphost2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4GNikjJ019549
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 17 May 2012 00:44:46 +0100
Received: from vega-c.dur.ac.uk (localhost [127.0.0.1])
	by vega-c.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4GNikD7004248;
	Thu, 17 May 2012 00:44:46 +0100
Received: from localhost (dcl0may@localhost)
	by vega-c.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4GNijv7004244;
	Thu, 17 May 2012 00:44:46 +0100
Date: Thu, 17 May 2012 00:44:45 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337160904.27824.43.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-631309279-1337211886=:26049"
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4GNj2bi008044
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-631309279-1337211886=:26049
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Wed, 16 May 2012, Ian Campbell wrote:

> On Wed, 2012-05-16 at 08:25 +0100, M A Young wrote:
>> On Wed, 16 May 2012, M A Young wrote:
>>
>>> Pygrub can use a lot of memory if the kernel or ramdisk files in a guest are
>>> very big as it reads them into memory before writing them out again to
>>> temporary files (these can legitimately be big for example the initrd.img
>>> file in a Fedora 16 install is around 130MB ).
>>>
>>> This patch allows these files to be copied in one megabyte pieces, and if it
>>> sees any write problems it delets the files and exits. It also only reads up
>>> to the first megabyte of configurations files for grub etc. to avoid problems
>>> here as well (as it is a text file it should actually be much smaller).
>>>
>>> This issue was reported by Xinli Niu in the Fedora bug report
>>> https://bugzilla.redhat.com/show_bug.cgi?id=818412 who got it a CVE reference
>>> CVE-2012-2625 .
>>
>> I realized the first patch was flawed as I was potentially using a file
>> descriptor after I closed it. This is an untested correction.
>
> I think you might want a couple of closes on datafile in here. Otherwise
> it looks good to me (by inspection, I've not run it either).

I am attaching the third version of this patch. The datafile object 
doesn't have an explicit close so this patch uses del to clean it. I was 
also using unlink incorrectly which is now fixed.

I have tested it for basic functionality and also used pygrub directly to 
write to a very small file system and with this patch pygrub deletes the 
temporary files it creates if it runs out of file space.

 	Michael Young
--8323329-631309279-1337211886=:26049
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=pygrub.size.limits.patch
Content-Transfer-Encoding: BASE64
Content-Description: 
Content-Disposition: attachment; filename=pygrub.size.limits.patch

TWFrZSBweWdydWIgY29wZSBiZXR0ZXIgd2l0aCBiaWcgZmlsZXMgaW4gdGhl
IGd1ZXN0Lg0KT25seSByZWFkIHRoZSBmaXJzdCBtZWdhYnl0ZSBvZiBhIGNv
bmZpZ3VyYXRpb24gZmlsZSAoZ3J1YiBldGMuKQ0KUmVhZCB0aGUga2VybmVs
IGFuZCByYW1kaXNrIGZpbGVzIGZyb20gdGhlIGd1ZXN0IGluIG9uZSBtZWdh
Ynl0ZSBwaWVjZXMNCnNvIHB5Z3J1YiBkb2Vzbid0IGdyb3cgdG9vIGxhcmdl
IGlmIHRoZXkgYXJlIGxhcmdlLg0KSWYgdGhlcmUgYXJlIHByb2JsZW1zIHdy
aXRpbmcgdGhlIHRlbXBvcmFyeSBjb3BpZXMgb2YgdGhlIGtlcm5lbCBhbmQg
cmFtZGlzaw0KZmlsZXMgZGVsZXRlIHRoZW0gYW5kIGV4aXQuDQoNClNpZ25l
ZC1vZmYtYnk6IE1pY2hhZWwgWW91bmcgPG0uYS55b3VuZ0BkdXJoYW0uYWMu
dWs+DQoNCi0tLSB4ZW4tNC4yLjAvdG9vbHMvcHlncnViL3NyYy9weWdydWIu
b3JpZwkyMDEyLTA1LTEyIDE2OjQwOjQ4LjAwMDAwMDAwMCArMDEwMA0KKysr
IHhlbi00LjIuMC90b29scy9weWdydWIvc3JjL3B5Z3J1Yg0KQEAgLTI4LDYg
KzI4LDcgQEANCiBpbXBvcnQgZ3J1Yi5FeHRMaW51eENvbmYNCiANCiBQWUdS
VUJfVkVSID0gMC42DQorZnNfcmVhZF9tYXg9MTA0ODU3Ng0KIA0KIGRlZiBl
bmFibGVfY3Vyc29yKGlzb24pOg0KICAgICBpZiBpc29uOg0KQEAgLTQ0OCw3
ICs0NDksOCBAQA0KICAgICAgICAgaWYgc2VsZi5fX2RpY3RfXy5nZXQoJ2Nm
JywgTm9uZSkgaXMgTm9uZToNCiAgICAgICAgICAgICByYWlzZSBSdW50aW1l
RXJyb3IsICJjb3VsZG4ndCBmaW5kIGJvb3Rsb2FkZXIgY29uZmlnIGZpbGUg
aW4gdGhlIGltYWdlIHByb3ZpZGVkLiINCiAgICAgICAgIGYgPSBmcy5vcGVu
X2ZpbGUoc2VsZi5jZi5maWxlbmFtZSkNCi0gICAgICAgIGJ1ZiA9IGYucmVh
ZCgpDQorICAgICAgICAjIGxpbWl0IHJlYWQgc2l6ZSB0byBhdm9pZCBwYXRo
b2xvZ2ljYWwgY2FzZXMNCisgICAgICAgIGJ1ZiA9IGYucmVhZChmc19yZWFk
X21heCkNCiAgICAgICAgIGRlbCBmDQogICAgICAgICBzZWxmLmNmLnBhcnNl
KGJ1ZikNCiANCkBAIC04MjQsMjEgKzgyNiw0NiBAQA0KICAgICBpZiBub3Rf
cmVhbGx5Og0KICAgICAgICAgYm9vdGNmZ1sia2VybmVsIl0gPSAiPGtlcm5l
bDolcz4iICUgY2hvc2VuY2ZnWyJrZXJuZWwiXQ0KICAgICBlbHNlOg0KLSAg
ICAgICAgZGF0YSA9IGZzLm9wZW5fZmlsZShjaG9zZW5jZmdbImtlcm5lbCJd
KS5yZWFkKCkNCisgICAgICAgIGRhdGFmaWxlID0gZnMub3Blbl9maWxlKGNo
b3NlbmNmZ1sia2VybmVsIl0pDQogICAgICAgICAodGZkLCBib290Y2ZnWyJr
ZXJuZWwiXSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKHByZWZpeD0iYm9vdF9rZXJu
ZWwuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlyPW91dHB1dF9kaXJlY3RvcnkpDQotICAgICAg
ICBvcy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICBkYXRhb2ZmPTANCisg
ICAgICAgIGRhdGE9ZGF0YWZpbGUucmVhZChmc19yZWFkX21heCkNCisgICAg
ICAgIHdoaWxlIGxlbihkYXRhKT4wOg0KKyAgICAgICAgICAgIHRyeToNCisg
ICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQ0KKyAgICAgICAg
ICAgIGV4Y2VwdDoNCisgICAgICAgICAgICAgICAgcHJpbnQgImVycm9yIHdy
aXRpbmcgdGVtcG9yYXJ5IGNvcHkgb2Yga2VybmVsIg0KKyAgICAgICAgICAg
ICAgICBvcy5jbG9zZSh0ZmQpDQorICAgICAgICAgICAgICAgIG9zLnVubGlu
ayhib290Y2ZnWyJrZXJuZWwiXSkNCisgICAgICAgICAgICAgICAgc3lzLmV4
aXQoMSkNCisgICAgICAgICAgICBkYXRhb2ZmKz1sZW4oZGF0YSkNCisgICAg
ICAgICAgICBkYXRhPWRhdGFmaWxlLnJlYWQoZnNfcmVhZF9tYXgsZGF0YW9m
ZikNCiAgICAgICAgIG9zLmNsb3NlKHRmZCkNCisgICAgICAgIGRlbCBkYXRh
ZmlsZQ0KIA0KICAgICBpZiBjaG9zZW5jZmdbInJhbWRpc2siXToNCiAgICAg
ICAgIGlmIG5vdF9yZWFsbHk6DQogICAgICAgICAgICAgYm9vdGNmZ1sicmFt
ZGlzayJdID0gIjxyYW1kaXNrOiVzPiIgJSBjaG9zZW5jZmdbInJhbWRpc2si
XQ0KICAgICAgICAgZWxzZToNCi0gICAgICAgICAgICBkYXRhID0gZnMub3Bl
bl9maWxlKGNob3NlbmNmZ1sicmFtZGlzayJdLCkucmVhZCgpDQorICAgICAg
ICAgICAgZGF0YWZpbGUgPSBmcy5vcGVuX2ZpbGUoY2hvc2VuY2ZnWyJyYW1k
aXNrIl0sKQ0KICAgICAgICAgICAgICh0ZmQsIGJvb3RjZmdbInJhbWRpc2si
XSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKA0KICAgICAgICAgICAgICAgICBwcmVm
aXg9ImJvb3RfcmFtZGlzay4iLCBkaXI9b3V0cHV0X2RpcmVjdG9yeSkNCi0g
ICAgICAgICAgICBvcy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICAgICAg
ZGF0YW9mZj0wDQorICAgICAgICAgICAgZGF0YT1kYXRhZmlsZS5yZWFkKGZz
X3JlYWRfbWF4KQ0KKyAgICAgICAgICAgIHdoaWxlIGxlbihkYXRhKT4wOg0K
KyAgICAgICAgICAgICAgICB0cnk6DQorICAgICAgICAgICAgICAgICAgICBv
cy53cml0ZSh0ZmQsIGRhdGEpDQorICAgICAgICAgICAgICAgIGV4Y2VwdDoN
CisgICAgICAgICAgICAgICAgICAgIHByaW50ICJlcnJvciB3cml0aW5nIHRl
bXBvcmFyeSBjb3B5IG9mIHJhbWRpc2siDQorICAgICAgICAgICAgICAgICAg
ICBvcy5jbG9zZSh0ZmQpDQorICAgICAgICAgICAgICAgICAgICBvcy51bmxp
bmsoYm9vdGNmZ1sicmFtZGlzayJdKQ0KKyAgICAgICAgICAgICAgICAgICAg
b3MudW5saW5rKGJvb3RjZmdbImtlcm5lbCJdKQ0KKyAgICAgICAgICAgICAg
ICAgICAgc3lzLmV4aXQoMSkNCisgICAgICAgICAgICAgICAgZGF0YW9mZis9
bGVuKGRhdGEpDQorICAgICAgICAgICAgICAgIGRhdGE9ZGF0YWZpbGUucmVh
ZChmc19yZWFkX21heCxkYXRhb2ZmKQ0KICAgICAgICAgICAgIG9zLmNsb3Nl
KHRmZCkNCisgICAgICAgICAgICBkZWwgZGF0YWZpbGUNCiAgICAgZWxzZToN
CiAgICAgICAgIGluaXRyZCA9IE5vbmUNCiANCg==

--8323329-631309279-1337211886=:26049
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-631309279-1337211886=:26049--


From xen-devel-bounces@lists.xen.org Thu May 17 01:20:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 01:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUpNq-00035w-Aa; Thu, 17 May 2012 01:20:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUpNo-00035r-Oc
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 01:20:01 +0000
Received: from [193.109.254.147:19465] by server-3.bemta-14.messagelabs.com id
	5F/08-23274-04254BF4; Thu, 17 May 2012 01:20:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337217599!2837636!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26349 invoked from network); 17 May 2012 01:19:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 01:19:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,605,1330905600"; d="scan'208";a="12517377"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 01:19:59 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 02:19:59 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUpNn-0005Dk-0t;
	Thu, 17 May 2012 01:19:59 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUpNm-0007vw-Ld;
	Thu, 17 May 2012 02:19:58 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12903-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 02:19:58 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12903: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12903 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12903/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-multivcpu  9 guest-start                 fail pass in 12885
 test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-boot     fail in 12885 pass in 12903

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12795

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop            fail in 12885 never pass
 test-amd64-amd64-xl-sedf     15 guest-stop            fail in 12885 never pass

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.0-testing
+ revision=c6eb61ed6f04
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.0-testing c6eb61ed6f04
+ branch=xen-4.0-testing
+ revision=c6eb61ed6f04
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.0-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.0-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.0-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.0-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.0-testing.git
++ : daily-cron.xen-4.0-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.0-testing.git
+ info_linux_tree xen-4.0-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.0-testing.hg
+ hg push -r c6eb61ed6f04 ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 13 changes to 13 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 01:20:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 01:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUpNq-00035w-Aa; Thu, 17 May 2012 01:20:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUpNo-00035r-Oc
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 01:20:01 +0000
Received: from [193.109.254.147:19465] by server-3.bemta-14.messagelabs.com id
	5F/08-23274-04254BF4; Thu, 17 May 2012 01:20:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337217599!2837636!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26349 invoked from network); 17 May 2012 01:19:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 01:19:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,605,1330905600"; d="scan'208";a="12517377"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 01:19:59 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 02:19:59 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUpNn-0005Dk-0t;
	Thu, 17 May 2012 01:19:59 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUpNm-0007vw-Ld;
	Thu, 17 May 2012 02:19:58 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12903-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 02:19:58 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.0-testing test] 12903: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12903 xen-4.0-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12903/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-multivcpu  9 guest-start                 fail pass in 12885
 test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-boot     fail in 12885 pass in 12903

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10   fail blocked in 12795

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl          15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-i386-i386-xl            15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-sedf-pin 15 guest-stop                   fail   never pass
 test-amd64-i386-xl           15 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64  8 guest-saverestore      fail never pass
 test-amd64-amd64-xl-win7-amd64  8 guest-saverestore            fail never pass
 test-amd64-i386-xl-win7-amd64  8 guest-saverestore            fail  never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail never pass
 test-amd64-i386-rhel6hvm-amd  7 redhat-install               fail   never pass
 test-amd64-i386-rhel6hvm-intel  7 redhat-install               fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install         fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-credit2   15 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win       7 windows-install              fail   never pass
 test-i386-i386-xl-win         7 windows-install              fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install          fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install          fail never pass
 test-amd64-amd64-xl-winxpsp3  7 windows-install              fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3  7 windows-install            fail never pass
 test-i386-i386-xl-winxpsp3    7 windows-install              fail   never pass
 test-amd64-i386-xl-win-vcpus1  7 windows-install              fail  never pass
 test-amd64-i386-xl-multivcpu 15 guest-stop            fail in 12885 never pass
 test-amd64-amd64-xl-sedf     15 guest-stop            fail in 12885 never pass

version targeted for testing:
 xen                  c6eb61ed6f04
baseline version:
 xen                  92c59e870d72

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            fail    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   fail    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.0-testing
+ revision=c6eb61ed6f04
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.0-testing c6eb61ed6f04
+ branch=xen-4.0-testing
+ revision=c6eb61ed6f04
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.0-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.0-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.0-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.0-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.0-testing.git
++ : daily-cron.xen-4.0-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.0-testing.git
+ info_linux_tree xen-4.0-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.0-testing.hg
+ hg push -r c6eb61ed6f04 ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.0-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 13 changes to 13 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 05:02:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 05:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUsql-0005Td-Cp; Thu, 17 May 2012 05:02:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SUsqj-0005TY-AO
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 05:02:05 +0000
Received: from [85.158.138.51:10176] by server-4.bemta-3.messagelabs.com id
	06/17-15341-C4684BF4; Thu, 17 May 2012 05:02:04 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337230920!23510229!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM2Nzg1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30190 invoked from network); 17 May 2012 05:02:03 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-174.messagelabs.com with SMTP;
	17 May 2012 05:02:03 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 16 May 2012 22:01:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="144224197"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 16 May 2012 22:01:58 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 16 May 2012 22:01:58 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 17 May 2012 13:01:58 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] libxl: use libxl__zcalloc instead calloc
Thread-Index: Ac0z6i9RihkHWjbVQtqwsE3/dIAK7A==
Date: Thu, 17 May 2012 05:01:57 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13AB5E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH] libxl: use libxl__zcalloc instead calloc
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

since libxl__zalloc never fails, it's better to use it.

Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>

diff -r 612a24c8c4f9 -r c8a01e966ec8 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Tue May 15 17:01:54 2012 +0100
+++ b/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
@@ -498,9 +498,7 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
         return ERROR_FAIL;

     sz = (max_cpus + 7) / 8;
-    cpumap->map = calloc(sz, sizeof(*cpumap->map));
-    if (!cpumap->map)
-        return ERROR_NOMEM;
+    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
     cpumap->size = sz;
     return 0;
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 05:02:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 05:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUsql-0005Td-Cp; Thu, 17 May 2012 05:02:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SUsqj-0005TY-AO
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 05:02:05 +0000
Received: from [85.158.138.51:10176] by server-4.bemta-3.messagelabs.com id
	06/17-15341-C4684BF4; Thu, 17 May 2012 05:02:04 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337230920!23510229!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM2Nzg1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30190 invoked from network); 17 May 2012 05:02:03 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-174.messagelabs.com with SMTP;
	17 May 2012 05:02:03 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 16 May 2012 22:01:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="144224197"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 16 May 2012 22:01:58 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 16 May 2012 22:01:58 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 17 May 2012 13:01:58 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] libxl: use libxl__zcalloc instead calloc
Thread-Index: Ac0z6i9RihkHWjbVQtqwsE3/dIAK7A==
Date: Thu, 17 May 2012 05:01:57 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13AB5E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH] libxl: use libxl__zcalloc instead calloc
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

since libxl__zalloc never fails, it's better to use it.

Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>

diff -r 612a24c8c4f9 -r c8a01e966ec8 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Tue May 15 17:01:54 2012 +0100
+++ b/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
@@ -498,9 +498,7 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
         return ERROR_FAIL;

     sz = (max_cpus + 7) / 8;
-    cpumap->map = calloc(sz, sizeof(*cpumap->map));
-    if (!cpumap->map)
-        return ERROR_NOMEM;
+    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
     cpumap->size = sz;
     return 0;
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 05:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 05:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUsrC-0005UM-PM; Thu, 17 May 2012 05:02:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SUsrB-0005UG-QP
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 05:02:34 +0000
Received: from [85.158.138.51:5272] by server-1.bemta-3.messagelabs.com id
	B1/C8-11491-76684BF4; Thu, 17 May 2012 05:02:31 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337230949!19512682!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgwMTk2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16376 invoked from network); 17 May 2012 05:02:30 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-6.tower-174.messagelabs.com with SMTP;
	17 May 2012 05:02:30 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 16 May 2012 22:02:28 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="144224446"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 16 May 2012 22:02:28 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 16 May 2012 22:02:28 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 17 May 2012 13:02:26 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH v2 ]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0z6j9YZKAt/ZXRTK++3xvN01iiBA==
Date: Thu, 17 May 2012 05:02:26 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>

diff -r c8a01e966ec8 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_create.c        Thu May 17 13:01:26 2012 +0800
@@ -142,8 +142,11 @@ int libxl__domain_build_info_setdefault(

     if (!b_info->max_vcpus)
         b_info->max_vcpus = 1;
-    if (!b_info->cur_vcpus)
-        b_info->cur_vcpus = 1;
+    if (!b_info->avail_vcpus.size) {
+        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
+            return ERROR_NOMEM;
+        libxl_cpumap_set(&b_info->avail_vcpus, 0);
+    }

     if (!b_info->cpumap.size) {
         if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
diff -r c8a01e966ec8 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c    Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_dm.c    Thu May 17 13:01:26 2012 +0800
@@ -200,10 +200,19 @@ static char ** libxl__build_device_model
                               libxl__sprintf(gc, "%d", b_info->max_vcpus),
                               NULL);
         }
-        if (b_info->cur_vcpus) {
+        if (b_info->avail_vcpus.size) {
+            int nr_set_cpus = 0;
+            char *s;
+
+            nr_set_cpus = libxl_cpumap_count_set(
+                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));
+
+            s = libxl_cpumap_to_hex_string(
+                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));
             flexarray_vappend(dm_args, "-vcpu_avail",
-                              libxl__sprintf(gc, "0x%x", b_info->cur_vcpus),
+                              libxl__sprintf(gc, "0x%s", s),
                               NULL);
+            free(s);
         }
         for (i = 0; i < num_vifs; i++) {
             if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) {
@@ -441,11 +450,15 @@ static char ** libxl__build_device_model
         }
         if (b_info->max_vcpus > 1) {
             flexarray_append(dm_args, "-smp");
-            if (b_info->cur_vcpus)
+            if (b_info->avail_vcpus.size) {
+                int nr_set_cpus = 0;
+                nr_set_cpus = libxl_cpumap_count_set(
+                        &(((libxl_domain_build_info *)b_info)->avail_vcpus));
+
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d,maxcpus=%d",
                                                          b_info->max_vcpus,
-                                                         b_info->cur_vcpus));
-            else
+                                                         nr_set_cpus));
+            } else
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d",
                                                          b_info->max_vcpus));
         }
diff -r c8a01e966ec8 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c   Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_dom.c   Thu May 17 13:01:26 2012 +0800
@@ -195,7 +195,8 @@ int libxl__build_post(libxl__gc *gc, uin
     ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
     for (i = 0; i < info->max_vcpus; i++) {
         ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
-        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
+        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
+                            && !libxl_cpumap_test(&info->avail_vcpus, i))
                             ? "offline" : "online";
     }

@@ -346,7 +347,7 @@ static int hvm_build_set_params(xc_inter
     va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET);
     va_hvm->apic_mode = libxl_defbool_val(info->u.hvm.apic);
     va_hvm->nr_vcpus = info->max_vcpus;
-    memcpy(va_hvm->vcpu_online, &info->cur_vcpus, sizeof(info->cur_vcpus));
+    memcpy(va_hvm->vcpu_online, info->avail_vcpus.map, info->avail_vcpus.size);
     for (i = 0, sum = 0; i < va_hvm->length; i++)
         sum += ((uint8_t *) va_hvm)[i];
     va_hvm->checksum -= sum;
diff -r c8a01e966ec8 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_types.idl       Thu May 17 13:01:26 2012 +0800
@@ -242,7 +242,7 @@ libxl_sched_params = Struct("sched_param
 # libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
-    ("cur_vcpus",       integer),
+    ("avail_vcpus",     libxl_cpumap),
     ("cpumap",          libxl_cpumap),
     ("tsc_mode",        libxl_tsc_mode),
     ("max_memkb",       MemKB),
diff -r c8a01e966ec8 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_utils.c Thu May 17 13:01:26 2012 +0800
@@ -503,6 +503,19 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
     return 0;
 }

+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
+{
+    int sz;
+
+    if (max_cpus == 0)
+        return ERROR_FAIL;
+
+    sz = (max_cpus + 7) / 8;
+    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
+    cpumap->size = sz;
+    return 0;
+}
+
 void libxl_cpumap_dispose(libxl_cpumap *map)
 {
     free(map->map);
@@ -529,6 +542,29 @@ void libxl_cpumap_reset(libxl_cpumap *cp
     cpumap->map[cpu / 8] &= ~(1 << (cpu & 7));
 }

+int libxl_cpumap_count_set(libxl_cpumap *cpumap)
+{
+    int i, nr_set_cpus = 0;
+    libxl_for_each_set_cpu(i, *cpumap)
+        nr_set_cpus++;
+
+    return nr_set_cpus;
+}
+
+void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap)
+{
+    int i = cpumap->size;
+    uint8_t *p = libxl__zalloc(NULL, cpumap->size * 2 + 1);
+    uint8_t *q = p;
+    while(--i >= 0) {
+        fprintf(stderr,"i:%d, p :%p, map[%d]: %x\n", i, p, i, cpumap->map[i]);
+        sprintf((char *)p, "%02x", cpumap->map[i]);
+        p += 2;
+    }
+    *p = '\0';
+    return q;
+}
+
 int libxl_get_max_cpus(libxl_ctx *ctx)
 {
     return xc_get_max_cpus(ctx->xch);
diff -r c8a01e966ec8 tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_utils.h Thu May 17 13:01:26 2012 +0800
@@ -64,9 +64,12 @@ int libxl_vdev_to_device_disk(libxl_ctx
                                libxl_device_disk *disk);

 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
 int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
+int libxl_cpumap_count_set(libxl_cpumap *cpumap);
+void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap);
 static inline void libxl_cpumap_set_any(libxl_cpumap *cpumap)
 {
     memset(cpumap->map, -1, cpumap->size);
diff -r c8a01e966ec8 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/xl_cmdimpl.c  Thu May 17 13:01:26 2012 +0800
@@ -647,7 +647,14 @@ static void parse_config_data(const char

     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
-        b_info->cur_vcpus = (1 << l) - 1;
+
+        if (libxl_cpumap_alloc_size(ctx, &b_info->avail_vcpus, l)) {
+            fprintf(stderr, "Unable to allocate cpumap\n");
+            exit(1);
+        }
+        libxl_cpumap_set_none(&b_info->avail_vcpus);
+        while (l-- > 0)
+            libxl_cpumap_set((&b_info->avail_vcpus), l);
     }

     if (!xlu_cfg_get_long (config, "maxvcpus", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 05:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 05:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUsrC-0005UM-PM; Thu, 17 May 2012 05:02:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SUsrB-0005UG-QP
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 05:02:34 +0000
Received: from [85.158.138.51:5272] by server-1.bemta-3.messagelabs.com id
	B1/C8-11491-76684BF4; Thu, 17 May 2012 05:02:31 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337230949!19512682!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgwMTk2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16376 invoked from network); 17 May 2012 05:02:30 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-6.tower-174.messagelabs.com with SMTP;
	17 May 2012 05:02:30 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 16 May 2012 22:02:28 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="144224446"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 16 May 2012 22:02:28 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 16 May 2012 22:02:28 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 17 May 2012 13:02:26 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH v2 ]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0z6j9YZKAt/ZXRTK++3xvN01iiBA==
Date: Thu, 17 May 2012 05:02:26 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>

diff -r c8a01e966ec8 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_create.c        Thu May 17 13:01:26 2012 +0800
@@ -142,8 +142,11 @@ int libxl__domain_build_info_setdefault(

     if (!b_info->max_vcpus)
         b_info->max_vcpus = 1;
-    if (!b_info->cur_vcpus)
-        b_info->cur_vcpus = 1;
+    if (!b_info->avail_vcpus.size) {
+        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
+            return ERROR_NOMEM;
+        libxl_cpumap_set(&b_info->avail_vcpus, 0);
+    }

     if (!b_info->cpumap.size) {
         if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
diff -r c8a01e966ec8 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c    Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_dm.c    Thu May 17 13:01:26 2012 +0800
@@ -200,10 +200,19 @@ static char ** libxl__build_device_model
                               libxl__sprintf(gc, "%d", b_info->max_vcpus),
                               NULL);
         }
-        if (b_info->cur_vcpus) {
+        if (b_info->avail_vcpus.size) {
+            int nr_set_cpus = 0;
+            char *s;
+
+            nr_set_cpus = libxl_cpumap_count_set(
+                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));
+
+            s = libxl_cpumap_to_hex_string(
+                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));
             flexarray_vappend(dm_args, "-vcpu_avail",
-                              libxl__sprintf(gc, "0x%x", b_info->cur_vcpus),
+                              libxl__sprintf(gc, "0x%s", s),
                               NULL);
+            free(s);
         }
         for (i = 0; i < num_vifs; i++) {
             if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) {
@@ -441,11 +450,15 @@ static char ** libxl__build_device_model
         }
         if (b_info->max_vcpus > 1) {
             flexarray_append(dm_args, "-smp");
-            if (b_info->cur_vcpus)
+            if (b_info->avail_vcpus.size) {
+                int nr_set_cpus = 0;
+                nr_set_cpus = libxl_cpumap_count_set(
+                        &(((libxl_domain_build_info *)b_info)->avail_vcpus));
+
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d,maxcpus=%d",
                                                          b_info->max_vcpus,
-                                                         b_info->cur_vcpus));
-            else
+                                                         nr_set_cpus));
+            } else
                 flexarray_append(dm_args, libxl__sprintf(gc, "%d",
                                                          b_info->max_vcpus));
         }
diff -r c8a01e966ec8 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c   Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_dom.c   Thu May 17 13:01:26 2012 +0800
@@ -195,7 +195,8 @@ int libxl__build_post(libxl__gc *gc, uin
     ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
     for (i = 0; i < info->max_vcpus; i++) {
         ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
-        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
+        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
+                            && !libxl_cpumap_test(&info->avail_vcpus, i))
                             ? "offline" : "online";
     }

@@ -346,7 +347,7 @@ static int hvm_build_set_params(xc_inter
     va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET);
     va_hvm->apic_mode = libxl_defbool_val(info->u.hvm.apic);
     va_hvm->nr_vcpus = info->max_vcpus;
-    memcpy(va_hvm->vcpu_online, &info->cur_vcpus, sizeof(info->cur_vcpus));
+    memcpy(va_hvm->vcpu_online, info->avail_vcpus.map, info->avail_vcpus.size);
     for (i = 0, sum = 0; i < va_hvm->length; i++)
         sum += ((uint8_t *) va_hvm)[i];
     va_hvm->checksum -= sum;
diff -r c8a01e966ec8 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_types.idl       Thu May 17 13:01:26 2012 +0800
@@ -242,7 +242,7 @@ libxl_sched_params = Struct("sched_param
 # libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
-    ("cur_vcpus",       integer),
+    ("avail_vcpus",     libxl_cpumap),
     ("cpumap",          libxl_cpumap),
     ("tsc_mode",        libxl_tsc_mode),
     ("max_memkb",       MemKB),
diff -r c8a01e966ec8 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_utils.c Thu May 17 13:01:26 2012 +0800
@@ -503,6 +503,19 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
     return 0;
 }

+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
+{
+    int sz;
+
+    if (max_cpus == 0)
+        return ERROR_FAIL;
+
+    sz = (max_cpus + 7) / 8;
+    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
+    cpumap->size = sz;
+    return 0;
+}
+
 void libxl_cpumap_dispose(libxl_cpumap *map)
 {
     free(map->map);
@@ -529,6 +542,29 @@ void libxl_cpumap_reset(libxl_cpumap *cp
     cpumap->map[cpu / 8] &= ~(1 << (cpu & 7));
 }

+int libxl_cpumap_count_set(libxl_cpumap *cpumap)
+{
+    int i, nr_set_cpus = 0;
+    libxl_for_each_set_cpu(i, *cpumap)
+        nr_set_cpus++;
+
+    return nr_set_cpus;
+}
+
+void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap)
+{
+    int i = cpumap->size;
+    uint8_t *p = libxl__zalloc(NULL, cpumap->size * 2 + 1);
+    uint8_t *q = p;
+    while(--i >= 0) {
+        fprintf(stderr,"i:%d, p :%p, map[%d]: %x\n", i, p, i, cpumap->map[i]);
+        sprintf((char *)p, "%02x", cpumap->map[i]);
+        p += 2;
+    }
+    *p = '\0';
+    return q;
+}
+
 int libxl_get_max_cpus(libxl_ctx *ctx)
 {
     return xc_get_max_cpus(ctx->xch);
diff -r c8a01e966ec8 tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/libxl_utils.h Thu May 17 13:01:26 2012 +0800
@@ -64,9 +64,12 @@ int libxl_vdev_to_device_disk(libxl_ctx
                                libxl_device_disk *disk);

 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
 int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
+int libxl_cpumap_count_set(libxl_cpumap *cpumap);
+void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap);
 static inline void libxl_cpumap_set_any(libxl_cpumap *cpumap)
 {
     memset(cpumap->map, -1, cpumap->size);
diff -r c8a01e966ec8 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Thu May 17 12:59:49 2012 +0800
+++ b/tools/libxl/xl_cmdimpl.c  Thu May 17 13:01:26 2012 +0800
@@ -647,7 +647,14 @@ static void parse_config_data(const char

     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
-        b_info->cur_vcpus = (1 << l) - 1;
+
+        if (libxl_cpumap_alloc_size(ctx, &b_info->avail_vcpus, l)) {
+            fprintf(stderr, "Unable to allocate cpumap\n");
+            exit(1);
+        }
+        libxl_cpumap_set_none(&b_info->avail_vcpus);
+        while (l-- > 0)
+            libxl_cpumap_set((&b_info->avail_vcpus), l);
     }

     if (!xlu_cfg_get_long (config, "maxvcpus", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 05:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 05:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUtXc-0005zA-8s; Thu, 17 May 2012 05:46:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUtXb-0005z5-4i
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 05:46:23 +0000
Received: from [85.158.138.51:41348] by server-6.bemta-3.messagelabs.com id
	96/1B-05145-EA094BF4; Thu, 17 May 2012 05:46:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337233581!23515157!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20403 invoked from network); 17 May 2012 05:46:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 05:46:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,607,1330905600"; d="scan'208";a="12521158"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 05:46:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 06:46:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUtXY-0006eu-Dp;
	Thu, 17 May 2012 05:46:20 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUtXY-0001Ug-3c;
	Thu, 17 May 2012 06:46:20 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12907-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 06:46:20 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12907: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12907 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12907/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail like 12860

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 05:46:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 05:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUtXc-0005zA-8s; Thu, 17 May 2012 05:46:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUtXb-0005z5-4i
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 05:46:23 +0000
Received: from [85.158.138.51:41348] by server-6.bemta-3.messagelabs.com id
	96/1B-05145-EA094BF4; Thu, 17 May 2012 05:46:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337233581!23515157!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20403 invoked from network); 17 May 2012 05:46:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 05:46:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,607,1330905600"; d="scan'208";a="12521158"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 05:46:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 06:46:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUtXY-0006eu-Dp;
	Thu, 17 May 2012 05:46:20 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUtXY-0001Ug-3c;
	Thu, 17 May 2012 06:46:20 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12907-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 06:46:20 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12907: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12907 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12907/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail like 12860

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 07:44:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 07:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUvNe-0007jW-Ur; Thu, 17 May 2012 07:44:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUvNd-0007jQ-OD
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 07:44:13 +0000
Received: from [85.158.139.83:48224] by server-10.bemta-5.messagelabs.com id
	4B/1F-08260-C4CA4BF4; Thu, 17 May 2012 07:44:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337240652!17587613!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15300 invoked from network); 17 May 2012 07:44:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 07:44:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,607,1330905600"; d="scan'208";a="12523105"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 07:44:10 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:44:10 +0100
Message-ID: <1337240649.3891.76.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen.org" <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 08:44:09 +0100
In-Reply-To: <osstest-12885-mainreport@xen.org>
References: <osstest-12885-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-4.0-testing test] 12885: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 19:00 +0100, xen.org wrote:
> flight 12885 xen-4.0-testing real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12885/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-boot            fail REGR. vs. 12795

qemuu in 4.0 testing? I don't know how that can have passed ;-)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 07:44:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 07:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUvNe-0007jW-Ur; Thu, 17 May 2012 07:44:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUvNd-0007jQ-OD
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 07:44:13 +0000
Received: from [85.158.139.83:48224] by server-10.bemta-5.messagelabs.com id
	4B/1F-08260-C4CA4BF4; Thu, 17 May 2012 07:44:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337240652!17587613!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15300 invoked from network); 17 May 2012 07:44:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 07:44:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,607,1330905600"; d="scan'208";a="12523105"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 07:44:10 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:44:10 +0100
Message-ID: <1337240649.3891.76.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen.org" <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 08:44:09 +0100
In-Reply-To: <osstest-12885-mainreport@xen.org>
References: <osstest-12885-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-4.0-testing test] 12885: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 19:00 +0100, xen.org wrote:
> flight 12885 xen-4.0-testing real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12885/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-boot            fail REGR. vs. 12795

qemuu in 4.0 testing? I don't know how that can have passed ;-)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 07:58:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 07:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUvb6-00080s-9W; Thu, 17 May 2012 07:58:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vase@selfip.ru>) id 1SUvb4-00080n-Et
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 07:58:06 +0000
Received: from [85.158.143.35:15190] by server-2.bemta-4.messagelabs.com id
	69/DB-12211-D8FA4BF4; Thu, 17 May 2012 07:58:05 +0000
X-Env-Sender: vase@selfip.ru
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337241484!15819158!1
X-Originating-IP: [74.125.83.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_TEST_2,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1473 invoked from network); 17 May 2012 07:58:04 -0000
Received: from mail-ee0-f43.google.com (HELO mail-ee0-f43.google.com)
	(74.125.83.43)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 07:58:04 -0000
Received: by eeke50 with SMTP id e50so634475eek.30
	for <xen-devel@lists.xensource.com>;
	Thu, 17 May 2012 00:58:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=selfip.ru; s=google;
	h=mime-version:sender:x-originating-ip:in-reply-to:references:from
	:date:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=TXCQIYr56wVJ+wvcERCbNBn/4Bf3+yGneKzh4lzqJ7g=;
	b=c2o6Zg4lgfAo7HxsFrX4KR8j8UZjdaLxqWGzfYlJkcY6Sb021Gf8LKKMsmSiFIuNGz
	JWESqrfMzvV8AfI9gyv+qb4CsR1uRH8RFaDdocvF82KVoDvqNs4FtLlC/0nS7rvOBYXg
	zHNVrqBWnlklZDBUI2DNAlvvJEjm3Pthi6mKU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:sender:x-originating-ip:in-reply-to:references:from
	:date:x-google-sender-auth:message-id:subject:to:cc:content-type
	:x-gm-message-state;
	bh=TXCQIYr56wVJ+wvcERCbNBn/4Bf3+yGneKzh4lzqJ7g=;
	b=XLU5oRzHOmNfGyo0mu6JkzVNFNN7Z1+7mJDce2V/43rQA7GSZkEAqEOsD7T5GF6LYf
	5PyYDaCvaxp95K6NCqS8GVUPhYjKE8gJSCVNJHgB9ryJYw5GeEDoWEd5Q1afz8ebNW5Q
	2o/GU3Pu4+cpHZscf6E81VM3XLq9ZcIEsJsWLuNuE8zMkD1IB6M6SMHPu+1KjNt4Jx58
	7nraBcuakmQ9tTCtWM8QmLJ6w3Zw/GOcOC2nz872o0drA2aIG5y+fWvgb/u0XAG9uKwp
	LVyryqL1QgzPaM/EHDzQEjy1deX7KUGQ54Yk4/3oetf+v5wokPnJkhpkwZVuP/bMFfBH
	TxqQ==
Received: by 10.213.14.198 with SMTP id h6mr1971781eba.99.1337241483992; Thu,
	17 May 2012 00:58:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.14.47.73 with HTTP; Thu, 17 May 2012 00:57:48 -0700 (PDT)
X-Originating-IP: [85.143.161.18]
In-Reply-To: <4FB3D74F.50101@gmail.com>
References: <4FB3D74F.50101@gmail.com>
From: Vasiliy Tolstov <v.tolstov@selfip.ru>
Date: Thu, 17 May 2012 11:57:48 +0400
X-Google-Sender-Auth: 1biIL5sAsjKSEp4CCxm33e73Qxs
Message-ID: <CACaajQs7_pU=SfO4YEWtyGSQShbkx1HrXyhXAzTkY4xtfHX4+g@mail.gmail.com>
To: xen-hosting@googlegroups.com
X-Gm-Message-State: ALoCoQl0zAFgxYpZ3uNEdWCDOOhO1SgorqEwgJFSuImyilKAS5A9jU+MhL7j0bWAmxbNS/J+z9Ob
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [IDEA] xendhcp proposal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

2012/5/16 George Shuklin <george.shuklin@gmail.com>:
> Good day.
>
> During automated VM deploy I found some very annoying problem - network VM
> configuration. Classic DHCP is not very easy to manage in virtual
> environment (protection from stray DHCP-servers, problems with
> autoidentification).
>
> Problems are:
> * how to identificate VM?
> * how to provide network configuration in native way for guest (e.g. support
> of mount order for network fs, if-up scripts and so on)
> * how to reconfigure hosts 'on demand'? (even DHCP is not very 'on demand'
> beause of lease time).
>
> Propose:
>
> Store network configuration in domain part of xenstore, use xendhcp service
> to read those data from guest and acts like classic dhcp client.
>
> Implementation detail:
>
> 1) Store data in DHCP-like way (option code - answer).
> 2) Subscribe for changes and reacts to it like we have lease expiration.
> 3) xendhcp should replace normal dhcp (may be even with conclict in packages
> with original dhcp client, and provide it functionality), mimic
> /sbin/dhclient functionality.
>
> That allows to keep original network configuration for every distribution,
> just put 'dhcp' method for debian 'interfaces' (and same way for every other
> operation system).
>
> What you think about this?

For me (russia cloud provider clodo.ru), sounds very good. Now we
already have handwritten dhcp like interface to bootstrap vm (pass all
params in /proc/cmdline). Only one thing that missing - how about many
ips? If i want to issign 10 ip with specific routes, how can i deal
with this in this case?
Or xendhcp up only one main ip?


-- 
Vasiliy Tolstov,
Clodo.ru
e-mail: v.tolstov@selfip.ru
jabber: vase@selfip.ru

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 07:58:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 07:58:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUvb6-00080s-9W; Thu, 17 May 2012 07:58:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <vase@selfip.ru>) id 1SUvb4-00080n-Et
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 07:58:06 +0000
Received: from [85.158.143.35:15190] by server-2.bemta-4.messagelabs.com id
	69/DB-12211-D8FA4BF4; Thu, 17 May 2012 07:58:05 +0000
X-Env-Sender: vase@selfip.ru
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337241484!15819158!1
X-Originating-IP: [74.125.83.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_TEST_2,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1473 invoked from network); 17 May 2012 07:58:04 -0000
Received: from mail-ee0-f43.google.com (HELO mail-ee0-f43.google.com)
	(74.125.83.43)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 07:58:04 -0000
Received: by eeke50 with SMTP id e50so634475eek.30
	for <xen-devel@lists.xensource.com>;
	Thu, 17 May 2012 00:58:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=selfip.ru; s=google;
	h=mime-version:sender:x-originating-ip:in-reply-to:references:from
	:date:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=TXCQIYr56wVJ+wvcERCbNBn/4Bf3+yGneKzh4lzqJ7g=;
	b=c2o6Zg4lgfAo7HxsFrX4KR8j8UZjdaLxqWGzfYlJkcY6Sb021Gf8LKKMsmSiFIuNGz
	JWESqrfMzvV8AfI9gyv+qb4CsR1uRH8RFaDdocvF82KVoDvqNs4FtLlC/0nS7rvOBYXg
	zHNVrqBWnlklZDBUI2DNAlvvJEjm3Pthi6mKU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:sender:x-originating-ip:in-reply-to:references:from
	:date:x-google-sender-auth:message-id:subject:to:cc:content-type
	:x-gm-message-state;
	bh=TXCQIYr56wVJ+wvcERCbNBn/4Bf3+yGneKzh4lzqJ7g=;
	b=XLU5oRzHOmNfGyo0mu6JkzVNFNN7Z1+7mJDce2V/43rQA7GSZkEAqEOsD7T5GF6LYf
	5PyYDaCvaxp95K6NCqS8GVUPhYjKE8gJSCVNJHgB9ryJYw5GeEDoWEd5Q1afz8ebNW5Q
	2o/GU3Pu4+cpHZscf6E81VM3XLq9ZcIEsJsWLuNuE8zMkD1IB6M6SMHPu+1KjNt4Jx58
	7nraBcuakmQ9tTCtWM8QmLJ6w3Zw/GOcOC2nz872o0drA2aIG5y+fWvgb/u0XAG9uKwp
	LVyryqL1QgzPaM/EHDzQEjy1deX7KUGQ54Yk4/3oetf+v5wokPnJkhpkwZVuP/bMFfBH
	TxqQ==
Received: by 10.213.14.198 with SMTP id h6mr1971781eba.99.1337241483992; Thu,
	17 May 2012 00:58:03 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.14.47.73 with HTTP; Thu, 17 May 2012 00:57:48 -0700 (PDT)
X-Originating-IP: [85.143.161.18]
In-Reply-To: <4FB3D74F.50101@gmail.com>
References: <4FB3D74F.50101@gmail.com>
From: Vasiliy Tolstov <v.tolstov@selfip.ru>
Date: Thu, 17 May 2012 11:57:48 +0400
X-Google-Sender-Auth: 1biIL5sAsjKSEp4CCxm33e73Qxs
Message-ID: <CACaajQs7_pU=SfO4YEWtyGSQShbkx1HrXyhXAzTkY4xtfHX4+g@mail.gmail.com>
To: xen-hosting@googlegroups.com
X-Gm-Message-State: ALoCoQl0zAFgxYpZ3uNEdWCDOOhO1SgorqEwgJFSuImyilKAS5A9jU+MhL7j0bWAmxbNS/J+z9Ob
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [IDEA] xendhcp proposal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

2012/5/16 George Shuklin <george.shuklin@gmail.com>:
> Good day.
>
> During automated VM deploy I found some very annoying problem - network VM
> configuration. Classic DHCP is not very easy to manage in virtual
> environment (protection from stray DHCP-servers, problems with
> autoidentification).
>
> Problems are:
> * how to identificate VM?
> * how to provide network configuration in native way for guest (e.g. support
> of mount order for network fs, if-up scripts and so on)
> * how to reconfigure hosts 'on demand'? (even DHCP is not very 'on demand'
> beause of lease time).
>
> Propose:
>
> Store network configuration in domain part of xenstore, use xendhcp service
> to read those data from guest and acts like classic dhcp client.
>
> Implementation detail:
>
> 1) Store data in DHCP-like way (option code - answer).
> 2) Subscribe for changes and reacts to it like we have lease expiration.
> 3) xendhcp should replace normal dhcp (may be even with conclict in packages
> with original dhcp client, and provide it functionality), mimic
> /sbin/dhclient functionality.
>
> That allows to keep original network configuration for every distribution,
> just put 'dhcp' method for debian 'interfaces' (and same way for every other
> operation system).
>
> What you think about this?

For me (russia cloud provider clodo.ru), sounds very good. Now we
already have handwritten dhcp like interface to bootstrap vm (pass all
params in /proc/cmdline). Only one thing that missing - how about many
ips? If i want to issign 10 ip with specific routes, how can i deal
with this in this case?
Or xendhcp up only one main ip?


-- 
Vasiliy Tolstov,
Clodo.ru
e-mail: v.tolstov@selfip.ru
jabber: vase@selfip.ru

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 09:41:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 09:41:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxCY-0001P2-0k; Thu, 17 May 2012 09:40:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUxCW-0001Ox-EU
	for xen-devel@lists.xen.org; Thu, 17 May 2012 09:40:52 +0000
Received: from [85.158.138.51:37759] by server-3.bemta-3.messagelabs.com id
	35/1A-04048-3A7C4BF4; Thu, 17 May 2012 09:40:51 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337247650!18690257!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12186 invoked from network); 17 May 2012 09:40:50 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 09:40:50 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUxCD-000Fal-Qp; Thu, 17 May 2012 09:40:33 +0000
Date: Thu, 17 May 2012 10:40:33 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120517094033.GA57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> diff -r f83397dfb6c0 -r 3169fba29613 xen/arch/x86/mm/mem_sharing.c
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>      if ( spage->sharing->handle != sh )
>          goto err_unlock;
>  
> -    /* Make sure the target page is a hole in the physmap */
> -    if ( mfn_valid(cmfn) ||
> -         (!(p2m_is_ram(cmfn_type))) )
> +    /* Make sure the target page is a hole in the physmap. These are typically
> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
> +     * definition of p2m_is_hole in p2m.h. */
> +    if ( !p2m_is_hole(cmfn_type) || mfn_valid(cmfn) )

As I said last time, the mfn_valid test is wrong for everything except
p2m_paging_in.

I've checked in a reduced version of this that just drops p2m_paging_in
from P2M_HOLE_TYPES (so the pager wins this race instead of the sharer)
which I think will do for 4.2:
http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/25bdef4493ae
can you check that it makes sense, please?

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 09:41:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 09:41:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxCY-0001P2-0k; Thu, 17 May 2012 09:40:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUxCW-0001Ox-EU
	for xen-devel@lists.xen.org; Thu, 17 May 2012 09:40:52 +0000
Received: from [85.158.138.51:37759] by server-3.bemta-3.messagelabs.com id
	35/1A-04048-3A7C4BF4; Thu, 17 May 2012 09:40:51 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337247650!18690257!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12186 invoked from network); 17 May 2012 09:40:50 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 09:40:50 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUxCD-000Fal-Qp; Thu, 17 May 2012 09:40:33 +0000
Date: Thu, 17 May 2012 10:40:33 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120517094033.GA57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> diff -r f83397dfb6c0 -r 3169fba29613 xen/arch/x86/mm/mem_sharing.c
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>      if ( spage->sharing->handle != sh )
>          goto err_unlock;
>  
> -    /* Make sure the target page is a hole in the physmap */
> -    if ( mfn_valid(cmfn) ||
> -         (!(p2m_is_ram(cmfn_type))) )
> +    /* Make sure the target page is a hole in the physmap. These are typically
> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
> +     * definition of p2m_is_hole in p2m.h. */
> +    if ( !p2m_is_hole(cmfn_type) || mfn_valid(cmfn) )

As I said last time, the mfn_valid test is wrong for everything except
p2m_paging_in.

I've checked in a reduced version of this that just drops p2m_paging_in
from P2M_HOLE_TYPES (so the pager wins this race instead of the sharer)
which I think will do for 4.2:
http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/25bdef4493ae
can you check that it makes sense, please?

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 09:45:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 09:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxGh-0001Va-No; Thu, 17 May 2012 09:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUxGf-0001VR-A2
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 09:45:09 +0000
Received: from [85.158.139.83:62050] by server-11.bemta-5.messagelabs.com id
	03/58-12959-4A8C4BF4; Thu, 17 May 2012 09:45:08 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337247907!28185996!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27654 invoked from network); 17 May 2012 09:45:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 09:45:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12525502"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 09:45:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 10:45:07 +0100
Message-ID: <1337247905.7781.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Date: Thu, 17 May 2012 10:45:05 +0100
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 06:02 +0100, Zhang, Yang Z wrote:
> In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
> In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.
> 
> Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
> 
> diff -r c8a01e966ec8 tools/libxl/libxl_create.c
> --- a/tools/libxl/libxl_create.c        Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_create.c        Thu May 17 13:01:26 2012 +0800
> @@ -142,8 +142,11 @@ int libxl__domain_build_info_setdefault(
> 
>      if (!b_info->max_vcpus)
>          b_info->max_vcpus = 1;
> -    if (!b_info->cur_vcpus)
> -        b_info->cur_vcpus = 1;
> +    if (!b_info->avail_vcpus.size) {
> +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> +            return ERROR_NOMEM;

After your previous patch the only thing cpumap_alloc_size can fail with
is ERROR_FAIL (inability to determine number of processors), converting
that into ERROR_NOMEM seems inappropriate.

This should propagate the actual error code.

It might also be reasonable for libxl to abort/crash if
libxl_get_max_cpus fails in which case cpumap_alloc_size would return
void.

> +        libxl_cpumap_set(&b_info->avail_vcpus, 0);
> +    }
> 
>      if (!b_info->cpumap.size) {
>          if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
> diff -r c8a01e966ec8 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c    Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_dm.c    Thu May 17 13:01:26 2012 +0800
> @@ -200,10 +200,19 @@ static char ** libxl__build_device_model
>                                libxl__sprintf(gc, "%d", b_info->max_vcpus),
>                                NULL);
>          }
> -        if (b_info->cur_vcpus) {
> +        if (b_info->avail_vcpus.size) {

Can never be false, due to allocation in setdefaults?

> +            int nr_set_cpus = 0;
> +            char *s;
> +
> +            nr_set_cpus = libxl_cpumap_count_set(
> +                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));
> +
> +            s = libxl_cpumap_to_hex_string(
> +                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));

Why the casts to (libxl_domain_build_info *)?

>              flexarray_vappend(dm_args, "-vcpu_avail",
> -                              libxl__sprintf(gc, "0x%x", b_info->cur_vcpus),
> +                              libxl__sprintf(gc, "0x%s", s),
>                                NULL);
> +            free(s);
>          }
>          for (i = 0; i < num_vifs; i++) {
>              if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) {
> @@ -441,11 +450,15 @@ static char ** libxl__build_device_model
>          }
>          if (b_info->max_vcpus > 1) {
>              flexarray_append(dm_args, "-smp");
> -            if (b_info->cur_vcpus)
> +            if (b_info->avail_vcpus.size) {
> +                int nr_set_cpus = 0;
> +                nr_set_cpus = libxl_cpumap_count_set(
> +                        &(((libxl_domain_build_info *)b_info)->avail_vcpus));

Another strange looking cast.

Are you perhaps casting away the const-ness of b_info?

You most likely want to make libxl_cpumap_count_set const-correct
instead.

> +
>                  flexarray_append(dm_args, libxl__sprintf(gc, "%d,maxcpus=%d",
>                                                           b_info->max_vcpus,
> -                                                         b_info->cur_vcpus));
> -            else
> +                                                         nr_set_cpus));
> +            } else
>                  flexarray_append(dm_args, libxl__sprintf(gc, "%d",
>                                                           b_info->max_vcpus));
>          }
> diff -r c8a01e966ec8 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_dom.c   Thu May 17 13:01:26 2012 +0800
> @@ -195,7 +195,8 @@ int libxl__build_post(libxl__gc *gc, uin
>      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
>      for (i = 0; i < info->max_vcpus; i++) {
>          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
> +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size

"!info->avail_vcpus.size" should always be a bug here since you always
allocate one in setdefaults.

I think you can also stop special casing i == 0, that would be a user
error to supply a cpumap without cpu0 set in it. Might be worth checking
that in the setdefaults fn.

> +                            && !libxl_cpumap_test(&info->avail_vcpus, i))
>                              ? "offline" : "online";
>      }
> 
> @@ -346,7 +347,7 @@ static int hvm_build_set_params(xc_inter
>      va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET);
>      va_hvm->apic_mode = libxl_defbool_val(info->u.hvm.apic);
>      va_hvm->nr_vcpus = info->max_vcpus;
> -    memcpy(va_hvm->vcpu_online, &info->cur_vcpus, sizeof(info->cur_vcpus));
> +    memcpy(va_hvm->vcpu_online, info->avail_vcpus.map, info->avail_vcpus.size);
>      for (i = 0, sum = 0; i < va_hvm->length; i++)
>          sum += ((uint8_t *) va_hvm)[i];
>      va_hvm->checksum -= sum;
> diff -r c8a01e966ec8 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl       Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_types.idl       Thu May 17 13:01:26 2012 +0800
> @@ -242,7 +242,7 @@ libxl_sched_params = Struct("sched_param
>  # libxl_file_reference_unmap.
>  libxl_domain_build_info = Struct("domain_build_info",[
>      ("max_vcpus",       integer),
> -    ("cur_vcpus",       integer),
> +    ("avail_vcpus",     libxl_cpumap),
>      ("cpumap",          libxl_cpumap),
>      ("tsc_mode",        libxl_tsc_mode),
>      ("max_memkb",       MemKB),
> diff -r c8a01e966ec8 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_utils.c Thu May 17 13:01:26 2012 +0800
> @@ -503,6 +503,19 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
>      return 0;
>  }
> 
> +int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
> +{
> +    int sz;
> +
> +    if (max_cpus == 0)

<= ?

> +        return ERROR_FAIL;
> +
> +    sz = (max_cpus + 7) / 8;
> +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
> +    cpumap->size = sz;
> +    return 0;
> +}

Can you reimplement libxl_cpumap_alloc in terms of this function?

Alternatively add a new max_cpus param to the existing function and have
it do:
	if (max_cpus == 0)
		max_cpus = libxl_get_max_cpus(ctx);

(IOW libxl_cpumap_alloc_size(ctx, &map, 0) means allocate the biggest
possibly required map).

> +
>  void libxl_cpumap_dispose(libxl_cpumap *map)
>  {
>      free(map->map);
> @@ -529,6 +542,29 @@ void libxl_cpumap_reset(libxl_cpumap *cp
>      cpumap->map[cpu / 8] &= ~(1 << (cpu & 7));
>  }
> 
> +int libxl_cpumap_count_set(libxl_cpumap *cpumap)
> +{
> +    int i, nr_set_cpus = 0;
> +    libxl_for_each_set_cpu(i, *cpumap)
> +        nr_set_cpus++;
> +
> +    return nr_set_cpus;
> +}
> +
> +void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap)

shouldn't this return char *?

Other libxl types provide a _to_string method -- is the fact that this
one happens to be hex formatted especially relevant? The general form of
those is 
	(const?) char *libxl_FOO_to_string(libxl_FOO *foo);

> +{
> +    int i = cpumap->size;
> +    uint8_t *p = libxl__zalloc(NULL, cpumap->size * 2 + 1);
> +    uint8_t *q = p;

Why are the uint8_t and not char *?

> +    while(--i >= 0) {
> +        fprintf(stderr,"i:%d, p :%p, map[%d]: %x\n", i, p, i, cpumap->map[i]);

libxl shouldn't be logging to stderr. If this function needs to log then
it should take a ctx and use the logging primitives. I expect this is
just left over debugging which can be removed (it'd be rather verbose
for the final verison)

> +        sprintf((char *)p, "%02x", cpumap->map[i]);
> +        p += 2;
> +    }
> +    *p = '\0';
> +    return q;
> +}
> +
>  int libxl_get_max_cpus(libxl_ctx *ctx)
>  {
>      return xc_get_max_cpus(ctx->xch);
> diff -r c8a01e966ec8 tools/libxl/libxl_utils.h
> --- a/tools/libxl/libxl_utils.h Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_utils.h Thu May 17 13:01:26 2012 +0800
> @@ -64,9 +64,12 @@ int libxl_vdev_to_device_disk(libxl_ctx
>                                 libxl_device_disk *disk);
> 
>  int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
> +int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
>  int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
>  void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
>  void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
> +int libxl_cpumap_count_set(libxl_cpumap *cpumap);
> +void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap);
>  static inline void libxl_cpumap_set_any(libxl_cpumap *cpumap)
>  {
>      memset(cpumap->map, -1, cpumap->size);
> diff -r c8a01e966ec8 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/xl_cmdimpl.c  Thu May 17 13:01:26 2012 +0800
> @@ -647,7 +647,14 @@ static void parse_config_data(const char
> 
>      if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
>          b_info->max_vcpus = l;
> -        b_info->cur_vcpus = (1 << l) - 1;
> +
> +        if (libxl_cpumap_alloc_size(ctx, &b_info->avail_vcpus, l)) {
> +            fprintf(stderr, "Unable to allocate cpumap\n");
> +            exit(1);
> +        }
> +        libxl_cpumap_set_none(&b_info->avail_vcpus);
> +        while (l-- > 0)
> +            libxl_cpumap_set((&b_info->avail_vcpus), l);
>      }
> 
>      if (!xlu_cfg_get_long (config, "maxvcpus", &l, 0))
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 09:45:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 09:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxGh-0001Va-No; Thu, 17 May 2012 09:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUxGf-0001VR-A2
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 09:45:09 +0000
Received: from [85.158.139.83:62050] by server-11.bemta-5.messagelabs.com id
	03/58-12959-4A8C4BF4; Thu, 17 May 2012 09:45:08 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337247907!28185996!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27654 invoked from network); 17 May 2012 09:45:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 09:45:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12525502"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 09:45:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 10:45:07 +0100
Message-ID: <1337247905.7781.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Date: Thu, 17 May 2012 10:45:05 +0100
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 06:02 +0100, Zhang, Yang Z wrote:
> In current implementation, it uses integer for record current avail cpus and this only allows user to specify 31 vcpus. 
> In following patch, it uses cpumap instead interger which make more sense than before. Also there is no limit to the max vcpus.
> 
> Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
> 
> diff -r c8a01e966ec8 tools/libxl/libxl_create.c
> --- a/tools/libxl/libxl_create.c        Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_create.c        Thu May 17 13:01:26 2012 +0800
> @@ -142,8 +142,11 @@ int libxl__domain_build_info_setdefault(
> 
>      if (!b_info->max_vcpus)
>          b_info->max_vcpus = 1;
> -    if (!b_info->cur_vcpus)
> -        b_info->cur_vcpus = 1;
> +    if (!b_info->avail_vcpus.size) {
> +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> +            return ERROR_NOMEM;

After your previous patch the only thing cpumap_alloc_size can fail with
is ERROR_FAIL (inability to determine number of processors), converting
that into ERROR_NOMEM seems inappropriate.

This should propagate the actual error code.

It might also be reasonable for libxl to abort/crash if
libxl_get_max_cpus fails in which case cpumap_alloc_size would return
void.

> +        libxl_cpumap_set(&b_info->avail_vcpus, 0);
> +    }
> 
>      if (!b_info->cpumap.size) {
>          if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
> diff -r c8a01e966ec8 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c    Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_dm.c    Thu May 17 13:01:26 2012 +0800
> @@ -200,10 +200,19 @@ static char ** libxl__build_device_model
>                                libxl__sprintf(gc, "%d", b_info->max_vcpus),
>                                NULL);
>          }
> -        if (b_info->cur_vcpus) {
> +        if (b_info->avail_vcpus.size) {

Can never be false, due to allocation in setdefaults?

> +            int nr_set_cpus = 0;
> +            char *s;
> +
> +            nr_set_cpus = libxl_cpumap_count_set(
> +                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));
> +
> +            s = libxl_cpumap_to_hex_string(
> +                    &(((libxl_domain_build_info *)b_info)->avail_vcpus));

Why the casts to (libxl_domain_build_info *)?

>              flexarray_vappend(dm_args, "-vcpu_avail",
> -                              libxl__sprintf(gc, "0x%x", b_info->cur_vcpus),
> +                              libxl__sprintf(gc, "0x%s", s),
>                                NULL);
> +            free(s);
>          }
>          for (i = 0; i < num_vifs; i++) {
>              if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) {
> @@ -441,11 +450,15 @@ static char ** libxl__build_device_model
>          }
>          if (b_info->max_vcpus > 1) {
>              flexarray_append(dm_args, "-smp");
> -            if (b_info->cur_vcpus)
> +            if (b_info->avail_vcpus.size) {
> +                int nr_set_cpus = 0;
> +                nr_set_cpus = libxl_cpumap_count_set(
> +                        &(((libxl_domain_build_info *)b_info)->avail_vcpus));

Another strange looking cast.

Are you perhaps casting away the const-ness of b_info?

You most likely want to make libxl_cpumap_count_set const-correct
instead.

> +
>                  flexarray_append(dm_args, libxl__sprintf(gc, "%d,maxcpus=%d",
>                                                           b_info->max_vcpus,
> -                                                         b_info->cur_vcpus));
> -            else
> +                                                         nr_set_cpus));
> +            } else
>                  flexarray_append(dm_args, libxl__sprintf(gc, "%d",
>                                                           b_info->max_vcpus));
>          }
> diff -r c8a01e966ec8 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_dom.c   Thu May 17 13:01:26 2012 +0800
> @@ -195,7 +195,8 @@ int libxl__build_post(libxl__gc *gc, uin
>      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
>      for (i = 0; i < info->max_vcpus; i++) {
>          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1 << i)))
> +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size

"!info->avail_vcpus.size" should always be a bug here since you always
allocate one in setdefaults.

I think you can also stop special casing i == 0, that would be a user
error to supply a cpumap without cpu0 set in it. Might be worth checking
that in the setdefaults fn.

> +                            && !libxl_cpumap_test(&info->avail_vcpus, i))
>                              ? "offline" : "online";
>      }
> 
> @@ -346,7 +347,7 @@ static int hvm_build_set_params(xc_inter
>      va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET);
>      va_hvm->apic_mode = libxl_defbool_val(info->u.hvm.apic);
>      va_hvm->nr_vcpus = info->max_vcpus;
> -    memcpy(va_hvm->vcpu_online, &info->cur_vcpus, sizeof(info->cur_vcpus));
> +    memcpy(va_hvm->vcpu_online, info->avail_vcpus.map, info->avail_vcpus.size);
>      for (i = 0, sum = 0; i < va_hvm->length; i++)
>          sum += ((uint8_t *) va_hvm)[i];
>      va_hvm->checksum -= sum;
> diff -r c8a01e966ec8 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl       Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_types.idl       Thu May 17 13:01:26 2012 +0800
> @@ -242,7 +242,7 @@ libxl_sched_params = Struct("sched_param
>  # libxl_file_reference_unmap.
>  libxl_domain_build_info = Struct("domain_build_info",[
>      ("max_vcpus",       integer),
> -    ("cur_vcpus",       integer),
> +    ("avail_vcpus",     libxl_cpumap),
>      ("cpumap",          libxl_cpumap),
>      ("tsc_mode",        libxl_tsc_mode),
>      ("max_memkb",       MemKB),
> diff -r c8a01e966ec8 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_utils.c Thu May 17 13:01:26 2012 +0800
> @@ -503,6 +503,19 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
>      return 0;
>  }
> 
> +int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
> +{
> +    int sz;
> +
> +    if (max_cpus == 0)

<= ?

> +        return ERROR_FAIL;
> +
> +    sz = (max_cpus + 7) / 8;
> +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
> +    cpumap->size = sz;
> +    return 0;
> +}

Can you reimplement libxl_cpumap_alloc in terms of this function?

Alternatively add a new max_cpus param to the existing function and have
it do:
	if (max_cpus == 0)
		max_cpus = libxl_get_max_cpus(ctx);

(IOW libxl_cpumap_alloc_size(ctx, &map, 0) means allocate the biggest
possibly required map).

> +
>  void libxl_cpumap_dispose(libxl_cpumap *map)
>  {
>      free(map->map);
> @@ -529,6 +542,29 @@ void libxl_cpumap_reset(libxl_cpumap *cp
>      cpumap->map[cpu / 8] &= ~(1 << (cpu & 7));
>  }
> 
> +int libxl_cpumap_count_set(libxl_cpumap *cpumap)
> +{
> +    int i, nr_set_cpus = 0;
> +    libxl_for_each_set_cpu(i, *cpumap)
> +        nr_set_cpus++;
> +
> +    return nr_set_cpus;
> +}
> +
> +void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap)

shouldn't this return char *?

Other libxl types provide a _to_string method -- is the fact that this
one happens to be hex formatted especially relevant? The general form of
those is 
	(const?) char *libxl_FOO_to_string(libxl_FOO *foo);

> +{
> +    int i = cpumap->size;
> +    uint8_t *p = libxl__zalloc(NULL, cpumap->size * 2 + 1);
> +    uint8_t *q = p;

Why are the uint8_t and not char *?

> +    while(--i >= 0) {
> +        fprintf(stderr,"i:%d, p :%p, map[%d]: %x\n", i, p, i, cpumap->map[i]);

libxl shouldn't be logging to stderr. If this function needs to log then
it should take a ctx and use the logging primitives. I expect this is
just left over debugging which can be removed (it'd be rather verbose
for the final verison)

> +        sprintf((char *)p, "%02x", cpumap->map[i]);
> +        p += 2;
> +    }
> +    *p = '\0';
> +    return q;
> +}
> +
>  int libxl_get_max_cpus(libxl_ctx *ctx)
>  {
>      return xc_get_max_cpus(ctx->xch);
> diff -r c8a01e966ec8 tools/libxl/libxl_utils.h
> --- a/tools/libxl/libxl_utils.h Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/libxl_utils.h Thu May 17 13:01:26 2012 +0800
> @@ -64,9 +64,12 @@ int libxl_vdev_to_device_disk(libxl_ctx
>                                 libxl_device_disk *disk);
> 
>  int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
> +int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
>  int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
>  void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
>  void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
> +int libxl_cpumap_count_set(libxl_cpumap *cpumap);
> +void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap);
>  static inline void libxl_cpumap_set_any(libxl_cpumap *cpumap)
>  {
>      memset(cpumap->map, -1, cpumap->size);
> diff -r c8a01e966ec8 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Thu May 17 12:59:49 2012 +0800
> +++ b/tools/libxl/xl_cmdimpl.c  Thu May 17 13:01:26 2012 +0800
> @@ -647,7 +647,14 @@ static void parse_config_data(const char
> 
>      if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
>          b_info->max_vcpus = l;
> -        b_info->cur_vcpus = (1 << l) - 1;
> +
> +        if (libxl_cpumap_alloc_size(ctx, &b_info->avail_vcpus, l)) {
> +            fprintf(stderr, "Unable to allocate cpumap\n");
> +            exit(1);
> +        }
> +        libxl_cpumap_set_none(&b_info->avail_vcpus);
> +        while (l-- > 0)
> +            libxl_cpumap_set((&b_info->avail_vcpus), l);
>      }
> 
>      if (!xlu_cfg_get_long (config, "maxvcpus", &l, 0))
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:05:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxa7-0001oG-VU; Thu, 17 May 2012 10:05:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUxa6-0001oB-Uw
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:05:15 +0000
Received: from [85.158.143.35:64835] by server-3.bemta-4.messagelabs.com id
	88/D7-05853-A5DC4BF4; Thu, 17 May 2012 10:05:14 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337249112!15842434!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3383 invoked from network); 17 May 2012 10:05:12 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 10:05:12 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUxa1-000Ft7-CG; Thu, 17 May 2012 10:05:09 +0000
Date: Thu, 17 May 2012 11:05:09 +0100
From: Tim Deegan <tim@xen.org>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Message-ID: <20120517100509.GB57529@ocelot.phlegethon.org>
References: <CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
	<CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
	<CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: Christian.Limpach@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
	type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Aravindh,

At 15:02 -0700 on 04 May (1336143748), Aravindh Puthiyaparambil wrote:
> diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c
> --- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200
> +++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700
> @@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom
>  /*
>   * ept_set_entry() computes 'need_modify_vtd_table' for itself,
>   * by observing whether any gfn->mfn translations are modified.
> + * If sync_deferred is not NULL, then the caller will take care of
> + * calling ept_sync_domain() in the cases where it can be deferred.
>   */
>  static int
>  ept_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
> -              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma)
> +              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma,
> +              bool_t *sync_deferred)
>  {
>      ept_entry_t *table, *ept_entry = NULL;
>      unsigned long gfn_remainder = gfn;
> @@ -309,6 +312,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>             (target == 1 && hvm_hap_has_2mb(d)) ||
>             (target == 0));
> 
> +    if (sync_deferred)

Xen coding style has spaces inside those parentheses.

> +        *sync_deferred = 1;
> +
>      table = map_domain_page(ept_get_asr(d));
> 
>      for ( i = ept_get_wl(d); i > target; i-- )
> @@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un
>          ept_entry_t new_entry = { .epte = 0 };
> 
>          /* No need to flush if the old entry wasn't valid */
> -        if ( !is_epte_present(ept_entry) )
> +        if ( !is_epte_present(ept_entry) || (!target && sync_deferred) )
> +        {
>              needs_sync = 0;
> +            if ( sync_deferred )
> +                *sync_deferred = 0;

I don't think you should do this -- you call this function in a loop and
you may need to sync because of an earlier iteration.  Better to only
write a 1 to *sync_deferred once you know there's a sync to be done, and
never to write a zero.

> +        }

One comment on the rest of the patch: your calling function calls
ept_sync_domain() directly if sync_deferred == 1.  That's correct for
now but it would be cleaner to use a sync() function pointer in the
struct p2m_domain, the same as the other implementation-specific calls.

Other than that, I think this looks pretty good to go in after 4.2 has
branched.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:05:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxa7-0001oG-VU; Thu, 17 May 2012 10:05:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUxa6-0001oB-Uw
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:05:15 +0000
Received: from [85.158.143.35:64835] by server-3.bemta-4.messagelabs.com id
	88/D7-05853-A5DC4BF4; Thu, 17 May 2012 10:05:14 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337249112!15842434!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3383 invoked from network); 17 May 2012 10:05:12 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 10:05:12 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUxa1-000Ft7-CG; Thu, 17 May 2012 10:05:09 +0000
Date: Thu, 17 May 2012 11:05:09 +0100
From: Tim Deegan <tim@xen.org>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Message-ID: <20120517100509.GB57529@ocelot.phlegethon.org>
References: <CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
	<CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
	<CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
User-Agent: Mutt/1.4.2.1i
Cc: Christian.Limpach@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
	type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Aravindh,

At 15:02 -0700 on 04 May (1336143748), Aravindh Puthiyaparambil wrote:
> diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c
> --- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200
> +++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700
> @@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom
>  /*
>   * ept_set_entry() computes 'need_modify_vtd_table' for itself,
>   * by observing whether any gfn->mfn translations are modified.
> + * If sync_deferred is not NULL, then the caller will take care of
> + * calling ept_sync_domain() in the cases where it can be deferred.
>   */
>  static int
>  ept_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
> -              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma)
> +              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma,
> +              bool_t *sync_deferred)
>  {
>      ept_entry_t *table, *ept_entry = NULL;
>      unsigned long gfn_remainder = gfn;
> @@ -309,6 +312,9 @@ ept_set_entry(struct p2m_domain *p2m, un
>             (target == 1 && hvm_hap_has_2mb(d)) ||
>             (target == 0));
> 
> +    if (sync_deferred)

Xen coding style has spaces inside those parentheses.

> +        *sync_deferred = 1;
> +
>      table = map_domain_page(ept_get_asr(d));
> 
>      for ( i = ept_get_wl(d); i > target; i-- )
> @@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un
>          ept_entry_t new_entry = { .epte = 0 };
> 
>          /* No need to flush if the old entry wasn't valid */
> -        if ( !is_epte_present(ept_entry) )
> +        if ( !is_epte_present(ept_entry) || (!target && sync_deferred) )
> +        {
>              needs_sync = 0;
> +            if ( sync_deferred )
> +                *sync_deferred = 0;

I don't think you should do this -- you call this function in a loop and
you may need to sync because of an earlier iteration.  Better to only
write a 1 to *sync_deferred once you know there's a sync to be done, and
never to write a zero.

> +        }

One comment on the rest of the patch: your calling function calls
ept_sync_domain() directly if sync_deferred == 1.  That's correct for
now but it would be cleaner to use a sync() function pointer in the
struct p2m_domain, the same as the other implementation-specific calls.

Other than that, I think this looks pretty good to go in after 4.2 has
branched.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:21:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:21:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxov-000225-Ds; Thu, 17 May 2012 10:20:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUxou-000220-2U
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:20:32 +0000
Received: from [193.109.254.147:30519] by server-6.bemta-14.messagelabs.com id
	25/FE-04960-FE0D4BF4; Thu, 17 May 2012 10:20:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337250030!9704131!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11489 invoked from network); 17 May 2012 10:20:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:20:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526152"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:20:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 11:20:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUxor-0008Ik-ID; Thu, 17 May 2012 10:20:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUxor-00034J-Gd;
	Thu, 17 May 2012 11:20:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20404.53485.499407.372275@mariner.uk.xensource.com>
Date: Thu, 17 May 2012 11:20:29 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337164146.27824.84.camel@zakaz.uk.xensource.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
	<CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
	<1337164146.27824.84.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] "xl pci-list-assignable" command not implemented (Was: Re: [xen-unstable test] 12889: regressions - FAIL)"):
> On Wed, 2012-05-16 at 11:24 +0100, George Dunlap wrote:
> > On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > > I guess we could make the test harness detect which to use, or perhaps
> > > we should just put in a hidden alias command?
> > 
> > Why do we need to detect which to use?
> 
> For the benefit of the bisector when crossing this changeset.
> 
> >   I pci-list-assignable was
> > introduced in the 4.2 dev cycle, I believe (which is why I wasn't
> > worried about changing the name); was it backported to 4.1?

In the interests of expedience, I have simply changed the tester to
use the new name (well, pushed a change to the tester's staging tree
to do so).  Bisection will not work if the tester tries to bisect the
pcipt job but I think it's unlikely we'll have another nonobvious
bisectable regression given that the /actual/ test never passes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:21:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:21:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxov-000225-Ds; Thu, 17 May 2012 10:20:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUxou-000220-2U
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:20:32 +0000
Received: from [193.109.254.147:30519] by server-6.bemta-14.messagelabs.com id
	25/FE-04960-FE0D4BF4; Thu, 17 May 2012 10:20:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337250030!9704131!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11489 invoked from network); 17 May 2012 10:20:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:20:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526152"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:20:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 11:20:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUxor-0008Ik-ID; Thu, 17 May 2012 10:20:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUxor-00034J-Gd;
	Thu, 17 May 2012 11:20:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20404.53485.499407.372275@mariner.uk.xensource.com>
Date: Thu, 17 May 2012 11:20:29 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337164146.27824.84.camel@zakaz.uk.xensource.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
	<CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
	<1337164146.27824.84.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] "xl pci-list-assignable" command not implemented (Was: Re: [xen-unstable test] 12889: regressions - FAIL)"):
> On Wed, 2012-05-16 at 11:24 +0100, George Dunlap wrote:
> > On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > > I guess we could make the test harness detect which to use, or perhaps
> > > we should just put in a hidden alias command?
> > 
> > Why do we need to detect which to use?
> 
> For the benefit of the bisector when crossing this changeset.
> 
> >   I pci-list-assignable was
> > introduced in the 4.2 dev cycle, I believe (which is why I wasn't
> > worried about changing the name); was it backported to 4.1?

In the interests of expedience, I have simply changed the tester to
use the new name (well, pushed a change to the tester's staging tree
to do so).  Bisection will not work if the tester tries to bisect the
pcipt job but I think it's unlikely we'll have another nonobvious
bisectable regression given that the /actual/ test never passes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:22:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:22:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxqP-00026s-2W; Thu, 17 May 2012 10:22:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUxqO-00026i-G2
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:22:04 +0000
Received: from [85.158.139.83:27867] by server-3.bemta-5.messagelabs.com id
	95/72-25237-B41D4BF4; Thu, 17 May 2012 10:22:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337250123!28345106!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22869 invoked from network); 17 May 2012 10:22:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:22:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526178"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:22:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 11:22:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUxqM-0008JD-ML; Thu, 17 May 2012 10:22:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUxqM-00034V-LQ;
	Thu, 17 May 2012 11:22:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20404.53578.649569.733962@mariner.uk.xensource.com>
Date: Thu, 17 May 2012 11:22:02 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337164146.27824.84.camel@zakaz.uk.xensource.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
	<CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
	<1337164146.27824.84.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] "xl pci-list-assignable" command not implemented (Was: Re: [xen-unstable test] 12889: regressions - FAIL)"):
> On Wed, 2012-05-16 at 11:24 +0100, George Dunlap wrote:
> > On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > > I guess we could make the test harness detect which to use, or perhaps
> > > we should just put in a hidden alias command?
> > 
> > Why do we need to detect which to use?
> 
> For the benefit of the bisector when crossing this changeset.
> 
> >   I pci-list-assignable was
> > introduced in the 4.2 dev cycle, I believe (which is why I wasn't
> > worried about changing the name); was it backported to 4.1?

In the interests of expedience, I have simply changed the tester to
use the new name (well, pushed a change to the tester's staging tree
to do so).  Bisection will not work if the tester tries to bisect the
pcipt job but I think it's unlikely we'll have another nonobvious
bisectable regression given that the /actual/ test never passes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:22:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:22:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUxqP-00026s-2W; Thu, 17 May 2012 10:22:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUxqO-00026i-G2
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:22:04 +0000
Received: from [85.158.139.83:27867] by server-3.bemta-5.messagelabs.com id
	95/72-25237-B41D4BF4; Thu, 17 May 2012 10:22:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337250123!28345106!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22869 invoked from network); 17 May 2012 10:22:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:22:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526178"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:22:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 11:22:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SUxqM-0008JD-ML; Thu, 17 May 2012 10:22:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SUxqM-00034V-LQ;
	Thu, 17 May 2012 11:22:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20404.53578.649569.733962@mariner.uk.xensource.com>
Date: Thu, 17 May 2012 11:22:02 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337164146.27824.84.camel@zakaz.uk.xensource.com>
References: <osstest-12889-mainreport@xen.org>
	<1337157240.27824.8.camel@zakaz.uk.xensource.com>
	<CAFLBxZb2WsTvrYP4=AmiA+84+vosY5S9Dp2i-Zeu9L6yzFQXQg@mail.gmail.com>
	<1337164146.27824.84.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] "xl pci-list-assignable" command not implemented
 (Was: Re: [xen-unstable test] 12889: regressions - FAIL)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] "xl pci-list-assignable" command not implemented (Was: Re: [xen-unstable test] 12889: regressions - FAIL)"):
> On Wed, 2012-05-16 at 11:24 +0100, George Dunlap wrote:
> > On Wed, May 16, 2012 at 9:34 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > > I guess we could make the test harness detect which to use, or perhaps
> > > we should just put in a hidden alias command?
> > 
> > Why do we need to detect which to use?
> 
> For the benefit of the bisector when crossing this changeset.
> 
> >   I pci-list-assignable was
> > introduced in the 4.2 dev cycle, I believe (which is why I wasn't
> > worried about changing the name); was it backported to 4.1?

In the interests of expedience, I have simply changed the tester to
use the new name (well, pushed a change to the tester's staging tree
to do so).  Bisection will not work if the tester tries to bisect the
pcipt job but I think it's unlikely we'll have another nonobvious
bisectable regression given that the /actual/ test never passes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:35:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:35:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUy2a-0002R6-9S; Thu, 17 May 2012 10:34:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUy2Z-0002R1-7n
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:34:39 +0000
Received: from [85.158.139.83:28270] by server-1.bemta-5.messagelabs.com id
	4B/DA-19304-E34D4BF4; Thu, 17 May 2012 10:34:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337250877!24614871!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1824 invoked from network); 17 May 2012 10:34:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:34:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526364"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:33:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:33:57 +0100
Message-ID: <1337250836.7781.46.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:33:56 +0100
In-Reply-To: <20404.4261.794115.716972@mariner.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 21:40 +0100, Ian Jackson wrote:
> Each time xl forks, it needs to record the pid, so that its exit
> status can be preserved if it happens that libxl's event loop reaped
> it.  Consequently we also have a new wrapper for waitpid, which in
> that case returns the previously-reaped status.
> 
> When we get a console ready callback from libxl, check to see if we
> have spawned but not reaped a previous console client, and if so reap
> it now.  (This is necessary to prevent improper use of the xlchild
> struct, but has the happy consequence of checking the exit status of
> the first console client in the pygrub case.)
> 
> Refactor the two calls to libxl_ctx_alloc into a new function
> xl_ctx_alloc which also sets the child reaped handler callback.
> 
> All of this has the effect of suppressing a message
>    unknown child [nnnn] unexpected exited status zero
> which would sometimes (depending on a race) appear with `xl create -c'
> and pygrub.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> Reported-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Roger Pau Monne <roger.pau@citrix.com>
> 
> ---
>  tools/libxl/xl.c         |   80 ++++++++++++++++++++++++++++++++++++++-------
>  tools/libxl/xl.h         |   29 +++++++++++++++-
>  tools/libxl/xl_cmdimpl.c |   80 ++++++++++++++++++++++++++-------------------
>  3 files changed, 140 insertions(+), 49 deletions(-)
> 
> diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
> index 750a61c..66499dd 100644
> --- a/tools/libxl/xl.c
> +++ b/tools/libxl/xl.c
> @@ -102,22 +102,79 @@ void postfork(void)
>      libxl_postfork_child_noexec(ctx); /* in case we don't exit/exec */
>      ctx = 0;
>  
> -    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
> -        fprintf(stderr, "cannot reinit xl context after fork\n");
> -        exit(-1);
> -    }
> +    xl_ctx_alloc();
>  }
>  
> -pid_t xl_fork(libxl_ctx *ctx) {
> -    pid_t pid;
> +pid_t xl_fork(xlchild *ch) {
> +    assert(!ch->pid);
> +    ch->reaped = 0;
>  
> -    pid = fork();
> -    if (pid == -1) {
> +    ch->pid = fork();
> +    if (ch->pid == -1) {
>          perror("fork failed");
>          exit(-1);
>      }
>  
> -    return pid;
> +    if (!ch->pid) {
> +#define CHILD_FORGET(other) \
> +        other.pid = 0;
> +CHILD_LIST(CHILD_FORGET)

This clears every xlchild in the CHILD_LIST? Why? Oh, because this is
now the child and so those aren't our children any more. A comment would
be nice here, took me a little while to figure out.

Is there some reason to not indent CHILD_LIST? (You've done it more than
once, so I guess so)

> +    }
> +
> +    return ch->pid;
> +}
> +
> +pid_t xl_waitpid(xlchild *child, int *status, int flags)
> +{
> +    pid_t got = child->pid;
> +    assert(got);
> +    if (child->reaped) {
> +        *status = child->status;
> +        child->pid = 0;
> +        return got;
> +    }
> +    for (;;) {
> +        got = waitpid(child->pid, status, flags);
> +        if (got < 0 && errno == EINTR) continue;
> +        if (got > 0) {
> +            assert(got == child->pid);
> +            child->pid = 0;
> +        }
> +        return got;
> +    }
> +}
> +
> +static int reaped_callback_child_check(xlchild *ch, pid_t got, int status)
> +{
> +    if (ch->pid != got)
> +        return 0;
> +    ch->reaped = 1;
> +    ch->status = status;
> +    return 1;
> +}
> +
> +static int xl_reaped_callback(pid_t got, int status, void *user)
> +{
> +    assert(got);
> +    return (
> +#define CHILD_CHECK(ch) \
> +            reaped_callback_child_check(&ch, got, status) ||
> +CHILD_LIST(CHILD_CHECK)
> +            0) ? 0 : ERROR_UNKNOWN_CHILD;
> +}
> +
> +static const libxl_childproc_hooks childproc_hooks = {
> +    .chldowner = libxl_sigchld_owner_libxl,
> +    .reaped_callback = xl_reaped_callback,
> +};
> +
> +void xl_ctx_alloc(void) {
> +    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
> +        fprintf(stderr, "cannot init xl context\n");
> +        exit(1);
> +    }
> +
> +    libxl_childproc_setmode(ctx, &childproc_hooks, 0);
>  }
>  
>  int main(int argc, char **argv)
> @@ -159,10 +216,7 @@ int main(int argc, char **argv)
>      logger = xtl_createlogger_stdiostream(stderr, minmsglevel,  0);
>      if (!logger) exit(1);
>  
> -    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
> -        fprintf(stderr, "cannot init xl context\n");
> -        exit(1);
> -    }
> +    xl_ctx_alloc();
>  
>      /* Read global config file options */
>      ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
> diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
> index 5d0d504..a00309c 100644
> --- a/tools/libxl/xl.h
> +++ b/tools/libxl/xl.h
> @@ -15,6 +15,8 @@
>  #ifndef XL_H
>  #define XL_H
>  
> +#include <assert.h>
> +
>  #include "xentoollog.h"
>  
>  struct cmd_spec {
> @@ -105,8 +107,31 @@ struct cmd_spec *cmdtable_lookup(const char *s);
>  
>  extern libxl_ctx *ctx;
>  extern xentoollog_logger_stdiostream *logger;
> -pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
> -void postfork(void);
> +
> +void xl_ctx_alloc(void);
> +
> +/* child processes */
> +
> +typedef struct {
> +    /* every struct like this must be in XLCHILD_LIST */
> +    pid_t pid; /* 0: not in use */
> +    int reaped;
> +    int status; /* valid iff pid==-1 */
> +} xlchild;
> +
> +/* our child processes */
> +#define CHILD_LIST(_)                           \
> +    _(child_console)                            \
> +    _(child_waitdaemon)                         \
> +    _(migration_child)

Is using "_" like this valid? (i.e. not reserved by C or POSIX or
something)

> +
> +#define CHILD_DECLARE(ch) \
> +extern xlchild ch;
> +CHILD_LIST(CHILD_DECLARE);
> +
> +pid_t xl_fork(xlchild*); /* like fork, but prints and dies if it fails */
> +void postfork(void); /* needed only if we aren't going to exec right away */
> +pid_t xl_waitpid(xlchild*, int *status, int flags); /* handles EINTR */
>  
>  /* global options */
>  extern int autoballoon;
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 9f182c2..de1f2d8 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -17,7 +17,6 @@
>  #include "libxl_osdeps.h"
>  
>  #include <stdio.h>
> -#include <assert.h>
>  #include <stdlib.h>
>  #include <string.h>
>  #include <unistd.h>
> @@ -66,6 +65,13 @@ int logfile = 2;
>  /* every libxl action in xl uses this same libxl context */
>  libxl_ctx *ctx;
>  
> +#define CHILD_DEFINE(ch) \
> +xlchild ch;
> +CHILD_LIST(CHILD_DEFINE);
> +
> +xlchild child_console;
> +xlchild child_waitdaemon;

Aren't these redundant with the definition from the preceding
CHILD_LIST?

This CHILD_LIST thing is clever but it isn't half opaque for the reader.
I'd say we'd be better off open coding them. Either we say:

There are only 3 of them, we can put the functions which deal with them
near each other and have a comment saying "update all these".

or we can add a proper list (LIBXL_LIST based?) which we add them to and
manage explicitly from xlfork and reap/xlwaitpid.

> +
>  /* when we operate on a domain, it is this one: */
>  static uint32_t domid;
>  static const char *common_domname;
> @@ -1457,19 +1463,33 @@ static int freemem(libxl_domain_build_info *b_info)
>      return ERROR_NOMEM;
>  }
>  
> +static void console_child_report(void)
> +{
> +    if (child_console.pid) {
> +        int status;
> +        pid_t got = xl_waitpid(&child_console, &status, 0);
> +        if (got < 0)
> +            perror("xl: warning, failed to waitpid for console child");
> +        else if (status)
> +            libxl_report_child_exitstatus(ctx, XTL_ERROR, "console child",
> +                                          child_console.pid, status);
> +    }
> +}
> +
>  static void autoconnect_console(libxl_ctx *ctx_ignored,
>                                  libxl_event *ev, void *priv)
>  {
> -    pid_t *pid = priv;
>      uint32_t bldomid = ev->domid;
>  
>      libxl_event_free(ctx, ev);
>  
> -    *pid = fork();
> -    if (*pid < 0) {
> +    console_child_report();
> +
> +    pid_t pid = xl_fork(&child_console);

console_child_report doesn't seem to reset child_config.pid and xlfork
has an assert(!foo.pid) in it, so how does this work on the second time?

> +    if (pid < 0) {
>          perror("unable to fork xenconsole");
>          return;
> -    } else if (*pid > 0)
> +    } else if (pid > 0)
>          return;
>  
>      postfork();
>      libxl_evdisable_domain_death(ctx, deathw);
[...]


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:35:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:35:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUy2a-0002R6-9S; Thu, 17 May 2012 10:34:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUy2Z-0002R1-7n
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:34:39 +0000
Received: from [85.158.139.83:28270] by server-1.bemta-5.messagelabs.com id
	4B/DA-19304-E34D4BF4; Thu, 17 May 2012 10:34:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337250877!24614871!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1824 invoked from network); 17 May 2012 10:34:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:34:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526364"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:33:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:33:57 +0100
Message-ID: <1337250836.7781.46.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:33:56 +0100
In-Reply-To: <20404.4261.794115.716972@mariner.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 21:40 +0100, Ian Jackson wrote:
> Each time xl forks, it needs to record the pid, so that its exit
> status can be preserved if it happens that libxl's event loop reaped
> it.  Consequently we also have a new wrapper for waitpid, which in
> that case returns the previously-reaped status.
> 
> When we get a console ready callback from libxl, check to see if we
> have spawned but not reaped a previous console client, and if so reap
> it now.  (This is necessary to prevent improper use of the xlchild
> struct, but has the happy consequence of checking the exit status of
> the first console client in the pygrub case.)
> 
> Refactor the two calls to libxl_ctx_alloc into a new function
> xl_ctx_alloc which also sets the child reaped handler callback.
> 
> All of this has the effect of suppressing a message
>    unknown child [nnnn] unexpected exited status zero
> which would sometimes (depending on a race) appear with `xl create -c'
> and pygrub.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> Reported-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Roger Pau Monne <roger.pau@citrix.com>
> 
> ---
>  tools/libxl/xl.c         |   80 ++++++++++++++++++++++++++++++++++++++-------
>  tools/libxl/xl.h         |   29 +++++++++++++++-
>  tools/libxl/xl_cmdimpl.c |   80 ++++++++++++++++++++++++++-------------------
>  3 files changed, 140 insertions(+), 49 deletions(-)
> 
> diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
> index 750a61c..66499dd 100644
> --- a/tools/libxl/xl.c
> +++ b/tools/libxl/xl.c
> @@ -102,22 +102,79 @@ void postfork(void)
>      libxl_postfork_child_noexec(ctx); /* in case we don't exit/exec */
>      ctx = 0;
>  
> -    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
> -        fprintf(stderr, "cannot reinit xl context after fork\n");
> -        exit(-1);
> -    }
> +    xl_ctx_alloc();
>  }
>  
> -pid_t xl_fork(libxl_ctx *ctx) {
> -    pid_t pid;
> +pid_t xl_fork(xlchild *ch) {
> +    assert(!ch->pid);
> +    ch->reaped = 0;
>  
> -    pid = fork();
> -    if (pid == -1) {
> +    ch->pid = fork();
> +    if (ch->pid == -1) {
>          perror("fork failed");
>          exit(-1);
>      }
>  
> -    return pid;
> +    if (!ch->pid) {
> +#define CHILD_FORGET(other) \
> +        other.pid = 0;
> +CHILD_LIST(CHILD_FORGET)

This clears every xlchild in the CHILD_LIST? Why? Oh, because this is
now the child and so those aren't our children any more. A comment would
be nice here, took me a little while to figure out.

Is there some reason to not indent CHILD_LIST? (You've done it more than
once, so I guess so)

> +    }
> +
> +    return ch->pid;
> +}
> +
> +pid_t xl_waitpid(xlchild *child, int *status, int flags)
> +{
> +    pid_t got = child->pid;
> +    assert(got);
> +    if (child->reaped) {
> +        *status = child->status;
> +        child->pid = 0;
> +        return got;
> +    }
> +    for (;;) {
> +        got = waitpid(child->pid, status, flags);
> +        if (got < 0 && errno == EINTR) continue;
> +        if (got > 0) {
> +            assert(got == child->pid);
> +            child->pid = 0;
> +        }
> +        return got;
> +    }
> +}
> +
> +static int reaped_callback_child_check(xlchild *ch, pid_t got, int status)
> +{
> +    if (ch->pid != got)
> +        return 0;
> +    ch->reaped = 1;
> +    ch->status = status;
> +    return 1;
> +}
> +
> +static int xl_reaped_callback(pid_t got, int status, void *user)
> +{
> +    assert(got);
> +    return (
> +#define CHILD_CHECK(ch) \
> +            reaped_callback_child_check(&ch, got, status) ||
> +CHILD_LIST(CHILD_CHECK)
> +            0) ? 0 : ERROR_UNKNOWN_CHILD;
> +}
> +
> +static const libxl_childproc_hooks childproc_hooks = {
> +    .chldowner = libxl_sigchld_owner_libxl,
> +    .reaped_callback = xl_reaped_callback,
> +};
> +
> +void xl_ctx_alloc(void) {
> +    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
> +        fprintf(stderr, "cannot init xl context\n");
> +        exit(1);
> +    }
> +
> +    libxl_childproc_setmode(ctx, &childproc_hooks, 0);
>  }
>  
>  int main(int argc, char **argv)
> @@ -159,10 +216,7 @@ int main(int argc, char **argv)
>      logger = xtl_createlogger_stdiostream(stderr, minmsglevel,  0);
>      if (!logger) exit(1);
>  
> -    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
> -        fprintf(stderr, "cannot init xl context\n");
> -        exit(1);
> -    }
> +    xl_ctx_alloc();
>  
>      /* Read global config file options */
>      ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
> diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
> index 5d0d504..a00309c 100644
> --- a/tools/libxl/xl.h
> +++ b/tools/libxl/xl.h
> @@ -15,6 +15,8 @@
>  #ifndef XL_H
>  #define XL_H
>  
> +#include <assert.h>
> +
>  #include "xentoollog.h"
>  
>  struct cmd_spec {
> @@ -105,8 +107,31 @@ struct cmd_spec *cmdtable_lookup(const char *s);
>  
>  extern libxl_ctx *ctx;
>  extern xentoollog_logger_stdiostream *logger;
> -pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
> -void postfork(void);
> +
> +void xl_ctx_alloc(void);
> +
> +/* child processes */
> +
> +typedef struct {
> +    /* every struct like this must be in XLCHILD_LIST */
> +    pid_t pid; /* 0: not in use */
> +    int reaped;
> +    int status; /* valid iff pid==-1 */
> +} xlchild;
> +
> +/* our child processes */
> +#define CHILD_LIST(_)                           \
> +    _(child_console)                            \
> +    _(child_waitdaemon)                         \
> +    _(migration_child)

Is using "_" like this valid? (i.e. not reserved by C or POSIX or
something)

> +
> +#define CHILD_DECLARE(ch) \
> +extern xlchild ch;
> +CHILD_LIST(CHILD_DECLARE);
> +
> +pid_t xl_fork(xlchild*); /* like fork, but prints and dies if it fails */
> +void postfork(void); /* needed only if we aren't going to exec right away */
> +pid_t xl_waitpid(xlchild*, int *status, int flags); /* handles EINTR */
>  
>  /* global options */
>  extern int autoballoon;
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 9f182c2..de1f2d8 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -17,7 +17,6 @@
>  #include "libxl_osdeps.h"
>  
>  #include <stdio.h>
> -#include <assert.h>
>  #include <stdlib.h>
>  #include <string.h>
>  #include <unistd.h>
> @@ -66,6 +65,13 @@ int logfile = 2;
>  /* every libxl action in xl uses this same libxl context */
>  libxl_ctx *ctx;
>  
> +#define CHILD_DEFINE(ch) \
> +xlchild ch;
> +CHILD_LIST(CHILD_DEFINE);
> +
> +xlchild child_console;
> +xlchild child_waitdaemon;

Aren't these redundant with the definition from the preceding
CHILD_LIST?

This CHILD_LIST thing is clever but it isn't half opaque for the reader.
I'd say we'd be better off open coding them. Either we say:

There are only 3 of them, we can put the functions which deal with them
near each other and have a comment saying "update all these".

or we can add a proper list (LIBXL_LIST based?) which we add them to and
manage explicitly from xlfork and reap/xlwaitpid.

> +
>  /* when we operate on a domain, it is this one: */
>  static uint32_t domid;
>  static const char *common_domname;
> @@ -1457,19 +1463,33 @@ static int freemem(libxl_domain_build_info *b_info)
>      return ERROR_NOMEM;
>  }
>  
> +static void console_child_report(void)
> +{
> +    if (child_console.pid) {
> +        int status;
> +        pid_t got = xl_waitpid(&child_console, &status, 0);
> +        if (got < 0)
> +            perror("xl: warning, failed to waitpid for console child");
> +        else if (status)
> +            libxl_report_child_exitstatus(ctx, XTL_ERROR, "console child",
> +                                          child_console.pid, status);
> +    }
> +}
> +
>  static void autoconnect_console(libxl_ctx *ctx_ignored,
>                                  libxl_event *ev, void *priv)
>  {
> -    pid_t *pid = priv;
>      uint32_t bldomid = ev->domid;
>  
>      libxl_event_free(ctx, ev);
>  
> -    *pid = fork();
> -    if (*pid < 0) {
> +    console_child_report();
> +
> +    pid_t pid = xl_fork(&child_console);

console_child_report doesn't seem to reset child_config.pid and xlfork
has an assert(!foo.pid) in it, so how does this work on the second time?

> +    if (pid < 0) {
>          perror("unable to fork xenconsole");
>          return;
> -    } else if (*pid > 0)
> +    } else if (pid > 0)
>          return;
>  
>      postfork();
>      libxl_evdisable_domain_death(ctx, deathw);
[...]


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:36:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUy3c-0002Tt-Ng; Thu, 17 May 2012 10:35:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUy3b-0002To-6c
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:35:43 +0000
Received: from [193.109.254.147:58729] by server-11.bemta-14.messagelabs.com
	id 38/73-05858-E74D4BF4; Thu, 17 May 2012 10:35:42 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337250941!9694221!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29448 invoked from network); 17 May 2012 10:35:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:35:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526386"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:35:41 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 11:35:41 +0100
Date: Thu, 17 May 2012 11:35:26 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205171133340.26786@kaball-desktop>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized, when the guest write to a
> specific IO port.
> 
> Without this patch, the guest end up with two nics with the same MAC, the
> emulated nic and the PV nic.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---

I think that the patch is correct and a good candidate for rc3. Any
comments?


>  hw/xen_platform.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
> index a9c52a6..0214f37 100644
> --- a/hw/xen_platform.c
> +++ b/hw/xen_platform.c
> @@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>  {
>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>              PCI_CLASS_NETWORK_ETHERNET) {
> -        qdev_unplug(&(d->qdev), NULL);
> +        /* Until qdev_free includes a call to object_unparent, we call it here
> +         */
> +        object_unparent(&d->qdev.parent_obj);
> +        qdev_free(&d->qdev);
>      }
>  }
>  
> -- 
> Anthony PERARD
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:36:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUy3c-0002Tt-Ng; Thu, 17 May 2012 10:35:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SUy3b-0002To-6c
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:35:43 +0000
Received: from [193.109.254.147:58729] by server-11.bemta-14.messagelabs.com
	id 38/73-05858-E74D4BF4; Thu, 17 May 2012 10:35:42 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337250941!9694221!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29448 invoked from network); 17 May 2012 10:35:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:35:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526386"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:35:41 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 11:35:41 +0100
Date: Thu, 17 May 2012 11:35:26 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205171133340.26786@kaball-desktop>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Xen Devel <xen-devel@lists.xen.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized, when the guest write to a
> specific IO port.
> 
> Without this patch, the guest end up with two nics with the same MAC, the
> emulated nic and the PV nic.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---

I think that the patch is correct and a good candidate for rc3. Any
comments?


>  hw/xen_platform.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
> index a9c52a6..0214f37 100644
> --- a/hw/xen_platform.c
> +++ b/hw/xen_platform.c
> @@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>  {
>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>              PCI_CLASS_NETWORK_ETHERNET) {
> -        qdev_unplug(&(d->qdev), NULL);
> +        /* Until qdev_free includes a call to object_unparent, we call it here
> +         */
> +        object_unparent(&d->qdev.parent_obj);
> +        qdev_free(&d->qdev);
>      }
>  }
>  
> -- 
> Anthony PERARD
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:47:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:47:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyEY-0002io-TE; Thu, 17 May 2012 10:47:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyEX-0002ij-1w
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:47:01 +0000
Received: from [85.158.139.83:24046] by server-9.bemta-5.messagelabs.com id
	7F/1D-09826-427D4BF4; Thu, 17 May 2012 10:47:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337251618!29202787!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29170 invoked from network); 17 May 2012 10:46:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:46:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526577"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:46:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:46:58 +0100
Message-ID: <1337251617.7781.54.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:46:57 +0100
In-Reply-To: <1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] libxl: events: debugging output
 relating to ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxl/libxl_event.c    |   36 ++++++++++++++++++++++++++++++++++--
>  tools/libxl/libxl_internal.h |   12 ++++++++----
>  2 files changed, 42 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
> index bdbbdd4..7e71a88 100644
> --- a/tools/libxl/libxl_event.c
> +++ b/tools/libxl/libxl_event.c
> @@ -1006,11 +1006,14 @@ static void egc_run_callbacks(libxl__egc *egc)
>  
>      LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
>          LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
> +        LOG(DEBUG,"event %p callback type=%s",
> +            ev, libxl_event_type_to_string(ev->type));
>          CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
>      }
>  
>      LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
>          LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
> +        LOG(DEBUG,"ao %p: progress report: callback aop=%p", aop->ao, aop);
>          aop->how->callback(CTX, aop->ev, aop->how->for_callback);
>  
>          CTX_LOCK;
> @@ -1023,6 +1026,7 @@ static void egc_run_callbacks(libxl__egc *egc)
>      LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
>                               entry_for_callback, ao_tmp) {
>          LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
> +        LOG(DEBUG,"ao %p: completion callback", ao);
>          ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
>          CTX_LOCK;
>          ao->notified = 1;
> @@ -1382,7 +1386,9 @@ int libxl_event_wait(libxl_ctx *ctx, libxl_event **event_r,
>  
>  void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
>  {
> +    AO_GC;
>      if (!ao) return;
> +    LOG(DEBUG,"ao %p: destroy",ao);
>      if (ao->poller) libxl__poller_put(ctx, ao->poller);
>      ao->magic = LIBXL__AO_MAGIC_DESTROYED;
>      libxl__free_all(&ao->gc);
> @@ -1392,6 +1398,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
>  void libxl__ao_abort(libxl__ao *ao)
>  {
>      AO_GC;
> +    LOG(DEBUG,"ao %p: abort",ao);
>      assert(ao->magic == LIBXL__AO_MAGIC);
>      assert(ao->in_initiator);
>      assert(!ao->complete);
> @@ -1408,6 +1415,8 @@ libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
>  
>  void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
>  {
> +    AO_GC;
> +    LOG(DEBUG,"ao %p: complete, rc=%d",ao,rc);
>      assert(ao->magic == LIBXL__AO_MAGIC);
>      assert(!ao->complete);
>      ao->complete = 1;
> @@ -1437,6 +1446,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
>              /* don't bother with this if we're not in the event loop */
>              libxl__poller_wakeup(egc, ao->poller);
>      } else if (ao->how.callback) {
> +        AO_GC;

I'd prefer that we kept these sorts of magic infrastructure macro things
at the tops of functions.


> @@ -1507,6 +1532,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
>                  break;
>              }
>  
> +            LOG(DEBUG,"ao %p: not ready, waiting",ao);

This one is too verbose, with xl -vvv cr -c it spams the pygrub console
every second making it unusable. Even before that point there is a good
dozen of them printed out.

I noticed that very little of this stuff ends up
in /var/log/xen/xl-<NAME>.log. I'm not sure why though since it would
seem the obvious place for it to go. I guess it happens in the
foreground not the daemon?


Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:47:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:47:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyEY-0002io-TE; Thu, 17 May 2012 10:47:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyEX-0002ij-1w
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:47:01 +0000
Received: from [85.158.139.83:24046] by server-9.bemta-5.messagelabs.com id
	7F/1D-09826-427D4BF4; Thu, 17 May 2012 10:47:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337251618!29202787!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29170 invoked from network); 17 May 2012 10:46:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:46:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526577"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:46:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:46:58 +0100
Message-ID: <1337251617.7781.54.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:46:57 +0100
In-Reply-To: <1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] libxl: events: debugging output
 relating to ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxl/libxl_event.c    |   36 ++++++++++++++++++++++++++++++++++--
>  tools/libxl/libxl_internal.h |   12 ++++++++----
>  2 files changed, 42 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
> index bdbbdd4..7e71a88 100644
> --- a/tools/libxl/libxl_event.c
> +++ b/tools/libxl/libxl_event.c
> @@ -1006,11 +1006,14 @@ static void egc_run_callbacks(libxl__egc *egc)
>  
>      LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
>          LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
> +        LOG(DEBUG,"event %p callback type=%s",
> +            ev, libxl_event_type_to_string(ev->type));
>          CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
>      }
>  
>      LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
>          LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
> +        LOG(DEBUG,"ao %p: progress report: callback aop=%p", aop->ao, aop);
>          aop->how->callback(CTX, aop->ev, aop->how->for_callback);
>  
>          CTX_LOCK;
> @@ -1023,6 +1026,7 @@ static void egc_run_callbacks(libxl__egc *egc)
>      LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
>                               entry_for_callback, ao_tmp) {
>          LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
> +        LOG(DEBUG,"ao %p: completion callback", ao);
>          ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
>          CTX_LOCK;
>          ao->notified = 1;
> @@ -1382,7 +1386,9 @@ int libxl_event_wait(libxl_ctx *ctx, libxl_event **event_r,
>  
>  void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
>  {
> +    AO_GC;
>      if (!ao) return;
> +    LOG(DEBUG,"ao %p: destroy",ao);
>      if (ao->poller) libxl__poller_put(ctx, ao->poller);
>      ao->magic = LIBXL__AO_MAGIC_DESTROYED;
>      libxl__free_all(&ao->gc);
> @@ -1392,6 +1398,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
>  void libxl__ao_abort(libxl__ao *ao)
>  {
>      AO_GC;
> +    LOG(DEBUG,"ao %p: abort",ao);
>      assert(ao->magic == LIBXL__AO_MAGIC);
>      assert(ao->in_initiator);
>      assert(!ao->complete);
> @@ -1408,6 +1415,8 @@ libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
>  
>  void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
>  {
> +    AO_GC;
> +    LOG(DEBUG,"ao %p: complete, rc=%d",ao,rc);
>      assert(ao->magic == LIBXL__AO_MAGIC);
>      assert(!ao->complete);
>      ao->complete = 1;
> @@ -1437,6 +1446,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
>              /* don't bother with this if we're not in the event loop */
>              libxl__poller_wakeup(egc, ao->poller);
>      } else if (ao->how.callback) {
> +        AO_GC;

I'd prefer that we kept these sorts of magic infrastructure macro things
at the tops of functions.


> @@ -1507,6 +1532,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
>                  break;
>              }
>  
> +            LOG(DEBUG,"ao %p: not ready, waiting",ao);

This one is too verbose, with xl -vvv cr -c it spams the pygrub console
every second making it unusable. Even before that point there is a good
dozen of them printed out.

I noticed that very little of this stuff ends up
in /var/log/xen/xl-<NAME>.log. I'm not sure why though since it would
seem the obvious place for it to go. I guess it happens in the
foreground not the daemon?


Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:49:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyFq-0002mV-C3; Thu, 17 May 2012 10:48:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUyFp-0002mM-7f
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:48:21 +0000
Received: from [85.158.139.83:36708] by server-2.bemta-5.messagelabs.com id
	2F/18-17016-477D4BF4; Thu, 17 May 2012 10:48:20 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337251699!28879039!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6459 invoked from network); 17 May 2012 10:48:19 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 10:48:19 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUyFm-000GOl-Ac; Thu, 17 May 2012 10:48:18 +0000
Date: Thu, 17 May 2012 11:48:18 +0100
From: Tim Deegan <tim@xen.org>
To: Malcolm Crossley <malcolm.crossley@citrix.com>
Message-ID: <20120517104818.GC57529@ocelot.phlegethon.org>
References: <a909ee6d97995abda920.1336670717@malcolmc-Dell>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <a909ee6d97995abda920.1336670717@malcolmc-Dell>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xensource.com, keir@xen.org
Subject: Re: [Xen-devel] [PATCH] [RFC] Xen: Spread boot time page scrubbing
	across all available CPU's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

This seems like a very good thing, though for after 4.2.  A few detailed
comments below. 

At 18:25 +0100 on 10 May (1336674317), Malcolm Crossley wrote:
> The page scrubbing is done in 256MB chunks in lockstep across all the CPU's.
> This allows for the boot CPU to hold the heap_lock whilst each chunk is being
> scrubbed and then release the heap_lock when all CPU's are finished scrubing
> their individual chunk. This allows for the heap_lock to not be held
> continously and for pending softirqs are to be serviced periodically across
> all CPU's.
> 
> The page scrub memory chunks are allocated to the CPU's in a NUMA aware
> fashion to reduce Socket interconnect overhead and improve performance.
> 
> This patch reduces the boot page scrub time on a 256GB 16 core AMD Opteron
> machine from 1 minute 46 seconds to 38 seconds.
> 
> diff -r 8a86d841e6d4 -r a909ee6d9799 xen/common/page_alloc.c
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -89,6 +89,15 @@ static struct bootmem_region {
>  } *__initdata bootmem_region_list;
>  static unsigned int __initdata nr_bootmem_regions;
>  
> +static atomic_t __initdata bootscrub_count = ATOMIC_INIT(0);
> +
> +struct scrub_region {
> +    unsigned long offset;
> +    unsigned long start;
> +    unsigned long chunk_size;
> +    unsigned long cpu_block_size;
> +};
> +
>  static void __init boot_bug(int line)
>  {
>      panic("Boot BUG at %s:%d\n", __FILE__, line);
> @@ -1090,28 +1099,43 @@ void __init end_boot_allocator(void)
>      printk("\n");
>  }
>  
> -/*
> - * Scrub all unallocated pages in all heap zones. This function is more
> - * convoluted than appears necessary because we do not want to continuously
> - * hold the lock while scrubbing very large memory areas.
> - */
> -void __init scrub_heap_pages(void)
> +void __init smp_scrub_heap_pages(void *data)
>  {
>      unsigned long mfn;
>      struct page_info *pg;
> +    unsigned long start_mfn, end_mfn;
> +    struct scrub_region *region = (struct scrub_region *) data;
> +    int temp_cpu, local_node, local_cpu_index;
>  
> -    if ( !opt_bootscrub )
> -        return;
> +    ASSERT(region != NULL);
>  
> -    printk("Scrubbing Free RAM: ");
> +    /* Determine the current CPU's index into all this Node's CPU's*/
> +    local_node = cpu_to_node(smp_processor_id());
> +    local_cpu_index = 0;
> +    for_each_cpu(temp_cpu, &node_to_cpumask(local_node))
> +    {
> +        if(smp_processor_id() == temp_cpu)

Missing whitespace around the parentheses.

> +            break;
> +        local_cpu_index++;
> +    }
>  
> -    for ( mfn = first_valid_mfn; mfn < max_page; mfn++ )
> +    /* Calculate the starting mfn for this CPU's memory block */
> +    start_mfn = region->start + (region->cpu_block_size * local_cpu_index)
> +                 + region->offset;
> +
> +    /* Calculate the end mfn into this CPU's memory block for this iteration */
> +    if ( ( region->offset + region->chunk_size ) > region->cpu_block_size )

Too much whitespace. :)  The extra space only goes in the outermost parens.

> +        end_mfn = region->start + (region->cpu_block_size * local_cpu_index)
> +                    + region->cpu_block_size;
> +    else
> +        end_mfn = start_mfn + region->chunk_size;
> +
> +
> +    for ( mfn = start_mfn; mfn < end_mfn; mfn++ )
>      {
> -        process_pending_softirqs();
> -
>          pg = mfn_to_page(mfn);
>  
> -        /* Quick lock-free check. */
> +        /* Check the mfn is valid and page is free. */
>          if ( !mfn_valid(mfn) || !page_state_is(pg, free) )
>              continue;
>  
> @@ -1119,11 +1143,82 @@ void __init scrub_heap_pages(void)
>          if ( (mfn % ((100*1024*1024)/PAGE_SIZE)) == 0 )
>              printk(".");

Since the scrub order is pretty much arbitrary this printk isn't much of
an indicator of progress.  Maybe replace it with a printk in the
dispatch loop instead?

> +        /* Do the scrub if possible */
> +        if ( page_state_is(pg, free) )

You already checked this a couple of lines above.

> +            scrub_one_page(pg);
> +    }
> +    /* Increment count to indicate scrubbing complete on this CPU */
> +    atomic_inc(&bootscrub_count);

Does this need a wmb() before it (and another barrier on the reading side)?
It's OK on x86 but maybe not on looser memory models, and this is common
code.

> +}
> +
> +/*
> + * Scrub all unallocated pages in all heap zones. This function uses all
> + * online cpu's to scrub the memory in parallel.
> + */
> +void __init scrub_heap_pages(void)
> +{
> +    cpumask_t node_cpus;
> +    unsigned int i;
> +    struct scrub_region region[MAX_NUMNODES];

That's 2KiB on the stack (which is only 8KiB in total).  At this point
it's probably fine but if we start to support more than 64 nodes it
might cause trouble.  Maybe static __initdata?

> +    unsigned long mfn_off, chunk_size, max_cpu_blk_size, mem_start, mem_end;
> +
> +    if ( !opt_bootscrub )
> +        return;
> +
> +    printk("Scrubbing Free RAM: ");
> +
> +    /* Scrub block size */
> +    chunk_size = (256*1024*1024/PAGE_SIZE);
> +
> +    max_cpu_blk_size = 0;
> +    /* Determine the amount of memory to scrub, per CPU on each Node */
> +    for_each_online_node ( i )
> +    {
> +        /* Calculate Node memory start and end address */
> +        mem_start = max(node_start_pfn(i), first_valid_mfn);
> +        mem_end = min(mem_start + node_spanned_pages(i), max_page);
> +        node_cpus = node_to_cpumask(i);
> +        /* Divide by number of CPU's for this node */
> +        region[i].cpu_block_size = (mem_end - mem_start) /
> +                                                    cpumask_weight(&node_cpus);
> +        region[i].start = mem_start;
> +
> +        if ( region[i].cpu_block_size > max_cpu_blk_size )
> +            max_cpu_blk_size = region[i].cpu_block_size;
> +    }
> +
> +    if ( chunk_size > max_cpu_blk_size )
> +        chunk_size = max_cpu_blk_size;
> +
> +    /*
> +     * Start all CPU's scrubbing memory, chunk_size at a time
> +     */
> +    for ( mfn_off = 0; mfn_off < max_cpu_blk_size; mfn_off += chunk_size )
> +    {

I'm not convinced that this is going to scrub all memory.
max_cpu_blk_size is MAX(FLOOR(node-mfns/node_cpus)), so you might lose a
few frames here and there to rounding error.

> +        process_pending_softirqs();
> +
> +        atomic_set(&bootscrub_count, 0);
> +
>          spin_lock(&heap_lock);

I think we need a comment here explaining why the lock is being taken
and why it's OK to wait for other CPUs to answer an IPI with it held.

>  
> -        /* Re-check page status with lock held. */
> -        if ( page_state_is(pg, free) )
> -            scrub_one_page(pg);
> +        /* Start all other CPU's on all nodes */
> +        for_each_online_node ( i )
> +        {
> +            region[i].chunk_size = chunk_size;
> +            region[i].offset = mfn_off;
> +            node_cpus = node_to_cpumask(i);
> +            /* Clear local cpu ID */
> +            cpumask_clear_cpu(smp_processor_id(), &node_cpus);
> +            /* Start page scrubbing on all other CPU's */
> +            on_selected_cpus(&allbutself, smp_scrub_heap_pages, &region[i], 0);

Does this even compile?  Surely s/allbutself/node_cpus/ here.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:49:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyFq-0002mV-C3; Thu, 17 May 2012 10:48:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUyFp-0002mM-7f
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:48:21 +0000
Received: from [85.158.139.83:36708] by server-2.bemta-5.messagelabs.com id
	2F/18-17016-477D4BF4; Thu, 17 May 2012 10:48:20 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337251699!28879039!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6459 invoked from network); 17 May 2012 10:48:19 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 10:48:19 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUyFm-000GOl-Ac; Thu, 17 May 2012 10:48:18 +0000
Date: Thu, 17 May 2012 11:48:18 +0100
From: Tim Deegan <tim@xen.org>
To: Malcolm Crossley <malcolm.crossley@citrix.com>
Message-ID: <20120517104818.GC57529@ocelot.phlegethon.org>
References: <a909ee6d97995abda920.1336670717@malcolmc-Dell>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <a909ee6d97995abda920.1336670717@malcolmc-Dell>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xensource.com, keir@xen.org
Subject: Re: [Xen-devel] [PATCH] [RFC] Xen: Spread boot time page scrubbing
	across all available CPU's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

This seems like a very good thing, though for after 4.2.  A few detailed
comments below. 

At 18:25 +0100 on 10 May (1336674317), Malcolm Crossley wrote:
> The page scrubbing is done in 256MB chunks in lockstep across all the CPU's.
> This allows for the boot CPU to hold the heap_lock whilst each chunk is being
> scrubbed and then release the heap_lock when all CPU's are finished scrubing
> their individual chunk. This allows for the heap_lock to not be held
> continously and for pending softirqs are to be serviced periodically across
> all CPU's.
> 
> The page scrub memory chunks are allocated to the CPU's in a NUMA aware
> fashion to reduce Socket interconnect overhead and improve performance.
> 
> This patch reduces the boot page scrub time on a 256GB 16 core AMD Opteron
> machine from 1 minute 46 seconds to 38 seconds.
> 
> diff -r 8a86d841e6d4 -r a909ee6d9799 xen/common/page_alloc.c
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -89,6 +89,15 @@ static struct bootmem_region {
>  } *__initdata bootmem_region_list;
>  static unsigned int __initdata nr_bootmem_regions;
>  
> +static atomic_t __initdata bootscrub_count = ATOMIC_INIT(0);
> +
> +struct scrub_region {
> +    unsigned long offset;
> +    unsigned long start;
> +    unsigned long chunk_size;
> +    unsigned long cpu_block_size;
> +};
> +
>  static void __init boot_bug(int line)
>  {
>      panic("Boot BUG at %s:%d\n", __FILE__, line);
> @@ -1090,28 +1099,43 @@ void __init end_boot_allocator(void)
>      printk("\n");
>  }
>  
> -/*
> - * Scrub all unallocated pages in all heap zones. This function is more
> - * convoluted than appears necessary because we do not want to continuously
> - * hold the lock while scrubbing very large memory areas.
> - */
> -void __init scrub_heap_pages(void)
> +void __init smp_scrub_heap_pages(void *data)
>  {
>      unsigned long mfn;
>      struct page_info *pg;
> +    unsigned long start_mfn, end_mfn;
> +    struct scrub_region *region = (struct scrub_region *) data;
> +    int temp_cpu, local_node, local_cpu_index;
>  
> -    if ( !opt_bootscrub )
> -        return;
> +    ASSERT(region != NULL);
>  
> -    printk("Scrubbing Free RAM: ");
> +    /* Determine the current CPU's index into all this Node's CPU's*/
> +    local_node = cpu_to_node(smp_processor_id());
> +    local_cpu_index = 0;
> +    for_each_cpu(temp_cpu, &node_to_cpumask(local_node))
> +    {
> +        if(smp_processor_id() == temp_cpu)

Missing whitespace around the parentheses.

> +            break;
> +        local_cpu_index++;
> +    }
>  
> -    for ( mfn = first_valid_mfn; mfn < max_page; mfn++ )
> +    /* Calculate the starting mfn for this CPU's memory block */
> +    start_mfn = region->start + (region->cpu_block_size * local_cpu_index)
> +                 + region->offset;
> +
> +    /* Calculate the end mfn into this CPU's memory block for this iteration */
> +    if ( ( region->offset + region->chunk_size ) > region->cpu_block_size )

Too much whitespace. :)  The extra space only goes in the outermost parens.

> +        end_mfn = region->start + (region->cpu_block_size * local_cpu_index)
> +                    + region->cpu_block_size;
> +    else
> +        end_mfn = start_mfn + region->chunk_size;
> +
> +
> +    for ( mfn = start_mfn; mfn < end_mfn; mfn++ )
>      {
> -        process_pending_softirqs();
> -
>          pg = mfn_to_page(mfn);
>  
> -        /* Quick lock-free check. */
> +        /* Check the mfn is valid and page is free. */
>          if ( !mfn_valid(mfn) || !page_state_is(pg, free) )
>              continue;
>  
> @@ -1119,11 +1143,82 @@ void __init scrub_heap_pages(void)
>          if ( (mfn % ((100*1024*1024)/PAGE_SIZE)) == 0 )
>              printk(".");

Since the scrub order is pretty much arbitrary this printk isn't much of
an indicator of progress.  Maybe replace it with a printk in the
dispatch loop instead?

> +        /* Do the scrub if possible */
> +        if ( page_state_is(pg, free) )

You already checked this a couple of lines above.

> +            scrub_one_page(pg);
> +    }
> +    /* Increment count to indicate scrubbing complete on this CPU */
> +    atomic_inc(&bootscrub_count);

Does this need a wmb() before it (and another barrier on the reading side)?
It's OK on x86 but maybe not on looser memory models, and this is common
code.

> +}
> +
> +/*
> + * Scrub all unallocated pages in all heap zones. This function uses all
> + * online cpu's to scrub the memory in parallel.
> + */
> +void __init scrub_heap_pages(void)
> +{
> +    cpumask_t node_cpus;
> +    unsigned int i;
> +    struct scrub_region region[MAX_NUMNODES];

That's 2KiB on the stack (which is only 8KiB in total).  At this point
it's probably fine but if we start to support more than 64 nodes it
might cause trouble.  Maybe static __initdata?

> +    unsigned long mfn_off, chunk_size, max_cpu_blk_size, mem_start, mem_end;
> +
> +    if ( !opt_bootscrub )
> +        return;
> +
> +    printk("Scrubbing Free RAM: ");
> +
> +    /* Scrub block size */
> +    chunk_size = (256*1024*1024/PAGE_SIZE);
> +
> +    max_cpu_blk_size = 0;
> +    /* Determine the amount of memory to scrub, per CPU on each Node */
> +    for_each_online_node ( i )
> +    {
> +        /* Calculate Node memory start and end address */
> +        mem_start = max(node_start_pfn(i), first_valid_mfn);
> +        mem_end = min(mem_start + node_spanned_pages(i), max_page);
> +        node_cpus = node_to_cpumask(i);
> +        /* Divide by number of CPU's for this node */
> +        region[i].cpu_block_size = (mem_end - mem_start) /
> +                                                    cpumask_weight(&node_cpus);
> +        region[i].start = mem_start;
> +
> +        if ( region[i].cpu_block_size > max_cpu_blk_size )
> +            max_cpu_blk_size = region[i].cpu_block_size;
> +    }
> +
> +    if ( chunk_size > max_cpu_blk_size )
> +        chunk_size = max_cpu_blk_size;
> +
> +    /*
> +     * Start all CPU's scrubbing memory, chunk_size at a time
> +     */
> +    for ( mfn_off = 0; mfn_off < max_cpu_blk_size; mfn_off += chunk_size )
> +    {

I'm not convinced that this is going to scrub all memory.
max_cpu_blk_size is MAX(FLOOR(node-mfns/node_cpus)), so you might lose a
few frames here and there to rounding error.

> +        process_pending_softirqs();
> +
> +        atomic_set(&bootscrub_count, 0);
> +
>          spin_lock(&heap_lock);

I think we need a comment here explaining why the lock is being taken
and why it's OK to wait for other CPUs to answer an IPI with it held.

>  
> -        /* Re-check page status with lock held. */
> -        if ( page_state_is(pg, free) )
> -            scrub_one_page(pg);
> +        /* Start all other CPU's on all nodes */
> +        for_each_online_node ( i )
> +        {
> +            region[i].chunk_size = chunk_size;
> +            region[i].offset = mfn_off;
> +            node_cpus = node_to_cpumask(i);
> +            /* Clear local cpu ID */
> +            cpumask_clear_cpu(smp_processor_id(), &node_cpus);
> +            /* Start page scrubbing on all other CPU's */
> +            on_selected_cpus(&allbutself, smp_scrub_heap_pages, &region[i], 0);

Does this even compile?  Surely s/allbutself/node_cpus/ here.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:49:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:49:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyGp-0002rs-VW; Thu, 17 May 2012 10:49:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyGo-0002rd-9P
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:49:22 +0000
Received: from [193.109.254.147:45958] by server-2.bemta-14.messagelabs.com id
	10/86-19409-1B7D4BF4; Thu, 17 May 2012 10:49:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337251761!9696638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23791 invoked from network); 17 May 2012 10:49:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:49:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526627"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:49:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:49:20 +0100
Message-ID: <1337251759.7781.55.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:49:19 +0100
In-Reply-To: <1337181914-7199-3-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-3-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2/3] libxl: Do not use-after-free on ao
 progress reporting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> We need to call libxl__free_all after egc_run_callbacks since some of
> the callbacks might be ao progress reports allocated from the egc's
> gc.
> 
> Fixes a segfault in egc_run_callbacks.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl_event.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
> index 7e71a88..d3bb4da 100644
> --- a/tools/libxl/libxl_event.c
> +++ b/tools/libxl/libxl_event.c
> @@ -1039,9 +1039,9 @@ static void egc_run_callbacks(libxl__egc *egc)
>  void libxl__egc_cleanup(libxl__egc *egc)
>  {
>      EGC_GC;
> -    libxl__free_all(gc);
> -
>      egc_run_callbacks(egc);
> +
> +    libxl__free_all(gc);
>  }
>  
>  /*



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:49:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:49:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyGp-0002rs-VW; Thu, 17 May 2012 10:49:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyGo-0002rd-9P
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:49:22 +0000
Received: from [193.109.254.147:45958] by server-2.bemta-14.messagelabs.com id
	10/86-19409-1B7D4BF4; Thu, 17 May 2012 10:49:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337251761!9696638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23791 invoked from network); 17 May 2012 10:49:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:49:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526627"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:49:21 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:49:20 +0100
Message-ID: <1337251759.7781.55.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:49:19 +0100
In-Reply-To: <1337181914-7199-3-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-3-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2/3] libxl: Do not use-after-free on ao
 progress reporting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> We need to call libxl__free_all after egc_run_callbacks since some of
> the callbacks might be ao progress reports allocated from the egc's
> gc.
> 
> Fixes a segfault in egc_run_callbacks.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl_event.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
> index 7e71a88..d3bb4da 100644
> --- a/tools/libxl/libxl_event.c
> +++ b/tools/libxl/libxl_event.c
> @@ -1039,9 +1039,9 @@ static void egc_run_callbacks(libxl__egc *egc)
>  void libxl__egc_cleanup(libxl__egc *egc)
>  {
>      EGC_GC;
> -    libxl__free_all(gc);
> -
>      egc_run_callbacks(egc);
> +
> +    libxl__free_all(gc);
>  }
>  
>  /*



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:50:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:50:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyHq-0002ys-Dy; Thu, 17 May 2012 10:50:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pbonzini@redhat.com>) id 1SUyHo-0002yc-BT
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:50:24 +0000
Received: from [85.158.143.99:15202] by server-2.bemta-4.messagelabs.com id
	6C/2D-12211-FE7D4BF4; Thu, 17 May 2012 10:50:23 +0000
X-Env-Sender: pbonzini@redhat.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337251821!28425966!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTMwMDc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8959 invoked from network); 17 May 2012 10:50:22 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-15.tower-216.messagelabs.com with SMTP;
	17 May 2012 10:50:22 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4HAoFAi008480
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 17 May 2012 06:50:16 -0400
Received: from yakj.usersys.redhat.com (ovpn-112-28.ams2.redhat.com
	[10.36.112.28])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4HAoClH029662; Thu, 17 May 2012 06:50:13 -0400
Message-ID: <4FB4D7E3.2080409@redhat.com>
Date: Thu, 17 May 2012 12:50:11 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205171133340.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205171133340.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 17/05/2012 12:35, Stefano Stabellini ha scritto:
> On Wed, 16 May 2012, Anthony PERARD wrote:
>> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
>> unplug before the guest drivers are initialized, when the guest write to a
>> specific IO port.
>>
>> Without this patch, the guest end up with two nics with the same MAC, the
>> emulated nic and the PV nic.
>>
>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>> ---
> 
> I think that the patch is correct and a good candidate for rc3. Any
> comments?

Yes, it's certainly nice when patches become as simple as this one. :)

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

> 
>>  hw/xen_platform.c |    5 ++++-
>>  1 files changed, 4 insertions(+), 1 deletions(-)
>>
>> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
>> index a9c52a6..0214f37 100644
>> --- a/hw/xen_platform.c
>> +++ b/hw/xen_platform.c
>> @@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>>  {
>>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>>              PCI_CLASS_NETWORK_ETHERNET) {
>> -        qdev_unplug(&(d->qdev), NULL);
>> +        /* Until qdev_free includes a call to object_unparent, we call it here
>> +         */
>> +        object_unparent(&d->qdev.parent_obj);
>> +        qdev_free(&d->qdev);
>>      }
>>  }
>>  
>> -- 
>> Anthony PERARD
>>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:50:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:50:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyHq-0002ys-Dy; Thu, 17 May 2012 10:50:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pbonzini@redhat.com>) id 1SUyHo-0002yc-BT
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:50:24 +0000
Received: from [85.158.143.99:15202] by server-2.bemta-4.messagelabs.com id
	6C/2D-12211-FE7D4BF4; Thu, 17 May 2012 10:50:23 +0000
X-Env-Sender: pbonzini@redhat.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337251821!28425966!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTMwMDc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8959 invoked from network); 17 May 2012 10:50:22 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-15.tower-216.messagelabs.com with SMTP;
	17 May 2012 10:50:22 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4HAoFAi008480
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 17 May 2012 06:50:16 -0400
Received: from yakj.usersys.redhat.com (ovpn-112-28.ams2.redhat.com
	[10.36.112.28])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q4HAoClH029662; Thu, 17 May 2012 06:50:13 -0400
Message-ID: <4FB4D7E3.2080409@redhat.com>
Date: Thu, 17 May 2012 12:50:11 +0200
From: Paolo Bonzini <pbonzini@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205171133340.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205171133340.26786@kaball-desktop>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, QEMU-devel <qemu-devel@nongnu.org>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Il 17/05/2012 12:35, Stefano Stabellini ha scritto:
> On Wed, 16 May 2012, Anthony PERARD wrote:
>> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
>> unplug before the guest drivers are initialized, when the guest write to a
>> specific IO port.
>>
>> Without this patch, the guest end up with two nics with the same MAC, the
>> emulated nic and the PV nic.
>>
>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>> ---
> 
> I think that the patch is correct and a good candidate for rc3. Any
> comments?

Yes, it's certainly nice when patches become as simple as this one. :)

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

> 
>>  hw/xen_platform.c |    5 ++++-
>>  1 files changed, 4 insertions(+), 1 deletions(-)
>>
>> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
>> index a9c52a6..0214f37 100644
>> --- a/hw/xen_platform.c
>> +++ b/hw/xen_platform.c
>> @@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>>  {
>>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>>              PCI_CLASS_NETWORK_ETHERNET) {
>> -        qdev_unplug(&(d->qdev), NULL);
>> +        /* Until qdev_free includes a call to object_unparent, we call it here
>> +         */
>> +        object_unparent(&d->qdev.parent_obj);
>> +        qdev_free(&d->qdev);
>>      }
>>  }
>>  
>> -- 
>> Anthony PERARD
>>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:51:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:51:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyIz-00036m-Td; Thu, 17 May 2012 10:51:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyIy-00036S-R5
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:51:37 +0000
Received: from [193.109.254.147:10297] by server-11.bemta-14.messagelabs.com
	id 17/97-05858-738D4BF4; Thu, 17 May 2012 10:51:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337251894!9709825!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11624 invoked from network); 17 May 2012 10:51:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:51:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526682"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:51:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:51:33 +0100
Message-ID: <1337251891.7781.57.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:51:31 +0100
In-Reply-To: <1337181914-7199-4-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-4-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/3] libxl,
 xl: fix bootloader immediate console attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> Fix bugs related to console handling:
> 
>  * In libxl_primary_console_exec, if libxl__domain_type fails, do
>    not abort, but instead log and return an error.  This can occur
>    if the domid is invalid.
> 
>  * In xl's autoconnect_console, rename the ctx formal parameter so
>    that when postfork creates a new ctx and puts it in the global ctx,
>    we don't end up using the old one (via the formal parameter which
>    has shadowed the global).

I'll refresh my "xl: remove all local "ctx" variables" after this goes
in and resend the remainder (if there is any).

> 
>  * In xl's autoconnect_console, pass the domid from the event
>    to libxl_primary_console_exec, rather than using the global domid
>    (which has not yet been set, since it is only set at completion
>    of the ao).
> 
> This causes xl create -c to once more work with pygrub.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl.c      |    4 ++++
>  tools/libxl/xl_cmdimpl.c |    6 ++++--
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 4d01cf8..1e0105e 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1188,6 +1188,10 @@ int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
>          case LIBXL_DOMAIN_TYPE_PV:
>              rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
>              break;
> +        case -1:
> +            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
> +            rc = ERROR_FAIL;
> +            break;
>          default:
>              abort();
>          }
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 5fc5cde..9f182c2 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -1457,9 +1457,11 @@ static int freemem(libxl_domain_build_info *b_info)
>      return ERROR_NOMEM;
>  }
>  
> -static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
> +static void autoconnect_console(libxl_ctx *ctx_ignored,
> +                                libxl_event *ev, void *priv)
>  {
>      pid_t *pid = priv;
> +    uint32_t bldomid = ev->domid;
>  
>      libxl_event_free(ctx, ev);
>  
> @@ -1473,7 +1475,7 @@ static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
>      postfork();
>  
>      sleep(1);
> -    libxl_primary_console_exec(ctx, domid);
> +    libxl_primary_console_exec(ctx, bldomid);
>      /* Do not return. xl continued in child process */
>      fprintf(stderr, "Unable to attach console\n");
>      _exit(1);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:51:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:51:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyIz-00036m-Td; Thu, 17 May 2012 10:51:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyIy-00036S-R5
	for xen-devel@lists.xen.org; Thu, 17 May 2012 10:51:37 +0000
Received: from [193.109.254.147:10297] by server-11.bemta-14.messagelabs.com
	id 17/97-05858-738D4BF4; Thu, 17 May 2012 10:51:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337251894!9709825!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11624 invoked from network); 17 May 2012 10:51:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:51:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526682"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:51:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:51:33 +0100
Message-ID: <1337251891.7781.57.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 11:51:31 +0100
In-Reply-To: <1337181914-7199-4-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-4-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3/3] libxl,
 xl: fix bootloader immediate console attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> Fix bugs related to console handling:
> 
>  * In libxl_primary_console_exec, if libxl__domain_type fails, do
>    not abort, but instead log and return an error.  This can occur
>    if the domid is invalid.
> 
>  * In xl's autoconnect_console, rename the ctx formal parameter so
>    that when postfork creates a new ctx and puts it in the global ctx,
>    we don't end up using the old one (via the formal parameter which
>    has shadowed the global).

I'll refresh my "xl: remove all local "ctx" variables" after this goes
in and resend the remainder (if there is any).

> 
>  * In xl's autoconnect_console, pass the domid from the event
>    to libxl_primary_console_exec, rather than using the global domid
>    (which has not yet been set, since it is only set at completion
>    of the ao).
> 
> This causes xl create -c to once more work with pygrub.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl.c      |    4 ++++
>  tools/libxl/xl_cmdimpl.c |    6 ++++--
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 4d01cf8..1e0105e 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1188,6 +1188,10 @@ int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
>          case LIBXL_DOMAIN_TYPE_PV:
>              rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
>              break;
> +        case -1:
> +            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
> +            rc = ERROR_FAIL;
> +            break;
>          default:
>              abort();
>          }
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 5fc5cde..9f182c2 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -1457,9 +1457,11 @@ static int freemem(libxl_domain_build_info *b_info)
>      return ERROR_NOMEM;
>  }
>  
> -static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
> +static void autoconnect_console(libxl_ctx *ctx_ignored,
> +                                libxl_event *ev, void *priv)
>  {
>      pid_t *pid = priv;
> +    uint32_t bldomid = ev->domid;
>  
>      libxl_event_free(ctx, ev);
>  
> @@ -1473,7 +1475,7 @@ static void autoconnect_console(libxl_ctx *ctx, libxl_event *ev, void *priv)
>      postfork();
>  
>      sleep(1);
> -    libxl_primary_console_exec(ctx, domid);
> +    libxl_primary_console_exec(ctx, bldomid);
>      /* Do not return. xl continued in child process */
>      fprintf(stderr, "Unable to attach console\n");
>      _exit(1);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:54:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:54:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyLg-0003NG-IB; Thu, 17 May 2012 10:54:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyLf-0003N5-MN
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:54:23 +0000
Received: from [193.109.254.147:36120] by server-11.bemta-14.messagelabs.com
	id 79/6A-05858-FD8D4BF4; Thu, 17 May 2012 10:54:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337252062!9748076!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8172 invoked from network); 17 May 2012 10:54:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:54:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526726"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:54:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:54:21 +0100
Message-ID: <1337252060.7781.59.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Date: Thu, 17 May 2012 11:54:20 +0100
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E13AB5E@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13AB5E@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: use libxl__zcalloc instead calloc
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 06:01 +0100, Zhang, Yang Z wrote:
> since libxl__zalloc never fails, it's better to use it.


> Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>

It'd have been clearer to use libxl__calloc instead. Nevertheless:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 612a24c8c4f9 -r c8a01e966ec8 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Tue May 15 17:01:54 2012 +0100
> +++ b/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
> @@ -498,9 +498,7 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
>          return ERROR_FAIL;
> 
>      sz = (max_cpus + 7) / 8;
> -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> -    if (!cpumap->map)
> -        return ERROR_NOMEM;
> +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
>      cpumap->size = sz;
>      return 0;
>  }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:54:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:54:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyLg-0003NG-IB; Thu, 17 May 2012 10:54:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyLf-0003N5-MN
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:54:23 +0000
Received: from [193.109.254.147:36120] by server-11.bemta-14.messagelabs.com
	id 79/6A-05858-FD8D4BF4; Thu, 17 May 2012 10:54:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337252062!9748076!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8172 invoked from network); 17 May 2012 10:54:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:54:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526726"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:54:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:54:21 +0100
Message-ID: <1337252060.7781.59.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Date: Thu, 17 May 2012 11:54:20 +0100
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E13AB5E@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13AB5E@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: use libxl__zcalloc instead calloc
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 06:01 +0100, Zhang, Yang Z wrote:
> since libxl__zalloc never fails, it's better to use it.


> Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>

It'd have been clearer to use libxl__calloc instead. Nevertheless:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> diff -r 612a24c8c4f9 -r c8a01e966ec8 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c Tue May 15 17:01:54 2012 +0100
> +++ b/tools/libxl/libxl_utils.c Thu May 17 12:59:49 2012 +0800
> @@ -498,9 +498,7 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
>          return ERROR_FAIL;
> 
>      sz = (max_cpus + 7) / 8;
> -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> -    if (!cpumap->map)
> -        return ERROR_NOMEM;
> +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
>      cpumap->size = sz;
>      return 0;
>  }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:58:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:58:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyOx-0003Xn-5F; Thu, 17 May 2012 10:57:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUyOv-0003Xd-VN
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:57:46 +0000
Received: from [85.158.139.83:37921] by server-1.bemta-5.messagelabs.com id
	C5/97-19304-8A9D4BF4; Thu, 17 May 2012 10:57:44 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337252262!28351873!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14361 invoked from network); 17 May 2012 10:57:43 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 10:57:43 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUyOp-000GVx-OG; Thu, 17 May 2012 10:57:39 +0000
Date: Thu, 17 May 2012 11:57:39 +0100
From: Tim Deegan <tim@xen.org>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Message-ID: <20120517105739.GD57529@ocelot.phlegethon.org>
References: <A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
	<20120516123601.GA1933@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120516123601.GA1933@ocelot.phlegethon.org>
User-Agent: Mutt/1.4.2.1i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

At 13:36 +0100 on 16 May (1337175361), Tim Deegan wrote:
> At 11:36 +0000 on 16 May (1337168174), Zhang, Yang Z wrote:
> > Did the attached patch apply to upstream xen? I tried the latest xen
> > and still saw the high cpu utilization.
> 
> The patch is not yet applied.  It's been cleaned up into a patch series
> that I posted last Thursday, and will probably be applied later this
> week. 

It's now been applied to the staging tree, as csets 25350--25360.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 10:58:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 10:58:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyOx-0003Xn-5F; Thu, 17 May 2012 10:57:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUyOv-0003Xd-VN
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 10:57:46 +0000
Received: from [85.158.139.83:37921] by server-1.bemta-5.messagelabs.com id
	C5/97-19304-8A9D4BF4; Thu, 17 May 2012 10:57:44 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337252262!28351873!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14361 invoked from network); 17 May 2012 10:57:43 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 10:57:43 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUyOp-000GVx-OG; Thu, 17 May 2012 10:57:39 +0000
Date: Thu, 17 May 2012 11:57:39 +0100
From: Tim Deegan <tim@xen.org>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Message-ID: <20120517105739.GD57529@ocelot.phlegethon.org>
References: <A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
	<20120516123601.GA1933@ocelot.phlegethon.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120516123601.GA1933@ocelot.phlegethon.org>
User-Agent: Mutt/1.4.2.1i
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

At 13:36 +0100 on 16 May (1337175361), Tim Deegan wrote:
> At 11:36 +0000 on 16 May (1337168174), Zhang, Yang Z wrote:
> > Did the attached patch apply to upstream xen? I tried the latest xen
> > and still saw the high cpu utilization.
> 
> The patch is not yet applied.  It's been cleaned up into a patch series
> that I posted last Thursday, and will probably be applied later this
> week. 

It's now been applied to the staging tree, as csets 25350--25360.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:00:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:00:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyRB-0003gc-MC; Thu, 17 May 2012 11:00:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyRA-0003gT-Hg
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:00:04 +0000
Received: from [85.158.139.83:2475] by server-9.bemta-5.messagelabs.com id
	66/C0-09826-33AD4BF4; Thu, 17 May 2012 11:00:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337252398!27427011!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29973 invoked from network); 17 May 2012 10:59:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:59:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526951"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:59:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:59:56 +0100
Message-ID: <1337252395.7781.61.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Vasiliy Tolstov <v.tolstov@selfip.ru>
Date: Thu, 17 May 2012 11:59:55 +0100
In-Reply-To: <CACaajQsodYYBdEY=PeYiae+=f9sX78Oc9-avjRKOO-hczcjJOg@mail.gmail.com>
References: <CACaajQsodYYBdEY=PeYiae+=f9sX78Oc9-avjRKOO-hczcjJOg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] writing own stubdom or modify exiting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 23:15 +0100, Vasiliy Tolstov wrote:
> Hello! If i need to write own stubdom that do some things before
> original kernel that lays on domU fs is started.
> What i need to do? What is the best method to do this?

Not sure exactly what you mean but this sounds a bit like what pvgrub
does, plus adding in the "some things" at the appropriate point?

> As i read 3 stubdoms based on mini-os (c, ocaml, pvgrub) where i can
> find some how-to or another docs to write own stubdom?

I'm afraid this is not an area which is well-documented AFAIK. If you
can't see anything under docs, stubdom or extras/mini-os in the source
tree then it probably doesn't exist... (I suppose you should check the
wiki & google for completeness...)

The general gist is that you write your own app.c with a main() function
and link it against mini-os. The rest of what you want, e.g. the kexec
functionality to launch the final kernel, you can probably crib from the
stubdom/grub/ and the other examples given by the existing stubdoms.

If you are going to go forward with this then documenting it as you
discover it would be a really great service for the next guy...

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:00:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:00:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUyRB-0003gc-MC; Thu, 17 May 2012 11:00:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUyRA-0003gT-Hg
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:00:04 +0000
Received: from [85.158.139.83:2475] by server-9.bemta-5.messagelabs.com id
	66/C0-09826-33AD4BF4; Thu, 17 May 2012 11:00:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337252398!27427011!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29973 invoked from network); 17 May 2012 10:59:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 10:59:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12526951"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:59:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:59:56 +0100
Message-ID: <1337252395.7781.61.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Vasiliy Tolstov <v.tolstov@selfip.ru>
Date: Thu, 17 May 2012 11:59:55 +0100
In-Reply-To: <CACaajQsodYYBdEY=PeYiae+=f9sX78Oc9-avjRKOO-hczcjJOg@mail.gmail.com>
References: <CACaajQsodYYBdEY=PeYiae+=f9sX78Oc9-avjRKOO-hczcjJOg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] writing own stubdom or modify exiting
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 23:15 +0100, Vasiliy Tolstov wrote:
> Hello! If i need to write own stubdom that do some things before
> original kernel that lays on domU fs is started.
> What i need to do? What is the best method to do this?

Not sure exactly what you mean but this sounds a bit like what pvgrub
does, plus adding in the "some things" at the appropriate point?

> As i read 3 stubdoms based on mini-os (c, ocaml, pvgrub) where i can
> find some how-to or another docs to write own stubdom?

I'm afraid this is not an area which is well-documented AFAIK. If you
can't see anything under docs, stubdom or extras/mini-os in the source
tree then it probably doesn't exist... (I suppose you should check the
wiki & google for completeness...)

The general gist is that you write your own app.c with a main() function
and link it against mini-os. The rest of what you want, e.g. the kexec
functionality to launch the final kernel, you can probably crib from the
stubdom/grub/ and the other examples given by the existing stubdoms.

If you are going to go forward with this then documenting it as you
discover it would be a really great service for the next guy...

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:37:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:37:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUz0U-00048f-S0; Thu, 17 May 2012 11:36:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SUz0L-00048a-Iv
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:36:34 +0000
Received: from [85.158.143.99:14838] by server-1.bemta-4.messagelabs.com id
	1C/A8-00342-8B2E4BF4; Thu, 17 May 2012 11:36:24 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337254583!28433560!1
X-Originating-IP: [208.97.132.81]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiAyMDguOTcuMTMyLjgxID0+IDI1NDc2\n,sa_preprocessor: 
	QmFkIElQOiAyMDguOTcuMTMyLjgxID0+IDI1NDc2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14038 invoked from network); 17 May 2012 11:36:23 -0000
Received: from caiajhbdcaib.dreamhost.com (HELO homiemail-a11.g.dreamhost.com)
	(208.97.132.81) by server-15.tower-216.messagelabs.com with SMTP;
	17 May 2012 11:36:23 -0000
Received: from homiemail-a11.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTP id 2DEF46E074;
	Thu, 17 May 2012 04:36:22 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=RaSIC76//9rnU/wXCQv4NPoRjgNKZu7rQjDnzqad9opv
	OnSLMx70tjEbuu/FiBVsYh4RssNJ6gAlKdvEeLATksbsVKOORuJR5GYCd2ho9Hs6
	cSVqH4X0z+DCampkZLhvZqU2vyw0cbKLtf4EOv4aoGEyQSmuqRJeS4TzJwAw7kg=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=aPw5y+T6KUhcrLdGnWdMnm30Yo8=; b=RK0HPWrT
	uKWooDPglAsPTZ54+Ya1AMolxD95FxXJ2l0xZPwiiITVV8fVjx45+CbNQrfy0WgO
	mbU7WW5nmdOQzEkPnTbNoXeHAcqsEVdm17QC+CyYHur+EEd6PuIbBTu+bukMD2+l
	f79TvqYrPCcDBdzILRW9T5GiOEN4K/ACaPw=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTPA id CAAEE6E070;
	Thu, 17 May 2012 04:36:21 -0700 (PDT)
Received: from 69.196.187.110 (proxying for 69.196.187.110)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Thu, 17 May 2012 04:36:22 -0700
Message-ID: <7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <20120517094033.GA57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
Date: Thu, 17 May 2012 04:36:22 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: andres@gridcentric.ca, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>
>> diff -r f83397dfb6c0 -r 3169fba29613 xen/arch/x86/mm/mem_sharing.c
>> --- a/xen/arch/x86/mm/mem_sharing.c
>> +++ b/xen/arch/x86/mm/mem_sharing.c
>> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>>      if ( spage->sharing->handle != sh )
>>          goto err_unlock;
>>
>> -    /* Make sure the target page is a hole in the physmap */
>> -    if ( mfn_valid(cmfn) ||
>> -         (!(p2m_is_ram(cmfn_type))) )
>> +    /* Make sure the target page is a hole in the physmap. These are
>> typically
>> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages.
>> See the
>> +     * definition of p2m_is_hole in p2m.h. */
>> +    if ( !p2m_is_hole(cmfn_type) || mfn_valid(cmfn) )
>
> As I said last time, the mfn_valid test is wrong for everything except
> p2m_paging_in.

I am sorry. I have been testing all along -- and therefore sent -- the
wrong patch. Can we please revert this? My sloppiness.

>
> I've checked in a reduced version of this that just drops p2m_paging_in
> from P2M_HOLE_TYPES (so the pager wins this race instead of the sharer)
> which I think will do for 4.2:
> http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/25bdef4493ae
> can you check that it makes sense, please?

Unfortunately not. The way it's been checked in, it nullifies the ability
to plug in a paging fault with a shared page -- which was healthily
working before.

I believe the fix we'll converge to is keep paging_in in the "hole" set of
types, and remove the check for valid mfn. Something along the lines of
what I've pasted below. But no more sloppinees, I'll do some testing and
hopefully submit the right thing!

Thanks
Andres

# HG changeset patch
# Parent 9fc0252536f0a4ddf48b7ec9cd7a7243271545f8
x86/mem_sharing: Rectify test for "empty" physmap entry in
sharing_add_to_physmap.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 9fc0252536f0 xen/arch/x86/mm/mem_sharing.c
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
     if ( spage->sharing->handle != sh )
         goto err_unlock;

-    /* Make sure the target page is a hole in the physmap */
-    if ( mfn_valid(cmfn) ||
-         (!(p2m_is_ram(cmfn_type))) )
+    /* Make sure the target page is a hole in the physmap. These are
typically
+     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
+     * definition of p2m_is_hole in p2m.h. */
+    if ( !p2m_is_hole(cmfn_type) )
     {
         ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
         goto err_unlock;
diff -r 9fc0252536f0 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
                        | p2m_to_mask(p2m_ram_paging_in)       \
                        | p2m_to_mask(p2m_ram_shared))

+/* Types that represent a physmap hole that is ok to replace with a shared
+ * entry */
+#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
+                       | p2m_to_mask(p2m_invalid)       \
+                       | p2m_to_mask(p2m_ram_paging_in) \
+                       | p2m_to_mask(p2m_ram_paged))
+
 /* Grant mapping types, which map to a real machine frame in another
  * VM */
 #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
@@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;

 /* Useful predicates */
 #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
+#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
 #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
 #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
 #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)

>
> Cheers,
>
> Tim.
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:37:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:37:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUz0U-00048f-S0; Thu, 17 May 2012 11:36:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SUz0L-00048a-Iv
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:36:34 +0000
Received: from [85.158.143.99:14838] by server-1.bemta-4.messagelabs.com id
	1C/A8-00342-8B2E4BF4; Thu, 17 May 2012 11:36:24 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337254583!28433560!1
X-Originating-IP: [208.97.132.81]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiAyMDguOTcuMTMyLjgxID0+IDI1NDc2\n,sa_preprocessor: 
	QmFkIElQOiAyMDguOTcuMTMyLjgxID0+IDI1NDc2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14038 invoked from network); 17 May 2012 11:36:23 -0000
Received: from caiajhbdcaib.dreamhost.com (HELO homiemail-a11.g.dreamhost.com)
	(208.97.132.81) by server-15.tower-216.messagelabs.com with SMTP;
	17 May 2012 11:36:23 -0000
Received: from homiemail-a11.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTP id 2DEF46E074;
	Thu, 17 May 2012 04:36:22 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=RaSIC76//9rnU/wXCQv4NPoRjgNKZu7rQjDnzqad9opv
	OnSLMx70tjEbuu/FiBVsYh4RssNJ6gAlKdvEeLATksbsVKOORuJR5GYCd2ho9Hs6
	cSVqH4X0z+DCampkZLhvZqU2vyw0cbKLtf4EOv4aoGEyQSmuqRJeS4TzJwAw7kg=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=aPw5y+T6KUhcrLdGnWdMnm30Yo8=; b=RK0HPWrT
	uKWooDPglAsPTZ54+Ya1AMolxD95FxXJ2l0xZPwiiITVV8fVjx45+CbNQrfy0WgO
	mbU7WW5nmdOQzEkPnTbNoXeHAcqsEVdm17QC+CyYHur+EEd6PuIbBTu+bukMD2+l
	f79TvqYrPCcDBdzILRW9T5GiOEN4K/ACaPw=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTPA id CAAEE6E070;
	Thu, 17 May 2012 04:36:21 -0700 (PDT)
Received: from 69.196.187.110 (proxying for 69.196.187.110)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Thu, 17 May 2012 04:36:22 -0700
Message-ID: <7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <20120517094033.GA57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
Date: Thu, 17 May 2012 04:36:22 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: andres@gridcentric.ca, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>
>> diff -r f83397dfb6c0 -r 3169fba29613 xen/arch/x86/mm/mem_sharing.c
>> --- a/xen/arch/x86/mm/mem_sharing.c
>> +++ b/xen/arch/x86/mm/mem_sharing.c
>> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>>      if ( spage->sharing->handle != sh )
>>          goto err_unlock;
>>
>> -    /* Make sure the target page is a hole in the physmap */
>> -    if ( mfn_valid(cmfn) ||
>> -         (!(p2m_is_ram(cmfn_type))) )
>> +    /* Make sure the target page is a hole in the physmap. These are
>> typically
>> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages.
>> See the
>> +     * definition of p2m_is_hole in p2m.h. */
>> +    if ( !p2m_is_hole(cmfn_type) || mfn_valid(cmfn) )
>
> As I said last time, the mfn_valid test is wrong for everything except
> p2m_paging_in.

I am sorry. I have been testing all along -- and therefore sent -- the
wrong patch. Can we please revert this? My sloppiness.

>
> I've checked in a reduced version of this that just drops p2m_paging_in
> from P2M_HOLE_TYPES (so the pager wins this race instead of the sharer)
> which I think will do for 4.2:
> http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/25bdef4493ae
> can you check that it makes sense, please?

Unfortunately not. The way it's been checked in, it nullifies the ability
to plug in a paging fault with a shared page -- which was healthily
working before.

I believe the fix we'll converge to is keep paging_in in the "hole" set of
types, and remove the check for valid mfn. Something along the lines of
what I've pasted below. But no more sloppinees, I'll do some testing and
hopefully submit the right thing!

Thanks
Andres

# HG changeset patch
# Parent 9fc0252536f0a4ddf48b7ec9cd7a7243271545f8
x86/mem_sharing: Rectify test for "empty" physmap entry in
sharing_add_to_physmap.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 9fc0252536f0 xen/arch/x86/mm/mem_sharing.c
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
     if ( spage->sharing->handle != sh )
         goto err_unlock;

-    /* Make sure the target page is a hole in the physmap */
-    if ( mfn_valid(cmfn) ||
-         (!(p2m_is_ram(cmfn_type))) )
+    /* Make sure the target page is a hole in the physmap. These are
typically
+     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
+     * definition of p2m_is_hole in p2m.h. */
+    if ( !p2m_is_hole(cmfn_type) )
     {
         ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
         goto err_unlock;
diff -r 9fc0252536f0 xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
                        | p2m_to_mask(p2m_ram_paging_in)       \
                        | p2m_to_mask(p2m_ram_shared))

+/* Types that represent a physmap hole that is ok to replace with a shared
+ * entry */
+#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
+                       | p2m_to_mask(p2m_invalid)       \
+                       | p2m_to_mask(p2m_ram_paging_in) \
+                       | p2m_to_mask(p2m_ram_paged))
+
 /* Grant mapping types, which map to a real machine frame in another
  * VM */
 #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
@@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;

 /* Useful predicates */
 #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
+#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
 #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
 #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
 #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)

>
> Cheers,
>
> Tim.
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:41:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:41:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUz5H-0004ID-P1; Thu, 17 May 2012 11:41:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUz5G-0004I8-6z
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:41:30 +0000
Received: from [85.158.138.51:3573] by server-2.bemta-3.messagelabs.com id
	D8/FA-09269-9E3E4BF4; Thu, 17 May 2012 11:41:29 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337254887!27665941!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMwNDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9733 invoked from network); 17 May 2012 11:41:28 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 11:41:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="195293037"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 07:41:26 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 07:41:26 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUz5C-00087A-3u;
	Thu, 17 May 2012 12:41:26 +0100
Message-ID: <4FB4E3E5.4090600@citrix.com>
Date: Thu, 17 May 2012 12:41:25 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <4FB3CD0E.5000708@amd.com>
In-Reply-To: <4FB3CD0E.5000708@amd.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> Fix this build error:
>
> libxl_aoutils.c: In function 'libxl__openptys':
> libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct termios *' but argument
> is of type 'const struct termios *'
> libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
> is of type 'const struct winsize *'
>
> Signed-off-by: Christoph Egger<Christoph.Egger@amd.com>

Acked-by: Roger Pau Monne <roger.pau@citrix.com>

I've tested this on both NetBSD and Debian, and it fixes the problem, 
without introducing new ones. It's strange because these are BSD 
functions, but Linux implementation change the parameters...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:41:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:41:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUz5H-0004ID-P1; Thu, 17 May 2012 11:41:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUz5G-0004I8-6z
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:41:30 +0000
Received: from [85.158.138.51:3573] by server-2.bemta-3.messagelabs.com id
	D8/FA-09269-9E3E4BF4; Thu, 17 May 2012 11:41:29 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337254887!27665941!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMwNDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9733 invoked from network); 17 May 2012 11:41:28 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 11:41:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="195293037"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 07:41:26 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 07:41:26 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUz5C-00087A-3u;
	Thu, 17 May 2012 12:41:26 +0100
Message-ID: <4FB4E3E5.4090600@citrix.com>
Date: Thu, 17 May 2012 12:41:25 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <4FB3CD0E.5000708@amd.com>
In-Reply-To: <4FB3CD0E.5000708@amd.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> Fix this build error:
>
> libxl_aoutils.c: In function 'libxl__openptys':
> libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct termios *' but argument
> is of type 'const struct termios *'
> libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
> is of type 'const struct winsize *'
>
> Signed-off-by: Christoph Egger<Christoph.Egger@amd.com>

Acked-by: Roger Pau Monne <roger.pau@citrix.com>

I've tested this on both NetBSD and Debian, and it fixes the problem, 
without introducing new ones. It's strange because these are BSD 
functions, but Linux implementation change the parameters...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:44:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:44:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUz8M-0004Pt-F5; Thu, 17 May 2012 11:44:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUz8K-0004Pm-Kn
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:44:40 +0000
Received: from [193.109.254.147:39250] by server-7.bemta-14.messagelabs.com id
	BA/FE-01627-7A4E4BF4; Thu, 17 May 2012 11:44:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337255079!9719835!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28073 invoked from network); 17 May 2012 11:44:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 11:44:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12527648"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:44:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 12:44:39 +0100
Message-ID: <1337255077.7781.67.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Thu, 17 May 2012 12:44:37 +0100
In-Reply-To: <4FB3CD0E.5000708@amd.com>
References: <4FB3CD0E.5000708@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:51 +0100, Christoph Egger wrote:
> Fix this build error:

on NetBSD I presume.

The Linux openpty(3) manpage also notes that the const was only added
there in glibc 2.8. I note that CentOS 5 has 2.5 so this would
presumably also happen on some old, but still supported, Linux distros.

So:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> libxl_aoutils.c: In function 'libxl__openptys':
> libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct termios *' but argument
> is of type 'const struct termios *'
> libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
> is of type 'const struct winsize *'
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:44:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:44:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUz8M-0004Pt-F5; Thu, 17 May 2012 11:44:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SUz8K-0004Pm-Kn
	for xen-devel@lists.xen.org; Thu, 17 May 2012 11:44:40 +0000
Received: from [193.109.254.147:39250] by server-7.bemta-14.messagelabs.com id
	BA/FE-01627-7A4E4BF4; Thu, 17 May 2012 11:44:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337255079!9719835!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28073 invoked from network); 17 May 2012 11:44:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 11:44:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12527648"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:44:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 12:44:39 +0100
Message-ID: <1337255077.7781.67.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Thu, 17 May 2012 12:44:37 +0100
In-Reply-To: <4FB3CD0E.5000708@amd.com>
References: <4FB3CD0E.5000708@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:51 +0100, Christoph Egger wrote:
> Fix this build error:

on NetBSD I presume.

The Linux openpty(3) manpage also notes that the const was only added
there in glibc 2.8. I note that CentOS 5 has 2.5 so this would
presumably also happen on some old, but still supported, Linux distros.

So:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> 
> libxl_aoutils.c: In function 'libxl__openptys':
> libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct termios *' but argument
> is of type 'const struct termios *'
> libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
> is of type 'const struct winsize *'
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:52:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:52:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzFE-0004aw-Bo; Thu, 17 May 2012 11:51:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUzFD-0004aq-K4
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 11:51:47 +0000
Received: from [193.109.254.147:14120] by server-1.bemta-14.messagelabs.com id
	51/04-29372-256E4BF4; Thu, 17 May 2012 11:51:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337255506!4593251!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10220 invoked from network); 17 May 2012 11:51:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 11:51:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12527868"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:51:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 12:51:45 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUzFB-0000Sb-HP;
	Thu, 17 May 2012 11:51:45 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUzFB-00069T-BX;
	Thu, 17 May 2012 12:51:45 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12910-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 12:51:45 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12910: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12910 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12910/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail pass in 12907

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12876
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install  fail in 12907 like 12860

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12907 never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 11:52:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 11:52:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzFE-0004aw-Bo; Thu, 17 May 2012 11:51:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SUzFD-0004aq-K4
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 11:51:47 +0000
Received: from [193.109.254.147:14120] by server-1.bemta-14.messagelabs.com id
	51/04-29372-256E4BF4; Thu, 17 May 2012 11:51:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337255506!4593251!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10220 invoked from network); 17 May 2012 11:51:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 11:51:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330905600"; d="scan'208";a="12527868"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:51:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 12:51:45 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SUzFB-0000Sb-HP;
	Thu, 17 May 2012 11:51:45 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SUzFB-00069T-BX;
	Thu, 17 May 2012 12:51:45 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12910-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 12:51:45 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12910: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12910 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12910/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail pass in 12907

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12876
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install  fail in 12907 like 12860

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12907 never pass

version targeted for testing:
 xen                  612a24c8c4f9
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:03:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzPy-00050r-BZ; Thu, 17 May 2012 12:02:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUzPx-00050k-70
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:02:53 +0000
Received: from [85.158.143.99:19694] by server-1.bemta-4.messagelabs.com id
	27/92-00342-CE8E4BF4; Thu, 17 May 2012 12:02:52 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337256171!23148120!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26850 invoked from network); 17 May 2012 12:02:51 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 12:02:51 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUzPt-000HI9-Ij; Thu, 17 May 2012 12:02:49 +0000
Date: Thu, 17 May 2012 13:02:49 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120517120249.GE57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 04:36 -0700 on 17 May (1337229382), Andres Lagar-Cavilla wrote:
> I believe the fix we'll converge to is keep paging_in in the "hole" set of
> types, and remove the check for valid mfn. Something along the lines of
> what I've pasted below.

OK.  Please send it as a diff against what's already applied - I think
what we have now is more correct (if less useful) than what we had
before.

Do you have to worry about freeing the page as well?  Will it otherwise
be leaked into a state where it's allocated but not in the p2m?  I see
that guest_physmap_add_entry() doesn't free paging_in pages but maybe
that's wrong too?

Cheers,

Tim.

> # HG changeset patch
> # Parent 9fc0252536f0a4ddf48b7ec9cd7a7243271545f8
> x86/mem_sharing: Rectify test for "empty" physmap entry in
> sharing_add_to_physmap.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> 
> diff -r 9fc0252536f0 xen/arch/x86/mm/mem_sharing.c
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>      if ( spage->sharing->handle != sh )
>          goto err_unlock;
> 
> -    /* Make sure the target page is a hole in the physmap */
> -    if ( mfn_valid(cmfn) ||
> -         (!(p2m_is_ram(cmfn_type))) )
> +    /* Make sure the target page is a hole in the physmap. These are
> typically
> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
> +     * definition of p2m_is_hole in p2m.h. */
> +    if ( !p2m_is_hole(cmfn_type) )
>      {
>          ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
>          goto err_unlock;
> diff -r 9fc0252536f0 xen/include/asm-x86/p2m.h
> --- a/xen/include/asm-x86/p2m.h
> +++ b/xen/include/asm-x86/p2m.h
> @@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
>                         | p2m_to_mask(p2m_ram_paging_in)       \
>                         | p2m_to_mask(p2m_ram_shared))
> 
> +/* Types that represent a physmap hole that is ok to replace with a shared
> + * entry */
> +#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
> +                       | p2m_to_mask(p2m_invalid)       \
> +                       | p2m_to_mask(p2m_ram_paging_in) \
> +                       | p2m_to_mask(p2m_ram_paged))
> +
>  /* Grant mapping types, which map to a real machine frame in another
>   * VM */
>  #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
> @@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;
> 
>  /* Useful predicates */
>  #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
> +#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
>  #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
>  #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
>  #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)
> 
> >
> > Cheers,
> >
> > Tim.
> >
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:03:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzPy-00050r-BZ; Thu, 17 May 2012 12:02:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SUzPx-00050k-70
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:02:53 +0000
Received: from [85.158.143.99:19694] by server-1.bemta-4.messagelabs.com id
	27/92-00342-CE8E4BF4; Thu, 17 May 2012 12:02:52 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337256171!23148120!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26850 invoked from network); 17 May 2012 12:02:51 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 12:02:51 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SUzPt-000HI9-Ij; Thu, 17 May 2012 12:02:49 +0000
Date: Thu, 17 May 2012 13:02:49 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120517120249.GE57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 04:36 -0700 on 17 May (1337229382), Andres Lagar-Cavilla wrote:
> I believe the fix we'll converge to is keep paging_in in the "hole" set of
> types, and remove the check for valid mfn. Something along the lines of
> what I've pasted below.

OK.  Please send it as a diff against what's already applied - I think
what we have now is more correct (if less useful) than what we had
before.

Do you have to worry about freeing the page as well?  Will it otherwise
be leaked into a state where it's allocated but not in the p2m?  I see
that guest_physmap_add_entry() doesn't free paging_in pages but maybe
that's wrong too?

Cheers,

Tim.

> # HG changeset patch
> # Parent 9fc0252536f0a4ddf48b7ec9cd7a7243271545f8
> x86/mem_sharing: Rectify test for "empty" physmap entry in
> sharing_add_to_physmap.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> 
> diff -r 9fc0252536f0 xen/arch/x86/mm/mem_sharing.c
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>      if ( spage->sharing->handle != sh )
>          goto err_unlock;
> 
> -    /* Make sure the target page is a hole in the physmap */
> -    if ( mfn_valid(cmfn) ||
> -         (!(p2m_is_ram(cmfn_type))) )
> +    /* Make sure the target page is a hole in the physmap. These are
> typically
> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages. See the
> +     * definition of p2m_is_hole in p2m.h. */
> +    if ( !p2m_is_hole(cmfn_type) )
>      {
>          ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
>          goto err_unlock;
> diff -r 9fc0252536f0 xen/include/asm-x86/p2m.h
> --- a/xen/include/asm-x86/p2m.h
> +++ b/xen/include/asm-x86/p2m.h
> @@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
>                         | p2m_to_mask(p2m_ram_paging_in)       \
>                         | p2m_to_mask(p2m_ram_shared))
> 
> +/* Types that represent a physmap hole that is ok to replace with a shared
> + * entry */
> +#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
> +                       | p2m_to_mask(p2m_invalid)       \
> +                       | p2m_to_mask(p2m_ram_paging_in) \
> +                       | p2m_to_mask(p2m_ram_paged))
> +
>  /* Grant mapping types, which map to a real machine frame in another
>   * VM */
>  #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
> @@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;
> 
>  /* Useful predicates */
>  #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
> +#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
>  #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
>  #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
>  #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)
> 
> >
> > Cheers,
> >
> > Tim.
> >
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdI-0005EN-HH; Thu, 17 May 2012 12:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdG-0005Du-PM
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:39 +0000
Received: from [85.158.138.51:58179] by server-8.bemta-3.messagelabs.com id
	08/F9-24428-52CE4BF4; Thu, 17 May 2012 12:16:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2619 invoked from network); 17 May 2012 12:16:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286242"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-1o;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:29 +0100
Message-ID: <1337256990-51913-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@citrix.com>,
	Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h on
	_pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
libxl.h is already present in the include search path, the old one was
included instead of the new one, giving compilation errors. Since
_pyxl_types.c is generated at compilation time, we can safely set
the path to libxl.h include.

I've only experienced this problem when compiling Xen on NetBSD with
old header files in the include path, Linux seems to not have this
problem.

Cc: Ian Jackson <ian.jackson@citrix.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/python/genwrap.py |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
index af8a5e9..0d7cc98 100644
--- a/tools/python/genwrap.py
+++ b/tools/python/genwrap.py
@@ -309,10 +309,12 @@ _hidden int genwrap__defbool_set(PyObject *v, libxl_defbool *db);
 #include <stdint.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include "libxl.h" /* gah */
+#include "%s" /* gah */
 #include "%s"
 
-""" % tuple((' '.join(sys.argv),) + (os.path.split(decls)[-1:]),))
+""" % tuple((' '.join(sys.argv),) +
+            (os.path.dirname(sys.argv[1]) + "/libxl.h",) +
+            (os.path.split(decls)[-1:]),))
     for ty in types:
         if ty.private:
             continue
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdI-0005EN-HH; Thu, 17 May 2012 12:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdG-0005Du-PM
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:39 +0000
Received: from [85.158.138.51:58179] by server-8.bemta-3.messagelabs.com id
	08/F9-24428-52CE4BF4; Thu, 17 May 2012 12:16:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2619 invoked from network); 17 May 2012 12:16:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286242"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-1o;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:29 +0100
Message-ID: <1337256990-51913-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@citrix.com>,
	Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h on
	_pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
libxl.h is already present in the include search path, the old one was
included instead of the new one, giving compilation errors. Since
_pyxl_types.c is generated at compilation time, we can safely set
the path to libxl.h include.

I've only experienced this problem when compiling Xen on NetBSD with
old header files in the include path, Linux seems to not have this
problem.

Cc: Ian Jackson <ian.jackson@citrix.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/python/genwrap.py |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
index af8a5e9..0d7cc98 100644
--- a/tools/python/genwrap.py
+++ b/tools/python/genwrap.py
@@ -309,10 +309,12 @@ _hidden int genwrap__defbool_set(PyObject *v, libxl_defbool *db);
 #include <stdint.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include "libxl.h" /* gah */
+#include "%s" /* gah */
 #include "%s"
 
-""" % tuple((' '.join(sys.argv),) + (os.path.split(decls)[-1:]),))
+""" % tuple((' '.join(sys.argv),) +
+            (os.path.dirname(sys.argv[1]) + "/libxl.h",) +
+            (os.path.split(decls)[-1:]),))
     for ty in types:
         if ty.private:
             continue
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdI-0005EU-Tf; Thu, 17 May 2012 12:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdH-0005Du-Ar
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:39 +0000
Received: from [85.158.138.51:32715] by server-8.bemta-3.messagelabs.com id
	0D/F9-24428-62CE4BF4; Thu, 17 May 2012 12:16:38 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2631 invoked from network); 17 May 2012 12:16:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286243"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-2P;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:30 +0100
Message-ID: <1337256990-51913-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Tools.mk contains variables that should be used when processing the
top level Config.mk for the tools, specially the CONFIG_DIR variable,
which is not honoring the PREFIX variable correctly, since when
CONFIG_DIR is set the PREFIX var is still not defined.

Including config/Tools.mk before any other includes ensures that
user-set options will be honored.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/Rules.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index a2a1a58..5ded544 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -3,8 +3,8 @@
 # `all' is the default target
 all:
 
-include $(XEN_ROOT)/Config.mk
 -include $(XEN_ROOT)/config/Tools.mk
+include $(XEN_ROOT)/Config.mk
 
 export _INSTALL := $(INSTALL)
 INSTALL = $(XEN_ROOT)/tools/cross-install
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdI-0005EU-Tf; Thu, 17 May 2012 12:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdH-0005Du-Ar
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:39 +0000
Received: from [85.158.138.51:32715] by server-8.bemta-3.messagelabs.com id
	0D/F9-24428-62CE4BF4; Thu, 17 May 2012 12:16:38 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2631 invoked from network); 17 May 2012 12:16:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286243"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-2P;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:30 +0100
Message-ID: <1337256990-51913-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Tools.mk contains variables that should be used when processing the
top level Config.mk for the tools, specially the CONFIG_DIR variable,
which is not honoring the PREFIX variable correctly, since when
CONFIG_DIR is set the PREFIX var is still not defined.

Including config/Tools.mk before any other includes ensures that
user-set options will be honored.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/Rules.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index a2a1a58..5ded544 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -3,8 +3,8 @@
 # `all' is the default target
 all:
 
-include $(XEN_ROOT)/Config.mk
 -include $(XEN_ROOT)/config/Tools.mk
+include $(XEN_ROOT)/Config.mk
 
 export _INSTALL := $(INSTALL)
 INSTALL = $(XEN_ROOT)/tools/cross-install
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdG-0005Dz-Q2; Thu, 17 May 2012 12:16:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdF-0005Do-8c
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:37 +0000
Received: from [85.158.138.51:58080] by server-2.bemta-3.messagelabs.com id
	F2/C0-09269-42CE4BF4; Thu, 17 May 2012 12:16:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2556 invoked from network); 17 May 2012 12:16:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286240"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-1G;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:28 +0100
Message-ID: <1337256990-51913-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 2/4] autoconf: correctly parse *_INCLUDES and
	*_LIB env vars
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Parse those options correctly, since the "+=" operator is not valid.
Also added CPPFLAGS, so headers checks don't give strange results.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/m4/set_cflags_ldflags.m4 |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/m4/set_cflags_ldflags.m4 b/tools/m4/set_cflags_ldflags.m4
index 7e357ba..631e81c 100644
--- a/tools/m4/set_cflags_ldflags.m4
+++ b/tools/m4/set_cflags_ldflags.m4
@@ -1,20 +1,21 @@
 AC_DEFUN([AX_SET_FLAGS],
 [for cflag in $PREPEND_INCLUDES
 do
-    PREPEND_CFLAGS+=" -I$cflag"
+    PREPEND_CFLAGS="$PREPEND_CFLAGS -I$cflag"
 done
 for ldflag in $PREPEND_LIB
 do
-    PREPEND_LDFLAGS+=" -L$ldflag"
+    PREPEND_LDFLAGS="$PREPEND_LDFLAGS -L$ldflag"
 done
 for cflag in $APPEND_INCLUDES
 do
-    APPEND_CFLAGS+=" -I$cflag"
+    APPEND_CFLAGS="$APPEND_CFLAGS -I$cflag"
 done
 for ldflag in $APPEND_LIB
 do
-    APPEND_LDFLAGS+=" -L$ldflag"
+    APPEND_LDFLAGS="$APPEND_LDFLAGS -L$ldflag"
 done
 CFLAGS="$PREPEND_CFLAGS $CFLAGS $APPEND_CFLAGS"
+CPPFLAGS="$CFLAGS"
 LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPEND_LDFLAGS"])
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdG-0005Dz-Q2; Thu, 17 May 2012 12:16:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdF-0005Do-8c
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:37 +0000
Received: from [85.158.138.51:58080] by server-2.bemta-3.messagelabs.com id
	F2/C0-09269-42CE4BF4; Thu, 17 May 2012 12:16:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2556 invoked from network); 17 May 2012 12:16:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286240"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-1G;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:28 +0100
Message-ID: <1337256990-51913-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 2/4] autoconf: correctly parse *_INCLUDES and
	*_LIB env vars
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Parse those options correctly, since the "+=" operator is not valid.
Also added CPPFLAGS, so headers checks don't give strange results.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/m4/set_cflags_ldflags.m4 |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/m4/set_cflags_ldflags.m4 b/tools/m4/set_cflags_ldflags.m4
index 7e357ba..631e81c 100644
--- a/tools/m4/set_cflags_ldflags.m4
+++ b/tools/m4/set_cflags_ldflags.m4
@@ -1,20 +1,21 @@
 AC_DEFUN([AX_SET_FLAGS],
 [for cflag in $PREPEND_INCLUDES
 do
-    PREPEND_CFLAGS+=" -I$cflag"
+    PREPEND_CFLAGS="$PREPEND_CFLAGS -I$cflag"
 done
 for ldflag in $PREPEND_LIB
 do
-    PREPEND_LDFLAGS+=" -L$ldflag"
+    PREPEND_LDFLAGS="$PREPEND_LDFLAGS -L$ldflag"
 done
 for cflag in $APPEND_INCLUDES
 do
-    APPEND_CFLAGS+=" -I$cflag"
+    APPEND_CFLAGS="$APPEND_CFLAGS -I$cflag"
 done
 for ldflag in $APPEND_LIB
 do
-    APPEND_LDFLAGS+=" -L$ldflag"
+    APPEND_LDFLAGS="$APPEND_LDFLAGS -L$ldflag"
 done
 CFLAGS="$PREPEND_CFLAGS $CFLAGS $APPEND_CFLAGS"
+CPPFLAGS="$CFLAGS"
 LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPEND_LDFLAGS"])
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdI-0005EG-5k; Thu, 17 May 2012 12:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdG-0005Dp-1l
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:38 +0000
Received: from [85.158.138.51:32639] by server-7.bemta-3.messagelabs.com id
	4E/8C-03078-52CE4BF4; Thu, 17 May 2012 12:16:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2581 invoked from network); 17 May 2012 12:16:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286241"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-0Y;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:27 +0100
Message-ID: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 1/4] build/tools: disable libvchan build on
	NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

NetBSD doesn't have a gntdev, so libvchan is unable to build due to
the lack of the header files gntalloc.h.

This is the error:

gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
-I../include -I.
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
init.o init.c
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.
gmake[3]: *** [init.opic] Error 1
gmake[3]: *** Waiting for unfinished jobs....
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.

Acked-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 7b14678..fbdf716 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
 SUBDIRS-y += libfsimage
 SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
-SUBDIRS-y += libvchan
+SUBDIRS-$(CONFIG_Linux) += libvchan
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 12:17:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 12:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SUzdI-0005EG-5k; Thu, 17 May 2012 12:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SUzdG-0005Dp-1l
	for xen-devel@lists.xen.org; Thu, 17 May 2012 12:16:38 +0000
Received: from [85.158.138.51:32639] by server-7.bemta-3.messagelabs.com id
	4E/8C-03078-52CE4BF4; Thu, 17 May 2012 12:16:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337256994!27618754!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2581 invoked from network); 17 May 2012 12:16:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 12:16:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,608,1330923600"; d="scan'208";a="25286241"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 08:16:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 08:16:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SUzdB-0000Cb-0Y;
	Thu, 17 May 2012 13:16:33 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 13:16:27 +0100
Message-ID: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 1/4] build/tools: disable libvchan build on
	NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

NetBSD doesn't have a gntdev, so libvchan is unable to build due to
the lack of the header files gntalloc.h.

This is the error:

gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
-I../include -I.
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
-I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
init.o init.c
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.
gmake[3]: *** [init.opic] Error 1
gmake[3]: *** Waiting for unfinished jobs....
init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
directory
compilation terminated.

Acked-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 7b14678..fbdf716 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
 SUBDIRS-y += libfsimage
 SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
-SUBDIRS-y += libvchan
+SUBDIRS-$(CONFIG_Linux) += libvchan
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:23:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:23:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV0fZ-00064J-4O; Thu, 17 May 2012 13:23:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV0fX-00064E-Lr
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:23:03 +0000
Received: from [85.158.139.83:63726] by server-3.bemta-5.messagelabs.com id
	0C/A0-25237-6BBF4BF4; Thu, 17 May 2012 13:23:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337260981!28831200!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21933 invoked from network); 17 May 2012 13:23:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:23:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12529756"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:22:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:22:37 +0100
Message-ID: <1337260955.7781.73.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 14:22:35 +0100
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 1/4] build/tools: disable libvchan build
 on NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> NetBSD doesn't have a gntdev, so libvchan is unable to build due to
> the lack of the header files gntalloc.h.
> 
> This is the error:
> 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
> -D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
> -I../include -I.
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
> init.o init.c
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> gmake[3]: *** [init.opic] Error 1
> gmake[3]: *** Waiting for unfinished jobs....
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> 
> Acked-by: Christoph Egger <Christoph.Egger@amd.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/Makefile |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/Makefile b/tools/Makefile
> index 7b14678..fbdf716 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
>  SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
>  SUBDIRS-y += libfsimage
>  SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
> -SUBDIRS-y += libvchan
> +SUBDIRS-$(CONFIG_Linux) += libvchan
>  
>  # do not recurse in to a dir we are about to delete
>  ifneq "$(MAKECMDGOALS)" "distclean"



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:23:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:23:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV0fZ-00064J-4O; Thu, 17 May 2012 13:23:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV0fX-00064E-Lr
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:23:03 +0000
Received: from [85.158.139.83:63726] by server-3.bemta-5.messagelabs.com id
	0C/A0-25237-6BBF4BF4; Thu, 17 May 2012 13:23:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337260981!28831200!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21933 invoked from network); 17 May 2012 13:23:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:23:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12529756"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:22:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:22:37 +0100
Message-ID: <1337260955.7781.73.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 14:22:35 +0100
In-Reply-To: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 1/4] build/tools: disable libvchan build
 on NetBSD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> NetBSD doesn't have a gntdev, so libvchan is unable to build due to
> the lack of the header files gntalloc.h.
> 
> This is the error:
> 
> gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
> -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
> -D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls
> -I../include -I.
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc
> -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include  -c -o
> init.o init.c
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> gmake[3]: *** [init.opic] Error 1
> gmake[3]: *** Waiting for unfinished jobs....
> init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or
> directory
> compilation terminated.
> 
> Acked-by: Christoph Egger <Christoph.Egger@amd.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/Makefile |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/Makefile b/tools/Makefile
> index 7b14678..fbdf716 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -30,7 +30,7 @@ SUBDIRS-$(CONFIG_NetBSD) += blktap2
>  SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
>  SUBDIRS-y += libfsimage
>  SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
> -SUBDIRS-y += libvchan
> +SUBDIRS-$(CONFIG_Linux) += libvchan
>  
>  # do not recurse in to a dir we are about to delete
>  ifneq "$(MAKECMDGOALS)" "distclean"



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:26:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV0iE-00068g-LW; Thu, 17 May 2012 13:25:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV0iD-00068b-RF
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:25:50 +0000
Received: from [85.158.143.35:55232] by server-3.bemta-4.messagelabs.com id
	FB/FE-05853-D5CF4BF4; Thu, 17 May 2012 13:25:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337261147!12709974!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10055 invoked from network); 17 May 2012 13:25:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:25:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12529796"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:25:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:25:47 +0100
Message-ID: <1337261146.7781.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 14:25:46 +0100
In-Reply-To: <1337256990-51913-3-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> libxl.h is already present in the include search path, the old one was
> included instead of the new one, giving compilation errors. Since
> _pyxl_types.c is generated at compilation time, we can safely set
> the path to libxl.h include.
> 
> I've only experienced this problem when compiling Xen on NetBSD with
> old header files in the include path, Linux seems to not have this
> problem.

Should this be include <> and not "", since libxl.h isn't in the current
dir in this case?

Is the right fix to make sure that the in-tree -I lines come first?
Ian.

> 
> Cc: Ian Jackson <ian.jackson@citrix.com>
> Cc: Christoph Egger <Christoph.Egger@amd.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  tools/python/genwrap.py |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
> index af8a5e9..0d7cc98 100644
> --- a/tools/python/genwrap.py
> +++ b/tools/python/genwrap.py
> @@ -309,10 +309,12 @@ _hidden int genwrap__defbool_set(PyObject *v, libxl_defbool *db);
>  #include <stdint.h>
>  #include <stdlib.h>
>  #include <stdio.h>
> -#include "libxl.h" /* gah */
> +#include "%s" /* gah */
>  #include "%s"
>  
> -""" % tuple((' '.join(sys.argv),) + (os.path.split(decls)[-1:]),))
> +""" % tuple((' '.join(sys.argv),) +
> +            (os.path.dirname(sys.argv[1]) + "/libxl.h",) +
> +            (os.path.split(decls)[-1:]),))
>      for ty in types:
>          if ty.private:
>              continue



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:26:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV0iE-00068g-LW; Thu, 17 May 2012 13:25:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV0iD-00068b-RF
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:25:50 +0000
Received: from [85.158.143.35:55232] by server-3.bemta-4.messagelabs.com id
	FB/FE-05853-D5CF4BF4; Thu, 17 May 2012 13:25:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337261147!12709974!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10055 invoked from network); 17 May 2012 13:25:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:25:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12529796"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:25:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:25:47 +0100
Message-ID: <1337261146.7781.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 14:25:46 +0100
In-Reply-To: <1337256990-51913-3-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> libxl.h is already present in the include search path, the old one was
> included instead of the new one, giving compilation errors. Since
> _pyxl_types.c is generated at compilation time, we can safely set
> the path to libxl.h include.
> 
> I've only experienced this problem when compiling Xen on NetBSD with
> old header files in the include path, Linux seems to not have this
> problem.

Should this be include <> and not "", since libxl.h isn't in the current
dir in this case?

Is the right fix to make sure that the in-tree -I lines come first?
Ian.

> 
> Cc: Ian Jackson <ian.jackson@citrix.com>
> Cc: Christoph Egger <Christoph.Egger@amd.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  tools/python/genwrap.py |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
> index af8a5e9..0d7cc98 100644
> --- a/tools/python/genwrap.py
> +++ b/tools/python/genwrap.py
> @@ -309,10 +309,12 @@ _hidden int genwrap__defbool_set(PyObject *v, libxl_defbool *db);
>  #include <stdint.h>
>  #include <stdlib.h>
>  #include <stdio.h>
> -#include "libxl.h" /* gah */
> +#include "%s" /* gah */
>  #include "%s"
>  
> -""" % tuple((' '.join(sys.argv),) + (os.path.split(decls)[-1:]),))
> +""" % tuple((' '.join(sys.argv),) +
> +            (os.path.dirname(sys.argv[1]) + "/libxl.h",) +
> +            (os.path.split(decls)[-1:]),))
>      for ty in types:
>          if ty.private:
>              continue



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:46:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:46:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV12I-0006Rz-Hb; Thu, 17 May 2012 13:46:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV12H-0006Ru-7Z
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:46:33 +0000
Received: from [85.158.138.51:36389] by server-10.bemta-3.messagelabs.com id
	8E/F0-29478-83105BF4; Thu, 17 May 2012 13:46:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337262391!27602473!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13626 invoked from network); 17 May 2012 13:46:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:46:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12530347"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:46:30 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:46:30 +0100
Message-ID: <1337262389.7781.87.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 14:46:29 +0100
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0/3] libxl: event handling fixes related to
 console/pygrub Roger Pau Monne <roger.pau@citrix.com>
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> Thanks to Roger Pau Monne and Ian Campbell for the reports.
> With these changes, xl create -c works for me again with pygrub.
> Apparently I had not tested that recently enough; sorry :-/.
> 
>  1/3 libxl: events: debugging output relating to ao's

I didn't apply this, it causes too much see my reply to the patch and to
<1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>

>  2/3 libxl: Do not use-after-free on ao progress reporting
>  3/3 libxl, xl: fix bootloader immediate console attach

I have applied these two, thanks.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:46:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:46:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV12I-0006Rz-Hb; Thu, 17 May 2012 13:46:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV12H-0006Ru-7Z
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:46:33 +0000
Received: from [85.158.138.51:36389] by server-10.bemta-3.messagelabs.com id
	8E/F0-29478-83105BF4; Thu, 17 May 2012 13:46:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337262391!27602473!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13626 invoked from network); 17 May 2012 13:46:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:46:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12530347"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:46:30 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:46:30 +0100
Message-ID: <1337262389.7781.87.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 14:46:29 +0100
In-Reply-To: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0/3] libxl: event handling fixes related to
 console/pygrub Roger Pau Monne <roger.pau@citrix.com>
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
> Thanks to Roger Pau Monne and Ian Campbell for the reports.
> With these changes, xl create -c works for me again with pygrub.
> Apparently I had not tested that recently enough; sorry :-/.
> 
>  1/3 libxl: events: debugging output relating to ao's

I didn't apply this, it causes too much see my reply to the patch and to
<1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>

>  2/3 libxl: Do not use-after-free on ao progress reporting
>  3/3 libxl, xl: fix bootloader immediate console attach

I have applied these two, thanks.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:47:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:47:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV12S-0006Sq-2U; Thu, 17 May 2012 13:46:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV12Q-0006Sh-Qx
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:46:42 +0000
Received: from [85.158.139.83:22568] by server-1.bemta-5.messagelabs.com id
	D0/37-19304-24105BF4; Thu, 17 May 2012 13:46:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337262400!17650375!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18027 invoked from network); 17 May 2012 13:46:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:46:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12530351"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:46:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:46:40 +0100
Message-ID: <1337262398.7781.88.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 14:46:38 +0100
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: events: debugging improvements
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:09 +0100, Ian Jackson wrote:
> These four patches may help people who are working with the libxl
> event machinery:
> 
>  1/4 libxl: events: debugging output for timeouts
>  2/4 libxl: events: improve debugging output for xs watches
>  3/4 libxl: events: debugging output for fds

I didn't apply these three. Together with "libxl: events: debugging
output relating to ao's" from your following series they make "xl -vvv
create -c" with pygrub unusable due to the spamminess -- they print a
page of stuff roughly every second (corresponding with the on screen
countdown).

>  4/4 libxl: events: STATE_AO_GC checks ao is still valid

I did apply this one.

> 
> The first three are not intended to cause any change other than the
> new debug messages.  The last one should simply cause erroneous code
> to crash sooner.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:47:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:47:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV12S-0006Sq-2U; Thu, 17 May 2012 13:46:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV12Q-0006Sh-Qx
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:46:42 +0000
Received: from [85.158.139.83:22568] by server-1.bemta-5.messagelabs.com id
	D0/37-19304-24105BF4; Thu, 17 May 2012 13:46:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337262400!17650375!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18027 invoked from network); 17 May 2012 13:46:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:46:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12530351"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:46:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:46:40 +0100
Message-ID: <1337262398.7781.88.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 14:46:38 +0100
In-Reply-To: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337090999-15608-1-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: events: debugging improvements
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-15 at 15:09 +0100, Ian Jackson wrote:
> These four patches may help people who are working with the libxl
> event machinery:
> 
>  1/4 libxl: events: debugging output for timeouts
>  2/4 libxl: events: improve debugging output for xs watches
>  3/4 libxl: events: debugging output for fds

I didn't apply these three. Together with "libxl: events: debugging
output relating to ao's" from your following series they make "xl -vvv
create -c" with pygrub unusable due to the spamminess -- they print a
page of stuff roughly every second (corresponding with the on screen
countdown).

>  4/4 libxl: events: STATE_AO_GC checks ao is still valid

I did apply this one.

> 
> The first three are not intended to cause any change other than the
> new debug messages.  The last one should simply cause erroneous code
> to crash sooner.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:47:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:47:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV13E-0006Xo-Fj; Thu, 17 May 2012 13:47:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV13D-0006Xc-64
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:47:31 +0000
Received: from [85.158.139.83:27394] by server-3.bemta-5.messagelabs.com id
	DA/7F-25237-27105BF4; Thu, 17 May 2012 13:47:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337262449!24968556!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18385 invoked from network); 17 May 2012 13:47:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:47:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12530365"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:47:29 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:47:29 +0100
Message-ID: <1337262448.7781.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Thu, 17 May 2012 14:47:28 +0100
In-Reply-To: <4FB3CD0E.5000708@amd.com>
References: <4FB3CD0E.5000708@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:51 +0100, Christoph Egger wrote:
> Fix this build error:
> 
> libxl_aoutils.c: In function 'libxl__openptys':
> libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct termios *' but argument
> is of type 'const struct termios *'
> libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
> is of type 'const struct winsize *'
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>

Applied, thanks.

I improved your commit message to:

   libxl: fix build on platforms where openpty's parameters are not const.
    
    Such as NetBSD. Fixes this build error:
    
        ....

Please try and make the summary line contain some useful info, it's all
you see in the default "hg log" etc.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:47:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:47:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV13E-0006Xo-Fj; Thu, 17 May 2012 13:47:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV13D-0006Xc-64
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:47:31 +0000
Received: from [85.158.139.83:27394] by server-3.bemta-5.messagelabs.com id
	DA/7F-25237-27105BF4; Thu, 17 May 2012 13:47:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337262449!24968556!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18385 invoked from network); 17 May 2012 13:47:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:47:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12530365"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 13:47:29 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 14:47:29 +0100
Message-ID: <1337262448.7781.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Thu, 17 May 2012 14:47:28 +0100
In-Reply-To: <4FB3CD0E.5000708@amd.com>
References: <4FB3CD0E.5000708@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: build fix
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 16:51 +0100, Christoph Egger wrote:
> Fix this build error:
> 
> libxl_aoutils.c: In function 'libxl__openptys':
> libxl_aoutils.c:281:13: error: passing argument 4 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct termios *' but argument
> is of type 'const struct termios *'
> libxl_aoutils.c:281:13: error: passing argument 5 of 'openpty' discards
> qualifiers from pointer target type
> /usr/include/util.h:92:6: note: expected 'struct winsize *' but argument
> is of type 'const struct winsize *'
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>

Applied, thanks.

I improved your commit message to:

   libxl: fix build on platforms where openpty's parameters are not const.
    
    Such as NetBSD. Fixes this build error:
    
        ....

Please try and make the summary line contain some useful info, it's all
you see in the default "hg log" etc.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:49:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV14R-0006gJ-0T; Thu, 17 May 2012 13:48:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV14P-0006g2-In
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:48:45 +0000
Received: from [85.158.143.35:28585] by server-2.bemta-4.messagelabs.com id
	67/FE-12211-CB105BF4; Thu, 17 May 2012 13:48:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337262522!15978740!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9838 invoked from network); 17 May 2012 13:48:44 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:48:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="25289567"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 09:48:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 09:48:42 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV14L-0001g6-SD;
	Thu, 17 May 2012 14:48:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: bb377172ef57bed114ad688d8019fef98a08267f
Message-ID: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 14:48:41 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337262494 -3600
# Node ID bb377172ef57bed114ad688d8019fef98a08267f
# Parent  5bc483bc723e8b9563ba3763fe926cc6ebe6a980
xl: remove all local "ctx" variables.

xl has a global "ctx" variable, so there should be no need to pass a
ctx to any function.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: remove autoconnect_console change to ctx_ignored -- IanJ already handled
that in "libxl, xl: fix bootloader immediate console attach"

diff -r 5bc483bc723e -r bb377172ef57 tools/libxl/xl.c
--- a/tools/libxl/xl.c	Thu May 17 14:48:14 2012 +0100
+++ b/tools/libxl/xl.c	Thu May 17 14:48:14 2012 +0100
@@ -108,7 +108,7 @@ void postfork(void)
     }
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
+pid_t xl_fork(void) {
     pid_t pid;
 
     pid = fork();
diff -r 5bc483bc723e -r bb377172ef57 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Thu May 17 14:48:14 2012 +0100
+++ b/tools/libxl/xl.h	Thu May 17 14:48:14 2012 +0100
@@ -107,7 +107,7 @@ struct cmd_spec *cmdtable_lookup(const c
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
+pid_t xl_fork(void); /* like fork, but prints and dies if it fails */
 void postfork(void);
 
 /* global options */
diff -r 5bc483bc723e -r bb377172ef57 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 14:48:14 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 14:48:14 2012 +0100
@@ -1298,7 +1298,7 @@ skip_vfb:
     xlu_cfg_destroy(config);
 }
 
-static void reload_domain_config(libxl_ctx *ctx, uint32_t domid,
+static void reload_domain_config(uint32_t domid,
                                  uint8_t **config_data, int *config_len)
 {
     uint8_t *t_data;
@@ -1318,7 +1318,7 @@ static void reload_domain_config(libxl_c
 
 /* Returns 1 if domain should be restarted,
  * 2 if domain should be renamed then restarted, or 0 */
-static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
+static int handle_domain_death(uint32_t domid,
                                libxl_event *event,
                                uint8_t **config_data, int *config_len,
                                libxl_domain_config *d_config)
@@ -1377,12 +1377,12 @@ static int handle_domain_death(libxl_ctx
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART_RENAME:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
         restart = 2;
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
 
         restart = 1;
         /* fall-through */
@@ -1418,7 +1418,7 @@ static void replace_string(char **str, c
 }
 
 
-static int preserve_domain(libxl_ctx *ctx, uint32_t domid, libxl_event *event,
+static int preserve_domain(uint32_t domid, libxl_event *event,
                            libxl_domain_config *d_config)
 {
     time_t now;
@@ -1813,7 +1813,7 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork();
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
@@ -1891,11 +1891,11 @@ start:
             LOG("Domain %d has shut down, reason code %d 0x%x", domid,
                 event->u.domain_shutdown.shutdown_reason,
                 event->u.domain_shutdown.shutdown_reason);
-            switch (handle_domain_death(ctx, domid, event,
+            switch (handle_domain_death(domid, event,
                                         (uint8_t **)&config_data, &config_len,
                                         &d_config)) {
             case 2:
-                if (!preserve_domain(ctx, domid, event, &d_config)) {
+                if (!preserve_domain(domid, event, &d_config)) {
                     /* If we fail then exit leaving the old domain in place. */
                     ret = -1;
                     goto out;
@@ -2931,7 +2931,7 @@ static void migrate_domain(const char *d
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork();
 
     if (!child) {
         dup2(sendpipe[0], 0);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 13:49:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 13:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV14R-0006gJ-0T; Thu, 17 May 2012 13:48:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV14P-0006g2-In
	for xen-devel@lists.xen.org; Thu, 17 May 2012 13:48:45 +0000
Received: from [85.158.143.35:28585] by server-2.bemta-4.messagelabs.com id
	67/FE-12211-CB105BF4; Thu, 17 May 2012 13:48:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337262522!15978740!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9838 invoked from network); 17 May 2012 13:48:44 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 13:48:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="25289567"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 09:48:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 09:48:42 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV14L-0001g6-SD;
	Thu, 17 May 2012 14:48:41 +0100
MIME-Version: 1.0
X-Mercurial-Node: bb377172ef57bed114ad688d8019fef98a08267f
Message-ID: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 14:48:41 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337262494 -3600
# Node ID bb377172ef57bed114ad688d8019fef98a08267f
# Parent  5bc483bc723e8b9563ba3763fe926cc6ebe6a980
xl: remove all local "ctx" variables.

xl has a global "ctx" variable, so there should be no need to pass a
ctx to any function.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: remove autoconnect_console change to ctx_ignored -- IanJ already handled
that in "libxl, xl: fix bootloader immediate console attach"

diff -r 5bc483bc723e -r bb377172ef57 tools/libxl/xl.c
--- a/tools/libxl/xl.c	Thu May 17 14:48:14 2012 +0100
+++ b/tools/libxl/xl.c	Thu May 17 14:48:14 2012 +0100
@@ -108,7 +108,7 @@ void postfork(void)
     }
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
+pid_t xl_fork(void) {
     pid_t pid;
 
     pid = fork();
diff -r 5bc483bc723e -r bb377172ef57 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Thu May 17 14:48:14 2012 +0100
+++ b/tools/libxl/xl.h	Thu May 17 14:48:14 2012 +0100
@@ -107,7 +107,7 @@ struct cmd_spec *cmdtable_lookup(const c
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
+pid_t xl_fork(void); /* like fork, but prints and dies if it fails */
 void postfork(void);
 
 /* global options */
diff -r 5bc483bc723e -r bb377172ef57 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 14:48:14 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 14:48:14 2012 +0100
@@ -1298,7 +1298,7 @@ skip_vfb:
     xlu_cfg_destroy(config);
 }
 
-static void reload_domain_config(libxl_ctx *ctx, uint32_t domid,
+static void reload_domain_config(uint32_t domid,
                                  uint8_t **config_data, int *config_len)
 {
     uint8_t *t_data;
@@ -1318,7 +1318,7 @@ static void reload_domain_config(libxl_c
 
 /* Returns 1 if domain should be restarted,
  * 2 if domain should be renamed then restarted, or 0 */
-static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
+static int handle_domain_death(uint32_t domid,
                                libxl_event *event,
                                uint8_t **config_data, int *config_len,
                                libxl_domain_config *d_config)
@@ -1377,12 +1377,12 @@ static int handle_domain_death(libxl_ctx
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART_RENAME:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
         restart = 2;
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_RESTART:
-        reload_domain_config(ctx, domid, config_data, config_len);
+        reload_domain_config(domid, config_data, config_len);
 
         restart = 1;
         /* fall-through */
@@ -1418,7 +1418,7 @@ static void replace_string(char **str, c
 }
 
 
-static int preserve_domain(libxl_ctx *ctx, uint32_t domid, libxl_event *event,
+static int preserve_domain(uint32_t domid, libxl_event *event,
                            libxl_domain_config *d_config)
 {
     time_t now;
@@ -1813,7 +1813,7 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork();
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
@@ -1891,11 +1891,11 @@ start:
             LOG("Domain %d has shut down, reason code %d 0x%x", domid,
                 event->u.domain_shutdown.shutdown_reason,
                 event->u.domain_shutdown.shutdown_reason);
-            switch (handle_domain_death(ctx, domid, event,
+            switch (handle_domain_death(domid, event,
                                         (uint8_t **)&config_data, &config_len,
                                         &d_config)) {
             case 2:
-                if (!preserve_domain(ctx, domid, event, &d_config)) {
+                if (!preserve_domain(domid, event, &d_config)) {
                     /* If we fail then exit leaving the old domain in place. */
                     ret = -1;
                     goto out;
@@ -2931,7 +2931,7 @@ static void migrate_domain(const char *d
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork();
 
     if (!child) {
         dup2(sendpipe[0], 0);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 14:23:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 14:23:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV1bl-0007P1-Ur; Thu, 17 May 2012 14:23:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SV1bk-0007Ov-1a
	for xen-devel@lists.xen.org; Thu, 17 May 2012 14:23:12 +0000
Received: from [85.158.139.83:55518] by server-9.bemta-5.messagelabs.com id
	82/20-09826-FC905BF4; Thu, 17 May 2012 14:23:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337264588!21696665!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4307 invoked from network); 17 May 2012 14:23:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 14:23:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="25291477"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:23:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 10:23:07 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SV1Hh-0001sB-0d;
	Thu, 17 May 2012 15:02:29 +0100
Message-ID: <4FB504F4.5050408@citrix.com>
Date: Thu, 17 May 2012 15:02:28 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337261146.7781.75.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>> libxl.h is already present in the include search path, the old one was
>> included instead of the new one, giving compilation errors. Since
>> _pyxl_types.c is generated at compilation time, we can safely set
>> the path to libxl.h include.
>>
>> I've only experienced this problem when compiling Xen on NetBSD with
>> old header files in the include path, Linux seems to not have this
>> problem.
>
> Should this be include<>  and not "", since libxl.h isn't in the current
> dir in this case?
>
> Is the right fix to make sure that the in-tree -I lines come first?
> Ian.

Actually I'm not sure if it's possible to make sure the in-tree -I lines 
come first, because the gcc options are automatically generated by 
python build tools (distutils & friends...), so we cannot touch much of 
this (I've looked at distutils.core options, and it seems to be no way 
of setting an order on compiler options, but I'm no expert on python C 
extensions building), so unless we craft our own makefile to build this 
python stuff I think we are stuck with something like this.

>
>> Cc: Ian Jackson<ian.jackson@citrix.com>
>> Cc: Christoph Egger<Christoph.Egger@amd.com>
>> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
>> ---
>>   tools/python/genwrap.py |    6 ++++--
>>   1 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
>> index af8a5e9..0d7cc98 100644
>> --- a/tools/python/genwrap.py
>> +++ b/tools/python/genwrap.py
>> @@ -309,10 +309,12 @@ _hidden int genwrap__defbool_set(PyObject *v, libxl_defbool *db);
>>   #include<stdint.h>
>>   #include<stdlib.h>
>>   #include<stdio.h>
>> -#include "libxl.h" /* gah */
>> +#include "%s" /* gah */
>>   #include "%s"
>>
>> -""" % tuple((' '.join(sys.argv),) + (os.path.split(decls)[-1:]),))
>> +""" % tuple((' '.join(sys.argv),) +
>> +            (os.path.dirname(sys.argv[1]) + "/libxl.h",) +
>> +            (os.path.split(decls)[-1:]),))
>>       for ty in types:
>>           if ty.private:
>>               continue
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 14:23:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 14:23:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV1bl-0007P1-Ur; Thu, 17 May 2012 14:23:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SV1bk-0007Ov-1a
	for xen-devel@lists.xen.org; Thu, 17 May 2012 14:23:12 +0000
Received: from [85.158.139.83:55518] by server-9.bemta-5.messagelabs.com id
	82/20-09826-FC905BF4; Thu, 17 May 2012 14:23:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337264588!21696665!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4307 invoked from network); 17 May 2012 14:23:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 14:23:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="25291477"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 10:23:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 10:23:07 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SV1Hh-0001sB-0d;
	Thu, 17 May 2012 15:02:29 +0100
Message-ID: <4FB504F4.5050408@citrix.com>
Date: Thu, 17 May 2012 15:02:28 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337261146.7781.75.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>> libxl.h is already present in the include search path, the old one was
>> included instead of the new one, giving compilation errors. Since
>> _pyxl_types.c is generated at compilation time, we can safely set
>> the path to libxl.h include.
>>
>> I've only experienced this problem when compiling Xen on NetBSD with
>> old header files in the include path, Linux seems to not have this
>> problem.
>
> Should this be include<>  and not "", since libxl.h isn't in the current
> dir in this case?
>
> Is the right fix to make sure that the in-tree -I lines come first?
> Ian.

Actually I'm not sure if it's possible to make sure the in-tree -I lines 
come first, because the gcc options are automatically generated by 
python build tools (distutils & friends...), so we cannot touch much of 
this (I've looked at distutils.core options, and it seems to be no way 
of setting an order on compiler options, but I'm no expert on python C 
extensions building), so unless we craft our own makefile to build this 
python stuff I think we are stuck with something like this.

>
>> Cc: Ian Jackson<ian.jackson@citrix.com>
>> Cc: Christoph Egger<Christoph.Egger@amd.com>
>> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
>> ---
>>   tools/python/genwrap.py |    6 ++++--
>>   1 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
>> index af8a5e9..0d7cc98 100644
>> --- a/tools/python/genwrap.py
>> +++ b/tools/python/genwrap.py
>> @@ -309,10 +309,12 @@ _hidden int genwrap__defbool_set(PyObject *v, libxl_defbool *db);
>>   #include<stdint.h>
>>   #include<stdlib.h>
>>   #include<stdio.h>
>> -#include "libxl.h" /* gah */
>> +#include "%s" /* gah */
>>   #include "%s"
>>
>> -""" % tuple((' '.join(sys.argv),) + (os.path.split(decls)[-1:]),))
>> +""" % tuple((' '.join(sys.argv),) +
>> +            (os.path.dirname(sys.argv[1]) + "/libxl.h",) +
>> +            (os.path.split(decls)[-1:]),))
>>       for ty in types:
>>           if ty.private:
>>               continue
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 14:38:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 14:38:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV1qS-0007i9-Hx; Thu, 17 May 2012 14:38:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV1qQ-0007i4-Bi
	for xen-devel@lists.xen.org; Thu, 17 May 2012 14:38:22 +0000
Received: from [193.109.254.147:24702] by server-11.bemta-14.messagelabs.com
	id B5/00-05858-D5D05BF4; Thu, 17 May 2012 14:38:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337265500!4109115!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32742 invoked from network); 17 May 2012 14:38:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 14:38:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12531859"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 14:38:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 15:38:20 +0100
Message-ID: <1337265498.7781.95.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 15:38:18 +0100
In-Reply-To: <4FB504F4.5050408@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> >> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> >> libxl.h is already present in the include search path, the old one was
> >> included instead of the new one, giving compilation errors. Since
> >> _pyxl_types.c is generated at compilation time, we can safely set
> >> the path to libxl.h include.
> >>
> >> I've only experienced this problem when compiling Xen on NetBSD with
> >> old header files in the include path, Linux seems to not have this
> >> problem.
> >
> > Should this be include<>  and not "", since libxl.h isn't in the current
> > dir in this case?
> >
> > Is the right fix to make sure that the in-tree -I lines come first?
> > Ian.
> 
> Actually I'm not sure if it's possible to make sure the in-tree -I lines 
> come first, because the gcc options are automatically generated by 
> python build tools (distutils & friends...), so we cannot touch much of 
> this (I've looked at distutils.core options, and it seems to be no way 
> of setting an order on compiler options, but I'm no expert on python C 
> extensions building), so unless we craft our own makefile to build this 
> python stuff I think we are stuck with something like this.

Surely distutils puts user supplied options first before system options?
My /usr/lib/python2.5/distutils/command/build_ext.py says:
 
       # Put the Python "system" include dir at the end, so that
        # any local include dirs take precedence.
        self.include_dirs.append(py_include)
        if plat_py_include != py_include:
            self.include_dirs.append(plat_py_include)

So it seems like this is the intention.

Are you sure this isn't just a bug in your version of distutils or
something like that?

My python xl builds end up as:
        building 'xl' extension
        gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
        -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
        -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
        -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
        -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
        -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
        -mno-tls-direct-seg-refs -fPIC -I../../tools/include
        -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
        -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
        build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
        -fno-strict-aliasing -Werror

Which has our local -I options before all the others -- which is
sensible. What do you see with your system?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 14:38:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 14:38:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV1qS-0007i9-Hx; Thu, 17 May 2012 14:38:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV1qQ-0007i4-Bi
	for xen-devel@lists.xen.org; Thu, 17 May 2012 14:38:22 +0000
Received: from [193.109.254.147:24702] by server-11.bemta-14.messagelabs.com
	id B5/00-05858-D5D05BF4; Thu, 17 May 2012 14:38:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337265500!4109115!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32742 invoked from network); 17 May 2012 14:38:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 14:38:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12531859"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 14:38:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 15:38:20 +0100
Message-ID: <1337265498.7781.95.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 15:38:18 +0100
In-Reply-To: <4FB504F4.5050408@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> >> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> >> libxl.h is already present in the include search path, the old one was
> >> included instead of the new one, giving compilation errors. Since
> >> _pyxl_types.c is generated at compilation time, we can safely set
> >> the path to libxl.h include.
> >>
> >> I've only experienced this problem when compiling Xen on NetBSD with
> >> old header files in the include path, Linux seems to not have this
> >> problem.
> >
> > Should this be include<>  and not "", since libxl.h isn't in the current
> > dir in this case?
> >
> > Is the right fix to make sure that the in-tree -I lines come first?
> > Ian.
> 
> Actually I'm not sure if it's possible to make sure the in-tree -I lines 
> come first, because the gcc options are automatically generated by 
> python build tools (distutils & friends...), so we cannot touch much of 
> this (I've looked at distutils.core options, and it seems to be no way 
> of setting an order on compiler options, but I'm no expert on python C 
> extensions building), so unless we craft our own makefile to build this 
> python stuff I think we are stuck with something like this.

Surely distutils puts user supplied options first before system options?
My /usr/lib/python2.5/distutils/command/build_ext.py says:
 
       # Put the Python "system" include dir at the end, so that
        # any local include dirs take precedence.
        self.include_dirs.append(py_include)
        if plat_py_include != py_include:
            self.include_dirs.append(plat_py_include)

So it seems like this is the intention.

Are you sure this isn't just a bug in your version of distutils or
something like that?

My python xl builds end up as:
        building 'xl' extension
        gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
        -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
        -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
        -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
        -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
        -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
        -mno-tls-direct-seg-refs -fPIC -I../../tools/include
        -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
        -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
        build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
        -fno-strict-aliasing -Werror

Which has our local -I options before all the others -- which is
sensible. What do you see with your system?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:11:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:11:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2MD-00085E-2q; Thu, 17 May 2012 15:11:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SV2MB-000859-JW
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:11:11 +0000
Received: from [85.158.143.35:49194] by server-2.bemta-4.messagelabs.com id
	06/B0-12211-E0515BF4; Thu, 17 May 2012 15:11:10 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337267464!13372271!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMwNDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19540 invoked from network); 17 May 2012 15:11:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:11:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="195332912"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:10:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:10:53 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SV2Ls-00032L-RY;
	Thu, 17 May 2012 16:10:52 +0100
Message-ID: <4FB514FC.5040807@citrix.com>
Date: Thu, 17 May 2012 16:10:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337265498.7781.95.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>> Ian Campbell wrote:
>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>> libxl.h is already present in the include search path, the old one was
>>>> included instead of the new one, giving compilation errors. Since
>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>> the path to libxl.h include.
>>>>
>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>> old header files in the include path, Linux seems to not have this
>>>> problem.
>>> Should this be include<>   and not "", since libxl.h isn't in the current
>>> dir in this case?
>>>
>>> Is the right fix to make sure that the in-tree -I lines come first?
>>> Ian.
>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>> come first, because the gcc options are automatically generated by
>> python build tools (distutils&  friends...), so we cannot touch much of
>> this (I've looked at distutils.core options, and it seems to be no way
>> of setting an order on compiler options, but I'm no expert on python C
>> extensions building), so unless we craft our own makefile to build this
>> python stuff I think we are stuck with something like this.
>
> Surely distutils puts user supplied options first before system options?
> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>
>         # Put the Python "system" include dir at the end, so that
>          # any local include dirs take precedence.
>          self.include_dirs.append(py_include)
>          if plat_py_include != py_include:
>              self.include_dirs.append(plat_py_include)
>
> So it seems like this is the intention.
>
> Are you sure this isn't just a bug in your version of distutils or
> something like that?
>
> My python xl builds end up as:
>          building 'xl' extension
>          gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>          -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>          -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>          -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>          -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>          -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>          -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>          -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>          -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>          build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>          -fno-strict-aliasing -Werror
>
> Which has our local -I options before all the others -- which is
> sensible. What do you see with your system?

This is what I see:

CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g 
-fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes 
-Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d 
-fno-optimize-sibling-calls" python2.7 setup.py build
running build
running build_py
running build_ext
building 'xl' extension

gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1 
-fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall 
-Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD 
-MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include 
-I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl 
-I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o 
build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o 
-fno-strict-aliasing -Werror

xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
xen/lowlevel/xl/_pyxl_types.c:4346:78: error: 
'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use 
in this function)
xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier 
is reported only once for each function it appears in
error: command 'gcc' failed with exit status 1
gmake: *** [build] Error 1
gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'

So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include 
-I/usr/pkg/include" comes even before our passed CFLAGS.

My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:

         # Put the Python "system" include dir at the end, so that
         # any local include dirs take precedence.
         self.include_dirs.append(py_include)
         if plat_py_include != py_include:
             self.include_dirs.append(plat_py_include)

	[...]


         # Finally add the user include and library directories if requested
         if self.user:
             user_include = os.path.join(USER_BASE, "include")
             user_lib = os.path.join(USER_BASE, "lib")
             if os.path.isdir(user_include):
                 self.include_dirs.append(user_include)
             if os.path.isdir(user_lib):
                 self.library_dirs.append(user_lib)
                 self.rpath.append(user_lib)

So it says it puts them at the end, but it doesn't do so. I've looked at 
Python 2.7 original source, and this is not a NetBSD port specific bug.

> Ian.
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:11:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:11:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2MD-00085E-2q; Thu, 17 May 2012 15:11:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SV2MB-000859-JW
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:11:11 +0000
Received: from [85.158.143.35:49194] by server-2.bemta-4.messagelabs.com id
	06/B0-12211-E0515BF4; Thu, 17 May 2012 15:11:10 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337267464!13372271!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMwNDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19540 invoked from network); 17 May 2012 15:11:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:11:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="195332912"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:10:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:10:53 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SV2Ls-00032L-RY;
	Thu, 17 May 2012 16:10:52 +0100
Message-ID: <4FB514FC.5040807@citrix.com>
Date: Thu, 17 May 2012 16:10:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337265498.7781.95.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>> Ian Campbell wrote:
>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>> libxl.h is already present in the include search path, the old one was
>>>> included instead of the new one, giving compilation errors. Since
>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>> the path to libxl.h include.
>>>>
>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>> old header files in the include path, Linux seems to not have this
>>>> problem.
>>> Should this be include<>   and not "", since libxl.h isn't in the current
>>> dir in this case?
>>>
>>> Is the right fix to make sure that the in-tree -I lines come first?
>>> Ian.
>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>> come first, because the gcc options are automatically generated by
>> python build tools (distutils&  friends...), so we cannot touch much of
>> this (I've looked at distutils.core options, and it seems to be no way
>> of setting an order on compiler options, but I'm no expert on python C
>> extensions building), so unless we craft our own makefile to build this
>> python stuff I think we are stuck with something like this.
>
> Surely distutils puts user supplied options first before system options?
> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>
>         # Put the Python "system" include dir at the end, so that
>          # any local include dirs take precedence.
>          self.include_dirs.append(py_include)
>          if plat_py_include != py_include:
>              self.include_dirs.append(plat_py_include)
>
> So it seems like this is the intention.
>
> Are you sure this isn't just a bug in your version of distutils or
> something like that?
>
> My python xl builds end up as:
>          building 'xl' extension
>          gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>          -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>          -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>          -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>          -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>          -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>          -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>          -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>          -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>          build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>          -fno-strict-aliasing -Werror
>
> Which has our local -I options before all the others -- which is
> sensible. What do you see with your system?

This is what I see:

CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g 
-fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes 
-Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d 
-fno-optimize-sibling-calls" python2.7 setup.py build
running build
running build_py
running build_ext
building 'xl' extension

gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1 
-fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall 
-Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD 
-MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include 
-I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl 
-I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o 
build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o 
-fno-strict-aliasing -Werror

xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
xen/lowlevel/xl/_pyxl_types.c:4346:78: error: 
'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use 
in this function)
xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier 
is reported only once for each function it appears in
error: command 'gcc' failed with exit status 1
gmake: *** [build] Error 1
gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'

So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include 
-I/usr/pkg/include" comes even before our passed CFLAGS.

My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:

         # Put the Python "system" include dir at the end, so that
         # any local include dirs take precedence.
         self.include_dirs.append(py_include)
         if plat_py_include != py_include:
             self.include_dirs.append(plat_py_include)

	[...]


         # Finally add the user include and library directories if requested
         if self.user:
             user_include = os.path.join(USER_BASE, "include")
             user_lib = os.path.join(USER_BASE, "lib")
             if os.path.isdir(user_include):
                 self.include_dirs.append(user_include)
             if os.path.isdir(user_lib):
                 self.library_dirs.append(user_lib)
                 self.rpath.append(user_lib)

So it says it puts them at the end, but it doesn't do so. I've looked at 
Python 2.7 original source, and this is not a NetBSD port specific bug.

> Ian.
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:15:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2QA-0008DL-TR; Thu, 17 May 2012 15:15:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV2Q9-0008D8-0W
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:15:17 +0000
Received: from [85.158.143.35:16809] by server-1.bemta-4.messagelabs.com id
	B4/CF-00342-30615BF4; Thu, 17 May 2012 15:15:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337267713!12733011!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1072 invoked from network); 17 May 2012 15:15:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:15:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12532537"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 15:14:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 16:14:50 +0100
Message-ID: <1337267689.7781.99.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 16:14:49 +0100
In-Reply-To: <4FB514FC.5040807@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
> >> Ian Campbell wrote:
> >>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> >>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> >>>> libxl.h is already present in the include search path, the old one was
> >>>> included instead of the new one, giving compilation errors. Since
> >>>> _pyxl_types.c is generated at compilation time, we can safely set
> >>>> the path to libxl.h include.
> >>>>
> >>>> I've only experienced this problem when compiling Xen on NetBSD with
> >>>> old header files in the include path, Linux seems to not have this
> >>>> problem.
> >>> Should this be include<>   and not "", since libxl.h isn't in the current
> >>> dir in this case?
> >>>
> >>> Is the right fix to make sure that the in-tree -I lines come first?
> >>> Ian.
> >> Actually I'm not sure if it's possible to make sure the in-tree -I lines
> >> come first, because the gcc options are automatically generated by
> >> python build tools (distutils&  friends...), so we cannot touch much of
> >> this (I've looked at distutils.core options, and it seems to be no way
> >> of setting an order on compiler options, but I'm no expert on python C
> >> extensions building), so unless we craft our own makefile to build this
> >> python stuff I think we are stuck with something like this.
> >
> > Surely distutils puts user supplied options first before system options?
> > My /usr/lib/python2.5/distutils/command/build_ext.py says:
> >
> >         # Put the Python "system" include dir at the end, so that
> >          # any local include dirs take precedence.
> >          self.include_dirs.append(py_include)
> >          if plat_py_include != py_include:
> >              self.include_dirs.append(plat_py_include)
> >
> > So it seems like this is the intention.
> >
> > Are you sure this isn't just a bug in your version of distutils or
> > something like that?
> >
> > My python xl builds end up as:
> >          building 'xl' extension
> >          gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
> >          -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
> >          -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
> >          -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
> >          -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> >          -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
> >          -mno-tls-direct-seg-refs -fPIC -I../../tools/include
> >          -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
> >          -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
> >          build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
> >          -fno-strict-aliasing -Werror
> >
> > Which has our local -I options before all the others -- which is
> > sensible. What do you see with your system?
> 
> This is what I see:
> 
> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g 
> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes 
> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d 
> -fno-optimize-sibling-calls" python2.7 setup.py build
> running build
> running build_py
> running build_ext
> building 'xl' extension
> 
> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1 
> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall 
> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD 
> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include 
> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl 
> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o 
> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o 
> -fno-strict-aliasing -Werror
> 
> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
> xen/lowlevel/xl/_pyxl_types.c:4346:78: error: 
> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use 
> in this function)
> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier 
> is reported only once for each function it appears in
> error: command 'gcc' failed with exit status 1
> gmake: *** [build] Error 1
> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
> 
> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include 
> -I/usr/pkg/include" comes even before our passed CFLAGS.
> 
> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
> 
>          # Put the Python "system" include dir at the end, so that
>          # any local include dirs take precedence.
>          self.include_dirs.append(py_include)
>          if plat_py_include != py_include:
>              self.include_dirs.append(plat_py_include)
> 
> 	[...]
> 
> 
>          # Finally add the user include and library directories if requested
>          if self.user:
>              user_include = os.path.join(USER_BASE, "include")
>              user_lib = os.path.join(USER_BASE, "lib")
>              if os.path.isdir(user_include):
>                  self.include_dirs.append(user_include)
>              if os.path.isdir(user_lib):
>                  self.library_dirs.append(user_lib)
>                  self.rpath.append(user_lib)
> 
> So it says it puts them at the end, but it doesn't do so. I've looked at 
> Python 2.7 original source, and this is not a NetBSD port specific bug.

You are sure this is that snippet of code adding this? Where
does /usr/pkg/include come from? This only appears to add one -I and you
have two extra.

You aren't using some EXTRA_CFLAGS or similar are you?

Ian.

> 
> > Ian.
> >
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:15:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2QA-0008DL-TR; Thu, 17 May 2012 15:15:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV2Q9-0008D8-0W
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:15:17 +0000
Received: from [85.158.143.35:16809] by server-1.bemta-4.messagelabs.com id
	B4/CF-00342-30615BF4; Thu, 17 May 2012 15:15:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337267713!12733011!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1072 invoked from network); 17 May 2012 15:15:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:15:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330905600"; d="scan'208";a="12532537"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 15:14:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 16:14:50 +0100
Message-ID: <1337267689.7781.99.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 17 May 2012 16:14:49 +0100
In-Reply-To: <4FB514FC.5040807@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
> >> Ian Campbell wrote:
> >>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
> >>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> >>>> libxl.h is already present in the include search path, the old one was
> >>>> included instead of the new one, giving compilation errors. Since
> >>>> _pyxl_types.c is generated at compilation time, we can safely set
> >>>> the path to libxl.h include.
> >>>>
> >>>> I've only experienced this problem when compiling Xen on NetBSD with
> >>>> old header files in the include path, Linux seems to not have this
> >>>> problem.
> >>> Should this be include<>   and not "", since libxl.h isn't in the current
> >>> dir in this case?
> >>>
> >>> Is the right fix to make sure that the in-tree -I lines come first?
> >>> Ian.
> >> Actually I'm not sure if it's possible to make sure the in-tree -I lines
> >> come first, because the gcc options are automatically generated by
> >> python build tools (distutils&  friends...), so we cannot touch much of
> >> this (I've looked at distutils.core options, and it seems to be no way
> >> of setting an order on compiler options, but I'm no expert on python C
> >> extensions building), so unless we craft our own makefile to build this
> >> python stuff I think we are stuck with something like this.
> >
> > Surely distutils puts user supplied options first before system options?
> > My /usr/lib/python2.5/distutils/command/build_ext.py says:
> >
> >         # Put the Python "system" include dir at the end, so that
> >          # any local include dirs take precedence.
> >          self.include_dirs.append(py_include)
> >          if plat_py_include != py_include:
> >              self.include_dirs.append(plat_py_include)
> >
> > So it seems like this is the intention.
> >
> > Are you sure this isn't just a bug in your version of distutils or
> > something like that?
> >
> > My python xl builds end up as:
> >          building 'xl' extension
> >          gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
> >          -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
> >          -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
> >          -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
> >          -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> >          -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
> >          -mno-tls-direct-seg-refs -fPIC -I../../tools/include
> >          -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
> >          -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
> >          build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
> >          -fno-strict-aliasing -Werror
> >
> > Which has our local -I options before all the others -- which is
> > sensible. What do you see with your system?
> 
> This is what I see:
> 
> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g 
> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes 
> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d 
> -fno-optimize-sibling-calls" python2.7 setup.py build
> running build
> running build_py
> running build_ext
> building 'xl' extension
> 
> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1 
> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall 
> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD 
> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include 
> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl 
> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o 
> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o 
> -fno-strict-aliasing -Werror
> 
> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
> xen/lowlevel/xl/_pyxl_types.c:4346:78: error: 
> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use 
> in this function)
> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier 
> is reported only once for each function it appears in
> error: command 'gcc' failed with exit status 1
> gmake: *** [build] Error 1
> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
> 
> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include 
> -I/usr/pkg/include" comes even before our passed CFLAGS.
> 
> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
> 
>          # Put the Python "system" include dir at the end, so that
>          # any local include dirs take precedence.
>          self.include_dirs.append(py_include)
>          if plat_py_include != py_include:
>              self.include_dirs.append(plat_py_include)
> 
> 	[...]
> 
> 
>          # Finally add the user include and library directories if requested
>          if self.user:
>              user_include = os.path.join(USER_BASE, "include")
>              user_lib = os.path.join(USER_BASE, "lib")
>              if os.path.isdir(user_include):
>                  self.include_dirs.append(user_include)
>              if os.path.isdir(user_lib):
>                  self.library_dirs.append(user_lib)
>                  self.rpath.append(user_lib)
> 
> So it says it puts them at the end, but it doesn't do so. I've looked at 
> Python 2.7 original source, and this is not a NetBSD port specific bug.

You are sure this is that snippet of code adding this? Where
does /usr/pkg/include come from? This only appears to add one -I and you
have two extra.

You aren't using some EXTRA_CFLAGS or similar are you?

Ian.

> 
> > Ian.
> >
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:40:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:40:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2o0-0008Vn-1f; Thu, 17 May 2012 15:39:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV2ny-0008Vi-Hj
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:39:54 +0000
Received: from [85.158.139.83:2219] by server-12.bemta-5.messagelabs.com id
	61/55-01344-9CB15BF4; Thu, 17 May 2012 15:39:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337269191!17672776!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26044 invoked from network); 17 May 2012 15:39:53 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:39:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="25294702"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:39:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:39:50 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV2nu-0003Rl-7P;
	Thu, 17 May 2012 16:39:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 66359ac0c8d9046e0c033d428e0416884c612e33
Message-ID: <66359ac0c8d9046e0c03.1337269190@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 16:39:50 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: initialise ao when starting pvqemu for
	stubdomain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337269180 -3600
# Node ID 66359ac0c8d9046e0c033d428e0416884c612e33
# Parent  b01e20b8ab4d17c209f4e86ab31c363754a387cd
libxl: initialise ao when starting pvqemu for stubdomain.

libxl__spawn_local_dm requires the ao to be initialised.

Without this starting an HVM guest with a stub qemu hits the
    assert(ao->magic == LIBXL__AO_MAGIC);
in the STATE_AO_GC call from libxl__spawn_local_dm.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r b01e20b8ab4d -r 66359ac0c8d9 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Thu May 17 16:39:38 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Thu May 17 16:39:40 2012 +0100
@@ -858,6 +858,7 @@ retry_transaction:
             goto out_free;
     }
 
+    sdss->pvqemu.spawn.ao = ao;
     sdss->pvqemu.guest_domid = dm_domid;
     sdss->pvqemu.guest_config = &sdss->dm_config;
     sdss->pvqemu.build_state = &sdss->dm_state;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:40:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:40:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2o0-0008Vn-1f; Thu, 17 May 2012 15:39:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV2ny-0008Vi-Hj
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:39:54 +0000
Received: from [85.158.139.83:2219] by server-12.bemta-5.messagelabs.com id
	61/55-01344-9CB15BF4; Thu, 17 May 2012 15:39:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337269191!17672776!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26044 invoked from network); 17 May 2012 15:39:53 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:39:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="25294702"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:39:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:39:50 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV2nu-0003Rl-7P;
	Thu, 17 May 2012 16:39:50 +0100
MIME-Version: 1.0
X-Mercurial-Node: 66359ac0c8d9046e0c033d428e0416884c612e33
Message-ID: <66359ac0c8d9046e0c03.1337269190@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 16:39:50 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: initialise ao when starting pvqemu for
	stubdomain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337269180 -3600
# Node ID 66359ac0c8d9046e0c033d428e0416884c612e33
# Parent  b01e20b8ab4d17c209f4e86ab31c363754a387cd
libxl: initialise ao when starting pvqemu for stubdomain.

libxl__spawn_local_dm requires the ao to be initialised.

Without this starting an HVM guest with a stub qemu hits the
    assert(ao->magic == LIBXL__AO_MAGIC);
in the STATE_AO_GC call from libxl__spawn_local_dm.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r b01e20b8ab4d -r 66359ac0c8d9 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Thu May 17 16:39:38 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Thu May 17 16:39:40 2012 +0100
@@ -858,6 +858,7 @@ retry_transaction:
             goto out_free;
     }
 
+    sdss->pvqemu.spawn.ao = ao;
     sdss->pvqemu.guest_domid = dm_domid;
     sdss->pvqemu.guest_config = &sdss->dm_config;
     sdss->pvqemu.build_state = &sdss->dm_state;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:40:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:40:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2oB-0008WM-Dl; Thu, 17 May 2012 15:40:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV2o9-0008WE-Px
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:40:06 +0000
Received: from [85.158.143.35:7363] by server-2.bemta-4.messagelabs.com id
	D2/AD-12211-5DB15BF4; Thu, 17 May 2012 15:40:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337269202!4602786!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMwNDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25835 invoked from network); 17 May 2012 15:40:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:40:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="195339360"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:40:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:40:00 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV2o4-0003Ro-1B;
	Thu, 17 May 2012 16:40:00 +0100
MIME-Version: 1.0
X-Mercurial-Node: ac45608496cd85b0bf1aed6e5b869b4a86ca672f
Message-ID: <ac45608496cd85b0bf1a.1337269199@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 16:39:59 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: avoid double free of
	b_info->u.pv.bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337269191 -3600
# Node ID ac45608496cd85b0bf1aed6e5b869b4a86ca672f
# Parent  66359ac0c8d9046e0c033d428e0416884c612e33
libxl: avoid double free of b_info->u.pv.bootloader.

b_info is a user provided struct and therefore the content must come from
malloc and not gc such that libxl_domain_build_info_dispose can free it. This
was broken by 25340:373f24c87dee.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 66359ac0c8d9 -r ac45608496cd tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Thu May 17 16:39:40 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Thu May 17 16:39:51 2012 +0100
@@ -356,8 +356,10 @@ void libxl__bootloader_run(libxl__egc *e
         if ( lstat(bootloader, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
                 bootloader);
-        else
-            info->u.pv.bootloader = bootloader;
+        else {
+            free(info->u.pv.bootloader);
+            info->u.pv.bootloader = strdup(bootloader);
+        }
     }
 
     make_bootloader_args(gc, bl);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:40:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:40:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV2oB-0008WM-Dl; Thu, 17 May 2012 15:40:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV2o9-0008WE-Px
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:40:06 +0000
Received: from [85.158.143.35:7363] by server-2.bemta-4.messagelabs.com id
	D2/AD-12211-5DB15BF4; Thu, 17 May 2012 15:40:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337269202!4602786!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMwNDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25835 invoked from network); 17 May 2012 15:40:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 15:40:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,610,1330923600"; d="scan'208";a="195339360"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 11:40:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 11:40:00 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV2o4-0003Ro-1B;
	Thu, 17 May 2012 16:40:00 +0100
MIME-Version: 1.0
X-Mercurial-Node: ac45608496cd85b0bf1aed6e5b869b4a86ca672f
Message-ID: <ac45608496cd85b0bf1a.1337269199@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 16:39:59 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: avoid double free of
	b_info->u.pv.bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337269191 -3600
# Node ID ac45608496cd85b0bf1aed6e5b869b4a86ca672f
# Parent  66359ac0c8d9046e0c033d428e0416884c612e33
libxl: avoid double free of b_info->u.pv.bootloader.

b_info is a user provided struct and therefore the content must come from
malloc and not gc such that libxl_domain_build_info_dispose can free it. This
was broken by 25340:373f24c87dee.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 66359ac0c8d9 -r ac45608496cd tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Thu May 17 16:39:40 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Thu May 17 16:39:51 2012 +0100
@@ -356,8 +356,10 @@ void libxl__bootloader_run(libxl__egc *e
         if ( lstat(bootloader, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
                 bootloader);
-        else
-            info->u.pv.bootloader = bootloader;
+        else {
+            free(info->u.pv.bootloader);
+            info->u.pv.bootloader = strdup(bootloader);
+        }
     }
 
     make_bootloader_args(gc, bl);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:55:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV32r-0000Mv-UH; Thu, 17 May 2012 15:55:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SV32p-0000Mq-Qx
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:55:16 +0000
Received: from [193.109.254.147:58933] by server-12.bemta-14.messagelabs.com
	id 85/CD-05898-36F15BF4; Thu, 17 May 2012 15:55:15 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337270113!9441692!1
X-Originating-IP: [208.97.132.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi41ID0+IDIzNjA5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22392 invoked from network); 17 May 2012 15:55:14 -0000
Received: from mailbigip.dreamhost.com (HELO homiemail-a11.g.dreamhost.com)
	(208.97.132.5) by server-9.tower-27.messagelabs.com with SMTP;
	17 May 2012 15:55:14 -0000
Received: from homiemail-a11.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTP id 037BC6E06A;
	Thu, 17 May 2012 08:55:13 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=URAV2ruwMxZyR0xt1vRiVs/1xT7xCIpwW+lJ9QmA2mEA
	AYKdIvOz/q24EzymQJZhhTmgkzAUQOZ+c53crm7l7BDeup6IzUD2jGJGU+hFbduH
	PzNJsRl0+L+22WLm9/ZOKijtjaxx03inwL2o9sk1NAvQIKg3CJ8APUcazPKvvso=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=z1cLcZXsxnDqJ9UlrfA9CzPZtq8=; b=r5+Wt86Y
	os4J1ZQUNEubqmQfg/vz0MiPM0NRJIpjj2lN8f3Ra0k2UiCATOFRK8YeHUySIZE4
	GcUZW8wtyp0dnMzVdmUzjDUy3auf9g51UFkUN9iNDvVnwx3bWR3r9USDqaTfhOgq
	sBV1sHRN9WltapmfpcLPCXmJvdlPQg+S5+w=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTPA id 97A446E020;
	Thu, 17 May 2012 08:55:12 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Thu, 17 May 2012 08:55:11 -0700
Message-ID: <f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <20120517120249.GE57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
Date: Thu, 17 May 2012 08:55:11 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: andres@gridcentric.ca, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> At 04:36 -0700 on 17 May (1337229382), Andres Lagar-Cavilla wrote:
>> I believe the fix we'll converge to is keep paging_in in the "hole" set
>> of
>> types, and remove the check for valid mfn. Something along the lines of
>> what I've pasted below.
>
> OK.  Please send it as a diff against what's already applied - I think
> what we have now is more correct (if less useful) than what we had
> before.

Done. Tested and pasted below. Hopefully you can apply it before
end-of-day. Works for all known users of sharing+paging ;)

>
> Do you have to worry about freeing the page as well?  Will it otherwise
> be leaked into a state where it's allocated but not in the p2m?  I see
> that guest_physmap_add_entry() doesn't free paging_in pages but maybe
> that's wrong too?

Exactly. Leaked out of the p2m. Will still be cleaned up properly on
domain destruction.

The patch below takes care of the leak for sharing_add_to_physmap. However
I am not touching guest_physmap_add_entry -- it's been that way for pretty
much forever. My observation is that guest_physmap_add_entry is mostly
called from hypercalls (grant, XENMEM), so the domain is leaking its own
memory and risking running against the max_pages limit sooner, if being
sloppy. The only exception is populate physmap, which maybe should be
looked into.

Thanks,
Andres

# HG changeset patch
# Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
x86/mem_sharing: Re-rectify sharing add to physmap hole test.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 485cd11f131d xen/arch/x86/mm/mem_sharing.c
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1103,7 +1103,17 @@ int mem_sharing_add_to_physmap(struct do
         ret = 0;
         /* There is a chance we're plugging a hole where a paged out page
was */
         if ( p2m_is_paging(cmfn_type) && (cmfn_type != p2m_ram_paging_out) )
+        {
             atomic_dec(&cd->paged_pages);
+            /* Further, there is a chance this was a valid page. Don't
leak it. */
+            if ( mfn_valid(cmfn) )
+            {
+                struct page_info *cpage = mfn_to_page(cmfn);
+                ASSERT(cpage != NULL);
+                if(test_and_clear_bit(_PGC_allocated, &cpage->count_info))
+                    put_page(cpage);
+            }
+        }
     }

     atomic_inc(&nr_saved_mfns);
diff -r 485cd11f131d xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -137,6 +137,7 @@ typedef unsigned int p2m_query_t;
  * entry */
 #define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
                        | p2m_to_mask(p2m_invalid)       \
+                       | p2m_to_mask(p2m_ram_paging_in) \
                        | p2m_to_mask(p2m_ram_paged))

 /* Grant mapping types, which map to a real machine frame in another

guest_p
>
> Cheers,
>
> Tim.
>
>> # HG changeset patch
>> # Parent 9fc0252536f0a4ddf48b7ec9cd7a7243271545f8
>> x86/mem_sharing: Rectify test for "empty" physmap entry in
>> sharing_add_to_physmap.
>>
>> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
>>
>> diff -r 9fc0252536f0 xen/arch/x86/mm/mem_sharing.c
>> --- a/xen/arch/x86/mm/mem_sharing.c
>> +++ b/xen/arch/x86/mm/mem_sharing.c
>> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>>      if ( spage->sharing->handle != sh )
>>          goto err_unlock;
>>
>> -    /* Make sure the target page is a hole in the physmap */
>> -    if ( mfn_valid(cmfn) ||
>> -         (!(p2m_is_ram(cmfn_type))) )
>> +    /* Make sure the target page is a hole in the physmap. These are
>> typically
>> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages.
>> See the
>> +     * definition of p2m_is_hole in p2m.h. */
>> +    if ( !p2m_is_hole(cmfn_type) )
>>      {
>>          ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
>>          goto err_unlock;
>> diff -r 9fc0252536f0 xen/include/asm-x86/p2m.h
>> --- a/xen/include/asm-x86/p2m.h
>> +++ b/xen/include/asm-x86/p2m.h
>> @@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
>>                         | p2m_to_mask(p2m_ram_paging_in)       \
>>                         | p2m_to_mask(p2m_ram_shared))
>>
>> +/* Types that represent a physmap hole that is ok to replace with a
>> shared
>> + * entry */
>> +#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
>> +                       | p2m_to_mask(p2m_invalid)       \
>> +                       | p2m_to_mask(p2m_ram_paging_in) \
>> +                       | p2m_to_mask(p2m_ram_paged))
>> +
>>  /* Grant mapping types, which map to a real machine frame in another
>>   * VM */
>>  #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
>> @@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;
>>
>>  /* Useful predicates */
>>  #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
>> +#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
>>  #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
>>  #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
>>  #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)
>>
>> >
>> > Cheers,
>> >
>> > Tim.
>> >
>>
>>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 15:55:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 15:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV32r-0000Mv-UH; Thu, 17 May 2012 15:55:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SV32p-0000Mq-Qx
	for xen-devel@lists.xen.org; Thu, 17 May 2012 15:55:16 +0000
Received: from [193.109.254.147:58933] by server-12.bemta-14.messagelabs.com
	id 85/CD-05898-36F15BF4; Thu, 17 May 2012 15:55:15 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337270113!9441692!1
X-Originating-IP: [208.97.132.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi41ID0+IDIzNjA5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22392 invoked from network); 17 May 2012 15:55:14 -0000
Received: from mailbigip.dreamhost.com (HELO homiemail-a11.g.dreamhost.com)
	(208.97.132.5) by server-9.tower-27.messagelabs.com with SMTP;
	17 May 2012 15:55:14 -0000
Received: from homiemail-a11.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTP id 037BC6E06A;
	Thu, 17 May 2012 08:55:13 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=URAV2ruwMxZyR0xt1vRiVs/1xT7xCIpwW+lJ9QmA2mEA
	AYKdIvOz/q24EzymQJZhhTmgkzAUQOZ+c53crm7l7BDeup6IzUD2jGJGU+hFbduH
	PzNJsRl0+L+22WLm9/ZOKijtjaxx03inwL2o9sk1NAvQIKg3CJ8APUcazPKvvso=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=z1cLcZXsxnDqJ9UlrfA9CzPZtq8=; b=r5+Wt86Y
	os4J1ZQUNEubqmQfg/vz0MiPM0NRJIpjj2lN8f3Ra0k2UiCATOFRK8YeHUySIZE4
	GcUZW8wtyp0dnMzVdmUzjDUy3auf9g51UFkUN9iNDvVnwx3bWR3r9USDqaTfhOgq
	sBV1sHRN9WltapmfpcLPCXmJvdlPQg+S5+w=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a11.g.dreamhost.com (Postfix) with ESMTPA id 97A446E020;
	Thu, 17 May 2012 08:55:12 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Thu, 17 May 2012 08:55:11 -0700
Message-ID: <f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <20120517120249.GE57529@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
Date: Thu, 17 May 2012 08:55:11 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: andres@gridcentric.ca, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> At 04:36 -0700 on 17 May (1337229382), Andres Lagar-Cavilla wrote:
>> I believe the fix we'll converge to is keep paging_in in the "hole" set
>> of
>> types, and remove the check for valid mfn. Something along the lines of
>> what I've pasted below.
>
> OK.  Please send it as a diff against what's already applied - I think
> what we have now is more correct (if less useful) than what we had
> before.

Done. Tested and pasted below. Hopefully you can apply it before
end-of-day. Works for all known users of sharing+paging ;)

>
> Do you have to worry about freeing the page as well?  Will it otherwise
> be leaked into a state where it's allocated but not in the p2m?  I see
> that guest_physmap_add_entry() doesn't free paging_in pages but maybe
> that's wrong too?

Exactly. Leaked out of the p2m. Will still be cleaned up properly on
domain destruction.

The patch below takes care of the leak for sharing_add_to_physmap. However
I am not touching guest_physmap_add_entry -- it's been that way for pretty
much forever. My observation is that guest_physmap_add_entry is mostly
called from hypercalls (grant, XENMEM), so the domain is leaking its own
memory and risking running against the max_pages limit sooner, if being
sloppy. The only exception is populate physmap, which maybe should be
looked into.

Thanks,
Andres

# HG changeset patch
# Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
x86/mem_sharing: Re-rectify sharing add to physmap hole test.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r 485cd11f131d xen/arch/x86/mm/mem_sharing.c
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1103,7 +1103,17 @@ int mem_sharing_add_to_physmap(struct do
         ret = 0;
         /* There is a chance we're plugging a hole where a paged out page
was */
         if ( p2m_is_paging(cmfn_type) && (cmfn_type != p2m_ram_paging_out) )
+        {
             atomic_dec(&cd->paged_pages);
+            /* Further, there is a chance this was a valid page. Don't
leak it. */
+            if ( mfn_valid(cmfn) )
+            {
+                struct page_info *cpage = mfn_to_page(cmfn);
+                ASSERT(cpage != NULL);
+                if(test_and_clear_bit(_PGC_allocated, &cpage->count_info))
+                    put_page(cpage);
+            }
+        }
     }

     atomic_inc(&nr_saved_mfns);
diff -r 485cd11f131d xen/include/asm-x86/p2m.h
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -137,6 +137,7 @@ typedef unsigned int p2m_query_t;
  * entry */
 #define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
                        | p2m_to_mask(p2m_invalid)       \
+                       | p2m_to_mask(p2m_ram_paging_in) \
                        | p2m_to_mask(p2m_ram_paged))

 /* Grant mapping types, which map to a real machine frame in another

guest_p
>
> Cheers,
>
> Tim.
>
>> # HG changeset patch
>> # Parent 9fc0252536f0a4ddf48b7ec9cd7a7243271545f8
>> x86/mem_sharing: Rectify test for "empty" physmap entry in
>> sharing_add_to_physmap.
>>
>> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
>>
>> diff -r 9fc0252536f0 xen/arch/x86/mm/mem_sharing.c
>> --- a/xen/arch/x86/mm/mem_sharing.c
>> +++ b/xen/arch/x86/mm/mem_sharing.c
>> @@ -1073,9 +1073,10 @@ int mem_sharing_add_to_physmap(struct do
>>      if ( spage->sharing->handle != sh )
>>          goto err_unlock;
>>
>> -    /* Make sure the target page is a hole in the physmap */
>> -    if ( mfn_valid(cmfn) ||
>> -         (!(p2m_is_ram(cmfn_type))) )
>> +    /* Make sure the target page is a hole in the physmap. These are
>> typically
>> +     * p2m_mmio_dm, but also accept p2m_invalid and paged out pages.
>> See the
>> +     * definition of p2m_is_hole in p2m.h. */
>> +    if ( !p2m_is_hole(cmfn_type) )
>>      {
>>          ret = XENMEM_SHARING_OP_C_HANDLE_INVALID;
>>          goto err_unlock;
>> diff -r 9fc0252536f0 xen/include/asm-x86/p2m.h
>> --- a/xen/include/asm-x86/p2m.h
>> +++ b/xen/include/asm-x86/p2m.h
>> @@ -133,6 +133,13 @@ typedef unsigned int p2m_query_t;
>>                         | p2m_to_mask(p2m_ram_paging_in)       \
>>                         | p2m_to_mask(p2m_ram_shared))
>>
>> +/* Types that represent a physmap hole that is ok to replace with a
>> shared
>> + * entry */
>> +#define P2M_HOLE_TYPES (p2m_to_mask(p2m_mmio_dm)        \
>> +                       | p2m_to_mask(p2m_invalid)       \
>> +                       | p2m_to_mask(p2m_ram_paging_in) \
>> +                       | p2m_to_mask(p2m_ram_paged))
>> +
>>  /* Grant mapping types, which map to a real machine frame in another
>>   * VM */
>>  #define P2M_GRANT_TYPES (p2m_to_mask(p2m_grant_map_rw)  \
>> @@ -173,6 +180,7 @@ typedef unsigned int p2m_query_t;
>>
>>  /* Useful predicates */
>>  #define p2m_is_ram(_t) (p2m_to_mask(_t) & P2M_RAM_TYPES)
>> +#define p2m_is_hole(_t) (p2m_to_mask(_t) & P2M_HOLE_TYPES)
>>  #define p2m_is_mmio(_t) (p2m_to_mask(_t) & P2M_MMIO_TYPES)
>>  #define p2m_is_readonly(_t) (p2m_to_mask(_t) & P2M_RO_TYPES)
>>  #define p2m_is_magic(_t) (p2m_to_mask(_t) & P2M_MAGIC_TYPES)
>>
>> >
>> > Cheers,
>> >
>> > Tim.
>> >
>>
>>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 16:52:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 16:52:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV3vT-0001IW-Qe; Thu, 17 May 2012 16:51:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV3vS-0001IR-4C
	for xen-devel@lists.xen.org; Thu, 17 May 2012 16:51:42 +0000
Received: from [85.158.143.35:59987] by server-3.bemta-4.messagelabs.com id
	24/57-05853-D9C25BF4; Thu, 17 May 2012 16:51:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337273497!10126094!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9508 invoked from network); 17 May 2012 16:51:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 16:51:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330923600"; d="scan'208";a="25298260"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 12:51:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 12:51:35 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV3vL-0004Vn-IJ;
	Thu, 17 May 2012 17:51:35 +0100
MIME-Version: 1.0
X-Mercurial-Node: cdb947baea102aa6a1d53472f8a3e5f2d6cc485e
Message-ID: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 17:51:35 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config
 when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337273492 -3600
# Node ID cdb947baea102aa6a1d53472f8a3e5f2d6cc485e
# Parent  ac45608496cd85b0bf1aed6e5b869b4a86ca672f
libxl: do not overwrite user supplied config when running bootloader.

Currently when running the bootloader libxl will update b_info->u.pv.kernel,
.ramdisk, .cmdline and .bootloader.  This can expose internal details, such
as temporary paths in /var/run/xen/bootloader.*/ to the user. This is
problematic because it means that the user cannot re-use the struct as is.

This does not effect xl in Xen 4.2+ since it always reparses the guest config
and reinitialises the build info, however it did cause issues with reboot in
4.1 (reported by Dmitry Morozhnikov) and may cause issues for other users of
libxl.

Instead make the libxl bootloader infrastructure provide output to its caller
which is slurped into the internal libxl__domain_build_state datastructure. If
no bootloader is configured then the bootloader instead propagates the user
supplied b_info config.

In order to simplify this push the error handling for the case where there is
no bootdisk down into libxl__bootloader_run. In principal there is no reason
why it shouldn't be possible to do a pure netboot guest with a suitable
bootloader, but I don't fix that here.

This change allow us to make the libxl_file_reference an internal API, and
eventually we might be able to get rid of it.

Also removes the publix libxl_run_bootloader interface, neither xl nor libvirt
use it.

I am proposing this for 4.2 due to the API change.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r ac45608496cd -r cdb947baea10 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/gentest.py	Thu May 17 17:51:32 2012 +0100
@@ -21,8 +21,7 @@ def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
 handcoded = ["libxl_cpumap", "libxl_key_value_list",
-             "libxl_cpuid_policy_list", "libxl_file_reference",
-             "libxl_string_list"]
+             "libxl_cpuid_policy_list", "libxl_string_list"]
 
 def gen_rand_init(ty, v, indent = "    ", parent = None):
     s = ""
@@ -179,13 +178,6 @@ static void libxl_cpuid_policy_list_rand
     *pp = p;
 }
 
-static void libxl_file_reference_rand_init(libxl_file_reference *p)
-{
-    memset(p, 0, sizeof(*p));
-    if (rand() % 8)
-        p->path = rand_str();
-}
-
 static void libxl_string_list_rand_init(libxl_string_list *p)
 {
     int i, nr = rand() % 16;
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl.c	Thu May 17 17:51:32 2012 +0100
@@ -3623,12 +3623,6 @@ int libxl_tmem_freeable(libxl_ctx *ctx)
     return rc;
 }
 
-void libxl_file_reference_dispose(libxl_file_reference *f)
-{
-    libxl__file_reference_unmap(f);
-    free(f->path);
-}
-
 int libxl_get_freecpus(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int ncpus;
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl.h	Thu May 17 17:51:32 2012 +0100
@@ -288,18 +288,6 @@ typedef struct {
 } libxl_cpumap;
 void libxl_cpumap_dispose(libxl_cpumap *map);
 
-typedef struct {
-    /*
-     * Path is always set if the file reference is valid. However if
-     * mapped is true then the actual file may already be unlinked.
-     */
-    char * path;
-    int mapped;
-    void * data;
-    size_t size;
-} libxl_file_reference;
-void libxl_file_reference_dispose(libxl_file_reference *p);
-
 /* libxl_cpuid_policy_list is a dynamic array storing CPUID policies
  * for multiple leafs. It is terminated with an entry holding
  * XEN_CPUID_INPUT_UNUSED in input[0]
@@ -536,27 +524,6 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
-/*
- * Run the configured bootloader for a PV domain and update
- * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
- * appropriate (any initial values present in these fields must have
- * been allocated with malloc).
- *
- * Is a NOP on non-PV domains or those with no bootloader configured.
- *
- * Users should call libxl_file_reference_unmap on the kernel and
- * ramdisk to cleanup or rely on libxl_domain_{build,restore} to do
- * it.
- */
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how);
-
-  /* 0 means ERROR_ENOMEM, which we have logged */
-
-
 int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
                         const char *old_name, const char *new_name);
 
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Thu May 17 17:51:32 2012 +0100
@@ -43,7 +43,8 @@ static void bootloader_arg(libxl__bootlo
     bl->args[bl->nargs++] = arg;
 }
 
-static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl,
+                                 const char *bootloader_path)
 {
     const libxl_domain_build_info *info = bl->info;
 
@@ -53,12 +54,12 @@ static void make_bootloader_args(libxl__
 
 #define ARG(arg) bootloader_arg(bl, (arg))
 
-    ARG(info->u.pv.bootloader);
+    ARG(bootloader_path);
 
-    if (info->u.pv.kernel.path)
-        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
-    if (info->u.pv.ramdisk.path)
-        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+    if (info->u.pv.kernel)
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel));
+    if (info->u.pv.ramdisk)
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
         ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
@@ -144,7 +145,6 @@ static int parse_bootloader_result(libxl
     char buf[PATH_MAX*2];
     FILE *f = 0;
     int rc = ERROR_FAIL;
-    libxl_domain_build_info *info = bl->info;
 
     f = fopen(bl->outputpath, "r");
     if (!f) {
@@ -180,18 +180,15 @@ static int parse_bootloader_result(libxl
 #define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
         if (COMMAND("kernel")) {
-            free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.kernel);
-            unlink(info->u.pv.kernel.path);
+            bl->kernel->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->kernel);
+            unlink(bl->kernel->path);
         } else if (COMMAND("ramdisk")) {
-            free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.ramdisk);
-            unlink(info->u.pv.ramdisk.path);
+            bl->ramdisk->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->ramdisk);
+            unlink(bl->ramdisk->path);
         } else if (COMMAND("args")) {
-            free(info->u.pv.cmdline);
-            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+            bl->cmdline = libxl__strdup(gc, rhs);
         } else if (l) {
             LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
@@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
-    libxl_domain_build_info *info = bl->info;
+    const libxl_domain_build_info *info = bl->info;
     uint32_t domid = bl->domid;
     char *logfile_tmp = NULL;
     int rc, r;
+    const char *bootloader;
 
     libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(DEBUG, "not a PV domain, skipping bootloader");
         rc = 0;
         goto out_ok;
     }
 
+    if (!info->u.pv.bootloader) {
+        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
+        bl->kernel->path = bl->info->u.pv.kernel;
+        bl->ramdisk->path = bl->info->u.pv.ramdisk;
+        bl->cmdline = bl->info->u.pv.cmdline;
+        rc = 0;
+        goto out_ok;
+    }
+
+    if (!bl->disk) {
+        LOG(ERROR, "cannot run bootloader with no boot disk");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     bootloader_setpaths(gc, bl);
 
     const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
@@ -342,27 +356,26 @@ void libxl__bootloader_run(libxl__egc *e
         LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
             "bootloader='pygrub' instead");
 
+    bootloader = info->u.pv.bootloader;
+
     /* If the full path is not specified, check in the libexec path */
-    if ( info->u.pv.bootloader[0] != '/' ) {
-        char *bootloader;
+    if ( bootloader[0] != '/' ) {
+        const char *bltmp;
         struct stat st;
 
-        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
-                                     libxl__libexec_path());
+        bltmp = libxl__abs_path(gc, bootloader, libxl__libexec_path());
         /* Check to see if the file exists in this location; if not,
          * fall back to checking the path */
-        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bltmp);
 
-        if ( lstat(bootloader, &st) )
+        if ( lstat(bltmp, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
-                bootloader);
-        else {
-            free(info->u.pv.bootloader);
-            info->u.pv.bootloader = strdup(bootloader);
-        }
+                bltmp);
+        else
+            bootloader = bltmp;
     }
 
-    make_bootloader_args(gc, bl);
+    make_bootloader_args(gc, bl, bootloader);
 
     bl->openpty.ao = ao;
     bl->openpty.callback = bootloader_gotptys;
@@ -565,33 +578,6 @@ static void bootloader_finished(libxl__e
     bootloader_callback(egc, bl, rc);
 }
 
-/*----- entrypoint for external callers -----*/
-
-static void run_bootloader_done(libxl__egc *egc,
-                                libxl__bootloader_state *st, int rc)
-{
-    libxl__ao_complete(egc, st->ao, rc);
-}
-
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx,domid,ao_how);
-    libxl__bootloader_state *bl;
-
-    GCNEW(bl);
-    bl->ao = ao;
-    bl->callback = run_bootloader_done;
-    bl->info = info;
-    bl->disk = disk;
-    bl->domid = domid;
-    libxl__bootloader_run(egc, bl);
-    return AO_INPROGRESS;
-}
-
 /*
  * Local variables:
  * mode: C
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_create.c	Thu May 17 17:51:32 2012 +0100
@@ -242,6 +242,7 @@ static int init_console_info(libxl__devi
         return ERROR_NOMEM;
     return 0;
 }
+
 int libxl__domain_build(libxl__gc *gc,
                         libxl_domain_build_info *info,
                         uint32_t domid,
@@ -290,17 +291,18 @@ int libxl__domain_build(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
+
         break;
     default:
         ret = ERROR_INVAL;
@@ -346,16 +348,16 @@ static int domain_restore(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
         break;
     default:
@@ -374,8 +376,8 @@ static int domain_restore(libxl__gc *gc,
 
 out:
     if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
     }
 
     esave = errno;
@@ -625,16 +627,21 @@ static void initiate_domain_create(libxl
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
-    if (restore_fd < 0 && bootdisk) {
+    if (restore_fd >= 0) {
+        LOG(DEBUG, "restoring, not running bootloader\n");
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
+    } else  {
+        LOG(DEBUG, "running bootloader");
         dcs->bl.callback = domcreate_bootloader_done;
         dcs->bl.console_available = domcreate_bootloader_console_available;
-        dcs->bl.info = &d_config->b_info,
+        dcs->bl.info = &d_config->b_info;
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
-            
+
+        dcs->bl.kernel = &dcs->build_state.pv_kernel;
+        dcs->bl.ramdisk = &dcs->build_state.pv_ramdisk;
+
         libxl__bootloader_run(egc, &dcs->bl);
-    } else {
-        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
     return;
 
@@ -675,6 +682,12 @@ static void domcreate_bootloader_done(li
 
     if (ret) goto error_out;
 
+    /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
+     * been initialised by the bootloader already.
+     */
+    LOG(INFO, "bootloader cmdline %s", bl->cmdline);
+    state->pv_cmdline = bl->cmdline;
+
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
      * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Thu May 17 17:51:32 2012 +0100
@@ -715,10 +715,6 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->b_info.max_memkb = 32 * 1024;
     dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
-                                              libxl__xenfirmwaredir_path());
-    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config->b_info.u.pv.ramdisk.path = "";
     dm_config->b_info.u.pv.features = "";
 
     dm_config->b_info.device_model_version =
@@ -746,6 +742,11 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->vkbs = &vkb;
     dm_config->num_vkbs = 1;
 
+    stubdom_state->pv_kernel.path
+        = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
+    stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    stubdom_state->pv_ramdisk.path = "";
+
     /* fixme: this function can leak the stubdom if it fails */
     ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Thu May 17 17:51:32 2012 +0100
@@ -240,36 +240,37 @@ int libxl__build_pv(libxl__gc *gc, uint3
 
     xc_dom_loginit(ctx->xch);
 
-    dom = xc_dom_allocate(ctx->xch, info->u.pv.cmdline, info->u.pv.features);
+    dom = xc_dom_allocate(ctx->xch, state->pv_cmdline, info->u.pv.features);
     if (!dom) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_allocate failed");
         return ERROR_FAIL;
     }
 
-    if (info->u.pv.kernel.mapped) {
+    LOG(INFO, "pv kernel mapped %d path %s\n", state->pv_kernel.mapped, state->pv_kernel.path);
+    if (state->pv_kernel.mapped) {
         ret = xc_dom_kernel_mem(dom,
-                                info->u.pv.kernel.data,
-                                info->u.pv.kernel.size);
+                                state->pv_kernel.data,
+                                state->pv_kernel.size);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_mem failed");
             goto out;
         }
     } else {
-        ret = xc_dom_kernel_file(dom, info->u.pv.kernel.path);
+        ret = xc_dom_kernel_file(dom, state->pv_kernel.path);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_file failed");
             goto out;
         }
     }
 
-    if ( info->u.pv.ramdisk.path && strlen(info->u.pv.ramdisk.path) ) {
-        if (info->u.pv.ramdisk.mapped) {
-            if ( (ret = xc_dom_ramdisk_mem(dom, info->u.pv.ramdisk.data, info->u.pv.ramdisk.size)) != 0 ) {
+    if ( state->pv_ramdisk.path && strlen(state->pv_ramdisk.path) ) {
+        if (state->pv_ramdisk.mapped) {
+            if ( (ret = xc_dom_ramdisk_mem(dom, state->pv_ramdisk.data, state->pv_ramdisk.size)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_mem failed");
                 goto out;
             }
         } else {
-            if ( (ret = xc_dom_ramdisk_file(dom, info->u.pv.ramdisk.path)) != 0 ) {
+            if ( (ret = xc_dom_ramdisk_file(dom, state->pv_ramdisk.path)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_file failed");
                 goto out;
             }
@@ -314,6 +315,9 @@ int libxl__build_pv(libxl__gc *gc, uint3
     state->console_mfn = xc_dom_p2m_host(dom, dom->console_pfn);
     state->store_mfn = xc_dom_p2m_host(dom, dom->xenstore_pfn);
 
+    libxl__file_reference_unmap(&state->pv_kernel);
+    libxl__file_reference_unmap(&state->pv_ramdisk);
+
     ret = 0;
 out:
     xc_dom_release(dom);
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_internal.c
--- a/tools/libxl/libxl_internal.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_internal.c	Thu May 17 17:51:32 2012 +0100
@@ -216,7 +216,7 @@ char *libxl__abs_path(libxl__gc *gc, con
 }
 
 
-int libxl__file_reference_map(libxl_file_reference *f)
+int libxl__file_reference_map(libxl__file_reference *f)
 {
     struct stat st_buf;
     int ret, fd;
@@ -249,7 +249,7 @@ out:
     return ret == 0 ? 0 : ERROR_FAIL;
 }
 
-int libxl__file_reference_unmap(libxl_file_reference *f)
+int libxl__file_reference_unmap(libxl__file_reference *f)
 {
     int ret;
 
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Thu May 17 17:51:32 2012 +0100
@@ -713,6 +713,20 @@ int libxl__self_pipe_eatall(int fd); /* 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
 
+/* File references */
+typedef struct {
+    /*
+     * Path is always set if the file reference is valid. However if
+     * mapped is true then the actual file may already be unlinked.
+     */
+    const char * path;
+    int mapped;
+    void * data;
+    size_t size;
+} libxl__file_reference;
+_hidden int libxl__file_reference_map(libxl__file_reference *f);
+_hidden int libxl__file_reference_unmap(libxl__file_reference *f);
+
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
@@ -731,6 +745,10 @@ typedef struct {
     unsigned long vm_generationid_addr;
 
     char *saved_state;
+
+    libxl__file_reference pv_kernel;
+    libxl__file_reference pv_ramdisk;
+    const char * pv_cmdline;
 } libxl__domain_build_state;
 
 _hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
@@ -1246,9 +1264,6 @@ struct libxl__xen_console_reader {
 
 _hidden int libxl__error_set(libxl__gc *gc, int code);
 
-_hidden int libxl__file_reference_map(libxl_file_reference *f);
-_hidden int libxl__file_reference_unmap(libxl_file_reference *f);
-
 _hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
 
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
@@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
     libxl__bootloader_console_callback *console_available;
-    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    const libxl_domain_build_info *info;
     libxl_device_disk *disk;
     uint32_t domid;
+    /* outputs, call must set kernel and ramdisk to point to a file
+     * reference which will be updated and mapped, cmdline will be
+     * updated */
+    libxl__file_reference *kernel, *ramdisk;
+    const char *cmdline;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
@@ -1803,7 +1823,6 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
-
 /*
  * Convenience macros.
  */
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_json.c	Thu May 17 17:51:32 2012 +0100
@@ -252,15 +252,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p)
-{
-    if (p->path)
-        return libxl__yajl_gen_asciiz(hand, p->path);
-    else
-        return yajl_gen_null(hand);
-}
-
 yajl_gen_status libxl__string_gen_json(yajl_gen hand,
                                        const char *p)
 {
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_json.h	Thu May 17 17:51:32 2012 +0100
@@ -32,8 +32,6 @@ yajl_gen_status libxl_cpuid_policy_list_
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *p);
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p);
 yajl_gen_status libxl_hwcap_gen_json(yajl_gen hand, libxl_hwcap *p);
 
 #include <_libxl_types_json.h>
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Thu May 17 17:51:32 2012 +0100
@@ -15,8 +15,6 @@ libxl_cpuid_policy_list = Builtin("cpuid
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
 libxl_key_value_list = Builtin("key_value_list", dispose_fn="libxl_key_value_list_dispose", passby=PASS_BY_REFERENCE)
-libxl_file_reference = Builtin("file_reference", dispose_fn="libxl_file_reference_dispose", passby=PASS_BY_REFERENCE)
-
 libxl_hwcap = Builtin("hwcap", passby=PASS_BY_REFERENCE)
 
 #
@@ -235,11 +233,6 @@ libxl_sched_params = Struct("sched_param
     ("extratime",    integer),
     ], dir=DIR_IN)
 
-# Instances of libxl_file_reference contained in this struct which
-# have been mapped (with libxl_file_reference_map) will be unmapped
-# by libxl_domain_build/restore. If either of these are never called
-# then the user is responsible for calling
-# libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("cur_vcpus",       integer),
@@ -305,12 +298,12 @@ libxl_domain_build_info = Struct("domain
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ])),
-                 ("pv", Struct(None, [("kernel", libxl_file_reference),
+                 ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
                                       ("bootloader", string),
                                       ("bootloader_args", libxl_string_list),
                                       ("cmdline", string),
-                                      ("ramdisk", libxl_file_reference),
+                                      ("ramdisk", string),
                                       ("features", string, {'const': True}),
                                       # Use host's E820 for PCI passthrough.
                                       ("e820_host", libxl_defbool),
diff -r ac45608496cd -r cdb947baea10 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 17:51:32 2012 +0100
@@ -843,7 +843,7 @@ static void parse_config_data(const char
         char *cmdline = NULL;
         const char *root = NULL, *extra = "";
 
-        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel.path, 0);
+        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel, 0);
 
         xlu_cfg_get_string (config, "root", &root, 0);
         xlu_cfg_get_string (config, "extra", &extra, 0);
@@ -882,13 +882,13 @@ static void parse_config_data(const char
             exit(-ERROR_FAIL);
         }
 
-        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel.path) {
+        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel) {
             fprintf(stderr, "Neither kernel nor bootloader specified\n");
             exit(1);
         }
 
         b_info->u.pv.cmdline = cmdline;
-        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk.path, 0);
+        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk, 0);
         break;
     }
     default:
diff -r ac45608496cd -r cdb947baea10 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Thu May 17 17:51:32 2012 +0100
@@ -146,9 +146,9 @@ void printf_info_sexp(int domid, libxl_d
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         printf("\t\t(linux %d)\n", 0);
-        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel.path);
+        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel);
         printf("\t\t\t(cmdline %s)\n", b_info->u.pv.cmdline);
-        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk.path);
+        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk);
         printf("\t\t\t(e820_host %s)\n",
                libxl_defbool_to_string(b_info->u.pv.e820_host));
         printf("\t\t)\n");
diff -r ac45608496cd -r cdb947baea10 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Thu May 17 17:51:32 2012 +0100
@@ -243,11 +243,6 @@ int attrib__libxl_cpumap_set(PyObject *v
     return 0;
 }
 
-int attrib__libxl_file_reference_set(PyObject *v, libxl_file_reference *pptr)
-{
-    return genwrap__string_set(v, &pptr->path);
-}
-
 int attrib__libxl_hwcap_set(PyObject *v, libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Setting hwcap");
@@ -315,11 +310,6 @@ PyObject *attrib__libxl_cpumap_get(libxl
     return cpulist;
 }
 
-PyObject *attrib__libxl_file_reference_get(libxl_file_reference *pptr)
-{
-    return genwrap__string_get(&pptr->path);
-}
-
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 16:52:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 16:52:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV3vT-0001IW-Qe; Thu, 17 May 2012 16:51:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV3vS-0001IR-4C
	for xen-devel@lists.xen.org; Thu, 17 May 2012 16:51:42 +0000
Received: from [85.158.143.35:59987] by server-3.bemta-4.messagelabs.com id
	24/57-05853-D9C25BF4; Thu, 17 May 2012 16:51:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337273497!10126094!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9508 invoked from network); 17 May 2012 16:51:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 16:51:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330923600"; d="scan'208";a="25298260"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 12:51:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 12:51:35 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SV3vL-0004Vn-IJ;
	Thu, 17 May 2012 17:51:35 +0100
MIME-Version: 1.0
X-Mercurial-Node: cdb947baea102aa6a1d53472f8a3e5f2d6cc485e
Message-ID: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 17 May 2012 17:51:35 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config
 when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337273492 -3600
# Node ID cdb947baea102aa6a1d53472f8a3e5f2d6cc485e
# Parent  ac45608496cd85b0bf1aed6e5b869b4a86ca672f
libxl: do not overwrite user supplied config when running bootloader.

Currently when running the bootloader libxl will update b_info->u.pv.kernel,
.ramdisk, .cmdline and .bootloader.  This can expose internal details, such
as temporary paths in /var/run/xen/bootloader.*/ to the user. This is
problematic because it means that the user cannot re-use the struct as is.

This does not effect xl in Xen 4.2+ since it always reparses the guest config
and reinitialises the build info, however it did cause issues with reboot in
4.1 (reported by Dmitry Morozhnikov) and may cause issues for other users of
libxl.

Instead make the libxl bootloader infrastructure provide output to its caller
which is slurped into the internal libxl__domain_build_state datastructure. If
no bootloader is configured then the bootloader instead propagates the user
supplied b_info config.

In order to simplify this push the error handling for the case where there is
no bootdisk down into libxl__bootloader_run. In principal there is no reason
why it shouldn't be possible to do a pure netboot guest with a suitable
bootloader, but I don't fix that here.

This change allow us to make the libxl_file_reference an internal API, and
eventually we might be able to get rid of it.

Also removes the publix libxl_run_bootloader interface, neither xl nor libvirt
use it.

I am proposing this for 4.2 due to the API change.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r ac45608496cd -r cdb947baea10 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/gentest.py	Thu May 17 17:51:32 2012 +0100
@@ -21,8 +21,7 @@ def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
 handcoded = ["libxl_cpumap", "libxl_key_value_list",
-             "libxl_cpuid_policy_list", "libxl_file_reference",
-             "libxl_string_list"]
+             "libxl_cpuid_policy_list", "libxl_string_list"]
 
 def gen_rand_init(ty, v, indent = "    ", parent = None):
     s = ""
@@ -179,13 +178,6 @@ static void libxl_cpuid_policy_list_rand
     *pp = p;
 }
 
-static void libxl_file_reference_rand_init(libxl_file_reference *p)
-{
-    memset(p, 0, sizeof(*p));
-    if (rand() % 8)
-        p->path = rand_str();
-}
-
 static void libxl_string_list_rand_init(libxl_string_list *p)
 {
     int i, nr = rand() % 16;
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl.c	Thu May 17 17:51:32 2012 +0100
@@ -3623,12 +3623,6 @@ int libxl_tmem_freeable(libxl_ctx *ctx)
     return rc;
 }
 
-void libxl_file_reference_dispose(libxl_file_reference *f)
-{
-    libxl__file_reference_unmap(f);
-    free(f->path);
-}
-
 int libxl_get_freecpus(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int ncpus;
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl.h	Thu May 17 17:51:32 2012 +0100
@@ -288,18 +288,6 @@ typedef struct {
 } libxl_cpumap;
 void libxl_cpumap_dispose(libxl_cpumap *map);
 
-typedef struct {
-    /*
-     * Path is always set if the file reference is valid. However if
-     * mapped is true then the actual file may already be unlinked.
-     */
-    char * path;
-    int mapped;
-    void * data;
-    size_t size;
-} libxl_file_reference;
-void libxl_file_reference_dispose(libxl_file_reference *p);
-
 /* libxl_cpuid_policy_list is a dynamic array storing CPUID policies
  * for multiple leafs. It is terminated with an entry holding
  * XEN_CPUID_INPUT_UNUSED in input[0]
@@ -536,27 +524,6 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
-/*
- * Run the configured bootloader for a PV domain and update
- * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
- * appropriate (any initial values present in these fields must have
- * been allocated with malloc).
- *
- * Is a NOP on non-PV domains or those with no bootloader configured.
- *
- * Users should call libxl_file_reference_unmap on the kernel and
- * ramdisk to cleanup or rely on libxl_domain_{build,restore} to do
- * it.
- */
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how);
-
-  /* 0 means ERROR_ENOMEM, which we have logged */
-
-
 int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
                         const char *old_name, const char *new_name);
 
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Thu May 17 17:51:32 2012 +0100
@@ -43,7 +43,8 @@ static void bootloader_arg(libxl__bootlo
     bl->args[bl->nargs++] = arg;
 }
 
-static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl,
+                                 const char *bootloader_path)
 {
     const libxl_domain_build_info *info = bl->info;
 
@@ -53,12 +54,12 @@ static void make_bootloader_args(libxl__
 
 #define ARG(arg) bootloader_arg(bl, (arg))
 
-    ARG(info->u.pv.bootloader);
+    ARG(bootloader_path);
 
-    if (info->u.pv.kernel.path)
-        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
-    if (info->u.pv.ramdisk.path)
-        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+    if (info->u.pv.kernel)
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel));
+    if (info->u.pv.ramdisk)
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
         ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
@@ -144,7 +145,6 @@ static int parse_bootloader_result(libxl
     char buf[PATH_MAX*2];
     FILE *f = 0;
     int rc = ERROR_FAIL;
-    libxl_domain_build_info *info = bl->info;
 
     f = fopen(bl->outputpath, "r");
     if (!f) {
@@ -180,18 +180,15 @@ static int parse_bootloader_result(libxl
 #define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
         if (COMMAND("kernel")) {
-            free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.kernel);
-            unlink(info->u.pv.kernel.path);
+            bl->kernel->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->kernel);
+            unlink(bl->kernel->path);
         } else if (COMMAND("ramdisk")) {
-            free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.ramdisk);
-            unlink(info->u.pv.ramdisk.path);
+            bl->ramdisk->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->ramdisk);
+            unlink(bl->ramdisk->path);
         } else if (COMMAND("args")) {
-            free(info->u.pv.cmdline);
-            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+            bl->cmdline = libxl__strdup(gc, rhs);
         } else if (l) {
             LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
@@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
-    libxl_domain_build_info *info = bl->info;
+    const libxl_domain_build_info *info = bl->info;
     uint32_t domid = bl->domid;
     char *logfile_tmp = NULL;
     int rc, r;
+    const char *bootloader;
 
     libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(DEBUG, "not a PV domain, skipping bootloader");
         rc = 0;
         goto out_ok;
     }
 
+    if (!info->u.pv.bootloader) {
+        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
+        bl->kernel->path = bl->info->u.pv.kernel;
+        bl->ramdisk->path = bl->info->u.pv.ramdisk;
+        bl->cmdline = bl->info->u.pv.cmdline;
+        rc = 0;
+        goto out_ok;
+    }
+
+    if (!bl->disk) {
+        LOG(ERROR, "cannot run bootloader with no boot disk");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     bootloader_setpaths(gc, bl);
 
     const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
@@ -342,27 +356,26 @@ void libxl__bootloader_run(libxl__egc *e
         LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
             "bootloader='pygrub' instead");
 
+    bootloader = info->u.pv.bootloader;
+
     /* If the full path is not specified, check in the libexec path */
-    if ( info->u.pv.bootloader[0] != '/' ) {
-        char *bootloader;
+    if ( bootloader[0] != '/' ) {
+        const char *bltmp;
         struct stat st;
 
-        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
-                                     libxl__libexec_path());
+        bltmp = libxl__abs_path(gc, bootloader, libxl__libexec_path());
         /* Check to see if the file exists in this location; if not,
          * fall back to checking the path */
-        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bltmp);
 
-        if ( lstat(bootloader, &st) )
+        if ( lstat(bltmp, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
-                bootloader);
-        else {
-            free(info->u.pv.bootloader);
-            info->u.pv.bootloader = strdup(bootloader);
-        }
+                bltmp);
+        else
+            bootloader = bltmp;
     }
 
-    make_bootloader_args(gc, bl);
+    make_bootloader_args(gc, bl, bootloader);
 
     bl->openpty.ao = ao;
     bl->openpty.callback = bootloader_gotptys;
@@ -565,33 +578,6 @@ static void bootloader_finished(libxl__e
     bootloader_callback(egc, bl, rc);
 }
 
-/*----- entrypoint for external callers -----*/
-
-static void run_bootloader_done(libxl__egc *egc,
-                                libxl__bootloader_state *st, int rc)
-{
-    libxl__ao_complete(egc, st->ao, rc);
-}
-
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx,domid,ao_how);
-    libxl__bootloader_state *bl;
-
-    GCNEW(bl);
-    bl->ao = ao;
-    bl->callback = run_bootloader_done;
-    bl->info = info;
-    bl->disk = disk;
-    bl->domid = domid;
-    libxl__bootloader_run(egc, bl);
-    return AO_INPROGRESS;
-}
-
 /*
  * Local variables:
  * mode: C
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_create.c	Thu May 17 17:51:32 2012 +0100
@@ -242,6 +242,7 @@ static int init_console_info(libxl__devi
         return ERROR_NOMEM;
     return 0;
 }
+
 int libxl__domain_build(libxl__gc *gc,
                         libxl_domain_build_info *info,
                         uint32_t domid,
@@ -290,17 +291,18 @@ int libxl__domain_build(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
+
         break;
     default:
         ret = ERROR_INVAL;
@@ -346,16 +348,16 @@ static int domain_restore(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
         break;
     default:
@@ -374,8 +376,8 @@ static int domain_restore(libxl__gc *gc,
 
 out:
     if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
     }
 
     esave = errno;
@@ -625,16 +627,21 @@ static void initiate_domain_create(libxl
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
-    if (restore_fd < 0 && bootdisk) {
+    if (restore_fd >= 0) {
+        LOG(DEBUG, "restoring, not running bootloader\n");
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
+    } else  {
+        LOG(DEBUG, "running bootloader");
         dcs->bl.callback = domcreate_bootloader_done;
         dcs->bl.console_available = domcreate_bootloader_console_available;
-        dcs->bl.info = &d_config->b_info,
+        dcs->bl.info = &d_config->b_info;
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
-            
+
+        dcs->bl.kernel = &dcs->build_state.pv_kernel;
+        dcs->bl.ramdisk = &dcs->build_state.pv_ramdisk;
+
         libxl__bootloader_run(egc, &dcs->bl);
-    } else {
-        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
     return;
 
@@ -675,6 +682,12 @@ static void domcreate_bootloader_done(li
 
     if (ret) goto error_out;
 
+    /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
+     * been initialised by the bootloader already.
+     */
+    LOG(INFO, "bootloader cmdline %s", bl->cmdline);
+    state->pv_cmdline = bl->cmdline;
+
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
      * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Thu May 17 17:51:32 2012 +0100
@@ -715,10 +715,6 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->b_info.max_memkb = 32 * 1024;
     dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
-                                              libxl__xenfirmwaredir_path());
-    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config->b_info.u.pv.ramdisk.path = "";
     dm_config->b_info.u.pv.features = "";
 
     dm_config->b_info.device_model_version =
@@ -746,6 +742,11 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->vkbs = &vkb;
     dm_config->num_vkbs = 1;
 
+    stubdom_state->pv_kernel.path
+        = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
+    stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    stubdom_state->pv_ramdisk.path = "";
+
     /* fixme: this function can leak the stubdom if it fails */
     ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Thu May 17 17:51:32 2012 +0100
@@ -240,36 +240,37 @@ int libxl__build_pv(libxl__gc *gc, uint3
 
     xc_dom_loginit(ctx->xch);
 
-    dom = xc_dom_allocate(ctx->xch, info->u.pv.cmdline, info->u.pv.features);
+    dom = xc_dom_allocate(ctx->xch, state->pv_cmdline, info->u.pv.features);
     if (!dom) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_allocate failed");
         return ERROR_FAIL;
     }
 
-    if (info->u.pv.kernel.mapped) {
+    LOG(INFO, "pv kernel mapped %d path %s\n", state->pv_kernel.mapped, state->pv_kernel.path);
+    if (state->pv_kernel.mapped) {
         ret = xc_dom_kernel_mem(dom,
-                                info->u.pv.kernel.data,
-                                info->u.pv.kernel.size);
+                                state->pv_kernel.data,
+                                state->pv_kernel.size);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_mem failed");
             goto out;
         }
     } else {
-        ret = xc_dom_kernel_file(dom, info->u.pv.kernel.path);
+        ret = xc_dom_kernel_file(dom, state->pv_kernel.path);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_file failed");
             goto out;
         }
     }
 
-    if ( info->u.pv.ramdisk.path && strlen(info->u.pv.ramdisk.path) ) {
-        if (info->u.pv.ramdisk.mapped) {
-            if ( (ret = xc_dom_ramdisk_mem(dom, info->u.pv.ramdisk.data, info->u.pv.ramdisk.size)) != 0 ) {
+    if ( state->pv_ramdisk.path && strlen(state->pv_ramdisk.path) ) {
+        if (state->pv_ramdisk.mapped) {
+            if ( (ret = xc_dom_ramdisk_mem(dom, state->pv_ramdisk.data, state->pv_ramdisk.size)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_mem failed");
                 goto out;
             }
         } else {
-            if ( (ret = xc_dom_ramdisk_file(dom, info->u.pv.ramdisk.path)) != 0 ) {
+            if ( (ret = xc_dom_ramdisk_file(dom, state->pv_ramdisk.path)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_file failed");
                 goto out;
             }
@@ -314,6 +315,9 @@ int libxl__build_pv(libxl__gc *gc, uint3
     state->console_mfn = xc_dom_p2m_host(dom, dom->console_pfn);
     state->store_mfn = xc_dom_p2m_host(dom, dom->xenstore_pfn);
 
+    libxl__file_reference_unmap(&state->pv_kernel);
+    libxl__file_reference_unmap(&state->pv_ramdisk);
+
     ret = 0;
 out:
     xc_dom_release(dom);
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_internal.c
--- a/tools/libxl/libxl_internal.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_internal.c	Thu May 17 17:51:32 2012 +0100
@@ -216,7 +216,7 @@ char *libxl__abs_path(libxl__gc *gc, con
 }
 
 
-int libxl__file_reference_map(libxl_file_reference *f)
+int libxl__file_reference_map(libxl__file_reference *f)
 {
     struct stat st_buf;
     int ret, fd;
@@ -249,7 +249,7 @@ out:
     return ret == 0 ? 0 : ERROR_FAIL;
 }
 
-int libxl__file_reference_unmap(libxl_file_reference *f)
+int libxl__file_reference_unmap(libxl__file_reference *f)
 {
     int ret;
 
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Thu May 17 17:51:32 2012 +0100
@@ -713,6 +713,20 @@ int libxl__self_pipe_eatall(int fd); /* 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
 
+/* File references */
+typedef struct {
+    /*
+     * Path is always set if the file reference is valid. However if
+     * mapped is true then the actual file may already be unlinked.
+     */
+    const char * path;
+    int mapped;
+    void * data;
+    size_t size;
+} libxl__file_reference;
+_hidden int libxl__file_reference_map(libxl__file_reference *f);
+_hidden int libxl__file_reference_unmap(libxl__file_reference *f);
+
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
@@ -731,6 +745,10 @@ typedef struct {
     unsigned long vm_generationid_addr;
 
     char *saved_state;
+
+    libxl__file_reference pv_kernel;
+    libxl__file_reference pv_ramdisk;
+    const char * pv_cmdline;
 } libxl__domain_build_state;
 
 _hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
@@ -1246,9 +1264,6 @@ struct libxl__xen_console_reader {
 
 _hidden int libxl__error_set(libxl__gc *gc, int code);
 
-_hidden int libxl__file_reference_map(libxl_file_reference *f);
-_hidden int libxl__file_reference_unmap(libxl_file_reference *f);
-
 _hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
 
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
@@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
     libxl__bootloader_console_callback *console_available;
-    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    const libxl_domain_build_info *info;
     libxl_device_disk *disk;
     uint32_t domid;
+    /* outputs, call must set kernel and ramdisk to point to a file
+     * reference which will be updated and mapped, cmdline will be
+     * updated */
+    libxl__file_reference *kernel, *ramdisk;
+    const char *cmdline;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
@@ -1803,7 +1823,6 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
-
 /*
  * Convenience macros.
  */
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_json.c	Thu May 17 17:51:32 2012 +0100
@@ -252,15 +252,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p)
-{
-    if (p->path)
-        return libxl__yajl_gen_asciiz(hand, p->path);
-    else
-        return yajl_gen_null(hand);
-}
-
 yajl_gen_status libxl__string_gen_json(yajl_gen hand,
                                        const char *p)
 {
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_json.h	Thu May 17 17:51:32 2012 +0100
@@ -32,8 +32,6 @@ yajl_gen_status libxl_cpuid_policy_list_
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *p);
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p);
 yajl_gen_status libxl_hwcap_gen_json(yajl_gen hand, libxl_hwcap *p);
 
 #include <_libxl_types_json.h>
diff -r ac45608496cd -r cdb947baea10 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Thu May 17 17:51:32 2012 +0100
@@ -15,8 +15,6 @@ libxl_cpuid_policy_list = Builtin("cpuid
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
 libxl_key_value_list = Builtin("key_value_list", dispose_fn="libxl_key_value_list_dispose", passby=PASS_BY_REFERENCE)
-libxl_file_reference = Builtin("file_reference", dispose_fn="libxl_file_reference_dispose", passby=PASS_BY_REFERENCE)
-
 libxl_hwcap = Builtin("hwcap", passby=PASS_BY_REFERENCE)
 
 #
@@ -235,11 +233,6 @@ libxl_sched_params = Struct("sched_param
     ("extratime",    integer),
     ], dir=DIR_IN)
 
-# Instances of libxl_file_reference contained in this struct which
-# have been mapped (with libxl_file_reference_map) will be unmapped
-# by libxl_domain_build/restore. If either of these are never called
-# then the user is responsible for calling
-# libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("cur_vcpus",       integer),
@@ -305,12 +298,12 @@ libxl_domain_build_info = Struct("domain
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ])),
-                 ("pv", Struct(None, [("kernel", libxl_file_reference),
+                 ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
                                       ("bootloader", string),
                                       ("bootloader_args", libxl_string_list),
                                       ("cmdline", string),
-                                      ("ramdisk", libxl_file_reference),
+                                      ("ramdisk", string),
                                       ("features", string, {'const': True}),
                                       # Use host's E820 for PCI passthrough.
                                       ("e820_host", libxl_defbool),
diff -r ac45608496cd -r cdb947baea10 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 17:51:32 2012 +0100
@@ -843,7 +843,7 @@ static void parse_config_data(const char
         char *cmdline = NULL;
         const char *root = NULL, *extra = "";
 
-        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel.path, 0);
+        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel, 0);
 
         xlu_cfg_get_string (config, "root", &root, 0);
         xlu_cfg_get_string (config, "extra", &extra, 0);
@@ -882,13 +882,13 @@ static void parse_config_data(const char
             exit(-ERROR_FAIL);
         }
 
-        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel.path) {
+        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel) {
             fprintf(stderr, "Neither kernel nor bootloader specified\n");
             exit(1);
         }
 
         b_info->u.pv.cmdline = cmdline;
-        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk.path, 0);
+        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk, 0);
         break;
     }
     default:
diff -r ac45608496cd -r cdb947baea10 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Thu May 17 17:51:32 2012 +0100
@@ -146,9 +146,9 @@ void printf_info_sexp(int domid, libxl_d
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         printf("\t\t(linux %d)\n", 0);
-        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel.path);
+        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel);
         printf("\t\t\t(cmdline %s)\n", b_info->u.pv.cmdline);
-        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk.path);
+        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk);
         printf("\t\t\t(e820_host %s)\n",
                libxl_defbool_to_string(b_info->u.pv.e820_host));
         printf("\t\t)\n");
diff -r ac45608496cd -r cdb947baea10 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Thu May 17 16:39:51 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Thu May 17 17:51:32 2012 +0100
@@ -243,11 +243,6 @@ int attrib__libxl_cpumap_set(PyObject *v
     return 0;
 }
 
-int attrib__libxl_file_reference_set(PyObject *v, libxl_file_reference *pptr)
-{
-    return genwrap__string_set(v, &pptr->path);
-}
-
 int attrib__libxl_hwcap_set(PyObject *v, libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Setting hwcap");
@@ -315,11 +310,6 @@ PyObject *attrib__libxl_cpumap_get(libxl
     return cpulist;
 }
 
-PyObject *attrib__libxl_file_reference_get(libxl_file_reference *pptr)
-{
-    return genwrap__string_get(&pptr->path);
-}
-
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 16:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 16:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV3vv-0001K8-KY; Thu, 17 May 2012 16:52:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV3vu-0001Ju-9S
	for xen-devel@lists.xen.org; Thu, 17 May 2012 16:52:10 +0000
Received: from [85.158.143.99:50689] by server-3.bemta-4.messagelabs.com id
	7F/A7-05853-9BC25BF4; Thu, 17 May 2012 16:52:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337273529!20975353!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2375 invoked from network); 17 May 2012 16:52:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 16:52:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12534816"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 16:52:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 17:52:08 +0100
Message-ID: <1337273527.7781.109.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dmitry Morozhnikov <dmiceman@mail.ru>
Date: Thu, 17 May 2012 17:52:07 +0100
In-Reply-To: <4FB38F9A.2050903@mail.ru>
References: <4FB38F9A.2050903@mail.ru>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] libxl vs pygrub in 4.1.2 on rebooting
	domU
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 12:29 +0100, Dmitry Morozhnikov wrote:
> Hello, all.
> 
> There is a bug in 4.1.2, at least in gentoo. The question is if it 
> already fixed or not.
> 
> If someone issue reboot command from inside domU using pygrub 
> bootloader, then libxl, or more precisely, make_bootloader_args() in 
> libxl_bootloader.c will append parameters --kernel, --ramdisk and --args 
> on the second start. So, command line for the pygrub will look like:
> 
> usr/bin/pygrub --kernel=/var/run/libxl/boot_kernel.KyI4aX 
> --ramdisk=/var/run/libxl/boot_ramdisk.th_SXc 
> --args=root=UUID=15c4dce6-e5fe-493f-b738-32b8e7ef829e ro console=hvc0 
> quiet  --output=/var/run/libxl/bl.nVj8nF/fifo --output-format=simple0 
> --output-directory=/var/run/libxl/ /var/xen/vs92.img
> 
> But that is completely wrong from the pygrub side! It bail out with:
> 
> Traceback (most recent call last):
>    File "/usr/bin/pygrub", line 783, in <module>
>      data = fs.open_file(chosencfg["kernel"]).read()
> IOError: [Errno 2] No such file or directory
> 
> Because there is no /var/run/libxl/boot_kernel.KyI4aX in inside of domU 
> disk image.

Right, this is definitely a bug. Thanks for reporting.

The problem is that the libxl bootloader infrastructure is updating the
caller provided domain configuration with the result of running the
bootloader, but this is only valid for the current guest, not the
rebooted version. Which means that when it gets re-used on reboot it all
goes wrong.

As it happens xen-unstable does not suffer from this because it always
reparses the config file (and hence reinitialises the domain
configuration) on reboot.

However, that's a bit of a coincidence, and IMHO it is ugly for the
libxl to replace information in user supplied datastructures like this.
I have just proposed a patch to remove this trap.

Unfortunately the possibilities for fixing this in 4.1 are rather
limited since it doesn't provide the same level of infrastructure for
doing this.

> Solution is simple, remove code to append this parameters:

That breaks the ability to use pygrub+kernel to boot a specific kernel
from the guest fs. I don't know if people use this functionality but I'd
be reluctant to remove it.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 16:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 16:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV3vv-0001K8-KY; Thu, 17 May 2012 16:52:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SV3vu-0001Ju-9S
	for xen-devel@lists.xen.org; Thu, 17 May 2012 16:52:10 +0000
Received: from [85.158.143.99:50689] by server-3.bemta-4.messagelabs.com id
	7F/A7-05853-9BC25BF4; Thu, 17 May 2012 16:52:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337273529!20975353!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2375 invoked from network); 17 May 2012 16:52:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 16:52:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12534816"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 16:52:08 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 17 May 2012 17:52:08 +0100
Message-ID: <1337273527.7781.109.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dmitry Morozhnikov <dmiceman@mail.ru>
Date: Thu, 17 May 2012 17:52:07 +0100
In-Reply-To: <4FB38F9A.2050903@mail.ru>
References: <4FB38F9A.2050903@mail.ru>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] libxl vs pygrub in 4.1.2 on rebooting
	domU
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-16 at 12:29 +0100, Dmitry Morozhnikov wrote:
> Hello, all.
> 
> There is a bug in 4.1.2, at least in gentoo. The question is if it 
> already fixed or not.
> 
> If someone issue reboot command from inside domU using pygrub 
> bootloader, then libxl, or more precisely, make_bootloader_args() in 
> libxl_bootloader.c will append parameters --kernel, --ramdisk and --args 
> on the second start. So, command line for the pygrub will look like:
> 
> usr/bin/pygrub --kernel=/var/run/libxl/boot_kernel.KyI4aX 
> --ramdisk=/var/run/libxl/boot_ramdisk.th_SXc 
> --args=root=UUID=15c4dce6-e5fe-493f-b738-32b8e7ef829e ro console=hvc0 
> quiet  --output=/var/run/libxl/bl.nVj8nF/fifo --output-format=simple0 
> --output-directory=/var/run/libxl/ /var/xen/vs92.img
> 
> But that is completely wrong from the pygrub side! It bail out with:
> 
> Traceback (most recent call last):
>    File "/usr/bin/pygrub", line 783, in <module>
>      data = fs.open_file(chosencfg["kernel"]).read()
> IOError: [Errno 2] No such file or directory
> 
> Because there is no /var/run/libxl/boot_kernel.KyI4aX in inside of domU 
> disk image.

Right, this is definitely a bug. Thanks for reporting.

The problem is that the libxl bootloader infrastructure is updating the
caller provided domain configuration with the result of running the
bootloader, but this is only valid for the current guest, not the
rebooted version. Which means that when it gets re-used on reboot it all
goes wrong.

As it happens xen-unstable does not suffer from this because it always
reparses the config file (and hence reinitialises the domain
configuration) on reboot.

However, that's a bit of a coincidence, and IMHO it is ugly for the
libxl to replace information in user supplied datastructures like this.
I have just proposed a patch to remove this trap.

Unfortunately the possibilities for fixing this in 4.1 are rather
limited since it doesn't provide the same level of infrastructure for
doing this.

> Solution is simple, remove code to append this parameters:

That breaks the ability to use pygrub+kernel to boot a specific kernel
from the guest fs. I don't know if people use this functionality but I'd
be reluctant to remove it.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5fe-0003Z8-KG; Thu, 17 May 2012 18:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SV5fd-0003Z3-80
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:43:29 +0000
Received: from [85.158.143.35:65331] by server-3.bemta-4.messagelabs.com id
	DB/A4-05853-0D645BF4; Thu, 17 May 2012 18:43:28 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337280206!15922792!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19919 invoked from network); 17 May 2012 18:43:27 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:43:27 -0000
Received: by lbok6 with SMTP id k6so1954388lbo.32
	for <xen-devel@lists.xen.org>; Thu, 17 May 2012 11:43:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=woxkQJ+T7PYvfsfO4Xe49se6xgCtfa0cEK2F24aW12A=;
	b=GFX8ATXMH+MYrMdPeISftFMbHRQ3DucGk/A7bv8dhC9P3rCABgzDPD6dC1HswJ25VX
	wUKvRUl9NCedOoVUMdJd7t5DNjKAnUMh85CNLJejiAfwP2s1jQccMdWBwPLKtf0lodGI
	AuaWbKYky2h1tWaEo2WoFlnht23ijRgP45WrU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=woxkQJ+T7PYvfsfO4Xe49se6xgCtfa0cEK2F24aW12A=;
	b=OZaWLXsI5af7OM5pBlG/zsKHUTkPgyFjLLw1OeGRTqxVmCJmHCLs/dZZB93xnY+Ph2
	acbiiwM7O85cGbQ98h+8j+TPzo8lvnjMvK2XMmLc/xFhKsGTuOLh3VpO+w4hooXJsqfV
	lQkOkmx1XuxKWv7d25QehzT2eeIdUYBCK9b6fLVdlkminUKqzJDOgSd8I5dGy8Re2XVn
	nlM5zJwWB5Vnpuwj53seq4/jyZ7OLJvqF42K8DOAhcufdLsXMBqNHUQ09XCLf/VTJUhM
	99o9tE2up5FtG5k39mIUstQBWV/33x5+FHU8rAk3HQUOIcLq5ofHrMg3dobjQ1a2Ica4
	lovw==
MIME-Version: 1.0
Received: by 10.112.42.225 with SMTP id r1mr3472492lbl.102.1337280206165; Thu,
	17 May 2012 11:43:26 -0700 (PDT)
Received: by 10.112.48.8 with HTTP; Thu, 17 May 2012 11:43:25 -0700 (PDT)
X-Originating-IP: [108.237.46.73]
In-Reply-To: <20120517100509.GB57529@ocelot.phlegethon.org>
References: <CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
	<CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
	<CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
	<20120517100509.GB57529@ocelot.phlegethon.org>
Date: Thu, 17 May 2012 11:43:25 -0700
Message-ID: <CAB10MZDOv_TsqZAN4n0_7gZseXyXt8An6FSTyTNYpa8+G0UOAA@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Tim Deegan <tim@xen.org>
X-Gm-Message-State: ALoCoQnU1co8QrL6mwnX5c2/b/qi1GHAlCyujZgnhNLKGrmCXrSggip0rbSeElwCd7t0lQyo1obT
Cc: Christian.Limpach@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
 type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6790762474128554959=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6790762474128554959==
Content-Type: multipart/alternative; boundary=90e6ba1821c0a758f604c03fcfdb

--90e6ba1821c0a758f604c03fcfdb
Content-Type: text/plain; charset=ISO-8859-1

On Thu, May 17, 2012 at 3:05 AM, Tim Deegan <tim@xen.org> wrote:
>
> Hi Aravindh,
>
> At 15:02 -0700 on 04 May (1336143748), Aravindh Puthiyaparambil wrote:
> > diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c
> > --- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200
> > +++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700
> > @@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom
> >  /*
> >   * ept_set_entry() computes 'need_modify_vtd_table' for itself,
> >   * by observing whether any gfn->mfn translations are modified.
> > + * If sync_deferred is not NULL, then the caller will take care of
> > + * calling ept_sync_domain() in the cases where it can be deferred.
> >   */
> >  static int
> >  ept_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
> > -              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma)
> > +              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma,
> > +              bool_t *sync_deferred)
> >  {
> >      ept_entry_t *table, *ept_entry = NULL;
> >      unsigned long gfn_remainder = gfn;
> > @@ -309,6 +312,9 @@ ept_set_entry(struct p2m_domain *p2m, un
> >             (target == 1 && hvm_hap_has_2mb(d)) ||
> >             (target == 0));
> >
> > +    if (sync_deferred)
>
> Xen coding style has spaces inside those parentheses.
> > +        *sync_deferred = 1;
> > +
> >      table = map_domain_page(ept_get_asr(d));
> >
> >      for ( i = ept_get_wl(d); i > target; i-- )
> > @@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un
> >          ept_entry_t new_entry = { .epte = 0 };
> >
> >          /* No need to flush if the old entry wasn't valid */
> > -        if ( !is_epte_present(ept_entry) )
> > +        if ( !is_epte_present(ept_entry) || (!target && sync_deferred)
> > )
> > +        {
> >              needs_sync = 0;
> > +            if ( sync_deferred )
> > +                *sync_deferred = 0;
>
> I don't think you should do this -- you call this function in a loop and
> you may need to sync because of an earlier iteration.  Better to only
> write a 1 to *sync_deferred once you know there's a sync to be done, and
> never to write a zero.

You are right. I will fix that.

> > +        }
>
> One comment on the rest of the patch: your calling function calls
> ept_sync_domain() directly if sync_deferred == 1.  That's correct for
> now but it would be cleaner to use a sync() function pointer in the
> struct p2m_domain, the same as the other implementation-specific calls.

I can add that too.

> Other than that, I think this looks pretty good to go in after 4.2 has
> branched.

OK, I will resubmit once 4.2 has branched.

Thanks,
Aravindh

--90e6ba1821c0a758f604c03fcfdb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Thu, May 17, 2012 at 3:05 AM, Tim Deegan &lt;<a href=3D"mailto:tim@xen.o=
rg">tim@xen.org</a>&gt; wrote:<br>&gt;<br>&gt; Hi Aravindh,<br>&gt;<br>&gt;=
 At 15:02 -0700 on 04 May (1336143748), Aravindh Puthiyaparambil wrote:<br>
&gt; &gt; diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c<br=
>&gt; &gt; --- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200<b=
r>&gt; &gt; +++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700<=
br>
&gt; &gt; @@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom<br=
>&gt; &gt; =A0/*<br>&gt; &gt; =A0 * ept_set_entry() computes &#39;need_modi=
fy_vtd_table&#39; for itself,<br>&gt; &gt; =A0 * by observing whether any g=
fn-&gt;mfn translations are modified.<br>
&gt; &gt; + * If sync_deferred is not NULL, then the caller will take care =
of<br>&gt; &gt; + * calling ept_sync_domain() in the cases where it can be =
deferred.<br>&gt; &gt; =A0 */<br>&gt; &gt; =A0static int<br>&gt; &gt; =A0ep=
t_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,<br>
&gt; &gt; - =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int order, p2m_type_t p2mt,=
 p2m_access_t p2ma)<br>&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int =
order, p2m_type_t p2mt, p2m_access_t p2ma,<br>&gt; &gt; + =A0 =A0 =A0 =A0 =
=A0 =A0 =A0bool_t *sync_deferred)<br>&gt; &gt; =A0{<br>
&gt; &gt; =A0 =A0 =A0ept_entry_t *table, *ept_entry =3D NULL;<br>&gt; &gt; =
=A0 =A0 =A0unsigned long gfn_remainder =3D gfn;<br>&gt; &gt; @@ -309,6 +312=
,9 @@ ept_set_entry(struct p2m_domain *p2m, un<br>&gt; &gt; =A0 =A0 =A0 =A0=
 =A0 =A0 (target =3D=3D 1 &amp;&amp; hvm_hap_has_2mb(d)) ||<br>
&gt; &gt; =A0 =A0 =A0 =A0 =A0 =A0 (target =3D=3D 0));<br>&gt; &gt;<br>&gt; =
&gt; + =A0 =A0if (sync_deferred)<br>&gt;<br>&gt; Xen coding style has space=
s inside those parentheses.<br>&gt; &gt; + =A0 =A0 =A0 =A0*sync_deferred =
=3D 1;<br>&gt; &gt; +<br>&gt; &gt; =A0 =A0 =A0table =3D map_domain_page(ept=
_get_asr(d));<br>
&gt; &gt;<br>&gt; &gt; =A0 =A0 =A0for ( i =3D ept_get_wl(d); i &gt; target;=
 i-- )<br>&gt; &gt; @@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p=
2m, un<br>&gt; &gt; =A0 =A0 =A0 =A0 =A0ept_entry_t new_entry =3D { .epte =
=3D 0 };<br>&gt; &gt;<br>
&gt; &gt; =A0 =A0 =A0 =A0 =A0/* No need to flush if the old entry wasn&#39;=
t valid */<br>&gt; &gt; - =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) )=
<br>&gt; &gt; + =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) || (!target=
 &amp;&amp; sync_deferred)<br>
&gt; &gt; )<br>&gt; &gt; + =A0 =A0 =A0 =A0{<br>&gt; &gt; =A0 =A0 =A0 =A0 =
=A0 =A0 =A0needs_sync =3D 0;<br>&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0if ( syn=
c_deferred )<br>&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*sync_deferred =
=3D 0;<br>&gt;<br>&gt; I don&#39;t think you should do this -- you call thi=
s function in a loop and<br>
&gt; you may need to sync because of an earlier iteration. =A0Better to onl=
y<br>&gt; write a 1 to *sync_deferred once you know there&#39;s a sync to b=
e done, and<br>&gt; never to write a zero.<br><br>You are right. I will fix=
 that.<br>
<br>&gt; &gt; + =A0 =A0 =A0 =A0}<br>&gt;<br>&gt; One comment on the rest of=
 the patch: your calling function calls<br>&gt; ept_sync_domain() directly =
if sync_deferred =3D=3D 1. =A0That&#39;s correct for<br>&gt; now but it wou=
ld be cleaner to use a sync() function pointer in the<br>
&gt; struct p2m_domain, the same as the other implementation-specific calls=
.<br><br>I can add that too.=A0<br><br>&gt; Other than that, I think this l=
ooks pretty good to go in after 4.2 has<br>&gt; branched.<br><br>OK, I will=
 resubmit once 4.2 has branched.<br>
<br><div>Thanks,</div><div>Aravindh</div><div><br></div>

--90e6ba1821c0a758f604c03fcfdb--


--===============6790762474128554959==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6790762474128554959==--


From xen-devel-bounces@lists.xen.org Thu May 17 18:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5fe-0003Z8-KG; Thu, 17 May 2012 18:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SV5fd-0003Z3-80
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:43:29 +0000
Received: from [85.158.143.35:65331] by server-3.bemta-4.messagelabs.com id
	DB/A4-05853-0D645BF4; Thu, 17 May 2012 18:43:28 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337280206!15922792!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19919 invoked from network); 17 May 2012 18:43:27 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:43:27 -0000
Received: by lbok6 with SMTP id k6so1954388lbo.32
	for <xen-devel@lists.xen.org>; Thu, 17 May 2012 11:43:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=woxkQJ+T7PYvfsfO4Xe49se6xgCtfa0cEK2F24aW12A=;
	b=GFX8ATXMH+MYrMdPeISftFMbHRQ3DucGk/A7bv8dhC9P3rCABgzDPD6dC1HswJ25VX
	wUKvRUl9NCedOoVUMdJd7t5DNjKAnUMh85CNLJejiAfwP2s1jQccMdWBwPLKtf0lodGI
	AuaWbKYky2h1tWaEo2WoFlnht23ijRgP45WrU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=woxkQJ+T7PYvfsfO4Xe49se6xgCtfa0cEK2F24aW12A=;
	b=OZaWLXsI5af7OM5pBlG/zsKHUTkPgyFjLLw1OeGRTqxVmCJmHCLs/dZZB93xnY+Ph2
	acbiiwM7O85cGbQ98h+8j+TPzo8lvnjMvK2XMmLc/xFhKsGTuOLh3VpO+w4hooXJsqfV
	lQkOkmx1XuxKWv7d25QehzT2eeIdUYBCK9b6fLVdlkminUKqzJDOgSd8I5dGy8Re2XVn
	nlM5zJwWB5Vnpuwj53seq4/jyZ7OLJvqF42K8DOAhcufdLsXMBqNHUQ09XCLf/VTJUhM
	99o9tE2up5FtG5k39mIUstQBWV/33x5+FHU8rAk3HQUOIcLq5ofHrMg3dobjQ1a2Ica4
	lovw==
MIME-Version: 1.0
Received: by 10.112.42.225 with SMTP id r1mr3472492lbl.102.1337280206165; Thu,
	17 May 2012 11:43:26 -0700 (PDT)
Received: by 10.112.48.8 with HTTP; Thu, 17 May 2012 11:43:25 -0700 (PDT)
X-Originating-IP: [108.237.46.73]
In-Reply-To: <20120517100509.GB57529@ocelot.phlegethon.org>
References: <CAHDtvhrmhhgxMYg4Lguums83tgsp6z+RDipj2ZkN7MvMNk+zbw@mail.gmail.com>
	<CAB10MZB4XOhROFD1f2g9CXJhJYqnCa=34agjU43grHx3kP9CqA@mail.gmail.com>
	<CAB10MZDp4nPLFaFHzjEaE-pF20hmLJQwOsVQCuU9y5zR221zLg@mail.gmail.com>
	<CAHDtvhqamb-r9xcwo_8iLZw=yg-8CsiumXF8FtDEA=EXpOJ52w@mail.gmail.com>
	<CAB10MZALbM+QAS-XDP2sGJ9jhO3EwzbnmSiQC_SB7cq5csMDkA@mail.gmail.com>
	<CAHDtvhq_C-bkDajEXeN0Z-y0=xfVOcCXU4pTz=WRVVwTyuxW0A@mail.gmail.com>
	<CAB10MZAbS73A5162MMxs9LzkEzNHYO-tGtrpk-H9_NpRuEAGuw@mail.gmail.com>
	<CAB10MZDCWd27=Wd4x2iZa5EMxV3_L3bLgyqf7hgP+ACzOV_=Dg@mail.gmail.com>
	<CAHDtvhrjCZLvbj9JMk6Cgng52D7ycHnrx4fc4iOkc9yq2U3Lsg@mail.gmail.com>
	<CAB10MZAoKnoR3OHv7J1TcQa_Zuwn+yZtOBRTrL5=hZxOOoyNYQ@mail.gmail.com>
	<20120517100509.GB57529@ocelot.phlegethon.org>
Date: Thu, 17 May 2012 11:43:25 -0700
Message-ID: <CAB10MZDOv_TsqZAN4n0_7gZseXyXt8An6FSTyTNYpa8+G0UOAA@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Tim Deegan <tim@xen.org>
X-Gm-Message-State: ALoCoQnU1co8QrL6mwnX5c2/b/qi1GHAlCyujZgnhNLKGrmCXrSggip0rbSeElwCd7t0lQyo1obT
Cc: Christian.Limpach@gmail.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 0 of 2] Add libxc API that sets mem_access
 type for an array of gfns
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6790762474128554959=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6790762474128554959==
Content-Type: multipart/alternative; boundary=90e6ba1821c0a758f604c03fcfdb

--90e6ba1821c0a758f604c03fcfdb
Content-Type: text/plain; charset=ISO-8859-1

On Thu, May 17, 2012 at 3:05 AM, Tim Deegan <tim@xen.org> wrote:
>
> Hi Aravindh,
>
> At 15:02 -0700 on 04 May (1336143748), Aravindh Puthiyaparambil wrote:
> > diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c
> > --- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200
> > +++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700
> > @@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom
> >  /*
> >   * ept_set_entry() computes 'need_modify_vtd_table' for itself,
> >   * by observing whether any gfn->mfn translations are modified.
> > + * If sync_deferred is not NULL, then the caller will take care of
> > + * calling ept_sync_domain() in the cases where it can be deferred.
> >   */
> >  static int
> >  ept_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
> > -              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma)
> > +              unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma,
> > +              bool_t *sync_deferred)
> >  {
> >      ept_entry_t *table, *ept_entry = NULL;
> >      unsigned long gfn_remainder = gfn;
> > @@ -309,6 +312,9 @@ ept_set_entry(struct p2m_domain *p2m, un
> >             (target == 1 && hvm_hap_has_2mb(d)) ||
> >             (target == 0));
> >
> > +    if (sync_deferred)
>
> Xen coding style has spaces inside those parentheses.
> > +        *sync_deferred = 1;
> > +
> >      table = map_domain_page(ept_get_asr(d));
> >
> >      for ( i = ept_get_wl(d); i > target; i-- )
> > @@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p2m, un
> >          ept_entry_t new_entry = { .epte = 0 };
> >
> >          /* No need to flush if the old entry wasn't valid */
> > -        if ( !is_epte_present(ept_entry) )
> > +        if ( !is_epte_present(ept_entry) || (!target && sync_deferred)
> > )
> > +        {
> >              needs_sync = 0;
> > +            if ( sync_deferred )
> > +                *sync_deferred = 0;
>
> I don't think you should do this -- you call this function in a loop and
> you may need to sync because of an earlier iteration.  Better to only
> write a 1 to *sync_deferred once you know there's a sync to be done, and
> never to write a zero.

You are right. I will fix that.

> > +        }
>
> One comment on the rest of the patch: your calling function calls
> ept_sync_domain() directly if sync_deferred == 1.  That's correct for
> now but it would be cleaner to use a sync() function pointer in the
> struct p2m_domain, the same as the other implementation-specific calls.

I can add that too.

> Other than that, I think this looks pretty good to go in after 4.2 has
> branched.

OK, I will resubmit once 4.2 has branched.

Thanks,
Aravindh

--90e6ba1821c0a758f604c03fcfdb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Thu, May 17, 2012 at 3:05 AM, Tim Deegan &lt;<a href=3D"mailto:tim@xen.o=
rg">tim@xen.org</a>&gt; wrote:<br>&gt;<br>&gt; Hi Aravindh,<br>&gt;<br>&gt;=
 At 15:02 -0700 on 04 May (1336143748), Aravindh Puthiyaparambil wrote:<br>
&gt; &gt; diff -r 9dda0efd8ce1 -r c180942992bf xen/arch/x86/mm/p2m-ept.c<br=
>&gt; &gt; --- a/xen/arch/x86/mm/p2m-ept.c Fri Apr 27 17:57:55 2012 +0200<b=
r>&gt; &gt; +++ b/xen/arch/x86/mm/p2m-ept.c Fri May 04 14:56:12 2012 -0700<=
br>
&gt; &gt; @@ -274,10 +274,13 @@ static int ept_next_level(struct p2m_dom<br=
>&gt; &gt; =A0/*<br>&gt; &gt; =A0 * ept_set_entry() computes &#39;need_modi=
fy_vtd_table&#39; for itself,<br>&gt; &gt; =A0 * by observing whether any g=
fn-&gt;mfn translations are modified.<br>
&gt; &gt; + * If sync_deferred is not NULL, then the caller will take care =
of<br>&gt; &gt; + * calling ept_sync_domain() in the cases where it can be =
deferred.<br>&gt; &gt; =A0 */<br>&gt; &gt; =A0static int<br>&gt; &gt; =A0ep=
t_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,<br>
&gt; &gt; - =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int order, p2m_type_t p2mt,=
 p2m_access_t p2ma)<br>&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0 =A0unsigned int =
order, p2m_type_t p2mt, p2m_access_t p2ma,<br>&gt; &gt; + =A0 =A0 =A0 =A0 =
=A0 =A0 =A0bool_t *sync_deferred)<br>&gt; &gt; =A0{<br>
&gt; &gt; =A0 =A0 =A0ept_entry_t *table, *ept_entry =3D NULL;<br>&gt; &gt; =
=A0 =A0 =A0unsigned long gfn_remainder =3D gfn;<br>&gt; &gt; @@ -309,6 +312=
,9 @@ ept_set_entry(struct p2m_domain *p2m, un<br>&gt; &gt; =A0 =A0 =A0 =A0=
 =A0 =A0 (target =3D=3D 1 &amp;&amp; hvm_hap_has_2mb(d)) ||<br>
&gt; &gt; =A0 =A0 =A0 =A0 =A0 =A0 (target =3D=3D 0));<br>&gt; &gt;<br>&gt; =
&gt; + =A0 =A0if (sync_deferred)<br>&gt;<br>&gt; Xen coding style has space=
s inside those parentheses.<br>&gt; &gt; + =A0 =A0 =A0 =A0*sync_deferred =
=3D 1;<br>&gt; &gt; +<br>&gt; &gt; =A0 =A0 =A0table =3D map_domain_page(ept=
_get_asr(d));<br>
&gt; &gt;<br>&gt; &gt; =A0 =A0 =A0for ( i =3D ept_get_wl(d); i &gt; target;=
 i-- )<br>&gt; &gt; @@ -345,8 +351,12 @@ ept_set_entry(struct p2m_domain *p=
2m, un<br>&gt; &gt; =A0 =A0 =A0 =A0 =A0ept_entry_t new_entry =3D { .epte =
=3D 0 };<br>&gt; &gt;<br>
&gt; &gt; =A0 =A0 =A0 =A0 =A0/* No need to flush if the old entry wasn&#39;=
t valid */<br>&gt; &gt; - =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) )=
<br>&gt; &gt; + =A0 =A0 =A0 =A0if ( !is_epte_present(ept_entry) || (!target=
 &amp;&amp; sync_deferred)<br>
&gt; &gt; )<br>&gt; &gt; + =A0 =A0 =A0 =A0{<br>&gt; &gt; =A0 =A0 =A0 =A0 =
=A0 =A0 =A0needs_sync =3D 0;<br>&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0if ( syn=
c_deferred )<br>&gt; &gt; + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*sync_deferred =
=3D 0;<br>&gt;<br>&gt; I don&#39;t think you should do this -- you call thi=
s function in a loop and<br>
&gt; you may need to sync because of an earlier iteration. =A0Better to onl=
y<br>&gt; write a 1 to *sync_deferred once you know there&#39;s a sync to b=
e done, and<br>&gt; never to write a zero.<br><br>You are right. I will fix=
 that.<br>
<br>&gt; &gt; + =A0 =A0 =A0 =A0}<br>&gt;<br>&gt; One comment on the rest of=
 the patch: your calling function calls<br>&gt; ept_sync_domain() directly =
if sync_deferred =3D=3D 1. =A0That&#39;s correct for<br>&gt; now but it wou=
ld be cleaner to use a sync() function pointer in the<br>
&gt; struct p2m_domain, the same as the other implementation-specific calls=
.<br><br>I can add that too.=A0<br><br>&gt; Other than that, I think this l=
ooks pretty good to go in after 4.2 has<br>&gt; branched.<br><br>OK, I will=
 resubmit once 4.2 has branched.<br>
<br><div>Thanks,</div><div>Aravindh</div><div><br></div>

--90e6ba1821c0a758f604c03fcfdb--


--===============6790762474128554959==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6790762474128554959==--


From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pV-0003if-OS; Thu, 17 May 2012 18:53:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pU-0003iH-Dh
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:40 +0000
Received: from [193.109.254.147:45678] by server-8.bemta-14.messagelabs.com id
	C2/63-23244-33945BF4; Thu, 17 May 2012 18:53:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15879 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537165"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qC-D4; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006bz-Bo;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 19:53:31 +0100
Message-ID: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [RFC PATCH 0/5] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a first cut of my proposal to fix the libxl save/restore
machinery so that it is suitable for use in a single-process daemon.
See 5/5 for the full rationale.

Note that i have not executed this series, although I have compiled
it.  Nor have I reread the patches particularly carefully.  This is an
initial posting to get comments on the approach.

 1/5 libxc: xc_domain_restore, make toolstack_restore const-correct
 2/5 libxl: domain save: rename variables etc.
 3/5 libxl: domain restore: reshuffle, preparing for ao
 4/5 libxl: domain save: API changes for asynchrony
 5/5 libxl: domain save/restore: run in a separate process

These are also available as the final few commits on the following
git branch:
    http://xenbits.xen.org/gitweb/?p=people/iwj/xen-unstable.git;a=shortlog;h=refs/heads/rebasing.ao-save-restore
Note that this branch is REBASING and has a DISJOINT HISTORY to most
of the other xen-unstable.git trees on xenbits.

"master" in that repo is the xen-unstable tip (non-rebasing).  It
also contains my topgit forest; the tip of this series is the patch
t/xen/xc.save-restore-protocol.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pV-0003if-OS; Thu, 17 May 2012 18:53:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pU-0003iH-Dh
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:40 +0000
Received: from [193.109.254.147:45678] by server-8.bemta-14.messagelabs.com id
	C2/63-23244-33945BF4; Thu, 17 May 2012 18:53:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15879 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537165"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qC-D4; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006bz-Bo;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 17 May 2012 19:53:31 +0100
Message-ID: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [RFC PATCH 0/5] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a first cut of my proposal to fix the libxl save/restore
machinery so that it is suitable for use in a single-process daemon.
See 5/5 for the full rationale.

Note that i have not executed this series, although I have compiled
it.  Nor have I reread the patches particularly carefully.  This is an
initial posting to get comments on the approach.

 1/5 libxc: xc_domain_restore, make toolstack_restore const-correct
 2/5 libxl: domain save: rename variables etc.
 3/5 libxl: domain restore: reshuffle, preparing for ao
 4/5 libxl: domain save: API changes for asynchrony
 5/5 libxl: domain save/restore: run in a separate process

These are also available as the final few commits on the following
git branch:
    http://xenbits.xen.org/gitweb/?p=people/iwj/xen-unstable.git;a=shortlog;h=refs/heads/rebasing.ao-save-restore
Note that this branch is REBASING and has a DISJOINT HISTORY to most
of the other xen-unstable.git trees on xenbits.

"master" in that repo is the xen-unstable tip (non-rebasing).  It
also contains my topgit forest; the tip of this series is the patch
t/xen/xc.save-restore-protocol.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pX-0003jG-7g; Thu, 17 May 2012 18:53:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pV-0003iI-3i
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:7900] by server-9.bemta-14.messagelabs.com id
	74/56-05787-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15904 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537169"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qI-Hc; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006cN-Gf;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:36 +0100
Message-ID: <1337280816-25370-6-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 5/5] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxenctrl expects to be able to simply run the save or restore
operation synchronously.  This won't work well in a process which is
trying to handle multiple domains.

The options are:

 - Block such a whole process (eg, the whole of libvirt) while
   migration completes (or until it fails).

 - Create a thread to run xc_domain_save and xc_domain_restore on.
   This is quite unpalatable.  Multithreaded programming is error
   prone enough without generating threads in libraries, particularly
   if the thread does some very complex operation.

 - Fork and run the operation in the child without execing.  This is
   no good because we would need to negotiate with the caller about
   fds we would inherit (and we might be a very large process).

 - Fork and exec a helper.

Of these options the latter is the most palatable.

Consequently:

 * A new helper program libxl-save-helper (which does both save and
   restore).  It will be installed in /usr/lib/xen/bin.  It does not
   link against libxl, only libxc, and its error handling does not
   need to be very advanced.  It does contain a plumbing through of
   the logging interface into the callback stream.

 * A small ad-hoc protocol between the helper and libxl which allows
   log messages and the libxc callbacks to be passed up and down.
   Protocol doc comment is in libxl_save_helper.c.

 * To avoid a lot of tedium the marshalling boilerplate (stubs for the
   helper and the callback decoder for libxl) is generated with a
   small perl script.

 * The callback functions in libxl are renamed to the systematic
   naming scheme from the marshalling boilerplate.  This hardwires the
   libxl callbacks.

 * Implement new functionality to spawn the helper, monitor its
   output, provide responses, and check on its exit status.

 * The functions libxl__xc_domain_restore_done and
   libxl__xc_domain_save_done now turn out to want be called in the
   same place.  So make their state argument a void* so that the two
   functions are type compatible.

The domain save path still writes the qemu savefile synchronously.
This will need to be fixed in a subsequent patch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                         |    1 +
 .hgignore                          |    2 +
 tools/libxl/Makefile               |   19 ++-
 tools/libxl/libxl_create.c         |   24 ++-
 tools/libxl/libxl_dom.c            |   34 +++--
 tools/libxl/libxl_internal.h       |   47 ++++--
 tools/libxl/libxl_save_callout.c   |  318 +++++++++++++++++++++++++++++++++---
 tools/libxl/libxl_save_helper.c    |  273 +++++++++++++++++++++++++++++++
 tools/libxl/libxl_save_msgs_gen.pl |  305 ++++++++++++++++++++++++++++++++++
 9 files changed, 965 insertions(+), 58 deletions(-)
 create mode 100644 tools/libxl/libxl_save_helper.c
 create mode 100755 tools/libxl/libxl_save_msgs_gen.pl

diff --git a/.gitignore b/.gitignore
index 7770e54..3451e52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -353,6 +353,7 @@ tools/libxl/_*.[ch]
 tools/libxl/testidl
 tools/libxl/testidl.c
 tools/libxl/*.pyc
+tools/libxl/libxl-save-helper
 tools/blktap2/control/tap-ctl
 tools/firmware/etherboot/eb-roms.h
 tools/firmware/etherboot/gpxe-git-snapshot.tar.gz
diff --git a/.hgignore b/.hgignore
index 27d8f79..05304ea 100644
--- a/.hgignore
+++ b/.hgignore
@@ -180,9 +180,11 @@
 ^tools/libxl/_.*\.c$
 ^tools/libxl/libxlu_cfg_y\.output$
 ^tools/libxl/xl$
+^tools/libxl/libxl-save-helper$
 ^tools/libxl/testidl$
 ^tools/libxl/testidl\.c$
 ^tools/libxl/tmp\..*$
+^tools/libxl/.*\.new$
 ^tools/libvchan/vchan-node[12]$
 ^tools/libaio/src/.*\.ol$
 ^tools/libaio/src/.*\.os$
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 9b84421..09f5e9d 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,25 +66,29 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_save_callout.o \
+			libxl_save_callout.o _libxl_save_msgs_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
 
-AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
+AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_save_msgs.h _libxl_list.h
 AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
+AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
 LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
 	libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o
 $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 
-CLIENTS = xl testidl
+CLIENTS = xl testidl libxl-save-helper
 
 XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it.
 
+SAVE_HELPER_OBJS = libxl_save_helper.o _libxl_save_msgs_helper.o
+$(SAVE_HELPER_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
+
 testidl.o: CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
 testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
 	$(PYTHON) gentest.py libxl_types.idl testidl.c.new
@@ -116,6 +120,11 @@ _libxl_list.h: $(XEN_INCLUDE)/xen-external/bsd-sys-queue-h-seddery $(XEN_INCLUDE
 	perl $^ --prefix=libxl >$@.new
 	$(call move-if-changed,$@.new,$@)
 
+_libxl_save_msgs.h _libxl_save_msgs_helper.c _libxl_save_msgs_callout.c: \
+		libxl_save_msgs_gen.pl
+	$(PERL) -w $< $@ >$@.new
+	$(call move-if-changed,$@.new,$@)
+
 libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
 libxl_internal.h: _libxl_types_internal.h _libxl_paths.h
@@ -157,6 +166,9 @@ libxlutil.a: $(LIBXLU_OBJS)
 xl: $(XL_OBJS) libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
 
+libxl-save-helper: $(SAVE_HELPER_OBJS) libxenlight.so
+	$(CC) $(LDFLAGS) -o $@ $(SAVE_HELPER_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS)
+
 testidl: testidl.o libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
 
@@ -168,6 +180,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_RUN_DIR)
 	$(INSTALL_PROG) xl $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PROG) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
 	ln -sf libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenlight.so.$(MAJOR)
 	ln -sf libxenlight.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenlight.so
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7f42737..952c0aa 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -617,14 +617,12 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     /* read signature */
     int hvm, pae, superpages;
     int no_incr_generationid;
-    xc_toolstack_restore_cb *toolstack_restore = NULL;
     switch (info->type) {
     case LIBXL_DOMAIN_TYPE_HVM:
         hvm = 1;
         superpages = 1;
         pae = libxl_defbool_val(info->u.hvm.pae);
         no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        toolstack_restore = libxl__toolstack_restore;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         hvm = 0;
@@ -637,18 +635,32 @@ static void domcreate_bootloader_done(libxl__egc *egc,
         goto out;
     }
     libxl__xc_domain_restore(egc, dcs,
-                             hvm, pae, superpages, no_incr_generationid,
-                             toolstack_restore);
+                             hvm, pae, superpages, no_incr_generationid);
     return;
 
  out:
     libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
 }
 
-void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                   libxl__domain_create_state *dcs,
+void libxl_srm_callout_callback_restore_results(unsigned long store_mfn,
+          unsigned long console_mfn, unsigned long genidad, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_create_state *dcs = user->caller_state;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(dcs->ao);
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    state->store_mfn =            store_mfn;
+    state->console_mfn =          console_mfn;
+    state->vm_generationid_addr = genidad;
+    shs->need_results =           0;
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                    int ret, int retval, int errnoval)
 {
+    libxl__domain_create_state *dcs = dcs_void;
     STATE_AO_GC(dcs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **vments = NULL, **localents = NULL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index d28f740..464078d 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -458,11 +458,14 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
-        uint32_t size, void *data)
+int libxl_srm_callout_callback_toolstack_restore(uint32_t domid,
+                             const uint8_t *buf, uint32_t size,
+                             void *user_void)
 {
-    libxl__gc *gc = data;
-    libxl_ctx *ctx = gc->owner;
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_create_state *dcs = user->caller_state;
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = CTX;
     int i, ret;
     const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
@@ -522,10 +525,14 @@ static void domain_suspend_done(libxl__egc *egc,
 
 /*----- callbacks, called by xc_domain_save -----*/
 
-int libxl__domain_suspend_common_switch_qemu_logdirty
-                               (int domid, unsigned int enable, void *data)
+int libxl_srm_callout_callback_postcopy(void *user) { return 0; }
+int libxl_srm_callout_callback_checkpoint(void *user) { return 0; }
+
+int libxl_srm_callout_callback_switch_qemu_logdirty(int domid, unsigned enable,
+                                                    void *user_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_suspend_state *dss = user->caller_state;
     STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
@@ -543,9 +550,10 @@ int libxl__domain_suspend_common_switch_qemu_logdirty
     return rc ? 0 : 1;
 }
 
-int libxl__domain_suspend_common_callback(void *data)
+int libxl_srm_callout_callback_suspend(void *user_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_suspend_state *dss = user->caller_state;
     STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
@@ -675,9 +683,9 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 }
 
 int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
-        uint32_t *len, void *data)
+        uint32_t *len, void *dss_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
@@ -817,10 +825,10 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     domain_suspend_done(egc, dss, rc);
 }
 
-void libxl__xc_domain_save_done(libxl__egc *egc,
-                                libxl__domain_suspend_state *dss,
+void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
                                 int rc, int retval, int errnoval)
 {
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
 
     /* Convenience aliases */
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a06cc65..d86d204 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -54,6 +54,7 @@
 
 #include "libxl.h"
 #include "_libxl_paths.h"
+#include "_libxl_save_msgs.h"
 
 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
 #define _hidden __attribute__((visibility("hidden")))
@@ -752,8 +753,6 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
                                  xs_transaction_t trans);
 
-_hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
-                                     uint32_t size, void *data);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
@@ -1704,6 +1703,36 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Save/restore helper (used by creation and suspend) -----*/
+
+typedef struct libxl__save_helper_state {
+    /* public, caller of run_helper initialises */
+    libxl__ao *ao;
+    uint32_t domid;
+    int (*recv_callback)(const unsigned char *msg, uint32_t len, void *user);
+    void (*completion_callback)(libxl__egc *egc, void *caller_state,
+                                int rc, int retval, int errnoval);
+    void *caller_state;
+    int need_results; /* set to 0 or 1 by caller of run_helper;
+                       * if set to 1 then the ultimate caller's
+                       * results function must set it to 0 */
+    /* private */
+    int rc;
+    int completed; /* retval/errnoval valid iff completed */
+    int retval, errnoval; /* from xc_domain_save / xc_domain_restore */
+    libxl__carefd *pipes[2]; /* 0 = helper's stdin, 1 = helper's stdout */
+    libxl__ev_fd readable;
+    libxl__ev_child child;
+    const char *stdin_what, *stdout_what;
+} libxl__save_helper_state;
+
+typedef struct libxl__save_helper_callback_user {
+    libxl__egc *egc;
+    libxl__save_helper_state *shs;
+    void *caller_state;
+} libxl__save_helper_callback_user;
+
+
 /*----- Domain suspend (save) state structure -----*/
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
@@ -1726,6 +1755,7 @@ struct libxl__domain_suspend_state {
     int suspend_eventchn;
     int hvm;
     int guest_responded;
+    libxl__save_helper_state shs;
 };
 
 
@@ -1822,6 +1852,7 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    libxl__save_helper_state shs;
 };
 
 /*----- Domain suspend (save) functions -----*/
@@ -1838,13 +1869,9 @@ _hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_save_done(libxl__egc*,
-                                        libxl__domain_suspend_state*,
+_hidden void libxl__xc_domain_save_done(libxl__egc*, void *dss_void,
                                         int rc, int retval, int errnoval);
 
-_hidden int libxl__domain_suspend_common_callback(void *data);
-_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
-                               (int domid, unsigned int enable, void *data);
 _hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data);
 
@@ -1853,13 +1880,11 @@ _hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
 _hidden void libxl__xc_domain_restore(libxl__egc *egc,
                                       libxl__domain_create_state *dcs,
                                       int hvm, int pae, int superpages,
-                                      int no_incr_generationid,
-                                      xc_toolstack_restore_cb*);
+                                      int no_incr_generationid);
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                           libxl__domain_create_state *dcs,
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                            int rc, int retval, int errnoval);
 
 
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index 2355cc0..efc84d8 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -16,10 +16,22 @@
 
 #include "libxl_internal.h"
 
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums);
+
+static void helper_failed(libxl__egc*, libxl__save_helper_state *shs, int rc);
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents);
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status);
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs);
+
+/*----- entrypoints -----*/
+
 void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               int hvm, int pae, int superpages,
-                              int no_incr_generationid,
-                              xc_toolstack_restore_cb *toolstack_restore)
+                              int no_incr_generationid)
 {
     STATE_AO_GC(dcs->ao);
 
@@ -28,17 +40,23 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
 
-    struct restore_callbacks callbacks;
-    callbacks.toolstack_restore = toolstack_restore;
-    callbacks.data = gc;
+    const unsigned long argnums[] = {
+        restore_fd, domid,
+        state->store_port,
+        state->store_domid, state->console_port,
+        state->console_domid,
+        hvm, pae, superpages, no_incr_generationid,
+    };
 
-    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
-                              state->store_port, &state->store_mfn,
-                              state->store_domid, state->console_port,
-                              &state->console_mfn, state->console_domid,
-                              hvm, pae, superpages, no_incr_generationid,
-                              &state->vm_generationid_addr, &callbacks);
-    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+    dcs->shs.ao = ao;
+    dcs->shs.domid = domid;
+    dcs->shs.recv_callback = libxl_srm_callout_received_restore;
+    dcs->shs.completion_callback = libxl__xc_domain_restore_done;
+    dcs->shs.caller_state = dcs;
+    dcs->shs.need_results = 1;
+
+    run_helper(egc, &dcs->shs, "--restore-domain", restore_fd,
+               argnums, ARRAY_SIZE(argnums));
 }
 
 void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
@@ -46,17 +64,267 @@ void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
                            unsigned long vm_generationid_addr)
 {
     STATE_AO_GC(dss->ao);
-    struct save_callbacks callbacks;
-    int r;
-
-    memset(&callbacks, 0, sizeof(callbacks));
-    callbacks.suspend = libxl__domain_suspend_common_callback;
-    callbacks.switch_qemu_logdirty =
-        libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = dss;
-
-    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags, &callbacks,
-                       hvm, vm_generationid_addr);
-    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+    int r, rc;
+    uint32_t toolstack_data_len;
+
+    /* Resources we need to free */
+    uint8_t *toolstack_data_buf = 0;
+    FILE *toolstack_data_file = 0;
+
+    r = libxl__toolstack_save(dss->domid, &toolstack_data_buf,
+                              &toolstack_data_len, dss);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    toolstack_data_file = tmpfile();
+    if (!toolstack_data_file) {
+        LOGE(ERROR, "cannot create toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    int toolstack_data_fd = fileno(toolstack_data_file);
+
+    r = libxl_write_exactly(CTX, toolstack_data_fd,
+                            toolstack_data_buf, toolstack_data_len,
+                            "toolstack data tmpfile", 0);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    r = lseek(toolstack_data_fd, 0, SEEK_SET);
+    if (r) {
+        LOGE(ERROR, "rewind toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    const unsigned long argnums[] = {
+        dss->fd, dss->domid, 0, 0, xcflags, hvm, vm_generationid_addr,
+        toolstack_data_fd, toolstack_data_len,
+    };
+
+    dss->shs.ao = ao;
+    dss->shs.domid = dss->domid;
+    dss->shs.recv_callback = libxl_srm_callout_received_save;
+    dss->shs.completion_callback = libxl__xc_domain_save_done;
+    dss->shs.caller_state = dss;
+    dss->shs.need_results = 0;
+
+    run_helper(egc, &dss->shs, "--save-domain", dss->fd,
+               argnums, ARRAY_SIZE(argnums));
+    return;
+
+ out:
+    free(toolstack_data_buf);
+    if (toolstack_data_file) fclose(toolstack_data_file);
+
+    libxl__xc_domain_save_done(egc, dss, rc, 0, 0);
+}
+
+
+/*----- helper execution -----*/
+
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums)
+{
+    STATE_AO_GC(shs->ao);
+    const char *args[2 + num_argnums];
+    const char **arg = args;
+    int i, rc;
+
+    /* Resources we must free */
+    libxl__carefd *childs_pipes[2] = { 0,0 };
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    shs->rc = 0;
+    shs->completed = 0;
+    shs->pipes[0] = shs->pipes[1] = 0;
+    libxl__ev_fd_init(&shs->readable);
+    libxl__ev_child_init(&shs->child);
+
+    shs->stdin_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                " stdin pipe", domid);
+    shs->stdout_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                 " stdout pipe", domid);
+
+    *arg++ = LIBEXEC "/" "libxl-save-helper";
+    *arg++ = mode_arg;
+    for (i=0; i<num_argnums; i++)
+        *arg++ = GCSPRINTF("%lu", argnums[i]);
+    *arg++ = 0;
+    assert(arg == args + ARRAY_SIZE(args));
+
+    libxl__carefd_begin();
+    for (i=0; i<2; i++) {
+        int fds[2];
+        if (libxl_pipe(CTX,fds)) { rc = ERROR_FAIL; goto out; }
+        childs_pipes[i] = libxl__carefd_record(CTX, fds[i]);
+        shs->pipes[i] = libxl__carefd_record(CTX, fds[!i]);
+    }
+    libxl__carefd_unlock();
+
+    pid_t pid = libxl__ev_child_fork(gc, &shs->child, helper_exited);
+    if (!pid) {
+        libxl_fd_set_cloexec(CTX, data_fd, 0);
+        libxl__exec(libxl__carefd_fd(childs_pipes[0]),
+                    libxl__carefd_fd(childs_pipes[1]),
+                    -1,
+                    args[0], (char**)args);
+    }
+
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+
+    rc = libxl__ev_fd_register(gc, &shs->readable, helper_stdout_readable,
+                               libxl__carefd_fd(shs->pipes[1]), POLLIN|POLLPRI);
+    if (rc) goto out;
+    return;
+
+ out:
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+    helper_failed(egc, shs, rc);;
+}
+
+static void helper_failed(libxl__egc *egc, libxl__save_helper_state *shs,
+                          int rc)
+{
+    STATE_AO_GC(shs->ao);
+
+    if (!shs->rc)
+        shs->rc = rc;
+
+    if (!libxl__ev_child_inuse(&shs->child)) {
+        helper_done(egc, shs);
+        return;
+    }
+
+    int r = kill(shs->child.pid, SIGKILL);
+    if (r) LOGE(WARN, "failed to kill save/restore helper [%lu]",
+                (unsigned long)shs->child.pid);
+}
+
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ev, *shs, readable);
+    STATE_AO_GC(shs->ao);
+    int rc, errnoval;
+
+    if (revents & POLLPRI) {
+        LOG(ERROR, "%s signaled POLLERR", shs->stdout_what);
+        rc = ERROR_FAIL;
+ out:
+        /* this is here because otherwise we bypass the decl of msg[] */
+        helper_failed(egc, shs, rc);
+        return;
+    }
+
+    uint32_t msglen;
+    errnoval = libxl_read_exactly(CTX, fd, &msglen, sizeof(msglen),
+                                  shs->stdout_what, "ipc msg header");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    unsigned char msg[msglen];
+    errnoval = libxl_read_exactly(CTX, fd, msg, msglen,
+                                  shs->stdout_what, "ipc msg body");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    libxl__save_helper_callback_user user = { egc, shs, shs->caller_state };
+    shs->recv_callback(msg, msglen, &user);
+    return;
+}
+
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ch, *shs, child);
+    STATE_AO_GC(shs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    const char *what =
+        GCSPRINTF("domain %"PRIu32" save/restore helper", domid);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, XTL_ERROR, what, pid, status);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (shs->need_results) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without providing results",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (!shs->completed) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without signaling completion",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    helper_done(egc, shs);
+    return;
+}
+
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs)
+{
+    STATE_AO_GC(shs->ao);
+
+    libxl__ev_fd_deregister(gc, &shs->readable);
+    libxl__carefd_close(shs->pipes[0]);  shs->pipes[0] = 0;
+    libxl__carefd_close(shs->pipes[1]);  shs->pipes[1] = 0;
+    assert(!libxl__ev_child_inuse(&shs->child));
+
+    shs->completion_callback(egc, shs->caller_state,
+                             shs->rc, shs->retval, shs->errnoval);
+}
+
+/*----- generic helpers for the autogenerated code -----*/
+
+void libxl_srm_callout_sendreply(int r, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    libxl__egc *egc = user->egc;
+    STATE_AO_GC(shs->ao);
+    int errnoval;
+
+    errnoval = libxl_write_exactly(CTX, libxl__carefd_fd(shs->pipes[0]),
+                                   &r, sizeof(r), shs->stdin_what,
+                                   "callback return value");
+    if (errnoval)
+        helper_failed(egc, shs, ERROR_FAIL);
+}
+
+void libxl_srm_callout_callback_log(uint32_t level, uint32_t errnoval,
+                  const char *context, const char *formatted, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(shs->ao);
+    xtl_log(CTX->lg, level, errnoval, context, "%s", formatted);
+}
+
+void libxl_srm_callout_callback_progress(const char *context,
+                   const char *doing_what, unsigned long done,
+                   unsigned long total, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(shs->ao);
+    xtl_progress(CTX->lg, context, doing_what, done, total);
+}
+
+void libxl_srm_callout_callback_complete(int retval, int errnoval,
+                                         void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(shs->ao);
+
+    shs->completed = 1;
+    shs->retval = retval;
+    shs->errnoval = errnoval;
 }
diff --git a/tools/libxl/libxl_save_helper.c b/tools/libxl/libxl_save_helper.c
new file mode 100644
index 0000000..79081dd
--- /dev/null
+++ b/tools/libxl/libxl_save_helper.c
@@ -0,0 +1,273 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+/*
+ * The libxl-save-helper utility speaks a protocol to its caller for
+ * the callbacks.  The protocol is as follows.
+ *
+ * The helper talks on stdin and stdout, in binary in machine
+ * endianness.  The helper speaks first, and only when it has a
+ * callback to make.  It writes a 32-bit number being the message
+ * length, and then the message body.
+ *
+ * Each message starts with a 32-bit number indicating which of the
+ * messages it is, and then some arguments in a binary marshalled form.
+ * If the callback does not need a reply (it returns void), the helper
+ * just continues.  Otherwise the helper waits for its caller to send a
+ * single int which is to be the return value from the callback.
+ *
+ * Where feasible the stubs and callbacks have prototypes identical to
+ * those required by xc_domain_save and xc_domain_restore, so that the
+ * autogenerated functions can be used/provided directly.
+ *
+ * The actual messages are in the array @msgs in libxl_save_msgs_gen.pl
+ */
+
+#include "libxl_osdeps.h"
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <assert.h>
+
+#include "libxl.h"
+
+#include "xenctrl.h"
+#include "xenguest.h"
+#include "_libxl_save_msgs.h"
+
+/*----- globals -----*/
+
+static const char *program = "libxl-save-helper";
+static xentoollog_logger *logger;
+static xc_interface *xch;
+
+/*----- error handling -----*/
+
+static void fail(int errnoval, const char *fmt, ...)
+    __attribute__((noreturn,format(printf,2,3)));
+static void fail(int errnoval, const char *fmt, ...)
+{
+    va_list al;
+    va_start(al,fmt);
+    xtl_logv(logger,XTL_ERROR,errnoval,program,fmt,al);
+    exit(-1);
+}
+
+static int read_exactly(int fd, void *buf, size_t len)
+/* returns 0 if we get eof, even if we got it midway through; 1 if ok */
+{
+    while (len) {
+        ssize_t r = read(fd, buf, len);
+        if (r<=0) return r;
+        assert(r <= len);
+        len -= r;
+        buf = (char*)buf + r;
+    }
+    return 1;
+}
+
+static void *xmalloc(size_t sz)
+{
+    if (!sz) return 0;
+    void *r = malloc(sz);
+    if (!r) { perror("memory allocation failed"); exit(-1); }
+    return r;
+}
+
+/*----- logger -----*/
+
+typedef struct {
+    xentoollog_logger vtable;
+} xentoollog_logger_tellparent;
+
+static void tellparent_vmessage(xentoollog_logger *logger_in,
+                                xentoollog_level level,
+                                int errnoval,
+                                const char *context,
+                                const char *format,
+                                va_list al)
+{
+    char *formatted;
+    int r = vasprintf(&formatted, format, al);
+    if (r < 0) { perror("memory allocation failed during logging"); exit(-1); }
+    libxl_srm_helper_stub_log(level, errnoval, context, formatted, 0);
+    free(formatted);
+}
+
+static void tellparent_progress(struct xentoollog_logger *logger_in,
+                                const char *context,
+                                const char *doing_what, int percent,
+                                unsigned long done, unsigned long total)
+{
+    libxl_srm_helper_stub_progress(context, doing_what, done, total, 0);
+}
+
+static void tellparent_destroy(struct xentoollog_logger *logger_in)
+{
+    abort();
+}
+
+static xentoollog_logger_tellparent *createlogger_tellparent(void)
+{
+    xentoollog_logger_tellparent newlogger;
+    return XTL_NEW_LOGGER(tellparent, newlogger);
+}
+
+/*----- helper functions called by autogenerated stubs -----*/
+
+unsigned char * libxl_srm_helper_allocbuf(int len, void *user)
+{
+    return xmalloc(len);
+}
+
+void libxl_srm_helper_transmit(unsigned char *msg_freed, int len, void *user)
+{
+    while (len) {
+        int r = write(1, msg_freed, len);
+        if (r<0) { perror("write"); exit(-1); }
+        assert(r >= 0);
+        assert(r <= len);
+        len -= r;
+        msg_freed += r;
+    }
+    free(msg_freed);
+}
+
+int libxl_srm_helper_getreply(void *user)
+{
+    int v;
+    int r = read_exactly(0, &v, sizeof(v));
+    if (r<=0) exit(-2);
+    return v;
+}
+
+/*----- other callbacks -----*/
+
+static int toolstack_save_fd;
+static uint32_t toolstack_save_len;
+
+static int toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                             uint32_t *len, void *data)
+{
+    assert(toolstack_save_fd > 0);
+
+    *buf = xmalloc(toolstack_save_len);
+    int r = read_exactly(toolstack_save_fd, *buf, toolstack_save_len);
+    if (r<0) fail(errno,"read toolstack data");
+    if (r==0) fail(0,"read toolstack data eof");
+
+    toolstack_save_fd = -1;
+    return 0;
+}
+
+static struct save_callbacks helper_save_callbacks = {
+    .suspend =              libxl_srm_helper_stub_suspend,
+    .postcopy =             libxl_srm_helper_stub_postcopy,
+    .checkpoint =           libxl_srm_helper_stub_checkpoint,
+    .switch_qemu_logdirty = libxl_srm_helper_stub_switch_qemu_logdirty,
+    .toolstack_save =       toolstack_save_cb,
+    .data =                 NULL,
+};
+
+static struct restore_callbacks helper_restore_callbacks = {
+    .toolstack_restore =    libxl_srm_helper_stub_toolstack_restore,
+    .data =                 NULL,
+};
+
+static void startup(const char *op) {
+    xentoollog_logger *logger = (xentoollog_logger*)createlogger_tellparent();
+    if (!logger) {
+        fprintf(stderr, "%s: cannot initialise logger\n", program);
+        exit(-1);
+    }
+
+    xtl_log(logger,XTL_DEBUG,0,program,"starting %s",op);
+
+    xch = xc_interface_open(logger,logger,0);
+    if (!xch) fail(errno,"xc_interface_open failed");
+}
+
+static void complete(int retval) {
+    int errnoval = errno;
+    xtl_log(logger,XTL_DEBUG,errnoval,program,"complete r=%d",retval);
+    libxl_srm_helper_stub_complete(retval,errnoval,0);
+    exit(0);
+}
+
+int main(int argc, char **argv)
+{
+    int r;
+
+#define NEXTARG (++argv, assert(*argv), *argv)
+
+    const char *mode = *++argv;
+    assert(mode);
+
+    if (!strcmp(mode,"--save-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        uint32_t max_iters =       strtoul(NEXTARG,0,10);
+        uint32_t max_factor =      strtoul(NEXTARG,0,10);
+        uint32_t flags =           strtoul(NEXTARG,0,10);
+        int hvm =                  atoi(NEXTARG);
+        unsigned long genidad =    strtoul(NEXTARG,0,10);
+        toolstack_save_fd  =       atoi(NEXTARG);
+        toolstack_save_len =       strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        startup("save");
+        r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags,
+                       &helper_save_callbacks, hvm, genidad);
+        complete(r);
+
+    } else if (!strcmp(mode,"--restore-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        unsigned store_evtchn =    strtoul(NEXTARG,0,10);
+        domid_t store_domid =      strtoul(NEXTARG,0,10);
+        unsigned console_evtchn =  strtoul(NEXTARG,0,10);
+        domid_t console_domid =    strtoul(NEXTARG,0,10);
+        unsigned int hvm =         strtoul(NEXTARG,0,10);
+        unsigned int pae =         strtoul(NEXTARG,0,10);
+        int superpages =           strtoul(NEXTARG,0,10);
+        int no_incr_genidad =      strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        unsigned long store_mfn = 0;
+        unsigned long console_mfn = 0;
+        unsigned long genidad = 0;
+
+        startup("restore");
+        r = xc_domain_restore(xch, io_fd, dom, store_evtchn, &store_mfn,
+                              store_domid, console_evtchn, &console_mfn,
+                              console_domid, hvm, pae, superpages,
+                              no_incr_genidad, &genidad,
+                              &helper_restore_callbacks);
+        libxl_srm_helper_stub_restore_results(store_mfn,console_mfn,genidad,0);
+        complete(r);
+
+    } else {
+        assert(!"unexpected mode argument");
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
new file mode 100755
index 0000000..9960fdc
--- /dev/null
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -0,0 +1,305 @@
+#!/usr/bin/perl -w
+
+use warnings;
+use strict;
+use POSIX;
+
+
+our @msgs = (
+    [  1, 'sr',0, "log",                  [qw(uint32_t level
+                                              uint32_t errnoval
+                                              STRING context
+                                              STRING formatted)] ],
+    [  2, 'sr',0, "progress",             [qw(STRING context
+                                              STRING doing_what),
+                                             'unsigned long', 'done',
+                                             'unsigned long', 'total'] ],
+    [  3, 's', 1, "suspend", [] ],
+    [  4, 's', 1, "postcopy", [] ],
+    [  5, 's', 1, "checkpoint", [] ],
+    [  6, 's', 1, "switch_qemu_logdirty", [qw(int domid
+                                              unsigned enable)] ],
+    [  7, 'r', 1, "toolstack_restore",    [qw(uint32_t domid
+                                              BLOCK tsdata)] ],
+    [  8, 'r', 0, "restore_results",      ['unsigned long', 'store_mfn',
+                                           'unsigned long', 'console_mfn',
+                                           'unsigned long', 'genidad'] ],
+    [  9, 'sr',0, "complete",             [qw(int retval
+                                            int errnoval)] ],
+);
+
+#----------------------------------------
+
+our %func;
+our %func_ah;
+our @outfuncs;
+our %out_decls;
+our %out_body;
+our %msgnum_used;
+
+die unless @ARGV==1;
+die if $ARGV[0] =~ m/^-/;
+
+our ($intendedout) = @ARGV;
+
+my $declprefix = '';
+
+foreach my $ah (qw(callout helper)) {
+    $out_body{$ah} .= <<END;
+#include <assert.h>
+#include <string.h>
+#include <stdint.h>
+#include <limits.h>
+
+#include "_libxl_save_msgs.h"
+
+END
+}
+
+sub f_decl ($$$$) {
+    my ($name, $ah, $c_rtype, $c_decl) = @_;
+    $out_decls{$name} = "${declprefix}$c_rtype $name$c_decl;\n";
+    $func{$name} = "$c_rtype $name$c_decl\n{\n" . ($func{$name} || '');
+    $func_ah{$name} = $ah;
+}
+
+sub f_more ($$) {
+    my ($name, $addbody) = @_;
+    $func{$name} ||= '';
+    $func{$name} .= $addbody;
+    push @outfuncs, $name;
+}
+
+our $callback = "libxl_srm_callout_callback";
+our $receiveds = "libxl_srm_callout_received";
+our $sendreply = "libxl_srm_callout_sendreply";
+
+f_decl($sendreply, 'callout', 'void', "(int r, void *user)");
+
+our $encode = "libxl_srm_helper_stub";
+our $allocbuf = "libxl_srm_helper_allocbuf";
+our $transmit = "libxl_srm_helper_transmit";
+our $getreply = "libxl_srm_helper_getreply";
+
+f_decl($allocbuf, 'helper', 'unsigned char *', '(int len, void *user)');
+f_decl($transmit, 'helper', 'void',
+       '(unsigned char *msg_freed, int len, void *user)');
+f_decl($getreply, 'helper', 'int', '(void *user)');
+
+sub typeid ($) { my ($t) = @_; $t =~ s/\W/_/; return $t; };
+
+$out_body{'callout'} .= <<END;
+static int bytes_get(const unsigned char **msg,
+		     const unsigned char *const endmsg,
+		     void *result, int rlen)
+{
+    if (endmsg - *msg < rlen) return 0;
+    memcpy(result,*msg,rlen);
+    *msg += rlen;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void bytes_put(unsigned char *const buf, int *len,
+		      const void *value, int vlen)
+{
+    assert(vlen < INT_MAX/2 - *len);
+    if (buf)
+	memcpy(buf + *len, value, vlen);
+    *len += vlen;
+}
+
+END
+
+foreach my $simpletype (qw(int uint32_t unsigned), 'unsigned long') {
+    my $typeid = typeid($simpletype);
+    $out_body{'callout'} .= <<END;
+static int ${typeid}_get(const unsigned char **msg,
+                        const unsigned char *const endmsg,
+                        $simpletype *result)
+{
+    return bytes_get(msg, endmsg, result, sizeof(*result));
+}
+
+END
+    $out_body{'helper'} .= <<END;
+static void ${typeid}_put(unsigned char *const buf, int *len,
+			 const $simpletype value)
+{
+    bytes_put(buf, len, &value, sizeof(value));
+}
+
+END
+}
+
+$out_body{'callout'} .= <<END;
+static int BLOCK_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const uint8_t **result, uint32_t *result_size)
+{
+    if (!uint32_t_get(msg,endmsg,result_size)) return 0;
+    if (endmsg - *msg < *result_size) return 0;
+    *result = (const void*)*msg;
+    *msg += *result_size;
+    return 1;
+}
+
+static int STRING_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const char **result)
+{
+    const uint8_t *data;
+    uint32_t datalen;
+    if (!BLOCK_get(msg,endmsg,&data,&datalen)) return 0;
+    if (datalen == 0) return 0;
+    if (data[datalen-1] != '\\0') return 0;
+    *result = (const void*)data;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void BLOCK_put(unsigned char *const buf,
+                      int *len,
+		      const uint8_t *bytes, uint32_t size)
+{
+    uint32_t_put(buf, len, size);
+    bytes_put(buf, len, bytes, size);
+}
+    
+static void STRING_put(unsigned char *const buf,
+		       int *len,
+		       const char *string)
+{
+    size_t slen = strlen(string);
+    assert(slen < INT_MAX / 4);
+    assert(slen < (uint32_t)0x40000000);
+    BLOCK_put(buf, len, (const void*)string, slen+1);
+}
+    
+END
+
+foreach my $sr (qw(save restore)) {
+    f_decl("${receiveds}_${sr}", 'callout', 'int',
+	   "(const unsigned char *msg, uint32_t len, void *user)");
+
+    f_more("${receiveds}_${sr}",
+"    const unsigned char *const endmsg = msg + len;
+    uint32_t mtype;
+    if (!uint32_t_get(&msg,endmsg,&mtype)) return 0;
+    switch (mtype) {
+
+");
+}
+
+foreach my $msginfo (@msgs) {
+    my ($msgnum, $inwhich, $hasreply, $name, $args) = @$msginfo;
+    die if $msgnum_used{$msgnum}++;
+
+    my $f_more_recv = sub {
+	f_more("${receiveds}_save",    $_[0]) if $inwhich =~ m/s/;
+	f_more("${receiveds}_restore", $_[0]) if $inwhich =~ m/r/;
+    };
+
+    $f_more_recv->("    case $msgnum: { /* $name */\n");
+    if ($hasreply) {
+        $f_more_recv->("        int r;\n");
+    }
+
+    my $c_rtype = $hasreply ? 'int' : 'void';
+    my $c_decl = '(';
+    my $c_callback_args = '';
+
+    f_more("${encode}_$name",
+"    unsigned char *buf = 0;
+    int len = 0, allocd = 0;
+
+    for (;;) {
+        uint32_t_put(buf, &len, $msgnum /* $name */);
+");
+
+    my @args = @$args;
+    my $c_recv = '';
+    my ($argtype, $arg);
+    while (($argtype, $arg, @args) = @args) {
+	my $typeid = typeid($argtype);
+        my $c_args = "$arg";
+        my $c_get_args = "&$arg";
+	if ($argtype eq 'STRING') {
+	    $c_decl .= "const char *$arg, ";
+	    $f_more_recv->("        const char *$arg;\n");
+        } elsif ($argtype eq 'BLOCK') {
+            $c_decl .= "const uint8_t *$arg, uint32_t ${arg}_size, ";
+            $c_args .= ", ${arg}_size";
+            $c_get_args .= ",&${arg}_size";
+	    $f_more_recv->("        const uint8_t *$arg;\n".
+                           "        uint32_t ${arg}_size;\n");
+	} else {
+	    $c_decl .= "$argtype $arg, ";
+	    $f_more_recv->("        $argtype $arg;\n");
+	}
+	$c_callback_args .= "$c_args, ";
+	$c_recv.=
+            "        if (!${typeid}_get(&msg,endmsg,$c_get_args)) return 0;\n";
+        f_more("${encode}_$name", "	${typeid}_put(buf, &len, $c_args);\n");
+    }
+    $f_more_recv->($c_recv);
+    $c_decl .= "void *user)";
+    $c_callback_args .= "user";
+
+    $f_more_recv->("        if (msg != endmsg) return 0;\n");
+    my $c_make_callback = "${callback}_$name($c_callback_args)";
+    if (!$hasreply) {
+	$f_more_recv->("        $c_make_callback;\n");
+    } else {
+        $f_more_recv->("        r = $c_make_callback;\n".
+	                  "        $sendreply(r, user);\n");
+	f_decl($sendreply, 'callout', 'void', '(int r, void *user)');
+    }
+    $f_more_recv->("        return 1;\n    }\n\n");
+    f_decl("${callback}_$name", 'callout', $c_rtype, $c_decl);
+    f_decl("${encode}_$name", 'helper', $c_rtype, $c_decl);
+    f_more("${encode}_$name",
+"        if (buf) break;
+        buf = libxl_srm_helper_allocbuf(len, user);
+        assert(buf);
+    }
+    assert(len == allocd);
+    libxl_srm_helper_transmit(buf, len, user);
+");
+    if ($hasreply) {
+	f_more("${encode}_$name",
+               "    return libxl_srm_helper_getreply(user);\n");
+    }
+}
+
+foreach my $sr (qw(save restore)) {
+f_more("${receiveds}_${sr}",
+"    default:
+        return 0;
+    }
+");
+}
+
+foreach my $name (@outfuncs) {
+    next unless defined $func{$name};
+    $func{$name} .= "}\n";
+    $out_body{$func_ah{$name}} .= "$func{$name}\n";
+    delete $func{$name};
+}
+
+print "/* AUTOGENERATED by $0 DO NOT EDIT */\n\n" or die $!;
+
+if ($intendedout =~ m/\.h$/) {
+    foreach my $decl (sort values %out_decls) {
+	print $decl or die $!;
+    }
+} elsif ($intendedout =~ m/([a-z]+)\.c$/) {
+    die $1 unless defined $out_body{$1};
+    print $out_body{$1} or die $!;
+} else {
+    die;
+}
+
+close STDOUT or die $!;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pX-0003jG-7g; Thu, 17 May 2012 18:53:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pV-0003iI-3i
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:7900] by server-9.bemta-14.messagelabs.com id
	74/56-05787-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15904 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537169"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qI-Hc; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006cN-Gf;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:36 +0100
Message-ID: <1337280816-25370-6-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 5/5] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxenctrl expects to be able to simply run the save or restore
operation synchronously.  This won't work well in a process which is
trying to handle multiple domains.

The options are:

 - Block such a whole process (eg, the whole of libvirt) while
   migration completes (or until it fails).

 - Create a thread to run xc_domain_save and xc_domain_restore on.
   This is quite unpalatable.  Multithreaded programming is error
   prone enough without generating threads in libraries, particularly
   if the thread does some very complex operation.

 - Fork and run the operation in the child without execing.  This is
   no good because we would need to negotiate with the caller about
   fds we would inherit (and we might be a very large process).

 - Fork and exec a helper.

Of these options the latter is the most palatable.

Consequently:

 * A new helper program libxl-save-helper (which does both save and
   restore).  It will be installed in /usr/lib/xen/bin.  It does not
   link against libxl, only libxc, and its error handling does not
   need to be very advanced.  It does contain a plumbing through of
   the logging interface into the callback stream.

 * A small ad-hoc protocol between the helper and libxl which allows
   log messages and the libxc callbacks to be passed up and down.
   Protocol doc comment is in libxl_save_helper.c.

 * To avoid a lot of tedium the marshalling boilerplate (stubs for the
   helper and the callback decoder for libxl) is generated with a
   small perl script.

 * The callback functions in libxl are renamed to the systematic
   naming scheme from the marshalling boilerplate.  This hardwires the
   libxl callbacks.

 * Implement new functionality to spawn the helper, monitor its
   output, provide responses, and check on its exit status.

 * The functions libxl__xc_domain_restore_done and
   libxl__xc_domain_save_done now turn out to want be called in the
   same place.  So make their state argument a void* so that the two
   functions are type compatible.

The domain save path still writes the qemu savefile synchronously.
This will need to be fixed in a subsequent patch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                         |    1 +
 .hgignore                          |    2 +
 tools/libxl/Makefile               |   19 ++-
 tools/libxl/libxl_create.c         |   24 ++-
 tools/libxl/libxl_dom.c            |   34 +++--
 tools/libxl/libxl_internal.h       |   47 ++++--
 tools/libxl/libxl_save_callout.c   |  318 +++++++++++++++++++++++++++++++++---
 tools/libxl/libxl_save_helper.c    |  273 +++++++++++++++++++++++++++++++
 tools/libxl/libxl_save_msgs_gen.pl |  305 ++++++++++++++++++++++++++++++++++
 9 files changed, 965 insertions(+), 58 deletions(-)
 create mode 100644 tools/libxl/libxl_save_helper.c
 create mode 100755 tools/libxl/libxl_save_msgs_gen.pl

diff --git a/.gitignore b/.gitignore
index 7770e54..3451e52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -353,6 +353,7 @@ tools/libxl/_*.[ch]
 tools/libxl/testidl
 tools/libxl/testidl.c
 tools/libxl/*.pyc
+tools/libxl/libxl-save-helper
 tools/blktap2/control/tap-ctl
 tools/firmware/etherboot/eb-roms.h
 tools/firmware/etherboot/gpxe-git-snapshot.tar.gz
diff --git a/.hgignore b/.hgignore
index 27d8f79..05304ea 100644
--- a/.hgignore
+++ b/.hgignore
@@ -180,9 +180,11 @@
 ^tools/libxl/_.*\.c$
 ^tools/libxl/libxlu_cfg_y\.output$
 ^tools/libxl/xl$
+^tools/libxl/libxl-save-helper$
 ^tools/libxl/testidl$
 ^tools/libxl/testidl\.c$
 ^tools/libxl/tmp\..*$
+^tools/libxl/.*\.new$
 ^tools/libvchan/vchan-node[12]$
 ^tools/libaio/src/.*\.ol$
 ^tools/libaio/src/.*\.os$
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 9b84421..09f5e9d 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,25 +66,29 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_save_callout.o \
+			libxl_save_callout.o _libxl_save_msgs_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
 
-AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
+AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_save_msgs.h _libxl_list.h
 AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
+AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
 LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
 	libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o
 $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 
-CLIENTS = xl testidl
+CLIENTS = xl testidl libxl-save-helper
 
 XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it.
 
+SAVE_HELPER_OBJS = libxl_save_helper.o _libxl_save_msgs_helper.o
+$(SAVE_HELPER_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
+
 testidl.o: CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
 testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
 	$(PYTHON) gentest.py libxl_types.idl testidl.c.new
@@ -116,6 +120,11 @@ _libxl_list.h: $(XEN_INCLUDE)/xen-external/bsd-sys-queue-h-seddery $(XEN_INCLUDE
 	perl $^ --prefix=libxl >$@.new
 	$(call move-if-changed,$@.new,$@)
 
+_libxl_save_msgs.h _libxl_save_msgs_helper.c _libxl_save_msgs_callout.c: \
+		libxl_save_msgs_gen.pl
+	$(PERL) -w $< $@ >$@.new
+	$(call move-if-changed,$@.new,$@)
+
 libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
 libxl_internal.h: _libxl_types_internal.h _libxl_paths.h
@@ -157,6 +166,9 @@ libxlutil.a: $(LIBXLU_OBJS)
 xl: $(XL_OBJS) libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
 
+libxl-save-helper: $(SAVE_HELPER_OBJS) libxenlight.so
+	$(CC) $(LDFLAGS) -o $@ $(SAVE_HELPER_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS)
+
 testidl: testidl.o libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
 
@@ -168,6 +180,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_RUN_DIR)
 	$(INSTALL_PROG) xl $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PROG) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
 	ln -sf libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenlight.so.$(MAJOR)
 	ln -sf libxenlight.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenlight.so
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7f42737..952c0aa 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -617,14 +617,12 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     /* read signature */
     int hvm, pae, superpages;
     int no_incr_generationid;
-    xc_toolstack_restore_cb *toolstack_restore = NULL;
     switch (info->type) {
     case LIBXL_DOMAIN_TYPE_HVM:
         hvm = 1;
         superpages = 1;
         pae = libxl_defbool_val(info->u.hvm.pae);
         no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        toolstack_restore = libxl__toolstack_restore;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         hvm = 0;
@@ -637,18 +635,32 @@ static void domcreate_bootloader_done(libxl__egc *egc,
         goto out;
     }
     libxl__xc_domain_restore(egc, dcs,
-                             hvm, pae, superpages, no_incr_generationid,
-                             toolstack_restore);
+                             hvm, pae, superpages, no_incr_generationid);
     return;
 
  out:
     libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
 }
 
-void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                   libxl__domain_create_state *dcs,
+void libxl_srm_callout_callback_restore_results(unsigned long store_mfn,
+          unsigned long console_mfn, unsigned long genidad, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_create_state *dcs = user->caller_state;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(dcs->ao);
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    state->store_mfn =            store_mfn;
+    state->console_mfn =          console_mfn;
+    state->vm_generationid_addr = genidad;
+    shs->need_results =           0;
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                    int ret, int retval, int errnoval)
 {
+    libxl__domain_create_state *dcs = dcs_void;
     STATE_AO_GC(dcs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **vments = NULL, **localents = NULL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index d28f740..464078d 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -458,11 +458,14 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
-        uint32_t size, void *data)
+int libxl_srm_callout_callback_toolstack_restore(uint32_t domid,
+                             const uint8_t *buf, uint32_t size,
+                             void *user_void)
 {
-    libxl__gc *gc = data;
-    libxl_ctx *ctx = gc->owner;
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_create_state *dcs = user->caller_state;
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = CTX;
     int i, ret;
     const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
@@ -522,10 +525,14 @@ static void domain_suspend_done(libxl__egc *egc,
 
 /*----- callbacks, called by xc_domain_save -----*/
 
-int libxl__domain_suspend_common_switch_qemu_logdirty
-                               (int domid, unsigned int enable, void *data)
+int libxl_srm_callout_callback_postcopy(void *user) { return 0; }
+int libxl_srm_callout_callback_checkpoint(void *user) { return 0; }
+
+int libxl_srm_callout_callback_switch_qemu_logdirty(int domid, unsigned enable,
+                                                    void *user_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_suspend_state *dss = user->caller_state;
     STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
@@ -543,9 +550,10 @@ int libxl__domain_suspend_common_switch_qemu_logdirty
     return rc ? 0 : 1;
 }
 
-int libxl__domain_suspend_common_callback(void *data)
+int libxl_srm_callout_callback_suspend(void *user_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__domain_suspend_state *dss = user->caller_state;
     STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
@@ -675,9 +683,9 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 }
 
 int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
-        uint32_t *len, void *data)
+        uint32_t *len, void *dss_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
@@ -817,10 +825,10 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     domain_suspend_done(egc, dss, rc);
 }
 
-void libxl__xc_domain_save_done(libxl__egc *egc,
-                                libxl__domain_suspend_state *dss,
+void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
                                 int rc, int retval, int errnoval)
 {
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
 
     /* Convenience aliases */
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a06cc65..d86d204 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -54,6 +54,7 @@
 
 #include "libxl.h"
 #include "_libxl_paths.h"
+#include "_libxl_save_msgs.h"
 
 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
 #define _hidden __attribute__((visibility("hidden")))
@@ -752,8 +753,6 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
                                  xs_transaction_t trans);
 
-_hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
-                                     uint32_t size, void *data);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
@@ -1704,6 +1703,36 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Save/restore helper (used by creation and suspend) -----*/
+
+typedef struct libxl__save_helper_state {
+    /* public, caller of run_helper initialises */
+    libxl__ao *ao;
+    uint32_t domid;
+    int (*recv_callback)(const unsigned char *msg, uint32_t len, void *user);
+    void (*completion_callback)(libxl__egc *egc, void *caller_state,
+                                int rc, int retval, int errnoval);
+    void *caller_state;
+    int need_results; /* set to 0 or 1 by caller of run_helper;
+                       * if set to 1 then the ultimate caller's
+                       * results function must set it to 0 */
+    /* private */
+    int rc;
+    int completed; /* retval/errnoval valid iff completed */
+    int retval, errnoval; /* from xc_domain_save / xc_domain_restore */
+    libxl__carefd *pipes[2]; /* 0 = helper's stdin, 1 = helper's stdout */
+    libxl__ev_fd readable;
+    libxl__ev_child child;
+    const char *stdin_what, *stdout_what;
+} libxl__save_helper_state;
+
+typedef struct libxl__save_helper_callback_user {
+    libxl__egc *egc;
+    libxl__save_helper_state *shs;
+    void *caller_state;
+} libxl__save_helper_callback_user;
+
+
 /*----- Domain suspend (save) state structure -----*/
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
@@ -1726,6 +1755,7 @@ struct libxl__domain_suspend_state {
     int suspend_eventchn;
     int hvm;
     int guest_responded;
+    libxl__save_helper_state shs;
 };
 
 
@@ -1822,6 +1852,7 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    libxl__save_helper_state shs;
 };
 
 /*----- Domain suspend (save) functions -----*/
@@ -1838,13 +1869,9 @@ _hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_save_done(libxl__egc*,
-                                        libxl__domain_suspend_state*,
+_hidden void libxl__xc_domain_save_done(libxl__egc*, void *dss_void,
                                         int rc, int retval, int errnoval);
 
-_hidden int libxl__domain_suspend_common_callback(void *data);
-_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
-                               (int domid, unsigned int enable, void *data);
 _hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data);
 
@@ -1853,13 +1880,11 @@ _hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
 _hidden void libxl__xc_domain_restore(libxl__egc *egc,
                                       libxl__domain_create_state *dcs,
                                       int hvm, int pae, int superpages,
-                                      int no_incr_generationid,
-                                      xc_toolstack_restore_cb*);
+                                      int no_incr_generationid);
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                           libxl__domain_create_state *dcs,
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                            int rc, int retval, int errnoval);
 
 
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index 2355cc0..efc84d8 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -16,10 +16,22 @@
 
 #include "libxl_internal.h"
 
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums);
+
+static void helper_failed(libxl__egc*, libxl__save_helper_state *shs, int rc);
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents);
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status);
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs);
+
+/*----- entrypoints -----*/
+
 void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               int hvm, int pae, int superpages,
-                              int no_incr_generationid,
-                              xc_toolstack_restore_cb *toolstack_restore)
+                              int no_incr_generationid)
 {
     STATE_AO_GC(dcs->ao);
 
@@ -28,17 +40,23 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
 
-    struct restore_callbacks callbacks;
-    callbacks.toolstack_restore = toolstack_restore;
-    callbacks.data = gc;
+    const unsigned long argnums[] = {
+        restore_fd, domid,
+        state->store_port,
+        state->store_domid, state->console_port,
+        state->console_domid,
+        hvm, pae, superpages, no_incr_generationid,
+    };
 
-    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
-                              state->store_port, &state->store_mfn,
-                              state->store_domid, state->console_port,
-                              &state->console_mfn, state->console_domid,
-                              hvm, pae, superpages, no_incr_generationid,
-                              &state->vm_generationid_addr, &callbacks);
-    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+    dcs->shs.ao = ao;
+    dcs->shs.domid = domid;
+    dcs->shs.recv_callback = libxl_srm_callout_received_restore;
+    dcs->shs.completion_callback = libxl__xc_domain_restore_done;
+    dcs->shs.caller_state = dcs;
+    dcs->shs.need_results = 1;
+
+    run_helper(egc, &dcs->shs, "--restore-domain", restore_fd,
+               argnums, ARRAY_SIZE(argnums));
 }
 
 void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
@@ -46,17 +64,267 @@ void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
                            unsigned long vm_generationid_addr)
 {
     STATE_AO_GC(dss->ao);
-    struct save_callbacks callbacks;
-    int r;
-
-    memset(&callbacks, 0, sizeof(callbacks));
-    callbacks.suspend = libxl__domain_suspend_common_callback;
-    callbacks.switch_qemu_logdirty =
-        libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = dss;
-
-    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags, &callbacks,
-                       hvm, vm_generationid_addr);
-    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+    int r, rc;
+    uint32_t toolstack_data_len;
+
+    /* Resources we need to free */
+    uint8_t *toolstack_data_buf = 0;
+    FILE *toolstack_data_file = 0;
+
+    r = libxl__toolstack_save(dss->domid, &toolstack_data_buf,
+                              &toolstack_data_len, dss);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    toolstack_data_file = tmpfile();
+    if (!toolstack_data_file) {
+        LOGE(ERROR, "cannot create toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    int toolstack_data_fd = fileno(toolstack_data_file);
+
+    r = libxl_write_exactly(CTX, toolstack_data_fd,
+                            toolstack_data_buf, toolstack_data_len,
+                            "toolstack data tmpfile", 0);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    r = lseek(toolstack_data_fd, 0, SEEK_SET);
+    if (r) {
+        LOGE(ERROR, "rewind toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    const unsigned long argnums[] = {
+        dss->fd, dss->domid, 0, 0, xcflags, hvm, vm_generationid_addr,
+        toolstack_data_fd, toolstack_data_len,
+    };
+
+    dss->shs.ao = ao;
+    dss->shs.domid = dss->domid;
+    dss->shs.recv_callback = libxl_srm_callout_received_save;
+    dss->shs.completion_callback = libxl__xc_domain_save_done;
+    dss->shs.caller_state = dss;
+    dss->shs.need_results = 0;
+
+    run_helper(egc, &dss->shs, "--save-domain", dss->fd,
+               argnums, ARRAY_SIZE(argnums));
+    return;
+
+ out:
+    free(toolstack_data_buf);
+    if (toolstack_data_file) fclose(toolstack_data_file);
+
+    libxl__xc_domain_save_done(egc, dss, rc, 0, 0);
+}
+
+
+/*----- helper execution -----*/
+
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums)
+{
+    STATE_AO_GC(shs->ao);
+    const char *args[2 + num_argnums];
+    const char **arg = args;
+    int i, rc;
+
+    /* Resources we must free */
+    libxl__carefd *childs_pipes[2] = { 0,0 };
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    shs->rc = 0;
+    shs->completed = 0;
+    shs->pipes[0] = shs->pipes[1] = 0;
+    libxl__ev_fd_init(&shs->readable);
+    libxl__ev_child_init(&shs->child);
+
+    shs->stdin_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                " stdin pipe", domid);
+    shs->stdout_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                 " stdout pipe", domid);
+
+    *arg++ = LIBEXEC "/" "libxl-save-helper";
+    *arg++ = mode_arg;
+    for (i=0; i<num_argnums; i++)
+        *arg++ = GCSPRINTF("%lu", argnums[i]);
+    *arg++ = 0;
+    assert(arg == args + ARRAY_SIZE(args));
+
+    libxl__carefd_begin();
+    for (i=0; i<2; i++) {
+        int fds[2];
+        if (libxl_pipe(CTX,fds)) { rc = ERROR_FAIL; goto out; }
+        childs_pipes[i] = libxl__carefd_record(CTX, fds[i]);
+        shs->pipes[i] = libxl__carefd_record(CTX, fds[!i]);
+    }
+    libxl__carefd_unlock();
+
+    pid_t pid = libxl__ev_child_fork(gc, &shs->child, helper_exited);
+    if (!pid) {
+        libxl_fd_set_cloexec(CTX, data_fd, 0);
+        libxl__exec(libxl__carefd_fd(childs_pipes[0]),
+                    libxl__carefd_fd(childs_pipes[1]),
+                    -1,
+                    args[0], (char**)args);
+    }
+
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+
+    rc = libxl__ev_fd_register(gc, &shs->readable, helper_stdout_readable,
+                               libxl__carefd_fd(shs->pipes[1]), POLLIN|POLLPRI);
+    if (rc) goto out;
+    return;
+
+ out:
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+    helper_failed(egc, shs, rc);;
+}
+
+static void helper_failed(libxl__egc *egc, libxl__save_helper_state *shs,
+                          int rc)
+{
+    STATE_AO_GC(shs->ao);
+
+    if (!shs->rc)
+        shs->rc = rc;
+
+    if (!libxl__ev_child_inuse(&shs->child)) {
+        helper_done(egc, shs);
+        return;
+    }
+
+    int r = kill(shs->child.pid, SIGKILL);
+    if (r) LOGE(WARN, "failed to kill save/restore helper [%lu]",
+                (unsigned long)shs->child.pid);
+}
+
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ev, *shs, readable);
+    STATE_AO_GC(shs->ao);
+    int rc, errnoval;
+
+    if (revents & POLLPRI) {
+        LOG(ERROR, "%s signaled POLLERR", shs->stdout_what);
+        rc = ERROR_FAIL;
+ out:
+        /* this is here because otherwise we bypass the decl of msg[] */
+        helper_failed(egc, shs, rc);
+        return;
+    }
+
+    uint32_t msglen;
+    errnoval = libxl_read_exactly(CTX, fd, &msglen, sizeof(msglen),
+                                  shs->stdout_what, "ipc msg header");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    unsigned char msg[msglen];
+    errnoval = libxl_read_exactly(CTX, fd, msg, msglen,
+                                  shs->stdout_what, "ipc msg body");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    libxl__save_helper_callback_user user = { egc, shs, shs->caller_state };
+    shs->recv_callback(msg, msglen, &user);
+    return;
+}
+
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ch, *shs, child);
+    STATE_AO_GC(shs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    const char *what =
+        GCSPRINTF("domain %"PRIu32" save/restore helper", domid);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, XTL_ERROR, what, pid, status);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (shs->need_results) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without providing results",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (!shs->completed) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without signaling completion",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    helper_done(egc, shs);
+    return;
+}
+
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs)
+{
+    STATE_AO_GC(shs->ao);
+
+    libxl__ev_fd_deregister(gc, &shs->readable);
+    libxl__carefd_close(shs->pipes[0]);  shs->pipes[0] = 0;
+    libxl__carefd_close(shs->pipes[1]);  shs->pipes[1] = 0;
+    assert(!libxl__ev_child_inuse(&shs->child));
+
+    shs->completion_callback(egc, shs->caller_state,
+                             shs->rc, shs->retval, shs->errnoval);
+}
+
+/*----- generic helpers for the autogenerated code -----*/
+
+void libxl_srm_callout_sendreply(int r, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    libxl__egc *egc = user->egc;
+    STATE_AO_GC(shs->ao);
+    int errnoval;
+
+    errnoval = libxl_write_exactly(CTX, libxl__carefd_fd(shs->pipes[0]),
+                                   &r, sizeof(r), shs->stdin_what,
+                                   "callback return value");
+    if (errnoval)
+        helper_failed(egc, shs, ERROR_FAIL);
+}
+
+void libxl_srm_callout_callback_log(uint32_t level, uint32_t errnoval,
+                  const char *context, const char *formatted, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(shs->ao);
+    xtl_log(CTX->lg, level, errnoval, context, "%s", formatted);
+}
+
+void libxl_srm_callout_callback_progress(const char *context,
+                   const char *doing_what, unsigned long done,
+                   unsigned long total, void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(shs->ao);
+    xtl_progress(CTX->lg, context, doing_what, done, total);
+}
+
+void libxl_srm_callout_callback_complete(int retval, int errnoval,
+                                         void *user_void)
+{
+    libxl__save_helper_callback_user *user = user_void;
+    libxl__save_helper_state *shs = user->shs;
+    STATE_AO_GC(shs->ao);
+
+    shs->completed = 1;
+    shs->retval = retval;
+    shs->errnoval = errnoval;
 }
diff --git a/tools/libxl/libxl_save_helper.c b/tools/libxl/libxl_save_helper.c
new file mode 100644
index 0000000..79081dd
--- /dev/null
+++ b/tools/libxl/libxl_save_helper.c
@@ -0,0 +1,273 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+/*
+ * The libxl-save-helper utility speaks a protocol to its caller for
+ * the callbacks.  The protocol is as follows.
+ *
+ * The helper talks on stdin and stdout, in binary in machine
+ * endianness.  The helper speaks first, and only when it has a
+ * callback to make.  It writes a 32-bit number being the message
+ * length, and then the message body.
+ *
+ * Each message starts with a 32-bit number indicating which of the
+ * messages it is, and then some arguments in a binary marshalled form.
+ * If the callback does not need a reply (it returns void), the helper
+ * just continues.  Otherwise the helper waits for its caller to send a
+ * single int which is to be the return value from the callback.
+ *
+ * Where feasible the stubs and callbacks have prototypes identical to
+ * those required by xc_domain_save and xc_domain_restore, so that the
+ * autogenerated functions can be used/provided directly.
+ *
+ * The actual messages are in the array @msgs in libxl_save_msgs_gen.pl
+ */
+
+#include "libxl_osdeps.h"
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <assert.h>
+
+#include "libxl.h"
+
+#include "xenctrl.h"
+#include "xenguest.h"
+#include "_libxl_save_msgs.h"
+
+/*----- globals -----*/
+
+static const char *program = "libxl-save-helper";
+static xentoollog_logger *logger;
+static xc_interface *xch;
+
+/*----- error handling -----*/
+
+static void fail(int errnoval, const char *fmt, ...)
+    __attribute__((noreturn,format(printf,2,3)));
+static void fail(int errnoval, const char *fmt, ...)
+{
+    va_list al;
+    va_start(al,fmt);
+    xtl_logv(logger,XTL_ERROR,errnoval,program,fmt,al);
+    exit(-1);
+}
+
+static int read_exactly(int fd, void *buf, size_t len)
+/* returns 0 if we get eof, even if we got it midway through; 1 if ok */
+{
+    while (len) {
+        ssize_t r = read(fd, buf, len);
+        if (r<=0) return r;
+        assert(r <= len);
+        len -= r;
+        buf = (char*)buf + r;
+    }
+    return 1;
+}
+
+static void *xmalloc(size_t sz)
+{
+    if (!sz) return 0;
+    void *r = malloc(sz);
+    if (!r) { perror("memory allocation failed"); exit(-1); }
+    return r;
+}
+
+/*----- logger -----*/
+
+typedef struct {
+    xentoollog_logger vtable;
+} xentoollog_logger_tellparent;
+
+static void tellparent_vmessage(xentoollog_logger *logger_in,
+                                xentoollog_level level,
+                                int errnoval,
+                                const char *context,
+                                const char *format,
+                                va_list al)
+{
+    char *formatted;
+    int r = vasprintf(&formatted, format, al);
+    if (r < 0) { perror("memory allocation failed during logging"); exit(-1); }
+    libxl_srm_helper_stub_log(level, errnoval, context, formatted, 0);
+    free(formatted);
+}
+
+static void tellparent_progress(struct xentoollog_logger *logger_in,
+                                const char *context,
+                                const char *doing_what, int percent,
+                                unsigned long done, unsigned long total)
+{
+    libxl_srm_helper_stub_progress(context, doing_what, done, total, 0);
+}
+
+static void tellparent_destroy(struct xentoollog_logger *logger_in)
+{
+    abort();
+}
+
+static xentoollog_logger_tellparent *createlogger_tellparent(void)
+{
+    xentoollog_logger_tellparent newlogger;
+    return XTL_NEW_LOGGER(tellparent, newlogger);
+}
+
+/*----- helper functions called by autogenerated stubs -----*/
+
+unsigned char * libxl_srm_helper_allocbuf(int len, void *user)
+{
+    return xmalloc(len);
+}
+
+void libxl_srm_helper_transmit(unsigned char *msg_freed, int len, void *user)
+{
+    while (len) {
+        int r = write(1, msg_freed, len);
+        if (r<0) { perror("write"); exit(-1); }
+        assert(r >= 0);
+        assert(r <= len);
+        len -= r;
+        msg_freed += r;
+    }
+    free(msg_freed);
+}
+
+int libxl_srm_helper_getreply(void *user)
+{
+    int v;
+    int r = read_exactly(0, &v, sizeof(v));
+    if (r<=0) exit(-2);
+    return v;
+}
+
+/*----- other callbacks -----*/
+
+static int toolstack_save_fd;
+static uint32_t toolstack_save_len;
+
+static int toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                             uint32_t *len, void *data)
+{
+    assert(toolstack_save_fd > 0);
+
+    *buf = xmalloc(toolstack_save_len);
+    int r = read_exactly(toolstack_save_fd, *buf, toolstack_save_len);
+    if (r<0) fail(errno,"read toolstack data");
+    if (r==0) fail(0,"read toolstack data eof");
+
+    toolstack_save_fd = -1;
+    return 0;
+}
+
+static struct save_callbacks helper_save_callbacks = {
+    .suspend =              libxl_srm_helper_stub_suspend,
+    .postcopy =             libxl_srm_helper_stub_postcopy,
+    .checkpoint =           libxl_srm_helper_stub_checkpoint,
+    .switch_qemu_logdirty = libxl_srm_helper_stub_switch_qemu_logdirty,
+    .toolstack_save =       toolstack_save_cb,
+    .data =                 NULL,
+};
+
+static struct restore_callbacks helper_restore_callbacks = {
+    .toolstack_restore =    libxl_srm_helper_stub_toolstack_restore,
+    .data =                 NULL,
+};
+
+static void startup(const char *op) {
+    xentoollog_logger *logger = (xentoollog_logger*)createlogger_tellparent();
+    if (!logger) {
+        fprintf(stderr, "%s: cannot initialise logger\n", program);
+        exit(-1);
+    }
+
+    xtl_log(logger,XTL_DEBUG,0,program,"starting %s",op);
+
+    xch = xc_interface_open(logger,logger,0);
+    if (!xch) fail(errno,"xc_interface_open failed");
+}
+
+static void complete(int retval) {
+    int errnoval = errno;
+    xtl_log(logger,XTL_DEBUG,errnoval,program,"complete r=%d",retval);
+    libxl_srm_helper_stub_complete(retval,errnoval,0);
+    exit(0);
+}
+
+int main(int argc, char **argv)
+{
+    int r;
+
+#define NEXTARG (++argv, assert(*argv), *argv)
+
+    const char *mode = *++argv;
+    assert(mode);
+
+    if (!strcmp(mode,"--save-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        uint32_t max_iters =       strtoul(NEXTARG,0,10);
+        uint32_t max_factor =      strtoul(NEXTARG,0,10);
+        uint32_t flags =           strtoul(NEXTARG,0,10);
+        int hvm =                  atoi(NEXTARG);
+        unsigned long genidad =    strtoul(NEXTARG,0,10);
+        toolstack_save_fd  =       atoi(NEXTARG);
+        toolstack_save_len =       strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        startup("save");
+        r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags,
+                       &helper_save_callbacks, hvm, genidad);
+        complete(r);
+
+    } else if (!strcmp(mode,"--restore-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        unsigned store_evtchn =    strtoul(NEXTARG,0,10);
+        domid_t store_domid =      strtoul(NEXTARG,0,10);
+        unsigned console_evtchn =  strtoul(NEXTARG,0,10);
+        domid_t console_domid =    strtoul(NEXTARG,0,10);
+        unsigned int hvm =         strtoul(NEXTARG,0,10);
+        unsigned int pae =         strtoul(NEXTARG,0,10);
+        int superpages =           strtoul(NEXTARG,0,10);
+        int no_incr_genidad =      strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        unsigned long store_mfn = 0;
+        unsigned long console_mfn = 0;
+        unsigned long genidad = 0;
+
+        startup("restore");
+        r = xc_domain_restore(xch, io_fd, dom, store_evtchn, &store_mfn,
+                              store_domid, console_evtchn, &console_mfn,
+                              console_domid, hvm, pae, superpages,
+                              no_incr_genidad, &genidad,
+                              &helper_restore_callbacks);
+        libxl_srm_helper_stub_restore_results(store_mfn,console_mfn,genidad,0);
+        complete(r);
+
+    } else {
+        assert(!"unexpected mode argument");
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
new file mode 100755
index 0000000..9960fdc
--- /dev/null
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -0,0 +1,305 @@
+#!/usr/bin/perl -w
+
+use warnings;
+use strict;
+use POSIX;
+
+
+our @msgs = (
+    [  1, 'sr',0, "log",                  [qw(uint32_t level
+                                              uint32_t errnoval
+                                              STRING context
+                                              STRING formatted)] ],
+    [  2, 'sr',0, "progress",             [qw(STRING context
+                                              STRING doing_what),
+                                             'unsigned long', 'done',
+                                             'unsigned long', 'total'] ],
+    [  3, 's', 1, "suspend", [] ],
+    [  4, 's', 1, "postcopy", [] ],
+    [  5, 's', 1, "checkpoint", [] ],
+    [  6, 's', 1, "switch_qemu_logdirty", [qw(int domid
+                                              unsigned enable)] ],
+    [  7, 'r', 1, "toolstack_restore",    [qw(uint32_t domid
+                                              BLOCK tsdata)] ],
+    [  8, 'r', 0, "restore_results",      ['unsigned long', 'store_mfn',
+                                           'unsigned long', 'console_mfn',
+                                           'unsigned long', 'genidad'] ],
+    [  9, 'sr',0, "complete",             [qw(int retval
+                                            int errnoval)] ],
+);
+
+#----------------------------------------
+
+our %func;
+our %func_ah;
+our @outfuncs;
+our %out_decls;
+our %out_body;
+our %msgnum_used;
+
+die unless @ARGV==1;
+die if $ARGV[0] =~ m/^-/;
+
+our ($intendedout) = @ARGV;
+
+my $declprefix = '';
+
+foreach my $ah (qw(callout helper)) {
+    $out_body{$ah} .= <<END;
+#include <assert.h>
+#include <string.h>
+#include <stdint.h>
+#include <limits.h>
+
+#include "_libxl_save_msgs.h"
+
+END
+}
+
+sub f_decl ($$$$) {
+    my ($name, $ah, $c_rtype, $c_decl) = @_;
+    $out_decls{$name} = "${declprefix}$c_rtype $name$c_decl;\n";
+    $func{$name} = "$c_rtype $name$c_decl\n{\n" . ($func{$name} || '');
+    $func_ah{$name} = $ah;
+}
+
+sub f_more ($$) {
+    my ($name, $addbody) = @_;
+    $func{$name} ||= '';
+    $func{$name} .= $addbody;
+    push @outfuncs, $name;
+}
+
+our $callback = "libxl_srm_callout_callback";
+our $receiveds = "libxl_srm_callout_received";
+our $sendreply = "libxl_srm_callout_sendreply";
+
+f_decl($sendreply, 'callout', 'void', "(int r, void *user)");
+
+our $encode = "libxl_srm_helper_stub";
+our $allocbuf = "libxl_srm_helper_allocbuf";
+our $transmit = "libxl_srm_helper_transmit";
+our $getreply = "libxl_srm_helper_getreply";
+
+f_decl($allocbuf, 'helper', 'unsigned char *', '(int len, void *user)');
+f_decl($transmit, 'helper', 'void',
+       '(unsigned char *msg_freed, int len, void *user)');
+f_decl($getreply, 'helper', 'int', '(void *user)');
+
+sub typeid ($) { my ($t) = @_; $t =~ s/\W/_/; return $t; };
+
+$out_body{'callout'} .= <<END;
+static int bytes_get(const unsigned char **msg,
+		     const unsigned char *const endmsg,
+		     void *result, int rlen)
+{
+    if (endmsg - *msg < rlen) return 0;
+    memcpy(result,*msg,rlen);
+    *msg += rlen;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void bytes_put(unsigned char *const buf, int *len,
+		      const void *value, int vlen)
+{
+    assert(vlen < INT_MAX/2 - *len);
+    if (buf)
+	memcpy(buf + *len, value, vlen);
+    *len += vlen;
+}
+
+END
+
+foreach my $simpletype (qw(int uint32_t unsigned), 'unsigned long') {
+    my $typeid = typeid($simpletype);
+    $out_body{'callout'} .= <<END;
+static int ${typeid}_get(const unsigned char **msg,
+                        const unsigned char *const endmsg,
+                        $simpletype *result)
+{
+    return bytes_get(msg, endmsg, result, sizeof(*result));
+}
+
+END
+    $out_body{'helper'} .= <<END;
+static void ${typeid}_put(unsigned char *const buf, int *len,
+			 const $simpletype value)
+{
+    bytes_put(buf, len, &value, sizeof(value));
+}
+
+END
+}
+
+$out_body{'callout'} .= <<END;
+static int BLOCK_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const uint8_t **result, uint32_t *result_size)
+{
+    if (!uint32_t_get(msg,endmsg,result_size)) return 0;
+    if (endmsg - *msg < *result_size) return 0;
+    *result = (const void*)*msg;
+    *msg += *result_size;
+    return 1;
+}
+
+static int STRING_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const char **result)
+{
+    const uint8_t *data;
+    uint32_t datalen;
+    if (!BLOCK_get(msg,endmsg,&data,&datalen)) return 0;
+    if (datalen == 0) return 0;
+    if (data[datalen-1] != '\\0') return 0;
+    *result = (const void*)data;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void BLOCK_put(unsigned char *const buf,
+                      int *len,
+		      const uint8_t *bytes, uint32_t size)
+{
+    uint32_t_put(buf, len, size);
+    bytes_put(buf, len, bytes, size);
+}
+    
+static void STRING_put(unsigned char *const buf,
+		       int *len,
+		       const char *string)
+{
+    size_t slen = strlen(string);
+    assert(slen < INT_MAX / 4);
+    assert(slen < (uint32_t)0x40000000);
+    BLOCK_put(buf, len, (const void*)string, slen+1);
+}
+    
+END
+
+foreach my $sr (qw(save restore)) {
+    f_decl("${receiveds}_${sr}", 'callout', 'int',
+	   "(const unsigned char *msg, uint32_t len, void *user)");
+
+    f_more("${receiveds}_${sr}",
+"    const unsigned char *const endmsg = msg + len;
+    uint32_t mtype;
+    if (!uint32_t_get(&msg,endmsg,&mtype)) return 0;
+    switch (mtype) {
+
+");
+}
+
+foreach my $msginfo (@msgs) {
+    my ($msgnum, $inwhich, $hasreply, $name, $args) = @$msginfo;
+    die if $msgnum_used{$msgnum}++;
+
+    my $f_more_recv = sub {
+	f_more("${receiveds}_save",    $_[0]) if $inwhich =~ m/s/;
+	f_more("${receiveds}_restore", $_[0]) if $inwhich =~ m/r/;
+    };
+
+    $f_more_recv->("    case $msgnum: { /* $name */\n");
+    if ($hasreply) {
+        $f_more_recv->("        int r;\n");
+    }
+
+    my $c_rtype = $hasreply ? 'int' : 'void';
+    my $c_decl = '(';
+    my $c_callback_args = '';
+
+    f_more("${encode}_$name",
+"    unsigned char *buf = 0;
+    int len = 0, allocd = 0;
+
+    for (;;) {
+        uint32_t_put(buf, &len, $msgnum /* $name */);
+");
+
+    my @args = @$args;
+    my $c_recv = '';
+    my ($argtype, $arg);
+    while (($argtype, $arg, @args) = @args) {
+	my $typeid = typeid($argtype);
+        my $c_args = "$arg";
+        my $c_get_args = "&$arg";
+	if ($argtype eq 'STRING') {
+	    $c_decl .= "const char *$arg, ";
+	    $f_more_recv->("        const char *$arg;\n");
+        } elsif ($argtype eq 'BLOCK') {
+            $c_decl .= "const uint8_t *$arg, uint32_t ${arg}_size, ";
+            $c_args .= ", ${arg}_size";
+            $c_get_args .= ",&${arg}_size";
+	    $f_more_recv->("        const uint8_t *$arg;\n".
+                           "        uint32_t ${arg}_size;\n");
+	} else {
+	    $c_decl .= "$argtype $arg, ";
+	    $f_more_recv->("        $argtype $arg;\n");
+	}
+	$c_callback_args .= "$c_args, ";
+	$c_recv.=
+            "        if (!${typeid}_get(&msg,endmsg,$c_get_args)) return 0;\n";
+        f_more("${encode}_$name", "	${typeid}_put(buf, &len, $c_args);\n");
+    }
+    $f_more_recv->($c_recv);
+    $c_decl .= "void *user)";
+    $c_callback_args .= "user";
+
+    $f_more_recv->("        if (msg != endmsg) return 0;\n");
+    my $c_make_callback = "${callback}_$name($c_callback_args)";
+    if (!$hasreply) {
+	$f_more_recv->("        $c_make_callback;\n");
+    } else {
+        $f_more_recv->("        r = $c_make_callback;\n".
+	                  "        $sendreply(r, user);\n");
+	f_decl($sendreply, 'callout', 'void', '(int r, void *user)');
+    }
+    $f_more_recv->("        return 1;\n    }\n\n");
+    f_decl("${callback}_$name", 'callout', $c_rtype, $c_decl);
+    f_decl("${encode}_$name", 'helper', $c_rtype, $c_decl);
+    f_more("${encode}_$name",
+"        if (buf) break;
+        buf = libxl_srm_helper_allocbuf(len, user);
+        assert(buf);
+    }
+    assert(len == allocd);
+    libxl_srm_helper_transmit(buf, len, user);
+");
+    if ($hasreply) {
+	f_more("${encode}_$name",
+               "    return libxl_srm_helper_getreply(user);\n");
+    }
+}
+
+foreach my $sr (qw(save restore)) {
+f_more("${receiveds}_${sr}",
+"    default:
+        return 0;
+    }
+");
+}
+
+foreach my $name (@outfuncs) {
+    next unless defined $func{$name};
+    $func{$name} .= "}\n";
+    $out_body{$func_ah{$name}} .= "$func{$name}\n";
+    delete $func{$name};
+}
+
+print "/* AUTOGENERATED by $0 DO NOT EDIT */\n\n" or die $!;
+
+if ($intendedout =~ m/\.h$/) {
+    foreach my $decl (sort values %out_decls) {
+	print $decl or die $!;
+    }
+} elsif ($intendedout =~ m/([a-z]+)\.c$/) {
+    die $1 unless defined $out_body{$1};
+    print $out_body{$1} or die $!;
+} else {
+    die;
+}
+
+close STDOUT or die $!;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pW-0003ix-Et; Thu, 17 May 2012 18:53:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pU-0003iJ-RW
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:7896] by server-11.bemta-14.messagelabs.com id
	9F/81-05858-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15885 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537166"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qE-FE; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006c5-DM;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:33 +0100
Message-ID: <1337280816-25370-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/5] libxl: domain save: rename variables etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Preparatory work for making domain suspend asynchronous:

* Rename `struct suspendinfo' to `libxl__domain_suspend_state'
  and move it to libxl_internal.h.

* Rename variables `si' to `dss'.

* Change the stack-allocated state from
    struct suspendinfo si;
  to
    libxl__domain_suspend_state dss[1];
  so that it may be referred to as a pointer variable everywhere.

* Rename the variable `flags' (in libxl__domain_suspend_common
  and in libxl__domain_suspend_state) to `xcflags', to help
  distinguish it from the other `flags' which is passed in
  from the calling application in libxl_domain_suspend_info.

* Move the prototypes of suspend-related functions in libxl_internal.h
  to after the definition of the state struct.

* Replace several ctx variables with gc variables and
  consequently references to ctx with CTX.  Change references
  to `dss->gc' in the functional code to simply `gc'.

* Use LOG* rather than LIBXL__LOG* in a number of places.

* In libxl__domain_save_device_model use `ret' instead of `rc'.

* Introduce and use `gc' and `domid' in
  libxl__domain_suspend_common_callback.

* Wrap some long lines.

* Add an extra pair of parens for clarity in a flag test.

* Remove two pointless casts from void* to a struct*.

No functional change whatsoever.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c      |  202 ++++++++++++++++++++---------------------
 tools/libxl/libxl_internal.h |   25 +++++-
 2 files changed, 121 insertions(+), 106 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 01d5595..0dc1427 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -464,7 +464,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
-    libxl__gc *gc = (libxl__gc *) data;
+    libxl__gc *gc = data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
     const uint8_t *ptr = buf;
@@ -558,84 +558,79 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-struct suspendinfo {
-    libxl__gc *gc;
-    xc_evtchn *xce; /* event channel handle */
-    int suspend_eventchn;
-    int domid;
-    int hvm;
-    unsigned int flags;
-    int guest_responded;
-};
-
-static int libxl__domain_suspend_common_switch_qemu_logdirty(int domid, unsigned int enable, void *data)
+static int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data)
 {
-    struct suspendinfo *si = data;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     char *path;
     bool rc;
 
-    path = libxl__sprintf(si->gc, "/local/domain/0/device-model/%u/logdirty/cmd", domid);
+    path = libxl__sprintf(gc,
+                   "/local/domain/0/device-model/%u/logdirty/cmd", domid);
     if (!path)
         return 1;
 
     if (enable)
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "enable", strlen("enable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "enable", strlen("enable"));
     else
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "disable", strlen("disable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "disable", strlen("disable"));
 
     return rc ? 0 : 1;
 }
 
 static int libxl__domain_suspend_common_callback(void *data)
 {
-    struct suspendinfo *si = data;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
     int watchdog;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
     xs_transaction_t t;
 
-    if (si->hvm) {
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->hvm) {
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
     }
 
-    if ((hvm_s_state == 0) && (si->suspend_eventchn >= 0)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via event channel",
-                   si->hvm ? "PVHVM" : "PV");
-        ret = xc_evtchn_notify(si->xce, si->suspend_eventchn);
+    if ((hvm_s_state == 0) && (dss->suspend_eventchn >= 0)) {
+        LOG(DEBUG, "issuing %s suspend request via event channel",
+            dss->hvm ? "PVHVM" : "PV");
+        ret = xc_evtchn_notify(dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_evtchn_notify failed ret=%d", ret);
+            LOG(ERROR, "xc_evtchn_notify failed ret=%d", ret);
             return 0;
         }
-        ret = xc_await_suspend(ctx->xch, si->xce, si->suspend_eventchn);
+        ret = xc_await_suspend(CTX->xch, dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_await_suspend failed ret=%d", ret);
+            LOG(ERROR, "xc_await_suspend failed ret=%d", ret);
             return 0;
         }
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
         return 1;
     }
 
-    if (si->hvm && (!hvm_pvdrv || hvm_s_state)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Calling xc_domain_shutdown on HVM domain");
-        xc_domain_shutdown(ctx->xch, si->domid, SHUTDOWN_suspend);
+    if (dss->hvm && (!hvm_pvdrv || hvm_s_state)) {
+        LOG(DEBUG, "Calling xc_domain_shutdown on HVM domain");
+        xc_domain_shutdown(CTX->xch, domid, SHUTDOWN_suspend);
         /* The guest does not (need to) respond to this sort of request. */
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
     } else {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via XenBus control node",
-                   si->hvm ? "PVHVM" : "PV");
+        LOG(DEBUG, "issuing %s suspend request via XenBus control node",
+            dss->hvm ? "PVHVM" : "PV");
 
-        libxl__domain_pvcontrol_write(si->gc, XBT_NULL, si->domid, "suspend");
+        libxl__domain_pvcontrol_write(gc, XBT_NULL, domid, "suspend");
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to acknowledge suspend request");
+        LOG(DEBUG, "wait for the guest to acknowledge suspend request");
         watchdog = 60;
         while (!strcmp(state, "suspend") && watchdog > 0) {
             usleep(100000);
 
-            state = libxl__domain_pvcontrol_read(si->gc, XBT_NULL, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, XBT_NULL, domid);
             if (!state) state = "";
 
             watchdog--;
@@ -651,17 +646,17 @@ static int libxl__domain_suspend_common_callback(void *data)
          * at the last minute.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, cancelling request");
+            LOG(ERROR, "guest didn't acknowledge suspend, cancelling request");
         retry_transaction:
-            t = xs_transaction_start(ctx->xsh);
+            t = xs_transaction_start(CTX->xsh);
 
-            state = libxl__domain_pvcontrol_read(si->gc, t, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, t, domid);
             if (!state) state = "";
 
             if (!strcmp(state, "suspend"))
-                libxl__domain_pvcontrol_write(si->gc, t, si->domid, "");
+                libxl__domain_pvcontrol_write(gc, t, domid, "");
 
-            if (!xs_transaction_end(ctx->xsh, t, 0))
+            if (!xs_transaction_end(CTX->xsh, t, 0))
                 if (errno == EAGAIN)
                     goto retry_transaction;
 
@@ -673,27 +668,29 @@ static int libxl__domain_suspend_common_callback(void *data)
          * case we lost the race while cancelling and should continue.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, request cancelled");
+            LOG(ERROR, "guest didn't acknowledge suspend, request cancelled");
             return 0;
         }
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest acknowledged suspend request");
-        si->guest_responded = 1;
+        LOG(DEBUG, "guest acknowledged suspend request");
+        dss->guest_responded = 1;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to suspend");
+    LOG(DEBUG, "wait for the guest to suspend");
     watchdog = 60;
     while (watchdog > 0) {
         xc_domaininfo_t info;
 
         usleep(100000);
-        ret = xc_domain_getinfolist(ctx->xch, si->domid, 1, &info);
-        if (ret == 1 && info.domain == si->domid && info.flags & XEN_DOMINF_shutdown) {
+        ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+        if (ret == 1 && info.domain == domid &&
+            (info.flags & XEN_DOMINF_shutdown)) {
             int shutdown_reason;
 
-            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
+            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift)
+                & XEN_DOMINF_shutdownmask;
             if (shutdown_reason == SHUTDOWN_suspend) {
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest has suspended");
+                LOG(DEBUG, "guest has suspended");
                 return 1;
             }
         }
@@ -701,7 +698,7 @@ static int libxl__domain_suspend_common_callback(void *data)
         watchdog--;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest did not suspend");
+    LOG(ERROR, "guest did not suspend");
     return 0;
 }
 
@@ -716,9 +713,8 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
-    struct suspendinfo *si = (struct suspendinfo *) data;
-    libxl__gc *gc = (libxl__gc *) si->gc;
-    libxl_ctx *ctx = gc->owner;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -747,21 +743,21 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         char *xs_path;
         phys_offset = entries[i];
         if (phys_offset == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "phys_offset %d is NULL", i);
+            LOG(ERROR, "phys_offset %d is NULL", i);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "start_addr");
         start_addr = libxl__xs_read(gc, 0, xs_path);
         if (start_addr == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "size");
         size = libxl__xs_read(gc, 0, xs_path);
         if (size == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
@@ -793,11 +789,10 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                  libxl_domain_type type,
                                  int live, int debug)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags;
+    int xcflags;
     int port;
     struct save_callbacks callbacks;
-    struct suspendinfo si;
+    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
@@ -822,29 +817,30 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         return ERROR_INVAL;
     }
 
-    flags = (live) ? XCFLAGS_LIVE : 0
+    xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
-    si.domid = domid;
-    si.flags = flags;
-    si.hvm = hvm;
-    si.gc = gc;
-    si.suspend_eventchn = -1;
-    si.guest_responded = 0;
+    dss->domid = domid;
+    dss->xcflags = xcflags;
+    dss->hvm = hvm;
+    dss->gc = gc;
+    dss->suspend_eventchn = -1;
+    dss->guest_responded = 0;
 
-    si.xce = xc_evtchn_open(NULL, 0);
-    if (si.xce == NULL)
+    dss->xce = xc_evtchn_open(NULL, 0);
+    if (dss->xce == NULL)
         goto out;
     else
     {
-        port = xs_suspend_evtchn_port(si.domid);
+        port = xs_suspend_evtchn_port(dss->domid);
 
         if (port >= 0) {
-            si.suspend_eventchn = xc_suspend_evtchn_init(ctx->xch, si.xce, si.domid, port);
+            dss->suspend_eventchn =
+                xc_suspend_evtchn_init(CTX->xch, dss->xce, dss->domid, port);
 
-            if (si.suspend_eventchn < 0)
-                LIBXL__LOG(ctx, LIBXL__LOG_WARNING, "Suspend event channel initialization failed");
+            if (dss->suspend_eventchn < 0)
+                LOG(WARN, "Suspend event channel initialization failed");
         }
     }
 
@@ -852,25 +848,26 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
     callbacks.suspend = libxl__domain_suspend_common_callback;
     callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
     callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = &si;
+    callbacks.data = dss;
 
-    rc = xc_domain_save(ctx->xch, fd, domid, 0, 0, flags, &callbacks,
+    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, &callbacks,
                         hvm, vm_generationid_addr);
     if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "saving domain: %s",
-                         si.guest_responded ?
+        LOGE(ERROR, "saving domain: %s",
+                         dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
-        if ( !si.guest_responded )
+        if ( !dss->guest_responded )
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
     }
 
-    if (si.suspend_eventchn > 0)
-        xc_suspend_evtchn_release(ctx->xch, si.xce, domid, si.suspend_eventchn);
-    if (si.xce != NULL)
-        xc_evtchn_close(si.xce);
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
 
 out:
     return rc;
@@ -878,8 +875,7 @@ out:
 
 int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int ret, fd2 = -1, c;
+    int rc, fd2 = -1, c;
     char buf[1024];
     const char *filename = libxl__device_model_savefile(gc, domid);
     struct stat st;
@@ -887,15 +883,15 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 
     switch (libxl__device_model_version_running(gc, domid)) {
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
+        LOG(DEBUG,
                    "Saving device model state to %s", filename);
         libxl__qemu_traditional_cmd(gc, domid, "save");
         libxl__wait_for_device_model(gc, domid, "paused", NULL, NULL, NULL);
         break;
     }
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-        ret = libxl__qmp_save(gc, domid, (char *)filename);
-        if (ret)
+        rc = libxl__qmp_save(gc, domid, (char *)filename);
+        if (rc)
             goto out;
         break;
     default:
@@ -904,46 +900,46 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 
     if (stat(filename, &st) < 0)
     {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Unable to stat qemu save file\n");
-        ret = ERROR_FAIL;
+        LOG(ERROR, "Unable to stat qemu save file\n");
+        rc = ERROR_FAIL;
         goto out;
     }
 
     qemu_state_len = st.st_size;
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
+    LOG(DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
 
-    ret = libxl_write_exactly(ctx, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
+    rc = libxl_write_exactly(CTX, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
                               "saved-state file", "qemu signature");
-    if (ret)
+    if (rc)
         goto out;
 
-    ret = libxl_write_exactly(ctx, fd, &qemu_state_len, sizeof(qemu_state_len),
+    rc = libxl_write_exactly(CTX, fd, &qemu_state_len, sizeof(qemu_state_len),
                             "saved-state file", "saved-state length");
-    if (ret)
+    if (rc)
         goto out;
 
     fd2 = open(filename, O_RDONLY);
     if (fd2 < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Unable to open qemu save file\n");
+        LOGE(ERROR, "Unable to open qemu save file\n");
         goto out;
     }
     while ((c = read(fd2, buf, sizeof(buf))) != 0) {
         if (c < 0) {
             if (errno == EINTR)
                 continue;
-            ret = errno;
+            rc = errno;
             goto out;
         }
-        ret = libxl_write_exactly(
-            ctx, fd, buf, c, "saved-state file", "qemu state");
-        if (ret)
+        rc = libxl_write_exactly(
+            CTX, fd, buf, c, "saved-state file", "qemu state");
+        if (rc)
             goto out;
     }
-    ret = 0;
+    rc = 0;
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return ret;
+    return rc;
 }
 
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 73b9915..b9afeb8 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -755,9 +755,6 @@ _hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
                                          libxl_domain_build_info *info,
                                          libxl__domain_build_state *state,
                                          int fd);
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
@@ -1708,6 +1705,21 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Domain suspend (save) state structure -----*/
+
+typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
+
+struct libxl__domain_suspend_state {
+    libxl__gc *gc;
+    xc_evtchn *xce; /* event channel handle */
+    int suspend_eventchn;
+    int domid;
+    int hvm;
+    unsigned int xcflags;
+    int guest_responded;
+};
+
+
 /*----- openpty -----*/
 
 /*
@@ -1803,6 +1815,13 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
+/*----- Domain suspend (save) functions -----*/
+
+_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
+                                         libxl_domain_type type,
+                                         int live, int debug);
+
+
 
 /*
  * Convenience macros.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pW-0003ix-Et; Thu, 17 May 2012 18:53:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pU-0003iJ-RW
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:7896] by server-11.bemta-14.messagelabs.com id
	9F/81-05858-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15885 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537166"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qE-FE; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006c5-DM;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:33 +0100
Message-ID: <1337280816-25370-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/5] libxl: domain save: rename variables etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Preparatory work for making domain suspend asynchronous:

* Rename `struct suspendinfo' to `libxl__domain_suspend_state'
  and move it to libxl_internal.h.

* Rename variables `si' to `dss'.

* Change the stack-allocated state from
    struct suspendinfo si;
  to
    libxl__domain_suspend_state dss[1];
  so that it may be referred to as a pointer variable everywhere.

* Rename the variable `flags' (in libxl__domain_suspend_common
  and in libxl__domain_suspend_state) to `xcflags', to help
  distinguish it from the other `flags' which is passed in
  from the calling application in libxl_domain_suspend_info.

* Move the prototypes of suspend-related functions in libxl_internal.h
  to after the definition of the state struct.

* Replace several ctx variables with gc variables and
  consequently references to ctx with CTX.  Change references
  to `dss->gc' in the functional code to simply `gc'.

* Use LOG* rather than LIBXL__LOG* in a number of places.

* In libxl__domain_save_device_model use `ret' instead of `rc'.

* Introduce and use `gc' and `domid' in
  libxl__domain_suspend_common_callback.

* Wrap some long lines.

* Add an extra pair of parens for clarity in a flag test.

* Remove two pointless casts from void* to a struct*.

No functional change whatsoever.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c      |  202 ++++++++++++++++++++---------------------
 tools/libxl/libxl_internal.h |   25 +++++-
 2 files changed, 121 insertions(+), 106 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 01d5595..0dc1427 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -464,7 +464,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
-    libxl__gc *gc = (libxl__gc *) data;
+    libxl__gc *gc = data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
     const uint8_t *ptr = buf;
@@ -558,84 +558,79 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-struct suspendinfo {
-    libxl__gc *gc;
-    xc_evtchn *xce; /* event channel handle */
-    int suspend_eventchn;
-    int domid;
-    int hvm;
-    unsigned int flags;
-    int guest_responded;
-};
-
-static int libxl__domain_suspend_common_switch_qemu_logdirty(int domid, unsigned int enable, void *data)
+static int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data)
 {
-    struct suspendinfo *si = data;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     char *path;
     bool rc;
 
-    path = libxl__sprintf(si->gc, "/local/domain/0/device-model/%u/logdirty/cmd", domid);
+    path = libxl__sprintf(gc,
+                   "/local/domain/0/device-model/%u/logdirty/cmd", domid);
     if (!path)
         return 1;
 
     if (enable)
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "enable", strlen("enable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "enable", strlen("enable"));
     else
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "disable", strlen("disable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "disable", strlen("disable"));
 
     return rc ? 0 : 1;
 }
 
 static int libxl__domain_suspend_common_callback(void *data)
 {
-    struct suspendinfo *si = data;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
     int watchdog;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
     xs_transaction_t t;
 
-    if (si->hvm) {
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->hvm) {
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
     }
 
-    if ((hvm_s_state == 0) && (si->suspend_eventchn >= 0)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via event channel",
-                   si->hvm ? "PVHVM" : "PV");
-        ret = xc_evtchn_notify(si->xce, si->suspend_eventchn);
+    if ((hvm_s_state == 0) && (dss->suspend_eventchn >= 0)) {
+        LOG(DEBUG, "issuing %s suspend request via event channel",
+            dss->hvm ? "PVHVM" : "PV");
+        ret = xc_evtchn_notify(dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_evtchn_notify failed ret=%d", ret);
+            LOG(ERROR, "xc_evtchn_notify failed ret=%d", ret);
             return 0;
         }
-        ret = xc_await_suspend(ctx->xch, si->xce, si->suspend_eventchn);
+        ret = xc_await_suspend(CTX->xch, dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_await_suspend failed ret=%d", ret);
+            LOG(ERROR, "xc_await_suspend failed ret=%d", ret);
             return 0;
         }
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
         return 1;
     }
 
-    if (si->hvm && (!hvm_pvdrv || hvm_s_state)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Calling xc_domain_shutdown on HVM domain");
-        xc_domain_shutdown(ctx->xch, si->domid, SHUTDOWN_suspend);
+    if (dss->hvm && (!hvm_pvdrv || hvm_s_state)) {
+        LOG(DEBUG, "Calling xc_domain_shutdown on HVM domain");
+        xc_domain_shutdown(CTX->xch, domid, SHUTDOWN_suspend);
         /* The guest does not (need to) respond to this sort of request. */
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
     } else {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via XenBus control node",
-                   si->hvm ? "PVHVM" : "PV");
+        LOG(DEBUG, "issuing %s suspend request via XenBus control node",
+            dss->hvm ? "PVHVM" : "PV");
 
-        libxl__domain_pvcontrol_write(si->gc, XBT_NULL, si->domid, "suspend");
+        libxl__domain_pvcontrol_write(gc, XBT_NULL, domid, "suspend");
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to acknowledge suspend request");
+        LOG(DEBUG, "wait for the guest to acknowledge suspend request");
         watchdog = 60;
         while (!strcmp(state, "suspend") && watchdog > 0) {
             usleep(100000);
 
-            state = libxl__domain_pvcontrol_read(si->gc, XBT_NULL, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, XBT_NULL, domid);
             if (!state) state = "";
 
             watchdog--;
@@ -651,17 +646,17 @@ static int libxl__domain_suspend_common_callback(void *data)
          * at the last minute.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, cancelling request");
+            LOG(ERROR, "guest didn't acknowledge suspend, cancelling request");
         retry_transaction:
-            t = xs_transaction_start(ctx->xsh);
+            t = xs_transaction_start(CTX->xsh);
 
-            state = libxl__domain_pvcontrol_read(si->gc, t, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, t, domid);
             if (!state) state = "";
 
             if (!strcmp(state, "suspend"))
-                libxl__domain_pvcontrol_write(si->gc, t, si->domid, "");
+                libxl__domain_pvcontrol_write(gc, t, domid, "");
 
-            if (!xs_transaction_end(ctx->xsh, t, 0))
+            if (!xs_transaction_end(CTX->xsh, t, 0))
                 if (errno == EAGAIN)
                     goto retry_transaction;
 
@@ -673,27 +668,29 @@ static int libxl__domain_suspend_common_callback(void *data)
          * case we lost the race while cancelling and should continue.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, request cancelled");
+            LOG(ERROR, "guest didn't acknowledge suspend, request cancelled");
             return 0;
         }
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest acknowledged suspend request");
-        si->guest_responded = 1;
+        LOG(DEBUG, "guest acknowledged suspend request");
+        dss->guest_responded = 1;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to suspend");
+    LOG(DEBUG, "wait for the guest to suspend");
     watchdog = 60;
     while (watchdog > 0) {
         xc_domaininfo_t info;
 
         usleep(100000);
-        ret = xc_domain_getinfolist(ctx->xch, si->domid, 1, &info);
-        if (ret == 1 && info.domain == si->domid && info.flags & XEN_DOMINF_shutdown) {
+        ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+        if (ret == 1 && info.domain == domid &&
+            (info.flags & XEN_DOMINF_shutdown)) {
             int shutdown_reason;
 
-            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
+            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift)
+                & XEN_DOMINF_shutdownmask;
             if (shutdown_reason == SHUTDOWN_suspend) {
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest has suspended");
+                LOG(DEBUG, "guest has suspended");
                 return 1;
             }
         }
@@ -701,7 +698,7 @@ static int libxl__domain_suspend_common_callback(void *data)
         watchdog--;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest did not suspend");
+    LOG(ERROR, "guest did not suspend");
     return 0;
 }
 
@@ -716,9 +713,8 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
-    struct suspendinfo *si = (struct suspendinfo *) data;
-    libxl__gc *gc = (libxl__gc *) si->gc;
-    libxl_ctx *ctx = gc->owner;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -747,21 +743,21 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         char *xs_path;
         phys_offset = entries[i];
         if (phys_offset == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "phys_offset %d is NULL", i);
+            LOG(ERROR, "phys_offset %d is NULL", i);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "start_addr");
         start_addr = libxl__xs_read(gc, 0, xs_path);
         if (start_addr == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "size");
         size = libxl__xs_read(gc, 0, xs_path);
         if (size == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
@@ -793,11 +789,10 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                  libxl_domain_type type,
                                  int live, int debug)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags;
+    int xcflags;
     int port;
     struct save_callbacks callbacks;
-    struct suspendinfo si;
+    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
@@ -822,29 +817,30 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         return ERROR_INVAL;
     }
 
-    flags = (live) ? XCFLAGS_LIVE : 0
+    xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
-    si.domid = domid;
-    si.flags = flags;
-    si.hvm = hvm;
-    si.gc = gc;
-    si.suspend_eventchn = -1;
-    si.guest_responded = 0;
+    dss->domid = domid;
+    dss->xcflags = xcflags;
+    dss->hvm = hvm;
+    dss->gc = gc;
+    dss->suspend_eventchn = -1;
+    dss->guest_responded = 0;
 
-    si.xce = xc_evtchn_open(NULL, 0);
-    if (si.xce == NULL)
+    dss->xce = xc_evtchn_open(NULL, 0);
+    if (dss->xce == NULL)
         goto out;
     else
     {
-        port = xs_suspend_evtchn_port(si.domid);
+        port = xs_suspend_evtchn_port(dss->domid);
 
         if (port >= 0) {
-            si.suspend_eventchn = xc_suspend_evtchn_init(ctx->xch, si.xce, si.domid, port);
+            dss->suspend_eventchn =
+                xc_suspend_evtchn_init(CTX->xch, dss->xce, dss->domid, port);
 
-            if (si.suspend_eventchn < 0)
-                LIBXL__LOG(ctx, LIBXL__LOG_WARNING, "Suspend event channel initialization failed");
+            if (dss->suspend_eventchn < 0)
+                LOG(WARN, "Suspend event channel initialization failed");
         }
     }
 
@@ -852,25 +848,26 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
     callbacks.suspend = libxl__domain_suspend_common_callback;
     callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
     callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = &si;
+    callbacks.data = dss;
 
-    rc = xc_domain_save(ctx->xch, fd, domid, 0, 0, flags, &callbacks,
+    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, &callbacks,
                         hvm, vm_generationid_addr);
     if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "saving domain: %s",
-                         si.guest_responded ?
+        LOGE(ERROR, "saving domain: %s",
+                         dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
-        if ( !si.guest_responded )
+        if ( !dss->guest_responded )
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
     }
 
-    if (si.suspend_eventchn > 0)
-        xc_suspend_evtchn_release(ctx->xch, si.xce, domid, si.suspend_eventchn);
-    if (si.xce != NULL)
-        xc_evtchn_close(si.xce);
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
 
 out:
     return rc;
@@ -878,8 +875,7 @@ out:
 
 int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int ret, fd2 = -1, c;
+    int rc, fd2 = -1, c;
     char buf[1024];
     const char *filename = libxl__device_model_savefile(gc, domid);
     struct stat st;
@@ -887,15 +883,15 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 
     switch (libxl__device_model_version_running(gc, domid)) {
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
+        LOG(DEBUG,
                    "Saving device model state to %s", filename);
         libxl__qemu_traditional_cmd(gc, domid, "save");
         libxl__wait_for_device_model(gc, domid, "paused", NULL, NULL, NULL);
         break;
     }
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-        ret = libxl__qmp_save(gc, domid, (char *)filename);
-        if (ret)
+        rc = libxl__qmp_save(gc, domid, (char *)filename);
+        if (rc)
             goto out;
         break;
     default:
@@ -904,46 +900,46 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 
     if (stat(filename, &st) < 0)
     {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Unable to stat qemu save file\n");
-        ret = ERROR_FAIL;
+        LOG(ERROR, "Unable to stat qemu save file\n");
+        rc = ERROR_FAIL;
         goto out;
     }
 
     qemu_state_len = st.st_size;
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
+    LOG(DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
 
-    ret = libxl_write_exactly(ctx, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
+    rc = libxl_write_exactly(CTX, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
                               "saved-state file", "qemu signature");
-    if (ret)
+    if (rc)
         goto out;
 
-    ret = libxl_write_exactly(ctx, fd, &qemu_state_len, sizeof(qemu_state_len),
+    rc = libxl_write_exactly(CTX, fd, &qemu_state_len, sizeof(qemu_state_len),
                             "saved-state file", "saved-state length");
-    if (ret)
+    if (rc)
         goto out;
 
     fd2 = open(filename, O_RDONLY);
     if (fd2 < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Unable to open qemu save file\n");
+        LOGE(ERROR, "Unable to open qemu save file\n");
         goto out;
     }
     while ((c = read(fd2, buf, sizeof(buf))) != 0) {
         if (c < 0) {
             if (errno == EINTR)
                 continue;
-            ret = errno;
+            rc = errno;
             goto out;
         }
-        ret = libxl_write_exactly(
-            ctx, fd, buf, c, "saved-state file", "qemu state");
-        if (ret)
+        rc = libxl_write_exactly(
+            CTX, fd, buf, c, "saved-state file", "qemu state");
+        if (rc)
             goto out;
     }
-    ret = 0;
+    rc = 0;
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return ret;
+    return rc;
 }
 
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 73b9915..b9afeb8 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -755,9 +755,6 @@ _hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
                                          libxl_domain_build_info *info,
                                          libxl__domain_build_state *state,
                                          int fd);
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
@@ -1708,6 +1705,21 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Domain suspend (save) state structure -----*/
+
+typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
+
+struct libxl__domain_suspend_state {
+    libxl__gc *gc;
+    xc_evtchn *xce; /* event channel handle */
+    int suspend_eventchn;
+    int domid;
+    int hvm;
+    unsigned int xcflags;
+    int guest_responded;
+};
+
+
 /*----- openpty -----*/
 
 /*
@@ -1803,6 +1815,13 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
+/*----- Domain suspend (save) functions -----*/
+
+_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
+                                         libxl_domain_type type,
+                                         int live, int debug);
+
+
 
 /*
  * Convenience macros.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pX-0003jR-LK; Thu, 17 May 2012 18:53:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pV-0003iJ-Ik
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:7899] by server-11.bemta-14.messagelabs.com id
	CF/81-05858-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15894 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537167"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qH-Gx; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006cJ-FS;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:35 +0100
Message-ID: <1337280816-25370-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 4/5] libxl: domain save: API changes for
	asynchrony
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change the internal and external APIs for domain save (suspend) to be
capable of asynchronous operation.  The implementation remains
synchronous.

Public API changes:

 * libxl_domain_save takes an ao_how.

 * The `suspend_callback' function passed to libxl_domain_save is
   never called by the existing implementation in libxl.  Abolish it.

 * libxl_domain_save takes its flags parameter as an argument.
   Thus libxl_domain_suspend_info is abolished.

 * libxl_domain_save renamed from libxl_domain_suspend for coherency
   with "restore" and general consistency with higher-level
   terminology.

 * XL_SUSPEND_* flags renamed to LIBXL_SAVE_*.

 * Callers in xl updated.

Internal code restructuring:

 * libxl__domain_suspend renamed from libxl__domain_suspend_common.
   (_common here actually meant "internal function").

 * libxl__domain_suspend takes a libxl__domain_suspend_state, which
   where the parameters to the operation are filled in by the caller.

 * xc_domain_save is now called via libxl__xc_domain_save which can
   itself become asynchronous.

 * Consequently, libxl__domain_suspend is split into two functions at
   the callback boundary; the second half is
   libxl__xc_domain_save_done.

 * libxl__domain_save_device_model is now called by the actual
   implementation rather than by the public wrapper.  It is already in
   its proper place in the domain save execution sequence.  So
   officially make it part of that execution sequence, renaming it to
   domain_save_device_model.

 * Effectively, rewrite the public wrapper function libxl_domain_save.

 * Remove a needless #include <xenctrl.h>

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c              |   45 ++++++++++----
 tools/libxl/libxl.h              |   16 ++---
 tools/libxl/libxl_dom.c          |  124 ++++++++++++++++++++++++++-----------
 tools/libxl/libxl_internal.h     |   41 +++++++++++--
 tools/libxl/libxl_save_callout.c |   21 ++++++-
 tools/libxl/xl_cmdimpl.c         |    7 +--
 6 files changed, 185 insertions(+), 69 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..a8dfd68 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -614,20 +614,43 @@ libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm)
     return ptr;
 }
 
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                         uint32_t domid, int fd)
+static void domain_save_cb(libxl__egc *egc,
+                           libxl__domain_suspend_state *dss, int rc)
 {
-    GC_INIT(ctx);
+    STATE_AO_GC(dss->ao);
+    libxl__ao_complete(egc,ao,rc);
+}
+
+int libxl_domain_save(libxl_ctx *ctx, uint32_t domid, int fd, int flags,
+                      const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
     libxl_domain_type type = libxl__domain_type(gc, domid);
-    int live = info != NULL && info->flags & XL_SUSPEND_LIVE;
-    int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
-    int rc = 0;
+    if (type < 0) {
+        LOG(ERROR,"domain %"PRIu32": unable to determine domain type", domid);
+        rc = ERROR_FAIL;
+        goto out_err;
+    }
 
-    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug);
-    if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
-        rc = libxl__domain_save_device_model(gc, domid, fd);
-    GC_FREE;
-    return rc;
+    libxl__domain_suspend_state *dss;
+    GCNEW(dss);
+
+    dss->ao = ao;
+    dss->callback = domain_save_cb;
+
+    dss->domid = domid;
+    dss->fd = fd;
+    dss->type = type;
+    dss->live = flags & LIBXL_SAVE_LIVE;
+    dss->debug = flags & LIBXL_SAVE_DEBUG;
+
+    libxl__domain_suspend(egc, dss);
+    return AO_INPROGRESS;
+
+ out_err:
+    return AO_ABORT(rc);
 }
 
 int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c86d8e7..467ef5d 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -359,13 +359,6 @@ typedef struct libxl__ctx libxl_ctx;
 
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
 
-typedef struct {
-#define XL_SUSPEND_DEBUG 1
-#define XL_SUSPEND_LIVE 2
-    int flags;
-    int (*suspend_callback)(void *, int);
-} libxl_domain_suspend_info;
-
 enum {
     ERROR_NONSPECIFIC = -1,
     ERROR_VERSION = -2,
@@ -525,8 +518,13 @@ int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                          uint32_t domid, int fd);
+
+int libxl_domain_save(libxl_ctx *ctx, uint32_t domid, int fd,
+                      int flags, /* LIBXL_SAVE_* */
+                      const libxl_asyncop_how *ao_how);
+#define LIBXL_SAVE_DEBUG 1
+#define LIBXL_SAVE_LIVE 2
+
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index d29c705..d28f740 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -17,13 +17,11 @@
 
 #include <glob.h>
 
-#include <xenctrl.h>
-#include <xc_dom.h>
+#include "libxl_internal.h"
 
+#include <xc_dom.h>
 #include <xen/hvm/hvm_info_table.h>
 
-#include "libxl_internal.h"
-
 libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -515,11 +513,20 @@ int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-static int libxl__domain_suspend_common_switch_qemu_logdirty
+/*==================== Domain suspend (save) ====================*/
+
+static void domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss);
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc);
+
+/*----- callbacks, called by xc_domain_save -----*/
+
+int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
 
@@ -536,10 +543,10 @@ static int libxl__domain_suspend_common_switch_qemu_logdirty
     return rc ? 0 : 1;
 }
 
-static int libxl__domain_suspend_common_callback(void *data)
+int libxl__domain_suspend_common_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
@@ -667,11 +674,11 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -742,17 +749,22 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
     return 0;
 }
 
-int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                 libxl_domain_type type,
-                                 int live, int debug)
+/*----- main code for suspending, in order of execution -----*/
+
+void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
 {
+    STATE_AO_GC(dss->ao);
     int xcflags;
     int port;
-    struct save_callbacks callbacks;
-    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+    const libxl_domain_type type = dss->type;
+    const int live = dss->live;
+    const int debug = dss->debug;
+
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
         char *path;
@@ -771,17 +783,14 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         hvm = 0;
         break;
     default:
-        return ERROR_INVAL;
+        abort();
     }
 
     xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
-    dss->domid = domid;
-    dss->xcflags = xcflags;
     dss->hvm = hvm;
-    dss->gc = gc;
     dss->suspend_eventchn = -1;
     dss->guest_responded = 0;
 
@@ -801,16 +810,27 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         }
     }
 
-    memset(&callbacks, 0, sizeof(callbacks));
-    callbacks.suspend = libxl__domain_suspend_common_callback;
-    callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = dss;
+    libxl__xc_domain_save(egc, dss, xcflags, hvm, vm_generationid_addr);
+    return;
 
-    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, &callbacks,
-                        hvm, vm_generationid_addr);
-    if ( rc ) {
-        LOGE(ERROR, "saving domain: %s",
+ out:
+    domain_suspend_done(egc, dss, rc);
+}
+
+void libxl__xc_domain_save_done(libxl__egc *egc,
+                                libxl__domain_suspend_state *dss,
+                                int rc, int retval, int errnoval)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const libxl_domain_type type = dss->type;
+
+    if (rc)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "saving domain: %s",
                          dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
@@ -818,20 +838,29 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
+        goto out;
     }
 
-    if (dss->suspend_eventchn > 0)
-        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
-                                  dss->suspend_eventchn);
-    if (dss->xce != NULL)
-        xc_evtchn_close(dss->xce);
+    if (type == LIBXL_DOMAIN_TYPE_HVM) {
+        domain_save_device_model(egc, dss);
+    } else {
+        domain_suspend_done(egc, dss, 0);
+    }
+    return;
 
 out:
-    return rc;
+    domain_suspend_done(egc, dss, rc);
 }
 
-int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
+static void domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss)
 {
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+    const int fd = dss->fd;
+
     int rc, fd2 = -1, c;
     char buf[1024];
     const char *filename = libxl__device_model_savefile(gc, domid);
@@ -852,7 +881,8 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
             goto out;
         break;
     default:
-        return ERROR_INVAL;
+        rc = ERROR_INVAL;
+        goto out;
     }
 
     if (stat(filename, &st) < 0)
@@ -896,9 +926,29 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return rc;
+
+    domain_suspend_done(egc, dss, rc);
 }
 
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
+
+    dss->callback(egc, dss, rc);
+}
+
+/*==================== Miscellaneous ====================*/
+
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
 {
     char *s = libxl__sprintf(gc, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index fa70a00..a06cc65 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1708,13 +1708,23 @@ _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 
+typedef void libxl__domain_suspend_cb(libxl__egc*,
+                                      libxl__domain_suspend_state*, int rc);
+
 struct libxl__domain_suspend_state {
-    libxl__gc *gc;
+    /* set by caller of libxl__domain_suspend */
+    libxl__ao *ao;
+    libxl__domain_suspend_cb *callback;
+
+    uint32_t domid;
+    int fd;
+    libxl_domain_type type;
+    int live;
+    int debug;
+    /* private */
     xc_evtchn *xce; /* event channel handle */
     int suspend_eventchn;
-    int domid;
     int hvm;
-    unsigned int xcflags;
     int guest_responded;
 };
 
@@ -1816,9 +1826,28 @@ struct libxl__domain_create_state {
 
 /*----- Domain suspend (save) functions -----*/
 
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug);
+/* calls callback when done */
+_hidden void libxl__domain_suspend(libxl__egc *egc,
+                                   libxl__domain_suspend_state *dss);
+
+
+/* calls libxl__xc_domain_suspend_done when done */
+_hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
+                                   int xcflags, int hvm,
+                                   unsigned long vm_generationid_addr);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_save_done(libxl__egc*,
+                                        libxl__domain_suspend_state*,
+                                        int rc, int retval, int errnoval);
+
+_hidden int libxl__domain_suspend_common_callback(void *data);
+_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data);
+_hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+        uint32_t *len, void *data);
+
 
 /* calls libxl__xc_domain_restore_done when done */
 _hidden void libxl__xc_domain_restore(libxl__egc *egc,
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index bad4e30..2355cc0 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -20,7 +20,6 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               int hvm, int pae, int superpages,
                               int no_incr_generationid,
                               xc_toolstack_restore_cb *toolstack_restore)
-/* calls libxl__xc_domain_restore_done when done */
 {
     STATE_AO_GC(dcs->ao);
 
@@ -41,3 +40,23 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               &state->vm_generationid_addr, &callbacks);
     libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
 }
+
+void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
+                           int xcflags, int hvm,
+                           unsigned long vm_generationid_addr)
+{
+    STATE_AO_GC(dss->ao);
+    struct save_callbacks callbacks;
+    int r;
+
+    memset(&callbacks, 0, sizeof(callbacks));
+    callbacks.suspend = libxl__domain_suspend_common_callback;
+    callbacks.switch_qemu_logdirty =
+        libxl__domain_suspend_common_switch_qemu_logdirty;
+    callbacks.toolstack_save = libxl__toolstack_save;
+    callbacks.data = dss;
+
+    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags, &callbacks,
+                       hvm, vm_generationid_addr);
+    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+}
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 38c5726..2dc8a07 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2808,7 +2808,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
 
     save_domain_core_writeconfig(fd, filename, config_data, config_len);
 
-    CHK_ERRNO(libxl_domain_suspend(ctx, NULL, domid, fd));
+    CHK_ERRNO(libxl_domain_save(ctx, domid, fd, 0, NULL));
     close(fd);
 
     if (checkpoint)
@@ -2911,7 +2911,6 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     int rc;
     int sendpipe[2], recvpipe[2];
     int send_fd, recv_fd;
-    libxl_domain_suspend_info suspinfo;
     char *away_domname;
     char rc_buf;
     uint8_t *config_data;
@@ -2964,9 +2963,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
     xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
 
-    memset(&suspinfo, 0, sizeof(suspinfo));
-    suspinfo.flags |= XL_SUSPEND_LIVE;
-    rc = libxl_domain_suspend(ctx, &suspinfo, domid, send_fd);
+    rc = libxl_domain_save(ctx, domid, send_fd, LIBXL_SAVE_LIVE, NULL);
     if (rc) {
         fprintf(stderr, "migration sender: libxl_domain_suspend failed"
                 " (rc=%d)\n", rc);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pX-0003jR-LK; Thu, 17 May 2012 18:53:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pV-0003iJ-Ik
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:7899] by server-11.bemta-14.messagelabs.com id
	CF/81-05858-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15894 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537167"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qH-Gx; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006cJ-FS;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:35 +0100
Message-ID: <1337280816-25370-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 4/5] libxl: domain save: API changes for
	asynchrony
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change the internal and external APIs for domain save (suspend) to be
capable of asynchronous operation.  The implementation remains
synchronous.

Public API changes:

 * libxl_domain_save takes an ao_how.

 * The `suspend_callback' function passed to libxl_domain_save is
   never called by the existing implementation in libxl.  Abolish it.

 * libxl_domain_save takes its flags parameter as an argument.
   Thus libxl_domain_suspend_info is abolished.

 * libxl_domain_save renamed from libxl_domain_suspend for coherency
   with "restore" and general consistency with higher-level
   terminology.

 * XL_SUSPEND_* flags renamed to LIBXL_SAVE_*.

 * Callers in xl updated.

Internal code restructuring:

 * libxl__domain_suspend renamed from libxl__domain_suspend_common.
   (_common here actually meant "internal function").

 * libxl__domain_suspend takes a libxl__domain_suspend_state, which
   where the parameters to the operation are filled in by the caller.

 * xc_domain_save is now called via libxl__xc_domain_save which can
   itself become asynchronous.

 * Consequently, libxl__domain_suspend is split into two functions at
   the callback boundary; the second half is
   libxl__xc_domain_save_done.

 * libxl__domain_save_device_model is now called by the actual
   implementation rather than by the public wrapper.  It is already in
   its proper place in the domain save execution sequence.  So
   officially make it part of that execution sequence, renaming it to
   domain_save_device_model.

 * Effectively, rewrite the public wrapper function libxl_domain_save.

 * Remove a needless #include <xenctrl.h>

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c              |   45 ++++++++++----
 tools/libxl/libxl.h              |   16 ++---
 tools/libxl/libxl_dom.c          |  124 ++++++++++++++++++++++++++-----------
 tools/libxl/libxl_internal.h     |   41 +++++++++++--
 tools/libxl/libxl_save_callout.c |   21 ++++++-
 tools/libxl/xl_cmdimpl.c         |    7 +--
 6 files changed, 185 insertions(+), 69 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..a8dfd68 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -614,20 +614,43 @@ libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm)
     return ptr;
 }
 
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                         uint32_t domid, int fd)
+static void domain_save_cb(libxl__egc *egc,
+                           libxl__domain_suspend_state *dss, int rc)
 {
-    GC_INIT(ctx);
+    STATE_AO_GC(dss->ao);
+    libxl__ao_complete(egc,ao,rc);
+}
+
+int libxl_domain_save(libxl_ctx *ctx, uint32_t domid, int fd, int flags,
+                      const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
     libxl_domain_type type = libxl__domain_type(gc, domid);
-    int live = info != NULL && info->flags & XL_SUSPEND_LIVE;
-    int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
-    int rc = 0;
+    if (type < 0) {
+        LOG(ERROR,"domain %"PRIu32": unable to determine domain type", domid);
+        rc = ERROR_FAIL;
+        goto out_err;
+    }
 
-    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug);
-    if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
-        rc = libxl__domain_save_device_model(gc, domid, fd);
-    GC_FREE;
-    return rc;
+    libxl__domain_suspend_state *dss;
+    GCNEW(dss);
+
+    dss->ao = ao;
+    dss->callback = domain_save_cb;
+
+    dss->domid = domid;
+    dss->fd = fd;
+    dss->type = type;
+    dss->live = flags & LIBXL_SAVE_LIVE;
+    dss->debug = flags & LIBXL_SAVE_DEBUG;
+
+    libxl__domain_suspend(egc, dss);
+    return AO_INPROGRESS;
+
+ out_err:
+    return AO_ABORT(rc);
 }
 
 int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c86d8e7..467ef5d 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -359,13 +359,6 @@ typedef struct libxl__ctx libxl_ctx;
 
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
 
-typedef struct {
-#define XL_SUSPEND_DEBUG 1
-#define XL_SUSPEND_LIVE 2
-    int flags;
-    int (*suspend_callback)(void *, int);
-} libxl_domain_suspend_info;
-
 enum {
     ERROR_NONSPECIFIC = -1,
     ERROR_VERSION = -2,
@@ -525,8 +518,13 @@ int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                          uint32_t domid, int fd);
+
+int libxl_domain_save(libxl_ctx *ctx, uint32_t domid, int fd,
+                      int flags, /* LIBXL_SAVE_* */
+                      const libxl_asyncop_how *ao_how);
+#define LIBXL_SAVE_DEBUG 1
+#define LIBXL_SAVE_LIVE 2
+
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index d29c705..d28f740 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -17,13 +17,11 @@
 
 #include <glob.h>
 
-#include <xenctrl.h>
-#include <xc_dom.h>
+#include "libxl_internal.h"
 
+#include <xc_dom.h>
 #include <xen/hvm/hvm_info_table.h>
 
-#include "libxl_internal.h"
-
 libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -515,11 +513,20 @@ int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-static int libxl__domain_suspend_common_switch_qemu_logdirty
+/*==================== Domain suspend (save) ====================*/
+
+static void domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss);
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc);
+
+/*----- callbacks, called by xc_domain_save -----*/
+
+int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
 
@@ -536,10 +543,10 @@ static int libxl__domain_suspend_common_switch_qemu_logdirty
     return rc ? 0 : 1;
 }
 
-static int libxl__domain_suspend_common_callback(void *data)
+int libxl__domain_suspend_common_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
@@ -667,11 +674,11 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -742,17 +749,22 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
     return 0;
 }
 
-int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                 libxl_domain_type type,
-                                 int live, int debug)
+/*----- main code for suspending, in order of execution -----*/
+
+void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
 {
+    STATE_AO_GC(dss->ao);
     int xcflags;
     int port;
-    struct save_callbacks callbacks;
-    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+    const libxl_domain_type type = dss->type;
+    const int live = dss->live;
+    const int debug = dss->debug;
+
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
         char *path;
@@ -771,17 +783,14 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         hvm = 0;
         break;
     default:
-        return ERROR_INVAL;
+        abort();
     }
 
     xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
-    dss->domid = domid;
-    dss->xcflags = xcflags;
     dss->hvm = hvm;
-    dss->gc = gc;
     dss->suspend_eventchn = -1;
     dss->guest_responded = 0;
 
@@ -801,16 +810,27 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         }
     }
 
-    memset(&callbacks, 0, sizeof(callbacks));
-    callbacks.suspend = libxl__domain_suspend_common_callback;
-    callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = dss;
+    libxl__xc_domain_save(egc, dss, xcflags, hvm, vm_generationid_addr);
+    return;
 
-    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, &callbacks,
-                        hvm, vm_generationid_addr);
-    if ( rc ) {
-        LOGE(ERROR, "saving domain: %s",
+ out:
+    domain_suspend_done(egc, dss, rc);
+}
+
+void libxl__xc_domain_save_done(libxl__egc *egc,
+                                libxl__domain_suspend_state *dss,
+                                int rc, int retval, int errnoval)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const libxl_domain_type type = dss->type;
+
+    if (rc)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "saving domain: %s",
                          dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
@@ -818,20 +838,29 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
+        goto out;
     }
 
-    if (dss->suspend_eventchn > 0)
-        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
-                                  dss->suspend_eventchn);
-    if (dss->xce != NULL)
-        xc_evtchn_close(dss->xce);
+    if (type == LIBXL_DOMAIN_TYPE_HVM) {
+        domain_save_device_model(egc, dss);
+    } else {
+        domain_suspend_done(egc, dss, 0);
+    }
+    return;
 
 out:
-    return rc;
+    domain_suspend_done(egc, dss, rc);
 }
 
-int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
+static void domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss)
 {
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+    const int fd = dss->fd;
+
     int rc, fd2 = -1, c;
     char buf[1024];
     const char *filename = libxl__device_model_savefile(gc, domid);
@@ -852,7 +881,8 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
             goto out;
         break;
     default:
-        return ERROR_INVAL;
+        rc = ERROR_INVAL;
+        goto out;
     }
 
     if (stat(filename, &st) < 0)
@@ -896,9 +926,29 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return rc;
+
+    domain_suspend_done(egc, dss, rc);
 }
 
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
+
+    dss->callback(egc, dss, rc);
+}
+
+/*==================== Miscellaneous ====================*/
+
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
 {
     char *s = libxl__sprintf(gc, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index fa70a00..a06cc65 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1708,13 +1708,23 @@ _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 
+typedef void libxl__domain_suspend_cb(libxl__egc*,
+                                      libxl__domain_suspend_state*, int rc);
+
 struct libxl__domain_suspend_state {
-    libxl__gc *gc;
+    /* set by caller of libxl__domain_suspend */
+    libxl__ao *ao;
+    libxl__domain_suspend_cb *callback;
+
+    uint32_t domid;
+    int fd;
+    libxl_domain_type type;
+    int live;
+    int debug;
+    /* private */
     xc_evtchn *xce; /* event channel handle */
     int suspend_eventchn;
-    int domid;
     int hvm;
-    unsigned int xcflags;
     int guest_responded;
 };
 
@@ -1816,9 +1826,28 @@ struct libxl__domain_create_state {
 
 /*----- Domain suspend (save) functions -----*/
 
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug);
+/* calls callback when done */
+_hidden void libxl__domain_suspend(libxl__egc *egc,
+                                   libxl__domain_suspend_state *dss);
+
+
+/* calls libxl__xc_domain_suspend_done when done */
+_hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
+                                   int xcflags, int hvm,
+                                   unsigned long vm_generationid_addr);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_save_done(libxl__egc*,
+                                        libxl__domain_suspend_state*,
+                                        int rc, int retval, int errnoval);
+
+_hidden int libxl__domain_suspend_common_callback(void *data);
+_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data);
+_hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+        uint32_t *len, void *data);
+
 
 /* calls libxl__xc_domain_restore_done when done */
 _hidden void libxl__xc_domain_restore(libxl__egc *egc,
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index bad4e30..2355cc0 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -20,7 +20,6 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               int hvm, int pae, int superpages,
                               int no_incr_generationid,
                               xc_toolstack_restore_cb *toolstack_restore)
-/* calls libxl__xc_domain_restore_done when done */
 {
     STATE_AO_GC(dcs->ao);
 
@@ -41,3 +40,23 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               &state->vm_generationid_addr, &callbacks);
     libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
 }
+
+void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
+                           int xcflags, int hvm,
+                           unsigned long vm_generationid_addr)
+{
+    STATE_AO_GC(dss->ao);
+    struct save_callbacks callbacks;
+    int r;
+
+    memset(&callbacks, 0, sizeof(callbacks));
+    callbacks.suspend = libxl__domain_suspend_common_callback;
+    callbacks.switch_qemu_logdirty =
+        libxl__domain_suspend_common_switch_qemu_logdirty;
+    callbacks.toolstack_save = libxl__toolstack_save;
+    callbacks.data = dss;
+
+    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags, &callbacks,
+                       hvm, vm_generationid_addr);
+    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+}
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 38c5726..2dc8a07 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2808,7 +2808,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
 
     save_domain_core_writeconfig(fd, filename, config_data, config_len);
 
-    CHK_ERRNO(libxl_domain_suspend(ctx, NULL, domid, fd));
+    CHK_ERRNO(libxl_domain_save(ctx, domid, fd, 0, NULL));
     close(fd);
 
     if (checkpoint)
@@ -2911,7 +2911,6 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     int rc;
     int sendpipe[2], recvpipe[2];
     int send_fd, recv_fd;
-    libxl_domain_suspend_info suspinfo;
     char *away_domname;
     char rc_buf;
     uint8_t *config_data;
@@ -2964,9 +2963,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
     xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
 
-    memset(&suspinfo, 0, sizeof(suspinfo));
-    suspinfo.flags |= XL_SUSPEND_LIVE;
-    rc = libxl_domain_suspend(ctx, &suspinfo, domid, send_fd);
+    rc = libxl_domain_save(ctx, domid, send_fd, LIBXL_SAVE_LIVE, NULL);
     if (rc) {
         fprintf(stderr, "migration sender: libxl_domain_suspend failed"
                 " (rc=%d)\n", rc);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pW-0003j6-Qx; Thu, 17 May 2012 18:53:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pV-0003iK-0k
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:45703] by server-3.bemta-14.messagelabs.com id
	73/52-23274-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15896 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qF-Fn; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006cF-Ew;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:34 +0100
Message-ID: <1337280816-25370-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/5] libxl: domain restore: reshuffle,
	preparing for ao
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We are going to arrange that libxl, instead of calling
xc_domain_restore, calls a stub function which forks and execs a
helper program, so that restore can be asynchronous rather than
blocking the whole toolstack.

This stub function will be called libxl__xc_domain_restore.

However, its prospective call site is unsuitable for a function which
needs to make a callback, and is buried in two nested single-call-site
functions which are logically part of the domain creation procedure.

So we first abolish those single-call-site functions, integrate their
contents into domain creation in their proper temporal order, and
break out libxl__xc_domain_restore ready for its reimplementation.

No functional change - just the following reorganisation:

* Abolish libxl__domain_restore_common, as it had only one caller.
  Move its contents into (what was) domain_restore.

* There is a new stage function domcreate_rebuild_done containing what
  used to be the bulk of domcreate_bootloader_done, since
  domcreate_bootloader_done now simply starts the restore (or does the
  rebuild) and arranges to call the next stage.

* Move the contents of domain_restore into its correct place in the
  domain creation sequence.  We put it inside
  domcreate_bootloader_done, which now either calls
  libxl__xc_domain_restore which will call the new function
  domcreate_rebuild_done.

* Various general-purpose local variables (`i' etc.) and convenience
  alias variables need to be shuffled about accordingly.

* Consequently libxl__toolstack_restore needs to gain external linkage
  as it is now in a different file to its user.

In general the moved code remains almost identical.  Two returns in
what used to be libxl__domain_restore_common have been changed to set
the return value and "goto out", and the call sites for the abolished
and new functions have been adjusted.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/Makefile             |    1 +
 tools/libxl/libxl_create.c       |  245 ++++++++++++++++++++++++--------------
 tools/libxl/libxl_dom.c          |   45 +-------
 tools/libxl/libxl_internal.h     |   19 +++-
 tools/libxl/libxl_save_callout.c |   43 +++++++
 5 files changed, 213 insertions(+), 140 deletions(-)
 create mode 100644 tools/libxl/libxl_save_callout.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9b84421 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,6 +66,7 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
+			libxl_save_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..7f42737 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -20,7 +20,6 @@
 #include "libxl_internal.h"
 
 #include <xc_dom.h>
-#include <xenguest.h>
 
 void libxl_domain_config_init(libxl_domain_config *d_config)
 {
@@ -311,89 +310,6 @@ out:
     return ret;
 }
 
-static int domain_restore(libxl__gc *gc, libxl_domain_build_info *info,
-                          uint32_t domid, int fd,
-                          libxl__domain_build_state *state)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char **vments = NULL, **localents = NULL;
-    struct timeval start_time;
-    int i, ret, esave, flags;
-
-    ret = libxl__build_pre(gc, domid, info, state);
-    if (ret)
-        goto out;
-
-    ret = libxl__domain_restore_common(gc, domid, info, state, fd);
-    if (ret)
-        goto out;
-
-    gettimeofday(&start_time, NULL);
-
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        vments = libxl__calloc(gc, 7, sizeof(char *));
-        vments[0] = "rtc/timeoffset";
-        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
-        vments[2] = "image/ostype";
-        vments[3] = "hvm";
-        vments[4] = "start_time";
-        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        vments = libxl__calloc(gc, 11, sizeof(char *));
-        i = 0;
-        vments[i++] = "image/ostype";
-        vments[i++] = "linux";
-        vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
-        vments[i++] = "start_time";
-        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
-            vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
-        }
-        if (info->u.pv.cmdline) {
-            vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
-        }
-        break;
-    default:
-        ret = ERROR_INVAL;
-        goto out;
-    }
-    ret = libxl__build_post(gc, domid, info, state, vments, localents);
-    if (ret)
-        goto out;
-
-    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        ret = asprintf(&state->saved_state,
-                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
-        ret = (ret < 0) ? ERROR_FAIL : 0;
-    }
-
-out:
-    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
-    }
-
-    esave = errno;
-
-    flags = fcntl(fd, F_GETFL);
-    if (flags == -1) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
-    } else {
-        flags &= ~O_NONBLOCK;
-        if (fcntl(fd, F_SETFL, flags) == -1)
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
-                         " back to blocking mode");
-    }
-
-    errno = esave;
-    return ret;
-}
-
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
@@ -574,10 +490,13 @@ static void domcreate_bootloader_console_available(libxl__egc *egc,
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
-
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
 static void domcreate_complete(libxl__egc *egc,
@@ -660,20 +579,19 @@ static void domcreate_console_available(libxl__egc *egc,
 
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
-                                      int ret)
+                                      int rc)
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
     libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
-    libxl_ctx *const ctx = CTX;
 
-    if (ret) goto error_out;
+    if (rc) domcreate_rebuild_done(egc, dcs, rc);
 
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
@@ -684,12 +602,155 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     dcs->dmss.dm.callback = domcreate_devmodel_started;
     dcs->dmss.callback = domcreate_devmodel_started;
 
-    if ( restore_fd >= 0 ) {
-        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
+    if ( restore_fd < 0 ) {
+        rc = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        domcreate_rebuild_done(egc, dcs, rc);
+        return;
+    }
+
+    /* Restore */
+
+    rc = libxl__build_pre(gc, domid, info, state);
+    if (rc)
+        goto out;
+
+    /* read signature */
+    int hvm, pae, superpages;
+    int no_incr_generationid;
+    xc_toolstack_restore_cb *toolstack_restore = NULL;
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        hvm = 1;
+        superpages = 1;
+        pae = libxl_defbool_val(info->u.hvm.pae);
+        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
+        toolstack_restore = libxl__toolstack_restore;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        hvm = 0;
+        superpages = 0;
+        pae = 1;
+        no_incr_generationid = 0;
+        break;
+    default:
+        rc = ERROR_INVAL;
+        goto out;
+    }
+    libxl__xc_domain_restore(egc, dcs,
+                             hvm, pae, superpages, no_incr_generationid,
+                             toolstack_restore);
+    return;
+
+ out:
+    libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret, int retval, int errnoval)
+{
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char **vments = NULL, **localents = NULL;
+    struct timeval start_time;
+    int i, esave, flags;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    const int restore_fd = dcs->restore_fd;
+
+    if (ret)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "restoring domain");
+        ret = ERROR_FAIL;
+        goto out;
+    }
+
+    gettimeofday(&start_time, NULL);
+
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        vments = libxl__calloc(gc, 7, sizeof(char *));
+        vments[0] = "rtc/timeoffset";
+        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
+        vments[2] = "image/ostype";
+        vments[3] = "hvm";
+        vments[4] = "start_time";
+        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        vments = libxl__calloc(gc, 11, sizeof(char *));
+        i = 0;
+        vments[i++] = "image/ostype";
+        vments[i++] = "linux";
+        vments[i++] = "image/kernel";
+        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = "start_time";
+        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        if (info->u.pv.ramdisk.path) {
+            vments[i++] = "image/ramdisk";
+            vments[i++] = (char*) info->u.pv.ramdisk.path;
+        }
+        if (info->u.pv.cmdline) {
+            vments[i++] = "image/cmdline";
+            vments[i++] = (char*) info->u.pv.cmdline;
+        }
+        break;
+    default:
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    ret = libxl__build_post(gc, domid, info, state, vments, localents);
+    if (ret)
+        goto out;
+
+    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
+        ret = asprintf(&state->saved_state,
+                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
+        ret = (ret < 0) ? ERROR_FAIL : 0;
+    }
+
+out:
+    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
+        libxl__file_reference_unmap(&info->u.pv.kernel);
+        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+    }
+
+    esave = errno;
+
+    flags = fcntl(restore_fd, F_GETFL);
+    if (flags == -1) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
     } else {
-        ret = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        flags &= ~O_NONBLOCK;
+        if (fcntl(restore_fd, F_SETFL, flags) == -1)
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
+                         " back to blocking mode");
     }
 
+    errno = esave;
+
+    domcreate_rebuild_done(egc, dcs, ret);
+}
+
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret)
+{
+    STATE_AO_GC(dcs->ao);
+    int i;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot (re-)build domain: %d", ret);
         ret = ERROR_FAIL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 0dc1427..d29c705 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -19,7 +19,6 @@
 
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xenguest.h>
 
 #include <xen/hvm/hvm_info_table.h>
 
@@ -461,7 +460,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = data;
@@ -516,48 +515,6 @@ static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                 libxl_domain_build_info *info,
-                                 libxl__domain_build_state *state,
-                                 int fd)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    /* read signature */
-    int rc;
-    int hvm, pae, superpages;
-    struct restore_callbacks callbacks;
-    int no_incr_generationid;
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        hvm = 1;
-        superpages = 1;
-        pae = libxl_defbool_val(info->u.hvm.pae);
-        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        callbacks.toolstack_restore = libxl__toolstack_restore;
-        callbacks.data = gc;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        hvm = 0;
-        superpages = 0;
-        pae = 1;
-        no_incr_generationid = 0;
-        break;
-    default:
-        return ERROR_INVAL;
-    }
-    rc = xc_domain_restore(ctx->xch, fd, domid,
-                           state->store_port, &state->store_mfn,
-                           state->store_domid, state->console_port,
-                           &state->console_mfn, state->console_domid,
-                           hvm, pae, superpages, no_incr_generationid,
-                           &state->vm_generationid_addr, &callbacks);
-    if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "restoring domain");
-        return ERROR_FAIL;
-    }
-    return 0;
-}
-
 static int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b9afeb8..fa70a00 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -46,6 +46,7 @@
 
 #include <xenstore.h>
 #include <xenctrl.h>
+#include <xenguest.h>
 
 #include "xentoollog.h"
 
@@ -751,10 +752,8 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
                                  xs_transaction_t trans);
 
-_hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                         libxl_domain_build_info *info,
-                                         libxl__domain_build_state *state,
-                                         int fd);
+_hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+                                     uint32_t size, void *data);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
@@ -1821,6 +1820,18 @@ _hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                          libxl_domain_type type,
                                          int live, int debug);
 
+/* calls libxl__xc_domain_restore_done when done */
+_hidden void libxl__xc_domain_restore(libxl__egc *egc,
+                                      libxl__domain_create_state *dcs,
+                                      int hvm, int pae, int superpages,
+                                      int no_incr_generationid,
+                                      xc_toolstack_restore_cb*);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                           libxl__domain_create_state *dcs,
+                                           int rc, int retval, int errnoval);
 
 
 /*
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
new file mode 100644
index 0000000..bad4e30
--- /dev/null
+++ b/tools/libxl/libxl_save_callout.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h"
+
+#include "libxl_internal.h"
+
+void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
+                              int hvm, int pae, int superpages,
+                              int no_incr_generationid,
+                              xc_toolstack_restore_cb *toolstack_restore)
+/* calls libxl__xc_domain_restore_done when done */
+{
+    STATE_AO_GC(dcs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    const int restore_fd = dcs->restore_fd;
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    struct restore_callbacks callbacks;
+    callbacks.toolstack_restore = toolstack_restore;
+    callbacks.data = gc;
+
+    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
+                              state->store_port, &state->store_mfn,
+                              state->store_domid, state->console_port,
+                              &state->console_mfn, state->console_domid,
+                              hvm, pae, superpages, no_incr_generationid,
+                              &state->vm_generationid_addr, &callbacks);
+    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pW-0003j6-Qx; Thu, 17 May 2012 18:53:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pV-0003iK-0k
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:41 +0000
Received: from [193.109.254.147:45703] by server-3.bemta-14.messagelabs.com id
	73/52-23274-43945BF4; Thu, 17 May 2012 18:53:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15896 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qF-Fn; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006cF-Ew;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:34 +0100
Message-ID: <1337280816-25370-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/5] libxl: domain restore: reshuffle,
	preparing for ao
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We are going to arrange that libxl, instead of calling
xc_domain_restore, calls a stub function which forks and execs a
helper program, so that restore can be asynchronous rather than
blocking the whole toolstack.

This stub function will be called libxl__xc_domain_restore.

However, its prospective call site is unsuitable for a function which
needs to make a callback, and is buried in two nested single-call-site
functions which are logically part of the domain creation procedure.

So we first abolish those single-call-site functions, integrate their
contents into domain creation in their proper temporal order, and
break out libxl__xc_domain_restore ready for its reimplementation.

No functional change - just the following reorganisation:

* Abolish libxl__domain_restore_common, as it had only one caller.
  Move its contents into (what was) domain_restore.

* There is a new stage function domcreate_rebuild_done containing what
  used to be the bulk of domcreate_bootloader_done, since
  domcreate_bootloader_done now simply starts the restore (or does the
  rebuild) and arranges to call the next stage.

* Move the contents of domain_restore into its correct place in the
  domain creation sequence.  We put it inside
  domcreate_bootloader_done, which now either calls
  libxl__xc_domain_restore which will call the new function
  domcreate_rebuild_done.

* Various general-purpose local variables (`i' etc.) and convenience
  alias variables need to be shuffled about accordingly.

* Consequently libxl__toolstack_restore needs to gain external linkage
  as it is now in a different file to its user.

In general the moved code remains almost identical.  Two returns in
what used to be libxl__domain_restore_common have been changed to set
the return value and "goto out", and the call sites for the abolished
and new functions have been adjusted.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/Makefile             |    1 +
 tools/libxl/libxl_create.c       |  245 ++++++++++++++++++++++++--------------
 tools/libxl/libxl_dom.c          |   45 +-------
 tools/libxl/libxl_internal.h     |   19 +++-
 tools/libxl/libxl_save_callout.c |   43 +++++++
 5 files changed, 213 insertions(+), 140 deletions(-)
 create mode 100644 tools/libxl/libxl_save_callout.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9b84421 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,6 +66,7 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
+			libxl_save_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..7f42737 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -20,7 +20,6 @@
 #include "libxl_internal.h"
 
 #include <xc_dom.h>
-#include <xenguest.h>
 
 void libxl_domain_config_init(libxl_domain_config *d_config)
 {
@@ -311,89 +310,6 @@ out:
     return ret;
 }
 
-static int domain_restore(libxl__gc *gc, libxl_domain_build_info *info,
-                          uint32_t domid, int fd,
-                          libxl__domain_build_state *state)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char **vments = NULL, **localents = NULL;
-    struct timeval start_time;
-    int i, ret, esave, flags;
-
-    ret = libxl__build_pre(gc, domid, info, state);
-    if (ret)
-        goto out;
-
-    ret = libxl__domain_restore_common(gc, domid, info, state, fd);
-    if (ret)
-        goto out;
-
-    gettimeofday(&start_time, NULL);
-
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        vments = libxl__calloc(gc, 7, sizeof(char *));
-        vments[0] = "rtc/timeoffset";
-        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
-        vments[2] = "image/ostype";
-        vments[3] = "hvm";
-        vments[4] = "start_time";
-        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        vments = libxl__calloc(gc, 11, sizeof(char *));
-        i = 0;
-        vments[i++] = "image/ostype";
-        vments[i++] = "linux";
-        vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
-        vments[i++] = "start_time";
-        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
-            vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
-        }
-        if (info->u.pv.cmdline) {
-            vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
-        }
-        break;
-    default:
-        ret = ERROR_INVAL;
-        goto out;
-    }
-    ret = libxl__build_post(gc, domid, info, state, vments, localents);
-    if (ret)
-        goto out;
-
-    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        ret = asprintf(&state->saved_state,
-                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
-        ret = (ret < 0) ? ERROR_FAIL : 0;
-    }
-
-out:
-    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
-    }
-
-    esave = errno;
-
-    flags = fcntl(fd, F_GETFL);
-    if (flags == -1) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
-    } else {
-        flags &= ~O_NONBLOCK;
-        if (fcntl(fd, F_SETFL, flags) == -1)
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
-                         " back to blocking mode");
-    }
-
-    errno = esave;
-    return ret;
-}
-
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
@@ -574,10 +490,13 @@ static void domcreate_bootloader_console_available(libxl__egc *egc,
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
-
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
 static void domcreate_complete(libxl__egc *egc,
@@ -660,20 +579,19 @@ static void domcreate_console_available(libxl__egc *egc,
 
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
-                                      int ret)
+                                      int rc)
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
     libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
-    libxl_ctx *const ctx = CTX;
 
-    if (ret) goto error_out;
+    if (rc) domcreate_rebuild_done(egc, dcs, rc);
 
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
@@ -684,12 +602,155 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     dcs->dmss.dm.callback = domcreate_devmodel_started;
     dcs->dmss.callback = domcreate_devmodel_started;
 
-    if ( restore_fd >= 0 ) {
-        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
+    if ( restore_fd < 0 ) {
+        rc = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        domcreate_rebuild_done(egc, dcs, rc);
+        return;
+    }
+
+    /* Restore */
+
+    rc = libxl__build_pre(gc, domid, info, state);
+    if (rc)
+        goto out;
+
+    /* read signature */
+    int hvm, pae, superpages;
+    int no_incr_generationid;
+    xc_toolstack_restore_cb *toolstack_restore = NULL;
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        hvm = 1;
+        superpages = 1;
+        pae = libxl_defbool_val(info->u.hvm.pae);
+        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
+        toolstack_restore = libxl__toolstack_restore;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        hvm = 0;
+        superpages = 0;
+        pae = 1;
+        no_incr_generationid = 0;
+        break;
+    default:
+        rc = ERROR_INVAL;
+        goto out;
+    }
+    libxl__xc_domain_restore(egc, dcs,
+                             hvm, pae, superpages, no_incr_generationid,
+                             toolstack_restore);
+    return;
+
+ out:
+    libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret, int retval, int errnoval)
+{
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char **vments = NULL, **localents = NULL;
+    struct timeval start_time;
+    int i, esave, flags;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    const int restore_fd = dcs->restore_fd;
+
+    if (ret)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "restoring domain");
+        ret = ERROR_FAIL;
+        goto out;
+    }
+
+    gettimeofday(&start_time, NULL);
+
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        vments = libxl__calloc(gc, 7, sizeof(char *));
+        vments[0] = "rtc/timeoffset";
+        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
+        vments[2] = "image/ostype";
+        vments[3] = "hvm";
+        vments[4] = "start_time";
+        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        vments = libxl__calloc(gc, 11, sizeof(char *));
+        i = 0;
+        vments[i++] = "image/ostype";
+        vments[i++] = "linux";
+        vments[i++] = "image/kernel";
+        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = "start_time";
+        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        if (info->u.pv.ramdisk.path) {
+            vments[i++] = "image/ramdisk";
+            vments[i++] = (char*) info->u.pv.ramdisk.path;
+        }
+        if (info->u.pv.cmdline) {
+            vments[i++] = "image/cmdline";
+            vments[i++] = (char*) info->u.pv.cmdline;
+        }
+        break;
+    default:
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    ret = libxl__build_post(gc, domid, info, state, vments, localents);
+    if (ret)
+        goto out;
+
+    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
+        ret = asprintf(&state->saved_state,
+                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
+        ret = (ret < 0) ? ERROR_FAIL : 0;
+    }
+
+out:
+    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
+        libxl__file_reference_unmap(&info->u.pv.kernel);
+        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+    }
+
+    esave = errno;
+
+    flags = fcntl(restore_fd, F_GETFL);
+    if (flags == -1) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
     } else {
-        ret = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        flags &= ~O_NONBLOCK;
+        if (fcntl(restore_fd, F_SETFL, flags) == -1)
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
+                         " back to blocking mode");
     }
 
+    errno = esave;
+
+    domcreate_rebuild_done(egc, dcs, ret);
+}
+
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret)
+{
+    STATE_AO_GC(dcs->ao);
+    int i;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot (re-)build domain: %d", ret);
         ret = ERROR_FAIL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 0dc1427..d29c705 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -19,7 +19,6 @@
 
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xenguest.h>
 
 #include <xen/hvm/hvm_info_table.h>
 
@@ -461,7 +460,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = data;
@@ -516,48 +515,6 @@ static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                 libxl_domain_build_info *info,
-                                 libxl__domain_build_state *state,
-                                 int fd)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    /* read signature */
-    int rc;
-    int hvm, pae, superpages;
-    struct restore_callbacks callbacks;
-    int no_incr_generationid;
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        hvm = 1;
-        superpages = 1;
-        pae = libxl_defbool_val(info->u.hvm.pae);
-        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        callbacks.toolstack_restore = libxl__toolstack_restore;
-        callbacks.data = gc;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        hvm = 0;
-        superpages = 0;
-        pae = 1;
-        no_incr_generationid = 0;
-        break;
-    default:
-        return ERROR_INVAL;
-    }
-    rc = xc_domain_restore(ctx->xch, fd, domid,
-                           state->store_port, &state->store_mfn,
-                           state->store_domid, state->console_port,
-                           &state->console_mfn, state->console_domid,
-                           hvm, pae, superpages, no_incr_generationid,
-                           &state->vm_generationid_addr, &callbacks);
-    if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "restoring domain");
-        return ERROR_FAIL;
-    }
-    return 0;
-}
-
 static int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b9afeb8..fa70a00 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -46,6 +46,7 @@
 
 #include <xenstore.h>
 #include <xenctrl.h>
+#include <xenguest.h>
 
 #include "xentoollog.h"
 
@@ -751,10 +752,8 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
                                  xs_transaction_t trans);
 
-_hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                         libxl_domain_build_info *info,
-                                         libxl__domain_build_state *state,
-                                         int fd);
+_hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+                                     uint32_t size, void *data);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
@@ -1821,6 +1820,18 @@ _hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                          libxl_domain_type type,
                                          int live, int debug);
 
+/* calls libxl__xc_domain_restore_done when done */
+_hidden void libxl__xc_domain_restore(libxl__egc *egc,
+                                      libxl__domain_create_state *dcs,
+                                      int hvm, int pae, int superpages,
+                                      int no_incr_generationid,
+                                      xc_toolstack_restore_cb*);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                           libxl__domain_create_state *dcs,
+                                           int rc, int retval, int errnoval);
 
 
 /*
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
new file mode 100644
index 0000000..bad4e30
--- /dev/null
+++ b/tools/libxl/libxl_save_callout.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h"
+
+#include "libxl_internal.h"
+
+void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
+                              int hvm, int pae, int superpages,
+                              int no_incr_generationid,
+                              xc_toolstack_restore_cb *toolstack_restore)
+/* calls libxl__xc_domain_restore_done when done */
+{
+    STATE_AO_GC(dcs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    const int restore_fd = dcs->restore_fd;
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    struct restore_callbacks callbacks;
+    callbacks.toolstack_restore = toolstack_restore;
+    callbacks.data = gc;
+
+    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
+                              state->store_port, &state->store_mfn,
+                              state->store_domid, state->console_port,
+                              &state->console_mfn, state->console_domid,
+                              hvm, pae, superpages, no_incr_generationid,
+                              &state->vm_generationid_addr, &callbacks);
+    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pW-0003iq-32; Thu, 17 May 2012 18:53:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pU-0003iI-Ks
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:40 +0000
Received: from [193.109.254.147:7888] by server-9.bemta-14.messagelabs.com id
	43/56-05787-33945BF4; Thu, 17 May 2012 18:53:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15870 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537164"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qD-Db; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006c1-CM;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:32 +0100
Message-ID: <1337280816-25370-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/5] libxc: xc_domain_restore,
	make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Also provide typedefs for the nontrivial function callback types.

Update the one provider of this callback, in libxl.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xenguest.h  |   14 ++++++++++----
 tools/libxl/libxl_dom.c |    4 ++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/tools/libxc/xenguest.h b/tools/libxc/xenguest.h
index 6435f65..ddf9a0b 100644
--- a/tools/libxc/xenguest.h
+++ b/tools/libxc/xenguest.h
@@ -31,6 +31,10 @@
 #define X86_64_B_SIZE   64 
 #define X86_32_B_SIZE   32
 
+typedef int xc_switch_qemu_logdirty_cb(int domid, unsigned enable, void *data);
+typedef int xc_toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                                 uint32_t *len, void *data);
+
 /* callbacks provided by xc_domain_save */
 struct save_callbacks {
     int (*suspend)(void* data);
@@ -42,7 +46,7 @@ struct save_callbacks {
     int (*checkpoint)(void* data);
 
     /* Enable qemu-dm logging dirty pages to xen */
-    int (*switch_qemu_logdirty)(int domid, unsigned enable, void *data); /* HVM only */
+    xc_switch_qemu_logdirty_cb *switch_qemu_logdirty; /* HVM only */
 
     /* Save toolstack specific data
      * @param buf the buffer with the data to be saved
@@ -50,7 +54,7 @@ struct save_callbacks {
      * The callee allocates the buffer, the caller frees it (buffer must
      * be free'able).
      */
-    int (*toolstack_save)(uint32_t domid, uint8_t **buf, uint32_t *len, void *data);
+    xc_toolstack_save_cb *toolstack_save;
 
     /* to be provided as the last argument to each callback function */
     void* data;
@@ -70,11 +74,13 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter
                    unsigned long vm_generationid_addr);
 
 
+typedef int xc_toolstack_restore_cb(uint32_t domid, const uint8_t *buf,
+                                    uint32_t size, void* data);
+
 /* callbacks provided by xc_domain_restore */
 struct restore_callbacks {
     /* callback to restore toolstack specific data */
-    int (*toolstack_restore)(uint32_t domid, uint8_t *buf,
-            uint32_t size, void* data);
+    xc_toolstack_restore_cb *toolstack_restore;
 
     /* to be provided as the last argument to each callback function */
     void* data;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 6064d44..01d5595 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -461,13 +461,13 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, uint8_t *buf,
+static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = (libxl__gc *) data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
-    uint8_t *ptr = buf;
+    const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
     struct libxl__physmap_info* pi;
     char *xs_path;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 18:54:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 18:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV5pW-0003iq-32; Thu, 17 May 2012 18:53:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV5pU-0003iI-Ks
	for xen-devel@lists.xen.org; Thu, 17 May 2012 18:53:40 +0000
Received: from [193.109.254.147:7888] by server-9.bemta-14.messagelabs.com id
	43/56-05787-33945BF4; Thu, 17 May 2012 18:53:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337280819!9777539!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15870 invoked from network); 17 May 2012 18:53:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 18:53:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,611,1330905600"; d="scan'208";a="12537164"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 18:53:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 19:53:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SV5pS-0002qD-Db; Thu, 17 May 2012 18:53:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SV5pS-0006c1-CM;
	Thu, 17 May 2012 19:53:38 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 17 May 2012 19:53:32 +0100
Message-ID: <1337280816-25370-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337280816-25370-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/5] libxc: xc_domain_restore,
	make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Also provide typedefs for the nontrivial function callback types.

Update the one provider of this callback, in libxl.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xenguest.h  |   14 ++++++++++----
 tools/libxl/libxl_dom.c |    4 ++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/tools/libxc/xenguest.h b/tools/libxc/xenguest.h
index 6435f65..ddf9a0b 100644
--- a/tools/libxc/xenguest.h
+++ b/tools/libxc/xenguest.h
@@ -31,6 +31,10 @@
 #define X86_64_B_SIZE   64 
 #define X86_32_B_SIZE   32
 
+typedef int xc_switch_qemu_logdirty_cb(int domid, unsigned enable, void *data);
+typedef int xc_toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                                 uint32_t *len, void *data);
+
 /* callbacks provided by xc_domain_save */
 struct save_callbacks {
     int (*suspend)(void* data);
@@ -42,7 +46,7 @@ struct save_callbacks {
     int (*checkpoint)(void* data);
 
     /* Enable qemu-dm logging dirty pages to xen */
-    int (*switch_qemu_logdirty)(int domid, unsigned enable, void *data); /* HVM only */
+    xc_switch_qemu_logdirty_cb *switch_qemu_logdirty; /* HVM only */
 
     /* Save toolstack specific data
      * @param buf the buffer with the data to be saved
@@ -50,7 +54,7 @@ struct save_callbacks {
      * The callee allocates the buffer, the caller frees it (buffer must
      * be free'able).
      */
-    int (*toolstack_save)(uint32_t domid, uint8_t **buf, uint32_t *len, void *data);
+    xc_toolstack_save_cb *toolstack_save;
 
     /* to be provided as the last argument to each callback function */
     void* data;
@@ -70,11 +74,13 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter
                    unsigned long vm_generationid_addr);
 
 
+typedef int xc_toolstack_restore_cb(uint32_t domid, const uint8_t *buf,
+                                    uint32_t size, void* data);
+
 /* callbacks provided by xc_domain_restore */
 struct restore_callbacks {
     /* callback to restore toolstack specific data */
-    int (*toolstack_restore)(uint32_t domid, uint8_t *buf,
-            uint32_t size, void* data);
+    xc_toolstack_restore_cb *toolstack_restore;
 
     /* to be provided as the last argument to each callback function */
     void* data;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 6064d44..01d5595 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -461,13 +461,13 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, uint8_t *buf,
+static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = (libxl__gc *) data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
-    uint8_t *ptr = buf;
+    const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
     struct libxl__physmap_info* pi;
     char *xs_path;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f7-0004vI-QH; Thu, 17 May 2012 19:47:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f6-0004uk-2Y
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:47:00 +0000
Received: from [85.158.139.83:50106] by server-8.bemta-5.messagelabs.com id
	EE/80-26964-3B555BF4; Thu, 17 May 2012 19:46:59 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337284016!25020515!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6209 invoked from network); 17 May 2012 19:46:57 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:57 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklI4032081; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklG5032078;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: 07d5f26fee0a65c8145bd1028568693e45cfd25c
Message-Id: <07d5f26fee0a65c8145b.1337283958@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:45:58 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 4 V6] libxl: QMP stop/resume & refactor
	QEMU	suspend/resume/save
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283418 25200
# Node ID 07d5f26fee0a65c8145bd1028568693e45cfd25c
# Parent  f8279258e3c96baccb8338a47af068bd650b121a
libxl: QMP stop/resume & refactor QEMU suspend/resume/save

Implement QMP stop and resume functionality and split
device model save into 3 parts:
 suspend_dm(domid)
 save_dm(domid, fd)
 resume_dm(domid)

Integrate Device model suspend into suspend_common_callback

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r f8279258e3c9 -r 07d5f26fee0a tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Thu May 17 12:36:58 2012 -0700
@@ -587,6 +587,54 @@
     return rc ? 0 : 1;
 }
 
+int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int ret = 0;
+    const char *filename = libxl__device_model_savefile(gc, domid);
+
+    switch (libxl__device_model_version_running(gc, domid)) {
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
+                   "Saving device model state to %s", filename);
+        libxl__qemu_traditional_cmd(gc, domid, "save");
+        libxl__wait_for_device_model(gc, domid, "paused", NULL, NULL, NULL);
+        break;
+    }
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
+        if (libxl__qmp_stop(gc, domid))
+            return ERROR_FAIL;
+        /* Save DM state into filename */
+        ret = libxl__qmp_save(gc, domid, filename);
+        if (ret)
+            unlink(filename);
+        break;
+    default:
+        return ERROR_INVAL;
+    }
+
+    return ret;
+}
+
+int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
+{
+
+    switch (libxl__device_model_version_running(gc, domid)) {
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
+        libxl__qemu_traditional_cmd(gc, domid, "continue");
+        libxl__wait_for_device_model(gc, domid, "running", NULL, NULL, NULL);
+        break;
+    }
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
+        if (libxl__qmp_resume(gc, domid))
+            return ERROR_FAIL;
+    default:
+        return ERROR_INVAL;
+    }
+
+    return 0;
+}
+
 static int libxl__domain_suspend_common_callback(void *data)
 {
     struct suspendinfo *si = data;
@@ -616,7 +664,7 @@
             return 0;
         }
         si->guest_responded = 1;
-        return 1;
+        goto guest_suspended;
     }
 
     if (si->hvm && (!hvm_pvdrv || hvm_s_state)) {
@@ -694,7 +742,7 @@
             shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
             if (shutdown_reason == SHUTDOWN_suspend) {
                 LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest has suspended");
-                return 1;
+                goto guest_suspended;
             }
         }
 
@@ -703,6 +751,17 @@
 
     LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest did not suspend");
     return 0;
+
+ guest_suspended:
+    if (si->hvm) {
+        ret = libxl__domain_suspend_device_model(si->gc, si->domid);
+        if (ret) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "libxl__domain_suspend_device_model failed ret=%d", ret);
+            return 0;
+        }
+    }
+    return 1;
 }
 
 static inline char *save_helper(libxl__gc *gc, uint32_t domid,
@@ -885,23 +944,6 @@
     struct stat st;
     uint32_t qemu_state_len;
 
-    switch (libxl__device_model_version_running(gc, domid)) {
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
-                   "Saving device model state to %s", filename);
-        libxl__qemu_traditional_cmd(gc, domid, "save");
-        libxl__wait_for_device_model(gc, domid, "paused", NULL, NULL, NULL);
-        break;
-    }
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-        ret = libxl__qmp_save(gc, domid, (char *)filename);
-        if (ret)
-            goto out;
-        break;
-    default:
-        return ERROR_INVAL;
-    }
-
     if (stat(filename, &st) < 0)
     {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Unable to stat qemu save file\n");
diff -r f8279258e3c9 -r 07d5f26fee0a tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Thu May 17 12:36:58 2012 -0700
@@ -759,6 +759,8 @@
                                          libxl_domain_type type,
                                          int live, int debug);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
 
@@ -1276,6 +1278,10 @@
 _hidden int libxl__qmp_pci_add(libxl__gc *gc, int d, libxl_device_pci *pcidev);
 _hidden int libxl__qmp_pci_del(libxl__gc *gc, int domid,
                                libxl_device_pci *pcidev);
+/* Suspend QEMU. */
+_hidden int libxl__qmp_stop(libxl__gc *gc, int domid);
+/* Resume QEMU. */
+_hidden int libxl__qmp_resume(libxl__gc *gc, int domid);
 /* Save current QEMU state into fd. */
 _hidden int libxl__qmp_save(libxl__gc *gc, int domid, const char *filename);
 /* close and free the QMP handler */
diff -r f8279258e3c9 -r 07d5f26fee0a tools/libxl/libxl_qmp.c
--- a/tools/libxl/libxl_qmp.c	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl_qmp.c	Thu May 17 12:36:58 2012 -0700
@@ -883,6 +883,38 @@
     return rc;
 }
 
+int libxl__qmp_stop(libxl__gc *gc, int domid)
+{
+    libxl__qmp_handler *qmp = NULL;
+    int rc = 0;
+
+    qmp = libxl__qmp_initialize(gc, domid);
+    if (!qmp)
+        return ERROR_FAIL;
+
+    rc = qmp_synchronous_send(qmp, "stop", NULL,
+                              NULL, NULL, qmp->timeout);
+
+    libxl__qmp_close(qmp);
+    return rc;
+}
+
+int libxl__qmp_resume(libxl__gc *gc, int domid)
+{
+    libxl__qmp_handler *qmp = NULL;
+    int rc = 0;
+
+    qmp = libxl__qmp_initialize(gc, domid);
+    if (!qmp)
+        return ERROR_FAIL;
+
+    rc = qmp_synchronous_send(qmp, "cont", NULL,
+                              NULL, NULL, qmp->timeout);
+
+    libxl__qmp_close(qmp);
+    return rc;
+}
+
 int libxl__qmp_initializations(libxl__gc *gc, uint32_t domid,
                                const libxl_domain_config *guest_config)
 {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f7-0004vI-QH; Thu, 17 May 2012 19:47:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f6-0004uk-2Y
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:47:00 +0000
Received: from [85.158.139.83:50106] by server-8.bemta-5.messagelabs.com id
	EE/80-26964-3B555BF4; Thu, 17 May 2012 19:46:59 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337284016!25020515!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6209 invoked from network); 17 May 2012 19:46:57 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:57 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklI4032081; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklG5032078;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: 07d5f26fee0a65c8145bd1028568693e45cfd25c
Message-Id: <07d5f26fee0a65c8145b.1337283958@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:45:58 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 4 V6] libxl: QMP stop/resume & refactor
	QEMU	suspend/resume/save
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283418 25200
# Node ID 07d5f26fee0a65c8145bd1028568693e45cfd25c
# Parent  f8279258e3c96baccb8338a47af068bd650b121a
libxl: QMP stop/resume & refactor QEMU suspend/resume/save

Implement QMP stop and resume functionality and split
device model save into 3 parts:
 suspend_dm(domid)
 save_dm(domid, fd)
 resume_dm(domid)

Integrate Device model suspend into suspend_common_callback

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r f8279258e3c9 -r 07d5f26fee0a tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Thu May 17 12:36:58 2012 -0700
@@ -587,6 +587,54 @@
     return rc ? 0 : 1;
 }
 
+int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int ret = 0;
+    const char *filename = libxl__device_model_savefile(gc, domid);
+
+    switch (libxl__device_model_version_running(gc, domid)) {
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
+                   "Saving device model state to %s", filename);
+        libxl__qemu_traditional_cmd(gc, domid, "save");
+        libxl__wait_for_device_model(gc, domid, "paused", NULL, NULL, NULL);
+        break;
+    }
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
+        if (libxl__qmp_stop(gc, domid))
+            return ERROR_FAIL;
+        /* Save DM state into filename */
+        ret = libxl__qmp_save(gc, domid, filename);
+        if (ret)
+            unlink(filename);
+        break;
+    default:
+        return ERROR_INVAL;
+    }
+
+    return ret;
+}
+
+int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
+{
+
+    switch (libxl__device_model_version_running(gc, domid)) {
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
+        libxl__qemu_traditional_cmd(gc, domid, "continue");
+        libxl__wait_for_device_model(gc, domid, "running", NULL, NULL, NULL);
+        break;
+    }
+    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
+        if (libxl__qmp_resume(gc, domid))
+            return ERROR_FAIL;
+    default:
+        return ERROR_INVAL;
+    }
+
+    return 0;
+}
+
 static int libxl__domain_suspend_common_callback(void *data)
 {
     struct suspendinfo *si = data;
@@ -616,7 +664,7 @@
             return 0;
         }
         si->guest_responded = 1;
-        return 1;
+        goto guest_suspended;
     }
 
     if (si->hvm && (!hvm_pvdrv || hvm_s_state)) {
@@ -694,7 +742,7 @@
             shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
             if (shutdown_reason == SHUTDOWN_suspend) {
                 LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest has suspended");
-                return 1;
+                goto guest_suspended;
             }
         }
 
@@ -703,6 +751,17 @@
 
     LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest did not suspend");
     return 0;
+
+ guest_suspended:
+    if (si->hvm) {
+        ret = libxl__domain_suspend_device_model(si->gc, si->domid);
+        if (ret) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "libxl__domain_suspend_device_model failed ret=%d", ret);
+            return 0;
+        }
+    }
+    return 1;
 }
 
 static inline char *save_helper(libxl__gc *gc, uint32_t domid,
@@ -885,23 +944,6 @@
     struct stat st;
     uint32_t qemu_state_len;
 
-    switch (libxl__device_model_version_running(gc, domid)) {
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
-                   "Saving device model state to %s", filename);
-        libxl__qemu_traditional_cmd(gc, domid, "save");
-        libxl__wait_for_device_model(gc, domid, "paused", NULL, NULL, NULL);
-        break;
-    }
-    case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-        ret = libxl__qmp_save(gc, domid, (char *)filename);
-        if (ret)
-            goto out;
-        break;
-    default:
-        return ERROR_INVAL;
-    }
-
     if (stat(filename, &st) < 0)
     {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Unable to stat qemu save file\n");
diff -r f8279258e3c9 -r 07d5f26fee0a tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Thu May 17 12:36:58 2012 -0700
@@ -759,6 +759,8 @@
                                          libxl_domain_type type,
                                          int live, int debug);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
 
@@ -1276,6 +1278,10 @@
 _hidden int libxl__qmp_pci_add(libxl__gc *gc, int d, libxl_device_pci *pcidev);
 _hidden int libxl__qmp_pci_del(libxl__gc *gc, int domid,
                                libxl_device_pci *pcidev);
+/* Suspend QEMU. */
+_hidden int libxl__qmp_stop(libxl__gc *gc, int domid);
+/* Resume QEMU. */
+_hidden int libxl__qmp_resume(libxl__gc *gc, int domid);
 /* Save current QEMU state into fd. */
 _hidden int libxl__qmp_save(libxl__gc *gc, int domid, const char *filename);
 /* close and free the QMP handler */
diff -r f8279258e3c9 -r 07d5f26fee0a tools/libxl/libxl_qmp.c
--- a/tools/libxl/libxl_qmp.c	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl_qmp.c	Thu May 17 12:36:58 2012 -0700
@@ -883,6 +883,38 @@
     return rc;
 }
 
+int libxl__qmp_stop(libxl__gc *gc, int domid)
+{
+    libxl__qmp_handler *qmp = NULL;
+    int rc = 0;
+
+    qmp = libxl__qmp_initialize(gc, domid);
+    if (!qmp)
+        return ERROR_FAIL;
+
+    rc = qmp_synchronous_send(qmp, "stop", NULL,
+                              NULL, NULL, qmp->timeout);
+
+    libxl__qmp_close(qmp);
+    return rc;
+}
+
+int libxl__qmp_resume(libxl__gc *gc, int domid)
+{
+    libxl__qmp_handler *qmp = NULL;
+    int rc = 0;
+
+    qmp = libxl__qmp_initialize(gc, domid);
+    if (!qmp)
+        return ERROR_FAIL;
+
+    rc = qmp_synchronous_send(qmp, "cont", NULL,
+                              NULL, NULL, qmp->timeout);
+
+    libxl__qmp_close(qmp);
+    return rc;
+}
+
 int libxl__qmp_initializations(libxl__gc *gc, uint32_t domid,
                                const libxl_domain_config *guest_config)
 {

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6fE-0004wG-8A; Thu, 17 May 2012 19:47:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6fD-0004wB-65
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:47:07 +0000
Received: from [85.158.143.99:9013] by server-2.bemta-4.messagelabs.com id
	FB/65-12211-AB555BF4; Thu, 17 May 2012 19:47:06 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337284014!23214741!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20218 invoked from network); 17 May 2012 19:46:56 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:56 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklX1032088; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklHj032085;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: d5d5d596044526b59f6a3e6fd81f6171c90efe6e
Message-Id: <d5d5d596044526b59f6a.1337283959@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:45:59 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 4 V6] libxl: support suspend_cancel in
	domain_resume
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283420 25200
# Node ID d5d5d596044526b59f6a3e6fd81f6171c90efe6e
# Parent  07d5f26fee0a65c8145bd1028568693e45cfd25c
libxl: support suspend_cancel in domain_resume

Add an extra parameter to libxl_domain_resume indicating
if the caller wishes to use the SUSPEND_CANCEL style
resume instead of the normal resume.

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 07d5f26fee0a -r d5d5d5960445 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Thu May 17 12:36:58 2012 -0700
+++ b/tools/libxl/libxl.c	Thu May 17 12:37:00 2012 -0700
@@ -374,24 +374,29 @@
     return rc;
 }
 
-int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid)
+int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel)
 {
     GC_INIT(ctx);
     int rc = 0;
 
-    if (LIBXL__DOMAIN_IS_TYPE(gc,  domid, HVM)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Called domain_resume on "
-                "non-cooperative hvm domain %u", domid);
-        rc = ERROR_NI;
-        goto out;
-    }
-    if (xc_domain_resume(ctx->xch, domid, 0)) {
+    if (xc_domain_resume(ctx->xch, domid, suspend_cancel)) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
                         "xc_domain_resume failed for domain %u",
                         domid);
         rc = ERROR_FAIL;
         goto out;
     }
+
+    if (LIBXL__DOMAIN_IS_TYPE(gc,  domid, HVM)) {
+        rc = libxl__domain_resume_device_model(gc, domid);
+        if (rc) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "failed to resume device model for domain %u:%d",
+                       domid, rc);
+            goto out;
+        }
+    }
+
     if (!xs_resume_domain(ctx->xsh, domid)) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
                         "xs_resume_domain failed for domain %u",
diff -r 07d5f26fee0a -r d5d5d5960445 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Thu May 17 12:36:58 2012 -0700
+++ b/tools/libxl/libxl.h	Thu May 17 12:37:00 2012 -0700
@@ -527,7 +527,12 @@
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                           uint32_t domid, int fd);
-int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
+
+/* @param suspend_cancel [from xenctrl.h:xc_domain_resume( @param fast )]
+ *   If this parameter is true, use co-operative resume. The guest
+ *   must support this.
+ */
+int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
diff -r 07d5f26fee0a -r d5d5d5960445 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:36:58 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:00 2012 -0700
@@ -2889,7 +2889,7 @@
         if (common_domname) {
             libxl_domain_rename(ctx, domid, away_domname, common_domname);
         }
-        rc = libxl_domain_resume(ctx, domid);
+        rc = libxl_domain_resume(ctx, domid, 0);
         if (!rc) fprintf(stderr, "migration sender: Resumed OK.\n");
 
         fprintf(stderr, "Migration failed due to problems at target.\n");
@@ -2911,7 +2911,7 @@
     close(send_fd);
     migration_child_report(child, recv_fd);
     fprintf(stderr, "Migration failed, resuming at sender.\n");
-    libxl_domain_resume(ctx, domid);
+    libxl_domain_resume(ctx, domid, 0);
     exit(-ERROR_FAIL);
 
  failed_badly:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6fE-0004wG-8A; Thu, 17 May 2012 19:47:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6fD-0004wB-65
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:47:07 +0000
Received: from [85.158.143.99:9013] by server-2.bemta-4.messagelabs.com id
	FB/65-12211-AB555BF4; Thu, 17 May 2012 19:47:06 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337284014!23214741!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20218 invoked from network); 17 May 2012 19:46:56 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:56 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklX1032088; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklHj032085;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: d5d5d596044526b59f6a3e6fd81f6171c90efe6e
Message-Id: <d5d5d596044526b59f6a.1337283959@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:45:59 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 4 V6] libxl: support suspend_cancel in
	domain_resume
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283420 25200
# Node ID d5d5d596044526b59f6a3e6fd81f6171c90efe6e
# Parent  07d5f26fee0a65c8145bd1028568693e45cfd25c
libxl: support suspend_cancel in domain_resume

Add an extra parameter to libxl_domain_resume indicating
if the caller wishes to use the SUSPEND_CANCEL style
resume instead of the normal resume.

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 07d5f26fee0a -r d5d5d5960445 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Thu May 17 12:36:58 2012 -0700
+++ b/tools/libxl/libxl.c	Thu May 17 12:37:00 2012 -0700
@@ -374,24 +374,29 @@
     return rc;
 }
 
-int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid)
+int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel)
 {
     GC_INIT(ctx);
     int rc = 0;
 
-    if (LIBXL__DOMAIN_IS_TYPE(gc,  domid, HVM)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Called domain_resume on "
-                "non-cooperative hvm domain %u", domid);
-        rc = ERROR_NI;
-        goto out;
-    }
-    if (xc_domain_resume(ctx->xch, domid, 0)) {
+    if (xc_domain_resume(ctx->xch, domid, suspend_cancel)) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
                         "xc_domain_resume failed for domain %u",
                         domid);
         rc = ERROR_FAIL;
         goto out;
     }
+
+    if (LIBXL__DOMAIN_IS_TYPE(gc,  domid, HVM)) {
+        rc = libxl__domain_resume_device_model(gc, domid);
+        if (rc) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "failed to resume device model for domain %u:%d",
+                       domid, rc);
+            goto out;
+        }
+    }
+
     if (!xs_resume_domain(ctx->xsh, domid)) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
                         "xs_resume_domain failed for domain %u",
diff -r 07d5f26fee0a -r d5d5d5960445 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Thu May 17 12:36:58 2012 -0700
+++ b/tools/libxl/libxl.h	Thu May 17 12:37:00 2012 -0700
@@ -527,7 +527,12 @@
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                           uint32_t domid, int fd);
-int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
+
+/* @param suspend_cancel [from xenctrl.h:xc_domain_resume( @param fast )]
+ *   If this parameter is true, use co-operative resume. The guest
+ *   must support this.
+ */
+int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
diff -r 07d5f26fee0a -r d5d5d5960445 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:36:58 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:00 2012 -0700
@@ -2889,7 +2889,7 @@
         if (common_domname) {
             libxl_domain_rename(ctx, domid, away_domname, common_domname);
         }
-        rc = libxl_domain_resume(ctx, domid);
+        rc = libxl_domain_resume(ctx, domid, 0);
         if (!rc) fprintf(stderr, "migration sender: Resumed OK.\n");
 
         fprintf(stderr, "Migration failed due to problems at target.\n");
@@ -2911,7 +2911,7 @@
     close(send_fd);
     migration_child_report(child, recv_fd);
     fprintf(stderr, "Migration failed, resuming at sender.\n");
-    libxl_domain_resume(ctx, domid);
+    libxl_domain_resume(ctx, domid, 0);
     exit(-ERROR_FAIL);
 
  failed_badly:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f6-0004up-G5; Thu, 17 May 2012 19:47:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f4-0004uV-EO
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:46:58 +0000
Received: from [193.109.254.147:42897] by server-2.bemta-14.messagelabs.com id
	81/7C-19409-1B555BF4; Thu, 17 May 2012 19:46:57 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337284015!2981298!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15583 invoked from network); 17 May 2012 19:46:56 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:56 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklrW032102; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklDr032099;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: 24c462a07e167e4ce35a22197dbef74853b08359
Message-Id: <24c462a07e167e4ce35a.1337283961@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:46:01 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 4 of 4 V6] libxl: resume instead of unpause on
	xl save -c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283425 25200
# Node ID 24c462a07e167e4ce35a22197dbef74853b08359
# Parent  b633a458bf3a931ad610363a8ce55b2970f7da65
libxl: resume instead of unpause on xl save -c

The guest is "suspended" via libxl_domain_suspend when taking a snapshot.
So call libxl_domain_resume instead of libxl_domain_unpause, when taking
a checkpoint of the domain (using xl save -c).

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r b633a458bf3a -r 24c462a07e16 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:02 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:05 2012 -0700
@@ -2663,7 +2663,7 @@
     close(fd);
 
     if (checkpoint)
-        libxl_domain_unpause(ctx, domid);
+        libxl_domain_resume(ctx, domid, 1);
     else
         libxl_domain_destroy(ctx, domid);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f6-0004up-G5; Thu, 17 May 2012 19:47:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f4-0004uV-EO
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:46:58 +0000
Received: from [193.109.254.147:42897] by server-2.bemta-14.messagelabs.com id
	81/7C-19409-1B555BF4; Thu, 17 May 2012 19:46:57 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337284015!2981298!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15583 invoked from network); 17 May 2012 19:46:56 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:56 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklrW032102; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklDr032099;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: 24c462a07e167e4ce35a22197dbef74853b08359
Message-Id: <24c462a07e167e4ce35a.1337283961@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:46:01 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 4 of 4 V6] libxl: resume instead of unpause on
	xl save -c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283425 25200
# Node ID 24c462a07e167e4ce35a22197dbef74853b08359
# Parent  b633a458bf3a931ad610363a8ce55b2970f7da65
libxl: resume instead of unpause on xl save -c

The guest is "suspended" via libxl_domain_suspend when taking a snapshot.
So call libxl_domain_resume instead of libxl_domain_unpause, when taking
a checkpoint of the domain (using xl save -c).

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r b633a458bf3a -r 24c462a07e16 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:02 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:05 2012 -0700
@@ -2663,7 +2663,7 @@
     close(fd);
 
     if (checkpoint)
-        libxl_domain_unpause(ctx, domid);
+        libxl_domain_resume(ctx, domid, 1);
     else
         libxl_domain_destroy(ctx, domid);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f7-0004v3-8N; Thu, 17 May 2012 19:47:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f4-0004uX-Vq
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:46:59 +0000
Received: from [85.158.138.51:24050] by server-7.bemta-3.messagelabs.com id
	96/27-03078-2B555BF4; Thu, 17 May 2012 19:46:58 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337284015!27593717!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13473 invoked from network); 17 May 2012 19:46:57 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 19:46:57 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklnH032074; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJkl49032071;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
Message-Id: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:45:57 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series refactors the suspend/resume code to minimize
Remus specific code in libxl. There are a couple of trivial bug
fixes too.

Changes in V6:
 Rebase to current tip.

Changes in V5:
 This series is just a resend, rebasing the patches to the latest tip. It depends on 
 Stefano's "V5: libxl: save/restore qemu physmap".

Changes in V4:
1. Incorporated Ian Campbell's comments on the suspend_cancel support patch.


Changes in V3:

1. rebase patches based on Stefano's patches
  use qmp_save instead of qmp_migrate
2. check if qemu moves to "running" state after resuming the device model
3. Moved comments on the co-operative suspend to libxl.h


Changes in V2:
1. migrate code is refactored as save_config , create child,
  do_preamble instead of coaelscing them all into one single
  function.
2. More documentation for suspend_cancel parameter in domain_resume
3. Minor nits

Shriram

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f7-0004v3-8N; Thu, 17 May 2012 19:47:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f4-0004uX-Vq
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:46:59 +0000
Received: from [85.158.138.51:24050] by server-7.bemta-3.messagelabs.com id
	96/27-03078-2B555BF4; Thu, 17 May 2012 19:46:58 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337284015!27593717!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13473 invoked from network); 17 May 2012 19:46:57 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 19:46:57 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklnH032074; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJkl49032071;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
Message-Id: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:45:57 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series refactors the suspend/resume code to minimize
Remus specific code in libxl. There are a couple of trivial bug
fixes too.

Changes in V6:
 Rebase to current tip.

Changes in V5:
 This series is just a resend, rebasing the patches to the latest tip. It depends on 
 Stefano's "V5: libxl: save/restore qemu physmap".

Changes in V4:
1. Incorporated Ian Campbell's comments on the suspend_cancel support patch.


Changes in V3:

1. rebase patches based on Stefano's patches
  use qmp_save instead of qmp_migrate
2. check if qemu moves to "running" state after resuming the device model
3. Moved comments on the co-operative suspend to libxl.h


Changes in V2:
1. migrate code is refactored as save_config , create child,
  do_preamble instead of coaelscing them all into one single
  function.
2. More documentation for suspend_cancel parameter in domain_resume
3. Minor nits

Shriram

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f6-0004uw-SF; Thu, 17 May 2012 19:47:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f4-0004uW-J2
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:46:58 +0000
Received: from [85.158.143.35:56615] by server-2.bemta-4.messagelabs.com id
	F0/45-12211-1B555BF4; Thu, 17 May 2012 19:46:57 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337284015!16029569!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23110 invoked from network); 17 May 2012 19:46:56 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:56 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklRh032095; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklO5032092;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: b633a458bf3a931ad610363a8ce55b2970f7da65
Message-Id: <b633a458bf3a931ad610.1337283960@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:46:00 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 3 of 4 V6] libxl: refactor migrate_domain and
	generalize	migrate_receive
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283422 25200
# Node ID b633a458bf3a931ad610363a8ce55b2970f7da65
# Parent  d5d5d596044526b59f6a3e6fd81f6171c90efe6e
libxl: refactor migrate_domain and generalize migrate_receive

Refactor some tasks like establishing the migration channel,
initial migration protocol exchange into separate functions,
to facilitate re-use, when remus support is introduced. Also,
make migrate_receive generic (instead of resorting to stdin and
stdout as the file descriptors for communication).

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r d5d5d5960445 -r b633a458bf3a tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:00 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:02 2012 -0700
@@ -2670,6 +2670,42 @@
     exit(0);
 }
 
+static pid_t create_migration_child(const char *rune, int *send_fd,
+                                        int *recv_fd)
+{
+    int sendpipe[2], recvpipe[2];
+    pid_t child = -1;
+
+    if (!rune || !send_fd || !recv_fd)
+        return -1;
+
+    MUST( libxl_pipe(ctx, sendpipe) );
+    MUST( libxl_pipe(ctx, recvpipe) );
+
+    child = xl_fork(ctx);
+
+    if (!child) {
+        dup2(sendpipe[0], 0);
+        dup2(recvpipe[1], 1);
+        close(sendpipe[0]); close(sendpipe[1]);
+        close(recvpipe[0]); close(recvpipe[1]);
+        execlp("sh","sh","-c",rune,(char*)0);
+        perror("failed to exec sh");
+        exit(-1);
+    }
+
+    close(sendpipe[0]);
+    close(recvpipe[1]);
+    *send_fd = sendpipe[1];
+    *recv_fd = recvpipe[0];
+
+    /* if receiver dies, we get an error and can clean up
+       rather than just dying */
+    signal(SIGPIPE, SIG_IGN);
+
+    return child;
+}
+
 static int migrate_read_fixedmessage(int fd, const void *msg, int msgsz,
                                      const char *what, const char *rune) {
     char buf[msgsz];
@@ -2755,52 +2791,17 @@
     migration_child = 0;
 }
 
-static void migrate_domain(const char *domain_spec, const char *rune,
-                           const char *override_config_file)
+static void migrate_do_preamble(int send_fd, int recv_fd, pid_t child,
+                                uint8_t *config_data, int config_len,
+                                const char *rune)
 {
-    pid_t child = -1;
-    int rc;
-    int sendpipe[2], recvpipe[2];
-    int send_fd, recv_fd;
-    libxl_domain_suspend_info suspinfo;
-    char *away_domname;
-    char rc_buf;
-    uint8_t *config_data;
-    int config_len;
-
-    save_domain_core_begin(domain_spec, override_config_file,
-                           &config_data, &config_len);
-
-    if (!config_len) {
-        fprintf(stderr, "No config file stored for running domain and "
-                "none supplied - cannot migrate.\n");
+    int rc = 0;
+
+    if (send_fd < 0 || recv_fd < 0) {
+        fprintf(stderr, "migrate_do_preamble: invalid file descriptors\n");
         exit(1);
     }
 
-    MUST( libxl_pipe(ctx, sendpipe) );
-    MUST( libxl_pipe(ctx, recvpipe) );
-
-    child = xl_fork(ctx);
-
-    if (!child) {
-        dup2(sendpipe[0], 0);
-        dup2(recvpipe[1], 1);
-        close(sendpipe[0]); close(sendpipe[1]);
-        close(recvpipe[0]); close(recvpipe[1]);
-        execlp("sh","sh","-c",rune,(char*)0);
-        perror("failed to exec sh");
-        exit(-1);
-    }
-
-    close(sendpipe[0]);
-    close(recvpipe[1]);
-    send_fd = sendpipe[1];
-    recv_fd = recvpipe[0];
-
-    signal(SIGPIPE, SIG_IGN);
-    /* if receiver dies, we get an error and can clean up
-       rather than just dying */
-
     rc = migrate_read_fixedmessage(recv_fd, migrate_receiver_banner,
                                    sizeof(migrate_receiver_banner)-1,
                                    "banner", rune);
@@ -2813,6 +2814,34 @@
     save_domain_core_writeconfig(send_fd, "migration stream",
                                  config_data, config_len);
 
+}
+
+static void migrate_domain(const char *domain_spec, const char *rune,
+                           const char *override_config_file)
+{
+    pid_t child = -1;
+    int rc;
+    int send_fd = -1, recv_fd = -1;
+    libxl_domain_suspend_info suspinfo;
+    char *away_domname;
+    char rc_buf;
+    uint8_t *config_data;
+    int config_len;
+
+    save_domain_core_begin(domain_spec, override_config_file,
+                           &config_data, &config_len);
+
+    if (!config_len) {
+        fprintf(stderr, "No config file stored for running domain and "
+                "none supplied - cannot migrate.\n");
+        exit(1);
+    }
+
+    child = create_migration_child(rune, &send_fd, &recv_fd);
+
+    migrate_do_preamble(send_fd, recv_fd, child, config_data, config_len,
+                        rune);
+
     xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
 
     memset(&suspinfo, 0, sizeof(suspinfo));
@@ -2936,7 +2965,8 @@
     if (rc) { fprintf(stderr,"core dump failed (rc=%d)\n",rc);exit(-1); }
 }
 
-static void migrate_receive(int debug, int daemonize, int monitor)
+static void migrate_receive(int debug, int daemonize, int monitor,
+                            int send_fd, int recv_fd)
 {
     int rc, rc2;
     char rc_buf;
@@ -2948,7 +2978,7 @@
 
     fprintf(stderr, "migration target: Ready to receive domain.\n");
 
-    CHK_ERRNO( libxl_write_exactly(ctx, 1,
+    CHK_ERRNO( libxl_write_exactly(ctx, send_fd,
                                    migrate_receiver_banner,
                                    sizeof(migrate_receiver_banner)-1,
                                    "migration ack stream",
@@ -2960,7 +2990,7 @@
     dom_info.monitor = monitor;
     dom_info.paused = 1;
     dom_info.restore_file = "incoming migration stream";
-    dom_info.migrate_fd = 0; /* stdin */
+    dom_info.migrate_fd = recv_fd;
     dom_info.migration_domname_r = &migration_domname;
     dom_info.incr_generationid = 0;
 
@@ -2974,13 +3004,13 @@
     fprintf(stderr, "migration target: Transfer complete,"
             " requesting permission to start domain.\n");
 
-    rc = libxl_write_exactly(ctx, 1,
+    rc = libxl_write_exactly(ctx, send_fd,
                              migrate_receiver_ready,
                              sizeof(migrate_receiver_ready),
                              "migration ack stream", "ready message");
     if (rc) exit(-rc);
 
-    rc = migrate_read_fixedmessage(0, migrate_permission_to_go,
+    rc = migrate_read_fixedmessage(recv_fd, migrate_permission_to_go,
                                    sizeof(migrate_permission_to_go),
                                    "GO message", 0);
     if (rc) goto perhaps_destroy_notify_rc;
@@ -2999,7 +3029,7 @@
     rc = 0;
 
  perhaps_destroy_notify_rc:
-    rc2 = libxl_write_exactly(ctx, 1,
+    rc2 = libxl_write_exactly(ctx, send_fd,
                               migrate_report, sizeof(migrate_report),
                               "migration ack stream",
                               "success/failure report");
@@ -3007,7 +3037,7 @@
 
     rc_buf = -rc;
     assert(!!rc_buf == !!rc);
-    rc2 = libxl_write_exactly(ctx, 1, &rc_buf, 1,
+    rc2 = libxl_write_exactly(ctx, send_fd, &rc_buf, 1,
                               "migration ack stream",
                               "success/failure code");
     if (rc2) exit(-ERROR_BADFAIL);
@@ -3025,7 +3055,7 @@
         fprintf(stderr, "migration target: Cleanup OK, granting sender"
                 " permission to resume.\n");
 
-        rc2 = libxl_write_exactly(ctx, 1,
+        rc2 = libxl_write_exactly(ctx, send_fd,
                                   migrate_permission_to_go,
                                   sizeof(migrate_permission_to_go),
                                   "migration ack stream",
@@ -3122,7 +3152,9 @@
         help("migrate-receive");
         return 2;
     }
-    migrate_receive(debug, daemonize, monitor);
+    migrate_receive(debug, daemonize, monitor,
+                    STDOUT_FILENO, STDIN_FILENO);
+
     return 0;
 }
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6f6-0004uw-SF; Thu, 17 May 2012 19:47:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6f4-0004uW-J2
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:46:58 +0000
Received: from [85.158.143.35:56615] by server-2.bemta-4.messagelabs.com id
	F0/45-12211-1B555BF4; Thu, 17 May 2012 19:46:57 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337284015!16029569!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23110 invoked from network); 17 May 2012 19:46:56 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:46:56 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJklRh032095; Thu, 17 May 2012 12:46:47 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJklO5032092;
	Thu, 17 May 2012 12:46:47 -0700
MIME-Version: 1.0
X-Mercurial-Node: b633a458bf3a931ad610363a8ce55b2970f7da65
Message-Id: <b633a458bf3a931ad610.1337283960@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:46:00 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 3 of 4 V6] libxl: refactor migrate_domain and
	generalize	migrate_receive
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283422 25200
# Node ID b633a458bf3a931ad610363a8ce55b2970f7da65
# Parent  d5d5d596044526b59f6a3e6fd81f6171c90efe6e
libxl: refactor migrate_domain and generalize migrate_receive

Refactor some tasks like establishing the migration channel,
initial migration protocol exchange into separate functions,
to facilitate re-use, when remus support is introduced. Also,
make migrate_receive generic (instead of resorting to stdin and
stdout as the file descriptors for communication).

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r d5d5d5960445 -r b633a458bf3a tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:00 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:02 2012 -0700
@@ -2670,6 +2670,42 @@
     exit(0);
 }
 
+static pid_t create_migration_child(const char *rune, int *send_fd,
+                                        int *recv_fd)
+{
+    int sendpipe[2], recvpipe[2];
+    pid_t child = -1;
+
+    if (!rune || !send_fd || !recv_fd)
+        return -1;
+
+    MUST( libxl_pipe(ctx, sendpipe) );
+    MUST( libxl_pipe(ctx, recvpipe) );
+
+    child = xl_fork(ctx);
+
+    if (!child) {
+        dup2(sendpipe[0], 0);
+        dup2(recvpipe[1], 1);
+        close(sendpipe[0]); close(sendpipe[1]);
+        close(recvpipe[0]); close(recvpipe[1]);
+        execlp("sh","sh","-c",rune,(char*)0);
+        perror("failed to exec sh");
+        exit(-1);
+    }
+
+    close(sendpipe[0]);
+    close(recvpipe[1]);
+    *send_fd = sendpipe[1];
+    *recv_fd = recvpipe[0];
+
+    /* if receiver dies, we get an error and can clean up
+       rather than just dying */
+    signal(SIGPIPE, SIG_IGN);
+
+    return child;
+}
+
 static int migrate_read_fixedmessage(int fd, const void *msg, int msgsz,
                                      const char *what, const char *rune) {
     char buf[msgsz];
@@ -2755,52 +2791,17 @@
     migration_child = 0;
 }
 
-static void migrate_domain(const char *domain_spec, const char *rune,
-                           const char *override_config_file)
+static void migrate_do_preamble(int send_fd, int recv_fd, pid_t child,
+                                uint8_t *config_data, int config_len,
+                                const char *rune)
 {
-    pid_t child = -1;
-    int rc;
-    int sendpipe[2], recvpipe[2];
-    int send_fd, recv_fd;
-    libxl_domain_suspend_info suspinfo;
-    char *away_domname;
-    char rc_buf;
-    uint8_t *config_data;
-    int config_len;
-
-    save_domain_core_begin(domain_spec, override_config_file,
-                           &config_data, &config_len);
-
-    if (!config_len) {
-        fprintf(stderr, "No config file stored for running domain and "
-                "none supplied - cannot migrate.\n");
+    int rc = 0;
+
+    if (send_fd < 0 || recv_fd < 0) {
+        fprintf(stderr, "migrate_do_preamble: invalid file descriptors\n");
         exit(1);
     }
 
-    MUST( libxl_pipe(ctx, sendpipe) );
-    MUST( libxl_pipe(ctx, recvpipe) );
-
-    child = xl_fork(ctx);
-
-    if (!child) {
-        dup2(sendpipe[0], 0);
-        dup2(recvpipe[1], 1);
-        close(sendpipe[0]); close(sendpipe[1]);
-        close(recvpipe[0]); close(recvpipe[1]);
-        execlp("sh","sh","-c",rune,(char*)0);
-        perror("failed to exec sh");
-        exit(-1);
-    }
-
-    close(sendpipe[0]);
-    close(recvpipe[1]);
-    send_fd = sendpipe[1];
-    recv_fd = recvpipe[0];
-
-    signal(SIGPIPE, SIG_IGN);
-    /* if receiver dies, we get an error and can clean up
-       rather than just dying */
-
     rc = migrate_read_fixedmessage(recv_fd, migrate_receiver_banner,
                                    sizeof(migrate_receiver_banner)-1,
                                    "banner", rune);
@@ -2813,6 +2814,34 @@
     save_domain_core_writeconfig(send_fd, "migration stream",
                                  config_data, config_len);
 
+}
+
+static void migrate_domain(const char *domain_spec, const char *rune,
+                           const char *override_config_file)
+{
+    pid_t child = -1;
+    int rc;
+    int send_fd = -1, recv_fd = -1;
+    libxl_domain_suspend_info suspinfo;
+    char *away_domname;
+    char rc_buf;
+    uint8_t *config_data;
+    int config_len;
+
+    save_domain_core_begin(domain_spec, override_config_file,
+                           &config_data, &config_len);
+
+    if (!config_len) {
+        fprintf(stderr, "No config file stored for running domain and "
+                "none supplied - cannot migrate.\n");
+        exit(1);
+    }
+
+    child = create_migration_child(rune, &send_fd, &recv_fd);
+
+    migrate_do_preamble(send_fd, recv_fd, child, config_data, config_len,
+                        rune);
+
     xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
 
     memset(&suspinfo, 0, sizeof(suspinfo));
@@ -2936,7 +2965,8 @@
     if (rc) { fprintf(stderr,"core dump failed (rc=%d)\n",rc);exit(-1); }
 }
 
-static void migrate_receive(int debug, int daemonize, int monitor)
+static void migrate_receive(int debug, int daemonize, int monitor,
+                            int send_fd, int recv_fd)
 {
     int rc, rc2;
     char rc_buf;
@@ -2948,7 +2978,7 @@
 
     fprintf(stderr, "migration target: Ready to receive domain.\n");
 
-    CHK_ERRNO( libxl_write_exactly(ctx, 1,
+    CHK_ERRNO( libxl_write_exactly(ctx, send_fd,
                                    migrate_receiver_banner,
                                    sizeof(migrate_receiver_banner)-1,
                                    "migration ack stream",
@@ -2960,7 +2990,7 @@
     dom_info.monitor = monitor;
     dom_info.paused = 1;
     dom_info.restore_file = "incoming migration stream";
-    dom_info.migrate_fd = 0; /* stdin */
+    dom_info.migrate_fd = recv_fd;
     dom_info.migration_domname_r = &migration_domname;
     dom_info.incr_generationid = 0;
 
@@ -2974,13 +3004,13 @@
     fprintf(stderr, "migration target: Transfer complete,"
             " requesting permission to start domain.\n");
 
-    rc = libxl_write_exactly(ctx, 1,
+    rc = libxl_write_exactly(ctx, send_fd,
                              migrate_receiver_ready,
                              sizeof(migrate_receiver_ready),
                              "migration ack stream", "ready message");
     if (rc) exit(-rc);
 
-    rc = migrate_read_fixedmessage(0, migrate_permission_to_go,
+    rc = migrate_read_fixedmessage(recv_fd, migrate_permission_to_go,
                                    sizeof(migrate_permission_to_go),
                                    "GO message", 0);
     if (rc) goto perhaps_destroy_notify_rc;
@@ -2999,7 +3029,7 @@
     rc = 0;
 
  perhaps_destroy_notify_rc:
-    rc2 = libxl_write_exactly(ctx, 1,
+    rc2 = libxl_write_exactly(ctx, send_fd,
                               migrate_report, sizeof(migrate_report),
                               "migration ack stream",
                               "success/failure report");
@@ -3007,7 +3037,7 @@
 
     rc_buf = -rc;
     assert(!!rc_buf == !!rc);
-    rc2 = libxl_write_exactly(ctx, 1, &rc_buf, 1,
+    rc2 = libxl_write_exactly(ctx, send_fd, &rc_buf, 1,
                               "migration ack stream",
                               "success/failure code");
     if (rc2) exit(-ERROR_BADFAIL);
@@ -3025,7 +3055,7 @@
         fprintf(stderr, "migration target: Cleanup OK, granting sender"
                 " permission to resume.\n");
 
-        rc2 = libxl_write_exactly(ctx, 1,
+        rc2 = libxl_write_exactly(ctx, send_fd,
                                   migrate_permission_to_go,
                                   sizeof(migrate_permission_to_go),
                                   "migration ack stream",
@@ -3122,7 +3152,9 @@
         help("migrate-receive");
         return 2;
     }
-    migrate_receive(debug, daemonize, monitor);
+    migrate_receive(debug, daemonize, monitor,
+                    STDOUT_FILENO, STDIN_FILENO);
+
     return 0;
 }
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:51:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6it-0005Sr-8p; Thu, 17 May 2012 19:50:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6ir-0005SM-9e
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:50:53 +0000
Received: from [85.158.143.35:15477] by server-3.bemta-4.messagelabs.com id
	0B/1D-05853-C9655BF4; Thu, 17 May 2012 19:50:52 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337284249!12766276!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14071 invoked from network); 17 May 2012 19:50:51 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:50:51 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJojPA032184; Thu, 17 May 2012 12:50:45 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJojEl032181;
	Thu, 17 May 2012 12:50:45 -0700
MIME-Version: 1.0
X-Mercurial-Node: 496ff6ce5bb63a2f034d2a861f34cfa8cbf06552
Message-Id: <496ff6ce5bb63a2f034d.1337284132@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:48:52 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 2 V6] libxl: Remus -
	suspend/postflush/commit callbacks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283427 25200
# Node ID 496ff6ce5bb63a2f034d2a861f34cfa8cbf06552
# Parent  24c462a07e167e4ce35a22197dbef74853b08359
libxl: Remus - suspend/postflush/commit callbacks

 * Add libxl callback functions for Remus checkpoint suspend, postflush
   (aka resume) and checkpoint commit callbacks.
 * suspend callback is a stub that just bounces off
   libxl__domain_suspend_common_callback - which suspends the domain and
   saves the devices model state to a file.
 * resume callback currently just resumes the domain (and the device model).
 * commit callback just writes out the saved device model state to the
   network and sleeps for the checkpoint interval.
 * Introduce a new public API, libxl_domain_remus_start (currently a stub)
   that sets up the network and disk buffer and initiates continuous
   checkpointing.

 * Future patches will augment these callbacks/functions with more functionalities
   like issuing network buffer plug/unplug commands, disk checkpoint commands, etc.

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxc/xenguest.h
--- a/tools/libxc/xenguest.h	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxc/xenguest.h	Thu May 17 12:37:07 2012 -0700
@@ -33,10 +33,29 @@
 
 /* callbacks provided by xc_domain_save */
 struct save_callbacks {
+    /* Called after expiration of checkpoint interval,
+     * to suspend the guest.
+     */
     int (*suspend)(void* data);
-    /* callback to rendezvous with external checkpoint functions */
+
+    /* Called after the guest's dirty pages have been
+     *  copied into an output buffer.
+     * Callback function resumes the guest & the device model,
+     *  returns to xc_domain_save.
+     * xc_domain_save then flushes the output buffer, while the
+     *  guest continues to run.
+     */
     int (*postcopy)(void* data);
-    /* returns:
+
+    /* Called after the memory checkpoint has been flushed
+     * out into the network. Typical actions performed in this
+     * callback include:
+     *   (a) send the saved device model state (for HVM guests),
+     *   (b) wait for checkpoint ack
+     *   (c) release the network output buffer pertaining to the acked checkpoint.
+     *   (c) sleep for the checkpoint interval.
+     *
+     * returns:
      * 0: terminate checkpointing gracefully
      * 1: take another checkpoint */
     int (*checkpoint)(void* data);
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl.c	Thu May 17 12:37:07 2012 -0700
@@ -619,6 +619,41 @@
     return ptr;
 }
 
+/* TODO: Explicit Checkpoint acknowledgements via recv_fd. */
+int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
+                             uint32_t domid, int send_fd, int recv_fd)
+{
+    GC_INIT(ctx);
+    libxl_domain_type type = libxl__domain_type(gc, domid);
+    int rc = 0;
+
+    if (info == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "No remus_info structure supplied for domain %d", domid);
+        rc = ERROR_INVAL;
+        goto remus_fail;
+    }
+
+    /* TBD: Remus setup - i.e. attach qdisc, enable disk buffering, etc */
+
+    /* Point of no return */
+    rc = libxl__domain_suspend_common(gc, domid, send_fd, type, /* live */ 1,
+                                      /* debug */ 0, info);
+
+    /* 
+     * With Remus, if we reach this point, it means either
+     * backup died or some network error occurred preventing us
+     * from sending checkpoints.
+     */
+
+    /* TBD: Remus cleanup - i.e. detach qdisc, release other
+     * resources.
+     */
+ remus_fail:
+    GC_FREE;
+    return rc;
+}
+
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                          uint32_t domid, int fd)
 {
@@ -628,7 +663,9 @@
     int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
     int rc = 0;
 
-    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug);
+    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
+                                      /* No Remus */ NULL);
+
     if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
         rc = libxl__domain_save_device_model(gc, domid, fd);
     GC_FREE;
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl.h	Thu May 17 12:37:07 2012 -0700
@@ -525,6 +525,8 @@
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
+int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
+                             uint32_t domid, int send_fd, int recv_fd);
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                           uint32_t domid, int fd);
 
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl_dom.c	Thu May 17 12:37:07 2012 -0700
@@ -566,6 +566,8 @@
     int hvm;
     unsigned int flags;
     int guest_responded;
+    int save_fd; /* Migration stream fd (for Remus) */
+    int interval; /* checkpoint interval (for Remus) */
 };
 
 static int libxl__domain_suspend_common_switch_qemu_logdirty(int domid, unsigned int enable, void *data)
@@ -848,9 +850,43 @@
     return 0;
 }
 
+static int libxl__remus_domain_suspend_callback(void *data)
+{
+    /* TODO: Issue disk and network checkpoint reqs. */
+    return libxl__domain_suspend_common_callback(data);
+}
+
+static int libxl__remus_domain_resume_callback(void *data)
+{
+    struct suspendinfo *si = data;
+    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+
+    /* Resumes the domain and the device model */
+    if (libxl_domain_resume(ctx, si->domid, /* Fast Suspend */1))
+        return 0;
+
+    /* TODO: Deal with disk. Start a new network output buffer */
+    return 1;
+}
+
+static int libxl__remus_domain_checkpoint_callback(void *data)
+{
+    struct suspendinfo *si = data;
+
+    /* This would go into tailbuf. */
+    if (si->hvm &&
+        libxl__domain_save_device_model(si->gc, si->domid, si->save_fd))
+        return 0;
+
+    /* TODO: Wait for disk and memory ack, release network buffer */
+    usleep(si->interval * 1000);
+    return 1;
+}
+
 int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                  libxl_domain_type type,
-                                 int live, int debug)
+                                 int live, int debug,
+                                 const libxl_domain_remus_info *r_info)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int flags;
@@ -881,10 +917,20 @@
         return ERROR_INVAL;
     }
 
+    memset(&si, 0, sizeof(si));
     flags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
+    if (r_info != NULL) {
+        si.interval = r_info->interval;
+        if (r_info->compression)
+            flags |= XCFLAGS_CHECKPOINT_COMPRESS;
+        si.save_fd = fd;
+    }
+    else
+        si.save_fd = -1;
+
     si.domid = domid;
     si.flags = flags;
     si.hvm = hvm;
@@ -908,7 +954,13 @@
     }
 
     memset(&callbacks, 0, sizeof(callbacks));
-    callbacks.suspend = libxl__domain_suspend_common_callback;
+    if (r_info != NULL) {
+        callbacks.suspend = libxl__remus_domain_suspend_callback;
+        callbacks.postcopy = libxl__remus_domain_resume_callback;
+        callbacks.checkpoint = libxl__remus_domain_checkpoint_callback;
+    } else
+        callbacks.suspend = libxl__domain_suspend_common_callback;
+
     callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
     callbacks.toolstack_save = libxl__toolstack_save;
     callbacks.data = &si;
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl_internal.h	Thu May 17 12:37:07 2012 -0700
@@ -757,7 +757,8 @@
                                          int fd);
 _hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                          libxl_domain_type type,
-                                         int live, int debug);
+                                         int live, int debug,
+                                         const libxl_domain_remus_info *r_info);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl_types.idl	Thu May 17 12:37:07 2012 -0700
@@ -454,6 +454,12 @@
     ("weight", integer),
     ])
 
+libxl_domain_remus_info = Struct("domain_remus_info",[
+    ("interval",     integer),
+    ("blackhole",    bool),
+    ("compression",  bool),
+    ])
+
 libxl_event_type = Enumeration("event_type", [
     (1, "DOMAIN_SHUTDOWN"),
     (2, "DOMAIN_DEATH"),

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:51:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6it-0005Sr-8p; Thu, 17 May 2012 19:50:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6ir-0005SM-9e
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:50:53 +0000
Received: from [85.158.143.35:15477] by server-3.bemta-4.messagelabs.com id
	0B/1D-05853-C9655BF4; Thu, 17 May 2012 19:50:52 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337284249!12766276!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14071 invoked from network); 17 May 2012 19:50:51 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:50:51 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJojPA032184; Thu, 17 May 2012 12:50:45 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJojEl032181;
	Thu, 17 May 2012 12:50:45 -0700
MIME-Version: 1.0
X-Mercurial-Node: 496ff6ce5bb63a2f034d2a861f34cfa8cbf06552
Message-Id: <496ff6ce5bb63a2f034d.1337284132@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:48:52 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 2 V6] libxl: Remus -
	suspend/postflush/commit callbacks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283427 25200
# Node ID 496ff6ce5bb63a2f034d2a861f34cfa8cbf06552
# Parent  24c462a07e167e4ce35a22197dbef74853b08359
libxl: Remus - suspend/postflush/commit callbacks

 * Add libxl callback functions for Remus checkpoint suspend, postflush
   (aka resume) and checkpoint commit callbacks.
 * suspend callback is a stub that just bounces off
   libxl__domain_suspend_common_callback - which suspends the domain and
   saves the devices model state to a file.
 * resume callback currently just resumes the domain (and the device model).
 * commit callback just writes out the saved device model state to the
   network and sleeps for the checkpoint interval.
 * Introduce a new public API, libxl_domain_remus_start (currently a stub)
   that sets up the network and disk buffer and initiates continuous
   checkpointing.

 * Future patches will augment these callbacks/functions with more functionalities
   like issuing network buffer plug/unplug commands, disk checkpoint commands, etc.

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxc/xenguest.h
--- a/tools/libxc/xenguest.h	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxc/xenguest.h	Thu May 17 12:37:07 2012 -0700
@@ -33,10 +33,29 @@
 
 /* callbacks provided by xc_domain_save */
 struct save_callbacks {
+    /* Called after expiration of checkpoint interval,
+     * to suspend the guest.
+     */
     int (*suspend)(void* data);
-    /* callback to rendezvous with external checkpoint functions */
+
+    /* Called after the guest's dirty pages have been
+     *  copied into an output buffer.
+     * Callback function resumes the guest & the device model,
+     *  returns to xc_domain_save.
+     * xc_domain_save then flushes the output buffer, while the
+     *  guest continues to run.
+     */
     int (*postcopy)(void* data);
-    /* returns:
+
+    /* Called after the memory checkpoint has been flushed
+     * out into the network. Typical actions performed in this
+     * callback include:
+     *   (a) send the saved device model state (for HVM guests),
+     *   (b) wait for checkpoint ack
+     *   (c) release the network output buffer pertaining to the acked checkpoint.
+     *   (c) sleep for the checkpoint interval.
+     *
+     * returns:
      * 0: terminate checkpointing gracefully
      * 1: take another checkpoint */
     int (*checkpoint)(void* data);
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl.c	Thu May 17 12:37:07 2012 -0700
@@ -619,6 +619,41 @@
     return ptr;
 }
 
+/* TODO: Explicit Checkpoint acknowledgements via recv_fd. */
+int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
+                             uint32_t domid, int send_fd, int recv_fd)
+{
+    GC_INIT(ctx);
+    libxl_domain_type type = libxl__domain_type(gc, domid);
+    int rc = 0;
+
+    if (info == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                   "No remus_info structure supplied for domain %d", domid);
+        rc = ERROR_INVAL;
+        goto remus_fail;
+    }
+
+    /* TBD: Remus setup - i.e. attach qdisc, enable disk buffering, etc */
+
+    /* Point of no return */
+    rc = libxl__domain_suspend_common(gc, domid, send_fd, type, /* live */ 1,
+                                      /* debug */ 0, info);
+
+    /* 
+     * With Remus, if we reach this point, it means either
+     * backup died or some network error occurred preventing us
+     * from sending checkpoints.
+     */
+
+    /* TBD: Remus cleanup - i.e. detach qdisc, release other
+     * resources.
+     */
+ remus_fail:
+    GC_FREE;
+    return rc;
+}
+
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                          uint32_t domid, int fd)
 {
@@ -628,7 +663,9 @@
     int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
     int rc = 0;
 
-    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug);
+    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
+                                      /* No Remus */ NULL);
+
     if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
         rc = libxl__domain_save_device_model(gc, domid, fd);
     GC_FREE;
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl.h	Thu May 17 12:37:07 2012 -0700
@@ -525,6 +525,8 @@
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
+int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
+                             uint32_t domid, int send_fd, int recv_fd);
 int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                           uint32_t domid, int fd);
 
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl_dom.c	Thu May 17 12:37:07 2012 -0700
@@ -566,6 +566,8 @@
     int hvm;
     unsigned int flags;
     int guest_responded;
+    int save_fd; /* Migration stream fd (for Remus) */
+    int interval; /* checkpoint interval (for Remus) */
 };
 
 static int libxl__domain_suspend_common_switch_qemu_logdirty(int domid, unsigned int enable, void *data)
@@ -848,9 +850,43 @@
     return 0;
 }
 
+static int libxl__remus_domain_suspend_callback(void *data)
+{
+    /* TODO: Issue disk and network checkpoint reqs. */
+    return libxl__domain_suspend_common_callback(data);
+}
+
+static int libxl__remus_domain_resume_callback(void *data)
+{
+    struct suspendinfo *si = data;
+    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+
+    /* Resumes the domain and the device model */
+    if (libxl_domain_resume(ctx, si->domid, /* Fast Suspend */1))
+        return 0;
+
+    /* TODO: Deal with disk. Start a new network output buffer */
+    return 1;
+}
+
+static int libxl__remus_domain_checkpoint_callback(void *data)
+{
+    struct suspendinfo *si = data;
+
+    /* This would go into tailbuf. */
+    if (si->hvm &&
+        libxl__domain_save_device_model(si->gc, si->domid, si->save_fd))
+        return 0;
+
+    /* TODO: Wait for disk and memory ack, release network buffer */
+    usleep(si->interval * 1000);
+    return 1;
+}
+
 int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                  libxl_domain_type type,
-                                 int live, int debug)
+                                 int live, int debug,
+                                 const libxl_domain_remus_info *r_info)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int flags;
@@ -881,10 +917,20 @@
         return ERROR_INVAL;
     }
 
+    memset(&si, 0, sizeof(si));
     flags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
+    if (r_info != NULL) {
+        si.interval = r_info->interval;
+        if (r_info->compression)
+            flags |= XCFLAGS_CHECKPOINT_COMPRESS;
+        si.save_fd = fd;
+    }
+    else
+        si.save_fd = -1;
+
     si.domid = domid;
     si.flags = flags;
     si.hvm = hvm;
@@ -908,7 +954,13 @@
     }
 
     memset(&callbacks, 0, sizeof(callbacks));
-    callbacks.suspend = libxl__domain_suspend_common_callback;
+    if (r_info != NULL) {
+        callbacks.suspend = libxl__remus_domain_suspend_callback;
+        callbacks.postcopy = libxl__remus_domain_resume_callback;
+        callbacks.checkpoint = libxl__remus_domain_checkpoint_callback;
+    } else
+        callbacks.suspend = libxl__domain_suspend_common_callback;
+
     callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
     callbacks.toolstack_save = libxl__toolstack_save;
     callbacks.data = &si;
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl_internal.h	Thu May 17 12:37:07 2012 -0700
@@ -757,7 +757,8 @@
                                          int fd);
 _hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                          libxl_domain_type type,
-                                         int live, int debug);
+                                         int live, int debug,
+                                         const libxl_domain_remus_info *r_info);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
diff -r 24c462a07e16 -r 496ff6ce5bb6 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Thu May 17 12:37:05 2012 -0700
+++ b/tools/libxl/libxl_types.idl	Thu May 17 12:37:07 2012 -0700
@@ -454,6 +454,12 @@
     ("weight", integer),
     ])
 
+libxl_domain_remus_info = Struct("domain_remus_info",[
+    ("interval",     integer),
+    ("blackhole",    bool),
+    ("compression",  bool),
+    ])
+
 libxl_event_type = Enumeration("event_type", [
     (1, "DOMAIN_SHUTDOWN"),
     (2, "DOMAIN_DEATH"),

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:51:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6iu-0005TX-Qr; Thu, 17 May 2012 19:50:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6it-0005Sq-HU
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:50:55 +0000
Received: from [85.158.143.99:61443] by server-2.bemta-4.messagelabs.com id
	BD/09-12211-E9655BF4; Thu, 17 May 2012 19:50:54 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337284250!28554796!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5316 invoked from network); 17 May 2012 19:50:52 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:50:52 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJojsU032191; Thu, 17 May 2012 12:50:45 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJojfq032188;
	Thu, 17 May 2012 12:50:45 -0700
MIME-Version: 1.0
X-Mercurial-Node: 92bf8bd9ae5783a8126ffae75da9425db7c6e3d0
Message-Id: <92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:48:53 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283430 25200
# Node ID 92bf8bd9ae5783a8126ffae75da9425db7c6e3d0
# Parent  496ff6ce5bb63a2f034d2a861f34cfa8cbf06552
libxl: Remus - xl remus command

xl remus acts as a frontend to enable remus for a given domain.
 * At the moment, only memory checkpointing and blackhole replication is
   supported. Support for disk checkpointing and network buffering will
   be added in future.
 * Replication is done over ssh connection currently (like live migration
   with xl). Future versions will have an option to use simple tcp socket
   based replication channel (for both Remus & live migration).

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Thu May 17 12:37:07 2012 -0700
+++ b/docs/man/xl.pod.1	Thu May 17 12:37:10 2012 -0700
@@ -381,6 +381,41 @@
 
 =back
 
+=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
+
+Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
+mechanism between the two hosts.
+
+B<OPTIONS>
+
+=over 4
+
+=item B<-i> I<MS>
+
+Checkpoint domain memory every MS milliseconds (default 200ms).
+
+=item B<-b>
+
+Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
+(blackhole).  Network output buffering remains enabled (unless --no-net is
+supplied).  Generally useful for debugging.
+
+=item B<-u>
+
+Disable memory checkpoint compression.
+
+=item B<-s> I<sshcommand>
+
+Use <sshcommand> instead of ssh.  String will be passed to sh.
+If empty, run <host> instead of ssh <host> xl migrate-receive -r [-e].
+
+=item B<-e>
+
+On the new host, do not wait in the background (on <host>) for the death
+of the domain. See the corresponding option of the I<create> subcommand.
+
+=back
+
 =item B<pause> I<domain-id>
 
 Pause a domain.  When in a paused state the domain will still consume
diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Thu May 17 12:37:07 2012 -0700
+++ b/tools/libxl/xl.h	Thu May 17 12:37:10 2012 -0700
@@ -95,6 +95,7 @@
 int main_getenforce(int argc, char **argv);
 int main_setenforce(int argc, char **argv);
 int main_loadpolicy(int argc, char **argv);
+int main_remus(int argc, char **argv);
 
 void help(const char *command);
 
diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:07 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:10 2012 -0700
@@ -2966,7 +2966,7 @@
 }
 
 static void migrate_receive(int debug, int daemonize, int monitor,
-                            int send_fd, int recv_fd)
+                            int send_fd, int recv_fd, int remus)
 {
     int rc, rc2;
     char rc_buf;
@@ -3001,6 +3001,41 @@
         exit(-rc);
     }
 
+    if (remus) {
+        /* If we are here, it means that the sender (primary) has crashed.
+         * TODO: Split-Brain Check.
+         */
+        fprintf(stderr, "migration target: Remus Failover for domain %u\n",
+                domid);
+
+        /*
+         * If domain renaming fails, lets just continue (as we need the domain
+         * to be up & dom names may not matter much, as long as its reachable
+         * over network).
+         *
+         * If domain unpausing fails, destroy domain ? Or is it better to have
+         * a consistent copy of the domain (memory, cpu state, disk)
+         * on atleast one physical host ? Right now, lets just leave the domain
+         * as is and let the Administrator decide (or troubleshoot).
+         */
+        if (migration_domname) {
+            rc = libxl_domain_rename(ctx, domid, migration_domname,
+                                     common_domname);
+            if (rc)
+                fprintf(stderr, "migration target (Remus): "
+                        "Failed to rename domain from %s to %s:%d\n",
+                        migration_domname, common_domname, rc);
+        }
+
+        rc = libxl_domain_unpause(ctx, domid);
+        if (rc)
+            fprintf(stderr, "migration target (Remus): "
+                    "Failed to unpause domain %s (id: %u):%d\n",
+                    common_domname, domid, rc);
+
+        exit(rc ? -ERROR_FAIL: 0);
+    }
+
     fprintf(stderr, "migration target: Transfer complete,"
             " requesting permission to start domain.\n");
 
@@ -3128,10 +3163,10 @@
 
 int main_migrate_receive(int argc, char **argv)
 {
-    int debug = 0, daemonize = 1, monitor = 1;
+    int debug = 0, daemonize = 1, monitor = 1, remus = 0;
     int opt;
 
-    while ((opt = def_getopt(argc, argv, "Fed", "migrate-receive", 0)) != -1) {
+    while ((opt = def_getopt(argc, argv, "Fedr", "migrate-receive", 0)) != -1) {
         switch (opt) {
         case 0: case 2:
             return opt;
@@ -3145,6 +3180,9 @@
         case 'd':
             debug = 1;
             break;
+        case 'r':
+            remus = 1;
+            break;
         }
     }
 
@@ -3153,7 +3191,8 @@
         return 2;
     }
     migrate_receive(debug, daemonize, monitor,
-                    STDOUT_FILENO, STDIN_FILENO);
+                    STDOUT_FILENO, STDIN_FILENO,
+                    remus);
 
     return 0;
 }
@@ -6315,6 +6354,102 @@
     return ret;
 }
 
+int main_remus(int argc, char **argv)
+{
+    int opt, rc, daemonize = 1;
+    const char *ssh_command = "ssh";
+    char *host = NULL, *rune = NULL, *domain = NULL;
+    libxl_domain_remus_info r_info;
+    int send_fd = -1, recv_fd = -1;
+    pid_t child = -1;
+    uint8_t *config_data;
+    int config_len;
+
+    memset(&r_info, 0, sizeof(libxl_domain_remus_info));
+    /* Defaults */
+    r_info.interval = 200;
+    r_info.blackhole = 0;
+    r_info.compression = 1;
+
+    while ((opt = def_getopt(argc, argv, "bui:s:e", "remus", 2)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+
+        case 'i':
+	    r_info.interval = atoi(optarg);
+            break;
+        case 'b':
+            r_info.blackhole = 1;
+            break;
+        case 'u':
+	    r_info.compression = 0;
+            break;
+        case 's':
+            ssh_command = optarg;
+            break;
+        case 'e':
+            daemonize = 0;
+            break;
+        }
+    }
+
+    domain = argv[optind];
+    host = argv[optind + 1];
+
+    if (r_info.blackhole) {
+        find_domain(domain);
+        send_fd = open("/dev/null", O_RDWR, 0644);
+        if (send_fd < 0) {
+            perror("failed to open /dev/null");
+            exit(-1);
+        }
+    } else {
+
+        if (!ssh_command[0]) {
+            rune = host;
+        } else {
+            if (asprintf(&rune, "exec %s %s xl migrate-receive -r %s",
+                         ssh_command, host,
+                         daemonize ? "" : " -e") < 0)
+                return 1;
+        }
+
+        save_domain_core_begin(domain, NULL, &config_data, &config_len);
+
+        if (!config_len) {
+            fprintf(stderr, "No config file stored for running domain and "
+                    "none supplied - cannot start remus.\n");
+            exit(1);
+        }
+
+        child = create_migration_child(rune, &send_fd, &recv_fd);
+
+        migrate_do_preamble(send_fd, recv_fd, child, config_data, config_len,
+                            rune);
+    }
+
+    /* Point of no return */
+    rc = libxl_domain_remus_start(ctx, &r_info, domid, send_fd, recv_fd);
+
+    /* If we are here, it means backup has failed/domain suspend failed.
+     * Try to resume the domain and exit gracefully.
+     * TODO: Split-Brain check.
+     */
+    fprintf(stderr, "remus sender: libxl_domain_suspend failed"
+            " (rc=%d)\n", rc);
+
+    if (rc == ERROR_GUEST_TIMEDOUT)
+        fprintf(stderr, "Failed to suspend domain at primary.\n");
+    else {
+        fprintf(stderr, "Remus: Backup failed? resuming domain at primary.\n");
+        libxl_domain_resume(ctx, domid, 1);
+    }
+
+    close(send_fd);
+    return -ERROR_FAIL;
+}
+
 /*
  * Local variables:
  * mode: C
diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Thu May 17 12:37:07 2012 -0700
+++ b/tools/libxl/xl_cmdtable.c	Thu May 17 12:37:10 2012 -0700
@@ -427,6 +427,20 @@
       "Loads a new policy int the Flask Xen security module",
       "<policy file>",
     },
+    { "remus",
+      &main_remus, 0, 1,
+      "Enable Remus HA for domain",
+      "[options] <Domain> [<host>]",
+      "-i MS                   Checkpoint domain memory every MS milliseconds (def. 200ms).\n"
+      "-b                      Replicate memory checkpoints to /dev/null (blackhole)\n"
+      "-u                      Disable memory checkpoint compression.\n"
+      "-s <sshcommand>         Use <sshcommand> instead of ssh.  String will be passed\n"
+      "                        to sh. If empty, run <host> instead of \n"
+      "                        ssh <host> xl migrate-receive -r [-e]\n"
+      "-e                      Do not wait in the background (on <host>) for the death\n"
+      "                        of the domain."
+
+    },
 };
 
 int cmdtable_len = sizeof(cmd_table)/sizeof(struct cmd_spec);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:51:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6iu-0005TX-Qr; Thu, 17 May 2012 19:50:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6it-0005Sq-HU
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:50:55 +0000
Received: from [85.158.143.99:61443] by server-2.bemta-4.messagelabs.com id
	BD/09-12211-E9655BF4; Thu, 17 May 2012 19:50:54 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337284250!28554796!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5316 invoked from network); 17 May 2012 19:50:52 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 17 May 2012 19:50:52 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJojsU032191; Thu, 17 May 2012 12:50:45 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJojfq032188;
	Thu, 17 May 2012 12:50:45 -0700
MIME-Version: 1.0
X-Mercurial-Node: 92bf8bd9ae5783a8126ffae75da9425db7c6e3d0
Message-Id: <92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
In-Reply-To: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:48:53 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1337283430 25200
# Node ID 92bf8bd9ae5783a8126ffae75da9425db7c6e3d0
# Parent  496ff6ce5bb63a2f034d2a861f34cfa8cbf06552
libxl: Remus - xl remus command

xl remus acts as a frontend to enable remus for a given domain.
 * At the moment, only memory checkpointing and blackhole replication is
   supported. Support for disk checkpointing and network buffering will
   be added in future.
 * Replication is done over ssh connection currently (like live migration
   with xl). Future versions will have an option to use simple tcp socket
   based replication channel (for both Remus & live migration).

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Thu May 17 12:37:07 2012 -0700
+++ b/docs/man/xl.pod.1	Thu May 17 12:37:10 2012 -0700
@@ -381,6 +381,41 @@
 
 =back
 
+=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
+
+Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
+mechanism between the two hosts.
+
+B<OPTIONS>
+
+=over 4
+
+=item B<-i> I<MS>
+
+Checkpoint domain memory every MS milliseconds (default 200ms).
+
+=item B<-b>
+
+Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
+(blackhole).  Network output buffering remains enabled (unless --no-net is
+supplied).  Generally useful for debugging.
+
+=item B<-u>
+
+Disable memory checkpoint compression.
+
+=item B<-s> I<sshcommand>
+
+Use <sshcommand> instead of ssh.  String will be passed to sh.
+If empty, run <host> instead of ssh <host> xl migrate-receive -r [-e].
+
+=item B<-e>
+
+On the new host, do not wait in the background (on <host>) for the death
+of the domain. See the corresponding option of the I<create> subcommand.
+
+=back
+
 =item B<pause> I<domain-id>
 
 Pause a domain.  When in a paused state the domain will still consume
diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 tools/libxl/xl.h
--- a/tools/libxl/xl.h	Thu May 17 12:37:07 2012 -0700
+++ b/tools/libxl/xl.h	Thu May 17 12:37:10 2012 -0700
@@ -95,6 +95,7 @@
 int main_getenforce(int argc, char **argv);
 int main_setenforce(int argc, char **argv);
 int main_loadpolicy(int argc, char **argv);
+int main_remus(int argc, char **argv);
 
 void help(const char *command);
 
diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:07 2012 -0700
+++ b/tools/libxl/xl_cmdimpl.c	Thu May 17 12:37:10 2012 -0700
@@ -2966,7 +2966,7 @@
 }
 
 static void migrate_receive(int debug, int daemonize, int monitor,
-                            int send_fd, int recv_fd)
+                            int send_fd, int recv_fd, int remus)
 {
     int rc, rc2;
     char rc_buf;
@@ -3001,6 +3001,41 @@
         exit(-rc);
     }
 
+    if (remus) {
+        /* If we are here, it means that the sender (primary) has crashed.
+         * TODO: Split-Brain Check.
+         */
+        fprintf(stderr, "migration target: Remus Failover for domain %u\n",
+                domid);
+
+        /*
+         * If domain renaming fails, lets just continue (as we need the domain
+         * to be up & dom names may not matter much, as long as its reachable
+         * over network).
+         *
+         * If domain unpausing fails, destroy domain ? Or is it better to have
+         * a consistent copy of the domain (memory, cpu state, disk)
+         * on atleast one physical host ? Right now, lets just leave the domain
+         * as is and let the Administrator decide (or troubleshoot).
+         */
+        if (migration_domname) {
+            rc = libxl_domain_rename(ctx, domid, migration_domname,
+                                     common_domname);
+            if (rc)
+                fprintf(stderr, "migration target (Remus): "
+                        "Failed to rename domain from %s to %s:%d\n",
+                        migration_domname, common_domname, rc);
+        }
+
+        rc = libxl_domain_unpause(ctx, domid);
+        if (rc)
+            fprintf(stderr, "migration target (Remus): "
+                    "Failed to unpause domain %s (id: %u):%d\n",
+                    common_domname, domid, rc);
+
+        exit(rc ? -ERROR_FAIL: 0);
+    }
+
     fprintf(stderr, "migration target: Transfer complete,"
             " requesting permission to start domain.\n");
 
@@ -3128,10 +3163,10 @@
 
 int main_migrate_receive(int argc, char **argv)
 {
-    int debug = 0, daemonize = 1, monitor = 1;
+    int debug = 0, daemonize = 1, monitor = 1, remus = 0;
     int opt;
 
-    while ((opt = def_getopt(argc, argv, "Fed", "migrate-receive", 0)) != -1) {
+    while ((opt = def_getopt(argc, argv, "Fedr", "migrate-receive", 0)) != -1) {
         switch (opt) {
         case 0: case 2:
             return opt;
@@ -3145,6 +3180,9 @@
         case 'd':
             debug = 1;
             break;
+        case 'r':
+            remus = 1;
+            break;
         }
     }
 
@@ -3153,7 +3191,8 @@
         return 2;
     }
     migrate_receive(debug, daemonize, monitor,
-                    STDOUT_FILENO, STDIN_FILENO);
+                    STDOUT_FILENO, STDIN_FILENO,
+                    remus);
 
     return 0;
 }
@@ -6315,6 +6354,102 @@
     return ret;
 }
 
+int main_remus(int argc, char **argv)
+{
+    int opt, rc, daemonize = 1;
+    const char *ssh_command = "ssh";
+    char *host = NULL, *rune = NULL, *domain = NULL;
+    libxl_domain_remus_info r_info;
+    int send_fd = -1, recv_fd = -1;
+    pid_t child = -1;
+    uint8_t *config_data;
+    int config_len;
+
+    memset(&r_info, 0, sizeof(libxl_domain_remus_info));
+    /* Defaults */
+    r_info.interval = 200;
+    r_info.blackhole = 0;
+    r_info.compression = 1;
+
+    while ((opt = def_getopt(argc, argv, "bui:s:e", "remus", 2)) != -1) {
+        switch (opt) {
+        case 0: case 2:
+            return opt;
+
+        case 'i':
+	    r_info.interval = atoi(optarg);
+            break;
+        case 'b':
+            r_info.blackhole = 1;
+            break;
+        case 'u':
+	    r_info.compression = 0;
+            break;
+        case 's':
+            ssh_command = optarg;
+            break;
+        case 'e':
+            daemonize = 0;
+            break;
+        }
+    }
+
+    domain = argv[optind];
+    host = argv[optind + 1];
+
+    if (r_info.blackhole) {
+        find_domain(domain);
+        send_fd = open("/dev/null", O_RDWR, 0644);
+        if (send_fd < 0) {
+            perror("failed to open /dev/null");
+            exit(-1);
+        }
+    } else {
+
+        if (!ssh_command[0]) {
+            rune = host;
+        } else {
+            if (asprintf(&rune, "exec %s %s xl migrate-receive -r %s",
+                         ssh_command, host,
+                         daemonize ? "" : " -e") < 0)
+                return 1;
+        }
+
+        save_domain_core_begin(domain, NULL, &config_data, &config_len);
+
+        if (!config_len) {
+            fprintf(stderr, "No config file stored for running domain and "
+                    "none supplied - cannot start remus.\n");
+            exit(1);
+        }
+
+        child = create_migration_child(rune, &send_fd, &recv_fd);
+
+        migrate_do_preamble(send_fd, recv_fd, child, config_data, config_len,
+                            rune);
+    }
+
+    /* Point of no return */
+    rc = libxl_domain_remus_start(ctx, &r_info, domid, send_fd, recv_fd);
+
+    /* If we are here, it means backup has failed/domain suspend failed.
+     * Try to resume the domain and exit gracefully.
+     * TODO: Split-Brain check.
+     */
+    fprintf(stderr, "remus sender: libxl_domain_suspend failed"
+            " (rc=%d)\n", rc);
+
+    if (rc == ERROR_GUEST_TIMEDOUT)
+        fprintf(stderr, "Failed to suspend domain at primary.\n");
+    else {
+        fprintf(stderr, "Remus: Backup failed? resuming domain at primary.\n");
+        libxl_domain_resume(ctx, domid, 1);
+    }
+
+    close(send_fd);
+    return -ERROR_FAIL;
+}
+
 /*
  * Local variables:
  * mode: C
diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c	Thu May 17 12:37:07 2012 -0700
+++ b/tools/libxl/xl_cmdtable.c	Thu May 17 12:37:10 2012 -0700
@@ -427,6 +427,20 @@
       "Loads a new policy int the Flask Xen security module",
       "<policy file>",
     },
+    { "remus",
+      &main_remus, 0, 1,
+      "Enable Remus HA for domain",
+      "[options] <Domain> [<host>]",
+      "-i MS                   Checkpoint domain memory every MS milliseconds (def. 200ms).\n"
+      "-b                      Replicate memory checkpoints to /dev/null (blackhole)\n"
+      "-u                      Disable memory checkpoint compression.\n"
+      "-s <sshcommand>         Use <sshcommand> instead of ssh.  String will be passed\n"
+      "                        to sh. If empty, run <host> instead of \n"
+      "                        ssh <host> xl migrate-receive -r [-e]\n"
+      "-e                      Do not wait in the background (on <host>) for the death\n"
+      "                        of the domain."
+
+    },
 };
 
 int cmdtable_len = sizeof(cmd_table)/sizeof(struct cmd_spec);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:51:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6ir-0005Sb-TH; Thu, 17 May 2012 19:50:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6ir-0005SG-2y
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:50:53 +0000
Received: from [85.158.139.83:61128] by server-10.bemta-5.messagelabs.com id
	A2/C1-08260-C9655BF4; Thu, 17 May 2012 19:50:52 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337284249!28435855!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3404 invoked from network); 17 May 2012 19:50:51 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 19:50:51 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJojT6032177; Thu, 17 May 2012 12:50:45 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJojYb032174;
	Thu, 17 May 2012 12:50:45 -0700
MIME-Version: 1.0
Message-Id: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:48:51 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 2 V6] libxl: Remus support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series introduces a basic framework to incorporate
Remus into the libxl toolstack. The only functionality currently
implemented is memory checkpointing.

These patches depend on the "libxl: refactor suspend/resume code"
patch series.

Changes in V6:
 * Rebase to current tip

Changes in V5:
 * Rebase to current tip

Changes in V4:
 * more explanation on blackhole replication in xl.pod
 * moved comment on save_callbacks to xenguest.h
 * rebased to current tip, removed useless comments.

Changes in V3:
 * Rebased w.r.t Stefano's patches.

Changes in V2:
 * Move libxl_domain_remus_start into the save_callbacks implementation patch
 * return proper error codes instead of -1.
 * Add documentation to docs/man/xl.pod.1


Shriram

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 19:51:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 19:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV6ir-0005Sb-TH; Thu, 17 May 2012 19:50:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SV6ir-0005SG-2y
	for xen-devel@lists.xen.org; Thu, 17 May 2012 19:50:53 +0000
Received: from [85.158.139.83:61128] by server-10.bemta-5.messagelabs.com id
	A2/C1-08260-C9655BF4; Thu, 17 May 2012 19:50:52 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337284249!28435855!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3404 invoked from network); 17 May 2012 19:50:51 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 17 May 2012 19:50:51 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4HJojT6032177; Thu, 17 May 2012 12:50:45 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4HJojYb032174;
	Thu, 17 May 2012 12:50:45 -0700
MIME-Version: 1.0
Message-Id: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Thu, 17 May 2012 12:48:51 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
	ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 2 V6] libxl: Remus support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series introduces a basic framework to incorporate
Remus into the libxl toolstack. The only functionality currently
implemented is memory checkpointing.

These patches depend on the "libxl: refactor suspend/resume code"
patch series.

Changes in V6:
 * Rebase to current tip

Changes in V5:
 * Rebase to current tip

Changes in V4:
 * more explanation on blackhole replication in xl.pod
 * moved comment on save_callbacks to xenguest.h
 * rebased to current tip, removed useless comments.

Changes in V3:
 * Rebased w.r.t Stefano's patches.

Changes in V2:
 * Move libxl_domain_remus_start into the save_callbacks implementation patch
 * return proper error codes instead of -1.
 * Add documentation to docs/man/xl.pod.1


Shriram

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 20:52:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 20:52:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV7gF-0006QE-TE; Thu, 17 May 2012 20:52:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV7gE-0006Q9-S4
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 20:52:15 +0000
Received: from [85.158.143.99:8280] by server-3.bemta-4.messagelabs.com id
	76/C1-05853-EF465BF4; Thu, 17 May 2012 20:52:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337287932!18750549!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13290 invoked from network); 17 May 2012 20:52:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 20:52:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,612,1330905600"; d="scan'208";a="12538844"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 20:52:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 21:52:11 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SV7gB-0003SZ-BZ;
	Thu, 17 May 2012 20:52:11 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SV7gA-0005mt-O6;
	Thu, 17 May 2012 21:52:10 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12912-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 21:52:10 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12912: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12912 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12912/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-i386-xl-win-vcpus1  7 windows-install          fail REGR. vs. 12884
 test-amd64-i386-pair         16 guest-start               fail REGR. vs. 12884

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  25bdef4493ae
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 20:52:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 20:52:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV7gF-0006QE-TE; Thu, 17 May 2012 20:52:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SV7gE-0006Q9-S4
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 20:52:15 +0000
Received: from [85.158.143.99:8280] by server-3.bemta-4.messagelabs.com id
	76/C1-05853-EF465BF4; Thu, 17 May 2012 20:52:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337287932!18750549!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTUxMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13290 invoked from network); 17 May 2012 20:52:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 20:52:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,612,1330905600"; d="scan'208";a="12538844"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	17 May 2012 20:52:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 17 May 2012 21:52:11 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SV7gB-0003SZ-BZ;
	Thu, 17 May 2012 20:52:11 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SV7gA-0005mt-O6;
	Thu, 17 May 2012 21:52:10 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12912-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 17 May 2012 21:52:10 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12912: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12912 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12912/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-i386-xl-win-vcpus1  7 windows-install          fail REGR. vs. 12884
 test-amd64-i386-pair         16 guest-start               fail REGR. vs. 12884

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  25bdef4493ae
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 21:07:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 21:07:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV7tc-0006gj-7X; Thu, 17 May 2012 21:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SV7tb-0006ge-00
	for xen-devel@lists.xen.org; Thu, 17 May 2012 21:06:03 +0000
Received: from [85.158.139.83:5377] by server-2.bemta-5.messagelabs.com id
	47/B5-17016-A3865BF4; Thu, 17 May 2012 21:06:02 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337288761!25028699!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20488 invoked from network); 17 May 2012 21:06:01 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-7.tower-182.messagelabs.com with SMTP;
	17 May 2012 21:06:01 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id 015C7C56154;
	Thu, 17 May 2012 22:05:59 +0100 (BST)
Date: Thu, 17 May 2012 22:05:59 +0100
From: Alex Bligh <alex@alex.org.uk>
To: Xen Devel <xen-devel@lists.xen.org>
Message-ID: <ED4EC5C21C72BF9734072AE8@Ximines.local>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Alex Bligh <alex@alex.org.uk>
Subject: [Xen-devel] xen3.3.x on modern kernel / fs/aio.c / SUSE
 patches.xen/xen3-auto-common.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I am busy trying to forward-port xen3.3.x onto an Ubuntu Precise kernel.
My route of attack is to apply all the patches.xen/ files that were
in the SUSE 3.3.2 kernel release.

I appear to have been reasonably successful with this bar one change
I don't understand.

In fs/aio.c, patches.xen/xen3-autocommon.diff has the following patch hunk
listed at the end of this email. The first hunk applies fine. The later
hunk does not. This is because the ioctx handling appears to have changed.
I am not sure how this works or what it is trying to do.

The Ubuntu version had:
        ioctx = ioctx_alloc(nr_events);
        ret = PTR_ERR(ioctx);
        if (!IS_ERR(ioctx)) {
                ret = put_user(ioctx->user_id, ctxp);
                if (!ret) {
                        put_ioctx(ioctx);
                        return 0;
                }
                io_destroy(ioctx);
        }

out:
        return ret;

Note the put_ioctx, ioctx_alloc, and lack of get_ioctx.

I /think/ the right solution here is as follows. Any ideas?

        ioctx = ioctx_alloc(nr_events);
        ret = PTR_ERR(ioctx);
        if (!IS_ERR(ioctx)) {
                ret = put_user(ioctx->user_id, ctxp);
#ifdef CONFIG_EPOLL
                if (make_fd && ret >= 0)
                        ret = make_aio_fd(ioctx);
#endif
                if (!ret) {
                        put_ioctx(ioctx);
                        return 0;
                }
                io_destroy(ioctx);
        }

out:
        return ret;

git tree at
 http://git.alex.org.uk/linux-flexiantxendom0.git/tree/flexiantxendom0

my version of that patch to aio.c here:
 http://git.alex.org.uk/linux-flexiantxendom0.git/blobdiff/237bae5c53e25adcbc
945a23759186e09c4cb50e..82c4e3c170517972d9369d42564303170432acef:/fs/aio.c

for anyone interested (I haven't done the config flavour stuff yet).

-- 
Alex Bligh

--- head-2012-01-06.orig/fs/aio.c       2012-01-06 10:21:23.000000000 +0100
+++ head-2012-01-06/fs/aio.c    2011-11-16 17:01:54.000000000 +0100
...snip...
@@ -1307,18 +1392,30 @@ static void io_destroy(struct kioctx *io
  *     resources are available.  May fail with -EFAULT if an invalid
  *     pointer is passed for ctxp.  Will fail with -ENOSYS if not
  *     implemented.
+ *
+ *     To request a selectable fd, the user context has to be initialized
+ *     to 1, instead of 0, and the return value is the fd.
+ *     This keeps the system call compatible, since a non-zero value
+ *     was not allowed so far.
  */
 SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, 
ctxp)
 {
        struct kioctx *ioctx = NULL;
        unsigned long ctx;
        long ret;
+       int make_fd = 0;

        ret = get_user(ctx, ctxp);
        if (unlikely(ret))
                goto out;

        ret = -EINVAL;
+#ifdef CONFIG_EPOLL
+       if (ctx == 1) {
+               make_fd = 1;
+               ctx = 0;
+       }
+#endif
        if (unlikely(ctx || nr_events == 0)) {
                pr_debug("EINVAL: io_setup: ctx %lu nr_events %u\n",
                         ctx, nr_events);
@@ -1329,8 +1426,12 @@ SYSCALL_DEFINE2(io_setup, unsigned, nr_e
        ret = PTR_ERR(ioctx);
        if (!IS_ERR(ioctx)) {
                ret = put_user(ioctx->user_id, ctxp);
-               if (!ret)
-                       return 0;
+#ifdef CONFIG_EPOLL
+               if (make_fd && ret >= 0)
+                       ret = make_aio_fd(ioctx);
+#endif
+               if (ret >= 0)
+                       return ret;

                get_ioctx(ioctx); /* io_destroy() expects us to hold a ref 
*/
                io_destroy(ioctx);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 21:07:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 21:07:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV7tc-0006gj-7X; Thu, 17 May 2012 21:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alex@alex.org.uk>) id 1SV7tb-0006ge-00
	for xen-devel@lists.xen.org; Thu, 17 May 2012 21:06:03 +0000
Received: from [85.158.139.83:5377] by server-2.bemta-5.messagelabs.com id
	47/B5-17016-A3865BF4; Thu, 17 May 2012 21:06:02 +0000
X-Env-Sender: alex@alex.org.uk
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337288761!25028699!1
X-Originating-IP: [89.16.176.221]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20488 invoked from network); 17 May 2012 21:06:01 -0000
Received: from mail.avalus.com (HELO mail.avalus.com) (89.16.176.221)
	by server-7.tower-182.messagelabs.com with SMTP;
	17 May 2012 21:06:01 -0000
Received: by mail.avalus.com (Postfix) with ESMTPSA id 015C7C56154;
	Thu, 17 May 2012 22:05:59 +0100 (BST)
Date: Thu, 17 May 2012 22:05:59 +0100
From: Alex Bligh <alex@alex.org.uk>
To: Xen Devel <xen-devel@lists.xen.org>
Message-ID: <ED4EC5C21C72BF9734072AE8@Ximines.local>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline
Cc: Alex Bligh <alex@alex.org.uk>
Subject: [Xen-devel] xen3.3.x on modern kernel / fs/aio.c / SUSE
 patches.xen/xen3-auto-common.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Alex Bligh <alex@alex.org.uk>
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I am busy trying to forward-port xen3.3.x onto an Ubuntu Precise kernel.
My route of attack is to apply all the patches.xen/ files that were
in the SUSE 3.3.2 kernel release.

I appear to have been reasonably successful with this bar one change
I don't understand.

In fs/aio.c, patches.xen/xen3-autocommon.diff has the following patch hunk
listed at the end of this email. The first hunk applies fine. The later
hunk does not. This is because the ioctx handling appears to have changed.
I am not sure how this works or what it is trying to do.

The Ubuntu version had:
        ioctx = ioctx_alloc(nr_events);
        ret = PTR_ERR(ioctx);
        if (!IS_ERR(ioctx)) {
                ret = put_user(ioctx->user_id, ctxp);
                if (!ret) {
                        put_ioctx(ioctx);
                        return 0;
                }
                io_destroy(ioctx);
        }

out:
        return ret;

Note the put_ioctx, ioctx_alloc, and lack of get_ioctx.

I /think/ the right solution here is as follows. Any ideas?

        ioctx = ioctx_alloc(nr_events);
        ret = PTR_ERR(ioctx);
        if (!IS_ERR(ioctx)) {
                ret = put_user(ioctx->user_id, ctxp);
#ifdef CONFIG_EPOLL
                if (make_fd && ret >= 0)
                        ret = make_aio_fd(ioctx);
#endif
                if (!ret) {
                        put_ioctx(ioctx);
                        return 0;
                }
                io_destroy(ioctx);
        }

out:
        return ret;

git tree at
 http://git.alex.org.uk/linux-flexiantxendom0.git/tree/flexiantxendom0

my version of that patch to aio.c here:
 http://git.alex.org.uk/linux-flexiantxendom0.git/blobdiff/237bae5c53e25adcbc
945a23759186e09c4cb50e..82c4e3c170517972d9369d42564303170432acef:/fs/aio.c

for anyone interested (I haven't done the config flavour stuff yet).

-- 
Alex Bligh

--- head-2012-01-06.orig/fs/aio.c       2012-01-06 10:21:23.000000000 +0100
+++ head-2012-01-06/fs/aio.c    2011-11-16 17:01:54.000000000 +0100
...snip...
@@ -1307,18 +1392,30 @@ static void io_destroy(struct kioctx *io
  *     resources are available.  May fail with -EFAULT if an invalid
  *     pointer is passed for ctxp.  Will fail with -ENOSYS if not
  *     implemented.
+ *
+ *     To request a selectable fd, the user context has to be initialized
+ *     to 1, instead of 0, and the return value is the fd.
+ *     This keeps the system call compatible, since a non-zero value
+ *     was not allowed so far.
  */
 SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, 
ctxp)
 {
        struct kioctx *ioctx = NULL;
        unsigned long ctx;
        long ret;
+       int make_fd = 0;

        ret = get_user(ctx, ctxp);
        if (unlikely(ret))
                goto out;

        ret = -EINVAL;
+#ifdef CONFIG_EPOLL
+       if (ctx == 1) {
+               make_fd = 1;
+               ctx = 0;
+       }
+#endif
        if (unlikely(ctx || nr_events == 0)) {
                pr_debug("EINVAL: io_setup: ctx %lu nr_events %u\n",
                         ctx, nr_events);
@@ -1329,8 +1426,12 @@ SYSCALL_DEFINE2(io_setup, unsigned, nr_e
        ret = PTR_ERR(ioctx);
        if (!IS_ERR(ioctx)) {
                ret = put_user(ioctx->user_id, ctxp);
-               if (!ret)
-                       return 0;
+#ifdef CONFIG_EPOLL
+               if (make_fd && ret >= 0)
+                       ret = make_aio_fd(ioctx);
+#endif
+               if (ret >= 0)
+                       return ret;

                get_ioctx(ioctx); /* io_destroy() expects us to hold a ref 
*/
                io_destroy(ioctx);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 21:21:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 21:21:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV87r-0006qe-Lo; Thu, 17 May 2012 21:20:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SV87q-0006qX-8Z
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 21:20:46 +0000
Received: from [85.158.143.99:7565] by server-1.bemta-4.messagelabs.com id
	1E/88-00342-DAB65BF4; Thu, 17 May 2012 21:20:45 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337289642!21004337!1
X-Originating-IP: [209.85.215.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5762 invoked from network); 17 May 2012 21:20:43 -0000
Received: from mail-lpp01m010-f43.google.com (HELO
	mail-lpp01m010-f43.google.com) (209.85.215.43)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 21:20:43 -0000
Received: by lahg1 with SMTP id g1so1862839lah.30
	for <xen-devel@lists.xensource.com>;
	Thu, 17 May 2012 14:20:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:date:x-google-sender-auth:message-id:subject
	:from:to:content-type;
	bh=XZQ/YceNGMabP41wz1Ykw4DFSpSbpF8C1OSlt6Uh8V8=;
	b=MBovB6cRyl/o8sAicZNf0XzCiHCmmXJn1Jgqe2g4Lhi7OIQzad/3etrc0WPqSsuD9I
	K8YvJFm10qFTskbd+lqyj28DFlgE8K3sECrJvylX6ya8lozT7zHSQKutb6fs3P9mtt7M
	tzstRSgPmJ9l2JnDlRcIgq1VbUJeQQlwMrnlebDByHwB5/GAWD08lZx7bDNa43RNkhtd
	UF4g5o4rmMPeYc9qbYc9i32ao3/nJDtUc6k9CRllw2Toj3PrrY/5IlU+e6uOGaLYwZay
	Lez0xQQasHFFP8crud0tPmCt85vIYqRCN1ztpXKfG37jU6lTHaoxByoF97iSJltwze1Y
	2Qiw==
MIME-Version: 1.0
Received: by 10.152.111.200 with SMTP id ik8mr8585494lab.15.1337289642391;
	Thu, 17 May 2012 14:20:42 -0700 (PDT)
Received: by 10.112.129.168 with HTTP; Thu, 17 May 2012 14:20:42 -0700 (PDT)
Date: Thu, 17 May 2012 17:20:42 -0400
X-Google-Sender-Auth: _9baUwJmsHvTk6iZHf43TC8t4t4
Message-ID: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Xen Devel <xen-devel@lists.xensource.com>, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I'm attempting to update the Xen I'm using, and am having an issue with S3.
Konrad - I know you've been down this path before - so I'm hoping you
might have some insight, given the stack below

The linux tree also has an older version of Konrad's acpi-s3
development branches (it was v7)

Upon resuming from S3 - Xen panics with the following stack. I'm
guessing it has something to do with some of the pcpu work going on
recently - but haven't been tracking this too closely, so am not sure.
The same kernel with Xen 4.0.x works OK.


(XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
&cpus)' failed at sched_credit.c:477
(XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
(XEN) CPU:    1
(XEN) RIP:    e008:[<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
(XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
(XEN) rax: 0000000000000001   rbx: 0000000000000010   rcx: 0000000000000010
(XEN) rdx: 000000ffff   rsi: 0000000000000010   rdi: 0000000000000000
(XEN) rbp: ffff83013e38fdd8   rsp: ffff83013e38fd08   r8:  0000000000000000
(XEN) r9:  000000000000003e   r10: ffff82c480232480   r11: 0000000000000246
(XEN) r12: ffff82c480262820   r13: 0000000000000001   r14: ffff82c4803022e0
(XEN) r15: ffff83014c6f0068   cr0: 000000008005003b   cr4: 00000000001026f0
(XEN) cr3: 0000000141a05000   cr2: 0000000000000000
(XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) Xen stack trace from rsp=ffff83013e38fd08:
(XEN)    0100000141a05000 ffff83013e38fd40 0000000000000297 ffff83013e38fd38
(XEN)    ffff82c480125929 ffff830148ac2000 ffff83013e38fd78 5400000000000002
(XEN)    0000000000000282 ffff83013e38fd68 ffff82c480125929 ffff830148ac2000
(XEN)    ffff83013e38fd98 ffff82c48012cd57 0000000000000000 0000000000000008
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000286 ffff83014c6f0068 ffff83014c6f0068 0000000000000001
(XEN)    ffff82c4803022e0 ffff83014c6f0068 ffff83013e38fde8 ffff82c48011abbe
(XEN)    ffff83013e38fe58 ffff82c48012399d ffff82c4803022e0 ffff82c4803022e0
(XEN)    ffff82c4803022e0 ffff8300aa0fd000 00000000000fd060 0000000000000246
(XEN)    ffff82c4801280c1 ffff8300aa0fd000 ffff82c4803022e0 ffff82c4802ec5c0
(XEN)    ffff83014c6f0068002dc2e820 ffff83013e38fe88 ffff82c480123c57
(XEN)    fffffffffffffffe ffff830148a36000 ffff8300aa0fd000 0000000000000000
(XEN)    ffff83013e38fef8 ffff82c4801063f5 ffff83013e38ff18 ffffffff810030d2
(XEN)    ffff8300aa0fd000 0000000000000000 ffff83013e38ff08 ffff82c480185ff0
(XEN)    ffffffff81ab0020 ffff8300aa0fd000 0000000000000001 000000000000
(XEN)    0000000000000000 ffff88002dc2e820 00007cfec1c700c7 ffff82c480228f78
(XEN)    ffffffff8100130a 0000000000000018 ffff88002dc2e820 0000000000000000
(XEN)    0000000000000000 0000000000000001 ffff88002786dda0 ffff88002dc2bdc0
(XEN)    0000000000000246 00000000ffffffff 0000000000000040 0000000000000000
(XEN)    0000000000000018 ffffffff8100130a 0000000000000000 0000000000000001
(XEN) Xen call trace:
(XEN)    [<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
(XEN)    [<ffff82c48011abbe>] csched_cpu_pick+0xe/0x10
(XEN)    [<ffff82c48012399d>] vcpu_migrate+0x19f/0x346
(XEN)    [<ffff82c480123c57>] vcpu_force_reschedule+0xa4/0xb6
(XEN)    [<ffff82c48f5>] do_vcpu_op+0x2c9/0x452
(XEN)    [<ffff82c480228f78>] syscall_enter+0xc8/0x122
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 1:
(XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
&cpus)' failed at sched_credit.c:477
(XEN) ****************************************

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 17 21:21:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 17 May 2012 21:21:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SV87r-0006qe-Lo; Thu, 17 May 2012 21:20:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SV87q-0006qX-8Z
	for xen-devel@lists.xensource.com; Thu, 17 May 2012 21:20:46 +0000
Received: from [85.158.143.99:7565] by server-1.bemta-4.messagelabs.com id
	1E/88-00342-DAB65BF4; Thu, 17 May 2012 21:20:45 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337289642!21004337!1
X-Originating-IP: [209.85.215.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5762 invoked from network); 17 May 2012 21:20:43 -0000
Received: from mail-lpp01m010-f43.google.com (HELO
	mail-lpp01m010-f43.google.com) (209.85.215.43)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	17 May 2012 21:20:43 -0000
Received: by lahg1 with SMTP id g1so1862839lah.30
	for <xen-devel@lists.xensource.com>;
	Thu, 17 May 2012 14:20:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:date:x-google-sender-auth:message-id:subject
	:from:to:content-type;
	bh=XZQ/YceNGMabP41wz1Ykw4DFSpSbpF8C1OSlt6Uh8V8=;
	b=MBovB6cRyl/o8sAicZNf0XzCiHCmmXJn1Jgqe2g4Lhi7OIQzad/3etrc0WPqSsuD9I
	K8YvJFm10qFTskbd+lqyj28DFlgE8K3sECrJvylX6ya8lozT7zHSQKutb6fs3P9mtt7M
	tzstRSgPmJ9l2JnDlRcIgq1VbUJeQQlwMrnlebDByHwB5/GAWD08lZx7bDNa43RNkhtd
	UF4g5o4rmMPeYc9qbYc9i32ao3/nJDtUc6k9CRllw2Toj3PrrY/5IlU+e6uOGaLYwZay
	Lez0xQQasHFFP8crud0tPmCt85vIYqRCN1ztpXKfG37jU6lTHaoxByoF97iSJltwze1Y
	2Qiw==
MIME-Version: 1.0
Received: by 10.152.111.200 with SMTP id ik8mr8585494lab.15.1337289642391;
	Thu, 17 May 2012 14:20:42 -0700 (PDT)
Received: by 10.112.129.168 with HTTP; Thu, 17 May 2012 14:20:42 -0700 (PDT)
Date: Thu, 17 May 2012 17:20:42 -0400
X-Google-Sender-Auth: _9baUwJmsHvTk6iZHf43TC8t4t4
Message-ID: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Xen Devel <xen-devel@lists.xensource.com>, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I'm attempting to update the Xen I'm using, and am having an issue with S3.
Konrad - I know you've been down this path before - so I'm hoping you
might have some insight, given the stack below

The linux tree also has an older version of Konrad's acpi-s3
development branches (it was v7)

Upon resuming from S3 - Xen panics with the following stack. I'm
guessing it has something to do with some of the pcpu work going on
recently - but haven't been tracking this too closely, so am not sure.
The same kernel with Xen 4.0.x works OK.


(XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
&cpus)' failed at sched_credit.c:477
(XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
(XEN) CPU:    1
(XEN) RIP:    e008:[<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
(XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
(XEN) rax: 0000000000000001   rbx: 0000000000000010   rcx: 0000000000000010
(XEN) rdx: 000000ffff   rsi: 0000000000000010   rdi: 0000000000000000
(XEN) rbp: ffff83013e38fdd8   rsp: ffff83013e38fd08   r8:  0000000000000000
(XEN) r9:  000000000000003e   r10: ffff82c480232480   r11: 0000000000000246
(XEN) r12: ffff82c480262820   r13: 0000000000000001   r14: ffff82c4803022e0
(XEN) r15: ffff83014c6f0068   cr0: 000000008005003b   cr4: 00000000001026f0
(XEN) cr3: 0000000141a05000   cr2: 0000000000000000
(XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) Xen stack trace from rsp=ffff83013e38fd08:
(XEN)    0100000141a05000 ffff83013e38fd40 0000000000000297 ffff83013e38fd38
(XEN)    ffff82c480125929 ffff830148ac2000 ffff83013e38fd78 5400000000000002
(XEN)    0000000000000282 ffff83013e38fd68 ffff82c480125929 ffff830148ac2000
(XEN)    ffff83013e38fd98 ffff82c48012cd57 0000000000000000 0000000000000008
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000286 ffff83014c6f0068 ffff83014c6f0068 0000000000000001
(XEN)    ffff82c4803022e0 ffff83014c6f0068 ffff83013e38fde8 ffff82c48011abbe
(XEN)    ffff83013e38fe58 ffff82c48012399d ffff82c4803022e0 ffff82c4803022e0
(XEN)    ffff82c4803022e0 ffff8300aa0fd000 00000000000fd060 0000000000000246
(XEN)    ffff82c4801280c1 ffff8300aa0fd000 ffff82c4803022e0 ffff82c4802ec5c0
(XEN)    ffff83014c6f0068002dc2e820 ffff83013e38fe88 ffff82c480123c57
(XEN)    fffffffffffffffe ffff830148a36000 ffff8300aa0fd000 0000000000000000
(XEN)    ffff83013e38fef8 ffff82c4801063f5 ffff83013e38ff18 ffffffff810030d2
(XEN)    ffff8300aa0fd000 0000000000000000 ffff83013e38ff08 ffff82c480185ff0
(XEN)    ffffffff81ab0020 ffff8300aa0fd000 0000000000000001 000000000000
(XEN)    0000000000000000 ffff88002dc2e820 00007cfec1c700c7 ffff82c480228f78
(XEN)    ffffffff8100130a 0000000000000018 ffff88002dc2e820 0000000000000000
(XEN)    0000000000000000 0000000000000001 ffff88002786dda0 ffff88002dc2bdc0
(XEN)    0000000000000246 00000000ffffffff 0000000000000040 0000000000000000
(XEN)    0000000000000018 ffffffff8100130a 0000000000000000 0000000000000001
(XEN) Xen call trace:
(XEN)    [<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
(XEN)    [<ffff82c48011abbe>] csched_cpu_pick+0xe/0x10
(XEN)    [<ffff82c48012399d>] vcpu_migrate+0x19f/0x346
(XEN)    [<ffff82c480123c57>] vcpu_force_reschedule+0xa4/0xb6
(XEN)    [<ffff82c48f5>] do_vcpu_op+0x2c9/0x452
(XEN)    [<ffff82c480228f78>] syscall_enter+0xc8/0x122
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 1:
(XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
&cpus)' failed at sched_credit.c:477
(XEN) ****************************************

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 01:04:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 01:04:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVBb6-0004B4-N6; Fri, 18 May 2012 01:03:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SVBb4-0004Az-B9
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 01:03:10 +0000
Received: from [193.109.254.147:33957] by server-12.bemta-14.messagelabs.com
	id 76/61-05898-DCF95BF4; Fri, 18 May 2012 01:03:09 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337302987!4698650!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM3Nzg1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11048 invoked from network); 18 May 2012 01:03:08 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-27.messagelabs.com with SMTP;
	18 May 2012 01:03:08 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 17 May 2012 18:03:07 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="144652436"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 17 May 2012 18:03:06 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 17 May 2012 18:03:06 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 18 May 2012 09:03:04 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0z6j9YZKAt/ZXRTK++3xvN01iiBP//yN6A//6ACbA=
Date: Fri, 18 May 2012 01:03:04 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13BEBC@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
	<1337247905.7781.30.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337247905.7781.30.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Thursday, May 17, 2012 5:45 PM
> >
> >      if (!b_info->max_vcpus)
> >          b_info->max_vcpus = 1;
> > -    if (!b_info->cur_vcpus)
> > -        b_info->cur_vcpus = 1;
> > +    if (!b_info->avail_vcpus.size) {
> > +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> > +            return ERROR_NOMEM;
> 
> After your previous patch the only thing cpumap_alloc_size can fail with
> is ERROR_FAIL (inability to determine number of processors), converting
> that into ERROR_NOMEM seems inappropriate.
> 
> This should propagate the actual error code.
> 
> It might also be reasonable for libxl to abort/crash if
> libxl_get_max_cpus fails in which case cpumap_alloc_size would return
> void.

Agree.

> > diff -r c8a01e966ec8 tools/libxl/libxl_dm.c
> > --- a/tools/libxl/libxl_dm.c    Thu May 17 12:59:49 2012 +0800
> > +++ b/tools/libxl/libxl_dm.c    Thu May 17 13:01:26 2012 +0800
> > @@ -200,10 +200,19 @@ static char ** libxl__build_device_model
> >                                libxl__sprintf(gc, "%d",
> b_info->max_vcpus),
> >                                NULL);
> >          }
> > -        if (b_info->cur_vcpus) {
> > +        if (b_info->avail_vcpus.size) {
> 
> Can never be false, due to allocation in setdefaults?
> 
> > @@ -441,11 +450,15 @@ static char ** libxl__build_device_model
> >          }
> >          if (b_info->max_vcpus > 1) {
> >              flexarray_append(dm_args, "-smp");
> > -            if (b_info->cur_vcpus)
> > +            if (b_info->avail_vcpus.size) {
> > +                int nr_set_cpus = 0;
> > +                nr_set_cpus = libxl_cpumap_count_set(
> > +                        &(((libxl_domain_build_info
> *)b_info)->avail_vcpus));
> 
> Another strange looking cast.
> 
> Are you perhaps casting away the const-ness of b_info?
> 
> You most likely want to make libxl_cpumap_count_set const-correct
> instead.

Correct! Your point is the right way.

> > diff -r c8a01e966ec8 tools/libxl/libxl_dom.c
> > --- a/tools/libxl/libxl_dom.c   Thu May 17 12:59:49 2012 +0800
> > +++ b/tools/libxl/libxl_dom.c   Thu May 17 13:01:26 2012 +0800
> > @@ -195,7 +195,8 @@ int libxl__build_post(libxl__gc *gc, uin
> >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> >      for (i = 0; i < info->max_vcpus; i++) {
> >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> << i)))
> > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> 
> "!info->avail_vcpus.size" should always be a bug here since you always
> allocate one in setdefaults.
>
> I think you can also stop special casing i == 0, that would be a user
> error to supply a cpumap without cpu0 set in it. Might be worth checking
> that in the setdefaults fn.

Agree. 

> > +int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int
> max_cpus)
> > +{
> > +    int sz;
> > +
> > +    if (max_cpus == 0)
> 
> <= ?
> 
> > +        return ERROR_FAIL;
> > +
> > +    sz = (max_cpus + 7) / 8;
> > +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
> > +    cpumap->size = sz;
> > +    return 0;
> > +}
> 
> Can you reimplement libxl_cpumap_alloc in terms of this function?

Sure, I will send a separated patch to do it.
 
> Alternatively add a new max_cpus param to the existing function and have
> it do:
> 	if (max_cpus == 0)
> 		max_cpus = libxl_get_max_cpus(ctx);
> 
> (IOW libxl_cpumap_alloc_size(ctx, &map, 0) means allocate the biggest
> possibly required map).
> 
> > +
> > +void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap)
> 
> shouldn't this return char *?

> Other libxl types provide a _to_string method -- is the fact that this
> one happens to be hex formatted especially relevant? The general form of
> those is
> 	(const?) char *libxl_FOO_to_string(libxl_FOO *foo);
> 
> > +{
> > +    int i = cpumap->size;
> > +    uint8_t *p = libxl__zalloc(NULL, cpumap->size * 2 + 1);
> > +    uint8_t *q = p;
> 
> Why are the uint8_t and not char *?
> 
> > +    while(--i >= 0) {
> > +        fprintf(stderr,"i:%d, p :%p, map[%d]: %x\n", i, p, i,
> cpumap->map[i]);
> 
> libxl shouldn't be logging to stderr. If this function needs to log then
> it should take a ctx and use the logging primitives. I expect this is
> just left over debugging which can be removed (it'd be rather verbose
> for the final verison)

Sorry, this only for debugging. I forget to delete it before sending the patch. :)

best regards
yang
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 01:04:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 01:04:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVBb6-0004B4-N6; Fri, 18 May 2012 01:03:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SVBb4-0004Az-B9
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 01:03:10 +0000
Received: from [193.109.254.147:33957] by server-12.bemta-14.messagelabs.com
	id 76/61-05898-DCF95BF4; Fri, 18 May 2012 01:03:09 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337302987!4698650!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM3Nzg1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11048 invoked from network); 18 May 2012 01:03:08 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-10.tower-27.messagelabs.com with SMTP;
	18 May 2012 01:03:08 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 17 May 2012 18:03:07 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="144652436"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 17 May 2012 18:03:06 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 17 May 2012 18:03:06 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 18 May 2012 09:03:04 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
Thread-Index: Ac0z6j9YZKAt/ZXRTK++3xvN01iiBP//yN6A//6ACbA=
Date: Fri, 18 May 2012 01:03:04 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13BEBC@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13AB6D@SHSMSX101.ccr.corp.intel.com>
	<1337247905.7781.30.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337247905.7781.30.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 ]libxl: allow to set more than 31 vcpus
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Thursday, May 17, 2012 5:45 PM
> >
> >      if (!b_info->max_vcpus)
> >          b_info->max_vcpus = 1;
> > -    if (!b_info->cur_vcpus)
> > -        b_info->cur_vcpus = 1;
> > +    if (!b_info->avail_vcpus.size) {
> > +        if (libxl_cpumap_alloc_size(CTX, &b_info->avail_vcpus, 1))
> > +            return ERROR_NOMEM;
> 
> After your previous patch the only thing cpumap_alloc_size can fail with
> is ERROR_FAIL (inability to determine number of processors), converting
> that into ERROR_NOMEM seems inappropriate.
> 
> This should propagate the actual error code.
> 
> It might also be reasonable for libxl to abort/crash if
> libxl_get_max_cpus fails in which case cpumap_alloc_size would return
> void.

Agree.

> > diff -r c8a01e966ec8 tools/libxl/libxl_dm.c
> > --- a/tools/libxl/libxl_dm.c    Thu May 17 12:59:49 2012 +0800
> > +++ b/tools/libxl/libxl_dm.c    Thu May 17 13:01:26 2012 +0800
> > @@ -200,10 +200,19 @@ static char ** libxl__build_device_model
> >                                libxl__sprintf(gc, "%d",
> b_info->max_vcpus),
> >                                NULL);
> >          }
> > -        if (b_info->cur_vcpus) {
> > +        if (b_info->avail_vcpus.size) {
> 
> Can never be false, due to allocation in setdefaults?
> 
> > @@ -441,11 +450,15 @@ static char ** libxl__build_device_model
> >          }
> >          if (b_info->max_vcpus > 1) {
> >              flexarray_append(dm_args, "-smp");
> > -            if (b_info->cur_vcpus)
> > +            if (b_info->avail_vcpus.size) {
> > +                int nr_set_cpus = 0;
> > +                nr_set_cpus = libxl_cpumap_count_set(
> > +                        &(((libxl_domain_build_info
> *)b_info)->avail_vcpus));
> 
> Another strange looking cast.
> 
> Are you perhaps casting away the const-ness of b_info?
> 
> You most likely want to make libxl_cpumap_count_set const-correct
> instead.

Correct! Your point is the right way.

> > diff -r c8a01e966ec8 tools/libxl/libxl_dom.c
> > --- a/tools/libxl/libxl_dom.c   Thu May 17 12:59:49 2012 +0800
> > +++ b/tools/libxl/libxl_dom.c   Thu May 17 13:01:26 2012 +0800
> > @@ -195,7 +195,8 @@ int libxl__build_post(libxl__gc *gc, uin
> >      ents[11] = libxl__sprintf(gc, "%lu", state->store_mfn);
> >      for (i = 0; i < info->max_vcpus; i++) {
> >          ents[12+(i*2)]   = libxl__sprintf(gc, "cpu/%d/availability", i);
> > -        ents[12+(i*2)+1] = (i && info->cur_vcpus && !(info->cur_vcpus & (1
> << i)))
> > +        ents[12+(i*2)+1] = (i && info->avail_vcpus.size
> 
> "!info->avail_vcpus.size" should always be a bug here since you always
> allocate one in setdefaults.
>
> I think you can also stop special casing i == 0, that would be a user
> error to supply a cpumap without cpu0 set in it. Might be worth checking
> that in the setdefaults fn.

Agree. 

> > +int libxl_cpumap_alloc_size(libxl_ctx *ctx, libxl_cpumap *cpumap, int
> max_cpus)
> > +{
> > +    int sz;
> > +
> > +    if (max_cpus == 0)
> 
> <= ?
> 
> > +        return ERROR_FAIL;
> > +
> > +    sz = (max_cpus + 7) / 8;
> > +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
> > +    cpumap->size = sz;
> > +    return 0;
> > +}
> 
> Can you reimplement libxl_cpumap_alloc in terms of this function?

Sure, I will send a separated patch to do it.
 
> Alternatively add a new max_cpus param to the existing function and have
> it do:
> 	if (max_cpus == 0)
> 		max_cpus = libxl_get_max_cpus(ctx);
> 
> (IOW libxl_cpumap_alloc_size(ctx, &map, 0) means allocate the biggest
> possibly required map).
> 
> > +
> > +void *libxl_cpumap_to_hex_string(libxl_cpumap *cpumap)
> 
> shouldn't this return char *?

> Other libxl types provide a _to_string method -- is the fact that this
> one happens to be hex formatted especially relevant? The general form of
> those is
> 	(const?) char *libxl_FOO_to_string(libxl_FOO *foo);
> 
> > +{
> > +    int i = cpumap->size;
> > +    uint8_t *p = libxl__zalloc(NULL, cpumap->size * 2 + 1);
> > +    uint8_t *q = p;
> 
> Why are the uint8_t and not char *?
> 
> > +    while(--i >= 0) {
> > +        fprintf(stderr,"i:%d, p :%p, map[%d]: %x\n", i, p, i,
> cpumap->map[i]);
> 
> libxl shouldn't be logging to stderr. If this function needs to log then
> it should take a ctx and use the logging primitives. I expect this is
> just left over debugging which can be removed (it'd be rather verbose
> for the final verison)

Sorry, this only for debugging. I forget to delete it before sending the patch. :)

best regards
yang
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 02:54:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 02:54:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVDKE-00056o-Uq; Fri, 18 May 2012 02:53:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SVDKE-00056j-1P
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 02:53:54 +0000
Received: from [85.158.139.83:41787] by server-5.bemta-5.messagelabs.com id
	FA/AE-13566-1C9B5BF4; Fri, 18 May 2012 02:53:53 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337309630!28997512!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM3Nzg1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22681 invoked from network); 18 May 2012 02:53:51 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-12.tower-182.messagelabs.com with SMTP;
	18 May 2012 02:53:51 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 17 May 2012 19:53:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="101460193"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 17 May 2012 19:53:46 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 17 May 2012 19:53:45 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 18 May 2012 10:53:43 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH]libxl: rewrite libxl_cpumap_alloc()
Thread-Index: Ac00oW8ZLgLyAb5vQo+/ghpsq9CHxg==
Date: Fri, 18 May 2012 02:53:42 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH]libxl: rewrite libxl_cpumap_alloc()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Allow libxl_cpumap_alloc to allocate memory of specific size. 
Max_cpus equals to zero means allocate the biggest possibly required map.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>

diff -r 28831853d1a8 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c       Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl.c       Fri May 18 10:47:59 2012 +0800
@@ -572,7 +572,7 @@ libxl_cpupoolinfo * libxl_list_cpupool(l
         ptr[i].poolid = info->cpupool_id;
         ptr[i].sched = info->sched_id;
         ptr[i].n_dom = info->n_dom;
-        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap, 0)) {
             xc_cpupool_infofree(ctx->xch, info);
             break;
         }
@@ -3036,7 +3036,7 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ct
     }

     for (*nb_vcpu = 0; *nb_vcpu <= domaininfo.max_vcpu_id; ++*nb_vcpu, ++ptr) {
-        if (libxl_cpumap_alloc(ctx, &ptr->cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &ptr->cpumap, 0)) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpumap");
             return NULL;
         }
@@ -3719,8 +3719,8 @@ int libxl_cpupool_destroy(libxl_ctx *ctx
     if ((info->cpupool_id != poolid) || (info->n_dom))
         goto out;

-    rc = ERROR_NOMEM;
-    if (libxl_cpumap_alloc(ctx, &cpumap))
+    rc = libxl_cpumap_alloc(ctx, &cpumap, 0);
+    if (rc)
         goto out;

     memcpy(cpumap.map, info->cpumap, cpumap.size);
diff -r 28831853d1a8 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl_create.c        Fri May 18 10:47:59 2012 +0800
@@ -146,8 +146,8 @@ int libxl__domain_build_info_setdefault(
         b_info->cur_vcpus = 1;

     if (!b_info->cpumap.size) {
-        if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
-            return ERROR_NOMEM;
+        if (libxl_cpumap_alloc(CTX, &b_info->cpumap, 0))
+            return ERROR_FAIL;
         libxl_cpumap_set_any(&b_info->cpumap);
     }

diff -r 28831853d1a8 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl_utils.c Fri May 18 10:47:59 2012 +0800
@@ -488,19 +488,20 @@ int libxl_mac_to_device_nic(libxl_ctx *c
     return rc;
 }

-int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap)
+int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
 {
-    int max_cpus;
     int sz;

-    max_cpus = libxl_get_max_cpus(ctx);
-    if (max_cpus == 0)
-        return ERROR_FAIL;
+    if (max_cpus < 0) {
+        return ERROR_INVAL;
+    } else if (max_cpus == 0) {
+        max_cpus = libxl_get_max_cpus(ctx);
+        if (max_cpus == 0)
+            return ERROR_FAIL;
+    }

     sz = (max_cpus + 7) / 8;
-    cpumap->map = calloc(sz, sizeof(*cpumap->map));
-    if (!cpumap->map)
-        return ERROR_NOMEM;
+    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
     cpumap->size = sz;
     return 0;
 }
diff -r 28831853d1a8 tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl_utils.h Fri May 18 10:47:59 2012 +0800
@@ -63,7 +63,7 @@ int libxl_devid_to_device_nic(libxl_ctx
 int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
                                libxl_device_disk *disk);

-int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
 int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
diff -r 28831853d1a8 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Fri May 18 10:47:59 2012 +0800
@@ -502,7 +502,7 @@ static int vcpupin_parse(char *cpu, libx
         return 0;
     }

-    if (libxl_cpumap_alloc(ctx, &exclude_cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &exclude_cpumap, 0)) {
         fprintf(stderr, "Error: Failed to allocate cpumap.\n");
         return ENOMEM;
     }
@@ -656,7 +656,7 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_list (config, "cpus", &cpus, 0, 1)) {
         int i, n_cpus = 0;

-        if (libxl_cpumap_alloc(ctx, &b_info->cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &b_info->cpumap, 0)) {
             fprintf(stderr, "Unable to allocate cpumap\n");
             exit(1);
         }
@@ -692,7 +692,7 @@ static void parse_config_data(const char
     else if (!xlu_cfg_get_string (config, "cpus", &buf, 0)) {
         char *buf2 = strdup(buf);

-        if (libxl_cpumap_alloc(ctx, &b_info->cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &b_info->cpumap, 0)) {
             fprintf(stderr, "Unable to allocate cpumap\n");
             exit(1);
         }
@@ -1767,7 +1767,9 @@ start:
     if (vcpu_to_pcpu) {
         libxl_cpumap vcpu_cpumap;

-        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        ret = libxl_cpumap_alloc(ctx, &vcpu_cpumap, 0);
+        if (ret)
+            goto error_out;
         for (i = 0; i < d_config.b_info.max_vcpus; i++) {

             if (vcpu_to_pcpu[i] != -1) {
@@ -3975,7 +3977,7 @@ static void vcpupin(const char *d, const

     find_domain(d);

-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         goto vcpupin_out;
     }

@@ -4029,7 +4031,7 @@ static void vcpuset(const char *d, const

     find_domain(d);

-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         fprintf(stderr, "libxl_cpumap_alloc failed\n");
         return;
     }
@@ -5887,7 +5889,7 @@ int main_cpupoolcreate(int argc, char **
         fprintf(stderr, "libxl_get_freecpus failed\n");
         goto out_cfg;
     }
-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         fprintf(stderr, "Failed to allocate cpumap\n");
         goto out_cfg;
     }
@@ -6254,7 +6256,7 @@ int main_cpupoolnumasplit(int argc, char
         return -ERROR_FAIL;
     }

-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         fprintf(stderr, "Failed to allocate cpumap\n");
         libxl_cputopology_list_free(topology, n_cpus);
         return -ERROR_FAIL;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 02:54:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 02:54:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVDKE-00056o-Uq; Fri, 18 May 2012 02:53:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SVDKE-00056j-1P
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 02:53:54 +0000
Received: from [85.158.139.83:41787] by server-5.bemta-5.messagelabs.com id
	FA/AE-13566-1C9B5BF4; Fri, 18 May 2012 02:53:53 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337309630!28997512!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM3Nzg1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22681 invoked from network); 18 May 2012 02:53:51 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-12.tower-182.messagelabs.com with SMTP;
	18 May 2012 02:53:51 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 17 May 2012 19:53:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="101460193"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 17 May 2012 19:53:46 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 17 May 2012 19:53:45 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 18 May 2012 10:53:43 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH]libxl: rewrite libxl_cpumap_alloc()
Thread-Index: Ac00oW8ZLgLyAb5vQo+/ghpsq9CHxg==
Date: Fri, 18 May 2012 02:53:42 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH]libxl: rewrite libxl_cpumap_alloc()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Allow libxl_cpumap_alloc to allocate memory of specific size. 
Max_cpus equals to zero means allocate the biggest possibly required map.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>

diff -r 28831853d1a8 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c       Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl.c       Fri May 18 10:47:59 2012 +0800
@@ -572,7 +572,7 @@ libxl_cpupoolinfo * libxl_list_cpupool(l
         ptr[i].poolid = info->cpupool_id;
         ptr[i].sched = info->sched_id;
         ptr[i].n_dom = info->n_dom;
-        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap, 0)) {
             xc_cpupool_infofree(ctx->xch, info);
             break;
         }
@@ -3036,7 +3036,7 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ct
     }

     for (*nb_vcpu = 0; *nb_vcpu <= domaininfo.max_vcpu_id; ++*nb_vcpu, ++ptr) {
-        if (libxl_cpumap_alloc(ctx, &ptr->cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &ptr->cpumap, 0)) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpumap");
             return NULL;
         }
@@ -3719,8 +3719,8 @@ int libxl_cpupool_destroy(libxl_ctx *ctx
     if ((info->cpupool_id != poolid) || (info->n_dom))
         goto out;

-    rc = ERROR_NOMEM;
-    if (libxl_cpumap_alloc(ctx, &cpumap))
+    rc = libxl_cpumap_alloc(ctx, &cpumap, 0);
+    if (rc)
         goto out;

     memcpy(cpumap.map, info->cpumap, cpumap.size);
diff -r 28831853d1a8 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl_create.c        Fri May 18 10:47:59 2012 +0800
@@ -146,8 +146,8 @@ int libxl__domain_build_info_setdefault(
         b_info->cur_vcpus = 1;

     if (!b_info->cpumap.size) {
-        if (libxl_cpumap_alloc(CTX, &b_info->cpumap))
-            return ERROR_NOMEM;
+        if (libxl_cpumap_alloc(CTX, &b_info->cpumap, 0))
+            return ERROR_FAIL;
         libxl_cpumap_set_any(&b_info->cpumap);
     }

diff -r 28831853d1a8 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl_utils.c Fri May 18 10:47:59 2012 +0800
@@ -488,19 +488,20 @@ int libxl_mac_to_device_nic(libxl_ctx *c
     return rc;
 }

-int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap)
+int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus)
 {
-    int max_cpus;
     int sz;

-    max_cpus = libxl_get_max_cpus(ctx);
-    if (max_cpus == 0)
-        return ERROR_FAIL;
+    if (max_cpus < 0) {
+        return ERROR_INVAL;
+    } else if (max_cpus == 0) {
+        max_cpus = libxl_get_max_cpus(ctx);
+        if (max_cpus == 0)
+            return ERROR_FAIL;
+    }

     sz = (max_cpus + 7) / 8;
-    cpumap->map = calloc(sz, sizeof(*cpumap->map));
-    if (!cpumap->map)
-        return ERROR_NOMEM;
+    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
     cpumap->size = sz;
     return 0;
 }
diff -r 28831853d1a8 tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/libxl_utils.h Fri May 18 10:47:59 2012 +0800
@@ -63,7 +63,7 @@ int libxl_devid_to_device_nic(libxl_ctx
 int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
                                libxl_device_disk *disk);

-int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap, int max_cpus);
 int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
 void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
diff -r 28831853d1a8 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Thu May 17 14:45:43 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Fri May 18 10:47:59 2012 +0800
@@ -502,7 +502,7 @@ static int vcpupin_parse(char *cpu, libx
         return 0;
     }

-    if (libxl_cpumap_alloc(ctx, &exclude_cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &exclude_cpumap, 0)) {
         fprintf(stderr, "Error: Failed to allocate cpumap.\n");
         return ENOMEM;
     }
@@ -656,7 +656,7 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_list (config, "cpus", &cpus, 0, 1)) {
         int i, n_cpus = 0;

-        if (libxl_cpumap_alloc(ctx, &b_info->cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &b_info->cpumap, 0)) {
             fprintf(stderr, "Unable to allocate cpumap\n");
             exit(1);
         }
@@ -692,7 +692,7 @@ static void parse_config_data(const char
     else if (!xlu_cfg_get_string (config, "cpus", &buf, 0)) {
         char *buf2 = strdup(buf);

-        if (libxl_cpumap_alloc(ctx, &b_info->cpumap)) {
+        if (libxl_cpumap_alloc(ctx, &b_info->cpumap, 0)) {
             fprintf(stderr, "Unable to allocate cpumap\n");
             exit(1);
         }
@@ -1767,7 +1767,9 @@ start:
     if (vcpu_to_pcpu) {
         libxl_cpumap vcpu_cpumap;

-        libxl_cpumap_alloc(ctx, &vcpu_cpumap);
+        ret = libxl_cpumap_alloc(ctx, &vcpu_cpumap, 0);
+        if (ret)
+            goto error_out;
         for (i = 0; i < d_config.b_info.max_vcpus; i++) {

             if (vcpu_to_pcpu[i] != -1) {
@@ -3975,7 +3977,7 @@ static void vcpupin(const char *d, const

     find_domain(d);

-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         goto vcpupin_out;
     }

@@ -4029,7 +4031,7 @@ static void vcpuset(const char *d, const

     find_domain(d);

-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         fprintf(stderr, "libxl_cpumap_alloc failed\n");
         return;
     }
@@ -5887,7 +5889,7 @@ int main_cpupoolcreate(int argc, char **
         fprintf(stderr, "libxl_get_freecpus failed\n");
         goto out_cfg;
     }
-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         fprintf(stderr, "Failed to allocate cpumap\n");
         goto out_cfg;
     }
@@ -6254,7 +6256,7 @@ int main_cpupoolnumasplit(int argc, char
         return -ERROR_FAIL;
     }

-    if (libxl_cpumap_alloc(ctx, &cpumap)) {
+    if (libxl_cpumap_alloc(ctx, &cpumap, 0)) {
         fprintf(stderr, "Failed to allocate cpumap\n");
         libxl_cputopology_list_free(topology, n_cpus);
         return -ERROR_FAIL;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 04:31:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 04:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVEps-00062s-SJ; Fri, 18 May 2012 04:30:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVEpq-00062n-WE
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 04:30:39 +0000
Received: from [85.158.138.51:22301] by server-10.bemta-3.messagelabs.com id
	A1/93-29478-E60D5BF4; Fri, 18 May 2012 04:30:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337315437!27793246!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4459 invoked from network); 18 May 2012 04:30:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 04:30:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,614,1330905600"; d="scan'208";a="12541209"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 04:30:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 05:30:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVEpo-0005rC-2T;
	Fri, 18 May 2012 04:30:36 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVEpn-0006Op-QC;
	Fri, 18 May 2012 05:30:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12915-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 05:30:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12915: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12915 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12915/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  28831853d1a8
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 04:31:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 04:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVEps-00062s-SJ; Fri, 18 May 2012 04:30:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVEpq-00062n-WE
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 04:30:39 +0000
Received: from [85.158.138.51:22301] by server-10.bemta-3.messagelabs.com id
	A1/93-29478-E60D5BF4; Fri, 18 May 2012 04:30:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337315437!27793246!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4459 invoked from network); 18 May 2012 04:30:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 04:30:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,614,1330905600"; d="scan'208";a="12541209"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 04:30:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 05:30:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVEpo-0005rC-2T;
	Fri, 18 May 2012 04:30:36 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVEpn-0006Op-QC;
	Fri, 18 May 2012 05:30:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12915-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 05:30:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12915: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12915 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12915/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  28831853d1a8
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 07:29:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 07:29:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVHci-0007QW-7y; Fri, 18 May 2012 07:29:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SVHcg-0007QR-Ne
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 07:29:14 +0000
Received: from [85.158.143.35:47749] by server-2.bemta-4.messagelabs.com id
	D1/D0-12211-A4AF5BF4; Fri, 18 May 2012 07:29:14 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337326141!11635669!1
X-Originating-IP: [137.65.250.214]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17294 invoked from network); 18 May 2012 07:29:06 -0000
Received: from soto.provo.novell.com (HELO soto.provo.novell.com)
	(137.65.250.214) by server-11.tower-21.messagelabs.com with SMTP;
	18 May 2012 07:29:05 -0000
Received: from INET-RELAY2-MTA by soto.provo.novell.com
	with Novell_GroupWise; Fri, 18 May 2012 01:29:00 -0600
Message-Id: <4FB66AAB020000300000FDAD@soto.provo.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 18 May 2012 01:28:43 -0600
From: "Bamvor Jian Zhang" <bjzhang@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
	<4FB254C2020000300000F28A@soto.provo.novell.com>
	<1337073235.14297.20.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337073235.14297.20.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jim Fehlig <JFEHLIG@suse.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Ian

 >>>Ian Campbell <Ian.Campbell@citrix.com> wrote: 
> On Tue, 2012-05-15 at 06:06 +0100, Bamvor Jian Zhang wrote: 
> > >> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path) 
> > >> +{ 
> > > 
> > >We already have various functions to refer to and open consoles, which 
> > >have much of this functionality in them already.  That shouldn't be 
> > >duplicated. 
> > > 
> > >Also we need to make a policy decision about whether the fact that the 
> > >console looks like a tty is a part of the API. 
>  
> > sorry i only found one api about open console is libxl_console_exec. 
> > libxl_console_exec call xenconsole command directly which is not 
> > compatible with libvirt open console api. libvirt open console want a 
> > console device path and handle the console by libvirt itself. libvirt 
> > xen(not xenlight) driver read console path from xenstore directly 
> > which is prohibited by libvirt xenlight drvier.  
> > So, because these reasons, i guess add this simple api to return 
> > console path to libvirt is a good choice. it is useful for libvirt and 
> > do not break libxl api.  
>  
> We actually discussed the existing interface in the context of the libxl 
> stable API (sub-thread starting at 
> <20357.44324.27939.514126@mariner.uk.xensource.com> which has a lot of 
> sub-threads. Another interesting bit starts at 
> <20358.47143.994639.76453@mariner.uk.xensource.com>) 
>  
> In that thread IanJ said: 
> > ]   int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass); 
> > ]   int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,  
> libxl_console_type type); 
> > ]   /* libxl_primary_console_exec finds the domid and console number 
> > ]    * corresponding to the primary console of the given vm, then calls 
> > ]    * libxl_console_exec with the right arguments (domid might be  
> different 
> > ]    * if the guest is using stubdoms). 
> > ]    * This function can be called after creating the device model, in 
> > ]    * case of HVM guests, and before libxl_run_bootloader in case of PV 
> > ]    * guests using pygrub. */ 
> > ]   int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm); 
> >  
> > These functions should not exec things for you; they should tell you 
> > the parameters.  Any execing helpers should be in libxlu. 
>  
> and later on he said, in response to some of my musings: 
> > But what if your vnc viewer doesn't have the command line options 
> > these functions expect ?  libxl_vncviewer_* should give you an idl 
> > struct containing the ip address (or perhaps the domain name), port 
> > number, and password. 
>  
> I think the same can be said of libxl_console_*. 
>  
> In the end I decided: 
> > this seems like 4.3 material at this stage. 
> >  
> > I'd expect that the functions which behaved this way would not be 
> > called ..._exec (perhaps ..._get_params or so) so implementing the 
> > proper interface in 4.3 won't cause a compat issue. 
>  
> I think I'd be happy to make a freeze exception for a patch which 
> implemented the returning of an IDL struct representing the console 
> device for the benefit of libvirt, so long as it is pretty much self 
> contained (which I think it will be). 
thanks. I am working on it. i will send the patch v2 soon. 

> I don't see any need for it to be a requirement to switch xl over to 
> this new interface at this stage, but we could mark the exec functions 
> as already deprecated in 4.2 and plan to do so (with associated libxlu 
> helpers) in 4.3. 
>  
> This still leaves us having to decide if we want to expose the fact that 
> the console is a tty. Perhaps a compromise would be to include a 
> libxl_console_type enum and KeyedUnion of params, currently the only 
> possible value for the enum would be "PTY" (or "TTY")? (or maybe we can 
> leave that until the second one comes along...) 
>  
> Ian. 
>  

Bamvor


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 07:29:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 07:29:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVHci-0007QW-7y; Fri, 18 May 2012 07:29:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SVHcg-0007QR-Ne
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 07:29:14 +0000
Received: from [85.158.143.35:47749] by server-2.bemta-4.messagelabs.com id
	D1/D0-12211-A4AF5BF4; Fri, 18 May 2012 07:29:14 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337326141!11635669!1
X-Originating-IP: [137.65.250.214]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17294 invoked from network); 18 May 2012 07:29:06 -0000
Received: from soto.provo.novell.com (HELO soto.provo.novell.com)
	(137.65.250.214) by server-11.tower-21.messagelabs.com with SMTP;
	18 May 2012 07:29:05 -0000
Received: from INET-RELAY2-MTA by soto.provo.novell.com
	with Novell_GroupWise; Fri, 18 May 2012 01:29:00 -0600
Message-Id: <4FB66AAB020000300000FDAD@soto.provo.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 18 May 2012 01:28:43 -0600
From: "Bamvor Jian Zhang" <bjzhang@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
	<4FB254C2020000300000F28A@soto.provo.novell.com>
	<1337073235.14297.20.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337073235.14297.20.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jim Fehlig <JFEHLIG@suse.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Ian

 >>>Ian Campbell <Ian.Campbell@citrix.com> wrote: 
> On Tue, 2012-05-15 at 06:06 +0100, Bamvor Jian Zhang wrote: 
> > >> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path) 
> > >> +{ 
> > > 
> > >We already have various functions to refer to and open consoles, which 
> > >have much of this functionality in them already.  That shouldn't be 
> > >duplicated. 
> > > 
> > >Also we need to make a policy decision about whether the fact that the 
> > >console looks like a tty is a part of the API. 
>  
> > sorry i only found one api about open console is libxl_console_exec. 
> > libxl_console_exec call xenconsole command directly which is not 
> > compatible with libvirt open console api. libvirt open console want a 
> > console device path and handle the console by libvirt itself. libvirt 
> > xen(not xenlight) driver read console path from xenstore directly 
> > which is prohibited by libvirt xenlight drvier.  
> > So, because these reasons, i guess add this simple api to return 
> > console path to libvirt is a good choice. it is useful for libvirt and 
> > do not break libxl api.  
>  
> We actually discussed the existing interface in the context of the libxl 
> stable API (sub-thread starting at 
> <20357.44324.27939.514126@mariner.uk.xensource.com> which has a lot of 
> sub-threads. Another interesting bit starts at 
> <20358.47143.994639.76453@mariner.uk.xensource.com>) 
>  
> In that thread IanJ said: 
> > ]   int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass); 
> > ]   int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,  
> libxl_console_type type); 
> > ]   /* libxl_primary_console_exec finds the domid and console number 
> > ]    * corresponding to the primary console of the given vm, then calls 
> > ]    * libxl_console_exec with the right arguments (domid might be  
> different 
> > ]    * if the guest is using stubdoms). 
> > ]    * This function can be called after creating the device model, in 
> > ]    * case of HVM guests, and before libxl_run_bootloader in case of PV 
> > ]    * guests using pygrub. */ 
> > ]   int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm); 
> >  
> > These functions should not exec things for you; they should tell you 
> > the parameters.  Any execing helpers should be in libxlu. 
>  
> and later on he said, in response to some of my musings: 
> > But what if your vnc viewer doesn't have the command line options 
> > these functions expect ?  libxl_vncviewer_* should give you an idl 
> > struct containing the ip address (or perhaps the domain name), port 
> > number, and password. 
>  
> I think the same can be said of libxl_console_*. 
>  
> In the end I decided: 
> > this seems like 4.3 material at this stage. 
> >  
> > I'd expect that the functions which behaved this way would not be 
> > called ..._exec (perhaps ..._get_params or so) so implementing the 
> > proper interface in 4.3 won't cause a compat issue. 
>  
> I think I'd be happy to make a freeze exception for a patch which 
> implemented the returning of an IDL struct representing the console 
> device for the benefit of libvirt, so long as it is pretty much self 
> contained (which I think it will be). 
thanks. I am working on it. i will send the patch v2 soon. 

> I don't see any need for it to be a requirement to switch xl over to 
> this new interface at this stage, but we could mark the exec functions 
> as already deprecated in 4.2 and plan to do so (with associated libxlu 
> helpers) in 4.3. 
>  
> This still leaves us having to decide if we want to expose the fact that 
> the console is a tty. Perhaps a compromise would be to include a 
> libxl_console_type enum and KeyedUnion of params, currently the only 
> possible value for the enum would be "PTY" (or "TTY")? (or maybe we can 
> leave that until the second one comes along...) 
>  
> Ian. 
>  

Bamvor


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:26:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIVd-0008Ip-N5; Fri, 18 May 2012 08:26:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVIVb-0008Ik-Ro
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:26:00 +0000
Received: from [85.158.139.83:15448] by server-12.bemta-5.messagelabs.com id
	EC/40-01344-79706BF4; Fri, 18 May 2012 08:25:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337329557!28510204!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23190 invoked from network); 18 May 2012 08:25:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:25:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330905600"; d="scan'208";a="12543739"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 08:25:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 09:25:43 +0100
Message-ID: <1337329542.22316.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 09:25:42 +0100
In-Reply-To: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> [...]
> @@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc
>  void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
>  {
>      STATE_AO_GC(bl->ao);
> -    libxl_domain_build_info *info = bl->info;
> +    const libxl_domain_build_info *info = bl->info;
>      uint32_t domid = bl->domid;
>      char *logfile_tmp = NULL;
>      int rc, r;
> +    const char *bootloader;
> 
>      libxl__bootloader_init(bl);
> 
> -    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
> +    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
> +        LOG(DEBUG, "not a PV domain, skipping bootloader");
>          rc = 0;
>          goto out_ok;
>      }
> 
> +    if (!info->u.pv.bootloader) {
> +        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
> +        bl->kernel->path = bl->info->u.pv.kernel;
> +        bl->ramdisk->path = bl->info->u.pv.ramdisk;
> +        bl->cmdline = bl->info->u.pv.cmdline;
> +        rc = 0;
> +        goto out_ok;
> +    }

I'm not at all sure about this. Is it valid for an async operation to
keep references to the parameters from the caller and to use them for
the duration of the operation? IOW is there a requirement that the
caller keeps the arguments live until the op completes? It's seems
obvious that there should but I thought I'd seen a comment to the
contrary somewhere (which I now can't see, perhaps I was thinking about
the lack of a requirement to keep the ao_how valid).

Anyway, I don't think I make this any worse here (the reference to binfo
is pre-existing, this just creates another reference to strings therein,
which are dead by the time the ao completes).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:26:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIVd-0008Ip-N5; Fri, 18 May 2012 08:26:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVIVb-0008Ik-Ro
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:26:00 +0000
Received: from [85.158.139.83:15448] by server-12.bemta-5.messagelabs.com id
	EC/40-01344-79706BF4; Fri, 18 May 2012 08:25:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337329557!28510204!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23190 invoked from network); 18 May 2012 08:25:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:25:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330905600"; d="scan'208";a="12543739"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 08:25:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 09:25:43 +0100
Message-ID: <1337329542.22316.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 09:25:42 +0100
In-Reply-To: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> [...]
> @@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc
>  void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
>  {
>      STATE_AO_GC(bl->ao);
> -    libxl_domain_build_info *info = bl->info;
> +    const libxl_domain_build_info *info = bl->info;
>      uint32_t domid = bl->domid;
>      char *logfile_tmp = NULL;
>      int rc, r;
> +    const char *bootloader;
> 
>      libxl__bootloader_init(bl);
> 
> -    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
> +    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
> +        LOG(DEBUG, "not a PV domain, skipping bootloader");
>          rc = 0;
>          goto out_ok;
>      }
> 
> +    if (!info->u.pv.bootloader) {
> +        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
> +        bl->kernel->path = bl->info->u.pv.kernel;
> +        bl->ramdisk->path = bl->info->u.pv.ramdisk;
> +        bl->cmdline = bl->info->u.pv.cmdline;
> +        rc = 0;
> +        goto out_ok;
> +    }

I'm not at all sure about this. Is it valid for an async operation to
keep references to the parameters from the caller and to use them for
the duration of the operation? IOW is there a requirement that the
caller keeps the arguments live until the op completes? It's seems
obvious that there should but I thought I'd seen a comment to the
contrary somewhere (which I now can't see, perhaps I was thinking about
the lack of a requirement to keep the ao_how valid).

Anyway, I don't think I make this any worse here (the reference to binfo
is pre-existing, this just creates another reference to strings therein,
which are dead by the time the ao completes).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:37:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:37:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIge-0008Vr-18; Fri, 18 May 2012 08:37:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVIgc-0008Vm-Hx
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:37:22 +0000
Received: from [85.158.138.51:20757] by server-12.bemta-3.messagelabs.com id
	9D/75-29760-14A06BF4; Fri, 18 May 2012 08:37:21 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337330238!9089149!1
X-Originating-IP: [216.32.180.16]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10277 invoked from network); 18 May 2012 08:37:20 -0000
Received: from va3ehsobe006.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.16)
	by server-13.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 08:37:20 -0000
Received: from mail87-va3-R.bigfish.com (10.7.14.242) by
	VA3EHSOBE003.bigfish.com (10.7.40.23) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 08:37:09 +0000
Received: from mail87-va3 (localhost [127.0.0.1])	by mail87-va3-R.bigfish.com
	(Postfix) with ESMTP id 329692A0354;
	Fri, 18 May 2012 08:37:09 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
Received: from mail87-va3 (localhost.localdomain [127.0.0.1]) by mail87-va3
	(MessageSwitch) id 1337330226747759_26507;
	Fri, 18 May 2012 08:37:06 +0000 (UTC)
Received: from VA3EHSMHS012.bigfish.com (unknown [10.7.14.254])	by
	mail87-va3.bigfish.com (Postfix) with ESMTP id B2A33340047;
	Fri, 18 May 2012 08:37:06 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS012.bigfish.com (10.7.99.22) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 08:37:06 +0000
X-WSS-ID: 0M47MM1-01-0JS-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 248601028053;	Fri, 18 May 2012 03:37:13 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 03:44:02 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 03:37:13 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	04:37:08 -0400
Message-ID: <4FB60A32.3080306@amd.com>
Date: Fri, 18 May 2012 10:37:06 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337267689.7781.99.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/17/12 17:14, Ian Campbell wrote:

> On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
>> Ian Campbell wrote:
>>> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>>>> Ian Campbell wrote:
>>>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>>>> libxl.h is already present in the include search path, the old one was
>>>>>> included instead of the new one, giving compilation errors. Since
>>>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>>>> the path to libxl.h include.
>>>>>>
>>>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>>>> old header files in the include path, Linux seems to not have this
>>>>>> problem.
>>>>> Should this be include<>   and not "", since libxl.h isn't in the current
>>>>> dir in this case?
>>>>>
>>>>> Is the right fix to make sure that the in-tree -I lines come first?
>>>>> Ian.
>>>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>>>> come first, because the gcc options are automatically generated by
>>>> python build tools (distutils&  friends...), so we cannot touch much of
>>>> this (I've looked at distutils.core options, and it seems to be no way
>>>> of setting an order on compiler options, but I'm no expert on python C
>>>> extensions building), so unless we craft our own makefile to build this
>>>> python stuff I think we are stuck with something like this.
>>>
>>> Surely distutils puts user supplied options first before system options?
>>> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>>>
>>>         # Put the Python "system" include dir at the end, so that
>>>          # any local include dirs take precedence.
>>>          self.include_dirs.append(py_include)
>>>          if plat_py_include != py_include:
>>>              self.include_dirs.append(plat_py_include)
>>>
>>> So it seems like this is the intention.
>>>
>>> Are you sure this isn't just a bug in your version of distutils or
>>> something like that?
>>>
>>> My python xl builds end up as:
>>>          building 'xl' extension
>>>          gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>>>          -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>>>          -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>>          -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>>>          -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>>>          -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>>>          -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>>>          -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>>          -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>>>          build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>>>          -fno-strict-aliasing -Werror
>>>
>>> Which has our local -I options before all the others -- which is
>>> sensible. What do you see with your system?
>>
>> This is what I see:
>>
>> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g 
>> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes 
>> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d 
>> -fno-optimize-sibling-calls" python2.7 setup.py build
>> running build
>> running build_py
>> running build_ext
>> building 'xl' extension
>>
>> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1 
>> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall 
>> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD 
>> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include 
>> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl 
>> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o 
>> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o 
>> -fno-strict-aliasing -Werror
>>
>> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: error: 
>> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use 
>> in this function)
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier 
>> is reported only once for each function it appears in
>> error: command 'gcc' failed with exit status 1
>> gmake: *** [build] Error 1
>> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
>>
>> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include 
>> -I/usr/pkg/include" comes even before our passed CFLAGS.
>>
>> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
>>
>>          # Put the Python "system" include dir at the end, so that
>>          # any local include dirs take precedence.
>>          self.include_dirs.append(py_include)
>>          if plat_py_include != py_include:
>>              self.include_dirs.append(plat_py_include)
>>
>> 	[...]
>>
>>
>>          # Finally add the user include and library directories if requested
>>          if self.user:
>>              user_include = os.path.join(USER_BASE, "include")
>>              user_lib = os.path.join(USER_BASE, "lib")
>>              if os.path.isdir(user_include):
>>                  self.include_dirs.append(user_include)
>>              if os.path.isdir(user_lib):
>>                  self.library_dirs.append(user_lib)
>>                  self.rpath.append(user_lib)
>>
>> So it says it puts them at the end, but it doesn't do so. I've looked at 
>> Python 2.7 original source, and this is not a NetBSD port specific bug.
> 
> You are sure this is that snippet of code adding this? Where
> does /usr/pkg/include come from? This only appears to add one -I and you
> have two extra.
>

> You aren't using some EXTRA_CFLAGS or similar are you?


/usr/pkg/include comes from setting PREPEND_LIB=/usr/pkg/include
when running configure.

Christoph

> Ian.
> 
>>
>>> Ian.


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:37:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:37:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIge-0008Vr-18; Fri, 18 May 2012 08:37:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVIgc-0008Vm-Hx
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:37:22 +0000
Received: from [85.158.138.51:20757] by server-12.bemta-3.messagelabs.com id
	9D/75-29760-14A06BF4; Fri, 18 May 2012 08:37:21 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337330238!9089149!1
X-Originating-IP: [216.32.180.16]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10277 invoked from network); 18 May 2012 08:37:20 -0000
Received: from va3ehsobe006.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.16)
	by server-13.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 08:37:20 -0000
Received: from mail87-va3-R.bigfish.com (10.7.14.242) by
	VA3EHSOBE003.bigfish.com (10.7.40.23) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 08:37:09 +0000
Received: from mail87-va3 (localhost [127.0.0.1])	by mail87-va3-R.bigfish.com
	(Postfix) with ESMTP id 329692A0354;
	Fri, 18 May 2012 08:37:09 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
Received: from mail87-va3 (localhost.localdomain [127.0.0.1]) by mail87-va3
	(MessageSwitch) id 1337330226747759_26507;
	Fri, 18 May 2012 08:37:06 +0000 (UTC)
Received: from VA3EHSMHS012.bigfish.com (unknown [10.7.14.254])	by
	mail87-va3.bigfish.com (Postfix) with ESMTP id B2A33340047;
	Fri, 18 May 2012 08:37:06 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS012.bigfish.com (10.7.99.22) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 08:37:06 +0000
X-WSS-ID: 0M47MM1-01-0JS-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 248601028053;	Fri, 18 May 2012 03:37:13 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 03:44:02 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 03:37:13 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	04:37:08 -0400
Message-ID: <4FB60A32.3080306@amd.com>
Date: Fri, 18 May 2012 10:37:06 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337267689.7781.99.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/17/12 17:14, Ian Campbell wrote:

> On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
>> Ian Campbell wrote:
>>> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>>>> Ian Campbell wrote:
>>>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>>>> libxl.h is already present in the include search path, the old one was
>>>>>> included instead of the new one, giving compilation errors. Since
>>>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>>>> the path to libxl.h include.
>>>>>>
>>>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>>>> old header files in the include path, Linux seems to not have this
>>>>>> problem.
>>>>> Should this be include<>   and not "", since libxl.h isn't in the current
>>>>> dir in this case?
>>>>>
>>>>> Is the right fix to make sure that the in-tree -I lines come first?
>>>>> Ian.
>>>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>>>> come first, because the gcc options are automatically generated by
>>>> python build tools (distutils&  friends...), so we cannot touch much of
>>>> this (I've looked at distutils.core options, and it seems to be no way
>>>> of setting an order on compiler options, but I'm no expert on python C
>>>> extensions building), so unless we craft our own makefile to build this
>>>> python stuff I think we are stuck with something like this.
>>>
>>> Surely distutils puts user supplied options first before system options?
>>> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>>>
>>>         # Put the Python "system" include dir at the end, so that
>>>          # any local include dirs take precedence.
>>>          self.include_dirs.append(py_include)
>>>          if plat_py_include != py_include:
>>>              self.include_dirs.append(plat_py_include)
>>>
>>> So it seems like this is the intention.
>>>
>>> Are you sure this isn't just a bug in your version of distutils or
>>> something like that?
>>>
>>> My python xl builds end up as:
>>>          building 'xl' extension
>>>          gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>>>          -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>>>          -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>>          -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>>>          -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>>>          -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>>>          -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>>>          -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>>          -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>>>          build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>>>          -fno-strict-aliasing -Werror
>>>
>>> Which has our local -I options before all the others -- which is
>>> sensible. What do you see with your system?
>>
>> This is what I see:
>>
>> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g 
>> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes 
>> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d 
>> -fno-optimize-sibling-calls" python2.7 setup.py build
>> running build
>> running build_py
>> running build_ext
>> building 'xl' extension
>>
>> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1 
>> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall 
>> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD 
>> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include 
>> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl 
>> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o 
>> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o 
>> -fno-strict-aliasing -Werror
>>
>> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: error: 
>> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use 
>> in this function)
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier 
>> is reported only once for each function it appears in
>> error: command 'gcc' failed with exit status 1
>> gmake: *** [build] Error 1
>> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
>>
>> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include 
>> -I/usr/pkg/include" comes even before our passed CFLAGS.
>>
>> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
>>
>>          # Put the Python "system" include dir at the end, so that
>>          # any local include dirs take precedence.
>>          self.include_dirs.append(py_include)
>>          if plat_py_include != py_include:
>>              self.include_dirs.append(plat_py_include)
>>
>> 	[...]
>>
>>
>>          # Finally add the user include and library directories if requested
>>          if self.user:
>>              user_include = os.path.join(USER_BASE, "include")
>>              user_lib = os.path.join(USER_BASE, "lib")
>>              if os.path.isdir(user_include):
>>                  self.include_dirs.append(user_include)
>>              if os.path.isdir(user_lib):
>>                  self.library_dirs.append(user_lib)
>>                  self.rpath.append(user_lib)
>>
>> So it says it puts them at the end, but it doesn't do so. I've looked at 
>> Python 2.7 original source, and this is not a NetBSD port specific bug.
> 
> You are sure this is that snippet of code adding this? Where
> does /usr/pkg/include come from? This only appears to add one -I and you
> have two extra.
>

> You aren't using some EXTRA_CFLAGS or similar are you?


/usr/pkg/include comes from setting PREPEND_LIB=/usr/pkg/include
when running configure.

Christoph

> Ian.
> 
>>
>>> Ian.


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:41:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:41:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIkW-0000An-MZ; Fri, 18 May 2012 08:41:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVIkW-0000Ah-0U
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:41:24 +0000
Received: from [193.109.254.147:25018] by server-11.bemta-14.messagelabs.com
	id F5/23-05858-33B06BF4; Fri, 18 May 2012 08:41:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337330482!9705610!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32603 invoked from network); 18 May 2012 08:41:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:41:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330905600"; d="scan'208";a="12544080"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 08:41:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 09:41:10 +0100
Message-ID: <1337330469.22316.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 09:41:09 +0100
In-Reply-To: <4FB60A32.3080306@amd.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60A32.3080306@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 09:37 +0100, Christoph Egger wrote:
> 
> > You aren't using some EXTRA_CFLAGS or similar are you?

> /usr/pkg/include comes from setting PREPEND_LIB=/usr/pkg/include
> when running configure.

Shouldn't you be using APPEND_LIB for this instead?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:41:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:41:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIkW-0000An-MZ; Fri, 18 May 2012 08:41:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVIkW-0000Ah-0U
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:41:24 +0000
Received: from [193.109.254.147:25018] by server-11.bemta-14.messagelabs.com
	id F5/23-05858-33B06BF4; Fri, 18 May 2012 08:41:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337330482!9705610!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32603 invoked from network); 18 May 2012 08:41:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:41:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330905600"; d="scan'208";a="12544080"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 08:41:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 09:41:10 +0100
Message-ID: <1337330469.22316.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 09:41:09 +0100
In-Reply-To: <4FB60A32.3080306@amd.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60A32.3080306@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 09:37 +0100, Christoph Egger wrote:
> 
> > You aren't using some EXTRA_CFLAGS or similar are you?

> /usr/pkg/include comes from setting PREPEND_LIB=/usr/pkg/include
> when running configure.

Shouldn't you be using APPEND_LIB for this instead?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:41:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIkc-0000BA-2f; Fri, 18 May 2012 08:41:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVIka-0000B0-Np
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:41:29 +0000
Received: from [193.109.254.147:27972] by server-10.bemta-14.messagelabs.com
	id 3B/8B-05847-83B06BF4; Fri, 18 May 2012 08:41:28 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337330486!9208653!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ5MTQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15640 invoked from network); 18 May 2012 08:41:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:41:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330923600"; d="scan'208";a="25323266"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 04:41:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 04:41:25 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVIkX-0000JW-1k;
	Fri, 18 May 2012 09:41:25 +0100
Message-ID: <4FB60B35.4050400@citrix.com>
Date: Fri, 18 May 2012 09:41:25 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337267689.7781.99.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
>> Ian Campbell wrote:
>>> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>>>> Ian Campbell wrote:
>>>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>>>> libxl.h is already present in the include search path, the old one was
>>>>>> included instead of the new one, giving compilation errors. Since
>>>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>>>> the path to libxl.h include.
>>>>>>
>>>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>>>> old header files in the include path, Linux seems to not have this
>>>>>> problem.
>>>>> Should this be include<>    and not "", since libxl.h isn't in the current
>>>>> dir in this case?
>>>>>
>>>>> Is the right fix to make sure that the in-tree -I lines come first?
>>>>> Ian.
>>>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>>>> come first, because the gcc options are automatically generated by
>>>> python build tools (distutils&   friends...), so we cannot touch much of
>>>> this (I've looked at distutils.core options, and it seems to be no way
>>>> of setting an order on compiler options, but I'm no expert on python C
>>>> extensions building), so unless we craft our own makefile to build this
>>>> python stuff I think we are stuck with something like this.
>>> Surely distutils puts user supplied options first before system options?
>>> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>>>
>>>          # Put the Python "system" include dir at the end, so that
>>>           # any local include dirs take precedence.
>>>           self.include_dirs.append(py_include)
>>>           if plat_py_include != py_include:
>>>               self.include_dirs.append(plat_py_include)
>>>
>>> So it seems like this is the intention.
>>>
>>> Are you sure this isn't just a bug in your version of distutils or
>>> something like that?
>>>
>>> My python xl builds end up as:
>>>           building 'xl' extension
>>>           gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>>>           -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>>>           -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>>           -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>>>           -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>>>           -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>>>           -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>>>           -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>>           -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>>>           build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>>>           -fno-strict-aliasing -Werror
>>>
>>> Which has our local -I options before all the others -- which is
>>> sensible. What do you see with your system?
>> This is what I see:
>>
>> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g
>> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d
>> -fno-optimize-sibling-calls" python2.7 setup.py build
>> running build
>> running build_py
>> running build_ext
>> building 'xl' extension
>>
>> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1
>> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
>> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD
>> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include
>> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o
>> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o
>> -fno-strict-aliasing -Werror
>>
>> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: error:
>> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use
>> in this function)
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier
>> is reported only once for each function it appears in
>> error: command 'gcc' failed with exit status 1
>> gmake: *** [build] Error 1
>> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
>>
>> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include
>> -I/usr/pkg/include" comes even before our passed CFLAGS.
>>
>> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
>>
>>           # Put the Python "system" include dir at the end, so that
>>           # any local include dirs take precedence.
>>           self.include_dirs.append(py_include)
>>           if plat_py_include != py_include:
>>               self.include_dirs.append(plat_py_include)
>>
>> 	[...]
>>
>>
>>           # Finally add the user include and library directories if requested
>>           if self.user:
>>               user_include = os.path.join(USER_BASE, "include")
>>               user_lib = os.path.join(USER_BASE, "lib")
>>               if os.path.isdir(user_include):
>>                   self.include_dirs.append(user_include)
>>               if os.path.isdir(user_lib):
>>                   self.library_dirs.append(user_lib)
>>                   self.rpath.append(user_lib)
>>
>> So it says it puts them at the end, but it doesn't do so. I've looked at
>> Python 2.7 original source, and this is not a NetBSD port specific bug.
>
> You are sure this is that snippet of code adding this? Where
> does /usr/pkg/include come from? This only appears to add one -I and you
> have two extra.
>
> You aren't using some EXTRA_CFLAGS or similar are you?

This fault was due to the way NetBSD pkgsrc builds Python, passing 
OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script, 
which then gets saved to a Makefile that is parsed by distutils and 
appended to the build of every extension. A bug report has already been 
sent:

http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html

Anyway, I don't think setting libxl.h path in genwrap.py is such a bad 
idea, this file gets regenerated during every build, and we can make 
sure we are always including the correct header (which should happen 
automatically unless there are some underlying problems with Python, 
like on NetBSD).

> Ian.
>
>>> Ian.
>>>
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:41:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIkc-0000BA-2f; Fri, 18 May 2012 08:41:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVIka-0000B0-Np
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:41:29 +0000
Received: from [193.109.254.147:27972] by server-10.bemta-14.messagelabs.com
	id 3B/8B-05847-83B06BF4; Fri, 18 May 2012 08:41:28 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337330486!9208653!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ5MTQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15640 invoked from network); 18 May 2012 08:41:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:41:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330923600"; d="scan'208";a="25323266"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 04:41:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 04:41:25 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVIkX-0000JW-1k;
	Fri, 18 May 2012 09:41:25 +0100
Message-ID: <4FB60B35.4050400@citrix.com>
Date: Fri, 18 May 2012 09:41:25 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337267689.7781.99.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
>> Ian Campbell wrote:
>>> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>>>> Ian Campbell wrote:
>>>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>>>> libxl.h is already present in the include search path, the old one was
>>>>>> included instead of the new one, giving compilation errors. Since
>>>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>>>> the path to libxl.h include.
>>>>>>
>>>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>>>> old header files in the include path, Linux seems to not have this
>>>>>> problem.
>>>>> Should this be include<>    and not "", since libxl.h isn't in the current
>>>>> dir in this case?
>>>>>
>>>>> Is the right fix to make sure that the in-tree -I lines come first?
>>>>> Ian.
>>>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>>>> come first, because the gcc options are automatically generated by
>>>> python build tools (distutils&   friends...), so we cannot touch much of
>>>> this (I've looked at distutils.core options, and it seems to be no way
>>>> of setting an order on compiler options, but I'm no expert on python C
>>>> extensions building), so unless we craft our own makefile to build this
>>>> python stuff I think we are stuck with something like this.
>>> Surely distutils puts user supplied options first before system options?
>>> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>>>
>>>          # Put the Python "system" include dir at the end, so that
>>>           # any local include dirs take precedence.
>>>           self.include_dirs.append(py_include)
>>>           if plat_py_include != py_include:
>>>               self.include_dirs.append(plat_py_include)
>>>
>>> So it seems like this is the intention.
>>>
>>> Are you sure this isn't just a bug in your version of distutils or
>>> something like that?
>>>
>>> My python xl builds end up as:
>>>           building 'xl' extension
>>>           gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>>>           -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>>>           -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>>           -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>>>           -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>>>           -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>>>           -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>>>           -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>>           -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>>>           build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>>>           -fno-strict-aliasing -Werror
>>>
>>> Which has our local -I options before all the others -- which is
>>> sensible. What do you see with your system?
>> This is what I see:
>>
>> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g
>> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d
>> -fno-optimize-sibling-calls" python2.7 setup.py build
>> running build
>> running build_py
>> running build_ext
>> building 'xl' extension
>>
>> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1
>> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
>> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD
>> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include
>> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o
>> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o
>> -fno-strict-aliasing -Werror
>>
>> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: error:
>> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use
>> in this function)
>> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier
>> is reported only once for each function it appears in
>> error: command 'gcc' failed with exit status 1
>> gmake: *** [build] Error 1
>> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
>>
>> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include
>> -I/usr/pkg/include" comes even before our passed CFLAGS.
>>
>> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
>>
>>           # Put the Python "system" include dir at the end, so that
>>           # any local include dirs take precedence.
>>           self.include_dirs.append(py_include)
>>           if plat_py_include != py_include:
>>               self.include_dirs.append(plat_py_include)
>>
>> 	[...]
>>
>>
>>           # Finally add the user include and library directories if requested
>>           if self.user:
>>               user_include = os.path.join(USER_BASE, "include")
>>               user_lib = os.path.join(USER_BASE, "lib")
>>               if os.path.isdir(user_include):
>>                   self.include_dirs.append(user_include)
>>               if os.path.isdir(user_lib):
>>                   self.library_dirs.append(user_lib)
>>                   self.rpath.append(user_lib)
>>
>> So it says it puts them at the end, but it doesn't do so. I've looked at
>> Python 2.7 original source, and this is not a NetBSD port specific bug.
>
> You are sure this is that snippet of code adding this? Where
> does /usr/pkg/include come from? This only appears to add one -I and you
> have two extra.
>
> You aren't using some EXTRA_CFLAGS or similar are you?

This fault was due to the way NetBSD pkgsrc builds Python, passing 
OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script, 
which then gets saved to a Makefile that is parsed by distutils and 
appended to the build of every extension. A bug report has already been 
sent:

http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html

Anyway, I don't think setting libxl.h path in genwrap.py is such a bad 
idea, this file gets regenerated during every build, and we can make 
sure we are always including the correct header (which should happen 
automatically unless there are some underlying problems with Python, 
like on NetBSD).

> Ian.
>
>>> Ian.
>>>
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:45:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:45:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIoJ-0000RO-N5; Fri, 18 May 2012 08:45:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVIoH-0000R8-Ld
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:45:17 +0000
Received: from [85.158.138.51:54184] by server-12.bemta-3.messagelabs.com id
	26/B6-29760-C1C06BF4; Fri, 18 May 2012 08:45:16 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337330714!27739232!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ5MTQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1024 invoked from network); 18 May 2012 08:45:15 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:45:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330923600"; d="scan'208";a="25323303"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 04:44:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 04:44:52 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVIns-0000Mc-A2;
	Fri, 18 May 2012 09:44:52 +0100
Message-ID: <4FB60C04.9030304@citrix.com>
Date: Fri, 18 May 2012 09:44:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60A32.3080306@amd.com>
In-Reply-To: <4FB60A32.3080306@amd.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> On 05/17/12 17:14, Ian Campbell wrote:
>
>> On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
>>> Ian Campbell wrote:
>>>> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>>>>> Ian Campbell wrote:
>>>>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>>>>> libxl.h is already present in the include search path, the old one was
>>>>>>> included instead of the new one, giving compilation errors. Since
>>>>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>>>>> the path to libxl.h include.
>>>>>>>
>>>>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>>>>> old header files in the include path, Linux seems to not have this
>>>>>>> problem.
>>>>>> Should this be include<>    and not "", since libxl.h isn't in the current
>>>>>> dir in this case?
>>>>>>
>>>>>> Is the right fix to make sure that the in-tree -I lines come first?
>>>>>> Ian.
>>>>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>>>>> come first, because the gcc options are automatically generated by
>>>>> python build tools (distutils&   friends...), so we cannot touch much of
>>>>> this (I've looked at distutils.core options, and it seems to be no way
>>>>> of setting an order on compiler options, but I'm no expert on python C
>>>>> extensions building), so unless we craft our own makefile to build this
>>>>> python stuff I think we are stuck with something like this.
>>>> Surely distutils puts user supplied options first before system options?
>>>> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>>>>
>>>>          # Put the Python "system" include dir at the end, so that
>>>>           # any local include dirs take precedence.
>>>>           self.include_dirs.append(py_include)
>>>>           if plat_py_include != py_include:
>>>>               self.include_dirs.append(plat_py_include)
>>>>
>>>> So it seems like this is the intention.
>>>>
>>>> Are you sure this isn't just a bug in your version of distutils or
>>>> something like that?
>>>>
>>>> My python xl builds end up as:
>>>>           building 'xl' extension
>>>>           gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>>>>           -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>>>>           -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>>>           -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>>>>           -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>>>>           -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>>>>           -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>>>>           -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>>>           -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>>>>           build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>>>>           -fno-strict-aliasing -Werror
>>>>
>>>> Which has our local -I options before all the others -- which is
>>>> sensible. What do you see with your system?
>>> This is what I see:
>>>
>>> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g
>>> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d
>>> -fno-optimize-sibling-calls" python2.7 setup.py build
>>> running build
>>> running build_py
>>> running build_ext
>>> building 'xl' extension
>>>
>>> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1
>>> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
>>> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD
>>> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include
>>> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o
>>> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o
>>> -fno-strict-aliasing -Werror
>>>
>>> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
>>> xen/lowlevel/xl/_pyxl_types.c:4346:78: error:
>>> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use
>>> in this function)
>>> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier
>>> is reported only once for each function it appears in
>>> error: command 'gcc' failed with exit status 1
>>> gmake: *** [build] Error 1
>>> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
>>>
>>> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include
>>> -I/usr/pkg/include" comes even before our passed CFLAGS.
>>>
>>> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
>>>
>>>           # Put the Python "system" include dir at the end, so that
>>>           # any local include dirs take precedence.
>>>           self.include_dirs.append(py_include)
>>>           if plat_py_include != py_include:
>>>               self.include_dirs.append(plat_py_include)
>>>
>>> 	[...]
>>>
>>>
>>>           # Finally add the user include and library directories if requested
>>>           if self.user:
>>>               user_include = os.path.join(USER_BASE, "include")
>>>               user_lib = os.path.join(USER_BASE, "lib")
>>>               if os.path.isdir(user_include):
>>>                   self.include_dirs.append(user_include)
>>>               if os.path.isdir(user_lib):
>>>                   self.library_dirs.append(user_lib)
>>>                   self.rpath.append(user_lib)
>>>
>>> So it says it puts them at the end, but it doesn't do so. I've looked at
>>> Python 2.7 original source, and this is not a NetBSD port specific bug.
>> You are sure this is that snippet of code adding this? Where
>> does /usr/pkg/include come from? This only appears to add one -I and you
>> have two extra.
>>
>
>> You aren't using some EXTRA_CFLAGS or similar are you?
>
>
> /usr/pkg/include comes from setting PREPEND_LIB=/usr/pkg/include
> when running configure.

Nope, it came from Python itself, if you take a look at 
/usr/pkg/lib/python2.7/config/Makefile there's and OPT var that gets 
appended to every extension build, before the user supplied flags. Let's 
see if the Python pkg maintainer is happy to remove "OPT", since I don't 
think it does anything (pkg/46459).

> Christoph
>
>> Ian.
>>
>>>> Ian.
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:45:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:45:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIoJ-0000RO-N5; Fri, 18 May 2012 08:45:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVIoH-0000R8-Ld
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:45:17 +0000
Received: from [85.158.138.51:54184] by server-12.bemta-3.messagelabs.com id
	26/B6-29760-C1C06BF4; Fri, 18 May 2012 08:45:16 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337330714!27739232!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ5MTQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1024 invoked from network); 18 May 2012 08:45:15 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:45:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330923600"; d="scan'208";a="25323303"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 04:44:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 04:44:52 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVIns-0000Mc-A2;
	Fri, 18 May 2012 09:44:52 +0100
Message-ID: <4FB60C04.9030304@citrix.com>
Date: Fri, 18 May 2012 09:44:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60A32.3080306@amd.com>
In-Reply-To: <4FB60A32.3080306@amd.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> On 05/17/12 17:14, Ian Campbell wrote:
>
>> On Thu, 2012-05-17 at 16:10 +0100, Roger Pau Monne wrote:
>>> Ian Campbell wrote:
>>>> On Thu, 2012-05-17 at 15:02 +0100, Roger Pau Monne wrote:
>>>>> Ian Campbell wrote:
>>>>>> On Thu, 2012-05-17 at 13:16 +0100, Roger Pau Monne wrote:
>>>>>>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>>>>>>> libxl.h is already present in the include search path, the old one was
>>>>>>> included instead of the new one, giving compilation errors. Since
>>>>>>> _pyxl_types.c is generated at compilation time, we can safely set
>>>>>>> the path to libxl.h include.
>>>>>>>
>>>>>>> I've only experienced this problem when compiling Xen on NetBSD with
>>>>>>> old header files in the include path, Linux seems to not have this
>>>>>>> problem.
>>>>>> Should this be include<>    and not "", since libxl.h isn't in the current
>>>>>> dir in this case?
>>>>>>
>>>>>> Is the right fix to make sure that the in-tree -I lines come first?
>>>>>> Ian.
>>>>> Actually I'm not sure if it's possible to make sure the in-tree -I lines
>>>>> come first, because the gcc options are automatically generated by
>>>>> python build tools (distutils&   friends...), so we cannot touch much of
>>>>> this (I've looked at distutils.core options, and it seems to be no way
>>>>> of setting an order on compiler options, but I'm no expert on python C
>>>>> extensions building), so unless we craft our own makefile to build this
>>>>> python stuff I think we are stuck with something like this.
>>>> Surely distutils puts user supplied options first before system options?
>>>> My /usr/lib/python2.5/distutils/command/build_ext.py says:
>>>>
>>>>          # Put the Python "system" include dir at the end, so that
>>>>           # any local include dirs take precedence.
>>>>           self.include_dirs.append(py_include)
>>>>           if plat_py_include != py_include:
>>>>               self.include_dirs.append(plat_py_include)
>>>>
>>>> So it seems like this is the intention.
>>>>
>>>> Are you sure this isn't just a bug in your version of distutils or
>>>> something like that?
>>>>
>>>> My python xl builds end up as:
>>>>           building 'xl' extension
>>>>           gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
>>>>           -Wstrict-prototypes -O1 -fno-omit-frame-pointer -m32 -march=i686
>>>>           -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>>>           -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .build.d
>>>>           -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>>>>           -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
>>>>           -mno-tls-direct-seg-refs -fPIC -I../../tools/include
>>>>           -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>>>           -I/usr/include/python2.6 -c xen/lowlevel/xl/xl.c -o
>>>>           build/temp.linux-i686-2.6/xen/lowlevel/xl/xl.o
>>>>           -fno-strict-aliasing -Werror
>>>>
>>>> Which has our local -I options before all the others -- which is
>>>> sensible. What do you see with your system?
>>> This is what I see:
>>>
>>> CC="gcc" CFLAGS="-O1 -fno-omit-frame-pointer -m64 -g
>>> -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>> -Wdeclaration-after-statement   -D__XEN_TOOLS__ -MMD -MF .build.d
>>> -fno-optimize-sibling-calls" python2.7 setup.py build
>>> running build
>>> running build_py
>>> running build_ext
>>> building 'xl' extension
>>>
>>> gcc -DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include -I/usr/pkg/include -O1
>>> -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
>>> -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD
>>> -MF .build.d -fno-optimize-sibling-calls -fPIC -I../../tools/include
>>> -I../../tools/libxl -I../../tools/libxc -Ixen/lowlevel/xl
>>> -I/usr/pkg/include/python2.7 -c xen/lowlevel/xl/_pyxl_types.c -o
>>> build/temp.netbsd-6.0_BETA-amd64-2.7/xen/lowlevel/xl/_pyxl_types.o
>>> -fno-strict-aliasing -Werror
>>>
>>> xen/lowlevel/xl/_pyxl_types.c: In function 'genwrap__init':
>>> xen/lowlevel/xl/_pyxl_types.c:4346:78: error:
>>> 'LIBXL_EVENT_TYPE_DOMAIN_CREATE_CONSOLE_AVAILABLE' undeclared (first use
>>> in this function)
>>> xen/lowlevel/xl/_pyxl_types.c:4346:78: note: each undeclared identifier
>>> is reported only once for each function it appears in
>>> error: command 'gcc' failed with exit status 1
>>> gmake: *** [build] Error 1
>>> gmake: Leaving directory `/root/xen/xen-netbsd/tools/python'
>>>
>>> So this part "-DNDEBUG -O2 -DHAVE_DB_185_H -I/usr/include
>>> -I/usr/pkg/include" comes even before our passed CFLAGS.
>>>
>>> My /usr/pkg/lib/python2.7/distutils/command/build_ext.py:
>>>
>>>           # Put the Python "system" include dir at the end, so that
>>>           # any local include dirs take precedence.
>>>           self.include_dirs.append(py_include)
>>>           if plat_py_include != py_include:
>>>               self.include_dirs.append(plat_py_include)
>>>
>>> 	[...]
>>>
>>>
>>>           # Finally add the user include and library directories if requested
>>>           if self.user:
>>>               user_include = os.path.join(USER_BASE, "include")
>>>               user_lib = os.path.join(USER_BASE, "lib")
>>>               if os.path.isdir(user_include):
>>>                   self.include_dirs.append(user_include)
>>>               if os.path.isdir(user_lib):
>>>                   self.library_dirs.append(user_lib)
>>>                   self.rpath.append(user_lib)
>>>
>>> So it says it puts them at the end, but it doesn't do so. I've looked at
>>> Python 2.7 original source, and this is not a NetBSD port specific bug.
>> You are sure this is that snippet of code adding this? Where
>> does /usr/pkg/include come from? This only appears to add one -I and you
>> have two extra.
>>
>
>> You aren't using some EXTRA_CFLAGS or similar are you?
>
>
> /usr/pkg/include comes from setting PREPEND_LIB=/usr/pkg/include
> when running configure.

Nope, it came from Python itself, if you take a look at 
/usr/pkg/lib/python2.7/config/Makefile there's and OPT var that gets 
appended to every extension build, before the user supplied flags. Let's 
see if the Python pkg maintainer is happy to remove "OPT", since I don't 
think it does anything (pkg/46459).

> Christoph
>
>> Ian.
>>
>>>> Ian.
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:52:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:52:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIvK-0000fS-OR; Fri, 18 May 2012 08:52:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVIvJ-0000fN-4H
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:52:33 +0000
Received: from [85.158.143.99:41521] by server-3.bemta-4.messagelabs.com id
	75/00-05853-0DD06BF4; Fri, 18 May 2012 08:52:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337331151!25233034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3635 invoked from network); 18 May 2012 08:52:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:52:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330905600"; d="scan'208";a="12544356"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 08:52:30 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 09:52:30 +0100
Message-ID: <1337331149.22316.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 09:52:29 +0100
In-Reply-To: <4FB60B35.4050400@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60B35.4050400@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 09:41 +0100, Roger Pau Monne wrote:
> This fault was due to the way NetBSD pkgsrc builds Python, passing 
> OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script, 
> which then gets saved to a Makefile that is parsed by distutils and 
> appended to the build of every extension. A bug report has already been 
> sent:
> 
> http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html
> 
> Anyway, I don't think setting libxl.h path in genwrap.py is such a bad 
> idea, this file gets regenerated during every build, and we can make 
> sure we are always including the correct header (which should happen 
> automatically unless there are some underlying problems with Python, 
> like on NetBSD).

I don't much like having absolute paths in includes. Imagine I moved my
source tree, then very strange errors would occur. Also it should be
unnecessary unless the underlying system has some very weird
properties...

The right thing is to fix the underlying python problem, which it seems
you have in hand.

I considered suggesting using a relative include here but I expect it
would get resolved relative to each of the -I options in turn
(e.g. /usr/include/../libxl/libxl.h or whatever) which would be even
worse IMHO.

Ian.





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 08:52:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 08:52:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVIvK-0000fS-OR; Fri, 18 May 2012 08:52:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVIvJ-0000fN-4H
	for xen-devel@lists.xen.org; Fri, 18 May 2012 08:52:33 +0000
Received: from [85.158.143.99:41521] by server-3.bemta-4.messagelabs.com id
	75/00-05853-0DD06BF4; Fri, 18 May 2012 08:52:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337331151!25233034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3635 invoked from network); 18 May 2012 08:52:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 08:52:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,615,1330905600"; d="scan'208";a="12544356"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 08:52:30 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 09:52:30 +0100
Message-ID: <1337331149.22316.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 09:52:29 +0100
In-Reply-To: <4FB60B35.4050400@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60B35.4050400@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 09:41 +0100, Roger Pau Monne wrote:
> This fault was due to the way NetBSD pkgsrc builds Python, passing 
> OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script, 
> which then gets saved to a Makefile that is parsed by distutils and 
> appended to the build of every extension. A bug report has already been 
> sent:
> 
> http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html
> 
> Anyway, I don't think setting libxl.h path in genwrap.py is such a bad 
> idea, this file gets regenerated during every build, and we can make 
> sure we are always including the correct header (which should happen 
> automatically unless there are some underlying problems with Python, 
> like on NetBSD).

I don't much like having absolute paths in includes. Imagine I moved my
source tree, then very strange errors would occur. Also it should be
unnecessary unless the underlying system has some very weird
properties...

The right thing is to fix the underlying python problem, which it seems
you have in hand.

I considered suggesting using a relative include here but I expect it
would get resolved relative to each of the -I options in turn
(e.g. /usr/include/../libxl/libxl.h or whatever) which would be even
worse IMHO.

Ian.





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 09:15:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 09:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVJH8-0000vo-N3; Fri, 18 May 2012 09:15:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVJH7-0000vj-8Z
	for xen-devel@lists.xen.org; Fri, 18 May 2012 09:15:05 +0000
Received: from [85.158.143.99:12603] by server-3.bemta-4.messagelabs.com id
	75/CE-05853-81316BF4; Fri, 18 May 2012 09:15:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337332501!18824263!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12569 invoked from network); 18 May 2012 09:15:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 09:15:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="25323864"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 05:14:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 05:14:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVJH1-0000r6-8M;
	Fri, 18 May 2012 10:14:59 +0100
Message-ID: <4FB61313.7000904@citrix.com>
Date: Fri, 18 May 2012 10:14:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60B35.4050400@citrix.com>
	<1337331149.22316.17.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337331149.22316.17.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Fri, 2012-05-18 at 09:41 +0100, Roger Pau Monne wrote:
>> This fault was due to the way NetBSD pkgsrc builds Python, passing
>> OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script,
>> which then gets saved to a Makefile that is parsed by distutils and
>> appended to the build of every extension. A bug report has already been
>> sent:
>>
>> http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html
>>
>> Anyway, I don't think setting libxl.h path in genwrap.py is such a bad
>> idea, this file gets regenerated during every build, and we can make
>> sure we are always including the correct header (which should happen
>> automatically unless there are some underlying problems with Python,
>> like on NetBSD).
>
> I don't much like having absolute paths in includes. Imagine I moved my
> source tree, then very strange errors would occur. Also it should be
> unnecessary unless the underlying system has some very weird
> properties...

So at least the correct fix would be to replace

#include "libxl.h"

with

#include <libxl.h>

right?

> The right thing is to fix the underlying python problem, which it seems
> you have in hand.

Yes, I've send a PR, but the python port seems to have no specific 
maintainer, so I don't know how long it will take before someone picks 
it up...

> I considered suggesting using a relative include here but I expect it
> would get resolved relative to each of the -I options in turn
> (e.g. /usr/include/../libxl/libxl.h or whatever) which would be even
> worse IMHO.
>
> Ian.
>
>
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 09:15:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 09:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVJH8-0000vo-N3; Fri, 18 May 2012 09:15:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVJH7-0000vj-8Z
	for xen-devel@lists.xen.org; Fri, 18 May 2012 09:15:05 +0000
Received: from [85.158.143.99:12603] by server-3.bemta-4.messagelabs.com id
	75/CE-05853-81316BF4; Fri, 18 May 2012 09:15:04 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337332501!18824263!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12569 invoked from network); 18 May 2012 09:15:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 09:15:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="25323864"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 05:14:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 05:14:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVJH1-0000r6-8M;
	Fri, 18 May 2012 10:14:59 +0100
Message-ID: <4FB61313.7000904@citrix.com>
Date: Fri, 18 May 2012 10:14:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60B35.4050400@citrix.com>
	<1337331149.22316.17.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337331149.22316.17.camel@zakaz.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Fri, 2012-05-18 at 09:41 +0100, Roger Pau Monne wrote:
>> This fault was due to the way NetBSD pkgsrc builds Python, passing
>> OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script,
>> which then gets saved to a Makefile that is parsed by distutils and
>> appended to the build of every extension. A bug report has already been
>> sent:
>>
>> http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html
>>
>> Anyway, I don't think setting libxl.h path in genwrap.py is such a bad
>> idea, this file gets regenerated during every build, and we can make
>> sure we are always including the correct header (which should happen
>> automatically unless there are some underlying problems with Python,
>> like on NetBSD).
>
> I don't much like having absolute paths in includes. Imagine I moved my
> source tree, then very strange errors would occur. Also it should be
> unnecessary unless the underlying system has some very weird
> properties...

So at least the correct fix would be to replace

#include "libxl.h"

with

#include <libxl.h>

right?

> The right thing is to fix the underlying python problem, which it seems
> you have in hand.

Yes, I've send a PR, but the python port seems to have no specific 
maintainer, so I don't know how long it will take before someone picks 
it up...

> I considered suggesting using a relative include here but I expect it
> would get resolved relative to each of the -I options in turn
> (e.g. /usr/include/../libxl/libxl.h or whatever) which would be even
> worse IMHO.
>
> Ian.
>
>
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 09:27:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 09:27:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVJSN-00015S-Vk; Fri, 18 May 2012 09:26:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVJSM-00015N-Ni
	for xen-devel@lists.xen.org; Fri, 18 May 2012 09:26:42 +0000
Received: from [85.158.143.35:6766] by server-3.bemta-4.messagelabs.com id
	C2/37-05853-2D516BF4; Fri, 18 May 2012 09:26:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337333198!14788548!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30965 invoked from network); 18 May 2012 09:26:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 09:26:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12545245"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 09:25:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:25:58 +0100
Message-ID: <1337333157.22316.31.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 10:25:57 +0100
In-Reply-To: <4FB61313.7000904@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60B35.4050400@citrix.com>
	<1337331149.22316.17.camel@zakaz.uk.xensource.com>
	<4FB61313.7000904@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 10:14 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Fri, 2012-05-18 at 09:41 +0100, Roger Pau Monne wrote:
> >> This fault was due to the way NetBSD pkgsrc builds Python, passing
> >> OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script,
> >> which then gets saved to a Makefile that is parsed by distutils and
> >> appended to the build of every extension. A bug report has already been
> >> sent:
> >>
> >> http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html
> >>
> >> Anyway, I don't think setting libxl.h path in genwrap.py is such a bad
> >> idea, this file gets regenerated during every build, and we can make
> >> sure we are always including the correct header (which should happen
> >> automatically unless there are some underlying problems with Python,
> >> like on NetBSD).
> >
> > I don't much like having absolute paths in includes. Imagine I moved my
> > source tree, then very strange errors would occur. Also it should be
> > unnecessary unless the underlying system has some very weird
> > properties...
> 
> So at least the correct fix would be to replace
> 
> #include "libxl.h"
> 
> with
> 
> #include <libxl.h>
> 
> right?

I think it ould be strictly speaking correct to make that change,
although I'm not sure it would make a difference unless there was
another libxl.h in tools/python somewhere.

> > The right thing is to fix the underlying python problem, which it seems
> > you have in hand.
> 
> Yes, I've send a PR, but the python port seems to have no specific 
> maintainer, so I don't know how long it will take before someone picks 
> it up...

OK.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 09:27:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 09:27:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVJSN-00015S-Vk; Fri, 18 May 2012 09:26:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVJSM-00015N-Ni
	for xen-devel@lists.xen.org; Fri, 18 May 2012 09:26:42 +0000
Received: from [85.158.143.35:6766] by server-3.bemta-4.messagelabs.com id
	C2/37-05853-2D516BF4; Fri, 18 May 2012 09:26:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337333198!14788548!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30965 invoked from network); 18 May 2012 09:26:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 09:26:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12545245"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 09:25:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:25:58 +0100
Message-ID: <1337333157.22316.31.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 10:25:57 +0100
In-Reply-To: <4FB61313.7000904@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<1337261146.7781.75.camel@zakaz.uk.xensource.com>
	<4FB504F4.5050408@citrix.com>
	<1337265498.7781.95.camel@zakaz.uk.xensource.com>
	<4FB514FC.5040807@citrix.com>
	<1337267689.7781.99.camel@zakaz.uk.xensource.com>
	<4FB60B35.4050400@citrix.com>
	<1337331149.22316.17.camel@zakaz.uk.xensource.com>
	<4FB61313.7000904@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
 on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 10:14 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Fri, 2012-05-18 at 09:41 +0100, Roger Pau Monne wrote:
> >> This fault was due to the way NetBSD pkgsrc builds Python, passing
> >> OPT="-I/usr/include -I/usr/pkg/include ..." to the configure script,
> >> which then gets saved to a Makefile that is parsed by distutils and
> >> appended to the build of every extension. A bug report has already been
> >> sent:
> >>
> >> http://mail-index.netbsd.org/pkgsrc-bugs/2012/05/17/msg047735.html
> >>
> >> Anyway, I don't think setting libxl.h path in genwrap.py is such a bad
> >> idea, this file gets regenerated during every build, and we can make
> >> sure we are always including the correct header (which should happen
> >> automatically unless there are some underlying problems with Python,
> >> like on NetBSD).
> >
> > I don't much like having absolute paths in includes. Imagine I moved my
> > source tree, then very strange errors would occur. Also it should be
> > unnecessary unless the underlying system has some very weird
> > properties...
> 
> So at least the correct fix would be to replace
> 
> #include "libxl.h"
> 
> with
> 
> #include <libxl.h>
> 
> right?

I think it ould be strictly speaking correct to make that change,
although I'm not sure it would make a difference unless there was
another libxl.h in tools/python somewhere.

> > The right thing is to fix the underlying python problem, which it seems
> > you have in hand.
> 
> Yes, I've send a PR, but the python port seems to have no specific 
> maintainer, so I don't know how long it will take before someone picks 
> it up...

OK.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:08:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:08:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVK6P-0001lg-TG; Fri, 18 May 2012 10:08:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVK6O-0001lb-JC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:08:04 +0000
Received: from [85.158.139.83:39744] by server-10.bemta-5.messagelabs.com id
	2D/AD-08260-38F16BF4; Fri, 18 May 2012 10:08:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337335682!28376729!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29284 invoked from network); 18 May 2012 10:08:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12546270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 11:08:00 +0100
Message-ID: <1337335679.22316.44.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Fri, 18 May 2012 11:07:59 +0100
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume
	code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wrote:
> This patch series refactors the suspend/resume code to minimize
> Remus specific code in libxl. There are a couple of trivial bug
> fixes too.

I've applied all four of these as well as the two patches from "libxl:
Remus support". Thanks for your contribution, and thanks for your
patience in particular.

I fixed up a minor reject in "libxl: refactor migrate_domain and
generalize migrate_receive" due to the context line 
     dom_info.restore_file = "incoming migration stream";
having been removed. It's hard to imagine I messed that up but you'd
best check!

BTW I tested PV migrate, HVM migrate with qemu-xen-traditional (stub and
non-stub) and PVHVM migrate with qemu-xen-traditional (stub and
non-stub). All seemed OK.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:08:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:08:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVK6P-0001lg-TG; Fri, 18 May 2012 10:08:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVK6O-0001lb-JC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:08:04 +0000
Received: from [85.158.139.83:39744] by server-10.bemta-5.messagelabs.com id
	2D/AD-08260-38F16BF4; Fri, 18 May 2012 10:08:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337335682!28376729!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29284 invoked from network); 18 May 2012 10:08:02 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12546270"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 11:08:00 +0100
Message-ID: <1337335679.22316.44.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Fri, 18 May 2012 11:07:59 +0100
In-Reply-To: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume
	code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wrote:
> This patch series refactors the suspend/resume code to minimize
> Remus specific code in libxl. There are a couple of trivial bug
> fixes too.

I've applied all four of these as well as the two patches from "libxl:
Remus support". Thanks for your contribution, and thanks for your
patience in particular.

I fixed up a minor reject in "libxl: refactor migrate_domain and
generalize migrate_receive" due to the context line 
     dom_info.restore_file = "incoming migration stream";
having been removed. It's hard to imagine I messed that up but you'd
best check!

BTW I tested PV migrate, HVM migrate with qemu-xen-traditional (stub and
non-stub) and PVHVM migrate with qemu-xen-traditional (stub and
non-stub). All seemed OK.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:12:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:12:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKAF-00021A-TY; Fri, 18 May 2012 10:12:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVKAD-00020r-RE
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:12:02 +0000
Received: from [85.158.139.83:11786] by server-8.bemta-5.messagelabs.com id
	FE/B6-26964-07026BF4; Fri, 18 May 2012 10:12:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337335919!29056364!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20464 invoked from network); 18 May 2012 10:12:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:12:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195478688"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 06:11:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 06:11:58 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SVKA9-0001gN-Rd;
	Fri, 18 May 2012 11:11:57 +0100
MIME-Version: 1.0
X-Mercurial-Node: 894f39993bdc96aaaf2ad0115af2f5e83d9cc1b1
Message-ID: <894f39993bdc96aaaf2a.1337335917@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 18 May 2012 11:11:57 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH V2] libxl: avoid double free of
	b_info->u.pv.bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337335831 -3600
# Node ID 894f39993bdc96aaaf2ad0115af2f5e83d9cc1b1
# Parent  0e1d32df5b8d8bdbf88b6cd4a6b18fc008258373
libxl: avoid double free of b_info->u.pv.bootloader.

b_info is a user provided struct and therefore the content must come from
malloc and not gc such that libxl_domain_build_info_dispose can free it. This
was broken by 25340:373f24c87dee.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: use libxl__strdup(NULL, ...) to get the expected error handling.

diff -r 0e1d32df5b8d -r 894f39993bdc tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Fri May 18 11:09:48 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Fri May 18 11:10:31 2012 +0100
@@ -356,8 +356,10 @@ void libxl__bootloader_run(libxl__egc *e
         if ( lstat(bootloader, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
                 bootloader);
-        else
-            info->u.pv.bootloader = bootloader;
+        else {
+            free(info->u.pv.bootloader);
+            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
+        }
     }
 
     make_bootloader_args(gc, bl);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:12:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:12:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKAF-00021A-TY; Fri, 18 May 2012 10:12:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVKAD-00020r-RE
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:12:02 +0000
Received: from [85.158.139.83:11786] by server-8.bemta-5.messagelabs.com id
	FE/B6-26964-07026BF4; Fri, 18 May 2012 10:12:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337335919!29056364!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20464 invoked from network); 18 May 2012 10:12:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:12:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195478688"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 06:11:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 06:11:58 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SVKA9-0001gN-Rd;
	Fri, 18 May 2012 11:11:57 +0100
MIME-Version: 1.0
X-Mercurial-Node: 894f39993bdc96aaaf2ad0115af2f5e83d9cc1b1
Message-ID: <894f39993bdc96aaaf2a.1337335917@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 18 May 2012 11:11:57 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH V2] libxl: avoid double free of
	b_info->u.pv.bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337335831 -3600
# Node ID 894f39993bdc96aaaf2ad0115af2f5e83d9cc1b1
# Parent  0e1d32df5b8d8bdbf88b6cd4a6b18fc008258373
libxl: avoid double free of b_info->u.pv.bootloader.

b_info is a user provided struct and therefore the content must come from
malloc and not gc such that libxl_domain_build_info_dispose can free it. This
was broken by 25340:373f24c87dee.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: use libxl__strdup(NULL, ...) to get the expected error handling.

diff -r 0e1d32df5b8d -r 894f39993bdc tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Fri May 18 11:09:48 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Fri May 18 11:10:31 2012 +0100
@@ -356,8 +356,10 @@ void libxl__bootloader_run(libxl__egc *e
         if ( lstat(bootloader, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
                 bootloader);
-        else
-            info->u.pv.bootloader = bootloader;
+        else {
+            free(info->u.pv.bootloader);
+            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
+        }
     }
 
     make_bootloader_args(gc, bl);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:33:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:33:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKUt-0002RQ-Qv; Fri, 18 May 2012 10:33:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVKUs-0002RH-OR
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:33:22 +0000
Received: from [85.158.143.35:54665] by server-3.bemta-4.messagelabs.com id
	8B/52-05853-27526BF4; Fri, 18 May 2012 10:33:22 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337337199!12863249!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8192 invoked from network); 18 May 2012 10:33:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:33:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="25325527"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 06:33:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 06:33:18 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVKUo-00021F-4d;
	Fri, 18 May 2012 11:33:18 +0100
Message-ID: <4FB6256E.8070501@citrix.com>
Date: Fri, 18 May 2012 11:33:18 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, 
	xen-users@lists.xen.org
Subject: [Xen-devel] Alpine Linux Xen Dom0 LiveCD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

Alpine Linux has just released a Xen Dom0 LiveCD that contains a Linux 
Kernel 3.3.6 with PaX and grsec patches and Xen 4.1.2 with the CVE 
fixes. This LiveCD doesn't include any kind of X11 desktop, as it is 
intended for server use only.

The LiveCD is part of the Alpine Linux distribution, and will be updated 
every time there is an Alpine Linux release, ensuring that the users 
always get the latest versions of the software.

For those of you that don't know what Alpine Linux has to offer, here's 
a little extract from the Alpine Linux webpage:

Alpine Linux was designed with security in mind. It has proactive 
security features, such as PaX and SSP, that prevent security holes from 
being exploited.

Alpine Linux uses the uClibc C library and all of the base tools from 
BusyBox. These are normally found on embedded systems and are smaller 
than the tools found on GNU/Linux systems.

The traditional GNU/Linux base system is over 100MB in size (excluding 
the kernel), while the base system in Alpine Linux is only 4-5MB in size 
(excluding the kernel).

It's great for experimenting: Since the system configuration can be 
backed up to a single file, you will be able to test configurations 
before deploying them to production systems.

(You can find much more information on the Alpine Linux web page:
http://alpinelinux.org/about)

Also, Alpine Linux has the option to run from RAM, even when installed 
to a HDD or USB, allowing the user to save it's changes on a USB, floppy 
or other medium which then gets read at boot to leave the system as it 
was before the reboot. This is specially interesting for Xen Dom0, since 
it allows to have the whole system on RAM, which is immune to HDD 
crashes (you could have access to your Dom0 even after and HDD crash) 
and doesn't consume I/O resources.

This is still the first and experimental release of this LiveCD, so I 
would like to encourage Xen users to test it, and report back with the 
results.

The LiveCD can be found at: http://alpinelinux.org/downloads

Regards, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:33:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:33:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKUt-0002RQ-Qv; Fri, 18 May 2012 10:33:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVKUs-0002RH-OR
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:33:22 +0000
Received: from [85.158.143.35:54665] by server-3.bemta-4.messagelabs.com id
	8B/52-05853-27526BF4; Fri, 18 May 2012 10:33:22 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337337199!12863249!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8192 invoked from network); 18 May 2012 10:33:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:33:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="25325527"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 06:33:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 06:33:18 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVKUo-00021F-4d;
	Fri, 18 May 2012 11:33:18 +0100
Message-ID: <4FB6256E.8070501@citrix.com>
Date: Fri, 18 May 2012 11:33:18 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, 
	xen-users@lists.xen.org
Subject: [Xen-devel] Alpine Linux Xen Dom0 LiveCD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

Alpine Linux has just released a Xen Dom0 LiveCD that contains a Linux 
Kernel 3.3.6 with PaX and grsec patches and Xen 4.1.2 with the CVE 
fixes. This LiveCD doesn't include any kind of X11 desktop, as it is 
intended for server use only.

The LiveCD is part of the Alpine Linux distribution, and will be updated 
every time there is an Alpine Linux release, ensuring that the users 
always get the latest versions of the software.

For those of you that don't know what Alpine Linux has to offer, here's 
a little extract from the Alpine Linux webpage:

Alpine Linux was designed with security in mind. It has proactive 
security features, such as PaX and SSP, that prevent security holes from 
being exploited.

Alpine Linux uses the uClibc C library and all of the base tools from 
BusyBox. These are normally found on embedded systems and are smaller 
than the tools found on GNU/Linux systems.

The traditional GNU/Linux base system is over 100MB in size (excluding 
the kernel), while the base system in Alpine Linux is only 4-5MB in size 
(excluding the kernel).

It's great for experimenting: Since the system configuration can be 
backed up to a single file, you will be able to test configurations 
before deploying them to production systems.

(You can find much more information on the Alpine Linux web page:
http://alpinelinux.org/about)

Also, Alpine Linux has the option to run from RAM, even when installed 
to a HDD or USB, allowing the user to save it's changes on a USB, floppy 
or other medium which then gets read at boot to leave the system as it 
was before the reboot. This is specially interesting for Xen Dom0, since 
it allows to have the whole system on RAM, which is immune to HDD 
crashes (you could have access to your Dom0 even after and HDD crash) 
and doesn't consume I/O resources.

This is still the first and experimental release of this LiveCD, so I 
would like to encourage Xen users to test it, and report back with the 
results.

The LiveCD can be found at: http://alpinelinux.org/downloads

Regards, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:56:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKql-00032f-I7; Fri, 18 May 2012 10:55:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVKql-00032a-1I
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:55:59 +0000
Received: from [85.158.143.99:51499] by server-3.bemta-4.messagelabs.com id
	16/A1-05853-EBA26BF4; Fri, 18 May 2012 10:55:58 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337338556!18843294!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8787 invoked from network); 18 May 2012 10:55:57 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:55:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195485814"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 06:55:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 06:55:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVKqg-0002Ny-U3;
	Fri, 18 May 2012 11:55:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 11:55:47 +0100
Message-ID: <1337338547-53073-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: "Vassili Karpov \(malc\)" <av1474@comtv.ru>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] audio: split IN_T into two separate constants
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Split IN_T into BSIZE and ITYPE, to avoid expansion if the OS has
defined macros for the intX_t and uintX_t types. The IN_T constant is
then defined in mixeng_template.h so it can be used by the
functions/macros on this header file.

This change has been tested successfully under Debian Linux and NetBSD
6.0BETA.

Cc: Vassili Karpov (malc) <av1474@comtv.ru>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 audio/mixeng.c          |   36 ++++++++++++++++++++++++------------
 audio/mixeng_template.h |    4 +++-
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/audio/mixeng.c b/audio/mixeng.c
index 5446be6..02a9d9f 100644
--- a/audio/mixeng.c
+++ b/audio/mixeng.c
@@ -33,7 +33,8 @@
 #define ENDIAN_CONVERT(v) (v)
 
 /* Signed 8 bit */
-#define IN_T int8_t
+#define BSIZE 8
+#define ITYPE int
 #define IN_MIN SCHAR_MIN
 #define IN_MAX SCHAR_MAX
 #define SIGNED
@@ -42,25 +43,29 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 8 bit */
-#define IN_T uint8_t
+#define BSIZE 8
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UCHAR_MAX
 #define SHIFT 8
 #include "mixeng_template.h"
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 #undef ENDIAN_CONVERT
 #undef ENDIAN_CONVERSION
 
 /* Signed 16 bit */
-#define IN_T int16_t
+#define BSIZE 16
+#define ITYPE int
 #define IN_MIN SHRT_MIN
 #define IN_MAX SHRT_MAX
 #define SIGNED
@@ -78,11 +83,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 16 bit */
-#define IN_T uint16_t
+#define BSIZE 16
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX USHRT_MAX
 #define SHIFT 16
@@ -98,11 +105,13 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Signed 32 bit */
-#define IN_T int32_t
+#define BSIZE 32
+#define ITYPE int
 #define IN_MIN INT32_MIN
 #define IN_MAX INT32_MAX
 #define SIGNED
@@ -120,11 +129,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 32 bit */
-#define IN_T uint32_t
+#define BSIZE 32
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UINT32_MAX
 #define SHIFT 32
@@ -140,7 +151,8 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 t_sample *mixeng_conv[2][2][2][3] = {
diff --git a/audio/mixeng_template.h b/audio/mixeng_template.h
index e644c23..30849a6 100644
--- a/audio/mixeng_template.h
+++ b/audio/mixeng_template.h
@@ -31,7 +31,8 @@
 #define HALF (IN_MAX >> 1)
 #endif
 
-#define ET glue (ENDIAN_CONVERSION, glue (_, IN_T))
+#define ET glue (ENDIAN_CONVERSION, glue (glue (glue (_, ITYPE), BSIZE), _t))
+#define IN_T glue (glue (ITYPE, BSIZE), _t)
 
 #ifdef FLOAT_MIXENG
 static mixeng_real inline glue (conv_, ET) (IN_T v)
@@ -150,3 +151,4 @@ static void glue (glue (clip_, ET), _from_mono)
 
 #undef ET
 #undef HALF
+#undef IN_T
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:56:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKql-00032f-I7; Fri, 18 May 2012 10:55:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVKql-00032a-1I
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:55:59 +0000
Received: from [85.158.143.99:51499] by server-3.bemta-4.messagelabs.com id
	16/A1-05853-EBA26BF4; Fri, 18 May 2012 10:55:58 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337338556!18843294!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8787 invoked from network); 18 May 2012 10:55:57 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:55:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195485814"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 06:55:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 06:55:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVKqg-0002Ny-U3;
	Fri, 18 May 2012 11:55:54 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 11:55:47 +0100
Message-ID: <1337338547-53073-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: "Vassili Karpov \(malc\)" <av1474@comtv.ru>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] audio: split IN_T into two separate constants
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Split IN_T into BSIZE and ITYPE, to avoid expansion if the OS has
defined macros for the intX_t and uintX_t types. The IN_T constant is
then defined in mixeng_template.h so it can be used by the
functions/macros on this header file.

This change has been tested successfully under Debian Linux and NetBSD
6.0BETA.

Cc: Vassili Karpov (malc) <av1474@comtv.ru>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 audio/mixeng.c          |   36 ++++++++++++++++++++++++------------
 audio/mixeng_template.h |    4 +++-
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/audio/mixeng.c b/audio/mixeng.c
index 5446be6..02a9d9f 100644
--- a/audio/mixeng.c
+++ b/audio/mixeng.c
@@ -33,7 +33,8 @@
 #define ENDIAN_CONVERT(v) (v)
 
 /* Signed 8 bit */
-#define IN_T int8_t
+#define BSIZE 8
+#define ITYPE int
 #define IN_MIN SCHAR_MIN
 #define IN_MAX SCHAR_MAX
 #define SIGNED
@@ -42,25 +43,29 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 8 bit */
-#define IN_T uint8_t
+#define BSIZE 8
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UCHAR_MAX
 #define SHIFT 8
 #include "mixeng_template.h"
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 #undef ENDIAN_CONVERT
 #undef ENDIAN_CONVERSION
 
 /* Signed 16 bit */
-#define IN_T int16_t
+#define BSIZE 16
+#define ITYPE int
 #define IN_MIN SHRT_MIN
 #define IN_MAX SHRT_MAX
 #define SIGNED
@@ -78,11 +83,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 16 bit */
-#define IN_T uint16_t
+#define BSIZE 16
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX USHRT_MAX
 #define SHIFT 16
@@ -98,11 +105,13 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Signed 32 bit */
-#define IN_T int32_t
+#define BSIZE 32
+#define ITYPE int
 #define IN_MIN INT32_MIN
 #define IN_MAX INT32_MAX
 #define SIGNED
@@ -120,11 +129,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 32 bit */
-#define IN_T uint32_t
+#define BSIZE 32
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UINT32_MAX
 #define SHIFT 32
@@ -140,7 +151,8 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 t_sample *mixeng_conv[2][2][2][3] = {
diff --git a/audio/mixeng_template.h b/audio/mixeng_template.h
index e644c23..30849a6 100644
--- a/audio/mixeng_template.h
+++ b/audio/mixeng_template.h
@@ -31,7 +31,8 @@
 #define HALF (IN_MAX >> 1)
 #endif
 
-#define ET glue (ENDIAN_CONVERSION, glue (_, IN_T))
+#define ET glue (ENDIAN_CONVERSION, glue (glue (glue (_, ITYPE), BSIZE), _t))
+#define IN_T glue (glue (ITYPE, BSIZE), _t)
 
 #ifdef FLOAT_MIXENG
 static mixeng_real inline glue (conv_, ET) (IN_T v)
@@ -150,3 +151,4 @@ static void glue (glue (clip_, ET), _from_mono)
 
 #undef ET
 #undef HALF
+#undef IN_T
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:56:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:56:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKrG-000348-55; Fri, 18 May 2012 10:56:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVKrE-00033z-VC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:56:29 +0000
Received: from [85.158.143.35:57250] by server-1.bemta-4.messagelabs.com id
	3B/0E-00342-CDA26BF4; Fri, 18 May 2012 10:56:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337338586!10251488!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16126 invoked from network); 18 May 2012 10:56:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:56:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12547924"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:56:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 11:56:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVKrB-000866-D5; Fri, 18 May 2012 10:56:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVKrB-0000NW-9T;
	Fri, 18 May 2012 11:56:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.10969.280469.436947@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 11:56:25 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337250836.7781.46.camel@zakaz.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
	<1337250836.7781.46.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH] xl: track child processes for the benefit of libxl"):
> On Wed, 2012-05-16 at 21:40 +0100, Ian Jackson wrote:
> > +#define CHILD_FORGET(other) \
> > +        other.pid = 0;
> > +CHILD_LIST(CHILD_FORGET)
> 
> This clears every xlchild in the CHILD_LIST? Why? Oh, because this is
> now the child and so those aren't our children any more. A comment would
> be nice here, took me a little while to figure out.

Right.

> Is there some reason to not indent CHILD_LIST? (You've done it more than
> once, so I guess so)

I thought it bracketed the "contents" of the iteration helpfully, but
I'm not wedded to the layout.

> > +/* our child processes */
> > +#define CHILD_LIST(_)                           \
> > +    _(child_console)                            \
> > +    _(child_waitdaemon)                         \
> > +    _(migration_child)
> 
> Is using "_" like this valid? (i.e. not reserved by C or POSIX or
> something)

It's OK.  "_" is also used by gettext but in this context its scope is
limited so that it won't leak.

> > +#define CHILD_DEFINE(ch) \
> > +xlchild ch;
> > +CHILD_LIST(CHILD_DEFINE);
> > +
> > +xlchild child_console;
> > +xlchild child_waitdaemon;
> 
> Aren't these redundant with the definition from the preceding
> CHILD_LIST?

Yes.

> This CHILD_LIST thing is clever but it isn't half opaque for the reader.

Oh.  I thought it was a standard and well-known technique ...

> I'd say we'd be better off open coding them. Either we say:
> There are only 3 of them, we can put the functions which deal with them
> near each other and have a comment saying "update all these".

There are four uses of CHILD_LIST so this wouldn't be infeasible.

If you think this macro-based approach is opaque then we should do
something different.  It would be possible to use an array, and an
enum, or some #defines.  Or a union.

Which would you prefer:

  union xlchildren {
     struct { xlchild console, waitdaemon, migration; };
     xlchild bynum[1]; /* this depends on the architecture ABI spec */
  };
  extern union xlchildren children;
  #define NUM_CHILDREN (sizeof(children) / sizeof(xlchild))

  xl_waitpid(&children.console, ....);

Or:

  enum { child_console, child_waitdaemon, child_migration, child_max };
  extern xlchild children[child_max];

  xl_waitpid(&children[child_console]);

Or:

  typedef enum {
      child_console, child_waitdaemon, child_migration,
      child_max
  } xlchildnum;
  extern xlchild children[child_max];

  pid_t xl_waitpid(enum xlchildnum, ....);

  xl_waitpid(child_console, ....);

Or:

  enum { child_console, child_waitdaemon, child_migration, child_max };
  extern xlchild children[child_max];
  #define CHILD(x) (&children[child_##x])

  xl_waitpid(CHILD(console), ....);

Or:

  #define child_console    (children[0])
  #define child_waitdaemon (children[1])
  #define migration_child  (children[2])
  #define NUM_CHILDREN               3
  extern xlchild children[NUM_CHILDREN];

  xl_waitpid(&child_console, ....);

Pick one; they all seem plausible to me.  My favourite is probably the
one where we pass the array index to xl_fork and xl_waitpid.

> or we can add a proper list (LIBXL_LIST based?) which we add them to and
> manage explicitly from xlfork and reap/xlwaitpid.

Urgh.  This is definitely overkill.

> > -    *pid = fork();
> > -    if (*pid < 0) {
> > +    console_child_report();
> > +
> > +    pid_t pid = xl_fork(&child_console);
> 
> console_child_report doesn't seem to reset child_config.pid and xlfork
> has an assert(!foo.pid) in it, so how does this work on the second time?

xl_waitpid does it.  Perhaps this is worth a comment ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 10:56:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 10:56:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVKrG-000348-55; Fri, 18 May 2012 10:56:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVKrE-00033z-VC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 10:56:29 +0000
Received: from [85.158.143.35:57250] by server-1.bemta-4.messagelabs.com id
	3B/0E-00342-CDA26BF4; Fri, 18 May 2012 10:56:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337338586!10251488!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16126 invoked from network); 18 May 2012 10:56:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 10:56:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12547924"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:56:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 11:56:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVKrB-000866-D5; Fri, 18 May 2012 10:56:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVKrB-0000NW-9T;
	Fri, 18 May 2012 11:56:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.10969.280469.436947@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 11:56:25 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337250836.7781.46.camel@zakaz.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
	<1337250836.7781.46.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH] xl: track child processes for the benefit of libxl"):
> On Wed, 2012-05-16 at 21:40 +0100, Ian Jackson wrote:
> > +#define CHILD_FORGET(other) \
> > +        other.pid = 0;
> > +CHILD_LIST(CHILD_FORGET)
> 
> This clears every xlchild in the CHILD_LIST? Why? Oh, because this is
> now the child and so those aren't our children any more. A comment would
> be nice here, took me a little while to figure out.

Right.

> Is there some reason to not indent CHILD_LIST? (You've done it more than
> once, so I guess so)

I thought it bracketed the "contents" of the iteration helpfully, but
I'm not wedded to the layout.

> > +/* our child processes */
> > +#define CHILD_LIST(_)                           \
> > +    _(child_console)                            \
> > +    _(child_waitdaemon)                         \
> > +    _(migration_child)
> 
> Is using "_" like this valid? (i.e. not reserved by C or POSIX or
> something)

It's OK.  "_" is also used by gettext but in this context its scope is
limited so that it won't leak.

> > +#define CHILD_DEFINE(ch) \
> > +xlchild ch;
> > +CHILD_LIST(CHILD_DEFINE);
> > +
> > +xlchild child_console;
> > +xlchild child_waitdaemon;
> 
> Aren't these redundant with the definition from the preceding
> CHILD_LIST?

Yes.

> This CHILD_LIST thing is clever but it isn't half opaque for the reader.

Oh.  I thought it was a standard and well-known technique ...

> I'd say we'd be better off open coding them. Either we say:
> There are only 3 of them, we can put the functions which deal with them
> near each other and have a comment saying "update all these".

There are four uses of CHILD_LIST so this wouldn't be infeasible.

If you think this macro-based approach is opaque then we should do
something different.  It would be possible to use an array, and an
enum, or some #defines.  Or a union.

Which would you prefer:

  union xlchildren {
     struct { xlchild console, waitdaemon, migration; };
     xlchild bynum[1]; /* this depends on the architecture ABI spec */
  };
  extern union xlchildren children;
  #define NUM_CHILDREN (sizeof(children) / sizeof(xlchild))

  xl_waitpid(&children.console, ....);

Or:

  enum { child_console, child_waitdaemon, child_migration, child_max };
  extern xlchild children[child_max];

  xl_waitpid(&children[child_console]);

Or:

  typedef enum {
      child_console, child_waitdaemon, child_migration,
      child_max
  } xlchildnum;
  extern xlchild children[child_max];

  pid_t xl_waitpid(enum xlchildnum, ....);

  xl_waitpid(child_console, ....);

Or:

  enum { child_console, child_waitdaemon, child_migration, child_max };
  extern xlchild children[child_max];
  #define CHILD(x) (&children[child_##x])

  xl_waitpid(CHILD(console), ....);

Or:

  #define child_console    (children[0])
  #define child_waitdaemon (children[1])
  #define migration_child  (children[2])
  #define NUM_CHILDREN               3
  extern xlchild children[NUM_CHILDREN];

  xl_waitpid(&child_console, ....);

Pick one; they all seem plausible to me.  My favourite is probably the
one where we pass the array index to xl_fork and xl_waitpid.

> or we can add a proper list (LIBXL_LIST based?) which we add them to and
> manage explicitly from xlfork and reap/xlwaitpid.

Urgh.  This is definitely overkill.

> > -    *pid = fork();
> > -    if (*pid < 0) {
> > +    console_child_report();
> > +
> > +    pid_t pid = xl_fork(&child_console);
> 
> console_child_report doesn't seem to reset child_config.pid and xlfork
> has an assert(!foo.pid) in it, so how does this work on the second time?

xl_waitpid does it.  Perhaps this is worth a comment ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:11:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:11:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVL5f-0003SA-Ji; Fri, 18 May 2012 11:11:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVL5d-0003S5-KR
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:11:21 +0000
Received: from [85.158.139.83:62210] by server-11.bemta-5.messagelabs.com id
	0A/D9-12959-85E26BF4; Fri, 18 May 2012 11:11:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337339479!29118980!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4531 invoked from network); 18 May 2012 11:11:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:11:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548235"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:11:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:11:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVL5b-0008CV-5O; Fri, 18 May 2012 11:11:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVL5b-0000c8-4Y;
	Fri, 18 May 2012 12:11:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.11863.126580.432459@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:11:19 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337251617.7781.54.camel@zakaz.uk.xensource.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
	<1337251617.7781.54.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] libxl: events: debugging output
 relating to ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 1/3] libxl: events: debugging output relating to ao's"):
> On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
...
> > @@ -1437,6 +1446,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
> >              /* don't bother with this if we're not in the event loop */
> >              libxl__poller_wakeup(egc, ao->poller);
> >      } else if (ao->how.callback) {
> > +        AO_GC;
> 
> I'd prefer that we kept these sorts of magic infrastructure macro things
> at the tops of functions.

Right.  The reason I did that was because I didn't want to have to
reason about the possible validity of the gc throughout this function,
which after all is capable of destroying the ao.

But actually I don't need the gc (which is just as well), but only the
ctx.  The function already has a call to libxl__gc_owner in it.  So I
have instead moved that call to the top and now there is a ctx which
is valid throughout the function.

> > @@ -1507,6 +1532,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
> >                  break;
> >              }
> >  
> > +            LOG(DEBUG,"ao %p: not ready, waiting",ao);
> 
> This one is too verbose, with xl -vvv cr -c it spams the pygrub console
> every second making it unusable. Even before that point there is a good
> dozen of them printed out.

I will redo the patches so the debugging is off by default and needs
to be enabled at compile-time.

> I noticed that very little of this stuff ends up
> in /var/log/xen/xl-<NAME>.log. I'm not sure why though since it would
> seem the obvious place for it to go. I guess it happens in the
> foreground not the daemon?

Yes.  Arguably -c should redirect the log to the logfile, or perhaps
xl should always copy all the log output to the logfile.  (But note
that xl itself has various output functions which do not use xtl.)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:11:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:11:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVL5f-0003SA-Ji; Fri, 18 May 2012 11:11:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVL5d-0003S5-KR
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:11:21 +0000
Received: from [85.158.139.83:62210] by server-11.bemta-5.messagelabs.com id
	0A/D9-12959-85E26BF4; Fri, 18 May 2012 11:11:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337339479!29118980!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4531 invoked from network); 18 May 2012 11:11:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:11:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548235"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:11:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:11:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVL5b-0008CV-5O; Fri, 18 May 2012 11:11:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVL5b-0000c8-4Y;
	Fri, 18 May 2012 12:11:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.11863.126580.432459@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:11:19 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337251617.7781.54.camel@zakaz.uk.xensource.com>
References: <1337181914-7199-1-git-send-email-ian.jackson@eu.citrix.com>
	<1337181914-7199-2-git-send-email-ian.jackson@eu.citrix.com>
	<1337251617.7781.54.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] libxl: events: debugging output
 relating to ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 1/3] libxl: events: debugging output relating to ao's"):
> On Wed, 2012-05-16 at 16:25 +0100, Ian Jackson wrote:
...
> > @@ -1437,6 +1446,8 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
> >              /* don't bother with this if we're not in the event loop */
> >              libxl__poller_wakeup(egc, ao->poller);
> >      } else if (ao->how.callback) {
> > +        AO_GC;
> 
> I'd prefer that we kept these sorts of magic infrastructure macro things
> at the tops of functions.

Right.  The reason I did that was because I didn't want to have to
reason about the possible validity of the gc throughout this function,
which after all is capable of destroying the ao.

But actually I don't need the gc (which is just as well), but only the
ctx.  The function already has a call to libxl__gc_owner in it.  So I
have instead moved that call to the top and now there is a ctx which
is valid throughout the function.

> > @@ -1507,6 +1532,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
> >                  break;
> >              }
> >  
> > +            LOG(DEBUG,"ao %p: not ready, waiting",ao);
> 
> This one is too verbose, with xl -vvv cr -c it spams the pygrub console
> every second making it unusable. Even before that point there is a good
> dozen of them printed out.

I will redo the patches so the debugging is off by default and needs
to be enabled at compile-time.

> I noticed that very little of this stuff ends up
> in /var/log/xen/xl-<NAME>.log. I'm not sure why though since it would
> seem the obvious place for it to go. I guess it happens in the
> foreground not the daemon?

Yes.  Arguably -c should redirect the log to the logfile, or perhaps
xl should always copy all the log output to the logfile.  (But note
that xl itself has various output functions which do not use xtl.)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:14:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVL80-0003Wu-55; Fri, 18 May 2012 11:13:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVL7y-0003Wn-UF
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:13:47 +0000
Received: from [193.109.254.147:32286] by server-4.bemta-14.messagelabs.com id
	C6/5B-11570-AEE26BF4; Fri, 18 May 2012 11:13:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337339622!9583724!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11141 invoked from network); 18 May 2012 11:13:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:13:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548292"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:13:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:13:41 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVL7t-0008DB-Rl; Fri, 18 May 2012 11:13:41 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVL7t-0000cN-Qp;
	Fri, 18 May 2012 12:13:41 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.12005.588735.746964@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:13:41 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337256990-51913-3-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
	on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 3/4] python: set absolute path to libxl.h on _pyxl_types.c"):
> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> libxl.h is already present in the include search path, the old one was
> included instead of the new one, giving compilation errors. Since
> _pyxl_types.c is generated at compilation time, we can safely set
> the path to libxl.h include.

I'm not sure what you mean by "the old one".  Do you mean one in
/usr/include ?

> I've only experienced this problem when compiling Xen on NetBSD with
> old header files in the include path, Linux seems to not have this
> problem.

The build system should make sure that our own include directories
come before system directories.  Otherwise various other things aren't
going to work either.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:14:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVL80-0003Wu-55; Fri, 18 May 2012 11:13:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVL7y-0003Wn-UF
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:13:47 +0000
Received: from [193.109.254.147:32286] by server-4.bemta-14.messagelabs.com id
	C6/5B-11570-AEE26BF4; Fri, 18 May 2012 11:13:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337339622!9583724!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11141 invoked from network); 18 May 2012 11:13:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:13:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548292"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:13:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:13:41 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVL7t-0008DB-Rl; Fri, 18 May 2012 11:13:41 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVL7t-0000cN-Qp;
	Fri, 18 May 2012 12:13:41 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.12005.588735.746964@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:13:41 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337256990-51913-3-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
	on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 3/4] python: set absolute path to libxl.h on _pyxl_types.c"):
> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
> libxl.h is already present in the include search path, the old one was
> included instead of the new one, giving compilation errors. Since
> _pyxl_types.c is generated at compilation time, we can safely set
> the path to libxl.h include.

I'm not sure what you mean by "the old one".  Do you mean one in
/usr/include ?

> I've only experienced this problem when compiling Xen on NetBSD with
> old header files in the include path, Linux seems to not have this
> problem.

The build system should make sure that our own include directories
come before system directories.  Otherwise various other things aren't
going to work either.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:18:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:18:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLBo-0003hw-Ph; Fri, 18 May 2012 11:17:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLBn-0003ho-W2
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:17:44 +0000
Received: from [193.109.254.147:22032] by server-8.bemta-14.messagelabs.com id
	8C/87-23244-7DF26BF4; Fri, 18 May 2012 11:17:43 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337339861!9909780!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20614 invoked from network); 18 May 2012 11:17:42 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:17:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195488283"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:17:40 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:17:40 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLBk-0002gY-By;
	Fri, 18 May 2012 12:17:40 +0100
Message-ID: <4FB62FD4.8060208@citrix.com>
Date: Fri, 18 May 2012 12:17:40 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<20406.12005.588735.746964@mariner.uk.xensource.com>
In-Reply-To: <20406.12005.588735.746964@mariner.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
	on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 3/4] python: set absolute path to libxl.h on _pyxl_types.c"):
>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>> libxl.h is already present in the include search path, the old one was
>> included instead of the new one, giving compilation errors. Since
>> _pyxl_types.c is generated at compilation time, we can safely set
>> the path to libxl.h include.
>
> I'm not sure what you mean by "the old one".  Do you mean one in
> /usr/include ?

Yes, in NetBSD case the ones in /usr/pkg/include, that's where Xen 
headers would reside on a normal installation.

>
>> I've only experienced this problem when compiling Xen on NetBSD with
>> old header files in the include path, Linux seems to not have this
>> problem.
>
> The build system should make sure that our own include directories
> come before system directories.  Otherwise various other things aren't
> going to work either.

This only happened when building python extensions because the port 
build of python passes "OPT" to python configure that contains 
-I/usr/pkg/include. And that is used also when building extensions. A 
bug report is in place. The rest of the build system is fine.

> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:18:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:18:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLBo-0003hw-Ph; Fri, 18 May 2012 11:17:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLBn-0003ho-W2
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:17:44 +0000
Received: from [193.109.254.147:22032] by server-8.bemta-14.messagelabs.com id
	8C/87-23244-7DF26BF4; Fri, 18 May 2012 11:17:43 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337339861!9909780!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20614 invoked from network); 18 May 2012 11:17:42 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:17:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195488283"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:17:40 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:17:40 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLBk-0002gY-By;
	Fri, 18 May 2012 12:17:40 +0100
Message-ID: <4FB62FD4.8060208@citrix.com>
Date: Fri, 18 May 2012 12:17:40 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-3-git-send-email-roger.pau@citrix.com>
	<20406.12005.588735.746964@mariner.uk.xensource.com>
In-Reply-To: <20406.12005.588735.746964@mariner.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 3/4] python: set absolute path to libxl.h
	on _pyxl_types.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 3/4] python: set absolute path to libxl.h on _pyxl_types.c"):
>> genwrap.py generates _pyxl_types.c, which includes libxl.h, but if
>> libxl.h is already present in the include search path, the old one was
>> included instead of the new one, giving compilation errors. Since
>> _pyxl_types.c is generated at compilation time, we can safely set
>> the path to libxl.h include.
>
> I'm not sure what you mean by "the old one".  Do you mean one in
> /usr/include ?

Yes, in NetBSD case the ones in /usr/pkg/include, that's where Xen 
headers would reside on a normal installation.

>
>> I've only experienced this problem when compiling Xen on NetBSD with
>> old header files in the include path, Linux seems to not have this
>> problem.
>
> The build system should make sure that our own include directories
> come before system directories.  Otherwise various other things aren't
> going to work either.

This only happened when building python extensions because the port 
build of python passes "OPT" to python configure that contains 
-I/usr/pkg/include. And that is used also when building extensions. A 
bug report is in place. The rest of the build system is fine.

> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:18:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:18:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLC8-0003j9-6L; Fri, 18 May 2012 11:18:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLC6-0003iy-Bj
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:18:02 +0000
Received: from [85.158.143.99:19267] by server-2.bemta-4.messagelabs.com id
	8A/25-12211-9EF26BF4; Fri, 18 May 2012 11:18:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337339880!27736647!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32582 invoked from network); 18 May 2012 11:18:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:18:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548357"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:17:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:17:09 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLBF-0008En-PV; Fri, 18 May 2012 11:17:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLBF-0000d5-Of;
	Fri, 18 May 2012 12:17:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.12213.751409.867469@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:17:09 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337256990-51913-4-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
 config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
> Tools.mk contains variables that should be used when processing the
> top level Config.mk for the tools, specially the CONFIG_DIR variable,
> which is not honoring the PREFIX variable correctly, since when
> CONFIG_DIR is set the PREFIX var is still not defined.

I'm not sure I really understand how PREFIX is supposed to work.

In a normal package PREFIX would be set to /usr, /usr/local, /opt, or
whatever, by the person doing the installation.

The code in StdGNU.mk seems to be capable of generating paths like
  /usr/local/var/run/xen
which is a bit mad.

Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:18:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:18:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLC8-0003j9-6L; Fri, 18 May 2012 11:18:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLC6-0003iy-Bj
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:18:02 +0000
Received: from [85.158.143.99:19267] by server-2.bemta-4.messagelabs.com id
	8A/25-12211-9EF26BF4; Fri, 18 May 2012 11:18:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337339880!27736647!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32582 invoked from network); 18 May 2012 11:18:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:18:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548357"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:17:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:17:09 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLBF-0008En-PV; Fri, 18 May 2012 11:17:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLBF-0000d5-Of;
	Fri, 18 May 2012 12:17:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.12213.751409.867469@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:17:09 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337256990-51913-4-git-send-email-roger.pau@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
 config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
> Tools.mk contains variables that should be used when processing the
> top level Config.mk for the tools, specially the CONFIG_DIR variable,
> which is not honoring the PREFIX variable correctly, since when
> CONFIG_DIR is set the PREFIX var is still not defined.

I'm not sure I really understand how PREFIX is supposed to work.

In a normal package PREFIX would be set to /usr, /usr/local, /opt, or
whatever, by the person doing the installation.

The code in StdGNU.mk seems to be capable of generating paths like
  /usr/local/var/run/xen
which is a bit mad.

Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:18:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:18:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLCY-0003mO-Qp; Fri, 18 May 2012 11:18:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLCY-0003mG-4x
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:18:30 +0000
Received: from [85.158.138.51:36842] by server-2.bemta-3.messagelabs.com id
	82/09-09269-50036BF4; Fri, 18 May 2012 11:18:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337339908!19719319!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15521 invoked from network); 18 May 2012 11:18:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:18:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548374"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:18:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:18:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLCV-0008Ff-Uy; Fri, 18 May 2012 11:18:27 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLCV-0000dR-U6;
	Fri, 18 May 2012 12:18:27 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.12289.165816.853397@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:18:25 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
References: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] xl: remove all local "ctx" variables"):
> xl: remove all local "ctx" variables.
> 
> xl has a global "ctx" variable, so there should be no need to pass a
> ctx to any function.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Although I would prefer it if you'd leave xl_fork alone because my
xl child process fix patch is going to change its prototype anyway.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:18:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:18:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLCY-0003mO-Qp; Fri, 18 May 2012 11:18:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLCY-0003mG-4x
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:18:30 +0000
Received: from [85.158.138.51:36842] by server-2.bemta-3.messagelabs.com id
	82/09-09269-50036BF4; Fri, 18 May 2012 11:18:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337339908!19719319!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15521 invoked from network); 18 May 2012 11:18:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:18:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548374"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:18:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:18:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLCV-0008Ff-Uy; Fri, 18 May 2012 11:18:27 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLCV-0000dR-U6;
	Fri, 18 May 2012 12:18:27 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.12289.165816.853397@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:18:25 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
References: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] xl: remove all local "ctx" variables"):
> xl: remove all local "ctx" variables.
> 
> xl has a global "ctx" variable, so there should be no need to pass a
> ctx to any function.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Although I would prefer it if you'd leave xl_fork alone because my
xl child process fix patch is going to change its prototype anyway.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:25:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:25:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLIg-0004AB-LA; Fri, 18 May 2012 11:24:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVLIf-0004A6-06
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:24:49 +0000
Received: from [85.158.143.35:44610] by server-3.bemta-4.messagelabs.com id
	93/DB-05853-08136BF4; Fri, 18 May 2012 11:24:48 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337340281!12772921!1
X-Originating-IP: [216.32.180.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21488 invoked from network); 18 May 2012 11:24:42 -0000
Received: from va3ehsobe003.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.13)
	by server-12.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 11:24:42 -0000
Received: from mail169-va3-R.bigfish.com (10.7.14.251) by
	VA3EHSOBE001.bigfish.com (10.7.40.21) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:24:31 +0000
Received: from mail169-va3 (localhost [127.0.0.1])	by
	mail169-va3-R.bigfish.com (Postfix) with ESMTP id C6026420106	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 11:24:31 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail169-va3 (localhost.localdomain [127.0.0.1]) by mail169-va3
	(MessageSwitch) id 1337340269179282_28048;
	Fri, 18 May 2012 11:24:29 +0000 (UTC)
Received: from VA3EHSMHS002.bigfish.com (unknown [10.7.14.252])	by
	mail169-va3.bigfish.com (Postfix) with ESMTP id 27C0360046	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 11:24:29 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS002.bigfish.com (10.7.99.12) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:24:28 +0000
X-WSS-ID: 0M47UCW-02-2GQ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 22AF4C8084	for <xen-devel@lists.xen.org>; Fri, 18 May 2012
	06:24:31 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 06:31:25 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Fri, 18 May 2012 06:24:35 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	07:24:34 -0400
Message-ID: <4FB63171.3020102@amd.com>
Date: Fri, 18 May 2012 13:24:33 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
X-OriginatorOrg: amd.com
Subject: [Xen-devel] libxl: build failure due to 'libxl_domain_type'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Hi,

I get this libxl build error:

libxl.c: In function 'libxl_primary_console_exec':
libxl.c:1233:9: error: case value '4294967295' not in enumerated type
'libxl_domain_type'

I see that libxl__domain_type() can returns -1 which is not part
of 'enum libxl_domain_type'.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:25:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:25:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLIg-0004AB-LA; Fri, 18 May 2012 11:24:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVLIf-0004A6-06
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:24:49 +0000
Received: from [85.158.143.35:44610] by server-3.bemta-4.messagelabs.com id
	93/DB-05853-08136BF4; Fri, 18 May 2012 11:24:48 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337340281!12772921!1
X-Originating-IP: [216.32.180.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21488 invoked from network); 18 May 2012 11:24:42 -0000
Received: from va3ehsobe003.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.13)
	by server-12.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 11:24:42 -0000
Received: from mail169-va3-R.bigfish.com (10.7.14.251) by
	VA3EHSOBE001.bigfish.com (10.7.40.21) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:24:31 +0000
Received: from mail169-va3 (localhost [127.0.0.1])	by
	mail169-va3-R.bigfish.com (Postfix) with ESMTP id C6026420106	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 11:24:31 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail169-va3 (localhost.localdomain [127.0.0.1]) by mail169-va3
	(MessageSwitch) id 1337340269179282_28048;
	Fri, 18 May 2012 11:24:29 +0000 (UTC)
Received: from VA3EHSMHS002.bigfish.com (unknown [10.7.14.252])	by
	mail169-va3.bigfish.com (Postfix) with ESMTP id 27C0360046	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 11:24:29 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS002.bigfish.com (10.7.99.12) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:24:28 +0000
X-WSS-ID: 0M47UCW-02-2GQ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 22AF4C8084	for <xen-devel@lists.xen.org>; Fri, 18 May 2012
	06:24:31 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 06:31:25 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Fri, 18 May 2012 06:24:35 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	07:24:34 -0400
Message-ID: <4FB63171.3020102@amd.com>
Date: Fri, 18 May 2012 13:24:33 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
X-OriginatorOrg: amd.com
Subject: [Xen-devel] libxl: build failure due to 'libxl_domain_type'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Hi,

I get this libxl build error:

libxl.c: In function 'libxl_primary_console_exec':
libxl.c:1233:9: error: case value '4294967295' not in enumerated type
'libxl_domain_type'

I see that libxl__domain_type() can returns -1 which is not part
of 'enum libxl_domain_type'.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:30:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLNT-0004KT-Ip; Fri, 18 May 2012 11:29:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLNR-0004KL-FJ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:29:45 +0000
Received: from [193.109.254.147:15436] by server-7.bemta-14.messagelabs.com id
	95/28-01627-8A236BF4; Fri, 18 May 2012 11:29:44 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337340583!9898743!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11305 invoked from network); 18 May 2012 11:29:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:29:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195489305"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:29:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:29:42 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLNO-0002sP-1C;
	Fri, 18 May 2012 12:29:42 +0100
Message-ID: <4FB632A6.4000403@citrix.com>
Date: Fri, 18 May 2012 12:29:42 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
In-Reply-To: <20406.12213.751409.867469@mariner.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Tools.mk contains variables that should be used when processing the
>> top level Config.mk for the tools, specially the CONFIG_DIR variable,
>> which is not honoring the PREFIX variable correctly, since when
>> CONFIG_DIR is set the PREFIX var is still not defined.
>
> I'm not sure I really understand how PREFIX is supposed to work.
>
> In a normal package PREFIX would be set to /usr, /usr/local, /opt, or
> whatever, by the person doing the installation.
>
> The code in StdGNU.mk seems to be capable of generating paths like
>    /usr/local/var/run/xen
> which is a bit mad.

Not so much, NetBSD has /usr/pkg/etc for example, for configuration of 
packages installed from ports.

Maybe adding the following to config/Linux.mk would be suitable:

XEN_LOCK_DIR = /var/lib
XEN_RUN_DIR = /var/run/xen
XEN_PAGING_DIR = /var/lib/xen/xenpaging
CONFIG_DIR = /etc

So we don't end up putting those under /usr/local or some strange user 
supplied path.

> Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?

Configure scripts have a very common option, --prefix, which is saved 
into Tools.mk as PREFIX, this is what should be used as prefix for 
installation.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:30:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLNT-0004KT-Ip; Fri, 18 May 2012 11:29:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLNR-0004KL-FJ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:29:45 +0000
Received: from [193.109.254.147:15436] by server-7.bemta-14.messagelabs.com id
	95/28-01627-8A236BF4; Fri, 18 May 2012 11:29:44 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337340583!9898743!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11305 invoked from network); 18 May 2012 11:29:44 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:29:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195489305"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:29:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:29:42 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLNO-0002sP-1C;
	Fri, 18 May 2012 12:29:42 +0100
Message-ID: <4FB632A6.4000403@citrix.com>
Date: Fri, 18 May 2012 12:29:42 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
In-Reply-To: <20406.12213.751409.867469@mariner.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Tools.mk contains variables that should be used when processing the
>> top level Config.mk for the tools, specially the CONFIG_DIR variable,
>> which is not honoring the PREFIX variable correctly, since when
>> CONFIG_DIR is set the PREFIX var is still not defined.
>
> I'm not sure I really understand how PREFIX is supposed to work.
>
> In a normal package PREFIX would be set to /usr, /usr/local, /opt, or
> whatever, by the person doing the installation.
>
> The code in StdGNU.mk seems to be capable of generating paths like
>    /usr/local/var/run/xen
> which is a bit mad.

Not so much, NetBSD has /usr/pkg/etc for example, for configuration of 
packages installed from ports.

Maybe adding the following to config/Linux.mk would be suitable:

XEN_LOCK_DIR = /var/lib
XEN_RUN_DIR = /var/run/xen
XEN_PAGING_DIR = /var/lib/xen/xenpaging
CONFIG_DIR = /etc

So we don't end up putting those under /usr/local or some strange user 
supplied path.

> Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?

Configure scripts have a very common option, --prefix, which is saved 
into Tools.mk as PREFIX, this is what should be used as prefix for 
installation.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:36:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:36:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLTq-0004V3-ER; Fri, 18 May 2012 11:36:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLTp-0004Uy-0O
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:36:21 +0000
Received: from [193.109.254.147:51647] by server-7.bemta-14.messagelabs.com id
	EC/8E-01627-43436BF4; Fri, 18 May 2012 11:36:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337340948!9951234!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12345 invoked from network); 18 May 2012 11:35:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:35:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548654"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:35:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:35:47 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLTH-0008Mj-E5; Fri, 18 May 2012 11:35:47 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLTH-0000eJ-Cf;
	Fri, 18 May 2012 12:35:47 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.13331.376904.640112@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:35:47 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> @@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
>      libxl__ao *ao;
>      libxl__run_bootloader_callback *callback;
>      libxl__bootloader_console_callback *console_available;
> -    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> +    const libxl_domain_build_info *info;
>      libxl_device_disk *disk;
>      uint32_t domid;
> +    /* outputs, call must set kernel and ramdisk to point to a file
> +     * reference which will be updated and mapped, cmdline will be
> +     * updated */
> +    libxl__file_reference *kernel, *ramdisk;
> +    const char *cmdline;

You mean "caller must set" ?  And "to file references" since they're
not the same reference.  (Also, comma splices, ew.)

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:36:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:36:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLTq-0004V3-ER; Fri, 18 May 2012 11:36:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLTp-0004Uy-0O
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:36:21 +0000
Received: from [193.109.254.147:51647] by server-7.bemta-14.messagelabs.com id
	EC/8E-01627-43436BF4; Fri, 18 May 2012 11:36:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337340948!9951234!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12345 invoked from network); 18 May 2012 11:35:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:35:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548654"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:35:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:35:47 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLTH-0008Mj-E5; Fri, 18 May 2012 11:35:47 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLTH-0000eJ-Cf;
	Fri, 18 May 2012 12:35:47 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.13331.376904.640112@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:35:47 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> @@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
>      libxl__ao *ao;
>      libxl__run_bootloader_callback *callback;
>      libxl__bootloader_console_callback *console_available;
> -    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> +    const libxl_domain_build_info *info;
>      libxl_device_disk *disk;
>      uint32_t domid;
> +    /* outputs, call must set kernel and ramdisk to point to a file
> +     * reference which will be updated and mapped, cmdline will be
> +     * updated */
> +    libxl__file_reference *kernel, *ramdisk;
> +    const char *cmdline;

You mean "caller must set" ?  And "to file references" since they're
not the same reference.  (Also, comma splices, ew.)

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:37:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:37:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLUn-0004aJ-SG; Fri, 18 May 2012 11:37:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVLUm-0004aA-4N
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:37:20 +0000
Received: from [85.158.143.35:60584] by server-1.bemta-4.messagelabs.com id
	2C/AB-00342-F6436BF4; Fri, 18 May 2012 11:37:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337341038!13518018!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16277 invoked from network); 18 May 2012 11:37:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:37:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548686"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:37:18 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 12:37:18 +0100
Message-ID: <1337341037.22316.65.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 12:37:17 +0100
In-Reply-To: <20406.12289.165816.853397@mariner.uk.xensource.com>
References: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
	<20406.12289.165816.853397@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:18 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH] xl: remove all local "ctx" variables"):
> > xl: remove all local "ctx" variables.
> > 
> > xl has a global "ctx" variable, so there should be no need to pass a
> > ctx to any function.
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> 
> Although I would prefer it if you'd leave xl_fork alone because my
> xl child process fix patch is going to change its prototype anyway.

I'm happy to refresh this patch after your xl child patch goes in, and
drop the xl_fork stuff as appropriate.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:37:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:37:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLUn-0004aJ-SG; Fri, 18 May 2012 11:37:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVLUm-0004aA-4N
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:37:20 +0000
Received: from [85.158.143.35:60584] by server-1.bemta-4.messagelabs.com id
	2C/AB-00342-F6436BF4; Fri, 18 May 2012 11:37:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337341038!13518018!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16277 invoked from network); 18 May 2012 11:37:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:37:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548686"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:37:18 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 12:37:18 +0100
Message-ID: <1337341037.22316.65.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 12:37:17 +0100
In-Reply-To: <20406.12289.165816.853397@mariner.uk.xensource.com>
References: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
	<20406.12289.165816.853397@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:18 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH] xl: remove all local "ctx" variables"):
> > xl: remove all local "ctx" variables.
> > 
> > xl has a global "ctx" variable, so there should be no need to pass a
> > ctx to any function.
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> 
> Although I would prefer it if you'd leave xl_fork alone because my
> xl child process fix patch is going to change its prototype anyway.

I'm happy to refresh this patch after your xl child patch goes in, and
drop the xl_fork stuff as appropriate.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:41:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLYR-0004pX-Lr; Fri, 18 May 2012 11:41:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLYP-0004pK-LH
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:41:05 +0000
Received: from [85.158.138.51:50677] by server-9.bemta-3.messagelabs.com id
	53/6B-26691-05536BF4; Fri, 18 May 2012 11:41:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337341264!19864607!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2422 invoked from network); 18 May 2012 11:41:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:41:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548752"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:41:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:41:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLYN-0008Pm-Nx; Fri, 18 May 2012 11:41:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLYN-0000fm-NA;
	Fri, 18 May 2012 12:41:03 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.13647.706387.218469@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:41:03 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337329542.22316.7.camel@zakaz.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<1337329542.22316.7.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > [...]
> > +    if (!info->u.pv.bootloader) {
> > +        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
> > +        bl->kernel->path = bl->info->u.pv.kernel;
> > +        bl->ramdisk->path = bl->info->u.pv.ramdisk;
> > +        bl->cmdline = bl->info->u.pv.cmdline;
> > +        rc = 0;
> > +        goto out_ok;
> > +    }
> 
> I'm not at all sure about this. Is it valid for an async operation to
> keep references to the parameters from the caller and to use them for
> the duration of the operation? IOW is there a requirement that the
> caller keeps the arguments live until the op completes? It's seems
> obvious that there should but I thought I'd seen a comment to the
> contrary somewhere (which I now can't see, perhaps I was thinking about
> the lack of a requirement to keep the ao_how valid).

Yes, there is such a requirement and it should be documented.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:41:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLYR-0004pX-Lr; Fri, 18 May 2012 11:41:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLYP-0004pK-LH
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:41:05 +0000
Received: from [85.158.138.51:50677] by server-9.bemta-3.messagelabs.com id
	53/6B-26691-05536BF4; Fri, 18 May 2012 11:41:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337341264!19864607!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2422 invoked from network); 18 May 2012 11:41:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:41:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548752"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:41:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:41:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLYN-0008Pm-Nx; Fri, 18 May 2012 11:41:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLYN-0000fm-NA;
	Fri, 18 May 2012 12:41:03 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.13647.706387.218469@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:41:03 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337329542.22316.7.camel@zakaz.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<1337329542.22316.7.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > [...]
> > +    if (!info->u.pv.bootloader) {
> > +        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
> > +        bl->kernel->path = bl->info->u.pv.kernel;
> > +        bl->ramdisk->path = bl->info->u.pv.ramdisk;
> > +        bl->cmdline = bl->info->u.pv.cmdline;
> > +        rc = 0;
> > +        goto out_ok;
> > +    }
> 
> I'm not at all sure about this. Is it valid for an async operation to
> keep references to the parameters from the caller and to use them for
> the duration of the operation? IOW is there a requirement that the
> caller keeps the arguments live until the op completes? It's seems
> obvious that there should but I thought I'd seen a comment to the
> contrary somewhere (which I now can't see, perhaps I was thinking about
> the lack of a requirement to keep the ao_how valid).

Yes, there is such a requirement and it should be documented.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:47:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:47:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLdy-0004zk-EQ; Fri, 18 May 2012 11:46:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLdw-0004zc-A7
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:46:48 +0000
Received: from [193.109.254.147:55271] by server-1.bemta-14.messagelabs.com id
	44/C8-29372-7A636BF4; Fri, 18 May 2012 11:46:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337341606!3097207!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1951 invoked from network); 18 May 2012 11:46:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:46:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:46:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:46:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLdt-0008Rg-P8; Fri, 18 May 2012 11:46:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLdt-0000gU-NY;
	Fri, 18 May 2012 12:46:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.13989.715688.280631@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:46:45 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB632A6.4000403@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
 config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
> Ian Jackson wrote:
> > Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?
> 
> Configure scripts have a very common option, --prefix, which is saved 
> into Tools.mk as PREFIX, this is what should be used as prefix for 
> installation.

I know that.  But given that the configure is just for the tools
build, should we honour PREFIX from Config.mk (and ./.config or
command line arguments) or from ./configure ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:47:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:47:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLdy-0004zk-EQ; Fri, 18 May 2012 11:46:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLdw-0004zc-A7
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:46:48 +0000
Received: from [193.109.254.147:55271] by server-1.bemta-14.messagelabs.com id
	44/C8-29372-7A636BF4; Fri, 18 May 2012 11:46:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337341606!3097207!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1951 invoked from network); 18 May 2012 11:46:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:46:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:46:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:46:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVLdt-0008Rg-P8; Fri, 18 May 2012 11:46:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVLdt-0000gU-NY;
	Fri, 18 May 2012 12:46:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.13989.715688.280631@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 12:46:45 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB632A6.4000403@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
 config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
> Ian Jackson wrote:
> > Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?
> 
> Configure scripts have a very common option, --prefix, which is saved 
> into Tools.mk as PREFIX, this is what should be used as prefix for 
> installation.

I know that.  But given that the configure is just for the tools
build, should we honour PREFIX from Config.mk (and ./.config or
command line arguments) or from ./configure ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:51:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:51:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLhz-0005Er-Ok; Fri, 18 May 2012 11:50:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLhx-0005Ee-L9
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 11:50:57 +0000
Received: from [193.109.254.147:53188] by server-5.bemta-14.messagelabs.com id
	65/33-30733-0A736BF4; Fri, 18 May 2012 11:50:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337341855!4270108!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20982 invoked from network); 18 May 2012 11:50:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:50:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548914"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:50:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:50:55 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVLhv-0008TG-AI;
	Fri, 18 May 2012 11:50:55 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVLhu-0007du-Q9;
	Fri, 18 May 2012 12:50:55 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12920-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 12:50:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12920: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12920 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12920/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl            9 guest-start                 fail pass in 12915

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2   fail in 12915 like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  28831853d1a8
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:51:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:51:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLhz-0005Er-Ok; Fri, 18 May 2012 11:50:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVLhx-0005Ee-L9
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 11:50:57 +0000
Received: from [193.109.254.147:53188] by server-5.bemta-14.messagelabs.com id
	65/33-30733-0A736BF4; Fri, 18 May 2012 11:50:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337341855!4270108!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20982 invoked from network); 18 May 2012 11:50:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:50:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12548914"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:50:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 12:50:55 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVLhv-0008TG-AI;
	Fri, 18 May 2012 11:50:55 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVLhu-0007du-Q9;
	Fri, 18 May 2012 12:50:55 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12920-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 12:50:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12920: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12920 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12920/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12884
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12876

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl            9 guest-start                 fail pass in 12915

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2   fail in 12915 like 12884

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  28831853d1a8
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:52:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLjP-0005Ob-7g; Fri, 18 May 2012 11:52:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVLjN-0005OK-IC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:52:25 +0000
Received: from [85.158.143.99:27436] by server-3.bemta-4.messagelabs.com id
	D4/10-05853-8F736BF4; Fri, 18 May 2012 11:52:24 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337341942!23321454!1
X-Originating-IP: [216.32.180.14]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12884 invoked from network); 18 May 2012 11:52:23 -0000
Received: from va3ehsobe004.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.14)
	by server-2.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 11:52:23 -0000
Received: from mail92-va3-R.bigfish.com (10.7.14.237) by
	VA3EHSOBE004.bigfish.com (10.7.40.24) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:52:13 +0000
Received: from mail92-va3 (localhost [127.0.0.1])	by mail92-va3-R.bigfish.com
	(Postfix) with ESMTP id 217DA4C0607;
	Fri, 18 May 2012 11:52:13 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail92-va3 (localhost.localdomain [127.0.0.1]) by mail92-va3
	(MessageSwitch) id 1337341931490684_9914;
	Fri, 18 May 2012 11:52:11 +0000 (UTC)
Received: from VA3EHSMHS026.bigfish.com (unknown [10.7.14.245])	by
	mail92-va3.bigfish.com (Postfix) with ESMTP id 72ADC3C0046;
	Fri, 18 May 2012 11:52:11 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS026.bigfish.com (10.7.99.36) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:52:11 +0000
X-WSS-ID: 0M47VN5-01-0C2-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26EBC1028055;	Fri, 18 May 2012 06:52:17 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 06:59:07 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 06:52:17 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	07:52:17 -0400
Message-ID: <4FB637EF.7080100@amd.com>
Date: Fri, 18 May 2012 13:52:15 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
In-Reply-To: <20406.13989.715688.280631@mariner.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 13:46, Ian Jackson wrote:

> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Ian Jackson wrote:
>>> Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?
>>
>> Configure scripts have a very common option, --prefix, which is saved 
>> into Tools.mk as PREFIX, this is what should be used as prefix for 
>> installation.
> 
> I know that.  But given that the configure is just for the tools
> build, should we honour PREFIX from Config.mk (and ./.config or
> command line arguments) or from ./configure ?


The one from configure. The point is that the other path variables
also honour the prefix from configure.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:52:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLjP-0005Ob-7g; Fri, 18 May 2012 11:52:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVLjN-0005OK-IC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:52:25 +0000
Received: from [85.158.143.99:27436] by server-3.bemta-4.messagelabs.com id
	D4/10-05853-8F736BF4; Fri, 18 May 2012 11:52:24 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337341942!23321454!1
X-Originating-IP: [216.32.180.14]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12884 invoked from network); 18 May 2012 11:52:23 -0000
Received: from va3ehsobe004.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.14)
	by server-2.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 11:52:23 -0000
Received: from mail92-va3-R.bigfish.com (10.7.14.237) by
	VA3EHSOBE004.bigfish.com (10.7.40.24) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:52:13 +0000
Received: from mail92-va3 (localhost [127.0.0.1])	by mail92-va3-R.bigfish.com
	(Postfix) with ESMTP id 217DA4C0607;
	Fri, 18 May 2012 11:52:13 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail92-va3 (localhost.localdomain [127.0.0.1]) by mail92-va3
	(MessageSwitch) id 1337341931490684_9914;
	Fri, 18 May 2012 11:52:11 +0000 (UTC)
Received: from VA3EHSMHS026.bigfish.com (unknown [10.7.14.245])	by
	mail92-va3.bigfish.com (Postfix) with ESMTP id 72ADC3C0046;
	Fri, 18 May 2012 11:52:11 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS026.bigfish.com (10.7.99.36) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 11:52:11 +0000
X-WSS-ID: 0M47VN5-01-0C2-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 26EBC1028055;	Fri, 18 May 2012 06:52:17 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 06:59:07 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 06:52:17 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	07:52:17 -0400
Message-ID: <4FB637EF.7080100@amd.com>
Date: Fri, 18 May 2012 13:52:15 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
In-Reply-To: <20406.13989.715688.280631@mariner.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 13:46, Ian Jackson wrote:

> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Ian Jackson wrote:
>>> Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?
>>
>> Configure scripts have a very common option, --prefix, which is saved 
>> into Tools.mk as PREFIX, this is what should be used as prefix for 
>> installation.
> 
> I know that.  But given that the configure is just for the tools
> build, should we honour PREFIX from Config.mk (and ./.config or
> command line arguments) or from ./configure ?


The one from configure. The point is that the other path variables
also honour the prefix from configure.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:53:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLjl-0005RU-Py; Fri, 18 May 2012 11:52:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLjk-0005RG-J4
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:52:48 +0000
Received: from [193.109.254.147:15284] by server-10.bemta-14.messagelabs.com
	id 4A/25-05847-F0836BF4; Fri, 18 May 2012 11:52:47 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337341964!9954462!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15781 invoked from network); 18 May 2012 11:52:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:52:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195491497"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:52:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:52:43 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLjf-0003GJ-4r;
	Fri, 18 May 2012 12:52:43 +0100
Message-ID: <4FB6380B.7010304@citrix.com>
Date: Fri, 18 May 2012 12:52:43 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] Import Qemu commit "audio: split IN_T into two separate
	constants"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

I would like to request the import of the Qemu commit:

commit a28853871d6ef5ec4afe810a43fdde859dfdaa7e
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Fri May 18 12:08:14 2012 +0100
audio: split IN_T into two separate constants

Into our qemu-upstream tree, since it's needed for NetBSD build.

Thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 11:53:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 11:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLjl-0005RU-Py; Fri, 18 May 2012 11:52:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLjk-0005RG-J4
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:52:48 +0000
Received: from [193.109.254.147:15284] by server-10.bemta-14.messagelabs.com
	id 4A/25-05847-F0836BF4; Fri, 18 May 2012 11:52:47 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337341964!9954462!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15781 invoked from network); 18 May 2012 11:52:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:52:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195491497"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:52:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:52:43 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLjf-0003GJ-4r;
	Fri, 18 May 2012 12:52:43 +0100
Message-ID: <4FB6380B.7010304@citrix.com>
Date: Fri, 18 May 2012 12:52:43 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] Import Qemu commit "audio: split IN_T into two separate
	constants"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

I would like to request the import of the Qemu commit:

commit a28853871d6ef5ec4afe810a43fdde859dfdaa7e
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Fri May 18 12:08:14 2012 +0100
audio: split IN_T into two separate constants

Into our qemu-upstream tree, since it's needed for NetBSD build.

Thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:00:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:00:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLqc-0005r9-Oh; Fri, 18 May 2012 11:59:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLqZ-0005r4-4L
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:59:53 +0000
Received: from [85.158.138.51:60995] by server-10.bemta-3.messagelabs.com id
	6B/29-29478-6B936BF4; Fri, 18 May 2012 11:59:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337342388!19868273!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30779 invoked from network); 18 May 2012 11:59:49 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:59:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195492145"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:59:48 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:59:47 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLqV-0003M6-J3;
	Fri, 18 May 2012 12:59:47 +0100
Message-ID: <4FB639B3.3000905@citrix.com>
Date: Fri, 18 May 2012 12:59:47 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
In-Reply-To: <20406.13989.715688.280631@mariner.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Ian Jackson wrote:
>>> Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?
>> Configure scripts have a very common option, --prefix, which is saved
>> into Tools.mk as PREFIX, this is what should be used as prefix for
>> installation.
>
> I know that.  But given that the configure is just for the tools
> build, should we honour PREFIX from Config.mk (and ./.config or
> command line arguments) or from ./configure ?

I think the one from configure, since we have a configure script, better 
make use of it, that is what users expect. I will resend this patch with 
the above changes to config/Linux.mk, is that ok?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:00:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:00:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVLqc-0005r9-Oh; Fri, 18 May 2012 11:59:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVLqZ-0005r4-4L
	for xen-devel@lists.xen.org; Fri, 18 May 2012 11:59:53 +0000
Received: from [85.158.138.51:60995] by server-10.bemta-3.messagelabs.com id
	6B/29-29478-6B936BF4; Fri, 18 May 2012 11:59:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337342388!19868273!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30779 invoked from network); 18 May 2012 11:59:49 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 11:59:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330923600"; d="scan'208";a="195492145"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 07:59:48 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 07:59:47 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVLqV-0003M6-J3;
	Fri, 18 May 2012 12:59:47 +0100
Message-ID: <4FB639B3.3000905@citrix.com>
Date: Fri, 18 May 2012 12:59:47 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
In-Reply-To: <20406.13989.715688.280631@mariner.uk.xensource.com>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Ian Jackson wrote:
>>> Also PREFIX is set in StdGNU.mk.  Why is it also set in Tools.mk ?
>> Configure scripts have a very common option, --prefix, which is saved
>> into Tools.mk as PREFIX, this is what should be used as prefix for
>> installation.
>
> I know that.  But given that the configure is just for the tools
> build, should we honour PREFIX from Config.mk (and ./.config or
> command line arguments) or from ./configure ?

I think the one from configure, since we have a configure script, better 
make use of it, that is what users expect. I will resend this patch with 
the above changes to config/Linux.mk, is that ok?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:10:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:10:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVM0W-0006Iw-PK; Fri, 18 May 2012 12:10:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVM0V-0006Iq-DB
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:10:07 +0000
Received: from [85.158.143.99:23027] by server-2.bemta-4.messagelabs.com id
	37/E5-12211-E1C36BF4; Fri, 18 May 2012 12:10:06 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337343005!28616012!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5786 invoked from network); 18 May 2012 12:10:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:10:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12549328"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:10:04 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 13:10:04 +0100
Date: Fri, 18 May 2012 13:09:49 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB6380B.7010304@citrix.com>
Message-ID: <alpine.DEB.2.00.1205181309360.26786@kaball-desktop>
References: <4FB6380B.7010304@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Import Qemu commit "audio: split IN_T into two
 separate constants"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Roger Pau Monne wrote:
> Hello,
> 
> I would like to request the import of the Qemu commit:
> 
> commit a28853871d6ef5ec4afe810a43fdde859dfdaa7e
> Author: Roger Pau Monne <roger.pau@citrix.com>
> Date:   Fri May 18 12:08:14 2012 +0100
> audio: split IN_T into two separate constants
> 
> Into our qemu-upstream tree, since it's needed for NetBSD build.

OK.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:10:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:10:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVM0W-0006Iw-PK; Fri, 18 May 2012 12:10:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVM0V-0006Iq-DB
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:10:07 +0000
Received: from [85.158.143.99:23027] by server-2.bemta-4.messagelabs.com id
	37/E5-12211-E1C36BF4; Fri, 18 May 2012 12:10:06 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337343005!28616012!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5786 invoked from network); 18 May 2012 12:10:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:10:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12549328"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:10:04 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 13:10:04 +0100
Date: Fri, 18 May 2012 13:09:49 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB6380B.7010304@citrix.com>
Message-ID: <alpine.DEB.2.00.1205181309360.26786@kaball-desktop>
References: <4FB6380B.7010304@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Import Qemu commit "audio: split IN_T into two
 separate constants"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Roger Pau Monne wrote:
> Hello,
> 
> I would like to request the import of the Qemu commit:
> 
> commit a28853871d6ef5ec4afe810a43fdde859dfdaa7e
> Author: Roger Pau Monne <roger.pau@citrix.com>
> Date:   Fri May 18 12:08:14 2012 +0100
> audio: split IN_T into two separate constants
> 
> Into our qemu-upstream tree, since it's needed for NetBSD build.

OK.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:21:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:21:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMBN-0006Sw-6H; Fri, 18 May 2012 12:21:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVMBM-0006Sr-6Z
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:21:20 +0000
Received: from [85.158.143.35:48160] by server-3.bemta-4.messagelabs.com id
	A0/0A-05853-FBE36BF4; Fri, 18 May 2012 12:21:19 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337343677!4354676!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15689 invoked from network); 18 May 2012 12:21:18 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-5.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 12:21:18 -0000
Received: from mail4-ch1-R.bigfish.com (10.43.68.233) by
	CH1EHSOBE013.bigfish.com (10.43.70.63) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 12:21:07 +0000
Received: from mail4-ch1 (localhost [127.0.0.1])	by mail4-ch1-R.bigfish.com
	(Postfix) with ESMTP id 6B2281E04D4	for <xen-devel@lists.xen.org>;
	Fri, 18 May 2012 12:21:07 +0000 (UTC)
X-SpamScore: 0
X-BigFish: VPS0(zzc85fhc85dhzz1202hzz8275bh8275dhz2dh668h839hd25he5bhf0ah34h)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail4-ch1 (localhost.localdomain [127.0.0.1]) by mail4-ch1
	(MessageSwitch) id 1337343666158318_3251;
	Fri, 18 May 2012 12:21:06 +0000 (UTC)
Received: from CH1EHSMHS012.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.245])	by mail4-ch1.bigfish.com (Postfix) with ESMTP id
	1A3A82A007C
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 12:21:06 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS012.bigfish.com (10.43.70.12) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 12:21:05 +0000
X-WSS-ID: 0M47WZD-01-1II-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1) with ESMTP id 2D7191028054	for <xen-devel@lists.xen.org>;
	Fri, 18 May 2012 07:21:12 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 07:28:02 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 07:21:13 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	08:21:12 -0400
Message-ID: <4FB63EB6.10803@amd.com>
Date: Fri, 18 May 2012 14:21:10 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <4FB63171.3020102@amd.com>
In-Reply-To: <4FB63171.3020102@amd.com>
Content-Type: multipart/mixed; boundary="------------070007020508030807000108"
X-OriginatorOrg: amd.com
Subject: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID to
	make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------070007020508030807000108
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit


Introduce LIBXL_DOMAIN_TYPE_INVALID.
Change libxl__domain_type() to return LIBXL_DOMAIN_TYPE_INVALID rather
hardcoding -1.
Adjust code pieces where gcc 4.5.3 claims that LIBXL_DOMAIN_TYPE_INVALID
is not handled.

This fixes the build error with gcc 4.5.3 reported here:
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01269.html

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------070007020508030807000108
Content-Type: text/plain; charset="us-ascii"; name="xen_libxl.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xen_libxl.diff"
Content-Description: xen_libxl.diff

diff -r 99263132665b tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Fri May 18 12:38:55 2012 +0200
+++ b/tools/libxl/libxl.c	Fri May 18 14:10:47 2012 +0200
@@ -1230,7 +1230,7 @@ int libxl_primary_console_exec(libxl_ctx
         case LIBXL_DOMAIN_TYPE_PV:
             rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
             break;
-        case -1:
+        case LIBXL_DOMAIN_TYPE_INVALID:
             LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
             rc = ERROR_FAIL;
             break;
diff -r 99263132665b tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 12:38:55 2012 +0200
+++ b/tools/libxl/libxl_dm.c	Fri May 18 14:10:47 2012 +0200
@@ -257,6 +257,8 @@ static char ** libxl__build_device_model
         for (i = 0; b_info->extra_hvm && b_info->extra_hvm[i] != NULL; i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
     flexarray_append(dm_args, NULL);
     return (char **) flexarray_contents(dm_args);
@@ -505,6 +507,8 @@ static char ** libxl__build_device_model
         for (i = 0; b_info->extra_hvm && b_info->extra_hvm[i] != NULL; i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
 
     ram_size = libxl__sizekb_to_mb(b_info->max_memkb - b_info->video_memkb);
diff -r 99263132665b tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Fri May 18 12:38:55 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Fri May 18 14:10:47 2012 +0200
@@ -33,9 +33,9 @@ libxl_domain_type libxl__domain_type(lib
 
     ret = xc_domain_getinfolist(ctx->xch, domid, 1, &info);
     if (ret != 1)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.domain != domid)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.flags & XEN_DOMINF_hvm_guest)
         return LIBXL_DOMAIN_TYPE_HVM;
     else

--------------070007020508030807000108
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------070007020508030807000108--


From xen-devel-bounces@lists.xen.org Fri May 18 12:21:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:21:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMBN-0006Sw-6H; Fri, 18 May 2012 12:21:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVMBM-0006Sr-6Z
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:21:20 +0000
Received: from [85.158.143.35:48160] by server-3.bemta-4.messagelabs.com id
	A0/0A-05853-FBE36BF4; Fri, 18 May 2012 12:21:19 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337343677!4354676!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15689 invoked from network); 18 May 2012 12:21:18 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-5.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 12:21:18 -0000
Received: from mail4-ch1-R.bigfish.com (10.43.68.233) by
	CH1EHSOBE013.bigfish.com (10.43.70.63) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 12:21:07 +0000
Received: from mail4-ch1 (localhost [127.0.0.1])	by mail4-ch1-R.bigfish.com
	(Postfix) with ESMTP id 6B2281E04D4	for <xen-devel@lists.xen.org>;
	Fri, 18 May 2012 12:21:07 +0000 (UTC)
X-SpamScore: 0
X-BigFish: VPS0(zzc85fhc85dhzz1202hzz8275bh8275dhz2dh668h839hd25he5bhf0ah34h)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail4-ch1 (localhost.localdomain [127.0.0.1]) by mail4-ch1
	(MessageSwitch) id 1337343666158318_3251;
	Fri, 18 May 2012 12:21:06 +0000 (UTC)
Received: from CH1EHSMHS012.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.245])	by mail4-ch1.bigfish.com (Postfix) with ESMTP id
	1A3A82A007C
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 12:21:06 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS012.bigfish.com (10.43.70.12) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 12:21:05 +0000
X-WSS-ID: 0M47WZD-01-1II-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1) with ESMTP id 2D7191028054	for <xen-devel@lists.xen.org>;
	Fri, 18 May 2012 07:21:12 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 07:28:02 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 07:21:13 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	08:21:12 -0400
Message-ID: <4FB63EB6.10803@amd.com>
Date: Fri, 18 May 2012 14:21:10 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <4FB63171.3020102@amd.com>
In-Reply-To: <4FB63171.3020102@amd.com>
Content-Type: multipart/mixed; boundary="------------070007020508030807000108"
X-OriginatorOrg: amd.com
Subject: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID to
	make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------070007020508030807000108
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit


Introduce LIBXL_DOMAIN_TYPE_INVALID.
Change libxl__domain_type() to return LIBXL_DOMAIN_TYPE_INVALID rather
hardcoding -1.
Adjust code pieces where gcc 4.5.3 claims that LIBXL_DOMAIN_TYPE_INVALID
is not handled.

This fixes the build error with gcc 4.5.3 reported here:
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01269.html

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------070007020508030807000108
Content-Type: text/plain; charset="us-ascii"; name="xen_libxl.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xen_libxl.diff"
Content-Description: xen_libxl.diff

diff -r 99263132665b tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Fri May 18 12:38:55 2012 +0200
+++ b/tools/libxl/libxl.c	Fri May 18 14:10:47 2012 +0200
@@ -1230,7 +1230,7 @@ int libxl_primary_console_exec(libxl_ctx
         case LIBXL_DOMAIN_TYPE_PV:
             rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
             break;
-        case -1:
+        case LIBXL_DOMAIN_TYPE_INVALID:
             LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
             rc = ERROR_FAIL;
             break;
diff -r 99263132665b tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 12:38:55 2012 +0200
+++ b/tools/libxl/libxl_dm.c	Fri May 18 14:10:47 2012 +0200
@@ -257,6 +257,8 @@ static char ** libxl__build_device_model
         for (i = 0; b_info->extra_hvm && b_info->extra_hvm[i] != NULL; i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
     flexarray_append(dm_args, NULL);
     return (char **) flexarray_contents(dm_args);
@@ -505,6 +507,8 @@ static char ** libxl__build_device_model
         for (i = 0; b_info->extra_hvm && b_info->extra_hvm[i] != NULL; i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
 
     ram_size = libxl__sizekb_to_mb(b_info->max_memkb - b_info->video_memkb);
diff -r 99263132665b tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Fri May 18 12:38:55 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Fri May 18 14:10:47 2012 +0200
@@ -33,9 +33,9 @@ libxl_domain_type libxl__domain_type(lib
 
     ret = xc_domain_getinfolist(ctx->xch, domid, 1, &info);
     if (ret != 1)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.domain != domid)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.flags & XEN_DOMINF_hvm_guest)
         return LIBXL_DOMAIN_TYPE_HVM;
     else

--------------070007020508030807000108
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------070007020508030807000108--


From xen-devel-bounces@lists.xen.org Fri May 18 12:26:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMFi-0006aE-TE; Fri, 18 May 2012 12:25:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMFh-0006a6-9Y
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:25:49 +0000
Received: from [85.158.139.83:64357] by server-6.bemta-5.messagelabs.com id
	7E/5C-13222-CCF36BF4; Fri, 18 May 2012 12:25:48 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337343947!21862001!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22157 invoked from network); 18 May 2012 12:25:47 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:25:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12549683"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:25:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:25:47 +0100
Message-ID: <1337343945.22316.91.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 13:25:45 +0100
In-Reply-To: <20406.10969.280469.436947@mariner.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
	<1337250836.7781.46.camel@zakaz.uk.xensource.com>
	<20406.10969.280469.436947@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 11:56 +0100, Ian Jackson wrote:
[...]
>   typedef enum {
>       child_console, child_waitdaemon, child_migration,
>       child_max
>   } xlchildnum;
>   extern xlchild children[child_max];
> 
>   pid_t xl_waitpid(enum xlchildnum, ....);
> 
>   xl_waitpid(child_console, ....);
[...]
> Pick one; they all seem plausible to me.

Likewise. Not that keen on the union one but the others are all broadly
similar.

> My favourite is probably the one where we pass the array index to
> xl_fork and xl_waitpid.

You mean the one I haven't trimmed above? I think I'd be happy with
that.

> > > -    *pid = fork();
> > > -    if (*pid < 0) {
> > > +    console_child_report();
> > > +
> > > +    pid_t pid = xl_fork(&child_console);
> > 
> > console_child_report doesn't seem to reset child_config.pid and xlfork
> > has an assert(!foo.pid) in it, so how does this work on the second time?
> 
> xl_waitpid does it.  Perhaps this is worth a comment ?

Yes, since you rely on BSS zeroing and waitpid (i.e. teardown) to
(re)initialise the state I think a comment would be handy.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:26:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMFi-0006aE-TE; Fri, 18 May 2012 12:25:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMFh-0006a6-9Y
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:25:49 +0000
Received: from [85.158.139.83:64357] by server-6.bemta-5.messagelabs.com id
	7E/5C-13222-CCF36BF4; Fri, 18 May 2012 12:25:48 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337343947!21862001!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22157 invoked from network); 18 May 2012 12:25:47 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:25:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12549683"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:25:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:25:47 +0100
Message-ID: <1337343945.22316.91.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 13:25:45 +0100
In-Reply-To: <20406.10969.280469.436947@mariner.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
	<1337250836.7781.46.camel@zakaz.uk.xensource.com>
	<20406.10969.280469.436947@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 11:56 +0100, Ian Jackson wrote:
[...]
>   typedef enum {
>       child_console, child_waitdaemon, child_migration,
>       child_max
>   } xlchildnum;
>   extern xlchild children[child_max];
> 
>   pid_t xl_waitpid(enum xlchildnum, ....);
> 
>   xl_waitpid(child_console, ....);
[...]
> Pick one; they all seem plausible to me.

Likewise. Not that keen on the union one but the others are all broadly
similar.

> My favourite is probably the one where we pass the array index to
> xl_fork and xl_waitpid.

You mean the one I haven't trimmed above? I think I'd be happy with
that.

> > > -    *pid = fork();
> > > -    if (*pid < 0) {
> > > +    console_child_report();
> > > +
> > > +    pid_t pid = xl_fork(&child_console);
> > 
> > console_child_report doesn't seem to reset child_config.pid and xlfork
> > has an assert(!foo.pid) in it, so how does this work on the second time?
> 
> xl_waitpid does it.  Perhaps this is worth a comment ?

Yes, since you rely on BSS zeroing and waitpid (i.e. teardown) to
(re)initialise the state I think a comment would be handy.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:44:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMXG-0006qU-K7; Fri, 18 May 2012 12:43:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMXE-0006qK-I9
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:43:56 +0000
Received: from [85.158.143.35:15888] by server-1.bemta-4.messagelabs.com id
	9E/89-00342-B0446BF4; Fri, 18 May 2012 12:43:55 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337345035!14271191!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3150 invoked from network); 18 May 2012 12:43:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:43:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12550005"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:43:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:43:17 +0100
Message-ID: <1337344995.22316.97.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 13:43:15 +0100
In-Reply-To: <894f39993bdc96aaaf2a.1337335917@cosworth.uk.xensource.com>
References: <894f39993bdc96aaaf2a.1337335917@cosworth.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V2] libxl: avoid double free of
 b_info->u.pv.bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 11:11 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337335831 -3600
> # Node ID 894f39993bdc96aaaf2ad0115af2f5e83d9cc1b1
> # Parent  0e1d32df5b8d8bdbf88b6cd4a6b18fc008258373
> libxl: avoid double free of b_info->u.pv.bootloader.
> 
> b_info is a user provided struct and therefore the content must come from
> malloc and not gc such that libxl_domain_build_info_dispose can free it. This
> was broken by 25340:373f24c87dee.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Ian Jackson acked this out of band and I have therefore applied it.

> ---
> v2: use libxl__strdup(NULL, ...) to get the expected error handling.
> 
> diff -r 0e1d32df5b8d -r 894f39993bdc tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Fri May 18 11:09:48 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Fri May 18 11:10:31 2012 +0100
> @@ -356,8 +356,10 @@ void libxl__bootloader_run(libxl__egc *e
>          if ( lstat(bootloader, &st) )
>              LOG(DEBUG, "%s doesn't exist, falling back to config path",
>                  bootloader);
> -        else
> -            info->u.pv.bootloader = bootloader;
> +        else {
> +            free(info->u.pv.bootloader);
> +            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
> +        }
>      }
>  
>      make_bootloader_args(gc, bl);
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:44:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMXG-0006qU-K7; Fri, 18 May 2012 12:43:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMXE-0006qK-I9
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:43:56 +0000
Received: from [85.158.143.35:15888] by server-1.bemta-4.messagelabs.com id
	9E/89-00342-B0446BF4; Fri, 18 May 2012 12:43:55 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337345035!14271191!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3150 invoked from network); 18 May 2012 12:43:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:43:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12550005"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:43:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:43:17 +0100
Message-ID: <1337344995.22316.97.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 13:43:15 +0100
In-Reply-To: <894f39993bdc96aaaf2a.1337335917@cosworth.uk.xensource.com>
References: <894f39993bdc96aaaf2a.1337335917@cosworth.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH V2] libxl: avoid double free of
 b_info->u.pv.bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 11:11 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337335831 -3600
> # Node ID 894f39993bdc96aaaf2ad0115af2f5e83d9cc1b1
> # Parent  0e1d32df5b8d8bdbf88b6cd4a6b18fc008258373
> libxl: avoid double free of b_info->u.pv.bootloader.
> 
> b_info is a user provided struct and therefore the content must come from
> malloc and not gc such that libxl_domain_build_info_dispose can free it. This
> was broken by 25340:373f24c87dee.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Ian Jackson acked this out of band and I have therefore applied it.

> ---
> v2: use libxl__strdup(NULL, ...) to get the expected error handling.
> 
> diff -r 0e1d32df5b8d -r 894f39993bdc tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c	Fri May 18 11:09:48 2012 +0100
> +++ b/tools/libxl/libxl_bootloader.c	Fri May 18 11:10:31 2012 +0100
> @@ -356,8 +356,10 @@ void libxl__bootloader_run(libxl__egc *e
>          if ( lstat(bootloader, &st) )
>              LOG(DEBUG, "%s doesn't exist, falling back to config path",
>                  bootloader);
> -        else
> -            info->u.pv.bootloader = bootloader;
> +        else {
> +            free(info->u.pv.bootloader);
> +            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
> +        }
>      }
>  
>      make_bootloader_args(gc, bl);
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:44:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:44:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMXG-0006qb-Us; Fri, 18 May 2012 12:43:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMXE-0006qL-W5
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:43:57 +0000
Received: from [85.158.143.35:24100] by server-3.bemta-4.messagelabs.com id
	9B/A8-05853-C0446BF4; Fri, 18 May 2012 12:43:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337345035!14271191!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3172 invoked from network); 18 May 2012 12:43:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:43:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12550008"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:43:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:43:20 +0100
Message-ID: <1337344999.22316.98.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 13:43:19 +0100
In-Reply-To: <66359ac0c8d9046e0c03.1337269190@cosworth.uk.xensource.com>
References: <66359ac0c8d9046e0c03.1337269190@cosworth.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: initialise ao when starting pvqemu
 for stubdomain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 16:39 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337269180 -3600
> # Node ID 66359ac0c8d9046e0c033d428e0416884c612e33
> # Parent  b01e20b8ab4d17c209f4e86ab31c363754a387cd
> libxl: initialise ao when starting pvqemu for stubdomain.
> 
> libxl__spawn_local_dm requires the ao to be initialised.
> 
> Without this starting an HVM guest with a stub qemu hits the
>     assert(ao->magic == LIBXL__AO_MAGIC);
> in the STATE_AO_GC call from libxl__spawn_local_dm.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Ian Jackson acked this out of band and I have therefore applied it.

> 
> diff -r b01e20b8ab4d -r 66359ac0c8d9 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c	Thu May 17 16:39:38 2012 +0100
> +++ b/tools/libxl/libxl_dm.c	Thu May 17 16:39:40 2012 +0100
> @@ -858,6 +858,7 @@ retry_transaction:
>              goto out_free;
>      }
>  
> +    sdss->pvqemu.spawn.ao = ao;
>      sdss->pvqemu.guest_domid = dm_domid;
>      sdss->pvqemu.guest_config = &sdss->dm_config;
>      sdss->pvqemu.build_state = &sdss->dm_state;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:44:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:44:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMXG-0006qb-Us; Fri, 18 May 2012 12:43:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMXE-0006qL-W5
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:43:57 +0000
Received: from [85.158.143.35:24100] by server-3.bemta-4.messagelabs.com id
	9B/A8-05853-C0446BF4; Fri, 18 May 2012 12:43:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337345035!14271191!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQzNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3172 invoked from network); 18 May 2012 12:43:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:43:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,616,1330905600"; d="scan'208";a="12550008"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:43:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:43:20 +0100
Message-ID: <1337344999.22316.98.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 13:43:19 +0100
In-Reply-To: <66359ac0c8d9046e0c03.1337269190@cosworth.uk.xensource.com>
References: <66359ac0c8d9046e0c03.1337269190@cosworth.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] libxl: initialise ao when starting pvqemu
 for stubdomain
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 16:39 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337269180 -3600
> # Node ID 66359ac0c8d9046e0c033d428e0416884c612e33
> # Parent  b01e20b8ab4d17c209f4e86ab31c363754a387cd
> libxl: initialise ao when starting pvqemu for stubdomain.
> 
> libxl__spawn_local_dm requires the ao to be initialised.
> 
> Without this starting an HVM guest with a stub qemu hits the
>     assert(ao->magic == LIBXL__AO_MAGIC);
> in the STATE_AO_GC call from libxl__spawn_local_dm.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Ian Jackson acked this out of band and I have therefore applied it.

> 
> diff -r b01e20b8ab4d -r 66359ac0c8d9 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c	Thu May 17 16:39:38 2012 +0100
> +++ b/tools/libxl/libxl_dm.c	Thu May 17 16:39:40 2012 +0100
> @@ -858,6 +858,7 @@ retry_transaction:
>              goto out_free;
>      }
>  
> +    sdss->pvqemu.spawn.ao = ao;
>      sdss->pvqemu.guest_domid = dm_domid;
>      sdss->pvqemu.guest_config = &sdss->dm_config;
>      sdss->pvqemu.build_state = &sdss->dm_state;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMho-0007Ce-JO; Fri, 18 May 2012 12:54:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMhn-0007CZ-60
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:54:51 +0000
Received: from [85.158.143.99:43302] by server-1.bemta-4.messagelabs.com id
	B2/1E-00342-A9646BF4; Fri, 18 May 2012 12:54:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337345689!18862993!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10979 invoked from network); 18 May 2012 12:54:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:54:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550230"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:54:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:54:49 +0100
Message-ID: <1337345687.22316.103.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 13:54:47 +0100
In-Reply-To: <20406.13647.706387.218469@mariner.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<1337329542.22316.7.camel@zakaz.uk.xensource.com>
	<20406.13647.706387.218469@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:41 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > > [...]
> > > +    if (!info->u.pv.bootloader) {
> > > +        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
> > > +        bl->kernel->path = bl->info->u.pv.kernel;
> > > +        bl->ramdisk->path = bl->info->u.pv.ramdisk;
> > > +        bl->cmdline = bl->info->u.pv.cmdline;
> > > +        rc = 0;
> > > +        goto out_ok;
> > > +    }
> > 
> > I'm not at all sure about this. Is it valid for an async operation to
> > keep references to the parameters from the caller and to use them for
> > the duration of the operation? IOW is there a requirement that the
> > caller keeps the arguments live until the op completes? It's seems
> > obvious that there should but I thought I'd seen a comment to the
> > contrary somewhere (which I now can't see, perhaps I was thinking about
> > the lack of a requirement to keep the ao_how valid).
> 
> Yes, there is such a requirement and it should be documented.

I will add such a note in v2.

Thanks,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:55:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMho-0007Ce-JO; Fri, 18 May 2012 12:54:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMhn-0007CZ-60
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:54:51 +0000
Received: from [85.158.143.99:43302] by server-1.bemta-4.messagelabs.com id
	B2/1E-00342-A9646BF4; Fri, 18 May 2012 12:54:50 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337345689!18862993!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10979 invoked from network); 18 May 2012 12:54:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:54:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550230"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:54:49 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:54:49 +0100
Message-ID: <1337345687.22316.103.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 13:54:47 +0100
In-Reply-To: <20406.13647.706387.218469@mariner.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<1337329542.22316.7.camel@zakaz.uk.xensource.com>
	<20406.13647.706387.218469@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:41 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > > [...]
> > > +    if (!info->u.pv.bootloader) {
> > > +        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
> > > +        bl->kernel->path = bl->info->u.pv.kernel;
> > > +        bl->ramdisk->path = bl->info->u.pv.ramdisk;
> > > +        bl->cmdline = bl->info->u.pv.cmdline;
> > > +        rc = 0;
> > > +        goto out_ok;
> > > +    }
> > 
> > I'm not at all sure about this. Is it valid for an async operation to
> > keep references to the parameters from the caller and to use them for
> > the duration of the operation? IOW is there a requirement that the
> > caller keeps the arguments live until the op completes? It's seems
> > obvious that there should but I thought I'd seen a comment to the
> > contrary somewhere (which I now can't see, perhaps I was thinking about
> > the lack of a requirement to keep the ao_how valid).
> 
> Yes, there is such a requirement and it should be documented.

I will add such a note in v2.

Thanks,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMmD-0007Mb-Fe; Fri, 18 May 2012 12:59:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMmC-0007MV-CU
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:59:24 +0000
Received: from [85.158.143.99:45259] by server-1.bemta-4.messagelabs.com id
	0C/B6-00342-BA746BF4; Fri, 18 May 2012 12:59:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337345963!28319566!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22032 invoked from network); 18 May 2012 12:59:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:59:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550316"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:59:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:59:22 +0100
Message-ID: <1337345961.22316.106.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 13:59:21 +0100
In-Reply-To: <20406.13331.376904.640112@mariner.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:35 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > @@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
> >      libxl__ao *ao;
> >      libxl__run_bootloader_callback *callback;
> >      libxl__bootloader_console_callback *console_available;
> > -    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> > +    const libxl_domain_build_info *info;
> >      libxl_device_disk *disk;
> >      uint32_t domid;
> > +    /* outputs, call must set kernel and ramdisk to point to a file
> > +     * reference which will be updated and mapped, cmdline will be
> > +     * updated */
> > +    libxl__file_reference *kernel, *ramdisk;
> > +    const char *cmdline;
> 
> You mean "caller must set" ?  And "to file references" since they're
> not the same reference.  (Also, comma splices, ew.)

I changed this to:
    /* outputs:
     *  - caller must set kernel and ramdisk to point to file
     *    references which will be updated and mapped;
     *  - cmdline will be updated;
     */

> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Thanks, the updated patch is below:

8<-----------------------------------

libxl: do not overwrite user supplied config when running bootloader.

Currently when running the bootloader libxl will update b_info->u.pv.kernel,
.ramdisk, .cmdline and .bootloader.  This can expose internal details, such
as temporary paths in /var/run/xen/bootloader.*/ to the user. This is
problematic because it means that the user cannot re-use the struct as is.

This does not effect xl in Xen 4.2+ since it always reparses the guest config
and reinitialises the build info, however it did cause issues with reboot in
4.1 (reported by Dmitry Morozhnikov) and may cause issues for other users of
libxl.

Instead make the libxl bootloader infrastructure provide output to its caller
which is slurped into the internal libxl__domain_build_state datastructure. If
no bootloader is configured then the bootloader instead propagates the user
supplied b_info config.

In order to simplify this push the error handling for the case where there is
no bootdisk down into libxl__bootloader_run. In principal there is no reason
why it shouldn't be possible to do a pure netboot guest with a suitable
bootloader, but I don't fix that here.

This change allow us to make the libxl_file_reference an internal API, and
eventually we might be able to get rid of it.

Also removes the publix libxl_run_bootloader interface, neither xl nor libvirt
use it.

I am proposing this for 4.2 due to the API change.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v2: not about lifetime of async op paramters other than ao_how. improvements to
libxl__bootloader_state output comment.

diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/gentest.py	Fri May 18 13:57:28 2012 +0100
@@ -21,8 +21,7 @@ def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
 handcoded = ["libxl_cpumap", "libxl_key_value_list",
-             "libxl_cpuid_policy_list", "libxl_file_reference",
-             "libxl_string_list"]
+             "libxl_cpuid_policy_list", "libxl_string_list"]
 
 def gen_rand_init(ty, v, indent = "    ", parent = None):
     s = ""
@@ -179,13 +178,6 @@ static void libxl_cpuid_policy_list_rand
     *pp = p;
 }
 
-static void libxl_file_reference_rand_init(libxl_file_reference *p)
-{
-    memset(p, 0, sizeof(*p));
-    if (rand() % 8)
-        p->path = rand_str();
-}
-
 static void libxl_string_list_rand_init(libxl_string_list *p)
 {
     int i, nr = rand() % 16;
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl.c	Fri May 18 13:57:28 2012 +0100
@@ -3665,12 +3665,6 @@ int libxl_tmem_freeable(libxl_ctx *ctx)
     return rc;
 }
 
-void libxl_file_reference_dispose(libxl_file_reference *f)
-{
-    libxl__file_reference_unmap(f);
-    free(f->path);
-}
-
 int libxl_get_freecpus(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int ncpus;
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl.h	Fri May 18 13:57:28 2012 +0100
@@ -288,18 +288,6 @@ typedef struct {
 } libxl_cpumap;
 void libxl_cpumap_dispose(libxl_cpumap *map);
 
-typedef struct {
-    /*
-     * Path is always set if the file reference is valid. However if
-     * mapped is true then the actual file may already be unlinked.
-     */
-    char * path;
-    int mapped;
-    void * data;
-    size_t size;
-} libxl_file_reference;
-void libxl_file_reference_dispose(libxl_file_reference *p);
-
 /* libxl_cpuid_policy_list is a dynamic array storing CPUID policies
  * for multiple leafs. It is terminated with an entry holding
  * XEN_CPUID_INPUT_UNUSED in input[0]
@@ -421,7 +409,8 @@ enum {
  * of course check the rc value for errors.
  *
  * *ao_how does not need to remain valid after the initiating function
- * returns.
+ * returns. All other parameters must remain valid for the lifetime of
+ * the asynchronous operation, unless otherwise specified.
  *
  * Callbacks may occur on any thread in which the application calls
  * libxl.
@@ -543,27 +532,6 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
-/*
- * Run the configured bootloader for a PV domain and update
- * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
- * appropriate (any initial values present in these fields must have
- * been allocated with malloc).
- *
- * Is a NOP on non-PV domains or those with no bootloader configured.
- *
- * Users should call libxl_file_reference_unmap on the kernel and
- * ramdisk to cleanup or rely on libxl_domain_{build,restore} to do
- * it.
- */
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how);
-
-  /* 0 means ERROR_ENOMEM, which we have logged */
-
-
 int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
                         const char *old_name, const char *new_name);
 
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Fri May 18 13:57:28 2012 +0100
@@ -43,7 +43,8 @@ static void bootloader_arg(libxl__bootlo
     bl->args[bl->nargs++] = arg;
 }
 
-static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl,
+                                 const char *bootloader_path)
 {
     const libxl_domain_build_info *info = bl->info;
 
@@ -53,12 +54,12 @@ static void make_bootloader_args(libxl__
 
 #define ARG(arg) bootloader_arg(bl, (arg))
 
-    ARG(info->u.pv.bootloader);
+    ARG(bootloader_path);
 
-    if (info->u.pv.kernel.path)
-        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
-    if (info->u.pv.ramdisk.path)
-        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+    if (info->u.pv.kernel)
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel));
+    if (info->u.pv.ramdisk)
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
         ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
@@ -144,7 +145,6 @@ static int parse_bootloader_result(libxl
     char buf[PATH_MAX*2];
     FILE *f = 0;
     int rc = ERROR_FAIL;
-    libxl_domain_build_info *info = bl->info;
 
     f = fopen(bl->outputpath, "r");
     if (!f) {
@@ -180,18 +180,15 @@ static int parse_bootloader_result(libxl
 #define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
         if (COMMAND("kernel")) {
-            free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.kernel);
-            unlink(info->u.pv.kernel.path);
+            bl->kernel->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->kernel);
+            unlink(bl->kernel->path);
         } else if (COMMAND("ramdisk")) {
-            free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.ramdisk);
-            unlink(info->u.pv.ramdisk.path);
+            bl->ramdisk->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->ramdisk);
+            unlink(bl->ramdisk->path);
         } else if (COMMAND("args")) {
-            free(info->u.pv.cmdline);
-            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+            bl->cmdline = libxl__strdup(gc, rhs);
         } else if (l) {
             LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
@@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
-    libxl_domain_build_info *info = bl->info;
+    const libxl_domain_build_info *info = bl->info;
     uint32_t domid = bl->domid;
     char *logfile_tmp = NULL;
     int rc, r;
+    const char *bootloader;
 
     libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(DEBUG, "not a PV domain, skipping bootloader");
         rc = 0;
         goto out_ok;
     }
 
+    if (!info->u.pv.bootloader) {
+        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
+        bl->kernel->path = bl->info->u.pv.kernel;
+        bl->ramdisk->path = bl->info->u.pv.ramdisk;
+        bl->cmdline = bl->info->u.pv.cmdline;
+        rc = 0;
+        goto out_ok;
+    }
+
+    if (!bl->disk) {
+        LOG(ERROR, "cannot run bootloader with no boot disk");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     bootloader_setpaths(gc, bl);
 
     const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
@@ -342,27 +356,26 @@ void libxl__bootloader_run(libxl__egc *e
         LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
             "bootloader='pygrub' instead");
 
+    bootloader = info->u.pv.bootloader;
+
     /* If the full path is not specified, check in the libexec path */
-    if ( info->u.pv.bootloader[0] != '/' ) {
-        char *bootloader;
+    if ( bootloader[0] != '/' ) {
+        const char *bltmp;
         struct stat st;
 
-        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
-                                     libxl__libexec_path());
+        bltmp = libxl__abs_path(gc, bootloader, libxl__libexec_path());
         /* Check to see if the file exists in this location; if not,
          * fall back to checking the path */
-        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bltmp);
 
-        if ( lstat(bootloader, &st) )
+        if ( lstat(bltmp, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
-                bootloader);
-        else {
-            free(info->u.pv.bootloader);
-            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
-        }
+                bltmp);
+        else
+            bootloader = bltmp;
     }
 
-    make_bootloader_args(gc, bl);
+    make_bootloader_args(gc, bl, bootloader);
 
     bl->openpty.ao = ao;
     bl->openpty.callback = bootloader_gotptys;
@@ -565,33 +578,6 @@ static void bootloader_finished(libxl__e
     bootloader_callback(egc, bl, rc);
 }
 
-/*----- entrypoint for external callers -----*/
-
-static void run_bootloader_done(libxl__egc *egc,
-                                libxl__bootloader_state *st, int rc)
-{
-    libxl__ao_complete(egc, st->ao, rc);
-}
-
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx,domid,ao_how);
-    libxl__bootloader_state *bl;
-
-    GCNEW(bl);
-    bl->ao = ao;
-    bl->callback = run_bootloader_done;
-    bl->info = info;
-    bl->disk = disk;
-    bl->domid = domid;
-    libxl__bootloader_run(egc, bl);
-    return AO_INPROGRESS;
-}
-
 /*
  * Local variables:
  * mode: C
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_create.c	Fri May 18 13:57:28 2012 +0100
@@ -242,6 +242,7 @@ static int init_console_info(libxl__devi
         return ERROR_NOMEM;
     return 0;
 }
+
 int libxl__domain_build(libxl__gc *gc,
                         libxl_domain_build_info *info,
                         uint32_t domid,
@@ -290,17 +291,18 @@ int libxl__domain_build(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
+
         break;
     default:
         ret = ERROR_INVAL;
@@ -346,16 +348,16 @@ static int domain_restore(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
         break;
     default:
@@ -374,8 +376,8 @@ static int domain_restore(libxl__gc *gc,
 
 out:
     if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
     }
 
     esave = errno;
@@ -625,16 +627,21 @@ static void initiate_domain_create(libxl
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
-    if (restore_fd < 0 && bootdisk) {
+    if (restore_fd >= 0) {
+        LOG(DEBUG, "restoring, not running bootloader\n");
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
+    } else  {
+        LOG(DEBUG, "running bootloader");
         dcs->bl.callback = domcreate_bootloader_done;
         dcs->bl.console_available = domcreate_bootloader_console_available;
-        dcs->bl.info = &d_config->b_info,
+        dcs->bl.info = &d_config->b_info;
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
-            
+
+        dcs->bl.kernel = &dcs->build_state.pv_kernel;
+        dcs->bl.ramdisk = &dcs->build_state.pv_ramdisk;
+
         libxl__bootloader_run(egc, &dcs->bl);
-    } else {
-        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
     return;
 
@@ -675,6 +682,12 @@ static void domcreate_bootloader_done(li
 
     if (ret) goto error_out;
 
+    /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
+     * been initialised by the bootloader already.
+     */
+    LOG(INFO, "bootloader cmdline %s", bl->cmdline);
+    state->pv_cmdline = bl->cmdline;
+
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
      * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Fri May 18 13:57:28 2012 +0100
@@ -715,10 +715,6 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->b_info.max_memkb = 32 * 1024;
     dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
-                                              libxl__xenfirmwaredir_path());
-    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config->b_info.u.pv.ramdisk.path = "";
     dm_config->b_info.u.pv.features = "";
 
     dm_config->b_info.device_model_version =
@@ -746,6 +742,11 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->vkbs = &vkb;
     dm_config->num_vkbs = 1;
 
+    stubdom_state->pv_kernel.path
+        = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
+    stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    stubdom_state->pv_ramdisk.path = "";
+
     /* fixme: this function can leak the stubdom if it fails */
     ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Fri May 18 13:57:28 2012 +0100
@@ -240,36 +240,37 @@ int libxl__build_pv(libxl__gc *gc, uint3
 
     xc_dom_loginit(ctx->xch);
 
-    dom = xc_dom_allocate(ctx->xch, info->u.pv.cmdline, info->u.pv.features);
+    dom = xc_dom_allocate(ctx->xch, state->pv_cmdline, info->u.pv.features);
     if (!dom) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_allocate failed");
         return ERROR_FAIL;
     }
 
-    if (info->u.pv.kernel.mapped) {
+    LOG(INFO, "pv kernel mapped %d path %s\n", state->pv_kernel.mapped, state->pv_kernel.path);
+    if (state->pv_kernel.mapped) {
         ret = xc_dom_kernel_mem(dom,
-                                info->u.pv.kernel.data,
-                                info->u.pv.kernel.size);
+                                state->pv_kernel.data,
+                                state->pv_kernel.size);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_mem failed");
             goto out;
         }
     } else {
-        ret = xc_dom_kernel_file(dom, info->u.pv.kernel.path);
+        ret = xc_dom_kernel_file(dom, state->pv_kernel.path);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_file failed");
             goto out;
         }
     }
 
-    if ( info->u.pv.ramdisk.path && strlen(info->u.pv.ramdisk.path) ) {
-        if (info->u.pv.ramdisk.mapped) {
-            if ( (ret = xc_dom_ramdisk_mem(dom, info->u.pv.ramdisk.data, info->u.pv.ramdisk.size)) != 0 ) {
+    if ( state->pv_ramdisk.path && strlen(state->pv_ramdisk.path) ) {
+        if (state->pv_ramdisk.mapped) {
+            if ( (ret = xc_dom_ramdisk_mem(dom, state->pv_ramdisk.data, state->pv_ramdisk.size)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_mem failed");
                 goto out;
             }
         } else {
-            if ( (ret = xc_dom_ramdisk_file(dom, info->u.pv.ramdisk.path)) != 0 ) {
+            if ( (ret = xc_dom_ramdisk_file(dom, state->pv_ramdisk.path)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_file failed");
                 goto out;
             }
@@ -314,6 +315,9 @@ int libxl__build_pv(libxl__gc *gc, uint3
     state->console_mfn = xc_dom_p2m_host(dom, dom->console_pfn);
     state->store_mfn = xc_dom_p2m_host(dom, dom->xenstore_pfn);
 
+    libxl__file_reference_unmap(&state->pv_kernel);
+    libxl__file_reference_unmap(&state->pv_ramdisk);
+
     ret = 0;
 out:
     xc_dom_release(dom);
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_internal.c
--- a/tools/libxl/libxl_internal.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_internal.c	Fri May 18 13:57:28 2012 +0100
@@ -216,7 +216,7 @@ char *libxl__abs_path(libxl__gc *gc, con
 }
 
 
-int libxl__file_reference_map(libxl_file_reference *f)
+int libxl__file_reference_map(libxl__file_reference *f)
 {
     struct stat st_buf;
     int ret, fd;
@@ -249,7 +249,7 @@ out:
     return ret == 0 ? 0 : ERROR_FAIL;
 }
 
-int libxl__file_reference_unmap(libxl_file_reference *f)
+int libxl__file_reference_unmap(libxl__file_reference *f)
 {
     int ret;
 
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Fri May 18 13:57:28 2012 +0100
@@ -713,6 +713,20 @@ int libxl__self_pipe_eatall(int fd); /* 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
 
+/* File references */
+typedef struct {
+    /*
+     * Path is always set if the file reference is valid. However if
+     * mapped is true then the actual file may already be unlinked.
+     */
+    const char * path;
+    int mapped;
+    void * data;
+    size_t size;
+} libxl__file_reference;
+_hidden int libxl__file_reference_map(libxl__file_reference *f);
+_hidden int libxl__file_reference_unmap(libxl__file_reference *f);
+
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
@@ -731,6 +745,10 @@ typedef struct {
     unsigned long vm_generationid_addr;
 
     char *saved_state;
+
+    libxl__file_reference pv_kernel;
+    libxl__file_reference pv_ramdisk;
+    const char * pv_cmdline;
 } libxl__domain_build_state;
 
 _hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
@@ -1249,9 +1267,6 @@ struct libxl__xen_console_reader {
 
 _hidden int libxl__error_set(libxl__gc *gc, int code);
 
-_hidden int libxl__file_reference_map(libxl_file_reference *f);
-_hidden int libxl__file_reference_unmap(libxl_file_reference *f);
-
 _hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
 
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
@@ -1764,9 +1779,16 @@ struct libxl__bootloader_state {
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
     libxl__bootloader_console_callback *console_available;
-    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    const libxl_domain_build_info *info;
     libxl_device_disk *disk;
     uint32_t domid;
+    /* outputs:
+     *  - caller must set kernel and ramdisk to point to file
+     *    references which will be updated and mapped;
+     *  - cmdline will be updated;
+     */
+    libxl__file_reference *kernel, *ramdisk;
+    const char *cmdline;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
@@ -1810,7 +1832,6 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
-
 /*
  * Convenience macros.
  */
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_json.c	Fri May 18 13:57:28 2012 +0100
@@ -252,15 +252,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p)
-{
-    if (p->path)
-        return libxl__yajl_gen_asciiz(hand, p->path);
-    else
-        return yajl_gen_null(hand);
-}
-
 yajl_gen_status libxl__string_gen_json(yajl_gen hand,
                                        const char *p)
 {
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_json.h	Fri May 18 13:57:28 2012 +0100
@@ -32,8 +32,6 @@ yajl_gen_status libxl_cpuid_policy_list_
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *p);
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p);
 yajl_gen_status libxl_hwcap_gen_json(yajl_gen hand, libxl_hwcap *p);
 
 #include <_libxl_types_json.h>
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Fri May 18 13:57:28 2012 +0100
@@ -15,8 +15,6 @@ libxl_cpuid_policy_list = Builtin("cpuid
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
 libxl_key_value_list = Builtin("key_value_list", dispose_fn="libxl_key_value_list_dispose", passby=PASS_BY_REFERENCE)
-libxl_file_reference = Builtin("file_reference", dispose_fn="libxl_file_reference_dispose", passby=PASS_BY_REFERENCE)
-
 libxl_hwcap = Builtin("hwcap", passby=PASS_BY_REFERENCE)
 
 #
@@ -235,11 +233,6 @@ libxl_sched_params = Struct("sched_param
     ("extratime",    integer),
     ], dir=DIR_IN)
 
-# Instances of libxl_file_reference contained in this struct which
-# have been mapped (with libxl_file_reference_map) will be unmapped
-# by libxl_domain_build/restore. If either of these are never called
-# then the user is responsible for calling
-# libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("cur_vcpus",       integer),
@@ -305,12 +298,12 @@ libxl_domain_build_info = Struct("domain
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ])),
-                 ("pv", Struct(None, [("kernel", libxl_file_reference),
+                 ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
                                       ("bootloader", string),
                                       ("bootloader_args", libxl_string_list),
                                       ("cmdline", string),
-                                      ("ramdisk", libxl_file_reference),
+                                      ("ramdisk", string),
                                       ("features", string, {'const': True}),
                                       # Use host's E820 for PCI passthrough.
                                       ("e820_host", libxl_defbool),
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 18 13:57:28 2012 +0100
@@ -843,7 +843,7 @@ static void parse_config_data(const char
         char *cmdline = NULL;
         const char *root = NULL, *extra = "";
 
-        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel.path, 0);
+        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel, 0);
 
         xlu_cfg_get_string (config, "root", &root, 0);
         xlu_cfg_get_string (config, "extra", &extra, 0);
@@ -882,13 +882,13 @@ static void parse_config_data(const char
             exit(-ERROR_FAIL);
         }
 
-        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel.path) {
+        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel) {
             fprintf(stderr, "Neither kernel nor bootloader specified\n");
             exit(1);
         }
 
         b_info->u.pv.cmdline = cmdline;
-        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk.path, 0);
+        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk, 0);
         break;
     }
     default:
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Fri May 18 13:57:28 2012 +0100
@@ -146,9 +146,9 @@ void printf_info_sexp(int domid, libxl_d
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         printf("\t\t(linux %d)\n", 0);
-        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel.path);
+        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel);
         printf("\t\t\t(cmdline %s)\n", b_info->u.pv.cmdline);
-        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk.path);
+        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk);
         printf("\t\t\t(e820_host %s)\n",
                libxl_defbool_to_string(b_info->u.pv.e820_host));
         printf("\t\t)\n");
diff -r dfacffa00d30 -r 4992bc2b6385 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Fri May 18 13:57:28 2012 +0100
@@ -243,11 +243,6 @@ int attrib__libxl_cpumap_set(PyObject *v
     return 0;
 }
 
-int attrib__libxl_file_reference_set(PyObject *v, libxl_file_reference *pptr)
-{
-    return genwrap__string_set(v, &pptr->path);
-}
-
 int attrib__libxl_hwcap_set(PyObject *v, libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Setting hwcap");
@@ -315,11 +310,6 @@ PyObject *attrib__libxl_cpumap_get(libxl
     return cpulist;
 }
 
-PyObject *attrib__libxl_file_reference_get(libxl_file_reference *pptr)
-{
-    return genwrap__string_get(&pptr->path);
-}
-
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 12:59:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 12:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMmD-0007Mb-Fe; Fri, 18 May 2012 12:59:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMmC-0007MV-CU
	for xen-devel@lists.xen.org; Fri, 18 May 2012 12:59:24 +0000
Received: from [85.158.143.99:45259] by server-1.bemta-4.messagelabs.com id
	0C/B6-00342-BA746BF4; Fri, 18 May 2012 12:59:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337345963!28319566!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22032 invoked from network); 18 May 2012 12:59:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 12:59:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550316"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 12:59:22 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 13:59:22 +0100
Message-ID: <1337345961.22316.106.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 13:59:21 +0100
In-Reply-To: <20406.13331.376904.640112@mariner.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:35 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > @@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
> >      libxl__ao *ao;
> >      libxl__run_bootloader_callback *callback;
> >      libxl__bootloader_console_callback *console_available;
> > -    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> > +    const libxl_domain_build_info *info;
> >      libxl_device_disk *disk;
> >      uint32_t domid;
> > +    /* outputs, call must set kernel and ramdisk to point to a file
> > +     * reference which will be updated and mapped, cmdline will be
> > +     * updated */
> > +    libxl__file_reference *kernel, *ramdisk;
> > +    const char *cmdline;
> 
> You mean "caller must set" ?  And "to file references" since they're
> not the same reference.  (Also, comma splices, ew.)

I changed this to:
    /* outputs:
     *  - caller must set kernel and ramdisk to point to file
     *    references which will be updated and mapped;
     *  - cmdline will be updated;
     */

> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Thanks, the updated patch is below:

8<-----------------------------------

libxl: do not overwrite user supplied config when running bootloader.

Currently when running the bootloader libxl will update b_info->u.pv.kernel,
.ramdisk, .cmdline and .bootloader.  This can expose internal details, such
as temporary paths in /var/run/xen/bootloader.*/ to the user. This is
problematic because it means that the user cannot re-use the struct as is.

This does not effect xl in Xen 4.2+ since it always reparses the guest config
and reinitialises the build info, however it did cause issues with reboot in
4.1 (reported by Dmitry Morozhnikov) and may cause issues for other users of
libxl.

Instead make the libxl bootloader infrastructure provide output to its caller
which is slurped into the internal libxl__domain_build_state datastructure. If
no bootloader is configured then the bootloader instead propagates the user
supplied b_info config.

In order to simplify this push the error handling for the case where there is
no bootdisk down into libxl__bootloader_run. In principal there is no reason
why it shouldn't be possible to do a pure netboot guest with a suitable
bootloader, but I don't fix that here.

This change allow us to make the libxl_file_reference an internal API, and
eventually we might be able to get rid of it.

Also removes the publix libxl_run_bootloader interface, neither xl nor libvirt
use it.

I am proposing this for 4.2 due to the API change.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v2: not about lifetime of async op paramters other than ao_how. improvements to
libxl__bootloader_state output comment.

diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/gentest.py	Fri May 18 13:57:28 2012 +0100
@@ -21,8 +21,7 @@ def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
 handcoded = ["libxl_cpumap", "libxl_key_value_list",
-             "libxl_cpuid_policy_list", "libxl_file_reference",
-             "libxl_string_list"]
+             "libxl_cpuid_policy_list", "libxl_string_list"]
 
 def gen_rand_init(ty, v, indent = "    ", parent = None):
     s = ""
@@ -179,13 +178,6 @@ static void libxl_cpuid_policy_list_rand
     *pp = p;
 }
 
-static void libxl_file_reference_rand_init(libxl_file_reference *p)
-{
-    memset(p, 0, sizeof(*p));
-    if (rand() % 8)
-        p->path = rand_str();
-}
-
 static void libxl_string_list_rand_init(libxl_string_list *p)
 {
     int i, nr = rand() % 16;
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl.c	Fri May 18 13:57:28 2012 +0100
@@ -3665,12 +3665,6 @@ int libxl_tmem_freeable(libxl_ctx *ctx)
     return rc;
 }
 
-void libxl_file_reference_dispose(libxl_file_reference *f)
-{
-    libxl__file_reference_unmap(f);
-    free(f->path);
-}
-
 int libxl_get_freecpus(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int ncpus;
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl.h	Fri May 18 13:57:28 2012 +0100
@@ -288,18 +288,6 @@ typedef struct {
 } libxl_cpumap;
 void libxl_cpumap_dispose(libxl_cpumap *map);
 
-typedef struct {
-    /*
-     * Path is always set if the file reference is valid. However if
-     * mapped is true then the actual file may already be unlinked.
-     */
-    char * path;
-    int mapped;
-    void * data;
-    size_t size;
-} libxl_file_reference;
-void libxl_file_reference_dispose(libxl_file_reference *p);
-
 /* libxl_cpuid_policy_list is a dynamic array storing CPUID policies
  * for multiple leafs. It is terminated with an entry holding
  * XEN_CPUID_INPUT_UNUSED in input[0]
@@ -421,7 +409,8 @@ enum {
  * of course check the rc value for errors.
  *
  * *ao_how does not need to remain valid after the initiating function
- * returns.
+ * returns. All other parameters must remain valid for the lifetime of
+ * the asynchronous operation, unless otherwise specified.
  *
  * Callbacks may occur on any thread in which the application calls
  * libxl.
@@ -543,27 +532,6 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
-/*
- * Run the configured bootloader for a PV domain and update
- * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
- * appropriate (any initial values present in these fields must have
- * been allocated with malloc).
- *
- * Is a NOP on non-PV domains or those with no bootloader configured.
- *
- * Users should call libxl_file_reference_unmap on the kernel and
- * ramdisk to cleanup or rely on libxl_domain_{build,restore} to do
- * it.
- */
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how);
-
-  /* 0 means ERROR_ENOMEM, which we have logged */
-
-
 int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
                         const char *old_name, const char *new_name);
 
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Fri May 18 13:57:28 2012 +0100
@@ -43,7 +43,8 @@ static void bootloader_arg(libxl__bootlo
     bl->args[bl->nargs++] = arg;
 }
 
-static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl,
+                                 const char *bootloader_path)
 {
     const libxl_domain_build_info *info = bl->info;
 
@@ -53,12 +54,12 @@ static void make_bootloader_args(libxl__
 
 #define ARG(arg) bootloader_arg(bl, (arg))
 
-    ARG(info->u.pv.bootloader);
+    ARG(bootloader_path);
 
-    if (info->u.pv.kernel.path)
-        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
-    if (info->u.pv.ramdisk.path)
-        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+    if (info->u.pv.kernel)
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel));
+    if (info->u.pv.ramdisk)
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
         ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
@@ -144,7 +145,6 @@ static int parse_bootloader_result(libxl
     char buf[PATH_MAX*2];
     FILE *f = 0;
     int rc = ERROR_FAIL;
-    libxl_domain_build_info *info = bl->info;
 
     f = fopen(bl->outputpath, "r");
     if (!f) {
@@ -180,18 +180,15 @@ static int parse_bootloader_result(libxl
 #define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
         if (COMMAND("kernel")) {
-            free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.kernel);
-            unlink(info->u.pv.kernel.path);
+            bl->kernel->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->kernel);
+            unlink(bl->kernel->path);
         } else if (COMMAND("ramdisk")) {
-            free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.ramdisk);
-            unlink(info->u.pv.ramdisk.path);
+            bl->ramdisk->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->ramdisk);
+            unlink(bl->ramdisk->path);
         } else if (COMMAND("args")) {
-            free(info->u.pv.cmdline);
-            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+            bl->cmdline = libxl__strdup(gc, rhs);
         } else if (l) {
             LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
@@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
-    libxl_domain_build_info *info = bl->info;
+    const libxl_domain_build_info *info = bl->info;
     uint32_t domid = bl->domid;
     char *logfile_tmp = NULL;
     int rc, r;
+    const char *bootloader;
 
     libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(DEBUG, "not a PV domain, skipping bootloader");
         rc = 0;
         goto out_ok;
     }
 
+    if (!info->u.pv.bootloader) {
+        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
+        bl->kernel->path = bl->info->u.pv.kernel;
+        bl->ramdisk->path = bl->info->u.pv.ramdisk;
+        bl->cmdline = bl->info->u.pv.cmdline;
+        rc = 0;
+        goto out_ok;
+    }
+
+    if (!bl->disk) {
+        LOG(ERROR, "cannot run bootloader with no boot disk");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     bootloader_setpaths(gc, bl);
 
     const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
@@ -342,27 +356,26 @@ void libxl__bootloader_run(libxl__egc *e
         LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
             "bootloader='pygrub' instead");
 
+    bootloader = info->u.pv.bootloader;
+
     /* If the full path is not specified, check in the libexec path */
-    if ( info->u.pv.bootloader[0] != '/' ) {
-        char *bootloader;
+    if ( bootloader[0] != '/' ) {
+        const char *bltmp;
         struct stat st;
 
-        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
-                                     libxl__libexec_path());
+        bltmp = libxl__abs_path(gc, bootloader, libxl__libexec_path());
         /* Check to see if the file exists in this location; if not,
          * fall back to checking the path */
-        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bltmp);
 
-        if ( lstat(bootloader, &st) )
+        if ( lstat(bltmp, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
-                bootloader);
-        else {
-            free(info->u.pv.bootloader);
-            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
-        }
+                bltmp);
+        else
+            bootloader = bltmp;
     }
 
-    make_bootloader_args(gc, bl);
+    make_bootloader_args(gc, bl, bootloader);
 
     bl->openpty.ao = ao;
     bl->openpty.callback = bootloader_gotptys;
@@ -565,33 +578,6 @@ static void bootloader_finished(libxl__e
     bootloader_callback(egc, bl, rc);
 }
 
-/*----- entrypoint for external callers -----*/
-
-static void run_bootloader_done(libxl__egc *egc,
-                                libxl__bootloader_state *st, int rc)
-{
-    libxl__ao_complete(egc, st->ao, rc);
-}
-
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx,domid,ao_how);
-    libxl__bootloader_state *bl;
-
-    GCNEW(bl);
-    bl->ao = ao;
-    bl->callback = run_bootloader_done;
-    bl->info = info;
-    bl->disk = disk;
-    bl->domid = domid;
-    libxl__bootloader_run(egc, bl);
-    return AO_INPROGRESS;
-}
-
 /*
  * Local variables:
  * mode: C
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_create.c	Fri May 18 13:57:28 2012 +0100
@@ -242,6 +242,7 @@ static int init_console_info(libxl__devi
         return ERROR_NOMEM;
     return 0;
 }
+
 int libxl__domain_build(libxl__gc *gc,
                         libxl_domain_build_info *info,
                         uint32_t domid,
@@ -290,17 +291,18 @@ int libxl__domain_build(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
+
         break;
     default:
         ret = ERROR_INVAL;
@@ -346,16 +348,16 @@ static int domain_restore(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
         break;
     default:
@@ -374,8 +376,8 @@ static int domain_restore(libxl__gc *gc,
 
 out:
     if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
     }
 
     esave = errno;
@@ -625,16 +627,21 @@ static void initiate_domain_create(libxl
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
-    if (restore_fd < 0 && bootdisk) {
+    if (restore_fd >= 0) {
+        LOG(DEBUG, "restoring, not running bootloader\n");
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
+    } else  {
+        LOG(DEBUG, "running bootloader");
         dcs->bl.callback = domcreate_bootloader_done;
         dcs->bl.console_available = domcreate_bootloader_console_available;
-        dcs->bl.info = &d_config->b_info,
+        dcs->bl.info = &d_config->b_info;
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
-            
+
+        dcs->bl.kernel = &dcs->build_state.pv_kernel;
+        dcs->bl.ramdisk = &dcs->build_state.pv_ramdisk;
+
         libxl__bootloader_run(egc, &dcs->bl);
-    } else {
-        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
     return;
 
@@ -675,6 +682,12 @@ static void domcreate_bootloader_done(li
 
     if (ret) goto error_out;
 
+    /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
+     * been initialised by the bootloader already.
+     */
+    LOG(INFO, "bootloader cmdline %s", bl->cmdline);
+    state->pv_cmdline = bl->cmdline;
+
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
      * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Fri May 18 13:57:28 2012 +0100
@@ -715,10 +715,6 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->b_info.max_memkb = 32 * 1024;
     dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
-                                              libxl__xenfirmwaredir_path());
-    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config->b_info.u.pv.ramdisk.path = "";
     dm_config->b_info.u.pv.features = "";
 
     dm_config->b_info.device_model_version =
@@ -746,6 +742,11 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->vkbs = &vkb;
     dm_config->num_vkbs = 1;
 
+    stubdom_state->pv_kernel.path
+        = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
+    stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    stubdom_state->pv_ramdisk.path = "";
+
     /* fixme: this function can leak the stubdom if it fails */
     ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Fri May 18 13:57:28 2012 +0100
@@ -240,36 +240,37 @@ int libxl__build_pv(libxl__gc *gc, uint3
 
     xc_dom_loginit(ctx->xch);
 
-    dom = xc_dom_allocate(ctx->xch, info->u.pv.cmdline, info->u.pv.features);
+    dom = xc_dom_allocate(ctx->xch, state->pv_cmdline, info->u.pv.features);
     if (!dom) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_allocate failed");
         return ERROR_FAIL;
     }
 
-    if (info->u.pv.kernel.mapped) {
+    LOG(INFO, "pv kernel mapped %d path %s\n", state->pv_kernel.mapped, state->pv_kernel.path);
+    if (state->pv_kernel.mapped) {
         ret = xc_dom_kernel_mem(dom,
-                                info->u.pv.kernel.data,
-                                info->u.pv.kernel.size);
+                                state->pv_kernel.data,
+                                state->pv_kernel.size);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_mem failed");
             goto out;
         }
     } else {
-        ret = xc_dom_kernel_file(dom, info->u.pv.kernel.path);
+        ret = xc_dom_kernel_file(dom, state->pv_kernel.path);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_file failed");
             goto out;
         }
     }
 
-    if ( info->u.pv.ramdisk.path && strlen(info->u.pv.ramdisk.path) ) {
-        if (info->u.pv.ramdisk.mapped) {
-            if ( (ret = xc_dom_ramdisk_mem(dom, info->u.pv.ramdisk.data, info->u.pv.ramdisk.size)) != 0 ) {
+    if ( state->pv_ramdisk.path && strlen(state->pv_ramdisk.path) ) {
+        if (state->pv_ramdisk.mapped) {
+            if ( (ret = xc_dom_ramdisk_mem(dom, state->pv_ramdisk.data, state->pv_ramdisk.size)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_mem failed");
                 goto out;
             }
         } else {
-            if ( (ret = xc_dom_ramdisk_file(dom, info->u.pv.ramdisk.path)) != 0 ) {
+            if ( (ret = xc_dom_ramdisk_file(dom, state->pv_ramdisk.path)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_file failed");
                 goto out;
             }
@@ -314,6 +315,9 @@ int libxl__build_pv(libxl__gc *gc, uint3
     state->console_mfn = xc_dom_p2m_host(dom, dom->console_pfn);
     state->store_mfn = xc_dom_p2m_host(dom, dom->xenstore_pfn);
 
+    libxl__file_reference_unmap(&state->pv_kernel);
+    libxl__file_reference_unmap(&state->pv_ramdisk);
+
     ret = 0;
 out:
     xc_dom_release(dom);
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_internal.c
--- a/tools/libxl/libxl_internal.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_internal.c	Fri May 18 13:57:28 2012 +0100
@@ -216,7 +216,7 @@ char *libxl__abs_path(libxl__gc *gc, con
 }
 
 
-int libxl__file_reference_map(libxl_file_reference *f)
+int libxl__file_reference_map(libxl__file_reference *f)
 {
     struct stat st_buf;
     int ret, fd;
@@ -249,7 +249,7 @@ out:
     return ret == 0 ? 0 : ERROR_FAIL;
 }
 
-int libxl__file_reference_unmap(libxl_file_reference *f)
+int libxl__file_reference_unmap(libxl__file_reference *f)
 {
     int ret;
 
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Fri May 18 13:57:28 2012 +0100
@@ -713,6 +713,20 @@ int libxl__self_pipe_eatall(int fd); /* 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
 
+/* File references */
+typedef struct {
+    /*
+     * Path is always set if the file reference is valid. However if
+     * mapped is true then the actual file may already be unlinked.
+     */
+    const char * path;
+    int mapped;
+    void * data;
+    size_t size;
+} libxl__file_reference;
+_hidden int libxl__file_reference_map(libxl__file_reference *f);
+_hidden int libxl__file_reference_unmap(libxl__file_reference *f);
+
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
@@ -731,6 +745,10 @@ typedef struct {
     unsigned long vm_generationid_addr;
 
     char *saved_state;
+
+    libxl__file_reference pv_kernel;
+    libxl__file_reference pv_ramdisk;
+    const char * pv_cmdline;
 } libxl__domain_build_state;
 
 _hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
@@ -1249,9 +1267,6 @@ struct libxl__xen_console_reader {
 
 _hidden int libxl__error_set(libxl__gc *gc, int code);
 
-_hidden int libxl__file_reference_map(libxl_file_reference *f);
-_hidden int libxl__file_reference_unmap(libxl_file_reference *f);
-
 _hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
 
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
@@ -1764,9 +1779,16 @@ struct libxl__bootloader_state {
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
     libxl__bootloader_console_callback *console_available;
-    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    const libxl_domain_build_info *info;
     libxl_device_disk *disk;
     uint32_t domid;
+    /* outputs:
+     *  - caller must set kernel and ramdisk to point to file
+     *    references which will be updated and mapped;
+     *  - cmdline will be updated;
+     */
+    libxl__file_reference *kernel, *ramdisk;
+    const char *cmdline;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
@@ -1810,7 +1832,6 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
-
 /*
  * Convenience macros.
  */
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_json.c	Fri May 18 13:57:28 2012 +0100
@@ -252,15 +252,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p)
-{
-    if (p->path)
-        return libxl__yajl_gen_asciiz(hand, p->path);
-    else
-        return yajl_gen_null(hand);
-}
-
 yajl_gen_status libxl__string_gen_json(yajl_gen hand,
                                        const char *p)
 {
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_json.h	Fri May 18 13:57:28 2012 +0100
@@ -32,8 +32,6 @@ yajl_gen_status libxl_cpuid_policy_list_
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *p);
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p);
 yajl_gen_status libxl_hwcap_gen_json(yajl_gen hand, libxl_hwcap *p);
 
 #include <_libxl_types_json.h>
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Fri May 18 13:57:28 2012 +0100
@@ -15,8 +15,6 @@ libxl_cpuid_policy_list = Builtin("cpuid
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
 libxl_key_value_list = Builtin("key_value_list", dispose_fn="libxl_key_value_list_dispose", passby=PASS_BY_REFERENCE)
-libxl_file_reference = Builtin("file_reference", dispose_fn="libxl_file_reference_dispose", passby=PASS_BY_REFERENCE)
-
 libxl_hwcap = Builtin("hwcap", passby=PASS_BY_REFERENCE)
 
 #
@@ -235,11 +233,6 @@ libxl_sched_params = Struct("sched_param
     ("extratime",    integer),
     ], dir=DIR_IN)
 
-# Instances of libxl_file_reference contained in this struct which
-# have been mapped (with libxl_file_reference_map) will be unmapped
-# by libxl_domain_build/restore. If either of these are never called
-# then the user is responsible for calling
-# libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("cur_vcpus",       integer),
@@ -305,12 +298,12 @@ libxl_domain_build_info = Struct("domain
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ])),
-                 ("pv", Struct(None, [("kernel", libxl_file_reference),
+                 ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
                                       ("bootloader", string),
                                       ("bootloader_args", libxl_string_list),
                                       ("cmdline", string),
-                                      ("ramdisk", libxl_file_reference),
+                                      ("ramdisk", string),
                                       ("features", string, {'const': True}),
                                       # Use host's E820 for PCI passthrough.
                                       ("e820_host", libxl_defbool),
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Fri May 18 13:57:28 2012 +0100
@@ -843,7 +843,7 @@ static void parse_config_data(const char
         char *cmdline = NULL;
         const char *root = NULL, *extra = "";
 
-        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel.path, 0);
+        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel, 0);
 
         xlu_cfg_get_string (config, "root", &root, 0);
         xlu_cfg_get_string (config, "extra", &extra, 0);
@@ -882,13 +882,13 @@ static void parse_config_data(const char
             exit(-ERROR_FAIL);
         }
 
-        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel.path) {
+        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel) {
             fprintf(stderr, "Neither kernel nor bootloader specified\n");
             exit(1);
         }
 
         b_info->u.pv.cmdline = cmdline;
-        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk.path, 0);
+        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk, 0);
         break;
     }
     default:
diff -r dfacffa00d30 -r 4992bc2b6385 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Fri May 18 13:57:28 2012 +0100
@@ -146,9 +146,9 @@ void printf_info_sexp(int domid, libxl_d
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         printf("\t\t(linux %d)\n", 0);
-        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel.path);
+        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel);
         printf("\t\t\t(cmdline %s)\n", b_info->u.pv.cmdline);
-        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk.path);
+        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk);
         printf("\t\t\t(e820_host %s)\n",
                libxl_defbool_to_string(b_info->u.pv.e820_host));
         printf("\t\t)\n");
diff -r dfacffa00d30 -r 4992bc2b6385 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Fri May 18 13:54:01 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Fri May 18 13:57:28 2012 +0100
@@ -243,11 +243,6 @@ int attrib__libxl_cpumap_set(PyObject *v
     return 0;
 }
 
-int attrib__libxl_file_reference_set(PyObject *v, libxl_file_reference *pptr)
-{
-    return genwrap__string_set(v, &pptr->path);
-}
-
 int attrib__libxl_hwcap_set(PyObject *v, libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Setting hwcap");
@@ -315,11 +310,6 @@ PyObject *attrib__libxl_cpumap_get(libxl
     return cpulist;
 }
 
-PyObject *attrib__libxl_file_reference_get(libxl_file_reference *pptr)
-{
-    return genwrap__string_get(&pptr->path);
-}
-
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:08:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:08:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMur-0007ea-NQ; Fri, 18 May 2012 13:08:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMup-0007eQ-Uv
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:08:20 +0000
Received: from [85.158.143.35:12785] by server-2.bemta-4.messagelabs.com id
	04/86-12211-3C946BF4; Fri, 18 May 2012 13:08:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337346498!12074060!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2513 invoked from network); 18 May 2012 13:08:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:08:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550509"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:08:18 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 14:08:18 +0100
Message-ID: <1337346497.22316.114.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Krishna Pavan <post4pavan@gmail.com>
Date: Fri, 18 May 2012 14:08:17 +0100
In-Reply-To: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Xen <xen-arm@lists.xensource.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
 Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questions about the port of Xen to ARM with virt extensions are best
posted to xen-devel, the xen-arm list focuses on the PV port. Adding
xen-devel since it seems you are mainly asking about the
w/-virt-extensions port.

On Fri, 2012-05-18 at 12:38 +0100, Krishna Pavan wrote:
> Please inform the status of Xen-ARM for Cortex-A8 CPU's on FME from
> ARM.

AFAIK no one has tried the w/-virt-extensions port on this model. The
only ones which I know have been tried are Cortex-A15 model and AEM.

Cortex-A8 already exists so I would be surprised if it were to be
updated with virt extensions, do you have some reason to think that it
will be?

Cortex A15 and Cortex A7 are on our radar as upcoming processors which
will have the extensions. Cortex A8 is not.

> These links here 
> http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions 
> & 
> http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/FastModels
> 
> give information about the dom0 running on FME.
> 
> Though Xen-ARM is available for Cortex-A9 with KVM Virt extensions for
> Tegra2Harmony,

I'm confused by the mention of both Xen-ARM and KVM in this sentence.
Also did you mean A8 or A9 here?

> Cortex-A8 is widely used, and I would like to know the status.

AFAIK these chips don't/won't support virtualisation extensions.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:08:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:08:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVMur-0007ea-NQ; Fri, 18 May 2012 13:08:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVMup-0007eQ-Uv
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:08:20 +0000
Received: from [85.158.143.35:12785] by server-2.bemta-4.messagelabs.com id
	04/86-12211-3C946BF4; Fri, 18 May 2012 13:08:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337346498!12074060!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2513 invoked from network); 18 May 2012 13:08:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:08:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550509"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:08:18 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 14:08:18 +0100
Message-ID: <1337346497.22316.114.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Krishna Pavan <post4pavan@gmail.com>
Date: Fri, 18 May 2012 14:08:17 +0100
In-Reply-To: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Xen <xen-arm@lists.xensource.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
 Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questions about the port of Xen to ARM with virt extensions are best
posted to xen-devel, the xen-arm list focuses on the PV port. Adding
xen-devel since it seems you are mainly asking about the
w/-virt-extensions port.

On Fri, 2012-05-18 at 12:38 +0100, Krishna Pavan wrote:
> Please inform the status of Xen-ARM for Cortex-A8 CPU's on FME from
> ARM.

AFAIK no one has tried the w/-virt-extensions port on this model. The
only ones which I know have been tried are Cortex-A15 model and AEM.

Cortex-A8 already exists so I would be surprised if it were to be
updated with virt extensions, do you have some reason to think that it
will be?

Cortex A15 and Cortex A7 are on our radar as upcoming processors which
will have the extensions. Cortex A8 is not.

> These links here 
> http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions 
> & 
> http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/FastModels
> 
> give information about the dom0 running on FME.
> 
> Though Xen-ARM is available for Cortex-A9 with KVM Virt extensions for
> Tegra2Harmony,

I'm confused by the mention of both Xen-ARM and KVM in this sentence.
Also did you mean A8 or A9 here?

> Cortex-A8 is widely used, and I would like to know the status.

AFAIK these chips don't/won't support virtualisation extensions.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:17:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:17:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVN3n-00085J-KS; Fri, 18 May 2012 13:17:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVN3m-00085C-DB
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:17:34 +0000
Received: from [85.158.143.99:50229] by server-1.bemta-4.messagelabs.com id
	DB/2A-00342-DEB46BF4; Fri, 18 May 2012 13:17:33 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337347051!21623123!1
X-Originating-IP: [216.32.180.16]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 895 invoked from network); 18 May 2012 13:17:32 -0000
Received: from va3ehsobe006.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.16)
	by server-6.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 13:17:32 -0000
Received: from mail111-va3-R.bigfish.com (10.7.14.238) by
	VA3EHSOBE004.bigfish.com (10.7.40.24) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 13:17:22 +0000
Received: from mail111-va3 (localhost [127.0.0.1])	by
	mail111-va3-R.bigfish.com (Postfix) with ESMTP id 52DBD6048F	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 13:17:22 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -3
X-BigFish: VPS-3(zz98bKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail111-va3 (localhost.localdomain [127.0.0.1]) by mail111-va3
	(MessageSwitch) id 1337347034409482_16643;
	Fri, 18 May 2012 13:17:14 +0000 (UTC)
Received: from VA3EHSMHS032.bigfish.com (unknown [10.7.14.251])	by
	mail111-va3.bigfish.com (Postfix) with ESMTP id 3334340089	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 13:17:14 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS032.bigfish.com (10.7.99.42) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 13:17:07 +0000
X-WSS-ID: 0M47ZKK-02-04D-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2A659C807F	for <xen-devel@lists.xen.org>; Fri, 18 May 2012
	08:17:08 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 08:24:02 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Fri, 18 May 2012 08:17:12 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	09:17:12 -0400
Message-ID: <4FB64BDC.6010801@amd.com>
Date: Fri, 18 May 2012 15:17:16 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
X-OriginatorOrg: amd.com
Subject: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Hi,

I am currently using c/s 25371:e9058654ca08.
When I try to start a HVM guest I get this failure:


xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_event.c:468:libxl__ev_xswatch_register: create watch
for path /local/domain/0/device-model/1/state: Bad file descriptor
libxl: error: libxl_dm.c:1069:device_model_spawn_outcome: domain 1
device model: spawn failed (rc=-3)
assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
function "libxl__ao_complete_check_progress_reports"
[1]   Abort trap (core dumped) xl create -c ${F...


Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:17:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:17:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVN3n-00085J-KS; Fri, 18 May 2012 13:17:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVN3m-00085C-DB
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:17:34 +0000
Received: from [85.158.143.99:50229] by server-1.bemta-4.messagelabs.com id
	DB/2A-00342-DEB46BF4; Fri, 18 May 2012 13:17:33 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337347051!21623123!1
X-Originating-IP: [216.32.180.16]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 895 invoked from network); 18 May 2012 13:17:32 -0000
Received: from va3ehsobe006.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.16)
	by server-6.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 13:17:32 -0000
Received: from mail111-va3-R.bigfish.com (10.7.14.238) by
	VA3EHSOBE004.bigfish.com (10.7.40.24) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 13:17:22 +0000
Received: from mail111-va3 (localhost [127.0.0.1])	by
	mail111-va3-R.bigfish.com (Postfix) with ESMTP id 52DBD6048F	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 13:17:22 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -3
X-BigFish: VPS-3(zz98bKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail111-va3 (localhost.localdomain [127.0.0.1]) by mail111-va3
	(MessageSwitch) id 1337347034409482_16643;
	Fri, 18 May 2012 13:17:14 +0000 (UTC)
Received: from VA3EHSMHS032.bigfish.com (unknown [10.7.14.251])	by
	mail111-va3.bigfish.com (Postfix) with ESMTP id 3334340089	for
	<xen-devel@lists.xen.org>; Fri, 18 May 2012 13:17:14 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS032.bigfish.com (10.7.99.42) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 13:17:07 +0000
X-WSS-ID: 0M47ZKK-02-04D-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2A659C807F	for <xen-devel@lists.xen.org>; Fri, 18 May 2012
	08:17:08 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 08:24:02 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Fri, 18 May 2012 08:17:12 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	09:17:12 -0400
Message-ID: <4FB64BDC.6010801@amd.com>
Date: Fri, 18 May 2012 15:17:16 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
X-OriginatorOrg: amd.com
Subject: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


Hi,

I am currently using c/s 25371:e9058654ca08.
When I try to start a HVM guest I get this failure:


xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 1: Bad file descriptor
libxl: error: libxl_event.c:468:libxl__ev_xswatch_register: create watch
for path /local/domain/0/device-model/1/state: Bad file descriptor
libxl: error: libxl_dm.c:1069:device_model_spawn_outcome: domain 1
device model: spawn failed (rc=-3)
assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
function "libxl__ao_complete_check_progress_reports"
[1]   Abort trap (core dumped) xl create -c ${F...


Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:18:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:18:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVN46-00086Z-4T; Fri, 18 May 2012 13:17:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVN44-000863-J9
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:17:52 +0000
Received: from [85.158.143.99:10660] by server-2.bemta-4.messagelabs.com id
	26/A9-12211-FFB46BF4; Fri, 18 May 2012 13:17:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337347071!28095282!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30715 invoked from network); 18 May 2012 13:17:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:17:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550718"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:17:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 14:17:51 +0100
Message-ID: <1337347069.22316.115.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Krishna Pavan <post4pavan@gmail.com>
Date: Fri, 18 May 2012 14:17:49 +0100
In-Reply-To: <CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
	<1337346497.22316.114.camel@zakaz.uk.xensource.com>
	<CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Xen <xen-arm@lists.xensource.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
 Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 14:14 +0100, Krishna Pavan wrote:
> Sorry, 
> 
> I am interested to learn a bit about Cortex-A8 only, where, I am aware
> of the PV port.

OK. The links you provided were all about the other port, which was
confusing.

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:18:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:18:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVN46-00086Z-4T; Fri, 18 May 2012 13:17:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVN44-000863-J9
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:17:52 +0000
Received: from [85.158.143.99:10660] by server-2.bemta-4.messagelabs.com id
	26/A9-12211-FFB46BF4; Fri, 18 May 2012 13:17:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337347071!28095282!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30715 invoked from network); 18 May 2012 13:17:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:17:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550718"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:17:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 14:17:51 +0100
Message-ID: <1337347069.22316.115.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Krishna Pavan <post4pavan@gmail.com>
Date: Fri, 18 May 2012 14:17:49 +0100
In-Reply-To: <CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
	<1337346497.22316.114.camel@zakaz.uk.xensource.com>
	<CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Xen <xen-arm@lists.xensource.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
 Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 14:14 +0100, Krishna Pavan wrote:
> Sorry, 
> 
> I am interested to learn a bit about Cortex-A8 only, where, I am aware
> of the PV port.

OK. The links you provided were all about the other port, which was
confusing.

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:30:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:30:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNGF-00005G-If; Fri, 18 May 2012 13:30:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVNGE-00005B-5g
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:30:26 +0000
Received: from [85.158.143.99:28105] by server-2.bemta-4.messagelabs.com id
	67/B3-12211-1FE46BF4; Fri, 18 May 2012 13:30:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337347823!23370967!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25774 invoked from network); 18 May 2012 13:30:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:30:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550938"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:30:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 14:30:22 +0100
Message-ID: <1337347821.22316.122.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 14:30:21 +0100
In-Reply-To: <4FB64BDC.6010801@amd.com>
References: <4FB64BDC.6010801@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 14:17 +0100, Christoph Egger wrote:
> Hi,
> 
> I am currently using c/s 25371:e9058654ca08.
> When I try to start a HVM guest I get this failure:
> 
> 
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> dompath for 1: Bad file descriptor

This is on NetBSD?

These sorts of symptoms are similar to those fixed by 25364:8dce7a4121b9
but you've already got that. It might be worth doing a full clean and
rebuild, just in case.

What does your guest config look like? What is your command line?

Do you know when it last worked?

The places which close ctx->xsh are very few -- might be worth
annotating any call to xs_daemon_close() with a printf. 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:30:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:30:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNGF-00005G-If; Fri, 18 May 2012 13:30:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVNGE-00005B-5g
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:30:26 +0000
Received: from [85.158.143.99:28105] by server-2.bemta-4.messagelabs.com id
	67/B3-12211-1FE46BF4; Fri, 18 May 2012 13:30:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337347823!23370967!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25774 invoked from network); 18 May 2012 13:30:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:30:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550938"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:30:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 14:30:22 +0100
Message-ID: <1337347821.22316.122.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 14:30:21 +0100
In-Reply-To: <4FB64BDC.6010801@amd.com>
References: <4FB64BDC.6010801@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 14:17 +0100, Christoph Egger wrote:
> Hi,
> 
> I am currently using c/s 25371:e9058654ca08.
> When I try to start a HVM guest I get this failure:
> 
> 
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> dompath for 1: Bad file descriptor

This is on NetBSD?

These sorts of symptoms are similar to those fixed by 25364:8dce7a4121b9
but you've already got that. It might be worth doing a full clean and
rebuild, just in case.

What does your guest config look like? What is your command line?

Do you know when it last worked?

The places which close ctx->xsh are very few -- might be worth
annotating any call to xs_daemon_close() with a printf. 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:31:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNGY-000060-Vu; Fri, 18 May 2012 13:30:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVNGX-00005q-3Z
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:30:45 +0000
Received: from [85.158.143.99:56615] by server-2.bemta-4.messagelabs.com id
	DC/64-12211-40F46BF4; Fri, 18 May 2012 13:30:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337347843!21118702!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27995 invoked from network); 18 May 2012 13:30:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:30:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550949"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:30:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 14:30:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVNGU-0000bY-In; Fri, 18 May 2012 13:30:42 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVNGU-0000mO-I0;
	Fri, 18 May 2012 14:30:42 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.20226.542693.284753@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 14:30:42 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB639B3.3000905@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
	<4FB639B3.3000905@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
 config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
> Ian Jackson wrote:
> > I know that.  But given that the configure is just for the tools
> > build, should we honour PREFIX from Config.mk (and ./.config or
> > command line arguments) or from ./configure ?
> 
> I think the one from configure, since we have a configure script, better 
> make use of it, that is what users expect.

I guess so.

> I will resend this patch with the above changes to config/Linux.mk,
> is that ok?

I don't think prefixing paths in /var with PREFIX is ever right.
Overriding it in Linux.mk seems like a band-aid.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:31:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNGY-000060-Vu; Fri, 18 May 2012 13:30:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVNGX-00005q-3Z
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:30:45 +0000
Received: from [85.158.143.99:56615] by server-2.bemta-4.messagelabs.com id
	DC/64-12211-40F46BF4; Fri, 18 May 2012 13:30:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337347843!21118702!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27995 invoked from network); 18 May 2012 13:30:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:30:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550949"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:30:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 14:30:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVNGU-0000bY-In; Fri, 18 May 2012 13:30:42 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVNGU-0000mO-I0;
	Fri, 18 May 2012 14:30:42 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.20226.542693.284753@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 14:30:42 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB639B3.3000905@citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
	<4FB639B3.3000905@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
 config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
> Ian Jackson wrote:
> > I know that.  But given that the configure is just for the tools
> > build, should we honour PREFIX from Config.mk (and ./.config or
> > command line arguments) or from ./configure ?
> 
> I think the one from configure, since we have a configure script, better 
> make use of it, that is what users expect.

I guess so.

> I will resend this patch with the above changes to config/Linux.mk,
> is that ok?

I don't think prefixing paths in /var with PREFIX is ever right.
Overriding it in Linux.mk seems like a band-aid.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:32:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:32:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNHk-0000DH-EQ; Fri, 18 May 2012 13:32:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVNHh-0000D3-VU
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:31:58 +0000
Received: from [193.109.254.147:18245] by server-10.bemta-14.messagelabs.com
	id CA/82-05847-D4F46BF4; Fri, 18 May 2012 13:31:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337347916!9762084!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2178 invoked from network); 18 May 2012 13:31:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:31:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550973"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:31:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 14:31:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVNHg-0000by-DT; Fri, 18 May 2012 13:31:56 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVNHg-0000mW-Ci;
	Fri, 18 May 2012 14:31:56 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.20300.380604.665069@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 14:31:56 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337343945.22316.91.camel@zakaz.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
	<1337250836.7781.46.camel@zakaz.uk.xensource.com>
	<20406.10969.280469.436947@mariner.uk.xensource.com>
	<1337343945.22316.91.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH] xl: track child processes for the benefit of libxl"):
> On Fri, 2012-05-18 at 11:56 +0100, Ian Jackson wrote:
> >   pid_t xl_waitpid(enum xlchildnum, ....);
>
> > Pick one; they all seem plausible to me.
> 
> Likewise. Not that keen on the union one but the others are all broadly
> similar.

OK.

> > My favourite is probably the one where we pass the array index to
> > xl_fork and xl_waitpid.
> 
> You mean the one I haven't trimmed above? I think I'd be happy with
> that.

OK.

> > > > -    *pid = fork();
> > > > -    if (*pid < 0) {
> > > > +    console_child_report();
> > > > +
> > > > +    pid_t pid = xl_fork(&child_console);
> > > 
> > > console_child_report doesn't seem to reset child_config.pid and xlfork
> > > has an assert(!foo.pid) in it, so how does this work on the second time?
> > 
> > xl_waitpid does it.  Perhaps this is worth a comment ?
> 
> Yes, since you rely on BSS zeroing and waitpid (i.e. teardown) to
> (re)initialise the state I think a comment would be handy.

OK.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:32:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:32:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNHk-0000DH-EQ; Fri, 18 May 2012 13:32:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVNHh-0000D3-VU
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:31:58 +0000
Received: from [193.109.254.147:18245] by server-10.bemta-14.messagelabs.com
	id CA/82-05847-D4F46BF4; Fri, 18 May 2012 13:31:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337347916!9762084!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2178 invoked from network); 18 May 2012 13:31:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:31:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12550973"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:31:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 14:31:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVNHg-0000by-DT; Fri, 18 May 2012 13:31:56 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVNHg-0000mW-Ci;
	Fri, 18 May 2012 14:31:56 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.20300.380604.665069@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 14:31:56 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337343945.22316.91.camel@zakaz.uk.xensource.com>
References: <20404.4261.794115.716972@mariner.uk.xensource.com>
	<1337250836.7781.46.camel@zakaz.uk.xensource.com>
	<20406.10969.280469.436947@mariner.uk.xensource.com>
	<1337343945.22316.91.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: track child processes for the benefit
	of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH] xl: track child processes for the benefit of libxl"):
> On Fri, 2012-05-18 at 11:56 +0100, Ian Jackson wrote:
> >   pid_t xl_waitpid(enum xlchildnum, ....);
>
> > Pick one; they all seem plausible to me.
> 
> Likewise. Not that keen on the union one but the others are all broadly
> similar.

OK.

> > My favourite is probably the one where we pass the array index to
> > xl_fork and xl_waitpid.
> 
> You mean the one I haven't trimmed above? I think I'd be happy with
> that.

OK.

> > > > -    *pid = fork();
> > > > -    if (*pid < 0) {
> > > > +    console_child_report();
> > > > +
> > > > +    pid_t pid = xl_fork(&child_console);
> > > 
> > > console_child_report doesn't seem to reset child_config.pid and xlfork
> > > has an assert(!foo.pid) in it, so how does this work on the second time?
> > 
> > xl_waitpid does it.  Perhaps this is worth a comment ?
> 
> Yes, since you rely on BSS zeroing and waitpid (i.e. teardown) to
> (re)initialise the state I think a comment would be handy.

OK.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:37:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:37:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNNJ-0000b1-Ag; Fri, 18 May 2012 13:37:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNNI-0000au-8S
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:37:44 +0000
Received: from [85.158.143.35:30701] by server-1.bemta-4.messagelabs.com id
	34/60-00342-7A056BF4; Fri, 18 May 2012 13:37:43 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337348261!5662023!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24436 invoked from network); 18 May 2012 13:37:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:37:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12551149"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:37:41 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 14:37:41 +0100
Date: Fri, 18 May 2012 14:37:25 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205181436080.26786@kaball-desktop>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized, when the guest write to a
> specific IO port.
> 
> Without this patch, the guest end up with two nics with the same MAC, the
> emulated nic and the PV nic.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Is this patch required in qemu-upstream-unstable.git too?
If so, could you please provide a backport?



>  hw/xen_platform.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
> index a9c52a6..0214f37 100644
> --- a/hw/xen_platform.c
> +++ b/hw/xen_platform.c
> @@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>  {
>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>              PCI_CLASS_NETWORK_ETHERNET) {
> -        qdev_unplug(&(d->qdev), NULL);
> +        /* Until qdev_free includes a call to object_unparent, we call it here
> +         */
> +        object_unparent(&d->qdev.parent_obj);
> +        qdev_free(&d->qdev);
>      }
>  }
>  
> -- 
> Anthony PERARD
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 13:37:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 13:37:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNNJ-0000b1-Ag; Fri, 18 May 2012 13:37:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNNI-0000au-8S
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:37:44 +0000
Received: from [85.158.143.35:30701] by server-1.bemta-4.messagelabs.com id
	34/60-00342-7A056BF4; Fri, 18 May 2012 13:37:43 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337348261!5662023!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24436 invoked from network); 18 May 2012 13:37:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:37:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12551149"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 13:37:41 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 14:37:41 +0100
Date: Fri, 18 May 2012 14:37:25 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
In-Reply-To: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.00.1205181436080.26786@kaball-desktop>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 16 May 2012, Anthony PERARD wrote:
> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
> unplug before the guest drivers are initialized, when the guest write to a
> specific IO port.
> 
> Without this patch, the guest end up with two nics with the same MAC, the
> emulated nic and the PV nic.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Is this patch required in qemu-upstream-unstable.git too?
If so, could you please provide a backport?



>  hw/xen_platform.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/xen_platform.c b/hw/xen_platform.c
> index a9c52a6..0214f37 100644
> --- a/hw/xen_platform.c
> +++ b/hw/xen_platform.c
> @@ -87,7 +87,10 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
>  {
>      if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
>              PCI_CLASS_NETWORK_ETHERNET) {
> -        qdev_unplug(&(d->qdev), NULL);
> +        /* Until qdev_free includes a call to object_unparent, we call it here
> +         */
> +        object_unparent(&d->qdev.parent_obj);
> +        qdev_free(&d->qdev);
>      }
>  }
>  
> -- 
> Anthony PERARD
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:08:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNqc-0001Ew-0r; Fri, 18 May 2012 14:08:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNqa-0001Ep-7Z
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:08:00 +0000
Received: from [193.109.254.147:6395] by server-6.bemta-14.messagelabs.com id
	31/BD-04960-FB756BF4; Fri, 18 May 2012 14:07:59 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337350078!9981325!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17838 invoked from network); 18 May 2012 14:07:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:07:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12551844"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:07:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:07:58 +0100
Date: Fri, 18 May 2012 15:07:53 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.


Changes in v6:
- rebase on "nstore: rename public xenstore headers";
- new patch: "libxl_string_to_backend: add qdisk";
- new patch: "main_blockdetach: destroy the disk on successful removal";
- split "libxl: introduce libxl__device_disk_add" in two patches;
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs;
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start; 
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF;
- introduce ret for xs_* error codes.


Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.



Stefano Stabellini (11):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: move libxl__device_from_disk to libxl_internal.c
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
      libxl_string_to_backend: add qdisk
      main_blockdetach: destroy the disk on successful removal

 docs/man/xl.conf.pod.5                          |    6 +
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  238 +----------------
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |    7 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 +-
 tools/libxl/libxl_internal.c                    |  325 +++++++++++++++++++++++
 tools/libxl/libxl_internal.h                    |   26 ++-
 tools/libxl/libxl_linux.c                       |   48 ++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/libxl_utils.c                       |    2 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    5 +-
 19 files changed, 454 insertions(+), 252 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:08:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNqc-0001Ew-0r; Fri, 18 May 2012 14:08:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNqa-0001Ep-7Z
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:08:00 +0000
Received: from [193.109.254.147:6395] by server-6.bemta-14.messagelabs.com id
	31/BD-04960-FB756BF4; Fri, 18 May 2012 14:07:59 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337350078!9981325!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17838 invoked from network); 18 May 2012 14:07:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:07:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12551844"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:07:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:07:58 +0100
Date: Fri, 18 May 2012 15:07:53 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.


Changes in v6:
- rebase on "nstore: rename public xenstore headers";
- new patch: "libxl_string_to_backend: add qdisk";
- new patch: "main_blockdetach: destroy the disk on successful removal";
- split "libxl: introduce libxl__device_disk_add" in two patches;
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs;
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start; 
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF;
- introduce ret for xs_* error codes.


Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.



Stefano Stabellini (11):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: move libxl__device_from_disk to libxl_internal.c
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
      libxl_string_to_backend: add qdisk
      main_blockdetach: destroy the disk on successful removal

 docs/man/xl.conf.pod.5                          |    6 +
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  238 +----------------
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |    7 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 +-
 tools/libxl/libxl_internal.c                    |  325 +++++++++++++++++++++++
 tools/libxl/libxl_internal.h                    |   26 ++-
 tools/libxl/libxl_linux.c                       |   48 ++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/libxl_utils.c                       |    2 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    5 +-
 19 files changed, 454 insertions(+), 252 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:08:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:08:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNqp-0001GA-Hy; Fri, 18 May 2012 14:08:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVNqo-0001Fy-9h
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:08:14 +0000
Received: from [85.158.143.99:17787] by server-3.bemta-4.messagelabs.com id
	03/90-05853-DC756BF4; Fri, 18 May 2012 14:08:13 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337350092!25285817!1
X-Originating-IP: [213.199.154.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13490 invoked from network); 18 May 2012 14:08:13 -0000
Received: from db3ehsobe003.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.141)
	by server-7.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 14:08:13 -0000
Received: from mail46-db3-R.bigfish.com (10.3.81.246) by
	DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:08:03 +0000
Received: from mail46-db3 (localhost [127.0.0.1])	by mail46-db3-R.bigfish.com
	(Postfix) with ESMTP id C3A7B480287;
	Fri, 18 May 2012 14:08:03 +0000 (UTC)
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail46-db3 (localhost.localdomain [127.0.0.1]) by mail46-db3
	(MessageSwitch) id 1337350080677644_22366;
	Fri, 18 May 2012 14:08:00 +0000 (UTC)
Received: from DB3EHSMHS011.bigfish.com (unknown [10.3.81.240])	by
	mail46-db3.bigfish.com (Postfix) with ESMTP id 9EF5A1400C0;
	Fri, 18 May 2012 14:08:00 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	DB3EHSMHS011.bigfish.com (10.3.87.111) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:07:59 +0000
X-WSS-ID: 0M481XG-01-8HN-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2AAC91028053;	Fri, 18 May 2012 09:08:04 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 09:14:55 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 09:08:05 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	10:08:04 -0400
Message-ID: <4FB657C2.8090007@amd.com>
Date: Fri, 18 May 2012 16:08:02 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
	<4FB639B3.3000905@citrix.com>
	<20406.20226.542693.284753@mariner.uk.xensource.com>
In-Reply-To: <20406.20226.542693.284753@mariner.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 15:30, Ian Jackson wrote:

> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Ian Jackson wrote:
>>> I know that.  But given that the configure is just for the tools
>>> build, should we honour PREFIX from Config.mk (and ./.config or
>>> command line arguments) or from ./configure ?
>>
>> I think the one from configure, since we have a configure script, better 
>> make use of it, that is what users expect.
> 
> I guess so.
> 
>> I will resend this patch with the above changes to config/Linux.mk,
>> is that ok?
> 
> I don't think prefixing paths in /var with PREFIX is ever right.
> Overriding it in Linux.mk seems like a band-aid.


One suggestion:

Move all path variables out of config/*.mk and let configure generate
a config/paths.mk.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:08:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:08:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNqp-0001GA-Hy; Fri, 18 May 2012 14:08:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVNqo-0001Fy-9h
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:08:14 +0000
Received: from [85.158.143.99:17787] by server-3.bemta-4.messagelabs.com id
	03/90-05853-DC756BF4; Fri, 18 May 2012 14:08:13 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337350092!25285817!1
X-Originating-IP: [213.199.154.141]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13490 invoked from network); 18 May 2012 14:08:13 -0000
Received: from db3ehsobe003.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.141)
	by server-7.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 14:08:13 -0000
Received: from mail46-db3-R.bigfish.com (10.3.81.246) by
	DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:08:03 +0000
Received: from mail46-db3 (localhost [127.0.0.1])	by mail46-db3-R.bigfish.com
	(Postfix) with ESMTP id C3A7B480287;
	Fri, 18 May 2012 14:08:03 +0000 (UTC)
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail46-db3 (localhost.localdomain [127.0.0.1]) by mail46-db3
	(MessageSwitch) id 1337350080677644_22366;
	Fri, 18 May 2012 14:08:00 +0000 (UTC)
Received: from DB3EHSMHS011.bigfish.com (unknown [10.3.81.240])	by
	mail46-db3.bigfish.com (Postfix) with ESMTP id 9EF5A1400C0;
	Fri, 18 May 2012 14:08:00 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	DB3EHSMHS011.bigfish.com (10.3.87.111) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:07:59 +0000
X-WSS-ID: 0M481XG-01-8HN-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2AAC91028053;	Fri, 18 May 2012 09:08:04 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 09:14:55 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 09:08:05 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	10:08:04 -0400
Message-ID: <4FB657C2.8090007@amd.com>
Date: Fri, 18 May 2012 16:08:02 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
	<4FB639B3.3000905@citrix.com>
	<20406.20226.542693.284753@mariner.uk.xensource.com>
In-Reply-To: <20406.20226.542693.284753@mariner.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 15:30, Ian Jackson wrote:

> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>> Ian Jackson wrote:
>>> I know that.  But given that the configure is just for the tools
>>> build, should we honour PREFIX from Config.mk (and ./.config or
>>> command line arguments) or from ./configure ?
>>
>> I think the one from configure, since we have a configure script, better 
>> make use of it, that is what users expect.
> 
> I guess so.
> 
>> I will resend this patch with the above changes to config/Linux.mk,
>> is that ok?
> 
> I don't think prefixing paths in /var with PREFIX is ever right.
> Overriding it in Linux.mk seems like a band-aid.


One suggestion:

Move all path variables out of config/*.mk and let configure generate
a config/paths.mk.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:09:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:09:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNrZ-0001Lz-Vh; Fri, 18 May 2012 14:09:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNrY-0001Lg-Pa
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:09:00 +0000
Received: from [85.158.143.99:23566] by server-1.bemta-4.messagelabs.com id
	75/BB-00342-CF756BF4; Fri, 18 May 2012 14:09:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337350138!22108598!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2653 invoked from network); 18 May 2012 14:08:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:08:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="25331007"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-6o; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:44 +0100
Message-ID: <1337350125-30394-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_utils.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 858410e..c065f59 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -240,6 +240,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend
         *backend = LIBXL_DISK_BACKEND_PHY;
     } else if (!strcmp(s, "file")) {
         *backend = LIBXL_DISK_BACKEND_TAP;
+    } else if (!strcmp(s, "qdisk")) {
+        *backend = LIBXL_DISK_BACKEND_QDISK;
     } else if (!strcmp(s, "tap")) {
         p = strchr(s, ':');
         if (!p) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:09:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:09:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNrZ-0001Lz-Vh; Fri, 18 May 2012 14:09:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNrY-0001Lg-Pa
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:09:00 +0000
Received: from [85.158.143.99:23566] by server-1.bemta-4.messagelabs.com id
	75/BB-00342-CF756BF4; Fri, 18 May 2012 14:09:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337350138!22108598!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2653 invoked from network); 18 May 2012 14:08:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:08:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="25331007"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-6o; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:44 +0100
Message-ID: <1337350125-30394-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_utils.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 858410e..c065f59 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -240,6 +240,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend
         *backend = LIBXL_DISK_BACKEND_PHY;
     } else if (!strcmp(s, "file")) {
         *backend = LIBXL_DISK_BACKEND_TAP;
+    } else if (!strcmp(s, "qdisk")) {
+        *backend = LIBXL_DISK_BACKEND_QDISK;
     } else if (!strcmp(s, "tap")) {
         p = strchr(s, ':');
         if (!p) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsg-0001VD-E9; Fri, 18 May 2012 14:10:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNse-0001Uf-EE
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:08 +0000
Received: from [193.109.254.147:42941] by server-2.bemta-14.messagelabs.com id
	11/EC-19409-F3856BF4; Fri, 18 May 2012 14:10:07 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24864 invoked from network); 18 May 2012 14:10:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514921"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-0Q; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:37 +0100
Message-ID: <1337350125-30394-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 03/11] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 35f6ff9..64d2dd8 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1426,7 +1426,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1827,7 +1827,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2120,7 +2120,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2191,7 +2191,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2324,7 +2324,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..88cdc7d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a9127db..cb5393d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -781,8 +781,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index 3856bd9..335c645 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -102,7 +102,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsg-0001VD-E9; Fri, 18 May 2012 14:10:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNse-0001Uf-EE
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:08 +0000
Received: from [193.109.254.147:42941] by server-2.bemta-14.messagelabs.com id
	11/EC-19409-F3856BF4; Fri, 18 May 2012 14:10:07 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24864 invoked from network); 18 May 2012 14:10:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514921"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-0Q; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:37 +0100
Message-ID: <1337350125-30394-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 03/11] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 35f6ff9..64d2dd8 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1426,7 +1426,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1827,7 +1827,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2120,7 +2120,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2191,7 +2191,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2324,7 +2324,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..88cdc7d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a9127db..cb5393d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -781,8 +781,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index 3856bd9..335c645 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -102,7 +102,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsk-0001XW-2D; Fri, 18 May 2012 14:10:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsi-0001Vv-12
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:12 +0000
Received: from [193.109.254.147:30515] by server-11.bemta-14.messagelabs.com
	id FC/D0-05858-34856BF4; Fri, 18 May 2012 14:10:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!5
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25119 invoked from network); 18 May 2012 14:10:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514930"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-1Y; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:39 +0100
Message-ID: <1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 05/11] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |  113 +---------------------------------------
 tools/libxl/libxl_internal.c |  119 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    2 +
 3 files changed, 122 insertions(+), 112 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 3f53da5..1bed2fe 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1284,118 +1284,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                LOG(ERROR, "failed to get blktap devpath for %p\n",
-                    disk->pdev_path);
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, XBT_NULL, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-
-    rc = 0;
-
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 276429c..70a8c4b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,125 @@ out:
     return rc;
 }
 
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
+{
+    flexarray_t *front;
+    flexarray_t *back;
+    char *dev;
+    libxl__device device;
+    int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
+                   " not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    if (rc != 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        goto out_free;
+    }
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            dev = disk->pdev_path;
+    do_backend_phy:
+            libxl__device_physdisk_major_minor(dev, &major, &minor);
+            flexarray_append(back, "physical-device");
+            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+
+            flexarray_append(back, "params");
+            flexarray_append(back, dev);
+
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+            if (!dev) {
+                LOG(ERROR, "failed to get blktap devpath for %p\n",
+                        disk->pdev_path);
+                rc = ERROR_FAIL;
+                goto out_free;
+            }
+            flexarray_append(back, "tapdisk-params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                libxl__device_disk_string_of_format(disk->format),
+                disk->pdev_path));
+
+            /* now create a phy device to export the device to the guest */
+            goto do_backend_phy;
+        case LIBXL_DISK_BACKEND_QDISK:
+            flexarray_append(back, "params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            rc = ERROR_INVAL;
+            goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, t, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 3578414..98f9762 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1236,6 +1236,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 
 /*
  * Make a disk available in this (the control) domain. Returns path to
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsk-0001XW-2D; Fri, 18 May 2012 14:10:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsi-0001Vv-12
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:12 +0000
Received: from [193.109.254.147:30515] by server-11.bemta-14.messagelabs.com
	id FC/D0-05858-34856BF4; Fri, 18 May 2012 14:10:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!5
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25119 invoked from network); 18 May 2012 14:10:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514930"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-1Y; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:39 +0100
Message-ID: <1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 05/11] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |  113 +---------------------------------------
 tools/libxl/libxl_internal.c |  119 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    2 +
 3 files changed, 122 insertions(+), 112 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 3f53da5..1bed2fe 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1284,118 +1284,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
-    flexarray_t *front;
-    flexarray_t *back;
-    char *dev;
-    libxl__device device;
-    int major, minor, rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    front = flexarray_make(16, 1);
-    if (!front) {
-        rc = ERROR_NOMEM;
-        goto out;
-    }
-    back = flexarray_make(16, 1);
-    if (!back) {
-        rc = ERROR_NOMEM;
-        goto out_free;
-    }
-
-    if (disk->script) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
-                   " not yet supported, sorry");
-        rc = ERROR_INVAL;
-        goto out_free;
-    }
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        goto out_free;
-    }
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            dev = disk->pdev_path;
-    do_backend_phy:
-            libxl__device_physdisk_major_minor(dev, &major, &minor);
-            flexarray_append(back, "physical-device");
-            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
-
-            flexarray_append(back, "params");
-            flexarray_append(back, dev);
-
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
-            if (!dev) {
-                LOG(ERROR, "failed to get blktap devpath for %p\n",
-                    disk->pdev_path);
-                rc = ERROR_FAIL;
-                goto out_free;
-            }
-            flexarray_append(back, "tapdisk-params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                libxl__device_disk_string_of_format(disk->format),
-                disk->pdev_path));
-
-            /* now create a phy device to export the device to the guest */
-            goto do_backend_phy;
-        case LIBXL_DISK_BACKEND_QDISK:
-            flexarray_append(back, "params");
-            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
-                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
-            rc = ERROR_INVAL;
-            goto out_free;
-    }
-
-    flexarray_append(back, "frontend-id");
-    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
-    flexarray_append(back, "online");
-    flexarray_append(back, "1");
-    flexarray_append(back, "removable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
-    flexarray_append(back, "bootable");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "state");
-    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(back, "dev");
-    flexarray_append(back, disk->vdev);
-    flexarray_append(back, "type");
-    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
-    flexarray_append(back, "mode");
-    flexarray_append(back, disk->readwrite ? "w" : "r");
-    flexarray_append(back, "device-type");
-    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
-
-    flexarray_append(front, "backend-id");
-    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-    flexarray_append(front, "state");
-    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
-    flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
-    flexarray_append(front, "device-type");
-    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
-
-    libxl__device_generic_add(gc, XBT_NULL, &device,
-                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
-                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
-
-    rc = 0;
-
-out_free:
-    flexarray_free(back);
-    flexarray_free(front);
-out:
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 276429c..70a8c4b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,125 @@ out:
     return rc;
 }
 
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
+{
+    flexarray_t *front;
+    flexarray_t *back;
+    char *dev;
+    libxl__device device;
+    int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    front = flexarray_make(16, 1);
+    if (!front) {
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+    back = flexarray_make(16, 1);
+    if (!back) {
+        rc = ERROR_NOMEM;
+        goto out_free;
+    }
+
+    if (disk->script) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
+                   " not yet supported, sorry");
+        rc = ERROR_INVAL;
+        goto out_free;
+    }
+
+    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    if (rc != 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        goto out_free;
+    }
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            dev = disk->pdev_path;
+    do_backend_phy:
+            libxl__device_physdisk_major_minor(dev, &major, &minor);
+            flexarray_append(back, "physical-device");
+            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
+
+            flexarray_append(back, "params");
+            flexarray_append(back, dev);
+
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
+            if (!dev) {
+                LOG(ERROR, "failed to get blktap devpath for %p\n",
+                        disk->pdev_path);
+                rc = ERROR_FAIL;
+                goto out_free;
+            }
+            flexarray_append(back, "tapdisk-params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                libxl__device_disk_string_of_format(disk->format),
+                disk->pdev_path));
+
+            /* now create a phy device to export the device to the guest */
+            goto do_backend_phy;
+        case LIBXL_DISK_BACKEND_QDISK:
+            flexarray_append(back, "params");
+            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
+                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
+            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
+            rc = ERROR_INVAL;
+            goto out_free;
+    }
+
+    flexarray_append(back, "frontend-id");
+    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
+    flexarray_append(back, "online");
+    flexarray_append(back, "1");
+    flexarray_append(back, "removable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
+    flexarray_append(back, "bootable");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "state");
+    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(back, "dev");
+    flexarray_append(back, disk->vdev);
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
+    flexarray_append(back, "mode");
+    flexarray_append(back, disk->readwrite ? "w" : "r");
+    flexarray_append(back, "device-type");
+    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
+
+    flexarray_append(front, "backend-id");
+    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
+    flexarray_append(front, "state");
+    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
+    flexarray_append(front, "virtual-device");
+    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, "device-type");
+    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
+
+    libxl__device_generic_add(gc, t, &device,
+                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
+                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
+
+    rc = 0;
+
+out_free:
+    flexarray_free(back);
+    flexarray_free(front);
+out:
+    return rc;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 3578414..98f9762 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1236,6 +1236,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 
 /*
  * Make a disk available in this (the control) domain. Returns path to
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsl-0001YI-2O; Fri, 18 May 2012 14:10:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsi-0001W0-Nk
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:13 +0000
Received: from [85.158.138.51:24200] by server-11.bemta-3.messagelabs.com id
	12/5B-18894-34856BF4; Fri, 18 May 2012 14:10:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337350207!27800956!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21401 invoked from network); 18 May 2012 14:10:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514929"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-4X; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:42 +0100
Message-ID: <1337350125-30394-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 08/11] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Changes in v6:
- introduce xs_ret for xs_* error codes.

Changes in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by:Ian Campbell <ian.campbell@citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl_internal.c                    |   60 ++++++++++++++++++-----
 3 files changed, 54 insertions(+), 12 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..38ea85a 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 4aef643..d66f7b1 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -482,7 +482,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
-    int rc;
+    int rc, xs_ret;
+    xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
         return NULL;
@@ -526,13 +527,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    xs_ret = xs_transaction_end(ctx->xsh, t, 0);
+                } while (xs_ret == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (xs_ret == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
-                       in_disk->pdev_path);
-            dev = disk->pdev_path;
+                       dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -541,6 +564,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
@@ -548,12 +573,23 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                return libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     return 0;
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsl-0001YI-2O; Fri, 18 May 2012 14:10:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsi-0001W0-Nk
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:13 +0000
Received: from [85.158.138.51:24200] by server-11.bemta-3.messagelabs.com id
	12/5B-18894-34856BF4; Fri, 18 May 2012 14:10:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337350207!27800956!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21401 invoked from network); 18 May 2012 14:10:11 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514929"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-4X; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:42 +0100
Message-ID: <1337350125-30394-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 08/11] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Changes in v6:
- introduce xs_ret for xs_* error codes.

Changes in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by:Ian Campbell <ian.campbell@citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl_internal.c                    |   60 ++++++++++++++++++-----
 3 files changed, 54 insertions(+), 12 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..38ea85a 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 4aef643..d66f7b1 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -482,7 +482,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
-    int rc;
+    int rc, xs_ret;
+    xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
         return NULL;
@@ -526,13 +527,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    xs_ret = xs_transaction_end(ctx->xsh, t, 0);
+                } while (xs_ret == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (xs_ret == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
-                       in_disk->pdev_path);
-            dev = disk->pdev_path;
+                       dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -541,6 +564,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
@@ -548,12 +573,23 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                return libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     return 0;
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsi-0001W2-9E; Fri, 18 May 2012 14:10:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsf-0001Ux-Tf
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:10 +0000
Received: from [193.109.254.147:30323] by server-8.bemta-14.messagelabs.com id
	93/0B-23244-14856BF4; Fri, 18 May 2012 14:10:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24947 invoked from network); 18 May 2012 14:10:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514925"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrK-0005YR-W9; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:36 +0100
Message-ID: <1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 02/11] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_bootloader.c |    6 ++++--
 tools/libxl/libxl_internal.c   |   17 ++++++++++++++---
 tools/libxl/libxl_internal.h   |    4 +++-
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 6563dbd..625c55d 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,9 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->tmpdisk);
+        free(bl->tmpdisk.pdev_path);
+        free(bl->tmpdisk.script);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +332,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->tmpdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc771ff..5e5083b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,13 +323,24 @@ out:
     return rc;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = strdup(in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = strdup(in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -367,8 +378,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
+                       in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 6449615..a9127db 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1238,7 +1238,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1767,6 +1768,7 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    libxl_device_disk tmpdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsk-0001Xp-GX; Fri, 18 May 2012 14:10:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsi-0001W1-LS
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:12 +0000
Received: from [85.158.143.35:21035] by server-1.bemta-4.messagelabs.com id
	D4/5E-00342-44856BF4; Fri, 18 May 2012 14:10:12 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337350208!16065842!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7806 invoked from network); 18 May 2012 14:10:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514924"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-6I; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:43 +0100
Message-ID: <1337350125-30394-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 09/11] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index d66f7b1..a11c75b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -480,9 +480,10 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     char *ret = NULL;
     int rc, xs_ret;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
@@ -563,12 +564,25 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
- out:
-    if (t != XBT_NULL)
-        xs_transaction_end(ctx->xsh, t, 1);
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
+
+ out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsi-0001W2-9E; Fri, 18 May 2012 14:10:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsf-0001Ux-Tf
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:10 +0000
Received: from [193.109.254.147:30323] by server-8.bemta-14.messagelabs.com id
	93/0B-23244-14856BF4; Fri, 18 May 2012 14:10:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24947 invoked from network); 18 May 2012 14:10:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514925"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrK-0005YR-W9; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:36 +0100
Message-ID: <1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 02/11] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_bootloader.c |    6 ++++--
 tools/libxl/libxl_internal.c   |   17 ++++++++++++++---
 tools/libxl/libxl_internal.h   |    4 +++-
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 6563dbd..625c55d 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,9 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->tmpdisk);
+        free(bl->tmpdisk.pdev_path);
+        free(bl->tmpdisk.script);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +332,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->tmpdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc771ff..5e5083b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,13 +323,24 @@ out:
     return rc;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = strdup(in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = strdup(in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -367,8 +378,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
+                       in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 6449615..a9127db 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1238,7 +1238,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1767,6 +1768,7 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    libxl_device_disk tmpdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsk-0001Xp-GX; Fri, 18 May 2012 14:10:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsi-0001W1-LS
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:12 +0000
Received: from [85.158.143.35:21035] by server-1.bemta-4.messagelabs.com id
	D4/5E-00342-44856BF4; Fri, 18 May 2012 14:10:12 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337350208!16065842!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7806 invoked from network); 18 May 2012 14:10:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514924"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-6I; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:43 +0100
Message-ID: <1337350125-30394-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 09/11] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index d66f7b1..a11c75b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -480,9 +480,10 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     char *ret = NULL;
     int rc, xs_ret;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
@@ -563,12 +564,25 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
- out:
-    if (t != XBT_NULL)
-        xs_transaction_end(ctx->xsh, t, 1);
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
+
+ out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsj-0001XH-Mu; Fri, 18 May 2012 14:10:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsh-0001Vm-U8
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:12 +0000
Received: from [85.158.138.51:21579] by server-12.bemta-3.messagelabs.com id
	CD/70-29760-34856BF4; Fri, 18 May 2012 14:10:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337350207!27800956!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21316 invoked from network); 18 May 2012 14:10:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514926"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-27; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:40 +0100
Message-ID: <1337350125-30394-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 06/11] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v6:
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/man/xl.conf.pod.5         |    6 ++++++
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.c   |    3 ++-
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 10 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..149430c 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -84,6 +84,12 @@ previous C<xm> toolstack this can be configured to use the old C<SXP>
 
 Default: C<json>
 
+=item B<blkdev_start="NAME">
+
+Configures the name of the first block device to be used for temporary
+block device allocations by the toolstack.
+The default choice is "xvda".
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 625c55d..d972f40 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -332,7 +332,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->tmpdisk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->tmpdisk,
+            info->blkdev_start);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..9fb4b81 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = libxl__strdup(0, "xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 70a8c4b..f3e816e 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -444,7 +444,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *disk)
+        libxl_device_disk *disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 98f9762..d623c1c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1245,7 +1245,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *new_disk);
+        libxl_device_disk *new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..1b5ab72 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..827f3f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -94,6 +95,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 5d0d504..9055aa4 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -114,6 +114,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5fc5cde..806c003 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -595,6 +595,8 @@ static void parse_config_data(const char *configfile_filename_report,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsg-0001VW-Rb; Fri, 18 May 2012 14:10:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsf-0001Ul-6b
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:09 +0000
Received: from [193.109.254.147:30239] by server-7.bemta-14.messagelabs.com id
	36/B2-01627-04856BF4; Fri, 18 May 2012 14:10:08 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24909 invoked from network); 18 May 2012 14:10:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514922"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrK-0005YR-VT; Fri, 18 May 2012 15:08:46 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:35 +0100
Message-ID: <1337350125-30394-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 01/11] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c            |   77 ----------------------------------------
 tools/libxl/libxl.h            |    7 ----
 tools/libxl/libxl_bootloader.c |    4 +-
 tools/libxl/libxl_internal.c   |   72 +++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    9 +++++
 5 files changed, 83 insertions(+), 86 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..35f6ff9 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1689,83 +1689,6 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    char *dev = NULL;
-    char *ret = NULL;
-    int rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            switch (disk->format) {
-            case LIBXL_DISK_FORMAT_RAW:
-                /* optimise away the early tapdisk attach in this case */
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
-                           " tap disk %s directly (ie without using blktap)",
-                           disk->pdev_path);
-                dev = disk->pdev_path;
-                break;
-            case LIBXL_DISK_FORMAT_VHD:
-                dev = libxl__blktap_devpath(gc, disk->pdev_path,
-                                            disk->format);
-                break;
-            case LIBXL_DISK_FORMAT_QCOW:
-            case LIBXL_DISK_FORMAT_QCOW2:
-                abort(); /* prevented by libxl__device_disk_set_backend */
-            default:
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "unrecognized disk format: %d", disk->format);
-                break;
-            }
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
-            }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
-                "type: %d", disk->backend);
-            break;
-    }
-
- out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    GC_FREE;
-    return ret;
-}
-
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
-    /*
-     * FIXME
-     * This appears to leak the disk in failure paths
-     */
-
-    return 0;
-}
-
 /******************************************************************************/
 
 int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..f79a024 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -679,13 +679,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..6563dbd 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl_device_disk_local_detach(CTX, bl->disk);
+        libxl__device_disk_local_detach(gc, bl->disk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..fc771ff 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,78 @@ out:
     return rc;
 }
 
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = gc->owner;
+    char *dev = NULL;
+    char *ret = NULL;
+    int rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            switch (disk->format) {
+            case LIBXL_DISK_FORMAT_RAW:
+                /* optimise away the early tapdisk attach in this case */
+                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
+                           " tap disk %s directly (ie without using blktap)",
+                           disk->pdev_path);
+                dev = disk->pdev_path;
+                break;
+            case LIBXL_DISK_FORMAT_VHD:
+                dev = libxl__blktap_devpath(gc, disk->pdev_path,
+                                            disk->format);
+                break;
+            case LIBXL_DISK_FORMAT_QCOW:
+            case LIBXL_DISK_FORMAT_QCOW2:
+                abort(); /* prevented by libxl__device_disk_set_backend */
+            default:
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "unrecognized disk format: %d", disk->format);
+                break;
+            }
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
+                           " attach a qdisk image if the format is not raw");
+                break;
+            }
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
+                "type: %d", disk->backend);
+            break;
+    }
+
+ out:
+    if (dev != NULL)
+        ret = strdup(dev);
+    return ret;
+}
+
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    /* Nothing to do for PHYSTYPE_PHY. */
+
+    /*
+     * For other device types assume that the blktap2 process is
+     * needed by the soon to be started domain and do nothing.
+     */
+
+    return 0;
+}
+
 libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
                                                                uint32_t domid)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b2fe8bb..6449615 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1233,6 +1233,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsj-0001XH-Mu; Fri, 18 May 2012 14:10:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsh-0001Vm-U8
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:12 +0000
Received: from [85.158.138.51:21579] by server-12.bemta-3.messagelabs.com id
	CD/70-29760-34856BF4; Fri, 18 May 2012 14:10:11 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337350207!27800956!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21316 invoked from network); 18 May 2012 14:10:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514926"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-27; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:40 +0100
Message-ID: <1337350125-30394-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 06/11] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v6:
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/man/xl.conf.pod.5         |    6 ++++++
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.c   |    3 ++-
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 10 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..149430c 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -84,6 +84,12 @@ previous C<xm> toolstack this can be configured to use the old C<SXP>
 
 Default: C<json>
 
+=item B<blkdev_start="NAME">
+
+Configures the name of the first block device to be used for temporary
+block device allocations by the toolstack.
+The default choice is "xvda".
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 625c55d..d972f40 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -332,7 +332,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->tmpdisk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->tmpdisk,
+            info->blkdev_start);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..9fb4b81 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = libxl__strdup(0, "xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 70a8c4b..f3e816e 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -444,7 +444,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *disk)
+        libxl_device_disk *disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 98f9762..d623c1c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1245,7 +1245,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *new_disk);
+        libxl_device_disk *new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..1b5ab72 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..827f3f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -94,6 +95,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 5d0d504..9055aa4 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -114,6 +114,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5fc5cde..806c003 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -595,6 +595,8 @@ static void parse_config_data(const char *configfile_filename_report,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsg-0001VW-Rb; Fri, 18 May 2012 14:10:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsf-0001Ul-6b
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:09 +0000
Received: from [193.109.254.147:30239] by server-7.bemta-14.messagelabs.com id
	36/B2-01627-04856BF4; Fri, 18 May 2012 14:10:08 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24909 invoked from network); 18 May 2012 14:10:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514922"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrK-0005YR-VT; Fri, 18 May 2012 15:08:46 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:35 +0100
Message-ID: <1337350125-30394-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 01/11] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c            |   77 ----------------------------------------
 tools/libxl/libxl.h            |    7 ----
 tools/libxl/libxl_bootloader.c |    4 +-
 tools/libxl/libxl_internal.c   |   72 +++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    9 +++++
 5 files changed, 83 insertions(+), 86 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..35f6ff9 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1689,83 +1689,6 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    char *dev = NULL;
-    char *ret = NULL;
-    int rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            switch (disk->format) {
-            case LIBXL_DISK_FORMAT_RAW:
-                /* optimise away the early tapdisk attach in this case */
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
-                           " tap disk %s directly (ie without using blktap)",
-                           disk->pdev_path);
-                dev = disk->pdev_path;
-                break;
-            case LIBXL_DISK_FORMAT_VHD:
-                dev = libxl__blktap_devpath(gc, disk->pdev_path,
-                                            disk->format);
-                break;
-            case LIBXL_DISK_FORMAT_QCOW:
-            case LIBXL_DISK_FORMAT_QCOW2:
-                abort(); /* prevented by libxl__device_disk_set_backend */
-            default:
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "unrecognized disk format: %d", disk->format);
-                break;
-            }
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
-            }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
-                "type: %d", disk->backend);
-            break;
-    }
-
- out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    GC_FREE;
-    return ret;
-}
-
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
-    /*
-     * FIXME
-     * This appears to leak the disk in failure paths
-     */
-
-    return 0;
-}
-
 /******************************************************************************/
 
 int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..f79a024 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -679,13 +679,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..6563dbd 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl_device_disk_local_detach(CTX, bl->disk);
+        libxl__device_disk_local_detach(gc, bl->disk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..fc771ff 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,78 @@ out:
     return rc;
 }
 
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = gc->owner;
+    char *dev = NULL;
+    char *ret = NULL;
+    int rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            switch (disk->format) {
+            case LIBXL_DISK_FORMAT_RAW:
+                /* optimise away the early tapdisk attach in this case */
+                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
+                           " tap disk %s directly (ie without using blktap)",
+                           disk->pdev_path);
+                dev = disk->pdev_path;
+                break;
+            case LIBXL_DISK_FORMAT_VHD:
+                dev = libxl__blktap_devpath(gc, disk->pdev_path,
+                                            disk->format);
+                break;
+            case LIBXL_DISK_FORMAT_QCOW:
+            case LIBXL_DISK_FORMAT_QCOW2:
+                abort(); /* prevented by libxl__device_disk_set_backend */
+            default:
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "unrecognized disk format: %d", disk->format);
+                break;
+            }
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
+                           " attach a qdisk image if the format is not raw");
+                break;
+            }
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
+                "type: %d", disk->backend);
+            break;
+    }
+
+ out:
+    if (dev != NULL)
+        ret = strdup(dev);
+    return ret;
+}
+
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    /* Nothing to do for PHYSTYPE_PHY. */
+
+    /*
+     * For other device types assume that the blktap2 process is
+     * needed by the soon to be started domain and do nothing.
+     */
+
+    return 0;
+}
+
 libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
                                                                uint32_t domid)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b2fe8bb..6449615 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1233,6 +1233,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsi-0001WO-MD; Fri, 18 May 2012 14:10:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsg-0001Ux-Qy
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:11 +0000
Received: from [193.109.254.147:43169] by server-8.bemta-14.messagelabs.com id
	37/0B-23244-24856BF4; Fri, 18 May 2012 14:10:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25013 invoked from network); 18 May 2012 14:10:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514928"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-40; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:41 +0100
Message-ID: <1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.

Changes in v6:
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   32 ++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   48 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 90 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index f3e816e..4aef643 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -442,6 +442,38 @@ out:
     return rc;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        devid = libxl__device_disk_dev_number(GCSPRINTF("d%dp0", disk),
+                NULL, NULL);
+        if (devid < 0)
+            return NULL;
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (1);
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d623c1c..c42d4a2 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -78,6 +78,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -904,6 +906,8 @@ static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..02b80b6 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,51 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+
+/* Same as in Linux.
+ * The maximum buffer length is 32 bytes.
+ * The code is safe thanks to the upper bound enforced by the caller. */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, 32);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+	/* arbitrary upper bound */
+	if (offset > 676)
+		return NULL;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        /* overflow cannot happen, thanks to the upper bound */
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsj-0001Wg-3m; Fri, 18 May 2012 14:10:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsh-0001VH-8R
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:11 +0000
Received: from [85.158.138.51:21503] by server-10.bemta-3.messagelabs.com id
	54/01-29478-24856BF4; Fri, 18 May 2012 14:10:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337350207!27800956!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21231 invoked from network); 18 May 2012 14:10:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514927"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-10; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:38 +0100
Message-ID: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 04/11] libxl: move libxl__device_from_disk to
	libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |   40 ----------------------------------------
 tools/libxl/libxl_internal.c |   40 ++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 ++++
 3 files changed, 44 insertions(+), 40 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 64d2dd8..3f53da5 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1281,46 +1281,6 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
-
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
-
-    return 0;
-}
-
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 5e5083b..276429c 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -429,6 +429,46 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid==-1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
+                       disk->backend);
+            return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index cb5393d..3578414 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1233,6 +1233,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsj-0001Wg-3m; Fri, 18 May 2012 14:10:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsh-0001VH-8R
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:11 +0000
Received: from [85.158.138.51:21503] by server-10.bemta-3.messagelabs.com id
	54/01-29478-24856BF4; Fri, 18 May 2012 14:10:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337350207!27800956!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21231 invoked from network); 18 May 2012 14:10:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514927"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-10; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:38 +0100
Message-ID: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 04/11] libxl: move libxl__device_from_disk to
	libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |   40 ----------------------------------------
 tools/libxl/libxl_internal.c |   40 ++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 ++++
 3 files changed, 44 insertions(+), 40 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 64d2dd8..3f53da5 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1281,46 +1281,6 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
-                                   libxl_device_disk *disk,
-                                   libxl__device *device)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int devid;
-
-    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
-    if (devid==-1) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
-               " virtual disk identifier %s", disk->vdev);
-        return ERROR_INVAL;
-    }
-
-    device->backend_domid = disk->backend_domid;
-    device->backend_devid = devid;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
-                       disk->backend);
-            return ERROR_INVAL;
-    }
-
-    device->domid = domid;
-    device->devid = devid;
-    device->kind  = LIBXL__DEVICE_KIND_VBD;
-
-    return 0;
-}
-
 int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 5e5083b..276429c 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -429,6 +429,46 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int devid;
+
+    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
+    if (devid==-1) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
+               " virtual disk identifier %s", disk->vdev);
+        return ERROR_INVAL;
+    }
+
+    device->backend_domid = disk->backend_domid;
+    device->backend_devid = devid;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
+                       disk->backend);
+            return ERROR_INVAL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+    device->kind  = LIBXL__DEVICE_KIND_VBD;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index cb5393d..3578414 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1233,6 +1233,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:10:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVNsi-0001WO-MD; Fri, 18 May 2012 14:10:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVNsg-0001Ux-Qy
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:10:11 +0000
Received: from [193.109.254.147:43169] by server-8.bemta-14.messagelabs.com id
	37/0B-23244-24856BF4; Fri, 18 May 2012 14:10:10 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337350205!4812259!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25013 invoked from network); 18 May 2012 14:10:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:10:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195514928"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:08:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:08:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-40; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:41 +0100
Message-ID: <1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.

Changes in v6:
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   32 ++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   48 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 90 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index f3e816e..4aef643 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -442,6 +442,38 @@ out:
     return rc;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        devid = libxl__device_disk_dev_number(GCSPRINTF("d%dp0", disk),
+                NULL, NULL);
+        if (devid < 0)
+            return NULL;
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (1);
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d623c1c..c42d4a2 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -78,6 +78,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -904,6 +906,8 @@ static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..02b80b6 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,51 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+
+/* Same as in Linux.
+ * The maximum buffer length is 32 bytes.
+ * The code is safe thanks to the upper bound enforced by the caller. */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, 32);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+	/* arbitrary upper bound */
+	if (offset > 676)
+		return NULL;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        /* overflow cannot happen, thanks to the upper bound */
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:20:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:20:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVO2N-00036X-CU; Fri, 18 May 2012 14:20:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVO2L-00036S-Qj
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:20:09 +0000
Received: from [85.158.138.51:58118] by server-10.bemta-3.messagelabs.com id
	DC/38-29478-99A56BF4; Fri, 18 May 2012 14:20:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337350806!27912286!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24972 invoked from network); 18 May 2012 14:20:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:20:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195517001"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:19:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:19:38 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-8Z; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:45 +0100
Message-ID: <1337350125-30394-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 11/11] main_blockdetach: destroy the disk on
	successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

main_blockdetach needs to call libxl_device_disk_destroy so that all the
disk related entries are properly removed from xenstore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 806c003..5a4a7f5 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5144,7 +5144,8 @@ int main_blockdetach(int argc, char **argv)
     }
     if (libxl_device_disk_remove(ctx, domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_remove failed.\n");
-    }
+    } else
+        libxl_device_disk_destroy(ctx, domid, &disk);
     return 0;
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:20:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:20:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVO2N-00036X-CU; Fri, 18 May 2012 14:20:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SVO2L-00036S-Qj
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:20:09 +0000
Received: from [85.158.138.51:58118] by server-10.bemta-3.messagelabs.com id
	DC/38-29478-99A56BF4; Fri, 18 May 2012 14:20:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337350806!27912286!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24972 invoked from network); 18 May 2012 14:20:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:20:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195517001"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:19:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:19:38 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SVNrL-0005YR-8Z; Fri, 18 May 2012 15:08:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 18 May 2012 15:08:45 +0100
Message-ID: <1337350125-30394-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v6 11/11] main_blockdetach: destroy the disk on
	successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

main_blockdetach needs to call libxl_device_disk_destroy so that all the
disk related entries are properly removed from xenstore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 806c003..5a4a7f5 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5144,7 +5144,8 @@ int main_blockdetach(int argc, char **argv)
     }
     if (libxl_device_disk_remove(ctx, domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_remove failed.\n");
-    }
+    } else
+        libxl_device_disk_destroy(ctx, domid, &disk);
     return 0;
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:23:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:23:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVO5n-0003Dp-5L; Fri, 18 May 2012 14:23:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVO5l-0003Dj-G9
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:23:41 +0000
Received: from [85.158.143.99:3480] by server-3.bemta-4.messagelabs.com id
	16/0F-05853-C6B56BF4; Fri, 18 May 2012 14:23:40 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337351018!25288314!1
X-Originating-IP: [216.32.181.186]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5656 invoked from network); 18 May 2012 14:23:39 -0000
Received: from ch1ehsobe006.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.186)
	by server-7.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 14:23:39 -0000
Received: from mail39-ch1-R.bigfish.com (10.43.68.245) by
	CH1EHSOBE004.bigfish.com (10.43.70.54) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:23:28 +0000
Received: from mail39-ch1 (localhost [127.0.0.1])	by mail39-ch1-R.bigfish.com
	(Postfix) with ESMTP id 197A5807A1;
	Fri, 18 May 2012 14:23:28 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail39-ch1 (localhost.localdomain [127.0.0.1]) by mail39-ch1
	(MessageSwitch) id 1337351006254520_25304;
	Fri, 18 May 2012 14:23:26 +0000 (UTC)
Received: from CH1EHSMHS023.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.244])	by mail39-ch1.bigfish.com (Postfix) with ESMTP id
	30092E015C; Fri, 18 May 2012 14:23:26 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS023.bigfish.com (10.43.70.23) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:23:25 +0000
X-WSS-ID: 0M482N8-02-4Q4-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B1C1C807F;	Fri, 18 May 2012 09:23:31 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 09:30:21 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 09:23:31 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	10:23:30 -0400
Message-ID: <4FB65B61.7000902@amd.com>
Date: Fri, 18 May 2012 16:23:29 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337347821.22316.122.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 15:30, Ian Campbell wrote:

> On Fri, 2012-05-18 at 14:17 +0100, Christoph Egger wrote:
>> Hi,
>>
>> I am currently using c/s 25371:e9058654ca08.
>> When I try to start a HVM guest I get this failure:
>>
>>
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>> dompath for 1: Bad file descriptor
> 
> This is on NetBSD?


Yes.

> 
> These sorts of symptoms are similar to those fixed by 25364:8dce7a4121b9
> but you've already got that. It might be worth doing a full clean and
> rebuild, just in case.


This is a clean build.

 
> What does your guest config look like?


builder='hvm'
memory=4096
nestedhvm=1
name="guest"
vcpus=4
cpuid="host,page1gb=k,hypervisor=0"
acpi=1
apic=1
vif = [ 'type=ioemu, bridge=bridge0, model=e1000' ]
disk = [ 'file:/hvm-guest/guest.img,ioemu:hda,w' ]
serial='pty'
vnc=1
sdl=0

> What is your command line?

xl create -c guest.conf

 
> Do you know when it last worked?


Changeset 24462 worked. I need to bisect the exact
changeset.

 
> The places which close ctx->xsh are very few -- might be worth
> annotating any call to xs_daemon_close() with a printf. 


ok.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:23:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:23:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVO5n-0003Dp-5L; Fri, 18 May 2012 14:23:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVO5l-0003Dj-G9
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:23:41 +0000
Received: from [85.158.143.99:3480] by server-3.bemta-4.messagelabs.com id
	16/0F-05853-C6B56BF4; Fri, 18 May 2012 14:23:40 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337351018!25288314!1
X-Originating-IP: [216.32.181.186]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5656 invoked from network); 18 May 2012 14:23:39 -0000
Received: from ch1ehsobe006.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.186)
	by server-7.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 14:23:39 -0000
Received: from mail39-ch1-R.bigfish.com (10.43.68.245) by
	CH1EHSOBE004.bigfish.com (10.43.70.54) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:23:28 +0000
Received: from mail39-ch1 (localhost [127.0.0.1])	by mail39-ch1-R.bigfish.com
	(Postfix) with ESMTP id 197A5807A1;
	Fri, 18 May 2012 14:23:28 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail39-ch1 (localhost.localdomain [127.0.0.1]) by mail39-ch1
	(MessageSwitch) id 1337351006254520_25304;
	Fri, 18 May 2012 14:23:26 +0000 (UTC)
Received: from CH1EHSMHS023.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.244])	by mail39-ch1.bigfish.com (Postfix) with ESMTP id
	30092E015C; Fri, 18 May 2012 14:23:26 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS023.bigfish.com (10.43.70.23) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 14:23:25 +0000
X-WSS-ID: 0M482N8-02-4Q4-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B1C1C807F;	Fri, 18 May 2012 09:23:31 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 09:30:21 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 09:23:31 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	10:23:30 -0400
Message-ID: <4FB65B61.7000902@amd.com>
Date: Fri, 18 May 2012 16:23:29 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337347821.22316.122.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 15:30, Ian Campbell wrote:

> On Fri, 2012-05-18 at 14:17 +0100, Christoph Egger wrote:
>> Hi,
>>
>> I am currently using c/s 25371:e9058654ca08.
>> When I try to start a HVM guest I get this failure:
>>
>>
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>> dompath for 1: Bad file descriptor
> 
> This is on NetBSD?


Yes.

> 
> These sorts of symptoms are similar to those fixed by 25364:8dce7a4121b9
> but you've already got that. It might be worth doing a full clean and
> rebuild, just in case.


This is a clean build.

 
> What does your guest config look like?


builder='hvm'
memory=4096
nestedhvm=1
name="guest"
vcpus=4
cpuid="host,page1gb=k,hypervisor=0"
acpi=1
apic=1
vif = [ 'type=ioemu, bridge=bridge0, model=e1000' ]
disk = [ 'file:/hvm-guest/guest.img,ioemu:hda,w' ]
serial='pty'
vnc=1
sdl=0

> What is your command line?

xl create -c guest.conf

 
> Do you know when it last worked?


Changeset 24462 worked. I need to bisect the exact
changeset.

 
> The places which close ctx->xsh are very few -- might be worth
> annotating any call to xs_daemon_close() with a printf. 


ok.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:26:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:26:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVO8P-0003N1-SZ; Fri, 18 May 2012 14:26:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVO8N-0003Mw-MX
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:26:23 +0000
Received: from [193.109.254.147:4648] by server-2.bemta-14.messagelabs.com id
	E0/1D-19409-F0C56BF4; Fri, 18 May 2012 14:26:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337351179!9984733!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8487 invoked from network); 18 May 2012 14:26:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:26:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552220"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:26:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:26:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVO8J-0000tX-BO; Fri, 18 May 2012 14:26:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVO8J-0000rf-AA;
	Fri, 18 May 2012 15:26:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.23563.260863.824267@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:26:19 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-1-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 01/11] libxl: make
 libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 01/11] libxl: make libxl_device_disk_local_attach/detach internal functions"):
> Changes in v5:
> 
> - remove _hidden from the implementation.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:26:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:26:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVO8P-0003N1-SZ; Fri, 18 May 2012 14:26:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVO8N-0003Mw-MX
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:26:23 +0000
Received: from [193.109.254.147:4648] by server-2.bemta-14.messagelabs.com id
	E0/1D-19409-F0C56BF4; Fri, 18 May 2012 14:26:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337351179!9984733!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8487 invoked from network); 18 May 2012 14:26:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:26:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552220"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:26:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:26:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVO8J-0000tX-BO; Fri, 18 May 2012 14:26:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVO8J-0000rf-AA;
	Fri, 18 May 2012 15:26:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.23563.260863.824267@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:26:19 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-1-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 01/11] libxl: make
 libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 01/11] libxl: make libxl_device_disk_local_attach/detach internal functions"):
> Changes in v5:
> 
> - remove _hidden from the implementation.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:31:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOCm-0003id-9f; Fri, 18 May 2012 14:30:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVOCl-0003iU-42
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:30:55 +0000
Received: from [85.158.143.35:56120] by server-1.bemta-4.messagelabs.com id
	87/62-00342-E1D56BF4; Fri, 18 May 2012 14:30:54 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337351452!12807110!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21024 invoked from network); 18 May 2012 14:30:53 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-12.tower-21.messagelabs.com with SMTP;
	18 May 2012 14:30:53 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77987391; Fri, 18 May 2012 16:30:51 +0200
Message-ID: <1337351445.16815.19.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 16:30:45 +0200
In-Reply-To: <4FB63EB6.10803@amd.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5957117616977842033=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5957117616977842033==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-sMxQLsHZkWWuAEJ0M1pw"


--=-sMxQLsHZkWWuAEJ0M1pw
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-18 at 14:21 +0200, Christoph Egger wrote:
> Introduce LIBXL_DOMAIN_TYPE_INVALID.
> Change libxl__domain_type() to return LIBXL_DOMAIN_TYPE_INVALID rather
> hardcoding -1.
> Adjust code pieces where gcc 4.5.3 claims that LIBXL_DOMAIN_TYPE_INVALID
> is not handled.
>=20
> This fixes the build error with gcc 4.5.3 reported here:
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg01269.html
>=20
I was also running into that error and thus I applied this patch, which
brought me here:

libxl.c: In function =E2=80=98libxl_primary_console_exec=E2=80=99:
libxl.c:1233:14: error: =E2=80=98LIBXL_DOMAIN_TYPE_INVALID=E2=80=99 undecla=
red (first use in this function)
libxl.c:1233:14: note: each undeclared identifier is reported only once for=
 each function it appears in

Which actually seems to be right:

$ grep LIBXL_DOMAIN_TYPE_INVALID tools/* -R
tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
tools/libxl/libxl.c:        case LIBXL_DOMAIN_TYPE_INVALID:

Am I missing something?

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-sMxQLsHZkWWuAEJ0M1pw
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2XRUACgkQk4XaBE3IOsTKNgCgmOx9w4xldLg3VP5j7q8gtMZi
CrAAoKDPe19OOTE7GZOv8tsGnKJEV7pl
=ne0E
-----END PGP SIGNATURE-----

--=-sMxQLsHZkWWuAEJ0M1pw--



--===============5957117616977842033==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5957117616977842033==--



From xen-devel-bounces@lists.xen.org Fri May 18 14:31:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOCm-0003id-9f; Fri, 18 May 2012 14:30:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVOCl-0003iU-42
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:30:55 +0000
Received: from [85.158.143.35:56120] by server-1.bemta-4.messagelabs.com id
	87/62-00342-E1D56BF4; Fri, 18 May 2012 14:30:54 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337351452!12807110!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21024 invoked from network); 18 May 2012 14:30:53 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-12.tower-21.messagelabs.com with SMTP;
	18 May 2012 14:30:53 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77987391; Fri, 18 May 2012 16:30:51 +0200
Message-ID: <1337351445.16815.19.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 16:30:45 +0200
In-Reply-To: <4FB63EB6.10803@amd.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5957117616977842033=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5957117616977842033==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-sMxQLsHZkWWuAEJ0M1pw"


--=-sMxQLsHZkWWuAEJ0M1pw
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-18 at 14:21 +0200, Christoph Egger wrote:
> Introduce LIBXL_DOMAIN_TYPE_INVALID.
> Change libxl__domain_type() to return LIBXL_DOMAIN_TYPE_INVALID rather
> hardcoding -1.
> Adjust code pieces where gcc 4.5.3 claims that LIBXL_DOMAIN_TYPE_INVALID
> is not handled.
>=20
> This fixes the build error with gcc 4.5.3 reported here:
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg01269.html
>=20
I was also running into that error and thus I applied this patch, which
brought me here:

libxl.c: In function =E2=80=98libxl_primary_console_exec=E2=80=99:
libxl.c:1233:14: error: =E2=80=98LIBXL_DOMAIN_TYPE_INVALID=E2=80=99 undecla=
red (first use in this function)
libxl.c:1233:14: note: each undeclared identifier is reported only once for=
 each function it appears in

Which actually seems to be right:

$ grep LIBXL_DOMAIN_TYPE_INVALID tools/* -R
tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
tools/libxl/libxl.c:        case LIBXL_DOMAIN_TYPE_INVALID:

Am I missing something?

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-sMxQLsHZkWWuAEJ0M1pw
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2XRUACgkQk4XaBE3IOsTKNgCgmOx9w4xldLg3VP5j7q8gtMZi
CrAAoKDPe19OOTE7GZOv8tsGnKJEV7pl
=ne0E
-----END PGP SIGNATURE-----

--=-sMxQLsHZkWWuAEJ0M1pw--



--===============5957117616977842033==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5957117616977842033==--



From xen-devel-bounces@lists.xen.org Fri May 18 14:34:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:34:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOFd-0003zf-Hf; Fri, 18 May 2012 14:33:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOFc-0003zS-DA
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:33:52 +0000
Received: from [85.158.143.99:41418] by server-2.bemta-4.messagelabs.com id
	4B/3B-12211-FCD56BF4; Fri, 18 May 2012 14:33:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337351627!28107296!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13309 invoked from network); 18 May 2012 14:33:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:33:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552397"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:33:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:33:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOFW-0000wI-AZ; Fri, 18 May 2012 14:33:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOFW-0000sK-9l;
	Fri, 18 May 2012 15:33:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24010.290055.700640@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:33:46 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.

In this declaration:

> @@ -1767,6 +1768,7 @@ struct libxl__bootloader_state {
>      libxl__bootloader_console_callback *console_available;
>      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
>      libxl_device_disk *disk;
> +    libxl_device_disk tmpdisk;
>      uint32_t domid;

We need information about what this "tmpdisk" is.  All of the other
parameters here are input parameters, except as otherwise noted in the
comment.

Also I'm not convinced that "tmpdisk" is quite the right name.  You
also need to explain the distinction between "disk" and "tmpdisk".

Perhaps:

   const libxl_device_disk *disk; /* as specified by user */
   libxl_device_disk localdisk;
      /* Should be zeroed by caller on entry.  Will be filled in by
       * bootloader machinery; represents the local attachment of the
       * disk for the benefit of the bootloader.  Must be detached by
       * the caller using libxl__device_disk_local_detach, but only
       * after the domain's kernel and initramfs have been loaded into
       * memory and the file references disposed of. */

?

The implementation looks sane.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:34:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:34:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOFd-0003zf-Hf; Fri, 18 May 2012 14:33:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOFc-0003zS-DA
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:33:52 +0000
Received: from [85.158.143.99:41418] by server-2.bemta-4.messagelabs.com id
	4B/3B-12211-FCD56BF4; Fri, 18 May 2012 14:33:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337351627!28107296!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13309 invoked from network); 18 May 2012 14:33:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:33:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552397"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:33:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:33:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOFW-0000wI-AZ; Fri, 18 May 2012 14:33:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOFW-0000sK-9l;
	Fri, 18 May 2012 15:33:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24010.290055.700640@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:33:46 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.

In this declaration:

> @@ -1767,6 +1768,7 @@ struct libxl__bootloader_state {
>      libxl__bootloader_console_callback *console_available;
>      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
>      libxl_device_disk *disk;
> +    libxl_device_disk tmpdisk;
>      uint32_t domid;

We need information about what this "tmpdisk" is.  All of the other
parameters here are input parameters, except as otherwise noted in the
comment.

Also I'm not convinced that "tmpdisk" is quite the right name.  You
also need to explain the distinction between "disk" and "tmpdisk".

Perhaps:

   const libxl_device_disk *disk; /* as specified by user */
   libxl_device_disk localdisk;
      /* Should be zeroed by caller on entry.  Will be filled in by
       * bootloader machinery; represents the local attachment of the
       * disk for the benefit of the bootloader.  Must be detached by
       * the caller using libxl__device_disk_local_detach, but only
       * after the domain's kernel and initramfs have been loaded into
       * memory and the file references disposed of. */

?

The implementation looks sane.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:35:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOGV-00048Y-45; Fri, 18 May 2012 14:34:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOGT-00048I-Gx
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:34:45 +0000
Received: from [85.158.138.51:9503] by server-11.bemta-3.messagelabs.com id
	F3/34-18894-40E56BF4; Fri, 18 May 2012 14:34:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337351684!19804308!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6176 invoked from network); 18 May 2012 14:34:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:34:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552414"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:34:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:34:43 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOGR-0000wg-If; Fri, 18 May 2012 14:34:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOGR-0000sP-Hv;
	Fri, 18 May 2012 15:34:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24067.538353.220748@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:34:43 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 04/11] libxl: move libxl__device_from_disk to libxl_internal.c"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:35:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOGV-00048Y-45; Fri, 18 May 2012 14:34:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOGT-00048I-Gx
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:34:45 +0000
Received: from [85.158.138.51:9503] by server-11.bemta-3.messagelabs.com id
	F3/34-18894-40E56BF4; Fri, 18 May 2012 14:34:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337351684!19804308!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6176 invoked from network); 18 May 2012 14:34:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:34:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552414"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:34:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:34:43 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOGR-0000wg-If; Fri, 18 May 2012 14:34:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOGR-0000sP-Hv;
	Fri, 18 May 2012 15:34:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24067.538353.220748@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:34:43 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 04/11] libxl: move libxl__device_from_disk to libxl_internal.c"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:36:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOI6-0004PL-KI; Fri, 18 May 2012 14:36:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOI5-0004P6-So
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:36:25 +0000
Received: from [85.158.143.99:54546] by server-1.bemta-4.messagelabs.com id
	7A/AB-00342-96E56BF4; Fri, 18 May 2012 14:36:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337351784!27769339!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22440 invoked from network); 18 May 2012 14:36:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:36:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552458"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:36:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:36:24 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOI3-0000xH-VB; Fri, 18 May 2012 14:36:23 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOI3-0000sT-UN;
	Fri, 18 May 2012 15:36:23 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24167.894794.935567@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:36:23 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.

Can't this be done in such a way that the diff isn't "delete this
function completely" followed by "here is a new function" ?

I don't really understand why you want to move the function at all,
TBH.  I think keeping the public wrapper and the internal
implementation together is fine.  There is no need IMO to move the
internal function to libxl_internal.c.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:36:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOI6-0004PL-KI; Fri, 18 May 2012 14:36:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOI5-0004P6-So
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:36:25 +0000
Received: from [85.158.143.99:54546] by server-1.bemta-4.messagelabs.com id
	7A/AB-00342-96E56BF4; Fri, 18 May 2012 14:36:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337351784!27769339!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22440 invoked from network); 18 May 2012 14:36:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:36:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552458"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:36:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:36:24 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOI3-0000xH-VB; Fri, 18 May 2012 14:36:23 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOI3-0000sT-UN;
	Fri, 18 May 2012 15:36:23 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24167.894794.935567@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:36:23 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.

Can't this be done in such a way that the diff isn't "delete this
function completely" followed by "here is a new function" ?

I don't really understand why you want to move the function at all,
TBH.  I think keeping the public wrapper and the internal
implementation together is fine.  There is no need IMO to move the
internal function to libxl_internal.c.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:40:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:40:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOLU-0004gk-8a; Fri, 18 May 2012 14:39:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOLS-0004gd-PJ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:39:55 +0000
Received: from [85.158.138.51:27029] by server-8.bemta-3.messagelabs.com id
	4F/39-24428-A3F56BF4; Fri, 18 May 2012 14:39:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337351992!18944540!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20672 invoked from network); 18 May 2012 14:39:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:39:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552507"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:39:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 15:39:40 +0100
Message-ID: <1337351979.22316.123.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 18 May 2012 15:39:39 +0100
In-Reply-To: <1337351445.16815.19.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTE4IGF0IDE1OjMwICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBPbiBGcmksIDIwMTItMDUtMTggYXQgMTQ6MjEgKzAyMDAsIENocmlzdG9waCBFZ2dlciB3cm90
ZToKPiA+IEludHJvZHVjZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElELgo+ID4gQ2hhbmdlIGxp
YnhsX19kb21haW5fdHlwZSgpIHRvIHJldHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEIHJh
dGhlcgo+ID4gaGFyZGNvZGluZyAtMS4KPiA+IEFkanVzdCBjb2RlIHBpZWNlcyB3aGVyZSBnY2Mg
NC41LjMgY2xhaW1zIHRoYXQgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRAo+ID4gaXMgbm90IGhh
bmRsZWQuCj4gPiAKPiA+IFRoaXMgZml4ZXMgdGhlIGJ1aWxkIGVycm9yIHdpdGggZ2NjIDQuNS4z
IHJlcG9ydGVkIGhlcmU6Cj4gPiBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hl
bi1kZXZlbC8yMDEyLTA1L21zZzAxMjY5Lmh0bWwKPiA+IAo+IEkgd2FzIGFsc28gcnVubmluZyBp
bnRvIHRoYXQgZXJyb3IgYW5kIHRodXMgSSBhcHBsaWVkIHRoaXMgcGF0Y2gsIHdoaWNoCj4gYnJv
dWdodCBtZSBoZXJlOgo+IAo+IGxpYnhsLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzoxNDogZXJyb3I6IOKAmExJQlhMX0RPTUFJ
Tl9UWVBFX0lOVkFMSUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p
Cj4gbGlieGwuYzoxMjMzOjE0OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyBy
ZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgo+IAo+IFdo
aWNoIGFjdHVhbGx5IHNlZW1zIHRvIGJlIHJpZ2h0Ogo+IAo+ICQgZ3JlcCBMSUJYTF9ET01BSU5f
VFlQRV9JTlZBTElEIHRvb2xzLyogLVIKPiB0b29scy9saWJ4bC9saWJ4bF9kbS5jOiAgICBjYXNl
IExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gdG9vbHMvbGlieGwvbGlieGxfZG0uYzogICAg
Y2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+IHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5j
OiAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ7Cj4gdG9vbHMvbGlieGwv
bGlieGxfZG9tLmM6ICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKPiB0
b29scy9saWJ4bC9saWJ4bC5jOiAgICAgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElE
Ogo+IAo+IEFtIEkgbWlzc2luZyBzb21ldGhpbmc/CgpUaGlzIHNob3VsZCBiZSBkZWZpbmVkIGlu
IHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBidXQgdGhlIHBhdGNoCmRvZXNuJ3Qgc2VlbSB0
byBhZGQgaXQuCgpJYW4uCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 18 14:40:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:40:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOLU-0004gk-8a; Fri, 18 May 2012 14:39:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOLS-0004gd-PJ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:39:55 +0000
Received: from [85.158.138.51:27029] by server-8.bemta-3.messagelabs.com id
	4F/39-24428-A3F56BF4; Fri, 18 May 2012 14:39:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337351992!18944540!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20672 invoked from network); 18 May 2012 14:39:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:39:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552507"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:39:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 15:39:40 +0100
Message-ID: <1337351979.22316.123.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 18 May 2012 15:39:39 +0100
In-Reply-To: <1337351445.16815.19.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTE4IGF0IDE1OjMwICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBPbiBGcmksIDIwMTItMDUtMTggYXQgMTQ6MjEgKzAyMDAsIENocmlzdG9waCBFZ2dlciB3cm90
ZToKPiA+IEludHJvZHVjZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElELgo+ID4gQ2hhbmdlIGxp
YnhsX19kb21haW5fdHlwZSgpIHRvIHJldHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEIHJh
dGhlcgo+ID4gaGFyZGNvZGluZyAtMS4KPiA+IEFkanVzdCBjb2RlIHBpZWNlcyB3aGVyZSBnY2Mg
NC41LjMgY2xhaW1zIHRoYXQgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRAo+ID4gaXMgbm90IGhh
bmRsZWQuCj4gPiAKPiA+IFRoaXMgZml4ZXMgdGhlIGJ1aWxkIGVycm9yIHdpdGggZ2NjIDQuNS4z
IHJlcG9ydGVkIGhlcmU6Cj4gPiBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hl
bi1kZXZlbC8yMDEyLTA1L21zZzAxMjY5Lmh0bWwKPiA+IAo+IEkgd2FzIGFsc28gcnVubmluZyBp
bnRvIHRoYXQgZXJyb3IgYW5kIHRodXMgSSBhcHBsaWVkIHRoaXMgcGF0Y2gsIHdoaWNoCj4gYnJv
dWdodCBtZSBoZXJlOgo+IAo+IGxpYnhsLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzoxNDogZXJyb3I6IOKAmExJQlhMX0RPTUFJ
Tl9UWVBFX0lOVkFMSUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p
Cj4gbGlieGwuYzoxMjMzOjE0OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyBy
ZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgo+IAo+IFdo
aWNoIGFjdHVhbGx5IHNlZW1zIHRvIGJlIHJpZ2h0Ogo+IAo+ICQgZ3JlcCBMSUJYTF9ET01BSU5f
VFlQRV9JTlZBTElEIHRvb2xzLyogLVIKPiB0b29scy9saWJ4bC9saWJ4bF9kbS5jOiAgICBjYXNl
IExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gdG9vbHMvbGlieGwvbGlieGxfZG0uYzogICAg
Y2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+IHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5j
OiAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ7Cj4gdG9vbHMvbGlieGwv
bGlieGxfZG9tLmM6ICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKPiB0
b29scy9saWJ4bC9saWJ4bC5jOiAgICAgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElE
Ogo+IAo+IEFtIEkgbWlzc2luZyBzb21ldGhpbmc/CgpUaGlzIHNob3VsZCBiZSBkZWZpbmVkIGlu
IHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBidXQgdGhlIHBhdGNoCmRvZXNuJ3Qgc2VlbSB0
byBhZGQgaXQuCgpJYW4uCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 18 14:40:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:40:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOMD-0004m3-BB; Fri, 18 May 2012 14:40:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOMB-0004ll-Sp
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:40:40 +0000
Received: from [85.158.138.51:38874] by server-7.bemta-3.messagelabs.com id
	2C/F3-03078-76F56BF4; Fri, 18 May 2012 14:40:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337352036!27840860!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18027 invoked from network); 18 May 2012 14:40:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:40:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552541"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:40:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:40:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOM7-0000yZ-Sk; Fri, 18 May 2012 14:40:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOM7-0000sd-Rp;
	Fri, 18 May 2012 15:40:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24419.849941.504507@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:40:35 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
...
> +/* Same as in Linux.
> + * The maximum buffer length is 32 bytes.
> + * The code is safe thanks to the upper bound enforced by the caller. */
> +static char *encode_disk_name(char *ptr, unsigned int n)

So this says that encode_disk_name may use up to 32 bytes in *ptr
(including or excluding the trailing nul?)

_Why_ may the maximum buffer length used be 32 bytes ?  Also, "maximum
buffer length" is a confusing phrase because it seems to refer to the
/actual/ length of the buffer rather than the amount /used/.

And this...

> +    char *ret = libxl__zalloc(gc, 32);

... allocates a 32 byte buffer which we then fill with ...

> +    strcpy(ret, "xvd");
> +    ptr = encode_disk_name(ret + 3, offset);

3 characters plus the encoded disk name.  So possibly using up to 36
bytes.

In fact it seems to me that there could be a much tighter upper bound
on the length of output of encode_disk_name (based on arithmetic) but
it needs to be properly calculated and documented and perhaps put in a
#define.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:40:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:40:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOMD-0004m3-BB; Fri, 18 May 2012 14:40:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOMB-0004ll-Sp
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:40:40 +0000
Received: from [85.158.138.51:38874] by server-7.bemta-3.messagelabs.com id
	2C/F3-03078-76F56BF4; Fri, 18 May 2012 14:40:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337352036!27840860!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18027 invoked from network); 18 May 2012 14:40:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:40:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552541"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:40:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:40:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOM7-0000yZ-Sk; Fri, 18 May 2012 14:40:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOM7-0000sd-Rp;
	Fri, 18 May 2012 15:40:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24419.849941.504507@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:40:35 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
...
> +/* Same as in Linux.
> + * The maximum buffer length is 32 bytes.
> + * The code is safe thanks to the upper bound enforced by the caller. */
> +static char *encode_disk_name(char *ptr, unsigned int n)

So this says that encode_disk_name may use up to 32 bytes in *ptr
(including or excluding the trailing nul?)

_Why_ may the maximum buffer length used be 32 bytes ?  Also, "maximum
buffer length" is a confusing phrase because it seems to refer to the
/actual/ length of the buffer rather than the amount /used/.

And this...

> +    char *ret = libxl__zalloc(gc, 32);

... allocates a 32 byte buffer which we then fill with ...

> +    strcpy(ret, "xvd");
> +    ptr = encode_disk_name(ret + 3, offset);

3 characters plus the encoded disk name.  So possibly using up to 36
bytes.

In fact it seems to me that there could be a much tighter upper bound
on the length of output of encode_disk_name (based on arithmetic) but
it needs to be properly calculated and documented and perhaps put in a
#define.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:42:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:42:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVONZ-00050b-TE; Fri, 18 May 2012 14:42:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVONY-00050N-L8
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:42:04 +0000
Received: from [193.109.254.147:42737] by server-9.bemta-14.messagelabs.com id
	91/08-05787-BBF56BF4; Fri, 18 May 2012 14:42:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337352123!9277942!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17496 invoked from network); 18 May 2012 14:42:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:42:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552619"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:42:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:42:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVONW-0000z0-GA; Fri, 18 May 2012 14:42:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVONW-0000t3-FD;
	Fri, 18 May 2012 15:42:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24506.304207.657696@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:42:02 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-8-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 08/11] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 08/11] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> - Spawn a QEMU instance at boot time to handle disk local attach
> requests.

> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by:Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:42:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:42:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVONZ-00050b-TE; Fri, 18 May 2012 14:42:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVONY-00050N-L8
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:42:04 +0000
Received: from [193.109.254.147:42737] by server-9.bemta-14.messagelabs.com id
	91/08-05787-BBF56BF4; Fri, 18 May 2012 14:42:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337352123!9277942!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17496 invoked from network); 18 May 2012 14:42:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:42:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552619"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:42:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:42:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVONW-0000z0-GA; Fri, 18 May 2012 14:42:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVONW-0000t3-FD;
	Fri, 18 May 2012 15:42:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24506.304207.657696@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:42:02 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-8-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 08/11] xl/libxl: implement QDISK
 libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 08/11] xl/libxl: implement QDISK libxl_device_disk_local_attach"):
> - Spawn a QEMU instance at boot time to handle disk local attach
> requests.

> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by:Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:42:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:42:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVONv-00055M-AF; Fri, 18 May 2012 14:42:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVONt-00054z-HG
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:42:25 +0000
Received: from [85.158.143.35:31213] by server-1.bemta-4.messagelabs.com id
	93/E6-00342-0DF56BF4; Fri, 18 May 2012 14:42:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337352144!12906152!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14971 invoked from network); 18 May 2012 14:42:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:42:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552632"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:42:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 15:42:24 +0100
Message-ID: <1337352142.22316.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 15:42:22 +0100
In-Reply-To: <20406.24167.894794.935567@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 15:36 +0100, Ian Jackson wrote:
> There is no need IMO to move the
> internal function to libxl_internal.c. 

I've always thought the existence libxl_internal.c was just begging for
people to group functions along the wrong criteria anyway...

The whole concept of what lives where inside tools/libxl/libxl*.c is all
pretty ad-hoc anyway.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:42:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:42:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVONv-00055M-AF; Fri, 18 May 2012 14:42:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVONt-00054z-HG
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:42:25 +0000
Received: from [85.158.143.35:31213] by server-1.bemta-4.messagelabs.com id
	93/E6-00342-0DF56BF4; Fri, 18 May 2012 14:42:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337352144!12906152!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14971 invoked from network); 18 May 2012 14:42:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:42:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552632"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:42:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 15:42:24 +0100
Message-ID: <1337352142.22316.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 18 May 2012 15:42:22 +0100
In-Reply-To: <20406.24167.894794.935567@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 15:36 +0100, Ian Jackson wrote:
> There is no need IMO to move the
> internal function to libxl_internal.c. 

I've always thought the existence libxl_internal.c was just begging for
people to group functions along the wrong criteria anyway...

The whole concept of what lives where inside tools/libxl/libxl*.c is all
pretty ad-hoc anyway.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:44:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOPc-0005Pl-Po; Fri, 18 May 2012 14:44:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOPb-0005PT-Pt
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:44:11 +0000
Received: from [193.109.254.147:9150] by server-3.bemta-14.messagelabs.com id
	62/7D-23274-B3066BF4; Fri, 18 May 2012 14:44:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337352250!9278383!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26680 invoked from network); 18 May 2012 14:44:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:44:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552662"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:44:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:44:09 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOPZ-0000zn-KX; Fri, 18 May 2012 14:44:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOPZ-0000tI-Jk;
	Fri, 18 May 2012 15:44:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24633.597604.366401@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:44:09 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-9-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 09/11] libxl__device_disk_local_attach:
 wait for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 09/11] libxl__device_disk_local_attach: wait for state "connected""):
> In order to make sure that the block device is available and ready to be
> used, wait for state "connected" in the backend before returning.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:44:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOPc-0005Pl-Po; Fri, 18 May 2012 14:44:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOPb-0005PT-Pt
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:44:11 +0000
Received: from [193.109.254.147:9150] by server-3.bemta-14.messagelabs.com id
	62/7D-23274-B3066BF4; Fri, 18 May 2012 14:44:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337352250!9278383!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26680 invoked from network); 18 May 2012 14:44:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:44:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552662"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:44:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:44:09 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOPZ-0000zn-KX; Fri, 18 May 2012 14:44:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOPZ-0000tI-Jk;
	Fri, 18 May 2012 15:44:09 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24633.597604.366401@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:44:09 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-9-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 09/11] libxl__device_disk_local_attach:
 wait for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 09/11] libxl__device_disk_local_attach: wait for state "connected""):
> In order to make sure that the block device is available and ready to be
> used, wait for state "connected" in the backend before returning.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:45:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:45:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOQM-0005Xi-87; Fri, 18 May 2012 14:44:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOQL-0005XM-8i
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:44:57 +0000
Received: from [85.158.138.51:36116] by server-5.bemta-3.messagelabs.com id
	FD/CF-17113-86066BF4; Fri, 18 May 2012 14:44:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337352295!27807220!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25463 invoked from network); 18 May 2012 14:44:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:44:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552664"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:44:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:44:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOQH-000106-4y; Fri, 18 May 2012 14:44:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOQH-0000tR-3w;
	Fri, 18 May 2012 15:44:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24677.108729.523541@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:44:53 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-11-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 11/11] main_blockdetach: destroy the disk
 on successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 11/11] main_blockdetach: destroy the disk on successful removal"):
> main_blockdetach needs to call libxl_device_disk_destroy so that all the
> disk related entries are properly removed from xenstore.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:45:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:45:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOQM-0005Xi-87; Fri, 18 May 2012 14:44:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOQL-0005XM-8i
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:44:57 +0000
Received: from [85.158.138.51:36116] by server-5.bemta-3.messagelabs.com id
	FD/CF-17113-86066BF4; Fri, 18 May 2012 14:44:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337352295!27807220!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25463 invoked from network); 18 May 2012 14:44:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:44:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552664"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:44:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:44:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOQH-000106-4y; Fri, 18 May 2012 14:44:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOQH-0000tR-3w;
	Fri, 18 May 2012 15:44:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24677.108729.523541@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:44:53 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-11-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 11/11] main_blockdetach: destroy the disk
 on successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 11/11] main_blockdetach: destroy the disk on successful removal"):
> main_blockdetach needs to call libxl_device_disk_destroy so that all the
> disk related entries are properly removed from xenstore.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOQN-0005YS-L6; Fri, 18 May 2012 14:44:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOQL-0005XN-Sx
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:44:58 +0000
Received: from [85.158.138.51:36151] by server-1.bemta-3.messagelabs.com id
	5E/DF-11491-86066BF4; Fri, 18 May 2012 14:44:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337352295!27807220!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25487 invoked from network); 18 May 2012 14:44:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:44:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552663"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:44:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:44:24 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOPo-0000zu-Ba; Fri, 18 May 2012 14:44:24 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOPo-0000tN-Ae;
	Fri, 18 May 2012 15:44:24 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24648.317258.249847@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:44:24 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-10-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 10/11] libxl_string_to_backend: add qdisk"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOQN-0005YS-L6; Fri, 18 May 2012 14:44:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOQL-0005XN-Sx
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:44:58 +0000
Received: from [85.158.138.51:36151] by server-1.bemta-3.messagelabs.com id
	5E/DF-11491-86066BF4; Fri, 18 May 2012 14:44:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337352295!27807220!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25487 invoked from network); 18 May 2012 14:44:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:44:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552663"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:44:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:44:24 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOPo-0000zu-Ba; Fri, 18 May 2012 14:44:24 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOPo-0000tN-Ae;
	Fri, 18 May 2012 15:44:24 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24648.317258.249847@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:44:24 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-10-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v6 10/11] libxl_string_to_backend: add qdisk"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:47:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:47:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOT6-00060w-D2; Fri, 18 May 2012 14:47:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOT5-00060W-0Q
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:47:47 +0000
Received: from [85.158.139.83:64710] by server-4.bemta-5.messagelabs.com id
	23/8F-10788-21166BF4; Fri, 18 May 2012 14:47:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337352465!28428045!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4580 invoked from network); 18 May 2012 14:47:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:47:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552722"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:47:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:47:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOT2-00010w-T2; Fri, 18 May 2012 14:47:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOT2-0000tq-S4;
	Fri, 18 May 2012 15:47:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24848.649302.742011@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:47:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337352142.22316.125.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
	<1337352142.22316.125.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> On Fri, 2012-05-18 at 15:36 +0100, Ian Jackson wrote:
> > There is no need IMO to move the
> > internal function to libxl_internal.c. 
> 
> I've always thought the existence libxl_internal.c was just begging for
> people to group functions along the wrong criteria anyway...

Yes.

> The whole concept of what lives where inside tools/libxl/libxl*.c is all
> pretty ad-hoc anyway.

Quite.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:47:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:47:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOT6-00060w-D2; Fri, 18 May 2012 14:47:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVOT5-00060W-0Q
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:47:47 +0000
Received: from [85.158.139.83:64710] by server-4.bemta-5.messagelabs.com id
	23/8F-10788-21166BF4; Fri, 18 May 2012 14:47:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337352465!28428045!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4580 invoked from network); 18 May 2012 14:47:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:47:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552722"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:47:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 15:47:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVOT2-00010w-T2; Fri, 18 May 2012 14:47:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVOT2-0000tq-S4;
	Fri, 18 May 2012 15:47:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.24848.649302.742011@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 15:47:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337352142.22316.125.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
	<1337352142.22316.125.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> On Fri, 2012-05-18 at 15:36 +0100, Ian Jackson wrote:
> > There is no need IMO to move the
> > internal function to libxl_internal.c. 
> 
> I've always thought the existence libxl_internal.c was just begging for
> people to group functions along the wrong criteria anyway...

Yes.

> The whole concept of what lives where inside tools/libxl/libxl*.c is all
> pretty ad-hoc anyway.

Quite.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:48:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:48:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOTe-00067B-QN; Fri, 18 May 2012 14:48:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVOTd-00066k-DM
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:48:21 +0000
Received: from [193.109.254.147:64163] by server-10.bemta-14.messagelabs.com
	id 05/B6-05847-43166BF4; Fri, 18 May 2012 14:48:20 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337352499!3130499!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16777 invoked from network); 18 May 2012 14:48:19 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-27.messagelabs.com with SMTP;
	18 May 2012 14:48:19 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77987756; Fri, 18 May 2012 16:48:18 +0200
Message-ID: <1337352492.16815.22.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 18 May 2012 16:48:12 +0200
In-Reply-To: <1337351979.22316.123.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0400893146491601329=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0400893146491601329==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-CnQ89MowekbvzfL0+pRD"


--=-CnQ89MowekbvzfL0+pRD
Content-Type: multipart/mixed; boundary="=-kYTSgcfiC/j89ttp4czq"


--=-kYTSgcfiC/j89ttp4czq
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-18 at 15:39 +0100, Ian Campbell wrote:
> > Which actually seems to be right:
> >=20
> > $ grep LIBXL_DOMAIN_TYPE_INVALID tools/* -R
> > tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
> > tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
> > tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
> > tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
> > tools/libxl/libxl.c:        case LIBXL_DOMAIN_TYPE_INVALID:
> >=20
> > Am I missing something?
>=20
> This should be defined in tools/libxl/libxl_types.idl but the patch
> doesn't seem to add it.
>=20
Yep, I'm adding it myself with the attached patch, but I'm now getting
this:

_libxl_types.c: In function =E2=80=98libxl_domain_build_info_dispose=E2=80=
=99:
_libxl_types.c:91:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_IN=
VALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
_libxl_types.c: In function =E2=80=98libxl_domain_build_info_init_type=E2=
=80=99:
_libxl_types.c:284:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_I=
NVALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
testidl.c: In function =E2=80=98libxl_domain_build_info_rand_init=E2=80=99:
testidl.c:366:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_INVALI=
D=E2=80=99 not handled in switch [-Werror=3Dswitch]
_libxl_types.c: In function =E2=80=98libxl_domain_build_info_gen_json=E2=80=
=99:
_libxl_types.c:1713:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_=
INVALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
cc1: all warnings being treated as errors

:-O

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-kYTSgcfiC/j89ttp4czq
Content-Disposition: attachment; filename="DOMAIN_TYPE_INVALID.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="DOMAIN_TYPE_INVALID.patch"; charset="UTF-8"

ZGlmZiAtciA5YmJjNDA1OWMyZDEgdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsDQotLS0gYS90
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwJRnJpIE1heSAxOCAxNjozMTowOSAyMDEyICswMjAw
DQorKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwJRnJpIE1heSAxOCAxNjo0NzoxNyAy
MDEyICswMjAwDQpAQCAtMzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJbnQoNjQsIGluaXRfdmFsID0g
IkxJQlhMX01FTUtCDQogIw0KIA0KIGxpYnhsX2RvbWFpbl90eXBlID0gRW51bWVyYXRpb24oImRv
bWFpbl90eXBlIiwgWw0KKyAgICAoLTEsICJJTlZBTElEIiksDQogICAgICgxLCAiSFZNIiksDQog
ICAgICgyLCAiUFYiKSwNCiAgICAgXSkNCg==


--=-kYTSgcfiC/j89ttp4czq--

--=-CnQ89MowekbvzfL0+pRD
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2YSwACgkQk4XaBE3IOsQrfACeOb7pXiCk3Zm2N+REkN/uAGkB
+o0AnAmqKX1eWoT3ElXnpF7N2tS57/1u
=wChA
-----END PGP SIGNATURE-----

--=-CnQ89MowekbvzfL0+pRD--



--===============0400893146491601329==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0400893146491601329==--



From xen-devel-bounces@lists.xen.org Fri May 18 14:48:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:48:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOTe-00067B-QN; Fri, 18 May 2012 14:48:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVOTd-00066k-DM
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:48:21 +0000
Received: from [193.109.254.147:64163] by server-10.bemta-14.messagelabs.com
	id 05/B6-05847-43166BF4; Fri, 18 May 2012 14:48:20 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337352499!3130499!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16777 invoked from network); 18 May 2012 14:48:19 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-27.messagelabs.com with SMTP;
	18 May 2012 14:48:19 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77987756; Fri, 18 May 2012 16:48:18 +0200
Message-ID: <1337352492.16815.22.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 18 May 2012 16:48:12 +0200
In-Reply-To: <1337351979.22316.123.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0400893146491601329=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0400893146491601329==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-CnQ89MowekbvzfL0+pRD"


--=-CnQ89MowekbvzfL0+pRD
Content-Type: multipart/mixed; boundary="=-kYTSgcfiC/j89ttp4czq"


--=-kYTSgcfiC/j89ttp4czq
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-18 at 15:39 +0100, Ian Campbell wrote:
> > Which actually seems to be right:
> >=20
> > $ grep LIBXL_DOMAIN_TYPE_INVALID tools/* -R
> > tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
> > tools/libxl/libxl_dm.c:    case LIBXL_DOMAIN_TYPE_INVALID:
> > tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
> > tools/libxl/libxl_dom.c:        return LIBXL_DOMAIN_TYPE_INVALID;
> > tools/libxl/libxl.c:        case LIBXL_DOMAIN_TYPE_INVALID:
> >=20
> > Am I missing something?
>=20
> This should be defined in tools/libxl/libxl_types.idl but the patch
> doesn't seem to add it.
>=20
Yep, I'm adding it myself with the attached patch, but I'm now getting
this:

_libxl_types.c: In function =E2=80=98libxl_domain_build_info_dispose=E2=80=
=99:
_libxl_types.c:91:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_IN=
VALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
_libxl_types.c: In function =E2=80=98libxl_domain_build_info_init_type=E2=
=80=99:
_libxl_types.c:284:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_I=
NVALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
testidl.c: In function =E2=80=98libxl_domain_build_info_rand_init=E2=80=99:
testidl.c:366:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_INVALI=
D=E2=80=99 not handled in switch [-Werror=3Dswitch]
_libxl_types.c: In function =E2=80=98libxl_domain_build_info_gen_json=E2=80=
=99:
_libxl_types.c:1713:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_TYPE_=
INVALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
cc1: all warnings being treated as errors

:-O

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-kYTSgcfiC/j89ttp4czq
Content-Disposition: attachment; filename="DOMAIN_TYPE_INVALID.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="DOMAIN_TYPE_INVALID.patch"; charset="UTF-8"

ZGlmZiAtciA5YmJjNDA1OWMyZDEgdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsDQotLS0gYS90
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwJRnJpIE1heSAxOCAxNjozMTowOSAyMDEyICswMjAw
DQorKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwJRnJpIE1heSAxOCAxNjo0NzoxNyAy
MDEyICswMjAwDQpAQCAtMzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJbnQoNjQsIGluaXRfdmFsID0g
IkxJQlhMX01FTUtCDQogIw0KIA0KIGxpYnhsX2RvbWFpbl90eXBlID0gRW51bWVyYXRpb24oImRv
bWFpbl90eXBlIiwgWw0KKyAgICAoLTEsICJJTlZBTElEIiksDQogICAgICgxLCAiSFZNIiksDQog
ICAgICgyLCAiUFYiKSwNCiAgICAgXSkNCg==


--=-kYTSgcfiC/j89ttp4czq--

--=-CnQ89MowekbvzfL0+pRD
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2YSwACgkQk4XaBE3IOsQrfACeOb7pXiCk3Zm2N+REkN/uAGkB
+o0AnAmqKX1eWoT3ElXnpF7N2tS57/1u
=wChA
-----END PGP SIGNATURE-----

--=-CnQ89MowekbvzfL0+pRD--



--===============0400893146491601329==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0400893146491601329==--



From xen-devel-bounces@lists.xen.org Fri May 18 14:56:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOb5-0006no-IF; Fri, 18 May 2012 14:56:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOb3-0006ng-Tr
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:56:02 +0000
Received: from [85.158.139.83:64241] by server-6.bemta-5.messagelabs.com id
	E2/E9-13222-10366BF4; Fri, 18 May 2012 14:56:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337352960!29437227!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6142 invoked from network); 18 May 2012 14:56:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:56:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552857"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:56:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 15:55:59 +0100
Message-ID: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 18 May 2012 15:55:58 +0100
In-Reply-To: <1337352492.16815.22.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTE4IGF0IDE1OjQ4ICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBPbiBGcmksIDIwMTItMDUtMTggYXQgMTU6MzkgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToK
PiA+ID4gV2hpY2ggYWN0dWFsbHkgc2VlbXMgdG8gYmUgcmlnaHQ6Cj4gPiA+IAo+ID4gPiAkIGdy
ZXAgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCB0b29scy8qIC1SCj4gPiA+IHRvb2xzL2xpYnhs
L2xpYnhsX2RtLmM6ICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiA+ID4gdG9v
bHMvbGlieGwvbGlieGxfZG0uYzogICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+
ID4gPiB0b29scy9saWJ4bC9saWJ4bF9kb20uYzogICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5f
VFlQRV9JTlZBTElEOwo+ID4gPiB0b29scy9saWJ4bC9saWJ4bF9kb20uYzogICAgICAgIHJldHVy
biBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwo+ID4gPiB0b29scy9saWJ4bC9saWJ4bC5jOiAg
ICAgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ID4gPiAKPiA+ID4gQW0gSSBt
aXNzaW5nIHNvbWV0aGluZz8KPiA+IAo+ID4gVGhpcyBzaG91bGQgYmUgZGVmaW5lZCBpbiB0b29s
cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYnV0IHRoZSBwYXRjaAo+ID4gZG9lc24ndCBzZWVtIHRv
IGFkZCBpdC4KPiA+IAo+IFllcCwgSSdtIGFkZGluZyBpdCBteXNlbGYgd2l0aCB0aGUgYXR0YWNo
ZWQgcGF0Y2gsIGJ1dCBJJ20gbm93IGdldHRpbmcKPiB0aGlzOgo+IAo+IF9saWJ4bF90eXBlcy5j
OiBJbiBmdW5jdGlvbiDigJhsaWJ4bF9kb21haW5fYnVpbGRfaW5mb19kaXNwb3Nl4oCZOgo+IF9s
aWJ4bF90eXBlcy5jOjkxOjU6IGVycm9yOiBlbnVtZXJhdGlvbiB2YWx1ZSDigJhMSUJYTF9ET01B
SU5fVFlQRV9JTlZBTElE4oCZIG5vdCBoYW5kbGVkIGluIHN3aXRjaCBbLVdlcnJvcj1zd2l0Y2hd
Cj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9pbmZv
X2luaXRfdHlwZeKAmToKPiBfbGlieGxfdHlwZXMuYzoyODQ6NTogZXJyb3I6IGVudW1lcmF0aW9u
IHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4gc3dp
dGNoIFstV2Vycm9yPXN3aXRjaF0KPiB0ZXN0aWRsLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2Rv
bWFpbl9idWlsZF9pbmZvX3JhbmRfaW5pdOKAmToKPiB0ZXN0aWRsLmM6MzY2OjU6IGVycm9yOiBl
bnVtZXJhdGlvbiB2YWx1ZSDigJhMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElE4oCZIG5vdCBoYW5k
bGVkIGluIHN3aXRjaCBbLVdlcnJvcj1zd2l0Y2hdCj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0
aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvX2dlbl9qc29u4oCZOgo+IF9saWJ4bF90eXBl
cy5jOjE3MTM6NTogZXJyb3I6IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBF
X0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4gc3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPiBjYzE6
IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwo+IAo+IDotTwoKSSB3b25kZXIg
aWYganVzdCBjaGFuZ2luZyB0aGUgcmV0dXJuIHR5cGUgb2YgbGlieGxfX2RvbWFpbl90eXBlIHRv
IGludAp3b3VsZCBiZSBiZXR0ZXIgdGhhbiB0aGlzPyBJIGd1ZXNzIGl0J2xsIHByb2JhYmx5IGJl
IG11Y2ggdGhlIHNhbWUuCgpJYW4uCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu
Lm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Fri May 18 14:56:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOb5-0006no-IF; Fri, 18 May 2012 14:56:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOb3-0006ng-Tr
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:56:02 +0000
Received: from [85.158.139.83:64241] by server-6.bemta-5.messagelabs.com id
	E2/E9-13222-10366BF4; Fri, 18 May 2012 14:56:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337352960!29437227!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6142 invoked from network); 18 May 2012 14:56:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:56:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552857"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 14:56:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 15:55:59 +0100
Message-ID: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 18 May 2012 15:55:58 +0100
In-Reply-To: <1337352492.16815.22.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTE4IGF0IDE1OjQ4ICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBPbiBGcmksIDIwMTItMDUtMTggYXQgMTU6MzkgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToK
PiA+ID4gV2hpY2ggYWN0dWFsbHkgc2VlbXMgdG8gYmUgcmlnaHQ6Cj4gPiA+IAo+ID4gPiAkIGdy
ZXAgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCB0b29scy8qIC1SCj4gPiA+IHRvb2xzL2xpYnhs
L2xpYnhsX2RtLmM6ICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiA+ID4gdG9v
bHMvbGlieGwvbGlieGxfZG0uYzogICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+
ID4gPiB0b29scy9saWJ4bC9saWJ4bF9kb20uYzogICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5f
VFlQRV9JTlZBTElEOwo+ID4gPiB0b29scy9saWJ4bC9saWJ4bF9kb20uYzogICAgICAgIHJldHVy
biBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwo+ID4gPiB0b29scy9saWJ4bC9saWJ4bC5jOiAg
ICAgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ID4gPiAKPiA+ID4gQW0gSSBt
aXNzaW5nIHNvbWV0aGluZz8KPiA+IAo+ID4gVGhpcyBzaG91bGQgYmUgZGVmaW5lZCBpbiB0b29s
cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYnV0IHRoZSBwYXRjaAo+ID4gZG9lc24ndCBzZWVtIHRv
IGFkZCBpdC4KPiA+IAo+IFllcCwgSSdtIGFkZGluZyBpdCBteXNlbGYgd2l0aCB0aGUgYXR0YWNo
ZWQgcGF0Y2gsIGJ1dCBJJ20gbm93IGdldHRpbmcKPiB0aGlzOgo+IAo+IF9saWJ4bF90eXBlcy5j
OiBJbiBmdW5jdGlvbiDigJhsaWJ4bF9kb21haW5fYnVpbGRfaW5mb19kaXNwb3Nl4oCZOgo+IF9s
aWJ4bF90eXBlcy5jOjkxOjU6IGVycm9yOiBlbnVtZXJhdGlvbiB2YWx1ZSDigJhMSUJYTF9ET01B
SU5fVFlQRV9JTlZBTElE4oCZIG5vdCBoYW5kbGVkIGluIHN3aXRjaCBbLVdlcnJvcj1zd2l0Y2hd
Cj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9pbmZv
X2luaXRfdHlwZeKAmToKPiBfbGlieGxfdHlwZXMuYzoyODQ6NTogZXJyb3I6IGVudW1lcmF0aW9u
IHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4gc3dp
dGNoIFstV2Vycm9yPXN3aXRjaF0KPiB0ZXN0aWRsLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2Rv
bWFpbl9idWlsZF9pbmZvX3JhbmRfaW5pdOKAmToKPiB0ZXN0aWRsLmM6MzY2OjU6IGVycm9yOiBl
bnVtZXJhdGlvbiB2YWx1ZSDigJhMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElE4oCZIG5vdCBoYW5k
bGVkIGluIHN3aXRjaCBbLVdlcnJvcj1zd2l0Y2hdCj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0
aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvX2dlbl9qc29u4oCZOgo+IF9saWJ4bF90eXBl
cy5jOjE3MTM6NTogZXJyb3I6IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBF
X0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4gc3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPiBjYzE6
IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwo+IAo+IDotTwoKSSB3b25kZXIg
aWYganVzdCBjaGFuZ2luZyB0aGUgcmV0dXJuIHR5cGUgb2YgbGlieGxfX2RvbWFpbl90eXBlIHRv
IGludAp3b3VsZCBiZSBiZXR0ZXIgdGhhbiB0aGlzPyBJIGd1ZXNzIGl0J2xsIHByb2JhYmx5IGJl
IG11Y2ggdGhlIHNhbWUuCgpJYW4uCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu
Lm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Fri May 18 14:56:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:56:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVObc-0006q9-Vc; Fri, 18 May 2012 14:56:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVObb-0006ps-Pf
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:56:35 +0000
Received: from [85.158.143.35:59206] by server-3.bemta-4.messagelabs.com id
	34/EA-05853-32366BF4; Fri, 18 May 2012 14:56:35 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337352991!5676880!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28561 invoked from network); 18 May 2012 14:56:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:56:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195525326"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:55:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:55:48 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVOaq-0006HP-4h;
	Fri, 18 May 2012 15:55:48 +0100
Message-ID: <4FB662F5.2010704@citrix.com>
Date: Fri, 18 May 2012 15:55:49 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> ---
>   tools/libxl/libxl.c          |   40 ----------------------------------------
>   tools/libxl/libxl_internal.c |   40 ++++++++++++++++++++++++++++++++++++++++
>   tools/libxl/libxl_internal.h |    4 ++++
>   3 files changed, 44 insertions(+), 40 deletions(-)
>
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 64d2dd8..3f53da5 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1281,46 +1281,6 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
>       return rc;
>   }
>
> -static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> -                                   libxl_device_disk *disk,
> -                                   libxl__device *device)
> -{
> -    libxl_ctx *ctx = libxl__gc_owner(gc);
> -    int devid;
> -
> -    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> -    if (devid==-1) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        return ERROR_INVAL;
> -    }
> -
> -    device->backend_domid = disk->backend_domid;
> -    device->backend_devid = devid;
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> -                       disk->backend);
> -            return ERROR_INVAL;
> -    }
> -
> -    device->domid = domid;
> -    device->devid = devid;
> -    device->kind  = LIBXL__DEVICE_KIND_VBD;
> -
> -    return 0;
> -}
> -
>   int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>   {
>       GC_INIT(ctx);
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 5e5083b..276429c 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -429,6 +429,46 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
>       return value;
>   }
>
> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device)

I think this should be moved to libxl_device instead of libxl_internal, 
since it's a device related function.

> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int devid;
> +
> +    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> +    if (devid==-1) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        return ERROR_INVAL;
> +    }
> +
> +    device->backend_domid = disk->backend_domid;
> +    device->backend_devid = devid;
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> +                       disk->backend);
> +            return ERROR_INVAL;
> +    }
> +
> +    device->domid = domid;
> +    device->devid = devid;
> +    device->kind  = LIBXL__DEVICE_KIND_VBD;
> +
> +    return 0;
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index cb5393d..3578414 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1233,6 +1233,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
>    */
>   _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>
> +_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device);
> +
>   /*
>    * Make a disk available in this (the control) domain. Returns path to
>    * a device.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:56:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:56:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVObc-0006q9-Vc; Fri, 18 May 2012 14:56:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVObb-0006ps-Pf
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:56:35 +0000
Received: from [85.158.143.35:59206] by server-3.bemta-4.messagelabs.com id
	34/EA-05853-32366BF4; Fri, 18 May 2012 14:56:35 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337352991!5676880!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28561 invoked from network); 18 May 2012 14:56:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:56:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195525326"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:55:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:55:48 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVOaq-0006HP-4h;
	Fri, 18 May 2012 15:55:48 +0100
Message-ID: <4FB662F5.2010704@citrix.com>
Date: Fri, 18 May 2012 15:55:49 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> ---
>   tools/libxl/libxl.c          |   40 ----------------------------------------
>   tools/libxl/libxl_internal.c |   40 ++++++++++++++++++++++++++++++++++++++++
>   tools/libxl/libxl_internal.h |    4 ++++
>   3 files changed, 44 insertions(+), 40 deletions(-)
>
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 64d2dd8..3f53da5 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1281,46 +1281,6 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
>       return rc;
>   }
>
> -static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> -                                   libxl_device_disk *disk,
> -                                   libxl__device *device)
> -{
> -    libxl_ctx *ctx = libxl__gc_owner(gc);
> -    int devid;
> -
> -    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> -    if (devid==-1) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        return ERROR_INVAL;
> -    }
> -
> -    device->backend_domid = disk->backend_domid;
> -    device->backend_devid = devid;
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> -            break;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> -                       disk->backend);
> -            return ERROR_INVAL;
> -    }
> -
> -    device->domid = domid;
> -    device->devid = devid;
> -    device->kind  = LIBXL__DEVICE_KIND_VBD;
> -
> -    return 0;
> -}
> -
>   int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>   {
>       GC_INIT(ctx);
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 5e5083b..276429c 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -429,6 +429,46 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
>       return value;
>   }
>
> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device)

I think this should be moved to libxl_device instead of libxl_internal, 
since it's a device related function.

> +{
> +    libxl_ctx *ctx = libxl__gc_owner(gc);
> +    int devid;
> +
> +    devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
> +    if (devid==-1) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        return ERROR_INVAL;
> +    }
> +
> +    device->backend_domid = disk->backend_domid;
> +    device->backend_devid = devid;
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            device->backend_kind = LIBXL__DEVICE_KIND_VBD;
> +            break;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n",
> +                       disk->backend);
> +            return ERROR_INVAL;
> +    }
> +
> +    device->domid = domid;
> +    device->devid = devid;
> +    device->kind  = LIBXL__DEVICE_KIND_VBD;
> +
> +    return 0;
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index cb5393d..3578414 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1233,6 +1233,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
>    */
>   _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>
> +_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> +                                   libxl_device_disk *disk,
> +                                   libxl__device *device);
> +
>   /*
>    * Make a disk available in this (the control) domain. Returns path to
>    * a device.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:57:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOc5-0006tT-DR; Fri, 18 May 2012 14:57:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVOc3-0006t8-Ek
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:57:03 +0000
Received: from [193.109.254.147:2289] by server-8.bemta-14.messagelabs.com id
	06/B9-23244-E3366BF4; Fri, 18 May 2012 14:57:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337353020!6871058!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30239 invoked from network); 18 May 2012 14:57:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:57:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195525433"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:56:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:56:31 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVObX-0006Hc-2r;
	Fri, 18 May 2012 15:56:31 +0100
Message-ID: <4FB6631F.9050004@citrix.com>
Date: Fri, 18 May 2012 15:56:31 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
>
> Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> ---
>   tools/libxl/libxl.c          |  113 +---------------------------------------
>   tools/libxl/libxl_internal.c |  119 ++++++++++++++++++++++++++++++++++++++++++
>   tools/libxl/libxl_internal.h |    2 +
>   3 files changed, 122 insertions(+), 112 deletions(-)
>
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 3f53da5..1bed2fe 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1284,118 +1284,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
>   int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>   {
>       GC_INIT(ctx);
> -    flexarray_t *front;
> -    flexarray_t *back;
> -    char *dev;
> -    libxl__device device;
> -    int major, minor, rc;
> -
> -    rc = libxl__device_disk_setdefault(gc, disk);
> -    if (rc) goto out;
> -
> -    front = flexarray_make(16, 1);
> -    if (!front) {
> -        rc = ERROR_NOMEM;
> -        goto out;
> -    }
> -    back = flexarray_make(16, 1);
> -    if (!back) {
> -        rc = ERROR_NOMEM;
> -        goto out_free;
> -    }
> -
> -    if (disk->script) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> -                   " not yet supported, sorry");
> -        rc = ERROR_INVAL;
> -        goto out_free;
> -    }
> -
> -    rc = libxl__device_from_disk(gc, domid, disk,&device);
> -    if (rc != 0) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        goto out_free;
> -    }
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            dev = disk->pdev_path;
> -    do_backend_phy:
> -            libxl__device_physdisk_major_minor(dev,&major,&minor);
> -            flexarray_append(back, "physical-device");
> -            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> -
> -            flexarray_append(back, "params");
> -            flexarray_append(back, dev);
> -
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> -            if (!dev) {
> -                LOG(ERROR, "failed to get blktap devpath for %p\n",
> -                    disk->pdev_path);
> -                rc = ERROR_FAIL;
> -                goto out_free;
> -            }
> -            flexarray_append(back, "tapdisk-params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                libxl__device_disk_string_of_format(disk->format),
> -                disk->pdev_path));
> -
> -            /* now create a phy device to export the device to the guest */
> -            goto do_backend_phy;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            flexarray_append(back, "params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> -            rc = ERROR_INVAL;
> -            goto out_free;
> -    }
> -
> -    flexarray_append(back, "frontend-id");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> -    flexarray_append(back, "online");
> -    flexarray_append(back, "1");
> -    flexarray_append(back, "removable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> -    flexarray_append(back, "bootable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "state");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "dev");
> -    flexarray_append(back, disk->vdev);
> -    flexarray_append(back, "type");
> -    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> -    flexarray_append(back, "mode");
> -    flexarray_append(back, disk->readwrite ? "w" : "r");
> -    flexarray_append(back, "device-type");
> -    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    flexarray_append(front, "backend-id");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> -    flexarray_append(front, "state");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(front, "virtual-device");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> -    flexarray_append(front, "device-type");
> -    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    libxl__device_generic_add(gc, XBT_NULL,&device,
> -                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> -                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> -
> -    rc = 0;
> -
> -out_free:
> -    flexarray_free(back);
> -    flexarray_free(front);
> -out:
> +    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
>       GC_FREE;
>       return rc;
>   }
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 276429c..70a8c4b 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -323,6 +323,125 @@ out:
>       return rc;
>   }
>
> +int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk)

As with the other patch, I think this should go to libxl_device.

> +{
> +    flexarray_t *front;
> +    flexarray_t *back;
> +    char *dev;
> +    libxl__device device;
> +    int major, minor, rc;
> +    libxl_ctx *ctx = gc->owner;
> +
> +    rc = libxl__device_disk_setdefault(gc, disk);
> +    if (rc) goto out;
> +
> +    front = flexarray_make(16, 1);
> +    if (!front) {
> +        rc = ERROR_NOMEM;
> +        goto out;
> +    }
> +    back = flexarray_make(16, 1);
> +    if (!back) {
> +        rc = ERROR_NOMEM;
> +        goto out_free;
> +    }
> +
> +    if (disk->script) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> +                   " not yet supported, sorry");
> +        rc = ERROR_INVAL;
> +        goto out_free;
> +    }
> +
> +    rc = libxl__device_from_disk(gc, domid, disk,&device);
> +    if (rc != 0) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        goto out_free;
> +    }
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            dev = disk->pdev_path;
> +    do_backend_phy:
> +            libxl__device_physdisk_major_minor(dev,&major,&minor);
> +            flexarray_append(back, "physical-device");
> +            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> +
> +            flexarray_append(back, "params");
> +            flexarray_append(back, dev);
> +
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> +            if (!dev) {
> +                LOG(ERROR, "failed to get blktap devpath for %p\n",
> +                        disk->pdev_path);
> +                rc = ERROR_FAIL;
> +                goto out_free;
> +            }
> +            flexarray_append(back, "tapdisk-params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                libxl__device_disk_string_of_format(disk->format),
> +                disk->pdev_path));
> +
> +            /* now create a phy device to export the device to the guest */
> +            goto do_backend_phy;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            flexarray_append(back, "params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> +            rc = ERROR_INVAL;
> +            goto out_free;
> +    }
> +
> +    flexarray_append(back, "frontend-id");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> +    flexarray_append(back, "online");
> +    flexarray_append(back, "1");
> +    flexarray_append(back, "removable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> +    flexarray_append(back, "bootable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "state");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "dev");
> +    flexarray_append(back, disk->vdev);
> +    flexarray_append(back, "type");
> +    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> +    flexarray_append(back, "mode");
> +    flexarray_append(back, disk->readwrite ? "w" : "r");
> +    flexarray_append(back, "device-type");
> +    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    flexarray_append(front, "backend-id");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> +    flexarray_append(front, "state");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(front, "virtual-device");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> +    flexarray_append(front, "device-type");
> +    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    libxl__device_generic_add(gc, t,&device,
> +                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> +                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> +
> +    rc = 0;
> +
> +out_free:
> +    flexarray_free(back);
> +    flexarray_free(front);
> +out:
> +    return rc;
> +}
> +
>   char * libxl__device_disk_local_attach(libxl__gc *gc,
>           const libxl_device_disk *in_disk,
>           libxl_device_disk *disk)
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 3578414..98f9762 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1236,6 +1236,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
>                                      libxl_device_disk *disk,
>                                      libxl__device *device);
> +_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk);
>
>   /*
>    * Make a disk available in this (the control) domain. Returns path to
> --
> 1.7.2.5
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:57:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOc5-0006tT-DR; Fri, 18 May 2012 14:57:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVOc3-0006t8-Ek
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 14:57:03 +0000
Received: from [193.109.254.147:2289] by server-8.bemta-14.messagelabs.com id
	06/B9-23244-E3366BF4; Fri, 18 May 2012 14:57:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337353020!6871058!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTMzMjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30239 invoked from network); 18 May 2012 14:57:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 14:57:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="195525433"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 10:56:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 10:56:31 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVObX-0006Hc-2r;
	Fri, 18 May 2012 15:56:31 +0100
Message-ID: <4FB6631F.9050004@citrix.com>
Date: Fri, 18 May 2012 15:56:31 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
>
> Signed-off-by: Stefano Stabellini<stefano.stabellini@eu.citrix.com>
> ---
>   tools/libxl/libxl.c          |  113 +---------------------------------------
>   tools/libxl/libxl_internal.c |  119 ++++++++++++++++++++++++++++++++++++++++++
>   tools/libxl/libxl_internal.h |    2 +
>   3 files changed, 122 insertions(+), 112 deletions(-)
>
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 3f53da5..1bed2fe 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1284,118 +1284,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
>   int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>   {
>       GC_INIT(ctx);
> -    flexarray_t *front;
> -    flexarray_t *back;
> -    char *dev;
> -    libxl__device device;
> -    int major, minor, rc;
> -
> -    rc = libxl__device_disk_setdefault(gc, disk);
> -    if (rc) goto out;
> -
> -    front = flexarray_make(16, 1);
> -    if (!front) {
> -        rc = ERROR_NOMEM;
> -        goto out;
> -    }
> -    back = flexarray_make(16, 1);
> -    if (!back) {
> -        rc = ERROR_NOMEM;
> -        goto out_free;
> -    }
> -
> -    if (disk->script) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> -                   " not yet supported, sorry");
> -        rc = ERROR_INVAL;
> -        goto out_free;
> -    }
> -
> -    rc = libxl__device_from_disk(gc, domid, disk,&device);
> -    if (rc != 0) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> -               " virtual disk identifier %s", disk->vdev);
> -        goto out_free;
> -    }
> -
> -    switch (disk->backend) {
> -        case LIBXL_DISK_BACKEND_PHY:
> -            dev = disk->pdev_path;
> -    do_backend_phy:
> -            libxl__device_physdisk_major_minor(dev,&major,&minor);
> -            flexarray_append(back, "physical-device");
> -            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> -
> -            flexarray_append(back, "params");
> -            flexarray_append(back, dev);
> -
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> -            break;
> -        case LIBXL_DISK_BACKEND_TAP:
> -            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> -            if (!dev) {
> -                LOG(ERROR, "failed to get blktap devpath for %p\n",
> -                    disk->pdev_path);
> -                rc = ERROR_FAIL;
> -                goto out_free;
> -            }
> -            flexarray_append(back, "tapdisk-params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                libxl__device_disk_string_of_format(disk->format),
> -                disk->pdev_path));
> -
> -            /* now create a phy device to export the device to the guest */
> -            goto do_backend_phy;
> -        case LIBXL_DISK_BACKEND_QDISK:
> -            flexarray_append(back, "params");
> -            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> -                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> -            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> -            break;
> -        default:
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> -            rc = ERROR_INVAL;
> -            goto out_free;
> -    }
> -
> -    flexarray_append(back, "frontend-id");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> -    flexarray_append(back, "online");
> -    flexarray_append(back, "1");
> -    flexarray_append(back, "removable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> -    flexarray_append(back, "bootable");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "state");
> -    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(back, "dev");
> -    flexarray_append(back, disk->vdev);
> -    flexarray_append(back, "type");
> -    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> -    flexarray_append(back, "mode");
> -    flexarray_append(back, disk->readwrite ? "w" : "r");
> -    flexarray_append(back, "device-type");
> -    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    flexarray_append(front, "backend-id");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> -    flexarray_append(front, "state");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> -    flexarray_append(front, "virtual-device");
> -    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> -    flexarray_append(front, "device-type");
> -    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> -
> -    libxl__device_generic_add(gc, XBT_NULL,&device,
> -                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> -                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> -
> -    rc = 0;
> -
> -out_free:
> -    flexarray_free(back);
> -    flexarray_free(front);
> -out:
> +    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
>       GC_FREE;
>       return rc;
>   }
> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index 276429c..70a8c4b 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -323,6 +323,125 @@ out:
>       return rc;
>   }
>
> +int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk)

As with the other patch, I think this should go to libxl_device.

> +{
> +    flexarray_t *front;
> +    flexarray_t *back;
> +    char *dev;
> +    libxl__device device;
> +    int major, minor, rc;
> +    libxl_ctx *ctx = gc->owner;
> +
> +    rc = libxl__device_disk_setdefault(gc, disk);
> +    if (rc) goto out;
> +
> +    front = flexarray_make(16, 1);
> +    if (!front) {
> +        rc = ERROR_NOMEM;
> +        goto out;
> +    }
> +    back = flexarray_make(16, 1);
> +    if (!back) {
> +        rc = ERROR_NOMEM;
> +        goto out_free;
> +    }
> +
> +    if (disk->script) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "External block scripts"
> +                   " not yet supported, sorry");
> +        rc = ERROR_INVAL;
> +        goto out_free;
> +    }
> +
> +    rc = libxl__device_from_disk(gc, domid, disk,&device);
> +    if (rc != 0) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
> +               " virtual disk identifier %s", disk->vdev);
> +        goto out_free;
> +    }
> +
> +    switch (disk->backend) {
> +        case LIBXL_DISK_BACKEND_PHY:
> +            dev = disk->pdev_path;
> +    do_backend_phy:
> +            libxl__device_physdisk_major_minor(dev,&major,&minor);
> +            flexarray_append(back, "physical-device");
> +            flexarray_append(back, libxl__sprintf(gc, "%x:%x", major, minor));
> +
> +            flexarray_append(back, "params");
> +            flexarray_append(back, dev);
> +
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
> +            break;
> +        case LIBXL_DISK_BACKEND_TAP:
> +            dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
> +            if (!dev) {
> +                LOG(ERROR, "failed to get blktap devpath for %p\n",
> +                        disk->pdev_path);
> +                rc = ERROR_FAIL;
> +                goto out_free;
> +            }
> +            flexarray_append(back, "tapdisk-params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                libxl__device_disk_string_of_format(disk->format),
> +                disk->pdev_path));
> +
> +            /* now create a phy device to export the device to the guest */
> +            goto do_backend_phy;
> +        case LIBXL_DISK_BACKEND_QDISK:
> +            flexarray_append(back, "params");
> +            flexarray_append(back, libxl__sprintf(gc, "%s:%s",
> +                          libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
> +            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
> +            break;
> +        default:
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
> +            rc = ERROR_INVAL;
> +            goto out_free;
> +    }
> +
> +    flexarray_append(back, "frontend-id");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", domid));
> +    flexarray_append(back, "online");
> +    flexarray_append(back, "1");
> +    flexarray_append(back, "removable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0));
> +    flexarray_append(back, "bootable");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "state");
> +    flexarray_append(back, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(back, "dev");
> +    flexarray_append(back, disk->vdev);
> +    flexarray_append(back, "type");
> +    flexarray_append(back, libxl__device_disk_string_of_backend(disk->backend));
> +    flexarray_append(back, "mode");
> +    flexarray_append(back, disk->readwrite ? "w" : "r");
> +    flexarray_append(back, "device-type");
> +    flexarray_append(back, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    flexarray_append(front, "backend-id");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
> +    flexarray_append(front, "state");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", 1));
> +    flexarray_append(front, "virtual-device");
> +    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
> +    flexarray_append(front, "device-type");
> +    flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
> +
> +    libxl__device_generic_add(gc, t,&device,
> +                             libxl__xs_kvs_of_flexarray(gc, back, back->count),
> +                             libxl__xs_kvs_of_flexarray(gc, front, front->count));
> +
> +    rc = 0;
> +
> +out_free:
> +    flexarray_free(back);
> +    flexarray_free(front);
> +out:
> +    return rc;
> +}
> +
>   char * libxl__device_disk_local_attach(libxl__gc *gc,
>           const libxl_device_disk *in_disk,
>           libxl_device_disk *disk)
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 3578414..98f9762 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1236,6 +1236,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
>                                      libxl_device_disk *disk,
>                                      libxl__device *device);
> +_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
> +        xs_transaction_t t, libxl_device_disk *disk);
>
>   /*
>    * Make a disk available in this (the control) domain. Returns path to
> --
> 1.7.2.5
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 14:58:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:58:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOdJ-00074m-1j; Fri, 18 May 2012 14:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SVOdH-00074S-JP
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:58:19 +0000
Received: from [85.158.139.83:22179] by server-10.bemta-5.messagelabs.com id
	89/98-08260-A8366BF4; Fri, 18 May 2012 14:58:18 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337353096!21888375!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4541 invoked from network); 18 May 2012 14:58:17 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 18 May 2012 14:58:17 -0000
Received: from mail-bk0-f45.google.com (mail-bk0-f45.google.com
	[209.85.214.45]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q4IEwD3d022280
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 07:58:14 -0700
Received: by bkwj10 with SMTP id j10so2951947bkw.32
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 07:58:11 -0700 (PDT)
Received: by 10.204.150.92 with SMTP id x28mr4056520bkv.61.1337353091522; Fri,
	18 May 2012 07:58:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.152.215 with HTTP; Fri, 18 May 2012 07:57:31 -0700 (PDT)
In-Reply-To: <1337335679.22316.44.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
	<1337335679.22316.44.camel@zakaz.uk.xensource.com>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Fri, 18 May 2012 10:57:31 -0400
Message-ID: <CAP8mzPOUO+NbXjpuVG3i5ysybDzyP6s8F37RWMpj1AFaMbt5gg@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume
	code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2604899236224367845=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2604899236224367845==
Content-Type: multipart/alternative; boundary=00151761c8f4f5a1db04c050c7c9

--00151761c8f4f5a1db04c050c7c9
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 18, 2012 at 6:07 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wrote:
> > This patch series refactors the suspend/resume code to minimize
> > Remus specific code in libxl. There are a couple of trivial bug
> > fixes too.
>
> I've applied all four of these as well as the two patches from "libxl:
> Remus support". Thanks for your contribution, and thanks for your
> patience in particular.
>
> I fixed up a minor reject in "libxl: refactor migrate_domain and
> generalize migrate_receive" due to the context line
>     dom_info.restore_file = "incoming migration stream";
> having been removed. It's hard to imagine I messed that up but you'd
> best check!
>
>
Strange.. the c/s on my local box is 25334 (before applying the patches).
I believe thats where xen-unstable.hg but the patches were applied against
staging/xen-unstable.hg..

And I think the issue you faced was because of a conflict with
c/s 25344: xl make clear distinction between "filename" and "data source"

that george submitted. Its in staging but not in the main unstable repo.

BTW I tested PV migrate, HVM migrate with qemu-xen-traditional (stub and
> non-stub) and PVHVM migrate with qemu-xen-traditional (stub and
> non-stub). All seemed OK.
>
>
Thanks a lot :).



>  Ian.
>
>
>

--00151761c8f4f5a1db04c050c7c9
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Fri, May 18, 2012 at 6:07 AM, Ian Campbell <span dir=3D"ltr">&lt;<a href=
=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campbell@citrix.c=
om</a>&gt;</span> wrote:<br><div class=3D"gmail_quote"><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex">

<div class=3D"im">On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wr=
ote:<br>
&gt; This patch series refactors the suspend/resume code to minimize<br>
&gt; Remus specific code in libxl. There are a couple of trivial bug<br>
&gt; fixes too.<br>
<br>
</div>I&#39;ve applied all four of these as well as the two patches from &q=
uot;libxl:<br>
Remus support&quot;. Thanks for your contribution, and thanks for your<br>
patience in particular.<br>
<br>
I fixed up a minor reject in &quot;libxl: refactor migrate_domain and<br>
generalize migrate_receive&quot; due to the context line<br>
 =A0 =A0 dom_info.restore_file =3D &quot;incoming migration stream&quot;;<b=
r>
having been removed. It&#39;s hard to imagine I messed that up but you&#39;=
d<br>
best check!<br>
<br></blockquote><div><br></div><div>Strange.. the c/s on my local box is 2=
5334 (before applying the patches).</div><div>I believe thats where xen-uns=
table.hg but the patches were applied against</div><div>staging/xen-unstabl=
e.hg..=A0</div>

<div><br></div><div>And I think the issue you faced was because of a confli=
ct with=A0</div><div>c/s 25344: xl make clear distinction between &quot;fil=
ename&quot; and &quot;data source&quot;</div><div>=A0</div><div>that george=
 submitted. Its in staging but not in the main unstable repo.</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex">
BTW I tested PV migrate, HVM migrate with qemu-xen-traditional (stub and<br=
>
non-stub) and PVHVM migrate with qemu-xen-traditional (stub and<br>
non-stub). All seemed OK.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br></font></span></blockquo=
te><div><br></div><div>Thanks a lot :).</div><div><br></div><div>=A0</div><=
blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px=
 #ccc solid;padding-left:1ex">

<span class=3D"HOEnZb"><font color=3D"#888888">
Ian.<br>
<br>
<br>
</font></span></blockquote></div><br>

--00151761c8f4f5a1db04c050c7c9--


--===============2604899236224367845==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2604899236224367845==--


From xen-devel-bounces@lists.xen.org Fri May 18 14:58:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 14:58:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOdJ-00074m-1j; Fri, 18 May 2012 14:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SVOdH-00074S-JP
	for xen-devel@lists.xen.org; Fri, 18 May 2012 14:58:19 +0000
Received: from [85.158.139.83:22179] by server-10.bemta-5.messagelabs.com id
	89/98-08260-A8366BF4; Fri, 18 May 2012 14:58:18 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337353096!21888375!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4541 invoked from network); 18 May 2012 14:58:17 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 18 May 2012 14:58:17 -0000
Received: from mail-bk0-f45.google.com (mail-bk0-f45.google.com
	[209.85.214.45]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q4IEwD3d022280
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 07:58:14 -0700
Received: by bkwj10 with SMTP id j10so2951947bkw.32
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 07:58:11 -0700 (PDT)
Received: by 10.204.150.92 with SMTP id x28mr4056520bkv.61.1337353091522; Fri,
	18 May 2012 07:58:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.152.215 with HTTP; Fri, 18 May 2012 07:57:31 -0700 (PDT)
In-Reply-To: <1337335679.22316.44.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
	<1337335679.22316.44.camel@zakaz.uk.xensource.com>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Fri, 18 May 2012 10:57:31 -0400
Message-ID: <CAP8mzPOUO+NbXjpuVG3i5ysybDzyP6s8F37RWMpj1AFaMbt5gg@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume
	code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2604899236224367845=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2604899236224367845==
Content-Type: multipart/alternative; boundary=00151761c8f4f5a1db04c050c7c9

--00151761c8f4f5a1db04c050c7c9
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 18, 2012 at 6:07 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wrote:
> > This patch series refactors the suspend/resume code to minimize
> > Remus specific code in libxl. There are a couple of trivial bug
> > fixes too.
>
> I've applied all four of these as well as the two patches from "libxl:
> Remus support". Thanks for your contribution, and thanks for your
> patience in particular.
>
> I fixed up a minor reject in "libxl: refactor migrate_domain and
> generalize migrate_receive" due to the context line
>     dom_info.restore_file = "incoming migration stream";
> having been removed. It's hard to imagine I messed that up but you'd
> best check!
>
>
Strange.. the c/s on my local box is 25334 (before applying the patches).
I believe thats where xen-unstable.hg but the patches were applied against
staging/xen-unstable.hg..

And I think the issue you faced was because of a conflict with
c/s 25344: xl make clear distinction between "filename" and "data source"

that george submitted. Its in staging but not in the main unstable repo.

BTW I tested PV migrate, HVM migrate with qemu-xen-traditional (stub and
> non-stub) and PVHVM migrate with qemu-xen-traditional (stub and
> non-stub). All seemed OK.
>
>
Thanks a lot :).



>  Ian.
>
>
>

--00151761c8f4f5a1db04c050c7c9
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Fri, May 18, 2012 at 6:07 AM, Ian Campbell <span dir=3D"ltr">&lt;<a href=
=3D"mailto:Ian.Campbell@citrix.com" target=3D"_blank">Ian.Campbell@citrix.c=
om</a>&gt;</span> wrote:<br><div class=3D"gmail_quote"><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex">

<div class=3D"im">On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wr=
ote:<br>
&gt; This patch series refactors the suspend/resume code to minimize<br>
&gt; Remus specific code in libxl. There are a couple of trivial bug<br>
&gt; fixes too.<br>
<br>
</div>I&#39;ve applied all four of these as well as the two patches from &q=
uot;libxl:<br>
Remus support&quot;. Thanks for your contribution, and thanks for your<br>
patience in particular.<br>
<br>
I fixed up a minor reject in &quot;libxl: refactor migrate_domain and<br>
generalize migrate_receive&quot; due to the context line<br>
 =A0 =A0 dom_info.restore_file =3D &quot;incoming migration stream&quot;;<b=
r>
having been removed. It&#39;s hard to imagine I messed that up but you&#39;=
d<br>
best check!<br>
<br></blockquote><div><br></div><div>Strange.. the c/s on my local box is 2=
5334 (before applying the patches).</div><div>I believe thats where xen-uns=
table.hg but the patches were applied against</div><div>staging/xen-unstabl=
e.hg..=A0</div>

<div><br></div><div>And I think the issue you faced was because of a confli=
ct with=A0</div><div>c/s 25344: xl make clear distinction between &quot;fil=
ename&quot; and &quot;data source&quot;</div><div>=A0</div><div>that george=
 submitted. Its in staging but not in the main unstable repo.</div>

<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex">
BTW I tested PV migrate, HVM migrate with qemu-xen-traditional (stub and<br=
>
non-stub) and PVHVM migrate with qemu-xen-traditional (stub and<br>
non-stub). All seemed OK.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br></font></span></blockquo=
te><div><br></div><div>Thanks a lot :).</div><div><br></div><div>=A0</div><=
blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px=
 #ccc solid;padding-left:1ex">

<span class=3D"HOEnZb"><font color=3D"#888888">
Ian.<br>
<br>
<br>
</font></span></blockquote></div><br>

--00151761c8f4f5a1db04c050c7c9--


--===============2604899236224367845==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2604899236224367845==--


From xen-devel-bounces@lists.xen.org Fri May 18 15:03:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:03:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOhq-0007UL-P4; Fri, 18 May 2012 15:03:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOhp-0007UF-Cl
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:03:01 +0000
Received: from [85.158.139.83:61855] by server-11.bemta-5.messagelabs.com id
	20/E0-12959-4A466BF4; Fri, 18 May 2012 15:03:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337353379!28430475!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31309 invoked from network); 18 May 2012 15:03:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:03:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552988"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:02:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:02:59 +0100
Message-ID: <1337353377.22316.127.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 16:02:57 +0100
In-Reply-To: <4FB662F5.2010704@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> > @@ -429,6 +429,46 @@ libxl_device_model_version
> libxl__device_model_version_running(libxl__gc *gc,
> >       return value;
> >   }
> >
> > +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> > +                                   libxl_device_disk *disk,
> > +                                   libxl__device *device)
> 
> I think this should be moved to libxl_device instead of
> libxl_internal, since it's a device related function. 

I think it'd be better to leave it in the original file, libxl is so
confused about what goes where that it doesn't really matter...

If we do want to move it we can do it later as a pure code motion
change.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:03:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:03:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOhq-0007UL-P4; Fri, 18 May 2012 15:03:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOhp-0007UF-Cl
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:03:01 +0000
Received: from [85.158.139.83:61855] by server-11.bemta-5.messagelabs.com id
	20/E0-12959-4A466BF4; Fri, 18 May 2012 15:03:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337353379!28430475!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31309 invoked from network); 18 May 2012 15:03:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:03:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12552988"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:02:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:02:59 +0100
Message-ID: <1337353377.22316.127.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 16:02:57 +0100
In-Reply-To: <4FB662F5.2010704@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> > @@ -429,6 +429,46 @@ libxl_device_model_version
> libxl__device_model_version_running(libxl__gc *gc,
> >       return value;
> >   }
> >
> > +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> > +                                   libxl_device_disk *disk,
> > +                                   libxl__device *device)
> 
> I think this should be moved to libxl_device instead of
> libxl_internal, since it's a device related function. 

I think it'd be better to leave it in the original file, libxl is so
confused about what goes where that it doesn't really matter...

If we do want to move it we can do it later as a pure code motion
change.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:05:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOjw-0007dw-D0; Fri, 18 May 2012 15:05:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOju-0007dj-W8
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:05:11 +0000
Received: from [85.158.143.35:21296] by server-1.bemta-4.messagelabs.com id
	36/DF-00342-62566BF4; Fri, 18 May 2012 15:05:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337353508!16173051!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13425 invoked from network); 18 May 2012 15:05:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:05:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553023"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:04:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:04:37 +0100
Message-ID: <1337353475.22316.129.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
Date: Fri, 18 May 2012 16:04:35 +0100
In-Reply-To: <CAP8mzPOUO+NbXjpuVG3i5ysybDzyP6s8F37RWMpj1AFaMbt5gg@mail.gmail.com>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
	<1337335679.22316.44.camel@zakaz.uk.xensource.com>
	<CAP8mzPOUO+NbXjpuVG3i5ysybDzyP6s8F37RWMpj1AFaMbt5gg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume
	code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 15:57 +0100, Shriram Rajagopalan wrote:
> On Fri, May 18, 2012 at 6:07 AM, Ian Campbell
> <Ian.Campbell@citrix.com> wrote:
>         On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wrote:
>         > This patch series refactors the suspend/resume code to
>         minimize
>         > Remus specific code in libxl. There are a couple of trivial
>         bug
>         > fixes too.
>         
>         
>         I've applied all four of these as well as the two patches from
>         "libxl:
>         Remus support". Thanks for your contribution, and thanks for
>         your
>         patience in particular.
>         
>         I fixed up a minor reject in "libxl: refactor migrate_domain
>         and
>         generalize migrate_receive" due to the context line
>             dom_info.restore_file = "incoming migration stream";
>         having been removed. It's hard to imagine I messed that up but
>         you'd
>         best check!
>         
> 
> 
> Strange.. the c/s on my local box is 25334 (before applying the
> patches).
> I believe thats where xen-unstable.hg but the patches were applied
> against staging/xen-unstable.hg.. 

Yes, patches are always applied against staging.

> And I think the issue you faced was because of a conflict with 
> c/s 25344: xl make clear distinction between "filename" and "data
> source"

Yes, I think so, as I said it was just a line in the context which
differs.
 
> that george submitted. Its in staging but not in the main unstable
> repo.

Right, things are applied to staging and propagate automatically to the
main repo after automated testing. Nothing is ever applied direct to the
main repo.

Testing is a bit broken at the minute so the main repo is a little bit
behind.

>         BTW I tested PV migrate, HVM migrate with qemu-xen-traditional
>         (stub and
>         non-stub) and PVHVM migrate with qemu-xen-traditional (stub
>         and
>         non-stub). All seemed OK.
>         
> 
> 
> Thanks a lot :).

No problem.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:05:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOjw-0007dw-D0; Fri, 18 May 2012 15:05:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVOju-0007dj-W8
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:05:11 +0000
Received: from [85.158.143.35:21296] by server-1.bemta-4.messagelabs.com id
	36/DF-00342-62566BF4; Fri, 18 May 2012 15:05:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337353508!16173051!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13425 invoked from network); 18 May 2012 15:05:08 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:05:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553023"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:04:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:04:37 +0100
Message-ID: <1337353475.22316.129.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
Date: Fri, 18 May 2012 16:04:35 +0100
In-Reply-To: <CAP8mzPOUO+NbXjpuVG3i5ysybDzyP6s8F37RWMpj1AFaMbt5gg@mail.gmail.com>
References: <patchbomb.1337283957@athos.nss.cs.ubc.ca>
	<1337335679.22316.44.camel@zakaz.uk.xensource.com>
	<CAP8mzPOUO+NbXjpuVG3i5ysybDzyP6s8F37RWMpj1AFaMbt5gg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0 of 4 V6] libxl: refactor suspend/resume
	code
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 15:57 +0100, Shriram Rajagopalan wrote:
> On Fri, May 18, 2012 at 6:07 AM, Ian Campbell
> <Ian.Campbell@citrix.com> wrote:
>         On Thu, 2012-05-17 at 20:45 +0100, Shriram Rajagopalan wrote:
>         > This patch series refactors the suspend/resume code to
>         minimize
>         > Remus specific code in libxl. There are a couple of trivial
>         bug
>         > fixes too.
>         
>         
>         I've applied all four of these as well as the two patches from
>         "libxl:
>         Remus support". Thanks for your contribution, and thanks for
>         your
>         patience in particular.
>         
>         I fixed up a minor reject in "libxl: refactor migrate_domain
>         and
>         generalize migrate_receive" due to the context line
>             dom_info.restore_file = "incoming migration stream";
>         having been removed. It's hard to imagine I messed that up but
>         you'd
>         best check!
>         
> 
> 
> Strange.. the c/s on my local box is 25334 (before applying the
> patches).
> I believe thats where xen-unstable.hg but the patches were applied
> against staging/xen-unstable.hg.. 

Yes, patches are always applied against staging.

> And I think the issue you faced was because of a conflict with 
> c/s 25344: xl make clear distinction between "filename" and "data
> source"

Yes, I think so, as I said it was just a line in the context which
differs.
 
> that george submitted. Its in staging but not in the main unstable
> repo.

Right, things are applied to staging and propagate automatically to the
main repo after automated testing. Nothing is ever applied direct to the
main repo.

Testing is a bit broken at the minute so the main repo is a little bit
behind.

>         BTW I tested PV migrate, HVM migrate with qemu-xen-traditional
>         (stub and
>         non-stub) and PVHVM migrate with qemu-xen-traditional (stub
>         and
>         non-stub). All seemed OK.
>         
> 
> 
> Thanks a lot :).

No problem.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:08:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOmd-0007uR-M6; Fri, 18 May 2012 15:07:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVOmb-0007uA-Fy
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:07:57 +0000
Received: from [85.158.143.35:11466] by server-3.bemta-4.messagelabs.com id
	2A/BF-05853-CC566BF4; Fri, 18 May 2012 15:07:56 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337353675!5164473!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24305 invoked from network); 18 May 2012 15:07:55 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-21.messagelabs.com with SMTP;
	18 May 2012 15:07:55 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77988222; Fri, 18 May 2012 17:07:54 +0200
Message-ID: <1337353667.16815.25.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 18 May 2012 17:07:47 +0200
In-Reply-To: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7148855220537444359=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7148855220537444359==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-UjK8SSTZVztOqdKhU5JE"


--=-UjK8SSTZVztOqdKhU5JE
Content-Type: multipart/mixed; boundary="=-sQY0hi3Xm+7ZjKI58pOW"


--=-sQY0hi3Xm+7ZjKI58pOW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-18 at 15:55 +0100, Ian Campbell wrote:
> I wonder if just changing the return type of libxl__domain_type to int
> would be better than this? I guess it'll probably be much the same.
>=20
Well, the patch I'm attaching now let me at least build cleanly,
_without_ any other patches (not Christoph's nor mine)... Did you mean
something like that?

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-sQY0hi3Xm+7ZjKI58pOW
Content-Disposition: attachment; filename="libxl__domain_type.patch"
Content-Type: text/x-patch; name="libxl__domain_type.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

ZGlmZiAtciA3NDViOTkyMGRmYTMgdG9vbHMvbGlieGwvbGlieGxfZG9tLmMNCi0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2RvbS5jCUZyaSBNYXkgMTggMTM6NDA6MDAgMjAxMiArMDEwMA0KKysrIGIv
dG9vbHMvbGlieGwvbGlieGxfZG9tLmMJRnJpIE1heSAxOCAxNzowMzoyNyAyMDEyICswMjAwDQpA
QCAtMjUsNyArMjUsOCBAQA0KIA0KICNpbmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIg0KIA0KLWxp
YnhsX2RvbWFpbl90eXBlIGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf
dCBkb21pZCkNCisvL2xpYnhsX2RvbWFpbl90eXBlDQoraW50IGxpYnhsX19kb21haW5fdHlwZShs
aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCkNCiB7DQogICAgIGxpYnhsX2N0eCAqY3R4ID0g
bGlieGxfX2djX293bmVyKGdjKTsNCiAgICAgeGNfZG9tYWluaW5mb190IGluZm87DQpkaWZmIC1y
IDc0NWI5OTIwZGZhMyB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oDQotLS0gYS90b29scy9s
aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCUZyaSBNYXkgMTggMTM6NDA6MDAgMjAxMiArMDEwMA0KKysr
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAlGcmkgTWF5IDE4IDE3OjAzOjI3IDIwMTIg
KzAyMDANCkBAIC03MTQsNyArNzE0LDggQEAgaW50IGxpYnhsX19zZWxmX3BpcGVfZWF0YWxsKGlu
dCBmZCk7IC8qIA0KIA0KIA0KIC8qIGZyb20geGxfZG9tICovDQotX2hpZGRlbiBsaWJ4bF9kb21h
aW5fdHlwZSBsaWJ4bF9fZG9tYWluX3R5cGUobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQp
Ow0KKy8vX2hpZGRlbiBsaWJ4bF9kb21haW5fdHlwZQ0KK19oaWRkZW4gaW50IGxpYnhsX19kb21h
aW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCk7DQogX2hpZGRlbiBpbnQgbGli
eGxfX2RvbWFpbl9zaHV0ZG93bl9yZWFzb24obGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQp
Ow0KIF9oaWRkZW4gaW50IGxpYnhsX19zY2hlZF9zZXRfcGFyYW1zKGxpYnhsX19nYyAqZ2MsIHVp
bnQzMl90IGRvbWlkLCBsaWJ4bF9zY2hlZF9wYXJhbXMgKnNjcGFyYW1zKTsNCiAjZGVmaW5lIExJ
QlhMX19ET01BSU5fSVNfVFlQRShnYywgZG9taWQsIHR5cGUpIFwNCg==


--=-sQY0hi3Xm+7ZjKI58pOW--

--=-UjK8SSTZVztOqdKhU5JE
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2ZcMACgkQk4XaBE3IOsRThACfYG4cB9wMsOtf2ktopPZKqRwn
BYMAn2AD7MBvB/58wQTgc81VnpntwHWf
=ZDQ2
-----END PGP SIGNATURE-----

--=-UjK8SSTZVztOqdKhU5JE--



--===============7148855220537444359==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7148855220537444359==--



From xen-devel-bounces@lists.xen.org Fri May 18 15:08:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOmd-0007uR-M6; Fri, 18 May 2012 15:07:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVOmb-0007uA-Fy
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:07:57 +0000
Received: from [85.158.143.35:11466] by server-3.bemta-4.messagelabs.com id
	2A/BF-05853-CC566BF4; Fri, 18 May 2012 15:07:56 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337353675!5164473!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24305 invoked from network); 18 May 2012 15:07:55 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-21.messagelabs.com with SMTP;
	18 May 2012 15:07:55 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77988222; Fri, 18 May 2012 17:07:54 +0200
Message-ID: <1337353667.16815.25.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 18 May 2012 17:07:47 +0200
In-Reply-To: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7148855220537444359=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7148855220537444359==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-UjK8SSTZVztOqdKhU5JE"


--=-UjK8SSTZVztOqdKhU5JE
Content-Type: multipart/mixed; boundary="=-sQY0hi3Xm+7ZjKI58pOW"


--=-sQY0hi3Xm+7ZjKI58pOW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-18 at 15:55 +0100, Ian Campbell wrote:
> I wonder if just changing the return type of libxl__domain_type to int
> would be better than this? I guess it'll probably be much the same.
>=20
Well, the patch I'm attaching now let me at least build cleanly,
_without_ any other patches (not Christoph's nor mine)... Did you mean
something like that?

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-sQY0hi3Xm+7ZjKI58pOW
Content-Disposition: attachment; filename="libxl__domain_type.patch"
Content-Type: text/x-patch; name="libxl__domain_type.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

ZGlmZiAtciA3NDViOTkyMGRmYTMgdG9vbHMvbGlieGwvbGlieGxfZG9tLmMNCi0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2RvbS5jCUZyaSBNYXkgMTggMTM6NDA6MDAgMjAxMiArMDEwMA0KKysrIGIv
dG9vbHMvbGlieGwvbGlieGxfZG9tLmMJRnJpIE1heSAxOCAxNzowMzoyNyAyMDEyICswMjAwDQpA
QCAtMjUsNyArMjUsOCBAQA0KIA0KICNpbmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIg0KIA0KLWxp
YnhsX2RvbWFpbl90eXBlIGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf
dCBkb21pZCkNCisvL2xpYnhsX2RvbWFpbl90eXBlDQoraW50IGxpYnhsX19kb21haW5fdHlwZShs
aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCkNCiB7DQogICAgIGxpYnhsX2N0eCAqY3R4ID0g
bGlieGxfX2djX293bmVyKGdjKTsNCiAgICAgeGNfZG9tYWluaW5mb190IGluZm87DQpkaWZmIC1y
IDc0NWI5OTIwZGZhMyB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oDQotLS0gYS90b29scy9s
aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCUZyaSBNYXkgMTggMTM6NDA6MDAgMjAxMiArMDEwMA0KKysr
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAlGcmkgTWF5IDE4IDE3OjAzOjI3IDIwMTIg
KzAyMDANCkBAIC03MTQsNyArNzE0LDggQEAgaW50IGxpYnhsX19zZWxmX3BpcGVfZWF0YWxsKGlu
dCBmZCk7IC8qIA0KIA0KIA0KIC8qIGZyb20geGxfZG9tICovDQotX2hpZGRlbiBsaWJ4bF9kb21h
aW5fdHlwZSBsaWJ4bF9fZG9tYWluX3R5cGUobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQp
Ow0KKy8vX2hpZGRlbiBsaWJ4bF9kb21haW5fdHlwZQ0KK19oaWRkZW4gaW50IGxpYnhsX19kb21h
aW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCk7DQogX2hpZGRlbiBpbnQgbGli
eGxfX2RvbWFpbl9zaHV0ZG93bl9yZWFzb24obGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQp
Ow0KIF9oaWRkZW4gaW50IGxpYnhsX19zY2hlZF9zZXRfcGFyYW1zKGxpYnhsX19nYyAqZ2MsIHVp
bnQzMl90IGRvbWlkLCBsaWJ4bF9zY2hlZF9wYXJhbXMgKnNjcGFyYW1zKTsNCiAjZGVmaW5lIExJ
QlhMX19ET01BSU5fSVNfVFlQRShnYywgZG9taWQsIHR5cGUpIFwNCg==


--=-sQY0hi3Xm+7ZjKI58pOW--

--=-UjK8SSTZVztOqdKhU5JE
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2ZcMACgkQk4XaBE3IOsRThACfYG4cB9wMsOtf2ktopPZKqRwn
BYMAn2AD7MBvB/58wQTgc81VnpntwHWf
=ZDQ2
-----END PGP SIGNATURE-----

--=-UjK8SSTZVztOqdKhU5JE--



--===============7148855220537444359==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7148855220537444359==--



From xen-devel-bounces@lists.xen.org Fri May 18 15:12:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOqa-0008I5-Om; Fri, 18 May 2012 15:12:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVOqZ-0008Hv-LX
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:12:03 +0000
Received: from [85.158.139.83:63298] by server-11.bemta-5.messagelabs.com id
	D4/2A-12959-2C666BF4; Fri, 18 May 2012 15:12:02 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337353919!26415709!1
X-Originating-IP: [216.32.181.186]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3268 invoked from network); 18 May 2012 15:12:01 -0000
Received: from ch1ehsobe006.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.186)
	by server-4.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 15:12:01 -0000
Received: from mail223-ch1-R.bigfish.com (10.43.68.243) by
	CH1EHSOBE018.bigfish.com (10.43.70.68) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:11:50 +0000
Received: from mail223-ch1 (localhost [127.0.0.1])	by
	mail223-ch1-R.bigfish.com (Postfix) with ESMTP id 1B35A4602DE;
	Fri, 18 May 2012 15:11:50 +0000 (UTC)
X-SpamScore: -14
X-BigFish: VPS-14(zzbb2dIc89bh936eK1521I1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail223-ch1 (localhost.localdomain [127.0.0.1]) by mail223-ch1
	(MessageSwitch) id 1337353908455883_8443;
	Fri, 18 May 2012 15:11:48 +0000 (UTC)
Received: from CH1EHSMHS005.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.239])	by mail223-ch1.bigfish.com (Postfix) with ESMTP id
	611AE44005A;	Fri, 18 May 2012 15:11:48 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS005.bigfish.com (10.43.70.5) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:11:47 +0000
X-WSS-ID: 0M484VU-02-1ZA-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 287E1C8086;	Fri, 18 May 2012 10:11:54 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 10:18:44 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 10:11:54 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	11:11:50 -0400
Message-ID: <4FB666B4.4090807@amd.com>
Date: Fri, 18 May 2012 17:11:48 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMTgvMTIgMTY6NTUsIElhbiBDYW1wYmVsbCB3cm90ZToKCj4gT24gRnJpLCAyMDEyLTA1
LTE4IGF0IDE1OjQ4ICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToKPj4gT24gRnJpLCAyMDEy
LTA1LTE4IGF0IDE1OjM5ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4+Pj4gV2hpY2ggYWN0
dWFsbHkgc2VlbXMgdG8gYmUgcmlnaHQ6Cj4+Pj4KPj4+PiAkIGdyZXAgTElCWExfRE9NQUlOX1RZ
UEVfSU5WQUxJRCB0b29scy8qIC1SCj4+Pj4gdG9vbHMvbGlieGwvbGlieGxfZG0uYzogICAgY2Fz
ZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+Pj4+IHRvb2xzL2xpYnhsL2xpYnhsX2RtLmM6
ICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPj4+PiB0b29scy9saWJ4bC9saWJ4
bF9kb20uYzogICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwo+Pj4+IHRv
b2xzL2xpYnhsL2xpYnhsX2RvbS5jOiAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lO
VkFMSUQ7Cj4+Pj4gdG9vbHMvbGlieGwvbGlieGwuYzogICAgICAgIGNhc2UgTElCWExfRE9NQUlO
X1RZUEVfSU5WQUxJRDoKPj4+Pgo+Pj4+IEFtIEkgbWlzc2luZyBzb21ldGhpbmc/Cj4+Pgo+Pj4g
VGhpcyBzaG91bGQgYmUgZGVmaW5lZCBpbiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYnV0
IHRoZSBwYXRjaAo+Pj4gZG9lc24ndCBzZWVtIHRvIGFkZCBpdC4KPj4+Cj4+IFllcCwgSSdtIGFk
ZGluZyBpdCBteXNlbGYgd2l0aCB0aGUgYXR0YWNoZWQgcGF0Y2gsIGJ1dCBJJ20gbm93IGdldHRp
bmcKPj4gdGhpczoKPj4KPj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2Rv
bWFpbl9idWlsZF9pbmZvX2Rpc3Bvc2XigJk6Cj4+IF9saWJ4bF90eXBlcy5jOjkxOjU6IGVycm9y
OiBlbnVtZXJhdGlvbiB2YWx1ZSDigJhMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElE4oCZIG5vdCBo
YW5kbGVkIGluIHN3aXRjaCBbLVdlcnJvcj1zd2l0Y2hdCj4+IF9saWJ4bF90eXBlcy5jOiBJbiBm
dW5jdGlvbiDigJhsaWJ4bF9kb21haW5fYnVpbGRfaW5mb19pbml0X3R5cGXigJk6Cj4+IF9saWJ4
bF90eXBlcy5jOjI4NDo1OiBlcnJvcjogZW51bWVyYXRpb24gdmFsdWUg4oCYTElCWExfRE9NQUlO
X1RZUEVfSU5WQUxJROKAmSBub3QgaGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJyb3I9c3dpdGNoXQo+
PiB0ZXN0aWRsLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvX3JhbmRf
aW5pdOKAmToKPj4gdGVzdGlkbC5jOjM2Njo1OiBlcnJvcjogZW51bWVyYXRpb24gdmFsdWUg4oCY
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJROKAmSBub3QgaGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJy
b3I9c3dpdGNoXQo+PiBfbGlieGxfdHlwZXMuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWlu
X2J1aWxkX2luZm9fZ2VuX2pzb27igJk6Cj4+IF9saWJ4bF90eXBlcy5jOjE3MTM6NTogZXJyb3I6
IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhh
bmRsZWQgaW4gc3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPj4gY2MxOiBhbGwgd2FybmluZ3MgYmVp
bmcgdHJlYXRlZCBhcyBlcnJvcnMKPj4KPj4gOi1PCj4gCj4gSSB3b25kZXIgaWYganVzdCBjaGFu
Z2luZyB0aGUgcmV0dXJuIHR5cGUgb2YgbGlieGxfX2RvbWFpbl90eXBlIHRvIGludAo+IHdvdWxk
IGJlIGJldHRlciB0aGFuIHRoaXM/IEkgZ3Vlc3MgaXQnbGwgcHJvYmFibHkgYmUgbXVjaCB0aGUg
c2FtZS4KCgpJcyBsaWJ4bF9kb21haW5fdHlwZSBwYXJ0IG9mIHRoZSBBUEkgPyBJZiB5ZXMgdGhl
biBpdCBpcyBiZXR0ZXIgdG8gdXNlCidpbnQnIGFuZCBjaGFuZ2UgdGhlIGVudW0gdG8gI2RlZmlu
ZXMgdG8gYmUgc2FmZSBzaWRlLiBBbiBlbnVtIHVzZWQKaW4gdGhlIEFQSSBoYXMgYSBiYWNrd2Fy
ZC1jb21wYXRpYmlsaXR5IGlzc3VlIHJlbGF0ZWQgdG8gaXRzIHNpemU6CgpBbiBlbnVtIGlzIGFz
IHNtYWxsIGFzIHBvc3NpYmxlIHRvIGhvbGQgdGhlIGxhcmdlc3QgdmFsdWUuCldoYXRldmVyICdh
cyBzbWFsbCBhcyBwb3NzaWJsZScgbWVhbnMgZGVwZW5kcyBvbiB0aGUgYXJjaGl0ZWN0dXJlLgoK
Q2hyaXN0b3BoCgotLSAKLS0tdG8gc2F0aXNmeSBFdXJvcGVhbiBMYXcgZm9yIGJ1c2luZXNzIGxl
dHRlcnM6CkFkdmFuY2VkIE1pY3JvIERldmljZXMgR21iSApFaW5zdGVpbnJpbmcgMjQsIDg1Njg5
IERvcm5hY2ggYi4gTXVlbmNoZW4KR2VzY2hhZWZ0c2Z1ZWhyZXI6IEFsYmVydG8gQm96em8sIEFu
ZHJldyBCb3dkClNpdHo6IERvcm5hY2gsIEdlbWVpbmRlIEFzY2hoZWltLCBMYW5ka3JlaXMgTXVl
bmNoZW4KUmVnaXN0ZXJnZXJpY2h0IE11ZW5jaGVuLCBIUkIgTnIuIDQzNjMyCgoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg
bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2
ZWwK

From xen-devel-bounces@lists.xen.org Fri May 18 15:12:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOqa-0008I5-Om; Fri, 18 May 2012 15:12:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVOqZ-0008Hv-LX
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:12:03 +0000
Received: from [85.158.139.83:63298] by server-11.bemta-5.messagelabs.com id
	D4/2A-12959-2C666BF4; Fri, 18 May 2012 15:12:02 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337353919!26415709!1
X-Originating-IP: [216.32.181.186]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3268 invoked from network); 18 May 2012 15:12:01 -0000
Received: from ch1ehsobe006.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.186)
	by server-4.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 15:12:01 -0000
Received: from mail223-ch1-R.bigfish.com (10.43.68.243) by
	CH1EHSOBE018.bigfish.com (10.43.70.68) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:11:50 +0000
Received: from mail223-ch1 (localhost [127.0.0.1])	by
	mail223-ch1-R.bigfish.com (Postfix) with ESMTP id 1B35A4602DE;
	Fri, 18 May 2012 15:11:50 +0000 (UTC)
X-SpamScore: -14
X-BigFish: VPS-14(zzbb2dIc89bh936eK1521I1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail223-ch1 (localhost.localdomain [127.0.0.1]) by mail223-ch1
	(MessageSwitch) id 1337353908455883_8443;
	Fri, 18 May 2012 15:11:48 +0000 (UTC)
Received: from CH1EHSMHS005.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.239])	by mail223-ch1.bigfish.com (Postfix) with ESMTP id
	611AE44005A;	Fri, 18 May 2012 15:11:48 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS005.bigfish.com (10.43.70.5) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:11:47 +0000
X-WSS-ID: 0M484VU-02-1ZA-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 287E1C8086;	Fri, 18 May 2012 10:11:54 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 10:18:44 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 10:11:54 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	11:11:50 -0400
Message-ID: <4FB666B4.4090807@amd.com>
Date: Fri, 18 May 2012 17:11:48 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMTgvMTIgMTY6NTUsIElhbiBDYW1wYmVsbCB3cm90ZToKCj4gT24gRnJpLCAyMDEyLTA1
LTE4IGF0IDE1OjQ4ICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToKPj4gT24gRnJpLCAyMDEy
LTA1LTE4IGF0IDE1OjM5ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4+Pj4gV2hpY2ggYWN0
dWFsbHkgc2VlbXMgdG8gYmUgcmlnaHQ6Cj4+Pj4KPj4+PiAkIGdyZXAgTElCWExfRE9NQUlOX1RZ
UEVfSU5WQUxJRCB0b29scy8qIC1SCj4+Pj4gdG9vbHMvbGlieGwvbGlieGxfZG0uYzogICAgY2Fz
ZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+Pj4+IHRvb2xzL2xpYnhsL2xpYnhsX2RtLmM6
ICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPj4+PiB0b29scy9saWJ4bC9saWJ4
bF9kb20uYzogICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwo+Pj4+IHRv
b2xzL2xpYnhsL2xpYnhsX2RvbS5jOiAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lO
VkFMSUQ7Cj4+Pj4gdG9vbHMvbGlieGwvbGlieGwuYzogICAgICAgIGNhc2UgTElCWExfRE9NQUlO
X1RZUEVfSU5WQUxJRDoKPj4+Pgo+Pj4+IEFtIEkgbWlzc2luZyBzb21ldGhpbmc/Cj4+Pgo+Pj4g
VGhpcyBzaG91bGQgYmUgZGVmaW5lZCBpbiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYnV0
IHRoZSBwYXRjaAo+Pj4gZG9lc24ndCBzZWVtIHRvIGFkZCBpdC4KPj4+Cj4+IFllcCwgSSdtIGFk
ZGluZyBpdCBteXNlbGYgd2l0aCB0aGUgYXR0YWNoZWQgcGF0Y2gsIGJ1dCBJJ20gbm93IGdldHRp
bmcKPj4gdGhpczoKPj4KPj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2Rv
bWFpbl9idWlsZF9pbmZvX2Rpc3Bvc2XigJk6Cj4+IF9saWJ4bF90eXBlcy5jOjkxOjU6IGVycm9y
OiBlbnVtZXJhdGlvbiB2YWx1ZSDigJhMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElE4oCZIG5vdCBo
YW5kbGVkIGluIHN3aXRjaCBbLVdlcnJvcj1zd2l0Y2hdCj4+IF9saWJ4bF90eXBlcy5jOiBJbiBm
dW5jdGlvbiDigJhsaWJ4bF9kb21haW5fYnVpbGRfaW5mb19pbml0X3R5cGXigJk6Cj4+IF9saWJ4
bF90eXBlcy5jOjI4NDo1OiBlcnJvcjogZW51bWVyYXRpb24gdmFsdWUg4oCYTElCWExfRE9NQUlO
X1RZUEVfSU5WQUxJROKAmSBub3QgaGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJyb3I9c3dpdGNoXQo+
PiB0ZXN0aWRsLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvX3JhbmRf
aW5pdOKAmToKPj4gdGVzdGlkbC5jOjM2Njo1OiBlcnJvcjogZW51bWVyYXRpb24gdmFsdWUg4oCY
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJROKAmSBub3QgaGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJy
b3I9c3dpdGNoXQo+PiBfbGlieGxfdHlwZXMuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWlu
X2J1aWxkX2luZm9fZ2VuX2pzb27igJk6Cj4+IF9saWJ4bF90eXBlcy5jOjE3MTM6NTogZXJyb3I6
IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhh
bmRsZWQgaW4gc3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPj4gY2MxOiBhbGwgd2FybmluZ3MgYmVp
bmcgdHJlYXRlZCBhcyBlcnJvcnMKPj4KPj4gOi1PCj4gCj4gSSB3b25kZXIgaWYganVzdCBjaGFu
Z2luZyB0aGUgcmV0dXJuIHR5cGUgb2YgbGlieGxfX2RvbWFpbl90eXBlIHRvIGludAo+IHdvdWxk
IGJlIGJldHRlciB0aGFuIHRoaXM/IEkgZ3Vlc3MgaXQnbGwgcHJvYmFibHkgYmUgbXVjaCB0aGUg
c2FtZS4KCgpJcyBsaWJ4bF9kb21haW5fdHlwZSBwYXJ0IG9mIHRoZSBBUEkgPyBJZiB5ZXMgdGhl
biBpdCBpcyBiZXR0ZXIgdG8gdXNlCidpbnQnIGFuZCBjaGFuZ2UgdGhlIGVudW0gdG8gI2RlZmlu
ZXMgdG8gYmUgc2FmZSBzaWRlLiBBbiBlbnVtIHVzZWQKaW4gdGhlIEFQSSBoYXMgYSBiYWNrd2Fy
ZC1jb21wYXRpYmlsaXR5IGlzc3VlIHJlbGF0ZWQgdG8gaXRzIHNpemU6CgpBbiBlbnVtIGlzIGFz
IHNtYWxsIGFzIHBvc3NpYmxlIHRvIGhvbGQgdGhlIGxhcmdlc3QgdmFsdWUuCldoYXRldmVyICdh
cyBzbWFsbCBhcyBwb3NzaWJsZScgbWVhbnMgZGVwZW5kcyBvbiB0aGUgYXJjaGl0ZWN0dXJlLgoK
Q2hyaXN0b3BoCgotLSAKLS0tdG8gc2F0aXNmeSBFdXJvcGVhbiBMYXcgZm9yIGJ1c2luZXNzIGxl
dHRlcnM6CkFkdmFuY2VkIE1pY3JvIERldmljZXMgR21iSApFaW5zdGVpbnJpbmcgMjQsIDg1Njg5
IERvcm5hY2ggYi4gTXVlbmNoZW4KR2VzY2hhZWZ0c2Z1ZWhyZXI6IEFsYmVydG8gQm96em8sIEFu
ZHJldyBCb3dkClNpdHo6IERvcm5hY2gsIEdlbWVpbmRlIEFzY2hoZWltLCBMYW5ka3JlaXMgTXVl
bmNoZW4KUmVnaXN0ZXJnZXJpY2h0IE11ZW5jaGVuLCBIUkIgTnIuIDQzNjMyCgoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg
bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2
ZWwK

From xen-devel-bounces@lists.xen.org Fri May 18 15:17:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOvJ-0000Dl-84; Fri, 18 May 2012 15:16:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVOvH-0000DU-MC
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:16:55 +0000
Received: from [85.158.143.35:6250] by server-2.bemta-4.messagelabs.com id
	54/85-12211-7E766BF4; Fri, 18 May 2012 15:16:55 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337354212!4779223!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14373 invoked from network); 18 May 2012 15:16:54 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:16:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="25334261"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:16:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 11:16:51 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVOvD-0006ak-I1;
	Fri, 18 May 2012 16:16:51 +0100
Message-ID: <4FB667E4.6010301@citrix.com>
Date: Fri, 18 May 2012 16:16:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337353377.22316.127.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
>>> @@ -429,6 +429,46 @@ libxl_device_model_version
>> libxl__device_model_version_running(libxl__gc *gc,
>>>        return value;
>>>    }
>>>
>>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
>>> +                                   libxl_device_disk *disk,
>>> +                                   libxl__device *device)
>> I think this should be moved to libxl_device instead of
>> libxl_internal, since it's a device related function.
>
> I think it'd be better to leave it in the original file, libxl is so
> confused about what goes where that it doesn't really matter...
>
> If we do want to move it we can do it later as a pure code motion
> change.

In my hotplug series I'm moving most libxl_device_{...}_add to provide 
an internal implementation that takes an ao, making something quite 
similar to what Stefano does, if I start moving all those to 
libxl_internal we will fill this file with functions that could be 
somewhere else (libxl_device). I understand that the libxl policy is put 
functions where they seem to belong (device related functions to 
libxl_device, domain related ones to libxl_dom...), and if they fit in 
none of this categories then put them in libxl_internal or create a new 
file.

We can leave it in libxl_internal for now, and I will move it on my series.

> Ian.
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:17:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVOvJ-0000Dl-84; Fri, 18 May 2012 15:16:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SVOvH-0000DU-MC
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:16:55 +0000
Received: from [85.158.143.35:6250] by server-2.bemta-4.messagelabs.com id
	54/85-12211-7E766BF4; Fri, 18 May 2012 15:16:55 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337354212!4779223!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUxMzc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14373 invoked from network); 18 May 2012 15:16:54 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:16:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330923600"; d="scan'208";a="25334261"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 11:16:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 11:16:51 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SVOvD-0006ak-I1;
	Fri, 18 May 2012 16:16:51 +0100
Message-ID: <4FB667E4.6010301@citrix.com>
Date: Fri, 18 May 2012 16:16:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337353377.22316.127.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
>>> @@ -429,6 +429,46 @@ libxl_device_model_version
>> libxl__device_model_version_running(libxl__gc *gc,
>>>        return value;
>>>    }
>>>
>>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
>>> +                                   libxl_device_disk *disk,
>>> +                                   libxl__device *device)
>> I think this should be moved to libxl_device instead of
>> libxl_internal, since it's a device related function.
>
> I think it'd be better to leave it in the original file, libxl is so
> confused about what goes where that it doesn't really matter...
>
> If we do want to move it we can do it later as a pure code motion
> change.

In my hotplug series I'm moving most libxl_device_{...}_add to provide 
an internal implementation that takes an ao, making something quite 
similar to what Stefano does, if I start moving all those to 
libxl_internal we will fill this file with functions that could be 
somewhere else (libxl_device). I understand that the libxl policy is put 
functions where they seem to belong (device related functions to 
libxl_device, domain related ones to libxl_dom...), and if they fit in 
none of this categories then put them in libxl_internal or create a new 
file.

We can leave it in libxl_internal for now, and I will move it on my series.

> Ian.
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:22:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:22:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP0L-0000ew-52; Fri, 18 May 2012 15:22:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SVP0J-0000eq-Bs
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:22:07 +0000
Received: from [85.158.143.35:41596] by server-2.bemta-4.messagelabs.com id
	0E/0F-12211-E1966BF4; Fri, 18 May 2012 15:22:06 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337354525!13556526!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7748 invoked from network); 18 May 2012 15:22:06 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 18 May 2012 15:22:06 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SVP0F-000Apd-HR; Fri, 18 May 2012 15:22:03 +0000
Date: Fri, 18 May 2012 16:22:03 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120518152203.GA40048@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
> # HG changeset patch
> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

Applied, thanks.  I gave it a slightly fuller description and fixed some
whitespace around parentheses on the way past. 

I think that empties the queue, at least of things that are wanted for 4.2.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:22:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:22:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP0L-0000ew-52; Fri, 18 May 2012 15:22:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SVP0J-0000eq-Bs
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:22:07 +0000
Received: from [85.158.143.35:41596] by server-2.bemta-4.messagelabs.com id
	0E/0F-12211-E1966BF4; Fri, 18 May 2012 15:22:06 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337354525!13556526!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7748 invoked from network); 18 May 2012 15:22:06 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 18 May 2012 15:22:06 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SVP0F-000Apd-HR; Fri, 18 May 2012 15:22:03 +0000
Date: Fri, 18 May 2012 16:22:03 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120518152203.GA40048@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
> # HG changeset patch
> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

Applied, thanks.  I gave it a slightly fuller description and fixed some
whitespace around parentheses on the way past. 

I think that empties the queue, at least of things that are wanted for 4.2.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:23:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:23:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP0w-0000iJ-Je; Fri, 18 May 2012 15:22:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVP0v-0000i8-2r
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:22:45 +0000
Received: from [85.158.143.99:13860] by server-3.bemta-4.messagelabs.com id
	BF/AA-05853-44966BF4; Fri, 18 May 2012 15:22:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337354563!23389451!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21247 invoked from network); 18 May 2012 15:22:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:22:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553338"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:22:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:22:42 +0100
Message-ID: <1337354561.22316.131.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 16:22:41 +0100
In-Reply-To: <4FB666B4.4090807@amd.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<4FB666B4.4090807@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTE4IGF0IDE2OjExICswMTAwLCBDaHJpc3RvcGggRWdnZXIgd3JvdGU6
Cj4gT24gMDUvMTgvMTIgMTY6NTUsIElhbiBDYW1wYmVsbCB3cm90ZToKPiAKPiA+IE9uIEZyaSwg
MjAxMi0wNS0xOCBhdCAxNTo0OCArMDEwMCwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4gPj4gT24g
RnJpLCAyMDEyLTA1LTE4IGF0IDE1OjM5ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4gPj4+
PiBXaGljaCBhY3R1YWxseSBzZWVtcyB0byBiZSByaWdodDoKPiA+Pj4+Cj4gPj4+PiAkIGdyZXAg
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCB0b29scy8qIC1SCj4gPj4+PiB0b29scy9saWJ4bC9s
aWJ4bF9kbS5jOiAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gPj4+PiB0b29s
cy9saWJ4bC9saWJ4bF9kbS5jOiAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4g
Pj4+PiB0b29scy9saWJ4bC9saWJ4bF9kb20uYzogICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5f
VFlQRV9JTlZBTElEOwo+ID4+Pj4gdG9vbHMvbGlieGwvbGlieGxfZG9tLmM6ICAgICAgICByZXR1
cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKPiA+Pj4+IHRvb2xzL2xpYnhsL2xpYnhsLmM6
ICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gPj4+Pgo+ID4+Pj4gQW0g
SSBtaXNzaW5nIHNvbWV0aGluZz8KPiA+Pj4KPiA+Pj4gVGhpcyBzaG91bGQgYmUgZGVmaW5lZCBp
biB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYnV0IHRoZSBwYXRjaAo+ID4+PiBkb2Vzbid0
IHNlZW0gdG8gYWRkIGl0Lgo+ID4+Pgo+ID4+IFllcCwgSSdtIGFkZGluZyBpdCBteXNlbGYgd2l0
aCB0aGUgYXR0YWNoZWQgcGF0Y2gsIGJ1dCBJJ20gbm93IGdldHRpbmcKPiA+PiB0aGlzOgo+ID4+
Cj4gPj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9p
bmZvX2Rpc3Bvc2XigJk6Cj4gPj4gX2xpYnhsX3R5cGVzLmM6OTE6NTogZXJyb3I6IGVudW1lcmF0
aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4g
c3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPiA+PiBfbGlieGxfdHlwZXMuYzogSW4gZnVuY3Rpb24g
4oCYbGlieGxfZG9tYWluX2J1aWxkX2luZm9faW5pdF90eXBl4oCZOgo+ID4+IF9saWJ4bF90eXBl
cy5jOjI4NDo1OiBlcnJvcjogZW51bWVyYXRpb24gdmFsdWUg4oCYTElCWExfRE9NQUlOX1RZUEVf
SU5WQUxJROKAmSBub3QgaGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJyb3I9c3dpdGNoXQo+ID4+IHRl
c3RpZGwuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWluX2J1aWxkX2luZm9fcmFuZF9pbml0
4oCZOgo+ID4+IHRlc3RpZGwuYzozNjY6NTogZXJyb3I6IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJ
QlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4gc3dpdGNoIFstV2Vycm9y
PXN3aXRjaF0KPiA+PiBfbGlieGxfdHlwZXMuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWlu
X2J1aWxkX2luZm9fZ2VuX2pzb27igJk6Cj4gPj4gX2xpYnhsX3R5cGVzLmM6MTcxMzo1OiBlcnJv
cjogZW51bWVyYXRpb24gdmFsdWUg4oCYTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJROKAmSBub3Qg
aGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJyb3I9c3dpdGNoXQo+ID4+IGNjMTogYWxsIHdhcm5pbmdz
IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCj4gPj4KPiA+PiA6LU8KPiA+IAo+ID4gSSB3b25kZXIg
aWYganVzdCBjaGFuZ2luZyB0aGUgcmV0dXJuIHR5cGUgb2YgbGlieGxfX2RvbWFpbl90eXBlIHRv
IGludAo+ID4gd291bGQgYmUgYmV0dGVyIHRoYW4gdGhpcz8gSSBndWVzcyBpdCdsbCBwcm9iYWJs
eSBiZSBtdWNoIHRoZSBzYW1lLgo+IAo+IAo+IElzIGxpYnhsX2RvbWFpbl90eXBlIHBhcnQgb2Yg
dGhlIEFQSSA/Cj4gIElmIHllcyB0aGVuIGl0IGlzIGJldHRlciB0byB1c2UKPiAnaW50JyBhbmQg
Y2hhbmdlIHRoZSBlbnVtIHRvICNkZWZpbmVzIHRvIGJlIHNhZmUgc2lkZS4gQW4gZW51bSB1c2Vk
Cj4gaW4gdGhlIEFQSSBoYXMgYSBiYWNrd2FyZC1jb21wYXRpYmlsaXR5IGlzc3VlIHJlbGF0ZWQg
dG8gaXRzIHNpemU6Cj4gCj4gQW4gZW51bSBpcyBhcyBzbWFsbCBhcyBwb3NzaWJsZSB0byBob2xk
IHRoZSBsYXJnZXN0IHZhbHVlLgo+IFdoYXRldmVyICdhcyBzbWFsbCBhcyBwb3NzaWJsZScgbWVh
bnMgZGVwZW5kcyBvbiB0aGUgYXJjaGl0ZWN0dXJlLgoKSXQgaXMgYW4gQVBJLCBidXQgbGlieGwg
b25seSBndWFyYW50ZWVzIGEgc3RhYmxlIEFQSSwgaXQgZG9lc24ndApndWFyYW50ZWUgYSBzdGFi
bGUgQUJJLCBzbyBJIHRoaW5rIHRoZXNlIHByb2JsZW1zIGRvIG5vdCBtYW5pZmVzdC4KCklhbi4K
Cgo+IENocmlzdG9waAo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn
Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Fri May 18 15:23:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:23:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP0w-0000iJ-Je; Fri, 18 May 2012 15:22:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVP0v-0000i8-2r
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:22:45 +0000
Received: from [85.158.143.99:13860] by server-3.bemta-4.messagelabs.com id
	BF/AA-05853-44966BF4; Fri, 18 May 2012 15:22:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337354563!23389451!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21247 invoked from network); 18 May 2012 15:22:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:22:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553338"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:22:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:22:42 +0100
Message-ID: <1337354561.22316.131.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 16:22:41 +0100
In-Reply-To: <4FB666B4.4090807@amd.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<4FB666B4.4090807@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gRnJpLCAyMDEyLTA1LTE4IGF0IDE2OjExICswMTAwLCBDaHJpc3RvcGggRWdnZXIgd3JvdGU6
Cj4gT24gMDUvMTgvMTIgMTY6NTUsIElhbiBDYW1wYmVsbCB3cm90ZToKPiAKPiA+IE9uIEZyaSwg
MjAxMi0wNS0xOCBhdCAxNTo0OCArMDEwMCwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4gPj4gT24g
RnJpLCAyMDEyLTA1LTE4IGF0IDE1OjM5ICswMTAwLCBJYW4gQ2FtcGJlbGwgd3JvdGU6Cj4gPj4+
PiBXaGljaCBhY3R1YWxseSBzZWVtcyB0byBiZSByaWdodDoKPiA+Pj4+Cj4gPj4+PiAkIGdyZXAg
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCB0b29scy8qIC1SCj4gPj4+PiB0b29scy9saWJ4bC9s
aWJ4bF9kbS5jOiAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gPj4+PiB0b29s
cy9saWJ4bC9saWJ4bF9kbS5jOiAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4g
Pj4+PiB0b29scy9saWJ4bC9saWJ4bF9kb20uYzogICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5f
VFlQRV9JTlZBTElEOwo+ID4+Pj4gdG9vbHMvbGlieGwvbGlieGxfZG9tLmM6ICAgICAgICByZXR1
cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKPiA+Pj4+IHRvb2xzL2xpYnhsL2xpYnhsLmM6
ICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gPj4+Pgo+ID4+Pj4gQW0g
SSBtaXNzaW5nIHNvbWV0aGluZz8KPiA+Pj4KPiA+Pj4gVGhpcyBzaG91bGQgYmUgZGVmaW5lZCBp
biB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYnV0IHRoZSBwYXRjaAo+ID4+PiBkb2Vzbid0
IHNlZW0gdG8gYWRkIGl0Lgo+ID4+Pgo+ID4+IFllcCwgSSdtIGFkZGluZyBpdCBteXNlbGYgd2l0
aCB0aGUgYXR0YWNoZWQgcGF0Y2gsIGJ1dCBJJ20gbm93IGdldHRpbmcKPiA+PiB0aGlzOgo+ID4+
Cj4gPj4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFpbl9idWlsZF9p
bmZvX2Rpc3Bvc2XigJk6Cj4gPj4gX2xpYnhsX3R5cGVzLmM6OTE6NTogZXJyb3I6IGVudW1lcmF0
aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4g
c3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPiA+PiBfbGlieGxfdHlwZXMuYzogSW4gZnVuY3Rpb24g
4oCYbGlieGxfZG9tYWluX2J1aWxkX2luZm9faW5pdF90eXBl4oCZOgo+ID4+IF9saWJ4bF90eXBl
cy5jOjI4NDo1OiBlcnJvcjogZW51bWVyYXRpb24gdmFsdWUg4oCYTElCWExfRE9NQUlOX1RZUEVf
SU5WQUxJROKAmSBub3QgaGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJyb3I9c3dpdGNoXQo+ID4+IHRl
c3RpZGwuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWluX2J1aWxkX2luZm9fcmFuZF9pbml0
4oCZOgo+ID4+IHRlc3RpZGwuYzozNjY6NTogZXJyb3I6IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJ
QlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90IGhhbmRsZWQgaW4gc3dpdGNoIFstV2Vycm9y
PXN3aXRjaF0KPiA+PiBfbGlieGxfdHlwZXMuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWlu
X2J1aWxkX2luZm9fZ2VuX2pzb27igJk6Cj4gPj4gX2xpYnhsX3R5cGVzLmM6MTcxMzo1OiBlcnJv
cjogZW51bWVyYXRpb24gdmFsdWUg4oCYTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJROKAmSBub3Qg
aGFuZGxlZCBpbiBzd2l0Y2ggWy1XZXJyb3I9c3dpdGNoXQo+ID4+IGNjMTogYWxsIHdhcm5pbmdz
IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCj4gPj4KPiA+PiA6LU8KPiA+IAo+ID4gSSB3b25kZXIg
aWYganVzdCBjaGFuZ2luZyB0aGUgcmV0dXJuIHR5cGUgb2YgbGlieGxfX2RvbWFpbl90eXBlIHRv
IGludAo+ID4gd291bGQgYmUgYmV0dGVyIHRoYW4gdGhpcz8gSSBndWVzcyBpdCdsbCBwcm9iYWJs
eSBiZSBtdWNoIHRoZSBzYW1lLgo+IAo+IAo+IElzIGxpYnhsX2RvbWFpbl90eXBlIHBhcnQgb2Yg
dGhlIEFQSSA/Cj4gIElmIHllcyB0aGVuIGl0IGlzIGJldHRlciB0byB1c2UKPiAnaW50JyBhbmQg
Y2hhbmdlIHRoZSBlbnVtIHRvICNkZWZpbmVzIHRvIGJlIHNhZmUgc2lkZS4gQW4gZW51bSB1c2Vk
Cj4gaW4gdGhlIEFQSSBoYXMgYSBiYWNrd2FyZC1jb21wYXRpYmlsaXR5IGlzc3VlIHJlbGF0ZWQg
dG8gaXRzIHNpemU6Cj4gCj4gQW4gZW51bSBpcyBhcyBzbWFsbCBhcyBwb3NzaWJsZSB0byBob2xk
IHRoZSBsYXJnZXN0IHZhbHVlLgo+IFdoYXRldmVyICdhcyBzbWFsbCBhcyBwb3NzaWJsZScgbWVh
bnMgZGVwZW5kcyBvbiB0aGUgYXJjaGl0ZWN0dXJlLgoKSXQgaXMgYW4gQVBJLCBidXQgbGlieGwg
b25seSBndWFyYW50ZWVzIGEgc3RhYmxlIEFQSSwgaXQgZG9lc24ndApndWFyYW50ZWUgYSBzdGFi
bGUgQUJJLCBzbyBJIHRoaW5rIHRoZXNlIHByb2JsZW1zIGRvIG5vdCBtYW5pZmVzdC4KCklhbi4K
Cgo+IENocmlzdG9waAo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn
Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Fri May 18 15:24:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:24:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP1v-0000pe-1k; Fri, 18 May 2012 15:23:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVP1t-0000pM-A3
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:23:45 +0000
Received: from [85.158.139.83:19117] by server-1.bemta-5.messagelabs.com id
	CD/FD-19304-08966BF4; Fri, 18 May 2012 15:23:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337354623!29162837!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1186 invoked from network); 18 May 2012 15:23:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:23:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553352"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:23:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 16:23:43 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVP1r-0001Cr-2i; Fri, 18 May 2012 15:23:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVP1r-0000wx-1k;
	Fri, 18 May 2012 16:23:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.27007.38309.372960@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 16:23:43 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB667E4.6010301@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [Xen-devel] [PATCH v6 04/11] libxl: move libxl__device_from_disk to libxl_internal.c"):
> In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> an internal implementation that takes an ao, making something quite 
> similar to what Stefano does, if I start moving all those to 
> libxl_internal we will fill this file with functions that could be 
> somewhere else (libxl_device). I understand that the libxl policy is put 
> functions where they seem to belong (device related functions to 
> libxl_device, domain related ones to libxl_dom...), and if they fit in 
> none of this categories then put them in libxl_internal or create a new 
> file.
> 
> We can leave it in libxl_internal for now, and I will move it on my series.

I don't think we have a policy.  I think at this stage I would much
prefer not to move whole functions from one file to another for purely
cosmetic reasons.

(It's a different question if you need to move the body of a function
into the middle of another one, or something.)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:24:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:24:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP1v-0000pe-1k; Fri, 18 May 2012 15:23:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVP1t-0000pM-A3
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:23:45 +0000
Received: from [85.158.139.83:19117] by server-1.bemta-5.messagelabs.com id
	CD/FD-19304-08966BF4; Fri, 18 May 2012 15:23:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337354623!29162837!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1186 invoked from network); 18 May 2012 15:23:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:23:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553352"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:23:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 16:23:43 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVP1r-0001Cr-2i; Fri, 18 May 2012 15:23:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVP1r-0000wx-1k;
	Fri, 18 May 2012 16:23:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.27007.38309.372960@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 16:23:43 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FB667E4.6010301@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [Xen-devel] [PATCH v6 04/11] libxl: move libxl__device_from_disk to libxl_internal.c"):
> In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> an internal implementation that takes an ao, making something quite 
> similar to what Stefano does, if I start moving all those to 
> libxl_internal we will fill this file with functions that could be 
> somewhere else (libxl_device). I understand that the libxl policy is put 
> functions where they seem to belong (device related functions to 
> libxl_device, domain related ones to libxl_dom...), and if they fit in 
> none of this categories then put them in libxl_internal or create a new 
> file.
> 
> We can leave it in libxl_internal for now, and I will move it on my series.

I don't think we have a policy.  I think at this stage I would much
prefer not to move whole functions from one file to another for purely
cosmetic reasons.

(It's a different question if you need to move the body of a function
into the middle of another one, or something.)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:25:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:25:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP3f-00011G-Ve; Fri, 18 May 2012 15:25:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andreslc@gridcentric.ca>) id 1SVP3e-00010y-Al
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:25:34 +0000
Received: from [85.158.143.35:7145] by server-2.bemta-4.messagelabs.com id
	A9/B5-12211-DE966BF4; Fri, 18 May 2012 15:25:33 +0000
X-Env-Sender: andreslc@gridcentric.ca
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337354731!11720759!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1914 invoked from network); 18 May 2012 15:25:32 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:25:32 -0000
Received: by qafl39 with SMTP id l39so311612qaf.16
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 08:25:31 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=subject:mime-version:content-type:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to:x-mailer
	:x-gm-message-state;
	bh=1erXHF7/3hEKrRPVFeyiWbVIx5/fdQqwSOPVrEmOty8=;
	b=KbdIu9lvYRTD67qUVZT5g3e+jRgOYIPCqoExVpDc+zD5QFFHaiyASLeGaQ09WLfl4l
	6H/2f28X7lCLEiFxZdTfdGT1oUQL52N/XTruJh6QdzSA+YoA7Jn5PyLmQ0HyZMsUf5yB
	nIRW6lny957hpG/az1PjgQP9ABVT3qfJFFC3k0g8jATy/HWVyIKPESgdpMapxK4xjAuy
	SDeSc8rmCNW8CUejtPOwp96C/+zoB4+XV8clDJuix80brZ6Xrv1BIUHjejUZWOcbhnBz
	HazI32OSX804CEYwnbfrLuh0dAeJUk2GN4kJz6r6QiTFfAJ70E2zvKvP9mCzLW96FQDz
	l+pg==
Received: by 10.50.187.164 with SMTP id ft4mr970212igc.6.1337354730509;
	Fri, 18 May 2012 08:25:30 -0700 (PDT)
Received: from [192.168.7.210] ([206.223.182.18])
	by mx.google.com with ESMTPS id rf2sm6049305igb.0.2012.05.18.08.25.29
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 18 May 2012 08:25:29 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1257)
From: Andres Lagar-Cavilla <andreslc@gridcentric.ca>
In-Reply-To: <20120518152203.GA40048@ocelot.phlegethon.org>
Date: Fri, 18 May 2012 11:25:29 -0400
Message-Id: <0E281C9D-0359-4E4A-B3B5-722455DCE1DC@gridcentric.ca>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
	<20120518152203.GA40048@ocelot.phlegethon.org>
To: Tim Deegan <tim@xen.org>
X-Mailer: Apple Mail (2.1257)
X-Gm-Message-State: ALoCoQmQTCEcWw02OUpvLWdee/h8KEoV8Dg9HywU7yfliK3H38QfVJ6la01F8vncPHNJyaxSprWV
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks. Yeah, queue empty. Waiting for ghouls awakened by rc testing. That almost never happens of course :)
Andres
On May 18, 2012, at 11:22 AM, Tim Deegan wrote:

> At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
>> # HG changeset patch
>> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
>> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
>> 
>> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> 
> Applied, thanks.  I gave it a slightly fuller description and fixed some
> whitespace around parentheses on the way past. 
> 
> I think that empties the queue, at least of things that are wanted for 4.2.
> 
> Cheers,
> 
> Tim.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:25:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:25:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP3f-00011G-Ve; Fri, 18 May 2012 15:25:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andreslc@gridcentric.ca>) id 1SVP3e-00010y-Al
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:25:34 +0000
Received: from [85.158.143.35:7145] by server-2.bemta-4.messagelabs.com id
	A9/B5-12211-DE966BF4; Fri, 18 May 2012 15:25:33 +0000
X-Env-Sender: andreslc@gridcentric.ca
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337354731!11720759!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1914 invoked from network); 18 May 2012 15:25:32 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:25:32 -0000
Received: by qafl39 with SMTP id l39so311612qaf.16
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 08:25:31 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=subject:mime-version:content-type:from:in-reply-to:date:cc
	:content-transfer-encoding:message-id:references:to:x-mailer
	:x-gm-message-state;
	bh=1erXHF7/3hEKrRPVFeyiWbVIx5/fdQqwSOPVrEmOty8=;
	b=KbdIu9lvYRTD67qUVZT5g3e+jRgOYIPCqoExVpDc+zD5QFFHaiyASLeGaQ09WLfl4l
	6H/2f28X7lCLEiFxZdTfdGT1oUQL52N/XTruJh6QdzSA+YoA7Jn5PyLmQ0HyZMsUf5yB
	nIRW6lny957hpG/az1PjgQP9ABVT3qfJFFC3k0g8jATy/HWVyIKPESgdpMapxK4xjAuy
	SDeSc8rmCNW8CUejtPOwp96C/+zoB4+XV8clDJuix80brZ6Xrv1BIUHjejUZWOcbhnBz
	HazI32OSX804CEYwnbfrLuh0dAeJUk2GN4kJz6r6QiTFfAJ70E2zvKvP9mCzLW96FQDz
	l+pg==
Received: by 10.50.187.164 with SMTP id ft4mr970212igc.6.1337354730509;
	Fri, 18 May 2012 08:25:30 -0700 (PDT)
Received: from [192.168.7.210] ([206.223.182.18])
	by mx.google.com with ESMTPS id rf2sm6049305igb.0.2012.05.18.08.25.29
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 18 May 2012 08:25:29 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1257)
From: Andres Lagar-Cavilla <andreslc@gridcentric.ca>
In-Reply-To: <20120518152203.GA40048@ocelot.phlegethon.org>
Date: Fri, 18 May 2012 11:25:29 -0400
Message-Id: <0E281C9D-0359-4E4A-B3B5-722455DCE1DC@gridcentric.ca>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
	<20120518152203.GA40048@ocelot.phlegethon.org>
To: Tim Deegan <tim@xen.org>
X-Mailer: Apple Mail (2.1257)
X-Gm-Message-State: ALoCoQmQTCEcWw02OUpvLWdee/h8KEoV8Dg9HywU7yfliK3H38QfVJ6la01F8vncPHNJyaxSprWV
Cc: Andres Lagar-Cavilla <andres@lagarcavilla.org>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks. Yeah, queue empty. Waiting for ghouls awakened by rc testing. That almost never happens of course :)
Andres
On May 18, 2012, at 11:22 AM, Tim Deegan wrote:

> At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
>> # HG changeset patch
>> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
>> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
>> 
>> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> 
> Applied, thanks.  I gave it a slightly fuller description and fixed some
> whitespace around parentheses on the way past. 
> 
> I think that empties the queue, at least of things that are wanted for 4.2.
> 
> Cheers,
> 
> Tim.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:25:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP3d-00010r-JW; Fri, 18 May 2012 15:25:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVP3c-00010i-I8
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:25:32 +0000
Received: from [85.158.138.51:23675] by server-2.bemta-3.messagelabs.com id
	9F/7B-09269-AE966BF4; Fri, 18 May 2012 15:25:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337354729!19813197!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12569 invoked from network); 18 May 2012 15:25:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:25:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553380"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:25:28 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:25:28 +0100
Message-ID: <1337354727.22316.134.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 16:25:27 +0100
In-Reply-To: <4FB667E4.6010301@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 16:16 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> >>> @@ -429,6 +429,46 @@ libxl_device_model_version
> >> libxl__device_model_version_running(libxl__gc *gc,
> >>>        return value;
> >>>    }
> >>>
> >>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> >>> +                                   libxl_device_disk *disk,
> >>> +                                   libxl__device *device)
> >> I think this should be moved to libxl_device instead of
> >> libxl_internal, since it's a device related function.
> >
> > I think it'd be better to leave it in the original file, libxl is so
> > confused about what goes where that it doesn't really matter...
> >
> > If we do want to move it we can do it later as a pure code motion
> > change.
> 
> In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> an internal implementation that takes an ao, making something quite 
> similar to what Stefano does, if I start moving all those to 
> libxl_internal we will fill this file with functions that could be 
> somewhere else (libxl_device).

I didn't propose moving this function tolibxl_internal, quite the
opposite. I proposed leaving it in libxl.c where it is (or rather ,
where the body current effectively is). If and when we want to move it
we can do that as a separate pure code motion change.

>  I understand that the libxl policy is put 
> functions where they seem to belong (device related functions to 
> libxl_device, domain related ones to libxl_dom...),

The policy is basically "confused, historical, no one really knows for
sure".

>  and if they fit in 
> none of this categories then put them in libxl_internal or create a new 
> file.

IMHO libxl_internal should go away and never be used, it just encourages
things to go into a dumping ground file, which is effectively what it
has become.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:25:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVP3d-00010r-JW; Fri, 18 May 2012 15:25:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVP3c-00010i-I8
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 15:25:32 +0000
Received: from [85.158.138.51:23675] by server-2.bemta-3.messagelabs.com id
	9F/7B-09269-AE966BF4; Fri, 18 May 2012 15:25:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337354729!19813197!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12569 invoked from network); 18 May 2012 15:25:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:25:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553380"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:25:28 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:25:28 +0100
Message-ID: <1337354727.22316.134.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 18 May 2012 16:25:27 +0100
In-Reply-To: <4FB667E4.6010301@citrix.com>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 16:16 +0100, Roger Pau Monne wrote:
> Ian Campbell wrote:
> > On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> >>> @@ -429,6 +429,46 @@ libxl_device_model_version
> >> libxl__device_model_version_running(libxl__gc *gc,
> >>>        return value;
> >>>    }
> >>>
> >>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> >>> +                                   libxl_device_disk *disk,
> >>> +                                   libxl__device *device)
> >> I think this should be moved to libxl_device instead of
> >> libxl_internal, since it's a device related function.
> >
> > I think it'd be better to leave it in the original file, libxl is so
> > confused about what goes where that it doesn't really matter...
> >
> > If we do want to move it we can do it later as a pure code motion
> > change.
> 
> In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> an internal implementation that takes an ao, making something quite 
> similar to what Stefano does, if I start moving all those to 
> libxl_internal we will fill this file with functions that could be 
> somewhere else (libxl_device).

I didn't propose moving this function tolibxl_internal, quite the
opposite. I proposed leaving it in libxl.c where it is (or rather ,
where the body current effectively is). If and when we want to move it
we can do that as a separate pure code motion change.

>  I understand that the libxl policy is put 
> functions where they seem to belong (device related functions to 
> libxl_device, domain related ones to libxl_dom...),

The policy is basically "confused, historical, no one really knows for
sure".

>  and if they fit in 
> none of this categories then put them in libxl_internal or create a new 
> file.

IMHO libxl_internal should go away and never be used, it just encourages
things to go into a dumping ground file, which is effectively what it
has become.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:49:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPQp-0001fT-DO; Fri, 18 May 2012 15:49:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVPQo-0001fO-3Y
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:49:30 +0000
Received: from [85.158.143.99:48847] by server-1.bemta-4.messagelabs.com id
	17/6B-00342-98F66BF4; Fri, 18 May 2012 15:49:29 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337356168!27780364!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13952 invoked from network); 18 May 2012 15:49:28 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-216.messagelabs.com with SMTP;
	18 May 2012 15:49:28 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77989463; Fri, 18 May 2012 17:49:24 +0200
Message-ID: <1337356154.16815.37.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <ian.campbell@citrix.com>
Date: Fri, 18 May 2012 17:49:14 +0200
In-Reply-To: <dc3241cf1ed1b8e5709c.1333535781@cosworth.uk.xensource.com>
References: <patchbomb.1333535779@cosworth.uk.xensource.com>
	<dc3241cf1ed1b8e5709c.1333535781@cosworth.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: ian.jackson@eu.citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2 of 2] RFC: libxl: move definition of
 libxl_domain_config into the IDL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5784835725534265528=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5784835725534265528==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-RONVedtSIkeCDFDlNdyY"


--=-RONVedtSIkeCDFDlNdyY
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-04-04 at 11:36 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1333535720 -3600
> # Node ID dc3241cf1ed1b8e5709cc71c9ec8a93b2374cbd5
> # Parent  ac6f863df8f8c86dcc58df15f94333e6088e0bf4
> RFC: libxl: move definition of libxl_domain_config into the IDL
>=20
> This requires adding a new Array type to the IDL.
>=20
I've finally decided to take node distances into account for my NUMA
series for 4.2, so I'm trying to use this patch for it (just the IDL
array part, I'm leaving libxl_domain_config out... although that can of
course be included as well if we want).

Therefore, I'll include this very own patch as a part of my series
(almost ready, will post next week) with the following proposed
modifications:

> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>=20
Tested-by: Dario Faggioli <dario.faggioli@citrix.com>

> diff -r ac6f863df8f8 -r dc3241cf1ed1 tools/libxl/gentypes.py
> --- a/tools/libxl/gentypes.py	Wed Apr 04 10:51:11 2012 +0100
> +++ b/tools/libxl/gentypes.py	Wed Apr 04 11:35:20 2012 +0100
>
> ...
>
> @@ -66,6 +70,17 @@ def libxl_C_type_dispose(ty, v, indent =3D
>              s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", =
nparent)
>              s +=3D "    break;\n"
>          s +=3D "}\n"
> +    elif isinstance(ty, idl.Array):
> +        if parent is None:
> +            raise Exception("Array type must have a parent")
> +        s +=3D "{\n"
> +        s +=3D "    int i;\n"
> +        s +=3D "    for (i=3D0; i<%s; i++)\n" % (parent + ty.lenvar.name=
)
> +        s +=3D libxl_C_type_dispose(ty.elem_type, v+"[i]",
> +                                  indent + "        ", parent)
> +        if ty.dispose_fn is not None:
> +            s +=3D "    %s(%s);\n" % (ty.dispose_fn, ty.pass_arg(v, pare=
nt is None))
> +        s +=3D "}\n"
>
        if ty.elem_type.dispose_fn is not None:
            s +=3D "    int i;\n"
            s +=3D "    for (i=3D0; i<%s; i++)\n" % (parent + ty.lenvar.nam=
e)
            s +=3D libxl_C_type_dispose(ty.elem_type, v+"[i]",

Otherwise I get something like the below, when creating an array of,
say, uint32_t-s:

    int i;
    for (i=3D0; i<p->num_dists; i++)
    free(p->dists);

Instead of just the free() part, which is what I need in this case.

> diff -r ac6f863df8f8 -r dc3241cf1ed1 tools/libxl/idl.py
> --- a/tools/libxl/idl.py	Wed Apr 04 10:51:11 2012 +0100
> +++ b/tools/libxl/idl.py	Wed Apr 04 11:35:20 2012 +0100
> @@ -251,6 +251,17 @@ string =3D Builtin("char *", namespace =3D N
>                   json_fn =3D "libxl__string_gen_json",
>                   autogenerate_json =3D False)
> =20
> +class Array(Type):
> +    """An array of the same type"""
> +    def __init__(self, elem_type, lenvar_name, **kwargs):
> +        kwargs.setdefault('dispose_fn', 'free')
> +        Type.__init__(self, typename=3Delem_type.rawname + " *", **kwarg=
s)
>
        Type.__init__(self, namespace=3Delem_type.namespace, typename=3Dele=
m_type.rawname + " *", **kwargs)

As suggested by you (IanC) on IRC, to avoid getting stuff like
`libxl_uint32_t' and alike.

Does that make sense?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-RONVedtSIkeCDFDlNdyY
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2b3oACgkQk4XaBE3IOsQF1wCfSK972iBrlW2DxFeDH8RdLBe0
HxUAniTmtsmi60PADe64+LqQH8Kjimdi
=LhgP
-----END PGP SIGNATURE-----

--=-RONVedtSIkeCDFDlNdyY--



--===============5784835725534265528==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5784835725534265528==--



From xen-devel-bounces@lists.xen.org Fri May 18 15:49:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPQp-0001fT-DO; Fri, 18 May 2012 15:49:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SVPQo-0001fO-3Y
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:49:30 +0000
Received: from [85.158.143.99:48847] by server-1.bemta-4.messagelabs.com id
	17/6B-00342-98F66BF4; Fri, 18 May 2012 15:49:29 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337356168!27780364!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13952 invoked from network); 18 May 2012 15:49:28 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-216.messagelabs.com with SMTP;
	18 May 2012 15:49:28 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 77989463; Fri, 18 May 2012 17:49:24 +0200
Message-ID: <1337356154.16815.37.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <ian.campbell@citrix.com>
Date: Fri, 18 May 2012 17:49:14 +0200
In-Reply-To: <dc3241cf1ed1b8e5709c.1333535781@cosworth.uk.xensource.com>
References: <patchbomb.1333535779@cosworth.uk.xensource.com>
	<dc3241cf1ed1b8e5709c.1333535781@cosworth.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: ian.jackson@eu.citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2 of 2] RFC: libxl: move definition of
 libxl_domain_config into the IDL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5784835725534265528=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5784835725534265528==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-RONVedtSIkeCDFDlNdyY"


--=-RONVedtSIkeCDFDlNdyY
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-04-04 at 11:36 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1333535720 -3600
> # Node ID dc3241cf1ed1b8e5709cc71c9ec8a93b2374cbd5
> # Parent  ac6f863df8f8c86dcc58df15f94333e6088e0bf4
> RFC: libxl: move definition of libxl_domain_config into the IDL
>=20
> This requires adding a new Array type to the IDL.
>=20
I've finally decided to take node distances into account for my NUMA
series for 4.2, so I'm trying to use this patch for it (just the IDL
array part, I'm leaving libxl_domain_config out... although that can of
course be included as well if we want).

Therefore, I'll include this very own patch as a part of my series
(almost ready, will post next week) with the following proposed
modifications:

> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>=20
Tested-by: Dario Faggioli <dario.faggioli@citrix.com>

> diff -r ac6f863df8f8 -r dc3241cf1ed1 tools/libxl/gentypes.py
> --- a/tools/libxl/gentypes.py	Wed Apr 04 10:51:11 2012 +0100
> +++ b/tools/libxl/gentypes.py	Wed Apr 04 11:35:20 2012 +0100
>
> ...
>
> @@ -66,6 +70,17 @@ def libxl_C_type_dispose(ty, v, indent =3D
>              s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", =
nparent)
>              s +=3D "    break;\n"
>          s +=3D "}\n"
> +    elif isinstance(ty, idl.Array):
> +        if parent is None:
> +            raise Exception("Array type must have a parent")
> +        s +=3D "{\n"
> +        s +=3D "    int i;\n"
> +        s +=3D "    for (i=3D0; i<%s; i++)\n" % (parent + ty.lenvar.name=
)
> +        s +=3D libxl_C_type_dispose(ty.elem_type, v+"[i]",
> +                                  indent + "        ", parent)
> +        if ty.dispose_fn is not None:
> +            s +=3D "    %s(%s);\n" % (ty.dispose_fn, ty.pass_arg(v, pare=
nt is None))
> +        s +=3D "}\n"
>
        if ty.elem_type.dispose_fn is not None:
            s +=3D "    int i;\n"
            s +=3D "    for (i=3D0; i<%s; i++)\n" % (parent + ty.lenvar.nam=
e)
            s +=3D libxl_C_type_dispose(ty.elem_type, v+"[i]",

Otherwise I get something like the below, when creating an array of,
say, uint32_t-s:

    int i;
    for (i=3D0; i<p->num_dists; i++)
    free(p->dists);

Instead of just the free() part, which is what I need in this case.

> diff -r ac6f863df8f8 -r dc3241cf1ed1 tools/libxl/idl.py
> --- a/tools/libxl/idl.py	Wed Apr 04 10:51:11 2012 +0100
> +++ b/tools/libxl/idl.py	Wed Apr 04 11:35:20 2012 +0100
> @@ -251,6 +251,17 @@ string =3D Builtin("char *", namespace =3D N
>                   json_fn =3D "libxl__string_gen_json",
>                   autogenerate_json =3D False)
> =20
> +class Array(Type):
> +    """An array of the same type"""
> +    def __init__(self, elem_type, lenvar_name, **kwargs):
> +        kwargs.setdefault('dispose_fn', 'free')
> +        Type.__init__(self, typename=3Delem_type.rawname + " *", **kwarg=
s)
>
        Type.__init__(self, namespace=3Delem_type.namespace, typename=3Dele=
m_type.rawname + " *", **kwargs)

As suggested by you (IanC) on IRC, to avoid getting stuff like
`libxl_uint32_t' and alike.

Does that make sense?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-RONVedtSIkeCDFDlNdyY
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+2b3oACgkQk4XaBE3IOsQF1wCfSK972iBrlW2DxFeDH8RdLBe0
HxUAniTmtsmi60PADe64+LqQH8Kjimdi
=LhgP
-----END PGP SIGNATURE-----

--=-RONVedtSIkeCDFDlNdyY--



--===============5784835725534265528==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5784835725534265528==--



From xen-devel-bounces@lists.xen.org Fri May 18 15:51:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:51:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPSX-0001jA-TI; Fri, 18 May 2012 15:51:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVPSW-0001j3-Aj
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:51:16 +0000
Received: from [85.158.139.83:30103] by server-10.bemta-5.messagelabs.com id
	D5/32-08260-3FF66BF4; Fri, 18 May 2012 15:51:15 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337356273!25175473!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29581 invoked from network); 18 May 2012 15:51:14 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-7.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 15:51:14 -0000
Received: from mail32-db3-R.bigfish.com (10.3.81.246) by
	DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:51:03 +0000
Received: from mail32-db3 (localhost [127.0.0.1])	by mail32-db3-R.bigfish.com
	(Postfix) with ESMTP id 65D8A240695;
	Fri, 18 May 2012 15:51:03 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail32-db3 (localhost.localdomain [127.0.0.1]) by mail32-db3
	(MessageSwitch) id 1337356260751345_11010;
	Fri, 18 May 2012 15:51:00 +0000 (UTC)
Received: from DB3EHSMHS001.bigfish.com (unknown [10.3.81.247])	by
	mail32-db3.bigfish.com (Postfix) with ESMTP id A9A373A0079;
	Fri, 18 May 2012 15:51:00 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS001.bigfish.com (10.3.87.101) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:50:59 +0000
X-WSS-ID: 0M486P6-02-52Q-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2DCF8C807D;	Fri, 18 May 2012 10:51:05 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 10:57:55 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 10:51:05 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	11:51:04 -0400
Message-ID: <4FB66FED.5080704@amd.com>
Date: Fri, 18 May 2012 17:51:09 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com>
In-Reply-To: <4FB65B61.7000902@amd.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 16:23, Christoph Egger wrote:

> On 05/18/12 15:30, Ian Campbell wrote:
> 
>> On Fri, 2012-05-18 at 14:17 +0100, Christoph Egger wrote:
>>> Hi,
>>>
>>> I am currently using c/s 25371:e9058654ca08.
>>> When I try to start a HVM guest I get this failure:
>>>
>>>
>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>   Loader:        0000000000100000->000000000019bd04
>>>   TOTAL:         0000000000000000->00000000ff800000
>>>   ENTRY ADDRESS: 0000000000100000
>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>   4KB PAGES: 0x0000000000000200
>>>   2MB PAGES: 0x00000000000003fb
>>>   1GB PAGES: 0x0000000000000002
>>> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
>>> of range, valid values are within range from 1 to 65535
>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>> dompath for 1: Bad file descriptor
>>
>> This is on NetBSD?
> 
> 
> Yes.
> 
>>
>> These sorts of symptoms are similar to those fixed by 25364:8dce7a4121b9
>> but you've already got that. It might be worth doing a full clean and
>> rebuild, just in case.
> 
> 
> This is a clean build.
> 
>  
>> What does your guest config look like?
> 
> 
> builder='hvm'
> memory=4096
> nestedhvm=1
> name="guest"
> vcpus=4
> cpuid="host,page1gb=k,hypervisor=0"
> acpi=1
> apic=1
> vif = [ 'type=ioemu, bridge=bridge0, model=e1000' ]
> disk = [ 'file:/hvm-guest/guest.img,ioemu:hda,w' ]
> serial='pty'
> vnc=1
> sdl=0
> 
>> What is your command line?
> 
> xl create -c guest.conf
> 
>  
>> Do you know when it last worked?
> 
> 
> Changeset 24462 worked. I need to bisect the exact
> changeset.
> 
>  
>> The places which close ctx->xsh are very few -- might be worth
>> annotating any call to xs_daemon_close() with a printf. 
> 
> 
> ok.

In libxl__build_post() I check the return value
of libxl__sched_set_params().
Now trying to start a guest results in this failure:

xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
(re-)build domain: -6
libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
device model's pid: No such file or directory
libxl: error: libxl.c:1162:libxl_domain_destroy:
libxl__destroy_device_model failed for 1
libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
xs_daemon_close  <-- the printf annotation


Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:51:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:51:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPSX-0001jA-TI; Fri, 18 May 2012 15:51:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SVPSW-0001j3-Aj
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:51:16 +0000
Received: from [85.158.139.83:30103] by server-10.bemta-5.messagelabs.com id
	D5/32-08260-3FF66BF4; Fri, 18 May 2012 15:51:15 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337356273!25175473!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29581 invoked from network); 18 May 2012 15:51:14 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-7.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	18 May 2012 15:51:14 -0000
Received: from mail32-db3-R.bigfish.com (10.3.81.246) by
	DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:51:03 +0000
Received: from mail32-db3 (localhost [127.0.0.1])	by mail32-db3-R.bigfish.com
	(Postfix) with ESMTP id 65D8A240695;
	Fri, 18 May 2012 15:51:03 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail32-db3 (localhost.localdomain [127.0.0.1]) by mail32-db3
	(MessageSwitch) id 1337356260751345_11010;
	Fri, 18 May 2012 15:51:00 +0000 (UTC)
Received: from DB3EHSMHS001.bigfish.com (unknown [10.3.81.247])	by
	mail32-db3.bigfish.com (Postfix) with ESMTP id A9A373A0079;
	Fri, 18 May 2012 15:51:00 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS001.bigfish.com (10.3.87.101) with Microsoft SMTP Server id
	14.1.225.23; Fri, 18 May 2012 15:50:59 +0000
X-WSS-ID: 0M486P6-02-52Q-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2DCF8C807D;	Fri, 18 May 2012 10:51:05 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Fri, 18 May 2012 10:57:55 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Fri, 18 May 2012 10:51:05 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Fri, 18 May 2012
	11:51:04 -0400
Message-ID: <4FB66FED.5080704@amd.com>
Date: Fri, 18 May 2012 17:51:09 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com>
In-Reply-To: <4FB65B61.7000902@amd.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 16:23, Christoph Egger wrote:

> On 05/18/12 15:30, Ian Campbell wrote:
> 
>> On Fri, 2012-05-18 at 14:17 +0100, Christoph Egger wrote:
>>> Hi,
>>>
>>> I am currently using c/s 25371:e9058654ca08.
>>> When I try to start a HVM guest I get this failure:
>>>
>>>
>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>   Loader:        0000000000100000->000000000019bd04
>>>   TOTAL:         0000000000000000->00000000ff800000
>>>   ENTRY ADDRESS: 0000000000100000
>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>   4KB PAGES: 0x0000000000000200
>>>   2MB PAGES: 0x00000000000003fb
>>>   1GB PAGES: 0x0000000000000002
>>> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
>>> of range, valid values are within range from 1 to 65535
>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>> dompath for 1: Bad file descriptor
>>
>> This is on NetBSD?
> 
> 
> Yes.
> 
>>
>> These sorts of symptoms are similar to those fixed by 25364:8dce7a4121b9
>> but you've already got that. It might be worth doing a full clean and
>> rebuild, just in case.
> 
> 
> This is a clean build.
> 
>  
>> What does your guest config look like?
> 
> 
> builder='hvm'
> memory=4096
> nestedhvm=1
> name="guest"
> vcpus=4
> cpuid="host,page1gb=k,hypervisor=0"
> acpi=1
> apic=1
> vif = [ 'type=ioemu, bridge=bridge0, model=e1000' ]
> disk = [ 'file:/hvm-guest/guest.img,ioemu:hda,w' ]
> serial='pty'
> vnc=1
> sdl=0
> 
>> What is your command line?
> 
> xl create -c guest.conf
> 
>  
>> Do you know when it last worked?
> 
> 
> Changeset 24462 worked. I need to bisect the exact
> changeset.
> 
>  
>> The places which close ctx->xsh are very few -- might be worth
>> annotating any call to xs_daemon_close() with a printf. 
> 
> 
> ok.

In libxl__build_post() I check the return value
of libxl__sched_set_params().
Now trying to start a guest results in this failure:

xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
(re-)build domain: -6
libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
device model's pid: No such file or directory
libxl: error: libxl.c:1162:libxl_domain_destroy:
libxl__destroy_device_model failed for 1
libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
xs_daemon_close  <-- the printf annotation


Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPZO-0001ya-UZ; Fri, 18 May 2012 15:58:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVPZN-0001yV-7V
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:58:21 +0000
Received: from [85.158.139.83:19603] by server-9.bemta-5.messagelabs.com id
	5D/D9-09826-C9176BF4; Fri, 18 May 2012 15:58:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337356699!27665161!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25722 invoked from network); 18 May 2012 15:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553921"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:58:19 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:58:19 +0100
Message-ID: <1337356698.22316.138.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 16:58:18 +0100
In-Reply-To: <4FB66FED.5080704@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> In libxl__build_post() I check the return value
> of libxl__sched_set_params().

The mesages about scheduler params are a known and benign issue.

> Now trying to start a guest results in this failure:
> 
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> (re-)build domain: -6
> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> device model's pid: No such file or directory

Is your device model dying for some reason? Anything
in /var/log/xen/*guest*.log about it?

You could try "xl -vvv cr ..." too, not sure what it will say.

> libxl: error: libxl.c:1162:libxl_domain_destroy:
> libxl__destroy_device_model failed for 1
> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
> xs_daemon_close  <-- the printf annotation
> 
> 
> Christoph
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 15:58:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 15:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPZO-0001ya-UZ; Fri, 18 May 2012 15:58:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SVPZN-0001yV-7V
	for xen-devel@lists.xen.org; Fri, 18 May 2012 15:58:21 +0000
Received: from [85.158.139.83:19603] by server-9.bemta-5.messagelabs.com id
	5D/D9-09826-C9176BF4; Fri, 18 May 2012 15:58:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337356699!27665161!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25722 invoked from network); 18 May 2012 15:58:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 15:58:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553921"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 15:58:19 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 18 May 2012 16:58:19 +0100
Message-ID: <1337356698.22316.138.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Fri, 18 May 2012 16:58:18 +0100
In-Reply-To: <4FB66FED.5080704@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> In libxl__build_post() I check the return value
> of libxl__sched_set_params().

The mesages about scheduler params are a known and benign issue.

> Now trying to start a guest results in this failure:
> 
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> (re-)build domain: -6
> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> device model's pid: No such file or directory

Is your device model dying for some reason? Anything
in /var/log/xen/*guest*.log about it?

You could try "xl -vvv cr ..." too, not sure what it will say.

> libxl: error: libxl.c:1162:libxl_domain_destroy:
> libxl__destroy_device_model failed for 1
> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
> xs_daemon_close  <-- the printf annotation
> 
> 
> Christoph
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:01:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPcL-0002TT-Jv; Fri, 18 May 2012 16:01:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPcK-0002TN-Hd
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 16:01:24 +0000
Received: from [85.158.139.83:46004] by server-2.bemta-5.messagelabs.com id
	4D/66-17016-35276BF4; Fri, 18 May 2012 16:01:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337356882!21898859!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16947 invoked from network); 18 May 2012 16:01:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:01:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553962"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:01:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:01:22 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPcH-0001QM-Py; Fri, 18 May 2012 16:01:21 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPcH-0000zZ-P3;
	Fri, 18 May 2012 17:01:21 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29265.609765.355490@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:01:21 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
In-Reply-To: <4FB66AAB020000300000FDAD@soto.provo.novell.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
	<4FB254C2020000300000F28A@soto.provo.novell.com>
	<1337073235.14297.20.camel@zakaz.uk.xensource.com>
	<4FB66AAB020000300000FDAD@soto.provo.novell.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Jim Fehlig <JFEHLIG@suse.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff"):
> Hi, Ian
> > I think I'd be happy to make a freeze exception for a patch which 
> > implemented the returning of an IDL struct representing the console 
> > device for the benefit of libvirt, so long as it is pretty much self 
> > contained (which I think it will be).
>
> thanks. I am working on it. i will send the patch v2 soon. 

Sorry to throw a spanner in the works, but I think actually that this
isn't really the right approach.

Having the considered the question I think we should indeed expose the
fact that there is (or can be) a tty as part of the libxl API.  And I
don't really want to introduce a new complex IDL struct with only one
user.

So your old interface, along these lines, is good:

  int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)

However, it should probably be in teh same pattern as
libxl_console_exec and libxl_primary_console_exec.

So:

  int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid,
                            int cons_num, libxl_console_type type,
                            char **path);
  int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid,
                            char **path);

These should probably reuse the same innards as the _exec functions.


Are you planning to do anything about libxl_vncviewer_exec ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:01:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPcL-0002TT-Jv; Fri, 18 May 2012 16:01:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPcK-0002TN-Hd
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 16:01:24 +0000
Received: from [85.158.139.83:46004] by server-2.bemta-5.messagelabs.com id
	4D/66-17016-35276BF4; Fri, 18 May 2012 16:01:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337356882!21898859!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16947 invoked from network); 18 May 2012 16:01:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:01:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553962"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:01:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:01:22 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPcH-0001QM-Py; Fri, 18 May 2012 16:01:21 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPcH-0000zZ-P3;
	Fri, 18 May 2012 17:01:21 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29265.609765.355490@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:01:21 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
In-Reply-To: <4FB66AAB020000300000FDAD@soto.provo.novell.com>
References: <4a6043e1434a458506c3.1335626069@linux-bhi8.site>
	<20395.62632.654951.334814@mariner.uk.xensource.com>
	<4FB254C2020000300000F28A@soto.provo.novell.com>
	<1337073235.14297.20.camel@zakaz.uk.xensource.com>
	<4FB66AAB020000300000FDAD@soto.provo.novell.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Jim Fehlig <JFEHLIG@suse.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff"):
> Hi, Ian
> > I think I'd be happy to make a freeze exception for a patch which 
> > implemented the returning of an IDL struct representing the console 
> > device for the benefit of libvirt, so long as it is pretty much self 
> > contained (which I think it will be).
>
> thanks. I am working on it. i will send the patch v2 soon. 

Sorry to throw a spanner in the works, but I think actually that this
isn't really the right approach.

Having the considered the question I think we should indeed expose the
fact that there is (or can be) a tty as part of the libxl API.  And I
don't really want to introduce a new complex IDL struct with only one
user.

So your old interface, along these lines, is good:

  int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path)

However, it should probably be in teh same pattern as
libxl_console_exec and libxl_primary_console_exec.

So:

  int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid,
                            int cons_num, libxl_console_type type,
                            char **path);
  int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid,
                            char **path);

These should probably reuse the same innards as the _exec functions.


Are you planning to do anything about libxl_vncviewer_exec ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:03:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:03:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPdv-0002dn-7L; Fri, 18 May 2012 16:03:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPdt-0002dh-TC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:03:02 +0000
Received: from [85.158.139.83:59267] by server-2.bemta-5.messagelabs.com id
	B0/79-17016-5B276BF4; Fri, 18 May 2012 16:03:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337356980!26423089!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31214 invoked from network); 18 May 2012 16:03:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:03:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553992"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:02:59 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:02:59 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPdr-0001Qp-Cj; Fri, 18 May 2012 16:02:59 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPdr-0000zo-Bx;
	Fri, 18 May 2012 17:02:59 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29363.335713.640243@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:02:59 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-2-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/13] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 01/13] libxl: pass env vars to libxl__exec"):
> Add another parameter to libxl__exec call that contains the
> environment variables to use when performing the execvp call.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:03:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:03:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPdv-0002dn-7L; Fri, 18 May 2012 16:03:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPdt-0002dh-TC
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:03:02 +0000
Received: from [85.158.139.83:59267] by server-2.bemta-5.messagelabs.com id
	B0/79-17016-5B276BF4; Fri, 18 May 2012 16:03:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337356980!26423089!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31214 invoked from network); 18 May 2012 16:03:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:03:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553992"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:02:59 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:02:59 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPdr-0001Qp-Cj; Fri, 18 May 2012 16:02:59 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPdr-0000zo-Bx;
	Fri, 18 May 2012 17:02:59 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29363.335713.640243@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:02:59 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-2-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/13] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 01/13] libxl: pass env vars to libxl__exec"):
> Add another parameter to libxl__exec call that contains the
> environment variables to use when performing the execvp call.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:03:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPe9-0002gu-KL; Fri, 18 May 2012 16:03:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPe7-0002gN-CD
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:03:15 +0000
Received: from [85.158.138.51:32903] by server-4.bemta-3.messagelabs.com id
	45/67-15341-2C276BF4; Fri, 18 May 2012 16:03:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337356993!27823246!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25568 invoked from network); 18 May 2012 16:03:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:03:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553998"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:03:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:03:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPe4-0001Qv-9i; Fri, 18 May 2012 16:03:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPe4-0000zu-8w;
	Fri, 18 May 2012 17:03:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29376.241391.530618@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:03:12 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-3-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-3-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02/13] libxl: fix libxl__xs_directory usage
	of transaction
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 02/13] libxl: fix libxl__xs_directory usage of transaction"):
> libxl__xs_directory takes a transaction parameter, but completely
> ignores it, passing XBT_NULL unconditionally to xs_directory.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:03:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPe9-0002gu-KL; Fri, 18 May 2012 16:03:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPe7-0002gN-CD
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:03:15 +0000
Received: from [85.158.138.51:32903] by server-4.bemta-3.messagelabs.com id
	45/67-15341-2C276BF4; Fri, 18 May 2012 16:03:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337356993!27823246!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25568 invoked from network); 18 May 2012 16:03:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:03:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12553998"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:03:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:03:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPe4-0001Qv-9i; Fri, 18 May 2012 16:03:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPe4-0000zu-8w;
	Fri, 18 May 2012 17:03:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29376.241391.530618@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:03:12 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-3-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-3-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02/13] libxl: fix libxl__xs_directory usage
	of transaction
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 02/13] libxl: fix libxl__xs_directory usage of transaction"):
> libxl__xs_directory takes a transaction parameter, but completely
> ignores it, passing XBT_NULL unconditionally to xs_directory.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:06:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:06:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPhI-00032G-Gj; Fri, 18 May 2012 16:06:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPhG-00031x-TZ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:06:31 +0000
Received: from [85.158.139.83:30205] by server-5.bemta-5.messagelabs.com id
	2E/38-13566-68376BF4; Fri, 18 May 2012 16:06:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337357189!21797772!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8746 invoked from network); 18 May 2012 16:06:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:06:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554082"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:06:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:06:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPhF-0001SE-04; Fri, 18 May 2012 16:06:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPhE-000101-VR;
	Fri, 18 May 2012 17:06:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29572.805586.170966@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:06:28 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-4-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03/13] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 03/13] libxl: add libxl__xs_path_cleanup"):
> Add a function which behaves like "xenstore-rm -t", and which will be
> used to clean xenstore after unplug since we will be no longer
> executing xen-hotplug-cleanup script, that used to do that for us.
...
> +    if (!user_path) {
> +        LOGE(ERROR, "null path provided");
> +        return ERROR_INVAL;
> +    }

What is this for ?  Why not just crash ?

> +    if (!t) {
> +        LOGE(ERROR, "null transaction provided");
> +        return ERROR_INVAL;
> +    }

Likewise why not
       assert(t);
?

> +    path = libxl__strdup(gc, user_path);
> +    if (!xs_rm(CTX->xsh, t, path)) {
> +        rc = ERROR_FAIL;
> +        goto out;
...
> +out:
> +    return rc;

This has the effect of discarding the errno value if anything fails.
Perhaps this function should log on all errors ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:06:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:06:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPhI-00032G-Gj; Fri, 18 May 2012 16:06:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPhG-00031x-TZ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:06:31 +0000
Received: from [85.158.139.83:30205] by server-5.bemta-5.messagelabs.com id
	2E/38-13566-68376BF4; Fri, 18 May 2012 16:06:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337357189!21797772!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8746 invoked from network); 18 May 2012 16:06:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:06:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554082"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:06:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:06:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPhF-0001SE-04; Fri, 18 May 2012 16:06:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPhE-000101-VR;
	Fri, 18 May 2012 17:06:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29572.805586.170966@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:06:28 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-4-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03/13] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 03/13] libxl: add libxl__xs_path_cleanup"):
> Add a function which behaves like "xenstore-rm -t", and which will be
> used to clean xenstore after unplug since we will be no longer
> executing xen-hotplug-cleanup script, that used to do that for us.
...
> +    if (!user_path) {
> +        LOGE(ERROR, "null path provided");
> +        return ERROR_INVAL;
> +    }

What is this for ?  Why not just crash ?

> +    if (!t) {
> +        LOGE(ERROR, "null transaction provided");
> +        return ERROR_INVAL;
> +    }

Likewise why not
       assert(t);
?

> +    path = libxl__strdup(gc, user_path);
> +    if (!xs_rm(CTX->xsh, t, path)) {
> +        rc = ERROR_FAIL;
> +        goto out;
...
> +out:
> +    return rc;

This has the effect of discarding the errno value if anything fails.
Perhaps this function should log on all errors ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:08:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:08:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPiZ-0003B4-WA; Fri, 18 May 2012 16:07:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPiY-0003Av-Qs
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:07:50 +0000
Received: from [85.158.143.99:5569] by server-3.bemta-4.messagelabs.com id
	76/98-05853-6D376BF4; Fri, 18 May 2012 16:07:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337357268!23396219!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15924 invoked from network); 18 May 2012 16:07:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:07:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554101"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:07:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:07:47 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPiU-0001Sm-Rc; Fri, 18 May 2012 16:07:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPiU-00010E-Qq;
	Fri, 18 May 2012 17:07:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29650.818032.918160@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:07:46 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-7-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-7-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06/13] libxl: cleanup libxl__device_{disk,
	nic}_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 06/13] libxl: cleanup libxl__device_{disk,nic}_add"):
> Change libxl__sprintf for GCSPRINTF, LIBXL__LOG* for LOG and remove
> use of ctx variable in favour of the CTX constant.

Is this necessary to make things fit in subsequent patches ?

In general I approve of this kind of cleanup but I don't think now is
the right time to be doing it...

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:08:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:08:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPiZ-0003B4-WA; Fri, 18 May 2012 16:07:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPiY-0003Av-Qs
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:07:50 +0000
Received: from [85.158.143.99:5569] by server-3.bemta-4.messagelabs.com id
	76/98-05853-6D376BF4; Fri, 18 May 2012 16:07:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337357268!23396219!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15924 invoked from network); 18 May 2012 16:07:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:07:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554101"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:07:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:07:47 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPiU-0001Sm-Rc; Fri, 18 May 2012 16:07:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPiU-00010E-Qq;
	Fri, 18 May 2012 17:07:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.29650.818032.918160@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:07:46 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-7-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-7-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06/13] libxl: cleanup libxl__device_{disk,
	nic}_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 06/13] libxl: cleanup libxl__device_{disk,nic}_add"):
> Change libxl__sprintf for GCSPRINTF, LIBXL__LOG* for LOG and remove
> use of ctx variable in favour of the CTX constant.

Is this necessary to make things fit in subsequent patches ?

In general I approve of this kind of cleanup but I don't think now is
the right time to be doing it...

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:19:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPtW-0003TA-9r; Fri, 18 May 2012 16:19:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPtV-0003T5-DE
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:19:09 +0000
Received: from [85.158.138.51:45916] by server-12.bemta-3.messagelabs.com id
	B5/F6-29760-C7676BF4; Fri, 18 May 2012 16:19:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337357947!19913666!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22039 invoked from network); 18 May 2012 16:19:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:19:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554255"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:19:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:19:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPtT-0001Wf-8u; Fri, 18 May 2012 16:19:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPtT-000114-80;
	Fri, 18 May 2012 17:19:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.30331.220461.206072@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:19:07 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-8-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-8-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/13] libxl: convert libxl_domain_destroy
	to an AO op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 07/13] libxl: convert libxl_domain_destroy to an AO op"):
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.
> 
> All uses of libxl_domain_destroy have been changed, and either
> replaced by the new libxl_domain_destroy ao function or by the
> internal libxl__domain_destroy that can be used inside an already
> running ao.

Can you separate out the code motion into a separate patch ?  As it is
it's very difficult to review.

Also can you try to eliminate any code motion that's not strictly
necessaray.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:19:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPtW-0003TA-9r; Fri, 18 May 2012 16:19:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPtV-0003T5-DE
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:19:09 +0000
Received: from [85.158.138.51:45916] by server-12.bemta-3.messagelabs.com id
	B5/F6-29760-C7676BF4; Fri, 18 May 2012 16:19:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337357947!19913666!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22039 invoked from network); 18 May 2012 16:19:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:19:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554255"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:19:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:19:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPtT-0001Wf-8u; Fri, 18 May 2012 16:19:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPtT-000114-80;
	Fri, 18 May 2012 17:19:07 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.30331.220461.206072@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:19:07 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-8-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-8-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/13] libxl: convert libxl_domain_destroy
	to an AO op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 07/13] libxl: convert libxl_domain_destroy to an AO op"):
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.
> 
> All uses of libxl_domain_destroy have been changed, and either
> replaced by the new libxl_domain_destroy ao function or by the
> internal libxl__domain_destroy that can be used inside an already
> running ao.

Can you separate out the code motion into a separate patch ?  As it is
it's very difficult to review.

Also can you try to eliminate any code motion that's not strictly
necessaray.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:24:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:24:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPya-0003f3-1N; Fri, 18 May 2012 16:24:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPyY-0003ex-Lx
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:24:22 +0000
Received: from [193.109.254.147:3405] by server-6.bemta-14.messagelabs.com id
	48/91-04960-6B776BF4; Fri, 18 May 2012 16:24:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337358261!2069949!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19866 invoked from network); 18 May 2012 16:24:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:24:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554312"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:24:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:24:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPyW-0001YL-Ia; Fri, 18 May 2012 16:24:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPyW-00011V-Hh;
	Fri, 18 May 2012 17:24:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.30644.534400.44681@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:24:20 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-8-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-8-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/13] libxl: convert libxl_domain_destroy
	to an AO op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 07/13] libxl: convert libxl_domain_destroy to an AO op"):
> +struct libxl__ao_device {
> +    libxl__ao *ao;
> +    /* State in which the device is */
> +    libxl__device_state state;
> +    /* action being performed */
> +    libxl__device_action action;
> +    libxl__device *dev;
> +    int force;
> +    libxl__device_callback *callback;
> +    /* private for implementation */
> +    int rc;
> +    libxl__ev_devstate ds;
> +    void *base;
> +};

Perhaps this new functionality could be in a separate patch too ?  I
guess it won't share a great deal of code with the existing machinery.

> +/*----- device addition/removal -----*/
> +
> +/* During the init/destruction process, the device can be in several states:
> + *
> + * DEVICE_UNKNOWN: device in unknown state (default value when struct is
> + * initialized).
> + *
> + * DEVICE_WAIT_BACKEND: waiting for the backend to switch to XenbusStateInit or
> + * XenbusStateClosed.
> + *
> + * DEVICE_WAIT_HOTPLUG: waiting for hotplug script to finish execution.
> + *
> + * DEVICE_FINISHED: device is connected/disconnected.
> + */
> +typedef enum {
> +    DEVICE_ACTIVE,
> +    DEVICE_FINISHED
> +} libxl__device_state;

This enum doesn't seem to correspond to the comment.  Also if it
really is a two-state enum why not just have a boolean called
"finished" ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:24:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:24:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVPya-0003f3-1N; Fri, 18 May 2012 16:24:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVPyY-0003ex-Lx
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:24:22 +0000
Received: from [193.109.254.147:3405] by server-6.bemta-14.messagelabs.com id
	48/91-04960-6B776BF4; Fri, 18 May 2012 16:24:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337358261!2069949!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19866 invoked from network); 18 May 2012 16:24:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:24:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554312"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:24:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:24:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVPyW-0001YL-Ia; Fri, 18 May 2012 16:24:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVPyW-00011V-Hh;
	Fri, 18 May 2012 17:24:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.30644.534400.44681@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:24:20 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-8-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-8-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/13] libxl: convert libxl_domain_destroy
	to an AO op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 07/13] libxl: convert libxl_domain_destroy to an AO op"):
> +struct libxl__ao_device {
> +    libxl__ao *ao;
> +    /* State in which the device is */
> +    libxl__device_state state;
> +    /* action being performed */
> +    libxl__device_action action;
> +    libxl__device *dev;
> +    int force;
> +    libxl__device_callback *callback;
> +    /* private for implementation */
> +    int rc;
> +    libxl__ev_devstate ds;
> +    void *base;
> +};

Perhaps this new functionality could be in a separate patch too ?  I
guess it won't share a great deal of code with the existing machinery.

> +/*----- device addition/removal -----*/
> +
> +/* During the init/destruction process, the device can be in several states:
> + *
> + * DEVICE_UNKNOWN: device in unknown state (default value when struct is
> + * initialized).
> + *
> + * DEVICE_WAIT_BACKEND: waiting for the backend to switch to XenbusStateInit or
> + * XenbusStateClosed.
> + *
> + * DEVICE_WAIT_HOTPLUG: waiting for hotplug script to finish execution.
> + *
> + * DEVICE_FINISHED: device is connected/disconnected.
> + */
> +typedef enum {
> +    DEVICE_ACTIVE,
> +    DEVICE_FINISHED
> +} libxl__device_state;

This enum doesn't seem to correspond to the comment.  Also if it
really is a two-state enum why not just have a boolean called
"finished" ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:34:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:34:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQ7f-0003q9-2i; Fri, 18 May 2012 16:33:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQ7d-0003q2-65
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:33:45 +0000
Received: from [85.158.143.35:58723] by server-1.bemta-4.messagelabs.com id
	4E/2C-00342-8E976BF4; Fri, 18 May 2012 16:33:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337358823!4790913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27423 invoked from network); 18 May 2012 16:33:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:33:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554530"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:33:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:33:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQ7X-0001bW-Jd; Fri, 18 May 2012 16:33:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQ7X-00012T-It;
	Fri, 18 May 2012 17:33:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31203.571376.554494@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:33:39 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-9-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-9-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 08/13] libxl: convert libxl_device_disk_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 08/13] libxl: convert libxl_device_disk_add to an async operation"):

> +static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
> +{
> +    STATE_AO_GC(aorm->ao);
> +    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices)...
> +    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
> +                                      dcs->num_devices, &last);
> +    if (!last) return;
> +    if (last && ret) {
> +        LOGE(ERROR, "error connecting disk devices");
> +        goto error_out;
> +    }

This is a slightly odd way of putting it.  The `if (last' part is
always going to be true because we always return if !last.

Also, please can you use "rc" for libxl error codes rather than "ret".
We should standardise on one name for this and all the recent new code
uses "rc".

> +    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
> +     * Fill in any field required by either, including both relevant
> +     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
> +    dcs->dmss.dm.spawn.ao = ao;
> +    dcs->dmss.dm.guest_config = dcs->guest_config;
> +    dcs->dmss.dm.build_state = &dcs->build_state;
> +    dcs->dmss.dm.callback = domcreate_devmodel_started;
> +    dcs->dmss.callback = domcreate_devmodel_started;
> +

I don't understand why this hunk appears here in this diff.  Surely
this patch should not need to change the initialisation of dcs->dmss ?

> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 4019309..2b63a15 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
...                                           int rc);
> @@ -800,22 +801,60 @@ retry_transaction:
>          if (errno == EAGAIN)
>              goto retry_transaction;
> 
> +    GCNEW_ARRAY(sdss->devices, dm_config->num_disks);
> +    sdss->num_devices = dm_config->num_disks;
>      for (i = 0; i < dm_config->num_disks; i++) {
> -        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
> -        if (ret)
> -            goto out_free;
> +        libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
> +        sdss->devices[i].callback = spawn_stub_disk_connected;
> +        libxl__device_disk_add(egc, dm_domid, &dm_config->disks[i],
> +                               &sdss->devices[i]);
> +    }

We seem to have a couple of instances of this pattern.  You have a
helper function libxl__ao_device_check_last to check they're all done
and fish out the rc value.

Perhaps there should be a small helper function to populate devices[]
and call libxl__device_disk_add ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:34:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:34:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQ7f-0003q9-2i; Fri, 18 May 2012 16:33:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQ7d-0003q2-65
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:33:45 +0000
Received: from [85.158.143.35:58723] by server-1.bemta-4.messagelabs.com id
	4E/2C-00342-8E976BF4; Fri, 18 May 2012 16:33:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337358823!4790913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27423 invoked from network); 18 May 2012 16:33:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:33:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,617,1330905600"; d="scan'208";a="12554530"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:33:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:33:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQ7X-0001bW-Jd; Fri, 18 May 2012 16:33:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQ7X-00012T-It;
	Fri, 18 May 2012 17:33:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31203.571376.554494@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:33:39 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-9-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-9-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 08/13] libxl: convert libxl_device_disk_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 08/13] libxl: convert libxl_device_disk_add to an async operation"):

> +static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
> +{
> +    STATE_AO_GC(aorm->ao);
> +    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices)...
> +    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
> +                                      dcs->num_devices, &last);
> +    if (!last) return;
> +    if (last && ret) {
> +        LOGE(ERROR, "error connecting disk devices");
> +        goto error_out;
> +    }

This is a slightly odd way of putting it.  The `if (last' part is
always going to be true because we always return if !last.

Also, please can you use "rc" for libxl error codes rather than "ret".
We should standardise on one name for this and all the recent new code
uses "rc".

> +    /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
> +     * Fill in any field required by either, including both relevant
> +     * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
> +    dcs->dmss.dm.spawn.ao = ao;
> +    dcs->dmss.dm.guest_config = dcs->guest_config;
> +    dcs->dmss.dm.build_state = &dcs->build_state;
> +    dcs->dmss.dm.callback = domcreate_devmodel_started;
> +    dcs->dmss.callback = domcreate_devmodel_started;
> +

I don't understand why this hunk appears here in this diff.  Surely
this patch should not need to change the initialisation of dcs->dmss ?

> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 4019309..2b63a15 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
...                                           int rc);
> @@ -800,22 +801,60 @@ retry_transaction:
>          if (errno == EAGAIN)
>              goto retry_transaction;
> 
> +    GCNEW_ARRAY(sdss->devices, dm_config->num_disks);
> +    sdss->num_devices = dm_config->num_disks;
>      for (i = 0; i < dm_config->num_disks; i++) {
> -        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
> -        if (ret)
> -            goto out_free;
> +        libxl__init_ao_device(&sdss->devices[i], ao, &sdss->devices);
> +        sdss->devices[i].callback = spawn_stub_disk_connected;
> +        libxl__device_disk_add(egc, dm_domid, &dm_config->disks[i],
> +                               &sdss->devices[i]);
> +    }

We seem to have a couple of instances of this pattern.  You have a
helper function libxl__ao_device_check_last to check they're all done
and fish out the rc value.

Perhaps there should be a small helper function to populate devices[]
and call libxl__device_disk_add ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:38:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:38:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQC8-00047j-VE; Fri, 18 May 2012 16:38:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQC7-00047b-Tt
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:38:24 +0000
Received: from [85.158.143.99:54149] by server-1.bemta-4.messagelabs.com id
	5F/D2-00342-DFA76BF4; Fri, 18 May 2012 16:38:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337359100!23366603!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6947 invoked from network); 18 May 2012 16:38:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:38:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554608"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:38:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:38:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQC3-0001d5-CW; Fri, 18 May 2012 16:38:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQC3-00012i-Bg;
	Fri, 18 May 2012 17:38:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31483.341852.193941@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:38:19 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-10-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-10-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 09/13] libxl: convert libxl_device_nic_add to an async operation"):
> This patch converts libxl_device_nic_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.

Why do you serialise vif and vbd initialisation ?  Would anything go
wrong if you did them both at once ?

> +    /* Plug nic interfaces */
> +    if (!ret && d_config->num_vifs > 0) {
> +        /* Attach nics */
> +        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
> +        dcs->num_devices = d_config->num_vifs;
> +        for (i = 0; i < d_config->num_vifs; i++) {
> +            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
> +            dcs->devices[i].callback = domcreate_nics_connected;
> +            libxl__device_nic_add(egc, domid, &d_config->vifs[i],
> +                                  &dcs->devices[i]);

Ah this pattern again....

> -int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
> +void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
> +                           libxl_device_nic *nic, libxl__ao_device *aorm)
>  {
> +    STATE_AO_GC(aorm->ao);
>      flexarray_t *front;
>      flexarray_t *back;
> -    libxl__device device;
> +    libxl__device *device;

You might want to consider a pre-patch which changes this, and
libxl__device_disk_add's, as follows:
  -    libxl__device device;
  +    libxl__device device[1];

That would get rid of the noise from this patch.  Up to you, though;
because it's separated out textually doesn't make the diff unreadable
like it is.

> @@ -845,9 +851,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
>      }
> 
>      for (i = 0; i < dm_config->num_vifs; i++) {
> -        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
> -        if (ret)
> -            goto out;
> +        /* We have to init the nic here, because we still haven't
> +         * called libxl_device_nic_add at this point, but qemu needs
> +         * the nic information to be complete.
> +         */
> +        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);

This is really too much repetition now.  Can we not have a common "add
devices" function which is called once for the main domain and once
for the stubdom ?

In the future we'll need that if we have more service domains, too.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:38:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:38:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQC8-00047j-VE; Fri, 18 May 2012 16:38:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQC7-00047b-Tt
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:38:24 +0000
Received: from [85.158.143.99:54149] by server-1.bemta-4.messagelabs.com id
	5F/D2-00342-DFA76BF4; Fri, 18 May 2012 16:38:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337359100!23366603!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6947 invoked from network); 18 May 2012 16:38:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:38:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554608"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:38:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:38:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQC3-0001d5-CW; Fri, 18 May 2012 16:38:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQC3-00012i-Bg;
	Fri, 18 May 2012 17:38:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31483.341852.193941@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:38:19 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-10-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-10-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 09/13] libxl: convert libxl_device_nic_add to an async operation"):
> This patch converts libxl_device_nic_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.

Why do you serialise vif and vbd initialisation ?  Would anything go
wrong if you did them both at once ?

> +    /* Plug nic interfaces */
> +    if (!ret && d_config->num_vifs > 0) {
> +        /* Attach nics */
> +        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
> +        dcs->num_devices = d_config->num_vifs;
> +        for (i = 0; i < d_config->num_vifs; i++) {
> +            libxl__init_ao_device(&dcs->devices[i], ao, &dcs->devices);
> +            dcs->devices[i].callback = domcreate_nics_connected;
> +            libxl__device_nic_add(egc, domid, &d_config->vifs[i],
> +                                  &dcs->devices[i]);

Ah this pattern again....

> -int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
> +void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
> +                           libxl_device_nic *nic, libxl__ao_device *aorm)
>  {
> +    STATE_AO_GC(aorm->ao);
>      flexarray_t *front;
>      flexarray_t *back;
> -    libxl__device device;
> +    libxl__device *device;

You might want to consider a pre-patch which changes this, and
libxl__device_disk_add's, as follows:
  -    libxl__device device;
  +    libxl__device device[1];

That would get rid of the noise from this patch.  Up to you, though;
because it's separated out textually doesn't make the diff unreadable
like it is.

> @@ -845,9 +851,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
>      }
> 
>      for (i = 0; i < dm_config->num_vifs; i++) {
> -        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
> -        if (ret)
> -            goto out;
> +        /* We have to init the nic here, because we still haven't
> +         * called libxl_device_nic_add at this point, but qemu needs
> +         * the nic information to be complete.
> +         */
> +        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);

This is really too much repetition now.  Can we not have a common "add
devices" function which is called once for the main domain and once
for the stubdom ?

In the future we'll need that if we have more service domains, too.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:40:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:40:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQDe-0004Cr-GN; Fri, 18 May 2012 16:39:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SVQDd-0004Cm-HE
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 16:39:57 +0000
Received: from [85.158.143.35:8583] by server-1.bemta-4.messagelabs.com id
	BE/15-00342-C5B76BF4; Fri, 18 May 2012 16:39:56 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337359196!12923928!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12205 invoked from network); 18 May 2012 16:39:56 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-8.tower-21.messagelabs.com with SMTP;
	18 May 2012 16:39:56 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id C6DF31AC278;
	Fri, 18 May 2012 18:39:54 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id HH9RBDILnmMP; Fri, 18 May 2012 18:39:54 +0200 (CEST)
Received: from [10.0.0.1] (p57946F69.dip.t-dialin.net [87.148.111.105])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Fri, 18 May 2012 18:39:54 +0200 (CEST)
Message-ID: <4FB67B5C.9070003@hfp.de>
Date: Fri, 18 May 2012 18:39:56 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
	<4FA2615C.1000301@hfp.de>
	<1336042317.20716.40.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336042317.20716.40.camel@zakaz.uk.xensource.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03.05.2012 12:51, Ian Campbell wrote:
> On Thu, 2012-05-03 at 11:43 +0100, Andreas Kinzler wrote:
>> On 02.05.2012 15:31, Ian Campbell wrote:
>>> Did you happen to also compare 3.2.12 and 2.6.34.10 running these
>>> workloads natively?
>> Yes, I tested against 2.6.32.x. Differences exist, but are minor.
>
> Good to know, thanks for testing
>
> The other potential Xen perf thing which just occurred to to me is the
> ACPI power management stuff which the xen-acpi-processor patches in
> 3.4-rcN are fixing. These are necessary to enable things like turbo mode
> so have a pretty large perf impact.
>
> Are you able to try the latest 3.4-rc kernel?

Yes, meanwhile I tried 3.4-rc7. There is some improvement but still a good bit away from 
2.6.34 xenified:

time emerge apache:

		3.2.12-dom0	3.3.4-dom0 (w. patch)	3.4.0-rc7	2.6.34.10-dom0
	real    1m0.560s	0m59.971s (0m58.029s)	0m55.000s	0m47.689s
	user    0m40.939s	0m40.619s (0m40.291s)	0m37.846s	0m41.355s
	sys     0m18.865s	0m18.305s (0m16.837s)	0m16.041s	0m11.441s

time make -j4 (3.2.12 linux compile):

		3.2.12-dom0	3.3.4-dom0 (w. patch)	3.4.0-rc7	2.6.34.10-dom0
	real    5m8.793s	5m4.888s  (5m1.408s)	4m48.839s	4m20.576s
	user    8m1.746s	7m59.726s (7m57.534s)	7m40.129s	7m10.375s
	sys     1m39.010s	1m32.994s (1m29.518s)	1m20.993s	0m56.304s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:40:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:40:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQDe-0004Cr-GN; Fri, 18 May 2012 16:39:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ml-xen-devel@hfp.de>) id 1SVQDd-0004Cm-HE
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 16:39:57 +0000
Received: from [85.158.143.35:8583] by server-1.bemta-4.messagelabs.com id
	BE/15-00342-C5B76BF4; Fri, 18 May 2012 16:39:56 +0000
X-Env-Sender: ml-xen-devel@hfp.de
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337359196!12923928!1
X-Originating-IP: [88.205.101.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12205 invoked from network); 18 May 2012 16:39:56 -0000
Received: from rootsrv.hfp.de (HELO rootsrv.hfp.de) (88.205.101.6)
	by server-8.tower-21.messagelabs.com with SMTP;
	18 May 2012 16:39:56 -0000
Received: from localhost (localhost [127.0.0.1])
	by rootsrv.hfp.de (Postfix) with ESMTP id C6DF31AC278;
	Fri, 18 May 2012 18:39:54 +0200 (CEST)
X-Virus-Scanned: amavisd-new/ClamAV at rootsrv.hfp.de
Received: from rootsrv.hfp.de ([127.0.0.1])
	by localhost (rootsrv.hfp.de [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id HH9RBDILnmMP; Fri, 18 May 2012 18:39:54 +0200 (CEST)
Received: from [10.0.0.1] (p57946F69.dip.t-dialin.net [87.148.111.105])
	by rootsrv.hfp.de (Postfix) with ESMTPA;
	Fri, 18 May 2012 18:39:54 +0200 (CEST)
Message-ID: <4FB67B5C.9070003@hfp.de>
Date: Fri, 18 May 2012 18:39:56 +0200
From: Andreas Kinzler <ml-xen-devel@hfp.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
References: <4FA1328B.6070602@hfp.de>
	<1335965470.26758.58.camel@zakaz.uk.xensource.com>
	<4FA2615C.1000301@hfp.de>
	<1336042317.20716.40.camel@zakaz.uk.xensource.com>
In-Reply-To: <1336042317.20716.40.camel@zakaz.uk.xensource.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] Poor performance with Linux 3.x as dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 03.05.2012 12:51, Ian Campbell wrote:
> On Thu, 2012-05-03 at 11:43 +0100, Andreas Kinzler wrote:
>> On 02.05.2012 15:31, Ian Campbell wrote:
>>> Did you happen to also compare 3.2.12 and 2.6.34.10 running these
>>> workloads natively?
>> Yes, I tested against 2.6.32.x. Differences exist, but are minor.
>
> Good to know, thanks for testing
>
> The other potential Xen perf thing which just occurred to to me is the
> ACPI power management stuff which the xen-acpi-processor patches in
> 3.4-rcN are fixing. These are necessary to enable things like turbo mode
> so have a pretty large perf impact.
>
> Are you able to try the latest 3.4-rc kernel?

Yes, meanwhile I tried 3.4-rc7. There is some improvement but still a good bit away from 
2.6.34 xenified:

time emerge apache:

		3.2.12-dom0	3.3.4-dom0 (w. patch)	3.4.0-rc7	2.6.34.10-dom0
	real    1m0.560s	0m59.971s (0m58.029s)	0m55.000s	0m47.689s
	user    0m40.939s	0m40.619s (0m40.291s)	0m37.846s	0m41.355s
	sys     0m18.865s	0m18.305s (0m16.837s)	0m16.041s	0m11.441s

time make -j4 (3.2.12 linux compile):

		3.2.12-dom0	3.3.4-dom0 (w. patch)	3.4.0-rc7	2.6.34.10-dom0
	real    5m8.793s	5m4.888s  (5m1.408s)	4m48.839s	4m20.576s
	user    8m1.746s	7m59.726s (7m57.534s)	7m40.129s	7m10.375s
	sys     1m39.010s	1m32.994s (1m29.518s)	1m20.993s	0m56.304s

Regards Andreas

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:40:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQEP-0004GW-Ub; Fri, 18 May 2012 16:40:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQEO-0004GH-Gx
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:40:44 +0000
Received: from [85.158.143.99:6789] by server-3.bemta-4.messagelabs.com id
	97/B8-05853-B8B76BF4; Fri, 18 May 2012 16:40:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337359243!22131526!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7582 invoked from network); 18 May 2012 16:40:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:40:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554628"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:40:41 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:40:41 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQEL-0001du-Ep; Fri, 18 May 2012 16:40:41 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQEL-00012t-Dy;
	Fri, 18 May 2012 17:40:41 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31625.419471.868948@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:40:41 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-11-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-11-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 10/13] libxl: add option to choose who
 executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 10/13] libxl: add option to choose who executes hotplug scripts"):
> Add and option to xl.conf file to decide if hotplug scripts are
> executed from the toolstack (xl) or from udev as it used to be in the
> past.
...
> +    if (libxl_defbool_val(info->run_hotplug_scripts)) {
> +        if (!libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
> +            LOG(ERROR, "cannot change hotplug execution option once set, "
> +                        "please shutdown all guests before changing it");
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +        libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
> +    } else {
> +        if (libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
> +            LOG(ERROR, "cannot change hotplug execution option once set, "
> +                        "please shutdown all guests before changing it");
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +        xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);

How about
     int disable_wanted_now = something involving libxl__xs_read(....);
     if (disable_wanted_now !=
         libxl_defbool_val(info->run_hotplug_scripts) {
         LOG(ERROR,
         etc.
     }
?

Also you should check for the errno value from libxl__xs_read.  ENOENT
is fine but anything else should be a fatal error.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:40:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQEP-0004GW-Ub; Fri, 18 May 2012 16:40:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQEO-0004GH-Gx
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:40:44 +0000
Received: from [85.158.143.99:6789] by server-3.bemta-4.messagelabs.com id
	97/B8-05853-B8B76BF4; Fri, 18 May 2012 16:40:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337359243!22131526!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7582 invoked from network); 18 May 2012 16:40:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:40:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554628"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:40:41 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:40:41 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQEL-0001du-Ep; Fri, 18 May 2012 16:40:41 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQEL-00012t-Dy;
	Fri, 18 May 2012 17:40:41 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31625.419471.868948@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:40:41 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-11-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-11-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 10/13] libxl: add option to choose who
 executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 10/13] libxl: add option to choose who executes hotplug scripts"):
> Add and option to xl.conf file to decide if hotplug scripts are
> executed from the toolstack (xl) or from udev as it used to be in the
> past.
...
> +    if (libxl_defbool_val(info->run_hotplug_scripts)) {
> +        if (!libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
> +            LOG(ERROR, "cannot change hotplug execution option once set, "
> +                        "please shutdown all guests before changing it");
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +        libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
> +    } else {
> +        if (libxl__xs_read(gc, t, DISABLE_UDEV_PATH) && (nb_vm - 1)) {
> +            LOG(ERROR, "cannot change hotplug execution option once set, "
> +                        "please shutdown all guests before changing it");
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +        xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);

How about
     int disable_wanted_now = something involving libxl__xs_read(....);
     if (disable_wanted_now !=
         libxl_defbool_val(info->run_hotplug_scripts) {
         LOG(ERROR,
         etc.
     }
?

Also you should check for the errno value from libxl__xs_read.  ENOENT
is fine but anything else should be a fatal error.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:41:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:41:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQFD-0004MF-Br; Fri, 18 May 2012 16:41:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQFC-0004Lq-GX
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:41:34 +0000
Received: from [85.158.139.83:58957] by server-11.bemta-5.messagelabs.com id
	84/86-12959-DBB76BF4; Fri, 18 May 2012 16:41:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337359293!29453195!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10232 invoked from network); 18 May 2012 16:41:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:41:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554641"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:41:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:41:32 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQFA-0001e8-9y; Fri, 18 May 2012 16:41:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQFA-00013A-99;
	Fri, 18 May 2012 17:41:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31676.266501.253510@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:41:32 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-12-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
> Set the default value for nic interfaces to VIF, since it used to be
> IOEMU, even for PV guests.

How odd.

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 2490138..631de15 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1637,7 +1637,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
>                                    libxl__xen_script_dir_path()) < 0 )
>          return ERROR_FAIL;
>      if (!nic->nictype)
> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
> +        nic->nictype = LIBXL_NIC_TYPE_VIF;

But doesn't this set the default type to VIF even for HVM guests ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:41:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:41:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQFD-0004MF-Br; Fri, 18 May 2012 16:41:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQFC-0004Lq-GX
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:41:34 +0000
Received: from [85.158.139.83:58957] by server-11.bemta-5.messagelabs.com id
	84/86-12959-DBB76BF4; Fri, 18 May 2012 16:41:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337359293!29453195!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10232 invoked from network); 18 May 2012 16:41:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:41:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554641"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:41:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:41:32 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQFA-0001e8-9y; Fri, 18 May 2012 16:41:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQFA-00013A-99;
	Fri, 18 May 2012 17:41:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.31676.266501.253510@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:41:32 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-12-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
> Set the default value for nic interfaces to VIF, since it used to be
> IOEMU, even for PV guests.

How odd.

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 2490138..631de15 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1637,7 +1637,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
>                                    libxl__xen_script_dir_path()) < 0 )
>          return ERROR_FAIL;
>      if (!nic->nictype)
> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
> +        nic->nictype = LIBXL_NIC_TYPE_VIF;

But doesn't this set the default type to VIF even for HVM guests ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:52:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQP1-0004h0-E8; Fri, 18 May 2012 16:51:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQOz-0004gv-RZ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:51:42 +0000
Received: from [85.158.139.83:7374] by server-2.bemta-5.messagelabs.com id
	41/3D-17016-C1E76BF4; Fri, 18 May 2012 16:51:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337359899!28447199!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22610 invoked from network); 18 May 2012 16:51:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:51:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554732"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:51:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:51:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQOw-0001hY-Rr; Fri, 18 May 2012 16:51:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQOw-00013j-R2;
	Fri, 18 May 2012 17:51:38 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.32282.822080.414690@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:51:38 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-13-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-13-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 12/13] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 12/13] libxl: call hotplug scripts for disk devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.
> 
> We will chain the launch of the disk hotplug scripts after the
> device_backend_callback callback, or directly from
> libxl__initiate_device_{add,remove} if the device is already in the
> desired state.
> 
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  tools/hotplug/Linux/xen-backend.rules     |    6 +-
>  tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
>  tools/libxl/Makefile                      |    3 +-
>  tools/libxl/libxl_device.c                |   23 ++++-
>  tools/libxl/libxl_hotplug.c               |   84 +++++++++++++++++++
>  tools/libxl/libxl_internal.h              |   17 ++++
>  tools/libxl/libxl_linux.c                 |  126 +++++++++++++++++++++++++++++
>  7 files changed, 256 insertions(+), 9 deletions(-)
>  create mode 100644 tools/libxl/libxl_hotplug.c
> 
> diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
> index 405387f..d55ff11 100644
> --- a/tools/hotplug/Linux/xen-backend.rules
> +++ b/tools/hotplug/Linux/xen-backend.rules
> @@ -1,11 +1,11 @@
> -SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> -SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
>  SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
>  SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
>  SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
>  SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
>  SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
> -SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
> +SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
>  KERNEL=="evtchn", NAME="xen/%k"
>  SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
>  SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
> diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
> index 8f6557d..4a7bc73 100644
> --- a/tools/hotplug/Linux/xen-hotplug-common.sh
> +++ b/tools/hotplug/Linux/xen-hotplug-common.sh
> @@ -15,6 +15,12 @@
>  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
>  #
> 
> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> +# has been launched from libxl
> +if [ -n "${UDEV_CALL}" ] && \
> +   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
> +    exit 0
> +fi
> 
>  dir=$(dirname "$0")
>  . "$dir/hotplugpath.sh"
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 5d9227e..9abadff 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -66,7 +66,8 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
>                         libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
>                         libxl_internal.o libxl_utils.o libxl_uuid.o \
>                         libxl_json.o libxl_aoutils.o \
> -                       libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
> +                       libxl_qmp.o libxl_event.o libxl_fork.o libxl_hotplug.o \
> +                       $(LIBXL_OBJS-y)
>  LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
> 
>  $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 6b0ce95..0b7beb7 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -393,6 +398,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t dom> @@ -760,7 +770,7 @@ out_fail:
> 
>  out_ok:
>      assert(!rc);
> -    aorm->callback(egc, aorm);
> +    libxl__device_hotplug(egc, aorm);

Where does the name "aorm" come from here ?  It doesn't seem to
involve removal.

> +int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,

Ie shouldn't that be "aodev" or something ?

> +/* Hotplug scripts helpers */
> +
> +static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
> +{
> +    if (!aorm) return;
> +    libxl__ev_time_deregister(gc, &aorm->ev);
> +}
> +
> +static void callback(libxl__egc *egc, libxl__ev_child *child,
> +                                    pid_t pid, int status)
> +{
> +    libxl__ao_device *aorm = CONTAINER_OF(child, *aorm, child);
> +    STATE_AO_GC(aorm->ao);
> +
> +    cleanup(gc, aorm);
> +
> +    if (status) {
> +        libxl_report_child_exitstatus(CTX, aorm->rc ? LIBXL__LOG_ERROR
> +                                                    : LIBXL__LOG_WARNING,
> +                                      aorm->what, pid, status);
> +        aorm->rc = ERROR_FAIL;
> +    }
> +    aorm->callback(egc, aorm);
> +}

This structure where half of the event handling is in the common code
and half of it is in libxl_linux.c is not really appropriate.  It
means that the hotplug event machinery is not all in the same place.

Can you make an interface to libxl_linux.c which is fully synchronous,
so that libxl_linux.c simply says whether to run the script or not ?

Eg
   libxl__get_hotplug_script_info(libxl__egc *, libxl__device *dev,
                                    char ***args, char ***env);

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 16:52:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 16:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQP1-0004h0-E8; Fri, 18 May 2012 16:51:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQOz-0004gv-RZ
	for xen-devel@lists.xen.org; Fri, 18 May 2012 16:51:42 +0000
Received: from [85.158.139.83:7374] by server-2.bemta-5.messagelabs.com id
	41/3D-17016-C1E76BF4; Fri, 18 May 2012 16:51:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337359899!28447199!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22610 invoked from network); 18 May 2012 16:51:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 16:51:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12554732"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 16:51:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 17:51:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVQOw-0001hY-Rr; Fri, 18 May 2012 16:51:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVQOw-00013j-R2;
	Fri, 18 May 2012 17:51:38 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.32282.822080.414690@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 17:51:38 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337184716-49276-13-git-send-email-roger.pau@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-13-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 12/13] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH 12/13] libxl: call hotplug scripts for disk devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.
> 
> We will chain the launch of the disk hotplug scripts after the
> device_backend_callback callback, or directly from
> libxl__initiate_device_{add,remove} if the device is already in the
> desired state.
> 
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  tools/hotplug/Linux/xen-backend.rules     |    6 +-
>  tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
>  tools/libxl/Makefile                      |    3 +-
>  tools/libxl/libxl_device.c                |   23 ++++-
>  tools/libxl/libxl_hotplug.c               |   84 +++++++++++++++++++
>  tools/libxl/libxl_internal.h              |   17 ++++
>  tools/libxl/libxl_linux.c                 |  126 +++++++++++++++++++++++++++++
>  7 files changed, 256 insertions(+), 9 deletions(-)
>  create mode 100644 tools/libxl/libxl_hotplug.c
> 
> diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
> index 405387f..d55ff11 100644
> --- a/tools/hotplug/Linux/xen-backend.rules
> +++ b/tools/hotplug/Linux/xen-backend.rules
> @@ -1,11 +1,11 @@
> -SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> -SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
>  SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
>  SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
>  SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
>  SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
>  SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
> -SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
> +SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
>  KERNEL=="evtchn", NAME="xen/%k"
>  SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
>  SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
> diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
> index 8f6557d..4a7bc73 100644
> --- a/tools/hotplug/Linux/xen-hotplug-common.sh
> +++ b/tools/hotplug/Linux/xen-hotplug-common.sh
> @@ -15,6 +15,12 @@
>  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
>  #
> 
> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> +# has been launched from libxl
> +if [ -n "${UDEV_CALL}" ] && \
> +   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
> +    exit 0
> +fi
> 
>  dir=$(dirname "$0")
>  . "$dir/hotplugpath.sh"
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 5d9227e..9abadff 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -66,7 +66,8 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
>                         libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
>                         libxl_internal.o libxl_utils.o libxl_uuid.o \
>                         libxl_json.o libxl_aoutils.o \
> -                       libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
> +                       libxl_qmp.o libxl_event.o libxl_fork.o libxl_hotplug.o \
> +                       $(LIBXL_OBJS-y)
>  LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
> 
>  $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 6b0ce95..0b7beb7 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -393,6 +398,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t dom> @@ -760,7 +770,7 @@ out_fail:
> 
>  out_ok:
>      assert(!rc);
> -    aorm->callback(egc, aorm);
> +    libxl__device_hotplug(egc, aorm);

Where does the name "aorm" come from here ?  It doesn't seem to
involve removal.

> +int libxl__hotplug_launch(libxl__gc *gc, libxl__ao_device *aorm,

Ie shouldn't that be "aodev" or something ?

> +/* Hotplug scripts helpers */
> +
> +static void cleanup(libxl__gc *gc, libxl__ao_device *aorm)
> +{
> +    if (!aorm) return;
> +    libxl__ev_time_deregister(gc, &aorm->ev);
> +}
> +
> +static void callback(libxl__egc *egc, libxl__ev_child *child,
> +                                    pid_t pid, int status)
> +{
> +    libxl__ao_device *aorm = CONTAINER_OF(child, *aorm, child);
> +    STATE_AO_GC(aorm->ao);
> +
> +    cleanup(gc, aorm);
> +
> +    if (status) {
> +        libxl_report_child_exitstatus(CTX, aorm->rc ? LIBXL__LOG_ERROR
> +                                                    : LIBXL__LOG_WARNING,
> +                                      aorm->what, pid, status);
> +        aorm->rc = ERROR_FAIL;
> +    }
> +    aorm->callback(egc, aorm);
> +}

This structure where half of the event handling is in the common code
and half of it is in libxl_linux.c is not really appropriate.  It
means that the hotplug event machinery is not all in the same place.

Can you make an interface to libxl_linux.c which is fully synchronous,
so that libxl_linux.c simply says whether to run the script or not ?

Eg
   libxl__get_hotplug_script_info(libxl__egc *, libxl__device *dev,
                                    char ***args, char ***env);

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 17:12:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 17:12:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQj1-0005zR-OE; Fri, 18 May 2012 17:12:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQj0-0005yo-AA
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 17:12:22 +0000
Received: from [85.158.138.51:21273] by server-5.bemta-3.messagelabs.com id
	0D/A9-17113-5F286BF4; Fri, 18 May 2012 17:12:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337361140!27896550!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11566 invoked from network); 18 May 2012 17:12:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 17:12:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555075"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 17:12:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 18:12:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVQiy-0001oC-0k;
	Fri, 18 May 2012 17:12:20 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVQix-0001d3-ES;
	Fri, 18 May 2012 18:12:19 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12921-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 18:12:19 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12921: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12921 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12921/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12876
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10    fail REGR. vs. 12884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  e9058654ca08
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=e9058654ca08
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable e9058654ca08
+ branch=xen-unstable
+ revision=e9058654ca08
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r e9058654ca08 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 37 changesets with 94 changes to 52 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 17:12:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 17:12:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVQj1-0005zR-OE; Fri, 18 May 2012 17:12:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVQj0-0005yo-AA
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 17:12:22 +0000
Received: from [85.158.138.51:21273] by server-5.bemta-3.messagelabs.com id
	0D/A9-17113-5F286BF4; Fri, 18 May 2012 17:12:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337361140!27896550!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11566 invoked from network); 18 May 2012 17:12:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 17:12:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555075"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 17:12:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 18:12:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVQiy-0001oC-0k;
	Fri, 18 May 2012 17:12:20 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVQix-0001d3-ES;
	Fri, 18 May 2012 18:12:19 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12921-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 18:12:19 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12921: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12921 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12921/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12876
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12884
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10    fail REGR. vs. 12884

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  e9058654ca08
baseline version:
 xen                  f8279258e3c9

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=e9058654ca08
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable e9058654ca08
+ branch=xen-unstable
+ revision=e9058654ca08
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r e9058654ca08 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 37 changesets with 94 changes to 52 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmx-0006tj-Sf; Fri, 18 May 2012 18:20:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmv-0006tJ-UB
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:30 +0000
Received: from [85.158.139.83:28035] by server-10.bemta-5.messagelabs.com id
	2F/6D-08260-CE296BF4; Fri, 18 May 2012 18:20:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29042 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555793"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Ak-C9; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037R-BN;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 19:20:24 +0100
Message-ID: <1337365225-11937-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/4] libxl: events: debugging output for fds
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes since v1:
 * New output only occurs if you compile with -DDEBUG=1
---
 tools/libxl/libxl_event.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 8d6fec8..ed8ed5c 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -70,6 +70,8 @@ int libxl__ev_fd_register(libxl__gc *gc, libxl__ev_fd *ev,
 
     CTX_LOCK;
 
+    DBG("ev_fd=%p register fd=%d events=%x", ev, fd, events);
+
     rc = OSEVENT_HOOK(fd_register, fd, &ev->for_app_reg, events, ev);
     if (rc) goto out;
 
@@ -93,6 +95,8 @@ int libxl__ev_fd_modify(libxl__gc *gc, libxl__ev_fd *ev, short events)
     CTX_LOCK;
     assert(libxl__ev_fd_isregistered(ev));
 
+    DBG("ev_fd=%p modify fd=%d events=%x", ev, ev->fd, events);
+
     rc = OSEVENT_HOOK(fd_modify, ev->fd, &ev->for_app_reg, events);
     if (rc) goto out;
 
@@ -108,8 +112,12 @@ void libxl__ev_fd_deregister(libxl__gc *gc, libxl__ev_fd *ev)
 {
     CTX_LOCK;
 
-    if (!libxl__ev_fd_isregistered(ev))
+    if (!libxl__ev_fd_isregistered(ev)) {
+        DBG("ev_fd=%p deregister unregistered",ev);
         goto out;
+    }
+
+    DBG("ev_fd=%p deregister fd=%d", ev, ev->fd);
 
     OSEVENT_HOOK_VOID(fd_deregister, ev->fd, ev->for_app_reg);
     LIBXL_LIST_REMOVE(ev, entry);
@@ -873,8 +881,11 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
             continue;
 
         int revents = afterpoll_check_fd(poller,fds,nfds, efd->fd,efd->events);
-        if (revents)
+        if (revents) {
+            DBG("ev_fd=%p occurs fd=%d events=%x revents=%x",
+                efd, efd->fd, efd->events, revents);
             efd->func(egc, efd, efd->fd, efd->events, revents);
+        }
     }
 
     if (afterpoll_check_fd(poller,fds,nfds, poller->wakeup_pipe[0],POLLIN)) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmx-0006tj-Sf; Fri, 18 May 2012 18:20:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmv-0006tJ-UB
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:30 +0000
Received: from [85.158.139.83:28035] by server-10.bemta-5.messagelabs.com id
	2F/6D-08260-CE296BF4; Fri, 18 May 2012 18:20:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29042 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555793"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Ak-C9; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037R-BN;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 19:20:24 +0100
Message-ID: <1337365225-11937-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 3/4] libxl: events: debugging output for fds
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes since v1:
 * New output only occurs if you compile with -DDEBUG=1
---
 tools/libxl/libxl_event.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 8d6fec8..ed8ed5c 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -70,6 +70,8 @@ int libxl__ev_fd_register(libxl__gc *gc, libxl__ev_fd *ev,
 
     CTX_LOCK;
 
+    DBG("ev_fd=%p register fd=%d events=%x", ev, fd, events);
+
     rc = OSEVENT_HOOK(fd_register, fd, &ev->for_app_reg, events, ev);
     if (rc) goto out;
 
@@ -93,6 +95,8 @@ int libxl__ev_fd_modify(libxl__gc *gc, libxl__ev_fd *ev, short events)
     CTX_LOCK;
     assert(libxl__ev_fd_isregistered(ev));
 
+    DBG("ev_fd=%p modify fd=%d events=%x", ev, ev->fd, events);
+
     rc = OSEVENT_HOOK(fd_modify, ev->fd, &ev->for_app_reg, events);
     if (rc) goto out;
 
@@ -108,8 +112,12 @@ void libxl__ev_fd_deregister(libxl__gc *gc, libxl__ev_fd *ev)
 {
     CTX_LOCK;
 
-    if (!libxl__ev_fd_isregistered(ev))
+    if (!libxl__ev_fd_isregistered(ev)) {
+        DBG("ev_fd=%p deregister unregistered",ev);
         goto out;
+    }
+
+    DBG("ev_fd=%p deregister fd=%d", ev, ev->fd);
 
     OSEVENT_HOOK_VOID(fd_deregister, ev->fd, ev->for_app_reg);
     LIBXL_LIST_REMOVE(ev, entry);
@@ -873,8 +881,11 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
             continue;
 
         int revents = afterpoll_check_fd(poller,fds,nfds, efd->fd,efd->events);
-        if (revents)
+        if (revents) {
+            DBG("ev_fd=%p occurs fd=%d events=%x revents=%x",
+                efd, efd->fd, efd->events, revents);
             efd->func(egc, efd, efd->fd, efd->events, revents);
+        }
     }
 
     if (afterpoll_check_fd(poller,fds,nfds, poller->wakeup_pipe[0],POLLIN)) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmy-0006ts-8J; Fri, 18 May 2012 18:20:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmv-0006tK-Vw
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:30 +0000
Received: from [85.158.139.83:15071] by server-7.bemta-5.messagelabs.com id
	8D/5E-16195-DE296BF4; Fri, 18 May 2012 18:20:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29049 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555794"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Ai-As; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037D-8R;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 19:20:22 +0100
Message-ID: <1337365225-11937-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/4] libxl: events: debugging output for timeouts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes since v1:
 * New output only occurs if you compile with -DDEBUG=1
---
 tools/libxl/libxl_event.c |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 7fbd5c3..c095f14 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -19,6 +19,18 @@
 
 #include "libxl_internal.h"
 
+
+//#define DEBUG 1
+
+#ifdef DEBUG
+# define LIBXL__DBG_LOG(ctx, args, ...) \
+    LIBXL__LOG((ctx), XTL_DEBUG, args, __VA_ARGS__)
+#else
+# define LIBXL__DBG_LOG(ctx, args, ...) ((void)0)
+#endif
+#define DBG(args, ...) LIBXL__DBG_LOG(CTX, args, __VA_ARGS__)
+
+
 /*
  * The counter osevent_in_hook is used to ensure that the application
  * honours the reentrancy restriction documented in libxl_event.h.
@@ -169,6 +181,16 @@ static void time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     }
 }
 
+static void time_done_debug(libxl__gc *gc, const char *func,
+                            libxl__ev_time *ev, int rc)
+{
+#ifdef DEBUG
+    libxl__log(CTX, XTL_DEBUG, -1,__FILE__,0,func,
+               "ev_time=%p done rc=%d .func=%p infinite=%d abs=%lu.%06lu",
+               ev, rc, ev->func, ev->infinite,
+               (unsigned long)ev->abs.tv_sec, (unsigned long)ev->abs.tv_usec);
+#endif
+}
 
 int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
                                 libxl__ev_time_callback *func,
@@ -178,6 +200,9 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p register abs=%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     rc = time_register_finite(gc, ev, abs);
     if (rc) goto out;
 
@@ -185,6 +210,7 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -199,6 +225,8 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p register ms=%d", ev, milliseconds);
+
     if (milliseconds < 0) {
         ev->infinite = 1;
     } else {
@@ -213,6 +241,7 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
     rc = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -224,6 +253,9 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p modify abs==%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (ev->infinite) {
@@ -240,6 +272,7 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -252,6 +285,8 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p modify ms=%d", ev, milliseconds);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (milliseconds < 0) {
@@ -269,6 +304,7 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -277,6 +313,8 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
 {
     CTX_LOCK;
 
+    DBG("ev_time=%p deregister", ev);
+
     if (!libxl__ev_time_isregistered(ev))
         goto out;
 
@@ -284,6 +322,7 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     ev->func = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,0);
     CTX_UNLOCK;
     return;
 }
@@ -856,6 +895,10 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
 
         time_deregister(gc, etime);
 
+        DBG("ev_time=%p occurs abs=%lu.%06lu",
+            etime, (unsigned long)etime->abs.tv_sec,
+            (unsigned long)etime->abs.tv_usec);
+
         etime->func(egc, etime, &etime->abs);
     }
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmy-0006ts-8J; Fri, 18 May 2012 18:20:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmv-0006tK-Vw
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:30 +0000
Received: from [85.158.139.83:15071] by server-7.bemta-5.messagelabs.com id
	8D/5E-16195-DE296BF4; Fri, 18 May 2012 18:20:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29049 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555794"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Ai-As; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037D-8R;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 19:20:22 +0100
Message-ID: <1337365225-11937-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 1/4] libxl: events: debugging output for timeouts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes since v1:
 * New output only occurs if you compile with -DDEBUG=1
---
 tools/libxl/libxl_event.c |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 7fbd5c3..c095f14 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -19,6 +19,18 @@
 
 #include "libxl_internal.h"
 
+
+//#define DEBUG 1
+
+#ifdef DEBUG
+# define LIBXL__DBG_LOG(ctx, args, ...) \
+    LIBXL__LOG((ctx), XTL_DEBUG, args, __VA_ARGS__)
+#else
+# define LIBXL__DBG_LOG(ctx, args, ...) ((void)0)
+#endif
+#define DBG(args, ...) LIBXL__DBG_LOG(CTX, args, __VA_ARGS__)
+
+
 /*
  * The counter osevent_in_hook is used to ensure that the application
  * honours the reentrancy restriction documented in libxl_event.h.
@@ -169,6 +181,16 @@ static void time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     }
 }
 
+static void time_done_debug(libxl__gc *gc, const char *func,
+                            libxl__ev_time *ev, int rc)
+{
+#ifdef DEBUG
+    libxl__log(CTX, XTL_DEBUG, -1,__FILE__,0,func,
+               "ev_time=%p done rc=%d .func=%p infinite=%d abs=%lu.%06lu",
+               ev, rc, ev->func, ev->infinite,
+               (unsigned long)ev->abs.tv_sec, (unsigned long)ev->abs.tv_usec);
+#endif
+}
 
 int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
                                 libxl__ev_time_callback *func,
@@ -178,6 +200,9 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p register abs=%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     rc = time_register_finite(gc, ev, abs);
     if (rc) goto out;
 
@@ -185,6 +210,7 @@ int libxl__ev_time_register_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -199,6 +225,8 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p register ms=%d", ev, milliseconds);
+
     if (milliseconds < 0) {
         ev->infinite = 1;
     } else {
@@ -213,6 +241,7 @@ int libxl__ev_time_register_rel(libxl__gc *gc, libxl__ev_time *ev,
     rc = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -224,6 +253,9 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p modify abs==%lu.%06lu",
+        ev, (unsigned long)abs.tv_sec, (unsigned long)abs.tv_usec);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (ev->infinite) {
@@ -240,6 +272,7 @@ int libxl__ev_time_modify_abs(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -252,6 +285,8 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     CTX_LOCK;
 
+    DBG("ev_time=%p modify ms=%d", ev, milliseconds);
+
     assert(libxl__ev_time_isregistered(ev));
 
     if (milliseconds < 0) {
@@ -269,6 +304,7 @@ int libxl__ev_time_modify_rel(libxl__gc *gc, libxl__ev_time *ev,
 
     rc = 0;
  out:
+    time_done_debug(gc,__func__,ev,rc);
     CTX_UNLOCK;
     return rc;
 }
@@ -277,6 +313,8 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
 {
     CTX_LOCK;
 
+    DBG("ev_time=%p deregister", ev);
+
     if (!libxl__ev_time_isregistered(ev))
         goto out;
 
@@ -284,6 +322,7 @@ void libxl__ev_time_deregister(libxl__gc *gc, libxl__ev_time *ev)
     ev->func = 0;
 
  out:
+    time_done_debug(gc,__func__,ev,0);
     CTX_UNLOCK;
     return;
 }
@@ -856,6 +895,10 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
 
         time_deregister(gc, etime);
 
+        DBG("ev_time=%p occurs abs=%lu.%06lu",
+            etime, (unsigned long)etime->abs.tv_sec,
+            (unsigned long)etime->abs.tv_usec);
+
         etime->func(egc, etime, &etime->abs);
     }
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRn4-0006ul-0o; Fri, 18 May 2012 18:20:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRn2-0006uT-2V
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:36 +0000
Received: from [85.158.143.99:56684] by server-1.bemta-4.messagelabs.com id
	67/8D-00342-3F296BF4; Fri, 18 May 2012 18:20:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337365228!22142036!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15239 invoked from network); 18 May 2012 18:20:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555796"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Al-Cg; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037V-Bv;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 19:20:25 +0100
Message-ID: <1337365225-11937-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 4/4] libxl: events: debugging output relating to
	ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(In libxl__ao_complete_check_progress_reports, introduce libxl_ctx *ctx.)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes since v1:
 * New output in event loop only occurs if you compile with -DDEBUG=1;
   other new output remains.
 * Remove a mid-function use of AO_GC.  Instead, introduce a ctx
   variable and use that instead.
---
 tools/libxl/libxl_event.c    |   39 +++++++++++++++++++++++++++++++++++----
 tools/libxl/libxl_internal.h |   12 ++++++++----
 2 files changed, 43 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index ed8ed5c..565d2c2 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1020,11 +1020,14 @@ static void egc_run_callbacks(libxl__egc *egc)
 
     LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
+        LOG(DEBUG,"event %p callback type=%s",
+            ev, libxl_event_type_to_string(ev->type));
         CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
     }
 
     LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback aop=%p", aop->ao, aop);
         aop->how->callback(CTX, aop->ev, aop->how->for_callback);
 
         CTX_LOCK;
@@ -1037,6 +1040,7 @@ static void egc_run_callbacks(libxl__egc *egc)
     LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
                              entry_for_callback, ao_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
+        LOG(DEBUG,"ao %p: completion callback", ao);
         ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
         CTX_LOCK;
         ao->notified = 1;
@@ -1396,7 +1400,9 @@ int libxl_event_wait(libxl_ctx *ctx, libxl_event **event_r,
 
 void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 {
+    AO_GC;
     if (!ao) return;
+    LOG(DEBUG,"ao %p: destroy",ao);
     if (ao->poller) libxl__poller_put(ctx, ao->poller);
     ao->magic = LIBXL__AO_MAGIC_DESTROYED;
     libxl__free_all(&ao->gc);
@@ -1406,6 +1412,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 void libxl__ao_abort(libxl__ao *ao)
 {
     AO_GC;
+    LOG(DEBUG,"ao %p: abort",ao);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(ao->in_initiator);
     assert(!ao->complete);
@@ -1422,6 +1429,8 @@ libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
 
 void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
 {
+    AO_GC;
+    LOG(DEBUG,"ao %p: complete, rc=%d",ao,rc);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(!ao->complete);
     ao->complete = 1;
@@ -1439,7 +1448,7 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
      * will, after making the callback, take out the lock again,
      * decrement progress_reports_outstanding, and call us again.
      */
-
+    libxl_ctx *ctx = libxl__gc_owner(&egc->gc);
     assert(ao->progress_reports_outstanding >= 0);
 
     if (!ao->complete || ao->progress_reports_outstanding)
@@ -1451,6 +1460,7 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
             /* don't bother with this if we're not in the event loop */
             libxl__poller_wakeup(egc, ao->poller);
     } else if (ao->how.callback) {
+        LIBXL__LOG(ctx, XTL_DEBUG, "ao %p: complete for callback",ao);
         LIBXL_TAILQ_INSERT_TAIL(&egc->aos_for_callback, ao, entry_for_callback);
     } else {
         libxl_event *ev;
@@ -1463,11 +1473,12 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
         ao->notified = 1;
     }
     if (!ao->in_initiator && ao->notified)
-        libxl__ao__destroy(libxl__gc_owner(&egc->gc), ao);
+        libxl__ao__destroy(ctx, ao);
 }
 
 libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
-                            const libxl_asyncop_how *how)
+                            const libxl_asyncop_how *how,
+                            const char *file, int line, const char *func)
 {
     libxl__ao *ao;
 
@@ -1487,6 +1498,10 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
         ao->poller = libxl__poller_get(ctx);
         if (!ao->poller) goto out;
     }
+    libxl__log(ctx,XTL_DEBUG,-1,file,line,func,
+               "ao %p: create: how=%p callback=%p poller=%p",
+               ao, how, ao->how.callback, ao->poller);
+
     return ao;
 
  out:
@@ -1495,7 +1510,8 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
 }
 
 
-int libxl__ao_inprogress(libxl__ao *ao)
+int libxl__ao_inprogress(libxl__ao *ao,
+                         const char *file, int line, const char *func)
 {
     AO_GC;
     int rc;
@@ -1505,6 +1521,14 @@ int libxl__ao_inprogress(libxl__ao *ao)
     assert(ao->in_initiator);
     ao->constructing = 0;
 
+    libxl__log(CTX,XTL_DEBUG,-1,file,line,func,
+               "ao %p: inprogress: poller=%p, flags=%s%s%s%s",
+               ao, ao->poller,
+               ao->constructing ? "o" : "",
+               ao->in_initiator ? "i" : "",
+               ao->complete ? "c" : "",
+               ao->notified ? "n" : "");
+
     if (ao->poller) {
         /* Caller wants it done synchronously. */
         /* We use a fresh gc, so that we can free things
@@ -1521,6 +1545,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
                 break;
             }
 
+            DBG("ao %p: not ready, waiting",ao);
+
             rc = eventloop_iteration(&egc,ao->poller);
             if (rc) {
                 /* Oh dear, this is quite unfortunate. */
@@ -1571,8 +1597,10 @@ void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
 void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         const libxl_asyncprogress_how *how, libxl_event *ev)
 {
+    AO_GC;
     ev->for_user = how->for_event;
     if (how->callback == dummy_asyncprogress_callback_ignore) {
+        LOG(DEBUG,"ao %p: progress report: ignored",ao);
         /* ignore */
     } else if (how->callback) {
         libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
@@ -1581,7 +1609,10 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         aop->ev = ev;
         aop->how = how;
         LIBXL_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback queued aop=%p",ao,aop);
     } else {
+        LOG(DEBUG,"ao %p: progress report: event queued ev=%p type=%s",
+            ao, ev, libxl_event_type_to_string(ev->type));
         libxl__event_occurred(egc, ev);
     }
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49d01a8..0e084c1 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1555,14 +1555,16 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 
 #define AO_CREATE(ctx, domid, ao_how)                           \
     libxl__ctx_lock(ctx);                                       \
-    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how);       \
+    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how,        \
+                               __FILE__, __LINE__, __func__);   \
     if (!ao) { libxl__ctx_unlock(ctx); return ERROR_NOMEM; }    \
     libxl__egc egc[1]; LIBXL_INIT_EGC(egc[0],ctx);              \
     AO_GC;
 
 #define AO_INPROGRESS ({                                        \
         libxl_ctx *ao__ctx = libxl__gc_owner(&ao->gc);          \
-        int ao__rc = libxl__ao_inprogress(ao);                  \
+        int ao__rc = libxl__ao_inprogress(ao,                   \
+                               __FILE__, __LINE__, __func__);   \
         libxl__ctx_unlock(ao__ctx); /* gc is now invalid */     \
         EGC_FREE;                                               \
         (ao__rc);                                               \
@@ -1588,8 +1590,10 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 /* All of these MUST be called with the ctx locked.
  * libxl__ao_inprogress MUST be called with the ctx locked exactly once. */
 _hidden libxl__ao *libxl__ao_create(libxl_ctx*, uint32_t domid,
-                                    const libxl_asyncop_how*);
-_hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
+                                    const libxl_asyncop_how*,
+       const char *file, int line, const char *func);
+_hidden int libxl__ao_inprogress(libxl__ao *ao,
+       const char *file, int line, const char *func); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
 _hidden libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRn4-0006ul-0o; Fri, 18 May 2012 18:20:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRn2-0006uT-2V
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:36 +0000
Received: from [85.158.143.99:56684] by server-1.bemta-4.messagelabs.com id
	67/8D-00342-3F296BF4; Fri, 18 May 2012 18:20:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337365228!22142036!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15239 invoked from network); 18 May 2012 18:20:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555796"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Al-Cg; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037V-Bv;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 19:20:25 +0100
Message-ID: <1337365225-11937-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 4/4] libxl: events: debugging output relating to
	ao's
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(In libxl__ao_complete_check_progress_reports, introduce libxl_ctx *ctx.)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes since v1:
 * New output in event loop only occurs if you compile with -DDEBUG=1;
   other new output remains.
 * Remove a mid-function use of AO_GC.  Instead, introduce a ctx
   variable and use that instead.
---
 tools/libxl/libxl_event.c    |   39 +++++++++++++++++++++++++++++++++++----
 tools/libxl/libxl_internal.h |   12 ++++++++----
 2 files changed, 43 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index ed8ed5c..565d2c2 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1020,11 +1020,14 @@ static void egc_run_callbacks(libxl__egc *egc)
 
     LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
+        LOG(DEBUG,"event %p callback type=%s",
+            ev, libxl_event_type_to_string(ev->type));
         CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
     }
 
     LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback aop=%p", aop->ao, aop);
         aop->how->callback(CTX, aop->ev, aop->how->for_callback);
 
         CTX_LOCK;
@@ -1037,6 +1040,7 @@ static void egc_run_callbacks(libxl__egc *egc)
     LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
                              entry_for_callback, ao_tmp) {
         LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
+        LOG(DEBUG,"ao %p: completion callback", ao);
         ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
         CTX_LOCK;
         ao->notified = 1;
@@ -1396,7 +1400,9 @@ int libxl_event_wait(libxl_ctx *ctx, libxl_event **event_r,
 
 void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 {
+    AO_GC;
     if (!ao) return;
+    LOG(DEBUG,"ao %p: destroy",ao);
     if (ao->poller) libxl__poller_put(ctx, ao->poller);
     ao->magic = LIBXL__AO_MAGIC_DESTROYED;
     libxl__free_all(&ao->gc);
@@ -1406,6 +1412,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao)
 void libxl__ao_abort(libxl__ao *ao)
 {
     AO_GC;
+    LOG(DEBUG,"ao %p: abort",ao);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(ao->in_initiator);
     assert(!ao->complete);
@@ -1422,6 +1429,8 @@ libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao)
 
 void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
 {
+    AO_GC;
+    LOG(DEBUG,"ao %p: complete, rc=%d",ao,rc);
     assert(ao->magic == LIBXL__AO_MAGIC);
     assert(!ao->complete);
     ao->complete = 1;
@@ -1439,7 +1448,7 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
      * will, after making the callback, take out the lock again,
      * decrement progress_reports_outstanding, and call us again.
      */
-
+    libxl_ctx *ctx = libxl__gc_owner(&egc->gc);
     assert(ao->progress_reports_outstanding >= 0);
 
     if (!ao->complete || ao->progress_reports_outstanding)
@@ -1451,6 +1460,7 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
             /* don't bother with this if we're not in the event loop */
             libxl__poller_wakeup(egc, ao->poller);
     } else if (ao->how.callback) {
+        LIBXL__LOG(ctx, XTL_DEBUG, "ao %p: complete for callback",ao);
         LIBXL_TAILQ_INSERT_TAIL(&egc->aos_for_callback, ao, entry_for_callback);
     } else {
         libxl_event *ev;
@@ -1463,11 +1473,12 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
         ao->notified = 1;
     }
     if (!ao->in_initiator && ao->notified)
-        libxl__ao__destroy(libxl__gc_owner(&egc->gc), ao);
+        libxl__ao__destroy(ctx, ao);
 }
 
 libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
-                            const libxl_asyncop_how *how)
+                            const libxl_asyncop_how *how,
+                            const char *file, int line, const char *func)
 {
     libxl__ao *ao;
 
@@ -1487,6 +1498,10 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
         ao->poller = libxl__poller_get(ctx);
         if (!ao->poller) goto out;
     }
+    libxl__log(ctx,XTL_DEBUG,-1,file,line,func,
+               "ao %p: create: how=%p callback=%p poller=%p",
+               ao, how, ao->how.callback, ao->poller);
+
     return ao;
 
  out:
@@ -1495,7 +1510,8 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
 }
 
 
-int libxl__ao_inprogress(libxl__ao *ao)
+int libxl__ao_inprogress(libxl__ao *ao,
+                         const char *file, int line, const char *func)
 {
     AO_GC;
     int rc;
@@ -1505,6 +1521,14 @@ int libxl__ao_inprogress(libxl__ao *ao)
     assert(ao->in_initiator);
     ao->constructing = 0;
 
+    libxl__log(CTX,XTL_DEBUG,-1,file,line,func,
+               "ao %p: inprogress: poller=%p, flags=%s%s%s%s",
+               ao, ao->poller,
+               ao->constructing ? "o" : "",
+               ao->in_initiator ? "i" : "",
+               ao->complete ? "c" : "",
+               ao->notified ? "n" : "");
+
     if (ao->poller) {
         /* Caller wants it done synchronously. */
         /* We use a fresh gc, so that we can free things
@@ -1521,6 +1545,8 @@ int libxl__ao_inprogress(libxl__ao *ao)
                 break;
             }
 
+            DBG("ao %p: not ready, waiting",ao);
+
             rc = eventloop_iteration(&egc,ao->poller);
             if (rc) {
                 /* Oh dear, this is quite unfortunate. */
@@ -1571,8 +1597,10 @@ void libxl__ao_progress_gethow(libxl_asyncprogress_how *in_state,
 void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         const libxl_asyncprogress_how *how, libxl_event *ev)
 {
+    AO_GC;
     ev->for_user = how->for_event;
     if (how->callback == dummy_asyncprogress_callback_ignore) {
+        LOG(DEBUG,"ao %p: progress report: ignored",ao);
         /* ignore */
     } else if (how->callback) {
         libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
@@ -1581,7 +1609,10 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         aop->ev = ev;
         aop->how = how;
         LIBXL_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
+        LOG(DEBUG,"ao %p: progress report: callback queued aop=%p",ao,aop);
     } else {
+        LOG(DEBUG,"ao %p: progress report: event queued ev=%p type=%s",
+            ao, ev, libxl_event_type_to_string(ev->type));
         libxl__event_occurred(egc, ev);
     }
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49d01a8..0e084c1 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1555,14 +1555,16 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 
 #define AO_CREATE(ctx, domid, ao_how)                           \
     libxl__ctx_lock(ctx);                                       \
-    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how);       \
+    libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how,        \
+                               __FILE__, __LINE__, __func__);   \
     if (!ao) { libxl__ctx_unlock(ctx); return ERROR_NOMEM; }    \
     libxl__egc egc[1]; LIBXL_INIT_EGC(egc[0],ctx);              \
     AO_GC;
 
 #define AO_INPROGRESS ({                                        \
         libxl_ctx *ao__ctx = libxl__gc_owner(&ao->gc);          \
-        int ao__rc = libxl__ao_inprogress(ao);                  \
+        int ao__rc = libxl__ao_inprogress(ao,                   \
+                               __FILE__, __LINE__, __func__);   \
         libxl__ctx_unlock(ao__ctx); /* gc is now invalid */     \
         EGC_FREE;                                               \
         (ao__rc);                                               \
@@ -1588,8 +1590,10 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
 /* All of these MUST be called with the ctx locked.
  * libxl__ao_inprogress MUST be called with the ctx locked exactly once. */
 _hidden libxl__ao *libxl__ao_create(libxl_ctx*, uint32_t domid,
-                                    const libxl_asyncop_how*);
-_hidden int libxl__ao_inprogress(libxl__ao *ao); /* temporarily unlocks */
+                                    const libxl_asyncop_how*,
+       const char *file, int line, const char *func);
+_hidden int libxl__ao_inprogress(libxl__ao *ao,
+       const char *file, int line, const char *func); /* temporarily unlocks */
 _hidden void libxl__ao_abort(libxl__ao *ao);
 _hidden void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc);
 _hidden libxl__gc *libxl__ao_inprogress_gc(libxl__ao *ao);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmy-0006tz-Kg; Fri, 18 May 2012 18:20:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmw-0006tL-Jn
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:30 +0000
Received: from [85.158.139.83:15084] by server-6.bemta-5.messagelabs.com id
	B7/E4-13222-DE296BF4; Fri, 18 May 2012 18:20:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29071 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555795"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Aj-Bj; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037H-8w;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 19:20:23 +0100
Message-ID: <1337365225-11937-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/4] libxl: events: improve debugging output for
	xs watches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Add debugging output for register/deregister.
* Make the debugging printfs consistent about the order in which they
  print the information.
* Where we touch the code, change LIBXL__LOG to LOG.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index c095f14..8d6fec8 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -420,9 +420,8 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
         }
 
         if (w->counterval != counterval) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: counter != %"PRIx32,
-                       epath, token, w->counterval);
+            LOG(DEBUG, "watch w=%p epath=%s token=%s: counter != %"PRIx32,
+                w, epath, token, w->counterval);
             goto ignore;
         }
 
@@ -440,16 +439,14 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
          * See also docs/misc/xenstore.txt.
          */
         if (!xs_path_is_subpath(w->path, epath)) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: not child of wpath=%s",
-                       epath, token, w->path);
+            LOG(DEBUG, "watch w=%p wpath=%s token=%s: unexpected epath=%s",
+                w, w->path, token, epath);
             goto ignore;
         }
 
         /* At last, we have checked everything! */
-        LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                   "watch event: epath=%s token=%s wpath=%s w=%p",
-                   epath, token, w->path, w);
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: event epath=%s",
+            w, w->path, token, epath);
         w->callback(egc, w, w->path, epath);
 
     ignore:
@@ -502,7 +499,11 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
     int slotnum = use - CTX->watch_slots;
     w->counterval = CTX->watch_counter++;
 
-    if (!xs_watch(CTX->xsh, path, watch_token(gc, slotnum, w->counterval))) {
+    const char *token = watch_token(gc, slotnum, w->counterval);
+    LOG(DEBUG, "watch w=%p wpath=%s token=%s: register slotnum=%d",
+        w, path, token, slotnum);
+
+    if (!xs_watch(CTX->xsh, path, token)) {
         LIBXL__LOG_ERRNOVAL(CTX, LIBXL__LOG_ERROR, errno,
                             "create watch for path %s", path);
         rc = ERROR_FAIL;
@@ -534,7 +535,11 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
     CTX_LOCK;
 
     if (w->slotnum >= 0) {
-        char *token = watch_token(gc, w->slotnum, w->counterval);
+        const char *token = watch_token(gc, w->slotnum, w->counterval);
+
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: deregister slotnum=%d",
+            w, w->path, token, w->slotnum);
+
         if (!xs_unwatch(CTX->xsh, w->path, token))
             /* Oh well, we will just get watch events forever more
              * and ignore them.  But we should complain to the log. */
@@ -544,6 +549,8 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
         libxl__ev_watch_slot *slot = &CTX->watch_slots[w->slotnum];
         LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots, slot, empty);
         w->slotnum = -1;
+    } else {
+        LOG(DEBUG, "watch w=%p: deregister unregistered", w);
     }
 
     free(w->path);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmy-0006tz-Kg; Fri, 18 May 2012 18:20:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmw-0006tL-Jn
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:30 +0000
Received: from [85.158.139.83:15084] by server-6.bemta-5.messagelabs.com id
	B7/E4-13222-DE296BF4; Fri, 18 May 2012 18:20:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29071 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555795"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Aj-Bj; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037H-8w;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Fri, 18 May 2012 19:20:23 +0100
Message-ID: <1337365225-11937-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 2/4] libxl: events: improve debugging output for
	xs watches
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Add debugging output for register/deregister.
* Make the debugging printfs consistent about the order in which they
  print the information.
* Where we touch the code, change LIBXL__LOG to LOG.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index c095f14..8d6fec8 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -420,9 +420,8 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
         }
 
         if (w->counterval != counterval) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: counter != %"PRIx32,
-                       epath, token, w->counterval);
+            LOG(DEBUG, "watch w=%p epath=%s token=%s: counter != %"PRIx32,
+                w, epath, token, w->counterval);
             goto ignore;
         }
 
@@ -440,16 +439,14 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev,
          * See also docs/misc/xenstore.txt.
          */
         if (!xs_path_is_subpath(w->path, epath)) {
-            LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                       "watch epath=%s token=%s: not child of wpath=%s",
-                       epath, token, w->path);
+            LOG(DEBUG, "watch w=%p wpath=%s token=%s: unexpected epath=%s",
+                w, w->path, token, epath);
             goto ignore;
         }
 
         /* At last, we have checked everything! */
-        LIBXL__LOG(CTX, LIBXL__LOG_DEBUG,
-                   "watch event: epath=%s token=%s wpath=%s w=%p",
-                   epath, token, w->path, w);
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: event epath=%s",
+            w, w->path, token, epath);
         w->callback(egc, w, w->path, epath);
 
     ignore:
@@ -502,7 +499,11 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
     int slotnum = use - CTX->watch_slots;
     w->counterval = CTX->watch_counter++;
 
-    if (!xs_watch(CTX->xsh, path, watch_token(gc, slotnum, w->counterval))) {
+    const char *token = watch_token(gc, slotnum, w->counterval);
+    LOG(DEBUG, "watch w=%p wpath=%s token=%s: register slotnum=%d",
+        w, path, token, slotnum);
+
+    if (!xs_watch(CTX->xsh, path, token)) {
         LIBXL__LOG_ERRNOVAL(CTX, LIBXL__LOG_ERROR, errno,
                             "create watch for path %s", path);
         rc = ERROR_FAIL;
@@ -534,7 +535,11 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
     CTX_LOCK;
 
     if (w->slotnum >= 0) {
-        char *token = watch_token(gc, w->slotnum, w->counterval);
+        const char *token = watch_token(gc, w->slotnum, w->counterval);
+
+        LOG(DEBUG, "watch w=%p wpath=%s token=%s: deregister slotnum=%d",
+            w, w->path, token, w->slotnum);
+
         if (!xs_unwatch(CTX->xsh, w->path, token))
             /* Oh well, we will just get watch events forever more
              * and ignore them.  But we should complain to the log. */
@@ -544,6 +549,8 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
         libxl__ev_watch_slot *slot = &CTX->watch_slots[w->slotnum];
         LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots, slot, empty);
         w->slotnum = -1;
+    } else {
+        LOG(DEBUG, "watch w=%p: deregister unregistered", w);
     }
 
     free(w->path);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmw-0006tY-GJ; Fri, 18 May 2012 18:20:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmv-0006tI-J8
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:29 +0000
Received: from [85.158.139.83:15039] by server-3.bemta-5.messagelabs.com id
	FA/3A-25237-CE296BF4; Fri, 18 May 2012 18:20:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29037 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555792"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Ah-Ao; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037B-7z;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 19:20:21 +0100
Message-ID: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2 0/4] libxl: events: debugging output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I was using these to help with debugging the libxl event code.

Changes since v1: Made many of these less spammy.

 1/4 libxl: events: debugging output for timeouts
 2/4 libxl: events: improve debugging output for xs watches
 3/4 libxl: events: debugging output for fds
 4/4 libxl: events: debugging output relating to ao's


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:21:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRmw-0006tY-GJ; Fri, 18 May 2012 18:20:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRmv-0006tI-J8
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:20:29 +0000
Received: from [85.158.139.83:15039] by server-3.bemta-5.messagelabs.com id
	FA/3A-25237-CE296BF4; Fri, 18 May 2012 18:20:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337365227!25269049!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29037 invoked from network); 18 May 2012 18:20:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:20:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555792"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:20:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:20:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRms-0002Ah-Ao; Fri, 18 May 2012 18:20:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRms-00037B-7z;
	Fri, 18 May 2012 19:20:26 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Fri, 18 May 2012 19:20:21 +0100
Message-ID: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2 0/4] libxl: events: debugging output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I was using these to help with debugging the libxl event code.

Changes since v1: Made many of these less spammy.

 1/4 libxl: events: debugging output for timeouts
 2/4 libxl: events: improve debugging output for xs watches
 3/4 libxl: events: debugging output for fds
 4/4 libxl: events: debugging output relating to ao's


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:25:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:25:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRrN-0007RV-SZ; Fri, 18 May 2012 18:25:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRrM-0007R9-BO
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 18:25:04 +0000
Received: from [85.158.143.99:16261] by server-3.bemta-4.messagelabs.com id
	7A/D9-05853-FF396BF4; Fri, 18 May 2012 18:25:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337365502!27798275!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3589 invoked from network); 18 May 2012 18:25:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:25:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555836"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:25:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:25:01 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVRrJ-0002CI-OS;
	Fri, 18 May 2012 18:25:01 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVRrJ-00044g-Ic;
	Fri, 18 May 2012 19:25:01 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12922-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 19:25:01 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12922: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12922 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12922/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:25:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:25:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRrN-0007RV-SZ; Fri, 18 May 2012 18:25:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRrM-0007R9-BO
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 18:25:04 +0000
Received: from [85.158.143.99:16261] by server-3.bemta-4.messagelabs.com id
	7A/D9-05853-FF396BF4; Fri, 18 May 2012 18:25:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337365502!27798275!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3589 invoked from network); 18 May 2012 18:25:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:25:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555836"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:25:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:25:01 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVRrJ-0002CI-OS;
	Fri, 18 May 2012 18:25:01 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVRrJ-00044g-Ic;
	Fri, 18 May 2012 19:25:01 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12922-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 18 May 2012 19:25:01 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12922: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12922 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12922/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:25:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:25:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRru-0007Vq-9w; Fri, 18 May 2012 18:25:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRrt-0007Vd-5A
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:25:37 +0000
Received: from [85.158.138.51:45415] by server-12.bemta-3.messagelabs.com id
	5D/C3-29760-02496BF4; Fri, 18 May 2012 18:25:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337365535!19787578!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24169 invoked from network); 18 May 2012 18:25:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:25:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555841"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:25:35 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:25:34 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRrq-0002CX-QP; Fri, 18 May 2012 18:25:34 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRrq-0003EA-OA;
	Fri, 18 May 2012 19:25:34 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.37918.733921.594303@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 19:25:34 +0100
To: xen-devel@lists.xen.org
X-Mailer: VM 7.19 under Emacs 21.4.1
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2] xl: track child processes for the benefit of
	libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Each time xl forks, it needs to record the pid, so that its exit
status can be preserved if it happens that libxl's event loop reaped
it.  Consequently we also have a new wrapper for waitpid, which in
that case returns the previously-reaped status.

When we get a console ready callback from libxl, check to see if we
have spawned but not reaped a previous console client, and if so reap
it now.  (This is necessary to prevent improper use of the xlchild
struct, but has the happy consequence of checking the exit status of
the first console client in the pygrub case.)

Refactor the two calls to libxl_ctx_alloc into a new function
xl_ctx_alloc which also sets the child reaped handler callback.

All of this has the effect of suppressing a message
   unknown child [nnnn] unexpected exited status zero
which would sometimes (depending on a race) appear with `xl create -c'
and pygrub.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Reported-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>

Changes since v1:
 * Replace macro-based iteration over children with enum-based version.
 * Add comment explaining that xl_waitpid clears the xlchild for reuse.
 * Add comment re clearing other children in xl_fork.
 * Fix incorrect comment re pid==-1 in xlchild.
 * Change local variable "child" in xl_waitpid to "ch" for consistency.
 * Introduce xl_child_pid to hide .pid somewhat more.
 * Introduce migration_child local variable in migration_child_report
   to simplify error logging.
---
 tools/libxl/xl.c         |   86 +++++++++++++++++++++++++++++++++++++++-------
 tools/libxl/xl.h         |   30 +++++++++++++++-
 tools/libxl/xl_cmdimpl.c |   63 +++++++++++++++++++---------------
 3 files changed, 136 insertions(+), 43 deletions(-)

diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..5ab9c06 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -102,22 +102,85 @@ void postfork(void)
     libxl_postfork_child_noexec(ctx); /* in case we don't exit/exec */
     ctx = 0;
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot reinit xl context after fork\n");
-        exit(-1);
-    }
+    xl_ctx_alloc();
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
-    pid_t pid;
+pid_t xl_fork(xlchildnum child) {
+    xlchild *ch = &children[child];
+    int i;
+
+    assert(!ch->pid);
+    ch->reaped = 0;
 
-    pid = fork();
-    if (pid == -1) {
+    ch->pid = fork();
+    if (ch->pid == -1) {
         perror("fork failed");
         exit(-1);
     }
 
-    return pid;
+    if (!ch->pid) {
+        /* We are in the child now.  So all these children are not ours. */
+        for (i=0; i<child_max; i++)
+            children[i].pid = 0;
+    }
+
+    return ch->pid;
+}
+
+pid_t xl_waitpid(xlchildnum child, int *status, int flags)
+{
+    xlchild *ch = &children[child];
+    pid_t got = ch->pid;
+    assert(got);
+    if (ch->reaped) {
+        *status = ch->status;
+        ch->pid = 0;
+        return got;
+    }
+    for (;;) {
+        got = waitpid(ch->pid, status, flags);
+        if (got < 0 && errno == EINTR) continue;
+        if (got > 0) {
+            assert(got == ch->pid);
+            ch->pid = 0;
+        }
+        return got;
+    }
+}
+
+int xl_child_pid(xlchildnum child)
+{
+    xlchild *ch = &children[child];
+    return ch->pid;
+}
+
+static int xl_reaped_callback(pid_t got, int status, void *user)
+{
+    int i;
+    assert(got);
+    for (i=0; i<child_max; i++) {
+        xlchild *ch = &children[i];
+        if (ch->pid == got) {
+            ch->reaped = 1;
+            ch->status = status;
+            return 1;
+        }
+    }
+    return 0;
+}
+
+static const libxl_childproc_hooks childproc_hooks = {
+    .chldowner = libxl_sigchld_owner_libxl,
+    .reaped_callback = xl_reaped_callback,
+};
+
+void xl_ctx_alloc(void) {
+    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
+        fprintf(stderr, "cannot init xl context\n");
+        exit(1);
+    }
+
+    libxl_childproc_setmode(ctx, &childproc_hooks, 0);
 }
 
 int main(int argc, char **argv)
@@ -159,10 +222,7 @@ int main(int argc, char **argv)
     logger = xtl_createlogger_stdiostream(stderr, minmsglevel,  0);
     if (!logger) exit(1);
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot init xl context\n");
-        exit(1);
-    }
+    xl_ctx_alloc();
 
     /* Read global config file options */
     ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..2af9428 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -15,6 +15,8 @@
 #ifndef XL_H
 #define XL_H
 
+#include <assert.h>
+
 #include "xentoollog.h"
 
 struct cmd_spec {
@@ -108,8 +110,32 @@ struct cmd_spec *cmdtable_lookup(const char *s);
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
-void postfork(void);
+
+void xl_ctx_alloc(void);
+
+/* child processes */
+
+typedef struct {
+    /* every struct like this must be in XLCHILD_LIST */
+    pid_t pid; /* 0: not in use */
+    int reaped; /* valid iff pid!=0 */
+    int status; /* valid iff reaped */
+} xlchild;
+
+typedef enum {
+    child_console, child_waitdaemon, child_migration,
+    child_max
+} xlchildnum;
+
+extern xlchild children[child_max];
+
+pid_t xl_fork(xlchildnum); /* like fork, but prints and dies if it fails */
+void postfork(void); /* needed only if we aren't going to exec right away */
+
+/* Handles EINTR.  Clears out the xlchild so it can be reused. */
+pid_t xl_waitpid(xlchildnum, int *status, int flags);
+
+int xl_child_pid(xlchildnum); /* returns 0 if child struct is not in use */
 
 /* global options */
 extern int autoballoon;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..dbe5633 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -17,7 +17,6 @@
 #include "libxl_osdeps.h"
 
 #include <stdio.h>
-#include <assert.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -66,6 +65,8 @@ int logfile = 2;
 /* every libxl action in xl uses this same libxl context */
 libxl_ctx *ctx;
 
+xlchild children[child_max];
+
 /* when we operate on a domain, it is this one: */
 static uint32_t domid;
 static const char *common_domname;
@@ -1496,19 +1497,33 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
+static void console_child_report(void)
+{
+    if (xl_child_pid(child_console)) {
+        int status;
+        pid_t got = xl_waitpid(child_console, &status, 0);
+        if (got < 0)
+            perror("xl: warning, failed to waitpid for console child");
+        else if (status)
+            libxl_report_child_exitstatus(ctx, XTL_ERROR, "console child",
+                                          xl_child_pid(child_console), status);
+    }
+}
+
 static void autoconnect_console(libxl_ctx *ctx_ignored,
                                 libxl_event *ev, void *priv)
 {
-    pid_t *pid = priv;
     uint32_t bldomid = ev->domid;
 
     libxl_event_free(ctx, ev);
 
-    *pid = fork();
-    if (*pid < 0) {
+    console_child_report();
+
+    pid_t pid = xl_fork(child_console);
+    if (pid < 0) {
         perror("unable to fork xenconsole");
         return;
-    } else if (*pid > 0)
+    } else if (pid > 0)
         return;
 
     postfork();
@@ -1580,7 +1595,6 @@ static int create_domain(struct domain_create *dom_info)
     int restore_fd = -1;
     int status = 0;
     const libxl_asyncprogress_how *autoconnect_console_how;
-    pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
     int restoring = (restore_file || (migrate_fd >= 0));
@@ -1741,7 +1755,6 @@ start:
     libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
         autoconnect_console_how_buf.callback = autoconnect_console;
-        autoconnect_console_how_buf.for_callback = &child_console_pid;
         autoconnect_console_how = &autoconnect_console_how_buf;
     }else{
         autoconnect_console_how = 0;
@@ -1813,19 +1826,17 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork(child_waitdaemon);
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
             for (;;) {
-                got_child = waitpid(child1, &status, 0);
+                got_child = xl_waitpid(child_waitdaemon, &status, 0);
                 if (got_child == child1) break;
                 assert(got_child == -1);
-                if (errno != EINTR) {
-                    perror("failed to wait for daemonizing child");
-                    ret = ERROR_FAIL;
-                    goto out;
-                }
+                perror("failed to wait for daemonizing child");
+                ret = ERROR_FAIL;
+                goto out;
             }
             if (status) {
                 libxl_report_child_exitstatus(ctx, XTL_ERROR,
@@ -1986,10 +1997,7 @@ out:
 
     free(config_data);
 
-waitpid_out:
-    if (child_console_pid > 0 &&
-            waitpid(child_console_pid, &status, 0) < 0 && errno == EINTR)
-        goto waitpid_out;
+    console_child_report();
 
     if (deathw)
         libxl_evdisable_domain_death(ctx, deathw);
@@ -2833,7 +2841,7 @@ static pid_t create_migration_child(const char *rune, int *send_fd,
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork(child_migration);
 
     if (!child) {
         dup2(sendpipe[0], 0);
@@ -2877,19 +2885,20 @@ static int migrate_read_fixedmessage(int fd, const void *msg, int msgsz,
     return 0;
 }
 
-static void migration_child_report(pid_t migration_child, int recv_fd) {
+static void migration_child_report(int recv_fd) {
     pid_t child;
     int status, sr;
     struct timeval now, waituntil, timeout;
     static const struct timeval pollinterval = { 0, 1000 }; /* 1ms */
 
-    if (!migration_child) return;
+    if (!xl_child_pid(child_migration)) return;
 
     CHK_ERRNO( gettimeofday(&waituntil, 0) );
     waituntil.tv_sec += 2;
 
     for (;;) {
-        child = waitpid(migration_child, &status, WNOHANG);
+        pid_t migration_child = xl_child_pid(child_migration);
+        child = xl_waitpid(child_migration, &status, WNOHANG);
 
         if (child == migration_child) {
             if (status)
@@ -2899,7 +2908,6 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
             break;
         }
         if (child == -1) {
-            if (errno == EINTR) continue;
             fprintf(stderr, "wait for migration child [%ld] failed: %s\n",
                     (long)migration_child, strerror(errno));
             break;
@@ -2939,7 +2947,6 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
             }
         }
     }
-    migration_child = 0;
 }
 
 static void migrate_do_preamble(int send_fd, int recv_fd, pid_t child,
@@ -2958,7 +2965,7 @@ static void migrate_do_preamble(int send_fd, int recv_fd, pid_t child,
                                    "banner", rune);
     if (rc) {
         close(send_fd);
-        migration_child_report(child, recv_fd);
+        migration_child_report(recv_fd);
         exit(-rc);
     }
 
@@ -3083,13 +3090,13 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
  failed_suspend:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, failed to suspend at sender.\n");
     exit(-ERROR_FAIL);
 
  failed_resume:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, resuming at sender.\n");
     libxl_domain_resume(ctx, domid, 0);
     exit(-ERROR_FAIL);
@@ -3104,7 +3111,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
  " responsibility to avoid that.  Sorry.\n");
 
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     exit(-ERROR_BADFAIL);
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:25:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:25:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRru-0007Vq-9w; Fri, 18 May 2012 18:25:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRrt-0007Vd-5A
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:25:37 +0000
Received: from [85.158.138.51:45415] by server-12.bemta-3.messagelabs.com id
	5D/C3-29760-02496BF4; Fri, 18 May 2012 18:25:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337365535!19787578!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24169 invoked from network); 18 May 2012 18:25:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:25:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555841"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:25:35 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:25:34 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRrq-0002CX-QP; Fri, 18 May 2012 18:25:34 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRrq-0003EA-OA;
	Fri, 18 May 2012 19:25:34 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.37918.733921.594303@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 19:25:34 +0100
To: xen-devel@lists.xen.org
X-Mailer: VM 7.19 under Emacs 21.4.1
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2] xl: track child processes for the benefit of
	libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Each time xl forks, it needs to record the pid, so that its exit
status can be preserved if it happens that libxl's event loop reaped
it.  Consequently we also have a new wrapper for waitpid, which in
that case returns the previously-reaped status.

When we get a console ready callback from libxl, check to see if we
have spawned but not reaped a previous console client, and if so reap
it now.  (This is necessary to prevent improper use of the xlchild
struct, but has the happy consequence of checking the exit status of
the first console client in the pygrub case.)

Refactor the two calls to libxl_ctx_alloc into a new function
xl_ctx_alloc which also sets the child reaped handler callback.

All of this has the effect of suppressing a message
   unknown child [nnnn] unexpected exited status zero
which would sometimes (depending on a race) appear with `xl create -c'
and pygrub.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Reported-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>

Changes since v1:
 * Replace macro-based iteration over children with enum-based version.
 * Add comment explaining that xl_waitpid clears the xlchild for reuse.
 * Add comment re clearing other children in xl_fork.
 * Fix incorrect comment re pid==-1 in xlchild.
 * Change local variable "child" in xl_waitpid to "ch" for consistency.
 * Introduce xl_child_pid to hide .pid somewhat more.
 * Introduce migration_child local variable in migration_child_report
   to simplify error logging.
---
 tools/libxl/xl.c         |   86 +++++++++++++++++++++++++++++++++++++++-------
 tools/libxl/xl.h         |   30 +++++++++++++++-
 tools/libxl/xl_cmdimpl.c |   63 +++++++++++++++++++---------------
 3 files changed, 136 insertions(+), 43 deletions(-)

diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..5ab9c06 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -102,22 +102,85 @@ void postfork(void)
     libxl_postfork_child_noexec(ctx); /* in case we don't exit/exec */
     ctx = 0;
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot reinit xl context after fork\n");
-        exit(-1);
-    }
+    xl_ctx_alloc();
 }
 
-pid_t xl_fork(libxl_ctx *ctx) {
-    pid_t pid;
+pid_t xl_fork(xlchildnum child) {
+    xlchild *ch = &children[child];
+    int i;
+
+    assert(!ch->pid);
+    ch->reaped = 0;
 
-    pid = fork();
-    if (pid == -1) {
+    ch->pid = fork();
+    if (ch->pid == -1) {
         perror("fork failed");
         exit(-1);
     }
 
-    return pid;
+    if (!ch->pid) {
+        /* We are in the child now.  So all these children are not ours. */
+        for (i=0; i<child_max; i++)
+            children[i].pid = 0;
+    }
+
+    return ch->pid;
+}
+
+pid_t xl_waitpid(xlchildnum child, int *status, int flags)
+{
+    xlchild *ch = &children[child];
+    pid_t got = ch->pid;
+    assert(got);
+    if (ch->reaped) {
+        *status = ch->status;
+        ch->pid = 0;
+        return got;
+    }
+    for (;;) {
+        got = waitpid(ch->pid, status, flags);
+        if (got < 0 && errno == EINTR) continue;
+        if (got > 0) {
+            assert(got == ch->pid);
+            ch->pid = 0;
+        }
+        return got;
+    }
+}
+
+int xl_child_pid(xlchildnum child)
+{
+    xlchild *ch = &children[child];
+    return ch->pid;
+}
+
+static int xl_reaped_callback(pid_t got, int status, void *user)
+{
+    int i;
+    assert(got);
+    for (i=0; i<child_max; i++) {
+        xlchild *ch = &children[i];
+        if (ch->pid == got) {
+            ch->reaped = 1;
+            ch->status = status;
+            return 1;
+        }
+    }
+    return 0;
+}
+
+static const libxl_childproc_hooks childproc_hooks = {
+    .chldowner = libxl_sigchld_owner_libxl,
+    .reaped_callback = xl_reaped_callback,
+};
+
+void xl_ctx_alloc(void) {
+    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
+        fprintf(stderr, "cannot init xl context\n");
+        exit(1);
+    }
+
+    libxl_childproc_setmode(ctx, &childproc_hooks, 0);
 }
 
 int main(int argc, char **argv)
@@ -159,10 +222,7 @@ int main(int argc, char **argv)
     logger = xtl_createlogger_stdiostream(stderr, minmsglevel,  0);
     if (!logger) exit(1);
 
-    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger*)logger)) {
-        fprintf(stderr, "cannot init xl context\n");
-        exit(1);
-    }
+    xl_ctx_alloc();
 
     /* Read global config file options */
     ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..2af9428 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -15,6 +15,8 @@
 #ifndef XL_H
 #define XL_H
 
+#include <assert.h>
+
 #include "xentoollog.h"
 
 struct cmd_spec {
@@ -108,8 +110,32 @@ struct cmd_spec *cmdtable_lookup(const char *s);
 
 extern libxl_ctx *ctx;
 extern xentoollog_logger_stdiostream *logger;
-pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
-void postfork(void);
+
+void xl_ctx_alloc(void);
+
+/* child processes */
+
+typedef struct {
+    /* every struct like this must be in XLCHILD_LIST */
+    pid_t pid; /* 0: not in use */
+    int reaped; /* valid iff pid!=0 */
+    int status; /* valid iff reaped */
+} xlchild;
+
+typedef enum {
+    child_console, child_waitdaemon, child_migration,
+    child_max
+} xlchildnum;
+
+extern xlchild children[child_max];
+
+pid_t xl_fork(xlchildnum); /* like fork, but prints and dies if it fails */
+void postfork(void); /* needed only if we aren't going to exec right away */
+
+/* Handles EINTR.  Clears out the xlchild so it can be reused. */
+pid_t xl_waitpid(xlchildnum, int *status, int flags);
+
+int xl_child_pid(xlchildnum); /* returns 0 if child struct is not in use */
 
 /* global options */
 extern int autoballoon;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..dbe5633 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -17,7 +17,6 @@
 #include "libxl_osdeps.h"
 
 #include <stdio.h>
-#include <assert.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -66,6 +65,8 @@ int logfile = 2;
 /* every libxl action in xl uses this same libxl context */
 libxl_ctx *ctx;
 
+xlchild children[child_max];
+
 /* when we operate on a domain, it is this one: */
 static uint32_t domid;
 static const char *common_domname;
@@ -1496,19 +1497,33 @@ static int freemem(libxl_domain_build_info *b_info)
     return ERROR_NOMEM;
 }
 
+static void console_child_report(void)
+{
+    if (xl_child_pid(child_console)) {
+        int status;
+        pid_t got = xl_waitpid(child_console, &status, 0);
+        if (got < 0)
+            perror("xl: warning, failed to waitpid for console child");
+        else if (status)
+            libxl_report_child_exitstatus(ctx, XTL_ERROR, "console child",
+                                          xl_child_pid(child_console), status);
+    }
+}
+
 static void autoconnect_console(libxl_ctx *ctx_ignored,
                                 libxl_event *ev, void *priv)
 {
-    pid_t *pid = priv;
     uint32_t bldomid = ev->domid;
 
     libxl_event_free(ctx, ev);
 
-    *pid = fork();
-    if (*pid < 0) {
+    console_child_report();
+
+    pid_t pid = xl_fork(child_console);
+    if (pid < 0) {
         perror("unable to fork xenconsole");
         return;
-    } else if (*pid > 0)
+    } else if (pid > 0)
         return;
 
     postfork();
@@ -1580,7 +1595,6 @@ static int create_domain(struct domain_create *dom_info)
     int restore_fd = -1;
     int status = 0;
     const libxl_asyncprogress_how *autoconnect_console_how;
-    pid_t child_console_pid = -1;
     struct save_file_header hdr;
 
     int restoring = (restore_file || (migrate_fd >= 0));
@@ -1741,7 +1755,6 @@ start:
     libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
         autoconnect_console_how_buf.callback = autoconnect_console;
-        autoconnect_console_how_buf.for_callback = &child_console_pid;
         autoconnect_console_how = &autoconnect_console_how_buf;
     }else{
         autoconnect_console_how = 0;
@@ -1813,19 +1826,17 @@ start:
         pid_t child1, got_child;
         int nullfd;
 
-        child1 = xl_fork(ctx);
+        child1 = xl_fork(child_waitdaemon);
         if (child1) {
             printf("Daemon running with PID %d\n", child1);
 
             for (;;) {
-                got_child = waitpid(child1, &status, 0);
+                got_child = xl_waitpid(child_waitdaemon, &status, 0);
                 if (got_child == child1) break;
                 assert(got_child == -1);
-                if (errno != EINTR) {
-                    perror("failed to wait for daemonizing child");
-                    ret = ERROR_FAIL;
-                    goto out;
-                }
+                perror("failed to wait for daemonizing child");
+                ret = ERROR_FAIL;
+                goto out;
             }
             if (status) {
                 libxl_report_child_exitstatus(ctx, XTL_ERROR,
@@ -1986,10 +1997,7 @@ out:
 
     free(config_data);
 
-waitpid_out:
-    if (child_console_pid > 0 &&
-            waitpid(child_console_pid, &status, 0) < 0 && errno == EINTR)
-        goto waitpid_out;
+    console_child_report();
 
     if (deathw)
         libxl_evdisable_domain_death(ctx, deathw);
@@ -2833,7 +2841,7 @@ static pid_t create_migration_child(const char *rune, int *send_fd,
     MUST( libxl_pipe(ctx, sendpipe) );
     MUST( libxl_pipe(ctx, recvpipe) );
 
-    child = xl_fork(ctx);
+    child = xl_fork(child_migration);
 
     if (!child) {
         dup2(sendpipe[0], 0);
@@ -2877,19 +2885,20 @@ static int migrate_read_fixedmessage(int fd, const void *msg, int msgsz,
     return 0;
 }
 
-static void migration_child_report(pid_t migration_child, int recv_fd) {
+static void migration_child_report(int recv_fd) {
     pid_t child;
     int status, sr;
     struct timeval now, waituntil, timeout;
     static const struct timeval pollinterval = { 0, 1000 }; /* 1ms */
 
-    if (!migration_child) return;
+    if (!xl_child_pid(child_migration)) return;
 
     CHK_ERRNO( gettimeofday(&waituntil, 0) );
     waituntil.tv_sec += 2;
 
     for (;;) {
-        child = waitpid(migration_child, &status, WNOHANG);
+        pid_t migration_child = xl_child_pid(child_migration);
+        child = xl_waitpid(child_migration, &status, WNOHANG);
 
         if (child == migration_child) {
             if (status)
@@ -2899,7 +2908,6 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
             break;
         }
         if (child == -1) {
-            if (errno == EINTR) continue;
             fprintf(stderr, "wait for migration child [%ld] failed: %s\n",
                     (long)migration_child, strerror(errno));
             break;
@@ -2939,7 +2947,6 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
             }
         }
     }
-    migration_child = 0;
 }
 
 static void migrate_do_preamble(int send_fd, int recv_fd, pid_t child,
@@ -2958,7 +2965,7 @@ static void migrate_do_preamble(int send_fd, int recv_fd, pid_t child,
                                    "banner", rune);
     if (rc) {
         close(send_fd);
-        migration_child_report(child, recv_fd);
+        migration_child_report(recv_fd);
         exit(-rc);
     }
 
@@ -3083,13 +3090,13 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
  failed_suspend:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, failed to suspend at sender.\n");
     exit(-ERROR_FAIL);
 
  failed_resume:
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     fprintf(stderr, "Migration failed, resuming at sender.\n");
     libxl_domain_resume(ctx, domid, 0);
     exit(-ERROR_FAIL);
@@ -3104,7 +3111,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
  " responsibility to avoid that.  Sorry.\n");
 
     close(send_fd);
-    migration_child_report(child, recv_fd);
+    migration_child_report(recv_fd);
     exit(-ERROR_BADFAIL);
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:28:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:28:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRu5-0007l8-RA; Fri, 18 May 2012 18:27:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRu3-0007ky-St
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:27:52 +0000
Received: from [85.158.138.51:47803] by server-1.bemta-3.messagelabs.com id
	D7/D9-11491-6A496BF4; Fri, 18 May 2012 18:27:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337365668!27842194!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13411 invoked from network); 18 May 2012 18:27:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:27:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555862"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:27:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:27:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRtd-0002D4-PH; Fri, 18 May 2012 18:27:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRtd-0003ES-OU;
	Fri, 18 May 2012 19:27:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.38029.741183.334689@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 19:27:25 +0100
To: xen-devel@lists.xen.org, Ian Campbell <ian.campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <20406.37918.733921.594303@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson writes ("[PATCH v2] xl: track child processes for the benefit of libxl"):
> Each time xl forks, it needs to record the pid, so that its exit
> status can be preserved if it happens that libxl's event loop reaped
> it.  Consequently we also have a new wrapper for waitpid, which in
> that case returns the previously-reaped status.

I have tested this on top of current tip ("x86/mem_sharing: Allow
paging-in pages to be replaced by shared ones") plus my event
debugging series and:

Loading new save file incoming migration stream (new xl fmt info 0x0/0x0/853)
 Savefile contains xl domain config
xc: Saving memory: iter 0 (last sent 0 skipped 0): 131072/131072  100%
xc: Saving memory: iter 1 (last sent 130814 skipped 258): 131072/131072  100%
xc: Saving memory: iter 2 (last sent 306 skipped 0): 131072/131072  100%      
xc: Saving memory: iter 3 (last sent 53 skipped 0): 131072/131072  100%  
xc: Saving memory: iter 4 (last sent 0 skipped 0): 131072/131072  100%  
xc: error: Max batch size exceeded (-18). Giving up.: Internal error
xc: error: Error when reading batch (90 = Message too long): Internal error
libxl: error: libxl_dom.c:430:libxl__domain_restore_common: restoring domain: Resource temporarily unavailable
libxl: error: libxl_create.c:596:do_domain_create: cannot (re-)build domain: -3
libxl: error: libxl.c:1043:libxl_domain_destroy: non-existant domain 123
migration target: Domain creation failed (code -3).
libxl: error: libxl_utils.c:364:libxl_read_exactly: file/stream truncated reading ready message from migration receiver stream
libxl: info: libxl_exec.c:108:libxl_report_child_exitstatus: migration target process [28059] exited with error status 3
Migration failed, resuming at sender.
root@bedbug:~/shadow/tools/libxl#

I don't think this is my fault.  Also after this happens the guest
crashes:

root@bedbug:~# xl console debian.guest.osstest
[   47.118283] ------------[ cut here ]------------
[   47.118283] kernel BUG at /tmp/buildd/linux-2.6-2.6.32/debian/build/source_i386_none/drivers/xen/events.c:839!
[   47.118283] invalid opcode: 0000 [#1] SMP 
[   47.118283] last sysfs file: /sys/devices/virtual/net/lo/operstate
[   47.118283] Modules linked in: evdev snd_pcm snd_timer snd soundcore snd_page_alloc pcspkr ext3 jbd mbcache xen_netfront xen_blkfront
[   47.118283] 
[   47.118283] Pid: 531, comm: kstop/0 Not tainted (2.6.32-5-686-bigmem #1) 
[   47.118283] EIP: 0061:[<c1196709>] EFLAGS: 00010082 CPU: 0
[   47.118283] EIP is at xen_irq_resume+0xd9/0x21f
[   47.118283] EAX: ffffffef EBX: 00000000 ECX: deadbeef EDX: de2d5f40
[   47.118283] ESI: 00000000 EDI: de2d5fb0 EBP: c14f29fc ESP: de2d5f10
[   47.118283]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0069
[   47.118283] Process kstop/0 (pid: 531, ti=de2d4000 task=df968000 task.ti=de2d4000)
[   47.118283] Stack:
[   47.118283]  00000000 00000003 c143b474 c24184f0 00000000 00000000 00000002 00000010
[   47.118283] <0> c1005744 deadbeef 00000003 de2d5fb0 00000000 00000000 0000f3f3 deadbeef
[   47.118283] <0> 00000003 de2d5fb0 00000000 c1197494 df851f8c c14995ec 00000003 de2d5fb0
[   47.118283] Call Trace:
[   47.118283]  [<c1005744>] ? xen_force_evtchn_callback+0xc/0x10
[   47.118283]  [<c1197494>] ? xen_suspend+0x99/0xb0
[   47.118283]  [<c106abd0>] ? stop_cpu+0x6d/0xab
[   47.118283]  [<c1047c37>] ? worker_thread+0x141/0x1bd
[   47.118283]  [<c106ab63>] ? stop_cpu+0x0/0xab
[   47.118283]  [<c104a97a>] ? autoremove_wake_function+0x0/0x2d
[   47.118283]  [<c1047af6>] ? worker_thread+0x0/0x1bd
[   47.118283]  [<c104a748>] ? kthread+0x61/0x66
[   47.118283]  [<c104a6e7>] ? kthread+0x0/0x66
[   47.118283]  [<c1008d87>] ? kernel_thread_helper+0x7/0x10
[   47.118283] Code: fe 0f b7 45 08 39 d8 74 04 0f 0b eb fe 8b 44 24 10 8d 54 24 30 89 5c 24 30 89 44 24 34 b8 01 00 00 00 e8 f3 fa ff ff 85 c0 74 04 <0f> 0b eb fe 8b 4c 24 38 8d 7c 24 24 89 0c 24 89 34 8d e0 1e 3c 
[   47.118283] EIP: [<c1196709>] xen_irq_resume+0xd9/0x21f SS:ESP 0069:de2d5f10
[   47.118283] ---[ end trace 838e9608136663d9 ]---
[   47.118283] ------------[ cut here ]------------
[   47.118283] WARNING: at /tmp/buildd/linux-2.6-2.6.32/debian/build/source_i386_none/kernel/time/timekeeping.c:260 ktime_get+0x1f/0xcb()
[   47.118283] Modules linked in: evdev snd_pcm snd_timer snd soundcore snd_page_alloc pcspkr ext3 jbd mbcache xen_netfront xen_blkfront
[   47.118283] Pid: 0, comm: swapper Tainted: G      D    2.6.32-5-686-bigmem #1
[   47.118283] Call Trace:
[   47.118283]  [<c1051b1c>] ? ktime_get+0x1f/0xcb
[   47.118283]  [<c1051b1c>] ? ktime_get+0x1f/0xcb
[   47.118283]  [<c1036ac5>] ? warn_slowpath_common+0x5e/0x8a
[   47.118283]  [<c1036afb>] ? warn_slowpath_null+0xa/0xc
[   47.118283]  [<c1051b1c>] ? ktime_get+0x1f/0xcb
[   47.118283]  [<c1055bc8>] ? tick_nohz_stop_sched_tick+0x5d/0x36e
[   47.118283]  [<c104d83d>] ? hrtimer_start_range_ns+0xf/0x13
[   47.118283]  [<c1055b66>] ? tick_nohz_restart_sched_tick+0x128/0x12d
[   47.118283]  [<c1007395>] ? cpu_idle+0x67/0xa2
[   47.118283]  [<c13dc80d>] ? start_kernel+0x318/0x31d
[   47.118283]  [<c13de2eb>] ? xen_start_kernel+0x46a/0x471
[   47.118283]  [<c1409043>] ? udp_init+0x30/0x8c
[   47.118283] ---[ end trace 838e9608136663da ]---

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 18:28:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 18:28:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVRu5-0007l8-RA; Fri, 18 May 2012 18:27:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVRu3-0007ky-St
	for xen-devel@lists.xen.org; Fri, 18 May 2012 18:27:52 +0000
Received: from [85.158.138.51:47803] by server-1.bemta-3.messagelabs.com id
	D7/D9-11491-6A496BF4; Fri, 18 May 2012 18:27:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337365668!27842194!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTI1Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13411 invoked from network); 18 May 2012 18:27:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 18:27:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,618,1330905600"; d="scan'208";a="12555862"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 18:27:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 18 May 2012 19:27:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SVRtd-0002D4-PH; Fri, 18 May 2012 18:27:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SVRtd-0003ES-OU;
	Fri, 18 May 2012 19:27:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20406.38029.741183.334689@mariner.uk.xensource.com>
Date: Fri, 18 May 2012 19:27:25 +0100
To: xen-devel@lists.xen.org, Ian Campbell <ian.campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <20406.37918.733921.594303@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson writes ("[PATCH v2] xl: track child processes for the benefit of libxl"):
> Each time xl forks, it needs to record the pid, so that its exit
> status can be preserved if it happens that libxl's event loop reaped
> it.  Consequently we also have a new wrapper for waitpid, which in
> that case returns the previously-reaped status.

I have tested this on top of current tip ("x86/mem_sharing: Allow
paging-in pages to be replaced by shared ones") plus my event
debugging series and:

Loading new save file incoming migration stream (new xl fmt info 0x0/0x0/853)
 Savefile contains xl domain config
xc: Saving memory: iter 0 (last sent 0 skipped 0): 131072/131072  100%
xc: Saving memory: iter 1 (last sent 130814 skipped 258): 131072/131072  100%
xc: Saving memory: iter 2 (last sent 306 skipped 0): 131072/131072  100%      
xc: Saving memory: iter 3 (last sent 53 skipped 0): 131072/131072  100%  
xc: Saving memory: iter 4 (last sent 0 skipped 0): 131072/131072  100%  
xc: error: Max batch size exceeded (-18). Giving up.: Internal error
xc: error: Error when reading batch (90 = Message too long): Internal error
libxl: error: libxl_dom.c:430:libxl__domain_restore_common: restoring domain: Resource temporarily unavailable
libxl: error: libxl_create.c:596:do_domain_create: cannot (re-)build domain: -3
libxl: error: libxl.c:1043:libxl_domain_destroy: non-existant domain 123
migration target: Domain creation failed (code -3).
libxl: error: libxl_utils.c:364:libxl_read_exactly: file/stream truncated reading ready message from migration receiver stream
libxl: info: libxl_exec.c:108:libxl_report_child_exitstatus: migration target process [28059] exited with error status 3
Migration failed, resuming at sender.
root@bedbug:~/shadow/tools/libxl#

I don't think this is my fault.  Also after this happens the guest
crashes:

root@bedbug:~# xl console debian.guest.osstest
[   47.118283] ------------[ cut here ]------------
[   47.118283] kernel BUG at /tmp/buildd/linux-2.6-2.6.32/debian/build/source_i386_none/drivers/xen/events.c:839!
[   47.118283] invalid opcode: 0000 [#1] SMP 
[   47.118283] last sysfs file: /sys/devices/virtual/net/lo/operstate
[   47.118283] Modules linked in: evdev snd_pcm snd_timer snd soundcore snd_page_alloc pcspkr ext3 jbd mbcache xen_netfront xen_blkfront
[   47.118283] 
[   47.118283] Pid: 531, comm: kstop/0 Not tainted (2.6.32-5-686-bigmem #1) 
[   47.118283] EIP: 0061:[<c1196709>] EFLAGS: 00010082 CPU: 0
[   47.118283] EIP is at xen_irq_resume+0xd9/0x21f
[   47.118283] EAX: ffffffef EBX: 00000000 ECX: deadbeef EDX: de2d5f40
[   47.118283] ESI: 00000000 EDI: de2d5fb0 EBP: c14f29fc ESP: de2d5f10
[   47.118283]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0069
[   47.118283] Process kstop/0 (pid: 531, ti=de2d4000 task=df968000 task.ti=de2d4000)
[   47.118283] Stack:
[   47.118283]  00000000 00000003 c143b474 c24184f0 00000000 00000000 00000002 00000010
[   47.118283] <0> c1005744 deadbeef 00000003 de2d5fb0 00000000 00000000 0000f3f3 deadbeef
[   47.118283] <0> 00000003 de2d5fb0 00000000 c1197494 df851f8c c14995ec 00000003 de2d5fb0
[   47.118283] Call Trace:
[   47.118283]  [<c1005744>] ? xen_force_evtchn_callback+0xc/0x10
[   47.118283]  [<c1197494>] ? xen_suspend+0x99/0xb0
[   47.118283]  [<c106abd0>] ? stop_cpu+0x6d/0xab
[   47.118283]  [<c1047c37>] ? worker_thread+0x141/0x1bd
[   47.118283]  [<c106ab63>] ? stop_cpu+0x0/0xab
[   47.118283]  [<c104a97a>] ? autoremove_wake_function+0x0/0x2d
[   47.118283]  [<c1047af6>] ? worker_thread+0x0/0x1bd
[   47.118283]  [<c104a748>] ? kthread+0x61/0x66
[   47.118283]  [<c104a6e7>] ? kthread+0x0/0x66
[   47.118283]  [<c1008d87>] ? kernel_thread_helper+0x7/0x10
[   47.118283] Code: fe 0f b7 45 08 39 d8 74 04 0f 0b eb fe 8b 44 24 10 8d 54 24 30 89 5c 24 30 89 44 24 34 b8 01 00 00 00 e8 f3 fa ff ff 85 c0 74 04 <0f> 0b eb fe 8b 4c 24 38 8d 7c 24 24 89 0c 24 89 34 8d e0 1e 3c 
[   47.118283] EIP: [<c1196709>] xen_irq_resume+0xd9/0x21f SS:ESP 0069:de2d5f10
[   47.118283] ---[ end trace 838e9608136663d9 ]---
[   47.118283] ------------[ cut here ]------------
[   47.118283] WARNING: at /tmp/buildd/linux-2.6-2.6.32/debian/build/source_i386_none/kernel/time/timekeeping.c:260 ktime_get+0x1f/0xcb()
[   47.118283] Modules linked in: evdev snd_pcm snd_timer snd soundcore snd_page_alloc pcspkr ext3 jbd mbcache xen_netfront xen_blkfront
[   47.118283] Pid: 0, comm: swapper Tainted: G      D    2.6.32-5-686-bigmem #1
[   47.118283] Call Trace:
[   47.118283]  [<c1051b1c>] ? ktime_get+0x1f/0xcb
[   47.118283]  [<c1051b1c>] ? ktime_get+0x1f/0xcb
[   47.118283]  [<c1036ac5>] ? warn_slowpath_common+0x5e/0x8a
[   47.118283]  [<c1036afb>] ? warn_slowpath_null+0xa/0xc
[   47.118283]  [<c1051b1c>] ? ktime_get+0x1f/0xcb
[   47.118283]  [<c1055bc8>] ? tick_nohz_stop_sched_tick+0x5d/0x36e
[   47.118283]  [<c104d83d>] ? hrtimer_start_range_ns+0xf/0x13
[   47.118283]  [<c1055b66>] ? tick_nohz_restart_sched_tick+0x128/0x12d
[   47.118283]  [<c1007395>] ? cpu_idle+0x67/0xa2
[   47.118283]  [<c13dc80d>] ? start_kernel+0x318/0x31d
[   47.118283]  [<c13de2eb>] ? xen_start_kernel+0x46a/0x471
[   47.118283]  [<c1409043>] ? udp_init+0x30/0x8c
[   47.118283] ---[ end trace 838e9608136663da ]---

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 23:15:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 23:15:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVWNc-0000pG-4j; Fri, 18 May 2012 23:14:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVWNb-0000pB-5j
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 23:14:39 +0000
Received: from [193.109.254.147:22160] by server-8.bemta-14.messagelabs.com id
	66/9B-23244-ED7D6BF4; Fri, 18 May 2012 23:14:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337382877!3203194!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15977 invoked from network); 18 May 2012 23:14:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 23:14:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,620,1330905600"; d="scan'208";a="12557452"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 23:14:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 00:14:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVWNY-0003hj-KF;
	Fri, 18 May 2012 23:14:36 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVWNY-0000uq-2o;
	Sat, 19 May 2012 00:14:36 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12923-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 00:14:36 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12923: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12923 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12923/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pv            9 guest-start               fail REGR. vs. 12921
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12921
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot          fail REGR. vs. 12921

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-pcipt-intel  5 xen-boot               fail REGR. vs. 12921

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  e9058654ca08

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           fail    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 23:15:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 23:15:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVWNc-0000pG-4j; Fri, 18 May 2012 23:14:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVWNb-0000pB-5j
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 23:14:39 +0000
Received: from [193.109.254.147:22160] by server-8.bemta-14.messagelabs.com id
	66/9B-23244-ED7D6BF4; Fri, 18 May 2012 23:14:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337382877!3203194!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15977 invoked from network); 18 May 2012 23:14:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 23:14:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,620,1330905600"; d="scan'208";a="12557452"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 23:14:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 00:14:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVWNY-0003hj-KF;
	Fri, 18 May 2012 23:14:36 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVWNY-0000uq-2o;
	Sat, 19 May 2012 00:14:36 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12923-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 00:14:36 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12923: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12923 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12923/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pv            9 guest-start               fail REGR. vs. 12921
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12921
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot          fail REGR. vs. 12921

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-pcipt-intel  5 xen-boot               fail REGR. vs. 12921

Tests which did not succeed, but are not blocking:
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  e9058654ca08

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           fail    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 23:19:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 23:19:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVWRm-0000xy-Vo; Fri, 18 May 2012 23:18:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVWRk-0000xt-Rr
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 23:18:57 +0000
Received: from [85.158.143.35:64544] by server-1.bemta-4.messagelabs.com id
	50/E7-00342-0E8D6BF4; Fri, 18 May 2012 23:18:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337383135!12862074!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1047 invoked from network); 18 May 2012 23:18:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 23:18:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,620,1330905600"; d="scan'208";a="12557536"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 23:18:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 00:18:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVWRi-0003jP-70;
	Fri, 18 May 2012 23:18:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVWRi-0000TF-4W;
	Sat, 19 May 2012 00:18:54 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12924-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 00:18:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12924: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12924 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12924/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12892
 build-amd64                   4 xen-build                 fail REGR. vs. 12892
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-win-vcpus1  1 xen-build-check(1)          blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1  1 xen-build-check(1)     blocked n/a
 test-amd64-i386-qemuu-win     1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 xen-build-check(1)          blocked n/a
 test-amd64-i386-qemuu-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3  1 xen-build-check(1)          blocked n/a
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win  1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-win-vcpus1                             blocked 
 test-amd64-i386-xl-qemuu-win-vcpus1                          blocked 
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     blocked 
 test-amd64-amd64-qemuu-win                                   blocked 
 test-amd64-i386-qemuu-win                                    blocked 
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                blocked 
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 18 23:19:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 18 May 2012 23:19:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVWRm-0000xy-Vo; Fri, 18 May 2012 23:18:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVWRk-0000xt-Rr
	for xen-devel@lists.xensource.com; Fri, 18 May 2012 23:18:57 +0000
Received: from [85.158.143.35:64544] by server-1.bemta-4.messagelabs.com id
	50/E7-00342-0E8D6BF4; Fri, 18 May 2012 23:18:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337383135!12862074!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1047 invoked from network); 18 May 2012 23:18:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 23:18:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,620,1330905600"; d="scan'208";a="12557536"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 May 2012 23:18:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 00:18:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVWRi-0003jP-70;
	Fri, 18 May 2012 23:18:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVWRi-0000TF-4W;
	Sat, 19 May 2012 00:18:54 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12924-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 00:18:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12924: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12924 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12924/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-oldkern           4 xen-build                 fail REGR. vs. 12892
 build-amd64                   4 xen-build                 fail REGR. vs. 12892
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-win-vcpus1  1 xen-build-check(1)          blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 xen-build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1  1 xen-build-check(1)     blocked n/a
 test-amd64-i386-qemuu-win     1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 xen-build-check(1)          blocked n/a
 test-amd64-i386-qemuu-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3  1 xen-build-check(1)          blocked n/a
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked n/a
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-qemuu-win  1 xen-build-check(1)           blocked  n/a

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  fail    
 build-i386                                                   pass    
 build-amd64-oldkern                                          fail    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-win-vcpus1                             blocked 
 test-amd64-i386-xl-qemuu-win-vcpus1                          blocked 
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     blocked 
 test-amd64-amd64-qemuu-win                                   blocked 
 test-amd64-i386-qemuu-win                                    blocked 
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                blocked 
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           blocked 
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 05:47:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 05:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVcVY-0006yw-Dm; Sat, 19 May 2012 05:47:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVcVW-0006yr-OQ
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 05:47:14 +0000
Received: from [193.109.254.147:24578] by server-2.bemta-14.messagelabs.com id
	BE/AB-19409-2E337BF4; Sat, 19 May 2012 05:47:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337406433!9858689!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14781 invoked from network); 19 May 2012 05:47:13 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 05:47:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12558842"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 05:47:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 06:47:11 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVcVT-0005l9-Q9;
	Sat, 19 May 2012 05:47:11 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVcVT-00013S-N0;
	Sat, 19 May 2012 06:47:11 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12926-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 06:47:11 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12926: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12926 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12926/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install      fail pass in 12922
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12922

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12922 like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12922 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12922 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 05:47:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 05:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVcVY-0006yw-Dm; Sat, 19 May 2012 05:47:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVcVW-0006yr-OQ
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 05:47:14 +0000
Received: from [193.109.254.147:24578] by server-2.bemta-14.messagelabs.com id
	BE/AB-19409-2E337BF4; Sat, 19 May 2012 05:47:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337406433!9858689!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14781 invoked from network); 19 May 2012 05:47:13 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 05:47:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12558842"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 05:47:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 06:47:11 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVcVT-0005l9-Q9;
	Sat, 19 May 2012 05:47:11 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVcVT-00013S-N0;
	Sat, 19 May 2012 06:47:11 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12926-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 06:47:11 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12926: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12926 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12926/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install      fail pass in 12922
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12922

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12922 like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12922 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12922 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 05:53:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 05:53:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVcb6-00076i-9I; Sat, 19 May 2012 05:53:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVcb5-00076b-2K
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 05:52:59 +0000
Received: from [193.109.254.147:37608] by server-10.bemta-14.messagelabs.com
	id 81/DD-05847-A3537BF4; Sat, 19 May 2012 05:52:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337406776!3214292!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21785 invoked from network); 19 May 2012 05:52:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 05:52:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12558858"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 05:52:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 06:52:56 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVcb2-0005nC-DA;
	Sat, 19 May 2012 05:52:56 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVcb2-0000pr-8k;
	Sat, 19 May 2012 06:52:56 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12925-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 06:52:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12925: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12925 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12925/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12921

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12921

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  e9058654ca08

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 05:53:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 05:53:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVcb6-00076i-9I; Sat, 19 May 2012 05:53:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVcb5-00076b-2K
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 05:52:59 +0000
Received: from [193.109.254.147:37608] by server-10.bemta-14.messagelabs.com
	id 81/DD-05847-A3537BF4; Sat, 19 May 2012 05:52:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337406776!3214292!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTM4OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21785 invoked from network); 19 May 2012 05:52:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 05:52:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12558858"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 05:52:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 06:52:56 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVcb2-0005nC-DA;
	Sat, 19 May 2012 05:52:56 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVcb2-0000pr-8k;
	Sat, 19 May 2012 06:52:56 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12925-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 06:52:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12925: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12925 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12925/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12921

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12921

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  e9058654ca08

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 08:47:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 08:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVfIq-0008Lu-21; Sat, 19 May 2012 08:46:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1SVfIo-0008Lp-JR
	for xen-devel@lists.xen.org; Sat, 19 May 2012 08:46:18 +0000
Received: from [85.158.139.83:26864] by server-10.bemta-5.messagelabs.com id
	58/02-08260-9DD57BF4; Sat, 19 May 2012 08:46:17 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337417176!25269256!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15602 invoked from network); 19 May 2012 08:46:16 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-7.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	19 May 2012 08:46:16 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:51191
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1SVfEO-0000VJ-Bn; Sat, 19 May 2012 10:41:44 +0200
Date: Sat, 19 May 2012 10:46:15 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <571433688.20120519104615@eikelenboom.it>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] xen-pciback.hide syntax
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

The syntax for specifying the devices for pciback to hide is "bus:device.function".
While thinking about cooking up a patch to be able to use a "*" wildcard for the function, i was wondering if not hiding all functions of a device is feasible at all.

For what I understand of PCI, function 0 is always required, so if I only hide function 0, i can't use the other functions in dom0, since those functions would require a function 0, which is hidden.

So would it be more logical to drop/ignore the function from the BDF, and always hide all functions from a device ?

--
Regards,

Sander



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 08:47:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 08:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVfIq-0008Lu-21; Sat, 19 May 2012 08:46:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1SVfIo-0008Lp-JR
	for xen-devel@lists.xen.org; Sat, 19 May 2012 08:46:18 +0000
Received: from [85.158.139.83:26864] by server-10.bemta-5.messagelabs.com id
	58/02-08260-9DD57BF4; Sat, 19 May 2012 08:46:17 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337417176!25269256!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15602 invoked from network); 19 May 2012 08:46:16 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-7.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	19 May 2012 08:46:16 -0000
Received: from 2-69-ftth.onsneteindhoven.nl ([88.159.69.2]:51191
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1SVfEO-0000VJ-Bn; Sat, 19 May 2012 10:41:44 +0200
Date: Sat, 19 May 2012 10:46:15 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <571433688.20120519104615@eikelenboom.it>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: [Xen-devel] xen-pciback.hide syntax
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

The syntax for specifying the devices for pciback to hide is "bus:device.function".
While thinking about cooking up a patch to be able to use a "*" wildcard for the function, i was wondering if not hiding all functions of a device is feasible at all.

For what I understand of PCI, function 0 is always required, so if I only hide function 0, i can't use the other functions in dom0, since those functions would require a function 0, which is hidden.

So would it be more logical to drop/ignore the function from the BDF, and always hide all functions from a device ?

--
Regards,

Sander



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 09:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 09:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVgD9-0000DM-Qj; Sat, 19 May 2012 09:44:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVgD8-0000DH-54
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 09:44:30 +0000
Received: from [85.158.143.35:53920] by server-3.bemta-4.messagelabs.com id
	E4/D3-05853-D7B67BF4; Sat, 19 May 2012 09:44:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337420668!13900129!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16672 invoked from network); 19 May 2012 09:44:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 09:44:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12559896"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 09:44:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 10:44:27 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVgD5-00072E-7Z;
	Sat, 19 May 2012 09:44:27 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVgD4-0007vy-Ne;
	Sat, 19 May 2012 10:44:26 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12932-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 10:44:26 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12932: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12932 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12932/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 09:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 09:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVgD9-0000DM-Qj; Sat, 19 May 2012 09:44:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVgD8-0000DH-54
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 09:44:30 +0000
Received: from [85.158.143.35:53920] by server-3.bemta-4.messagelabs.com id
	E4/D3-05853-D7B67BF4; Sat, 19 May 2012 09:44:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337420668!13900129!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16672 invoked from network); 19 May 2012 09:44:28 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 09:44:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12559896"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 09:44:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 10:44:27 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVgD5-00072E-7Z;
	Sat, 19 May 2012 09:44:27 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVgD4-0007vy-Ne;
	Sat, 19 May 2012 10:44:26 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12932-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 10:44:26 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12932: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12932 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12932/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 14:18:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 14:18:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVkTa-0001PO-Nd; Sat, 19 May 2012 14:17:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVkTY-0001PH-Uo
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 14:17:45 +0000
Received: from [85.158.143.99:6952] by server-2.bemta-4.messagelabs.com id
	82/EE-12211-88BA7BF4; Sat, 19 May 2012 14:17:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337437063!21754274!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20221 invoked from network); 19 May 2012 14:17:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 14:17:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12561114"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 14:17:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 15:17:42 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVkTW-0000Bm-6f;
	Sat, 19 May 2012 14:17:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVkTV-0006fb-N9;
	Sat, 19 May 2012 15:17:42 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12934-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 15:17:41 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12934: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12934 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12934/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12921

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  e9058654ca08

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=592d15bd4d5e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 592d15bd4d5e
+ branch=xen-unstable
+ revision=592d15bd4d5e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 592d15bd4d5e ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 4 changes to 4 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 14:18:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 14:18:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVkTa-0001PO-Nd; Sat, 19 May 2012 14:17:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVkTY-0001PH-Uo
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 14:17:45 +0000
Received: from [85.158.143.99:6952] by server-2.bemta-4.messagelabs.com id
	82/EE-12211-88BA7BF4; Sat, 19 May 2012 14:17:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337437063!21754274!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20221 invoked from network); 19 May 2012 14:17:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 14:17:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12561114"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 14:17:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 15:17:42 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVkTW-0000Bm-6f;
	Sat, 19 May 2012 14:17:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVkTV-0006fb-N9;
	Sat, 19 May 2012 15:17:42 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12934-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 15:17:41 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12934: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12934 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12934/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12921

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  e9058654ca08

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=592d15bd4d5e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 592d15bd4d5e
+ branch=xen-unstable
+ revision=592d15bd4d5e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 592d15bd4d5e ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 4 changes to 4 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 14:52:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 14:52:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVl09-0001hb-OR; Sat, 19 May 2012 14:51:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVl08-0001hW-1V
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 14:51:24 +0000
Received: from [85.158.139.83:6451] by server-8.bemta-5.messagelabs.com id
	6C/FE-26964-B63B7BF4; Sat, 19 May 2012 14:51:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337439078!17983901!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4192 invoked from network); 19 May 2012 14:51:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 14:51:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12561231"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 14:51:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 15:51:16 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVl00-0000NZ-3g;
	Sat, 19 May 2012 14:51:16 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVl00-0002To-0m;
	Sat, 19 May 2012 15:51:16 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12935-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 15:51:16 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12935: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12935 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12935/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 14:52:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 14:52:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVl09-0001hb-OR; Sat, 19 May 2012 14:51:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVl08-0001hW-1V
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 14:51:24 +0000
Received: from [85.158.139.83:6451] by server-8.bemta-5.messagelabs.com id
	6C/FE-26964-B63B7BF4; Sat, 19 May 2012 14:51:23 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337439078!17983901!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4192 invoked from network); 19 May 2012 14:51:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 14:51:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12561231"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 14:51:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 15:51:16 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVl00-0000NZ-3g;
	Sat, 19 May 2012 14:51:16 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVl00-0002To-0m;
	Sat, 19 May 2012 15:51:16 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12935-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 15:51:16 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12935: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12935 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12935/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 18:35:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 18:35:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVoUe-0002uO-C5; Sat, 19 May 2012 18:35:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVoUc-0002uJ-CY
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 18:35:06 +0000
Received: from [85.158.143.99:11644] by server-1.bemta-4.messagelabs.com id
	4A/E1-00342-9D7E7BF4; Sat, 19 May 2012 18:35:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337452504!28471933!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12136 invoked from network); 19 May 2012 18:35:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 18:35:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12561813"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 18:35:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 19:35:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVoUZ-0001Xy-5J;
	Sat, 19 May 2012 18:35:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVoUY-0004aj-Qk;
	Sat, 19 May 2012 19:35:02 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12936-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 19:35:02 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12936: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12936 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12936/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-win-vcpus1 15 guest-destroy           fail pass in 12935
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12935

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12935 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check  fail in 12935 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12935 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 18:35:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 18:35:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVoUe-0002uO-C5; Sat, 19 May 2012 18:35:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVoUc-0002uJ-CY
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 18:35:06 +0000
Received: from [85.158.143.99:11644] by server-1.bemta-4.messagelabs.com id
	4A/E1-00342-9D7E7BF4; Sat, 19 May 2012 18:35:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337452504!28471933!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Ng==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12136 invoked from network); 19 May 2012 18:35:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 18:35:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,621,1330905600"; d="scan'208";a="12561813"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 18:35:03 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 19:35:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVoUZ-0001Xy-5J;
	Sat, 19 May 2012 18:35:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVoUY-0004aj-Qk;
	Sat, 19 May 2012 19:35:02 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12936-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 19:35:02 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12936: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12936 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12936/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-win-vcpus1 15 guest-destroy           fail pass in 12935
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12935

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12935 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check  fail in 12935 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12935 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 22:23:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 22:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVs2A-0004OQ-34; Sat, 19 May 2012 22:21:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVs28-0004OL-HL
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 22:21:56 +0000
Received: from [85.158.143.35:34097] by server-1.bemta-4.messagelabs.com id
	5C/24-00342-30D18BF4; Sat, 19 May 2012 22:21:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337466114!4542880!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7126 invoked from network); 19 May 2012 22:21:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 22:21:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,622,1330905600"; d="scan'208";a="12562207"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 22:21:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 23:21:53 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVs25-0002ii-AU;
	Sat, 19 May 2012 22:21:53 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVs25-0004VT-03;
	Sat, 19 May 2012 23:21:53 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12937-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 23:21:53 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12937: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12937 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12937/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12935

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12935 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12935 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 19 22:23:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 19 May 2012 22:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVs2A-0004OQ-34; Sat, 19 May 2012 22:21:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVs28-0004OL-HL
	for xen-devel@lists.xensource.com; Sat, 19 May 2012 22:21:56 +0000
Received: from [85.158.143.35:34097] by server-1.bemta-4.messagelabs.com id
	5C/24-00342-30D18BF4; Sat, 19 May 2012 22:21:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337466114!4542880!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7126 invoked from network); 19 May 2012 22:21:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	19 May 2012 22:21:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,622,1330905600"; d="scan'208";a="12562207"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	19 May 2012 22:21:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 19 May 2012 23:21:53 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVs25-0002ii-AU;
	Sat, 19 May 2012 22:21:53 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVs25-0004VT-03;
	Sat, 19 May 2012 23:21:53 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12937-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 19 May 2012 23:21:53 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12937: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12937 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12937/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12935

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12935 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12935 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 02:59:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMZ-0001jz-0I; Sun, 20 May 2012 02:59:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <josep.subirats@bsc.es>) id 1SVNBD-0008T2-L6
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:25:15 +0000
Received: from [85.158.139.83:44715] by server-10.bemta-5.messagelabs.com id
	B1/F6-08260-ABD46BF4; Fri, 18 May 2012 13:25:14 +0000
X-Env-Sender: josep.subirats@bsc.es
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337347512!24831069!1
X-Originating-IP: [84.88.52.34]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13675 invoked from network); 18 May 2012 13:25:13 -0000
Received: from mao.bsc.es (HELO opsmail01.bsc.es) (84.88.52.34)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 18 May 2012 13:25:13 -0000
Received: from localhost (localhost [127.0.0.1])
	by opsmail01.bsc.es (Postfix) with ESMTP id A7B5C4C7C5;
	Fri, 18 May 2012 15:25:10 +0200 (CEST)
Received: from opsmail01.bsc.es ([127.0.0.1])
	by localhost (opswc01.bsc.es [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 10920-08-2; Fri, 18 May 2012 15:25:10 +0200 (CEST)
Received: from opswc01.bsc.es (localhost [127.0.0.1])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by opsmail01.bsc.es (Postfix) with ESMTPS id D937945B87;
	Fri, 18 May 2012 15:25:09 +0200 (CEST)
Received: (from filter@localhost)
	by opswc01.bsc.es (8.13.6/8.13.6/Submit) id q4IDP9xC017652;
	Fri, 18 May 2012 15:25:09 +0200
Received: from [192.168.1.12] (175.pool85-58-80.dynamic.orange.es
	[85.58.80.175])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by opsmail01.bsc.es (Postfix) with ESMTPSA id 764AB45A96;
	Fri, 18 May 2012 15:25:09 +0200 (CEST)
Message-ID: <4FB64DB5.9090405@bsc.es>
Date: Fri, 18 May 2012 15:25:09 +0200
From: Josep Subirats <josep.subirats@bsc.es>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
	<1337346497.22316.114.camel@zakaz.uk.xensource.com>
	<CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
	<1337347069.22316.115.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337347069.22316.115.camel@zakaz.uk.xensource.com>
X-Copyrighted-Material: Please visit http://www.bsc.es/disclaimer.htm
X-Virus-Scanned: amavisd-new at bsc.es
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Krishna Pavan <post4pavan@gmail.com>, xen-devel <xen-devel@lists.xen.org>,
	Xen <xen-arm@lists.xensource.com>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
 Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

My apologies for going into this conversation. :) My situation is that I 
have a Tegra 250 Harmony Board (Cortex A-9) and I'd like to run Xen-ARM 
on top of it. From what I read, this is possible, and although I have 
read and followed several tutorials on how to compile it, I'm still 
unable to achieve it. Could you point me to the appropiate tutorial or 
forum post for my board? I'd be really grateful.

Best regards,

Josep Subirats

On 05/18/2012 03:17 PM, Ian Campbell wrote:
> On Fri, 2012-05-18 at 14:14 +0100, Krishna Pavan wrote:
>> Sorry,
>>
>> I am interested to learn a bit about Cortex-A8 only, where, I am aware
>> of the PV port.
> OK. The links you provided were all about the other port, which was
> confusing.
>
> Ian.
>
>
>
>
> _______________________________________________
> Xen-arm mailing list
> Xen-arm@lists.xen.org
> http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm

WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.

http://www.bsc.es/disclaimer

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 02:59:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMZ-0001jz-0I; Sun, 20 May 2012 02:59:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <josep.subirats@bsc.es>) id 1SVNBD-0008T2-L6
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:25:15 +0000
Received: from [85.158.139.83:44715] by server-10.bemta-5.messagelabs.com id
	B1/F6-08260-ABD46BF4; Fri, 18 May 2012 13:25:14 +0000
X-Env-Sender: josep.subirats@bsc.es
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337347512!24831069!1
X-Originating-IP: [84.88.52.34]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13675 invoked from network); 18 May 2012 13:25:13 -0000
Received: from mao.bsc.es (HELO opsmail01.bsc.es) (84.88.52.34)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 18 May 2012 13:25:13 -0000
Received: from localhost (localhost [127.0.0.1])
	by opsmail01.bsc.es (Postfix) with ESMTP id A7B5C4C7C5;
	Fri, 18 May 2012 15:25:10 +0200 (CEST)
Received: from opsmail01.bsc.es ([127.0.0.1])
	by localhost (opswc01.bsc.es [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 10920-08-2; Fri, 18 May 2012 15:25:10 +0200 (CEST)
Received: from opswc01.bsc.es (localhost [127.0.0.1])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by opsmail01.bsc.es (Postfix) with ESMTPS id D937945B87;
	Fri, 18 May 2012 15:25:09 +0200 (CEST)
Received: (from filter@localhost)
	by opswc01.bsc.es (8.13.6/8.13.6/Submit) id q4IDP9xC017652;
	Fri, 18 May 2012 15:25:09 +0200
Received: from [192.168.1.12] (175.pool85-58-80.dynamic.orange.es
	[85.58.80.175])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by opsmail01.bsc.es (Postfix) with ESMTPSA id 764AB45A96;
	Fri, 18 May 2012 15:25:09 +0200 (CEST)
Message-ID: <4FB64DB5.9090405@bsc.es>
Date: Fri, 18 May 2012 15:25:09 +0200
From: Josep Subirats <josep.subirats@bsc.es>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
	<1337346497.22316.114.camel@zakaz.uk.xensource.com>
	<CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
	<1337347069.22316.115.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337347069.22316.115.camel@zakaz.uk.xensource.com>
X-Copyrighted-Material: Please visit http://www.bsc.es/disclaimer.htm
X-Virus-Scanned: amavisd-new at bsc.es
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Krishna Pavan <post4pavan@gmail.com>, xen-devel <xen-devel@lists.xen.org>,
	Xen <xen-arm@lists.xensource.com>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
 Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

My apologies for going into this conversation. :) My situation is that I 
have a Tegra 250 Harmony Board (Cortex A-9) and I'd like to run Xen-ARM 
on top of it. From what I read, this is possible, and although I have 
read and followed several tutorials on how to compile it, I'm still 
unable to achieve it. Could you point me to the appropiate tutorial or 
forum post for my board? I'd be really grateful.

Best regards,

Josep Subirats

On 05/18/2012 03:17 PM, Ian Campbell wrote:
> On Fri, 2012-05-18 at 14:14 +0100, Krishna Pavan wrote:
>> Sorry,
>>
>> I am interested to learn a bit about Cortex-A8 only, where, I am aware
>> of the PV port.
> OK. The links you provided were all about the other port, which was
> confusing.
>
> Ian.
>
>
>
>
> _______________________________________________
> Xen-arm mailing list
> Xen-arm@lists.xen.org
> http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm

WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.

http://www.bsc.es/disclaimer

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 02:59:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMY-0001jl-8A; Sun, 20 May 2012 02:59:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SUUmA-00029K-Rr
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 03:19:47 +0000
Received: from [85.158.138.51:13042] by server-5.bemta-3.messagelabs.com id
	91/C4-17113-1DC13BF4; Wed, 16 May 2012 03:19:45 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337138383!19292834!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAyMDAxMzg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5789 invoked from network); 16 May 2012 03:19:45 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 03:19:45 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 16 May 2012 08:49:41 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 16 May 2012 08:49:36 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4G3JZw09437488
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 08:49:35 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4G8nLqi014204
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 18:49:23 +1000
Received: from [9.79.220.44] ([9.79.220.44])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4G8nHCO014091; Wed, 16 May 2012 18:49:18 +1000
Message-ID: <4FB31CA4.5070908@linux.vnet.ibm.com>
Date: Wed, 16 May 2012 08:49:00 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
In-Reply-To: <4FB0014A.90604@linux.vnet.ibm.com>
x-cbid: 12051603-8256-0000-0000-00000274AAEA
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/14/2012 12:15 AM, Raghavendra K T wrote:
> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>
> I could not come with pv-flush results (also Nikunj had clarified that
> the result was on NOn PLE
>
>> I'd like to see those numbers, then.
>>
>> Ingo, please hold on the kvm-specific patches, meanwhile.
>>
>
> 3 guests 8GB RAM, 1 used for kernbench
> (kernbench -f -H -M -o 20) other for cpuhog (shell script with while
> true do hackbench)
>
> 1x: no hogs
> 2x: 8hogs in one guest
> 3x: 8hogs each in two guest
>
> kernbench on PLE:
> Machine : IBM xSeries with Intel(R) Xeon(R) X7560 2.27GHz CPU with 32
> core, with 8 online cpus and 4*64GB RAM.
>
> The average is taken over 4 iterations with 3 run each (4*3=12). and
> stdev is calculated over mean reported in each run.
>
>
> A): 8 vcpu guest
>
> BASE BASE+patch %improvement w.r.t
> mean (sd) mean (sd) patched kernel time
> case 1*1x: 61.7075 (1.17872) 60.93 (1.475625) 1.27605
> case 1*2x: 107.2125 (1.3821349) 97.506675 (1.3461878) 9.95401
> case 1*3x: 144.3515 (1.8203927) 138.9525 (0.58309319) 3.8855
>
>
> B): 16 vcpu guest
> BASE BASE+patch %improvement w.r.t
> mean (sd) mean (sd) patched kernel time
> case 2*1x: 70.524 (1.5941395) 69.68866 (1.9392529) 1.19867
> case 2*2x: 133.0738 (1.4558653) 124.8568 (1.4544986) 6.58114
> case 2*3x: 206.0094 (1.3437359) 181.4712 (2.9134116) 13.5218
>
> B): 32 vcpu guest
> BASE BASE+patch %improvementw.r.t
> mean (sd) mean (sd) patched kernel time
> case 4*1x: 100.61046 (2.7603485) 85.48734 (2.6035035) 17.6905
>
> It seems while we do not see any improvement in low contention case,
> the benefit becomes evident with overcommit and large guests. I am
> continuing analysis with other benchmarks (now with pgbench to check if
> it has acceptable improvement/degradation in low contenstion case).

Here are the results for pgbench and sysbench. Here the results are on a 
single guest.

Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32 
core, with 8
          online cpus and 4*64GB RAM.

Guest config: 8GB RAM

pgbench
==========

   unit=tps (higher is better)
   pgbench based on pgsql 9.2-dev:
	http://www.postgresql.org/ftp/snapshot/dev/ (link given by Attilo)

   tool used to collect benachmark: 
git://git.postgresql.org/git/pgbench-tools.git
   config: MAX_WORKER=16 SCALE=32 run for NRCLIENTS = 1, 8, 64

Average taken over 10 iterations.

      8 vcpu guest	

      N  base	   patch	improvement
      1  5271       5235    	-0.687679
      8  37953      38202    	0.651798
      64 37546      37774    	0.60359


      16 vcpu guest	

      N  base	   patch	improvement
      1  5229       5239  	0.190876
      8  34908      36048    	3.16245
      64 51796      52852   	1.99803

sysbench
==========
sysbench 0.4.12 cnfigured for postgres driver ran with
sysbench --num-threads=8/16/32 --max-requests=100000 --test=oltp 
--oltp-table-size=500000 --db-driver=pgsql --oltp-read-only run
annalysed with ministat with
x patch
+ base

8 vcpu guest
---------------
1) num_threads = 8
     N           Min           Max        Median           Avg        Stddev
x  10       20.7805         21.55       20.9667      21.03502    0.22682186
+  10        21.025       22.3122      21.29535      21.41793    0.39542349
Difference at 98.0% confidence
	1.82035% +/- 1.74892%

2) num_threads = 16
     N           Min           Max        Median           Avg        Stddev
x  10       20.8786       21.3967       21.1566      21.14441    0.15490983
+  10       21.3992       21.9437      21.46235      21.58724     0.2089425
Difference at 98.0% confidence
	2.09431% +/- 0.992732%

3) num_threads = 32
     N           Min           Max        Median           Avg        Stddev
x  10       21.1329       21.3726      21.33415       21.2893    0.08324195
+  10       21.5692       21.8966       21.6441      21.65679   0.093430003
Difference at 98.0% confidence
	1.72617% +/- 0.474343%


16 vcpu guest
---------------
1) num_threads = 8
     N           Min           Max        Median           Avg        Stddev
x  10       23.5314       25.6118      24.76145      24.64517    0.74856264
+  10       22.2675       26.6204       22.9131      23.50554      1.345386
No difference proven at 98.0% confidence

2) num_threads = 16
     N           Min           Max        Median           Avg        Stddev
x  10       12.0095       12.2305      12.15575      12.13926   0.070872722
+  10        11.413       11.6986       11.4817        11.493   0.080007819
Difference at 98.0% confidence
	-5.32372% +/- 0.710561%

3) num_threads = 32
     N           Min           Max        Median           Avg        Stddev
x  10       12.1378       12.3567      12.21675      12.22703     0.0670695
+  10        11.573       11.7438       11.6306      11.64905   0.062780221
Difference at 98.0% confidence
	-4.72707% +/- 0.606349%


32 vcpu guest
---------------
1) num_threads = 8
     N           Min           Max        Median           Avg        Stddev
x  10       30.5602       41.4756      37.45155      36.43752     3.5490215
+  10       21.1183       49.2599      22.60845      29.61119     11.269393
No difference proven at 98.0% confidence

2) num_threads = 16
     N           Min           Max        Median           Avg        Stddev
x  10       12.2556       12.9023       12.4968      12.55764    0.25330459
+  10       11.7627       11.9959       11.8419      11.86256   0.088563903
Difference at 98.0% confidence
	-5.53512% +/- 1.72448%

3) num_threads = 32
     N           Min           Max        Median           Avg        Stddev
x  10       16.8751       17.0756      16.97335      16.96765   0.063197191
+  10       21.3763       21.8111       21.6799      21.66438    0.13059888
Difference at 98.0% confidence
	27.6805% +/- 0.690056%


To summarise,
with 32 vcpu guest with nr thread=32 we get around 27% improvement. In 
very low/undercommitted systems we may see very small improvement or 
small acceptable degradation ( which it deserves).

(IMO with more overcommit/contention, we can get more than 15% for the 
benchmarks and we do ).

  Please let me know if you have any suggestions for try.
(Currently my PLE machine lease is expired, it may take some time to 
comeback :()

  Ingo, Avi ?


>
> Avi,
> Can patch series go ahead for inclusion into tree with following
> reasons:
>
> The patch series brings fairness with ticketlock ( hence the
> predictability, since during contention, vcpu trying
> to acqire lock is sure that it gets its turn in less than total number
> of vcpus conntending for lock), which is very much desired irrespective
> of its low benefit/degradation (if any) in low contention scenarios.
>
> Ofcourse ticketlocks had undesirable effect of exploding LHP problem,
> and the series addresses with improvement in scheduling and sleeping
> instead of burning cpu time.
>
> Finally a less famous one, it brings almost PLE equivalent capabilty to
> all the non PLE hardware (TBH I always preferred my experiment kernel to
> be compiled in my pv guest that saves more than 30 min of time for each
> run).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 02:59:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMY-0001jl-8A; Sun, 20 May 2012 02:59:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raghavendra.kt@linux.vnet.ibm.com>)
	id 1SUUmA-00029K-Rr
	for xen-devel@lists.xensource.com; Wed, 16 May 2012 03:19:47 +0000
Received: from [85.158.138.51:13042] by server-5.bemta-3.messagelabs.com id
	91/C4-17113-1DC13BF4; Wed, 16 May 2012 03:19:45 +0000
X-Env-Sender: raghavendra.kt@linux.vnet.ibm.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337138383!19292834!1
X-Originating-IP: [122.248.162.5]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTIyLjI0OC4xNjIuNSA9PiAyMDAxMzg=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5789 invoked from network); 16 May 2012 03:19:45 -0000
Received: from e28smtp05.in.ibm.com (HELO e28smtp05.in.ibm.com) (122.248.162.5)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 16 May 2012 03:19:45 -0000
Received: from /spool/local
	by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use
	Only! Violators will be prosecuted
	for <xen-devel@lists.xensource.com> from
	<raghavendra.kt@linux.vnet.ibm.com>; Wed, 16 May 2012 08:49:41 +0530
Received: from d28relay03.in.ibm.com (9.184.220.60)
	by e28smtp05.in.ibm.com (192.168.1.135) with IBM ESMTP SMTP Gateway:
	Authorized Use Only! Violators will be prosecuted; 
	Wed, 16 May 2012 08:49:36 +0530
Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66])
	by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id
	q4G3JZw09437488
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 08:49:35 +0530
Received: from d28av04.in.ibm.com (loopback [127.0.0.1])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id
	q4G8nLqi014204
	for <xen-devel@lists.xensource.com>; Wed, 16 May 2012 18:49:23 +1000
Received: from [9.79.220.44] ([9.79.220.44])
	by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id
	q4G8nHCO014091; Wed, 16 May 2012 18:49:18 +1000
Message-ID: <4FB31CA4.5070908@linux.vnet.ibm.com>
Date: Wed, 16 May 2012 08:49:00 +0530
From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Organization: IBM
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1
MIME-Version: 1.0
To: Avi Kivity <avi@redhat.com>
References: <20120502100610.13206.40.sendpatchset@codeblue.in.ibm.com>
	<20120507082928.GI16608@gmail.com> <4FA7888F.80505@redhat.com>
	<4FA7AAD8.6050003@linux.vnet.ibm.com> <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com> <4FA7D3F7.9080005@linux.vnet.ibm.com>
	<4FA7D50D.1020209@redhat.com> <4FA7E06E.20304@linux.vnet.ibm.com>
	<4FA7E1C8.7010509@redhat.com> <4FB0014A.90604@linux.vnet.ibm.com>
In-Reply-To: <4FB0014A.90604@linux.vnet.ibm.com>
x-cbid: 12051603-8256-0000-0000-00000274AAEA
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Greg Kroah-Hartman <gregkh@suse.de>,
	KVM <kvm@vger.kernel.org>, linux-doc@vger.kernel.org,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Gleb Natapov <gleb@redhat.com>, X86 <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Marcelo Tosatti <mtosatti@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/14/2012 12:15 AM, Raghavendra K T wrote:
> On 05/07/2012 08:22 PM, Avi Kivity wrote:
>
> I could not come with pv-flush results (also Nikunj had clarified that
> the result was on NOn PLE
>
>> I'd like to see those numbers, then.
>>
>> Ingo, please hold on the kvm-specific patches, meanwhile.
>>
>
> 3 guests 8GB RAM, 1 used for kernbench
> (kernbench -f -H -M -o 20) other for cpuhog (shell script with while
> true do hackbench)
>
> 1x: no hogs
> 2x: 8hogs in one guest
> 3x: 8hogs each in two guest
>
> kernbench on PLE:
> Machine : IBM xSeries with Intel(R) Xeon(R) X7560 2.27GHz CPU with 32
> core, with 8 online cpus and 4*64GB RAM.
>
> The average is taken over 4 iterations with 3 run each (4*3=12). and
> stdev is calculated over mean reported in each run.
>
>
> A): 8 vcpu guest
>
> BASE BASE+patch %improvement w.r.t
> mean (sd) mean (sd) patched kernel time
> case 1*1x: 61.7075 (1.17872) 60.93 (1.475625) 1.27605
> case 1*2x: 107.2125 (1.3821349) 97.506675 (1.3461878) 9.95401
> case 1*3x: 144.3515 (1.8203927) 138.9525 (0.58309319) 3.8855
>
>
> B): 16 vcpu guest
> BASE BASE+patch %improvement w.r.t
> mean (sd) mean (sd) patched kernel time
> case 2*1x: 70.524 (1.5941395) 69.68866 (1.9392529) 1.19867
> case 2*2x: 133.0738 (1.4558653) 124.8568 (1.4544986) 6.58114
> case 2*3x: 206.0094 (1.3437359) 181.4712 (2.9134116) 13.5218
>
> B): 32 vcpu guest
> BASE BASE+patch %improvementw.r.t
> mean (sd) mean (sd) patched kernel time
> case 4*1x: 100.61046 (2.7603485) 85.48734 (2.6035035) 17.6905
>
> It seems while we do not see any improvement in low contention case,
> the benefit becomes evident with overcommit and large guests. I am
> continuing analysis with other benchmarks (now with pgbench to check if
> it has acceptable improvement/degradation in low contenstion case).

Here are the results for pgbench and sysbench. Here the results are on a 
single guest.

Machine : IBM xSeries with Intel(R) Xeon(R)  X7560 2.27GHz CPU with 32 
core, with 8
          online cpus and 4*64GB RAM.

Guest config: 8GB RAM

pgbench
==========

   unit=tps (higher is better)
   pgbench based on pgsql 9.2-dev:
	http://www.postgresql.org/ftp/snapshot/dev/ (link given by Attilo)

   tool used to collect benachmark: 
git://git.postgresql.org/git/pgbench-tools.git
   config: MAX_WORKER=16 SCALE=32 run for NRCLIENTS = 1, 8, 64

Average taken over 10 iterations.

      8 vcpu guest	

      N  base	   patch	improvement
      1  5271       5235    	-0.687679
      8  37953      38202    	0.651798
      64 37546      37774    	0.60359


      16 vcpu guest	

      N  base	   patch	improvement
      1  5229       5239  	0.190876
      8  34908      36048    	3.16245
      64 51796      52852   	1.99803

sysbench
==========
sysbench 0.4.12 cnfigured for postgres driver ran with
sysbench --num-threads=8/16/32 --max-requests=100000 --test=oltp 
--oltp-table-size=500000 --db-driver=pgsql --oltp-read-only run
annalysed with ministat with
x patch
+ base

8 vcpu guest
---------------
1) num_threads = 8
     N           Min           Max        Median           Avg        Stddev
x  10       20.7805         21.55       20.9667      21.03502    0.22682186
+  10        21.025       22.3122      21.29535      21.41793    0.39542349
Difference at 98.0% confidence
	1.82035% +/- 1.74892%

2) num_threads = 16
     N           Min           Max        Median           Avg        Stddev
x  10       20.8786       21.3967       21.1566      21.14441    0.15490983
+  10       21.3992       21.9437      21.46235      21.58724     0.2089425
Difference at 98.0% confidence
	2.09431% +/- 0.992732%

3) num_threads = 32
     N           Min           Max        Median           Avg        Stddev
x  10       21.1329       21.3726      21.33415       21.2893    0.08324195
+  10       21.5692       21.8966       21.6441      21.65679   0.093430003
Difference at 98.0% confidence
	1.72617% +/- 0.474343%


16 vcpu guest
---------------
1) num_threads = 8
     N           Min           Max        Median           Avg        Stddev
x  10       23.5314       25.6118      24.76145      24.64517    0.74856264
+  10       22.2675       26.6204       22.9131      23.50554      1.345386
No difference proven at 98.0% confidence

2) num_threads = 16
     N           Min           Max        Median           Avg        Stddev
x  10       12.0095       12.2305      12.15575      12.13926   0.070872722
+  10        11.413       11.6986       11.4817        11.493   0.080007819
Difference at 98.0% confidence
	-5.32372% +/- 0.710561%

3) num_threads = 32
     N           Min           Max        Median           Avg        Stddev
x  10       12.1378       12.3567      12.21675      12.22703     0.0670695
+  10        11.573       11.7438       11.6306      11.64905   0.062780221
Difference at 98.0% confidence
	-4.72707% +/- 0.606349%


32 vcpu guest
---------------
1) num_threads = 8
     N           Min           Max        Median           Avg        Stddev
x  10       30.5602       41.4756      37.45155      36.43752     3.5490215
+  10       21.1183       49.2599      22.60845      29.61119     11.269393
No difference proven at 98.0% confidence

2) num_threads = 16
     N           Min           Max        Median           Avg        Stddev
x  10       12.2556       12.9023       12.4968      12.55764    0.25330459
+  10       11.7627       11.9959       11.8419      11.86256   0.088563903
Difference at 98.0% confidence
	-5.53512% +/- 1.72448%

3) num_threads = 32
     N           Min           Max        Median           Avg        Stddev
x  10       16.8751       17.0756      16.97335      16.96765   0.063197191
+  10       21.3763       21.8111       21.6799      21.66438    0.13059888
Difference at 98.0% confidence
	27.6805% +/- 0.690056%


To summarise,
with 32 vcpu guest with nr thread=32 we get around 27% improvement. In 
very low/undercommitted systems we may see very small improvement or 
small acceptable degradation ( which it deserves).

(IMO with more overcommit/contention, we can get more than 15% for the 
benchmarks and we do ).

  Please let me know if you have any suggestions for try.
(Currently my PLE machine lease is expired, it may take some time to 
comeback :()

  Ingo, Avi ?


>
> Avi,
> Can patch series go ahead for inclusion into tree with following
> reasons:
>
> The patch series brings fairness with ticketlock ( hence the
> predictability, since during contention, vcpu trying
> to acqire lock is sure that it gets its turn in less than total number
> of vcpus conntending for lock), which is very much desired irrespective
> of its low benefit/degradation (if any) in low contention scenarios.
>
> Ofcourse ticketlocks had undesirable effect of exploding LHP problem,
> and the series addresses with improvement in scheduling and sleeping
> instead of burning cpu time.
>
> Finally a less famous one, it brings almost PLE equivalent capabilty to
> all the non PLE hardware (TBH I always preferred my experiment kernel to
> be compiled in my pv guest that saves more than 30 min of time for each
> run).


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 02:59:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMX-0001je-ML; Sun, 20 May 2012 02:59:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUFtO-0000cV-Hz
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:26:14 +0000
Received: from [85.158.143.35:52518] by server-2.bemta-4.messagelabs.com id
	81/50-06146-55D32BF4; Tue, 15 May 2012 11:26:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337081171!4364805!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22197 invoked from network); 15 May 2012 11:26:12 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 11:26:12 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 12:26:09 +0100
Message-Id: <4FB2598D0200007800083C55@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 12:26:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ingo Molnar" <mingo@kernel.org>
References: <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
	<4FA7D3F7.9080005@linux.vnet.ibm.com> <4FA7D50D.1020209@redhat.com>
	<4FA7E06E.20304@linux.vnet.ibm.com> <4FA7E1C8.7010509@redhat.com>
	<20120507172527.GA5357@gmail.com>
In-Reply-To: <20120507172527.GA5357@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>, Greg Kroah-Hartman <gregkh@suse.de>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	LKML <linux-kernel@vger.kernel.org>, Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 19:25, Ingo Molnar <mingo@kernel.org> wrote:

(apologies for the late reply, the mail just now made it to my inbox
via xen-devel)

> I'll hold off on the whole thing - frankly, we don't want this 
> kind of Xen-only complexity. If KVM can make use of PLE then Xen 
> ought to be able to do it as well.

It does - for fully virtualized guests. For para-virtualized ones,
it can't (as the hardware feature is an extension to VMX/SVM).

> If both Xen and KVM makes good use of it then that's a different 
> matter.

I saw in a later reply that you're now tending towards trying it
out at least - thanks.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 02:59:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMX-0001je-ML; Sun, 20 May 2012 02:59:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SUFtO-0000cV-Hz
	for xen-devel@lists.xensource.com; Tue, 15 May 2012 11:26:14 +0000
Received: from [85.158.143.35:52518] by server-2.bemta-4.messagelabs.com id
	81/50-06146-55D32BF4; Tue, 15 May 2012 11:26:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337081171!4364805!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1NDM=\n
X-StarScan-Version: 6.5.7; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22197 invoked from network); 15 May 2012 11:26:12 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 15 May 2012 11:26:12 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 15 May 2012 12:26:09 +0100
Message-Id: <4FB2598D0200007800083C55@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 15 May 2012 12:26:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ingo Molnar" <mingo@kernel.org>
References: <4FA7BABA.4040700@redhat.com>
	<4FA7CC05.50808@linux.vnet.ibm.com> <4FA7CCA2.4030408@redhat.com>
	<4FA7D06B.60005@linux.vnet.ibm.com>
	<20120507134611.GB5533@linux.vnet.ibm.com>
	<4FA7D2E5.1020607@redhat.com>
	<4FA7D3F7.9080005@linux.vnet.ibm.com> <4FA7D50D.1020209@redhat.com>
	<4FA7E06E.20304@linux.vnet.ibm.com> <4FA7E1C8.7010509@redhat.com>
	<20120507172527.GA5357@gmail.com>
In-Reply-To: <20120507172527.GA5357@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, X86 <x86@kernel.org>,
	Gleb Natapov <gleb@redhat.com>, linux-doc@vger.kernel.org,
	Virtualization <virtualization@lists.linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen Devel <xen-devel@lists.xensource.com>, KVM <kvm@vger.kernel.org>,
	Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>, Greg Kroah-Hartman <gregkh@suse.de>,
	Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
	LKML <linux-kernel@vger.kernel.org>, Attilio Rao <attilio.rao@citrix.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Stephan Diestelhorst <stephan.diestelhorst@amd.com>
Subject: Re: [Xen-devel] [PATCH RFC V8 0/17] Paravirtualized ticket spinlocks
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 07.05.12 at 19:25, Ingo Molnar <mingo@kernel.org> wrote:

(apologies for the late reply, the mail just now made it to my inbox
via xen-devel)

> I'll hold off on the whole thing - frankly, we don't want this 
> kind of Xen-only complexity. If KVM can make use of PLE then Xen 
> ought to be able to do it as well.

It does - for fully virtualized guests. For para-virtualized ones,
it can't (as the hardware feature is an extension to VMX/SVM).

> If both Xen and KVM makes good use of it then that's a different 
> matter.

I saw in a later reply that you're now tending towards trying it
out at least - thanks.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 02:59:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMY-0001js-Ku; Sun, 20 May 2012 02:59:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <post4pavan@gmail.com>) id 1SVN0d-0007zZ-8x
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:14:19 +0000
Received: from [85.158.143.35:54141] by server-2.bemta-4.messagelabs.com id
	68/32-12211-A2B46BF4; Fri, 18 May 2012 13:14:18 +0000
X-Env-Sender: post4pavan@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337346855!12891466!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5563 invoked from network); 18 May 2012 13:14:17 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:14:17 -0000
Received: by dadv2 with SMTP id v2so4059834dad.32
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 06:14:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=wxMPVzLjGkl3oIOk13L0tOHk/kXvxBTSQpfI+UUtmGM=;
	b=YXvUjFlQI/E2pdCaX5VglxpJWN84SkTrbutwdgPw1JaDhY94FPvOXO0xLNcG1a5jFO
	UWlN8IZpve35sDQqNPXhNwzpB64bb9WJPYdiVq3TaXbUwwhfyVujRXszTMdTJgKyTsZm
	voHQ0q/DXk/8YcborsEiVRQTgnqrDofsdSDW9cAwWq+pDngk2/S6SsHp1/mf4nDZZg+y
	vrCqajCbeFbygYPJjXpgqF6m4J7Djz3UM9eysfg9B4yCsxT6YLm44cnpkmCpTJGv+wPG
	xh11O9s73BFKc4KH7ymp/CzLGD1zcPylWMKg2KDVvdF7wZ9O183/uEM0Lap1ORGqkQvL
	8bEA==
MIME-Version: 1.0
Received: by 10.50.17.134 with SMTP id o6mr482938igd.28.1337346855230; Fri, 18
	May 2012 06:14:15 -0700 (PDT)
Received: by 10.42.241.131 with HTTP; Fri, 18 May 2012 06:14:15 -0700 (PDT)
In-Reply-To: <1337346497.22316.114.camel@zakaz.uk.xensource.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
	<1337346497.22316.114.camel@zakaz.uk.xensource.com>
Date: Fri, 18 May 2012 18:44:15 +0530
Message-ID: <CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
From: Krishna Pavan <post4pavan@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Xen <xen-arm@lists.xensource.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
	Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4415940382390986366=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4415940382390986366==
Content-Type: multipart/alternative; boundary=14dae93404993f5c5904c04f5428

--14dae93404993f5c5904c04f5428
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Sorry,

I am interested to learn a bit about Cortex-A8 only, where, I am aware of
the PV port.

I have just learn from Seehwan-Yoo, through Xen-ARM that he was successful
with PV port with dom 0 & dom U running successfully.

With last source code release is for run of Xen-ARM with dom 0 on FME, as
an enthusiast, I would like to ask the progress of Xen-ARM.


--=20
=E2=9C=89 Thanks & Regards :: Krishna Pavan =E2=9C=8D

--14dae93404993f5c5904c04f5428
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Sorry, <br><br>I am interested to learn a bit about Cortex=
-A8 only, where, I am aware of the PV port.<br><br>I have just learn from S=
eehwan-Yoo, through Xen-ARM that he was successful with PV port with dom 0 =
&amp; dom U running successfully.<br>
<br>With last source code release is for run of Xen-ARM with dom 0 on FME,=
=20
as an enthusiast, I would like to ask the progress of Xen-ARM.<br>
<br><br>-- <br><div dir=3D"ltr"><font style=3D"color:rgb(0,0,102)" size=3D"=
4">=E2=9C=89</font><font style=3D"color:rgb(0,0,102)" size=3D"2"><span styl=
e=3D"font-family:comic sans ms,sans-serif"> Thanks &amp; Regards :: Krishna=
 Pavan</span></font> <font size=3D"4"><span style=3D"color:rgb(0,0,102)">=
=E2=9C=8D</span></font></div>
<br>
</div>

--14dae93404993f5c5904c04f5428--


--===============4415940382390986366==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4415940382390986366==--


From xen-devel-bounces@lists.xen.org Sun May 20 02:59:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 02:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwMY-0001js-Ku; Sun, 20 May 2012 02:59:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <post4pavan@gmail.com>) id 1SVN0d-0007zZ-8x
	for xen-devel@lists.xen.org; Fri, 18 May 2012 13:14:19 +0000
Received: from [85.158.143.35:54141] by server-2.bemta-4.messagelabs.com id
	68/32-12211-A2B46BF4; Fri, 18 May 2012 13:14:18 +0000
X-Env-Sender: post4pavan@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337346855!12891466!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5563 invoked from network); 18 May 2012 13:14:17 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	18 May 2012 13:14:17 -0000
Received: by dadv2 with SMTP id v2so4059834dad.32
	for <xen-devel@lists.xen.org>; Fri, 18 May 2012 06:14:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=wxMPVzLjGkl3oIOk13L0tOHk/kXvxBTSQpfI+UUtmGM=;
	b=YXvUjFlQI/E2pdCaX5VglxpJWN84SkTrbutwdgPw1JaDhY94FPvOXO0xLNcG1a5jFO
	UWlN8IZpve35sDQqNPXhNwzpB64bb9WJPYdiVq3TaXbUwwhfyVujRXszTMdTJgKyTsZm
	voHQ0q/DXk/8YcborsEiVRQTgnqrDofsdSDW9cAwWq+pDngk2/S6SsHp1/mf4nDZZg+y
	vrCqajCbeFbygYPJjXpgqF6m4J7Djz3UM9eysfg9B4yCsxT6YLm44cnpkmCpTJGv+wPG
	xh11O9s73BFKc4KH7ymp/CzLGD1zcPylWMKg2KDVvdF7wZ9O183/uEM0Lap1ORGqkQvL
	8bEA==
MIME-Version: 1.0
Received: by 10.50.17.134 with SMTP id o6mr482938igd.28.1337346855230; Fri, 18
	May 2012 06:14:15 -0700 (PDT)
Received: by 10.42.241.131 with HTTP; Fri, 18 May 2012 06:14:15 -0700 (PDT)
In-Reply-To: <1337346497.22316.114.camel@zakaz.uk.xensource.com>
References: <CAOZ3Y4N8oWqcsEn31gJSiNRL2q9aO=YK=_ywZ9EUSU+r-7miFw@mail.gmail.com>
	<1337346497.22316.114.camel@zakaz.uk.xensource.com>
Date: Fri, 18 May 2012 18:44:15 +0530
Message-ID: <CAOZ3Y4OFp5ectdj1f5TXYoOtPWa3SSv8=MvhyMeQjbC9aXTD1A@mail.gmail.com>
From: Krishna Pavan <post4pavan@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
X-Mailman-Approved-At: Sun, 20 May 2012 02:59:16 +0000
Cc: Xen <xen-arm@lists.xensource.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Regarding Xen-ARM for Cortex-A8 on Fast
	Model Emulators [FME]
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4415940382390986366=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4415940382390986366==
Content-Type: multipart/alternative; boundary=14dae93404993f5c5904c04f5428

--14dae93404993f5c5904c04f5428
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Sorry,

I am interested to learn a bit about Cortex-A8 only, where, I am aware of
the PV port.

I have just learn from Seehwan-Yoo, through Xen-ARM that he was successful
with PV port with dom 0 & dom U running successfully.

With last source code release is for run of Xen-ARM with dom 0 on FME, as
an enthusiast, I would like to ask the progress of Xen-ARM.


--=20
=E2=9C=89 Thanks & Regards :: Krishna Pavan =E2=9C=8D

--14dae93404993f5c5904c04f5428
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Sorry, <br><br>I am interested to learn a bit about Cortex=
-A8 only, where, I am aware of the PV port.<br><br>I have just learn from S=
eehwan-Yoo, through Xen-ARM that he was successful with PV port with dom 0 =
&amp; dom U running successfully.<br>
<br>With last source code release is for run of Xen-ARM with dom 0 on FME,=
=20
as an enthusiast, I would like to ask the progress of Xen-ARM.<br>
<br><br>-- <br><div dir=3D"ltr"><font style=3D"color:rgb(0,0,102)" size=3D"=
4">=E2=9C=89</font><font style=3D"color:rgb(0,0,102)" size=3D"2"><span styl=
e=3D"font-family:comic sans ms,sans-serif"> Thanks &amp; Regards :: Krishna=
 Pavan</span></font> <font size=3D"4"><span style=3D"color:rgb(0,0,102)">=
=E2=9C=8D</span></font></div>
<br>
</div>

--14dae93404993f5c5904c04f5428--


--===============4415940382390986366==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4415940382390986366==--


From xen-devel-bounces@lists.xen.org Sun May 20 03:01:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 03:01:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwOT-0002Im-Kz; Sun, 20 May 2012 03:01:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVwOS-0002HU-0F
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 03:01:16 +0000
Received: from [85.158.138.51:19345] by server-1.bemta-3.messagelabs.com id
	5A/6D-11491-B7E58BF4; Sun, 20 May 2012 03:01:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337482874!28072631!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8289 invoked from network); 20 May 2012 03:01:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 03:01:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,624,1330905600"; d="scan'208";a="12563045"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 03:01:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 04:01:13 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVwOP-0004B5-L1;
	Sun, 20 May 2012 03:01:13 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVwOO-0003pt-Vm;
	Sun, 20 May 2012 04:01:13 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12938-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 04:01:13 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12938: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12938 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12938/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 9 guest-start.2 fail in 12937 REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12937
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12937 pass in 12938

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 03:01:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 03:01:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SVwOT-0002Im-Kz; Sun, 20 May 2012 03:01:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SVwOS-0002HU-0F
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 03:01:16 +0000
Received: from [85.158.138.51:19345] by server-1.bemta-3.messagelabs.com id
	5A/6D-11491-B7E58BF4; Sun, 20 May 2012 03:01:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337482874!28072631!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8289 invoked from network); 20 May 2012 03:01:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 03:01:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,624,1330905600"; d="scan'208";a="12563045"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 03:01:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 04:01:13 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SVwOP-0004B5-L1;
	Sun, 20 May 2012 03:01:13 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SVwOO-0003pt-Vm;
	Sun, 20 May 2012 04:01:13 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12938-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 04:01:13 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12938: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12938 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12938/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 9 guest-start.2 fail in 12937 REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12937
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12937 pass in 12938

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 06:53:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 06:53:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW00h-00075A-Qy; Sun, 20 May 2012 06:52:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SW00g-000755-Pe
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 06:52:58 +0000
Received: from [85.158.139.83:3500] by server-11.bemta-5.messagelabs.com id
	16/05-12959-9C498BF4; Sun, 20 May 2012 06:52:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337496777!29238066!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10869 invoked from network); 20 May 2012 06:52:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 06:52:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,624,1330905600"; d="scan'208";a="12563572"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 06:52:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 07:52:56 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SW00e-0005R6-OZ;
	Sun, 20 May 2012 06:52:56 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SW00e-0000Wo-Hs;
	Sun, 20 May 2012 07:52:56 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12939-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 07:52:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12939: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12939 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12939/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12934
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12925

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  592d15bd4d5e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 06:53:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 06:53:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW00h-00075A-Qy; Sun, 20 May 2012 06:52:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SW00g-000755-Pe
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 06:52:58 +0000
Received: from [85.158.139.83:3500] by server-11.bemta-5.messagelabs.com id
	16/05-12959-9C498BF4; Sun, 20 May 2012 06:52:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337496777!29238066!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10869 invoked from network); 20 May 2012 06:52:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 06:52:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,624,1330905600"; d="scan'208";a="12563572"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 06:52:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 07:52:56 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SW00e-0005R6-OZ;
	Sun, 20 May 2012 06:52:56 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SW00e-0000Wo-Hs;
	Sun, 20 May 2012 07:52:56 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12939-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 07:52:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12939: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12939 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12939/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12934
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12925

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  592d15bd4d5e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 08:02:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 08:02:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW156-0008RQ-Cn; Sun, 20 May 2012 08:01:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SW154-0008RL-NF
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 08:01:34 +0000
Received: from [85.158.143.99:29372] by server-2.bemta-4.messagelabs.com id
	FC/1C-12211-ED4A8BF4; Sun, 20 May 2012 08:01:34 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337500893!23536266!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6447 invoked from network); 20 May 2012 08:01:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 08:01:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,624,1330905600"; d="scan'208";a="12563792"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 08:01:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 09:01:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SW152-0005qB-Hy;
	Sun, 20 May 2012 08:01:32 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SW152-0000CY-Et;
	Sun, 20 May 2012 09:01:32 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12940-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 09:01:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12940: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12940 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12940/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64 10 guest-saverestore.2  fail pass in 12938
 test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12938 pass in 12940

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12938 blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12938 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 08:02:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 08:02:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW156-0008RQ-Cn; Sun, 20 May 2012 08:01:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SW154-0008RL-NF
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 08:01:34 +0000
Received: from [85.158.143.99:29372] by server-2.bemta-4.messagelabs.com id
	FC/1C-12211-ED4A8BF4; Sun, 20 May 2012 08:01:34 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337500893!23536266!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6447 invoked from network); 20 May 2012 08:01:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 08:01:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,624,1330905600"; d="scan'208";a="12563792"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 08:01:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 09:01:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SW152-0005qB-Hy;
	Sun, 20 May 2012 08:01:32 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SW152-0000CY-Et;
	Sun, 20 May 2012 09:01:32 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12940-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 09:01:32 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12940: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12940 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12940/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64 10 guest-saverestore.2  fail pass in 12938
 test-amd64-i386-qemuu-rhel6hvm-amd 7 redhat-install fail in 12938 pass in 12940

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12938 blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12938 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 11:55:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 11:55:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW4iR-0001d1-BR; Sun, 20 May 2012 11:54:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@mimuw.edu.pl>) id 1SW4iP-0001cw-Bj
	for xen-devel@lists.xen.org; Sun, 20 May 2012 11:54:25 +0000
Received: from [85.158.143.99:34723] by server-1.bemta-4.messagelabs.com id
	BD/31-00342-07BD8BF4; Sun, 20 May 2012 11:54:24 +0000
X-Env-Sender: marmarek@mimuw.edu.pl
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337514863!28540575!1
X-Originating-IP: [193.0.96.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3624 invoked from network); 20 May 2012 11:54:24 -0000
Received: from mail.mimuw.edu.pl (HELO mail.mimuw.edu.pl) (193.0.96.6)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 20 May 2012 11:54:24 -0000
Received: from localhost (localhost [127.0.0.1] ident=amavis)
	by duch.mimuw.edu.pl (Postfix) with ESMTP id 5F3E795F;
	Sun, 20 May 2012 13:54:22 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
Received: by duch.mimuw.edu.pl (Postfix, from userid 1575)
	id 66AD995D; Sun, 20 May 2012 13:54:21 +0200 (CEST)
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200
Organization: Invisible Things Lab
To: xen-devel@lists.xen.org
Message-Id: <20120520115421.66AD995D@duch.mimuw.edu.pl>
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Netfront driver can be also useful in dom0, eg when all NICs are assigned to
some domU (aka driver domain). Then using netback in domU and netfront in dom0
is the only way to get network access in dom0.

Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
---
 drivers/net/xen-netfront.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 698b905..e5a161a 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1953,9 +1953,6 @@ static int __init netif_init(void)
 	if (!xen_domain())
 		return -ENODEV;
 
-	if (xen_initial_domain())
-		return 0;
-
 	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
 
 	return xenbus_register_frontend(&netfront_driver);
-- 
1.7.4.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 11:55:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 11:55:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW4iR-0001d1-BR; Sun, 20 May 2012 11:54:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@mimuw.edu.pl>) id 1SW4iP-0001cw-Bj
	for xen-devel@lists.xen.org; Sun, 20 May 2012 11:54:25 +0000
Received: from [85.158.143.99:34723] by server-1.bemta-4.messagelabs.com id
	BD/31-00342-07BD8BF4; Sun, 20 May 2012 11:54:24 +0000
X-Env-Sender: marmarek@mimuw.edu.pl
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337514863!28540575!1
X-Originating-IP: [193.0.96.6]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3624 invoked from network); 20 May 2012 11:54:24 -0000
Received: from mail.mimuw.edu.pl (HELO mail.mimuw.edu.pl) (193.0.96.6)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 20 May 2012 11:54:24 -0000
Received: from localhost (localhost [127.0.0.1] ident=amavis)
	by duch.mimuw.edu.pl (Postfix) with ESMTP id 5F3E795F;
	Sun, 20 May 2012 13:54:22 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
Received: by duch.mimuw.edu.pl (Postfix, from userid 1575)
	id 66AD995D; Sun, 20 May 2012 13:54:21 +0200 (CEST)
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200
Organization: Invisible Things Lab
To: xen-devel@lists.xen.org
Message-Id: <20120520115421.66AD995D@duch.mimuw.edu.pl>
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Netfront driver can be also useful in dom0, eg when all NICs are assigned to
some domU (aka driver domain). Then using netback in domU and netfront in dom0
is the only way to get network access in dom0.

Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
---
 drivers/net/xen-netfront.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 698b905..e5a161a 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1953,9 +1953,6 @@ static int __init netif_init(void)
 	if (!xen_domain())
 		return -ENODEV;
 
-	if (xen_initial_domain())
-		return 0;
-
 	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
 
 	return xenbus_register_frontend(&netfront_driver);
-- 
1.7.4.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 14:38:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 14:38:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW7Fw-0002Wz-Np; Sun, 20 May 2012 14:37:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SW7Fv-0002Wu-DV
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 14:37:11 +0000
Received: from [85.158.143.99:15499] by server-3.bemta-4.messagelabs.com id
	90/29-05853-69109BF4; Sun, 20 May 2012 14:37:10 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337524629!21347872!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3211 invoked from network); 20 May 2012 14:37:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 14:37:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,625,1330905600"; d="scan'208";a="12565174"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 14:37:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 15:37:09 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SW7Fs-0008CT-RK;
	Sun, 20 May 2012 14:37:08 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SW7Fo-0004kl-So;
	Sun, 20 May 2012 15:37:07 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12941-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 15:37:04 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12941: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12941 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12941/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 14:38:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 14:38:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW7Fw-0002Wz-Np; Sun, 20 May 2012 14:37:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SW7Fv-0002Wu-DV
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 14:37:11 +0000
Received: from [85.158.143.99:15499] by server-3.bemta-4.messagelabs.com id
	90/29-05853-69109BF4; Sun, 20 May 2012 14:37:10 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337524629!21347872!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3211 invoked from network); 20 May 2012 14:37:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 14:37:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,625,1330905600"; d="scan'208";a="12565174"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 14:37:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 15:37:09 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SW7Fs-0008CT-RK;
	Sun, 20 May 2012 14:37:08 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SW7Fo-0004kl-So;
	Sun, 20 May 2012 15:37:07 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12941-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 15:37:04 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12941: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12941 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12941/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 16:44:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 16:44:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW9EG-00045f-NA; Sun, 20 May 2012 16:43:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SW9EF-00045a-Vx
	for xen-devel@lists.xen.org; Sun, 20 May 2012 16:43:36 +0000
Received: from [85.158.143.99:14070] by server-3.bemta-4.messagelabs.com id
	64/65-05853-73F19BF4; Sun, 20 May 2012 16:43:35 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337532212!28918356!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22021 invoked from network); 20 May 2012 16:43:33 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 16:43:33 -0000
Received: by yenm4 with SMTP id m4so4613085yen.32
	for <xen-devel@lists.xen.org>; Sun, 20 May 2012 09:43:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject:references
	:in-reply-to:x-forwarded-message-id:content-type;
	bh=mle3afg6wtlmnW/a1nM9K1W5fD0fdApWobwWtR8PY00=;
	b=BVs3Wm9zXNfVSDIG0prbWuMy7Vi7iB1ldoEaeD83msMdMJnxGZ9GtjgwrSjzyYWzL8
	CTE6ZIkgn2D4T3WwkkxZ0zB1MHo5zBjydt5LH2+kHGYPKye9PH2uUn9QagaW2LMFA4NN
	fBdY9ei1E5mY3Ev0b+qLK8e/+J7wW0U3FV1sKFX5RFEcgYsf5pqFGX96EvH1iZkP5DJG
	Ds2bRHAc7oOODQP4aAw90yWLJ8dRJK0bqIUwfv6gWxZTxHII40Wx452z8OGte5Wy24GI
	WMXw51kPPciAsVKaOkvNzmXHQBwD/DePkPloXVsARH/N9Y55x+NEelMyULV9B+Edyuq8
	nToQ==
Received: by 10.101.134.6 with SMTP id l6mr6018463ann.21.1337532212324;
	Sun, 20 May 2012 09:43:32 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id u80sm65460280yhj.10.2012.05.20.09.43.31
	(version=TLSv1/SSLv3 cipher=OTHER);
	Sun, 20 May 2012 09:43:31 -0700 (PDT)
Message-ID: <4FB91F2A.4080304@gmail.com>
Date: Sun, 20 May 2012 12:43:22 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <4FB91D44.8010808@gmail.com>
In-Reply-To: <4FB91D44.8010808@gmail.com>
X-Forwarded-Message-Id: <4FB91D44.8010808@gmail.com>
Subject: [Xen-devel] libxl.c ERROR during compiling Xen 4.2-Unstable
 revision 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1395016725076644693=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============1395016725076644693==
Content-Type: multipart/alternative;
 boundary="------------050008050705040100090001"

This is a multi-part message in MIME format.
--------------050008050705040100090001
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit


  I have had Xen 4.2-Unstable compiled a week or so ago and it all went 
fine and running, but i forget what revision i compiled now.

When i ran the *xl create /etc/xen/win7.cfg* to create a VM, i got an 
error about libxl and running "*sudo xl list*" shows the newly created 
VM, SO i just ignored that error for now. That error message was:

*libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu weight 
out of range, valid values are within range from 1 to 65535
*
---------------------------------- ---------------------------------- 
----------------------------------

SO, I noticed on the xen-unstable.hg tree that there have been a lot of 
updates to the libxl lately SO just out of curiosity, i wanted to get 
the latest revision 25374 of xen-unstable as of today 5/20/2012, and 
compile it. BUT, i cannot compile Xen anymore as the compile stops with 
warnings and error messages.

Upon scrolling up in the terminal window, i noticed these warning or 
error messages:

*node-select.c:57:6: warning: function declaration isn't a prototype 
[-Wstrict-prototypes]
node-select.c: In function 'vchan_wr':
node-select.c:60:2: warning: ISO C90 forbids mixed declarations and code 
[-Wdeclaration-after-statement]
node-select.c: At top level:
node-select.c:71:6: warning: function declaration isn't a prototype 
[-Wstrict-prototypes]
node-select.c: In function 'stdout_wr':
node-select.c:74:2: warning: ISO C90 forbids mixed declarations and code 
[-Wdeclaration-after-statement]*

*The error log from compiling the libSDL test is:
/tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or directory*

*../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5: 
warning: 'val' may be used uninitialized in this function [-Wuninitialized]*


_I also get like a dozen warnings about this:_
*../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is deprecated 
use xenstore.h instead [-Wcpp]*


_AND finally the compilations stops with these messages:_
*libxl.c: In function 'libxl_primary_console_exec':
libxl.c:1233:9: error: case value '4294967295' not in enumerated type 
'libxl_domain_type' [-Werror=switch]

cc1: all warnings being treated as errors
make[3]: *** [libxl.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory 
`/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools/libxl'
make[2]: *** [subdir-install-libxl] Error 2
make[2]: Leaving directory 
`/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory 
`/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'
make: *** [install-tools] Error 2*

---------------------------------- ---------------------------------- 
----------------------------------

All of these messages appear at different times during compile, but 
these where the ones i found thru a quick glance at the terminal window 
output. I have also tried to compile the latest Xen 4.2 THREE different 
times now, and in all cases it seems to end with a similar error about 
*libxl.c*.

Each time i tried to compile, i booted into non-Xen kernel, ran "*sudo 
make uninstall*" of my current Xen 4.2-unstable and ran "*sudo dpkg -r 
xen-upstream-4.2-unstable*", AND twice now i cloned a fresh copy of the 
xen-unstable.hg before compile.



--------------050008050705040100090001
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    &nbsp;I have had Xen 4.2-Unstable compiled a week or so ago and it all
    went fine and running, but i forget what revision i compiled now.<br>
    <br>
    When i ran the <b>xl create /etc/xen/win7.cfg</b> to create a VM, i
    got an error about libxl and running "<b>sudo xl list</b>" shows the
    newly created VM, SO i just ignored that error for now. That error
    message was:<br>
    <br>
    <b>libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu
      weight out of range, valid values are within range from 1 to 65535<br>
    </b><br>
    ----------------------------------
    ----------------------------------
    ----------------------------------<br>
    <br>
    SO, I noticed on the xen-unstable.hg tree that there have been a lot
    of updates to the libxl lately SO just out of curiosity, i wanted to
    get the latest revision 25374 of xen-unstable as of today 5/20/2012,
    and compile it. BUT, i cannot compile Xen anymore as the compile
    stops with warnings and error messages. <br>
    <br>
    Upon scrolling up in the terminal window, i noticed these warning or
    error messages:<br>
    <br>
    <b>node-select.c:57:6: warning: function declaration isn&#8217;t a
      prototype [-Wstrict-prototypes]<br>
      node-select.c: In function &#8216;vchan_wr&#8217;:<br>
      node-select.c:60:2: warning: ISO C90 forbids mixed declarations
      and code [-Wdeclaration-after-statement]<br>
      node-select.c: At top level:<br>
      node-select.c:71:6: warning: function declaration isn&#8217;t a
      prototype [-Wstrict-prototypes]<br>
      node-select.c: In function &#8216;stdout_wr&#8217;:<br>
      node-select.c:74:2: warning: ISO C90 forbids mixed declarations
      and code [-Wdeclaration-after-statement]</b><br>
    <br>
    <b>The error log from compiling the libSDL test is: <br>
      /tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or
      directory</b><br>
    <br>
    <b>../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5:


      warning: &#8216;val&#8217; may be used uninitialized in this function
      [-Wuninitialized]</b><br>
    <br>
    <br>
    <u>I also get like a dozen warnings about this:</u><br>
    <b>../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is
      deprecated use xenstore.h instead [-Wcpp]</b><br>
    <br>
    <br>
    <u>AND finally the compilations stops with these messages:</u><br>
    <b>libxl.c: In function &#8216;libxl_primary_console_exec&#8217;:<br>
      libxl.c:1233:9: error: case value &#8216;4294967295&#8217; not in enumerated
      type &#8216;libxl_domain_type&#8217; [-Werror=switch]<br>
      <br>
      cc1: all warnings being treated as errors<br>
      make[3]: *** [libxl.o] Error 1<br>
      make[3]: *** Waiting for unfinished jobs....<br>
      make[3]: Leaving directory
      `/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools/libxl'<br>
      make[2]: *** [subdir-install-libxl] Error 2<br>
      make[2]: Leaving directory
      `/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'<br>
      make[1]: *** [subdirs-install] Error 2<br>
      make[1]: Leaving directory
      `/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'<br>
      make: *** [install-tools] Error 2</b><br>
    <br>
    ----------------------------------
    ----------------------------------
    ----------------------------------<br>
    <br>
    All of these messages appear at different times during compile, but
    these where the ones i found thru a quick glance at the terminal
    window output. I have also tried to compile the latest Xen 4.2 THREE
    different times now, and in all cases it seems to end with a similar
    error about <b>libxl.c</b>.<br>
    <br>
    Each time i tried to compile, i booted into non-Xen kernel, ran "<b>sudo


      make uninstall</b>" of my current Xen 4.2-unstable and ran "<b>sudo


      dpkg -r xen-upstream-4.2-unstable</b>", AND twice now i cloned a
    fresh copy of the xen-unstable.hg before compile.<br>
    <br>
    <br>
  </body>
</html>

--------------050008050705040100090001--


--===============1395016725076644693==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1395016725076644693==--


From xen-devel-bounces@lists.xen.org Sun May 20 16:44:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 16:44:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SW9EG-00045f-NA; Sun, 20 May 2012 16:43:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SW9EF-00045a-Vx
	for xen-devel@lists.xen.org; Sun, 20 May 2012 16:43:36 +0000
Received: from [85.158.143.99:14070] by server-3.bemta-4.messagelabs.com id
	64/65-05853-73F19BF4; Sun, 20 May 2012 16:43:35 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337532212!28918356!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22021 invoked from network); 20 May 2012 16:43:33 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 16:43:33 -0000
Received: by yenm4 with SMTP id m4so4613085yen.32
	for <xen-devel@lists.xen.org>; Sun, 20 May 2012 09:43:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject:references
	:in-reply-to:x-forwarded-message-id:content-type;
	bh=mle3afg6wtlmnW/a1nM9K1W5fD0fdApWobwWtR8PY00=;
	b=BVs3Wm9zXNfVSDIG0prbWuMy7Vi7iB1ldoEaeD83msMdMJnxGZ9GtjgwrSjzyYWzL8
	CTE6ZIkgn2D4T3WwkkxZ0zB1MHo5zBjydt5LH2+kHGYPKye9PH2uUn9QagaW2LMFA4NN
	fBdY9ei1E5mY3Ev0b+qLK8e/+J7wW0U3FV1sKFX5RFEcgYsf5pqFGX96EvH1iZkP5DJG
	Ds2bRHAc7oOODQP4aAw90yWLJ8dRJK0bqIUwfv6gWxZTxHII40Wx452z8OGte5Wy24GI
	WMXw51kPPciAsVKaOkvNzmXHQBwD/DePkPloXVsARH/N9Y55x+NEelMyULV9B+Edyuq8
	nToQ==
Received: by 10.101.134.6 with SMTP id l6mr6018463ann.21.1337532212324;
	Sun, 20 May 2012 09:43:32 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id u80sm65460280yhj.10.2012.05.20.09.43.31
	(version=TLSv1/SSLv3 cipher=OTHER);
	Sun, 20 May 2012 09:43:31 -0700 (PDT)
Message-ID: <4FB91F2A.4080304@gmail.com>
Date: Sun, 20 May 2012 12:43:22 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <4FB91D44.8010808@gmail.com>
In-Reply-To: <4FB91D44.8010808@gmail.com>
X-Forwarded-Message-Id: <4FB91D44.8010808@gmail.com>
Subject: [Xen-devel] libxl.c ERROR during compiling Xen 4.2-Unstable
 revision 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1395016725076644693=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============1395016725076644693==
Content-Type: multipart/alternative;
 boundary="------------050008050705040100090001"

This is a multi-part message in MIME format.
--------------050008050705040100090001
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit


  I have had Xen 4.2-Unstable compiled a week or so ago and it all went 
fine and running, but i forget what revision i compiled now.

When i ran the *xl create /etc/xen/win7.cfg* to create a VM, i got an 
error about libxl and running "*sudo xl list*" shows the newly created 
VM, SO i just ignored that error for now. That error message was:

*libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu weight 
out of range, valid values are within range from 1 to 65535
*
---------------------------------- ---------------------------------- 
----------------------------------

SO, I noticed on the xen-unstable.hg tree that there have been a lot of 
updates to the libxl lately SO just out of curiosity, i wanted to get 
the latest revision 25374 of xen-unstable as of today 5/20/2012, and 
compile it. BUT, i cannot compile Xen anymore as the compile stops with 
warnings and error messages.

Upon scrolling up in the terminal window, i noticed these warning or 
error messages:

*node-select.c:57:6: warning: function declaration isn't a prototype 
[-Wstrict-prototypes]
node-select.c: In function 'vchan_wr':
node-select.c:60:2: warning: ISO C90 forbids mixed declarations and code 
[-Wdeclaration-after-statement]
node-select.c: At top level:
node-select.c:71:6: warning: function declaration isn't a prototype 
[-Wstrict-prototypes]
node-select.c: In function 'stdout_wr':
node-select.c:74:2: warning: ISO C90 forbids mixed declarations and code 
[-Wdeclaration-after-statement]*

*The error log from compiling the libSDL test is:
/tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or directory*

*../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5: 
warning: 'val' may be used uninitialized in this function [-Wuninitialized]*


_I also get like a dozen warnings about this:_
*../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is deprecated 
use xenstore.h instead [-Wcpp]*


_AND finally the compilations stops with these messages:_
*libxl.c: In function 'libxl_primary_console_exec':
libxl.c:1233:9: error: case value '4294967295' not in enumerated type 
'libxl_domain_type' [-Werror=switch]

cc1: all warnings being treated as errors
make[3]: *** [libxl.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory 
`/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools/libxl'
make[2]: *** [subdir-install-libxl] Error 2
make[2]: Leaving directory 
`/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory 
`/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'
make: *** [install-tools] Error 2*

---------------------------------- ---------------------------------- 
----------------------------------

All of these messages appear at different times during compile, but 
these where the ones i found thru a quick glance at the terminal window 
output. I have also tried to compile the latest Xen 4.2 THREE different 
times now, and in all cases it seems to end with a similar error about 
*libxl.c*.

Each time i tried to compile, i booted into non-Xen kernel, ran "*sudo 
make uninstall*" of my current Xen 4.2-unstable and ran "*sudo dpkg -r 
xen-upstream-4.2-unstable*", AND twice now i cloned a fresh copy of the 
xen-unstable.hg before compile.



--------------050008050705040100090001
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    &nbsp;I have had Xen 4.2-Unstable compiled a week or so ago and it all
    went fine and running, but i forget what revision i compiled now.<br>
    <br>
    When i ran the <b>xl create /etc/xen/win7.cfg</b> to create a VM, i
    got an error about libxl and running "<b>sudo xl list</b>" shows the
    newly created VM, SO i just ignored that error for now. That error
    message was:<br>
    <br>
    <b>libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu
      weight out of range, valid values are within range from 1 to 65535<br>
    </b><br>
    ----------------------------------
    ----------------------------------
    ----------------------------------<br>
    <br>
    SO, I noticed on the xen-unstable.hg tree that there have been a lot
    of updates to the libxl lately SO just out of curiosity, i wanted to
    get the latest revision 25374 of xen-unstable as of today 5/20/2012,
    and compile it. BUT, i cannot compile Xen anymore as the compile
    stops with warnings and error messages. <br>
    <br>
    Upon scrolling up in the terminal window, i noticed these warning or
    error messages:<br>
    <br>
    <b>node-select.c:57:6: warning: function declaration isn&#8217;t a
      prototype [-Wstrict-prototypes]<br>
      node-select.c: In function &#8216;vchan_wr&#8217;:<br>
      node-select.c:60:2: warning: ISO C90 forbids mixed declarations
      and code [-Wdeclaration-after-statement]<br>
      node-select.c: At top level:<br>
      node-select.c:71:6: warning: function declaration isn&#8217;t a
      prototype [-Wstrict-prototypes]<br>
      node-select.c: In function &#8216;stdout_wr&#8217;:<br>
      node-select.c:74:2: warning: ISO C90 forbids mixed declarations
      and code [-Wdeclaration-after-statement]</b><br>
    <br>
    <b>The error log from compiling the libSDL test is: <br>
      /tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or
      directory</b><br>
    <br>
    <b>../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5:


      warning: &#8216;val&#8217; may be used uninitialized in this function
      [-Wuninitialized]</b><br>
    <br>
    <br>
    <u>I also get like a dozen warnings about this:</u><br>
    <b>../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is
      deprecated use xenstore.h instead [-Wcpp]</b><br>
    <br>
    <br>
    <u>AND finally the compilations stops with these messages:</u><br>
    <b>libxl.c: In function &#8216;libxl_primary_console_exec&#8217;:<br>
      libxl.c:1233:9: error: case value &#8216;4294967295&#8217; not in enumerated
      type &#8216;libxl_domain_type&#8217; [-Werror=switch]<br>
      <br>
      cc1: all warnings being treated as errors<br>
      make[3]: *** [libxl.o] Error 1<br>
      make[3]: *** Waiting for unfinished jobs....<br>
      make[3]: Leaving directory
      `/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools/libxl'<br>
      make[2]: *** [subdir-install-libxl] Error 2<br>
      make[2]: Leaving directory
      `/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'<br>
      make[1]: *** [subdirs-install] Error 2<br>
      make[1]: Leaving directory
      `/home/xyber/Desktop/KERNEL_BUILD/Xen/xen-unstable.hg/tools'<br>
      make: *** [install-tools] Error 2</b><br>
    <br>
    ----------------------------------
    ----------------------------------
    ----------------------------------<br>
    <br>
    All of these messages appear at different times during compile, but
    these where the ones i found thru a quick glance at the terminal
    window output. I have also tried to compile the latest Xen 4.2 THREE
    different times now, and in all cases it seems to end with a similar
    error about <b>libxl.c</b>.<br>
    <br>
    Each time i tried to compile, i booted into non-Xen kernel, ran "<b>sudo


      make uninstall</b>" of my current Xen 4.2-unstable and ran "<b>sudo


      dpkg -r xen-upstream-4.2-unstable</b>", AND twice now i cloned a
    fresh copy of the xen-unstable.hg before compile.<br>
    <br>
    <br>
  </body>
</html>

--------------050008050705040100090001--


--===============1395016725076644693==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1395016725076644693==--


From xen-devel-bounces@lists.xen.org Sun May 20 18:25:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 18:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWAoW-0004wk-5z; Sun, 20 May 2012 18:25:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWAoU-0004we-8a
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 18:25:06 +0000
Received: from [85.158.138.51:43587] by server-11.bemta-3.messagelabs.com id
	87/4B-18894-10739BF4; Sun, 20 May 2012 18:25:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337538304!28024699!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17591 invoked from network); 20 May 2012 18:25:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 18:25:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,626,1330905600"; d="scan'208";a="12565871"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 18:25:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 19:25:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWAoR-0000wr-Jg;
	Sun, 20 May 2012 18:25:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWAoR-00077s-Av;
	Sun, 20 May 2012 19:25:03 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12942-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 19:25:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12942: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12942 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12942/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 18:25:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 18:25:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWAoW-0004wk-5z; Sun, 20 May 2012 18:25:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWAoU-0004we-8a
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 18:25:06 +0000
Received: from [85.158.138.51:43587] by server-11.bemta-3.messagelabs.com id
	87/4B-18894-10739BF4; Sun, 20 May 2012 18:25:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337538304!28024699!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17591 invoked from network); 20 May 2012 18:25:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 18:25:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,626,1330905600"; d="scan'208";a="12565871"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 18:25:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 19:25:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWAoR-0000wr-Jg;
	Sun, 20 May 2012 18:25:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWAoR-00077s-Av;
	Sun, 20 May 2012 19:25:03 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12942-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 19:25:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12942: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12942 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12942/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 22:20:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 22:20:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWETo-0006Iu-MU; Sun, 20 May 2012 22:20:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWETn-0006Ip-Ig
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 22:19:59 +0000
Received: from [193.109.254.147:48194] by server-4.bemta-14.messagelabs.com id
	F7/14-11570-E0E69BF4; Sun, 20 May 2012 22:19:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337552397!9359120!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30879 invoked from network); 20 May 2012 22:19:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 22:19:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,626,1330905600"; d="scan'208";a="12566565"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 22:19:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 23:19:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWETP-0002AG-T6;
	Sun, 20 May 2012 22:19:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWETP-0006RL-NV;
	Sun, 20 May 2012 23:19:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12943-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 23:19:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12943: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12943 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12943/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install      fail pass in 12942

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12942 like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12942 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop     fail in 12942 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 22:20:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 22:20:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWETo-0006Iu-MU; Sun, 20 May 2012 22:20:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWETn-0006Ip-Ig
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 22:19:59 +0000
Received: from [193.109.254.147:48194] by server-4.bemta-14.messagelabs.com id
	F7/14-11570-E0E69BF4; Sun, 20 May 2012 22:19:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337552397!9359120!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ0OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30879 invoked from network); 20 May 2012 22:19:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 22:19:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,626,1330905600"; d="scan'208";a="12566565"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	20 May 2012 22:19:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 20 May 2012 23:19:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWETP-0002AG-T6;
	Sun, 20 May 2012 22:19:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWETP-0006RL-NV;
	Sun, 20 May 2012 23:19:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12943-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 20 May 2012 23:19:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12943: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12943 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12943/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  7 redhat-install      fail pass in 12942

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12942 like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12942 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop     fail in 12942 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 22:31:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 22:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWEed-0006SC-W5; Sun, 20 May 2012 22:31:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWEeb-0006S2-Uk
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 22:31:10 +0000
Received: from [85.158.143.99:31652] by server-3.bemta-4.messagelabs.com id
	21/57-05853-DA079BF4; Sun, 20 May 2012 22:31:09 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337553066!28357663!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26027 invoked from network); 20 May 2012 22:31:08 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 22:31:08 -0000
Received: by pbcwz7 with SMTP id wz7so6866631pbc.30
	for <xen-devel@lists.xensource.com>;
	Sun, 20 May 2012 15:31:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=63qqDAvu53+NaRlztkavtgpPtTZm1C5e731oVTXktL0=;
	b=bo+2duAdlrK5GvCKPK1+wCPheVeb9h+vZxR3Va6YnW8mJG4Gj51QVuoT+CjwYvAus1
	j3v9O3Lxj+PI3U90lHVKFVLGD8Xvaub8oT/SBh7dCzyNFyclO8VUHweRAveXptJ5te2C
	LwbKh71Nu62VNbji7kSoSFEylwSgTKDMI2Lp5vZxgpxlqU/lHAu0e583k3zQlv958Afg
	jQHHgiwkuSbiCrP7T0DahgyCRUuR2euLSfWAcYQUna63jFNSHpt29KW0hrotjmsxOhdO
	a06IErp3g6Xdw/WBoIjZUXtuWo+XJVtnRL1lb4f1h04kb1Nl16XPEHwq0EbQZbTndHGH
	GTxg==
Received: by 10.68.213.101 with SMTP id nr5mr61412543pbc.131.1337553066213;
	Sun, 20 May 2012 15:31:06 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Sun, 20 May 2012 15:30:45 -0700 (PDT)
From: William Dauchy <wdauchy@gmail.com>
Date: Mon, 21 May 2012 00:30:45 +0200
Message-ID: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	xen-devel@lists.xensource.com, Shaohua Li <shli@kernel.org>,
	linux-kernel@vger.kernel.org, Ben Hutchings <ben@decadent.org.uk>
Subject: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

On Xen, when booting a guest with a system disk and an additional swap
disk I'm getting a calltrace.
xen hypervisor: 4.1.2; linux dom0: v3.3.6; linux guest: v3.2.17
When booting without a swap disk, I don't have the issue.
I also tested a guest with v3.3.6: same problem. But from v3.4-rc2,
the issue is fixed.
I cherry-picked:
052b198 swap: don't do discard if no discard option added
Applied and tested on top of v3.2.17 and v3.3.6, it fixes the issue.

Pid: 0, comm: swapper/0 Not tainted 3.2.17-x86_64 #12
Call Trace:
 <IRQ>
 [<ffffffff810919da>] ? handle_irq_event_percpu+0x3a/0x140
 [<ffffffff81091b29>] ? handle_irq_event+0x49/0x80
 [<ffffffff81094e7d>] ? handle_edge_irq+0x6d/0x120
 [<ffffffff81229088>] ? __xen_evtchn_do_upcall+0x1b8/0x280
 [<ffffffff8122a442>] ? xen_evtchn_do_upcall+0x22/0x40
 [<ffffffff8133f4fe>] ? xen_do_hypervisor_callback+0x1e/0x30
 <EOI>
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff8100768c>] ? xen_safe_halt+0xc/0x20
 [<ffffffff81013563>] ? default_idle+0x23/0x40
 [<ffffffff8100b073>] ? cpu_idle+0x63/0xb0
 [<ffffffff81654c43>] ? start_kernel+0x362/0x36d
 [<ffffffff81657491>] ? xen_start_kernel+0x558/0x55e
Code: 39 ed 0f 84 1c 02 00 00 44 8b 7b 48 4c 8b 73 50 41 83 ef 01 41
21 ef 49 6b c7 70 4d 8b 64 06 40 49 69 c4 d0 00 00 00 48 8d 14 03 <48>
8b 8a 78 02 00 00 48 89 4c 24 10 80 ba 09 02 00 00 00 74 6d
RIP  [<ffffffff8125ed66>] blkif_interrupt+0x66/0x320
 RSP <ffff88001fc03e18>
---[ end trace dfd4e5623eb06620 ]---

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 20 22:31:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 20 May 2012 22:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWEed-0006SC-W5; Sun, 20 May 2012 22:31:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWEeb-0006S2-Uk
	for xen-devel@lists.xensource.com; Sun, 20 May 2012 22:31:10 +0000
Received: from [85.158.143.99:31652] by server-3.bemta-4.messagelabs.com id
	21/57-05853-DA079BF4; Sun, 20 May 2012 22:31:09 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337553066!28357663!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26027 invoked from network); 20 May 2012 22:31:08 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	20 May 2012 22:31:08 -0000
Received: by pbcwz7 with SMTP id wz7so6866631pbc.30
	for <xen-devel@lists.xensource.com>;
	Sun, 20 May 2012 15:31:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=63qqDAvu53+NaRlztkavtgpPtTZm1C5e731oVTXktL0=;
	b=bo+2duAdlrK5GvCKPK1+wCPheVeb9h+vZxR3Va6YnW8mJG4Gj51QVuoT+CjwYvAus1
	j3v9O3Lxj+PI3U90lHVKFVLGD8Xvaub8oT/SBh7dCzyNFyclO8VUHweRAveXptJ5te2C
	LwbKh71Nu62VNbji7kSoSFEylwSgTKDMI2Lp5vZxgpxlqU/lHAu0e583k3zQlv958Afg
	jQHHgiwkuSbiCrP7T0DahgyCRUuR2euLSfWAcYQUna63jFNSHpt29KW0hrotjmsxOhdO
	a06IErp3g6Xdw/WBoIjZUXtuWo+XJVtnRL1lb4f1h04kb1Nl16XPEHwq0EbQZbTndHGH
	GTxg==
Received: by 10.68.213.101 with SMTP id nr5mr61412543pbc.131.1337553066213;
	Sun, 20 May 2012 15:31:06 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Sun, 20 May 2012 15:30:45 -0700 (PDT)
From: William Dauchy <wdauchy@gmail.com>
Date: Mon, 21 May 2012 00:30:45 +0200
Message-ID: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	xen-devel@lists.xensource.com, Shaohua Li <shli@kernel.org>,
	linux-kernel@vger.kernel.org, Ben Hutchings <ben@decadent.org.uk>
Subject: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

On Xen, when booting a guest with a system disk and an additional swap
disk I'm getting a calltrace.
xen hypervisor: 4.1.2; linux dom0: v3.3.6; linux guest: v3.2.17
When booting without a swap disk, I don't have the issue.
I also tested a guest with v3.3.6: same problem. But from v3.4-rc2,
the issue is fixed.
I cherry-picked:
052b198 swap: don't do discard if no discard option added
Applied and tested on top of v3.2.17 and v3.3.6, it fixes the issue.

Pid: 0, comm: swapper/0 Not tainted 3.2.17-x86_64 #12
Call Trace:
 <IRQ>
 [<ffffffff810919da>] ? handle_irq_event_percpu+0x3a/0x140
 [<ffffffff81091b29>] ? handle_irq_event+0x49/0x80
 [<ffffffff81094e7d>] ? handle_edge_irq+0x6d/0x120
 [<ffffffff81229088>] ? __xen_evtchn_do_upcall+0x1b8/0x280
 [<ffffffff8122a442>] ? xen_evtchn_do_upcall+0x22/0x40
 [<ffffffff8133f4fe>] ? xen_do_hypervisor_callback+0x1e/0x30
 <EOI>
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
 [<ffffffff8100768c>] ? xen_safe_halt+0xc/0x20
 [<ffffffff81013563>] ? default_idle+0x23/0x40
 [<ffffffff8100b073>] ? cpu_idle+0x63/0xb0
 [<ffffffff81654c43>] ? start_kernel+0x362/0x36d
 [<ffffffff81657491>] ? xen_start_kernel+0x558/0x55e
Code: 39 ed 0f 84 1c 02 00 00 44 8b 7b 48 4c 8b 73 50 41 83 ef 01 41
21 ef 49 6b c7 70 4d 8b 64 06 40 49 69 c4 d0 00 00 00 48 8d 14 03 <48>
8b 8a 78 02 00 00 48 89 4c 24 10 80 ba 09 02 00 00 00 74 6d
RIP  [<ffffffff8125ed66>] blkif_interrupt+0x66/0x320
 RSP <ffff88001fc03e18>
---[ end trace dfd4e5623eb06620 ]---

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 03:06:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 03:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWIwD-0005CG-Od; Mon, 21 May 2012 03:05:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gabrielx.wu@intel.com>) id 1SWIwC-0005CA-Mz
	for xen-devel@lists.xen.org; Mon, 21 May 2012 03:05:36 +0000
Received: from [85.158.138.51:39803] by server-1.bemta-3.messagelabs.com id
	DC/F0-11491-FF0B9BF4; Mon, 21 May 2012 03:05:35 +0000
X-Env-Sender: gabrielx.wu@intel.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337569534!20127192!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgyMzcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31236 invoked from network); 21 May 2012 03:05:35 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-6.tower-174.messagelabs.com with SMTP;
	21 May 2012 03:05:35 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 20 May 2012 20:05:33 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="102230620"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 20 May 2012 20:05:33 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 20 May 2012 20:05:32 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 21 May 2012 11:05:29 +0800
From: "Wu, GabrielX" <gabrielx.wu@intel.com>
To: "'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>
Thread-Topic: VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNNv6TSQCROUD51kupAI1FrsCGwg==
Date: Mon, 21 May 2012 03:05:28 +0000
Message-ID: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>, "Liu,
	SongtaoX" <songtaox.liu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>
Subject: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,

This is the test report of xen-unstable tree. 
There are two issues found and one issue got fixed.

Version Info:
=================================================================
xen-changeset:   25334:f8279258e3c9
Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...) 
=================================================================

New issues(2)
==============
1. long stop during the guest boot process with qcow image
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
2. vcpu-set doesn't take effect on guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822

Fixed issue(1)
==============
1. when detaching a VF from hvm guest, "xl dmesg" will show some warning information
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809

Old issues(9)
==============
1. [ACPI] System cann't resume after do suspend
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707
2. [XL]"xl vcpu-set" causes dom0 crash or panic
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
3. [VT-D]fail to detach NIC from guest  
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
5. [VT-D] device reset fail when create/destroy guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
6. RHEL6.2/6.1 guest runs quite slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811
7. after detaching a VF from a guest, shutdown the guest is very slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
8. cpu weight out of range error when create hvm domU
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
9. Poor performance when do guest save/restore and migration with linux 3.1 dom0
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1784

Thanks,
Wu Ronghui(Gabriel)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 03:06:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 03:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWIwD-0005CG-Od; Mon, 21 May 2012 03:05:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gabrielx.wu@intel.com>) id 1SWIwC-0005CA-Mz
	for xen-devel@lists.xen.org; Mon, 21 May 2012 03:05:36 +0000
Received: from [85.158.138.51:39803] by server-1.bemta-3.messagelabs.com id
	DC/F0-11491-FF0B9BF4; Mon, 21 May 2012 03:05:35 +0000
X-Env-Sender: gabrielx.wu@intel.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337569534!20127192!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgyMzcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31236 invoked from network); 21 May 2012 03:05:35 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-6.tower-174.messagelabs.com with SMTP;
	21 May 2012 03:05:35 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 20 May 2012 20:05:33 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="102230620"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 20 May 2012 20:05:33 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 20 May 2012 20:05:32 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 21 May 2012 11:05:29 +0800
From: "Wu, GabrielX" <gabrielx.wu@intel.com>
To: "'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>
Thread-Topic: VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNNv6TSQCROUD51kupAI1FrsCGwg==
Date: Mon, 21 May 2012 03:05:28 +0000
Message-ID: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>, "Liu,
	SongtaoX" <songtaox.liu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>
Subject: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,

This is the test report of xen-unstable tree. 
There are two issues found and one issue got fixed.

Version Info:
=================================================================
xen-changeset:   25334:f8279258e3c9
Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...) 
=================================================================

New issues(2)
==============
1. long stop during the guest boot process with qcow image
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
2. vcpu-set doesn't take effect on guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822

Fixed issue(1)
==============
1. when detaching a VF from hvm guest, "xl dmesg" will show some warning information
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809

Old issues(9)
==============
1. [ACPI] System cann't resume after do suspend
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1707
2. [XL]"xl vcpu-set" causes dom0 crash or panic
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
3. [VT-D]fail to detach NIC from guest  
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
5. [VT-D] device reset fail when create/destroy guest
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
6. RHEL6.2/6.1 guest runs quite slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1811
7. after detaching a VF from a guest, shutdown the guest is very slow
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
8. cpu weight out of range error when create hvm domU
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
9. Poor performance when do guest save/restore and migration with linux 3.1 dom0
  http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1784

Thanks,
Wu Ronghui(Gabriel)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 03:06:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 03:06:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWIwF-0005CR-49; Mon, 21 May 2012 03:05:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWIwD-0005CF-Tx
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 03:05:38 +0000
Received: from [85.158.139.83:45567] by server-3.bemta-5.messagelabs.com id
	1F/2B-25237-101B9BF4; Mon, 21 May 2012 03:05:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337569536!29736318!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ1Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9229 invoked from network); 21 May 2012 03:05:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 03:05:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,628,1330905600"; d="scan'208";a="12567424"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 03:05:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 04:05:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWIwA-0003hm-JQ;
	Mon, 21 May 2012 03:05:34 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWIwA-0004iO-7O;
	Mon, 21 May 2012 04:05:34 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12944-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 04:05:34 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12944: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12944 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12944/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 9 guest-start.2 fail in 12943 REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12943
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12943
 test-amd64-amd64-xl-qemuu-win 12 guest-localmigrate/x10     fail pass in 12943
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12943 pass in 12944

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12943 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop           fail in 12943 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 03:06:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 03:06:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWIwF-0005CR-49; Mon, 21 May 2012 03:05:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWIwD-0005CF-Tx
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 03:05:38 +0000
Received: from [85.158.139.83:45567] by server-3.bemta-5.messagelabs.com id
	1F/2B-25237-101B9BF4; Mon, 21 May 2012 03:05:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337569536!29736318!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ1Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9229 invoked from network); 21 May 2012 03:05:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 03:05:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,628,1330905600"; d="scan'208";a="12567424"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 03:05:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 04:05:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWIwA-0003hm-JQ;
	Mon, 21 May 2012 03:05:34 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWIwA-0004iO-7O;
	Mon, 21 May 2012 04:05:34 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12944-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 04:05:34 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12944: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12944 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12944/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 9 guest-start.2 fail in 12943 REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12943
 test-amd64-i386-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12943
 test-amd64-amd64-xl-qemuu-win 12 guest-localmigrate/x10     fail pass in 12943
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12943 pass in 12944

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12943 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop           fail in 12943 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 06:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 06:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWLqJ-0006Rt-B8; Mon, 21 May 2012 06:11:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWLqI-0006Ro-Kv
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 06:11:42 +0000
Received: from [85.158.139.83:41476] by server-2.bemta-5.messagelabs.com id
	18/F7-17716-D9CD9BF4; Mon, 21 May 2012 06:11:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337580700!29753153!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ1Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25944 invoked from network); 21 May 2012 06:11:41 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 06:11:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12568300"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 06:11:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 07:11:40 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWLqF-0004hO-Uy;
	Mon, 21 May 2012 06:11:39 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWLqF-0006mZ-Fl;
	Mon, 21 May 2012 07:11:39 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12945-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 07:11:39 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12945: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12945 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12945/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12939
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12939

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  592d15bd4d5e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 06:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 06:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWLqJ-0006Rt-B8; Mon, 21 May 2012 06:11:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWLqI-0006Ro-Kv
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 06:11:42 +0000
Received: from [85.158.139.83:41476] by server-2.bemta-5.messagelabs.com id
	18/F7-17716-D9CD9BF4; Mon, 21 May 2012 06:11:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337580700!29753153!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ1Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25944 invoked from network); 21 May 2012 06:11:41 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 06:11:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12568300"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 06:11:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 07:11:40 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWLqF-0004hO-Uy;
	Mon, 21 May 2012 06:11:39 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWLqF-0006mZ-Fl;
	Mon, 21 May 2012 07:11:39 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12945-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 07:11:39 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12945: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12945 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12945/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12939
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12939

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  592d15bd4d5e
baseline version:
 xen                  592d15bd4d5e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 07:59:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 07:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWNW5-00076O-RK; Mon, 21 May 2012 07:58:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWNW3-00076I-HR
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 07:58:55 +0000
Received: from [85.158.143.99:39774] by server-3.bemta-4.messagelabs.com id
	B7/D6-05853-EB5F9BF4; Mon, 21 May 2012 07:58:54 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337587134!28635809!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ1Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17467 invoked from network); 21 May 2012 07:58:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 07:58:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12570007"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 07:58:35 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 08:58:35 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWNVj-0005IK-DY;
	Mon, 21 May 2012 07:58:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWNVj-000438-7f;
	Mon, 21 May 2012 08:58:35 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12946-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 08:58:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12946 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12946/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win 12 guest-localmigrate/x10     fail pass in 12943
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12943 pass in 12946

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12943 never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop           fail in 12943 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 07:59:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 07:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWNW5-00076O-RK; Mon, 21 May 2012 07:58:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWNW3-00076I-HR
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 07:58:55 +0000
Received: from [85.158.143.99:39774] by server-3.bemta-4.messagelabs.com id
	B7/D6-05853-EB5F9BF4; Mon, 21 May 2012 07:58:54 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337587134!28635809!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ1Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17467 invoked from network); 21 May 2012 07:58:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 07:58:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12570007"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 07:58:35 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 08:58:35 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWNVj-0005IK-DY;
	Mon, 21 May 2012 07:58:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWNVj-000438-7f;
	Mon, 21 May 2012 08:58:35 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12946-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 08:58:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12946: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12946 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12946/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win 12 guest-localmigrate/x10     fail pass in 12943
 test-amd64-i386-qemuu-rhel6hvm-intel 7 redhat-install fail in 12943 pass in 12946

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12943 never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop           fail in 12943 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 08:56:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 08:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOPW-0007wU-TV; Mon, 21 May 2012 08:56:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWOPV-0007wM-Jc
	for xen-devel@lists.xen.org; Mon, 21 May 2012 08:56:13 +0000
Received: from [85.158.139.83:20088] by server-9.bemta-5.messagelabs.com id
	32/91-18212-C230ABF4; Mon, 21 May 2012 08:56:12 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337590568!26757412!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22657 invoked from network); 21 May 2012 08:56:09 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 08:56:09 -0000
Received: by obbwd20 with SMTP id wd20so10727187obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 01:56:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=HKMrkaxCSl56K4liq9kqEs8n3qRGaLD10c0gHicPv1M=;
	b=KdG2T1oH4YS4fL83f7+DrJabdAbJlSfriYG89s2oijXNopJL8+CKzfF2FgyE1Jwkmc
	l7WNGUh4mEeCG1QrdPPvz3NwO3pHKLXsbNSh3GmuVeC20nBW82eDG2aSB2/BBTEDHpFQ
	HQplslE9A4FFdwaBLK9vW6qf+YMRaWU1H1fNOvWZC6/jWaChAJwH0pO5cqqk7j+akgsE
	jqh2A4hc/PbmSkAcYzI9aGNmPu9IgqEsn2UdOqdSonEKCCGf4R+BjB3U+9vKwCWywWUG
	klSbmJGuk/PSpJ8CNKogHfLTWm3utU9DS0i/MJ9fJul45S+yTvo5kVM6CMllfQue4ULu
	Stig==
Received: by 10.182.31.102 with SMTP id z6mr18766283obh.78.1337590567479; Mon,
	21 May 2012 01:56:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 01:55:47 -0700 (PDT)
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 10:55:47 +0200
Message-ID: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

I want to apply this patch:

http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg

I downloaded the patch from:

http://darnok.org/xen/vga.patch

and I did this to apply it:

patch < vga.patch

It asks for a file to patch, and it may be obvious, but I don't know
which is the file.

Also, I think that it may be a more recent version in the git tree,
but I am not sure how to download just the patch, or all the code (git
clone?).

So what would be the best way to proceed?

Thank you

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 08:56:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 08:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOPW-0007wU-TV; Mon, 21 May 2012 08:56:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWOPV-0007wM-Jc
	for xen-devel@lists.xen.org; Mon, 21 May 2012 08:56:13 +0000
Received: from [85.158.139.83:20088] by server-9.bemta-5.messagelabs.com id
	32/91-18212-C230ABF4; Mon, 21 May 2012 08:56:12 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337590568!26757412!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22657 invoked from network); 21 May 2012 08:56:09 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 08:56:09 -0000
Received: by obbwd20 with SMTP id wd20so10727187obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 01:56:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=HKMrkaxCSl56K4liq9kqEs8n3qRGaLD10c0gHicPv1M=;
	b=KdG2T1oH4YS4fL83f7+DrJabdAbJlSfriYG89s2oijXNopJL8+CKzfF2FgyE1Jwkmc
	l7WNGUh4mEeCG1QrdPPvz3NwO3pHKLXsbNSh3GmuVeC20nBW82eDG2aSB2/BBTEDHpFQ
	HQplslE9A4FFdwaBLK9vW6qf+YMRaWU1H1fNOvWZC6/jWaChAJwH0pO5cqqk7j+akgsE
	jqh2A4hc/PbmSkAcYzI9aGNmPu9IgqEsn2UdOqdSonEKCCGf4R+BjB3U+9vKwCWywWUG
	klSbmJGuk/PSpJ8CNKogHfLTWm3utU9DS0i/MJ9fJul45S+yTvo5kVM6CMllfQue4ULu
	Stig==
Received: by 10.182.31.102 with SMTP id z6mr18766283obh.78.1337590567479; Mon,
	21 May 2012 01:56:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 01:55:47 -0700 (PDT)
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 10:55:47 +0200
Message-ID: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

I want to apply this patch:

http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg

I downloaded the patch from:

http://darnok.org/xen/vga.patch

and I did this to apply it:

patch < vga.patch

It asks for a file to patch, and it may be obvious, but I don't know
which is the file.

Also, I think that it may be a more recent version in the git tree,
but I am not sure how to download just the patch, or all the code (git
clone?).

So what would be the best way to proceed?

Thank you

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOVY-00086h-O3; Mon, 21 May 2012 09:02:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWOVX-00086b-UQ
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:02:28 +0000
Received: from [193.109.254.147:64363] by server-3.bemta-14.messagelabs.com id
	4F/5E-23274-3A40ABF4; Mon, 21 May 2012 09:02:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337590944!4642381!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15096 invoked from network); 21 May 2012 09:02:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:02:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12571375"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:02:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 10:02:24 +0100
Message-ID: <1337590943.24660.16.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 10:02:23 +0100
In-Reply-To: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
> Hello,
> 
> I want to apply this patch:
> 
> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
> 
> I downloaded the patch from:
> 
> http://darnok.org/xen/vga.patch
> 
> and I did this to apply it:
> 
> patch < vga.patch
> 
> It asks for a file to patch, and it may be obvious, but I don't know
> which is the file.

Apply it with "patch -p1 < vga.patch" instead and it'll do the right
thing.

> Also, I think that it may be a more recent version in the git tree,
> but I am not sure how to download just the patch, or all the code (git
> clone?).
> 
> So what would be the best way to proceed?
> 
> Thank you
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOVY-00086h-O3; Mon, 21 May 2012 09:02:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWOVX-00086b-UQ
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:02:28 +0000
Received: from [193.109.254.147:64363] by server-3.bemta-14.messagelabs.com id
	4F/5E-23274-3A40ABF4; Mon, 21 May 2012 09:02:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337590944!4642381!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15096 invoked from network); 21 May 2012 09:02:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:02:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12571375"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:02:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 10:02:24 +0100
Message-ID: <1337590943.24660.16.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 10:02:23 +0100
In-Reply-To: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
> Hello,
> 
> I want to apply this patch:
> 
> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
> 
> I downloaded the patch from:
> 
> http://darnok.org/xen/vga.patch
> 
> and I did this to apply it:
> 
> patch < vga.patch
> 
> It asks for a file to patch, and it may be obvious, but I don't know
> which is the file.

Apply it with "patch -p1 < vga.patch" instead and it'll do the right
thing.

> Also, I think that it may be a more recent version in the git tree,
> but I am not sure how to download just the patch, or all the code (git
> clone?).
> 
> So what would be the best way to proceed?
> 
> Thank you
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:19:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:19:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOlJ-0008Kw-EV; Mon, 21 May 2012 09:18:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWOlH-0008Kr-Eq
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:18:43 +0000
Received: from [193.109.254.147:2073] by server-1.bemta-14.messagelabs.com id
	1A/73-29372-2780ABF4; Mon, 21 May 2012 09:18:42 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337591920!4646650!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6565 invoked from network); 21 May 2012 09:18:41 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:18:41 -0000
Received: by ggnp1 with SMTP id p1so4989759ggn.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 02:18:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=aPz460cun9lyo1teA0p/TZM3ejYGcRDJmv+icaQJnUk=;
	b=QJ8FG1I/xoE/6Lzbjn1fbY2hAPWdPuRHw6AYwHzfJhqu6r8cuc2ZAXxzGttndzIgTX
	lbCP6C8/jz/690WSuBXUXOAgJ6Jtryx/JFMFw4gemY/nH3btqNXruuZ6WRMbNiJ/GXMp
	zuTp6mn8lYY8Ru10Gnhqgao7M2Jms1rH2+lclz8zPhbFZYtctS4GClsviYLw7Jzettoz
	orty6XGvOqtKmQZp10ExZyQPVAbKDRV1MmAg0sLGO/oc3E8NwYb42r5ZxJlUbWIbDv5/
	agg9Yy+j1JzlnN/SsNaLeqGaV6rD1L9Q7jRh5tY3bOwCpUtxyPJWxS0wfbAv0dbpxBeR
	apBw==
Received: by 10.60.20.3 with SMTP id j3mr18669548oee.43.1337591920256; Mon, 21
	May 2012 02:18:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 02:18:20 -0700 (PDT)
In-Reply-To: <1337590943.24660.16.camel@zakaz.uk.xensource.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 11:18:20 +0200
Message-ID: <CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>> Hello,
>>
>> I want to apply this patch:
>>
>> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>>
>> I downloaded the patch from:
>>
>> http://darnok.org/xen/vga.patch
>>
>> and I did this to apply it:
>>
>> patch < vga.patch
>>
>> It asks for a file to patch, and it may be obvious, but I don't know
>> which is the file.
>
> Apply it with "patch -p1 < vga.patch" instead and it'll do the right
> thing.
>

It says exactly the same thing:

can't find file to patch at input line 22
Perhaps you used the wrong -p or --strip option?

And then asks me for the file to patch again..

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:19:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:19:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOlJ-0008Kw-EV; Mon, 21 May 2012 09:18:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWOlH-0008Kr-Eq
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:18:43 +0000
Received: from [193.109.254.147:2073] by server-1.bemta-14.messagelabs.com id
	1A/73-29372-2780ABF4; Mon, 21 May 2012 09:18:42 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337591920!4646650!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6565 invoked from network); 21 May 2012 09:18:41 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:18:41 -0000
Received: by ggnp1 with SMTP id p1so4989759ggn.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 02:18:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=aPz460cun9lyo1teA0p/TZM3ejYGcRDJmv+icaQJnUk=;
	b=QJ8FG1I/xoE/6Lzbjn1fbY2hAPWdPuRHw6AYwHzfJhqu6r8cuc2ZAXxzGttndzIgTX
	lbCP6C8/jz/690WSuBXUXOAgJ6Jtryx/JFMFw4gemY/nH3btqNXruuZ6WRMbNiJ/GXMp
	zuTp6mn8lYY8Ru10Gnhqgao7M2Jms1rH2+lclz8zPhbFZYtctS4GClsviYLw7Jzettoz
	orty6XGvOqtKmQZp10ExZyQPVAbKDRV1MmAg0sLGO/oc3E8NwYb42r5ZxJlUbWIbDv5/
	agg9Yy+j1JzlnN/SsNaLeqGaV6rD1L9Q7jRh5tY3bOwCpUtxyPJWxS0wfbAv0dbpxBeR
	apBw==
Received: by 10.60.20.3 with SMTP id j3mr18669548oee.43.1337591920256; Mon, 21
	May 2012 02:18:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 02:18:20 -0700 (PDT)
In-Reply-To: <1337590943.24660.16.camel@zakaz.uk.xensource.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 11:18:20 +0200
Message-ID: <CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>> Hello,
>>
>> I want to apply this patch:
>>
>> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>>
>> I downloaded the patch from:
>>
>> http://darnok.org/xen/vga.patch
>>
>> and I did this to apply it:
>>
>> patch < vga.patch
>>
>> It asks for a file to patch, and it may be obvious, but I don't know
>> which is the file.
>
> Apply it with "patch -p1 < vga.patch" instead and it'll do the right
> thing.
>

It says exactly the same thing:

can't find file to patch at input line 22
Perhaps you used the wrong -p or --strip option?

And then asks me for the file to patch again..

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:22:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOoD-0008QP-1A; Mon, 21 May 2012 09:21:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWOoA-0008QI-M7
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:21:43 +0000
Received: from [85.158.139.83:61611] by server-12.bemta-5.messagelabs.com id
	70/FF-09223-5290ABF4; Mon, 21 May 2012 09:21:41 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337592098!18203779!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12616 invoked from network); 21 May 2012 09:21:40 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:21:40 -0000
Received: by obbwd20 with SMTP id wd20so10765310obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 02:21:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=QwPlwYviUyibxsFlktYAhCKYEBN5ACu9JhlTT0m8a+E=;
	b=KYXeCIGWKJtwUHqNfVGaBCIhBc5piGTPhGaOhz2TA/jFTd0saHxwevVwDvl6z1YIO8
	BpKa/Ud7PCd4KpzLma0KYBHyRlKX/Pm6Rn5FrK+06FJv9sW6av5FeXxjkd/cJiBYvAyz
	w4akuVp38ey6iHJEL0ZpHVnQJyR2mJ434ZnDJL+Qhb23TB1+2esyvZCIfPv1cHNmUzcL
	yzzJSkvUGzIU02tNDteaLKQzLAH3KvD7jWo3Uut1qFsAPJhH2wGVOurNAYer0Z5NWOR7
	avgeIlOoYU1YWWxFVBjS169qgwNKQiOyiWhZGs9JdqgkLkMKQmXgGAnpRWur1YFpcP1t
	MmRQ==
Received: by 10.60.0.129 with SMTP id 1mr18676922oee.33.1337592098320; Mon, 21
	May 2012 02:21:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 02:21:16 -0700 (PDT)
In-Reply-To: <CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 11:21:16 +0200
Message-ID: <CAN-hev=p3YshWLXugXNo31Kx9-ETuTTO4TL8+WKDxBwrkBZcJA@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Content-Type: multipart/mixed; boundary=e89a8fb20486dff16e04c0886d39
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--e89a8fb20486dff16e04c0886d39
Content-Type: text/plain; charset=ISO-8859-1

On 21 May 2012 11:18, eva <evammg@gmail.com> wrote:
> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>>> Hello,
>>>
>>> I want to apply this patch:
>>>
>>> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>>>
>>> I downloaded the patch from:
>>>
>>> http://darnok.org/xen/vga.patch
>>>
>>> and I did this to apply it:
>>>
>>> patch < vga.patch
>>>
>>> It asks for a file to patch, and it may be obvious, but I don't know
>>> which is the file.
>>
>> Apply it with "patch -p1 < vga.patch" instead and it'll do the right
>> thing.
>>
>
> It says exactly the same thing:
>
> can't find file to patch at input line 22
> Perhaps you used the wrong -p or --strip option?
>
> And then asks me for the file to patch again..

I attach a screenshot..

--e89a8fb20486dff16e04c0886d39
Content-Type: image/png; 
	name="Captura de pantalla de 2012-05-21 11:14:14.png"
Content-Disposition: attachment; 
	filename="Captura de pantalla de 2012-05-21 11:14:14.png"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2hbkqme0

iVBORw0KGgoAAAANSUhEUgAAAscAAAIoCAIAAAAKhtEuAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRT
b2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAIABJREFUeJzsnXlcjNsfx7/PM9My7asWScgS
Qte+XpEtruXauihCN0tSZLnWZC1CuEIhklS2i8hWIW3U0F5TUUr7Ok2ZaZbfH4kwzzPTGOTnvF9e
r8s9c875nO/5Ps/5Puc5zzlYPwVjQCAQCAQCgfhq8B8tQBhyRpNdt9lbaLUhcbiK6bItm11MaT9a
COJn4qd2m59a/C8I6i9E2+CbDNyYYgezyRamWhQJ88sZT19nbdFT4cdGFTImq/5jJR2cpIoBAK7a
Z/HCWRZ61B8row2BqYzecaM6OXBbLzmJ8reqXcQe9bUyWkWrHfvHuc2X/NTif0FQfyF+Ur7JwC1r
YusR7GZpJPNFCqZgMmNjWGQsi0GveOTjMdlA/lvUDwAAuGq/1V7BBVl0VlZk/JGFw9Ra2VRZo1nT
DeseX42uFXwbgT+VjC/BaYbd2svId+ypLStJ9ta1i9ijvlJG6yCWISG4ztTTVYn7zJVArvuK5Mwb
W7p9u1ZIXfw3AJPv9uc+BiP8eH/0wP0z9BcCIYTvGtdSDGe4R7j3eHRgo/mjEoV+8/7df0JQOGfD
i/pvUJX+on9P7jFN9frH6Sn85rTN6dZRptmiq3k8cQuQ6zzRypB1b8fLmh86mrcRGULglQTYzUg1
asxIZUqQW2rt+joZPxql3yxN+C8vJrEouoNGGlU9e/CG86Ml/SioWn0mOjmudP5dF6D6R4tBIBAS
g+Pq/ecd8j73MiaqmkFnMeishLNOXd6Hx7J6o7aeuFLIoLOyIp95L5+o9zFsJkpSHOBWwIh9ZK0F
2laPkuksBp3FiA4YpggAoNR/6z8jKnydFp+MjM9Ijwzy3JbQbqGtqRIAAKbUddqRS3erGHRW+v37
TiYtNRLUJddn5Ym0l3QWIy7z0p4TZ26UMhLeXN0wpR0FAOS7z10/WHBv07otVx6FXvFasDlaMGSp
XYsHQYq2+cmI57WRu6ZpC53DkO0xbZIRM+os/ZOxasTumxUMOosRnXLOeaq+SGuQKQQAqmZ/xwP+
2Wl0FuN53k2PtYPVv5js/FyGXA+HVEaU3xCFpn+qWPiwGCGOhk2xIa7Se+7JkDtlDDqLQWcmPYjd
OUwdE51Lz3Lfy8TnLAadxYhjhLja9VJstgiRb+D6cwJYDHot/b/H125fGaf8uWhityE2L6EMYo8S
IYMIXHO4R8D1101FpT946rVkjPaH4FoCGU0N0h1nv+tB+JM6Bp3FSCiJPLG+x0dnE+I28r0OPKWz
GI8uj6XJjziQn/U8bVsPXPPPhw83DCCdvmsT4iWFTLxcl1XuThasqzZOV4skLR+TazdkurVNd1IL
YuozzsSzYrcO+TAbItt1Wzi98vRYTQwAQFZ35ObjwW8y6SwGnfki7JnfmnEaTVYkuVIkanKb7y8E
QiKoFJ2hc/+2gHN7dm9ilNfyZNQ0qBlvGwEAUx20P9hrKe/eVudDaVh3axeHK8Eak6fsiawRkCTV
p3iNnhho5uDtNyJ20aJTyWwA4NUUNgCAUp8//1B75RGc2aDax9F142oLE115gPROmpS4BvUxJwJd
p1WGbnG6myNjZDFvee9mgcR1UXX6mnUs8vlzc/aUw+6L687OtcmfeWj7UYc74dtStMwGdYAM10Ql
+wvXXeXPjHG6mww7RvfVoKQXN81WyBkMn2BAocCwcR1k/yt797lZ5Lr8NUWvJsL12acPwAUPT2wK
y2/Q+M1hy5KLR4v7zA3M5UqmMKlBse/OQN9lnOubHQ8lMLXMl250O3ugZvzfvgU8kTKEQzPd7btx
5ms/R9vILCauqtexEy+PJXomgF+Vcmvn+muFZfW4Ri+bTRsO+7CTxu6NawAAQt8oveNilkiT0bEM
8FvyWXEkvkHaLkIZxB7FJ5FBAq5gNHpQx5ozm5Y+qpIzGLRsrcPNEK2JUz2e1AokkgFA0Zl7KOjM
eP6TCz7LYnOLGmS09ZVyirgfahTiNuxMt+mTjnWYejVofvLKhZsZHbdfOjw4aMlUf8ZbdpsXzyVS
9xWWZ2e6Wo7bLhDQTNfta33Bih0G/GU9f6XVqG4y+cH/PAjMLGok+q2g5ulVOnfk8BnGcrHJbACQ
NTSf2aHxqSe9SgCYykCPoCN2eMTO9UfjykF/zPpTNkNNlI7cr+STXikSNbnN9xcCIRFNcXND9uXg
O+Gslgm4geWqpbqvd1luPcjgAERFZMn0umW/fdLpJ5dK9QmTinnvKrJz6tSqGqGx6lVObsbH8VrG
4DcT5ZoXcWVqMw+d2Nsz0mHxPnDwOaYtS8UohpZ2M1QZm2a5er3mAjx5XDfKzltNlAwmAAiqsuIT
YngpbFv1zJjYKNbz9bN7dFDCMjQM1ICVVMxR7NdBSUnOQIWd/rYB+hmoyMD7qKI+yXvhLuY4LObo
yy9CCgBa96mzdGtuh3w+q/46PPRqJBMgLl15VOoWyxEaQbmlIJHCFHVL55Xt4+3NdwaW8gEgPksw
ItrDbqyu37lCrigZwpFRM1CBKkbCw5iXJTyAl3RxMgHAu/yoy/lNf01OwUbMOTlguC417lWzCiG+
AVxmURYTqA1lX9xRSfqr+EO4JLRdRDIEhB5FIkM0RQlRD6KZALHhqYJn121dJ/iNDynhSSRD0cze
Y7xSrNu0qf4FQl9gCHMbbm1ZMb+LkR4///CL/LeCPsZqrJexma/LWMIKaGvi+aIE4jQlRTkKBgAC
Hruujt3yxSOReIGg9S/DKEo9Rs1YbvuX7VC96uS7p12XnLlNf/OOvBx+edz1KO6eaZadtyenvwPZ
rlP+MG6I3hJdxQfcYKLDUv2C/VM37kvnAIAKzQZs1D7kFHGlENPm+wuBkCKEU3i0LkM7Q9mzh82u
y85/GlEGJoMNaWRJJMhod9aAyoJKpQFLR9GeHz58/ll2blXTE4W80SBDKKNHF395fYpVF58vAAzH
QMDn8gHHsQ9fFTSkbfljksmEfTFfrtzgVTw657XFL75EyEoLedM/LfSqH51LIrrF88pzCxtAxUCV
IqlCeePhxhTZQb5PE1gMOotBr4v3MKeCdieNFlOWImV8Sm3sRreHfKujudEXL26aZ2msJN7icUq7
oYtOB918k5xQl/r4xd4hsiCrKCPxIl5xrCG0XdKV0QoaciMflGG9hjUplEAGVf+3flqQ5hf2VtSa
iJZuAwBUnV5dlStS02v5tI6/GWOFMflCAty2Kp4UWr8jkY8Lnz8qfP7obcQ/gwnuC5+KlwCZHsv9
E06tmc79b57lqE5/btxxNVFUSAEAwC+POfmE3WHyJBN5ALku82cYVN8PfFQlAJDvMqwLVhEX9lqo
MaTgom20vxAIaUK+WhP75Ks/TMwkgrJoSrLQ+I6vpKOF16cVslqO5gK+ADAcJypFVF0CPo/LbxmP
cysLqkFRR1cB55YX5wPg2u30aVBVUEs4L9oSWg/riVrl9/+jk6wi5TXyAKd8ENZqhRiGY1AZarP4
TOrHGW9BY/XbjwOLUBkCPh9wWYpQS7EzL7mY3jexnDbFasayEFvHBJ/VMzzjKnhkuWQ6Wl32W935
qc9a+8fp1ZjuiDVB67SIm/1po4iaS24NYe36JjLEzs8HwDBMYhkCvgBAINY64A9uI99z750ARwMA
MI5MntuUuD/i+f7CgFETDySIH138EPEiYWftt7e/KIcBAJ9dkkL0TqeFeIngFT8JOjdiycKRy44q
d/DxDzoTllLMEWPCQ1AT6few+pzlQhNvBnXOfP3Si+de1gIAYBQZCvAbucLK+BoXbVF1m+wvBEKa
EEbGDTkxuaA1cGyH9+uA5AyHj9aG9Lj8BrKkJgTseg7Q1D99WBawWY0gryzbUFED8hpK1E/qis4B
rSGWnb/cckBkXQDAilg1Qu2vu+Uf7wX80hfxb6DHnIFNn5PiWgMnmEJRxMvKj1cjRXOUjeOuRYN0
vgjllXpNm6pZeeNKeh2RbaSgsCH7aY5Aw2wAtTgzOzfj/Z9XOeXsDz8RKoNbU1wFtC7G6kTRIKci
/fqZ/VZTxw90z+1vt9HWkEqeS77TUFO84JS7b1B0SlJacvTLolaMaBzWOwBlTYUWJhRtDaHtEiVD
qEeRyGgFMnoDRmkD43nBOwllcItfJFdAD5uxQlalEsLOPmi39lwZ5J9fPWSStUMMR5By0MJy5m8L
z6aSrqtoE+JFwq/LSoiPiI6LiI57lPC6lmACvqV4yaqpfnlphdUE3QmrDqRqznc/n5Nw9epWK4uO
NFEDqaA24YJfoabVkvFz7SdqZlw4mdYkgf0mqQi0fxvaTsjlJfpKIb6lfKCN9hcCIU0I5yr4BbeP
nl5xcsupXVzP0DRKtwVr7LsWX558p4QHAuKkJhoLX2Y32JvvcJzmHlVO1emo/OJKQHbj28wysOim
33DzSgrstLXs8eQGhn+o65jvipMufkeonkGRBWyNge0AOKJkKJA0611m8P44qyN7PVxp52Og3+pt
w7C4XT5ZH2cNFfosO791ljZMV0uydEhseTkrms021yq7558m5st6yRTyC28fPm5/2tHfV/3fwND0
ikaadlf9muv+kW+4ZDJ45fGXkgT7nbdvZ/qHF3O1B2gDNM+/KJlt3WReHRNHz69my+sON2sHvPyS
Bj55LnZeQhYMt1k1L8k/Ib8B0+yjI/4OIvzanNgicLRbblcZXqqiL5d4JTCHI8o3hLdLlAyhHsUm
kSFSfP+lqxwVYrK5hrNWO5rUPpgXVsyVVEbdC5/tT8Yd23nhZo+z55/mlLCpqjp61ISrwbnEMgSc
8grcSL3h5aOE5Nfa49tR30Q8ozNyxRxff7D4r0OoeABMXrtjF00ZmpGGHMhodjTuzaqryssrbBC5
JoDPzI361zXquLv+yGlWDgsXr2NERuQ1iHiaZ2f5+Cav2u56BBrCHG83r2fkvrrh99Bhx67jm3j/
RuRRDUbNNQF4/0mKyCuF+Jbyc/cXAtFKiN+ACGriXeY4Vbg5rT14WBnqsiJ9Z28/1bSSnySpKWtl
pMfygN17F7iGLAZuZdppl9DA7JqCmNjitZP+7FbpvM595Nl/EpLWA0B9LJMjAEFt/LrZK4u2Oi5z
9XSiAHBrXj2/k8Xii1EXAdxCP4dlym6b1rt7rQVmWpjXH1uvtdysgl0Qfa9ghhUWff+zHQKUei0a
q1p042aK2CsAJVMoYCb+M2tJ/vqVy5e7WSsC8Gqzo/wiLjZHFUQyuAW+Ds56e1z+dvdaAwCcmtyE
u4x6PgBQ5ORxrSFr91lrywIApzQz1nPVvuBiPnkuzqsAKwfVg042Zy6slgMQsJlv055ks8Tb1oOd
6bnRt+++hZ7HpvKrM0673AnK4fDJrUHQLlEyhHoUm08iQ5R2vqKZ077ZOhRuEf3qCgfPG+XiWINA
BrfQb8XckiUr182295mvAACs4uQLW+9eJr3RyxuYdcULj75+BwqGww24WQlvxX9k/+Hivwah4gFk
TexORNnqNP1mivv5KcAKsR6/KFbczWwEDW8fXzr4+NIhHBOIsTqRl3fDO8TpuFVd8K6Iig+/5xbd
srFWPrRjifuRGTi3PO01DiDgCQQgxpVCeEv5yfsLgWgl2Hc8XUy2y8b/Lm+sde+/4FIOT1ZTR1uB
U/m2QtRTxfdFZfi+TD8z/5lT1ye1Zib6/1SG1GkL7aJ2mB8d7lK5ctTEez/fxllI/HeE0tk2MHlD
1fwhy65XS7hZ28/WZATi6/mee2tyco9t9PkzeMOdQ1S7fdeeFlVgmnJUrIHXhnaNVB48d4RK0dXA
zB87lrcRGVLnO7ULk9fu3lmL9uWaIT6n5FVu6TetG/FTo9DDdp4pMzuvmIVpdP19tXPXukcbYpht
6A6FQLR5vuuO3YK6lyfGz6096rHqdsRaAICq6xa/74iRYLeBbwOm2tf2d8U3F2+n/9DRvI3IkDrf
rV3yXRfdvDpPX0hKmffMPzZWfdvaET8vVLUuI6evmNFdTRaAzyx4+t/uSfsfCPv4HIFAEPE934B8
BFfS1tNV4FUWl1ay0Q4tCAQCgUD8f/BjogoEAoFAIBD/f3yP3QsRCAQCgUD8CvzyUYWc0WTXbfYW
Wr+8Ib49uIrpsi2bXUwl3aAZgUAgEG2dbzSYUgwcQ+ms/2Z3+HybOUyxg9lkC1Ot1u6DSNWe4OyV
EB/PYtBr6WHRx6x7Nu3DiamM3nGjOjlwW68v9+UUCznj6eusLXoqiGeI1sl4f1R305+w8eIe1S0K
SW0oZVotA1fts3jhLAs96a4QlsgaX+02raqslQpFuc13FY9AIBCt4ls9onPrGwG4nMbPv8mSNbH1
CHazNGrdfrO4zkS3wBX9Sy/tmDZvyVTng94PUsqadovCaYbd2svId+ypLSsl5VKUwS+9u2HgH3OG
Lz2bLU0ZktlQ6vzMMr6r27RWoSi3+W7iKaoD/9p8+/6jWgadlRHxzHuZhTZFdBICgfil+UZflvIa
KlgCXmN1vXS+8JBp36+zXEXYDu/Q2M8+Q+WVBNjNSDVqzBDvtPDvLINbU5BWA1Tmb+JuEIj4PnxX
t2k1Itzme4mXNZy233nA28DD85+XyXWbsGWDfYhiQS/bW295ZEkIBOLXBgeQ1R1nv+tB+JM6Bp3F
SCiJPLG+R9MzEK5nue9l4nMWg85ixDFCXO16KTZNbeCaw93PhWQmxLEYdBYjKtlvzfT2nz02NZYX
V5cVVLc82lxxgFsBI/aRtRZoWz1KbprgjQ4YpkgusCnXk4XtQHPmw6SmXFfXdKJ+mCiupf/3+Nrt
K+M+mSgmVYgpdZ125NLdKgadlX7/vpOJOHaSTAY5VM3+jgf8s9PoLMbzvJseaweri3zcI7ehrN6o
rSeuFDLorKzIZ97LJ4pxAhGuOdwj4PrrpqLSHzz1WjJG+0OkSegAIrqS0KMAAEbsvlnBoLMY0Snn
nKfqi/P8LqkMgtIkcxsSQ8n1cEhlRPkNeX/si4qFD4sR4mhIlVSh9MWDRM7GeeVvMXzmvEPXbj6J
unx6z4rL1bK9h3WRE5GEQCB+bag6cw8FnRnPf3LBZ1lsblGDjLa+Uk5RUzDAr0q5tXP9tcKyelyj
l82mDYd92Elj98Y1AK5gZD7MmHPedXZkGa4zYOVm2wDvin4zzzE+HjT+LvPyib2NeS23O6pP8Ro9
MdDMwdtvROyiRaeS2QDAqykUsQeWkFx8dkkBFwBK77iYJdJkdCwD/JZ8lotEIUVrzIlA12mVoVuc
7ubIGFnMW95bDDtJJoMETLHvzkDfZZzrmx0PJTC1zJdudDt7oGb8374FZI97JDbEVAftD/Zayru3
1flQGtbd2sXhSrDG5Cl7yE8kwRWMRg/qWHNm09JHVXIGg5atdbgZojVxqseTWgGJA5B1JYXEowAA
Ch6e2BSW36Dxm8OWJRePFveZG5jLJVLXhEQyiEuTzG1IDUWIZD4vdfGSORuAgPvhFSauYKCvAIUZ
RRyRSQgE4leGau8xXinWbdpU/4Iv7wnv8qMu5zf9NTkFGzHn5IDhutS4V+8HgcK48NtPmABxybRh
adsmjNTyZxR9eOHBL40J9v20NMG7iuycOrWqRmisepWTmyHeYUokubjMoiwmUBvKiG7SwhRihpZ2
M1QZm2a5er3mAjx5XDfKzlvtm8oQBq5v6byyfby9+c7AUj4AxGcJRkR72I3V9TtXSDLIEsvADSxX
LdV9vcty60EGByAqIkum1y377ZNOP7lULHJauigh6kE0EyA2PFXw7Lqt6wS/8SElPGIHILGGohmZ
RwHA6/DQq5FMgLh05VGpWyxHaATllop4TyaBDBIkchs+iaFI6pJMobTFg2TO1gLZrrO3Hx5e5j3/
Ws7nGUiSEAjELwi1nxakbQl7K2wAoLQbar3Xaeb4nvrqOKusTkEWihRlvlzeyavILayHrnpKFIC2
uVFmS4WyRoMMoexmdPGPvQXKGw83psgq+j5NaBl7lXTSkAExb/SfQesytDOUhT5sHsrZ+U8jyuz/
GmxIu1RcJ3YpDbmRD8oWWw0zpIWU1InrAC2h6v9G4lEt4ZXnFjZAZwNVCoiIKiSQIRXIHLuloRqF
5v7BtBQv81XOhin2XbT/zqZu4RsWbY7/9EgMkiQEAvGLQhUACIQ+y8p0tLrst7rzU5+19o/TqzHd
EWuC1mkJL0TA4wOGY9i3FEpI872MtPYWCgV8AWA4Lm2xYsn4CIbhGFSG2iw+k/rxLZGgsboVx2EL
LfWTf0lQggD4ABiGQascoGUBfEKP+hxeIw9wiii3kUyGaJ3v/yuu23yZ/4OhQMDnAy5L+X7+30rx
X+FsuPIQh39DV2ledlyw6k4xR8wkBALx60JNrgBLm7F6IZcKP3vkku801BQvOOTuG5TJAYBc5aJ3
8PV3cwG7ngM0dSXpfYYm4LDeAShrKlCgVozBrCEnOgcmDbHsLBeXKs1Drkhk8BvZjQAKKvI4MJuf
eRuyn+YIJpkNoBZfTa1v5UOeUBs25MTkwqSBYzvIxmdxAEDOcPhobUiPy2/VO3wZvQGjtIHxvOAd
AE2EAwiVwS1+QehRkiHKDyX0qFa6zee0NJSgprgKaF2M1alPWcIe/SVUKMxtJBMvsbNR2k/ZeW2V
9uWVNivvlXHFTUIgEL8yVJ/tT8Yd23nhZo+z55/mlLCpqjp61ISrwbkcdl5CFgy3WTUvyT8hvwHT
7KMjL4X6GgtfZjfYm+9wnOYeVU7V6aj84kpA9leN7vzanNgicLRbblcZXqqiL5d4JTCH5MGJX3D7
mO+Kky5+R6ieQZEFbI2B7QCk8KBFIoPPfPWyAhYtWmxdHctU06UmXgvO5RTePnzc/rSjv6/6v4Gh
6RWNNO2u+jXX/SPfiL5DC7dhwe2jp1ec3HJqF9czNI3SbcEa+67FlyffEevAxf5LVzkqxGRzDWet
djSpfTAvrJgLIMoBhMuoe0HoURJYFSSVIbLYVrrNe4QaCsrjLyUJ9jtv3870Dy/mag/QBmgZUEmq
UJjbSCSeL6Gz0Xqv/+d3LNztbL5ajx5Na48ErLevXtXyyJIQCMQvDbXQb8XckiUr182295mvAACs
4uQLW+9ezuVwXgVYOagedLI5c2G1HICAzXyb9iSb9ZV3DUFlpMfygN17F7iGLAZuZdppl9DA7K87
t5Sd6bnRt+++hZ7HpvKrM0673AkiHR4EtfHrZq8s2uq4zNXTiQLArXn1/E4W66tXhAiT8b7QhpQ9
my/23Gl13NuKV5V+xuXu5VwOn5n4z6wl+etXLl/uZq0IwKvNjvKLuChOVEFgw5p4lzlOFW5Oaw8e
Voa6rEjf2dtPkX8A8gG+opnTvtk6FG4R/eoKB88b5XwAEOUABDK4hB4lkVkllSGy3Fa6DYmhgFvg
6+Cst8flb3evNQDAqclNuMv4uFWLpAqFuo1E4gUSOZtMuz7DtEB5zLaHYz7+z+cbx5lfKacQJ7XN
pVUIBOJ7gc4s/bWhdpgfHe5SuXLUxHttcT+otgMyFAKBQIgBOlQLgUAgEAiEdEBRBQKBQCAQCOmA
3oAgEAgEAoGQDmiuAoFAIBAIhHRAUQUCgUAgEAjpIO2oAlcxXbZls4spTcrl/sLIGU123WZvoSV5
V6FOQSAQCMR3QepRhWqfxQtnWehRRf8UIR5yxtPXWVv0VBCnqzDFDmaTLUy1Pt3GEXXKL4NwBxCV
SWX0jhvVyYHbev3Ys8yJxbcVhQgEQiT4WP/IWBaDzmLQWYyotKCdjoM10eDz0yJrYusR7GZpJPOj
hSB+DBI5AE4z7NZeRr5jT23Zb6VLLIjFS1mhnIn1nseRj6sZdBbjMf3U8rHa0jtBAIH41aGqdWov
l3po2bLHdbJqRuNs1+69YKLyx7xdGei0IATi14BXEmA3I9WoMSO1rW7wJWWFjZW5qVeO3NmUXU3p
+sfBvX9f3J7UbdVT8fahRSAQ5OAAADWvM+gpqbFRobtc9kRwu/w12ahpnpGq2d/xgH92Gp3FeJ53
02PtYPXmkB5X7z/vkPe5lzFR1U3zHAlnnbp8fMQYsftmBYPOYkSnnHOeqv/h/+N6lvteJj5nMegs
RhwjxNWul2LTtD6uOdwj4PrrZDqLQWelP3jqtWSM9ocZE1yl99yTIXfKGHQWg85MehC7c5i6iOMh
cZ2pvrWMMHfT5vlS5eGXkuhZm0yajpCQ1Ru19cSVQgadlRX5zHv5RL33CuV6OKQyovyGKDT9U8XC
h8UIcTQUMXdDmotMPLF5MaWu045culvFoLPS7993MiEX0ITiALcCRuwjay3QtnrUZElGdMAwxQ8/
IOgUEhlENQ29lER/Mqddy1cy6hN9a17uN1cEct8gsjyuOdz9XEhmQlzTnFmy35rp7T8+lcrqjtx8
PPhNJp3FoDNfhD3zWzNO4ytWmZA5GxlE4kVeDlKF0KNIHYBIIa4/J4DFoNfS/3t87faVccqf1CRt
Q5EUSCyeTCF5XcQexS95GuB19UlUUvKj62dOpIOSXjtFtG4dgZAOn94lBDz2u+bTqTHFvjsDfZdx
rm92PJTA1DJfutHt7IGa8X/7FvAAKDpD5/5tAef27N7EKK/lyahpUDPefjxRqeDhiU1h+Q0avzls
WXLxaHGfuYG5XADgV6Xc2rn+WmFZPa7Ry2bThsM+7KSxe+MaAFcwGj2oY82ZTUsfVckZDFq21uFm
iNbEqR5PagVAM93tu3Hmaz9H28gsJq6q17ETL48l4qmCXx4fmgjbJozU35r8igNA6zxyIK3ucUT+
OwBMddD+YK+lvHtbnQ+lYd2tXRyuBGtMnrJHzCMzWgexeBLzUrTGnAh0nVYZusXpbo6MkcW85b3F
qKo+xWv0xEAzB2+/EbGLFp1KZgMAr6bw45GlQjuFtJcJ4FblVAl66avIQBmm2b49pTy3lKuurwqV
L8oagcQ3SCyPKxiZDzPmnHedHVmG6wxYudk2wLui38xzjEbAVAZ6BB2xwyN2rj8aVw76Y9afshlq
onTkfqWEJ06QORsxpG4j4nKQJsRqn9+1AAAgAElEQVQeReoAhApL77iYJdJkdCwD/JZ8a0ORFEgs
nk+iUDKPagFFZ9QSp27F55ZHFqNj0RAI6fAxqsBpWsaWyx0nyJX63M9/B3h7S+eV7ePtzXcGlvIB
ID5LMCLaw26srt+5wvdnEjVkXw6+E84SUurr8NCrkUyAuHTlUalbLEdoBOWW8gHgXX7U5fymnySn
YCPmnBwwXJca9+p9eUUJUQ+imQCx4amCZ9dtXSf4jQ8p4cmoGahAFSPhYczLEh7AS7o4zeKVxV5I
Aq/JIw1PvcrmynQYNliX8/Jaej0AbmC5aqnu612WWw8yOABREVkyvW7Zb590+smlYsnNSASheFyf
0LzFHSztZqgyNs1y9XrNBXjyuG6UnbeayKoE7yqyc+rUqhqhsepVTm7Gu89/IKxTgFhGIeHJU43l
aWWCxR3VZXDNP47956vk2Xv6VW0jdX5xdsmHW7YQ3xBt+cK48NtPmABxybRhadsmjNTyZxRB+4kO
S/UL9k/duC+dAwAqNBuwEW2NphppSopyFAwABDx2XR275cAh3NmIiyIRzyNs8tcoJEgivhxEOoBQ
hVxmURYTqA1lDV/8vAkpGoqsQGLxxAol86gPwShF12Lzg4MDHzvbro6sQoeiIRBSAgcAGOYVWcdI
KI8JOj+De3HLyq0vGgDkjYcbU2QH+T5NaFrLWRfvYU4F7U4arZnY5ZXnFjaAioFq05w6pd3QRaeD
br5JTqhLffxi7xBZkFWUETLz2JAb+aAM6zXMkAYAtbEb3R7yrY7mRl+8uGmepbGSWAureCWhAYm8
bn9MNqACRWPo2I7cxFuxtQIAWpehnaHs2cOC9wtH2PlPI8rAZLDhN/nsklA8iXnljQYZQhk9ulj0
6aUS0bJTJOplPisvh6nUQU9Fs/98Uxy6TRyto9i+i3IVo5B0Dkl8y/MqcgvrQUlPiQIg32VYF6wi
Lux16xf60PodiXxc+PxR4fNHbyP+GUzQwZ84mxTES0khUZJkl4M0kLqhxCtQKnW19Kj34FpjTx6c
Uuy+3DGs+NtMKyEQvyZUAIBkj6V2j6saasrzS2o57wcGDMMxqAy1WXwmlf3h14LG6rdfPgKRwWts
fqMCMh2tLvut7vzUZ6394/RqTHfEmqB1WsJzCYAPgGFNCxDYmZdcTO+bWE6bYjVjWYitY4LP6hme
cRUiZiz5JZEX7zUcsJ1iePJil9k9BfFbEys+PI9gn6zL+PgPAZ8PuCxFxKqNL9SS5CIST2JeqoAv
AAzHW6miFXzsFMl6mZ33sog/pGvvUcamWWe9qLMXjOkRpQt5V4pE+waR5T9DwOMDhmMYAEaRoQC/
kSvB6yl21n57+4tyGADw2SUpbIKffeJspIgpXioKCZMkuxxE0Gxd0jZJ3VDiF0iisNUe1UxjYaC7
a+atb/SmCoH4ZaECADALs1MyP1tW0JD9NEcwyWwAtfhqar1UVhzIdxpqihcccvcNyuQAQK5y0TsQ
HlXI6A0YpQ2M5wUfRilORfr1M+nXzx7tueTMsw0bbUNmH3gl4lGeXxlz6L+Ke3/NNc/THQT01Y/L
eQAADTkxuTBp4NgOsvFZHACQMxw+WhvS4/IbAKCmuApoXYzVqU9Z4k8UcEXlEiaexLyNOdE5MGmI
ZWe5uFSikZAIAbueAzR1sR9gJetlfmVWZo32MLsl6uk+O07K/ma75C91neqIbCbpNDKZ5YkHFvab
pCIY/9vQdtTn+a2cvOHXZSXEZ4n61ZfO1lrxkkOikFQ88eXQWgd4j4DDegegrKlAgVqi+OTrDfVZ
L39RIJl4YQol86j38OsKkrOo7G80IYhA/LoQrunmF94+fNz+tKO/r/q/gaHpFY007a76Ndf9I99I
eh2y8xKyYLjNqnlJ/gn5DZhmHx35T3/Qf+kqR4WYbK7hrNWOJrUP5oUVcwFAyWzrJvPqmDh6fjVb
Xne4WTvg5Zc0iPMatP7Z2YA0K0ffHYDHb3z4fqaCX3D76OkVJ7ec2sX1DE2jdFuwxr5r8eXJd0p4
AFAefylJsN95+3amf3gxV3uANoDoJxkeSS5C8STm5RfcPua74qSL3xGqZ1BkAVtjYDsAMef/Gwtf
ZjfYm+9wnOYeVU7V6aj84kpANkloImEvN+Q9Z8hMszR4/FdkyRtqUML2PeZ4/M435CLJLE/8aQH3
1Q2/hw47dh3fxPs3Io9qMGquCUARuRXEQbizSST+uyLicmitA7yHX5sTWwSOdsvtKsNLVfTlEq8E
5rzvTSkaiiqiQDLxQhVK5FFNUI0XnYrf2K0x+p9utmGlaFUFAiE1iC8+ATPxn1lL8tevXL7czVoR
gFebHeUXcVHyqILzKsDKQfWgk82ZC6vlAARs5tu0J9msj7dlvqKZ077ZOhRuEf3qCgfPG+V8AKDI
yeNaQ9bus9aWBQBOaWas56p9wcVi3QY4r6+5hi0Jnii4fCa6rDmHoCbeZY5ThZvT2oOHlaEuK9J3
9vZT7z8A4Rb4Ojjr7XH5291rDQBwanIT7jLqRdVFnItEPIl5BbXx62avLNrquMzV04kCwK159fxO
FkucJgsqIz2WB+zeu8A1ZDFwK9NOu4QGkg4qkvUyvyYrqgCMY86HVwn4WNThu0xzk9gUpojJDjLL
E8MtumVjrXxoxxL3IzNwbnnaaxxAwBN87fSZUGeTunipI+pyEO4Aol2Hnem50bfvvoWex6byqzNO
u9wJao4qpG4o4gJJxQtTyJe8U/g1r7Pe8I2Y6cXSmYlFIBDvaRsnoVM7zI8Od6lcOWriPenuwyPT
ffml+LlRoyceorduPQiibULpbBuYvKFq/pBl16slHA2+mbP9vyF1QyHLIxC/AP+fu3PjykY9eyhj
6n3nHFitcX3V+SQUUvy8KPSwnWfKzM4rZmEaXX9f7dy17tGGGFHzIggEAoH4Efx/RhXyfZbuvzdX
l1+Vfsn1b+cHX7lAHvEjoap1GTl9xYzuarIAfGbB0/92T9r/4LsvZ0AgEAiEOLSNNyAIBAKBQCB+
ftDu9wgEAoFAIKQDiioQCAQCgUBIB+KoAlcxXbZls4vpN9nJ+v8YOaPJrtvsLbRQvNYKkLMhEAjE
/wUkUYVqn8ULZ1noSXc9J6bYwWyyhamW1E4vaG2B7w9WbvoTNv7zg5W/Hjnj6eusLXoqNFsWUxm9
40Z1cuC2XnKk+dom36m/RDjbz21DBAKB+HXAEz8MsR/+1PqNUvlW9cma2HoEu1kateaMMqkWyC+9
u2HgH3OGLz2bLS0J5OA0w27tZeQ79tSW/T4VSpUf3l8A8LPbEIFAIH4dqLMH/4EDpj75wMlt2PHJ
ayPLBcBjvq37/11xwa0pSKsBKvO3+u9TH68kwG5GqlFjRira+UdSkA0RCATi5wDPSclgpGTm5NcD
1BenZzJSMhjphR93hx6x+2YFg85iRKecc56q//EBk6rZ3/GAf3YancV4nnfTY+1gdZFz5IoD3AoY
sY+stUDb6lFy07xIdMAwRdICKQbTDhcxIs5OaJoyx3UmuBcwwo4MU8VFFSgZxO3C9Sz3vUx8zmLQ
WYw4RoirXS/FDy85lLpOO3LpbhWDzkq/f9/J5INxm9621NL/e3zt9pVxn7xtwTWHu58LyUyIYzHo
LEZUst+a6e0/PojL6o7cfDz4TSadxaAzX4Q981szTkNEmCfXwyGVEeU3RKHpnyoWPixGiKMhtaku
j4Drr5tMlP7gqdeSMdqiX2yRm1dWb9TWE1cKGXRWVuQz7+UT9URPPojsL2HORmZDAFyl99yTIXfK
GHQWg85MehC7c5g6+blSikMvJdGfzGnX0prqE31rXu43VwTSXhZRF0Xb/GTE89rIXdO0/18DcgQC
gRCJqMGl4OGJTWH5DRq/OWxZcvFocZ+5gblcwBT77gz0Xca5vtnxUAJTy3zpRrezB2rG/+1bQLY5
UX2K1+iJgWYO3n4jYhctOpXMBgBeTWEDAFmBBTe3LxgQdMNzX3zWCp9344+7j6vwXbQppoZPWqBk
kLaLX5Vya+f6a4Vl9bhGL5tNGw77sJPG7o1rAIrWmBOBrtMqQ7c43c2RMbKYt7z3+/L4pXdczBJp
MjqWAX5LPqsLVzAyH2bMOe86O7IM1xmwcrNtgHdFv5nnGI2AqQz0CDpih0fsXH80rhz0x6w/ZTPU
ROnI/UoJD0HCFYxGD+pYc2bT0kdVcgaDlq11uBmiNXGqx5Nash0qyfpLddD+YK+lvHtbnQ+lYd2t
XRyuBGtMnrKH/AgGkf0lzNnIbAg0092+G2e+9nO0jcxi4qp6HTvx8ljku25yq3KqBL30VWSgDNNs
355SnlvKVddXhcoXZY1A0ssi65IzGD7BgEKBYeM6yP5XhjZzRSAQvyaioorX4aFXI5kAcenKo1K3
WI7QCMotBX1L55Xt4+3NdwaW8gEgPkswItrDbqyu37lCkkOpBO8qsnPq1KoaobHqVU5uxscbL05W
IL8mfI/znn4XDvjs6FVtPu6N9/AjSXUC8gIlg1QGwLv8qMv5Tb9MTsFGzDk5YLguNe6VwNDSboYq
Y9MsV6/XXIAnj+tG2XmrNf2OyyzKYgK1oYwo0imMC7/9hAkQl0wblrZtwkgtf0YRtJ/osFS/YP/U
jfvSOQCgQrMBG7WvbBsAFCVEPYhmAsSGpwqeXbd1neA3PoRsj0qS/jKwXLVU9/Uuy60HGRyAqIgs
mV637LdPOv3kUrFEBb5HmLPxyWwoo2agAlWMhIcxL0t4AC/poq3QWJ5WJljcUV0G1/zj2H++Sp69
p1/VNlLnF2eXNAIQ9jJXZF31Sd4LdzHHYTFHX6KQAoFA/LKI+4UHrzy3sAE6G6hSoFTGeLgxRVbR
92mCb4tflHTSkAGyqIIYefICBQ3p+1cdsAhbb9vx9e7J55Iln4z4GhmUdkOt9zrNHN9TXx1nldUp
yEKRogwOIGM0yBDKbkaTHxAtAl5FbmE9dNVTogDIdBnWBasIC3st5unnraYhN/JB2WKrYYa0kJI6
SQqgdRnaGcpCHxa8V8jOfxpRZv/XYEPapWKJCvyMls5GOj1TG7vR7eGNnUdzx6f/99+tC8E37mbX
idjLm8/Ky2EqddFT0dSYb4qDzMTROndruihXMQpZAgDCXhajLl7Fo3Nej76y6QgEAvFzI/53o7xG
HuAUDAPAMByDylCbxWdSPx6yLWisfivpM5rIAqntB4/sSRHwwGjunz2Pur/4NmdLkcmQ6Wh12W91
56c+a+0fp1djuiPWBK3Tev8LvgAwHCd+nd8slvSFv4DHBwzHMACMIkMBfiO3tW0U8PmAy1LIlxW8
F8QHwDAxfknCp9m/rqwv+Ohs7yGwITvzkovpfRPLaVOsZiwLsXVM8Fk9wzOO9NwXdt7LIv6Qrr1H
GZtmnfWizl4wpkeULuRdKSLvZYnqQiAQiF8NSRaWNWQ/zRFomA2gFmdm52a8//Mqp5wtxjgoYNdz
gKau9MnaTvICMSVTu0s7+iftnjtoa5z+kgP7f1fDRRQoGn4juxFAQUW+RVFkMuQ7DTXFC065+wZF
pySlJUe/LGqOeBpyonNAa4hlZ8KtFAQc1jsAZU0F8TSy3yQVgfZvQ9u1bqcQbk1xFdC6GKuLzCaj
N2CUNjCeF4gRBQrvr5yYXNAaOLbD++WlcobDR2tDely+GLNIEvYXiQ05FenXz+y3mjp+oHtuf7uN
tobkBuBXZmXWaA+zW9I93T/4ZEBOT5u//tCpTsxm8sl6WYy6KJqjbBx3LRqkI7W9PRAIBOKnQ5I9
rviFtw8ftz/t6O+r/m9gaHpFI027q37Ndf/IN6JfAjQWvsxusDff4TjNPaqcqtNR+cWVgGw2SYGY
8m+uR//u8HBjf39GEWxbOfrq2f0bbk3cfKuCT1Kg6DYwX72sgEWLFltXxzLVdKmJ14JzOSQy2HkJ
WTDcZtW8JP+E/AZMs4+OfHNJBbeP+a446eJ3hOoZFFnA1hjYDuCTlxf82pzYInC0W25XGV6qoi+X
eCUwh+TtBvfVDb+HDjt2Hd/E+zcij2owaq4JQJHIFvHK4y8lCfY7b9/O9A8v5moP0AZobPmD/ktX
OSrEZHMNZ612NKl9MC9MnHc2ws1bcPvo6RUnt5zaxfUMTaN0W7DGvmvx5cl3xDlJVNL+EmpDJbOt
m8yrY+Lo+dVsed3hZu2Al1/SIGJNa0Pec4bMNEuDx39FlryhBiVs32OOx+98wwEg6WUQWZdCn2Xn
t87ShulqSZYOiWhpBQKB+DWRaOdMATPxn1lL8tevXL7czVoRgFebHeUXcVGcqEJQGemxPGD33gWu
IYuBW5l22iU0MJvNJyqQpzjIcedypXt/bb9fxAOA0qtuB2zvbz+8OuTR9kSmgLhAkUIaUvZsvthz
p9VxbyteVfoZl7uXczmEMrjAeRVg5aB60MnmzIXVcgACNvNt2pNsFg8ABLXx62avLNrquMzV04kC
wK159fxOFquFBHam50bfvvsWeh6byq/OOO1yJ4gsqgBu0S0ba+VDO5a4H5mBc8vTXuMAAp5A1EwQ
t8DXwVlvj8vf7l5rAIBTk5twl1H/UQZf0cxp32wdCreIfnWFg+eNcnG+KCEwb028yxynCjentQcP
K0NdVqTv7O2nyD8AIS9QdD5hNsTk5HGtIWv3WWvLAgCnNDPWc9W+4GIR7eLXZEUVgHHM+fAqAR+L
OnyXaW4Sm8IUAJD1MkVUXeyC6HsFM6yw6PtvvtWCGAQCgWjzoJPQ2zqUzraByRuq5g9Zdr1awuUk
1A7zo8NdKleOmngP7SKFQCAQiG+HdE/5QEgFhR6280yZ2XnFLEyj6++rnbvWPdoQ821WqCIQCAQC
IT1QVNH2oKp1GTl9xYzuarIAfGbB0/92T9r/QJw1CwgEAoFA/FDQGxAEAoFAIBDSAR1ZgEAgEAgE
QjqgqAKBQCAQCIR0QFEFAoFAIBAI6YCiCgQCgUAgENIBRRUIBAKBQCCkA4oqEAgEAoFASAcUVSAQ
CAQCgZAOKKpAIBAIBAIhHagAgNOUFOUoGAAIeOy6OnaLXRxREkpq40kIBAKBaDtg/RRMf/N5cnqe
KgAAVP83bpRrdENzKg0loaS2nYRAIBCINgTWT6GbUjeznu3lMADgs0vo9Ne1H453xlESSmrbSQgE
AoFoQ6BzQBAIBAKBQEgHtFoTgUAgEAiEdEBRBQKBQCAQCOmAogoEAoFAIBDSAUUVCAQCgUAgpAOK
KhAIBAKBQEgHFFUgEAgEAoGQDiiqQCAQCAQCIR1QVIFAIBAIBEI6oKjiW4Ir97LbuNG5t/yPFoKQ
MnJGk1232VtoSX79SMU3vl4GCT+195KI/6nbhUC0ed7fjpQmn0+suzBa5QcqwVRG77hRnRy4rZfc
l2mKHcwmW5hqUX6Arq8BV+tnt2TuBH2ZHy3kK6BqT3D2SoiPZzHotfSw6GPWPb/snx9b1/dU2Iyc
8fR11hY9Fb4iqpCGb3y9DBJ+au8lEf9TtwuBaPO0nbkKnGbYrb2MfMee2rJfpMma2HoEu1kaSeU+
QFEd+Nfm2/cf1TLorIyIZ97LLLS/iFYwBdPFJ0sY9CTHLp+MUJh8tz/3MRjhx/vTWv5fpR4zjgXd
rWTQWRnhsUdtR2q0xqxEdbUyl+IAtwIGnfXpn7xdfRVIm0yWCwAA15noFriif+mlHdPmLZnqfND7
QUoZt1kDrtjdwvbY6UtZLxMqr8wxpIhTIAkEdYnoL1KFQhHHASRAmDUAMIVOE/adu1HCoLMYsZlB
25b0VBTHOXDVfqu9gguy6KysyPgjC4epiZOJsC7STpFEIXkvy3VfmfJJ0tnZ6thXFChKofCrEoFA
/BCoP1rAB3glAXYzUo0aM1KZ37QeWcNp+50HvA08PP95mVy3CVs22IcoFvSyvfX24+nast0XeN51
6f5pPqpWn4lOjiudf9cFqG6ZgGuan7i4bVLu+eULHhSoDnJ2cwz14fa38mc0iiVHWF2S5GpIPzV1
7lW593dvXPv3NeeX696PLGCTNpkkFwAAyLTv11muImyHd2jsp8eEYrQuSw8c32dWEHQxZMPZ3Lyi
/BK+CBmiEF6XbCfy/iJUSGg70Q7QaoisgSn19wjYZ1V4fuX8MAal61/rtxw5L5c3dsuDGgFZcRT9
Rf+e3GOa6vWP01P4zWmb062jTLNFV/NIFZLURdIpkikk72UKTVUB8g8u3RhUwgUA4Nfn15K2l7RA
UoWEVyUCgfhBkEcVsrrjbB02zP19SAclDPh1hc88lzl6ZHAAQFZv1Ibtq5eN7awmqEl7GLTVzTes
qBFArs9Kr0t/D+6owClIeBhR3/vPke3ZycHLlx24VUolThLoz/Fn7O7ZVOeTlaMm3vsYWCgOcMsM
/EMdAMDqUbIVAAA0XF84bn40S0TTCMRzXvlbDL/AbeQDADxJeNtlxP2Jw7rI3Xpb35QN1xix7qqL
6vGl2zsdOTzwQ2lyXVa5O1lkBdk46bofHtOiGkxz6Lxpyq93rDsa9IoLkJLKMcn0WWDXI3h98vuR
1GzVqcyDPQzkGt8m3ty1zfN8Zn3zLZagLsD1LPeE7bIwVqYAcN6+uOPhuv90KotPmovPKkhMLGj6
O0V7nP+CXqUBdmsfVvAAeMRNJsnVwvIzHybNBACAV1vHzzn4iguY4uC1h920LppbnE+q/2TAICmQ
pF0kdZH0F5lCiR2A0Ocxpa5T9+xcYd2/nSy3PCWHBlDU7AKE1pDvPGaidmWgg3dQ4juA9Ay3PrOD
h5m3l3lQwyHxDfnuc9cPFtxzWrcltIIPT56zjdMOLbXrdmtLOpkMkrpIOoUmkULSXgZcUUOJV5bw
Ij2lBj6Dqtl/xT9Ojpa99WR45RnhR3btPRxXxSMtkEwh4VUJJOJFJiEQiK+AJKqg6Mw9FHRmPP/J
BZ9lsblFDTLa+ko5RVwAwFQH7Q/2Wsq7t9X5UBrW3drF4UqwxuQpeyJrqDp9zToW+fy5OXvKYffF
dWfn2uTPPLT9qMOd8G05xElJpXdczBJpMjqWAX5LPlNRn+I1emKgmYO334jYRYtOJbMBgFdTKOqx
lFg8gIDb+GFYVzDQV4DCjCJOsz10JngfHPty81/76O29WxbIznS1HLddIKCZrtv3SU2YvIoiDnXF
dU2DvoCZFZcNYwd2UcKaowqsIfnfzSeyuB1nr3Y6flG5asLGG+V8srqAX5Vya+f6a4Vl9bhGL5tN
Gw77sJPG7o1rIFX4UZHSMMcN0/h3Z3slNj9wkjWZKJcQy/PZJQVcAMA1R2z+ywB788flp6va09hv
ku4f3HnAN7mOT1ogSbtI6iIRT5ZLMgcgzkXRGnMi0HVaZegWp7s5MkYW85b3bm4oiTU45TlvBBpj
JvVSe5FQzZfrNKSPJjM16u3HWSxhvgHtzAZ1gAzXRCX7C9dd5c+McbqbDDtG99WgpBcDsQyRdQnt
FIkU8kkKBMBomto0To18Oy3V+oqaxo+DNabYd2eg7zLO9c2OhxKYWuZLN7qdPVAz/m/fAh5JgWQK
Ca9K0eJFtAuBQEgIcVShaGbvMV4p1m3aVP+CTwcg3MBy1VLd17sstx5kcACiIrJket2y3z7p9JNL
TAAQVGXFJ8TwUti26pkxsVGs5+tn9+ighOUQJyWVMouymEBtKPsyWBC8q8jOqVOraoTGqlc5uRnv
xGoWsfiWyHadvf3w8DLv+ddymoYbiu5fe/8Z8Gjz4NslXLn2nysRCH2Y4Ze9iMuDhU6Lh0Qejing
Khh00lMCYMpTP7z6TfQ9euQeEwAeplH63nNcP/Hw7QtvuaR1vcuPupzf9NfkFGzEnJMDhutS415x
yRU2QW1vuXOOZtJ+7/tVX94lv2gycS4Syyt0GztIlhl796zXw+xK2U4z17ke8lcps3C51uK+LFQG
UbvE6+XPxZPkkswBiHNRDC3tZqgyNs1y9XrNBXjyuG6UnbeaSGvw3t6y3zYkdKdv2uDIW3n6035v
PGi36271R0cS5hvlGgZqwEoq5ij266CkJGegwk5/2wD9DFRkoEyPWIbIuoR2ikQK33KJCwSgqqq9
e8sZcOr2fQrwCuJDtm3xCn71TgC4vqXzyvbx9uY7A0v5ABCfJRgR7WE3VtfvXCFJgeQKCa5KMvHi
tAuBQEgK4bosqv5v/bQgzS/s7Rc3ZVqXoZ2h7NnD5hsvO/9pRBmYDDZsuVaKzxcAhmMg4HP5gOMY
JlaSlCAR3wym2Nf28KNdPcM3LNsczxQAAODtxrrs7Zu43uNpqx5a3qX7WO97pLTk38yURFZGVJqv
rTE0lhazvnwJ3lj0/HEZdB1gIC+iLkq7oYtOB918k5xQl/r4xd4hsiCrKIOLp1DWxMpmICfK49qb
z9d1CGmyGLmEgCvq6CrBm+uBd8KTMl88D9u5+Uy24u92A1Va9KTQAonaJQZk4r9EMgcgySVvNMgQ
yujRxV+OO6TWoNDad2yvVPLU58qLcj6PR+s5Z+4IQ2GLjlv4RjMNaVv+mGQyYV9MvTgyxKlLWKd8
jULhvdyYfd6++4BhKj2Gm1jtfqg190zgP+aqGIC88XBjiuwg36cJTYsx6+I9zKmg3UlDhrxAsRWS
IEy86CQEAtF6iOcqBHwBgIBwfdinscCXgYGAz+PyhQ99REnNQ4UUogwR4nHlIQ7/hq7SvOy4YNWd
4vdDCKY62nasugqcj044/+GXqy6XjtrVe+6VNyQL5QSshNNOPc4p6+uryTQwFWb4PF/XeJch7B0N
BljT0xVpXcUGVpf9Vnd+6rPW/nF6NaY7Yk3QOi1xFcp3XTijPTN8z8OKTy0stMkfIMpF0GAuhwug
oqtEAeADQGP561LANdspUaCaS1ygTEeCdomEXLxQiRI4AGkuAV8AGI4L8U0ya8gPXHN+Ke2w5Rp3
BgfO+e8P2hh/bov7rSdW4bWfF/PBN4BbWVANijq6Cji3vDgfANdup0+DqoLaRjIZoERc1/srS1in
kOQiVtgMudvw6vMTrq37p/6YHtQAACAASURBVJdl0MSFPd3DYzAMx6Ay1GbxmdSPa3cFjdVv35EW
KLpd4vCleHGSEAhEqyGMKrjFL5IrwNJmrF7IpcJPn18bcmJyYdLAsR1k47M4ACBnOHy0NqTH5bcY
SFkRq0aoAQB8+UUhYZKAw3oHoKypQIHaT+/sAnY9B2jqSuJ+AEgiHgAo7afsvLZK+/JKm5X3WnyE
KKi54zKjP6350ZnWa+cFt77Xnf88lVAkztcBXObb/Dpal9nBDsbMey7XhOWR7zhijLYgLeZNA2ld
tE5DTfGCQ+6+QZkcAMhVLnoHWmIqlO88bkq7d5HXkj8dEwiaDOS5iBCwXqcUwHwLM02P7GIegHwH
U0NoSHxV/aFkoQXKE7VLBCLEC0MiByD3+egcmDTEsrNcXOpnn7OQWIOiYdxNo7EwpbQpbuFXpcak
82YbtleiwOeW/ugbwC99Ef8G5s4ZqBZ8p5IPuNbACaZQ5P2ykgdcYhlkdTW1UVinSKaw+f+I4TbY
xwioIftpjmCS2QBq8dVU4UsjW6tQ/BcWLcVjxEkIBOKrIZ6rqHvhs/3JuGM7L9zscfb805wSNlVV
R4+acDU4l1Nw++jpFSe3nNrF9QxNo3RbsMa+a/HlyXdKeEJiiFbAr82JLQJHu+V2leGlKvpyiVcC
c5puJY2FL7Mb7M13OE5zjyqn6nRUfnElIJvsW0US8UDrvf6f37Fwt7P5aj16NL2TFrDevnpVy2MW
vs74UARNrboR3lW8YRQyuQAAmLx2xy6aMjQjDTmQ0exo3JtVV5WXV9jAB0y+fbeuXQw6DRgx0W7+
0PaZ/tO3RpS2eHjTHzhqXF0lzXCwndNC47chq8JKeCAgqYudl5AFw21WzUvyT8hvwDT76DTPzfJJ
FQIARWfAkA7A2J326QcyxE0my0XMu6yr3ikLdm/ZsaHmeFi1obXrPIPCSwuf1zWnCy+QuF2kiBAv
HMkcgNTnj/muOOnid4TqGRRZwNYY2A6AI9IapQnROTK2B1zncc/GvxHojLZ1GUvJ83hWzm2+8oT5
BvAyg/fHWR3Z6+FKOx8D/VZvG4bF7fLJ4gAAsQweSV3EnUKWi0QhSS+DQs9VK4YyUzLyagWqhgMW
Ov6pXXHjXFoDgKDw9uHj9qcd/X3V/w0MTa9opGl31a+57h/5hiuhQrKrkli8qHYhEIivgeQbEG6h
34q5JUtWrptt7zNfAQBYxckXtt69nMvh18S7zHGqcHNae/CwMtRlRfrO3n4qkvwTfHFgZ3pu9O27
b6Hnsan86ozTLneCcjh8AABBZaTH8oDdexe4hiwGbmXaaZfQwGw22WQ9sXhKuz7DtEB5zLaHLb5E
e75xnPkV8tUUsiZ2J6JsdZr+McX9/BRghViPXxRbD3LGa3zPL9OsyUl9fmPH30dCnhU2T6nz6/Me
Py+wWrDr+iIAXsXLe/9O2+33WNTELedVgJWD6kEnmzMXVssBCNjMt2lPsoWs0/gSOcM++lB5n8H8
pCkyIposPBcZja+P/b2CtsNl5TG/zRjnTexFa/ujsR9f/wsvULJ2iRJPgGQOQOLztfHrZq8s2uq4
zNXTiQLArXn1/E5W09e+xNZ4l35iuiPlkPOKq1fWAfCrcmO9Vu3dl8EBct/gFvo5LFN227Te3Wst
MNPCvP7Yeq1pswoBsQySukg6RUKFxAVSFNR0TCY5L3TQkQdgl798fHq+u09EjQAABMzEf2YtyV+/
cvlyN2tFAF5tdpRfxMUPUUWrFZJclSTiJbsqEQiEeGD9FIwBQGny+cdB+Br9BZHizYEjEAgEAoFA
fEbb2bEbgUAgEAjEzw2KKhAIBAKBQEiH929AEAgEAoFAIL4SNFeBQCAQCARCOqCoAoFAIBAIhHT4
jlEFrmK6bMtmF1Oa6J8i2gDfur/kjCa7brO30EKB7f8VyG0QiF+b99em0uTziXUXRqtIp1BMsYPZ
ZAtTrU+3wsRV+yxeOMtCj/zwdcRXgKmM3nGjOjlwWy+5L9OEdgoJ37q/5Iynr7O26KnQPDyQiW9L
KJjuDo2rurtumJL0D7D5tlC1Jzh7JcTHsxj0WnpY9DHrnk2WRm7zTZGqeUUViED8cERF/BTd6fcz
6SxG8Goj8W8Tsia2HsFulkatPAHouyHbeekLBp314U+S5xjFH61JTCj6y2+2UM6gsxgJoWOU3qfi
NMNu7WXkO/bUlv0iZ1vvFFLxbQhMvl0vI1lZQ2MD2s8VVeA6E90CV/QvvbRj2rwlU50Pej9Ieb9d
OXIbMcEUTGZsDIuMZTHoFY98PCaLdyCZ1M37k1wpiF8VEaECtdPkeQMrYh5Thy6d0enEIQbZLtk/
D40FV2ZNeSSPAYBMl3kHL07/0YJaS+oBi43xzPf/4DPfNO9qySsJsJuRatSYkcokytp2+UnECyoj
FkyY3x3Po5e15mTbH49M+36d5SrCdniHxn524sVPYnnhfD/xFMMZ7hHuPR4d2Gj+qESh37x/958Q
FM7Z8KJeRD6pK/yp+wvx/w/5XIVsp3nzOjHOHlzv97rTzBm9myNzuR4OqYwovyHvT/1QsfBhMUIc
DakAoDjArYAR+8haC7StHiU3PUxHBwz7OBUwYvfNCgadxYhOOec8Vf9jiC6rN2rriSuFDDorK/KZ
9/KJeh+ScPX+8w55n3sZE1Xd9HSecNapy8eMFG3zkxHPayN3TdMW91WrgFOVnclIyWCkZDAySz+J
lKia/R0P+Gen0VmM53k3PdYOVm+emySTQZBLrs/KE2kv6SxGXOalPSfO3ChlJLy5umFKOwoArjPV
t5YR5m7aPIepPPxSEj1rk4lYTz91hakZ7/WnZOTksfgAuP6cABaDXkv/7/G121fGKbf8OVmnyJns
ffzp5MenMzcE/YXrWe57mficxaCzGHGMEFe7XorN1icxFKbUddqRS3erGHRW+v37TiYfSiMRj2sO
dz8XkpkQx2LQWYyoZL8109t/fEST1R25+Xjwm0w6i0Fnvgh75rdmnAYuqivFBZNrN2S6tU33pj7B
tP7wa5ocKokIePzw8c0PU0Rt3m2aHODJwnagOfNhUlNHX13TiYrcphVuo9R/6z8jKnydFp+MjM9I
jwzy3JbQbqGtqVJziePsdz0If1LX5CGRJ9b3kJXcvITWICmQYjDtcBEj4uyEptcpuM4E9wJG2JFh
qqJvi8LFAxDelklcFGTaj11lNbSLAlr48stCOlch38XSSo9x5M6rDOr19NXz/+rmlZAkYraiPsVr
9MRAMwdvvxGxixadSmYDAK+m8OPDUcHDE5vC8hs0fnPYsuTi0eI+cwNzuYCpDtof7LWUd2+r86E0
rLu1i8OVYI3JU/ZE1ggAKDpD5/5tAef27N7EKK/lyahpUDPefjxRUs5g+AQDCgWGjesg+1/ZOyGa
xAZT7Lsz0HcZ5/pmx0MJTC3zpRvdzh6oGf+3bwGPRAZxLqpOX7OORT5/bs6ecth9cd3ZuTb5Mw9t
P+pwJ3xbUnl8aCJsmzBSf2vyKw4ArfPIgbS6xxH5kjaAX3rHxSyRJqNjGeC35LM0sk7h5Hgu+POc
LAaAq/T7+/LecXXXLr9o8SwrtL8A+FUpt3auv1ZYVo9r9LLZtOGwDztp7N64BiAxFEVrzIlA12mV
oVuc7ubIGFnMW95bDPG4gpH5MGPOedfZkWW4zoCVm20DvCv6zTzHaARMZaBH0BE7PGLn+qNx5aA/
Zv0pm6EmSkfuV/JJu1IkuGKHAX9Zz1/5P/bOM6yJpQvAZ1PovUhRETt2ufb6iRWxXwvYUFTEQlXs
otjFjg0VVMRCsV9FsSMgTSHShVAEgzSpISApm+9HUPGabEKIgt55n/xQNjNz2pw9O7vZsRrZhZoX
tOmpf3oBB/jlzzeaTlQiAVAMply7YP312y0/bIQEAF5XxOACAAobCcNGpfffUzRyDgSl16r3dnTf
6DS2m74CQFp7bXJMNehZHg28MB4Pv+K9Ijq7oJaqa6iSVcCVflaKtoboDnmMe9sX9A/85/D+2IxV
3p/Hn/YYV+qzeHNUpZglNbIo4QnSMkGIJskZmVpumL9/R1H4df+TfrdDMhqxtSzij4CoqpAzmWZu
kH7xYQGPg70MzHFaMa2zW2Iy8X7B/M+lmVnVGuUc4JTnZGW/+yHbvX8efCuUCRCTpjoyZavFcK3A
7GJoY+GwTP/9bgu3I3Q2QMSLDGqP+3bbJ54PDyisPwnUZt4Ievhc2J6aNYlei3Yzx2FRJxKaVFIA
kAwtXFa3jrUz2+VfjANAbAZ/eOQB2zH6vpfyuSLFIGhVAQD88ozYuChecp2NZnpUdATrzfrZJm1V
sMSakugrieA5aYTRuZxMLrXt0EH67ITbaeJWUwUMOlpA//Lvd0d6z7icxQUusyCDCZTakh8dROQU
PvtTXs4nALKO2TnXccqvD47bG1XWIA8J8xcOAJ/zIm7kCb6SlIwNn3O2/zB9SkzOlwQixFBkIwvb
Ger0zbPcPd9zAcLDqkfaegm2DCUSXkB+zPMH4UyAmCTFoanbJozQuUwvgNbm9ssMGQenbtyfxgYA
NUVrsNYQ55R8ohxHVjEZOWOlzVybIQYVSY/Ouy+98ID24XP9vlM8VmFGJgAApe5TAxP+BmFDEAAo
bCQLm+I2f3VTrXwbU6Ix8+iZfd1D7ZfsB3vvk7pyFAyU+9odGK8SvXPa1MsM9vcCSGlekdYgVBmv
fL7XZW/fK4e8d/SoMBv3wWvY8cRqcZumKZuKEp4kOi0zQXSIFkcdGj7gfJ8x0+2sra4FO5cnPjhz
8dr5RynFHOECIP44CKoK+Q5zzLWTvcPzeQCQf/9+nvuc8SYHkmmyebaC9yk7vxY6tFEnQ7FcxyEd
oCT42Zeorst79aLEbu4gI8WAwmribgCAV/rykudLGYik0GlYJ7Kcss+rOJ8Gfy1qr0UFglMRQauK
r//FcT5gJAz4OBcHEgnDAHhFwVfjj3hMmdTmmucHrSFj2nHjz0ZLuHFig+cq8NriD02/FqC0WXRo
rxUEWzoGpAv3b0N/4QDkVkMW7nOeOb67oSaJVVKtJAcFylTiNU8F44FGUHIvsrAp4vJKs/NroLOB
ChmA2nFoR6w0JOQ9+4evSedKqsnKy3FOxp/Cz8yzuPaQzpRsa+zfJ2xkzn8obMp1O2hBGaNMpf+2
kYpvth7ze109vJwDugBAMfyrrw6kbg35+GOPvxh+bdpBh0NjQ9bbtHu/Z9KlJOJLQABC4RVFp+WU
r18SEqJ8AG55wqOLqx75rmszYJHL1oNHrzj8Y9tl7RvxyRzxJyC6qpBvN3pKa2oH9weV7l//ZjbZ
+CQtnQ18HAeSHLlpz8DzODwgkbEvnWDf9farHq/HSGTBPAAADCNhUBZsveRCyrcUyedUfCRcAyFo
9c24fJzHxf+1EokXhV57XHvIZrLR2WsdZ3fnx7rFl0r4/F91fso7utDdZb+cXhplP7kui/YeHVZ6
er5HMMHu4g38RW1ndcPXqcMr77V2YWkVmP7wNYHrdMQOw8f5gJFIokWTSHg+DweMhGEAGJlKBpzD
FXJKlc6VvMLwwEvDly4aseKEalvvy4EXQpIL2WJP2L9P2IgGhY2gBwKnKKrIAeczrqKnQ6pJzWc1
rDj5OB+AT1CDSmVeIkR3SGk9aER3Mp8HxpZ/dz/h8ZYpLn7FCC8uLQsLUQAAIKt1HzXNztpy0dDW
Ve+enLiX28SVZMTvg8iqgmo0epxxQdAcu8AswcqVQtfNvntnjDLcn/6eW1lYDoodO2lSXrGEXUHw
62rYoKipIunTcbVZUdkwccCYtnKxGWwAkDcaNkoX0mLyxJfaAEDWHjl//nhS9InLsUWSXV02QL51
Zy1gllTyAKA281UWf6Jpf0rhrZQaia/+CFp9NS7rhcNwDQAApYaH8bKoo3dLH8+1NMvVHwg0p7BP
jRb/B/hs1mcAVW0lMlR935tIpyh0XnBxfa9sr/nusWJT0Jcm7Yf0IjGOevgEprMBIFu14DOIPT3U
ZkVmwcTBFh3kY1KEX9iKFl4odR8SC2D8X0NaUd7k/SsMpXMlXpEQsMoqaEOHodbW81d5+G3Z8/5R
UOBpv7vPcmtFd9LCwkaq6YDCRjCWaKeQ61gcUFCVq82rBAUtFQrA1wV9buHbpFKwsB5jcD0gX+gy
vxTmJUZEh5hKL9uAHf0S91g6fF4bvuvQwehZq0Irvp3zhcQGgfCSpGUhISqn22fOgrkr5k0w1SiL
vROwbMbNu8ll6O7HfwlRVQVZd8xE4xra/pdp2fXLVljZnRTezImDDH3e536KDUjkH3TZvp15+Xkh
V7e/boM5BgCc/ITMWjuzHY7TPCI+UfTaqb69eTWT4MYJznhw4vyqs1vP7eYeDk4ld1mwxq5z4Y1J
DyXKikq9V/i5zdKF6RqJFvbx4gtiiuEkL7deCXefvy7itx5k6TFB+eOVkPTPAIDnPzh22u6842Uf
zVP+wWmlHEXdzoaVdy6HEt5ikK6VgJrXF6+mWjn67ABS7MZnTb/kBMCrsqILwNF2pW3Z82I1Q/n4
m/5ZggVMEU6htLHZs7ovK3T1S257k84AAHgtI5tRQSh8XW5cBgyzdpiXeDkurxbT7q0nwU9XcMaD
kz6rzrr6HqccDgxl1GkNaAXw3bKraOGFws35x/eZ/Y7dpzfzTr3IpbQZadkNoEDQUxOcgjOzI065
R5z2MBwxzcp+0ZJ19NAXubWiQ7FlhU1jp0O9NChsAAidwvmYXgJjuxjW3ruZDLtsLEzC/8G+3Lqp
fuu9PXzcyV1X7plc9HuVVVRHUdczoMTdCspmS2lesUYR1iGm+pf7ieVtn23sd5leANtWj7p18eCG
++Zb7n+JEKGxQSC86LSsJFo0TLH73C1TtJ6ccV52Pfxd1e/162uETBBRVZC0TP82gbTL2d8eA+NX
J4bnwroJw7Su55YwfOxdDPa6LvfwXAMA7MrsuEf0mq8BxC8LPbDy6p59C9yvLwFuWep512B/wqnC
r4x1neNcutN57ZFjqlCdEeoze/u50EqJLoHqGJGPGTOssMgnHyS6rYnxq/PwPi6HLfXlAKo/PL+4
ac3RREHlxGfGb5q1NG/96pUrdy5UBuBVZUb4vrgmJtFL10oA+/1t95ClQeb8GxciZfP6g7r0wxt9
+uxfdPjkVLzi3XnXh4FZbBxAlFMwnYHzTEkAo04FjPrSRZrTyAU+BUTSsHOuWtmrH3G2vnDFSR6A
X8f8mBqeyRJTBPKrYtfNXl3g5rjC/bAzGYBbmfPmYQarwUDChCfokFtw33qh6tEdSz2OzyBxP6W+
JwHweXw+NM0p9dLWfgwLOBIWcJSE8YXa4mt0tqiwaex0+NIMhQ1x2HAYUdGFayf+3aXMZZ3HiIub
4hLXA0BNNJPNB+Dl+66yLFq6et1sO+/5SgDAKky64vboRjYbl8q84jPBjx1mUwc47lqp8nju9icF
PAAovrXzkM2T7cecrr/cHi9YTRIeG1zRwkuTlvmVYZu7j8ab6UkfREugfid0lUl+YYGkNYYLQoXe
rUf8NKhdVwbEWkaMMj9KQzcemwS5g41/0oby+YNX3Kn4uTlNvsuqN8ELEheNmx8p7FdJvwIUNrJC
4rCR67jx7o2NVR79FgRk8eS09XSV2GUfSwkWsRCI/yZoU47mgaRq3N1EFdPsM+eQk9YdB79EdG6Q
AiUTm3m9mJm5hSxMq/P/nFw6V7/cECXpXf5GQjGYtWau8fvktHKlQQvndmAn7KJL9NiPTEFhIwuk
Cxt29smN3n8HbXh4lGK7//arglJMW56C1fLQVTkC8R2oqmgeFHovO/jYUh8vTwtwX+7ytBRd8UgB
RaPjiOmrZnTVkAPAmYxXd/dMPPi08U/sSgZVo137IasXLmylANX5sccctt9qhjd2o7CRAdKGDb86
4cx4y6oTBxwevFgLAFB+Z+z/dkT9+toSgWjR1N8BQSAQCIQkkFR0DfSVeGWFxWUSPAKBQPzHQFUF
AoFAIBAI2YC2gEEgEAgEAiEbUFWBQCAQCARCNtRXFSqT/OKrr4xSk02nmHJb00lje+k0dudpBAKB
QCAQvzEi1ypIOmP3JibEseg0Fj2K/o/n/pnd1CRd2JDrZnMgaKeFMVVGQsoSlUl+8Sw67V+fKt+R
MqqovgPTsXhGp6Wt76oAACDXw/kei35tqcHPWSCSaz3d5VDEqxgWncZKfRp5fMlIre8HwhS6/L2f
Tn9+up9iI7oV0Yqk3tfJM4iRQWNlhMYeXzRUQyKl5LuuTv7O8hdna2JN6VDGEpLVB8zd8uDJyyo6
jfXuxWuvFWN1v5XGYjokMK90lheBeL0wpV5LzhbRaYmOHeUlaCW95REIBOLfiE4gclrtOirl7Fm2
eMLSHSfeqi/afy1s04DfP+HUvNw0e9CUOYOm2u3MAKCfnjR1zqApcwZtifsZ++nJ6bRvBWBkMbGr
PIBcu1lT2gBoddX9OdUWj0dRrnxyyu1vG0ebI5Hy4x1u7hulXX/Kpuj0nrzb+zbNY4JhI7Y4Et2K
bLj41Nm9o6r9NjnP2XS38n/O909MbyfB0hRZUV0J8o4smzdoypxBU+YMmrT1kWC/TSk7lLGEckbT
Drr0r3hwbP4Sh0UHI6hj7K4fnmhIFtshgXmls7xoxOsl13XB4UeuXSVtJa0rEQgEQhhiqgQmPTEx
Iizk+LblI/cmd1js5tRFTtDMwGJ/QvwbFp3GosfQr7vb9lAW9KTcfyeDHv1yoQ7oWr1MElyPRl4d
qizojqLdz/HQ5cxUGov+JvfegbWDNBumL7Ku2dkXb6pCd0/T/XnFC16dn5X8jp6cnpVXA1BTmJZO
T35HT8tn4QDyJvYp9AjfwfVvuVcb682iX3c0okgivFCoWsaqjLAohTGWHeXkO0yYoRT/MF+5i5ag
qhBlQ5LeVJ8qeohHry/XmarDAhJpGZu7idk0gVd4Y/euHdceP4oID/Lx2BzOVurSw1AwlHxHBw/n
saxb1s63CiQ3lehWCl0t1w/iP968buvNl8E3PRdsieQPXmZbHxsAol1JUtZS4ZXEvU1LfkdPfkdP
zsgXbI4kZYdNkFAo7JzLY4fNnHf09r3wiBvn9666USHXc6jgep+oQwLzSmd50YjTi6Q1fN0tV/XT
y7bfr5SolXSGQiAQCBFIevpmZ97xfcltO8vcSB4AAC9Pvr9r/eqxs6zHLz/6XGPaMW/HAYoAADXJ
nqPM5y2+XwkVjxZPn9lv4sx+E+e60moBAFPus8vfZ4dJ5hHHpaMXbPYq7L/z4iGbNt9OzfJthk1o
Qya3HjqubYtLamKFF9pIUVtXqfrt+ZeUKVO79Z40VuHlzVdVFC1dJRKAaBvin2KD40FvwghDgRUU
O4wYoFj96kWepO9RJCu3H2rpNICa/eRljuB9/3Xp7hbjBjt5P8j73Ig3AYpsRWplOrAtvAuMV7G7
El50Y5HO20dJYDCqj9ZXc4hwJaaoravIrlFopaNOxWTQYRMkFAGfy/nyBgKSUhtDJch/V8AW1yGB
eaWzvEjE6EXRm+B1ZEzCFpf9NCYuUSupDYVAIBBCkfjdmvyaj8nFMKizDhUy6wA+50XcyBMcSUrG
hs8523+YPiUmh8v/XJqZVa1RzgFOeU5W9rtvZ0KSoYXL6taxdma7/ItxAIjN4A+PPGA7Rt/3Ur5g
Q6WaRK9Fu5njsKgTCS3tRcTihRcGWcNAjcKtenM9jHxs1TZc7vGa5LJNJHU9FQoUs0XbkFcSfSUR
PCeNMDqXk8mlth06SJ+dcDutRuQ4DeTUm+ZDP2RKBqhLODPheNLX2zp8vjQnNRGtKFptNICVWMhW
7ttWRUW+jVpd2sda6NtGjQqFglcUinAlRV3j80d2/3MPnpCBx4i9vm2rZ1DOZ770HUovoTjkOs/e
fmxYidf821lc8R0SmFc6ywOQFFWU5ckYAPB5ddXVdTyxepH15+7b1P/llkEPirjyrSWzRlmTDYVA
IBANadQbu79dXpJbDVm4z3nm+O6GmiRWSbWSHBQoU4nXPRQ6DetEllP2eRXn0+CvRe21qPDlxMwr
fXnJ82VjJPpVSCC8EMhqesokHpuZ8s99uLKaEmSWWt2eS1LRUiIDENmQVxR8Nf6Ix5RJba55ftAa
MqYdN/5sdJUkJyf80zO3obMM23cfuWrNiqdXsP/NPfP2571RuDZ165SJp7HSPG4/h38dEu5KTqaf
XVc/ALKSUd8JG/e6XfBXKpng/vzrWn2jO2yChARgyn0WH3y4ucvzDYu3xH6/P4R0HUqBYt/joefn
qQMAQMXdcSPdIxv6UYgYpFZjXPf1iXcyf/VJ1PseCYT/ZXohEIg/HImrCkzJsKcuFGWWcgCo7axu
+Dp1eOW91i4srQLTH74mcJ2O2A4wEgZlwdZLLqR82xSdz6n42ILWJfg4DiQ58o9P1UknPFlZS5nE
YXM+p+1eMM8fYyTWYIY8TElDgSzGhnhR6LXHtYdsJhudvdZxdnd+rFt8qWSvBuZV5ycn5CcnvH6R
rZp6Zb5Tbz+bGEkWORoFt4xRAcp6+kok7qfCPACSbitDRShnVHEk7IBXkxd3e92mHhaB5ou6ezyP
+tzUDmUoIUl1sP2pYAftG44LHB4WftkxuskqN5a6jIN2dtfkMQDA64qS68SJgamPshmjqQZ+kXF+
XztxuFE8cndPy9uihf/leiEQiD8cSZ+roHaYsuh/FMatkNw6AIX2Q3qRGOc8fAIjkxNTkyITCr4/
ufLratigqKny3b3Z2sxXWXwt0/6UwvTM7Hf1n5ysT3XfrgXJ2iOtHXcvHqjXTDd1uZWF5aDYsZPm
D7WWBMILgaSqpUjisrl8vOp9Gi2HyQOcw8EU1RUxcTbEy6KO3i3tPNfSbNjkgUC7EPap0cvRPD4f
MPJPsSRe/Db2A5jMqf9JEElnwIReUPAioeybkBK4EiN9rd5k02HjJBQOufXkXbcddG+sXrz6W0nR
lA6lBa/OiIt9ERnzFPf2CAAAIABJREFUIjLmZdz7KlycGPzKh64z+k2cWf/5e9uDGsi/5jLM6XEB
j0D4X64XAoH4wxGzVqHauVfPQWydXqMs3Zb2yr1sdyydDQB1uXEZMMzaYV7i5bi8Wky7t973P0/g
5Cdk1tqZ7XCc5hHxiaLXTvXtzauZdfkPjp22O+942UfzlH9wWilHUbezYeWdy6EfvtxCUOq9ws9t
li5M10i0sI9vhiUM3qfYgET+QZft25mXnxdydfvrAgiu2XCxwguBJK+uROJWchqsMvC5HJyqoiyP
QZUYG9a8vng11crRZweQYjc+k2ClgqI73GWe0YeU94U1oGHUz9pxuk7JnYspgnVzTEG3XUdtqqKx
ljxQtdt16smqLs/Nza8l7lZkq8/pQQdjrI7vO+Cu6BcFfZ22DcVidntnfDsLC3elUneHVUOYye9y
q/jqRv0XOf6tW/rPpdRaAJCywyZIKBzFnus3/Q97vvNinoaJiQYAAPBZH3NyqniEHRKYVzrLi4RA
DGb++3ffFNGo4MDn0g/0fCYXgCu6lZSGQiAQCOGIrirYZXnZtRO2nPfbAnUF72ICNs/fdzO1AgcA
YOdctbJXP+JsfeGKkzwAv475MTU8k/X18oZfFnpg5dU9+xa4X18C3LLU867B/pl1ODN+06yleetX
r1y5c6EyAK8qM8L3xbVvJ+Y6RuRjxgwrLPLJh2ZKalyGj72LwV7X5R6eawCAXZkd94hegwMAX5zw
QsAUNBWAU8xruJ7B4/BASV2JBJ/E2BDY72+7hywNMuffuBApyZ7bJEWttv1nrbZrr0sFqC2ihXnP
9fAJrRQMLtfN9kyEjZ7gm5M9/CYD6/rC8YujiW+OiG7Fzfe1X6G6c/N6D8+1wEwN8Zzidju3weWt
UFeSlTT0uk10WWSvpwBQ9ykh7Px8D+8XAgml6rApEgqF2qr3UB1QHb3t2ehvf3yzcZzZzU84UYcE
5pXO8qKRSi+iVtJ1iEAgEMKp37NUZZJfWCBpjeGC0KrmlgjxBWrXlQGxlhGjzI/SWtCzJwgEAoFA
iKJRvwFB/ApIqsbdTVQxzT5zDjlp3XHwS0QlBQKBQCB+D1BV0eJQ6L3s4GNLfbw8LcB9ucvTUrQa
jUAgEIjfhPo7IAgEAoFAIBBN5LffLQyBQCAQCEQLAVUVCAQCgUAgZAOqKhAIBAKBQMiG+qpCZZJf
fPWVUWrNKwwCgUAgEIjfGLRWgUAgEAgEQjagqgKBQCAQCIRsQFUFAoFAIBAI2YCqCgQCgUAgELIB
VRUIBAKBQCBkA6oqEAgEAoFAyAZUVSAQCAQCgZANqKpAIBAIBAIhG1BVgUAgEAgEQjagqgKBQCAQ
CIRsQFUFAoFAIBAI2YCqCgQCgUAgELIBVRUIBAKBQCBkA9ZXqVNzy4BAIBAIBOJPAK1VIBAIBAKB
kA2oqkAgEAgEAiEbUFXx34ak2sN240aXngrNLQgC0VTkjSe5b7Mbq4OSGgLRjNRPQJVJfvHVV0ap
Na8wLReS4ZyrLDpN8AkZryrZod8AkkZf26WWEwypPx75rfUSD0V3gotnXGwsi06rooVEnlzYXb65
RWpZ/H4BIN9p+rqFY7sroaoCgWhG0ASUCLz40YYBU+YMW3YxsxGHfmv+VL0EkPTMd/qv6lccsGPa
vKVTXY54PU0u4Yr8NqZudjuFlu3eS/Hb36jdHO6y0ryma2AAAJh8h/Gr/P95WkGnsehRGTf3OfZR
+Tq3yPrTn6TTWPQgJ2PKT9RJxvzZASASknpfJ88gRgaNlREae3zRUA2UIhGIRvEbZblmhVvJSK0E
CvOvmsYc+q35U/UCAABq674d5EtDdngFR9eK/za/OuVWCowf0NeQkpQlKD5IGv1HGEGq3xsmH0Cu
8/zjkdsHFDz0Wu7xpoCq12ewKV7LxutbU9pPmjegNCqMMmTZjPZnjtLrfp5aMuWPDgARkA0Xnzq7
t1eK5ybnV/CX8zbn+yeYpotv5fKaWzAE4rehRRTi5DbTjhXQX1ycoEMGACDpTfBg0EOOD1UXSEfR
7ud46HJmKo1Ff5N778DaQZpkAAAgaQ/zuHQ9PS6GRaex6BFJvmumt5b7rl9ds7Mv3lSF7p6mK6Ge
JAOL/Qnxb1h0GoseQ7/ubttDuYkWkjMY6XbmZj6dxsoIfe210tyACgCgPCQgkRY+p1XDzjXNfSoT
Dpopi+lQKmuI0cvU4Vx6Mo1Fj6UHui3qqoRJoJcoMQiQN7FPoUf4DlYS/FdtrDeLft3RSFDYktR6
Wp69/rCETmPRaczEp9G7hmp+kUOKsUCU5QGU++9k0KPDF7UC7ZnPEgUr/LfWtCesr3mlEcEZ0GnU
QM16s2GqPWZ0h9QHsUU8ILcae2TTwNq7zqOdvYNe0cJDQ07u33c6g/1Fjvbz5rWnXzyy3vd9+5kz
JH2CRU5/nN3up8/Dq+k0Fj2uKPTMehM5Yr2IA4DAvKI6JEa2ThE7l0WAqXSedjzgUTmdxkp78sS5
mwRjyfdefSY1gcaix6QH7D1z4Z9ietyHWxsmtyIDgEJXy/WD+I83r9t682XwTc8FWyL5g5fZdpFE
EgQCIaBFVBU8xr3tCwLq5hzev7y9HMXA4rTHuFKf9ZujKnEATLnPLn+fHSaZRxyXjl6w2auw/86L
h2zakAGApGRsNrQT+87e2UtWW24KYvRZeNVrbucGKVG+zbAJbcjk1kPHtZUwL+Dlyfd3rV89dpb1
+OVHn2tMO+btOEBRfDNRYOoDDwZ5bjTJPOziMHPt5Yzuy28GrR+ljgG3PKucr2GoRgVMQbtNx1YK
GFA0DdWhLLeEQ9ihlNYQoxdWm3Rqi/NM55NhmjNOX3OfIu55NwIxpESx1x6fjTN5IU42i/83a8n0
9Sd9wnJZfOnHEml5gJpkz1Hm8xbfr4SKR4unz+w3cWa/CQ4XGaLvfwAA8BhhIe9IPWf3URWci1V6
mA+Vz70ZWsgBks7QWWZyeWfORn3ChbRU6GhhZUA//zDn3YM7abpj53aR4PENsp7l0cA7rsO4L71X
2DtMXerqdCb4RQGXWC+iACAwr+gOicwra6eIncvC7aQz+oy/u43Wa3dnR8tNflE13+JW9FgUvT6m
7Qq8/7Zye9x64kKDp0usdz01tDph30MJSK1MB7aFd4HxKnZXwotuLNJ5+ygJDEb10WpCZCMQ/zVa
yB0QvPL5Xpe9fa8c8t7Ro8Js3AevYccTq/kAQDK0cFndOtbObJd/MQ4AsRn84ZEHbMfo+17KFzTN
j3n+IJwJEJOkODR124QROpfpBfXZvSbRa9Fu5jgs6kTCZwkF+ZwXcSNP8M+kZGz4nLP9h+lTYnKI
TzmiILWxcFim/363hdsROhsg4kUGtcd9u+0Tz4cHfUot4S9pp0klaU85eddH5XDP6bd0jTXxwswi
oqpCemsQ6xXvc+L4YyYAPEsl93nsuN782IMrH0XrTCSGdJYCqkYbNSinxz2LSijiASTQmjaWaMsH
FPI+l2ZmVWuUc4BTnpOV/U6y0OAwQoNyHJ0nmag8jWGCYk+LAap5N+994ADI6Xc1wD6nxXwU6jk5
k2nmBukXHxbwONjLwBynFdM6uyUmE991UTa1OzBeJXrntKmXGezvjhDpJfiG8AAQbV4iQ4k2r8yd
QiS8SMhGFrYz1OmbZ7l7vucChIdVj7T10hA3FhMA+OUZsXFRvOQ6G830qOgI1pv1s03aqmDvtNpo
ACuxkK3ct62Kinwbtbq0j7XQt40aFQisgUAgGtIi1ioAAPi1aQcdDsW2MbfpU7B/7aWk+ryr0GlY
J7LcQJ9XcYJn0atjD5hRQLe91g+XMbzS7PwaUDFQITf828tLnlt9Y4skTQnkVkMWnw+89yEprjol
7O2+wXIgp0yV2kaKHYd0gJLXz76cGuryXr0ogW6DjBRxVm4WU6WtgZp2v/m9SNDFfJSecuuOquX0
fMEVpAiktoakenEK3oSVQOf+bQjX6SUXQ2KqojfufIZbnciOvHZt8zyLTl+9KN1Yoi0vtYQcxp07
79WGW/RVAlDoOMtMK+f+k0w2AAAfx6Gh1+S77X70KsmtlxIAyHeYY66dfCM8nwfAzb9/P09/3HgT
MasVFMO/+upAqm/IR/a/D0mu1/cBINK80hnqZztF2FwWJobxQCMooUUW/ljJSDQWjvMBI2HAx7k4
kEjY1wWa2tStUyZ2m7A/6j/0RAkCIStayFoFAACl9aAR3cl8Hhhb/t39hMdbJh8AMIyEQVmw9ZIL
Kd8ecuNzKj5+Bvh3yuHzcMAa5IZGQ21ndcPXqcMr77V2YWkVmP7wNYHrdKTurZ7v5fnyn7rchAJ8
cOeeIzv1yrjoSZm9YLRJhD7k3iwgvHKW0hqN0AsDDIDPJyptiMUggo/jQJIjC3VQXXqAa68n3Sym
TbaaseK6jWOct9OMwzGlPGnHAlGWlxpOzqMHdBerOSYKr9njJ7diXAnOrQMA4BbRi/mK7fvpU59l
cQAAMJKCipKaPAkA5NuNntKa2sH9QaX7137MJhufpKX/UDA0gI/zAfgiK2EJ9fpuOogyb2M6bCjB
z3aKZHOZj/MBI5FEfUvcWHycx8UbroVwyxgVoKynr0TifirMAyDptjJUhHJGFeFtSQQC0ZCWslaB
qfSyDdjRL3GP5UC3GMOlhw7+T/CLrtrMV1l8LdP+lML0zOx39Z+crE91xOe9esjaI60ddy8eqCfZ
fVGF9kN6kRjnPHwCI5MTU5MiE/59jsc5dRwAJTWFH80m7FBtVlQ26AwY8+WpDnmjYaN0IS0mrxbw
soz0St2htku7pl0OOns1q7v13Cl6FfGZTIIFX6mtIVavb99sN3y0Lj816sPXJXqhekknBreysBwU
O3bSFFXKskvT7lw4aDV1/ACP7H62G22MKNKORWB56WHnPbmSpTl5Ru9+k8YZZt8NyhFUBnjp6+BY
3HiFzV8//AiRajR6nHFB0JypM/tNnNlv4sx+MzbfrGwzY5SQ14M0gFv4NqkUTKzH/PjYZJP0Empe
sR3KLgBk7pTarMgs0Bls0eHHxR9JxmK9cBiuMffRp29C48VvYz+AyZwBAk+SdAZM6AUFLxLK0O0P
BEJiWsZaBab6l/uJ5W2fbex3mV4A21aPunXx4Ib75lvul+L5D46dtjvveNlH85R/cFopR1G3s2Hl
ncuhHyS4ga/Ue4Wf2yxdmK6RaGEfL/46qi43LgOGWTvMS7wcl1eLaffW+9eNAJyZk1AKixcvWVgR
zdTQp8TfDspmExxiPDhxftXZred2cw8Hp5K7LFhj17nwxqSHRTyA2tw3dOo0izZhc0OLPlAC47bv
NSPF7vpAdAkLIKU1xOplOGDkuOoyRaNBts6LOn287hDy7ZaRUL2kE4P3KTYgkX/QZft25uXnhVzd
/roAXy4CVUzdNptVRMXQ8irqFPSHmbYCXl5RLS6tyjiB5aWHw7gdlLnd0WUPVyf5ZEjWF9m5H4PX
np4dbn/yifzpQ/eTP5K7m6gAAABZd8xE4xra/pdp2dWCr2Jld1J4MycOMvR5T/Bjxeq33tvDx53c
deWeyUW/V1lFdRR1PQNK3C3iiCKayqLNK9ZQsgsAorGkykM448FJn1VnXX2PUw4HhjLqtAa0AmCL
G0uJoMfP6UEHY6yO7zvgrugXBX2dtg3FYnZ7ZxDPSgQC0ZCWUFVgygMdd61UeTx3+5MCHgAU39p5
yObJ9mNO119uj2cy4zfNWpq3fvXKlTsXKgPwqjIjfF9ck6iqqGNEPmbMsMIin4g5W9fDzrlqZa9+
xNn6whUneQB+HfNjangmq0H6r03eu+Va911Wp72seOVpF1wf3cj+8loCoYcqY13nOJfudF575Jgq
VGeE+szefi60kg8AeGVGBAM6Rfk9L+fjWMSxR0yzbtHJTDFLMHyprEGgF16TG/aGYbVg953FALzS
hMenpu3xDatqIIZQvaRzCpfhY+9isNd1uYfnGgBgV2bHPaLX4ABAllcg6Qxeu3+hrhwAsIvTow87
7A8qxKVWmS/a8k2Am/vo5ttNGwfwE+0fNXialV9LO2H7vyKH3cuWXpiuDMCr+JDwT3wprmX6twmk
Xc7+dneeX50YngvrJgzTup5bInpZipvvu8qyaOnqdbPtvOcrAQCrMOmKm5iIIoDIvGI7lF0AyNwp
/KrYdbNXF7g5rnA/7EwG4FbmvHmYwZJML6Fw833tV6ju3Lzew3MtMFNDPKe43UYvq0AgGkP9Tugq
k/zCAklrDBeEVjW3RAgEAoFAIH5PWspzFQgEAoFAIH53UFWBQCAQCARCNtTfAUEgEAgEAoFoImit
AoFAIBAIhGxAVQUCgUAgEAjZgKoKBAKBQCAQsqG+qlCZ5BdffWWUWvMKg0AgEAgE4jcGrVUgEAgE
AoGQDaiqQCAQCAQCIRtQVYFAIBAIBEI2oKoCgUAgEAiEbEBVBQKBQCAQCNmAqgoEAoFAIBCyAVUV
CAQCgUAgZAOqKhAIBAKBQMgGVFUgEAgEAoGQDaiqQCAQCAQCIRtQVYFAIBAIBEI2oKoCgUAgEAiE
bEBVBQKBQCAQCNmA9VXq1NwyIBAIBAKB+BNAaxUIBAKBQCBkA6oqEAgEAoFAyAZUVTSApNZrxdYt
rr0Um1sQhESQVHvYbtzo0lOhuQURCYqoFsjPdoq88ST3bXZjdVBu/ZNBXhZNvU1UJvnFV18Zpda8
wkgDptzWdNLYXjpkGbQiqfdesmjWWAOKTAVUG7Xjn4ok/2095BvXkKI7wcUzLjaWRadV0UIiTy7s
3sgOZIFo80qtl+wgafS1XWo5wZAq015bfET9tyAZzrnKotMEn5DxqjLo8Sc7Rb7T9HULx3ZXannn
mxaRUv4Qfr6XpUtELYGWE/mYfIfxq/z/eVpBp7HoURk39zn2UZFAOrluNgeCdloYN+7MIl0rqSAp
GnVpTVVo111XrlHN9Mx3+q/qVxywY9q8pVNdjng9TS7h/iwZRSPaUFLq1fJpuRGFqZvdTqFluze8
yqZ2c7jLSvOaroEBiJlEZP3pT9JpLHqQk/FvVOXgxY82DJgyZ9iyi5nNLcpvTrOnFGrnZdeY9Bsb
OtdnDLn2CyPS4yKXt0e1jTB+4UlKxrSU9CLXef7xyO0DCh56Lfd4U0DV6zPYFK9l480tlgzgFV21
nZFizHmXwmxMM2rrvh3kS0N2eAVH1/4s0ZqElHohpIdfnXIrBcYP6GtIScoSnA9IGv1HGEGq3xsm
X9wkorSfNG9AaVQYZciyGe3PHKXXNZ8ijYJbyUitBArzr5rmluQ3p9lTCod+dbfn3KuuG8f6LX9Q
AHqztq0yzbs04nLO7xKKCMloGWsV5FZjj2waWHvXebSzd9ArWnhoyMn9+05nsAVHKdr9HA9dzkyl
sehvcu8dWDtIU7AmpNx/J4Me/XKhDuhavUwSrJFGXh2qTDyW2FbD99wrpdNY9MjkSy5TG6yuixJD
NPWLt1W0u2G3H9wc993iLUl7mMel6+lxMSw6jUWPSPJdM721XEMJwxe1Au2ZzxIFEt5a076+AJQz
GOl25mY+ncbKCH3ttdLc4KuEJM1+8456XUqIiqgQrBjHXXTuSAWQ7736TGoCjUWPSQ/Ye+bCP8X0
uA+3NkxuJRCfZGCxPyH+DYtOY9Fj6NfdbXsok8QYikgvAgkJVCY2oygJBZg6nEtPprHosfRAt0Vd
lTBxYsib2KfQI3wHKwn+qzbWm0W/7mhEIVSZiF8XUbzSiOAM6DRqoGa9ATDVHjO6Q+qD2CKemEkE
cu3nzWtPv3hkve/79jNnSPosipz+OLvdT5+HV9NpLHpcUeiZ9SZfLjSl8TJJrafl2esPS+g0Fp3G
THwavWuo5heHiQ5sIho/K+sR4RSCYBM1vwAAU+k87XjAo3I6jZX25Ilzt/oWykMCEmnhc1o1DFdN
c5/KhINmylKPJY3KhCmFaCwRTiFOKaKpTTu07S5rpMuGv1S1Rzh6DK/y3nKB9qXEEaWXtHmDAJGW
JxxLhJeJR9IeduDqnfeCtJD29JXn0tG69Zlc5omoxdAi1ipIOkNnmcnl7T0b9emH1QlMuc8uf58V
7DtbHI/GMXXMlm3cefFQ5fjlPgxeTbLnKHN/U3sv3+HRixefS6oDAF5lvpg6XGwrxrMzm0PyarX+
st+69NqJwt6W/tlcIjFED4UXP3Q1jVek6llc9V36b52VjM2GdmL7uc8OLSHp9V+9xeaqV2nfmZfo
HGES4nVFDC4AYOoDDwZ5LuM9dnM5mop1XehqfzNIa9LkvaGVfACy3hDL5WPh0t49m+mfqnhUDS3K
u48cAGW9PqbtCrz/3pI5+ZjHkuqLltZ5M49uP2H/8Pm2xBrAy5Pv71p/O7+khqTVw3rzhmPedYlj
9sXUEhiKSC8CCQlUJkSkhPUj1iad2nImg9tutpPz6Wuq5RM2/vMJJzSU9LEhXSvZRRSPERbybuuK
2X1UA55W8gFUepgPlc89FlrIAZKe6EkEAAodLawM6Mcf5ryj3Elzmj+3i2dcorhLRLKe5dHAC+Px
8CveK6KzC2qpuoYqWQVi4pDIy4q99vhsnPne19EmNINJUjdo156Xy+IDcYcEAkplw3qEOoUw2ETN
LyDrjD7j7z6tLHir86MsqvHYeSt7CsbglmeV83sYqlGhBNNu3Zr8KbuYq2moDmVvSzhSjiWdygQp
hWgskU6hEKYUAvgV0afWh4712bOltfIE7L7zrjfVfHGulDZvECDS8gRjifQyISQl41ED21Ve2Lzs
Zbl8m4Er1trfu65jPvVAeJXsE1GLoUVUFRT9rgbY57SYjz+GCcnQwmV161g7s13+xTgAxGbwh0ce
sB2j73spn/u5NDOrWqOcA5zynKzsd58lGowvrtX758G3QpkAMWmqI1O2WgzXCswuBiIxRI/FZRZk
MIFSWyIqHPJjnj8IZwLEJCkOTd02YYTOZXoBLlpCUhsLh2X673dbuB2hswEiXmRQe9y32z7xfHhA
YX1Sqc28EfTwOesHrcszYuOieMl1NprpUdERrDfrZ5u0VcESa/jwOS/iRp7gW0nJ2PA5Z/sP06fE
5HAJDCVaLyIJCVQWbUIAECmh4E/xPieOP2YCwLNUcp/HjuvNjz24UmggTgyhiI0N6VrJMKI4jNCg
HEfnSSYqT2OYoNjTYoBq3s17HzgAcqInEQDImUwzN0i/+LCAx8FeBuY4rZjW2S0xmThLKZvaHRiv
Er1z2tTLDPZ3R6T1MlWjjRqU0+OeRSUU8QASaJJ0KPpsSZgcCFUD4U7BQVywCZtfZCML2xnq9M2z
3D3fcwHCw6pH2nppAABwPqWW8Je006SStKecvOujcrjn9Fu6xpp4YWYRB6QaS0qVxQe2sLFEO4UJ
hCmFCF7Jnb3nNzx2tIAUl0MRpbh4vQTfkCJvEEBseWFjYSK9LAEFcRFPI5kA0c9T+K/v2LhP8B1/
vYjg+9IlohZDy7gDwsdxaBiL8t12P3qV5NZLCRQ6DetElhvo8ypO8BB4dewBMwrottf6+Y+w8D5l
59eCWht1Mvx0MXil2fk1oGKgQryEqNhxSAcoef3sS5Kvy3v1ogS6DTKS8EdyOM4HjIQBH+fiQCJh
GACQWw1ZfD7w3oekuOqUsLf7BsuBnDJV6rCQXEIJVW6EhJyCN2El0Ll/G4UmG+rnIIuI4jDu3Hmv
NtyirxKAQsdZZlo5959ksgGIJhGAfIc55trJN8LzeQDc/Pv38/THjTcR84wcxfCvvjqQ6hvykf3v
Q9J6uSp6485nuNWJ7Mhr1zbPs+j01ffS+Usms7KhU0Cq6aBgPNAISmiRhT+c1nFWbhZTpa2Bmna/
+b1I0MV8lJ5y646q5fR8Fl/KsX5hPpTIKcJSCjFy7ceO6wxsDnSdO7b1F7El10vyvEGAhJZvOJZo
LzeG2uzQpyVYj6HNm4h+Ni1irYJbRC/mK7bvp099lsUBAMBICipKavIkAAwjYVAWbL3kQsq39Vo+
p+Ljr6jeeBwekMgY1kQxvqR6wgnH5+GASTIp4fvvSNCgwSA4j4t/V+BT21nd8HXq8Mp7rV1YWgWm
P3xN4DodSXsTJYKEEkqmciMkxAAD4PO/yiVCDD6OA0mO3CjLyQgZRBQn59EDuovVHBOF1+zxk1sx
rgTn1gEQTiKQbzd6SmtqB/cHle5f+zGbbHySlv5DwdAAPs4H4ItcKpDGy3XpAa69nnSzmDbZasaK
6zaOcd5OMw7HlPIa02FDCWSSHL45RcrpwMf5gJFIQiSuy00owAd37jmyU6+Mi56U2QtGm0ToQ+7N
gs9SjvXL86E4p/yYUoihtJ7s6dw19fACe8rO0LWb5z5Z7feRR6zXv8sHyVOlCBph+QZjifZyY+AD
DoAJhG/GRPRzaRFVBV76OjgW37LC5q9z22IqvgvR2sxXWfyJpv0phbdShC6t8etq2KCo2cjKtbGt
xIpBOBib9RlAVVuJDFXi7/cSipEVlQ0TB4xpKxebwQYAeaNho3QhLSZPshturBcOwzUAAJS+/kmh
/ZBeJMZRD5/AdDYAZKsWfIaGE4zIUML0IpJQutkjTsIG32w3fLQuPzXqQy2xoSoLy0GxYydNyiuW
sOuOlh5R7LwnV7JWrp7RO6B6nGH2zaAcQWVAMImoRqPHGRcEzbELFNQboNB1s+/eGaMM96e/F31v
mlv4NqkULKzHGFwPyP/+a03yMrs07c6FtDsXT3RfeuH1ho0212cfyhEf2DinjgOgpKZAAuYX5Zo0
K4UiebA1oDYrMgsmDrboIB+T8q9HVfCyjPRK3aG2SzXTvHeclfvLZulcTb2KF5lMHEBZqrFkrjLB
WBJkGyEphQiS+lhXpxGVN8dffheHeVyc7+2xccQD59BP+K/US+ZebgRUg/4jdYH+hvEZgP9TElFL
oEVUFcD9GLz29Oxw+5NP5E8fup/8kdzdREVwBM9/cOy03XnHyz6ap/yD00o5irqdDSvvXA79UO8H
Tn5CZq2d2Q52h819AAAgAElEQVTHaR4Rnyh67VTf3ryaKdbrjW0lVgwi8Kqs6AJwtF1pW/a8WM1Q
Pv6mfxbRNSJBT4wHJ86vOrv13G7u4eBUcpcFa+w6F96Y9LBI6mKlLjcuA4ZZO8xLvByXV4tp99b7
/scBRIYSqheBhNLFmjgJwXDAyHHVZYpGg2ydF3X6eN0hpIgHfCJDfYoNSOQfdNm+nXn5eSFXt78u
QMOTZouPKA7jdlDmdkeXPVyd5JMhWV9kFzmJyLpjJhrX0Pa/TMuuFnwVK7uTwps5cZChz/tc0aFT
/dZ7e/i4k7uu3DO56Pcqq6iOoq5nQIm7FZQtrZdVTN02m1VExdDyKuoU9IeZtgJeXlEtLklg48yc
hFJYvHjJwopopoY+Jf52UDa7KbNSKGKDTRg448FJn1VnXX2PUw4HhjLqtAa0Aqif4LW5b+jUaRZt
wuaGFn2gBMZt32tGit31gS31WDJXmVAvUU6RrIb4AYUu8/dPVnq15UIMi88H2kHPt9a71jqejdqW
UtckvTDlwet87i3Ti9huPcefIfYhTpl7WSz9ljk4KkVlco1mOTl2q3o6L6SQCz8pEbUEWkZVAfxa
2gnb/xU57F629MJ0ZQBexYeEf+JLuQB8ZvymWUvz1q9euXLnQmUAXlVmhO+La1+jjV8WemDl1T37
FrhfXwLcstTzrsH+mXXiluSEtyJqIEYMQurSD2/06bN/0eGTU/GKd+ddHwZKWVUAvzLWdY5z6U7n
tUeOqUJ1RqjP7O3niJ+TJ4adc9XKXv2Is/WFK07yAPw65sfU8EzW12ROaF5heuG/UEK8JjfsDcNq
we47iwF4pQmPT03b4xtWxRdjKC7Dx97FYK/rcg/PNQDArsyOe0Sv+RoyLT+iuLmPbr7dtHEAP9H+
0cdvXxcxiXAt079NIO1y9reH8/nVieG5sG7CMK3ruSWiNePm+66yLFq6et1sO+/5SgDAKky64vbo
RraUXibLK5B0Bq/dv1BXDgDYxenRhx32BxXiIElg1ybv3XKt+y6r015WvPK0C66PbmSz8abMSmGI
mw7C4VfFrpu9usDNcYX7YWcyALcy583DDBYOAHhlRgQDOkX5PS/n41jEsUdMs27RyUy+9GPJWmWi
sWQ7l0la5i4LOpfcXnVf8GwCL+/+qWsu3iud/3fS7nFxU/Qiaw8eZaKEwfiZplqBjCJxc1XmXhYL
rmzqvH+2HplbQLu1yv7wP4Kfaf2URNQSqN8JXWWSX1ggaY3hgtCq5pYIgUAgEAiJIan1trkbaN8u
yLrn9qQW9bY0Stv5kc9dy1aPNH/833lbYAtZq0AgEAgEotHId5ywwHXJwv7lD61PpbSokuK/Cqoq
EAgEAvHbomzcQT7u2OgV916X/w73B/586u+AIBAIBAKBQDSRlvEWLAQCgUAgEL8/qKpAIBAIBAIh
G1BV0UyQ1Hqt2LrFtdcf/ebW75G5yiTVHrYbN7pIuv9mi0beeJL7NruxOmhCIv5YWkjSayFi/LnU
JzGVSX7x1VdGqTWjJJjaqB3/VCT5b+vx4/4EmHJb00lje+k06i1jRB0SNZNmrMZ3SFLvvWTRrLEG
sn5clqI7wcUzLjaWRadV0UIiTy7s3ijtZcMvUpmk0dd2qeUEQ9nugSBU+PrN3wWfkPH/3vy96ch3
mr5u4djuSn9wVUFgw59u3paKzLNNC0HmGUA6Q/3a3Ctjft/YaDlJjKRo1KU1VaFdd125H47JdbM5
ELTTwrhRpw+iDgmQaqxf2iEBJD3znf6r+hUH7Jg2b+lUlyNeT5NLfsLrccTxK1WWOUKFx4sfbRgw
Zc6wZRczm0uu3x4CG/5nzftbzxQCWkgW/a3N+/sK33LKNV7RVdsZKcacdykyeluIzDv8DaC27ttB
vjRkh1dwtGRbgyAkhFvJSK0ECvMv9IN4qSGwITIvAvGn0CLWKurXP6tod8NuP7g57rv1T+X+Oxn0
6JcLdUDX6mWSYI008upQZak7JGkP87h0PT0uhkWnsegRSb5rpreWk2QsOYORbmdu5tNprIzQ114r
zQ3E15BihR++514pncaiRyZfcpnaYCWfot3P8dDlzFQai/4m996BtYM0xS6DCcYKX9QKtGc+SxSM
dWtNe4o44Uma/eYd9bqUEBVRIViCjrvo3JEKIN979ZnUBBqLHpMesPfMhX+K6XEfbm2Y3EqMIL9S
ZQGmDufSk2kseiw90G1RV6Wvu1sR+EvUIamCjXgskoHF/oT4Nyw6jUWPoV93t+2h/GXOYSqdpx0P
eFROp7HSnjxx7tawQ9HWEOUvIghinlh4qWKDQGUpIOlN9amih3j0+nInT3VYQCItY3M3sU/TyOmP
2HI66EM6jUWnMd+GvPZdM06rXhBR5iU2lFROEWkN4mAjGEutp+XZ6w9L6DQWncZMfBq9a6hmk7a9
JOrwFyY9KQ0lazGkS0REs1IKV0qdiFoGLWKtAi9+6Goar0jVs7jqu/Rfx2qSPUeZ+5vae/kOj168
+FxSHQDwKvOJr8SJOiQpGZsN7cT2c58dWkLS6796i81Vr9K+My/ROURjYeoDDwZ5LuM9dnM5mop1
XehqfzNIa9LkvcRvxRcrPOPZmc0hebVaf9lvXXrtRGFvS/9sLmDKfXb5+6xg39nieDSOqWO2bOPO
i4cqxy/3YRC9qV7IWHhdEYMrTniy3hDL5WPh0t49m+mfqnhUDS3Ku48cAGW9PqbtCrz/3pI5+ZjH
kuqLltZ5M49uP2H/8Pm2RIILyl+psgCsNunUljMZ3HaznZxPX1Mtn7Dxn084gcoEh6QKNmLz4uXJ
93etv51fUkPS6mG9ecMx77rEMftiaoGsM/qMv/u0suCtzo+yqMZj563s+bVDImuI8hcRBDH/E2JD
pMpSgX+KDY6HbRNGGLol5bABFDuMGKBYHfYij3jvb0xtwIHA47akF7vWn4j5BIaj15+zHtJN5fiT
MpzAvESGktIpIq1BlG0IxlLstcdn48z3vo42oRlMkrpBu/a8XFZTdvkU3eGvTHrSGUrmYkibiEQG
gHSulE7lFkOLqCqAyyzIYAKltuRHs/E/l2ZmVWuUc4BTnpOV/Y44l0jQoYD8mOcPwpkAMUmKQ1O3
TRihc5legIsei9TGwmGZ/vvdFm5H6GyAiBcZ1B737bZPPB8eUEgQbmKFf/88+FYoEyAmTXVkylaL
4VqB2cVgaOGyunWsndku/2IcAGIz+MMjD9iO0fe9lE/wjESThK/NvBH08Dnrhz7LM2LjonjJdTaa
6VHREaw362ebtFXBEgn2Kv6VKguI9zlx/DETAJ6lkvs8dlxvfuzBlUIDkSoXGxJYQ5pgE2Pez3kR
N/IE30xKxobPOdt/mD4lJodvZGE7Q52+eZa753suQHhY9UhbLw1Bh+KtIcJfxAiLefgZsSFCZSkf
8OGVRF9JBM9JI4zO5WRyqW2HDtJnJ9xOI75VQmptbr/MkHFw6sb9aWwAUFO0Bmvx5iUwlNROEWUN
gglLNBZVo40alNPjnkUlFPEAEmjSWfUbIjv8lUkPl8pQRPz6RCQsAKR0pXQqtxhaxB2QZoRXmp1f
AyoGYjaxV+w4pAOUvH7GqN9rtC7v1YsS6DbISEY/TuJ9ys6vBbU26mQAhU7DOpHlBvq8ihM8El8d
e8CMArrttaR9aqepwuM4HzASBnyciwOJhDVpufUrsleZU/AmrAQ692+jQKSyzF1J3CG51ZDF5wPv
fUiKq04Je7tvsBzIKVNJAArGA42ghBZZ+GOyknkA/IuGMf8zYkOUylLLWxR8NZ7XZcqkNhQgaw0Z
044bfz+6ivjyXKHj0I5YaUzI+x83B5bcvA0NJbVTpLAG4VhV0Rt3PsOtTmRHXru2eZ5FJzGZSzwi
O/yVSQ9kHzbSiCHzqfdrXdlSaBlrFQK+5AnZnLUk7ZDPwwGT6FT5/XdkJqUAHocHJDKGAWAYCYOy
YOslF1K+7aTN51R8bFLB2gTh+TiPi/+EF+zLXGUMMAA+/6vbRassc1eK6JDazuqGr1OHV95r7cLS
KjD94WsC1+kIDvFxPmAkkpCxf04ANORfMS/T2CBQWVrwotBrj2sP2Uw2Onut4+zu/Fi3+FIx8YiR
qWTAOVwhtQeRef+d1r8ZSkqnSGUN4rHq0gNcez3pZjFtstWMFddtHOO8nWYcjikVf6tQFIQd/qKk
9zPCRgoxZD71frErWwgtqqpgsz4DqGorkaHqe8Py62rYoKjZ2FpOdIdEjYSNVZsVlQ0TB4xpKxeb
wQYAeaNho3QhLSZPgjtdjRW+NvNVFn+iaX9K4a0UglsNktMU4QGA9cJhuAYAgJLEIzaPygrtho/W
5adGfaglUlmsNYiExzl1HAAlNQUSML+c14g6VGo/pBeJcdTDJzCdDQDZqgWfQae+VWQWTBxs0UE+
pkG+kaE1JEP2saEgUuV6hNlQzCG8LOro3dLHcy3NcvUHAs0p7JO46Vz3IbEAxv81pBXlTd6/VoOk
M6+UThFnDeHZRuxY7NK0OxfS7lw80X3phdcbNtpcn31I2htMojv8lUlPOkPJXAzZ594muFLKs14L
oCVVFXhVVnQBONqutC17XqxmKB9/0z9LsPjGyU/IrLUz2+E4zSPiE0Wvnerbm1cz68R0R9QhAcLH
Yjw4cX7V2a3ndnMPB6eSuyxYY9e58Makh0USFCuNFR7Pf3DstN15x8s+mqf8g9NKOYq6nQ0r71wO
/SBl3sCbILx0/FKVDQeMHFddpmg0yNZ5UaeP1x1CinjAF60ywSHxwuPMnIRSWLx4ycKKaKaGPiX+
dlA2m6DDuty4DBhm7TAv8XJcXi2m3Vvvyy8XcMaDkz6rzrr6HqccDgxl1GkNaAXAbro1GonsY0O0
yl+GFGZDcYdqXl+8mmrl6LMDSLEbn4lbqQDg5vzj+8x+x+7Tm3mnXuRS2oy07AZQIBhEKvNK6RRx
1hAebERjqZi6bTariIqh5VXUKegPM20FvLyi2gYGwZQHr/O5t0wvYrv1HH+GmOd4gaDDpsRGozO2
dIaStRiyz71NcKWUZ70WQEuqKqAu/fBGnz77Fx0+ORWveHfe9WFgFhsHAOCXhR5YeXXPvgXu15cA
tyz1vGuwf2ad+EV5YR2KayNirMpY1znOpTud1x45pgrVGaE+s7efI34WmrhDogbM+E2zluatX71y
5c6FygC8qswI3xfXpD+p8KUXXsoBf43KeE1u2BuG1YLddxYD8EoTHp+atsc3rIoPhCqLswZhsNUm
791yrfsuq9NeVrzytAuuj25kswlig51z1cpe/Yiz9YUrTvIA/Drmx9TwTBYPAPhVsetmry5wc1zh
ftiZDMCtzHnzMIOFS20N6ZB5bBCoXI9QG4o7xH5/2z1kaZA5/8aFyBIJbsdxC+5bL1Q9umOpx/EZ
JO6n1PckAD6PzwdpzStdK3HWEBFsosciyyuQdAav3b9QVw4A2MXp0Ycd9gcVNrAIWXvwKBMlDMbP
NNUKZBSJsxVBh02IjUZnACkNJWsxZJ97pXeltGe95qd+J3SVSX5hgaQ1hgtCq5pbIgQCgfgBateV
AbGWEaPMj9IafZeb3MHGP2lD+fzBK+5U/OR7Ss0PSa23zd1A+3ZB1j23J6G3iiF+OS1qrQKBQCC+
g6Rq3N1EFdPsM+eQk9YdB79ECUsKJRObeb2YmbmFLEyr8/+cXDpXv9wQxfzjSwr5jhMWuC5Z2L/8
ofWpFFRSIJoDVFUgEIiWi0LvZQcfW+rj5WkB7stdnkr6gDxFo+OI6atmdNWQA8CZjFd390w8+PTn
PUnUclA27iAfd2z0inuvy3+HxXLEH0j9HRAEAoFAIBCIJvJffwsWAoFAIBAIWYGqCgQCgUAgELLh
v1dVkNR6rdi6xbWXjF47C0DWHnHQ7+LJIb/LhnItBXnjSe7b7Mbq/PYhKPOIQiAQiN+W+pSuMskv
vvrKKLXmFYYAiu4EF8+42FgWnVZFC4k8ubC7vNg2mHJb00lje+l8/24yknrvJYtmjTWQ2XOqmJLR
/4b07aTavGfH+s3fBZ+Q8ariWzQ38p2mr1s4truS1Hb7OSpjaqN2/FOR5L+tx48R9osiCtGA3y+w
EYj/Nr/HhSJJz3yn/6p+xQE7ps1bOtXliNfT5BLxryWR62ZzIGinhbGMNmVq2eDFjzYMmDJn2LKL
mc0tyq/i56hMUjTq0pqq0K67rtwPx2QWUZi62e0UWrZ7w/UNajeHu6w0r+kaGAAAJt9h/Cr/f55W
0GkselTGzX2OfVS+Tlay/vQn6TQWPcjJ+I8vZf6DgY1A/Nb8HkmJ2rpvB/nSkB1ewdG/yxbzvxxu
JSO1EijMv/47P1L/KSrziq7azkgx5rxLYcqw13/Br065lQLjB/Q1pCRlCepjkkb/EUaQ6veGyQeQ
6zz/eOT2AQUPvZZ7vCmg6vUZbIrXfnkBJVDaT5o3oDQqjDJk2Yz2Z47Sf4u3+ErNfzCwEYjfmRaz
ViFnMNLtzM18Oo2VEfraa6W5Qf31oHL/nQx6dPiiVqA981miYCH01pr2YqohQauXC3VA1+plkqBV
5NWh3x59GL7nXimdxqJHJl9ymWr47dqTot3P8dDlzFQai/4m996BtYM0G7e3C0l9xPqgyndBuweo
kcR0SNLsN++o16WEqIgKwQJv3EXnjlQAIGkP87h0PT0uhkWnsegRSb5rprf+dt3cVAl/RE5/nN3u
p8/Dq+k0Fj2uKPTMehPBcCQDi/0J8W9YdBqLHkO/7m7bQ1mgFLGEosFUOk87HvConE5jpT154tyt
4TECQ4kSQxqUhwQk0sLntGrYg6a5T2XCQTPl+sX2KtrdsNsPbo77brFd6ogSDq80IjgDOo0aqFkv
CKbaY0Z3SH0QW8QDcquxRzYNrL3rPNrZO+gVLTw05OT+faczvrxsXq79vHnt6RePrPd9337mjJ4K
IgdpAIENSWo9Lc9ef1hCp7HoNGbi0+hdQzXF7U0pb2KfQo/wHVy/qZjaWG8W/bqjEYW4Q+JWsvQy
AoFoNlrGWgWmPvBgkOcy3mM3l6OpWNeFrvY3g7QmTd4bWsmvSfYcZe5vau/lOzx68eJzSXUAeF0R
Q8z9DyGtgFeZ/22hg/HszOaQvFqtv+y3Lr12orC3pX82FzDlPrv8fVaw72xxPBrH1DFbtnHnxUOV
45f7MCR7ew5Ze/zGM0HzOJ6LV7q/rsKBuEOy3hDL5WPh0t49m+mfqnhUDS3Ku48cACApGZsN7cT2
c58dWkLS6796i81Vr9K+My/ROU2WUIjMepZHAy+Mx8OveK+Izi6opeoaqmQVCMyLlyff37X+dn5J
DUmrh/XmDce86xLH7IupJZKQaCid0Wf83aeVBW91fpRFNR47b2XPL4cI9RIphjRwy7PK+T0M1ahQ
gmm3bk3+lF3M1TRUh7K3JRy8+KGrabwiVc/iqu/Sf7WTLqJEw2OEhbzbumJ2H9WAp5V8AJUe5kPl
c4+FFnKApDd0lplc3t6zUZ+EvcdIoaOFlQH9+MOcd5Q7aU7z53bxjEsUu1oh2oaKvfb4bJz53tfR
JjSDSVI3aNeel8tqyisopexQpl5GIBDNRouoKkhtLByW6b/fbeF2hM4GiHiRQe1x3277xPPhAYW8
z6WZWdUa5RzglOdk/Z+9O4+LqXsDAP7c2drTqiTZ4s2u1154hUKW9LNlKUJCJPuaIjvZX0khZSsh
S8iSVNqo0aLUtCjte01jTLPc3x+VQnNnWije8/34AzP33uec89x7z5xzl/QP4j2vFxe11MdA/ztB
TIDIJLmx73cZj1byTi8EDeP1Np2jrA2cbhQKACAqBR8ddsRqgrrHlRyRV3FgUtrLTh85OTx525yt
5xJrjqIk0Stkp/r6PA5kNbLCnMjARyFMgMh4Kb3E3ZPGqHgx8loUYaNkdK2PGMlG7DWZ4ZX944vX
vmSF+mbV/DU+ARs913Wovjolsu6dy41FSPA4P7KWsZVpB8aO2Y6nPvIAQoKrxlq5KIAYFUUcRtNw
ixOL8KVdFakk5eln77nLOvefeUe1m6IgP7WAC7zqvBQmUNhFP57LmpVRRA835GYH+WTY2k3VkX0e
yQSp/sbD5LJuP/jEBaCp/9UJ+5IUmdtoH42mYzK5U/Llx3l8LvbKO2PdSpNe9nEJIk++QuuQqqAp
D2WM6BfhsQV8gFi6qDWJ0twVtmYrIwjSZtpFr0Kq56geUOT/ou68xsl6/bLIev4ILamb+VU/d9P8
4vQcNvTQ7ECGQqq2vjaZJuP+Otq9wTcKuitRQfQ5e/SBS6OpSTunbPi3/rWoki1Z4dcIS9JzPkOv
TrJkgBZF2BiKxt+DVSBx15Pcxt7lSu44yvyg3SyjvhqKJFZRlTQN8mSoPw5LN4yQ4Dwq2W24FhQ9
CMv/MVLiihIzDPEIWJlpTNmeneSVlRYOIAF18ji1gIqecmWMnBb9QK/XMKMIH5nMzfbz+7jb0niw
dGSIoOdsA6UM32ep1QAAuEAADYOR6LPvvrtJ6MoRTvGfJXrMnayc4BaSwweAnIcPsxznGukcSaCL
GK0QXoeVEdv2vrjvdCbdKOnevYdXfe4HpFa16MHWzVxhq7YygiBtpl30KgAAAPtmLlfUxG7r4XP5
QCJjGACGkTAo9bdYeul9/TEa55bnijM+wvC7Uz7jf3uOr3635HRQ7RP4W7TCejhfABipxRE2vm4B
DoA3etCndjXz9VjX47XbRuvgpHJMffQG780qoiIUtS2MRGrkW0TlakIYYuFkxuYJRvbqP1Z7QMrl
U5Q5i8brhKpD5u28r3VYd0Jvbg7WZxQxbkbAI8Z6s7k6km+qjaZ1zL7qn8kBAOAVMApxqe5D1Kkv
0rgAABhJUlZaXoIEABJdx0/vTO3h+KjC8et6DKZ1O0tPbqxbWIewDjnJNzcNeNbH2GSamenKW5a2
0W7rTJ0jRbxvAxcIgEQjN1pG4SsUvlRrtzKCIG2lXfQq2Gnh6TBl2IQutKiUagCQ0NIfpwpJkVkt
m1TFOZ+rQUpRVtyrGdmpr9PwKbpDKfl33n9u6g/X/FenTN3enfPa+/Ambeb8Y89LBS1cYfMiFHA5
XABpeUkSMMV4uRAv/118CRhbTOh062bOdwPukt1HDSBlnzjs7p1cDQDpcnlfoCUHenZaWBpMGWnc
QyLy/Xe/rInKJTKMJhZZUJqSXKGqZ7VMMcltjyvtb8tl8xXVyl+m1i+LV7O+AMgpS5Oh8ttza1Mz
SoTqrGdX01bZmA68WWWokX7bJ6OmZyAoeeMfJdi50vLvC7sjy78pElVrvGG3PJ+51t41/Q2Q/GuH
xwHTcRqHkj8SXNMisg6rS5L8LiX5XT7Td9mlN1u3Wd6ac4xw6oFXkV8GUj21FSmvWY1+r9EVEizV
olYmK49duNCIFHHGK+q/8P4wBGnf2kWvQpD96MzF1a67LuzjOfsnknsv2mDdK9936uMWHiK4ObGp
bGuDPbYmh0OLKWpd5d7dvpZKMFIsyHl08pz1RVsvd8V/b/gnlXClVHtpVPh5BX0Sa3YBZ398sGJu
Ndw+dPtS5cRFrm+qWrjC5kQoYGbElsCSJUvNyyOYCuqUmLs+6US/YqveuTmEGJ51uvpA57Ln67QC
DqWDWidK9B2f9GpOZnQK6FusXRDnFZ3FxpQHqol1t4Hw4LMfnXVf7brJ4zTF2Tsom6M0rCNAtchy
iQyjqUVmZ75lUE2MNYPnBxV8onhHOxwwIEU5fapfRFCZFpEHtlarrEoDC+U1JGJu36id1WpqRonC
zb7rk+pgu34/TyXh7JO0un4BL9d/47k5IWvOPpM4d+xhQi65r44sAACQVSdM6faZfuhVUnrtzCBW
6veeP2vKCA33j5nC9xaiOpTVtd9hUB4eSc8q50iq6+t2BH5WAVtE94xfHHUzDj+63sGB6RWYz1Md
qgpQF73wFRIs1ZJWlh640tN+tirMVIgzXhPT7GE7BEFaRbvoVQBeEbVprl3JXruNx0/KQVVKkPsc
hwtBFS38eY+XBh1ZdW3/wUWOt5YCrzTx4ib/G4TnAJwZs332sqwtNqtW7TWXAeBXpoZ6vLzehE4A
Ny9gtaWG9n1bX8ekIVteFbd4hU2OkJ1wYOf1vk5m51zM+GVJlzYF+KZXE50ieDkeq+cVLLPZPMfa
baE0ALDy46/aB/imV1dnXDNb0+G4ncWlq+skAHAOMzcxJJXV/J4eXhm1eY5Nnr3tSkdnOzIAryLj
7eMUloC4XKLDaGKRBRUpodmgHe4ZWIYLsNCTAUyDPhEJzAbJxkl23uY+6NBi57MzBOUfLm567J1W
s8ImZ5QovMyA2++2bxuGx60JyK1PCpxNP2P1T8HafcuXXZopA8Av/xR7P6ZEoKT7Px1I8kqvf3ID
XhUXkgmbJ+kr3cosElpogjokS0iSVEZuPGSuSgOA6sLkCOe1h3zyRQ368LLd16zvdGDTisOnNgBA
dUV6dADjs0DECoUv1ZJW5mSHPc02NcPCnn0i6k0iCPJL1L4JXXaqZ7A3aYPGoqDKto4IQRAEQZDf
E7rIGkEQBEGQ1oF6FQiCIAiCtI7aGRAEQRAEQZAWQmMVCIIgCIK0DtSrQBAEQRCkdaBeBYIgCIIg
raO2VyE71TOm6uo4+bYNBkEQBEGQ3xgaq0AQBEEQpHWgXgWCIAiCIK0D9SoQBEEQBGkdqFeBIAiC
IEjrQL0KBEEQBEFaB+pVIAiCIAjSOlCvAkEQBEGQ1oF6FQiCIAiCtA7Uq0AQBEEQpHWgXgWCIAiC
IK0D9SoQBEEQBGkdqFeBIAiCIEjrQL0KBEEQBEFaBzZYWrutY0AQBEEQ5E+AxioQBEEQBGkdqFeB
IAiCIEjrQL2KPwVZecxRz8tnR8m0dSDIT9Q+W1mi21TH3dYTVdDRBEGQ2uOA7FTPmKqr4+TbMBKJ
PgeD6SxGzZ9InzHt67gpCibTRXfqxAEq5LaLQFrrn1GDteXQkb3ZSBpzr9VlIP2JkVxbx9OI5rcy
Jj9uz/g/+60AACAASURBVP3y+Bu7+0m0elQS2jM3m0/sK90GuSc7+nhxXZOxQjbqSv76EBAEaaid
nYOyPa376hn21DO2ivgs+tuUrhuefO2I0FkMOitgaS/qz4+yEbQ+lkd89hp3a5uttz6sg8Hd9/R0
xwFS9f9H7bP2HivJZaYCBgCASfQwWn3j/vNyBp3FCE+5fdB2kOzXbCKrz3yWTGcxfNZ1o/z64JtL
UBiwddj0ufrLL6e2dSitjySl1bszVbJrX1VaW4fSOFKHwetO+WSn0FkpQVGnF+spiHVsYkU69NUz
7Kk3dfq1wp8dIYIgYmhnx3weqyy/qJgj7rdzr1jPeSqtNPWY627s3NSNQUXsokzeTw3wvwKven/n
PRgNG6xBiU+rqVKSwtAxWpDo+ZaJA9B6LTwd5jAs77HLisNv86hqg0bqCtjVgtqlKd2nLhhWEh5M
GbXctPv5EwxxG7St8SqyEyuAwvxbjC7t74ZfcM3K9H037of3zLYOpTFkjSX/uh4Y8P7UdrvX8Lfd
bruHZ5i6S+5k8kUsh3OZhUVMAFrHz6K+iiDIr9DOxiqaiFuSmZqQnJb1GeBzflIy4/3H8mocACQG
2pxPjKWzGJHJNw+cv3S/kBH96c7WaR3JAEBS1j9yze9jPJ3FoLOSnr8+tWy86te+FamT8aHYmLc1
szCMW45W/WTqa4imbmi973lgSBWDzmJEFwSd36JDAwCZoXuzGRGvzFVA1exVzWoZYdf06mdwyKoG
ri/fVgbtM1EVp7qJghcR4VekDmO2+FR88Nk3TL7mU4ryENtjXqmJdBbjbeaDIxtHKIqYq+GXhPqn
gPa44Yq1q8fk+pn2hcRHUQV8IHeceHz7cPY9u/F2bj6v6SFBT84eOngupbquorovWNCdcfn4Fo+P
3WeZ9hdzUFpI9QIArdNY+/O3cxh0VkrQG5dVkzvVjgiRlPUPX7mVHB3JYtBZjNB4jw0zO3/9IU6S
7z/P9dbjIgadxaAz455HOOkpYkC8QmJNrkOZUTfj6CFzOzZsIMXJ7hWxRw1kiMMgKQ5ZcMLlSmx4
aHnNIFz0ZbuePwT5QysLUTuzU0m/F3z30W3Db2Z2COuQACbby+T0zYAyBp2V9OyZXZ+GnwkpF1Fi
S/41b8sI/OmOzbtuv/K/fWrRzjB85HKr3u10WAVBEOF+716FMBS1Qbpd89z+Z2b/tPMU807Pl1o4
PdcwO7OmnzQASbrbuOFdK67vMFm8aq7D/dKRax7c2jhGvuaEIyhLeOi0xWbibAujFScCFUxOutkO
q5kDIKvNO+Htt0mf98pt5Zq1M5ZtWnfe/2UeDwA+J5waN3nBkocVUB6wZOasIVNmDZkyfxOd/TUa
CU39SZpkcmc9wy7iHCWJgieK8CuystF29weLeaeWWO1+UykAwGQGOd1w36OTetx22fhFO1zyh+69
fMxSk/icyM8OfvKB1H/OILmaqpHtN1lPIvN2UD4XSCp6sw1oWeddw4sFjSwp2dPYrBPj4uOMD4/8
klQnzu8txkS+8OrFOgw/6nNqm06q8/q1szZ6pfRdcdtny7gOGACQpLsZ6GlX+x2Ys9Rm3naf7EHm
11zm106BSQ3Y775tFv/JOssl/8xeOnPLWffgTBYOxCsk0Jw65JWlleEKGvJUwCSVNXt2lMSAoqjR
AUozi7jEYZDVRs1bMVHh9YX9Cy1XTLawMdt92T+X+22Nfd/KwgkKH2/SnTJr+JKLjB8+I6pD4cgq
48/fcLRUeuNoZztvu2f45/rjiPByESQ2qaPu8C7wwTtG1vpqSIHvYpV3AfHQadwgpba7TglBkOZp
ZzMgrQgvS4mKDucncCwVk8MjQllvt8zR6SKLxZUCAEBedOjzMCZAROB7/I2fpeMkD6NbBXyAL1mh
vlk1K4hPwEbPdR2qr06JzODJ6FofMZKN2Gsywyu7+rsNfSlJTatSKOMCtywjLf3Dl+8j+Rznsngf
0xALPxP7w2dNDP4zLjTCmv/CpLSXnT5ycnjytjlbzyXWnEZJGsbrbTpHWRs43SgUAEBUCj467IjV
BHWPKzkE80Xc7CCfDFu7qTqyzyOZINXfeJhc1u0Hn7gANPW/OmFfkiK/O8/VoumYTO6UfPlxHp+L
vfLOWLfSpJd9XAK7sa9+Jbx6SZrGa5erf9xnbH+cUQ0Q+jKF2u+htcOUiyE382u+kRMZ+CiECRAZ
L6WXuHvSGBUvRp4AqAqa8lDGiH4RHlvAB4ili7NC4WPozapDbnFiEb60qyKVpDz97D13Wef+M++o
dlMU5KcWcEmas0SFwU719XkcyGpkxY21MhEeMy+FCRR2kbBWaLwOhSJrGVuZdmDsmO146iMPICS4
aqyVi0JNRQmvXiYITewPSpoKwIrLr5YZ3EVWVkJTnpOUy4bBmvJUIGgUBEHaoT9zrKKeQIADRsIA
F/AEQCJhP/wiZacHPS/C+ulpSQEAkDuOWnLR+8Gn+Oiq98HvDo6kAU2GSgKgaPw9WAUSPZ7kVv+4
DZH4Ja+unNrlEVXQxANkY8ELi7DW6AOXThsW2Ztt+Lf+ZCOpra9Npg13fx1dc01rVdQRAwqodlcS
8YuUm+3n91F+tPFgaQDJnrMNlDIePkutBgDABQJoeCqT6LMv4HW8/QBpAJDoMXeycoJvSA4fgJfz
8GGWuqGRjojRCoLqleo5qgcUvXlR19ngZL1+WQR9RmhJff9Nfkl6zmeQ7SRLBgCojNi294XA7Ex6
2PXrOxYYa8uSm7zChppVhwJWZhpTtksneeUhCweQoPfkcWoynXvKlTFyWHjzwqjVWCu3im/rUCjJ
bsO1oIgelv9jh0qscgndK9mJu6ZP6TPpUPgfeGELgvxH/LljFTVwAZ8nIBwexkEAgGEYAFC7mvl6
rOvx2m2jdXBSOaY+eoP3ZpW69eAA+C/+2fRj8AQR1mD43Smf8b89x1e/W3I6qKxmWQwjYVDqb7H0
0vv6yyZxbnmuqJETbkbAI8Z6s7k6km+qjaZ1zL7qn8kBAOAVMApxqe5D1Kkv0rgAABhJUlZaXoIE
ABJdx0/vTO3h+KjC8et6DKZ1O0tPJuqPiajebzuDQucqcL4AsLpzFCf55qYBz/oYm0wzM115y9I2
2m2dqXNkCb8pK2wYQXPqkJMZmycY2av/WO0BKZdPUeYsGq8Tqg6Zt/O+NKlcP2islUWr638Qbueb
OhT+LQEOGIkk7FuiyvVDYvNKs8tBRk1dmsQrzs8CIKl21JCCsuzKRkfDEARpx/7wsQrWy7WjFeYH
FAv/QUftNHSsKjDeZn8BkOw+agAp+8Jhd++whLjE+LDYuqM/8PLfxZeAjsUEYdf14ZzP1SCl2Phv
PLLyWAvbfUuGqzVtlriR4IVHWCv/1akp03ffUVr88OamiUo1rctOfZ2GK+kOpeQnp6Z/qP2TkVbM
Efkztzrr2dU0xWmmA4dMNdRIv+eTUdMzEJS88Y8SdFtp+fcPd/9RtcYbdsvzmTuj5vqSWUNMd9yu
0DQdp0E4LkJQvey08HRQGTah7pIUCS39caqQFJlFPKVSG39Jkt+lo2YzjIYdTh9itc1SiyLOCgVc
DhdAWl6yQeGaV4eC0pTkClU9q2V/JXn5uF5L62sxf7paeUwqU9CycjXWyqLh1awvAHLK0i2+WIGd
FpYGKiONe/w4BiVOuX5MbEHhu6hPoDN3WE1CkVSGTRoAeS9jS9H0B4L8bn7vsQqqcteunaSVtKQB
MPU+f/VSYRcxMmtuAxFhyPK1ttLhqTyt2ets+1Q+X/AknwfAyYxOAX2LtQvivKKz2JjyQLWvty9U
vXNzCDE863T1gc5lz9dpBRxKB7VOlOg7Puk1J1puTmwq29pgj63J4dBiilpXuXe3r6XW/qqVHrjS
0362KsxUiDNeEyPupRWNIoiwDs7++GDF3Gq4fej2pcqJi1zfVAlyHp08Z33R1std8d8b/kklXCnV
XhoVfl5Bn0TehcvNvuuT6mC7fj9PJeHsk7S6X468XP+N5+aErDn7TOLcsYcJueS+OrIAAEBWnTCl
22f6oVdJ6VU1X8VK/d7zZ00ZoeH+keAuQYLqzX505uJq110X9vGc/RPJvRdtsO6V7zv1cQGfOHll
de13GJSHR9KzyjmS6vq6HYGfVcAWAAgIVlhDwMyILYElS5aal0cwFdQpMXd90qubV4fszLcMqomx
ZvD8oIJPFO9ohwMGpCinT9UAuMgwCP3YyqKTXlCZFpEHtlarrEoDC+U1JGJu30hrzoQegCD70Vn3
1a6bPE5TnL2DsjlKwzoCVNd9JKxc0gRr/JLsczTS7PTBI45SnuEweN1uPSxyn1tK88JDEKQN/da9
CorGYtdbTj1r/rHa//5qSD8zeNolhhjDpgIZXbtDc9TIvDz6ndVrnO8XCwCgOuOa2ZoOx+0sLl1d
JwGAc5i5iSGpLD4AAC/HY/W8gmU2m+dYuy2UBgBWfvxV+wDf9JqHNOClQUdWXdt/cJHjraXAK028
uMn/RiqnZpCXkx32NNvUDAt79qmlR0miCBvg5gWsttTQvm/r65g0ZMurYmbM9tnLsrbYrFq111wG
gF+ZGurx8roYvQrgZQbcfrd92zA8bk1Abv3XcTb9jNU/BWv3LV92aaYMAL/8U+z9mBKBku7/dCDJ
K71+WhyvigvJhM2T9JVuZRYJH6snqN6KqE1z7Ur22m08flIOqlKC3Oc4XAiqEHESJUtIklRGbjxk
rkoDgOrC5AjntYd88gUAgItcITvhwM7rfZ3MzrmY8cuSLm0K8E2vFjSrDgUVKaHZoB3uGViGC7DQ
kwFMgz4RCUxcrDBE+b6VRc6EcJKdt7kPOrTY+ewMQfmHi5seezezVwF4ZdTmOTZ59rYrHZ3tyAC8
ioy3j1NY4lVvo3g5HmtWyu3dseXwqY3ATHxyarr9XZEPq0AQpP2pfRO67FTPYG/SBo1FQZVtFYlE
n4PPrs/wm/v38Z/70CRKl4VhgZtKbcZOftouHweEIEiT0QZu8Quf/mK0oTO9RaOBCIK0UDsbq6DI
KKqrqnAAZ5eXVnBb9fJ2BEH+OBhVTlVBggQ0lZZfLoIgSCtoZ70KTQvXRAsAqPZfOn5uSGO36iMI
gtSRGbEn8bJB7W2r+W0bC4Ig8HUGBEEQBEEQpIX+8DtLEQRBEAT5ZVCvAkEQBEGQ1oF6FQiCIAiC
tI7aXoXsVM+Yqqvj5Ns2GARBEARBfmNorAJBEARBkNaBehUIgiAIgrQO1KtAEARBEKR1oF4FgiAI
giCtA/UqEARBEARpHahXgSAIgiBI60C9CgRBEARBWgfqVSAIgiAI0jpQrwJBEARBkNaBehUIgiAI
grQO1KtAEARBEKR1oF4FgiAIgiCtA/UqEARBEARpHdhgae22jgFBEARBkD8BGqtAEARBEKR1oF4F
giAIgiCtA/UqhJPoNtVxt/VElXZURyS5flbbtq3vL9nWgSD1SPIDVu7auWmA1E9afzvMQ6TlUNog
f6jalJOd6hlTdXWcfNsGIwwmP27P/fL4G7v7SfzKzUpoz9xsPrGvdIt3S4rqpPWnoqOiWAx6Jf1J
2FnzvhJifNQYksJgq2XzJmlQWxrSfxxRRmEyXXSnThygQhZ3ZaQOA5cunj2xE6VVQ6z3fR620e7Q
ZNID9vtHlgVs1pPF2jqUJhK2V6K0+alatXpFrRD5eX5WSjeZVFej3Q6rLPS7KZDgS3F62KMLNgcD
sngAAECS0urdmSrJ6atKA+C0caBNRlKbvPfG6gGRLnu2huTxZFS6KBQV8UR+1C7QeiyPCrDp9fXf
7MDpozYGstowIrGRNVb5+R/TafhfgiDrf6YGVgEQZxStj+URn8nP/xkfX8z/dfE2wW+yO2CSHft1
o9FI2ppSGFThbR2O+ITvlShtxIRJ95lpe2LdzDGdJb7kvr14ZM9u/+wvLYqwWdX7m+wpf5x20quQ
7GN/5bAtPHPYcOh1nkBFW1dPqbDia/bwC65Zmb7vxv3wntmWQTYTtfPgHhIlT/a4+Eewxf+oXeBm
35497ZUkBgDUnguOX5/Z1gE11ftjE7dF1SWNgPnpc+1ff+uM+k2Cx0tfLpq08C9SJr1I0NaxNInw
vfI3qfnG/brgyVqmh18e1nl1bJvBqwLpwQv+PXoez5m79d1nEcu1eoS/dXv9xtrHpBtFedD4znjI
of3H/CPDY9488Lmw/Ty9AgcAksbcaywGvZJ+L/juo9uGct8tSFMfs/Ocz6dkOotBZ7578sZjg6ES
CQBIyvqHr9xKjo5kMegsRmi8x4aZnWkNNjfE9phXaiKdxXib+eDIxhGKdeNqmGwvk9M3A8oYdFbS
s2d2fcSMn9ZprP352zkMOisl6I3LqsmdamcoZIbuzWZEhCzuCMqzXsTRWQw6i3FnQ3cK8Uci6a69
kJxAZzGiGN72i/+SxgAASGoz3CsZTw4PqBvrk9O/GUdP2dHn6yUYZFUD15dvK4P2maiK2+p4dVlq
MiPhAyPhAyO58JvOvvA6JCkOWXDC5UpseGg5g85i0FnRl+16UgmXkhhocz4xls5iRCbfPHD+0v1C
RvSnO1undSSLUy4iVTnvP9TGn/AhLZMlIM6omkZ5Za4Cqmav4msaJeyangwAgESfg8E1/1P3J855
vEz9sqP3Pyhh0FmMsIQr62fUT1GROhkfio15y2LQWYxIxi1Hq34ydbVPUFHC8pAoeOKcF7anEDal
uDCJjiNnmlv8VdMmmMp0DxaDzmJEF7y8Fvwi+MF42a/fbOdpI3yvRGkjdtrIDrHfPrrE3W6pa1DU
h6Qgb+fd0R0XWw6QrVujofW+54EhVTUZEnR+iw6t+dUrtDYIVkjWNDmZx3h5eVLNdApJbdLhbMaT
03odRB8WGw8eQOgpgCBFgdp5wlqzUT1bPsPe7rSPsQpeRVp8OWZiNqVfsPf7zw0HSwWFjzfpxkhR
1YyveSz7bilMftgR79NWpJdOW85EFoPG+C0XLEb1kT39rFRAku5moKdd7ek4J6iIpDbUZqflNZeS
wbOuMLiAyQxyuuG+stpvp+2JaKaKwfJtey8fqzBa4Z7NJ6uMP3/D0aTUf5ddQBq128QFq/qLETzW
YfhRn1PL+U/t159IxP4y37Tmto/S1GkHgirwzwmnxk2+obvGxWN0xJIlF+I5AAJOQTYPAAg+Er1F
dvy/O8+n8LrOWWd37rpc2aRt94sFxVH+MbB70hgN+/iMagCpHmOGSVUFv8z6OvAooak/SZNMBj3D
LrR7RaLHI4kCEF6HAGS1UfNWTIQrB/bvYBRX8qkKSpQPuVzCpShqg3S75rn9b2fqtJOHl1ZdnmeR
NeuEw5k1jwN3x4ksVxMRZVQjjQL8ihw2AEB1mvOi/12hYQAk+cErfA8aVt31fdfgt2z2i/M7nmSx
lf5es2vZ9TP5A+fdSOcBgKAs4aHTlrs5RZ9JSv0sdmw96caJm3Awkg0EFSU8D4mCJ8p54XsKYVOK
RJLpMnS++UIbs7G9qVk+25/fSM7jAl4WuE13ijQJgNJp+vVLFl+/3f7ThmCvRGkjZtrIDvzfdIWM
Iz7J7A4DbR23rZvYR10SIKm7MjmyCtTmnfC+ZCQIueq2MiI9j01V1ZBNy+M1f68UXhvCV8jPfuCw
aKj3fedDUSmr3b4YnTtsWOK+ZEd4hYghNbKw4AlOAQQpGk/T0p23deGhPQUht26c9bz7JKWyPc1+
t0T76FVAVfSmZcflTm+Oipj7yPumi9eDl1nsms4Fj5mXwgQKu+iHKQJS58lrlmtkH52x7VBSNQDI
S1mAhULDb+REBj4KYQJExkvpJe6eNEbFi5EHGsbrbTpHWRs43SgUAEBUCj467IjVBHWPK/ldjK1M
OzB2zHY89ZEHEBJcNdbKpeEKSVKyMhJkDABwPqeqisMHACBpGq9drv5xn7H9cUY1QOjLFGq/h9YO
Uy6G3MznfylJTatSKOMCtywjLf1Dg0MaLvwj4duqFeN+5vRTJgC8SCQPemq7ZfLJR1dzeUURV+Pg
1NQxWhcyUnnULnoj1Ktj7ybVjzp+jnNZvI9piIWfiW1RlwKAJLwOc2p3DHaqr8/jb6/AIFiqHADw
spSo6HB+AsdSMTk8IpT1dsscnS6yWNxnUeUiMuJEHqPu7x+ODzT1SuMRZBRho+DVxVkZxQBkFYML
mwxl3hw1PBBe2uA49DHQ/04QEyAySW7s+13Go5W80wsFAPAlK9Q3q+Yr8QnY6LmuQ/XVKZEZdQeQ
RiqKrCU8DwmCr9FozgvfU8RoykaRZXXGmq6ynG85qlN5fMBFx2WXHtE/fan9PcBn5aekAgBQOMUN
qvA3SBuCBEBpI17aFGr+3Ueu4l1kkcKsE+cP9g1as/QQrHE7q0qjYCAz2PqIkWzEXpMZXtnV3wbQ
zOoVWhuERRZUBB5Yf2Dw1WNue/qVGxh+ctE/HSfyyh8ZXWHBE5wCmCA8RQvDj40ednHQhJnWFmbX
/e3K4h6dv3z9YsD7Qq6ISNq9dtKrAEFFnJfZhDu99KctW7TwzgvbaJcNc09FlRD9XpLsqdcTK3ny
5GM1wZcAAIBfkp7zGXp1kiUDULX1tck0GffX0e4NvlHQXYkK5d2Ga0HRg7B8IYdTqcGngy4u6AAA
AOX3DMc6hrEBQKrnqB5Q5P+iLtM4Wa9fFlnPH6EldTO/SrzCi72t73Hz3gYXwcKhmpJXc6v4Bf7X
Yo4fnj5V8/qpT0qjJnTlxbhGVDbYV/glr66cetXskOpJCq9DglMRwVLlX/8pEOCAkTDABTwBkEgY
BiCyXAQaXFchYBd+avlvAYrm4mMHzMB/nu3N5MYv/+IXp+ewoYdmBzIUCgDIHUeZH7SbZdRXQ5HE
KqqSpkGeDJV4zFNSRB6K5ZucF76nNK8pqTqrvKLXdSsOOb/A+PpjBlO86+d+n7Rpdf+htClT7aEE
pdmlskN3j5V6u+uk55uq0WVcUAUAisbfg1UgcdeTXJGH7J8NZycdXXts4pMtll0/7p96JV70ZW0E
wROcAt5//VIjKYoD8MpiAy6vDvDYrDls8fpdR09cXXvfqvfGt80/cbQL7aVXAQAAfBYj2Htb8B3X
OScjDxzY9WLa+rpf1XUHg4a3qGFkKhkEXJ44BwqcLwCMhGEAGEbCoNTfYuml9/W7N84tz/0CFFyA
A0YiCbsPjpNy1Nr6ugQGAAJOQULDowP2zTKtcCMdwba+3RIGgOM1VSAoCLr+lH3McpqW6/Wec/ri
UfYxJa12nRxGImN17UBQh0RrIKj5+n8L+DzBd0G3oFxVOe8/MCob+6SxjBKJ1nvxgRP6JecWHvYv
Fh4Bn8sHEhnDAIDa1czXY12P124brYOTyjH10Ru8N6uI3IyIPBQz+AY5L3xPaV5T8vNDvK+MXrZ4
zMozcl3cvLwvPUnIrxa5H/4+aSMcSpuaNRA0ipQsDbhfBLJqKqTPiTmshj1OXIAD4AR90GZVLxHh
K6R0HjGmLxnnQ7d5/+t75vA7pqj8FRG8qFNAYykKAABk+b7jTKwt5i3W61z54dmZB5ktHEluB9pV
r6IWNyvsVSroDegiicXWDqri1awvAHLK0mSorGtXzqe4PDD6e1RHytss8bvn7NTXafgU3aGU/Dvf
XsEBwE0LS4MpI417SES+b+w0LqhKiY5K+WGFaeHpMGXYhC60qJRqAJDQ0h+nCkmRWS26q6PxbX1P
suvo8ap4Yvinmm0JSsNP3Ct5On+eQab6cKCvC/72Jiyy8tiFC41IEWe8ogqafPObROdeSsAsquAD
YR0SIFjqaxayXq4drQAAIN3wYxHlapbGMqr2E87napBSlP3hkkXJXosubxmQ7rLQMUrkIahuke6j
BpCyTxx2906uBoB0ubwvIPL0wBaRh0TBN4pgT2leUwrKY2+uNvPZ2kPPwmLh6sOeO/d/DPDxPud5
70UmW/hK2lnaNGt3QGlTsy3hjULmsLggKUdjZ1WApJIsBeDrgD4v/118CRhbTOh062ZOo8P8zahe
YkJWiMkOsLq5Z0jc/nlrv2wMcTp2NGL26qDy+nN+I7lBELw4p4BGUpSmOmjuovkrF0zSVSiN8ru5
3PT2vYTS3372A6C99Coo6oYHbHXSQt/G5zAFcl0nLlk5CBgOSayv+SqoTIvIA1urVValgYXyGhIx
t2+kVWfc93ixZs++czv4/77MpGiOndcHIE/UpgQ5j06es75o6+Wu+O8N/6QSrpRqL40KP6+gTzxB
9qOz7qtdN3mcpjh7B2VzlIZ1BBA5VifIfnTm4mrXXRf28Zz9E8m9F22w7pXvO/Vx00/cYtMYNtaw
qlRKa4SV3WLt3Ftrn3zd1uc3l68lmtm67wFS1LYX3/40kx640tN+tirMVIgzXhMjukNM0ZjqYj8g
9l7gmwK884h5hyfJ5F59kvwFCOuQYH3NW0p0uZqn0YwCAABuTmwq29pgj63J4dBiilpXuXe3r6Vy
gKJpud9mMCvI5hWvu04vAAABOzs9u5wweE5mdAroW6xdEOcVncXGlAeqiXHriug8FB58o3jC95SW
NIqAmR76r2PoucMaY0zM1ixeupkR9DKTLTzt21faNHV3qI0GpQ0AYaNwc5OLYGJvDfaD2wngZGms
E3Ifq5u6qXrn5hBieNbp6gOdy56v0wo4lA5qnSjRd3zSq5tZvSIrpbEVYnJ/O55Z0eXFtiFejDzY
bTPuzuWjWx9O3vmwLkMazQ2C4IWfAqSFh4ZJ9Z2/c7rSs/N2y2+FfKj8ve6+JtY+ehUkCsbpMHzd
viVd5UgAnNz4YKdlx06lNei3cZKdt7kPOrTY+ewMQfmHi5see6dV8/IeWpjLndiz7PBpUxKvOPEj
CQDn4yJ+D+DMmO2zl2VtsVm1aq+5DAC/MjXU4+X1oE88wCujNs+xybO3XenobEcG4FVkvH2cwhLR
3nhF1Ka5diV77TYePykHVSlB7nMcLgRV/JQZXMHnzOC32WaL9vktAeCXxD7912S/R3CD2eLqj3cd
tqWnvAAAIABJREFUnyzzmYz7Xgr77jEBnOywp9mmZljYs09iTWtieFWWYNB653nqNICqT4GXt284
EVcz4UdQhwSat5TIcjVTYxklAADAS4OOrLq2/+Aix1tLgVeaeHGT/41UDqYyfIEuCWDcvzfH1a0i
ad3YRe55RNFUZ1wzW9PhuJ3FpavrJABwDjM3MSSVJaLDKToPGwueYIUEe0pLGqU2WnZu8M3jwTdP
kDC80br4mp3tKm2aujvULYbShjhtuNnhEfkbp/yvd+n6zYfHXN4eHbcFAD5HMKtxAH6Ox+p5Bcts
Ns+xdlsoDQCs/Pir9gG+6dWCZlWv6CPBjytMpw6zdVol+3S+w7M8PgAU3tl7zPKZw8l1t145xNSM
JjWeGzzhwTfnFIBXBO/oO17wGz0eTmy1b0KXneoZ7E3aoLEoqNFJ6N8BuYfljfitZQtHrvQr/xNb
SlzUv1bdjJoXOm7yCfrvP0HXwJ9arl/v1+0pEr1Xv/VfFLfYcGFYWz2QFaVNaxE7bWg9t93z3VZ5
eMiim2l8mrKaqnR1aW4JwSAW8odpH2MVzSStY7lgADM1M5+FKfX6Z936XlWvtoaLO3f5hyHJdeur
I4cpDpp7bJ2S31rPuD/kGPqnluvX+pV7CqXT7A3zu31MSCqTHmE+v0d1rBPj1z84FqVNa2he2lSn
n93m9j+frY9PUKwO3X2dV4IpS1AwNv+/eWD+L/qdexUUhZ5jZq42/UuBBiBgZr++t3/K0ec/8XKG
dk1y4PKjT+epC8qSbjquWP+c8J7c38mfWq5f6pfuKVSFrt1H2Zibd5SEqpyok2sd7rTBE7tR2rSC
5qYNXhV73mhe5Zkjax+93AgAUOY38Z894e3ypQTIT1A7A4IgCIIgrYgkq9pJXZpfml9YKsYlEMif
AvUqEARBEARpHX/em00QBEEQBGkbqFfRYiS5flbbtq3vL9ZLNFuXRLepjrutJ6qgVkQQBEHag9rz
kexUz5iqq+Pk2zCSb14ZHOkzRkb0Iu0DSWGw1bJ5k+rfYvzrSGjP3Gw+se8f+C7dViA7+njx19dP
h2zUbYNeH4IgyH9NOzsfZXta99Uz7KlnbBUh3kspAQCT7P2/QwxG4LkhUi3bOKY0/tCHxNrzUMVb
v8dOc4Z1aGcV1E6QOwybv/PRs1eVDDrrw8s3Lisnqor9KF2SzF8TLc9evJkSG116e66WyOVonWeu
Pxb6OpLFoLMSn4edXjpW6WujYLI6pme9A0oZdNaHwIgzlmPqPwJWpENfPcOeelOnXytscgERBEGQ
5mhnd5byWGX5RcWiH8Rai6IycLKdrc36f9ShwQsMmwujKmh0oX48snzXg0ppjT7jN+/Y8bQnPtjc
NxPdl/YtmpbJ0fVDc2+cXPi2SKL3pF1brW/JZPezfJgrqqIwqZ7Lj507pJvtff3W1svpmXlZBSKv
DefzKTIVz/61d8pid9Ax3Lpp7W2JjzorA0twICkbnL++e0q656pFz7M7DF+/19bfjTfEzIvBBQDA
uczCIiYAreNn1H4IgiC/Rjv/KY4pml6KYkXYj/w6DEHrtTuQXnpxgjIGINFz7WG7iaw7FnZ3Gn3/
B1nVwPXl28qgfSaq4peTlZGUFEN/8/D6scVHUmjDTMfXLUtRHmJ7zCs1kc5ivM18cGTjCMWGP7N1
115ITqCzGFEMb/vFf0nXvbOO1Mn4UGzM25ppHcYtR6t+MnWhkOT7z3O99biIQWcx6My45xFOeop1
iwnfFibby+T0zYAyBp2V9OyZXR8xS0XrNNb+/O0cBp2VEvTGZdXkTrXzNSRl/cNXbiVHR7IYdBYj
NN5jw8zONJFrq87wmqg/a8GJuw9CQn0vHljtW07rr9dTQtRimMyIjSf3qlw3mLh89dnbd0PpMWkl
HJHPxuHn++5z2nP9aUBoiI/74R0h1dK9+2lQAQBTHrXARO7jwc1nvCPjXz+9tHzbC/bARVY6IuNA
EARBfpJ23qvAK17fofOU9U21a08VNC2DWV24r+/Qy3AATrKjseHIdW6Psr40em6S0NSfpEkmd9Yz
7CL6TPnjtj9XfgGgSlEwAMBkBjndcN+jk3rcdtn4RTtc8ofuvXzMUrO+X4Gx4//daTfL7mywoum5
647Ta6+gFJQlPHTaYjNxtoXRihOBCiYn3WyH1fSQpAbsd982i/9kneWSf2YvnbnlrHtwZs3r1Ai2
RVYZf/6Go6XSG0c723nbPcM/i9V+WIfhR31ObdNJdV6/dtZGr5S+K277bBnXAQMAknQ3Az3tar8D
c5bazNvukz3I/JrL/F6iLxHBedy6QQaStKaGNOR8yBP1OgWS8uid8zWxDtN9X79hfXj9wcdxxQDZ
JiQgWaa73rx1w6jpz15lVAMAJikvQ4Kq/KqaSHBmSmQqdBzWU7bV3qOMIAiCNE07mwH5gaA40i+U
d8DEuIdDfNIXoPWaNl2bHbYrrKz2TEL4LrHPcS6L9zENsfAzsU18YC+JpvqXoYPtQH7c8WcFfACS
hvF6m85R1gZONwoFABCVgo8OO2I1Qd3jSk7NEjHuZ04/ZQLAi0TyoKe2WyaffHQ1lwfwJSvUN6vm
K/EJ2Oi5rkP11SmRGTygKmjKQxkj+kV4bAEfIJb+ddvCt5XfxdjKtANjx2zHUx95ACHBVWOtXBRE
FkbTeO1y9Y/7jO2PM6oBQl+mUPs9tHaYcjHkZn7NN3IiAx+FMAEi46X0EndPGqPixSB8+1EDtF5z
HE7qF7ksvJsm6m1P0r0nDKcxIwIun3qRWkrrPmuz4wkv+aKJm+4Wi9wWSc3EnXFMlwzAiT0/6XR8
FQCAoOhdZCYstls6MuhkeDZPWrN7J1kApiSFBIDmPBAEQdpCe+9VgKA43DWEc2PqlD6nkuh4z4Wm
muXP9r0qE++Z8vySV1dOvWraBvu5vI52AQCAyih3U7vrDC4ASGrra5NpMu6vo90bfLWguxIVcrjf
Ls/NextcBAuHakpeza0CcsdR5gftZhn11VAksYqqpGmQJ0MlAQBURmzb++K+05l0o6R79x5e9bkf
kFrFB+JtlXcbrgVFD8LyxX6hJACAVM9RPaDI/0V27WACJ+v1yyLr+SO0pG7mf9vb4pek53yGXp1k
yQBi9CowmUFLjj7e0Ttw65KdUSJfD0CSUVOXhU9+Nx4H5gsAkhN3as14bG01TN7vsciXXAmKX9jr
zdbo3nfs6g0rn1/F/pl//h0bviS5mR/qdm3rv8nLAQCABwDcgHxR73ZEEARBfpZ236sAvCLI40X5
FePFfVwYlLkLNQqvX4n9mS9WTXcy33qvqtvqs0dnlTPel9acoTCMhEGpv8XSS+/rLyXFueW5XwC+
v4kBA6xuEIXa1czXY12P124brYOTyjH10Ru8N6vUfY+TfHPTgGd9jE2mmZmuvGVpG+22ztQ5soRP
sC0KLsABI5GaMcSPfbOM0BXgfAFgJEyMDZDkRq7513+tsq/torWP88V4mTTOq+YByKvXdVm4xR8L
gaTcUZYM5SJ7SfyqnITYnITYNy/T5RKvLlw30NMy8jPgrOiLdjpX5DQ0FKhsprSp29vN3IA2eJcV
giAIUqOdX1cBAIBXRl/1yFE2W2Y0z3qy8oerroliT2eQlcda2O5bMlxN7NseAdi56elJCS+2r/Ms
MdpxyECRBADATn2dhivpDqXkJ6emf6j9k5FW3Mi1hpJdR49XxRPDP7EBJLuPGkDKvnDY3TssIS4x
Piw277vQq0uS/C4dNZthNOxw+hCrbZZaFMJtsdPC0kBlpHGPJl2QyE4LTweVYRPqLi6R0NIfpwpJ
kVktOP2SO09zurtW1ddmiU2jXYpGah5nfUzIhi4TdZVr/k+yywAtYKdnNOhSiNNefBwHjNzwCzxm
blZ2obzRkTXazKcX7+ahoQoEQZC20v7HKgCAk+LmHr/WwfE0sJ/YPkqvPwthkqpdeypTpbopSQBV
uat2f1ZVWWZmDrt29F564EpP+9mqMFMhznhNTJMurcCr4i6uvzvjnsMK1/Aj4SxBzqOT56wv2nq5
K/57wz+phCul2kujws8r6FNdMBrDxhpWlUppjbCyW6yde2vtkwI+ACczOgX0LdYuiPOKzmJjygPV
6h/FJKtrv8OgPDySnlXOkVTX1+0I/KwCtgCAYFuC7Edn3Ve7bvI4TXH2DsrmKA3rCCBymECQ/ejM
xdWuuy7s4zn7J5J7L9pg3Svfd+rjAn6z21+q/5bt/2CBey9nKejo1FzYgbNyMzIqa8/ojdb8l5Q7
LgmL9u/as7Xi3JNyLXPHBZo5Nxe/rfq61kaXoqiOXr9A69P7j/mfQUFriIXtTJUiv8vv2QAAmGTn
3r16anYfOnqy1cJRnZO9Ztq/LESvMUIQBGkzv0WvAviZ911u2Z0zq/LZ97KkwVmD1sfqfKilWs0/
ph32nAasW+ZGS+qeoMXJDnuabWqGhT37JMYI/XfwyldnXKNNNh+Zc328xycuM2b77GVZW2xWrdpr
LgPAr0wN9Xh5PegTDwSfM4PfZpst2ue3BIBfEvv0X5P9HsGVOABUZ1wzW9PhuJ3FpavrJABwDjM3
MSSVxQcAsoQkSWXkxkPmqjQAqC5MjnBee8gnXwAAuPBt4ZVRm+fY5NnbrnR0tiMD8Coy3j5OYYk4
keIVUZvm2pXstdt4/KQcVKUEuc9xuBBUId61KY2hdhyopwJy43e/GF//n2+3GRrcrr3wsvGa5348
u2K11J5NNmc9dmLVnyKum1ufafi0s0aXIkkpdRk628a6uyoVgF1AD3abf9i9NngJ7Q3uniuVK9Le
v72/Z8XpW29ymt7OCIIgSOupfWep7FTPYG/SBo1FQT/zkgVCEn0OPrs+w2/u38cZYj8FC0FEog3c
4hc+/cVoQ2d6E+8EQhAEQZqonY1VUGQU1VVVOICzy0sruM3/MY0gGFVOVUGCBDQV6SZcVoMgCIK0
QDvrVWhauCZaAEC1/9Lxc0NYbR0O8huTGbEn8bJB7UNZ89s2FgRBkP+I2hkQBEEQBEGQFvoN7ixF
EARBEOS3gHoVCIIgCIK0DtSr+J1JdJvquNt6ogpqReSna//J1v4jRJD/gNodUHaqZ0zV1XHybRiJ
RJ+DwXQWo+ZPpM8YmTaM5XchoT1zs/nEvtJiHEYx+XF77pfH39jd7w97UTgm00V36sQBKn/afR7t
rlxNSDYAoKhOWn8qOiqKxaBX0p+EnTXvW5N3PzMPmxbhL9N4kUkac6/VHe7oT4zk2iy8ZvuFhxTZ
0ceL6+qKFbJRV1L0IkjbaWf3gGR7WhudT+cAzi7/LPrb5A7D5q7Zs9RodDd5Mr888aX39t1uz4ua
/cBmTGn8wbCzk7pQAQB4FZlhj6/tPnb7TcUf8bBGkpRW785USU5fVRrAn/RAEFofyyM+k5//Mz6+
+I96VPdvXS6S2uS9N1YPiHTZszUkjyej0kWhqKjmKbR/bB4K13iRBYUBW4fFSdHUplxxt2zL8Jrt
FzYlK9Khr94BEtD62lx+MOGnbgppuXbWq+CxyvKLisXMUJqWydH1Q3NvnFz4tkii96RdW61vyWT3
s3yY28yjMEZV0OhC/Xhk+a4HldIafcZv3rHjaU98sLlv5u93WP8Bv+Calen7btwP75ltHQryx6N2
HtxDouTJHhf/iO9eNvMfzEMhReZVZCdWAIX5txi/n9qlX9iUOJdZWMQEoHX8/Acci/947Wyw8HuY
oumlKFaE/Uipuv+h9dodSC+9OEEZg+oMr4n6sxacuPsgJNT34oHVvuW0/no9G4zGkVUNXF++rQza
Z6IqfjlZGUlJMfQ3D68fW3wkhTbMdHzdshTlIbbHvFIT6SzG28wHRzaOUCQDAEgMtDmfGEtnMSKT
bx44f+l+ISP6052t0zrWjlzTOo21P387h0FnpQS9cVk1uRNVZLmEbwsAMNleJqdvBpQx6KykZ8/s
+ohRotqx1kr6veC7j24bfjPWSlLWP3zlVnJ0JItBZzFC4z02zOxMq/+Ypm5ove95YEgVg85iRBcE
nd+iQyMqFwAASXHIghMuV2LDQ8trRiyjL9v1pIr6iKDIQsOQGbo3mxHxylwFVM1exdcMkIZd0xNj
7qzJ5SJoZREJIKxcBDVPWC6SfP95rrceFzHoLAadGfc8wklPUfQrZkmdjA/FxrytmV5k3HK06idD
Ep0AzUi22uBDFncE5Vkv4mqCv7OhO4UwD8maJifzGC8vT6qZ8CGpTTqczXhyWq8DibAOmxchQOsm
AJCU9Y9c8/tY01JJz1+fWjZetebnGtGuR4xod2iUzKibcfSQuR0bHukUJ7tXxB41kAGCBCDYK4Xn
RvMPKTT1MTvP+XxKprMYdOa7J288Nhgq1WZisxIbaYfa2VjF9/CK13fovDH6ptoSEfEcAKBpGczq
wn3tTC/DAQDnfX3+JklaU0Macj7kNXgThISm/iRNMhn0DLvQ7hU19XHN+OfKLwBSUhQMADCZQU43
3FdW++20PRHNVDFYvm3v5WMVRivcsylqg3S75rn9b2fqtJOHl1ZdnmeRNeuEw5k1jwN3x7E7DD/q
c2o5/6n9+hOJ2F/mm9bc9lGaOu1AUAVRuYRvi09WGX/+hqNJqf8uu4A0areJC1b1F10QQeHjTbox
UlQ142sey777jCTdzUBPu9rTcU5QEUltqM1Oy2suJYNnXWFwAchq8054XzIShFx1WxmRnsemqmrI
puXxAAATWi4cgKw2at6KiXDlwP4djOJKPlVBifIhlwsABB8RFJkgjM8Jp8ZNvqG7xsVjdMSSJRfi
OQDAr8gR9SrW5pSLoJXTiBJAeLkIap6oXFID9rtvm/XRw9YyKIVJ6tCpa3d+Jkv0Q2gFZQkPnbbc
zSn6TFLqZ7Fj60k3TtyEg5FsogRoVrI1FryAU5DNAwDhecjPfuCwaKj3fedDUSmr3b4YnTtsWOK+
ZEd4hYAwN5oXYWsnQFy1dLdxw7tWXNqx/FWZhObwlRvXPLilMnnGkZBKol2PANHuIAyvLK0M76ch
T4UiTLlzZ3JxeiFPUaMDlL4r4gJBAhDslcJzo5mHFEx+2BHv01akl05bzkQWg8b4LRcsRvWRPf2s
VNDcxEbaoXbeqwBBcaRfKO+AiXEPh/ikL0DrNW26NjtsV1jZtxc70HrNcTipX+Sy8G5a/RtN4XOc
y+J9TEMs/ExsE7sUJJrqX4YOtgP5ccefFfABSBrG6206R1kbON0oFABAVAo+OuyI1QR1jyvlAICX
pURFh/MTOJaKyeERoay3W+bodJHFEpSN1y5X/7jP2P44oxog9GUKtd9Da4cpF0Nu5gsvF6mz0G3l
dzG2Mu3A2DHb8dRHHkBIcNVYKxcFkaXhMfNSmEBhFwk73+ZEBj4KYQJExkvpJe6eNEbFi5EnkNG1
PmIkG7HXZIZX9rcv7SJpCi9X7WGPnerr8ziw0YejNvIRQfXmSAgNA/AvJalpVQplXOCWZaSlfxCv
kZtVLiYIbeU04R8lKAovF0HNE5WLqqApD2WM6BfhsQV8gFi6WGUG+JIV6ptV89f4BGz0XNeh+uqU
yAye8DAwrWYlG0HwRHkoqAg8sP7A4KvH3Pb0Kzcw/OSifzquCgfC3Gjm7tDaCRBXCgAAedGhz8OY
ABGB7/E3fpaOkzyMbhWI3PUaQ7Q78IQtxC1OLMKXdlWkkpSnn73nLuvcf+Yd1W6KgvzUAi6AqAQg
2GEbTdFmHVKg8+Q1yzWyj87YdiipGgDkpSzAoq69mpvYSPvT3nsVICgOdw3h3Jg6pc+pJDrec6Gp
Zvmzfa/KGnRiMZlBS44+3tE7cOuSnVHMb3q3/JJXV069atoG+7m8jnYBAIDKKHdTu+sMLgBIautr
k2ky7q+j3Rt8taC7EhXK60MV4ICRMMAFPAGQSBgm1XNUDyjyf1F37OJkvX5ZZD1/hJbUzfwqoeWS
IthWt+FaUPQgLF/osaVl+CXpOZ+hVydZMgBJ4+/BKpC460nuD+8BJSxXc7ZLUL0FwsNoHkqzyvX+
65d+aGUQ/hFBuXK432y6Yc0TXh1cGbFt74v7TmfSjZLu3Xt41ed+QGqVGFPN5I6jzA/azTLqq6FI
YhVVSdMgT4b647RgwzBoPznZvoezk46uPTbxyRbLrh/3T70SX3u+Itr1mhXhT0yAGuz0oOdFS830
tKRuFbT27iC8VyFgZaYxZXt2kldWWjiABNTJ49QCKnrKlTFyWDiInQAExE5RoUtRe+r1xEqePPnY
2K7czMRG2qF236sAvCLI40X5FePFfVwYlLkLNQqvX4mtf7EqSW7kmn/91yr72i5a+zi/NU486U7m
W+9VdVt99uiscsb70prExjASBqX+Fksvva+/lBTnlud+aVCDuIDPE/ywv3171Kn/h9ByEW0LF+CA
kUjNmm6s628RLozzBYCRMAwAxwU4AC50xxZWruYgKDKICKPpWliuxlu58Y+IyvX9NHl9zRPjJN/c
NOBZH2OTaWamK29Z2ka7rTN1jiwhrCBqVzNfj3U9XrtttA5OKsfUR2/w3qzS+FcbhNGSZCMgPA8p
nUeM6UvG+dBt3v/6njn8jonDz9gdfl4C1H0DBABYg/WItes1jEB42gjHyYzNE4zs1X+s9oCUy6co
cxaN1wlVh8zbeV+alABE5fo+RZt4SMHIVDIIuLzG5zWak9hIu9TOr9YEAMAro6965CibLTOaZz1Z
+cNV18SvOxe58zSnu2tVfW2W2DTapSArj7Ww3bdkuFoTbvpn56anJyW82L7Os8RoxyEDRRIAADv1
dRqupDuUkp+cmv6h9k9GWjGnwQ7Cerl2tML8gOL6/2KnhaeDyrAJXWovVpLQ0h+nCkmRWWyichFs
i50WlgYqI417NOcGcbya9QVATlnMN3jy8t/Fl4COxYT66zDFK1czEBSZIIzaYnE+V4OUoqy4TdzC
cv3YygQfiZM2whCVq7okye/SUbMZRsMOpw+x2mapJeLHgWT3UQNI2RcOu3uHJcQlxofF5okxWdSi
ZCMgJA8x2QFWN/cMids/b7h9pMayY0f/URC16zUvwp+XALWonYaOVQXG2+yvlUyw6wm4HC6AtLxk
gyNx89JGUJqSXKGqZ7XsryQvH9draX0t5k9XK49JZQqamQCiNfGQwvkUlweqf4/qKDRdm5rYSLv0
W7QaJ8XNPX6tg+NpYD+xfZT+dRBQqv+W7f9ggXsvZyno6NTMz+Gs3IyMytr+rfTAlZ72s1VhpkKc
8ZqYJu1HeFXcxfV3Z9xzWOEafiScJch5dPKc9UVbL3fFf2/4J5VwpVR7aVT4eQV9Ihp8FWQ/OnNx
teuuC/t4zv6J5N6LNlj3yved+riAT1Qugm0Jsh+ddV/tusnjNMXZOyibozSsI4C4AzSCyrSIPLC1
WmVVGlgoryERc/tGGtGyVe/cHEIMzzpdfaBz2fN1WgGH0kGtEyX6jk96tYhyNRlR9RKEAQAA3JzY
VLa1wR5bk8OhxRS1rnLvbl9LJbo3uVnlkm71cokipFyyuvY7DMrDI+lZ5RxJdX3djsDPKmCLGJHm
ZEangL7F2gVxXtFZbEx5oJoYjxFqUbIRrbexPMTk/nY8s6LLi21DvBh5sNtm3J3LR7c+nLzzYUnr
7w4/KQGGLF9rKx2eytOavc62T+XzBU/qJ2YIdj0BMyO2BJYsWWpeHsFUUKfE3PVJr25e2rAz3zKo
JsaawfODCj5RvKMdDhiQopw+VUMzE0C0Jh5SeBn3PV6s2bPv3A7+vy8zKZpj5/UByKv9sFmJjbRL
v0WvAviZ911u2Z0zq/LZ97Lka6JROw7UUwG58btfjK//6ttthga3i2u+w8kOe5ptaoaFPfvU9KMh
XvnqjGu0yeYjc66P9/jEZcZsn70sa4vNqlV7zWUA+JWpoR4vr4vYz/GKqE1z7Ur22m08flIOqlKC
3Oc4XAiq+PqTo/Fy4cK3hVdGbZ5jk2dvu9LR2Y4MwKvIePs4hSXevsdJdt7mPujQYuezMwTlHy5u
euxN2KsAXo7H6nkFy2w2z7F2WygNAKz8+Kv2Ab7p1QIR5WoygiIThQEAgJcGHVl1bf/BRY63lgKv
NPHiJv8bqRyiGmkn5RK1aKPlwiQkSSojNx4yV6UBQHVhcoTz2kM++SISoDrjmtmaDsftLC5dXScB
gHOYuYkhqSwRncAWJRuBH/MwnTrM1mmV7NP5Ds/y+ABQeGfvMctnDifX3XrlEMNs9d3h5ySAQEbX
7tAcNTIvj35n9Rrn+8UNwmhs16v9mJ1wYOf1vk5m51zM+GVJlzYF+KZXC5qVNoKKlNBs0A73DCzD
BVjoyQCmQZ+IBCYOzU0A0Zp4SOHlPbQwlzuxZ9nh06YkXnHiRxIAzsdxACA3K7GRdqn2TeiyUz2D
vUkbNBYFVYpc5CeR6HPw2fUZfnP/Ps74bzxyD0GQPwGly8KwwE2lNmMnP/3PPNqrFZB7WN6I31q2
cORKv3IxO+60gVv8wqe/GG3oTG+VKRzkp2hnYxUUGUV1VRUO4Ozy0gouulsZQRDkTyGtY7lgADM1
M5+FKfX6Z936XlWvtoYzRR/nMaqcqoIECWgqYl7CgbSldtar0LRwTbQAgGr/pePnhjT6uAMEQRDk
90NR6Dlm5mrTvxRoAAJm9ut7+6ccfS7O1VgyI/YkXjaofRBx/s8NEmmx2hkQBEEQBEGQFvoN7ixF
EARBEOS3gHoVCIIgCIK0DtSrEE6i21TH3dYTVdpRHZHk+llt27a+f6vcbf5baoeN8iuRlccc9bx8
dpQY72X9rcJoJ+X6TlslW/usDQQRT+3+IjvVM6bq6jj5tg1GGEx+3J775fE3dvdr5cf8EZPQnrnZ
fGJf6RYfUyiqk9afio6KYjHolfQnYWfN+0qI8VFjSAqDrZbNm6Qh5DmT/wGt1ijtAibTRXfqxAEq
Yl/Yjklr/TNqsLZcqxa/8f2r9m3XNX+eGH3ztutWD+OnlKvFWifZ2kH1tjai4JH/vHaTt1LRTdZn
AAAgAElEQVRdjQ5eupuTTGcx6CXhtx/YT6p/WitJSqt3Z6pk1/+zd+dxMa1vAMCfc2ammmZatGgj
W7b8LFkv4oqy5N7syi5JFImbdGVpsVSyL6FooxSyEy5SloqKSqmppH3fZqaa/fdHUtLMVEJ4v5/+
cO875zzPeec957znPWfOq60s8SNTbCdcZbpzkOWI4otOsxabGW066PlfUglXbNGPJz18xwfafY8h
9YdCXEHX4R3t1RNzLfIPzqs1MIXJru+SPx71ql5du+uyYJRcp2nrjSQGmrqHOBv2/Ka9REK39Tfj
S078QW38XxSD09HMGyY96nszLe9f/OJ7W0f9vXD8ap/0b5ndr6/DqxeTHjjHPiw8ikmLL3vi5T6z
23cfukRtAxGhk/yyVGrgDj83a3iwa7PrswK+kpbOOIXiqk+/OOIVXTCf87Yn593bn/ElMySNYb0l
y8KcPG9HNZ8nQ0RR5yLZa77/yfky97frn0vv3JnWw0jy6t1JWe6rt9+sllYfOHnLtm33+wiGLbv8
4TecrEhQV8ECogSxyRxQGFGCAHX0jy9EFrJ/catyk6uASB9e813T/eV0cPUSNOe4PXYb8MTDXu9J
kfSwxSf2nxLkLdz6+rt+S6htIMJ1jus3ouLQyRqCSNc9HrejX8S9vBly5t9T8VUC+DTUVh1/PeLq
nSsGzYfaJFQnOJwMyUmNZ9Li6a/DXvpuNlDAAQBXHO/mdyk1NppJi2fSnib6bp6tIdEk3Ahrj4D0
5Hgm7dWHm+7/jOnSMAKNUfvOOnrxXgUtnpny4IHNwFbmL6E2ccepK3m0eGZa+EvPddMb5i2ijHTO
pUVFrugKivMeJtRfOodu7kUUXSSWzoYzqUnxTFoMLXjHiv7SGAAArmLkXU0LcxvcMMoqM/5iQnza
toGfrmMIynqnH7+qDt89S7lt3zpB6c9Dvv9OzPKas/VObsNZWdgmi6x5vMuIxYc8/d68eFpZP3wa
62PTp35BXM3Q9U3cKyYtnkmLpl1yNB9EaciynV8KAPN9Skpc/MtbgR4r3NMkRs2ZXL/hkgP3RcR/
Gr9l0uKZCQcmN9zCFt42cNn/GZ++dLeEFs+kxdMT/otyGdel/kQtfIWSA9a/pT31/ePjLBKy+l5M
2iVrzcYG8GSZEiibPEmsX/D5hXEUcWk0gctNsAupeheye5SsqG+Uz6qu5RMlCU17FSQJnF/LYAnE
7F+t0so0voBJdv1j9rLl/b+40v5ihZ26sVHGXkyIj1zYtem2d5nuXfVmvx7lG1QvdcSOf3XLvG1W
nQ6PeZcSHnxgZ2zXFaaDqSIrqr21ASChamCx+79HkQxaPJMWWxR+ym6A+AHjVrXeLwmPJWS7JIdY
nUp+E8+kRade3Hvq3I1iWmxO6Na/uhIAgKQxZYPJ2D6/yK3Sn0vnGKvgVmUkVmKzTGYMigh+W9P0
VWv84ru2OnFkkorhBV+zZkthsqPcg4+a449d7I5Fl4L6ZLszy8cOpB59UM7HpXvqjdNi+zsuCC/B
VUZaOZhe8CwbNs+PxgGMMtQlyHst+5qD9aFYupLeantnH4+qqWu8c3kEpcmnghxnld/ebnMvg9RT
f/G6/7UieUxu9P6QI6t593dsOpSM9V9mu/5KiMLMv/aGVwlqko5Mmh6ks97TVzdq5coziSwAPqso
lwsAIorER6xNPOFwKo3bY8FGm5OBMhXT7G+U8ktjbsfBzmkT1HckvmcDkHtPGEVmRDzO/vRmW8lu
46d1IxBgnEF3ieslrX3hLaHLmN2uB1fwLs9bdSqGIRC7ySJqHoCgMtZ4jT747d2zjVZazSPJKxDf
5XMAAIBfkXTLxe5qXkkNrjBo+bath71YCVP2RddC+76UzwlqqusAyOT6y3V2xoGlc/0kMABcdtia
y/sMGFcvv64FAFFtA8iD93jbz8vytTYNT6Pjcmo9evE+MOvrQ/gKRWihAQCvKq9WTBqNX4ziVPtT
IYs5R1auc3xZLXK+BD6jsk6gRCIALterfy9+TkI2QZIgYBbX8kTuX63ShjQ+wSndRy5atsTKZGI/
UnbIv/8FpRY07vNfrLCzNzZuRUaFYJC6LAlKMEUNDUJpZjG3i7oclL8u4XR89VKHzP1b/r17SGqt
3BBrR/uN+gNVpQBSeikSoplUoRXVvtoAgorxoeBzU/mR573WRmUW1JKU1akZBWKOUa1qvS1sqdBY
whsAUWWoTo8Cr7kO6X8ddlvF8DFenj3v0K5j6+8+2pkooaljvHWJq1NR5KWg4/5Xw9KqO8295V9e
5+hVACPW1uygzNEtMVEL7wRf9Ay4+Ti7tv5Aw6UXpNGBWFvyxVEa15i+frV67n4je9cUNgDIkpfD
cvmmn8iLfnQnkg4QnUgel7xz2gSlAFoBqBtustKIsdBzCSrmA0BMmkD3ubv5FFVfv8LuhuZz5Gjb
5jseyeICREYwJpp7Nl0hTqZS6i/5BDwWg8HiAQDg3Qw3rFbN2m244yCNDfD0cRpp0C2LXTPORl4s
5NWVpWcw5Cs4wKl4n5H5rsmpXCC8SHisj+K8jx29TweAh8mEofet7aYfvnM+n1sSdT4BjsycoHnm
fTqX1H3cGFX2m6spjSOUNQmeK3bTDbAXx960/h36youPHqGSXq03cAtrnC1J1CYLr/mGxWvTL4fc
ffTFe1Prsp9ezq7/Z2ISprvw9MjxqsTo9wJNMV+KOLiEcn+DXdZDeAkHH9S/xk/ALs1+XwpAUNI7
Y2tAebnfYO+Lcj4A4MLbRh6XJN9NFiposQ9fvCniAbyJbwwhdIWiCG8AotKo/wRG1jI76n54dKr9
gq0nk5ni3njMY5bXClQkSdKDtwf6mnECxk/zlyTyq0sZPFH7l3htTAOAQB0wcc4600WmY9UqE++d
dTQ7dyc+p04ADcehllbY6RsbpzS5RLCqRxcSrvj38eve1AP/mx2q3LMLvzC9iANcdsdWL6nb8IEy
Va+jS+TnHTq1Tzt8/SpXWO91XFmCiIk8ELWnNrgUHQv3qdQo51lGAbmtnp5R5E4kfDHhsURsFx0A
BBVpMbEveEks0y6pL6KeMl/ZLRjQnYolFL/w0B11duiU2RbLTQJv21Qk3DnlE3j23ttiTmu3BGmv
zjI+xK9KCDCZMnHY+uCMHktCHz74b/NoRTGjZlJ9xvXByqLDssQ2eF5ZZl4NUNWoBAAprfFaBInR
3s9i6werGTHuekRQ7qVAAqmeozWhJP55oZDGTx52NDwi79WTvFdP8h//O+bjU4vkPmN7Q8nLhw37
Aiv72eMSGDhG86ueamw5VnOcglcRJdB3ZDcpAOAV3b4Qx+v398xuRCAojJ3Sgxt3K6q6yaGeV/bE
78h235i2TFhekxQeW0Ya6bhjzkDypxH01m9y05oXjdB17MqzwTdzEmMZbyNe7/tDAiQoJBzEfimi
DPJ8FstMjc66sXtugfectYG0pgcUYrcVHntN4PYK64upH6ezE9E2AKqj7J0f8k2OZT4PDNy22FDr
i01qYYXtIzINAADQ3XvuqEHJDpPNJ1pzLgcevZTJI0jI/W/WVPaLSMLkJQOokkQ+vZjxlVdvbUyD
NGBdQOyZzbO51xcbTuw1194pNK6+SyFyhZ2+sfGZHzLo1O5qsoojlgzGod/0SSoUjT4yFbS81lSK
CC3VBkm5twKU55ZTR66eSH51+LD/y/TMivpm3e4DkbDaIKoPH6YEyb5h+W2Z8Vl8622JiFit2i4+
XwAYjoGAz+UDjmP1xypuxZt7PpZLDNX0LNyyBm8/dP6160hq8/UjHa6TjFXU4zFpEcH2EaGnFxyO
3rt3+8O/NjVcVTfsVE1uDQNGIBGAz+G2ZtcV8PiA4RgGgGE4BuW3l68697bx0C/gVObXAVHAFwCG
45iQlbDS9ltYBEpiAMBnFSU1PXNgny0jbAVtICLW55EwAIGgvgr4ReGB92s9TP/SPB3YZ4G2IGZH
XNnXziTMjD+70eTyurve2x4dFfy54XLap0vqVm5yY82LQuphctl3Y+9nXv9YRKRUYqq6m4O3KH1c
gegvRZRMl2VbrzN6Wh7fP6+S9ra8aWdKot+KvYfGl51c4na7cQxGRNsAAFbqRdvBDwYazvrLZM7a
S6bWsV4b5xyILuOJWCGAgM8HXILQpuxFpVF/wqRdC600mut00PL1yqPhFWK/Y15VEYNPkh+1YFzd
NVsn8r5z87WLCbzy/MYx4Zb2L/HamkZhZLCfrtmKCWuPyXT3Cgg+F5ZUyP5s7xW6wk7d2Fgf3hTw
/+j7v4lag9N8jhAXLJ084KkqfLhS8Glf6bjqxchUCeDU8akqSnhNct4Xc5m3/UAkpjZA0Mbnm0Xv
REKJiSVuuwR8HpffUgskyGpPmmWx3HjFOI3qdw+O3fyA5jr99jrLWEVTnOznT9JBcXB3qU+tR8Bm
1gHIKDadsY6Vk1AAysPHdm1Tz6g2/VmGQEFnJLEwNT3z3ce/9xmlLAHUZjzPAKU/DHsLeWUEn5EW
G/P4efTj59FPYrMa7iHXZrzIBKVRU7p/fLBIUnP8JGVIic7+qt9KtByrOakeupOVBckvcupj8ctf
HLpe1neRsd74v0ZD/LmI0s/2UoLixOXWu1eOVmnbtH/cksiD08wvV05yuL1rgjIBvsUmS/UaOxjP
PePmHfw8KSE58fmbT0dkcV+KKLX5mZkpSQ//3ehfNnWbq16XT41dqu9SH7vBmZ52jjFNJ0wU0TY+
YpelXDu338Ro6ii3zBHm9qYNv34WskLgVhVWALmPVhchbVTAqmEDucvnV9fi0yh8cmTG3ztDFVbc
umirryB2H+YzSio5ssPMJtRevZMWf/0xb/K8MdSa/PLGU3pL+1fDwhwWB0BaVurLMG1No/LNRUuT
aarTNni8VVzi5p8RGxq6w0S/R+MgWEsr7GSNrYWdiF+ellqlPM7crH9KQMjpCxnayxf9rVIZl07/
tNd2XPUKWEwOSMlI1JZVgZQCtWmzamdFCa8NbuHrxDIYsHyKmrBhhpaSF996W6pDEbFas13Mxxt0
5RfdK22y70koD126yfVp1JOXp1YOKb6+es4Uzb/t9oV3nl/u/8I6x1gFUdVgr/WAjKevEvPofJke
+ivXDgXarpTGEUR+dUZUAVibrzMvf1Qsqy4ZdyUog/3+hu/D9U67T27jnXj8gdhtovFAgAJxofh5
dw6ftDhrHeDd5UTQ7ZQyDlm5r3rVtYDwHC4/985xb8vTtr5HiQeCw3NZCqO6Aogd/OPn3jl21vL0
9jO7uQduJxP6Ld1s0bfw8sy7bbnP0EbqoyYaMMrJmmPMbVZo5V/aEPYpVs1LnwvJJtbeToDH2D/8
fKRCesha/x3zlWG2fILh+rg2ddn5ZREec936R23dd/zZnMW3SkRscvsaFOtDbBqMX75hcUJAbHYt
pjhEpeGHAe37UpoSMBLObrpqdH3XmtMv3F8wBUDsZrrHahgz3OoJt9eAvgAA/NrczNxKroi2AUDV
2bFNr/JFdHx2JUtKdbxOV+BlF9X/NFPoCoFXGnMxQbB/065d9IBHhVzlkcoATW/DcPLepNda6DlZ
z3J7WkpU6SHz+sqFdJaoNBo2qjbr5pqFbLjieuVctf7S0y8ZoobsOOU5TA3jP7K9rd+z67A711nL
bLrluJU3rq7F/etjEf39mzJYuXLVssoourwqMe5qSOan+m9bGh/Xl/n0hOPTk27qE2aZrF+xagst
/PGHTyeIL1coav/6/o2txZ2o9sMrGmmWYbeIReFFOcTg2F179fAYl5zGBTuuejn5qSWg30+99uaV
JHAxNRwQeQPDPyXfngOR8NoAxmuvXZEGx13O3xzg4/8so4hFlFNRI8aGfsqwxeTFtt4W61BELOHb
JS18szCy9iKHvxUenLJZfSnyXSsfI0Y6RufoVeBEjCU3euPulT1kcABWfmKEi5nHkYwmx19W6gF7
76GuKw4cN+JXvjtrezc4g80tuLV8mcwhJzO3o3NwbmlyFg4g4AnEHNcE9Lh/55tl21mtW+e8jALA
q05/6vs4MDyHC4LqmC0LrAp2WK91PGBDAOBWvX91N40ppkUKqmJsF9qUOdv8c/CwDDDSwr0X7DoT
XvV191SF4Nd8iHiVa7J097WVALyyN/dPzNrjG9Hk4Ql21lXHMLOQ6YLL556XfJ44K/f5/dw5Jtjz
BzltOit/XDrFb/u26Vfdd274M2LXo47eZPb7Cybr5Q7aLD93fqMkgIBFz0+OTGfyANr5pXxGUP3k
2OnYWVvcFwRO9s3hK41erIMDTDpxcVLDJ1I2TlzqXcAX0TYIklK40h//uC5TlgAAdnFq1IENriGF
fAAgCF8hcHO9129S22u7xu3IZgBgV2XG3qPVNF7Eloe7r7uwZ99Sx0urgFuefNb2dlA6iy88jaY4
BfcsTdW1blhfdkwZYfekVHiVsEvflwDU3bqfzgaAzODb+TZrKtLKxOxfDYNxSXsdArVdTE56mvAq
Us7Z3ruc+Vn7aX0an30ntfkRFw9GXDyEYwL+58eh5ivsTI2txZ2IX5X2NBe0Xvg/qhDwsaeH79H1
BkYlNR206rjqzX0RVfjPjLn9yjdtcZvg829sgh0A1ETR2YJ2HohE1AZw83wtjYvMrLYssPBaIg0A
zMLE8zvuXc4UlbzY1tvygUhErPZsl6AqYpv2ZP43OQojYnycCZ060z8iGN+svjS8+kdn1F6E3qZB
iVsrlvyx9lrl79yWSP3XXYwxfjpp+qF4dAsRQX4xEn3sr1+2r3YbsfRiBk9CUUVZml2eX1b7G77d
DemsOsdYRTtJDzBdPJie/qGQiSn0/XPjpr6MJ1tf0H/PLgUu01N7gAzWZehCj40K1zb4J6AuBYL8
etiZx+295oZsvXuIaO569VlBGaYoScRqeb/nYQ/pjH7mXgVRvs+E2ZZz+stLAPDpuc+u75mx/79v
+DhDpyY1ZPX++8aq/IqUi45rNv1X9ptWA4L84gSMN6emGlcfc99w5/E/AAAV1/T/dHrxM7xIH/k9
fLwDgiAIgvxEcKqymqo0r7ywuJyFnkZEOg/Uq0AQBEEQpGN0xvdVIAiCIAjyM0K9CgRBEARBOsbH
XgV1pn8c4/wk2R+bDIIgCIIgPzE0VoEgCIIgSMdAvQoEQRAEQToG6lUgCIIgCNIxUK8CQRAEQZCO
gXoVCIIgCIJ0DNSrQBAEQRCkY6BeBYIgCIIgHQP1KhAEQRAE6RioV4EgCIIgSMdAvQoEQRAEQToG
6lUgCIIgCNIxUK8CQRAEQZCOgXoVCIIgCIJ0DGyYtNaPzgFBEARBkF8BGqtAEARBEKRjoF4FgiAI
giAdo9W9CsmeMx13WugroW5IJ4XLDl673cF2MPlHJ/ITIyhO2O/vc3ws5Ucn0h64zCBze/tN/5P6
wWmgdvjVfup2iPz2PnYSqDP94xjnJ8kK/6Ck1uwty/S1pRt6FZjsJKcblYlBOwdJtvBpovK0TUdi
Y2KYtPjq+LDnx5dpS7ai6LsRlTxG6a4zU3+wEqHDo5IGbrjOTDg4Qw7r8FUDAC43ZNWK+fpqxB+b
xk8dC5PW/HPsMC2ZdnWdhTXslhsbrr7wApMWX/8XNlWm3Tk3rlF+mLmZ8TR1krgPonbY2WP91O0Q
+e21e+gBJ2v20yBJ9dBWlviyTGW6c5DliOKLTrMWmxltOuj5X1IJV2zRdyQqeYmBpu4hzoY9xR6c
20qi5/zZmoyI0OfVgo5e9TdKA5PuNc3V70YRLZ5Ji0oN3mmmTfmsveCU/vqmx89eTHsTW35loeaX
/bDvucmfx8KUDB/S4lPs+ksBAEgMsrnJpAWaqX27kTbhDbvlxsYvvrd11N8Lx6/2Sf9mObUMtcNv
CrVD5Hcn9opCGF7RBfM5b3ty3r2lf1FG0hjWW7IszMnzdlRt64u+I1HJfyuSvaebaDLvO72p+qEH
89angVFHuF9wNcnzt1oSRiP0XWS3/ai/5Icp2/+rEgAARu6z2uOkq05ucOClrT6ZHwqyi/jtj/X1
msWSUOrVFUDTcEb/I6lvBD3m/90NoKi/MgkKWN8mvvCGLaSxcatyk6uASB9e820SEga1w28KtUPk
tyeq04xR+846evFeBS2emfLggc3AT8vUD5pVx1+PuHrnisFng2aUkc65tKjIFV1Bcd7DhPqBtdDN
vYiii74FCdUJDidDclLjmbR4+uuwl76bDRTw1iT/ZJkSKJs8SazP8PmFcWLvbuJqhq5v4l4xafFM
WjTtkqP5IMoX9SoxYNaMnvSnPvH0ViyFdxmx+JCn35sXTyvrBydjfWz6NAyeSKgaWOz+71EkgxbP
pMUWhZ+yG9B48aG752YZLZ5Je57kt8mohcHwZmkQus06XEB77DOt/oYPrjLNLZcWdnScHA4g1Xvy
dOXyoH2ewTEpcS9u7HK+USKno6dBAgDAKGP+OeysFKinv9ry+JWrT+PjMspYzQ/ZbYgFAETFEdYe
AenJ8Uzaqw833f8Z06X+mhNXHO/mdyk1NppJi2fSnib6bp6t0cIIU7PqJSn0lMmNeCE1xbiPhGTv
aXOk4+7mUfopkFr9fQHgchPsQqreheweJSs6Q+ENW1RjE01YLLF0NpxJTYpn0mJowTtW9Jf+YhQe
tUPUDr9HO0R+Y8LP6QSlyaeCHGeV395ucy+D1FN/8br/fSzhF9+11Ykjk1QML/iaNVuqJunIpOlB
Ous9fXWjVq48k8gC4LOKcrmiizocJjvKPfioOf7Yxe5YdCmoT7Y7s3zsQOrRB+XctiUPvKo8sYMq
/IqkWy52V/NKanCFQcu3bT3sxUqYsi+66XKSfRb9pVb12PElvTVLEVTGGq/RB7+9e7bRSqt5JHkF
4rt8DgAAQcX4UPC5qfzI815rozILaknK6tSMgsY6zH14altYdq3C8PXbzQKPFQ4xDsrkikiDl3tz
19KRwTcOuMakWXrVTT3pZlDmvXLbiyo+ALs0I0egMHnGIPnXsZV8yV5/DFGkv32azwEAXFHXYVE3
LOfvy882aJBZOQkPDrp4eCcyPrtKbEssjDLUJch7Lfuag/WhWLqS3mp7Zx+PqqlrvHN5uHRPvXFa
bH/HBeEluMpIKwfTC55lw+b50TgiYmFkRWVpxpOzMf22GQ28ytGXenLmmfaOOcrSODD4rfm+CIpT
7U+FLOYcWbnO8WW16AxFNGwRjU0EEbHEL1ubeMLhVBq3x4KNNicDZSqm2d8obfK1oHaI2mGrfU07
RH5jQnsVBE1D8zlytG3zHY9kcQEiIxgTzT3l68u49II0OhBrS7483wrqytIzGPIVHOBUvM/IfFfX
qiJxcDKVIknAAEDAYzEYLJ6YIlxj+vrV6rn7jexdU9gAIEteDsu/KnnR6rKfXs6u/2diEqa78PTI
8arE6PeNx1Fyf6P5qlV3Ln02+Chmqdr0yyF3HzE/C0TRsXCfSo1ynmUUkMtuKZOsR7dDw+kA0Sky
E99uN9RVCM4sbjzGtpAGv+rR3k17h5338HIaVKlnkOM5/mgCQwAAwMu/ZbHzj9su3sljwm99UJ/1
J+eg+e57lQIAkO43ZbQEPeqez5GH6eUSveZtcTwUIFuib3u1tH2xcHXDTVYaMRZ6LkHFfACISRPo
Pnc3n6Lq65dXv2he9KM7kXSA6ETyuOSd0yYoBdAKRMQiyKvJErnVry5FEA5b7uRL3N+cVP4vLqdC
JUIxW1zNY2Qts6Puh0en2i/YejKZKQAxGXKFNxsRjU04kbHELRznfezofToAPEwmDL1vbTf98J3z
+Z+WQu1QZCzUDpv6qnaI/MaE9iqkeo7WhJKbzws7QfshDzsafnaxHAAAVF43mOj4vFZ0kVSfcX2w
srCwrBaPeB2O0HXssn0286Zqq3fBmSUMaQkooJCajmVKDZ6rr1b5xC+B2ZalvkRUHz5MCZK3h+WL
2zBeaWZeLfTuJkeAxqN5i2mAoDZl/wYP/TA70x5Ze2b6JX6qWwJZo4cGtejZmSuvScNVeGTthca6
PnG3szg4RUWVCjnXgu4+KuQDpCY7aBrdtTAfJXvtbqWgPbGktMZrESQo3s9ivZt8uKiXAgnyml4K
AvDKMvNqoK8alQAgYrsIsioUnMemv71xC85bEUP0khm9uDhVQZoAILbmdfee0yWlOMzYfCLjUzWL
yrCj95COicUpeBVRAktGdpM6n89oWDNqhyJjoXbY1PeMhfxKhN8BEfAFgOG48J9HNey33/7HWqy0
/RYWgZIYAPBZRUkssUUYgUQAPocr/OGsDkye1MPksu/G3s+8/rGISKnEVHU3B29R+uwT5AHLpiuV
PrgeX9OWpVpMmy8AELRq/JHH4QFOwJpsYEtpAAAAUWPMBG2CgAc9jedqH3N7TRcAAFBHbfZfTT5s
uNmNxga/gP3B9jF+291uRZo8onPZXABZ1YZDKqc0qxhwxa5UAlRy2xMLw3AMym8vX3XubeOXK+BU
5tcBNL+PK+DxAcPFbBeBokDBOWxOXcrupYuDsNyEGkydh0nLSxFaUfO0a6GVRnOdDlq+Xnk0vKL+
nCEqQ7Ha2Ni+KlaT1QAGIBA02QdQOxQTC7XDpjqoHSK/HaG9itqM5xkw4w/D3pLRb1t+XFnAZtYB
yChKE6D6295n4zPSYmPS2lDEykkogKnDx3YlvspuuVctPHkBq4YN5C7UVj+VJNVr7GA895Cbd3Aq
GwAyZQrq4LOjA3XQLCPF8htXUhhtWaol3MLXiWVguHyK2qWLzS6exGsxDQCMOtj8otOIhD3GG+r+
iXTx2B813zK8kg8EBa1+Cpy8pOL66yR+xdsXKbwFmhpUAlQzs5JyYYm+jqJ7eiEPQKr7YE2ojXtf
yW1nrNr0ZxmCGTojiYWhb2va+px+S7FwGQUyzmVzBfzqrJR4AAAqh4OR5chYK2q+8MmROV6vTwY4
37ooMXuRx3/lfPi6DEXsKXwOiwMgLSuFA73hmverYn0i1UN3srIg+UXOp2t+1A7FxZa3eGwAACAA
SURBVELtsOPbIfL7Edqr4OfeOe5tedrW9yjxQHB4LkthVFeAz8Y7+dUZUQVgbb7OvPxRsay6ZNyV
oIzvc8dBLO77G74P1zvtPrmNd+LxB2K3icYDAQqafkJ48py8N+m1FnpO1rPcnpYSVXrIvL5yIV3U
z8BYH2LTYPzyDYsTAmKzazHFISqfv92QorNAT6nkfkBybVuWahnjtdeuSIPjLudvDvDxf5ZRxCLK
qagRY0NDMsXWfMtpYDLDHY+t6f7QfkQArQB2Wk0K9dm/9dZ0h1tlvOLY5xkkUw/HxVyfmByByiRT
2ymED+4vS7kA3LRQz6Sle7Y7ba06GVapucxxcbe8iyteMdobi5935/BJi7PWAd5dTgTdTinjkJX7
qlddCwjPET/S2lIsXFJOGudWcZo8tSfgcvgkKkUSg2rxNS+ozbq5ZiEbrrheOVetv/T0S8bXZChq
T+HT378pg5UrVy2rjKLLqxLjroZksr8mlvqoiQaMcrLmGHObFVr5lzaEFTWcP1A7FBsLtcMOa4fI
b0zEHZDqmC0LrAp2WK91PGBDAOBWvX91N43ZZAdhpR6w9x7quuLAcSN+5buztneDM9hf/Fb8x+AW
3Fq+TOaQk5nb0Tk4tzQ5CwcQ8JqOBgtNXlAe7r7uwp59Sx0vrQJuefJZ29tB6SwR28V+f8FkvdxB
m+Xnzm+UBBCw6PnJkenMhoM5ddDKKXIFN24m1bZlKaEbludraVxkZrVlgYXXEmkAYBYmnt9x77LY
o3mLaWCU0dYu66j3F+16UMADgOJQZw/TB7sOb7z0ZFccPeXUbGvCoU2WoVe2APArMqOObNjn+o4N
AMDJOr7Gkuxka3Xc1wFj50QFLrM4FlXzFbHocf/ON8u2s1q3znkZBYBXnf7U93FgK45fLceS6iIF
nGJe0wssHocH0nLSOJS2ruY5BfcsTdW1blhfdkwZYfektN0Zgsg9pTZpr0OgtovJSU8TXkXKOdt7
lzPZ/HbF4td8iHiVa7J097WVALyyN/dPzNrjG/HpvU+oHbYmFmqHX90Okd/ex5nQqTP9I4LxzepL
w6t/dEbfAKG3aVDi1oolf6y9Vvm9R/Jkx7um+uoEzDOyS/hG773pdGn8qrF+ap2kon7VttFJqhdB
OoFv9Q6qH016gOniwfT0D4VMTKHvnxs39WU82fqC/v1vDsqMMdaVLQgNSv2xx5rvmcavGuun1kkq
6ldtG52kehGkM/hFexVE+T4TZlvO6S8vAcCn5z67vmfG/v+Kvvu7WzC5oaZ/UnIC76T80KPN90zj
V431U+skFfWrto1OUr0I0jl8vAOCIAiCIAjylb7d5HkIgiAIgvxeUK8CQRAEQZCO8Y17FZI9Zzru
tNBXQp0XgF+oNnCZQeb29pv+15pXGyAIgiC/j48nOOpM/zjG+UmyzUox2UlONyoTg3YOkmzf6iW1
Zm9Zpq8t/dOfRzvEL1MbuPwwczPjaS3McI0gCIL8zkSf4HCyZj8NklQPbWWJ75RPO2BS/ea60miP
To4gf/p/lJHOubR45ud/H3YPlRa3Msn+VkmfLeWzoEuT1+bjlP76psfPXkx7E1t+ZaEmoXVLfU9t
zFB0RbVruzDqgDnHg++V0+KZ7x5FHTOdoNDqXlRLXyUA4HLDNh4JyU2LZ6aFxxxdMU4eb02RiNpo
CCc9eNXpIlp8gnWf5r1mEUUIgiCIUKJ/WcorumA+521PzrvPZk7uPIhKQ6bbWFtt+lMVoLJpQW3K
GSPjUMmPZ0Bc+c/N/utUH4Tniv3lF4EsJw3ZB1fbBxdxAQD4NdkNbyfEyH1We5x01ckNDry01Sfz
Q0F2EV/8Ut9TOzIUXVHt2C5cUe9U4M4Zmf7rlv6XKzd6k7P1bS/uCJMAmpjpIoR+lUBQX3ni9N7B
b4/8a/MMhtvstLl1jK6zMvQDT2SRyNoAAACJ/ksP3LPt31IyIooQBEEQEYT2KnD1hQG0Pdr1/xFp
NXH6/caOBa44ft9Bm9n/0+wmKwHAzHwWusPh+LW8+pf1YtS+RntdLJeN6CrBLU3KIDedgIOoOMLy
Xxtrw/+pkXil7x4d3b3vcHQFDwjdZh146TE0bP2C1fdKeYCrTNsXe3xo6Apjm+dVol4BLtlng5uN
flrwchtVt8OTm5bwmblxcbn1/yYoGwQsHVR8wfyfh2Uf31ghoWpgun6r8Z9/dKdiwGfkvTyw1tr9
HRsAcIoClVcS+zolqerzWBhlzD+HnZUC9fT9E76YakfoUiJro11wNcO9Ybv1tWQIAOz813fdHfef
fcvktzdD0RUlfLsAAHQ2nEk9OKCbJCc/7ubunQf8U2sEgCmOXTxLJstpy7Hg91yApLfsgaleS80H
hNgliuzRCf8qpfob240R3LfZsv12GR8iX7G0kg+tNu93a3sKW0SR6NoAwBV0t4Tayp1cvavX0cOj
WluEIAiCiCZ0cJpffNdWZ8a80SvP0r5cSLqn3jgt9rW9C1ZZGf8bkjt02QXPRX1JAAAEpcmnghxN
FV462lgb/+v/oqYxAEYZ6hLk7TQg/aC12eSl2zwLRzr7eJh2IwDwcm/uWnqRtfCA65peEkQ1w5Nu
BmXedtteiOxSAAAr1dHQ4I+NXney64ReQWPUcdZbZ/Hv2RyJq6r/EEHF+FDwNdvx3Cdea9dvMDKz
3Xjq9uOC+lfbY2RFZTK7Rqqrkhzps6F+XFHXYVE3TO7vy89eMt89exfiuGYwtWHbhC4lojbai1+R
dMvFzkp//vKpaw49kp912Mt6FLn9GYqqKHFLYbWJJxxs5tkcj+gy52Sg499KOAAmJUvBgVHIqP/q
BPS06HToOqoPVcyNE6FfJd5VZ3R3eBccR7U4H1l0eYXS63uJoDZpqAJBVJHo2gCiyjTPg1PeOGxy
jac3a2MiihAEQRBxhN8B4dIL0uhArC2pFfKBvOhHdyLpANGJ5HHJO6dNUAqgFWCahuZz5Gjb5jse
yeICREYwJpp7ygMAAK5uuMlKI8ZCzyWomA8AMWkC3efu5lNUff3yuPyqR3s37R123sPLaVClnkGO
5/ijCYxW3EMQCMR8iKhh6LJQMWG/54OKj+cIio6F+1RqlPMso4DcL6ZCIsrJ1+WzR56584AAvNyY
Szu3Hwl5XycAkO43ZbQEPeqez5GH6eUSveZtcTwUIFuib3u1lC98KYLw2mi/uuynl7Pr/5mYhOku
PD1yvCox+j23XRmKqiixS8V5Hzt6nw4AD5MJQ+9b200/fOd8fsnr6A+wwmbVH+GHX+Rypbv1UqMC
0KWIOIDoV5sK+SqJCt3kgZlQyKYM606lSnaTZaXk18KwbrIkKBdeVEgUURsE1UX7/h35xGHMnSKu
pMZn0UQUIQiCIOJ1wBu7eWWZeTXQV41KAJDoOVoTSm4+L/xyVjsprfFaBAmK97NY7yb/t6iXAgny
uACC2pT9Gzz0w+xMe2TtmemXKKwv0zYSA02Wj2I/XXo1p+G2PlF9+DAlSN4elt/S7IqcdH+L/v4A
BGnNYdPs9+44FyRdMs3xURVGUVGlQs61oLuPCvkAqckOmkZ3LcxHyV67WykQupSU8NpoN0LXscv2
2cybqq3eBWeWMKQloIBCwgHwdmX46UT+ZUWJqI3mp39OwauIElgyspvU+XxGitcy154Xtp5IXQ0A
AFwA4NwrFDsJpji1ydv/nnESK8vmjtggvkhEbVQrT7HdNzRu4/Rnpc3HIvCuQosQBEGQ1hA3JN9w
AhE5gC3g8QHDMQwABHwBYDje0ng5hmNQfnv57HkjZnz6m2twPK3u4weIGmMmaBMEPOhpPFdbpkN+
QiHVd8UcDfqjoIdljWcJAV8AIBBzkuPVZMde3fJvaInilBXaZAABl80FoKhSP/6KgFOaVQy4Ylcq
QdRSImqjnUg9TC77bpzGvGtrsWLcAiuLs4kNfaN2ZvhRSxUlfqlPMMA+DTYImLFnbQZoT+w7xUh7
nN7IQ+kA6fdo7e4kcstzK4GioiqNc6sLs6s4uHRXdTJU5FZzRBUJrw1MbpLplC6yf/o/j2XS4pkJ
ZxfLQZ8Nl4svz+tOEFHU3vQRBEF+L2J7FWxmHYCMonTrjqu1Gc8zQOkPw95f/hyvNv1ZhkBBZySx
MDU9893Hv/cZpSwBAABGHWx+0WlEwh7j0Tui1c089v8p//XPIEj1Nvira1341cQm07tzC18nlsGA
5VPUxL5sAWvsDgiYWUm50F1fR7G+HqS6D9aE2sz3lV+OQjRZSkRtNCAoTlxuvXvlaJUv67elIqle
YwfjuWfcvIOfJyUkJz5/U9DQJ2tfhg2rbaGixC/VuHgP3cnKguQXOY19By49Pzu3WHaq+3ot+v2z
VwvaPVTBL34dkwMDFo6qbw+40qhpg6Hg8Ztynqgi4bUhqLprO6exXzt3550ayAvcNH7j/QKeiKL2
po8gCPJ7EXcHhF+dEVUA1ubrzMsfFcuqS8ZdCcpo6dZBw8dz7xz3tjxt63uUeCA4PJelMKorQP3n
+Xl3Dp+0OGsd4N3lRNDtlDIOWbmvetW1gPAcLmAywx2Pren+0H5EAK0AdlpNCvXZv/XWdIdbLV46
N8KklHv0USSReypIAkmxh9b/mIyKDx/yauuXIqiM/KM70PYkM5suw3jttSvS4LjL+ZsDfPyfZRSx
iHIqasTY0JBMNkhrb7AcS09696FaIKc5coX1XOWyG37JtQBQlxbqmbR0z3anrVUnwyo1lzku7pZ3
ccUrBgAIX0ogvDY+kh6y1n/HfGWYLZ9guD6uTmwR60NsGoxfvmFxQkBsdi2mOETl0+st25UhiKgo
cUuB+qiJBoxysuYYc5sVWvmXNoQV8QAAk9Lo17dPt14jdaebLxmrkRowe8fjYvE3FIR+lXWpIfuj
TY7uc3ck+7+AYRt3jsOid3ulsQFAVJHw2qDnZb37FJYsX8mBurIcWh6dK7IIQRAEaQWxz1WwUg/Y
ew91XXHguBG/8t1Z27vBonoVIKiO2bLAqmCH9VrHAzYEAG7V+1d305h8ABDQ4/6db5ZtZ7VunfMy
CgCvOv2p7+PA8BweZbS1yzrq/UW7HhTwAKA41NnD9MGuwxsvPdkVRxf1OKbEQPNTT01V6v/jLzf/
v4B5adnUlVE1AAAgqTlEHcof0Jo9y8/N87U0LjKz2rLAwmuJNAAwCxPP77h3OZONScurDJyxacV6
FSkAVumbiLNL3Lwe1z9GwMk6vsaS7GRrddzXAWPnRAUuszhWH4cgfCkRtfGxdnOf38+dY4I9f5DT
vFZbLGK/v2CyXu6gzfJz5zdKAghY9PzkyPT6hxbalaGIihKxFL/mQ8SrXJOlu6+tBOCVvbl/YtYe
34j6V1lIam329l+rWJXx9tUNpzVHL73ME9VeWvFVcvN816+Vcd5m53bkH6Anhx35e8fV+jdSiCoS
XhsIgiDIN/NxJnTqTP+IYHyz+tJwEWPgCIIgCIIgwv30U1IgCIIgCNJJoF4FgiAIgiAd4+MdEARB
EARBkK+ExioQBEEQBOkYqFeBIAiCIEjHQL2KJnDZwWu3O9gObun1kUjrEBQn7Pf3OT6W8qMTQRAE
Qb6/j70K6kz/OMb5SbI/NhnxSAM3XGcmHJwh13EvwW4ClxuyasV8fTWxL/H4tmn81LEwac0/xw7T
kmlXd5WoPG3TkdiYGCYtvjo+7PnxZdr1byXFZCc53ahMDNo5qOlbSnH1hReYtPj6v7CpMu3OGUEQ
BOkgP9dYhUTP+bM1GRGhz6tbMZ9pp0gDk+41zdXvRhEtnkmLSg3eaaZN+azKcUp/fdPjZy+mvYkt
v7JQ88v3dn/PTf48FqZk+JAWn2LXXwoAQGKQzU0mLdBM7du1GFxlunOQ5Yjii06zFpsZbTro+V9S
Sf1bLXGyZj8NklQPbWWJJp/nF9/bOurvheNX+6R/s5wQBEGQtuiAOUu/H8ne0000mfed3nwxa2Yn
TQOjjnC/4GqS52+1JIxG6LvIbvtRf8kPU7b/VyUAAIzcZ7XHSVed3ODAS1t9Mj8UZBd98Wbr77nJ
zWJJKPXqCqBpOKP/kdQ3gh7z/+4GUNRfmQQFrG8Tn6QxrLdkWZiT5+2oZpOR8YoumM9525Pz7i29
6f/mVuUmVwGRPhy9MxNBEKRz6CxjFbiaoeubuFdMWjyTFk275Gg+iPJFahIDZs3oSX/qE09vxVJ4
lxGLD3n6vXnxtLJ+kDzWx6ZPw4RiEqoGFrv/exTJoMUzabFF4afsBjReBOvuuVlGi2fSnif5bTJS
/3IOsmZpELrNOlxAe+wzTYkAAICrTHPLpYUdHSeHA0j1njxduTxon2dwTErcixu7nG+UyOnoaZAA
ADDKmH8OOysF6umvtjx+5erT+LiMMlbzrkMbYgEAUXGEtUdAenI8k/bqw033f8Z0qR/7wBXHu/ld
So2NZtLimbSnib6bZ2tIQHPNq5ek0FMmN+KF1BTjPhKSvafNkY67m0fpp0Bq9fcFgMtNsAupehey
e5Ss6AwpI51zaVGRK7qC4ryHCfU3NUI39yJ+us1RHX894uqdKwZtuM0hLBaCIAjyzXSWsQp+RdIt
F7ureSU1uMKg5du2HvZiJUzZF930mlWyz6K/1KoeO76kt2YpgspY4zX64Ld3zzZaaTWPJK9AfJfP
AQAgqBgfCj43lR953mttVGZBLUlZnZpR0DiBVO7DU9vCsmsVhq/fbhZ4rHCIcVAmV0QavNybu5aO
DL5xwDUmzdKrbupJN4My75XbXlTxAdilGTkChckzBsm/jq3kS/b6Y4gi/e3TfA4A4Iq6Dou6YTl/
X362QYPMykl4cNDFwzuR8dloRVtiYZShLkHea9nXHKwPxdKV9FbbO/t4VE1d453Lw6V76o3TYvs7
LggvwVVGWjmYXvAsGzbPj8YREQsjKypLM56cjem3zWjgVY6+1JMzz7R3zFGWxoHBb833RVCcan8q
ZDHnyMp1ji+rRWdYk3Rk0vQgnfWevrpRK1eeSWQB8FlFuVwAKL5rqxNHJqkYXvA1a317EhGr9StB
EARB2khMrwInUymSBAwABDwWg8HifW2RUHXZTy9n1/8zMQnTXXh65HhVYvT7xvM5ub/RfNWqO5c+
GwQXs1Rt+uWQu48+n4mTomPhPpUa5TzLKCC3xXmvsh7dDg2nA0SnyEx8u91QVyE4s8mcmy2kwa96
tHfT3mHnPbycBlXqGeR4jj+awBAAAPDyb1ns/OO2i3fymPBbH9Rn/ck5aL77XqUAAKT7TRktQY+6
53PkYXq5RK95WxwPBciW6NteLW1fLFzdcJOVRoyFnktQMR8AYtIEus/dzaeo+vrl1S+aF/3oTiQd
IDqRPC5557QJSgG0AhGxCPJqskRu9atLEYTDljv5Evc3J5X/i8upUIlQzBZX8xhZy+yo++HRqfYL
tp5MZgpATIbcurL0DIZ8BQc4Fe8zMt81mb2VSy9IowOxtqTZXRGRRMZqw3oQBEGQNhHdqyAPOxp+
drEcAABUXjeY6Pi89uuKhCJ0Hbtsn828qdrqXXBmCUNaAgoopKZj6lKD5+qrVT7xS2C2ZakWNlh9
+DAlSN4eli9uKk1eaWZeLfTuJkeAxl5Fi2mAoDZl/wYP/TA70x5Ze2b6JTbOMU7W6KFBLXp25spr
0nAVHll7obGuT9ztLA5OUVGlQs61oLuPCvkAqckOmkZ3LcxHyV67WyloTywprfFaBAmK97NY7yYf
LuqlQIK8pkMSALyyzLwa6KtGJQCI2C6CrAoF57Hpb2/cgvNWxBC9ZEYvLk5VkCYAiK153b3ndEkp
DjM2n2ic4VZUhh19pv+esRAEQZBPRPcqWGn7LSwCJTEA4LOKklhfXSQEqYfJZd+NvZ95/WMRkVKJ
qepuDt6i9NknyAOWTVcqfXA9vqYtS7VEwBcACFo1Ds7j8AAnYE1+ZtlSGgAAQNQYM0GbIOBBT+O5
2sfcXtdP4E4dtdl/Nfmw4WY3Ghv8AvYH28f4bXe7FWnyiM5lcwFkVRtO7ZzSrGLAFbtSCVDJbU8s
DMMxKL+9fNW5t40VLuBU5tcBNH+eQMDjA4aL2S4CRYGCc9icupTdSxcHYbkJNZg6D5OWlyK0ouZp
10IrjeY6HbR8vfJoeEV930VUhmI19LRa+ZPXr4qFIAiCtJfoXgWfkRYbk9aBRUJI9Ro7GM895OYd
nMoGgEyZgjr47CxFHTTLSLH8xpUURluWagm38HViGRgun6J26WKzi3jxWkwDAKMONr/oNCJhj/GG
un8iXTz2R823DK/kA0FBq58CJy+puP56nV/x9kUKb4GmBpUA1cyspFxYoq+j6J5eyAOQ6j5YE2rj
3ldy2xmrNv1ZhmCGzkhiYejbmrb+XqSlWLiMAhnnsrkCfnVWSjwAAJXDwchyZKwVNV/45Mgcr9cn
A5xvXZSYvcjjv3I+fF2GAjazDkBGUZoA1c16hHwOiwMgLSuFA71h7OWrYiEIgiDt1Tme1mR9iE2D
8cs3LE4IiM2uxRSHqEh9Vk7RWaCnVHI/ILm2LUu1jPHaa1ekwXGX8zcH+Pg/yyhiEeVU1IixoSGZ
4m6JCEkDkxnueGxN94f2IwJoBbDTalKoz/6tt6Y73CrjFcc+zyCZejgu5vrE5AhUJpnaTiF8cH9Z
ygXgpoV6Ji3ds91pa9XJsErNZY6Lu+VdXPGK0d5Y/Lw7h09anLUO8O5yIuh2ShmHrNxXvepaQHiO
+BH/lmLhknLSOLeK0+TpUQGXwydRKZIYVIuveUFt1s01C9lwxfXKuWr9padfMr4mQ+BXZ0QVgLX5
OvPyR8Wy6pJxV4Ia7q3w6e/flMHKlauWVUbR5VWJcVdDMtlfEwtBEARpr87Rq2C/v2CyXu6gzfJz
5zdKAghY9PzkyHRmw0UpddDKKXIFN24m1bZlKWG4eb6WxkVmVlsWWHgtkQYAZmHi+R33LovtVbSY
BkYZbe2yjnp/0a4HBTwAKA519jB9sOvwxktPdsXRU07NtiYc2mQZemULAL8iM+rIhn2u79gAAJys
42ssyU62Vsd9HTB2TlTgMotjUTVfEYse9+98s2w7q3XrnJdRAHjV6U99Hwe24jzaciypLlLAKeY1
vdDncXggLSeNQ2nrap5TcM/SVF3rhvVlx5QRdk9K250hALBSD9h7D3VdceC4Eb/y3Vnbu8EZ7I89
ntqkvQ6B2i4mJz1NeBUp52zvXc5k878mFoIgCNJOH2dCp870jwjGN6svDa/+0Rl9SXa8a6qvTsA8
I7uEb/T+pU6Xxq8aC0EQBPmldZa3YIkgM8ZYV7bgXlDqjz3nfc80ftVYCIIgyK+t0/cqMLmhpn9S
cm7fSfmhZ73vmcavGgtBEAT51X28A4IgCIIgCPKVOv1YBYIgCIIgPwnUq0AQBEEQpGN0jl4FLjPI
3N5+0/9a876Jb5mG7OC12x1sB5N/bBo/NYLihP3+PsfHUn50IgiCIMj397FXQZ3pH8c4P0n2R2Uh
P8zczHhaC9OON0MauOE6M+HgDLlWvrm5jWnIDVm1Yr6+mtiXeHzbNH7qWJi05p9jh2nJtKu7SlSe
tulIbEwMkxZfHR/2/Pgybcn6lcpOcrpRmRi0c5Bkk09/nCS9/i9sahsmSUcQBEG+jc4xVtFaEj3n
z9ZkRIQ+r/6hb2FuQxqYdK9prn43imjxTFpUavBOM23KZ1WOU/rrmx4/ezHtTWz5lYWazWfs+L6b
/HksTMnwIS0+xa6/FACAxCCbm0xaoJnat2sxuMp05yDLEcUXnWYtNjPadNDzv6SS+pdW4WTNfhok
qR7ayhJNPs8vvrd11N8Lx6/2Sf9mOSEIgiBt0TnerdlKkr2nm2gy7zu9qfqhnYrWp4FRR7hfcDXJ
87daEkYj9F1kt/2ov+SHKdv/qxIAAEbus9rjpKtObnDgpa0+mR8Ksov4zdfwPTe5WSwJpV5dATQN
Z/Q/kvpG0GP+390Aivork6DgG/0IlaQxrLdkWZiT5+2oZpPc8ooumM9525Pzrsmc8ADArcpNrgIi
fXjz+dcQBEGQH0P8lSfF4ExU8cmx1A4rEkpnw5nUpHgmLYYWvGNFf+kvRuElBsya0ZP+1Cf+06kF
VzN0fRP3ikmLZ9KiaZcczQd9GgnAu4xYfMjT782Lp5X1g+SxPjZ9Gu6wSKgaWOz+71EkgxbPpMUW
hZ+yG9B4Eay752YZLZ5Je57kt8mohZsyzdIgdJt1uID22GeaEgEAAFeZ5pZLCzs6Tg4HkOo9ebpy
edA+z+CYlLgXN3Y53yiR09HTIAEAYJQx/xx2VgrU019tefzK1afxcRllrOZdhzbEAgCi4ghrj4D0
5Hgm7dWHm+7/jOlSP/aBK45387uUGhvNpMUzaU8TfTfP1pCA5ppXL0mhp0xuxAupKcZ9JCR7T5sj
HXc3j9JPgSSu5pvA5SbYhVS9C9k9SlZ0hpSRzrm0qMgVXUFx3sOE+psaoZt7ET/d5qiOvx5x9c4V
gzbc5hAWC0EQBPlmOtNYBVabeMLhVBq3x4KNNicDZSqm2d8obXLxLtln0V9qVY8dXzZer/Irkm65
2F3NK6nBFQYt37b1sBcrYcq+6FoAIKiMNV6jD35792yjlVbzSPIKxHf5HAAAgorxoeBzU/mR573W
RmUW1JKU1akZBY3zQ+Q+PLUtLLtWYfj67WaBxwqHGAdlNp08onkavNybu5aODL5xwDUmzdKrbupJ
N4My75XbXlTxAdilGTkChckzBsm/jq3kS/b6Y4gi/e3TfA4A4Iq6Dou6YTl/X362QYPMykl4cNDF
wzuR8dloRVtiYZShLkHea9nXHKwPxdKV9FbbO/t4VE1d453Lw6V76o3TYvs7LggvwVVGWjmYXvAs
GzbPj8YREQsjKypLM56cjem3zWjgVY6+1JMzz7R3zFGWxoHBF1XzDQiKU+1PhSzmHFm5zvFltegM
a5KOTJoepLPe01c3auXKM4ksAD6rKJcLAMV3bXXiyCQVwwu+Zm1oS8JjtX4lKMosRwAAEMBJREFU
CIIgSBt1pl5FnPexo/fpAPAwmTD0vrXd9MN3zud/OqGT+xvNV626c+mzQfC67KeXs+v/mZiE6S48
PXK8KjH6fcNCtemXQ+4+Yn4WhaJj4T6VGuU8yyggt8X5xLIe3Q4NpwNEp8hMfLvdUFchOLO48Vzf
Qhr8qkd7N+0ddt7Dy2lQpZ5Bjuf4owkMAQAAL/+Wxc4/brt4J48Jv/VBfdafnIPmu+9VCgBAut+U
0RL0qHs+Rx6ml0v0mrfF8VCAbIm+7dXS9sXC1Q03WWnEWOi5BBXzASAmTaD73N18iqqvX179onnR
j+5E0gGiE8njkndOm6AUQCsQEYsgryZL5Fa/uhRBOGy5ky9xf3NS+b+4nAqVCMVscTWPkbXMjrof
Hp1qv2DryWSmAMRkyK0rS89gyFdwgFPxPiPzXV3j18GlF6TRgVhb0uyuiEgiY7VhPQiCIEibCO1V
SI7ccf3JcpWG/zxZRAMAKLq48n873mm3p+hN629+cwpeRZTAkpHdpM7nN0wNLjV4rr5a5RO/hKZ9
BELXscv22cybqq3eBWeWMKQloIBCEn1Th6g+fJgSJG8Pyxc3RSmvNDOvFnp3kyNAY6+ixTRAUJuy
f4OHfpidaY+sPTP9Ej+dAAlkjR4a1KJnZ668Jg1X4ZG1Fxrr+sTdzuLgFBVVKuRcC7r7qJAPkJrs
oGl018J8lOy1u5WC9sSS0hqvRZCgeD+L9W7y4aJeCiTIazokAcAry8yrgb5qVAKAiO0iyKpQcB6b
/vbGLThvRQzRS2b04uJUBWkCgNia1917TpeU4jBj84mMT9UsKsOOPtN/z1gIgiDIJ0J7Fey3p9aO
vkTCQHrcLm83vvsMl9cMAHZ5Tm07i9oCAwxAIGjylAF5wLLpSqUPrsc36ZuQephc9t3Y+5nXPxYR
KZWYqu7m4C1KYtct4AsABK0aB+dxeIATsCYPeLSUBgAAEDXGTNAmCHjQ03iu9jG313QBAAB11Gb/
1eTDhpvdaGzwC9gfbB/jt93tVqTJIzqXzQWQVW04tXNKs4oBV+xKJUAltz2xMAzHoPz28lXn3jY+
TCngVObXATR/nkDA4wOGi9kuAkWBgnPYnLqU3UsXB2G5CTWYOg+TlpcitKLmaddCK43mOh20fL3y
aHhFfd9FVIZiNTSFVv7k9atiIQiCIO0ltFchqC3JelsCABQ1Oo/DzU16R2sYNoD2FbWeVA/dycqC
5BeNfRHqoFlGiuU3rqQ0XZtUr7GD8dxDbt7BqWwAyJQpqAOxvQpu4evEMjBcPkXt0sVmF/HitZgG
AEYdbH7RaUTCHuMNdf9Eunjsj5pvGV7JB4KCVj8FTl5Scf31Or/i7YsU3gJNDSoBqplZSbmwRF9H
0T29kAcg1X2wJtTGva/ktjNWbfqzDMEMnZHEwtC3NW39vUhLsXAZBTLOZXMF/OqslHgAACqHg5Hl
yFgrar7wyZE5Xq9PBjjfuigxe5HHf+V8+LoMBWxmHYCMojQBqpv1CPkcFgdAWlYKB3rD2MtXxUIQ
BEHaqzM9V6E+aqIBo5ysOcbcZoVW/qUNYUUN5w+KzgI9pZL7AcmfDXmwPsSmwfjlGxYnBMRm12KK
Q1Ra825OxmuvXZEGx13O3xzg4/8so4hFlFNRI8aGhmSKuyUiJA1MZrjjsTXdH9qPCKAVwE6rSaE+
+7femu5wq4xXHPs8g2Tq4biY6xOTI1CZZGo7hfDB/WUpF4CbFuqZtHTPdqetVSfDKjWXOS7ulndx
xStGe2Px8+4cPmlx1jrAu8uJoNspZRyycl/1qmsB4TniR/xbioVLyknj3CpOk6dHBVwOn0SlSGJQ
Lb7mBbVZN9csZMMV1yvnqvWXnn7J+JoMgV+dEVUA1ubrzMsfFcuqS8ZdCWq4t8Knv39TBitXrlpW
GUWXVyXGXQ3JZH9NLARBEKS9xPcqWMn+ezfxM1p6R0H7ilrAr/kQ8SrXZOnuaysBeGVv7p+Ytcc3
4tN7n6iDVk6RK7hxM+nz+yjs9xdM1ssdtFl+7vxGSQABi56fHJnOFHdzg5vna2lcZGa1ZYGF1xJp
AGAWJp7fce+y2F5Fi2lglNHWLuuo9xftelDAA4DiUGcP0we7Dm+89GRXHD3l1GxrwqFNlqFXtgDw
KzKjjmzY5/qODQDAyTq+xpLsZGt13NcBY+dEBS6zOBZV8xWx6HH/zjfLtrNat855GQWAV53+1Pdx
YCvOoy3HkuoiBZxiXtMLfR6HB9Jy0jiUtq7mOQX3LE3VtW5YX3ZMGWH3pLTdGQIAK/WAvfdQ1xUH
jhvxK9+dtb0bnMH+2OOpTdrrEKjtYnLS04RXkXLO9t7lTDb/a2IhCIIg7fRxJnTqTP+IYHyz+tLw
6h+d0Zdkx7um+uoEzDOyS/hG71/qdGn8qrEQBEGQX9pP8MZumTHGurIF94JSf+w573um8avGQhAE
QX5tnb5XgckNNf2TknP7TsoPPet9zzR+1VgIgiDIr+7jHRAEQRAEQZCv1OnHKhAEQRAE+UmgXgWC
IAiCIB0D9SoQBEEQBOkYqFeBIAiCIEjHQL0KBEEQBEE6BupVIAiCIAjSMVCvAkEQBEGQjoF6FQiC
IAiCdAwiAOBkKkWSgAGAgMdiMFhNJolCRaiokxchCIIgnQc2THrwcK/Is4vlAACg8rrBRMfnn+au
JKMiVNS5ixAEQZBOBBsm3Y/aT0dbQxIDAD6rKD4+q5rfUIqjIlTUuYsQBEGQTgTNA4IgCIIgSMdA
T2siCIIgCNIxUK8CQRAEQZCOgXoVCIIgCIJ0DNSrQBAEQRCkY6BeBYIgCIIgHYP4oxNAmotn0oQV
6VD6fs9MEARBEKRN0FgFgiAIgiAdA/UqEARBEATpGKhX8dVw2cFrtzvYDib/6EQQBEEQ5McS3avA
ZCc53ahMDNo5SLLpMuoLLzBp8fV/YVNlOigVjNJdZ6b+YCVCB63ve6WByw1ZtWK+vhp6RAVBEAT5
zeHq627Gf+oiMGnxTFrs7cnUhlKyZj8NklQPbWWJJsvwi+9tHfX3wvGrfdI7MhWJgabuIc6GPUkd
udKfNg0EQRAE+enUX2D/v717DYrqvAMw/t9dQAGNV8qlXhJr2jROTTRWR2EcrZUo6WidaqQxGuul
eEHUSKw1Olo10VCvYxpvaDCIqHhLDWqsUQyCSAS8cAsLqMgKiKiwwLLLstsPKGqrsLZvLzjPb/jA
7Dn7nhe+nGfPezhkrP7lgmTj/ZdsxhvV97+tK4maOirjxdrsDOOjb7KWF2aWi5Oxd7UAAADUq18B
qTRkZOvT73/lXa+yNSxzVKR9+e2howeGPsMyh1OHN0JWR+ZmplXpL1w/EjavX7smFxPc+ywr1Ced
Gd9RPALPXKm/ZJIYNcC9fquL98DFmw8Y9GlVOXHfbZo+zLvpywjaDr5hUYev1Q+VdTJhw+RfeDSs
UGi9A1ZdSr1QpU+r0p/Xxyyd2sNd68A0xMVraNCKk6fiK/VpVfqUkrjN8195eAnH76MjZfq0Kn1i
+s65I3wem6HOY/CW0xcq4laM9OA2FgDAc+ypNwPYbh0L7ZXq6uwZEBUx2fHxNO6vLY8On2Y5/GHI
uhRjx8FTFiz7fHW5/+/DC+saeVd1+oZBw6J7BW+K8EuaOHHrFbOI1JUbTCKiadP3z/s2TKk7sXju
ukzNT8aHBh/Y1/6tX30cV25vZECt24uD+nYt37Fwypm7LTr1nTYv+EhMx2EjwuIr7CK2u+lfLZ9/
yFBarW3fY8LCP6zfZr48ZOV5U2PTEJ3n2HV7d/jb4ndtm5aUX2Ry9vBplVdkbThi4TebFx4vMLXv
Hbxo8u6NxT3HRuc/2Niik++bnXQ6GTC0s8uXpTWO/zIBAGhW6qui37qihicvZa/tOSoyzypWY1GO
UZxMpaZnGE7rEzB35g+TgwYvj75lE5HkHLtfYtjUIV4ROw3Wp7/NXlOWm1fZ9m6t1N69mpef/fDM
q+0UMGuK17UVAYvX6i0iZ0/nOPf4KmjJ8O3xe4ob6xQRESlKOXsy0SiSdCrD/t3h3y19M8I/pqRO
pKbg7P6C+l2upGv83t7Sx9fL6fxV69OnIe69gsL8WyUtGzkistDypGNdOxV7MM4ocj6r9cCMRQF+
7ffm37LVb6q+vOm9FcahmnMbL5EUAIDn2D/dV2Ez3brRyPm/CS27+3bXubiHJ6SEP/JqyUvtnaWx
qng61x/17yalsd88OJWbCxJOlwb9tl8X1z3FlQ6PYsqPO1k6KXBAF9eYkkrR/aD/+JVzfuP/qk87
bVVppZuLFLk7N7424eTT+/WOkrno+M0nJsUj6m7nG0zSrVMbnTyoCqkrO7NzwxmHZwsAQPNUXxWV
hoxsfcWTtj9YZtA4NpxGo9XIndgJk3ZkmB+OUXvv5r/1IV3z2NEdnMpj7GIT0Wg0IuLcNXB/xOxu
CdvmBX2bdU/j5ff+3g86Nj2AzS5ib/LqiIhIXW2daHWaf2WaAAA0Z009ZMFuqaoRad3BTScV/3BO
tdWaa0XcXmipFeODT+Wm3IQ8+/BefZyKD2ZUN3bjw5MOZa62iGu7Vo/d22nKO5cvw38+pLNLco5F
RFp08R3kIVnnC55lXUacvfsM9BD9hcIaEdeX+v9MW7juk/C931tEJL91UY08WhVPnIa1+OKVMgmY
MMQ7Zo+h9tl+LhFdh4HjxvlrkzZGJpc4FCYAADRHTVWFrSIvqUhCpk6feufUrRd8WqQeiM67vwhg
M169VCYTJ04afy/J2NbLKfXQvnyL4ej6z4K2h0SGt/tLdGxWWa2rx8s+5Ycj4xxYVak1XMo1BQ3+
U8jIT87edvLs2vrigahcc+HRjdtnbFm0dYV1TWym7sfvvh/0cvH+t445dHZ+Y8qsELdzudYuo2eH
/LTi5DvHi60i5uspOeI7YdY7lyNTCkyaDj09WzowjcqL25bED/10+a4jr3z+RUJeidmpjae3U8rB
fflNLYmIuPWc9sXi0R7y67aXA4JTubUCAPC8avKBkObv1ywIf23Ve2s+HWG7l7099NjePMv9KxOm
9I8/3P3q8sDPNgXW3c3aEfr1/nyLzZj6x9GTC+bPnD592Xh3kbqK3LMRp3c7UhX2O3Fh06M+Wvnu
0phJYr2TuT00NjrXbCtPDn17TtmyOfPWrm8tlTlx4WOWbG38D0Aa2Nx7zVk1xlNnLUo7OCN4zV9v
20TEcjUqMLjN2jkTduya3ULEbjbezIzPrWqolKdMw2qImDG2ZPLMD8YEbRvnJiJVxVd2Lf56vwNV
YS5MPFE4KlCT+LcbTe8MAECzpXndrfv/eg7/AU6dxyWeCr0zc+CwE8am9/7/wn9CBwA0UzyWCQAA
qEFVAAAANZ7TFRAAAPBfx7UKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFV
AAAANagKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAANagKAACgBlUB
AADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAANagKAACgBlUBAADUoCoAAIAaVAUA
AFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAANagKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAA
QA2qAgAAqEFVAAAANagKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAA
NagKAACgxt8B+DNoLKo1S6EAAAAASUVORK5CYII=
--e89a8fb20486dff16e04c0886d39
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--e89a8fb20486dff16e04c0886d39--


From xen-devel-bounces@lists.xen.org Mon May 21 09:22:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOoD-0008QP-1A; Mon, 21 May 2012 09:21:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWOoA-0008QI-M7
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:21:43 +0000
Received: from [85.158.139.83:61611] by server-12.bemta-5.messagelabs.com id
	70/FF-09223-5290ABF4; Mon, 21 May 2012 09:21:41 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337592098!18203779!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12616 invoked from network); 21 May 2012 09:21:40 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:21:40 -0000
Received: by obbwd20 with SMTP id wd20so10765310obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 02:21:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=QwPlwYviUyibxsFlktYAhCKYEBN5ACu9JhlTT0m8a+E=;
	b=KYXeCIGWKJtwUHqNfVGaBCIhBc5piGTPhGaOhz2TA/jFTd0saHxwevVwDvl6z1YIO8
	BpKa/Ud7PCd4KpzLma0KYBHyRlKX/Pm6Rn5FrK+06FJv9sW6av5FeXxjkd/cJiBYvAyz
	w4akuVp38ey6iHJEL0ZpHVnQJyR2mJ434ZnDJL+Qhb23TB1+2esyvZCIfPv1cHNmUzcL
	yzzJSkvUGzIU02tNDteaLKQzLAH3KvD7jWo3Uut1qFsAPJhH2wGVOurNAYer0Z5NWOR7
	avgeIlOoYU1YWWxFVBjS169qgwNKQiOyiWhZGs9JdqgkLkMKQmXgGAnpRWur1YFpcP1t
	MmRQ==
Received: by 10.60.0.129 with SMTP id 1mr18676922oee.33.1337592098320; Mon, 21
	May 2012 02:21:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 02:21:16 -0700 (PDT)
In-Reply-To: <CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 11:21:16 +0200
Message-ID: <CAN-hev=p3YshWLXugXNo31Kx9-ETuTTO4TL8+WKDxBwrkBZcJA@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Content-Type: multipart/mixed; boundary=e89a8fb20486dff16e04c0886d39
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--e89a8fb20486dff16e04c0886d39
Content-Type: text/plain; charset=ISO-8859-1

On 21 May 2012 11:18, eva <evammg@gmail.com> wrote:
> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>>> Hello,
>>>
>>> I want to apply this patch:
>>>
>>> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>>>
>>> I downloaded the patch from:
>>>
>>> http://darnok.org/xen/vga.patch
>>>
>>> and I did this to apply it:
>>>
>>> patch < vga.patch
>>>
>>> It asks for a file to patch, and it may be obvious, but I don't know
>>> which is the file.
>>
>> Apply it with "patch -p1 < vga.patch" instead and it'll do the right
>> thing.
>>
>
> It says exactly the same thing:
>
> can't find file to patch at input line 22
> Perhaps you used the wrong -p or --strip option?
>
> And then asks me for the file to patch again..

I attach a screenshot..

--e89a8fb20486dff16e04c0886d39
Content-Type: image/png; 
	name="Captura de pantalla de 2012-05-21 11:14:14.png"
Content-Disposition: attachment; 
	filename="Captura de pantalla de 2012-05-21 11:14:14.png"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2hbkqme0

iVBORw0KGgoAAAANSUhEUgAAAscAAAIoCAIAAAAKhtEuAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRT
b2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAIABJREFUeJzsnXlcjNsfx7/PM9My7asWScgS
Qte+XpEtruXauihCN0tSZLnWZC1CuEIhklS2i8hWIW3U0F5TUUr7Ok2ZaZbfH4kwzzPTGOTnvF9e
r8s9c875nO/5Ps/5Puc5zzlYPwVjQCAQCAQCgfhq8B8tQBhyRpNdt9lbaLUhcbiK6bItm11MaT9a
COJn4qd2m59a/C8I6i9E2+CbDNyYYgezyRamWhQJ88sZT19nbdFT4cdGFTImq/5jJR2cpIoBAK7a
Z/HCWRZ61B8row2BqYzecaM6OXBbLzmJ8reqXcQe9bUyWkWrHfvHuc2X/NTif0FQfyF+Ur7JwC1r
YusR7GZpJPNFCqZgMmNjWGQsi0GveOTjMdlA/lvUDwAAuGq/1V7BBVl0VlZk/JGFw9Ra2VRZo1nT
DeseX42uFXwbgT+VjC/BaYbd2svId+ypLStJ9ta1i9ijvlJG6yCWISG4ztTTVYn7zJVArvuK5Mwb
W7p9u1ZIXfw3AJPv9uc+BiP8eH/0wP0z9BcCIYTvGtdSDGe4R7j3eHRgo/mjEoV+8/7df0JQOGfD
i/pvUJX+on9P7jFN9frH6Sn85rTN6dZRptmiq3k8cQuQ6zzRypB1b8fLmh86mrcRGULglQTYzUg1
asxIZUqQW2rt+joZPxql3yxN+C8vJrEouoNGGlU9e/CG86Ml/SioWn0mOjmudP5dF6D6R4tBIBAS
g+Pq/ecd8j73MiaqmkFnMeishLNOXd6Hx7J6o7aeuFLIoLOyIp95L5+o9zFsJkpSHOBWwIh9ZK0F
2laPkuksBp3FiA4YpggAoNR/6z8jKnydFp+MjM9Ijwzy3JbQbqGtqRIAAKbUddqRS3erGHRW+v37
TiYtNRLUJddn5Ym0l3QWIy7z0p4TZ26UMhLeXN0wpR0FAOS7z10/WHBv07otVx6FXvFasDlaMGSp
XYsHQYq2+cmI57WRu6ZpC53DkO0xbZIRM+os/ZOxasTumxUMOosRnXLOeaq+SGuQKQQAqmZ/xwP+
2Wl0FuN53k2PtYPVv5js/FyGXA+HVEaU3xCFpn+qWPiwGCGOhk2xIa7Se+7JkDtlDDqLQWcmPYjd
OUwdE51Lz3Lfy8TnLAadxYhjhLja9VJstgiRb+D6cwJYDHot/b/H125fGaf8uWhityE2L6EMYo8S
IYMIXHO4R8D1101FpT946rVkjPaH4FoCGU0N0h1nv+tB+JM6Bp3FSCiJPLG+x0dnE+I28r0OPKWz
GI8uj6XJjziQn/U8bVsPXPPPhw83DCCdvmsT4iWFTLxcl1XuThasqzZOV4skLR+TazdkurVNd1IL
YuozzsSzYrcO+TAbItt1Wzi98vRYTQwAQFZ35ObjwW8y6SwGnfki7JnfmnEaTVYkuVIkanKb7y8E
QiKoFJ2hc/+2gHN7dm9ilNfyZNQ0qBlvGwEAUx20P9hrKe/eVudDaVh3axeHK8Eak6fsiawRkCTV
p3iNnhho5uDtNyJ20aJTyWwA4NUUNgCAUp8//1B75RGc2aDax9F142oLE115gPROmpS4BvUxJwJd
p1WGbnG6myNjZDFvee9mgcR1UXX6mnUs8vlzc/aUw+6L687OtcmfeWj7UYc74dtStMwGdYAM10Ql
+wvXXeXPjHG6mww7RvfVoKQXN81WyBkMn2BAocCwcR1k/yt797lZ5Lr8NUWvJsL12acPwAUPT2wK
y2/Q+M1hy5KLR4v7zA3M5UqmMKlBse/OQN9lnOubHQ8lMLXMl250O3ugZvzfvgU8kTKEQzPd7btx
5ms/R9vILCauqtexEy+PJXomgF+Vcmvn+muFZfW4Ri+bTRsO+7CTxu6NawAAQt8oveNilkiT0bEM
8FvyWXEkvkHaLkIZxB7FJ5FBAq5gNHpQx5ozm5Y+qpIzGLRsrcPNEK2JUz2e1AokkgFA0Zl7KOjM
eP6TCz7LYnOLGmS09ZVyirgfahTiNuxMt+mTjnWYejVofvLKhZsZHbdfOjw4aMlUf8ZbdpsXzyVS
9xWWZ2e6Wo7bLhDQTNfta33Bih0G/GU9f6XVqG4y+cH/PAjMLGok+q2g5ulVOnfk8BnGcrHJbACQ
NTSf2aHxqSe9SgCYykCPoCN2eMTO9UfjykF/zPpTNkNNlI7cr+STXikSNbnN9xcCIRFNcXND9uXg
O+Gslgm4geWqpbqvd1luPcjgAERFZMn0umW/fdLpJ5dK9QmTinnvKrJz6tSqGqGx6lVObsbH8VrG
4DcT5ZoXcWVqMw+d2Nsz0mHxPnDwOaYtS8UohpZ2M1QZm2a5er3mAjx5XDfKzltNlAwmAAiqsuIT
YngpbFv1zJjYKNbz9bN7dFDCMjQM1ICVVMxR7NdBSUnOQIWd/rYB+hmoyMD7qKI+yXvhLuY4LObo
yy9CCgBa96mzdGtuh3w+q/46PPRqJBMgLl15VOoWyxEaQbmlIJHCFHVL55Xt4+3NdwaW8gEgPksw
ItrDbqyu37lCrigZwpFRM1CBKkbCw5iXJTyAl3RxMgHAu/yoy/lNf01OwUbMOTlguC417lWzCiG+
AVxmURYTqA1lX9xRSfqr+EO4JLRdRDIEhB5FIkM0RQlRD6KZALHhqYJn121dJ/iNDynhSSRD0cze
Y7xSrNu0qf4FQl9gCHMbbm1ZMb+LkR4///CL/LeCPsZqrJexma/LWMIKaGvi+aIE4jQlRTkKBgAC
Hruujt3yxSOReIGg9S/DKEo9Rs1YbvuX7VC96uS7p12XnLlNf/OOvBx+edz1KO6eaZadtyenvwPZ
rlP+MG6I3hJdxQfcYKLDUv2C/VM37kvnAIAKzQZs1D7kFHGlENPm+wuBkCKEU3i0LkM7Q9mzh82u
y85/GlEGJoMNaWRJJMhod9aAyoJKpQFLR9GeHz58/ll2blXTE4W80SBDKKNHF395fYpVF58vAAzH
QMDn8gHHsQ9fFTSkbfljksmEfTFfrtzgVTw657XFL75EyEoLedM/LfSqH51LIrrF88pzCxtAxUCV
IqlCeePhxhTZQb5PE1gMOotBr4v3MKeCdieNFlOWImV8Sm3sRreHfKujudEXL26aZ2msJN7icUq7
oYtOB918k5xQl/r4xd4hsiCrKCPxIl5xrCG0XdKV0QoaciMflGG9hjUplEAGVf+3flqQ5hf2VtSa
iJZuAwBUnV5dlStS02v5tI6/GWOFMflCAty2Kp4UWr8jkY8Lnz8qfP7obcQ/gwnuC5+KlwCZHsv9
E06tmc79b57lqE5/btxxNVFUSAEAwC+POfmE3WHyJBN5ALku82cYVN8PfFQlAJDvMqwLVhEX9lqo
MaTgom20vxAIaUK+WhP75Ks/TMwkgrJoSrLQ+I6vpKOF16cVslqO5gK+ADAcJypFVF0CPo/LbxmP
cysLqkFRR1cB55YX5wPg2u30aVBVUEs4L9oSWg/riVrl9/+jk6wi5TXyAKd8ENZqhRiGY1AZarP4
TOrHGW9BY/XbjwOLUBkCPh9wWYpQS7EzL7mY3jexnDbFasayEFvHBJ/VMzzjKnhkuWQ6Wl32W935
qc9a+8fp1ZjuiDVB67SIm/1po4iaS24NYe36JjLEzs8HwDBMYhkCvgBAINY64A9uI99z750ARwMA
MI5MntuUuD/i+f7CgFETDySIH138EPEiYWftt7e/KIcBAJ9dkkL0TqeFeIngFT8JOjdiycKRy44q
d/DxDzoTllLMEWPCQ1AT6few+pzlQhNvBnXOfP3Si+de1gIAYBQZCvAbucLK+BoXbVF1m+wvBEKa
EEbGDTkxuaA1cGyH9+uA5AyHj9aG9Lj8BrKkJgTseg7Q1D99WBawWY0gryzbUFED8hpK1E/qis4B
rSGWnb/cckBkXQDAilg1Qu2vu+Uf7wX80hfxb6DHnIFNn5PiWgMnmEJRxMvKj1cjRXOUjeOuRYN0
vgjllXpNm6pZeeNKeh2RbaSgsCH7aY5Aw2wAtTgzOzfj/Z9XOeXsDz8RKoNbU1wFtC7G6kTRIKci
/fqZ/VZTxw90z+1vt9HWkEqeS77TUFO84JS7b1B0SlJacvTLolaMaBzWOwBlTYUWJhRtDaHtEiVD
qEeRyGgFMnoDRmkD43nBOwllcItfJFdAD5uxQlalEsLOPmi39lwZ5J9fPWSStUMMR5By0MJy5m8L
z6aSrqtoE+JFwq/LSoiPiI6LiI57lPC6lmACvqV4yaqpfnlphdUE3QmrDqRqznc/n5Nw9epWK4uO
NFEDqaA24YJfoabVkvFz7SdqZlw4mdYkgf0mqQi0fxvaTsjlJfpKIb6lfKCN9hcCIU0I5yr4BbeP
nl5xcsupXVzP0DRKtwVr7LsWX558p4QHAuKkJhoLX2Y32JvvcJzmHlVO1emo/OJKQHbj28wysOim
33DzSgrstLXs8eQGhn+o65jvipMufkeonkGRBWyNge0AOKJkKJA0611m8P44qyN7PVxp52Og3+pt
w7C4XT5ZH2cNFfosO791ljZMV0uydEhseTkrms021yq7558m5st6yRTyC28fPm5/2tHfV/3fwND0
ikaadlf9muv+kW+4ZDJ45fGXkgT7nbdvZ/qHF3O1B2gDNM+/KJlt3WReHRNHz69my+sON2sHvPyS
Bj55LnZeQhYMt1k1L8k/Ib8B0+yjI/4OIvzanNgicLRbblcZXqqiL5d4JTCHI8o3hLdLlAyhHsUm
kSFSfP+lqxwVYrK5hrNWO5rUPpgXVsyVVEbdC5/tT8Yd23nhZo+z55/mlLCpqjp61ISrwbnEMgSc
8grcSL3h5aOE5Nfa49tR30Q8ozNyxRxff7D4r0OoeABMXrtjF00ZmpGGHMhodjTuzaqryssrbBC5
JoDPzI361zXquLv+yGlWDgsXr2NERuQ1iHiaZ2f5+Cav2u56BBrCHG83r2fkvrrh99Bhx67jm3j/
RuRRDUbNNQF4/0mKyCuF+Jbyc/cXAtFKiN+ACGriXeY4Vbg5rT14WBnqsiJ9Z28/1bSSnySpKWtl
pMfygN17F7iGLAZuZdppl9DA7JqCmNjitZP+7FbpvM595Nl/EpLWA0B9LJMjAEFt/LrZK4u2Oi5z
9XSiAHBrXj2/k8Xii1EXAdxCP4dlym6b1rt7rQVmWpjXH1uvtdysgl0Qfa9ghhUWff+zHQKUei0a
q1p042aK2CsAJVMoYCb+M2tJ/vqVy5e7WSsC8Gqzo/wiLjZHFUQyuAW+Ds56e1z+dvdaAwCcmtyE
u4x6PgBQ5ORxrSFr91lrywIApzQz1nPVvuBiPnkuzqsAKwfVg042Zy6slgMQsJlv055ks8Tb1oOd
6bnRt+++hZ7HpvKrM0673AnK4fDJrUHQLlEyhHoUm08iQ5R2vqKZ077ZOhRuEf3qCgfPG+XiWINA
BrfQb8XckiUr182295mvAACs4uQLW+9eJr3RyxuYdcULj75+BwqGww24WQlvxX9k/+Hivwah4gFk
TexORNnqNP1mivv5KcAKsR6/KFbczWwEDW8fXzr4+NIhHBOIsTqRl3fDO8TpuFVd8K6Iig+/5xbd
srFWPrRjifuRGTi3PO01DiDgCQQgxpVCeEv5yfsLgWgl2Hc8XUy2y8b/Lm+sde+/4FIOT1ZTR1uB
U/m2QtRTxfdFZfi+TD8z/5lT1ye1Zib6/1SG1GkL7aJ2mB8d7lK5ctTEez/fxllI/HeE0tk2MHlD
1fwhy65XS7hZ28/WZATi6/mee2tyco9t9PkzeMOdQ1S7fdeeFlVgmnJUrIHXhnaNVB48d4RK0dXA
zB87lrcRGVLnO7ULk9fu3lmL9uWaIT6n5FVu6TetG/FTo9DDdp4pMzuvmIVpdP19tXPXukcbYpht
6A6FQLR5vuuO3YK6lyfGz6096rHqdsRaAICq6xa/74iRYLeBbwOm2tf2d8U3F2+n/9DRvI3IkDrf
rV3yXRfdvDpPX0hKmffMPzZWfdvaET8vVLUuI6evmNFdTRaAzyx4+t/uSfsfCPv4HIFAEPE934B8
BFfS1tNV4FUWl1ay0Q4tCAQCgUD8f/BjogoEAoFAIBD/f3yP3QsRCAQCgUD8CvzyUYWc0WTXbfYW
Wr+8Ib49uIrpsi2bXUwl3aAZgUAgEG2dbzSYUgwcQ+ms/2Z3+HybOUyxg9lkC1Ot1u6DSNWe4OyV
EB/PYtBr6WHRx6x7Nu3DiamM3nGjOjlwW68v9+UUCznj6eusLXoqiGeI1sl4f1R305+w8eIe1S0K
SW0oZVotA1fts3jhLAs96a4QlsgaX+02raqslQpFuc13FY9AIBCt4ls9onPrGwG4nMbPv8mSNbH1
CHazNGrdfrO4zkS3wBX9Sy/tmDZvyVTng94PUsqadovCaYbd2svId+ypLSsl5VKUwS+9u2HgH3OG
Lz2bLU0ZktlQ6vzMMr6r27RWoSi3+W7iKaoD/9p8+/6jWgadlRHxzHuZhTZFdBICgfil+UZflvIa
KlgCXmN1vXS+8JBp36+zXEXYDu/Q2M8+Q+WVBNjNSDVqzBDvtPDvLINbU5BWA1Tmb+JuEIj4PnxX
t2k1Itzme4mXNZy233nA28DD85+XyXWbsGWDfYhiQS/bW295ZEkIBOLXBgeQ1R1nv+tB+JM6Bp3F
SCiJPLG+R9MzEK5nue9l4nMWg85ixDFCXO16KTZNbeCaw93PhWQmxLEYdBYjKtlvzfT2nz02NZYX
V5cVVLc82lxxgFsBI/aRtRZoWz1KbprgjQ4YpkgusCnXk4XtQHPmw6SmXFfXdKJ+mCiupf/3+Nrt
K+M+mSgmVYgpdZ125NLdKgadlX7/vpOJOHaSTAY5VM3+jgf8s9PoLMbzvJseaweri3zcI7ehrN6o
rSeuFDLorKzIZ97LJ4pxAhGuOdwj4PrrpqLSHzz1WjJG+0OkSegAIrqS0KMAAEbsvlnBoLMY0Snn
nKfqi/P8LqkMgtIkcxsSQ8n1cEhlRPkNeX/si4qFD4sR4mhIlVSh9MWDRM7GeeVvMXzmvEPXbj6J
unx6z4rL1bK9h3WRE5GEQCB+bag6cw8FnRnPf3LBZ1lsblGDjLa+Uk5RUzDAr0q5tXP9tcKyelyj
l82mDYd92Elj98Y1AK5gZD7MmHPedXZkGa4zYOVm2wDvin4zzzE+HjT+LvPyib2NeS23O6pP8Ro9
MdDMwdtvROyiRaeS2QDAqykUsQeWkFx8dkkBFwBK77iYJdJkdCwD/JZ8lotEIUVrzIlA12mVoVuc
7ubIGFnMW95bDDtJJoMETLHvzkDfZZzrmx0PJTC1zJdudDt7oGb8374FZI97JDbEVAftD/Zayru3
1flQGtbd2sXhSrDG5Cl7yE8kwRWMRg/qWHNm09JHVXIGg5atdbgZojVxqseTWgGJA5B1JYXEowAA
Ch6e2BSW36Dxm8OWJRePFveZG5jLJVLXhEQyiEuTzG1IDUWIZD4vdfGSORuAgPvhFSauYKCvAIUZ
RRyRSQgE4leGau8xXinWbdpU/4Iv7wnv8qMu5zf9NTkFGzHn5IDhutS4V+8HgcK48NtPmABxybRh
adsmjNTyZxR9eOHBL40J9v20NMG7iuycOrWqRmisepWTmyHeYUokubjMoiwmUBvKiG7SwhRihpZ2
M1QZm2a5er3mAjx5XDfKzlvtm8oQBq5v6byyfby9+c7AUj4AxGcJRkR72I3V9TtXSDLIEsvADSxX
LdV9vcty60EGByAqIkum1y377ZNOP7lULHJauigh6kE0EyA2PFXw7Lqt6wS/8SElPGIHILGGohmZ
RwHA6/DQq5FMgLh05VGpWyxHaATllop4TyaBDBIkchs+iaFI6pJMobTFg2TO1gLZrrO3Hx5e5j3/
Ws7nGUiSEAjELwi1nxakbQl7K2wAoLQbar3Xaeb4nvrqOKusTkEWihRlvlzeyavILayHrnpKFIC2
uVFmS4WyRoMMoexmdPGPvQXKGw83psgq+j5NaBl7lXTSkAExb/SfQesytDOUhT5sHsrZ+U8jyuz/
GmxIu1RcJ3YpDbmRD8oWWw0zpIWU1InrAC2h6v9G4lEt4ZXnFjZAZwNVCoiIKiSQIRXIHLuloRqF
5v7BtBQv81XOhin2XbT/zqZu4RsWbY7/9EgMkiQEAvGLQhUACIQ+y8p0tLrst7rzU5+19o/TqzHd
EWuC1mkJL0TA4wOGY9i3FEpI872MtPYWCgV8AWA4Lm2xYsn4CIbhGFSG2iw+k/rxLZGgsboVx2EL
LfWTf0lQggD4ABiGQascoGUBfEKP+hxeIw9wiii3kUyGaJ3v/yuu23yZ/4OhQMDnAy5L+X7+30rx
X+FsuPIQh39DV2ledlyw6k4xR8wkBALx60JNrgBLm7F6IZcKP3vkku801BQvOOTuG5TJAYBc5aJ3
8PV3cwG7ngM0dSXpfYYm4LDeAShrKlCgVozBrCEnOgcmDbHsLBeXKs1Drkhk8BvZjQAKKvI4MJuf
eRuyn+YIJpkNoBZfTa1v5UOeUBs25MTkwqSBYzvIxmdxAEDOcPhobUiPy2/VO3wZvQGjtIHxvOAd
AE2EAwiVwS1+QehRkiHKDyX0qFa6zee0NJSgprgKaF2M1alPWcIe/SVUKMxtJBMvsbNR2k/ZeW2V
9uWVNivvlXHFTUIgEL8yVJ/tT8Yd23nhZo+z55/mlLCpqjp61ISrwbkcdl5CFgy3WTUvyT8hvwHT
7KMjL4X6GgtfZjfYm+9wnOYeVU7V6aj84kpA9leN7vzanNgicLRbblcZXqqiL5d4JTCH5MGJX3D7
mO+Kky5+R6ieQZEFbI2B7QCk8KBFIoPPfPWyAhYtWmxdHctU06UmXgvO5RTePnzc/rSjv6/6v4Gh
6RWNNO2u+jXX/SPfiL5DC7dhwe2jp1ec3HJqF9czNI3SbcEa+67FlyffEevAxf5LVzkqxGRzDWet
djSpfTAvrJgLIMoBhMuoe0HoURJYFSSVIbLYVrrNe4QaCsrjLyUJ9jtv3870Dy/mag/QBmgZUEmq
UJjbSCSeL6Gz0Xqv/+d3LNztbL5ajx5Na48ErLevXtXyyJIQCMQvDbXQb8XckiUr182295mvAACs
4uQLW+9ezuVwXgVYOagedLI5c2G1HICAzXyb9iSb9ZV3DUFlpMfygN17F7iGLAZuZdppl9DA7K87
t5Sd6bnRt+++hZ7HpvKrM0673AkiHR4EtfHrZq8s2uq4zNXTiQLArXn1/E4W66tXhAiT8b7QhpQ9
my/23Gl13NuKV5V+xuXu5VwOn5n4z6wl+etXLl/uZq0IwKvNjvKLuChOVEFgw5p4lzlOFW5Oaw8e
Voa6rEjf2dtPkX8A8gG+opnTvtk6FG4R/eoKB88b5XwAEOUABDK4hB4lkVkllSGy3Fa6DYmhgFvg
6+Cst8flb3evNQDAqclNuMv4uFWLpAqFuo1E4gUSOZtMuz7DtEB5zLaHYz7+z+cbx5lfKacQJ7XN
pVUIBOJ7gc4s/bWhdpgfHe5SuXLUxHttcT+otgMyFAKBQIgBOlQLgUAgEAiEdEBRBQKBQCAQCOmA
3oAgEAgEAoGQDmiuAoFAIBAIhHRAUQUCgUAgEAjpIO2oAlcxXbZls4spTcrl/sLIGU123WZvoSV5
V6FOQSAQCMR3QepRhWqfxQtnWehRRf8UIR5yxtPXWVv0VBCnqzDFDmaTLUy1Pt3GEXXKL4NwBxCV
SWX0jhvVyYHbev3Ys8yJxbcVhQgEQiT4WP/IWBaDzmLQWYyotKCdjoM10eDz0yJrYusR7GZpJPOj
hSB+DBI5AE4z7NZeRr5jT23Zb6VLLIjFS1mhnIn1nseRj6sZdBbjMf3U8rHa0jtBAIH41aGqdWov
l3po2bLHdbJqRuNs1+69YKLyx7xdGei0IATi14BXEmA3I9WoMSO1rW7wJWWFjZW5qVeO3NmUXU3p
+sfBvX9f3J7UbdVT8fahRSAQ5OAAADWvM+gpqbFRobtc9kRwu/w12ahpnpGq2d/xgH92Gp3FeJ53
02PtYPXmkB5X7z/vkPe5lzFR1U3zHAlnnbp8fMQYsftmBYPOYkSnnHOeqv/h/+N6lvteJj5nMegs
RhwjxNWul2LTtD6uOdwj4PrrZDqLQWelP3jqtWSM9ocZE1yl99yTIXfKGHQWg85MehC7c5i6iOMh
cZ2pvrWMMHfT5vlS5eGXkuhZm0yajpCQ1Ru19cSVQgadlRX5zHv5RL33CuV6OKQyovyGKDT9U8XC
h8UIcTQUMXdDmotMPLF5MaWu045culvFoLPS7993MiEX0ITiALcCRuwjay3QtnrUZElGdMAwxQ8/
IOgUEhlENQ29lER/Mqddy1cy6hN9a17uN1cEct8gsjyuOdz9XEhmQlzTnFmy35rp7T8+lcrqjtx8
PPhNJp3FoDNfhD3zWzNO4ytWmZA5GxlE4kVeDlKF0KNIHYBIIa4/J4DFoNfS/3t87faVccqf1CRt
Q5EUSCyeTCF5XcQexS95GuB19UlUUvKj62dOpIOSXjtFtG4dgZAOn94lBDz2u+bTqTHFvjsDfZdx
rm92PJTA1DJfutHt7IGa8X/7FvAAKDpD5/5tAef27N7EKK/lyahpUDPefjxRqeDhiU1h+Q0avzls
WXLxaHGfuYG5XADgV6Xc2rn+WmFZPa7Ry2bThsM+7KSxe+MaAFcwGj2oY82ZTUsfVckZDFq21uFm
iNbEqR5PagVAM93tu3Hmaz9H28gsJq6q17ETL48l4qmCXx4fmgjbJozU35r8igNA6zxyIK3ucUT+
OwBMddD+YK+lvHtbnQ+lYd2tXRyuBGtMnrJHzCMzWgexeBLzUrTGnAh0nVYZusXpbo6MkcW85b3F
qKo+xWv0xEAzB2+/EbGLFp1KZgMAr6bw45GlQjuFtJcJ4FblVAl66avIQBmm2b49pTy3lKuurwqV
L8oagcQ3SCyPKxiZDzPmnHedHVmG6wxYudk2wLui38xzjEbAVAZ6BB2xwyN2rj8aVw76Y9afshlq
onTkfqWEJ06QORsxpG4j4nKQJsRqn9+1AAAgAElEQVQeReoAhApL77iYJdJkdCwD/JZ8a0ORFEgs
nk+iUDKPagFFZ9QSp27F55ZHFqNj0RAI6fAxqsBpWsaWyx0nyJX63M9/B3h7S+eV7ePtzXcGlvIB
ID5LMCLaw26srt+5wvdnEjVkXw6+E84SUurr8NCrkUyAuHTlUalbLEdoBOWW8gHgXX7U5fymnySn
YCPmnBwwXJca9+p9eUUJUQ+imQCx4amCZ9dtXSf4jQ8p4cmoGahAFSPhYczLEh7AS7o4zeKVxV5I
Aq/JIw1PvcrmynQYNliX8/Jaej0AbmC5aqnu612WWw8yOABREVkyvW7Zb590+smlYsnNSASheFyf
0LzFHSztZqgyNs1y9XrNBXjyuG6UnbeayKoE7yqyc+rUqhqhsepVTm7Gu89/IKxTgFhGIeHJU43l
aWWCxR3VZXDNP47956vk2Xv6VW0jdX5xdsmHW7YQ3xBt+cK48NtPmABxybRhadsmjNTyZxRB+4kO
S/UL9k/duC+dAwAqNBuwEW2NphppSopyFAwABDx2XR275cAh3NmIiyIRzyNs8tcoJEgivhxEOoBQ
hVxmURYTqA1lDV/8vAkpGoqsQGLxxAol86gPwShF12Lzg4MDHzvbro6sQoeiIRBSAgcAGOYVWcdI
KI8JOj+De3HLyq0vGgDkjYcbU2QH+T5NaFrLWRfvYU4F7U4arZnY5ZXnFjaAioFq05w6pd3QRaeD
br5JTqhLffxi7xBZkFWUETLz2JAb+aAM6zXMkAYAtbEb3R7yrY7mRl+8uGmepbGSWAureCWhAYm8
bn9MNqACRWPo2I7cxFuxtQIAWpehnaHs2cOC9wtH2PlPI8rAZLDhN/nsklA8iXnljQYZQhk9ulj0
6aUS0bJTJOplPisvh6nUQU9Fs/98Uxy6TRyto9i+i3IVo5B0Dkl8y/MqcgvrQUlPiQIg32VYF6wi
Lux16xf60PodiXxc+PxR4fNHbyP+GUzQwZ84mxTES0khUZJkl4M0kLqhxCtQKnW19Kj34FpjTx6c
Uuy+3DGs+NtMKyEQvyZUAIBkj6V2j6saasrzS2o57wcGDMMxqAy1WXwmlf3h14LG6rdfPgKRwWts
fqMCMh2tLvut7vzUZ6394/RqTHfEmqB1WsJzCYAPgGFNCxDYmZdcTO+bWE6bYjVjWYitY4LP6hme
cRUiZiz5JZEX7zUcsJ1iePJil9k9BfFbEys+PI9gn6zL+PgPAZ8PuCxFxKqNL9SS5CIST2JeqoAv
AAzHW6miFXzsFMl6mZ33sog/pGvvUcamWWe9qLMXjOkRpQt5V4pE+waR5T9DwOMDhmMYAEaRoQC/
kSvB6yl21n57+4tyGADw2SUpbIKffeJspIgpXioKCZMkuxxE0Gxd0jZJ3VDiF0iisNUe1UxjYaC7
a+atb/SmCoH4ZaECADALs1MyP1tW0JD9NEcwyWwAtfhqar1UVhzIdxpqihcccvcNyuQAQK5y0TsQ
HlXI6A0YpQ2M5wUfRilORfr1M+nXzx7tueTMsw0bbUNmH3gl4lGeXxlz6L+Ke3/NNc/THQT01Y/L
eQAADTkxuTBp4NgOsvFZHACQMxw+WhvS4/IbAKCmuApoXYzVqU9Z4k8UcEXlEiaexLyNOdE5MGmI
ZWe5uFSikZAIAbueAzR1sR9gJetlfmVWZo32MLsl6uk+O07K/ma75C91neqIbCbpNDKZ5YkHFvab
pCIY/9vQdtTn+a2cvOHXZSXEZ4n61ZfO1lrxkkOikFQ88eXQWgd4j4DDegegrKlAgVqi+OTrDfVZ
L39RIJl4YQol86j38OsKkrOo7G80IYhA/LoQrunmF94+fNz+tKO/r/q/gaHpFY007a76Ndf9I99I
eh2y8xKyYLjNqnlJ/gn5DZhmHx35T3/Qf+kqR4WYbK7hrNWOJrUP5oUVcwFAyWzrJvPqmDh6fjVb
Xne4WTvg5Zc0iPMatP7Z2YA0K0ffHYDHb3z4fqaCX3D76OkVJ7ec2sX1DE2jdFuwxr5r8eXJd0p4
AFAefylJsN95+3amf3gxV3uANoDoJxkeSS5C8STm5RfcPua74qSL3xGqZ1BkAVtjYDsAMef/Gwtf
ZjfYm+9wnOYeVU7V6aj84kpANkloImEvN+Q9Z8hMszR4/FdkyRtqUML2PeZ4/M435CLJLE/8aQH3
1Q2/hw47dh3fxPs3Io9qMGquCUARuRXEQbizSST+uyLicmitA7yHX5sTWwSOdsvtKsNLVfTlEq8E
5rzvTSkaiiqiQDLxQhVK5FFNUI0XnYrf2K0x+p9utmGlaFUFAiE1iC8+ATPxn1lL8tevXL7czVoR
gFebHeUXcVHyqILzKsDKQfWgk82ZC6vlAARs5tu0J9msj7dlvqKZ077ZOhRuEf3qCgfPG+V8AKDI
yeNaQ9bus9aWBQBOaWas56p9wcVi3QY4r6+5hi0Jnii4fCa6rDmHoCbeZY5ThZvT2oOHlaEuK9J3
9vZT7z8A4Rb4Ojjr7XH5291rDQBwanIT7jLqRdVFnItEPIl5BbXx62avLNrquMzV04kCwK159fxO
FkucJgsqIz2WB+zeu8A1ZDFwK9NOu4QGkg4qkvUyvyYrqgCMY86HVwn4WNThu0xzk9gUpojJDjLL
E8MtumVjrXxoxxL3IzNwbnnaaxxAwBN87fSZUGeTunipI+pyEO4Aol2Hnem50bfvvoWex6byqzNO
u9wJao4qpG4o4gJJxQtTyJe8U/g1r7Pe8I2Y6cXSmYlFIBDvaRsnoVM7zI8Od6lcOWriPenuwyPT
ffml+LlRoyceorduPQiibULpbBuYvKFq/pBl16slHA2+mbP9vyF1QyHLIxC/AP+fu3PjykY9eyhj
6n3nHFitcX3V+SQUUvy8KPSwnWfKzM4rZmEaXX9f7dy17tGGGFHzIggEAoH4Efx/RhXyfZbuvzdX
l1+Vfsn1b+cHX7lAHvEjoap1GTl9xYzuarIAfGbB0/92T9r/4LsvZ0AgEAiEOLSNNyAIBAKBQCB+
ftDu9wgEAoFAIKQDiioQCAQCgUBIB+KoAlcxXbZls4vpN9nJ+v8YOaPJrtvsLbRQvNYKkLMhEAjE
/wUkUYVqn8ULZ1noSXc9J6bYwWyyhamW1E4vaG2B7w9WbvoTNv7zg5W/Hjnj6eusLXoqNFsWUxm9
40Z1cuC2XnKk+dom36m/RDjbz21DBAKB+HXAEz8MsR/+1PqNUvlW9cma2HoEu1kateaMMqkWyC+9
u2HgH3OGLz2bLS0J5OA0w27tZeQ79tSW/T4VSpUf3l8A8LPbEIFAIH4dqLMH/4EDpj75wMlt2PHJ
ayPLBcBjvq37/11xwa0pSKsBKvO3+u9TH68kwG5GqlFjRira+UdSkA0RCATi5wDPSclgpGTm5NcD
1BenZzJSMhjphR93hx6x+2YFg85iRKecc56q//EBk6rZ3/GAf3YancV4nnfTY+1gdZFz5IoD3AoY
sY+stUDb6lFy07xIdMAwRdICKQbTDhcxIs5OaJoyx3UmuBcwwo4MU8VFFSgZxO3C9Sz3vUx8zmLQ
WYw4RoirXS/FDy85lLpOO3LpbhWDzkq/f9/J5INxm9621NL/e3zt9pVxn7xtwTWHu58LyUyIYzHo
LEZUst+a6e0/PojL6o7cfDz4TSadxaAzX4Q981szTkNEmCfXwyGVEeU3RKHpnyoWPixGiKMhtaku
j4Drr5tMlP7gqdeSMdqiX2yRm1dWb9TWE1cKGXRWVuQz7+UT9URPPojsL2HORmZDAFyl99yTIXfK
GHQWg85MehC7c5g6+blSikMvJdGfzGnX0prqE31rXu43VwTSXhZRF0Xb/GTE89rIXdO0/18DcgQC
gRCJqMGl4OGJTWH5DRq/OWxZcvFocZ+5gblcwBT77gz0Xca5vtnxUAJTy3zpRrezB2rG/+1bQLY5
UX2K1+iJgWYO3n4jYhctOpXMBgBeTWEDAFmBBTe3LxgQdMNzX3zWCp9344+7j6vwXbQppoZPWqBk
kLaLX5Vya+f6a4Vl9bhGL5tNGw77sJPG7o1rAIrWmBOBrtMqQ7c43c2RMbKYt7z3+/L4pXdczBJp
MjqWAX5LPqsLVzAyH2bMOe86O7IM1xmwcrNtgHdFv5nnGI2AqQz0CDpih0fsXH80rhz0x6w/ZTPU
ROnI/UoJD0HCFYxGD+pYc2bT0kdVcgaDlq11uBmiNXGqx5Nash0qyfpLddD+YK+lvHtbnQ+lYd2t
XRyuBGtMnrKH/AgGkf0lzNnIbAg0092+G2e+9nO0jcxi4qp6HTvx8ljku25yq3KqBL30VWSgDNNs
355SnlvKVddXhcoXZY1A0ssi65IzGD7BgEKBYeM6yP5XhjZzRSAQvyaioorX4aFXI5kAcenKo1K3
WI7QCMotBX1L55Xt4+3NdwaW8gEgPkswItrDbqyu37lCkkOpBO8qsnPq1KoaobHqVU5uxscbL05W
IL8mfI/znn4XDvjs6FVtPu6N9/AjSXUC8gIlg1QGwLv8qMv5Tb9MTsFGzDk5YLguNe6VwNDSboYq
Y9MsV6/XXIAnj+tG2XmrNf2OyyzKYgK1oYwo0imMC7/9hAkQl0wblrZtwkgtf0YRtJ/osFS/YP/U
jfvSOQCgQrMBG7WvbBsAFCVEPYhmAsSGpwqeXbd1neA3PoRsj0qS/jKwXLVU9/Uuy60HGRyAqIgs
mV637LdPOv3kUrFEBb5HmLPxyWwoo2agAlWMhIcxL0t4AC/poq3QWJ5WJljcUV0G1/zj2H++Sp69
p1/VNlLnF2eXNAIQ9jJXZF31Sd4LdzHHYTFHX6KQAoFA/LKI+4UHrzy3sAE6G6hSoFTGeLgxRVbR
92mCb4tflHTSkAGyqIIYefICBQ3p+1cdsAhbb9vx9e7J55Iln4z4GhmUdkOt9zrNHN9TXx1nldUp
yEKRogwOIGM0yBDKbkaTHxAtAl5FbmE9dNVTogDIdBnWBasIC3st5unnraYhN/JB2WKrYYa0kJI6
SQqgdRnaGcpCHxa8V8jOfxpRZv/XYEPapWKJCvyMls5GOj1TG7vR7eGNnUdzx6f/99+tC8E37mbX
idjLm8/Ky2EqddFT0dSYb4qDzMTROndruihXMQpZAgDCXhajLl7Fo3Nej76y6QgEAvFzI/53o7xG
HuAUDAPAMByDylCbxWdSPx6yLWisfivpM5rIAqntB4/sSRHwwGjunz2Pur/4NmdLkcmQ6Wh12W91
56c+a+0fp1djuiPWBK3Tev8LvgAwHCd+nd8slvSFv4DHBwzHMACMIkMBfiO3tW0U8PmAy1LIlxW8
F8QHwDAxfknCp9m/rqwv+Ohs7yGwITvzkovpfRPLaVOsZiwLsXVM8Fk9wzOO9NwXdt7LIv6Qrr1H
GZtmnfWizl4wpkeULuRdKSLvZYnqQiAQiF8NSRaWNWQ/zRFomA2gFmdm52a8//Mqp5wtxjgoYNdz
gKau9MnaTvICMSVTu0s7+iftnjtoa5z+kgP7f1fDRRQoGn4juxFAQUW+RVFkMuQ7DTXFC065+wZF
pySlJUe/LGqOeBpyonNAa4hlZ8KtFAQc1jsAZU0F8TSy3yQVgfZvQ9u1bqcQbk1xFdC6GKuLzCaj
N2CUNjCeF4gRBQrvr5yYXNAaOLbD++WlcobDR2tDely+GLNIEvYXiQ05FenXz+y3mjp+oHtuf7uN
tobkBuBXZmXWaA+zW9I93T/4ZEBOT5u//tCpTsxm8sl6WYy6KJqjbBx3LRqkI7W9PRAIBOKnQ5I9
rviFtw8ftz/t6O+r/m9gaHpFI027q37Ndf/IN6JfAjQWvsxusDff4TjNPaqcqtNR+cWVgGw2SYGY
8m+uR//u8HBjf39GEWxbOfrq2f0bbk3cfKuCT1Kg6DYwX72sgEWLFltXxzLVdKmJ14JzOSQy2HkJ
WTDcZtW8JP+E/AZMs4+OfHNJBbeP+a446eJ3hOoZFFnA1hjYDuCTlxf82pzYInC0W25XGV6qoi+X
eCUwh+TtBvfVDb+HDjt2Hd/E+zcij2owaq4JQJHIFvHK4y8lCfY7b9/O9A8v5moP0AZobPmD/ktX
OSrEZHMNZ612NKl9MC9MnHc2ws1bcPvo6RUnt5zaxfUMTaN0W7DGvmvx5cl3xDlJVNL+EmpDJbOt
m8yrY+Lo+dVsed3hZu2Al1/SIGJNa0Pec4bMNEuDx39FlryhBiVs32OOx+98wwEg6WUQWZdCn2Xn
t87ShulqSZYOiWhpBQKB+DWRaOdMATPxn1lL8tevXL7czVoRgFebHeUXcVGcqEJQGemxPGD33gWu
IYuBW5l22iU0MJvNJyqQpzjIcedypXt/bb9fxAOA0qtuB2zvbz+8OuTR9kSmgLhAkUIaUvZsvthz
p9VxbyteVfoZl7uXczmEMrjAeRVg5aB60MnmzIXVcgACNvNt2pNsFg8ABLXx62avLNrquMzV04kC
wK159fxOFquFBHam50bfvvsWeh6byq/OOO1yJ4gsqgBu0S0ba+VDO5a4H5mBc8vTXuMAAp5A1EwQ
t8DXwVlvj8vf7l5rAIBTk5twl1H/UQZf0cxp32wdCreIfnWFg+eNcnG+KCEwb028yxynCjentQcP
K0NdVqTv7O2nyD8AIS9QdD5hNsTk5HGtIWv3WWvLAgCnNDPWc9W+4GIR7eLXZEUVgHHM+fAqAR+L
OnyXaW4Sm8IUAJD1MkVUXeyC6HsFM6yw6PtvvtWCGAQCgWjzoJPQ2zqUzraByRuq5g9Zdr1awuUk
1A7zo8NdKleOmngP7SKFQCAQiG+HdE/5QEgFhR6280yZ2XnFLEyj6++rnbvWPdoQ821WqCIQCAQC
IT1QVNH2oKp1GTl9xYzuarIAfGbB0/92T9r/QJw1CwgEAoFA/FDQGxAEAoFAIBDSAR1ZgEAgEAgE
QjqgqAKBQCAQCIR0QFEFAoFAIBAI6YCiCgQCgUAgENIBRRUIBAKBQCCkA4oqEAgEAoFASAcUVSAQ
CAQCgZAOKKpAIBAIBAIhHagAgNOUFOUoGAAIeOy6OnaLXRxREkpq40kIBAKBaDtg/RRMf/N5cnqe
KgAAVP83bpRrdENzKg0loaS2nYRAIBCINgTWT6GbUjeznu3lMADgs0vo9Ne1H453xlESSmrbSQgE
AoFoQ6BzQBAIBAKBQEgHtFoTgUAgEAiEdEBRBQKBQCAQCOmAogoEAoFAIBDSAUUVCAQCgUAgpAOK
KhAIBAKBQEgHFFUgEAgEAoGQDiiqQCAQCAQCIR1QVIFAIBAIBEI6oKjiW4Ir97LbuNG5t/yPFoKQ
MnJGk1232VtoSX79SMU3vl4GCT+195KI/6nbhUC0ed7fjpQmn0+suzBa5QcqwVRG77hRnRy4rZfc
l2mKHcwmW5hqUX6Arq8BV+tnt2TuBH2ZHy3kK6BqT3D2SoiPZzHotfSw6GPWPb/snx9b1/dU2Iyc
8fR11hY9Fb4iqpCGb3y9DBJ+au8lEf9TtwuBaPO0nbkKnGbYrb2MfMee2rJfpMma2HoEu1kaSeU+
QFEd+Nfm2/cf1TLorIyIZ97LLLS/iFYwBdPFJ0sY9CTHLp+MUJh8tz/3MRjhx/vTWv5fpR4zjgXd
rWTQWRnhsUdtR2q0xqxEdbUyl+IAtwIGnfXpn7xdfRVIm0yWCwAA15noFriif+mlHdPmLZnqfND7
QUoZt1kDrtjdwvbY6UtZLxMqr8wxpIhTIAkEdYnoL1KFQhHHASRAmDUAMIVOE/adu1HCoLMYsZlB
25b0VBTHOXDVfqu9gguy6KysyPgjC4epiZOJsC7STpFEIXkvy3VfmfJJ0tnZ6thXFChKofCrEoFA
/BCoP1rAB3glAXYzUo0aM1KZ37QeWcNp+50HvA08PP95mVy3CVs22IcoFvSyvfX24+nast0XeN51
6f5pPqpWn4lOjiudf9cFqG6ZgGuan7i4bVLu+eULHhSoDnJ2cwz14fa38mc0iiVHWF2S5GpIPzV1
7lW593dvXPv3NeeX696PLGCTNpkkFwAAyLTv11muImyHd2jsp8eEYrQuSw8c32dWEHQxZMPZ3Lyi
/BK+CBmiEF6XbCfy/iJUSGg70Q7QaoisgSn19wjYZ1V4fuX8MAal61/rtxw5L5c3dsuDGgFZcRT9
Rf+e3GOa6vWP01P4zWmb062jTLNFV/NIFZLURdIpkikk72UKTVUB8g8u3RhUwgUA4Nfn15K2l7RA
UoWEVyUCgfhBkEcVsrrjbB02zP19SAclDPh1hc88lzl6ZHAAQFZv1Ibtq5eN7awmqEl7GLTVzTes
qBFArs9Kr0t/D+6owClIeBhR3/vPke3ZycHLlx24VUolThLoz/Fn7O7ZVOeTlaMm3vsYWCgOcMsM
/EMdAMDqUbIVAAA0XF84bn40S0TTCMRzXvlbDL/AbeQDADxJeNtlxP2Jw7rI3Xpb35QN1xix7qqL
6vGl2zsdOTzwQ2lyXVa5O1lkBdk46bofHtOiGkxz6Lxpyq93rDsa9IoLkJLKMcn0WWDXI3h98vuR
1GzVqcyDPQzkGt8m3ty1zfN8Zn3zLZagLsD1LPeE7bIwVqYAcN6+uOPhuv90KotPmovPKkhMLGj6
O0V7nP+CXqUBdmsfVvAAeMRNJsnVwvIzHybNBACAV1vHzzn4iguY4uC1h920LppbnE+q/2TAICmQ
pF0kdZH0F5lCiR2A0Ocxpa5T9+xcYd2/nSy3PCWHBlDU7AKE1pDvPGaidmWgg3dQ4juA9Ay3PrOD
h5m3l3lQwyHxDfnuc9cPFtxzWrcltIIPT56zjdMOLbXrdmtLOpkMkrpIOoUmkULSXgZcUUOJV5bw
Ij2lBj6Dqtl/xT9Ojpa99WR45RnhR3btPRxXxSMtkEwh4VUJJOJFJiEQiK+AJKqg6Mw9FHRmPP/J
BZ9lsblFDTLa+ko5RVwAwFQH7Q/2Wsq7t9X5UBrW3drF4UqwxuQpeyJrqDp9zToW+fy5OXvKYffF
dWfn2uTPPLT9qMOd8G05xElJpXdczBJpMjqWAX5LPlNRn+I1emKgmYO334jYRYtOJbMBgFdTKOqx
lFg8gIDb+GFYVzDQV4DCjCJOsz10JngfHPty81/76O29WxbIznS1HLddIKCZrtv3SU2YvIoiDnXF
dU2DvoCZFZcNYwd2UcKaowqsIfnfzSeyuB1nr3Y6flG5asLGG+V8srqAX5Vya+f6a4Vl9bhGL5tN
Gw77sJPG7o1rIFX4UZHSMMcN0/h3Z3slNj9wkjWZKJcQy/PZJQVcAMA1R2z+ywB788flp6va09hv
ku4f3HnAN7mOT1ogSbtI6iIRT5ZLMgcgzkXRGnMi0HVaZegWp7s5MkYW85b3bm4oiTU45TlvBBpj
JvVSe5FQzZfrNKSPJjM16u3HWSxhvgHtzAZ1gAzXRCX7C9dd5c+McbqbDDtG99WgpBcDsQyRdQnt
FIkU8kkKBMBomto0To18Oy3V+oqaxo+DNabYd2eg7zLO9c2OhxKYWuZLN7qdPVAz/m/fAh5JgWQK
Ca9K0eJFtAuBQEgIcVShaGbvMV4p1m3aVP+CTwcg3MBy1VLd17sstx5kcACiIrJket2y3z7p9JNL
TAAQVGXFJ8TwUti26pkxsVGs5+tn9+ighOUQJyWVMouymEBtKPsyWBC8q8jOqVOraoTGqlc5uRnv
xGoWsfiWyHadvf3w8DLv+ddymoYbiu5fe/8Z8Gjz4NslXLn2nysRCH2Y4Ze9iMuDhU6Lh0Qejing
Khh00lMCYMpTP7z6TfQ9euQeEwAeplH63nNcP/Hw7QtvuaR1vcuPupzf9NfkFGzEnJMDhutS415x
yRU2QW1vuXOOZtJ+7/tVX94lv2gycS4Syyt0GztIlhl796zXw+xK2U4z17ke8lcps3C51uK+LFQG
UbvE6+XPxZPkkswBiHNRDC3tZqgyNs1y9XrNBXjyuG6UnbeaSGvw3t6y3zYkdKdv2uDIW3n6035v
PGi36271R0cS5hvlGgZqwEoq5ij266CkJGegwk5/2wD9DFRkoEyPWIbIuoR2ikQK33KJCwSgqqq9
e8sZcOr2fQrwCuJDtm3xCn71TgC4vqXzyvbx9uY7A0v5ABCfJRgR7WE3VtfvXCFJgeQKCa5KMvHi
tAuBQEgK4bosqv5v/bQgzS/s7Rc3ZVqXoZ2h7NnD5hsvO/9pRBmYDDZsuVaKzxcAhmMg4HP5gOMY
JlaSlCAR3wym2Nf28KNdPcM3LNsczxQAAODtxrrs7Zu43uNpqx5a3qX7WO97pLTk38yURFZGVJqv
rTE0lhazvnwJ3lj0/HEZdB1gIC+iLkq7oYtOB918k5xQl/r4xd4hsiCrKIOLp1DWxMpmICfK49qb
z9d1CGmyGLmEgCvq6CrBm+uBd8KTMl88D9u5+Uy24u92A1Va9KTQAonaJQZk4r9EMgcgySVvNMgQ
yujRxV+OO6TWoNDad2yvVPLU58qLcj6PR+s5Z+4IQ2GLjlv4RjMNaVv+mGQyYV9MvTgyxKlLWKd8
jULhvdyYfd6++4BhKj2Gm1jtfqg190zgP+aqGIC88XBjiuwg36cJTYsx6+I9zKmg3UlDhrxAsRWS
IEy86CQEAtF6iOcqBHwBgIBwfdinscCXgYGAz+PyhQ99REnNQ4UUogwR4nHlIQ7/hq7SvOy4YNWd
4vdDCKY62nasugqcj044/+GXqy6XjtrVe+6VNyQL5QSshNNOPc4p6+uryTQwFWb4PF/XeJch7B0N
BljT0xVpXcUGVpf9Vnd+6rPW/nF6NaY7Yk3QOi1xFcp3XTijPTN8z8OKTy0stMkfIMpF0GAuhwug
oqtEAeADQGP561LANdspUaCaS1ygTEeCdomEXLxQiRI4AGkuAV8AGI4L8U0ya8gPXHN+Ke2w5Rp3
BgfO+e8P2hh/bov7rSdW4bWfF/PBN4BbWVANijq6Cji3vDgfANdup0+DqoLaRjIZoERc1/srS1in
kOQiVtgMudvw6vMTrq37p/6YHtQAACAASURBVJdl0MSFPd3DYzAMx6Ay1GbxmdSPa3cFjdVv35EW
KLpd4vCleHGSEAhEqyGMKrjFL5IrwNJmrF7IpcJPn18bcmJyYdLAsR1k47M4ACBnOHy0NqTH5bcY
SFkRq0aoAQB8+UUhYZKAw3oHoKypQIHaT+/sAnY9B2jqSuJ+AEgiHgAo7afsvLZK+/JKm5X3WnyE
KKi54zKjP6350ZnWa+cFt77Xnf88lVAkztcBXObb/Dpal9nBDsbMey7XhOWR7zhijLYgLeZNA2ld
tE5DTfGCQ+6+QZkcAMhVLnoHWmIqlO88bkq7d5HXkj8dEwiaDOS5iBCwXqcUwHwLM02P7GIegHwH
U0NoSHxV/aFkoQXKE7VLBCLEC0MiByD3+egcmDTEsrNcXOpnn7OQWIOiYdxNo7EwpbQpbuFXpcak
82YbtleiwOeW/ugbwC99Ef8G5s4ZqBZ8p5IPuNbACaZQ5P2ykgdcYhlkdTW1UVinSKaw+f+I4TbY
xwioIftpjmCS2QBq8dVU4UsjW6tQ/BcWLcVjxEkIBOKrIZ6rqHvhs/3JuGM7L9zscfb805wSNlVV
R4+acDU4l1Nw++jpFSe3nNrF9QxNo3RbsMa+a/HlyXdKeEJiiFbAr82JLQJHu+V2leGlKvpyiVcC
c5puJY2FL7Mb7M13OE5zjyqn6nRUfnElIJvsW0US8UDrvf6f37Fwt7P5aj16NL2TFrDevnpVy2MW
vs74UARNrboR3lW8YRQyuQAAmLx2xy6aMjQjDTmQ0exo3JtVV5WXV9jAB0y+fbeuXQw6DRgx0W7+
0PaZ/tO3RpS2eHjTHzhqXF0lzXCwndNC47chq8JKeCAgqYudl5AFw21WzUvyT8hvwDT76DTPzfJJ
FQIARWfAkA7A2J326QcyxE0my0XMu6yr3ikLdm/ZsaHmeFi1obXrPIPCSwuf1zWnCy+QuF2kiBAv
HMkcgNTnj/muOOnid4TqGRRZwNYY2A6AI9IapQnROTK2B1zncc/GvxHojLZ1GUvJ83hWzm2+8oT5
BvAyg/fHWR3Z6+FKOx8D/VZvG4bF7fLJ4gAAsQweSV3EnUKWi0QhSS+DQs9VK4YyUzLyagWqhgMW
Ov6pXXHjXFoDgKDw9uHj9qcd/X3V/w0MTa9opGl31a+57h/5hiuhQrKrkli8qHYhEIivgeQbEG6h
34q5JUtWrptt7zNfAQBYxckXtt69nMvh18S7zHGqcHNae/CwMtRlRfrO3n4qkvwTfHFgZ3pu9O27
b6Hnsan86ozTLneCcjh8AABBZaTH8oDdexe4hiwGbmXaaZfQwGw22WQ9sXhKuz7DtEB5zLaHLb5E
e75xnPkV8tUUsiZ2J6JsdZr+McX9/BRghViPXxRbD3LGa3zPL9OsyUl9fmPH30dCnhU2T6nz6/Me
Py+wWrDr+iIAXsXLe/9O2+33WNTELedVgJWD6kEnmzMXVssBCNjMt2lPsoWs0/gSOcM++lB5n8H8
pCkyIposPBcZja+P/b2CtsNl5TG/zRjnTexFa/ujsR9f/wsvULJ2iRJPgGQOQOLztfHrZq8s2uq4
zNXTiQLArXn1/E5W09e+xNZ4l35iuiPlkPOKq1fWAfCrcmO9Vu3dl8EBct/gFvo5LFN227Te3Wst
MNPCvP7Yeq1pswoBsQySukg6RUKFxAVSFNR0TCY5L3TQkQdgl798fHq+u09EjQAABMzEf2YtyV+/
cvlyN2tFAF5tdpRfxMUPUUWrFZJclSTiJbsqEQiEeGD9FIwBQGny+cdB+Br9BZHizYEjEAgEAoFA
fEbb2bEbgUAgEAjEzw2KKhAIBAKBQEiH929AEAgEAoFAIL4SNFeBQCAQCARCOqCoAoFAIBAIhHT4
jlEFrmK6bMtmF1Oa6J8i2gDfur/kjCa7brO30EKB7f8VyG0QiF+b99em0uTziXUXRqtIp1BMsYPZ
ZAtTrU+3wsRV+yxeOMtCj/zwdcRXgKmM3nGjOjlwWy+5L9OEdgoJ37q/5Iynr7O26KnQPDyQiW9L
KJjuDo2rurtumJL0D7D5tlC1Jzh7JcTHsxj0WnpY9DHrnk2WRm7zTZGqeUUViED8cERF/BTd6fcz
6SxG8Goj8W8Tsia2HsFulkatPAHouyHbeekLBp314U+S5xjFH61JTCj6y2+2UM6gsxgJoWOU3qfi
NMNu7WXkO/bUlv0iZ1vvFFLxbQhMvl0vI1lZQ2MD2s8VVeA6E90CV/QvvbRj2rwlU50Pej9Ieb9d
OXIbMcEUTGZsDIuMZTHoFY98PCaLdyCZ1M37k1wpiF8VEaECtdPkeQMrYh5Thy6d0enEIQbZLtk/
D40FV2ZNeSSPAYBMl3kHL07/0YJaS+oBi43xzPf/4DPfNO9qySsJsJuRatSYkcokytp2+UnECyoj
FkyY3x3Po5e15mTbH49M+36d5SrCdniHxn524sVPYnnhfD/xFMMZ7hHuPR4d2Gj+qESh37x/958Q
FM7Z8KJeRD6pK/yp+wvx/w/5XIVsp3nzOjHOHlzv97rTzBm9myNzuR4OqYwovyHvT/1QsfBhMUIc
DakAoDjArYAR+8haC7StHiU3PUxHBwz7OBUwYvfNCgadxYhOOec8Vf9jiC6rN2rriSuFDDorK/KZ
9/KJeh+ScPX+8w55n3sZE1Xd9HSecNapy8eMFG3zkxHPayN3TdMW91WrgFOVnclIyWCkZDAySz+J
lKia/R0P+Gen0VmM53k3PdYOVm+emySTQZBLrs/KE2kv6SxGXOalPSfO3ChlJLy5umFKOwoArjPV
t5YR5m7aPIepPPxSEj1rk4lYTz91hakZ7/WnZOTksfgAuP6cABaDXkv/7/G121fGKbf8OVmnyJns
ffzp5MenMzcE/YXrWe57mficxaCzGHGMEFe7XorN1icxFKbUddqRS3erGHRW+v37TiYfSiMRj2sO
dz8XkpkQx2LQWYyoZL8109t/fEST1R25+Xjwm0w6i0Fnvgh75rdmnAYuqivFBZNrN2S6tU33pj7B
tP7wa5ocKokIePzw8c0PU0Rt3m2aHODJwnagOfNhUlNHX13TiYrcphVuo9R/6z8jKnydFp+MjM9I
jwzy3JbQbqGtqVJziePsdz0If1LX5CGRJ9b3kJXcvITWICmQYjDtcBEj4uyEptcpuM4E9wJG2JFh
qqJvi8LFAxDelklcFGTaj11lNbSLAlr48stCOlch38XSSo9x5M6rDOr19NXz/+rmlZAkYraiPsVr
9MRAMwdvvxGxixadSmYDAK+m8OPDUcHDE5vC8hs0fnPYsuTi0eI+cwNzuYCpDtof7LWUd2+r86E0
rLu1i8OVYI3JU/ZE1ggAKDpD5/5tAef27N7EKK/lyahpUDPefjxRUs5g+AQDCgWGjesg+1/ZOyGa
xAZT7Lsz0HcZ5/pmx0MJTC3zpRvdzh6oGf+3bwGPRAZxLqpOX7OORT5/bs6ecth9cd3ZuTb5Mw9t
P+pwJ3xbUnl8aCJsmzBSf2vyKw4ArfPIgbS6xxH5kjaAX3rHxSyRJqNjGeC35LM0sk7h5Hgu+POc
LAaAq/T7+/LecXXXLr9o8SwrtL8A+FUpt3auv1ZYVo9r9LLZtOGwDztp7N64BiAxFEVrzIlA12mV
oVuc7ubIGFnMW95bDPG4gpH5MGPOedfZkWW4zoCVm20DvCv6zTzHaARMZaBH0BE7PGLn+qNx5aA/
Zv0pm6EmSkfuV/JJu1IkuGKHAX9Zz1/5P/bOM6yJpQvAZ1PovUhRETt2ufb6iRWxXwvYUFTEQlXs
otjFjg0VVMRCsV9FsSMgTSHShVAEgzSpISApm+9HUPGabEKIgt55n/xQNjNz2pw9O7vZsRrZhZoX
tOmpf3oBB/jlzzeaTlQiAVAMply7YP312y0/bIQEAF5XxOACAAobCcNGpfffUzRyDgSl16r3dnTf
6DS2m74CQFp7bXJMNehZHg28MB4Pv+K9Ijq7oJaqa6iSVcCVflaKtoboDnmMe9sX9A/85/D+2IxV
3p/Hn/YYV+qzeHNUpZglNbIo4QnSMkGIJskZmVpumL9/R1H4df+TfrdDMhqxtSzij4CoqpAzmWZu
kH7xYQGPg70MzHFaMa2zW2Iy8X7B/M+lmVnVGuUc4JTnZGW/+yHbvX8efCuUCRCTpjoyZavFcK3A
7GJoY+GwTP/9bgu3I3Q2QMSLDGqP+3bbJ54PDyisPwnUZt4Ievhc2J6aNYlei3Yzx2FRJxKaVFIA
kAwtXFa3jrUz2+VfjANAbAZ/eOQB2zH6vpfyuSLFIGhVAQD88ozYuChecp2NZnpUdATrzfrZJm1V
sMSakugrieA5aYTRuZxMLrXt0EH67ITbaeJWUwUMOlpA//Lvd0d6z7icxQUusyCDCZTakh8dROQU
PvtTXs4nALKO2TnXccqvD47bG1XWIA8J8xcOAJ/zIm7kCb6SlIwNn3O2/zB9SkzOlwQixFBkIwvb
Ger0zbPcPd9zAcLDqkfaegm2DCUSXkB+zPMH4UyAmCTFoanbJozQuUwvgNbm9ssMGQenbtyfxgYA
NUVrsNYQ55R8ohxHVjEZOWOlzVybIQYVSY/Ouy+98ID24XP9vlM8VmFGJgAApe5TAxP+BmFDEAAo
bCQLm+I2f3VTrXwbU6Ix8+iZfd1D7ZfsB3vvk7pyFAyU+9odGK8SvXPa1MsM9vcCSGlekdYgVBmv
fL7XZW/fK4e8d/SoMBv3wWvY8cRqcZumKZuKEp4kOi0zQXSIFkcdGj7gfJ8x0+2sra4FO5cnPjhz
8dr5RynFHOECIP44CKoK+Q5zzLWTvcPzeQCQf/9+nvuc8SYHkmmyebaC9yk7vxY6tFEnQ7FcxyEd
oCT42Zeorst79aLEbu4gI8WAwmribgCAV/rykudLGYik0GlYJ7Kcss+rOJ8Gfy1qr0UFglMRQauK
r//FcT5gJAz4OBcHEgnDAHhFwVfjj3hMmdTmmucHrSFj2nHjz0ZLuHFig+cq8NriD02/FqC0WXRo
rxUEWzoGpAv3b0N/4QDkVkMW7nOeOb67oSaJVVKtJAcFylTiNU8F44FGUHIvsrAp4vJKs/NroLOB
ChmA2nFoR6w0JOQ9+4evSedKqsnKy3FOxp/Cz8yzuPaQzpRsa+zfJ2xkzn8obMp1O2hBGaNMpf+2
kYpvth7ze109vJwDugBAMfyrrw6kbg35+GOPvxh+bdpBh0NjQ9bbtHu/Z9KlJOJLQABC4RVFp+WU
r18SEqJ8AG55wqOLqx75rmszYJHL1oNHrzj8Y9tl7RvxyRzxJyC6qpBvN3pKa2oH9weV7l//ZjbZ
+CQtnQ18HAeSHLlpz8DzODwgkbEvnWDf9farHq/HSGTBPAAADCNhUBZsveRCyrcUyedUfCRcAyFo
9c24fJzHxf+1EokXhV57XHvIZrLR2WsdZ3fnx7rFl0r4/F91fso7utDdZb+cXhplP7kui/YeHVZ6
er5HMMHu4g38RW1ndcPXqcMr77V2YWkVmP7wNYHrdMQOw8f5gJFIokWTSHg+DweMhGEAGJlKBpzD
FXJKlc6VvMLwwEvDly4aseKEalvvy4EXQpIL2WJP2L9P2IgGhY2gBwKnKKrIAeczrqKnQ6pJzWc1
rDj5OB+AT1CDSmVeIkR3SGk9aER3Mp8HxpZ/dz/h8ZYpLn7FCC8uLQsLUQAAIKt1HzXNztpy0dDW
Ve+enLiX28SVZMTvg8iqgmo0epxxQdAcu8AswcqVQtfNvntnjDLcn/6eW1lYDoodO2lSXrGEXUHw
62rYoKipIunTcbVZUdkwccCYtnKxGWwAkDcaNkoX0mLyxJfaAEDWHjl//nhS9InLsUWSXV02QL51
Zy1gllTyAKA281UWf6Jpf0rhrZQaia/+CFp9NS7rhcNwDQAApYaH8bKoo3dLH8+1NMvVHwg0p7BP
jRb/B/hs1mcAVW0lMlR935tIpyh0XnBxfa9sr/nusWJT0Jcm7Yf0IjGOevgEprMBIFu14DOIPT3U
ZkVmwcTBFh3kY1KEX9iKFl4odR8SC2D8X0NaUd7k/SsMpXMlXpEQsMoqaEOHodbW81d5+G3Z8/5R
UOBpv7vPcmtFd9LCwkaq6YDCRjCWaKeQ61gcUFCVq82rBAUtFQrA1wV9buHbpFKwsB5jcD0gX+gy
vxTmJUZEh5hKL9uAHf0S91g6fF4bvuvQwehZq0Irvp3zhcQGgfCSpGUhISqn22fOgrkr5k0w1SiL
vROwbMbNu8ll6O7HfwlRVQVZd8xE4xra/pdp2fXLVljZnRTezImDDH3e536KDUjkH3TZvp15+Xkh
V7e/boM5BgCc/ITMWjuzHY7TPCI+UfTaqb69eTWT4MYJznhw4vyqs1vP7eYeDk4ld1mwxq5z4Y1J
DyXKikq9V/i5zdKF6RqJFvbx4gtiiuEkL7deCXefvy7itx5k6TFB+eOVkPTPAIDnPzh22u6842Uf
zVP+wWmlHEXdzoaVdy6HEt5ikK6VgJrXF6+mWjn67ABS7MZnTb/kBMCrsqILwNF2pW3Z82I1Q/n4
m/5ZggVMEU6htLHZs7ovK3T1S257k84AAHgtI5tRQSh8XW5cBgyzdpiXeDkurxbT7q0nwU9XcMaD
kz6rzrr6HqccDgxl1GkNaAXw3bKraOGFws35x/eZ/Y7dpzfzTr3IpbQZadkNoEDQUxOcgjOzI065
R5z2MBwxzcp+0ZJ19NAXubWiQ7FlhU1jp0O9NChsAAidwvmYXgJjuxjW3ruZDLtsLEzC/8G+3Lqp
fuu9PXzcyV1X7plc9HuVVVRHUdczoMTdCspmS2lesUYR1iGm+pf7ieVtn23sd5leANtWj7p18eCG
++Zb7n+JEKGxQSC86LSsJFo0TLH73C1TtJ6ccV52Pfxd1e/162uETBBRVZC0TP82gbTL2d8eA+NX
J4bnwroJw7Su55YwfOxdDPa6LvfwXAMA7MrsuEf0mq8BxC8LPbDy6p59C9yvLwFuWep512B/wqnC
r4x1neNcutN57ZFjqlCdEeoze/u50EqJLoHqGJGPGTOssMgnHyS6rYnxq/PwPi6HLfXlAKo/PL+4
ac3RREHlxGfGb5q1NG/96pUrdy5UBuBVZUb4vrgmJtFL10oA+/1t95ClQeb8GxciZfP6g7r0wxt9
+uxfdPjkVLzi3XnXh4FZbBxAlFMwnYHzTEkAo04FjPrSRZrTyAU+BUTSsHOuWtmrH3G2vnDFSR6A
X8f8mBqeyRJTBPKrYtfNXl3g5rjC/bAzGYBbmfPmYQarwUDChCfokFtw33qh6tEdSz2OzyBxP6W+
JwHweXw+NM0p9dLWfgwLOBIWcJSE8YXa4mt0tqiwaex0+NIMhQ1x2HAYUdGFayf+3aXMZZ3HiIub
4hLXA0BNNJPNB+Dl+66yLFq6et1sO+/5SgDAKky64vboRjYbl8q84jPBjx1mUwc47lqp8nju9icF
PAAovrXzkM2T7cecrr/cHi9YTRIeG1zRwkuTlvmVYZu7j8ab6UkfREugfid0lUl+YYGkNYYLQoXe
rUf8NKhdVwbEWkaMMj9KQzcemwS5g41/0oby+YNX3Kn4uTlNvsuqN8ELEheNmx8p7FdJvwIUNrJC
4rCR67jx7o2NVR79FgRk8eS09XSV2GUfSwkWsRCI/yZoU47mgaRq3N1EFdPsM+eQk9YdB79EdG6Q
AiUTm3m9mJm5hSxMq/P/nFw6V7/cECXpXf5GQjGYtWau8fvktHKlQQvndmAn7KJL9NiPTEFhIwuk
Cxt29smN3n8HbXh4lGK7//arglJMW56C1fLQVTkC8R2oqmgeFHovO/jYUh8vTwtwX+7ytBRd8UgB
RaPjiOmrZnTVkAPAmYxXd/dMPPi08U/sSgZVo137IasXLmylANX5sccctt9qhjd2o7CRAdKGDb86
4cx4y6oTBxwevFgLAFB+Z+z/dkT9+toSgWjR1N8BQSAQCIQkkFR0DfSVeGWFxWUSPAKBQPzHQFUF
AoFAIBAI2YC2gEEgEAgEAiEbUFWBQCAQCARCNtRXFSqT/OKrr4xSk02nmHJb00lje+k0dudpBAKB
QCAQvzEi1ypIOmP3JibEseg0Fj2K/o/n/pnd1CRd2JDrZnMgaKeFMVVGQsoSlUl+8Sw67V+fKt+R
MqqovgPTsXhGp6Wt76oAACDXw/kei35tqcHPWSCSaz3d5VDEqxgWncZKfRp5fMlIre8HwhS6/L2f
Tn9+up9iI7oV0Yqk3tfJM4iRQWNlhMYeXzRUQyKl5LuuTv7O8hdna2JN6VDGEpLVB8zd8uDJyyo6
jfXuxWuvFWN1v5XGYjokMK90lheBeL0wpV5LzhbRaYmOHeUlaCW95REIBOLfiE4gclrtOirl7Fm2
eMLSHSfeqi/afy1s04DfP+HUvNw0e9CUOYOm2u3MAKCfnjR1zqApcwZtifsZ++nJ6bRvBWBkMbGr
PIBcu1lT2gBoddX9OdUWj0dRrnxyyu1vG0ebI5Hy4x1u7hulXX/Kpuj0nrzb+zbNY4JhI7Y4Et2K
bLj41Nm9o6r9NjnP2XS38n/O909MbyfB0hRZUV0J8o4smzdoypxBU+YMmrT1kWC/TSk7lLGEckbT
Drr0r3hwbP4Sh0UHI6hj7K4fnmhIFtshgXmls7xoxOsl13XB4UeuXSVtJa0rEQgEQhhiqgQmPTEx
Iizk+LblI/cmd1js5tRFTtDMwGJ/QvwbFp3GosfQr7vb9lAW9KTcfyeDHv1yoQ7oWr1MElyPRl4d
qizojqLdz/HQ5cxUGov+JvfegbWDNBumL7Ku2dkXb6pCd0/T/XnFC16dn5X8jp6cnpVXA1BTmJZO
T35HT8tn4QDyJvYp9AjfwfVvuVcb682iX3c0okgivFCoWsaqjLAohTGWHeXkO0yYoRT/MF+5i5ag
qhBlQ5LeVJ8qeohHry/XmarDAhJpGZu7idk0gVd4Y/euHdceP4oID/Lx2BzOVurSw1AwlHxHBw/n
saxb1s63CiQ3lehWCl0t1w/iP968buvNl8E3PRdsieQPXmZbHxsAol1JUtZS4ZXEvU1LfkdPfkdP
zsgXbI4kZYdNkFAo7JzLY4fNnHf09r3wiBvn9666USHXc6jgep+oQwLzSmd50YjTi6Q1fN0tV/XT
y7bfr5SolXSGQiAQCBFIevpmZ97xfcltO8vcSB4AAC9Pvr9r/eqxs6zHLz/6XGPaMW/HAYoAADXJ
nqPM5y2+XwkVjxZPn9lv4sx+E+e60moBAFPus8vfZ4dJ5hHHpaMXbPYq7L/z4iGbNt9OzfJthk1o
Qya3HjqubYtLamKFF9pIUVtXqfrt+ZeUKVO79Z40VuHlzVdVFC1dJRKAaBvin2KD40FvwghDgRUU
O4wYoFj96kWepO9RJCu3H2rpNICa/eRljuB9/3Xp7hbjBjt5P8j73Ig3AYpsRWplOrAtvAuMV7G7
El50Y5HO20dJYDCqj9ZXc4hwJaaoravIrlFopaNOxWTQYRMkFAGfy/nyBgKSUhtDJch/V8AW1yGB
eaWzvEjE6EXRm+B1ZEzCFpf9NCYuUSupDYVAIBBCkfjdmvyaj8nFMKizDhUy6wA+50XcyBMcSUrG
hs8523+YPiUmh8v/XJqZVa1RzgFOeU5W9rtvZ0KSoYXL6taxdma7/ItxAIjN4A+PPGA7Rt/3Ur5g
Q6WaRK9Fu5njsKgTCS3tRcTihRcGWcNAjcKtenM9jHxs1TZc7vGa5LJNJHU9FQoUs0XbkFcSfSUR
PCeNMDqXk8mlth06SJ+dcDutRuQ4DeTUm+ZDP2RKBqhLODPheNLX2zp8vjQnNRGtKFptNICVWMhW
7ttWRUW+jVpd2sda6NtGjQqFglcUinAlRV3j80d2/3MPnpCBx4i9vm2rZ1DOZ770HUovoTjkOs/e
fmxYidf821lc8R0SmFc6ywOQFFWU5ckYAPB5ddXVdTyxepH15+7b1P/llkEPirjyrSWzRlmTDYVA
IBANadQbu79dXpJbDVm4z3nm+O6GmiRWSbWSHBQoU4nXPRQ6DetEllP2eRXn0+CvRe21qPDlxMwr
fXnJ82VjJPpVSCC8EMhqesokHpuZ8s99uLKaEmSWWt2eS1LRUiIDENmQVxR8Nf6Ix5RJba55ftAa
MqYdN/5sdJUkJyf80zO3obMM23cfuWrNiqdXsP/NPfP2571RuDZ165SJp7HSPG4/h38dEu5KTqaf
XVc/ALKSUd8JG/e6XfBXKpng/vzrWn2jO2yChARgyn0WH3y4ucvzDYu3xH6/P4R0HUqBYt/joefn
qQMAQMXdcSPdIxv6UYgYpFZjXPf1iXcyf/VJ1PseCYT/ZXohEIg/HImrCkzJsKcuFGWWcgCo7axu
+Dp1eOW91i4srQLTH74mcJ2O2A4wEgZlwdZLLqR82xSdz6n42ILWJfg4DiQ58o9P1UknPFlZS5nE
YXM+p+1eMM8fYyTWYIY8TElDgSzGhnhR6LXHtYdsJhudvdZxdnd+rFt8qWSvBuZV5ycn5CcnvH6R
rZp6Zb5Tbz+bGEkWORoFt4xRAcp6+kok7qfCPACSbitDRShnVHEk7IBXkxd3e92mHhaB5ou6ezyP
+tzUDmUoIUl1sP2pYAftG44LHB4WftkxuskqN5a6jIN2dtfkMQDA64qS68SJgamPshmjqQZ+kXF+
XztxuFE8cndPy9uihf/leiEQiD8cSZ+roHaYsuh/FMatkNw6AIX2Q3qRGOc8fAIjkxNTkyITCr4/
ufLratigqKny3b3Z2sxXWXwt0/6UwvTM7Hf1n5ysT3XfrgXJ2iOtHXcvHqjXTDd1uZWF5aDYsZPm
D7WWBMILgaSqpUjisrl8vOp9Gi2HyQOcw8EU1RUxcTbEy6KO3i3tPNfSbNjkgUC7EPap0cvRPD4f
MPJPsSRe/Db2A5jMqf9JEElnwIReUPAioeybkBK4EiN9rd5k02HjJBQOufXkXbcddG+sXrz6W0nR
lA6lBa/OiIt9ERnzFPf2CAAAIABJREFUIjLmZdz7KlycGPzKh64z+k2cWf/5e9uDGsi/5jLM6XEB
j0D4X64XAoH4wxGzVqHauVfPQWydXqMs3Zb2yr1sdyydDQB1uXEZMMzaYV7i5bi8Wky7t973P0/g
5Cdk1tqZ7XCc5hHxiaLXTvXtzauZdfkPjp22O+942UfzlH9wWilHUbezYeWdy6EfvtxCUOq9ws9t
li5M10i0sI9vhiUM3qfYgET+QZft25mXnxdydfvrAgiu2XCxwguBJK+uROJWchqsMvC5HJyqoiyP
QZUYG9a8vng11crRZweQYjc+k2ClgqI73GWe0YeU94U1oGHUz9pxuk7JnYspgnVzTEG3XUdtqqKx
ljxQtdt16smqLs/Nza8l7lZkq8/pQQdjrI7vO+Cu6BcFfZ22DcVidntnfDsLC3elUneHVUOYye9y
q/jqRv0XOf6tW/rPpdRaAJCywyZIKBzFnus3/Q97vvNinoaJiQYAAPBZH3NyqniEHRKYVzrLi4RA
DGb++3ffFNGo4MDn0g/0fCYXgCu6lZSGQiAQCOGIrirYZXnZtRO2nPfbAnUF72ICNs/fdzO1AgcA
YOdctbJXP+JsfeGKkzwAv475MTU8k/X18oZfFnpg5dU9+xa4X18C3LLU867B/pl1ODN+06yleetX
r1y5c6EyAK8qM8L3xbVvJ+Y6RuRjxgwrLPLJh2ZKalyGj72LwV7X5R6eawCAXZkd94hegwMAX5zw
QsAUNBWAU8xruJ7B4/BASV2JBJ/E2BDY72+7hywNMuffuBApyZ7bJEWttv1nrbZrr0sFqC2ihXnP
9fAJrRQMLtfN9kyEjZ7gm5M9/CYD6/rC8YujiW+OiG7Fzfe1X6G6c/N6D8+1wEwN8Zzidju3weWt
UFeSlTT0uk10WWSvpwBQ9ykh7Px8D+8XAgml6rApEgqF2qr3UB1QHb3t2ehvf3yzcZzZzU84UYcE
5pXO8qKRSi+iVtJ1iEAgEMKp37NUZZJfWCBpjeGC0KrmlgjxBWrXlQGxlhGjzI/SWtCzJwgEAoFA
iKJRvwFB/ApIqsbdTVQxzT5zDjlp3XHwS0QlBQKBQCB+D1BV0eJQ6L3s4GNLfbw8LcB9ucvTUrQa
jUAgEIjfhPo7IAgEAoFAIBBN5LffLQyBQCAQCEQLAVUVCAQCgUAgZAOqKhAIBAKBQMiG+qpCZZJf
fPWVUWrNKwwCgUAgEIjfGLRWgUAgEAgEQjagqgKBQCAQCIRsQFUFAoFAIBAI2YCqCgQCgUAgELIB
VRUIBAKBQCBkA6oqEAgEAoFAyAZUVSAQCAQCgZANqKpAIBAIBAIhG1BVgUAgEAgEQjagqgKBQCAQ
CIRsQFUFAoFAIBAI2YCqCgQCgUAgELIBVRUIBAKBQCBkA9ZXqVNzy4BAIBAIBOJPAK1VIBAIBAKB
kA2oqkAgEAgEAiEbUFXx34ak2sN240aXngrNLQgC0VTkjSe5b7Mbq4OSGgLRjNRPQJVJfvHVV0ap
Na8wLReS4ZyrLDpN8AkZryrZod8AkkZf26WWEwypPx75rfUSD0V3gotnXGwsi06rooVEnlzYXb65
RWpZ/H4BIN9p+rqFY7sroaoCgWhG0ASUCLz40YYBU+YMW3YxsxGHfmv+VL0EkPTMd/qv6lccsGPa
vKVTXY54PU0u4Yr8NqZudjuFlu3eS/Hb36jdHO6y0ryma2AAAJh8h/Gr/P95WkGnsehRGTf3OfZR
+Tq3yPrTn6TTWPQgJ2PKT9RJxvzZASASknpfJ88gRgaNlREae3zRUA2UIhGIRvEbZblmhVvJSK0E
CvOvmsYc+q35U/UCAABq674d5EtDdngFR9eK/za/OuVWCowf0NeQkpQlKD5IGv1HGEGq3xsmH0Cu
8/zjkdsHFDz0Wu7xpoCq12ewKV7LxutbU9pPmjegNCqMMmTZjPZnjtLrfp5aMuWPDgARkA0Xnzq7
t1eK5ybnV/CX8zbn+yeYpotv5fKaWzAE4rehRRTi5DbTjhXQX1ycoEMGACDpTfBg0EOOD1UXSEfR
7ud46HJmKo1Ff5N778DaQZpkAAAgaQ/zuHQ9PS6GRaex6BFJvmumt5b7rl9ds7Mv3lSF7p6mK6Ge
JAOL/Qnxb1h0GoseQ7/ubttDuYkWkjMY6XbmZj6dxsoIfe210tyACgCgPCQgkRY+p1XDzjXNfSoT
Dpopi+lQKmuI0cvU4Vx6Mo1Fj6UHui3qqoRJoJcoMQiQN7FPoUf4DlYS/FdtrDeLft3RSFDYktR6
Wp69/rCETmPRaczEp9G7hmp+kUOKsUCU5QGU++9k0KPDF7UC7ZnPEgUr/LfWtCesr3mlEcEZ0GnU
QM16s2GqPWZ0h9QHsUU8ILcae2TTwNq7zqOdvYNe0cJDQ07u33c6g/1Fjvbz5rWnXzyy3vd9+5kz
JH2CRU5/nN3up8/Dq+k0Fj2uKPTMehM5Yr2IA4DAvKI6JEa2ThE7l0WAqXSedjzgUTmdxkp78sS5
mwRjyfdefSY1gcaix6QH7D1z4Z9ietyHWxsmtyIDgEJXy/WD+I83r9t682XwTc8FWyL5g5fZdpFE
EgQCIaBFVBU8xr3tCwLq5hzev7y9HMXA4rTHuFKf9ZujKnEATLnPLn+fHSaZRxyXjl6w2auw/86L
h2zakAGApGRsNrQT+87e2UtWW24KYvRZeNVrbucGKVG+zbAJbcjk1kPHtZUwL+Dlyfd3rV89dpb1
+OVHn2tMO+btOEBRfDNRYOoDDwZ5bjTJPOziMHPt5Yzuy28GrR+ljgG3PKucr2GoRgVMQbtNx1YK
GFA0DdWhLLeEQ9ihlNYQoxdWm3Rqi/NM55NhmjNOX3OfIu55NwIxpESx1x6fjTN5IU42i/83a8n0
9Sd9wnJZfOnHEml5gJpkz1Hm8xbfr4SKR4unz+w3cWa/CQ4XGaLvfwAA8BhhIe9IPWf3URWci1V6
mA+Vz70ZWsgBks7QWWZyeWfORn3ChbRU6GhhZUA//zDn3YM7abpj53aR4PENsp7l0cA7rsO4L71X
2DtMXerqdCb4RQGXWC+iACAwr+gOicwra6eIncvC7aQz+oy/u43Wa3dnR8tNflE13+JW9FgUvT6m
7Qq8/7Zye9x64kKDp0usdz01tDph30MJSK1MB7aFd4HxKnZXwotuLNJ5+ygJDEb10WpCZCMQ/zVa
yB0QvPL5Xpe9fa8c8t7Ro8Js3AevYccTq/kAQDK0cFndOtbObJd/MQ4AsRn84ZEHbMfo+17KFzTN
j3n+IJwJEJOkODR124QROpfpBfXZvSbRa9Fu5jgs6kTCZwkF+ZwXcSNP8M+kZGz4nLP9h+lTYnKI
TzmiILWxcFim/363hdsROhsg4kUGtcd9u+0Tz4cHfUot4S9pp0klaU85eddH5XDP6bd0jTXxwswi
oqpCemsQ6xXvc+L4YyYAPEsl93nsuN782IMrH0XrTCSGdJYCqkYbNSinxz2LSijiASTQmjaWaMsH
FPI+l2ZmVWuUc4BTnpOV/U6y0OAwQoNyHJ0nmag8jWGCYk+LAap5N+994ADI6Xc1wD6nxXwU6jk5
k2nmBukXHxbwONjLwBynFdM6uyUmE991UTa1OzBeJXrntKmXGezvjhDpJfiG8AAQbV4iQ4k2r8yd
QiS8SMhGFrYz1OmbZ7l7vucChIdVj7T10hA3FhMA+OUZsXFRvOQ6G830qOgI1pv1s03aqmDvtNpo
ACuxkK3ct62Kinwbtbq0j7XQt40aFQisgUAgGtIi1ioAAPi1aQcdDsW2MbfpU7B/7aWk+ryr0GlY
J7LcQJ9XcYJn0atjD5hRQLe91g+XMbzS7PwaUDFQITf828tLnlt9Y4skTQnkVkMWnw+89yEprjol
7O2+wXIgp0yV2kaKHYd0gJLXz76cGuryXr0ogW6DjBRxVm4WU6WtgZp2v/m9SNDFfJSecuuOquX0
fMEVpAiktoakenEK3oSVQOf+bQjX6SUXQ2KqojfufIZbnciOvHZt8zyLTl+9KN1Yoi0vtYQcxp07
79WGW/RVAlDoOMtMK+f+k0w2AAAfx6Gh1+S77X70KsmtlxIAyHeYY66dfCM8nwfAzb9/P09/3HgT
MasVFMO/+upAqm/IR/a/D0mu1/cBINK80hnqZztF2FwWJobxQCMooUUW/ljJSDQWjvMBI2HAx7k4
kEjY1wWa2tStUyZ2m7A/6j/0RAkCIStayFoFAACl9aAR3cl8Hhhb/t39hMdbJh8AMIyEQVmw9ZIL
Kd8ecuNzKj5+Bvh3yuHzcMAa5IZGQ21ndcPXqcMr77V2YWkVmP7wNYHrdKTurZ7v5fnyn7rchAJ8
cOeeIzv1yrjoSZm9YLRJhD7k3iwgvHKW0hqN0AsDDIDPJyptiMUggo/jQJIjC3VQXXqAa68n3Sym
TbaaseK6jWOct9OMwzGlPGnHAlGWlxpOzqMHdBerOSYKr9njJ7diXAnOrQMA4BbRi/mK7fvpU59l
cQAAMJKCipKaPAkA5NuNntKa2sH9QaX7137MJhufpKX/UDA0gI/zAfgiK2EJ9fpuOogyb2M6bCjB
z3aKZHOZj/MBI5FEfUvcWHycx8UbroVwyxgVoKynr0TifirMAyDptjJUhHJGFeFtSQQC0ZCWslaB
qfSyDdjRL3GP5UC3GMOlhw7+T/CLrtrMV1l8LdP+lML0zOx39Z+crE91xOe9esjaI60ddy8eqCfZ
fVGF9kN6kRjnPHwCI5MTU5MiE/59jsc5dRwAJTWFH80m7FBtVlQ26AwY8+WpDnmjYaN0IS0mrxbw
soz0St2htku7pl0OOns1q7v13Cl6FfGZTIIFX6mtIVavb99sN3y0Lj816sPXJXqhekknBreysBwU
O3bSFFXKskvT7lw4aDV1/ACP7H62G22MKNKORWB56WHnPbmSpTl5Ru9+k8YZZt8NyhFUBnjp6+BY
3HiFzV8//AiRajR6nHFB0JypM/tNnNlv4sx+MzbfrGwzY5SQ14M0gFv4NqkUTKzH/PjYZJP0Empe
sR3KLgBk7pTarMgs0Bls0eHHxR9JxmK9cBiuMffRp29C48VvYz+AyZwBAk+SdAZM6AUFLxLK0O0P
BEJiWsZaBab6l/uJ5W2fbex3mV4A21aPunXx4Ib75lvul+L5D46dtjvveNlH85R/cFopR1G3s2Hl
ncuhHyS4ga/Ue4Wf2yxdmK6RaGEfL/46qi43LgOGWTvMS7wcl1eLaffW+9eNAJyZk1AKixcvWVgR
zdTQp8TfDspmExxiPDhxftXZred2cw8Hp5K7LFhj17nwxqSHRTyA2tw3dOo0izZhc0OLPlAC47bv
NSPF7vpAdAkLIKU1xOplOGDkuOoyRaNBts6LOn287hDy7ZaRUL2kE4P3KTYgkX/QZft25uXnhVzd
/roAXy4CVUzdNptVRMXQ8irqFPSHmbYCXl5RLS6tyjiB5aWHw7gdlLnd0WUPVyf5ZEjWF9m5H4PX
np4dbn/yifzpQ/eTP5K7m6gAAABZd8xE4xra/pdp2dWCr2Jld1J4MycOMvR5T/Bjxeq33tvDx53c
deWeyUW/V1lFdRR1PQNK3C3iiCKayqLNK9ZQsgsAorGkykM448FJn1VnXX2PUw4HhjLqtAa0AmCL
G0uJoMfP6UEHY6yO7zvgrugXBX2dtg3FYnZ7ZxDPSgQC0ZCWUFVgygMdd61UeTx3+5MCHgAU39p5
yObJ9mNO119uj2cy4zfNWpq3fvXKlTsXKgPwqjIjfF9ck6iqqGNEPmbMsMIin4g5W9fDzrlqZa9+
xNn6whUneQB+HfNjangmq0H6r03eu+Va911Wp72seOVpF1wf3cj+8loCoYcqY13nOJfudF575Jgq
VGeE+szefi60kg8AeGVGBAM6Rfk9L+fjWMSxR0yzbtHJTDFLMHyprEGgF16TG/aGYbVg953FALzS
hMenpu3xDatqIIZQvaRzCpfhY+9isNd1uYfnGgBgV2bHPaLX4ABAllcg6Qxeu3+hrhwAsIvTow87
7A8qxKVWmS/a8k2Am/vo5ttNGwfwE+0fNXialV9LO2H7vyKH3cuWXpiuDMCr+JDwT3wprmX6twmk
Xc7+dneeX50YngvrJgzTup5bInpZipvvu8qyaOnqdbPtvOcrAQCrMOmKm5iIIoDIvGI7lF0AyNwp
/KrYdbNXF7g5rnA/7EwG4FbmvHmYwZJML6Fw833tV6ju3Lzew3MtMFNDPKe43UYvq0AgGkP9Tugq
k/zCAklrDBeEVjW3RAgEAoFAIH5PWspzFQgEAoFAIH53UFWBQCAQCARCNtTfAUEgEAgEAoFoImit
AoFAIBAIhGxAVQUCgUAgEAjZgKoKBAKBQCAQsqG+qlCZ5BdffWWUWvMKg0AgEAgE4jcGrVUgEAgE
AoGQDaiqQCAQCAQCIRtQVYFAIBAIBEI2oKoCgUAgEAiEbEBVBQKBQCAQCNmAqgoEAoFAIBCyAVUV
CAQCgUAgZAOqKhAIBAKBQMgGVFUgEAgEAoGQDaiqQCAQCAQCIRtQVYFAIBAIBEI2oKoCgUAgEAiE
bEBVBQKBQCAQCNmA9VXq1NwyIBAIBAKB+BNAaxUIBAKBQCBkA6oqEAgEAoFAyAZUVTSApNZrxdYt
rr0Um1sQhESQVHvYbtzo0lOhuQURCYqoFsjPdoq88ST3bXZjdVBu/ZNBXhZNvU1UJvnFV18Zpda8
wkgDptzWdNLYXjpkGbQiqfdesmjWWAOKTAVUG7Xjn4ok/2095BvXkKI7wcUzLjaWRadV0UIiTy7s
3sgOZIFo80qtl+wgafS1XWo5wZAq015bfET9tyAZzrnKotMEn5DxqjLo8Sc7Rb7T9HULx3ZXannn
mxaRUv4Qfr6XpUtELYGWE/mYfIfxq/z/eVpBp7HoURk39zn2UZFAOrluNgeCdloYN+7MIl0rqSAp
GnVpTVVo111XrlHN9Mx3+q/qVxywY9q8pVNdjng9TS7h/iwZRSPaUFLq1fJpuRGFqZvdTqFluze8
yqZ2c7jLSvOaroEBiJlEZP3pT9JpLHqQk/FvVOXgxY82DJgyZ9iyi5nNLcpvTrOnFGrnZdeY9Bsb
OtdnDLn2CyPS4yKXt0e1jTB+4UlKxrSU9CLXef7xyO0DCh56Lfd4U0DV6zPYFK9l480tlgzgFV21
nZFizHmXwmxMM2rrvh3kS0N2eAVH1/4s0ZqElHohpIdfnXIrBcYP6GtIScoSnA9IGv1HGEGq3xsm
X9wkorSfNG9AaVQYZciyGe3PHKXXNZ8ijYJbyUitBArzr5rmluQ3p9lTCod+dbfn3KuuG8f6LX9Q
AHqztq0yzbs04nLO7xKKCMloGWsV5FZjj2waWHvXebSzd9ArWnhoyMn9+05nsAVHKdr9HA9dzkyl
sehvcu8dWDtIU7AmpNx/J4Me/XKhDuhavUwSrJFGXh2qTDyW2FbD99wrpdNY9MjkSy5TG6yuixJD
NPWLt1W0u2G3H9wc993iLUl7mMel6+lxMSw6jUWPSPJdM721XEMJwxe1Au2ZzxIFEt5a076+AJQz
GOl25mY+ncbKCH3ttdLc4KuEJM1+8456XUqIiqgQrBjHXXTuSAWQ7736TGoCjUWPSQ/Ye+bCP8X0
uA+3NkxuJRCfZGCxPyH+DYtOY9Fj6NfdbXsok8QYikgvAgkJVCY2oygJBZg6nEtPprHosfRAt0Vd
lTBxYsib2KfQI3wHKwn+qzbWm0W/7mhEIVSZiF8XUbzSiOAM6DRqoGa9ATDVHjO6Q+qD2CKemEkE
cu3nzWtPv3hkve/79jNnSPosipz+OLvdT5+HV9NpLHpcUeiZ9SZfLjSl8TJJrafl2esPS+g0Fp3G
THwavWuo5heHiQ5sIho/K+sR4RSCYBM1vwAAU+k87XjAo3I6jZX25Ilzt/oWykMCEmnhc1o1DFdN
c5/KhINmylKPJY3KhCmFaCwRTiFOKaKpTTu07S5rpMuGv1S1Rzh6DK/y3nKB9qXEEaWXtHmDAJGW
JxxLhJeJR9IeduDqnfeCtJD29JXn0tG69Zlc5omoxdAi1ipIOkNnmcnl7T0b9emH1QlMuc8uf58V
7DtbHI/GMXXMlm3cefFQ5fjlPgxeTbLnKHN/U3sv3+HRixefS6oDAF5lvpg6XGwrxrMzm0PyarX+
st+69NqJwt6W/tlcIjFED4UXP3Q1jVek6llc9V36b52VjM2GdmL7uc8OLSHp9V+9xeaqV2nfmZfo
HGES4nVFDC4AYOoDDwZ5LuM9dnM5mop1XehqfzNIa9LkvaGVfACy3hDL5WPh0t49m+mfqnhUDS3K
u48cAGW9PqbtCrz/3pI5+ZjHkuqLltZ5M49uP2H/8Pm2xBrAy5Pv71p/O7+khqTVw3rzhmPedYlj
9sXUEhiKSC8CCQlUJkSkhPUj1iad2nImg9tutpPz6Wuq5RM2/vMJJzSU9LEhXSvZRRSPERbybuuK
2X1UA55W8gFUepgPlc89FlrIAZKe6EkEAAodLawM6Mcf5ryj3Elzmj+3i2dcorhLRLKe5dHAC+Px
8CveK6KzC2qpuoYqWQVi4pDIy4q99vhsnPne19EmNINJUjdo156Xy+IDcYcEAkplw3qEOoUw2ETN
LyDrjD7j7z6tLHir86MsqvHYeSt7CsbglmeV83sYqlGhBNNu3Zr8KbuYq2moDmVvSzhSjiWdygQp
hWgskU6hEKYUAvgV0afWh4712bOltfIE7L7zrjfVfHGulDZvECDS8gRjifQyISQl41ED21Ve2Lzs
Zbl8m4Er1trfu65jPvVAeJXsE1GLoUVUFRT9rgbY57SYjz+GCcnQwmV161g7s13+xTgAxGbwh0ce
sB2j73spn/u5NDOrWqOcA5zynKzsd58lGowvrtX758G3QpkAMWmqI1O2WgzXCswuBiIxRI/FZRZk
MIFSWyIqHPJjnj8IZwLEJCkOTd02YYTOZXoBLlpCUhsLh2X673dbuB2hswEiXmRQe9y32z7xfHhA
YX1Sqc28EfTwOesHrcszYuOieMl1NprpUdERrDfrZ5u0VcESa/jwOS/iRp7gW0nJ2PA5Z/sP06fE
5HAJDCVaLyIJCVQWbUIAECmh4E/xPieOP2YCwLNUcp/HjuvNjz24UmggTgyhiI0N6VrJMKI4jNCg
HEfnSSYqT2OYoNjTYoBq3s17HzgAcqInEQDImUwzN0i/+LCAx8FeBuY4rZjW2S0xmThLKZvaHRiv
Er1z2tTLDPZ3R6T1MlWjjRqU0+OeRSUU8QASaJJ0KPpsSZgcCFUD4U7BQVywCZtfZCML2xnq9M2z
3D3fcwHCw6pH2nppAABwPqWW8Je006SStKecvOujcrjn9Fu6xpp4YWYRB6QaS0qVxQe2sLFEO4UJ
hCmFCF7Jnb3nNzx2tIAUl0MRpbh4vQTfkCJvEEBseWFjYSK9LAEFcRFPI5kA0c9T+K/v2LhP8B1/
vYjg+9IlohZDy7gDwsdxaBiL8t12P3qV5NZLCRQ6DetElhvo8ypO8BB4dewBMwrottf6+Y+w8D5l
59eCWht1Mvx0MXil2fk1oGKgQryEqNhxSAcoef3sS5Kvy3v1ogS6DTKS8EdyOM4HjIQBH+fiQCJh
GACQWw1ZfD7w3oekuOqUsLf7BsuBnDJV6rCQXEIJVW6EhJyCN2El0Ll/G4UmG+rnIIuI4jDu3Hmv
NtyirxKAQsdZZlo5959ksgGIJhGAfIc55trJN8LzeQDc/Pv38/THjTcR84wcxfCvvjqQ6hvykf3v
Q9J6uSp6485nuNWJ7Mhr1zbPs+j01ffS+Usms7KhU0Cq6aBgPNAISmiRhT+c1nFWbhZTpa2Bmna/
+b1I0MV8lJ5y646q5fR8Fl/KsX5hPpTIKcJSCjFy7ceO6wxsDnSdO7b1F7El10vyvEGAhJZvOJZo
LzeG2uzQpyVYj6HNm4h+Ni1irYJbRC/mK7bvp099lsUBAMBICipKavIkAAwjYVAWbL3kQsq39Vo+
p+Ljr6jeeBwekMgY1kQxvqR6wgnH5+GASTIp4fvvSNCgwSA4j4t/V+BT21nd8HXq8Mp7rV1YWgWm
P3xN4DodSXsTJYKEEkqmciMkxAAD4PO/yiVCDD6OA0mO3CjLyQgZRBQn59EDuovVHBOF1+zxk1sx
rgTn1gEQTiKQbzd6SmtqB/cHle5f+zGbbHySlv5DwdAAPs4H4ItcKpDGy3XpAa69nnSzmDbZasaK
6zaOcd5OMw7HlPIa02FDCWSSHL45RcrpwMf5gJFIQiSuy00owAd37jmyU6+Mi56U2QtGm0ToQ+7N
gs9SjvXL86E4p/yYUoihtJ7s6dw19fACe8rO0LWb5z5Z7feRR6zXv8sHyVOlCBph+QZjifZyY+AD
DoAJhG/GRPRzaRFVBV76OjgW37LC5q9z22IqvgvR2sxXWfyJpv0phbdShC6t8etq2KCo2cjKtbGt
xIpBOBib9RlAVVuJDFXi7/cSipEVlQ0TB4xpKxebwQYAeaNho3QhLSZPshturBcOwzUAAJS+/kmh
/ZBeJMZRD5/AdDYAZKsWfIaGE4zIUML0IpJQutkjTsIG32w3fLQuPzXqQy2xoSoLy0GxYydNyiuW
sOuOlh5R7LwnV7JWrp7RO6B6nGH2zaAcQWVAMImoRqPHGRcEzbELFNQboNB1s+/eGaMM96e/F31v
mlv4NqkULKzHGFwPyP/+a03yMrs07c6FtDsXT3RfeuH1ho0212cfyhEf2DinjgOgpKZAAuYX5Zo0
K4UiebA1oDYrMgsmDrboIB+T8q9HVfCyjPRK3aG2SzXTvHeclfvLZulcTb2KF5lMHEBZqrFkrjLB
WBJkGyEphQiS+lhXpxGVN8dffheHeVyc7+2xccQD59BP+K/US+ZebgRUg/4jdYH+hvEZgP9TElFL
oEVUFcD9GLz29Oxw+5NP5E8fup/8kdzdREVwBM9/cOy03XnHyz6ap/yD00o5irqdDSvvXA79UO8H
Tn5CZq2d2Q52h819AAAgAElEQVTHaR4Rnyh67VTf3ryaKdbrjW0lVgwi8Kqs6AJwtF1pW/a8WM1Q
Pv6mfxbRNSJBT4wHJ86vOrv13G7u4eBUcpcFa+w6F96Y9LBI6mKlLjcuA4ZZO8xLvByXV4tp99b7
/scBRIYSqheBhNLFmjgJwXDAyHHVZYpGg2ydF3X6eN0hpIgHfCJDfYoNSOQfdNm+nXn5eSFXt78u
QMOTZouPKA7jdlDmdkeXPVyd5JMhWV9kFzmJyLpjJhrX0Pa/TMuuFnwVK7uTwps5cZChz/tc0aFT
/dZ7e/i4k7uu3DO56Pcqq6iOoq5nQIm7FZQtrZdVTN02m1VExdDyKuoU9IeZtgJeXlEtLklg48yc
hFJYvHjJwopopoY+Jf52UDa7KbNSKGKDTRg448FJn1VnXX2PUw4HhjLqtAa0Aqif4LW5b+jUaRZt
wuaGFn2gBMZt32tGit31gS31WDJXmVAvUU6RrIb4AYUu8/dPVnq15UIMi88H2kHPt9a71jqejdqW
UtckvTDlwet87i3Ti9huPcefIfYhTpl7WSz9ljk4KkVlco1mOTl2q3o6L6SQCz8pEbUEWkZVAfxa
2gnb/xU57F629MJ0ZQBexYeEf+JLuQB8ZvymWUvz1q9euXLnQmUAXlVmhO+La1+jjV8WemDl1T37
FrhfXwLcstTzrsH+mXXiluSEtyJqIEYMQurSD2/06bN/0eGTU/GKd+ddHwZKWVUAvzLWdY5z6U7n
tUeOqUJ1RqjP7O3niJ+TJ4adc9XKXv2Is/WFK07yAPw65sfU8EzW12ROaF5heuG/UEK8JjfsDcNq
we47iwF4pQmPT03b4xtWxRdjKC7Dx97FYK/rcg/PNQDArsyOe0Sv+RoyLT+iuLmPbr7dtHEAP9H+
0cdvXxcxiXAt079NIO1y9reH8/nVieG5sG7CMK3ruSWiNePm+66yLFq6et1sO+/5SgDAKky64vbo
RraUXibLK5B0Bq/dv1BXDgDYxenRhx32BxXiIElg1ybv3XKt+y6r015WvPK0C66PbmSz8abMSmGI
mw7C4VfFrpu9usDNcYX7YWcyALcy583DDBYOAHhlRgQDOkX5PS/n41jEsUdMs27RyUy+9GPJWmWi
sWQ7l0la5i4LOpfcXnVf8GwCL+/+qWsu3iud/3fS7nFxU/Qiaw8eZaKEwfiZplqBjCJxc1XmXhYL
rmzqvH+2HplbQLu1yv7wP4Kfaf2URNQSqN8JXWWSX1ggaY3hgtCq5pYIgUAgEAiJIan1trkbaN8u
yLrn9qQW9bY0Stv5kc9dy1aPNH/833lbYAtZq0AgEAgEotHId5ywwHXJwv7lD61PpbSokuK/Cqoq
EAgEAvHbomzcQT7u2OgV916X/w73B/586u+AIBAIBAKBQDSRlvEWLAQCgUAgEL8/qKpAIBAIBAIh
G1BV0UyQ1Hqt2LrFtdcf/ebW75G5yiTVHrYbN7pIuv9mi0beeJL7NruxOmhCIv5YWkjSayFi/LnU
JzGVSX7x1VdGqTWjJJjaqB3/VCT5b+vx4/4EmHJb00lje+k06i1jRB0SNZNmrMZ3SFLvvWTRrLEG
sn5clqI7wcUzLjaWRadV0UIiTy7s3ijtZcMvUpmk0dd2qeUEQ9nugSBU+PrN3wWfkPH/3vy96ch3
mr5u4djuSn9wVUFgw59u3paKzLNNC0HmGUA6Q/3a3Ctjft/YaDlJjKRo1KU1VaFdd125H47JdbM5
ELTTwrhRpw+iDgmQaqxf2iEBJD3znf6r+hUH7Jg2b+lUlyNeT5NLfsLrccTxK1WWOUKFx4sfbRgw
Zc6wZRczm0uu3x4CG/5nzftbzxQCWkgW/a3N+/sK33LKNV7RVdsZKcacdykyeluIzDv8DaC27ttB
vjRkh1dwtGRbgyAkhFvJSK0ECvMv9IN4qSGwITIvAvGn0CLWKurXP6tod8NuP7g57rv1T+X+Oxn0
6JcLdUDX6mWSYI008upQZak7JGkP87h0PT0uhkWnsegRSb5rpreWk2QsOYORbmdu5tNprIzQ114r
zQ3E15BihR++514pncaiRyZfcpnaYCWfot3P8dDlzFQai/4m996BtYM0xS6DCcYKX9QKtGc+SxSM
dWtNe4o44Uma/eYd9bqUEBVRIViCjrvo3JEKIN979ZnUBBqLHpMesPfMhX+K6XEfbm2Y3EqMIL9S
ZQGmDufSk2kseiw90G1RV6Wvu1sR+EvUIamCjXgskoHF/oT4Nyw6jUWPoV93t+2h/GXOYSqdpx0P
eFROp7HSnjxx7tawQ9HWEOUvIghinlh4qWKDQGUpIOlN9amih3j0+nInT3VYQCItY3M3sU/TyOmP
2HI66EM6jUWnMd+GvPZdM06rXhBR5iU2lFROEWkN4mAjGEutp+XZ6w9L6DQWncZMfBq9a6hmk7a9
JOrwFyY9KQ0lazGkS0REs1IKV0qdiFoGLWKtAi9+6Goar0jVs7jqu/Rfx2qSPUeZ+5vae/kOj168
+FxSHQDwKvOJr8SJOiQpGZsN7cT2c58dWkLS6796i81Vr9K+My/ROURjYeoDDwZ5LuM9dnM5mop1
XehqfzNIa9LkvcRvxRcrPOPZmc0hebVaf9lvXXrtRGFvS/9sLmDKfXb5+6xg39nieDSOqWO2bOPO
i4cqxy/3YRC9qV7IWHhdEYMrTniy3hDL5WPh0t49m+mfqnhUDS3Ku48cAGW9PqbtCrz/3pI5+ZjH
kuqLltZ5M49uP2H/8Pm2RIILyl+psgCsNunUljMZ3HaznZxPX1Mtn7Dxn084gcoEh6QKNmLz4uXJ
93etv51fUkPS6mG9ecMx77rEMftiaoGsM/qMv/u0suCtzo+yqMZj563s+bVDImuI8hcRBDH/E2JD
pMpSgX+KDY6HbRNGGLol5bABFDuMGKBYHfYij3jvb0xtwIHA47akF7vWn4j5BIaj15+zHtJN5fiT
MpzAvESGktIpIq1BlG0IxlLstcdn48z3vo42oRlMkrpBu/a8XFZTdvkU3eGvTHrSGUrmYkibiEQG
gHSulE7lFkOLqCqAyyzIYAKltuRHs/E/l2ZmVWuUc4BTnpOV/Y44l0jQoYD8mOcPwpkAMUmKQ1O3
TRihc5legIsei9TGwmGZ/vvdFm5H6GyAiBcZ1B737bZPPB8eUEgQbmKFf/88+FYoEyAmTXVkylaL
4VqB2cVgaOGyunWsndku/2IcAGIz+MMjD9iO0fe9lE/wjESThK/NvBH08Dnrhz7LM2LjonjJdTaa
6VHREaw362ebtFXBEgn2Kv6VKguI9zlx/DETAJ6lkvs8dlxvfuzBlUIDkSoXGxJYQ5pgE2Pez3kR
N/IE30xKxobPOdt/mD4lJodvZGE7Q52+eZa753suQHhY9UhbLw1Bh+KtIcJfxAiLefgZsSFCZSkf
8OGVRF9JBM9JI4zO5WRyqW2HDtJnJ9xOI75VQmptbr/MkHFw6sb9aWwAUFO0Bmvx5iUwlNROEWUN
gglLNBZVo40alNPjnkUlFPEAEmjSWfUbIjv8lUkPl8pQRPz6RCQsAKR0pXQqtxhaxB2QZoRXmp1f
AyoGYjaxV+w4pAOUvH7GqN9rtC7v1YsS6DbISEY/TuJ9ys6vBbU26mQAhU7DOpHlBvq8ihM8El8d
e8CMArrttaR9aqepwuM4HzASBnyciwOJhDVpufUrsleZU/AmrAQ692+jQKSyzF1J3CG51ZDF5wPv
fUiKq04Je7tvsBzIKVNJAArGA42ghBZZ+GOyknkA/IuGMf8zYkOUylLLWxR8NZ7XZcqkNhQgaw0Z
044bfz+6ivjyXKHj0I5YaUzI+x83B5bcvA0NJbVTpLAG4VhV0Rt3PsOtTmRHXru2eZ5FJzGZSzwi
O/yVSQ9kHzbSiCHzqfdrXdlSaBlrFQK+5AnZnLUk7ZDPwwGT6FT5/XdkJqUAHocHJDKGAWAYCYOy
YOslF1K+7aTN51R8bFLB2gTh+TiPi/+EF+zLXGUMMAA+/6vbRassc1eK6JDazuqGr1OHV95r7cLS
KjD94WsC1+kIDvFxPmAkkpCxf04ANORfMS/T2CBQWVrwotBrj2sP2Uw2Onut4+zu/Fi3+FIx8YiR
qWTAOVwhtQeRef+d1r8ZSkqnSGUN4rHq0gNcez3pZjFtstWMFddtHOO8nWYcjikVf6tQFIQd/qKk
9zPCRgoxZD71frErWwgtqqpgsz4DqGorkaHqe8Py62rYoKjZ2FpOdIdEjYSNVZsVlQ0TB4xpKxeb
wQYAeaNho3QhLSZPgjtdjRW+NvNVFn+iaX9K4a0UglsNktMU4QGA9cJhuAYAgJLEIzaPygrtho/W
5adGfaglUlmsNYiExzl1HAAlNQUSML+c14g6VGo/pBeJcdTDJzCdDQDZqgWfQae+VWQWTBxs0UE+
pkG+kaE1JEP2saEgUuV6hNlQzCG8LOro3dLHcy3NcvUHAs0p7JO46Vz3IbEAxv81pBXlTd6/VoOk
M6+UThFnDeHZRuxY7NK0OxfS7lw80X3phdcbNtpcn31I2htMojv8lUlPOkPJXAzZ594muFLKs14L
oCVVFXhVVnQBONqutC17XqxmKB9/0z9LsPjGyU/IrLUz2+E4zSPiE0Wvnerbm1cz68R0R9QhAcLH
Yjw4cX7V2a3ndnMPB6eSuyxYY9e58Makh0USFCuNFR7Pf3DstN15x8s+mqf8g9NKOYq6nQ0r71wO
/SBl3sCbILx0/FKVDQeMHFddpmg0yNZ5UaeP1x1CinjAF60ywSHxwuPMnIRSWLx4ycKKaKaGPiX+
dlA2m6DDuty4DBhm7TAv8XJcXi2m3Vvvyy8XcMaDkz6rzrr6HqccDgxl1GkNaAXAbro1GonsY0O0
yl+GFGZDcYdqXl+8mmrl6LMDSLEbn4lbqQDg5vzj+8x+x+7Tm3mnXuRS2oy07AZQIBhEKvNK6RRx
1hAebERjqZi6bTariIqh5VXUKegPM20FvLyi2gYGwZQHr/O5t0wvYrv1HH+GmOd4gaDDpsRGozO2
dIaStRiyz71NcKWUZ70WQEuqKqAu/fBGnz77Fx0+ORWveHfe9WFgFhsHAOCXhR5YeXXPvgXu15cA
tyz1vGuwf2ad+EV5YR2KayNirMpY1znOpTud1x45pgrVGaE+s7efI34WmrhDogbM+E2zluatX71y
5c6FygC8qswI3xfXpD+p8KUXXsoBf43KeE1u2BuG1YLddxYD8EoTHp+atsc3rIoPhCqLswZhsNUm
791yrfsuq9NeVrzytAuuj25kswlig51z1cpe/Yiz9YUrTvIA/Drmx9TwTBYPAPhVsetmry5wc1zh
ftiZDMCtzHnzMIOFS20N6ZB5bBCoXI9QG4o7xH5/2z1kaZA5/8aFyBIJbsdxC+5bL1Q9umOpx/EZ
JO6n1PckAD6PzwdpzStdK3HWEBFsosciyyuQdAav3b9QVw4A2MXp0Ycd9gcVNrAIWXvwKBMlDMbP
NNUKZBSJsxVBh02IjUZnACkNJWsxZJ97pXeltGe95qd+J3SVSX5hgaQ1hgtCq5pbIgQCgfgBateV
AbGWEaPMj9IafZeb3MHGP2lD+fzBK+5U/OR7Ss0PSa23zd1A+3ZB1j23J6G3iiF+OS1qrQKBQCC+
g6Rq3N1EFdPsM+eQk9YdB79ECUsKJRObeb2YmbmFLEyr8/+cXDpXv9wQxfzjSwr5jhMWuC5Z2L/8
ofWpFFRSIJoDVFUgEIiWi0LvZQcfW+rj5WkB7stdnkr6gDxFo+OI6atmdNWQA8CZjFd390w8+PTn
PUnUclA27iAfd2z0inuvy3+HxXLEH0j9HRAEAoFAIBCIJvJffwsWAoFAIBAIWYGqCgQCgUAgELLh
v1dVkNR6rdi6xbWXjF47C0DWHnHQ7+LJIb/LhnItBXnjSe7b7Mbq/PYhKPOIQiAQiN+W+pSuMskv
vvrKKLXmFYYAiu4EF8+42FgWnVZFC4k8ubC7vNg2mHJb00lje+l8/24yknrvJYtmjTWQ2XOqmJLR
/4b07aTavGfH+s3fBZ+Q8ariWzQ38p2mr1s4truS1Hb7OSpjaqN2/FOR5L+tx48R9osiCtGA3y+w
EYj/Nr/HhSJJz3yn/6p+xQE7ps1bOtXliNfT5BLxryWR62ZzIGinhbGMNmVq2eDFjzYMmDJn2LKL
mc0tyq/i56hMUjTq0pqq0K67rtwPx2QWUZi62e0UWrZ7w/UNajeHu6w0r+kaGAAAJt9h/Cr/f55W
0GkselTGzX2OfVS+Tlay/vQn6TQWPcjJ+I8vZf6DgY1A/Nb8HkmJ2rpvB/nSkB1ewdG/yxbzvxxu
JSO1EijMv/47P1L/KSrziq7azkgx5rxLYcqw13/Br065lQLjB/Q1pCRlCepjkkb/EUaQ6veGyQeQ
6zz/eOT2AQUPvZZ7vCmg6vUZbIrXfnkBJVDaT5o3oDQqjDJk2Yz2Z47Sf4u3+ErNfzCwEYjfmRaz
ViFnMNLtzM18Oo2VEfraa6W5Qf31oHL/nQx6dPiiVqA981miYCH01pr2YqohQauXC3VA1+plkqBV
5NWh3x59GL7nXimdxqJHJl9ymWr47dqTot3P8dDlzFQai/4m996BtYM0G7e3C0l9xPqgyndBuweo
kcR0SNLsN++o16WEqIgKwQJv3EXnjlQAIGkP87h0PT0uhkWnsegRSb5rprf+dt3cVAl/RE5/nN3u
p8/Dq+k0Fj2uKPTMehPBcCQDi/0J8W9YdBqLHkO/7m7bQ1mgFLGEosFUOk87HvConE5jpT154tyt
4TECQ4kSQxqUhwQk0sLntGrYg6a5T2XCQTPl+sX2KtrdsNsPbo77brFd6ogSDq80IjgDOo0aqFkv
CKbaY0Z3SH0QW8QDcquxRzYNrL3rPNrZO+gVLTw05OT+faczvrxsXq79vHnt6RePrPd9337mjJ4K
IgdpAIENSWo9Lc9ef1hCp7HoNGbi0+hdQzXF7U0pb2KfQo/wHVy/qZjaWG8W/bqjEYW4Q+JWsvQy
AoFoNlrGWgWmPvBgkOcy3mM3l6OpWNeFrvY3g7QmTd4bWsmvSfYcZe5vau/lOzx68eJzSXUAeF0R
Q8z9DyGtgFeZ/22hg/HszOaQvFqtv+y3Lr12orC3pX82FzDlPrv8fVaw72xxPBrH1DFbtnHnxUOV
45f7MCR7ew5Ze/zGM0HzOJ6LV7q/rsKBuEOy3hDL5WPh0t49m+mfqnhUDS3Ku48cACApGZsN7cT2
c58dWkLS6796i81Vr9K+My/ROU2WUIjMepZHAy+Mx8OveK+Izi6opeoaqmQVCMyLlyff37X+dn5J
DUmrh/XmDce86xLH7IupJZKQaCid0Wf83aeVBW91fpRFNR47b2XPL4cI9RIphjRwy7PK+T0M1ahQ
gmm3bk3+lF3M1TRUh7K3JRy8+KGrabwiVc/iqu/Sf7WTLqJEw2OEhbzbumJ2H9WAp5V8AJUe5kPl
c4+FFnKApDd0lplc3t6zUZ+EvcdIoaOFlQH9+MOcd5Q7aU7z53bxjEsUu1oh2oaKvfb4bJz53tfR
JjSDSVI3aNeel8tqyisopexQpl5GIBDNRouoKkhtLByW6b/fbeF2hM4GiHiRQe1x3277xPPhAYW8
z6WZWdUa5RzglOdk/Z+9O4+LqXsDAP7c2drTqiTZ4s2u1154hUKW9LNlKUJCJPuaIjvZX0khZSsh
S8iSVNqo0aLUtCjte01jTLPc3x+VQnNnWije8/34AzP33uec89x7z5xzl/QP4j2vFxe11MdA/ztB
TIDIJLmx73cZj1byTi8EDeP1Np2jrA2cbhQKACAqBR8ddsRqgrrHlRyRV3FgUtrLTh85OTx525yt
5xJrjqIk0Stkp/r6PA5kNbLCnMjARyFMgMh4Kb3E3ZPGqHgx8loUYaNkdK2PGMlG7DWZ4ZX944vX
vmSF+mbV/DU+ARs913Wovjolsu6dy41FSPA4P7KWsZVpB8aO2Y6nPvIAQoKrxlq5KIAYFUUcRtNw
ixOL8KVdFakk5eln77nLOvefeUe1m6IgP7WAC7zqvBQmUNhFP57LmpVRRA835GYH+WTY2k3VkX0e
yQSp/sbD5LJuP/jEBaCp/9UJ+5IUmdtoH42mYzK5U/Llx3l8LvbKO2PdSpNe9nEJIk++QuuQqqAp
D2WM6BfhsQV8gFi6qDWJ0twVtmYrIwjSZtpFr0Kq56geUOT/ou68xsl6/bLIev4ILamb+VU/d9P8
4vQcNvTQ7ECGQqq2vjaZJuP+Otq9wTcKuitRQfQ5e/SBS6OpSTunbPi3/rWoki1Z4dcIS9JzPkOv
TrJkgBZF2BiKxt+DVSBx15Pcxt7lSu44yvyg3SyjvhqKJFZRlTQN8mSoPw5LN4yQ4Dwq2W24FhQ9
CMv/MVLiihIzDPEIWJlpTNmeneSVlRYOIAF18ji1gIqecmWMnBb9QK/XMKMIH5nMzfbz+7jb0niw
dGSIoOdsA6UM32ep1QAAuEAADYOR6LPvvrtJ6MoRTvGfJXrMnayc4BaSwweAnIcPsxznGukcSaCL
GK0QXoeVEdv2vrjvdCbdKOnevYdXfe4HpFa16MHWzVxhq7YygiBtpl30KgAAAPtmLlfUxG7r4XP5
QCJjGACGkTAo9bdYeul9/TEa55bnijM+wvC7Uz7jf3uOr3635HRQ7RP4W7TCejhfABipxRE2vm4B
DoA3etCndjXz9VjX47XbRuvgpHJMffQG780qoiIUtS2MRGrkW0TlakIYYuFkxuYJRvbqP1Z7QMrl
U5Q5i8brhKpD5u28r3VYd0Jvbg7WZxQxbkbAI8Z6s7k6km+qjaZ1zL7qn8kBAOAVMApxqe5D1Kkv
0rgAABhJUlZaXoIEABJdx0/vTO3h+KjC8et6DKZ1O0tPbqxbWIewDjnJNzcNeNbH2GSamenKW5a2
0W7rTJ0jRbxvAxcIgEQjN1pG4SsUvlRrtzKCIG2lXfQq2Gnh6TBl2IQutKiUagCQ0NIfpwpJkVkt
m1TFOZ+rQUpRVtyrGdmpr9PwKbpDKfl33n9u6g/X/FenTN3enfPa+/Ambeb8Y89LBS1cYfMiFHA5
XABpeUkSMMV4uRAv/118CRhbTOh062bOdwPukt1HDSBlnzjs7p1cDQDpcnlfoCUHenZaWBpMGWnc
QyLy/Xe/rInKJTKMJhZZUJqSXKGqZ7VMMcltjyvtb8tl8xXVyl+m1i+LV7O+AMgpS5Oh8ttza1Mz
SoTqrGdX01bZmA68WWWokX7bJ6OmZyAoeeMfJdi50vLvC7sjy78pElVrvGG3PJ+51t41/Q2Q/GuH
xwHTcRqHkj8SXNMisg6rS5L8LiX5XT7Td9mlN1u3Wd6ac4xw6oFXkV8GUj21FSmvWY1+r9EVEizV
olYmK49duNCIFHHGK+q/8P4wBGnf2kWvQpD96MzF1a67LuzjOfsnknsv2mDdK9936uMWHiK4ObGp
bGuDPbYmh0OLKWpd5d7dvpZKMFIsyHl08pz1RVsvd8V/b/gnlXClVHtpVPh5BX0Sa3YBZ398sGJu
Ndw+dPtS5cRFrm+qWrjC5kQoYGbElsCSJUvNyyOYCuqUmLs+6US/YqveuTmEGJ51uvpA57Ln67QC
DqWDWidK9B2f9GpOZnQK6FusXRDnFZ3FxpQHqol1t4Hw4LMfnXVf7brJ4zTF2Tsom6M0rCNAtchy
iQyjqUVmZ75lUE2MNYPnBxV8onhHOxwwIEU5fapfRFCZFpEHtlarrEoDC+U1JGJu36id1WpqRonC
zb7rk+pgu34/TyXh7JO0un4BL9d/47k5IWvOPpM4d+xhQi65r44sAACQVSdM6faZfuhVUnrtzCBW
6veeP2vKCA33j5nC9xaiOpTVtd9hUB4eSc8q50iq6+t2BH5WAVtE94xfHHUzDj+63sGB6RWYz1Md
qgpQF73wFRIs1ZJWlh640tN+tirMVIgzXhPT7GE7BEFaRbvoVQBeEbVprl3JXruNx0/KQVVKkPsc
hwtBFS38eY+XBh1ZdW3/wUWOt5YCrzTx4ib/G4TnAJwZs332sqwtNqtW7TWXAeBXpoZ6vLzehE4A
Ny9gtaWG9n1bX8ekIVteFbd4hU2OkJ1wYOf1vk5m51zM+GVJlzYF+KZXE50ieDkeq+cVLLPZPMfa
baE0ALDy46/aB/imV1dnXDNb0+G4ncWlq+skAHAOMzcxJJXV/J4eXhm1eY5Nnr3tSkdnOzIAryLj
7eMUloC4XKLDaGKRBRUpodmgHe4ZWIYLsNCTAUyDPhEJzAbJxkl23uY+6NBi57MzBOUfLm567J1W
s8ImZ5QovMyA2++2bxuGx60JyK1PCpxNP2P1T8HafcuXXZopA8Av/xR7P6ZEoKT7Px1I8kqvf3ID
XhUXkgmbJ+kr3cosElpogjokS0iSVEZuPGSuSgOA6sLkCOe1h3zyRQ368LLd16zvdGDTisOnNgBA
dUV6dADjs0DECoUv1ZJW5mSHPc02NcPCnn0i6k0iCPJL1L4JXXaqZ7A3aYPGoqDKto4IQRAEQZDf
E7rIGkEQBEGQ1oF6FQiCIAiCtI7aGRAEQRAEQZAWQmMVCIIgCIK0DtSrQBAEQRCkdaBeBYIgCIIg
raO2VyE71TOm6uo4+bYNBkEQBEGQ3xgaq0AQBEEQpHWgXgWCIAiCIK0D9SoQBEEQBGkdqFeBIAiC
IEjrQL0KBEEQBEFaB+pVIAiCIAjSOlCvAkEQBEGQ1oF6FQiCIAiCtA7Uq0AQBEEQpHWgXgWCIAiC
IK0D9SoQBEEQBGkdqFeBIAiCIEjrQL0KBEEQBEFaBzZYWrutY0AQBEEQ5E+AxioQBEEQBGkdqFeB
IAiCIEjrQL2KPwVZecxRz8tnR8m0dSDIT9Q+W1mi21TH3dYTVdDRBEGQ2uOA7FTPmKqr4+TbMBKJ
PgeD6SxGzZ9InzHt67gpCibTRXfqxAEq5LaLQFrrn1GDteXQkb3ZSBpzr9VlIP2JkVxbx9OI5rcy
Jj9uz/g/+60AACAASURBVP3y+Bu7+0m0elQS2jM3m0/sK90GuSc7+nhxXZOxQjbqSv76EBAEaaid
nYOyPa376hn21DO2ivgs+tuUrhuefO2I0FkMOitgaS/qz4+yEbQ+lkd89hp3a5uttz6sg8Hd9/R0
xwFS9f9H7bP2HivJZaYCBgCASfQwWn3j/vNyBp3FCE+5fdB2kOzXbCKrz3yWTGcxfNZ1o/z64JtL
UBiwddj0ufrLL6e2dSitjySl1bszVbJrX1VaW4fSOFKHwetO+WSn0FkpQVGnF+spiHVsYkU69NUz
7Kk3dfq1wp8dIYIgYmhnx3weqyy/qJgj7rdzr1jPeSqtNPWY627s3NSNQUXsokzeTw3wvwKven/n
PRgNG6xBiU+rqVKSwtAxWpDo+ZaJA9B6LTwd5jAs77HLisNv86hqg0bqCtjVgtqlKd2nLhhWEh5M
GbXctPv5EwxxG7St8SqyEyuAwvxbjC7t74ZfcM3K9H037of3zLYOpTFkjSX/uh4Y8P7UdrvX8Lfd
bruHZ5i6S+5k8kUsh3OZhUVMAFrHz6K+iiDIr9DOxiqaiFuSmZqQnJb1GeBzflIy4/3H8mocACQG
2pxPjKWzGJHJNw+cv3S/kBH96c7WaR3JAEBS1j9yze9jPJ3FoLOSnr8+tWy86te+FamT8aHYmLc1
szCMW45W/WTqa4imbmi973lgSBWDzmJEFwSd36JDAwCZoXuzGRGvzFVA1exVzWoZYdf06mdwyKoG
ri/fVgbtM1EVp7qJghcR4VekDmO2+FR88Nk3TL7mU4ryENtjXqmJdBbjbeaDIxtHKIqYq+GXhPqn
gPa44Yq1q8fk+pn2hcRHUQV8IHeceHz7cPY9u/F2bj6v6SFBT84eOngupbquorovWNCdcfn4Fo+P
3WeZ9hdzUFpI9QIArdNY+/O3cxh0VkrQG5dVkzvVjgiRlPUPX7mVHB3JYtBZjNB4jw0zO3/9IU6S
7z/P9dbjIgadxaAz455HOOkpYkC8QmJNrkOZUTfj6CFzOzZsIMXJ7hWxRw1kiMMgKQ5ZcMLlSmx4
aHnNIFz0ZbuePwT5QysLUTuzU0m/F3z30W3Db2Z2COuQACbby+T0zYAyBp2V9OyZXZ+GnwkpF1Fi
S/41b8sI/OmOzbtuv/K/fWrRzjB85HKr3u10WAVBEOF+716FMBS1Qbpd89z+Z2b/tPMU807Pl1o4
PdcwO7OmnzQASbrbuOFdK67vMFm8aq7D/dKRax7c2jhGvuaEIyhLeOi0xWbibAujFScCFUxOutkO
q5kDIKvNO+Htt0mf98pt5Zq1M5ZtWnfe/2UeDwA+J5waN3nBkocVUB6wZOasIVNmDZkyfxOd/TUa
CU39SZpkcmc9wy7iHCWJgieK8CuystF29weLeaeWWO1+UykAwGQGOd1w36OTetx22fhFO1zyh+69
fMxSk/icyM8OfvKB1H/OILmaqpHtN1lPIvN2UD4XSCp6sw1oWeddw4sFjSwp2dPYrBPj4uOMD4/8
klQnzu8txkS+8OrFOgw/6nNqm06q8/q1szZ6pfRdcdtny7gOGACQpLsZ6GlX+x2Ys9Rm3naf7EHm
11zm106BSQ3Y775tFv/JOssl/8xeOnPLWffgTBYOxCsk0Jw65JWlleEKGvJUwCSVNXt2lMSAoqjR
AUozi7jEYZDVRs1bMVHh9YX9Cy1XTLawMdt92T+X+22Nfd/KwgkKH2/SnTJr+JKLjB8+I6pD4cgq
48/fcLRUeuNoZztvu2f45/rjiPByESQ2qaPu8C7wwTtG1vpqSIHvYpV3AfHQadwgpba7TglBkOZp
ZzMgrQgvS4mKDucncCwVk8MjQllvt8zR6SKLxZUCAEBedOjzMCZAROB7/I2fpeMkD6NbBXyAL1mh
vlk1K4hPwEbPdR2qr06JzODJ6FofMZKN2Gsywyu7+rsNfSlJTatSKOMCtywjLf3Dl+8j+Rznsngf
0xALPxP7w2dNDP4zLjTCmv/CpLSXnT5ycnjytjlbzyXWnEZJGsbrbTpHWRs43SgUAEBUCj467IjV
BHWPKzkE80Xc7CCfDFu7qTqyzyOZINXfeJhc1u0Hn7gANPW/OmFfkiK/O8/VoumYTO6UfPlxHp+L
vfLOWLfSpJd9XAK7sa9+Jbx6SZrGa5erf9xnbH+cUQ0Q+jKF2u+htcOUiyE382u+kRMZ+CiECRAZ
L6WXuHvSGBUvRp4AqAqa8lDGiH4RHlvAB4ili7NC4WPozapDbnFiEb60qyKVpDz97D13Wef+M++o
dlMU5KcWcEmas0SFwU719XkcyGpkxY21MhEeMy+FCRR2kbBWaLwOhSJrGVuZdmDsmO146iMPICS4
aqyVi0JNRQmvXiYITewPSpoKwIrLr5YZ3EVWVkJTnpOUy4bBmvJUIGgUBEHaoT9zrKKeQIADRsIA
F/AEQCJhP/wiZacHPS/C+ulpSQEAkDuOWnLR+8Gn+Oiq98HvDo6kAU2GSgKgaPw9WAUSPZ7kVv+4
DZH4Ja+unNrlEVXQxANkY8ELi7DW6AOXThsW2Ztt+Lf+ZCOpra9Npg13fx1dc01rVdQRAwqodlcS
8YuUm+3n91F+tPFgaQDJnrMNlDIePkutBgDABQJoeCqT6LMv4HW8/QBpAJDoMXeycoJvSA4fgJfz
8GGWuqGRjojRCoLqleo5qgcUvXlR19ngZL1+WQR9RmhJff9Nfkl6zmeQ7SRLBgCojNi294XA7Ex6
2PXrOxYYa8uSm7zChppVhwJWZhpTtksneeUhCweQoPfkcWoynXvKlTFyWHjzwqjVWCu3im/rUCjJ
bsO1oIgelv9jh0qscgndK9mJu6ZP6TPpUPgfeGELgvxH/LljFTVwAZ8nIBwexkEAgGEYAFC7mvl6
rOvx2m2jdXBSOaY+eoP3ZpW69eAA+C/+2fRj8AQR1mD43Smf8b89x1e/W3I6qKxmWQwjYVDqb7H0
0vv6yyZxbnmuqJETbkbAI8Z6s7k6km+qjaZ1zL7qn8kBAOAVMApxqe5D1Kkv0rgAABhJUlZaXoIE
ABJdx0/vTO3h+KjC8et6DKZ1O0tPJuqPiajebzuDQucqcL4AsLpzFCf55qYBz/oYm0wzM115y9I2
2m2dqXNkCb8pK2wYQXPqkJMZmycY2av/WO0BKZdPUeYsGq8Tqg6Zt/O+NKlcP2islUWr638Qbueb
OhT+LQEOGIkk7FuiyvVDYvNKs8tBRk1dmsQrzs8CIKl21JCCsuzKRkfDEARpx/7wsQrWy7WjFeYH
FAv/QUftNHSsKjDeZn8BkOw+agAp+8Jhd++whLjE+LDYuqM/8PLfxZeAjsUEYdf14ZzP1SCl2Phv
PLLyWAvbfUuGqzVtlriR4IVHWCv/1akp03ffUVr88OamiUo1rctOfZ2GK+kOpeQnp6Z/qP2TkVbM
Efkztzrr2dU0xWmmA4dMNdRIv+eTUdMzEJS88Y8SdFtp+fcPd/9RtcYbdsvzmTuj5vqSWUNMd9yu
0DQdp0E4LkJQvey08HRQGTah7pIUCS39caqQFJlFPKVSG39Jkt+lo2YzjIYdTh9itc1SiyLOCgVc
DhdAWl6yQeGaV4eC0pTkClU9q2V/JXn5uF5L62sxf7paeUwqU9CycjXWyqLh1awvAHLK0i2+WIGd
FpYGKiONe/w4BiVOuX5MbEHhu6hPoDN3WE1CkVSGTRoAeS9jS9H0B4L8bn7vsQqqcteunaSVtKQB
MPU+f/VSYRcxMmtuAxFhyPK1ttLhqTyt2ets+1Q+X/AknwfAyYxOAX2LtQvivKKz2JjyQLWvty9U
vXNzCDE863T1gc5lz9dpBRxKB7VOlOg7Puk1J1puTmwq29pgj63J4dBiilpXuXe3r6XW/qqVHrjS
0362KsxUiDNeEyPupRWNIoiwDs7++GDF3Gq4fej2pcqJi1zfVAlyHp08Z33R1std8d8b/kklXCnV
XhoVfl5Bn0TehcvNvuuT6mC7fj9PJeHsk7S6X468XP+N5+aErDn7TOLcsYcJueS+OrIAAEBWnTCl
22f6oVdJ6VU1X8VK/d7zZ00ZoeH+keAuQYLqzX505uJq110X9vGc/RPJvRdtsO6V7zv1cQGfOHll
de13GJSHR9KzyjmS6vq6HYGfVcAWAAgIVlhDwMyILYElS5aal0cwFdQpMXd90qubV4fszLcMqomx
ZvD8oIJPFO9ohwMGpCinT9UAuMgwCP3YyqKTXlCZFpEHtlarrEoDC+U1JGJu30hrzoQegCD70Vn3
1a6bPE5TnL2DsjlKwzoCVNd9JKxc0gRr/JLsczTS7PTBI45SnuEweN1uPSxyn1tK88JDEKQN/da9
CorGYtdbTj1r/rHa//5qSD8zeNolhhjDpgIZXbtDc9TIvDz6ndVrnO8XCwCgOuOa2ZoOx+0sLl1d
JwGAc5i5iSGpLD4AAC/HY/W8gmU2m+dYuy2UBgBWfvxV+wDf9JqHNOClQUdWXdt/cJHjraXAK028
uMn/RiqnZpCXkx32NNvUDAt79qmlR0miCBvg5gWsttTQvm/r65g0ZMurYmbM9tnLsrbYrFq111wG
gF+ZGurx8roYvQrgZQbcfrd92zA8bk1Abv3XcTb9jNU/BWv3LV92aaYMAL/8U+z9mBKBku7/dCDJ
K71+WhyvigvJhM2T9JVuZRYJH6snqN6KqE1z7Ur22m08flIOqlKC3Oc4XAiqEHESJUtIklRGbjxk
rkoDgOrC5AjntYd88gUAgItcITvhwM7rfZ3MzrmY8cuSLm0K8E2vFjSrDgUVKaHZoB3uGViGC7DQ
kwFMgz4RCUxcrDBE+b6VRc6EcJKdt7kPOrTY+ewMQfmHi5seezezVwF4ZdTmOTZ59rYrHZ3tyAC8
ioy3j1NY4lVvo3g5HmtWyu3dseXwqY3ATHxyarr9XZEPq0AQpP2pfRO67FTPYG/SBo1FQZVtFYlE
n4PPrs/wm/v38Z/70CRKl4VhgZtKbcZOftouHweEIEiT0QZu8Quf/mK0oTO9RaOBCIK0UDsbq6DI
KKqrqnAAZ5eXVnBb9fJ2BEH+OBhVTlVBggQ0lZZfLoIgSCtoZ70KTQvXRAsAqPZfOn5uSGO36iMI
gtSRGbEn8bJB7W2r+W0bC4Ig8HUGBEEQBEEQpIX+8DtLEQRBEAT5ZVCvAkEQBEGQ1oF6FQiCIAiC
tI7aXoXsVM+Yqqvj5Ns2GARBEARBfmNorAJBEARBkNaBehUIgiAIgrQO1KtAEARBEKR1oF4FgiAI
giCtA/UqEARBEARpHahXgSAIgiBI60C9CgRBEARBWgfqVSAIgiAI0jpQrwJBEARBkNaBehUIgiAI
grQO1KtAEARBEKR1oF4FgiAIgiCtA/UqEARBEARpHdhgae22jgFBEARBkD8BGqtAEARBEKR1oF4F
giAIgiCtA/UqhJPoNtVxt/VElXZURyS5flbbtq3vL9nWgSD1SPIDVu7auWmA1E9afzvMQ6TlUNog
f6jalJOd6hlTdXWcfNsGIwwmP27P/fL4G7v7SfzKzUpoz9xsPrGvdIt3S4rqpPWnoqOiWAx6Jf1J
2FnzvhJifNQYksJgq2XzJmlQWxrSfxxRRmEyXXSnThygQhZ3ZaQOA5cunj2xE6VVQ6z3fR620e7Q
ZNID9vtHlgVs1pPF2jqUJhK2V6K0+alatXpFrRD5eX5WSjeZVFej3Q6rLPS7KZDgS3F62KMLNgcD
sngAAECS0urdmSrJ6atKA+C0caBNRlKbvPfG6gGRLnu2huTxZFS6KBQV8UR+1C7QeiyPCrDp9fXf
7MDpozYGstowIrGRNVb5+R/TafhfgiDrf6YGVgEQZxStj+URn8nP/xkfX8z/dfE2wW+yO2CSHft1
o9FI2ppSGFThbR2O+ITvlShtxIRJ95lpe2LdzDGdJb7kvr14ZM9u/+wvLYqwWdX7m+wpf5x20quQ
7GN/5bAtPHPYcOh1nkBFW1dPqbDia/bwC65Zmb7vxv3wntmWQTYTtfPgHhIlT/a4+Eewxf+oXeBm
35497ZUkBgDUnguOX5/Z1gE11ftjE7dF1SWNgPnpc+1ff+uM+k2Cx0tfLpq08C9SJr1I0NaxNInw
vfI3qfnG/brgyVqmh18e1nl1bJvBqwLpwQv+PXoez5m79d1nEcu1eoS/dXv9xtrHpBtFedD4znjI
of3H/CPDY9488Lmw/Ty9AgcAksbcaywGvZJ+L/juo9uGct8tSFMfs/Ocz6dkOotBZ7578sZjg6ES
CQBIyvqHr9xKjo5kMegsRmi8x4aZnWkNNjfE9phXaiKdxXib+eDIxhGKdeNqmGwvk9M3A8oYdFbS
s2d2fcSMn9ZprP352zkMOisl6I3LqsmdamcoZIbuzWZEhCzuCMqzXsTRWQw6i3FnQ3cK8Uci6a69
kJxAZzGiGN72i/+SxgAASGoz3CsZTw4PqBvrk9O/GUdP2dHn6yUYZFUD15dvK4P2maiK2+p4dVlq
MiPhAyPhAyO58JvOvvA6JCkOWXDC5UpseGg5g85i0FnRl+16UgmXkhhocz4xls5iRCbfPHD+0v1C
RvSnO1undSSLUy4iVTnvP9TGn/AhLZMlIM6omkZ5Za4Cqmav4msaJeyangwAgESfg8E1/1P3J855
vEz9sqP3Pyhh0FmMsIQr62fUT1GROhkfio15y2LQWYxIxi1Hq34ydbVPUFHC8pAoeOKcF7anEDal
uDCJjiNnmlv8VdMmmMp0DxaDzmJEF7y8Fvwi+MF42a/fbOdpI3yvRGkjdtrIDrHfPrrE3W6pa1DU
h6Qgb+fd0R0XWw6QrVujofW+54EhVTUZEnR+iw6t+dUrtDYIVkjWNDmZx3h5eVLNdApJbdLhbMaT
03odRB8WGw8eQOgpgCBFgdp5wlqzUT1bPsPe7rSPsQpeRVp8OWZiNqVfsPf7zw0HSwWFjzfpxkhR
1YyveSz7bilMftgR79NWpJdOW85EFoPG+C0XLEb1kT39rFRAku5moKdd7ek4J6iIpDbUZqflNZeS
wbOuMLiAyQxyuuG+stpvp+2JaKaKwfJtey8fqzBa4Z7NJ6uMP3/D0aTUf5ddQBq128QFq/qLETzW
YfhRn1PL+U/t159IxP4y37Tmto/S1GkHgirwzwmnxk2+obvGxWN0xJIlF+I5AAJOQTYPAAg+Er1F
dvy/O8+n8LrOWWd37rpc2aRt94sFxVH+MbB70hgN+/iMagCpHmOGSVUFv8z6OvAooak/SZNMBj3D
LrR7RaLHI4kCEF6HAGS1UfNWTIQrB/bvYBRX8qkKSpQPuVzCpShqg3S75rn9b2fqtJOHl1ZdnmeR
NeuEw5k1jwN3x4ksVxMRZVQjjQL8ihw2AEB1mvOi/12hYQAk+cErfA8aVt31fdfgt2z2i/M7nmSx
lf5es2vZ9TP5A+fdSOcBgKAs4aHTlrs5RZ9JSv0sdmw96caJm3Awkg0EFSU8D4mCJ8p54XsKYVOK
RJLpMnS++UIbs7G9qVk+25/fSM7jAl4WuE13ijQJgNJp+vVLFl+/3f7ThmCvRGkjZtrIDvzfdIWM
Iz7J7A4DbR23rZvYR10SIKm7MjmyCtTmnfC+ZCQIueq2MiI9j01V1ZBNy+M1f68UXhvCV8jPfuCw
aKj3fedDUSmr3b4YnTtsWOK+ZEd4hYghNbKw4AlOAQQpGk/T0p23deGhPQUht26c9bz7JKWyPc1+
t0T76FVAVfSmZcflTm+Oipj7yPumi9eDl1nsms4Fj5mXwgQKu+iHKQJS58lrlmtkH52x7VBSNQDI
S1mAhULDb+REBj4KYQJExkvpJe6eNEbFi5EHGsbrbTpHWRs43SgUAEBUCj467IjVBHWPK/ldjK1M
OzB2zHY89ZEHEBJcNdbKpeEKSVKyMhJkDABwPqeqisMHACBpGq9drv5xn7H9cUY1QOjLFGq/h9YO
Uy6G3MznfylJTatSKOMCtywjLf1Dg0MaLvwj4duqFeN+5vRTJgC8SCQPemq7ZfLJR1dzeUURV+Pg
1NQxWhcyUnnULnoj1Ktj7ybVjzp+jnNZvI9piIWfiW1RlwKAJLwOc2p3DHaqr8/jb6/AIFiqHADw
spSo6HB+AsdSMTk8IpT1dsscnS6yWNxnUeUiMuJEHqPu7x+ODzT1SuMRZBRho+DVxVkZxQBkFYML
mwxl3hw1PBBe2uA49DHQ/04QEyAySW7s+13Go5W80wsFAPAlK9Q3q+Yr8QnY6LmuQ/XVKZEZdQeQ
RiqKrCU8DwmCr9FozgvfU8RoykaRZXXGmq6ynG85qlN5fMBFx2WXHtE/fan9PcBn5aekAgBQOMUN
qvA3SBuCBEBpI17aFGr+3Ueu4l1kkcKsE+cP9g1as/QQrHE7q0qjYCAz2PqIkWzEXpMZXtnV3wbQ
zOoVWhuERRZUBB5Yf2Dw1WNue/qVGxh+ctE/HSfyyh8ZXWHBE5wCmCA8RQvDj40ednHQhJnWFmbX
/e3K4h6dv3z9YsD7Qq6ISNq9dtKrAEFFnJfZhDu99KctW7TwzgvbaJcNc09FlRD9XpLsqdcTK3ny
5GM1wZcAAIBfkp7zGXp1kiUDULX1tck0GffX0e4NvlHQXYkK5d2Ga0HRg7B8IYdTqcGngy4u6AAA
AOX3DMc6hrEBQKrnqB5Q5P+iLtM4Wa9fFlnPH6EldTO/SrzCi72t73Hz3gYXwcKhmpJXc6v4Bf7X
Yo4fnj5V8/qpT0qjJnTlxbhGVDbYV/glr66cetXskOpJCq9DglMRwVLlX/8pEOCAkTDABTwBkEgY
BiCyXAQaXFchYBd+avlvAYrm4mMHzMB/nu3N5MYv/+IXp+ewoYdmBzIUCgDIHUeZH7SbZdRXQ5HE
KqqSpkGeDJV4zFNSRB6K5ZucF76nNK8pqTqrvKLXdSsOOb/A+PpjBlO86+d+n7Rpdf+htClT7aEE
pdmlskN3j5V6u+uk55uq0WVcUAUAisbfg1UgcdeTXJGH7J8NZycdXXts4pMtll0/7p96JV70ZW0E
wROcAt5//VIjKYoD8MpiAy6vDvDYrDls8fpdR09cXXvfqvfGt80/cbQL7aVXAQAAfBYj2Htb8B3X
OScjDxzY9WLa+rpf1XUHg4a3qGFkKhkEXJ44BwqcLwCMhGEAGEbCoNTfYuml9/W7N84tz/0CFFyA
A0YiCbsPjpNy1Nr6ugQGAAJOQULDowP2zTKtcCMdwba+3RIGgOM1VSAoCLr+lH3McpqW6/Wec/ri
UfYxJa12nRxGImN17UBQh0RrIKj5+n8L+DzBd0G3oFxVOe8/MCob+6SxjBKJ1nvxgRP6JecWHvYv
Fh4Bn8sHEhnDAIDa1czXY12P124brYOTyjH10Ru8N6uI3IyIPBQz+AY5L3xPaV5T8vNDvK+MXrZ4
zMozcl3cvLwvPUnIrxa5H/4+aSMcSpuaNRA0ipQsDbhfBLJqKqTPiTmshj1OXIAD4AR90GZVLxHh
K6R0HjGmLxnnQ7d5/+t75vA7pqj8FRG8qFNAYykKAABk+b7jTKwt5i3W61z54dmZB5ktHEluB9pV
r6IWNyvsVSroDegiicXWDqri1awvAHLK0mSorGtXzqe4PDD6e1RHytss8bvn7NTXafgU3aGU/Dvf
XsEBwE0LS4MpI417SES+b+w0LqhKiY5K+WGFaeHpMGXYhC60qJRqAJDQ0h+nCkmRWS26q6PxbX1P
suvo8ap4Yvinmm0JSsNP3Ct5On+eQab6cKCvC/72Jiyy8tiFC41IEWe8ogqafPObROdeSsAsquAD
YR0SIFjqaxayXq4drQAAIN3wYxHlapbGMqr2E87napBSlP3hkkXJXosubxmQ7rLQMUrkIahuke6j
BpCyTxx2906uBoB0ubwvIPL0wBaRh0TBN4pgT2leUwrKY2+uNvPZ2kPPwmLh6sOeO/d/DPDxPud5
70UmW/hK2lnaNGt3QGlTsy3hjULmsLggKUdjZ1WApJIsBeDrgD4v/118CRhbTOh062ZOo8P8zahe
YkJWiMkOsLq5Z0jc/nlrv2wMcTp2NGL26qDy+nN+I7lBELw4p4BGUpSmOmjuovkrF0zSVSiN8ru5
3PT2vYTS3372A6C99Coo6oYHbHXSQt/G5zAFcl0nLlk5CBgOSayv+SqoTIvIA1urVValgYXyGhIx
t2+kVWfc93ixZs++czv4/77MpGiOndcHIE/UpgQ5j06es75o6+Wu+O8N/6QSrpRqL40KP6+gTzxB
9qOz7qtdN3mcpjh7B2VzlIZ1BBA5VifIfnTm4mrXXRf28Zz9E8m9F22w7pXvO/Vx00/cYtMYNtaw
qlRKa4SV3WLt3Ftrn3zd1uc3l68lmtm67wFS1LYX3/40kx640tN+tirMVIgzXhMjukNM0ZjqYj8g
9l7gmwK884h5hyfJ5F59kvwFCOuQYH3NW0p0uZqn0YwCAABuTmwq29pgj63J4dBiilpXuXe3r6Vy
gKJpud9mMCvI5hWvu04vAAABOzs9u5wweE5mdAroW6xdEOcVncXGlAeqiXHriug8FB58o3jC95SW
NIqAmR76r2PoucMaY0zM1ixeupkR9DKTLTzt21faNHV3qI0GpQ0AYaNwc5OLYGJvDfaD2wngZGms
E3Ifq5u6qXrn5hBieNbp6gOdy56v0wo4lA5qnSjRd3zSq5tZvSIrpbEVYnJ/O55Z0eXFtiFejDzY
bTPuzuWjWx9O3vmwLkMazQ2C4IWfAqSFh4ZJ9Z2/c7rSs/N2y2+FfKj8ve6+JtY+ehUkCsbpMHzd
viVd5UgAnNz4YKdlx06lNei3cZKdt7kPOrTY+ewMQfmHi5see6dV8/IeWpjLndiz7PBpUxKvOPEj
CQDn4yJ+D+DMmO2zl2VtsVm1aq+5DAC/MjXU4+X1oE88wCujNs+xybO3XenobEcG4FVkvH2cwhLR
3nhF1Ka5diV77TYePykHVSlB7nMcLgRV/JQZXMHnzOC32WaL9vktAeCXxD7912S/R3CD2eLqj3cd
tqWnvAAAIABJREFUnyzzmYz7Xgr77jEBnOywp9mmZljYs09iTWtieFWWYNB653nqNICqT4GXt284
EVcz4UdQhwSat5TIcjVTYxklAADAS4OOrLq2/+Aix1tLgVeaeHGT/41UDqYyfIEuCWDcvzfH1a0i
ad3YRe55RNFUZ1wzW9PhuJ3FpavrJABwDjM3MSSVJaLDKToPGwueYIUEe0pLGqU2WnZu8M3jwTdP
kDC80br4mp3tKm2aujvULYbShjhtuNnhEfkbp/yvd+n6zYfHXN4eHbcFAD5HMKtxAH6Ox+p5Bcts
Ns+xdlsoDQCs/Pir9gG+6dWCZlWv6CPBjytMpw6zdVol+3S+w7M8PgAU3tl7zPKZw8l1t145xNSM
JjWeGzzhwTfnFIBXBO/oO17wGz0eTmy1b0KXneoZ7E3aoLEoqNFJ6N8BuYfljfitZQtHrvQr/xNb
SlzUv1bdjJoXOm7yCfrvP0HXwJ9arl/v1+0pEr1Xv/VfFLfYcGFYWz2QFaVNaxE7bWg9t93z3VZ5
eMiim2l8mrKaqnR1aW4JwSAW8odpH2MVzSStY7lgADM1M5+FKfX6Z936XlWvtoaLO3f5hyHJdeur
I4cpDpp7bJ2S31rPuD/kGPqnluvX+pV7CqXT7A3zu31MSCqTHmE+v0d1rBPj1z84FqVNa2he2lSn
n93m9j+frY9PUKwO3X2dV4IpS1AwNv+/eWD+L/qdexUUhZ5jZq42/UuBBiBgZr++t3/K0ec/8XKG
dk1y4PKjT+epC8qSbjquWP+c8J7c38mfWq5f6pfuKVSFrt1H2Zibd5SEqpyok2sd7rTBE7tR2rSC
5qYNXhV73mhe5Zkjax+93AgAUOY38Z894e3ypQTIT1A7A4IgCIIgrYgkq9pJXZpfml9YKsYlEMif
AvUqEARBEARpHX/em00QBEEQBGkbqFfRYiS5flbbtq3vL9ZLNFuXRLepjrutJ6qgVkQQBEHag9rz
kexUz5iqq+Pk2zCSb14ZHOkzRkb0Iu0DSWGw1bJ5k+rfYvzrSGjP3Gw+se8f+C7dViA7+njx19dP
h2zUbYNeH4IgyH9NOzsfZXta99Uz7KlnbBUh3kspAQCT7P2/QwxG4LkhUi3bOKY0/tCHxNrzUMVb
v8dOc4Z1aGcV1E6QOwybv/PRs1eVDDrrw8s3Lisnqor9KF2SzF8TLc9evJkSG116e66WyOVonWeu
Pxb6OpLFoLMSn4edXjpW6WujYLI6pme9A0oZdNaHwIgzlmPqPwJWpENfPcOeelOnXytscgERBEGQ
5mhnd5byWGX5RcWiH8Rai6IycLKdrc36f9ShwQsMmwujKmh0oX48snzXg0ppjT7jN+/Y8bQnPtjc
NxPdl/YtmpbJ0fVDc2+cXPi2SKL3pF1brW/JZPezfJgrqqIwqZ7Lj507pJvtff3W1svpmXlZBSKv
DefzKTIVz/61d8pid9Ax3Lpp7W2JjzorA0twICkbnL++e0q656pFz7M7DF+/19bfjTfEzIvBBQDA
uczCIiYAreNn1H4IgiC/Rjv/KY4pml6KYkXYj/w6DEHrtTuQXnpxgjIGINFz7WG7iaw7FnZ3Gn3/
B1nVwPXl28qgfSaq4peTlZGUFEN/8/D6scVHUmjDTMfXLUtRHmJ7zCs1kc5ivM18cGTjCMWGP7N1
115ITqCzGFEMb/vFf0nXvbOO1Mn4UGzM25ppHcYtR6t+MnWhkOT7z3O99biIQWcx6My45xFOeop1
iwnfFibby+T0zYAyBp2V9OyZXR8xS0XrNNb+/O0cBp2VEvTGZdXkTrXzNSRl/cNXbiVHR7IYdBYj
NN5jw8zONJFrq87wmqg/a8GJuw9CQn0vHljtW07rr9dTQtRimMyIjSf3qlw3mLh89dnbd0PpMWkl
HJHPxuHn++5z2nP9aUBoiI/74R0h1dK9+2lQAQBTHrXARO7jwc1nvCPjXz+9tHzbC/bARVY6IuNA
EARBfpJ23qvAK17fofOU9U21a08VNC2DWV24r+/Qy3AATrKjseHIdW6Psr40em6S0NSfpEkmd9Yz
7CL6TPnjtj9XfgGgSlEwAMBkBjndcN+jk3rcdtn4RTtc8ofuvXzMUrO+X4Gx4//daTfL7mywoum5
647Ta6+gFJQlPHTaYjNxtoXRihOBCiYn3WyH1fSQpAbsd982i/9kneWSf2YvnbnlrHtwZs3r1Ai2
RVYZf/6Go6XSG0c723nbPcM/i9V+WIfhR31ObdNJdV6/dtZGr5S+K277bBnXAQMAknQ3Az3tar8D
c5bazNvukz3I/JrL/F6iLxHBedy6QQaStKaGNOR8yBP1OgWS8uid8zWxDtN9X79hfXj9wcdxxQDZ
JiQgWaa73rx1w6jpz15lVAMAJikvQ4Kq/KqaSHBmSmQqdBzWU7bV3qOMIAiCNE07mwH5gaA40i+U
d8DEuIdDfNIXoPWaNl2bHbYrrKz2TEL4LrHPcS6L9zENsfAzsU18YC+JpvqXoYPtQH7c8WcFfACS
hvF6m85R1gZONwoFABCVgo8OO2I1Qd3jSk7NEjHuZ04/ZQLAi0TyoKe2WyaffHQ1lwfwJSvUN6vm
K/EJ2Oi5rkP11SmRGTygKmjKQxkj+kV4bAEfIJb+ddvCt5XfxdjKtANjx2zHUx95ACHBVWOtXBRE
FkbTeO1y9Y/7jO2PM6oBQl+mUPs9tHaYcjHkZn7NN3IiAx+FMAEi46X0EndPGqPixSB8+1EDtF5z
HE7qF7ksvJsm6m1P0r0nDKcxIwIun3qRWkrrPmuz4wkv+aKJm+4Wi9wWSc3EnXFMlwzAiT0/6XR8
FQCAoOhdZCYstls6MuhkeDZPWrN7J1kApiSFBIDmPBAEQdpCe+9VgKA43DWEc2PqlD6nkuh4z4Wm
muXP9r0qE++Z8vySV1dOvWraBvu5vI52AQCAyih3U7vrDC4ASGrra5NpMu6vo90bfLWguxIVcrjf
Ls/NextcBAuHakpeza0CcsdR5gftZhn11VAksYqqpGmQJ0MlAQBURmzb++K+05l0o6R79x5e9bkf
kFrFB+JtlXcbrgVFD8LyxX6hJACAVM9RPaDI/0V27WACJ+v1yyLr+SO0pG7mf9vb4pek53yGXp1k
yQBi9CowmUFLjj7e0Ttw65KdUSJfD0CSUVOXhU9+Nx4H5gsAkhN3as14bG01TN7vsciXXAmKX9jr
zdbo3nfs6g0rn1/F/pl//h0bviS5mR/qdm3rv8nLAQCABwDcgHxR73ZEEARBfpZ236sAvCLI40X5
FePFfVwYlLkLNQqvX4n9mS9WTXcy33qvqtvqs0dnlTPel9acoTCMhEGpv8XSS+/rLyXFueW5XwC+
v4kBA6xuEIXa1czXY12P124brYOTyjH10Ru8N6vUfY+TfHPTgGd9jE2mmZmuvGVpG+22ztQ5soRP
sC0KLsABI5GaMcSPfbOM0BXgfAFgJEyMDZDkRq7513+tsq/torWP88V4mTTOq+YByKvXdVm4xR8L
gaTcUZYM5SJ7SfyqnITYnITYNy/T5RKvLlw30NMy8jPgrOiLdjpX5DQ0FKhsprSp29vN3IA2eJcV
giAIUqOdX1cBAIBXRl/1yFE2W2Y0z3qy8oerroliT2eQlcda2O5bMlxN7NseAdi56elJCS+2r/Ms
MdpxyECRBADATn2dhivpDqXkJ6emf6j9k5FW3Mi1hpJdR49XxRPDP7EBJLuPGkDKvnDY3TssIS4x
Piw277vQq0uS/C4dNZthNOxw+hCrbZZaFMJtsdPC0kBlpHGPJl2QyE4LTweVYRPqLi6R0NIfpwpJ
kVktOP2SO09zurtW1ddmiU2jXYpGah5nfUzIhi4TdZVr/k+yywAtYKdnNOhSiNNefBwHjNzwCzxm
blZ2obzRkTXazKcX7+ahoQoEQZC20v7HKgCAk+LmHr/WwfE0sJ/YPkqvPwthkqpdeypTpbopSQBV
uat2f1ZVWWZmDrt29F564EpP+9mqMFMhznhNTJMurcCr4i6uvzvjnsMK1/Aj4SxBzqOT56wv2nq5
K/57wz+phCul2kujws8r6FNdMBrDxhpWlUppjbCyW6yde2vtkwI+ACczOgX0LdYuiPOKzmJjygPV
6h/FJKtrv8OgPDySnlXOkVTX1+0I/KwCtgCAYFuC7Edn3Ve7bvI4TXH2DsrmKA3rCCBymECQ/ejM
xdWuuy7s4zn7J5J7L9pg3Svfd+rjAn6z21+q/5bt/2CBey9nKejo1FzYgbNyMzIqa8/ojdb8l5Q7
LgmL9u/as7Xi3JNyLXPHBZo5Nxe/rfq61kaXoqiOXr9A69P7j/mfQUFriIXtTJUiv8vv2QAAmGTn
3r16anYfOnqy1cJRnZO9Ztq/LESvMUIQBGkzv0WvAviZ911u2Z0zq/LZ97KkwVmD1sfqfKilWs0/
ph32nAasW+ZGS+qeoMXJDnuabWqGhT37JMYI/XfwyldnXKNNNh+Zc328xycuM2b77GVZW2xWrdpr
LgPAr0wN9Xh5PegTDwSfM4PfZpst2ue3BIBfEvv0X5P9HsGVOABUZ1wzW9PhuJ3FpavrJABwDjM3
MSSVxQcAsoQkSWXkxkPmqjQAqC5MjnBee8gnXwAAuPBt4ZVRm+fY5NnbrnR0tiMD8Coy3j5OYYk4
keIVUZvm2pXstdt4/KQcVKUEuc9xuBBUId61KY2hdhyopwJy43e/GF//n2+3GRrcrr3wsvGa5348
u2K11J5NNmc9dmLVnyKum1ufafi0s0aXIkkpdRk628a6uyoVgF1AD3abf9i9NngJ7Q3uniuVK9Le
v72/Z8XpW29ymt7OCIIgSOupfWep7FTPYG/SBo1FQT/zkgVCEn0OPrs+w2/u38cZYj8FC0FEog3c
4hc+/cVoQ2d6E+8EQhAEQZqonY1VUGQU1VVVOICzy0sruM3/MY0gGFVOVUGCBDQV6SZcVoMgCIK0
QDvrVWhauCZaAEC1/9Lxc0NYbR0O8huTGbEn8bJB7UNZ89s2FgRBkP+I2hkQBEEQBEGQFvoN7ixF
EARBEOS3gHoVCIIgCIK0DtSr+J1JdJvquNt6ogpqReSna//J1v4jRJD/gNodUHaqZ0zV1XHybRiJ
RJ+DwXQWo+ZPpM8YmTaM5XchoT1zs/nEvtJiHEYx+XF77pfH39jd7w97UTgm00V36sQBKn/afR7t
rlxNSDYAoKhOWn8qOiqKxaBX0p+EnTXvW5N3PzMPmxbhL9N4kUkac6/VHe7oT4zk2iy8ZvuFhxTZ
0ceL6+qKFbJRV1L0IkjbaWf3gGR7WhudT+cAzi7/LPrb5A7D5q7Zs9RodDd5Mr888aX39t1uz4ua
/cBmTGn8wbCzk7pQAQB4FZlhj6/tPnb7TcUf8bBGkpRW785USU5fVRrAn/RAEFofyyM+k5//Mz6+
+I96VPdvXS6S2uS9N1YPiHTZszUkjyej0kWhqKjmKbR/bB4K13iRBYUBW4fFSdHUplxxt2zL8Jrt
FzYlK9Khr94BEtD62lx+MOGnbgppuXbWq+CxyvKLisXMUJqWydH1Q3NvnFz4tkii96RdW61vyWT3
s3yY28yjMEZV0OhC/Xhk+a4HldIafcZv3rHjaU98sLlv5u93WP8Bv+Calen7btwP75ltHQryx6N2
HtxDouTJHhf/iO9eNvMfzEMhReZVZCdWAIX5txi/n9qlX9iUOJdZWMQEoHX8/Acci/947Wyw8HuY
oumlKFaE/Uipuv+h9dodSC+9OEEZg+oMr4n6sxacuPsgJNT34oHVvuW0/no9G4zGkVUNXF++rQza
Z6IqfjlZGUlJMfQ3D68fW3wkhTbMdHzdshTlIbbHvFIT6SzG28wHRzaOUCQDAEgMtDmfGEtnMSKT
bx44f+l+ISP6052t0zrWjlzTOo21P387h0FnpQS9cVk1uRNVZLmEbwsAMNleJqdvBpQx6KykZ8/s
+ohRotqx1kr6veC7j24bfjPWSlLWP3zlVnJ0JItBZzFC4z02zOxMq/+Ypm5ove95YEgVg85iRBcE
nd+iQyMqFwAASXHIghMuV2LDQ8trRiyjL9v1pIr6iKDIQsOQGbo3mxHxylwFVM1exdcMkIZd0xNj
7qzJ5SJoZREJIKxcBDVPWC6SfP95rrceFzHoLAadGfc8wklPUfQrZkmdjA/FxrytmV5k3HK06idD
Ep0AzUi22uBDFncE5Vkv4mqCv7OhO4UwD8maJifzGC8vT6qZ8CGpTTqczXhyWq8DibAOmxchQOsm
AJCU9Y9c8/tY01JJz1+fWjZetebnGtGuR4xod2iUzKibcfSQuR0bHukUJ7tXxB41kAGCBCDYK4Xn
RvMPKTT1MTvP+XxKprMYdOa7J288Nhgq1WZisxIbaYfa2VjF9/CK13fovDH6ptoSEfEcAKBpGczq
wn3tTC/DAQDnfX3+JklaU0Macj7kNXgThISm/iRNMhn0DLvQ7hU19XHN+OfKLwBSUhQMADCZQU43
3FdW++20PRHNVDFYvm3v5WMVRivcsylqg3S75rn9b2fqtJOHl1ZdnmeRNeuEw5k1jwN3x7E7DD/q
c2o5/6n9+hOJ2F/mm9bc9lGaOu1AUAVRuYRvi09WGX/+hqNJqf8uu4A0areJC1b1F10QQeHjTbox
UlQ142sey777jCTdzUBPu9rTcU5QEUltqM1Oy2suJYNnXWFwAchq8054XzIShFx1WxmRnsemqmrI
puXxAAATWi4cgKw2at6KiXDlwP4djOJKPlVBifIhlwsABB8RFJkgjM8Jp8ZNvqG7xsVjdMSSJRfi
OQDAr8gR9SrW5pSLoJXTiBJAeLkIap6oXFID9rtvm/XRw9YyKIVJ6tCpa3d+Jkv0Q2gFZQkPnbbc
zSn6TFLqZ7Fj60k3TtyEg5FsogRoVrI1FryAU5DNAwDhecjPfuCwaKj3fedDUSmr3b4YnTtsWOK+
ZEd4hYAwN5oXYWsnQFy1dLdxw7tWXNqx/FWZhObwlRvXPLilMnnGkZBKol2PANHuIAyvLK0M76ch
T4UiTLlzZ3JxeiFPUaMDlL4r4gJBAhDslcJzo5mHFEx+2BHv01akl05bzkQWg8b4LRcsRvWRPf2s
VNDcxEbaoXbeqwBBcaRfKO+AiXEPh/ikL0DrNW26NjtsV1jZtxc70HrNcTipX+Sy8G5a/RtN4XOc
y+J9TEMs/ExsE7sUJJrqX4YOtgP5ccefFfABSBrG6206R1kbON0oFABAVAo+OuyI1QR1jyvlAICX
pURFh/MTOJaKyeERoay3W+bodJHFEpSN1y5X/7jP2P44oxog9GUKtd9Da4cpF0Nu5gsvF6mz0G3l
dzG2Mu3A2DHb8dRHHkBIcNVYKxcFkaXhMfNSmEBhFwk73+ZEBj4KYQJExkvpJe6eNEbFi5EnkNG1
PmIkG7HXZIZX9rcv7SJpCi9X7WGPnerr8ziw0YejNvIRQfXmSAgNA/AvJalpVQplXOCWZaSlfxCv
kZtVLiYIbeU04R8lKAovF0HNE5WLqqApD2WM6BfhsQV8gFi6WGUG+JIV6ptV89f4BGz0XNeh+uqU
yAye8DAwrWYlG0HwRHkoqAg8sP7A4KvH3Pb0Kzcw/OSifzquCgfC3Gjm7tDaCRBXCgAAedGhz8OY
ABGB7/E3fpaOkzyMbhWI3PUaQ7Q78IQtxC1OLMKXdlWkkpSnn73nLuvcf+Yd1W6KgvzUAi6AqAQg
2GEbTdFmHVKg8+Q1yzWyj87YdiipGgDkpSzAoq69mpvYSPvT3nsVICgOdw3h3Jg6pc+pJDrec6Gp
Zvmzfa/KGnRiMZlBS44+3tE7cOuSnVHMb3q3/JJXV069atoG+7m8jnYBAIDKKHdTu+sMLgBIautr
k2ky7q+j3Rt8taC7EhXK60MV4ICRMMAFPAGQSBgm1XNUDyjyf1F37OJkvX5ZZD1/hJbUzfwqoeWS
IthWt+FaUPQgLF/osaVl+CXpOZ+hVydZMgBJ4+/BKpC460nuD+8BJSxXc7ZLUL0FwsNoHkqzyvX+
65d+aGUQ/hFBuXK432y6Yc0TXh1cGbFt74v7TmfSjZLu3Xt41ed+QGqVGFPN5I6jzA/azTLqq6FI
YhVVSdMgT4b647RgwzBoPznZvoezk46uPTbxyRbLrh/3T70SX3u+Itr1mhXhT0yAGuz0oOdFS830
tKRuFbT27iC8VyFgZaYxZXt2kldWWjiABNTJ49QCKnrKlTFyWDiInQAExE5RoUtRe+r1xEqePPnY
2K7czMRG2qF236sAvCLI40X5FePFfVwYlLkLNQqvX4mtf7EqSW7kmn/91yr72i5a+zi/NU486U7m
W+9VdVt99uiscsb70prExjASBqX+Fksvva+/lBTnlud+aVCDuIDPE/ywv3171Kn/h9ByEW0LF+CA
kUjNmm6s628RLozzBYCRMAwAxwU4AC50xxZWruYgKDKICKPpWliuxlu58Y+IyvX9NHl9zRPjJN/c
NOBZH2OTaWamK29Z2ka7rTN1jiwhrCBqVzNfj3U9XrtttA5OKsfUR2/w3qzS+FcbhNGSZCMgPA8p
nUeM6UvG+dBt3v/6njn8jonDz9gdfl4C1H0DBABYg/WItes1jEB42gjHyYzNE4zs1X+s9oCUy6co
cxaN1wlVh8zbeV+alABE5fo+RZt4SMHIVDIIuLzG5zWak9hIu9TOr9YEAMAro6965CibLTOaZz1Z
+cNV18SvOxe58zSnu2tVfW2W2DTapSArj7Ww3bdkuFoTbvpn56anJyW82L7Os8RoxyEDRRIAADv1
dRqupDuUkp+cmv6h9k9GWjGnwQ7Cerl2tML8gOL6/2KnhaeDyrAJXWovVpLQ0h+nCkmRWWyichFs
i50WlgYqI417NOcGcbya9QVATlnMN3jy8t/Fl4COxYT66zDFK1czEBSZIIzaYnE+V4OUoqy4TdzC
cv3YygQfiZM2whCVq7okye/SUbMZRsMOpw+x2mapJeLHgWT3UQNI2RcOu3uHJcQlxofF5okxWdSi
ZCMgJA8x2QFWN/cMids/b7h9pMayY0f/URC16zUvwp+XALWonYaOVQXG2+yvlUyw6wm4HC6AtLxk
gyNx89JGUJqSXKGqZ7XsryQvH9draX0t5k9XK49JZQqamQCiNfGQwvkUlweqf4/qKDRdm5rYSLv0
W7QaJ8XNPX6tg+NpYD+xfZT+dRBQqv+W7f9ggXsvZyno6NTMz+Gs3IyMytr+rfTAlZ72s1VhpkKc
8ZqYJu1HeFXcxfV3Z9xzWOEafiScJch5dPKc9UVbL3fFf2/4J5VwpVR7aVT4eQV9Ihp8FWQ/OnNx
teuuC/t4zv6J5N6LNlj3yved+riAT1Qugm0Jsh+ddV/tusnjNMXZOyibozSsI4C4AzSCyrSIPLC1
WmVVGlgoryERc/tGGtGyVe/cHEIMzzpdfaBz2fN1WgGH0kGtEyX6jk96tYhyNRlR9RKEAQAA3JzY
VLa1wR5bk8OhxRS1rnLvbl9LJbo3uVnlkm71cokipFyyuvY7DMrDI+lZ5RxJdX3djsDPKmCLGJHm
ZEangL7F2gVxXtFZbEx5oJoYjxFqUbIRrbexPMTk/nY8s6LLi21DvBh5sNtm3J3LR7c+nLzzYUnr
7w4/KQGGLF9rKx2eytOavc62T+XzBU/qJ2YIdj0BMyO2BJYsWWpeHsFUUKfE3PVJr25e2rAz3zKo
JsaawfODCj5RvKMdDhiQopw+VUMzE0C0Jh5SeBn3PV6s2bPv3A7+vy8zKZpj5/UByKv9sFmJjbRL
v0WvAviZ911u2Z0zq/LZ97Lka6JROw7UUwG58btfjK//6ttthga3i2u+w8kOe5ptaoaFPfvU9KMh
XvnqjGu0yeYjc66P9/jEZcZsn70sa4vNqlV7zWUA+JWpoR4vr4vYz/GKqE1z7Ur22m08flIOqlKC
3Oc4XAiq+PqTo/Fy4cK3hVdGbZ5jk2dvu9LR2Y4MwKvIePs4hSXevsdJdt7mPujQYuezMwTlHy5u
euxN2KsAXo7H6nkFy2w2z7F2WygNAKz8+Kv2Ab7p1QIR5WoygiIThQEAgJcGHVl1bf/BRY63lgKv
NPHiJv8bqRyiGmkn5RK1aKPlwiQkSSojNx4yV6UBQHVhcoTz2kM++SISoDrjmtmaDsftLC5dXScB
gHOYuYkhqSwRncAWJRuBH/MwnTrM1mmV7NP5Ds/y+ABQeGfvMctnDifX3XrlEMNs9d3h5ySAQEbX
7tAcNTIvj35n9Rrn+8UNwmhs16v9mJ1wYOf1vk5m51zM+GVJlzYF+KZXC5qVNoKKlNBs0A73DCzD
BVjoyQCmQZ+IBCYOzU0A0Zp4SOHlPbQwlzuxZ9nh06YkXnHiRxIAzsdxACA3K7GRdqn2TeiyUz2D
vUkbNBYFVYpc5CeR6HPw2fUZfnP/Ps74bzxyD0GQPwGly8KwwE2lNmMnP/3PPNqrFZB7WN6I31q2
cORKv3IxO+60gVv8wqe/GG3oTG+VKRzkp2hnYxUUGUV1VRUO4Ozy0gouulsZQRDkTyGtY7lgADM1
M5+FKfX6Z936XlWvtoYzRR/nMaqcqoIECWgqYl7CgbSldtar0LRwTbQAgGr/pePnhjT6uAMEQRDk
90NR6Dlm5mrTvxRoAAJm9ut7+6ccfS7O1VgyI/YkXjaofRBx/s8NEmmx2hkQBEEQBEGQFvoN7ixF
EARBEOS3gHoVCIIgCIK0DtSrEE6i21TH3dYTVdpRHZHk+llt27a+f6vcbf5baoeN8iuRlccc9bx8
dpQY72X9rcJoJ+X6TlslW/usDQQRT+3+IjvVM6bq6jj5tg1GGEx+3J775fE3dvdr5cf8EZPQnrnZ
fGJf6RYfUyiqk9afio6KYjHolfQnYWfN+0qI8VFjSAqDrZbNm6Qh5DmT/wGt1ijtAibTRXfqxAEq
Yl/Yjklr/TNqsLZcqxa/8f2r9m3XNX+eGH3ztutWD+OnlKvFWifZ2kH1tjai4JH/vHaTt1LRTdZn
AAAgAElEQVRdjQ5eupuTTGcx6CXhtx/YT6p/WitJSqt3Z6pk1/+zd+dxMa1vAMCfc2ammmZatGgj
W7b8LFkv4oqy5N7syi5JFImbdGVpsVSyL6FooxSyEy5SloqKSqmppH3fZqaa/fdHUtLMVEJ4v5/+
cO875zzPeec957znPWfOq60s8SNTbCdcZbpzkOWI4otOsxabGW066PlfUglXbNGPJz18xwfafY8h
9YdCXEHX4R3t1RNzLfIPzqs1MIXJru+SPx71ql5du+uyYJRcp2nrjSQGmrqHOBv2/Ka9REK39Tfj
S078QW38XxSD09HMGyY96nszLe9f/OJ7W0f9vXD8ap/0b5ndr6/DqxeTHjjHPiw8ikmLL3vi5T6z
23cfukRtAxGhk/yyVGrgDj83a3iwa7PrswK+kpbOOIXiqk+/OOIVXTCf87Yn593bn/ElMySNYb0l
y8KcPG9HNZ8nQ0RR5yLZa77/yfky97frn0vv3JnWw0jy6t1JWe6rt9+sllYfOHnLtm33+wiGLbv8
4TecrEhQV8ECogSxyRxQGFGCAHX0jy9EFrJ/catyk6uASB9e813T/eV0cPUSNOe4PXYb8MTDXu9J
kfSwxSf2nxLkLdz6+rt+S6htIMJ1jus3ouLQyRqCSNc9HrejX8S9vBly5t9T8VUC+DTUVh1/PeLq
nSsGzYfaJFQnOJwMyUmNZ9Li6a/DXvpuNlDAAQBXHO/mdyk1NppJi2fSnib6bp6tIdEk3Ahrj4D0
5Hgm7dWHm+7/jOnSMAKNUfvOOnrxXgUtnpny4IHNwFbmL6E2ccepK3m0eGZa+EvPddMb5i2ijHTO
pUVFrugKivMeJtRfOodu7kUUXSSWzoYzqUnxTFoMLXjHiv7SGAAArmLkXU0LcxvcMMoqM/5iQnza
toGfrmMIynqnH7+qDt89S7lt3zpB6c9Dvv9OzPKas/VObsNZWdgmi6x5vMuIxYc8/d68eFpZP3wa
62PTp35BXM3Q9U3cKyYtnkmLpl1yNB9EaciynV8KAPN9Skpc/MtbgR4r3NMkRs2ZXL/hkgP3RcR/
Gr9l0uKZCQcmN9zCFt42cNn/GZ++dLeEFs+kxdMT/otyGdel/kQtfIWSA9a/pT31/ePjLBKy+l5M
2iVrzcYG8GSZEiibPEmsX/D5hXEUcWk0gctNsAupeheye5SsqG+Uz6qu5RMlCU17FSQJnF/LYAnE
7F+t0so0voBJdv1j9rLl/b+40v5ihZ26sVHGXkyIj1zYtem2d5nuXfVmvx7lG1QvdcSOf3XLvG1W
nQ6PeZcSHnxgZ2zXFaaDqSIrqr21ASChamCx+79HkQxaPJMWWxR+ym6A+AHjVrXeLwmPJWS7JIdY
nUp+E8+kRade3Hvq3I1iWmxO6Na/uhIAgKQxZYPJ2D6/yK3Sn0vnGKvgVmUkVmKzTGYMigh+W9P0
VWv84ru2OnFkkorhBV+zZkthsqPcg4+a449d7I5Fl4L6ZLszy8cOpB59UM7HpXvqjdNi+zsuCC/B
VUZaOZhe8CwbNs+PxgGMMtQlyHst+5qD9aFYupLeantnH4+qqWu8c3kEpcmnghxnld/ebnMvg9RT
f/G6/7UieUxu9P6QI6t593dsOpSM9V9mu/5KiMLMv/aGVwlqko5Mmh6ks97TVzdq5coziSwAPqso
lwsAIorER6xNPOFwKo3bY8FGm5OBMhXT7G+U8ktjbsfBzmkT1HckvmcDkHtPGEVmRDzO/vRmW8lu
46d1IxBgnEF3ieslrX3hLaHLmN2uB1fwLs9bdSqGIRC7ySJqHoCgMtZ4jT747d2zjVZazSPJKxDf
5XMAAIBfkXTLxe5qXkkNrjBo+bath71YCVP2RddC+76UzwlqqusAyOT6y3V2xoGlc/0kMABcdtia
y/sMGFcvv64FAFFtA8iD93jbz8vytTYNT6Pjcmo9evE+MOvrQ/gKRWihAQCvKq9WTBqNX4ziVPtT
IYs5R1auc3xZLXK+BD6jsk6gRCIALterfy9+TkI2QZIgYBbX8kTuX63ShjQ+wSndRy5atsTKZGI/
UnbIv/8FpRY07vNfrLCzNzZuRUaFYJC6LAlKMEUNDUJpZjG3i7oclL8u4XR89VKHzP1b/r17SGqt
3BBrR/uN+gNVpQBSeikSoplUoRXVvtoAgorxoeBzU/mR573WRmUW1JKU1akZBWKOUa1qvS1sqdBY
whsAUWWoTo8Cr7kO6X8ddlvF8DFenj3v0K5j6+8+2pkooaljvHWJq1NR5KWg4/5Xw9KqO8295V9e
5+hVACPW1uygzNEtMVEL7wRf9Ay4+Ti7tv5Aw6UXpNGBWFvyxVEa15i+frV67n4je9cUNgDIkpfD
cvmmn8iLfnQnkg4QnUgel7xz2gSlAFoBqBtustKIsdBzCSrmA0BMmkD3ubv5FFVfv8LuhuZz5Gjb
5jseyeICREYwJpp7Nl0hTqZS6i/5BDwWg8HiAQDg3Qw3rFbN2m244yCNDfD0cRpp0C2LXTPORl4s
5NWVpWcw5Cs4wKl4n5H5rsmpXCC8SHisj+K8jx29TweAh8mEofet7aYfvnM+n1sSdT4BjsycoHnm
fTqX1H3cGFX2m6spjSOUNQmeK3bTDbAXx960/h36youPHqGSXq03cAtrnC1J1CYLr/mGxWvTL4fc
ffTFe1Prsp9ezq7/Z2ISprvw9MjxqsTo9wJNMV+KOLiEcn+DXdZDeAkHH9S/xk/ALs1+XwpAUNI7
Y2tAebnfYO+Lcj4A4MLbRh6XJN9NFiposQ9fvCniAbyJbwwhdIWiCG8AotKo/wRG1jI76n54dKr9
gq0nk5ni3njMY5bXClQkSdKDtwf6mnECxk/zlyTyq0sZPFH7l3htTAOAQB0wcc4600WmY9UqE++d
dTQ7dyc+p04ADcehllbY6RsbpzS5RLCqRxcSrvj38eve1AP/mx2q3LMLvzC9iANcdsdWL6nb8IEy
Va+jS+TnHTq1Tzt8/SpXWO91XFmCiIk8ELWnNrgUHQv3qdQo51lGAbmtnp5R5E4kfDHhsURsFx0A
BBVpMbEveEks0y6pL6KeMl/ZLRjQnYolFL/w0B11duiU2RbLTQJv21Qk3DnlE3j23ttiTmu3BGmv
zjI+xK9KCDCZMnHY+uCMHktCHz74b/NoRTGjZlJ9xvXByqLDssQ2eF5ZZl4NUNWoBAAprfFaBInR
3s9i6werGTHuekRQ7qVAAqmeozWhJP55oZDGTx52NDwi79WTvFdP8h//O+bjU4vkPmN7Q8nLhw37
Aiv72eMSGDhG86ueamw5VnOcglcRJdB3ZDcpAOAV3b4Qx+v398xuRCAojJ3Sgxt3K6q6yaGeV/bE
78h235i2TFhekxQeW0Ya6bhjzkDypxH01m9y05oXjdB17MqzwTdzEmMZbyNe7/tDAiQoJBzEfimi
DPJ8FstMjc66sXtugfectYG0pgcUYrcVHntN4PYK64upH6ezE9E2AKqj7J0f8k2OZT4PDNy22FDr
i01qYYXtIzINAADQ3XvuqEHJDpPNJ1pzLgcevZTJI0jI/W/WVPaLSMLkJQOokkQ+vZjxlVdvbUyD
NGBdQOyZzbO51xcbTuw1194pNK6+SyFyhZ2+sfGZHzLo1O5qsoojlgzGod/0SSoUjT4yFbS81lSK
CC3VBkm5twKU55ZTR66eSH51+LD/y/TMivpm3e4DkbDaIKoPH6YEyb5h+W2Z8Vl8622JiFit2i4+
XwAYjoGAz+UDjmP1xypuxZt7PpZLDNX0LNyyBm8/dP6160hq8/UjHa6TjFXU4zFpEcH2EaGnFxyO
3rt3+8O/NjVcVTfsVE1uDQNGIBGAz+G2ZtcV8PiA4RgGgGE4BuW3l68697bx0C/gVObXAVHAFwCG
45iQlbDS9ltYBEpiAMBnFSU1PXNgny0jbAVtICLW55EwAIGgvgr4ReGB92s9TP/SPB3YZ4G2IGZH
XNnXziTMjD+70eTyurve2x4dFfy54XLap0vqVm5yY82LQuphctl3Y+9nXv9YRKRUYqq6m4O3KH1c
gegvRZRMl2VbrzN6Wh7fP6+S9ra8aWdKot+KvYfGl51c4na7cQxGRNsAAFbqRdvBDwYazvrLZM7a
S6bWsV4b5xyILuOJWCGAgM8HXILQpuxFpVF/wqRdC600mut00PL1yqPhFWK/Y15VEYNPkh+1YFzd
NVsn8r5z87WLCbzy/MYx4Zb2L/HamkZhZLCfrtmKCWuPyXT3Cgg+F5ZUyP5s7xW6wk7d2Fgf3hTw
/+j7v4lag9N8jhAXLJ084KkqfLhS8Glf6bjqxchUCeDU8akqSnhNct4Xc5m3/UAkpjZA0Mbnm0Xv
REKJiSVuuwR8HpffUgskyGpPmmWx3HjFOI3qdw+O3fyA5jr99jrLWEVTnOznT9JBcXB3qU+tR8Bm
1gHIKDadsY6Vk1AAysPHdm1Tz6g2/VmGQEFnJLEwNT3z3ce/9xmlLAHUZjzPAKU/DHsLeWUEn5EW
G/P4efTj59FPYrMa7iHXZrzIBKVRU7p/fLBIUnP8JGVIic7+qt9KtByrOakeupOVBckvcupj8ctf
HLpe1neRsd74v0ZD/LmI0s/2UoLixOXWu1eOVmnbtH/cksiD08wvV05yuL1rgjIBvsUmS/UaOxjP
PePmHfw8KSE58fmbT0dkcV+KKLX5mZkpSQ//3ehfNnWbq16XT41dqu9SH7vBmZ52jjFNJ0wU0TY+
YpelXDu338Ro6ii3zBHm9qYNv34WskLgVhVWALmPVhchbVTAqmEDucvnV9fi0yh8cmTG3ztDFVbc
umirryB2H+YzSio5ssPMJtRevZMWf/0xb/K8MdSa/PLGU3pL+1fDwhwWB0BaVurLMG1No/LNRUuT
aarTNni8VVzi5p8RGxq6w0S/R+MgWEsr7GSNrYWdiF+ellqlPM7crH9KQMjpCxnayxf9rVIZl07/
tNd2XPUKWEwOSMlI1JZVgZQCtWmzamdFCa8NbuHrxDIYsHyKmrBhhpaSF996W6pDEbFas13Mxxt0
5RfdK22y70koD126yfVp1JOXp1YOKb6+es4Uzb/t9oV3nl/u/8I6x1gFUdVgr/WAjKevEvPofJke
+ivXDgXarpTGEUR+dUZUAVibrzMvf1Qsqy4ZdyUog/3+hu/D9U67T27jnXj8gdhtovFAgAJxofh5
dw6ftDhrHeDd5UTQ7ZQyDlm5r3rVtYDwHC4/985xb8vTtr5HiQeCw3NZCqO6Aogd/OPn3jl21vL0
9jO7uQduJxP6Ld1s0bfw8sy7bbnP0EbqoyYaMMrJmmPMbVZo5V/aEPYpVs1LnwvJJtbeToDH2D/8
fKRCesha/x3zlWG2fILh+rg2ddn5ZREec936R23dd/zZnMW3SkRscvsaFOtDbBqMX75hcUJAbHYt
pjhEpeGHAe37UpoSMBLObrpqdH3XmtMv3F8wBUDsZrrHahgz3OoJt9eAvgAA/NrczNxKroi2AUDV
2bFNr/JFdHx2JUtKdbxOV+BlF9X/NFPoCoFXGnMxQbB/065d9IBHhVzlkcoATW/DcPLepNda6DlZ
z3J7WkpU6SHz+sqFdJaoNBo2qjbr5pqFbLjieuVctf7S0y8ZoobsOOU5TA3jP7K9rd+z67A711nL
bLrluJU3rq7F/etjEf39mzJYuXLVssoourwqMe5qSOan+m9bGh/Xl/n0hOPTk27qE2aZrF+xagst
/PGHTyeIL1coav/6/o2txZ2o9sMrGmmWYbeIReFFOcTg2F179fAYl5zGBTuuejn5qSWg30+99uaV
JHAxNRwQeQPDPyXfngOR8NoAxmuvXZEGx13O3xzg4/8so4hFlFNRI8aGfsqwxeTFtt4W61BELOHb
JS18szCy9iKHvxUenLJZfSnyXSsfI0Y6RufoVeBEjCU3euPulT1kcABWfmKEi5nHkYwmx19W6gF7
76GuKw4cN+JXvjtrezc4g80tuLV8mcwhJzO3o3NwbmlyFg4g4AnEHNcE9Lh/55tl21mtW+e8jALA
q05/6vs4MDyHC4LqmC0LrAp2WK91PGBDAOBWvX91N40ppkUKqmJsF9qUOdv8c/CwDDDSwr0X7DoT
XvV191SF4Nd8iHiVa7J097WVALyyN/dPzNrjG9Hk4Ql21lXHMLOQ6YLL556XfJ44K/f5/dw5Jtjz
BzltOit/XDrFb/u26Vfdd274M2LXo47eZPb7Cybr5Q7aLD93fqMkgIBFz0+OTGfyANr5pXxGUP3k
2OnYWVvcFwRO9s3hK41erIMDTDpxcVLDJ1I2TlzqXcAX0TYIklK40h//uC5TlgAAdnFq1IENriGF
fAAgCF8hcHO9129S22u7xu3IZgBgV2XG3qPVNF7Eloe7r7uwZ99Sx0urgFuefNb2dlA6iy88jaY4
BfcsTdW1blhfdkwZYfekVHiVsEvflwDU3bqfzgaAzODb+TZrKtLKxOxfDYNxSXsdArVdTE56mvAq
Us7Z3ruc+Vn7aX0an30ntfkRFw9GXDyEYwL+58eh5ivsTI2txZ2IX5X2NBe0Xvg/qhDwsaeH79H1
BkYlNR206rjqzX0RVfjPjLn9yjdtcZvg829sgh0A1ETR2YJ2HohE1AZw83wtjYvMrLYssPBaIg0A
zMLE8zvuXc4UlbzY1tvygUhErPZsl6AqYpv2ZP43OQojYnycCZ060z8iGN+svjS8+kdn1F6E3qZB
iVsrlvyx9lrl79yWSP3XXYwxfjpp+qF4dAsRQX4xEn3sr1+2r3YbsfRiBk9CUUVZml2eX1b7G77d
DemsOsdYRTtJDzBdPJie/qGQiSn0/XPjpr6MJ1tf0H/PLgUu01N7gAzWZehCj40K1zb4J6AuBYL8
etiZx+295oZsvXuIaO569VlBGaYoScRqeb/nYQ/pjH7mXgVRvs+E2ZZz+stLAPDpuc+u75mx/79v
+DhDpyY1ZPX++8aq/IqUi45rNv1X9ptWA4L84gSMN6emGlcfc99w5/E/AAAV1/T/dHrxM7xIH/k9
fLwDgiAIgvxEcKqymqo0r7ywuJyFnkZEOg/Uq0AQBEEQpGN0xvdVIAiCIAjyM0K9CgRBEARBOsbH
XgV1pn8c4/wk2R+bDIIgCIIgPzE0VoEgCIIgSMdAvQoEQRAEQToG6lUgCIIgCNIxUK8CQRAEQZCO
gXoVCIIgCIJ0DNSrQBAEQRCkY6BeBYIgCIIgHQP1KhAEQRAE6RioV4EgCIIgSMdAvQoEQRAEQToG
6lUgCIIgCNIxUK8CQRAEQZCOgXoVCIIgCIJ0DGyYtNaPzgFBEARBkF8BGqtAEARBEKRjoF4FgiAI
giAdo9W9CsmeMx13WugroW5IJ4XLDl673cF2MPlHJ/ITIyhO2O/vc3ws5Ucn0h64zCBze/tN/5P6
wWmgdvjVfup2iPz2PnYSqDP94xjnJ8kK/6Ck1uwty/S1pRt6FZjsJKcblYlBOwdJtvBpovK0TUdi
Y2KYtPjq+LDnx5dpS7ai6LsRlTxG6a4zU3+wEqHDo5IGbrjOTDg4Qw7r8FUDAC43ZNWK+fpqxB+b
xk8dC5PW/HPsMC2ZdnWdhTXslhsbrr7wApMWX/8XNlWm3Tk3rlF+mLmZ8TR1krgPonbY2WP91O0Q
+e21e+gBJ2v20yBJ9dBWlviyTGW6c5DliOKLTrMWmxltOuj5X1IJV2zRdyQqeYmBpu4hzoY9xR6c
20qi5/zZmoyI0OfVgo5e9TdKA5PuNc3V70YRLZ5Ji0oN3mmmTfmsveCU/vqmx89eTHsTW35loeaX
/bDvucmfx8KUDB/S4lPs+ksBAEgMsrnJpAWaqX27kTbhDbvlxsYvvrd11N8Lx6/2Sf9mObUMtcNv
CrVD5Hcn9opCGF7RBfM5b3ty3r2lf1FG0hjWW7IszMnzdlRt64u+I1HJfyuSvaebaDLvO72p+qEH
89angVFHuF9wNcnzt1oSRiP0XWS3/ai/5Icp2/+rEgAARu6z2uOkq05ucOClrT6ZHwqyi/jtj/X1
msWSUOrVFUDTcEb/I6lvBD3m/90NoKi/MgkKWN8mvvCGLaSxcatyk6uASB9e820SEga1w28KtUPk
tyeq04xR+846evFeBS2emfLggc3AT8vUD5pVx1+PuHrnisFng2aUkc65tKjIFV1Bcd7DhPqBtdDN
vYiii74FCdUJDidDclLjmbR4+uuwl76bDRTw1iT/ZJkSKJs8SazP8PmFcWLvbuJqhq5v4l4xafFM
WjTtkqP5IMoX9SoxYNaMnvSnPvH0ViyFdxmx+JCn35sXTyvrBydjfWz6NAyeSKgaWOz+71EkgxbP
pMUWhZ+yG9B48aG752YZLZ5Je57kt8mohcHwZmkQus06XEB77DOt/oYPrjLNLZcWdnScHA4g1Xvy
dOXyoH2ewTEpcS9u7HK+USKno6dBAgDAKGP+OeysFKinv9ry+JWrT+PjMspYzQ/ZbYgFAETFEdYe
AenJ8Uzaqw833f8Z06X+mhNXHO/mdyk1NppJi2fSnib6bp6t0cIIU7PqJSn0lMmNeCE1xbiPhGTv
aXOk4+7mUfopkFr9fQHgchPsQqreheweJSs6Q+ENW1RjE01YLLF0NpxJTYpn0mJowTtW9Jf+YhQe
tUPUDr9HO0R+Y8LP6QSlyaeCHGeV395ucy+D1FN/8br/fSzhF9+11Ykjk1QML/iaNVuqJunIpOlB
Ous9fXWjVq48k8gC4LOKcrmiizocJjvKPfioOf7Yxe5YdCmoT7Y7s3zsQOrRB+XctiUPvKo8sYMq
/IqkWy52V/NKanCFQcu3bT3sxUqYsi+66XKSfRb9pVb12PElvTVLEVTGGq/RB7+9e7bRSqt5JHkF
4rt8DgAAQcX4UPC5qfzI815rozILaknK6tSMgsY6zH14altYdq3C8PXbzQKPFQ4xDsrkikiDl3tz
19KRwTcOuMakWXrVTT3pZlDmvXLbiyo+ALs0I0egMHnGIPnXsZV8yV5/DFGkv32azwEAXFHXYVE3
LOfvy882aJBZOQkPDrp4eCcyPrtKbEssjDLUJch7Lfuag/WhWLqS3mp7Zx+PqqlrvHN5uHRPvXFa
bH/HBeEluMpIKwfTC55lw+b50TgiYmFkRWVpxpOzMf22GQ28ytGXenLmmfaOOcrSODD4rfm+CIpT
7U+FLOYcWbnO8WW16AxFNGwRjU0EEbHEL1ubeMLhVBq3x4KNNicDZSqm2d8obfK1oHaI2mGrfU07
RH5jQnsVBE1D8zlytG3zHY9kcQEiIxgTzT3l68u49II0OhBrS7483wrqytIzGPIVHOBUvM/IfFfX
qiJxcDKVIknAAEDAYzEYLJ6YIlxj+vrV6rn7jexdU9gAIEteDsu/KnnR6rKfXs6u/2diEqa78PTI
8arE6PeNx1Fyf6P5qlV3Ln02+Chmqdr0yyF3HzE/C0TRsXCfSo1ynmUUkMtuKZOsR7dDw+kA0Sky
E99uN9RVCM4sbjzGtpAGv+rR3k17h5338HIaVKlnkOM5/mgCQwAAwMu/ZbHzj9su3sljwm99UJ/1
J+eg+e57lQIAkO43ZbQEPeqez5GH6eUSveZtcTwUIFuib3u1tH2xcHXDTVYaMRZ6LkHFfACISRPo
Pnc3n6Lq65dXv2he9KM7kXSA6ETyuOSd0yYoBdAKRMQiyKvJErnVry5FEA5b7uRL3N+cVP4vLqdC
JUIxW1zNY2Qts6Puh0en2i/YejKZKQAxGXKFNxsRjU04kbHELRznfezofToAPEwmDL1vbTf98J3z
+Z+WQu1QZCzUDpv6qnaI/MaE9iqkeo7WhJKbzws7QfshDzsafnaxHAAAVF43mOj4vFZ0kVSfcX2w
srCwrBaPeB2O0HXssn0286Zqq3fBmSUMaQkooJCajmVKDZ6rr1b5xC+B2ZalvkRUHz5MCZK3h+WL
2zBeaWZeLfTuJkeAxqN5i2mAoDZl/wYP/TA70x5Ze2b6JX6qWwJZo4cGtejZmSuvScNVeGTthca6
PnG3szg4RUWVCjnXgu4+KuQDpCY7aBrdtTAfJXvtbqWgPbGktMZrESQo3s9ivZt8uKiXAgnyml4K
AvDKMvNqoK8alQAgYrsIsioUnMemv71xC85bEUP0khm9uDhVQZoAILbmdfee0yWlOMzYfCLjUzWL
yrCj95COicUpeBVRAktGdpM6n89oWDNqhyJjoXbY1PeMhfxKhN8BEfAFgOG48J9HNey33/7HWqy0
/RYWgZIYAPBZRUkssUUYgUQAPocr/OGsDkye1MPksu/G3s+8/rGISKnEVHU3B29R+uwT5AHLpiuV
PrgeX9OWpVpMmy8AELRq/JHH4QFOwJpsYEtpAAAAUWPMBG2CgAc9jedqH3N7TRcAAFBHbfZfTT5s
uNmNxga/gP3B9jF+291uRZo8onPZXABZ1YZDKqc0qxhwxa5UAlRy2xMLw3AMym8vX3XubeOXK+BU
5tcBNL+PK+DxAcPFbBeBokDBOWxOXcrupYuDsNyEGkydh0nLSxFaUfO0a6GVRnOdDlq+Xnk0vKL+
nCEqQ7Ha2Ni+KlaT1QAGIBA02QdQOxQTC7XDpjqoHSK/HaG9itqM5xkw4w/D3pLRb1t+XFnAZtYB
yChKE6D6295n4zPSYmPS2lDEykkogKnDx3YlvspuuVctPHkBq4YN5C7UVj+VJNVr7GA895Cbd3Aq
GwAyZQrq4LOjA3XQLCPF8htXUhhtWaol3MLXiWVguHyK2qWLzS6exGsxDQCMOtj8otOIhD3GG+r+
iXTx2B813zK8kg8EBa1+Cpy8pOL66yR+xdsXKbwFmhpUAlQzs5JyYYm+jqJ7eiEPQKr7YE2ojXtf
yW1nrNr0ZxmCGTojiYWhb2va+px+S7FwGQUyzmVzBfzqrJR4AAAqh4OR5chYK2q+8MmROV6vTwY4
37ooMXuRx3/lfPi6DEXsKXwOiwMgLSuFA73hmverYn0i1UN3srIg+UXOp2t+1A7FxZa3eGwAACAA
SURBVELtsOPbIfL7Edqr4OfeOe5tedrW9yjxQHB4LkthVFeAz8Y7+dUZUQVgbb7OvPxRsay6ZNyV
oIzvc8dBLO77G74P1zvtPrmNd+LxB2K3icYDAQqafkJ48py8N+m1FnpO1rPcnpYSVXrIvL5yIV3U
z8BYH2LTYPzyDYsTAmKzazHFISqfv92QorNAT6nkfkBybVuWahnjtdeuSIPjLudvDvDxf5ZRxCLK
qagRY0NDMsXWfMtpYDLDHY+t6f7QfkQArQB2Wk0K9dm/9dZ0h1tlvOLY5xkkUw/HxVyfmByByiRT
2ymED+4vS7kA3LRQz6Sle7Y7ba06GVapucxxcbe8iyteMdobi5935/BJi7PWAd5dTgTdTinjkJX7
qlddCwjPET/S2lIsXFJOGudWcZo8tSfgcvgkKkUSg2rxNS+ozbq5ZiEbrrheOVetv/T0S8bXZChq
T+HT378pg5UrVy2rjKLLqxLjroZksr8mlvqoiQaMcrLmGHObFVr5lzaEFTWcP1A7FBsLtcMOa4fI
b0zEHZDqmC0LrAp2WK91PGBDAOBWvX91N43ZZAdhpR6w9x7quuLAcSN+5buztneDM9hf/Fb8x+AW
3Fq+TOaQk5nb0Tk4tzQ5CwcQ8JqOBgtNXlAe7r7uwp59Sx0vrQJuefJZ29tB6SwR28V+f8FkvdxB
m+Xnzm+UBBCw6PnJkenMhoM5ddDKKXIFN24m1bZlKaEbludraVxkZrVlgYXXEmkAYBYmnt9x77LY
o3mLaWCU0dYu66j3F+16UMADgOJQZw/TB7sOb7z0ZFccPeXUbGvCoU2WoVe2APArMqOObNjn+o4N
AMDJOr7Gkuxka3Xc1wFj50QFLrM4FlXzFbHocf/ON8u2s1q3znkZBYBXnf7U93FgK45fLceS6iIF
nGJe0wssHocH0nLSOJS2ruY5BfcsTdW1blhfdkwZYfektN0Zgsg9pTZpr0OgtovJSU8TXkXKOdt7
lzPZ/HbF4td8iHiVa7J097WVALyyN/dPzNrjG/HpvU+oHbYmFmqHX90Okd/ex5nQqTP9I4LxzepL
w6t/dEbfAKG3aVDi1oolf6y9Vvm9R/Jkx7um+uoEzDOyS/hG773pdGn8qrF+ap2kon7VttFJqhdB
OoFv9Q6qH016gOniwfT0D4VMTKHvnxs39WU82fqC/v1vDsqMMdaVLQgNSv2xx5rvmcavGuun1kkq
6ldtG52kehGkM/hFexVE+T4TZlvO6S8vAcCn5z67vmfG/v+Kvvu7WzC5oaZ/UnIC76T80KPN90zj
V431U+skFfWrto1OUr0I0jl8vAOCIAiCIAjylb7d5HkIgiAIgvxeUK8CQRAEQZCO8Y17FZI9Zzru
tNBXQp0XgF+oNnCZQeb29pv+15pXGyAIgiC/j48nOOpM/zjG+UmyzUox2UlONyoTg3YOkmzf6iW1
Zm9Zpq8t/dOfRzvEL1MbuPwwczPjaS3McI0gCIL8zkSf4HCyZj8NklQPbWWJ75RPO2BS/ea60miP
To4gf/p/lJHOubR45ud/H3YPlRa3Msn+VkmfLeWzoEuT1+bjlP76psfPXkx7E1t+ZaEmoXVLfU9t
zFB0RbVruzDqgDnHg++V0+KZ7x5FHTOdoNDqXlRLXyUA4HLDNh4JyU2LZ6aFxxxdMU4eb02RiNpo
CCc9eNXpIlp8gnWf5r1mEUUIgiCIUKJ/WcorumA+521PzrvPZk7uPIhKQ6bbWFtt+lMVoLJpQW3K
GSPjUMmPZ0Bc+c/N/utUH4Tniv3lF4EsJw3ZB1fbBxdxAQD4NdkNbyfEyH1We5x01ckNDry01Sfz
Q0F2EV/8Ut9TOzIUXVHt2C5cUe9U4M4Zmf7rlv6XKzd6k7P1bS/uCJMAmpjpIoR+lUBQX3ni9N7B
b4/8a/MMhtvstLl1jK6zMvQDT2SRyNoAAACJ/ksP3LPt31IyIooQBEEQEYT2KnD1hQG0Pdr1/xFp
NXH6/caOBa44ft9Bm9n/0+wmKwHAzHwWusPh+LW8+pf1YtS+RntdLJeN6CrBLU3KIDedgIOoOMLy
Xxtrw/+pkXil7x4d3b3vcHQFDwjdZh146TE0bP2C1fdKeYCrTNsXe3xo6Apjm+dVol4BLtlng5uN
flrwchtVt8OTm5bwmblxcbn1/yYoGwQsHVR8wfyfh2Uf31ghoWpgun6r8Z9/dKdiwGfkvTyw1tr9
HRsAcIoClVcS+zolqerzWBhlzD+HnZUC9fT9E76YakfoUiJro11wNcO9Ybv1tWQIAOz813fdHfef
fcvktzdD0RUlfLsAAHQ2nEk9OKCbJCc/7ubunQf8U2sEgCmOXTxLJstpy7Hg91yApLfsgaleS80H
hNgliuzRCf8qpfob240R3LfZsv12GR8iX7G0kg+tNu93a3sKW0SR6NoAwBV0t4Tayp1cvavX0cOj
WluEIAiCiCZ0cJpffNdWZ8a80SvP0r5cSLqn3jgt9rW9C1ZZGf8bkjt02QXPRX1JAAAEpcmnghxN
FV462lgb/+v/oqYxAEYZ6hLk7TQg/aC12eSl2zwLRzr7eJh2IwDwcm/uWnqRtfCA65peEkQ1w5Nu
BmXedtteiOxSAAAr1dHQ4I+NXney64ReQWPUcdZbZ/Hv2RyJq6r/EEHF+FDwNdvx3Cdea9dvMDKz
3Xjq9uOC+lfbY2RFZTK7Rqqrkhzps6F+XFHXYVE3TO7vy89eMt89exfiuGYwtWHbhC4lojbai1+R
dMvFzkp//vKpaw49kp912Mt6FLn9GYqqKHFLYbWJJxxs5tkcj+gy52Sg499KOAAmJUvBgVHIqP/q
BPS06HToOqoPVcyNE6FfJd5VZ3R3eBccR7U4H1l0eYXS63uJoDZpqAJBVJHo2gCiyjTPg1PeOGxy
jac3a2MiihAEQRBxhN8B4dIL0uhArC2pFfKBvOhHdyLpANGJ5HHJO6dNUAqgFWCahuZz5Gjb5jse
yeICREYwJpp7ygMAAK5uuMlKI8ZCzyWomA8AMWkC3efu5lNUff3yuPyqR3s37R123sPLaVClnkGO
5/ijCYxW3EMQCMR8iKhh6LJQMWG/54OKj+cIio6F+1RqlPMso4DcL6ZCIsrJ1+WzR56584AAvNyY
Szu3Hwl5XycAkO43ZbQEPeqez5GH6eUSveZtcTwUIFuib3u1lC98KYLw2mi/uuynl7Pr/5mYhOku
PD1yvCox+j23XRmKqiixS8V5Hzt6nw4AD5MJQ+9b200/fOd8fsnr6A+wwmbVH+GHX+Rypbv1UqMC
0KWIOIDoV5sK+SqJCt3kgZlQyKYM606lSnaTZaXk18KwbrIkKBdeVEgUURsE1UX7/h35xGHMnSKu
pMZn0UQUIQiCIOJ1wBu7eWWZeTXQV41KAJDoOVoTSm4+L/xyVjsprfFaBAmK97NY7yb/t6iXAgny
uACC2pT9Gzz0w+xMe2TtmemXKKwv0zYSA02Wj2I/XXo1p+G2PlF9+DAlSN4elt/S7IqcdH+L/v4A
BGnNYdPs9+44FyRdMs3xURVGUVGlQs61oLuPCvkAqckOmkZ3LcxHyV67WykQupSU8NpoN0LXscv2
2cybqq3eBWeWMKQloIBCwgHwdmX46UT+ZUWJqI3mp39OwauIElgyspvU+XxGitcy154Xtp5IXQ0A
AFwA4NwrFDsJpji1ydv/nnESK8vmjtggvkhEbVQrT7HdNzRu4/Rnpc3HIvCuQosQBEGQ1hA3JN9w
AhE5gC3g8QHDMQwABHwBYDje0ng5hmNQfnv57HkjZnz6m2twPK3u4weIGmMmaBMEPOhpPFdbpkN+
QiHVd8UcDfqjoIdljWcJAV8AIBBzkuPVZMde3fJvaInilBXaZAABl80FoKhSP/6KgFOaVQy4Ylcq
QdRSImqjnUg9TC77bpzGvGtrsWLcAiuLs4kNfaN2ZvhRSxUlfqlPMMA+DTYImLFnbQZoT+w7xUh7
nN7IQ+kA6fdo7e4kcstzK4GioiqNc6sLs6s4uHRXdTJU5FZzRBUJrw1MbpLplC6yf/o/j2XS4pkJ
ZxfLQZ8Nl4svz+tOEFHU3vQRBEF+L2J7FWxmHYCMonTrjqu1Gc8zQOkPw95f/hyvNv1ZhkBBZySx
MDU9893Hv/cZpSwBAABGHWx+0WlEwh7j0Tui1c089v8p//XPIEj1Nvira1341cQm07tzC18nlsGA
5VPUxL5sAWvsDgiYWUm50F1fR7G+HqS6D9aE2sz3lV+OQjRZSkRtNCAoTlxuvXvlaJUv67elIqle
YwfjuWfcvIOfJyUkJz5/U9DQJ2tfhg2rbaGixC/VuHgP3cnKguQXOY19By49Pzu3WHaq+3ot+v2z
VwvaPVTBL34dkwMDFo6qbw+40qhpg6Hg8Ztynqgi4bUhqLprO6exXzt3550ayAvcNH7j/QKeiKL2
po8gCPJ7EXcHhF+dEVUA1ubrzMsfFcuqS8ZdCcpo6dZBw8dz7xz3tjxt63uUeCA4PJelMKorQP3n
+Xl3Dp+0OGsd4N3lRNDtlDIOWbmvetW1gPAcLmAywx2Pren+0H5EAK0AdlpNCvXZv/XWdIdbLV46
N8KklHv0USSReypIAkmxh9b/mIyKDx/yauuXIqiM/KM70PYkM5suw3jttSvS4LjL+ZsDfPyfZRSx
iHIqasTY0JBMNkhrb7AcS09696FaIKc5coX1XOWyG37JtQBQlxbqmbR0z3anrVUnwyo1lzku7pZ3
ccUrBgAIX0ogvDY+kh6y1n/HfGWYLZ9guD6uTmwR60NsGoxfvmFxQkBsdi2mOETl0+st25UhiKgo
cUuB+qiJBoxysuYYc5sVWvmXNoQV8QAAk9Lo17dPt14jdaebLxmrkRowe8fjYvE3FIR+lXWpIfuj
TY7uc3ck+7+AYRt3jsOid3ulsQFAVJHw2qDnZb37FJYsX8mBurIcWh6dK7IIQRAEaQWxz1WwUg/Y
ew91XXHguBG/8t1Z27vBonoVIKiO2bLAqmCH9VrHAzYEAG7V+1d305h8ABDQ4/6db5ZtZ7VunfMy
CgCvOv2p7+PA8BweZbS1yzrq/UW7HhTwAKA41NnD9MGuwxsvPdkVRxf1OKbEQPNTT01V6v/jLzf/
v4B5adnUlVE1AAAgqTlEHcof0Jo9y8/N87U0LjKz2rLAwmuJNAAwCxPP77h3OZONScurDJyxacV6
FSkAVumbiLNL3Lwe1z9GwMk6vsaS7GRrddzXAWPnRAUuszhWH4cgfCkRtfGxdnOf38+dY4I9f5DT
vFZbLGK/v2CyXu6gzfJz5zdKAghY9PzkyPT6hxbalaGIihKxFL/mQ8SrXJOlu6+tBOCVvbl/YtYe
34j6V1lIam329l+rWJXx9tUNpzVHL73ME9VeWvFVcvN816+Vcd5m53bkH6Anhx35e8fV+jdSiCoS
XhsIgiDIN/NxJnTqTP+IYHyz+tJwEWPgCIIgCIIgwv30U1IgCIIgCNJJoF4FgiAIgiAd4+MdEARB
EARBkK+ExioQBEEQBOkYqFeBIAiCIEjHQL2KJnDZwWu3O9gObun1kUjrEBQn7Pf3OT6W8qMTQRAE
Qb6/j70K6kz/OMb5SbI/NhnxSAM3XGcmHJwh13EvwW4ClxuyasV8fTWxL/H4tmn81LEwac0/xw7T
kmlXd5WoPG3TkdiYGCYtvjo+7PnxZdr1byXFZCc53ahMDNo5qOlbSnH1hReYtPj6v7CpMu3OGUEQ
BOkgP9dYhUTP+bM1GRGhz6tbMZ9pp0gDk+41zdXvRhEtnkmLSg3eaaZN+azKcUp/fdPjZy+mvYkt
v7JQ88v3dn/PTf48FqZk+JAWn2LXXwoAQGKQzU0mLdBM7du1GFxlunOQ5Yjii06zFpsZbTro+V9S
Sf1bLXGyZj8NklQPbWWJJp/nF9/bOurvheNX+6R/s5wQBEGQtuiAOUu/H8ne0000mfed3nwxa2Yn
TQOjjnC/4GqS52+1JIxG6LvIbvtRf8kPU7b/VyUAAIzcZ7XHSVed3ODAS1t9Mj8UZBd98Wbr77nJ
zWJJKPXqCqBpOKP/kdQ3gh7z/+4GUNRfmQQFrG8Tn6QxrLdkWZiT5+2oZpOR8YoumM9525Pz7i29
6f/mVuUmVwGRPhy9MxNBEKRz6CxjFbiaoeubuFdMWjyTFk275Gg+iPJFahIDZs3oSX/qE09vxVJ4
lxGLD3n6vXnxtLJ+kDzWx6ZPw4RiEqoGFrv/exTJoMUzabFF4afsBjReBOvuuVlGi2fSnif5bTJS
/3IOsmZpELrNOlxAe+wzTYkAAICrTHPLpYUdHSeHA0j1njxduTxon2dwTErcixu7nG+UyOnoaZAA
ADDKmH8OOysF6umvtjx+5erT+LiMMlbzrkMbYgEAUXGEtUdAenI8k/bqw033f8Z0qR/7wBXHu/ld
So2NZtLimbSnib6bZ2tIQHPNq5ek0FMmN+KF1BTjPhKSvafNkY67m0fpp0Bq9fcFgMtNsAupehey
e5Ss6AwpI51zaVGRK7qC4ryHCfU3NUI39yJ+us1RHX894uqdKwZtuM0hLBaCIAjyzXSWsQp+RdIt
F7ureSU1uMKg5du2HvZiJUzZF930mlWyz6K/1KoeO76kt2YpgspY4zX64Ld3zzZaaTWPJK9AfJfP
AQAgqBgfCj43lR953mttVGZBLUlZnZpR0DiBVO7DU9vCsmsVhq/fbhZ4rHCIcVAmV0QavNybu5aO
DL5xwDUmzdKrbupJN4My75XbXlTxAdilGTkChckzBsm/jq3kS/b6Y4gi/e3TfA4A4Iq6Dou6YTl/
X362QYPMykl4cNDFwzuR8dloRVtiYZShLkHea9nXHKwPxdKV9FbbO/t4VE1d453Lw6V76o3TYvs7
LggvwVVGWjmYXvAsGzbPj8YREQsjKypLM56cjem3zWjgVY6+1JMzz7R3zFGWxoHBb833RVCcan8q
ZDHnyMp1ji+rRWdYk3Rk0vQgnfWevrpRK1eeSWQB8FlFuVwAKL5rqxNHJqkYXvA1a317EhGr9StB
EARB2khMrwInUymSBAwABDwWg8HifW2RUHXZTy9n1/8zMQnTXXh65HhVYvT7xvM5ub/RfNWqO5c+
GwQXs1Rt+uWQu48+n4mTomPhPpUa5TzLKCC3xXmvsh7dDg2nA0SnyEx8u91QVyE4s8mcmy2kwa96
tHfT3mHnPbycBlXqGeR4jj+awBAAAPDyb1ns/OO2i3fymPBbH9Rn/ck5aL77XqUAAKT7TRktQY+6
53PkYXq5RK95WxwPBciW6NteLW1fLFzdcJOVRoyFnktQMR8AYtIEus/dzaeo+vrl1S+aF/3oTiQd
IDqRPC5557QJSgG0AhGxCPJqskRu9atLEYTDljv5Evc3J5X/i8upUIlQzBZX8xhZy+yo++HRqfYL
tp5MZgpATIbcurL0DIZ8BQc4Fe8zMt81mb2VSy9IowOxtqTZXRGRRMZqw3oQBEGQNhHdqyAPOxp+
drEcAABUXjeY6Pi89uuKhCJ0Hbtsn828qdrqXXBmCUNaAgoopKZj6lKD5+qrVT7xS2C2ZakWNlh9
+DAlSN4eli9uKk1eaWZeLfTuJkeAxl5Fi2mAoDZl/wYP/TA70x5Ze2b6JTbOMU7W6KFBLXp25spr
0nAVHll7obGuT9ztLA5OUVGlQs61oLuPCvkAqckOmkZ3LcxHyV67WyloTywprfFaBAmK97NY7yYf
LuqlQIK8pkMSALyyzLwa6KtGJQCI2C6CrAoF57Hpb2/cgvNWxBC9ZEYvLk5VkCYAiK153b3ndEkp
DjM2n2ic4VZUhh19pv+esRAEQZBPRPcqWGn7LSwCJTEA4LOKklhfXSQEqYfJZd+NvZ95/WMRkVKJ
qepuDt6i9NknyAOWTVcqfXA9vqYtS7VEwBcACFo1Ds7j8AAnYE1+ZtlSGgAAQNQYM0GbIOBBT+O5
2sfcXtdP4E4dtdl/Nfmw4WY3Ghv8AvYH28f4bXe7FWnyiM5lcwFkVRtO7ZzSrGLAFbtSCVDJbU8s
DMMxKL+9fNW5t40VLuBU5tcBNH+eQMDjA4aL2S4CRYGCc9icupTdSxcHYbkJNZg6D5OWlyK0ouZp
10IrjeY6HbR8vfJoeEV930VUhmI19LRa+ZPXr4qFIAiCtJfoXgWfkRYbk9aBRUJI9Ro7GM895OYd
nMoGgEyZgjr47CxFHTTLSLH8xpUURluWagm38HViGRgun6J26WKzi3jxWkwDAKMONr/oNCJhj/GG
un8iXTz2R823DK/kA0FBq58CJy+puP56nV/x9kUKb4GmBpUA1cyspFxYoq+j6J5eyAOQ6j5YE2rj
3ldy2xmrNv1ZhmCGzkhiYejbmrb+XqSlWLiMAhnnsrkCfnVWSjwAAJXDwchyZKwVNV/45Mgcr9cn
A5xvXZSYvcjjv3I+fF2GAjazDkBGUZoA1c16hHwOiwMgLSuFA71h7OWrYiEIgiDt1Tme1mR9iE2D
8cs3LE4IiM2uxRSHqEh9Vk7RWaCnVHI/ILm2LUu1jPHaa1ekwXGX8zcH+Pg/yyhiEeVU1IixoSGZ
4m6JCEkDkxnueGxN94f2IwJoBbDTalKoz/6tt6Y73CrjFcc+zyCZejgu5vrE5AhUJpnaTiF8cH9Z
ygXgpoV6Ji3ds91pa9XJsErNZY6Lu+VdXPGK0d5Y/Lw7h09anLUO8O5yIuh2ShmHrNxXvepaQHiO
+BH/lmLhknLSOLeK0+TpUQGXwydRKZIYVIuveUFt1s01C9lwxfXKuWr9padfMr4mQ+BXZ0QVgLX5
OvPyR8Wy6pJxV4Ia7q3w6e/flMHKlauWVUbR5VWJcVdDMtlfEwtBEARpr87Rq2C/v2CyXu6gzfJz
5zdKAghY9PzkyHRmw0UpddDKKXIFN24m1bZlKWG4eb6WxkVmVlsWWHgtkQYAZmHi+R33LovtVbSY
BkYZbe2yjnp/0a4HBTwAKA519jB9sOvwxktPdsXRU07NtiYc2mQZemULAL8iM+rIhn2u79gAAJys
42ssyU62Vsd9HTB2TlTgMotjUTVfEYse9+98s2w7q3XrnJdRAHjV6U99Hwe24jzaciypLlLAKeY1
vdDncXggLSeNQ2nrap5TcM/SVF3rhvVlx5QRdk9K250hALBSD9h7D3VdceC4Eb/y3Vnbu8EZ7I89
ntqkvQ6B2i4mJz1NeBUp52zvXc5k878mFoIgCNJOH2dCp870jwjGN6svDa/+0Rl9SXa8a6qvTsA8
I7uEb/T+pU6Xxq8aC0EQBPmldZa3YIkgM8ZYV7bgXlDqjz3nfc80ftVYCIIgyK+t0/cqMLmhpn9S
cm7fSfmhZ73vmcavGgtBEAT51X28A4IgCIIgCPKVOv1YBYIgCIIgPwnUq0AQBEEQpGN0jl4FLjPI
3N5+0/9a876Jb5mG7OC12x1sB5N/bBo/NYLihP3+PsfHUn50IgiCIMj397FXQZ3pH8c4P0n2R2Uh
P8zczHhaC9OON0MauOE6M+HgDLlWvrm5jWnIDVm1Yr6+mtiXeHzbNH7qWJi05p9jh2nJtKu7SlSe
tulIbEwMkxZfHR/2/Pgybcn6lcpOcrpRmRi0c5Bkk09/nCS9/i9sahsmSUcQBEG+jc4xVtFaEj3n
z9ZkRIQ+r/6hb2FuQxqYdK9prn43imjxTFpUavBOM23KZ1WOU/rrmx4/ezHtTWz5lYWazWfs+L6b
/HksTMnwIS0+xa6/FACAxCCbm0xaoJnat2sxuMp05yDLEcUXnWYtNjPadNDzv6SS+pdW4WTNfhok
qR7ayhJNPs8vvrd11N8Lx6/2Sf9mOSEIgiBt0TnerdlKkr2nm2gy7zu9qfqhnYrWp4FRR7hfcDXJ
87daEkYj9F1kt/2ov+SHKdv/qxIAAEbus9rjpKtObnDgpa0+mR8Ksov4zdfwPTe5WSwJpV5dATQN
Z/Q/kvpG0GP+390Aivork6DgG/0IlaQxrLdkWZiT5+2oZpPc8ooumM9525Pzrsmc8ADArcpNrgIi
fXjz+dcQBEGQH0P8lSfF4ExU8cmx1A4rEkpnw5nUpHgmLYYWvGNFf+kvRuElBsya0ZP+1Cf+06kF
VzN0fRP3ikmLZ9KiaZcczQd9GgnAu4xYfMjT782Lp5X1g+SxPjZ9Gu6wSKgaWOz+71EkgxbPpMUW
hZ+yG9B4Eay752YZLZ5Je57kt8mohZsyzdIgdJt1uID22GeaEgEAAFeZ5pZLCzs6Tg4HkOo9ebpy
edA+z+CYlLgXN3Y53yiR09HTIAEAYJQx/xx2VgrU019tefzK1afxcRllrOZdhzbEAgCi4ghrj4D0
5Hgm7dWHm+7/jOlSP/aBK45387uUGhvNpMUzaU8TfTfP1pCA5ppXL0mhp0xuxAupKcZ9JCR7T5sj
HXc3j9JPgSSu5pvA5SbYhVS9C9k9SlZ0hpSRzrm0qMgVXUFx3sOE+psaoZt7ET/d5qiOvx5x9c4V
gzbc5hAWC0EQBPlmOtNYBVabeMLhVBq3x4KNNicDZSqm2d8obXLxLtln0V9qVY8dXzZer/Irkm65
2F3NK6nBFQYt37b1sBcrYcq+6FoAIKiMNV6jD35792yjlVbzSPIKxHf5HAAAgorxoeBzU/mR573W
RmUW1JKU1akZBY3zQ+Q+PLUtLLtWYfj67WaBxwqHGAdlNp08onkavNybu5aODL5xwDUmzdKrbupJ
N4My75XbXlTxAdilGTkChckzBsm/jq3kS/b6Y4gi/e3TfA4A4Iq6Dou6YTl/X362QYPMykl4cNDF
wzuR8dloRVtiYZShLkHea9nXHKwPxdKV9FbbO/t4VE1d453Lw6V76o3TYvs7LggvwVVGWjmYXvAs
GzbPj8YREQsjKypLM56cjem3zWjgVY6+1JMzz7R3zFGWxoHBF1XzDQiKU+1PhSzmHFm5zvFltegM
a5KOTJoepLPe01c3auXKM4ksAD6rKJcLAMV3bXXiyCQVwwu+Zm1oS8JjtX4lKMosRwAAEMBJREFU
CIIgSBt1pl5FnPexo/fpAPAwmTD0vrXd9MN3zud/OqGT+xvNV626c+mzQfC67KeXs+v/mZiE6S48
PXK8KjH6fcNCtemXQ+4+Yn4WhaJj4T6VGuU8yyggt8X5xLIe3Q4NpwNEp8hMfLvdUFchOLO48Vzf
Qhr8qkd7N+0ddt7Dy2lQpZ5Bjuf4owkMAQAAL/+Wxc4/brt4J48Jv/VBfdafnIPmu+9VCgBAut+U
0RL0qHs+Rx6ml0v0mrfF8VCAbIm+7dXS9sXC1Q03WWnEWOi5BBXzASAmTaD73N18iqqvX179onnR
j+5E0gGiE8njkndOm6AUQCsQEYsgryZL5Fa/uhRBOGy5ky9xf3NS+b+4nAqVCMVscTWPkbXMjrof
Hp1qv2DryWSmAMRkyK0rS89gyFdwgFPxPiPzXV3j18GlF6TRgVhb0uyuiEgiY7VhPQiCIEibCO1V
SI7ccf3JcpWG/zxZRAMAKLq48n873mm3p+hN629+cwpeRZTAkpHdpM7nN0wNLjV4rr5a5RO/hKZ9
BELXscv22cybqq3eBWeWMKQloIBCEn1Th6g+fJgSJG8Pyxc3RSmvNDOvFnp3kyNAY6+ixTRAUJuy
f4OHfpidaY+sPTP9Ej+dAAlkjR4a1KJnZ668Jg1X4ZG1Fxrr+sTdzuLgFBVVKuRcC7r7qJAPkJrs
oGl018J8lOy1u5WC9sSS0hqvRZCgeD+L9W7y4aJeCiTIazokAcAry8yrgb5qVAKAiO0iyKpQcB6b
/vbGLThvRQzRS2b04uJUBWkCgNia1917TpeU4jBj84mMT9UsKsOOPtN/z1gIgiDIJ0J7Fey3p9aO
vkTCQHrcLm83vvsMl9cMAHZ5Tm07i9oCAwxAIGjylAF5wLLpSqUPrsc36ZuQephc9t3Y+5nXPxYR
KZWYqu7m4C1KYtct4AsABK0aB+dxeIATsCYPeLSUBgAAEDXGTNAmCHjQ03iu9jG313QBAAB11Gb/
1eTDhpvdaGzwC9gfbB/jt93tVqTJIzqXzQWQVW04tXNKs4oBV+xKJUAltz2xMAzHoPz28lXn3jY+
TCngVObXATR/nkDA4wOGi9kuAkWBgnPYnLqU3UsXB2G5CTWYOg+TlpcitKLmaddCK43mOh20fL3y
aHhFfd9FVIZiNTSFVv7k9atiIQiCIO0ltFchqC3JelsCABQ1Oo/DzU16R2sYNoD2FbWeVA/dycqC
5BeNfRHqoFlGiuU3rqQ0XZtUr7GD8dxDbt7BqWwAyJQpqAOxvQpu4evEMjBcPkXt0sVmF/HitZgG
AEYdbH7RaUTCHuMNdf9Eunjsj5pvGV7JB4KCVj8FTl5Scf31Or/i7YsU3gJNDSoBqplZSbmwRF9H
0T29kAcg1X2wJtTGva/ktjNWbfqzDMEMnZHEwtC3NW39vUhLsXAZBTLOZXMF/OqslHgAACqHg5Hl
yFgrar7wyZE5Xq9PBjjfuigxe5HHf+V8+LoMBWxmHYCMojQBqpv1CPkcFgdAWlYKB3rD2MtXxUIQ
BEHaqzM9V6E+aqIBo5ysOcbcZoVW/qUNYUUN5w+KzgI9pZL7AcmfDXmwPsSmwfjlGxYnBMRm12KK
Q1Ra825OxmuvXZEGx13O3xzg4/8so4hFlFNRI8aGhmSKuyUiJA1MZrjjsTXdH9qPCKAVwE6rSaE+
+7femu5wq4xXHPs8g2Tq4biY6xOTI1CZZGo7hfDB/WUpF4CbFuqZtHTPdqetVSfDKjWXOS7ulndx
xStGe2Px8+4cPmlx1jrAu8uJoNspZRyycl/1qmsB4TniR/xbioVLyknj3CpOk6dHBVwOn0SlSGJQ
Lb7mBbVZN9csZMMV1yvnqvWXnn7J+JoMgV+dEVUA1ubrzMsfFcuqS8ZdCWq4t8Knv39TBitXrlpW
GUWXVyXGXQ3JZH9NLARBEKS9xPcqWMn+ezfxM1p6R0H7ilrAr/kQ8SrXZOnuaysBeGVv7p+Ytcc3
4tN7n6iDVk6RK7hxM+nz+yjs9xdM1ssdtFl+7vxGSQABi56fHJnOFHdzg5vna2lcZGa1ZYGF1xJp
AGAWJp7fce+y2F5Fi2lglNHWLuuo9xftelDAA4DiUGcP0we7Dm+89GRXHD3l1GxrwqFNlqFXtgDw
KzKjjmzY5/qODQDAyTq+xpLsZGt13NcBY+dEBS6zOBZV8xWx6HH/zjfLtrNat855GQWAV53+1Pdx
YCvOoy3HkuoiBZxiXtMLfR6HB9Jy0jiUtq7mOQX3LE3VtW5YX3ZMGWH3pLTdGQIAK/WAvfdQ1xUH
jhvxK9+dtb0bnMH+2OOpTdrrEKjtYnLS04RXkXLO9t7lTDb/a2IhCIIg7fRxJnTqTP+IYHyz+tLw
6h+d0Zdkx7um+uoEzDOyS/hG71/qdGn8qrEQBEGQX9pP8MZumTHGurIF94JSf+w573um8avGQhAE
QX5tnb5XgckNNf2TknP7TsoPPet9zzR+1VgIgiDIr+7jHRAEQRAEQZCv1OnHKhAEQRAE+UmgXgWC
IAiCIB0D9SoQBEEQBOkYqFeBIAiCIEjHQL0KBEEQBEE6BupVIAiCIAjSMVCvAkEQBEGQjoF6FQiC
IAiCdAwiAOBkKkWSgAGAgMdiMFhNJolCRaiokxchCIIgnQc2THrwcK/Is4vlAACg8rrBRMfnn+au
JKMiVNS5ixAEQZBOBBsm3Y/aT0dbQxIDAD6rKD4+q5rfUIqjIlTUuYsQBEGQTgTNA4IgCIIgSMdA
T2siCIIgCNIxUK8CQRAEQZCOgXoVCIIgCIJ0DNSrQBAEQRCkY6BeBYIgCIIgHYP4oxNAmotn0oQV
6VD6fs9MEARBEKRN0FgFgiAIgiAdA/UqEARBEATpGKhX8dVw2cFrtzvYDib/6EQQBEEQ5McS3avA
ZCc53ahMDNo5SLLpMuoLLzBp8fV/YVNlOigVjNJdZ6b+YCVCB63ve6WByw1ZtWK+vhp6RAVBEAT5
zeHq627Gf+oiMGnxTFrs7cnUhlKyZj8NklQPbWWJJsvwi+9tHfX3wvGrfdI7MhWJgabuIc6GPUkd
udKfNg0EQRAE+enUX2D/v717DYrqvAMw/t9dQAGNV8qlXhJr2jROTTRWR2EcrZUo6WidaqQxGuul
eEHUSKw1Olo10VCvYxpvaDCIqHhLDWqsUQyCSAS8cAsLqMgKiKiwwLLLstsPKGqrsLZvLzjPb/jA
7Dn7nhe+nGfPezhkrP7lgmTj/ZdsxhvV97+tK4maOirjxdrsDOOjb7KWF2aWi5Oxd7UAAADUq18B
qTRkZOvT73/lXa+yNSxzVKR9+e2howeGPsMyh1OHN0JWR+ZmplXpL1w/EjavX7smFxPc+ywr1Ced
Gd9RPALPXKm/ZJIYNcC9fquL98DFmw8Y9GlVOXHfbZo+zLvpywjaDr5hUYev1Q+VdTJhw+RfeDSs
UGi9A1ZdSr1QpU+r0p/Xxyyd2sNd68A0xMVraNCKk6fiK/VpVfqUkrjN8195eAnH76MjZfq0Kn1i
+s65I3wem6HOY/CW0xcq4laM9OA2FgDAc+ypNwPYbh0L7ZXq6uwZEBUx2fHxNO6vLY8On2Y5/GHI
uhRjx8FTFiz7fHW5/+/DC+saeVd1+oZBw6J7BW+K8EuaOHHrFbOI1JUbTCKiadP3z/s2TKk7sXju
ukzNT8aHBh/Y1/6tX30cV25vZECt24uD+nYt37Fwypm7LTr1nTYv+EhMx2EjwuIr7CK2u+lfLZ9/
yFBarW3fY8LCP6zfZr48ZOV5U2PTEJ3n2HV7d/jb4ndtm5aUX2Ry9vBplVdkbThi4TebFx4vMLXv
Hbxo8u6NxT3HRuc/2Niik++bnXQ6GTC0s8uXpTWO/zIBAGhW6qui37qihicvZa/tOSoyzypWY1GO
UZxMpaZnGE7rEzB35g+TgwYvj75lE5HkHLtfYtjUIV4ROw3Wp7/NXlOWm1fZ9m6t1N69mpef/fDM
q+0UMGuK17UVAYvX6i0iZ0/nOPf4KmjJ8O3xe4ob6xQRESlKOXsy0SiSdCrD/t3h3y19M8I/pqRO
pKbg7P6C+l2upGv83t7Sx9fL6fxV69OnIe69gsL8WyUtGzkistDypGNdOxV7MM4ocj6r9cCMRQF+
7ffm37LVb6q+vOm9FcahmnMbL5EUAIDn2D/dV2Ez3brRyPm/CS27+3bXubiHJ6SEP/JqyUvtnaWx
qng61x/17yalsd88OJWbCxJOlwb9tl8X1z3FlQ6PYsqPO1k6KXBAF9eYkkrR/aD/+JVzfuP/qk87
bVVppZuLFLk7N7424eTT+/WOkrno+M0nJsUj6m7nG0zSrVMbnTyoCqkrO7NzwxmHZwsAQPNUXxWV
hoxsfcWTtj9YZtA4NpxGo9XIndgJk3ZkmB+OUXvv5r/1IV3z2NEdnMpj7GIT0Wg0IuLcNXB/xOxu
CdvmBX2bdU/j5ff+3g86Nj2AzS5ib/LqiIhIXW2daHWaf2WaAAA0Z009ZMFuqaoRad3BTScV/3BO
tdWaa0XcXmipFeODT+Wm3IQ8+/BefZyKD2ZUN3bjw5MOZa62iGu7Vo/d22nKO5cvw38+pLNLco5F
RFp08R3kIVnnC55lXUacvfsM9BD9hcIaEdeX+v9MW7juk/C931tEJL91UY08WhVPnIa1+OKVMgmY
MMQ7Zo+h9tl+LhFdh4HjxvlrkzZGJpc4FCYAADRHTVWFrSIvqUhCpk6feufUrRd8WqQeiM67vwhg
M169VCYTJ04afy/J2NbLKfXQvnyL4ej6z4K2h0SGt/tLdGxWWa2rx8s+5Ycj4xxYVak1XMo1BQ3+
U8jIT87edvLs2vrigahcc+HRjdtnbFm0dYV1TWym7sfvvh/0cvH+t445dHZ+Y8qsELdzudYuo2eH
/LTi5DvHi60i5uspOeI7YdY7lyNTCkyaDj09WzowjcqL25bED/10+a4jr3z+RUJeidmpjae3U8rB
fflNLYmIuPWc9sXi0R7y67aXA4JTubUCAPC8avKBkObv1ywIf23Ve2s+HWG7l7099NjePMv9KxOm
9I8/3P3q8sDPNgXW3c3aEfr1/nyLzZj6x9GTC+bPnD592Xh3kbqK3LMRp3c7UhX2O3Fh06M+Wvnu
0phJYr2TuT00NjrXbCtPDn17TtmyOfPWrm8tlTlx4WOWbG38D0Aa2Nx7zVk1xlNnLUo7OCN4zV9v
20TEcjUqMLjN2jkTduya3ULEbjbezIzPrWqolKdMw2qImDG2ZPLMD8YEbRvnJiJVxVd2Lf56vwNV
YS5MPFE4KlCT+LcbTe8MAECzpXndrfv/eg7/AU6dxyWeCr0zc+CwE8am9/7/wn9CBwA0UzyWCQAA
qEFVAAAANZ7TFRAAAPBfx7UKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFV
AAAANagKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAANagKAACgBlUB
AADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAANagKAACgBlUBAADUoCoAAIAaVAUA
AFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAANagKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAA
QA2qAgAAqEFVAAAANagKAACgBlUBAADUoCoAAIAaVAUAAFCDqgAAAGpQFQAAQA2qAgAAqEFVAAAA
NagKAACgxt8B+DNoLKo1S6EAAAAASUVORK5CYII=
--e89a8fb20486dff16e04c0886d39
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--e89a8fb20486dff16e04c0886d39--


From xen-devel-bounces@lists.xen.org Mon May 21 09:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOrw-00009d-TQ; Mon, 21 May 2012 09:25:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWOrv-00009R-Pv
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:25:35 +0000
Received: from [193.109.254.147:13668] by server-10.bemta-14.messagelabs.com
	id 09/27-05847-F0A0ABF4; Mon, 21 May 2012 09:25:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337592318!10118519!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6782 invoked from network); 21 May 2012 09:25:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:25:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12572259"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:25:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 10:25:17 +0100
Message-ID: <1337592315.24660.32.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 10:25:15 +0100
In-Reply-To: <CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
> >> Hello,
> >>
> >> I want to apply this patch:
> >>
> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
> >>
> >> I downloaded the patch from:
> >>
> >> http://darnok.org/xen/vga.patch
> >>
> >> and I did this to apply it:
> >>
> >> patch < vga.patch
> >>
> >> It asks for a file to patch, and it may be obvious, but I don't know
> >> which is the file.
> >
> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
> > thing.
> >
> 
> It says exactly the same thing:
> 
> can't find file to patch at input line 22
> Perhaps you used the wrong -p or --strip option?
> 
> And then asks me for the file to patch again..

Are you running this command from the root of a Linux kernel source
tree?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:26:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWOrw-00009d-TQ; Mon, 21 May 2012 09:25:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWOrv-00009R-Pv
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:25:35 +0000
Received: from [193.109.254.147:13668] by server-10.bemta-14.messagelabs.com
	id 09/27-05847-F0A0ABF4; Mon, 21 May 2012 09:25:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337592318!10118519!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6782 invoked from network); 21 May 2012 09:25:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:25:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12572259"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:25:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 10:25:17 +0100
Message-ID: <1337592315.24660.32.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 10:25:15 +0100
In-Reply-To: <CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
> >> Hello,
> >>
> >> I want to apply this patch:
> >>
> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
> >>
> >> I downloaded the patch from:
> >>
> >> http://darnok.org/xen/vga.patch
> >>
> >> and I did this to apply it:
> >>
> >> patch < vga.patch
> >>
> >> It asks for a file to patch, and it may be obvious, but I don't know
> >> which is the file.
> >
> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
> > thing.
> >
> 
> It says exactly the same thing:
> 
> can't find file to patch at input line 22
> Perhaps you used the wrong -p or --strip option?
> 
> And then asks me for the file to patch again..

Are you running this command from the root of a Linux kernel source
tree?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:38:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:38:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWP46-0000NY-9u; Mon, 21 May 2012 09:38:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWP44-0000NT-Cn
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:38:08 +0000
Received: from [85.158.143.99:6204] by server-3.bemta-4.messagelabs.com id
	98/17-05853-EFC0ABF4; Mon, 21 May 2012 09:38:06 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337593085!23669092!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19154 invoked from network); 21 May 2012 09:38:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 09:38:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 10:38:04 +0100
Message-Id: <4FBA29190200007800084BA7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 10:38:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Alex Bligh" <alex@alex.org.uk>
References: <ED4EC5C21C72BF9734072AE8@Ximines.local>
In-Reply-To: <ED4EC5C21C72BF9734072AE8@Ximines.local>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xen3.3.x on modern kernel / fs/aio.c / SUSE
 patches.xen/xen3-auto-common.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 17.05.12 at 23:05, Alex Bligh <alex@alex.org.uk> wrote:
> I am busy trying to forward-port xen3.3.x onto an Ubuntu Precise kernel.
> My route of attack is to apply all the patches.xen/ files that were
> in the SUSE 3.3.2 kernel release.
> 
> I appear to have been reasonably successful with this bar one change
> I don't understand.
> 
> In fs/aio.c, patches.xen/xen3-autocommon.diff has the following patch hunk
> listed at the end of this email. The first hunk applies fine. The later
> hunk does not. This is because the ioctx handling appears to have changed.
> I am not sure how this works or what it is trying to do.
> 
> The Ubuntu version had:
>         ioctx = ioctx_alloc(nr_events);
>         ret = PTR_ERR(ioctx);
>         if (!IS_ERR(ioctx)) {
>                 ret = put_user(ioctx->user_id, ctxp);
>                 if (!ret) {
>                         put_ioctx(ioctx);
>                         return 0;
>                 }
>                 io_destroy(ioctx);
>         }
> 
> out:
>         return ret;
> 
> Note the put_ioctx, ioctx_alloc, and lack of get_ioctx.
> 
> I /think/ the right solution here is as follows. Any ideas?
> 
>         ioctx = ioctx_alloc(nr_events);
>         ret = PTR_ERR(ioctx);
>         if (!IS_ERR(ioctx)) {
>                 ret = put_user(ioctx->user_id, ctxp);
> #ifdef CONFIG_EPOLL
>                 if (make_fd && ret >= 0)
>                         ret = make_aio_fd(ioctx);
> #endif
>                 if (!ret) {
>                         put_ioctx(ioctx);
>                         return 0;
>                 }
>                 io_destroy(ioctx);
>         }
> 
> out:
>         return ret;

Our code (3.4-rc6) looks like this

	if (!IS_ERR(ioctx)) {
		ret = put_user(ioctx->user_id, ctxp);
#ifdef CONFIG_EPOLL
		if (make_fd && !ret)
			ret = make_aio_fd(ioctx);
#endif
		if (ret < 0)
			io_destroy(ioctx);
		put_ioctx(ioctx);
	}

The patch apply failure and other confusion are presumably due
to a backport of a first attempt to address the issue someone
spotted in the AIO code - I would assume/hope that the full
3.4 solution got/will get backported to a later 3.3.x.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:38:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:38:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWP46-0000NY-9u; Mon, 21 May 2012 09:38:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWP44-0000NT-Cn
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:38:08 +0000
Received: from [85.158.143.99:6204] by server-3.bemta-4.messagelabs.com id
	98/17-05853-EFC0ABF4; Mon, 21 May 2012 09:38:06 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337593085!23669092!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19154 invoked from network); 21 May 2012 09:38:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 09:38:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 10:38:04 +0100
Message-Id: <4FBA29190200007800084BA7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 10:38:01 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Alex Bligh" <alex@alex.org.uk>
References: <ED4EC5C21C72BF9734072AE8@Ximines.local>
In-Reply-To: <ED4EC5C21C72BF9734072AE8@Ximines.local>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] xen3.3.x on modern kernel / fs/aio.c / SUSE
 patches.xen/xen3-auto-common.diff
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 17.05.12 at 23:05, Alex Bligh <alex@alex.org.uk> wrote:
> I am busy trying to forward-port xen3.3.x onto an Ubuntu Precise kernel.
> My route of attack is to apply all the patches.xen/ files that were
> in the SUSE 3.3.2 kernel release.
> 
> I appear to have been reasonably successful with this bar one change
> I don't understand.
> 
> In fs/aio.c, patches.xen/xen3-autocommon.diff has the following patch hunk
> listed at the end of this email. The first hunk applies fine. The later
> hunk does not. This is because the ioctx handling appears to have changed.
> I am not sure how this works or what it is trying to do.
> 
> The Ubuntu version had:
>         ioctx = ioctx_alloc(nr_events);
>         ret = PTR_ERR(ioctx);
>         if (!IS_ERR(ioctx)) {
>                 ret = put_user(ioctx->user_id, ctxp);
>                 if (!ret) {
>                         put_ioctx(ioctx);
>                         return 0;
>                 }
>                 io_destroy(ioctx);
>         }
> 
> out:
>         return ret;
> 
> Note the put_ioctx, ioctx_alloc, and lack of get_ioctx.
> 
> I /think/ the right solution here is as follows. Any ideas?
> 
>         ioctx = ioctx_alloc(nr_events);
>         ret = PTR_ERR(ioctx);
>         if (!IS_ERR(ioctx)) {
>                 ret = put_user(ioctx->user_id, ctxp);
> #ifdef CONFIG_EPOLL
>                 if (make_fd && ret >= 0)
>                         ret = make_aio_fd(ioctx);
> #endif
>                 if (!ret) {
>                         put_ioctx(ioctx);
>                         return 0;
>                 }
>                 io_destroy(ioctx);
>         }
> 
> out:
>         return ret;

Our code (3.4-rc6) looks like this

	if (!IS_ERR(ioctx)) {
		ret = put_user(ioctx->user_id, ctxp);
#ifdef CONFIG_EPOLL
		if (make_fd && !ret)
			ret = make_aio_fd(ioctx);
#endif
		if (ret < 0)
			io_destroy(ioctx);
		put_ioctx(ioctx);
	}

The patch apply failure and other confusion are presumably due
to a backport of a first attempt to address the issue someone
spotted in the AIO code - I would assume/hope that the full
3.4 solution got/will get backported to a later 3.3.x.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:55:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPKN-0000Y2-1W; Mon, 21 May 2012 09:54:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SWPKL-0000Xe-D2
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:54:57 +0000
Received: from [85.158.143.35:27499] by server-2.bemta-4.messagelabs.com id
	F4/7D-12211-0F01ABF4; Mon, 21 May 2012 09:54:56 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337594094!10637707!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24122 invoked from network); 21 May 2012 09:54:55 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:54:55 -0000
Received: by lahc1 with SMTP id c1so4171387lah.32
	for <multiple recipients>; Mon, 21 May 2012 02:54:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=XcloucNflffoiZTsZSYDAeWAkCrO/Q/+EEKnAb1UgDI=;
	b=BXkcfQ+l4iSo+3OhEETXV4k4AZbISv7+SvoksPPezX3aEQYvr4Y2LoXYOsYAjrFRso
	/xgUhffZHz138+BKU8Xmo9bx8NOgLDUOIYVixNyz0ubWXME7Jkd5ZCoEqRxGWaWV0xmj
	brrGZcDbLFaa8cfLur+3Z08YQRm9wG/OZ1Ri1C8tTDoG9OmTRb5dLRjAYAqvC9+7EaSY
	d4XxGFz2eZxV8x2Uyt5oRoqDV3F1jl2s6UzDqAa0a6ivD8YcpmTyCP4wD7r43riw3eV4
	l6cw42doYIJvhD/hgPZuC7vyAanIJiIeM1khkvE+Vp7hq280IOCdvfF+/QYO+mK5lNVx
	LjZw==
Received: by 10.112.49.68 with SMTP id s4mr8455050lbn.27.1337594093826;
	Mon, 21 May 2012 02:54:53 -0700 (PDT)
Received: from [172.16.25.10] (b0fb6af0.bb.sky.com. [176.251.106.240])
	by mx.google.com with ESMTPS id xx8sm1738020lab.10.2012.05.21.02.54.51
	(version=SSLv3 cipher=OTHER); Mon, 21 May 2012 02:54:52 -0700 (PDT)
Message-ID: <4FBA10EA.5030904@xen.org>
Date: Mon, 21 May 2012 10:54:50 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org, 
	xen-arm@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: [Xen-devel] [Announce] Version 1.2 of project governance has been
	approved
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

everybody. Last week's vote on changes proposed in 
http://xen.org/projects/governance_v1_2.html concluded with 9 votes for 
the proposal, 0 votes abstaining and 0 votes against. This means the new 
version of the process will come in effect as of today.

Best Regards
Lars

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 09:55:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 09:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPKN-0000Y2-1W; Mon, 21 May 2012 09:54:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SWPKL-0000Xe-D2
	for xen-devel@lists.xen.org; Mon, 21 May 2012 09:54:57 +0000
Received: from [85.158.143.35:27499] by server-2.bemta-4.messagelabs.com id
	F4/7D-12211-0F01ABF4; Mon, 21 May 2012 09:54:56 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337594094!10637707!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24122 invoked from network); 21 May 2012 09:54:55 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 09:54:55 -0000
Received: by lahc1 with SMTP id c1so4171387lah.32
	for <multiple recipients>; Mon, 21 May 2012 02:54:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=XcloucNflffoiZTsZSYDAeWAkCrO/Q/+EEKnAb1UgDI=;
	b=BXkcfQ+l4iSo+3OhEETXV4k4AZbISv7+SvoksPPezX3aEQYvr4Y2LoXYOsYAjrFRso
	/xgUhffZHz138+BKU8Xmo9bx8NOgLDUOIYVixNyz0ubWXME7Jkd5ZCoEqRxGWaWV0xmj
	brrGZcDbLFaa8cfLur+3Z08YQRm9wG/OZ1Ri1C8tTDoG9OmTRb5dLRjAYAqvC9+7EaSY
	d4XxGFz2eZxV8x2Uyt5oRoqDV3F1jl2s6UzDqAa0a6ivD8YcpmTyCP4wD7r43riw3eV4
	l6cw42doYIJvhD/hgPZuC7vyAanIJiIeM1khkvE+Vp7hq280IOCdvfF+/QYO+mK5lNVx
	LjZw==
Received: by 10.112.49.68 with SMTP id s4mr8455050lbn.27.1337594093826;
	Mon, 21 May 2012 02:54:53 -0700 (PDT)
Received: from [172.16.25.10] (b0fb6af0.bb.sky.com. [176.251.106.240])
	by mx.google.com with ESMTPS id xx8sm1738020lab.10.2012.05.21.02.54.51
	(version=SSLv3 cipher=OTHER); Mon, 21 May 2012 02:54:52 -0700 (PDT)
Message-ID: <4FBA10EA.5030904@xen.org>
Date: Mon, 21 May 2012 10:54:50 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org, 
	xen-arm@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: [Xen-devel] [Announce] Version 1.2 of project governance has been
	approved
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

everybody. Last week's vote on changes proposed in 
http://xen.org/projects/governance_v1_2.html concluded with 9 votes for 
the proposal, 0 votes abstaining and 0 votes against. This means the new 
version of the process will come in effect as of today.

Best Regards
Lars

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:19:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:19:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPhT-0000tp-CM; Mon, 21 May 2012 10:18:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWPhS-0000tk-0H
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 10:18:50 +0000
Received: from [85.158.143.99:5080] by server-2.bemta-4.messagelabs.com id
	97/52-12211-9861ABF4; Mon, 21 May 2012 10:18:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337595528!21459297!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 893 invoked from network); 21 May 2012 10:18:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:18:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12573700"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 10:18:47 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 11:18:47 +0100
Date: Mon, 21 May 2012 11:18:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jim Meyering <jim@meyering.net>
In-Reply-To: <1337594591-19309-2-git-send-email-jim@meyering.net>
Message-ID: <alpine.DEB.2.00.1205211117260.26786@kaball-desktop>
References: <1337594591-19309-1-git-send-email-jim@meyering.net>
	<1337594591-19309-2-git-send-email-jim@meyering.net>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Jim Meyering <meyering@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	John Haxby <john.haxby@oracle.com>, Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: remove unused global, xen_xcg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Jim Meyering wrote:
> From: Jim Meyering <meyering@redhat.com>
> 
> 
> Signed-off-by: Jim Meyering <meyering@redhat.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  hw/xen_backend.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/hw/xen_backend.c b/hw/xen_backend.c
> index 66cb144..e44ced0 100644
> --- a/hw/xen_backend.c
> +++ b/hw/xen_backend.c
> @@ -47,7 +47,6 @@
> 
>  /* public */
>  XenXC xen_xc = XC_HANDLER_INITIAL_VALUE;
> -XenGnttab xen_xcg = XC_HANDLER_INITIAL_VALUE;
>  struct xs_handle *xenstore = NULL;
>  const char *xen_protocol;
> 
> -- 
> 1.7.10.2.552.gaa3bb87
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:19:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:19:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPhT-0000tp-CM; Mon, 21 May 2012 10:18:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWPhS-0000tk-0H
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 10:18:50 +0000
Received: from [85.158.143.99:5080] by server-2.bemta-4.messagelabs.com id
	97/52-12211-9861ABF4; Mon, 21 May 2012 10:18:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337595528!21459297!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 893 invoked from network); 21 May 2012 10:18:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:18:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12573700"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 10:18:47 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 11:18:47 +0100
Date: Mon, 21 May 2012 11:18:32 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jim Meyering <jim@meyering.net>
In-Reply-To: <1337594591-19309-2-git-send-email-jim@meyering.net>
Message-ID: <alpine.DEB.2.00.1205211117260.26786@kaball-desktop>
References: <1337594591-19309-1-git-send-email-jim@meyering.net>
	<1337594591-19309-2-git-send-email-jim@meyering.net>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Jim Meyering <meyering@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	John Haxby <john.haxby@oracle.com>, Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: remove unused global, xen_xcg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Jim Meyering wrote:
> From: Jim Meyering <meyering@redhat.com>
> 
> 
> Signed-off-by: Jim Meyering <meyering@redhat.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  hw/xen_backend.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/hw/xen_backend.c b/hw/xen_backend.c
> index 66cb144..e44ced0 100644
> --- a/hw/xen_backend.c
> +++ b/hw/xen_backend.c
> @@ -47,7 +47,6 @@
> 
>  /* public */
>  XenXC xen_xc = XC_HANDLER_INITIAL_VALUE;
> -XenGnttab xen_xcg = XC_HANDLER_INITIAL_VALUE;
>  struct xs_handle *xenstore = NULL;
>  const char *xen_protocol;
> 
> -- 
> 1.7.10.2.552.gaa3bb87
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:25:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPnO-000124-9I; Mon, 21 May 2012 10:24:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWPnM-00011z-EU
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:24:56 +0000
Received: from [193.109.254.147:49965] by server-3.bemta-14.messagelabs.com id
	99/24-23274-7F71ABF4; Mon, 21 May 2012 10:24:55 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337595893!10346569!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1465 invoked from network); 21 May 2012 10:24:55 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:24:55 -0000
Received: by ggnp1 with SMTP id p1so5041961ggn.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 03:24:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=RRtzpJXx4YaUkxRKXFwP6YzwqUQBRVuulocs1JEtvqA=;
	b=Fg/SM8/qB/bTNUKDpNQ1IBLgbcms/vWM/cJUgMM8XH0RnAEBimQQMX3FJpyzo7jNyQ
	g2odlHZlL46tqg9PMWlzyIdrfsoF2c4PcQCilu2vYjNkJ8CVXxweTmyvZ9at1wBxAwE4
	ml3b/dz9Lm55znah1a6GmU68IsVoD+ZlzgZS//CFTHdA3IRGAZXTO9hGVtm1veY67MFI
	9sA63to1PxuBFdW1OII2R8ifLoBvZcT5LEPhA4ZovRW2jsekPyQpEaVLmF/SeS/aZNuf
	nldPkNSKjkMmltQa+5iYU0/9GUMhpDL3gsIEsn38odoOGil5YIkroSblN0i4j3k4BISQ
	ssEg==
Received: by 10.60.20.3 with SMTP id j3mr18854032oee.43.1337595893130; Mon, 21
	May 2012 03:24:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 03:24:32 -0700 (PDT)
In-Reply-To: <1337592315.24660.32.camel@zakaz.uk.xensource.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 12:24:32 +0200
Message-ID: <CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21 May 2012 11:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
>> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>> >> Hello,
>> >>
>> >> I want to apply this patch:
>> >>
>> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>> >>
>> >> I downloaded the patch from:
>> >>
>> >> http://darnok.org/xen/vga.patch
>> >>
>> >> and I did this to apply it:
>> >>
>> >> patch < vga.patch
>> >>
>> >> It asks for a file to patch, and it may be obvious, but I don't know
>> >> which is the file.
>> >
>> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
>> > thing.
>> >
>>
>> It says exactly the same thing:
>>
>> can't find file to patch at input line 22
>> Perhaps you used the wrong -p or --strip option?
>>
>> And then asks me for the file to patch again..
>
> Are you running this command from the root of a Linux kernel source
> tree?
>
> Ian.
>
>

Ian, do you mean I have to recompile the kernel after applying the patch?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:25:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPnO-000124-9I; Mon, 21 May 2012 10:24:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWPnM-00011z-EU
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:24:56 +0000
Received: from [193.109.254.147:49965] by server-3.bemta-14.messagelabs.com id
	99/24-23274-7F71ABF4; Mon, 21 May 2012 10:24:55 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337595893!10346569!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1465 invoked from network); 21 May 2012 10:24:55 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:24:55 -0000
Received: by ggnp1 with SMTP id p1so5041961ggn.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 03:24:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=RRtzpJXx4YaUkxRKXFwP6YzwqUQBRVuulocs1JEtvqA=;
	b=Fg/SM8/qB/bTNUKDpNQ1IBLgbcms/vWM/cJUgMM8XH0RnAEBimQQMX3FJpyzo7jNyQ
	g2odlHZlL46tqg9PMWlzyIdrfsoF2c4PcQCilu2vYjNkJ8CVXxweTmyvZ9at1wBxAwE4
	ml3b/dz9Lm55znah1a6GmU68IsVoD+ZlzgZS//CFTHdA3IRGAZXTO9hGVtm1veY67MFI
	9sA63to1PxuBFdW1OII2R8ifLoBvZcT5LEPhA4ZovRW2jsekPyQpEaVLmF/SeS/aZNuf
	nldPkNSKjkMmltQa+5iYU0/9GUMhpDL3gsIEsn38odoOGil5YIkroSblN0i4j3k4BISQ
	ssEg==
Received: by 10.60.20.3 with SMTP id j3mr18854032oee.43.1337595893130; Mon, 21
	May 2012 03:24:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 03:24:32 -0700 (PDT)
In-Reply-To: <1337592315.24660.32.camel@zakaz.uk.xensource.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 12:24:32 +0200
Message-ID: <CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21 May 2012 11:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
>> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>> >> Hello,
>> >>
>> >> I want to apply this patch:
>> >>
>> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>> >>
>> >> I downloaded the patch from:
>> >>
>> >> http://darnok.org/xen/vga.patch
>> >>
>> >> and I did this to apply it:
>> >>
>> >> patch < vga.patch
>> >>
>> >> It asks for a file to patch, and it may be obvious, but I don't know
>> >> which is the file.
>> >
>> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
>> > thing.
>> >
>>
>> It says exactly the same thing:
>>
>> can't find file to patch at input line 22
>> Perhaps you used the wrong -p or --strip option?
>>
>> And then asks me for the file to patch again..
>
> Are you running this command from the root of a Linux kernel source
> tree?
>
> Ian.
>
>

Ian, do you mean I have to recompile the kernel after applying the patch?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:26:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:26:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPoj-00015y-OM; Mon, 21 May 2012 10:26:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWPoi-00015q-Vl
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:26:21 +0000
Received: from [85.158.138.51:60731] by server-3.bemta-3.messagelabs.com id
	F9/FF-04048-C481ABF4; Mon, 21 May 2012 10:26:20 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337595978!28138937!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23513 invoked from network); 21 May 2012 10:26:19 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-16.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 10:26:19 -0000
Received: from mail129-va3-R.bigfish.com (10.7.14.254) by
	VA3EHSOBE009.bigfish.com (10.7.40.29) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 10:26:05 +0000
Received: from mail129-va3 (localhost [127.0.0.1])	by
	mail129-va3-R.bigfish.com (Postfix) with ESMTP id 65E9A260490;
	Mon, 21 May 2012 10:26:05 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
Received: from mail129-va3 (localhost.localdomain [127.0.0.1]) by mail129-va3
	(MessageSwitch) id 1337595963637980_24755;
	Mon, 21 May 2012 10:26:03 +0000 (UTC)
Received: from VA3EHSMHS036.bigfish.com (unknown [10.7.14.254])	by
	mail129-va3.bigfish.com (Postfix) with ESMTP id 96AF916004C;
	Mon, 21 May 2012 10:26:03 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS036.bigfish.com (10.7.99.46) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 10:26:02 +0000
X-WSS-ID: 0M4DBNM-02-DO2-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 25E26C8092;	Mon, 21 May 2012 05:26:10 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 21 May 2012 05:26:18 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Mon, 21 May 2012 05:26:13 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Mon, 21 May 2012
	06:26:12 -0400
Message-ID: <4FBA185A.3080306@amd.com>
Date: Mon, 21 May 2012 12:26:34 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337356698.22316.138.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 17:58, Ian Campbell wrote:

> 
>> In libxl__build_post() I check the return value
>> of libxl__sched_set_params().
> 
> The mesages about scheduler params are a known and benign issue.
> 
>> Now trying to start a guest results in this failure:
>>
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
> 
> Is your device model dying for some reason? Anything
> in /var/log/xen/*guest*.log about it?


The guest logfile doesn't exist. Does that mean the errors happens
before device model has been started at all?

> 
> You could try "xl -vvv cr ..." too, not sure what it will say.


libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
(re-)build domain: -6
libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
device model's pid: No such file or directory
libxl: error: libxl.c:1162:libxl_domain_destroy:
libxl__destroy_device_model failed for 2
xc: debug: hypercall buffer: total allocations:1251 total releases:1251
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:1248 misses:2 toobig:1
libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
xs_daemon_close   <-- the printf annotation


Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:26:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:26:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWPoj-00015y-OM; Mon, 21 May 2012 10:26:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWPoi-00015q-Vl
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:26:21 +0000
Received: from [85.158.138.51:60731] by server-3.bemta-3.messagelabs.com id
	F9/FF-04048-C481ABF4; Mon, 21 May 2012 10:26:20 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337595978!28138937!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23513 invoked from network); 21 May 2012 10:26:19 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-16.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 10:26:19 -0000
Received: from mail129-va3-R.bigfish.com (10.7.14.254) by
	VA3EHSOBE009.bigfish.com (10.7.40.29) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 10:26:05 +0000
Received: from mail129-va3 (localhost [127.0.0.1])	by
	mail129-va3-R.bigfish.com (Postfix) with ESMTP id 65E9A260490;
	Mon, 21 May 2012 10:26:05 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
Received: from mail129-va3 (localhost.localdomain [127.0.0.1]) by mail129-va3
	(MessageSwitch) id 1337595963637980_24755;
	Mon, 21 May 2012 10:26:03 +0000 (UTC)
Received: from VA3EHSMHS036.bigfish.com (unknown [10.7.14.254])	by
	mail129-va3.bigfish.com (Postfix) with ESMTP id 96AF916004C;
	Mon, 21 May 2012 10:26:03 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS036.bigfish.com (10.7.99.46) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 10:26:02 +0000
X-WSS-ID: 0M4DBNM-02-DO2-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 25E26C8092;	Mon, 21 May 2012 05:26:10 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 21 May 2012 05:26:18 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Mon, 21 May 2012 05:26:13 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Mon, 21 May 2012
	06:26:12 -0400
Message-ID: <4FBA185A.3080306@amd.com>
Date: Mon, 21 May 2012 12:26:34 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337356698.22316.138.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/18/12 17:58, Ian Campbell wrote:

> 
>> In libxl__build_post() I check the return value
>> of libxl__sched_set_params().
> 
> The mesages about scheduler params are a known and benign issue.
> 
>> Now trying to start a guest results in this failure:
>>
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
> 
> Is your device model dying for some reason? Anything
> in /var/log/xen/*guest*.log about it?


The guest logfile doesn't exist. Does that mean the errors happens
before device model has been started at all?

> 
> You could try "xl -vvv cr ..." too, not sure what it will say.


libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
(re-)build domain: -6
libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
device model's pid: No such file or directory
libxl: error: libxl.c:1162:libxl_domain_destroy:
libxl__destroy_device_model failed for 2
xc: debug: hypercall buffer: total allocations:1251 total releases:1251
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:1248 misses:2 toobig:1
libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
xs_daemon_close   <-- the printf annotation


Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:49:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:49:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQAa-0001NF-QD; Mon, 21 May 2012 10:48:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SWQAZ-0001NA-Aw
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:48:55 +0000
Received: from [85.158.139.83:64444] by server-4.bemta-5.messagelabs.com id
	6B/BB-09525-69D1ABF4; Mon, 21 May 2012 10:48:54 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337597332!29482447!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11131 invoked from network); 21 May 2012 10:48:54 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:48:54 -0000
Received: by yenm4 with SMTP id m4so5050458yen.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 03:48:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=FcLXcQahkGFudwv+82x2Bfu+18TS8RyJKe3lACmMczg=;
	b=KtdSWlaJKFcum16OJFwOHfZIMI8Zd6KMOIWXzLwCH+pgWqU+lckN7yPt+PG+DnFBKr
	YFJ+BtprdGaMDidI56KNmcSNXdJIPCVMHwMjgCKJzZr2T7KvD/L3myzgQb1G5ER6XiV4
	Hhw9UGCPyG/FgETdnWFs3X/28UroalWEKI32YBmkslPrK0s6d69LOo7pa7BQlQ0mG/YI
	zyo6GcJJqDEREUYF67CyqlpmhDKNhE+tSqediy4K/vmw5zs1Oug9yLpVShcFS21ICn0N
	AJ8trqybg6TCvF5L9mNE/wDw9mX69pc4vFEGkMp52MDiThQxyOjYwzGQWFksek21KqDZ
	jWIQ==
Received: by 10.50.171.69 with SMTP id as5mr6191069igc.72.1337597331338; Mon,
	21 May 2012 03:48:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Mon, 21 May 2012 03:48:21 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205181436080.26786@kaball-desktop>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205181436080.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Mon, 21 May 2012 11:48:21 +0100
X-Google-Sender-Auth: dpWobkDEYqTZRpGVMUEkDgByc6k
Message-ID: <CAJJyHjJuLE2zMoFJKTaNhSGXGcyT0rVRokO+M23mrWe=0Cv2Kg@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 18, 2012 at 2:37 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Wed, 16 May 2012, Anthony PERARD wrote:
>> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
>> unplug before the guest drivers are initialized, when the guest write to a
>> specific IO port.
>>
>> Without this patch, the guest end up with two nics with the same MAC, the
>> emulated nic and the PV nic.
>>
>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>
> Is this patch required in qemu-upstream-unstable.git too?
> If so, could you please provide a backport?

Yes, a patch is also needed for our qemu stable tree. I'll send a patch.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:49:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:49:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQAa-0001NF-QD; Mon, 21 May 2012 10:48:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1SWQAZ-0001NA-Aw
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:48:55 +0000
Received: from [85.158.139.83:64444] by server-4.bemta-5.messagelabs.com id
	6B/BB-09525-69D1ABF4; Mon, 21 May 2012 10:48:54 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337597332!29482447!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11131 invoked from network); 21 May 2012 10:48:54 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:48:54 -0000
Received: by yenm4 with SMTP id m4so5050458yen.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 03:48:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=FcLXcQahkGFudwv+82x2Bfu+18TS8RyJKe3lACmMczg=;
	b=KtdSWlaJKFcum16OJFwOHfZIMI8Zd6KMOIWXzLwCH+pgWqU+lckN7yPt+PG+DnFBKr
	YFJ+BtprdGaMDidI56KNmcSNXdJIPCVMHwMjgCKJzZr2T7KvD/L3myzgQb1G5ER6XiV4
	Hhw9UGCPyG/FgETdnWFs3X/28UroalWEKI32YBmkslPrK0s6d69LOo7pa7BQlQ0mG/YI
	zyo6GcJJqDEREUYF67CyqlpmhDKNhE+tSqediy4K/vmw5zs1Oug9yLpVShcFS21ICn0N
	AJ8trqybg6TCvF5L9mNE/wDw9mX69pc4vFEGkMp52MDiThQxyOjYwzGQWFksek21KqDZ
	jWIQ==
Received: by 10.50.171.69 with SMTP id as5mr6191069igc.72.1337597331338; Mon,
	21 May 2012 03:48:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Mon, 21 May 2012 03:48:21 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205181436080.26786@kaball-desktop>
References: <1337190610-2149-1-git-send-email-anthony.perard@citrix.com>
	<alpine.DEB.2.00.1205181436080.26786@kaball-desktop>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Mon, 21 May 2012 11:48:21 +0100
X-Google-Sender-Auth: dpWobkDEYqTZRpGVMUEkDgByc6k
Message-ID: <CAJJyHjJuLE2zMoFJKTaNhSGXGcyT0rVRokO+M23mrWe=0Cv2Kg@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1.1 V2] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 18, 2012 at 2:37 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Wed, 16 May 2012, Anthony PERARD wrote:
>> In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
>> unplug before the guest drivers are initialized, when the guest write to a
>> specific IO port.
>>
>> Without this patch, the guest end up with two nics with the same MAC, the
>> emulated nic and the PV nic.
>>
>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>
> Is this patch required in qemu-upstream-unstable.git too?
> If so, could you please provide a backport?

Yes, a patch is also needed for our qemu stable tree. I'll send a patch.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:55:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:55:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQGn-0001Vs-ML; Mon, 21 May 2012 10:55:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWQGm-0001Vn-9f
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:55:20 +0000
Received: from [85.158.143.35:24209] by server-3.bemta-4.messagelabs.com id
	ED/00-05853-71F1ABF4; Mon, 21 May 2012 10:55:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337597714!16428842!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23251 invoked from network); 21 May 2012 10:55:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:55:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12574623"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 10:55:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 11:55:14 +0100
Message-ID: <1337597713.24660.52.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 11:55:13 +0100
In-Reply-To: <CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 11:24 +0100, eva wrote:
> On 21 May 2012 11:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
> >> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
> >> >> Hello,
> >> >>
> >> >> I want to apply this patch:
> >> >>
> >> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
> >> >>
> >> >> I downloaded the patch from:
> >> >>
> >> >> http://darnok.org/xen/vga.patch
> >> >>
> >> >> and I did this to apply it:
> >> >>
> >> >> patch < vga.patch
> >> >>
> >> >> It asks for a file to patch, and it may be obvious, but I don't know
> >> >> which is the file.
> >> >
> >> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
> >> > thing.
> >> >
> >>
> >> It says exactly the same thing:
> >>
> >> can't find file to patch at input line 22
> >> Perhaps you used the wrong -p or --strip option?
> >>
> >> And then asks me for the file to patch again..
> >
> > Are you running this command from the root of a Linux kernel source
> > tree?
> >
> > Ian.
> >
> >
> 
> Ian, do you mean I have to recompile the kernel after applying the patch?

Well, it's a kernel patch, so yes -- obviously!

You seem to be rather unfamiliar with kernels and patching etc. I would
highly recommend that you consume a suitable kernel direct from your
distro rather than try to path/build it yourself unless you have some
pressing need to do so. You don't say which distro you are using but
many of the popular ones have a Xen dom0 kernel available these days,
including ones newer than 3.0 which have this patch already applied.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:55:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:55:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQGn-0001Vs-ML; Mon, 21 May 2012 10:55:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWQGm-0001Vn-9f
	for xen-devel@lists.xen.org; Mon, 21 May 2012 10:55:20 +0000
Received: from [85.158.143.35:24209] by server-3.bemta-4.messagelabs.com id
	ED/00-05853-71F1ABF4; Mon, 21 May 2012 10:55:19 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337597714!16428842!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23251 invoked from network); 21 May 2012 10:55:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:55:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,629,1330905600"; d="scan'208";a="12574623"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 10:55:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 11:55:14 +0100
Message-ID: <1337597713.24660.52.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 11:55:13 +0100
In-Reply-To: <CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 11:24 +0100, eva wrote:
> On 21 May 2012 11:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
> >> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
> >> >> Hello,
> >> >>
> >> >> I want to apply this patch:
> >> >>
> >> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
> >> >>
> >> >> I downloaded the patch from:
> >> >>
> >> >> http://darnok.org/xen/vga.patch
> >> >>
> >> >> and I did this to apply it:
> >> >>
> >> >> patch < vga.patch
> >> >>
> >> >> It asks for a file to patch, and it may be obvious, but I don't know
> >> >> which is the file.
> >> >
> >> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
> >> > thing.
> >> >
> >>
> >> It says exactly the same thing:
> >>
> >> can't find file to patch at input line 22
> >> Perhaps you used the wrong -p or --strip option?
> >>
> >> And then asks me for the file to patch again..
> >
> > Are you running this command from the root of a Linux kernel source
> > tree?
> >
> > Ian.
> >
> >
> 
> Ian, do you mean I have to recompile the kernel after applying the patch?

Well, it's a kernel patch, so yes -- obviously!

You seem to be rather unfamiliar with kernels and patching etc. I would
highly recommend that you consume a suitable kernel direct from your
distro rather than try to path/build it yourself unless you have some
pressing need to do so. You don't say which distro you are using but
many of the popular ones have a Xen dom0 kernel available these days,
including ones newer than 3.0 which have this patch already applied.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQK1-0001dd-EO; Mon, 21 May 2012 10:58:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWQK0-0001dT-3i
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 10:58:40 +0000
Received: from [85.158.143.35:48476] by server-1.bemta-4.messagelabs.com id
	D0/22-00342-EDF1ABF4; Mon, 21 May 2012 10:58:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337597915!13267923!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9355 invoked from network); 21 May 2012 10:58:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:58:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12574715"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 10:58:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 11:58:35 +0100
Date: Mon, 21 May 2012 11:58:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: xen.org <ian.jackson@eu.citrix.com>
In-Reply-To: <osstest-12946-mainreport@xen.org>
Message-ID: <alpine.DEB.2.00.1205211154050.26786@kaball-desktop>
References: <osstest-12946-mainreport@xen.org>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [qemu-upstream-unstable test] 12946: regressions -
 FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, xen.org wrote:
> flight 12946 qemu-upstream-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12946/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Is this actually a real regression?

I am asking because I cannot repro it and it is supposed to be caused
by the appended patch, that is a compile fix and shoudn't change the
runtime behavior. Moreover it affects audio and sound is not even
enabled in the VM config file.


commit 6505594b66d6f175b3311b844804c6cb582ce52a
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Fri May 18 12:05:31 2012 +0000

    audio: split IN_T into two separate constants
    
    Split IN_T into BSIZE and ITYPE, to avoid expansion if the OS has
    defined macros for the intX_t and uintX_t types. The IN_T constant is
    then defined in mixeng_template.h so it can be used by the
    functions/macros on this header file.
    
    This change has been tested successfully under Debian Linux and NetBSD
    6.0BETA.
    
    upstream-commit: a28853871d6ef5ec4afe810a43fdde859dfdaa7e
    
    Cc: Vassili Karpov (malc) <av1474@comtv.ru>
    Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
    Signed-off-by: malc <av1474@comtv.ru>

diff --git a/audio/mixeng.c b/audio/mixeng.c
index 5446be6..02a9d9f 100644
--- a/audio/mixeng.c
+++ b/audio/mixeng.c
@@ -33,7 +33,8 @@
 #define ENDIAN_CONVERT(v) (v)
 
 /* Signed 8 bit */
-#define IN_T int8_t
+#define BSIZE 8
+#define ITYPE int
 #define IN_MIN SCHAR_MIN
 #define IN_MAX SCHAR_MAX
 #define SIGNED
@@ -42,25 +43,29 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 8 bit */
-#define IN_T uint8_t
+#define BSIZE 8
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UCHAR_MAX
 #define SHIFT 8
 #include "mixeng_template.h"
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 #undef ENDIAN_CONVERT
 #undef ENDIAN_CONVERSION
 
 /* Signed 16 bit */
-#define IN_T int16_t
+#define BSIZE 16
+#define ITYPE int
 #define IN_MIN SHRT_MIN
 #define IN_MAX SHRT_MAX
 #define SIGNED
@@ -78,11 +83,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 16 bit */
-#define IN_T uint16_t
+#define BSIZE 16
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX USHRT_MAX
 #define SHIFT 16
@@ -98,11 +105,13 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Signed 32 bit */
-#define IN_T int32_t
+#define BSIZE 32
+#define ITYPE int
 #define IN_MIN INT32_MIN
 #define IN_MAX INT32_MAX
 #define SIGNED
@@ -120,11 +129,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 32 bit */
-#define IN_T uint32_t
+#define BSIZE 32
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UINT32_MAX
 #define SHIFT 32
@@ -140,7 +151,8 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 t_sample *mixeng_conv[2][2][2][3] = {
diff --git a/audio/mixeng_template.h b/audio/mixeng_template.h
index e644c23..30849a6 100644
--- a/audio/mixeng_template.h
+++ b/audio/mixeng_template.h
@@ -31,7 +31,8 @@
 #define HALF (IN_MAX >> 1)
 #endif
 
-#define ET glue (ENDIAN_CONVERSION, glue (_, IN_T))
+#define ET glue (ENDIAN_CONVERSION, glue (glue (glue (_, ITYPE), BSIZE), _t))
+#define IN_T glue (glue (ITYPE, BSIZE), _t)
 
 #ifdef FLOAT_MIXENG
 static mixeng_real inline glue (conv_, ET) (IN_T v)
@@ -150,3 +151,4 @@ static void glue (glue (clip_, ET), _from_mono)
 
 #undef ET
 #undef HALF
+#undef IN_T


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 10:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 10:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQK1-0001dd-EO; Mon, 21 May 2012 10:58:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWQK0-0001dT-3i
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 10:58:40 +0000
Received: from [85.158.143.35:48476] by server-1.bemta-4.messagelabs.com id
	D0/22-00342-EDF1ABF4; Mon, 21 May 2012 10:58:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337597915!13267923!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9355 invoked from network); 21 May 2012 10:58:36 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 10:58:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12574715"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 10:58:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 11:58:35 +0100
Date: Mon, 21 May 2012 11:58:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: xen.org <ian.jackson@eu.citrix.com>
In-Reply-To: <osstest-12946-mainreport@xen.org>
Message-ID: <alpine.DEB.2.00.1205211154050.26786@kaball-desktop>
References: <osstest-12946-mainreport@xen.org>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [qemu-upstream-unstable test] 12946: regressions -
 FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, xen.org wrote:
> flight 12946 qemu-upstream-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12946/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Is this actually a real regression?

I am asking because I cannot repro it and it is supposed to be caused
by the appended patch, that is a compile fix and shoudn't change the
runtime behavior. Moreover it affects audio and sound is not even
enabled in the VM config file.


commit 6505594b66d6f175b3311b844804c6cb582ce52a
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Fri May 18 12:05:31 2012 +0000

    audio: split IN_T into two separate constants
    
    Split IN_T into BSIZE and ITYPE, to avoid expansion if the OS has
    defined macros for the intX_t and uintX_t types. The IN_T constant is
    then defined in mixeng_template.h so it can be used by the
    functions/macros on this header file.
    
    This change has been tested successfully under Debian Linux and NetBSD
    6.0BETA.
    
    upstream-commit: a28853871d6ef5ec4afe810a43fdde859dfdaa7e
    
    Cc: Vassili Karpov (malc) <av1474@comtv.ru>
    Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
    Signed-off-by: malc <av1474@comtv.ru>

diff --git a/audio/mixeng.c b/audio/mixeng.c
index 5446be6..02a9d9f 100644
--- a/audio/mixeng.c
+++ b/audio/mixeng.c
@@ -33,7 +33,8 @@
 #define ENDIAN_CONVERT(v) (v)
 
 /* Signed 8 bit */
-#define IN_T int8_t
+#define BSIZE 8
+#define ITYPE int
 #define IN_MIN SCHAR_MIN
 #define IN_MAX SCHAR_MAX
 #define SIGNED
@@ -42,25 +43,29 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 8 bit */
-#define IN_T uint8_t
+#define BSIZE 8
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UCHAR_MAX
 #define SHIFT 8
 #include "mixeng_template.h"
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 #undef ENDIAN_CONVERT
 #undef ENDIAN_CONVERSION
 
 /* Signed 16 bit */
-#define IN_T int16_t
+#define BSIZE 16
+#define ITYPE int
 #define IN_MIN SHRT_MIN
 #define IN_MAX SHRT_MAX
 #define SIGNED
@@ -78,11 +83,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 16 bit */
-#define IN_T uint16_t
+#define BSIZE 16
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX USHRT_MAX
 #define SHIFT 16
@@ -98,11 +105,13 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Signed 32 bit */
-#define IN_T int32_t
+#define BSIZE 32
+#define ITYPE int
 #define IN_MIN INT32_MIN
 #define IN_MAX INT32_MAX
 #define SIGNED
@@ -120,11 +129,13 @@
 #undef SIGNED
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 /* Unsigned 32 bit */
-#define IN_T uint32_t
+#define BSIZE 32
+#define ITYPE uint
 #define IN_MIN 0
 #define IN_MAX UINT32_MAX
 #define SHIFT 32
@@ -140,7 +151,8 @@
 #undef ENDIAN_CONVERSION
 #undef IN_MAX
 #undef IN_MIN
-#undef IN_T
+#undef BSIZE
+#undef ITYPE
 #undef SHIFT
 
 t_sample *mixeng_conv[2][2][2][3] = {
diff --git a/audio/mixeng_template.h b/audio/mixeng_template.h
index e644c23..30849a6 100644
--- a/audio/mixeng_template.h
+++ b/audio/mixeng_template.h
@@ -31,7 +31,8 @@
 #define HALF (IN_MAX >> 1)
 #endif
 
-#define ET glue (ENDIAN_CONVERSION, glue (_, IN_T))
+#define ET glue (ENDIAN_CONVERSION, glue (glue (glue (_, ITYPE), BSIZE), _t))
+#define IN_T glue (glue (ITYPE, BSIZE), _t)
 
 #ifdef FLOAT_MIXENG
 static mixeng_real inline glue (conv_, ET) (IN_T v)
@@ -150,3 +151,4 @@ static void glue (glue (clip_, ET), _from_mono)
 
 #undef ET
 #undef HALF
+#undef IN_T


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:08:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:08:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQSn-0001tB-Fd; Mon, 21 May 2012 11:07:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SWQSm-0001t6-Ae
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:07:44 +0000
Received: from [85.158.139.83:45249] by server-7.bemta-5.messagelabs.com id
	1B/68-12065-FF12ABF4; Mon, 21 May 2012 11:07:43 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337598461!22265720!1
X-Originating-IP: [137.65.248.97]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20781 invoked from network); 21 May 2012 11:07:42 -0000
Received: from novprvoes0314.provo.novell.com (HELO mail.novell.com)
	(137.65.248.97) by server-11.tower-182.messagelabs.com with SMTP;
	21 May 2012 11:07:42 -0000
Received: from [127.0.0.1] ([::ffff:147.2.207.143])
	by mail.novell.com with ESMTP; Mon, 21 May 2012 05:07:30 -0600
MIME-Version: 1.0
X-Mercurial-Node: a1dc373628e4d9ee061a9f9f94ca2a2c6baee788
Message-Id: <a1dc373628e4d9ee061a.1337598440@linux-x12>
User-Agent: Mercurial-patchbomb/1.9.3
Date: Mon, 21 May 2012 19:07:20 +0800
From: Bamvor Jian Zhang <bjzhang@suse.com>
To: xen-devel@lists.xen.org
Cc: jfehlig@suse.com, Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	bjzhang@suse.com
Subject: [Xen-devel] [PATCH] [PATCH] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>

diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl.c	Mon May 21 18:51:17 2012 +0800
@@ -1552,6 +1552,61 @@ out:
     return rc;
 }
 
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path)
+{
+    GC_INIT(ctx);
+    char *dom_path = 0;
+    char *tty_path = 0;
+    char *tty = 0;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    switch (type) {
+    case LIBXL_CONSOLE_TYPE_SERIAL:
+        tty_path = libxl__sprintf(gc, "%s/serial/0/tty", dom_path);
+        break;
+    case LIBXL_CONSOLE_TYPE_PV:
+        if (cons_num == 0)
+            tty_path = libxl__sprintf(gc, "%s/console/tty", dom_path);
+        else
+            tty_path = libxl__sprintf(gc, "%s/device/console/%d/tty", dom_path, cons_num);
+        break;
+    default:
+        goto out;
+    }
+
+    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
+    *path = strdup(tty);
+
+out:
+    GC_FREE;
+    return ERROR_FAIL;
+}
+
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path)
+{
+    GC_INIT(ctx);
+    uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
+    int rc;
+    if (stubdomid)
+        rc = libxl_console_get_tty(ctx, stubdomid,
+                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV, path);
+    else {
+        switch (libxl__domain_type(gc, domid_vm)) {
+        case LIBXL_DOMAIN_TYPE_HVM:
+            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL, path);
+            break;
+        case LIBXL_DOMAIN_TYPE_PV:
+            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV, path);
+            break;
+        default:
+            abort();
+        }
+    }
+    GC_FREE;
+    return rc;
+}
+
 
 static int libxl__append_disk_list_of_type(libxl__gc *gc,
                                            uint32_t domid,
diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl.h	Mon May 21 18:51:17 2012 +0800
@@ -594,6 +594,15 @@ int libxl_console_exec(libxl_ctx *ctx, u
  * case of HVM guests, and before libxl_run_bootloader in case of PV
  * guests using pygrub. */
 int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
+/* libxl_console_get_tty retrieves the specified domain's console tty path
+ * and stores it in path. Caller is responsible for freeing the memory.
+ */
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path);
+/* libxl_primary_console_get_tty retrieves the specified domain's console tty 
+ * path and stores it in path. Caller is responsible for freeing the memory.
+ */
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
 
 /* May be called with info_r == NULL to check for domain's existance */
 int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:08:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:08:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQSn-0001tB-Fd; Mon, 21 May 2012 11:07:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SWQSm-0001t6-Ae
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:07:44 +0000
Received: from [85.158.139.83:45249] by server-7.bemta-5.messagelabs.com id
	1B/68-12065-FF12ABF4; Mon, 21 May 2012 11:07:43 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337598461!22265720!1
X-Originating-IP: [137.65.248.97]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20781 invoked from network); 21 May 2012 11:07:42 -0000
Received: from novprvoes0314.provo.novell.com (HELO mail.novell.com)
	(137.65.248.97) by server-11.tower-182.messagelabs.com with SMTP;
	21 May 2012 11:07:42 -0000
Received: from [127.0.0.1] ([::ffff:147.2.207.143])
	by mail.novell.com with ESMTP; Mon, 21 May 2012 05:07:30 -0600
MIME-Version: 1.0
X-Mercurial-Node: a1dc373628e4d9ee061a9f9f94ca2a2c6baee788
Message-Id: <a1dc373628e4d9ee061a.1337598440@linux-x12>
User-Agent: Mercurial-patchbomb/1.9.3
Date: Mon, 21 May 2012 19:07:20 +0800
From: Bamvor Jian Zhang <bjzhang@suse.com>
To: xen-devel@lists.xen.org
Cc: jfehlig@suse.com, Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	bjzhang@suse.com
Subject: [Xen-devel] [PATCH] [PATCH] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>

diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl.c	Mon May 21 18:51:17 2012 +0800
@@ -1552,6 +1552,61 @@ out:
     return rc;
 }
 
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path)
+{
+    GC_INIT(ctx);
+    char *dom_path = 0;
+    char *tty_path = 0;
+    char *tty = 0;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    switch (type) {
+    case LIBXL_CONSOLE_TYPE_SERIAL:
+        tty_path = libxl__sprintf(gc, "%s/serial/0/tty", dom_path);
+        break;
+    case LIBXL_CONSOLE_TYPE_PV:
+        if (cons_num == 0)
+            tty_path = libxl__sprintf(gc, "%s/console/tty", dom_path);
+        else
+            tty_path = libxl__sprintf(gc, "%s/device/console/%d/tty", dom_path, cons_num);
+        break;
+    default:
+        goto out;
+    }
+
+    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
+    *path = strdup(tty);
+
+out:
+    GC_FREE;
+    return ERROR_FAIL;
+}
+
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path)
+{
+    GC_INIT(ctx);
+    uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
+    int rc;
+    if (stubdomid)
+        rc = libxl_console_get_tty(ctx, stubdomid,
+                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV, path);
+    else {
+        switch (libxl__domain_type(gc, domid_vm)) {
+        case LIBXL_DOMAIN_TYPE_HVM:
+            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL, path);
+            break;
+        case LIBXL_DOMAIN_TYPE_PV:
+            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV, path);
+            break;
+        default:
+            abort();
+        }
+    }
+    GC_FREE;
+    return rc;
+}
+
 
 static int libxl__append_disk_list_of_type(libxl__gc *gc,
                                            uint32_t domid,
diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Mon May 14 17:15:36 2012 +0100
+++ b/tools/libxl/libxl.h	Mon May 21 18:51:17 2012 +0800
@@ -594,6 +594,15 @@ int libxl_console_exec(libxl_ctx *ctx, u
  * case of HVM guests, and before libxl_run_bootloader in case of PV
  * guests using pygrub. */
 int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
+/* libxl_console_get_tty retrieves the specified domain's console tty path
+ * and stores it in path. Caller is responsible for freeing the memory.
+ */
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path);
+/* libxl_primary_console_get_tty retrieves the specified domain's console tty 
+ * path and stores it in path. Caller is responsible for freeing the memory.
+ */
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
 
 /* May be called with info_r == NULL to check for domain's existance */
 int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:21:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:21:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQfZ-00022t-VF; Mon, 21 May 2012 11:20:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWQfZ-00022o-4z
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:20:57 +0000
Received: from [193.109.254.147:27697] by server-9.bemta-14.messagelabs.com id
	05/A1-05787-8152ABF4; Mon, 21 May 2012 11:20:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337599255!2426015!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11925 invoked from network); 21 May 2012 11:20:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:20:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575214"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:20:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:20:55 +0100
Message-ID: <1337599254.24660.69.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bamvor Jian Zhang <bjzhang@suse.com>
Date: Mon, 21 May 2012 12:20:54 +0100
In-Reply-To: <a1dc373628e4d9ee061a.1337598440@linux-x12>
References: <a1dc373628e4d9ee061a.1337598440@linux-x12>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [PATCH] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 12:07 +0100, Bamvor Jian Zhang wrote:
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.
> 
> Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> 
> diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Mon May 14 17:15:36 2012 +0100
> +++ b/tools/libxl/libxl.c	Mon May 21 18:51:17 2012 +0800
> @@ -1552,6 +1552,61 @@ out:
>      return rc;
>  }
>  
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
> +    GC_INIT(ctx);
> +    char *dom_path = 0;
> +    char *tty_path = 0;
> +    char *tty = 0;
> +
> +    dom_path = libxl__xs_get_dompath(gc, domid);
> +    switch (type) {
> +    case LIBXL_CONSOLE_TYPE_SERIAL:
> +        tty_path = libxl__sprintf(gc, "%s/serial/0/tty", dom_path);
> +        break;
> +    case LIBXL_CONSOLE_TYPE_PV:
> +        if (cons_num == 0)
> +            tty_path = libxl__sprintf(gc, "%s/console/tty", dom_path);
> +        else
> +            tty_path = libxl__sprintf(gc, "%s/device/console/%d/tty", dom_path, cons_num);
> +        break;
> +    default:
> +        goto out;

This should result in ERROR_INVAL.

> +    }
> +
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    *path = strdup(tty);
> +
> +out:
> +    GC_FREE;
> +    return ERROR_FAIL;

There does not appear to be a success path out of this function... You
probably want an rc variable set appropriately.

> +}
> +
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path)
> +{
> +    GC_INIT(ctx);
> +    uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
> +    int rc;
> +    if (stubdomid)
> +        rc = libxl_console_get_tty(ctx, stubdomid,
> +                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV, path);
> +    else {
> +        switch (libxl__domain_type(gc, domid_vm)) {
> +        case LIBXL_DOMAIN_TYPE_HVM:
> +            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL, path);
> +            break;
> +        case LIBXL_DOMAIN_TYPE_PV:
> +            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV, path);
> +            break;
> +        default:
> +            abort();
> +        }
> +    }
> +    GC_FREE;
> +    return rc;
> +}
> +
>  
>  static int libxl__append_disk_list_of_type(libxl__gc *gc,
>                                             uint32_t domid,
> diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Mon May 14 17:15:36 2012 +0100
> +++ b/tools/libxl/libxl.h	Mon May 21 18:51:17 2012 +0800
> @@ -594,6 +594,15 @@ int libxl_console_exec(libxl_ctx *ctx, u
>   * case of HVM guests, and before libxl_run_bootloader in case of PV
>   * guests using pygrub. */
>  int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> +/* libxl_console_get_tty retrieves the specified domain's console tty path
> + * and stores it in path. Caller is responsible for freeing the memory.
> + */
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path);
> +/* libxl_primary_console_get_tty retrieves the specified domain's console tty 
> + * path and stores it in path.

"retrieves the specified domain's *primary* console tty path? Otherwise
this description doesn't differ from the previous function's...

>  Caller is responsible for freeing the memory.
> + */
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
>  
>  /* May be called with info_r == NULL to check for domain's existance */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:21:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:21:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQfZ-00022t-VF; Mon, 21 May 2012 11:20:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWQfZ-00022o-4z
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:20:57 +0000
Received: from [193.109.254.147:27697] by server-9.bemta-14.messagelabs.com id
	05/A1-05787-8152ABF4; Mon, 21 May 2012 11:20:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337599255!2426015!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11925 invoked from network); 21 May 2012 11:20:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:20:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575214"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:20:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:20:55 +0100
Message-ID: <1337599254.24660.69.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bamvor Jian Zhang <bjzhang@suse.com>
Date: Mon, 21 May 2012 12:20:54 +0100
In-Reply-To: <a1dc373628e4d9ee061a.1337598440@linux-x12>
References: <a1dc373628e4d9ee061a.1337598440@linux-x12>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [PATCH] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 12:07 +0100, Bamvor Jian Zhang wrote:
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.
> 
> Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> 
> diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Mon May 14 17:15:36 2012 +0100
> +++ b/tools/libxl/libxl.c	Mon May 21 18:51:17 2012 +0800
> @@ -1552,6 +1552,61 @@ out:
>      return rc;
>  }
>  
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
> +    GC_INIT(ctx);
> +    char *dom_path = 0;
> +    char *tty_path = 0;
> +    char *tty = 0;
> +
> +    dom_path = libxl__xs_get_dompath(gc, domid);
> +    switch (type) {
> +    case LIBXL_CONSOLE_TYPE_SERIAL:
> +        tty_path = libxl__sprintf(gc, "%s/serial/0/tty", dom_path);
> +        break;
> +    case LIBXL_CONSOLE_TYPE_PV:
> +        if (cons_num == 0)
> +            tty_path = libxl__sprintf(gc, "%s/console/tty", dom_path);
> +        else
> +            tty_path = libxl__sprintf(gc, "%s/device/console/%d/tty", dom_path, cons_num);
> +        break;
> +    default:
> +        goto out;

This should result in ERROR_INVAL.

> +    }
> +
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    *path = strdup(tty);
> +
> +out:
> +    GC_FREE;
> +    return ERROR_FAIL;

There does not appear to be a success path out of this function... You
probably want an rc variable set appropriately.

> +}
> +
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path)
> +{
> +    GC_INIT(ctx);
> +    uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
> +    int rc;
> +    if (stubdomid)
> +        rc = libxl_console_get_tty(ctx, stubdomid,
> +                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV, path);
> +    else {
> +        switch (libxl__domain_type(gc, domid_vm)) {
> +        case LIBXL_DOMAIN_TYPE_HVM:
> +            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL, path);
> +            break;
> +        case LIBXL_DOMAIN_TYPE_PV:
> +            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV, path);
> +            break;
> +        default:
> +            abort();
> +        }
> +    }
> +    GC_FREE;
> +    return rc;
> +}
> +
>  
>  static int libxl__append_disk_list_of_type(libxl__gc *gc,
>                                             uint32_t domid,
> diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Mon May 14 17:15:36 2012 +0100
> +++ b/tools/libxl/libxl.h	Mon May 21 18:51:17 2012 +0800
> @@ -594,6 +594,15 @@ int libxl_console_exec(libxl_ctx *ctx, u
>   * case of HVM guests, and before libxl_run_bootloader in case of PV
>   * guests using pygrub. */
>  int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> +/* libxl_console_get_tty retrieves the specified domain's console tty path
> + * and stores it in path. Caller is responsible for freeing the memory.
> + */
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path);
> +/* libxl_primary_console_get_tty retrieves the specified domain's console tty 
> + * path and stores it in path.

"retrieves the specified domain's *primary* console tty path? Otherwise
this description doesn't differ from the previous function's...

>  Caller is responsible for freeing the memory.
> + */
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
>  
>  /* May be called with info_r == NULL to check for domain's existance */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:29:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:29:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQnn-0002CU-V5; Mon, 21 May 2012 11:29:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWQnm-0002CP-3D
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:29:26 +0000
Received: from [85.158.138.51:19707] by server-12.bemta-3.messagelabs.com id
	0C/31-29760-5172ABF4; Mon, 21 May 2012 11:29:25 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337599762!9563463!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13126 invoked from network); 21 May 2012 11:29:24 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:29:24 -0000
Received: by obbwd20 with SMTP id wd20so10959156obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 04:29:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=0U5sUsaFMvWaon8yNgvnKDX1Ob52cGAyMgRzK09AoCM=;
	b=ABXLByZ3fS3OYGpVPHwsnTj+o2bRTigXRtWfwL2Y4QF3fH/DGnhejpsyaGfjoWmChU
	uonlT+quUjVz22q7SxZejsjPCSkRQMP/FAV9K266ADQDKbGeV/ndWn7zHfiH9Bbvogdl
	z4DDINKXQHo0jmqgbvC0vc/BqzPrZordbYyJ0ubjVEBGOaGtzeQwLO0Pi3knTUXEUImr
	YxaozJRXZNzpiiR+qzHsqCQnFz03lPzKQ4z7/i40LYx44rc+x0sHKj32L5bemp7W1LLF
	Rt0luwc+nQ4nJP/ZwwCWrJ1VH4aTTQLKt0zh6/qWA+CBemx1ijV30kswGL7v0FD38fFN
	si9g==
Received: by 10.182.154.73 with SMTP id vm9mr18856477obb.72.1337599762230;
	Mon, 21 May 2012 04:29:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 04:29:01 -0700 (PDT)
In-Reply-To: <1337597713.24660.52.camel@zakaz.uk.xensource.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 13:29:01 +0200
Message-ID: <CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Content-Type: multipart/mixed; boundary=14dae9399833adef4a04c08a3670
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--14dae9399833adef4a04c08a3670
Content-Type: text/plain; charset=ISO-8859-1

On 21 May 2012 12:55, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-21 at 11:24 +0100, eva wrote:
>> On 21 May 2012 11:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
>> >> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> >> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>> >> >> Hello,
>> >> >>
>> >> >> I want to apply this patch:
>> >> >>
>> >> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>> >> >>
>> >> >> I downloaded the patch from:
>> >> >>
>> >> >> http://darnok.org/xen/vga.patch
>> >> >>
>> >> >> and I did this to apply it:
>> >> >>
>> >> >> patch < vga.patch
>> >> >>
>> >> >> It asks for a file to patch, and it may be obvious, but I don't know
>> >> >> which is the file.
>> >> >
>> >> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
>> >> > thing.
>> >> >
>> >>
>> >> It says exactly the same thing:
>> >>
>> >> can't find file to patch at input line 22
>> >> Perhaps you used the wrong -p or --strip option?
>> >>
>> >> And then asks me for the file to patch again..
>> >
>> > Are you running this command from the root of a Linux kernel source
>> > tree?
>> >
>> > Ian.
>> >
>> >
>>
>> Ian, do you mean I have to recompile the kernel after applying the patch?
>
> Well, it's a kernel patch, so yes -- obviously!
>
> You seem to be rather unfamiliar with kernels and patching etc. I would
> highly recommend that you consume a suitable kernel direct from your
> distro rather than try to path/build it yourself unless you have some
> pressing need to do so. You don't say which distro you are using but
> many of the popular ones have a Xen dom0 kernel available these days,
> including ones newer than 3.0 which have this patch already applied.
>
> Ian.
>

Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..

and it's a git repository.. And yes, I haven't applied a patch in ages..

So to end this issue with my ATI card, how do I apply this patch with git?

I haven't done it before, and googling it says maybe with "git clone"
or "git apply", but there's no luck with any.. (see attachment)

Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
Kernel 3.2.

--14dae9399833adef4a04c08a3670
Content-Type: image/png; 
	name="Captura de pantalla de 2012-05-21 13:18:42.png"
Content-Disposition: attachment; 
	filename="Captura de pantalla de 2012-05-21 13:18:42.png"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2hg4t5c0

iVBORw0KGgoAAAANSUhEUgAABAYAAADECAIAAACDV7QiAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRT
b2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAIABJREFUeJzsnXdcE0kbx58UOtIRRMSGnuhr
wa54nig29Cxn47wTQeWwIKJiOSuWU8CK3okeqCgiAsLZe0GlK0aKIARQEaTXEGIg5f0jCCjZTQhF
1Of7yR+Eycz8nmeemZ3Znd2lDFA2hjaFQpcpf1obhh3zulco+NJaaqCq9f3DcZrq5YP7EzhfWgvy
1YBhgyDfMzTtH10PLVLydHCIZH9LdX11tMFJxRcEvYEQQ232EikqnUynWPTVocmYX8F4xroFFr2V
m19ZY5AzWXmZHX9wsjoFAKjq/RYtnG3Rgf5lZbQhKGpjdlwpTfDf1kdBpvyNsos4opoqo1E0OrBb
O2zIvNHUXlkPqsFcPzaTIfrcmtCu6SW2CC3oDZLobasdtjn5SgKgjsY0SlPD5pO6KMpGP40YYNyu
8ccy8TLIPC91XW01RFty+GrJSYX03aGh50nsasYR+3PaxhRLSr660eZrp/mjQt7E1j1wp2UXuQYp
FGWTmRtvhUaxmYyiR17uUwwVm73yj1DVB6zyCMxKZbBTQ2OOLByp0Ug75bvMnmFU8TgkolzYMgK/
KhkNoSoZ9ewop9i5t668LNkbZxdxRDVRRuMgliEjVL1pJ0ueu5qrgsIPyxNSrmzp2TQryLzRjOIF
+bc3DPl5rtmS02lNL6zlaDlvkERvm+2wzclXEgC1NKpRmhg2zRUA4mU0h+fbbIi20vDV7EjdKGI8
T2JXWza5NWmx0Yai2PMXVybzwbFBSlJmUO460fXMlTwmg82MSgnYtri3ylexqGokrXfim2Y00+2h
W69H+zeaP8pTHjD/n33HhdlzN7yobIGqDGz+ObGn70uPP53CYaDTNqdrR1mmNiFv+dIWoNBtkpUR
+86OuLIvOmy2ERli4Of52c182aX61UuWDLmbza6myfjSqA60NBHEnY9n0/SH/til5Om9d1VNKq+1
vMEry0oqAzprYAt03eajxbxBEr1tt8M2K19HAHykcY3Stke2pnu+7YboVzuYS9kobdfzbZsWGG3o
Ov0mOTmuWP2TPkCplHkoqoPc/Vytss+u+O0Wk9bj1/VbjpxVeDtuy71vrTmp8w95nomLDCsVXZqJ
Pe3UvWZZKt9h9NbjwdlMBjs19Knnskkd6parREkqg3dmMaMeLdABXatHCaJrPRF+I1UAAFQHbf1z
VJG306IToTGvkkMDDmyLbb/Qtq8qAABFtcf0IxdulzAZ7OS7d51M6gskqEuh34rjSXEMNjM65cKe
46eu5DNj34VsmNqeBgCKP8xbP0x4Z9O6LcGPrgd7/L45Qjh8iV29U7A0XfMTD5+Vh+6erit2mSff
a/rkLqyw04xPxqZRf10tYjLYzIjEM6unGUj0BplCAKBrD3Lc75uWxGAzn7296r52mGaDK4Sfy1Do
5fCSGeYzXFn0Vc3Ci80McjQSreqoav+bdyLoZgGTwWYyWPH3onaN1KRIztXB0jXu+TM2k8FmRjOD
XOz61C58qZqDxMZGzYW8csblx//dCB7/+YU8krAhdi+hDOKIkiCDCKq2mbvfpTeiopLvhXssHqtb
uyyWQYbIIP3x9rvvPXhSwWSwmbF5ocfX96oLNjFho9hnfziDzXx0cZyS4qj9manPkrb1omr/cv/+
hsGSLpzJ6/+4+VjguxQGm8lgvbj11GfNeC0quTckiCetjMQuwkwEAUDVNnM7E5QSG81mMtjMsASf
NTM61pUmRXdoJW/INjgQJRF3B8IOS5pE6g3iugj6MpCOADIGgGxNSVKXbANsbbliGqWlOhFJbABQ
1X9cH1j2KnD3EDWqyogL8Ywnc9vXjzDNSd5lcfvMVWQc2QjrIlNIM5x+OIf58PRE0f4Uqt5Etyzm
rSMj1UW5iJqSvC+T0IrDF9mkQrxdFM2Zp2LYUVuH1541lu+x7QGj+OQ4bQqZN6Tj89ggsYs4ScqY
l94b5AWSDg4EkB5hZZlVygJ5Uyp0X+nmZMEOsXYKyZG6SMVuYyfpFvvv9QyISX4eeWX7zisF6qbm
Hb+9izj0eX9YwJk9f21iFpbz5TS06K/eVwMARX3ovkCPJfw7W1cfSqL8sMDZIThQa8rUPaFlQpKk
ykSPMZP8TR08fUZF2dj8m8AFAH5ZNgcAVPv98rPGa/fAFI56P0eXjassTPQVAZK7atOiOZpjj/u7
TC++vsXpdrpcF4v5y/73UR1xXXS9/qadc7x+2Zw29bDboorT86wzZx3aftTh5oNtiTqmQzvBK5fn
qvbnLrkonhrrdDsBdozpr0VLzhVdJ1AwNJtoSKPByPGd5C8XfPjcJwrdf53aoeyhy9NPB/as+8c3
3crkaA102LL4/NHcfvP8M3iyKYznqPTf5e+9tOrSZsdDsSwd8yUbd57eXzbhD+8svkQZ4lHq+5f3
xllvfBxtQ1NZVPUOnbvy37IlL18FJYnXdq3/L7ugkqrVx3rThsNe3Phxe6M5AEDTGyE+NvJvOps+
V5LTs/TzWfxZcSSxQWoXoQziiBKQyCCBqtxlzNDOZac2LXlUomA4dOlah6tBOpOmuT8pF8okA4Cm
N+9QwKkJgifnvJZGZeRw5HQNVNNzeLU1igkbbsrOGZP/7jQtJOC3hBULNzM7b79weFjA4mm+zPdc
MvEUtSHuAUfsqA93rT8aXQgGY9f/az3CRPXI3WIeiTfIxJMgyS7xCokDgKrcxXykcdVZlzmhBVS9
wSs22/p5Fg2YdYZZDRRpukNreUO2wUFsEll3IOmwMvVl0q5H2JfJRgDZAkCmpiSpS7YBtu6EYsNG
ablORBIbNO0JG48Hzq/2sFnm8rRcoFCSXiLsY6AmBwUU7Y4daYUZ+TxNA3UoflFQLePIRlgXmUJ+
1tXtvw8OuHLANSZ1udeHCcfcxhd522yKLBOQNiVJXyahNYcvmg7xpILQrrLwEAbvR7OZxgpRCVwA
kDcyn9WpOvwAo0Qoa2ATep7MLuIkJalivhHeIO9EJNMDQkiOsLLNKqVy72cIyZoSuCkuluO3C4VK
fde5Sl1kVWH6O6HW2Ml9NF7ElgoUug7vp816GfaeNOK/SugAnLSLgTcffPKUAqqh5col+m92W249
yKwCCHuYKtfnmv32ySefXMg3IEzK5X8oSkuv0CiphuqS1+kZr+qOp3KGA03alb2ILtCYdej43t6h
DotcwcHrb115OoVmZGk3U525abaLxxsewJPHFaPtPDUkyWABgLAkNSY2kp/ItdVMiYwKYz9bP6dX
J1XKKy1DDWDH51apDOikqqpgqMZNfs+BAYZqclCzJKiM91y4mzWeEnk0rsEhH0Dph2mz9ctuBH1+
/fLNg+shoSyA6OR2o19usRylFZCRDzIpTNS0XL2iY4y9+S7/fAEAxKQKR0W4243T9zmTzZMkQzxy
GoZqUMKMvR8Zl8cHiGNIkwkAPmSGXcwU/ZmQSBk198RgM3169OuPKsTEBvBYOaksoHMKGowMJO2V
WztwirWLSIaQMKJIZEgmJzbsXgQLIOrBS+HTS7YuE30mBOXxZZKhYmrvPkE1auf0ab5ZYvf9iAsb
XnlBrqB7lw6CzMMvMt8L+xlrsOOiUt4UkD8qhNpxksMSg6x90za6JlcBgJqSNVhrSPQGiXgSJNol
ViFJAIh+kR394MYTFkB0gtLIpG0Tf9TxZeaAgRTdodW8IdvgIC6JtDuQdFhZ+rIUXU9cXwbimJct
AGRqSpJgk+0QEF/5cSLRsFFarhMRxQZFyXjxEffDQ1M2ztlwLIktBIDqwqQC4aLOmnJU7Z//vuyt
euB/M0J0u2gKctPyqoFXJfvIJqYucoWCsgd7Vu8ZcG6/144+pebj33maHYmvEAJ5U4qyiuvLJE+w
ac3hi2xSQWJXYfSlMN6e6ZbdtickfwD5HlN/NuZEbIkoEQC1o0yBXUtDz5PYRW6yxJhvjDckFChh
ekCMuCNsAfHUkXRWKYV7GyAgbkoAAKGw0SsN/vtr9tuGX9/lnTQs9Npbg+k/VR+023279BvbNQRE
txcrdR/RDQqe3v84PnMzwx8WgMkwIyWyJBLkdLtpQXFWsergJaOVnh0+fPZpWkaJaIGl2GWoERQw
InIbxplUdQkEQqBQKSAU8ARApVJqr7Bzkrb8PNlkomtkw+Uzv+jRGY8tPjF5YsJNse8vFh1KH52J
J5qf8QszsjmgZqhOk1WhorGZMU1+qHd4rOg++ooYd3M66HbVqncVSqKMTymP2rjzvsDqaEbE+fOb
5lsaq0p3TZPWfoTNyYCr7xJiK14+frF3uDzIq8jJfM+MNN4Qa1fzymgEnIzQewWUPiNFCmWQQTcY
OEAHknxuvZc0baofNgBA1+vTo13Ry+RygVLngcaU7MhMicc6xe4ju1OKom+9adotB1IhvV31kX5w
4BdlZFeCagdVGoA03aEhLeYNGQeHhkmk3iDpsLL0ZdmGZSCOedkCQLamJKmraYcAMY3Scp2IMDZG
7Tl1ZHzBVqs1/9TO0QXst+ks1U4d1LQH/daXCj0njdFT6di9XQkzW4pLu2SIqUuSQiEned/K/TGG
k2z757iuPfPxgcnSN2X9vkxCaw5fJJMKMrsEhZEnnnA7TZlsogig0P23mYald/0flQhlDey6Sht3
NJcC4pgXUzuxN8gLbIbjcr0jbLPPKskgbkpZoSl17NxRNS/cK/hFoYDPV+o9d94oo29v3xDZ7cWf
RhlFyiSCspRU5aH6g0BVT4damZTNrn+0FQqEQKFSiUqRVJdQwOcJ6p+c4BVnlYKKnr4ylVeYmwlA
1W1voAQlWeVSXeNR6rVgkk7h3csMkutw/Go+UGm1whqtkEKhUqD4uvWiUy/rNooIq0vf180KxcoQ
CgRAlaeJ9RQ35YJz37smltOnWs1cGmTrGOu1auaB6CI+WS65zlYXfVZ1C/daa/84uZSiP2pNwDod
YrM/NYrIXHJviLOrRWRInV8AQKFQZJYhFAgBhFKdyagNG8Xee2/6ORoCgHFowjxR4r6Hz/Zl+42e
tD+WcGlAocnRQFDNIx7WmuqN+kVJb9dnSDk4CPkCoFApFKm6g7hqWtMbNZAMDkRJhN4g7rBkSaQ0
elgmi3mZAkC2ppRUV6MH2I+IaZQWCxvi2GBeCimd9suOg8tf2BwJrTlNyX0blyMY3uN/o437pp72
oM/5fWyvMH14G5xT6yjZZIirS6JCesdhP/amCfnQZd4vvY+6vWAJgbwpP5/71/VlElp9+BI/qSAN
UWFZqM/90jOWC008mfS5vxnknz8TVy4xl0SkmVQ0EsKYF/9j0ikWQYFNOS7XK7fuCAvQvLNK8nqJ
mlJGVIesObtE6bDlGjdmFZzx3RewMebMFrdrT6wetLVHdzUR8Us+TnpkBugMGdep5p4hBSOzMbqQ
HJ3JIUsSIeRWVoGS5qenDIRcdjUotpPnFJWBopYq/ZO6ItJBZ7hlt4ZPI5ZYFwCwH64cpfHr7cK6
ZhHkv4h5B73mDhE9eZSqM2RiX8h5GFdcd8ihaY+2dtxtM1SvwXkN1T7Tp2kXXwlOrhDvr2ZRyEkL
TxdqmQ6m56akZbyq+bxOL+TW/kSsDF5ZbgkodTfWJFrHVRUlXzq1z2rahCFuGYPsNtoa0clzKXYd
0Zea9a+bd0BEYnxSQkRcjnSbSgAAhFXsDwDttJXruVCyN8TaJUmG2IgikdEI5DoMHq0LzGdZH2SU
wct9kVAEvazHNeZmKG7aQbu1Zwog8+yq4ZMXOERWCRMPWljOGrjw9Euyewm47+JzQHfgiPaE63hi
b5D5UByS7RJUc6sBlNUU6w0h0nSHhkjuDuJoMW/INDiIS5LsDbEdVmKSOIWyeZ4k5mUMAMlNKUY8
SV2yDbA1iGuUlgobktjIfeQx+edtIVoLr11wttASeUtQnJpSpjvSbvEPyb6BJ/zSe1v/+rNe6fM0
Vu2kjGRkE+d5krrIFVJU+9pd2DEo/q95Q7dGGyzev+8n0XFTtl75ETGt3JrDF9mkgtQuYXnsOZ9s
bavFE+bZT9J+de5E0gcpcgGQNgpxbJDYRW4yYcyLHxwIvUFWYFOmB7XUO8I2ZVZJ5l6CEZuoKaVA
TIE0LeOeWtXZifmi6xiCkpeRyXxFo45Sh+RXg/juKci6cfTk8hNb/t3NO3A9idbz9zX2PXIvTrmZ
xwchcZKI6uy4NI69+Q7H6W5hhXS9zu1eBPulVb9PKQCLngacq8GJsMvWsteTKxRqbV1/ey8/4exz
hH4gIDSLqzWkPUCVJBnKJDZ9SAncF211ZK+7i9LZSBiwattISvRur9S665XK/Zae3TpbF2ZoxFs6
PK8fKCqmc8x1Cu74Jkm5jVM2hYLsG4eP2Z909PXW/Mf/enJRtZJuD4OyS76h73hkMviFMRfihftW
b9/O8n2Qy9MdrAvw8cqHqunWTealkdGMzFKuor6ZaXvgZ+ZxBOS5uG9jU8HMeuX8eN/YTA5Fu5+e
9G+KEJSnR+WAo90yu+IH+WoGCs+D/dOrJMWGeLskyRAbUVwSGRLFD1qy0lE5Mo1nNHuVo0n5vfm3
cnmyyqh44bX9yfi/d5272uv02fD0PC5dXa8DPTYkMINYhrCqsIjaRZMT9yg24Y3uhPb0dw+fMpgZ
kkYs3usrPvcdduw+ton/z8O3dMPR80wAPnlkArE3yHwoFol2CViv44rAxmbRgtIoloY+/fl/gRlk
AUB8PVJid2hVb8g0OIhNIhkcyDosWRKhQtK6iCGJedkCQGJTinUvSV2yHQKIG6WFwob8wCHkvLn6
x9wqCHYNPlVu8fuJpxVCzttnTLnploaPfw3Ne0cPiN2+x5was6veY4hJRjaxniepi0Qhpd1Al6N/
dLq/cZAvMwe2rRgTcnrfhmuTNl8rkq1X1iCulVtz+CKbVEiwi5vq5Z2wcrvLEeDccryRUWOsZG8Q
NwpJbJDYJTZJNs+TeIOMpkwPxB1hmzKrJIt5whFbfFMCAEVRt3N3bTmlLloKIKfd2fh/7IqSt2+z
P46x4grk58dGpMvZ7neZzzsd806oN8bWeRztrfvTQmnuJPmqIDhQC8tinOc6Fe10WnvwcDuoSA31
nrP9X9Hd3yRJoqzFoe7L/P7a+7tL0CLgFSeddL7un1aWFRmVu3byLz2LV69z+/H0n7Hx6wGgMopV
JQRhecy6OStytjoudTngRAPglb1+djOVLZCiLgJ42T4OS9vt3LTezWMtsJJuefy89b/6LyXgZkXc
yZppRYm4+9mT4FX72IxTz7lyNVHqG7tkUyhkPf9z9uLM9SuWLdu5QAWAX54W5vPw/MfxhUgGL8vb
YXWHPc5/uHmsAYCqsozY28xKAQDQFBSpOsPXui7QlQeAqvyUqAMrXQNzBeS5ql77WTmoH3SyPnVu
lQKAkMt6n/QkjS3dZgFuyoGN3v1dFx74e5qg9NVJ55sB6VUCcm8Q2CVJhtiI4gpIZEjSLlAxdXKd
o0fj5TBCljscuFIojTcIZPCyfZbPy1u8Yt0ce6/flAGAnZtwbuvtiyRLAgBFQ9Me1Oyjbz6AspGZ
IS81VqoL0Lyca9YL2h3asdjtyEwqrzDpDRVAyK9/pxShN0h9KL4yQrtqcnES92w+33uX1TFPK35J
8inn2xczJAUAARK6Q+t6Q5bBgSCJZHAg6bBkfZlYoWwDEVnMyxYAkppSvHtJ6pLtEEDcKC0SNlIc
OKpzbi+3NTC+4njRJXnQ+keFZalhWWAcefZBiVBACTt8m2VuEpXIkkaGeM+T1SUgUEhRGeq4a5nq
nV+3383hA0B+yM79tne3H14V9Gj7c5ZMvbJGu7hWbs3hi2xSIcEu/tsrnkFOx6wqAnc/LKq7aCPR
G2K7A5DHBoldYpMku1784EDsDRKaMj0Qe4RtwqyS2L0kIzZBUwLIm9gdD7PVE32Z6nZ2KrCDFkyw
iaok8eGH5OMzHGmHVi8PCV4HICjJiPJYudf1VSvcGNPKUAYoG7dKRfLdN16+uLHcbdDvF9L58tp6
uspVxe+LODLdTt5SqJm5pviY+s6atj6e9GGQ34eMZqct2EXv9FvEA+fiFaMn3fnKXojTAFo3W/+E
DSW/DV966Rt87kFjaXFvkERvWwhs5DOka5TmCZu2HwBtT+H3Mny1Pc+3LN/QEfb7pNXeXlyV8fdG
r18CN9w8RLdz/S88p4iirUCncPhtaDRoN2zeKLWcEP+UL9t124iMZqeV7KIo6v7QTUep4ZZDQVXe
64z8Fq27pVHuZTu/LyvtbS6botXjp1Wre1Q82hDJakNdqFVpVW+QRO+32mG/aogbpfnDpu0HQNtQ
+D0OX23D883Kt3yERVpvSQDCirjjE+aVH3VfeePhWgCAkksWP+2IlOHZyy0DRb2/7U8q787fSP6i
nbeNyGh2Ws0uxR42V0PmG4hJKfCc9fPGkpatvUWha3T/ccbymT9oyAMIWFnhl/+avO+ehN3i3y6t
6Q2S6P1WO+xXDUmjNHvYtP0AaCMKv8Phq414vnn5ho+wSCtuHKqDqqrbQV+ZX5ybX0y6mRlBEARB
EARBkJbnCywJEARBEARBEARpO7TGK2IRBEEQBEEQBGmz4JKgDaDQZYrLNnsLHWwMAPQGgiAIgiBI
ayN+3kU1mOvHZjJEn1sT2jVPXRS1MTuulCb4b+tD8ha9ZkLGuigqnUynWPTVacZX0tEMHa8z2Jfn
dCIuU8F4xroFFr2VW2ISLH1TypmsvMyOPzhZvfZV4iTeaAFHfaQlvdHstExPaQmkiEMEQRAEQb5X
qPJdxtn7htwpYjLYyaHx57bY91ejgiD/9oYhP881W3JaivflSV+XklHPjnKKnXvryjdjqc1al7yJ
rXvgTssucs0ohVdZDcCrqv4yD1uTuinlu8yeYVTxOCSivFYoiTdawlFfIy3TUwCAotjzF1cm88Gx
QUpSZlDuOtH1zJU8JoPNjEoJ2La4t8qni6ovG4cIgiAIgrRl6B4xx4cX3PVee5yRS9XrN3JQezpf
ACAoy0oqAzprYGUz1sXP87Ob+bJL9auXLf8Oi9asS4ISThFbyK8urfxCT1fiSdeUCt0mWRmx7+yI
k+bFoEgtUrq3MdB1+k1yclyx+id9gFIp81BUB7n7uVpln13x2y0mrcev67ccOavwdtyWe7XN+aXj
EEEQBEGQNgx1+IfLq35y+MfnTsStW/+5b9uyK5YtMZN8h9FbjwdnMxns1NCnnssmdag5V0zVNnM7
E5QSG81mMtjMsASfNTM6ik7S1+yvKGdcfvzfjeDxn+yvIM4FACCv/+PmY4HvUhhsJoP14tZTnzXj
tci3lMhYl8rgnVnMqEcLdEDX6lGCaCtIhN9IFXKTpaC6MLe0IKv003eRU1R7TD9y4XYJk8FOvnvX
yaR+Gl17kON+37QkBpv57O1V97XDNGkAQNGceSqGHbV1eO1ZY/ke2x4wik+O06YQ55IW+V7TJ3dh
hZ1msCR6gzhJod+K40lxDDYzOuXCnuOnruQzY9+FbJjaXqIQIm+QF0jtYOka9/wZm8lgM6OZQS52
fVQkbjaiapu5+116I5KdfC/cY/FY3bp3c5C0chMCoKG5pE2p0H2lm5MFO8TaKSRH6iIVu42dpFvs
v9czICb5eeSV7TuvFKibmnesL1JsHCIIgiAIggAANfP4icjCxpw4pKgP3RfosbFX2oHVK2et9U3t
/Udw4Pox6hQAoCp3MR9pXHVpz5xFK+b9GZjVf4Gf56895ABAkH/T2XTyrKE2J5kNJRDmAoraEPeA
I5v6Zv2z3nGqjePS4OreZiNMVMknfjLWVZnoMWbSfJtrZVB622bGrEGTZw2a/Kszg0NushR8SLl4
fO+lt/XfVULTGXvc38VW66mLk+O8P89GVtZZRFHpv8vfe0evtIOOi8f+vskzd/DO0/ttDWkgLAsP
YfC0zWYa19wdIW9kPqtTdXgIo0RInEtKFLr/OrVD2cOQpx+vqZB4gziJrtfftHOO1y9WW+90nLyg
w71F1rvuGVgddeijTFo5sTfICxSUJF7btX6FxWzrCX8ceqAx/bCX4xBJu2yoyl3GDO1cdn7T9IXL
5m6/Ujzc4WrQ2h/VKEDayk0LgAaQNiVwU1wsxw9f5XUj84P0F2yqCtPfCbXGTu6jQQUAha7D+2mz
Xoa9r673EzFxiCAIgiAIAgAA9PToT+YNEqEaWq5cov9mt+XWg8wqgLCHqXJ9rtlvn3zyyYVc0S+y
ox/ceMICiE5QGpm0beKPOr7MHAGPlZPKAjqngOhtxeJyQcdJDksMsvZN2+iaXAUAakrWYK0hUaJM
dQmEH4rS0is0SqqhuuR1esarD1KZLMW7FwX5kYHen/yHZmRpN1OduWm2i8cbHsCTxxWj7TxFdlEN
LFev6Bhjb77LP18AADGpwlER7nbj9H3OZBdGXwrj7Zlu2W17QvIHkO8x9WdjTsSWiBIBUDsS55Lm
rLDSD9Nm65fdCKrbZUXsDbIkABCWpMbERvITubaaKZFRYexn6+f06qRKia8knN6SeENCgR8ywy5m
in6VkEgZNffEYDN9evRryRbnxIbdi2ABRD14KXx6ydZlos+EoAIDwlbOJ06SJgAaIiBuSgAAobDR
m7f476/Zbxt+fZd30rDQa28Npv9UfdBu9+3S+uU0jEMEQRAEQRAR1MZOPpS6j+gGBU/vZ1WJvnMz
wx8WgMkwowbnZ/lFGdmVoNpBtVGPOKmfS7H7yO6Uouhbb6oaKVKGukiQ3mQpUewy1AgKGBG5DSev
isZmxjT5od7hsaKH2FTEuJvTQberlhyAoDDyxBNupymTTRQBFLr/NtOw9K7/oxIheS5p9PT9xaJD
6aMz8ZL3jEmJQCAECpUCQgFPAFQqhex8Ook3yAuktR9hczLg6ruE2IqXj1/sHS4P8ipyjXtOEScj
9F4Bpc9IIyWyVm72ACBpSlmhKXXs3FE1L9wr+EWhgM9X6j133iij7/3mbwRBEARBpITedUB7+n0p
Tqx+wqdTPML5npAvAEr9+eDHKQ97mm+iAAAgAElEQVTpjou6XBSaHA0E1TyZZkqNrEsSUposHUKB
EChUqphSKBQqBYqvWy869bJuh4ewuvT9BwAQloX63C89Y7nQxJNJn/ubQf75M3HlEnNJRKnXgkk6
hXcvM5rvDlmhgM8TSLsdjdgbZAXKdba66LOqW7jXWvvHyaUU/VFrAtbpNF4oCAAotY1L0srNGgDE
TSkjqkPWnF2idNhyjRuzCs747gvYGHNmi9u1J1YPyvF2cQRBEARBJEHtunzxIE2CU6uCam41gLKa
Yr10TnpkBugMGdep5q5cBSOzMbqQHJ1JtEunPsIq9geAdtrK0l044L6LzwHdgSPa0yX/tql11WTi
VlaBkuanlw2aZLI4OOkR6aAz3LJbw3cmcNLC04VapoPpuSlpGa9qPq/TC7lCAABheew5n2xtq8UT
5tlP0n517kTSBylyAYhvyhpU+0yfpl18JTi5QipvSEwCAPbDlaM0fr1d2HA2StMebe2422aoXl1G
Em+QFajYdURfata/bt4BEYnxSQkRcTlSrX8+Ra7D4NG6wHyW9YGslSUHAIl7xZkMxE0pBWIKpGkZ
99Sqzk7MF13HEJS8jEzmKxp1lO4KnXiFTUhCEARBEOQrg56qN+9YqLr3watxWdXtug0YaBDjuSu8
VHQ+VsB6HVcENjaLFpRGsTT06c//C8yoyrpx9OTyE1v+3c07cD2J1vP3NfY9ci9OuZnHB5A4cxeU
p0flgKPdMrviB/lqBgrPg/3TSTYF8V5f8bnvsGP3sU38fx6+pRuOnmcCIO1TWBpZl4jq7Lg0jr35
DsfpbmGFdL3O7V4E+6VxSUyWCUHWjb+9l59w9jlCPxAQmsXVGtIeoGYyl33j8DH7k46+3pr/+F9P
LqpW0u1hUHbJN/Sd6EION9XLO2HldpcjwLnleCOj5uqOpFwETQkAACqmc8x1Cu74JjVc4Ij3BnGS
ZMuV+y09u3W2LszQiLd0eP5BkjfI4L6NTQUz65Xz431jMzkU7X56ipLrr2HQkpWOypFpPKPZqxxN
yu/Nv5XLAwFxKwslBgCxe8WaLDJAbFMCAEVRt3N3bTmlLloKIKfd2fh/7IqSt2+zOQLiAvn5sRHp
crb7XebzTse8E+qNsXUeR3vr/rRQmst/hAplTUIQBEEQ5GuDvtjszxW7/5h3dNIfNOAVvHpyOk6e
ClAz++Ak7tl8vvcuq2OeVvyS5FPOty9mVAnKYpznOhXtdFp78HA7qEgN9Z6z/d9QKZ9mz005sNG7
v+vCA39PE5S+Oul8M4B0ms7LuWa9oN2hHYvdjsyk8gqT3lABhHwpb75sZF0AACAsDnVf5vfX3t9d
ghYBrzjppPN1/zRuk0wWW015zLo5K3K2Oi51OeBEA+CVvX52M5UtAAAh6/mfsxdnrl+xbNnOBSoA
/PK0MJ+H52sn9/y3VzyDnI5ZVQTuflhUu5NGUi6CpgQA1T4249RzrlxNFHPJg8AbhEmS55/crIg7
WTOtKBF339W1BYk3SKh67WfloH7QyfrUuVUKAEIu633SkzS2VMs0gYqpk+scPRovhxGy3OHAlUIB
AAiJW5kkqQYi9xKYDABETQkgb2J3PMxWT/RlqtvZqcAOWjDBJqqSxIcfko/PcKQdWr08JHgdgKAk
I8pj5V7XV1LdhEOsUMYkBEEQBEG+NigDlI2/tAZpoXWz9U/YUPLb8KWXSnGDdPOgZuaa4mPqO2va
+vjv4umU9E6/RTxwLl4xetKdL/0OOwRBEARBkLaCLLv0WxHlXrbz+7LS3uayKVo9flq1ukfFow2R
LFwPNBfths0bpZYT4p/y7awHKIq6P3TTUWq4qV9Qlfc6I/8LKEIQBEEQBGnjtO0lAV2j+48zls/8
QUMeQMDKCr/81+R992Tewo98BkW9v+1PKu/O30j+dlYEoNjD5mrIfAMxKQWes37eWNLqghAEQRAE
Qdo6X9PGIQRBEARBEARBmp3GvdkJQRAEQRAEQZBvDFwSIAiCIAiCIMh3DS4JPkJt18du48bV/5P+
6fYIgiAIgiAI8g1ABaDrTlztERsTw2Yyyhm3Iv5e0JvkNbI1UFQ6mU6x6Ksj7YtLqQZz/dhMhuhz
a0K7poluEagaA+wWz5toINcwpWXEN9aH3wCymfwdOqqxfAX9C0EQBEGQNgydqjdpp//yvtGeOzY8
yeGp6HTSKCiQ/MopeRNb98BJ934am1Ao3buh8m9vGBKvJK83+Yy3bZNFtzItJL6xPvwGkM3k79BR
jeWr7l8IgiAIgnxx6HIdB3RTKLq1w/N6lJj31zYbvLKspDKgswZWtmAlLcVXLR75HsAQRRAEQRCk
CVCjnixsD9qz7seLdh2ErOkqelUBtYOla9zzZ2wmg82MZga52PVREd13oDJ4ZxYz6tECHdC1epQg
yhXhN1KFPJdEaLrmJx4+Kw/dPV1XqhwKvRxeMsN8hiuLvqpZeLGZQY5GdACgapu5nQlKiY1mMxls
ZliCz5oZHeVrDSZXaLry35REBpsZwwzYuvAHZYoUSujagxz3+6YlMdjMZ2+vuq8dpilxhwupD0G+
w+itx4OzmQx2auhTz2WTOjTcyyQOef3x9rvvPXhSwWSwmbF5ocfX95InL5DEUaQ+JDWZQAa5ya3p
KOJcVLX/zTsRdLOAyWAzGaz4e1G7RmpSJCbJWJfmoPmHPM/ERYaVijb8xJ526i5KJQ1R4lYmQYYQ
Ja+LwC6FfiuOJ8Ux2MzolAt7jp+6ks+MfReyYWr7utoa280RBEEQBGkV6PNtrnn6jIqysfk3gQsg
4OZlibYNCUoSr+1a/192QSVVq4/1pg2Hvbjx4/ZGc6Ay0WPMJH9Th3q5gF+WzSHPJREFQ7OJhjQa
jBzfSf5ywYem2ERV7mI+0rjqrMuc0AKq3uAVm239PIsGzDrDrJaskMJJ+Gfz8VRe5zmrnI6db1cy
ceOVQgFJXRSV/rv8vZdWXdrseCiWpWO+ZOPO0/vLJvzhnUW2x4XEhxT1ofsCPZbw72xdfSiJ8sMC
Z4fgQK0pU/eElpG+s5mmN+9QwKkJgifnvJZGZeRw5HQNVNNzeOQFkjiKJInMZGIZpGHTeo4iy6XU
9y/vjbPe+DjahqayqOodOnflv2WLCiNJkq0uoOmNmPeHBZzZ89cmZmE5X05Di/7qfTUAkIUosXvJ
ZMgUojJFFF2vv2nnHK9fNqdNPey2qOL0POvMWYe2H3W4+WBbvOjyRTN2cwRBEARBmg96xuuSaqgu
eZ2e8erTA/SHzLCLmaI/ExIpo+aeGGymT49+zRN+KEpLr9BoZC6JQirjPRfuZo2nRB6Na56JQnb0
gxtPWADRCUojk7ZN/FHHl5kjkKjwuffRI3dYAHA/idb/juP6SYdvnHtPrJ5qYLl6RccYe/Nd/vkC
AIhJFY6KcLcbp+9zJpvEZmIfUg0tVy7Rf7PbcutBZhVA2MNUuT7X7LdPPvnkQi7JDE7F1N59gmrU
zunTfLOqPlVIUiC5owiSgMRkBUIZJCaT0dyOIs0lp2GoBiXM2PuRcXl8gDhGXT6SJNnqEv2Ek3Yx
8OYD9uc5iUKUuJXJZMgWojJFFAsAhCWpMbGR/ESurWZKZFQY+9n6Ob06qVLiK4UALdDNEQRBEARp
Dgiv3tPaj7A5GXD1XUJsxcvHL/YOlwd5FTmJ1/plywUAAPyiR2c8tvjE5DXzLaT8oozsSlDtoEpr
lMLqnGePC6DHYEPSh5IqGpsZ0+SHeofHih72UhHjbk4H3a5a0u31aYhS9xHdoODp/Y/TMG5m+MMC
MBlmpESWi24wcIAOJPncet9gpih9gZ85iiiJxGQSGc2ObI4izVUetXHnfYHV0YyI8+c3zbc0rucI
kqRmVgjEISqbe2UL0aZGlEAgBAqVAkIBTwBUKqV2k1VLdXMEQRAEQZoCXfy/5TpbXfRZ1S3ca639
4+RSiv6oNQHrdCQWJlsuGREKBECVp0mxoVvIFwBFNCtphEIKUACEQvLdIRQKlQLF160XnXrJrauv
uvR9k06BUj4xSpr7GYQCIYCQcJYlZYH1HEWcRGayBBnNTuMdRZqLm3LBue9dE8vpU61mLg2ydYz1
WjXzQHQRnzypmRWShKhM7pUxRJsYUUIBnycg23GHIAiCIEhbguAMvmLXEX2pWf+6eQdEJMYnJUTE
5Xw6gRByK6tASfOzk6WScoGgmlsNoKymKKZamvZoa8fdNkP1pHv8PK8stwSUuhtrEixqZLOr3i87
jxqrK0yKfFe7212ceE5aeLpQy3QwPTclLeNVzed1eiFX0j5zIPAhJz0yA3SGjOtUcx+ngpHZGF1I
js4k3XTPy32RUAS9rMc1vMFWtgJJIDGZRIYI8WEjiWZ0lORcVUXJl07ts5o2YYhbxiC7jbZGdfFF
kiQuemX0PHGISnSvrCEqRnwTI4r9cOUojV9vFzbsBo3s5giCIAiCtAoEE2ru29hUMLNeOT/eNzaT
Q9Hup/fp/pnq7Lg0jr35DsfpbmGFdL3O7V4E+6VxJeUCAet1XBHY2CxaUBrF0tCnP/8vMKNm+4Fy
v6Vnt87WhRka8ZYOzyWfZOcXxlyIF+5bvX07y/dBLk93sC5AtcRcEhUaDBk9vqJYyWiYndNC4/dB
K2/VbXAQKz77xuFj9icdfb01//G/nlxUraTbw6Dskm/oO8l3T4j3YdaNoyeXn9jy727egetJtJ6/
r7HvkXtxyk0J+ywqXnhtfzL+713nrvY6fTY8PY9LV9frQI8NCcyoIimwUaupWjeQmEwig8TkVnSU
gCyXqunWTealkdGMzFKuor6ZaXvgZ+ZxBECeBADio5e0LmJIQlSSe2UMUbFdT6aIUpbUlI3u5giC
IAiCtAoEs8Kq135WDuoHnaxPnVulACDkst4nPUlj105mhMWh7sv8/tr7u0vQIuAVJ510vu6fxpWU
C4CTuGfz+d67rI55WvFLkk85376YUSWaWHGzIu5kzbSiRNx9J91OaV6Wt8PqDnuc/3DzWAMAVWUZ
sbeZlRL2KpAoFFS+ffwsy+r33ZdsAPhFcXf+mf6Xz+Pyeuc5xYpnPf9z9uLM9SuWLdu5QAWAX54W
5vPwvDRLAvE+FJTFOM91KtrptPbg4XZQkRrqPWf7vxIeNwQAvGyf5fPyFq9YN8fe6zdlAGDnJpzb
evtiRpWMBZLoJjGZRAaJya3oKCFxLpqCIlVn+FrXBbryAFCVnxJ1YKVrYK6APEmE2OglqYsEsk4k
wb0yhqj4rtcyEdXobo4gCIIgSGtAGaBs/KU1IAiCIAiCIAjyxcD3BSEIgiAIgiDIdw0uCRAEQRAE
QRDkuwaXBAiCIAiCIAjyXYNLAgRBEARBEAT5rsElAYIgCIIgCIJ81+CSAEEQBCFFocsUl232Fjp4
wEAQBPlW+QZHeKrBXD82kyH63JrQ7kvrIUDBZO9jxked0YE/qnxpQUjzozrqYOHHUGQ/WWuqKDkL
8jkUtTE7rpQm+G/ro/CFFDRlSKGodDKdYtFXp+Hbmr+8XY1AwXjGugUWvZW/iQPGV+V5BEGQ1uKb
GOE/RZB/e8OQn+eaLTmd9qWlSCTrrH3vkeO7j7S0i6qs/SdVfcAqj8CsVAY7NTTmyMKRGs3RSBTF
nr+4MpkPjg1SEpeq3HfRiTwmI96xu4L0uZq3LqrKDxa2f5+8kBoXWxw816jhFEr6umjqQ37dfOPu
o3Img/3q4VPPpRa6UhYnS4Ek7cWO3t575PjuI6f87JcvrYCvGprBsqu1C13RJ8xnuOS3GpNBVTLq
2VFOsXNvXXmp8yiYLNjzOPRxKZPBZj5m/LtsnPQBIIamDCnyJrbugTstu8g1SJHFLqQ5IPR884YN
giDI1wXB24u/anhlWUllQGcNrJT82y8Mj12SW1DIrf8vmoHNPyf29H3p8adTOAx02uZ07SjL1Cbk
LZ+oDInQdfpNcnJcsfonfYBScT+Q/+H3A7edf2hkrmasCyhK3ZfsP+ZqmhVwPmjD6Yy3OZl5kt5p
TFKXvNH0fasHv/c//NuzAoWeE7dssA9Syepje+29BB/KVCBpewmrWfkFLAD59pWyt9/Xx8v9Fhtj
WDVfeCVvPzSpNH6en93Ml12qX71kSf5xDdXFGS+Dj9zclFZK6/Hzwb1/nN8e33NluMzv7G6RIUUW
u5DmgNDzzRw2CIIgXxXU0VuPB2czGezU0KeeyyZ1qD2XRVX737wTQTcLmAw2k8GKvxe1a6QmRWIS
GfIdCOvSHDT/kOeZuMiwUtGZxdjTTt1FqdQOlq5xz5+Jdtcwg1zs+qjUnYOV1x9vv/vegycVTAab
GZsXenx9L8nn2+jagxz3+6YlMdjMZ2+vuq8dpinViSDiugjsUui34nhSHIPNjE65sOf4qSv5zNh3
IRumtpdQm+IP89YPE97ZtG5L8KPrwR6/b44QDl9i17POLpqu+YmHz8pDd0/Xle7qgUL3lW5OFuwQ
a6eQHDHJVK1R60Kc1Y8t2X6tTPpczVoXRWXY2sM7dc6bWyxZ/nfwf2GM5+lFXImHYeK6ql77WpjN
mn/ov6tPwi6e3LP8Yqn8/0Z2l7hHQKYCJbYXCY1uSrLoJetERElUbTO3M0EpsdGi0/kJPmtmdKxT
TtxhJVGR/fIVM7Hm8zqbIwCgGU4/nMN8eHqiaAcNVW+iWxbz1pGR6lQAqraZu9+lNwkMNpPBTr4X
7rF4rK7oXEXNjp1yxuXH/90IHv/Zjh0SkwV54X4eIU/C4hMeXTp1PBlUO7RXkcLHMg4OBKgM3pnF
jHq0QAd0rR6JrGNG+I1UkWQXkQyyIYXYhwAyNiVFtcf0IxdulzAZ7OS7d51MmsFRjR5FJYQogQyS
YCP3PGHYkMtAEAT5JqB7bOx1Z+vqQ0mUHxY4OwQHak2Zuie0TAhKff/y3jjrjY+jbWgqi6reoXNX
/lu2aJZGkkQMRX3ovkCPJXxxdQFNb8S8PyzgzJ6/NjELy/lyGlr0V++rAQBAUJJ4bdf6/7ILKqla
faw3bTjsxY0ftzeaA0DTm3co4NQEwZNzXkujMnI4croGquk5PAkyVPrv8vdeWnVps+OhWJaO+ZKN
O0/vL5vwh3cW6Ulc4rqI7aLr9TftnOP1y+a0qYfdFlWcnmedOevQ9qMONx9siyc+10htbzq0E7xy
ea5qf+6Si+KpsU63E2DHmP5atORckUQFQ7OJhjQajBzfSf5ygRTnX7kpLpbjtwuFSn3XuTZIpOtN
9Dw4Lm7zr66Mjp5S52reuqjaozb/akh59/PF8JUdlbjv4u8e3LXfO6FCwnUCsrqEvOqPEUlVNjRQ
huxXOVVNEU9UoOT2IqGxTUkavSSdiDCJqtzFfKRx1VmXOaEFVL3BKzbb+nkWDZh1hllN3mFlgJ91
dfvvgwOuHHCNSV3u9WHCMbfxRd42myLLBAB05S5jhnYuO7VpyaMSBcOhS9c6XA3SmTTN/Um5IP+m
s+lzJTk9Sz+fxQ3KJDG53m9GL3bqmXtmWajE9pBxcCCmMtFjzCR/UwdPn1FRNjb/JnABgF+WzQEg
s4tYBtmQUkXoQ6FsTUnTGXvc32V68fUtTrfT5bpYzF/2vyY6SpZRVEgWosQySIKNNKLqaf00bEhk
IAiCfCvQ3+y223qQWQUQ9jBVrs81++2TTz65kMuX0zBUgxJm7P3IuDw+QByjLgtJEiFUQ8uVS/Tf
7LYUV5foJ5y0i4E3H7A/z/khM+xipujPhETKqLknBpvp06Nf81RM7d0nqEbtnD7NN0viZK9WhoHl
6hUdY+zNd/nnCwAgJlU4KsLdbpy+z5lsksUEcV0kdrEAQFiSGhMbyU/k2mqmREaFsZ+tn9Orkyol
vpLwWEzXMtQAdnxulcqATqqqCoZq3OT3HBhgqCYHNY6qjPdcuJs1nhJ5NE7a/RhCIUF9NP1f9/45
+NHmYTfyeAodpc3V3HUp9xw3VJ4Vdfu0x/20Yvmus9a5HPJVK7Bw/q9QwqJACoXyPeZsP2xW4Pnb
f+kSVouyFSi5vUhoZFNKEb0EnYg8KTv6wY0nLIDoBKWRSdsm/qjjy8wB4sAuMd127dECnc8KKQyw
MdkSV7PWHXYoh/kx4dk6w1/vlQCAoOzBntV7Bpzb77WjT6n5+HeeZkfiK+r5Oyc27F4ECyDqwUvh
00u2LhN9JgTl8Vg5qSygcwo4RF4hMRlo+hab7x0c8ni17arQEkk70WQcHEgQfihKS6/QKKmG6pLX
6Rmv6jUysV0kMkqBeEgpBgDxPiwwkDj2ioFmZGk3U525abaLxxsewJPHFaPtPDWa4iiZRtFc0S/E
hiiZDOJgkxxRxGEjTobkDY4IgiBfCfSn9z+Oz9zM8IcF9r8OM1K6kFtRHrVx5/0ru45mTEi+fPna
ucArt9Mqao4fJEmEKHUf0Q0Krouviywjrf2IBXudZk3obaBJZRdUKMtDjoocFYBuMHCADiRtufVe
6vUAACgamxnT5FW8w2O96/03r6uWHJAczEjqIrHrZe2PBAIhUKgUEAp4AqBSKRQAiTNPTtKWnycf
oxRl8gat/CyJX/TojMcjSQVIAbX9OOe9/Z+vmhQuae7donVRVfT0VeHdJf+bD3IFAClJm42m3bS3
G6J26WZpkzbxUlT62+y7uanngw02m2NYzbAfmKRAkvYioXFNKVv0NkZNRnYl9OigSgOQJw7svKQT
S0eGyH+2DYdb9KZuxpt0cNLmZ6J+zWe9K//4byEned/K/Ra31tt2fvPXlDMJBJMyTkbovYJFViON
lILySAcHCVB1xp04ODXX7RfHW7lSnMxtafdKCYmMuvtbxAwpn1LPhxUyjb2KXYYaQcHViNyGprfm
KJr76Vq5fojKkcuQMtgaIkXY1JeBSwIEQb4Z6J8cTOp94aZccO5718Ry+lSrmUuDbB1jvVbNPBBd
xCdPIoVCVBchcp2tLvqs6hbutdb+cXIpRX/UmoB1NacnhQIhgLCRV/QpFCoFiq9bLzr1su6WXmF1
6Xvyk7QS6pJkl1DA5wmkPHLwirNKQUVPX5nKK8zNBKDqtjdQgpKs8ua/QE1RH2M7TlMNzkbEnq39
58qL+aN3/29e8LvmvRuWrK6QyioegJr+x+NrdeGbfKBqt1elQansUzFqu+EO/1xfqX3R8feVN3Mb
s25sVIGt2F6yRm8jEPIFQKmbYIoPbGFlweuXhZ+HuVDIrwtx1ru4xORyaAi947Afe9OEfOgy75fe
R91eiF+oCUEAQKlX+8dfSTNm1KM629/NJeXa53uJCGh59zZAnF0kMuruDZA8pHzmw8aPvUKBEChU
qpiffplR9GMptSEqUQZZsJFFlDRh81lPQRAE+RagDhnXqeY2KQUjszG6kBydWXs+paoo+dKpfVbT
Jgxxyxhkt9HWqO6YRJIENO3R1o67bYbq1d1xxkmPzAAdsrrEoth1RF9q1r9u3gERifFJCRFxOR+H
e17ui4Qi6GU9jvBGOUE1txpAWU2x3ulMTlp4ulDLdDA9NyUt41XN53V6Yb17WcWIJ6lLGrvYD1eO
0vj1dqFUp6kF+S9i3kGvuUNET7Kk6gyZ2BdyHsYV1x1KxSiUCWHZTeeZgybPqvn8su1GJWSfX222
6k6ONOuBRskgq0vIfpOYBZ0sTLVFJSl26msEnIzX9dYDjTaZ1nHqrv9W6l5cYbNC7Hqg2QqUor3I
Sm2UDCmit9kgCWyFwVtul7169tknY2d/SY8apaj2tbuwY1D8X/OGbo02WLx/30/iH68r12HwaF1g
PsuqnWIKq9gfANppKzcq5AUVWQmp2Sxpl5WS3StuSJGIkFtZBUqaquKki7NLmlaWPKTU86FsYy8n
PSIddIZbdmt4V75scdjEUVSMQlIZEoKNJKIaGTYIgiDfDPTOW/7dzTtwPYnW8/c19j1yL065mccH
AFXTrZvMSyOjGZmlXEV9M9P2wM/M4wiAPAkAAJT7LT27dbYuzNCIt3R4LjqsC7JuHD25/IT4uojh
vo1NBTPrlfPjfWMzORTtfnq173qqeOG1/cn4v3edu9rr9Nnw9DwuXV2vAz02JDCjZsImYL2OKwIb
m0ULSqNYGvr05/8FZlRl3zh8zP6ko6+35j/+15OLqpV0exiUXfINfffxACBOPFldxHbJ+Cz2DymB
+6Ktjux1d1E6GwkDVm0bSYne7ZVaNwsVq5AUiqJu5+7ackpdtBRATruz8f/YFSVv32ZzBKzsN69q
f6WkUVoNH4reMWuOhoS5SGXIUhcvNcQz8fe/tuzYUHbsVqnRApf5htkXFj6r29TQ2LpA6X/r//yJ
8mDn6UyNXr1EG6CF7PevX5fzm71Aie1FQiObUiAxepsPsg4reeOQasc+vXrUPt+RV56d+r5S2G6g
y9E/Ot3fOMiXmQPbVowJOb1vw7VJm68V1UTUoCUrHZUj03hGs1c5mpTfm3+rbs+KoDw9Kgcc7ZbZ
FT/IVzNQeB7sny7Rw3Rjm39jNvasjvizp+2tfMlX6SS7V+yQIqnY6uy4NI69+Q7H6W5hhXS9zu1e
BPulcUnsakori/OhbGOvIOvG397LTzj7HKEfCAjN4moNaQ9QJaWjxCLTKErylGwyGRRJwUYcUY0N
GwRBkG8GupM702ntwcPtoCI11HvO9n9Fj6GgKShSdYavdV2gKw8AVfkpUQdWugbmCsiTRHCzIu5k
zbSiRNx9V3e8FJbFOM91Ktoppi4Sql77WTmoH3SyPnVulQKAkMt6n/Qkjc0HAOBl+yyfl7d4xbo5
9l6/KQMAOzfh3NbbFzOqaqRwEvdsPt97l9UxTyt+SfIp59sXM6oErOd/zl6cuX7FsmU7F6gA8MvT
wnwenq87mIkVT1aXTHaRwcv2cVjabuem9W4ea4GVdMvj563/1X8pgXiFZMib2B0Ps9UTfZnqdnYq
sIMWTLCJIn/GuoRcBDJkqqv6zd9/LFfa4bzib5/NlKp3UecX2B+tn6Oxdcm17zdSB9qN3XZ/bN2v
n20cbx5ccyNDcxYoqb1IaOGqbScAACAASURBVGxTCiVFbzNC0mEr89Lj8kgz93G+d7XuW1Wog9Ef
L3o77lqmeufX7Xdz+ACQH7Jzv+3d7YdXBT3a/lx0MligYurkOkePxsthhCx3OHCl/k0n3JQDG737
uy488Pc0Qemrk843A9KrJM3WBGVvUt8JurCSc4nv5v/UZInuFTukSCq1ONR9md9fe393CVoEvOKk
k87X/dO4AhK7mtDKYn0o29grLI9ZN2dFzlbHpS4HnGgAvLLXz26msgVSOUoszT2KEsrgqwwlDraa
7UOEEdXosEEQBPlWoAxQNv7SGr5PFEz23j0/7dLcgQeZXMm/Rr5q5PutvxT58/1R4w8wWm5n+lcL
vdNvEQ+ci1eMnnQHX9olI+hDBEEQpGl8i28v/oqgq2jq6+pwQcgpLS6rxrNS3xoUuXa6GgpUkNdp
3DZ4BEEQBEGQ1gSXBF8UQ+sTSdYAUHV90di5T8Q/XB35elEZtiPptLmS6Evul9WCIAiCIAhCBG4c
QhAEQRAEQZDvmsY8Tg9BEARBEARBkG8OXBIgCIIgCIIgyHcNLgkQBEEQBEEQ5LsGlwQIgiAIgiAI
8l2DSwIEQRAEQRAE+a7BJQGCIAiCIAiCfNfgkgBBEARBEARBvmtwSYAgCIIgCIIg3zW4JEAQBEEQ
BEGQ7xpcEiAIgiAIgiDIdw0uCRAEQRAEQRDkuwaXBAiCIAiCIAjyXYNLAgRBEARBEAT5rsElAYIg
CIIgCIJ81+CSAEEQBEEQBEG+a3BJgCAIgiAIgiDfNbgkQBAEQRAEQZDvGlwSIAiCIAiCIMh3DS4J
EARBEARBEOS7BpcECIIgCIIgCPJd0/aWBApdprhss7fQaUPKqGp9l27Z7NxX6UsLQb4mMGwQBEEQ
BPlKaP6JN0Wlk+kUi746NBnzKxjPWLfAorfyl10SyJmsvMyOPzhZnQIAVPV+ixbOtuhA/7Iy2hAU
tTE7rpQm+G/royBT/kbZRRxRTZXRKBod2F8ubBAEQRAEQRpF80+85U1s3QN3WnaRa5BCUTaZufFW
aBSbySh65OU+xVCx2Sv/CFV9wCqPwKxUBjs1NObIwpEajbRTvsvsGUYVj0MiyoUtI/CrktEQqpJR
z45yip1768rLkr1xdhFHVBNlNA5iGTJC1Zt2suS5q7kqKPywPCHlypaerWAFgiAIgiBIQ1rvDCbN
aKbbQ7dej/ZvNH+Upzxg/j/7jguz5254UdkCVRnY/HNiT9+XHn86hcNAp21O146yTG1C3vKlLUCh
2yQrI/adHXFlX3Qq3kZkiIGf52c382WX6lcvWTLkbja7mibjS6M60NJEEHc+nk3TH/pjl5Kn995V
fWlJCIIgCIJ8n1DnH/I8ExcZVspksJkMduxpp+41Z0HlO4zeejw4m8lgp4Y+9Vw2qUPd2VGiJJXB
O7OYUY8W6ICu1aMEBpvJYDMj/EaqAACoDtr656gib6dFJ0JjXiWHBhzYFtt+oW1fVQAAimqP6Ucu
3C5hMtjJd+86mdQXSFCXQr8Vx5PiGGxmdMqFPcdPXclnxr4L2TC1PQ0AFH+Yt36Y8M6mdVuCH10P
9vh9c4Rw+BK7eqdgabrmJx4+Kw/dPV1X7NUD+V7TJ3dhhZ1mfDLRHPXX1SImg82MSDyzepqBRG+Q
KQQAuvYgx/2+aUkMNvPZ26vua4dpNtiQ8rkMhV4OL5lhPsOVRV/VLLzYzCBHI9Gqjqr2v3kngm4W
MBlsJoMVfy9q10hNiuRcHSxd454/YzMZbGY0M8jFro/KR49QNQeJjQ2qwVw/NpNRzrj8+L8bwePb
fS6aOGyI3UsogziiJMgggqpt5u536Y2oqOR74R6Lx+rWLotlkCEySH+8/e57D55UMBlsZmxe6PH1
veqCTUzYKPbZH85gMx9dHKekOGp/ZuqzpG29qNq/3L+/YXDLXThDEARBEAQhhD7vDws4s+evTczC
cr6chhb91ftqAKCoD90X6LGEf2fr6kNJlB8WODsEB2pNmbontExIklSZ6DFmkr+pg6fPqCgbm38T
uADAL8vmAIBqv19+1njtHpjCUe/n6LJxlYWJviJAcldtWjRHc+xxf5fpxde3ON1Ol+tiMX/Z/z6q
I66LrtfftHOO1y+b06YedltUcXqedeasQ9uPOtx8sC1Rx3RoJ3jl8lzV/twlF8VTY51uJ8COMf21
aMm5ousECoZmEw1pNBg5vpP85YIPn/tEofuvUzuUPXR5+ump56z7xzfdyuRoDXTYsvj80dx+8/wz
eLIpjOeo9N/l77206tJmx0OxLB3zJRt3nt5fNuEP7yy+RBniUer7l/fGWW98HG1DU1lU9Q6du/Lf
siWfgxeUJF7btf6/7IJKqlYf600bDntx48ftjeYAAE1vhPjYyL/pbPpcSU7P0s9n8WfFkcQGqV2E
MogjSkAigwSqcpcxQzuXndq05FGJguHQpWsdrgbpTJrm/qRcKJMMAJrevEMBpyYInpzzWhqVkcOR
0zVQTc/h1dYoJmy4KTtnTP6707SQgN8SVizczOy8/cLhYQGLp/ky33OlNwVBEARBEKS5oANw0i4G
3nzArv9fqqHlyiX6b3Zbbj3IrAIIe5gq1+ea/fbJJ59cyDcgTMrlfyhKS6/QKKmG6pLX6Rmv6ibb
coYDTdqVvYgu0Jh16Pje3qEOi1zBwetvXXk6hWZkaTdTnblptovHGx7Ak8cVo+08NSTJYAGAsCQ1
JjaSn8i11UyJjApjP1s/p1cnVcorLUMNYMfnVqkM6KSqqmCoxk1+z4EBhmpyULMkqIz3XLibNZ4S
eTSuwXoAQOmHabP1y24Efb4Z5c2D6yGhLIDo5HajX26xHKUVkJEPMilM1LRcvaJjjL35Lv98AQDE
pApHRbjbjdP3OZPNkyRDPHIahmpQwoy9HxmXxweIY0iTCQA+ZIZdzBT9mZBIGTX3xGAzfXr0648q
xMQG8Fg5qSygcwo4nxdG0l65tWsdsXYRyRASRhSJDMnkxIbdi2ABRD14KXx6ydZlos+EoDy+TDJU
TO3dJ6hG7Zw+zTdL7L4fcWHDKy/IFXTv0kGQefhF5nthP2MNdlxUypsCtrgCEARBEARBWhrxt90q
dR/RDQqe3v84yeFmhj8sAJNhRkpkSSTI6XbTguKsYtXBS0YrPTt8+OzTtIySagAAUOwy1AgKGBG5
vAa5pKpLIBAChUoBoYAnACqVUvsMG07Slp8nm0x0jWx4twK/6NEZjy0+MXli7i5Q7PuLRYfSR2fi
ieZn/MKMbA6oGarTZFWoaGxmTJMf6h0ey2Yy2ExGRYy7OR10u2rV22QjUcanlEdt3HlfYHU0I+L8
+U3zLY1VpXsuDq39CJuTAVffJcRWvHz8Yu9weZBXkZP5lnNpvCHWruaV0Qg4GaH3Cih9RooUyiCD
bjBwgA4k+dx6L+k+gPphAwB0vT492hW9TC4XKHUeaEzJjswUszpFEARBEARpFUhuL6Z88oBIipRJ
BGUpqcpD9QeBqp4OtTIpm11/Ki4UCIFCpRKVIqkuoYDPEwjq/YNXnFUKKnr6ylReYW4mAFW3vYES
lGSVV0vWCaDUa8EkncK7lxkktz3zq/lApdUKa7RCCoVKgeLr1otOvazbKCKsLn1fNysUK0MoEABV
nibWU9yUC85975pYTp9qNXNpkK1jrNeqmQeii/hkueQ6W130WdUt3Gut/ePkUor+qDUB63SIzf7U
KCJzyb0hzq4WkSF1fgEAhUKRWYZQIAQQSnXjem3YKPbee9PP0RAAjEMT5okS9z18ti/bb/Sk/bG4
NEAQBEEQpLURfw6Ukx6ZATpDxnWquUtSwchsjC4kR2dyyJJECLmVVaCk+elpaiGXXQ2K7eQ5RWWg
qKVK/6SuiHTQGW7ZreGj5SXWBQDshytHafx6u7Bus7og/0XMO+g1d4joyaNUnSET+0LOw7jiunkb
TXu0teNum6F6Dc6lq/aZPk27+EpwcoV4fzWLQk5aeLpQy3QwPTclLeNVzed1eiG39idiZfDKcktA
qbuxJtE6rqoo+dKpfVbTJgxxyxhkt9HWiE6eS7HriL7UrH/dvAMiEuOTEiLicqSfjgqr2B8A2mkr
13OhZG+ItUuSDLERRSKjEch1GDxaF5jPsj7IKIOX+yKhCHpZjxNzGzUh3LSDdmvPFEDm2VXDJy9w
iKwSJh60sJw1cOHpl3gvAYIgCIIgXwDxs0tB1o2jJ5ef2PLvbt6B60m0nr+vse+Re3HKzTw+CImT
RFRnx6Vx7M13OE53Cyuk63Vu9yLYL636fUoBWPQ04FwNToRdtpa9nlyhUGvr+tt7+QlnnyP0AwGh
WVytIe0BqiTJUCax6UNK4L5oqyN73V2UzkbCgFXbRlKid3ul1u3sUO639OzW2bowQyPe0uF5/Ymf
iukcc52CO75JUm5Ql02hIPvG4WP2Jx19vTX/8b+eXFStpNvDoOySb+g7HpkMfmHMhXjhvtXbt7N8
H+TydAfrAny88qFqunWTeWlkNCOzlKuob2baHviZeRwBeS7u29hUMLNeOT/eNzaTQ9Hupyf9A28E
5elROfB/9s48Lubt/+PvWdr3TYukSyi+ITvh6soWsqvr2kI3S5IrdK1ZLhUh3ItbyJIUuvadirSR
0aLUVEhpX6cxZpr5zO+PSPT5fGb61FT8zvPhD3X6fM7rvN/v8z7nfLbj5rzMufxhsbqRwvNLIdkC
SbGB3y5JMnAjik8iQ6L4/ktWuinHZglNZq5ys6i+P+d2oZCqjJoXAVsfjzm84+w185Onn2QX8Zka
+obMxPCwHGIZYkFpGd1Ui5cUlZjyRm9sB+a7iKcsdg66PYBAIBAIBKKNILjgLK5K8JjtXrbdfc2+
A2pQkxkZOGvrv3XfjSEpqju0PNJ3WfBfu+d6XVgEwvK04x43QrKq8mLjCtdMmN69fPVanxEn/0xM
XgcAH+I4AjGIqxPWzlpRsNltqZefOwNAWPX62a1MLiZFXQQI84Ncl6pt37DOx38NcNJu+0/e/F/D
TQn4eTF386Y50mLuffMleNVeC0drFFy9lir1K6vUFIo5z/+cuTh33Yply7bPUwEQVWdFB0Wc+7wk
IJIhzAt0XW24y+N3H/8/AEBQlZN4h/0BAwCGgiJdd8ga73l68gAgKM6I81vpHVaIkR8leB3s6Kqx
z33+ibOrFADEfM77tMdZXOm2b+Bn+HkG9vFe4HfYHqt8ddzjVmi2ACO3BkG7JMnAjSg+RiJDknZM
xcrde5Y+Q1jACl/u6ne1VBprEMgQ5gctdyhavGLtLJeA35QBgFuYcnbznYskSwIARWOrbvT8Q28+
grKJtbEwM/E9Wg8gEAgEAoFoO2h9lc1apSL5rp5XLnpW+/Sfez5bJK+jr6csKH9fxpN697DWQN3a
OyPI6swM+3XJbfkARzuR0eK0h3YxO/0W89CjfMXI8Xe/x93NEAgEAoFAIGRBq+1eLMg57BkwPWz9
rf1MZ+//nhSU0XQUmDSeqB3ty6s22GG4ekF4SEbbTsTbiYwWp5XaRVPU69FFV6nxSzKYoOh1TrFM
60YgEAgEAoH4Lmm1JQGIa5KOjnWoPuS78mbEGgCAisu2P2+LpfBVedlA0+jj9LPKu3M309t0Kt5O
ZLQ4rdYuxW4Lr4XPMcIpKTkyY7JnhWxrRyAQCAQCgfgOabUHh75AV9UzNFAWlRcWl/MlPvWNQCAQ
CAQCgUAgZEobLAkQCAQCgUAgEAhE+6E1tohFIBAIBAKBQCAQ7Zb2tyRQMJ3otcXFVrcdKaOrWy7d
tNHDUqmthSC+J1DYIBAIBAKB+E5o+Yk3TaWT1URbS11q28kCKJhNXTvPtqdy2y4J5CxWXuEm75ug
QQMAukbvRQtm2hq23rvYuDLaETT1UduuVqaEbOnVeM9paWhSu4gjqrkymkSTA7vtwgaBQCAQCASi
SbT8xFvewsk3bLudqVyjEpqyxTTP25FxXDarLCrAd6Kx9HvlNhW6Rt9V/mF5mSxuZmTCwQXDNJvY
TnnTmVNNah6Fx1S36UdS24mMxtCVTLp3lFPs3FNPnsrhTWsXcUQ1U0bTIJZBEbq+/fGK5942qqDQ
Y3lKxtVN3VuhFQgEAoFAIBCNab0rmAyTaT4RPuZRez1tooqU+875e89Rcf7s9S8+yKAqo4V/H9tl
+dL/T/cn0M99i/v1QxyrheFvpd4XTaHLeEcT7t1tSRI3SpYp7UQGDqKiYOdpL01rX72ksuFXi7Wr
eTLaGtV+dhZY0rlkLsNg0AjTiqf335FteIxAIBAIBAIhM+hz9h85lRQbXclmcdksbuJJ966froLK
G47cfPRSPpvFzYx8emTZeMMvV0eJilQGbM9jx0XN0wU9x6gUFpfN4rJjgoepAACo9t/85/CyQPdF
xyITXqVHhvptSeywwMlSFQCAptptysHzdyrYLG76vXvuFg0FEtSl0HvF0bQkFpcdn3F+19ETV4vZ
ie/C10/qwAAAxR4O6waL725Yu+lS1I1L/nM3xoiHLHFucAmWoWdzLOJZdeTOKXq4dw/kzadMMOVE
n2R9NdEc/te1MjaLy45JPbXa3kiiNcgUAgBTp7/b3jNZaSwu+9nba75rBms1eiDlWxkK5q4v2dFB
Q5TrflS3DeCyL7iZ1K3q6Or/czh24VYJm8VlszjJ9+N2DNOiST7K0M476fkzLpvFZcezL3g591L5
bBG6Vn/c2KAbzQ7mslnVrCuP/rt5aYzat6KJw4bYvIQyiCNKggwi6DrWvsGX39SdKv3+E//Fv+jV
L4spyKhrkMEYl533Hz6uYbO47MSiyKPrzL8EG07YKPba+4TFZUddHK2kOHxvbuaztC3mdJ3pDx6s
HyC7G2cIBAKBQCAQhDAdfreFU7v+2sAurRbJaWozX72vBQCaxqA9Yf5LRHc3r96fRusxz8P1Upj2
xEm7IqvEJEUfUv1HjQ+xcj0SNDxu4cJ/U/gAIKrK5wGAau/pkzVf+4Zl8DR6u3l5rrK1MFAESP9J
hxHP0/rlaIjXlPIbm9zvZMuZ2s5Z9r/P6ojrYur3sepcEDB9Y9akAz6Lak46zM+dsX/rIddbD7ek
6loN6gSvvJ6rupy97KV44hf3OymwbVQfbUZ6Yd19AgVj63HGDAYMG9NJ/krJx29totD110mGVRFe
T7++9Jz34OiG27k87X6umxafO1TY2yEkR0hNYTJPpc+OkMClgssb3fYncnRtlnhuP7m3auzvgXki
iTLwUbL8K9BzxpsgN6fITA5dw7DzT6K3XMnX4LGK1Os71v2XX/KBrt1r/ob1BwL4yaN3x/MAgKE/
FD82im95WD1XktO3Cw5a/M3pSGKDtF2EMogjCiORQQJd2XTUoM5VJzYsiapQMB60dI3rtQu64+19
H1eLKckAYOg77A89MRZ7fDZgaVxOAU9Oz0g1u0BYXyNO2PAztk+dcLiTfXjobykrFmxkd956/sDg
0MX2Z9jvf6z96RAIBAKBQHwnMAF4WRfDbj3kNvwt3dhu5RKDNzvtNu9jCwCiIzLlel132Trh+OPz
xUaERYWij2VZ2TWaFbVQW/E6O+fVl8m2nHE/C7WqF/ElmjP2H93dM9J1kTe4BhzWk2fSGCZ2ztM0
2Btmevm/EQI8flQz0vmIpiQZHAAQV2QmJMaKUvlOWhmxcdHcZ+tmmXdSpb3SNtYEbnKhQKVvJ1VV
BWN1fvp7HvQ1VpeDT0uCD8lHFuzkjKHFHkpqtB4AUOphP9Og6uaFbx9GefPwRngkByA+XW3ky012
w7VDc4qBksJULbvVKzomuNjsCCnGACAhUzw8xtd5tEHQqXyhJBn4yGkaq0MFO/FBbFKRCCCJJc1B
APAxN/pibt1/U1Jpw2cfG2BtwIx//VkFTmyAkFOQyQEmr6TRxtMk/iqsX+vgtotIhpgwokhkSKYg
Mfp+DAcg7uFL8dPLTl7jgsZeKBJRkqFi5eI7VjVu+xT7M3m4z/3ghY2wuqQQ62pqiOUeeJH7Xtzb
TJObFJfxpoSLdwIEAoFAIBAIWYP/2q1S16FdoOTpg8+THH7uk4gSsBhsokRWRIKcXhdtKM8rVx2w
ZKTSswMHTj/NyqmoBQAARdNBJlDCiikUNjpKqrowTAw0Og3EmBADOp1W/w0bXtqmyRMsxnnHNn5b
QVQWdcp/U1BCEc7bBYqW020NK6NOJRPNz0SlOfk8UDfWYFBVqGhmbcaQHxT4JJHLZnHZrJoEXxsm
6P2k3eAhG4kyvqY6znP7A8zxUE7MuXMb5tiZqUr3XRxGh6ELj4dee5eSWPPy0YvdQ+RBXkWO8ivn
0lgDt10tK6MJ8HIi75fQeg2rU0hBBtOoX19dSAu6/V7SewANwwYAmPq9uqmVvUyvxpQ69zOj5cfm
4qxOEQgEAoFAIFoFkteLaV99IJImZRHBuZRU5aH2I6aqr0v/kJbPbTgVF2NioNHpRGeRVJcYEwkx
rMEvhOV5laCib6BMF5YW5gLQ9ToYKUFFXnWtZJ0ASubzxuuW3rvCInntWVQrAjqjXliTFdJodBqU
35i/6MTLLw+KiGsr33+ZFeLKEGMY0OUZuJbiZ5z3sLxnYTdlkuO0pRec3BIDVk3ziy8TkR0l19nx
YtCqLk8C1rg8Sq+kGQz/I3StLnGzv24UUXPJrYHXLpnIkPp4DIBGo1GWIcbEAGKpXlyvDxvFnrtv
BbsZA4BZZIpDXeGeiGd78oNHjt+biJYGCAQCgUAgWhv8a6C87Ngc0B04utOntyQVTKxH6UF6fC6P
rKgOMf+DAJS0vr5MLeZza0FRTZ5XVgWK2qrMr+qKyQbdIXZdGn9aXmJdAMCNWDlc89c7pV8eVseK
XyS8A/PZA+u+PErXHTjOEgoiksq/zNsYOiPnu+1cOEi/0bV01V5T7HXKr15Kr8G3V4so5GU9yRZr
Ww1gFmZk5bz69O91dim//k9wZQirCitAqauZFtE6TlCWfvnEHkf7sQN9cvo7ezqZMMmPUvxpqCU9
71+fwNCY1OS0lJikAumno2IB9yOAmo5yAxNKtgZuuyTJwI0oEhlNQM5wwEg9YD/L+0hRhrDwRUoZ
mM8fjfMaNSH8rH3Oa06VQO7pVUMmzHONFYhT99nazei34ORL9C4BAoFAIBCINgB/donl3Tx0fPmx
Tf/uFPrdSGN0n/uHS7fCixNvFYlATFxUR21+UhbPxWab2xSf6FKmfme1F5eCs2rfZ5SAbXcj3rVL
qbDDyc788VUavb6uw4HLj3kEHWT6hUbm8bUHdgAQSJKhTNKmjxlhe+IdD+729VI6HQt9V20ZRovf
GZD55ckO5d5LT2+eqQdTNZPtXJ83nPipWM2y0S25eyZNygfUqSnE8m8e+MfluNuZQK2/Q26kl9Uq
6XUzqrp8JvKdkEyGqDThfLJ4z+qtWzlnHhYK9QboAXy+86FqtXmDTWVsPCu3kq9oYG3VAUS5RTyM
/Cj+28RMsJ6/ck7ymcRcHk2nt770H7zBqrPjCsDNeZlz+cNidSOF55dCsgWSYgO/XZJk4EYUn0SG
RPH9l6x0U47NEprMXOVmUX1/zu1CIVUZNS8Ctj4ec3jH2WvmJ08/yS7iMzX0DZmJ4WE5xDLEgtIy
uqkWLykqMeWN3tgOzHcRT1nsHHR7AIFAIBAIRBtBcMFZXJXgMdu9bLv7mn0H1KAmMzJw1tZ/674b
Q1JUd2h5pO+y4L92z/W6sAiE5WnHPW6EZFXlxcYVrpkwvXv56rU+I07+mZi8DgA+xHEEYhBXJ6yd
taJgs9tSLz93BoCw6vWzW5lcTIq6CBDmB7kuVdu+YZ2P/xrgpN32n7z5v4abEvDzYu7mTXOkxdz7
5kvwqr0WjtYouHotVepXVqkpFHOe/zlzce66FcuWbZ+nAiCqzooOijj3eUlAJEOYF+i62nCXx+8+
/n8AgKAqJ/EO+wMGAAwFRbrukDXe8/TkAUBQnBHnt9I7rBAjP0rwOtjRVWOf+/wTZ1cpAIj5nPdp
j7O40m3fwM/w8wzs473A77A9VvnquMet0GwBRm4NgnZJkoEbUXyMRIYk7ZiKlbv3LH2GsIAVvtzV
72qpNNYgkCHMD1ruULR4xdpZLgG/KQMAtzDl7OY7F0mWBACKxlbd6PmH3nwEZRNrY2Fm4nu0HkAg
EAgEAtF20Poqm7VKRfJdPa9c9Kz26T/3fLZIXkdfT1lQ/r6MJ/XuYa2BurV3RpDVmRn265Lb8gGO
diKjxWkP7WJ2+i3moUf5ipHj736Pu5shEAgEAoFAyIJW271YkHPYM2B62Ppb+5nO3v89KSij6Sgw
aTxRO9qXV22ww3D1gvCQjLadiLcTGS1OK7WLpqjXo4uuUuOXZDBB0eucYpnWjUAgEAgEAvFd0mpL
AhDXJB0d61B9yHflzYg1AAAVl21/3hZL4avysoGm0cfpZ5V3526mt+lUvJ3IaHFarV2K3RZeC59j
hFNScmTGZM8K2daOQCAQCAQC8R3Sag8OfYGuqmdooCwqLywu50t86huBQCAQCAQCgUDIlDZYEiAQ
CAQCgUAgEIj2Q2tsEYtAIBAIBAKBQCDaLe1vSaBgOtFri4utbjtSRle3XLppo4elUlsLQXxPoLBB
IBAIBALxndDyE2+aSieribaWutS2kwVQMJu6dp5tT+W2XRLIWay8wk3eN0GDBgB0jd6LFsy0NWy9
d7FxZbQjaOqjtl2tTAnZ0qvxntPS0KR2EUdUc2U0iSYHdtuFDQKBQCAQCESTaPmJt7yFk2/YdjtT
uUYlNGWLaZ63I+O4bFZZVIDvRGPp98ptKnSNvqv8w/IyWdzMyISDC4ZpNrGd8qYzp5rUPAqPqW7T
j6S2ExmNoSuZdO8op9i5p548lcOb1i7iiGqmjKZBLIMidH374xXPvW1UQaHH8pSMq5u6t0IrEAgE
AoFAIBrTelcwGSbTfCJ8zKP2etpEFSn3nfP3nqPi/NnrX3yQQVVGC/8+tsvypf+f7k+gn/sW9+uH
OFYLw99KvS+aQpfxU59XhAAAIABJREFUjibcu9uSJG6ULFPaiQwcREXBztNemta+ekllw68Wa1fz
ZLQ1qv3sLLCkc8lchsGgEaYVT++/I9vwGIFAIBAIBEJm0OfsP3IqKTa6ks3islncxJPuXT9dBZU3
HLn56KV8NoubGfn0yLLxhl+ujhIVqQzYnseOi5qnC3qOUSksLpvFZccED1MBAFDtv/nP4WWB7ouO
RSa8So8M9duS2GGBk6UqAABNtduUg+fvVLBZ3PR799wtGgokqEuh94qjaUksLjs+4/yuoyeuFrMT
34Wvn9SBAQCKPRzWDRbf3bB206WoG5f8526MEQ9Z4tzgEixDz+ZYxLPqyJ1T9HDvHsibT5lgyok+
yfpqojn8r2tlbBaXHZN6arW9kURrkCkEAKZOf7e9Z7LSWFz2s7fXfNcM1mr0QMq3MhTMXV+yo4OG
KNf9qG4bwGVfcDOpW9XR1f/ncOzCrRI2i8tmcZLvx+0YpkWTfJShnXfS82dcNovLjmdf8HLupfLZ
InSt/rixQTeaHcxls6pZVx79d/PSGLVvRROHDbF5CWUQR5QEGUTQdax9gy+/qTtV+v0n/ot/0atf
FlOQUdcggzEuO+8/fFzDZnHZiUWRR9eZfwk2nLBR7LX3CYvLjro4Wklx+N7czGdpW8zpOtMfPFg/
QHY3zhAIBAKBQCAIYTr8bgundv21gV1aLZLT1Ga+el8LADSNQXvC/JeI7m5evT+N1mOeh+ulMO2J
k3ZFVolJij6k+o8aH2LleiRoeNzChf+m8AFAVJXPAwDV3tMna772DcvgafR28/JcZWthoAiQ/pMO
I56n9cvREK8p5Tc2ud/JljO1nbPsf5/VEdfF1O9j1bkgYPrGrEkHfBbVnHSYnztj/9ZDrrcebknV
tRrUCV55PVd1OXvZS/HEL+53UmDbqD7ajPTCuvsECsbW44wZDBg2ppP8lZKP39pEoeuvkwyrIrye
fn3pOe/B0Q23c3na/Vw3LT53qLC3Q0iOkJrCZJ5Knx0hgUsFlze67U/k6Nos8dx+cm/V2N8D80QS
ZeCjZPlXoOeMN0FuTpGZHLqGYeefRG+5kq/BYxWp13es+y+/5ANdu9f8DesPBPCTR++O5wEAQ38o
fmwU3/Kweq4kp28XHLT4m9ORxAZpuwhlEEcURiKDBLqy6ahBnatObFgSVaFgPGjpGtdrF3TH2/s+
rhZTkgHA0HfYH3piLPb4bMDSuJwCnpyekWp2gbC+Rpyw4WdsnzrhcCf78NDfUlYs2MjuvPX8gcGh
i+3PsN//WPvTIRAIBAKB+E5gAvCyLobdesht+Fu6sd3KJQZvdtpt3scWAERHZMr1uu6ydcLxx+eL
jQiLCkUfy7KyazQraqG24nV2zqsvk205434WalUv4ks0Z+w/urtnpOsib3ANOKwnz6QxTOycp2mw
N8z08n8jBHj8qGak8xFNSTI4ACCuyExIjBWl8p20MmLjornP1s0y76RKe6VtrAnc5EKBSt9OqqoK
xur89Pc86GusLgeflgQfko8s2MkZQ4s9lNRoPQCg1MN+pkHVzQvfPozy5uGN8EgOQHy62siXm+yG
a4fmFAMlhaladqtXdExwsdkRUowBQEKmeHiMr/Nog6BT+UJJMvCR0zRWhwp24oPYpCIRQBJLmoMA
4GNu9MXcuv+mpNKGzz42wNqAGf/6swqc2AAhpyCTA0xeSaONp0n8VVi/1sFtF5EMMWFEkciQTEFi
9P0YDkDcw5fip5edvMYFjb1QJKIkQ8XKxXesatz2KfZn8nCf+8ELG2F1SSHW1dQQyz3wIve9uLeZ
JjcpLuNNCRfvBAgEAoFAIBCyBv+1W6WuQ7tAydMHnyc5/NwnESVgMdhEiayIBDm9LtpQnleuOmDJ
SKVnBw6cfpqVU1ELAACKpoNMoIQVUyhsdJRUdWGYGGh0GogxIQZ0Oq3+Gza8tE2TJ1iM845t/LaC
qCzqlP+moIQinLcLFC2n2xpWRp1KJpqfiUpz8nmgbqzBoKpQ0czajCE/KPBJIpfN4rJZNQm+NkzQ
+0m7wUM2EmV8TXWc5/YHmOOhnJhz5zbMsTNTle67OIwOQxceD732LiWx5uWjF7uHyIO8ihzlV86l
sQZuu1pWRhPg5UTeL6H1GlankIIMplG/vrqQFnT7vaT3ABqGDQAw9Xt1Uyt7mV6NKXXuZ0bLj83F
WZ0iEAgEAoFAtAokrxfTvvpAJE3KIoJzKanKQ+1HTFVfl/4hLZ/bcCouxsRAo9OJziKpLjEmEmJY
g18Iy/MqQUXfQJkuLC3MBaDrdTBSgoq86lrJOgGUzOeN1y29d4VF8tqzqFYEdEa9sCYrpNHoNCi/
MX/RiZdfHhQR11a+/zIrxJUhxjCgyzNwLcXPOO9hec/Cbsokx2lLLzi5JQasmuYXXyYiO0qus+PF
oFVdngSscXmUXkkzGP5H6Fpd4mZ/3Sii5pJbA69dMpEh9fEYAI1GoyxDjIkBxFK9uF4fNoo9d98K
djMGALPIFIe6wj0Rz/bkB48cvzcRLQ0QCAQCgUC0NvjXQHnZsTmgO3B0p09vSSqYWI/Sg/T4XB5Z
UR1i/gcBKGl9fZlazOfWgqKaPK+sChS1VZlf1RWTDbpD7Lo0/rS8xLoAgBuxcrjmr3dKvzysjhW/
SHgH5rMH1n15lK47cJwlFEQklX+ZtzF0Rs5327lwkH6ja+mqvabY65RfvZReg2+vFlHIy3qSLda2
GsAszMjKefXp3+vsUn79n+DKEFYVVoBSVzMtonWcoCz98ok9jvZjB/rk9Hf2dDJhkh+l+NNQS3re
vz6BoTGpyWkpMUkF0k9HxQLuRwA1HeUGJpRsDdx2SZKBG1EkMpqAnOGAkXrAfpb3kaIMYeGLlDIw
nz8a5zVqQvhZ+5zXnCqB3NOrhkyY5xorEKfus7Wb0W/ByZfoXQIEAoFAIBBtAP7sEsu7eej48mOb
/t0p9LuRxug+9w+XboUXJ94qEoGYuKiO2vykLJ6LzTa3KT7RpUz9zmovLgVn1b7PKAHb7ka8a5dS
YYeTnfnjqzR6fV2HA5cf8wg6yPQLjczjaw/sACCQJEOZpE0fM8L2xDse3O3rpXQ6Fvqu2jKMFr8z
IPPLkx3KvZee3jxTD6ZqJtu5Pm848VOxmmWjW3L3TJqUD6hTU4jl3zzwj8txtzOBWn+H3Egvq1XS
62ZUdflM5DshmQxRacL5ZPGe1Vu3cs48LBTqDdAD+HznQ9Vq8wabyth4Vm4lX9HA2qoDiHKLeBj5
Ufy3iZlgPX/lnOQzibk8mk5vfek/eINVZ8cVgJvzMufyh8XqRgrPL4VkCyTFBn67JMnAjSg+iQyJ
4vsvWemmHJslNJm5ys2i+v6c24VCqjJqXgRsfTzm8I6z18xPnn6SXcRnaugbMhPDw3KIZYgFpWV0
Uy1eUlRiyhu9sR2Y7yKestg56PYAAoFAIBCINoLggrO4KsFjtnvZdvc1+w6oQU1mZOCsrf/WfTeG
pKju0PJI32XBf+2e63VhEQjL04573AjJqsqLjStcM2F69/LVa31GnPwzMXkdAHyI4wjEIK5OWDtr
RcFmt6Vefu4MAGHV62e3MrmYFHURIMwPcl2qtn3DOh//NcBJu+0/efN/DTcl4OfF3M2b5kiLuffN
l+BVey0crVFw9Vqq1K+sUlMo5jz/c+bi3HUrli3bPk8FQFSdFR0Uce7zkoBIhjAv0HW14S6P3338
/wAAQVVO4h32BwwAGAqKdN0ha7zn6ckDgKA4I85vpXdYIUZ+lOB1sKOrxj73+SfOrlIAEPM579Me
Z3Gl276Bn+HnGdjHe4HfYXus8tVxj1uh2QKM3BoE7ZIkAzei+BiJDEnaMRUrd+9Z+gxhASt8uavf
1VJprEEgQ5gftNyhaPGKtbNcAn5TBgBuYcrZzXcukiwJABSNrbrR8w+9+QjKJtbGwszE92g9gEAg
EAgEou2g9VU2a5WK5Lt6XrnoWe3Tf+75bJG8jr6esqD8fRlP6t3DWgN1a++MIKszM+zXJbflAxzt
REaL0x7axez0W8xDj/IVI8ff/R53N0MgEAgEAoGQBa22e7Eg57BnwPSw9bf2M529/3tSUEbTUWDS
eKJ2tC+v2mCH4eoF4SEZbTsRbycyWpxWahdNUa9HF12lxi/JYIKi1znFMq0bgUAgEAgE4ruk1ZYE
IK5JOjrWofqQ78qbEWsAACou2/68LZbCV+VlA02jj9PPKu/O3Uxv06l4O5HR4rRauxS7LbwWPscI
p6TkyIzJnhWyrR2BQCAQCATiO6TVHhz6Al1Vz9BAWVReWFzOl/jUNwKBQCAQCAQCgZApbbAkQCAQ
CAQCgUAgEO2H1tgiFoFAIBAIBAKBQLRb2t+SQMF0otcWF1vddqSMrm65dNNGD0ulthaC+J5AYYNA
IL5TGDoj9pw+eXioyg9W13dHO5wRtSHIGjKm5Q1LU+lkNdHWUpfadrIACmZT186z7ancti6Xs1h5
hZu8b4IGDQDoGr0XLZhpa9h672LjymhH0NRHbbtamRKypVfjPaeloUntIo6o5spoEk0O7NYOGzJr
NLdXNhu60exgLptV9+/2WLW20iEJaoZqafPK0JUkXa+9ZpuW5HuJw3qa4pTmhs1XddGUTX4e2tdM
rekDMb4MMstLXVd7DVFZ5l5Zzoik7w6NLU/SLhkON+1jfigl3122AVksCeQtnHzDttuZyjUqoSlb
TPO8HRnHZbPKogJ8JxpLv1duU6Fr9F3lH5aXyeJmRiYcXDBMs4ntlDedOdWk5lF4THWbfiS1ncho
DF3JpHtHOcXOPfXkqRzetHYRR1QzZTQNYhkUoevbH6947m2jCgo9lqdkXN3UvXmtILNGi4tvKljx
nfUDJ8+2XnIyq60kSAU1Q7W0eWXnSpKu126zTUvyvcThZ5rklGaGTUsFAL6MlrB8uw3Rdp17SZDa
KTiWJ2lXe25yayKzbENT7D7dm81++E9/KZ9BoCn/NM771NUiNovLjssI3bK4pwrBnLj1LnwzTKb5
RPiYR+31tIkqUu475+89R8X5s9e/+CCDqowW/n1sl+VL/z/dn0A/9y3u1w9xrBaGv5V6XzSFLuMd
Tbh3tyVJ3ChZprQTGTiIioKdp700rX31ksqGXy3WrubJaGtU+9lZYEnnkrkMg0EjTCue3n9HtuGx
ZNq3NYRVeWlVwOT0k0GH/+GQmStJul77zTYtyvcVh01zSvtOy823fPsN0fade0mQ0int1/LtGxlk
G6Zu7/HubitW/2wAUCnlMTTV/r7B3o75p1f8dpvN6Pbruk0HTyu8Hb3pPo476XP2HzmVFBtdWXd3
I/Gke9dPKzt5w5Gbj17KZ7O4mZFPjywbb/hlxUdUpDJgex47LmqeLug5RqXU3S6JCR6mAgCg2n/z
n8PLAt0XHYtMeJUeGeq3JbHDAidL1TrB3aYcPH+ngs3ipt+7527RUCBBXQq9VxxNS2Jx2fEZ53cd
PXG1mJ34Lnz9pA4MAFDs4bBusPjuhrWbLkXduOQ/d2OMeMgS5waXYBl6NscinlVH7pyih7tSkjef
MsGUE32S9VX3Hv7XtTI2i8uOST212t5IojXIFAIAU6e/294zWWksLvvZ22u+awZrNbrJ9q0MBXPX
l+zooCHKdT+q2wZw2RfcTOpWdXT1/zkcu3CrhM3islmc5PtxO4Zp0SQfZWjnnfT8GZfN4rLj2Re8
nHvVrx3pWv1xY+PTvbBq1pVH/928NObbe2EkYUNsXkIZxBElQQYRdB1r3+DLb+pOlX7/if/iX/Tq
l8UUZNQ1yGCMy877Dx/XsFlcdmJR5NF15l+CDSdsFHvtfcLisqMujlZSHL43N/NZ2hZzus70Bw/W
D5B040zeYMTGf8LeZbC4bBbnxe2nQX+M0aaTW0OCeGJTEVmDxIak5iWsSN8+sJp928fy8z13Nevz
yazMDRayuYtI2FNIDUU1NoiRhSupZTaiIuK+TGhD0iJSaxDXRZCIgDR9SeiVREiRlnHVE9ZFbXSo
Py+OU2SVAUhiA4CuMWJdWNWrsJ0D1ekqQ88nsx7P7tAwwrTGB1Yl7bFRoZiWCesiU8gwnnKggB1x
clzd8yl0/XE+eezbB4dp1B1F5Eq6jrXPqQsZifFcNovLjk4J+mNqR6luz7Zi7iWbEeG3i6Y17UQC
N27zkPqrxvLdtjxklR8frUMjs4Z0fBsbJO0iLpIy5qW3BvkJSZMDAeTjF4UpMRXIXanQdaWPuy03
fL57eIHUp1Ts8st4vfKQ3UdCE9Kfx17duv1qiYaVTUdckUyH323h1K6/NrBLq0VymtrMV+9rAYCm
MWhPmP8S0d3Nq/en0XrM83C9FKY9cdKuyCoxSdGHVP9R40OsXI8EDY9buPDfFD4AiKryeQCg2nv6
ZM3XvmEZPI3ebl6eq2wtDBQB0n/SYcTztH45GuI1pfzGJvc72XKmtnOW/a/eOIR1MfX7WHUuCJi+
MWvSAZ9FNScd5ufO2L/1kOuth1tSda0GdYJXXs9VXc5e9lI88Yv7nRTYNqqPNiO9sO4+gYKx9Thj
BgOGjekkf6Xk47c2Uej66yTDqgivp1/nxrwHRzfczuVp93PdtPjcocLeDiE5QmoKk3kqfXaEBC4V
XN7otj+Ro2uzxHP7yb1VY38PzBNJlIGPkuVfgZ4z3gS5OUVmcugahp1/Er3lSl7QYxWp13es+y+/
5ANdu9f8DesPBPCTR++O5wEAQ38ofmwU3/Kweq4kp28XHLT4m9ORxAZpuwhlEEcURiKDBLqy6ahB
natObFgSVaFgPGjpGtdrF3TH2/s+rhZTkgHA0HfYH3piLPb4bMDSuJwCnpyekWp2gbC+Rpyw4Wds
nzrhcCf78NDfUlYs2MjuvPX8gcGhi+3PsN+T7uNGUx/oG3rQmR6xY92h+FIw+mXdv/OHWqgevFcu
JLEGmXgyCK1BYkNS8xJWVJpw4zlsGTfCaHPKawGAUpcRA5VqHkXkNuqZLQFxTyE1FKXYIEZGrqSW
2XCLyPoySbahlIhI8wZhIiJLX5J6Jb4MadJyY4jrojY6fLmg2NgpsssAJLHB0BnreTRsTq3/wmVe
T6sxhYrsCnEvI3U5KKHpdOzIKM0pFmoZaUD5i5JaimmZsC4yhaK8a1vnDgi96uedkLk84OPYf3zG
lAUu3BBbhZG6kq5sajPMTHDaa1ZkCV1/wIqNTsFHyvrOOMWuJdPVmrmXoUs8IyJsV9WTcJZwhPU0
M4W4FD4AyJvYzOhU+8SPVSGmGtiElidrF3GRklQx3wRrkHcikrkNISTjF7UpsVTm/QYxmSuBn+Fl
N2arWKxkudZb6lMKSrPfibV/mdBL80ViJabw05DeOpyX0e9xI54JwMu6GHbrIfcryxjbrVxi8Gan
3eZ9bAFAdESmXK/rLlsnHH98vtiIsKhQ9LEsK7tGs6IWaiteZ+e8+jIkyRn3s1CrehFfojlj/9Hd
PSNdF3mDa8BhPXkmjWFi5zxNg71hppf/GyHA40c1I52PaEqSwQEAcUVmQmKsKJXvpJURGxfNfbZu
lnknVdorbWNN4CYXClT6dlJVVTBW56e/50FfY3U5+LQk+JB8ZMFOzhha7KEknFmHUg/7mQZVNy98
ewvwzcMb4ZEcgPh0tZEvN9kN1w7NKQZKClO17Fav6JjgYrMjpBgDgIRM8fAYX+fRBkGn8oWSZOAj
p2msDhXsxAexSUUigCSWNAcBwMfc6Iu5df9NSaUNn31sgLUBM/71ZxU4sQFCTkEmB5i8kkadi8Rf
hfW5B7ddRDLEhBFFIkMyBYnR92M4AHEPX4qfXnbyGhc09kKRiJIMFSsX37Gqcdun2J/Jw33uBy9s
hNUlhVhXU0Ms98CL3Pfi3maa3KS4jDclXLwT1EPvON51iVHeHntP73QBAKgrzYf5mhKtQSKeHPLY
wLUhuXmJEJXEnU0G/4kjTP59nSWU6zRssIEg6b90ae610pVUVRQYNAAQi/g1NXyRxCLinkJuKAqx
QSJbRq6kltnwikj7Mkm2oZKIpMgbeIkIiJ0isVfiyjCSIi03hrguauNX8ofPE4nGTpFdBiCKDZqS
2eKDvgcGZXjOWv9PGlcMALWlaSXiRZ215Og6kw9fCVT1+9/UcD1TLawwq6gWhALqaRmnLnKFWNXD
Xat39T27N2Bbr0qbMe+OWB9MrhEDuSvrDs2Pf3jzMQcgPkVpWNqWcSN0z7ALSDZObc3cSzYjImlX
afzlaOGuKXZdtqakfwT5bpMmm/FiNsVUYEDvSCmw62lseZJ2kTdZYsw3xRoSTihhbkMM3vhVQjzv
JZ0SS2HeRmDErgQAEIubvNIQvb/usmXIjR2BaYMjr781mvJz7T7nnXcqcc+DfytFqevQLlDy9MHn
FMfPfRJRAhaDTZTIikiQ0+uiDeV55aoDloxUenbgwOmnWTkVdWsURdNBJlDCiils7Cqp6sIwMdDo
NBBjQgzodFr9TWpe2qbJEyzGecc2nlqIyqJO+W8KSsCbpyhaTrc1rIw6lUw0PxOV5uTzQN1Yg0FV
oaKZtRlDflDgk8S6V9FrEnxtmKD3k3aDGzkSZXxNdZzn9geY46GcmHPnNsyxM1OV7rYgo8PQhcdD
r71LSax5+ejF7iHyIK8iR/mVc2msgduulpXRBHg5kfdLaL2G1SmkIINp1K+vLqQF3X4vaebRMGwA
gKnfq5ta2cv0akypcz8zWn6s5Gviil2HdaWVxd9+07xXDqRFWmt8bUNpi75CVHQj+Lmo++SJxkxg
aA8d3Vn4/HqcNG8QKvU9GPko/1lU/rOo9xF/DlaSoqhd9BSZuZJiZmtcRNqXSWxIxbzUxhQgdor0
vfIrI0iRlhtDUlfzxi8cp8guAxDGxvBdJw6OKdns+Mff9XN0jPs2m6PayVBdp/9vlnToPn6UvkrH
rmoV7Hwp7kuTgVOXJIViXvqelXsTjMc79SnwXnMq5dOsXHpXispy8j+AqqGEOG3N3EsyIyJrF1Ya
e+wxv9PECRaKAApdf5tmXHkvJKpCTDWwv1TatKmIFBDHPE7txNYgP2ELZOwG41eLT4nJIHYlVRhK
HTt3VC16EnDpRSkmEin1nO0w3ATf/SQP+n7tKJqURQTnUlKVh9qPmKq+Lv1DWj634YAlxsRAo9OJ
ziKpLjEmEmIN1/fC8rxKUNE3UKYLSwtzAeh6HYyUoCKvmvTG4GeUzOeN1y29d4VFco1SVCsCOqNe
WJMV0mh0GpTfmL/oxMsvD4qIayvff5kV4soQYxjQ5Rm4luJnnPewvGdhN2WS47SlF5zcEgNWTfOL
LxORHSXX2fFi0KouTwLWuDxKr6QZDP8jdK0ucbO/bhRRc8mtgdcumciQ+ngMgEajUZYhxsQAYqku
BtSHjWLP3beC3YwBwCwyxaGucE/Esz35wSPH700kXBrQGHIMwGqFxJmhudZoQBOs0cCGTSj6Cqwo
8txd3l6nSSbHznWd1VOcsPl5Gck1u3r4mXtcXM4p0AAA4xel8qUpIu4pxDQnRPFoVVd+giSzERUR
9mUSG1IxL2ldhJA4pQm9sqECiWkZDwl1NXl0+AyOU2QWNsSxwb4cXmk/fdu+5S8WHoz8dJmS/zap
ABvS7X8jzSwzT/ozZ839xTzaAN5eKqg3FDUZeHVJVMjsOHhET4ZYBKYO03se8nnBEQO5K7+d+4tF
GNDIp6Wt3GGJZ0SkISquigx6UHnKboHFETZz9m9GxedOJVVLPEoi0syImghhzOP/Men8kOCELZOx
vxm/WnJKTF4vkSspojrwj9NLlA7Y/eHDFsCpM3tCPRNObfK5/tjxYeMLb/irJl52bA7oDhzd6dNr
Nwom1qP0ID0+l0dW9Kk1/A8CUNL6etUt5nNrQVFNnldWBYraqsyv6orJBt0hdl0af9BXYl0AwI1Y
OVzz1zulX1qGFb9IeAfmswfWfXmUrjtwnCUURCSVf8naDJ2R8912Lhyk3+jSgGqvKfY65Vcvpdfg
GqZlFPKynmSLta0GMAszsnJeffr3OruUX/8nuDKEVYUVoNTVTItoHScoS798Yo+j/diBPjn9nT2d
TJjkRyn+NNSSnvevT2BoTGpyWkpMUoH0T2+LBdyPAGo6yg1MKNkauO2SJAM3okhkNAE5wwEj9YD9
LO8jRRnCwhcpZWA+f3RT3ifiZ+1zXnOqBHJPrxoyYZ5rrECcus/Wbka/BSdfkr1LwH+XXAB6/YZ2
IFzHE1uDzIa4SB8bDW0osQir5dcCKKsrfpN4sPLY/VfKuv3qYGM9aRCwTjwqlWo+h9VkJiZExMRH
xMRHJb756tFjkiKCngIARIZqTojiITNXUspseEWS+zKxDcmK8BRKk0VxIHaK5F6JF4eS0zKeeJK6
qI0On8BziqzChiQ2CqP8J0zeEq694Pp5D1vtOmth5ZkZVXrDnBf3SD8Tdiw4u+f8XyfrVz7P4tR3
MpK0TJQBCOoiV0hTtXQ+v61/8l8OgzbHGy3eu+fnukFfCleSgOPl1sy9ZDMi0naJqxPPBuXrOC4e
6+AyXufV2WNpH6U4CoDUKcSxQdIu8iYTxjx+ciC0BtkJmzO3qafB+NWcKTGZeQkyNpErpQDnhAxt
s+7atfmpxXX3MbCKl7HpIkWTjrj+wY9wLO/moePLj236d6fQ70Yao/vcP1y6FV6ceKtIBGLiojpq
85OyeC4229ym+ESXMvU7q724FJxV+z6jBGy7G/GuXUqFHU525o+v0uj1dR0OXH7MI+gg0y80Mo+v
PbADgECSDGUSm3zMCNsT73hwt6+X0ulY6LtqyzBa/M6AzC+3/JR7Lz29eaYeTNVMtnN93tDWKlaz
bHRL7p5Jk/JJSGoKsfybB/5xOe52JlDr75Ab6WW1SnrdjKoun4l8JySTISpNOJ8s3rN661bOmYeF
Qr0BegCf73yoWm3eYFMZG8/KreQrGlhbdQBRbhEPIz+K/zYxE6znr5yTfCYxl0fT6a0v/TdesOrs
uAJwc17mXP4n4v4HAAAgAElEQVSwWN1I4fmlkGyBpNjAb5ckGbgRxSeRIVF8/yUr3ZRjs4QmM1e5
WVTfn3O7UEhVRs2LgK2Pxxzecfaa+cnTT7KL+EwNfUNmYnhYDrEMsaC0jG6qxUuKSkx5oze2A/Nd
xFMWO0dSpxe+vhr0wHXbzn82iP6OeMs0HulgAfDVVweIrUFmQ1wkxgauDZnERZ8Ucl4nlcHChYvm
VcZxNA2Yz//7bKgPT08Gpzm6BW4DeoLnA6nuEVCCuKcAAJGhmhOieMjKlZQyG24RSWYjtaEE8+Iq
JK2LGBKnSOyVuHEoKS3jm5ekLmrjF7FTZBQ25KOemPfm2u+zBXDJ+9KJatu5x57WiHlvn7HlptgZ
P/o1sugdMzRx6y4besKOBt9QJknLxBkAvy4ShTS1fl6Hfu/0wLP/GXYBbFkxKvzknvXXx2+8XiZx
hCUDz8utmXvJZkQS2sXPDAhMWbnV6yDwbrvdzPnUWMnWIHYKSWyQtAu3iJrlSaxBRnPmNnjjV3Om
xGQxT5ix8V0JADRFvc5ddeSUTLUVQE6ns9n/uDUVb9/mf86xeCcUFSfGZMs57fWaIzyZ8E6sP8rJ
YzTjre/TUrzeQLDoFVcleMx2L9vuvmbfATWoyYwMnLX137oXqEmK6g4tj/RdFvzX7rleFxaBsDzt
uMeNkKyqvNi4wjUTpncvX73WZ8TJPxOT1wHAhziOQAzi6oS1s1YUbHZb6uXnzgAQVr1+diuTi0lR
FwHC/CDXpWrbN6zz8V8DnLTb/pM3/9dwUwJ+XszdvGmOtJh733wJXrXXwtEaBVevpUr9bhQ1hWLO
8z9nLs5dt2LZsu3zVABE1VnRQRHnPndRIhnCvEDX1Ya7PH738f8DAARVOYl32B8wAGAoKNJ1h6zx
nqcnDwCC4ow4v5XeYYUY+VGC18GOrhr73OefOLtKAUDM57xPe5zFle5+Oz/DzzOwj/cCv8P2WOWr
4x63QrMFGLk1CNolSQZuRPExEhmStGMqVu7es/QZwgJW+HJXv6ul0liDQIYwP2i5Q9HiFWtnuQT8
pgwA3MKUs5vvXCRZEgAoGlt1o+cfevMRlE2sjYWZiVLdwxUWXJ8/T23/tsU+B6fRhaVpb+gAYlHD
l40IrUFqQzwkxgauDSUWAS9118ZzPXc4/nPEUVSRfsLjzsWcT/4SvPnP6/bisPHiiydiSmS2IiDr
KQBEhmpWiOIhI1dSyWwERSSZjcSGksyLr5BaFiVzCnGv/CQFNw7J0zKReUnqojZ+ETtFJmEjxahX
W3BnuZOR2VW3i17p/ddFlVZlRueBWezphxVijBZ94A7HxiIulSONDHzLk9WFESikqQxy27FM9e6v
W+8ViACgOHz7Xqd7Ww+suhC19TlHkitJwPVya+ZeshmRhHaJ3l49csH9H8easJ0RXy6rSDqKOC2T
xQZJu3CLJJsePzkQW4OE5sxtcMevZkyJyUY9woxN4EoAeQvno9FO+nU/TPI5PQm4F+aNXRj3gcSG
H9OPTnVj7F+9PPzSWgCsIifOf+Vu71e4UxRaX2UzaazUbOS7el656Fnt03/u+WyRvI6+nrKg/H0Z
j9Ib2bJC3do7I8jqzAz7dcmkH4P8/yGjxWkP7WJ2+i3moUf5ipHj735ne8o0gtHFKSRlfcVvQ5Ze
xv90gKwgsWHzzCvXY9n5BIfoUeP3s2Ty/dF2i8xdSdL12kOvRHyDdE5pmbBp/wHQ/hS2We5tZdqf
5WXLDzQ9oEyr7V4syDnsGTA9bP2t/Uxn7/+eFJTRdBSYNJ6oHXUotcEOw9ULwkMy2jb624mMFqeV
2kVT1OvRRVep8VN7mKDodU6xTOuWNcrmTnMsOVlvC7k07W4/r1rdrSZqfSynHXUhStDVTHuaq9G0
+szeu0r78srTyf8f1gOt6kqSrvejZpvvGmKntHzYtP8AaB8Kf8zcS077sHyL8iNPD1qGVlsSgLgm
6ehYh+pDvitvRqwBAKi4bPvztlgKny+WDTSNPk4/q7w7dzO9TeO/nchocVqtXYrdFl4Ln2OEU1Jy
ZMZkzwrZ1i5TmJpdR0xdPq2HpjwAxsl7cuWvCXvuS3jg+jtAsfeSPXcdDLCK9PNev6++L/njND8A
relKkq73o2ab7xoSp7R42LT/AGgnCn/Q3EtGO7F8y/IDTw9aiFZ7cOgLdFU9QwNlUXlhcTnZA3UI
BAKBQCAQCASiFWiDJQECgUAgEAgEAoFoP7TGFrEIBAKBQCAQCASi3YKWBIiWg65uuXTTRg9Lyjt5
IxDfGQydEXtOnzw8VOUHqwuBaA+gMYUEBdOJXltcbHXRNA7RUtABmHrjVvsnJiRw2axq1u2Yw/N6
kuwT9wmaSieribaWutJuyEc3mh3MZbPq/t0eq9Y80bKEYex2g8W9MqvTt01rapN/AJrcZLpG70UL
ZtoaUnppndDyJALVR227WpkSsqVX45Btpr/kLFZe4Sbvm6DReG9ykqIfhu+nw36iKU5pbth8VRdN
2eTnoX3N1Jo+KuPLILO81HW11xClbHkKyaH9Q2YNssNaZSRqLxlAwphC0YZtTsuYV8Fs6tp5tj2V
PyeEVrVGS8fh9+rKHww6XX/89pDl/YvPb5syZ7H96n1H7qeWSN5TQt7CyTdsu50p0X7x34IV31k/
cPJs6yUnpdjDrm0RfqgFEApqv/28WFOb/APQyk0msjwxdCWT7h3lFDv31JNvVNY88fKmM6ea1DwK
j6lupIak6MfhO+qwANBEpzQzbFoqAPBltITl222IUrd805MDgQL96ae57PibMw0+zTGVBwaxnkfN
aIsLrWTWIKF10vJ3kgEo2rDNkY15W9UaLR2H36srfzCYch37dlEou73tyI04WX4PVFiVl1YFTE6/
DzKspCUQ8cq4YlFt5Qf0MaRWhoLlRUXBztNemta+etnCG4sodBnvaMK9uy2p8U6jJEU/Et9NhwWA
pjqleWHTYgFAIKP5lm+/IUrZ8i2cluV/9nQf82DDrYo2zfIyS18twveRAdq3DUmQiXm/W2sAfOfi
fxzocY8XdACdGQ+S6+5hhf/xU93VE7qhnXfS82dcNovLjmdf8HLupVJ3HUVlwPY8dlzUPF3Qc4xK
qTsqJniYCvlREmHo2RyLeFYduXOKntTXa+QNxrjsvP/wcQ2bxWUnFkUeXWcuTy6DrmPtc+pCRmI8
l83isqNTgv6Y2vGbJWltaWFlSV5lwzslpE0mFWg4cvPRS/lsFjcz8umRZeMNPy2o6TrWvsGX39Sd
Kv3+E//Fv+h9uTHK1OnvtvdMVhqLy3729prvmsFaDGnF40BaFzUvk1geAGD4X9fK2CwuOyb11Gp7
I+mvIeBYHgDkDUZs/CfsXQaLy2ZxXtx+GvTHGG16/Y3XataVR//dvDTmqxuvEv0lKdjkzadMMOVE
n2Q1zk04RUReBqCr/8/h2IVbJWwWl83iJN+P2zFMiyaxiAySurT6z9l/5FRSbHRl3f3oxJPuXetK
SXslqSuJIApRSeoJ6yJol0LvFUfTklhcdnzG+V1HT1wtZie+C18/qcM3teE5RQZhQ1TXF+gaI9aF
Vb0K2zlQna4y9Hwy6/HsDg0jTGt8YFXSHhsVMhnS0rAuMoUM4ykHCtgRJ8fV3eGn64/zyWPfPjhM
o+6ols02ICvL4ycHoDRwYHx2NG+037JejTM4cf8ig8CGJJYnDwDC5EBuKGq9kmJfJoQk25DkKApj
CrENaVrTTiRw4zYPqX8BQb7bloes8uOjdWgAVL3corFBGZpqtykHz9+pYLO46ffuuVt8/r2EiCKx
PJlCAqeQx2HTBykJ+ZCa5RGUYM5ZeP1I0PC4hQv/TeEDYPyivLqsi1WkXt+x7r/8kg907V7zN6w/
EMBPHr07ngcfUv1HjQ+xcm1wFIiq8nnkR0lEwdh6nDGDAcPGdJK/UiLF/qUMfYf9oSfGYo/PBiyN
yyngyekZqWYXSBBPVza1GWYmOO01K7KErj9gxUan4CNlfWecYtfWn/djxsWju2vfNtydg7TJhNA0
Bu0J818iurt59f40Wo95Hq6XwrQnTtoVWSWmK5uOGtS56sSGJVEVCsaDlq5xvXZBd7y97+NqMU2l
z46QwKWCyxvd9idydG2WeG4/ubdq7O+BeSIpxONAUhdFL5NZHgAg78HRDbdzedr9XDctPneosLdD
SI7kR9HwLU9TH+gbetCZHrFj3aH4UjD6Zd2/84daqB68Vy4svuVh9VxJTt8uOGjxNyeS6C8JwabQ
9ddJhlURXk8bz/oaFZF4GZQs/wr0nPEmyM0pMpND1zDs/JPoLbfuwi1JETFkdQFDf6jD77Zwatdf
G9il1SI5TW3mq/d1kUHcKyW5El8GcYiSHUZcF3G7mPp9rDoXBEzfmDXpgM+impMO83Nn7N96yPXW
wy3JX66uNXaKbMIGt64GDdQZ63k0bE6t/8JlXk+rMYWK7ApxLyN1OSih6XTsyCjNKRZqGWlA+YuS
WoxEhlR8UxeZQlHeta1zB4Re9fNOyFwe8HHsPz5jygIXboitwkhdSS3byMzyOMnhU3ObOnAAAD/r
7x3pB/evW3DW6Z/SBuLJ+hdxk4ltSGJ5sgAgTg4khqLWKyn2ZTJI5gDEOYrKmELcicRVT8JZwhHW
08wU4lL4ACBvYjOjU+0TP1aFmKqXWzo2qBmXofvL0RCvKeU3NrnfyZYztZ2z7H+fSshTCqHlyRQS
O4UsDikNUiTiqVkeQRVmzuuKWqiteJ2d8+rrdPoxN/pibt1/U1Jpw2cfG2BtwIx/LRR/LMvKrtFs
4lEShXxIPrJgJ2cMLfZQklRpXcXKxXesatz2KfZn8gSNSsll5Mc/vPmYAxCfojQsbcu4Ebpn2AX1
oypWHBsW+PXZyJtMAN3YbuUSgzc77TbvYwsAoiMy5Xpdd9k64fjj84V1f1GQGH0/hgMQ9/Cl+Oll
J69xQWMvlBjYrV7RMcHFZkdIMQYACZni4TG+zqMNgk7lSyGeELy6ikSUvExueQB48/BGeCQHID5d
beTLTXbDtUNziqW5Qd/Y8vSO412XGOXtsff0ThcAgLrSfJivWVcm5BRkcoDJK2m8MpPoL/JgU+ph
P9Og6uYFnPuXjYrIvCyS0zRWhwp24oPYpCIRQBLry4lIigghravuT3hZF8NuPeR+eySRlyW6EleG
EXGIkvRz4rpI2sUBAHFFZkJirCiV76SVERsXzX22bpZ5J1Va8ofPI0Jjp8gobPDq+gRNyWzxQd8D
gzI8Z63/J40rBoDa0rQS8aLOWnJ0ncmHrwSq+v1varieqRZWmFVUC0IBoQyJ4NRFrhCrerhr9a6+
Z/cGbOtVaTPm3RHrg8k1YiB3Zd2hTcw2srM8Tlquo6kDR93ZKuKO7UgO3+I6IHhb/eRMiv6F12Sy
7kBoeTJrkCQHYkNR65UU+zI5EuYAeDmK2phCbEOsNP5ytHDXFLsuW1PSP4J8t0mTzXgxm2IqMKB3
ouTllo8NCVbEhWFi5zxNg71hppf/GyHA40c1I52PSO5fn8CxPJlCBWKnkMQhtUGKWDw1yyMoQ3iv
ldFh6MLjodfepSTWvHz0YvcQeZBXkZN4Z5baUQAAICqLOuW/KShBuk3CmUb9+upCWtDt93gZREoZ
orKc/A+gaqgqi283KHUd2gVKnj743Jv4uU8iSsBisEnjr6nxciLvl9B6DTNRAkUzazOG/KDAJ4l1
3yKoSfC1YYLeT9qNbpVRFN+gLqDkL3LLf6WwNCefB+rGGpTNq9h1WFdaWfztN1LPV6WELNgULafb
GlZGnUpuNLPGKSL1cnWc5/YHmOOhnJhz5zbMsTNr4CqSIkKaEFFfQ+Rl6V35lRGkDtGGkNQlVbsw
TAw0Og3EmBADOp325SGrxk6RWdgQx8bwXScOjinZ7PjH3/VzdIz7Npuj2slQXaf/b5Z06D5+lL5K
x65qFex8ibeDyMGpS5JCMS99z8q9CcbjnfoUeK85lfJp4G3xbCM7yxPTtIHjM8L3533CP05cOdek
vq3U+pcEGxJYnhQqyYFar6R2FDntYkzBSmOPPeZ3mjjBQhFAoetv04wr74VEVYipelkmsdF0FE0H
mUAJK6aQ8npNeoXURgfKg1SrnRBBDsGnveQ6O14MWtXlScAal0fplTSD4X+ErtWVeDJqR1FDjIkB
xLijQBNkiEUY0BrOL1qYr89MWI0YMAAajQZAo9FpUH5j/qITL7/cIxfXVr7/CPBtFqQm/ktdFP1F
YvlvEdWKgM6gbl4aQ44BWK2QeAr1uaTlPKhkPm+8bum9K6zGr30RFRF6mZ9x3sPynoXdlEmO05Ze
cHJLDFg1zS++TEReRIqUEdUAEi83wZUNFRCHKAkS6pLULjEmEmJ416dxnCKzsCGODfbl8Er76dv2
LX+x8GDkp5dW+W+TCrAh3f430swy86Q/c9bcX8yjDeDtpYJ6Q1GTgVeXRIXMjoNH9GSIRWDqML3n
IZ8XHDHIINu0RYelCjfl9O7k/zY69Upq+Nsm9y+J3QHX8p//Dr8eCsmBWq+k2JdJaP0xBd+G4qrI
oAeVp+wWWBxhM2f/ZlR87lRSdX1p07MopaNa3rxiTAw0Op247ib2LzKFlEaHT2f96iepjyMUT/WE
iKZDsHpX/GmoJT3vX5/A0JjU5LSUmKSCr4NYzP8gACWtby5fSDoKsFp+LYCyuiJOtQydkfPddi4c
pC/VNWVh4YuUMjCfPxrnTROJMiiB32RieNmxOaA7cHSnT+9IKZhYj9KD9PjcxteJ5AwHjNQD9rO8
j8DLepIt1rYawCzMyMp59enf6+xSfks9N9egLmpeJrN8S8N/l1wAev2GdiDc6EAs4H4EUNNRbuQW
Un8RB5tqryn2OuVXL6XXNDoIr0iylwVl6ZdP7HG0HzvQJ6e/s6eTyZe2kBThKWxCRDWE2MuSXYnX
YaUIURzxJHVJ0y5uxMrhmr/eKW3UDfCcIquwIYmNwij/CZO3hGsvuH7ew1a7zlpYeWZGld4w58U9
0s+EHQvO7jn/18n6lc+zOPWzeGIZZKkSry5yhTRVS+fz2/on/+UwaHO80eK9e37WpANI5UoScLws
sw7bNBnSISq8uO8GzX7Bz6p1cwxq/YvchkSW/wRJABAnB1xDUXOl5KPIhmw8KA2+zRpTCGwork48
G5Sv47h4rIPLeJ1XZ4+l1Qmh6GUZxAZAk83Ly47JBt0hdl0Iv9xPElFNVCjRKfhxSG2QIhbfrBMi
mg5B6ua/TcwE6/kr5ySfSczl0XR66yt+VV6bn5TFc7HZ5jbFJ7qUqd9Z7cWl4Cy+pKMA47xOKoOF
CxfNq4zjaBown/8XlvPpfpBy76WnN8/Ug6mayXauzyWnkZoXAVsfjzm84+w185Onn2QX8Zka+obM
xPCwHIFEGZTAbzLx32N5Nw8dX35s0787hX430hjd5/7h0q3w4sRbRaLPVu+/ZKWbcmyW0GTmKjeL
6vtzbhcKAcu/eeAfl+NuZwK1/g65kV5Wq6TXzajq8pnId827VYhXF0Uvk1i+WRJxEL6+GvTAddvO
fzaI/o54yzQe6WABUNDwL7Dq7LgCcHNe5lz+sFjdSOH5pZBsAYn4uqOIg03FapaNbsndM2mNEw5u
EZmXQdVq8wabyth4Vm4lX9HA2qoDiHKLeBiQFxEqJK2LGBIvS3QlboeVGKK45iWpi7hdyqQtI3KK
jMKGJDYAQMx7c+332QK45H3pRLXt3GNPa8S8t8/YclPsjB/9Gln0jhmauHWXDT1hxzuBFDLIUiVu
XSQKaWr9vA793umBZ/8z7ALYsmJU+Mk966+P33i9rFnZBs/LsuqwTZQhLTWs04fYM3aZf5JGqX+R
2ZDE8mTWkJAc8A1FyZWSA4A0DnGgNvg2Z0whjCh+ZkBgysqtXgeBd9vt5udPXFD0covHxqe/aJp5
sbybhwOXH/MIOsj0C43M42sP7ADw1d+TpJSmKpTkFPw4pDZIkYhvzgkRTYdgSSB4HezoqrHPff6J
s6sUAMR8zvu0x1ncei+IyyN9lwX/tXuu14VFICxPO+5xIySLL+koAF7qro3neu5w/OeIo6gi/YTH
nYs5gk932fNi7uZNc6TF3Hsn3cxSmB+03KFo8Yq1s1wCflMGAG5hytnNdy7mCCTLoAJ+k0letRNX
JXjMdi/b7r5m3wE1qMmMDJy19d+Gr8ljKlbu3rP0GcICVvhyV7+rpRgAiDnP/5y5OHfdimXLts9T
ARBVZ0UHRZxr7pIAty5qXsaILd8siXgIC67Pn6e2f9tin4PT6MLStDd0ALFI3ODKFz/DzzOwj/cC
v8P2WOWr4x63QrPrIorMX4TBptpr4WiNgqvXUhvP+giKSLzMUFCk6w5Z4z1PTx4ABMUZcX4rvcMK
MfIiIFYoMaJwIfMysSs/ScHtsJJCFN+8JHVRaheJU2QSNiSx8ZnagjvLnYzMrrpd9Ervvy6qtCoz
Og/MYk8/rBBjtOgDdzg2FnGpHGlk4FuerC6MQCFNZZDbjmWqd3/deq9ABADF4dv3Ot3bemDVhait
zznNyDa4XpZRh22qDGkR5gUfitr49891P1HrX4QZW0RqeTGhNWgSkgOBoSi5UvJwQzxk40Jx8G3O
mEIYUaK3V49ccP/HsSZsZ0TZF/NR83LLxgZV84qrE9bOWlGw2W2pl587A0BY9frZrUxugyNIUkpT
FUoYHQjikHIyJxLfnBMimgytr7JZW2v4/wez028xDz3KV4wcf1fmu3K0Zl0yhtHFKSRlfcVvQ5Ze
rpRJRlC39s4Isjozw35d8reXJ0mKEG2FdE5pmbBp/wHQ/hTKvMMiEAgEouUgfOYTgWgHKJs7zbHk
ZL0t5NK0u/28anW3mqj1sRwZTS/UBjsMVy8ID8loPKMiKUK0FcROafmwaf8B0D4UtmqHRSAQCEQL
gpYEiHYMU7PriKnLp/XQlAfAOHlPrvw1Yc99GT1FSNPo4/SzyrtzN9MbzalIihBtBYlTWjxs2n8A
tBOFrdlhEQgEAtGioAeHEIjvAxaXTVRkpdKtNZUgEAgEAoH4wZDy02IIBAKBQCAQCATixwQtCRAI
BAKBQCAQiP/XtL8lgYLpRK8tLra67UgZXd1y6aaNHpZoC21EE0Bhg0AgEAgE4juh5SfeNJVOVhNt
LXWbupfkZxTMpq6dZ9tTuW2XBHIWK69wk/dN0KABAF2j96IFM20NW/9d7K9ktCNo6qO2Xa1MCdnS
i3AbRVKa1C7iiGqujCbR5MBuu7BBIBAIBAKBaBItP/GWt3DyDdtuZ9p4F2yassU0z9uRcVw2qywq
wHeicUtsKowPXaPvKv+wvEwWNzMy4eCCYZpNbKe86cypJjWPwmOq2/Tzee1ERmPoSibdO8opdu6p
J0/l8Ka1iziimimjaRDLoAhd3/54xXNvG1VQ6LE8JePqpu6t0AoEAoFAIBCIxrTeFUyGyTSfCB/z
qL2eNlFFyv/X3n3GRXH0cQD/XwEOODon5UHsEUMs2BViNGIjirFCjA2VYEHEgIgoih1QFIJ5REFF
EREVG1HsoHTkPHpbQEXK0et63nG3+7xAAfUK4VE0+cz34wth3Z3fjPNiZndmd8SSPw8FkGWLt6a9
/gxF6a/888SBodl+2xzjYaTjTse//JtNVl592eV34Sn0n2ltiN/bnf5lv5H3lcQQQ1QZajsvu29r
XnZ3Pn/2yer1/8X40pgjLYYQ6RcycJru2O/71j990I3PryIIgiAIgnwC1CVHj59NT4xrwDg4xsHZ
ZxwHvL0LKq83yT0gogzj4AUxT4+vm6nXcXdU0iHl0XtKsaTHy7SBZf04k4NjHBxLCJ2oDADAHOW+
zaw2yHHViZiUvNyYcJ+d7F4rbIYyAQAozEFz/7h4tx7j4Ln37zsO6RxQQlkKwzYE5KRzcCw5/+KB
gNM3qzD2q6tbZ/eiAQBjsJXLOPKe25YdEY9vRfgt3Z5Ajl9j2+kWLI015UR0alPMvrkssU8P5I3m
zurbHHeG895A02x/ZC3GwbGErLObLfVltoa0hABA1xrlcDikMIeDY6kvI72dxml8tCDlwxgKRvbZ
WFzweKW2H1XNA3HssoNh26yOqvqd1YnLUdUYB8c4zRkPkvZO1KDIPkvPwjP9WSqOcXAsGbvsYWus
/K5FqBqjxPYNqv7iUBzjNHFuPLl2O2KayoehJXcbyc0rMYbkHiUjhiRULVPv0Osv2i6V+yDeb/WP
rPZpcTditFVId5rdvgePYlswDo6xK2MCXIw6OpuYbsMwPhzPwbHHV6YqMswOlxSk5uw0omrNf/hw
6+jP9+AMQRAEQRBEIrrVb+Zw9sB+N6ymSSSnrknPK28FAIra2EOX/NaI7rlvPppDGbzM2T7ikuZP
sw/ENJJSDr3O8ps8M8zE/niwWdLKlScz+QAgaizjAQBz2Pw56s+9L+Xz1IY5eLhuMh+iywDI7adF
S+Zp/BgQ5jG37tYOx7tFcn3Nl6z77l06yWXRdYab9KkInL+9cLav16qWM1bLSxYc3eVvH/VoZ5a2
ydjekOfxjGl3/roH4/SPjnczYffk4Zq0XG7bcwIFA9MZBjQaTJzWW/5G9ZsP20RhwC+z9RqjPZ6+
f+u59GGA250SnuZI+x2rL/hzh1mFFQu7lzCDpzx8b1jQWsH17Q5H2c3aU9a47jlzuHH6b0GlIpkx
xFMcuj/IdcGLYAebmIJmqppen36il7jse/BEfdZfe12ulVW/pmoaL3fb6hvIz5h6MJkHADSdCeL7
RlWUs8kzRTkdi9Dg1R9cTkrfkFoviTEk9yhCSgwpqEp9J4/t03jabc3jegWDsWud7CMva8+09I5t
IrsVA4CmY3U0/PR0IvZ84Nqk4gqeHEufWVQhbC9RTLfh5+/5edax3pZXw3/N3LBiO9Zn10XfceGr
LUOw8q/1S1gIgiAIgvyr0QF4hVcuRT3CO/+WamCxcY3ui30W7kcwAUBcdIGc8V92u2adir1YpS/x
EFf0poLtKxYAAAiiSURBVLawqEW9vhVa658XFed1DLblDEYOUWlMS65WX3A04OC3MfarPME+8BhL
nk6hGVrYzlPD3BZ6+L0QAsQ+aZlke1xdVoxmACDrC1LYiaIsvo1GfmJSHJ7qssioN5OSp2mgDngG
V6A8ojeTqWCgys8t58EIA1U5eDsleJ1xfMW+5mmURP/0j+YDAIqDLRfqNt6+/OFilBePbl2NaQZI
zlWZlL3DwkwzvLgKupUwS8Ni84b/pNhN2RtWRQBASgFpluBtO1U3+GyZUFYM8eTUDVShHmM/TEyv
FAGkc7pyEgC8KYm7UtL218wsitniE6NNdenJz9+lENM3QNhcUdAMdF4178OLSfn/4rbPdcTWS1IM
UmKPkhJDtgp23IOEZoCkR9nk0+s2HjOCp1+uFHUrhrKJnfd0ZtKeuZYhpWLX/YjrNsKmai4xoK8e
UeKbVlJODhuojqcn5b+oxsVdAEEQBEEQ5HMTv+1WccCE/lD99OG7QQ6/JD66GoaMM1SUdkgKOVZ/
TagrrWOOXjNJMdXX99zTwuL6VgAAYPQdawjVnASu8KOzulQWQZBAoVKAJIQEUKmU9nfY8HJ2zJk1
ZIZn4se7FUS1j8/67QhOqRSzu4AxdL65XsPjsxmSxmeimuIyHqgaqNG6m5Ax0HQgTX5sUDwbxzg4
xmlJ8Z5CB1Y/zU6LbGTGeF9Tkuueh4S1f3HChQtuSywGMrv2XhxarwkrT4VHvspkt2Q/STs4Xh7k
leW6veW8K60htl6fNsbfwCuOeVBNMZ7YlrAbMej6I0doQ07wnXJZ+wA6dxsAoOsYD1Kpzc5tIhT7
jBxIKUssETM7RRAEQRAE6RFSthdT3ntBJKWLhyRcS5EpD61vCKaONvV1ThneeShOEiRQqFRJV5FV
FkmIhATR6RfCutIGUNbRVaIKa7glAFRWL31FqC9tapWdE0DRaNlM7Zr7NzhStj2LWkVApbUH+9sJ
KRQqBepuLV91OrtjoQjZ2lDeMSoUG4MkCKDK08S2FD//ovPQ+0Ms5s62nrf2so0DO3DTPJ/kWpG0
s+T6WF8J3tQ/PtDJ7kluA0XX7PfwLdqSq/1+pSRVV3priKvXZ4nR5fMJAAqF0u0YJEECkF3auN7e
bRjfHowKdTAAgIExmVZtBw9Fpx4qC5008zAbTQ0QBEEQBOlp4u+B8ooSi0F7zNTeb3dJKhiaTmZB
bnIJT9qhNiT/tQAUNd6/TU3y8VZgqMjzahuBocmkv1dWQhFoj7fo//Gr5WWWBQB49EYz9V/u1nQs
Vieq0lJegdHiMW1vHqVqj5kxFCqi0+s6xm00rUnLHfatHKvz0b10pvFcS626mxG5LeLb65Mk5BXG
F5GaJqPp3PzC4ry3f54X1fDb/4nYGMJGbj0oDhioIWkeJ6jNvX76kLXl9DFexaNsXW0M6dLPYvSb
MJRaetIrKDwhKyMnMyG9ouvDUVKAvwFQ0VLq1ISyW0NsvWTFENujpMT4G+T0Rk9iAZZa+qabMYTc
tMxaMFo+Vcw2aon4hUdsnc5WQ8m5TeNnLbNPFJBZR8wtFoxccSYb7SVAEARBEOQLED+6JEpv+59a
f2LHyX1Cn1s5tG+W/m43iHvlp6hKEZCSD7VpLUsv5NlN2e0w1yuuhq7TRyUtIrSwtTy/Gsy/0edF
RmTBXhsLo9ibFGp7WceC1p9wDv6D7hMeU8rXHNMLQCArhpKUOr3Jv3Qo2fqPg94eiucSYcSmnRMp
yfsCCzpWdigNW3vOfSELflbPsLB/1nngp2yyaIp29b2QnC4uUO9eQqLstu9/7U45hARp/Bl2K7e2
VZE1SL/xekjMK6G0GKKalIsZ5KHNu3Y1hzziClmjWQDvnnwwTdzdpjQkJnNKGvgMXVOTXiAqqeQR
0s/iv2QXgOnyjUsyQtglPIrWMJ2uv/CGaCpKqgAH23W2dY+qVPUVnkWEFQlk9Q3x9ZIVQ2yP4kuJ
ITP8qDUbHZQSC4WGCzc5DGl6sOQOV9jdGC1pgbtipx3bez7S6My5+KJKPl1NR4/OvnqpWHIMUlBT
S+2rwUt/zM58wZrei/4q+ikHK0aPBxAEQRAE+UIk3HAmG1OcFzvW7nF0OuKrAi0FMUGLdp1se2+M
lENtp9bFeK8L3X9wqcflVSCsyznlfCussLE0MYnrNGv+N3Wbt3h9f2YbO8MFAF4nNQtIIJtStiza
UOHusNbDx5EGIGx8nhpVgBNdKEsCYVmw/VqVPW4uXn5O0Jxzx2+O+7XOHyXglybcK51nTUm4/8Gb
4JnGK6eqVdyMzOryltXuJSSbn21buLrEZcO6dXuWKQOImgrjgqMvvJsSSIohLA2y36x3wPk3L7/f
AUDQWMy+i70mAICmwKBqj3fyXMaSBwBBVX6Sz0bPS1xC+lmC56HW9mpHHJefPr9JAYDkN5fnxBbi
Xft8Az/fxzVouOcKn2OWREPeKeeo8CIBIb01JNRLVgyxPYpPSIkhKzuhbOLouUiHJqzgXF1v73Oz
piutISGGsCx4vVXl6g1bFtkF/qoEADg387z73StSpgQADAOTQdQy/xdvQMnQ1EBYwC5H8wEEQRAE
Qb4cygilgT1SkPwA1xtXXJu8Ri29WCSS19JhKQnqymt5Xf56WE9QNfXMDzYJWWDpkvElF3B8JTE+
ua+hXvTevyY8cq7bMGnmvX/c1804OCbpkInyoJ5MgiAIgiDIv0yPfb1YUHzMNXD+pa1RR+m2ntfi
K2opWgp0Ck/0FX2XV2WclZlqxdWw/C87EP9KYnxyPVQvCoM1uL+24sebZAhB5fPiqs9aNoIgCIIg
yD9Sj00JgGxJD5hu1eTvvfF2tBMAQP118x92J3bjrfKfB0VtuM0Pyq8u3M79okPxryTGJ9dj9WIM
Whl5dYm+mCPVxxfMca3/vKUjCIIgCIL8A/XYwqEOVCZLT1dJVMetquPLXPWNIAiCIAiCIMhn9T84
PDIDIIVtEgAAAABJRU5ErkJggg==
--14dae9399833adef4a04c08a3670
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--14dae9399833adef4a04c08a3670--


From xen-devel-bounces@lists.xen.org Mon May 21 11:29:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:29:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQnn-0002CU-V5; Mon, 21 May 2012 11:29:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SWQnm-0002CP-3D
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:29:26 +0000
Received: from [85.158.138.51:19707] by server-12.bemta-3.messagelabs.com id
	0C/31-29760-5172ABF4; Mon, 21 May 2012 11:29:25 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337599762!9563463!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13126 invoked from network); 21 May 2012 11:29:24 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:29:24 -0000
Received: by obbwd20 with SMTP id wd20so10959156obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 04:29:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=0U5sUsaFMvWaon8yNgvnKDX1Ob52cGAyMgRzK09AoCM=;
	b=ABXLByZ3fS3OYGpVPHwsnTj+o2bRTigXRtWfwL2Y4QF3fH/DGnhejpsyaGfjoWmChU
	uonlT+quUjVz22q7SxZejsjPCSkRQMP/FAV9K266ADQDKbGeV/ndWn7zHfiH9Bbvogdl
	z4DDINKXQHo0jmqgbvC0vc/BqzPrZordbYyJ0ubjVEBGOaGtzeQwLO0Pi3knTUXEUImr
	YxaozJRXZNzpiiR+qzHsqCQnFz03lPzKQ4z7/i40LYx44rc+x0sHKj32L5bemp7W1LLF
	Rt0luwc+nQ4nJP/ZwwCWrJ1VH4aTTQLKt0zh6/qWA+CBemx1ijV30kswGL7v0FD38fFN
	si9g==
Received: by 10.182.154.73 with SMTP id vm9mr18856477obb.72.1337599762230;
	Mon, 21 May 2012 04:29:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.19.168 with HTTP; Mon, 21 May 2012 04:29:01 -0700 (PDT)
In-Reply-To: <1337597713.24660.52.camel@zakaz.uk.xensource.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
From: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 13:29:01 +0200
Message-ID: <CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Content-Type: multipart/mixed; boundary=14dae9399833adef4a04c08a3670
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--14dae9399833adef4a04c08a3670
Content-Type: text/plain; charset=ISO-8859-1

On 21 May 2012 12:55, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-21 at 11:24 +0100, eva wrote:
>> On 21 May 2012 11:25, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Mon, 2012-05-21 at 10:18 +0100, eva wrote:
>> >> On 21 May 2012 11:02, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> >> > On Mon, 2012-05-21 at 09:55 +0100, eva wrote:
>> >> >> Hello,
>> >> >>
>> >> >> I want to apply this patch:
>> >> >>
>> >> >> http://wiki.xen.org/wiki/Linux_3.0_bugs_impacting_Xen#32-bit_graphic_cards_.28AGP.2C_or_server_ones:_ATI_ES1000.29_can.27t_do_Xorg
>> >> >>
>> >> >> I downloaded the patch from:
>> >> >>
>> >> >> http://darnok.org/xen/vga.patch
>> >> >>
>> >> >> and I did this to apply it:
>> >> >>
>> >> >> patch < vga.patch
>> >> >>
>> >> >> It asks for a file to patch, and it may be obvious, but I don't know
>> >> >> which is the file.
>> >> >
>> >> > Apply it with "patch -p1 < vga.patch" instead and it'll do the right
>> >> > thing.
>> >> >
>> >>
>> >> It says exactly the same thing:
>> >>
>> >> can't find file to patch at input line 22
>> >> Perhaps you used the wrong -p or --strip option?
>> >>
>> >> And then asks me for the file to patch again..
>> >
>> > Are you running this command from the root of a Linux kernel source
>> > tree?
>> >
>> > Ian.
>> >
>> >
>>
>> Ian, do you mean I have to recompile the kernel after applying the patch?
>
> Well, it's a kernel patch, so yes -- obviously!
>
> You seem to be rather unfamiliar with kernels and patching etc. I would
> highly recommend that you consume a suitable kernel direct from your
> distro rather than try to path/build it yourself unless you have some
> pressing need to do so. You don't say which distro you are using but
> many of the popular ones have a Xen dom0 kernel available these days,
> including ones newer than 3.0 which have this patch already applied.
>
> Ian.
>

Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..

and it's a git repository.. And yes, I haven't applied a patch in ages..

So to end this issue with my ATI card, how do I apply this patch with git?

I haven't done it before, and googling it says maybe with "git clone"
or "git apply", but there's no luck with any.. (see attachment)

Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
Kernel 3.2.

--14dae9399833adef4a04c08a3670
Content-Type: image/png; 
	name="Captura de pantalla de 2012-05-21 13:18:42.png"
Content-Disposition: attachment; 
	filename="Captura de pantalla de 2012-05-21 13:18:42.png"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2hg4t5c0

iVBORw0KGgoAAAANSUhEUgAABAYAAADECAIAAACDV7QiAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRT
b2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAIABJREFUeJzsnXdcE0kbx58UOtIRRMSGnuhr
wa54nig29Cxn47wTQeWwIKJiOSuWU8CK3okeqCgiAsLZe0GlK0aKIARQEaTXEGIg5f0jCCjZTQhF
1Of7yR+Eycz8nmeemZ3Znd2lDFA2hjaFQpcpf1obhh3zulco+NJaaqCq9f3DcZrq5YP7EzhfWgvy
1YBhgyDfMzTtH10PLVLydHCIZH9LdX11tMFJxRcEvYEQQ232EikqnUynWPTVocmYX8F4xroFFr2V
m19ZY5AzWXmZHX9wsjoFAKjq/RYtnG3Rgf5lZbQhKGpjdlwpTfDf1kdBpvyNsos4opoqo1E0OrBb
O2zIvNHUXlkPqsFcPzaTIfrcmtCu6SW2CC3oDZLobasdtjn5SgKgjsY0SlPD5pO6KMpGP40YYNyu
8ccy8TLIPC91XW01RFty+GrJSYX03aGh50nsasYR+3PaxhRLSr660eZrp/mjQt7E1j1wp2UXuQYp
FGWTmRtvhUaxmYyiR17uUwwVm73yj1DVB6zyCMxKZbBTQ2OOLByp0Ug75bvMnmFU8TgkolzYMgK/
KhkNoSoZ9ewop9i5t668LNkbZxdxRDVRRuMgliEjVL1pJ0ueu5qrgsIPyxNSrmzp2TQryLzRjOIF
+bc3DPl5rtmS02lNL6zlaDlvkERvm+2wzclXEgC1NKpRmhg2zRUA4mU0h+fbbIi20vDV7EjdKGI8
T2JXWza5NWmx0Yai2PMXVybzwbFBSlJmUO460fXMlTwmg82MSgnYtri3ylexqGokrXfim2Y00+2h
W69H+zeaP8pTHjD/n33HhdlzN7yobIGqDGz+ObGn70uPP53CYaDTNqdrR1mmNiFv+dIWoNBtkpUR
+86OuLIvOmy2ERli4Of52c182aX61UuWDLmbza6myfjSqA60NBHEnY9n0/SH/til5Om9d1VNKq+1
vMEry0oqAzprYAt03eajxbxBEr1tt8M2K19HAHykcY3Stke2pnu+7YboVzuYS9kobdfzbZsWGG3o
Ov0mOTmuWP2TPkCplHkoqoPc/Vytss+u+O0Wk9bj1/VbjpxVeDtuy71vrTmp8w95nomLDCsVXZqJ
Pe3UvWZZKt9h9NbjwdlMBjs19Knnskkd6parREkqg3dmMaMeLdABXatHCaJrPRF+I1UAAFQHbf1z
VJG306IToTGvkkMDDmyLbb/Qtq8qAABFtcf0IxdulzAZ7OS7d51M6gskqEuh34rjSXEMNjM65cKe
46eu5DNj34VsmNqeBgCKP8xbP0x4Z9O6LcGPrgd7/L45Qjh8iV29U7A0XfMTD5+Vh+6erit2mSff
a/rkLqyw04xPxqZRf10tYjLYzIjEM6unGUj0BplCAKBrD3Lc75uWxGAzn7296r52mGaDK4Sfy1Do
5fCSGeYzXFn0Vc3Ci80McjQSreqoav+bdyLoZgGTwWYyWPH3onaN1KRIztXB0jXu+TM2k8FmRjOD
XOz61C58qZqDxMZGzYW8csblx//dCB7/+YU8krAhdi+hDOKIkiCDCKq2mbvfpTeiopLvhXssHqtb
uyyWQYbIIP3x9rvvPXhSwWSwmbF5ocfX96oLNjFho9hnfziDzXx0cZyS4qj9manPkrb1omr/cv/+
hsGSLpzJ6/+4+VjguxQGm8lgvbj11GfNeC0quTckiCetjMQuwkwEAUDVNnM7E5QSG81mMtjMsASf
NTM61pUmRXdoJW/INjgQJRF3B8IOS5pE6g3iugj6MpCOADIGgGxNSVKXbANsbbliGqWlOhFJbABQ
1X9cH1j2KnD3EDWqyogL8Ywnc9vXjzDNSd5lcfvMVWQc2QjrIlNIM5x+OIf58PRE0f4Uqt5Etyzm
rSMj1UW5iJqSvC+T0IrDF9mkQrxdFM2Zp2LYUVuH1541lu+x7QGj+OQ4bQqZN6Tj89ggsYs4ScqY
l94b5AWSDg4EkB5hZZlVygJ5Uyp0X+nmZMEOsXYKyZG6SMVuYyfpFvvv9QyISX4eeWX7zisF6qbm
Hb+9izj0eX9YwJk9f21iFpbz5TS06K/eVwMARX3ovkCPJfw7W1cfSqL8sMDZIThQa8rUPaFlQpKk
ykSPMZP8TR08fUZF2dj8m8AFAH5ZNgcAVPv98rPGa/fAFI56P0eXjassTPQVAZK7atOiOZpjj/u7
TC++vsXpdrpcF4v5y/73UR1xXXS9/qadc7x+2Zw29bDboorT86wzZx3aftTh5oNtiTqmQzvBK5fn
qvbnLrkonhrrdDsBdozpr0VLzhVdJ1AwNJtoSKPByPGd5C8XfPjcJwrdf53aoeyhy9NPB/as+8c3
3crkaA102LL4/NHcfvP8M3iyKYznqPTf5e+9tOrSZsdDsSwd8yUbd57eXzbhD+8svkQZ4lHq+5f3
xllvfBxtQ1NZVPUOnbvy37IlL18FJYnXdq3/L7ugkqrVx3rThsNe3Phxe6M5AEDTGyE+NvJvOps+
V5LTs/TzWfxZcSSxQWoXoQziiBKQyCCBqtxlzNDOZac2LXlUomA4dOlah6tBOpOmuT8pF8okA4Cm
N+9QwKkJgifnvJZGZeRw5HQNVNNzeLU1igkbbsrOGZP/7jQtJOC3hBULNzM7b79weFjA4mm+zPdc
MvEUtSHuAUfsqA93rT8aXQgGY9f/az3CRPXI3WIeiTfIxJMgyS7xCokDgKrcxXykcdVZlzmhBVS9
wSs22/p5Fg2YdYZZDRRpukNreUO2wUFsEll3IOmwMvVl0q5H2JfJRgDZAkCmpiSpS7YBtu6EYsNG
ablORBIbNO0JG48Hzq/2sFnm8rRcoFCSXiLsY6AmBwUU7Y4daYUZ+TxNA3UoflFQLePIRlgXmUJ+
1tXtvw8OuHLANSZ1udeHCcfcxhd522yKLBOQNiVJXyahNYcvmg7xpILQrrLwEAbvR7OZxgpRCVwA
kDcyn9WpOvwAo0Qoa2ATep7MLuIkJalivhHeIO9EJNMDQkiOsLLNKqVy72cIyZoSuCkuluO3C4VK
fde5Sl1kVWH6O6HW2Ml9NF7ElgoUug7vp816GfaeNOK/SugAnLSLgTcffPKUAqqh5col+m92W249
yKwCCHuYKtfnmv32ySefXMg3IEzK5X8oSkuv0CiphuqS1+kZr+qOp3KGA03alb2ILtCYdej43t6h
DotcwcHrb115OoVmZGk3U525abaLxxsewJPHFaPtPDUkyWABgLAkNSY2kp/ItdVMiYwKYz9bP6dX
J1XKKy1DDWDH51apDOikqqpgqMZNfs+BAYZqclCzJKiM91y4mzWeEnk0rsEhH0Dph2mz9ctuBH1+
/fLNg+shoSyA6OR2o19usRylFZCRDzIpTNS0XL2iY4y9+S7/fAEAxKQKR0W4243T9zmTzZMkQzxy
GoZqUMKMvR8Zl8cHiGNIkwkAPmSGXcwU/ZmQSBk198RgM3169OuPKsTEBvBYOaksoHMKGowMJO2V
WztwirWLSIaQMKJIZEgmJzbsXgQLIOrBS+HTS7YuE30mBOXxZZKhYmrvPkE1auf0ab5ZYvf9iAsb
XnlBrqB7lw6CzMMvMt8L+xlrsOOiUt4UkD8qhNpxksMSg6x90za6JlcBgJqSNVhrSPQGiXgSJNol
ViFJAIh+kR394MYTFkB0gtLIpG0Tf9TxZeaAgRTdodW8IdvgIC6JtDuQdFhZ+rIUXU9cXwbimJct
AGRqSpJgk+0QEF/5cSLRsFFarhMRxQZFyXjxEffDQ1M2ztlwLIktBIDqwqQC4aLOmnJU7Z//vuyt
euB/M0J0u2gKctPyqoFXJfvIJqYucoWCsgd7Vu8ZcG6/144+pebj33maHYmvEAJ5U4qyiuvLJE+w
ac3hi2xSQWJXYfSlMN6e6ZbdtickfwD5HlN/NuZEbIkoEQC1o0yBXUtDz5PYRW6yxJhvjDckFChh
ekCMuCNsAfHUkXRWKYV7GyAgbkoAAKGw0SsN/vtr9tuGX9/lnTQs9Npbg+k/VR+023279BvbNQRE
txcrdR/RDQqe3v84PnMzwx8WgMkwIyWyJBLkdLtpQXFWsergJaOVnh0+fPZpWkaJaIGl2GWoERQw
InIbxplUdQkEQqBQKSAU8ARApVJqr7Bzkrb8PNlkomtkw+Uzv+jRGY8tPjF5YsJNse8vFh1KH52J
J5qf8QszsjmgZqhOk1WhorGZMU1+qHd4rOg++ooYd3M66HbVqncVSqKMTymP2rjzvsDqaEbE+fOb
5lsaq0p3TZPWfoTNyYCr7xJiK14+frF3uDzIq8jJfM+MNN4Qa1fzymgEnIzQewWUPiNFCmWQQTcY
OEAHknxuvZc0baofNgBA1+vTo13Ry+RygVLngcaU7MhMicc6xe4ju1OKom+9adotB1IhvV31kX5w
4BdlZFeCagdVGoA03aEhLeYNGQeHhkmk3iDpsLL0ZdmGZSCOedkCQLamJKmraYcAMY3Scp2IMDZG
7Tl1ZHzBVqs1/9TO0QXst+ks1U4d1LQH/daXCj0njdFT6di9XQkzW4pLu2SIqUuSQiEned/K/TGG
k2z757iuPfPxgcnSN2X9vkxCaw5fJJMKMrsEhZEnnnA7TZlsogig0P23mYald/0flQhlDey6Sht3
NJcC4pgXUzuxN8gLbIbjcr0jbLPPKskgbkpZoSl17NxRNS/cK/hFoYDPV+o9d94oo29v3xDZ7cWf
RhlFyiSCspRU5aH6g0BVT4damZTNrn+0FQqEQKFSiUqRVJdQwOcJ6p+c4BVnlYKKnr4ylVeYmwlA
1W1voAQlWeVSXeNR6rVgkk7h3csMkutw/Go+UGm1whqtkEKhUqD4uvWiUy/rNooIq0vf180KxcoQ
CgRAlaeJ9RQ35YJz37smltOnWs1cGmTrGOu1auaB6CI+WS65zlYXfVZ1C/daa/84uZSiP2pNwDod
YrM/NYrIXHJviLOrRWRInV8AQKFQZJYhFAgBhFKdyagNG8Xee2/6ORoCgHFowjxR4r6Hz/Zl+42e
tD+WcGlAocnRQFDNIx7WmuqN+kVJb9dnSDk4CPkCoFApFKm6g7hqWtMbNZAMDkRJhN4g7rBkSaQ0
elgmi3mZAkC2ppRUV6MH2I+IaZQWCxvi2GBeCimd9suOg8tf2BwJrTlNyX0blyMY3uN/o437pp72
oM/5fWyvMH14G5xT6yjZZIirS6JCesdhP/amCfnQZd4vvY+6vWAJgbwpP5/71/VlElp9+BI/qSAN
UWFZqM/90jOWC008mfS5vxnknz8TVy4xl0SkmVQ0EsKYF/9j0ikWQYFNOS7XK7fuCAvQvLNK8nqJ
mlJGVIesObtE6bDlGjdmFZzx3RewMebMFrdrT6wetLVHdzUR8Us+TnpkBugMGdep5p4hBSOzMbqQ
HJ3JIUsSIeRWVoGS5qenDIRcdjUotpPnFJWBopYq/ZO6ItJBZ7hlt4ZPI5ZYFwCwH64cpfHr7cK6
ZhHkv4h5B73mDhE9eZSqM2RiX8h5GFdcd8ihaY+2dtxtM1SvwXkN1T7Tp2kXXwlOrhDvr2ZRyEkL
TxdqmQ6m56akZbyq+bxOL+TW/kSsDF5ZbgkodTfWJFrHVRUlXzq1z2rahCFuGYPsNtoa0clzKXYd
0Zea9a+bd0BEYnxSQkRcjnSbSgAAhFXsDwDttJXruVCyN8TaJUmG2IgikdEI5DoMHq0LzGdZH2SU
wct9kVAEvazHNeZmKG7aQbu1Zwog8+yq4ZMXOERWCRMPWljOGrjw9Euyewm47+JzQHfgiPaE63hi
b5D5UByS7RJUc6sBlNUU6w0h0nSHhkjuDuJoMW/INDiIS5LsDbEdVmKSOIWyeZ4k5mUMAMlNKUY8
SV2yDbA1iGuUlgobktjIfeQx+edtIVoLr11wttASeUtQnJpSpjvSbvEPyb6BJ/zSe1v/+rNe6fM0
Vu2kjGRkE+d5krrIFVJU+9pd2DEo/q95Q7dGGyzev+8n0XFTtl75ETGt3JrDF9mkgtQuYXnsOZ9s
bavFE+bZT9J+de5E0gcpcgGQNgpxbJDYRW4yYcyLHxwIvUFWYFOmB7XUO8I2ZVZJ5l6CEZuoKaVA
TIE0LeOeWtXZifmi6xiCkpeRyXxFo45Sh+RXg/juKci6cfTk8hNb/t3NO3A9idbz9zX2PXIvTrmZ
xwchcZKI6uy4NI69+Q7H6W5hhXS9zu1eBPulVb9PKQCLngacq8GJsMvWsteTKxRqbV1/ey8/4exz
hH4gIDSLqzWkPUCVJBnKJDZ9SAncF211ZK+7i9LZSBiwattISvRur9S665XK/Zae3TpbF2ZoxFs6
PK8fKCqmc8x1Cu74Jkm5jVM2hYLsG4eP2Z909PXW/Mf/enJRtZJuD4OyS76h73hkMviFMRfihftW
b9/O8n2Qy9MdrAvw8cqHqunWTealkdGMzFKuor6ZaXvgZ+ZxBOS5uG9jU8HMeuX8eN/YTA5Fu5+e
9G+KEJSnR+WAo90yu+IH+WoGCs+D/dOrJMWGeLskyRAbUVwSGRLFD1qy0lE5Mo1nNHuVo0n5vfm3
cnmyyqh44bX9yfi/d5272uv02fD0PC5dXa8DPTYkMINYhrCqsIjaRZMT9yg24Y3uhPb0dw+fMpgZ
kkYs3usrPvcdduw+ton/z8O3dMPR80wAPnlkArE3yHwoFol2CViv44rAxmbRgtIoloY+/fl/gRlk
AUB8PVJid2hVb8g0OIhNIhkcyDosWRKhQtK6iCGJedkCQGJTinUvSV2yHQKIG6WFwob8wCHkvLn6
x9wqCHYNPlVu8fuJpxVCzttnTLnploaPfw3Ne0cPiN2+x5was6veY4hJRjaxniepi0Qhpd1Al6N/
dLq/cZAvMwe2rRgTcnrfhmuTNl8rkq1X1iCulVtz+CKbVEiwi5vq5Z2wcrvLEeDccryRUWOsZG8Q
NwpJbJDYJTZJNs+TeIOMpkwPxB1hmzKrJIt5whFbfFMCAEVRt3N3bTmlLloKIKfd2fh/7IqSt2+z
P46x4grk58dGpMvZ7neZzzsd806oN8bWeRztrfvTQmnuJPmqIDhQC8tinOc6Fe10WnvwcDuoSA31
nrP9X9Hd3yRJoqzFoe7L/P7a+7tL0CLgFSeddL7un1aWFRmVu3byLz2LV69z+/H0n7Hx6wGgMopV
JQRhecy6OStytjoudTngRAPglb1+djOVLZCiLgJ42T4OS9vt3LTezWMtsJJuefy89b/6LyXgZkXc
yZppRYm4+9mT4FX72IxTz7lyNVHqG7tkUyhkPf9z9uLM9SuWLdu5QAWAX54W5vPw/MfxhUgGL8vb
YXWHPc5/uHmsAYCqsozY28xKAQDQFBSpOsPXui7QlQeAqvyUqAMrXQNzBeS5ql77WTmoH3SyPnVu
lQKAkMt6n/QkjS3dZgFuyoGN3v1dFx74e5qg9NVJ55sB6VUCcm8Q2CVJhtiI4gpIZEjSLlAxdXKd
o0fj5TBCljscuFIojTcIZPCyfZbPy1u8Yt0ce6/flAGAnZtwbuvtiyRLAgBFQ9Me1Oyjbz6AspGZ
IS81VqoL0Lyca9YL2h3asdjtyEwqrzDpDRVAyK9/pxShN0h9KL4yQrtqcnES92w+33uX1TFPK35J
8inn2xczJAUAARK6Q+t6Q5bBgSCJZHAg6bBkfZlYoWwDEVnMyxYAkppSvHtJ6pLtEEDcKC0SNlIc
OKpzbi+3NTC+4njRJXnQ+keFZalhWWAcefZBiVBACTt8m2VuEpXIkkaGeM+T1SUgUEhRGeq4a5nq
nV+3383hA0B+yM79tne3H14V9Gj7c5ZMvbJGu7hWbs3hi2xSIcEu/tsrnkFOx6wqAnc/LKq7aCPR
G2K7A5DHBoldYpMku1784EDsDRKaMj0Qe4RtwqyS2L0kIzZBUwLIm9gdD7PVE32Z6nZ2KrCDFkyw
iaok8eGH5OMzHGmHVi8PCV4HICjJiPJYudf1VSvcGNPKUAYoG7dKRfLdN16+uLHcbdDvF9L58tp6
uspVxe+LODLdTt5SqJm5pviY+s6atj6e9GGQ34eMZqct2EXv9FvEA+fiFaMn3fnKXojTAFo3W/+E
DSW/DV966Rt87kFjaXFvkERvWwhs5DOka5TmCZu2HwBtT+H3Mny1Pc+3LN/QEfb7pNXeXlyV8fdG
r18CN9w8RLdz/S88p4iirUCncPhtaDRoN2zeKLWcEP+UL9t124iMZqeV7KIo6v7QTUep4ZZDQVXe
64z8Fq27pVHuZTu/LyvtbS6botXjp1Wre1Q82hDJakNdqFVpVW+QRO+32mG/aogbpfnDpu0HQNtQ
+D0OX23D883Kt3yERVpvSQDCirjjE+aVH3VfeePhWgCAkksWP+2IlOHZyy0DRb2/7U8q787fSP6i
nbeNyGh2Ws0uxR42V0PmG4hJKfCc9fPGkpatvUWha3T/ccbymT9oyAMIWFnhl/+avO+ehN3i3y6t
6Q2S6P1WO+xXDUmjNHvYtP0AaCMKv8Phq414vnn5ho+wSCtuHKqDqqrbQV+ZX5ybX0y6mRlBEARB
EARBkJbnCywJEARBEARBEARpO7TGK2IRBEEQBEEQBGmz4JKgDaDQZYrLNnsLHWwMAPQGgiAIgiBI
ayN+3kU1mOvHZjJEn1sT2jVPXRS1MTuulCb4b+tD8ha9ZkLGuigqnUynWPTVacZX0tEMHa8z2Jfn
dCIuU8F4xroFFr2VW2ISLH1TypmsvMyOPzhZvfZV4iTeaAFHfaQlvdHstExPaQmkiEMEQRAEQb5X
qPJdxtn7htwpYjLYyaHx57bY91ejgiD/9oYhP881W3JaivflSV+XklHPjnKKnXvryjdjqc1al7yJ
rXvgTssucs0ohVdZDcCrqv4yD1uTuinlu8yeYVTxOCSivFYoiTdawlFfIy3TUwCAotjzF1cm88Gx
QUpSZlDuOtH1zJU8JoPNjEoJ2La4t8qni6ovG4cIgiAIgrRl6B4xx4cX3PVee5yRS9XrN3JQezpf
ACAoy0oqAzprYGUz1sXP87Ob+bJL9auXLf8Oi9asS4ISThFbyK8urfxCT1fiSdeUCt0mWRmx7+yI
k+bFoEgtUrq3MdB1+k1yclyx+id9gFIp81BUB7n7uVpln13x2y0mrcev67ccOavwdtyWe7XN+aXj
EEEQBEGQNgx1+IfLq35y+MfnTsStW/+5b9uyK5YtMZN8h9FbjwdnMxns1NCnnssmdag5V0zVNnM7
E5QSG81mMtjMsASfNTM6ik7S1+yvKGdcfvzfjeDxn+yvIM4FACCv/+PmY4HvUhhsJoP14tZTnzXj
tci3lMhYl8rgnVnMqEcLdEDX6lGCaCtIhN9IFXKTpaC6MLe0IKv003eRU1R7TD9y4XYJk8FOvnvX
yaR+Gl17kON+37QkBpv57O1V97XDNGkAQNGceSqGHbV1eO1ZY/ke2x4wik+O06YQ55IW+V7TJ3dh
hZ1msCR6gzhJod+K40lxDDYzOuXCnuOnruQzY9+FbJjaXqIQIm+QF0jtYOka9/wZm8lgM6OZQS52
fVQkbjaiapu5+116I5KdfC/cY/FY3bp3c5C0chMCoKG5pE2p0H2lm5MFO8TaKSRH6iIVu42dpFvs
v9czICb5eeSV7TuvFKibmnesL1JsHCIIgiAIggAANfP4icjCxpw4pKgP3RfosbFX2oHVK2et9U3t
/Udw4Pox6hQAoCp3MR9pXHVpz5xFK+b9GZjVf4Gf56895ABAkH/T2XTyrKE2J5kNJRDmAoraEPeA
I5v6Zv2z3nGqjePS4OreZiNMVMknfjLWVZnoMWbSfJtrZVB622bGrEGTZw2a/Kszg0NushR8SLl4
fO+lt/XfVULTGXvc38VW66mLk+O8P89GVtZZRFHpv8vfe0evtIOOi8f+vskzd/DO0/ttDWkgLAsP
YfC0zWYa19wdIW9kPqtTdXgIo0RInEtKFLr/OrVD2cOQpx+vqZB4gziJrtfftHOO1y9WW+90nLyg
w71F1rvuGVgddeijTFo5sTfICxSUJF7btX6FxWzrCX8ceqAx/bCX4xBJu2yoyl3GDO1cdn7T9IXL
5m6/Ujzc4WrQ2h/VKEDayk0LgAaQNiVwU1wsxw9f5XUj84P0F2yqCtPfCbXGTu6jQQUAha7D+2mz
Xoa9r673EzFxiCAIgiAIAgAA9PToT+YNEqEaWq5cov9mt+XWg8wqgLCHqXJ9rtlvn3zyyYVc0S+y
ox/ceMICiE5QGpm0beKPOr7MHAGPlZPKAjqngOhtxeJyQcdJDksMsvZN2+iaXAUAakrWYK0hUaJM
dQmEH4rS0is0SqqhuuR1esarD1KZLMW7FwX5kYHen/yHZmRpN1OduWm2i8cbHsCTxxWj7TxFdlEN
LFev6Bhjb77LP18AADGpwlER7nbj9H3OZBdGXwrj7Zlu2W17QvIHkO8x9WdjTsSWiBIBUDsS55Lm
rLDSD9Nm65fdCKrbZUXsDbIkABCWpMbERvITubaaKZFRYexn6+f06qRKia8knN6SeENCgR8ywy5m
in6VkEgZNffEYDN9evRryRbnxIbdi2ABRD14KXx6ydZlos+EoAIDwlbOJ06SJgAaIiBuSgAAobDR
m7f476/Zbxt+fZd30rDQa28Npv9UfdBu9+3S+uU0jEMEQRAEQRAR1MZOPpS6j+gGBU/vZ1WJvnMz
wx8WgMkwowbnZ/lFGdmVoNpBtVGPOKmfS7H7yO6Uouhbb6oaKVKGukiQ3mQpUewy1AgKGBG5DSev
isZmxjT5od7hsaKH2FTEuJvTQberlhyAoDDyxBNupymTTRQBFLr/NtOw9K7/oxIheS5p9PT9xaJD
6aMz8ZL3jEmJQCAECpUCQgFPAFQqhex8Ook3yAuktR9hczLg6ruE2IqXj1/sHS4P8ipyjXtOEScj
9F4Bpc9IIyWyVm72ACBpSlmhKXXs3FE1L9wr+EWhgM9X6j133iij7/3mbwRBEARBpITedUB7+n0p
Tqx+wqdTPML5npAvAEr9+eDHKQ97mm+iAAAgAElEQVTpjou6XBSaHA0E1TyZZkqNrEsSUposHUKB
EChUqphSKBQqBYqvWy869bJuh4ewuvT9BwAQloX63C89Y7nQxJNJn/ubQf75M3HlEnNJRKnXgkk6
hXcvM5rvDlmhgM8TSLsdjdgbZAXKdba66LOqW7jXWvvHyaUU/VFrAtbpNF4oCAAotY1L0srNGgDE
TSkjqkPWnF2idNhyjRuzCs747gvYGHNmi9u1J1YPyvF2cQRBEARBJEHtunzxIE2CU6uCam41gLKa
Yr10TnpkBugMGdep5q5cBSOzMbqQHJ1JtEunPsIq9geAdtrK0l044L6LzwHdgSPa0yX/tql11WTi
VlaBkuanlw2aZLI4OOkR6aAz3LJbw3cmcNLC04VapoPpuSlpGa9qPq/TC7lCAABheew5n2xtq8UT
5tlP0n517kTSBylyAYhvyhpU+0yfpl18JTi5QipvSEwCAPbDlaM0fr1d2HA2StMebe2422aoXl1G
Em+QFajYdURfata/bt4BEYnxSQkRcTlSrX8+Ra7D4NG6wHyW9YGslSUHAIl7xZkMxE0pBWIKpGkZ
99Sqzk7MF13HEJS8jEzmKxp1lO4KnXiFTUhCEARBEOQrg56qN+9YqLr3watxWdXtug0YaBDjuSu8
VHQ+VsB6HVcENjaLFpRGsTT06c//C8yoyrpx9OTyE1v+3c07cD2J1vP3NfY9ci9OuZnHB5A4cxeU
p0flgKPdMrviB/lqBgrPg/3TSTYF8V5f8bnvsGP3sU38fx6+pRuOnmcCIO1TWBpZl4jq7Lg0jr35
DsfpbmGFdL3O7V4E+6VxSUyWCUHWjb+9l59w9jlCPxAQmsXVGtIeoGYyl33j8DH7k46+3pr/+F9P
LqpW0u1hUHbJN/Sd6EION9XLO2HldpcjwLnleCOj5uqOpFwETQkAACqmc8x1Cu74JjVc4Ij3BnGS
ZMuV+y09u3W2LszQiLd0eP5BkjfI4L6NTQUz65Xz431jMzkU7X56ipLrr2HQkpWOypFpPKPZqxxN
yu/Nv5XLAwFxKwslBgCxe8WaLDJAbFMCAEVRt3N3bTmlLloKIKfd2fh/7IqSt2+zOQLiAvn5sRHp
crb7XebzTse8E+qNsXUeR3vr/rRQmst/hAplTUIQBEEQ5GuDvtjszxW7/5h3dNIfNOAVvHpyOk6e
ClAz++Ak7tl8vvcuq2OeVvyS5FPOty9mVAnKYpznOhXtdFp78HA7qEgN9Z6z/d9QKZ9mz005sNG7
v+vCA39PE5S+Oul8M4B0ms7LuWa9oN2hHYvdjsyk8gqT3lABhHwpb75sZF0AACAsDnVf5vfX3t9d
ghYBrzjppPN1/zRuk0wWW015zLo5K3K2Oi51OeBEA+CVvX52M5UtAAAh6/mfsxdnrl+xbNnOBSoA
/PK0MJ+H52sn9/y3VzyDnI5ZVQTuflhUu5NGUi6CpgQA1T4249RzrlxNFHPJg8AbhEmS55/crIg7
WTOtKBF339W1BYk3SKh67WfloH7QyfrUuVUKAEIu633SkzS2VMs0gYqpk+scPRovhxGy3OHAlUIB
AAiJW5kkqQYi9xKYDABETQkgb2J3PMxWT/RlqtvZqcAOWjDBJqqSxIcfko/PcKQdWr08JHgdgKAk
I8pj5V7XV1LdhEOsUMYkBEEQBEG+NigDlI2/tAZpoXWz9U/YUPLb8KWXSnGDdPOgZuaa4mPqO2va
+vjv4umU9E6/RTxwLl4xetKdL/0OOwRBEARBkLaCLLv0WxHlXrbz+7LS3uayKVo9flq1ukfFow2R
LFwPNBfths0bpZYT4p/y7awHKIq6P3TTUWq4qV9Qlfc6I/8LKEIQBEEQBGnjtO0lAV2j+48zls/8
QUMeQMDKCr/81+R992Tewo98BkW9v+1PKu/O30j+dlYEoNjD5mrIfAMxKQWes37eWNLqghAEQRAE
Qdo6X9PGIQRBEARBEARBmp3GvdkJQRAEQRAEQZBvDFwSIAiCIAiCIMh3DS4JPkJt18du48bV/5P+
6fYIgiAIgiAI8g1ABaDrTlztERsTw2Yyyhm3Iv5e0JvkNbI1UFQ6mU6x6Ksj7YtLqQZz/dhMhuhz
a0K7poluEagaA+wWz5toINcwpWXEN9aH3wCymfwdOqqxfAX9C0EQBEGQNgydqjdpp//yvtGeOzY8
yeGp6HTSKCiQ/MopeRNb98BJ934am1Ao3buh8m9vGBKvJK83+Yy3bZNFtzItJL6xPvwGkM3k79BR
jeWr7l8IgiAIgnxx6HIdB3RTKLq1w/N6lJj31zYbvLKspDKgswZWtmAlLcVXLR75HsAQRRAEQRCk
CVCjnixsD9qz7seLdh2ErOkqelUBtYOla9zzZ2wmg82MZga52PVREd13oDJ4ZxYz6tECHdC1epQg
yhXhN1KFPJdEaLrmJx4+Kw/dPV1XqhwKvRxeMsN8hiuLvqpZeLGZQY5GdACgapu5nQlKiY1mMxls
ZliCz5oZHeVrDSZXaLry35REBpsZwwzYuvAHZYoUSujagxz3+6YlMdjMZ2+vuq8dpilxhwupD0G+
w+itx4OzmQx2auhTz2WTOjTcyyQOef3x9rvvPXhSwWSwmbF5ocfX95InL5DEUaQ+JDWZQAa5ya3p
KOJcVLX/zTsRdLOAyWAzGaz4e1G7RmpSJCbJWJfmoPmHPM/ERYaVijb8xJ526i5KJQ1R4lYmQYYQ
Ja+LwC6FfiuOJ8Ux2MzolAt7jp+6ks+MfReyYWr7utoa280RBEEQBGkV6PNtrnn6jIqysfk3gQsg
4OZlibYNCUoSr+1a/192QSVVq4/1pg2Hvbjx4/ZGc6Ay0WPMJH9Th3q5gF+WzSHPJREFQ7OJhjQa
jBzfSf5ywYem2ERV7mI+0rjqrMuc0AKq3uAVm239PIsGzDrDrJaskMJJ+Gfz8VRe5zmrnI6db1cy
ceOVQgFJXRSV/rv8vZdWXdrseCiWpWO+ZOPO0/vLJvzhnUW2x4XEhxT1ofsCPZbw72xdfSiJ8sMC
Z4fgQK0pU/eElpG+s5mmN+9QwKkJgifnvJZGZeRw5HQNVNNzeOQFkjiKJInMZGIZpGHTeo4iy6XU
9y/vjbPe+DjahqayqOodOnflv2WLCiNJkq0uoOmNmPeHBZzZ89cmZmE5X05Di/7qfTUAkIUosXvJ
ZMgUojJFFF2vv2nnHK9fNqdNPey2qOL0POvMWYe2H3W4+WBbvOjyRTN2cwRBEARBmg96xuuSaqgu
eZ2e8erTA/SHzLCLmaI/ExIpo+aeGGymT49+zRN+KEpLr9BoZC6JQirjPRfuZo2nRB6Na56JQnb0
gxtPWADRCUojk7ZN/FHHl5kjkKjwuffRI3dYAHA/idb/juP6SYdvnHtPrJ5qYLl6RccYe/Nd/vkC
AIhJFY6KcLcbp+9zJpvEZmIfUg0tVy7Rf7PbcutBZhVA2MNUuT7X7LdPPvnkQi7JDE7F1N59gmrU
zunTfLOqPlVIUiC5owiSgMRkBUIZJCaT0dyOIs0lp2GoBiXM2PuRcXl8gDhGXT6SJNnqEv2Ek3Yx
8OYD9uc5iUKUuJXJZMgWojJFFAsAhCWpMbGR/ESurWZKZFQY+9n6Ob06qVLiK4UALdDNEQRBEARp
Dgiv3tPaj7A5GXD1XUJsxcvHL/YOlwd5FTmJ1/plywUAAPyiR2c8tvjE5DXzLaT8oozsSlDtoEpr
lMLqnGePC6DHYEPSh5IqGpsZ0+SHeofHih72UhHjbk4H3a5a0u31aYhS9xHdoODp/Y/TMG5m+MMC
MBlmpESWi24wcIAOJPncet9gpih9gZ85iiiJxGQSGc2ObI4izVUetXHnfYHV0YyI8+c3zbc0rucI
kqRmVgjEISqbe2UL0aZGlEAgBAqVAkIBTwBUKqV2k1VLdXMEQRAEQZoCXfy/5TpbXfRZ1S3ca639
4+RSiv6oNQHrdCQWJlsuGREKBECVp0mxoVvIFwBFNCtphEIKUACEQvLdIRQKlQLF160XnXrJrauv
uvR9k06BUj4xSpr7GYQCIYCQcJYlZYH1HEWcRGayBBnNTuMdRZqLm3LBue9dE8vpU61mLg2ydYz1
WjXzQHQRnzypmRWShKhM7pUxRJsYUUIBnycg23GHIAiCIEhbguAMvmLXEX2pWf+6eQdEJMYnJUTE
5Xw6gRByK6tASfOzk6WScoGgmlsNoKymKKZamvZoa8fdNkP1pHv8PK8stwSUuhtrEixqZLOr3i87
jxqrK0yKfFe7212ceE5aeLpQy3QwPTclLeNVzed1eiFX0j5zIPAhJz0yA3SGjOtUcx+ngpHZGF1I
js4k3XTPy32RUAS9rMc1vMFWtgJJIDGZRIYI8WEjiWZ0lORcVUXJl07ts5o2YYhbxiC7jbZGdfFF
kiQuemX0PHGISnSvrCEqRnwTI4r9cOUojV9vFzbsBo3s5giCIAiCtAoEE2ru29hUMLNeOT/eNzaT
Q9Hup/fp/pnq7Lg0jr35DsfpbmGFdL3O7V4E+6VxJeUCAet1XBHY2CxaUBrF0tCnP/8vMKNm+4Fy
v6Vnt87WhRka8ZYOzyWfZOcXxlyIF+5bvX07y/dBLk93sC5AtcRcEhUaDBk9vqJYyWiYndNC4/dB
K2/VbXAQKz77xuFj9icdfb01//G/nlxUraTbw6Dskm/oO8l3T4j3YdaNoyeXn9jy727egetJtJ6/
r7HvkXtxyk0J+ywqXnhtfzL+713nrvY6fTY8PY9LV9frQI8NCcyoIimwUaupWjeQmEwig8TkVnSU
gCyXqunWTealkdGMzFKuor6ZaXvgZ+ZxBECeBADio5e0LmJIQlSSe2UMUbFdT6aIUpbUlI3u5giC
IAiCtAoEs8Kq135WDuoHnaxPnVulACDkst4nPUlj105mhMWh7sv8/tr7u0vQIuAVJ510vu6fxpWU
C4CTuGfz+d67rI55WvFLkk85376YUSWaWHGzIu5kzbSiRNx9J91OaV6Wt8PqDnuc/3DzWAMAVWUZ
sbeZlRL2KpAoFFS+ffwsy+r33ZdsAPhFcXf+mf6Xz+Pyeuc5xYpnPf9z9uLM9SuWLdu5QAWAX54W
5vPwvDRLAvE+FJTFOM91KtrptPbg4XZQkRrqPWf7vxIeNwQAvGyf5fPyFq9YN8fe6zdlAGDnJpzb
evtiRpWMBZLoJjGZRAaJya3oKCFxLpqCIlVn+FrXBbryAFCVnxJ1YKVrYK6APEmE2OglqYsEsk4k
wb0yhqj4rtcyEdXobo4gCIIgSGtAGaBs/KU1IAiCIAiCIAjyxcD3BSEIgiAIgiDIdw0uCRAEQRAE
QRDkuwaXBAiCIAiCIAjyXYNLAgRBEARBEAT5rsElAYIgCIIgCIJ81+CSAEEQBCFFocsUl232Fjp4
wEAQBPlW+QZHeKrBXD82kyH63JrQ7kvrIUDBZO9jxked0YE/qnxpQUjzozrqYOHHUGQ/WWuqKDkL
8jkUtTE7rpQm+G/ro/CFFDRlSKGodDKdYtFXp+Hbmr+8XY1AwXjGugUWvZW/iQPGV+V5BEGQ1uKb
GOE/RZB/e8OQn+eaLTmd9qWlSCTrrH3vkeO7j7S0i6qs/SdVfcAqj8CsVAY7NTTmyMKRGs3RSBTF
nr+4MpkPjg1SEpeq3HfRiTwmI96xu4L0uZq3LqrKDxa2f5+8kBoXWxw816jhFEr6umjqQ37dfOPu
o3Img/3q4VPPpRa6UhYnS4Ek7cWO3t575PjuI6f87JcvrYCvGprBsqu1C13RJ8xnuOS3GpNBVTLq
2VFOsXNvXXmp8yiYLNjzOPRxKZPBZj5m/LtsnPQBIIamDCnyJrbugTstu8g1SJHFLqQ5IPR884YN
giDI1wXB24u/anhlWUllQGcNrJT82y8Mj12SW1DIrf8vmoHNPyf29H3p8adTOAx02uZ07SjL1Cbk
LZ+oDInQdfpNcnJcsfonfYBScT+Q/+H3A7edf2hkrmasCyhK3ZfsP+ZqmhVwPmjD6Yy3OZl5kt5p
TFKXvNH0fasHv/c//NuzAoWeE7dssA9Syepje+29BB/KVCBpewmrWfkFLAD59pWyt9/Xx8v9Fhtj
WDVfeCVvPzSpNH6en93Ml12qX71kSf5xDdXFGS+Dj9zclFZK6/Hzwb1/nN8e33NluMzv7G6RIUUW
u5DmgNDzzRw2CIIgXxXU0VuPB2czGezU0KeeyyZ1qD2XRVX737wTQTcLmAw2k8GKvxe1a6QmRWIS
GfIdCOvSHDT/kOeZuMiwUtGZxdjTTt1FqdQOlq5xz5+Jdtcwg1zs+qjUnYOV1x9vv/vegycVTAab
GZsXenx9L8nn2+jagxz3+6YlMdjMZ2+vuq8dpinViSDiugjsUui34nhSHIPNjE65sOf4qSv5zNh3
IRumtpdQm+IP89YPE97ZtG5L8KPrwR6/b44QDl9i17POLpqu+YmHz8pDd0/Xle7qgUL3lW5OFuwQ
a6eQHDHJVK1R60Kc1Y8t2X6tTPpczVoXRWXY2sM7dc6bWyxZ/nfwf2GM5+lFXImHYeK6ql77WpjN
mn/ov6tPwi6e3LP8Yqn8/0Z2l7hHQKYCJbYXCY1uSrLoJetERElUbTO3M0EpsdGi0/kJPmtmdKxT
TtxhJVGR/fIVM7Hm8zqbIwCgGU4/nMN8eHqiaAcNVW+iWxbz1pGR6lQAqraZu9+lNwkMNpPBTr4X
7rF4rK7oXEXNjp1yxuXH/90IHv/Zjh0SkwV54X4eIU/C4hMeXTp1PBlUO7RXkcLHMg4OBKgM3pnF
jHq0QAd0rR6JrGNG+I1UkWQXkQyyIYXYhwAyNiVFtcf0IxdulzAZ7OS7d51MmsFRjR5FJYQogQyS
YCP3PGHYkMtAEAT5JqB7bOx1Z+vqQ0mUHxY4OwQHak2Zuie0TAhKff/y3jjrjY+jbWgqi6reoXNX
/lu2aJZGkkQMRX3ovkCPJXxxdQFNb8S8PyzgzJ6/NjELy/lyGlr0V++rAQBAUJJ4bdf6/7ILKqla
faw3bTjsxY0ftzeaA0DTm3co4NQEwZNzXkujMnI4croGquk5PAkyVPrv8vdeWnVps+OhWJaO+ZKN
O0/vL5vwh3cW6Ulc4rqI7aLr9TftnOP1y+a0qYfdFlWcnmedOevQ9qMONx9siyc+10htbzq0E7xy
ea5qf+6Si+KpsU63E2DHmP5atORckUQFQ7OJhjQajBzfSf5ygRTnX7kpLpbjtwuFSn3XuTZIpOtN
9Dw4Lm7zr66Mjp5S52reuqjaozb/akh59/PF8JUdlbjv4u8e3LXfO6FCwnUCsrqEvOqPEUlVNjRQ
huxXOVVNEU9UoOT2IqGxTUkavSSdiDCJqtzFfKRx1VmXOaEFVL3BKzbb+nkWDZh1hllN3mFlgJ91
dfvvgwOuHHCNSV3u9WHCMbfxRd42myLLBAB05S5jhnYuO7VpyaMSBcOhS9c6XA3SmTTN/Um5IP+m
s+lzJTk9Sz+fxQ3KJDG53m9GL3bqmXtmWajE9pBxcCCmMtFjzCR/UwdPn1FRNjb/JnABgF+WzQEg
s4tYBtmQUkXoQ6FsTUnTGXvc32V68fUtTrfT5bpYzF/2vyY6SpZRVEgWosQySIKNNKLqaf00bEhk
IAiCfCvQ3+y223qQWQUQ9jBVrs81++2TTz65kMuX0zBUgxJm7P3IuDw+QByjLgtJEiFUQ8uVS/Tf
7LYUV5foJ5y0i4E3H7A/z/khM+xipujPhETKqLknBpvp06Nf81RM7d0nqEbtnD7NN0viZK9WhoHl
6hUdY+zNd/nnCwAgJlU4KsLdbpy+z5lsksUEcV0kdrEAQFiSGhMbyU/k2mqmREaFsZ+tn9Orkyol
vpLwWEzXMtQAdnxulcqATqqqCoZq3OT3HBhgqCYHNY6qjPdcuJs1nhJ5NE7a/RhCIUF9NP1f9/45
+NHmYTfyeAodpc3V3HUp9xw3VJ4Vdfu0x/20Yvmus9a5HPJVK7Bw/q9QwqJACoXyPeZsP2xW4Pnb
f+kSVouyFSi5vUhoZFNKEb0EnYg8KTv6wY0nLIDoBKWRSdsm/qjjy8wB4sAuMd127dECnc8KKQyw
MdkSV7PWHXYoh/kx4dk6w1/vlQCAoOzBntV7Bpzb77WjT6n5+HeeZkfiK+r5Oyc27F4ECyDqwUvh
00u2LhN9JgTl8Vg5qSygcwo4RF4hMRlo+hab7x0c8ni17arQEkk70WQcHEgQfihKS6/QKKmG6pLX
6Rmv6jUysV0kMkqBeEgpBgDxPiwwkDj2ioFmZGk3U525abaLxxsewJPHFaPtPDWa4iiZRtFc0S/E
hiiZDOJgkxxRxGEjTobkDY4IgiBfCfSn9z+Oz9zM8IcF9r8OM1K6kFtRHrVx5/0ru45mTEi+fPna
ucArt9Mqao4fJEmEKHUf0Q0Krouviywjrf2IBXudZk3obaBJZRdUKMtDjoocFYBuMHCADiRtufVe
6vUAACgamxnT5FW8w2O96/03r6uWHJAczEjqIrHrZe2PBAIhUKgUEAp4AqBSKRQAiTNPTtKWnycf
oxRl8gat/CyJX/TojMcjSQVIAbX9OOe9/Z+vmhQuae7donVRVfT0VeHdJf+bD3IFAClJm42m3bS3
G6J26WZpkzbxUlT62+y7uanngw02m2NYzbAfmKRAkvYioXFNKVv0NkZNRnYl9OigSgOQJw7svKQT
S0eGyH+2DYdb9KZuxpt0cNLmZ6J+zWe9K//4byEned/K/Ra31tt2fvPXlDMJBJMyTkbovYJFViON
lILySAcHCVB1xp04ODXX7RfHW7lSnMxtafdKCYmMuvtbxAwpn1LPhxUyjb2KXYYaQcHViNyGprfm
KJr76Vq5fojKkcuQMtgaIkXY1JeBSwIEQb4Z6J8cTOp94aZccO5718Ry+lSrmUuDbB1jvVbNPBBd
xCdPIoVCVBchcp2tLvqs6hbutdb+cXIpRX/UmoB1NacnhQIhgLCRV/QpFCoFiq9bLzr1su6WXmF1
6Xvyk7QS6pJkl1DA5wmkPHLwirNKQUVPX5nKK8zNBKDqtjdQgpKs8ua/QE1RH2M7TlMNzkbEnq39
58qL+aN3/29e8LvmvRuWrK6QyioegJr+x+NrdeGbfKBqt1elQansUzFqu+EO/1xfqX3R8feVN3Mb
s25sVIGt2F6yRm8jEPIFQKmbYIoPbGFlweuXhZ+HuVDIrwtx1ru4xORyaAi947Afe9OEfOgy75fe
R91eiF+oCUEAQKlX+8dfSTNm1KM629/NJeXa53uJCGh59zZAnF0kMuruDZA8pHzmw8aPvUKBEChU
qpiffplR9GMptSEqUQZZsJFFlDRh81lPQRAE+RagDhnXqeY2KQUjszG6kBydWXs+paoo+dKpfVbT
Jgxxyxhkt9HWqO6YRJIENO3R1o67bYbq1d1xxkmPzAAdsrrEoth1RF9q1r9u3gERifFJCRFxOR+H
e17ui4Qi6GU9jvBGOUE1txpAWU2x3ulMTlp4ulDLdDA9NyUt41XN53V6Yb17WcWIJ6lLGrvYD1eO
0vj1dqFUp6kF+S9i3kGvuUNET7Kk6gyZ2BdyHsYV1x1KxSiUCWHZTeeZgybPqvn8su1GJWSfX222
6k6ONOuBRskgq0vIfpOYBZ0sTLVFJSl26msEnIzX9dYDjTaZ1nHqrv9W6l5cYbNC7Hqg2QqUor3I
Sm2UDCmit9kgCWyFwVtul7169tknY2d/SY8apaj2tbuwY1D8X/OGbo02WLx/30/iH68r12HwaF1g
PsuqnWIKq9gfANppKzcq5AUVWQmp2Sxpl5WS3StuSJGIkFtZBUqaquKki7NLmlaWPKTU86FsYy8n
PSIddIZbdmt4V75scdjEUVSMQlIZEoKNJKIaGTYIgiDfDPTOW/7dzTtwPYnW8/c19j1yL065mccH
AFXTrZvMSyOjGZmlXEV9M9P2wM/M4wiAPAkAAJT7LT27dbYuzNCIt3R4LjqsC7JuHD25/IT4uojh
vo1NBTPrlfPjfWMzORTtfnq173qqeOG1/cn4v3edu9rr9Nnw9DwuXV2vAz02JDCjZsImYL2OKwIb
m0ULSqNYGvr05/8FZlRl3zh8zP6ko6+35j/+15OLqpV0exiUXfINfffxACBOPFldxHbJ+Cz2DymB
+6Ktjux1d1E6GwkDVm0bSYne7ZVaNwsVq5AUiqJu5+7ackpdtBRATruz8f/YFSVv32ZzBKzsN69q
f6WkUVoNH4reMWuOhoS5SGXIUhcvNcQz8fe/tuzYUHbsVqnRApf5htkXFj6r29TQ2LpA6X/r//yJ
8mDn6UyNXr1EG6CF7PevX5fzm71Aie1FQiObUiAxepsPsg4reeOQasc+vXrUPt+RV56d+r5S2G6g
y9E/Ot3fOMiXmQPbVowJOb1vw7VJm68V1UTUoCUrHZUj03hGs1c5mpTfm3+rbs+KoDw9Kgcc7ZbZ
FT/IVzNQeB7sny7Rw3Rjm39jNvasjvizp+2tfMlX6SS7V+yQIqnY6uy4NI69+Q7H6W5hhXS9zu1e
BPulcUnsakori/OhbGOvIOvG397LTzj7HKEfCAjN4moNaQ9QJaWjxCLTKErylGwyGRRJwUYcUY0N
GwRBkG8GupM702ntwcPtoCI11HvO9n9Fj6GgKShSdYavdV2gKw8AVfkpUQdWugbmCsiTRHCzIu5k
zbSiRNx9V3e8FJbFOM91Ktoppi4Sql77WTmoH3SyPnVulQKAkMt6n/Qkjc0HAOBl+yyfl7d4xbo5
9l6/KQMAOzfh3NbbFzOqaqRwEvdsPt97l9UxTyt+SfIp59sXM6oErOd/zl6cuX7FsmU7F6gA8MvT
wnwenq87mIkVT1aXTHaRwcv2cVjabuem9W4ea4GVdMvj563/1X8pgXiFZMib2B0Ps9UTfZnqdnYq
sIMWTLCJIn/GuoRcBDJkqqv6zd9/LFfa4bzib5/NlKp3UecX2B+tn6Oxdcm17zdSB9qN3XZ/bN2v
n20cbx5ccyNDcxYoqb1IaOGqbScAACAASURBVGxTCiVFbzNC0mEr89Lj8kgz93G+d7XuW1Wog9Ef
L3o77lqmeufX7Xdz+ACQH7Jzv+3d7YdXBT3a/lx0MligYurkOkePxsthhCx3OHCl/k0n3JQDG737
uy488Pc0Qemrk843A9KrJM3WBGVvUt8JurCSc4nv5v/UZInuFTukSCq1ONR9md9fe393CVoEvOKk
k87X/dO4AhK7mtDKYn0o29grLI9ZN2dFzlbHpS4HnGgAvLLXz26msgVSOUoszT2KEsrgqwwlDraa
7UOEEdXosEEQBPlWoAxQNv7SGr5PFEz23j0/7dLcgQeZXMm/Rr5q5PutvxT58/1R4w8wWm5n+lcL
vdNvEQ+ci1eMnnQHX9olI+hDBEEQpGl8i28v/oqgq2jq6+pwQcgpLS6rxrNS3xoUuXa6GgpUkNdp
3DZ4BEEQBEGQ1gSXBF8UQ+sTSdYAUHV90di5T8Q/XB35elEZtiPptLmS6Evul9WCIAiCIAhCBG4c
QhAEQRAEQZDvmsY8Tg9BEARBEARBkG8OXBIgCIIgCIIgyHcNLgkQBEEQBEEQ5LsGlwQIgiAIgiAI
8l2DSwIEQRAEQRAE+a7BJQGCIAiCIAiCfNfgkgBBEARBEARBvmtwSYAgCIIgCIIg3zW4JEAQBEEQ
BEGQ7xpcEiAIgiAIgiDIdw0uCRAEQRAEQRDkuwaXBAiCIAiCIAjyXYNLAgRBEARBEAT5rsElAYIg
CIIgCIJ81+CSAEEQBEEQBEG+a3BJgCAIgiAIgiDfNbgkQBAEQRAEQZDvGlwSIAiCIAiCIMh3DS4J
EARBEARBEOS7BpcECIIgCIIgCPJd0/aWBApdprhss7fQaUPKqGp9l27Z7NxX6UsLQb4mMGwQBEEQ
BPlKaP6JN0Wlk+kUi746NBnzKxjPWLfAorfyl10SyJmsvMyOPzhZnQIAVPV+ixbOtuhA/7Iy2hAU
tTE7rpQm+G/royBT/kbZRRxRTZXRKBod2F8ubBAEQRAEQRpF80+85U1s3QN3WnaRa5BCUTaZufFW
aBSbySh65OU+xVCx2Sv/CFV9wCqPwKxUBjs1NObIwpEajbRTvsvsGUYVj0MiyoUtI/CrktEQqpJR
z45yip1768rLkr1xdhFHVBNlNA5iGTJC1Zt2suS5q7kqKPywPCHlypaerWAFgiAIgiBIQ1rvDCbN
aKbbQ7dej/ZvNH+Upzxg/j/7jguz5254UdkCVRnY/HNiT9+XHn86hcNAp21O146yTG1C3vKlLUCh
2yQrI/adHXFlX3Qq3kZkiIGf52c382WX6lcvWTLkbja7mibjS6M60NJEEHc+nk3TH/pjl5Kn995V
fWlJCIIgCIJ8n1DnH/I8ExcZVspksJkMduxpp+41Z0HlO4zeejw4m8lgp4Y+9Vw2qUPd2VGiJJXB
O7OYUY8W6ICu1aMEBpvJYDMj/EaqAACoDtr656gib6dFJ0JjXiWHBhzYFtt+oW1fVQAAimqP6Ucu
3C5hMtjJd+86mdQXSFCXQr8Vx5PiGGxmdMqFPcdPXclnxr4L2TC1PQ0AFH+Yt36Y8M6mdVuCH10P
9vh9c4Rw+BK7eqdgabrmJx4+Kw/dPV1X7NUD+V7TJ3dhhZ1mfDLRHPXX1SImg82MSDyzepqBRG+Q
KQQAuvYgx/2+aUkMNvPZ26vua4dpNtiQ8rkMhV4OL5lhPsOVRV/VLLzYzCBHI9Gqjqr2v3kngm4W
MBlsJoMVfy9q10hNiuRcHSxd454/YzMZbGY0M8jFro/KR49QNQeJjQ2qwVw/NpNRzrj8+L8bwePb
fS6aOGyI3UsogziiJMgggqpt5u536Y2oqOR74R6Lx+rWLotlkCEySH+8/e57D55UMBlsZmxe6PH1
veqCTUzYKPbZH85gMx9dHKekOGp/ZuqzpG29qNq/3L+/YXDLXThDEARBEAQhhD7vDws4s+evTczC
cr6chhb91ftqAKCoD90X6LGEf2fr6kNJlB8WODsEB2pNmbontExIklSZ6DFmkr+pg6fPqCgbm38T
uADAL8vmAIBqv19+1njtHpjCUe/n6LJxlYWJviJAcldtWjRHc+xxf5fpxde3ON1Ol+tiMX/Z/z6q
I66LrtfftHOO1y+b06YedltUcXqedeasQ9uPOtx8sC1Rx3RoJ3jl8lzV/twlF8VTY51uJ8COMf21
aMm5ousECoZmEw1pNBg5vpP85YIPn/tEofuvUzuUPXR5+ump56z7xzfdyuRoDXTYsvj80dx+8/wz
eLIpjOeo9N/l77206tJmx0OxLB3zJRt3nt5fNuEP7yy+RBniUer7l/fGWW98HG1DU1lU9Q6du/Lf
siWfgxeUJF7btf6/7IJKqlYf600bDntx48ftjeYAAE1vhPjYyL/pbPpcSU7P0s9n8WfFkcQGqV2E
MogjSkAigwSqcpcxQzuXndq05FGJguHQpWsdrgbpTJrm/qRcKJMMAJrevEMBpyYInpzzWhqVkcOR
0zVQTc/h1dYoJmy4KTtnTP6707SQgN8SVizczOy8/cLhYQGLp/ky33OlNwVBEARBEKS5oANw0i4G
3nzArv9fqqHlyiX6b3Zbbj3IrAIIe5gq1+ea/fbJJ59cyDcgTMrlfyhKS6/QKKmG6pLX6Rmv6ibb
coYDTdqVvYgu0Jh16Pje3qEOi1zBwetvXXk6hWZkaTdTnblptovHGx7Ak8cVo+08NSTJYAGAsCQ1
JjaSn8i11UyJjApjP1s/p1cnVcorLUMNYMfnVqkM6KSqqmCoxk1+z4EBhmpyULMkqIz3XLibNZ4S
eTSuwXoAQOmHabP1y24Efb4Z5c2D6yGhLIDo5HajX26xHKUVkJEPMilM1LRcvaJjjL35Lv98AQDE
pApHRbjbjdP3OZPNkyRDPHIahmpQwoy9HxmXxweIY0iTCQA+ZIZdzBT9mZBIGTX3xGAzfXr0648q
xMQG8Fg5qSygcwo4nxdG0l65tWsdsXYRyRASRhSJDMnkxIbdi2ABRD14KXx6ydZlos+EoDy+TDJU
TO3dJ6hG7Zw+zTdL7L4fcWHDKy/IFXTv0kGQefhF5nthP2MNdlxUypsCtrgCEARBEARBWhrxt90q
dR/RDQqe3v84yeFmhj8sAJNhRkpkSSTI6XbTguKsYtXBS0YrPTt8+OzTtIySagAAUOwy1AgKGBG5
vAa5pKpLIBAChUoBoYAnACqVUvsMG07Slp8nm0x0jWx4twK/6NEZjy0+MXli7i5Q7PuLRYfSR2fi
ieZn/MKMbA6oGarTZFWoaGxmTJMf6h0ey2Yy2ExGRYy7OR10u2rV22QjUcanlEdt3HlfYHU0I+L8
+U3zLY1VpXsuDq39CJuTAVffJcRWvHz8Yu9weZBXkZP5lnNpvCHWruaV0Qg4GaH3Cih9RooUyiCD
bjBwgA4k+dx6L+k+gPphAwB0vT492hW9TC4XKHUeaEzJjswUszpFEARBEARpFUhuL6Z88oBIipRJ
BGUpqcpD9QeBqp4OtTIpm11/Ki4UCIFCpRKVIqkuoYDPEwjq/YNXnFUKKnr6ylReYW4mAFW3vYES
lGSVV0vWCaDUa8EkncK7lxkktz3zq/lApdUKa7RCCoVKgeLr1otOvazbKCKsLn1fNysUK0MoEABV
nibWU9yUC85975pYTp9qNXNpkK1jrNeqmQeii/hkueQ6W130WdUt3Gut/ePkUor+qDUB63SIzf7U
KCJzyb0hzq4WkSF1fgEAhUKRWYZQIAQQSnXjem3YKPbee9PP0RAAjEMT5okS9z18ti/bb/Sk/bG4
NEAQBEEQpLURfw6Ukx6ZATpDxnWquUtSwchsjC4kR2dyyJJECLmVVaCk+elpaiGXXQ2K7eQ5RWWg
qKVK/6SuiHTQGW7ZreGj5SXWBQDshytHafx6u7Bus7og/0XMO+g1d4joyaNUnSET+0LOw7jiunkb
TXu0teNum6F6Dc6lq/aZPk27+EpwcoV4fzWLQk5aeLpQy3QwPTclLeNVzed1eiG39idiZfDKcktA
qbuxJtE6rqoo+dKpfVbTJgxxyxhkt9HWiE6eS7HriL7UrH/dvAMiEuOTEiLicqSfjgqr2B8A2mkr
13OhZG+ItUuSDLERRSKjEch1GDxaF5jPsj7IKIOX+yKhCHpZjxNzGzUh3LSDdmvPFEDm2VXDJy9w
iKwSJh60sJw1cOHpl3gvAYIgCIIgXwDxs0tB1o2jJ5ef2PLvbt6B60m0nr+vse+Re3HKzTw+CImT
RFRnx6Vx7M13OE53Cyuk63Vu9yLYL636fUoBWPQ04FwNToRdtpa9nlyhUGvr+tt7+QlnnyP0AwGh
WVytIe0BqiTJUCax6UNK4L5oqyN73V2UzkbCgFXbRlKid3ul1u3sUO639OzW2bowQyPe0uF5/Ymf
iukcc52CO75JUm5Ql02hIPvG4WP2Jx19vTX/8b+eXFStpNvDoOySb+g7HpkMfmHMhXjhvtXbt7N8
H+TydAfrAny88qFqunWTeWlkNCOzlKuob2baHviZeRwBeS7u29hUMLNeOT/eNzaTQ9Hupyf9A28E
5elROfB/9s48Lubt/+PvWdr3TYukSyi+ITvh6soWsqvr2kI3S5IrdK1ZLhUh3ItbyJIUuvadirSR
0aLUVEhpX6cxZpr5zO+PSPT5fGb61FT8zvPhD3X6fM7rvN/v8z7nfLbj5rzMufxhsbqRwvNLIdkC
SbGB3y5JMnAjik8iQ6L4/ktWuinHZglNZq5ys6i+P+d2oZCqjJoXAVsfjzm84+w185Onn2QX8Zka
+obMxPCwHGIZYkFpGd1Ui5cUlZjyRm9sB+a7iKcsdg66PYBAIBAIBKKNILjgLK5K8JjtXrbdfc2+
A2pQkxkZOGvrv3XfjSEpqju0PNJ3WfBfu+d6XVgEwvK04x43QrKq8mLjCtdMmN69fPVanxEn/0xM
XgcAH+I4AjGIqxPWzlpRsNltqZefOwNAWPX62a1MLiZFXQQI84Ncl6pt37DOx38NcNJu+0/e/F/D
TQn4eTF386Y50mLuffMleNVeC0drFFy9lir1K6vUFIo5z/+cuTh33Yply7bPUwEQVWdFB0Wc+7wk
IJIhzAt0XW24y+N3H/8/AEBQlZN4h/0BAwCGgiJdd8ga73l68gAgKM6I81vpHVaIkR8leB3s6Kqx
z33+ibOrFADEfM77tMdZXOm2b+Bn+HkG9vFe4HfYHqt8ddzjVmi2ACO3BkG7JMnAjSg+RiJDknZM
xcrde5Y+Q1jACl/u6ne1VBprEMgQ5gctdyhavGLtLJeA35QBgFuYcnbznYskSwIARWOrbvT8Q28+
grKJtbEwM/E9Wg8gEAgEAoFoO2h9lc1apSL5rp5XLnpW+/Sfez5bJK+jr6csKH9fxpN697DWQN3a
OyPI6swM+3XJbfkARzuR0eK0h3YxO/0W89CjfMXI8Xe/x93NEAgEAoFAIGRBq+1eLMg57BkwPWz9
rf1MZ+//nhSU0XQUmDSeqB3ty6s22GG4ekF4SEbbTsTbiYwWp5XaRVPU69FFV6nxSzKYoOh1TrFM
60YgEAgEAoH4Lmm1JQGIa5KOjnWoPuS78mbEGgCAisu2P2+LpfBVedlA0+jj9LPKu3M309t0Kt5O
ZLQ4rdYuxW4Lr4XPMcIpKTkyY7JnhWxrRyAQCAQCgfgOabUHh75AV9UzNFAWlRcWl/MlPvWNQCAQ
CAQCgUAgZEobLAkQCAQCgUAgEAhE+6E1tohFIBAIBAKBQCAQ7Zb2tyRQMJ3otcXFVrcdKaOrWy7d
tNHDUqmthSC+J1DYIBAIBAKB+E5o+Yk3TaWT1URbS11q28kCKJhNXTvPtqdy2y4J5CxWXuEm75ug
QQMAukbvRQtm2hq23rvYuDLaETT1UduuVqaEbOnVeM9paWhSu4gjqrkymkSTA7vtwgaBQCAQCASi
SbT8xFvewsk3bLudqVyjEpqyxTTP25FxXDarLCrAd6Kx9HvlNhW6Rt9V/mF5mSxuZmTCwQXDNJvY
TnnTmVNNah6Fx1S36UdS24mMxtCVTLp3lFPs3FNPnsrhTWsXcUQ1U0bTIJZBEbq+/fGK5942qqDQ
Y3lKxtVN3VuhFQgEAoFAIBCNab0rmAyTaT4RPuZRez1tooqU+875e89Rcf7s9S8+yKAqo4V/H9tl
+dL/T/cn0M99i/v1QxyrheFvpd4XTaHLeEcT7t1tSRI3SpYp7UQGDqKiYOdpL01rX72ksuFXi7Wr
eTLaGtV+dhZY0rlkLsNg0AjTiqf335FteIxAIBAIBAIhM+hz9h85lRQbXclmcdksbuJJ966froLK
G47cfPRSPpvFzYx8emTZeMMvV0eJilQGbM9jx0XN0wU9x6gUFpfN4rJjgoepAACo9t/85/CyQPdF
xyITXqVHhvptSeywwMlSFQCAptptysHzdyrYLG76vXvuFg0FEtSl0HvF0bQkFpcdn3F+19ETV4vZ
ie/C10/qwAAAxR4O6waL725Yu+lS1I1L/nM3xoiHLHFucAmWoWdzLOJZdeTOKXq4dw/kzadMMOVE
n2R9NdEc/te1MjaLy45JPbXa3kiiNcgUAgBTp7/b3jNZaSwu+9nba75rBms1eiDlWxkK5q4v2dFB
Q5TrflS3DeCyL7iZ1K3q6Or/czh24VYJm8VlszjJ9+N2DNOiST7K0M476fkzLpvFZcezL3g591L5
bBG6Vn/c2KAbzQ7mslnVrCuP/rt5aYzat6KJw4bYvIQyiCNKggwi6DrWvsGX39SdKv3+E//Fv+jV
L4spyKhrkMEYl533Hz6uYbO47MSiyKPrzL8EG07YKPba+4TFZUddHK2kOHxvbuaztC3mdJ3pDx6s
HyC7G2cIBAKBQCAQhDAdfreFU7v+2sAurRbJaWozX72vBQCaxqA9Yf5LRHc3r96fRusxz8P1Upj2
xEm7IqvEJEUfUv1HjQ+xcj0SNDxu4cJ/U/gAIKrK5wGAau/pkzVf+4Zl8DR6u3l5rrK1MFAESP9J
hxHP0/rlaIjXlPIbm9zvZMuZ2s5Z9r/P6ojrYur3sepcEDB9Y9akAz6Lak46zM+dsX/rIddbD7ek
6loN6gSvvJ6rupy97KV44hf3OymwbVQfbUZ6Yd19AgVj63HGDAYMG9NJ/krJx29totD110mGVRFe
T7++9Jz34OiG27k87X6umxafO1TY2yEkR0hNYTJPpc+OkMClgssb3fYncnRtlnhuP7m3auzvgXki
iTLwUbL8K9BzxpsgN6fITA5dw7DzT6K3XMnX4LGK1Os71v2XX/KBrt1r/ob1BwL4yaN3x/MAgKE/
FD82im95WD1XktO3Cw5a/M3pSGKDtF2EMogjCiORQQJd2XTUoM5VJzYsiapQMB60dI3rtQu64+19
H1eLKckAYOg77A89MRZ7fDZgaVxOAU9Oz0g1u0BYXyNO2PAztk+dcLiTfXjobykrFmxkd956/sDg
0MX2Z9jvf6z96RAIBAKBQHwnMAF4WRfDbj3kNvwt3dhu5RKDNzvtNu9jCwCiIzLlel132Trh+OPz
xUaERYWij2VZ2TWaFbVQW/E6O+fVl8m2nHE/C7WqF/ElmjP2H93dM9J1kTe4BhzWk2fSGCZ2ztM0
2Btmevm/EQI8flQz0vmIpiQZHAAQV2QmJMaKUvlOWhmxcdHcZ+tmmXdSpb3SNtYEbnKhQKVvJ1VV
BWN1fvp7HvQ1VpeDT0uCD8lHFuzkjKHFHkpqtB4AUOphP9Og6uaFbx9GefPwRngkByA+XW3ky012
w7VDc4qBksJULbvVKzomuNjsCCnGACAhUzw8xtd5tEHQqXyhJBn4yGkaq0MFO/FBbFKRCCCJJc1B
APAxN/pibt1/U1Jpw2cfG2BtwIx//VkFTmyAkFOQyQEmr6TRxtMk/iqsX+vgtotIhpgwokhkSKYg
Mfp+DAcg7uFL8dPLTl7jgsZeKBJRkqFi5eI7VjVu+xT7M3m4z/3ghY2wuqQQ62pqiOUeeJH7Xtzb
TJObFJfxpoSLdwIEAoFAIBAIWYP/2q1S16FdoOTpg8+THH7uk4gSsBhsokRWRIKcXhdtKM8rVx2w
ZKTSswMHTj/NyqmoBQAARdNBJlDCiikUNjpKqrowTAw0Og3EmBADOp1W/w0bXtqmyRMsxnnHNn5b
QVQWdcp/U1BCEc7bBYqW020NK6NOJRPNz0SlOfk8UDfWYFBVqGhmbcaQHxT4JJHLZnHZrJoEXxsm
6P2k3eAhG4kyvqY6znP7A8zxUE7MuXMb5tiZqUr3XRxGh6ELj4dee5eSWPPy0YvdQ+RBXkWO8ivn
0lgDt10tK6MJ8HIi75fQeg2rU0hBBtOoX19dSAu6/V7SewANwwYAmPq9uqmVvUyvxpQ69zOj5cfm
4qxOEQgEAoFAIFoFkteLaV99IJImZRHBuZRU5aH2I6aqr0v/kJbPbTgVF2NioNHpRGeRVJcYEwkx
rMEvhOV5laCib6BMF5YW5gLQ9ToYKUFFXnWtZJ0ASubzxuuW3rvCInntWVQrAjqjXliTFdJodBqU
35i/6MTLLw+KiGsr33+ZFeLKEGMY0OUZuJbiZ5z3sLxnYTdlkuO0pRec3BIDVk3ziy8TkR0l19nx
YtCqLk8C1rg8Sq+kGQz/I3StLnGzv24UUXPJrYHXLpnIkPp4DIBGo1GWIcbEAGKpXlyvDxvFnrtv
BbsZA4BZZIpDXeGeiGd78oNHjt+biJYGCAQCgUAgWhv8a6C87Ngc0B04utOntyQVTKxH6UF6fC6P
rKgOMf+DAJS0vr5MLeZza0FRTZ5XVgWK2qrMr+qKyQbdIXZdGn9aXmJdAMCNWDlc89c7pV8eVseK
XyS8A/PZA+u+PErXHTjOEgoiksq/zNsYOiPnu+1cOEi/0bV01V5T7HXKr15Kr8G3V4so5GU9yRZr
Ww1gFmZk5bz69O91dim//k9wZQirCitAqauZFtE6TlCWfvnEHkf7sQN9cvo7ezqZMMmPUvxpqCU9
71+fwNCY1OS0lJikAumno2IB9yOAmo5yAxNKtgZuuyTJwI0oEhlNQM5wwEg9YD/L+0hRhrDwRUoZ
mM8fjfMaNSH8rH3Oa06VQO7pVUMmzHONFYhT99nazei34ORL9C4BAoFAIBCINgB/donl3Tx0fPmx
Tf/uFPrdSGN0n/uHS7fCixNvFYlATFxUR21+UhbPxWab2xSf6FKmfme1F5eCs2rfZ5SAbXcj3rVL
qbDDyc788VUavb6uw4HLj3kEHWT6hUbm8bUHdgAQSJKhTNKmjxlhe+IdD+729VI6HQt9V20ZRovf
GZD55ckO5d5LT2+eqQdTNZPtXJ83nPipWM2y0S25eyZNygfUqSnE8m8e+MfluNuZQK2/Q26kl9Uq
6XUzqrp8JvKdkEyGqDThfLJ4z+qtWzlnHhYK9QboAXy+86FqtXmDTWVsPCu3kq9oYG3VAUS5RTyM
/Cj+28RMsJ6/ck7ymcRcHk2nt770H7zBqrPjCsDNeZlz+cNidSOF55dCsgWSYgO/XZJk4EYUn0SG
RPH9l6x0U47NEprMXOVmUX1/zu1CIVUZNS8Ctj4ec3jH2WvmJ08/yS7iMzX0DZmJ4WE5xDLEgtIy
uqkWLykqMeWN3tgOzHcRT1nsHHR7AIFAIBAIRBtBcMFZXJXgMdu9bLv7mn0H1KAmMzJw1tZ/674b
Q1JUd2h5pO+y4L92z/W6sAiE5WnHPW6EZFXlxcYVrpkwvXv56rU+I07+mZi8DgA+xHEEYhBXJ6yd
taJgs9tSLz93BoCw6vWzW5lcTIq6CBDmB7kuVdu+YZ2P/xrgpN32n7z5v4abEvDzYu7mTXOkxdz7
5kvwqr0WjtYouHotVepXVqkpFHOe/zlzce66FcuWbZ+nAiCqzooOijj3eUlAJEOYF+i62nCXx+8+
/n8AgKAqJ/EO+wMGAAwFRbrukDXe8/TkAUBQnBHnt9I7rBAjP0rwOtjRVWOf+/wTZ1cpAIj5nPdp
j7O40m3fwM/w8wzs473A77A9VvnquMet0GwBRm4NgnZJkoEbUXyMRIYk7ZiKlbv3LH2GsIAVvtzV
72qpNNYgkCHMD1ruULR4xdpZLgG/KQMAtzDl7OY7F0mWBACKxlbd6PmH3nwEZRNrY2Fm4nu0HkAg
EAgEAtF20Poqm7VKRfJdPa9c9Kz26T/3fLZIXkdfT1lQ/r6MJ/XuYa2BurV3RpDVmRn265Lb8gGO
diKjxWkP7WJ2+i3moUf5ipHj736Pu5shEAgEAoFAyIJW271YkHPYM2B62Ppb+5nO3v89KSij6Sgw
aTxRO9qXV22ww3D1gvCQjLadiLcTGS1OK7WLpqjXo4uuUuOXZDBB0eucYpnWjUAgEAgEAvFd0mpL
AhDXJB0d61B9yHflzYg1AAAVl21/3hZL4avysoGm0cfpZ5V3526mt+lUvJ3IaHFarV2K3RZeC59j
hFNScmTGZM8K2daOQCAQCAQC8R3Sag8OfYGuqmdooCwqLywu50t86huBQCAQCAQCgUDIlDZYEiAQ
CAQCgUAgEIj2Q2tsEYtAIBAIBAKBQCDaLe1vSaBgOtFri4utbjtSRle3XLppo4elUlsLQXxPoLBB
IBAIBALxndDyE2+aSieribaWutS2kwVQMJu6dp5tT+W2XRLIWay8wk3eN0GDBgB0jd6LFsy0NWy9
d7FxZbQjaOqjtl2tTAnZ0qvxntPS0KR2EUdUc2U0iSYHdtuFDQKBQCAQCESTaPmJt7yFk2/YdjtT
uUYlNGWLaZ63I+O4bFZZVIDvRGPp98ptKnSNvqv8w/IyWdzMyISDC4ZpNrGd8qYzp5rUPAqPqW7T
j6S2ExmNoSuZdO8op9i5p548lcOb1i7iiGqmjKZBLIMidH374xXPvW1UQaHH8pSMq5u6t0IrEAgE
AoFAIBrTelcwGSbTfCJ8zKP2etpEFSn3nfP3nqPi/NnrX3yQQVVGC/8+tsvypf+f7k+gn/sW9+uH
OFYLw99KvS+aQpfxU59XhAAAIABJREFUjibcu9uSJG6ULFPaiQwcREXBztNemta+ekllw68Wa1fz
ZLQ1qv3sLLCkc8lchsGgEaYVT++/I9vwGIFAIBAIBEJm0OfsP3IqKTa6ks3islncxJPuXT9dBZU3
HLn56KV8NoubGfn0yLLxhl+ujhIVqQzYnseOi5qnC3qOUSksLpvFZccED1MBAFDtv/nP4WWB7ouO
RSa8So8M9duS2GGBk6UqAABNtduUg+fvVLBZ3PR799wtGgokqEuh94qjaUksLjs+4/yuoyeuFrMT
34Wvn9SBAQCKPRzWDRbf3bB206WoG5f8526MEQ9Z4tzgEixDz+ZYxLPqyJ1T9HDvHsibT5lgyok+
yfpqojn8r2tlbBaXHZN6arW9kURrkCkEAKZOf7e9Z7LSWFz2s7fXfNcM1mr0QMq3MhTMXV+yo4OG
KNf9qG4bwGVfcDOpW9XR1f/ncOzCrRI2i8tmcZLvx+0YpkWTfJShnXfS82dcNovLjmdf8HLupfLZ
InSt/rixQTeaHcxls6pZVx79d/PSGLVvRROHDbF5CWUQR5QEGUTQdax9gy+/qTtV+v0n/ot/0atf
FlOQUdcggzEuO+8/fFzDZnHZiUWRR9eZfwk2nLBR7LX3CYvLjro4Wklx+N7czGdpW8zpOtMfPFg/
QHY3zhAIBAKBQCAIYTr8bgundv21gV1aLZLT1Ga+el8LADSNQXvC/JeI7m5evT+N1mOeh+ulMO2J
k3ZFVolJij6k+o8aH2LleiRoeNzChf+m8AFAVJXPAwDV3tMna772DcvgafR28/JcZWthoAiQ/pMO
I56n9cvREK8p5Tc2ud/JljO1nbPsf5/VEdfF1O9j1bkgYPrGrEkHfBbVnHSYnztj/9ZDrrcebknV
tRrUCV55PVd1OXvZS/HEL+53UmDbqD7ajPTCuvsECsbW44wZDBg2ppP8lZKP39pEoeuvkwyrIrye
fn3pOe/B0Q23c3na/Vw3LT53qLC3Q0iOkJrCZJ5Knx0hgUsFlze67U/k6Nos8dx+cm/V2N8D80QS
ZeCjZPlXoOeMN0FuTpGZHLqGYeefRG+5kq/BYxWp13es+y+/5ANdu9f8DesPBPCTR++O5wEAQ38o
fmwU3/Kweq4kp28XHLT4m9ORxAZpuwhlEEcURiKDBLqy6ahBnatObFgSVaFgPGjpGtdrF3TH2/s+
rhZTkgHA0HfYH3piLPb4bMDSuJwCnpyekWp2gbC+Rpyw4WdsnzrhcCf78NDfUlYs2MjuvPX8gcGh
i+3PsN//WPvTIRAIBAKB+E5gAvCyLobdesht+Fu6sd3KJQZvdtpt3scWAERHZMr1uu6ydcLxx+eL
jQiLCkUfy7KyazQraqG24nV2zqsvk205434WalUv4ks0Z+w/urtnpOsib3ANOKwnz6QxTOycp2mw
N8z08n8jBHj8qGak8xFNSTI4ACCuyExIjBWl8p20MmLjornP1s0y76RKe6VtrAnc5EKBSt9OqqoK
xur89Pc86GusLgeflgQfko8s2MkZQ4s9lNRoPQCg1MN+pkHVzQvfPozy5uGN8EgOQHy62siXm+yG
a4fmFAMlhaladqtXdExwsdkRUowBQEKmeHiMr/Nog6BT+UJJMvCR0zRWhwp24oPYpCIRQBJLmoMA
4GNu9MXcuv+mpNKGzz42wNqAGf/6swqc2AAhpyCTA0xeSaONp0n8VVi/1sFtF5EMMWFEkciQTEFi
9P0YDkDcw5fip5edvMYFjb1QJKIkQ8XKxXesatz2KfZn8nCf+8ELG2F1SSHW1dQQyz3wIve9uLeZ
JjcpLuNNCRfvBAgEAoFAIBCyBv+1W6WuQ7tAydMHnyc5/NwnESVgMdhEiayIBDm9LtpQnleuOmDJ
SKVnBw6cfpqVU1ELAACKpoNMoIQVUyhsdJRUdWGYGGh0GogxIQZ0Oq3+Gza8tE2TJ1iM845t/LaC
qCzqlP+moIQinLcLFC2n2xpWRp1KJpqfiUpz8nmgbqzBoKpQ0czajCE/KPBJIpfN4rJZNQm+NkzQ
+0m7wUM2EmV8TXWc5/YHmOOhnJhz5zbMsTNTle67OIwOQxceD732LiWx5uWjF7uHyIO8ihzlV86l
sQZuu1pWRhPg5UTeL6H1GlankIIMplG/vrqQFnT7vaT3ABqGDQAw9Xt1Uyt7mV6NKXXuZ0bLj83F
WZ0iEAgEAoFAtAokrxfTvvpAJE3KIoJzKanKQ+1HTFVfl/4hLZ/bcCouxsRAo9OJziKpLjEmEmJY
g18Iy/MqQUXfQJkuLC3MBaDrdTBSgoq86lrJOgGUzOeN1y29d4VF8tqzqFYEdEa9sCYrpNHoNCi/
MX/RiZdfHhQR11a+/zIrxJUhxjCgyzNwLcXPOO9hec/Cbsokx2lLLzi5JQasmuYXXyYiO0qus+PF
oFVdngSscXmUXkkzGP5H6Fpd4mZ/3Sii5pJbA69dMpEh9fEYAI1GoyxDjIkBxFK9uF4fNoo9d98K
djMGALPIFIe6wj0Rz/bkB48cvzcRLQ0QCAQCgUC0NvjXQHnZsTmgO3B0p09vSSqYWI/Sg/T4XB5Z
UR1i/gcBKGl9fZlazOfWgqKaPK+sChS1VZlf1RWTDbpD7Lo0/rS8xLoAgBuxcrjmr3dKvzysjhW/
SHgH5rMH1n15lK47cJwlFEQklX+ZtzF0Rs5327lwkH6ja+mqvabY65RfvZReg2+vFlHIy3qSLda2
GsAszMjKefXp3+vsUn79n+DKEFYVVoBSVzMtonWcoCz98ok9jvZjB/rk9Hf2dDJhkh+l+NNQS3re
vz6BoTGpyWkpMUkF0k9HxQLuRwA1HeUGJpRsDdx2SZKBG1EkMpqAnOGAkXrAfpb3kaIMYeGLlDIw
nz8a5zVqQvhZ+5zXnCqB3NOrhkyY5xorEKfus7Wb0W/ByZfoXQIEAoFAIBBtAP7sEsu7eej48mOb
/t0p9LuRxug+9w+XboUXJ94qEoGYuKiO2vykLJ6LzTa3KT7RpUz9zmovLgVn1b7PKAHb7ka8a5dS
YYeTnfnjqzR6fV2HA5cf8wg6yPQLjczjaw/sACCQJEOZpE0fM8L2xDse3O3rpXQ6Fvqu2jKMFr8z
IPPLkx3KvZee3jxTD6ZqJtu5Pm848VOxmmWjW3L3TJqUD6hTU4jl3zzwj8txtzOBWn+H3Egvq1XS
62ZUdflM5DshmQxRacL5ZPGe1Vu3cs48LBTqDdAD+HznQ9Vq8wabyth4Vm4lX9HA2qoDiHKLeBj5
Ufy3iZlgPX/lnOQzibk8mk5vfek/eINVZ8cVgJvzMufyh8XqRgrPL4VkCyTFBn67JMnAjSg+iQyJ
4vsvWemmHJslNJm5ys2i+v6c24VCqjJqXgRsfTzm8I6z18xPnn6SXcRnaugbMhPDw3KIZYgFpWV0
Uy1eUlRiyhu9sR2Y7yKestg56PYAAoFAIBCINoLggrO4KsFjtnvZdvc1+w6oQU1mZOCsrf/WfTeG
pKju0PJI32XBf+2e63VhEQjL04573AjJqsqLjStcM2F69/LVa31GnPwzMXkdAHyI4wjEIK5OWDtr
RcFmt6Vefu4MAGHV62e3MrmYFHURIMwPcl2qtn3DOh//NcBJu+0/efN/DTcl4OfF3M2b5kiLuffN
l+BVey0crVFw9Vqq1K+sUlMo5jz/c+bi3HUrli3bPk8FQFSdFR0Uce7zkoBIhjAv0HW14S6P3338
/wAAQVVO4h32BwwAGAqKdN0ha7zn6ckDgKA4I85vpXdYIUZ+lOB1sKOrxj73+SfOrlIAEPM579Me
Z3Gl276Bn+HnGdjHe4HfYXus8tVxj1uh2QKM3BoE7ZIkAzei+BiJDEnaMRUrd+9Z+gxhASt8uavf
1VJprEEgQ5gftNyhaPGKtbNcAn5TBgBuYcrZzXcukiwJABSNrbrR8w+9+QjKJtbGwszE92g9gEAg
EAgEou2g9VU2a5WK5Lt6XrnoWe3Tf+75bJG8jr6esqD8fRlP6t3DWgN1a++MIKszM+zXJbflAxzt
REaL0x7axez0W8xDj/IVI8ff/R53N0MgEAgEAoGQBa22e7Eg57BnwPSw9bf2M529/3tSUEbTUWDS
eKJ2tC+v2mCH4eoF4SEZbTsRbycyWpxWahdNUa9HF12lxi/JYIKi1znFMq0bgUAgEAgE4ruk1ZYE
IK5JOjrWofqQ78qbEWsAACou2/68LZbCV+VlA02jj9PPKu/O3Uxv06l4O5HR4rRauxS7LbwWPscI
p6TkyIzJnhWyrR2BQCAQCATiO6TVHhz6Al1Vz9BAWVReWFzOl/jUNwKBQCAQCAQCgZApbbAkQCAQ
CAQCgUAgEO2H1tgiFoFAIBAIBAKBQLRb2t+SQMF0otcWF1vddqSMrm65dNNGD0ulthaC+J5AYYNA
IL5TGDoj9pw+eXioyg9W13dHO5wRtSHIGjKm5Q1LU+lkNdHWUpfadrIACmZT186z7ancti6Xs1h5
hZu8b4IGDQDoGr0XLZhpa9h672LjymhH0NRHbbtamRKypVfjPaeloUntIo6o5spoEk0O7NYOGzJr
NLdXNhu60exgLptV9+/2WLW20iEJaoZqafPK0JUkXa+9ZpuW5HuJw3qa4pTmhs1XddGUTX4e2tdM
rekDMb4MMstLXVd7DVFZ5l5Zzoik7w6NLU/SLhkON+1jfigl3122AVksCeQtnHzDttuZyjUqoSlb
TPO8HRnHZbPKogJ8JxpLv1duU6Fr9F3lH5aXyeJmRiYcXDBMs4ntlDedOdWk5lF4THWbfiS1ncho
DF3JpHtHOcXOPfXkqRzetHYRR1QzZTQNYhkUoevbH6947m2jCgo9lqdkXN3UvXmtILNGi4tvKljx
nfUDJ8+2XnIyq60kSAU1Q7W0eWXnSpKu126zTUvyvcThZ5rklGaGTUsFAL6MlrB8uw3Rdp17SZDa
KTiWJ2lXe25yayKzbENT7D7dm81++E9/KZ9BoCn/NM771NUiNovLjssI3bK4pwrBnLj1LnwzTKb5
RPiYR+31tIkqUu475+89R8X5s9e/+CCDqowW/n1sl+VL/z/dn0A/9y3u1w9xrBaGv5V6XzSFLuMd
Tbh3tyVJ3ChZprQTGTiIioKdp700rX31ksqGXy3WrubJaGtU+9lZYEnnkrkMg0EjTCue3n9HtuGx
ZNq3NYRVeWlVwOT0k0GH/+GQmStJul77zTYtyvcVh01zSvtOy823fPsN0fade0mQ0int1/LtGxlk
G6Zu7/HubitW/2wAUCnlMTTV/r7B3o75p1f8dpvN6Pbruk0HTyu8Hb3pPo476XP2HzmVFBtdWXd3
I/Gke9dPKzt5w5Gbj17KZ7O4mZFPjywbb/hlxUdUpDJgex47LmqeLug5RqXU3S6JCR6mAgCg2n/z
n8PLAt0XHYtMeJUeGeq3JbHDAidL1TrB3aYcPH+ngs3ipt+7527RUCBBXQq9VxxNS2Jx2fEZ53cd
PXG1mJ34Lnz9pA4MAFDs4bBusPjuhrWbLkXduOQ/d2OMeMgS5waXYBl6NscinlVH7pyih7tSkjef
MsGUE32S9VX3Hv7XtTI2i8uOST212t5IojXIFAIAU6e/294zWWksLvvZ22u+awZrNbrJ9q0MBXPX
l+zooCHKdT+q2wZw2RfcTOpWdXT1/zkcu3CrhM3islmc5PtxO4Zp0SQfZWjnnfT8GZfN4rLj2Re8
nHvVrx3pWv1xY+PTvbBq1pVH/928NObbe2EkYUNsXkIZxBElQQYRdB1r3+DLb+pOlX7/if/iX/Tq
l8UUZNQ1yGCMy877Dx/XsFlcdmJR5NF15l+CDSdsFHvtfcLisqMujlZSHL43N/NZ2hZzus70Bw/W
D5B040zeYMTGf8LeZbC4bBbnxe2nQX+M0aaTW0OCeGJTEVmDxIak5iWsSN8+sJp928fy8z13Nevz
yazMDRayuYtI2FNIDUU1NoiRhSupZTaiIuK+TGhD0iJSaxDXRZCIgDR9SeiVREiRlnHVE9ZFbXSo
Py+OU2SVAUhiA4CuMWJdWNWrsJ0D1ekqQ88nsx7P7tAwwrTGB1Yl7bFRoZiWCesiU8gwnnKggB1x
clzd8yl0/XE+eezbB4dp1B1F5Eq6jrXPqQsZifFcNovLjk4J+mNqR6luz7Zi7iWbEeG3i6Y17UQC
N27zkPqrxvLdtjxklR8frUMjs4Z0fBsbJO0iLpIy5qW3BvkJSZMDAeTjF4UpMRXIXanQdaWPuy03
fL57eIHUp1Ts8st4vfKQ3UdCE9Kfx17duv1qiYaVTUdckUyH323h1K6/NrBLq0VymtrMV+9rAYCm
MWhPmP8S0d3Nq/en0XrM83C9FKY9cdKuyCoxSdGHVP9R40OsXI8EDY9buPDfFD4AiKryeQCg2nv6
ZM3XvmEZPI3ebl6eq2wtDBQB0n/SYcTztH45GuI1pfzGJvc72XKmtnOW/a/eOIR1MfX7WHUuCJi+
MWvSAZ9FNScd5ufO2L/1kOuth1tSda0GdYJXXs9VXc5e9lI88Yv7nRTYNqqPNiO9sO4+gYKx9Thj
BgOGjekkf6Xk47c2Uej66yTDqgivp1/nxrwHRzfczuVp93PdtPjcocLeDiE5QmoKk3kqfXaEBC4V
XN7otj+Ro2uzxHP7yb1VY38PzBNJlIGPkuVfgZ4z3gS5OUVmcugahp1/Er3lSl7QYxWp13es+y+/
5ANdu9f8DesPBPCTR++O5wEAQ38ofmwU3/Kweq4kp28XHLT4m9ORxAZpuwhlEEcURiKDBLqy6ahB
natObFgSVaFgPGjpGtdrF3TH2/s+rhZTkgHA0HfYH3piLPb4bMDSuJwCnpyekWp2gbC+Rpyw4Wds
nzrhcCf78NDfUlYs2MjuvPX8gcGhi+3PsN+T7uNGUx/oG3rQmR6xY92h+FIw+mXdv/OHWqgevFcu
JLEGmXgyCK1BYkNS8xJWVJpw4zlsGTfCaHPKawGAUpcRA5VqHkXkNuqZLQFxTyE1FKXYIEZGrqSW
2XCLyPoySbahlIhI8wZhIiJLX5J6Jb4MadJyY4jrojY6fLmg2NgpsssAJLHB0BnreTRsTq3/wmVe
T6sxhYrsCnEvI3U5KKHpdOzIKM0pFmoZaUD5i5JaimmZsC4yhaK8a1vnDgi96uedkLk84OPYf3zG
lAUu3BBbhZG6kq5sajPMTHDaa1ZkCV1/wIqNTsFHyvrOOMWuJdPVmrmXoUs8IyJsV9WTcJZwhPU0
M4W4FD4AyJvYzOhU+8SPVSGmGtiElidrF3GRklQx3wRrkHcikrkNISTjF7UpsVTm/QYxmSuBn+Fl
N2arWKxkudZb6lMKSrPfibV/mdBL80ViJabw05DeOpyX0e9xI54JwMu6GHbrIfcryxjbrVxi8Gan
3eZ9bAFAdESmXK/rLlsnHH98vtiIsKhQ9LEsK7tGs6IWaiteZ+e8+jIkyRn3s1CrehFfojlj/9Hd
PSNdF3mDa8BhPXkmjWFi5zxNg71hppf/GyHA40c1I52PaEqSwQEAcUVmQmKsKJXvpJURGxfNfbZu
lnknVdorbWNN4CYXClT6dlJVVTBW56e/50FfY3U5+LQk+JB8ZMFOzhha7KEknFmHUg/7mQZVNy98
ewvwzcMb4ZEcgPh0tZEvN9kN1w7NKQZKClO17Fav6JjgYrMjpBgDgIRM8fAYX+fRBkGn8oWSZOAj
p2msDhXsxAexSUUigCSWNAcBwMfc6Iu5df9NSaUNn31sgLUBM/71ZxU4sQFCTkEmB5i8kkadi8Rf
hfW5B7ddRDLEhBFFIkMyBYnR92M4AHEPX4qfXnbyGhc09kKRiJIMFSsX37Gqcdun2J/Jw33uBy9s
hNUlhVhXU0Ms98CL3Pfi3maa3KS4jDclXLwT1EPvON51iVHeHntP73QBAKgrzYf5mhKtQSKeHPLY
wLUhuXmJEJXEnU0G/4kjTP59nSWU6zRssIEg6b90ae610pVUVRQYNAAQi/g1NXyRxCLinkJuKAqx
QSJbRq6kltnwikj7Mkm2oZKIpMgbeIkIiJ0isVfiyjCSIi03hrguauNX8ofPE4nGTpFdBiCKDZqS
2eKDvgcGZXjOWv9PGlcMALWlaSXiRZ215Og6kw9fCVT1+9/UcD1TLawwq6gWhALqaRmnLnKFWNXD
Xat39T27N2Bbr0qbMe+OWB9MrhEDuSvrDs2Pf3jzMQcgPkVpWNqWcSN0z7ALSDZObc3cSzYjImlX
afzlaOGuKXZdtqakfwT5bpMmm/FiNsVUYEDvSCmw62lseZJ2kTdZYsw3xRoSTihhbkMM3vhVQjzv
JZ0SS2HeRmDErgQAEIubvNIQvb/usmXIjR2BaYMjr781mvJz7T7nnXcqcc+DfytFqevQLlDy9MHn
FMfPfRJRAhaDTZTIikiQ0+uiDeV55aoDloxUenbgwOmnWTkVdWsURdNBJlDCiils7Cqp6sIwMdDo
NBBjQgzodFr9TWpe2qbJEyzGecc2nlqIyqJO+W8KSsCbpyhaTrc1rIw6lUw0PxOV5uTzQN1Yg0FV
oaKZtRlDflDgk8S6V9FrEnxtmKD3k3aDGzkSZXxNdZzn9geY46GcmHPnNsyxM1OV7rYgo8PQhcdD
r71LSax5+ejF7iHyIK8iR/mVc2msgduulpXRBHg5kfdLaL2G1SmkIINp1K+vLqQF3X4vaebRMGwA
gKnfq5ta2cv0akypcz8zWn6s5Gviil2HdaWVxd9+07xXDqRFWmt8bUNpi75CVHQj+Lmo++SJxkxg
aA8d3Vn4/HqcNG8QKvU9GPko/1lU/rOo9xF/DlaSoqhd9BSZuZJiZmtcRNqXSWxIxbzUxhQgdor0
vfIrI0iRlhtDUlfzxi8cp8guAxDGxvBdJw6OKdns+Mff9XN0jPs2m6PayVBdp/9vlnToPn6UvkrH
rmoV7Hwp7kuTgVOXJIViXvqelXsTjMc79SnwXnMq5dOsXHpXispy8j+AqqGEOG3N3EsyIyJrF1Ya
e+wxv9PECRaKAApdf5tmXHkvJKpCTDWwv1TatKmIFBDHPE7txNYgP2ELZOwG41eLT4nJIHYlVRhK
HTt3VC16EnDpRSkmEin1nO0w3ATf/SQP+n7tKJqURQTnUlKVh9qPmKq+Lv1DWj634YAlxsRAo9OJ
ziKpLjEmEmIN1/fC8rxKUNE3UKYLSwtzAeh6HYyUoCKvmvTG4GeUzOeN1y29d4VFco1SVCsCOqNe
WJMV0mh0GpTfmL/oxMsvD4qIayvff5kV4soQYxjQ5Rm4luJnnPewvGdhN2WS47SlF5zcEgNWTfOL
LxORHSXX2fFi0KouTwLWuDxKr6QZDP8jdK0ucbO/bhRRc8mtgdcumciQ+ngMgEajUZYhxsQAYqku
BtSHjWLP3beC3YwBwCwyxaGucE/Esz35wSPH700kXBrQGHIMwGqFxJmhudZoQBOs0cCGTSj6Cqwo
8txd3l6nSSbHznWd1VOcsPl5Gck1u3r4mXtcXM4p0AAA4xel8qUpIu4pxDQnRPFoVVd+giSzERUR
9mUSG1IxL2ldhJA4pQm9sqECiWkZDwl1NXl0+AyOU2QWNsSxwb4cXmk/fdu+5S8WHoz8dJmS/zap
ABvS7X8jzSwzT/ozZ839xTzaAN5eKqg3FDUZeHVJVMjsOHhET4ZYBKYO03se8nnBEQO5K7+d+4tF
GNDIp6Wt3GGJZ0SkISquigx6UHnKboHFETZz9m9GxedOJVVLPEoi0syImghhzOP/Men8kOCELZOx
vxm/WnJKTF4vkSspojrwj9NLlA7Y/eHDFsCpM3tCPRNObfK5/tjxYeMLb/irJl52bA7oDhzd6dNr
Nwom1qP0ID0+l0dW9Kk1/A8CUNL6etUt5nNrQVFNnldWBYraqsyv6orJBt0hdl0af9BXYl0AwI1Y
OVzz1zulX1qGFb9IeAfmswfWfXmUrjtwnCUURCSVf8naDJ2R8912Lhyk3+jSgGqvKfY65Vcvpdfg
GqZlFPKynmSLta0GMAszsnJeffr3OruUX/8nuDKEVYUVoNTVTItoHScoS798Yo+j/diBPjn9nT2d
TJjkRyn+NNSSnvevT2BoTGpyWkpMUoH0T2+LBdyPAGo6yg1MKNkauO2SJAM3okhkNAE5wwEj9YD9
LO8jRRnCwhcpZWA+f3RT3ifiZ+1zXnOqBHJPrxoyYZ5rrECcus/Wbka/BSdfkr1LwH+XXAB6/YZ2
IFzHE1uDzIa4SB8bDW0osQir5dcCKKsrfpN4sPLY/VfKuv3qYGM9aRCwTjwqlWo+h9VkJiZExMRH
xMRHJb756tFjkiKCngIARIZqTojiITNXUspseEWS+zKxDcmK8BRKk0VxIHaK5F6JF4eS0zKeeJK6
qI0On8BziqzChiQ2CqP8J0zeEq694Pp5D1vtOmth5ZkZVXrDnBf3SD8Tdiw4u+f8XyfrVz7P4tR3
MpK0TJQBCOoiV0hTtXQ+v61/8l8OgzbHGy3eu+fnukFfCleSgOPl1sy9ZDMi0naJqxPPBuXrOC4e
6+AyXufV2WNpH6U4CoDUKcSxQdIu8iYTxjx+ciC0BtkJmzO3qafB+NWcKTGZeQkyNpErpQDnhAxt
s+7atfmpxXX3MbCKl7HpIkWTjrj+wY9wLO/moePLj236d6fQ70Yao/vcP1y6FV6ceKtIBGLiojpq
85OyeC4229ym+ESXMvU7q724FJxV+z6jBGy7G/GuXUqFHU525o+v0uj1dR0OXH7MI+gg0y80Mo+v
PbADgECSDGUSm3zMCNsT73hwt6+X0ulY6LtqyzBa/M6AzC+3/JR7Lz29eaYeTNVMtnN93tDWKlaz
bHRL7p5Jk/JJSGoKsfybB/5xOe52JlDr75Ab6WW1SnrdjKoun4l8JySTISpNOJ8s3rN661bOmYeF
Qr0BegCf73yoWm3eYFMZG8/KreQrGlhbdQBRbhEPIz+K/zYxE6znr5yTfCYxl0fT6a0v/TdesOrs
uAJwc17mXP4n4v4HAAAgAElEQVSwWN1I4fmlkGyBpNjAb5ckGbgRxSeRIVF8/yUr3ZRjs4QmM1e5
WVTfn3O7UEhVRs2LgK2Pxxzecfaa+cnTT7KL+EwNfUNmYnhYDrEMsaC0jG6qxUuKSkx5oze2A/Nd
xFMWO0dSpxe+vhr0wHXbzn82iP6OeMs0HulgAfDVVweIrUFmQ1wkxgauDZnERZ8Ucl4nlcHChYvm
VcZxNA2Yz//7bKgPT08Gpzm6BW4DeoLnA6nuEVCCuKcAAJGhmhOieMjKlZQyG24RSWYjtaEE8+Iq
JK2LGBKnSOyVuHEoKS3jm5ekLmrjF7FTZBQ25KOemPfm2u+zBXDJ+9KJatu5x57WiHlvn7HlptgZ
P/o1sugdMzRx6y4besKOBt9QJknLxBkAvy4ShTS1fl6Hfu/0wLP/GXYBbFkxKvzknvXXx2+8XiZx
hCUDz8utmXvJZkQS2sXPDAhMWbnV6yDwbrvdzPnUWMnWIHYKSWyQtAu3iJrlSaxBRnPmNnjjV3Om
xGQxT5ix8V0JADRFvc5ddeSUTLUVQE6ns9n/uDUVb9/mf86xeCcUFSfGZMs57fWaIzyZ8E6sP8rJ
YzTjre/TUrzeQLDoFVcleMx2L9vuvmbfATWoyYwMnLX137oXqEmK6g4tj/RdFvzX7rleFxaBsDzt
uMeNkKyqvNi4wjUTpncvX73WZ8TJPxOT1wHAhziOQAzi6oS1s1YUbHZb6uXnzgAQVr1+diuTi0lR
FwHC/CDXpWrbN6zz8V8DnLTb/pM3/9dwUwJ+XszdvGmOtJh733wJXrXXwtEaBVevpUr9bhQ1hWLO
8z9nLs5dt2LZsu3zVABE1VnRQRHnPndRIhnCvEDX1Ya7PH738f8DAARVOYl32B8wAGAoKNJ1h6zx
nqcnDwCC4ow4v5XeYYUY+VGC18GOrhr73OefOLtKAUDM57xPe5zFle5+Oz/DzzOwj/cCv8P2WOWr
4x63QrMFGLk1CNolSQZuRPExEhmStGMqVu7es/QZwgJW+HJXv6ul0liDQIYwP2i5Q9HiFWtnuQT8
pgwA3MKUs5vvXCRZEgAoGlt1o+cfevMRlE2sjYWZiVLdwxUWXJ8/T23/tsU+B6fRhaVpb+gAYlHD
l40IrUFqQzwkxgauDSUWAS9118ZzPXc4/nPEUVSRfsLjzsWcT/4SvPnP6/bisPHiiydiSmS2IiDr
KQBEhmpWiOIhI1dSyWwERSSZjcSGksyLr5BaFiVzCnGv/CQFNw7J0zKReUnqojZ+ETtFJmEjxahX
W3BnuZOR2VW3i17p/ddFlVZlRueBWezphxVijBZ94A7HxiIulSONDHzLk9WFESikqQxy27FM9e6v
W+8ViACgOHz7Xqd7Ww+suhC19TlHkitJwPVya+ZeshmRhHaJ3l49csH9H8easJ0RXy6rSDqKOC2T
xQZJu3CLJJsePzkQW4OE5sxtcMevZkyJyUY9woxN4EoAeQvno9FO+nU/TPI5PQm4F+aNXRj3gcSG
H9OPTnVj7F+9PPzSWgCsIifOf+Vu71e4UxRaX2UzaazUbOS7el656Fnt03/u+WyRvI6+nrKg/H0Z
j9Ib2bJC3do7I8jqzAz7dcmkH4P8/yGjxWkP7WJ2+i3moUf5ipHj735ne8o0gtHFKSRlfcVvQ5Ze
xv90gKwgsWHzzCvXY9n5BIfoUeP3s2Ty/dF2i8xdSdL12kOvRHyDdE5pmbBp/wHQ/hS2We5tZdqf
5WXLDzQ9oEyr7V4syDnsGTA9bP2t/Uxn7/+eFJTRdBSYNJ6oHXUotcEOw9ULwkMy2jb624mMFqeV
2kVT1OvRRVep8VN7mKDodU6xTOuWNcrmTnMsOVlvC7k07W4/r1rdrSZqfSynHXUhStDVTHuaq9G0
+szeu0r78srTyf8f1gOt6kqSrvejZpvvGmKntHzYtP8AaB8Kf8zcS077sHyL8iNPD1qGVlsSgLgm
6ehYh+pDvitvRqwBAKi4bPvztlgKny+WDTSNPk4/q7w7dzO9TeO/nchocVqtXYrdFl4Ln2OEU1Jy
ZMZkzwrZ1i5TmJpdR0xdPq2HpjwAxsl7cuWvCXvuS3jg+jtAsfeSPXcdDLCK9PNev6++L/njND8A
relKkq73o2ab7xoSp7R42LT/AGgnCn/Q3EtGO7F8y/IDTw9aiFZ7cOgLdFU9QwNlUXlhcTnZA3UI
BAKBQCAQCASiFWiDJQECgUAgEAgEAoFoP7TGFrEIBAKBQCAQCASi3YKWBIiWg65uuXTTRg9Lyjt5
IxDfGQydEXtOnzw8VOUHqwuBaA+gMYUEBdOJXltcbHXRNA7RUtABmHrjVvsnJiRw2axq1u2Yw/N6
kuwT9wmaSieribaWutJuyEc3mh3MZbPq/t0eq9Y80bKEYex2g8W9MqvTt01rapN/AJrcZLpG70UL
ZtoaUnppndDyJALVR227WpkSsqVX45Btpr/kLFZe4Sbvm6DReG9ykqIfhu+nw36iKU5pbth8VRdN
2eTnoX3N1Jo+KuPLILO81HW11xClbHkKyaH9Q2YNssNaZSRqLxlAwphC0YZtTsuYV8Fs6tp5tj2V
PyeEVrVGS8fh9+rKHww6XX/89pDl/YvPb5syZ7H96n1H7qeWSN5TQt7CyTdsu50p0X7x34IV31k/
cPJs6yUnpdjDrm0RfqgFEApqv/28WFOb/APQyk0msjwxdCWT7h3lFDv31JNvVNY88fKmM6ea1DwK
j6lupIak6MfhO+qwANBEpzQzbFoqAPBltITl222IUrd805MDgQL96ae57PibMw0+zTGVBwaxnkfN
aIsLrWTWIKF10vJ3kgEo2rDNkY15W9UaLR2H36srfzCYch37dlEou73tyI04WX4PVFiVl1YFTE6/
DzKspCUQ8cq4YlFt5Qf0MaRWhoLlRUXBztNemta+etnCG4sodBnvaMK9uy2p8U6jJEU/Et9NhwWA
pjqleWHTYgFAIKP5lm+/IUrZ8i2cluV/9nQf82DDrYo2zfIyS18twveRAdq3DUmQiXm/W2sAfOfi
fxzocY8XdACdGQ+S6+5hhf/xU93VE7qhnXfS82dcNovLjmdf8HLupVJ3HUVlwPY8dlzUPF3Qc4xK
qTsqJniYCvlREmHo2RyLeFYduXOKntTXa+QNxrjsvP/wcQ2bxWUnFkUeXWcuTy6DrmPtc+pCRmI8
l83isqNTgv6Y2vGbJWltaWFlSV5lwzslpE0mFWg4cvPRS/lsFjcz8umRZeMNPy2o6TrWvsGX39Sd
Kv3+E//Fv+h9uTHK1OnvtvdMVhqLy3729prvmsFaDGnF40BaFzUvk1geAGD4X9fK2CwuOyb11Gp7
I+mvIeBYHgDkDUZs/CfsXQaLy2ZxXtx+GvTHGG16/Y3XataVR//dvDTmqxuvEv0lKdjkzadMMOVE
n2Q1zk04RUReBqCr/8/h2IVbJWwWl83iJN+P2zFMiyaxiAySurT6z9l/5FRSbHRl3f3oxJPuXetK
SXslqSuJIApRSeoJ6yJol0LvFUfTklhcdnzG+V1HT1wtZie+C18/qcM3teE5RQZhQ1TXF+gaI9aF
Vb0K2zlQna4y9Hwy6/HsDg0jTGt8YFXSHhsVMhnS0rAuMoUM4ykHCtgRJ8fV3eGn64/zyWPfPjhM
o+6ols02ICvL4ycHoDRwYHx2NG+037JejTM4cf8ig8CGJJYnDwDC5EBuKGq9kmJfJoQk25DkKApj
CrENaVrTTiRw4zYPqX8BQb7bloes8uOjdWgAVL3corFBGZpqtykHz9+pYLO46ffuuVt8/r2EiCKx
PJlCAqeQx2HTBykJ+ZCa5RGUYM5ZeP1I0PC4hQv/TeEDYPyivLqsi1WkXt+x7r/8kg907V7zN6w/
EMBPHr07ngcfUv1HjQ+xcm1wFIiq8nnkR0lEwdh6nDGDAcPGdJK/UiLF/qUMfYf9oSfGYo/PBiyN
yyngyekZqWYXSBBPVza1GWYmOO01K7KErj9gxUan4CNlfWecYtfWn/djxsWju2vfNtydg7TJhNA0
Bu0J818iurt59f40Wo95Hq6XwrQnTtoVWSWmK5uOGtS56sSGJVEVCsaDlq5xvXZBd7y97+NqMU2l
z46QwKWCyxvd9idydG2WeG4/ubdq7O+BeSIpxONAUhdFL5NZHgAg78HRDbdzedr9XDctPneosLdD
SI7kR9HwLU9TH+gbetCZHrFj3aH4UjD6Zd2/84daqB68Vy4svuVh9VxJTt8uOGjxNyeS6C8JwabQ
9ddJhlURXk8bz/oaFZF4GZQs/wr0nPEmyM0pMpND1zDs/JPoLbfuwi1JETFkdQFDf6jD77Zwatdf
G9il1SI5TW3mq/d1kUHcKyW5El8GcYiSHUZcF3G7mPp9rDoXBEzfmDXpgM+impMO83Nn7N96yPXW
wy3JX66uNXaKbMIGt64GDdQZ63k0bE6t/8JlXk+rMYWK7ApxLyN1OSih6XTsyCjNKRZqGWlA+YuS
WoxEhlR8UxeZQlHeta1zB4Re9fNOyFwe8HHsPz5jygIXboitwkhdSS3byMzyOMnhU3ObOnAAAD/r
7x3pB/evW3DW6Z/SBuLJ+hdxk4ltSGJ5sgAgTg4khqLWKyn2ZTJI5gDEOYrKmELcicRVT8JZwhHW
08wU4lL4ACBvYjOjU+0TP1aFmKqXWzo2qBmXofvL0RCvKeU3NrnfyZYztZ2z7H+fSshTCqHlyRQS
O4UsDikNUiTiqVkeQRVmzuuKWqiteJ2d8+rrdPoxN/pibt1/U1Jpw2cfG2BtwIx/LRR/LMvKrtFs
4lEShXxIPrJgJ2cMLfZQklRpXcXKxXesatz2KfZn8gSNSsll5Mc/vPmYAxCfojQsbcu4Ebpn2AX1
oypWHBsW+PXZyJtMAN3YbuUSgzc77TbvYwsAoiMy5Xpdd9k64fjj84V1f1GQGH0/hgMQ9/Cl+Oll
J69xQWMvlBjYrV7RMcHFZkdIMQYACZni4TG+zqMNgk7lSyGeELy6ikSUvExueQB48/BGeCQHID5d
beTLTXbDtUNziqW5Qd/Y8vSO412XGOXtsff0ThcAgLrSfJivWVcm5BRkcoDJK2m8MpPoL/JgU+ph
P9Og6uYFnPuXjYrIvCyS0zRWhwp24oPYpCIRQBLry4lIigghravuT3hZF8NuPeR+eySRlyW6EleG
EXGIkvRz4rpI2sUBAHFFZkJirCiV76SVERsXzX22bpZ5J1Va8ofPI0Jjp8gobPDq+gRNyWzxQd8D
gzI8Z63/J40rBoDa0rQS8aLOWnJ0ncmHrwSq+v1varieqRZWmFVUC0IBoQyJ4NRFrhCrerhr9a6+
Z/cGbOtVaTPm3RHrg8k1YiB3Zd2hTcw2srM8Tlquo6kDR93ZKuKO7UgO3+I6IHhb/eRMiv6F12Sy
7kBoeTJrkCQHYkNR65UU+zI5EuYAeDmK2phCbEOsNP5ytHDXFLsuW1PSP4J8t0mTzXgxm2IqMKB3
ouTllo8NCVbEhWFi5zxNg71hppf/GyHA40c1I52PSO5fn8CxPJlCBWKnkMQhtUGKWDw1yyMoQ3iv
ldFh6MLjodfepSTWvHz0YvcQeZBXkZN4Z5baUQAAICqLOuW/KShBuk3CmUb9+upCWtDt93gZREoZ
orKc/A+gaqgqi283KHUd2gVKnj743Jv4uU8iSsBisEnjr6nxciLvl9B6DTNRAkUzazOG/KDAJ4l1
3yKoSfC1YYLeT9qNbpVRFN+gLqDkL3LLf6WwNCefB+rGGpTNq9h1WFdaWfztN1LPV6WELNgULafb
GlZGnUpuNLPGKSL1cnWc5/YHmOOhnJhz5zbMsTNr4CqSIkKaEFFfQ+Rl6V35lRGkDtGGkNQlVbsw
TAw0Og3EmBADOp325SGrxk6RWdgQx8bwXScOjinZ7PjH3/VzdIz7Npuj2slQXaf/b5Z06D5+lL5K
x65qFex8ibeDyMGpS5JCMS99z8q9CcbjnfoUeK85lfJp4G3xbCM7yxPTtIHjM8L3533CP05cOdek
vq3U+pcEGxJYnhQqyYFar6R2FDntYkzBSmOPPeZ3mjjBQhFAoetv04wr74VEVYipelkmsdF0FE0H
mUAJK6aQ8npNeoXURgfKg1SrnRBBDsGnveQ6O14MWtXlScAal0fplTSD4X+ErtWVeDJqR1FDjIkB
xLijQBNkiEUY0BrOL1qYr89MWI0YMAAajQZAo9FpUH5j/qITL7/cIxfXVr7/CPBtFqQm/ktdFP1F
YvlvEdWKgM6gbl4aQ44BWK2QeAr1uaTlPKhkPm+8bum9K6zGr30RFRF6mZ9x3sPynoXdlEmO05Ze
cHJLDFg1zS++TEReRIqUEdUAEi83wZUNFRCHKAkS6pLULjEmEmJ416dxnCKzsCGODfbl8Er76dv2
LX+x8GDkp5dW+W+TCrAh3f430swy86Q/c9bcX8yjDeDtpYJ6Q1GTgVeXRIXMjoNH9GSIRWDqML3n
IZ8XHDHIINu0RYelCjfl9O7k/zY69Upq+Nsm9y+J3QHX8p//Dr8eCsmBWq+k2JdJaP0xBd+G4qrI
oAeVp+wWWBxhM2f/ZlR87lRSdX1p07MopaNa3rxiTAw0Op247ib2LzKFlEaHT2f96iepjyMUT/WE
iKZDsHpX/GmoJT3vX5/A0JjU5LSUmKSCr4NYzP8gACWtby5fSDoKsFp+LYCyuiJOtQydkfPddi4c
pC/VNWVh4YuUMjCfPxrnTROJMiiB32RieNmxOaA7cHSnT+9IKZhYj9KD9PjcxteJ5AwHjNQD9rO8
j8DLepIt1rYawCzMyMp59enf6+xSfks9N9egLmpeJrN8S8N/l1wAev2GdiDc6EAs4H4EUNNRbuQW
Un8RB5tqryn2OuVXL6XXNDoIr0iylwVl6ZdP7HG0HzvQJ6e/s6eTyZe2kBThKWxCRDWE2MuSXYnX
YaUIURzxJHVJ0y5uxMrhmr/eKW3UDfCcIquwIYmNwij/CZO3hGsvuH7ew1a7zlpYeWZGld4w58U9
0s+EHQvO7jn/18n6lc+zOPWzeGIZZKkSry5yhTRVS+fz2/on/+UwaHO80eK9e37WpANI5UoScLws
sw7bNBnSISq8uO8GzX7Bz6p1cwxq/YvchkSW/wRJABAnB1xDUXOl5KPIhmw8KA2+zRpTCGwork48
G5Sv47h4rIPLeJ1XZ4+l1Qmh6GUZxAZAk83Ly47JBt0hdl0Iv9xPElFNVCjRKfhxSG2QIhbfrBMi
mg5B6ua/TcwE6/kr5ySfSczl0XR66yt+VV6bn5TFc7HZ5jbFJ7qUqd9Z7cWl4Cy+pKMA47xOKoOF
CxfNq4zjaBown/8XlvPpfpBy76WnN8/Ug6mayXauzyWnkZoXAVsfjzm84+w185Onn2QX8Zka+obM
xPCwHIFEGZTAbzLx32N5Nw8dX35s0787hX430hjd5/7h0q3w4sRbRaLPVu+/ZKWbcmyW0GTmKjeL
6vtzbhcKAcu/eeAfl+NuZwK1/g65kV5Wq6TXzajq8pnId827VYhXF0Uvk1i+WRJxEL6+GvTAddvO
fzaI/o54yzQe6WABUNDwL7Dq7LgCcHNe5lz+sFjdSOH5pZBsAYn4uqOIg03FapaNbsndM2mNEw5u
EZmXQdVq8wabyth4Vm4lX9HA2qoDiHKLeBiQFxEqJK2LGBIvS3QlboeVGKK45iWpi7hdyqQtI3KK
jMKGJDYAQMx7c+332QK45H3pRLXt3GNPa8S8t8/YclPsjB/9Gln0jhmauHWXDT1hxzuBFDLIUiVu
XSQKaWr9vA793umBZ/8z7ALYsmJU+Mk966+P33i9rFnZBs/LsuqwTZQhLTWs04fYM3aZf5JGqX+R
2ZDE8mTWkJAc8A1FyZWSA4A0DnGgNvg2Z0whjCh+ZkBgysqtXgeBd9vt5udPXFD0covHxqe/aJp5
sbybhwOXH/MIOsj0C43M42sP7ADw1d+TpJSmKpTkFPw4pDZIkYhvzgkRTYdgSSB4HezoqrHPff6J
s6sUAMR8zvu0x1ncei+IyyN9lwX/tXuu14VFICxPO+5xIySLL+koAF7qro3neu5w/OeIo6gi/YTH
nYs5gk932fNi7uZNc6TF3Hsn3cxSmB+03KFo8Yq1s1wCflMGAG5hytnNdy7mCCTLoAJ+k0letRNX
JXjMdi/b7r5m3wE1qMmMDJy19d+Gr8ljKlbu3rP0GcICVvhyV7+rpRgAiDnP/5y5OHfdimXLts9T
ARBVZ0UHRZxr7pIAty5qXsaILd8siXgIC67Pn6e2f9tin4PT6MLStDd0ALFI3ODKFz/DzzOwj/cC
v8P2WOWr4x63QrPrIorMX4TBptpr4WiNgqvXUhvP+giKSLzMUFCk6w5Z4z1PTx4ABMUZcX4rvcMK
MfIiIFYoMaJwIfMysSs/ScHtsJJCFN+8JHVRaheJU2QSNiSx8ZnagjvLnYzMrrpd9Ervvy6qtCoz
Og/MYk8/rBBjtOgDdzg2FnGpHGlk4FuerC6MQCFNZZDbjmWqd3/deq9ABADF4dv3Ot3bemDVhait
zznNyDa4XpZRh22qDGkR5gUfitr49891P1HrX4QZW0RqeTGhNWgSkgOBoSi5UvJwQzxk40Jx8G3O
mEIYUaK3V49ccP/HsSZsZ0TZF/NR83LLxgZV84qrE9bOWlGw2W2pl587A0BY9frZrUxugyNIUkpT
FUoYHQjikHIyJxLfnBMimgytr7JZW2v4/wez028xDz3KV4wcf1fmu3K0Zl0yhtHFKSRlfcVvQ5Ze
rpRJRlC39s4Isjozw35d8reXJ0mKEG2FdE5pmbBp/wHQ/hTKvMMiEAgEouUgfOYTgWgHKJs7zbHk
ZL0t5NK0u/28anW3mqj1sRwZTS/UBjsMVy8ID8loPKMiKUK0FcROafmwaf8B0D4UtmqHRSAQCEQL
gpYEiHYMU7PriKnLp/XQlAfAOHlPrvw1Yc99GT1FSNPo4/SzyrtzN9MbzalIihBtBYlTWjxs2n8A
tBOFrdlhEQgEAtGioAeHEIjvAxaXTVRkpdKtNZUgEAgEAoH4wZDy02IIBAKBQCAQCATixwQtCRAI
BAKBQCAQiP/XtL8lgYLpRK8tLra67UgZXd1y6aaNHpZoC21EE0Bhg0AgEAgE4juh5SfeNJVOVhNt
LXWbupfkZxTMpq6dZ9tTuW2XBHIWK69wk/dN0KABAF2j96IFM20NW/9d7K9ktCNo6qO2Xa1MCdnS
i3AbRVKa1C7iiGqujCbR5MBuu7BBIBAIBAKBaBItP/GWt3DyDdtuZ9p4F2yassU0z9uRcVw2qywq
wHeicUtsKowPXaPvKv+wvEwWNzMy4eCCYZpNbKe86cypJjWPwmOq2/Tzee1ERmPoSibdO8opdu6p
J0/l8Ka1iziimimjaRDLoAhd3/54xXNvG1VQ6LE8JePqpu6t0AoEAoFAIBCIxrTeFUyGyTSfCB/z
qL2eNlFFyv/X3n3GRXH0cQD/XwEOODon5UHsEUMs2BViNGIjirFCjA2VYEHEgIgoih1QFIJ5REFF
EREVG1HsoHTkPHpbQEXK0et63nG3+7xAAfUK4VE0+cz34wth3Z3fjPNiZndmd8SSPw8FkGWLt6a9
/gxF6a/888SBodl+2xzjYaTjTse//JtNVl592eV34Sn0n2ltiN/bnf5lv5H3lcQQQ1QZajsvu29r
XnZ3Pn/2yer1/8X40pgjLYYQ6RcycJru2O/71j990I3PryIIgiAIgnwC1CVHj59NT4xrwDg4xsHZ
ZxwHvL0LKq83yT0gogzj4AUxT4+vm6nXcXdU0iHl0XtKsaTHy7SBZf04k4NjHBxLCJ2oDADAHOW+
zaw2yHHViZiUvNyYcJ+d7F4rbIYyAQAozEFz/7h4tx7j4Ln37zsO6RxQQlkKwzYE5KRzcCw5/+KB
gNM3qzD2q6tbZ/eiAQBjsJXLOPKe25YdEY9vRfgt3Z5Ajl9j2+kWLI015UR0alPMvrkssU8P5I3m
zurbHHeG895A02x/ZC3GwbGErLObLfVltoa0hABA1xrlcDikMIeDY6kvI72dxml8tCDlwxgKRvbZ
WFzweKW2H1XNA3HssoNh26yOqvqd1YnLUdUYB8c4zRkPkvZO1KDIPkvPwjP9WSqOcXAsGbvsYWus
/K5FqBqjxPYNqv7iUBzjNHFuPLl2O2KayoehJXcbyc0rMYbkHiUjhiRULVPv0Osv2i6V+yDeb/WP
rPZpcTditFVId5rdvgePYlswDo6xK2MCXIw6OpuYbsMwPhzPwbHHV6YqMswOlxSk5uw0omrNf/hw
6+jP9+AMQRAEQRBEIrrVb+Zw9sB+N6ymSSSnrknPK28FAIra2EOX/NaI7rlvPppDGbzM2T7ikuZP
sw/ENJJSDr3O8ps8M8zE/niwWdLKlScz+QAgaizjAQBz2Pw56s+9L+Xz1IY5eLhuMh+iywDI7adF
S+Zp/BgQ5jG37tYOx7tFcn3Nl6z77l06yWXRdYab9KkInL+9cLav16qWM1bLSxYc3eVvH/VoZ5a2
ydjekOfxjGl3/roH4/SPjnczYffk4Zq0XG7bcwIFA9MZBjQaTJzWW/5G9ZsP20RhwC+z9RqjPZ6+
f+u59GGA250SnuZI+x2rL/hzh1mFFQu7lzCDpzx8b1jQWsH17Q5H2c3aU9a47jlzuHH6b0GlIpkx
xFMcuj/IdcGLYAebmIJmqppen36il7jse/BEfdZfe12ulVW/pmoaL3fb6hvIz5h6MJkHADSdCeL7
RlWUs8kzRTkdi9Dg1R9cTkrfkFoviTEk9yhCSgwpqEp9J4/t03jabc3jegWDsWud7CMva8+09I5t
IrsVA4CmY3U0/PR0IvZ84Nqk4gqeHEufWVQhbC9RTLfh5+/5edax3pZXw3/N3LBiO9Zn10XfceGr
LUOw8q/1S1gIgiAIgvyr0QF4hVcuRT3CO/+WamCxcY3ui30W7kcwAUBcdIGc8V92u2adir1YpS/x
EFf0poLtKxYAAAiiSURBVLawqEW9vhVa658XFed1DLblDEYOUWlMS65WX3A04OC3MfarPME+8BhL
nk6hGVrYzlPD3BZ6+L0QAsQ+aZlke1xdVoxmACDrC1LYiaIsvo1GfmJSHJ7qssioN5OSp2mgDngG
V6A8ojeTqWCgys8t58EIA1U5eDsleJ1xfMW+5mmURP/0j+YDAIqDLRfqNt6+/OFilBePbl2NaQZI
zlWZlL3DwkwzvLgKupUwS8Ni84b/pNhN2RtWRQBASgFpluBtO1U3+GyZUFYM8eTUDVShHmM/TEyv
FAGkc7pyEgC8KYm7UtL218wsitniE6NNdenJz9+lENM3QNhcUdAMdF4178OLSfn/4rbPdcTWS1IM
UmKPkhJDtgp23IOEZoCkR9nk0+s2HjOCp1+uFHUrhrKJnfd0ZtKeuZYhpWLX/YjrNsKmai4xoK8e
UeKbVlJODhuojqcn5b+oxsVdAEEQBEEQ5HMTv+1WccCE/lD99OG7QQ6/JD66GoaMM1SUdkgKOVZ/
TagrrWOOXjNJMdXX99zTwuL6VgAAYPQdawjVnASu8KOzulQWQZBAoVKAJIQEUKmU9nfY8HJ2zJk1
ZIZn4se7FUS1j8/67QhOqRSzu4AxdL65XsPjsxmSxmeimuIyHqgaqNG6m5Ax0HQgTX5sUDwbxzg4
xmlJ8Z5CB1Y/zU6LbGTGeF9Tkuueh4S1f3HChQtuSywGMrv2XhxarwkrT4VHvspkt2Q/STs4Xh7k
leW6veW8K60htl6fNsbfwCuOeVBNMZ7YlrAbMej6I0doQ07wnXJZ+wA6dxsAoOsYD1Kpzc5tIhT7
jBxIKUssETM7RRAEQRAE6RFSthdT3ntBJKWLhyRcS5EpD61vCKaONvV1ThneeShOEiRQqFRJV5FV
FkmIhATR6RfCutIGUNbRVaIKa7glAFRWL31FqC9tapWdE0DRaNlM7Zr7NzhStj2LWkVApbUH+9sJ
KRQqBepuLV91OrtjoQjZ2lDeMSoUG4MkCKDK08S2FD//ovPQ+0Ms5s62nrf2so0DO3DTPJ/kWpG0
s+T6WF8J3tQ/PtDJ7kluA0XX7PfwLdqSq/1+pSRVV3priKvXZ4nR5fMJAAqF0u0YJEECkF3auN7e
bRjfHowKdTAAgIExmVZtBw9Fpx4qC5008zAbTQ0QBEEQBOlp4u+B8ooSi0F7zNTeb3dJKhiaTmZB
bnIJT9qhNiT/tQAUNd6/TU3y8VZgqMjzahuBocmkv1dWQhFoj7fo//Gr5WWWBQB49EYz9V/u1nQs
Vieq0lJegdHiMW1vHqVqj5kxFCqi0+s6xm00rUnLHfatHKvz0b10pvFcS626mxG5LeLb65Mk5BXG
F5GaJqPp3PzC4ry3f54X1fDb/4nYGMJGbj0oDhioIWkeJ6jNvX76kLXl9DFexaNsXW0M6dLPYvSb
MJRaetIrKDwhKyMnMyG9ouvDUVKAvwFQ0VLq1ISyW0NsvWTFENujpMT4G+T0Rk9iAZZa+qabMYTc
tMxaMFo+Vcw2aon4hUdsnc5WQ8m5TeNnLbNPFJBZR8wtFoxccSYb7SVAEARBEOQLED+6JEpv+59a
f2LHyX1Cn1s5tG+W/m43iHvlp6hKEZCSD7VpLUsv5NlN2e0w1yuuhq7TRyUtIrSwtTy/Gsy/0edF
RmTBXhsLo9ibFGp7WceC1p9wDv6D7hMeU8rXHNMLQCArhpKUOr3Jv3Qo2fqPg94eiucSYcSmnRMp
yfsCCzpWdigNW3vOfSELflbPsLB/1nngp2yyaIp29b2QnC4uUO9eQqLstu9/7U45hARp/Bl2K7e2
VZE1SL/xekjMK6G0GKKalIsZ5KHNu3Y1hzziClmjWQDvnnwwTdzdpjQkJnNKGvgMXVOTXiAqqeQR
0s/iv2QXgOnyjUsyQtglPIrWMJ2uv/CGaCpKqgAH23W2dY+qVPUVnkWEFQlk9Q3x9ZIVQ2yP4kuJ
ITP8qDUbHZQSC4WGCzc5DGl6sOQOV9jdGC1pgbtipx3bez7S6My5+KJKPl1NR4/OvnqpWHIMUlBT
S+2rwUt/zM58wZrei/4q+ikHK0aPBxAEQRAE+UIk3HAmG1OcFzvW7nF0OuKrAi0FMUGLdp1se2+M
lENtp9bFeK8L3X9wqcflVSCsyznlfCussLE0MYnrNGv+N3Wbt3h9f2YbO8MFAF4nNQtIIJtStiza
UOHusNbDx5EGIGx8nhpVgBNdKEsCYVmw/VqVPW4uXn5O0Jxzx2+O+7XOHyXglybcK51nTUm4/8Gb
4JnGK6eqVdyMzOryltXuJSSbn21buLrEZcO6dXuWKQOImgrjgqMvvJsSSIohLA2y36x3wPk3L7/f
AUDQWMy+i70mAICmwKBqj3fyXMaSBwBBVX6Sz0bPS1xC+lmC56HW9mpHHJefPr9JAYDkN5fnxBbi
Xft8Az/fxzVouOcKn2OWREPeKeeo8CIBIb01JNRLVgyxPYpPSIkhKzuhbOLouUiHJqzgXF1v73Oz
piutISGGsCx4vVXl6g1bFtkF/qoEADg387z73StSpgQADAOTQdQy/xdvQMnQ1EBYwC5H8wEEQRAE
Qb4cygilgT1SkPwA1xtXXJu8Ri29WCSS19JhKQnqymt5Xf56WE9QNfXMDzYJWWDpkvElF3B8JTE+
ua+hXvTevyY8cq7bMGnmvX/c1804OCbpkInyoJ5MgiAIgiDIv0yPfb1YUHzMNXD+pa1RR+m2ntfi
K2opWgp0Ck/0FX2XV2WclZlqxdWw/C87EP9KYnxyPVQvCoM1uL+24sebZAhB5fPiqs9aNoIgCIIg
yD9Sj00JgGxJD5hu1eTvvfF2tBMAQP118x92J3bjrfKfB0VtuM0Pyq8u3M79okPxryTGJ9dj9WIM
Whl5dYm+mCPVxxfMca3/vKUjCIIgCIL8A/XYwqEOVCZLT1dJVMetquPLXPWNIAiCIAiCIMhn9T84
PDIDIIVtEgAAAABJRU5ErkJggg==
--14dae9399833adef4a04c08a3670
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--14dae9399833adef4a04c08a3670--


From xen-devel-bounces@lists.xen.org Mon May 21 11:33:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQra-0002Lk-Re; Mon, 21 May 2012 11:33:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWQrZ-0002Lc-9j
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:33:21 +0000
Received: from [85.158.139.83:46787] by server-2.bemta-5.messagelabs.com id
	84/96-17716-0082ABF4; Mon, 21 May 2012 11:33:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337599999!18235423!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6048 invoked from network); 21 May 2012 11:33:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:33:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575487"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:33:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 12:33:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWQrX-0006eo-Ac; Mon, 21 May 2012 11:33:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWQrX-0005UZ-9W;
	Mon, 21 May 2012 12:33:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20410.10239.281854.355072@mariner.uk.xensource.com>
Date: Mon, 21 May 2012 12:33:19 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
In-Reply-To: <a1dc373628e4d9ee061a.1337598440@linux-x12>
References: <a1dc373628e4d9ee061a.1337598440@linux-x12>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [PATCH] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("[PATCH] [PATCH] libxl: Add API to retrieve domain console tty"):
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

Thanks.  This is coming along in the right direction.  I have just a
few comments.

> Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> 
> diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Mon May 14 17:15:36 2012 +0100
> +++ b/tools/libxl/libxl.c	Mon May 21 18:51:17 2012 +0800
> @@ -1552,6 +1552,61 @@ out:
>      return rc;
>  }
>  
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
...
> +            tty_path = libxl__sprintf(gc, "%s/console/tty", dom_path);

You could profitably make use of the GCSPRINTF helper macro here.

> +        else
> +            tty_path = libxl__sprintf(gc, "%s/device/console/%d/tty", dom_path, cons_num);

This line needs to be reformatted to be less than 75-80 characters.
There are a couple of other long lines in your patch too.

> +
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    *path = strdup(tty);
> +

You need to check for errors here.  libxl__xs_read is not infallible.

> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path)
> +{
> +    GC_INIT(ctx);
> +    uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
> +    int rc;
> +    if (stubdomid)
> +        rc = libxl_console_get_tty(ctx, stubdomid,
> +                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV, path);
> +    else {
> +        switch (libxl__domain_type(gc, domid_vm)) {
> +        case LIBXL_DOMAIN_TYPE_HVM:
> +            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL, path);

This recapitules the logic in libxl_primary_console_exec.  I think you
should refactor this so that the substance of it is in a single
function eg

  int libxl__primary_console_find(libxl__gc *gc, uint32_t domid_vm
                                  int *num_out, libxl_console_type *type_out);

Also aborting if libxl__domain_type fails is not correct, but if you
refactor this and use the existing code in the middle of
libxl_primary_console_exec you'll handle that case correctly.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:33:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQra-0002Lk-Re; Mon, 21 May 2012 11:33:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWQrZ-0002Lc-9j
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:33:21 +0000
Received: from [85.158.139.83:46787] by server-2.bemta-5.messagelabs.com id
	84/96-17716-0082ABF4; Mon, 21 May 2012 11:33:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337599999!18235423!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6048 invoked from network); 21 May 2012 11:33:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:33:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575487"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:33:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 12:33:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWQrX-0006eo-Ac; Mon, 21 May 2012 11:33:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWQrX-0005UZ-9W;
	Mon, 21 May 2012 12:33:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20410.10239.281854.355072@mariner.uk.xensource.com>
Date: Mon, 21 May 2012 12:33:19 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
In-Reply-To: <a1dc373628e4d9ee061a.1337598440@linux-x12>
References: <a1dc373628e4d9ee061a.1337598440@linux-x12>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [PATCH] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("[PATCH] [PATCH] libxl: Add API to retrieve domain console tty"):
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

Thanks.  This is coming along in the right direction.  I have just a
few comments.

> Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> 
> diff -r f8279258e3c9 -r a1dc373628e4 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Mon May 14 17:15:36 2012 +0100
> +++ b/tools/libxl/libxl.c	Mon May 21 18:51:17 2012 +0800
> @@ -1552,6 +1552,61 @@ out:
>      return rc;
>  }
>  
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
...
> +            tty_path = libxl__sprintf(gc, "%s/console/tty", dom_path);

You could profitably make use of the GCSPRINTF helper macro here.

> +        else
> +            tty_path = libxl__sprintf(gc, "%s/device/console/%d/tty", dom_path, cons_num);

This line needs to be reformatted to be less than 75-80 characters.
There are a couple of other long lines in your patch too.

> +
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    *path = strdup(tty);
> +

You need to check for errors here.  libxl__xs_read is not infallible.

> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path)
> +{
> +    GC_INIT(ctx);
> +    uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
> +    int rc;
> +    if (stubdomid)
> +        rc = libxl_console_get_tty(ctx, stubdomid,
> +                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV, path);
> +    else {
> +        switch (libxl__domain_type(gc, domid_vm)) {
> +        case LIBXL_DOMAIN_TYPE_HVM:
> +            rc = libxl_console_get_tty(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL, path);

This recapitules the logic in libxl_primary_console_exec.  I think you
should refactor this so that the substance of it is in a single
function eg

  int libxl__primary_console_find(libxl__gc *gc, uint32_t domid_vm
                                  int *num_out, libxl_console_type *type_out);

Also aborting if libxl__domain_type fails is not correct, but if you
refactor this and use the existing code in the middle of
libxl_primary_console_exec you'll handle that case correctly.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:39:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:39:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQxV-0002XC-Lc; Mon, 21 May 2012 11:39:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWQxU-0002X7-PJ
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:39:28 +0000
Received: from [85.158.143.35:39404] by server-1.bemta-4.messagelabs.com id
	EC/6E-00342-0792ABF4; Mon, 21 May 2012 11:39:28 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337600367!15212639!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9746 invoked from network); 21 May 2012 11:39:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:39:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575753"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:39:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:39:26 +0100
Message-ID: <1337600365.24660.83.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 12:39:25 +0100
In-Reply-To: <CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 12:29 +0100, eva wrote:
> Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> Kernel 3.2.

If you are running 3.2 then I believe you already have this patch, since
that kernel did already. If you are having a bug with your card then I
suspect it is something different.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:39:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:39:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWQxV-0002XC-Lc; Mon, 21 May 2012 11:39:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWQxU-0002X7-PJ
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:39:28 +0000
Received: from [85.158.143.35:39404] by server-1.bemta-4.messagelabs.com id
	EC/6E-00342-0792ABF4; Mon, 21 May 2012 11:39:28 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337600367!15212639!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9746 invoked from network); 21 May 2012 11:39:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:39:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575753"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:39:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:39:26 +0100
Message-ID: <1337600365.24660.83.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: eva <evammg@gmail.com>
Date: Mon, 21 May 2012 12:39:25 +0100
In-Reply-To: <CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 12:29 +0100, eva wrote:
> Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> Kernel 3.2.

If you are running 3.2 then I believe you already have this patch, since
that kernel did already. If you are having a bug with your card then I
suspect it is something different.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 11:47:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWR5U-0002gG-KZ; Mon, 21 May 2012 11:47:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWR5S-0002gB-Pb
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:47:43 +0000
Received: from [85.158.139.83:63654] by server-9.bemta-5.messagelabs.com id
	31/5E-18212-D5B2ABF4; Mon, 21 May 2012 11:47:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337600860!29495581!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27513 invoked from network); 21 May 2012 11:47:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:47:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575969"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:47:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:47:38 +0100
Message-ID: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 21 May 2012 12:47:37 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpUaGUgdXBkYXRlZCBUT0RPIGxpc3QgZm9sbG93cy4gUGVyIHRoZSByZWxlYXNlIHBsYW4g
YSBzdHJvbmcgY2FzZSB3aWxsCm5vdyBoYXZlIHRvIGJlIG1hZGUgYXMgdG8gd2h5IG5ldyBpdGVt
cyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGxpc3QsCmVzcGVjaWFsbHkgYXMgYSBibG9ja2VyLCBy
YXRoZXIgdGhhbiBkZWZlcnJlZCB0byA0LjMuCgpBIGxvdCBvZiBuZXcgRE9ORSBpdGVtcy4gVGhl
IGJpZyByZW1haW5pbmcgaXRlbXMgYXJlCnRoZSBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFz
eW5jaHJvbmlzYXRpb24gb2YgbWlncmF0aW9uLgoKSWYgeW91IGFyZSBhd2FyZSBvZiBhbnkgYnVn
cyB3aGljaCBtdXN0L3Nob3VsZCBiZSBmaXhlZCBmb3IgNC4yIHRoZW4KcGxlYXNlIHJlcGx5IHRv
IHRoaXMgdGhyZWFkIChvdGhlcndpc2UgSSBtYXkgbm90IHJlbWVtYmVyIHRvIHBpY2sgdGhlbQp1
cCBuZXh0IHdlZWspCgpPdGhlciB0aGFuIHRoYXQgSSB0aGluayB3ZSBzaG91bGQgY29uc2lkZXIg
dGhlIGZyZWV6ZSB0byBiZSBpbiBmdWxsCmVmZmVjdCBhbmQgdGhlIGJhciB0byBlbnRyeSB0byA0
LjIgdG8gYmUgdmVyeSBoaWdoLgoKaHlwZXJ2aXNvciwgYmxvY2tlcnM6CiAgICAgICogUGVyZm9y
bWFuY2UgcmVncmVzc2lvbiBkdWUgdG8gY29udGVudGlvbiBvbiBwMm0gbG9jay4gKFRpbSwKICAg
ICAgICBBbmRyZXMsIERPTkUpIAogCnRvb2xzLCBibG9ja2VyczoKICAgICAgKiBsaWJ4bCBzdGFi
bGUgQVBJIC0tIHdlIHdvdWxkIGxpa2UgNC4yIHRvIGRlZmluZSBhIHN0YWJsZSBBUEkKICAgICAg
ICB3aGljaCBkb3duc3RyZWFtJ3MgY2FuIHN0YXJ0IHRvIHJlbHkgb24gbm90IGNoYW5naW5nLiBB
c3BlY3RzIG9mCiAgICAgICAgdGhpcyBhcmU6CiAgICAgICAgICAgICAgKiBsaWJ4bF93YWl0X2Zv
cl9mcmVlX21lbW9yeS9saWJ4bF93YWl0X2Zvcl9tZW1vcnlfdGFyZ2V0LgogICAgICAgICAgICAg
ICAgSW50ZXJmYWNlIG5lZWRzIGFuIG92ZXJoYXVsLCByZWxhdGVkIHRvCiAgICAgICAgICAgICAg
ICBsb2NraW5nL3NlcmlhbGl6YXRpb24gb3ZlciBkb21haW4gY3JlYXRlIChkZWZlcnJlZCB0bwog
ICAgICAgICAgICAgICAgNC4zKS4gSWFuSiB0byBhZGQgbm90ZSBhYm91dCB0aGlzIGludGVyZmFj
ZSBiZWluZwogICAgICAgICAgICAgICAgc3Vic3RhbmRhcmQgYnV0IG90aGVyd2lzZSBkZWZlciB0
byA0LjMuCiAgICAgICAgICAgICAgKiBsaWJ4bF8qX3BhdGguIE1ham9yaXR5IG1hZGUgaW50ZXJu
YWwsIG9ubHkgY29uZmlnZGlyIGFuZAogICAgICAgICAgICAgICAgbG9ja2RpciByZW1haW4gcHVi
bGljICh1c2VkIGJ5IHhsKS4gKElhbkMsIHRvIGNvbnNpZGVyCiAgICAgICAgICAgICAgICBtb3Zp
bmcgdGhlIHR3byByZWFtaW5pbmcgaW50byB4bCBpbnN0ZWFkIG9mIGxpYnhsKQogICAgICAgICAg
ICAgICogSW50ZXJmYWNlcyB3aGljaCBtYXkgbmVlZCB0byBiZSBhc3luYzoKICAgICAgICAgICAg
ICAgICAgICAgICogbGlieGxfZG9tYWluX3N1c3BlbmQuIE1vdmUKICAgICAgICAgICAgICAgICAg
ICAgICAgeGNfZG9tYWluX3NhdmUvcmVzdG9yZSBpbnRvIGEgc2VwYXJhdGUgcHJvY2VzcwogICAg
ICAgICAgICAgICAgICAgICAgICAoSWFuSiwgUkZDIHBvc3RlZCkuCiAgICAgICAgICAgICAgICAg
ICAgICAqIGxpYnhsX2RldmljZV97ZGlzayxuaWMsdmtiLGFkZCxwY2l9X2FkZCAoYW5kCiAgICAg
ICAgICAgICAgICAgICAgICAgIHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sg
YXMgcGFydCBvZgogICAgICAgICAgICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMg
YW5kIGFkZHMgaW5mcmFzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggc2hv
dWxkIG1ha2UgdGhlIG90aGVycyB0cml2aWFsLiAoUm9nZXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgIFdJUCkKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91
bGQgYmUgZWFzeSBvbmNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9
IGRvbmUuIE5vYm9keSBpcyBsb29raW5nIGF0CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXM/
CiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RldmljZV9kaXNrX2xvY2FsX3thdHRhY2gs
ZGV0YWNofS4gQmVjb21lCiAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFsIGFzIHBhcnQg
b2YgU3RlZmFubydzIGRvbWFpbiAwIGRpc2sKICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNo
IHNlcmllcyAoYWxyZWFkeSB0cmFja2VkIGJlbG93LCAiRG9tYWluIDAKICAgICAgICAgICAgICAg
ICAgICAgICAgYmxvY2sgYXR0YWNoICYgZ2VuZXJhbCBob3RwbHVnIiwgd2lsbCByZW1vdmUKICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcyBlbnRyeSBpbnN0YW5jZSBmcm9tIG5leHQgd2Vla3Mg
bGlzdCBpbgogICAgICAgICAgICAgICAgICAgICAgICBmYXZvdXIgb2YgdGhhdCBvbmUpCiAgICAg
ICogeGwgY29tcGF0aWJpbGl0eSB3aXRoIHhtOgogICAgICAgICAgICAgICogW0JVR10gY2Fubm90
IGNyZWF0ZSBhbiBlbXB0eSBDRC1ST00gZHJpdmVyIG9uIEhWTSBndWVzdCwKICAgICAgICAgICAg
ICAgIHJlcG9ydGVkIGJ5IEZhYmlvIEZhbnRvbmkgaW4KICAgICAgICAgICAgICAgIDw0Rjk2NzJE
RC4yMDgwOTAyQHRpc2NhbGkuaXQ+CiAgICAgICAgICAgICAgKiBkb2VzIG5vdCBhdXRvbWF0aWNh
bGx5IHRyeSB0byBzZWxlY3QgYSAoc2V0IG9mKSBub2RlKHMpCiAgICAgICAgICAgICAgICBvbiB3
aGljaCB0byBjcmVhdGUgYSBWTSBhbmQgcGluIGl0cyB2Y3B1cyB0aGVyZS4gKERhcmlvCiAgICAg
ICAgICAgICAgICBGYWdnaW9saSwgcGF0Y2hlcyBwb3N0ZWQpCiAgICAgICAgICAgICAgKiBgY3B1
cz1bMiwzXWAgdG8gc2VsZWN0IHNwZWNpZmljIG1hcHBpbmcgdmNwdTAtLT5wY3B1MiwKICAgICAg
ICAgICAgICAgIHZjcHUxLS0+cGNwdTMgYXMgeG0gZG9lcy4gKERhcmlvIEZhZ2dpb2xpLCBwYXRj
aGVzCiAgICAgICAgICAgICAgICBwb3N0ZWQgYW5kIHJldmlld2VkLCB3aWxsIHJlcG9zdCkKICAg
ICAgKiBbQlVHXSBTcHVyaW91cyBDUFUgcGFyYW1zIGVycm9yIG1lc3NhZ2Ugd2hlbiBzdGFydGlu
ZyBhIGRvbWFpbiwKICAgICAgICBlLmcuICJDcHUgd2VpZ2h0IG91dCBvZiByYW5nZSwgdmFsaWQg
dmFsdWVzIGFyZSB3aXRoaW4gcmFuZ2UKICAgICAgICBmcm9tIDEgdG8gNjU1MzUiLiAoIkdlb3Jn
ZSB3aWxsIGRvIGl0IGlmIG5vIG9uZSBlbHNlIHN0ZXBzIHVwIikKICAgICAgKiBNb3JlIGZvcm1h
bGx5IGRlcHJlY2F0ZSB4bS94ZW5kLiBNYW5wYWdlIHBhdGNoZXMgYWxyZWFkeSBpbgogICAgICAg
IHRyZWUuIE5lZWRzIHJlbGVhc2Ugbm90aW5nIGFuZCBjb21tdW5pY2F0aW9uIGFyb3VuZCAtcmMx
IHRvCiAgICAgICAgcmVtaW5kIHBlb3BsZSB0byB0ZXN0IHhsLgogICAgICAqIHhsIHRvIHJlZnVz
ZSB0byBydW4gaWYgeGVuZCBpcyBydW5uaW5nLCBSb2dlciBQYXUgTW9ubsOpIChET05FKQogICAg
ICAqIERvbWFpbiAwIGJsb2NrIGF0dGFjaCAmIGdlbmVyYWwgaG90cGx1ZyB3aGVuIHVzaW5nIHFk
aXNrIGJhY2tlbmQKICAgICAgICAobmVlZCB0byBzdGFydCBxZW11IGFzIG5lY2Vzc2FyeSBldGMp
IChTdGVmYW5vIFMsIHBhdGNoZXMKICAgICAgICBwb3N0ZWQsIG5lZWRzIHVwZGF0ZXMpCiAgICAg
ICogSW1wcm92ZWQgSG90cGx1ZyBzY3JpcHQgc3VwcG9ydCAoUm9nZXIgUGF1IE1vbm7DqSwgcGF0
Y2hlcwogICAgICAgIHBvc3RlZCkKICAgICAgKiBCbG9jayBzY3JpcHQgc3VwcG9ydCAtLSBmb2xs
b3dzIG9uIGZyb20gaG90cGx1ZyBzY3JpcHQgKFJvZ2VyCiAgICAgICAgUGF1IE1vbm7DqSkKICAg
ICAgKiB4cy5oIC0+IHhlbnN0b3JlLmguIFNob3VsZCBkbyB0aGlzIGZvciA0LjIgcmF0aGVyIHRo
YW4gaGF2ZQogICAgICAgIGRpc3Ryb3MgY2FycnkgdGhlaXIgb3duIHBhdGNoZXMuIChJYW4gQywg
RE9ORSkKICAgICAgKiBBZGp1c3RtZW50cyBuZWVkZWQgZm9yIHFkaXNrIGJhY2tlbmQgdG8gd29y
ayBvbiBub24tcHZvcHMgTGludXguCiAgICAgICAgKEphbiBCZXVsaWNoKQoKaHlwZXJ2aXNvciwg
bmljZSB0byBoYXZlOgogICAgICAqIFBvRCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgKEdlb3Jn
ZSBEdW5sYXApCiAgICAgICogSVJRIHByb2JsZW0gZm9yIHdoaWNoIGRlYnVnZ2luZyBjb2RlIGdv
dCBhZGRlZCBieSBjL3MKICAgICAgICAyNDcwNzo5Njk4N2MzMjRhNGYuIEkgaGF2ZSBhIHRlbnRh
dGl2ZSBhZGp1c3RtZW50IHRvIHRoaXMgd2hpY2gKICAgICAgICBJIHdvdWxkIGhvcGUgdG8gYXQg
bGVhc3QgZWxpbWluYXRlIHRoZSBiYWQgY29uc2VxdWVuY2VzIG9mCiAgICAgICAgY3Jhc2hpbmcg
dGhlIGh5cGVydmlzb3IgKGNvbnZlcnRpbmcgdGhlIHVuc29saWNpdGVkCiAgICAgICAgUElDLW9y
aWdpbmF0ZWQgSVJRIGludG8gYSBzcHVyaW91cyBvbmUpLiBJJ2xsIHN1Ym1pdCBhcyBzb29uIGFz
CiAgICAgICAgSSBnb3QgdG8gdGVzdCB0aGlzIGEgbGl0dGxlLCBwYXJ0aWN1bGFybHkgYWxzbyBv
biBhbiBvbGQgYm94CiAgICAgICAgd2l0aG91dCBBUElDLiAoSmFuIEJldWxpY2gpCgp0b29scywg
bmljZSB0byBoYXZlOgogICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgogICAg
ICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBQQ0kgcGFzc3Rocm91Z2ggc3VwcG9ydCAoQW50aG9u
eSBQZXJhcmQsCiAgICAgICAgICAgICAgICBhd2FpdGluZyBxZW15IHVwc3RyZWFtIHJldmlldykK
ICAgICAgICAgICAgICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBpcyBmcm96ZW4gZm9yIHRoZWly
IG5leHQgcmVsZWFzZS4KICAgICAgICAgICAgICAgICAgICAgICAgVW5saWtlbHkgdGhhdCB0aGVz
ZSB3aWxsIGJlIGFjY2VwdGVkIGluIHRoZSBuZXh0CiAgICAgICAgICAgICAgICAgICAgICAgIGZl
dyB3ZWVrcy4gRGVmZXJlZCB1bnRpbCA0LjMgKHRoZXJlZm9yZSBET05FIGluCiAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMgY29udGV4dCkKICAgICAgICAgICAgICAqIEluaXRpYWwgeGwgc3Vw
cG9ydCBmb3IgUmVtdXMgKG1lbW9yeSBjaGVja3BvaW50LAogICAgICAgICAgICAgICAgYmxhY2to
b2xpbmcpIChTaHJpcmFtLCBET05FKQogICAgICAqIHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToK
ICAgICAgICAgICAgICAqIHhsIHN1cHBvcnQgZm9yIGF1dG9zcGF3bmluZyB2bmN2aWV3ZXIgKHZu
Y3ZpZXdlcj0xIG9yCiAgICAgICAgICAgICAgICBvdGhlcndpc2UpIChHb25jYWxvIEdvbWVzLCBE
T05FKQogICAgICAqIERpcmVjdG9yeSB1c2FnZSBpbiBsaWJ4bCAoQmFzdGlhbiwgYXMgcGFydCBv
ZiBEZWJpYW4gcGFja2FnaW5nKS4KICAgICAgICBEZWZlciB0byA0LjMsIHRoZXJlZm9yZSBET05F
IGluIHRoaXMgY29udGV4dC4KICAgICAgICAgICAgICAqIGR1bXBzIGluIC92YXIveGVuOiB3dGY/
CiAgICAgICAgICAgICAgICAgICAgICAqIEJhc3RpYW46ICJUaGUgRkhTIGRlZmluZXMgL3Zhci9j
cmFzaCBmb3Igc3lzdGVtCiAgICAgICAgICAgICAgICAgICAgICAgIGNyYXNoIGR1bXBzLCBidXQg
aXQgaXMgbm90IHVzZWQgZXZlcnl3aGVyZS4gU28gSQogICAgICAgICAgICAgICAgICAgICAgICB3
b3VsZCB1c2UgL3Zhci9saWIveGVuL2R1bXAgb3Igc28uIgogICAgICAgICAgICAgICogdXNlciBk
YXRhIGZpbGVzIGluIC92YXIvbGliL3hlbjoKICAgICAgICAgICAgICAgICAgICAgICogV2hhdCBh
cmUgdGhlIGd1YXJhbnRlZXMgZ2l2ZW4gZm9yIHRoaXMgZmlsZXM/CiAgICAgICAgICAgICAgICAg
ICAgICAqIEJhc3RpYW46ICJJIGRvbid0IHRoaW5rIHJlYm9vdGluZyB0aGUgY29udHJvbAogICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW4gd2l0aG91dCByZWJvb3RpbmcgWGVuIHdpbGwgd29y
ayByaWdodAogICAgICAgICAgICAgICAgICAgICAgICBub3cuIFNvIC92YXIvcnVuIGlzIHRoZSBj
b3JyZWN0IGxvY2F0aW9uLiIKICAgICAgICAgICAgICAqIC92YXIvcnVuL2xpYnhsIGZvciB0ZW1w
b3JhcnkgZmlsZXMKICAgICAgICAgICAgICAgICAgICAgICogIiRUTVBESVIgb3IgdGhlIGZhbGxi
YWNrIC90bXAgaXMgdGhlIGNvcnJlY3QKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24u
IgogICAgICAqIHhsIGNvbW1hbmRzIHRvIGhlbHAgcmViaW5kIHBjaSBkZXZpY2VzIHRvIHBjaWJh
Y2suICAoR2VvcmdlCiAgICAgICAgRHVubGFwLCBET05FKQogICAgICAqIGxpYnhsOiBBZGQgQVBJ
IHRvIHJldHJpZXZlIGRvbWFpbiBjb25zb2xlIHR0eSAoQmFtdm9yIEppYW4KICAgICAgICBaaGFu
ZywgcGF0Y2hlcyBwb3N0ZWQpCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v
cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 21 11:47:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWR5U-0002gG-KZ; Mon, 21 May 2012 11:47:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWR5S-0002gB-Pb
	for xen-devel@lists.xen.org; Mon, 21 May 2012 11:47:43 +0000
Received: from [85.158.139.83:63654] by server-9.bemta-5.messagelabs.com id
	31/5E-18212-D5B2ABF4; Mon, 21 May 2012 11:47:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337600860!29495581!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27513 invoked from network); 21 May 2012 11:47:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:47:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12575969"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:47:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:47:38 +0100
Message-ID: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 21 May 2012 12:47:37 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpUaGUgdXBkYXRlZCBUT0RPIGxpc3QgZm9sbG93cy4gUGVyIHRoZSByZWxlYXNlIHBsYW4g
YSBzdHJvbmcgY2FzZSB3aWxsCm5vdyBoYXZlIHRvIGJlIG1hZGUgYXMgdG8gd2h5IG5ldyBpdGVt
cyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGxpc3QsCmVzcGVjaWFsbHkgYXMgYSBibG9ja2VyLCBy
YXRoZXIgdGhhbiBkZWZlcnJlZCB0byA0LjMuCgpBIGxvdCBvZiBuZXcgRE9ORSBpdGVtcy4gVGhl
IGJpZyByZW1haW5pbmcgaXRlbXMgYXJlCnRoZSBob3RwbHVnIHNjcmlwdCBzZXJpZXMgYW5kIGFz
eW5jaHJvbmlzYXRpb24gb2YgbWlncmF0aW9uLgoKSWYgeW91IGFyZSBhd2FyZSBvZiBhbnkgYnVn
cyB3aGljaCBtdXN0L3Nob3VsZCBiZSBmaXhlZCBmb3IgNC4yIHRoZW4KcGxlYXNlIHJlcGx5IHRv
IHRoaXMgdGhyZWFkIChvdGhlcndpc2UgSSBtYXkgbm90IHJlbWVtYmVyIHRvIHBpY2sgdGhlbQp1
cCBuZXh0IHdlZWspCgpPdGhlciB0aGFuIHRoYXQgSSB0aGluayB3ZSBzaG91bGQgY29uc2lkZXIg
dGhlIGZyZWV6ZSB0byBiZSBpbiBmdWxsCmVmZmVjdCBhbmQgdGhlIGJhciB0byBlbnRyeSB0byA0
LjIgdG8gYmUgdmVyeSBoaWdoLgoKaHlwZXJ2aXNvciwgYmxvY2tlcnM6CiAgICAgICogUGVyZm9y
bWFuY2UgcmVncmVzc2lvbiBkdWUgdG8gY29udGVudGlvbiBvbiBwMm0gbG9jay4gKFRpbSwKICAg
ICAgICBBbmRyZXMsIERPTkUpIAogCnRvb2xzLCBibG9ja2VyczoKICAgICAgKiBsaWJ4bCBzdGFi
bGUgQVBJIC0tIHdlIHdvdWxkIGxpa2UgNC4yIHRvIGRlZmluZSBhIHN0YWJsZSBBUEkKICAgICAg
ICB3aGljaCBkb3duc3RyZWFtJ3MgY2FuIHN0YXJ0IHRvIHJlbHkgb24gbm90IGNoYW5naW5nLiBB
c3BlY3RzIG9mCiAgICAgICAgdGhpcyBhcmU6CiAgICAgICAgICAgICAgKiBsaWJ4bF93YWl0X2Zv
cl9mcmVlX21lbW9yeS9saWJ4bF93YWl0X2Zvcl9tZW1vcnlfdGFyZ2V0LgogICAgICAgICAgICAg
ICAgSW50ZXJmYWNlIG5lZWRzIGFuIG92ZXJoYXVsLCByZWxhdGVkIHRvCiAgICAgICAgICAgICAg
ICBsb2NraW5nL3NlcmlhbGl6YXRpb24gb3ZlciBkb21haW4gY3JlYXRlIChkZWZlcnJlZCB0bwog
ICAgICAgICAgICAgICAgNC4zKS4gSWFuSiB0byBhZGQgbm90ZSBhYm91dCB0aGlzIGludGVyZmFj
ZSBiZWluZwogICAgICAgICAgICAgICAgc3Vic3RhbmRhcmQgYnV0IG90aGVyd2lzZSBkZWZlciB0
byA0LjMuCiAgICAgICAgICAgICAgKiBsaWJ4bF8qX3BhdGguIE1ham9yaXR5IG1hZGUgaW50ZXJu
YWwsIG9ubHkgY29uZmlnZGlyIGFuZAogICAgICAgICAgICAgICAgbG9ja2RpciByZW1haW4gcHVi
bGljICh1c2VkIGJ5IHhsKS4gKElhbkMsIHRvIGNvbnNpZGVyCiAgICAgICAgICAgICAgICBtb3Zp
bmcgdGhlIHR3byByZWFtaW5pbmcgaW50byB4bCBpbnN0ZWFkIG9mIGxpYnhsKQogICAgICAgICAg
ICAgICogSW50ZXJmYWNlcyB3aGljaCBtYXkgbmVlZCB0byBiZSBhc3luYzoKICAgICAgICAgICAg
ICAgICAgICAgICogbGlieGxfZG9tYWluX3N1c3BlbmQuIE1vdmUKICAgICAgICAgICAgICAgICAg
ICAgICAgeGNfZG9tYWluX3NhdmUvcmVzdG9yZSBpbnRvIGEgc2VwYXJhdGUgcHJvY2VzcwogICAg
ICAgICAgICAgICAgICAgICAgICAoSWFuSiwgUkZDIHBvc3RlZCkuCiAgICAgICAgICAgICAgICAg
ICAgICAqIGxpYnhsX2RldmljZV97ZGlzayxuaWMsdmtiLGFkZCxwY2l9X2FkZCAoYW5kCiAgICAg
ICAgICAgICAgICAgICAgICAgIHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sg
YXMgcGFydCBvZgogICAgICAgICAgICAgICAgICAgICAgICBob3RwbHVnIHNjcmlwdCBzZXJpZXMg
YW5kIGFkZHMgaW5mcmFzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggc2hv
dWxkIG1ha2UgdGhlIG90aGVycyB0cml2aWFsLiAoUm9nZXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgIFdJUCkKICAgICAgICAgICAgICAgICAgICAgICogbGlieGxfY2Ryb21faW5zZXJ0LiBTaG91
bGQgYmUgZWFzeSBvbmNlCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9
IGRvbmUuIE5vYm9keSBpcyBsb29raW5nIGF0CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXM/
CiAgICAgICAgICAgICAgICAgICAgICAqIGxpYnhsX2RldmljZV9kaXNrX2xvY2FsX3thdHRhY2gs
ZGV0YWNofS4gQmVjb21lCiAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFsIGFzIHBhcnQg
b2YgU3RlZmFubydzIGRvbWFpbiAwIGRpc2sKICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNo
IHNlcmllcyAoYWxyZWFkeSB0cmFja2VkIGJlbG93LCAiRG9tYWluIDAKICAgICAgICAgICAgICAg
ICAgICAgICAgYmxvY2sgYXR0YWNoICYgZ2VuZXJhbCBob3RwbHVnIiwgd2lsbCByZW1vdmUKICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcyBlbnRyeSBpbnN0YW5jZSBmcm9tIG5leHQgd2Vla3Mg
bGlzdCBpbgogICAgICAgICAgICAgICAgICAgICAgICBmYXZvdXIgb2YgdGhhdCBvbmUpCiAgICAg
ICogeGwgY29tcGF0aWJpbGl0eSB3aXRoIHhtOgogICAgICAgICAgICAgICogW0JVR10gY2Fubm90
IGNyZWF0ZSBhbiBlbXB0eSBDRC1ST00gZHJpdmVyIG9uIEhWTSBndWVzdCwKICAgICAgICAgICAg
ICAgIHJlcG9ydGVkIGJ5IEZhYmlvIEZhbnRvbmkgaW4KICAgICAgICAgICAgICAgIDw0Rjk2NzJE
RC4yMDgwOTAyQHRpc2NhbGkuaXQ+CiAgICAgICAgICAgICAgKiBkb2VzIG5vdCBhdXRvbWF0aWNh
bGx5IHRyeSB0byBzZWxlY3QgYSAoc2V0IG9mKSBub2RlKHMpCiAgICAgICAgICAgICAgICBvbiB3
aGljaCB0byBjcmVhdGUgYSBWTSBhbmQgcGluIGl0cyB2Y3B1cyB0aGVyZS4gKERhcmlvCiAgICAg
ICAgICAgICAgICBGYWdnaW9saSwgcGF0Y2hlcyBwb3N0ZWQpCiAgICAgICAgICAgICAgKiBgY3B1
cz1bMiwzXWAgdG8gc2VsZWN0IHNwZWNpZmljIG1hcHBpbmcgdmNwdTAtLT5wY3B1MiwKICAgICAg
ICAgICAgICAgIHZjcHUxLS0+cGNwdTMgYXMgeG0gZG9lcy4gKERhcmlvIEZhZ2dpb2xpLCBwYXRj
aGVzCiAgICAgICAgICAgICAgICBwb3N0ZWQgYW5kIHJldmlld2VkLCB3aWxsIHJlcG9zdCkKICAg
ICAgKiBbQlVHXSBTcHVyaW91cyBDUFUgcGFyYW1zIGVycm9yIG1lc3NhZ2Ugd2hlbiBzdGFydGlu
ZyBhIGRvbWFpbiwKICAgICAgICBlLmcuICJDcHUgd2VpZ2h0IG91dCBvZiByYW5nZSwgdmFsaWQg
dmFsdWVzIGFyZSB3aXRoaW4gcmFuZ2UKICAgICAgICBmcm9tIDEgdG8gNjU1MzUiLiAoIkdlb3Jn
ZSB3aWxsIGRvIGl0IGlmIG5vIG9uZSBlbHNlIHN0ZXBzIHVwIikKICAgICAgKiBNb3JlIGZvcm1h
bGx5IGRlcHJlY2F0ZSB4bS94ZW5kLiBNYW5wYWdlIHBhdGNoZXMgYWxyZWFkeSBpbgogICAgICAg
IHRyZWUuIE5lZWRzIHJlbGVhc2Ugbm90aW5nIGFuZCBjb21tdW5pY2F0aW9uIGFyb3VuZCAtcmMx
IHRvCiAgICAgICAgcmVtaW5kIHBlb3BsZSB0byB0ZXN0IHhsLgogICAgICAqIHhsIHRvIHJlZnVz
ZSB0byBydW4gaWYgeGVuZCBpcyBydW5uaW5nLCBSb2dlciBQYXUgTW9ubsOpIChET05FKQogICAg
ICAqIERvbWFpbiAwIGJsb2NrIGF0dGFjaCAmIGdlbmVyYWwgaG90cGx1ZyB3aGVuIHVzaW5nIHFk
aXNrIGJhY2tlbmQKICAgICAgICAobmVlZCB0byBzdGFydCBxZW11IGFzIG5lY2Vzc2FyeSBldGMp
IChTdGVmYW5vIFMsIHBhdGNoZXMKICAgICAgICBwb3N0ZWQsIG5lZWRzIHVwZGF0ZXMpCiAgICAg
ICogSW1wcm92ZWQgSG90cGx1ZyBzY3JpcHQgc3VwcG9ydCAoUm9nZXIgUGF1IE1vbm7DqSwgcGF0
Y2hlcwogICAgICAgIHBvc3RlZCkKICAgICAgKiBCbG9jayBzY3JpcHQgc3VwcG9ydCAtLSBmb2xs
b3dzIG9uIGZyb20gaG90cGx1ZyBzY3JpcHQgKFJvZ2VyCiAgICAgICAgUGF1IE1vbm7DqSkKICAg
ICAgKiB4cy5oIC0+IHhlbnN0b3JlLmguIFNob3VsZCBkbyB0aGlzIGZvciA0LjIgcmF0aGVyIHRo
YW4gaGF2ZQogICAgICAgIGRpc3Ryb3MgY2FycnkgdGhlaXIgb3duIHBhdGNoZXMuIChJYW4gQywg
RE9ORSkKICAgICAgKiBBZGp1c3RtZW50cyBuZWVkZWQgZm9yIHFkaXNrIGJhY2tlbmQgdG8gd29y
ayBvbiBub24tcHZvcHMgTGludXguCiAgICAgICAgKEphbiBCZXVsaWNoKQoKaHlwZXJ2aXNvciwg
bmljZSB0byBoYXZlOgogICAgICAqIFBvRCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgKEdlb3Jn
ZSBEdW5sYXApCiAgICAgICogSVJRIHByb2JsZW0gZm9yIHdoaWNoIGRlYnVnZ2luZyBjb2RlIGdv
dCBhZGRlZCBieSBjL3MKICAgICAgICAyNDcwNzo5Njk4N2MzMjRhNGYuIEkgaGF2ZSBhIHRlbnRh
dGl2ZSBhZGp1c3RtZW50IHRvIHRoaXMgd2hpY2gKICAgICAgICBJIHdvdWxkIGhvcGUgdG8gYXQg
bGVhc3QgZWxpbWluYXRlIHRoZSBiYWQgY29uc2VxdWVuY2VzIG9mCiAgICAgICAgY3Jhc2hpbmcg
dGhlIGh5cGVydmlzb3IgKGNvbnZlcnRpbmcgdGhlIHVuc29saWNpdGVkCiAgICAgICAgUElDLW9y
aWdpbmF0ZWQgSVJRIGludG8gYSBzcHVyaW91cyBvbmUpLiBJJ2xsIHN1Ym1pdCBhcyBzb29uIGFz
CiAgICAgICAgSSBnb3QgdG8gdGVzdCB0aGlzIGEgbGl0dGxlLCBwYXJ0aWN1bGFybHkgYWxzbyBv
biBhbiBvbGQgYm94CiAgICAgICAgd2l0aG91dCBBUElDLiAoSmFuIEJldWxpY2gpCgp0b29scywg
bmljZSB0byBoYXZlOgogICAgICAqIFVwc3RyZWFtIHFlbXUgZmVhdHVyZSBwYXRjaGVzOgogICAg
ICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBQQ0kgcGFzc3Rocm91Z2ggc3VwcG9ydCAoQW50aG9u
eSBQZXJhcmQsCiAgICAgICAgICAgICAgICBhd2FpdGluZyBxZW15IHVwc3RyZWFtIHJldmlldykK
ICAgICAgICAgICAgICAgICAgICAgICogVXBzdHJlYW0gcWVtdSBpcyBmcm96ZW4gZm9yIHRoZWly
IG5leHQgcmVsZWFzZS4KICAgICAgICAgICAgICAgICAgICAgICAgVW5saWtlbHkgdGhhdCB0aGVz
ZSB3aWxsIGJlIGFjY2VwdGVkIGluIHRoZSBuZXh0CiAgICAgICAgICAgICAgICAgICAgICAgIGZl
dyB3ZWVrcy4gRGVmZXJlZCB1bnRpbCA0LjMgKHRoZXJlZm9yZSBET05FIGluCiAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMgY29udGV4dCkKICAgICAgICAgICAgICAqIEluaXRpYWwgeGwgc3Vw
cG9ydCBmb3IgUmVtdXMgKG1lbW9yeSBjaGVja3BvaW50LAogICAgICAgICAgICAgICAgYmxhY2to
b2xpbmcpIChTaHJpcmFtLCBET05FKQogICAgICAqIHhsIGNvbXBhdGliaWxpdHkgd2l0aCB4bToK
ICAgICAgICAgICAgICAqIHhsIHN1cHBvcnQgZm9yIGF1dG9zcGF3bmluZyB2bmN2aWV3ZXIgKHZu
Y3ZpZXdlcj0xIG9yCiAgICAgICAgICAgICAgICBvdGhlcndpc2UpIChHb25jYWxvIEdvbWVzLCBE
T05FKQogICAgICAqIERpcmVjdG9yeSB1c2FnZSBpbiBsaWJ4bCAoQmFzdGlhbiwgYXMgcGFydCBv
ZiBEZWJpYW4gcGFja2FnaW5nKS4KICAgICAgICBEZWZlciB0byA0LjMsIHRoZXJlZm9yZSBET05F
IGluIHRoaXMgY29udGV4dC4KICAgICAgICAgICAgICAqIGR1bXBzIGluIC92YXIveGVuOiB3dGY/
CiAgICAgICAgICAgICAgICAgICAgICAqIEJhc3RpYW46ICJUaGUgRkhTIGRlZmluZXMgL3Zhci9j
cmFzaCBmb3Igc3lzdGVtCiAgICAgICAgICAgICAgICAgICAgICAgIGNyYXNoIGR1bXBzLCBidXQg
aXQgaXMgbm90IHVzZWQgZXZlcnl3aGVyZS4gU28gSQogICAgICAgICAgICAgICAgICAgICAgICB3
b3VsZCB1c2UgL3Zhci9saWIveGVuL2R1bXAgb3Igc28uIgogICAgICAgICAgICAgICogdXNlciBk
YXRhIGZpbGVzIGluIC92YXIvbGliL3hlbjoKICAgICAgICAgICAgICAgICAgICAgICogV2hhdCBh
cmUgdGhlIGd1YXJhbnRlZXMgZ2l2ZW4gZm9yIHRoaXMgZmlsZXM/CiAgICAgICAgICAgICAgICAg
ICAgICAqIEJhc3RpYW46ICJJIGRvbid0IHRoaW5rIHJlYm9vdGluZyB0aGUgY29udHJvbAogICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW4gd2l0aG91dCByZWJvb3RpbmcgWGVuIHdpbGwgd29y
ayByaWdodAogICAgICAgICAgICAgICAgICAgICAgICBub3cuIFNvIC92YXIvcnVuIGlzIHRoZSBj
b3JyZWN0IGxvY2F0aW9uLiIKICAgICAgICAgICAgICAqIC92YXIvcnVuL2xpYnhsIGZvciB0ZW1w
b3JhcnkgZmlsZXMKICAgICAgICAgICAgICAgICAgICAgICogIiRUTVBESVIgb3IgdGhlIGZhbGxi
YWNrIC90bXAgaXMgdGhlIGNvcnJlY3QKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24u
IgogICAgICAqIHhsIGNvbW1hbmRzIHRvIGhlbHAgcmViaW5kIHBjaSBkZXZpY2VzIHRvIHBjaWJh
Y2suICAoR2VvcmdlCiAgICAgICAgRHVubGFwLCBET05FKQogICAgICAqIGxpYnhsOiBBZGQgQVBJ
IHRvIHJldHJpZXZlIGRvbWFpbiBjb25zb2xlIHR0eSAoQmFtdm9yIEppYW4KICAgICAgICBaaGFu
ZywgcGF0Y2hlcyBwb3N0ZWQpCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v
cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 21 11:53:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRAr-0002oN-D0; Mon, 21 May 2012 11:53:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWRAp-0002oH-Hh
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 11:53:16 +0000
Received: from [193.109.254.147:44984] by server-6.bemta-14.messagelabs.com id
	A4/AA-04960-AAC2ABF4; Mon, 21 May 2012 11:53:14 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337601193!3509436!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MTc2MA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 373 invoked from network); 21 May 2012 11:53:14 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:53:14 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:Date:From:To;
	b=A4oJmc+9hpKaAk/TReIdfetVSLoGkJmNiKXTB/m1yZxF+7IX9CsMekL/
	3GYr5g9E9dThQMJlZ2KHeo7Cwk4sGnn/NnD7KiPBmmZzWTysrcn3XUXOd
	K/4jBKgQlhMjhQpFyUCYa2AQKZ0Wp3H6lqEguOjFiTffQWNHc+kBdDD1z
	++lDhSEwn7hYsLl/ZGRDYxc51Tz/EBfts5qpx+qqTKVF5/g1Tov28SAY8
	Des5Ao6eYYHEcM9T8FIsPLnvi4Ry1;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337601195; x=1369137195;
	h=mime-version:subject:message-id:date:from:to;
	bh=P87+w5fMUyYEUcGe+dNc4PirZ/NMMvJUC5J+pXsL0PQ=;
	b=qpCgofpunVf082tUMT19hgfumqFGAnLoFErAXYszZYAmdcPJcqnISqVi
	dO1oLs1JaJnMpvcO7mDyw9udBgfmIPdz7s+KONgUuvJxKKKgdLsdsJzD5
	R2xIst0yZDBN1R1JIEyKVGsyh1i7A0TTDwkmTCSz/B+mAigCNwytX4G7a
	SomDBZLk78L4Sr/r/h3+DnlQBu4VNdJuJ6yDJ6Oq+47/GNC47K4txoO5b
	/OnZ3FX2dawQmIPp6z6oaPFcSTbMH;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="93979363"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 21 May 2012 13:53:14 +0200
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="134673025"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 21 May 2012 13:53:13 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 2A44B95E547;
	Mon, 21 May 2012 13:53:13 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============1074702869512347563=="
MIME-Version: 1.0
X-Mercurial-Node: 10457bda81c6aea95bbf828dc0458b1eb1232c6d
Message-Id: <10457bda81c6aea95bbf.1337600810@nehalem1>
Date: Mon, 21 May 2012 13:46:50 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] full support of setting scheduler parameters on
	domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1074702869512347563==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Obtains current scheduler parameters before modifying any settings specified
via domain config. Only specified settings must be modified, of course!

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


3 files changed, 37 insertions(+), 24 deletions(-)
tools/libxl/libxl_dom.c     |   25 +++++++++++++++++--------
tools/libxl/libxl_types.idl |    8 ++++++++
tools/libxl/xl_cmdimpl.c    |   28 ++++++++++++----------------



--===============1074702869512347563==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337599961 -7200
# Node ID 10457bda81c6aea95bbf828dc0458b1eb1232c6d
# Parent  238900a4ed227d04c164d4cd12dfc66f7a25b946
full support of setting scheduler parameters on domain creation

Obtains current scheduler parameters before modifying any settings specified
via domain config. Only specified settings must be modified, of course!

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 238900a4ed22 -r 10457bda81c6 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Mon May 21 12:03:32 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Mon May 21 13:32:41 2012 +0200
@@ -54,20 +54,29 @@ int libxl__sched_set_params(libxl__gc *g
     sched = libxl_get_scheduler (ctx);
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
+      ret = libxl_sched_sedf_domain_get(ctx, domid, &sedf_info);
+      if (ret)
+          break;
+      if (scparams->set_period) sedf_info.period = scparams->period;
+      if (scparams->set_slice) sedf_info.slice = scparams->slice;
+      if (scparams->set_latency) sedf_info.latency = scparams->latency;
+      if (scparams->set_extratime) sedf_info.extratime = scparams->extratime;
+      if (scparams->set_weight) sedf_info.weight = scparams->weight;
       ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
       break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
+      ret = libxl_sched_credit_domain_get(ctx, domid, &credit_info);
+      if (ret)
+          break;
+      if (scparams->set_weight) credit_info.weight = scparams->weight;
+      if (scparams->set_cap) credit_info.cap = scparams->cap;
       ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
       break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
+      ret = libxl_sched_credit2_domain_get(ctx, domid, &credit2_info);
+      if (ret)
+          break;
+      if (scparams->set_weight) credit2_info.weight = scparams->weight;
       ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
       break;
     default:
diff -r 238900a4ed22 -r 10457bda81c6 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Mon May 21 12:03:32 2012 +0200
+++ b/tools/libxl/libxl_types.idl	Mon May 21 13:32:41 2012 +0200
@@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
     ("slice",        integer),
     ("latency",      integer),
     ("extratime",    integer),
+    ("set_weight",       bool),
+    ("set_cap",          bool),
+    ("set_tslice_ms",    bool),
+    ("set_ratelimit_us", bool),
+    ("set_period",       bool),
+    ("set_slice",        bool),
+    ("set_latency",      bool),
+    ("set_extratime",    bool),
     ], dir=DIR_IN)
 
 # Instances of libxl_file_reference contained in this struct which
diff -r 238900a4ed22 -r 10457bda81c6 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 21 12:03:32 2012 +0200
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 21 13:32:41 2012 +0200
@@ -628,22 +628,18 @@ static void parse_config_data(const char
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
     /* the following is the actual config parsing with overriding values in the structures */
-    if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-        b_info->sched_params.weight = l;
-    if (!xlu_cfg_get_long (config, "cap", &l, 0))
-        b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
-    if (!xlu_cfg_get_long (config, "period", &l, 0))
-        b_info->sched_params.period = l;
-    if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
-    if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
-    if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+#define __set_sched_par(s,x,t) if ((b_info->sched_params.s =       \
+        !xlu_cfg_get_long (config, t, &l, 0)))                     \
+            b_info->sched_params.x = l
+    __set_sched_par(set_weight, weight, "cpu_weight");
+    __set_sched_par(set_cap, cap, "cap");
+    __set_sched_par(set_tslice_ms, tslice_ms, "tslice_ms");
+    __set_sched_par(set_ratelimit_us, ratelimit_us, "ratelimit_us");
+    __set_sched_par(set_period, period, "period");
+    __set_sched_par(set_slice, slice, "slice");
+    __set_sched_par(set_latency, latency, "latency");
+    __set_sched_par(set_extratime, extratime, "extratime");
+#undef __set_sched_par
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;

--===============1074702869512347563==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1074702869512347563==--


From xen-devel-bounces@lists.xen.org Mon May 21 11:53:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 11:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRAr-0002oN-D0; Mon, 21 May 2012 11:53:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWRAp-0002oH-Hh
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 11:53:16 +0000
Received: from [193.109.254.147:44984] by server-6.bemta-14.messagelabs.com id
	A4/AA-04960-AAC2ABF4; Mon, 21 May 2012 11:53:14 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337601193!3509436!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MTc2MA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 373 invoked from network); 21 May 2012 11:53:14 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 11:53:14 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:Date:From:To;
	b=A4oJmc+9hpKaAk/TReIdfetVSLoGkJmNiKXTB/m1yZxF+7IX9CsMekL/
	3GYr5g9E9dThQMJlZ2KHeo7Cwk4sGnn/NnD7KiPBmmZzWTysrcn3XUXOd
	K/4jBKgQlhMjhQpFyUCYa2AQKZ0Wp3H6lqEguOjFiTffQWNHc+kBdDD1z
	++lDhSEwn7hYsLl/ZGRDYxc51Tz/EBfts5qpx+qqTKVF5/g1Tov28SAY8
	Des5Ao6eYYHEcM9T8FIsPLnvi4Ry1;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337601195; x=1369137195;
	h=mime-version:subject:message-id:date:from:to;
	bh=P87+w5fMUyYEUcGe+dNc4PirZ/NMMvJUC5J+pXsL0PQ=;
	b=qpCgofpunVf082tUMT19hgfumqFGAnLoFErAXYszZYAmdcPJcqnISqVi
	dO1oLs1JaJnMpvcO7mDyw9udBgfmIPdz7s+KONgUuvJxKKKgdLsdsJzD5
	R2xIst0yZDBN1R1JIEyKVGsyh1i7A0TTDwkmTCSz/B+mAigCNwytX4G7a
	SomDBZLk78L4Sr/r/h3+DnlQBu4VNdJuJ6yDJ6Oq+47/GNC47K4txoO5b
	/OnZ3FX2dawQmIPp6z6oaPFcSTbMH;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="93979363"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 21 May 2012 13:53:14 +0200
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="134673025"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 21 May 2012 13:53:13 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 2A44B95E547;
	Mon, 21 May 2012 13:53:13 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============1074702869512347563=="
MIME-Version: 1.0
X-Mercurial-Node: 10457bda81c6aea95bbf828dc0458b1eb1232c6d
Message-Id: <10457bda81c6aea95bbf.1337600810@nehalem1>
Date: Mon, 21 May 2012 13:46:50 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] full support of setting scheduler parameters on
	domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1074702869512347563==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Obtains current scheduler parameters before modifying any settings specified
via domain config. Only specified settings must be modified, of course!

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


3 files changed, 37 insertions(+), 24 deletions(-)
tools/libxl/libxl_dom.c     |   25 +++++++++++++++++--------
tools/libxl/libxl_types.idl |    8 ++++++++
tools/libxl/xl_cmdimpl.c    |   28 ++++++++++++----------------



--===============1074702869512347563==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337599961 -7200
# Node ID 10457bda81c6aea95bbf828dc0458b1eb1232c6d
# Parent  238900a4ed227d04c164d4cd12dfc66f7a25b946
full support of setting scheduler parameters on domain creation

Obtains current scheduler parameters before modifying any settings specified
via domain config. Only specified settings must be modified, of course!

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 238900a4ed22 -r 10457bda81c6 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Mon May 21 12:03:32 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Mon May 21 13:32:41 2012 +0200
@@ -54,20 +54,29 @@ int libxl__sched_set_params(libxl__gc *g
     sched = libxl_get_scheduler (ctx);
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
+      ret = libxl_sched_sedf_domain_get(ctx, domid, &sedf_info);
+      if (ret)
+          break;
+      if (scparams->set_period) sedf_info.period = scparams->period;
+      if (scparams->set_slice) sedf_info.slice = scparams->slice;
+      if (scparams->set_latency) sedf_info.latency = scparams->latency;
+      if (scparams->set_extratime) sedf_info.extratime = scparams->extratime;
+      if (scparams->set_weight) sedf_info.weight = scparams->weight;
       ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
       break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
+      ret = libxl_sched_credit_domain_get(ctx, domid, &credit_info);
+      if (ret)
+          break;
+      if (scparams->set_weight) credit_info.weight = scparams->weight;
+      if (scparams->set_cap) credit_info.cap = scparams->cap;
       ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
       break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
+      ret = libxl_sched_credit2_domain_get(ctx, domid, &credit2_info);
+      if (ret)
+          break;
+      if (scparams->set_weight) credit2_info.weight = scparams->weight;
       ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
       break;
     default:
diff -r 238900a4ed22 -r 10457bda81c6 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Mon May 21 12:03:32 2012 +0200
+++ b/tools/libxl/libxl_types.idl	Mon May 21 13:32:41 2012 +0200
@@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
     ("slice",        integer),
     ("latency",      integer),
     ("extratime",    integer),
+    ("set_weight",       bool),
+    ("set_cap",          bool),
+    ("set_tslice_ms",    bool),
+    ("set_ratelimit_us", bool),
+    ("set_period",       bool),
+    ("set_slice",        bool),
+    ("set_latency",      bool),
+    ("set_extratime",    bool),
     ], dir=DIR_IN)
 
 # Instances of libxl_file_reference contained in this struct which
diff -r 238900a4ed22 -r 10457bda81c6 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 21 12:03:32 2012 +0200
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 21 13:32:41 2012 +0200
@@ -628,22 +628,18 @@ static void parse_config_data(const char
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
     /* the following is the actual config parsing with overriding values in the structures */
-    if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-        b_info->sched_params.weight = l;
-    if (!xlu_cfg_get_long (config, "cap", &l, 0))
-        b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
-    if (!xlu_cfg_get_long (config, "period", &l, 0))
-        b_info->sched_params.period = l;
-    if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
-    if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
-    if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+#define __set_sched_par(s,x,t) if ((b_info->sched_params.s =       \
+        !xlu_cfg_get_long (config, t, &l, 0)))                     \
+            b_info->sched_params.x = l
+    __set_sched_par(set_weight, weight, "cpu_weight");
+    __set_sched_par(set_cap, cap, "cap");
+    __set_sched_par(set_tslice_ms, tslice_ms, "tslice_ms");
+    __set_sched_par(set_ratelimit_us, ratelimit_us, "ratelimit_us");
+    __set_sched_par(set_period, period, "period");
+    __set_sched_par(set_slice, slice, "slice");
+    __set_sched_par(set_latency, latency, "latency");
+    __set_sched_par(set_extratime, extratime, "extratime");
+#undef __set_sched_par
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;

--===============1074702869512347563==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1074702869512347563==--


From xen-devel-bounces@lists.xen.org Mon May 21 12:08:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRP1-0003Vq-46; Mon, 21 May 2012 12:07:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRP0-0003Vl-7X
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 12:07:54 +0000
Received: from [85.158.138.51:10270] by server-4.bemta-3.messagelabs.com id
	51/79-15341-9103ABF4; Mon, 21 May 2012 12:07:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337602072!28223682!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 858 invoked from network); 21 May 2012 12:07:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:07:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12576481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:07:52 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:07:52 +0100
Message-ID: <1337602071.24660.99.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Mon, 21 May 2012 13:07:51 +0100
In-Reply-To: <10457bda81c6aea95bbf.1337600810@nehalem1>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
> Obtains current scheduler parameters before modifying any settings specified
> via domain config. Only specified settings must be modified, of course!
> 

I presume this will fix the 
libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
warning we are currently seeing? Thanks!

> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
>      ("slice",        integer),
>      ("latency",      integer),
>      ("extratime",    integer),
> +    ("set_weight",       bool),
> +    ("set_cap",          bool),
> +    ("set_tslice_ms",    bool),
> +    ("set_ratelimit_us", bool),
> +    ("set_period",       bool),
> +    ("set_slice",        bool),
> +    ("set_latency",      bool),
> +    ("set_extratime",    bool),

Rather than doing this it would be preferable to identify some specific
value which means "default" for each of these fields. Generally this
would be either 0 (preferred if possible) or ~0 or -1. You can then
describe this in the IDL using the "init_val" property on each field.
e.g.:

@@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_sched_params = Struct("sched_params",[
-    ("weight",       integer),
+    ("weight",       integer, {'init_val': -1}),
     ("cap",          integer),
     ("tslice_ms",    integer),
     ("ratelimit_us", integer),

(just as an illustration of a non-zero default, I suspect 0 would
actually be a fine default value for weight, and 0 is the default
init_val)

Then libxl_sched_params_init, which xl must call (perhaps indirectly,
e.g. via libxl_domain_build_info_init) would set these defaults and xl
would override them from the config and libxl would only set those which
were non-default.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:08:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRP1-0003Vq-46; Mon, 21 May 2012 12:07:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRP0-0003Vl-7X
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 12:07:54 +0000
Received: from [85.158.138.51:10270] by server-4.bemta-3.messagelabs.com id
	51/79-15341-9103ABF4; Mon, 21 May 2012 12:07:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337602072!28223682!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 858 invoked from network); 21 May 2012 12:07:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:07:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12576481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:07:52 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:07:52 +0100
Message-ID: <1337602071.24660.99.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Mon, 21 May 2012 13:07:51 +0100
In-Reply-To: <10457bda81c6aea95bbf.1337600810@nehalem1>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
> Obtains current scheduler parameters before modifying any settings specified
> via domain config. Only specified settings must be modified, of course!
> 

I presume this will fix the 
libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
warning we are currently seeing? Thanks!

> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
>      ("slice",        integer),
>      ("latency",      integer),
>      ("extratime",    integer),
> +    ("set_weight",       bool),
> +    ("set_cap",          bool),
> +    ("set_tslice_ms",    bool),
> +    ("set_ratelimit_us", bool),
> +    ("set_period",       bool),
> +    ("set_slice",        bool),
> +    ("set_latency",      bool),
> +    ("set_extratime",    bool),

Rather than doing this it would be preferable to identify some specific
value which means "default" for each of these fields. Generally this
would be either 0 (preferred if possible) or ~0 or -1. You can then
describe this in the IDL using the "init_val" property on each field.
e.g.:

@@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_sched_params = Struct("sched_params",[
-    ("weight",       integer),
+    ("weight",       integer, {'init_val': -1}),
     ("cap",          integer),
     ("tslice_ms",    integer),
     ("ratelimit_us", integer),

(just as an illustration of a non-zero default, I suspect 0 would
actually be a fine default value for weight, and 0 is the default
init_val)

Then libxl_sched_params_init, which xl must call (perhaps indirectly,
e.g. via libxl_domain_build_info_init) would set these defaults and xl
would override them from the config and libxl would only set those which
were non-default.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:13:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRUT-0003gp-Sa; Mon, 21 May 2012 12:13:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SWRUS-0003gk-FV
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 12:13:32 +0000
Received: from [85.158.139.83:61558] by server-7.bemta-5.messagelabs.com id
	40/38-12065-B613ABF4; Mon, 21 May 2012 12:13:31 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337602408!25634418!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23650 invoked from network); 21 May 2012 12:13:30 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-6.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	21 May 2012 12:13:30 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SWRUN-0002Ux-6j
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 05:13:27 -0700
Date: Mon, 21 May 2012 05:13:27 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337602407165-5709046.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SSBoYXZlIGJ1aWx0IG9uIGNsZWFuIHN5c3RlbSB3aXRoIHhlbi11bnN0YWJsZSAyNTM3NCBhbmQg
c3RvcHMgd2l0aCB0aGlzCmVycm9yOgpnY2MgIC1PMSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAt
bTY0IC1nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkKLVdhbGwgLVdzdHJpY3QtcHJv
dG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudAotV25vLXVudXNlZC1idXQtc2V0
LXZhcmlhYmxlICAgLURfX1hFTl9UT09MU19fIC1NTUQgLU1GIC5saWJ4bC5vLmQgCi1EX0xBUkdF
RklMRV9TT1VSQ0UgLURfTEFSR0VGSUxFNjRfU09VUkNFIC1mbm8tb3B0aW1pemUtc2libGluZy1j
YWxscwotV2Vycm9yIC1Xbm8tZm9ybWF0LXplcm8tbGVuZ3RoIC1XbWlzc2luZy1kZWNsYXJhdGlv
bnMKLVduby1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAt
SS4gLWZQSUMgLXB0aHJlYWQKLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGli
eGwvLi4vLi4vdG9vbHMvbGlieGMKLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMv
bGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQotSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90
b29scy9saWJ4bC8uLi8uLi90b29scy9saWJ4YwotSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5o
Zy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNsdWRlCi1JL21udC92bS94ZW4veGVuLXVuc3Rh
YmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL3hlbnN0b3JlCi1JL21udC92bS94ZW4veGVu
LXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2luY2x1ZGUKLUkvbW50L3ZtL3hl
bi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvYmxrdGFwMi9jb250cm9s
Ci1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Js
a3RhcDIvaW5jbHVkZQotSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8u
Li8uLi90b29scy9pbmNsdWRlIC1pbmNsdWRlCi9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90
b29scy9saWJ4bC8uLi8uLi90b29scy9jb25maWcuaCAgLWMgLW8gbGlieGwubwpsaWJ4bC5jIAps
aWJ4bC5jOiBJbiBmdW5jdGlvbiDDomxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVjw6I6CmxpYnhs
LmM6MTIzMzo5OiBlcnJvcjogY2FzZSB2YWx1ZSDDojQyOTQ5NjcyOTXDoiBub3QgaW4gZW51bWVy
YXRlZCB0eXBlCsOibGlieGxfZG9tYWluX3R5cGXDoiBbLVdlcnJvcj1zd2l0Y2hdCmNjMTogYWxs
IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbM106ICoqKiBbbGlieGwub10g
RXJyb3IgMQptYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL21udC92bS94ZW4veGVuLXVuc3Rh
YmxlLmhnL3Rvb2xzL2xpYnhsJwptYWtlWzJdOiAqKiogW3N1YmRpci1pbnN0YWxsLWxpYnhsXSBF
cnJvciAyCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3ZtL3hlbi94ZW4tdW5zdGFi
bGUuaGcvdG9vbHMnCm1ha2VbMV06ICoqKiBbc3ViZGlycy1pbnN0YWxsXSBFcnJvciAyCm1ha2Vb
MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMn
Cm1ha2U6ICoqKiBbaW5zdGFsbC10b29sc10gRXJyb3IgMgoKUHJldmlvdXMgYnVpbGQgd2l0aCBj
aGFuZ2VzZXQgMjUzMjYgd2FzIHdvcmtpbmcKCi0tClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRl
eHQ6IGh0dHA6Ly94ZW4uMTA0NTcxMi5uNS5uYWJibGUuY29tL0J1aWxkLWVycm9yLW9mLWxpYnhs
LWluLXhlbi11bnN0YWJsZS1jaGFuZ2VzZXQtMjUzNzQtdHA1NzA5MDQ2Lmh0bWwKU2VudCBmcm9t
IHRoZSBYZW4gLSBEZXYgbWFpbGluZyBsaXN0IGFyY2hpdmUgYXQgTmFiYmxlLmNvbS4KCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls
aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu
LWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 21 12:13:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRUT-0003gp-Sa; Mon, 21 May 2012 12:13:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SWRUS-0003gk-FV
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 12:13:32 +0000
Received: from [85.158.139.83:61558] by server-7.bemta-5.messagelabs.com id
	40/38-12065-B613ABF4; Mon, 21 May 2012 12:13:31 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337602408!25634418!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23650 invoked from network); 21 May 2012 12:13:30 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-6.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	21 May 2012 12:13:30 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SWRUN-0002Ux-6j
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 05:13:27 -0700
Date: Mon, 21 May 2012 05:13:27 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337602407165-5709046.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SSBoYXZlIGJ1aWx0IG9uIGNsZWFuIHN5c3RlbSB3aXRoIHhlbi11bnN0YWJsZSAyNTM3NCBhbmQg
c3RvcHMgd2l0aCB0aGlzCmVycm9yOgpnY2MgIC1PMSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAt
bTY0IC1nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkKLVdhbGwgLVdzdHJpY3QtcHJv
dG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudAotV25vLXVudXNlZC1idXQtc2V0
LXZhcmlhYmxlICAgLURfX1hFTl9UT09MU19fIC1NTUQgLU1GIC5saWJ4bC5vLmQgCi1EX0xBUkdF
RklMRV9TT1VSQ0UgLURfTEFSR0VGSUxFNjRfU09VUkNFIC1mbm8tb3B0aW1pemUtc2libGluZy1j
YWxscwotV2Vycm9yIC1Xbm8tZm9ybWF0LXplcm8tbGVuZ3RoIC1XbWlzc2luZy1kZWNsYXJhdGlv
bnMKLVduby1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAt
SS4gLWZQSUMgLXB0aHJlYWQKLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGli
eGwvLi4vLi4vdG9vbHMvbGlieGMKLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMv
bGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQotSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90
b29scy9saWJ4bC8uLi8uLi90b29scy9saWJ4YwotSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5o
Zy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNsdWRlCi1JL21udC92bS94ZW4veGVuLXVuc3Rh
YmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL3hlbnN0b3JlCi1JL21udC92bS94ZW4veGVu
LXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2luY2x1ZGUKLUkvbW50L3ZtL3hl
bi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvYmxrdGFwMi9jb250cm9s
Ci1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Js
a3RhcDIvaW5jbHVkZQotSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8u
Li8uLi90b29scy9pbmNsdWRlIC1pbmNsdWRlCi9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90
b29scy9saWJ4bC8uLi8uLi90b29scy9jb25maWcuaCAgLWMgLW8gbGlieGwubwpsaWJ4bC5jIAps
aWJ4bC5jOiBJbiBmdW5jdGlvbiDDomxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVjw6I6CmxpYnhs
LmM6MTIzMzo5OiBlcnJvcjogY2FzZSB2YWx1ZSDDojQyOTQ5NjcyOTXDoiBub3QgaW4gZW51bWVy
YXRlZCB0eXBlCsOibGlieGxfZG9tYWluX3R5cGXDoiBbLVdlcnJvcj1zd2l0Y2hdCmNjMTogYWxs
IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbM106ICoqKiBbbGlieGwub10g
RXJyb3IgMQptYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL21udC92bS94ZW4veGVuLXVuc3Rh
YmxlLmhnL3Rvb2xzL2xpYnhsJwptYWtlWzJdOiAqKiogW3N1YmRpci1pbnN0YWxsLWxpYnhsXSBF
cnJvciAyCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3ZtL3hlbi94ZW4tdW5zdGFi
bGUuaGcvdG9vbHMnCm1ha2VbMV06ICoqKiBbc3ViZGlycy1pbnN0YWxsXSBFcnJvciAyCm1ha2Vb
MV06IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMn
Cm1ha2U6ICoqKiBbaW5zdGFsbC10b29sc10gRXJyb3IgMgoKUHJldmlvdXMgYnVpbGQgd2l0aCBj
aGFuZ2VzZXQgMjUzMjYgd2FzIHdvcmtpbmcKCi0tClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRl
eHQ6IGh0dHA6Ly94ZW4uMTA0NTcxMi5uNS5uYWJibGUuY29tL0J1aWxkLWVycm9yLW9mLWxpYnhs
LWluLXhlbi11bnN0YWJsZS1jaGFuZ2VzZXQtMjUzNzQtdHA1NzA5MDQ2Lmh0bWwKU2VudCBmcm9t
IHRoZSBYZW4gLSBEZXYgbWFpbGluZyBsaXN0IGFyY2hpdmUgYXQgTmFiYmxlLmNvbS4KCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls
aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu
LWRldmVsCg==

From xen-devel-bounces@lists.xen.org Mon May 21 12:16:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRWb-0003mF-D3; Mon, 21 May 2012 12:15:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRWa-0003m6-5y
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:15:44 +0000
Received: from [85.158.138.51:29958] by server-6.bemta-3.messagelabs.com id
	27/8D-05145-FE13ABF4; Mon, 21 May 2012 12:15:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337602542!19360465!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13764 invoked from network); 21 May 2012 12:15:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:15:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12576752"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:15:42 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:15:42 +0100
Message-ID: <1337602541.24660.105.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Mon, 21 May 2012 13:15:41 +0100
In-Reply-To: <4FBA185A.3080306@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 11:26 +0100, Christoph Egger wrote:
> On 05/18/12 17:58, Ian Campbell wrote:
> 
> > 
> >> In libxl__build_post() I check the return value
> >> of libxl__sched_set_params().
> > 
> > The mesages about scheduler params are a known and benign issue.
> > 
> >> Now trying to start a guest results in this failure:
> >>
> >> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>   Loader:        0000000000100000->000000000019bd04
> >>   TOTAL:         0000000000000000->00000000ff800000
> >>   ENTRY ADDRESS: 0000000000100000
> >> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>   4KB PAGES: 0x0000000000000200
> >>   2MB PAGES: 0x00000000000003fb
> >>   1GB PAGES: 0x0000000000000002
> >> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> >> of range, valid values are within range from 1 to 65535
> >> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >> (re-)build domain: -6
> >> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> >> device model's pid: No such file or directory
> > 
> > Is your device model dying for some reason? Anything
> > in /var/log/xen/*guest*.log about it?
> 
> 
> The guest logfile doesn't exist.

Sorry, I meant guest as in $GUEST_NAME rather than literally "guest" (I
was totally non-obvious about that, sorry!).

> Does that mean the errors happens before device model has been started at all?

I think/hope if that were the case you would get messages about failure
to exec etc rather than timeouts.

> > 
> > You could try "xl -vvv cr ..." too, not sure what it will say.
> 
> 
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=unknown
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=hda, using backend phy
> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002

No messages about "xs transaction failed: Bad file descriptor" any more?

> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> (re-)build domain: -6
> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> device model's pid: No such file or directory
> libxl: error: libxl.c:1162:libxl_domain_destroy:
> libxl__destroy_device_model failed for 2

Hrm, actually, the device model stuff might be a red-herring -- that's
trying to tear down the device model on failure and it is entirely
reasonable for the device model to not be running if we didn't get as
far as starting it...

The interesting message is just:
> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> (re-)build domain: -6

Which is unhelpfully just a general failure from libxl__domain_build.

It seems that we have a non-logging failure path in there somewhere. I'm
afraid that the easieist way to fix this is probably just to dive into
libxl__domain_build and add prints on the various error cases of sub
functions, then recurse as you identify which one is failing etc..

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:16:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRWb-0003mF-D3; Mon, 21 May 2012 12:15:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRWa-0003m6-5y
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:15:44 +0000
Received: from [85.158.138.51:29958] by server-6.bemta-3.messagelabs.com id
	27/8D-05145-FE13ABF4; Mon, 21 May 2012 12:15:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337602542!19360465!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13764 invoked from network); 21 May 2012 12:15:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:15:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12576752"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:15:42 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:15:42 +0100
Message-ID: <1337602541.24660.105.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Mon, 21 May 2012 13:15:41 +0100
In-Reply-To: <4FBA185A.3080306@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 11:26 +0100, Christoph Egger wrote:
> On 05/18/12 17:58, Ian Campbell wrote:
> 
> > 
> >> In libxl__build_post() I check the return value
> >> of libxl__sched_set_params().
> > 
> > The mesages about scheduler params are a known and benign issue.
> > 
> >> Now trying to start a guest results in this failure:
> >>
> >> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>   Loader:        0000000000100000->000000000019bd04
> >>   TOTAL:         0000000000000000->00000000ff800000
> >>   ENTRY ADDRESS: 0000000000100000
> >> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>   4KB PAGES: 0x0000000000000200
> >>   2MB PAGES: 0x00000000000003fb
> >>   1GB PAGES: 0x0000000000000002
> >> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> >> of range, valid values are within range from 1 to 65535
> >> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >> (re-)build domain: -6
> >> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> >> device model's pid: No such file or directory
> > 
> > Is your device model dying for some reason? Anything
> > in /var/log/xen/*guest*.log about it?
> 
> 
> The guest logfile doesn't exist.

Sorry, I meant guest as in $GUEST_NAME rather than literally "guest" (I
was totally non-obvious about that, sorry!).

> Does that mean the errors happens before device model has been started at all?

I think/hope if that were the case you would get messages about failure
to exec etc rather than timeouts.

> > 
> > You could try "xl -vvv cr ..." too, not sure what it will say.
> 
> 
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=unknown
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=hda, using backend phy
> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002

No messages about "xs transaction failed: Bad file descriptor" any more?

> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> (re-)build domain: -6
> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> device model's pid: No such file or directory
> libxl: error: libxl.c:1162:libxl_domain_destroy:
> libxl__destroy_device_model failed for 2

Hrm, actually, the device model stuff might be a red-herring -- that's
trying to tear down the device model on failure and it is entirely
reasonable for the device model to not be running if we didn't get as
far as starting it...

The interesting message is just:
> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> (re-)build domain: -6

Which is unhelpfully just a general failure from libxl__domain_build.

It seems that we have a non-logging failure path in there somewhere. I'm
afraid that the easieist way to fix this is probably just to dive into
libxl__domain_build and add prints on the various error cases of sub
functions, then recurse as you identify which one is failing etc..

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:20:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:20:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRbK-0003yb-7c; Mon, 21 May 2012 12:20:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRbI-0003yU-KN
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:20:36 +0000
Received: from [85.158.139.83:59237] by server-8.bemta-5.messagelabs.com id
	5F/A4-30118-3133ABF4; Mon, 21 May 2012 12:20:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337602829!25243257!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6038 invoked from network); 21 May 2012 12:20:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:20:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12576915"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:20:29 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:20:28 +0100
Message-ID: <1337602827.24660.110.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "cyberhawk001@gmail.com" <cyberhawk001@gmail.com>
Date: Mon, 21 May 2012 13:20:27 +0100
In-Reply-To: <4FB91F2A.4080304@gmail.com>
References: <4FB91D44.8010808@gmail.com> <4FB91F2A.4080304@gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl.c ERROR during compiling Xen 4.2-Unstable
 revision 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gU3VuLCAyMDEyLTA1LTIwIGF0IDE3OjQzICswMTAwLCBjeWJlcmhhd2swMDFAZ21haWwuY29t
IHdyb3RlOgo+IAo+ICBJIGhhdmUgaGFkIFhlbiA0LjItVW5zdGFibGUgY29tcGlsZWQgYSB3ZWVr
IG9yIHNvIGFnbyBhbmQgaXQgYWxsIHdlbnQKPiBmaW5lIGFuZCBydW5uaW5nLCBidXQgaSBmb3Jn
ZXQgd2hhdCByZXZpc2lvbiBpIGNvbXBpbGVkIG5vdy4KPiAKPiBXaGVuIGkgcmFuIHRoZSB4bCBj
cmVhdGUgL2V0Yy94ZW4vd2luNy5jZmcgdG8gY3JlYXRlIGEgVk0sIGkgZ290IGFuCj4gZXJyb3Ig
YWJvdXQgbGlieGwgYW5kIHJ1bm5pbmcgInN1ZG8geGwgbGlzdCIgc2hvd3MgdGhlIG5ld2x5IGNy
ZWF0ZWQKPiBWTSwgU08gaSBqdXN0IGlnbm9yZWQgdGhhdCBlcnJvciBmb3Igbm93LiBUaGF0IGVy
cm9yIG1lc3NhZ2Ugd2FzOgo+IAo+IGxpYnhsOiBlcnJvcjogbGlieGwuYzozMTE3OmxpYnhsX3Nj
aGVkX2NyZWRpdF9kb21haW5fc2V0OiBDcHUgd2VpZ2h0Cj4gb3V0IG9mIHJhbmdlLCB2YWxpZCB2
YWx1ZXMgYXJlIHdpdGhpbiByYW5nZSBmcm9tIDEgdG8gNjU1MzUKClRoaXMgaXMgYSBoYXJtbGVz
cyB3YXJuaW5nIGFuZCBpcyBvbiBvdXIgbGlzdCB0byBmaXggZm9yIDQuMgoKPiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gCj4gU08sIEkgbm90aWNl
ZCBvbiB0aGUgeGVuLXVuc3RhYmxlLmhnIHRyZWUgdGhhdCB0aGVyZSBoYXZlIGJlZW4gYSBsb3QK
PiBvZiB1cGRhdGVzIHRvIHRoZSBsaWJ4bCBsYXRlbHkgU08ganVzdCBvdXQgb2YgY3VyaW9zaXR5
LCBpIHdhbnRlZCB0bwo+IGdldCB0aGUgbGF0ZXN0IHJldmlzaW9uIDI1Mzc0IG9mIHhlbi11bnN0
YWJsZSBhcyBvZiB0b2RheSA1LzIwLzIwMTIsCj4gYW5kIGNvbXBpbGUgaXQuIEJVVCwgaSBjYW5u
b3QgY29tcGlsZSBYZW4gYW55bW9yZSBhcyB0aGUgY29tcGlsZSBzdG9wcwo+IHdpdGggd2Fybmlu
Z3MgYW5kIGVycm9yIG1lc3NhZ2VzLiAKPiAKPiBVcG9uIHNjcm9sbGluZyB1cCBpbiB0aGUgdGVy
bWluYWwgd2luZG93LCBpIG5vdGljZWQgdGhlc2Ugd2FybmluZyBvcgo+IGVycm9yIG1lc3NhZ2Vz
OgoKVGhhbmtzLCBpdCBjYW4gYmUgdXNlZnVsIGZvciB1cyB0byBzZWUgdGhlIGZ1bGwgY29udGV4
dCwgaW4gd2hpY2ggY2FzZQp1c2luZyBzb21ldGhpbmcgbGlrZSB0ZWUoMSkgdG8gY29sbGVjdCB0
aGUgZnVsbCBsb2cgYW5kIGF0dGFjaGluZyBpdCBjYW4KYmUgdXNlZnVsLgoKPiBub2RlLXNlbGVj
dC5jOjU3OjY6IHdhcm5pbmc6IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzbuKAmXQgYSBwcm90b3R5
cGUgWy1Xc3RyaWN0LXByb3RvdHlwZXNdCj4gbm9kZS1zZWxlY3QuYzogSW4gZnVuY3Rpb24g4oCY
dmNoYW5fd3LigJk6Cj4gbm9kZS1zZWxlY3QuYzo2MDoyOiB3YXJuaW5nOiBJU08gQzkwIGZvcmJp
ZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlIFstV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl
bWVudF0KPiBub2RlLXNlbGVjdC5jOiBBdCB0b3AgbGV2ZWw6Cj4gbm9kZS1zZWxlY3QuYzo3MTo2
OiB3YXJuaW5nOiBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpc27igJl0IGEgcHJvdG90eXBlIFstV3N0
cmljdC1wcm90b3R5cGVzXQo+IG5vZGUtc2VsZWN0LmM6IEluIGZ1bmN0aW9uIOKAmHN0ZG91dF93
cuKAmToKPiBub2RlLXNlbGVjdC5jOjc0OjI6IHdhcm5pbmc6IElTTyBDOTAgZm9yYmlkcyBtaXhl
ZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUgWy1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50XQoK
VGhlc2UgYXJlIGdlbnVpbmUgd2FybmluZ3MgYnV0IGFyZW4ndCBjYXVzaW5nIGJ1aWxkIGZhaWx1
cmVzIChJIHByZXN1bWUKbm8gLVdlcnJvciBpbiB0aGF0IHN1YmRpcikuCgo+IFRoZSBlcnJvciBs
b2cgZnJvbSBjb21waWxpbmcgdGhlIGxpYlNETCB0ZXN0IGlzOiAKPiAvdG1wL3FlbXUtY29uZi0t
MzMzMC0uYzoxOjE3OiBmYXRhbCBlcnJvcjogU0RMLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKClRoaXMgbWVhbnMgeW91IGFyZSBtaXNzaW5nIHRoZSBTREwgZGV2ZWxvcG1lbnQgcGFja2Fn
ZS4gSSdtIG5vdCBzdXJlIGlmCnRoaXMgaXMgb3B0aW9uYWwgb3IgbWFuZGF0b3J5LCBub3Igd2hl
dGhlciB0aGlzIG1lc3NhZ2UgaXMgZmF0YWwgd2l0aG91dAptb3JlIGNvbnRleHQgZnJvbSB0aGUg
YnVpbGQgbG9ncy4KCj4gLi4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL3FlbXUteGVuLXRyYWRpdGlv
bmFsLWRpci9ody9lZXBybzEwMC5jOjEyMzI6NTogd2FybmluZzog4oCYdmFs4oCZIG1heSBiZSB1
c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVd1bmluaXRpYWxpemVkXQo+IAo+
IAo+IEkgYWxzbyBnZXQgbGlrZSBhIGRvemVuIHdhcm5pbmdzIGFib3V0IHRoaXM6Cj4gLi4vdG9v
bHMveGVuc3RvcmUvY29tcGF0L3hzLmg6MToyOiB3YXJuaW5nOiAjd2FybmluZyB4cy5oIGlzCj4g
ZGVwcmVjYXRlZCB1c2UgeGVuc3RvcmUuaCBpbnN0ZWFkIFstV2NwcF0KClRoZXNlIGFyZSBjdXJy
ZW50bHkgdG8gYmUgZXhwZWN0ZWQgYW5kIGFyZSBoYXJtbGVzcy4KCj4gQU5EIGZpbmFsbHkgdGhl
IGNvbXBpbGF0aW9ucyBzdG9wcyB3aXRoIHRoZXNlIG1lc3NhZ2VzOgo+IGxpYnhsLmM6IEluIGZ1
bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5
OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5
cGUKPiDigJhsaWJ4bF9kb21haW5fdHlwZeKAmSBbLVdlcnJvcj1zd2l0Y2hdCgpUaGlzIG9uZSBp
cyBrbm93biBhbmQgYSBmaXggaXMgaW4gcHJvZ3Jlc3MuIEl0J3MgbW9zdCBsaWtlbHkgdGhpcyBv
bmUKd2hpY2ggaXMgY2F1c2luZyB0aGUgYWN0dWFsIGJ1aWxkIGVycm9yLgoKVGhpcyBzbGlwcGVk
IHRocm91Z2ggb3VyIHRlc3RpbmcgbmV0IGR1ZSB0byB2YXJpb3VzIGNvbXBpbGVyIHZlcnNpb25z
CmJlaW5nIGNsZXZlcmVyL3N0dXBpZGVyIHRoYW4gb3RoZXJzIGFuZCBzbyB0cmlnZ2VyIG1vcmUg
b3IgbGVzcwp3YXJuaW5ncywgdGhpcyBvbmUgaGFwcGVucyBvbmx5IHdpdGggYSBtb3JlIG1vZGVy
biBnY2MgdGhhbiB3aGF0IG91cgp0ZXN0IHN5c3RlbSB1c2VzLgoKSWFuLgoKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs
aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl
bAo=

From xen-devel-bounces@lists.xen.org Mon May 21 12:20:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:20:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRbK-0003yb-7c; Mon, 21 May 2012 12:20:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRbI-0003yU-KN
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:20:36 +0000
Received: from [85.158.139.83:59237] by server-8.bemta-5.messagelabs.com id
	5F/A4-30118-3133ABF4; Mon, 21 May 2012 12:20:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337602829!25243257!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6038 invoked from network); 21 May 2012 12:20:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:20:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12576915"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:20:29 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:20:28 +0100
Message-ID: <1337602827.24660.110.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "cyberhawk001@gmail.com" <cyberhawk001@gmail.com>
Date: Mon, 21 May 2012 13:20:27 +0100
In-Reply-To: <4FB91F2A.4080304@gmail.com>
References: <4FB91D44.8010808@gmail.com> <4FB91F2A.4080304@gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl.c ERROR during compiling Xen 4.2-Unstable
 revision 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gU3VuLCAyMDEyLTA1LTIwIGF0IDE3OjQzICswMTAwLCBjeWJlcmhhd2swMDFAZ21haWwuY29t
IHdyb3RlOgo+IAo+ICBJIGhhdmUgaGFkIFhlbiA0LjItVW5zdGFibGUgY29tcGlsZWQgYSB3ZWVr
IG9yIHNvIGFnbyBhbmQgaXQgYWxsIHdlbnQKPiBmaW5lIGFuZCBydW5uaW5nLCBidXQgaSBmb3Jn
ZXQgd2hhdCByZXZpc2lvbiBpIGNvbXBpbGVkIG5vdy4KPiAKPiBXaGVuIGkgcmFuIHRoZSB4bCBj
cmVhdGUgL2V0Yy94ZW4vd2luNy5jZmcgdG8gY3JlYXRlIGEgVk0sIGkgZ290IGFuCj4gZXJyb3Ig
YWJvdXQgbGlieGwgYW5kIHJ1bm5pbmcgInN1ZG8geGwgbGlzdCIgc2hvd3MgdGhlIG5ld2x5IGNy
ZWF0ZWQKPiBWTSwgU08gaSBqdXN0IGlnbm9yZWQgdGhhdCBlcnJvciBmb3Igbm93LiBUaGF0IGVy
cm9yIG1lc3NhZ2Ugd2FzOgo+IAo+IGxpYnhsOiBlcnJvcjogbGlieGwuYzozMTE3OmxpYnhsX3Nj
aGVkX2NyZWRpdF9kb21haW5fc2V0OiBDcHUgd2VpZ2h0Cj4gb3V0IG9mIHJhbmdlLCB2YWxpZCB2
YWx1ZXMgYXJlIHdpdGhpbiByYW5nZSBmcm9tIDEgdG8gNjU1MzUKClRoaXMgaXMgYSBoYXJtbGVz
cyB3YXJuaW5nIGFuZCBpcyBvbiBvdXIgbGlzdCB0byBmaXggZm9yIDQuMgoKPiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gCj4gU08sIEkgbm90aWNl
ZCBvbiB0aGUgeGVuLXVuc3RhYmxlLmhnIHRyZWUgdGhhdCB0aGVyZSBoYXZlIGJlZW4gYSBsb3QK
PiBvZiB1cGRhdGVzIHRvIHRoZSBsaWJ4bCBsYXRlbHkgU08ganVzdCBvdXQgb2YgY3VyaW9zaXR5
LCBpIHdhbnRlZCB0bwo+IGdldCB0aGUgbGF0ZXN0IHJldmlzaW9uIDI1Mzc0IG9mIHhlbi11bnN0
YWJsZSBhcyBvZiB0b2RheSA1LzIwLzIwMTIsCj4gYW5kIGNvbXBpbGUgaXQuIEJVVCwgaSBjYW5u
b3QgY29tcGlsZSBYZW4gYW55bW9yZSBhcyB0aGUgY29tcGlsZSBzdG9wcwo+IHdpdGggd2Fybmlu
Z3MgYW5kIGVycm9yIG1lc3NhZ2VzLiAKPiAKPiBVcG9uIHNjcm9sbGluZyB1cCBpbiB0aGUgdGVy
bWluYWwgd2luZG93LCBpIG5vdGljZWQgdGhlc2Ugd2FybmluZyBvcgo+IGVycm9yIG1lc3NhZ2Vz
OgoKVGhhbmtzLCBpdCBjYW4gYmUgdXNlZnVsIGZvciB1cyB0byBzZWUgdGhlIGZ1bGwgY29udGV4
dCwgaW4gd2hpY2ggY2FzZQp1c2luZyBzb21ldGhpbmcgbGlrZSB0ZWUoMSkgdG8gY29sbGVjdCB0
aGUgZnVsbCBsb2cgYW5kIGF0dGFjaGluZyBpdCBjYW4KYmUgdXNlZnVsLgoKPiBub2RlLXNlbGVj
dC5jOjU3OjY6IHdhcm5pbmc6IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGlzbuKAmXQgYSBwcm90b3R5
cGUgWy1Xc3RyaWN0LXByb3RvdHlwZXNdCj4gbm9kZS1zZWxlY3QuYzogSW4gZnVuY3Rpb24g4oCY
dmNoYW5fd3LigJk6Cj4gbm9kZS1zZWxlY3QuYzo2MDoyOiB3YXJuaW5nOiBJU08gQzkwIGZvcmJp
ZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlIFstV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl
bWVudF0KPiBub2RlLXNlbGVjdC5jOiBBdCB0b3AgbGV2ZWw6Cj4gbm9kZS1zZWxlY3QuYzo3MTo2
OiB3YXJuaW5nOiBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpc27igJl0IGEgcHJvdG90eXBlIFstV3N0
cmljdC1wcm90b3R5cGVzXQo+IG5vZGUtc2VsZWN0LmM6IEluIGZ1bmN0aW9uIOKAmHN0ZG91dF93
cuKAmToKPiBub2RlLXNlbGVjdC5jOjc0OjI6IHdhcm5pbmc6IElTTyBDOTAgZm9yYmlkcyBtaXhl
ZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUgWy1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50XQoK
VGhlc2UgYXJlIGdlbnVpbmUgd2FybmluZ3MgYnV0IGFyZW4ndCBjYXVzaW5nIGJ1aWxkIGZhaWx1
cmVzIChJIHByZXN1bWUKbm8gLVdlcnJvciBpbiB0aGF0IHN1YmRpcikuCgo+IFRoZSBlcnJvciBs
b2cgZnJvbSBjb21waWxpbmcgdGhlIGxpYlNETCB0ZXN0IGlzOiAKPiAvdG1wL3FlbXUtY29uZi0t
MzMzMC0uYzoxOjE3OiBmYXRhbCBlcnJvcjogU0RMLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKClRoaXMgbWVhbnMgeW91IGFyZSBtaXNzaW5nIHRoZSBTREwgZGV2ZWxvcG1lbnQgcGFja2Fn
ZS4gSSdtIG5vdCBzdXJlIGlmCnRoaXMgaXMgb3B0aW9uYWwgb3IgbWFuZGF0b3J5LCBub3Igd2hl
dGhlciB0aGlzIG1lc3NhZ2UgaXMgZmF0YWwgd2l0aG91dAptb3JlIGNvbnRleHQgZnJvbSB0aGUg
YnVpbGQgbG9ncy4KCj4gLi4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL3FlbXUteGVuLXRyYWRpdGlv
bmFsLWRpci9ody9lZXBybzEwMC5jOjEyMzI6NTogd2FybmluZzog4oCYdmFs4oCZIG1heSBiZSB1
c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVd1bmluaXRpYWxpemVkXQo+IAo+
IAo+IEkgYWxzbyBnZXQgbGlrZSBhIGRvemVuIHdhcm5pbmdzIGFib3V0IHRoaXM6Cj4gLi4vdG9v
bHMveGVuc3RvcmUvY29tcGF0L3hzLmg6MToyOiB3YXJuaW5nOiAjd2FybmluZyB4cy5oIGlzCj4g
ZGVwcmVjYXRlZCB1c2UgeGVuc3RvcmUuaCBpbnN0ZWFkIFstV2NwcF0KClRoZXNlIGFyZSBjdXJy
ZW50bHkgdG8gYmUgZXhwZWN0ZWQgYW5kIGFyZSBoYXJtbGVzcy4KCj4gQU5EIGZpbmFsbHkgdGhl
IGNvbXBpbGF0aW9ucyBzdG9wcyB3aXRoIHRoZXNlIG1lc3NhZ2VzOgo+IGxpYnhsLmM6IEluIGZ1
bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5
OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5
cGUKPiDigJhsaWJ4bF9kb21haW5fdHlwZeKAmSBbLVdlcnJvcj1zd2l0Y2hdCgpUaGlzIG9uZSBp
cyBrbm93biBhbmQgYSBmaXggaXMgaW4gcHJvZ3Jlc3MuIEl0J3MgbW9zdCBsaWtlbHkgdGhpcyBv
bmUKd2hpY2ggaXMgY2F1c2luZyB0aGUgYWN0dWFsIGJ1aWxkIGVycm9yLgoKVGhpcyBzbGlwcGVk
IHRocm91Z2ggb3VyIHRlc3RpbmcgbmV0IGR1ZSB0byB2YXJpb3VzIGNvbXBpbGVyIHZlcnNpb25z
CmJlaW5nIGNsZXZlcmVyL3N0dXBpZGVyIHRoYW4gb3RoZXJzIGFuZCBzbyB0cmlnZ2VyIG1vcmUg
b3IgbGVzcwp3YXJuaW5ncywgdGhpcyBvbmUgaGFwcGVucyBvbmx5IHdpdGggYSBtb3JlIG1vZGVy
biBnY2MgdGhhbiB3aGF0IG91cgp0ZXN0IHN5c3RlbSB1c2VzLgoKSWFuLgoKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs
aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl
bAo=

From xen-devel-bounces@lists.xen.org Mon May 21 12:24:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:24:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRf0-00046L-Sy; Mon, 21 May 2012 12:24:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SWRez-00046G-6F
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:24:25 +0000
Received: from [85.158.143.99:42240] by server-1.bemta-4.messagelabs.com id
	02/9C-00342-8F33ABF4; Mon, 21 May 2012 12:24:24 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337603061!29048709!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21991 invoked from network); 21 May 2012 12:24:22 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:24:22 -0000
Received: by pbbro12 with SMTP id ro12so7135236pbb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 05:24:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=UtNWtJQqB2sr40CTrevWlkyIApSq3EQZFJ7K7j97w9k=;
	b=aDkKX3r1UiG+vlHNvFFcckJLJ6VtCwZ5EfdpW+VEjbDFvI6tNBi5YEJJO35jCIio6p
	05F6iMgDqIC11rfULt7mGWFIYx0zIARnNYggT2XoaH4bKsZRvT5XdjBjEn47hvBuV/Ud
	lK5XqceaGmm/YWMRDxrLdHNqiyV7uUE92bZZ2nmWyw8bmLfC5tpk+K+gTSm4NRxYrljS
	Fe7lNN5HSy192CEFQGUIzBupzdvOzNfNi4lg1aigqcjWFD9YzcDzb1WctTyTOXOq4yBV
	ji/Fm8oRoLTfpUu8g5Y1RXnoac5wu3leo7yaocx+eLnZWSQECsyLhuUbHK2yGk/RN3HZ
	muZw==
MIME-Version: 1.0
Received: by 10.68.230.68 with SMTP id sw4mr42337377pbc.142.1337603060483;
	Mon, 21 May 2012 05:24:20 -0700 (PDT)
Received: by 10.68.229.198 with HTTP; Mon, 21 May 2012 05:24:20 -0700 (PDT)
In-Reply-To: <CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
Date: Mon, 21 May 2012 20:24:20 +0800
Message-ID: <CAEwRVpMSB9iBvMBsQ6BocWRPquiXYGe2CeqQ6fFQfHQE-wey4A@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>>> <giamteckchoon@gmail.com> wrote:
>>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>>> > <giamteckchoon@gmail.com> wrote:
>>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix=
.com> wrote:
>>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfe=
ring with openvpn"):
>>> >>>> libxl/xend: name tap devices vifX.Y-emu
>>> >>>
>>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>>> >>
>>> >> This is my backport version which excludes the following:
>>> >>
>>> >> Lastly also move libxl__device_* to a better place in the header, ot=
herwise the
>>> >> comment about evgen stuff isn't next to the associated functions (no=
ticed jsut
>>> >> because I was going to add nic_devname near to the setdefault functi=
ons)
>>> >>
>>> >> I have tested with xm and xl with and without vifname set in domU
>>> >> config for hvmdomain and pvdomain.
>>> >
>>> > Sorry, when re-test one of the test case failed... xm create hvmdomain
>>> > with vifname set. =A0I must have missed certain test case :(
>>>
>>> The same test case failed for xen unstable latest changeset 25326:cd4dd=
23a831d.
>>
>> Oh dear.
>>
>>> My tests as below:
>>
>> Which ones fail?
>>
>>> 1. xm create pvdomain without vifname set
>>> 2. xl create pvdomain without vifname set
>>> 3. xm create hvmdomain without vifname set
>>> 4. xl create hvmdomain without vifname set
>>> 5. xm create pvdomain with vifname set
>>> 6. xl create pvdomain with vifname set
>>> 7. xm create hvmdomain with vifname set
>
> xm create hvmdomain with vifname set
>
>
> I track down the problem already. =A0It happens that xm and xl behave
> differently when creating $dev device?
>
> In short, just set $dev down before:
> do_or_die ip link set "$dev" name "$vifname"
> Then set $vifname up after the above fix my problem.
>
> Is the above suitable in upstream/unstable? =A0If yes, can you fix that
> in xen-unstable or you need me to submit a patch for review for
> xen-unstable?

Sorry, I know developers are busy and don't mean to be demanding.
This is just a note in case you have overlook this as I am waiting for
your valuable input.

Thanks.

Kindest regards,
Giam Teck Choon


>
> With the below partial of my latest backport patch fix the problem but
> I have to re-run all tests to double confirm all are fix and good to
> go :p
>
> diff --git a/tools/hotplug/Linux/vif-common.sh
> b/tools/hotplug/Linux/vif-common.sh
> index c9c5d41..86c0aaa 100644
> --- a/tools/hotplug/Linux/vif-common.sh
> +++ b/tools/hotplug/Linux/vif-common.sh
> @@ -85,12 +85,25 @@ elif [ "$type_if" =3D tap ]; then
> =A0 =A0 : ${INTERFACE:?}
>
> =A0 =A0 # Get xenbus_path from device name.
> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
> - =A0 =A0dev_=3D${dev#tap}
> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
> + =A0 =A0dev_=3D${dev#vif}
> + =A0 =A0dev_=3D${dev_%-emu}
> =A0 =A0 domid=3D${dev_%.*}
> =A0 =A0 devid=3D${dev_#*.}
>
> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> + =A0 =A0if [ "$vifname" ]
> + =A0 =A0then
> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifna=
me" >&/dev/null
> + =A0 =A0 =A0 =A0then
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$dev" down
> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$vifname" up
> + =A0 =A0 =A0 =A0fi
> + =A0 =A0 =A0 =A0dev=3D"$vifname"
> + =A0 =A0fi
> =A0fi
>
>
> Thanks.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>> 8. xl create hvmdomain with vifname set
>>>
>>> Thanks.
>>>
>>> Kindest regards,
>>>
>>>
>>> >
>>> > Kindest regards,
>>> > Giam Teck Choon
>>> >
>>> >
>>> >
>>> >>
>>> >> For your review and comments please.
>>> >>
>>> >> Thanks.
>>> >>
>>> >> Kindest regards,
>>> >> Giam Teck Choon
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> libxl/xend: name tap devices vifX.Y-emu
>>> >>
>>> >> This prevents the udev scripts from operating on other tap devices (=
e.g.
>>> >> openvpn etc)
>>> >>
>>> >> Correct the documentation for the "vifname" option which suggested i=
t applied
>>> >> to HVM tap devices only, which is not the case.
>>> >>
>>> >> Reported by Michael Young.
>>> >>
>>> >> Also fix the use of vifname with emulated devices. This is slightly =
complex.
>>> >> The current hotplug scripts rely on being able to parse the "tapX.Y"=
 (now
>>> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relat=
ing to the
>>> >> corresponding vif. This is because we cannot inject our own environm=
ent vars
>>> >> into the tap hotplug events. However this means that if the tap is i=
nitially
>>> >> named with a user specified name (which will not match the expected =
scheme) we
>>> >> fail to do anything useful with the device. So now we create the ini=
tial tap
>>> >> device with the standard "vifX.Y-emu" name and the hotplug script wi=
ll handle
>>> >> the rename to the desired name. This is also how PV vif devices work=
 -- they
>>> >> are always created by netback with the name vifX.Y and renamed in th=
e script.
>>> >>
>>> >> xen-unstable changeset: 25290:7a6dcecb1781
>>> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>>> >> ---
>>> >> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
>>> >> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>>> >> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++=
++++-----------
>>> >> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>>> >> =A04 files changed, 21 insertions(+), 19 deletions(-)
>>> >>
>>> >> diff --git a/tools/hotplug/Linux/vif-common.sh
>>> >> b/tools/hotplug/Linux/vif-common.sh
>>> >> index c9c5d41..fff22bb 100644
>>> >> --- a/tools/hotplug/Linux/vif-common.sh
>>> >> +++ b/tools/hotplug/Linux/vif-common.sh
>>> >> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>>> >> =A0 =A0 : ${INTERFACE:?}
>>> >>
>>> >> =A0 =A0 # Get xenbus_path from device name.
>>> >> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>>> >> - =A0 =A0dev_=3D${dev#tap}
>>> >> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>>> >> + =A0 =A0dev_=3D${dev#vif}
>>> >> + =A0 =A0dev_=3D${dev_%-emu}
>>> >> =A0 =A0 domid=3D${dev_%.*}
>>> >> =A0 =A0 devid=3D${dev_#*.}
>>> >>
>>> >> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>>> >> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
>>> >> + =A0 =A0if [ "$vifname" ]
>>> >> + =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>>> >> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$=
vifname" >&/dev/null
>>> >> + =A0 =A0 =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>>> >> + =A0 =A0 =A0 =A0fi
>>> >> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>>> >> + =A0 =A0fi
>>> >> =A0fi
>>> >>
>>> >> =A0ip=3D${ip:-}
>>> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
>>> >> b/tools/hotplug/Linux/xen-backend.rules
>>> >> index 40f2658..405387f 100644
>>> >> --- a/tools/hotplug/Linux/xen-backend.rules
>>> >> +++ b/tools/hotplug/Linux/xen-backend.rules
>>> >> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>>> >> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=
=3D"0600"
>>> >> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>>> >> index 1ffcc90..2c030ca 100644
>>> >> --- a/tools/libxl/libxl_dm.c
>>> >> +++ b/tools/libxl/libxl_dm.c
>>> >> @@ -134,11 +134,9 @@ static char **
>>> >> libxl_build_device_model_args_old(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-ne=
t", libxl__sprintf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>>> >> smac, vifs[i].model),
>>> >> @@ -271,12 +269,9 @@ static char **
>>> >> libxl_build_device_model_args_new(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__spr=
intf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devi=
d, smac, vifs[i].model));
>>> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/=
image.py
>>> >> index f1464ac..3c8d80c 100644
>>> >> --- a/tools/python/xen/xend/image.py
>>> >> +++ b/tools/python/xen/xend/image.py
>>> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0else:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.g=
etDomid(), nics-1)
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDo=
mid(), nics-1)
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridg=
e))
>>
>>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:24:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:24:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRf0-00046L-Sy; Mon, 21 May 2012 12:24:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SWRez-00046G-6F
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:24:25 +0000
Received: from [85.158.143.99:42240] by server-1.bemta-4.messagelabs.com id
	02/9C-00342-8F33ABF4; Mon, 21 May 2012 12:24:24 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337603061!29048709!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21991 invoked from network); 21 May 2012 12:24:22 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:24:22 -0000
Received: by pbbro12 with SMTP id ro12so7135236pbb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 05:24:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=UtNWtJQqB2sr40CTrevWlkyIApSq3EQZFJ7K7j97w9k=;
	b=aDkKX3r1UiG+vlHNvFFcckJLJ6VtCwZ5EfdpW+VEjbDFvI6tNBi5YEJJO35jCIio6p
	05F6iMgDqIC11rfULt7mGWFIYx0zIARnNYggT2XoaH4bKsZRvT5XdjBjEn47hvBuV/Ud
	lK5XqceaGmm/YWMRDxrLdHNqiyV7uUE92bZZ2nmWyw8bmLfC5tpk+K+gTSm4NRxYrljS
	Fe7lNN5HSy192CEFQGUIzBupzdvOzNfNi4lg1aigqcjWFD9YzcDzb1WctTyTOXOq4yBV
	ji/Fm8oRoLTfpUu8g5Y1RXnoac5wu3leo7yaocx+eLnZWSQECsyLhuUbHK2yGk/RN3HZ
	muZw==
MIME-Version: 1.0
Received: by 10.68.230.68 with SMTP id sw4mr42337377pbc.142.1337603060483;
	Mon, 21 May 2012 05:24:20 -0700 (PDT)
Received: by 10.68.229.198 with HTTP; Mon, 21 May 2012 05:24:20 -0700 (PDT)
In-Reply-To: <CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
Date: Mon, 21 May 2012 20:24:20 +0800
Message-ID: <CAEwRVpMSB9iBvMBsQ6BocWRPquiXYGe2CeqQ6fFQfHQE-wey4A@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>>> <giamteckchoon@gmail.com> wrote:
>>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>>> > <giamteckchoon@gmail.com> wrote:
>>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix=
.com> wrote:
>>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfe=
ring with openvpn"):
>>> >>>> libxl/xend: name tap devices vifX.Y-emu
>>> >>>
>>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>>> >>
>>> >> This is my backport version which excludes the following:
>>> >>
>>> >> Lastly also move libxl__device_* to a better place in the header, ot=
herwise the
>>> >> comment about evgen stuff isn't next to the associated functions (no=
ticed jsut
>>> >> because I was going to add nic_devname near to the setdefault functi=
ons)
>>> >>
>>> >> I have tested with xm and xl with and without vifname set in domU
>>> >> config for hvmdomain and pvdomain.
>>> >
>>> > Sorry, when re-test one of the test case failed... xm create hvmdomain
>>> > with vifname set. =A0I must have missed certain test case :(
>>>
>>> The same test case failed for xen unstable latest changeset 25326:cd4dd=
23a831d.
>>
>> Oh dear.
>>
>>> My tests as below:
>>
>> Which ones fail?
>>
>>> 1. xm create pvdomain without vifname set
>>> 2. xl create pvdomain without vifname set
>>> 3. xm create hvmdomain without vifname set
>>> 4. xl create hvmdomain without vifname set
>>> 5. xm create pvdomain with vifname set
>>> 6. xl create pvdomain with vifname set
>>> 7. xm create hvmdomain with vifname set
>
> xm create hvmdomain with vifname set
>
>
> I track down the problem already. =A0It happens that xm and xl behave
> differently when creating $dev device?
>
> In short, just set $dev down before:
> do_or_die ip link set "$dev" name "$vifname"
> Then set $vifname up after the above fix my problem.
>
> Is the above suitable in upstream/unstable? =A0If yes, can you fix that
> in xen-unstable or you need me to submit a patch for review for
> xen-unstable?

Sorry, I know developers are busy and don't mean to be demanding.
This is just a note in case you have overlook this as I am waiting for
your valuable input.

Thanks.

Kindest regards,
Giam Teck Choon


>
> With the below partial of my latest backport patch fix the problem but
> I have to re-run all tests to double confirm all are fix and good to
> go :p
>
> diff --git a/tools/hotplug/Linux/vif-common.sh
> b/tools/hotplug/Linux/vif-common.sh
> index c9c5d41..86c0aaa 100644
> --- a/tools/hotplug/Linux/vif-common.sh
> +++ b/tools/hotplug/Linux/vif-common.sh
> @@ -85,12 +85,25 @@ elif [ "$type_if" =3D tap ]; then
> =A0 =A0 : ${INTERFACE:?}
>
> =A0 =A0 # Get xenbus_path from device name.
> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
> - =A0 =A0dev_=3D${dev#tap}
> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
> + =A0 =A0dev_=3D${dev#vif}
> + =A0 =A0dev_=3D${dev_%-emu}
> =A0 =A0 domid=3D${dev_%.*}
> =A0 =A0 devid=3D${dev_#*.}
>
> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
> + =A0 =A0if [ "$vifname" ]
> + =A0 =A0then
> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$vifna=
me" >&/dev/null
> + =A0 =A0 =A0 =A0then
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$dev" down
> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> + =A0 =A0 =A0 =A0 =A0 =A0ip link set "$vifname" up
> + =A0 =A0 =A0 =A0fi
> + =A0 =A0 =A0 =A0dev=3D"$vifname"
> + =A0 =A0fi
> =A0fi
>
>
> Thanks.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>> 8. xl create hvmdomain with vifname set
>>>
>>> Thanks.
>>>
>>> Kindest regards,
>>>
>>>
>>> >
>>> > Kindest regards,
>>> > Giam Teck Choon
>>> >
>>> >
>>> >
>>> >>
>>> >> For your review and comments please.
>>> >>
>>> >> Thanks.
>>> >>
>>> >> Kindest regards,
>>> >> Giam Teck Choon
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> libxl/xend: name tap devices vifX.Y-emu
>>> >>
>>> >> This prevents the udev scripts from operating on other tap devices (=
e.g.
>>> >> openvpn etc)
>>> >>
>>> >> Correct the documentation for the "vifname" option which suggested i=
t applied
>>> >> to HVM tap devices only, which is not the case.
>>> >>
>>> >> Reported by Michael Young.
>>> >>
>>> >> Also fix the use of vifname with emulated devices. This is slightly =
complex.
>>> >> The current hotplug scripts rely on being able to parse the "tapX.Y"=
 (now
>>> >> "vifX.Y-emu") name in order to locate the xenstore backend dir relat=
ing to the
>>> >> corresponding vif. This is because we cannot inject our own environm=
ent vars
>>> >> into the tap hotplug events. However this means that if the tap is i=
nitially
>>> >> named with a user specified name (which will not match the expected =
scheme) we
>>> >> fail to do anything useful with the device. So now we create the ini=
tial tap
>>> >> device with the standard "vifX.Y-emu" name and the hotplug script wi=
ll handle
>>> >> the rename to the desired name. This is also how PV vif devices work=
 -- they
>>> >> are always created by netback with the name vifX.Y and renamed in th=
e script.
>>> >>
>>> >> xen-unstable changeset: 25290:7a6dcecb1781
>>> >> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com>
>>> >> ---
>>> >> =A0tools/hotplug/Linux/vif-common.sh =A0 =A0 | =A0 15 +++++++++++++--
>>> >> =A0tools/hotplug/Linux/xen-backend.rules | =A0 =A02 +-
>>> >> =A0tools/libxl/libxl_dm.c =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 17 ++=
++++-----------
>>> >> =A0tools/python/xen/xend/image.py =A0 =A0 =A0 =A0| =A0 =A06 +-----
>>> >> =A04 files changed, 21 insertions(+), 19 deletions(-)
>>> >>
>>> >> diff --git a/tools/hotplug/Linux/vif-common.sh
>>> >> b/tools/hotplug/Linux/vif-common.sh
>>> >> index c9c5d41..fff22bb 100644
>>> >> --- a/tools/hotplug/Linux/vif-common.sh
>>> >> +++ b/tools/hotplug/Linux/vif-common.sh
>>> >> @@ -85,12 +85,23 @@ elif [ "$type_if" =3D tap ]; then
>>> >> =A0 =A0 : ${INTERFACE:?}
>>> >>
>>> >> =A0 =A0 # Get xenbus_path from device name.
>>> >> - =A0 =A0# The name is built like that: "tap${domid}.${devid}".
>>> >> - =A0 =A0dev_=3D${dev#tap}
>>> >> + =A0 =A0# The name is built like that: "vif${domid}.${devid}-emu".
>>> >> + =A0 =A0dev_=3D${dev#vif}
>>> >> + =A0 =A0dev_=3D${dev_%-emu}
>>> >> =A0 =A0 domid=3D${dev_%.*}
>>> >> =A0 =A0 devid=3D${dev_#*.}
>>> >>
>>> >> =A0 =A0 XENBUS_PATH=3D"/local/domain/0/backend/vif/$domid/$devid"
>>> >> + =A0 =A0vifname=3D$(xenstore_read_default "$XENBUS_PATH/vifname" "")
>>> >> + =A0 =A0if [ "$vifname" ]
>>> >> + =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0vifname=3D"${vifname}-emu"
>>> >> + =A0 =A0 =A0 =A0if [ "$command" =3D=3D "add" ] && ! ip link show "$=
vifname" >&/dev/null
>>> >> + =A0 =A0 =A0 =A0then
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>>> >> + =A0 =A0 =A0 =A0fi
>>> >> + =A0 =A0 =A0 =A0dev=3D"$vifname"
>>> >> + =A0 =A0fi
>>> >> =A0fi
>>> >>
>>> >> =A0ip=3D${ip:-}
>>> >> diff --git a/tools/hotplug/Linux/xen-backend.rules
>>> >> b/tools/hotplug/Linux/xen-backend.rules
>>> >> index 40f2658..405387f 100644
>>> >> --- a/tools/hotplug/Linux/xen-backend.rules
>>> >> +++ b/tools/hotplug/Linux/xen-backend.rules
>>> >> @@ -13,4 +13,4 @@ KERNEL=3D=3D"blktap-control",
>>> >> NAME=3D"xen/blktap-2/control", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600"
>>> >> =A0KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=
=3D"0600"
>>> >> -SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> +SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"vif*-emu", ACTION=3D=3D"add",
>>> >> RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap"
>>> >> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>>> >> index 1ffcc90..2c030ca 100644
>>> >> --- a/tools/libxl/libxl_dm.c
>>> >> +++ b/tools/libxl/libxl_dm.c
>>> >> @@ -134,11 +134,9 @@ static char **
>>> >> libxl_build_device_model_args_old(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname)
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0else
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_vappend(dm_args,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "-ne=
t", libxl__sprintf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid,
>>> >> smac, vifs[i].model),
>>> >> @@ -271,12 +269,9 @@ static char **
>>> >> libxl_build_device_model_args_new(libxl__gc *gc,
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 char *smac =3D libxl__sprintf(gc,
>>> >> "%02x:%02x:%02x:%02x:%02x:%02x",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[0],
>>> >> vifs[i].mac[1], vifs[i].mac[2],
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0vifs[i].mac[3],
>>> >> vifs[i].mac[4], vifs[i].mac[5]);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0char *ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (!vifs[i].ifname) {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D libxl__sprintf(g=
c, "tap%d.%d",
>>> >> info->domid, vifs[i].devid);
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} else {
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ifname =3D vifs[i].ifname;
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const char *ifname =3D libxl__sprin=
tf(gc, "vif%d.%d-emu",
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0info->domid,
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifs[i].devid);
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, "-net");
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flexarray_append(dm_args, libxl__spr=
intf(gc,
>>> >> "nic,vlan=3D%d,macaddr=3D%s,model=3D%s",
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 vifs[i].devi=
d, smac, vifs[i].model));
>>> >> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/=
image.py
>>> >> index f1464ac..3c8d80c 100644
>>> >> --- a/tools/python/xen/xend/image.py
>>> >> +++ b/tools/python/xen/xend/image.py
>>> >> @@ -917,11 +917,7 @@ class HVMImageHandler(ImageHandler):
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("nic,vlan=3D%d,macaddr=3D%s,model=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0vifname =3D devinfo.get('vifname')
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0if vifname:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap-" + vifname
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0else:
>>> >> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "tap%d.%d" % (self.vm.g=
etDomid(), nics-1)
>>> >> + =A0 =A0 =A0 =A0 =A0 =A0vifname =3D "vif%d.%d-emu" % (self.vm.getDo=
mid(), nics-1)
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>>> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, vifname, bridg=
e))
>>
>>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:32:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:32:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRmt-0004Is-2Y; Mon, 21 May 2012 12:32:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRmr-0004In-Ho
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:32:33 +0000
Received: from [193.109.254.147:11141] by server-10.bemta-14.messagelabs.com
	id BE/8A-05847-0E53ABF4; Mon, 21 May 2012 12:32:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337603551!10439035!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19176 invoked from network); 21 May 2012 12:32:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:32:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12577178"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:32:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:32:00 +0100
Message-ID: <1337603519.24660.116.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Mon, 21 May 2012 13:31:59 +0100
In-Reply-To: <CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 2012-05-13 at 01:39 +0100, Teck Choon Giam wrote:
> On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
> <giamteckchoon@gmail.com> wrote:
> > On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
> >>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
> >>> <giamteckchoon@gmail.com> wrote:
> >>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
> >>> > <giamteckchoon@gmail.com> wrote:
> >>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> >>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
> >>> >>>> libxl/xend: name tap devices vifX.Y-emu
> >>> >>>
> >>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
> >>> >>
> >>> >> This is my backport version which excludes the following:
> >>> >>
> >>> >> Lastly also move libxl__device_* to a better place in the header, otherwise the
> >>> >> comment about evgen stuff isn't next to the associated functions (noticed jsut
> >>> >> because I was going to add nic_devname near to the setdefault functions)
> >>> >>
> >>> >> I have tested with xm and xl with and without vifname set in domU
> >>> >> config for hvmdomain and pvdomain.
> >>> >
> >>> > Sorry, when re-test one of the test case failed... xm create hvmdomain
> >>> > with vifname set.  I must have missed certain test case :(
> >>>
> >>> The same test case failed for xen unstable latest changeset 25326:cd4dd23a831d.
> >>
> >> Oh dear.
> >>
> >>> My tests as below:
> >>
> >> Which ones fail?
> >>
> >>> 1. xm create pvdomain without vifname set
> >>> 2. xl create pvdomain without vifname set
> >>> 3. xm create hvmdomain without vifname set
> >>> 4. xl create hvmdomain without vifname set
> >>> 5. xm create pvdomain with vifname set
> >>> 6. xl create pvdomain with vifname set
> >>> 7. xm create hvmdomain with vifname set
> >
> > xm create hvmdomain with vifname set
> >
> >
> > I track down the problem already.  It happens that xm and xl behave
> > differently when creating $dev device?
> >
> > In short, just set $dev down before:
> > do_or_die ip link set "$dev" name "$vifname"
> > Then set $vifname up after the above fix my problem.
> >
> > Is the above suitable in upstream/unstable?  If yes, can you fix that
> > in xen-unstable or you need me to submit a patch for review for
> > xen-unstable?
> >
> > With the below partial of my latest backport patch fix the problem but
> > I have to re-run all tests to double confirm all are fix and good to
> > go :p
> 
> Attached is my final backport for xen-4.1-testing which passed all my
> tests as stated below:
> 
> 1. xm create pvdomain without vifname set
> 2. xl create pvdomain without vifname set
> 3. xm create hvmdomain without vifname set
> 4. xl create hvmdomain without vifname set
> 5. xm create pvdomain with vifname set
> 6. xl create pvdomain with vifname set
> 7. xm create hvmdomain with vifname set
> 8. xl create hvmdomain with vifname set
> 
> My initial backport patch failed for test no. 7 and when I perform
> test for all the above in latest xen-unstable it failed in test no. 7
> as well.

OK, can we concentrate on the xen-unstable failure first, hopefully
addressing that will naturally fix 4.1 too but I don't wan't to get
confused between the two.

How does case #7 fail? Do you get both devices created but not placed on
the bridge or something else?

What names do the devices end up with? ("ifconfig -a", while guest is
running, "brctl show" also useful)

What is the qemu command line? (from ps, while guest is running)

What is the name in xenstore? ("xenstore-ls -fp", again while guest is
running)

Thanks, sorry for the delay in responding to this one.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:32:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:32:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWRmt-0004Is-2Y; Mon, 21 May 2012 12:32:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWRmr-0004In-Ho
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:32:33 +0000
Received: from [193.109.254.147:11141] by server-10.bemta-14.messagelabs.com
	id BE/8A-05847-0E53ABF4; Mon, 21 May 2012 12:32:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337603551!10439035!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19176 invoked from network); 21 May 2012 12:32:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:32:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12577178"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:32:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:32:00 +0100
Message-ID: <1337603519.24660.116.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Mon, 21 May 2012 13:31:59 +0100
In-Reply-To: <CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 2012-05-13 at 01:39 +0100, Teck Choon Giam wrote:
> On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
> <giamteckchoon@gmail.com> wrote:
> > On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
> >>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
> >>> <giamteckchoon@gmail.com> wrote:
> >>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
> >>> > <giamteckchoon@gmail.com> wrote:
> >>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> >>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule interfering with openvpn"):
> >>> >>>> libxl/xend: name tap devices vifX.Y-emu
> >>> >>>
> >>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
> >>> >>
> >>> >> This is my backport version which excludes the following:
> >>> >>
> >>> >> Lastly also move libxl__device_* to a better place in the header, otherwise the
> >>> >> comment about evgen stuff isn't next to the associated functions (noticed jsut
> >>> >> because I was going to add nic_devname near to the setdefault functions)
> >>> >>
> >>> >> I have tested with xm and xl with and without vifname set in domU
> >>> >> config for hvmdomain and pvdomain.
> >>> >
> >>> > Sorry, when re-test one of the test case failed... xm create hvmdomain
> >>> > with vifname set.  I must have missed certain test case :(
> >>>
> >>> The same test case failed for xen unstable latest changeset 25326:cd4dd23a831d.
> >>
> >> Oh dear.
> >>
> >>> My tests as below:
> >>
> >> Which ones fail?
> >>
> >>> 1. xm create pvdomain without vifname set
> >>> 2. xl create pvdomain without vifname set
> >>> 3. xm create hvmdomain without vifname set
> >>> 4. xl create hvmdomain without vifname set
> >>> 5. xm create pvdomain with vifname set
> >>> 6. xl create pvdomain with vifname set
> >>> 7. xm create hvmdomain with vifname set
> >
> > xm create hvmdomain with vifname set
> >
> >
> > I track down the problem already.  It happens that xm and xl behave
> > differently when creating $dev device?
> >
> > In short, just set $dev down before:
> > do_or_die ip link set "$dev" name "$vifname"
> > Then set $vifname up after the above fix my problem.
> >
> > Is the above suitable in upstream/unstable?  If yes, can you fix that
> > in xen-unstable or you need me to submit a patch for review for
> > xen-unstable?
> >
> > With the below partial of my latest backport patch fix the problem but
> > I have to re-run all tests to double confirm all are fix and good to
> > go :p
> 
> Attached is my final backport for xen-4.1-testing which passed all my
> tests as stated below:
> 
> 1. xm create pvdomain without vifname set
> 2. xl create pvdomain without vifname set
> 3. xm create hvmdomain without vifname set
> 4. xl create hvmdomain without vifname set
> 5. xm create pvdomain with vifname set
> 6. xl create pvdomain with vifname set
> 7. xm create hvmdomain with vifname set
> 8. xl create hvmdomain with vifname set
> 
> My initial backport patch failed for test no. 7 and when I perform
> test for all the above in latest xen-unstable it failed in test no. 7
> as well.

OK, can we concentrate on the xen-unstable failure first, hopefully
addressing that will naturally fix 4.1 too but I don't wan't to get
confused between the two.

How does case #7 fail? Do you get both devices created but not placed on
the bridge or something else?

What names do the devices end up with? ("ifconfig -a", while guest is
running, "brctl show" also useful)

What is the qemu command line? (from ps, while guest is running)

What is the name in xenstore? ("xenstore-ls -fp", again while guest is
running)

Thanks, sorry for the delay in responding to this one.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:50:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:50:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWS3o-0004VV-42; Mon, 21 May 2012 12:50:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWS3l-0004VQ-Gx
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:50:01 +0000
Received: from [85.158.139.83:54734] by server-8.bemta-5.messagelabs.com id
	AB/34-30118-8F93ABF4; Mon, 21 May 2012 12:50:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337604600!22288094!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26306 invoked from network); 21 May 2012 12:50:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:50:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12577567"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:50:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:49:59 +0100
Message-ID: <1337604598.24660.117.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Mon, 21 May 2012 13:49:58 +0100
In-Reply-To: <CAEwRVpMSB9iBvMBsQ6BocWRPquiXYGe2CeqQ6fFQfHQE-wey4A@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpMSB9iBvMBsQ6BocWRPquiXYGe2CeqQ6fFQfHQE-wey4A@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 13:24 +0100, Teck Choon Giam wrote:
> Sorry, I know developers are busy and don't mean to be demanding.
> This is just a note in case you have overlook this as I am waiting for
> your valuable input.

You've done the right thing by reminding us, thanks!

Ian


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:50:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:50:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWS3o-0004VV-42; Mon, 21 May 2012 12:50:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWS3l-0004VQ-Gx
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:50:01 +0000
Received: from [85.158.139.83:54734] by server-8.bemta-5.messagelabs.com id
	AB/34-30118-8F93ABF4; Mon, 21 May 2012 12:50:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337604600!22288094!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26306 invoked from network); 21 May 2012 12:50:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:50:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12577567"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:50:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 13:49:59 +0100
Message-ID: <1337604598.24660.117.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Mon, 21 May 2012 13:49:58 +0100
In-Reply-To: <CAEwRVpMSB9iBvMBsQ6BocWRPquiXYGe2CeqQ6fFQfHQE-wey4A@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpMSB9iBvMBsQ6BocWRPquiXYGe2CeqQ6fFQfHQE-wey4A@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 13:24 +0100, Teck Choon Giam wrote:
> Sorry, I know developers are busy and don't mean to be demanding.
> This is just a note in case you have overlook this as I am waiting for
> your valuable input.

You've done the right thing by reminding us, thanks!

Ian


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:51:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWS59-0004Yn-JI; Mon, 21 May 2012 12:51:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SWS57-0004Ye-TY
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:51:26 +0000
Received: from [85.158.138.51:49020] by server-8.bemta-3.messagelabs.com id
	55/22-24428-D4A3ABF4; Mon, 21 May 2012 12:51:25 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337604681!28263822!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11650 invoked from network); 21 May 2012 12:51:23 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:51:23 -0000
Received: by pbbro12 with SMTP id ro12so7165587pbb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 05:51:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=XRYk7x0Cf88nv3u+OmWBI7A6oJoYFOebLWNm8bkocvw=;
	b=qL4o4CbjQJLNvV5bJfde3msrtN+upXQSRszuG8hD3+w1qP7CztnhDt6yd+A/qUaPhZ
	o6G319fCxbg9fZb+h9RuYlWtPdXKbDKf8n6NkyXb4BwO0zWkT0w4/d68WLaTOyiK5y57
	CmcOvOvidLQqJDZEYzLoEy2HUzRGGeKNTKP0og4PJ9dO9Tfe+CJQe9jJzyBtT0sb6UB1
	+jrxyqqSfgYOKVg7dxfSkJMFTkeRDV0xsJmv05RGNtPeQATxhgQMNyei0GMdGn98BU5J
	vVC2M2wysf2pyhWTt6F0L4hRA2oLpdF5EIy8IvJPW2jzczTgW5zzEKWpUZK1Idax4SNR
	vXZA==
MIME-Version: 1.0
Received: by 10.68.136.167 with SMTP id qb7mr68078617pbb.82.1337604679200;
	Mon, 21 May 2012 05:51:19 -0700 (PDT)
Received: by 10.68.229.198 with HTTP; Mon, 21 May 2012 05:51:19 -0700 (PDT)
In-Reply-To: <1337603519.24660.116.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 20:51:19 +0800
Message-ID: <CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 8:31 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Sun, 2012-05-13 at 01:39 +0100, Teck Choon Giam wrote:
>> On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
>> <giamteckchoon@gmail.com> wrote:
>> > On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com=
> wrote:
>> >> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>> >>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>> >>> <giamteckchoon@gmail.com> wrote:
>> >>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>> >>> > <giamteckchoon@gmail.com> wrote:
>> >>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.cit=
rix.com> wrote:
>> >>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule inte=
rfering with openvpn"):
>> >>> >>>> libxl/xend: name tap devices vifX.Y-emu
>> >>> >>>
>> >>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>> >>> >>
>> >>> >> This is my backport version which excludes the following:
>> >>> >>
>> >>> >> Lastly also move libxl__device_* to a better place in the header,=
 otherwise the
>> >>> >> comment about evgen stuff isn't next to the associated functions =
(noticed jsut
>> >>> >> because I was going to add nic_devname near to the setdefault fun=
ctions)
>> >>> >>
>> >>> >> I have tested with xm and xl with and without vifname set in domU
>> >>> >> config for hvmdomain and pvdomain.
>> >>> >
>> >>> > Sorry, when re-test one of the test case failed... xm create hvmdo=
main
>> >>> > with vifname set. =A0I must have missed certain test case :(
>> >>>
>> >>> The same test case failed for xen unstable latest changeset 25326:cd=
4dd23a831d.
>> >>
>> >> Oh dear.
>> >>
>> >>> My tests as below:
>> >>
>> >> Which ones fail?
>> >>
>> >>> 1. xm create pvdomain without vifname set
>> >>> 2. xl create pvdomain without vifname set
>> >>> 3. xm create hvmdomain without vifname set
>> >>> 4. xl create hvmdomain without vifname set
>> >>> 5. xm create pvdomain with vifname set
>> >>> 6. xl create pvdomain with vifname set
>> >>> 7. xm create hvmdomain with vifname set
>> >
>> > xm create hvmdomain with vifname set
>> >
>> >
>> > I track down the problem already. =A0It happens that xm and xl behave
>> > differently when creating $dev device?
>> >
>> > In short, just set $dev down before:
>> > do_or_die ip link set "$dev" name "$vifname"
>> > Then set $vifname up after the above fix my problem.
>> >
>> > Is the above suitable in upstream/unstable? =A0If yes, can you fix that
>> > in xen-unstable or you need me to submit a patch for review for
>> > xen-unstable?
>> >
>> > With the below partial of my latest backport patch fix the problem but
>> > I have to re-run all tests to double confirm all are fix and good to
>> > go :p
>>
>> Attached is my final backport for xen-4.1-testing which passed all my
>> tests as stated below:
>>
>> 1. xm create pvdomain without vifname set
>> 2. xl create pvdomain without vifname set
>> 3. xm create hvmdomain without vifname set
>> 4. xl create hvmdomain without vifname set
>> 5. xm create pvdomain with vifname set
>> 6. xl create pvdomain with vifname set
>> 7. xm create hvmdomain with vifname set
>> 8. xl create hvmdomain with vifname set
>>
>> My initial backport patch failed for test no. 7 and when I perform
>> test for all the above in latest xen-unstable it failed in test no. 7
>> as well.
>
> OK, can we concentrate on the xen-unstable failure first, hopefully
> addressing that will naturally fix 4.1 too but I don't wan't to get
> confused between the two.

Sure.  My previous mail is actually asking what to do with #7 in
xen-unstable not in xen-4.1-testing.

>
> How does case #7 fail? Do you get both devices created but not placed on
> the bridge or something else?

I am not sure just in #7 fail to create.  The error as below:

# xm create hvmdomaintest-vifname.cfg
Using config file "./hvmdomaintest-vifname.cfg".
Error: Device 0 (vif) could not be connected. ip link set vif1.0-emu
name b1-emu failed


>
> What names do the devices end up with? ("ifconfig -a", while guest is
> running, "brctl show" also useful)

Can't even create the hvmdomain with vifname set.  If you mean trying
to capture the ifconfig -a output while xm create hvmdomain with
vifname set... the interval for xm create hvmdomain with vifname set
is too short for me to issue ifconfig -a and brctl show output in
another terminal :(

> What is the qemu command line? (from ps, while guest is running)

Not relevant since can't create the hvmdomain with vifname set.

>
> What is the name in xenstore? ("xenstore-ls -fp", again while guest is
> running)

Not relevant since can't create the hvmdomain with vifname set.

>
> Thanks, sorry for the delay in responding to this one.

It is fine and I totally understand developers are busy and mostly
miss certain posts or threads or emails.

Just to confirm... are we going to "throw away" xm in 4.2 and use only xl?

Thanks.

Kindest regards,
Giam Teck Choon


>
> Ian.
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 12:51:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 12:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWS59-0004Yn-JI; Mon, 21 May 2012 12:51:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SWS57-0004Ye-TY
	for xen-devel@lists.xen.org; Mon, 21 May 2012 12:51:26 +0000
Received: from [85.158.138.51:49020] by server-8.bemta-3.messagelabs.com id
	55/22-24428-D4A3ABF4; Mon, 21 May 2012 12:51:25 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337604681!28263822!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11650 invoked from network); 21 May 2012 12:51:23 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 12:51:23 -0000
Received: by pbbro12 with SMTP id ro12so7165587pbb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 05:51:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=XRYk7x0Cf88nv3u+OmWBI7A6oJoYFOebLWNm8bkocvw=;
	b=qL4o4CbjQJLNvV5bJfde3msrtN+upXQSRszuG8hD3+w1qP7CztnhDt6yd+A/qUaPhZ
	o6G319fCxbg9fZb+h9RuYlWtPdXKbDKf8n6NkyXb4BwO0zWkT0w4/d68WLaTOyiK5y57
	CmcOvOvidLQqJDZEYzLoEy2HUzRGGeKNTKP0og4PJ9dO9Tfe+CJQe9jJzyBtT0sb6UB1
	+jrxyqqSfgYOKVg7dxfSkJMFTkeRDV0xsJmv05RGNtPeQATxhgQMNyei0GMdGn98BU5J
	vVC2M2wysf2pyhWTt6F0L4hRA2oLpdF5EIy8IvJPW2jzczTgW5zzEKWpUZK1Idax4SNR
	vXZA==
MIME-Version: 1.0
Received: by 10.68.136.167 with SMTP id qb7mr68078617pbb.82.1337604679200;
	Mon, 21 May 2012 05:51:19 -0700 (PDT)
Received: by 10.68.229.198 with HTTP; Mon, 21 May 2012 05:51:19 -0700 (PDT)
In-Reply-To: <1337603519.24660.116.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 20:51:19 +0800
Message-ID: <CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 8:31 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Sun, 2012-05-13 at 01:39 +0100, Teck Choon Giam wrote:
>> On Sun, May 13, 2012 at 7:37 AM, Teck Choon Giam
>> <giamteckchoon@gmail.com> wrote:
>> > On Sun, May 13, 2012 at 6:30 AM, Ian Campbell <Ian.Campbell@citrix.com=
> wrote:
>> >> On Sat, 2012-05-12 at 23:00 +0100, Teck Choon Giam wrote:
>> >>> On Sat, May 12, 2012 at 3:29 PM, Teck Choon Giam
>> >>> <giamteckchoon@gmail.com> wrote:
>> >>> > On Sat, May 12, 2012 at 7:53 AM, Teck Choon Giam
>> >>> > <giamteckchoon@gmail.com> wrote:
>> >>> >> On Fri, May 11, 2012 at 10:53 PM, Ian Jackson <Ian.Jackson@eu.cit=
rix.com> wrote:
>> >>> >>> Ian Campbell writes ("Re: [Xen-devel] [patch] xen udev rule inte=
rfering with openvpn"):
>> >>> >>>> libxl/xend: name tap devices vifX.Y-emu
>> >>> >>>
>> >>> >>> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>> >>> >>
>> >>> >> This is my backport version which excludes the following:
>> >>> >>
>> >>> >> Lastly also move libxl__device_* to a better place in the header,=
 otherwise the
>> >>> >> comment about evgen stuff isn't next to the associated functions =
(noticed jsut
>> >>> >> because I was going to add nic_devname near to the setdefault fun=
ctions)
>> >>> >>
>> >>> >> I have tested with xm and xl with and without vifname set in domU
>> >>> >> config for hvmdomain and pvdomain.
>> >>> >
>> >>> > Sorry, when re-test one of the test case failed... xm create hvmdo=
main
>> >>> > with vifname set. =A0I must have missed certain test case :(
>> >>>
>> >>> The same test case failed for xen unstable latest changeset 25326:cd=
4dd23a831d.
>> >>
>> >> Oh dear.
>> >>
>> >>> My tests as below:
>> >>
>> >> Which ones fail?
>> >>
>> >>> 1. xm create pvdomain without vifname set
>> >>> 2. xl create pvdomain without vifname set
>> >>> 3. xm create hvmdomain without vifname set
>> >>> 4. xl create hvmdomain without vifname set
>> >>> 5. xm create pvdomain with vifname set
>> >>> 6. xl create pvdomain with vifname set
>> >>> 7. xm create hvmdomain with vifname set
>> >
>> > xm create hvmdomain with vifname set
>> >
>> >
>> > I track down the problem already. =A0It happens that xm and xl behave
>> > differently when creating $dev device?
>> >
>> > In short, just set $dev down before:
>> > do_or_die ip link set "$dev" name "$vifname"
>> > Then set $vifname up after the above fix my problem.
>> >
>> > Is the above suitable in upstream/unstable? =A0If yes, can you fix that
>> > in xen-unstable or you need me to submit a patch for review for
>> > xen-unstable?
>> >
>> > With the below partial of my latest backport patch fix the problem but
>> > I have to re-run all tests to double confirm all are fix and good to
>> > go :p
>>
>> Attached is my final backport for xen-4.1-testing which passed all my
>> tests as stated below:
>>
>> 1. xm create pvdomain without vifname set
>> 2. xl create pvdomain without vifname set
>> 3. xm create hvmdomain without vifname set
>> 4. xl create hvmdomain without vifname set
>> 5. xm create pvdomain with vifname set
>> 6. xl create pvdomain with vifname set
>> 7. xm create hvmdomain with vifname set
>> 8. xl create hvmdomain with vifname set
>>
>> My initial backport patch failed for test no. 7 and when I perform
>> test for all the above in latest xen-unstable it failed in test no. 7
>> as well.
>
> OK, can we concentrate on the xen-unstable failure first, hopefully
> addressing that will naturally fix 4.1 too but I don't wan't to get
> confused between the two.

Sure.  My previous mail is actually asking what to do with #7 in
xen-unstable not in xen-4.1-testing.

>
> How does case #7 fail? Do you get both devices created but not placed on
> the bridge or something else?

I am not sure just in #7 fail to create.  The error as below:

# xm create hvmdomaintest-vifname.cfg
Using config file "./hvmdomaintest-vifname.cfg".
Error: Device 0 (vif) could not be connected. ip link set vif1.0-emu
name b1-emu failed


>
> What names do the devices end up with? ("ifconfig -a", while guest is
> running, "brctl show" also useful)

Can't even create the hvmdomain with vifname set.  If you mean trying
to capture the ifconfig -a output while xm create hvmdomain with
vifname set... the interval for xm create hvmdomain with vifname set
is too short for me to issue ifconfig -a and brctl show output in
another terminal :(

> What is the qemu command line? (from ps, while guest is running)

Not relevant since can't create the hvmdomain with vifname set.

>
> What is the name in xenstore? ("xenstore-ls -fp", again while guest is
> running)

Not relevant since can't create the hvmdomain with vifname set.

>
> Thanks, sorry for the delay in responding to this one.

It is fine and I totally understand developers are busy and mostly
miss certain posts or threads or emails.

Just to confirm... are we going to "throw away" xm in 4.2 and use only xl?

Thanks.

Kindest regards,
Giam Teck Choon


>
> Ian.
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:00:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:00:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSE6-0004pO-Mj; Mon, 21 May 2012 13:00:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SWSE5-0004pJ-Qx
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:00:42 +0000
Received: from [85.158.138.51:23758] by server-11.bemta-3.messagelabs.com id
	B7/20-18894-97C3ABF4; Mon, 21 May 2012 13:00:41 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337605240!9582281!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDA5MDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27596 invoked from network); 21 May 2012 13:00:40 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 13:00:40 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 514CF298E;
	Mon, 21 May 2012 16:00:39 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id F12012005D; Mon, 21 May 2012 16:00:38 +0300 (EEST)
Date: Mon, 21 May 2012 16:00:38 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120521130038.GR2058@reaktio.net>
References: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 12:47:37PM +0100, Ian Campbell wrote:
> 
> tools, nice to have:
>       * Upstream qemu feature patches:
>               * Upstream qemu PCI passthrough support (Anthony Perard,
>                 awaiting qemy upstream review)
>                       * Upstream qemu is frozen for their next release.
>                         Unlikely that these will be accepted in the next
>                         few weeks. Defered until 4.3 (therefore DONE in
>                         this context)
>               * Initial xl support for Remus (memory checkpoint,
>                 blackholing) (Shriram, DONE)
>       * xl compatibility with xm:
>               * xl support for autospawning vncviewer (vncviewer=1 or
>                 otherwise) (Goncalo Gomes, DONE)
>       * Directory usage in libxl (Bastian, as part of Debian packaging).
>         Defer to 4.3, therefore DONE in this context.
>               * dumps in /var/xen: wtf?
>                       * Bastian: "The FHS defines /var/crash for system
>                         crash dumps, but it is not used everywhere. So I
>                         would use /var/lib/xen/dump or so."
>               * user data files in /var/lib/xen:
>                       * What are the guarantees given for this files?
>                       * Bastian: "I don't think rebooting the control
>                         domain without rebooting Xen will work right
>                         now. So /var/run is the correct location."
>               * /var/run/libxl for temporary files
>                       * "$TMPDIR or the fallback /tmp is the correct
>                         location."
>       * xl commands to help rebind pci devices to pciback.  (George
>         Dunlap, DONE)
>       * libxl: Add API to retrieve domain console tty (Bamvor Jian
>         Zhang, patches posted)
> 

	* xl.cfg(5) documentation patch for qemu-upstream videoram/videomem support:
	  http://lists.xen.org/archives/html/xen-devel/2012-05/msg00250.html
	  qemu-upstream doesn't support specifying videomem size for the HVM guest cirrus/stdvga.
	  (but this works with qemu-xen-traditional).
	

-- Pasi



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:00:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:00:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSE6-0004pO-Mj; Mon, 21 May 2012 13:00:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SWSE5-0004pJ-Qx
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:00:42 +0000
Received: from [85.158.138.51:23758] by server-11.bemta-3.messagelabs.com id
	B7/20-18894-97C3ABF4; Mon, 21 May 2012 13:00:41 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337605240!9582281!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDA5MDA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27596 invoked from network); 21 May 2012 13:00:40 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 13:00:40 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 514CF298E;
	Mon, 21 May 2012 16:00:39 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id F12012005D; Mon, 21 May 2012 16:00:38 +0300 (EEST)
Date: Mon, 21 May 2012 16:00:38 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120521130038.GR2058@reaktio.net>
References: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 12:47:37PM +0100, Ian Campbell wrote:
> 
> tools, nice to have:
>       * Upstream qemu feature patches:
>               * Upstream qemu PCI passthrough support (Anthony Perard,
>                 awaiting qemy upstream review)
>                       * Upstream qemu is frozen for their next release.
>                         Unlikely that these will be accepted in the next
>                         few weeks. Defered until 4.3 (therefore DONE in
>                         this context)
>               * Initial xl support for Remus (memory checkpoint,
>                 blackholing) (Shriram, DONE)
>       * xl compatibility with xm:
>               * xl support for autospawning vncviewer (vncviewer=1 or
>                 otherwise) (Goncalo Gomes, DONE)
>       * Directory usage in libxl (Bastian, as part of Debian packaging).
>         Defer to 4.3, therefore DONE in this context.
>               * dumps in /var/xen: wtf?
>                       * Bastian: "The FHS defines /var/crash for system
>                         crash dumps, but it is not used everywhere. So I
>                         would use /var/lib/xen/dump or so."
>               * user data files in /var/lib/xen:
>                       * What are the guarantees given for this files?
>                       * Bastian: "I don't think rebooting the control
>                         domain without rebooting Xen will work right
>                         now. So /var/run is the correct location."
>               * /var/run/libxl for temporary files
>                       * "$TMPDIR or the fallback /tmp is the correct
>                         location."
>       * xl commands to help rebind pci devices to pciback.  (George
>         Dunlap, DONE)
>       * libxl: Add API to retrieve domain console tty (Bamvor Jian
>         Zhang, patches posted)
> 

	* xl.cfg(5) documentation patch for qemu-upstream videoram/videomem support:
	  http://lists.xen.org/archives/html/xen-devel/2012-05/msg00250.html
	  qemu-upstream doesn't support specifying videomem size for the HVM guest cirrus/stdvga.
	  (but this works with qemu-xen-traditional).
	

-- Pasi



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:04:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:04:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSHf-0004yC-Au; Mon, 21 May 2012 13:04:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSHe-0004y6-Bx
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:04:22 +0000
Received: from [85.158.143.35:46058] by server-2.bemta-4.messagelabs.com id
	57/1D-12211-55D3ABF4; Mon, 21 May 2012 13:04:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337605460!6062386!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27434 invoked from network); 21 May 2012 13:04:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:04:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12577977"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:04:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:04:20 +0100
Message-ID: <1337605458.24660.122.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Mon, 21 May 2012 14:04:18 +0100
In-Reply-To: <CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 13:51 +0100, Teck Choon Giam wrote:

> > How does case #7 fail? Do you get both devices created but not placed on
> > the bridge or something else?
> 
> I am not sure just in #7 fail to create.  The error as below:
> 
> # xm create hvmdomaintest-vifname.cfg
> Using config file "./hvmdomaintest-vifname.cfg".
> Error: Device 0 (vif) could not be connected. ip link set vif1.0-emu
> name b1-emu failed

So am I correct that you use vifname="b1"? I wonder if there was any
output from this command. Did anything appear in
var/log/xen/xen-hotplug.log ?

> >
> > What names do the devices end up with? ("ifconfig -a", while guest is
> > running, "brctl show" also useful)
> 
> Can't even create the hvmdomain with vifname set.
>   If you mean trying
> to capture the ifconfig -a output while xm create hvmdomain with
> vifname set... the interval for xm create hvmdomain with vifname set
> is too short for me to issue ifconfig -a and brctl show output in
> another terminal :(

Yes, that's something of a problem.

One approach you could try is to add the commands to the vif-bridge
script and re-direct to a file. One useful place to do that might be in
vif-common.sh just before the
	do_or_die ip link set "$dev" name "$vifname"
calls. e.g. add
	( ifconfig -a ; brctl show ) >> /tmp/hotplug.dbg.log
or something. You might also want to add ">> /tmp/hotplug.dbg.log" to
the door_die so that it's output can also be logged.

> Just to confirm... are we going to "throw away" xm in 4.2 and use only xl?

Not yet, they will both existing in 4.2 but xl will now be considered
the default. We hope to be able to get rid of xm in the 4.3 time frame,
but that depends on a variety of factors.

> 
> Thanks.
> 
> Kindest regards,
> Giam Teck Choon
> 
> 
> >
> > Ian.
> >



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:04:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:04:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSHf-0004yC-Au; Mon, 21 May 2012 13:04:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSHe-0004y6-Bx
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:04:22 +0000
Received: from [85.158.143.35:46058] by server-2.bemta-4.messagelabs.com id
	57/1D-12211-55D3ABF4; Mon, 21 May 2012 13:04:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337605460!6062386!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27434 invoked from network); 21 May 2012 13:04:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:04:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12577977"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:04:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:04:20 +0100
Message-ID: <1337605458.24660.122.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Mon, 21 May 2012 14:04:18 +0100
In-Reply-To: <CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 13:51 +0100, Teck Choon Giam wrote:

> > How does case #7 fail? Do you get both devices created but not placed on
> > the bridge or something else?
> 
> I am not sure just in #7 fail to create.  The error as below:
> 
> # xm create hvmdomaintest-vifname.cfg
> Using config file "./hvmdomaintest-vifname.cfg".
> Error: Device 0 (vif) could not be connected. ip link set vif1.0-emu
> name b1-emu failed

So am I correct that you use vifname="b1"? I wonder if there was any
output from this command. Did anything appear in
var/log/xen/xen-hotplug.log ?

> >
> > What names do the devices end up with? ("ifconfig -a", while guest is
> > running, "brctl show" also useful)
> 
> Can't even create the hvmdomain with vifname set.
>   If you mean trying
> to capture the ifconfig -a output while xm create hvmdomain with
> vifname set... the interval for xm create hvmdomain with vifname set
> is too short for me to issue ifconfig -a and brctl show output in
> another terminal :(

Yes, that's something of a problem.

One approach you could try is to add the commands to the vif-bridge
script and re-direct to a file. One useful place to do that might be in
vif-common.sh just before the
	do_or_die ip link set "$dev" name "$vifname"
calls. e.g. add
	( ifconfig -a ; brctl show ) >> /tmp/hotplug.dbg.log
or something. You might also want to add ">> /tmp/hotplug.dbg.log" to
the door_die so that it's output can also be logged.

> Just to confirm... are we going to "throw away" xm in 4.2 and use only xl?

Not yet, they will both existing in 4.2 but xl will now be considered
the default. We hope to be able to get rid of xm in the 4.3 time frame,
but that depends on a variety of factors.

> 
> Thanks.
> 
> Kindest regards,
> Giam Teck Choon
> 
> 
> >
> > Ian.
> >



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:05:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:05:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSIq-00053n-VT; Mon, 21 May 2012 13:05:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSIp-00053e-GB
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:05:35 +0000
Received: from [85.158.138.51:11924] by server-1.bemta-3.messagelabs.com id
	C4/C5-11491-E9D3ABF4; Mon, 21 May 2012 13:05:34 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337605533!20233337!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27485 invoked from network); 21 May 2012 13:05:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:05:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12578067"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:05:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:33 +0100
Message-ID: <1337605532.24660.123.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Pasi =?ISO-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Date: Mon, 21 May 2012 14:05:32 +0100
In-Reply-To: <20120521130038.GR2058@reaktio.net>
References: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
	<20120521130038.GR2058@reaktio.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gTW9uLCAyMDEyLTA1LTIxIGF0IDE0OjAwICswMTAwLCBQYXNpIEvDpHJra8OkaW5lbiB3cm90
ZToKPiAJKiB4bC5jZmcoNSkgZG9jdW1lbnRhdGlvbiBwYXRjaCBmb3IgcWVtdS11cHN0cmVhbSB2
aWRlb3JhbS92aWRlb21lbSBzdXBwb3J0Ogo+IAkgIGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hp
dmVzL2h0bWwveGVuLWRldmVsLzIwMTItMDUvbXNnMDAyNTAuaHRtbAo+IAkgIHFlbXUtdXBzdHJl
YW0gZG9lc24ndCBzdXBwb3J0IHNwZWNpZnlpbmcgdmlkZW9tZW0gc2l6ZSBmb3IgdGhlIEhWTSBn
dWVzdCBjaXJydXMvc3RkdmdhLgo+IAkgIChidXQgdGhpcyB3b3JrcyB3aXRoIHFlbXUteGVuLXRy
YWRpdGlvbmFsKS4KCldvdWxkIHlvdSBiZSBhYmxlIHRvIHB1dCB0aGF0IGludG8gcGF0Y2ggZm9y
bSBwbGVhc2U/CgpJYW4uCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo
dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Mon May 21 13:05:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:05:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSIq-00053n-VT; Mon, 21 May 2012 13:05:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSIp-00053e-GB
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:05:35 +0000
Received: from [85.158.138.51:11924] by server-1.bemta-3.messagelabs.com id
	C4/C5-11491-E9D3ABF4; Mon, 21 May 2012 13:05:34 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337605533!20233337!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27485 invoked from network); 21 May 2012 13:05:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:05:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12578067"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:05:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:33 +0100
Message-ID: <1337605532.24660.123.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Pasi =?ISO-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Date: Mon, 21 May 2012 14:05:32 +0100
In-Reply-To: <20120521130038.GR2058@reaktio.net>
References: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
	<20120521130038.GR2058@reaktio.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gTW9uLCAyMDEyLTA1LTIxIGF0IDE0OjAwICswMTAwLCBQYXNpIEvDpHJra8OkaW5lbiB3cm90
ZToKPiAJKiB4bC5jZmcoNSkgZG9jdW1lbnRhdGlvbiBwYXRjaCBmb3IgcWVtdS11cHN0cmVhbSB2
aWRlb3JhbS92aWRlb21lbSBzdXBwb3J0Ogo+IAkgIGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hp
dmVzL2h0bWwveGVuLWRldmVsLzIwMTItMDUvbXNnMDAyNTAuaHRtbAo+IAkgIHFlbXUtdXBzdHJl
YW0gZG9lc24ndCBzdXBwb3J0IHNwZWNpZnlpbmcgdmlkZW9tZW0gc2l6ZSBmb3IgdGhlIEhWTSBn
dWVzdCBjaXJydXMvc3RkdmdhLgo+IAkgIChidXQgdGhpcyB3b3JrcyB3aXRoIHFlbXUteGVuLXRy
YWRpdGlvbmFsKS4KCldvdWxkIHlvdSBiZSBhYmxlIHRvIHB1dCB0aGF0IGludG8gcGF0Y2ggZm9y
bSBwbGVhc2U/CgpJYW4uCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo
dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Mon May 21 13:10:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:10:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSNe-0005In-MB; Mon, 21 May 2012 13:10:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWSNd-0005Ii-Kf
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:10:33 +0000
Received: from [193.109.254.147:59632] by server-3.bemta-14.messagelabs.com id
	79/58-23274-8CE3ABF4; Mon, 21 May 2012 13:10:32 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337605817!10384473!1
X-Originating-IP: [216.32.181.182]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30273 invoked from network); 21 May 2012 13:10:18 -0000
Received: from ch1ehsobe002.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.182)
	by server-12.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 13:10:18 -0000
Received: from mail43-ch1-R.bigfish.com (10.43.68.252) by
	CH1EHSOBE017.bigfish.com (10.43.70.67) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 13:10:03 +0000
Received: from mail43-ch1 (localhost [127.0.0.1])	by mail43-ch1-R.bigfish.com
	(Postfix) with ESMTP id CEBF5340083;
	Mon, 21 May 2012 13:10:03 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail43-ch1 (localhost.localdomain [127.0.0.1]) by mail43-ch1
	(MessageSwitch) id 1337605802252669_13522;
	Mon, 21 May 2012 13:10:02 +0000 (UTC)
Received: from CH1EHSMHS023.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.252])	by mail43-ch1.bigfish.com (Postfix) with ESMTP id
	3B74820060; Mon, 21 May 2012 13:10:02 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS023.bigfish.com (10.43.70.23) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 13:10:01 +0000
X-WSS-ID: 0M4DJ8V-02-69D-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 286E8C809C;	Mon, 21 May 2012 08:10:07 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 21 May 2012 08:10:16 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Mon, 21 May 2012 08:10:11 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Mon, 21 May 2012
	09:10:10 -0400
Message-ID: <4FBA3EC8.3060104@amd.com>
Date: Mon, 21 May 2012 15:10:32 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337602541.24660.105.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 14:15, Ian Campbell wrote:

> On Mon, 2012-05-21 at 11:26 +0100, Christoph Egger wrote:
>> On 05/18/12 17:58, Ian Campbell wrote:
>>
>>>
>>>> In libxl__build_post() I check the return value
>>>> of libxl__sched_set_params().
>>>
>>> The mesages about scheduler params are a known and benign issue.
>>>
>>>> Now trying to start a guest results in this failure:
>>>>
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019bd04
>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>   ENTRY ADDRESS: 0000000000100000
>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>   4KB PAGES: 0x0000000000000200
>>>>   2MB PAGES: 0x00000000000003fb
>>>>   1GB PAGES: 0x0000000000000002
>>>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
>>>> of range, valid values are within range from 1 to 65535
>>>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>>>> (re-)build domain: -6
>>>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>>>> device model's pid: No such file or directory
>>>
>>> Is your device model dying for some reason? Anything
>>> in /var/log/xen/*guest*.log about it?
>>
>>
>> The guest logfile doesn't exist.
> 
> Sorry, I meant guest as in $GUEST_NAME rather than literally "guest" (I
> was totally non-obvious about that, sorry!).


I understood it that way. The guest logfile doesn't exist.

> 
>> Does that mean the errors happens before device model has been started at all?
> 
> I think/hope if that were the case you would get messages about failure
> to exec etc rather than timeouts.
> 
>>>
>>> You could try "xl -vvv cr ..." too, not sure what it will say.
>>
>>
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
> 
> No messages about "xs transaction failed: Bad file descriptor" any more?
> 
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
>> libxl: error: libxl.c:1162:libxl_domain_destroy:
>> libxl__destroy_device_model failed for 2
> 
> Hrm, actually, the device model stuff might be a red-herring -- that's
> trying to tear down the device model on failure and it is entirely
> reasonable for the device model to not be running if we didn't get as
> far as starting it...
> 
> The interesting message is just:
>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
> 
> Which is unhelpfully just a general failure from libxl__domain_build.
> 
> It seems that we have a non-logging failure path in there somewhere. I'm
> afraid that the easieist way to fix this is probably just to dive into
> libxl__domain_build and add prints on the various error cases of sub
> functions, then recurse as you identify which one is failing etc..

I did that:

Parsing config from /root/hvm-guest/netbsd_64b.conf
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_dom.c:74:libxl__sched_set_params:
libxl_sched_credit_domain_set failed -6
libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
failed -6
libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
failed: -6
libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
(re-)build domain: -6
libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
device model's pid: No such file or directory
libxl: error: libxl.c:1162:libxl_domain_destroy:
libxl__destroy_device_model failed for 6
xc: debug: hypercall buffer: total allocations:1264 total releases:1264
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
xs_daemon_close


So it is indeed that ERROR_INVAL from that 'benign' error.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:10:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:10:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSNe-0005In-MB; Mon, 21 May 2012 13:10:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWSNd-0005Ii-Kf
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:10:33 +0000
Received: from [193.109.254.147:59632] by server-3.bemta-14.messagelabs.com id
	79/58-23274-8CE3ABF4; Mon, 21 May 2012 13:10:32 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337605817!10384473!1
X-Originating-IP: [216.32.181.182]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30273 invoked from network); 21 May 2012 13:10:18 -0000
Received: from ch1ehsobe002.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.182)
	by server-12.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 13:10:18 -0000
Received: from mail43-ch1-R.bigfish.com (10.43.68.252) by
	CH1EHSOBE017.bigfish.com (10.43.70.67) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 13:10:03 +0000
Received: from mail43-ch1 (localhost [127.0.0.1])	by mail43-ch1-R.bigfish.com
	(Postfix) with ESMTP id CEBF5340083;
	Mon, 21 May 2012 13:10:03 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail43-ch1 (localhost.localdomain [127.0.0.1]) by mail43-ch1
	(MessageSwitch) id 1337605802252669_13522;
	Mon, 21 May 2012 13:10:02 +0000 (UTC)
Received: from CH1EHSMHS023.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.252])	by mail43-ch1.bigfish.com (Postfix) with ESMTP id
	3B74820060; Mon, 21 May 2012 13:10:02 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS023.bigfish.com (10.43.70.23) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 13:10:01 +0000
X-WSS-ID: 0M4DJ8V-02-69D-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 286E8C809C;	Mon, 21 May 2012 08:10:07 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 21 May 2012 08:10:16 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Mon, 21 May 2012 08:10:11 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Mon, 21 May 2012
	09:10:10 -0400
Message-ID: <4FBA3EC8.3060104@amd.com>
Date: Mon, 21 May 2012 15:10:32 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337602541.24660.105.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 14:15, Ian Campbell wrote:

> On Mon, 2012-05-21 at 11:26 +0100, Christoph Egger wrote:
>> On 05/18/12 17:58, Ian Campbell wrote:
>>
>>>
>>>> In libxl__build_post() I check the return value
>>>> of libxl__sched_set_params().
>>>
>>> The mesages about scheduler params are a known and benign issue.
>>>
>>>> Now trying to start a guest results in this failure:
>>>>
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019bd04
>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>   ENTRY ADDRESS: 0000000000100000
>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>   4KB PAGES: 0x0000000000000200
>>>>   2MB PAGES: 0x00000000000003fb
>>>>   1GB PAGES: 0x0000000000000002
>>>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
>>>> of range, valid values are within range from 1 to 65535
>>>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>>>> (re-)build domain: -6
>>>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>>>> device model's pid: No such file or directory
>>>
>>> Is your device model dying for some reason? Anything
>>> in /var/log/xen/*guest*.log about it?
>>
>>
>> The guest logfile doesn't exist.
> 
> Sorry, I meant guest as in $GUEST_NAME rather than literally "guest" (I
> was totally non-obvious about that, sorry!).


I understood it that way. The guest logfile doesn't exist.

> 
>> Does that mean the errors happens before device model has been started at all?
> 
> I think/hope if that were the case you would get messages about failure
> to exec etc rather than timeouts.
> 
>>>
>>> You could try "xl -vvv cr ..." too, not sure what it will say.
>>
>>
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
> 
> No messages about "xs transaction failed: Bad file descriptor" any more?
> 
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
>> libxl: error: libxl.c:1162:libxl_domain_destroy:
>> libxl__destroy_device_model failed for 2
> 
> Hrm, actually, the device model stuff might be a red-herring -- that's
> trying to tear down the device model on failure and it is entirely
> reasonable for the device model to not be running if we didn't get as
> far as starting it...
> 
> The interesting message is just:
>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
> 
> Which is unhelpfully just a general failure from libxl__domain_build.
> 
> It seems that we have a non-logging failure path in there somewhere. I'm
> afraid that the easieist way to fix this is probably just to dive into
> libxl__domain_build and add prints on the various error cases of sub
> functions, then recurse as you identify which one is failing etc..

I did that:

Parsing config from /root/hvm-guest/netbsd_64b.conf
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_dom.c:74:libxl__sched_set_params:
libxl_sched_credit_domain_set failed -6
libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
failed -6
libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
failed: -6
libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
(re-)build domain: -6
libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
device model's pid: No such file or directory
libxl: error: libxl.c:1162:libxl_domain_destroy:
libxl__destroy_device_model failed for 6
xc: debug: hypercall buffer: total allocations:1264 total releases:1264
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
xs_daemon_close


So it is indeed that ERROR_INVAL from that 'benign' error.

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:16:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSTY-0005Rm-LQ; Mon, 21 May 2012 13:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SWSTX-0005Rh-3Q
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:16:39 +0000
Received: from [85.158.138.51:10642] by server-10.bemta-3.messagelabs.com id
	B9/02-29478-6304ABF4; Mon, 21 May 2012 13:16:38 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337606194!28328612!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=1.5 required=7.0 tests=HOT_NASTY,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25660 invoked from network); 21 May 2012 13:16:36 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:16:36 -0000
Received: by dadv2 with SMTP id v2so7071017dad.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 06:16:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=uuCk/9FE9C7/iDxb8hpvGg2zV3edgQclqaj7uBZSDhE=;
	b=J80ywe1y52yjt9aD5+po4+leDhD26LFFRl+gZjqCHJTwbMBuOPOXpg5xzLzhatcs3R
	xeuMvWT7tSfrCkeoXoi/DkZa49W+C5gn0qo+8IYl2gLfnVdhsN6OuGqN4ZObp8W8+xpn
	VJnvYwne4l+CMpqPT0+GG7XFpzh6yi9d9S4vY5lPOlh74yQxo/mQKSlL0J6R+ASr4loe
	U3+CosN+m5BVwOzDy473AJhScl1qM1ftjMbkzbzN9u3vnHfXrFyO53B22JEYm4NOw+j9
	zl5YARqa3sHsxzOKW/kvS1xRI5ca4E1EOB/4Q00/GDNLbkJRhN46lJEbRv36xsWoC5QW
	/PHg==
MIME-Version: 1.0
Received: by 10.68.227.163 with SMTP id sb3mr12549328pbc.74.1337606193936;
	Mon, 21 May 2012 06:16:33 -0700 (PDT)
Received: by 10.68.229.198 with HTTP; Mon, 21 May 2012 06:16:33 -0700 (PDT)
In-Reply-To: <1337605458.24660.122.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 21:16:33 +0800
Message-ID: <CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 9:04 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Mon, 2012-05-21 at 13:51 +0100, Teck Choon Giam wrote:
>
>> > How does case #7 fail? Do you get both devices created but not placed =
on
>> > the bridge or something else?
>>
>> I am not sure just in #7 fail to create. =A0The error as below:
>>
>> # xm create hvmdomaintest-vifname.cfg
>> Using config file "./hvmdomaintest-vifname.cfg".
>> Error: Device 0 (vif) could not be connected. ip link set vif1.0-emu
>> name b1-emu failed
>
> So am I correct that you use vifname=3D"b1"? I wonder if there was any
> output from this command. Did anything appear in
> var/log/xen/xen-hotplug.log ?

Related hvmdomain-vifname.cfg as below:

# cat hvmdomaintest-vifname.cfg
#kernel =3D "/usr/lib/xen/boot/hvmloader"
builder =3D 'hvm'
# Shadow pagetable memory for the domain, in MB.
# If not explicictly set, xend will pick an appropriate value.
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
shadow_memory =3D 32
memory =3D 3072
maxmem =3D 3072
name =3D "hvmdomaintest"
vif =3D [ 'vifname=3Db1,type=3Dioemu,mac=3DEDITOUT,bridge=3Dxenbr0,ip=3DEDI=
TOUT',
'vifname=3Db2,type=3Dioemu,mac=3DEDITOUT,bridge=3Dxenbr1,ip=3DEDITOUT' ]
disk =3D [ 'phy:/dev/XenGroup/hvmdomaintest,ioemu:hda,w',
'file:/home/xen/images/X17-59463_Windows_7_Ultimate_Service_Pack_1_x86_ISO_=
32-bit.iso,hdc:cdrom,r'
]
vmid=3D1
vcpus=3D4
ne2000=3D0
boot=3D'cd'
sdl=3D0
vncviewer=3D0
vncpasswd=3D'EDITOUT'
vnclisten=3D"XXX.XXX.XXX.XXX"
vnc=3D1
vncdisplay=3D1
vncunused=3D0
usbdevice=3D'tablet'
#acpi=3D0
viridian=3D1
#--------------------------------------------------------------------------=
---
#   enable sound card support, [sb16|es1370|all|..,..], default none
#soundhw=3D'sb16'
#--------------------------------------------------------------------------=
---
#    set the real time clock to local time [default=3D0 i.e. set to utc]
#localtime=3D0
localtime=3D1
#--------------------------------------------------------------------------=
---
#    set the real time clock offset in seconds [default=3D0 i.e. same as do=
m0]
#rtc_timeoffset=3D28800
#rtc_timeoffset=3D0
#on_poweroff =3D 'destroy'
#on_reboot   =3D 'restart'
#on_crash    =3D 'restart'


Related xen-hotplug.log as below:

RTNETLINK answers: Operation not supported
RTNETLINK answers: Device or resource busy
RTNETLINK answers: Operation not supported
RTNETLINK answers: Device or resource busy


>
>> >
>> > What names do the devices end up with? ("ifconfig -a", while guest is
>> > running, "brctl show" also useful)
>>
>> Can't even create the hvmdomain with vifname set.
>> =A0 If you mean trying
>> to capture the ifconfig -a output while xm create hvmdomain with
>> vifname set... the interval for xm create hvmdomain with vifname set
>> is too short for me to issue ifconfig -a and brctl show output in
>> another terminal :(
>
> Yes, that's something of a problem.
>
> One approach you could try is to add the commands to the vif-bridge
> script and re-direct to a file. One useful place to do that might be in
> vif-common.sh just before the
> =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> calls. e.g. add
> =A0 =A0 =A0 =A0( ifconfig -a ; brctl show ) >> /tmp/hotplug.dbg.log
> or something. You might also want to add ">> /tmp/hotplug.dbg.log" to
> the door_die so that it's output can also be logged.

I actually done that as below:

(ifconfig -a && brctl show) >> /root/test-output.log
printenv >> /root/test-output.log
above the line: do_or_die ip link set "$dev" name "$vifname"

And the appending output as below about /root/test-output.log:

# cat ../test-output.log
b1        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

b2        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14589 errors:0 dropped:61 overruns:0 frame:0
          TX packets:1167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:957339 (934.9 KiB)  TX bytes:228032 (222.6 KiB)
          Memory:fba80000-fbb00000

eth1      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3454 errors:0 dropped:60 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:298974 (291.9 KiB)  TX bytes:3130 (3.0 KiB)
          Memory:fb980000-fba00000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vif5.0-emu Link encap:Ethernet  HWaddr 1A:58:5C:16:5C:02
          inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:280 (280.0 b)

vif5.1-emu Link encap:Ethernet  HWaddr 6A:A7:BB:1E:A6:95
          inet6 addr: fe80::68a7:bbff:fe1e:a695/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:222 (222.0 b)

xenbr0    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet addr:203.175.161.8  Bcast:203.175.161.255  Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13978 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:702446 (685.9 KiB)  TX bytes:226828 (221.5 KiB)

xenbr1    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet addr:192.168.100.18  Bcast:192.168.100.255  Mask:255.255.255=
.0
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2506 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:121776 (118.9 KiB)  TX bytes:1926 (1.8 KiB)

bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.0025903d0d12	no		b1
							eth0
							vif5.0-emu
xenbr1		8000.0025903d0d13	no		b2
							eth1
							vif5.1-emu
b1        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

b2        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14589 errors:0 dropped:61 overruns:0 frame:0
          TX packets:1167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:957339 (934.9 KiB)  TX bytes:228032 (222.6 KiB)
          Memory:fba80000-fbb00000

eth1      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3454 errors:0 dropped:60 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:298974 (291.9 KiB)  TX bytes:3130 (3.0 KiB)
          Memory:fb980000-fba00000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vif5.0-emu Link encap:Ethernet  HWaddr 1A:58:5C:16:5C:02
          inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:280 (280.0 b)

vif5.1-emu Link encap:Ethernet  HWaddr 6A:A7:BB:1E:A6:95
          inet6 addr: fe80::68a7:bbff:fe1e:a695/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:222 (222.0 b)

xenbr0    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet addr:203.175.161.8  Bcast:203.175.161.255  Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13978 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:702446 (685.9 KiB)  TX bytes:226828 (221.5 KiB)

xenbr1    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet addr:192.168.100.18  Bcast:192.168.100.255  Mask:255.255.255=
.0
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2506 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:121776 (118.9 KiB)  TX bytes:1926 (1.8 KiB)

bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.0025903d0d12	no		b1
							eth0
							vif5.0-emu
xenbr1		8000.0025903d0d13	no		b2
							eth1
							vif5.1-emu
NET_MATCHID=3D
SUBSYSTEM=3Dnet
DEVPATH=3D/devices/virtual/net/vif5.0-emu
PATH=3D/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib64/xen/bin:/sbin:/bin:/u=
sr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
ACTION=3Dadd
UDEV_LOG=3D3
PWD=3D/
LANG=3DPOSIX
SHLVL=3D1
IFINDEX=3D24
INTERFACE=3Dvif5.0-emu
SEQNUM=3D2521
_=3D/usr/bin/printenv
NET_MATCHID=3D
SUBSYSTEM=3Dnet
DEVPATH=3D/devices/virtual/net/vif5.1-emu
PATH=3D/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib64/xen/bin:/sbin:/bin:/u=
sr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
ACTION=3Dadd
UDEV_LOG=3D3
PWD=3D/
LANG=3DPOSIX
SHLVL=3D1
IFINDEX=3D25
INTERFACE=3Dvif5.1-emu
SEQNUM=3D2524
_=3D/usr/bin/printenv


>
>> Just to confirm... are we going to "throw away" xm in 4.2 and use only x=
l?
>
> Not yet, they will both existing in 4.2 but xl will now be considered
> the default. We hope to be able to get rid of xm in the 4.3 time frame,
> but that depends on a variety of factors.

Ok.  Thanks for letting me know ;)

Thanks.

Kindest regards,
Giam Teck Choon


>
>>
>> Thanks.
>>
>> Kindest regards,
>> Giam Teck Choon
>>
>>
>> >
>> > Ian.
>> >
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:16:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSTY-0005Rm-LQ; Mon, 21 May 2012 13:16:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SWSTX-0005Rh-3Q
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:16:39 +0000
Received: from [85.158.138.51:10642] by server-10.bemta-3.messagelabs.com id
	B9/02-29478-6304ABF4; Mon, 21 May 2012 13:16:38 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337606194!28328612!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=1.5 required=7.0 tests=HOT_NASTY,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25660 invoked from network); 21 May 2012 13:16:36 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:16:36 -0000
Received: by dadv2 with SMTP id v2so7071017dad.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 06:16:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=uuCk/9FE9C7/iDxb8hpvGg2zV3edgQclqaj7uBZSDhE=;
	b=J80ywe1y52yjt9aD5+po4+leDhD26LFFRl+gZjqCHJTwbMBuOPOXpg5xzLzhatcs3R
	xeuMvWT7tSfrCkeoXoi/DkZa49W+C5gn0qo+8IYl2gLfnVdhsN6OuGqN4ZObp8W8+xpn
	VJnvYwne4l+CMpqPT0+GG7XFpzh6yi9d9S4vY5lPOlh74yQxo/mQKSlL0J6R+ASr4loe
	U3+CosN+m5BVwOzDy473AJhScl1qM1ftjMbkzbzN9u3vnHfXrFyO53B22JEYm4NOw+j9
	zl5YARqa3sHsxzOKW/kvS1xRI5ca4E1EOB/4Q00/GDNLbkJRhN46lJEbRv36xsWoC5QW
	/PHg==
MIME-Version: 1.0
Received: by 10.68.227.163 with SMTP id sb3mr12549328pbc.74.1337606193936;
	Mon, 21 May 2012 06:16:33 -0700 (PDT)
Received: by 10.68.229.198 with HTTP; Mon, 21 May 2012 06:16:33 -0700 (PDT)
In-Reply-To: <1337605458.24660.122.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 21:16:33 +0800
Message-ID: <CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 9:04 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Mon, 2012-05-21 at 13:51 +0100, Teck Choon Giam wrote:
>
>> > How does case #7 fail? Do you get both devices created but not placed =
on
>> > the bridge or something else?
>>
>> I am not sure just in #7 fail to create. =A0The error as below:
>>
>> # xm create hvmdomaintest-vifname.cfg
>> Using config file "./hvmdomaintest-vifname.cfg".
>> Error: Device 0 (vif) could not be connected. ip link set vif1.0-emu
>> name b1-emu failed
>
> So am I correct that you use vifname=3D"b1"? I wonder if there was any
> output from this command. Did anything appear in
> var/log/xen/xen-hotplug.log ?

Related hvmdomain-vifname.cfg as below:

# cat hvmdomaintest-vifname.cfg
#kernel =3D "/usr/lib/xen/boot/hvmloader"
builder =3D 'hvm'
# Shadow pagetable memory for the domain, in MB.
# If not explicictly set, xend will pick an appropriate value.
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
shadow_memory =3D 32
memory =3D 3072
maxmem =3D 3072
name =3D "hvmdomaintest"
vif =3D [ 'vifname=3Db1,type=3Dioemu,mac=3DEDITOUT,bridge=3Dxenbr0,ip=3DEDI=
TOUT',
'vifname=3Db2,type=3Dioemu,mac=3DEDITOUT,bridge=3Dxenbr1,ip=3DEDITOUT' ]
disk =3D [ 'phy:/dev/XenGroup/hvmdomaintest,ioemu:hda,w',
'file:/home/xen/images/X17-59463_Windows_7_Ultimate_Service_Pack_1_x86_ISO_=
32-bit.iso,hdc:cdrom,r'
]
vmid=3D1
vcpus=3D4
ne2000=3D0
boot=3D'cd'
sdl=3D0
vncviewer=3D0
vncpasswd=3D'EDITOUT'
vnclisten=3D"XXX.XXX.XXX.XXX"
vnc=3D1
vncdisplay=3D1
vncunused=3D0
usbdevice=3D'tablet'
#acpi=3D0
viridian=3D1
#--------------------------------------------------------------------------=
---
#   enable sound card support, [sb16|es1370|all|..,..], default none
#soundhw=3D'sb16'
#--------------------------------------------------------------------------=
---
#    set the real time clock to local time [default=3D0 i.e. set to utc]
#localtime=3D0
localtime=3D1
#--------------------------------------------------------------------------=
---
#    set the real time clock offset in seconds [default=3D0 i.e. same as do=
m0]
#rtc_timeoffset=3D28800
#rtc_timeoffset=3D0
#on_poweroff =3D 'destroy'
#on_reboot   =3D 'restart'
#on_crash    =3D 'restart'


Related xen-hotplug.log as below:

RTNETLINK answers: Operation not supported
RTNETLINK answers: Device or resource busy
RTNETLINK answers: Operation not supported
RTNETLINK answers: Device or resource busy


>
>> >
>> > What names do the devices end up with? ("ifconfig -a", while guest is
>> > running, "brctl show" also useful)
>>
>> Can't even create the hvmdomain with vifname set.
>> =A0 If you mean trying
>> to capture the ifconfig -a output while xm create hvmdomain with
>> vifname set... the interval for xm create hvmdomain with vifname set
>> is too short for me to issue ifconfig -a and brctl show output in
>> another terminal :(
>
> Yes, that's something of a problem.
>
> One approach you could try is to add the commands to the vif-bridge
> script and re-direct to a file. One useful place to do that might be in
> vif-common.sh just before the
> =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
> calls. e.g. add
> =A0 =A0 =A0 =A0( ifconfig -a ; brctl show ) >> /tmp/hotplug.dbg.log
> or something. You might also want to add ">> /tmp/hotplug.dbg.log" to
> the door_die so that it's output can also be logged.

I actually done that as below:

(ifconfig -a && brctl show) >> /root/test-output.log
printenv >> /root/test-output.log
above the line: do_or_die ip link set "$dev" name "$vifname"

And the appending output as below about /root/test-output.log:

# cat ../test-output.log
b1        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

b2        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14589 errors:0 dropped:61 overruns:0 frame:0
          TX packets:1167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:957339 (934.9 KiB)  TX bytes:228032 (222.6 KiB)
          Memory:fba80000-fbb00000

eth1      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3454 errors:0 dropped:60 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:298974 (291.9 KiB)  TX bytes:3130 (3.0 KiB)
          Memory:fb980000-fba00000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vif5.0-emu Link encap:Ethernet  HWaddr 1A:58:5C:16:5C:02
          inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:280 (280.0 b)

vif5.1-emu Link encap:Ethernet  HWaddr 6A:A7:BB:1E:A6:95
          inet6 addr: fe80::68a7:bbff:fe1e:a695/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:222 (222.0 b)

xenbr0    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet addr:203.175.161.8  Bcast:203.175.161.255  Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13978 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:702446 (685.9 KiB)  TX bytes:226828 (221.5 KiB)

xenbr1    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet addr:192.168.100.18  Bcast:192.168.100.255  Mask:255.255.255=
.0
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2506 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:121776 (118.9 KiB)  TX bytes:1926 (1.8 KiB)

bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.0025903d0d12	no		b1
							eth0
							vif5.0-emu
xenbr1		8000.0025903d0d13	no		b2
							eth1
							vif5.1-emu
b1        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

b2        Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14589 errors:0 dropped:61 overruns:0 frame:0
          TX packets:1167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:957339 (934.9 KiB)  TX bytes:228032 (222.6 KiB)
          Memory:fba80000-fbb00000

eth1      Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3454 errors:0 dropped:60 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:298974 (291.9 KiB)  TX bytes:3130 (3.0 KiB)
          Memory:fb980000-fba00000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vif5.0-emu Link encap:Ethernet  HWaddr 1A:58:5C:16:5C:02
          inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:280 (280.0 b)

vif5.1-emu Link encap:Ethernet  HWaddr 6A:A7:BB:1E:A6:95
          inet6 addr: fe80::68a7:bbff:fe1e:a695/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 b)  TX bytes:222 (222.0 b)

xenbr0    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:12
          inet addr:203.175.161.8  Bcast:203.175.161.255  Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fe3d:d12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13978 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:702446 (685.9 KiB)  TX bytes:226828 (221.5 KiB)

xenbr1    Link encap:Ethernet  HWaddr 00:25:90:3D:0D:13
          inet addr:192.168.100.18  Bcast:192.168.100.255  Mask:255.255.255=
.0
          inet6 addr: fe80::225:90ff:fe3d:d13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2506 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:121776 (118.9 KiB)  TX bytes:1926 (1.8 KiB)

bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.0025903d0d12	no		b1
							eth0
							vif5.0-emu
xenbr1		8000.0025903d0d13	no		b2
							eth1
							vif5.1-emu
NET_MATCHID=3D
SUBSYSTEM=3Dnet
DEVPATH=3D/devices/virtual/net/vif5.0-emu
PATH=3D/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib64/xen/bin:/sbin:/bin:/u=
sr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
ACTION=3Dadd
UDEV_LOG=3D3
PWD=3D/
LANG=3DPOSIX
SHLVL=3D1
IFINDEX=3D24
INTERFACE=3Dvif5.0-emu
SEQNUM=3D2521
_=3D/usr/bin/printenv
NET_MATCHID=3D
SUBSYSTEM=3Dnet
DEVPATH=3D/devices/virtual/net/vif5.1-emu
PATH=3D/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib64/xen/bin:/sbin:/bin:/u=
sr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
ACTION=3Dadd
UDEV_LOG=3D3
PWD=3D/
LANG=3DPOSIX
SHLVL=3D1
IFINDEX=3D25
INTERFACE=3Dvif5.1-emu
SEQNUM=3D2524
_=3D/usr/bin/printenv


>
>> Just to confirm... are we going to "throw away" xm in 4.2 and use only x=
l?
>
> Not yet, they will both existing in 4.2 but xl will now be considered
> the default. We hope to be able to get rid of xm in the 4.3 time frame,
> but that depends on a variety of factors.

Ok.  Thanks for letting me know ;)

Thanks.

Kindest regards,
Giam Teck Choon


>
>>
>> Thanks.
>>
>> Kindest regards,
>> Giam Teck Choon
>>
>>
>> >
>> > Ian.
>> >
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:23:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSa0-0005b5-Ib; Mon, 21 May 2012 13:23:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWSZz-0005az-1c
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:23:19 +0000
Received: from [193.109.254.147:10969] by server-8.bemta-14.messagelabs.com id
	F6/E3-23244-6C14ABF4; Mon, 21 May 2012 13:23:18 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337606594!10353214!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MTc2MA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29028 invoked from network); 21 May 2012 13:23:14 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:23:14 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=CaxSWhGNSzKQRTlNvnunjo17dpqlTO+9wR6cnL6GRH1nMyyQMqGhxTOb
	spud2JKFrjGoXsoj1nAJWsIYBsRbOPayxvw9Qrk20ZaTxpoyMPcWiwMeD
	9kuw7DMfqXiC3Y+jtuozVZdIAHu4MXi5yAmLgaWtOyysoWWE01NCP7U4X
	rW5KxUvblBajMXE4hyaCPS3si+JdCzURRSfAxjVL9Ko+XuiYDGpjKx1lk
	NhhlsBHEi+18h3abnaaQ9yfG9Qihy;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337606594; x=1369142594;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=w4/fMQX5yYONJ7bhVpYpNAUuJP5mKb0E2CRtbdJ9H34=;
	b=GfXTrRspsRySAYoFVUBodgWddx+E0OgkYvrKwEwgvuAborv8GyfpU1J9
	Xpuno7NZv2W/EtCyIqRAf6Jlbs2us0909aXat9Z/VBVBurCLzABQiWHCT
	y2JZouvbzOXR6LRNFbGrUJpayzGM7WuBCrD6U1XOSaEo1IkGzOnPF1Bwj
	Amf6aDNxCPL++4VMWbyiDH12gkkVcH/920r7HMy3bgGvlfC2LuVRGuc1H
	+EZif4tzkA+xwD/qgEvNv0QTfcoMl;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="93991980"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate20u.abg.fsc.net with ESMTP; 21 May 2012 15:23:14 +0200
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="134444474"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 21 May 2012 15:23:13 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 8BCA2963E53;
	Mon, 21 May 2012 15:23:13 +0200 (CEST)
Message-ID: <4FBA41C1.30908@ts.fujitsu.com>
Date: Mon, 21 May 2012 15:23:13 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337602071.24660.99.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/2012 02:07 PM, Ian Campbell wrote:
> On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
>> Obtains current scheduler parameters before modifying any settings specified
>> via domain config. Only specified settings must be modified, of course!
>>
> I presume this will fix the
> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> warning we are currently seeing? Thanks!
>
>> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
>>       ("slice",        integer),
>>       ("latency",      integer),
>>       ("extratime",    integer),
>> +    ("set_weight",       bool),
>> +    ("set_cap",          bool),
>> +    ("set_tslice_ms",    bool),
>> +    ("set_ratelimit_us", bool),
>> +    ("set_period",       bool),
>> +    ("set_slice",        bool),
>> +    ("set_latency",      bool),
>> +    ("set_extratime",    bool),
> Rather than doing this it would be preferable to identify some specific
> value which means "default" for each of these fields. Generally this
> would be either 0 (preferred if possible) or ~0 or -1. You can then
> describe this in the IDL using the "init_val" property on each field.
> e.g.:
>
> @@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
>   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>
>   libxl_sched_params = Struct("sched_params",[
> -    ("weight",       integer),
> +    ("weight",       integer, {'init_val': -1}),
>       ("cap",          integer),
>       ("tslice_ms",    integer),
>       ("ratelimit_us", integer),
>
> (just as an illustration of a non-zero default, I suspect 0 would
> actually be a fine default value for weight, and 0 is the default
> init_val)
>
> Then libxl_sched_params_init, which xl must call (perhaps indirectly,
> e.g. via libxl_domain_build_info_init) would set these defaults and xl
> would override them from the config and libxl would only set those which
> were non-default.

Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
export the knowledge about semantics to the tools. If this is no problem,
why can't I just set the defaults in the tools and omit asking the
hypervisor for the current settings?

Additionally there are parameters (well, one parameter) which apply to
multiple schedulers. Just by chance -1 would be invalid for all of them,
but I don't like to hard code this coincidence.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:23:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSa0-0005b5-Ib; Mon, 21 May 2012 13:23:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWSZz-0005az-1c
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:23:19 +0000
Received: from [193.109.254.147:10969] by server-8.bemta-14.messagelabs.com id
	F6/E3-23244-6C14ABF4; Mon, 21 May 2012 13:23:18 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337606594!10353214!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MTc2MA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29028 invoked from network); 21 May 2012 13:23:14 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:23:14 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=CaxSWhGNSzKQRTlNvnunjo17dpqlTO+9wR6cnL6GRH1nMyyQMqGhxTOb
	spud2JKFrjGoXsoj1nAJWsIYBsRbOPayxvw9Qrk20ZaTxpoyMPcWiwMeD
	9kuw7DMfqXiC3Y+jtuozVZdIAHu4MXi5yAmLgaWtOyysoWWE01NCP7U4X
	rW5KxUvblBajMXE4hyaCPS3si+JdCzURRSfAxjVL9Ko+XuiYDGpjKx1lk
	NhhlsBHEi+18h3abnaaQ9yfG9Qihy;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337606594; x=1369142594;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=w4/fMQX5yYONJ7bhVpYpNAUuJP5mKb0E2CRtbdJ9H34=;
	b=GfXTrRspsRySAYoFVUBodgWddx+E0OgkYvrKwEwgvuAborv8GyfpU1J9
	Xpuno7NZv2W/EtCyIqRAf6Jlbs2us0909aXat9Z/VBVBurCLzABQiWHCT
	y2JZouvbzOXR6LRNFbGrUJpayzGM7WuBCrD6U1XOSaEo1IkGzOnPF1Bwj
	Amf6aDNxCPL++4VMWbyiDH12gkkVcH/920r7HMy3bgGvlfC2LuVRGuc1H
	+EZif4tzkA+xwD/qgEvNv0QTfcoMl;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="93991980"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate20u.abg.fsc.net with ESMTP; 21 May 2012 15:23:14 +0200
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="134444474"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 21 May 2012 15:23:13 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 8BCA2963E53;
	Mon, 21 May 2012 15:23:13 +0200 (CEST)
Message-ID: <4FBA41C1.30908@ts.fujitsu.com>
Date: Mon, 21 May 2012 15:23:13 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337602071.24660.99.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/2012 02:07 PM, Ian Campbell wrote:
> On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
>> Obtains current scheduler parameters before modifying any settings specified
>> via domain config. Only specified settings must be modified, of course!
>>
> I presume this will fix the
> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> warning we are currently seeing? Thanks!
>
>> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
>>       ("slice",        integer),
>>       ("latency",      integer),
>>       ("extratime",    integer),
>> +    ("set_weight",       bool),
>> +    ("set_cap",          bool),
>> +    ("set_tslice_ms",    bool),
>> +    ("set_ratelimit_us", bool),
>> +    ("set_period",       bool),
>> +    ("set_slice",        bool),
>> +    ("set_latency",      bool),
>> +    ("set_extratime",    bool),
> Rather than doing this it would be preferable to identify some specific
> value which means "default" for each of these fields. Generally this
> would be either 0 (preferred if possible) or ~0 or -1. You can then
> describe this in the IDL using the "init_val" property on each field.
> e.g.:
>
> @@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
>   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>
>   libxl_sched_params = Struct("sched_params",[
> -    ("weight",       integer),
> +    ("weight",       integer, {'init_val': -1}),
>       ("cap",          integer),
>       ("tslice_ms",    integer),
>       ("ratelimit_us", integer),
>
> (just as an illustration of a non-zero default, I suspect 0 would
> actually be a fine default value for weight, and 0 is the default
> init_val)
>
> Then libxl_sched_params_init, which xl must call (perhaps indirectly,
> e.g. via libxl_domain_build_info_init) would set these defaults and xl
> would override them from the config and libxl would only set those which
> were non-default.

Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
export the knowledge about semantics to the tools. If this is no problem,
why can't I just set the defaults in the tools and omit asking the
hypervisor for the current settings?

Additionally there are parameters (well, one parameter) which apply to
multiple schedulers. Just by chance -1 would be invalid for all of them,
but I don't like to hard code this coincidence.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:33:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSjA-0005nA-Ph; Mon, 21 May 2012 13:32:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWSj8-0005n2-Pi
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:32:46 +0000
Received: from [193.109.254.147:31855] by server-6.bemta-14.messagelabs.com id
	00/BB-04960-DF34ABF4; Mon, 21 May 2012 13:32:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337607164!10321231!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8736 invoked from network); 21 May 2012 13:32:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 13:32:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 14:32:44 +0100
Message-Id: <4FBA601A0200007800084D68@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 14:32:42 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 21.05.12 at 13:47, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>       * IRQ problem for which debugging code got added by c/s
>         24707:96987c324a4f. I have a tentative adjustment to this which
>         I would hope to at least eliminate the bad consequences of
>         crashing the hypervisor (converting the unsolicited
>         PIC-originated IRQ into a spurious one). I'll submit as soon as
>         I got to test this a little, particularly also on an old box
>         without APIC. (Jan Beulich)

That adjustment is already in (25336:edd7c7ad1ad2). But there's
still the issue of xfree() being called from interrupt context, for
which Andy Cooper had posted a patch, while I later suggested
to address the issue in a more general form. No feedback from
Keir so far, so perhaps I should go ahead and submit the
adjustment in more formal shape.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:33:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSjA-0005nA-Ph; Mon, 21 May 2012 13:32:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWSj8-0005n2-Pi
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:32:46 +0000
Received: from [193.109.254.147:31855] by server-6.bemta-14.messagelabs.com id
	00/BB-04960-DF34ABF4; Mon, 21 May 2012 13:32:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337607164!10321231!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8736 invoked from network); 21 May 2012 13:32:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 13:32:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 14:32:44 +0100
Message-Id: <4FBA601A0200007800084D68@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 14:32:42 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337600857.24660.84.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 21.05.12 at 13:47, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>       * IRQ problem for which debugging code got added by c/s
>         24707:96987c324a4f. I have a tentative adjustment to this which
>         I would hope to at least eliminate the bad consequences of
>         crashing the hypervisor (converting the unsolicited
>         PIC-originated IRQ into a spurious one). I'll submit as soon as
>         I got to test this a little, particularly also on an old box
>         without APIC. (Jan Beulich)

That adjustment is already in (25336:edd7c7ad1ad2). But there's
still the issue of xfree() being called from interrupt context, for
which Andy Cooper had posted a patch, while I later suggested
to address the issue in a more general form. No feedback from
Keir so far, so perhaps I should go ahead and submit the
adjustment in more formal shape.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:36:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:36:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSms-0005vT-Dm; Mon, 21 May 2012 13:36:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSmr-0005vJ-DY
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:36:37 +0000
Received: from [85.158.139.83:6088] by server-1.bemta-5.messagelabs.com id
	6C/C3-27328-4E44ABF4; Mon, 21 May 2012 13:36:36 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337607395!28990375!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7451 invoked from network); 21 May 2012 13:36:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:36:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12579499"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:34:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:34:58 +0100
Message-ID: <1337607296.24660.135.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Mon, 21 May 2012 14:34:56 +0100
In-Reply-To: <4FBA41C1.30908@ts.fujitsu.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:23 +0100, Juergen Gross wrote:
> On 05/21/2012 02:07 PM, Ian Campbell wrote:
> > On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
> >> Obtains current scheduler parameters before modifying any settings specified
> >> via domain config. Only specified settings must be modified, of course!
> >>
> > I presume this will fix the
> > libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
> > of range, valid values are within range from 1 to 65535
> > warning we are currently seeing? Thanks!
> >
> >> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
> >>       ("slice",        integer),
> >>       ("latency",      integer),
> >>       ("extratime",    integer),
> >> +    ("set_weight",       bool),
> >> +    ("set_cap",          bool),
> >> +    ("set_tslice_ms",    bool),
> >> +    ("set_ratelimit_us", bool),
> >> +    ("set_period",       bool),
> >> +    ("set_slice",        bool),
> >> +    ("set_latency",      bool),
> >> +    ("set_extratime",    bool),
> > Rather than doing this it would be preferable to identify some specific
> > value which means "default" for each of these fields. Generally this
> > would be either 0 (preferred if possible) or ~0 or -1. You can then
> > describe this in the IDL using the "init_val" property on each field.
> > e.g.:
> >
> > @@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
> >   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
> >
> >   libxl_sched_params = Struct("sched_params",[
> > -    ("weight",       integer),
> > +    ("weight",       integer, {'init_val': -1}),
> >       ("cap",          integer),
> >       ("tslice_ms",    integer),
> >       ("ratelimit_us", integer),
> >
> > (just as an illustration of a non-zero default, I suspect 0 would
> > actually be a fine default value for weight, and 0 is the default
> > init_val)
> >
> > Then libxl_sched_params_init, which xl must call (perhaps indirectly,
> > e.g. via libxl_domain_build_info_init) would set these defaults and xl
> > would override them from the config and libxl would only set those which
> > were non-default.
> 
> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
> export the knowledge about semantics to the tools. If this is no problem,
> why can't I just set the defaults in the tools and omit asking the
> hypervisor for the current settings?

Exporting the idea that 0 is not a valid weight is (IMHO at least)
better than exporting the fact that the default weight is (e.g.) 200 and
hard coding that in multiple places.

> Additionally there are parameters (well, one parameter) which apply to
> multiple schedulers. Just by chance -1 would be invalid for all of them,
> but I don't like to hard code this coincidence.

Which parameter is it? Is there any reasonable possibility that a
scheduler would ever use -1 (or +4 billion) for it?

You could define a symbolic name if that would make you more comfortable
(that would allow us to change the specific value without changing the
API)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:36:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:36:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSms-0005vT-Dm; Mon, 21 May 2012 13:36:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSmr-0005vJ-DY
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:36:37 +0000
Received: from [85.158.139.83:6088] by server-1.bemta-5.messagelabs.com id
	6C/C3-27328-4E44ABF4; Mon, 21 May 2012 13:36:36 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337607395!28990375!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7451 invoked from network); 21 May 2012 13:36:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:36:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12579499"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:34:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:34:58 +0100
Message-ID: <1337607296.24660.135.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Mon, 21 May 2012 14:34:56 +0100
In-Reply-To: <4FBA41C1.30908@ts.fujitsu.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:23 +0100, Juergen Gross wrote:
> On 05/21/2012 02:07 PM, Ian Campbell wrote:
> > On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
> >> Obtains current scheduler parameters before modifying any settings specified
> >> via domain config. Only specified settings must be modified, of course!
> >>
> > I presume this will fix the
> > libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
> > of range, valid values are within range from 1 to 65535
> > warning we are currently seeing? Thanks!
> >
> >> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
> >>       ("slice",        integer),
> >>       ("latency",      integer),
> >>       ("extratime",    integer),
> >> +    ("set_weight",       bool),
> >> +    ("set_cap",          bool),
> >> +    ("set_tslice_ms",    bool),
> >> +    ("set_ratelimit_us", bool),
> >> +    ("set_period",       bool),
> >> +    ("set_slice",        bool),
> >> +    ("set_latency",      bool),
> >> +    ("set_extratime",    bool),
> > Rather than doing this it would be preferable to identify some specific
> > value which means "default" for each of these fields. Generally this
> > would be either 0 (preferred if possible) or ~0 or -1. You can then
> > describe this in the IDL using the "init_val" property on each field.
> > e.g.:
> >
> > @@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
> >   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
> >
> >   libxl_sched_params = Struct("sched_params",[
> > -    ("weight",       integer),
> > +    ("weight",       integer, {'init_val': -1}),
> >       ("cap",          integer),
> >       ("tslice_ms",    integer),
> >       ("ratelimit_us", integer),
> >
> > (just as an illustration of a non-zero default, I suspect 0 would
> > actually be a fine default value for weight, and 0 is the default
> > init_val)
> >
> > Then libxl_sched_params_init, which xl must call (perhaps indirectly,
> > e.g. via libxl_domain_build_info_init) would set these defaults and xl
> > would override them from the config and libxl would only set those which
> > were non-default.
> 
> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
> export the knowledge about semantics to the tools. If this is no problem,
> why can't I just set the defaults in the tools and omit asking the
> hypervisor for the current settings?

Exporting the idea that 0 is not a valid weight is (IMHO at least)
better than exporting the fact that the default weight is (e.g.) 200 and
hard coding that in multiple places.

> Additionally there are parameters (well, one parameter) which apply to
> multiple schedulers. Just by chance -1 would be invalid for all of them,
> but I don't like to hard code this coincidence.

Which parameter is it? Is there any reasonable possibility that a
scheduler would ever use -1 (or +4 billion) for it?

You could define a symbolic name if that would make you more comfortable
(that would allow us to change the specific value without changing the
API)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:48:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:48:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSyB-00066w-Kj; Mon, 21 May 2012 13:48:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWSy9-00066r-OP
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:48:18 +0000
Received: from [85.158.143.35:17262] by server-3.bemta-4.messagelabs.com id
	40/D3-05853-1A74ABF4; Mon, 21 May 2012 13:48:17 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337608095!12489329!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjU1NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2053 invoked from network); 21 May 2012 13:48:16 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:48:16 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=NQvZOswmmWPRU3KTRhM7wnqP1Y5U6J8jjE39BaHs6FRlNhopoNZLYRyj
	DjLk/DnGAVaDGv2XWCOiV/+FQclwEWlDHBohgStK75xb9Ej9PnxMwbiO4
	da6RB++eufeiTZKGhMSta/MIlSv46p2l7YoFjADBY1geovUF/yMs/fpTs
	9YTVFi31CEvdU8Gnsxxw+waIClYiCp5JBI9L6f3XDNXaRijo2M3CA4DAL
	cTorDnKQ+zDEvroxY+lHJHg/4SNLA;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337608096; x=1369144096;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=ewSDS22aoxLOj78qE5INNBDRCRg8DWqiJ5E0Au4ccNc=;
	b=AiECgp+KhvksJv8CRlU9pdovXIm7AtvlcvvfaBaFK6Fqeur6SiO4g4je
	gSZp3p5l/XHe1nVQXxP2vHkSc1nWVjcQLlBXVEWta2w6ftNRUJnIELKsA
	/PHNNibjXacihI8FojV7smFJvLzuLgry+QrGOy0uLZ/eS9ubSQQrrm7JA
	ZIY17Jk+jOA60gKz8l6+AGYTJVaoCi38Nu9oddsRziQIFfH3rNcSYeBGk
	JTRMZ2ebvdYuIadsBJ0Wdwjt9a1DL;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="110995134"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 21 May 2012 15:48:15 +0200
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="134685085"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 21 May 2012 15:48:14 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 1476B963E53;
	Mon, 21 May 2012 15:48:15 +0200 (CEST)
Message-ID: <4FBA479F.6050208@ts.fujitsu.com>
Date: Mon, 21 May 2012 15:48:15 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337607296.24660.135.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/2012 03:34 PM, Ian Campbell wrote:
> On Mon, 2012-05-21 at 14:23 +0100, Juergen Gross wrote:
>> On 05/21/2012 02:07 PM, Ian Campbell wrote:
>>> On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
>>>> Obtains current scheduler parameters before modifying any settings specified
>>>> via domain config. Only specified settings must be modified, of course!
>>>>
>>> I presume this will fix the
>>> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
>>> of range, valid values are within range from 1 to 65535
>>> warning we are currently seeing? Thanks!
>>>
>>>> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
>>>>        ("slice",        integer),
>>>>        ("latency",      integer),
>>>>        ("extratime",    integer),
>>>> +    ("set_weight",       bool),
>>>> +    ("set_cap",          bool),
>>>> +    ("set_tslice_ms",    bool),
>>>> +    ("set_ratelimit_us", bool),
>>>> +    ("set_period",       bool),
>>>> +    ("set_slice",        bool),
>>>> +    ("set_latency",      bool),
>>>> +    ("set_extratime",    bool),
>>> Rather than doing this it would be preferable to identify some specific
>>> value which means "default" for each of these fields. Generally this
>>> would be either 0 (preferred if possible) or ~0 or -1. You can then
>>> describe this in the IDL using the "init_val" property on each field.
>>> e.g.:
>>>
>>> @@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
>>>    MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>>>
>>>    libxl_sched_params = Struct("sched_params",[
>>> -    ("weight",       integer),
>>> +    ("weight",       integer, {'init_val': -1}),
>>>        ("cap",          integer),
>>>        ("tslice_ms",    integer),
>>>        ("ratelimit_us", integer),
>>>
>>> (just as an illustration of a non-zero default, I suspect 0 would
>>> actually be a fine default value for weight, and 0 is the default
>>> init_val)
>>>
>>> Then libxl_sched_params_init, which xl must call (perhaps indirectly,
>>> e.g. via libxl_domain_build_info_init) would set these defaults and xl
>>> would override them from the config and libxl would only set those which
>>> were non-default.
>> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
>> export the knowledge about semantics to the tools. If this is no problem,
>> why can't I just set the defaults in the tools and omit asking the
>> hypervisor for the current settings?
> Exporting the idea that 0 is not a valid weight is (IMHO at least)
> better than exporting the fact that the default weight is (e.g.) 200 and
> hard coding that in multiple places.

Agreed.

>> Additionally there are parameters (well, one parameter) which apply to
>> multiple schedulers. Just by chance -1 would be invalid for all of them,
>> but I don't like to hard code this coincidence.
> Which parameter is it? Is there any reasonable possibility that a
> scheduler would ever use -1 (or +4 billion) for it?

It's the cpu_weight. :-)
I don't object using an invalid value instead of a boolean, I just thought
it would be cleaner to say "parameter xy was specified". This would include
the case when a user specifies 0 for the cpu_weight: it would be rejected
instead of just ignored...

> You could define a symbolic name if that would make you more comfortable
> (that would allow us to change the specific value without changing the
> API)

As the "invalid" value would be used at least twice this is a must.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:48:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:48:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSyB-00066w-Kj; Mon, 21 May 2012 13:48:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWSy9-00066r-OP
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:48:18 +0000
Received: from [85.158.143.35:17262] by server-3.bemta-4.messagelabs.com id
	40/D3-05853-1A74ABF4; Mon, 21 May 2012 13:48:17 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337608095!12489329!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjU1NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2053 invoked from network); 21 May 2012 13:48:16 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:48:16 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=NQvZOswmmWPRU3KTRhM7wnqP1Y5U6J8jjE39BaHs6FRlNhopoNZLYRyj
	DjLk/DnGAVaDGv2XWCOiV/+FQclwEWlDHBohgStK75xb9Ej9PnxMwbiO4
	da6RB++eufeiTZKGhMSta/MIlSv46p2l7YoFjADBY1geovUF/yMs/fpTs
	9YTVFi31CEvdU8Gnsxxw+waIClYiCp5JBI9L6f3XDNXaRijo2M3CA4DAL
	cTorDnKQ+zDEvroxY+lHJHg/4SNLA;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337608096; x=1369144096;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=ewSDS22aoxLOj78qE5INNBDRCRg8DWqiJ5E0Au4ccNc=;
	b=AiECgp+KhvksJv8CRlU9pdovXIm7AtvlcvvfaBaFK6Fqeur6SiO4g4je
	gSZp3p5l/XHe1nVQXxP2vHkSc1nWVjcQLlBXVEWta2w6ftNRUJnIELKsA
	/PHNNibjXacihI8FojV7smFJvLzuLgry+QrGOy0uLZ/eS9ubSQQrrm7JA
	ZIY17Jk+jOA60gKz8l6+AGYTJVaoCi38Nu9oddsRziQIFfH3rNcSYeBGk
	JTRMZ2ebvdYuIadsBJ0Wdwjt9a1DL;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="110995134"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 21 May 2012 15:48:15 +0200
X-IronPort-AV: E=Sophos;i="4.75,631,1330902000"; d="scan'208";a="134685085"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 21 May 2012 15:48:14 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 1476B963E53;
	Mon, 21 May 2012 15:48:15 +0200 (CEST)
Message-ID: <4FBA479F.6050208@ts.fujitsu.com>
Date: Mon, 21 May 2012 15:48:15 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337607296.24660.135.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/2012 03:34 PM, Ian Campbell wrote:
> On Mon, 2012-05-21 at 14:23 +0100, Juergen Gross wrote:
>> On 05/21/2012 02:07 PM, Ian Campbell wrote:
>>> On Mon, 2012-05-21 at 12:46 +0100, Juergen Gross wrote:
>>>> Obtains current scheduler parameters before modifying any settings specified
>>>> via domain config. Only specified settings must be modified, of course!
>>>>
>>> I presume this will fix the
>>> libxl: error: libxl.c:3208:libxl_sched_credit_domain_set: Cpu weight out
>>> of range, valid values are within range from 1 to 65535
>>> warning we are currently seeing? Thanks!
>>>
>>>> @@ -233,6 +233,14 @@ libxl_sched_params = Struct("sched_param
>>>>        ("slice",        integer),
>>>>        ("latency",      integer),
>>>>        ("extratime",    integer),
>>>> +    ("set_weight",       bool),
>>>> +    ("set_cap",          bool),
>>>> +    ("set_tslice_ms",    bool),
>>>> +    ("set_ratelimit_us", bool),
>>>> +    ("set_period",       bool),
>>>> +    ("set_slice",        bool),
>>>> +    ("set_latency",      bool),
>>>> +    ("set_extratime",    bool),
>>> Rather than doing this it would be preferable to identify some specific
>>> value which means "default" for each of these fields. Generally this
>>> would be either 0 (preferred if possible) or ~0 or -1. You can then
>>> describe this in the IDL using the "init_val" property on each field.
>>> e.g.:
>>>
>>> @@ -225,7 +225,7 @@ libxl_domain_create_info = Struct("domai
>>>    MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>>>
>>>    libxl_sched_params = Struct("sched_params",[
>>> -    ("weight",       integer),
>>> +    ("weight",       integer, {'init_val': -1}),
>>>        ("cap",          integer),
>>>        ("tslice_ms",    integer),
>>>        ("ratelimit_us", integer),
>>>
>>> (just as an illustration of a non-zero default, I suspect 0 would
>>> actually be a fine default value for weight, and 0 is the default
>>> init_val)
>>>
>>> Then libxl_sched_params_init, which xl must call (perhaps indirectly,
>>> e.g. via libxl_domain_build_info_init) would set these defaults and xl
>>> would override them from the config and libxl would only set those which
>>> were non-default.
>> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
>> export the knowledge about semantics to the tools. If this is no problem,
>> why can't I just set the defaults in the tools and omit asking the
>> hypervisor for the current settings?
> Exporting the idea that 0 is not a valid weight is (IMHO at least)
> better than exporting the fact that the default weight is (e.g.) 200 and
> hard coding that in multiple places.

Agreed.

>> Additionally there are parameters (well, one parameter) which apply to
>> multiple schedulers. Just by chance -1 would be invalid for all of them,
>> but I don't like to hard code this coincidence.
> Which parameter is it? Is there any reasonable possibility that a
> scheduler would ever use -1 (or +4 billion) for it?

It's the cpu_weight. :-)
I don't object using an invalid value instead of a boolean, I just thought
it would be cleaner to say "parameter xy was specified". This would include
the case when a user specifies 0 for the cpu_weight: it would be rejected
instead of just ignored...

> You could define a symbolic name if that would make you more comfortable
> (that would allow us to change the specific value without changing the
> API)

As the "invalid" value would be used at least twice this is a must.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:49:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSyg-00068y-7w; Mon, 21 May 2012 13:48:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SWSye-00068e-DX
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:48:48 +0000
Received: from [193.109.254.147:44168] by server-11.bemta-14.messagelabs.com
	id 66/B8-05858-FB74ABF4; Mon, 21 May 2012 13:48:47 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337608126!10359422!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1869 invoked from network); 21 May 2012 13:48:47 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:48:47 -0000
Received: by qady23 with SMTP id y23so2230859qad.7
	for <xen-devel@lists.xensource.com>;
	Mon, 21 May 2012 06:48:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=jYAzAZRTiLRwAP03DzvuG92AEcWExL+iLXljdehRKUw=;
	b=R+rk3YWgRXzCk/TE+TEvA1FAIrYSENUp/NzBZ/BfcqTef0dX5tw2ZHf9kr8rf+z6cJ
	94RdQnt3VtPaO5xKgUyV72mhlK1y6ipoOMrjDZ/i9+Ry+6LyeN+wAI6eackgWfeyxIrv
	wy7xD4ScPGFNfKrnkiyLaila3oseD3zIyT7uJCMGdDa0O+Mj/6CFmOzK+fUEnGRhV1AI
	wiqAk+0siNIr9A/feNxJhKtr3/j/9QsoQ7zAZmMrcfNEd2K0hsjDR25cv504at6N88AX
	31XtOGNk8/pCFWtGKTqch4c7HhuHepq6HE+p8HkK1vuVyV2RqBTL31BY2MnydjeV8sEV
	e+Gg==
MIME-Version: 1.0
Received: by 10.224.183.135 with SMTP id cg7mr38401756qab.25.1337608125903;
	Mon, 21 May 2012 06:48:45 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Mon, 21 May 2012 06:48:45 -0700 (PDT)
In-Reply-To: <1337607296.24660.135.camel@zakaz.uk.xensource.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 14:48:45 +0100
X-Google-Sender-Auth: A9QF4fqAGPT_EYsRAVPT0vs5o9Q
Message-ID: <CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 2:34 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
>> export the knowledge about semantics to the tools. If this is no problem,
>> why can't I just set the defaults in the tools and omit asking the
>> hypervisor for the current settings?
>
> Exporting the idea that 0 is not a valid weight is (IMHO at least)
> better than exporting the fact that the default weight is (e.g.) 200 and
> hard coding that in multiple places.

I agree.

> You could define a symbolic name if that would make you more comfortable
> (that would allow us to change the specific value without changing the
> API)

That is, as long as the "reasonable value" is the same for all of the
parameters.

I half wonder if having an "init schedule params" function which would
set each value to the default for that value would be useful, or if it
would be overkill.

Of course, if we're doing that, it's only one step further to just
reading the actual scheduler parameters...

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:49:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSyg-00068y-7w; Mon, 21 May 2012 13:48:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SWSye-00068e-DX
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:48:48 +0000
Received: from [193.109.254.147:44168] by server-11.bemta-14.messagelabs.com
	id 66/B8-05858-FB74ABF4; Mon, 21 May 2012 13:48:47 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337608126!10359422!1
X-Originating-IP: [209.85.216.48]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1869 invoked from network); 21 May 2012 13:48:47 -0000
Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com)
	(209.85.216.48)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:48:47 -0000
Received: by qady23 with SMTP id y23so2230859qad.7
	for <xen-devel@lists.xensource.com>;
	Mon, 21 May 2012 06:48:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=jYAzAZRTiLRwAP03DzvuG92AEcWExL+iLXljdehRKUw=;
	b=R+rk3YWgRXzCk/TE+TEvA1FAIrYSENUp/NzBZ/BfcqTef0dX5tw2ZHf9kr8rf+z6cJ
	94RdQnt3VtPaO5xKgUyV72mhlK1y6ipoOMrjDZ/i9+Ry+6LyeN+wAI6eackgWfeyxIrv
	wy7xD4ScPGFNfKrnkiyLaila3oseD3zIyT7uJCMGdDa0O+Mj/6CFmOzK+fUEnGRhV1AI
	wiqAk+0siNIr9A/feNxJhKtr3/j/9QsoQ7zAZmMrcfNEd2K0hsjDR25cv504at6N88AX
	31XtOGNk8/pCFWtGKTqch4c7HhuHepq6HE+p8HkK1vuVyV2RqBTL31BY2MnydjeV8sEV
	e+Gg==
MIME-Version: 1.0
Received: by 10.224.183.135 with SMTP id cg7mr38401756qab.25.1337608125903;
	Mon, 21 May 2012 06:48:45 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Mon, 21 May 2012 06:48:45 -0700 (PDT)
In-Reply-To: <1337607296.24660.135.camel@zakaz.uk.xensource.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 14:48:45 +0100
X-Google-Sender-Auth: A9QF4fqAGPT_EYsRAVPT0vs5o9Q
Message-ID: <CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 2:34 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
>> export the knowledge about semantics to the tools. If this is no problem,
>> why can't I just set the defaults in the tools and omit asking the
>> hypervisor for the current settings?
>
> Exporting the idea that 0 is not a valid weight is (IMHO at least)
> better than exporting the fact that the default weight is (e.g.) 200 and
> hard coding that in multiple places.

I agree.

> You could define a symbolic name if that would make you more comfortable
> (that would allow us to change the specific value without changing the
> API)

That is, as long as the "reasonable value" is the same for all of the
parameters.

I half wonder if having an "init schedule params" function which would
set each value to the default for that value would be useful, or if it
would be overkill.

Of course, if we're doing that, it's only one step further to just
reading the actual scheduler parameters...

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:50:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:50:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSzp-0006HN-N1; Mon, 21 May 2012 13:50:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSzo-0006H8-Fc
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:50:00 +0000
Received: from [85.158.143.99:55291] by server-2.bemta-4.messagelabs.com id
	75/38-12211-7084ABF4; Mon, 21 May 2012 13:49:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337608193!17834657!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7210 invoked from network); 21 May 2012 13:49:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:49:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12580183"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:49:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:49:53 +0100
Message-ID: <1337608191.24660.138.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Mon, 21 May 2012 14:49:51 +0100
In-Reply-To: <4FBA3EC8.3060104@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:10 +0100, Christoph Egger wrote:
> On 05/21/12 14:15, Ian Campbell wrote:
> 
> > On Mon, 2012-05-21 at 11:26 +0100, Christoph Egger wrote:
> >> On 05/18/12 17:58, Ian Campbell wrote:
> >>
> >>>
> >>>> In libxl__build_post() I check the return value
> >>>> of libxl__sched_set_params().
> >>>
> >>> The mesages about scheduler params are a known and benign issue.
> >>>
> >>>> Now trying to start a guest results in this failure:
> >>>>
> >>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>>>   Loader:        0000000000100000->000000000019bd04
> >>>>   TOTAL:         0000000000000000->00000000ff800000
> >>>>   ENTRY ADDRESS: 0000000000100000
> >>>> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>>>   4KB PAGES: 0x0000000000000200
> >>>>   2MB PAGES: 0x00000000000003fb
> >>>>   1GB PAGES: 0x0000000000000002
> >>>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> >>>> of range, valid values are within range from 1 to 65535
> >>>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >>>> (re-)build domain: -6
> >>>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> >>>> device model's pid: No such file or directory
> >>>
> >>> Is your device model dying for some reason? Anything
> >>> in /var/log/xen/*guest*.log about it?
> >>
> >>
> >> The guest logfile doesn't exist.
> > 
> > Sorry, I meant guest as in $GUEST_NAME rather than literally "guest" (I
> > was totally non-obvious about that, sorry!).
> 
> 
> I understood it that way. The guest logfile doesn't exist.
> 
> > 
> >> Does that mean the errors happens before device model has been started at all?
> > 
> > I think/hope if that were the case you would get messages about failure
> > to exec etc rather than timeouts.
> > 
> >>>
> >>> You could try "xl -vvv cr ..." too, not sure what it will say.
> >>
> >>
> >> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=unknown
> >> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> >> vdev=hda, using backend phy
> >> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> >> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> >> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>   Loader:        0000000000100000->000000000019bd04
> >>   TOTAL:         0000000000000000->00000000ff800000
> >>   ENTRY ADDRESS: 0000000000100000
> >> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>   4KB PAGES: 0x0000000000000200
> >>   2MB PAGES: 0x00000000000003fb
> >>   1GB PAGES: 0x0000000000000002
> > 
> > No messages about "xs transaction failed: Bad file descriptor" any more?
> > 
> >> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> >> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> >> of range, valid values are within range from 1 to 65535
> >> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >> (re-)build domain: -6
> >> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> >> device model's pid: No such file or directory
> >> libxl: error: libxl.c:1162:libxl_domain_destroy:
> >> libxl__destroy_device_model failed for 2
> > 
> > Hrm, actually, the device model stuff might be a red-herring -- that's
> > trying to tear down the device model on failure and it is entirely
> > reasonable for the device model to not be running if we didn't get as
> > far as starting it...
> > 
> > The interesting message is just:
> >> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >> (re-)build domain: -6
> > 
> > Which is unhelpfully just a general failure from libxl__domain_build.
> > 
> > It seems that we have a non-logging failure path in there somewhere. I'm
> > afraid that the easieist way to fix this is probably just to dive into
> > libxl__domain_build and add prints on the various error cases of sub
> > functions, then recurse as you identify which one is failing etc..
> 
> I did that:
> 
> Parsing config from /root/hvm-guest/netbsd_64b.conf
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=unknown
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=hda, using backend phy
> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
> libxl_sched_credit_domain_set failed -6
> libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
> failed -6
> libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
> failed: -6
> libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
> (re-)build domain: -6
> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> device model's pid: No such file or directory
> libxl: error: libxl.c:1162:libxl_domain_destroy:
> libxl__destroy_device_model failed for 6
> xc: debug: hypercall buffer: total allocations:1264 total releases:1264
> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
> xc: debug: hypercall buffer: cache current size:2
> xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
> xs_daemon_close
> 
> 
> So it is indeed that ERROR_INVAL from that 'benign' error

In my version of libxl libxl__build_post doesn't even look at the return
value of libxl__sched_set_params.
    ....
    libxl__sched_set_params (gc, domid, &(info->sched_params));
    ....

the only other exit path from that function is:
    dom_path = libxl__xs_get_dompath(gc, domid);
    if (!dom_path) {
        return ERROR_FAIL;
    }
which is consistent with the original errors you had (but if ERROR_FAIL,
not ERROR_INVAL). This doesn't really help me figure out what is going
on though :-/

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:50:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:50:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWSzp-0006HN-N1; Mon, 21 May 2012 13:50:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWSzo-0006H8-Fc
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:50:00 +0000
Received: from [85.158.143.99:55291] by server-2.bemta-4.messagelabs.com id
	75/38-12211-7084ABF4; Mon, 21 May 2012 13:49:59 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337608193!17834657!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7210 invoked from network); 21 May 2012 13:49:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:49:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12580183"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:49:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:49:53 +0100
Message-ID: <1337608191.24660.138.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Mon, 21 May 2012 14:49:51 +0100
In-Reply-To: <4FBA3EC8.3060104@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:10 +0100, Christoph Egger wrote:
> On 05/21/12 14:15, Ian Campbell wrote:
> 
> > On Mon, 2012-05-21 at 11:26 +0100, Christoph Egger wrote:
> >> On 05/18/12 17:58, Ian Campbell wrote:
> >>
> >>>
> >>>> In libxl__build_post() I check the return value
> >>>> of libxl__sched_set_params().
> >>>
> >>> The mesages about scheduler params are a known and benign issue.
> >>>
> >>>> Now trying to start a guest results in this failure:
> >>>>
> >>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>>>   Loader:        0000000000100000->000000000019bd04
> >>>>   TOTAL:         0000000000000000->00000000ff800000
> >>>>   ENTRY ADDRESS: 0000000000100000
> >>>> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>>>   4KB PAGES: 0x0000000000000200
> >>>>   2MB PAGES: 0x00000000000003fb
> >>>>   1GB PAGES: 0x0000000000000002
> >>>> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> >>>> of range, valid values are within range from 1 to 65535
> >>>> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >>>> (re-)build domain: -6
> >>>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> >>>> device model's pid: No such file or directory
> >>>
> >>> Is your device model dying for some reason? Anything
> >>> in /var/log/xen/*guest*.log about it?
> >>
> >>
> >> The guest logfile doesn't exist.
> > 
> > Sorry, I meant guest as in $GUEST_NAME rather than literally "guest" (I
> > was totally non-obvious about that, sorry!).
> 
> 
> I understood it that way. The guest logfile doesn't exist.
> 
> > 
> >> Does that mean the errors happens before device model has been started at all?
> > 
> > I think/hope if that were the case you would get messages about failure
> > to exec etc rather than timeouts.
> > 
> >>>
> >>> You could try "xl -vvv cr ..." too, not sure what it will say.
> >>
> >>
> >> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=unknown
> >> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> >> vdev=hda, using backend phy
> >> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> >> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> >> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>   Loader:        0000000000100000->000000000019bd04
> >>   TOTAL:         0000000000000000->00000000ff800000
> >>   ENTRY ADDRESS: 0000000000100000
> >> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>   4KB PAGES: 0x0000000000000200
> >>   2MB PAGES: 0x00000000000003fb
> >>   1GB PAGES: 0x0000000000000002
> > 
> > No messages about "xs transaction failed: Bad file descriptor" any more?
> > 
> >> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> >> libxl: error: libxl.c:3211:libxl_sched_credit_domain_set: Cpu weight out
> >> of range, valid values are within range from 1 to 65535
> >> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >> (re-)build domain: -6
> >> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> >> device model's pid: No such file or directory
> >> libxl: error: libxl.c:1162:libxl_domain_destroy:
> >> libxl__destroy_device_model failed for 2
> > 
> > Hrm, actually, the device model stuff might be a red-herring -- that's
> > trying to tear down the device model on failure and it is entirely
> > reasonable for the device model to not be running if we didn't get as
> > far as starting it...
> > 
> > The interesting message is just:
> >> libxl: error: libxl_create.c:694:domcreate_bootloader_done: cannot
> >> (re-)build domain: -6
> > 
> > Which is unhelpfully just a general failure from libxl__domain_build.
> > 
> > It seems that we have a non-logging failure path in there somewhere. I'm
> > afraid that the easieist way to fix this is probably just to dive into
> > libxl__domain_build and add prints on the various error cases of sub
> > functions, then recurse as you identify which one is failing etc..
> 
> I did that:
> 
> Parsing config from /root/hvm-guest/netbsd_64b.conf
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=unknown
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=hda, using backend phy
> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
> libxl_sched_credit_domain_set failed -6
> libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
> failed -6
> libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
> failed: -6
> libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
> (re-)build domain: -6
> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
> device model's pid: No such file or directory
> libxl: error: libxl.c:1162:libxl_domain_destroy:
> libxl__destroy_device_model failed for 6
> xc: debug: hypercall buffer: total allocations:1264 total releases:1264
> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
> xc: debug: hypercall buffer: cache current size:2
> xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
> xs_daemon_close
> 
> 
> So it is indeed that ERROR_INVAL from that 'benign' error

In my version of libxl libxl__build_post doesn't even look at the return
value of libxl__sched_set_params.
    ....
    libxl__sched_set_params (gc, domid, &(info->sched_params));
    ....

the only other exit path from that function is:
    dom_path = libxl__xs_get_dompath(gc, domid);
    if (!dom_path) {
        return ERROR_FAIL;
    }
which is consistent with the original errors you had (but if ERROR_FAIL,
not ERROR_INVAL). This doesn't really help me figure out what is going
on though :-/

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:50:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT0V-0006MM-4x; Mon, 21 May 2012 13:50:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWT0U-0006M8-2v
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:50:42 +0000
Received: from [85.158.143.99:60416] by server-3.bemta-4.messagelabs.com id
	49/49-05853-1384ABF4; Mon, 21 May 2012 13:50:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337608229!21500654!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18557 invoked from network); 21 May 2012 13:50:30 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 13:50:30 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 14:50:29 +0100
Message-Id: <4FBA64420200007800084D93@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 14:50:26 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartE7C91F32.1__="
Cc: andrew.cooper3@citrix.com
Subject: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartE7C91F32.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
irq context when a bug condition is encountered. If this is the case,
ignore the call to xsm_show_irq_ssid() and the subsequent call to
xfree().

This prevents an assertion failure in xfree(), and should allow all the
debug information to be dumped, before failing with a BUG() because of
the underlying race condition we are attempting to reproduce.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Rather than using the non-obvious conditional around an xfree() that
would be passed NULL only in the inverse case (which could easily get
removed by a future change on the basis that calling xfree(NULL) is
benign), switch the order of checks in xfree() itself and only suppress
the call to XSM that could potentially call xmalloc().

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- 2012-04-23.orig/xen/arch/x86/irq.c	2012-05-14 17:43:58.000000000 =
+0200
+++ 2012-04-23/xen/arch/x86/irq.c	2012-05-21 15:38:01.000000000 =
+0200
@@ -2060,7 +2060,7 @@ static void dump_irqs(unsigned char key)
         if ( !irq_desc_initialized(desc) || desc->handler =3D=3D =
&no_irq_type )
             continue;
=20
-        ssid =3D xsm_show_irq_sid(irq);
+        ssid =3D in_irq() ? NULL : xsm_show_irq_sid(irq);
=20
         spin_lock_irqsave(&desc->lock, flags);
=20
--- 2012-04-23.orig/xen/common/xmalloc_tlsf.c	2011-10-17 08:35:00.0000000=
00 +0200
+++ 2012-04-23/xen/common/xmalloc_tlsf.c	2012-05-21 15:38:31.0000000=
00 +0200
@@ -604,11 +604,11 @@ void xfree(void *p)
 {
     struct bhdr *b;
=20
-    ASSERT(!in_irq());
-
     if ( p =3D=3D NULL )
         return;
=20
+    ASSERT(!in_irq());
+
     /* Strip alignment padding. */
     b =3D (struct bhdr *)((char *) p - BHDR_OVERHEAD);
     if ( b->size & 1 )




--=__PartE7C91F32.1__=
Content-Type: text/plain; name="x86-irq-fix-dump.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-irq-fix-dump.patch"

x86: prevent call to xfree() in dump_irqs() while in an irq context=0A=0ABe=
cause of c/s 24707:96987c324a4f, dump_irqs() can now be called in an=0Airq =
context when a bug condition is encountered. If this is the case,=0Aignore =
the call to xsm_show_irq_ssid() and the subsequent call to=0Axfree().=0A=0A=
This prevents an assertion failure in xfree(), and should allow all =
the=0Adebug information to be dumped, before failing with a BUG() because =
of=0Athe underlying race condition we are attempting to reproduce.=0A=0ASig=
ned-off-by: Andrew Cooper <andrew.cooper3@citrix.com>=0A=0ARather than =
using the non-obvious conditional around an xfree() that=0Awould be passed =
NULL only in the inverse case (which could easily get=0Aremoved by a =
future change on the basis that calling xfree(NULL) is=0Abenign), switch =
the order of checks in xfree() itself and only suppress=0Athe call to XSM =
that could potentially call xmalloc().=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- 2012-04-23.orig/xen/arch/x86/irq.c	2012-05-14 =
17:43:58.000000000 +0200=0A+++ 2012-04-23/xen/arch/x86/irq.c	2012-05-21 =
15:38:01.000000000 +0200=0A@@ -2060,7 +2060,7 @@ static void dump_irqs(unsi=
gned char key)=0A         if ( !irq_desc_initialized(desc) || desc->handler=
 =3D=3D &no_irq_type )=0A             continue;=0A =0A-        ssid =3D =
xsm_show_irq_sid(irq);=0A+        ssid =3D in_irq() ? NULL : xsm_show_irq_s=
id(irq);=0A =0A         spin_lock_irqsave(&desc->lock, flags);=0A =0A--- =
2012-04-23.orig/xen/common/xmalloc_tlsf.c	2011-10-17 08:35:00.0000000=
00 +0200=0A+++ 2012-04-23/xen/common/xmalloc_tlsf.c	2012-05-21 =
15:38:31.000000000 +0200=0A@@ -604,11 +604,11 @@ void xfree(void *p)=0A =
{=0A     struct bhdr *b;=0A =0A-    ASSERT(!in_irq());=0A-=0A     if ( p =
=3D=3D NULL )=0A         return;=0A =0A+    ASSERT(!in_irq());=0A+=0A     =
/* Strip alignment padding. */=0A     b =3D (struct bhdr *)((char *) p - =
BHDR_OVERHEAD);=0A     if ( b->size & 1 )=0A
--=__PartE7C91F32.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartE7C91F32.1__=--


From xen-devel-bounces@lists.xen.org Mon May 21 13:50:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT0V-0006MM-4x; Mon, 21 May 2012 13:50:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWT0U-0006M8-2v
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:50:42 +0000
Received: from [85.158.143.99:60416] by server-3.bemta-4.messagelabs.com id
	49/49-05853-1384ABF4; Mon, 21 May 2012 13:50:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337608229!21500654!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18557 invoked from network); 21 May 2012 13:50:30 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 13:50:30 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 14:50:29 +0100
Message-Id: <4FBA64420200007800084D93@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 14:50:26 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartE7C91F32.1__="
Cc: andrew.cooper3@citrix.com
Subject: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartE7C91F32.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
irq context when a bug condition is encountered. If this is the case,
ignore the call to xsm_show_irq_ssid() and the subsequent call to
xfree().

This prevents an assertion failure in xfree(), and should allow all the
debug information to be dumped, before failing with a BUG() because of
the underlying race condition we are attempting to reproduce.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Rather than using the non-obvious conditional around an xfree() that
would be passed NULL only in the inverse case (which could easily get
removed by a future change on the basis that calling xfree(NULL) is
benign), switch the order of checks in xfree() itself and only suppress
the call to XSM that could potentially call xmalloc().

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- 2012-04-23.orig/xen/arch/x86/irq.c	2012-05-14 17:43:58.000000000 =
+0200
+++ 2012-04-23/xen/arch/x86/irq.c	2012-05-21 15:38:01.000000000 =
+0200
@@ -2060,7 +2060,7 @@ static void dump_irqs(unsigned char key)
         if ( !irq_desc_initialized(desc) || desc->handler =3D=3D =
&no_irq_type )
             continue;
=20
-        ssid =3D xsm_show_irq_sid(irq);
+        ssid =3D in_irq() ? NULL : xsm_show_irq_sid(irq);
=20
         spin_lock_irqsave(&desc->lock, flags);
=20
--- 2012-04-23.orig/xen/common/xmalloc_tlsf.c	2011-10-17 08:35:00.0000000=
00 +0200
+++ 2012-04-23/xen/common/xmalloc_tlsf.c	2012-05-21 15:38:31.0000000=
00 +0200
@@ -604,11 +604,11 @@ void xfree(void *p)
 {
     struct bhdr *b;
=20
-    ASSERT(!in_irq());
-
     if ( p =3D=3D NULL )
         return;
=20
+    ASSERT(!in_irq());
+
     /* Strip alignment padding. */
     b =3D (struct bhdr *)((char *) p - BHDR_OVERHEAD);
     if ( b->size & 1 )




--=__PartE7C91F32.1__=
Content-Type: text/plain; name="x86-irq-fix-dump.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-irq-fix-dump.patch"

x86: prevent call to xfree() in dump_irqs() while in an irq context=0A=0ABe=
cause of c/s 24707:96987c324a4f, dump_irqs() can now be called in an=0Airq =
context when a bug condition is encountered. If this is the case,=0Aignore =
the call to xsm_show_irq_ssid() and the subsequent call to=0Axfree().=0A=0A=
This prevents an assertion failure in xfree(), and should allow all =
the=0Adebug information to be dumped, before failing with a BUG() because =
of=0Athe underlying race condition we are attempting to reproduce.=0A=0ASig=
ned-off-by: Andrew Cooper <andrew.cooper3@citrix.com>=0A=0ARather than =
using the non-obvious conditional around an xfree() that=0Awould be passed =
NULL only in the inverse case (which could easily get=0Aremoved by a =
future change on the basis that calling xfree(NULL) is=0Abenign), switch =
the order of checks in xfree() itself and only suppress=0Athe call to XSM =
that could potentially call xmalloc().=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- 2012-04-23.orig/xen/arch/x86/irq.c	2012-05-14 =
17:43:58.000000000 +0200=0A+++ 2012-04-23/xen/arch/x86/irq.c	2012-05-21 =
15:38:01.000000000 +0200=0A@@ -2060,7 +2060,7 @@ static void dump_irqs(unsi=
gned char key)=0A         if ( !irq_desc_initialized(desc) || desc->handler=
 =3D=3D &no_irq_type )=0A             continue;=0A =0A-        ssid =3D =
xsm_show_irq_sid(irq);=0A+        ssid =3D in_irq() ? NULL : xsm_show_irq_s=
id(irq);=0A =0A         spin_lock_irqsave(&desc->lock, flags);=0A =0A--- =
2012-04-23.orig/xen/common/xmalloc_tlsf.c	2011-10-17 08:35:00.0000000=
00 +0200=0A+++ 2012-04-23/xen/common/xmalloc_tlsf.c	2012-05-21 =
15:38:31.000000000 +0200=0A@@ -604,11 +604,11 @@ void xfree(void *p)=0A =
{=0A     struct bhdr *b;=0A =0A-    ASSERT(!in_irq());=0A-=0A     if ( p =
=3D=3D NULL )=0A         return;=0A =0A+    ASSERT(!in_irq());=0A+=0A     =
/* Strip alignment padding. */=0A     b =3D (struct bhdr *)((char *) p - =
BHDR_OVERHEAD);=0A     if ( b->size & 1 )=0A
--=__PartE7C91F32.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartE7C91F32.1__=--


From xen-devel-bounces@lists.xen.org Mon May 21 13:54:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:54:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT3w-0006ho-Vs; Mon, 21 May 2012 13:54:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWT3v-0006he-GS
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:54:15 +0000
Received: from [85.158.138.51:51609] by server-12.bemta-3.messagelabs.com id
	5D/3B-29760-6094ABF4; Mon, 21 May 2012 13:54:14 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337608454!19381363!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16914 invoked from network); 21 May 2012 13:54:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:54:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12580443"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:53:52 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:53:52 +0100
Message-ID: <1337608431.24660.140.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Mon, 21 May 2012 14:53:51 +0100
In-Reply-To: <CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:48 +0100, George Dunlap wrote:
> On Mon, May 21, 2012 at 2:34 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
> >> export the knowledge about semantics to the tools. If this is no problem,
> >> why can't I just set the defaults in the tools and omit asking the
> >> hypervisor for the current settings?
> >
> > Exporting the idea that 0 is not a valid weight is (IMHO at least)
> > better than exporting the fact that the default weight is (e.g.) 200 and
> > hard coding that in multiple places.
> 
> I agree.
> 
> > You could define a symbolic name if that would make you more comfortable
> > (that would allow us to change the specific value without changing the
> > API)
> 
> That is, as long as the "reasonable value" is the same for all of the
> parameters.

I actually meant a symbolic name for the default of each, rather than
one for all of them.

> I half wonder if having an "init schedule params" function which would
> set each value to the default for that value would be useful, or if it
> would be overkill.
> 
> Of course, if we're doing that, it's only one step further to just
> reading the actual scheduler parameters...

I suppose we could make the autogenerated libxl_sched_params_init
instead be a hand-coded thing which actually reads them.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:54:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:54:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT3w-0006ho-Vs; Mon, 21 May 2012 13:54:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWT3v-0006he-GS
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 13:54:15 +0000
Received: from [85.158.138.51:51609] by server-12.bemta-3.messagelabs.com id
	5D/3B-29760-6094ABF4; Mon, 21 May 2012 13:54:14 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337608454!19381363!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16914 invoked from network); 21 May 2012 13:54:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:54:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12580443"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 13:53:52 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:53:52 +0100
Message-ID: <1337608431.24660.140.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Mon, 21 May 2012 14:53:51 +0100
In-Reply-To: <CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:48 +0100, George Dunlap wrote:
> On Mon, May 21, 2012 at 2:34 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
> >> export the knowledge about semantics to the tools. If this is no problem,
> >> why can't I just set the defaults in the tools and omit asking the
> >> hypervisor for the current settings?
> >
> > Exporting the idea that 0 is not a valid weight is (IMHO at least)
> > better than exporting the fact that the default weight is (e.g.) 200 and
> > hard coding that in multiple places.
> 
> I agree.
> 
> > You could define a symbolic name if that would make you more comfortable
> > (that would allow us to change the specific value without changing the
> > API)
> 
> That is, as long as the "reasonable value" is the same for all of the
> parameters.

I actually meant a symbolic name for the default of each, rather than
one for all of them.

> I half wonder if having an "init schedule params" function which would
> set each value to the default for that value would be useful, or if it
> would be overkill.
> 
> Of course, if we're doing that, it's only one step further to just
> reading the actual scheduler parameters...

I suppose we could make the autogenerated libxl_sched_params_init
instead be a hand-coded thing which actually reads them.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:54:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT42-0006iQ-E1; Mon, 21 May 2012 13:54:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SWT41-0006iD-O5
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:54:21 +0000
Received: from [85.158.138.51:56120] by server-6.bemta-3.messagelabs.com id
	CC/E7-05145-C094ABF4; Mon, 21 May 2012 13:54:20 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337608458!19381383!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17547 invoked from network); 21 May 2012 13:54:20 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:54:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195784322"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:54:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 09:54:18 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SWT3x-0006Qd-Qw;
	Mon, 21 May 2012 14:54:17 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Xen Devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <stefano.stabellini@citrix.com>
Date: Mon, 21 May 2012 14:53:40 +0100
Message-ID: <1337608420-24585-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>
Subject: [Xen-devel] [PATCH] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized, when the guest write to a
specific IO port.

Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/xen_platform.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index 5e792f5..068be8b 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -87,7 +87,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
 {
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
-        qdev_unplug(&(d->qdev));
+        qdev_free(&(d->qdev));
     }
 }
 
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:54:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT42-0006iQ-E1; Mon, 21 May 2012 13:54:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SWT41-0006iD-O5
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:54:21 +0000
Received: from [85.158.138.51:56120] by server-6.bemta-3.messagelabs.com id
	CC/E7-05145-C094ABF4; Mon, 21 May 2012 13:54:20 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337608458!19381383!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17547 invoked from network); 21 May 2012 13:54:20 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:54:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195784322"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:54:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 09:54:18 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SWT3x-0006Qd-Qw;
	Mon, 21 May 2012 14:54:17 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Xen Devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <stefano.stabellini@citrix.com>
Date: Mon, 21 May 2012 14:53:40 +0100
Message-ID: <1337608420-24585-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>
Subject: [Xen-devel] [PATCH] xen: Fix PV-on-HVM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized, when the guest write to a
specific IO port.

Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 hw/xen_platform.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index 5e792f5..068be8b 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -87,7 +87,7 @@ static void unplug_nic(PCIBus *b, PCIDevice *d)
 {
     if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
             PCI_CLASS_NETWORK_ETHERNET) {
-        qdev_unplug(&(d->qdev));
+        qdev_free(&(d->qdev));
     }
 }
 
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:59:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:59:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT9C-00070X-5N; Mon, 21 May 2012 13:59:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SWT9A-00070Q-Fd
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:59:40 +0000
Received: from [85.158.138.51:19969] by server-5.bemta-3.messagelabs.com id
	F5/32-17113-B4A4ABF4; Mon, 21 May 2012 13:59:39 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337608777!28278226!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18723 invoked from network); 21 May 2012 13:59:38 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:59:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195785505"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:59:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 09:59:36 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SWT96-0006Vh-Er;
	Mon, 21 May 2012 14:59:36 +0100
Message-ID: <4FBA4A48.4010004@citrix.com>
Date: Mon, 21 May 2012 14:59:36 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBA64420200007800084D93@nat28.tlf.novell.com>
In-Reply-To: <4FBA64420200007800084D93@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21/05/12 14:50, Jan Beulich wrote:
> Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
> irq context when a bug condition is encountered. If this is the case,
> ignore the call to xsm_show_irq_ssid() and the subsequent call to
> xfree().
>
> This prevents an assertion failure in xfree(), and should allow all the
> debug information to be dumped, before failing with a BUG() because of
> the underlying race condition we are attempting to reproduce.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> Rather than using the non-obvious conditional around an xfree() that
> would be passed NULL only in the inverse case (which could easily get
> removed by a future change on the basis that calling xfree(NULL) is
> benign), switch the order of checks in xfree() itself and only suppress
> the call to XSM that could potentially call xmalloc().
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
> --- 2012-04-23.orig/xen/arch/x86/irq.c	2012-05-14 17:43:58.000000000 +0200
> +++ 2012-04-23/xen/arch/x86/irq.c	2012-05-21 15:38:01.000000000 +0200
> @@ -2060,7 +2060,7 @@ static void dump_irqs(unsigned char key)
>          if ( !irq_desc_initialized(desc) || desc->handler == &no_irq_type )
>              continue;
>  
> -        ssid = xsm_show_irq_sid(irq);
> +        ssid = in_irq() ? NULL : xsm_show_irq_sid(irq);
>  
>          spin_lock_irqsave(&desc->lock, flags);
>  
> --- 2012-04-23.orig/xen/common/xmalloc_tlsf.c	2011-10-17 08:35:00.000000000 +0200
> +++ 2012-04-23/xen/common/xmalloc_tlsf.c	2012-05-21 15:38:31.000000000 +0200
> @@ -604,11 +604,11 @@ void xfree(void *p)
>  {
>      struct bhdr *b;
>  
> -    ASSERT(!in_irq());
> -
>      if ( p == NULL )
>          return;
>  
> +    ASSERT(!in_irq());
> +
>      /* Strip alignment padding. */
>      b = (struct bhdr *)((char *) p - BHDR_OVERHEAD);
>      if ( b->size & 1 )
>
>
>

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 13:59:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 13:59:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWT9C-00070X-5N; Mon, 21 May 2012 13:59:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SWT9A-00070Q-Fd
	for xen-devel@lists.xen.org; Mon, 21 May 2012 13:59:40 +0000
Received: from [85.158.138.51:19969] by server-5.bemta-3.messagelabs.com id
	F5/32-17113-B4A4ABF4; Mon, 21 May 2012 13:59:39 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337608777!28278226!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18723 invoked from network); 21 May 2012 13:59:38 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 13:59:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195785505"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 09:59:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 09:59:36 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SWT96-0006Vh-Er;
	Mon, 21 May 2012 14:59:36 +0100
Message-ID: <4FBA4A48.4010004@citrix.com>
Date: Mon, 21 May 2012 14:59:36 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBA64420200007800084D93@nat28.tlf.novell.com>
In-Reply-To: <4FBA64420200007800084D93@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21/05/12 14:50, Jan Beulich wrote:
> Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
> irq context when a bug condition is encountered. If this is the case,
> ignore the call to xsm_show_irq_ssid() and the subsequent call to
> xfree().
>
> This prevents an assertion failure in xfree(), and should allow all the
> debug information to be dumped, before failing with a BUG() because of
> the underlying race condition we are attempting to reproduce.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> Rather than using the non-obvious conditional around an xfree() that
> would be passed NULL only in the inverse case (which could easily get
> removed by a future change on the basis that calling xfree(NULL) is
> benign), switch the order of checks in xfree() itself and only suppress
> the call to XSM that could potentially call xmalloc().
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
> --- 2012-04-23.orig/xen/arch/x86/irq.c	2012-05-14 17:43:58.000000000 +0200
> +++ 2012-04-23/xen/arch/x86/irq.c	2012-05-21 15:38:01.000000000 +0200
> @@ -2060,7 +2060,7 @@ static void dump_irqs(unsigned char key)
>          if ( !irq_desc_initialized(desc) || desc->handler == &no_irq_type )
>              continue;
>  
> -        ssid = xsm_show_irq_sid(irq);
> +        ssid = in_irq() ? NULL : xsm_show_irq_sid(irq);
>  
>          spin_lock_irqsave(&desc->lock, flags);
>  
> --- 2012-04-23.orig/xen/common/xmalloc_tlsf.c	2011-10-17 08:35:00.000000000 +0200
> +++ 2012-04-23/xen/common/xmalloc_tlsf.c	2012-05-21 15:38:31.000000000 +0200
> @@ -604,11 +604,11 @@ void xfree(void *p)
>  {
>      struct bhdr *b;
>  
> -    ASSERT(!in_irq());
> -
>      if ( p == NULL )
>          return;
>  
> +    ASSERT(!in_irq());
> +
>      /* Strip alignment padding. */
>      b = (struct bhdr *)((char *) p - BHDR_OVERHEAD);
>      if ( b->size & 1 )
>
>
>

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 14:34:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 14:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWTg0-0007Kc-Vu; Mon, 21 May 2012 14:33:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SWTfz-0007KX-HX
	for xen-devel@lists.xen.org; Mon, 21 May 2012 14:33:35 +0000
Received: from [85.158.143.99:27221] by server-3.bemta-4.messagelabs.com id
	EC/8E-05853-E325ABF4; Mon, 21 May 2012 14:33:34 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337610811!23731604!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14216 invoked from network); 21 May 2012 14:33:33 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 14:33:33 -0000
Received: by dadv2 with SMTP id v2so7167400dad.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 07:33:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=X0gsZjLLQ0WfPtJ/KawcTxo9tPsj/+etBmQ+IQm3+fQ=;
	b=XGQJf6Ewo0LzLpECnfthKyay30PrInBkafYqGpUaevP7sq7FLf0/gW0BT/B3fGZj+G
	GWS69u14jyuULkxwLC1PaodoZ3IjAwzdlB3gOC9Ca8Rx/VMh4KJwP6BtLCUdBqJnUnAz
	htxS8sFAW2QBNExcgfWw0d0FEVF9RmyHaTP5SWzpG0miD0IPF4PLkPuzGC+XijDQhf/Q
	2+AtSJzHQpN3Vq7w6sv3ckDz1o3d7I01d6dbgAZgH70etd1oPNDJsj8h2+yNcPkNMyw7
	U0MDlpd1jLlMdrvwkVdprZ4pB/ZKIB1QRgC8tpQtOfPdMenamiqh/nE3S4z6KhvKhl4d
	R27g==
MIME-Version: 1.0
Received: by 10.68.232.129 with SMTP id to1mr48567143pbc.27.1337610810071;
	Mon, 21 May 2012 07:33:30 -0700 (PDT)
Received: by 10.68.136.195 with HTTP; Mon, 21 May 2012 07:33:30 -0700 (PDT)
In-Reply-To: <1337086856.14297.41.camel@zakaz.uk.xensource.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 23:33:30 +0900
Message-ID: <CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: James Harper <james.harper@bendigoit.com.au>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 10:00 PM, Ian Campbell <Ian.Campbell@citrix.com> wr=
ote:
> On Tue, 2012-05-15 at 12:09 +0100, Daniel Castro wrote:
>> On Wed, May 9, 2012 at 5:18 PM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> > On Wed, 2012-05-09 at 08:54 +0100, James Harper wrote:
>> >> >
>> >> > I am writing the PV Driver front end in Seabios.
>> >> >
>> >> > Could you explain your method in a little more detail please?
>> >> >
>> >>
>> >> I'm not sure that my way is the best way. The existing linux pv
>> >> drivers should do what you want - have a look at the source. If you
>> >> really want to look at my code you can get it from hg and have a look.
>> >> It's in the xenvbd driver.
>> >>
>> >> And I think I got it backwards in a previous email. It seems that the
>> >> frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64
>> >> bit.
>> I was not doing this, now it is written in xenstore, as Ian=B4s
>> suggestion 32-abi, yet the same problem persists...
>> After RING RESPONSE 0x0009a040
>> status:9
>> operation 0
>> id:256
>> This above is the content of the response. The id should be 9. If I
>> change the id the response status will change to the same number. Any
>> ideas?
>
> Compare the layout and data sizes of the members of your request and
> response structures very carefully with the ones in xen/include/public.

I have done this, and they are in fact identical. Here are the
addresses of the fields...
RING at 0x0009a040
0x0009a04a status:0
0x0009a048 operation 0
0x0009a040 id:256

What else could it be?

>
> Ian.
>
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 14:34:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 14:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWTg0-0007Kc-Vu; Mon, 21 May 2012 14:33:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SWTfz-0007KX-HX
	for xen-devel@lists.xen.org; Mon, 21 May 2012 14:33:35 +0000
Received: from [85.158.143.99:27221] by server-3.bemta-4.messagelabs.com id
	EC/8E-05853-E325ABF4; Mon, 21 May 2012 14:33:34 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337610811!23731604!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14216 invoked from network); 21 May 2012 14:33:33 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 14:33:33 -0000
Received: by dadv2 with SMTP id v2so7167400dad.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 07:33:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=X0gsZjLLQ0WfPtJ/KawcTxo9tPsj/+etBmQ+IQm3+fQ=;
	b=XGQJf6Ewo0LzLpECnfthKyay30PrInBkafYqGpUaevP7sq7FLf0/gW0BT/B3fGZj+G
	GWS69u14jyuULkxwLC1PaodoZ3IjAwzdlB3gOC9Ca8Rx/VMh4KJwP6BtLCUdBqJnUnAz
	htxS8sFAW2QBNExcgfWw0d0FEVF9RmyHaTP5SWzpG0miD0IPF4PLkPuzGC+XijDQhf/Q
	2+AtSJzHQpN3Vq7w6sv3ckDz1o3d7I01d6dbgAZgH70etd1oPNDJsj8h2+yNcPkNMyw7
	U0MDlpd1jLlMdrvwkVdprZ4pB/ZKIB1QRgC8tpQtOfPdMenamiqh/nE3S4z6KhvKhl4d
	R27g==
MIME-Version: 1.0
Received: by 10.68.232.129 with SMTP id to1mr48567143pbc.27.1337610810071;
	Mon, 21 May 2012 07:33:30 -0700 (PDT)
Received: by 10.68.136.195 with HTTP; Mon, 21 May 2012 07:33:30 -0700 (PDT)
In-Reply-To: <1337086856.14297.41.camel@zakaz.uk.xensource.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
Date: Mon, 21 May 2012 23:33:30 +0900
Message-ID: <CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: James Harper <james.harper@bendigoit.com.au>,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 15, 2012 at 10:00 PM, Ian Campbell <Ian.Campbell@citrix.com> wr=
ote:
> On Tue, 2012-05-15 at 12:09 +0100, Daniel Castro wrote:
>> On Wed, May 9, 2012 at 5:18 PM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> > On Wed, 2012-05-09 at 08:54 +0100, James Harper wrote:
>> >> >
>> >> > I am writing the PV Driver front end in Seabios.
>> >> >
>> >> > Could you explain your method in a little more detail please?
>> >> >
>> >>
>> >> I'm not sure that my way is the best way. The existing linux pv
>> >> drivers should do what you want - have a look at the source. If you
>> >> really want to look at my code you can get it from hg and have a look.
>> >> It's in the xenvbd driver.
>> >>
>> >> And I think I got it backwards in a previous email. It seems that the
>> >> frontend writes the protocol into the xenstore, eg "x86_64-abi" for 64
>> >> bit.
>> I was not doing this, now it is written in xenstore, as Ian=B4s
>> suggestion 32-abi, yet the same problem persists...
>> After RING RESPONSE 0x0009a040
>> status:9
>> operation 0
>> id:256
>> This above is the content of the response. The id should be 9. If I
>> change the id the response status will change to the same number. Any
>> ideas?
>
> Compare the layout and data sizes of the members of your request and
> response structures very carefully with the ones in xen/include/public.

I have done this, and they are in fact identical. Here are the
addresses of the fields...
RING at 0x0009a040
0x0009a04a status:0
0x0009a048 operation 0
0x0009a040 id:256

What else could it be?

>
> Ian.
>
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 14:56:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 14:56:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWU1q-0007Xb-54; Mon, 21 May 2012 14:56:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWU1o-0007XW-EQ
	for xen-devel@lists.xen.org; Mon, 21 May 2012 14:56:08 +0000
Received: from [85.158.143.35:16990] by server-1.bemta-4.messagelabs.com id
	8C/23-00342-7875ABF4; Mon, 21 May 2012 14:56:07 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337612166!16477261!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4293 invoked from network); 21 May 2012 14:56:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 14:56:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 15:56:06 +0100
Message-Id: <4FBA739A0200007800084DEE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 15:55:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
In-Reply-To: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 17.05.12 at 23:20, Ben Guthro <ben@guthro.net> wrote:
> I'm attempting to update the Xen I'm using, and am having an issue with S3.
> Konrad - I know you've been down this path before - so I'm hoping you
> might have some insight, given the stack below
> 
> The linux tree also has an older version of Konrad's acpi-s3
> development branches (it was v7)
> 
> Upon resuming from S3 - Xen panics with the following stack. I'm
> guessing it has something to do with some of the pcpu work going on
> recently - but haven't been tracking this too closely, so am not sure.

I don't think that's related, the more that if anything that work
was on the Dom0 kernel side, not the hypervisor (or not
recently).

> The same kernel with Xen 4.0.x works OK.

Anything known regarding 4.1.x?

> (XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
> &cpus)' failed at sched_credit.c:477

Assuming this is reproducible, could you try to get your serial
console problems sorted out so that you can obtain a full log
(there are quite a few dropped characters here).

At least I can't tell anything from the dumped data alone (other
than the first part of the ASSERT() expression being redundant
with the second part), so I'd also like to ask that you attach (or
make accessible another way) the xen-syms binary corresponding
to the xen.gz one used, so one can locate and analyze individual
variables in the registers and on stack.

Jan

> (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
> (XEN) CPU:    1
> (XEN) RIP:    e008:[<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
> (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> (XEN) rax: 0000000000000001   rbx: 0000000000000010   rcx: 0000000000000010
> (XEN) rdx: 000000ffff   rsi: 0000000000000010   rdi: 0000000000000000
> (XEN) rbp: ffff83013e38fdd8   rsp: ffff83013e38fd08   r8:  0000000000000000
> (XEN) r9:  000000000000003e   r10: ffff82c480232480   r11: 0000000000000246
> (XEN) r12: ffff82c480262820   r13: 0000000000000001   r14: ffff82c4803022e0
> (XEN) r15: ffff83014c6f0068   cr0: 000000008005003b   cr4: 00000000001026f0
> (XEN) cr3: 0000000141a05000   cr2: 0000000000000000
> (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen stack trace from rsp=ffff83013e38fd08:
> (XEN)    0100000141a05000 ffff83013e38fd40 0000000000000297 ffff83013e38fd38
> (XEN)    ffff82c480125929 ffff830148ac2000 ffff83013e38fd78 5400000000000002
> (XEN)    0000000000000282 ffff83013e38fd68 ffff82c480125929 ffff830148ac2000
> (XEN)    ffff83013e38fd98 ffff82c48012cd57 0000000000000000 0000000000000008
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
> (XEN)    0000000000000286 ffff83014c6f0068 ffff83014c6f0068 0000000000000001
> (XEN)    ffff82c4803022e0 ffff83014c6f0068 ffff83013e38fde8 ffff82c48011abbe
> (XEN)    ffff83013e38fe58 ffff82c48012399d ffff82c4803022e0 ffff82c4803022e0
> (XEN)    ffff82c4803022e0 ffff8300aa0fd000 00000000000fd060 0000000000000246
> (XEN)    ffff82c4801280c1 ffff8300aa0fd000 ffff82c4803022e0 ffff82c4802ec5c0
> (XEN)    ffff83014c6f0068002dc2e820 ffff83013e38fe88 ffff82c480123c57
> (XEN)    fffffffffffffffe ffff830148a36000 ffff8300aa0fd000 0000000000000000
> (XEN)    ffff83013e38fef8 ffff82c4801063f5 ffff83013e38ff18 ffffffff810030d2
> (XEN)    ffff8300aa0fd000 0000000000000000 ffff83013e38ff08 ffff82c480185ff0
> (XEN)    ffffffff81ab0020 ffff8300aa0fd000 0000000000000001 000000000000
> (XEN)    0000000000000000 ffff88002dc2e820 00007cfec1c700c7 ffff82c480228f78
> (XEN)    ffffffff8100130a 0000000000000018 ffff88002dc2e820 0000000000000000
> (XEN)    0000000000000000 0000000000000001 ffff88002786dda0 ffff88002dc2bdc0
> (XEN)    0000000000000246 00000000ffffffff 0000000000000040 0000000000000000
> (XEN)    0000000000000018 ffffffff8100130a 0000000000000000 0000000000000001
> (XEN) Xen call trace:
> (XEN)    [<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
> (XEN)    [<ffff82c48011abbe>] csched_cpu_pick+0xe/0x10
> (XEN)    [<ffff82c48012399d>] vcpu_migrate+0x19f/0x346
> (XEN)    [<ffff82c480123c57>] vcpu_force_reschedule+0xa4/0xb6
> (XEN)    [<ffff82c48f5>] do_vcpu_op+0x2c9/0x452
> (XEN)    [<ffff82c480228f78>] syscall_enter+0xc8/0x122
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 1:
> (XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
> &cpus)' failed at sched_credit.c:477
> (XEN) ****************************************
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 14:56:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 14:56:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWU1q-0007Xb-54; Mon, 21 May 2012 14:56:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWU1o-0007XW-EQ
	for xen-devel@lists.xen.org; Mon, 21 May 2012 14:56:08 +0000
Received: from [85.158.143.35:16990] by server-1.bemta-4.messagelabs.com id
	8C/23-00342-7875ABF4; Mon, 21 May 2012 14:56:07 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337612166!16477261!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4293 invoked from network); 21 May 2012 14:56:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 14:56:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Mon, 21 May 2012 15:56:06 +0100
Message-Id: <4FBA739A0200007800084DEE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Mon, 21 May 2012 15:55:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
In-Reply-To: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 17.05.12 at 23:20, Ben Guthro <ben@guthro.net> wrote:
> I'm attempting to update the Xen I'm using, and am having an issue with S3.
> Konrad - I know you've been down this path before - so I'm hoping you
> might have some insight, given the stack below
> 
> The linux tree also has an older version of Konrad's acpi-s3
> development branches (it was v7)
> 
> Upon resuming from S3 - Xen panics with the following stack. I'm
> guessing it has something to do with some of the pcpu work going on
> recently - but haven't been tracking this too closely, so am not sure.

I don't think that's related, the more that if anything that work
was on the Dom0 kernel side, not the hypervisor (or not
recently).

> The same kernel with Xen 4.0.x works OK.

Anything known regarding 4.1.x?

> (XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
> &cpus)' failed at sched_credit.c:477

Assuming this is reproducible, could you try to get your serial
console problems sorted out so that you can obtain a full log
(there are quite a few dropped characters here).

At least I can't tell anything from the dumped data alone (other
than the first part of the ASSERT() expression being redundant
with the second part), so I'd also like to ask that you attach (or
make accessible another way) the xen-syms binary corresponding
to the xen.gz one used, so one can locate and analyze individual
variables in the registers and on stack.

Jan

> (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
> (XEN) CPU:    1
> (XEN) RIP:    e008:[<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
> (XEN) RFLAGS: 0000000000010002   CONTEXT: hypervisor
> (XEN) rax: 0000000000000001   rbx: 0000000000000010   rcx: 0000000000000010
> (XEN) rdx: 000000ffff   rsi: 0000000000000010   rdi: 0000000000000000
> (XEN) rbp: ffff83013e38fdd8   rsp: ffff83013e38fd08   r8:  0000000000000000
> (XEN) r9:  000000000000003e   r10: ffff82c480232480   r11: 0000000000000246
> (XEN) r12: ffff82c480262820   r13: 0000000000000001   r14: ffff82c4803022e0
> (XEN) r15: ffff83014c6f0068   cr0: 000000008005003b   cr4: 00000000001026f0
> (XEN) cr3: 0000000141a05000   cr2: 0000000000000000
> (XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen stack trace from rsp=ffff83013e38fd08:
> (XEN)    0100000141a05000 ffff83013e38fd40 0000000000000297 ffff83013e38fd38
> (XEN)    ffff82c480125929 ffff830148ac2000 ffff83013e38fd78 5400000000000002
> (XEN)    0000000000000282 ffff83013e38fd68 ffff82c480125929 ffff830148ac2000
> (XEN)    ffff83013e38fd98 ffff82c48012cd57 0000000000000000 0000000000000008
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
> (XEN)    0000000000000286 ffff83014c6f0068 ffff83014c6f0068 0000000000000001
> (XEN)    ffff82c4803022e0 ffff83014c6f0068 ffff83013e38fde8 ffff82c48011abbe
> (XEN)    ffff83013e38fe58 ffff82c48012399d ffff82c4803022e0 ffff82c4803022e0
> (XEN)    ffff82c4803022e0 ffff8300aa0fd000 00000000000fd060 0000000000000246
> (XEN)    ffff82c4801280c1 ffff8300aa0fd000 ffff82c4803022e0 ffff82c4802ec5c0
> (XEN)    ffff83014c6f0068002dc2e820 ffff83013e38fe88 ffff82c480123c57
> (XEN)    fffffffffffffffe ffff830148a36000 ffff8300aa0fd000 0000000000000000
> (XEN)    ffff83013e38fef8 ffff82c4801063f5 ffff83013e38ff18 ffffffff810030d2
> (XEN)    ffff8300aa0fd000 0000000000000000 ffff83013e38ff08 ffff82c480185ff0
> (XEN)    ffffffff81ab0020 ffff8300aa0fd000 0000000000000001 000000000000
> (XEN)    0000000000000000 ffff88002dc2e820 00007cfec1c700c7 ffff82c480228f78
> (XEN)    ffffffff8100130a 0000000000000018 ffff88002dc2e820 0000000000000000
> (XEN)    0000000000000000 0000000000000001 ffff88002786dda0 ffff88002dc2bdc0
> (XEN)    0000000000000246 00000000ffffffff 0000000000000040 0000000000000000
> (XEN)    0000000000000018 ffffffff8100130a 0000000000000000 0000000000000001
> (XEN) Xen call trace:
> (XEN)    [<ffff82c48011a793>] _csched_cpu_pick+0x135/0x552
> (XEN)    [<ffff82c48011abbe>] csched_cpu_pick+0xe/0x10
> (XEN)    [<ffff82c48012399d>] vcpu_migrate+0x19f/0x346
> (XEN)    [<ffff82c480123c57>] vcpu_force_reschedule+0xa4/0xb6
> (XEN)    [<ffff82c48f5>] do_vcpu_op+0x2c9/0x452
> (XEN)    [<ffff82c480228f78>] syscall_enter+0xc8/0x122
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 1:
> (XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
> &cpus)' failed at sched_credit.c:477
> (XEN) ****************************************
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org 
> http://lists.xen.org/xen-devel 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:06:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:06:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUBl-0007lz-8O; Mon, 21 May 2012 15:06:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SWUBk-0007lu-8i
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:06:24 +0000
Received: from [193.109.254.147:54074] by server-9.bemta-14.messagelabs.com id
	ED/7A-05787-FE95ABF4; Mon, 21 May 2012 15:06:23 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337612776!10341918!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=2.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,SUBJECT_RANDOMQ,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30412 invoked from network); 21 May 2012 15:06:17 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:06:17 -0000
Received: by eaak12 with SMTP id k12so1478855eaa.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 08:06:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=dIyoRhw6eESwRcP+S74Ua0dtoLpM65C+w2dFwOocOlU=;
	b=vUnsWU54223UptwlTXYedFPqdHMshnpbQCkxntRsK9VM7tdFIv0HgVg9sCySxlJEUW
	NhSsOZqn5HT8kfQwWFHez6ZM1J8OKcaSdFq0ib5Gh5Eu7mdf77qk7DTTAmJLzSTYC0aa
	QVhHbEjkOCqjNRLbxwqi9iSQHpvpXIX/wIDg6SJsuRJ4BWukGlSoxKstWqC6tgOrRfFm
	+10mLoxoslqEbc2I7FstU47L0X2e9XeofPU9p7ZQu9aB5wCn22XpXJCIiXoZQvIa9Lbp
	NB1K/GcHuUnPRQQb7m1ruaDpS/Qw1vdO+Ff99t6YFAvqllIWQ5JweylUgrdwBpAkhnoo
	2ZWw==
Received: by 10.14.119.193 with SMTP id n41mr3713468eeh.96.1337612776416;
	Mon, 21 May 2012 08:06:16 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id a16sm91473932eeg.0.2012.05.21.08.06.13
	(version=SSLv3 cipher=OTHER); Mon, 21 May 2012 08:06:15 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 21 May 2012 16:06:08 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <JBeulich@suse.com>
Message-ID: <CBE01870.339E9%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
	while in an irq context
Thread-Index: Ac03Y0AUJ+Mb7s8cVUqJgILcMqWGeQ==
In-Reply-To: <4FBA4A48.4010004@citrix.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21/05/2012 14:59, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:

> On 21/05/12 14:50, Jan Beulich wrote:
>> Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
>> irq context when a bug condition is encountered. If this is the case,
>> ignore the call to xsm_show_irq_ssid() and the subsequent call to
>> xfree().
>> 
>> This prevents an assertion failure in xfree(), and should allow all the
>> debug information to be dumped, before failing with a BUG() because of
>> the underlying race condition we are attempting to reproduce.
>> 
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> 
>> Rather than using the non-obvious conditional around an xfree() that
>> would be passed NULL only in the inverse case (which could easily get
>> removed by a future change on the basis that calling xfree(NULL) is
>> benign), switch the order of checks in xfree() itself and only suppress
>> the call to XSM that could potentially call xmalloc().
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I'm a bit dubious about having a function that can be called in irq context
for some input values but not others. I suppose this trivial case for
xfree() is obvious enough, so I'm okay with it. If it was anything more
subtle, I would probably nack.

 -- Keir

>> --- 2012-04-23.orig/xen/arch/x86/irq.c 2012-05-14 17:43:58.000000000 +0200
>> +++ 2012-04-23/xen/arch/x86/irq.c 2012-05-21 15:38:01.000000000 +0200
>> @@ -2060,7 +2060,7 @@ static void dump_irqs(unsigned char key)
>>          if ( !irq_desc_initialized(desc) || desc->handler == &no_irq_type )
>>              continue;
>>  
>> -        ssid = xsm_show_irq_sid(irq);
>> +        ssid = in_irq() ? NULL : xsm_show_irq_sid(irq);
>>  
>>          spin_lock_irqsave(&desc->lock, flags);
>>  
>> --- 2012-04-23.orig/xen/common/xmalloc_tlsf.c 2011-10-17 08:35:00.000000000
>> +0200
>> +++ 2012-04-23/xen/common/xmalloc_tlsf.c 2012-05-21 15:38:31.000000000 +0200
>> @@ -604,11 +604,11 @@ void xfree(void *p)
>>  {
>>      struct bhdr *b;
>>  
>> -    ASSERT(!in_irq());
>> -
>>      if ( p == NULL )
>>          return;
>>  
>> +    ASSERT(!in_irq());
>> +
>>      /* Strip alignment padding. */
>>      b = (struct bhdr *)((char *) p - BHDR_OVERHEAD);
>>      if ( b->size & 1 )
>> 
>> 
>> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:06:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:06:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUBl-0007lz-8O; Mon, 21 May 2012 15:06:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SWUBk-0007lu-8i
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:06:24 +0000
Received: from [193.109.254.147:54074] by server-9.bemta-14.messagelabs.com id
	ED/7A-05787-FE95ABF4; Mon, 21 May 2012 15:06:23 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337612776!10341918!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=2.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,SUBJECT_RANDOMQ,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30412 invoked from network); 21 May 2012 15:06:17 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:06:17 -0000
Received: by eaak12 with SMTP id k12so1478855eaa.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 08:06:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=dIyoRhw6eESwRcP+S74Ua0dtoLpM65C+w2dFwOocOlU=;
	b=vUnsWU54223UptwlTXYedFPqdHMshnpbQCkxntRsK9VM7tdFIv0HgVg9sCySxlJEUW
	NhSsOZqn5HT8kfQwWFHez6ZM1J8OKcaSdFq0ib5Gh5Eu7mdf77qk7DTTAmJLzSTYC0aa
	QVhHbEjkOCqjNRLbxwqi9iSQHpvpXIX/wIDg6SJsuRJ4BWukGlSoxKstWqC6tgOrRfFm
	+10mLoxoslqEbc2I7FstU47L0X2e9XeofPU9p7ZQu9aB5wCn22XpXJCIiXoZQvIa9Lbp
	NB1K/GcHuUnPRQQb7m1ruaDpS/Qw1vdO+Ff99t6YFAvqllIWQ5JweylUgrdwBpAkhnoo
	2ZWw==
Received: by 10.14.119.193 with SMTP id n41mr3713468eeh.96.1337612776416;
	Mon, 21 May 2012 08:06:16 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id a16sm91473932eeg.0.2012.05.21.08.06.13
	(version=SSLv3 cipher=OTHER); Mon, 21 May 2012 08:06:15 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 21 May 2012 16:06:08 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <JBeulich@suse.com>
Message-ID: <CBE01870.339E9%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
	while in an irq context
Thread-Index: Ac03Y0AUJ+Mb7s8cVUqJgILcMqWGeQ==
In-Reply-To: <4FBA4A48.4010004@citrix.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21/05/2012 14:59, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:

> On 21/05/12 14:50, Jan Beulich wrote:
>> Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
>> irq context when a bug condition is encountered. If this is the case,
>> ignore the call to xsm_show_irq_ssid() and the subsequent call to
>> xfree().
>> 
>> This prevents an assertion failure in xfree(), and should allow all the
>> debug information to be dumped, before failing with a BUG() because of
>> the underlying race condition we are attempting to reproduce.
>> 
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> 
>> Rather than using the non-obvious conditional around an xfree() that
>> would be passed NULL only in the inverse case (which could easily get
>> removed by a future change on the basis that calling xfree(NULL) is
>> benign), switch the order of checks in xfree() itself and only suppress
>> the call to XSM that could potentially call xmalloc().
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I'm a bit dubious about having a function that can be called in irq context
for some input values but not others. I suppose this trivial case for
xfree() is obvious enough, so I'm okay with it. If it was anything more
subtle, I would probably nack.

 -- Keir

>> --- 2012-04-23.orig/xen/arch/x86/irq.c 2012-05-14 17:43:58.000000000 +0200
>> +++ 2012-04-23/xen/arch/x86/irq.c 2012-05-21 15:38:01.000000000 +0200
>> @@ -2060,7 +2060,7 @@ static void dump_irqs(unsigned char key)
>>          if ( !irq_desc_initialized(desc) || desc->handler == &no_irq_type )
>>              continue;
>>  
>> -        ssid = xsm_show_irq_sid(irq);
>> +        ssid = in_irq() ? NULL : xsm_show_irq_sid(irq);
>>  
>>          spin_lock_irqsave(&desc->lock, flags);
>>  
>> --- 2012-04-23.orig/xen/common/xmalloc_tlsf.c 2011-10-17 08:35:00.000000000
>> +0200
>> +++ 2012-04-23/xen/common/xmalloc_tlsf.c 2012-05-21 15:38:31.000000000 +0200
>> @@ -604,11 +604,11 @@ void xfree(void *p)
>>  {
>>      struct bhdr *b;
>>  
>> -    ASSERT(!in_irq());
>> -
>>      if ( p == NULL )
>>          return;
>>  
>> +    ASSERT(!in_irq());
>> +
>>      /* Strip alignment padding. */
>>      b = (struct bhdr *)((char *) p - BHDR_OVERHEAD);
>>      if ( b->size & 1 )
>> 
>> 
>> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:12:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:12:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUHa-0007tg-1N; Mon, 21 May 2012 15:12:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWUHZ-0007tb-1T
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:12:25 +0000
Received: from [85.158.143.99:31227] by server-1.bemta-4.messagelabs.com id
	7D/E5-00342-65B5ABF4; Mon, 21 May 2012 15:12:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337613141!25682461!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12682 invoked from network); 21 May 2012 15:12:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:12:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12583424"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:12:21 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 16:12:21 +0100
Date: Mon, 21 May 2012 16:12:05 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211607400.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony.Perard@citrix.com
Subject: [Xen-devel] [PATCH] xen: domain_pirq_to_emuirq return IRQ_UNBOUND
	by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xen: domain_pirq_to_emuirq return IRQ_UNBOUND by default

domain_pirq_to_emuirq should return IRQ_UNBOUND rather than 0 on
missing entries.
Add a default parameter to pirq_field, so that callers can set any
default return value they want; use IRQ_UNBOUND in
domain_pirq_to_emuirq.

This patch fixes a regression introduced by 23573: save/restore failing
on upstream QEMU with PV on HVM guests.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

diff -r f1bb3decd2db xen/include/asm-x86/irq.h
--- a/xen/include/asm-x86/irq.h	Fri May 18 13:50:01 2012 +0000
+++ b/xen/include/asm-x86/irq.h	Mon May 21 15:07:28 2012 +0000
@@ -173,13 +173,14 @@ void irq_set_affinity(struct irq_desc *,
 int init_domain_irq_mapping(struct domain *);
 void cleanup_domain_irq_mapping(struct domain *);
 
-#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq)
+#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq, 0)
 #define domain_irq_to_pirq(d, irq) ({                           \
     void *__ret = radix_tree_lookup(&(d)->arch.irq_pirq, irq);  \
     __ret ? radix_tree_ptr_to_int(__ret) : 0;                   \
 })
 #define PIRQ_ALLOCATED -1
-#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq, arch.hvm.emuirq)
+#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq,              \
+    arch.hvm.emuirq, IRQ_UNBOUND)
 #define domain_emuirq_to_pirq(d, emuirq) ({                             \
     void *__ret = radix_tree_lookup(&(d)->arch.hvm_domain.emuirq_pirq,  \
                                     emuirq);                            \
diff -r f1bb3decd2db xen/include/xen/irq.h
--- a/xen/include/xen/irq.h	Fri May 18 13:50:01 2012 +0000
+++ b/xen/include/xen/irq.h	Mon May 21 15:07:28 2012 +0000
@@ -133,12 +133,12 @@ struct pirq {
 /* Use this instead of pirq_info() if the structure may need allocating. */
 extern struct pirq *pirq_get_info(struct domain *, int pirq);
 
-#define pirq_field(d, p, f) ({ \
+#define pirq_field(d, p, f, def) ({ \
     const struct pirq *__pi = pirq_info(d, p); \
-    __pi ? __pi->f : 0; \
+    __pi ? __pi->f : def; \
 })
-#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn)
-#define pirq_masked(d, pirq) pirq_field(d, pirq, masked)
+#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn, 0)
+#define pirq_masked(d, pirq) pirq_field(d, pirq, masked, 0)
 
 void pirq_cleanup_check(struct pirq *, struct domain *);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:12:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:12:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUHa-0007tg-1N; Mon, 21 May 2012 15:12:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWUHZ-0007tb-1T
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:12:25 +0000
Received: from [85.158.143.99:31227] by server-1.bemta-4.messagelabs.com id
	7D/E5-00342-65B5ABF4; Mon, 21 May 2012 15:12:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337613141!25682461!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12682 invoked from network); 21 May 2012 15:12:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:12:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12583424"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:12:21 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 16:12:21 +0100
Date: Mon, 21 May 2012 16:12:05 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211607400.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony.Perard@citrix.com
Subject: [Xen-devel] [PATCH] xen: domain_pirq_to_emuirq return IRQ_UNBOUND
	by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xen: domain_pirq_to_emuirq return IRQ_UNBOUND by default

domain_pirq_to_emuirq should return IRQ_UNBOUND rather than 0 on
missing entries.
Add a default parameter to pirq_field, so that callers can set any
default return value they want; use IRQ_UNBOUND in
domain_pirq_to_emuirq.

This patch fixes a regression introduced by 23573: save/restore failing
on upstream QEMU with PV on HVM guests.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

diff -r f1bb3decd2db xen/include/asm-x86/irq.h
--- a/xen/include/asm-x86/irq.h	Fri May 18 13:50:01 2012 +0000
+++ b/xen/include/asm-x86/irq.h	Mon May 21 15:07:28 2012 +0000
@@ -173,13 +173,14 @@ void irq_set_affinity(struct irq_desc *,
 int init_domain_irq_mapping(struct domain *);
 void cleanup_domain_irq_mapping(struct domain *);
 
-#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq)
+#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq, 0)
 #define domain_irq_to_pirq(d, irq) ({                           \
     void *__ret = radix_tree_lookup(&(d)->arch.irq_pirq, irq);  \
     __ret ? radix_tree_ptr_to_int(__ret) : 0;                   \
 })
 #define PIRQ_ALLOCATED -1
-#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq, arch.hvm.emuirq)
+#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq,              \
+    arch.hvm.emuirq, IRQ_UNBOUND)
 #define domain_emuirq_to_pirq(d, emuirq) ({                             \
     void *__ret = radix_tree_lookup(&(d)->arch.hvm_domain.emuirq_pirq,  \
                                     emuirq);                            \
diff -r f1bb3decd2db xen/include/xen/irq.h
--- a/xen/include/xen/irq.h	Fri May 18 13:50:01 2012 +0000
+++ b/xen/include/xen/irq.h	Mon May 21 15:07:28 2012 +0000
@@ -133,12 +133,12 @@ struct pirq {
 /* Use this instead of pirq_info() if the structure may need allocating. */
 extern struct pirq *pirq_get_info(struct domain *, int pirq);
 
-#define pirq_field(d, p, f) ({ \
+#define pirq_field(d, p, f, def) ({ \
     const struct pirq *__pi = pirq_info(d, p); \
-    __pi ? __pi->f : 0; \
+    __pi ? __pi->f : def; \
 })
-#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn)
-#define pirq_masked(d, pirq) pirq_field(d, pirq, masked)
+#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn, 0)
+#define pirq_masked(d, pirq) pirq_field(d, pirq, masked, 0)
 
 void pirq_cleanup_check(struct pirq *, struct domain *);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlc-0000FS-NP; Mon, 21 May 2012 15:43:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlb-0000Em-72
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:27 +0000
Received: from [193.109.254.147:37311] by server-2.bemta-14.messagelabs.com id
	EF/A3-19409-E926ABF4; Mon, 21 May 2012 15:43:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337615004!10418528!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9823 invoked from network); 21 May 2012 15:43:25 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:25 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJhB018686
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:20 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhIgd008053
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhIqP016612; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id F3B6D4037D; Mon, 21 May 2012 10:18:38 -0400 (EDT)
Date: Mon, 21 May 2012 10:18:38 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Marek Marczykowski <marmarek@invisiblethingslab.com>
Message-ID: <20120521141838.GK8119@phenom.dumpdata.com>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120520115421.66AD995D@duch.mimuw.edu.pl>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 20, 2012 at 01:45:10PM +0200, Marek Marczykowski wrote:
> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>

Pls CC the network maintainer (and its list) and LKML.

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/net/xen-netfront.c |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 698b905..e5a161a 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
>  	if (!xen_domain())
>  		return -ENODEV;
>  
> -	if (xen_initial_domain())
> -		return 0;
> -
>  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
>  
>  	return xenbus_register_frontend(&netfront_driver);
> -- 
> 1.7.4.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUle-0000G1-4T; Mon, 21 May 2012 15:43:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlc-0000FD-JA
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:28 +0000
Received: from [85.158.139.83:8428] by server-7.bemta-5.messagelabs.com id
	3A/E7-12065-F926ABF4; Mon, 21 May 2012 15:43:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337615003!29538796!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18994 invoked from network); 21 May 2012 15:43:25 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 15:43:25 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJ1n018674
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:19 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhIJr019899
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhI8m017866; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9CB2B4045F; Mon, 21 May 2012 10:32:09 -0400 (EDT)
Date: Mon, 21 May 2012 10:32:09 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: eva <evammg@gmail.com>
Message-ID: <20120521143209.GQ8119@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> 
> and it's a git repository.. And yes, I haven't applied a patch in ages..
> 
> So to end this issue with my ATI card, how do I apply this patch with git?
> 
> I haven't done it before, and googling it says maybe with "git clone"
> or "git apply", but there's no luck with any.. (see attachment)
> 
> Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> Kernel 3.2.

What is the ATI problem you have? The vga patch is for VGA "text" mode
not for graphical.


> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlc-0000FS-NP; Mon, 21 May 2012 15:43:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlb-0000Em-72
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:27 +0000
Received: from [193.109.254.147:37311] by server-2.bemta-14.messagelabs.com id
	EF/A3-19409-E926ABF4; Mon, 21 May 2012 15:43:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337615004!10418528!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9823 invoked from network); 21 May 2012 15:43:25 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:25 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJhB018686
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:20 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhIgd008053
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhIqP016612; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id F3B6D4037D; Mon, 21 May 2012 10:18:38 -0400 (EDT)
Date: Mon, 21 May 2012 10:18:38 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Marek Marczykowski <marmarek@invisiblethingslab.com>
Message-ID: <20120521141838.GK8119@phenom.dumpdata.com>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120520115421.66AD995D@duch.mimuw.edu.pl>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 20, 2012 at 01:45:10PM +0200, Marek Marczykowski wrote:
> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>

Pls CC the network maintainer (and its list) and LKML.

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/net/xen-netfront.c |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 698b905..e5a161a 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
>  	if (!xen_domain())
>  		return -ENODEV;
>  
> -	if (xen_initial_domain())
> -		return 0;
> -
>  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
>  
>  	return xenbus_register_frontend(&netfront_driver);
> -- 
> 1.7.4.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUle-0000G1-4T; Mon, 21 May 2012 15:43:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlc-0000FD-JA
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:28 +0000
Received: from [85.158.139.83:8428] by server-7.bemta-5.messagelabs.com id
	3A/E7-12065-F926ABF4; Mon, 21 May 2012 15:43:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337615003!29538796!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18994 invoked from network); 21 May 2012 15:43:25 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 15:43:25 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJ1n018674
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:19 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhIJr019899
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhI8m017866; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9CB2B4045F; Mon, 21 May 2012 10:32:09 -0400 (EDT)
Date: Mon, 21 May 2012 10:32:09 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: eva <evammg@gmail.com>
Message-ID: <20120521143209.GQ8119@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> 
> and it's a git repository.. And yes, I haven't applied a patch in ages..
> 
> So to end this issue with my ATI card, how do I apply this patch with git?
> 
> I haven't done it before, and googling it says maybe with "git clone"
> or "git apply", but there's no luck with any.. (see attachment)
> 
> Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> Kernel 3.2.

What is the ATI problem you have? The vga patch is for VGA "text" mode
not for graphical.


> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlb-0000F9-SQ; Mon, 21 May 2012 15:43:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUla-0000EW-5E
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:26 +0000
Received: from [85.158.139.83:17966] by server-4.bemta-5.messagelabs.com id
	B2/9C-09525-D926ABF4; Mon, 21 May 2012 15:43:25 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337615001!25680900!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9298 invoked from network); 21 May 2012 15:43:23 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:23 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhIvS018654
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:18 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhH9Y019876
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:18 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhH0v016606; Mon, 21 May 2012 10:43:17 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8121E4037E; Mon, 21 May 2012 10:21:31 -0400 (EDT)
Date: Mon, 21 May 2012 10:21:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Wu, GabrielX" <gabrielx.wu@intel.com>
Message-ID: <20120521142131.GL8119@phenom.dumpdata.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>, "Liu,
	SongtaoX" <songtaox.liu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> Hi all,
> 
> This is the test report of xen-unstable tree. 
> There are two issues found and one issue got fixed.
> 
> Version Info:
> =================================================================
> xen-changeset:   25334:f8279258e3c9
> Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...) 
> =================================================================
> 
> New issues(2)
> ==============
> 1. long stop during the guest boot process with qcow image
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> 2. vcpu-set doesn't take effect on guest
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822

Does it work if you (in the guest) do
echo 1 > /sys/../cpu9/online ?

There is a race in the generic hotplug code.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlb-0000F9-SQ; Mon, 21 May 2012 15:43:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUla-0000EW-5E
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:26 +0000
Received: from [85.158.139.83:17966] by server-4.bemta-5.messagelabs.com id
	B2/9C-09525-D926ABF4; Mon, 21 May 2012 15:43:25 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337615001!25680900!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9298 invoked from network); 21 May 2012 15:43:23 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:23 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhIvS018654
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:18 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhH9Y019876
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:18 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhH0v016606; Mon, 21 May 2012 10:43:17 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8121E4037E; Mon, 21 May 2012 10:21:31 -0400 (EDT)
Date: Mon, 21 May 2012 10:21:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Wu, GabrielX" <gabrielx.wu@intel.com>
Message-ID: <20120521142131.GL8119@phenom.dumpdata.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>, "Liu,
	SongtaoX" <songtaox.liu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> Hi all,
> 
> This is the test report of xen-unstable tree. 
> There are two issues found and one issue got fixed.
> 
> Version Info:
> =================================================================
> xen-changeset:   25334:f8279258e3c9
> Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...) 
> =================================================================
> 
> New issues(2)
> ==============
> 1. long stop during the guest boot process with qcow image
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> 2. vcpu-set doesn't take effect on guest
>   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822

Does it work if you (in the guest) do
echo 1 > /sys/../cpu9/online ?

There is a race in the generic hotplug code.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlc-0000FH-An; Mon, 21 May 2012 15:43:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlb-0000Ef-0J
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:43:27 +0000
Received: from [85.158.139.83:18033] by server-11.bemta-5.messagelabs.com id
	23/DA-23372-E926ABF4; Mon, 21 May 2012 15:43:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337615002!28867604!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQyMDAz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1937 invoked from network); 21 May 2012 15:43:24 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:24 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJxL010338
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:20 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhJrs008328
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhIdU025978; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 55E1040464; Mon, 21 May 2012 10:50:41 -0400 (EDT)
Date: Mon, 21 May 2012 10:50:41 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Dmitry Cherkassov <dcherkassov@gmail.com>
Message-ID: <20120521145041.GC24239@phenom.dumpdata.com>
References: <87fwb0kvoa.fsf@gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <87fwb0kvoa.fsf@gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 07:11:33PM +0400, Dmitry Cherkassov wrote:
> Hi!
> Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
> (before xen dom0 support went into upstream)?

I think my oss.oracle.com/git/kwilk/xen.git might have some.

> 
> thanks!
> 
> -- 
> With best regards,
> Dmitry
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlc-0000FH-An; Mon, 21 May 2012 15:43:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlb-0000Ef-0J
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:43:27 +0000
Received: from [85.158.139.83:18033] by server-11.bemta-5.messagelabs.com id
	23/DA-23372-E926ABF4; Mon, 21 May 2012 15:43:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337615002!28867604!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQyMDAz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1937 invoked from network); 21 May 2012 15:43:24 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:24 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJxL010338
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:20 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhJrs008328
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhIdU025978; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 55E1040464; Mon, 21 May 2012 10:50:41 -0400 (EDT)
Date: Mon, 21 May 2012 10:50:41 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Dmitry Cherkassov <dcherkassov@gmail.com>
Message-ID: <20120521145041.GC24239@phenom.dumpdata.com>
References: <87fwb0kvoa.fsf@gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <87fwb0kvoa.fsf@gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 07:11:33PM +0400, Dmitry Cherkassov wrote:
> Hi!
> Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
> (before xen dom0 support went into upstream)?

I think my oss.oracle.com/git/kwilk/xen.git might have some.

> 
> thanks!
> 
> -- 
> With best regards,
> Dmitry
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlb-0000Ev-G4; Mon, 21 May 2012 15:43:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlY-0000EJ-8i
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:43:25 +0000
Received: from [193.109.254.147:42733] by server-9.bemta-14.messagelabs.com id
	FD/A1-05787-B926ABF4; Mon, 21 May 2012 15:43:23 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337615001!3579111!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3476 invoked from network); 21 May 2012 15:43:22 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:22 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJmU018673
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <xen-devel@lists.xensource.com>; Mon, 21 May 2012 15:43:19 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhIR2019891
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <xen-devel@lists.xensource.com>; Mon, 21 May 2012 15:43:18 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhIB2025969
	for <xen-devel@lists.xensource.com>; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C3D9040468; Mon, 21 May 2012 11:02:52 -0400 (EDT)
Date: Mon, 21 May 2012 11:02:52 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com
Message-ID: <20120521150252.GA24448@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] Patches for Linux v3.5.. any missing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Linus released v3.4 over the weekend and I've these
patches in my queue which I am plan to send out on Tuesday:

I think the only patch that is missing is:

"xen: mark local pages as FOREIGN in the m2p_override"..


Ben Guthro (1):
      xen: implement apic ipi interface

Dan Carpenter (1):
      hvc_xen: NULL dereference on allocation failure

Daniel De Graaf (1):
      xenbus: Add support for xenbus backend in stub domain

David Vrabel (1):
      xen/setup: update VA mapping when releasing memory during setup

Jan Beulich (1):
      xen/gnttab: add deferred freeing logic

Jana Saout (1):
      xen: Add selfballoning memory reservation tunable.

Konrad Rzeszutek Wilk (9):
      xen/p2m: Move code around to allow for better re-usage.
      xen/p2m: Allow alloc_p2m_middle to call reserve_brk depending on argument
      xen/p2m: Collapse early_alloc_p2m_middle redundant checks.
      xen/p2m: An early bootup variant of set_phys_to_machine
      xen/setup: Only print "Freeing XXX-YYY pfn range: Z pages freed" if Z > 0
      xen/setup: Populate freed MFNs from non-RAM E820 entries and gaps to E820 RAM
      xen/setup: Combine the two hypercall functions - since they are quite similar.
      xen/acpi/sleep: Enable ACPI sleep via the __acpi_os_prepare_sleep
      xen/smp: unbind irqworkX when unplugging vCPUs.

Lin Ming (1):
      xen: implement IRQ_WORK_VECTOR handler

Srivatsa Vaddagiri (1):
      debugfs: Add support to print u32 array in debugfs

Stefano Stabellini (1):
      xen: enter/exit lazy_mmu_mode around m2p_override calls

 arch/x86/include/asm/xen/events.h       |    1 +
 arch/x86/include/asm/xen/page.h         |    1 +
 arch/x86/xen/debugfs.c                  |  104 -------------------
 arch/x86/xen/debugfs.h                  |    4 -
 arch/x86/xen/enlighten.c                |   13 ++-
 arch/x86/xen/mmu.c                      |   23 ----
 arch/x86/xen/p2m.c                      |  104 +++++++++++--------
 arch/x86/xen/setup.c                    |  171 ++++++++++++++++++++++++++-----
 arch/x86/xen/smp.c                      |  112 +++++++++++++++++++-
 arch/x86/xen/smp.h                      |   12 ++
 arch/x86/xen/spinlock.c                 |   12 +-
 arch/x86/xen/xen-ops.h                  |    1 -
 drivers/tty/hvc/hvc_xen.c               |    4 +-
 drivers/xen/Makefile                    |    2 +-
 drivers/xen/acpi.c                      |   62 +++++++++++
 drivers/xen/grant-table.c               |  125 +++++++++++++++++++++--
 drivers/xen/xen-selfballoon.c           |   34 ++++++-
 drivers/xen/xenbus/xenbus_comms.c       |    6 +
 drivers/xen/xenbus/xenbus_comms.h       |    1 +
 drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++
 fs/debugfs/file.c                       |  128 +++++++++++++++++++++++
 include/linux/debugfs.h                 |   11 ++
 include/xen/acpi.h                      |   58 +++++++++++
 include/xen/grant_table.h               |    2 +
 include/xen/xenbus_dev.h                |    3 +
 25 files changed, 819 insertions(+), 226 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUlb-0000Ev-G4; Mon, 21 May 2012 15:43:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUlY-0000EJ-8i
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:43:25 +0000
Received: from [193.109.254.147:42733] by server-9.bemta-14.messagelabs.com id
	FD/A1-05787-B926ABF4; Mon, 21 May 2012 15:43:23 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337615001!3579111!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3476 invoked from network); 21 May 2012 15:43:22 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 15:43:22 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhJmU018673
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <xen-devel@lists.xensource.com>; Mon, 21 May 2012 15:43:19 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhIR2019891
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <xen-devel@lists.xensource.com>; Mon, 21 May 2012 15:43:18 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhIB2025969
	for <xen-devel@lists.xensource.com>; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:18 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C3D9040468; Mon, 21 May 2012 11:02:52 -0400 (EDT)
Date: Mon, 21 May 2012 11:02:52 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com
Message-ID: <20120521150252.GA24448@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] Patches for Linux v3.5.. any missing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Linus released v3.4 over the weekend and I've these
patches in my queue which I am plan to send out on Tuesday:

I think the only patch that is missing is:

"xen: mark local pages as FOREIGN in the m2p_override"..


Ben Guthro (1):
      xen: implement apic ipi interface

Dan Carpenter (1):
      hvc_xen: NULL dereference on allocation failure

Daniel De Graaf (1):
      xenbus: Add support for xenbus backend in stub domain

David Vrabel (1):
      xen/setup: update VA mapping when releasing memory during setup

Jan Beulich (1):
      xen/gnttab: add deferred freeing logic

Jana Saout (1):
      xen: Add selfballoning memory reservation tunable.

Konrad Rzeszutek Wilk (9):
      xen/p2m: Move code around to allow for better re-usage.
      xen/p2m: Allow alloc_p2m_middle to call reserve_brk depending on argument
      xen/p2m: Collapse early_alloc_p2m_middle redundant checks.
      xen/p2m: An early bootup variant of set_phys_to_machine
      xen/setup: Only print "Freeing XXX-YYY pfn range: Z pages freed" if Z > 0
      xen/setup: Populate freed MFNs from non-RAM E820 entries and gaps to E820 RAM
      xen/setup: Combine the two hypercall functions - since they are quite similar.
      xen/acpi/sleep: Enable ACPI sleep via the __acpi_os_prepare_sleep
      xen/smp: unbind irqworkX when unplugging vCPUs.

Lin Ming (1):
      xen: implement IRQ_WORK_VECTOR handler

Srivatsa Vaddagiri (1):
      debugfs: Add support to print u32 array in debugfs

Stefano Stabellini (1):
      xen: enter/exit lazy_mmu_mode around m2p_override calls

 arch/x86/include/asm/xen/events.h       |    1 +
 arch/x86/include/asm/xen/page.h         |    1 +
 arch/x86/xen/debugfs.c                  |  104 -------------------
 arch/x86/xen/debugfs.h                  |    4 -
 arch/x86/xen/enlighten.c                |   13 ++-
 arch/x86/xen/mmu.c                      |   23 ----
 arch/x86/xen/p2m.c                      |  104 +++++++++++--------
 arch/x86/xen/setup.c                    |  171 ++++++++++++++++++++++++++-----
 arch/x86/xen/smp.c                      |  112 +++++++++++++++++++-
 arch/x86/xen/smp.h                      |   12 ++
 arch/x86/xen/spinlock.c                 |   12 +-
 arch/x86/xen/xen-ops.h                  |    1 -
 drivers/tty/hvc/hvc_xen.c               |    4 +-
 drivers/xen/Makefile                    |    2 +-
 drivers/xen/acpi.c                      |   62 +++++++++++
 drivers/xen/grant-table.c               |  125 +++++++++++++++++++++--
 drivers/xen/xen-selfballoon.c           |   34 ++++++-
 drivers/xen/xenbus/xenbus_comms.c       |    6 +
 drivers/xen/xenbus/xenbus_comms.h       |    1 +
 drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++
 fs/debugfs/file.c                       |  128 +++++++++++++++++++++++
 include/linux/debugfs.h                 |   11 ++
 include/xen/acpi.h                      |   58 +++++++++++
 include/xen/grant_table.h               |    2 +
 include/xen/xenbus_dev.h                |    3 +
 25 files changed, 819 insertions(+), 226 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUle-0000GD-HI; Mon, 21 May 2012 15:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUld-0000FK-0h
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:43:29 +0000
Received: from [85.158.143.99:45756] by server-1.bemta-4.messagelabs.com id
	B3/33-00342-0A26ABF4; Mon, 21 May 2012 15:43:28 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337615006!22511537!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14606 invoked from network); 21 May 2012 15:43:27 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 15:43:27 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhKhm018696
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:21 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhJmB008075
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhImO016624; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:19 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0A2794037C; Mon, 21 May 2012 10:13:25 -0400 (EDT)
Date: Mon, 21 May 2012 10:13:25 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120521141324.GJ8119@phenom.dumpdata.com>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
	<1336987293.31817.41.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336987293.31817.41.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 10:21:33AM +0100, Ian Campbell wrote:
> > +
> > +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> > +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> > +{
> > +    libxl_ctx *ctx = libxl__gc_owner(gc);
> > +    FILE *f;
> > +    int rc = 0;
> > +    unsigned dom, bus, dev, func;
> > +
> > +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> > +
> > +    if (f == NULL) {
> > +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> > +                         SYSFS_PCIBACK_DRIVER"/slots");
> > +        return ERROR_FAIL;
> > +    }
> > +
> > +    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {

And the last one should be %d.

> 
> Shouldn't this 3 be 4 now that you include dom?
> 
> Also ISTR some change to the precise formatting using by the kernel for
> BDFs recently (A . became a : or vice versa?). CCing Konrad for input in
> case it impacts this too.
> 
> The rest all looked fine.
> 
> > +        if(dom == pcidev->domain
> > +           && bus == pcidev->bus
> > +           && dev == pcidev->dev
> > +           && func == pcidev->func) {
> > +            rc = 1;
> > +            goto out;
> > +        }
> > +    }
> > +out:
> > +    fclose(f);
> > +    return rc;
> > +}
> > +

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:43:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:43:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUle-0000GD-HI; Mon, 21 May 2012 15:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWUld-0000FK-0h
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:43:29 +0000
Received: from [85.158.143.99:45756] by server-1.bemta-4.messagelabs.com id
	B3/33-00342-0A26ABF4; Mon, 21 May 2012 15:43:28 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337615006!22511537!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14606 invoked from network); 21 May 2012 15:43:27 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 15:43:27 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LFhKhm018696
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 15:43:21 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LFhJmB008075
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 15:43:19 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LFhImO016624; Mon, 21 May 2012 10:43:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 08:43:19 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0A2794037C; Mon, 21 May 2012 10:13:25 -0400 (EDT)
Date: Mon, 21 May 2012 10:13:25 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120521141324.GJ8119@phenom.dumpdata.com>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
	<1336987293.31817.41.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336987293.31817.41.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 10:21:33AM +0100, Ian Campbell wrote:
> > +
> > +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> > +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> > +{
> > +    libxl_ctx *ctx = libxl__gc_owner(gc);
> > +    FILE *f;
> > +    int rc = 0;
> > +    unsigned dom, bus, dev, func;
> > +
> > +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> > +
> > +    if (f == NULL) {
> > +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> > +                         SYSFS_PCIBACK_DRIVER"/slots");
> > +        return ERROR_FAIL;
> > +    }
> > +
> > +    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {

And the last one should be %d.

> 
> Shouldn't this 3 be 4 now that you include dom?
> 
> Also ISTR some change to the precise formatting using by the kernel for
> BDFs recently (A . became a : or vice versa?). CCing Konrad for input in
> case it impacts this too.
> 
> The rest all looked fine.
> 
> > +        if(dom == pcidev->domain
> > +           && bus == pcidev->bus
> > +           && dev == pcidev->dev
> > +           && func == pcidev->func) {
> > +            rc = 1;
> > +            goto out;
> > +        }
> > +    }
> > +out:
> > +    fclose(f);
> > +    return rc;
> > +}
> > +

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:44:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUm4-0000Rx-VK; Mon, 21 May 2012 15:43:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWUm3-0000Qu-Mq
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:56 +0000
Received: from [85.158.139.83:22182] by server-7.bemta-5.messagelabs.com id
	B9/A8-12065-AB26ABF4; Mon, 21 May 2012 15:43:54 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337615031!29472163!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24207 invoked from network); 21 May 2012 15:43:53 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-15.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 15:43:53 -0000
Received: from mail140-ch1-R.bigfish.com (10.43.68.225) by
	CH1EHSOBE017.bigfish.com (10.43.70.67) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 15:43:37 +0000
Received: from mail140-ch1 (localhost [127.0.0.1])	by
	mail140-ch1-R.bigfish.com (Postfix) with ESMTP id 6B78B4A03C9;
	Mon, 21 May 2012 15:43:37 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail140-ch1 (localhost.localdomain [127.0.0.1]) by mail140-ch1
	(MessageSwitch) id 1337615015722127_25054;
	Mon, 21 May 2012 15:43:35 +0000 (UTC)
Received: from CH1EHSMHS010.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.233])	by mail140-ch1.bigfish.com (Postfix) with ESMTP id
	AABF7C00B6;	Mon, 21 May 2012 15:43:35 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS010.bigfish.com (10.43.70.10) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 15:43:34 +0000
X-WSS-ID: 0M4DQCW-02-HFX-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 231E2C8095;	Mon, 21 May 2012 10:43:44 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 21 May 2012 10:43:49 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Mon, 21 May 2012 10:43:44 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Mon, 21 May 2012
	11:43:19 -0400
Message-ID: <4FBA62AE.2070207@amd.com>
Date: Mon, 21 May 2012 17:43:42 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337608191.24660.138.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 15:49, Ian Campbell wrote:

>>> It seems that we have a non-logging failure path in there somewhere. I'm
>>> afraid that the easieist way to fix this is probably just to dive into
>>> libxl__domain_build and add prints on the various error cases of sub
>>> functions, then recurse as you identify which one is failing etc..
>>
>> I did that:
>>
>> Parsing config from /root/hvm-guest/netbsd_64b.conf
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>> libxl_sched_credit_domain_set failed -6
>> libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
>> failed -6
>> libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
>> failed: -6
>> libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
>> libxl: error: libxl.c:1162:libxl_domain_destroy:
>> libxl__destroy_device_model failed for 6
>> xc: debug: hypercall buffer: total allocations:1264 total releases:1264
>> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
>> xc: debug: hypercall buffer: cache current size:2
>> xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
>> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
>> xs_daemon_close
>>
>>
>> So it is indeed that ERROR_INVAL from that 'benign' error
> 
> In my version of libxl libxl__build_post doesn't even look at the return
> value of libxl__sched_set_params.
>     ....
>     libxl__sched_set_params (gc, domid, &(info->sched_params));
>     ....


I reverted my local change and retried. See below.

 
> the only other exit path from that function is:
>     dom_path = libxl__xs_get_dompath(gc, domid);
>     if (!dom_path) {
>         return ERROR_FAIL;
>     }
> which is consistent with the original errors you had (but if ERROR_FAIL,
> not ERROR_INVAL). This doesn't really help me figure out what is going
> on though :-/




libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_dom.c:74:libxl__sched_set_params:
libxl_sched_credit_domain_set failed -6
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hdb spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: debug: libxl_dm.c:1008:libxl__spawn_local_dm: Spawning
device-model /usr/local.25371.netbsd/libexec/qemu-dm with arguments:
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
/usr/local.25371.netbsd/libexec/qemu-dm
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -d
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   7
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -domain-name
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   HVM64-NetBSD
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vnc
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0.0.0.0:0
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vncunused
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -serial
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   pty
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -videoram
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   8
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -boot
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   cd
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -acpi
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpus
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   4
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpu_avail
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0xf
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
nic,vlan=0,macaddr=00:16:3e:00:ce:01,model=e1000
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
tap,vlan=0,ifname=vif7.0-emu,bridge=bridge0,script=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup,downscript=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -M
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   xenfv
libxl: error: libxl_event.c:468:libxl__ev_xswatch_register: create watch
for path /local/domain/0/device-model/7/state: Bad file descriptor
libxl: error: libxl_dm.c:1072:device_model_spawn_outcome: domain 7
device model: spawn failed (rc=-3)
assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
function "libxl__ao_complete_check_progress_reports"
Abort (core dumped)

(gdb) bt
#0  0x00007f7ff65059aa in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007f7ff6505612 in abort () from /usr/lib/libc.so.12
#2  0x00007f7ff65052dd in __assert13 () from /usr/lib/libc.so.12
#3  0x00007f7ff742d114 in libxl__ao_complete_check_progress_reports (
    egc=0x7f7fffffd140, ao=0x7f7ff7b210e0) at libxl_event.c:1388
#4  0x00007f7ff742d2ec in egc_run_callbacks (egc=0x7f7fffffd140)
    at libxl_event.c:971
#5  libxl__egc_cleanup (egc=0x7f7fffffd140) at libxl_event.c:991
#6  0x00007f7ff741890f in do_domain_create (ctx=0x7f7ff7b210b8,
    d_config=<optimized out>, domid=<optimized out>,
restore_fd=<optimized out>,
    ao_how=<optimized out>, aop_console_how=0x7f7fffffffff) at
libxl_create.c:905
#7  0x00007f7ff741893e in libxl_domain_create_new (ctx=<optimized out>,
    d_config=<optimized out>, domid=<optimized out>, ao_how=<optimized
out>,
    aop_console_how=<optimized out>) at libxl_create.c:926
#8  0x000000000040c4d9 in create_domain (dom_info=0x7f7fffffd630)
    at xl_cmdimpl.c:1760
#9  0x0000000000410161 in main_create (argc=3, argv=<optimized out>)
    at xl_cmdimpl.c:3730
#10 0x0000000000406d86 in main (argc=3, argv=0x7f7fffffdba0) at xl.c:208

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:44:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUm4-0000Rx-VK; Mon, 21 May 2012 15:43:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWUm3-0000Qu-Mq
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:43:56 +0000
Received: from [85.158.139.83:22182] by server-7.bemta-5.messagelabs.com id
	B9/A8-12065-AB26ABF4; Mon, 21 May 2012 15:43:54 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337615031!29472163!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24207 invoked from network); 21 May 2012 15:43:53 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-15.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 15:43:53 -0000
Received: from mail140-ch1-R.bigfish.com (10.43.68.225) by
	CH1EHSOBE017.bigfish.com (10.43.70.67) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 15:43:37 +0000
Received: from mail140-ch1 (localhost [127.0.0.1])	by
	mail140-ch1-R.bigfish.com (Postfix) with ESMTP id 6B78B4A03C9;
	Mon, 21 May 2012 15:43:37 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail140-ch1 (localhost.localdomain [127.0.0.1]) by mail140-ch1
	(MessageSwitch) id 1337615015722127_25054;
	Mon, 21 May 2012 15:43:35 +0000 (UTC)
Received: from CH1EHSMHS010.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.233])	by mail140-ch1.bigfish.com (Postfix) with ESMTP id
	AABF7C00B6;	Mon, 21 May 2012 15:43:35 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS010.bigfish.com (10.43.70.10) with Microsoft SMTP Server id
	14.1.225.23; Mon, 21 May 2012 15:43:34 +0000
X-WSS-ID: 0M4DQCW-02-HFX-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 231E2C8095;	Mon, 21 May 2012 10:43:44 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Mon, 21 May 2012 10:43:49 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Mon, 21 May 2012 10:43:44 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Mon, 21 May 2012
	11:43:19 -0400
Message-ID: <4FBA62AE.2070207@amd.com>
Date: Mon, 21 May 2012 17:43:42 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337608191.24660.138.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 15:49, Ian Campbell wrote:

>>> It seems that we have a non-logging failure path in there somewhere. I'm
>>> afraid that the easieist way to fix this is probably just to dive into
>>> libxl__domain_build and add prints on the various error cases of sub
>>> functions, then recurse as you identify which one is failing etc..
>>
>> I did that:
>>
>> Parsing config from /root/hvm-guest/netbsd_64b.conf
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>> libxl_sched_credit_domain_set failed -6
>> libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
>> failed -6
>> libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
>> failed: -6
>> libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
>> libxl: error: libxl.c:1162:libxl_domain_destroy:
>> libxl__destroy_device_model failed for 6
>> xc: debug: hypercall buffer: total allocations:1264 total releases:1264
>> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
>> xc: debug: hypercall buffer: cache current size:2
>> xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
>> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
>> xs_daemon_close
>>
>>
>> So it is indeed that ERROR_INVAL from that 'benign' error
> 
> In my version of libxl libxl__build_post doesn't even look at the return
> value of libxl__sched_set_params.
>     ....
>     libxl__sched_set_params (gc, domid, &(info->sched_params));
>     ....


I reverted my local change and retried. See below.

 
> the only other exit path from that function is:
>     dom_path = libxl__xs_get_dompath(gc, domid);
>     if (!dom_path) {
>         return ERROR_FAIL;
>     }
> which is consistent with the original errors you had (but if ERROR_FAIL,
> not ERROR_INVAL). This doesn't really help me figure out what is going
> on though :-/




libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_dom.c:74:libxl__sched_set_params:
libxl_sched_credit_domain_set failed -6
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hdb spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: debug: libxl_dm.c:1008:libxl__spawn_local_dm: Spawning
device-model /usr/local.25371.netbsd/libexec/qemu-dm with arguments:
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
/usr/local.25371.netbsd/libexec/qemu-dm
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -d
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   7
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -domain-name
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   HVM64-NetBSD
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vnc
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0.0.0.0:0
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vncunused
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -serial
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   pty
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -videoram
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   8
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -boot
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   cd
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -acpi
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpus
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   4
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpu_avail
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0xf
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
nic,vlan=0,macaddr=00:16:3e:00:ce:01,model=e1000
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
tap,vlan=0,ifname=vif7.0-emu,bridge=bridge0,script=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup,downscript=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -M
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   xenfv
libxl: error: libxl_event.c:468:libxl__ev_xswatch_register: create watch
for path /local/domain/0/device-model/7/state: Bad file descriptor
libxl: error: libxl_dm.c:1072:device_model_spawn_outcome: domain 7
device model: spawn failed (rc=-3)
assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
function "libxl__ao_complete_check_progress_reports"
Abort (core dumped)

(gdb) bt
#0  0x00007f7ff65059aa in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007f7ff6505612 in abort () from /usr/lib/libc.so.12
#2  0x00007f7ff65052dd in __assert13 () from /usr/lib/libc.so.12
#3  0x00007f7ff742d114 in libxl__ao_complete_check_progress_reports (
    egc=0x7f7fffffd140, ao=0x7f7ff7b210e0) at libxl_event.c:1388
#4  0x00007f7ff742d2ec in egc_run_callbacks (egc=0x7f7fffffd140)
    at libxl_event.c:971
#5  libxl__egc_cleanup (egc=0x7f7fffffd140) at libxl_event.c:991
#6  0x00007f7ff741890f in do_domain_create (ctx=0x7f7ff7b210b8,
    d_config=<optimized out>, domid=<optimized out>,
restore_fd=<optimized out>,
    ao_how=<optimized out>, aop_console_how=0x7f7fffffffff) at
libxl_create.c:905
#7  0x00007f7ff741893e in libxl_domain_create_new (ctx=<optimized out>,
    d_config=<optimized out>, domid=<optimized out>, ao_how=<optimized
out>,
    aop_console_how=<optimized out>) at libxl_create.c:926
#8  0x000000000040c4d9 in create_domain (dom_info=0x7f7fffffd630)
    at xl_cmdimpl.c:1760
#9  0x0000000000410161 in main_create (argc=3, argv=<optimized out>)
    at xl_cmdimpl.c:3730
#10 0x0000000000406d86 in main (argc=3, argv=0x7f7fffffdba0) at xl.c:208

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:54:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUwY-00021Q-AC; Mon, 21 May 2012 15:54:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWUwX-00021A-54
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:54:45 +0000
Received: from [193.109.254.147:59976] by server-1.bemta-14.messagelabs.com id
	3D/DC-29372-4456ABF4; Mon, 21 May 2012 15:54:44 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337615682!4734234!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13468 invoked from network); 21 May 2012 15:54:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:54:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195812786"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:54:11 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 11:54:11 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWUvz-0008GY-3b; Mon, 21 May 2012 16:54:11 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 16:54:10 +0100
Message-ID: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
MIME-Version: 1.0
Cc: konrad.wilk@oracle.com, linux-kernel@vger.kernel.org,
	stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PV on HVM guests map GSIs into event channels; at restore time the
event channels are resumed by restore_pirqs.
Device drivers might try to register the same GSI again through ACPI at
restore time, but the GSI has already been mapped and bound by
restore_pirqs.
This patch detects these situations and avoid mapping the same GSI
multiple times.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 arch/x86/pci/xen.c   |    4 ++++
 drivers/xen/events.c |    5 +++--
 include/xen/events.h |    3 +++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 7415aa9..56ab749 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -64,6 +64,10 @@ static int xen_register_pirq(u32 gsi, int gsi_override, int triggering,
 	int shareable = 0;
 	char *name;
 
+	irq = xen_irq_from_gsi(gsi);
+	if (irq > 0)
+		return irq;
+
 	if (set_pirq)
 		pirq = gsi;
 
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 0a8a17c..6908e4c 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -611,7 +611,7 @@ static void disable_pirq(struct irq_data *data)
 	disable_dynirq(data);
 }
 
-static int find_irq_by_gsi(unsigned gsi)
+int xen_irq_from_gsi(unsigned gsi)
 {
 	struct irq_info *info;
 
@@ -625,6 +625,7 @@ static int find_irq_by_gsi(unsigned gsi)
 
 	return -1;
 }
+EXPORT_SYMBOL_GPL(xen_irq_from_gsi);
 
 /*
  * Do not make any assumptions regarding the relationship between the
@@ -644,7 +645,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi,
 
 	mutex_lock(&irq_mapping_update_lock);
 
-	irq = find_irq_by_gsi(gsi);
+	irq = xen_irq_from_gsi(gsi);
 	if (irq != -1) {
 		printk(KERN_INFO "xen_map_pirq_gsi: returning irq %d for gsi %u\n",
 		       irq, gsi);
diff --git a/include/xen/events.h b/include/xen/events.h
index 0f77370..b332bd7 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -103,6 +103,9 @@ int xen_irq_from_pirq(unsigned pirq);
 /* Return the pirq allocated to the irq. */
 int xen_pirq_from_irq(unsigned irq);
 
+/* Return the irq allocated to the gsi */
+int xen_irq_from_gsi (unsigned gsi);
+
 /* Determine whether to ignore this IRQ if it is passed to a guest. */
 int xen_test_irq_shared(int irq);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:54:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUwY-00021Q-AC; Mon, 21 May 2012 15:54:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWUwX-00021A-54
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:54:45 +0000
Received: from [193.109.254.147:59976] by server-1.bemta-14.messagelabs.com id
	3D/DC-29372-4456ABF4; Mon, 21 May 2012 15:54:44 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337615682!4734234!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13468 invoked from network); 21 May 2012 15:54:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:54:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195812786"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 11:54:11 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 11:54:11 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWUvz-0008GY-3b; Mon, 21 May 2012 16:54:11 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 16:54:10 +0100
Message-ID: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
MIME-Version: 1.0
Cc: konrad.wilk@oracle.com, linux-kernel@vger.kernel.org,
	stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PV on HVM guests map GSIs into event channels; at restore time the
event channels are resumed by restore_pirqs.
Device drivers might try to register the same GSI again through ACPI at
restore time, but the GSI has already been mapped and bound by
restore_pirqs.
This patch detects these situations and avoid mapping the same GSI
multiple times.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 arch/x86/pci/xen.c   |    4 ++++
 drivers/xen/events.c |    5 +++--
 include/xen/events.h |    3 +++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 7415aa9..56ab749 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -64,6 +64,10 @@ static int xen_register_pirq(u32 gsi, int gsi_override, int triggering,
 	int shareable = 0;
 	char *name;
 
+	irq = xen_irq_from_gsi(gsi);
+	if (irq > 0)
+		return irq;
+
 	if (set_pirq)
 		pirq = gsi;
 
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 0a8a17c..6908e4c 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -611,7 +611,7 @@ static void disable_pirq(struct irq_data *data)
 	disable_dynirq(data);
 }
 
-static int find_irq_by_gsi(unsigned gsi)
+int xen_irq_from_gsi(unsigned gsi)
 {
 	struct irq_info *info;
 
@@ -625,6 +625,7 @@ static int find_irq_by_gsi(unsigned gsi)
 
 	return -1;
 }
+EXPORT_SYMBOL_GPL(xen_irq_from_gsi);
 
 /*
  * Do not make any assumptions regarding the relationship between the
@@ -644,7 +645,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi,
 
 	mutex_lock(&irq_mapping_update_lock);
 
-	irq = find_irq_by_gsi(gsi);
+	irq = xen_irq_from_gsi(gsi);
 	if (irq != -1) {
 		printk(KERN_INFO "xen_map_pirq_gsi: returning irq %d for gsi %u\n",
 		       irq, gsi);
diff --git a/include/xen/events.h b/include/xen/events.h
index 0f77370..b332bd7 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -103,6 +103,9 @@ int xen_irq_from_pirq(unsigned pirq);
 /* Return the pirq allocated to the irq. */
 int xen_pirq_from_irq(unsigned irq);
 
+/* Return the irq allocated to the gsi */
+int xen_irq_from_gsi (unsigned gsi);
+
 /* Determine whether to ignore this IRQ if it is passed to a guest. */
 int xen_test_irq_shared(int irq);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:57:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUz2-0002Gd-Sb; Mon, 21 May 2012 15:57:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWUz1-0002GT-GR
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:57:19 +0000
Received: from [193.109.254.147:18965] by server-7.bemta-14.messagelabs.com id
	82/D6-01627-ED56ABF4; Mon, 21 May 2012 15:57:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337615837!10481588!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31575 invoked from network); 21 May 2012 15:57:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:57:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12584841"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:57:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 16:57:17 +0100
Message-ID: <1337615835.24660.169.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph_Egger@gmx.de>
Date: Mon, 21 May 2012 16:57:15 +0100
In-Reply-To: <4FBA62F7.9080308@gmx.de>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 16:44 +0100, Christoph Egger wrote:

> I reverted my local change and retried. See below.
> 
>  > the only other exit path from that function is:
> 
> >     dom_path = libxl__xs_get_dompath(gc, domid);
> >     if (!dom_path) {
> >         return ERROR_FAIL;
> >     }
> > which is consistent with the original errors you had (but if ERROR_FAIL,
> > not ERROR_INVAL). This doesn't really help me figure out what is going
> > on though :-/
> 
> 
> 
> 
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=unknown
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=hda, using backend phy
> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
> libxl_sched_credit_domain_set failed -6
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=phy
> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> dompath for 7: Bad file descriptor

This is back to the original issue, I think the last couple of mails
have been something of a tangent since you weren't getting as far as
this failure.

I'm not really sure what to suggest here -- something is either closing
the fd or scribbling over the memory which contains it.

I suppose you could sprinkle calls to libxl__xs_get_dompath() around
between libxl__sched_set_params and libxl__device_disk_set_backend and
see where it starts failing -- that's going to be pretty tedious though.

If you've got the gdb-fu you might be able to set a write watch on the
location in the ctx with the fd -- could tell you something perhaps.

Otherwise perhaps bisection is the best bet?

> for path /local/domain/0/device-model/7/state: Bad file descriptor
> libxl: error: libxl_dm.c:1072:device_model_spawn_outcome: domain 7
> device model: spawn failed (rc=-3)
> assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
> function "libxl__ao_complete_check_progress_reports"
> Abort (core dumped)
> 
> (gdb) bt

Can you tell if the xs fd is still actually open at this point? On Linux
I would look in /proc/<ipd>/fds for the socket.

Also can you print out the xsh from the ctx (perhaps that's easier from
e.g. frame #7 below?)

Also the ao failure smells like bad error handling resulting from the
underlying issue, which might be worth someone investigating separately.

> #0  0x00007f7ff65059aa in _lwp_kill () from /usr/lib/libc.so.12
> #1  0x00007f7ff6505612 in abort () from /usr/lib/libc.so.12
> #2  0x00007f7ff65052dd in __assert13 () from /usr/lib/libc.so.12
> #3  0x00007f7ff742d114 in libxl__ao_complete_check_progress_reports (
>     egc=0x7f7fffffd140, ao=0x7f7ff7b210e0) at libxl_event.c:1388
> #4  0x00007f7ff742d2ec in egc_run_callbacks (egc=0x7f7fffffd140)
>     at libxl_event.c:971
> #5  libxl__egc_cleanup (egc=0x7f7fffffd140) at libxl_event.c:991
> #6  0x00007f7ff741890f in do_domain_create (ctx=0x7f7ff7b210b8,
>     d_config=<optimized out>, domid=<optimized out>,
> restore_fd=<optimized out>,
>     ao_how=<optimized out>, aop_console_how=0x7f7fffffffff) at
> libxl_create.c:905
> #7  0x00007f7ff741893e in libxl_domain_create_new (ctx=<optimized out>,
>     d_config=<optimized out>, domid=<optimized out>, ao_how=<optimized
> out>,
>     aop_console_how=<optimized out>) at libxl_create.c:926
> #8  0x000000000040c4d9 in create_domain (dom_info=0x7f7fffffd630)
>     at xl_cmdimpl.c:1760
> #9  0x0000000000410161 in main_create (argc=3, argv=<optimized out>)
>     at xl_cmdimpl.c:3730
> #10 0x0000000000406d86 in main (argc=3, argv=0x7f7fffffdba0) at xl.c:208
> 
> Christoph
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:57:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUz2-0002Gd-Sb; Mon, 21 May 2012 15:57:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWUz1-0002GT-GR
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:57:19 +0000
Received: from [193.109.254.147:18965] by server-7.bemta-14.messagelabs.com id
	82/D6-01627-ED56ABF4; Mon, 21 May 2012 15:57:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337615837!10481588!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31575 invoked from network); 21 May 2012 15:57:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:57:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12584841"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:57:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 16:57:17 +0100
Message-ID: <1337615835.24660.169.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph_Egger@gmx.de>
Date: Mon, 21 May 2012 16:57:15 +0100
In-Reply-To: <4FBA62F7.9080308@gmx.de>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 16:44 +0100, Christoph Egger wrote:

> I reverted my local change and retried. See below.
> 
>  > the only other exit path from that function is:
> 
> >     dom_path = libxl__xs_get_dompath(gc, domid);
> >     if (!dom_path) {
> >         return ERROR_FAIL;
> >     }
> > which is consistent with the original errors you had (but if ERROR_FAIL,
> > not ERROR_INVAL). This doesn't really help me figure out what is going
> > on though :-/
> 
> 
> 
> 
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=unknown
> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> vdev=hda, using backend phy
> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>   Loader:        0000000000100000->000000000019bd04
>   TOTAL:         0000000000000000->00000000ff800000
>   ENTRY ADDRESS: 0000000000100000
> xc: info: PHYSICAL MEMORY ALLOCATION:
>   4KB PAGES: 0x0000000000000200
>   2MB PAGES: 0x00000000000003fb
>   1GB PAGES: 0x0000000000000002
> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
> of range, valid values are within range from 1 to 65535
> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
> libxl_sched_credit_domain_set failed -6
> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> vdev=hda spec.backend=phy
> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> dompath for 7: Bad file descriptor

This is back to the original issue, I think the last couple of mails
have been something of a tangent since you weren't getting as far as
this failure.

I'm not really sure what to suggest here -- something is either closing
the fd or scribbling over the memory which contains it.

I suppose you could sprinkle calls to libxl__xs_get_dompath() around
between libxl__sched_set_params and libxl__device_disk_set_backend and
see where it starts failing -- that's going to be pretty tedious though.

If you've got the gdb-fu you might be able to set a write watch on the
location in the ctx with the fd -- could tell you something perhaps.

Otherwise perhaps bisection is the best bet?

> for path /local/domain/0/device-model/7/state: Bad file descriptor
> libxl: error: libxl_dm.c:1072:device_model_spawn_outcome: domain 7
> device model: spawn failed (rc=-3)
> assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
> function "libxl__ao_complete_check_progress_reports"
> Abort (core dumped)
> 
> (gdb) bt

Can you tell if the xs fd is still actually open at this point? On Linux
I would look in /proc/<ipd>/fds for the socket.

Also can you print out the xsh from the ctx (perhaps that's easier from
e.g. frame #7 below?)

Also the ao failure smells like bad error handling resulting from the
underlying issue, which might be worth someone investigating separately.

> #0  0x00007f7ff65059aa in _lwp_kill () from /usr/lib/libc.so.12
> #1  0x00007f7ff6505612 in abort () from /usr/lib/libc.so.12
> #2  0x00007f7ff65052dd in __assert13 () from /usr/lib/libc.so.12
> #3  0x00007f7ff742d114 in libxl__ao_complete_check_progress_reports (
>     egc=0x7f7fffffd140, ao=0x7f7ff7b210e0) at libxl_event.c:1388
> #4  0x00007f7ff742d2ec in egc_run_callbacks (egc=0x7f7fffffd140)
>     at libxl_event.c:971
> #5  libxl__egc_cleanup (egc=0x7f7fffffd140) at libxl_event.c:991
> #6  0x00007f7ff741890f in do_domain_create (ctx=0x7f7ff7b210b8,
>     d_config=<optimized out>, domid=<optimized out>,
> restore_fd=<optimized out>,
>     ao_how=<optimized out>, aop_console_how=0x7f7fffffffff) at
> libxl_create.c:905
> #7  0x00007f7ff741893e in libxl_domain_create_new (ctx=<optimized out>,
>     d_config=<optimized out>, domid=<optimized out>, ao_how=<optimized
> out>,
>     aop_console_how=<optimized out>) at libxl_create.c:926
> #8  0x000000000040c4d9 in create_domain (dom_info=0x7f7fffffd630)
>     at xl_cmdimpl.c:1760
> #9  0x0000000000410161 in main_create (argc=3, argv=<optimized out>)
>     at xl_cmdimpl.c:3730
> #10 0x0000000000406d86 in main (argc=3, argv=0x7f7fffffdba0) at xl.c:208
> 
> Christoph
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:58:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:58:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUzo-0002MC-AI; Mon, 21 May 2012 15:58:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWUzm-0002Lr-72
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:58:06 +0000
Received: from [85.158.143.99:27755] by server-2.bemta-4.messagelabs.com id
	AA/23-12211-D066ABF4; Mon, 21 May 2012 15:58:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337615884!23747428!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8347 invoked from network); 21 May 2012 15:58:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:58:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12584861"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:58:00 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 16:58:00 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWUzf-0008SK-TA;
	Mon, 21 May 2012 15:57:59 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWUzf-0002yB-Di;
	Mon, 21 May 2012 16:57:59 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12947-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 16:57:59 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12947: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12947 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12947/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail like 12923
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12945

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  238900a4ed22
baseline version:
 xen                  592d15bd4d5e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=238900a4ed22
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 238900a4ed22
+ branch=xen-unstable
+ revision=238900a4ed22
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 238900a4ed22 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 9 changes to 9 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:58:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:58:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWUzo-0002MC-AI; Mon, 21 May 2012 15:58:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWUzm-0002Lr-72
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 15:58:06 +0000
Received: from [85.158.143.99:27755] by server-2.bemta-4.messagelabs.com id
	AA/23-12211-D066ABF4; Mon, 21 May 2012 15:58:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337615884!23747428!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8347 invoked from network); 21 May 2012 15:58:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:58:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12584861"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:58:00 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 16:58:00 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWUzf-0008SK-TA;
	Mon, 21 May 2012 15:57:59 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWUzf-0002yB-Di;
	Mon, 21 May 2012 16:57:59 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12947-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 16:57:59 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12947: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12947 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12947/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install           fail like 12923
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12945

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  238900a4ed22
baseline version:
 xen                  592d15bd4d5e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=238900a4ed22
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 238900a4ed22
+ branch=xen-unstable
+ revision=238900a4ed22
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 238900a4ed22 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 9 changes to 9 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:59:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWV0d-0002TL-Op; Mon, 21 May 2012 15:58:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWV0d-0002TA-5D
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:58:59 +0000
Received: from [193.109.254.147:54951] by server-6.bemta-14.messagelabs.com id
	ED/C8-04960-2466ABF4; Mon, 21 May 2012 15:58:58 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337615935!10353005!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5639 invoked from network); 21 May 2012 15:58:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:58:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12584884"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:58:55 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 16:58:55 +0100
Date: Mon, 21 May 2012 16:58:39 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Marek Marczykowski <marmarek@invisiblethingslab.com>
In-Reply-To: <20120520115421.66AD995D@duch.mimuw.edu.pl>
Message-ID: <alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 20 May 2012, Marek Marczykowski wrote:
> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> ---
>  drivers/net/xen-netfront.c |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 698b905..e5a161a 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
>  	if (!xen_domain())
>  		return -ENODEV;
>  
> -	if (xen_initial_domain())
> -		return 0;
> -
>  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
>  
>  	return xenbus_register_frontend(&netfront_driver);

you need something similar in netif_exit too

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 15:59:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 15:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWV0d-0002TL-Op; Mon, 21 May 2012 15:58:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWV0d-0002TA-5D
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:58:59 +0000
Received: from [193.109.254.147:54951] by server-6.bemta-14.messagelabs.com id
	ED/C8-04960-2466ABF4; Mon, 21 May 2012 15:58:58 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337615935!10353005!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5639 invoked from network); 21 May 2012 15:58:55 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 15:58:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12584884"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 15:58:55 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 16:58:55 +0100
Date: Mon, 21 May 2012 16:58:39 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Marek Marczykowski <marmarek@invisiblethingslab.com>
In-Reply-To: <20120520115421.66AD995D@duch.mimuw.edu.pl>
Message-ID: <alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, 20 May 2012, Marek Marczykowski wrote:
> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> ---
>  drivers/net/xen-netfront.c |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 698b905..e5a161a 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
>  	if (!xen_domain())
>  		return -ENODEV;
>  
> -	if (xen_initial_domain())
> -		return 0;
> -
>  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
>  
>  	return xenbus_register_frontend(&netfront_driver);

you need something similar in netif_exit too

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:06:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:06:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWV7M-0003ai-81; Mon, 21 May 2012 16:05:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWV7K-0003aN-HR
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:05:54 +0000
Received: from [85.158.143.99:53448] by server-1.bemta-4.messagelabs.com id
	55/F8-00342-1E76ABF4; Mon, 21 May 2012 16:05:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337616353!17860761!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17861 invoked from network); 21 May 2012 16:05:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:05:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585038"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:05:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 17:05:51 +0100
Message-ID: <1337616350.24660.173.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 21 May 2012 17:05:50 +0100
In-Reply-To: <alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
	<alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>, Konrad Rzeszutek
	Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 16:58 +0100, Stefano Stabellini wrote:
> On Sun, 20 May 2012, Marek Marczykowski wrote:
> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> > is the only way to get network access in dom0.
> > 
> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> > ---
> >  drivers/net/xen-netfront.c |    3 ---
> >  1 files changed, 0 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> > index 698b905..e5a161a 100644
> > --- a/drivers/net/xen-netfront.c
> > +++ b/drivers/net/xen-netfront.c
> > @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
> >  	if (!xen_domain())
> >  		return -ENODEV;
> >  
> > -	if (xen_initial_domain())
> > -		return 0;
> > -
> >  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
> >  
> >  	return xenbus_register_frontend(&netfront_driver);
> 
> you need something similar in netif_exit too

Do we need this in other *foo*front as well? e.g. block?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:06:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:06:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWV7M-0003ai-81; Mon, 21 May 2012 16:05:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWV7K-0003aN-HR
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:05:54 +0000
Received: from [85.158.143.99:53448] by server-1.bemta-4.messagelabs.com id
	55/F8-00342-1E76ABF4; Mon, 21 May 2012 16:05:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337616353!17860761!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17861 invoked from network); 21 May 2012 16:05:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:05:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585038"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:05:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 17:05:51 +0100
Message-ID: <1337616350.24660.173.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 21 May 2012 17:05:50 +0100
In-Reply-To: <alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
	<alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>, Konrad Rzeszutek
	Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 16:58 +0100, Stefano Stabellini wrote:
> On Sun, 20 May 2012, Marek Marczykowski wrote:
> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> > is the only way to get network access in dom0.
> > 
> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> > ---
> >  drivers/net/xen-netfront.c |    3 ---
> >  1 files changed, 0 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> > index 698b905..e5a161a 100644
> > --- a/drivers/net/xen-netfront.c
> > +++ b/drivers/net/xen-netfront.c
> > @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
> >  	if (!xen_domain())
> >  		return -ENODEV;
> >  
> > -	if (xen_initial_domain())
> > -		return 0;
> > -
> >  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
> >  
> >  	return xenbus_register_frontend(&netfront_driver);
> 
> you need something similar in netif_exit too

Do we need this in other *foo*front as well? e.g. block?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:11:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:11:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVCr-0004AU-0o; Mon, 21 May 2012 16:11:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWVCp-0004AO-Vg
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:11:36 +0000
Received: from [193.109.254.147:46942] by server-9.bemta-14.messagelabs.com id
	66/A3-05787-7396ABF4; Mon, 21 May 2012 16:11:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337616693!10355171!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28032 invoked from network); 21 May 2012 16:11:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:11:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585161"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:11:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:11:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWVCn-0000CA-KP; Mon, 21 May 2012 16:11:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWVCn-0005nP-FJ;
	Mon, 21 May 2012 17:11:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20410.26931.728035.951825@mariner.uk.xensource.com>
Date: Mon, 21 May 2012 17:11:31 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1337615835.24660.169.camel@zakaz.uk.xensource.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph_Egger@gmx.de>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] libxl: cannot start guest"):
> On Mon, 2012-05-21 at 16:44 +0100, Christoph Egger wrote:
> > libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> > dompath for 7: Bad file descriptor
> 
> This is back to the original issue, I think the last couple of mails
> have been something of a tangent since you weren't getting as far as
> this failure.
> 
> I'm not really sure what to suggest here -- something is either closing
> the fd or scribbling over the memory which contains it.

I would strace (on BSD, ktrace?) the process.  That would tell you
whether the fd was being closed and if so when.

If it's not being closed then the fd value is being overwritten and a
gdb hardware watchpoint will find where.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:11:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:11:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVCr-0004AU-0o; Mon, 21 May 2012 16:11:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWVCp-0004AO-Vg
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:11:36 +0000
Received: from [193.109.254.147:46942] by server-9.bemta-14.messagelabs.com id
	66/A3-05787-7396ABF4; Mon, 21 May 2012 16:11:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337616693!10355171!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28032 invoked from network); 21 May 2012 16:11:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:11:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585161"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:11:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:11:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWVCn-0000CA-KP; Mon, 21 May 2012 16:11:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWVCn-0005nP-FJ;
	Mon, 21 May 2012 17:11:33 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20410.26931.728035.951825@mariner.uk.xensource.com>
Date: Mon, 21 May 2012 17:11:31 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1337615835.24660.169.camel@zakaz.uk.xensource.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph_Egger@gmx.de>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] libxl: cannot start guest"):
> On Mon, 2012-05-21 at 16:44 +0100, Christoph Egger wrote:
> > libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> > dompath for 7: Bad file descriptor
> 
> This is back to the original issue, I think the last couple of mails
> have been something of a tangent since you weren't getting as far as
> this failure.
> 
> I'm not really sure what to suggest here -- something is either closing
> the fd or scribbling over the memory which contains it.

I would strace (on BSD, ktrace?) the process.  That would tell you
whether the fd was being closed and if so when.

If it's not being closed then the fd value is being overwritten and a
gdb hardware watchpoint will find where.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVDJ-0004Dn-IZ; Mon, 21 May 2012 16:12:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVDI-0004DU-5I
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:12:04 +0000
Received: from [193.109.254.147:18517] by server-10.bemta-14.messagelabs.com
	id DE/02-05847-3596ABF4; Mon, 21 May 2012 16:12:03 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337616722!2490030!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3885 invoked from network); 21 May 2012 16:12:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:12:02 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:12:02 +0100
Date: Mon, 21 May 2012 17:11:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337616350.24660.173.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211707240.26786@kaball-desktop>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
	<alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
	<1337616350.24660.173.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Ian Campbell wrote:
> On Mon, 2012-05-21 at 16:58 +0100, Stefano Stabellini wrote:
> > On Sun, 20 May 2012, Marek Marczykowski wrote:
> > > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> > > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> > > is the only way to get network access in dom0.
> > > 
> > > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> > > ---
> > >  drivers/net/xen-netfront.c |    3 ---
> > >  1 files changed, 0 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> > > index 698b905..e5a161a 100644
> > > --- a/drivers/net/xen-netfront.c
> > > +++ b/drivers/net/xen-netfront.c
> > > @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
> > >  	if (!xen_domain())
> > >  		return -ENODEV;
> > >  
> > > -	if (xen_initial_domain())
> > > -		return 0;
> > > -
> > >  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
> > >  
> > >  	return xenbus_register_frontend(&netfront_driver);
> > 
> > you need something similar in netif_exit too
> 
> Do we need this in other *foo*front as well? e.g. block?

nope, xen-blkfront doesn't have any xen_initial_domain checks.
The other frontends with xen_initial_domain checks are:

drivers/input/misc/xen-kbdfront.c
drivers/video/xen-fbfront.c
drivers/pci/xen-pcifront.c

While it makes sense to keep xen-pcifront dom0 only for the moment, it
might be useful to remove the xen_initial_domain checks from xen-fbfront and
xen-kbdfront.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:12:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVDJ-0004Dn-IZ; Mon, 21 May 2012 16:12:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVDI-0004DU-5I
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:12:04 +0000
Received: from [193.109.254.147:18517] by server-10.bemta-14.messagelabs.com
	id DE/02-05847-3596ABF4; Mon, 21 May 2012 16:12:03 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337616722!2490030!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3885 invoked from network); 21 May 2012 16:12:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:12:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:12:02 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:12:02 +0100
Date: Mon, 21 May 2012 17:11:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337616350.24660.173.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211707240.26786@kaball-desktop>
References: <20120520115421.66AD995D@duch.mimuw.edu.pl>
	<alpine.DEB.2.00.1205211657110.26786@kaball-desktop>
	<1337616350.24660.173.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Ian Campbell wrote:
> On Mon, 2012-05-21 at 16:58 +0100, Stefano Stabellini wrote:
> > On Sun, 20 May 2012, Marek Marczykowski wrote:
> > > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> > > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> > > is the only way to get network access in dom0.
> > > 
> > > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> > > ---
> > >  drivers/net/xen-netfront.c |    3 ---
> > >  1 files changed, 0 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> > > index 698b905..e5a161a 100644
> > > --- a/drivers/net/xen-netfront.c
> > > +++ b/drivers/net/xen-netfront.c
> > > @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
> > >  	if (!xen_domain())
> > >  		return -ENODEV;
> > >  
> > > -	if (xen_initial_domain())
> > > -		return 0;
> > > -
> > >  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
> > >  
> > >  	return xenbus_register_frontend(&netfront_driver);
> > 
> > you need something similar in netif_exit too
> 
> Do we need this in other *foo*front as well? e.g. block?

nope, xen-blkfront doesn't have any xen_initial_domain checks.
The other frontends with xen_initial_domain checks are:

drivers/input/misc/xen-kbdfront.c
drivers/video/xen-fbfront.c
drivers/pci/xen-pcifront.c

While it makes sense to keep xen-pcifront dom0 only for the moment, it
might be useful to remove the xen_initial_domain checks from xen-fbfront and
xen-kbdfront.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:29:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVTm-0004vu-TY; Mon, 21 May 2012 16:29:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph_Egger@gmx.de>) id 1SWUn5-0000om-Q1
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:45:00 +0000
Received: from [85.158.143.35:31763] by server-1.bemta-4.messagelabs.com id
	2C/D5-00342-BF26ABF4; Mon, 21 May 2012 15:44:59 +0000
X-Env-Sender: Christoph_Egger@gmx.de
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337615097!4800309!1
X-Originating-IP: [213.165.64.22]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDI5OTE0MQ==\n,sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDI5OTE0MQ==\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4468 invoked from network); 21 May 2012 15:44:57 -0000
Received: from mailout-de.gmx.net (HELO mailout-de.gmx.net) (213.165.64.22)
	by server-5.tower-21.messagelabs.com with SMTP;
	21 May 2012 15:44:57 -0000
Received: (qmail invoked by alias); 21 May 2012 15:44:56 -0000
Received: from osrc3.amd.com (EHLO rhodium.osrc.amd.com) [217.9.48.20]
	by mail.gmx.net (mp004) with SMTP; 21 May 2012 17:44:56 +0200
X-Authenticated: #6616588
X-Provags-ID: V01U2FsdGVkX1+SHT8FN0GSObsqxN6LR8BxZMFBTlMNTe/Ajwb/Ub
	C+avpmXNO7wL0O
Message-ID: <4FBA62F7.9080308@gmx.de>
Date: Mon, 21 May 2012 17:44:55 +0200
From: Christoph Egger <Christoph_Egger@gmx.de>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337608191.24660.138.camel@zakaz.uk.xensource.com>
X-Y-GMX-Trusted: 0
X-Mailman-Approved-At: Mon, 21 May 2012 16:29:06 +0000
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 15:49, Ian Campbell wrote:

>>> It seems that we have a non-logging failure path in there somewhere. I'm
>>> afraid that the easieist way to fix this is probably just to dive into
>>> libxl__domain_build and add prints on the various error cases of sub
>>> functions, then recurse as you identify which one is failing etc..
>>
>> I did that:
>>
>> Parsing config from /root/hvm-guest/netbsd_64b.conf
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>> libxl_sched_credit_domain_set failed -6
>> libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
>> failed -6
>> libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
>> failed: -6
>> libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
>> libxl: error: libxl.c:1162:libxl_domain_destroy:
>> libxl__destroy_device_model failed for 6
>> xc: debug: hypercall buffer: total allocations:1264 total releases:1264
>> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
>> xc: debug: hypercall buffer: cache current size:2
>> xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
>> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
>> xs_daemon_close
>>
>>
>> So it is indeed that ERROR_INVAL from that 'benign' error
> 
> In my version of libxl libxl__build_post doesn't even look at the return
> value of libxl__sched_set_params.
>     ....
>     libxl__sched_set_params (gc, domid, &(info->sched_params));
>     ....




I reverted my local change and retried. See below.

 > the only other exit path from that function is:

>     dom_path = libxl__xs_get_dompath(gc, domid);
>     if (!dom_path) {
>         return ERROR_FAIL;
>     }
> which is consistent with the original errors you had (but if ERROR_FAIL,
> not ERROR_INVAL). This doesn't really help me figure out what is going
> on though :-/




libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_dom.c:74:libxl__sched_set_params:
libxl_sched_credit_domain_set failed -6
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hdb spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: debug: libxl_dm.c:1008:libxl__spawn_local_dm: Spawning
device-model /usr/local.25371.netbsd/libexec/qemu-dm with arguments:
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
/usr/local.25371.netbsd/libexec/qemu-dm
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -d
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   7
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -domain-name
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   HVM64-NetBSD
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vnc
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0.0.0.0:0
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vncunused
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -serial
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   pty
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -videoram
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   8
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -boot
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   cd
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -acpi
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpus
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   4
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpu_avail
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0xf
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
nic,vlan=0,macaddr=00:16:3e:00:ce:01,model=e1000
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
tap,vlan=0,ifname=vif7.0-emu,bridge=bridge0,script=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup,downscript=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -M
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   xenfv
libxl: error: libxl_event.c:468:libxl__ev_xswatch_register: create watch
for path /local/domain/0/device-model/7/state: Bad file descriptor
libxl: error: libxl_dm.c:1072:device_model_spawn_outcome: domain 7
device model: spawn failed (rc=-3)
assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
function "libxl__ao_complete_check_progress_reports"
Abort (core dumped)

(gdb) bt
#0  0x00007f7ff65059aa in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007f7ff6505612 in abort () from /usr/lib/libc.so.12
#2  0x00007f7ff65052dd in __assert13 () from /usr/lib/libc.so.12
#3  0x00007f7ff742d114 in libxl__ao_complete_check_progress_reports (
    egc=0x7f7fffffd140, ao=0x7f7ff7b210e0) at libxl_event.c:1388
#4  0x00007f7ff742d2ec in egc_run_callbacks (egc=0x7f7fffffd140)
    at libxl_event.c:971
#5  libxl__egc_cleanup (egc=0x7f7fffffd140) at libxl_event.c:991
#6  0x00007f7ff741890f in do_domain_create (ctx=0x7f7ff7b210b8,
    d_config=<optimized out>, domid=<optimized out>,
restore_fd=<optimized out>,
    ao_how=<optimized out>, aop_console_how=0x7f7fffffffff) at
libxl_create.c:905
#7  0x00007f7ff741893e in libxl_domain_create_new (ctx=<optimized out>,
    d_config=<optimized out>, domid=<optimized out>, ao_how=<optimized
out>,
    aop_console_how=<optimized out>) at libxl_create.c:926
#8  0x000000000040c4d9 in create_domain (dom_info=0x7f7fffffd630)
    at xl_cmdimpl.c:1760
#9  0x0000000000410161 in main_create (argc=3, argv=<optimized out>)
    at xl_cmdimpl.c:3730
#10 0x0000000000406d86 in main (argc=3, argv=0x7f7fffffdba0) at xl.c:208

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:29:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVTm-0004vu-TY; Mon, 21 May 2012 16:29:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph_Egger@gmx.de>) id 1SWUn5-0000om-Q1
	for xen-devel@lists.xen.org; Mon, 21 May 2012 15:45:00 +0000
Received: from [85.158.143.35:31763] by server-1.bemta-4.messagelabs.com id
	2C/D5-00342-BF26ABF4; Mon, 21 May 2012 15:44:59 +0000
X-Env-Sender: Christoph_Egger@gmx.de
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337615097!4800309!1
X-Originating-IP: [213.165.64.22]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDI5OTE0MQ==\n,sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDI5OTE0MQ==\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4468 invoked from network); 21 May 2012 15:44:57 -0000
Received: from mailout-de.gmx.net (HELO mailout-de.gmx.net) (213.165.64.22)
	by server-5.tower-21.messagelabs.com with SMTP;
	21 May 2012 15:44:57 -0000
Received: (qmail invoked by alias); 21 May 2012 15:44:56 -0000
Received: from osrc3.amd.com (EHLO rhodium.osrc.amd.com) [217.9.48.20]
	by mail.gmx.net (mp004) with SMTP; 21 May 2012 17:44:56 +0200
X-Authenticated: #6616588
X-Provags-ID: V01U2FsdGVkX1+SHT8FN0GSObsqxN6LR8BxZMFBTlMNTe/Ajwb/Ub
	C+avpmXNO7wL0O
Message-ID: <4FBA62F7.9080308@gmx.de>
Date: Mon, 21 May 2012 17:44:55 +0200
From: Christoph Egger <Christoph_Egger@gmx.de>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337608191.24660.138.camel@zakaz.uk.xensource.com>
X-Y-GMX-Trusted: 0
X-Mailman-Approved-At: Mon, 21 May 2012 16:29:06 +0000
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 15:49, Ian Campbell wrote:

>>> It seems that we have a non-logging failure path in there somewhere. I'm
>>> afraid that the easieist way to fix this is probably just to dive into
>>> libxl__domain_build and add prints on the various error cases of sub
>>> functions, then recurse as you identify which one is failing etc..
>>
>> I did that:
>>
>> Parsing config from /root/hvm-guest/netbsd_64b.conf
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>> libxl_sched_credit_domain_set failed -6
>> libxl: error: libxl_dom.c:192:libxl__build_post: libxl__sched_set_params
>> failed -6
>> libxl: error: libxl_create.c:322:libxl__domain_build: libxl__build_post
>> failed: -6
>> libxl: error: libxl_create.c:709:domcreate_bootloader_done: cannot
>> (re-)build domain: -6
>> libxl: error: libxl_dm.c:1104:libxl__destroy_device_model: Couldn't find
>> device model's pid: No such file or directory
>> libxl: error: libxl.c:1162:libxl_domain_destroy:
>> libxl__destroy_device_model failed for 6
>> xc: debug: hypercall buffer: total allocations:1264 total releases:1264
>> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
>> xc: debug: hypercall buffer: cache current size:2
>> xc: debug: hypercall buffer: cache hits:1261 misses:2 toobig:1
>> libxl: error: libxl.c:155:libxl_ctx_free: libxl_ctx_free: call
>> xs_daemon_close
>>
>>
>> So it is indeed that ERROR_INVAL from that 'benign' error
> 
> In my version of libxl libxl__build_post doesn't even look at the return
> value of libxl__sched_set_params.
>     ....
>     libxl__sched_set_params (gc, domid, &(info->sched_params));
>     ....




I reverted my local change and retried. See below.

 > the only other exit path from that function is:

>     dom_path = libxl__xs_get_dompath(gc, domid);
>     if (!dom_path) {
>         return ERROR_FAIL;
>     }
> which is consistent with the original errors you had (but if ERROR_FAIL,
> not ERROR_INVAL). This doesn't really help me figure out what is going
> on though :-/




libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019bd04
  TOTAL:         0000000000000000->00000000ff800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000002
xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
of range, valid values are within range from 1 to 65535
libxl: error: libxl_dom.c:74:libxl__sched_set_params:
libxl_sched_credit_domain_set failed -6
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
vdev=hdb spec.backend=phy
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 0: Bad file descriptor
libxl: error: libxl_device.c:107:libxl__device_generic_add: xs
transaction failed: Bad file descriptor
libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
dompath for 7: Bad file descriptor
libxl: debug: libxl_dm.c:1008:libxl__spawn_local_dm: Spawning
device-model /usr/local.25371.netbsd/libexec/qemu-dm with arguments:
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
/usr/local.25371.netbsd/libexec/qemu-dm
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -d
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   7
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -domain-name
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   HVM64-NetBSD
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vnc
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0.0.0.0:0
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vncunused
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -serial
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   pty
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -videoram
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   8
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -boot
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   cd
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -acpi
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpus
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   4
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -vcpu_avail
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   0xf
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
nic,vlan=0,macaddr=00:16:3e:00:ce:01,model=e1000
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -net
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:
tap,vlan=0,ifname=vif7.0-emu,bridge=bridge0,script=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup,downscript=/usr/local.25371.netbsd/etc/xen/scripts/qemu-ifup
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   -M
libxl: debug: libxl_dm.c:1010:libxl__spawn_local_dm:   xenfv
libxl: error: libxl_event.c:468:libxl__ev_xswatch_register: create watch
for path /local/domain/0/device-model/7/state: Bad file descriptor
libxl: error: libxl_dm.c:1072:device_model_spawn_outcome: domain 7
device model: spawn failed (rc=-3)
assertion "ao->in_initiator" failed: file "libxl_event.c", line 1388,
function "libxl__ao_complete_check_progress_reports"
Abort (core dumped)

(gdb) bt
#0  0x00007f7ff65059aa in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007f7ff6505612 in abort () from /usr/lib/libc.so.12
#2  0x00007f7ff65052dd in __assert13 () from /usr/lib/libc.so.12
#3  0x00007f7ff742d114 in libxl__ao_complete_check_progress_reports (
    egc=0x7f7fffffd140, ao=0x7f7ff7b210e0) at libxl_event.c:1388
#4  0x00007f7ff742d2ec in egc_run_callbacks (egc=0x7f7fffffd140)
    at libxl_event.c:971
#5  libxl__egc_cleanup (egc=0x7f7fffffd140) at libxl_event.c:991
#6  0x00007f7ff741890f in do_domain_create (ctx=0x7f7ff7b210b8,
    d_config=<optimized out>, domid=<optimized out>,
restore_fd=<optimized out>,
    ao_how=<optimized out>, aop_console_how=0x7f7fffffffff) at
libxl_create.c:905
#7  0x00007f7ff741893e in libxl_domain_create_new (ctx=<optimized out>,
    d_config=<optimized out>, domid=<optimized out>, ao_how=<optimized
out>,
    aop_console_how=<optimized out>) at libxl_create.c:926
#8  0x000000000040c4d9 in create_domain (dom_info=0x7f7fffffd630)
    at xl_cmdimpl.c:1760
#9  0x0000000000410161 in main_create (argc=3, argv=<optimized out>)
    at xl_cmdimpl.c:3730
#10 0x0000000000406d86 in main (argc=3, argv=0x7f7fffffdba0) at xl.c:208

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:29:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:29:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVU7-0004xF-BK; Mon, 21 May 2012 16:29:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWVU5-0004x6-Jo
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:29:25 +0000
Received: from [85.158.143.35:5744] by server-1.bemta-4.messagelabs.com id
	DE/EE-00342-46D6ABF4; Mon, 21 May 2012 16:29:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337617763!10715849!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1199 invoked from network); 21 May 2012 16:29:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:29:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195819353"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:29:05 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:29:05 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWVTl-0000LL-36;
	Mon, 21 May 2012 17:29:05 +0100
Message-ID: <4FBA6D52.9050809@citrix.com>
Date: Mon, 21 May 2012 17:29:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
In-Reply-To: <20406.31676.266501.253510@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
>> Set the default value for nic interfaces to VIF, since it used to be
>> IOEMU, even for PV guests.
>
> How odd.
>
>> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
>> index 2490138..631de15 100644
>> --- a/tools/libxl/libxl.c
>> +++ b/tools/libxl/libxl.c
>> @@ -1637,7 +1637,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
>>                                     libxl__xen_script_dir_path())<  0 )
>>           return ERROR_FAIL;
>>       if (!nic->nictype)
>> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
>> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
>
> But doesn't this set the default type to VIF even for HVM guests ?

Shouldn't HVM guests use the "ioemu" parameter if they want an emulated 
card? If no parameter is provided then the default type should be VIF, 
because there's no other way to specifically set the type to VIF.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:29:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:29:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVU7-0004xF-BK; Mon, 21 May 2012 16:29:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWVU5-0004x6-Jo
	for xen-devel@lists.xen.org; Mon, 21 May 2012 16:29:25 +0000
Received: from [85.158.143.35:5744] by server-1.bemta-4.messagelabs.com id
	DE/EE-00342-46D6ABF4; Mon, 21 May 2012 16:29:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337617763!10715849!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1199 invoked from network); 21 May 2012 16:29:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:29:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330923600"; d="scan'208";a="195819353"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:29:05 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:29:05 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWVTl-0000LL-36;
	Mon, 21 May 2012 17:29:05 +0100
Message-ID: <4FBA6D52.9050809@citrix.com>
Date: Mon, 21 May 2012 17:29:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
In-Reply-To: <20406.31676.266501.253510@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
>> Set the default value for nic interfaces to VIF, since it used to be
>> IOEMU, even for PV guests.
>
> How odd.
>
>> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
>> index 2490138..631de15 100644
>> --- a/tools/libxl/libxl.c
>> +++ b/tools/libxl/libxl.c
>> @@ -1637,7 +1637,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
>>                                     libxl__xen_script_dir_path())<  0 )
>>           return ERROR_FAIL;
>>       if (!nic->nictype)
>> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
>> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
>
> But doesn't this set the default type to VIF even for HVM guests ?

Shouldn't HVM guests use the "ioemu" parameter if they want an emulated 
card? If no parameter is provided then the default type should be VIF, 
because there's no other way to specifically set the type to VIF.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:30:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:30:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVUj-00051y-Sc; Mon, 21 May 2012 16:30:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <meyering@meyering.net>) id 1SWPSt-0000qM-Ve
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 10:03:48 +0000
Received: from [85.158.143.35:9401] by server-1.bemta-4.messagelabs.com id
	57/B3-00342-3031ABF4; Mon, 21 May 2012 10:03:47 +0000
X-Env-Sender: meyering@meyering.net
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337594626!13256958!1
X-Originating-IP: [88.168.87.75]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2601 invoked from network); 21 May 2012 10:03:46 -0000
Received: from mx.meyering.net (HELO hx.meyering.net) (88.168.87.75)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 10:03:46 -0000
Received: from hx.meyering.net (hx.meyering.net [127.0.0.1])
	by hx.meyering.net (8.14.5/8.14.5) with ESMTP id q4LA3djN019390;
	Mon, 21 May 2012 12:03:40 +0200
Received: (from meyering@localhost)
	by hx.meyering.net (8.14.5/8.14.5/Submit) id q4LA3bEB019389;
	Mon, 21 May 2012 12:03:37 +0200
From: Jim Meyering <jim@meyering.net>
To: qemu-devel@nongnu.org
Date: Mon, 21 May 2012 12:03:09 +0200
Message-Id: <1337594591-19309-2-git-send-email-jim@meyering.net>
X-Mailer: git-send-email 1.7.10.2.552.gaa3bb87
In-Reply-To: <1337594591-19309-1-git-send-email-jim@meyering.net>
References: <1337594591-19309-1-git-send-email-jim@meyering.net>
X-Mailman-Approved-At: Mon, 21 May 2012 16:30:03 +0000
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Jim Meyering <meyering@redhat.com>, John Haxby <john.haxby@oracle.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [Xen-devel] [PATCH 1/3] xen: remove unused global, xen_xcg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jim Meyering <meyering@redhat.com>


Signed-off-by: Jim Meyering <meyering@redhat.com>
---
 hw/xen_backend.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/xen_backend.c b/hw/xen_backend.c
index 66cb144..e44ced0 100644
--- a/hw/xen_backend.c
+++ b/hw/xen_backend.c
@@ -47,7 +47,6 @@

 /* public */
 XenXC xen_xc = XC_HANDLER_INITIAL_VALUE;
-XenGnttab xen_xcg = XC_HANDLER_INITIAL_VALUE;
 struct xs_handle *xenstore = NULL;
 const char *xen_protocol;

-- 
1.7.10.2.552.gaa3bb87


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:30:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:30:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVUj-00051y-Sc; Mon, 21 May 2012 16:30:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <meyering@meyering.net>) id 1SWPSt-0000qM-Ve
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 10:03:48 +0000
Received: from [85.158.143.35:9401] by server-1.bemta-4.messagelabs.com id
	57/B3-00342-3031ABF4; Mon, 21 May 2012 10:03:47 +0000
X-Env-Sender: meyering@meyering.net
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337594626!13256958!1
X-Originating-IP: [88.168.87.75]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2601 invoked from network); 21 May 2012 10:03:46 -0000
Received: from mx.meyering.net (HELO hx.meyering.net) (88.168.87.75)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 10:03:46 -0000
Received: from hx.meyering.net (hx.meyering.net [127.0.0.1])
	by hx.meyering.net (8.14.5/8.14.5) with ESMTP id q4LA3djN019390;
	Mon, 21 May 2012 12:03:40 +0200
Received: (from meyering@localhost)
	by hx.meyering.net (8.14.5/8.14.5/Submit) id q4LA3bEB019389;
	Mon, 21 May 2012 12:03:37 +0200
From: Jim Meyering <jim@meyering.net>
To: qemu-devel@nongnu.org
Date: Mon, 21 May 2012 12:03:09 +0200
Message-Id: <1337594591-19309-2-git-send-email-jim@meyering.net>
X-Mailer: git-send-email 1.7.10.2.552.gaa3bb87
In-Reply-To: <1337594591-19309-1-git-send-email-jim@meyering.net>
References: <1337594591-19309-1-git-send-email-jim@meyering.net>
X-Mailman-Approved-At: Mon, 21 May 2012 16:30:03 +0000
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Jim Meyering <meyering@redhat.com>, John Haxby <john.haxby@oracle.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [Xen-devel] [PATCH 1/3] xen: remove unused global, xen_xcg
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jim Meyering <meyering@redhat.com>


Signed-off-by: Jim Meyering <meyering@redhat.com>
---
 hw/xen_backend.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/xen_backend.c b/hw/xen_backend.c
index 66cb144..e44ced0 100644
--- a/hw/xen_backend.c
+++ b/hw/xen_backend.c
@@ -47,7 +47,6 @@

 /* public */
 XenXC xen_xc = XC_HANDLER_INITIAL_VALUE;
-XenGnttab xen_xcg = XC_HANDLER_INITIAL_VALUE;
 struct xs_handle *xenstore = NULL;
 const char *xen_protocol;

-- 
1.7.10.2.552.gaa3bb87


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:31:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVW3-0005Dc-B7; Mon, 21 May 2012 16:31:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVW1-0005DE-QP
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:31:26 +0000
Received: from [85.158.143.35:52617] by server-2.bemta-4.messagelabs.com id
	0C/C9-12211-DDD6ABF4; Mon, 21 May 2012 16:31:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337617884!13332705!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10506 invoked from network); 21 May 2012 16:31:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:31:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585439"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:30:50 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:30:50 +0100
Date: Mon, 21 May 2012 17:30:45 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.24167.894794.935567@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211727110.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> > Introduce libxl__device_disk_add that takes an additional
> > xs_transaction_t paramter.
> > Implement libxl_device_disk_add using libxl__device_disk_add.
> 
> Can't this be done in such a way that the diff isn't "delete this
> function completely" followed by "here is a new function" ?

I don't know. Do you have any suggestions?  TBH if I were you, I would
just open two terminals and compare line by line, but let me know if you
want to do something specific..


> I don't really understand why you want to move the function at all,
> TBH.  I think keeping the public wrapper and the internal
> implementation together is fine.  There is no need IMO to move the
> internal function to libxl_internal.c.

ATM there are no hidden functions in libxl.c.
Do you want to change this "policy"?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:31:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVW3-0005Dc-B7; Mon, 21 May 2012 16:31:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVW1-0005DE-QP
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:31:26 +0000
Received: from [85.158.143.35:52617] by server-2.bemta-4.messagelabs.com id
	0C/C9-12211-DDD6ABF4; Mon, 21 May 2012 16:31:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337617884!13332705!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10506 invoked from network); 21 May 2012 16:31:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:31:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585439"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:30:50 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:30:50 +0100
Date: Mon, 21 May 2012 17:30:45 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.24167.894794.935567@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211727110.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> > Introduce libxl__device_disk_add that takes an additional
> > xs_transaction_t paramter.
> > Implement libxl_device_disk_add using libxl__device_disk_add.
> 
> Can't this be done in such a way that the diff isn't "delete this
> function completely" followed by "here is a new function" ?

I don't know. Do you have any suggestions?  TBH if I were you, I would
just open two terminals and compare line by line, but let me know if you
want to do something specific..


> I don't really understand why you want to move the function at all,
> TBH.  I think keeping the public wrapper and the internal
> implementation together is fine.  There is no need IMO to move the
> internal function to libxl_internal.c.

ATM there are no hidden functions in libxl.c.
Do you want to change this "policy"?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:32:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:32:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVWc-0005Je-PV; Mon, 21 May 2012 16:32:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVWb-0005J4-24
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:32:01 +0000
Received: from [85.158.138.51:61357] by server-10.bemta-3.messagelabs.com id
	3C/B3-29478-00E6ABF4; Mon, 21 May 2012 16:32:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337617919!28214385!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25694 invoked from network); 21 May 2012 16:31:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:31:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585469"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:31:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:31:58 +0100
Date: Mon, 21 May 2012 17:31:53 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.27007.38309.372960@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211731160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
	<20406.27007.38309.372960@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Roger Pau Monne writes ("Re: [Xen-devel] [PATCH v6 04/11] libxl: move libxl__device_from_disk to libxl_internal.c"):
> > In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> > an internal implementation that takes an ao, making something quite 
> > similar to what Stefano does, if I start moving all those to 
> > libxl_internal we will fill this file with functions that could be 
> > somewhere else (libxl_device). I understand that the libxl policy is put 
> > functions where they seem to belong (device related functions to 
> > libxl_device, domain related ones to libxl_dom...), and if they fit in 
> > none of this categories then put them in libxl_internal or create a new 
> > file.
> > 
> > We can leave it in libxl_internal for now, and I will move it on my series.
> 
> I don't think we have a policy.  I think at this stage I would much
> prefer not to move whole functions from one file to another for purely
> cosmetic reasons.
> 
> (It's a different question if you need to move the body of a function
> into the middle of another one, or something.)

The policy used to be "no internal functions in libxl.c".
If you want to change it, just let me know.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:32:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:32:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVWc-0005Je-PV; Mon, 21 May 2012 16:32:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVWb-0005J4-24
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:32:01 +0000
Received: from [85.158.138.51:61357] by server-10.bemta-3.messagelabs.com id
	3C/B3-29478-00E6ABF4; Mon, 21 May 2012 16:32:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337617919!28214385!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25694 invoked from network); 21 May 2012 16:31:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:31:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585469"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:31:58 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:31:58 +0100
Date: Mon, 21 May 2012 17:31:53 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.27007.38309.372960@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211731160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
	<20406.27007.38309.372960@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Roger Pau Monne writes ("Re: [Xen-devel] [PATCH v6 04/11] libxl: move libxl__device_from_disk to libxl_internal.c"):
> > In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> > an internal implementation that takes an ao, making something quite 
> > similar to what Stefano does, if I start moving all those to 
> > libxl_internal we will fill this file with functions that could be 
> > somewhere else (libxl_device). I understand that the libxl policy is put 
> > functions where they seem to belong (device related functions to 
> > libxl_device, domain related ones to libxl_dom...), and if they fit in 
> > none of this categories then put them in libxl_internal or create a new 
> > file.
> > 
> > We can leave it in libxl_internal for now, and I will move it on my series.
> 
> I don't think we have a policy.  I think at this stage I would much
> prefer not to move whole functions from one file to another for purely
> cosmetic reasons.
> 
> (It's a different question if you need to move the body of a function
> into the middle of another one, or something.)

The policy used to be "no internal functions in libxl.c".
If you want to change it, just let me know.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:33:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVXx-0005ZH-Us; Mon, 21 May 2012 16:33:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVXw-0005Yv-6u
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:33:24 +0000
Received: from [85.158.139.83:55637] by server-5.bemta-5.messagelabs.com id
	ED/E0-29701-35E6ABF4; Mon, 21 May 2012 16:33:23 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337618001!29023621!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26086 invoked from network); 21 May 2012 16:33:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:33:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585484"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:33:21 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:33:21 +0100
Date: Mon, 21 May 2012 17:33:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337354727.22316.134.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211732070.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
	<1337354727.22316.134.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Campbell wrote:
> On Fri, 2012-05-18 at 16:16 +0100, Roger Pau Monne wrote:
> > Ian Campbell wrote:
> > > On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> > >>> @@ -429,6 +429,46 @@ libxl_device_model_version
> > >> libxl__device_model_version_running(libxl__gc *gc,
> > >>>        return value;
> > >>>    }
> > >>>
> > >>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> > >>> +                                   libxl_device_disk *disk,
> > >>> +                                   libxl__device *device)
> > >> I think this should be moved to libxl_device instead of
> > >> libxl_internal, since it's a device related function.
> > >
> > > I think it'd be better to leave it in the original file, libxl is so
> > > confused about what goes where that it doesn't really matter...
> > >
> > > If we do want to move it we can do it later as a pure code motion
> > > change.
> > 
> > In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> > an internal implementation that takes an ao, making something quite 
> > similar to what Stefano does, if I start moving all those to 
> > libxl_internal we will fill this file with functions that could be 
> > somewhere else (libxl_device).
> 
> I didn't propose moving this function tolibxl_internal, quite the
> opposite. I proposed leaving it in libxl.c where it is (or rather ,
> where the body current effectively is). If and when we want to move it
> we can do that as a separate pure code motion change.

Do we have an agreement that I should repost this patch keeping
libxl__device_from_disk in libxl.c?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:33:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVXx-0005ZH-Us; Mon, 21 May 2012 16:33:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVXw-0005Yv-6u
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:33:24 +0000
Received: from [85.158.139.83:55637] by server-5.bemta-5.messagelabs.com id
	ED/E0-29701-35E6ABF4; Mon, 21 May 2012 16:33:23 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337618001!29023621!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26086 invoked from network); 21 May 2012 16:33:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:33:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585484"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:33:21 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:33:21 +0100
Date: Mon, 21 May 2012 17:33:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337354727.22316.134.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211732070.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
	<1337354727.22316.134.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Campbell wrote:
> On Fri, 2012-05-18 at 16:16 +0100, Roger Pau Monne wrote:
> > Ian Campbell wrote:
> > > On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> > >>> @@ -429,6 +429,46 @@ libxl_device_model_version
> > >> libxl__device_model_version_running(libxl__gc *gc,
> > >>>        return value;
> > >>>    }
> > >>>
> > >>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> > >>> +                                   libxl_device_disk *disk,
> > >>> +                                   libxl__device *device)
> > >> I think this should be moved to libxl_device instead of
> > >> libxl_internal, since it's a device related function.
> > >
> > > I think it'd be better to leave it in the original file, libxl is so
> > > confused about what goes where that it doesn't really matter...
> > >
> > > If we do want to move it we can do it later as a pure code motion
> > > change.
> > 
> > In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> > an internal implementation that takes an ao, making something quite 
> > similar to what Stefano does, if I start moving all those to 
> > libxl_internal we will fill this file with functions that could be 
> > somewhere else (libxl_device).
> 
> I didn't propose moving this function tolibxl_internal, quite the
> opposite. I proposed leaving it in libxl.c where it is (or rather ,
> where the body current effectively is). If and when we want to move it
> we can do that as a separate pure code motion change.

Do we have an agreement that I should repost this patch keeping
libxl__device_from_disk in libxl.c?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:34:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:34:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVZA-0005p9-4Q; Mon, 21 May 2012 16:34:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVZ9-0005of-C7
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:34:39 +0000
Received: from [85.158.139.83:24638] by server-5.bemta-5.messagelabs.com id
	EF/D2-29701-E9E6ABF4; Mon, 21 May 2012 16:34:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337618076!29547392!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17320 invoked from network); 21 May 2012 16:34:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:34:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585518"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:34:36 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:34:36 +0100
Date: Mon, 21 May 2012 17:34:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.24010.290055.700640@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211734200.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24010.290055.700640@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v6 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > Introduce a new libxl_device_disk* parameter to
> > libxl__device_disk_local_attach, the parameter is allocated by the
> > caller. libxl__device_disk_local_attach is going to fill the new disk
> > with informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> 
> In this declaration:
> 
> > @@ -1767,6 +1768,7 @@ struct libxl__bootloader_state {
> >      libxl__bootloader_console_callback *console_available;
> >      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> >      libxl_device_disk *disk;
> > +    libxl_device_disk tmpdisk;
> >      uint32_t domid;
> 
> We need information about what this "tmpdisk" is.  All of the other
> parameters here are input parameters, except as otherwise noted in the
> comment.
> 
> Also I'm not convinced that "tmpdisk" is quite the right name.  You
> also need to explain the distinction between "disk" and "tmpdisk".
> 
> Perhaps:
> 
>    const libxl_device_disk *disk; /* as specified by user */
>    libxl_device_disk localdisk;
>       /* Should be zeroed by caller on entry.  Will be filled in by
>        * bootloader machinery; represents the local attachment of the
>        * disk for the benefit of the bootloader.  Must be detached by
>        * the caller using libxl__device_disk_local_detach, but only
>        * after the domain's kernel and initramfs have been loaded into
>        * memory and the file references disposed of. */
> 
> ?

fine by me


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:34:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:34:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVZA-0005p9-4Q; Mon, 21 May 2012 16:34:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWVZ9-0005of-C7
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:34:39 +0000
Received: from [85.158.139.83:24638] by server-5.bemta-5.messagelabs.com id
	EF/D2-29701-E9E6ABF4; Mon, 21 May 2012 16:34:38 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337618076!29547392!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17320 invoked from network); 21 May 2012 16:34:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:34:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585518"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:34:36 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:34:36 +0100
Date: Mon, 21 May 2012 17:34:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.24010.290055.700640@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211734200.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24010.290055.700640@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v6 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > Introduce a new libxl_device_disk* parameter to
> > libxl__device_disk_local_attach, the parameter is allocated by the
> > caller. libxl__device_disk_local_attach is going to fill the new disk
> > with informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> 
> In this declaration:
> 
> > @@ -1767,6 +1768,7 @@ struct libxl__bootloader_state {
> >      libxl__bootloader_console_callback *console_available;
> >      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> >      libxl_device_disk *disk;
> > +    libxl_device_disk tmpdisk;
> >      uint32_t domid;
> 
> We need information about what this "tmpdisk" is.  All of the other
> parameters here are input parameters, except as otherwise noted in the
> comment.
> 
> Also I'm not convinced that "tmpdisk" is quite the right name.  You
> also need to explain the distinction between "disk" and "tmpdisk".
> 
> Perhaps:
> 
>    const libxl_device_disk *disk; /* as specified by user */
>    libxl_device_disk localdisk;
>       /* Should be zeroed by caller on entry.  Will be filled in by
>        * bootloader machinery; represents the local attachment of the
>        * disk for the benefit of the bootloader.  Must be detached by
>        * the caller using libxl__device_disk_local_detach, but only
>        * after the domain's kernel and initramfs have been loaded into
>        * memory and the file references disposed of. */
> 
> ?

fine by me


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVZY-0005w1-Hh; Mon, 21 May 2012 16:35:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWVZW-0005vX-QI
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:35:03 +0000
Received: from [193.109.254.147:53380] by server-11.bemta-14.messagelabs.com
	id CA/48-05858-6BE6ABF4; Mon, 21 May 2012 16:35:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337618101!9530661!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2740 invoked from network); 21 May 2012 16:35:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:35:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585525"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:35:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 17:35:00 +0100
Message-ID: <1337618098.24660.185.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 21 May 2012 17:34:58 +0100
In-Reply-To: <alpine.DEB.2.00.1205211732070.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
	<1337354727.22316.134.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205211732070.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 17:33 +0100, Stefano Stabellini wrote:
> On Fri, 18 May 2012, Ian Campbell wrote:
> > On Fri, 2012-05-18 at 16:16 +0100, Roger Pau Monne wrote:
> > > Ian Campbell wrote:
> > > > On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> > > >>> @@ -429,6 +429,46 @@ libxl_device_model_version
> > > >> libxl__device_model_version_running(libxl__gc *gc,
> > > >>>        return value;
> > > >>>    }
> > > >>>
> > > >>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> > > >>> +                                   libxl_device_disk *disk,
> > > >>> +                                   libxl__device *device)
> > > >> I think this should be moved to libxl_device instead of
> > > >> libxl_internal, since it's a device related function.
> > > >
> > > > I think it'd be better to leave it in the original file, libxl is so
> > > > confused about what goes where that it doesn't really matter...
> > > >
> > > > If we do want to move it we can do it later as a pure code motion
> > > > change.
> > > 
> > > In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> > > an internal implementation that takes an ao, making something quite 
> > > similar to what Stefano does, if I start moving all those to 
> > > libxl_internal we will fill this file with functions that could be 
> > > somewhere else (libxl_device).
> > 
> > I didn't propose moving this function tolibxl_internal, quite the
> > opposite. I proposed leaving it in libxl.c where it is (or rather ,
> > where the body current effectively is). If and when we want to move it
> > we can do that as a separate pure code motion change.
> 
> Do we have an agreement that I should repost this patch keeping
> libxl__device_from_disk in libxl.c?

I agree that this is fine. I'd never heard about the "no internal
functions in libxl.c" policy and I don't think it is a good one ;-)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:35:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVZY-0005w1-Hh; Mon, 21 May 2012 16:35:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWVZW-0005vX-QI
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:35:03 +0000
Received: from [193.109.254.147:53380] by server-11.bemta-14.messagelabs.com
	id CA/48-05858-6BE6ABF4; Mon, 21 May 2012 16:35:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337618101!9530661!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2740 invoked from network); 21 May 2012 16:35:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:35:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,631,1330905600"; d="scan'208";a="12585525"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:35:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 17:35:00 +0100
Message-ID: <1337618098.24660.185.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 21 May 2012 17:34:58 +0100
In-Reply-To: <alpine.DEB.2.00.1205211732070.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com>
	<4FB662F5.2010704@citrix.com>
	<1337353377.22316.127.camel@zakaz.uk.xensource.com>
	<4FB667E4.6010301@citrix.com>
	<1337354727.22316.134.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205211732070.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 04/11] libxl: move
 libxl__device_from_disk to libxl_internal.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 17:33 +0100, Stefano Stabellini wrote:
> On Fri, 18 May 2012, Ian Campbell wrote:
> > On Fri, 2012-05-18 at 16:16 +0100, Roger Pau Monne wrote:
> > > Ian Campbell wrote:
> > > > On Fri, 2012-05-18 at 15:55 +0100, Roger Pau Monne wrote:
> > > >>> @@ -429,6 +429,46 @@ libxl_device_model_version
> > > >> libxl__device_model_version_running(libxl__gc *gc,
> > > >>>        return value;
> > > >>>    }
> > > >>>
> > > >>> +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
> > > >>> +                                   libxl_device_disk *disk,
> > > >>> +                                   libxl__device *device)
> > > >> I think this should be moved to libxl_device instead of
> > > >> libxl_internal, since it's a device related function.
> > > >
> > > > I think it'd be better to leave it in the original file, libxl is so
> > > > confused about what goes where that it doesn't really matter...
> > > >
> > > > If we do want to move it we can do it later as a pure code motion
> > > > change.
> > > 
> > > In my hotplug series I'm moving most libxl_device_{...}_add to provide 
> > > an internal implementation that takes an ao, making something quite 
> > > similar to what Stefano does, if I start moving all those to 
> > > libxl_internal we will fill this file with functions that could be 
> > > somewhere else (libxl_device).
> > 
> > I didn't propose moving this function tolibxl_internal, quite the
> > opposite. I proposed leaving it in libxl.c where it is (or rather ,
> > where the body current effectively is). If and when we want to move it
> > we can do that as a separate pure code motion change.
> 
> Do we have an agreement that I should repost this patch keeping
> libxl__device_from_disk in libxl.c?

I agree that this is fine. I'd never heard about the "no internal
functions in libxl.c" policy and I don't think it is a good one ;-)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:47:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:47:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVlL-0006cA-VW; Mon, 21 May 2012 16:47:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rok.strnisa@citrix.com>) id 1SWVlK-0006c3-4P
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:47:14 +0000
Received: from [85.158.138.51:41088] by server-7.bemta-3.messagelabs.com id
	65/03-03078-1917ABF4; Mon, 21 May 2012 16:47:13 +0000
X-Env-Sender: rok.strnisa@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337618830!28280132!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7708 invoked from network); 21 May 2012 16:47:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:47:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25395702"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:47:09 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:47:09 -0400
Received: from [10.80.3.172] (helo=[127.0.1.1])	by ukmail1.uk.xensource.com
	with esmtp (Exim 4.69)	(envelope-from <rok.strnisa@citrix.com>)	id
	1SWVlF-0000cS-2n; Mon, 21 May 2012 17:47:09 +0100
MIME-Version: 1.0
X-Mercurial-Node: d7464edc5453c47e2ff8a0a5f98f32d6660cbb50
Message-ID: <d7464edc5453c47e2ff8.1337618956@Nexus>
User-Agent: Mercurial-patchbomb/2.0.2
Date: Mon, 21 May 2012 17:49:16 +0100
From: Rok Strnisa <rok.strnisa@citrix.com>
To: xen-devel@lists.xensource.com
Cc: rok.strnisa@citrix.com
Subject: [Xen-devel] [PATCH] Encapsulate several OCaml types within xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is done mainly because OCaml record type fields share the same namespace.
Due to this, several fields of the modified types were hidden, and therefore
inaccessible. Encapsulating the types within their own modules (in a standard
way), puts the field names within sub-namespaces, and so makes all fields
accessible.

Note that this is not a backward-compatible change. For example, code in xcp's
xen-api component needs to be modified accordingly.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>

diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -19,75 +19,80 @@ type domid = int
 
 (* ** xenctrl.h ** *)
 
-type vcpuinfo =
-{
-	online: bool;
-	blocked: bool;
-	running: bool;
-	cputime: int64;
-	cpumap: int32;
-}
+module Vcpu_info = struct
+	type t = {
+		online : bool;
+		blocked : bool;
+		running : bool;
+		cputime : int64;
+		cpumap : int32;
+	}
+end
 
-type domaininfo =
-{
-	domid             : domid;
-	dying             : bool;
-	shutdown          : bool;
-	paused            : bool;
-	blocked           : bool;
-	running           : bool;
-	hvm_guest         : bool;
-	shutdown_code     : int;
-	total_memory_pages: nativeint;
-	max_memory_pages  : nativeint;
-	shared_info_frame : int64;
-	cpu_time          : int64;
-	nr_online_vcpus   : int;
-	max_vcpu_id       : int;
-	ssidref           : int32;
-	handle            : int array;
-}
+module Domain_info = struct
+	type t = {
+		domid : domid;
+		dying : bool;
+		shutdown : bool;
+		paused : bool;
+		blocked : bool;
+		running : bool;
+		hvm_guest : bool;
+		shutdown_code : int;
+		total_memory_pages : nativeint;
+		max_memory_pages : nativeint;
+		shared_info_frame : int64;
+		cpu_time : int64;
+		nr_online_vcpus : int;
+		max_vcpu_id : int;
+		ssidref : int32;
+		handle : int array;
+	}
+end
 
-type sched_control =
-{
-	weight : int;
-	cap    : int;
-}
+module Sched_control = struct
+	type t = {
+		weight : int;
+		cap : int;
+	}
+end
 
-type physinfo_cap_flag =
-	| CAP_HVM
-	| CAP_DirectIO
+module Phys_info = struct
+	type cap_flag =
+		| CAP_HVM
+		| CAP_DirectIO
 
-type physinfo =
-{
-	threads_per_core : int;
-	cores_per_socket : int;
-	nr_cpus          : int;
-	max_node_id      : int;
-	cpu_khz          : int;
-	total_pages      : nativeint;
-	free_pages       : nativeint;
-	scrub_pages      : nativeint;
-	(* XXX hw_cap *)
-	capabilities     : physinfo_cap_flag list;
-	max_nr_cpus      : int;
-}
+	type t = {
+		threads_per_core : int;
+		cores_per_socket : int;
+		nr_cpus : int;
+		max_node_id : int;
+		cpu_khz : int;
+		total_pages : nativeint;
+		free_pages : nativeint;
+		scrub_pages : nativeint;
+		(* XXX hw_cap *)
+		capabilities : cap_flag list;
+		max_nr_cpus : int;
+	}
+end
 
-type version =
-{
-	major : int;
-	minor : int;
-	extra : string;
-}
+module Version = struct
+	type t = {
+		major : int;
+		minor : int;
+		extra : string;
+	}
+end
 
-
-type compile_info =
-{
-	compiler : string;
-	compile_by : string;
-	compile_domain : string;
-	compile_date : string;
-}
+module Compile_info = struct
+	type t = {
+		compiler : string;
+		compile_by : string;
+		compile_domain : string;
+		compile_date : string;
+	}
+end
 
 type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
 
@@ -148,21 +153,21 @@ external domain_destroy: handle -> domid
 external domain_shutdown: handle -> domid -> shutdown_reason -> unit
        = "stub_xc_domain_shutdown"
 
-external _domain_getinfolist: handle -> domid -> int -> domaininfo list
+external _domain_getinfolist: handle -> domid -> int -> Domain_info.t list
        = "stub_xc_domain_getinfolist"
 
 let domain_getinfolist handle first_domain =
 	let nb = 2 in
-	let last_domid l = (List.hd l).domid + 1 in
+	let last_domid l = (List.hd l).Domain_info.domid + 1 in
 	let rec __getlist from =
 		let l = _domain_getinfolist handle from nb in
 		(if List.length l = nb then __getlist (last_domid l) else []) @ l
 		in
 	List.rev (__getlist first_domain)
 
-external domain_getinfo: handle -> domid -> domaininfo= "stub_xc_domain_getinfo"
+external domain_getinfo: handle -> domid -> Domain_info.t = "stub_xc_domain_getinfo"
 
-external domain_get_vcpuinfo: handle -> int -> int -> vcpuinfo
+external domain_get_vcpuinfo: handle -> int -> int -> Vcpu_info.t
        = "stub_xc_vcpu_getinfo"
 
 external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
@@ -182,9 +187,9 @@ external vcpu_context_get: handle -> dom
 
 external sched_id: handle -> int = "stub_xc_sched_id"
 
-external sched_credit_domain_set: handle -> domid -> sched_control -> unit
+external sched_credit_domain_set: handle -> domid -> Sched_control.t -> unit
        = "stub_sched_credit_domain_set"
-external sched_credit_domain_get: handle -> domid -> sched_control
+external sched_credit_domain_get: handle -> domid -> Sched_control.t
        = "stub_sched_credit_domain_get"
 
 external shadow_allocation_set: handle -> domid -> int -> unit
@@ -199,7 +204,7 @@ external evtchn_reset: handle -> domid -
 external readconsolering: handle -> string = "stub_xc_readconsolering"
 
 external send_debug_keys: handle -> string -> unit = "stub_xc_send_debug_keys"
-external physinfo: handle -> physinfo = "stub_xc_physinfo"
+external physinfo: handle -> Phys_info.t = "stub_xc_physinfo"
 external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
 
 external domain_setmaxmem: handle -> domid -> int64 -> unit
@@ -237,8 +242,8 @@ external domain_deassign_device: handle 
 external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
        = "stub_xc_domain_test_assign_device"
 
-external version: handle -> version = "stub_xc_version_version"
-external version_compile_info: handle -> compile_info
+external version: handle -> Version.t = "stub_xc_version_version"
+external version_compile_info: handle -> Compile_info.t
        = "stub_xc_version_compile_info"
 external version_changeset: handle -> string = "stub_xc_version_changeset"
 external version_capabilities: handle -> string =
@@ -271,10 +276,10 @@ let coredump xch domid fd =
 
 	let info = domain_getinfo xch domid in
 
-	let nrpages = info.total_memory_pages in
-	let ctxt = Array.make info.max_vcpu_id None in
+	let nrpages = info.Domain_info.total_memory_pages in
+	let ctxt = Array.make info.Domain_info.max_vcpu_id None in
 	let nr_vcpus = ref 0 in
-	for i = 0 to info.max_vcpu_id - 1
+	for i = 0 to info.Domain_info.max_vcpu_id - 1
 	do
 		ctxt.(i) <- try
 			let v = vcpu_context_get xch domid i in
@@ -296,7 +301,7 @@ let coredump xch domid fd =
 		in
 
 	let header = {
-		xch_magic = if info.hvm_guest then Magic_hvm else Magic_pv;
+		xch_magic = if info.Domain_info.hvm_guest then Magic_hvm else Magic_pv;
 		xch_nr_vcpus = !nr_vcpus;
 		xch_nr_pages = nrpages;
 		xch_ctxt_offset = Int64.of_int (sizeof_core_header ());
@@ -306,7 +311,7 @@ let coredump xch domid fd =
 	} in
 
 	dump (marshall_core_header header);
-	for i = 0 to info.max_vcpu_id - 1
+	for i = 0 to info.Domain_info.max_vcpu_id - 1
 	do
 		match ctxt.(i) with
 		| None -> ()
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -15,52 +15,71 @@
  *)
 
 type domid = int
-type vcpuinfo = {
-  online : bool;
-  blocked : bool;
-  running : bool;
-  cputime : int64;
-  cpumap : int32;
-}
-type domaininfo = {
-  domid : domid;
-  dying : bool;
-  shutdown : bool;
-  paused : bool;
-  blocked : bool;
-  running : bool;
-  hvm_guest : bool;
-  shutdown_code : int;
-  total_memory_pages : nativeint;
-  max_memory_pages : nativeint;
-  shared_info_frame : int64;
-  cpu_time : int64;
-  nr_online_vcpus : int;
-  max_vcpu_id : int;
-  ssidref : int32;
-  handle : int array;
-}
-type sched_control = { weight : int; cap : int; }
-type physinfo_cap_flag = CAP_HVM | CAP_DirectIO
-type physinfo = {
-  threads_per_core : int;
-  cores_per_socket : int;
-  nr_cpus          : int;
-  max_node_id      : int;
-  cpu_khz          : int;
-  total_pages      : nativeint;
-  free_pages       : nativeint;
-  scrub_pages      : nativeint;
-  capabilities     : physinfo_cap_flag list;
-  max_nr_cpus      : int; (** compile-time max possible number of nr_cpus *)
-}
-type version = { major : int; minor : int; extra : string; }
-type compile_info = {
-  compiler : string;
-  compile_by : string;
-  compile_domain : string;
-  compile_date : string;
-}
+module Vcpu_info : sig
+	type t = {
+		online : bool;
+		blocked : bool;
+		running : bool;
+		cputime : int64;
+		cpumap : int32;
+	}
+end
+module Domain_info : sig
+	type t = {
+		domid : domid;
+		dying : bool;
+		shutdown : bool;
+		paused : bool;
+		blocked : bool;
+		running : bool;
+		hvm_guest : bool;
+		shutdown_code : int;
+		total_memory_pages : nativeint;
+		max_memory_pages : nativeint;
+		shared_info_frame : int64;
+		cpu_time : int64;
+		nr_online_vcpus : int;
+		max_vcpu_id : int;
+		ssidref : int32;
+		handle : int array;
+	}
+end
+module Sched_control : sig
+	type t = {
+		weight : int;
+		cap : int;
+	}
+end
+module Phys_info : sig
+	type cap_flag = CAP_HVM | CAP_DirectIO
+	type t = {
+		threads_per_core : int;
+		cores_per_socket : int;
+		nr_cpus : int;
+		max_node_id : int;
+		cpu_khz : int;
+		total_pages : nativeint;
+		free_pages : nativeint;
+		scrub_pages : nativeint;
+		capabilities : cap_flag list;
+		max_nr_cpus : int; (** compile-time max possible number of nr_cpus *)
+	}
+end
+module Version : sig
+	type t = {
+		major : int;
+		minor : int;
+		extra : string;
+	}
+end
+module Compile_info : sig
+	type t = {
+		compiler : string;
+		compile_by : string;
+		compile_domain : string;
+		compile_date : string;
+	}
+end
 type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
 
 type domain_create_flag = CDF_HVM | CDF_HAP
@@ -86,12 +105,12 @@ external domain_resume_fast : handle -> 
 external domain_destroy : handle -> domid -> unit = "stub_xc_domain_destroy"
 external domain_shutdown : handle -> domid -> shutdown_reason -> unit
   = "stub_xc_domain_shutdown"
-external _domain_getinfolist : handle -> domid -> int -> domaininfo list
+external _domain_getinfolist : handle -> domid -> int -> Domain_info.t list
   = "stub_xc_domain_getinfolist"
-val domain_getinfolist : handle -> domid -> domaininfo list
-external domain_getinfo : handle -> domid -> domaininfo
+val domain_getinfolist : handle -> domid -> Domain_info.t list
+external domain_getinfo : handle -> domid -> Domain_info.t
   = "stub_xc_domain_getinfo"
-external domain_get_vcpuinfo : handle -> int -> int -> vcpuinfo
+external domain_get_vcpuinfo : handle -> int -> int -> Vcpu_info.t
   = "stub_xc_vcpu_getinfo"
 external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
        = "stub_xc_domain_ioport_permission"
@@ -106,9 +125,9 @@ external vcpu_affinity_get : handle -> d
 external vcpu_context_get : handle -> domid -> int -> string
   = "stub_xc_vcpu_context_get"
 external sched_id : handle -> int = "stub_xc_sched_id"
-external sched_credit_domain_set : handle -> domid -> sched_control -> unit
+external sched_credit_domain_set : handle -> domid -> Sched_control.t -> unit
   = "stub_sched_credit_domain_set"
-external sched_credit_domain_get : handle -> domid -> sched_control
+external sched_credit_domain_get : handle -> domid -> Sched_control.t
   = "stub_sched_credit_domain_get"
 external shadow_allocation_set : handle -> domid -> int -> unit
   = "stub_shadow_allocation_set"
@@ -119,7 +138,7 @@ external evtchn_alloc_unbound : handle -
 external evtchn_reset : handle -> domid -> unit = "stub_xc_evtchn_reset"
 external readconsolering : handle -> string = "stub_xc_readconsolering"
 external send_debug_keys : handle -> string -> unit = "stub_xc_send_debug_keys"
-external physinfo : handle -> physinfo = "stub_xc_physinfo"
+external physinfo : handle -> Phys_info.t = "stub_xc_physinfo"
 external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
 external domain_setmaxmem : handle -> domid -> int64 -> unit
   = "stub_xc_domain_setmaxmem"
@@ -142,8 +161,8 @@ external domain_deassign_device: handle 
 external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
        = "stub_xc_domain_test_assign_device"
 
-external version : handle -> version = "stub_xc_version_version"
-external version_compile_info : handle -> compile_info
+external version : handle -> Version.t = "stub_xc_version_version"
+external version_compile_info : handle -> Compile_info.t
   = "stub_xc_version_compile_info"
 external version_changeset : handle -> string = "stub_xc_version_changeset"
 external version_capabilities : handle -> string
diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
--- a/tools/ocaml/xenstored/domains.ml
+++ b/tools/ocaml/xenstored/domains.ml
@@ -36,10 +36,11 @@ let cleanup xc doms =
 	Hashtbl.iter (fun id _ -> if id <> 0 then
 		try
 			let info = Xenctrl.domain_getinfo xc id in
-			if info.Xenctrl.shutdown || info.Xenctrl.dying then (
+			if info.Xenctrl.Domain_info.shutdown || info.Xenctrl.Domain_info.dying then (
 				debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
-				                    id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
-				if info.Xenctrl.dying then
+					id info.Xenctrl.Domain_info.dying info.Xenctrl.Domain_info.shutdown
+					info.Xenctrl.Domain_info.shutdown_code;
+				if info.Xenctrl.Domain_info.dying then
 					dead_dom := id :: !dead_dom
 				else
 					notify := true;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:47:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:47:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVlL-0006cA-VW; Mon, 21 May 2012 16:47:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rok.strnisa@citrix.com>) id 1SWVlK-0006c3-4P
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:47:14 +0000
Received: from [85.158.138.51:41088] by server-7.bemta-3.messagelabs.com id
	65/03-03078-1917ABF4; Mon, 21 May 2012 16:47:13 +0000
X-Env-Sender: rok.strnisa@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337618830!28280132!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7708 invoked from network); 21 May 2012 16:47:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:47:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25395702"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 12:47:09 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 12:47:09 -0400
Received: from [10.80.3.172] (helo=[127.0.1.1])	by ukmail1.uk.xensource.com
	with esmtp (Exim 4.69)	(envelope-from <rok.strnisa@citrix.com>)	id
	1SWVlF-0000cS-2n; Mon, 21 May 2012 17:47:09 +0100
MIME-Version: 1.0
X-Mercurial-Node: d7464edc5453c47e2ff8a0a5f98f32d6660cbb50
Message-ID: <d7464edc5453c47e2ff8.1337618956@Nexus>
User-Agent: Mercurial-patchbomb/2.0.2
Date: Mon, 21 May 2012 17:49:16 +0100
From: Rok Strnisa <rok.strnisa@citrix.com>
To: xen-devel@lists.xensource.com
Cc: rok.strnisa@citrix.com
Subject: [Xen-devel] [PATCH] Encapsulate several OCaml types within xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is done mainly because OCaml record type fields share the same namespace.
Due to this, several fields of the modified types were hidden, and therefore
inaccessible. Encapsulating the types within their own modules (in a standard
way), puts the field names within sub-namespaces, and so makes all fields
accessible.

Note that this is not a backward-compatible change. For example, code in xcp's
xen-api component needs to be modified accordingly.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>

diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -19,75 +19,80 @@ type domid = int
 
 (* ** xenctrl.h ** *)
 
-type vcpuinfo =
-{
-	online: bool;
-	blocked: bool;
-	running: bool;
-	cputime: int64;
-	cpumap: int32;
-}
+module Vcpu_info = struct
+	type t = {
+		online : bool;
+		blocked : bool;
+		running : bool;
+		cputime : int64;
+		cpumap : int32;
+	}
+end
 
-type domaininfo =
-{
-	domid             : domid;
-	dying             : bool;
-	shutdown          : bool;
-	paused            : bool;
-	blocked           : bool;
-	running           : bool;
-	hvm_guest         : bool;
-	shutdown_code     : int;
-	total_memory_pages: nativeint;
-	max_memory_pages  : nativeint;
-	shared_info_frame : int64;
-	cpu_time          : int64;
-	nr_online_vcpus   : int;
-	max_vcpu_id       : int;
-	ssidref           : int32;
-	handle            : int array;
-}
+module Domain_info = struct
+	type t = {
+		domid : domid;
+		dying : bool;
+		shutdown : bool;
+		paused : bool;
+		blocked : bool;
+		running : bool;
+		hvm_guest : bool;
+		shutdown_code : int;
+		total_memory_pages : nativeint;
+		max_memory_pages : nativeint;
+		shared_info_frame : int64;
+		cpu_time : int64;
+		nr_online_vcpus : int;
+		max_vcpu_id : int;
+		ssidref : int32;
+		handle : int array;
+	}
+end
 
-type sched_control =
-{
-	weight : int;
-	cap    : int;
-}
+module Sched_control = struct
+	type t = {
+		weight : int;
+		cap : int;
+	}
+end
 
-type physinfo_cap_flag =
-	| CAP_HVM
-	| CAP_DirectIO
+module Phys_info = struct
+	type cap_flag =
+		| CAP_HVM
+		| CAP_DirectIO
 
-type physinfo =
-{
-	threads_per_core : int;
-	cores_per_socket : int;
-	nr_cpus          : int;
-	max_node_id      : int;
-	cpu_khz          : int;
-	total_pages      : nativeint;
-	free_pages       : nativeint;
-	scrub_pages      : nativeint;
-	(* XXX hw_cap *)
-	capabilities     : physinfo_cap_flag list;
-	max_nr_cpus      : int;
-}
+	type t = {
+		threads_per_core : int;
+		cores_per_socket : int;
+		nr_cpus : int;
+		max_node_id : int;
+		cpu_khz : int;
+		total_pages : nativeint;
+		free_pages : nativeint;
+		scrub_pages : nativeint;
+		(* XXX hw_cap *)
+		capabilities : cap_flag list;
+		max_nr_cpus : int;
+	}
+end
 
-type version =
-{
-	major : int;
-	minor : int;
-	extra : string;
-}
+module Version = struct
+	type t = {
+		major : int;
+		minor : int;
+		extra : string;
+	}
+end
 
-
-type compile_info =
-{
-	compiler : string;
-	compile_by : string;
-	compile_domain : string;
-	compile_date : string;
-}
+module Compile_info = struct
+	type t = {
+		compiler : string;
+		compile_by : string;
+		compile_domain : string;
+		compile_date : string;
+	}
+end
 
 type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
 
@@ -148,21 +153,21 @@ external domain_destroy: handle -> domid
 external domain_shutdown: handle -> domid -> shutdown_reason -> unit
        = "stub_xc_domain_shutdown"
 
-external _domain_getinfolist: handle -> domid -> int -> domaininfo list
+external _domain_getinfolist: handle -> domid -> int -> Domain_info.t list
        = "stub_xc_domain_getinfolist"
 
 let domain_getinfolist handle first_domain =
 	let nb = 2 in
-	let last_domid l = (List.hd l).domid + 1 in
+	let last_domid l = (List.hd l).Domain_info.domid + 1 in
 	let rec __getlist from =
 		let l = _domain_getinfolist handle from nb in
 		(if List.length l = nb then __getlist (last_domid l) else []) @ l
 		in
 	List.rev (__getlist first_domain)
 
-external domain_getinfo: handle -> domid -> domaininfo= "stub_xc_domain_getinfo"
+external domain_getinfo: handle -> domid -> Domain_info.t = "stub_xc_domain_getinfo"
 
-external domain_get_vcpuinfo: handle -> int -> int -> vcpuinfo
+external domain_get_vcpuinfo: handle -> int -> int -> Vcpu_info.t
        = "stub_xc_vcpu_getinfo"
 
 external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
@@ -182,9 +187,9 @@ external vcpu_context_get: handle -> dom
 
 external sched_id: handle -> int = "stub_xc_sched_id"
 
-external sched_credit_domain_set: handle -> domid -> sched_control -> unit
+external sched_credit_domain_set: handle -> domid -> Sched_control.t -> unit
        = "stub_sched_credit_domain_set"
-external sched_credit_domain_get: handle -> domid -> sched_control
+external sched_credit_domain_get: handle -> domid -> Sched_control.t
        = "stub_sched_credit_domain_get"
 
 external shadow_allocation_set: handle -> domid -> int -> unit
@@ -199,7 +204,7 @@ external evtchn_reset: handle -> domid -
 external readconsolering: handle -> string = "stub_xc_readconsolering"
 
 external send_debug_keys: handle -> string -> unit = "stub_xc_send_debug_keys"
-external physinfo: handle -> physinfo = "stub_xc_physinfo"
+external physinfo: handle -> Phys_info.t = "stub_xc_physinfo"
 external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
 
 external domain_setmaxmem: handle -> domid -> int64 -> unit
@@ -237,8 +242,8 @@ external domain_deassign_device: handle 
 external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
        = "stub_xc_domain_test_assign_device"
 
-external version: handle -> version = "stub_xc_version_version"
-external version_compile_info: handle -> compile_info
+external version: handle -> Version.t = "stub_xc_version_version"
+external version_compile_info: handle -> Compile_info.t
        = "stub_xc_version_compile_info"
 external version_changeset: handle -> string = "stub_xc_version_changeset"
 external version_capabilities: handle -> string =
@@ -271,10 +276,10 @@ let coredump xch domid fd =
 
 	let info = domain_getinfo xch domid in
 
-	let nrpages = info.total_memory_pages in
-	let ctxt = Array.make info.max_vcpu_id None in
+	let nrpages = info.Domain_info.total_memory_pages in
+	let ctxt = Array.make info.Domain_info.max_vcpu_id None in
 	let nr_vcpus = ref 0 in
-	for i = 0 to info.max_vcpu_id - 1
+	for i = 0 to info.Domain_info.max_vcpu_id - 1
 	do
 		ctxt.(i) <- try
 			let v = vcpu_context_get xch domid i in
@@ -296,7 +301,7 @@ let coredump xch domid fd =
 		in
 
 	let header = {
-		xch_magic = if info.hvm_guest then Magic_hvm else Magic_pv;
+		xch_magic = if info.Domain_info.hvm_guest then Magic_hvm else Magic_pv;
 		xch_nr_vcpus = !nr_vcpus;
 		xch_nr_pages = nrpages;
 		xch_ctxt_offset = Int64.of_int (sizeof_core_header ());
@@ -306,7 +311,7 @@ let coredump xch domid fd =
 	} in
 
 	dump (marshall_core_header header);
-	for i = 0 to info.max_vcpu_id - 1
+	for i = 0 to info.Domain_info.max_vcpu_id - 1
 	do
 		match ctxt.(i) with
 		| None -> ()
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -15,52 +15,71 @@
  *)
 
 type domid = int
-type vcpuinfo = {
-  online : bool;
-  blocked : bool;
-  running : bool;
-  cputime : int64;
-  cpumap : int32;
-}
-type domaininfo = {
-  domid : domid;
-  dying : bool;
-  shutdown : bool;
-  paused : bool;
-  blocked : bool;
-  running : bool;
-  hvm_guest : bool;
-  shutdown_code : int;
-  total_memory_pages : nativeint;
-  max_memory_pages : nativeint;
-  shared_info_frame : int64;
-  cpu_time : int64;
-  nr_online_vcpus : int;
-  max_vcpu_id : int;
-  ssidref : int32;
-  handle : int array;
-}
-type sched_control = { weight : int; cap : int; }
-type physinfo_cap_flag = CAP_HVM | CAP_DirectIO
-type physinfo = {
-  threads_per_core : int;
-  cores_per_socket : int;
-  nr_cpus          : int;
-  max_node_id      : int;
-  cpu_khz          : int;
-  total_pages      : nativeint;
-  free_pages       : nativeint;
-  scrub_pages      : nativeint;
-  capabilities     : physinfo_cap_flag list;
-  max_nr_cpus      : int; (** compile-time max possible number of nr_cpus *)
-}
-type version = { major : int; minor : int; extra : string; }
-type compile_info = {
-  compiler : string;
-  compile_by : string;
-  compile_domain : string;
-  compile_date : string;
-}
+module Vcpu_info : sig
+	type t = {
+		online : bool;
+		blocked : bool;
+		running : bool;
+		cputime : int64;
+		cpumap : int32;
+	}
+end
+module Domain_info : sig
+	type t = {
+		domid : domid;
+		dying : bool;
+		shutdown : bool;
+		paused : bool;
+		blocked : bool;
+		running : bool;
+		hvm_guest : bool;
+		shutdown_code : int;
+		total_memory_pages : nativeint;
+		max_memory_pages : nativeint;
+		shared_info_frame : int64;
+		cpu_time : int64;
+		nr_online_vcpus : int;
+		max_vcpu_id : int;
+		ssidref : int32;
+		handle : int array;
+	}
+end
+module Sched_control : sig
+	type t = {
+		weight : int;
+		cap : int;
+	}
+end
+module Phys_info : sig
+	type cap_flag = CAP_HVM | CAP_DirectIO
+	type t = {
+		threads_per_core : int;
+		cores_per_socket : int;
+		nr_cpus : int;
+		max_node_id : int;
+		cpu_khz : int;
+		total_pages : nativeint;
+		free_pages : nativeint;
+		scrub_pages : nativeint;
+		capabilities : cap_flag list;
+		max_nr_cpus : int; (** compile-time max possible number of nr_cpus *)
+	}
+end
+module Version : sig
+	type t = {
+		major : int;
+		minor : int;
+		extra : string;
+	}
+end
+module Compile_info : sig
+	type t = {
+		compiler : string;
+		compile_by : string;
+		compile_domain : string;
+		compile_date : string;
+	}
+end
 type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
 
 type domain_create_flag = CDF_HVM | CDF_HAP
@@ -86,12 +105,12 @@ external domain_resume_fast : handle -> 
 external domain_destroy : handle -> domid -> unit = "stub_xc_domain_destroy"
 external domain_shutdown : handle -> domid -> shutdown_reason -> unit
   = "stub_xc_domain_shutdown"
-external _domain_getinfolist : handle -> domid -> int -> domaininfo list
+external _domain_getinfolist : handle -> domid -> int -> Domain_info.t list
   = "stub_xc_domain_getinfolist"
-val domain_getinfolist : handle -> domid -> domaininfo list
-external domain_getinfo : handle -> domid -> domaininfo
+val domain_getinfolist : handle -> domid -> Domain_info.t list
+external domain_getinfo : handle -> domid -> Domain_info.t
   = "stub_xc_domain_getinfo"
-external domain_get_vcpuinfo : handle -> int -> int -> vcpuinfo
+external domain_get_vcpuinfo : handle -> int -> int -> Vcpu_info.t
   = "stub_xc_vcpu_getinfo"
 external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
        = "stub_xc_domain_ioport_permission"
@@ -106,9 +125,9 @@ external vcpu_affinity_get : handle -> d
 external vcpu_context_get : handle -> domid -> int -> string
   = "stub_xc_vcpu_context_get"
 external sched_id : handle -> int = "stub_xc_sched_id"
-external sched_credit_domain_set : handle -> domid -> sched_control -> unit
+external sched_credit_domain_set : handle -> domid -> Sched_control.t -> unit
   = "stub_sched_credit_domain_set"
-external sched_credit_domain_get : handle -> domid -> sched_control
+external sched_credit_domain_get : handle -> domid -> Sched_control.t
   = "stub_sched_credit_domain_get"
 external shadow_allocation_set : handle -> domid -> int -> unit
   = "stub_shadow_allocation_set"
@@ -119,7 +138,7 @@ external evtchn_alloc_unbound : handle -
 external evtchn_reset : handle -> domid -> unit = "stub_xc_evtchn_reset"
 external readconsolering : handle -> string = "stub_xc_readconsolering"
 external send_debug_keys : handle -> string -> unit = "stub_xc_send_debug_keys"
-external physinfo : handle -> physinfo = "stub_xc_physinfo"
+external physinfo : handle -> Phys_info.t = "stub_xc_physinfo"
 external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
 external domain_setmaxmem : handle -> domid -> int64 -> unit
   = "stub_xc_domain_setmaxmem"
@@ -142,8 +161,8 @@ external domain_deassign_device: handle 
 external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
        = "stub_xc_domain_test_assign_device"
 
-external version : handle -> version = "stub_xc_version_version"
-external version_compile_info : handle -> compile_info
+external version : handle -> Version.t = "stub_xc_version_version"
+external version_compile_info : handle -> Compile_info.t
   = "stub_xc_version_compile_info"
 external version_changeset : handle -> string = "stub_xc_version_changeset"
 external version_capabilities : handle -> string
diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
--- a/tools/ocaml/xenstored/domains.ml
+++ b/tools/ocaml/xenstored/domains.ml
@@ -36,10 +36,11 @@ let cleanup xc doms =
 	Hashtbl.iter (fun id _ -> if id <> 0 then
 		try
 			let info = Xenctrl.domain_getinfo xc id in
-			if info.Xenctrl.shutdown || info.Xenctrl.dying then (
+			if info.Xenctrl.Domain_info.shutdown || info.Xenctrl.Domain_info.dying then (
 				debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
-				                    id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
-				if info.Xenctrl.dying then
+					id info.Xenctrl.Domain_info.dying info.Xenctrl.Domain_info.shutdown
+					info.Xenctrl.Domain_info.shutdown_code;
+				if info.Xenctrl.Domain_info.dying then
 					dead_dom := id :: !dead_dom
 				else
 					notify := true;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:48:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVmH-0006f6-DR; Mon, 21 May 2012 16:48:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWVmG-0006et-9Q
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:48:12 +0000
Received: from [85.158.139.83:7675] by server-10.bemta-5.messagelabs.com id
	4E/8D-14168-BC17ABF4; Mon, 21 May 2012 16:48:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337618890!29549341!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22906 invoked from network); 21 May 2012 16:48:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:48:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12585961"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:48:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:48:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWVmE-0000bA-2X; Mon, 21 May 2012 16:48:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWVmE-0005qY-1o;
	Mon, 21 May 2012 17:48:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20410.29130.43326.782320@mariner.uk.xensource.com>
Date: Mon, 21 May 2012 17:48:10 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211727110.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205211727110.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> On Fri, 18 May 2012, Ian Jackson wrote:
> > Can't this be done in such a way that the diff isn't "delete this
> > function completely" followed by "here is a new function" ?
> 
> I don't know. Do you have any suggestions?  TBH if I were you, I would
> just open two terminals and compare line by line, but let me know if you
> want to do something specific..

If you leave all the existing code for the internal function in place
and simply change the function declaration and prologue, and
corresponding epilogue, you should find that diff doesn't mention the
contents at all.

The new public wrapper will of course be new.

> ATM there are no hidden functions in libxl.c.
> Do you want to change this "policy"?

I think there is no reason for this and it is not something I want to
preserve.  The distinction between internal and external is not a good
basis for which file something should be in.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 16:48:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 16:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWVmH-0006f6-DR; Mon, 21 May 2012 16:48:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWVmG-0006et-9Q
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 16:48:12 +0000
Received: from [85.158.139.83:7675] by server-10.bemta-5.messagelabs.com id
	4E/8D-14168-BC17ABF4; Mon, 21 May 2012 16:48:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337618890!29549341!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22906 invoked from network); 21 May 2012 16:48:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 16:48:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12585961"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 16:48:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 17:48:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWVmE-0000bA-2X; Mon, 21 May 2012 16:48:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWVmE-0005qY-1o;
	Mon, 21 May 2012 17:48:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20410.29130.43326.782320@mariner.uk.xensource.com>
Date: Mon, 21 May 2012 17:48:10 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211727110.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24167.894794.935567@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205211727110.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v6 05/11] libxl: introduce libxl__device_disk_add"):
> On Fri, 18 May 2012, Ian Jackson wrote:
> > Can't this be done in such a way that the diff isn't "delete this
> > function completely" followed by "here is a new function" ?
> 
> I don't know. Do you have any suggestions?  TBH if I were you, I would
> just open two terminals and compare line by line, but let me know if you
> want to do something specific..

If you leave all the existing code for the internal function in place
and simply change the function declaration and prologue, and
corresponding epilogue, you should find that diff doesn't mention the
contents at all.

The new public wrapper will of course be new.

> ATM there are no hidden functions in libxl.c.
> Do you want to change this "policy"?

I think there is no reason for this and it is not something I want to
preserve.  The distinction between internal and external is not a good
basis for which file something should be in.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:34:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:34:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWUF-0007Di-Ee; Mon, 21 May 2012 17:33:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWWUD-0007Dd-Qc
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:33:38 +0000
Received: from [193.109.254.147:18829] by server-3.bemta-14.messagelabs.com id
	C5/20-23274-17C7ABF4; Mon, 21 May 2012 17:33:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337621615!4746940!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQyMDAz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32068 invoked from network); 21 May 2012 17:33:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 17:33:36 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LHXUoO032659
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 17:33:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LHXU0p025516
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 17:33:30 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LHXUcU001615; Mon, 21 May 2012 12:33:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 10:33:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B9CD1402FB; Mon, 21 May 2012 13:27:03 -0400 (EDT)
Date: Mon, 21 May 2012 13:27:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120521172703.GA9988@phenom.dumpdata.com>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> PV on HVM guests map GSIs into event channels; at restore time the
> event channels are resumed by restore_pirqs.
> Device drivers might try to register the same GSI again through ACPI at
> restore time, but the GSI has already been mapped and bound by
> restore_pirqs.

Which means... what kind of error do we get without this patch?

> This patch detects these situations and avoid mapping the same GSI
> multiple times.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  arch/x86/pci/xen.c   |    4 ++++
>  drivers/xen/events.c |    5 +++--
>  include/xen/events.h |    3 +++
>  3 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
> index 7415aa9..56ab749 100644
> --- a/arch/x86/pci/xen.c
> +++ b/arch/x86/pci/xen.c
> @@ -64,6 +64,10 @@ static int xen_register_pirq(u32 gsi, int gsi_override, int triggering,
>  	int shareable = 0;
>  	char *name;
>  
> +	irq = xen_irq_from_gsi(gsi);
> +	if (irq > 0)
> +		return irq;
> +
>  	if (set_pirq)
>  		pirq = gsi;
>  
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index 0a8a17c..6908e4c 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -611,7 +611,7 @@ static void disable_pirq(struct irq_data *data)
>  	disable_dynirq(data);
>  }
>  
> -static int find_irq_by_gsi(unsigned gsi)
> +int xen_irq_from_gsi(unsigned gsi)
>  {
>  	struct irq_info *info;
>  
> @@ -625,6 +625,7 @@ static int find_irq_by_gsi(unsigned gsi)
>  
>  	return -1;
>  }
> +EXPORT_SYMBOL_GPL(xen_irq_from_gsi);
>  
>  /*
>   * Do not make any assumptions regarding the relationship between the
> @@ -644,7 +645,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi,
>  
>  	mutex_lock(&irq_mapping_update_lock);
>  
> -	irq = find_irq_by_gsi(gsi);
> +	irq = xen_irq_from_gsi(gsi);
>  	if (irq != -1) {
>  		printk(KERN_INFO "xen_map_pirq_gsi: returning irq %d for gsi %u\n",
>  		       irq, gsi);
> diff --git a/include/xen/events.h b/include/xen/events.h
> index 0f77370..b332bd7 100644
> --- a/include/xen/events.h
> +++ b/include/xen/events.h
> @@ -103,6 +103,9 @@ int xen_irq_from_pirq(unsigned pirq);
>  /* Return the pirq allocated to the irq. */
>  int xen_pirq_from_irq(unsigned irq);
>  
> +/* Return the irq allocated to the gsi */
> +int xen_irq_from_gsi (unsigned gsi);
> +
>  /* Determine whether to ignore this IRQ if it is passed to a guest. */
>  int xen_test_irq_shared(int irq);
>  
> -- 
> 1.7.2.5

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:34:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:34:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWUF-0007Di-Ee; Mon, 21 May 2012 17:33:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWWUD-0007Dd-Qc
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:33:38 +0000
Received: from [193.109.254.147:18829] by server-3.bemta-14.messagelabs.com id
	C5/20-23274-17C7ABF4; Mon, 21 May 2012 17:33:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337621615!4746940!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQyMDAz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32068 invoked from network); 21 May 2012 17:33:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 17:33:36 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LHXUoO032659
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 17:33:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LHXU0p025516
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 17:33:30 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LHXUcU001615; Mon, 21 May 2012 12:33:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 10:33:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B9CD1402FB; Mon, 21 May 2012 13:27:03 -0400 (EDT)
Date: Mon, 21 May 2012 13:27:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120521172703.GA9988@phenom.dumpdata.com>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> PV on HVM guests map GSIs into event channels; at restore time the
> event channels are resumed by restore_pirqs.
> Device drivers might try to register the same GSI again through ACPI at
> restore time, but the GSI has already been mapped and bound by
> restore_pirqs.

Which means... what kind of error do we get without this patch?

> This patch detects these situations and avoid mapping the same GSI
> multiple times.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  arch/x86/pci/xen.c   |    4 ++++
>  drivers/xen/events.c |    5 +++--
>  include/xen/events.h |    3 +++
>  3 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
> index 7415aa9..56ab749 100644
> --- a/arch/x86/pci/xen.c
> +++ b/arch/x86/pci/xen.c
> @@ -64,6 +64,10 @@ static int xen_register_pirq(u32 gsi, int gsi_override, int triggering,
>  	int shareable = 0;
>  	char *name;
>  
> +	irq = xen_irq_from_gsi(gsi);
> +	if (irq > 0)
> +		return irq;
> +
>  	if (set_pirq)
>  		pirq = gsi;
>  
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index 0a8a17c..6908e4c 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -611,7 +611,7 @@ static void disable_pirq(struct irq_data *data)
>  	disable_dynirq(data);
>  }
>  
> -static int find_irq_by_gsi(unsigned gsi)
> +int xen_irq_from_gsi(unsigned gsi)
>  {
>  	struct irq_info *info;
>  
> @@ -625,6 +625,7 @@ static int find_irq_by_gsi(unsigned gsi)
>  
>  	return -1;
>  }
> +EXPORT_SYMBOL_GPL(xen_irq_from_gsi);
>  
>  /*
>   * Do not make any assumptions regarding the relationship between the
> @@ -644,7 +645,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi,
>  
>  	mutex_lock(&irq_mapping_update_lock);
>  
> -	irq = find_irq_by_gsi(gsi);
> +	irq = xen_irq_from_gsi(gsi);
>  	if (irq != -1) {
>  		printk(KERN_INFO "xen_map_pirq_gsi: returning irq %d for gsi %u\n",
>  		       irq, gsi);
> diff --git a/include/xen/events.h b/include/xen/events.h
> index 0f77370..b332bd7 100644
> --- a/include/xen/events.h
> +++ b/include/xen/events.h
> @@ -103,6 +103,9 @@ int xen_irq_from_pirq(unsigned pirq);
>  /* Return the pirq allocated to the irq. */
>  int xen_pirq_from_irq(unsigned irq);
>  
> +/* Return the irq allocated to the gsi */
> +int xen_irq_from_gsi (unsigned gsi);
> +
>  /* Determine whether to ignore this IRQ if it is passed to a guest. */
>  int xen_test_irq_shared(int irq);
>  
> -- 
> 1.7.2.5

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:43:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWdY-0007N9-GN; Mon, 21 May 2012 17:43:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWWdW-0007N4-Ow
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:43:14 +0000
Received: from [85.158.139.83:15998] by server-2.bemta-5.messagelabs.com id
	6B/42-17716-2BE7ABF4; Mon, 21 May 2012 17:43:14 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337622190!29034264!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQyMDAz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6881 invoked from network); 21 May 2012 17:43:12 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 17:43:12 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LHh6kR009402
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 17:43:07 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LHh5nO015219
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 17:43:06 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LHh5Tt009612; Mon, 21 May 2012 12:43:05 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 10:43:04 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E6B55402FB; Mon, 21 May 2012 13:36:38 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
	netdev@vger.kernel.org, davem@davemloft.net, linux-kernel@vger.kernel.org
Date: Mon, 21 May 2012 13:36:33 -0400
Message-Id: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Adnan Misherfi <adnan.misherfi@oracle.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Adnan Misherfi <adnan.misherfi@oracle.com>

A programming error cause the calculation of receive SKB slots to be
wrong, which caused the RX ring to be erroneously declared full,
and the receive queue to be stopped. The problem shows up when two
guest running on the same server tries to communicates using large
MTUs. Each guest is connected to a bridge with VLAN over bond
interface, so traffic from one guest leaves the server on one bridge
and comes back to the second guest on the second bridge. This can be
reproduces using ping, and one guest as follow:

- Create active-back bond (bond0)
- Set up VLAN 5 on bond0 (bond0.5)
- Create a bridge (br1)
- Add bond0.5 to a bridge (br1)
- Start a guest and connect it to br1
- Set MTU of 9000 across the link

Ping the guest from an external host using packet sizes of 3991, and
4054; ping -s 3991 -c 128 "Guest-IP-Address"

At the beginning ping works fine, but after a while ping packets do
not reach the guest because the RX ring becomes full, and the queue
get stopped. Once the problem accrued, the only way to get out of it
is to reboot the guest, or use xm network-detach/network-attach.

ping works for packets sizes 3990,3992, and many other sizes including
4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
that quickly reproduce this problem.

Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/net/xen-netback/netback.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 957cf9d..e382e5b 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
 	int i, copy_off;
 
 	count = DIV_ROUND_UP(
-			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
+			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
 
 	copy_off = skb_headlen(skb) % PAGE_SIZE;
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:43:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWdY-0007N9-GN; Mon, 21 May 2012 17:43:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWWdW-0007N4-Ow
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:43:14 +0000
Received: from [85.158.139.83:15998] by server-2.bemta-5.messagelabs.com id
	6B/42-17716-2BE7ABF4; Mon, 21 May 2012 17:43:14 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337622190!29034264!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQyMDAz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6881 invoked from network); 21 May 2012 17:43:12 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 17:43:12 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LHh6kR009402
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 17:43:07 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LHh5nO015219
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 17:43:06 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LHh5Tt009612; Mon, 21 May 2012 12:43:05 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 10:43:04 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E6B55402FB; Mon, 21 May 2012 13:36:38 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
	netdev@vger.kernel.org, davem@davemloft.net, linux-kernel@vger.kernel.org
Date: Mon, 21 May 2012 13:36:33 -0400
Message-Id: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Adnan Misherfi <adnan.misherfi@oracle.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Adnan Misherfi <adnan.misherfi@oracle.com>

A programming error cause the calculation of receive SKB slots to be
wrong, which caused the RX ring to be erroneously declared full,
and the receive queue to be stopped. The problem shows up when two
guest running on the same server tries to communicates using large
MTUs. Each guest is connected to a bridge with VLAN over bond
interface, so traffic from one guest leaves the server on one bridge
and comes back to the second guest on the second bridge. This can be
reproduces using ping, and one guest as follow:

- Create active-back bond (bond0)
- Set up VLAN 5 on bond0 (bond0.5)
- Create a bridge (br1)
- Add bond0.5 to a bridge (br1)
- Start a guest and connect it to br1
- Set MTU of 9000 across the link

Ping the guest from an external host using packet sizes of 3991, and
4054; ping -s 3991 -c 128 "Guest-IP-Address"

At the beginning ping works fine, but after a while ping packets do
not reach the guest because the RX ring becomes full, and the queue
get stopped. Once the problem accrued, the only way to get out of it
is to reboot the guest, or use xm network-detach/network-attach.

ping works for packets sizes 3990,3992, and many other sizes including
4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
that quickly reproduce this problem.

Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/net/xen-netback/netback.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 957cf9d..e382e5b 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
 	int i, copy_off;
 
 	count = DIV_ROUND_UP(
-			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
+			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
 
 	copy_off = skb_headlen(skb) % PAGE_SIZE;
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:48:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:48:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWiB-0007V0-6z; Mon, 21 May 2012 17:48:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWiA-0007Uv-AG
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:48:02 +0000
Received: from [85.158.143.99:50591] by server-1.bemta-4.messagelabs.com id
	AE/C3-00342-1DF7ABF4; Mon, 21 May 2012 17:48:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337622480!25703267!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10502 invoked from network); 21 May 2012 17:48:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 17:48:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12586866"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 17:47:59 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 18:47:59 +0100
Date: Mon, 21 May 2012 18:47:44 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120521172703.GA9988@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120521172703.GA9988@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> > PV on HVM guests map GSIs into event channels; at restore time the
> > event channels are resumed by restore_pirqs.
> > Device drivers might try to register the same GSI again through ACPI at
> > restore time, but the GSI has already been mapped and bound by
> > restore_pirqs.
> 
> Which means... what kind of error do we get without this patch?

Xen would print:

(XEN) irq.c:2235: dom4: pirq 23 or emuirq 28 already mapped

and waste a pirq

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:48:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:48:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWiB-0007V0-6z; Mon, 21 May 2012 17:48:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWiA-0007Uv-AG
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:48:02 +0000
Received: from [85.158.143.99:50591] by server-1.bemta-4.messagelabs.com id
	AE/C3-00342-1DF7ABF4; Mon, 21 May 2012 17:48:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337622480!25703267!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10502 invoked from network); 21 May 2012 17:48:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 17:48:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12586866"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 17:47:59 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 18:47:59 +0100
Date: Mon, 21 May 2012 18:47:44 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120521172703.GA9988@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120521172703.GA9988@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> > PV on HVM guests map GSIs into event channels; at restore time the
> > event channels are resumed by restore_pirqs.
> > Device drivers might try to register the same GSI again through ACPI at
> > restore time, but the GSI has already been mapped and bound by
> > restore_pirqs.
> 
> Which means... what kind of error do we get without this patch?

Xen would print:

(XEN) irq.c:2235: dom4: pirq 23 or emuirq 28 already mapped

and waste a pirq

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:51:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:51:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWkc-0007bd-BB; Mon, 21 May 2012 17:50:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWka-0007bW-PD
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:50:32 +0000
Received: from [193.109.254.147:31667] by server-9.bemta-14.messagelabs.com id
	40/1A-05787-8608ABF4; Mon, 21 May 2012 17:50:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337622619!4749013!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17382 invoked from network); 21 May 2012 17:50:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 17:50:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12586884"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 17:50:19 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 18:50:19 +0100
Date: Mon, 21 May 2012 18:50:14 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.24419.849941.504507@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24419.849941.504507@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
> ...
> > +/* Same as in Linux.
> > + * The maximum buffer length is 32 bytes.
> > + * The code is safe thanks to the upper bound enforced by the caller. */
> > +static char *encode_disk_name(char *ptr, unsigned int n)
> 
> So this says that encode_disk_name may use up to 32 bytes in *ptr
> (including or excluding the trailing nul?)
> 
> _Why_ may the maximum buffer length used be 32 bytes ?  Also, "maximum
> buffer length" is a confusing phrase because it seems to refer to the
> /actual/ length of the buffer rather than the amount /used/.
> 
> And this...
> 
> > +    char *ret = libxl__zalloc(gc, 32);
> 
> ... allocates a 32 byte buffer which we then fill with ...
> 
> > +    strcpy(ret, "xvd");
> > +    ptr = encode_disk_name(ret + 3, offset);
> 
> 3 characters plus the encoded disk name.  So possibly using up to 36
> bytes.
> 
> In fact it seems to me that there could be a much tighter upper bound
> on the length of output of encode_disk_name (based on arithmetic) but
> it needs to be properly calculated and documented and perhaps put in a
> #define.
 
If my math is correct there is no need to enforce an upper limit because
even if we suppose that offset is ULONG_MAX on 64 bits it would still be
lower than 26 elevated at 28 that is the actual upper limit.
I am going to write this in a comment.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:51:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:51:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWkc-0007bd-BB; Mon, 21 May 2012 17:50:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWka-0007bW-PD
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:50:32 +0000
Received: from [193.109.254.147:31667] by server-9.bemta-14.messagelabs.com id
	40/1A-05787-8608ABF4; Mon, 21 May 2012 17:50:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337622619!4749013!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17382 invoked from network); 21 May 2012 17:50:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 17:50:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12586884"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 17:50:19 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 18:50:19 +0100
Date: Mon, 21 May 2012 18:50:14 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20406.24419.849941.504507@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24419.849941.504507@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 18 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > domain passed as argument.
> ...
> > +/* Same as in Linux.
> > + * The maximum buffer length is 32 bytes.
> > + * The code is safe thanks to the upper bound enforced by the caller. */
> > +static char *encode_disk_name(char *ptr, unsigned int n)
> 
> So this says that encode_disk_name may use up to 32 bytes in *ptr
> (including or excluding the trailing nul?)
> 
> _Why_ may the maximum buffer length used be 32 bytes ?  Also, "maximum
> buffer length" is a confusing phrase because it seems to refer to the
> /actual/ length of the buffer rather than the amount /used/.
> 
> And this...
> 
> > +    char *ret = libxl__zalloc(gc, 32);
> 
> ... allocates a 32 byte buffer which we then fill with ...
> 
> > +    strcpy(ret, "xvd");
> > +    ptr = encode_disk_name(ret + 3, offset);
> 
> 3 characters plus the encoded disk name.  So possibly using up to 36
> bytes.
> 
> In fact it seems to me that there could be a much tighter upper bound
> on the length of output of encode_disk_name (based on arithmetic) but
> it needs to be properly calculated and documented and perhaps put in a
> #define.
 
If my math is correct there is no need to enforce an upper limit because
even if we suppose that offset is ULONG_MAX on 64 bits it would still be
lower than 26 elevated at 28 that is the actual upper limit.
I am going to write this in a comment.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:53:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWnZ-0007m4-Tq; Mon, 21 May 2012 17:53:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWWnY-0007lw-CO
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:53:36 +0000
Received: from [193.109.254.147:8382] by server-6.bemta-14.messagelabs.com id
	F4/48-04960-F118ABF4; Mon, 21 May 2012 17:53:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337622815!3577807!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31847 invoked from network); 21 May 2012 17:53:35 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 17:53:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12586919"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 17:53:35 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 18:53:35 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWWnW-00012m-ML;
	Mon, 21 May 2012 17:53:34 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWWnW-0007rC-Gt;
	Mon, 21 May 2012 18:53:34 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12948-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 18:53:34 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12948: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12948 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12948/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64  9 guest-localmigrate  fail pass in 12946
 test-amd64-i386-xl-qemuu-win7-amd64 10 guest-saverestore.2  fail pass in 12946
 test-amd64-amd64-xl-qemuu-win 12 guest-localmigrate/x10 fail in 12946 pass in 12948

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12946 blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12946 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:53:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWnZ-0007m4-Tq; Mon, 21 May 2012 17:53:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWWnY-0007lw-CO
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:53:36 +0000
Received: from [193.109.254.147:8382] by server-6.bemta-14.messagelabs.com id
	F4/48-04960-F118ABF4; Mon, 21 May 2012 17:53:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337622815!3577807!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31847 invoked from network); 21 May 2012 17:53:35 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 17:53:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12586919"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 17:53:35 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 18:53:35 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWWnW-00012m-ML;
	Mon, 21 May 2012 17:53:34 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWWnW-0007rC-Gt;
	Mon, 21 May 2012 18:53:34 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12948-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 18:53:34 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12948: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12948 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12948/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64  9 guest-localmigrate  fail pass in 12946
 test-amd64-i386-xl-qemuu-win7-amd64 10 guest-saverestore.2  fail pass in 12946
 test-amd64-amd64-xl-qemuu-win 12 guest-localmigrate/x10 fail in 12946 pass in 12948

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12946 blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12946 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:58:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWs9-000818-7t; Mon, 21 May 2012 17:58:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWWs7-00080o-0p
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:58:19 +0000
Received: from [85.158.143.99:24713] by server-2.bemta-4.messagelabs.com id
	B5/1A-12211-A328ABF4; Mon, 21 May 2012 17:58:18 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337623094!22528084!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28489 invoked from network); 21 May 2012 17:58:16 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 17:58:16 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LHw9nQ031451
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 17:58:10 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LHw8t8000329
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 17:58:09 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LHw8kI020195; Mon, 21 May 2012 12:58:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 10:58:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 48FB4402FB; Mon, 21 May 2012 13:51:42 -0400 (EDT)
Date: Mon, 21 May 2012 13:51:42 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120521175142.GA13990@phenom.dumpdata.com>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120521172703.GA9988@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 06:47:44PM +0100, Stefano Stabellini wrote:
> On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> > On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> > > PV on HVM guests map GSIs into event channels; at restore time the
> > > event channels are resumed by restore_pirqs.
> > > Device drivers might try to register the same GSI again through ACPI at
> > > restore time, but the GSI has already been mapped and bound by
> > > restore_pirqs.
> > 
> > Which means... what kind of error do we get without this patch?
> 
> Xen would print:
> 
> (XEN) irq.c:2235: dom4: pirq 23 or emuirq 28 already mapped
> 
> and waste a pirq

OK. This sounds like it has been a bug since ..oh forever then?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 17:58:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 17:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWs9-000818-7t; Mon, 21 May 2012 17:58:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWWs7-00080o-0p
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 17:58:19 +0000
Received: from [85.158.143.99:24713] by server-2.bemta-4.messagelabs.com id
	B5/1A-12211-A328ABF4; Mon, 21 May 2012 17:58:18 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337623094!22528084!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28489 invoked from network); 21 May 2012 17:58:16 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 17:58:16 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LHw9nQ031451
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 17:58:10 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LHw8t8000329
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 17:58:09 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LHw8kI020195; Mon, 21 May 2012 12:58:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 10:58:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 48FB4402FB; Mon, 21 May 2012 13:51:42 -0400 (EDT)
Date: Mon, 21 May 2012 13:51:42 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120521175142.GA13990@phenom.dumpdata.com>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120521172703.GA9988@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 06:47:44PM +0100, Stefano Stabellini wrote:
> On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> > On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> > > PV on HVM guests map GSIs into event channels; at restore time the
> > > event channels are resumed by restore_pirqs.
> > > Device drivers might try to register the same GSI again through ACPI at
> > > restore time, but the GSI has already been mapped and bound by
> > > restore_pirqs.
> > 
> > Which means... what kind of error do we get without this patch?
> 
> Xen would print:
> 
> (XEN) irq.c:2235: dom4: pirq 23 or emuirq 28 already mapped
> 
> and waste a pirq

OK. This sounds like it has been a bug since ..oh forever then?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:02:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:02:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWwC-0008Mz-TD; Mon, 21 May 2012 18:02:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWwB-0008Mo-Nk
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:02:31 +0000
Received: from [85.158.138.51:38375] by server-4.bemta-3.messagelabs.com id
	F7/65-15341-6338ABF4; Mon, 21 May 2012 18:02:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337623349!19423157!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10606 invoked from network); 21 May 2012 18:02:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:02:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12587026"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 18:02:27 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 19:02:27 +0100
Date: Mon, 21 May 2012 19:02:12 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120521175142.GA13990@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205211901220.26786@kaball-desktop>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120521172703.GA9988@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
	<20120521175142.GA13990@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> On Mon, May 21, 2012 at 06:47:44PM +0100, Stefano Stabellini wrote:
> > On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> > > On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> > > > PV on HVM guests map GSIs into event channels; at restore time the
> > > > event channels are resumed by restore_pirqs.
> > > > Device drivers might try to register the same GSI again through ACPI at
> > > > restore time, but the GSI has already been mapped and bound by
> > > > restore_pirqs.
> > > 
> > > Which means... what kind of error do we get without this patch?
> > 
> > Xen would print:
> > 
> > (XEN) irq.c:2235: dom4: pirq 23 or emuirq 28 already mapped
> > 
> > and waste a pirq
> 
> OK. This sounds like it has been a bug since ..oh forever then?
> 

Yes. It only showed up since the ata_piix driver started registering the
GSI again on resume (I don't know when this behavior started exactly).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:02:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:02:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWwC-0008Mz-TD; Mon, 21 May 2012 18:02:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWwB-0008Mo-Nk
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:02:31 +0000
Received: from [85.158.138.51:38375] by server-4.bemta-3.messagelabs.com id
	F7/65-15341-6338ABF4; Mon, 21 May 2012 18:02:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337623349!19423157!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10606 invoked from network); 21 May 2012 18:02:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:02:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12587026"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 18:02:27 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 19:02:27 +0100
Date: Mon, 21 May 2012 19:02:12 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120521175142.GA13990@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205211901220.26786@kaball-desktop>
References: <1337615650-27911-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120521172703.GA9988@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205211846510.26786@kaball-desktop>
	<20120521175142.GA13990@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: do not map the same GSI twice
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> On Mon, May 21, 2012 at 06:47:44PM +0100, Stefano Stabellini wrote:
> > On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> > > On Mon, May 21, 2012 at 04:54:10PM +0100, Stefano Stabellini wrote:
> > > > PV on HVM guests map GSIs into event channels; at restore time the
> > > > event channels are resumed by restore_pirqs.
> > > > Device drivers might try to register the same GSI again through ACPI at
> > > > restore time, but the GSI has already been mapped and bound by
> > > > restore_pirqs.
> > > 
> > > Which means... what kind of error do we get without this patch?
> > 
> > Xen would print:
> > 
> > (XEN) irq.c:2235: dom4: pirq 23 or emuirq 28 already mapped
> > 
> > and waste a pirq
> 
> OK. This sounds like it has been a bug since ..oh forever then?
> 

Yes. It only showed up since the ata_piix driver started registering the
GSI again on resume (I don't know when this behavior started exactly).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:03:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:03:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWwk-0008RP-G1; Mon, 21 May 2012 18:03:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWwj-0008R6-2o
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:03:05 +0000
Received: from [85.158.143.35:48394] by server-1.bemta-4.messagelabs.com id
	A8/17-00342-8538ABF4; Mon, 21 May 2012 18:03:04 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337623383!15279800!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14501 invoked from network); 21 May 2012 18:03:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:03:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12587033"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 18:03:03 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 19:03:03 +0100
Date: Mon, 21 May 2012 19:02:58 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205211902300.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24419.849941.504507@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Stefano Stabellini wrote:
> On Fri, 18 May 2012, Ian Jackson wrote:
> > Stefano Stabellini writes ("[PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> > > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > > domain passed as argument.
> > ...
> > > +/* Same as in Linux.
> > > + * The maximum buffer length is 32 bytes.
> > > + * The code is safe thanks to the upper bound enforced by the caller. */
> > > +static char *encode_disk_name(char *ptr, unsigned int n)
> > 
> > So this says that encode_disk_name may use up to 32 bytes in *ptr
> > (including or excluding the trailing nul?)
> > 
> > _Why_ may the maximum buffer length used be 32 bytes ?  Also, "maximum
> > buffer length" is a confusing phrase because it seems to refer to the
> > /actual/ length of the buffer rather than the amount /used/.
> > 
> > And this...
> > 
> > > +    char *ret = libxl__zalloc(gc, 32);
> > 
> > ... allocates a 32 byte buffer which we then fill with ...
> > 
> > > +    strcpy(ret, "xvd");
> > > +    ptr = encode_disk_name(ret + 3, offset);
> > 
> > 3 characters plus the encoded disk name.  So possibly using up to 36
> > bytes.
> > 
> > In fact it seems to me that there could be a much tighter upper bound
> > on the length of output of encode_disk_name (based on arithmetic) but
> > it needs to be properly calculated and documented and perhaps put in a
> > #define.
>  
> If my math is correct there is no need to enforce an upper limit because
> even if we suppose that offset is ULONG_MAX on 64 bits it would still be
> lower than 26 elevated at 28 that is the actual upper limit.

I meant 26 raised to the power of 28


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:03:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:03:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWwk-0008RP-G1; Mon, 21 May 2012 18:03:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWwj-0008R6-2o
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:03:05 +0000
Received: from [85.158.143.35:48394] by server-1.bemta-4.messagelabs.com id
	A8/17-00342-8538ABF4; Mon, 21 May 2012 18:03:04 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337623383!15279800!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14501 invoked from network); 21 May 2012 18:03:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:03:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12587033"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 18:03:03 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 19:03:03 +0100
Date: Mon, 21 May 2012 19:02:58 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205211902300.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24419.849941.504507@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Stefano Stabellini wrote:
> On Fri, 18 May 2012, Ian Jackson wrote:
> > Stefano Stabellini writes ("[PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> > > Introduce libxl__alloc_vdev: find a spare virtual block device in the
> > > domain passed as argument.
> > ...
> > > +/* Same as in Linux.
> > > + * The maximum buffer length is 32 bytes.
> > > + * The code is safe thanks to the upper bound enforced by the caller. */
> > > +static char *encode_disk_name(char *ptr, unsigned int n)
> > 
> > So this says that encode_disk_name may use up to 32 bytes in *ptr
> > (including or excluding the trailing nul?)
> > 
> > _Why_ may the maximum buffer length used be 32 bytes ?  Also, "maximum
> > buffer length" is a confusing phrase because it seems to refer to the
> > /actual/ length of the buffer rather than the amount /used/.
> > 
> > And this...
> > 
> > > +    char *ret = libxl__zalloc(gc, 32);
> > 
> > ... allocates a 32 byte buffer which we then fill with ...
> > 
> > > +    strcpy(ret, "xvd");
> > > +    ptr = encode_disk_name(ret + 3, offset);
> > 
> > 3 characters plus the encoded disk name.  So possibly using up to 36
> > bytes.
> > 
> > In fact it seems to me that there could be a much tighter upper bound
> > on the length of output of encode_disk_name (based on arithmetic) but
> > it needs to be properly calculated and documented and perhaps put in a
> > #define.
>  
> If my math is correct there is no need to enforce an upper limit because
> even if we suppose that offset is ULONG_MAX on 64 bits it would still be
> lower than 26 elevated at 28 that is the actual upper limit.

I meant 26 raised to the power of 28


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:05:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWyX-0000Dw-0w; Mon, 21 May 2012 18:04:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWyV-0000Df-Ic
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:04:55 +0000
Received: from [85.158.143.99:53093] by server-1.bemta-4.messagelabs.com id
	A6/69-00342-6C38ABF4; Mon, 21 May 2012 18:04:54 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337623494!21541218!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16931 invoked from network); 21 May 2012 18:04:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:04:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12587053"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 18:04:53 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 19:04:53 +0100
Date: Mon, 21 May 2012 19:04:48 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.


Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk;
- keep libxl__device_from_disk in libxl.c;
- implement libxl__device_disk_add in libxl.c;
- remove the upper bound in libxl__devid_to_localdev and document why.


Changes in v6:
- rebase on "nstore: rename public xenstore headers";
- new patch: "libxl_string_to_backend: add qdisk";
- new patch: "main_blockdetach: destroy the disk on successful removal";
- split "libxl: introduce libxl__device_disk_add" in two patches;
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs;
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start; 
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF;
- introduce ret for xs_* error codes.


Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.


Stefano Stabellini (11):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: export libxl__device_from_disk
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
      libxl_string_to_backend: add qdisk
      main_blockdetach: destroy the disk on successful removal

 docs/man/xl.conf.pod.5                          |    6 +
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  103 +++------------
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |    7 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 ++-
 tools/libxl/libxl_internal.c                    |  166 +++++++++++++++++++++++
 tools/libxl/libxl_internal.h                    |   32 ++++-
 tools/libxl/libxl_linux.c                       |   52 +++++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/libxl_utils.c                       |    2 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    5 +-
 19 files changed, 317 insertions(+), 105 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:05:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWyX-0000Dw-0w; Mon, 21 May 2012 18:04:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWyV-0000Df-Ic
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:04:55 +0000
Received: from [85.158.143.99:53093] by server-1.bemta-4.messagelabs.com id
	A6/69-00342-6C38ABF4; Mon, 21 May 2012 18:04:54 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337623494!21541218!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTQ2MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16931 invoked from network); 21 May 2012 18:04:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:04:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330905600"; d="scan'208";a="12587053"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 18:04:53 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 19:04:53 +0100
Date: Mon, 21 May 2012 19:04:48 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.


Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk;
- keep libxl__device_from_disk in libxl.c;
- implement libxl__device_disk_add in libxl.c;
- remove the upper bound in libxl__devid_to_localdev and document why.


Changes in v6:
- rebase on "nstore: rename public xenstore headers";
- new patch: "libxl_string_to_backend: add qdisk";
- new patch: "main_blockdetach: destroy the disk on successful removal";
- split "libxl: introduce libxl__device_disk_add" in two patches;
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs;
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start; 
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF;
- introduce ret for xs_* error codes.


Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.


Stefano Stabellini (11):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: export libxl__device_from_disk
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
      libxl_string_to_backend: add qdisk
      main_blockdetach: destroy the disk on successful removal

 docs/man/xl.conf.pod.5                          |    6 +
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  103 +++------------
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |    7 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 ++-
 tools/libxl/libxl_internal.c                    |  166 +++++++++++++++++++++++
 tools/libxl/libxl_internal.h                    |   32 ++++-
 tools/libxl/libxl_linux.c                       |   52 +++++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/libxl_utils.c                       |    2 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    5 +-
 19 files changed, 317 insertions(+), 105 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzf-0000O0-0T; Mon, 21 May 2012 18:06:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWze-0000NB-2l
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:06 +0000
Received: from [85.158.139.83:25904] by server-8.bemta-5.messagelabs.com id
	3F/07-30118-D048ABF4; Mon, 21 May 2012 18:06:05 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337623563!29036543!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2434 invoked from network); 21 May 2012 18:06:04 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400527"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:06:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:06:02 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-TP; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:38 +0100
Message-ID: <1337623539-29834-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_utils.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 73b00b3..4cf403d 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -240,6 +240,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend
         *backend = LIBXL_DISK_BACKEND_PHY;
     } else if (!strcmp(s, "file")) {
         *backend = LIBXL_DISK_BACKEND_TAP;
+    } else if (!strcmp(s, "qdisk")) {
+        *backend = LIBXL_DISK_BACKEND_QDISK;
     } else if (!strcmp(s, "tap")) {
         p = strchr(s, ':');
         if (!p) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzf-0000O0-0T; Mon, 21 May 2012 18:06:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWze-0000NB-2l
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:06 +0000
Received: from [85.158.139.83:25904] by server-8.bemta-5.messagelabs.com id
	3F/07-30118-D048ABF4; Mon, 21 May 2012 18:06:05 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337623563!29036543!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2434 invoked from network); 21 May 2012 18:06:04 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400527"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:06:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:06:02 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-TP; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:38 +0100
Message-ID: <1337623539-29834-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_utils.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 73b00b3..4cf403d 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -240,6 +240,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend
         *backend = LIBXL_DISK_BACKEND_PHY;
     } else if (!strcmp(s, "file")) {
         *backend = LIBXL_DISK_BACKEND_TAP;
+    } else if (!strcmp(s, "qdisk")) {
+        *backend = LIBXL_DISK_BACKEND_QDISK;
     } else if (!strcmp(s, "tap")) {
         p = strchr(s, ':');
         if (!p) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzc-0000Mg-J7; Mon, 21 May 2012 18:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWza-0000Lg-I1
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:02 +0000
Received: from [85.158.139.83:65001] by server-7.bemta-5.messagelabs.com id
	EC/5F-12065-9048ABF4; Mon, 21 May 2012 18:06:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6388 invoked from network); 21 May 2012 18:06:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400512"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Lp; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:33 +0100
Message-ID: <1337623539-29834-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 05/11] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.


Changes in v7:

- implement libxl__device_disk_add in libxl.c.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |   16 ++++++++++++----
 tools/libxl/libxl_internal.h |    2 ++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 37f36d7..b80b845 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1367,14 +1367,15 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
 {
-    GC_INIT(ctx);
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
     libxl__device device;
     int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
 
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
@@ -1421,7 +1422,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
             if (!dev) {
                 LOG(ERROR, "failed to get blktap devpath for %p\n",
-                    disk->pdev_path);
+                        disk->pdev_path);
                 rc = ERROR_FAIL;
                 goto out_free;
             }
@@ -1472,7 +1473,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, XBT_NULL, &device,
+    libxl__device_generic_add(gc, t, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1482,6 +1483,13 @@ out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
+    return rc;
+}
+
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+{
+    GC_INIT(ctx);
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d7ed657..b06053d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1239,6 +1239,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 
 /*
  * Make a disk available in this (the control) domain. Returns path to
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzc-0000Mr-Vy; Mon, 21 May 2012 18:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzb-0000LU-0s
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:03 +0000
Received: from [85.158.139.83:65060] by server-12.bemta-5.messagelabs.com id
	25/3C-09223-A048ABF4; Mon, 21 May 2012 18:06:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6409 invoked from network); 21 May 2012 18:06:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400515"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Kq; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:31 +0100
Message-ID: <1337623539-29834-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 03/11] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 9ec0130..7b82470 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1472,7 +1472,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1873,7 +1873,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2166,7 +2166,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2237,7 +2237,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2370,7 +2370,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..88cdc7d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index bdd3303..f3833bb 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -784,8 +784,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index e980995..92764fc 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -103,7 +103,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzc-0000Mr-Vy; Mon, 21 May 2012 18:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzb-0000LU-0s
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:03 +0000
Received: from [85.158.139.83:65060] by server-12.bemta-5.messagelabs.com id
	25/3C-09223-A048ABF4; Mon, 21 May 2012 18:06:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6409 invoked from network); 21 May 2012 18:06:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400515"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Kq; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:31 +0100
Message-ID: <1337623539-29834-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 03/11] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 9ec0130..7b82470 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1472,7 +1472,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1873,7 +1873,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2166,7 +2166,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2237,7 +2237,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2370,7 +2370,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..88cdc7d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index bdd3303..f3833bb 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -784,8 +784,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index e980995..92764fc 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -103,7 +103,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzc-0000Mg-J7; Mon, 21 May 2012 18:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWza-0000Lg-I1
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:02 +0000
Received: from [85.158.139.83:65001] by server-7.bemta-5.messagelabs.com id
	EC/5F-12065-9048ABF4; Mon, 21 May 2012 18:06:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6388 invoked from network); 21 May 2012 18:06:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400512"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Lp; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:33 +0100
Message-ID: <1337623539-29834-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 05/11] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.


Changes in v7:

- implement libxl__device_disk_add in libxl.c.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |   16 ++++++++++++----
 tools/libxl/libxl_internal.h |    2 ++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 37f36d7..b80b845 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1367,14 +1367,15 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
 {
-    GC_INIT(ctx);
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
     libxl__device device;
     int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
 
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
@@ -1421,7 +1422,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
             if (!dev) {
                 LOG(ERROR, "failed to get blktap devpath for %p\n",
-                    disk->pdev_path);
+                        disk->pdev_path);
                 rc = ERROR_FAIL;
                 goto out_free;
             }
@@ -1472,7 +1473,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, XBT_NULL, &device,
+    libxl__device_generic_add(gc, t, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1482,6 +1483,13 @@ out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
+    return rc;
+}
+
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+{
+    GC_INIT(ctx);
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d7ed657..b06053d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1239,6 +1239,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 
 /*
  * Make a disk available in this (the control) domain. Returns path to
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzd-0000N4-DP; Mon, 21 May 2012 18:06:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzb-0000Lr-22
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:03 +0000
Received: from [193.109.254.147:21299] by server-6.bemta-14.messagelabs.com id
	11/B0-04960-A048ABF4; Mon, 21 May 2012 18:06:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337623559!10402696!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20469 invoked from network); 21 May 2012 18:06:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400514"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Jb; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:29 +0100
Message-ID: <1337623539-29834-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 01/11] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c            |   77 ----------------------------------------
 tools/libxl/libxl.h            |    7 ----
 tools/libxl/libxl_bootloader.c |    4 +-
 tools/libxl/libxl_internal.c   |   72 +++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    9 +++++
 5 files changed, 83 insertions(+), 86 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index f24d021..9ec0130 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,83 +1735,6 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    char *dev = NULL;
-    char *ret = NULL;
-    int rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            switch (disk->format) {
-            case LIBXL_DISK_FORMAT_RAW:
-                /* optimise away the early tapdisk attach in this case */
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
-                           " tap disk %s directly (ie without using blktap)",
-                           disk->pdev_path);
-                dev = disk->pdev_path;
-                break;
-            case LIBXL_DISK_FORMAT_VHD:
-                dev = libxl__blktap_devpath(gc, disk->pdev_path,
-                                            disk->format);
-                break;
-            case LIBXL_DISK_FORMAT_QCOW:
-            case LIBXL_DISK_FORMAT_QCOW2:
-                abort(); /* prevented by libxl__device_disk_set_backend */
-            default:
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "unrecognized disk format: %d", disk->format);
-                break;
-            }
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
-            }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
-                "type: %d", disk->backend);
-            break;
-    }
-
- out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    GC_FREE;
-    return ret;
-}
-
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
-    /*
-     * FIXME
-     * This appears to leak the disk in failure paths
-     */
-
-    return 0;
-}
-
 /******************************************************************************/
 
 int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 316d290..21e6510 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -686,13 +686,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index ca8409c..60863e4 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl_device_disk_local_detach(CTX, bl->disk);
+        libxl__device_disk_local_detach(gc, bl->disk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..fc771ff 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,78 @@ out:
     return rc;
 }
 
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = gc->owner;
+    char *dev = NULL;
+    char *ret = NULL;
+    int rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            switch (disk->format) {
+            case LIBXL_DISK_FORMAT_RAW:
+                /* optimise away the early tapdisk attach in this case */
+                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
+                           " tap disk %s directly (ie without using blktap)",
+                           disk->pdev_path);
+                dev = disk->pdev_path;
+                break;
+            case LIBXL_DISK_FORMAT_VHD:
+                dev = libxl__blktap_devpath(gc, disk->pdev_path,
+                                            disk->format);
+                break;
+            case LIBXL_DISK_FORMAT_QCOW:
+            case LIBXL_DISK_FORMAT_QCOW2:
+                abort(); /* prevented by libxl__device_disk_set_backend */
+            default:
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "unrecognized disk format: %d", disk->format);
+                break;
+            }
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
+                           " attach a qdisk image if the format is not raw");
+                break;
+            }
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
+                "type: %d", disk->backend);
+            break;
+    }
+
+ out:
+    if (dev != NULL)
+        ret = strdup(dev);
+    return ret;
+}
+
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    /* Nothing to do for PHYSTYPE_PHY. */
+
+    /*
+     * For other device types assume that the blktap2 process is
+     * needed by the soon to be started domain and do nothing.
+     */
+
+    return 0;
+}
+
 libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
                                                                uint32_t domid)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49d01a8..343752b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1236,6 +1236,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzc-0000MJ-56; Mon, 21 May 2012 18:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWza-0000Lb-33
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:02 +0000
Received: from [85.158.139.83:64960] by server-5.bemta-5.messagelabs.com id
	31/CB-29701-9048ABF4; Mon, 21 May 2012 18:06:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6365 invoked from network); 21 May 2012 18:06:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400513"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-KG; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:30 +0100
Message-ID: <1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 02/11] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_bootloader.c |    6 ++++--
 tools/libxl/libxl_internal.c   |   17 ++++++++++++++---
 tools/libxl/libxl_internal.h   |   10 +++++++++-
 3 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 60863e4..87dfed7 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,9 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->localdisk);
+        free(bl->localdisk.pdev_path);
+        free(bl->localdisk.script);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +332,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc771ff..5e5083b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,13 +323,24 @@ out:
     return rc;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = strdup(in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = strdup(in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -367,8 +378,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
+                       in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 343752b..bdd3303 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1241,7 +1241,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1775,6 +1776,13 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    /* Should be zeroed by caller on entry.  Will be filled in by
+     * bootloader machinery; represents the local attachment of the
+     * disk for the benefit of the bootloader.  Must be detached by
+     * the caller using libxl__device_disk_local_detach, but only
+     * after the domain's kernel and initramfs have been loaded into
+     * memory and the file references disposed of. */
+    libxl_device_disk localdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzh-0000PO-R7; Mon, 21 May 2012 18:06:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzf-0000O9-N2
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:08 +0000
Received: from [85.158.139.83:65335] by server-1.bemta-5.messagelabs.com id
	FC/B6-27328-E048ABF4; Mon, 21 May 2012 18:06:06 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337623563!29036543!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2527 invoked from network); 21 May 2012 18:06:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400529"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:06:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:06:02 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-R2; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:36 +0100
Message-ID: <1337623539-29834-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 08/11] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Changes in v6:
- introduce xs_ret for xs_* error codes.

Changes in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by:Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl_internal.c                    |   60 ++++++++++++++++++-----
 3 files changed, 54 insertions(+), 12 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..38ea85a 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 3961701..9bbb75d 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -363,7 +363,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
-    int rc;
+    int rc, xs_ret;
+    xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
         return NULL;
@@ -407,13 +408,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    xs_ret = xs_transaction_end(ctx->xsh, t, 0);
+                } while (xs_ret == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (xs_ret == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
-                       in_disk->pdev_path);
-            dev = disk->pdev_path;
+                       dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -422,6 +445,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
@@ -429,12 +454,23 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                return libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     return 0;
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzd-0000N4-DP; Mon, 21 May 2012 18:06:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzb-0000Lr-22
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:03 +0000
Received: from [193.109.254.147:21299] by server-6.bemta-14.messagelabs.com id
	11/B0-04960-A048ABF4; Mon, 21 May 2012 18:06:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337623559!10402696!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20469 invoked from network); 21 May 2012 18:06:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400514"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Jb; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:29 +0100
Message-ID: <1337623539-29834-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 01/11] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c            |   77 ----------------------------------------
 tools/libxl/libxl.h            |    7 ----
 tools/libxl/libxl_bootloader.c |    4 +-
 tools/libxl/libxl_internal.c   |   72 +++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h   |    9 +++++
 5 files changed, 83 insertions(+), 86 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index f24d021..9ec0130 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,83 +1735,6 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    char *dev = NULL;
-    char *ret = NULL;
-    int rc;
-
-    rc = libxl__device_disk_setdefault(gc, disk);
-    if (rc) goto out;
-
-    switch (disk->backend) {
-        case LIBXL_DISK_BACKEND_PHY:
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        case LIBXL_DISK_BACKEND_TAP:
-            switch (disk->format) {
-            case LIBXL_DISK_FORMAT_RAW:
-                /* optimise away the early tapdisk attach in this case */
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
-                           " tap disk %s directly (ie without using blktap)",
-                           disk->pdev_path);
-                dev = disk->pdev_path;
-                break;
-            case LIBXL_DISK_FORMAT_VHD:
-                dev = libxl__blktap_devpath(gc, disk->pdev_path,
-                                            disk->format);
-                break;
-            case LIBXL_DISK_FORMAT_QCOW:
-            case LIBXL_DISK_FORMAT_QCOW2:
-                abort(); /* prevented by libxl__device_disk_set_backend */
-            default:
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                           "unrecognized disk format: %d", disk->format);
-                break;
-            }
-            break;
-        case LIBXL_DISK_BACKEND_QDISK:
-            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
-            }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
-            dev = disk->pdev_path;
-            break;
-        default:
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
-                "type: %d", disk->backend);
-            break;
-    }
-
- out:
-    if (dev != NULL)
-        ret = strdup(dev);
-    GC_FREE;
-    return ret;
-}
-
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
-{
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
-    /*
-     * FIXME
-     * This appears to leak the disk in failure paths
-     */
-
-    return 0;
-}
-
 /******************************************************************************/
 
 int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 316d290..21e6510 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -686,13 +686,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index ca8409c..60863e4 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl_device_disk_local_detach(CTX, bl->disk);
+        libxl__device_disk_local_detach(gc, bl->disk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..fc771ff 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,78 @@ out:
     return rc;
 }
 
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    libxl_ctx *ctx = gc->owner;
+    char *dev = NULL;
+    char *ret = NULL;
+    int rc;
+
+    rc = libxl__device_disk_setdefault(gc, disk);
+    if (rc) goto out;
+
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_PHY:
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        case LIBXL_DISK_BACKEND_TAP:
+            switch (disk->format) {
+            case LIBXL_DISK_FORMAT_RAW:
+                /* optimise away the early tapdisk attach in this case */
+                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching"
+                           " tap disk %s directly (ie without using blktap)",
+                           disk->pdev_path);
+                dev = disk->pdev_path;
+                break;
+            case LIBXL_DISK_FORMAT_VHD:
+                dev = libxl__blktap_devpath(gc, disk->pdev_path,
+                                            disk->format);
+                break;
+            case LIBXL_DISK_FORMAT_QCOW:
+            case LIBXL_DISK_FORMAT_QCOW2:
+                abort(); /* prevented by libxl__device_disk_set_backend */
+            default:
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                           "unrecognized disk format: %d", disk->format);
+                break;
+            }
+            break;
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->format != LIBXL_DISK_FORMAT_RAW) {
+                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
+                           " attach a qdisk image if the format is not raw");
+                break;
+            }
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
+                       disk->pdev_path);
+            dev = disk->pdev_path;
+            break;
+        default:
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
+                "type: %d", disk->backend);
+            break;
+    }
+
+ out:
+    if (dev != NULL)
+        ret = strdup(dev);
+    return ret;
+}
+
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
+{
+    /* Nothing to do for PHYSTYPE_PHY. */
+
+    /*
+     * For other device types assume that the blktap2 process is
+     * needed by the soon to be started domain and do nothing.
+     */
+
+    return 0;
+}
+
 libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
                                                                uint32_t domid)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49d01a8..343752b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1236,6 +1236,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzc-0000MJ-56; Mon, 21 May 2012 18:06:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWza-0000Lb-33
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:02 +0000
Received: from [85.158.139.83:64960] by server-5.bemta-5.messagelabs.com id
	31/CB-29701-9048ABF4; Mon, 21 May 2012 18:06:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6365 invoked from network); 21 May 2012 18:06:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400513"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-KG; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:30 +0100
Message-ID: <1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 02/11] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_bootloader.c |    6 ++++--
 tools/libxl/libxl_internal.c   |   17 ++++++++++++++---
 tools/libxl/libxl_internal.h   |   10 +++++++++-
 3 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 60863e4..87dfed7 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,9 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->localdisk);
+        free(bl->localdisk.pdev_path);
+        free(bl->localdisk.script);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +332,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc771ff..5e5083b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,13 +323,24 @@ out:
     return rc;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = strdup(in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = strdup(in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -367,8 +378,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
+                       in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 343752b..bdd3303 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1241,7 +1241,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1775,6 +1776,13 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    /* Should be zeroed by caller on entry.  Will be filled in by
+     * bootloader machinery; represents the local attachment of the
+     * disk for the benefit of the bootloader.  Must be detached by
+     * the caller using libxl__device_disk_local_detach, but only
+     * after the domain's kernel and initramfs have been loaded into
+     * memory and the file references disposed of. */
+    libxl_device_disk localdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzh-0000PO-R7; Mon, 21 May 2012 18:06:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzf-0000O9-N2
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:08 +0000
Received: from [85.158.139.83:65335] by server-1.bemta-5.messagelabs.com id
	FC/B6-27328-E048ABF4; Mon, 21 May 2012 18:06:06 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337623563!29036543!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2527 invoked from network); 21 May 2012 18:06:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400529"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:06:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:06:02 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-R2; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:36 +0100
Message-ID: <1337623539-29834-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 08/11] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Changes in v6:
- introduce xs_ret for xs_* error codes.

Changes in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by:Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl_internal.c                    |   60 ++++++++++++++++++-----
 3 files changed, 54 insertions(+), 12 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..38ea85a 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 3961701..9bbb75d 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -363,7 +363,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
-    int rc;
+    int rc, xs_ret;
+    xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
         return NULL;
@@ -407,13 +408,35 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    xs_ret = xs_transaction_end(ctx->xsh, t, 0);
+                } while (xs_ret == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (xs_ret == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
             LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
-                       in_disk->pdev_path);
-            dev = disk->pdev_path;
+                       dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -422,6 +445,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
@@ -429,12 +454,23 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
-
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                return libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     return 0;
 }
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWza-0000Lm-Gc; Mon, 21 May 2012 18:06:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzZ-0000LU-0r
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:01 +0000
Received: from [85.158.139.83:64919] by server-12.bemta-5.messagelabs.com id
	99/2C-09223-8048ABF4; Mon, 21 May 2012 18:06:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6331 invoked from network); 21 May 2012 18:05:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:05:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400511"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-LL; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:32 +0100
Message-ID: <1337623539-29834-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 04/11] libxl: export libxl__device_from_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |    2 +-
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7b82470..37f36d7 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1327,7 +1327,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f3833bb..d7ed657 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1236,6 +1236,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWza-0000Lm-Gc; Mon, 21 May 2012 18:06:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWzZ-0000LU-0r
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:01 +0000
Received: from [85.158.139.83:64919] by server-12.bemta-5.messagelabs.com id
	99/2C-09223-8048ABF4; Mon, 21 May 2012 18:06:00 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337623557!29565147!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6331 invoked from network); 21 May 2012 18:05:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:05:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400511"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-LL; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:32 +0100
Message-ID: <1337623539-29834-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 04/11] libxl: export libxl__device_from_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c          |    2 +-
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7b82470..37f36d7 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1327,7 +1327,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f3833bb..d7ed657 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1236,6 +1236,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzf-0000OI-D4; Mon, 21 May 2012 18:06:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWze-0000Lb-7d
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:06 +0000
Received: from [85.158.139.83:25941] by server-5.bemta-5.messagelabs.com id
	E5/DB-29701-D048ABF4; Mon, 21 May 2012 18:06:05 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337623563!29036543!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2486 invoked from network); 21 May 2012 18:06:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400528"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:06:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:06:02 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Sr; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:37 +0100
Message-ID: <1337623539-29834-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 09/11] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 9bbb75d..edb6029 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -361,9 +361,10 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     char *ret = NULL;
     int rc, xs_ret;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
@@ -444,12 +445,25 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
- out:
-    if (t != XBT_NULL)
-        xs_transaction_end(ctx->xsh, t, 1);
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
+
+ out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:06:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWWzf-0000OI-D4; Mon, 21 May 2012 18:06:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWWze-0000Lb-7d
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:06:06 +0000
Received: from [85.158.139.83:25941] by server-5.bemta-5.messagelabs.com id
	E5/DB-29701-D048ABF4; Mon, 21 May 2012 18:06:05 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337623563!29036543!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU3MDY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2486 invoked from network); 21 May 2012 18:06:05 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:06:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="25400528"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:06:02 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:06:02 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-Sr; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:37 +0100
Message-ID: <1337623539-29834-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 09/11] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 9bbb75d..edb6029 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -361,9 +361,10 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     char *ret = NULL;
     int rc, xs_ret;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
@@ -444,12 +445,25 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
- out:
-    if (t != XBT_NULL)
-        xs_transaction_end(ctx->xsh, t, 1);
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
+
+ out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:11:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWX4f-0001dW-V6; Mon, 21 May 2012 18:11:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWX4e-0001dE-O4
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:11:17 +0000
Received: from [85.158.139.83:36124] by server-9.bemta-5.messagelabs.com id
	EA/D0-18212-4458ABF4; Mon, 21 May 2012 18:11:16 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337623872!29615280!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24178 invoked from network); 21 May 2012 18:11:15 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:11:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195842511"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-PD; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:35 +0100
Message-ID: <1337623539-29834-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.


Changes in v7:
- remove the upper bound and document why.

Changes in v6:
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   32 +++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   52 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 9970103..3961701 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,38 @@ out:
     return rc;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        devid = libxl__device_disk_dev_number(GCSPRINTF("d%dp0", disk),
+                NULL, NULL);
+        if (devid < 0)
+            return NULL;
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (1);
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 12c0bc4..4d2ca0e 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -78,6 +78,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -907,6 +909,8 @@ static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..0169b2f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,55 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+/* the size of the buffer to store the device name is 32 bytes to match the
+ * equivalent buffer in the Linux kernel code */
+#define BUFFER_SIZE 32
+
+/* Same as in Linux.
+ * encode_disk_name might end up using up to 29 bytes (BUFFER_SIZE - 3)
+ * including the trailing \0.
+ *
+ * The code is safe because 26 raised to the power of 28 (that is the
+ * maximum offset that can be stored in the allocated buffer as a
+ * string) is far greater than UINT_MAX on 64 bits so offset cannot be
+ * big enough to exhaust the available bytes in ret. */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    unsigned int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, BUFFER_SIZE);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        /* overflow cannot happen, thanks to the upper bound */
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:11:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWX4f-0001dW-V6; Mon, 21 May 2012 18:11:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWX4e-0001dE-O4
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:11:17 +0000
Received: from [85.158.139.83:36124] by server-9.bemta-5.messagelabs.com id
	EA/D0-18212-4458ABF4; Mon, 21 May 2012 18:11:16 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337623872!29615280!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24178 invoked from network); 21 May 2012 18:11:15 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:11:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195842511"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-PD; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:35 +0100
Message-ID: <1337623539-29834-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.


Changes in v7:
- remove the upper bound and document why.

Changes in v6:
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl_internal.c |   32 +++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   52 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 9970103..3961701 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -323,6 +323,38 @@ out:
     return rc;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        devid = libxl__device_disk_dev_number(GCSPRINTF("d%dp0", disk),
+                NULL, NULL);
+        if (devid < 0)
+            return NULL;
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (1);
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 12c0bc4..4d2ca0e 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -78,6 +78,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -907,6 +909,8 @@ static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..0169b2f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,55 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+/* the size of the buffer to store the device name is 32 bytes to match the
+ * equivalent buffer in the Linux kernel code */
+#define BUFFER_SIZE 32
+
+/* Same as in Linux.
+ * encode_disk_name might end up using up to 29 bytes (BUFFER_SIZE - 3)
+ * including the trailing \0.
+ *
+ * The code is safe because 26 raised to the power of 28 (that is the
+ * maximum offset that can be stored in the allocated buffer as a
+ * string) is far greater than UINT_MAX on 64 bits so offset cannot be
+ * big enough to exhaust the available bytes in ret. */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    unsigned int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, BUFFER_SIZE);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        /* overflow cannot happen, thanks to the upper bound */
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:11:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:11:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWX4f-0001dO-Ib; Mon, 21 May 2012 18:11:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWX4e-0001dD-4m
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:11:16 +0000
Received: from [85.158.139.83:8976] by server-11.bemta-5.messagelabs.com id
	BE/CB-23372-3458ABF4; Mon, 21 May 2012 18:11:15 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337623872!29615280!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24160 invoked from network); 21 May 2012 18:11:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:11:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195842510"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-NW; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:34 +0100
Message-ID: <1337623539-29834-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 06/11] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v6:
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/man/xl.conf.pod.5         |    6 ++++++
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.c   |    3 ++-
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 10 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..149430c 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -84,6 +84,12 @@ previous C<xm> toolstack this can be configured to use the old C<SXP>
 
 Default: C<json>
 
+=item B<blkdev_start="NAME">
+
+Configures the name of the first block device to be used for temporary
+block device allocations by the toolstack.
+The default choice is "xvda".
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 87dfed7..272614b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -332,7 +332,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk,
+            info->blkdev_start);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..9fb4b81 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = libxl__strdup(0, "xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 5e5083b..9970103 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -325,7 +325,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *disk)
+        libxl_device_disk *disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b06053d..12c0bc4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1248,7 +1248,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *new_disk);
+        libxl_device_disk *new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index a21bd85..2dc2b68 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..827f3f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -94,6 +95,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..74a8a1a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -117,6 +117,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..ce9237b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -626,6 +626,8 @@ static void parse_config_data(const char *config_source,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:11:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:11:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWX4f-0001dO-Ib; Mon, 21 May 2012 18:11:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWX4e-0001dD-4m
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:11:16 +0000
Received: from [85.158.139.83:8976] by server-11.bemta-5.messagelabs.com id
	BE/CB-23372-3458ABF4; Mon, 21 May 2012 18:11:15 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337623872!29615280!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24160 invoked from network); 21 May 2012 18:11:14 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:11:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195842510"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:05:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:05:57 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-NW; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:34 +0100
Message-ID: <1337623539-29834-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 06/11] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v6:
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/man/xl.conf.pod.5         |    6 ++++++
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.c   |    3 ++-
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 10 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..149430c 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -84,6 +84,12 @@ previous C<xm> toolstack this can be configured to use the old C<SXP>
 
 Default: C<json>
 
+=item B<blkdev_start="NAME">
+
+Configures the name of the first block device to be used for temporary
+block device allocations by the toolstack.
+The default choice is "xvda".
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 87dfed7..272614b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -332,7 +332,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk,
+            info->blkdev_start);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..9fb4b81 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = libxl__strdup(0, "xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 5e5083b..9970103 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -325,7 +325,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *disk)
+        libxl_device_disk *disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b06053d..12c0bc4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1248,7 +1248,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *new_disk);
+        libxl_device_disk *new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index a21bd85..2dc2b68 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..827f3f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -94,6 +95,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..74a8a1a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -117,6 +117,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..ce9237b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -626,6 +626,8 @@ static void parse_config_data(const char *config_source,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:23:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:23:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWXFs-00020C-DM; Mon, 21 May 2012 18:22:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWXFq-000207-Ou
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:22:50 +0000
Received: from [85.158.138.51:23153] by server-4.bemta-3.messagelabs.com id
	45/E5-15341-9F78ABF4; Mon, 21 May 2012 18:22:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337624567!28402374!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26966 invoked from network); 21 May 2012 18:22:49 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 18:22:49 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LIMQuw023299
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 18:22:27 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LIMPZZ004960
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 18:22:26 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LIMPfZ004722; Mon, 21 May 2012 13:22:25 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 11:22:24 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id BB880402FB; Mon, 21 May 2012 14:15:58 -0400 (EDT)
Date: Mon, 21 May 2012 14:15:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>, shli@fusionio.com
Message-ID: <20120521181558.GA7829@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 12:30:45AM +0200, William Dauchy wrote:
> Hello,
> 
> On Xen, when booting a guest with a system disk and an additional swap
> disk I'm getting a calltrace.
> xen hypervisor: 4.1.2; linux dom0: v3.3.6; linux guest: v3.2.17
> When booting without a swap disk, I don't have the issue.
> I also tested a guest with v3.3.6: same problem. But from v3.4-rc2,
> the issue is fixed.
> I cherry-picked:

> 052b198 swap: don't do discard if no discard option added

So you are asking for 052b198 to be back-ported.

I am OK with that but I think Shaohua needs to Ack that and
ask Greg to put it on stable@kernel.org



> Applied and tested on top of v3.2.17 and v3.3.6, it fixes the issue.
> 
> Pid: 0, comm: swapper/0 Not tainted 3.2.17-x86_64 #12
> Call Trace:
>  <IRQ>
>  [<ffffffff810919da>] ? handle_irq_event_percpu+0x3a/0x140
>  [<ffffffff81091b29>] ? handle_irq_event+0x49/0x80
>  [<ffffffff81094e7d>] ? handle_edge_irq+0x6d/0x120
>  [<ffffffff81229088>] ? __xen_evtchn_do_upcall+0x1b8/0x280
>  [<ffffffff8122a442>] ? xen_evtchn_do_upcall+0x22/0x40
>  [<ffffffff8133f4fe>] ? xen_do_hypervisor_callback+0x1e/0x30
>  <EOI>
>  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
>  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
>  [<ffffffff8100768c>] ? xen_safe_halt+0xc/0x20
>  [<ffffffff81013563>] ? default_idle+0x23/0x40
>  [<ffffffff8100b073>] ? cpu_idle+0x63/0xb0
>  [<ffffffff81654c43>] ? start_kernel+0x362/0x36d
>  [<ffffffff81657491>] ? xen_start_kernel+0x558/0x55e
> Code: 39 ed 0f 84 1c 02 00 00 44 8b 7b 48 4c 8b 73 50 41 83 ef 01 41
> 21 ef 49 6b c7 70 4d 8b 64 06 40 49 69 c4 d0 00 00 00 48 8d 14 03 <48>
> 8b 8a 78 02 00 00 48 89 4c 24 10 80 ba 09 02 00 00 00 74 6d
> RIP  [<ffffffff8125ed66>] blkif_interrupt+0x66/0x320
>  RSP <ffff88001fc03e18>
> ---[ end trace dfd4e5623eb06620 ]---
> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:23:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:23:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWXFs-00020C-DM; Mon, 21 May 2012 18:22:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWXFq-000207-Ou
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:22:50 +0000
Received: from [85.158.138.51:23153] by server-4.bemta-3.messagelabs.com id
	45/E5-15341-9F78ABF4; Mon, 21 May 2012 18:22:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337624567!28402374!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26966 invoked from network); 21 May 2012 18:22:49 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 18:22:49 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LIMQuw023299
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 18:22:27 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LIMPZZ004960
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 18:22:26 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LIMPfZ004722; Mon, 21 May 2012 13:22:25 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 11:22:24 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id BB880402FB; Mon, 21 May 2012 14:15:58 -0400 (EDT)
Date: Mon, 21 May 2012 14:15:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>, shli@fusionio.com
Message-ID: <20120521181558.GA7829@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 12:30:45AM +0200, William Dauchy wrote:
> Hello,
> 
> On Xen, when booting a guest with a system disk and an additional swap
> disk I'm getting a calltrace.
> xen hypervisor: 4.1.2; linux dom0: v3.3.6; linux guest: v3.2.17
> When booting without a swap disk, I don't have the issue.
> I also tested a guest with v3.3.6: same problem. But from v3.4-rc2,
> the issue is fixed.
> I cherry-picked:

> 052b198 swap: don't do discard if no discard option added

So you are asking for 052b198 to be back-ported.

I am OK with that but I think Shaohua needs to Ack that and
ask Greg to put it on stable@kernel.org



> Applied and tested on top of v3.2.17 and v3.3.6, it fixes the issue.
> 
> Pid: 0, comm: swapper/0 Not tainted 3.2.17-x86_64 #12
> Call Trace:
>  <IRQ>
>  [<ffffffff810919da>] ? handle_irq_event_percpu+0x3a/0x140
>  [<ffffffff81091b29>] ? handle_irq_event+0x49/0x80
>  [<ffffffff81094e7d>] ? handle_edge_irq+0x6d/0x120
>  [<ffffffff81229088>] ? __xen_evtchn_do_upcall+0x1b8/0x280
>  [<ffffffff8122a442>] ? xen_evtchn_do_upcall+0x22/0x40
>  [<ffffffff8133f4fe>] ? xen_do_hypervisor_callback+0x1e/0x30
>  <EOI>
>  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
>  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
>  [<ffffffff8100768c>] ? xen_safe_halt+0xc/0x20
>  [<ffffffff81013563>] ? default_idle+0x23/0x40
>  [<ffffffff8100b073>] ? cpu_idle+0x63/0xb0
>  [<ffffffff81654c43>] ? start_kernel+0x362/0x36d
>  [<ffffffff81657491>] ? xen_start_kernel+0x558/0x55e
> Code: 39 ed 0f 84 1c 02 00 00 44 8b 7b 48 4c 8b 73 50 41 83 ef 01 41
> 21 ef 49 6b c7 70 4d 8b 64 06 40 49 69 c4 d0 00 00 00 48 8d 14 03 <48>
> 8b 8a 78 02 00 00 48 89 4c 24 10 80 ba 09 02 00 00 00 74 6d
> RIP  [<ffffffff8125ed66>] blkif_interrupt+0x66/0x320
>  RSP <ffff88001fc03e18>
> ---[ end trace dfd4e5623eb06620 ]---
> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:24:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:24:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWXHI-000259-S9; Mon, 21 May 2012 18:24:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWXHI-000250-18
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:24:20 +0000
Received: from [193.109.254.147:21364] by server-1.bemta-14.messagelabs.com id
	66/92-29372-3588ABF4; Mon, 21 May 2012 18:24:19 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337624656!5262704!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28414 invoked from network); 21 May 2012 18:24:18 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:24:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195845756"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:19:39 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:19:38 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-VB; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:39 +0100
Message-ID: <1337623539-29834-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 11/11] main_blockdetach: destroy the disk on
	successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

main_blockdetach needs to call libxl_device_disk_destroy so that all the
disk related entries are properly removed from xenstore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ce9237b..1167ed0 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5396,7 +5396,8 @@ int main_blockdetach(int argc, char **argv)
     }
     if (libxl_device_disk_remove(ctx, domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_remove failed.\n");
-    }
+    } else
+        libxl_device_disk_destroy(ctx, domid, &disk);
     return 0;
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:24:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:24:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWXHI-000259-S9; Mon, 21 May 2012 18:24:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SWXHI-000250-18
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 18:24:20 +0000
Received: from [193.109.254.147:21364] by server-1.bemta-14.messagelabs.com id
	66/92-29372-3588ABF4; Mon, 21 May 2012 18:24:19 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337624656!5262704!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28414 invoked from network); 21 May 2012 18:24:18 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:24:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195845756"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:19:39 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:19:38 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SWWzP-0001ta-VB; Mon, 21 May 2012 19:05:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 21 May 2012 19:05:39 +0100
Message-ID: <1337623539-29834-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v7 11/11] main_blockdetach: destroy the disk on
	successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

main_blockdetach needs to call libxl_device_disk_destroy so that all the
disk related entries are properly removed from xenstore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ce9237b..1167ed0 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5396,7 +5396,8 @@ int main_blockdetach(int argc, char **argv)
     }
     if (libxl_device_disk_remove(ctx, domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_remove failed.\n");
-    }
+    } else
+        libxl_device_disk_destroy(ctx, domid, &disk);
     return 0;
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:29:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:29:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWXLn-0002HD-IF; Mon, 21 May 2012 18:28:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SWXLm-0002H5-9X
	for xen-devel@lists.xen.org; Mon, 21 May 2012 18:28:58 +0000
Received: from [85.158.143.99:23597] by server-2.bemta-4.messagelabs.com id
	DE/6C-12211-9698ABF4; Mon, 21 May 2012 18:28:57 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337624934!29109720!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30974 invoked from network); 21 May 2012 18:28:56 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:28:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195847033"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:24:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:24:25 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SWXHM-0002AP-OY;
	Mon, 21 May 2012 19:24:24 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Xen Devel <xen-devel@lists.xen.org>
Date: Mon, 21 May 2012 19:24:14 +0100
Message-ID: <1337624654-7044-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: Store VNC passwd in xenstore with QEMU
	upstream.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch stores the VNC password in xenstore after it has been sent to QEMU.
This will be usefull with the vncviewer command with --autopass.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

---
 tools/libxl/libxl_qmp.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_qmp.c b/tools/libxl/libxl_qmp.c
index ce9ab75..e33b130 100644
--- a/tools/libxl/libxl_qmp.c
+++ b/tools/libxl/libxl_qmp.c
@@ -928,6 +928,7 @@ int libxl__qmp_initializations(libxl__gc *gc, uint32_t domid,
     ret = libxl__qmp_query_serial(qmp);
     if (!ret && vnc && vnc->passwd) {
         ret = qmp_change(gc, qmp, "vnc", "password", vnc->passwd);
+        qmp_write_domain_console_item(gc, domid, "vnc-pass", vnc->passwd);
     }
     if (!ret) {
         ret = qmp_query_vnc(qmp);
-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 18:29:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 18:29:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWXLn-0002HD-IF; Mon, 21 May 2012 18:28:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SWXLm-0002H5-9X
	for xen-devel@lists.xen.org; Mon, 21 May 2012 18:28:58 +0000
Received: from [85.158.143.99:23597] by server-2.bemta-4.messagelabs.com id
	DE/6C-12211-9698ABF4; Mon, 21 May 2012 18:28:57 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337624934!29109720!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTM4ODM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30974 invoked from network); 21 May 2012 18:28:56 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 18:28:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,632,1330923600"; d="scan'208";a="195847033"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 14:24:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 21 May 2012 14:24:25 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SWXHM-0002AP-OY;
	Mon, 21 May 2012 19:24:24 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Xen Devel <xen-devel@lists.xen.org>
Date: Mon, 21 May 2012 19:24:14 +0100
Message-ID: <1337624654-7044-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: Store VNC passwd in xenstore with QEMU
	upstream.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch stores the VNC password in xenstore after it has been sent to QEMU.
This will be usefull with the vncviewer command with --autopass.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

---
 tools/libxl/libxl_qmp.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_qmp.c b/tools/libxl/libxl_qmp.c
index ce9ab75..e33b130 100644
--- a/tools/libxl/libxl_qmp.c
+++ b/tools/libxl/libxl_qmp.c
@@ -928,6 +928,7 @@ int libxl__qmp_initializations(libxl__gc *gc, uint32_t domid,
     ret = libxl__qmp_query_serial(qmp);
     if (!ret && vnc && vnc->passwd) {
         ret = qmp_change(gc, qmp, "vnc", "password", vnc->passwd);
+        qmp_write_domain_console_item(gc, domid, "vnc-pass", vnc->passwd);
     }
     if (!ret) {
         ret = qmp_query_vnc(qmp);
-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 19:12:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 19:12:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWY1Y-0002hI-31; Mon, 21 May 2012 19:12:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWY1W-0002hD-4g
	for xen-devel@lists.xen.org; Mon, 21 May 2012 19:12:06 +0000
Received: from [85.158.143.99:8811] by server-3.bemta-4.messagelabs.com id
	FE/C2-05853-5839ABF4; Mon, 21 May 2012 19:12:05 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337627523!23769276!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3229 invoked from network); 21 May 2012 19:12:04 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 19:12:04 -0000
Received: by lahc1 with SMTP id c1so4689537lah.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 12:12:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=SXz/qXt07p9MyOkEzmMgfYX+X3aao98iHqDCA28KqOU=;
	b=bNFxpIo81cvZRt79l5GtOb16CfgcBWBpE2C79o+NNZbMOBcsy2FXiI1gPHYwVfGn1n
	4pWBXHYSXg3VtMzvH+za/77BFZHLrOruD/xa7Z7cNaQZpy2nzzddXXRAcbi6QTM48Uh4
	i8fd8ghmfgoOurH5+0oCCMez6m/MqixIYbVaS2e5iSOw8jD55/hTwtWcYUHV9FOVpHgQ
	IhQw6fpmf2xkA5cmF3HNwqk1F5a6USgvCPmKZPgGqla2DY03maeZnVlrTLCp/L+xhPdc
	ZWFOyobO6xgYk2pbUsyt8Tkgtlu6luwkGUWXkUb/10oCCGZuIN7FdmISEU/cSuAb7jgU
	2MMg==
MIME-Version: 1.0
Received: by 10.112.103.194 with SMTP id fy2mr9023587lbb.64.1337627523323;
	Mon, 21 May 2012 12:12:03 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Mon, 21 May 2012 12:12:03 -0700 (PDT)
In-Reply-To: <4FBA739A0200007800084DEE@nat28.tlf.novell.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
Date: Mon, 21 May 2012 15:12:03 -0400
X-Google-Sender-Auth: 4RfXlWPG9aGYWYn_iWgNbJOz94c
Message-ID: <CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 10:55 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 17.05.12 at 23:20, Ben Guthro <ben@guthro.net> wrote:
>> I'm attempting to update the Xen I'm using, and am having an issue with S3.
>> Konrad - I know you've been down this path before - so I'm hoping you
>> might have some insight, given the stack below
>>
>> The linux tree also has an older version of Konrad's acpi-s3
>> development branches (it was v7)
>>
>> Upon resuming from S3 - Xen panics with the following stack. I'm
>> guessing it has something to do with some of the pcpu work going on
>> recently - but haven't been tracking this too closely, so am not sure.
>
> I don't think that's related, the more that if anything that work
> was on the Dom0 kernel side, not the hypervisor (or not
> recently).

OK

>
>> The same kernel with Xen 4.0.x works OK.
>
> Anything known regarding 4.1.x?
>

Not at this time.

I'm attempting to update the hypervisor (and patches) used in
XenClient Enterprise (was NxTop)

Since we have a stack of patches that are not necessarily appropriate
for upstream (and some that just haven't been submitted yet) - there
is some porting involved in getting things running to the point that I
can test it.

If we can't figure this out with the logs - I can try to bisect, and
figure out where things broke...but that could be rather time
consuming, if I have to re-port those patches each time.


>> (XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
>> &cpus)' failed at sched_credit.c:477
>
> Assuming this is reproducible, could you try to get your serial
> console problems sorted out so that you can obtain a full log
> (there are quite a few dropped characters here).
>
> At least I can't tell anything from the dumped data alone (other
> than the first part of the ASSERT() expression being redundant
> with the second part), so I'd also like to ask that you attach (or
> make accessible another way) the xen-syms binary corresponding
> to the xen.gz one used, so one can locate and analyze individual
> variables in the registers and on stack.

Please find a new log, xen.gz & syms here:

https://citrix.sharefile.com/d/s4ba432974874efd8

(I didn't want to attach large files to the mailing list)



FWIW, this is on an Intel Ivybridge SDP - but also seems to happen on
older platforms, as well.


Any insight is greatly appreciated.

Ben

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 19:12:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 19:12:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWY1Y-0002hI-31; Mon, 21 May 2012 19:12:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWY1W-0002hD-4g
	for xen-devel@lists.xen.org; Mon, 21 May 2012 19:12:06 +0000
Received: from [85.158.143.99:8811] by server-3.bemta-4.messagelabs.com id
	FE/C2-05853-5839ABF4; Mon, 21 May 2012 19:12:05 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337627523!23769276!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3229 invoked from network); 21 May 2012 19:12:04 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 19:12:04 -0000
Received: by lahc1 with SMTP id c1so4689537lah.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 12:12:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=SXz/qXt07p9MyOkEzmMgfYX+X3aao98iHqDCA28KqOU=;
	b=bNFxpIo81cvZRt79l5GtOb16CfgcBWBpE2C79o+NNZbMOBcsy2FXiI1gPHYwVfGn1n
	4pWBXHYSXg3VtMzvH+za/77BFZHLrOruD/xa7Z7cNaQZpy2nzzddXXRAcbi6QTM48Uh4
	i8fd8ghmfgoOurH5+0oCCMez6m/MqixIYbVaS2e5iSOw8jD55/hTwtWcYUHV9FOVpHgQ
	IhQw6fpmf2xkA5cmF3HNwqk1F5a6USgvCPmKZPgGqla2DY03maeZnVlrTLCp/L+xhPdc
	ZWFOyobO6xgYk2pbUsyt8Tkgtlu6luwkGUWXkUb/10oCCGZuIN7FdmISEU/cSuAb7jgU
	2MMg==
MIME-Version: 1.0
Received: by 10.112.103.194 with SMTP id fy2mr9023587lbb.64.1337627523323;
	Mon, 21 May 2012 12:12:03 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Mon, 21 May 2012 12:12:03 -0700 (PDT)
In-Reply-To: <4FBA739A0200007800084DEE@nat28.tlf.novell.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
Date: Mon, 21 May 2012 15:12:03 -0400
X-Google-Sender-Auth: 4RfXlWPG9aGYWYn_iWgNbJOz94c
Message-ID: <CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 10:55 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 17.05.12 at 23:20, Ben Guthro <ben@guthro.net> wrote:
>> I'm attempting to update the Xen I'm using, and am having an issue with S3.
>> Konrad - I know you've been down this path before - so I'm hoping you
>> might have some insight, given the stack below
>>
>> The linux tree also has an older version of Konrad's acpi-s3
>> development branches (it was v7)
>>
>> Upon resuming from S3 - Xen panics with the following stack. I'm
>> guessing it has something to do with some of the pcpu work going on
>> recently - but haven't been tracking this too closely, so am not sure.
>
> I don't think that's related, the more that if anything that work
> was on the Dom0 kernel side, not the hypervisor (or not
> recently).

OK

>
>> The same kernel with Xen 4.0.x works OK.
>
> Anything known regarding 4.1.x?
>

Not at this time.

I'm attempting to update the hypervisor (and patches) used in
XenClient Enterprise (was NxTop)

Since we have a stack of patches that are not necessarily appropriate
for upstream (and some that just haven't been submitted yet) - there
is some porting involved in getting things running to the point that I
can test it.

If we can't figure this out with the logs - I can try to bisect, and
figure out where things broke...but that could be rather time
consuming, if I have to re-port those patches each time.


>> (XEN) Assertion '!cpumask_empty(&cpus) && cpumask_test_cpu(cpu,
>> &cpus)' failed at sched_credit.c:477
>
> Assuming this is reproducible, could you try to get your serial
> console problems sorted out so that you can obtain a full log
> (there are quite a few dropped characters here).
>
> At least I can't tell anything from the dumped data alone (other
> than the first part of the ASSERT() expression being redundant
> with the second part), so I'd also like to ask that you attach (or
> make accessible another way) the xen-syms binary corresponding
> to the xen.gz one used, so one can locate and analyze individual
> variables in the registers and on stack.

Please find a new log, xen.gz & syms here:

https://citrix.sharefile.com/d/s4ba432974874efd8

(I didn't want to attach large files to the mailing list)



FWIW, this is on an Intel Ivybridge SDP - but also seems to happen on
older platforms, as well.


Any insight is greatly appreciated.

Ben

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 19:14:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 19:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWY3W-0002lr-Jj; Mon, 21 May 2012 19:14:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bhutchings@solarflare.com>) id 1SWY3U-0002lh-SX
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 19:14:09 +0000
Received: from [193.109.254.147:13916] by server-5.bemta-14.messagelabs.com id
	DF/7F-30733-0049ABF4; Mon, 21 May 2012 19:14:08 +0000
X-Env-Sender: bhutchings@solarflare.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337627645!10409566!1
X-Originating-IP: [12.187.104.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30486 invoked from network); 21 May 2012 19:14:07 -0000
Received: from webmail.solarflare.com (HELO ocex02.SolarFlarecom.com)
	(12.187.104.25)
	by server-4.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 19:14:07 -0000
Received: from [10.17.20.137] (10.17.20.137) by ocex02.SolarFlarecom.com
	(10.20.40.31) with Microsoft SMTP Server (TLS) id 14.1.355.2;
	Mon, 21 May 2012 12:14:04 -0700
Message-ID: <1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
From: Ben Hutchings <bhutchings@solarflare.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Mon, 21 May 2012 20:14:00 +0100
In-Reply-To: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
Organization: Solarflare Communications
X-Mailer: Evolution 3.2.3 (3.2.3-1.fc16) 
MIME-Version: 1.0
X-Originating-IP: [10.17.20.137]
X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.800.1017-18918.005
X-TM-AS-Result: No--8.455100-0.000000-31
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
	netdev@vger.kernel.org, Adnan Misherfi <adnan.misherfi@oracle.com>,
	linux-kernel@vger.kernel.org, davem@davemloft.net
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 13:36 -0400, Konrad Rzeszutek Wilk wrote:
> From: Adnan Misherfi <adnan.misherfi@oracle.com>
> 
> A programming error cause the calculation of receive SKB slots to be
> wrong, which caused the RX ring to be erroneously declared full,
> and the receive queue to be stopped. The problem shows up when two
> guest running on the same server tries to communicates using large
> MTUs. Each guest is connected to a bridge with VLAN over bond
> interface, so traffic from one guest leaves the server on one bridge
> and comes back to the second guest on the second bridge. This can be
> reproduces using ping, and one guest as follow:
> 
> - Create active-back bond (bond0)
> - Set up VLAN 5 on bond0 (bond0.5)
> - Create a bridge (br1)
> - Add bond0.5 to a bridge (br1)
> - Start a guest and connect it to br1
> - Set MTU of 9000 across the link
> 
> Ping the guest from an external host using packet sizes of 3991, and
> 4054; ping -s 3991 -c 128 "Guest-IP-Address"
> 
> At the beginning ping works fine, but after a while ping packets do
> not reach the guest because the RX ring becomes full, and the queue
> get stopped. Once the problem accrued, the only way to get out of it
> is to reboot the guest, or use xm network-detach/network-attach.
> 
> ping works for packets sizes 3990,3992, and many other sizes including
> 4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
> that quickly reproduce this problem.
> 
> Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/net/xen-netback/netback.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> index 957cf9d..e382e5b 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)

The function name is xen_netbk_count_skb_slots() in net-next.  This
appears to depend on the series in
<http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.

>  	int i, copy_off;
>  
>  	count = DIV_ROUND_UP(
> -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);

The new version would be equivalent to:
	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
which is not right, as netbk_gop_skb() will use one slot per page.

The real problem is likely that you're not using the same condition to
stop and wake the queue.  Though it appears you're also missing an
smp_mb() at the top of xenvif_notify_tx_completion().

Ben.

>  	copy_off = skb_headlen(skb) % PAGE_SIZE;
>  

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 19:14:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 19:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWY3W-0002lr-Jj; Mon, 21 May 2012 19:14:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bhutchings@solarflare.com>) id 1SWY3U-0002lh-SX
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 19:14:09 +0000
Received: from [193.109.254.147:13916] by server-5.bemta-14.messagelabs.com id
	DF/7F-30733-0049ABF4; Mon, 21 May 2012 19:14:08 +0000
X-Env-Sender: bhutchings@solarflare.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337627645!10409566!1
X-Originating-IP: [12.187.104.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30486 invoked from network); 21 May 2012 19:14:07 -0000
Received: from webmail.solarflare.com (HELO ocex02.SolarFlarecom.com)
	(12.187.104.25)
	by server-4.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	21 May 2012 19:14:07 -0000
Received: from [10.17.20.137] (10.17.20.137) by ocex02.SolarFlarecom.com
	(10.20.40.31) with Microsoft SMTP Server (TLS) id 14.1.355.2;
	Mon, 21 May 2012 12:14:04 -0700
Message-ID: <1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
From: Ben Hutchings <bhutchings@solarflare.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Mon, 21 May 2012 20:14:00 +0100
In-Reply-To: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
Organization: Solarflare Communications
X-Mailer: Evolution 3.2.3 (3.2.3-1.fc16) 
MIME-Version: 1.0
X-Originating-IP: [10.17.20.137]
X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.800.1017-18918.005
X-TM-AS-Result: No--8.455100-0.000000-31
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
	netdev@vger.kernel.org, Adnan Misherfi <adnan.misherfi@oracle.com>,
	linux-kernel@vger.kernel.org, davem@davemloft.net
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 13:36 -0400, Konrad Rzeszutek Wilk wrote:
> From: Adnan Misherfi <adnan.misherfi@oracle.com>
> 
> A programming error cause the calculation of receive SKB slots to be
> wrong, which caused the RX ring to be erroneously declared full,
> and the receive queue to be stopped. The problem shows up when two
> guest running on the same server tries to communicates using large
> MTUs. Each guest is connected to a bridge with VLAN over bond
> interface, so traffic from one guest leaves the server on one bridge
> and comes back to the second guest on the second bridge. This can be
> reproduces using ping, and one guest as follow:
> 
> - Create active-back bond (bond0)
> - Set up VLAN 5 on bond0 (bond0.5)
> - Create a bridge (br1)
> - Add bond0.5 to a bridge (br1)
> - Start a guest and connect it to br1
> - Set MTU of 9000 across the link
> 
> Ping the guest from an external host using packet sizes of 3991, and
> 4054; ping -s 3991 -c 128 "Guest-IP-Address"
> 
> At the beginning ping works fine, but after a while ping packets do
> not reach the guest because the RX ring becomes full, and the queue
> get stopped. Once the problem accrued, the only way to get out of it
> is to reboot the guest, or use xm network-detach/network-attach.
> 
> ping works for packets sizes 3990,3992, and many other sizes including
> 4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
> that quickly reproduce this problem.
> 
> Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/net/xen-netback/netback.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> index 957cf9d..e382e5b 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)

The function name is xen_netbk_count_skb_slots() in net-next.  This
appears to depend on the series in
<http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.

>  	int i, copy_off;
>  
>  	count = DIV_ROUND_UP(
> -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);

The new version would be equivalent to:
	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
which is not right, as netbk_gop_skb() will use one slot per page.

The real problem is likely that you're not using the same condition to
stop and wake the queue.  Though it appears you're also missing an
smp_mb() at the top of xenvif_notify_tx_completion().

Ben.

>  	copy_off = skb_headlen(skb) % PAGE_SIZE;
>  

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 19:49:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 19:49:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWYbY-0003Q8-AU; Mon, 21 May 2012 19:49:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWYbW-0003Q2-18
	for xen-devel@lists.xen.org; Mon, 21 May 2012 19:49:18 +0000
Received: from [85.158.143.35:62055] by server-2.bemta-4.messagelabs.com id
	AC/40-12211-D3C9ABF4; Mon, 21 May 2012 19:49:17 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337629756!13354786!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3548 invoked from network); 21 May 2012 19:49:16 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 19:49:16 -0000
Received: by lahc1 with SMTP id c1so4719445lah.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 12:49:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=O90TJOw5Kxb2aEykmMD42BhCE3ZIoUHVaqzRi2/4JAg=;
	b=FHzoESNHudwh1iLEYQZqUQTN6xhGHS8DcrvfazVSyJYfCy5RFzi2hS0QeBqw0Bv7Tv
	nvBbapjfTKmx9h+oug7MH7TJleVqrmAblq8sijhI5HvD+xzCun4uI8IdXLGjW9HhJVxE
	k8ZbrFUmPQLKHL23zAztpuAlN/4dOMNTSrEdYjnEKN73/yzUYm7Qhvb1kosh4RF7re9O
	tNqg4Weavjeyb6VdeV9hxdIEKzKx3gaS+qn67G8jdE94Se/mCW+YkbquWoAJUWaHkWSk
	kTbad3AeqccNWNZwH7xr/fIajRagy4xUYi7Bhs0ixs8H2EHUoeXQf1ZyJ0Sj/BtKxEn5
	PtQA==
MIME-Version: 1.0
Received: by 10.152.104.47 with SMTP id gb15mr3245443lab.45.1337629756124;
	Mon, 21 May 2012 12:49:16 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Mon, 21 May 2012 12:49:16 -0700 (PDT)
In-Reply-To: <CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
Date: Mon, 21 May 2012 15:49:16 -0400
X-Google-Sender-Auth: Qb4pwyDKr-m45Gu2eSYGHffjEt0
Message-ID: <CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> On Mon, May 21, 2012 at 10:55 AM, Jan Beulich <JBeulich@suse.com> wrote:
> Anything known regarding 4.1.x?

Well, it looks like this happens without any of our patches - so that
may make bisecting much easier.
I'll try to get some more information.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 19:49:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 19:49:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWYbY-0003Q8-AU; Mon, 21 May 2012 19:49:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWYbW-0003Q2-18
	for xen-devel@lists.xen.org; Mon, 21 May 2012 19:49:18 +0000
Received: from [85.158.143.35:62055] by server-2.bemta-4.messagelabs.com id
	AC/40-12211-D3C9ABF4; Mon, 21 May 2012 19:49:17 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337629756!13354786!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3548 invoked from network); 21 May 2012 19:49:16 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 19:49:16 -0000
Received: by lahc1 with SMTP id c1so4719445lah.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 12:49:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=O90TJOw5Kxb2aEykmMD42BhCE3ZIoUHVaqzRi2/4JAg=;
	b=FHzoESNHudwh1iLEYQZqUQTN6xhGHS8DcrvfazVSyJYfCy5RFzi2hS0QeBqw0Bv7Tv
	nvBbapjfTKmx9h+oug7MH7TJleVqrmAblq8sijhI5HvD+xzCun4uI8IdXLGjW9HhJVxE
	k8ZbrFUmPQLKHL23zAztpuAlN/4dOMNTSrEdYjnEKN73/yzUYm7Qhvb1kosh4RF7re9O
	tNqg4Weavjeyb6VdeV9hxdIEKzKx3gaS+qn67G8jdE94Se/mCW+YkbquWoAJUWaHkWSk
	kTbad3AeqccNWNZwH7xr/fIajRagy4xUYi7Bhs0ixs8H2EHUoeXQf1ZyJ0Sj/BtKxEn5
	PtQA==
MIME-Version: 1.0
Received: by 10.152.104.47 with SMTP id gb15mr3245443lab.45.1337629756124;
	Mon, 21 May 2012 12:49:16 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Mon, 21 May 2012 12:49:16 -0700 (PDT)
In-Reply-To: <CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
Date: Mon, 21 May 2012 15:49:16 -0400
X-Google-Sender-Auth: Qb4pwyDKr-m45Gu2eSYGHffjEt0
Message-ID: <CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> On Mon, May 21, 2012 at 10:55 AM, Jan Beulich <JBeulich@suse.com> wrote:
> Anything known regarding 4.1.x?

Well, it looks like this happens without any of our patches - so that
may make bisecting much easier.
I'll try to get some more information.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:03:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWZkr-00046x-GR; Mon, 21 May 2012 21:03:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWZkq-00046s-DM
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:03:00 +0000
Received: from [193.109.254.147:5555] by server-1.bemta-14.messagelabs.com id
	22/1B-29372-38DAABF4; Mon, 21 May 2012 21:02:59 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337634167!4769486!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 560 invoked from network); 21 May 2012 21:02:49 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 21:02:49 -0000
Received: by pbcwz7 with SMTP id wz7so8326353pbc.30
	for <xen-devel@lists.xensource.com>;
	Mon, 21 May 2012 14:02:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=hrukE4EBwbovqsBLCHClQmIOnW0MTgsGnjEA7ZS9LAs=;
	b=GRgrMJzzrsFL/dLfAbqIx3BW2py2VHquBmn/lEJcKodmasxm/ncpc/cFQ9j9ZYVDIx
	Q8EKRFV8FAhZv5Fl7fh/3WkCVstpBsHp0FvMxTqa/d34wJR6Q+O4+2CSENuKF5zxSrNB
	RFLbdN0CfS8rlFPSmlB48Rnpryr8O2zvFhuYLpd0PfV6kd5gkGaKK05aJt/F6ViLe/Gn
	1WJh49QWR+S0pvmZhBqT1BazWhBIheQlD8vGCQe6sd7kUk0HWYAA011Yq8569N/PhiOR
	kb3md3W7/30IhzL1JId5OzJg4qFjik1HkpgXTuNowwlcZNHvJ6hzzkz6MPjQTFpL/GL+
	5pAA==
Received: by 10.68.134.132 with SMTP id pk4mr19565904pbb.10.1337634166708;
	Mon, 21 May 2012 14:02:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Mon, 21 May 2012 14:02:26 -0700 (PDT)
In-Reply-To: <20120521181558.GA7829@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Mon, 21 May 2012 23:02:26 +0200
Message-ID: <CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

On Mon, May 21, 2012 at 8:15 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> So you are asking for 052b198 to be back-ported.
> I am OK with that but I think Shaohua needs to Ack that and
> ask Greg to put it on stable@kernel.org

Yes, since I didn't find the official process to propose an
already-in-tree commit to stable@
(http://kernel.org/doc/Documentation/stable_kernel_rules.txt), I was
just asking around, maybe to get Shaohua feedback.

I guess it meets the requirements to be integrated in stable; tested
on my side in 3.2.x and 3.3.x and fixing a precise issue.

Regards,

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:03:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWZkr-00046x-GR; Mon, 21 May 2012 21:03:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWZkq-00046s-DM
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:03:00 +0000
Received: from [193.109.254.147:5555] by server-1.bemta-14.messagelabs.com id
	22/1B-29372-38DAABF4; Mon, 21 May 2012 21:02:59 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337634167!4769486!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 560 invoked from network); 21 May 2012 21:02:49 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 21:02:49 -0000
Received: by pbcwz7 with SMTP id wz7so8326353pbc.30
	for <xen-devel@lists.xensource.com>;
	Mon, 21 May 2012 14:02:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=hrukE4EBwbovqsBLCHClQmIOnW0MTgsGnjEA7ZS9LAs=;
	b=GRgrMJzzrsFL/dLfAbqIx3BW2py2VHquBmn/lEJcKodmasxm/ncpc/cFQ9j9ZYVDIx
	Q8EKRFV8FAhZv5Fl7fh/3WkCVstpBsHp0FvMxTqa/d34wJR6Q+O4+2CSENuKF5zxSrNB
	RFLbdN0CfS8rlFPSmlB48Rnpryr8O2zvFhuYLpd0PfV6kd5gkGaKK05aJt/F6ViLe/Gn
	1WJh49QWR+S0pvmZhBqT1BazWhBIheQlD8vGCQe6sd7kUk0HWYAA011Yq8569N/PhiOR
	kb3md3W7/30IhzL1JId5OzJg4qFjik1HkpgXTuNowwlcZNHvJ6hzzkz6MPjQTFpL/GL+
	5pAA==
Received: by 10.68.134.132 with SMTP id pk4mr19565904pbb.10.1337634166708;
	Mon, 21 May 2012 14:02:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Mon, 21 May 2012 14:02:26 -0700 (PDT)
In-Reply-To: <20120521181558.GA7829@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Mon, 21 May 2012 23:02:26 +0200
Message-ID: <CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

On Mon, May 21, 2012 at 8:15 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> So you are asking for 052b198 to be back-ported.
> I am OK with that but I think Shaohua needs to Ack that and
> ask Greg to put it on stable@kernel.org

Yes, since I didn't find the official process to propose an
already-in-tree commit to stable@
(http://kernel.org/doc/Documentation/stable_kernel_rules.txt), I was
just asking around, maybe to get Shaohua feedback.

I guess it meets the requirements to be integrated in stable; tested
on my side in 3.2.x and 3.3.x and fixing a precise issue.

Regards,

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWaTh-0004PC-Iw; Mon, 21 May 2012 21:49:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWaTg-0004Ov-5g
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:49:20 +0000
Received: from [85.158.139.83:22875] by server-1.bemta-5.messagelabs.com id
	74/71-27328-F58BABF4; Mon, 21 May 2012 21:49:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337636956!29582994!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NTE0NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30577 invoked from network); 21 May 2012 21:49:17 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 21:49:17 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LLnC9q003872
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 21:49:13 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LLnBMX017280
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 21:49:12 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LLnAEs010545; Mon, 21 May 2012 16:49:10 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 14:49:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6B1414032D; Mon, 21 May 2012 17:42:45 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com
Date: Mon, 21 May 2012 17:42:42 -0400
Message-Id: <1337636562-9579-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/2] xen/setup: Work properly with 'dom0_mem=X'
	or with not dom0_mem.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We ignored the X value and ended up populating up to
max(MAX_DOMAIN_PAGES, last E820_RAM entry).

This fixes it by figuring out how many RAM nr_pages the
hypervisor wanted to provide to us and cap the populate
hypercalls up to that.

The end result is (on a 32GB box):

-Memory: 31779964k/34603008k available (5831k kernel code, 1351620k absent, 1471424k reserved, 2886k data, 692k init)
-(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (15 of 512)
+Memory: 31788256k/34032852k available (5831k kernel code, 1351620k absent, 892976k reserved, 2886k data, 692k init)

with dom0_mem=1G
-Memory: 550608k/12890412k available (5831k kernel code, 1351620k absent, 10988184k reserved, 2886k data, 692k init)
+Memory: 717272k/1049028k available (5831k kernel code, 516k absent, 331240k reserved, 2886k data, 692k init)

[v1: Details added]
[v2: Redid on 32GB box]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/setup.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 1ba8dff..23d355c 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -182,11 +182,29 @@ static unsigned long __init xen_get_max_pages(void)
 	 * the current maximum rather than the static maximum. In this
 	 * case the e820 map provided to us will cover the static
 	 * maximum region.
+	 *
+	 * The dom0_mem=min:X,max:Y tweaks options differently depending
+	 * on the version, but in general this is what we get:
+	 *                | XENMEM_maximum_reser  | nr_pages
+	 * --------------++-----------------------+-------------------
+	 *  no dom0_mem   | INT_MAX               | max_phys_pfn
+	 *  =3G           | INT_MAX               | 786432
+	 *  =max:3G       | 786432                | 786432
+	 *  =min:1G,max:3G| INT_MAX               | max_phys_fn
+	 *  =1G,max:3G    | INT_MAX               | 262144
+	 *  =min:1G,max:3G,2G | INT_MAX           | max_phys_fn
+	 *
+	 * The =3G is often used and it lead to us initially setting
+	 * 786432 and allowing dom0 to balloon up to the max_physical_pfn.
+	 * This is at odd with the classic XenOClassic so lets emulate
+	 * the classic behavior.
 	 */
 	if (xen_initial_domain()) {
 		ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid);
 		if (ret > 0)
 			max_pages = ret;
+		if (ret == -1UL)
+			max_pages = xen_start_info->nr_pages;
 	}
 
 	return min(max_pages, MAX_DOMAIN_PAGES);
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWaTh-0004PC-Iw; Mon, 21 May 2012 21:49:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWaTg-0004Ov-5g
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:49:20 +0000
Received: from [85.158.139.83:22875] by server-1.bemta-5.messagelabs.com id
	74/71-27328-F58BABF4; Mon, 21 May 2012 21:49:19 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337636956!29582994!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NTE0NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30577 invoked from network); 21 May 2012 21:49:17 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 21:49:17 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LLnC9q003872
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 21:49:13 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LLnBMX017280
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 21:49:12 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LLnAEs010545; Mon, 21 May 2012 16:49:10 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 14:49:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6B1414032D; Mon, 21 May 2012 17:42:45 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com
Date: Mon, 21 May 2012 17:42:42 -0400
Message-Id: <1337636562-9579-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/2] xen/setup: Work properly with 'dom0_mem=X'
	or with not dom0_mem.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We ignored the X value and ended up populating up to
max(MAX_DOMAIN_PAGES, last E820_RAM entry).

This fixes it by figuring out how many RAM nr_pages the
hypervisor wanted to provide to us and cap the populate
hypercalls up to that.

The end result is (on a 32GB box):

-Memory: 31779964k/34603008k available (5831k kernel code, 1351620k absent, 1471424k reserved, 2886k data, 692k init)
-(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (15 of 512)
+Memory: 31788256k/34032852k available (5831k kernel code, 1351620k absent, 892976k reserved, 2886k data, 692k init)

with dom0_mem=1G
-Memory: 550608k/12890412k available (5831k kernel code, 1351620k absent, 10988184k reserved, 2886k data, 692k init)
+Memory: 717272k/1049028k available (5831k kernel code, 516k absent, 331240k reserved, 2886k data, 692k init)

[v1: Details added]
[v2: Redid on 32GB box]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/setup.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 1ba8dff..23d355c 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -182,11 +182,29 @@ static unsigned long __init xen_get_max_pages(void)
 	 * the current maximum rather than the static maximum. In this
 	 * case the e820 map provided to us will cover the static
 	 * maximum region.
+	 *
+	 * The dom0_mem=min:X,max:Y tweaks options differently depending
+	 * on the version, but in general this is what we get:
+	 *                | XENMEM_maximum_reser  | nr_pages
+	 * --------------++-----------------------+-------------------
+	 *  no dom0_mem   | INT_MAX               | max_phys_pfn
+	 *  =3G           | INT_MAX               | 786432
+	 *  =max:3G       | 786432                | 786432
+	 *  =min:1G,max:3G| INT_MAX               | max_phys_fn
+	 *  =1G,max:3G    | INT_MAX               | 262144
+	 *  =min:1G,max:3G,2G | INT_MAX           | max_phys_fn
+	 *
+	 * The =3G is often used and it lead to us initially setting
+	 * 786432 and allowing dom0 to balloon up to the max_physical_pfn.
+	 * This is at odd with the classic XenOClassic so lets emulate
+	 * the classic behavior.
 	 */
 	if (xen_initial_domain()) {
 		ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid);
 		if (ret > 0)
 			max_pages = ret;
+		if (ret == -1UL)
+			max_pages = xen_start_info->nr_pages;
 	}
 
 	return min(max_pages, MAX_DOMAIN_PAGES);
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:49:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWaTh-0004PL-UH; Mon, 21 May 2012 21:49:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWaTg-0004P7-Vr
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:49:21 +0000
Received: from [85.158.143.35:56470] by server-1.bemta-4.messagelabs.com id
	87/0A-00342-068BABF4; Mon, 21 May 2012 21:49:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337636956!15301990!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30679 invoked from network); 21 May 2012 21:49:18 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 21:49:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LLnCRB003868
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 21:49:12 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LLnBmR004171
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 21:49:11 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LLnBgq011725; Mon, 21 May 2012 16:49:11 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 14:49:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6312B4031C; Mon, 21 May 2012 17:42:45 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com
Date: Mon, 21 May 2012 17:42:41 -0400
Message-Id: <1337636562-9579-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/2] xen/smp: unbind irqworkX when unplugging
	vCPUs.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The git commit  1ff2b0c303698e486f1e0886b4d9876200ef8ca5
"xen: implement IRQ_WORK_VECTOR handler" added the functionality
to have a per-cpu "irqworkX" for the IPI APIC functionality.
However it missed the unbind when a vCPU is unplugged resulting
in an orphaned per-cpu interrupt line for unplugged vCPU:

  30:        216          0   xen-dyn-event     hvc_console
  31:        810          4   xen-dyn-event     eth0
  32:         29          0   xen-dyn-event     blkif
- 36:          0          0  xen-percpu-ipi       irqwork2
- 37:        287          0   xen-dyn-event     xenbus
+ 36:        287          0   xen-dyn-event     xenbus
 NMI:          0          0   Non-maskable interrupts
 LOC:          0          0   Local timer interrupts
 SPU:          0          0   Spurious interrupts

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/smp.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 0503c0c..0e95d7c 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -418,6 +418,7 @@ static void xen_cpu_die(unsigned int cpu)
 	unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu), NULL);
 	unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL);
 	unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu), NULL);
+	unbind_from_irqhandler(per_cpu(xen_irq_work, cpu), NULL);
 	xen_uninit_lock_cpu(cpu);
 	xen_teardown_timer(cpu);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:49:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWaTh-0004PL-UH; Mon, 21 May 2012 21:49:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWaTg-0004P7-Vr
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:49:21 +0000
Received: from [85.158.143.35:56470] by server-1.bemta-4.messagelabs.com id
	87/0A-00342-068BABF4; Mon, 21 May 2012 21:49:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337636956!15301990!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0Mzg3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30679 invoked from network); 21 May 2012 21:49:18 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 21:49:18 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LLnCRB003868
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 21:49:12 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LLnBmR004171
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 21:49:11 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LLnBgq011725; Mon, 21 May 2012 16:49:11 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 14:49:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6312B4031C; Mon, 21 May 2012 17:42:45 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com
Date: Mon, 21 May 2012 17:42:41 -0400
Message-Id: <1337636562-9579-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/2] xen/smp: unbind irqworkX when unplugging
	vCPUs.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The git commit  1ff2b0c303698e486f1e0886b4d9876200ef8ca5
"xen: implement IRQ_WORK_VECTOR handler" added the functionality
to have a per-cpu "irqworkX" for the IPI APIC functionality.
However it missed the unbind when a vCPU is unplugged resulting
in an orphaned per-cpu interrupt line for unplugged vCPU:

  30:        216          0   xen-dyn-event     hvc_console
  31:        810          4   xen-dyn-event     eth0
  32:         29          0   xen-dyn-event     blkif
- 36:          0          0  xen-percpu-ipi       irqwork2
- 37:        287          0   xen-dyn-event     xenbus
+ 36:        287          0   xen-dyn-event     xenbus
 NMI:          0          0   Non-maskable interrupts
 LOC:          0          0   Local timer interrupts
 SPU:          0          0   Spurious interrupts

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/smp.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 0503c0c..0e95d7c 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -418,6 +418,7 @@ static void xen_cpu_die(unsigned int cpu)
 	unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu), NULL);
 	unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL);
 	unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu), NULL);
+	unbind_from_irqhandler(per_cpu(xen_irq_work, cpu), NULL);
 	xen_uninit_lock_cpu(cpu);
 	xen_teardown_timer(cpu);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:49:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWaTg-0004Ow-6h; Mon, 21 May 2012 21:49:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWaTe-0004Oq-96
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:49:18 +0000
Received: from [85.158.138.51:38832] by server-9.bemta-3.messagelabs.com id
	AC/A2-26691-D58BABF4; Mon, 21 May 2012 21:49:17 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337636954!20309608!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQzMjgz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 769 invoked from network); 21 May 2012 21:49:16 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 21:49:16 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LLnCFm031801
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 21:49:12 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LLnB1b004170
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 21:49:11 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LLnAQR010544; Mon, 21 May 2012 16:49:10 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 14:49:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5ACA7402FB; Mon, 21 May 2012 17:42:45 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com
Date: Mon, 21 May 2012 17:42:40 -0400
Message-Id: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] fixes to stable/for-linus-3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Two fixes for the patches that are going for 3.5.

The autoballoon one would try to balloon up to E820_MAX when
there were no dom0_mem=.. argument. The patch fixes it, and
is also makes the dom0_mem=1G case work better (I think?). The
other solution would be to use the current_reservation patch
I posted a while back to work-around when no dom0_mem= argument
is used.

The APIC irqworker is a little easier - it did not unbind when
unplugging vCPUs leaving an orphan IRQ behind.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 21:49:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 21:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWaTg-0004Ow-6h; Mon, 21 May 2012 21:49:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWaTe-0004Oq-96
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 21:49:18 +0000
Received: from [85.158.138.51:38832] by server-9.bemta-3.messagelabs.com id
	AC/A2-26691-D58BABF4; Mon, 21 May 2012 21:49:17 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337636954!20309608!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQzMjgz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 769 invoked from network); 21 May 2012 21:49:16 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 21 May 2012 21:49:16 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4LLnCFm031801
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 21 May 2012 21:49:12 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4LLnB1b004170
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 21 May 2012 21:49:11 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4LLnAQR010544; Mon, 21 May 2012 16:49:10 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 21 May 2012 14:49:11 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5ACA7402FB; Mon, 21 May 2012 17:42:45 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, david.vrabel@citrix.com
Date: Mon, 21 May 2012 17:42:40 -0400
Message-Id: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] fixes to stable/for-linus-3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Two fixes for the patches that are going for 3.5.

The autoballoon one would try to balloon up to E820_MAX when
there were no dom0_mem=.. argument. The patch fixes it, and
is also makes the dom0_mem=1G case work better (I think?). The
other solution would be to use the current_reservation patch
I posted a while back to work-around when no dom0_mem= argument
is used.

The APIC irqworker is a little easier - it did not unbind when
unplugging vCPUs leaving an orphan IRQ behind.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 22:18:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 22:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWav1-0004x3-Dz; Mon, 21 May 2012 22:17:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWauz-0004wy-SX
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 22:17:34 +0000
Received: from [193.109.254.147:17874] by server-4.bemta-14.messagelabs.com id
	9B/14-11570-DFEBABF4; Mon, 21 May 2012 22:17:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337638652!3604098!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10378 invoked from network); 21 May 2012 22:17:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 22:17:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,633,1330905600"; d="scan'208";a="12590551"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 22:17:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 23:17:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWaux-0002UM-O6;
	Mon, 21 May 2012 22:17:31 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWaux-0006Q2-DK;
	Mon, 21 May 2012 23:17:31 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12949-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 23:17:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12949: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12949 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12949/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 22:18:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 22:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWav1-0004x3-Dz; Mon, 21 May 2012 22:17:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWauz-0004wy-SX
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 22:17:34 +0000
Received: from [193.109.254.147:17874] by server-4.bemta-14.messagelabs.com id
	9B/14-11570-DFEBABF4; Mon, 21 May 2012 22:17:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337638652!3604098!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10378 invoked from network); 21 May 2012 22:17:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	21 May 2012 22:17:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,633,1330905600"; d="scan'208";a="12590551"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	21 May 2012 22:17:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 21 May 2012 23:17:32 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWaux-0002UM-O6;
	Mon, 21 May 2012 22:17:31 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWaux-0006Q2-DK;
	Mon, 21 May 2012 23:17:31 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12949-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 21 May 2012 23:17:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12949: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12949 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12949/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 22:43:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 22:43:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWbJL-0005C9-Jy; Mon, 21 May 2012 22:42:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <meyering@meyering.net>) id 1SWYjr-0003bo-5n
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 19:57:55 +0000
Received: from [85.158.139.83:44757] by server-2.bemta-5.messagelabs.com id
	11/0B-17716-24E9ABF4; Mon, 21 May 2012 19:57:54 +0000
X-Env-Sender: meyering@meyering.net
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337630271!22360029!1
X-Originating-IP: [88.168.87.75]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30658 invoked from network); 21 May 2012 19:57:52 -0000
Received: from mx.meyering.net (HELO hx.meyering.net) (88.168.87.75)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 19:57:52 -0000
Received: from hx.meyering.net (hx.meyering.net [127.0.0.1])
	by hx.meyering.net (8.14.5/8.14.5) with ESMTP id q4LJv8sT030674;
	Mon, 21 May 2012 21:57:08 +0200
Received: (from meyering@localhost)
	by hx.meyering.net (8.14.5/8.14.5/Submit) id q4LJurrc030669;
	Mon, 21 May 2012 21:56:53 +0200
From: Jim Meyering <jim@meyering.net>
To: qemu-devel@nongnu.org
Date: Mon, 21 May 2012 21:56:24 +0200
Message-Id: <1337630184-30581-7-git-send-email-jim@meyering.net>
X-Mailer: git-send-email 1.7.10.2.552.gaa3bb87
In-Reply-To: <1337630184-30581-1-git-send-email-jim@meyering.net>
References: <1337629910-30302-1-git-send-email-jim@meyering.net>
	<1337630184-30581-1-git-send-email-jim@meyering.net>
X-Mailman-Approved-At: Mon, 21 May 2012 22:42:41 +0000
Cc: "open list:X86" <kvm@vger.kernel.org>, Jan Kiszka <jan.kiszka@siemens.com>,
	Luiz Capitulino <lcapitulino@redhat.com>,
	Blue Swirl <blauwirbel@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Christoph Hellwig <hch@lst.de>, Eduardo Habkost <ehabkost@redhat.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	Dong Xu Wang <wdongxu@linux.vnet.ibm.com>,
	Breno Leitao <brenohl@br.ibm.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Avi Kivity <avi@redhat.com>, David Gibson <david@gibson.dropbear.id.au>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Jim Meyering <meyering@redhat.com>, Stefan Weil <sw@weilnetz.de>,
	Igor Mammedov <imammedo@redhat.com>, Richard Henderson <rth@twiddle.net>,
	Kevin Wolf <kwolf@redhat.com>, Anthony Liguori <aliguori@us.ibm.com>,
	Mark Langsdorf <mark.langsdorf@calxeda.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Subject: [Xen-devel] [PATCH 9/9] convert many more globals to static
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jim Meyering <meyering@redhat.com>

Minor exceptions:
* arm-dis: move now-detected-as-unused static variables into #if-0'd
block of code where they *are* used.
* microblaze: remove decls of now-detected-as-unused vars

Signed-off-by: Jim Meyering <meyering@redhat.com>
---
 arm-dis.c                 |  8 ++---
 cpus.c                    |  4 +--
 cris-dis.c                |  2 +-
 hw/9pfs/virtio-9p-synth.c |  2 +-
 hw/ide/pci.c              |  2 +-
 hw/leon3.c                |  2 +-
 hw/mips_fulong2e.c        |  2 +-
 hw/s390-virtio-bus.c      |  2 +-
 hw/spapr_rtas.c           |  2 +-
 hw/xen_platform.c         |  2 +-
 hw/xgmac.c                |  2 +-
 m68k-dis.c                | 79 ++++++++++++++++++++++++-----------------------
 memory.c                  |  2 +-
 microblaze-dis.c          |  6 ++--
 ppc-dis.c                 | 26 ++++++++--------
 sh4-dis.c                 |  2 +-
 target-cris/translate.c   |  2 +-
 target-i386/cpu.c         |  4 +--
 target-i386/kvm.c         |  2 +-
 tests/fdc-test.c          |  2 +-
 vl.c                      | 12 ++++---
 21 files changed, 84 insertions(+), 83 deletions(-)

diff --git a/arm-dis.c b/arm-dis.c
index 6bc4d71..43f0253 100644
--- a/arm-dis.c
+++ b/arm-dis.c
@@ -1545,10 +1545,6 @@ enum map_type {
   MAP_DATA
 };

-enum map_type last_type;
-int last_mapping_sym = -1;
-bfd_vma last_mapping_addr = 0;
-
 /* Decode a bitfield of the form matching regexp (N(-N)?,)*N(-N)?.
    Returns pointer to following character of the format string and
    fills in *VALUEP and *WIDTHP with the extracted value and number of
@@ -3877,6 +3873,10 @@ print_insn_arm (bfd_vma pc, struct disassemble_info *info)
 #if 0
   bfd_boolean   found = false;

+  static enum map_type last_type;
+  static int last_mapping_sym = -1;
+  static bfd_vma last_mapping_addr;
+
   if (info->disassembler_options)
     {
       parse_disassembler_options (info->disassembler_options);
diff --git a/cpus.c b/cpus.c
index b182b3d..d5cd318 100644
--- a/cpus.c
+++ b/cpus.c
@@ -84,7 +84,7 @@ typedef struct TimersState {
     int64_t dummy;
 } TimersState;

-TimersState timers_state;
+static TimersState timers_state;

 /* Return the virtual CPU time, based on the instruction counter.  */
 int64_t cpu_get_icount(void)
@@ -611,7 +611,7 @@ static void qemu_tcg_init_cpu_signals(void)
 }
 #endif /* _WIN32 */

-QemuMutex qemu_global_mutex;
+static QemuMutex qemu_global_mutex;
 static QemuCond qemu_io_proceeded_cond;
 static bool iothread_requesting_mutex;

diff --git a/cris-dis.c b/cris-dis.c
index 1d174ba..89ae0b7 100644
--- a/cris-dis.c
+++ b/cris-dis.c
@@ -1215,7 +1215,7 @@ cris_cc_strings[] =
 };

 /* Different names and semantics for condition 1111 (0xf).  */
-const struct cris_cond15 cris_cond15s[] =
+static const struct cris_cond15 cris_cond15s[] =
 {
   /* FIXME: In what version did condition "ext" disappear?  */
   {"ext", cris_ver_v0_3},
diff --git a/hw/9pfs/virtio-9p-synth.c b/hw/9pfs/virtio-9p-synth.c
index 92e0b09..7a15da2 100644
--- a/hw/9pfs/virtio-9p-synth.c
+++ b/hw/9pfs/virtio-9p-synth.c
@@ -21,7 +21,7 @@
 #include <sys/stat.h>

 /* Root node for synth file system */
-V9fsSynthNode v9fs_synth_root = {
+static V9fsSynthNode v9fs_synth_root = {
     .name = "/",
     .actual_attr = {
         .mode = 0555 | S_IFDIR,
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index 88c0942..ac22d56 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -419,7 +419,7 @@ static const VMStateDescription vmstate_bmdma_current = {
     }
 };

-const VMStateDescription vmstate_bmdma_status = {
+static const VMStateDescription vmstate_bmdma_status = {
     .name ="ide bmdma/status",
     .version_id = 1,
     .minimum_version_id = 1,
diff --git a/hw/leon3.c b/hw/leon3.c
index 0a5ff16..4d9cd68 100644
--- a/hw/leon3.c
+++ b/hw/leon3.c
@@ -208,7 +208,7 @@ static void leon3_generic_hw_init(ram_addr_t  ram_size,
     }
 }

-QEMUMachine leon3_generic_machine = {
+static QEMUMachine leon3_generic_machine = {
     .name     = "leon3_generic",
     .desc     = "Leon-3 generic",
     .init     = leon3_generic_hw_init,
diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
index 1a8df10..b266141 100644
--- a/hw/mips_fulong2e.c
+++ b/hw/mips_fulong2e.c
@@ -389,7 +389,7 @@ static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
     network_init();
 }

-QEMUMachine mips_fulong2e_machine = {
+static QEMUMachine mips_fulong2e_machine = {
     .name = "fulong2e",
     .desc = "Fulong 2e mini pc",
     .init = mips_fulong2e_init,
diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c
index 63ccd5c..114f131 100644
--- a/hw/s390-virtio-bus.c
+++ b/hw/s390-virtio-bus.c
@@ -45,7 +45,7 @@

 #define VIRTIO_EXT_CODE   0x2603

-struct BusInfo s390_virtio_bus_info = {
+static struct BusInfo s390_virtio_bus_info = {
     .name       = "s390-virtio",
     .size       = sizeof(VirtIOS390Bus),
 };
diff --git a/hw/spapr_rtas.c b/hw/spapr_rtas.c
index ae18595..315d0fb 100644
--- a/hw/spapr_rtas.c
+++ b/hw/spapr_rtas.c
@@ -204,7 +204,7 @@ static struct rtas_call {
     spapr_rtas_fn fn;
 } rtas_table[TOKEN_MAX];

-struct rtas_call *rtas_next = rtas_table;
+static struct rtas_call *rtas_next = rtas_table;

 target_ulong spapr_rtas_call(sPAPREnvironment *spapr,
                              uint32_t token, uint32_t nargs, target_ulong args,
diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..562faf7 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -224,7 +224,7 @@ static void platform_fixed_ioport_reset(void *opaque)
     platform_fixed_ioport_writeb(s, 0, 0);
 }

-const MemoryRegionPortio xen_platform_ioport[] = {
+static const MemoryRegionPortio xen_platform_ioport[] = {
     { 0, 16, 4, .write = platform_fixed_ioport_writel, },
     { 0, 16, 2, .write = platform_fixed_ioport_writew, },
     { 0, 16, 1, .write = platform_fixed_ioport_writeb, },
diff --git a/hw/xgmac.c b/hw/xgmac.c
index dd4bdc4..47ee557 100644
--- a/hw/xgmac.c
+++ b/hw/xgmac.c
@@ -148,7 +148,7 @@ typedef struct XgmacState {
     uint32_t regs[R_MAX];
 } XgmacState;

-const VMStateDescription vmstate_rxtx_stats = {
+static const VMStateDescription vmstate_rxtx_stats = {
     .name = "xgmac_stats",
     .version_id = 1,
     .minimum_version_id = 1,
diff --git a/m68k-dis.c b/m68k-dis.c
index 2b155de..20d0a3f 100644
--- a/m68k-dis.c
+++ b/m68k-dis.c
@@ -96,29 +96,29 @@ struct floatformat

 /* floatformats for IEEE single and double, big and little endian.  */

-extern const struct floatformat floatformat_ieee_single_big;
-extern const struct floatformat floatformat_ieee_single_little;
-extern const struct floatformat floatformat_ieee_double_big;
-extern const struct floatformat floatformat_ieee_double_little;
+static const struct floatformat floatformat_ieee_single_big;
+static const struct floatformat floatformat_ieee_single_little;
+static const struct floatformat floatformat_ieee_double_big;
+static const struct floatformat floatformat_ieee_double_little;

 /* floatformat for ARM IEEE double, little endian bytes and big endian words */

-extern const struct floatformat floatformat_ieee_double_littlebyte_bigword;
+static const struct floatformat floatformat_ieee_double_littlebyte_bigword;

 /* floatformats for various extendeds.  */

-extern const struct floatformat floatformat_i387_ext;
-extern const struct floatformat floatformat_m68881_ext;
-extern const struct floatformat floatformat_i960_ext;
-extern const struct floatformat floatformat_m88110_ext;
-extern const struct floatformat floatformat_m88110_harris_ext;
-extern const struct floatformat floatformat_arm_ext_big;
-extern const struct floatformat floatformat_arm_ext_littlebyte_bigword;
+static const struct floatformat floatformat_i387_ext;
+static const struct floatformat floatformat_m68881_ext;
+static const struct floatformat floatformat_i960_ext;
+static const struct floatformat floatformat_m88110_ext;
+static const struct floatformat floatformat_m88110_harris_ext;
+static const struct floatformat floatformat_arm_ext_big;
+static const struct floatformat floatformat_arm_ext_littlebyte_bigword;
 /* IA-64 Floating Point register spilt into memory.  */
-extern const struct floatformat floatformat_ia64_spill_big;
-extern const struct floatformat floatformat_ia64_spill_little;
-extern const struct floatformat floatformat_ia64_quad_big;
-extern const struct floatformat floatformat_ia64_quad_little;
+static const struct floatformat floatformat_ia64_spill_big;
+static const struct floatformat floatformat_ia64_spill_little;
+static const struct floatformat floatformat_ia64_quad_big;
+static const struct floatformat floatformat_ia64_quad_little;

 /* Convert from FMT to a double.
    FROM is the address of the extended float.
@@ -515,10 +515,11 @@ struct m68k_opcode_alias
    ]  first word, bit 10
 */

-extern const struct m68k_opcode m68k_opcodes[];
-extern const struct m68k_opcode_alias m68k_opcode_aliases[];
+static const struct m68k_opcode m68k_opcodes[];
+static const struct m68k_opcode_alias m68k_opcode_aliases[];

-extern const int m68k_numopcodes, m68k_numaliases;
+static const int m68k_numopcodes;
+static const int m68k_numaliases;

 /* **** End of m68k-opcode.h */
 /* **** m68k-dis.c from sourceware.org CVS 2005-08-14.  */
@@ -2059,7 +2060,7 @@ print_insn_m68k (bfd_vma memaddr, disassemble_info *info)
    be consecutive.  If they aren't, the assembler will bomb at
    runtime.  */

-const struct m68k_opcode m68k_opcodes[] =
+static const struct m68k_opcode m68k_opcodes[] =
 {
 {"abcd", 2,	one(0140400),	one(0170770), "DsDd", m68000up },
 {"abcd", 2,	one(0140410),	one(0170770), "-s-d", m68000up },
@@ -4199,7 +4200,7 @@ TBL("tblunb", "tblunw", "tblunl", 0, 0),
 {"wdebug", 4,	two(0175750, 03),	two(0177770, 0xffff), "ds", mcfisa_a },
 };

-const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0];
+static const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0];

 /* These aliases used to be in the above table, each one duplicating
    all of the entries for its primary exactly.  This table was
@@ -4208,7 +4209,7 @@ const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0];
    aliases above that could be moved down here, except for very minor
    differences.  */

-const struct m68k_opcode_alias m68k_opcode_aliases[] =
+static const struct m68k_opcode_alias m68k_opcode_aliases[] =
 {
   { "add",	"addw", },
   { "adda",	"addaw", },
@@ -4452,7 +4453,7 @@ const struct m68k_opcode_alias m68k_opcode_aliases[] =

 };

-const int m68k_numaliases =
+static const int m68k_numaliases =
   sizeof m68k_opcode_aliases / sizeof m68k_opcode_aliases[0];
 /* **** End of m68k-opc.c */
 /* **** floatformat.c from sourceware.org CVS 2005-08-14.  */
@@ -4510,28 +4511,28 @@ floatformat_always_valid (const struct floatformat *fmt ATTRIBUTE_UNUSED,
 #define FLOATFORMAT_CHAR_BIT 8

 /* floatformats for IEEE single and double, big and little endian.  */
-const struct floatformat floatformat_ieee_single_big =
+static const struct floatformat floatformat_ieee_single_big =
 {
   floatformat_big, 32, 0, 1, 8, 127, 255, 9, 23,
   floatformat_intbit_no,
   "floatformat_ieee_single_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ieee_single_little =
+static const struct floatformat floatformat_ieee_single_little =
 {
   floatformat_little, 32, 0, 1, 8, 127, 255, 9, 23,
   floatformat_intbit_no,
   "floatformat_ieee_single_little",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ieee_double_big =
+static const struct floatformat floatformat_ieee_double_big =
 {
   floatformat_big, 64, 0, 1, 11, 1023, 2047, 12, 52,
   floatformat_intbit_no,
   "floatformat_ieee_double_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ieee_double_little =
+static const struct floatformat floatformat_ieee_double_little =
 {
   floatformat_little, 64, 0, 1, 11, 1023, 2047, 12, 52,
   floatformat_intbit_no,
@@ -4542,7 +4543,7 @@ const struct floatformat floatformat_ieee_double_little =
 /* floatformat for IEEE double, little endian byte order, with big endian word
    ordering, as on the ARM.  */

-const struct floatformat floatformat_ieee_double_littlebyte_bigword =
+static const struct floatformat floatformat_ieee_double_littlebyte_bigword =
 {
   floatformat_littlebyte_bigword, 64, 0, 1, 11, 1023, 2047, 12, 52,
   floatformat_intbit_no,
@@ -4573,14 +4574,14 @@ floatformat_i387_ext_is_valid (const struct floatformat *fmt, const char *from)
     return 1;
 }

-const struct floatformat floatformat_i387_ext =
+static const struct floatformat floatformat_i387_ext =
 {
   floatformat_little, 80, 0, 1, 15, 0x3fff, 0x7fff, 16, 64,
   floatformat_intbit_yes,
   "floatformat_i387_ext",
   floatformat_i387_ext_is_valid
 };
-const struct floatformat floatformat_m68881_ext =
+static const struct floatformat floatformat_m68881_ext =
 {
   /* Note that the bits from 16 to 31 are unused.  */
   floatformat_big, 96, 0, 1, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4588,7 +4589,7 @@ const struct floatformat floatformat_m68881_ext =
   "floatformat_m68881_ext",
   floatformat_always_valid
 };
-const struct floatformat floatformat_i960_ext =
+static const struct floatformat floatformat_i960_ext =
 {
   /* Note that the bits from 0 to 15 are unused.  */
   floatformat_little, 96, 16, 17, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4596,14 +4597,14 @@ const struct floatformat floatformat_i960_ext =
   "floatformat_i960_ext",
   floatformat_always_valid
 };
-const struct floatformat floatformat_m88110_ext =
+static const struct floatformat floatformat_m88110_ext =
 {
   floatformat_big, 80, 0, 1, 15, 0x3fff, 0x7fff, 16, 64,
   floatformat_intbit_yes,
   "floatformat_m88110_ext",
   floatformat_always_valid
 };
-const struct floatformat floatformat_m88110_harris_ext =
+static const struct floatformat floatformat_m88110_harris_ext =
 {
   /* Harris uses raw format 128 bytes long, but the number is just an ieee
      double, and the last 64 bits are wasted. */
@@ -4612,7 +4613,7 @@ const struct floatformat floatformat_m88110_harris_ext =
   "floatformat_m88110_ext_harris",
   floatformat_always_valid
 };
-const struct floatformat floatformat_arm_ext_big =
+static const struct floatformat floatformat_arm_ext_big =
 {
   /* Bits 1 to 16 are unused.  */
   floatformat_big, 96, 0, 17, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4620,7 +4621,7 @@ const struct floatformat floatformat_arm_ext_big =
   "floatformat_arm_ext_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_arm_ext_littlebyte_bigword =
+static const struct floatformat floatformat_arm_ext_littlebyte_bigword =
 {
   /* Bits 1 to 16 are unused.  */
   floatformat_littlebyte_bigword, 96, 0, 17, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4628,28 +4629,28 @@ const struct floatformat floatformat_arm_ext_littlebyte_bigword =
   "floatformat_arm_ext_littlebyte_bigword",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_spill_big =
+static const struct floatformat floatformat_ia64_spill_big =
 {
   floatformat_big, 128, 0, 1, 17, 65535, 0x1ffff, 18, 64,
   floatformat_intbit_yes,
   "floatformat_ia64_spill_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_spill_little =
+static const struct floatformat floatformat_ia64_spill_little =
 {
   floatformat_little, 128, 0, 1, 17, 65535, 0x1ffff, 18, 64,
   floatformat_intbit_yes,
   "floatformat_ia64_spill_little",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_quad_big =
+static const struct floatformat floatformat_ia64_quad_big =
 {
   floatformat_big, 128, 0, 1, 15, 16383, 0x7fff, 16, 112,
   floatformat_intbit_no,
   "floatformat_ia64_quad_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_quad_little =
+static const struct floatformat floatformat_ia64_quad_little =
 {
   floatformat_little, 128, 0, 1, 15, 16383, 0x7fff, 16, 112,
   floatformat_intbit_no,
diff --git a/memory.c b/memory.c
index aab4a31..cf6c2e2 100644
--- a/memory.c
+++ b/memory.c
@@ -23,7 +23,7 @@
 #define WANT_EXEC_OBSOLETE
 #include "exec-obsolete.h"

-unsigned memory_region_transaction_depth = 0;
+static unsigned memory_region_transaction_depth;
 static bool memory_region_update_pending = false;
 static bool global_dirty_log = false;

diff --git a/microblaze-dis.c b/microblaze-dis.c
index 16c312f..71810e5 100644
--- a/microblaze-dis.c
+++ b/microblaze-dis.c
@@ -567,10 +567,8 @@ struct op_code_struct {
 };

 /* prefix for register names */
-char register_prefix[] = "r";
-char special_register_prefix[] = "spr";
-char fsl_register_prefix[] = "rfsl";
-char pvr_register_prefix[] = "rpvr";
+static char register_prefix[] = "r";
+static char fsl_register_prefix[] = "rfsl";


 /* #defines for valid immediate range */
diff --git a/ppc-dis.c b/ppc-dis.c
index bc98cbe..89ce7a6 100644
--- a/ppc-dis.c
+++ b/ppc-dis.c
@@ -73,8 +73,8 @@ struct powerpc_opcode
 /* The table itself is sorted by major opcode number, and is otherwise
    in the order in which the disassembler should consider
    instructions.  */
-extern const struct powerpc_opcode powerpc_opcodes[];
-extern const int powerpc_num_opcodes;
+static const struct powerpc_opcode powerpc_opcodes[];
+static const int powerpc_num_opcodes;

 /* Values defined for the flags field of a struct powerpc_opcode.  */

@@ -224,8 +224,8 @@ struct powerpc_operand
 /* Elements in the table are retrieved by indexing with values from
    the operands field of the powerpc_opcodes table.  */

-extern const struct powerpc_operand powerpc_operands[];
-extern const unsigned int num_powerpc_operands;
+static const struct powerpc_operand powerpc_operands[];
+static const unsigned int num_powerpc_operands;

 /* Values defined for the flags field of a struct powerpc_operand.  */

@@ -340,8 +340,8 @@ struct powerpc_macro
   const char *format;
 };

-extern const struct powerpc_macro powerpc_macros[];
-extern const int powerpc_num_macros;
+static const struct powerpc_macro powerpc_macros[];
+static const int powerpc_num_macros;

 /* ppc-opc.c -- PowerPC opcode list
    Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
@@ -424,7 +424,7 @@ static long extract_tbr (unsigned long, int, int *);
    omit the parens, since the macros are never used in a context where
    the addition will be ambiguous.  */

-const struct powerpc_operand powerpc_operands[] =
+static const struct powerpc_operand powerpc_operands[] =
 {
   /* The zero index is used to indicate the end of the list of
      operands.  */
@@ -892,8 +892,8 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1, 25, NULL, NULL, PPC_OPERAND_OPTIONAL},
 };

-const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
-					   / sizeof (powerpc_operands[0]));
+static const unsigned int num_powerpc_operands = (sizeof powerpc_operands
+                                                  / sizeof powerpc_operands[0]);

 /* The functions used to insert and extract complicated operands.  */

@@ -2004,7 +2004,7 @@ extract_tbr (unsigned long insn,
    specific instructions before more general instructions.  It is also
    sorted by major opcode.  */

-const struct powerpc_opcode powerpc_opcodes[] = {
+static const struct powerpc_opcode powerpc_opcodes[] = {
 { "attn",    X(0,256), X_MASK,		POWER4,		{ 0 } },
 { "tdlgti",  OPTO(2,TOLGT), OPTO_MASK,	PPC64,		{ RA, SI } },
 { "tdllti",  OPTO(2,TOLLT), OPTO_MASK,	PPC64,		{ RA, SI } },
@@ -5014,7 +5014,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {

 };

-const int powerpc_num_opcodes =
+static const int powerpc_num_opcodes =
   sizeof (powerpc_opcodes) / sizeof (powerpc_opcodes[0]);
 
 /* The macro table.  This is only used by the assembler.  */
@@ -5029,7 +5029,7 @@ const int powerpc_num_opcodes =
    the underlying instructions don't support extracting 0 bits but do
    support extracting the whole word (32 bits in this case).  */

-const struct powerpc_macro powerpc_macros[] = {
+static const struct powerpc_macro powerpc_macros[] = {
 { "extldi",  4,   PPC64,	"rldicr %0,%1,%3,(%2)-1" },
 { "extldi.", 4,   PPC64,	"rldicr. %0,%1,%3,(%2)-1" },
 { "extrdi",  4,   PPC64,	"rldicl %0,%1,(%2)+(%3),64-(%2)" },
@@ -5071,7 +5071,7 @@ const struct powerpc_macro powerpc_macros[] = {
 { "clrlslwi.",4,  PPCCOM,	"rlwinm. %0,%1,%3,(%2)-(%3),31-(%3)" },
 };

-const int powerpc_num_macros =
+static const int powerpc_num_macros =
   sizeof (powerpc_macros) / sizeof (powerpc_macros[0]);


diff --git a/sh4-dis.c b/sh4-dis.c
index 673bc78..e9261ff 100644
--- a/sh4-dis.c
+++ b/sh4-dis.c
@@ -332,7 +332,7 @@ typedef struct

 #ifdef DEFINE_TABLE

-const sh_opcode_info sh_table[] =
+static const sh_opcode_info sh_table[] =
   {
 /* 0111nnnni8*1.... add #<imm>,<REG_N>  */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh1_up},

diff --git a/target-cris/translate.c b/target-cris/translate.c
index e353ea3..0d0796c 100644
--- a/target-cris/translate.c
+++ b/target-cris/translate.c
@@ -3470,7 +3470,7 @@ void cpu_dump_state (CPUCRISState *env, FILE *f, fprintf_function cpu_fprintf,

 }

-struct
+static const struct
 {
     uint32_t vr;
     const char *name;
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 89b4ac7..3f61dd5 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -104,8 +104,8 @@ typedef struct model_features_t {
     uint32_t cpuid;
     } model_features_t;

-int check_cpuid = 0;
-int enforce_cpuid = 0;
+static int check_cpuid;
+static int enforce_cpuid;

 void host_cpuid(uint32_t function, uint32_t count,
                 uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index e74a9e4..6f2f07f 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -90,7 +90,7 @@ static struct kvm_cpuid2 *try_get_cpuid(KVMState *s, int max)
     return cpuid;
 }

-struct kvm_para_features {
+static const struct kvm_para_features {
     int cap;
     int feature;
 } para_features[] = {
diff --git a/tests/fdc-test.c b/tests/fdc-test.c
index 5b5dd74..4d06787 100644
--- a/tests/fdc-test.c
+++ b/tests/fdc-test.c
@@ -58,7 +58,7 @@ enum {
     DSKCHG  = 0x80,
 };

-char test_image[] = "/tmp/qtest.XXXXXX";
+static char test_image[] = "/tmp/qtest.XXXXXX";

 #define assert_bit_set(data, mask) g_assert_cmphex((data) & (mask), ==, (mask))
 #define assert_bit_clear(data, mask) g_assert_cmphex((data) & (mask), ==, 0)
diff --git a/vl.c b/vl.c
index 23ab3a3..beb5cca 100644
--- a/vl.c
+++ b/vl.c
@@ -179,7 +179,7 @@ static const char *data_dir;
 const char *bios_name = NULL;
 enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
 DisplayType display_type = DT_DEFAULT;
-int display_remote = 0;
+static int display_remote;
 const char* keyboard_layout = NULL;
 ram_addr_t ram_size;
 const char *mem_path = NULL;
@@ -200,7 +200,7 @@ static int no_frame = 0;
 int no_quit = 0;
 CharDriverState *serial_hds[MAX_SERIAL_PORTS];
 CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
-CharDriverState *virtcon_hds[MAX_VIRTIO_CONSOLES];
+static const CharDriverState *virtcon_hds[MAX_VIRTIO_CONSOLES];
 int win2k_install_hack = 0;
 int usb_enabled = 0;
 int singlestep = 0;
@@ -214,7 +214,7 @@ const char *vnc_display;
 int acpi_enabled = 1;
 int no_hpet = 0;
 int fd_bootchk = 1;
-int no_reboot = 0;
+static int no_reboot;
 int no_shutdown = 0;
 int cursor_hide = 1;
 int graphic_rotate = 0;
@@ -242,7 +242,8 @@ struct FWBootEntry {
     char *suffix;
 };

-QTAILQ_HEAD(, FWBootEntry) fw_boot_order = QTAILQ_HEAD_INITIALIZER(fw_boot_order);
+static QTAILQ_HEAD(, FWBootEntry) fw_boot_order =
+  QTAILQ_HEAD_INITIALIZER(fw_boot_order);

 int nb_numa_nodes;
 uint64_t node_mem[MAX_NODES];
@@ -1947,7 +1948,8 @@ struct device_config {
     Location loc;
     QTAILQ_ENTRY(device_config) next;
 };
-QTAILQ_HEAD(, device_config) device_configs = QTAILQ_HEAD_INITIALIZER(device_configs);
+static QTAILQ_HEAD(, device_config) device_configs =
+  QTAILQ_HEAD_INITIALIZER(device_configs);

 static void add_device_config(int type, const char *cmdline)
 {
-- 
1.7.10.2.552.gaa3bb87


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 22:43:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 22:43:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWbJL-0005C9-Jy; Mon, 21 May 2012 22:42:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <meyering@meyering.net>) id 1SWYjr-0003bo-5n
	for xen-devel@lists.xensource.com; Mon, 21 May 2012 19:57:55 +0000
Received: from [85.158.139.83:44757] by server-2.bemta-5.messagelabs.com id
	11/0B-17716-24E9ABF4; Mon, 21 May 2012 19:57:54 +0000
X-Env-Sender: meyering@meyering.net
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337630271!22360029!1
X-Originating-IP: [88.168.87.75]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30658 invoked from network); 21 May 2012 19:57:52 -0000
Received: from mx.meyering.net (HELO hx.meyering.net) (88.168.87.75)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 21 May 2012 19:57:52 -0000
Received: from hx.meyering.net (hx.meyering.net [127.0.0.1])
	by hx.meyering.net (8.14.5/8.14.5) with ESMTP id q4LJv8sT030674;
	Mon, 21 May 2012 21:57:08 +0200
Received: (from meyering@localhost)
	by hx.meyering.net (8.14.5/8.14.5/Submit) id q4LJurrc030669;
	Mon, 21 May 2012 21:56:53 +0200
From: Jim Meyering <jim@meyering.net>
To: qemu-devel@nongnu.org
Date: Mon, 21 May 2012 21:56:24 +0200
Message-Id: <1337630184-30581-7-git-send-email-jim@meyering.net>
X-Mailer: git-send-email 1.7.10.2.552.gaa3bb87
In-Reply-To: <1337630184-30581-1-git-send-email-jim@meyering.net>
References: <1337629910-30302-1-git-send-email-jim@meyering.net>
	<1337630184-30581-1-git-send-email-jim@meyering.net>
X-Mailman-Approved-At: Mon, 21 May 2012 22:42:41 +0000
Cc: "open list:X86" <kvm@vger.kernel.org>, Jan Kiszka <jan.kiszka@siemens.com>,
	Luiz Capitulino <lcapitulino@redhat.com>,
	Blue Swirl <blauwirbel@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Christoph Hellwig <hch@lst.de>, Eduardo Habkost <ehabkost@redhat.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	Dong Xu Wang <wdongxu@linux.vnet.ibm.com>,
	Breno Leitao <brenohl@br.ibm.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Avi Kivity <avi@redhat.com>, David Gibson <david@gibson.dropbear.id.au>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Jim Meyering <meyering@redhat.com>, Stefan Weil <sw@weilnetz.de>,
	Igor Mammedov <imammedo@redhat.com>, Richard Henderson <rth@twiddle.net>,
	Kevin Wolf <kwolf@redhat.com>, Anthony Liguori <aliguori@us.ibm.com>,
	Mark Langsdorf <mark.langsdorf@calxeda.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
Subject: [Xen-devel] [PATCH 9/9] convert many more globals to static
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Jim Meyering <meyering@redhat.com>

Minor exceptions:
* arm-dis: move now-detected-as-unused static variables into #if-0'd
block of code where they *are* used.
* microblaze: remove decls of now-detected-as-unused vars

Signed-off-by: Jim Meyering <meyering@redhat.com>
---
 arm-dis.c                 |  8 ++---
 cpus.c                    |  4 +--
 cris-dis.c                |  2 +-
 hw/9pfs/virtio-9p-synth.c |  2 +-
 hw/ide/pci.c              |  2 +-
 hw/leon3.c                |  2 +-
 hw/mips_fulong2e.c        |  2 +-
 hw/s390-virtio-bus.c      |  2 +-
 hw/spapr_rtas.c           |  2 +-
 hw/xen_platform.c         |  2 +-
 hw/xgmac.c                |  2 +-
 m68k-dis.c                | 79 ++++++++++++++++++++++++-----------------------
 memory.c                  |  2 +-
 microblaze-dis.c          |  6 ++--
 ppc-dis.c                 | 26 ++++++++--------
 sh4-dis.c                 |  2 +-
 target-cris/translate.c   |  2 +-
 target-i386/cpu.c         |  4 +--
 target-i386/kvm.c         |  2 +-
 tests/fdc-test.c          |  2 +-
 vl.c                      | 12 ++++---
 21 files changed, 84 insertions(+), 83 deletions(-)

diff --git a/arm-dis.c b/arm-dis.c
index 6bc4d71..43f0253 100644
--- a/arm-dis.c
+++ b/arm-dis.c
@@ -1545,10 +1545,6 @@ enum map_type {
   MAP_DATA
 };

-enum map_type last_type;
-int last_mapping_sym = -1;
-bfd_vma last_mapping_addr = 0;
-
 /* Decode a bitfield of the form matching regexp (N(-N)?,)*N(-N)?.
    Returns pointer to following character of the format string and
    fills in *VALUEP and *WIDTHP with the extracted value and number of
@@ -3877,6 +3873,10 @@ print_insn_arm (bfd_vma pc, struct disassemble_info *info)
 #if 0
   bfd_boolean   found = false;

+  static enum map_type last_type;
+  static int last_mapping_sym = -1;
+  static bfd_vma last_mapping_addr;
+
   if (info->disassembler_options)
     {
       parse_disassembler_options (info->disassembler_options);
diff --git a/cpus.c b/cpus.c
index b182b3d..d5cd318 100644
--- a/cpus.c
+++ b/cpus.c
@@ -84,7 +84,7 @@ typedef struct TimersState {
     int64_t dummy;
 } TimersState;

-TimersState timers_state;
+static TimersState timers_state;

 /* Return the virtual CPU time, based on the instruction counter.  */
 int64_t cpu_get_icount(void)
@@ -611,7 +611,7 @@ static void qemu_tcg_init_cpu_signals(void)
 }
 #endif /* _WIN32 */

-QemuMutex qemu_global_mutex;
+static QemuMutex qemu_global_mutex;
 static QemuCond qemu_io_proceeded_cond;
 static bool iothread_requesting_mutex;

diff --git a/cris-dis.c b/cris-dis.c
index 1d174ba..89ae0b7 100644
--- a/cris-dis.c
+++ b/cris-dis.c
@@ -1215,7 +1215,7 @@ cris_cc_strings[] =
 };

 /* Different names and semantics for condition 1111 (0xf).  */
-const struct cris_cond15 cris_cond15s[] =
+static const struct cris_cond15 cris_cond15s[] =
 {
   /* FIXME: In what version did condition "ext" disappear?  */
   {"ext", cris_ver_v0_3},
diff --git a/hw/9pfs/virtio-9p-synth.c b/hw/9pfs/virtio-9p-synth.c
index 92e0b09..7a15da2 100644
--- a/hw/9pfs/virtio-9p-synth.c
+++ b/hw/9pfs/virtio-9p-synth.c
@@ -21,7 +21,7 @@
 #include <sys/stat.h>

 /* Root node for synth file system */
-V9fsSynthNode v9fs_synth_root = {
+static V9fsSynthNode v9fs_synth_root = {
     .name = "/",
     .actual_attr = {
         .mode = 0555 | S_IFDIR,
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index 88c0942..ac22d56 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -419,7 +419,7 @@ static const VMStateDescription vmstate_bmdma_current = {
     }
 };

-const VMStateDescription vmstate_bmdma_status = {
+static const VMStateDescription vmstate_bmdma_status = {
     .name ="ide bmdma/status",
     .version_id = 1,
     .minimum_version_id = 1,
diff --git a/hw/leon3.c b/hw/leon3.c
index 0a5ff16..4d9cd68 100644
--- a/hw/leon3.c
+++ b/hw/leon3.c
@@ -208,7 +208,7 @@ static void leon3_generic_hw_init(ram_addr_t  ram_size,
     }
 }

-QEMUMachine leon3_generic_machine = {
+static QEMUMachine leon3_generic_machine = {
     .name     = "leon3_generic",
     .desc     = "Leon-3 generic",
     .init     = leon3_generic_hw_init,
diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
index 1a8df10..b266141 100644
--- a/hw/mips_fulong2e.c
+++ b/hw/mips_fulong2e.c
@@ -389,7 +389,7 @@ static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
     network_init();
 }

-QEMUMachine mips_fulong2e_machine = {
+static QEMUMachine mips_fulong2e_machine = {
     .name = "fulong2e",
     .desc = "Fulong 2e mini pc",
     .init = mips_fulong2e_init,
diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c
index 63ccd5c..114f131 100644
--- a/hw/s390-virtio-bus.c
+++ b/hw/s390-virtio-bus.c
@@ -45,7 +45,7 @@

 #define VIRTIO_EXT_CODE   0x2603

-struct BusInfo s390_virtio_bus_info = {
+static struct BusInfo s390_virtio_bus_info = {
     .name       = "s390-virtio",
     .size       = sizeof(VirtIOS390Bus),
 };
diff --git a/hw/spapr_rtas.c b/hw/spapr_rtas.c
index ae18595..315d0fb 100644
--- a/hw/spapr_rtas.c
+++ b/hw/spapr_rtas.c
@@ -204,7 +204,7 @@ static struct rtas_call {
     spapr_rtas_fn fn;
 } rtas_table[TOKEN_MAX];

-struct rtas_call *rtas_next = rtas_table;
+static struct rtas_call *rtas_next = rtas_table;

 target_ulong spapr_rtas_call(sPAPREnvironment *spapr,
                              uint32_t token, uint32_t nargs, target_ulong args,
diff --git a/hw/xen_platform.c b/hw/xen_platform.c
index a9c52a6..562faf7 100644
--- a/hw/xen_platform.c
+++ b/hw/xen_platform.c
@@ -224,7 +224,7 @@ static void platform_fixed_ioport_reset(void *opaque)
     platform_fixed_ioport_writeb(s, 0, 0);
 }

-const MemoryRegionPortio xen_platform_ioport[] = {
+static const MemoryRegionPortio xen_platform_ioport[] = {
     { 0, 16, 4, .write = platform_fixed_ioport_writel, },
     { 0, 16, 2, .write = platform_fixed_ioport_writew, },
     { 0, 16, 1, .write = platform_fixed_ioport_writeb, },
diff --git a/hw/xgmac.c b/hw/xgmac.c
index dd4bdc4..47ee557 100644
--- a/hw/xgmac.c
+++ b/hw/xgmac.c
@@ -148,7 +148,7 @@ typedef struct XgmacState {
     uint32_t regs[R_MAX];
 } XgmacState;

-const VMStateDescription vmstate_rxtx_stats = {
+static const VMStateDescription vmstate_rxtx_stats = {
     .name = "xgmac_stats",
     .version_id = 1,
     .minimum_version_id = 1,
diff --git a/m68k-dis.c b/m68k-dis.c
index 2b155de..20d0a3f 100644
--- a/m68k-dis.c
+++ b/m68k-dis.c
@@ -96,29 +96,29 @@ struct floatformat

 /* floatformats for IEEE single and double, big and little endian.  */

-extern const struct floatformat floatformat_ieee_single_big;
-extern const struct floatformat floatformat_ieee_single_little;
-extern const struct floatformat floatformat_ieee_double_big;
-extern const struct floatformat floatformat_ieee_double_little;
+static const struct floatformat floatformat_ieee_single_big;
+static const struct floatformat floatformat_ieee_single_little;
+static const struct floatformat floatformat_ieee_double_big;
+static const struct floatformat floatformat_ieee_double_little;

 /* floatformat for ARM IEEE double, little endian bytes and big endian words */

-extern const struct floatformat floatformat_ieee_double_littlebyte_bigword;
+static const struct floatformat floatformat_ieee_double_littlebyte_bigword;

 /* floatformats for various extendeds.  */

-extern const struct floatformat floatformat_i387_ext;
-extern const struct floatformat floatformat_m68881_ext;
-extern const struct floatformat floatformat_i960_ext;
-extern const struct floatformat floatformat_m88110_ext;
-extern const struct floatformat floatformat_m88110_harris_ext;
-extern const struct floatformat floatformat_arm_ext_big;
-extern const struct floatformat floatformat_arm_ext_littlebyte_bigword;
+static const struct floatformat floatformat_i387_ext;
+static const struct floatformat floatformat_m68881_ext;
+static const struct floatformat floatformat_i960_ext;
+static const struct floatformat floatformat_m88110_ext;
+static const struct floatformat floatformat_m88110_harris_ext;
+static const struct floatformat floatformat_arm_ext_big;
+static const struct floatformat floatformat_arm_ext_littlebyte_bigword;
 /* IA-64 Floating Point register spilt into memory.  */
-extern const struct floatformat floatformat_ia64_spill_big;
-extern const struct floatformat floatformat_ia64_spill_little;
-extern const struct floatformat floatformat_ia64_quad_big;
-extern const struct floatformat floatformat_ia64_quad_little;
+static const struct floatformat floatformat_ia64_spill_big;
+static const struct floatformat floatformat_ia64_spill_little;
+static const struct floatformat floatformat_ia64_quad_big;
+static const struct floatformat floatformat_ia64_quad_little;

 /* Convert from FMT to a double.
    FROM is the address of the extended float.
@@ -515,10 +515,11 @@ struct m68k_opcode_alias
    ]  first word, bit 10
 */

-extern const struct m68k_opcode m68k_opcodes[];
-extern const struct m68k_opcode_alias m68k_opcode_aliases[];
+static const struct m68k_opcode m68k_opcodes[];
+static const struct m68k_opcode_alias m68k_opcode_aliases[];

-extern const int m68k_numopcodes, m68k_numaliases;
+static const int m68k_numopcodes;
+static const int m68k_numaliases;

 /* **** End of m68k-opcode.h */
 /* **** m68k-dis.c from sourceware.org CVS 2005-08-14.  */
@@ -2059,7 +2060,7 @@ print_insn_m68k (bfd_vma memaddr, disassemble_info *info)
    be consecutive.  If they aren't, the assembler will bomb at
    runtime.  */

-const struct m68k_opcode m68k_opcodes[] =
+static const struct m68k_opcode m68k_opcodes[] =
 {
 {"abcd", 2,	one(0140400),	one(0170770), "DsDd", m68000up },
 {"abcd", 2,	one(0140410),	one(0170770), "-s-d", m68000up },
@@ -4199,7 +4200,7 @@ TBL("tblunb", "tblunw", "tblunl", 0, 0),
 {"wdebug", 4,	two(0175750, 03),	two(0177770, 0xffff), "ds", mcfisa_a },
 };

-const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0];
+static const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0];

 /* These aliases used to be in the above table, each one duplicating
    all of the entries for its primary exactly.  This table was
@@ -4208,7 +4209,7 @@ const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0];
    aliases above that could be moved down here, except for very minor
    differences.  */

-const struct m68k_opcode_alias m68k_opcode_aliases[] =
+static const struct m68k_opcode_alias m68k_opcode_aliases[] =
 {
   { "add",	"addw", },
   { "adda",	"addaw", },
@@ -4452,7 +4453,7 @@ const struct m68k_opcode_alias m68k_opcode_aliases[] =

 };

-const int m68k_numaliases =
+static const int m68k_numaliases =
   sizeof m68k_opcode_aliases / sizeof m68k_opcode_aliases[0];
 /* **** End of m68k-opc.c */
 /* **** floatformat.c from sourceware.org CVS 2005-08-14.  */
@@ -4510,28 +4511,28 @@ floatformat_always_valid (const struct floatformat *fmt ATTRIBUTE_UNUSED,
 #define FLOATFORMAT_CHAR_BIT 8

 /* floatformats for IEEE single and double, big and little endian.  */
-const struct floatformat floatformat_ieee_single_big =
+static const struct floatformat floatformat_ieee_single_big =
 {
   floatformat_big, 32, 0, 1, 8, 127, 255, 9, 23,
   floatformat_intbit_no,
   "floatformat_ieee_single_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ieee_single_little =
+static const struct floatformat floatformat_ieee_single_little =
 {
   floatformat_little, 32, 0, 1, 8, 127, 255, 9, 23,
   floatformat_intbit_no,
   "floatformat_ieee_single_little",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ieee_double_big =
+static const struct floatformat floatformat_ieee_double_big =
 {
   floatformat_big, 64, 0, 1, 11, 1023, 2047, 12, 52,
   floatformat_intbit_no,
   "floatformat_ieee_double_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ieee_double_little =
+static const struct floatformat floatformat_ieee_double_little =
 {
   floatformat_little, 64, 0, 1, 11, 1023, 2047, 12, 52,
   floatformat_intbit_no,
@@ -4542,7 +4543,7 @@ const struct floatformat floatformat_ieee_double_little =
 /* floatformat for IEEE double, little endian byte order, with big endian word
    ordering, as on the ARM.  */

-const struct floatformat floatformat_ieee_double_littlebyte_bigword =
+static const struct floatformat floatformat_ieee_double_littlebyte_bigword =
 {
   floatformat_littlebyte_bigword, 64, 0, 1, 11, 1023, 2047, 12, 52,
   floatformat_intbit_no,
@@ -4573,14 +4574,14 @@ floatformat_i387_ext_is_valid (const struct floatformat *fmt, const char *from)
     return 1;
 }

-const struct floatformat floatformat_i387_ext =
+static const struct floatformat floatformat_i387_ext =
 {
   floatformat_little, 80, 0, 1, 15, 0x3fff, 0x7fff, 16, 64,
   floatformat_intbit_yes,
   "floatformat_i387_ext",
   floatformat_i387_ext_is_valid
 };
-const struct floatformat floatformat_m68881_ext =
+static const struct floatformat floatformat_m68881_ext =
 {
   /* Note that the bits from 16 to 31 are unused.  */
   floatformat_big, 96, 0, 1, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4588,7 +4589,7 @@ const struct floatformat floatformat_m68881_ext =
   "floatformat_m68881_ext",
   floatformat_always_valid
 };
-const struct floatformat floatformat_i960_ext =
+static const struct floatformat floatformat_i960_ext =
 {
   /* Note that the bits from 0 to 15 are unused.  */
   floatformat_little, 96, 16, 17, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4596,14 +4597,14 @@ const struct floatformat floatformat_i960_ext =
   "floatformat_i960_ext",
   floatformat_always_valid
 };
-const struct floatformat floatformat_m88110_ext =
+static const struct floatformat floatformat_m88110_ext =
 {
   floatformat_big, 80, 0, 1, 15, 0x3fff, 0x7fff, 16, 64,
   floatformat_intbit_yes,
   "floatformat_m88110_ext",
   floatformat_always_valid
 };
-const struct floatformat floatformat_m88110_harris_ext =
+static const struct floatformat floatformat_m88110_harris_ext =
 {
   /* Harris uses raw format 128 bytes long, but the number is just an ieee
      double, and the last 64 bits are wasted. */
@@ -4612,7 +4613,7 @@ const struct floatformat floatformat_m88110_harris_ext =
   "floatformat_m88110_ext_harris",
   floatformat_always_valid
 };
-const struct floatformat floatformat_arm_ext_big =
+static const struct floatformat floatformat_arm_ext_big =
 {
   /* Bits 1 to 16 are unused.  */
   floatformat_big, 96, 0, 17, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4620,7 +4621,7 @@ const struct floatformat floatformat_arm_ext_big =
   "floatformat_arm_ext_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_arm_ext_littlebyte_bigword =
+static const struct floatformat floatformat_arm_ext_littlebyte_bigword =
 {
   /* Bits 1 to 16 are unused.  */
   floatformat_littlebyte_bigword, 96, 0, 17, 15, 0x3fff, 0x7fff, 32, 64,
@@ -4628,28 +4629,28 @@ const struct floatformat floatformat_arm_ext_littlebyte_bigword =
   "floatformat_arm_ext_littlebyte_bigword",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_spill_big =
+static const struct floatformat floatformat_ia64_spill_big =
 {
   floatformat_big, 128, 0, 1, 17, 65535, 0x1ffff, 18, 64,
   floatformat_intbit_yes,
   "floatformat_ia64_spill_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_spill_little =
+static const struct floatformat floatformat_ia64_spill_little =
 {
   floatformat_little, 128, 0, 1, 17, 65535, 0x1ffff, 18, 64,
   floatformat_intbit_yes,
   "floatformat_ia64_spill_little",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_quad_big =
+static const struct floatformat floatformat_ia64_quad_big =
 {
   floatformat_big, 128, 0, 1, 15, 16383, 0x7fff, 16, 112,
   floatformat_intbit_no,
   "floatformat_ia64_quad_big",
   floatformat_always_valid
 };
-const struct floatformat floatformat_ia64_quad_little =
+static const struct floatformat floatformat_ia64_quad_little =
 {
   floatformat_little, 128, 0, 1, 15, 16383, 0x7fff, 16, 112,
   floatformat_intbit_no,
diff --git a/memory.c b/memory.c
index aab4a31..cf6c2e2 100644
--- a/memory.c
+++ b/memory.c
@@ -23,7 +23,7 @@
 #define WANT_EXEC_OBSOLETE
 #include "exec-obsolete.h"

-unsigned memory_region_transaction_depth = 0;
+static unsigned memory_region_transaction_depth;
 static bool memory_region_update_pending = false;
 static bool global_dirty_log = false;

diff --git a/microblaze-dis.c b/microblaze-dis.c
index 16c312f..71810e5 100644
--- a/microblaze-dis.c
+++ b/microblaze-dis.c
@@ -567,10 +567,8 @@ struct op_code_struct {
 };

 /* prefix for register names */
-char register_prefix[] = "r";
-char special_register_prefix[] = "spr";
-char fsl_register_prefix[] = "rfsl";
-char pvr_register_prefix[] = "rpvr";
+static char register_prefix[] = "r";
+static char fsl_register_prefix[] = "rfsl";


 /* #defines for valid immediate range */
diff --git a/ppc-dis.c b/ppc-dis.c
index bc98cbe..89ce7a6 100644
--- a/ppc-dis.c
+++ b/ppc-dis.c
@@ -73,8 +73,8 @@ struct powerpc_opcode
 /* The table itself is sorted by major opcode number, and is otherwise
    in the order in which the disassembler should consider
    instructions.  */
-extern const struct powerpc_opcode powerpc_opcodes[];
-extern const int powerpc_num_opcodes;
+static const struct powerpc_opcode powerpc_opcodes[];
+static const int powerpc_num_opcodes;

 /* Values defined for the flags field of a struct powerpc_opcode.  */

@@ -224,8 +224,8 @@ struct powerpc_operand
 /* Elements in the table are retrieved by indexing with values from
    the operands field of the powerpc_opcodes table.  */

-extern const struct powerpc_operand powerpc_operands[];
-extern const unsigned int num_powerpc_operands;
+static const struct powerpc_operand powerpc_operands[];
+static const unsigned int num_powerpc_operands;

 /* Values defined for the flags field of a struct powerpc_operand.  */

@@ -340,8 +340,8 @@ struct powerpc_macro
   const char *format;
 };

-extern const struct powerpc_macro powerpc_macros[];
-extern const int powerpc_num_macros;
+static const struct powerpc_macro powerpc_macros[];
+static const int powerpc_num_macros;

 /* ppc-opc.c -- PowerPC opcode list
    Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
@@ -424,7 +424,7 @@ static long extract_tbr (unsigned long, int, int *);
    omit the parens, since the macros are never used in a context where
    the addition will be ambiguous.  */

-const struct powerpc_operand powerpc_operands[] =
+static const struct powerpc_operand powerpc_operands[] =
 {
   /* The zero index is used to indicate the end of the list of
      operands.  */
@@ -892,8 +892,8 @@ const struct powerpc_operand powerpc_operands[] =
   { 0x1, 25, NULL, NULL, PPC_OPERAND_OPTIONAL},
 };

-const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
-					   / sizeof (powerpc_operands[0]));
+static const unsigned int num_powerpc_operands = (sizeof powerpc_operands
+                                                  / sizeof powerpc_operands[0]);

 /* The functions used to insert and extract complicated operands.  */

@@ -2004,7 +2004,7 @@ extract_tbr (unsigned long insn,
    specific instructions before more general instructions.  It is also
    sorted by major opcode.  */

-const struct powerpc_opcode powerpc_opcodes[] = {
+static const struct powerpc_opcode powerpc_opcodes[] = {
 { "attn",    X(0,256), X_MASK,		POWER4,		{ 0 } },
 { "tdlgti",  OPTO(2,TOLGT), OPTO_MASK,	PPC64,		{ RA, SI } },
 { "tdllti",  OPTO(2,TOLLT), OPTO_MASK,	PPC64,		{ RA, SI } },
@@ -5014,7 +5014,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {

 };

-const int powerpc_num_opcodes =
+static const int powerpc_num_opcodes =
   sizeof (powerpc_opcodes) / sizeof (powerpc_opcodes[0]);
 
 /* The macro table.  This is only used by the assembler.  */
@@ -5029,7 +5029,7 @@ const int powerpc_num_opcodes =
    the underlying instructions don't support extracting 0 bits but do
    support extracting the whole word (32 bits in this case).  */

-const struct powerpc_macro powerpc_macros[] = {
+static const struct powerpc_macro powerpc_macros[] = {
 { "extldi",  4,   PPC64,	"rldicr %0,%1,%3,(%2)-1" },
 { "extldi.", 4,   PPC64,	"rldicr. %0,%1,%3,(%2)-1" },
 { "extrdi",  4,   PPC64,	"rldicl %0,%1,(%2)+(%3),64-(%2)" },
@@ -5071,7 +5071,7 @@ const struct powerpc_macro powerpc_macros[] = {
 { "clrlslwi.",4,  PPCCOM,	"rlwinm. %0,%1,%3,(%2)-(%3),31-(%3)" },
 };

-const int powerpc_num_macros =
+static const int powerpc_num_macros =
   sizeof (powerpc_macros) / sizeof (powerpc_macros[0]);


diff --git a/sh4-dis.c b/sh4-dis.c
index 673bc78..e9261ff 100644
--- a/sh4-dis.c
+++ b/sh4-dis.c
@@ -332,7 +332,7 @@ typedef struct

 #ifdef DEFINE_TABLE

-const sh_opcode_info sh_table[] =
+static const sh_opcode_info sh_table[] =
   {
 /* 0111nnnni8*1.... add #<imm>,<REG_N>  */{"add",{A_IMM,A_REG_N},{HEX_7,REG_N,IMM0_8}, arch_sh1_up},

diff --git a/target-cris/translate.c b/target-cris/translate.c
index e353ea3..0d0796c 100644
--- a/target-cris/translate.c
+++ b/target-cris/translate.c
@@ -3470,7 +3470,7 @@ void cpu_dump_state (CPUCRISState *env, FILE *f, fprintf_function cpu_fprintf,

 }

-struct
+static const struct
 {
     uint32_t vr;
     const char *name;
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 89b4ac7..3f61dd5 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -104,8 +104,8 @@ typedef struct model_features_t {
     uint32_t cpuid;
     } model_features_t;

-int check_cpuid = 0;
-int enforce_cpuid = 0;
+static int check_cpuid;
+static int enforce_cpuid;

 void host_cpuid(uint32_t function, uint32_t count,
                 uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index e74a9e4..6f2f07f 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -90,7 +90,7 @@ static struct kvm_cpuid2 *try_get_cpuid(KVMState *s, int max)
     return cpuid;
 }

-struct kvm_para_features {
+static const struct kvm_para_features {
     int cap;
     int feature;
 } para_features[] = {
diff --git a/tests/fdc-test.c b/tests/fdc-test.c
index 5b5dd74..4d06787 100644
--- a/tests/fdc-test.c
+++ b/tests/fdc-test.c
@@ -58,7 +58,7 @@ enum {
     DSKCHG  = 0x80,
 };

-char test_image[] = "/tmp/qtest.XXXXXX";
+static char test_image[] = "/tmp/qtest.XXXXXX";

 #define assert_bit_set(data, mask) g_assert_cmphex((data) & (mask), ==, (mask))
 #define assert_bit_clear(data, mask) g_assert_cmphex((data) & (mask), ==, 0)
diff --git a/vl.c b/vl.c
index 23ab3a3..beb5cca 100644
--- a/vl.c
+++ b/vl.c
@@ -179,7 +179,7 @@ static const char *data_dir;
 const char *bios_name = NULL;
 enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
 DisplayType display_type = DT_DEFAULT;
-int display_remote = 0;
+static int display_remote;
 const char* keyboard_layout = NULL;
 ram_addr_t ram_size;
 const char *mem_path = NULL;
@@ -200,7 +200,7 @@ static int no_frame = 0;
 int no_quit = 0;
 CharDriverState *serial_hds[MAX_SERIAL_PORTS];
 CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
-CharDriverState *virtcon_hds[MAX_VIRTIO_CONSOLES];
+static const CharDriverState *virtcon_hds[MAX_VIRTIO_CONSOLES];
 int win2k_install_hack = 0;
 int usb_enabled = 0;
 int singlestep = 0;
@@ -214,7 +214,7 @@ const char *vnc_display;
 int acpi_enabled = 1;
 int no_hpet = 0;
 int fd_bootchk = 1;
-int no_reboot = 0;
+static int no_reboot;
 int no_shutdown = 0;
 int cursor_hide = 1;
 int graphic_rotate = 0;
@@ -242,7 +242,8 @@ struct FWBootEntry {
     char *suffix;
 };

-QTAILQ_HEAD(, FWBootEntry) fw_boot_order = QTAILQ_HEAD_INITIALIZER(fw_boot_order);
+static QTAILQ_HEAD(, FWBootEntry) fw_boot_order =
+  QTAILQ_HEAD_INITIALIZER(fw_boot_order);

 int nb_numa_nodes;
 uint64_t node_mem[MAX_NODES];
@@ -1947,7 +1948,8 @@ struct device_config {
     Location loc;
     QTAILQ_ENTRY(device_config) next;
 };
-QTAILQ_HEAD(, device_config) device_configs = QTAILQ_HEAD_INITIALIZER(device_configs);
+static QTAILQ_HEAD(, device_config) device_configs =
+  QTAILQ_HEAD_INITIALIZER(device_configs);

 static void add_device_config(int type, const char *cmdline)
 {
-- 
1.7.10.2.552.gaa3bb87


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 23:54:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 23:54:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWcQa-0005dl-76; Mon, 21 May 2012 23:54:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SWcQY-0005dg-HL
	for xen-devel@lists.xen.org; Mon, 21 May 2012 23:54:14 +0000
Received: from [85.158.143.35:25406] by server-3.bemta-4.messagelabs.com id
	AF/E4-05853-5A5DABF4; Mon, 21 May 2012 23:54:13 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337644450!12561214!1
X-Originating-IP: [203.16.207.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32461 invoked from network); 21 May 2012 23:54:12 -0000
Received: from smtp2.bendigoit.com.au (HELO smtp2.bendigoit.com.au)
	(203.16.207.99)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 May 2012 23:54:12 -0000
Received: from trantor.int.sbss.com.au ([192.168.200.206]
	helo=mail.bendigoit.com.au)
	by smtp2.bendigoit.com.au with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SWcQI-00055R-1k; Tue, 22 May 2012 09:53:58 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Tue, 22 May 2012 09:53:57 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Tue, 22 May 2012 09:53:57 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: Daniel Castro <evil.dani@gmail.com>, Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DCAAAKHAIACRCsAgADOceD//2HtgIAJnbIAgAAfFACACYfaAIABPNWg
Date: Mon, 21 May 2012 23:53:56 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
In-Reply-To: <CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 21 May 2012 23:53:57.0869 (UTC)
	FILETIME=[FCCB31D0:01CD37AC]
X-Really-From-Bendigo-IT: magichashvalue
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> I have done this, and they are in fact identical. Here are the addresses of the
> fields...
> RING at 0x0009a040
> 0x0009a04a status:0
> 0x0009a048 operation 0
> 0x0009a040 id:256
> 
> What else could it be?
> 

Is sizeof() what you expect it to be? That would cause the first request to be (mostly) okay, but subsequent requests to be further and further out of alignment.

James

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 21 23:54:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 21 May 2012 23:54:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWcQa-0005dl-76; Mon, 21 May 2012 23:54:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SWcQY-0005dg-HL
	for xen-devel@lists.xen.org; Mon, 21 May 2012 23:54:14 +0000
Received: from [85.158.143.35:25406] by server-3.bemta-4.messagelabs.com id
	AF/E4-05853-5A5DABF4; Mon, 21 May 2012 23:54:13 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337644450!12561214!1
X-Originating-IP: [203.16.207.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32461 invoked from network); 21 May 2012 23:54:12 -0000
Received: from smtp2.bendigoit.com.au (HELO smtp2.bendigoit.com.au)
	(203.16.207.99)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 May 2012 23:54:12 -0000
Received: from trantor.int.sbss.com.au ([192.168.200.206]
	helo=mail.bendigoit.com.au)
	by smtp2.bendigoit.com.au with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SWcQI-00055R-1k; Tue, 22 May 2012 09:53:58 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Tue, 22 May 2012 09:53:57 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Tue, 22 May 2012 09:53:57 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: Daniel Castro <evil.dani@gmail.com>, Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [Xen-devel] Little help with blk ring
Thread-Index: AQHNLBr5hYy2wnYk20yOkqACgRrWVJa9VeyAgACr7DCAAAKHAIACRCsAgADOceD//2HtgIAJnbIAgAAfFACACYfaAIABPNWg
Date: Mon, 21 May 2012 23:53:56 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
In-Reply-To: <CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 21 May 2012 23:53:57.0869 (UTC)
	FILETIME=[FCCB31D0:01CD37AC]
X-Really-From-Bendigo-IT: magichashvalue
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> I have done this, and they are in fact identical. Here are the addresses of the
> fields...
> RING at 0x0009a040
> 0x0009a04a status:0
> 0x0009a048 operation 0
> 0x0009a040 id:256
> 
> What else could it be?
> 

Is sizeof() what you expect it to be? That would cause the first request to be (mostly) okay, but subsequent requests to be further and further out of alignment.

James

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 01:58:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 01:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWeMC-000237-L8; Tue, 22 May 2012 01:57:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SWeMB-000232-6a
	for xen-devel@lists.xen.org; Tue, 22 May 2012 01:57:51 +0000
Received: from [85.158.138.51:46707] by server-3.bemta-3.messagelabs.com id
	A4/96-04048-E92FABF4; Tue, 22 May 2012 01:57:50 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337651868!28334665!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11011 invoked from network); 22 May 2012 01:57:49 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-174.messagelabs.com with SMTP;
	22 May 2012 01:57:49 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 21 May 2012 18:57:47 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="102654633"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 21 May 2012 18:57:47 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 21 May 2012 18:57:46 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 09:57:44 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: "Hao, Xudong" <xudong.hao@intel.com>, Jan Beulich <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q
Date: Tue, 22 May 2012 01:57:44 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Jan/Konrad
   Do you have further comments about this patch ?   Thanks!
Xiantao

> -----Original Message-----
> From: Hao, Xudong
> Sent: Wednesday, May 09, 2012 2:26 PM
> To: Jan Beulich; Konrad Rzeszutek Wilk
> Cc: xen-devel; Zhang, Xiantao
> Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> > -----Original Message-----
> > From: Jan Beulich [mailto:JBeulich@suse.com]
> > Sent: Tuesday, May 08, 2012 5:42 PM
> > To: Hao, Xudong; Konrad Rzeszutek Wilk
> > Cc: xen-devel
> > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> > owned by pciback
> >
> > >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > >>  -----Original Message-----
> > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] On Sun,
> > >> May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> > >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > >> > > Don't you need to disable this when the device is un-assigned
> > >> > > from the
> > >> guest?
> > >> > >
> > >> >
> > >> > I don't think this need to be disabled when device is un-assigned
> > >> > from
> > > guest.
> > >> If host want to use device again, the host device driver need
> > >> re-load, so whether disabling ltr/obff is up to host device driver.
> > >>
> > >> What if the driver isn't doing that?
> > >
> > > Make it clear, here host side do not be considered, host has its own
> driver.
> > > The only thing is to make sure ltr/obff is enabled before assigning
> > > guest, so that benefit on power.
> > >
> > > Since device is owned by pciback again when it un-assigned from
> > > guest, we need not disable explicitly.
> >
> > As you didn't answer my respective earlier question - _if_ this is a
> > feature needing enabling (and parameter tweaking), I'd imply there are
> > possible incompatibilities (i.e. reasons for not enabling this
> > always), and hence this shouldn't be done universally (and with fixed
> > values for the parameters) _and_ should be properly reset.
> >
> Only Xen administrator can hide a device by pciback, and can assign a device
> to guest. These power feature such as ltr and obff should be enabled by a
> sys-admin, I do not know which situation is a possible disabling these
> features, and why sys-admin want to disable them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 01:58:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 01:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWeMC-000237-L8; Tue, 22 May 2012 01:57:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SWeMB-000232-6a
	for xen-devel@lists.xen.org; Tue, 22 May 2012 01:57:51 +0000
Received: from [85.158.138.51:46707] by server-3.bemta-3.messagelabs.com id
	A4/96-04048-E92FABF4; Tue, 22 May 2012 01:57:50 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337651868!28334665!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11011 invoked from network); 22 May 2012 01:57:49 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-174.messagelabs.com with SMTP;
	22 May 2012 01:57:49 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 21 May 2012 18:57:47 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="102654633"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 21 May 2012 18:57:47 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 21 May 2012 18:57:46 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 09:57:44 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: "Hao, Xudong" <xudong.hao@intel.com>, Jan Beulich <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q
Date: Tue, 22 May 2012 01:57:44 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Jan/Konrad
   Do you have further comments about this patch ?   Thanks!
Xiantao

> -----Original Message-----
> From: Hao, Xudong
> Sent: Wednesday, May 09, 2012 2:26 PM
> To: Jan Beulich; Konrad Rzeszutek Wilk
> Cc: xen-devel; Zhang, Xiantao
> Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> > -----Original Message-----
> > From: Jan Beulich [mailto:JBeulich@suse.com]
> > Sent: Tuesday, May 08, 2012 5:42 PM
> > To: Hao, Xudong; Konrad Rzeszutek Wilk
> > Cc: xen-devel
> > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> > owned by pciback
> >
> > >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > >>  -----Original Message-----
> > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] On Sun,
> > >> May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> > >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > >> > > Don't you need to disable this when the device is un-assigned
> > >> > > from the
> > >> guest?
> > >> > >
> > >> >
> > >> > I don't think this need to be disabled when device is un-assigned
> > >> > from
> > > guest.
> > >> If host want to use device again, the host device driver need
> > >> re-load, so whether disabling ltr/obff is up to host device driver.
> > >>
> > >> What if the driver isn't doing that?
> > >
> > > Make it clear, here host side do not be considered, host has its own
> driver.
> > > The only thing is to make sure ltr/obff is enabled before assigning
> > > guest, so that benefit on power.
> > >
> > > Since device is owned by pciback again when it un-assigned from
> > > guest, we need not disable explicitly.
> >
> > As you didn't answer my respective earlier question - _if_ this is a
> > feature needing enabling (and parameter tweaking), I'd imply there are
> > possible incompatibilities (i.e. reasons for not enabling this
> > always), and hence this shouldn't be done universally (and with fixed
> > values for the parameters) _and_ should be properly reset.
> >
> Only Xen administrator can hide a device by pciback, and can assign a device
> to guest. These power feature such as ltr and obff should be enabled by a
> sys-admin, I do not know which situation is a possible disabling these
> features, and why sys-admin want to disable them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 01:59:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 01:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWeMq-00024Z-22; Tue, 22 May 2012 01:58:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWeMo-00024N-J2
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 01:58:30 +0000
Received: from [85.158.143.99:51221] by server-2.bemta-4.messagelabs.com id
	80/21-12211-5C2FABF4; Tue, 22 May 2012 01:58:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337651909!22086823!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31921 invoked from network); 22 May 2012 01:58:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 01:58:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,635,1330905600"; d="scan'208";a="12591886"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 01:58:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 02:58:12 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWeMV-0003gW-Lj;
	Tue, 22 May 2012 01:58:11 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWeMV-0006ZZ-31;
	Tue, 22 May 2012 02:58:11 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12950-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 02:58:11 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12950: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12950 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12950/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 10 guest-saverestore.2 fail pass in 12949

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12949 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop     fail in 12949 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 01:59:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 01:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWeMq-00024Z-22; Tue, 22 May 2012 01:58:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWeMo-00024N-J2
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 01:58:30 +0000
Received: from [85.158.143.99:51221] by server-2.bemta-4.messagelabs.com id
	80/21-12211-5C2FABF4; Tue, 22 May 2012 01:58:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337651909!22086823!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31921 invoked from network); 22 May 2012 01:58:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 01:58:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,635,1330905600"; d="scan'208";a="12591886"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 01:58:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 02:58:12 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWeMV-0003gW-Lj;
	Tue, 22 May 2012 01:58:11 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWeMV-0006ZZ-31;
	Tue, 22 May 2012 02:58:11 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12950-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 02:58:11 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12950: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12950 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12950/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 10 guest-saverestore.2 fail pass in 12949

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail in 12949 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop     fail in 12949 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 05:44:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 05:44:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWhse-0003ms-1s; Tue, 22 May 2012 05:43:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWhsc-0003mn-R1
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 05:43:35 +0000
Received: from [85.158.143.35:21883] by server-3.bemta-4.messagelabs.com id
	3E/69-05853-6872BBF4; Tue, 22 May 2012 05:43:34 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337665412!13301769!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjYwNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12254 invoked from network); 22 May 2012 05:43:33 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 05:43:33 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=dSw/1udfGt/o2gUtFnJwtSZMmEWQN3o6QLeZf0ZXNaCiBslUahNpMqH4
	LOyQoIkQC32KBkTaN4SO+tjFAeOHUGGWTh7uoEfw81wlIZ73V2gTUTfQU
	XvWy2YQYaf1cr4BjH0eb9uADdlNwvfusih2JL3cnB3hyLgPIRJ9mBktLS
	FyTIYdDx5QPI1fnOwDgXCej7p196Gnx3sKOa3xoQlbTFWt/2208vB8dBo
	beuu5Rt5XfuZD/haaZkxu/jRf7Be7;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337665411; x=1369201411;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=bS8RtlB4gnbz5NQAdiYI/wIL91x79s8gnTJWjVE7+HI=;
	b=gUPCPprR4FQqeHoYUAIdNnvGafMiiAd1t3g3co2fk9m0hjMQpUa6LxxG
	0TBzx02rRNvDjh+XKVZwQllNAru4pqqD2Fc6QeJMerCDbDFCWD+pVlJDx
	ymkcKS3q/uYREyKcMnmNSGp78I+elJkP81bRvhUxLEuOAfBPzSJnVdA35
	tjlaZmF1QAF0MYXYaRc0Up1FTtgCRD9aUBe3nnn5jjqugEJXgHrGqZeR+
	t86qYT6XZTWR7q3rIKgUobd29w71H;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111040135"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 07:43:16 +0200
X-IronPort-AV: E=Sophos;i="4.75,635,1330902000"; d="scan'208";a="134474294"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 07:43:18 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id BD5AB96599E;
	Tue, 22 May 2012 07:43:17 +0200 (CEST)
Message-ID: <4FBB2775.30306@ts.fujitsu.com>
Date: Tue, 22 May 2012 07:43:17 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
	<1337608431.24660.140.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337608431.24660.140.camel@zakaz.uk.xensource.com>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/2012 03:53 PM, Ian Campbell wrote:
> On Mon, 2012-05-21 at 14:48 +0100, George Dunlap wrote:
>> On Mon, May 21, 2012 at 2:34 PM, Ian Campbell<Ian.Campbell@citrix.com>  wrote:
>>>> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
>>>> export the knowledge about semantics to the tools. If this is no problem,
>>>> why can't I just set the defaults in the tools and omit asking the
>>>> hypervisor for the current settings?
>>> Exporting the idea that 0 is not a valid weight is (IMHO at least)
>>> better than exporting the fact that the default weight is (e.g.) 200 and
>>> hard coding that in multiple places.
>> I agree.
>>
>>> You could define a symbolic name if that would make you more comfortable
>>> (that would allow us to change the specific value without changing the
>>> API)
>> That is, as long as the "reasonable value" is the same for all of the
>> parameters.
> I actually meant a symbolic name for the default of each, rather than
> one for all of them.

-1 would fit for all parameters. This value is either invalid or "don't care".

>> I half wonder if having an "init schedule params" function which would
>> set each value to the default for that value would be useful, or if it
>> would be overkill.
>>
>> Of course, if we're doing that, it's only one step further to just
>> reading the actual scheduler parameters...
> I suppose we could make the autogenerated libxl_sched_params_init
> instead be a hand-coded thing which actually reads them.

Reading the scheduler parameters would require a new hypervisor interface
(e.g. a new sub-command of XEN_DOMCTL_scheduler_op) which will have to be
implemented by all schedulers supporting parameter changes.

I think this would be the cleanest solution. If this is the way to go, I
can prepare a patch.

BTW: I just discovered the first patch was not complete, as the original
coding to select the scheduler didn't take cpupools into account. It just
selected the default scheduler instead of the cpupool specific one.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 05:44:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 05:44:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWhse-0003ms-1s; Tue, 22 May 2012 05:43:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWhsc-0003mn-R1
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 05:43:35 +0000
Received: from [85.158.143.35:21883] by server-3.bemta-4.messagelabs.com id
	3E/69-05853-6872BBF4; Tue, 22 May 2012 05:43:34 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337665412!13301769!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjYwNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12254 invoked from network); 22 May 2012 05:43:33 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 05:43:33 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=dSw/1udfGt/o2gUtFnJwtSZMmEWQN3o6QLeZf0ZXNaCiBslUahNpMqH4
	LOyQoIkQC32KBkTaN4SO+tjFAeOHUGGWTh7uoEfw81wlIZ73V2gTUTfQU
	XvWy2YQYaf1cr4BjH0eb9uADdlNwvfusih2JL3cnB3hyLgPIRJ9mBktLS
	FyTIYdDx5QPI1fnOwDgXCej7p196Gnx3sKOa3xoQlbTFWt/2208vB8dBo
	beuu5Rt5XfuZD/haaZkxu/jRf7Be7;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337665411; x=1369201411;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=bS8RtlB4gnbz5NQAdiYI/wIL91x79s8gnTJWjVE7+HI=;
	b=gUPCPprR4FQqeHoYUAIdNnvGafMiiAd1t3g3co2fk9m0hjMQpUa6LxxG
	0TBzx02rRNvDjh+XKVZwQllNAru4pqqD2Fc6QeJMerCDbDFCWD+pVlJDx
	ymkcKS3q/uYREyKcMnmNSGp78I+elJkP81bRvhUxLEuOAfBPzSJnVdA35
	tjlaZmF1QAF0MYXYaRc0Up1FTtgCRD9aUBe3nnn5jjqugEJXgHrGqZeR+
	t86qYT6XZTWR7q3rIKgUobd29w71H;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111040135"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 07:43:16 +0200
X-IronPort-AV: E=Sophos;i="4.75,635,1330902000"; d="scan'208";a="134474294"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 07:43:18 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id BD5AB96599E;
	Tue, 22 May 2012 07:43:17 +0200 (CEST)
Message-ID: <4FBB2775.30306@ts.fujitsu.com>
Date: Tue, 22 May 2012 07:43:17 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
	<1337608431.24660.140.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337608431.24660.140.camel@zakaz.uk.xensource.com>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/2012 03:53 PM, Ian Campbell wrote:
> On Mon, 2012-05-21 at 14:48 +0100, George Dunlap wrote:
>> On Mon, May 21, 2012 at 2:34 PM, Ian Campbell<Ian.Campbell@citrix.com>  wrote:
>>>> Hmm. Scheduling parameters are handled in the hypervisor. I don't want to
>>>> export the knowledge about semantics to the tools. If this is no problem,
>>>> why can't I just set the defaults in the tools and omit asking the
>>>> hypervisor for the current settings?
>>> Exporting the idea that 0 is not a valid weight is (IMHO at least)
>>> better than exporting the fact that the default weight is (e.g.) 200 and
>>> hard coding that in multiple places.
>> I agree.
>>
>>> You could define a symbolic name if that would make you more comfortable
>>> (that would allow us to change the specific value without changing the
>>> API)
>> That is, as long as the "reasonable value" is the same for all of the
>> parameters.
> I actually meant a symbolic name for the default of each, rather than
> one for all of them.

-1 would fit for all parameters. This value is either invalid or "don't care".

>> I half wonder if having an "init schedule params" function which would
>> set each value to the default for that value would be useful, or if it
>> would be overkill.
>>
>> Of course, if we're doing that, it's only one step further to just
>> reading the actual scheduler parameters...
> I suppose we could make the autogenerated libxl_sched_params_init
> instead be a hand-coded thing which actually reads them.

Reading the scheduler parameters would require a new hypervisor interface
(e.g. a new sub-command of XEN_DOMCTL_scheduler_op) which will have to be
implemented by all schedulers supporting parameter changes.

I think this would be the cleanest solution. If this is the way to go, I
can prepare a patch.

BTW: I just discovered the first patch was not complete, as the original
coding to select the scheduler didn't take cpupools into account. It just
selected the default scheduler instead of the cpupool specific one.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 05:45:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 05:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWhuF-0003qN-Hk; Tue, 22 May 2012 05:45:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SWhuD-0003qC-RN
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 05:45:14 +0000
Received: from [193.109.254.147:34885] by server-2.bemta-14.messagelabs.com id
	48/D3-19409-9E72BBF4; Tue, 22 May 2012 05:45:13 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337665509!4817227!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11518 invoked from network); 22 May 2012 05:45:10 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-27.messagelabs.com with SMTP;
	22 May 2012 05:45:10 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 21 May 2012 22:45:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="146092282"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 21 May 2012 22:45:08 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 21 May 2012 22:45:07 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 13:45:04 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>, "Luck, Tony" <tony.luck@intel.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: Ac033gjpbJSbBggbSyWVZxOOOr38Zg==
Date: Tue, 22 May 2012 05:45:04 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 4df7496eea9e92a3e267ffb0a4b8f5e6e0c29c36 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Mon, 21 May 2012 05:07:47 +0800
Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    9 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  395 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  389 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 809 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index d086a09..24b2e86 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -1791,7 +1789,7 @@ static const struct file_operations mce_chrdev_ops =
=3D {
 	.llseek			=3D no_llseek,
 };
=20
-static struct miscdevice mce_chrdev_device =3D {
+struct miscdevice mce_chrdev_device =3D {
 	MISC_MCELOG_MINOR,
 	"mcelog",
 	&mce_chrdev_ops,
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 4f51beb..13c568c 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -329,9 +330,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
@@ -1270,6 +1269,10 @@ asmlinkage void __init xen_start_kernel(void)
 	set_xen_basic_apic_ops();
 #endif
=20
+#ifdef CONFIG_XEN_MCE_LOG
+	xen_early_init_mcelog();
+#endif
+
 	if (xen_feature(XENFEAT_mmu_pt_update_preserve_ad)) {
 		pv_mmu_ops.ptep_modify_prot_start =3D xen_ptep_modify_prot_start;
 		pv_mmu_ops.ptep_modify_prot_commit =3D xen_ptep_modify_prot_commit;
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 9424313..0f54241 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -194,4 +194,12 @@ config XEN_ACPI_PROCESSOR
           module will be called xen_acpi_processor  If you do not know wha=
t to choose,
           select M here. If the CPUFREQ drivers are built in, select Y her=
e.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 9adc5be..1d3e763 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -14,6 +14,7 @@ obj-$(CONFIG_XEN_GNTDEV)		+=3D xen-gntdev.o
 obj-$(CONFIG_XEN_GRANT_DEV_ALLOC)	+=3D xen-gntalloc.o
 obj-$(CONFIG_XENFS)			+=3D xenfs/
 obj-$(CONFIG_XEN_SYS_HYPERVISOR)	+=3D sys-hypervisor.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..cd084b8
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,395 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+void __init xen_early_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain())
+		mce_chrdev_device =3D xen_mce_chrdev_device;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain())
+		return bind_virq_for_mce();
+
+	return -ENODEV;
+}
+late_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..f6e4fef
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,389 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+extern struct miscdevice mce_chrdev_device;
+
+void xen_early_init_mcelog(void);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27590; creation-date="Tue, 22 May 2012 05:39:36 GMT";
	modification-date="Tue, 22 May 2012 13:34:16 GMT"
Content-Transfer-Encoding: base64

RnJvbSA0ZGY3NDk2ZWVhOWU5MmEzZTI2N2ZmYjBhNGI4ZjVlNmUwYzI5YzM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogTW9uLCAyMSBNYXkgMjAxMiAwNTowNzo0NyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS8z
XSB4ZW4vbWNlOiBBZGQgbWNlbG9nIHN1cHBvcnQgZm9yIFhlbiBwbGF0Zm9ybQoKV2hlbiBNQ0Eg
ZXJyb3Igb2NjdXJzLCBpdCB3b3VsZCBiZSBoYW5kbGVkIGJ5IFhlbiBoeXBlcnZpc29yIGZpcnN0
LAphbmQgdGhlbiB0aGUgZXJyb3IgaW5mb3JtYXRpb24gd291bGQgYmUgc2VudCB0byBpbml0aWFs
IGRvbWFpbiBmb3IgbG9nZ2luZy4KClRoaXMgcGF0Y2ggZ2V0cyBlcnJvciBpbmZvcm1hdGlvbiBm
cm9tIFhlbiBoeXBlcnZpc29yIGFuZCBjb252ZXJ0ClhlbiBmb3JtYXQgZXJyb3IgaW50byBMaW51
eCBmb3JtYXQgbWNlbG9nLiBUaGlzIGxvZ2ljIGlzIGJhc2ljYWxseQpzZWxmLWNvbnRhaW5lZCwg
bm90IHRvdWNoaW5nIG90aGVyIGtlcm5lbCBjb21wb25lbnRzLgoKQnkgdXNpbmcgdG9vbHMgbGlr
ZSBtY2Vsb2cgdG9vbCB1c2VycyBjb3VsZCByZWFkIHNwZWNpZmljIGVycm9yIGluZm9ybWF0aW9u
LApsaWtlIHdoYXQgdGhleSBkaWQgdW5kZXIgbmF0aXZlIExpbnV4LgoKVG8gdGVzdCBmb2xsb3cg
ZGlyZWN0aW9ucyBvdXRsaW5lZCBpbiBEb2N1bWVudGF0aW9uL2FjcGkvYXBlaS9laW5qLnR4dAoK
U2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEtlLCBMaXBpbmcgPGxpcGluZy5rZUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6
IEppYW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog
SmVyZW15IEZpdHpoYXJkaW5nZSA8amVyZW15LmZpdHpoYXJkaW5nZUBjaXRyaXguY29tPgotLS0K
IGFyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaCB8ICAgIDggKwogYXJjaC94ODYv
a2VybmVsL2NwdS9tY2hlY2svbWNlLmMgICAgIHwgICAgNCArLQogYXJjaC94ODYveGVuL2VubGln
aHRlbi5jICAgICAgICAgICAgIHwgICAgOSArLQogZHJpdmVycy94ZW4vS2NvbmZpZyAgICAgICAg
ICAgICAgICAgIHwgICAgOCArCiBkcml2ZXJzL3hlbi9NYWtlZmlsZSAgICAgICAgICAgICAgICAg
fCAgICAxICsKIGRyaXZlcnMveGVuL21jZWxvZy5jICAgICAgICAgICAgICAgICB8ICAzOTUgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9taXNjZGV2aWNl
LmggICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oICAg
ICAgfCAgMzg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFu
Z2VkLCA4MDkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBkcml2ZXJzL3hlbi9tY2Vsb2cuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2lu
dGVyZmFjZS94ZW4tbWNhLmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4v
aHlwZXJjYWxsLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKaW5kZXgg
NTcyODg1Mi4uNTljMjI2ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5
cGVyY2FsbC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApAQCAt
NDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uvc2NoZWQuaD4KICNpbmNsdWRl
IDx4ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRm
b3JtLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4tbWNhLmg+CiAKIC8qCiAgKiBUaGUg
aHlwZXJjYWxsIGFzbXMgaGF2ZSB0byBtZWV0IHNldmVyYWwgY29uc3RyYWludHM6CkBAIC0zMDIs
NiArMzAzLDEzIEBAIEhZUEVSVklTT1Jfc2V0X3RpbWVyX29wKHU2NCB0aW1lb3V0KQogfQogCiBz
dGF0aWMgaW5saW5lIGludAorSFlQRVJWSVNPUl9tY2Eoc3RydWN0IHhlbl9tYyAqbWNfb3ApCit7
CisJbWNfb3AtPmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsK
KwlyZXR1cm4gX2h5cGVyY2FsbDEoaW50LCBtY2EsIG1jX29wKTsKK30KKworc3RhdGljIGlubGlu
ZSBpbnQKIEhZUEVSVklTT1JfZG9tMF9vcChzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wICpwbGF0Zm9y
bV9vcCkKIHsKIAlwbGF0Zm9ybV9vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5QRl9JTlRFUkZB
Q0VfVkVSU0lPTjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5j
IGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKaW5kZXggZDA4NmEwOS4uMjRiMmU4
NiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKysrIGIvYXJj
aC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKQEAgLTU3LDggKzU3LDYgQEAgc3RhdGljIERF
RklORV9NVVRFWChtY2VfY2hyZGV2X3JlYWRfbXV0ZXgpOwogCiBpbnQgbWNlX2Rpc2FibGVkIF9f
cmVhZF9tb3N0bHk7CiAKLSNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJMjI3Ci0KICNkZWZpbmUg
U1BJTlVOSVQgMTAwCS8qIDEwMG5zICovCiAKIGF0b21pY190IG1jZV9lbnRyeTsKQEAgLTE3OTEs
NyArMTc4OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG1jZV9jaHJk
ZXZfb3BzID0gewogCS5sbHNlZWsJCQk9IG5vX2xsc2VlaywKIH07CiAKLXN0YXRpYyBzdHJ1Y3Qg
bWlzY2RldmljZSBtY2VfY2hyZGV2X2RldmljZSA9IHsKK3N0cnVjdCBtaXNjZGV2aWNlIG1jZV9j
aHJkZXZfZGV2aWNlID0gewogCU1JU0NfTUNFTE9HX01JTk9SLAogCSJtY2Vsb2ciLAogCSZtY2Vf
Y2hyZGV2X29wcywKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gv
eDg2L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCA0ZjUxYmViLi4xM2M1NjhjIDEwMDY0NAotLS0gYS9h
cmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBA
IC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5j
bHVkZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9tZW1v
cnkuaD4KKyNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaD4KICNpbmNsdWRlIDx4ZW4v
ZmVhdHVyZXMuaD4KICNpbmNsdWRlIDx4ZW4vcGFnZS5oPgogI2luY2x1ZGUgPHhlbi9odm0uaD4K
QEAgLTMyOSw5ICszMzAsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX2luaXRfY3B1aWRfbWFz
ayh2b2lkKQogCXVuc2lnbmVkIGludCB4c2F2ZV9tYXNrOwogCiAJY3B1aWRfbGVhZjFfZWR4X21h
c2sgPQotCQl+KCgxIDw8IFg4Nl9GRUFUVVJFX01DRSkgIHwgIC8qIGRpc2FibGUgTUNFICovCi0J
CSAgKDEgPDwgWDg2X0ZFQVRVUkVfTUNBKSAgfCAgLyogZGlzYWJsZSBNQ0EgKi8KLQkJICAoMSA8
PCBYODZfRkVBVFVSRV9NVFJSKSB8ICAvKiBkaXNhYmxlIE1UUlIgKi8KKwkJfigoMSA8PCBYODZf
RkVBVFVSRV9NVFJSKSB8ICAvKiBkaXNhYmxlIE1UUlIgKi8KIAkJICAoMSA8PCBYODZfRkVBVFVS
RV9BQ0MpKTsgICAvKiB0aGVybWFsIG1vbml0b3JpbmcgKi8KIAogCWlmICgheGVuX2luaXRpYWxf
ZG9tYWluKCkpCkBAIC0xMjcwLDYgKzEyNjksMTAgQEAgYXNtbGlua2FnZSB2b2lkIF9faW5pdCB4
ZW5fc3RhcnRfa2VybmVsKHZvaWQpCiAJc2V0X3hlbl9iYXNpY19hcGljX29wcygpOwogI2VuZGlm
CiAKKyNpZmRlZiBDT05GSUdfWEVOX01DRV9MT0cKKwl4ZW5fZWFybHlfaW5pdF9tY2Vsb2coKTsK
KyNlbmRpZgorCiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2
ZV9hZCkpIHsKIAkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0geGVuX3B0ZXBf
bW9kaWZ5X3Byb3Rfc3RhcnQ7CiAJCXB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQg
PSB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9L
Y29uZmlnIGIvZHJpdmVycy94ZW4vS2NvbmZpZwppbmRleCA5NDI0MzEzLi4wZjU0MjQxIDEwMDY0
NAotLS0gYS9kcml2ZXJzL3hlbi9LY29uZmlnCisrKyBiL2RyaXZlcnMveGVuL0tjb25maWcKQEAg
LTE5NCw0ICsxOTQsMTIgQEAgY29uZmlnIFhFTl9BQ1BJX1BST0NFU1NPUgogICAgICAgICAgIG1v
ZHVsZSB3aWxsIGJlIGNhbGxlZCB4ZW5fYWNwaV9wcm9jZXNzb3IgIElmIHlvdSBkbyBub3Qga25v
dyB3aGF0IHRvIGNob29zZSwKICAgICAgICAgICBzZWxlY3QgTSBoZXJlLiBJZiB0aGUgQ1BVRlJF
USBkcml2ZXJzIGFyZSBidWlsdCBpbiwgc2VsZWN0IFkgaGVyZS4KIAorY29uZmlnIFhFTl9NQ0Vf
TE9HCisJYm9vbCAiWGVuIHBsYXRmb3JtIG1jZWxvZyIKKwlkZXBlbmRzIG9uIFhFTl9ET00wICYm
IFg4Nl82NCAmJiBYODZfTUNFCisJZGVmYXVsdCBuCisJaGVscAorCSAgQWxsb3cga2VybmVsIGZl
dGNoaW5nIE1DRSBlcnJvciBmcm9tIFhlbiBwbGF0Zm9ybSBhbmQKKwkgIGNvbnZlcnRpbmcgaXQg
aW50byBMaW51eCBtY2Vsb2cgZm9ybWF0IGZvciBtY2Vsb2cgdG9vbHMKKwogZW5kbWVudQpkaWZm
IC0tZ2l0IGEvZHJpdmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQppbmRl
eCA5YWRjNWJlLi4xZDNlNzYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9NYWtlZmlsZQorKysg
Yi9kcml2ZXJzL3hlbi9NYWtlZmlsZQpAQCAtMTQsNiArMTQsNyBAQCBvYmotJChDT05GSUdfWEVO
X0dOVERFVikJCSs9IHhlbi1nbnRkZXYubwogb2JqLSQoQ09ORklHX1hFTl9HUkFOVF9ERVZfQUxM
T0MpCSs9IHhlbi1nbnRhbGxvYy5vCiBvYmotJChDT05GSUdfWEVORlMpCQkJKz0geGVuZnMvCiBv
YmotJChDT05GSUdfWEVOX1NZU19IWVBFUlZJU09SKQkrPSBzeXMtaHlwZXJ2aXNvci5vCitvYmot
JChDT05GSUdfWEVOX01DRV9MT0cpCQkrPSBtY2Vsb2cubwogb2JqLSQoQ09ORklHX1hFTl9QVkhW
TSkJCQkrPSBwbGF0Zm9ybS1wY2kubwogb2JqLSQoQ09ORklHX1hFTl9UTUVNKQkJCSs9IHRtZW0u
bwogb2JqLSQoQ09ORklHX1NXSU9UTEJfWEVOKQkJKz0gc3dpb3RsYi14ZW4ubwpkaWZmIC0tZ2l0
IGEvZHJpdmVycy94ZW4vbWNlbG9nLmMgYi9kcml2ZXJzL3hlbi9tY2Vsb2cuYwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDA4NGI4Ci0tLSAvZGV2L251bGwKKysrIGIvZHJp
dmVycy94ZW4vbWNlbG9nLmMKQEAgLTAsMCArMSwzOTUgQEAKKy8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKKyAqIG1jZWxvZy5jCisgKiBEcml2ZXIgZm9yIHJlY2VpdmluZyBhbmQgdHJhbnNmZXJyaW5n
IG1hY2hpbmUgY2hlY2sgZXJyb3IgaW5mb21hdGlvbgorICoKKyAqIENvcHlyaWdodCAoYykgMjAx
MiBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0aG9yOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1
QGludGVsLmNvbT4KKyAqIEF1dGhvcjogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdAaW50
ZWwuY29tPgorICogQXV0aG9yOiBLZSwgTGlwaW5nIDxsaXBpbmcua2VAaW50ZWwuY29tPgorICoK
KyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IG9yLCB3aGVuIGRpc3RyaWJ1dGVkCisgKiBzZXBhcmF0ZWx5IGZy
b20gdGhlIExpbnV4IGtlcm5lbCBvciBpbmNvcnBvcmF0ZWQgaW50byBvdGhlcgorICogc29mdHdh
cmUgcGFja2FnZXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBsaWNlbnNlOgorICoKKyAqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc291cmNlIGZpbGUgKHRoZSAiU29mdHdhcmUi
KSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dAorICogcmVzdHJpY3Rpb24sIGluY2x1
ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwK
KyAqIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorICogYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworICogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUg
U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUK
KyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4K
KyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2lu
Y2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxp
bnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxs
aW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorCisjaW5jbHVk
ZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisjaW5jbHVk
ZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CisjaW5jbHVkZSA8eGVuL3hlbi5oPgorI2luY2x1ZGUg
PGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcnZpc29yLmg+CisK
KyNkZWZpbmUgWEVOX01DRUxPRyAieGVuX21jZWxvZzogIgorCitzdGF0aWMgc3RydWN0IG1jX2lu
Zm8gZ19taTsKK3N0YXRpYyBzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1ICpnX3BoeXNpbmZvOwor
c3RhdGljIHVpbnQzMl90IG5jcHVzOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG1jZWxvZ19s
b2NrKTsKKworc3RhdGljIHN0cnVjdCB4ZW5fbWNlX2xvZyB4ZW5fbWNlbG9nID0geworCS5zaWdu
YXR1cmUJPSBYRU5fTUNFX0xPR19TSUdOQVRVUkUsCisJLmxlbgkJPSBYRU5fTUNFX0xPR19MRU4s
CisJLnJlY29yZGxlbgk9IHNpemVvZihzdHJ1Y3QgeGVuX21jZSksCit9OworCitzdGF0aWMgREVG
SU5FX1NQSU5MT0NLKHhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworc3RhdGljIGludCB4ZW5f
bWNlX2NocmRldl9vcGVuX2NvdW50OwkvKiAjdGltZXMgb3BlbmVkICovCitzdGF0aWMgaW50IHhl
bl9tY2VfY2hyZGV2X29wZW5fZXhjbHU7CS8qIGFscmVhZHkgb3BlbiBleGNsdXNpdmU/ICovCisK
K3N0YXRpYyBpbnQgeGVuX21jZV9jaHJkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1
Y3QgZmlsZSAqZmlsZSkKK3sKKwlzcGluX2xvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2sp
OworCisJaWYgKHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHUgfHwKKwkgICAgKHhlbl9tY2VfY2hy
ZGV2X29wZW5fY291bnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKSkgeworCQlzcGluX3Vu
bG9jaygmeGVuX21jZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwkJcmV0dXJuIC1FQlVTWTsKKwl9
CisKKwlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkKKwkJeGVuX21jZV9jaHJkZXZfb3Blbl9l
eGNsdSA9IDE7CisJeGVuX21jZV9jaHJkZXZfb3Blbl9jb3VudCsrOworCisJc3Bpbl91bmxvY2so
Jnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4o
aW5vZGUsIGZpbGUpOworfQorCitzdGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X3JlbGVhc2Uoc3Ry
dWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3Bpbl9sb2NrKCZ4ZW5f
bWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXhlbl9tY2VfY2hyZGV2X29wZW5fY291bnQtLTsK
Kwl4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1ID0gMDsKKworCXNwaW5fdW5sb2NrKCZ4ZW5fbWNl
X2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCB4
ZW5fbWNlX2NocmRldl9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwK
KwkJCQlzaXplX3QgdXNpemUsIGxvZmZfdCAqb2ZmKQoreworCWNoYXIgX191c2VyICpidWYgPSB1
YnVmOworCXVuc2lnbmVkIG51bTsKKwlpbnQgaSwgZXJyOworCisJc3Bpbl9sb2NrKCZtY2Vsb2df
bG9jayk7CisKKwludW0gPSB4ZW5fbWNlbG9nLm5leHQ7CisKKwkvKiBPbmx5IHN1cHBvcnRzIGZ1
bGwgcmVhZHMgcmlnaHQgbm93ICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoKm9mZiAhPSAwIHx8
IHVzaXplIDwgWEVOX01DRV9MT0dfTEVOKnNpemVvZihzdHJ1Y3QgeGVuX21jZSkpCisJCWdvdG8g
b3V0OworCisJZXJyID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJc3RydWN0
IHhlbl9tY2UgKm0gPSAmeGVuX21jZWxvZy5lbnRyeVtpXTsKKworCQllcnIgfD0gY29weV90b191
c2VyKGJ1ZiwgbSwgc2l6ZW9mKCptKSk7CisJCWJ1ZiArPSBzaXplb2YoKm0pOworCX0KKworCW1l
bXNldCh4ZW5fbWNlbG9nLmVudHJ5LCAwLCBudW0gKiBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsK
Kwl4ZW5fbWNlbG9nLm5leHQgPSAwOworCisJaWYgKGVycikKKwkJZXJyID0gLUVGQVVMVDsKKwor
b3V0OgorCXNwaW5fdW5sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwlyZXR1cm4gZXJyID8gZXJyIDog
YnVmIC0gdWJ1ZjsKK30KKworc3RhdGljIGxvbmcgeGVuX21jZV9jaHJkZXZfaW9jdGwoc3RydWN0
IGZpbGUgKmYsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJdW5zaWduZWQgbG9uZyBhcmcpCit7CisJ
aW50IF9fdXNlciAqcCA9IChpbnQgX191c2VyICopYXJnOworCisJaWYgKCFjYXBhYmxlKENBUF9T
WVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIE1D
RV9HRVRfUkVDT1JEX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKHNpemVvZihzdHJ1Y3QgeGVuX21j
ZSksIHApOworCWNhc2UgTUNFX0dFVF9MT0dfTEVOOgorCQlyZXR1cm4gcHV0X3VzZXIoWEVOX01D
RV9MT0dfTEVOLCBwKTsKKwljYXNlIE1DRV9HRVRDTEVBUl9GTEFHUzogeworCQl1bnNpZ25lZCBm
bGFnczsKKworCQlkbyB7CisJCQlmbGFncyA9IHhlbl9tY2Vsb2cuZmxhZ3M7CisJCX0gd2hpbGUg
KGNtcHhjaGcoJnhlbl9tY2Vsb2cuZmxhZ3MsIGZsYWdzLCAwKSAhPSBmbGFncyk7CisKKwkJcmV0
dXJuIHB1dF91c2VyKGZsYWdzLCBwKTsKKwl9CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FTk9UVFk7
CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB4ZW5fbWNlX2No
cmRldl9vcHMgPSB7CisJLm9wZW4JCQk9IHhlbl9tY2VfY2hyZGV2X29wZW4sCisJLnJlbGVhc2UJ
CT0geGVuX21jZV9jaHJkZXZfcmVsZWFzZSwKKwkucmVhZAkJCT0geGVuX21jZV9jaHJkZXZfcmVh
ZCwKKwkudW5sb2NrZWRfaW9jdGwJCT0geGVuX21jZV9jaHJkZXZfaW9jdGwsCisJLmxsc2VlawkJ
CT0gbm9fbGxzZWVrLAorfTsKKworc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIHhlbl9tY2VfY2hy
ZGV2X2RldmljZSA9IHsKKwlNSVNDX01DRUxPR19NSU5PUiwKKwkibWNlbG9nIiwKKwkmeGVuX21j
ZV9jaHJkZXZfb3BzLAorfTsKKworLyoKKyAqIENhbGxlciBzaG91bGQgaG9sZCB0aGUgbWNlbG9n
X2xvY2sKKyAqLworc3RhdGljIHZvaWQgeGVuX21jZV9sb2coc3RydWN0IHhlbl9tY2UgKm1jZSkK
K3sKKwl1bnNpZ25lZCBlbnRyeTsKKworCWVudHJ5ID0geGVuX21jZWxvZy5uZXh0OworCisJLyoK
KwkgKiBXaGVuIHRoZSBidWZmZXIgZmlsbHMgdXAgZGlzY2FyZCBuZXcgZW50cmllcy4KKwkgKiBB
c3N1bWUgdGhhdCB0aGUgZWFybGllciBlcnJvcnMgYXJlIHRoZSBtb3JlCisJICogaW50ZXJlc3Rp
bmcgb25lczoKKwkgKi8KKwlpZiAoZW50cnkgPj0gWEVOX01DRV9MT0dfTEVOKSB7CisJCXNldF9i
aXQoWEVOX01DRV9PVkVSRkxPVywKKwkJCSh1bnNpZ25lZCBsb25nICopJnhlbl9tY2Vsb2cuZmxh
Z3MpOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KHhlbl9tY2Vsb2cuZW50cnkgKyBlbnRyeSwg
bWNlLCBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsKKworCXhlbl9tY2Vsb2cubmV4dCsrOworfQor
CitzdGF0aWMgaW50IGNvbnZlcnRfbG9nKHN0cnVjdCBtY19pbmZvICptaSkKK3sKKwlzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqbWljOworCXN0cnVjdCBtY2luZm9fZ2xvYmFsICptY19nbG9iYWw7CisJ
c3RydWN0IG1jaW5mb19iYW5rICptY19iYW5rOworCXN0cnVjdCB4ZW5fbWNlIG07CisJdWludDMy
X3QgaTsKKworCW1pYyA9IE5VTEw7CisJeDg2X21jaW5mb19sb29rdXAoJm1pYywgbWksIE1DX1RZ
UEVfR0xPQkFMKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJcHJfd2FybmluZyhYRU5fTUNF
TE9HICJGYWlsZWQgdG8gZmluZCBnbG9iYWwgZXJyb3IgaW5mb1xuIik7CisJCXJldHVybiAtRU5P
REVWOworCX0KKworCW1lbXNldCgmbSwgMCwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7CisKKwlt
Y19nbG9iYWwgPSAoc3RydWN0IG1jaW5mb19nbG9iYWwgKiltaWM7CisJbS5tY2dzdGF0dXMgPSBt
Y19nbG9iYWwtPm1jX2dzdGF0dXM7CisJbS5hcGljaWQgPSBtY19nbG9iYWwtPm1jX2FwaWNpZDsK
KworCWZvciAoaSA9IDA7IGkgPCBuY3B1czsgaSsrKQorCQlpZiAoZ19waHlzaW5mb1tpXS5tY19h
cGljaWQgPT0gbS5hcGljaWQpCisJCQlicmVhazsKKwlpZiAodW5saWtlbHkoaSA9PSBuY3B1cykp
IHsKKwkJcHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8gbWF0Y2ggY3B1IHdpdGggYXBp
Y2lkICVkXG4iLAorCQkJICAgbS5hcGljaWQpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlt
LnNvY2tldGlkID0gZ19waHlzaW5mb1tpXS5tY19jaGlwaWQ7CisJbS5jcHUgPSBtLmV4dGNwdSA9
IGdfcGh5c2luZm9baV0ubWNfY3B1bnI7CisJbS5jcHV2ZW5kb3IgPSAoX191OClnX3BoeXNpbmZv
W2ldLm1jX3ZlbmRvcjsKKwltLm1jZ2NhcCA9IGdfcGh5c2luZm9baV0ubWNfbXNydmFsdWVzW19f
TUNfTVNSX01DR0NBUF0udmFsdWU7CisKKwltaWMgPSBOVUxMOworCXg4Nl9tY2luZm9fbG9va3Vw
KCZtaWMsIG1pLCBNQ19UWVBFX0JBTkspOworCWlmICh1bmxpa2VseSghbWljKSkgeworCQlwcl93
YXJuaW5nKFhFTl9NQ0VMT0cgIkZhaWwgdG8gZmluZCBiYW5rIGVycm9yIGluZm9cbiIpOworCQly
ZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbyB7CisJCWlmICgoIW1pYykgfHwgKG1pYy0+c2l6ZSA9
PSAwKSB8fAorCQkgICAgKG1pYy0+dHlwZSAhPSBNQ19UWVBFX0dMT0JBTCAgICYmCisJCSAgICAg
bWljLT50eXBlICE9IE1DX1RZUEVfQkFOSyAgICAgJiYKKwkJICAgICBtaWMtPnR5cGUgIT0gTUNf
VFlQRV9FWFRFTkRFRCAmJgorCQkgICAgIG1pYy0+dHlwZSAhPSBNQ19UWVBFX1JFQ09WRVJZKSkK
KwkJCWJyZWFrOworCisJCWlmIChtaWMtPnR5cGUgPT0gTUNfVFlQRV9CQU5LKSB7CisJCQltY19i
YW5rID0gKHN0cnVjdCBtY2luZm9fYmFuayAqKW1pYzsKKwkJCW0ubWlzYyA9IG1jX2JhbmstPm1j
X21pc2M7CisJCQltLnN0YXR1cyA9IG1jX2JhbmstPm1jX3N0YXR1czsKKwkJCW0uYWRkciA9IG1j
X2JhbmstPm1jX2FkZHI7CisJCQltLnRzYyA9IG1jX2JhbmstPm1jX3RzYzsKKwkJCW0uYmFuayA9
IG1jX2JhbmstPm1jX2Jhbms7CisJCQltLmZpbmlzaGVkID0gMTsKKwkJCS8qbG9nIHRoaXMgcmVj
b3JkKi8KKwkJCXhlbl9tY2VfbG9nKCZtKTsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZvX25leHQo
bWljKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG1jX3F1
ZXVlX2hhbmRsZSh1aW50MzJfdCBmbGFncykKK3sKKwlzdHJ1Y3QgeGVuX21jIG1jX29wOworCWlu
dCByZXQgPSAwOworCisJbWNfb3AuY21kID0gWEVOX01DX2ZldGNoOworCW1jX29wLmludGVyZmFj
ZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hh
bmRsZShtY19vcC51Lm1jX2ZldGNoLmRhdGEsICZnX21pKTsKKwlkbyB7CisJCW1jX29wLnUubWNf
ZmV0Y2guZmxhZ3MgPSBmbGFnczsKKwkJcmV0ID0gSFlQRVJWSVNPUl9tY2EoJm1jX29wKTsKKwkJ
aWYgKHJldCkgeworCQkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBmZXRjaCAlcyBlcnJv
ciBsb2dcbiIsCisJCQkgICAgICAgKGZsYWdzID09IFhFTl9NQ19VUkdFTlQpID8KKwkJCSAgICAg
ICAidXJnbmV0IiA6ICJub251cmdlbnQiKTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKG1jX29w
LnUubWNfZmV0Y2guZmxhZ3MgJiBYRU5fTUNfTk9EQVRBIHx8CisJCSAgICBtY19vcC51Lm1jX2Zl
dGNoLmZsYWdzICYgWEVOX01DX0ZFVENIRkFJTEVEKQorCQkJYnJlYWs7CisJCWVsc2UgeworCQkJ
cmV0ID0gY29udmVydF9sb2coJmdfbWkpOworCQkJaWYgKHJldCkKKwkJCQlwcl93YXJuaW5nKFhF
Tl9NQ0VMT0cKKwkJCQkJICAgIkZhaWxlZCB0byBjb252ZXJ0IHRoaXMgZXJyb3IgbG9nLCAiCisJ
CQkJCSAgICJjb250aW51ZSBhY2tpbmcgaXQgYW55d2F5XG4iKTsKKworCQkJbWNfb3AudS5tY19m
ZXRjaC5mbGFncyA9IGZsYWdzIHwgWEVOX01DX0FDSzsKKwkJCXJldCA9IEhZUEVSVklTT1JfbWNh
KCZtY19vcCk7CisJCQlpZiAocmV0KSB7CisJCQkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJCQkgICAg
ICAgIkZhaWxlZCB0byBhY2sgcHJldmlvdXMgZXJyb3IgbG9nXG4iKTsKKwkJCQlicmVhazsKKwkJ
CX0KKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIHJldDsKK30KKworLyogdmlycSBoYW5k
bGVyIGZvciBtYWNoaW5lIGNoZWNrIGVycm9yIGluZm8qLworc3RhdGljIGlycXJldHVybl90IHhl
bl9tY2VfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlpbnQgZXJyOworCXVu
c2lnbmVkIGxvbmcgdG1wOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJm1jZWxvZ19sb2NrLCB0bXAp
OworCisJLyogdXJnZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19xdWV1ZV9oYW5kbGUoWEVOX01D
X1VSR0VOVCk7CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJICAgICAgICJGYWls
ZWQgdG8gaGFuZGxlIHVyZ2VudCBtY19pbmZvIHF1ZXVlLCAiCisJCSAgICAgICAiY29udGludWUg
aGFuZGxpbmcgbm9udXJnZW50IG1jX2luZm8gcXVldWUgYW55d2F5LlxuIik7CisKKwkvKiBub251
cmdlbnQgbWNfaW5mbyAqLworCWVyciA9IG1jX3F1ZXVlX2hhbmRsZShYRU5fTUNfTk9OVVJHRU5U
KTsKKwlpZiAoZXJyKQorCQlwcl9lcnIoWEVOX01DRUxPRworCQkgICAgICAgIkZhaWxlZCB0byBo
YW5kbGUgbm9udXJnZW50IG1jX2luZm8gcXVldWUuXG4iKTsKKworCXNwaW5fdW5sb2NrX2lycXJl
c3RvcmUoJm1jZWxvZ19sb2NrLCB0bXApOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitz
dGF0aWMgaW50IGJpbmRfdmlycV9mb3JfbWNlKHZvaWQpCit7CisJaW50IHJldDsKKwlzdHJ1Y3Qg
eGVuX21jIG1jX29wOworCisJbWVtc2V0KCZtY19vcCwgMCwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWMp
KTsKKworCS8qIEZldGNoIHBoeXNpY2FsIENQVSBOdW1iZXJzICovCisJbWNfb3AuY21kID0gWEVO
X01DX3BoeXNjcHVpbmZvOworCW1jX29wLmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRF
UkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX3BoeXNjcHVp
bmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19vcCk7CisJ
aWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdldCBDUFUgbnVtYmVy
c1xuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyogRmV0Y2ggZWFjaCBDUFUgUGh5c2ljYWwg
SW5mbyBmb3IgbGF0ZXIgcmVmZXJlbmNlKi8KKwluY3B1cyA9IG1jX29wLnUubWNfcGh5c2NwdWlu
Zm8ubmNwdXM7CisJZ19waHlzaW5mbyA9IGtjYWxsb2MobmNwdXMsIHNpemVvZihzdHJ1Y3QgbWNp
bmZvX2xvZ2ljYWxfY3B1KSwKKwkJCSAgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFnX3BoeXNpbmZv
KQorCQlyZXR1cm4gLUVOT01FTTsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX3Bo
eXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19v
cCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdldCBDUFUg
aW5mb1xuIik7CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJl
dCAgPSBiaW5kX3ZpcnFfdG9faXJxaGFuZGxlcihWSVJRX01DQSwgMCwKKwkJCQkgICAgICAgeGVu
X21jZV9pbnRlcnJ1cHQsIDAsICJtY2UiLCBOVUxMKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9l
cnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGJpbmQgdmlycVxuIik7CisJCWtmcmVlKGdfcGh5c2lu
Zm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCit2b2lkIF9faW5pdCB4
ZW5fZWFybHlfaW5pdF9tY2Vsb2codm9pZCkKK3sKKwkvKiBPbmx5IERPTTAgaXMgcmVzcG9uc2li
bGUgZm9yIE1DRSBsb2dnaW5nICovCisJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKQorCQltY2Vf
Y2hyZGV2X2RldmljZSA9IHhlbl9tY2VfY2hyZGV2X2RldmljZTsKK30KKworc3RhdGljIGludCBf
X2luaXQgeGVuX2xhdGVfaW5pdF9tY2Vsb2codm9pZCkKK3sKKwkvKiBPbmx5IERPTTAgaXMgcmVz
cG9uc2libGUgZm9yIE1DRSBsb2dnaW5nICovCisJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKQor
CQlyZXR1cm4gYmluZF92aXJxX2Zvcl9tY2UoKTsKKworCXJldHVybiAtRU5PREVWOworfQorbGF0
ZV9pbml0Y2FsbCh4ZW5fbGF0ZV9pbml0X21jZWxvZyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xp
bnV4L21pc2NkZXZpY2UuaCBiL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCmluZGV4IDA1NDlk
MjEuLmUwZGVlYjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCisrKyBi
L2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjZGVmaW5lIE1Q
VF9NSU5PUgkJMjIwCiAjZGVmaW5lIE1QVDJTQVNfTUlOT1IJCTIyMQogI2RlZmluZSBVSU5QVVRf
TUlOT1IJCTIyMworI2RlZmluZSBNSVNDX01DRUxPR19NSU5PUgkyMjcKICNkZWZpbmUgSFBFVF9N
SU5PUgkJMjI4CiAjZGVmaW5lIEZVU0VfTUlOT1IJCTIyOQogI2RlZmluZSBLVk1fTUlOT1IJCTIz
MgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaCBiL2luY2x1ZGUv
eGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZjZlNGZlZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4t
bWNhLmgKQEAgLTAsMCArMSwzODkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGFyY2gt
eDg2L21jYS5oCisgKiBHdWVzdCBPUyBtYWNoaW5lIGNoZWNrIGludGVyZmFjZSB0byB4ODYgWGVu
LgorICoKKyAqIENvbnRyaWJ1dGVkIGJ5IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAq
IEF1dGhvcjogQ2hyaXN0b3BoIEVnZ2VyIDxDaHJpc3RvcGguRWdnZXJAYW1kLmNvbT4KKyAqCisg
KiBVcGRhdGVkIGJ5IEludGVsIENvcnBvcmF0aW9uCisgKiBBdXRob3I6IExpdSwgSmluc29uZyA8
amluc29uZy5saXVAaW50ZWwuY29tPgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9m
IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJT
b2Z0d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
cgorICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAq
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoK
KyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RI
RVIKKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BV
QkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisjZGVmaW5lIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0Ff
SF9fCisKKy8qIEh5cGVyY2FsbCAqLworI2RlZmluZSBfX0hZUEVSVklTT1JfbWNhIF9fSFlQRVJW
SVNPUl9hcmNoXzAKKworI2RlZmluZSBYRU5fTUNBX0lOVEVSRkFDRV9WRVJTSU9OCTB4MDFlY2Mw
MDMKKworLyogSU46IERvbTAgY2FsbHMgaHlwZXJjYWxsIHRvIHJldHJpZXZlIG5vbnVyZ2VudCBl
cnJvciBsb2cgZW50cnkgKi8KKyNkZWZpbmUgWEVOX01DX05PTlVSR0VOVAkweDEKKy8qIElOOiBE
b20wIGNhbGxzIGh5cGVyY2FsbCB0byByZXRyaWV2ZSB1cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICov
CisjZGVmaW5lIFhFTl9NQ19VUkdFTlQJCTB4MgorLyogSU46IERvbTAgYWNrbm93bGVkZ2VzIHBy
ZXZpb3NseS1mZXRjaGVkIGVycm9yIGxvZyBlbnRyeSAqLworI2RlZmluZSBYRU5fTUNfQUNLCQkw
eDQKKworLyogT1VUOiBBbGwgaXMgb2sgKi8KKyNkZWZpbmUgWEVOX01DX09LCQkweDAKKy8qIE9V
VDogRG9tYWluIGNvdWxkIG5vdCBmZXRjaCBkYXRhLiAqLworI2RlZmluZSBYRU5fTUNfRkVUQ0hG
QUlMRUQJMHgxCisvKiBPVVQ6IFRoZXJlIHdhcyBubyBtYWNoaW5lIGNoZWNrIGRhdGEgdG8gZmV0
Y2guICovCisjZGVmaW5lIFhFTl9NQ19OT0RBVEEJCTB4MgorCisjaWZuZGVmIF9fQVNTRU1CTFlf
XworLyogdklSUSBpbmplY3RlZCB0byBEb20wICovCisjZGVmaW5lIFZJUlFfTUNBIFZJUlFfQVJD
SF8wCisKKy8qCisgKiBtY19pbmZvIGVudHJ5IHR5cGVzCisgKiBtY2EgbWFjaGluZSBjaGVjayBp
bmZvIGFyZSByZWNvcmRlZCBpbiBtY19pbmZvIGVudHJpZXMuCisgKiB3aGVuIGZldGNoIG1jYSBp
bmZvLCBpdCBjYW4gdXNlIE1DX1RZUEVfLi4uIHRvIGRpc3Rpbmd1aXNoCisgKiBkaWZmZXJlbnQg
bWNhIGluZm8uCisgKi8KKyNkZWZpbmUgTUNfVFlQRV9HTE9CQUwJCTAKKyNkZWZpbmUgTUNfVFlQ
RV9CQU5LCQkxCisjZGVmaW5lIE1DX1RZUEVfRVhURU5ERUQJMgorI2RlZmluZSBNQ19UWVBFX1JF
Q09WRVJZCTMKKworc3RydWN0IG1jaW5mb19jb21tb24geworCXVpbnQxNl90IHR5cGU7IC8qIHN0
cnVjdHVyZSB0eXBlICovCisJdWludDE2X3Qgc2l6ZTsgLyogc2l6ZSBvZiB0aGlzIHN0cnVjdCBp
biBieXRlcyAqLworfTsKKworI2RlZmluZSBNQ19GTEFHX0NPUlJFQ1RBQkxFCSgxIDw8IDApCisj
ZGVmaW5lIE1DX0ZMQUdfVU5DT1JSRUNUQUJMRQkoMSA8PCAxKQorI2RlZmluZSBNQ19GTEFHX1JF
Q09WRVJBQkxFCSgxIDw8IDIpCisjZGVmaW5lIE1DX0ZMQUdfUE9MTEVECQkoMSA8PCAzKQorI2Rl
ZmluZSBNQ19GTEFHX1JFU0VUCQkoMSA8PCA0KQorI2RlZmluZSBNQ19GTEFHX0NNQ0kJCSgxIDw8
IDUpCisjZGVmaW5lIE1DX0ZMQUdfTUNFCQkoMSA8PCA2KQorCisvKiBjb250YWlucyB4ODYgZ2xv
YmFsIG1jIGluZm9ybWF0aW9uICovCitzdHJ1Y3QgbWNpbmZvX2dsb2JhbCB7CisJc3RydWN0IG1j
aW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2X3QgbWNfZG9taWQ7IC8qIHJ1bm5pbmcgZG9t
YWluIGF0IHRoZSB0aW1lIGluIGVycm9yICovCisJdWludDE2X3QgbWNfdmNwdWlkOyAvKiB2aXJ0
dWFsIGNwdSBzY2hlZHVsZWQgZm9yIG1jX2RvbWlkICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7
IC8qIHBoeXNpY2FsIHNvY2tldCBvZiB0aGUgcGh5c2ljYWwgY29yZSAqLworCXVpbnQxNl90IG1j
X2NvcmVpZDsgLyogcGh5c2ljYWwgaW1wYWN0ZWQgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVf
dGhyZWFkaWQ7IC8qIGNvcmUgdGhyZWFkIG9mIHBoeXNpY2FsIGNvcmUgKi8KKwl1aW50MzJfdCBt
Y19hcGljaWQ7CisJdWludDMyX3QgbWNfZmxhZ3M7CisJdWludDY0X3QgbWNfZ3N0YXR1czsgLyog
Z2xvYmFsIHN0YXR1cyAqLworfTsKKworLyogY29udGFpbnMgeDg2IGJhbmsgbWMgaW5mb3JtYXRp
b24gKi8KK3N0cnVjdCBtY2luZm9fYmFuayB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9u
OworCisJdWludDE2X3QgbWNfYmFuazsgLyogYmFuayBuciAqLworCXVpbnQxNl90IG1jX2RvbWlk
OyAvKiBkb21haW4gcmVmZXJlbmNlZCBieSBtY19hZGRyIGlmIHZhbGlkICovCisJdWludDY0X3Qg
bWNfc3RhdHVzOyAvKiBiYW5rIHN0YXR1cyAqLworCXVpbnQ2NF90IG1jX2FkZHI7IC8qIGJhbmsg
YWRkcmVzcyAqLworCXVpbnQ2NF90IG1jX21pc2M7CisJdWludDY0X3QgbWNfY3RybDI7CisJdWlu
dDY0X3QgbWNfdHNjOworfTsKKworc3RydWN0IG1jaW5mb19tc3IgeworCXVpbnQ2NF90IHJlZzsg
LyogTVNSICovCisJdWludDY0X3QgdmFsdWU7IC8qIE1TUiB2YWx1ZSAqLworfTsKKworLyogY29u
dGFpbnMgbWMgaW5mb3JtYXRpb24gZnJvbSBvdGhlciBvciBhZGRpdGlvbmFsIG1jIE1TUnMgKi8K
K3N0cnVjdCBtY2luZm9fZXh0ZW5kZWQgeworCXN0cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsK
Kwl1aW50MzJfdCBtY19tc3JzOyAvKiBOdW1iZXIgb2YgbXNyIHdpdGggdmFsaWQgdmFsdWVzLiAq
LworCS8qCisJICogQ3VycmVudGx5IEludGVsIGV4dGVuZGVkIE1TUiAoMzIvNjQpIGluY2x1ZGUg
YWxsIGdwIHJlZ2lzdGVycworCSAqIGFuZCBFKFIpRkxBR1MsIEUoUilJUCwgRShSKU1JU0MsIHVw
IHRvIDExLzE5IG9mIHRoZW0gbWlnaHQgYmUKKwkgKiB1c2VmdWwgYXQgcHJlc2VudC4gU28gZXhw
YW5kIHRoaXMgYXJyYXkgdG8gMTYvMzIgdG8gbGVhdmUgcm9vbS4KKwkgKi8KKwlzdHJ1Y3QgbWNp
bmZvX21zciBtY19tc3Jbc2l6ZW9mKHZvaWQgKikgKiA0XTsKK307CisKKy8qIFJlY292ZXJ5IEFj
dGlvbiBmbGFncy4gR2l2aW5nIHJlY292ZXJ5IHJlc3VsdCBpbmZvcm1hdGlvbiB0byBET00wICov
CisKKy8qIFhlbiB0YWtlcyBzdWNjZXNzZnVsIHJlY292ZXJ5IGFjdGlvbiwgdGhlIGVycm9yIGlz
IHJlY292ZXJlZCAqLworI2RlZmluZSBSRUNfQUNUSU9OX1JFQ09WRVJFRCAoMHgxIDw8IDApCisv
KiBObyBhY3Rpb24gaXMgcGVyZm9ybWVkIGJ5IFhFTiAqLworI2RlZmluZSBSRUNfQUNUSU9OX05P
TkUgKDB4MSA8PCAxKQorLyogSXQncyBwb3NzaWJsZSBET00wIG1pZ2h0IHRha2UgYWN0aW9uIG93
bmVyc2hpcCBpbiBzb21lIGNhc2UgKi8KKyNkZWZpbmUgUkVDX0FDVElPTl9ORUVEX1JFU0VUICgw
eDEgPDwgMikKKworLyoKKyAqIERpZmZlcmVudCBSZWNvdmVyeSBBY3Rpb24gdHlwZXMsIGlmIHRo
ZSBhY3Rpb24gaXMgcGVyZm9ybWVkIHN1Y2Nlc3NmdWxseSwKKyAqIFJFQ19BQ1RJT05fUkVDT1ZF
UkVEIGZsYWcgd2lsbCBiZSByZXR1cm5lZC4KKyAqLworCisvKiBQYWdlIE9mZmxpbmUgQWN0aW9u
ICovCisjZGVmaW5lIE1DX0FDVElPTl9QQUdFX09GRkxJTkUgKDB4MSA8PCAwKQorLyogQ1BVIG9m
ZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FDVElPTl9DUFVfT0ZGTElORSAoMHgxIDw8IDEp
CisvKiBMMyBjYWNoZSBkaXNhYmxlIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fQ0FDSEVf
U0hSSU5LICgweDEgPDwgMikKKworLyoKKyAqIEJlbG93IGludGVyZmFjZSB1c2VkIGJldHdlZW4g
WEVOL0RPTTAgZm9yIHBhc3NpbmcgWEVOJ3MgcmVjb3ZlcnkgYWN0aW9uCisgKiBpbmZvcm1hdGlv
biB0byBET00wLgorICovCitzdHJ1Y3QgcGFnZV9vZmZsaW5lX2FjdGlvbiB7CisJLyogUGFyYW1z
IGZvciBwYXNzaW5nIHRoZSBvZmZsaW5lZCBwYWdlIG51bWJlciB0byBET00wICovCisJdWludDY0
X3QgbWZuOworCXVpbnQ2NF90IHN0YXR1czsKK307CisKK3N0cnVjdCBjcHVfb2ZmbGluZV9hY3Rp
b24geworCS8qIFBhcmFtcyBmb3IgcGFzc2luZyB0aGUgaWRlbnRpdHkgb2YgdGhlIG9mZmxpbmVk
IENQVSB0byBET00wICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7CisJdWludDE2X3QgbWNfY29y
ZWlkOworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFkaWQ7Cit9OworCisjZGVmaW5lIE1BWF9VTklP
Tl9TSVpFIDE2CitzdHJ1Y3QgbWNpbmZvX3JlY292ZXJ5IHsKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1v
biBjb21tb247CisJdWludDE2X3QgbWNfYmFuazsgLyogYmFuayBuciAqLworCXVpbnQ4X3QgYWN0
aW9uX2ZsYWdzOworCXVpbnQ4X3QgYWN0aW9uX3R5cGVzOworCXVuaW9uIHsKKwkJc3RydWN0IHBh
Z2Vfb2ZmbGluZV9hY3Rpb24gcGFnZV9yZXRpcmU7CisJCXN0cnVjdCBjcHVfb2ZmbGluZV9hY3Rp
b24gY3B1X29mZmxpbmU7CisJCXVpbnQ4X3QgcGFkW01BWF9VTklPTl9TSVpFXTsKKwl9IGFjdGlv
bl9pbmZvOworfTsKKworCisjZGVmaW5lIE1DSU5GT19NQVhTSVpFIDc2OAorc3RydWN0IG1jX2lu
Zm8geworCS8qIE51bWJlciBvZiBtY2luZm9fKiBlbnRyaWVzIGluIG1pX2RhdGEgKi8KKwl1aW50
MzJfdCBtaV9uZW50cmllczsKKwl1aW50MzJfdCBmbGFnczsKKwl1aW50NjRfdCBtaV9kYXRhWyhN
Q0lORk9fTUFYU0laRSAtIDEpIC8gOF07Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1Qo
bWNfaW5mbyk7CisKKyNkZWZpbmUgX19NQ19NU1JfQVJSQVlTSVpFIDgKKyNkZWZpbmUgX19NQ19N
U1JfTUNHQ0FQIDAKKyNkZWZpbmUgX19NQ19OTVNSUyAxCisjZGVmaW5lIE1DX05DQVBTIDcKK3N0
cnVjdCBtY2luZm9fbG9naWNhbF9jcHUgeworCXVpbnQzMl90IG1jX2NwdW5yOworCXVpbnQzMl90
IG1jX2NoaXBpZDsKKwl1aW50MTZfdCBtY19jb3JlaWQ7CisJdWludDE2X3QgbWNfdGhyZWFkaWQ7
CisJdWludDMyX3QgbWNfYXBpY2lkOworCXVpbnQzMl90IG1jX2NsdXN0ZXJpZDsKKwl1aW50MzJf
dCBtY19uY29yZXM7CisJdWludDMyX3QgbWNfbmNvcmVzX2FjdGl2ZTsKKwl1aW50MzJfdCBtY19u
dGhyZWFkczsKKwl1aW50MzJfdCBtY19jcHVpZF9sZXZlbDsKKwl1aW50MzJfdCBtY19mYW1pbHk7
CisJdWludDMyX3QgbWNfdmVuZG9yOworCXVpbnQzMl90IG1jX21vZGVsOworCXVpbnQzMl90IG1j
X3N0ZXA7CisJY2hhciBtY192ZW5kb3JpZFsxNl07CisJY2hhciBtY19icmFuZGlkWzY0XTsKKwl1
aW50MzJfdCBtY19jcHVfY2Fwc1tNQ19OQ0FQU107CisJdWludDMyX3QgbWNfY2FjaGVfc2l6ZTsK
Kwl1aW50MzJfdCBtY19jYWNoZV9hbGlnbm1lbnQ7CisJdWludDMyX3QgbWNfbm1zcnZhbHM7CisJ
c3RydWN0IG1jaW5mb19tc3IgbWNfbXNydmFsdWVzW19fTUNfTVNSX0FSUkFZU0laRV07Cit9Owor
REVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNpbmZvX2xvZ2ljYWxfY3B1KTsKKworLyoKKyAq
IFByb3RvdHlwZToKKyAqICAgIHVpbnQzMl90IHg4Nl9tY2luZm9fbmVudHJpZXMoc3RydWN0IG1j
X2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZvX25lbnRyaWVzKF9taSkgICAgXAor
CSgoX21pKS0+bWlfbmVudHJpZXMpCisvKgorICogUHJvdG90eXBlOgorICogICAgc3RydWN0IG1j
aW5mb19jb21tb24gKng4Nl9tY2luZm9fZmlyc3Qoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLwor
I2RlZmluZSB4ODZfbWNpbmZvX2ZpcnN0KF9taSkgICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19j
b21tb24gKikoX21pKS0+bWlfZGF0YSkKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICBzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqeDg2X21jaW5mb19uZXh0KHN0cnVjdCBtY2luZm9fY29tbW9uICptaWMp
OworICovCisjZGVmaW5lIHg4Nl9tY2luZm9fbmV4dChfbWljKSAgICAgICBcCisJKChzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqKSgodWludDhfdCAqKShfbWljKSArIChfbWljKS0+c2l6ZSkpCisKKy8q
CisgKiBQcm90b3R5cGU6CisgKiAgICB2b2lkIHg4Nl9tY2luZm9fbG9va3VwKHZvaWQgKnJldCwg
c3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZfdCB0eXBlKTsKKyAqLworc3RhdGljIGlubGluZSB2
b2lkIHg4Nl9tY2luZm9fbG9va3VwKHN0cnVjdCBtY2luZm9fY29tbW9uICoqcmV0LAorCQkJCSAg
ICAgc3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZfdCB0eXBlKQoreworCXVpbnQzMl90IGk7CisJ
c3RydWN0IG1jaW5mb19jb21tb24gKm1pYzsKKwlib29sIGZvdW5kID0gMDsKKworCWlmICghcmV0
IHx8ICFtaSkKKwkJcmV0dXJuOworCisJbWljID0geDg2X21jaW5mb19maXJzdChtaSk7CisJZm9y
IChpID0gMDsgaSA8IHg4Nl9tY2luZm9fbmVudHJpZXMobWkpOyBpKyspIHsKKwkJaWYgKG1pYy0+
dHlwZSA9PSB0eXBlKSB7CisJCQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCQltaWMgPSB4
ODZfbWNpbmZvX25leHQobWljKTsKKwl9CisKKwkqcmV0ID0gZm91bmQgPyBtaWMgOiBOVUxMOwor
fQorCisvKgorICogRmV0Y2ggbWFjaGluZSBjaGVjayBkYXRhIGZyb20gaHlwZXJ2aXNvci4KKyAq
LworI2RlZmluZSBYRU5fTUNfZmV0Y2gJCTEKK3N0cnVjdCB4ZW5fbWNfZmV0Y2ggeworCS8qCisJ
ICogSU46IFhFTl9NQ19OT05VUkdFTlQsIFhFTl9NQ19VUkdFTlQsCisJICogWEVOX01DX0FDSyBp
ZiBhY2sna2luZyBhbiBlYXJsaWVyIGZldGNoCisJICogT1VUOiBYRU5fTUNfT0ssIFhFTl9NQ19G
RVRDSEFJTEVELCBYRU5fTUNfTk9EQVRBCisJICovCisJdWludDMyX3QgZmxhZ3M7CisJdWludDMy
X3QgX3BhZDA7CisJLyogT1VUOiBpZCBmb3IgYWNrLCBJTjogaWQgd2UgYXJlIGFjaydpbmcgKi8K
Kwl1aW50NjRfdCBmZXRjaF9pZDsKKworCS8qIE9VVCB2YXJpYWJsZXMuICovCisJR1VFU1RfSEFO
RExFKG1jX2luZm8pIGRhdGE7Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21j
X2ZldGNoKTsKKworCisvKgorICogVGhpcyB0ZWxscyB0aGUgaHlwZXJ2aXNvciB0byBub3RpZnkg
YSBEb21VIGFib3V0IHRoZSBtYWNoaW5lIGNoZWNrIGVycm9yCisgKi8KKyNkZWZpbmUgWEVOX01D
X25vdGlmeWRvbWFpbgkyCitzdHJ1Y3QgeGVuX21jX25vdGlmeWRvbWFpbiB7CisJLyogSU4gdmFy
aWFibGVzICovCisJdWludDE2X3QgbWNfZG9taWQ7IC8qIFRoZSB1bnByaXZpbGVnZWQgZG9tYWlu
IHRvIG5vdGlmeSAqLworCXVpbnQxNl90IG1jX3ZjcHVpZDsgLyogVGhlIHZjcHUgaW4gbWNfZG9t
aWQgdG8gbm90aWZ5ICovCisKKwkvKiBJTi9PVVQgdmFyaWFibGVzICovCisJdWludDMyX3QgZmxh
Z3M7Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX25vdGlmeWRvbWFpbik7
CisKKyNkZWZpbmUgWEVOX01DX3BoeXNjcHVpbmZvCTMKK3N0cnVjdCB4ZW5fbWNfcGh5c2NwdWlu
Zm8geworCS8qIElOL09VVCAqLworCXVpbnQzMl90IG5jcHVzOworCXVpbnQzMl90IF9wYWQwOwor
CS8qIE9VVCAqLworCUdVRVNUX0hBTkRMRShtY2luZm9fbG9naWNhbF9jcHUpIGluZm87Cit9Owor
CisjZGVmaW5lIFhFTl9NQ19tc3JpbmplY3QJNAorI2RlZmluZSBNQ19NU1JJTkpfTUFYTVNSUwk4
CitzdHJ1Y3QgeGVuX21jX21zcmluamVjdCB7CisJLyogSU4gKi8KKwl1aW50MzJfdCBtY2lual9j
cHVucjsgLyogdGFyZ2V0IHByb2Nlc3NvciBpZCAqLworCXVpbnQzMl90IG1jaW5qX2ZsYWdzOyAv
KiBzZWUgTUNfTVNSSU5KX0ZfKiBiZWxvdyAqLworCXVpbnQzMl90IG1jaW5qX2NvdW50OyAvKiAw
IC4uIGNvdW50LTEgaW4gYXJyYXkgYXJlIHZhbGlkICovCisJdWludDMyX3QgX3BhZDA7CisJc3Ry
dWN0IG1jaW5mb19tc3IgbWNpbmpfbXNyW01DX01TUklOSl9NQVhNU1JTXTsKK307CisKKy8qIEZs
YWdzIGZvciBtY2lual9mbGFncyBhYm92ZTsgYml0cyAxNi0zMSBhcmUgcmVzZXJ2ZWQgKi8KKyNk
ZWZpbmUgTUNfTVNSSU5KX0ZfSU5URVJQT1NFCTB4MQorCisjZGVmaW5lIFhFTl9NQ19tY2Vpbmpl
Y3QJNQorc3RydWN0IHhlbl9tY19tY2VpbmplY3QgeworCXVuc2lnbmVkIGludCBtY2VpbmpfY3B1
bnI7IC8qIHRhcmdldCBwcm9jZXNzb3IgaWQgKi8KK307CisKK3N0cnVjdCB4ZW5fbWMgeworCXVp
bnQzMl90IGNtZDsKKwl1aW50MzJfdCBpbnRlcmZhY2VfdmVyc2lvbjsgLyogWEVOX01DQV9JTlRF
UkZBQ0VfVkVSU0lPTiAqLworCXVuaW9uIHsKKwkJc3RydWN0IHhlbl9tY19mZXRjaCAgICAgICAg
bWNfZmV0Y2g7CisJCXN0cnVjdCB4ZW5fbWNfbm90aWZ5ZG9tYWluIG1jX25vdGlmeWRvbWFpbjsK
KwkJc3RydWN0IHhlbl9tY19waHlzY3B1aW5mbyAgbWNfcGh5c2NwdWluZm87CisJCXN0cnVjdCB4
ZW5fbWNfbXNyaW5qZWN0ICAgIG1jX21zcmluamVjdDsKKwkJc3RydWN0IHhlbl9tY19tY2Vpbmpl
Y3QgICAgbWNfbWNlaW5qZWN0OworCX0gdTsKK307CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVD
VCh4ZW5fbWMpOworCitleHRlcm4gc3RydWN0IG1pc2NkZXZpY2UgbWNlX2NocmRldl9kZXZpY2U7
CisKK3ZvaWQgeGVuX2Vhcmx5X2luaXRfbWNlbG9nKHZvaWQpOworCisvKiBGaWVsZHMgYXJlIHpl
cm8gd2hlbiBub3QgYXZhaWxhYmxlICovCitzdHJ1Y3QgeGVuX21jZSB7CisJX191NjQgc3RhdHVz
OworCV9fdTY0IG1pc2M7CisJX191NjQgYWRkcjsKKwlfX3U2NCBtY2dzdGF0dXM7CisJX191NjQg
aXA7CisJX191NjQgdHNjOwkvKiBjcHUgdGltZSBzdGFtcCBjb3VudGVyICovCisJX191NjQgdGlt
ZTsJLyogd2FsbCB0aW1lX3Qgd2hlbiBlcnJvciB3YXMgZGV0ZWN0ZWQgKi8KKwlfX3U4ICBjcHV2
ZW5kb3I7CS8qIGNwdSB2ZW5kb3IgYXMgZW5jb2RlZCBpbiBzeXN0ZW0uaCAqLworCV9fdTggIGlu
amVjdF9mbGFnczsJLyogc29mdHdhcmUgaW5qZWN0IGZsYWdzICovCisJX191MTYgIHBhZDsKKwlf
X3UzMiBjcHVpZDsJLyogQ1BVSUQgMSBFQVggKi8KKwlfX3U4ICBjczsJCS8qIGNvZGUgc2VnbWVu
dCAqLworCV9fdTggIGJhbms7CS8qIG1hY2hpbmUgY2hlY2sgYmFuayAqLworCV9fdTggIGNwdTsJ
LyogY3B1IG51bWJlcjsgb2Jzb2xldGU7IHVzZSBleHRjcHUgbm93ICovCisJX191OCAgZmluaXNo
ZWQ7ICAgLyogZW50cnkgaXMgdmFsaWQgKi8KKwlfX3UzMiBleHRjcHU7CS8qIGxpbnV4IGNwdSBu
dW1iZXIgdGhhdCBkZXRlY3RlZCB0aGUgZXJyb3IgKi8KKwlfX3UzMiBzb2NrZXRpZDsJLyogQ1BV
IHNvY2tldCBJRCAqLworCV9fdTMyIGFwaWNpZDsJLyogQ1BVIGluaXRpYWwgYXBpYyBJRCAqLwor
CV9fdTY0IG1jZ2NhcDsJLyogTUNHQ0FQIE1TUjogbWFjaGluZSBjaGVjayBjYXBhYmlsaXRpZXMg
b2YgQ1BVICovCit9OworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFpbnMgYWxsIGRhdGEg
cmVsYXRlZCB0byB0aGUgTUNFIGxvZy4gIEFsc28KKyAqIGNhcnJpZXMgYSBzaWduYXR1cmUgdG8g
bWFrZSBpdCBlYXNpZXIgdG8gZmluZCBmcm9tIGV4dGVybmFsCisgKiBkZWJ1Z2dpbmcgdG9vbHMu
ICBFYWNoIGVudHJ5IGlzIG9ubHkgdmFsaWQgd2hlbiBpdHMgZmluaXNoZWQgZmxhZworICogaXMg
c2V0LgorICovCisKKyNkZWZpbmUgWEVOX01DRV9MT0dfTEVOIDMyCisKK3N0cnVjdCB4ZW5fbWNl
X2xvZyB7CisJY2hhciBzaWduYXR1cmVbMTJdOyAvKiAiTUFDSElORUNIRUNLIiAqLworCXVuc2ln
bmVkIGxlbjsJICAgIC8qID0gWEVOX01DRV9MT0dfTEVOICovCisJdW5zaWduZWQgbmV4dDsKKwl1
bnNpZ25lZCBmbGFnczsKKwl1bnNpZ25lZCByZWNvcmRsZW47CS8qIGxlbmd0aCBvZiBzdHJ1Y3Qg
eGVuX21jZSAqLworCXN0cnVjdCB4ZW5fbWNlIGVudHJ5W1hFTl9NQ0VfTE9HX0xFTl07Cit9Owor
CisjZGVmaW5lIFhFTl9NQ0VfT1ZFUkZMT1cgMAkJLyogYml0IDAgaW4gZmxhZ3MgbWVhbnMgb3Zl
cmZsb3cgKi8KKworI2RlZmluZSBYRU5fTUNFX0xPR19TSUdOQVRVUkUJIk1BQ0hJTkVDSEVDSyIK
KworI2RlZmluZSBNQ0VfR0VUX1JFQ09SRF9MRU4gICBfSU9SKCdNJywgMSwgaW50KQorI2RlZmlu
ZSBNQ0VfR0VUX0xPR19MRU4gICAgICBfSU9SKCdNJywgMiwgaW50KQorI2RlZmluZSBNQ0VfR0VU
Q0xFQVJfRkxBR1MgICBfSU9SKCdNJywgMywgaW50KQorCisjZW5kaWYgLyogX19BU1NFTUJMWV9f
ICovCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0FSQ0hfWDg2X01DQV9IX18gKi8KLS0gCjEuNy4x
Cgo=

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Tue May 22 05:45:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 05:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWhuF-0003qN-Hk; Tue, 22 May 2012 05:45:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SWhuD-0003qC-RN
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 05:45:14 +0000
Received: from [193.109.254.147:34885] by server-2.bemta-14.messagelabs.com id
	48/D3-19409-9E72BBF4; Tue, 22 May 2012 05:45:13 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337665509!4817227!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11518 invoked from network); 22 May 2012 05:45:10 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-27.messagelabs.com with SMTP;
	22 May 2012 05:45:10 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 21 May 2012 22:45:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="146092282"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 21 May 2012 22:45:08 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 21 May 2012 22:45:07 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 13:45:04 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>, "Luck, Tony" <tony.luck@intel.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: Ac033gjpbJSbBggbSyWVZxOOOr38Zg==
Date: Tue, 22 May 2012 05:45:04 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 4df7496eea9e92a3e267ffb0a4b8f5e6e0c29c36 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Mon, 21 May 2012 05:07:47 +0800
Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    9 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  395 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  389 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 809 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index d086a09..24b2e86 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -1791,7 +1789,7 @@ static const struct file_operations mce_chrdev_ops =
=3D {
 	.llseek			=3D no_llseek,
 };
=20
-static struct miscdevice mce_chrdev_device =3D {
+struct miscdevice mce_chrdev_device =3D {
 	MISC_MCELOG_MINOR,
 	"mcelog",
 	&mce_chrdev_ops,
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 4f51beb..13c568c 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -329,9 +330,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
@@ -1270,6 +1269,10 @@ asmlinkage void __init xen_start_kernel(void)
 	set_xen_basic_apic_ops();
 #endif
=20
+#ifdef CONFIG_XEN_MCE_LOG
+	xen_early_init_mcelog();
+#endif
+
 	if (xen_feature(XENFEAT_mmu_pt_update_preserve_ad)) {
 		pv_mmu_ops.ptep_modify_prot_start =3D xen_ptep_modify_prot_start;
 		pv_mmu_ops.ptep_modify_prot_commit =3D xen_ptep_modify_prot_commit;
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 9424313..0f54241 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -194,4 +194,12 @@ config XEN_ACPI_PROCESSOR
           module will be called xen_acpi_processor  If you do not know wha=
t to choose,
           select M here. If the CPUFREQ drivers are built in, select Y her=
e.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 9adc5be..1d3e763 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -14,6 +14,7 @@ obj-$(CONFIG_XEN_GNTDEV)		+=3D xen-gntdev.o
 obj-$(CONFIG_XEN_GRANT_DEV_ALLOC)	+=3D xen-gntalloc.o
 obj-$(CONFIG_XENFS)			+=3D xenfs/
 obj-$(CONFIG_XEN_SYS_HYPERVISOR)	+=3D sys-hypervisor.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..cd084b8
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,395 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+void __init xen_early_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain())
+		mce_chrdev_device =3D xen_mce_chrdev_device;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain())
+		return bind_virq_for_mce();
+
+	return -ENODEV;
+}
+late_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..f6e4fef
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,389 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+extern struct miscdevice mce_chrdev_device;
+
+void xen_early_init_mcelog(void);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27590; creation-date="Tue, 22 May 2012 05:39:36 GMT";
	modification-date="Tue, 22 May 2012 13:34:16 GMT"
Content-Transfer-Encoding: base64

RnJvbSA0ZGY3NDk2ZWVhOWU5MmEzZTI2N2ZmYjBhNGI4ZjVlNmUwYzI5YzM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogTW9uLCAyMSBNYXkgMjAxMiAwNTowNzo0NyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS8z
XSB4ZW4vbWNlOiBBZGQgbWNlbG9nIHN1cHBvcnQgZm9yIFhlbiBwbGF0Zm9ybQoKV2hlbiBNQ0Eg
ZXJyb3Igb2NjdXJzLCBpdCB3b3VsZCBiZSBoYW5kbGVkIGJ5IFhlbiBoeXBlcnZpc29yIGZpcnN0
LAphbmQgdGhlbiB0aGUgZXJyb3IgaW5mb3JtYXRpb24gd291bGQgYmUgc2VudCB0byBpbml0aWFs
IGRvbWFpbiBmb3IgbG9nZ2luZy4KClRoaXMgcGF0Y2ggZ2V0cyBlcnJvciBpbmZvcm1hdGlvbiBm
cm9tIFhlbiBoeXBlcnZpc29yIGFuZCBjb252ZXJ0ClhlbiBmb3JtYXQgZXJyb3IgaW50byBMaW51
eCBmb3JtYXQgbWNlbG9nLiBUaGlzIGxvZ2ljIGlzIGJhc2ljYWxseQpzZWxmLWNvbnRhaW5lZCwg
bm90IHRvdWNoaW5nIG90aGVyIGtlcm5lbCBjb21wb25lbnRzLgoKQnkgdXNpbmcgdG9vbHMgbGlr
ZSBtY2Vsb2cgdG9vbCB1c2VycyBjb3VsZCByZWFkIHNwZWNpZmljIGVycm9yIGluZm9ybWF0aW9u
LApsaWtlIHdoYXQgdGhleSBkaWQgdW5kZXIgbmF0aXZlIExpbnV4LgoKVG8gdGVzdCBmb2xsb3cg
ZGlyZWN0aW9ucyBvdXRsaW5lZCBpbiBEb2N1bWVudGF0aW9uL2FjcGkvYXBlaS9laW5qLnR4dAoK
U2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+ClNpZ25l
ZC1vZmYtYnk6IEtlLCBMaXBpbmcgPGxpcGluZy5rZUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6
IEppYW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog
SmVyZW15IEZpdHpoYXJkaW5nZSA8amVyZW15LmZpdHpoYXJkaW5nZUBjaXRyaXguY29tPgotLS0K
IGFyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaCB8ICAgIDggKwogYXJjaC94ODYv
a2VybmVsL2NwdS9tY2hlY2svbWNlLmMgICAgIHwgICAgNCArLQogYXJjaC94ODYveGVuL2VubGln
aHRlbi5jICAgICAgICAgICAgIHwgICAgOSArLQogZHJpdmVycy94ZW4vS2NvbmZpZyAgICAgICAg
ICAgICAgICAgIHwgICAgOCArCiBkcml2ZXJzL3hlbi9NYWtlZmlsZSAgICAgICAgICAgICAgICAg
fCAgICAxICsKIGRyaXZlcnMveGVuL21jZWxvZy5jICAgICAgICAgICAgICAgICB8ICAzOTUgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9taXNjZGV2aWNl
LmggICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oICAg
ICAgfCAgMzg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFu
Z2VkLCA4MDkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBkcml2ZXJzL3hlbi9tY2Vsb2cuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2lu
dGVyZmFjZS94ZW4tbWNhLmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4v
aHlwZXJjYWxsLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKaW5kZXgg
NTcyODg1Mi4uNTljMjI2ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5
cGVyY2FsbC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApAQCAt
NDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uvc2NoZWQuaD4KICNpbmNsdWRl
IDx4ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRm
b3JtLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4tbWNhLmg+CiAKIC8qCiAgKiBUaGUg
aHlwZXJjYWxsIGFzbXMgaGF2ZSB0byBtZWV0IHNldmVyYWwgY29uc3RyYWludHM6CkBAIC0zMDIs
NiArMzAzLDEzIEBAIEhZUEVSVklTT1Jfc2V0X3RpbWVyX29wKHU2NCB0aW1lb3V0KQogfQogCiBz
dGF0aWMgaW5saW5lIGludAorSFlQRVJWSVNPUl9tY2Eoc3RydWN0IHhlbl9tYyAqbWNfb3ApCit7
CisJbWNfb3AtPmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsK
KwlyZXR1cm4gX2h5cGVyY2FsbDEoaW50LCBtY2EsIG1jX29wKTsKK30KKworc3RhdGljIGlubGlu
ZSBpbnQKIEhZUEVSVklTT1JfZG9tMF9vcChzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wICpwbGF0Zm9y
bV9vcCkKIHsKIAlwbGF0Zm9ybV9vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5QRl9JTlRFUkZB
Q0VfVkVSU0lPTjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5j
IGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKaW5kZXggZDA4NmEwOS4uMjRiMmU4
NiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKysrIGIvYXJj
aC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKQEAgLTU3LDggKzU3LDYgQEAgc3RhdGljIERF
RklORV9NVVRFWChtY2VfY2hyZGV2X3JlYWRfbXV0ZXgpOwogCiBpbnQgbWNlX2Rpc2FibGVkIF9f
cmVhZF9tb3N0bHk7CiAKLSNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJMjI3Ci0KICNkZWZpbmUg
U1BJTlVOSVQgMTAwCS8qIDEwMG5zICovCiAKIGF0b21pY190IG1jZV9lbnRyeTsKQEAgLTE3OTEs
NyArMTc4OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG1jZV9jaHJk
ZXZfb3BzID0gewogCS5sbHNlZWsJCQk9IG5vX2xsc2VlaywKIH07CiAKLXN0YXRpYyBzdHJ1Y3Qg
bWlzY2RldmljZSBtY2VfY2hyZGV2X2RldmljZSA9IHsKK3N0cnVjdCBtaXNjZGV2aWNlIG1jZV9j
aHJkZXZfZGV2aWNlID0gewogCU1JU0NfTUNFTE9HX01JTk9SLAogCSJtY2Vsb2ciLAogCSZtY2Vf
Y2hyZGV2X29wcywKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gv
eDg2L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCA0ZjUxYmViLi4xM2M1NjhjIDEwMDY0NAotLS0gYS9h
cmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBA
IC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5j
bHVkZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9tZW1v
cnkuaD4KKyNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaD4KICNpbmNsdWRlIDx4ZW4v
ZmVhdHVyZXMuaD4KICNpbmNsdWRlIDx4ZW4vcGFnZS5oPgogI2luY2x1ZGUgPHhlbi9odm0uaD4K
QEAgLTMyOSw5ICszMzAsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX2luaXRfY3B1aWRfbWFz
ayh2b2lkKQogCXVuc2lnbmVkIGludCB4c2F2ZV9tYXNrOwogCiAJY3B1aWRfbGVhZjFfZWR4X21h
c2sgPQotCQl+KCgxIDw8IFg4Nl9GRUFUVVJFX01DRSkgIHwgIC8qIGRpc2FibGUgTUNFICovCi0J
CSAgKDEgPDwgWDg2X0ZFQVRVUkVfTUNBKSAgfCAgLyogZGlzYWJsZSBNQ0EgKi8KLQkJICAoMSA8
PCBYODZfRkVBVFVSRV9NVFJSKSB8ICAvKiBkaXNhYmxlIE1UUlIgKi8KKwkJfigoMSA8PCBYODZf
RkVBVFVSRV9NVFJSKSB8ICAvKiBkaXNhYmxlIE1UUlIgKi8KIAkJICAoMSA8PCBYODZfRkVBVFVS
RV9BQ0MpKTsgICAvKiB0aGVybWFsIG1vbml0b3JpbmcgKi8KIAogCWlmICgheGVuX2luaXRpYWxf
ZG9tYWluKCkpCkBAIC0xMjcwLDYgKzEyNjksMTAgQEAgYXNtbGlua2FnZSB2b2lkIF9faW5pdCB4
ZW5fc3RhcnRfa2VybmVsKHZvaWQpCiAJc2V0X3hlbl9iYXNpY19hcGljX29wcygpOwogI2VuZGlm
CiAKKyNpZmRlZiBDT05GSUdfWEVOX01DRV9MT0cKKwl4ZW5fZWFybHlfaW5pdF9tY2Vsb2coKTsK
KyNlbmRpZgorCiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2
ZV9hZCkpIHsKIAkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0geGVuX3B0ZXBf
bW9kaWZ5X3Byb3Rfc3RhcnQ7CiAJCXB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQg
PSB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9L
Y29uZmlnIGIvZHJpdmVycy94ZW4vS2NvbmZpZwppbmRleCA5NDI0MzEzLi4wZjU0MjQxIDEwMDY0
NAotLS0gYS9kcml2ZXJzL3hlbi9LY29uZmlnCisrKyBiL2RyaXZlcnMveGVuL0tjb25maWcKQEAg
LTE5NCw0ICsxOTQsMTIgQEAgY29uZmlnIFhFTl9BQ1BJX1BST0NFU1NPUgogICAgICAgICAgIG1v
ZHVsZSB3aWxsIGJlIGNhbGxlZCB4ZW5fYWNwaV9wcm9jZXNzb3IgIElmIHlvdSBkbyBub3Qga25v
dyB3aGF0IHRvIGNob29zZSwKICAgICAgICAgICBzZWxlY3QgTSBoZXJlLiBJZiB0aGUgQ1BVRlJF
USBkcml2ZXJzIGFyZSBidWlsdCBpbiwgc2VsZWN0IFkgaGVyZS4KIAorY29uZmlnIFhFTl9NQ0Vf
TE9HCisJYm9vbCAiWGVuIHBsYXRmb3JtIG1jZWxvZyIKKwlkZXBlbmRzIG9uIFhFTl9ET00wICYm
IFg4Nl82NCAmJiBYODZfTUNFCisJZGVmYXVsdCBuCisJaGVscAorCSAgQWxsb3cga2VybmVsIGZl
dGNoaW5nIE1DRSBlcnJvciBmcm9tIFhlbiBwbGF0Zm9ybSBhbmQKKwkgIGNvbnZlcnRpbmcgaXQg
aW50byBMaW51eCBtY2Vsb2cgZm9ybWF0IGZvciBtY2Vsb2cgdG9vbHMKKwogZW5kbWVudQpkaWZm
IC0tZ2l0IGEvZHJpdmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQppbmRl
eCA5YWRjNWJlLi4xZDNlNzYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9NYWtlZmlsZQorKysg
Yi9kcml2ZXJzL3hlbi9NYWtlZmlsZQpAQCAtMTQsNiArMTQsNyBAQCBvYmotJChDT05GSUdfWEVO
X0dOVERFVikJCSs9IHhlbi1nbnRkZXYubwogb2JqLSQoQ09ORklHX1hFTl9HUkFOVF9ERVZfQUxM
T0MpCSs9IHhlbi1nbnRhbGxvYy5vCiBvYmotJChDT05GSUdfWEVORlMpCQkJKz0geGVuZnMvCiBv
YmotJChDT05GSUdfWEVOX1NZU19IWVBFUlZJU09SKQkrPSBzeXMtaHlwZXJ2aXNvci5vCitvYmot
JChDT05GSUdfWEVOX01DRV9MT0cpCQkrPSBtY2Vsb2cubwogb2JqLSQoQ09ORklHX1hFTl9QVkhW
TSkJCQkrPSBwbGF0Zm9ybS1wY2kubwogb2JqLSQoQ09ORklHX1hFTl9UTUVNKQkJCSs9IHRtZW0u
bwogb2JqLSQoQ09ORklHX1NXSU9UTEJfWEVOKQkJKz0gc3dpb3RsYi14ZW4ubwpkaWZmIC0tZ2l0
IGEvZHJpdmVycy94ZW4vbWNlbG9nLmMgYi9kcml2ZXJzL3hlbi9tY2Vsb2cuYwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDA4NGI4Ci0tLSAvZGV2L251bGwKKysrIGIvZHJp
dmVycy94ZW4vbWNlbG9nLmMKQEAgLTAsMCArMSwzOTUgQEAKKy8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKKyAqIG1jZWxvZy5jCisgKiBEcml2ZXIgZm9yIHJlY2VpdmluZyBhbmQgdHJhbnNmZXJyaW5n
IG1hY2hpbmUgY2hlY2sgZXJyb3IgaW5mb21hdGlvbgorICoKKyAqIENvcHlyaWdodCAoYykgMjAx
MiBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0aG9yOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1
QGludGVsLmNvbT4KKyAqIEF1dGhvcjogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdAaW50
ZWwuY29tPgorICogQXV0aG9yOiBLZSwgTGlwaW5nIDxsaXBpbmcua2VAaW50ZWwuY29tPgorICoK
KyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IG9yLCB3aGVuIGRpc3RyaWJ1dGVkCisgKiBzZXBhcmF0ZWx5IGZy
b20gdGhlIExpbnV4IGtlcm5lbCBvciBpbmNvcnBvcmF0ZWQgaW50byBvdGhlcgorICogc29mdHdh
cmUgcGFja2FnZXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBsaWNlbnNlOgorICoKKyAqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc291cmNlIGZpbGUgKHRoZSAiU29mdHdhcmUi
KSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dAorICogcmVzdHJpY3Rpb24sIGluY2x1
ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwK
KyAqIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorICogYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworICogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUg
U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUK
KyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4K
KyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2lu
Y2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxp
bnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxs
aW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorCisjaW5jbHVk
ZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisjaW5jbHVk
ZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CisjaW5jbHVkZSA8eGVuL3hlbi5oPgorI2luY2x1ZGUg
PGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcnZpc29yLmg+CisK
KyNkZWZpbmUgWEVOX01DRUxPRyAieGVuX21jZWxvZzogIgorCitzdGF0aWMgc3RydWN0IG1jX2lu
Zm8gZ19taTsKK3N0YXRpYyBzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1ICpnX3BoeXNpbmZvOwor
c3RhdGljIHVpbnQzMl90IG5jcHVzOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG1jZWxvZ19s
b2NrKTsKKworc3RhdGljIHN0cnVjdCB4ZW5fbWNlX2xvZyB4ZW5fbWNlbG9nID0geworCS5zaWdu
YXR1cmUJPSBYRU5fTUNFX0xPR19TSUdOQVRVUkUsCisJLmxlbgkJPSBYRU5fTUNFX0xPR19MRU4s
CisJLnJlY29yZGxlbgk9IHNpemVvZihzdHJ1Y3QgeGVuX21jZSksCit9OworCitzdGF0aWMgREVG
SU5FX1NQSU5MT0NLKHhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworc3RhdGljIGludCB4ZW5f
bWNlX2NocmRldl9vcGVuX2NvdW50OwkvKiAjdGltZXMgb3BlbmVkICovCitzdGF0aWMgaW50IHhl
bl9tY2VfY2hyZGV2X29wZW5fZXhjbHU7CS8qIGFscmVhZHkgb3BlbiBleGNsdXNpdmU/ICovCisK
K3N0YXRpYyBpbnQgeGVuX21jZV9jaHJkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1
Y3QgZmlsZSAqZmlsZSkKK3sKKwlzcGluX2xvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2sp
OworCisJaWYgKHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHUgfHwKKwkgICAgKHhlbl9tY2VfY2hy
ZGV2X29wZW5fY291bnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKSkgeworCQlzcGluX3Vu
bG9jaygmeGVuX21jZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwkJcmV0dXJuIC1FQlVTWTsKKwl9
CisKKwlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkKKwkJeGVuX21jZV9jaHJkZXZfb3Blbl9l
eGNsdSA9IDE7CisJeGVuX21jZV9jaHJkZXZfb3Blbl9jb3VudCsrOworCisJc3Bpbl91bmxvY2so
Jnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4o
aW5vZGUsIGZpbGUpOworfQorCitzdGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X3JlbGVhc2Uoc3Ry
dWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3Bpbl9sb2NrKCZ4ZW5f
bWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXhlbl9tY2VfY2hyZGV2X29wZW5fY291bnQtLTsK
Kwl4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1ID0gMDsKKworCXNwaW5fdW5sb2NrKCZ4ZW5fbWNl
X2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCB4
ZW5fbWNlX2NocmRldl9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwK
KwkJCQlzaXplX3QgdXNpemUsIGxvZmZfdCAqb2ZmKQoreworCWNoYXIgX191c2VyICpidWYgPSB1
YnVmOworCXVuc2lnbmVkIG51bTsKKwlpbnQgaSwgZXJyOworCisJc3Bpbl9sb2NrKCZtY2Vsb2df
bG9jayk7CisKKwludW0gPSB4ZW5fbWNlbG9nLm5leHQ7CisKKwkvKiBPbmx5IHN1cHBvcnRzIGZ1
bGwgcmVhZHMgcmlnaHQgbm93ICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoKm9mZiAhPSAwIHx8
IHVzaXplIDwgWEVOX01DRV9MT0dfTEVOKnNpemVvZihzdHJ1Y3QgeGVuX21jZSkpCisJCWdvdG8g
b3V0OworCisJZXJyID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJc3RydWN0
IHhlbl9tY2UgKm0gPSAmeGVuX21jZWxvZy5lbnRyeVtpXTsKKworCQllcnIgfD0gY29weV90b191
c2VyKGJ1ZiwgbSwgc2l6ZW9mKCptKSk7CisJCWJ1ZiArPSBzaXplb2YoKm0pOworCX0KKworCW1l
bXNldCh4ZW5fbWNlbG9nLmVudHJ5LCAwLCBudW0gKiBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsK
Kwl4ZW5fbWNlbG9nLm5leHQgPSAwOworCisJaWYgKGVycikKKwkJZXJyID0gLUVGQVVMVDsKKwor
b3V0OgorCXNwaW5fdW5sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwlyZXR1cm4gZXJyID8gZXJyIDog
YnVmIC0gdWJ1ZjsKK30KKworc3RhdGljIGxvbmcgeGVuX21jZV9jaHJkZXZfaW9jdGwoc3RydWN0
IGZpbGUgKmYsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJdW5zaWduZWQgbG9uZyBhcmcpCit7CisJ
aW50IF9fdXNlciAqcCA9IChpbnQgX191c2VyICopYXJnOworCisJaWYgKCFjYXBhYmxlKENBUF9T
WVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIE1D
RV9HRVRfUkVDT1JEX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKHNpemVvZihzdHJ1Y3QgeGVuX21j
ZSksIHApOworCWNhc2UgTUNFX0dFVF9MT0dfTEVOOgorCQlyZXR1cm4gcHV0X3VzZXIoWEVOX01D
RV9MT0dfTEVOLCBwKTsKKwljYXNlIE1DRV9HRVRDTEVBUl9GTEFHUzogeworCQl1bnNpZ25lZCBm
bGFnczsKKworCQlkbyB7CisJCQlmbGFncyA9IHhlbl9tY2Vsb2cuZmxhZ3M7CisJCX0gd2hpbGUg
KGNtcHhjaGcoJnhlbl9tY2Vsb2cuZmxhZ3MsIGZsYWdzLCAwKSAhPSBmbGFncyk7CisKKwkJcmV0
dXJuIHB1dF91c2VyKGZsYWdzLCBwKTsKKwl9CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FTk9UVFk7
CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB4ZW5fbWNlX2No
cmRldl9vcHMgPSB7CisJLm9wZW4JCQk9IHhlbl9tY2VfY2hyZGV2X29wZW4sCisJLnJlbGVhc2UJ
CT0geGVuX21jZV9jaHJkZXZfcmVsZWFzZSwKKwkucmVhZAkJCT0geGVuX21jZV9jaHJkZXZfcmVh
ZCwKKwkudW5sb2NrZWRfaW9jdGwJCT0geGVuX21jZV9jaHJkZXZfaW9jdGwsCisJLmxsc2VlawkJ
CT0gbm9fbGxzZWVrLAorfTsKKworc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIHhlbl9tY2VfY2hy
ZGV2X2RldmljZSA9IHsKKwlNSVNDX01DRUxPR19NSU5PUiwKKwkibWNlbG9nIiwKKwkmeGVuX21j
ZV9jaHJkZXZfb3BzLAorfTsKKworLyoKKyAqIENhbGxlciBzaG91bGQgaG9sZCB0aGUgbWNlbG9n
X2xvY2sKKyAqLworc3RhdGljIHZvaWQgeGVuX21jZV9sb2coc3RydWN0IHhlbl9tY2UgKm1jZSkK
K3sKKwl1bnNpZ25lZCBlbnRyeTsKKworCWVudHJ5ID0geGVuX21jZWxvZy5uZXh0OworCisJLyoK
KwkgKiBXaGVuIHRoZSBidWZmZXIgZmlsbHMgdXAgZGlzY2FyZCBuZXcgZW50cmllcy4KKwkgKiBB
c3N1bWUgdGhhdCB0aGUgZWFybGllciBlcnJvcnMgYXJlIHRoZSBtb3JlCisJICogaW50ZXJlc3Rp
bmcgb25lczoKKwkgKi8KKwlpZiAoZW50cnkgPj0gWEVOX01DRV9MT0dfTEVOKSB7CisJCXNldF9i
aXQoWEVOX01DRV9PVkVSRkxPVywKKwkJCSh1bnNpZ25lZCBsb25nICopJnhlbl9tY2Vsb2cuZmxh
Z3MpOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KHhlbl9tY2Vsb2cuZW50cnkgKyBlbnRyeSwg
bWNlLCBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsKKworCXhlbl9tY2Vsb2cubmV4dCsrOworfQor
CitzdGF0aWMgaW50IGNvbnZlcnRfbG9nKHN0cnVjdCBtY19pbmZvICptaSkKK3sKKwlzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqbWljOworCXN0cnVjdCBtY2luZm9fZ2xvYmFsICptY19nbG9iYWw7CisJ
c3RydWN0IG1jaW5mb19iYW5rICptY19iYW5rOworCXN0cnVjdCB4ZW5fbWNlIG07CisJdWludDMy
X3QgaTsKKworCW1pYyA9IE5VTEw7CisJeDg2X21jaW5mb19sb29rdXAoJm1pYywgbWksIE1DX1RZ
UEVfR0xPQkFMKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJcHJfd2FybmluZyhYRU5fTUNF
TE9HICJGYWlsZWQgdG8gZmluZCBnbG9iYWwgZXJyb3IgaW5mb1xuIik7CisJCXJldHVybiAtRU5P
REVWOworCX0KKworCW1lbXNldCgmbSwgMCwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7CisKKwlt
Y19nbG9iYWwgPSAoc3RydWN0IG1jaW5mb19nbG9iYWwgKiltaWM7CisJbS5tY2dzdGF0dXMgPSBt
Y19nbG9iYWwtPm1jX2dzdGF0dXM7CisJbS5hcGljaWQgPSBtY19nbG9iYWwtPm1jX2FwaWNpZDsK
KworCWZvciAoaSA9IDA7IGkgPCBuY3B1czsgaSsrKQorCQlpZiAoZ19waHlzaW5mb1tpXS5tY19h
cGljaWQgPT0gbS5hcGljaWQpCisJCQlicmVhazsKKwlpZiAodW5saWtlbHkoaSA9PSBuY3B1cykp
IHsKKwkJcHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8gbWF0Y2ggY3B1IHdpdGggYXBp
Y2lkICVkXG4iLAorCQkJICAgbS5hcGljaWQpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlt
LnNvY2tldGlkID0gZ19waHlzaW5mb1tpXS5tY19jaGlwaWQ7CisJbS5jcHUgPSBtLmV4dGNwdSA9
IGdfcGh5c2luZm9baV0ubWNfY3B1bnI7CisJbS5jcHV2ZW5kb3IgPSAoX191OClnX3BoeXNpbmZv
W2ldLm1jX3ZlbmRvcjsKKwltLm1jZ2NhcCA9IGdfcGh5c2luZm9baV0ubWNfbXNydmFsdWVzW19f
TUNfTVNSX01DR0NBUF0udmFsdWU7CisKKwltaWMgPSBOVUxMOworCXg4Nl9tY2luZm9fbG9va3Vw
KCZtaWMsIG1pLCBNQ19UWVBFX0JBTkspOworCWlmICh1bmxpa2VseSghbWljKSkgeworCQlwcl93
YXJuaW5nKFhFTl9NQ0VMT0cgIkZhaWwgdG8gZmluZCBiYW5rIGVycm9yIGluZm9cbiIpOworCQly
ZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbyB7CisJCWlmICgoIW1pYykgfHwgKG1pYy0+c2l6ZSA9
PSAwKSB8fAorCQkgICAgKG1pYy0+dHlwZSAhPSBNQ19UWVBFX0dMT0JBTCAgICYmCisJCSAgICAg
bWljLT50eXBlICE9IE1DX1RZUEVfQkFOSyAgICAgJiYKKwkJICAgICBtaWMtPnR5cGUgIT0gTUNf
VFlQRV9FWFRFTkRFRCAmJgorCQkgICAgIG1pYy0+dHlwZSAhPSBNQ19UWVBFX1JFQ09WRVJZKSkK
KwkJCWJyZWFrOworCisJCWlmIChtaWMtPnR5cGUgPT0gTUNfVFlQRV9CQU5LKSB7CisJCQltY19i
YW5rID0gKHN0cnVjdCBtY2luZm9fYmFuayAqKW1pYzsKKwkJCW0ubWlzYyA9IG1jX2JhbmstPm1j
X21pc2M7CisJCQltLnN0YXR1cyA9IG1jX2JhbmstPm1jX3N0YXR1czsKKwkJCW0uYWRkciA9IG1j
X2JhbmstPm1jX2FkZHI7CisJCQltLnRzYyA9IG1jX2JhbmstPm1jX3RzYzsKKwkJCW0uYmFuayA9
IG1jX2JhbmstPm1jX2Jhbms7CisJCQltLmZpbmlzaGVkID0gMTsKKwkJCS8qbG9nIHRoaXMgcmVj
b3JkKi8KKwkJCXhlbl9tY2VfbG9nKCZtKTsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZvX25leHQo
bWljKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG1jX3F1
ZXVlX2hhbmRsZSh1aW50MzJfdCBmbGFncykKK3sKKwlzdHJ1Y3QgeGVuX21jIG1jX29wOworCWlu
dCByZXQgPSAwOworCisJbWNfb3AuY21kID0gWEVOX01DX2ZldGNoOworCW1jX29wLmludGVyZmFj
ZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hh
bmRsZShtY19vcC51Lm1jX2ZldGNoLmRhdGEsICZnX21pKTsKKwlkbyB7CisJCW1jX29wLnUubWNf
ZmV0Y2guZmxhZ3MgPSBmbGFnczsKKwkJcmV0ID0gSFlQRVJWSVNPUl9tY2EoJm1jX29wKTsKKwkJ
aWYgKHJldCkgeworCQkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBmZXRjaCAlcyBlcnJv
ciBsb2dcbiIsCisJCQkgICAgICAgKGZsYWdzID09IFhFTl9NQ19VUkdFTlQpID8KKwkJCSAgICAg
ICAidXJnbmV0IiA6ICJub251cmdlbnQiKTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKG1jX29w
LnUubWNfZmV0Y2guZmxhZ3MgJiBYRU5fTUNfTk9EQVRBIHx8CisJCSAgICBtY19vcC51Lm1jX2Zl
dGNoLmZsYWdzICYgWEVOX01DX0ZFVENIRkFJTEVEKQorCQkJYnJlYWs7CisJCWVsc2UgeworCQkJ
cmV0ID0gY29udmVydF9sb2coJmdfbWkpOworCQkJaWYgKHJldCkKKwkJCQlwcl93YXJuaW5nKFhF
Tl9NQ0VMT0cKKwkJCQkJICAgIkZhaWxlZCB0byBjb252ZXJ0IHRoaXMgZXJyb3IgbG9nLCAiCisJ
CQkJCSAgICJjb250aW51ZSBhY2tpbmcgaXQgYW55d2F5XG4iKTsKKworCQkJbWNfb3AudS5tY19m
ZXRjaC5mbGFncyA9IGZsYWdzIHwgWEVOX01DX0FDSzsKKwkJCXJldCA9IEhZUEVSVklTT1JfbWNh
KCZtY19vcCk7CisJCQlpZiAocmV0KSB7CisJCQkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJCQkgICAg
ICAgIkZhaWxlZCB0byBhY2sgcHJldmlvdXMgZXJyb3IgbG9nXG4iKTsKKwkJCQlicmVhazsKKwkJ
CX0KKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIHJldDsKK30KKworLyogdmlycSBoYW5k
bGVyIGZvciBtYWNoaW5lIGNoZWNrIGVycm9yIGluZm8qLworc3RhdGljIGlycXJldHVybl90IHhl
bl9tY2VfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlpbnQgZXJyOworCXVu
c2lnbmVkIGxvbmcgdG1wOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJm1jZWxvZ19sb2NrLCB0bXAp
OworCisJLyogdXJnZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19xdWV1ZV9oYW5kbGUoWEVOX01D
X1VSR0VOVCk7CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJICAgICAgICJGYWls
ZWQgdG8gaGFuZGxlIHVyZ2VudCBtY19pbmZvIHF1ZXVlLCAiCisJCSAgICAgICAiY29udGludWUg
aGFuZGxpbmcgbm9udXJnZW50IG1jX2luZm8gcXVldWUgYW55d2F5LlxuIik7CisKKwkvKiBub251
cmdlbnQgbWNfaW5mbyAqLworCWVyciA9IG1jX3F1ZXVlX2hhbmRsZShYRU5fTUNfTk9OVVJHRU5U
KTsKKwlpZiAoZXJyKQorCQlwcl9lcnIoWEVOX01DRUxPRworCQkgICAgICAgIkZhaWxlZCB0byBo
YW5kbGUgbm9udXJnZW50IG1jX2luZm8gcXVldWUuXG4iKTsKKworCXNwaW5fdW5sb2NrX2lycXJl
c3RvcmUoJm1jZWxvZ19sb2NrLCB0bXApOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitz
dGF0aWMgaW50IGJpbmRfdmlycV9mb3JfbWNlKHZvaWQpCit7CisJaW50IHJldDsKKwlzdHJ1Y3Qg
eGVuX21jIG1jX29wOworCisJbWVtc2V0KCZtY19vcCwgMCwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWMp
KTsKKworCS8qIEZldGNoIHBoeXNpY2FsIENQVSBOdW1iZXJzICovCisJbWNfb3AuY21kID0gWEVO
X01DX3BoeXNjcHVpbmZvOworCW1jX29wLmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRF
UkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX3BoeXNjcHVp
bmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19vcCk7CisJ
aWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdldCBDUFUgbnVtYmVy
c1xuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyogRmV0Y2ggZWFjaCBDUFUgUGh5c2ljYWwg
SW5mbyBmb3IgbGF0ZXIgcmVmZXJlbmNlKi8KKwluY3B1cyA9IG1jX29wLnUubWNfcGh5c2NwdWlu
Zm8ubmNwdXM7CisJZ19waHlzaW5mbyA9IGtjYWxsb2MobmNwdXMsIHNpemVvZihzdHJ1Y3QgbWNp
bmZvX2xvZ2ljYWxfY3B1KSwKKwkJCSAgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFnX3BoeXNpbmZv
KQorCQlyZXR1cm4gLUVOT01FTTsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX3Bo
eXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19v
cCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdldCBDUFUg
aW5mb1xuIik7CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJl
dCAgPSBiaW5kX3ZpcnFfdG9faXJxaGFuZGxlcihWSVJRX01DQSwgMCwKKwkJCQkgICAgICAgeGVu
X21jZV9pbnRlcnJ1cHQsIDAsICJtY2UiLCBOVUxMKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9l
cnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGJpbmQgdmlycVxuIik7CisJCWtmcmVlKGdfcGh5c2lu
Zm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCit2b2lkIF9faW5pdCB4
ZW5fZWFybHlfaW5pdF9tY2Vsb2codm9pZCkKK3sKKwkvKiBPbmx5IERPTTAgaXMgcmVzcG9uc2li
bGUgZm9yIE1DRSBsb2dnaW5nICovCisJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKQorCQltY2Vf
Y2hyZGV2X2RldmljZSA9IHhlbl9tY2VfY2hyZGV2X2RldmljZTsKK30KKworc3RhdGljIGludCBf
X2luaXQgeGVuX2xhdGVfaW5pdF9tY2Vsb2codm9pZCkKK3sKKwkvKiBPbmx5IERPTTAgaXMgcmVz
cG9uc2libGUgZm9yIE1DRSBsb2dnaW5nICovCisJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKQor
CQlyZXR1cm4gYmluZF92aXJxX2Zvcl9tY2UoKTsKKworCXJldHVybiAtRU5PREVWOworfQorbGF0
ZV9pbml0Y2FsbCh4ZW5fbGF0ZV9pbml0X21jZWxvZyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xp
bnV4L21pc2NkZXZpY2UuaCBiL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCmluZGV4IDA1NDlk
MjEuLmUwZGVlYjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCisrKyBi
L2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjZGVmaW5lIE1Q
VF9NSU5PUgkJMjIwCiAjZGVmaW5lIE1QVDJTQVNfTUlOT1IJCTIyMQogI2RlZmluZSBVSU5QVVRf
TUlOT1IJCTIyMworI2RlZmluZSBNSVNDX01DRUxPR19NSU5PUgkyMjcKICNkZWZpbmUgSFBFVF9N
SU5PUgkJMjI4CiAjZGVmaW5lIEZVU0VfTUlOT1IJCTIyOQogI2RlZmluZSBLVk1fTUlOT1IJCTIz
MgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaCBiL2luY2x1ZGUv
eGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZjZlNGZlZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4t
bWNhLmgKQEAgLTAsMCArMSwzODkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGFyY2gt
eDg2L21jYS5oCisgKiBHdWVzdCBPUyBtYWNoaW5lIGNoZWNrIGludGVyZmFjZSB0byB4ODYgWGVu
LgorICoKKyAqIENvbnRyaWJ1dGVkIGJ5IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAq
IEF1dGhvcjogQ2hyaXN0b3BoIEVnZ2VyIDxDaHJpc3RvcGguRWdnZXJAYW1kLmNvbT4KKyAqCisg
KiBVcGRhdGVkIGJ5IEludGVsIENvcnBvcmF0aW9uCisgKiBBdXRob3I6IExpdSwgSmluc29uZyA8
amluc29uZy5saXVAaW50ZWwuY29tPgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9m
IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJT
b2Z0d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
cgorICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAq
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoK
KyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RI
RVIKKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BV
QkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisjZGVmaW5lIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0Ff
SF9fCisKKy8qIEh5cGVyY2FsbCAqLworI2RlZmluZSBfX0hZUEVSVklTT1JfbWNhIF9fSFlQRVJW
SVNPUl9hcmNoXzAKKworI2RlZmluZSBYRU5fTUNBX0lOVEVSRkFDRV9WRVJTSU9OCTB4MDFlY2Mw
MDMKKworLyogSU46IERvbTAgY2FsbHMgaHlwZXJjYWxsIHRvIHJldHJpZXZlIG5vbnVyZ2VudCBl
cnJvciBsb2cgZW50cnkgKi8KKyNkZWZpbmUgWEVOX01DX05PTlVSR0VOVAkweDEKKy8qIElOOiBE
b20wIGNhbGxzIGh5cGVyY2FsbCB0byByZXRyaWV2ZSB1cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICov
CisjZGVmaW5lIFhFTl9NQ19VUkdFTlQJCTB4MgorLyogSU46IERvbTAgYWNrbm93bGVkZ2VzIHBy
ZXZpb3NseS1mZXRjaGVkIGVycm9yIGxvZyBlbnRyeSAqLworI2RlZmluZSBYRU5fTUNfQUNLCQkw
eDQKKworLyogT1VUOiBBbGwgaXMgb2sgKi8KKyNkZWZpbmUgWEVOX01DX09LCQkweDAKKy8qIE9V
VDogRG9tYWluIGNvdWxkIG5vdCBmZXRjaCBkYXRhLiAqLworI2RlZmluZSBYRU5fTUNfRkVUQ0hG
QUlMRUQJMHgxCisvKiBPVVQ6IFRoZXJlIHdhcyBubyBtYWNoaW5lIGNoZWNrIGRhdGEgdG8gZmV0
Y2guICovCisjZGVmaW5lIFhFTl9NQ19OT0RBVEEJCTB4MgorCisjaWZuZGVmIF9fQVNTRU1CTFlf
XworLyogdklSUSBpbmplY3RlZCB0byBEb20wICovCisjZGVmaW5lIFZJUlFfTUNBIFZJUlFfQVJD
SF8wCisKKy8qCisgKiBtY19pbmZvIGVudHJ5IHR5cGVzCisgKiBtY2EgbWFjaGluZSBjaGVjayBp
bmZvIGFyZSByZWNvcmRlZCBpbiBtY19pbmZvIGVudHJpZXMuCisgKiB3aGVuIGZldGNoIG1jYSBp
bmZvLCBpdCBjYW4gdXNlIE1DX1RZUEVfLi4uIHRvIGRpc3Rpbmd1aXNoCisgKiBkaWZmZXJlbnQg
bWNhIGluZm8uCisgKi8KKyNkZWZpbmUgTUNfVFlQRV9HTE9CQUwJCTAKKyNkZWZpbmUgTUNfVFlQ
RV9CQU5LCQkxCisjZGVmaW5lIE1DX1RZUEVfRVhURU5ERUQJMgorI2RlZmluZSBNQ19UWVBFX1JF
Q09WRVJZCTMKKworc3RydWN0IG1jaW5mb19jb21tb24geworCXVpbnQxNl90IHR5cGU7IC8qIHN0
cnVjdHVyZSB0eXBlICovCisJdWludDE2X3Qgc2l6ZTsgLyogc2l6ZSBvZiB0aGlzIHN0cnVjdCBp
biBieXRlcyAqLworfTsKKworI2RlZmluZSBNQ19GTEFHX0NPUlJFQ1RBQkxFCSgxIDw8IDApCisj
ZGVmaW5lIE1DX0ZMQUdfVU5DT1JSRUNUQUJMRQkoMSA8PCAxKQorI2RlZmluZSBNQ19GTEFHX1JF
Q09WRVJBQkxFCSgxIDw8IDIpCisjZGVmaW5lIE1DX0ZMQUdfUE9MTEVECQkoMSA8PCAzKQorI2Rl
ZmluZSBNQ19GTEFHX1JFU0VUCQkoMSA8PCA0KQorI2RlZmluZSBNQ19GTEFHX0NNQ0kJCSgxIDw8
IDUpCisjZGVmaW5lIE1DX0ZMQUdfTUNFCQkoMSA8PCA2KQorCisvKiBjb250YWlucyB4ODYgZ2xv
YmFsIG1jIGluZm9ybWF0aW9uICovCitzdHJ1Y3QgbWNpbmZvX2dsb2JhbCB7CisJc3RydWN0IG1j
aW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2X3QgbWNfZG9taWQ7IC8qIHJ1bm5pbmcgZG9t
YWluIGF0IHRoZSB0aW1lIGluIGVycm9yICovCisJdWludDE2X3QgbWNfdmNwdWlkOyAvKiB2aXJ0
dWFsIGNwdSBzY2hlZHVsZWQgZm9yIG1jX2RvbWlkICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7
IC8qIHBoeXNpY2FsIHNvY2tldCBvZiB0aGUgcGh5c2ljYWwgY29yZSAqLworCXVpbnQxNl90IG1j
X2NvcmVpZDsgLyogcGh5c2ljYWwgaW1wYWN0ZWQgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVf
dGhyZWFkaWQ7IC8qIGNvcmUgdGhyZWFkIG9mIHBoeXNpY2FsIGNvcmUgKi8KKwl1aW50MzJfdCBt
Y19hcGljaWQ7CisJdWludDMyX3QgbWNfZmxhZ3M7CisJdWludDY0X3QgbWNfZ3N0YXR1czsgLyog
Z2xvYmFsIHN0YXR1cyAqLworfTsKKworLyogY29udGFpbnMgeDg2IGJhbmsgbWMgaW5mb3JtYXRp
b24gKi8KK3N0cnVjdCBtY2luZm9fYmFuayB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9u
OworCisJdWludDE2X3QgbWNfYmFuazsgLyogYmFuayBuciAqLworCXVpbnQxNl90IG1jX2RvbWlk
OyAvKiBkb21haW4gcmVmZXJlbmNlZCBieSBtY19hZGRyIGlmIHZhbGlkICovCisJdWludDY0X3Qg
bWNfc3RhdHVzOyAvKiBiYW5rIHN0YXR1cyAqLworCXVpbnQ2NF90IG1jX2FkZHI7IC8qIGJhbmsg
YWRkcmVzcyAqLworCXVpbnQ2NF90IG1jX21pc2M7CisJdWludDY0X3QgbWNfY3RybDI7CisJdWlu
dDY0X3QgbWNfdHNjOworfTsKKworc3RydWN0IG1jaW5mb19tc3IgeworCXVpbnQ2NF90IHJlZzsg
LyogTVNSICovCisJdWludDY0X3QgdmFsdWU7IC8qIE1TUiB2YWx1ZSAqLworfTsKKworLyogY29u
dGFpbnMgbWMgaW5mb3JtYXRpb24gZnJvbSBvdGhlciBvciBhZGRpdGlvbmFsIG1jIE1TUnMgKi8K
K3N0cnVjdCBtY2luZm9fZXh0ZW5kZWQgeworCXN0cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsK
Kwl1aW50MzJfdCBtY19tc3JzOyAvKiBOdW1iZXIgb2YgbXNyIHdpdGggdmFsaWQgdmFsdWVzLiAq
LworCS8qCisJICogQ3VycmVudGx5IEludGVsIGV4dGVuZGVkIE1TUiAoMzIvNjQpIGluY2x1ZGUg
YWxsIGdwIHJlZ2lzdGVycworCSAqIGFuZCBFKFIpRkxBR1MsIEUoUilJUCwgRShSKU1JU0MsIHVw
IHRvIDExLzE5IG9mIHRoZW0gbWlnaHQgYmUKKwkgKiB1c2VmdWwgYXQgcHJlc2VudC4gU28gZXhw
YW5kIHRoaXMgYXJyYXkgdG8gMTYvMzIgdG8gbGVhdmUgcm9vbS4KKwkgKi8KKwlzdHJ1Y3QgbWNp
bmZvX21zciBtY19tc3Jbc2l6ZW9mKHZvaWQgKikgKiA0XTsKK307CisKKy8qIFJlY292ZXJ5IEFj
dGlvbiBmbGFncy4gR2l2aW5nIHJlY292ZXJ5IHJlc3VsdCBpbmZvcm1hdGlvbiB0byBET00wICov
CisKKy8qIFhlbiB0YWtlcyBzdWNjZXNzZnVsIHJlY292ZXJ5IGFjdGlvbiwgdGhlIGVycm9yIGlz
IHJlY292ZXJlZCAqLworI2RlZmluZSBSRUNfQUNUSU9OX1JFQ09WRVJFRCAoMHgxIDw8IDApCisv
KiBObyBhY3Rpb24gaXMgcGVyZm9ybWVkIGJ5IFhFTiAqLworI2RlZmluZSBSRUNfQUNUSU9OX05P
TkUgKDB4MSA8PCAxKQorLyogSXQncyBwb3NzaWJsZSBET00wIG1pZ2h0IHRha2UgYWN0aW9uIG93
bmVyc2hpcCBpbiBzb21lIGNhc2UgKi8KKyNkZWZpbmUgUkVDX0FDVElPTl9ORUVEX1JFU0VUICgw
eDEgPDwgMikKKworLyoKKyAqIERpZmZlcmVudCBSZWNvdmVyeSBBY3Rpb24gdHlwZXMsIGlmIHRo
ZSBhY3Rpb24gaXMgcGVyZm9ybWVkIHN1Y2Nlc3NmdWxseSwKKyAqIFJFQ19BQ1RJT05fUkVDT1ZF
UkVEIGZsYWcgd2lsbCBiZSByZXR1cm5lZC4KKyAqLworCisvKiBQYWdlIE9mZmxpbmUgQWN0aW9u
ICovCisjZGVmaW5lIE1DX0FDVElPTl9QQUdFX09GRkxJTkUgKDB4MSA8PCAwKQorLyogQ1BVIG9m
ZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FDVElPTl9DUFVfT0ZGTElORSAoMHgxIDw8IDEp
CisvKiBMMyBjYWNoZSBkaXNhYmxlIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fQ0FDSEVf
U0hSSU5LICgweDEgPDwgMikKKworLyoKKyAqIEJlbG93IGludGVyZmFjZSB1c2VkIGJldHdlZW4g
WEVOL0RPTTAgZm9yIHBhc3NpbmcgWEVOJ3MgcmVjb3ZlcnkgYWN0aW9uCisgKiBpbmZvcm1hdGlv
biB0byBET00wLgorICovCitzdHJ1Y3QgcGFnZV9vZmZsaW5lX2FjdGlvbiB7CisJLyogUGFyYW1z
IGZvciBwYXNzaW5nIHRoZSBvZmZsaW5lZCBwYWdlIG51bWJlciB0byBET00wICovCisJdWludDY0
X3QgbWZuOworCXVpbnQ2NF90IHN0YXR1czsKK307CisKK3N0cnVjdCBjcHVfb2ZmbGluZV9hY3Rp
b24geworCS8qIFBhcmFtcyBmb3IgcGFzc2luZyB0aGUgaWRlbnRpdHkgb2YgdGhlIG9mZmxpbmVk
IENQVSB0byBET00wICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7CisJdWludDE2X3QgbWNfY29y
ZWlkOworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFkaWQ7Cit9OworCisjZGVmaW5lIE1BWF9VTklP
Tl9TSVpFIDE2CitzdHJ1Y3QgbWNpbmZvX3JlY292ZXJ5IHsKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1v
biBjb21tb247CisJdWludDE2X3QgbWNfYmFuazsgLyogYmFuayBuciAqLworCXVpbnQ4X3QgYWN0
aW9uX2ZsYWdzOworCXVpbnQ4X3QgYWN0aW9uX3R5cGVzOworCXVuaW9uIHsKKwkJc3RydWN0IHBh
Z2Vfb2ZmbGluZV9hY3Rpb24gcGFnZV9yZXRpcmU7CisJCXN0cnVjdCBjcHVfb2ZmbGluZV9hY3Rp
b24gY3B1X29mZmxpbmU7CisJCXVpbnQ4X3QgcGFkW01BWF9VTklPTl9TSVpFXTsKKwl9IGFjdGlv
bl9pbmZvOworfTsKKworCisjZGVmaW5lIE1DSU5GT19NQVhTSVpFIDc2OAorc3RydWN0IG1jX2lu
Zm8geworCS8qIE51bWJlciBvZiBtY2luZm9fKiBlbnRyaWVzIGluIG1pX2RhdGEgKi8KKwl1aW50
MzJfdCBtaV9uZW50cmllczsKKwl1aW50MzJfdCBmbGFnczsKKwl1aW50NjRfdCBtaV9kYXRhWyhN
Q0lORk9fTUFYU0laRSAtIDEpIC8gOF07Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1Qo
bWNfaW5mbyk7CisKKyNkZWZpbmUgX19NQ19NU1JfQVJSQVlTSVpFIDgKKyNkZWZpbmUgX19NQ19N
U1JfTUNHQ0FQIDAKKyNkZWZpbmUgX19NQ19OTVNSUyAxCisjZGVmaW5lIE1DX05DQVBTIDcKK3N0
cnVjdCBtY2luZm9fbG9naWNhbF9jcHUgeworCXVpbnQzMl90IG1jX2NwdW5yOworCXVpbnQzMl90
IG1jX2NoaXBpZDsKKwl1aW50MTZfdCBtY19jb3JlaWQ7CisJdWludDE2X3QgbWNfdGhyZWFkaWQ7
CisJdWludDMyX3QgbWNfYXBpY2lkOworCXVpbnQzMl90IG1jX2NsdXN0ZXJpZDsKKwl1aW50MzJf
dCBtY19uY29yZXM7CisJdWludDMyX3QgbWNfbmNvcmVzX2FjdGl2ZTsKKwl1aW50MzJfdCBtY19u
dGhyZWFkczsKKwl1aW50MzJfdCBtY19jcHVpZF9sZXZlbDsKKwl1aW50MzJfdCBtY19mYW1pbHk7
CisJdWludDMyX3QgbWNfdmVuZG9yOworCXVpbnQzMl90IG1jX21vZGVsOworCXVpbnQzMl90IG1j
X3N0ZXA7CisJY2hhciBtY192ZW5kb3JpZFsxNl07CisJY2hhciBtY19icmFuZGlkWzY0XTsKKwl1
aW50MzJfdCBtY19jcHVfY2Fwc1tNQ19OQ0FQU107CisJdWludDMyX3QgbWNfY2FjaGVfc2l6ZTsK
Kwl1aW50MzJfdCBtY19jYWNoZV9hbGlnbm1lbnQ7CisJdWludDMyX3QgbWNfbm1zcnZhbHM7CisJ
c3RydWN0IG1jaW5mb19tc3IgbWNfbXNydmFsdWVzW19fTUNfTVNSX0FSUkFZU0laRV07Cit9Owor
REVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNpbmZvX2xvZ2ljYWxfY3B1KTsKKworLyoKKyAq
IFByb3RvdHlwZToKKyAqICAgIHVpbnQzMl90IHg4Nl9tY2luZm9fbmVudHJpZXMoc3RydWN0IG1j
X2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZvX25lbnRyaWVzKF9taSkgICAgXAor
CSgoX21pKS0+bWlfbmVudHJpZXMpCisvKgorICogUHJvdG90eXBlOgorICogICAgc3RydWN0IG1j
aW5mb19jb21tb24gKng4Nl9tY2luZm9fZmlyc3Qoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLwor
I2RlZmluZSB4ODZfbWNpbmZvX2ZpcnN0KF9taSkgICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19j
b21tb24gKikoX21pKS0+bWlfZGF0YSkKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICBzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqeDg2X21jaW5mb19uZXh0KHN0cnVjdCBtY2luZm9fY29tbW9uICptaWMp
OworICovCisjZGVmaW5lIHg4Nl9tY2luZm9fbmV4dChfbWljKSAgICAgICBcCisJKChzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqKSgodWludDhfdCAqKShfbWljKSArIChfbWljKS0+c2l6ZSkpCisKKy8q
CisgKiBQcm90b3R5cGU6CisgKiAgICB2b2lkIHg4Nl9tY2luZm9fbG9va3VwKHZvaWQgKnJldCwg
c3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZfdCB0eXBlKTsKKyAqLworc3RhdGljIGlubGluZSB2
b2lkIHg4Nl9tY2luZm9fbG9va3VwKHN0cnVjdCBtY2luZm9fY29tbW9uICoqcmV0LAorCQkJCSAg
ICAgc3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZfdCB0eXBlKQoreworCXVpbnQzMl90IGk7CisJ
c3RydWN0IG1jaW5mb19jb21tb24gKm1pYzsKKwlib29sIGZvdW5kID0gMDsKKworCWlmICghcmV0
IHx8ICFtaSkKKwkJcmV0dXJuOworCisJbWljID0geDg2X21jaW5mb19maXJzdChtaSk7CisJZm9y
IChpID0gMDsgaSA8IHg4Nl9tY2luZm9fbmVudHJpZXMobWkpOyBpKyspIHsKKwkJaWYgKG1pYy0+
dHlwZSA9PSB0eXBlKSB7CisJCQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCQltaWMgPSB4
ODZfbWNpbmZvX25leHQobWljKTsKKwl9CisKKwkqcmV0ID0gZm91bmQgPyBtaWMgOiBOVUxMOwor
fQorCisvKgorICogRmV0Y2ggbWFjaGluZSBjaGVjayBkYXRhIGZyb20gaHlwZXJ2aXNvci4KKyAq
LworI2RlZmluZSBYRU5fTUNfZmV0Y2gJCTEKK3N0cnVjdCB4ZW5fbWNfZmV0Y2ggeworCS8qCisJ
ICogSU46IFhFTl9NQ19OT05VUkdFTlQsIFhFTl9NQ19VUkdFTlQsCisJICogWEVOX01DX0FDSyBp
ZiBhY2sna2luZyBhbiBlYXJsaWVyIGZldGNoCisJICogT1VUOiBYRU5fTUNfT0ssIFhFTl9NQ19G
RVRDSEFJTEVELCBYRU5fTUNfTk9EQVRBCisJICovCisJdWludDMyX3QgZmxhZ3M7CisJdWludDMy
X3QgX3BhZDA7CisJLyogT1VUOiBpZCBmb3IgYWNrLCBJTjogaWQgd2UgYXJlIGFjaydpbmcgKi8K
Kwl1aW50NjRfdCBmZXRjaF9pZDsKKworCS8qIE9VVCB2YXJpYWJsZXMuICovCisJR1VFU1RfSEFO
RExFKG1jX2luZm8pIGRhdGE7Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21j
X2ZldGNoKTsKKworCisvKgorICogVGhpcyB0ZWxscyB0aGUgaHlwZXJ2aXNvciB0byBub3RpZnkg
YSBEb21VIGFib3V0IHRoZSBtYWNoaW5lIGNoZWNrIGVycm9yCisgKi8KKyNkZWZpbmUgWEVOX01D
X25vdGlmeWRvbWFpbgkyCitzdHJ1Y3QgeGVuX21jX25vdGlmeWRvbWFpbiB7CisJLyogSU4gdmFy
aWFibGVzICovCisJdWludDE2X3QgbWNfZG9taWQ7IC8qIFRoZSB1bnByaXZpbGVnZWQgZG9tYWlu
IHRvIG5vdGlmeSAqLworCXVpbnQxNl90IG1jX3ZjcHVpZDsgLyogVGhlIHZjcHUgaW4gbWNfZG9t
aWQgdG8gbm90aWZ5ICovCisKKwkvKiBJTi9PVVQgdmFyaWFibGVzICovCisJdWludDMyX3QgZmxh
Z3M7Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX25vdGlmeWRvbWFpbik7
CisKKyNkZWZpbmUgWEVOX01DX3BoeXNjcHVpbmZvCTMKK3N0cnVjdCB4ZW5fbWNfcGh5c2NwdWlu
Zm8geworCS8qIElOL09VVCAqLworCXVpbnQzMl90IG5jcHVzOworCXVpbnQzMl90IF9wYWQwOwor
CS8qIE9VVCAqLworCUdVRVNUX0hBTkRMRShtY2luZm9fbG9naWNhbF9jcHUpIGluZm87Cit9Owor
CisjZGVmaW5lIFhFTl9NQ19tc3JpbmplY3QJNAorI2RlZmluZSBNQ19NU1JJTkpfTUFYTVNSUwk4
CitzdHJ1Y3QgeGVuX21jX21zcmluamVjdCB7CisJLyogSU4gKi8KKwl1aW50MzJfdCBtY2lual9j
cHVucjsgLyogdGFyZ2V0IHByb2Nlc3NvciBpZCAqLworCXVpbnQzMl90IG1jaW5qX2ZsYWdzOyAv
KiBzZWUgTUNfTVNSSU5KX0ZfKiBiZWxvdyAqLworCXVpbnQzMl90IG1jaW5qX2NvdW50OyAvKiAw
IC4uIGNvdW50LTEgaW4gYXJyYXkgYXJlIHZhbGlkICovCisJdWludDMyX3QgX3BhZDA7CisJc3Ry
dWN0IG1jaW5mb19tc3IgbWNpbmpfbXNyW01DX01TUklOSl9NQVhNU1JTXTsKK307CisKKy8qIEZs
YWdzIGZvciBtY2lual9mbGFncyBhYm92ZTsgYml0cyAxNi0zMSBhcmUgcmVzZXJ2ZWQgKi8KKyNk
ZWZpbmUgTUNfTVNSSU5KX0ZfSU5URVJQT1NFCTB4MQorCisjZGVmaW5lIFhFTl9NQ19tY2Vpbmpl
Y3QJNQorc3RydWN0IHhlbl9tY19tY2VpbmplY3QgeworCXVuc2lnbmVkIGludCBtY2VpbmpfY3B1
bnI7IC8qIHRhcmdldCBwcm9jZXNzb3IgaWQgKi8KK307CisKK3N0cnVjdCB4ZW5fbWMgeworCXVp
bnQzMl90IGNtZDsKKwl1aW50MzJfdCBpbnRlcmZhY2VfdmVyc2lvbjsgLyogWEVOX01DQV9JTlRF
UkZBQ0VfVkVSU0lPTiAqLworCXVuaW9uIHsKKwkJc3RydWN0IHhlbl9tY19mZXRjaCAgICAgICAg
bWNfZmV0Y2g7CisJCXN0cnVjdCB4ZW5fbWNfbm90aWZ5ZG9tYWluIG1jX25vdGlmeWRvbWFpbjsK
KwkJc3RydWN0IHhlbl9tY19waHlzY3B1aW5mbyAgbWNfcGh5c2NwdWluZm87CisJCXN0cnVjdCB4
ZW5fbWNfbXNyaW5qZWN0ICAgIG1jX21zcmluamVjdDsKKwkJc3RydWN0IHhlbl9tY19tY2Vpbmpl
Y3QgICAgbWNfbWNlaW5qZWN0OworCX0gdTsKK307CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVD
VCh4ZW5fbWMpOworCitleHRlcm4gc3RydWN0IG1pc2NkZXZpY2UgbWNlX2NocmRldl9kZXZpY2U7
CisKK3ZvaWQgeGVuX2Vhcmx5X2luaXRfbWNlbG9nKHZvaWQpOworCisvKiBGaWVsZHMgYXJlIHpl
cm8gd2hlbiBub3QgYXZhaWxhYmxlICovCitzdHJ1Y3QgeGVuX21jZSB7CisJX191NjQgc3RhdHVz
OworCV9fdTY0IG1pc2M7CisJX191NjQgYWRkcjsKKwlfX3U2NCBtY2dzdGF0dXM7CisJX191NjQg
aXA7CisJX191NjQgdHNjOwkvKiBjcHUgdGltZSBzdGFtcCBjb3VudGVyICovCisJX191NjQgdGlt
ZTsJLyogd2FsbCB0aW1lX3Qgd2hlbiBlcnJvciB3YXMgZGV0ZWN0ZWQgKi8KKwlfX3U4ICBjcHV2
ZW5kb3I7CS8qIGNwdSB2ZW5kb3IgYXMgZW5jb2RlZCBpbiBzeXN0ZW0uaCAqLworCV9fdTggIGlu
amVjdF9mbGFnczsJLyogc29mdHdhcmUgaW5qZWN0IGZsYWdzICovCisJX191MTYgIHBhZDsKKwlf
X3UzMiBjcHVpZDsJLyogQ1BVSUQgMSBFQVggKi8KKwlfX3U4ICBjczsJCS8qIGNvZGUgc2VnbWVu
dCAqLworCV9fdTggIGJhbms7CS8qIG1hY2hpbmUgY2hlY2sgYmFuayAqLworCV9fdTggIGNwdTsJ
LyogY3B1IG51bWJlcjsgb2Jzb2xldGU7IHVzZSBleHRjcHUgbm93ICovCisJX191OCAgZmluaXNo
ZWQ7ICAgLyogZW50cnkgaXMgdmFsaWQgKi8KKwlfX3UzMiBleHRjcHU7CS8qIGxpbnV4IGNwdSBu
dW1iZXIgdGhhdCBkZXRlY3RlZCB0aGUgZXJyb3IgKi8KKwlfX3UzMiBzb2NrZXRpZDsJLyogQ1BV
IHNvY2tldCBJRCAqLworCV9fdTMyIGFwaWNpZDsJLyogQ1BVIGluaXRpYWwgYXBpYyBJRCAqLwor
CV9fdTY0IG1jZ2NhcDsJLyogTUNHQ0FQIE1TUjogbWFjaGluZSBjaGVjayBjYXBhYmlsaXRpZXMg
b2YgQ1BVICovCit9OworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFpbnMgYWxsIGRhdGEg
cmVsYXRlZCB0byB0aGUgTUNFIGxvZy4gIEFsc28KKyAqIGNhcnJpZXMgYSBzaWduYXR1cmUgdG8g
bWFrZSBpdCBlYXNpZXIgdG8gZmluZCBmcm9tIGV4dGVybmFsCisgKiBkZWJ1Z2dpbmcgdG9vbHMu
ICBFYWNoIGVudHJ5IGlzIG9ubHkgdmFsaWQgd2hlbiBpdHMgZmluaXNoZWQgZmxhZworICogaXMg
c2V0LgorICovCisKKyNkZWZpbmUgWEVOX01DRV9MT0dfTEVOIDMyCisKK3N0cnVjdCB4ZW5fbWNl
X2xvZyB7CisJY2hhciBzaWduYXR1cmVbMTJdOyAvKiAiTUFDSElORUNIRUNLIiAqLworCXVuc2ln
bmVkIGxlbjsJICAgIC8qID0gWEVOX01DRV9MT0dfTEVOICovCisJdW5zaWduZWQgbmV4dDsKKwl1
bnNpZ25lZCBmbGFnczsKKwl1bnNpZ25lZCByZWNvcmRsZW47CS8qIGxlbmd0aCBvZiBzdHJ1Y3Qg
eGVuX21jZSAqLworCXN0cnVjdCB4ZW5fbWNlIGVudHJ5W1hFTl9NQ0VfTE9HX0xFTl07Cit9Owor
CisjZGVmaW5lIFhFTl9NQ0VfT1ZFUkZMT1cgMAkJLyogYml0IDAgaW4gZmxhZ3MgbWVhbnMgb3Zl
cmZsb3cgKi8KKworI2RlZmluZSBYRU5fTUNFX0xPR19TSUdOQVRVUkUJIk1BQ0hJTkVDSEVDSyIK
KworI2RlZmluZSBNQ0VfR0VUX1JFQ09SRF9MRU4gICBfSU9SKCdNJywgMSwgaW50KQorI2RlZmlu
ZSBNQ0VfR0VUX0xPR19MRU4gICAgICBfSU9SKCdNJywgMiwgaW50KQorI2RlZmluZSBNQ0VfR0VU
Q0xFQVJfRkxBR1MgICBfSU9SKCdNJywgMywgaW50KQorCisjZW5kaWYgLyogX19BU1NFTUJMWV9f
ICovCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0FSQ0hfWDg2X01DQV9IX18gKi8KLS0gCjEuNy4x
Cgo=

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351D6892SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Tue May 22 06:36:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 06:36:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWih7-0004L3-Oj; Tue, 22 May 2012 06:35:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Abhinandan.Prateek@citrix.com>) id 1SWih6-0004Ky-As
	for xen-devel@lists.xen.org; Tue, 22 May 2012 06:35:44 +0000
Received: from [85.158.139.83:52933] by server-9.bemta-5.messagelabs.com id
	C2/7D-18212-FB33BBF4; Tue, 22 May 2012 06:35:43 +0000
X-Env-Sender: Abhinandan.Prateek@citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337668539!29961072!1
X-Originating-IP: [203.166.19.134]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAzLjE2Ni4xOS4xMzQgPT4gNDI5NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15857 invoked from network); 22 May 2012 06:35:42 -0000
Received: from smtp.citrix.com.au (HELO SMTP.CITRIX.COM.AU) (203.166.19.134)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 06:35:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="11474260"
Received: from banpmailmx02.citrite.net ([10.103.128.74])
	by SYDPIPO01.CITRIX.COM.AU with ESMTP/TLS/RC4-MD5;
	22 May 2012 06:35:37 +0000
Received: from BANPMAILBOX01.citrite.net ([10.103.128.72]) by
	BANPMAILMX02.citrite.net ([10.103.128.74]) with mapi; Tue, 22 May 2012
	12:05:36 +0530
From: Abhinandan Prateek <Abhinandan.Prateek@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Tue, 22 May 2012 12:05:35 +0530
Thread-Topic: Dynamic resource scaling
Thread-Index: Ac035KvwHpJl5ryoSpCnAdW+NAQctA==
Message-ID: <64FB1554ABC9B44FAA773FBD6CB889C2F93A9CE854@BANPMAILBOX01.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] Dynamic resource scaling
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Does Xenserver support dynamic scaling of CPU, memory and disk for guest VMs? 

-abhi

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 06:36:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 06:36:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWih7-0004L3-Oj; Tue, 22 May 2012 06:35:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Abhinandan.Prateek@citrix.com>) id 1SWih6-0004Ky-As
	for xen-devel@lists.xen.org; Tue, 22 May 2012 06:35:44 +0000
Received: from [85.158.139.83:52933] by server-9.bemta-5.messagelabs.com id
	C2/7D-18212-FB33BBF4; Tue, 22 May 2012 06:35:43 +0000
X-Env-Sender: Abhinandan.Prateek@citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337668539!29961072!1
X-Originating-IP: [203.166.19.134]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjAzLjE2Ni4xOS4xMzQgPT4gNDI5NTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15857 invoked from network); 22 May 2012 06:35:42 -0000
Received: from smtp.citrix.com.au (HELO SMTP.CITRIX.COM.AU) (203.166.19.134)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 06:35:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="11474260"
Received: from banpmailmx02.citrite.net ([10.103.128.74])
	by SYDPIPO01.CITRIX.COM.AU with ESMTP/TLS/RC4-MD5;
	22 May 2012 06:35:37 +0000
Received: from BANPMAILBOX01.citrite.net ([10.103.128.72]) by
	BANPMAILMX02.citrite.net ([10.103.128.74]) with mapi; Tue, 22 May 2012
	12:05:36 +0530
From: Abhinandan Prateek <Abhinandan.Prateek@citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Tue, 22 May 2012 12:05:35 +0530
Thread-Topic: Dynamic resource scaling
Thread-Index: Ac035KvwHpJl5ryoSpCnAdW+NAQctA==
Message-ID: <64FB1554ABC9B44FAA773FBD6CB889C2F93A9CE854@BANPMAILBOX01.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] Dynamic resource scaling
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Does Xenserver support dynamic scaling of CPU, memory and disk for guest VMs? 

-abhi

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 06:52:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 06:52:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWiww-0004Yu-LJ; Tue, 22 May 2012 06:52:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SWiwv-0004Yp-8O
	for xen-devel@lists.xen.org; Tue, 22 May 2012 06:52:05 +0000
Received: from [85.158.143.99:48040] by server-3.bemta-4.messagelabs.com id
	01/0B-05853-4973BBF4; Tue, 22 May 2012 06:52:04 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337669520!22116295!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
	MIME_BASE64_TEXT,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17871 invoked from network); 22 May 2012 06:52:02 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 06:52:02 -0000
Received: by obbwd20 with SMTP id wd20so12578574obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 23:51:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=uCgGs4aGRk1MRR22GwX9XZv1IONe9Bat/w5HnvBijMI=;
	b=zYsXwOHbQdihdrCMhfYga9SlokRR00y5apOxOrGMdBN7yFWLMm9HRZmZQRKX4gW09x
	viek27pVL1yB79uW9LYF3LinDwtRPQPapcrrp5cirI8extDdJbklNYk+a1o/7Yn9TTdd
	KVKBYY+EII+TsPyWaYPMDBkBknJXTUlZIPXyYPKNv6Su/HK8ChwLt9PJIAx1TdKJoOLQ
	RfAKqm3CwQy7I7WH4uyzIhlTZdPrciF94P6SkvDQ9UMKi+WGL4gPy9XoDU92/KhPgS9F
	YEcsG8VOoF7EremkK9HN7KRfJ/XpGlWt0aQ4dMpwS/nMNDScPtPd2GfA1rzrPiSIlX1z
	53nA==
MIME-Version: 1.0
Received: by 10.60.172.231 with SMTP id bf7mr21533275oec.45.1337669519739;
	Mon, 21 May 2012 23:51:59 -0700 (PDT)
Received: by 10.182.33.105 with HTTP; Mon, 21 May 2012 23:51:59 -0700 (PDT)
Date: Tue, 22 May 2012 14:51:59 +0800
Message-ID: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1249182182625258459=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1249182182625258459==
Content-Type: multipart/alternative; boundary=bcaec54c4df68d0b4c04c09a7460

--bcaec54c4df68d0b4c04c09a7460
Content-Type: text/plain; charset=ISO-8859-1

Hi,
   When I run some workloads from SPECCPU2006. I found that the retired
instruction number vary significantly between VM and PM according to
xenoprof. For example:

   Workload                                            Insts
                             Platform
   435.gromacs (CPU intensive)                4458151
                PM
   435.gromacs                                      * 151265683*
                        VM
   450.soplex   (Memory intensive)            760142
                 PM
    450.soplex                                         * 23311208*
                           VM

What is the reason? Does Xen use interpret? Thank you!

--bcaec54c4df68d0b4c04c09a7460
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: base64

SGksPGRpdj6gIKBXaGVuIEkgcnVuIHNvbWUgd29ya2xvYWRzIGZyb20gU1BFQ0NQVTIwMDYuIEkg
Zm91bmQgdGhhdCB0aGUgcmV0aXJlZCBpbnN0cnVjdGlvbiBudW1iZXIgdmFyeSBzaWduaWZpY2Fu
dGx5IGJldHdlZW4gVk0gYW5kIFBNIGFjY29yZGluZyB0byB4ZW5vcHJvZi4gRm9yIGV4YW1wbGU6
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj6gIKBXb3JrbG9hZCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgSW5zdHMgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgoFBsYXRmb3JtPC9kaXY+CjxkaXY+oCCgNDM1Lmdyb21hY3MgKENQVSBp
bnRlbnNpdmUpIKAgoCCgIKAgoCCgIKAgoDQ0NTgxNTEgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg
oCCgIKAgoCCgIKAgoCBQTTwvZGl2PjxkaXY+oCCgNDM1Lmdyb21hY3MgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgoCCgIKAgoDxiPqA8Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIg
Y29sb3I9IiNmZjAwMDAiPjE1MTI2NTY4MzwvZm9udD48L2I+IKAgoCCgIKAgoCCgIKAgoCCgIKAg
oCCgIKAgoCCgIKAgoCBWTTwvZGl2Pgo8ZGl2PqAgoDQ1MC5zb3BsZXggoCAoTWVtb3J5IGludGVu
c2l2ZSkgoCCgIKAgoCCgIKA3NjAxNDIgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgUE08L2Rpdj48ZGl2PqAgoKA0NTAuc29wbGV4IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgPHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKSI+oCA8Yj6gMjMzMTEyMDg8L2I+IDwvc3Bhbj6gIKAg
oCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoFZNPC9kaXY+CjxkaXY+PGJyPjwvZGl2Pjxk
aXY+V2hhdCBpcyB0aGUgcmVhc29uPyBEb2VzIFhlbiB1c2UgaW50ZXJwcmV0PyBUaGFuayB5b3Uh
PC9kaXY+Cg==
--bcaec54c4df68d0b4c04c09a7460--


--===============1249182182625258459==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1249182182625258459==--


From xen-devel-bounces@lists.xen.org Tue May 22 06:52:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 06:52:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWiww-0004Yu-LJ; Tue, 22 May 2012 06:52:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SWiwv-0004Yp-8O
	for xen-devel@lists.xen.org; Tue, 22 May 2012 06:52:05 +0000
Received: from [85.158.143.99:48040] by server-3.bemta-4.messagelabs.com id
	01/0B-05853-4973BBF4; Tue, 22 May 2012 06:52:04 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337669520!22116295!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
	MIME_BASE64_TEXT,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17871 invoked from network); 22 May 2012 06:52:02 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 06:52:02 -0000
Received: by obbwd20 with SMTP id wd20so12578574obb.32
	for <xen-devel@lists.xen.org>; Mon, 21 May 2012 23:51:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=uCgGs4aGRk1MRR22GwX9XZv1IONe9Bat/w5HnvBijMI=;
	b=zYsXwOHbQdihdrCMhfYga9SlokRR00y5apOxOrGMdBN7yFWLMm9HRZmZQRKX4gW09x
	viek27pVL1yB79uW9LYF3LinDwtRPQPapcrrp5cirI8extDdJbklNYk+a1o/7Yn9TTdd
	KVKBYY+EII+TsPyWaYPMDBkBknJXTUlZIPXyYPKNv6Su/HK8ChwLt9PJIAx1TdKJoOLQ
	RfAKqm3CwQy7I7WH4uyzIhlTZdPrciF94P6SkvDQ9UMKi+WGL4gPy9XoDU92/KhPgS9F
	YEcsG8VOoF7EremkK9HN7KRfJ/XpGlWt0aQ4dMpwS/nMNDScPtPd2GfA1rzrPiSIlX1z
	53nA==
MIME-Version: 1.0
Received: by 10.60.172.231 with SMTP id bf7mr21533275oec.45.1337669519739;
	Mon, 21 May 2012 23:51:59 -0700 (PDT)
Received: by 10.182.33.105 with HTTP; Mon, 21 May 2012 23:51:59 -0700 (PDT)
Date: Tue, 22 May 2012 14:51:59 +0800
Message-ID: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1249182182625258459=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1249182182625258459==
Content-Type: multipart/alternative; boundary=bcaec54c4df68d0b4c04c09a7460

--bcaec54c4df68d0b4c04c09a7460
Content-Type: text/plain; charset=ISO-8859-1

Hi,
   When I run some workloads from SPECCPU2006. I found that the retired
instruction number vary significantly between VM and PM according to
xenoprof. For example:

   Workload                                            Insts
                             Platform
   435.gromacs (CPU intensive)                4458151
                PM
   435.gromacs                                      * 151265683*
                        VM
   450.soplex   (Memory intensive)            760142
                 PM
    450.soplex                                         * 23311208*
                           VM

What is the reason? Does Xen use interpret? Thank you!

--bcaec54c4df68d0b4c04c09a7460
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: base64

SGksPGRpdj6gIKBXaGVuIEkgcnVuIHNvbWUgd29ya2xvYWRzIGZyb20gU1BFQ0NQVTIwMDYuIEkg
Zm91bmQgdGhhdCB0aGUgcmV0aXJlZCBpbnN0cnVjdGlvbiBudW1iZXIgdmFyeSBzaWduaWZpY2Fu
dGx5IGJldHdlZW4gVk0gYW5kIFBNIGFjY29yZGluZyB0byB4ZW5vcHJvZi4gRm9yIGV4YW1wbGU6
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj6gIKBXb3JrbG9hZCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgSW5zdHMgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgoFBsYXRmb3JtPC9kaXY+CjxkaXY+oCCgNDM1Lmdyb21hY3MgKENQVSBp
bnRlbnNpdmUpIKAgoCCgIKAgoCCgIKAgoDQ0NTgxNTEgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg
oCCgIKAgoCCgIKAgoCBQTTwvZGl2PjxkaXY+oCCgNDM1Lmdyb21hY3MgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgoCCgIKAgoDxiPqA8Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIg
Y29sb3I9IiNmZjAwMDAiPjE1MTI2NTY4MzwvZm9udD48L2I+IKAgoCCgIKAgoCCgIKAgoCCgIKAg
oCCgIKAgoCCgIKAgoCBWTTwvZGl2Pgo8ZGl2PqAgoDQ1MC5zb3BsZXggoCAoTWVtb3J5IGludGVu
c2l2ZSkgoCCgIKAgoCCgIKA3NjAxNDIgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgUE08L2Rpdj48ZGl2PqAgoKA0NTAuc29wbGV4IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg
IKAgoCCgIKAgoCCgIKAgPHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKSI+oCA8Yj6gMjMzMTEyMDg8L2I+IDwvc3Bhbj6gIKAg
oCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoFZNPC9kaXY+CjxkaXY+PGJyPjwvZGl2Pjxk
aXY+V2hhdCBpcyB0aGUgcmVhc29uPyBEb2VzIFhlbiB1c2UgaW50ZXJwcmV0PyBUaGFuayB5b3Uh
PC9kaXY+Cg==
--bcaec54c4df68d0b4c04c09a7460--


--===============1249182182625258459==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1249182182625258459==--


From xen-devel-bounces@lists.xen.org Tue May 22 07:05:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWj99-0004we-0q; Tue, 22 May 2012 07:04:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWj97-0004wZ-G0
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:04:41 +0000
Received: from [85.158.143.35:53883] by server-2.bemta-4.messagelabs.com id
	70/00-12211-88A3BBF4; Tue, 22 May 2012 07:04:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337670279!16686452!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22115 invoked from network); 22 May 2012 07:04:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:04:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12594433"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 07:04:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 08:04:38 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWj94-0005TU-LW;
	Tue, 22 May 2012 07:04:38 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWj94-0001My-EW;
	Tue, 22 May 2012 08:04:38 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12951-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 08:04:38 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12951: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12951 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12951/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2      fail blocked in 12947
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12947

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  238900a4ed22
baseline version:
 xen                  238900a4ed22

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:05:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWj99-0004we-0q; Tue, 22 May 2012 07:04:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWj97-0004wZ-G0
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:04:41 +0000
Received: from [85.158.143.35:53883] by server-2.bemta-4.messagelabs.com id
	70/00-12211-88A3BBF4; Tue, 22 May 2012 07:04:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337670279!16686452!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22115 invoked from network); 22 May 2012 07:04:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:04:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12594433"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 07:04:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 08:04:38 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWj94-0005TU-LW;
	Tue, 22 May 2012 07:04:38 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWj94-0001My-EW;
	Tue, 22 May 2012 08:04:38 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12951-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 08:04:38 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12951: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12951 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12951/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2      fail blocked in 12947
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12947

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  238900a4ed22
baseline version:
 xen                  238900a4ed22

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:20:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjNZ-00056P-F6; Tue, 22 May 2012 07:19:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SWjNX-00056K-Sj
	for xen-devel@lists.xen.org; Tue, 22 May 2012 07:19:36 +0000
Received: from [85.158.143.35:34046] by server-2.bemta-4.messagelabs.com id
	72/DB-12211-70E3BBF4; Tue, 22 May 2012 07:19:35 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337671173!13422153!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19718 invoked from network); 22 May 2012 07:19:34 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-21.messagelabs.com with SMTP;
	22 May 2012 07:19:34 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 22 May 2012 00:19:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="146127358"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 22 May 2012 00:19:32 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 00:19:32 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 15:19:30 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Wu, GabrielX"
	<gabrielx.wu@intel.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNN2h0qQ57b8BtJkWdmYwPQ9jK8pbVZpGQ
Date: Tue, 22 May 2012 07:19:29 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
In-Reply-To: <20120521142131.GL8119@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>, "Zhou,
	Chao" <chao.zhou@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Monday, May 21, 2012 10:22 PM
> To: Wu, GabrielX
> Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> 
> On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > Hi all,
> >
> > This is the test report of xen-unstable tree.
> > There are two issues found and one issue got fixed.
> >
> > Version Info:
> >
> ============================================================
> =====
> > xen-changeset:   25334:f8279258e3c9
> > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> >
> ============================================================
> =====
> >
> > New issues(2)
> > ==============
> > 1. long stop during the guest boot process with qcow image
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > 2. vcpu-set doesn't take effect on guest
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> 
> Does it work if you (in the guest) do
> echo 1 > /sys/../cpu9/online ?
> 
The problem is there's no hot-add vCPU in /sys/devices/system/cpu directory.
e.g. I start a guest with 2 vCPU, then I run command 'xl vcpu-set $domID 4'. 
    There are only 2 CPUs(cpu0 and cpu1) listed in /sys/devices/system/cpu directory.

> There is a race in the generic hotplug code.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:20:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjNZ-00056P-F6; Tue, 22 May 2012 07:19:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SWjNX-00056K-Sj
	for xen-devel@lists.xen.org; Tue, 22 May 2012 07:19:36 +0000
Received: from [85.158.143.35:34046] by server-2.bemta-4.messagelabs.com id
	72/DB-12211-70E3BBF4; Tue, 22 May 2012 07:19:35 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337671173!13422153!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19718 invoked from network); 22 May 2012 07:19:34 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-21.messagelabs.com with SMTP;
	22 May 2012 07:19:34 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 22 May 2012 00:19:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="146127358"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 22 May 2012 00:19:32 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 00:19:32 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 15:19:30 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Wu, GabrielX"
	<gabrielx.wu@intel.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNN2h0qQ57b8BtJkWdmYwPQ9jK8pbVZpGQ
Date: Tue, 22 May 2012 07:19:29 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
In-Reply-To: <20120521142131.GL8119@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>, "Zhou,
	Chao" <chao.zhou@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Monday, May 21, 2012 10:22 PM
> To: Wu, GabrielX
> Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> 
> On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > Hi all,
> >
> > This is the test report of xen-unstable tree.
> > There are two issues found and one issue got fixed.
> >
> > Version Info:
> >
> ============================================================
> =====
> > xen-changeset:   25334:f8279258e3c9
> > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> >
> ============================================================
> =====
> >
> > New issues(2)
> > ==============
> > 1. long stop during the guest boot process with qcow image
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > 2. vcpu-set doesn't take effect on guest
> >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> 
> Does it work if you (in the guest) do
> echo 1 > /sys/../cpu9/online ?
> 
The problem is there's no hot-add vCPU in /sys/devices/system/cpu directory.
e.g. I start a guest with 2 vCPU, then I run command 'xl vcpu-set $domID 4'. 
    There are only 2 CPUs(cpu0 and cpu1) listed in /sys/devices/system/cpu directory.

> There is a race in the generic hotplug code.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:21:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:21:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjOl-00059R-UW; Tue, 22 May 2012 07:20:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWjOk-00059J-Kk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 07:20:50 +0000
Received: from [85.158.138.51:16529] by server-10.bemta-3.messagelabs.com id
	53/F7-29478-15E3BBF4; Tue, 22 May 2012 07:20:49 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337671246!22058967!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29507 invoked from network); 22 May 2012 07:20:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 07:20:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 08:20:46 +0100
Message-Id: <4FBB5A8D0200007800085003@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 08:21:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xiantao Zhang" <xiantao.zhang@intel.com>,
	"Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 03:57, "Zhang, Xiantao" <xiantao.zhang@intel.com> wrote:
>    Do you have further comments about this patch ?   Thanks!

I don't have anything beyond the reservations I have already
expressed (and which remain in place).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:21:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:21:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjOl-00059R-UW; Tue, 22 May 2012 07:20:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWjOk-00059J-Kk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 07:20:50 +0000
Received: from [85.158.138.51:16529] by server-10.bemta-3.messagelabs.com id
	53/F7-29478-15E3BBF4; Tue, 22 May 2012 07:20:49 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337671246!22058967!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29507 invoked from network); 22 May 2012 07:20:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 07:20:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 08:20:46 +0100
Message-Id: <4FBB5A8D0200007800085003@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 08:21:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xiantao Zhang" <xiantao.zhang@intel.com>,
	"Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 03:57, "Zhang, Xiantao" <xiantao.zhang@intel.com> wrote:
>    Do you have further comments about this patch ?   Thanks!

I don't have anything beyond the reservations I have already
expressed (and which remain in place).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:38:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:38:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjfP-0005Rq-It; Tue, 22 May 2012 07:38:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mrezanin@redhat.com>) id 1SWjfN-0005Rl-Al
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:38:01 +0000
Received: from [85.158.143.35:41628] by server-1.bemta-4.messagelabs.com id
	B3/F7-00342-8524BBF4; Tue, 22 May 2012 07:38:00 +0000
X-Env-Sender: mrezanin@redhat.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337672277!4898399!1
X-Originating-IP: [209.132.183.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjUgPT4gNzQ4MTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1986 invoked from network); 22 May 2012 07:37:58 -0000
Received: from mx4-phx2.redhat.com (HELO mx4-phx2.redhat.com) (209.132.183.25)
	by server-5.tower-21.messagelabs.com with SMTP;
	22 May 2012 07:37:58 -0000
Received: from zmail17.collab.prod.int.phx2.redhat.com
	(zmail17.collab.prod.int.phx2.redhat.com [10.5.83.19])
	by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q4M7buP7009863
	for <xen-devel@lists.xensource.com>; Tue, 22 May 2012 03:37:56 -0400
Date: Tue, 22 May 2012 03:37:56 -0400 (EDT)
From: Miroslav Rezanina <mrezanin@redhat.com>
To: "xen-devel " <xen-devel@lists.xensource.com>
Message-ID: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
In-Reply-To: <7634ec92-05b3-4a20-8320-719be248e008@zmail17.collab.prod.int.phx2.redhat.com>
MIME-Version: 1.0
X-Originating-IP: [10.34.26.132]
X-Mailer: Zimbra 7.1.2_GA_3268 (ZimbraWebClient - SAF3 (Linux)/7.1.2_GA_3268)
Subject: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If guest kernel or ramdisk image is too large to fit in the dom0 memory, it causes pygrub crash with "out of memory" error. 
This patch reads kernel/ramdisk file in 1 MB blocks so prevent exhausting whole memory.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>

Patch:
--
diff -r 238900a4ed22 tools/pygrub/src/pygrub
--- a/tools/pygrub/src/pygrub	Mon May 21 12:03:32 2012 +0200
+++ b/tools/pygrub/src/pygrub	Tue May 22 11:32:28 2012 +0200
@@ -697,6 +697,20 @@
     def usage():
         print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [-n|--not-really] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] [--output-directory=] [--output-format=sxp|simple|simple0] <image>" %(sys.argv[0],)
 
+    def copy_from_image(fs, file_to_copy, tmp_prefix):
+        (tfd, rv) = tempfile.mkstemp(prefix=tmp_prefix, dir="/var/lib/xen")
+        file_handle = fs.open_file(file_to_copy)
+        readsize = 0
+
+        while True:
+            data = file_handle.read(1048576,readsize)
+            if len(data) == 0:
+                os.close(tfd)
+                return rv
+
  +          readsize += len(data)
+            os.write(tfd,data)          
+
     try:
         opts, args = getopt.gnu_getopt(sys.argv[1:], 'qinh::',
                                    ["quiet", "interactive", "not-really", "help", 
@@ -824,21 +838,15 @@
     if not_really:
         bootcfg["kernel"] = "<kernel:%s>" % chosencfg["kernel"]
     else:
-        data = fs.open_file(chosencfg["kernel"]).read()
-        (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.",
-                                                    dir=output_directory)
-        os.write(tfd, data)
-        os.close(tfd)
+        bootcfg["kernel"] = copy_from_image(fs,chosencfg["kernel"],
+                                            "boot_kernel.")
 
     if chosencfg["ramdisk"]:
         if not_really:
             bootcfg["ramdisk"] = "<ramdisk:%s>" % chosencfg["ramdisk"]
         else:
-            data = fs.open_file(chosencfg["ramdisk"],).read()
-            (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp(
-                prefix="boot_ramdisk.", dir=output_directory)
-            os.write(tfd, data)
-            os.close(tfd)
+            bootcfg["ramdisk"] = copy_from_image(fs, chosencfg["ramdisk",
+                                                 "boot_ramdisk.")
     else:
         initrd = None
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:38:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:38:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjfP-0005Rq-It; Tue, 22 May 2012 07:38:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mrezanin@redhat.com>) id 1SWjfN-0005Rl-Al
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:38:01 +0000
Received: from [85.158.143.35:41628] by server-1.bemta-4.messagelabs.com id
	B3/F7-00342-8524BBF4; Tue, 22 May 2012 07:38:00 +0000
X-Env-Sender: mrezanin@redhat.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337672277!4898399!1
X-Originating-IP: [209.132.183.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjUgPT4gNzQ4MTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1986 invoked from network); 22 May 2012 07:37:58 -0000
Received: from mx4-phx2.redhat.com (HELO mx4-phx2.redhat.com) (209.132.183.25)
	by server-5.tower-21.messagelabs.com with SMTP;
	22 May 2012 07:37:58 -0000
Received: from zmail17.collab.prod.int.phx2.redhat.com
	(zmail17.collab.prod.int.phx2.redhat.com [10.5.83.19])
	by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q4M7buP7009863
	for <xen-devel@lists.xensource.com>; Tue, 22 May 2012 03:37:56 -0400
Date: Tue, 22 May 2012 03:37:56 -0400 (EDT)
From: Miroslav Rezanina <mrezanin@redhat.com>
To: "xen-devel " <xen-devel@lists.xensource.com>
Message-ID: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
In-Reply-To: <7634ec92-05b3-4a20-8320-719be248e008@zmail17.collab.prod.int.phx2.redhat.com>
MIME-Version: 1.0
X-Originating-IP: [10.34.26.132]
X-Mailer: Zimbra 7.1.2_GA_3268 (ZimbraWebClient - SAF3 (Linux)/7.1.2_GA_3268)
Subject: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If guest kernel or ramdisk image is too large to fit in the dom0 memory, it causes pygrub crash with "out of memory" error. 
This patch reads kernel/ramdisk file in 1 MB blocks so prevent exhausting whole memory.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>

Patch:
--
diff -r 238900a4ed22 tools/pygrub/src/pygrub
--- a/tools/pygrub/src/pygrub	Mon May 21 12:03:32 2012 +0200
+++ b/tools/pygrub/src/pygrub	Tue May 22 11:32:28 2012 +0200
@@ -697,6 +697,20 @@
     def usage():
         print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [-n|--not-really] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] [--output-directory=] [--output-format=sxp|simple|simple0] <image>" %(sys.argv[0],)
 
+    def copy_from_image(fs, file_to_copy, tmp_prefix):
+        (tfd, rv) = tempfile.mkstemp(prefix=tmp_prefix, dir="/var/lib/xen")
+        file_handle = fs.open_file(file_to_copy)
+        readsize = 0
+
+        while True:
+            data = file_handle.read(1048576,readsize)
+            if len(data) == 0:
+                os.close(tfd)
+                return rv
+
  +          readsize += len(data)
+            os.write(tfd,data)          
+
     try:
         opts, args = getopt.gnu_getopt(sys.argv[1:], 'qinh::',
                                    ["quiet", "interactive", "not-really", "help", 
@@ -824,21 +838,15 @@
     if not_really:
         bootcfg["kernel"] = "<kernel:%s>" % chosencfg["kernel"]
     else:
-        data = fs.open_file(chosencfg["kernel"]).read()
-        (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.",
-                                                    dir=output_directory)
-        os.write(tfd, data)
-        os.close(tfd)
+        bootcfg["kernel"] = copy_from_image(fs,chosencfg["kernel"],
+                                            "boot_kernel.")
 
     if chosencfg["ramdisk"]:
         if not_really:
             bootcfg["ramdisk"] = "<ramdisk:%s>" % chosencfg["ramdisk"]
         else:
-            data = fs.open_file(chosencfg["ramdisk"],).read()
-            (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp(
-                prefix="boot_ramdisk.", dir=output_directory)
-            os.write(tfd, data)
-            os.close(tfd)
+            bootcfg["ramdisk"] = copy_from_image(fs, chosencfg["ramdisk",
+                                                 "boot_ramdisk.")
     else:
         initrd = None
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:43:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjjz-0005Zw-F3; Tue, 22 May 2012 07:42:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWjjy-0005Zp-Lj
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:42:46 +0000
Received: from [85.158.138.51:44065] by server-6.bemta-3.messagelabs.com id
	B8/05-05145-5734BBF4; Tue, 22 May 2012 07:42:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337672564!28381671!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26579 invoked from network); 22 May 2012 07:42:45 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-4.tower-174.messagelabs.com with SMTP;
	22 May 2012 07:42:45 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78059318; Tue, 22 May 2012 09:42:44 +0200
Message-ID: <1337672556.20890.2.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 09:42:36 +0200
In-Reply-To: <4FBB2775.30306@ts.fujitsu.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
	<1337608431.24660.140.camel@zakaz.uk.xensource.com>
	<4FBB2775.30306@ts.fujitsu.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7552361188685105286=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7552361188685105286==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-vJa69x5uwbKj/cklZ7DN"


--=-vJa69x5uwbKj/cklZ7DN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 07:43 +0200, Juergen Gross wrote:=20
> Reading the scheduler parameters would require a new hypervisor interface
> (e.g. a new sub-command of XEN_DOMCTL_scheduler_op) which will have to be
> implemented by all schedulers supporting parameter changes.
>=20
> I think this would be the cleanest solution. If this is the way to go, I
> can prepare a patch.
>=20
For what it counts, this is what I'd like most.

> BTW: I just discovered the first patch was not complete, as the original
> coding to select the scheduler didn't take cpupools into account. It just
> selected the default scheduler instead of the cpupool specific one.
>=20
Yep, I noticed it too and mentioned on the list, but didn't have time
yet to cook a patch for that... I guess you're going to cover it while
reposting, aren't you? If not, let me know, I can put something
together. :-)

Thanks and Regards,
Dario
--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-vJa69x5uwbKj/cklZ7DN
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+7Q2wACgkQk4XaBE3IOsTb0QCfZgZVjjtCcCBewVg5lHF4iBOP
HQMAnRzR2R3JJvno3GggnaHBecKvPAvp
=WWj6
-----END PGP SIGNATURE-----

--=-vJa69x5uwbKj/cklZ7DN--



--===============7552361188685105286==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7552361188685105286==--



From xen-devel-bounces@lists.xen.org Tue May 22 07:43:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjjz-0005Zw-F3; Tue, 22 May 2012 07:42:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWjjy-0005Zp-Lj
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:42:46 +0000
Received: from [85.158.138.51:44065] by server-6.bemta-3.messagelabs.com id
	B8/05-05145-5734BBF4; Tue, 22 May 2012 07:42:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337672564!28381671!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26579 invoked from network); 22 May 2012 07:42:45 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-4.tower-174.messagelabs.com with SMTP;
	22 May 2012 07:42:45 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78059318; Tue, 22 May 2012 09:42:44 +0200
Message-ID: <1337672556.20890.2.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 09:42:36 +0200
In-Reply-To: <4FBB2775.30306@ts.fujitsu.com>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
	<1337608431.24660.140.camel@zakaz.uk.xensource.com>
	<4FBB2775.30306@ts.fujitsu.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7552361188685105286=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7552361188685105286==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-vJa69x5uwbKj/cklZ7DN"


--=-vJa69x5uwbKj/cklZ7DN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 07:43 +0200, Juergen Gross wrote:=20
> Reading the scheduler parameters would require a new hypervisor interface
> (e.g. a new sub-command of XEN_DOMCTL_scheduler_op) which will have to be
> implemented by all schedulers supporting parameter changes.
>=20
> I think this would be the cleanest solution. If this is the way to go, I
> can prepare a patch.
>=20
For what it counts, this is what I'd like most.

> BTW: I just discovered the first patch was not complete, as the original
> coding to select the scheduler didn't take cpupools into account. It just
> selected the default scheduler instead of the cpupool specific one.
>=20
Yep, I noticed it too and mentioned on the list, but didn't have time
yet to cook a patch for that... I guess you're going to cover it while
reposting, aren't you? If not, let me know, I can put something
together. :-)

Thanks and Regards,
Dario
--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-vJa69x5uwbKj/cklZ7DN
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+7Q2wACgkQk4XaBE3IOsTb0QCfZgZVjjtCcCBewVg5lHF4iBOP
HQMAnRzR2R3JJvno3GggnaHBecKvPAvp
=WWj6
-----END PGP SIGNATURE-----

--=-vJa69x5uwbKj/cklZ7DN--



--===============7552361188685105286==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7552361188685105286==--



From xen-devel-bounces@lists.xen.org Tue May 22 07:45:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:45:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjmZ-0005iJ-BS; Tue, 22 May 2012 07:45:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWjmX-0005iD-NJ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:45:25 +0000
Received: from [85.158.143.99:34235] by server-3.bemta-4.messagelabs.com id
	BF/F2-05853-5144BBF4; Tue, 22 May 2012 07:45:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337672722!29131174!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5474 invoked from network); 22 May 2012 07:45:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:45:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12595231"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 07:45:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 08:45:21 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWjmT-0005gT-JL;
	Tue, 22 May 2012 07:45:21 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWjmT-0004Co-Iq;
	Tue, 22 May 2012 08:45:21 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12952-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 08:45:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12952: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12952 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12952/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64  9 guest-localmigrate   fail pass in 12950
 test-amd64-amd64-xl-qemuu-win7-amd64 10 guest-saverestore.2 fail in 12950 pass in 12952

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12950 like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12950 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:45:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:45:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjmZ-0005iJ-BS; Tue, 22 May 2012 07:45:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWjmX-0005iD-NJ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:45:25 +0000
Received: from [85.158.143.99:34235] by server-3.bemta-4.messagelabs.com id
	BF/F2-05853-5144BBF4; Tue, 22 May 2012 07:45:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337672722!29131174!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5474 invoked from network); 22 May 2012 07:45:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:45:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12595231"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 07:45:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 08:45:21 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWjmT-0005gT-JL;
	Tue, 22 May 2012 07:45:21 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWjmT-0004Co-Iq;
	Tue, 22 May 2012 08:45:21 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12952-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 08:45:21 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12952: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12952 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12952/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64  9 guest-localmigrate   fail pass in 12950
 test-amd64-amd64-xl-qemuu-win7-amd64 10 guest-saverestore.2 fail in 12950 pass in 12952

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12950 like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12950 like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:48:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:48:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjow-0005pw-T2; Tue, 22 May 2012 07:47:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWjou-0005po-US
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:47:53 +0000
Received: from [85.158.143.99:52137] by server-1.bemta-4.messagelabs.com id
	60/8C-00342-8A44BBF4; Tue, 22 May 2012 07:47:52 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337672871!19524191!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjYwNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16466 invoked from network); 22 May 2012 07:47:51 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:47:51 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=CD7Hu/lJ1ycpdIe+GFB9tzfRg0DGCQO+ODyYFEUxxgDpFjKaCazPcez3
	+4En2C6WzzerzhaI4DSZ/oJgUs1eKzNtn1vIN6u858Q+W72kmXktJIWm5
	S9BUdIBO2Pqc+2qY1jATICjRbq9UkePW+GX3xeUd726Jyv9Di4mhmQgP6
	e0kvw+QwucxACvdeKVQhRimlq1VoFBB2Dok0tqTRfQvjXmHGSEj9I4P2s
	I8HPXesMHHpPvJIWczwA5ZvDhjfS+;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337672871; x=1369208871;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=2zrmF/QvbiDJe8J35oA+r8o02rhgOVeCaPDfS6AJTOo=;
	b=ogSvaj8kqJ6GB3Ob+QAp191ToO0CaUW695P02f4FeWHSxQOntmQVA929
	V0fsGgENuMBkNGWyJ2WJwmeHghKIpGQRn/DHiJNsrdtuVmyENz5j4Qzf0
	lJfy2+HOzpoiHmHe2T54tUwmBI66sqBEiVTdMyl19HACa+KFw+fZ9JeZ6
	2NajBvqq5eij+oxomCDdOVBs+tqMKw6TiCgz2+byDyN3gOqaWheEGuctx
	ROCkXotKh/sc/u18P+oZfLhzUS4Q6;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111057252"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 09:47:46 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134731041"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 09:47:46 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 677B4959A63;
	Tue, 22 May 2012 09:47:46 +0200 (CEST)
Message-ID: <4FBB44A2.4040401@ts.fujitsu.com>
Date: Tue, 22 May 2012 09:47:46 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
	<1337608431.24660.140.camel@zakaz.uk.xensource.com>
	<4FBB2775.30306@ts.fujitsu.com> <1337672556.20890.2.camel@Abyss>
In-Reply-To: <1337672556.20890.2.camel@Abyss>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 09:42 AM, Dario Faggioli wrote:
> On Tue, 2012-05-22 at 07:43 +0200, Juergen Gross wrote:
>> Reading the scheduler parameters would require a new hypervisor interface
>> (e.g. a new sub-command of XEN_DOMCTL_scheduler_op) which will have to be
>> implemented by all schedulers supporting parameter changes.
>>
>> I think this would be the cleanest solution. If this is the way to go, I
>> can prepare a patch.
>>
> For what it counts, this is what I'd like most.

Okay, already two of us :-)
Stay tuned, patch(es) in progress...

>> BTW: I just discovered the first patch was not complete, as the original
>> coding to select the scheduler didn't take cpupools into account. It just
>> selected the default scheduler instead of the cpupool specific one.
>>
> Yep, I noticed it too and mentioned on the list, but didn't have time
> yet to cook a patch for that... I guess you're going to cover it while
> reposting, aren't you? If not, let me know, I can put something
> together. :-)

Finished already :-)


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 07:48:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 07:48:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWjow-0005pw-T2; Tue, 22 May 2012 07:47:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWjou-0005po-US
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 07:47:53 +0000
Received: from [85.158.143.99:52137] by server-1.bemta-4.messagelabs.com id
	60/8C-00342-8A44BBF4; Tue, 22 May 2012 07:47:52 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337672871!19524191!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjYwNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16466 invoked from network); 22 May 2012 07:47:51 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:47:51 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=CD7Hu/lJ1ycpdIe+GFB9tzfRg0DGCQO+ODyYFEUxxgDpFjKaCazPcez3
	+4En2C6WzzerzhaI4DSZ/oJgUs1eKzNtn1vIN6u858Q+W72kmXktJIWm5
	S9BUdIBO2Pqc+2qY1jATICjRbq9UkePW+GX3xeUd726Jyv9Di4mhmQgP6
	e0kvw+QwucxACvdeKVQhRimlq1VoFBB2Dok0tqTRfQvjXmHGSEj9I4P2s
	I8HPXesMHHpPvJIWczwA5ZvDhjfS+;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337672871; x=1369208871;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=2zrmF/QvbiDJe8J35oA+r8o02rhgOVeCaPDfS6AJTOo=;
	b=ogSvaj8kqJ6GB3Ob+QAp191ToO0CaUW695P02f4FeWHSxQOntmQVA929
	V0fsGgENuMBkNGWyJ2WJwmeHghKIpGQRn/DHiJNsrdtuVmyENz5j4Qzf0
	lJfy2+HOzpoiHmHe2T54tUwmBI66sqBEiVTdMyl19HACa+KFw+fZ9JeZ6
	2NajBvqq5eij+oxomCDdOVBs+tqMKw6TiCgz2+byDyN3gOqaWheEGuctx
	ROCkXotKh/sc/u18P+oZfLhzUS4Q6;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111057252"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 09:47:46 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134731041"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 09:47:46 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 677B4959A63;
	Tue, 22 May 2012 09:47:46 +0200 (CEST)
Message-ID: <4FBB44A2.4040401@ts.fujitsu.com>
Date: Tue, 22 May 2012 09:47:46 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <10457bda81c6aea95bbf.1337600810@nehalem1>
	<1337602071.24660.99.camel@zakaz.uk.xensource.com>
	<4FBA41C1.30908@ts.fujitsu.com>
	<1337607296.24660.135.camel@zakaz.uk.xensource.com>
	<CAFLBxZa8h2UeAofqEhqP9Ezz4LXKAj+wKGpqexYWJ0Zx0BBnvA@mail.gmail.com>
	<1337608431.24660.140.camel@zakaz.uk.xensource.com>
	<4FBB2775.30306@ts.fujitsu.com> <1337672556.20890.2.camel@Abyss>
In-Reply-To: <1337672556.20890.2.camel@Abyss>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] full support of setting scheduler
 parameters on domain creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 09:42 AM, Dario Faggioli wrote:
> On Tue, 2012-05-22 at 07:43 +0200, Juergen Gross wrote:
>> Reading the scheduler parameters would require a new hypervisor interface
>> (e.g. a new sub-command of XEN_DOMCTL_scheduler_op) which will have to be
>> implemented by all schedulers supporting parameter changes.
>>
>> I think this would be the cleanest solution. If this is the way to go, I
>> can prepare a patch.
>>
> For what it counts, this is what I'd like most.

Okay, already two of us :-)
Stay tuned, patch(es) in progress...

>> BTW: I just discovered the first patch was not complete, as the original
>> coding to select the scheduler didn't take cpupools into account. It just
>> selected the default scheduler instead of the cpupool specific one.
>>
> Yep, I noticed it too and mentioned on the list, but didn't have time
> yet to cook a patch for that... I guess you're going to cover it while
> reposting, aren't you? If not, let me know, I can put something
> together. :-)

Finished already :-)


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:05:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWk5u-0006Zf-Pf; Tue, 22 May 2012 08:05:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWk5s-0006Za-HR
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:05:24 +0000
Received: from [85.158.138.51:37574] by server-1.bemta-3.messagelabs.com id
	F4/A0-11491-3C84BBF4; Tue, 22 May 2012 08:05:23 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337673922!28383546!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28006 invoked from network); 22 May 2012 08:05:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 08:05:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 09:05:22 +0100
Message-Id: <4FBB6502020000780008505C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 09:05:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Keir Fraser" <keir.xen@gmail.com>
References: <4FBA4A48.4010004@citrix.com> <CBE01870.339E9%keir.xen@gmail.com>
In-Reply-To: <CBE01870.339E9%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 21.05.12 at 17:06, Keir Fraser <keir.xen@gmail.com> wrote:
> On 21/05/2012 14:59, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:
> 
>> On 21/05/12 14:50, Jan Beulich wrote:
>>> Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
>>> irq context when a bug condition is encountered. If this is the case,
>>> ignore the call to xsm_show_irq_ssid() and the subsequent call to
>>> xfree().
>>> 
>>> This prevents an assertion failure in xfree(), and should allow all the
>>> debug information to be dumped, before failing with a BUG() because of
>>> the underlying race condition we are attempting to reproduce.
>>> 
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> 
>>> Rather than using the non-obvious conditional around an xfree() that
>>> would be passed NULL only in the inverse case (which could easily get
>>> removed by a future change on the basis that calling xfree(NULL) is
>>> benign), switch the order of checks in xfree() itself and only suppress
>>> the call to XSM that could potentially call xmalloc().
>>> 
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> 
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> I'm a bit dubious about having a function that can be called in irq context
> for some input values but not others. I suppose this trivial case for
> xfree() is obvious enough, so I'm okay with it. If it was anything more
> subtle, I would probably nack.

I did ask that in the original thread, but you never responded
either way. Is your above reply an ack then, or should I commit
Andy's original patch instead?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:05:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWk5u-0006Zf-Pf; Tue, 22 May 2012 08:05:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWk5s-0006Za-HR
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:05:24 +0000
Received: from [85.158.138.51:37574] by server-1.bemta-3.messagelabs.com id
	F4/A0-11491-3C84BBF4; Tue, 22 May 2012 08:05:23 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337673922!28383546!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1OTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28006 invoked from network); 22 May 2012 08:05:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 08:05:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 09:05:22 +0100
Message-Id: <4FBB6502020000780008505C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 09:05:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Keir Fraser" <keir.xen@gmail.com>
References: <4FBA4A48.4010004@citrix.com> <CBE01870.339E9%keir.xen@gmail.com>
In-Reply-To: <CBE01870.339E9%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 21.05.12 at 17:06, Keir Fraser <keir.xen@gmail.com> wrote:
> On 21/05/2012 14:59, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:
> 
>> On 21/05/12 14:50, Jan Beulich wrote:
>>> Because of c/s 24707:96987c324a4f, dump_irqs() can now be called in an
>>> irq context when a bug condition is encountered. If this is the case,
>>> ignore the call to xsm_show_irq_ssid() and the subsequent call to
>>> xfree().
>>> 
>>> This prevents an assertion failure in xfree(), and should allow all the
>>> debug information to be dumped, before failing with a BUG() because of
>>> the underlying race condition we are attempting to reproduce.
>>> 
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> 
>>> Rather than using the non-obvious conditional around an xfree() that
>>> would be passed NULL only in the inverse case (which could easily get
>>> removed by a future change on the basis that calling xfree(NULL) is
>>> benign), switch the order of checks in xfree() itself and only suppress
>>> the call to XSM that could potentially call xmalloc().
>>> 
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> 
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> I'm a bit dubious about having a function that can be called in irq context
> for some input values but not others. I suppose this trivial case for
> xfree() is obvious enough, so I'm okay with it. If it was anything more
> subtle, I would probably nack.

I did ask that in the original thread, but you never responded
either way. Is your above reply an ack then, or should I commit
Andy's original patch instead?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:16:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:16:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkFl-0006it-So; Tue, 22 May 2012 08:15:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkFk-0006io-Lp
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 08:15:36 +0000
Received: from [85.158.143.99:17326] by server-1.bemta-4.messagelabs.com id
	5F/A6-00342-72B4BBF4; Tue, 22 May 2012 08:15:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337674533!22133087!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25048 invoked from network); 22 May 2012 08:15:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:15:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12595975"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:15:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:15:13 +0100
Message-ID: <1337674508.10118.0.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Tue, 22 May 2012 09:15:08 +0100
In-Reply-To: <20120521141324.GJ8119@phenom.dumpdata.com>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
	<1336987293.31817.41.camel@zakaz.uk.xensource.com>
	<20120521141324.GJ8119@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 15:13 +0100, Konrad Rzeszutek Wilk wrote:
> On Mon, May 14, 2012 at 10:21:33AM +0100, Ian Campbell wrote:
> > > +
> > > +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> > > +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> > > +{
> > > +    libxl_ctx *ctx = libxl__gc_owner(gc);
> > > +    FILE *f;
> > > +    int rc = 0;
> > > +    unsigned dom, bus, dev, func;
> > > +
> > > +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> > > +
> > > +    if (f == NULL) {
> > > +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> > > +                         SYSFS_PCIBACK_DRIVER"/slots");
> > > +        return ERROR_FAIL;
> > > +    }
> > > +
> > > +    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {
> 
> And the last one should be %d.

This patch went in already, can someone send an incremental fix
please?

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:16:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:16:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkFl-0006it-So; Tue, 22 May 2012 08:15:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkFk-0006io-Lp
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 08:15:36 +0000
Received: from [85.158.143.99:17326] by server-1.bemta-4.messagelabs.com id
	5F/A6-00342-72B4BBF4; Tue, 22 May 2012 08:15:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337674533!22133087!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25048 invoked from network); 22 May 2012 08:15:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:15:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12595975"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:15:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:15:13 +0100
Message-ID: <1337674508.10118.0.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Tue, 22 May 2012 09:15:08 +0100
In-Reply-To: <20120521141324.GJ8119@phenom.dumpdata.com>
References: <patchbomb.1336743089@kodo2>
	<5e21532dab5b1c31e54e.1336743092@kodo2>
	<1336987293.31817.41.camel@zakaz.uk.xensource.com>
	<20120521141324.GJ8119@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 4 v2] libxl: Introduce
 pci_assignable_add and pci_assignable_remove
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 15:13 +0100, Konrad Rzeszutek Wilk wrote:
> On Mon, May 14, 2012 at 10:21:33AM +0100, Ian Campbell wrote:
> > > +
> > > +/* Scan through /sys/.../pciback/slots looking for pcidev's BDF */
> > > +static int pciback_dev_has_slot(libxl__gc *gc, libxl_device_pci *pcidev)
> > > +{
> > > +    libxl_ctx *ctx = libxl__gc_owner(gc);
> > > +    FILE *f;
> > > +    int rc = 0;
> > > +    unsigned dom, bus, dev, func;
> > > +
> > > +    f = fopen(SYSFS_PCIBACK_DRIVER"/slots", "r");
> > > +
> > > +    if (f == NULL) {
> > > +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't open %s",
> > > +                         SYSFS_PCIBACK_DRIVER"/slots");
> > > +        return ERROR_FAIL;
> > > +    }
> > > +
> > > +    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==3) {
> 
> And the last one should be %d.

This patch went in already, can someone send an incremental fix
please?

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:24:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:24:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkOQ-00075N-HZ; Tue, 22 May 2012 08:24:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkOP-00075F-Mx
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:24:33 +0000
Received: from [193.109.254.147:38746] by server-6.bemta-14.messagelabs.com id
	C4/39-04960-04D4BBF4; Tue, 22 May 2012 08:24:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337675071!10169465!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32545 invoked from network); 22 May 2012 08:24:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:24:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12596232"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:24:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:24:31 +0100
Message-ID: <1337675069.10118.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 09:24:29 +0100
In-Reply-To: <20406.37918.733921.594303@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> Each time xl forks, it needs to record the pid, so that its exit
> status can be preserved if it happens that libxl's event loop reaped
> it.  Consequently we also have a new wrapper for waitpid, which in
> that case returns the previously-reaped status.
> 
> When we get a console ready callback from libxl, check to see if we
> have spawned but not reaped a previous console client, and if so reap
> it now.  (This is necessary to prevent improper use of the xlchild
> struct, but has the happy consequence of checking the exit status of
> the first console client in the pygrub case.)
> 
> Refactor the two calls to libxl_ctx_alloc into a new function
> xl_ctx_alloc which also sets the child reaped handler callback.
> 
> All of this has the effect of suppressing a message
>    unknown child [nnnn] unexpected exited status zero
> which would sometimes (depending on a race) appear with `xl create -c'
> and pygrub.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> Reported-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Roger Pau Monne <roger.pau@citrix.com>
> 
> Changes since v1:
>  * Replace macro-based iteration over children with enum-based version.

I find this a lot easier to follow, thanks!

> +pid_t xl_waitpid(xlchildnum child, int *status, int flags)
> +{
> +    xlchild *ch = &children[child];
> +    pid_t got = ch->pid;
> +    assert(got);
> +    if (ch->reaped) {
> +        *status = ch->status;
> +        ch->pid = 0;
> +        return got;
> +    }
> +    for (;;) {
> +        got = waitpid(ch->pid, status, flags);

Is it always the case that xl has at most one child?

Because if not then we may reap the wrong one here.

I believe we do never have more than one child, the corner case would be
if we have a console child and a daemon child simultaneously, but I
don't think that can happen (likewise migration child and either of the
others).

> @@ -108,8 +110,32 @@ struct cmd_spec *cmdtable_lookup(const char *s);
>  
>  extern libxl_ctx *ctx;
>  extern xentoollog_logger_stdiostream *logger;
> -pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
> -void postfork(void);
> +
> +void xl_ctx_alloc(void);
> +
> +/* child processes */
> +
> +typedef struct {
> +    /* every struct like this must be in XLCHILD_LIST */

This comment is obsolete now.

[...]



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:24:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:24:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkOQ-00075N-HZ; Tue, 22 May 2012 08:24:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkOP-00075F-Mx
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:24:33 +0000
Received: from [193.109.254.147:38746] by server-6.bemta-14.messagelabs.com id
	C4/39-04960-04D4BBF4; Tue, 22 May 2012 08:24:32 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337675071!10169465!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32545 invoked from network); 22 May 2012 08:24:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:24:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12596232"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:24:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:24:31 +0100
Message-ID: <1337675069.10118.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 09:24:29 +0100
In-Reply-To: <20406.37918.733921.594303@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> Each time xl forks, it needs to record the pid, so that its exit
> status can be preserved if it happens that libxl's event loop reaped
> it.  Consequently we also have a new wrapper for waitpid, which in
> that case returns the previously-reaped status.
> 
> When we get a console ready callback from libxl, check to see if we
> have spawned but not reaped a previous console client, and if so reap
> it now.  (This is necessary to prevent improper use of the xlchild
> struct, but has the happy consequence of checking the exit status of
> the first console client in the pygrub case.)
> 
> Refactor the two calls to libxl_ctx_alloc into a new function
> xl_ctx_alloc which also sets the child reaped handler callback.
> 
> All of this has the effect of suppressing a message
>    unknown child [nnnn] unexpected exited status zero
> which would sometimes (depending on a race) appear with `xl create -c'
> and pygrub.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> Reported-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Roger Pau Monne <roger.pau@citrix.com>
> 
> Changes since v1:
>  * Replace macro-based iteration over children with enum-based version.

I find this a lot easier to follow, thanks!

> +pid_t xl_waitpid(xlchildnum child, int *status, int flags)
> +{
> +    xlchild *ch = &children[child];
> +    pid_t got = ch->pid;
> +    assert(got);
> +    if (ch->reaped) {
> +        *status = ch->status;
> +        ch->pid = 0;
> +        return got;
> +    }
> +    for (;;) {
> +        got = waitpid(ch->pid, status, flags);

Is it always the case that xl has at most one child?

Because if not then we may reap the wrong one here.

I believe we do never have more than one child, the corner case would be
if we have a console child and a daemon child simultaneously, but I
don't think that can happen (likewise migration child and either of the
others).

> @@ -108,8 +110,32 @@ struct cmd_spec *cmdtable_lookup(const char *s);
>  
>  extern libxl_ctx *ctx;
>  extern xentoollog_logger_stdiostream *logger;
> -pid_t xl_fork(libxl_ctx *ctx); /* like fork, but prints and dies if it fails */
> -void postfork(void);
> +
> +void xl_ctx_alloc(void);
> +
> +/* child processes */
> +
> +typedef struct {
> +    /* every struct like this must be in XLCHILD_LIST */

This comment is obsolete now.

[...]



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:32:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:32:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkVy-0007Ii-Ls; Tue, 22 May 2012 08:32:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkVx-0007Ic-HP
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:32:21 +0000
Received: from [85.158.143.99:62463] by server-1.bemta-4.messagelabs.com id
	B7/CD-00342-41F4BBF4; Tue, 22 May 2012 08:32:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337675540!28610893!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32368 invoked from network); 22 May 2012 08:32:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:32:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12596440"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:32:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:32:20 +0100
Message-ID: <1337675538.10118.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Date: Tue, 22 May 2012 09:32:18 +0100
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > -----Original Message-----
> > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > Sent: Monday, May 21, 2012 10:22 PM
> > To: Wu, GabrielX
> > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> > Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> > 
> > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > Hi all,
> > >
> > > This is the test report of xen-unstable tree.
> > > There are two issues found and one issue got fixed.
> > >
> > > Version Info:
> > >
> > ============================================================
> > =====
> > > xen-changeset:   25334:f8279258e3c9
> > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > >
> > ============================================================
> > =====
> > >
> > > New issues(2)
> > > ==============
> > > 1. long stop during the guest boot process with qcow image
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > 2. vcpu-set doesn't take effect on guest
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > 
> > Does it work if you (in the guest) do
> > echo 1 > /sys/../cpu9/online ?
> > 
> The problem is there's no hot-add vCPU in /sys/devices/system/cpu directory.
> e.g. I start a guest with 2 vCPU,

Do you mean with maxvcpu=4 vcpus=2 in your config?

>  then I run command 'xl vcpu-set $domID 4'. 

>     There are only 2 CPUs(cpu0 and cpu1) listed in /sys/devices/system/cpu directory.

The bugzilla says "But it'll effect to dom0.", does this mean that
	xl vcpu-set domU 4
will actually set dom0 to 12 vcpus? Or does it just mean that
	xl vcpu-set 0 4
works where
	xl vcpu-set domU 4
does not?

There's quite a bit of potentially useful info missing from the bug
report, like guest config details, xenstore content etc,
http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen has a list of
various log files which are often useful to help solve bugs, please do
consider including those which seem relevant on future bug reports.

Ian.

> 
> > There is a race in the generic hotplug code.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:32:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:32:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkVy-0007Ii-Ls; Tue, 22 May 2012 08:32:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkVx-0007Ic-HP
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:32:21 +0000
Received: from [85.158.143.99:62463] by server-1.bemta-4.messagelabs.com id
	B7/CD-00342-41F4BBF4; Tue, 22 May 2012 08:32:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337675540!28610893!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTYxOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32368 invoked from network); 22 May 2012 08:32:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:32:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12596440"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:32:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:32:20 +0100
Message-ID: <1337675538.10118.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Date: Tue, 22 May 2012 09:32:18 +0100
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > -----Original Message-----
> > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > Sent: Monday, May 21, 2012 10:22 PM
> > To: Wu, GabrielX
> > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> > Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> > 
> > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > Hi all,
> > >
> > > This is the test report of xen-unstable tree.
> > > There are two issues found and one issue got fixed.
> > >
> > > Version Info:
> > >
> > ============================================================
> > =====
> > > xen-changeset:   25334:f8279258e3c9
> > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > >
> > ============================================================
> > =====
> > >
> > > New issues(2)
> > > ==============
> > > 1. long stop during the guest boot process with qcow image
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > 2. vcpu-set doesn't take effect on guest
> > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > 
> > Does it work if you (in the guest) do
> > echo 1 > /sys/../cpu9/online ?
> > 
> The problem is there's no hot-add vCPU in /sys/devices/system/cpu directory.
> e.g. I start a guest with 2 vCPU,

Do you mean with maxvcpu=4 vcpus=2 in your config?

>  then I run command 'xl vcpu-set $domID 4'. 

>     There are only 2 CPUs(cpu0 and cpu1) listed in /sys/devices/system/cpu directory.

The bugzilla says "But it'll effect to dom0.", does this mean that
	xl vcpu-set domU 4
will actually set dom0 to 12 vcpus? Or does it just mean that
	xl vcpu-set 0 4
works where
	xl vcpu-set domU 4
does not?

There's quite a bit of potentially useful info missing from the bug
report, like guest config details, xenstore content etc,
http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen has a list of
various log files which are often useful to help solve bugs, please do
consider including those which seem relevant on future bug reports.

Ian.

> 
> > There is a race in the generic hotplug code.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:41:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:41:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkeN-0007Xw-Ep; Tue, 22 May 2012 08:41:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SWkeL-0007Xr-H8
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 08:41:01 +0000
Received: from [85.158.139.83:22363] by server-7.bemta-5.messagelabs.com id
	EF/83-12065-C115BBF4; Tue, 22 May 2012 08:41:00 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337676059!25721908!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18370 invoked from network); 22 May 2012 08:41:00 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-182.messagelabs.com with SMTP;
	22 May 2012 08:41:00 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 22 May 2012 01:40:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="102778204"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 22 May 2012 01:40:53 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 01:40:51 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 16:40:17 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] xen: add bridge check
Thread-Index: Ac039oMXbeq/Do9VR960RvM7oFGB+A==
Date: Tue, 22 May 2012 08:40:16 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E142227@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen: add bridge check
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Some SR-IOV devices may use more than one bus number, but there is no real bridges
because that have internal routing mechanism. So need to check whether the bridge is
existing before using it.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
---
 drivers/xen/pci.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
index b84bf0b..18fff88 100644
--- a/drivers/xen/pci.c
+++ b/drivers/xen/pci.c
@@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev)

 #ifdef CONFIG_ACPI
        handle = DEVICE_ACPI_HANDLE(&pci_dev->dev);
-       if (!handle)
+       if (!handle && pci_dev->bus->bridge)
            handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge);
 #ifdef CONFIG_PCI_IOV
        if (!handle && pci_dev->is_virtfn)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:41:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:41:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkeN-0007Xw-Ep; Tue, 22 May 2012 08:41:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SWkeL-0007Xr-H8
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 08:41:01 +0000
Received: from [85.158.139.83:22363] by server-7.bemta-5.messagelabs.com id
	EF/83-12065-C115BBF4; Tue, 22 May 2012 08:41:00 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337676059!25721908!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjM5Nzc5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18370 invoked from network); 22 May 2012 08:41:00 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-182.messagelabs.com with SMTP;
	22 May 2012 08:41:00 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 22 May 2012 01:40:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="102778204"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 22 May 2012 01:40:53 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 01:40:51 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 16:40:17 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] xen: add bridge check
Thread-Index: Ac039oMXbeq/Do9VR960RvM7oFGB+A==
Date: Tue, 22 May 2012 08:40:16 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E142227@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen: add bridge check
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Some SR-IOV devices may use more than one bus number, but there is no real bridges
because that have internal routing mechanism. So need to check whether the bridge is
existing before using it.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
---
 drivers/xen/pci.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
index b84bf0b..18fff88 100644
--- a/drivers/xen/pci.c
+++ b/drivers/xen/pci.c
@@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev)

 #ifdef CONFIG_ACPI
        handle = DEVICE_ACPI_HANDLE(&pci_dev->dev);
-       if (!handle)
+       if (!handle && pci_dev->bus->bridge)
            handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge);
 #ifdef CONFIG_PCI_IOV
        if (!handle && pci_dev->is_virtfn)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkgz-0007o8-6r; Tue, 22 May 2012 08:43:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <devildavidwang@gmail.com>) id 1SWkgx-0007nw-TT
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:43:44 +0000
Received: from [193.109.254.147:21072] by server-4.bemta-14.messagelabs.com id
	EF/A6-11570-EB15BBF4; Tue, 22 May 2012 08:43:42 +0000
X-Env-Sender: devildavidwang@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337676221!3695007!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6377 invoked from network); 22 May 2012 08:43:41 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:43:41 -0000
Received: by eekd41 with SMTP id d41so1718510eek.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 01:43:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=QRGDuCoW29c8PuOYZVbFn0dAERqG2aZUeYGdSIh5qlU=;
	b=eRm70o2dHvSHOHTAhEQJOP0/YyzuuuNzZZ6nbMNiTq8PKF7AWqHyWju3sVp4u6cKCG
	RwFlxydnH6rjoyvZ7iE87oeADggXJJXlCXCTLbGbaPW4CluQhJJ6J1juVsEKRwwXr5QK
	c3mxYW+TLxmLjOoGXNS8rJAAH7H39/Xzh8zEHl1KGwqMBMw1rGsF8KKwwq///9P4C3mn
	IukBmeqdN2Fup/YZLSeGJo5qtj4zhhxt4rd94CJWUxaaM9Lo7w3iacKOJZXOz6Xa6zU8
	B7hcvEJZzTyQpGhtPzKtT62Ngu4clXxSOe7PSy326r7pCyTxWB0OOH46efRsUsFTizW0
	/9hw==
MIME-Version: 1.0
Received: by 10.14.99.11 with SMTP id w11mr4066731eef.67.1337676220862; Tue,
	22 May 2012 01:43:40 -0700 (PDT)
Received: by 10.14.176.65 with HTTP; Tue, 22 May 2012 01:43:40 -0700 (PDT)
Date: Tue, 22 May 2012 16:43:40 +0800
Message-ID: <CAKMyoBUW4YsMwb-+3utPGOh_-3JjDJq_q_BUHgrANLenP+80Eg@mail.gmail.com>
From: =?UTF-8?B?546L5Yev5by6?= <devildavidwang@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel]  Need your help with blktap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7485197832805613573=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7485197832805613573==
Content-Type: multipart/alternative; boundary=bcaec52be46bf8122a04c09c03de

--bcaec52be46bf8122a04c09c03de
Content-Type: text/plain; charset=ISO-8859-1

Hello,

I have a small problem with the blktap, that when I use "tap:aio" protocol
to access my disk, the domU stop booting with following message:

[    0.185031] PCI: Fatal: No config space access function found
[    0.189998] Unable to read sysrq code in control/sysrq
[    0.350220] i8042: No controller found
[    0.452153]
/home/abuild/rpmbuild/BUILD/kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c:
unable to open rtc device (rtc0)


but when i switched to then "file" protocol the domU boot process would
succeed. Anyone knows how to solve this problem?


=============================================
Additional info:

I'm using openSUSE 12.1 x86_64
and i'v built the xen from source by myself,
the kernel i'm using is "kernel-xen"(3.1.10-1.9-xen) from official
repositories.

--bcaec52be46bf8122a04c09c03de
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello,<br><br>I have a small problem with the blktap, that when I use &quot=
;tap:aio&quot; protocol to access my disk, the domU stop booting with follo=
wing message:<br><br>[=A0=A0=A0 0.185031] PCI: Fatal: No config space acces=
s function found<br>
[=A0=A0=A0 0.189998] Unable to read sysrq code in control/sysrq<br>[=A0=A0=
=A0 0.350220] i8042: No controller found<br>[=A0=A0=A0 0.452153] /home/abui=
ld/rpmbuild/BUILD/kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c: unable =
to open rtc device (rtc0)<br>
<br><br>but when i switched to then &quot;file&quot; protocol the domU boot=
 process would succeed. Anyone knows how to solve this problem?<br><br><br>=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>Additional =
info:<br><br>
I&#39;m using openSUSE 12.1 x86_64<br>and i&#39;v built the xen from source=
 by myself,<br>the kernel i&#39;m using is &quot;kernel-xen&quot;(3.1.10-1.=
9-xen) from official repositories.<br>

--bcaec52be46bf8122a04c09c03de--


--===============7485197832805613573==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7485197832805613573==--


From xen-devel-bounces@lists.xen.org Tue May 22 08:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkgz-0007o8-6r; Tue, 22 May 2012 08:43:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <devildavidwang@gmail.com>) id 1SWkgx-0007nw-TT
	for xen-devel@lists.xen.org; Tue, 22 May 2012 08:43:44 +0000
Received: from [193.109.254.147:21072] by server-4.bemta-14.messagelabs.com id
	EF/A6-11570-EB15BBF4; Tue, 22 May 2012 08:43:42 +0000
X-Env-Sender: devildavidwang@gmail.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337676221!3695007!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6377 invoked from network); 22 May 2012 08:43:41 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:43:41 -0000
Received: by eekd41 with SMTP id d41so1718510eek.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 01:43:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=QRGDuCoW29c8PuOYZVbFn0dAERqG2aZUeYGdSIh5qlU=;
	b=eRm70o2dHvSHOHTAhEQJOP0/YyzuuuNzZZ6nbMNiTq8PKF7AWqHyWju3sVp4u6cKCG
	RwFlxydnH6rjoyvZ7iE87oeADggXJJXlCXCTLbGbaPW4CluQhJJ6J1juVsEKRwwXr5QK
	c3mxYW+TLxmLjOoGXNS8rJAAH7H39/Xzh8zEHl1KGwqMBMw1rGsF8KKwwq///9P4C3mn
	IukBmeqdN2Fup/YZLSeGJo5qtj4zhhxt4rd94CJWUxaaM9Lo7w3iacKOJZXOz6Xa6zU8
	B7hcvEJZzTyQpGhtPzKtT62Ngu4clXxSOe7PSy326r7pCyTxWB0OOH46efRsUsFTizW0
	/9hw==
MIME-Version: 1.0
Received: by 10.14.99.11 with SMTP id w11mr4066731eef.67.1337676220862; Tue,
	22 May 2012 01:43:40 -0700 (PDT)
Received: by 10.14.176.65 with HTTP; Tue, 22 May 2012 01:43:40 -0700 (PDT)
Date: Tue, 22 May 2012 16:43:40 +0800
Message-ID: <CAKMyoBUW4YsMwb-+3utPGOh_-3JjDJq_q_BUHgrANLenP+80Eg@mail.gmail.com>
From: =?UTF-8?B?546L5Yev5by6?= <devildavidwang@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel]  Need your help with blktap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7485197832805613573=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7485197832805613573==
Content-Type: multipart/alternative; boundary=bcaec52be46bf8122a04c09c03de

--bcaec52be46bf8122a04c09c03de
Content-Type: text/plain; charset=ISO-8859-1

Hello,

I have a small problem with the blktap, that when I use "tap:aio" protocol
to access my disk, the domU stop booting with following message:

[    0.185031] PCI: Fatal: No config space access function found
[    0.189998] Unable to read sysrq code in control/sysrq
[    0.350220] i8042: No controller found
[    0.452153]
/home/abuild/rpmbuild/BUILD/kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c:
unable to open rtc device (rtc0)


but when i switched to then "file" protocol the domU boot process would
succeed. Anyone knows how to solve this problem?


=============================================
Additional info:

I'm using openSUSE 12.1 x86_64
and i'v built the xen from source by myself,
the kernel i'm using is "kernel-xen"(3.1.10-1.9-xen) from official
repositories.

--bcaec52be46bf8122a04c09c03de
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello,<br><br>I have a small problem with the blktap, that when I use &quot=
;tap:aio&quot; protocol to access my disk, the domU stop booting with follo=
wing message:<br><br>[=A0=A0=A0 0.185031] PCI: Fatal: No config space acces=
s function found<br>
[=A0=A0=A0 0.189998] Unable to read sysrq code in control/sysrq<br>[=A0=A0=
=A0 0.350220] i8042: No controller found<br>[=A0=A0=A0 0.452153] /home/abui=
ld/rpmbuild/BUILD/kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c: unable =
to open rtc device (rtc0)<br>
<br><br>but when i switched to then &quot;file&quot; protocol the domU boot=
 process would succeed. Anyone knows how to solve this problem?<br><br><br>=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>Additional =
info:<br><br>
I&#39;m using openSUSE 12.1 x86_64<br>and i&#39;v built the xen from source=
 by myself,<br>the kernel i&#39;m using is &quot;kernel-xen&quot;(3.1.10-1.=
9-xen) from official repositories.<br>

--bcaec52be46bf8122a04c09c03de--


--===============7485197832805613573==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7485197832805613573==--


From xen-devel-bounces@lists.xen.org Tue May 22 08:53:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:53:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkqN-0008Mh-Tb; Tue, 22 May 2012 08:53:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkqM-0008MT-HZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 08:53:26 +0000
Received: from [85.158.139.83:63913] by server-2.bemta-5.messagelabs.com id
	59/71-17716-5045BBF4; Tue, 22 May 2012 08:53:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337676804!26966823!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28967 invoked from network); 22 May 2012 08:53:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:53:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12597151"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:53:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:53:23 +0100
Message-ID: <1337676802.10118.27.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Rok Strnisa <rok.strnisa@citrix.com>
Date: Tue, 22 May 2012 09:53:22 +0100
In-Reply-To: <d7464edc5453c47e2ff8.1337618956@Nexus>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	xen-api@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(adding xen-api@ to catch the attention of the major user of this)

On Mon, 2012-05-21 at 17:49 +0100, Rok Strnisa wrote:
> This is done mainly because OCaml record type fields share the same namespace.
> Due to this, several fields of the modified types were hidden, and therefore
> inaccessible. Encapsulating the types within their own modules (in a standard
> way), puts the field names within sub-namespaces, and so makes all fields
> accessible.
> 
> Note that this is not a backward-compatible change. For example, code in xcp's
> xen-api component needs to be modified accordingly.

Is someone (you?) also taking care of that side of things? Do we need to
co-ordinate applying this patch on both sides?

Are you proposing this as a change for Xen 4.2? We are currently in
feature freeze so an argument needs to be made for an exception. Are the
xen-api developers happy with this change for 4.2?

Ian.

> 
> Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
> 
> diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
> --- a/tools/ocaml/libs/xc/xenctrl.ml
> +++ b/tools/ocaml/libs/xc/xenctrl.ml
> @@ -19,75 +19,80 @@ type domid = int
> 
>  (* ** xenctrl.h ** *)
> 
> -type vcpuinfo =
> -{
> -       online: bool;
> -       blocked: bool;
> -       running: bool;
> -       cputime: int64;
> -       cpumap: int32;
> -}
> +module Vcpu_info = struct
> +       type t = {
> +               online : bool;
> +               blocked : bool;
> +               running : bool;
> +               cputime : int64;
> +               cpumap : int32;
> +       }
> +end
> 
> -type domaininfo =
> -{
> -       domid             : domid;
> -       dying             : bool;
> -       shutdown          : bool;
> -       paused            : bool;
> -       blocked           : bool;
> -       running           : bool;
> -       hvm_guest         : bool;
> -       shutdown_code     : int;
> -       total_memory_pages: nativeint;
> -       max_memory_pages  : nativeint;
> -       shared_info_frame : int64;
> -       cpu_time          : int64;
> -       nr_online_vcpus   : int;
> -       max_vcpu_id       : int;
> -       ssidref           : int32;
> -       handle            : int array;
> -}
> +module Domain_info = struct
> +       type t = {
> +               domid : domid;
> +               dying : bool;
> +               shutdown : bool;
> +               paused : bool;
> +               blocked : bool;
> +               running : bool;
> +               hvm_guest : bool;
> +               shutdown_code : int;
> +               total_memory_pages : nativeint;
> +               max_memory_pages : nativeint;
> +               shared_info_frame : int64;
> +               cpu_time : int64;
> +               nr_online_vcpus : int;
> +               max_vcpu_id : int;
> +               ssidref : int32;
> +               handle : int array;
> +       }
> +end
> 
> -type sched_control =
> -{
> -       weight : int;
> -       cap    : int;
> -}
> +module Sched_control = struct
> +       type t = {
> +               weight : int;
> +               cap : int;
> +       }
> +end
> 
> -type physinfo_cap_flag =
> -       | CAP_HVM
> -       | CAP_DirectIO
> +module Phys_info = struct
> +       type cap_flag =
> +               | CAP_HVM
> +               | CAP_DirectIO
> 
> -type physinfo =
> -{
> -       threads_per_core : int;
> -       cores_per_socket : int;
> -       nr_cpus          : int;
> -       max_node_id      : int;
> -       cpu_khz          : int;
> -       total_pages      : nativeint;
> -       free_pages       : nativeint;
> -       scrub_pages      : nativeint;
> -       (* XXX hw_cap *)
> -       capabilities     : physinfo_cap_flag list;
> -       max_nr_cpus      : int;
> -}
> +       type t = {
> +               threads_per_core : int;
> +               cores_per_socket : int;
> +               nr_cpus : int;
> +               max_node_id : int;
> +               cpu_khz : int;
> +               total_pages : nativeint;
> +               free_pages : nativeint;
> +               scrub_pages : nativeint;
> +               (* XXX hw_cap *)
> +               capabilities : cap_flag list;
> +               max_nr_cpus : int;
> +       }
> +end
> 
> -type version =
> -{
> -       major : int;
> -       minor : int;
> -       extra : string;
> -}
> +module Version = struct
> +       type t = {
> +               major : int;
> +               minor : int;
> +               extra : string;
> +       }
> +end
> 
> -
> -type compile_info =
> -{
> -       compiler : string;
> -       compile_by : string;
> -       compile_domain : string;
> -       compile_date : string;
> -}
> +module Compile_info = struct
> +       type t = {
> +               compiler : string;
> +               compile_by : string;
> +               compile_domain : string;
> +               compile_date : string;
> +       }
> +end
> 
>  type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
> 
> @@ -148,21 +153,21 @@ external domain_destroy: handle -> domid
>  external domain_shutdown: handle -> domid -> shutdown_reason -> unit
>         = "stub_xc_domain_shutdown"
> 
> -external _domain_getinfolist: handle -> domid -> int -> domaininfo list
> +external _domain_getinfolist: handle -> domid -> int -> Domain_info.t list
>         = "stub_xc_domain_getinfolist"
> 
>  let domain_getinfolist handle first_domain =
>         let nb = 2 in
> -       let last_domid l = (List.hd l).domid + 1 in
> +       let last_domid l = (List.hd l).Domain_info.domid + 1 in
>         let rec __getlist from =
>                 let l = _domain_getinfolist handle from nb in
>                 (if List.length l = nb then __getlist (last_domid l) else []) @ l
>                 in
>         List.rev (__getlist first_domain)
> 
> -external domain_getinfo: handle -> domid -> domaininfo= "stub_xc_domain_getinfo"
> +external domain_getinfo: handle -> domid -> Domain_info.t = "stub_xc_domain_getinfo"
> 
> -external domain_get_vcpuinfo: handle -> int -> int -> vcpuinfo
> +external domain_get_vcpuinfo: handle -> int -> int -> Vcpu_info.t
>         = "stub_xc_vcpu_getinfo"
> 
>  external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
> @@ -182,9 +187,9 @@ external vcpu_context_get: handle -> dom
> 
>  external sched_id: handle -> int = "stub_xc_sched_id"
> 
> -external sched_credit_domain_set: handle -> domid -> sched_control -> unit
> +external sched_credit_domain_set: handle -> domid -> Sched_control.t -> unit
>         = "stub_sched_credit_domain_set"
> -external sched_credit_domain_get: handle -> domid -> sched_control
> +external sched_credit_domain_get: handle -> domid -> Sched_control.t
>         = "stub_sched_credit_domain_get"
> 
>  external shadow_allocation_set: handle -> domid -> int -> unit
> @@ -199,7 +204,7 @@ external evtchn_reset: handle -> domid -
>  external readconsolering: handle -> string = "stub_xc_readconsolering"
> 
>  external send_debug_keys: handle -> string -> unit = "stub_xc_send_debug_keys"
> -external physinfo: handle -> physinfo = "stub_xc_physinfo"
> +external physinfo: handle -> Phys_info.t = "stub_xc_physinfo"
>  external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
> 
>  external domain_setmaxmem: handle -> domid -> int64 -> unit
> @@ -237,8 +242,8 @@ external domain_deassign_device: handle
>  external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
>         = "stub_xc_domain_test_assign_device"
> 
> -external version: handle -> version = "stub_xc_version_version"
> -external version_compile_info: handle -> compile_info
> +external version: handle -> Version.t = "stub_xc_version_version"
> +external version_compile_info: handle -> Compile_info.t
>         = "stub_xc_version_compile_info"
>  external version_changeset: handle -> string = "stub_xc_version_changeset"
>  external version_capabilities: handle -> string =
> @@ -271,10 +276,10 @@ let coredump xch domid fd =
> 
>         let info = domain_getinfo xch domid in
> 
> -       let nrpages = info.total_memory_pages in
> -       let ctxt = Array.make info.max_vcpu_id None in
> +       let nrpages = info.Domain_info.total_memory_pages in
> +       let ctxt = Array.make info.Domain_info.max_vcpu_id None in
>         let nr_vcpus = ref 0 in
> -       for i = 0 to info.max_vcpu_id - 1
> +       for i = 0 to info.Domain_info.max_vcpu_id - 1
>         do
>                 ctxt.(i) <- try
>                         let v = vcpu_context_get xch domid i in
> @@ -296,7 +301,7 @@ let coredump xch domid fd =
>                 in
> 
>         let header = {
> -               xch_magic = if info.hvm_guest then Magic_hvm else Magic_pv;
> +               xch_magic = if info.Domain_info.hvm_guest then Magic_hvm else Magic_pv;
>                 xch_nr_vcpus = !nr_vcpus;
>                 xch_nr_pages = nrpages;
>                 xch_ctxt_offset = Int64.of_int (sizeof_core_header ());
> @@ -306,7 +311,7 @@ let coredump xch domid fd =
>         } in
> 
>         dump (marshall_core_header header);
> -       for i = 0 to info.max_vcpu_id - 1
> +       for i = 0 to info.Domain_info.max_vcpu_id - 1
>         do
>                 match ctxt.(i) with
>                 | None -> ()
> diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
> --- a/tools/ocaml/libs/xc/xenctrl.mli
> +++ b/tools/ocaml/libs/xc/xenctrl.mli
> @@ -15,52 +15,71 @@
>   *)
> 
>  type domid = int
> -type vcpuinfo = {
> -  online : bool;
> -  blocked : bool;
> -  running : bool;
> -  cputime : int64;
> -  cpumap : int32;
> -}
> -type domaininfo = {
> -  domid : domid;
> -  dying : bool;
> -  shutdown : bool;
> -  paused : bool;
> -  blocked : bool;
> -  running : bool;
> -  hvm_guest : bool;
> -  shutdown_code : int;
> -  total_memory_pages : nativeint;
> -  max_memory_pages : nativeint;
> -  shared_info_frame : int64;
> -  cpu_time : int64;
> -  nr_online_vcpus : int;
> -  max_vcpu_id : int;
> -  ssidref : int32;
> -  handle : int array;
> -}
> -type sched_control = { weight : int; cap : int; }
> -type physinfo_cap_flag = CAP_HVM | CAP_DirectIO
> -type physinfo = {
> -  threads_per_core : int;
> -  cores_per_socket : int;
> -  nr_cpus          : int;
> -  max_node_id      : int;
> -  cpu_khz          : int;
> -  total_pages      : nativeint;
> -  free_pages       : nativeint;
> -  scrub_pages      : nativeint;
> -  capabilities     : physinfo_cap_flag list;
> -  max_nr_cpus      : int; (** compile-time max possible number of nr_cpus *)
> -}
> -type version = { major : int; minor : int; extra : string; }
> -type compile_info = {
> -  compiler : string;
> -  compile_by : string;
> -  compile_domain : string;
> -  compile_date : string;
> -}
> +module Vcpu_info : sig
> +       type t = {
> +               online : bool;
> +               blocked : bool;
> +               running : bool;
> +               cputime : int64;
> +               cpumap : int32;
> +       }
> +end
> +module Domain_info : sig
> +       type t = {
> +               domid : domid;
> +               dying : bool;
> +               shutdown : bool;
> +               paused : bool;
> +               blocked : bool;
> +               running : bool;
> +               hvm_guest : bool;
> +               shutdown_code : int;
> +               total_memory_pages : nativeint;
> +               max_memory_pages : nativeint;
> +               shared_info_frame : int64;
> +               cpu_time : int64;
> +               nr_online_vcpus : int;
> +               max_vcpu_id : int;
> +               ssidref : int32;
> +               handle : int array;
> +       }
> +end
> +module Sched_control : sig
> +       type t = {
> +               weight : int;
> +               cap : int;
> +       }
> +end
> +module Phys_info : sig
> +       type cap_flag = CAP_HVM | CAP_DirectIO
> +       type t = {
> +               threads_per_core : int;
> +               cores_per_socket : int;
> +               nr_cpus : int;
> +               max_node_id : int;
> +               cpu_khz : int;
> +               total_pages : nativeint;
> +               free_pages : nativeint;
> +               scrub_pages : nativeint;
> +               capabilities : cap_flag list;
> +               max_nr_cpus : int; (** compile-time max possible number of nr_cpus *)
> +       }
> +end
> +module Version : sig
> +       type t = {
> +               major : int;
> +               minor : int;
> +               extra : string;
> +       }
> +end
> +module Compile_info : sig
> +       type t = {
> +               compiler : string;
> +               compile_by : string;
> +               compile_domain : string;
> +               compile_date : string;
> +       }
> +end
>  type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
> 
>  type domain_create_flag = CDF_HVM | CDF_HAP
> @@ -86,12 +105,12 @@ external domain_resume_fast : handle ->
>  external domain_destroy : handle -> domid -> unit = "stub_xc_domain_destroy"
>  external domain_shutdown : handle -> domid -> shutdown_reason -> unit
>    = "stub_xc_domain_shutdown"
> -external _domain_getinfolist : handle -> domid -> int -> domaininfo list
> +external _domain_getinfolist : handle -> domid -> int -> Domain_info.t list
>    = "stub_xc_domain_getinfolist"
> -val domain_getinfolist : handle -> domid -> domaininfo list
> -external domain_getinfo : handle -> domid -> domaininfo
> +val domain_getinfolist : handle -> domid -> Domain_info.t list
> +external domain_getinfo : handle -> domid -> Domain_info.t
>    = "stub_xc_domain_getinfo"
> -external domain_get_vcpuinfo : handle -> int -> int -> vcpuinfo
> +external domain_get_vcpuinfo : handle -> int -> int -> Vcpu_info.t
>    = "stub_xc_vcpu_getinfo"
>  external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
>         = "stub_xc_domain_ioport_permission"
> @@ -106,9 +125,9 @@ external vcpu_affinity_get : handle -> d
>  external vcpu_context_get : handle -> domid -> int -> string
>    = "stub_xc_vcpu_context_get"
>  external sched_id : handle -> int = "stub_xc_sched_id"
> -external sched_credit_domain_set : handle -> domid -> sched_control -> unit
> +external sched_credit_domain_set : handle -> domid -> Sched_control.t -> unit
>    = "stub_sched_credit_domain_set"
> -external sched_credit_domain_get : handle -> domid -> sched_control
> +external sched_credit_domain_get : handle -> domid -> Sched_control.t
>    = "stub_sched_credit_domain_get"
>  external shadow_allocation_set : handle -> domid -> int -> unit
>    = "stub_shadow_allocation_set"
> @@ -119,7 +138,7 @@ external evtchn_alloc_unbound : handle -
>  external evtchn_reset : handle -> domid -> unit = "stub_xc_evtchn_reset"
>  external readconsolering : handle -> string = "stub_xc_readconsolering"
>  external send_debug_keys : handle -> string -> unit = "stub_xc_send_debug_keys"
> -external physinfo : handle -> physinfo = "stub_xc_physinfo"
> +external physinfo : handle -> Phys_info.t = "stub_xc_physinfo"
>  external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
>  external domain_setmaxmem : handle -> domid -> int64 -> unit
>    = "stub_xc_domain_setmaxmem"
> @@ -142,8 +161,8 @@ external domain_deassign_device: handle
>  external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
>         = "stub_xc_domain_test_assign_device"
> 
> -external version : handle -> version = "stub_xc_version_version"
> -external version_compile_info : handle -> compile_info
> +external version : handle -> Version.t = "stub_xc_version_version"
> +external version_compile_info : handle -> Compile_info.t
>    = "stub_xc_version_compile_info"
>  external version_changeset : handle -> string = "stub_xc_version_changeset"
>  external version_capabilities : handle -> string
> diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
> --- a/tools/ocaml/xenstored/domains.ml
> +++ b/tools/ocaml/xenstored/domains.ml
> @@ -36,10 +36,11 @@ let cleanup xc doms =
>         Hashtbl.iter (fun id _ -> if id <> 0 then
>                 try
>                         let info = Xenctrl.domain_getinfo xc id in
> -                       if info.Xenctrl.shutdown || info.Xenctrl.dying then (
> +                       if info.Xenctrl.Domain_info.shutdown || info.Xenctrl.Domain_info.dying then (
>                                 debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
> -                                                   id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
> -                               if info.Xenctrl.dying then
> +                                       id info.Xenctrl.Domain_info.dying info.Xenctrl.Domain_info.shutdown
> +                                       info.Xenctrl.Domain_info.shutdown_code;
> +                               if info.Xenctrl.Domain_info.dying then
>                                         dead_dom := id :: !dead_dom
>                                 else
>                                         notify := true;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 08:53:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 08:53:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWkqN-0008Mh-Tb; Tue, 22 May 2012 08:53:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWkqM-0008MT-HZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 08:53:26 +0000
Received: from [85.158.139.83:63913] by server-2.bemta-5.messagelabs.com id
	59/71-17716-5045BBF4; Tue, 22 May 2012 08:53:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337676804!26966823!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28967 invoked from network); 22 May 2012 08:53:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 08:53:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12597151"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:53:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:53:23 +0100
Message-ID: <1337676802.10118.27.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Rok Strnisa <rok.strnisa@citrix.com>
Date: Tue, 22 May 2012 09:53:22 +0100
In-Reply-To: <d7464edc5453c47e2ff8.1337618956@Nexus>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	xen-api@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

(adding xen-api@ to catch the attention of the major user of this)

On Mon, 2012-05-21 at 17:49 +0100, Rok Strnisa wrote:
> This is done mainly because OCaml record type fields share the same namespace.
> Due to this, several fields of the modified types were hidden, and therefore
> inaccessible. Encapsulating the types within their own modules (in a standard
> way), puts the field names within sub-namespaces, and so makes all fields
> accessible.
> 
> Note that this is not a backward-compatible change. For example, code in xcp's
> xen-api component needs to be modified accordingly.

Is someone (you?) also taking care of that side of things? Do we need to
co-ordinate applying this patch on both sides?

Are you proposing this as a change for Xen 4.2? We are currently in
feature freeze so an argument needs to be made for an exception. Are the
xen-api developers happy with this change for 4.2?

Ian.

> 
> Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
> 
> diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
> --- a/tools/ocaml/libs/xc/xenctrl.ml
> +++ b/tools/ocaml/libs/xc/xenctrl.ml
> @@ -19,75 +19,80 @@ type domid = int
> 
>  (* ** xenctrl.h ** *)
> 
> -type vcpuinfo =
> -{
> -       online: bool;
> -       blocked: bool;
> -       running: bool;
> -       cputime: int64;
> -       cpumap: int32;
> -}
> +module Vcpu_info = struct
> +       type t = {
> +               online : bool;
> +               blocked : bool;
> +               running : bool;
> +               cputime : int64;
> +               cpumap : int32;
> +       }
> +end
> 
> -type domaininfo =
> -{
> -       domid             : domid;
> -       dying             : bool;
> -       shutdown          : bool;
> -       paused            : bool;
> -       blocked           : bool;
> -       running           : bool;
> -       hvm_guest         : bool;
> -       shutdown_code     : int;
> -       total_memory_pages: nativeint;
> -       max_memory_pages  : nativeint;
> -       shared_info_frame : int64;
> -       cpu_time          : int64;
> -       nr_online_vcpus   : int;
> -       max_vcpu_id       : int;
> -       ssidref           : int32;
> -       handle            : int array;
> -}
> +module Domain_info = struct
> +       type t = {
> +               domid : domid;
> +               dying : bool;
> +               shutdown : bool;
> +               paused : bool;
> +               blocked : bool;
> +               running : bool;
> +               hvm_guest : bool;
> +               shutdown_code : int;
> +               total_memory_pages : nativeint;
> +               max_memory_pages : nativeint;
> +               shared_info_frame : int64;
> +               cpu_time : int64;
> +               nr_online_vcpus : int;
> +               max_vcpu_id : int;
> +               ssidref : int32;
> +               handle : int array;
> +       }
> +end
> 
> -type sched_control =
> -{
> -       weight : int;
> -       cap    : int;
> -}
> +module Sched_control = struct
> +       type t = {
> +               weight : int;
> +               cap : int;
> +       }
> +end
> 
> -type physinfo_cap_flag =
> -       | CAP_HVM
> -       | CAP_DirectIO
> +module Phys_info = struct
> +       type cap_flag =
> +               | CAP_HVM
> +               | CAP_DirectIO
> 
> -type physinfo =
> -{
> -       threads_per_core : int;
> -       cores_per_socket : int;
> -       nr_cpus          : int;
> -       max_node_id      : int;
> -       cpu_khz          : int;
> -       total_pages      : nativeint;
> -       free_pages       : nativeint;
> -       scrub_pages      : nativeint;
> -       (* XXX hw_cap *)
> -       capabilities     : physinfo_cap_flag list;
> -       max_nr_cpus      : int;
> -}
> +       type t = {
> +               threads_per_core : int;
> +               cores_per_socket : int;
> +               nr_cpus : int;
> +               max_node_id : int;
> +               cpu_khz : int;
> +               total_pages : nativeint;
> +               free_pages : nativeint;
> +               scrub_pages : nativeint;
> +               (* XXX hw_cap *)
> +               capabilities : cap_flag list;
> +               max_nr_cpus : int;
> +       }
> +end
> 
> -type version =
> -{
> -       major : int;
> -       minor : int;
> -       extra : string;
> -}
> +module Version = struct
> +       type t = {
> +               major : int;
> +               minor : int;
> +               extra : string;
> +       }
> +end
> 
> -
> -type compile_info =
> -{
> -       compiler : string;
> -       compile_by : string;
> -       compile_domain : string;
> -       compile_date : string;
> -}
> +module Compile_info = struct
> +       type t = {
> +               compiler : string;
> +               compile_by : string;
> +               compile_domain : string;
> +               compile_date : string;
> +       }
> +end
> 
>  type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
> 
> @@ -148,21 +153,21 @@ external domain_destroy: handle -> domid
>  external domain_shutdown: handle -> domid -> shutdown_reason -> unit
>         = "stub_xc_domain_shutdown"
> 
> -external _domain_getinfolist: handle -> domid -> int -> domaininfo list
> +external _domain_getinfolist: handle -> domid -> int -> Domain_info.t list
>         = "stub_xc_domain_getinfolist"
> 
>  let domain_getinfolist handle first_domain =
>         let nb = 2 in
> -       let last_domid l = (List.hd l).domid + 1 in
> +       let last_domid l = (List.hd l).Domain_info.domid + 1 in
>         let rec __getlist from =
>                 let l = _domain_getinfolist handle from nb in
>                 (if List.length l = nb then __getlist (last_domid l) else []) @ l
>                 in
>         List.rev (__getlist first_domain)
> 
> -external domain_getinfo: handle -> domid -> domaininfo= "stub_xc_domain_getinfo"
> +external domain_getinfo: handle -> domid -> Domain_info.t = "stub_xc_domain_getinfo"
> 
> -external domain_get_vcpuinfo: handle -> int -> int -> vcpuinfo
> +external domain_get_vcpuinfo: handle -> int -> int -> Vcpu_info.t
>         = "stub_xc_vcpu_getinfo"
> 
>  external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
> @@ -182,9 +187,9 @@ external vcpu_context_get: handle -> dom
> 
>  external sched_id: handle -> int = "stub_xc_sched_id"
> 
> -external sched_credit_domain_set: handle -> domid -> sched_control -> unit
> +external sched_credit_domain_set: handle -> domid -> Sched_control.t -> unit
>         = "stub_sched_credit_domain_set"
> -external sched_credit_domain_get: handle -> domid -> sched_control
> +external sched_credit_domain_get: handle -> domid -> Sched_control.t
>         = "stub_sched_credit_domain_get"
> 
>  external shadow_allocation_set: handle -> domid -> int -> unit
> @@ -199,7 +204,7 @@ external evtchn_reset: handle -> domid -
>  external readconsolering: handle -> string = "stub_xc_readconsolering"
> 
>  external send_debug_keys: handle -> string -> unit = "stub_xc_send_debug_keys"
> -external physinfo: handle -> physinfo = "stub_xc_physinfo"
> +external physinfo: handle -> Phys_info.t = "stub_xc_physinfo"
>  external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
> 
>  external domain_setmaxmem: handle -> domid -> int64 -> unit
> @@ -237,8 +242,8 @@ external domain_deassign_device: handle
>  external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
>         = "stub_xc_domain_test_assign_device"
> 
> -external version: handle -> version = "stub_xc_version_version"
> -external version_compile_info: handle -> compile_info
> +external version: handle -> Version.t = "stub_xc_version_version"
> +external version_compile_info: handle -> Compile_info.t
>         = "stub_xc_version_compile_info"
>  external version_changeset: handle -> string = "stub_xc_version_changeset"
>  external version_capabilities: handle -> string =
> @@ -271,10 +276,10 @@ let coredump xch domid fd =
> 
>         let info = domain_getinfo xch domid in
> 
> -       let nrpages = info.total_memory_pages in
> -       let ctxt = Array.make info.max_vcpu_id None in
> +       let nrpages = info.Domain_info.total_memory_pages in
> +       let ctxt = Array.make info.Domain_info.max_vcpu_id None in
>         let nr_vcpus = ref 0 in
> -       for i = 0 to info.max_vcpu_id - 1
> +       for i = 0 to info.Domain_info.max_vcpu_id - 1
>         do
>                 ctxt.(i) <- try
>                         let v = vcpu_context_get xch domid i in
> @@ -296,7 +301,7 @@ let coredump xch domid fd =
>                 in
> 
>         let header = {
> -               xch_magic = if info.hvm_guest then Magic_hvm else Magic_pv;
> +               xch_magic = if info.Domain_info.hvm_guest then Magic_hvm else Magic_pv;
>                 xch_nr_vcpus = !nr_vcpus;
>                 xch_nr_pages = nrpages;
>                 xch_ctxt_offset = Int64.of_int (sizeof_core_header ());
> @@ -306,7 +311,7 @@ let coredump xch domid fd =
>         } in
> 
>         dump (marshall_core_header header);
> -       for i = 0 to info.max_vcpu_id - 1
> +       for i = 0 to info.Domain_info.max_vcpu_id - 1
>         do
>                 match ctxt.(i) with
>                 | None -> ()
> diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
> --- a/tools/ocaml/libs/xc/xenctrl.mli
> +++ b/tools/ocaml/libs/xc/xenctrl.mli
> @@ -15,52 +15,71 @@
>   *)
> 
>  type domid = int
> -type vcpuinfo = {
> -  online : bool;
> -  blocked : bool;
> -  running : bool;
> -  cputime : int64;
> -  cpumap : int32;
> -}
> -type domaininfo = {
> -  domid : domid;
> -  dying : bool;
> -  shutdown : bool;
> -  paused : bool;
> -  blocked : bool;
> -  running : bool;
> -  hvm_guest : bool;
> -  shutdown_code : int;
> -  total_memory_pages : nativeint;
> -  max_memory_pages : nativeint;
> -  shared_info_frame : int64;
> -  cpu_time : int64;
> -  nr_online_vcpus : int;
> -  max_vcpu_id : int;
> -  ssidref : int32;
> -  handle : int array;
> -}
> -type sched_control = { weight : int; cap : int; }
> -type physinfo_cap_flag = CAP_HVM | CAP_DirectIO
> -type physinfo = {
> -  threads_per_core : int;
> -  cores_per_socket : int;
> -  nr_cpus          : int;
> -  max_node_id      : int;
> -  cpu_khz          : int;
> -  total_pages      : nativeint;
> -  free_pages       : nativeint;
> -  scrub_pages      : nativeint;
> -  capabilities     : physinfo_cap_flag list;
> -  max_nr_cpus      : int; (** compile-time max possible number of nr_cpus *)
> -}
> -type version = { major : int; minor : int; extra : string; }
> -type compile_info = {
> -  compiler : string;
> -  compile_by : string;
> -  compile_domain : string;
> -  compile_date : string;
> -}
> +module Vcpu_info : sig
> +       type t = {
> +               online : bool;
> +               blocked : bool;
> +               running : bool;
> +               cputime : int64;
> +               cpumap : int32;
> +       }
> +end
> +module Domain_info : sig
> +       type t = {
> +               domid : domid;
> +               dying : bool;
> +               shutdown : bool;
> +               paused : bool;
> +               blocked : bool;
> +               running : bool;
> +               hvm_guest : bool;
> +               shutdown_code : int;
> +               total_memory_pages : nativeint;
> +               max_memory_pages : nativeint;
> +               shared_info_frame : int64;
> +               cpu_time : int64;
> +               nr_online_vcpus : int;
> +               max_vcpu_id : int;
> +               ssidref : int32;
> +               handle : int array;
> +       }
> +end
> +module Sched_control : sig
> +       type t = {
> +               weight : int;
> +               cap : int;
> +       }
> +end
> +module Phys_info : sig
> +       type cap_flag = CAP_HVM | CAP_DirectIO
> +       type t = {
> +               threads_per_core : int;
> +               cores_per_socket : int;
> +               nr_cpus : int;
> +               max_node_id : int;
> +               cpu_khz : int;
> +               total_pages : nativeint;
> +               free_pages : nativeint;
> +               scrub_pages : nativeint;
> +               capabilities : cap_flag list;
> +               max_nr_cpus : int; (** compile-time max possible number of nr_cpus *)
> +       }
> +end
> +module Version : sig
> +       type t = {
> +               major : int;
> +               minor : int;
> +               extra : string;
> +       }
> +end
> +module Compile_info : sig
> +       type t = {
> +               compiler : string;
> +               compile_by : string;
> +               compile_domain : string;
> +               compile_date : string;
> +       }
> +end
>  type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
> 
>  type domain_create_flag = CDF_HVM | CDF_HAP
> @@ -86,12 +105,12 @@ external domain_resume_fast : handle ->
>  external domain_destroy : handle -> domid -> unit = "stub_xc_domain_destroy"
>  external domain_shutdown : handle -> domid -> shutdown_reason -> unit
>    = "stub_xc_domain_shutdown"
> -external _domain_getinfolist : handle -> domid -> int -> domaininfo list
> +external _domain_getinfolist : handle -> domid -> int -> Domain_info.t list
>    = "stub_xc_domain_getinfolist"
> -val domain_getinfolist : handle -> domid -> domaininfo list
> -external domain_getinfo : handle -> domid -> domaininfo
> +val domain_getinfolist : handle -> domid -> Domain_info.t list
> +external domain_getinfo : handle -> domid -> Domain_info.t
>    = "stub_xc_domain_getinfo"
> -external domain_get_vcpuinfo : handle -> int -> int -> vcpuinfo
> +external domain_get_vcpuinfo : handle -> int -> int -> Vcpu_info.t
>    = "stub_xc_vcpu_getinfo"
>  external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
>         = "stub_xc_domain_ioport_permission"
> @@ -106,9 +125,9 @@ external vcpu_affinity_get : handle -> d
>  external vcpu_context_get : handle -> domid -> int -> string
>    = "stub_xc_vcpu_context_get"
>  external sched_id : handle -> int = "stub_xc_sched_id"
> -external sched_credit_domain_set : handle -> domid -> sched_control -> unit
> +external sched_credit_domain_set : handle -> domid -> Sched_control.t -> unit
>    = "stub_sched_credit_domain_set"
> -external sched_credit_domain_get : handle -> domid -> sched_control
> +external sched_credit_domain_get : handle -> domid -> Sched_control.t
>    = "stub_sched_credit_domain_get"
>  external shadow_allocation_set : handle -> domid -> int -> unit
>    = "stub_shadow_allocation_set"
> @@ -119,7 +138,7 @@ external evtchn_alloc_unbound : handle -
>  external evtchn_reset : handle -> domid -> unit = "stub_xc_evtchn_reset"
>  external readconsolering : handle -> string = "stub_xc_readconsolering"
>  external send_debug_keys : handle -> string -> unit = "stub_xc_send_debug_keys"
> -external physinfo : handle -> physinfo = "stub_xc_physinfo"
> +external physinfo : handle -> Phys_info.t = "stub_xc_physinfo"
>  external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
>  external domain_setmaxmem : handle -> domid -> int64 -> unit
>    = "stub_xc_domain_setmaxmem"
> @@ -142,8 +161,8 @@ external domain_deassign_device: handle
>  external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
>         = "stub_xc_domain_test_assign_device"
> 
> -external version : handle -> version = "stub_xc_version_version"
> -external version_compile_info : handle -> compile_info
> +external version : handle -> Version.t = "stub_xc_version_version"
> +external version_compile_info : handle -> Compile_info.t
>    = "stub_xc_version_compile_info"
>  external version_changeset : handle -> string = "stub_xc_version_changeset"
>  external version_capabilities : handle -> string
> diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
> --- a/tools/ocaml/xenstored/domains.ml
> +++ b/tools/ocaml/xenstored/domains.ml
> @@ -36,10 +36,11 @@ let cleanup xc doms =
>         Hashtbl.iter (fun id _ -> if id <> 0 then
>                 try
>                         let info = Xenctrl.domain_getinfo xc id in
> -                       if info.Xenctrl.shutdown || info.Xenctrl.dying then (
> +                       if info.Xenctrl.Domain_info.shutdown || info.Xenctrl.Domain_info.dying then (
>                                 debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
> -                                                   id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
> -                               if info.Xenctrl.dying then
> +                                       id info.Xenctrl.Domain_info.dying info.Xenctrl.Domain_info.shutdown
> +                                       info.Xenctrl.Domain_info.shutdown_code;
> +                               if info.Xenctrl.Domain_info.dying then
>                                         dead_dom := id :: !dead_dom
>                                 else
>                                         notify := true;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:22:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlHx-0000Pl-RI; Tue, 22 May 2012 09:21:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWlHv-0000Pg-TV
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:21:56 +0000
Received: from [193.109.254.147:16830] by server-9.bemta-14.messagelabs.com id
	CC/41-05787-3BA5BBF4; Tue, 22 May 2012 09:21:55 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337678514!10609324!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18912 invoked from network); 22 May 2012 09:21:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:21:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12598025"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:21:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:21:53 +0100
Message-ID: <1337678512.10118.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 22 May 2012 10:21:52 +0100
In-Reply-To: <1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 20:14 +0100, Ben Hutchings wrote:
> On Mon, 2012-05-21 at 13:36 -0400, Konrad Rzeszutek Wilk wrote:
> > From: Adnan Misherfi <adnan.misherfi@oracle.com>
> > 
> > A programming error cause the calculation of receive SKB slots to be
> > wrong, which caused the RX ring to be erroneously declared full,
> > and the receive queue to be stopped. The problem shows up when two
> > guest running on the same server tries to communicates using large
> > MTUs. Each guest is connected to a bridge with VLAN over bond
> > interface, so traffic from one guest leaves the server on one bridge
> > and comes back to the second guest on the second bridge. This can be
> > reproduces using ping, and one guest as follow:
> > 
> > - Create active-back bond (bond0)
> > - Set up VLAN 5 on bond0 (bond0.5)
> > - Create a bridge (br1)
> > - Add bond0.5 to a bridge (br1)
> > - Start a guest and connect it to br1
> > - Set MTU of 9000 across the link
> > 
> > Ping the guest from an external host using packet sizes of 3991, and
> > 4054; ping -s 3991 -c 128 "Guest-IP-Address"
> > 
> > At the beginning ping works fine, but after a while ping packets do
> > not reach the guest because the RX ring becomes full, and the queue
> > get stopped. Once the problem accrued, the only way to get out of it
> > is to reboot the guest, or use xm network-detach/network-attach.
> > 
> > ping works for packets sizes 3990,3992, and many other sizes including
> > 4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
> > that quickly reproduce this problem.
> > 
> > Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  drivers/net/xen-netback/netback.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> > index 957cf9d..e382e5b 100644
> > --- a/drivers/net/xen-netback/netback.c
> > +++ b/drivers/net/xen-netback/netback.c
> > @@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
> 
> The function name is xen_netbk_count_skb_slots() in net-next.  This
> appears to depend on the series in
> <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.

Yes, I don't think that patchset was intended for prime time just yet.
Can this issue be reproduced without it?

> >  	int i, copy_off;
> >  
> >  	count = DIV_ROUND_UP(
> > -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> > +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> 
> The new version would be equivalent to:
> 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> which is not right, as netbk_gop_skb() will use one slot per page.

Just outside the context of this patch we separately count the frag
pages.

However I think you are right if skb->data covers > 1 page, since the
new version can only ever return 0 or 1. I expect this patch papers over
the underlying issue by not stopping often enough, rather than actually
fixing the underlying issue.

> The real problem is likely that you're not using the same condition to
> stop and wake the queue.

Agreed, it would be useful to see the argument for this patch presented
in that light. In particular the relationship between
xenvif_rx_schedulable() (used to wake queue) and
xen_netbk_must_stop_queue() (used to stop queue).

As it stands the description describes a setup which can repro the
problem but doesn't really analyse what actually happens, nor justify
the correctness of the fix.

>   Though it appears you're also missing an
> smp_mb() at the top of xenvif_notify_tx_completion().

I think the necessary barrier is in RING_PUSH_RESPONSES_AND_CHECK_NOTIFY
which is just prior to the single callsite of this function.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:22:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:22:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlHx-0000Pl-RI; Tue, 22 May 2012 09:21:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWlHv-0000Pg-TV
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:21:56 +0000
Received: from [193.109.254.147:16830] by server-9.bemta-14.messagelabs.com id
	CC/41-05787-3BA5BBF4; Tue, 22 May 2012 09:21:55 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337678514!10609324!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18912 invoked from network); 22 May 2012 09:21:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:21:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12598025"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:21:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:21:53 +0100
Message-ID: <1337678512.10118.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 22 May 2012 10:21:52 +0100
In-Reply-To: <1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 20:14 +0100, Ben Hutchings wrote:
> On Mon, 2012-05-21 at 13:36 -0400, Konrad Rzeszutek Wilk wrote:
> > From: Adnan Misherfi <adnan.misherfi@oracle.com>
> > 
> > A programming error cause the calculation of receive SKB slots to be
> > wrong, which caused the RX ring to be erroneously declared full,
> > and the receive queue to be stopped. The problem shows up when two
> > guest running on the same server tries to communicates using large
> > MTUs. Each guest is connected to a bridge with VLAN over bond
> > interface, so traffic from one guest leaves the server on one bridge
> > and comes back to the second guest on the second bridge. This can be
> > reproduces using ping, and one guest as follow:
> > 
> > - Create active-back bond (bond0)
> > - Set up VLAN 5 on bond0 (bond0.5)
> > - Create a bridge (br1)
> > - Add bond0.5 to a bridge (br1)
> > - Start a guest and connect it to br1
> > - Set MTU of 9000 across the link
> > 
> > Ping the guest from an external host using packet sizes of 3991, and
> > 4054; ping -s 3991 -c 128 "Guest-IP-Address"
> > 
> > At the beginning ping works fine, but after a while ping packets do
> > not reach the guest because the RX ring becomes full, and the queue
> > get stopped. Once the problem accrued, the only way to get out of it
> > is to reboot the guest, or use xm network-detach/network-attach.
> > 
> > ping works for packets sizes 3990,3992, and many other sizes including
> > 4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
> > that quickly reproduce this problem.
> > 
> > Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  drivers/net/xen-netback/netback.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> > index 957cf9d..e382e5b 100644
> > --- a/drivers/net/xen-netback/netback.c
> > +++ b/drivers/net/xen-netback/netback.c
> > @@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
> 
> The function name is xen_netbk_count_skb_slots() in net-next.  This
> appears to depend on the series in
> <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.

Yes, I don't think that patchset was intended for prime time just yet.
Can this issue be reproduced without it?

> >  	int i, copy_off;
> >  
> >  	count = DIV_ROUND_UP(
> > -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> > +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> 
> The new version would be equivalent to:
> 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> which is not right, as netbk_gop_skb() will use one slot per page.

Just outside the context of this patch we separately count the frag
pages.

However I think you are right if skb->data covers > 1 page, since the
new version can only ever return 0 or 1. I expect this patch papers over
the underlying issue by not stopping often enough, rather than actually
fixing the underlying issue.

> The real problem is likely that you're not using the same condition to
> stop and wake the queue.

Agreed, it would be useful to see the argument for this patch presented
in that light. In particular the relationship between
xenvif_rx_schedulable() (used to wake queue) and
xen_netbk_must_stop_queue() (used to stop queue).

As it stands the description describes a setup which can repro the
problem but doesn't really analyse what actually happens, nor justify
the correctness of the fix.

>   Though it appears you're also missing an
> smp_mb() at the top of xenvif_notify_tx_completion().

I think the necessary barrier is in RING_PUSH_RESPONSES_AND_CHECK_NOTIFY
which is just prior to the single callsite of this function.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:28:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:28:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlNq-0000ZD-AW; Tue, 22 May 2012 09:28:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlNo-0000Yr-QI
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:28:01 +0000
Received: from [85.158.139.83:50774] by server-1.bemta-5.messagelabs.com id
	24/8A-27328-F1C5BBF4; Tue, 22 May 2012 09:27:59 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337678878!22352569!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23342 invoked from network); 22 May 2012 09:27:59 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:27:59 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:In-Reply-To:Date:From:To;
	b=BcYd5DewFErvGGVAZuZqj8lF6OrvphDr9LBw+3fnKK7L8YV32ymkdKE1
	9Wicdsx87VEAoyHu6c8o6KZjrCTfFDPe0Ih/60JGbAoM203JL4xVfxJ5d
	3zooWOX6oDXLLeWhPPNh71GVfvN2Hkb9vOFPaBeWqWcN0NqQ1nA5vFupT
	VIBxf3e1X/1AA4UHKy+c93m1XehWCbVEsWswvmCFx1P2ocZH3aukOnPuU
	45qS11pjHTYlo8EMUNnNhIR+IvL/T;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678879; x=1369214879;
	h=mime-version:subject:message-id:in-reply-to:date:from:to;
	bh=SfGbHFlwTsaps8h07VGcf0S9Z600TEu70M2qtrXlOcI=;
	b=E+HCC011BV1TUkIdEP28kuGT35JpeLCNd9TQn8+jrA8qJGnSEDfwlVwf
	pGstnVHbFjIRaoM4pUIf9HhmNm+YhTUbnUG/boV93HKfDGdOjyuNAsdsI
	dLzGGQHfQqSFg8rIdmXYP6LqRbIaFfM+IvxxMbduv8TgMrz3SuFR3dNE0
	QKcpiCe0swEg8/K3+qpI1+z845pkcwTEyrn8XVNVbEOnJjeCmRpUcCTTX
	mvpVaRooF9MDFPZ7ULzHomWZrP9nX;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94066360"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134741008"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 80E51963E53;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============3202204983541672150=="
MIME-Version: 1.0
X-Mercurial-Node: 19aaa30d7fdce2f1b56cb13399d603d955a61fb8
Message-Id: <19aaa30d7fdce2f1b56c.1337678213@nehalem1>
In-Reply-To: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:53 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 2 of 3] Support getting scheduler defaults in
	libxc
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3202204983541672150==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Add scheduler specific interfaces to get scheduling defaults from the
hypervisor.

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


4 files changed, 73 insertions(+)
tools/libxc/xc_csched.c  |   21 +++++++++++++++++++++
tools/libxc/xc_csched2.c |   21 +++++++++++++++++++++
tools/libxc/xc_sedf.c    |   21 +++++++++++++++++++++
tools/libxc/xenctrl.h    |   10 ++++++++++



--===============3202204983541672150==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg-3.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337675490 -7200
# Node ID 19aaa30d7fdce2f1b56cb13399d603d955a61fb8
# Parent  56c50b3f6cc3eb1de8b86024d0e41e65345d9a79
Support getting scheduler defaults in libxc

Add scheduler specific interfaces to get scheduling defaults from the
hypervisor.

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xc_csched.c
--- a/tools/libxc/xc_csched.c	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xc_csched.c	Tue May 22 10:31:30 2012 +0200
@@ -105,3 +105,24 @@ xc_sched_credit_params_get(
 
     return rc;
 }
+
+int
+xc_sched_credit_defaults_get(
+    xc_interface *xch,
+    uint32_t cpupool_id,
+    struct xen_domctl_sched_credit *sdom)
+{
+    int rc;
+    DECLARE_SYSCTL;
+
+    sysctl.cmd = XEN_SYSCTL_scheduler_op;
+    sysctl.u.scheduler_op.cpupool_id = cpupool_id;
+    sysctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT;
+    sysctl.u.scheduler_op.cmd = XEN_SYSCTL_SCHEDOP_getdefaults;
+
+    rc = do_sysctl(xch, &sysctl);
+    if ( rc == 0 )
+        *sdom = sysctl.u.scheduler_op.u.defaults.credit;
+
+    return rc;
+}
diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xc_csched2.c
--- a/tools/libxc/xc_csched2.c	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xc_csched2.c	Tue May 22 10:31:30 2012 +0200
@@ -61,3 +61,24 @@ xc_sched_credit2_domain_get(
 
     return err;
 }
+
+int
+xc_sched_credit2_defaults_get(
+    xc_interface *xch,
+    uint32_t cpupool_id,
+    struct xen_domctl_sched_credit2 *sdom)
+{
+    int rc;
+    DECLARE_SYSCTL;
+
+    sysctl.cmd = XEN_SYSCTL_scheduler_op;
+    sysctl.u.scheduler_op.cpupool_id = cpupool_id;
+    sysctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT2;
+    sysctl.u.scheduler_op.cmd = XEN_SYSCTL_SCHEDOP_getdefaults;
+
+    rc = do_sysctl(xch, &sysctl);
+    if ( rc == 0 )
+        *sdom = sysctl.u.scheduler_op.u.defaults.credit2;
+
+    return rc;
+}
diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xc_sedf.c
--- a/tools/libxc/xc_sedf.c	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xc_sedf.c	Tue May 22 10:31:30 2012 +0200
@@ -76,3 +76,24 @@ int xc_sedf_domain_get(
     *weight    = p->weight;
     return ret;
 }
+
+int
+xc_sched_sedf_defaults_get(
+    xc_interface *xch,
+    uint32_t cpupool_id,
+    struct xen_domctl_sched_sedf *sdom)
+{
+    int rc;
+    DECLARE_SYSCTL;
+
+    sysctl.cmd = XEN_SYSCTL_scheduler_op;
+    sysctl.u.scheduler_op.cpupool_id = cpupool_id;
+    sysctl.u.scheduler_op.sched_id = XEN_SCHEDULER_SEDF;
+    sysctl.u.scheduler_op.cmd = XEN_SYSCTL_SCHEDOP_getdefaults;
+
+    rc = do_sysctl(xch, &sysctl);
+    if ( rc == 0 )
+        *sdom = sysctl.u.scheduler_op.u.defaults.sedf;
+
+    return rc;
+}
diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xenctrl.h	Tue May 22 10:31:30 2012 +0200
@@ -664,6 +664,9 @@ int xc_sedf_domain_get(xc_interface *xch
                        uint64_t* period, uint64_t *slice,
                        uint64_t *latency, uint16_t *extratime,
                        uint16_t *weight);
+int xc_sched_sedf_defaults_get(xc_interface *xch,
+                               uint32_t cpupool_id,
+                               struct xen_domctl_sched_sedf *sdom);
 
 int xc_sched_credit_domain_set(xc_interface *xch,
                                uint32_t domid,
@@ -678,12 +681,19 @@ int xc_sched_credit_params_get(xc_interf
 int xc_sched_credit_params_get(xc_interface *xch,
                               uint32_t cpupool_id,
                               struct xen_sysctl_credit_schedule *schedule);
+int xc_sched_credit_defaults_get(xc_interface *xch,
+                               uint32_t cpupool_id,
+                               struct xen_domctl_sched_credit *sdom);
+
 int xc_sched_credit2_domain_set(xc_interface *xch,
                                uint32_t domid,
                                struct xen_domctl_sched_credit2 *sdom);
 
 int xc_sched_credit2_domain_get(xc_interface *xch,
                                uint32_t domid,
+                               struct xen_domctl_sched_credit2 *sdom);
+int xc_sched_credit2_defaults_get(xc_interface *xch,
+                               uint32_t cpupool_id,
                                struct xen_domctl_sched_credit2 *sdom);
 
 int

--===============3202204983541672150==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3202204983541672150==--


From xen-devel-bounces@lists.xen.org Tue May 22 09:28:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:28:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlNq-0000ZD-AW; Tue, 22 May 2012 09:28:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlNo-0000Yr-QI
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:28:01 +0000
Received: from [85.158.139.83:50774] by server-1.bemta-5.messagelabs.com id
	24/8A-27328-F1C5BBF4; Tue, 22 May 2012 09:27:59 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337678878!22352569!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23342 invoked from network); 22 May 2012 09:27:59 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:27:59 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:In-Reply-To:Date:From:To;
	b=BcYd5DewFErvGGVAZuZqj8lF6OrvphDr9LBw+3fnKK7L8YV32ymkdKE1
	9Wicdsx87VEAoyHu6c8o6KZjrCTfFDPe0Ih/60JGbAoM203JL4xVfxJ5d
	3zooWOX6oDXLLeWhPPNh71GVfvN2Hkb9vOFPaBeWqWcN0NqQ1nA5vFupT
	VIBxf3e1X/1AA4UHKy+c93m1XehWCbVEsWswvmCFx1P2ocZH3aukOnPuU
	45qS11pjHTYlo8EMUNnNhIR+IvL/T;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678879; x=1369214879;
	h=mime-version:subject:message-id:in-reply-to:date:from:to;
	bh=SfGbHFlwTsaps8h07VGcf0S9Z600TEu70M2qtrXlOcI=;
	b=E+HCC011BV1TUkIdEP28kuGT35JpeLCNd9TQn8+jrA8qJGnSEDfwlVwf
	pGstnVHbFjIRaoM4pUIf9HhmNm+YhTUbnUG/boV93HKfDGdOjyuNAsdsI
	dLzGGQHfQqSFg8rIdmXYP6LqRbIaFfM+IvxxMbduv8TgMrz3SuFR3dNE0
	QKcpiCe0swEg8/K3+qpI1+z845pkcwTEyrn8XVNVbEOnJjeCmRpUcCTTX
	mvpVaRooF9MDFPZ7ULzHomWZrP9nX;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94066360"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134741008"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 80E51963E53;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============3202204983541672150=="
MIME-Version: 1.0
X-Mercurial-Node: 19aaa30d7fdce2f1b56cb13399d603d955a61fb8
Message-Id: <19aaa30d7fdce2f1b56c.1337678213@nehalem1>
In-Reply-To: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:53 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 2 of 3] Support getting scheduler defaults in
	libxc
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============3202204983541672150==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Add scheduler specific interfaces to get scheduling defaults from the
hypervisor.

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


4 files changed, 73 insertions(+)
tools/libxc/xc_csched.c  |   21 +++++++++++++++++++++
tools/libxc/xc_csched2.c |   21 +++++++++++++++++++++
tools/libxc/xc_sedf.c    |   21 +++++++++++++++++++++
tools/libxc/xenctrl.h    |   10 ++++++++++



--===============3202204983541672150==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg-3.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337675490 -7200
# Node ID 19aaa30d7fdce2f1b56cb13399d603d955a61fb8
# Parent  56c50b3f6cc3eb1de8b86024d0e41e65345d9a79
Support getting scheduler defaults in libxc

Add scheduler specific interfaces to get scheduling defaults from the
hypervisor.

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xc_csched.c
--- a/tools/libxc/xc_csched.c	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xc_csched.c	Tue May 22 10:31:30 2012 +0200
@@ -105,3 +105,24 @@ xc_sched_credit_params_get(
 
     return rc;
 }
+
+int
+xc_sched_credit_defaults_get(
+    xc_interface *xch,
+    uint32_t cpupool_id,
+    struct xen_domctl_sched_credit *sdom)
+{
+    int rc;
+    DECLARE_SYSCTL;
+
+    sysctl.cmd = XEN_SYSCTL_scheduler_op;
+    sysctl.u.scheduler_op.cpupool_id = cpupool_id;
+    sysctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT;
+    sysctl.u.scheduler_op.cmd = XEN_SYSCTL_SCHEDOP_getdefaults;
+
+    rc = do_sysctl(xch, &sysctl);
+    if ( rc == 0 )
+        *sdom = sysctl.u.scheduler_op.u.defaults.credit;
+
+    return rc;
+}
diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xc_csched2.c
--- a/tools/libxc/xc_csched2.c	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xc_csched2.c	Tue May 22 10:31:30 2012 +0200
@@ -61,3 +61,24 @@ xc_sched_credit2_domain_get(
 
     return err;
 }
+
+int
+xc_sched_credit2_defaults_get(
+    xc_interface *xch,
+    uint32_t cpupool_id,
+    struct xen_domctl_sched_credit2 *sdom)
+{
+    int rc;
+    DECLARE_SYSCTL;
+
+    sysctl.cmd = XEN_SYSCTL_scheduler_op;
+    sysctl.u.scheduler_op.cpupool_id = cpupool_id;
+    sysctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT2;
+    sysctl.u.scheduler_op.cmd = XEN_SYSCTL_SCHEDOP_getdefaults;
+
+    rc = do_sysctl(xch, &sysctl);
+    if ( rc == 0 )
+        *sdom = sysctl.u.scheduler_op.u.defaults.credit2;
+
+    return rc;
+}
diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xc_sedf.c
--- a/tools/libxc/xc_sedf.c	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xc_sedf.c	Tue May 22 10:31:30 2012 +0200
@@ -76,3 +76,24 @@ int xc_sedf_domain_get(
     *weight    = p->weight;
     return ret;
 }
+
+int
+xc_sched_sedf_defaults_get(
+    xc_interface *xch,
+    uint32_t cpupool_id,
+    struct xen_domctl_sched_sedf *sdom)
+{
+    int rc;
+    DECLARE_SYSCTL;
+
+    sysctl.cmd = XEN_SYSCTL_scheduler_op;
+    sysctl.u.scheduler_op.cpupool_id = cpupool_id;
+    sysctl.u.scheduler_op.sched_id = XEN_SCHEDULER_SEDF;
+    sysctl.u.scheduler_op.cmd = XEN_SYSCTL_SCHEDOP_getdefaults;
+
+    rc = do_sysctl(xch, &sysctl);
+    if ( rc == 0 )
+        *sdom = sysctl.u.scheduler_op.u.defaults.sedf;
+
+    return rc;
+}
diff -r 56c50b3f6cc3 -r 19aaa30d7fdc tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h	Tue May 22 10:14:32 2012 +0200
+++ b/tools/libxc/xenctrl.h	Tue May 22 10:31:30 2012 +0200
@@ -664,6 +664,9 @@ int xc_sedf_domain_get(xc_interface *xch
                        uint64_t* period, uint64_t *slice,
                        uint64_t *latency, uint16_t *extratime,
                        uint16_t *weight);
+int xc_sched_sedf_defaults_get(xc_interface *xch,
+                               uint32_t cpupool_id,
+                               struct xen_domctl_sched_sedf *sdom);
 
 int xc_sched_credit_domain_set(xc_interface *xch,
                                uint32_t domid,
@@ -678,12 +681,19 @@ int xc_sched_credit_params_get(xc_interf
 int xc_sched_credit_params_get(xc_interface *xch,
                               uint32_t cpupool_id,
                               struct xen_sysctl_credit_schedule *schedule);
+int xc_sched_credit_defaults_get(xc_interface *xch,
+                               uint32_t cpupool_id,
+                               struct xen_domctl_sched_credit *sdom);
+
 int xc_sched_credit2_domain_set(xc_interface *xch,
                                uint32_t domid,
                                struct xen_domctl_sched_credit2 *sdom);
 
 int xc_sched_credit2_domain_get(xc_interface *xch,
                                uint32_t domid,
+                               struct xen_domctl_sched_credit2 *sdom);
+int xc_sched_credit2_defaults_get(xc_interface *xch,
+                               uint32_t cpupool_id,
                                struct xen_domctl_sched_credit2 *sdom);
 
 int

--===============3202204983541672150==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3202204983541672150==--


From xen-devel-bounces@lists.xen.org Tue May 22 09:28:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:28:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlNq-0000ZK-Q7; Tue, 22 May 2012 09:28:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlNo-0000Yt-S6
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:28:01 +0000
Received: from [85.158.139.83:50818] by server-7.bemta-5.messagelabs.com id
	A6/7B-12065-02C5BBF4; Tue, 22 May 2012 09:28:00 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337678878!22352569!2
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23366 invoked from network); 22 May 2012 09:27:59 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:27:59 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:In-Reply-To:Date:From:To;
	b=mGFhiBsKYeLvRiqtwyqfYJadKkA7wOJ+getyZwgd/j7sS7itV1iALDbg
	x2MhB2irPZJIsrFZTqgDJ5mCcQbd+pVn0W25q0hV6dMlKJctPUMdg5c5X
	QkQ+/rudWpLKQXlAqs/MBvPmHRmtwuCuRsyOW8npxj+79kULWI9aQ2p5h
	KMJNgK7VlryIT4cu05Msbq20bMA125zx2yS0WvSBSkb1Hq/uAj78ehssn
	+e6s8LEZVTeIgJ4GLA5t+lPWiaUf3;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678879; x=1369214879;
	h=mime-version:subject:message-id:in-reply-to:date:from:to;
	bh=Yple91JS53Nj4u9uKT1bT6hHHeI6Nu+E3J/fZJV/Rn0=;
	b=S3Gunef2k0YKsJcRN0iRn/7lej8k1wC12D+SfCAwMZMZbDhGiA3vRouH
	031H6dElgU5+0wr03SKky4ybKW71Zbak+/6n8XLwanncna1kIpzvCcaMs
	ES8fMthLtitCSNT12gm6vX5eJce4iWCsL7isZVYK66Dw5LeayXmQ8rBMz
	VGCkc6Hryd8OeHS8JpbcnOmrMUgpIJvBMSP6MbRwu9vdHO7U2Fbtl66Sq
	JfCq0u3a4mWpdxbBnDSKIe2bkd332;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94066362"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134741009"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 8E356965830;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============8243412407074481295=="
MIME-Version: 1.0
X-Mercurial-Node: 953383741ff44d97587c2e75da79b092523d6e83
Message-Id: <953383741ff44d97587c.1337678214@nehalem1>
In-Reply-To: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:54 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
	parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8243412407074481295==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Obtains default scheduler parameters before modifying any settings specified
via domain config.

Corrected an error for setting sedf parameters (setting .period multiple
times).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


4 files changed, 72 insertions(+), 6 deletions(-)
tools/libxl/libxl.h         |    2 +
tools/libxl/libxl_dom.c     |   65 +++++++++++++++++++++++++++++++++++++++++--
tools/libxl/libxl_types.idl |    1 
tools/libxl/xl_cmdimpl.c    |   10 ++++--



--===============8243412407074481295==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg-3.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337677423 -7200
# Node ID 953383741ff44d97587c2e75da79b092523d6e83
# Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
full support of setting scheduler parameters on domain creation

Obtains default scheduler parameters before modifying any settings specified
via domain config.

Corrected an error for setting sedf parameters (setting .period multiple
times).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/libxl.h	Tue May 22 11:03:43 2012 +0200
@@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
 /* May be called with info_r == NULL to check for domain's existance */
 int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
                       uint32_t domid);
+int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
+                             libxl_sched_params *scparams);
 libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain);
 void libxl_dominfo_list_free(libxl_dominfo *list, int nr);
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool);
diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Tue May 22 11:03:43 2012 +0200
@@ -42,17 +42,76 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
+int libxl_sched_set_defaults(libxl_ctx *ctx,
+                             uint32_t poolid, libxl_sched_params *scparams)
+{
+    libxl_cpupoolinfo *poolinfo;
+    struct xen_domctl_sched_credit credit_info;
+    struct xen_domctl_sched_credit2 credit2_info;
+    struct xen_domctl_sched_sedf sedf_info;
+    int n_pools, p;
+    int ret;
+
+    poolinfo = libxl_list_cpupool(ctx, &n_pools);
+    if (!poolinfo)
+        return ERROR_NOMEM;
+
+    ret = ERROR_INVAL;
+    for (p = 0; p < n_pools; p++) {
+        if (poolinfo[p].poolid == poolid) {
+            scparams->sched = poolinfo[p].sched;
+            ret = 0;
+        }
+        libxl_cpupoolinfo_dispose(poolinfo + p);
+    }
+
+    if (!ret) {
+        switch (scparams->sched) {
+            case LIBXL_SCHEDULER_SEDF:
+                if (xc_sched_sedf_defaults_get(ctx->xch, poolid,
+                                               &sedf_info))
+                    ret = ERROR_FAIL;
+                else {
+                    scparams->period = sedf_info.period;
+                    scparams->slice = sedf_info.slice;
+                    scparams->latency = sedf_info.latency;
+                    scparams->extratime = sedf_info.extratime;
+                    scparams->weight = sedf_info.weight;
+                }
+                break;
+            case LIBXL_SCHEDULER_CREDIT:
+                if (xc_sched_credit_defaults_get(ctx->xch, poolid,
+                                                 &credit_info))
+                    ret = ERROR_FAIL;
+                else {
+                    scparams->weight = credit_info.weight;
+                    scparams->cap = credit_info.cap;
+                }
+                break;
+            case LIBXL_SCHEDULER_CREDIT2:
+                if (xc_sched_credit2_defaults_get(ctx->xch, poolid,
+                                                  &credit2_info))
+                    ret = ERROR_FAIL;
+                else {
+                    scparams->weight = credit2_info.weight;
+                }
+                break;
+            default: ret = ERROR_INVAL;
+        }
+    }
+
+    return ret;
+}
+
 int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
     libxl_sched_sedf_domain sedf_info;
     libxl_sched_credit_domain credit_info;
     libxl_sched_credit2_domain credit2_info;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
-    switch (sched) {
+    switch (scparams->sched) {
     case LIBXL_SCHEDULER_SEDF:
       sedf_info.period = scparams->period;
       sedf_info.slice = scparams->slice;
diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/libxl_types.idl	Tue May 22 11:03:43 2012 +0200
@@ -225,6 +225,7 @@ MemKB = UInt(64, init_val = "LIBXL_MEMKB
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_sched_params = Struct("sched_params",[
+    ("sched",        libxl_scheduler),
     ("weight",       integer),
     ("cap",          integer),
     ("tslice_ms",    integer),
diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 22 11:03:43 2012 +0200
@@ -628,6 +628,10 @@ static void parse_config_data(const char
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
     /* the following is the actual config parsing with overriding values in the structures */
+    if (libxl_sched_set_defaults(ctx, c_info->poolid, &b_info->sched_params)) {
+        fprintf(stderr, "Failed to set default scheduling parameters\n");
+        exit(1);
+    }
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
@@ -639,11 +643,11 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;

--===============8243412407074481295==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8243412407074481295==--


From xen-devel-bounces@lists.xen.org Tue May 22 09:28:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:28:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlNq-0000ZK-Q7; Tue, 22 May 2012 09:28:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlNo-0000Yt-S6
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:28:01 +0000
Received: from [85.158.139.83:50818] by server-7.bemta-5.messagelabs.com id
	A6/7B-12065-02C5BBF4; Tue, 22 May 2012 09:28:00 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337678878!22352569!2
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23366 invoked from network); 22 May 2012 09:27:59 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:27:59 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:In-Reply-To:Date:From:To;
	b=mGFhiBsKYeLvRiqtwyqfYJadKkA7wOJ+getyZwgd/j7sS7itV1iALDbg
	x2MhB2irPZJIsrFZTqgDJ5mCcQbd+pVn0W25q0hV6dMlKJctPUMdg5c5X
	QkQ+/rudWpLKQXlAqs/MBvPmHRmtwuCuRsyOW8npxj+79kULWI9aQ2p5h
	KMJNgK7VlryIT4cu05Msbq20bMA125zx2yS0WvSBSkb1Hq/uAj78ehssn
	+e6s8LEZVTeIgJ4GLA5t+lPWiaUf3;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678879; x=1369214879;
	h=mime-version:subject:message-id:in-reply-to:date:from:to;
	bh=Yple91JS53Nj4u9uKT1bT6hHHeI6Nu+E3J/fZJV/Rn0=;
	b=S3Gunef2k0YKsJcRN0iRn/7lej8k1wC12D+SfCAwMZMZbDhGiA3vRouH
	031H6dElgU5+0wr03SKky4ybKW71Zbak+/6n8XLwanncna1kIpzvCcaMs
	ES8fMthLtitCSNT12gm6vX5eJce4iWCsL7isZVYK66Dw5LeayXmQ8rBMz
	VGCkc6Hryd8OeHS8JpbcnOmrMUgpIJvBMSP6MbRwu9vdHO7U2Fbtl66Sq
	JfCq0u3a4mWpdxbBnDSKIe2bkd332;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94066362"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134741009"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 8E356965830;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============8243412407074481295=="
MIME-Version: 1.0
X-Mercurial-Node: 953383741ff44d97587c2e75da79b092523d6e83
Message-Id: <953383741ff44d97587c.1337678214@nehalem1>
In-Reply-To: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:54 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
	parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8243412407074481295==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Obtains default scheduler parameters before modifying any settings specified
via domain config.

Corrected an error for setting sedf parameters (setting .period multiple
times).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


4 files changed, 72 insertions(+), 6 deletions(-)
tools/libxl/libxl.h         |    2 +
tools/libxl/libxl_dom.c     |   65 +++++++++++++++++++++++++++++++++++++++++--
tools/libxl/libxl_types.idl |    1 
tools/libxl/xl_cmdimpl.c    |   10 ++++--



--===============8243412407074481295==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg-3.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337677423 -7200
# Node ID 953383741ff44d97587c2e75da79b092523d6e83
# Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
full support of setting scheduler parameters on domain creation

Obtains default scheduler parameters before modifying any settings specified
via domain config.

Corrected an error for setting sedf parameters (setting .period multiple
times).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/libxl.h	Tue May 22 11:03:43 2012 +0200
@@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
 /* May be called with info_r == NULL to check for domain's existance */
 int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
                       uint32_t domid);
+int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
+                             libxl_sched_params *scparams);
 libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain);
 void libxl_dominfo_list_free(libxl_dominfo *list, int nr);
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool);
diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Tue May 22 11:03:43 2012 +0200
@@ -42,17 +42,76 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
+int libxl_sched_set_defaults(libxl_ctx *ctx,
+                             uint32_t poolid, libxl_sched_params *scparams)
+{
+    libxl_cpupoolinfo *poolinfo;
+    struct xen_domctl_sched_credit credit_info;
+    struct xen_domctl_sched_credit2 credit2_info;
+    struct xen_domctl_sched_sedf sedf_info;
+    int n_pools, p;
+    int ret;
+
+    poolinfo = libxl_list_cpupool(ctx, &n_pools);
+    if (!poolinfo)
+        return ERROR_NOMEM;
+
+    ret = ERROR_INVAL;
+    for (p = 0; p < n_pools; p++) {
+        if (poolinfo[p].poolid == poolid) {
+            scparams->sched = poolinfo[p].sched;
+            ret = 0;
+        }
+        libxl_cpupoolinfo_dispose(poolinfo + p);
+    }
+
+    if (!ret) {
+        switch (scparams->sched) {
+            case LIBXL_SCHEDULER_SEDF:
+                if (xc_sched_sedf_defaults_get(ctx->xch, poolid,
+                                               &sedf_info))
+                    ret = ERROR_FAIL;
+                else {
+                    scparams->period = sedf_info.period;
+                    scparams->slice = sedf_info.slice;
+                    scparams->latency = sedf_info.latency;
+                    scparams->extratime = sedf_info.extratime;
+                    scparams->weight = sedf_info.weight;
+                }
+                break;
+            case LIBXL_SCHEDULER_CREDIT:
+                if (xc_sched_credit_defaults_get(ctx->xch, poolid,
+                                                 &credit_info))
+                    ret = ERROR_FAIL;
+                else {
+                    scparams->weight = credit_info.weight;
+                    scparams->cap = credit_info.cap;
+                }
+                break;
+            case LIBXL_SCHEDULER_CREDIT2:
+                if (xc_sched_credit2_defaults_get(ctx->xch, poolid,
+                                                  &credit2_info))
+                    ret = ERROR_FAIL;
+                else {
+                    scparams->weight = credit2_info.weight;
+                }
+                break;
+            default: ret = ERROR_INVAL;
+        }
+    }
+
+    return ret;
+}
+
 int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
     libxl_sched_sedf_domain sedf_info;
     libxl_sched_credit_domain credit_info;
     libxl_sched_credit2_domain credit2_info;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
-    switch (sched) {
+    switch (scparams->sched) {
     case LIBXL_SCHEDULER_SEDF:
       sedf_info.period = scparams->period;
       sedf_info.slice = scparams->slice;
diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/libxl_types.idl	Tue May 22 11:03:43 2012 +0200
@@ -225,6 +225,7 @@ MemKB = UInt(64, init_val = "LIBXL_MEMKB
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_sched_params = Struct("sched_params",[
+    ("sched",        libxl_scheduler),
     ("weight",       integer),
     ("cap",          integer),
     ("tslice_ms",    integer),
diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 10:31:30 2012 +0200
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 22 11:03:43 2012 +0200
@@ -628,6 +628,10 @@ static void parse_config_data(const char
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
     /* the following is the actual config parsing with overriding values in the structures */
+    if (libxl_sched_set_defaults(ctx, c_info->poolid, &b_info->sched_params)) {
+        fprintf(stderr, "Failed to set default scheduling parameters\n");
+        exit(1);
+    }
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
@@ -639,11 +643,11 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;

--===============8243412407074481295==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8243412407074481295==--


From xen-devel-bounces@lists.xen.org Tue May 22 09:28:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlNp-0000Z6-Vn; Tue, 22 May 2012 09:28:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlNo-0000Yq-JZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:28:00 +0000
Received: from [85.158.138.51:47057] by server-11.bemta-3.messagelabs.com id
	DA/17-18894-F1C5BBF4; Tue, 22 May 2012 09:27:59 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337678878!28403826!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjg0NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11820 invoked from network); 22 May 2012 09:27:58 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:27:58 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:
	Content-Transfer-Encoding:Subject:Message-Id:Date:From:To;
	b=QL3FAbzQIm+WmMR4BDzoJnsIfoKg+dPQbwZNbTGVDAJyDt9SBlYSMerd
	pxhPuEGLzx8h+1U8rFExrE21H6PDoyXSYFg39MHPixAMfrdfEnudsczfU
	P5g2yNDmXpZ/fAgrDCYWEaTInNrkxpvWz9nmD3GlaBWL7rvoatXaU+ZoW
	r2I8GDm40ao8GYWgR/Itir3RZBSg1VAhEpI1lOGK/WGqvyMzxE74uKbBD
	+HrUsXWvg2971g+Q6JPcCHccbrnFn;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678879; x=1369214879;
	h=mime-version:content-transfer-encoding:subject:
	message-id:date:from:to;
	bh=K6dFWsrrLwMIYsQKz91eG4o2OTcdVrsATmRghnZWU24=;
	b=UMy7zfZRk8Lirc3/ayhnn7LHTVqYdrcoQqTGOc5sGlU4Q8sl7vacJWEl
	jRDWuvassWP1kDm7EUb5uMjpHfk2VCOaw32thmbvQdugqQ2sKZ/xIoznI
	mm0/3SfTvhB4PiCZfApbmo78CLDzj+BbLHax/6isQ6QzK08icSvobKZqD
	Y8oaWx7FuUaZi6etlfo6Oo60D01zM3lqiN2V8hrAvkgj5QnP2MxHk9/tT
	hVz4UdLx39r/YiVHFGvaupyNayPbA;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111078484"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134494978"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 640B6963E53;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
MIME-Version: 1.0
Message-Id: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:51 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 0 of 3] support of setting scheduler parameters
	on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Support setting scheduling parameters on domain creation.

Depending on the scheduler of the cpupool in which the domain is started,
the default parameters are obtained from the hypervisor. Any scheduling
parameters specified during domain creation will modify these defaults.

This patch series consists of 3 patches:

1: support of getting scheduler default parameters in the hypervisor
2: support in libxc
3: support in xl/libxl

14 files changed, 214 insertions(+), 28 deletions(-)
tools/libxc/xc_csched.c     |   21 +++++++++++++
tools/libxc/xc_csched2.c    |   21 +++++++++++++
tools/libxc/xc_sedf.c       |   21 +++++++++++++
tools/libxc/xenctrl.h       |   10 ++++++
tools/libxl/libxl.h         |    2 +
tools/libxl/libxl_dom.c     |   65 +++++++++++++++++++++++++++++++++++++++++--
tools/libxl/libxl_types.idl |    1 
tools/libxl/xl_cmdimpl.c    |   10 ++++--
xen/common/sched_credit.c   |    5 +++
xen/common/sched_credit2.c  |   17 +++++++++++
xen/common/sched_sedf.c     |   20 +++++++++++++
xen/common/schedule.c       |    5 +--
xen/include/public/domctl.h |   38 +++++++++++++------------
xen/include/public/sysctl.h |    6 ++-

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:28:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlNp-0000Z6-Vn; Tue, 22 May 2012 09:28:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlNo-0000Yq-JZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:28:00 +0000
Received: from [85.158.138.51:47057] by server-11.bemta-3.messagelabs.com id
	DA/17-18894-F1C5BBF4; Tue, 22 May 2012 09:27:59 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337678878!28403826!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjg0NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11820 invoked from network); 22 May 2012 09:27:58 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:27:58 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:
	Content-Transfer-Encoding:Subject:Message-Id:Date:From:To;
	b=QL3FAbzQIm+WmMR4BDzoJnsIfoKg+dPQbwZNbTGVDAJyDt9SBlYSMerd
	pxhPuEGLzx8h+1U8rFExrE21H6PDoyXSYFg39MHPixAMfrdfEnudsczfU
	P5g2yNDmXpZ/fAgrDCYWEaTInNrkxpvWz9nmD3GlaBWL7rvoatXaU+ZoW
	r2I8GDm40ao8GYWgR/Itir3RZBSg1VAhEpI1lOGK/WGqvyMzxE74uKbBD
	+HrUsXWvg2971g+Q6JPcCHccbrnFn;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678879; x=1369214879;
	h=mime-version:content-transfer-encoding:subject:
	message-id:date:from:to;
	bh=K6dFWsrrLwMIYsQKz91eG4o2OTcdVrsATmRghnZWU24=;
	b=UMy7zfZRk8Lirc3/ayhnn7LHTVqYdrcoQqTGOc5sGlU4Q8sl7vacJWEl
	jRDWuvassWP1kDm7EUb5uMjpHfk2VCOaw32thmbvQdugqQ2sKZ/xIoznI
	mm0/3SfTvhB4PiCZfApbmo78CLDzj+BbLHax/6isQ6QzK08icSvobKZqD
	Y8oaWx7FuUaZi6etlfo6Oo60D01zM3lqiN2V8hrAvkgj5QnP2MxHk9/tT
	hVz4UdLx39r/YiVHFGvaupyNayPbA;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111078484"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134494978"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 640B6963E53;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
MIME-Version: 1.0
Message-Id: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:51 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 0 of 3] support of setting scheduler parameters
	on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Support setting scheduling parameters on domain creation.

Depending on the scheduler of the cpupool in which the domain is started,
the default parameters are obtained from the hypervisor. Any scheduling
parameters specified during domain creation will modify these defaults.

This patch series consists of 3 patches:

1: support of getting scheduler default parameters in the hypervisor
2: support in libxc
3: support in xl/libxl

14 files changed, 214 insertions(+), 28 deletions(-)
tools/libxc/xc_csched.c     |   21 +++++++++++++
tools/libxc/xc_csched2.c    |   21 +++++++++++++
tools/libxc/xc_sedf.c       |   21 +++++++++++++
tools/libxc/xenctrl.h       |   10 ++++++
tools/libxl/libxl.h         |    2 +
tools/libxl/libxl_dom.c     |   65 +++++++++++++++++++++++++++++++++++++++++--
tools/libxl/libxl_types.idl |    1 
tools/libxl/xl_cmdimpl.c    |   10 ++++--
xen/common/sched_credit.c   |    5 +++
xen/common/sched_credit2.c  |   17 +++++++++++
xen/common/sched_sedf.c     |   20 +++++++++++++
xen/common/schedule.c       |    5 +--
xen/include/public/domctl.h |   38 +++++++++++++------------
xen/include/public/sysctl.h |    6 ++-

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:29:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:29:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlOr-0000hz-9H; Tue, 22 May 2012 09:29:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlOq-0000hf-1m
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:29:04 +0000
Received: from [85.158.138.51:3679] by server-4.bemta-3.messagelabs.com id
	80/DB-15341-F5C5BBF4; Tue, 22 May 2012 09:29:03 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337678941!28404088!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16854 invoked from network); 22 May 2012 09:29:01 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:29:01 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:In-Reply-To:Date:From:To;
	b=GbMZ6mcrwgbWTdZ4EbAGbSzWBVSMLTjBEhoX/0Vmoahg6/1qYKt6oBlF
	NFDfd5ZcOje+AMLU6roBc88/+3iDit6s5/7172BjVq6jr1uFe5hGGva04
	EHx2hSPe/pM0/v0QQ0SQJ0PXouHTvItTg5PZKinl41xlk1xoPYlACP/VA
	7tJaDmjaYmJMIgynyPPkOEAlgbPpCzRtBb6wrEVxJo/tXWdb8A1///3hd
	4BE6QfbdNXqRajyT8jT3p8ziop/O0;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678942; x=1369214942;
	h=mime-version:subject:message-id:in-reply-to:date:from:to;
	bh=rC4gsLzKTGVSqoQ+Mw3b8K9gKjl1PSxDme52cJR+YWw=;
	b=PPF+32uC0yFOEGonO6w3EiMs43nElkdbYUFrrnUzAz+J4qsiQSlaAlnp
	8/kFsZHNF+recdRVBNlk4RavY+HM5J6IvOd57XIi3fnzAFFVnkZXMxQav
	FHR3E3UrGMXbZYmgPCVeh6NYDP3zIF0+ZMU7WmqTQudumXJ3CKGl0T1Lh
	+V8dxyGXXzZ3vr9qQ3c2R7VF1ng+D5236AOV7czJlhVcapanmt1QvkD4n
	zpmMrDRl35VylE0tfMOoWl/Azrzp+;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94066359"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134741007"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 73B21965830;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============4599931488081339510=="
MIME-Version: 1.0
X-Mercurial-Node: 56c50b3f6cc3eb1de8b86024d0e41e65345d9a79
Message-Id: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
In-Reply-To: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:52 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4599931488081339510==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Support a new sysctl schedop sub-command to get the scheduling defaults of a
specific scheduler.

Additionally correct parameter checking of the sysctl handling in schedule.c
(checked wrong sub-commands: domctl instead of sysctl).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


6 files changed, 69 insertions(+), 22 deletions(-)
xen/common/sched_credit.c   |    5 +++++
xen/common/sched_credit2.c  |   17 +++++++++++++++++
xen/common/sched_sedf.c     |   20 ++++++++++++++++++++
xen/common/schedule.c       |    5 +++--
xen/include/public/domctl.h |   38 ++++++++++++++++++++------------------
xen/include/public/sysctl.h |    6 ++++--



--===============4599931488081339510==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg-3.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337674472 -7200
# Node ID 56c50b3f6cc3eb1de8b86024d0e41e65345d9a79
# Parent  238900a4ed227d04c164d4cd12dfc66f7a25b946
Support of getting scheduler defaults

Support a new sysctl schedop sub-command to get the scheduling defaults of a
specific scheduler.

Additionally correct parameter checking of the sysctl handling in schedule.c
(checked wrong sub-commands: domctl instead of sysctl).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/sched_credit.c
--- a/xen/common/sched_credit.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/sched_credit.c	Tue May 22 10:14:32 2012 +0200
@@ -858,6 +858,11 @@ csched_sys_cntl(const struct scheduler *
         params->ratelimit_us = prv->ratelimit_us;
         rc = 0;
         break;
+    case XEN_SYSCTL_SCHEDOP_getdefaults:
+        sc->u.defaults.credit.weight = CSCHED_DEFAULT_WEIGHT;
+        sc->u.defaults.credit.cap = 0U;
+        rc = 0;
+        break;
     }
     out:
     return rc;
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/sched_credit2.c
--- a/xen/common/sched_credit2.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/sched_credit2.c	Tue May 22 10:14:32 2012 +0200
@@ -1423,6 +1423,22 @@ csched_dom_cntl(
     return 0;
 }
 
+static int
+csched_sys_cntl(const struct scheduler *ops,
+                        struct xen_sysctl_scheduler_op *sc)
+{
+    int rc = -EINVAL;
+
+    switch ( sc->cmd )
+    {
+    case XEN_SYSCTL_SCHEDOP_getdefaults:
+        sc->u.defaults.credit2.weight = CSCHED_DEFAULT_WEIGHT;
+        rc = 0;
+        break;
+    }
+    return rc;
+}
+
 static void *
 csched_alloc_domdata(const struct scheduler *ops, struct domain *dom)
 {
@@ -2110,6 +2126,7 @@ const struct scheduler sched_credit2_def
     .wake           = csched_vcpu_wake,
 
     .adjust         = csched_dom_cntl,
+    .adjust_global  = csched_sys_cntl,
 
     .pick_cpu       = csched_cpu_pick,
     .migrate        = csched_vcpu_migrate,
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/sched_sedf.c
--- a/xen/common/sched_sedf.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/sched_sedf.c	Tue May 22 10:14:32 2012 +0200
@@ -1502,6 +1502,25 @@ out:
     return rc;
 }
 
+static int sedf_adjust_global(const struct scheduler *ops,
+                              struct xen_sysctl_scheduler_op *sc)
+{
+    int rc = -EINVAL;
+
+    switch ( sc->cmd )
+    {
+    case XEN_SYSCTL_SCHEDOP_getdefaults:
+        sc->u.defaults.sedf.period = WEIGHT_PERIOD;
+        sc->u.defaults.sedf.slice = 0;
+        sc->u.defaults.sedf.latency = 0;
+        sc->u.defaults.sedf.extratime = EXTRA_AWARE;
+        sc->u.defaults.sedf.weight = 0;
+        rc = 0;
+        break;
+    }
+    return rc;
+}
+
 static struct sedf_priv_info _sedf_priv;
 
 const struct scheduler sched_sedf_def = {
@@ -1531,6 +1550,7 @@ const struct scheduler sched_sedf_def = 
     .sleep          = sedf_sleep,
     .wake           = sedf_wake,
     .adjust         = sedf_adjust,
+    .adjust_global  = sedf_adjust_global,
 };
 
 /*
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/schedule.c
--- a/xen/common/schedule.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/schedule.c	Tue May 22 10:14:32 2012 +0200
@@ -1029,8 +1029,9 @@ long sched_adjust_global(struct xen_sysc
     struct cpupool *pool;
     int rc;
 
-    if ( (op->cmd != XEN_DOMCTL_SCHEDOP_putinfo) &&
-         (op->cmd != XEN_DOMCTL_SCHEDOP_getinfo) )
+    if ( (op->cmd != XEN_SYSCTL_SCHEDOP_putinfo) &&
+         (op->cmd != XEN_SYSCTL_SCHEDOP_getinfo) &&
+         (op->cmd != XEN_SYSCTL_SCHEDOP_getdefaults))
         return -EINVAL;
 
     pool = cpupool_get_by_id(op->cpupool_id);
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/include/public/domctl.h
--- a/xen/include/public/domctl.h	Mon May 21 12:03:32 2012 +0200
+++ b/xen/include/public/domctl.h	Tue May 22 10:14:32 2012 +0200
@@ -303,28 +303,30 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_max_v
 #define XEN_SCHEDULER_CREDIT   5
 #define XEN_SCHEDULER_CREDIT2  6
 #define XEN_SCHEDULER_ARINC653 7
+/* Scheduling parameters (used in sysctl.h, too) */
+union xen_sched_par {
+    struct xen_domctl_sched_sedf {
+        uint64_aligned_t period;
+        uint64_aligned_t slice;
+        uint64_aligned_t latency;
+        uint32_t extratime;
+        uint32_t weight;
+    } sedf;
+    struct xen_domctl_sched_credit {
+        uint16_t weight;
+        uint16_t cap;
+    } credit;
+    struct xen_domctl_sched_credit2 {
+        uint16_t weight;
+    } credit2;
+};
 /* Set or get info? */
-#define XEN_DOMCTL_SCHEDOP_putinfo 0
-#define XEN_DOMCTL_SCHEDOP_getinfo 1
+#define XEN_DOMCTL_SCHEDOP_putinfo  0
+#define XEN_DOMCTL_SCHEDOP_getinfo  1
 struct xen_domctl_scheduler_op {
     uint32_t sched_id;  /* XEN_SCHEDULER_* */
     uint32_t cmd;       /* XEN_DOMCTL_SCHEDOP_* */
-    union {
-        struct xen_domctl_sched_sedf {
-            uint64_aligned_t period;
-            uint64_aligned_t slice;
-            uint64_aligned_t latency;
-            uint32_t extratime;
-            uint32_t weight;
-        } sedf;
-        struct xen_domctl_sched_credit {
-            uint16_t weight;
-            uint16_t cap;
-        } credit;
-        struct xen_domctl_sched_credit2 {
-            uint16_t weight;
-        } credit2;
-    } u;
+    union xen_sched_par u;
 };
 typedef struct xen_domctl_scheduler_op xen_domctl_scheduler_op_t;
 DEFINE_XEN_GUEST_HANDLE(xen_domctl_scheduler_op_t);
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/include/public/sysctl.h
--- a/xen/include/public/sysctl.h	Mon May 21 12:03:32 2012 +0200
+++ b/xen/include/public/sysctl.h	Tue May 22 10:14:32 2012 +0200
@@ -579,8 +579,9 @@ DEFINE_XEN_GUEST_HANDLE(xen_sysctl_credi
 
 /* XEN_SYSCTL_scheduler_op */
 /* Set or get info? */
-#define XEN_SYSCTL_SCHEDOP_putinfo 0
-#define XEN_SYSCTL_SCHEDOP_getinfo 1
+#define XEN_SYSCTL_SCHEDOP_putinfo     0
+#define XEN_SYSCTL_SCHEDOP_getinfo     1
+#define XEN_SYSCTL_SCHEDOP_getdefaults 2
 struct xen_sysctl_scheduler_op {
     uint32_t cpupool_id; /* Cpupool whose scheduler is to be targetted. */
     uint32_t sched_id;   /* XEN_SCHEDULER_* (domctl.h) */
@@ -590,6 +591,7 @@ struct xen_sysctl_scheduler_op {
             XEN_GUEST_HANDLE_64(xen_sysctl_arinc653_schedule_t) schedule;
         } sched_arinc653;
         struct xen_sysctl_credit_schedule sched_credit;
+        union xen_sched_par defaults;
     } u;
 };
 typedef struct xen_sysctl_scheduler_op xen_sysctl_scheduler_op_t;

--===============4599931488081339510==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4599931488081339510==--


From xen-devel-bounces@lists.xen.org Tue May 22 09:29:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:29:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlOr-0000hz-9H; Tue, 22 May 2012 09:29:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWlOq-0000hf-1m
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:29:04 +0000
Received: from [85.158.138.51:3679] by server-4.bemta-3.messagelabs.com id
	80/DB-15341-F5C5BBF4; Tue, 22 May 2012 09:29:03 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337678941!28404088!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16854 invoked from network); 22 May 2012 09:29:01 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:29:01 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Content-Type:MIME-Version:Subject:
	X-Mercurial-Node:Message-Id:In-Reply-To:Date:From:To;
	b=GbMZ6mcrwgbWTdZ4EbAGbSzWBVSMLTjBEhoX/0Vmoahg6/1qYKt6oBlF
	NFDfd5ZcOje+AMLU6roBc88/+3iDit6s5/7172BjVq6jr1uFe5hGGva04
	EHx2hSPe/pM0/v0QQ0SQJ0PXouHTvItTg5PZKinl41xlk1xoPYlACP/VA
	7tJaDmjaYmJMIgynyPPkOEAlgbPpCzRtBb6wrEVxJo/tXWdb8A1///3hd
	4BE6QfbdNXqRajyT8jT3p8ziop/O0;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337678942; x=1369214942;
	h=mime-version:subject:message-id:in-reply-to:date:from:to;
	bh=rC4gsLzKTGVSqoQ+Mw3b8K9gKjl1PSxDme52cJR+YWw=;
	b=PPF+32uC0yFOEGonO6w3EiMs43nElkdbYUFrrnUzAz+J4qsiQSlaAlnp
	8/kFsZHNF+recdRVBNlk4RavY+HM5J6IvOd57XIi3fnzAFFVnkZXMxQav
	FHR3E3UrGMXbZYmgPCVeh6NYDP3zIF0+ZMU7WmqTQudumXJ3CKGl0T1Lh
	+V8dxyGXXzZ3vr9qQ3c2R7VF1ng+D5236AOV7czJlhVcapanmt1QvkD4n
	zpmMrDRl35VylE0tfMOoWl/Azrzp+;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94066359"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134741007"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 11:27:57 +0200
Received: from [172.17.21.25] (nehalem1.osd.mch.fsc.net [172.17.21.25])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 73B21965830;
	Tue, 22 May 2012 11:27:57 +0200 (CEST)
Content-Type: multipart/mixed; boundary="===============4599931488081339510=="
MIME-Version: 1.0
X-Mercurial-Node: 56c50b3f6cc3eb1de8b86024d0e41e65345d9a79
Message-Id: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
In-Reply-To: <patchbomb.1337678211@nehalem1>
Date: Tue, 22 May 2012 11:16:52 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4599931488081339510==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Support a new sysctl schedop sub-command to get the scheduling defaults of a
specific scheduler.

Additionally correct parameter checking of the sysctl handling in schedule.c
(checked wrong sub-commands: domctl instead of sysctl).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


6 files changed, 69 insertions(+), 22 deletions(-)
xen/common/sched_credit.c   |    5 +++++
xen/common/sched_credit2.c  |   17 +++++++++++++++++
xen/common/sched_sedf.c     |   20 ++++++++++++++++++++
xen/common/schedule.c       |    5 +++--
xen/include/public/domctl.h |   38 ++++++++++++++++++++------------------
xen/include/public/sysctl.h |    6 ++++--



--===============4599931488081339510==
Content-Type: text/x-patch; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=xen-staging.hg-3.patch

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1337674472 -7200
# Node ID 56c50b3f6cc3eb1de8b86024d0e41e65345d9a79
# Parent  238900a4ed227d04c164d4cd12dfc66f7a25b946
Support of getting scheduler defaults

Support a new sysctl schedop sub-command to get the scheduling defaults of a
specific scheduler.

Additionally correct parameter checking of the sysctl handling in schedule.c
(checked wrong sub-commands: domctl instead of sysctl).

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>

diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/sched_credit.c
--- a/xen/common/sched_credit.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/sched_credit.c	Tue May 22 10:14:32 2012 +0200
@@ -858,6 +858,11 @@ csched_sys_cntl(const struct scheduler *
         params->ratelimit_us = prv->ratelimit_us;
         rc = 0;
         break;
+    case XEN_SYSCTL_SCHEDOP_getdefaults:
+        sc->u.defaults.credit.weight = CSCHED_DEFAULT_WEIGHT;
+        sc->u.defaults.credit.cap = 0U;
+        rc = 0;
+        break;
     }
     out:
     return rc;
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/sched_credit2.c
--- a/xen/common/sched_credit2.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/sched_credit2.c	Tue May 22 10:14:32 2012 +0200
@@ -1423,6 +1423,22 @@ csched_dom_cntl(
     return 0;
 }
 
+static int
+csched_sys_cntl(const struct scheduler *ops,
+                        struct xen_sysctl_scheduler_op *sc)
+{
+    int rc = -EINVAL;
+
+    switch ( sc->cmd )
+    {
+    case XEN_SYSCTL_SCHEDOP_getdefaults:
+        sc->u.defaults.credit2.weight = CSCHED_DEFAULT_WEIGHT;
+        rc = 0;
+        break;
+    }
+    return rc;
+}
+
 static void *
 csched_alloc_domdata(const struct scheduler *ops, struct domain *dom)
 {
@@ -2110,6 +2126,7 @@ const struct scheduler sched_credit2_def
     .wake           = csched_vcpu_wake,
 
     .adjust         = csched_dom_cntl,
+    .adjust_global  = csched_sys_cntl,
 
     .pick_cpu       = csched_cpu_pick,
     .migrate        = csched_vcpu_migrate,
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/sched_sedf.c
--- a/xen/common/sched_sedf.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/sched_sedf.c	Tue May 22 10:14:32 2012 +0200
@@ -1502,6 +1502,25 @@ out:
     return rc;
 }
 
+static int sedf_adjust_global(const struct scheduler *ops,
+                              struct xen_sysctl_scheduler_op *sc)
+{
+    int rc = -EINVAL;
+
+    switch ( sc->cmd )
+    {
+    case XEN_SYSCTL_SCHEDOP_getdefaults:
+        sc->u.defaults.sedf.period = WEIGHT_PERIOD;
+        sc->u.defaults.sedf.slice = 0;
+        sc->u.defaults.sedf.latency = 0;
+        sc->u.defaults.sedf.extratime = EXTRA_AWARE;
+        sc->u.defaults.sedf.weight = 0;
+        rc = 0;
+        break;
+    }
+    return rc;
+}
+
 static struct sedf_priv_info _sedf_priv;
 
 const struct scheduler sched_sedf_def = {
@@ -1531,6 +1550,7 @@ const struct scheduler sched_sedf_def = 
     .sleep          = sedf_sleep,
     .wake           = sedf_wake,
     .adjust         = sedf_adjust,
+    .adjust_global  = sedf_adjust_global,
 };
 
 /*
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/common/schedule.c
--- a/xen/common/schedule.c	Mon May 21 12:03:32 2012 +0200
+++ b/xen/common/schedule.c	Tue May 22 10:14:32 2012 +0200
@@ -1029,8 +1029,9 @@ long sched_adjust_global(struct xen_sysc
     struct cpupool *pool;
     int rc;
 
-    if ( (op->cmd != XEN_DOMCTL_SCHEDOP_putinfo) &&
-         (op->cmd != XEN_DOMCTL_SCHEDOP_getinfo) )
+    if ( (op->cmd != XEN_SYSCTL_SCHEDOP_putinfo) &&
+         (op->cmd != XEN_SYSCTL_SCHEDOP_getinfo) &&
+         (op->cmd != XEN_SYSCTL_SCHEDOP_getdefaults))
         return -EINVAL;
 
     pool = cpupool_get_by_id(op->cpupool_id);
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/include/public/domctl.h
--- a/xen/include/public/domctl.h	Mon May 21 12:03:32 2012 +0200
+++ b/xen/include/public/domctl.h	Tue May 22 10:14:32 2012 +0200
@@ -303,28 +303,30 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_max_v
 #define XEN_SCHEDULER_CREDIT   5
 #define XEN_SCHEDULER_CREDIT2  6
 #define XEN_SCHEDULER_ARINC653 7
+/* Scheduling parameters (used in sysctl.h, too) */
+union xen_sched_par {
+    struct xen_domctl_sched_sedf {
+        uint64_aligned_t period;
+        uint64_aligned_t slice;
+        uint64_aligned_t latency;
+        uint32_t extratime;
+        uint32_t weight;
+    } sedf;
+    struct xen_domctl_sched_credit {
+        uint16_t weight;
+        uint16_t cap;
+    } credit;
+    struct xen_domctl_sched_credit2 {
+        uint16_t weight;
+    } credit2;
+};
 /* Set or get info? */
-#define XEN_DOMCTL_SCHEDOP_putinfo 0
-#define XEN_DOMCTL_SCHEDOP_getinfo 1
+#define XEN_DOMCTL_SCHEDOP_putinfo  0
+#define XEN_DOMCTL_SCHEDOP_getinfo  1
 struct xen_domctl_scheduler_op {
     uint32_t sched_id;  /* XEN_SCHEDULER_* */
     uint32_t cmd;       /* XEN_DOMCTL_SCHEDOP_* */
-    union {
-        struct xen_domctl_sched_sedf {
-            uint64_aligned_t period;
-            uint64_aligned_t slice;
-            uint64_aligned_t latency;
-            uint32_t extratime;
-            uint32_t weight;
-        } sedf;
-        struct xen_domctl_sched_credit {
-            uint16_t weight;
-            uint16_t cap;
-        } credit;
-        struct xen_domctl_sched_credit2 {
-            uint16_t weight;
-        } credit2;
-    } u;
+    union xen_sched_par u;
 };
 typedef struct xen_domctl_scheduler_op xen_domctl_scheduler_op_t;
 DEFINE_XEN_GUEST_HANDLE(xen_domctl_scheduler_op_t);
diff -r 238900a4ed22 -r 56c50b3f6cc3 xen/include/public/sysctl.h
--- a/xen/include/public/sysctl.h	Mon May 21 12:03:32 2012 +0200
+++ b/xen/include/public/sysctl.h	Tue May 22 10:14:32 2012 +0200
@@ -579,8 +579,9 @@ DEFINE_XEN_GUEST_HANDLE(xen_sysctl_credi
 
 /* XEN_SYSCTL_scheduler_op */
 /* Set or get info? */
-#define XEN_SYSCTL_SCHEDOP_putinfo 0
-#define XEN_SYSCTL_SCHEDOP_getinfo 1
+#define XEN_SYSCTL_SCHEDOP_putinfo     0
+#define XEN_SYSCTL_SCHEDOP_getinfo     1
+#define XEN_SYSCTL_SCHEDOP_getdefaults 2
 struct xen_sysctl_scheduler_op {
     uint32_t cpupool_id; /* Cpupool whose scheduler is to be targetted. */
     uint32_t sched_id;   /* XEN_SCHEDULER_* (domctl.h) */
@@ -590,6 +591,7 @@ struct xen_sysctl_scheduler_op {
             XEN_GUEST_HANDLE_64(xen_sysctl_arinc653_schedule_t) schedule;
         } sched_arinc653;
         struct xen_sysctl_credit_schedule sched_credit;
+        union xen_sched_par defaults;
     } u;
 };
 typedef struct xen_sysctl_scheduler_op xen_sysctl_scheduler_op_t;

--===============4599931488081339510==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4599931488081339510==--


From xen-devel-bounces@lists.xen.org Tue May 22 09:32:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:32:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlS2-00014p-2F; Tue, 22 May 2012 09:32:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SWlRz-00014W-En
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:32:20 +0000
Received: from [85.158.138.51:40700] by server-10.bemta-3.messagelabs.com id
	BF/7F-29478-22D5BBF4; Tue, 22 May 2012 09:32:18 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337679135!28405068!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgzMzg2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4373 invoked from network); 22 May 2012 09:32:16 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-8.tower-174.messagelabs.com with SMTP;
	22 May 2012 09:32:16 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 22 May 2012 02:32:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="146169354"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 22 May 2012 02:32:01 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 02:32:01 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 17:31:59 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus online/offline sys interface (v2)
Thread-Index: Ac03/bwan9cpwnVbQ7eTLuUaOhZRDw==
Date: Tue, 22 May 2012 09:31:59 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351D7001@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 3/3] Xen physical cpus online/offline sys
	interface (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From ad2b459545bda8cc85fd7baf728546f7b6a49252 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Wed, 23 May 2012 01:16:49 +0800
Subject: [PATCH 3/3] Xen physical cpus online/offline sys interface

This patch provide Xen physical cpus online/offline sys interface.
User can use it for their own purpose, like power saving:
by offlining some cpus when light workload it save power greatly.

Its basic workflow is, user online/offline cpu via sys interface,
then hypercall xen to implement, after done xen inject virq back to dom0,
and then dom0 sync cpu status.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
---
 .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
 drivers/xen/Makefile                               |    1 +
 drivers/xen/pcpu.c                                 |  371 ++++++++++++++++=
++++
 include/xen/interface/platform.h                   |    8 +
 include/xen/interface/xen.h                        |    1 +
 5 files changed, 401 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-devices-system-xen_cpu
 create mode 100644 drivers/xen/pcpu.c

diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu b/Docum=
entation/ABI/testing/sysfs-devices-system-xen_cpu
new file mode 100644
index 0000000..9ca02fb
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
@@ -0,0 +1,20 @@
+What:		/sys/devices/system/xen_cpu/
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		A collection of global/individual Xen physical cpu attributes
+
+		Individual physical cpu attributes are contained in
+		subdirectories named by the Xen's logical cpu number, e.g.:
+		/sys/devices/system/xen_cpu/xen_cpu#/
+
+
+What:		/sys/devices/system/xen_cpu/xen_cpu#/online
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		Interface to online/offline Xen physical cpus
+
+		When running under Xen platform, it provide user interface
+		to online/offline physical cpus, except cpu0 due to several
+		logic restrictions and assumptions.
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 1d3e763..d12d14d 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o
+obj-$(CONFIG_XEN_DOM0)			+=3D pcpu.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
new file mode 100644
index 0000000..067fcfa
--- /dev/null
+++ b/drivers/xen/pcpu.c
@@ -0,0 +1,371 @@
+/*************************************************************************=
*****
+ * pcpu.c
+ * Management physical cpu in dom0, get pcpu info and provide sys interfac=
e
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/interrupt.h>
+#include <linux/spinlock.h>
+#include <linux/cpu.h>
+#include <linux/stat.h>
+#include <linux/capability.h>
+
+#include <xen/xen.h>
+#include <xen/xenbus.h>
+#include <xen/events.h>
+#include <xen/interface/platform.h>
+#include <asm/xen/hypervisor.h>
+#include <asm/xen/hypercall.h>
+
+#define XEN_PCPU "xen_cpu: "
+
+/*
+ * @cpu_id: Xen physical cpu logic number
+ * @flags: Xen physical cpu status flag
+ * - XEN_PCPU_FLAGS_ONLINE: cpu is online
+ * - XEN_PCPU_FLAGS_INVALID: cpu is not present
+ */
+struct pcpu {
+	struct list_head list;
+	struct device dev;
+	uint32_t cpu_id;
+	uint32_t flags;
+};
+
+static struct bus_type xen_pcpu_subsys =3D {
+	.name =3D "xen_cpu",
+	.dev_name =3D "xen_cpu",
+};
+
+static DEFINE_MUTEX(xen_pcpu_lock);
+
+static LIST_HEAD(xen_pcpus);
+
+static int xen_pcpu_down(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_offline,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static int xen_pcpu_up(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_online,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static ssize_t show_online(struct device *dev,
+			   struct device_attribute *attr,
+			   char *buf)
+{
+	struct pcpu *cpu =3D container_of(dev, struct pcpu, dev);
+
+	return sprintf(buf, "%u\n", !!(cpu->flags & XEN_PCPU_FLAGS_ONLINE));
+}
+
+static ssize_t __ref store_online(struct device *dev,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
+{
+	struct pcpu *pcpu =3D container_of(dev, struct pcpu, dev);
+	unsigned long long val;
+	ssize_t ret;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	if (kstrtoull(buf, 0, &val) < 0)
+		return -EINVAL;
+
+	switch (val) {
+	case 0:
+		ret =3D xen_pcpu_down(pcpu->cpu_id);
+		break;
+	case 1:
+		ret =3D xen_pcpu_up(pcpu->cpu_id);
+		break;
+	default:
+		ret =3D -EINVAL;
+	}
+
+	if (ret >=3D 0)
+		ret =3D count;
+	return ret;
+}
+static DEVICE_ATTR(online, S_IRUGO | S_IWUSR, show_online, store_online);
+
+static bool xen_pcpu_online(uint32_t flags)
+{
+	return !!(flags & XEN_PCPU_FLAGS_ONLINE);
+}
+
+static void pcpu_online_status(struct xenpf_pcpuinfo *info,
+			       struct pcpu *pcpu)
+{
+	if (xen_pcpu_online(info->flags) &&
+	   !xen_pcpu_online(pcpu->flags)) {
+		/* the pcpu is onlined */
+		pcpu->flags |=3D XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_ONLINE);
+	} else if (!xen_pcpu_online(info->flags) &&
+		    xen_pcpu_online(pcpu->flags)) {
+		/* The pcpu is offlined */
+		pcpu->flags &=3D ~XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_OFFLINE);
+	}
+}
+
+static struct pcpu *get_pcpu(uint32_t cpu_id)
+{
+	struct pcpu *pcpu;
+
+	list_for_each_entry(pcpu, &xen_pcpus, list) {
+		if (pcpu->cpu_id =3D=3D cpu_id)
+			return pcpu;
+	}
+
+	return NULL;
+}
+
+static void pcpu_release(struct device *dev)
+{
+	struct pcpu *pcpu =3D container_of(dev, struct pcpu, dev);
+
+	list_del(&pcpu->list);
+	kfree(pcpu);
+}
+
+static void unregister_and_remove_pcpu(struct pcpu *pcpu)
+{
+	struct device *dev;
+
+	if (!pcpu)
+		return;
+
+	dev =3D &pcpu->dev;
+	if (dev->id)
+		device_remove_file(dev, &dev_attr_online);
+
+	/* pcpu remove would be implicitly done */
+	device_unregister(dev);
+}
+
+static int register_pcpu(struct pcpu *pcpu)
+{
+	struct device *dev;
+	int err =3D -EINVAL;
+
+	if (!pcpu)
+		return err;
+
+	dev =3D &pcpu->dev;
+	dev->bus =3D &xen_pcpu_subsys;
+	dev->id =3D pcpu->cpu_id;
+	dev->release =3D pcpu_release;
+
+	err =3D device_register(dev);
+	if (err) {
+		pcpu_release(dev);
+		return err;
+	}
+
+	/*
+	 * Xen never offline cpu0 due to several restrictions
+	 * and assumptions. This basically doesn't add a sys control
+	 * to user, one cannot attempt to offline BSP.
+	 */
+	if (dev->id) {
+		err =3D device_create_file(dev, &dev_attr_online);
+		if (err) {
+			device_unregister(dev);
+			return err;
+		}
+	}
+
+	return 0;
+}
+
+static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info)
+{
+	struct pcpu *pcpu;
+	int err;
+
+	if (info->flags & XEN_PCPU_FLAGS_INVALID)
+		return ERR_PTR(-ENODEV);
+
+	pcpu =3D kzalloc(sizeof(struct pcpu), GFP_KERNEL);
+	if (!pcpu)
+		return ERR_PTR(-ENOMEM);
+
+	INIT_LIST_HEAD(&pcpu->list);
+	pcpu->cpu_id =3D info->xen_cpuid;
+	pcpu->flags =3D info->flags;
+
+	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
+	list_add_tail(&pcpu->list, &xen_pcpus);
+
+	err =3D register_pcpu(pcpu);
+	if (err) {
+		pr_warning(XEN_PCPU "Failed to register pcpu%u\n",
+			   info->xen_cpuid);
+		return ERR_PTR(-ENOENT);
+	}
+
+	return pcpu;
+}
+
+/*
+ * Caller should hold the xen_pcpu_lock
+ */
+static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu)
+{
+	int ret;
+	struct pcpu *pcpu =3D NULL;
+	struct xenpf_pcpuinfo *info;
+	struct xen_platform_op op =3D {
+		.cmd                   =3D XENPF_get_cpuinfo,
+		.interface_version     =3D XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid =3D cpu,
+	};
+
+	ret =3D HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return ret;
+
+	info =3D &op.u.pcpu_info;
+	if (max_cpu)
+		*max_cpu =3D info->max_present;
+
+	pcpu =3D get_pcpu(cpu);
+
+	/*
+	 * Only those at cpu present map has its sys interface.
+	 */
+	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
+		if (pcpu)
+			unregister_and_remove_pcpu(pcpu);
+		return 0;
+	}
+
+	if (!pcpu) {
+		pcpu =3D create_and_register_pcpu(info);
+		if (IS_ERR_OR_NULL(pcpu))
+			return -ENODEV;
+	} else
+		pcpu_online_status(info, pcpu);
+
+	return 0;
+}
+
+/*
+ * Sync dom0's pcpu information with xen hypervisor's
+ */
+static int xen_sync_pcpus(void)
+{
+	/*
+	 * Boot cpu always have cpu_id 0 in xen
+	 */
+	uint32_t cpu =3D 0, max_cpu =3D 0;
+	int err =3D 0;
+	struct pcpu *pcpu, *tmp;
+
+	mutex_lock(&xen_pcpu_lock);
+
+	while (!err && (cpu <=3D max_cpu)) {
+		err =3D sync_pcpu(cpu, &max_cpu);
+		cpu++;
+	}
+
+	if (err)
+		list_for_each_entry_safe(pcpu, tmp, &xen_pcpus, list)
+			unregister_and_remove_pcpu(pcpu);
+
+	mutex_unlock(&xen_pcpu_lock);
+
+	return err;
+}
+
+static void xen_pcpu_work_fn(struct work_struct *work)
+{
+	xen_sync_pcpus();
+}
+static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn);
+
+static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id)
+{
+	schedule_work(&xen_pcpu_work);
+	return IRQ_HANDLED;
+}
+
+static int __init xen_pcpu_init(void)
+{
+	int irq, ret;
+
+	if (!xen_initial_domain())
+		return -ENODEV;
+
+	irq =3D bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
+				      xen_pcpu_interrupt, 0,
+				      "xen-pcpu", NULL);
+	if (irq < 0) {
+		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
+		return irq;
+	}
+
+	ret =3D subsys_system_register(&xen_pcpu_subsys, NULL);
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
+		goto err1;
+	}
+
+	ret =3D xen_sync_pcpus();
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to sync pcpu info\n");
+		goto err2;
+	}
+
+	return 0;
+
+err2:
+	bus_unregister(&xen_pcpu_subsys);
+err1:
+	unbind_from_irqhandler(irq, NULL);
+	return ret;
+}
+arch_initcall(xen_pcpu_init);
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platf=
orm.h
index 486653f..61fa661 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -314,6 +314,13 @@ struct xenpf_pcpuinfo {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
=20
+#define XENPF_cpu_online	56
+#define XENPF_cpu_offline	57
+struct xenpf_cpu_ol {
+	uint32_t cpuid;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -330,6 +337,7 @@ struct xen_platform_op {
 		struct xenpf_getidletime       getidletime;
 		struct xenpf_set_processor_pminfo set_pminfo;
 		struct xenpf_pcpuinfo          pcpu_info;
+		struct xenpf_cpu_ol            cpu_ol;
 		uint8_t                        pad[128];
 	} u;
 };
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index a890804..0801468 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -80,6 +80,7 @@
 #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency console. =
*/
 #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event for some domain.   =
*/
 #define VIRQ_DEBUGGER   6  /* (DOM0) A domain has paused for debugging.   =
*/
+#define VIRQ_PCPU_STATE 9  /* (DOM0) PCPU state changed                   =
*/
=20
 /* Architecture-specific VIRQ definitions. */
 #define VIRQ_ARCH_0    16
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0003-Xen-physical-cpus-online-offline-sys-interface.patch"
Content-Description: 0003-Xen-physical-cpus-online-offline-sys-interface.patch
Content-Disposition: attachment;
	filename="0003-Xen-physical-cpus-online-offline-sys-interface.patch";
	size=12982; creation-date="Tue, 22 May 2012 09:22:57 GMT";
	modification-date="Tue, 22 May 2012 17:17:42 GMT"
Content-Transfer-Encoding: base64

RnJvbSBhZDJiNDU5NTQ1YmRhOGNjODVmZDdiYWY3Mjg1NDZmN2I2YTQ5MjUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogV2VkLCAyMyBNYXkgMjAxMiAwMToxNjo0OSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMy8z
XSBYZW4gcGh5c2ljYWwgY3B1cyBvbmxpbmUvb2ZmbGluZSBzeXMgaW50ZXJmYWNlCgpUaGlzIHBh
dGNoIHByb3ZpZGUgWGVuIHBoeXNpY2FsIGNwdXMgb25saW5lL29mZmxpbmUgc3lzIGludGVyZmFj
ZS4KVXNlciBjYW4gdXNlIGl0IGZvciB0aGVpciBvd24gcHVycG9zZSwgbGlrZSBwb3dlciBzYXZp
bmc6CmJ5IG9mZmxpbmluZyBzb21lIGNwdXMgd2hlbiBsaWdodCB3b3JrbG9hZCBpdCBzYXZlIHBv
d2VyIGdyZWF0bHkuCgpJdHMgYmFzaWMgd29ya2Zsb3cgaXMsIHVzZXIgb25saW5lL29mZmxpbmUg
Y3B1IHZpYSBzeXMgaW50ZXJmYWNlLAp0aGVuIGh5cGVyY2FsbCB4ZW4gdG8gaW1wbGVtZW50LCBh
ZnRlciBkb25lIHhlbiBpbmplY3QgdmlycSBiYWNrIHRvIGRvbTAsCmFuZCB0aGVuIGRvbTAgc3lu
YyBjcHUgc3RhdHVzLgoKU2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBp
bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEppYW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGlu
dGVsLmNvbT4KLS0tCiAuLi4vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2Nw
dSAgICAgICB8ICAgMjAgKwogZHJpdmVycy94ZW4vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAxICsKIGRyaXZlcnMveGVuL3BjcHUuYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDM3MSArKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS94ZW4v
aW50ZXJmYWNlL3BsYXRmb3JtLmggICAgICAgICAgICAgICAgICAgfCAgICA4ICsKIGluY2x1ZGUv
eGVuL2ludGVyZmFjZS94ZW4uaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiA1IGZp
bGVzIGNoYW5nZWQsIDQwMSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0t
eGVuX2NwdQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMveGVuL3BjcHUuYwoKZGlmZiAtLWdp
dCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2Nw
dSBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2Nw
dQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2EwMmZiCi0tLSAvZGV2L251
bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1kZXZpY2VzLXN5c3RlbS14
ZW5fY3B1CkBAIC0wLDAgKzEsMjAgQEAKK1doYXQ6CQkvc3lzL2RldmljZXMvc3lzdGVtL3hlbl9j
cHUvCitEYXRlOgkJTWF5IDIwMTIKK0NvbnRhY3Q6CUxpdSwgSmluc29uZyA8amluc29uZy5saXVA
aW50ZWwuY29tPgorRGVzY3JpcHRpb246CisJCUEgY29sbGVjdGlvbiBvZiBnbG9iYWwvaW5kaXZp
ZHVhbCBYZW4gcGh5c2ljYWwgY3B1IGF0dHJpYnV0ZXMKKworCQlJbmRpdmlkdWFsIHBoeXNpY2Fs
IGNwdSBhdHRyaWJ1dGVzIGFyZSBjb250YWluZWQgaW4KKwkJc3ViZGlyZWN0b3JpZXMgbmFtZWQg
YnkgdGhlIFhlbidzIGxvZ2ljYWwgY3B1IG51bWJlciwgZS5nLjoKKwkJL3N5cy9kZXZpY2VzL3N5
c3RlbS94ZW5fY3B1L3hlbl9jcHUjLworCisKK1doYXQ6CQkvc3lzL2RldmljZXMvc3lzdGVtL3hl
bl9jcHUveGVuX2NwdSMvb25saW5lCitEYXRlOgkJTWF5IDIwMTIKK0NvbnRhY3Q6CUxpdSwgSmlu
c29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgorRGVzY3JpcHRpb246CisJCUludGVyZmFjZSB0
byBvbmxpbmUvb2ZmbGluZSBYZW4gcGh5c2ljYWwgY3B1cworCisJCVdoZW4gcnVubmluZyB1bmRl
ciBYZW4gcGxhdGZvcm0sIGl0IHByb3ZpZGUgdXNlciBpbnRlcmZhY2UKKwkJdG8gb25saW5lL29m
ZmxpbmUgcGh5c2ljYWwgY3B1cywgZXhjZXB0IGNwdTAgZHVlIHRvIHNldmVyYWwKKwkJbG9naWMg
cmVzdHJpY3Rpb25zIGFuZCBhc3N1bXB0aW9ucy4KZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL01h
a2VmaWxlIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKaW5kZXggMWQzZTc2My4uZDEyZDE0ZCAxMDA2
NDQKLS0tIGEvZHJpdmVycy94ZW4vTWFrZWZpbGUKKysrIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUK
QEAgLTE5LDYgKzE5LDcgQEAgb2JqLSQoQ09ORklHX1hFTl9QVkhWTSkJCQkrPSBwbGF0Zm9ybS1w
Y2kubwogb2JqLSQoQ09ORklHX1hFTl9UTUVNKQkJCSs9IHRtZW0ubwogb2JqLSQoQ09ORklHX1NX
SU9UTEJfWEVOKQkJKz0gc3dpb3RsYi14ZW4ubwogb2JqLSQoQ09ORklHX1hFTl9ET00wKQkJCSs9
IHBjaS5vCitvYmotJChDT05GSUdfWEVOX0RPTTApCQkJKz0gcGNwdS5vCiBvYmotJChDT05GSUdf
WEVOX1BDSURFVl9CQUNLRU5EKQkrPSB4ZW4tcGNpYmFjay8KIG9iai0kKENPTkZJR19YRU5fUFJJ
VkNNRCkJCSs9IHhlbi1wcml2Y21kLm8KIG9iai0kKENPTkZJR19YRU5fQUNQSV9QUk9DRVNTT1Ip
CSs9IHhlbi1hY3BpLXByb2Nlc3Nvci5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wY3B1LmMg
Yi9kcml2ZXJzL3hlbi9wY3B1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MDY3ZmNmYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMveGVuL3BjcHUuYwpAQCAtMCwwICsx
LDM3MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogcGNwdS5jCisgKiBNYW5hZ2VtZW50
IHBoeXNpY2FsIGNwdSBpbiBkb20wLCBnZXQgcGNwdSBpbmZvIGFuZCBwcm92aWRlIHN5cyBpbnRl
cmZhY2UKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24KKyAqIEF1
dGhvcjogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+CisgKiBBdXRob3I6IEpp
YW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGludGVsLmNvbT4KKyAqCisgKiBUaGlzIHByb2dy
YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSB2ZXJzaW9uIDIKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBvciwgd2hlbiBkaXN0cmlidXRlZAorICogc2VwYXJhdGVseSBmcm9tIHRoZSBMaW51eCBr
ZXJuZWwgb3IgaW5jb3Jwb3JhdGVkIGludG8gb3RoZXIKKyAqIHNvZnR3YXJlIHBhY2thZ2VzLCBz
dWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgbGljZW5zZToKKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBj
b3B5CisgKiBvZiB0aGlzIHNvdXJjZSBmaWxlICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4g
dGhlIFNvZnR3YXJlIHdpdGhvdXQKKyAqIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksCisgKiBtZXJnZSwgcHVi
bGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBT
b2Z0d2FyZSwKKyAqIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBp
cyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyAqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK
KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhF
IFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRl
IDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorI2luY2x1ZGUgPGxp
bnV4L3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CisKKyNpbmNsdWRlIDx4
ZW4veGVuLmg+CisjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgorI2luY2x1ZGUgPHhlbi9ldmVudHMu
aD4KKyNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8YXNtL3hl
bi9oeXBlcnZpc29yLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcmNhbGwuaD4KKworI2RlZmlu
ZSBYRU5fUENQVSAieGVuX2NwdTogIgorCisvKgorICogQGNwdV9pZDogWGVuIHBoeXNpY2FsIGNw
dSBsb2dpYyBudW1iZXIKKyAqIEBmbGFnczogWGVuIHBoeXNpY2FsIGNwdSBzdGF0dXMgZmxhZwor
ICogLSBYRU5fUENQVV9GTEFHU19PTkxJTkU6IGNwdSBpcyBvbmxpbmUKKyAqIC0gWEVOX1BDUFVf
RkxBR1NfSU5WQUxJRDogY3B1IGlzIG5vdCBwcmVzZW50CisgKi8KK3N0cnVjdCBwY3B1IHsKKwlz
dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3RydWN0IGRldmljZSBkZXY7CisJdWludDMyX3QgY3B1
X2lkOworCXVpbnQzMl90IGZsYWdzOworfTsKKworc3RhdGljIHN0cnVjdCBidXNfdHlwZSB4ZW5f
cGNwdV9zdWJzeXMgPSB7CisJLm5hbWUgPSAieGVuX2NwdSIsCisJLmRldl9uYW1lID0gInhlbl9j
cHUiLAorfTsKKworc3RhdGljIERFRklORV9NVVRFWCh4ZW5fcGNwdV9sb2NrKTsKKworc3RhdGlj
IExJU1RfSEVBRCh4ZW5fcGNwdXMpOworCitzdGF0aWMgaW50IHhlbl9wY3B1X2Rvd24odWludDMy
X3QgY3B1X2lkKQoreworCXN0cnVjdCB4ZW5fcGxhdGZvcm1fb3Agb3AgPSB7CisJCS5jbWQJCQk9
IFhFTlBGX2NwdV9vZmZsaW5lLAorCQkuaW50ZXJmYWNlX3ZlcnNpb24JPSBYRU5QRl9JTlRFUkZB
Q0VfVkVSU0lPTiwKKwkJLnUuY3B1X29sLmNwdWlkCQk9IGNwdV9pZCwKKwl9OworCisJcmV0dXJu
IEhZUEVSVklTT1JfZG9tMF9vcCgmb3ApOworfQorCitzdGF0aWMgaW50IHhlbl9wY3B1X3VwKHVp
bnQzMl90IGNwdV9pZCkKK3sKKwlzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wIG9wID0geworCQkuY21k
CQkJPSBYRU5QRl9jcHVfb25saW5lLAorCQkuaW50ZXJmYWNlX3ZlcnNpb24JPSBYRU5QRl9JTlRF
UkZBQ0VfVkVSU0lPTiwKKwkJLnUuY3B1X29sLmNwdWlkCQk9IGNwdV9pZCwKKwl9OworCisJcmV0
dXJuIEhZUEVSVklTT1JfZG9tMF9vcCgmb3ApOworfQorCitzdGF0aWMgc3NpemVfdCBzaG93X29u
bGluZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAq
YXR0ciwKKwkJCSAgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgcGNwdSAqY3B1ID0gY29udGFpbmVy
X29mKGRldiwgc3RydWN0IHBjcHUsIGRldik7CisKKwlyZXR1cm4gc3ByaW50ZihidWYsICIldVxu
IiwgISEoY3B1LT5mbGFncyAmIFhFTl9QQ1BVX0ZMQUdTX09OTElORSkpOworfQorCitzdGF0aWMg
c3NpemVfdCBfX3JlZiBzdG9yZV9vbmxpbmUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgc3Ry
dWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICBjb25zdCBjaGFyICpidWYsIHNpemVf
dCBjb3VudCkKK3sKKwlzdHJ1Y3QgcGNwdSAqcGNwdSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVj
dCBwY3B1LCBkZXYpOworCXVuc2lnbmVkIGxvbmcgbG9uZyB2YWw7CisJc3NpemVfdCByZXQ7CisK
KwlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCisJCXJldHVybiAtRVBFUk07CisKKwlpZiAo
a3N0cnRvdWxsKGJ1ZiwgMCwgJnZhbCkgPCAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN3aXRj
aCAodmFsKSB7CisJY2FzZSAwOgorCQlyZXQgPSB4ZW5fcGNwdV9kb3duKHBjcHUtPmNwdV9pZCk7
CisJCWJyZWFrOworCWNhc2UgMToKKwkJcmV0ID0geGVuX3BjcHVfdXAocGNwdS0+Y3B1X2lkKTsK
KwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gLUVJTlZBTDsKKwl9CisKKwlpZiAocmV0ID49
IDApCisJCXJldCA9IGNvdW50OworCXJldHVybiByZXQ7Cit9CitzdGF0aWMgREVWSUNFX0FUVFIo
b25saW5lLCBTX0lSVUdPIHwgU19JV1VTUiwgc2hvd19vbmxpbmUsIHN0b3JlX29ubGluZSk7CisK
K3N0YXRpYyBib29sIHhlbl9wY3B1X29ubGluZSh1aW50MzJfdCBmbGFncykKK3sKKwlyZXR1cm4g
ISEoZmxhZ3MgJiBYRU5fUENQVV9GTEFHU19PTkxJTkUpOworfQorCitzdGF0aWMgdm9pZCBwY3B1
X29ubGluZV9zdGF0dXMoc3RydWN0IHhlbnBmX3BjcHVpbmZvICppbmZvLAorCQkJICAgICAgIHN0
cnVjdCBwY3B1ICpwY3B1KQoreworCWlmICh4ZW5fcGNwdV9vbmxpbmUoaW5mby0+ZmxhZ3MpICYm
CisJICAgIXhlbl9wY3B1X29ubGluZShwY3B1LT5mbGFncykpIHsKKwkJLyogdGhlIHBjcHUgaXMg
b25saW5lZCAqLworCQlwY3B1LT5mbGFncyB8PSBYRU5fUENQVV9GTEFHU19PTkxJTkU7CisJCWtv
YmplY3RfdWV2ZW50KCZwY3B1LT5kZXYua29iaiwgS09CSl9PTkxJTkUpOworCX0gZWxzZSBpZiAo
IXhlbl9wY3B1X29ubGluZShpbmZvLT5mbGFncykgJiYKKwkJICAgIHhlbl9wY3B1X29ubGluZShw
Y3B1LT5mbGFncykpIHsKKwkJLyogVGhlIHBjcHUgaXMgb2ZmbGluZWQgKi8KKwkJcGNwdS0+Zmxh
Z3MgJj0gflhFTl9QQ1BVX0ZMQUdTX09OTElORTsKKwkJa29iamVjdF91ZXZlbnQoJnBjcHUtPmRl
di5rb2JqLCBLT0JKX09GRkxJTkUpOworCX0KK30KKworc3RhdGljIHN0cnVjdCBwY3B1ICpnZXRf
cGNwdSh1aW50MzJfdCBjcHVfaWQpCit7CisJc3RydWN0IHBjcHUgKnBjcHU7CisKKwlsaXN0X2Zv
cl9lYWNoX2VudHJ5KHBjcHUsICZ4ZW5fcGNwdXMsIGxpc3QpIHsKKwkJaWYgKHBjcHUtPmNwdV9p
ZCA9PSBjcHVfaWQpCisJCQlyZXR1cm4gcGNwdTsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKwor
c3RhdGljIHZvaWQgcGNwdV9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qg
cGNwdSAqcGNwdSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBwY3B1LCBkZXYpOworCisJbGlz
dF9kZWwoJnBjcHUtPmxpc3QpOworCWtmcmVlKHBjcHUpOworfQorCitzdGF0aWMgdm9pZCB1bnJl
Z2lzdGVyX2FuZF9yZW1vdmVfcGNwdShzdHJ1Y3QgcGNwdSAqcGNwdSkKK3sKKwlzdHJ1Y3QgZGV2
aWNlICpkZXY7CisKKwlpZiAoIXBjcHUpCisJCXJldHVybjsKKworCWRldiA9ICZwY3B1LT5kZXY7
CisJaWYgKGRldi0+aWQpCisJCWRldmljZV9yZW1vdmVfZmlsZShkZXYsICZkZXZfYXR0cl9vbmxp
bmUpOworCisJLyogcGNwdSByZW1vdmUgd291bGQgYmUgaW1wbGljaXRseSBkb25lICovCisJZGV2
aWNlX3VucmVnaXN0ZXIoZGV2KTsKK30KKworc3RhdGljIGludCByZWdpc3Rlcl9wY3B1KHN0cnVj
dCBwY3B1ICpwY3B1KQoreworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlpbnQgZXJyID0gLUVJTlZB
TDsKKworCWlmICghcGNwdSkKKwkJcmV0dXJuIGVycjsKKworCWRldiA9ICZwY3B1LT5kZXY7CisJ
ZGV2LT5idXMgPSAmeGVuX3BjcHVfc3Vic3lzOworCWRldi0+aWQgPSBwY3B1LT5jcHVfaWQ7CisJ
ZGV2LT5yZWxlYXNlID0gcGNwdV9yZWxlYXNlOworCisJZXJyID0gZGV2aWNlX3JlZ2lzdGVyKGRl
dik7CisJaWYgKGVycikgeworCQlwY3B1X3JlbGVhc2UoZGV2KTsKKwkJcmV0dXJuIGVycjsKKwl9
CisKKwkvKgorCSAqIFhlbiBuZXZlciBvZmZsaW5lIGNwdTAgZHVlIHRvIHNldmVyYWwgcmVzdHJp
Y3Rpb25zCisJICogYW5kIGFzc3VtcHRpb25zLiBUaGlzIGJhc2ljYWxseSBkb2Vzbid0IGFkZCBh
IHN5cyBjb250cm9sCisJICogdG8gdXNlciwgb25lIGNhbm5vdCBhdHRlbXB0IHRvIG9mZmxpbmUg
QlNQLgorCSAqLworCWlmIChkZXYtPmlkKSB7CisJCWVyciA9IGRldmljZV9jcmVhdGVfZmlsZShk
ZXYsICZkZXZfYXR0cl9vbmxpbmUpOworCQlpZiAoZXJyKSB7CisJCQlkZXZpY2VfdW5yZWdpc3Rl
cihkZXYpOworCQkJcmV0dXJuIGVycjsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCitzdGF0
aWMgc3RydWN0IHBjcHUgKmNyZWF0ZV9hbmRfcmVnaXN0ZXJfcGNwdShzdHJ1Y3QgeGVucGZfcGNw
dWluZm8gKmluZm8pCit7CisJc3RydWN0IHBjcHUgKnBjcHU7CisJaW50IGVycjsKKworCWlmIChp
bmZvLT5mbGFncyAmIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQpCisJCXJldHVybiBFUlJfUFRSKC1F
Tk9ERVYpOworCisJcGNwdSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBwY3B1KSwgR0ZQX0tFUk5F
TCk7CisJaWYgKCFwY3B1KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCUlOSVRfTElT
VF9IRUFEKCZwY3B1LT5saXN0KTsKKwlwY3B1LT5jcHVfaWQgPSBpbmZvLT54ZW5fY3B1aWQ7CisJ
cGNwdS0+ZmxhZ3MgPSBpbmZvLT5mbGFnczsKKworCS8qIE5lZWQgaG9sZCBvbiB4ZW5fcGNwdV9s
b2NrIGJlZm9yZSBwY3B1IGxpc3QgbWFuaXB1bGF0aW9ucyAqLworCWxpc3RfYWRkX3RhaWwoJnBj
cHUtPmxpc3QsICZ4ZW5fcGNwdXMpOworCisJZXJyID0gcmVnaXN0ZXJfcGNwdShwY3B1KTsKKwlp
ZiAoZXJyKSB7CisJCXByX3dhcm5pbmcoWEVOX1BDUFUgIkZhaWxlZCB0byByZWdpc3RlciBwY3B1
JXVcbiIsCisJCQkgICBpbmZvLT54ZW5fY3B1aWQpOworCQlyZXR1cm4gRVJSX1BUUigtRU5PRU5U
KTsKKwl9CisKKwlyZXR1cm4gcGNwdTsKK30KKworLyoKKyAqIENhbGxlciBzaG91bGQgaG9sZCB0
aGUgeGVuX3BjcHVfbG9jaworICovCitzdGF0aWMgaW50IHN5bmNfcGNwdSh1aW50MzJfdCBjcHUs
IHVpbnQzMl90ICptYXhfY3B1KQoreworCWludCByZXQ7CisJc3RydWN0IHBjcHUgKnBjcHUgPSBO
VUxMOworCXN0cnVjdCB4ZW5wZl9wY3B1aW5mbyAqaW5mbzsKKwlzdHJ1Y3QgeGVuX3BsYXRmb3Jt
X29wIG9wID0geworCQkuY21kICAgICAgICAgICAgICAgICAgID0gWEVOUEZfZ2V0X2NwdWluZm8s
CisJCS5pbnRlcmZhY2VfdmVyc2lvbiAgICAgPSBYRU5QRl9JTlRFUkZBQ0VfVkVSU0lPTiwKKwkJ
LnUucGNwdV9pbmZvLnhlbl9jcHVpZCA9IGNwdSwKKwl9OworCisJcmV0ID0gSFlQRVJWSVNPUl9k
b20wX29wKCZvcCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWluZm8gPSAmb3AudS5w
Y3B1X2luZm87CisJaWYgKG1heF9jcHUpCisJCSptYXhfY3B1ID0gaW5mby0+bWF4X3ByZXNlbnQ7
CisKKwlwY3B1ID0gZ2V0X3BjcHUoY3B1KTsKKworCS8qCisJICogT25seSB0aG9zZSBhdCBjcHUg
cHJlc2VudCBtYXAgaGFzIGl0cyBzeXMgaW50ZXJmYWNlLgorCSAqLworCWlmIChpbmZvLT5mbGFn
cyAmIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQpIHsKKwkJaWYgKHBjcHUpCisJCQl1bnJlZ2lzdGVy
X2FuZF9yZW1vdmVfcGNwdShwY3B1KTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFwY3B1KSB7
CisJCXBjcHUgPSBjcmVhdGVfYW5kX3JlZ2lzdGVyX3BjcHUoaW5mbyk7CisJCWlmIChJU19FUlJf
T1JfTlVMTChwY3B1KSkKKwkJCXJldHVybiAtRU5PREVWOworCX0gZWxzZQorCQlwY3B1X29ubGlu
ZV9zdGF0dXMoaW5mbywgcGNwdSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFN5bmMgZG9t
MCdzIHBjcHUgaW5mb3JtYXRpb24gd2l0aCB4ZW4gaHlwZXJ2aXNvcidzCisgKi8KK3N0YXRpYyBp
bnQgeGVuX3N5bmNfcGNwdXModm9pZCkKK3sKKwkvKgorCSAqIEJvb3QgY3B1IGFsd2F5cyBoYXZl
IGNwdV9pZCAwIGluIHhlbgorCSAqLworCXVpbnQzMl90IGNwdSA9IDAsIG1heF9jcHUgPSAwOwor
CWludCBlcnIgPSAwOworCXN0cnVjdCBwY3B1ICpwY3B1LCAqdG1wOworCisJbXV0ZXhfbG9jaygm
eGVuX3BjcHVfbG9jayk7CisKKwl3aGlsZSAoIWVyciAmJiAoY3B1IDw9IG1heF9jcHUpKSB7CisJ
CWVyciA9IHN5bmNfcGNwdShjcHUsICZtYXhfY3B1KTsKKwkJY3B1Kys7CisJfQorCisJaWYgKGVy
cikKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBjcHUsIHRtcCwgJnhlbl9wY3B1cywgbGlz
dCkKKwkJCXVucmVnaXN0ZXJfYW5kX3JlbW92ZV9wY3B1KHBjcHUpOworCisJbXV0ZXhfdW5sb2Nr
KCZ4ZW5fcGNwdV9sb2NrKTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyB2b2lkIHhlbl9w
Y3B1X3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXhlbl9zeW5jX3BjcHVz
KCk7Cit9CitzdGF0aWMgREVDTEFSRV9XT1JLKHhlbl9wY3B1X3dvcmssIHhlbl9wY3B1X3dvcmtf
Zm4pOworCitzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX3BjcHVfaW50ZXJydXB0KGludCBpcnEsIHZv
aWQgKmRldl9pZCkKK3sKKwlzY2hlZHVsZV93b3JrKCZ4ZW5fcGNwdV93b3JrKTsKKwlyZXR1cm4g
SVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHhlbl9wY3B1X2luaXQodm9pZCkK
K3sKKwlpbnQgaXJxLCByZXQ7CisKKwlpZiAoIXhlbl9pbml0aWFsX2RvbWFpbigpKQorCQlyZXR1
cm4gLUVOT0RFVjsKKworCWlycSA9IGJpbmRfdmlycV90b19pcnFoYW5kbGVyKFZJUlFfUENQVV9T
VEFURSwgMCwKKwkJCQkgICAgICB4ZW5fcGNwdV9pbnRlcnJ1cHQsIDAsCisJCQkJICAgICAgInhl
bi1wY3B1IiwgTlVMTCk7CisJaWYgKGlycSA8IDApIHsKKwkJcHJfd2FybmluZyhYRU5fUENQVSAi
RmFpbGVkIHRvIGJpbmQgcGNwdSB2aXJxXG4iKTsKKwkJcmV0dXJuIGlycTsKKwl9CisKKwlyZXQg
PSBzdWJzeXNfc3lzdGVtX3JlZ2lzdGVyKCZ4ZW5fcGNwdV9zdWJzeXMsIE5VTEwpOworCWlmIChy
ZXQpIHsKKwkJcHJfd2FybmluZyhYRU5fUENQVSAiRmFpbGVkIHRvIHJlZ2lzdGVyIHBjcHUgc3Vi
c3lzXG4iKTsKKwkJZ290byBlcnIxOworCX0KKworCXJldCA9IHhlbl9zeW5jX3BjcHVzKCk7CisJ
aWYgKHJldCkgeworCQlwcl93YXJuaW5nKFhFTl9QQ1BVICJGYWlsZWQgdG8gc3luYyBwY3B1IGlu
Zm9cbiIpOworCQlnb3RvIGVycjI7CisJfQorCisJcmV0dXJuIDA7CisKK2VycjI6CisJYnVzX3Vu
cmVnaXN0ZXIoJnhlbl9wY3B1X3N1YnN5cyk7CitlcnIxOgorCXVuYmluZF9mcm9tX2lycWhhbmRs
ZXIoaXJxLCBOVUxMKTsKKwlyZXR1cm4gcmV0OworfQorYXJjaF9pbml0Y2FsbCh4ZW5fcGNwdV9p
bml0KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9wbGF0Zm9ybS5oIGIvaW5j
bHVkZS94ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmgKaW5kZXggNDg2NjUzZi4uNjFmYTY2MSAxMDA2
NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmgKKysrIGIvaW5jbHVkZS94
ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmgKQEAgLTMxNCw2ICszMTQsMTMgQEAgc3RydWN0IHhlbnBm
X3BjcHVpbmZvIHsKIH07CiBERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5wZl9wY3B1aW5m
byk7CiAKKyNkZWZpbmUgWEVOUEZfY3B1X29ubGluZQk1NgorI2RlZmluZSBYRU5QRl9jcHVfb2Zm
bGluZQk1Nworc3RydWN0IHhlbnBmX2NwdV9vbCB7CisJdWludDMyX3QgY3B1aWQ7Cit9OworREVG
SU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVucGZfY3B1X29sKTsKKwogc3RydWN0IHhlbl9wbGF0
Zm9ybV9vcCB7CiAJdWludDMyX3QgY21kOwogCXVpbnQzMl90IGludGVyZmFjZV92ZXJzaW9uOyAv
KiBYRU5QRl9JTlRFUkZBQ0VfVkVSU0lPTiAqLwpAQCAtMzMwLDYgKzMzNyw3IEBAIHN0cnVjdCB4
ZW5fcGxhdGZvcm1fb3AgewogCQlzdHJ1Y3QgeGVucGZfZ2V0aWRsZXRpbWUgICAgICAgZ2V0aWRs
ZXRpbWU7CiAJCXN0cnVjdCB4ZW5wZl9zZXRfcHJvY2Vzc29yX3BtaW5mbyBzZXRfcG1pbmZvOwog
CQlzdHJ1Y3QgeGVucGZfcGNwdWluZm8gICAgICAgICAgcGNwdV9pbmZvOworCQlzdHJ1Y3QgeGVu
cGZfY3B1X29sICAgICAgICAgICAgY3B1X29sOwogCQl1aW50OF90ICAgICAgICAgICAgICAgICAg
ICAgICAgcGFkWzEyOF07CiAJfSB1OwogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVy
ZmFjZS94ZW4uaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaAppbmRleCBhODkwODA0Li4w
ODAxNDY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKKysrIGIvaW5j
bHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oCkBAIC04MCw2ICs4MCw3IEBACiAjZGVmaW5lIFZJUlFf
Q09OU09MRSAgICAyICAvKiAoRE9NMCkgQnl0ZXMgcmVjZWl2ZWQgb24gZW1lcmdlbmN5IGNvbnNv
bGUuICovCiAjZGVmaW5lIFZJUlFfRE9NX0VYQyAgICAzICAvKiAoRE9NMCkgRXhjZXB0aW9uYWwg
ZXZlbnQgZm9yIHNvbWUgZG9tYWluLiAgICovCiAjZGVmaW5lIFZJUlFfREVCVUdHRVIgICA2ICAv
KiAoRE9NMCkgQSBkb21haW4gaGFzIHBhdXNlZCBmb3IgZGVidWdnaW5nLiAgICovCisjZGVmaW5l
IFZJUlFfUENQVV9TVEFURSA5ICAvKiAoRE9NMCkgUENQVSBzdGF0ZSBjaGFuZ2VkICAgICAgICAg
ICAgICAgICAgICovCiAKIC8qIEFyY2hpdGVjdHVyZS1zcGVjaWZpYyBWSVJRIGRlZmluaXRpb25z
LiAqLwogI2RlZmluZSBWSVJRX0FSQ0hfMCAgICAxNgotLSAKMS43LjEKCg==

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Tue May 22 09:32:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:32:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlS2-00014p-2F; Tue, 22 May 2012 09:32:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SWlRz-00014W-En
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:32:20 +0000
Received: from [85.158.138.51:40700] by server-10.bemta-3.messagelabs.com id
	BF/7F-29478-22D5BBF4; Tue, 22 May 2012 09:32:18 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337679135!28405068!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgzMzg2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4373 invoked from network); 22 May 2012 09:32:16 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-8.tower-174.messagelabs.com with SMTP;
	22 May 2012 09:32:16 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 22 May 2012 02:32:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="146169354"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 22 May 2012 02:32:01 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 02:32:01 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 22 May 2012 17:31:59 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Xen physical cpus online/offline sys interface (v2)
Thread-Index: Ac03/bwan9cpwnVbQ7eTLuUaOhZRDw==
Date: Tue, 22 May 2012 09:31:59 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351D7001@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 3/3] Xen physical cpus online/offline sys
	interface (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From ad2b459545bda8cc85fd7baf728546f7b6a49252 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Wed, 23 May 2012 01:16:49 +0800
Subject: [PATCH 3/3] Xen physical cpus online/offline sys interface

This patch provide Xen physical cpus online/offline sys interface.
User can use it for their own purpose, like power saving:
by offlining some cpus when light workload it save power greatly.

Its basic workflow is, user online/offline cpu via sys interface,
then hypercall xen to implement, after done xen inject virq back to dom0,
and then dom0 sync cpu status.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
---
 .../ABI/testing/sysfs-devices-system-xen_cpu       |   20 +
 drivers/xen/Makefile                               |    1 +
 drivers/xen/pcpu.c                                 |  371 ++++++++++++++++=
++++
 include/xen/interface/platform.h                   |    8 +
 include/xen/interface/xen.h                        |    1 +
 5 files changed, 401 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-devices-system-xen_cpu
 create mode 100644 drivers/xen/pcpu.c

diff --git a/Documentation/ABI/testing/sysfs-devices-system-xen_cpu b/Docum=
entation/ABI/testing/sysfs-devices-system-xen_cpu
new file mode 100644
index 0000000..9ca02fb
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-devices-system-xen_cpu
@@ -0,0 +1,20 @@
+What:		/sys/devices/system/xen_cpu/
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		A collection of global/individual Xen physical cpu attributes
+
+		Individual physical cpu attributes are contained in
+		subdirectories named by the Xen's logical cpu number, e.g.:
+		/sys/devices/system/xen_cpu/xen_cpu#/
+
+
+What:		/sys/devices/system/xen_cpu/xen_cpu#/online
+Date:		May 2012
+Contact:	Liu, Jinsong <jinsong.liu@intel.com>
+Description:
+		Interface to online/offline Xen physical cpus
+
+		When running under Xen platform, it provide user interface
+		to online/offline physical cpus, except cpu0 due to several
+		logic restrictions and assumptions.
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 1d3e763..d12d14d 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o
+obj-$(CONFIG_XEN_DOM0)			+=3D pcpu.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
new file mode 100644
index 0000000..067fcfa
--- /dev/null
+++ b/drivers/xen/pcpu.c
@@ -0,0 +1,371 @@
+/*************************************************************************=
*****
+ * pcpu.c
+ * Management physical cpu in dom0, get pcpu info and provide sys interfac=
e
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/interrupt.h>
+#include <linux/spinlock.h>
+#include <linux/cpu.h>
+#include <linux/stat.h>
+#include <linux/capability.h>
+
+#include <xen/xen.h>
+#include <xen/xenbus.h>
+#include <xen/events.h>
+#include <xen/interface/platform.h>
+#include <asm/xen/hypervisor.h>
+#include <asm/xen/hypercall.h>
+
+#define XEN_PCPU "xen_cpu: "
+
+/*
+ * @cpu_id: Xen physical cpu logic number
+ * @flags: Xen physical cpu status flag
+ * - XEN_PCPU_FLAGS_ONLINE: cpu is online
+ * - XEN_PCPU_FLAGS_INVALID: cpu is not present
+ */
+struct pcpu {
+	struct list_head list;
+	struct device dev;
+	uint32_t cpu_id;
+	uint32_t flags;
+};
+
+static struct bus_type xen_pcpu_subsys =3D {
+	.name =3D "xen_cpu",
+	.dev_name =3D "xen_cpu",
+};
+
+static DEFINE_MUTEX(xen_pcpu_lock);
+
+static LIST_HEAD(xen_pcpus);
+
+static int xen_pcpu_down(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_offline,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static int xen_pcpu_up(uint32_t cpu_id)
+{
+	struct xen_platform_op op =3D {
+		.cmd			=3D XENPF_cpu_online,
+		.interface_version	=3D XENPF_INTERFACE_VERSION,
+		.u.cpu_ol.cpuid		=3D cpu_id,
+	};
+
+	return HYPERVISOR_dom0_op(&op);
+}
+
+static ssize_t show_online(struct device *dev,
+			   struct device_attribute *attr,
+			   char *buf)
+{
+	struct pcpu *cpu =3D container_of(dev, struct pcpu, dev);
+
+	return sprintf(buf, "%u\n", !!(cpu->flags & XEN_PCPU_FLAGS_ONLINE));
+}
+
+static ssize_t __ref store_online(struct device *dev,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
+{
+	struct pcpu *pcpu =3D container_of(dev, struct pcpu, dev);
+	unsigned long long val;
+	ssize_t ret;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	if (kstrtoull(buf, 0, &val) < 0)
+		return -EINVAL;
+
+	switch (val) {
+	case 0:
+		ret =3D xen_pcpu_down(pcpu->cpu_id);
+		break;
+	case 1:
+		ret =3D xen_pcpu_up(pcpu->cpu_id);
+		break;
+	default:
+		ret =3D -EINVAL;
+	}
+
+	if (ret >=3D 0)
+		ret =3D count;
+	return ret;
+}
+static DEVICE_ATTR(online, S_IRUGO | S_IWUSR, show_online, store_online);
+
+static bool xen_pcpu_online(uint32_t flags)
+{
+	return !!(flags & XEN_PCPU_FLAGS_ONLINE);
+}
+
+static void pcpu_online_status(struct xenpf_pcpuinfo *info,
+			       struct pcpu *pcpu)
+{
+	if (xen_pcpu_online(info->flags) &&
+	   !xen_pcpu_online(pcpu->flags)) {
+		/* the pcpu is onlined */
+		pcpu->flags |=3D XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_ONLINE);
+	} else if (!xen_pcpu_online(info->flags) &&
+		    xen_pcpu_online(pcpu->flags)) {
+		/* The pcpu is offlined */
+		pcpu->flags &=3D ~XEN_PCPU_FLAGS_ONLINE;
+		kobject_uevent(&pcpu->dev.kobj, KOBJ_OFFLINE);
+	}
+}
+
+static struct pcpu *get_pcpu(uint32_t cpu_id)
+{
+	struct pcpu *pcpu;
+
+	list_for_each_entry(pcpu, &xen_pcpus, list) {
+		if (pcpu->cpu_id =3D=3D cpu_id)
+			return pcpu;
+	}
+
+	return NULL;
+}
+
+static void pcpu_release(struct device *dev)
+{
+	struct pcpu *pcpu =3D container_of(dev, struct pcpu, dev);
+
+	list_del(&pcpu->list);
+	kfree(pcpu);
+}
+
+static void unregister_and_remove_pcpu(struct pcpu *pcpu)
+{
+	struct device *dev;
+
+	if (!pcpu)
+		return;
+
+	dev =3D &pcpu->dev;
+	if (dev->id)
+		device_remove_file(dev, &dev_attr_online);
+
+	/* pcpu remove would be implicitly done */
+	device_unregister(dev);
+}
+
+static int register_pcpu(struct pcpu *pcpu)
+{
+	struct device *dev;
+	int err =3D -EINVAL;
+
+	if (!pcpu)
+		return err;
+
+	dev =3D &pcpu->dev;
+	dev->bus =3D &xen_pcpu_subsys;
+	dev->id =3D pcpu->cpu_id;
+	dev->release =3D pcpu_release;
+
+	err =3D device_register(dev);
+	if (err) {
+		pcpu_release(dev);
+		return err;
+	}
+
+	/*
+	 * Xen never offline cpu0 due to several restrictions
+	 * and assumptions. This basically doesn't add a sys control
+	 * to user, one cannot attempt to offline BSP.
+	 */
+	if (dev->id) {
+		err =3D device_create_file(dev, &dev_attr_online);
+		if (err) {
+			device_unregister(dev);
+			return err;
+		}
+	}
+
+	return 0;
+}
+
+static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info)
+{
+	struct pcpu *pcpu;
+	int err;
+
+	if (info->flags & XEN_PCPU_FLAGS_INVALID)
+		return ERR_PTR(-ENODEV);
+
+	pcpu =3D kzalloc(sizeof(struct pcpu), GFP_KERNEL);
+	if (!pcpu)
+		return ERR_PTR(-ENOMEM);
+
+	INIT_LIST_HEAD(&pcpu->list);
+	pcpu->cpu_id =3D info->xen_cpuid;
+	pcpu->flags =3D info->flags;
+
+	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
+	list_add_tail(&pcpu->list, &xen_pcpus);
+
+	err =3D register_pcpu(pcpu);
+	if (err) {
+		pr_warning(XEN_PCPU "Failed to register pcpu%u\n",
+			   info->xen_cpuid);
+		return ERR_PTR(-ENOENT);
+	}
+
+	return pcpu;
+}
+
+/*
+ * Caller should hold the xen_pcpu_lock
+ */
+static int sync_pcpu(uint32_t cpu, uint32_t *max_cpu)
+{
+	int ret;
+	struct pcpu *pcpu =3D NULL;
+	struct xenpf_pcpuinfo *info;
+	struct xen_platform_op op =3D {
+		.cmd                   =3D XENPF_get_cpuinfo,
+		.interface_version     =3D XENPF_INTERFACE_VERSION,
+		.u.pcpu_info.xen_cpuid =3D cpu,
+	};
+
+	ret =3D HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return ret;
+
+	info =3D &op.u.pcpu_info;
+	if (max_cpu)
+		*max_cpu =3D info->max_present;
+
+	pcpu =3D get_pcpu(cpu);
+
+	/*
+	 * Only those at cpu present map has its sys interface.
+	 */
+	if (info->flags & XEN_PCPU_FLAGS_INVALID) {
+		if (pcpu)
+			unregister_and_remove_pcpu(pcpu);
+		return 0;
+	}
+
+	if (!pcpu) {
+		pcpu =3D create_and_register_pcpu(info);
+		if (IS_ERR_OR_NULL(pcpu))
+			return -ENODEV;
+	} else
+		pcpu_online_status(info, pcpu);
+
+	return 0;
+}
+
+/*
+ * Sync dom0's pcpu information with xen hypervisor's
+ */
+static int xen_sync_pcpus(void)
+{
+	/*
+	 * Boot cpu always have cpu_id 0 in xen
+	 */
+	uint32_t cpu =3D 0, max_cpu =3D 0;
+	int err =3D 0;
+	struct pcpu *pcpu, *tmp;
+
+	mutex_lock(&xen_pcpu_lock);
+
+	while (!err && (cpu <=3D max_cpu)) {
+		err =3D sync_pcpu(cpu, &max_cpu);
+		cpu++;
+	}
+
+	if (err)
+		list_for_each_entry_safe(pcpu, tmp, &xen_pcpus, list)
+			unregister_and_remove_pcpu(pcpu);
+
+	mutex_unlock(&xen_pcpu_lock);
+
+	return err;
+}
+
+static void xen_pcpu_work_fn(struct work_struct *work)
+{
+	xen_sync_pcpus();
+}
+static DECLARE_WORK(xen_pcpu_work, xen_pcpu_work_fn);
+
+static irqreturn_t xen_pcpu_interrupt(int irq, void *dev_id)
+{
+	schedule_work(&xen_pcpu_work);
+	return IRQ_HANDLED;
+}
+
+static int __init xen_pcpu_init(void)
+{
+	int irq, ret;
+
+	if (!xen_initial_domain())
+		return -ENODEV;
+
+	irq =3D bind_virq_to_irqhandler(VIRQ_PCPU_STATE, 0,
+				      xen_pcpu_interrupt, 0,
+				      "xen-pcpu", NULL);
+	if (irq < 0) {
+		pr_warning(XEN_PCPU "Failed to bind pcpu virq\n");
+		return irq;
+	}
+
+	ret =3D subsys_system_register(&xen_pcpu_subsys, NULL);
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to register pcpu subsys\n");
+		goto err1;
+	}
+
+	ret =3D xen_sync_pcpus();
+	if (ret) {
+		pr_warning(XEN_PCPU "Failed to sync pcpu info\n");
+		goto err2;
+	}
+
+	return 0;
+
+err2:
+	bus_unregister(&xen_pcpu_subsys);
+err1:
+	unbind_from_irqhandler(irq, NULL);
+	return ret;
+}
+arch_initcall(xen_pcpu_init);
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platf=
orm.h
index 486653f..61fa661 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -314,6 +314,13 @@ struct xenpf_pcpuinfo {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_pcpuinfo);
=20
+#define XENPF_cpu_online	56
+#define XENPF_cpu_offline	57
+struct xenpf_cpu_ol {
+	uint32_t cpuid;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -330,6 +337,7 @@ struct xen_platform_op {
 		struct xenpf_getidletime       getidletime;
 		struct xenpf_set_processor_pminfo set_pminfo;
 		struct xenpf_pcpuinfo          pcpu_info;
+		struct xenpf_cpu_ol            cpu_ol;
 		uint8_t                        pad[128];
 	} u;
 };
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index a890804..0801468 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -80,6 +80,7 @@
 #define VIRQ_CONSOLE    2  /* (DOM0) Bytes received on emergency console. =
*/
 #define VIRQ_DOM_EXC    3  /* (DOM0) Exceptional event for some domain.   =
*/
 #define VIRQ_DEBUGGER   6  /* (DOM0) A domain has paused for debugging.   =
*/
+#define VIRQ_PCPU_STATE 9  /* (DOM0) PCPU state changed                   =
*/
=20
 /* Architecture-specific VIRQ definitions. */
 #define VIRQ_ARCH_0    16
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0003-Xen-physical-cpus-online-offline-sys-interface.patch"
Content-Description: 0003-Xen-physical-cpus-online-offline-sys-interface.patch
Content-Disposition: attachment;
	filename="0003-Xen-physical-cpus-online-offline-sys-interface.patch";
	size=12982; creation-date="Tue, 22 May 2012 09:22:57 GMT";
	modification-date="Tue, 22 May 2012 17:17:42 GMT"
Content-Transfer-Encoding: base64

RnJvbSBhZDJiNDU5NTQ1YmRhOGNjODVmZDdiYWY3Mjg1NDZmN2I2YTQ5MjUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogV2VkLCAyMyBNYXkgMjAxMiAwMToxNjo0OSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMy8z
XSBYZW4gcGh5c2ljYWwgY3B1cyBvbmxpbmUvb2ZmbGluZSBzeXMgaW50ZXJmYWNlCgpUaGlzIHBh
dGNoIHByb3ZpZGUgWGVuIHBoeXNpY2FsIGNwdXMgb25saW5lL29mZmxpbmUgc3lzIGludGVyZmFj
ZS4KVXNlciBjYW4gdXNlIGl0IGZvciB0aGVpciBvd24gcHVycG9zZSwgbGlrZSBwb3dlciBzYXZp
bmc6CmJ5IG9mZmxpbmluZyBzb21lIGNwdXMgd2hlbiBsaWdodCB3b3JrbG9hZCBpdCBzYXZlIHBv
d2VyIGdyZWF0bHkuCgpJdHMgYmFzaWMgd29ya2Zsb3cgaXMsIHVzZXIgb25saW5lL29mZmxpbmUg
Y3B1IHZpYSBzeXMgaW50ZXJmYWNlLAp0aGVuIGh5cGVyY2FsbCB4ZW4gdG8gaW1wbGVtZW50LCBh
ZnRlciBkb25lIHhlbiBpbmplY3QgdmlycSBiYWNrIHRvIGRvbTAsCmFuZCB0aGVuIGRvbTAgc3lu
YyBjcHUgc3RhdHVzLgoKU2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBp
bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEppYW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGlu
dGVsLmNvbT4KLS0tCiAuLi4vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2Nw
dSAgICAgICB8ICAgMjAgKwogZHJpdmVycy94ZW4vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAxICsKIGRyaXZlcnMveGVuL3BjcHUuYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDM3MSArKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS94ZW4v
aW50ZXJmYWNlL3BsYXRmb3JtLmggICAgICAgICAgICAgICAgICAgfCAgICA4ICsKIGluY2x1ZGUv
eGVuL2ludGVyZmFjZS94ZW4uaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiA1IGZp
bGVzIGNoYW5nZWQsIDQwMSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0t
eGVuX2NwdQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMveGVuL3BjcHUuYwoKZGlmZiAtLWdp
dCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2Nw
dSBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zeXN0ZW0teGVuX2Nw
dQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2EwMmZiCi0tLSAvZGV2L251
bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1kZXZpY2VzLXN5c3RlbS14
ZW5fY3B1CkBAIC0wLDAgKzEsMjAgQEAKK1doYXQ6CQkvc3lzL2RldmljZXMvc3lzdGVtL3hlbl9j
cHUvCitEYXRlOgkJTWF5IDIwMTIKK0NvbnRhY3Q6CUxpdSwgSmluc29uZyA8amluc29uZy5saXVA
aW50ZWwuY29tPgorRGVzY3JpcHRpb246CisJCUEgY29sbGVjdGlvbiBvZiBnbG9iYWwvaW5kaXZp
ZHVhbCBYZW4gcGh5c2ljYWwgY3B1IGF0dHJpYnV0ZXMKKworCQlJbmRpdmlkdWFsIHBoeXNpY2Fs
IGNwdSBhdHRyaWJ1dGVzIGFyZSBjb250YWluZWQgaW4KKwkJc3ViZGlyZWN0b3JpZXMgbmFtZWQg
YnkgdGhlIFhlbidzIGxvZ2ljYWwgY3B1IG51bWJlciwgZS5nLjoKKwkJL3N5cy9kZXZpY2VzL3N5
c3RlbS94ZW5fY3B1L3hlbl9jcHUjLworCisKK1doYXQ6CQkvc3lzL2RldmljZXMvc3lzdGVtL3hl
bl9jcHUveGVuX2NwdSMvb25saW5lCitEYXRlOgkJTWF5IDIwMTIKK0NvbnRhY3Q6CUxpdSwgSmlu
c29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgorRGVzY3JpcHRpb246CisJCUludGVyZmFjZSB0
byBvbmxpbmUvb2ZmbGluZSBYZW4gcGh5c2ljYWwgY3B1cworCisJCVdoZW4gcnVubmluZyB1bmRl
ciBYZW4gcGxhdGZvcm0sIGl0IHByb3ZpZGUgdXNlciBpbnRlcmZhY2UKKwkJdG8gb25saW5lL29m
ZmxpbmUgcGh5c2ljYWwgY3B1cywgZXhjZXB0IGNwdTAgZHVlIHRvIHNldmVyYWwKKwkJbG9naWMg
cmVzdHJpY3Rpb25zIGFuZCBhc3N1bXB0aW9ucy4KZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL01h
a2VmaWxlIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKaW5kZXggMWQzZTc2My4uZDEyZDE0ZCAxMDA2
NDQKLS0tIGEvZHJpdmVycy94ZW4vTWFrZWZpbGUKKysrIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUK
QEAgLTE5LDYgKzE5LDcgQEAgb2JqLSQoQ09ORklHX1hFTl9QVkhWTSkJCQkrPSBwbGF0Zm9ybS1w
Y2kubwogb2JqLSQoQ09ORklHX1hFTl9UTUVNKQkJCSs9IHRtZW0ubwogb2JqLSQoQ09ORklHX1NX
SU9UTEJfWEVOKQkJKz0gc3dpb3RsYi14ZW4ubwogb2JqLSQoQ09ORklHX1hFTl9ET00wKQkJCSs9
IHBjaS5vCitvYmotJChDT05GSUdfWEVOX0RPTTApCQkJKz0gcGNwdS5vCiBvYmotJChDT05GSUdf
WEVOX1BDSURFVl9CQUNLRU5EKQkrPSB4ZW4tcGNpYmFjay8KIG9iai0kKENPTkZJR19YRU5fUFJJ
VkNNRCkJCSs9IHhlbi1wcml2Y21kLm8KIG9iai0kKENPTkZJR19YRU5fQUNQSV9QUk9DRVNTT1Ip
CSs9IHhlbi1hY3BpLXByb2Nlc3Nvci5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wY3B1LmMg
Yi9kcml2ZXJzL3hlbi9wY3B1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MDY3ZmNmYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMveGVuL3BjcHUuYwpAQCAtMCwwICsx
LDM3MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogcGNwdS5jCisgKiBNYW5hZ2VtZW50
IHBoeXNpY2FsIGNwdSBpbiBkb20wLCBnZXQgcGNwdSBpbmZvIGFuZCBwcm92aWRlIHN5cyBpbnRl
cmZhY2UKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24KKyAqIEF1
dGhvcjogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+CisgKiBBdXRob3I6IEpp
YW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGludGVsLmNvbT4KKyAqCisgKiBUaGlzIHByb2dy
YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSB2ZXJzaW9uIDIKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBvciwgd2hlbiBkaXN0cmlidXRlZAorICogc2VwYXJhdGVseSBmcm9tIHRoZSBMaW51eCBr
ZXJuZWwgb3IgaW5jb3Jwb3JhdGVkIGludG8gb3RoZXIKKyAqIHNvZnR3YXJlIHBhY2thZ2VzLCBz
dWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgbGljZW5zZToKKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBj
b3B5CisgKiBvZiB0aGlzIHNvdXJjZSBmaWxlICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4g
dGhlIFNvZnR3YXJlIHdpdGhvdXQKKyAqIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksCisgKiBtZXJnZSwgcHVi
bGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBT
b2Z0d2FyZSwKKyAqIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBp
cyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyAqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK
KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhF
IFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRl
IDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorI2luY2x1ZGUgPGxp
bnV4L3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CisKKyNpbmNsdWRlIDx4
ZW4veGVuLmg+CisjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgorI2luY2x1ZGUgPHhlbi9ldmVudHMu
aD4KKyNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8YXNtL3hl
bi9oeXBlcnZpc29yLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcmNhbGwuaD4KKworI2RlZmlu
ZSBYRU5fUENQVSAieGVuX2NwdTogIgorCisvKgorICogQGNwdV9pZDogWGVuIHBoeXNpY2FsIGNw
dSBsb2dpYyBudW1iZXIKKyAqIEBmbGFnczogWGVuIHBoeXNpY2FsIGNwdSBzdGF0dXMgZmxhZwor
ICogLSBYRU5fUENQVV9GTEFHU19PTkxJTkU6IGNwdSBpcyBvbmxpbmUKKyAqIC0gWEVOX1BDUFVf
RkxBR1NfSU5WQUxJRDogY3B1IGlzIG5vdCBwcmVzZW50CisgKi8KK3N0cnVjdCBwY3B1IHsKKwlz
dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3RydWN0IGRldmljZSBkZXY7CisJdWludDMyX3QgY3B1
X2lkOworCXVpbnQzMl90IGZsYWdzOworfTsKKworc3RhdGljIHN0cnVjdCBidXNfdHlwZSB4ZW5f
cGNwdV9zdWJzeXMgPSB7CisJLm5hbWUgPSAieGVuX2NwdSIsCisJLmRldl9uYW1lID0gInhlbl9j
cHUiLAorfTsKKworc3RhdGljIERFRklORV9NVVRFWCh4ZW5fcGNwdV9sb2NrKTsKKworc3RhdGlj
IExJU1RfSEVBRCh4ZW5fcGNwdXMpOworCitzdGF0aWMgaW50IHhlbl9wY3B1X2Rvd24odWludDMy
X3QgY3B1X2lkKQoreworCXN0cnVjdCB4ZW5fcGxhdGZvcm1fb3Agb3AgPSB7CisJCS5jbWQJCQk9
IFhFTlBGX2NwdV9vZmZsaW5lLAorCQkuaW50ZXJmYWNlX3ZlcnNpb24JPSBYRU5QRl9JTlRFUkZB
Q0VfVkVSU0lPTiwKKwkJLnUuY3B1X29sLmNwdWlkCQk9IGNwdV9pZCwKKwl9OworCisJcmV0dXJu
IEhZUEVSVklTT1JfZG9tMF9vcCgmb3ApOworfQorCitzdGF0aWMgaW50IHhlbl9wY3B1X3VwKHVp
bnQzMl90IGNwdV9pZCkKK3sKKwlzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wIG9wID0geworCQkuY21k
CQkJPSBYRU5QRl9jcHVfb25saW5lLAorCQkuaW50ZXJmYWNlX3ZlcnNpb24JPSBYRU5QRl9JTlRF
UkZBQ0VfVkVSU0lPTiwKKwkJLnUuY3B1X29sLmNwdWlkCQk9IGNwdV9pZCwKKwl9OworCisJcmV0
dXJuIEhZUEVSVklTT1JfZG9tMF9vcCgmb3ApOworfQorCitzdGF0aWMgc3NpemVfdCBzaG93X29u
bGluZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAq
YXR0ciwKKwkJCSAgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgcGNwdSAqY3B1ID0gY29udGFpbmVy
X29mKGRldiwgc3RydWN0IHBjcHUsIGRldik7CisKKwlyZXR1cm4gc3ByaW50ZihidWYsICIldVxu
IiwgISEoY3B1LT5mbGFncyAmIFhFTl9QQ1BVX0ZMQUdTX09OTElORSkpOworfQorCitzdGF0aWMg
c3NpemVfdCBfX3JlZiBzdG9yZV9vbmxpbmUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgc3Ry
dWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICBjb25zdCBjaGFyICpidWYsIHNpemVf
dCBjb3VudCkKK3sKKwlzdHJ1Y3QgcGNwdSAqcGNwdSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVj
dCBwY3B1LCBkZXYpOworCXVuc2lnbmVkIGxvbmcgbG9uZyB2YWw7CisJc3NpemVfdCByZXQ7CisK
KwlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCisJCXJldHVybiAtRVBFUk07CisKKwlpZiAo
a3N0cnRvdWxsKGJ1ZiwgMCwgJnZhbCkgPCAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN3aXRj
aCAodmFsKSB7CisJY2FzZSAwOgorCQlyZXQgPSB4ZW5fcGNwdV9kb3duKHBjcHUtPmNwdV9pZCk7
CisJCWJyZWFrOworCWNhc2UgMToKKwkJcmV0ID0geGVuX3BjcHVfdXAocGNwdS0+Y3B1X2lkKTsK
KwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gLUVJTlZBTDsKKwl9CisKKwlpZiAocmV0ID49
IDApCisJCXJldCA9IGNvdW50OworCXJldHVybiByZXQ7Cit9CitzdGF0aWMgREVWSUNFX0FUVFIo
b25saW5lLCBTX0lSVUdPIHwgU19JV1VTUiwgc2hvd19vbmxpbmUsIHN0b3JlX29ubGluZSk7CisK
K3N0YXRpYyBib29sIHhlbl9wY3B1X29ubGluZSh1aW50MzJfdCBmbGFncykKK3sKKwlyZXR1cm4g
ISEoZmxhZ3MgJiBYRU5fUENQVV9GTEFHU19PTkxJTkUpOworfQorCitzdGF0aWMgdm9pZCBwY3B1
X29ubGluZV9zdGF0dXMoc3RydWN0IHhlbnBmX3BjcHVpbmZvICppbmZvLAorCQkJICAgICAgIHN0
cnVjdCBwY3B1ICpwY3B1KQoreworCWlmICh4ZW5fcGNwdV9vbmxpbmUoaW5mby0+ZmxhZ3MpICYm
CisJICAgIXhlbl9wY3B1X29ubGluZShwY3B1LT5mbGFncykpIHsKKwkJLyogdGhlIHBjcHUgaXMg
b25saW5lZCAqLworCQlwY3B1LT5mbGFncyB8PSBYRU5fUENQVV9GTEFHU19PTkxJTkU7CisJCWtv
YmplY3RfdWV2ZW50KCZwY3B1LT5kZXYua29iaiwgS09CSl9PTkxJTkUpOworCX0gZWxzZSBpZiAo
IXhlbl9wY3B1X29ubGluZShpbmZvLT5mbGFncykgJiYKKwkJICAgIHhlbl9wY3B1X29ubGluZShw
Y3B1LT5mbGFncykpIHsKKwkJLyogVGhlIHBjcHUgaXMgb2ZmbGluZWQgKi8KKwkJcGNwdS0+Zmxh
Z3MgJj0gflhFTl9QQ1BVX0ZMQUdTX09OTElORTsKKwkJa29iamVjdF91ZXZlbnQoJnBjcHUtPmRl
di5rb2JqLCBLT0JKX09GRkxJTkUpOworCX0KK30KKworc3RhdGljIHN0cnVjdCBwY3B1ICpnZXRf
cGNwdSh1aW50MzJfdCBjcHVfaWQpCit7CisJc3RydWN0IHBjcHUgKnBjcHU7CisKKwlsaXN0X2Zv
cl9lYWNoX2VudHJ5KHBjcHUsICZ4ZW5fcGNwdXMsIGxpc3QpIHsKKwkJaWYgKHBjcHUtPmNwdV9p
ZCA9PSBjcHVfaWQpCisJCQlyZXR1cm4gcGNwdTsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKwor
c3RhdGljIHZvaWQgcGNwdV9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qg
cGNwdSAqcGNwdSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBwY3B1LCBkZXYpOworCisJbGlz
dF9kZWwoJnBjcHUtPmxpc3QpOworCWtmcmVlKHBjcHUpOworfQorCitzdGF0aWMgdm9pZCB1bnJl
Z2lzdGVyX2FuZF9yZW1vdmVfcGNwdShzdHJ1Y3QgcGNwdSAqcGNwdSkKK3sKKwlzdHJ1Y3QgZGV2
aWNlICpkZXY7CisKKwlpZiAoIXBjcHUpCisJCXJldHVybjsKKworCWRldiA9ICZwY3B1LT5kZXY7
CisJaWYgKGRldi0+aWQpCisJCWRldmljZV9yZW1vdmVfZmlsZShkZXYsICZkZXZfYXR0cl9vbmxp
bmUpOworCisJLyogcGNwdSByZW1vdmUgd291bGQgYmUgaW1wbGljaXRseSBkb25lICovCisJZGV2
aWNlX3VucmVnaXN0ZXIoZGV2KTsKK30KKworc3RhdGljIGludCByZWdpc3Rlcl9wY3B1KHN0cnVj
dCBwY3B1ICpwY3B1KQoreworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlpbnQgZXJyID0gLUVJTlZB
TDsKKworCWlmICghcGNwdSkKKwkJcmV0dXJuIGVycjsKKworCWRldiA9ICZwY3B1LT5kZXY7CisJ
ZGV2LT5idXMgPSAmeGVuX3BjcHVfc3Vic3lzOworCWRldi0+aWQgPSBwY3B1LT5jcHVfaWQ7CisJ
ZGV2LT5yZWxlYXNlID0gcGNwdV9yZWxlYXNlOworCisJZXJyID0gZGV2aWNlX3JlZ2lzdGVyKGRl
dik7CisJaWYgKGVycikgeworCQlwY3B1X3JlbGVhc2UoZGV2KTsKKwkJcmV0dXJuIGVycjsKKwl9
CisKKwkvKgorCSAqIFhlbiBuZXZlciBvZmZsaW5lIGNwdTAgZHVlIHRvIHNldmVyYWwgcmVzdHJp
Y3Rpb25zCisJICogYW5kIGFzc3VtcHRpb25zLiBUaGlzIGJhc2ljYWxseSBkb2Vzbid0IGFkZCBh
IHN5cyBjb250cm9sCisJICogdG8gdXNlciwgb25lIGNhbm5vdCBhdHRlbXB0IHRvIG9mZmxpbmUg
QlNQLgorCSAqLworCWlmIChkZXYtPmlkKSB7CisJCWVyciA9IGRldmljZV9jcmVhdGVfZmlsZShk
ZXYsICZkZXZfYXR0cl9vbmxpbmUpOworCQlpZiAoZXJyKSB7CisJCQlkZXZpY2VfdW5yZWdpc3Rl
cihkZXYpOworCQkJcmV0dXJuIGVycjsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCitzdGF0
aWMgc3RydWN0IHBjcHUgKmNyZWF0ZV9hbmRfcmVnaXN0ZXJfcGNwdShzdHJ1Y3QgeGVucGZfcGNw
dWluZm8gKmluZm8pCit7CisJc3RydWN0IHBjcHUgKnBjcHU7CisJaW50IGVycjsKKworCWlmIChp
bmZvLT5mbGFncyAmIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQpCisJCXJldHVybiBFUlJfUFRSKC1F
Tk9ERVYpOworCisJcGNwdSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBwY3B1KSwgR0ZQX0tFUk5F
TCk7CisJaWYgKCFwY3B1KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCUlOSVRfTElT
VF9IRUFEKCZwY3B1LT5saXN0KTsKKwlwY3B1LT5jcHVfaWQgPSBpbmZvLT54ZW5fY3B1aWQ7CisJ
cGNwdS0+ZmxhZ3MgPSBpbmZvLT5mbGFnczsKKworCS8qIE5lZWQgaG9sZCBvbiB4ZW5fcGNwdV9s
b2NrIGJlZm9yZSBwY3B1IGxpc3QgbWFuaXB1bGF0aW9ucyAqLworCWxpc3RfYWRkX3RhaWwoJnBj
cHUtPmxpc3QsICZ4ZW5fcGNwdXMpOworCisJZXJyID0gcmVnaXN0ZXJfcGNwdShwY3B1KTsKKwlp
ZiAoZXJyKSB7CisJCXByX3dhcm5pbmcoWEVOX1BDUFUgIkZhaWxlZCB0byByZWdpc3RlciBwY3B1
JXVcbiIsCisJCQkgICBpbmZvLT54ZW5fY3B1aWQpOworCQlyZXR1cm4gRVJSX1BUUigtRU5PRU5U
KTsKKwl9CisKKwlyZXR1cm4gcGNwdTsKK30KKworLyoKKyAqIENhbGxlciBzaG91bGQgaG9sZCB0
aGUgeGVuX3BjcHVfbG9jaworICovCitzdGF0aWMgaW50IHN5bmNfcGNwdSh1aW50MzJfdCBjcHUs
IHVpbnQzMl90ICptYXhfY3B1KQoreworCWludCByZXQ7CisJc3RydWN0IHBjcHUgKnBjcHUgPSBO
VUxMOworCXN0cnVjdCB4ZW5wZl9wY3B1aW5mbyAqaW5mbzsKKwlzdHJ1Y3QgeGVuX3BsYXRmb3Jt
X29wIG9wID0geworCQkuY21kICAgICAgICAgICAgICAgICAgID0gWEVOUEZfZ2V0X2NwdWluZm8s
CisJCS5pbnRlcmZhY2VfdmVyc2lvbiAgICAgPSBYRU5QRl9JTlRFUkZBQ0VfVkVSU0lPTiwKKwkJ
LnUucGNwdV9pbmZvLnhlbl9jcHVpZCA9IGNwdSwKKwl9OworCisJcmV0ID0gSFlQRVJWSVNPUl9k
b20wX29wKCZvcCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWluZm8gPSAmb3AudS5w
Y3B1X2luZm87CisJaWYgKG1heF9jcHUpCisJCSptYXhfY3B1ID0gaW5mby0+bWF4X3ByZXNlbnQ7
CisKKwlwY3B1ID0gZ2V0X3BjcHUoY3B1KTsKKworCS8qCisJICogT25seSB0aG9zZSBhdCBjcHUg
cHJlc2VudCBtYXAgaGFzIGl0cyBzeXMgaW50ZXJmYWNlLgorCSAqLworCWlmIChpbmZvLT5mbGFn
cyAmIFhFTl9QQ1BVX0ZMQUdTX0lOVkFMSUQpIHsKKwkJaWYgKHBjcHUpCisJCQl1bnJlZ2lzdGVy
X2FuZF9yZW1vdmVfcGNwdShwY3B1KTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFwY3B1KSB7
CisJCXBjcHUgPSBjcmVhdGVfYW5kX3JlZ2lzdGVyX3BjcHUoaW5mbyk7CisJCWlmIChJU19FUlJf
T1JfTlVMTChwY3B1KSkKKwkJCXJldHVybiAtRU5PREVWOworCX0gZWxzZQorCQlwY3B1X29ubGlu
ZV9zdGF0dXMoaW5mbywgcGNwdSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFN5bmMgZG9t
MCdzIHBjcHUgaW5mb3JtYXRpb24gd2l0aCB4ZW4gaHlwZXJ2aXNvcidzCisgKi8KK3N0YXRpYyBp
bnQgeGVuX3N5bmNfcGNwdXModm9pZCkKK3sKKwkvKgorCSAqIEJvb3QgY3B1IGFsd2F5cyBoYXZl
IGNwdV9pZCAwIGluIHhlbgorCSAqLworCXVpbnQzMl90IGNwdSA9IDAsIG1heF9jcHUgPSAwOwor
CWludCBlcnIgPSAwOworCXN0cnVjdCBwY3B1ICpwY3B1LCAqdG1wOworCisJbXV0ZXhfbG9jaygm
eGVuX3BjcHVfbG9jayk7CisKKwl3aGlsZSAoIWVyciAmJiAoY3B1IDw9IG1heF9jcHUpKSB7CisJ
CWVyciA9IHN5bmNfcGNwdShjcHUsICZtYXhfY3B1KTsKKwkJY3B1Kys7CisJfQorCisJaWYgKGVy
cikKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBjcHUsIHRtcCwgJnhlbl9wY3B1cywgbGlz
dCkKKwkJCXVucmVnaXN0ZXJfYW5kX3JlbW92ZV9wY3B1KHBjcHUpOworCisJbXV0ZXhfdW5sb2Nr
KCZ4ZW5fcGNwdV9sb2NrKTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyB2b2lkIHhlbl9w
Y3B1X3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXhlbl9zeW5jX3BjcHVz
KCk7Cit9CitzdGF0aWMgREVDTEFSRV9XT1JLKHhlbl9wY3B1X3dvcmssIHhlbl9wY3B1X3dvcmtf
Zm4pOworCitzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX3BjcHVfaW50ZXJydXB0KGludCBpcnEsIHZv
aWQgKmRldl9pZCkKK3sKKwlzY2hlZHVsZV93b3JrKCZ4ZW5fcGNwdV93b3JrKTsKKwlyZXR1cm4g
SVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHhlbl9wY3B1X2luaXQodm9pZCkK
K3sKKwlpbnQgaXJxLCByZXQ7CisKKwlpZiAoIXhlbl9pbml0aWFsX2RvbWFpbigpKQorCQlyZXR1
cm4gLUVOT0RFVjsKKworCWlycSA9IGJpbmRfdmlycV90b19pcnFoYW5kbGVyKFZJUlFfUENQVV9T
VEFURSwgMCwKKwkJCQkgICAgICB4ZW5fcGNwdV9pbnRlcnJ1cHQsIDAsCisJCQkJICAgICAgInhl
bi1wY3B1IiwgTlVMTCk7CisJaWYgKGlycSA8IDApIHsKKwkJcHJfd2FybmluZyhYRU5fUENQVSAi
RmFpbGVkIHRvIGJpbmQgcGNwdSB2aXJxXG4iKTsKKwkJcmV0dXJuIGlycTsKKwl9CisKKwlyZXQg
PSBzdWJzeXNfc3lzdGVtX3JlZ2lzdGVyKCZ4ZW5fcGNwdV9zdWJzeXMsIE5VTEwpOworCWlmIChy
ZXQpIHsKKwkJcHJfd2FybmluZyhYRU5fUENQVSAiRmFpbGVkIHRvIHJlZ2lzdGVyIHBjcHUgc3Vi
c3lzXG4iKTsKKwkJZ290byBlcnIxOworCX0KKworCXJldCA9IHhlbl9zeW5jX3BjcHVzKCk7CisJ
aWYgKHJldCkgeworCQlwcl93YXJuaW5nKFhFTl9QQ1BVICJGYWlsZWQgdG8gc3luYyBwY3B1IGlu
Zm9cbiIpOworCQlnb3RvIGVycjI7CisJfQorCisJcmV0dXJuIDA7CisKK2VycjI6CisJYnVzX3Vu
cmVnaXN0ZXIoJnhlbl9wY3B1X3N1YnN5cyk7CitlcnIxOgorCXVuYmluZF9mcm9tX2lycWhhbmRs
ZXIoaXJxLCBOVUxMKTsKKwlyZXR1cm4gcmV0OworfQorYXJjaF9pbml0Y2FsbCh4ZW5fcGNwdV9p
bml0KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9wbGF0Zm9ybS5oIGIvaW5j
bHVkZS94ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmgKaW5kZXggNDg2NjUzZi4uNjFmYTY2MSAxMDA2
NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmgKKysrIGIvaW5jbHVkZS94
ZW4vaW50ZXJmYWNlL3BsYXRmb3JtLmgKQEAgLTMxNCw2ICszMTQsMTMgQEAgc3RydWN0IHhlbnBm
X3BjcHVpbmZvIHsKIH07CiBERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5wZl9wY3B1aW5m
byk7CiAKKyNkZWZpbmUgWEVOUEZfY3B1X29ubGluZQk1NgorI2RlZmluZSBYRU5QRl9jcHVfb2Zm
bGluZQk1Nworc3RydWN0IHhlbnBmX2NwdV9vbCB7CisJdWludDMyX3QgY3B1aWQ7Cit9OworREVG
SU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVucGZfY3B1X29sKTsKKwogc3RydWN0IHhlbl9wbGF0
Zm9ybV9vcCB7CiAJdWludDMyX3QgY21kOwogCXVpbnQzMl90IGludGVyZmFjZV92ZXJzaW9uOyAv
KiBYRU5QRl9JTlRFUkZBQ0VfVkVSU0lPTiAqLwpAQCAtMzMwLDYgKzMzNyw3IEBAIHN0cnVjdCB4
ZW5fcGxhdGZvcm1fb3AgewogCQlzdHJ1Y3QgeGVucGZfZ2V0aWRsZXRpbWUgICAgICAgZ2V0aWRs
ZXRpbWU7CiAJCXN0cnVjdCB4ZW5wZl9zZXRfcHJvY2Vzc29yX3BtaW5mbyBzZXRfcG1pbmZvOwog
CQlzdHJ1Y3QgeGVucGZfcGNwdWluZm8gICAgICAgICAgcGNwdV9pbmZvOworCQlzdHJ1Y3QgeGVu
cGZfY3B1X29sICAgICAgICAgICAgY3B1X29sOwogCQl1aW50OF90ICAgICAgICAgICAgICAgICAg
ICAgICAgcGFkWzEyOF07CiAJfSB1OwogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVy
ZmFjZS94ZW4uaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaAppbmRleCBhODkwODA0Li4w
ODAxNDY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKKysrIGIvaW5j
bHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oCkBAIC04MCw2ICs4MCw3IEBACiAjZGVmaW5lIFZJUlFf
Q09OU09MRSAgICAyICAvKiAoRE9NMCkgQnl0ZXMgcmVjZWl2ZWQgb24gZW1lcmdlbmN5IGNvbnNv
bGUuICovCiAjZGVmaW5lIFZJUlFfRE9NX0VYQyAgICAzICAvKiAoRE9NMCkgRXhjZXB0aW9uYWwg
ZXZlbnQgZm9yIHNvbWUgZG9tYWluLiAgICovCiAjZGVmaW5lIFZJUlFfREVCVUdHRVIgICA2ICAv
KiAoRE9NMCkgQSBkb21haW4gaGFzIHBhdXNlZCBmb3IgZGVidWdnaW5nLiAgICovCisjZGVmaW5l
IFZJUlFfUENQVV9TVEFURSA5ICAvKiAoRE9NMCkgUENQVSBzdGF0ZSBjaGFuZ2VkICAgICAgICAg
ICAgICAgICAgICovCiAKIC8qIEFyY2hpdGVjdHVyZS1zcGVjaWZpYyBWSVJRIGRlZmluaXRpb25z
LiAqLwogI2RlZmluZSBWSVJRX0FSQ0hfMCAgICAxNgotLSAKMS43LjEKCg==

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351D7001SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Tue May 22 09:46:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlfM-0001cg-DT; Tue, 22 May 2012 09:46:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rok.strnisa@citrix.com>) id 1SWlfK-0001cZ-88
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:46:06 +0000
Received: from [85.158.143.99:3585] by server-1.bemta-4.messagelabs.com id
	03/52-00342-D506BBF4; Tue, 22 May 2012 09:46:05 +0000
X-Env-Sender: rok.strnisa@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337679928!25811532!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20696 invoked from network); 22 May 2012 09:45:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:45:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12598854"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:45:26 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Tue, 22 May 2012
	10:45:25 +0100
From: Rok Strnisa <rok.strnisa@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, Dave Scott
	<Dave.Scott@eu.citrix.com>, Jonathan Ludlam <Jonathan.Ludlam@eu.citrix.com>
Date: Tue, 22 May 2012 10:45:24 +0100
Thread-Topic: [Xen-devel] [PATCH] Encapsulate several OCaml types within
	xenctrl
Thread-Index: Ac03+FiIEvSjMFQiS86R0RA/xk6u0AABACjg
Message-ID: <B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
	<1337676802.10118.27.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337676802.10118.27.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Ian,

> > Note that this is not a backward-compatible change. For example, code in
> xcp's
> > xen-api component needs to be modified accordingly.
> 
> Is someone (you?) also taking care of that side of things? Do we need to
> co-ordinate applying this patch on both sides?

Yes. The code has already been written:
https://github.com/xen-org/xen-api/pull/631

Internally, we'll most likely start using a slightly different (due to an extra
type that needed encapsulation: Xenctrl.runstateinfo) patch to Xen soon, together
with the changes to xen-api.

I have already spoken to Dave about this change. (Adding Dave and Jon to To.)

> Are you proposing this as a change for Xen 4.2? We are currently in
> feature freeze so an argument needs to be made for an exception. Are the
> xen-api developers happy with this change for 4.2?

I see no reason not to include it immediately, since it is only a namespace
and naming (albeit a backward incompatible) change, not also a semantic change,
and therefore cannot introduce regressions when the client code is only adapted
to use the new namespaces and names.

Regards,
Rok
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:46:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlfM-0001cg-DT; Tue, 22 May 2012 09:46:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rok.strnisa@citrix.com>) id 1SWlfK-0001cZ-88
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:46:06 +0000
Received: from [85.158.143.99:3585] by server-1.bemta-4.messagelabs.com id
	03/52-00342-D506BBF4; Tue, 22 May 2012 09:46:05 +0000
X-Env-Sender: rok.strnisa@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337679928!25811532!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20696 invoked from network); 22 May 2012 09:45:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:45:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12598854"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:45:26 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Tue, 22 May 2012
	10:45:25 +0100
From: Rok Strnisa <rok.strnisa@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, Dave Scott
	<Dave.Scott@eu.citrix.com>, Jonathan Ludlam <Jonathan.Ludlam@eu.citrix.com>
Date: Tue, 22 May 2012 10:45:24 +0100
Thread-Topic: [Xen-devel] [PATCH] Encapsulate several OCaml types within
	xenctrl
Thread-Index: Ac03+FiIEvSjMFQiS86R0RA/xk6u0AABACjg
Message-ID: <B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
	<1337676802.10118.27.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337676802.10118.27.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Ian,

> > Note that this is not a backward-compatible change. For example, code in
> xcp's
> > xen-api component needs to be modified accordingly.
> 
> Is someone (you?) also taking care of that side of things? Do we need to
> co-ordinate applying this patch on both sides?

Yes. The code has already been written:
https://github.com/xen-org/xen-api/pull/631

Internally, we'll most likely start using a slightly different (due to an extra
type that needed encapsulation: Xenctrl.runstateinfo) patch to Xen soon, together
with the changes to xen-api.

I have already spoken to Dave about this change. (Adding Dave and Jon to To.)

> Are you proposing this as a change for Xen 4.2? We are currently in
> feature freeze so an argument needs to be made for an exception. Are the
> xen-api developers happy with this change for 4.2?

I see no reason not to include it immediately, since it is only a namespace
and naming (albeit a backward incompatible) change, not also a semantic change,
and therefore cannot introduce regressions when the client code is only adapted
to use the new namespaces and names.

Regards,
Rok
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:58:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlqR-0001uL-Ie; Tue, 22 May 2012 09:57:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@eu.citrix.com>) id 1SWlqQ-0001uB-7L
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:57:34 +0000
Received: from [193.109.254.147:61554] by server-1.bemta-14.messagelabs.com id
	E5/45-29372-D036BBF4; Tue, 22 May 2012 09:57:33 +0000
X-Env-Sender: Dave.Scott@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337680652!10485400!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14351 invoked from network); 22 May 2012 09:57:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:57:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599238"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:57:33 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Tue, 22 May 2012
	10:57:33 +0100
From: Dave Scott <Dave.Scott@eu.citrix.com>
To: Rok Strnisa <rok.strnisa@citrix.com>, Ian Campbell
	<Ian.Campbell@citrix.com>, Jonathan Ludlam <Jonathan.Ludlam@eu.citrix.com>
Date: Tue, 22 May 2012 10:57:32 +0100
Thread-Topic: [Xen-devel] [PATCH] Encapsulate several OCaml types within
	xenctrl
Thread-Index: Ac03+FiIEvSjMFQiS86R0RA/xk6u0AABACjgAAD9O0A=
Message-ID: <81A73678E76EA642801C8F2E4823AD21DA9F513A79@LONPMAILBOX01.citrite.net>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
	<1337676802.10118.27.camel@zakaz.uk.xensource.com>
	<B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
In-Reply-To: <B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

Rok wrote:
> I have already spoken to Dave about this change. (Adding Dave and Jon
> to To.)

Ian wrote:
> > Are you proposing this as a change for Xen 4.2? We are currently in
> > feature freeze so an argument needs to be made for an exception. Are
> the
> > xen-api developers happy with this change for 4.2?

> I see no reason not to include it immediately, since it is only a
> namespace
> and naming (albeit a backward incompatible) change, not also a semantic
> change,
> and therefore cannot introduce regressions when the client code is only
> adapted
> to use the new namespaces and names.

I think the important thing is getting the change into xen-unstable, but
I don't think it's necessary for 4.2.

If the patch isn't in 4.2 but does get into xen-unstable then the master branch
of xen-api will be updated to match xen-unstable (via Rok's pull request) and
we'll just have to add the inverse of Rok's patch into the patchqueue for the
debian xapi packages which be rebased against 4.2 (I assume). That doesn't
seem too bad.

Cheers,
Dave
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 09:58:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 09:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlqR-0001uL-Ie; Tue, 22 May 2012 09:57:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Dave.Scott@eu.citrix.com>) id 1SWlqQ-0001uB-7L
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:57:34 +0000
Received: from [193.109.254.147:61554] by server-1.bemta-14.messagelabs.com id
	E5/45-29372-D036BBF4; Tue, 22 May 2012 09:57:33 +0000
X-Env-Sender: Dave.Scott@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337680652!10485400!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14351 invoked from network); 22 May 2012 09:57:33 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 09:57:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599238"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:57:33 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Tue, 22 May 2012
	10:57:33 +0100
From: Dave Scott <Dave.Scott@eu.citrix.com>
To: Rok Strnisa <rok.strnisa@citrix.com>, Ian Campbell
	<Ian.Campbell@citrix.com>, Jonathan Ludlam <Jonathan.Ludlam@eu.citrix.com>
Date: Tue, 22 May 2012 10:57:32 +0100
Thread-Topic: [Xen-devel] [PATCH] Encapsulate several OCaml types within
	xenctrl
Thread-Index: Ac03+FiIEvSjMFQiS86R0RA/xk6u0AABACjgAAD9O0A=
Message-ID: <81A73678E76EA642801C8F2E4823AD21DA9F513A79@LONPMAILBOX01.citrite.net>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
	<1337676802.10118.27.camel@zakaz.uk.xensource.com>
	<B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
In-Reply-To: <B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

Rok wrote:
> I have already spoken to Dave about this change. (Adding Dave and Jon
> to To.)

Ian wrote:
> > Are you proposing this as a change for Xen 4.2? We are currently in
> > feature freeze so an argument needs to be made for an exception. Are
> the
> > xen-api developers happy with this change for 4.2?

> I see no reason not to include it immediately, since it is only a
> namespace
> and naming (albeit a backward incompatible) change, not also a semantic
> change,
> and therefore cannot introduce regressions when the client code is only
> adapted
> to use the new namespaces and names.

I think the important thing is getting the change into xen-unstable, but
I don't think it's necessary for 4.2.

If the patch isn't in 4.2 but does get into xen-unstable then the master branch
of xen-api will be updated to match xen-unstable (via Rok's pull request) and
we'll just have to add the inverse of Rok's patch into the patchqueue for the
debian xapi packages which be rebased against 4.2 (I assume). That doesn't
seem too bad.

Cheers,
Dave
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:03:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:03:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlvU-0002AW-PX; Tue, 22 May 2012 10:02:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWlvT-0002AE-Mp
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 10:02:47 +0000
Received: from [85.158.143.99:31851] by server-2.bemta-4.messagelabs.com id
	12/9A-12211-7446BBF4; Tue, 22 May 2012 10:02:47 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337680966!28631058!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19629 invoked from network); 22 May 2012 10:02:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:02:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599420"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:02:45 +0100
Message-ID: <1337680964.10118.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dave Scott <Dave.Scott@eu.citrix.com>
Date: Tue, 22 May 2012 11:02:44 +0100
In-Reply-To: <81A73678E76EA642801C8F2E4823AD21DA9F513A79@LONPMAILBOX01.citrite.net>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
	<1337676802.10118.27.camel@zakaz.uk.xensource.com>
	<B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
	<81A73678E76EA642801C8F2E4823AD21DA9F513A79@LONPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Rok Strnisa <rok.strnisa@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jonathan Ludlam <Jonathan.Ludlam@eu.citrix.com>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 10:57 +0100, Dave Scott wrote:
> Hi,
> 
> Rok wrote:
> > I have already spoken to Dave about this change. (Adding Dave and Jon
> > to To.)
> 
> Ian wrote:
> > > Are you proposing this as a change for Xen 4.2? We are currently in
> > > feature freeze so an argument needs to be made for an exception. Are
> > the
> > > xen-api developers happy with this change for 4.2?
> 
> > I see no reason not to include it immediately, since it is only a
> > namespace
> > and naming (albeit a backward incompatible) change, not also a semantic
> > change,
> > and therefore cannot introduce regressions when the client code is only
> > adapted
> > to use the new namespaces and names.
> 
> I think the important thing is getting the change into xen-unstable, but
> I don't think it's necessary for 4.2.

We don't branch 4.2 until the rc's start -- so there is currently no
separate unstable and 4.2 at the moment. Anything which goes into
unstable is by definition in 4.2.

So really the question is whether we are happy to have this in 4.2 vs.
not committing it until after we branch.

> If the patch isn't in 4.2 but does get into xen-unstable then the master branch
> of xen-api will be updated to match xen-unstable (via Rok's pull request) and
> we'll just have to add the inverse of Rok's patch into the patchqueue for the
> debian xapi packages which be rebased against 4.2 (I assume). That doesn't
> seem too bad.
> 
> Cheers,
> Dave



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:03:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:03:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWlvU-0002AW-PX; Tue, 22 May 2012 10:02:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWlvT-0002AE-Mp
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 10:02:47 +0000
Received: from [85.158.143.99:31851] by server-2.bemta-4.messagelabs.com id
	12/9A-12211-7446BBF4; Tue, 22 May 2012 10:02:47 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337680966!28631058!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19629 invoked from network); 22 May 2012 10:02:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:02:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599420"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:02:45 +0100
Message-ID: <1337680964.10118.64.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dave Scott <Dave.Scott@eu.citrix.com>
Date: Tue, 22 May 2012 11:02:44 +0100
In-Reply-To: <81A73678E76EA642801C8F2E4823AD21DA9F513A79@LONPMAILBOX01.citrite.net>
References: <d7464edc5453c47e2ff8.1337618956@Nexus>
	<1337676802.10118.27.camel@zakaz.uk.xensource.com>
	<B462D1536FED1140871BC97AB218A659CB207DF5F3@LONPMAILBOX01.citrite.net>
	<81A73678E76EA642801C8F2E4823AD21DA9F513A79@LONPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Rok Strnisa <rok.strnisa@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jonathan Ludlam <Jonathan.Ludlam@eu.citrix.com>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Encapsulate several OCaml types within
 xenctrl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 10:57 +0100, Dave Scott wrote:
> Hi,
> 
> Rok wrote:
> > I have already spoken to Dave about this change. (Adding Dave and Jon
> > to To.)
> 
> Ian wrote:
> > > Are you proposing this as a change for Xen 4.2? We are currently in
> > > feature freeze so an argument needs to be made for an exception. Are
> > the
> > > xen-api developers happy with this change for 4.2?
> 
> > I see no reason not to include it immediately, since it is only a
> > namespace
> > and naming (albeit a backward incompatible) change, not also a semantic
> > change,
> > and therefore cannot introduce regressions when the client code is only
> > adapted
> > to use the new namespaces and names.
> 
> I think the important thing is getting the change into xen-unstable, but
> I don't think it's necessary for 4.2.

We don't branch 4.2 until the rc's start -- so there is currently no
separate unstable and 4.2 at the moment. Anything which goes into
unstable is by definition in 4.2.

So really the question is whether we are happy to have this in 4.2 vs.
not committing it until after we branch.

> If the patch isn't in 4.2 but does get into xen-unstable then the master branch
> of xen-api will be updated to match xen-unstable (via Rok's pull request) and
> we'll just have to add the inverse of Rok's patch into the patchqueue for the
> debian xapi packages which be rebased against 4.2 (I assume). That doesn't
> seem too bad.
> 
> Cheers,
> Dave



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:12:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWm4R-0002Qn-Iy; Tue, 22 May 2012 10:12:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWm4P-0002Qi-CZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 10:12:01 +0000
Received: from [85.158.138.51:17870] by server-1.bemta-3.messagelabs.com id
	D7/30-11491-0766BBF4; Tue, 22 May 2012 10:12:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337681519!20409764!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21996 invoked from network); 22 May 2012 10:12:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:12:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599693"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:11:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:11:40 +0100
Message-ID: <1337681499.10118.67.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Miroslav Rezanina <mrezanin@redhat.com>
Date: Tue, 22 May 2012 11:11:39 +0100
In-Reply-To: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
References: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xensource.com>,
	M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 08:37 +0100, Miroslav Rezanina wrote:
> If guest kernel or ramdisk image is too large to fit in the dom0 memory, it causes pygrub crash with "out of memory" error. 
> This patch reads kernel/ramdisk file in 1 MB blocks so prevent exhausting whole memory.

Thanks, we've had a similar patch from Michael Young (CCd) too, see:
<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>.

They look functionally pretty similar, one big difference is that
Michael limits the size of the cfg file as well, which seems wise.

Looks like his handles errors on the os.write too?

I do like splitting the read loop out into a function as you've done
though.

> 
> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> 
> Patch:
> --
> diff -r 238900a4ed22 tools/pygrub/src/pygrub
> --- a/tools/pygrub/src/pygrub	Mon May 21 12:03:32 2012 +0200
> +++ b/tools/pygrub/src/pygrub	Tue May 22 11:32:28 2012 +0200
> @@ -697,6 +697,20 @@
>      def usage():
>          print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [-n|--not-really] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] [--output-directory=] [--output-format=sxp|simple|simple0] <image>" %(sys.argv[0],)
>  
> +    def copy_from_image(fs, file_to_copy, tmp_prefix):
> +        (tfd, rv) = tempfile.mkstemp(prefix=tmp_prefix, dir="/var/lib/xen")
> +        file_handle = fs.open_file(file_to_copy)
> +        readsize = 0
> +
> +        while True:
> +            data = file_handle.read(1048576,readsize)
> +            if len(data) == 0:
> +                os.close(tfd)
> +                return rv
> +
>   +          readsize += len(data)
> +            os.write(tfd,data)          
> +
>      try:
>          opts, args = getopt.gnu_getopt(sys.argv[1:], 'qinh::',
>                                     ["quiet", "interactive", "not-really", "help", 
> @@ -824,21 +838,15 @@
>      if not_really:
>          bootcfg["kernel"] = "<kernel:%s>" % chosencfg["kernel"]
>      else:
> -        data = fs.open_file(chosencfg["kernel"]).read()
> -        (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.",
> -                                                    dir=output_directory)
> -        os.write(tfd, data)
> -        os.close(tfd)
> +        bootcfg["kernel"] = copy_from_image(fs,chosencfg["kernel"],
> +                                            "boot_kernel.")
>  
>      if chosencfg["ramdisk"]:
>          if not_really:
>              bootcfg["ramdisk"] = "<ramdisk:%s>" % chosencfg["ramdisk"]
>          else:
> -            data = fs.open_file(chosencfg["ramdisk"],).read()
> -            (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp(
> -                prefix="boot_ramdisk.", dir=output_directory)
> -            os.write(tfd, data)
> -            os.close(tfd)
> +            bootcfg["ramdisk"] = copy_from_image(fs, chosencfg["ramdisk",
> +                                                 "boot_ramdisk.")
>      else:
>          initrd = None
>  
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:12:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWm4R-0002Qn-Iy; Tue, 22 May 2012 10:12:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWm4P-0002Qi-CZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 10:12:01 +0000
Received: from [85.158.138.51:17870] by server-1.bemta-3.messagelabs.com id
	D7/30-11491-0766BBF4; Tue, 22 May 2012 10:12:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337681519!20409764!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21996 invoked from network); 22 May 2012 10:12:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:12:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599693"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:11:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:11:40 +0100
Message-ID: <1337681499.10118.67.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Miroslav Rezanina <mrezanin@redhat.com>
Date: Tue, 22 May 2012 11:11:39 +0100
In-Reply-To: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
References: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xensource.com>,
	M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 08:37 +0100, Miroslav Rezanina wrote:
> If guest kernel or ramdisk image is too large to fit in the dom0 memory, it causes pygrub crash with "out of memory" error. 
> This patch reads kernel/ramdisk file in 1 MB blocks so prevent exhausting whole memory.

Thanks, we've had a similar patch from Michael Young (CCd) too, see:
<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>.

They look functionally pretty similar, one big difference is that
Michael limits the size of the cfg file as well, which seems wise.

Looks like his handles errors on the os.write too?

I do like splitting the read loop out into a function as you've done
though.

> 
> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> 
> Patch:
> --
> diff -r 238900a4ed22 tools/pygrub/src/pygrub
> --- a/tools/pygrub/src/pygrub	Mon May 21 12:03:32 2012 +0200
> +++ b/tools/pygrub/src/pygrub	Tue May 22 11:32:28 2012 +0200
> @@ -697,6 +697,20 @@
>      def usage():
>          print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [-n|--not-really] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] [--output-directory=] [--output-format=sxp|simple|simple0] <image>" %(sys.argv[0],)
>  
> +    def copy_from_image(fs, file_to_copy, tmp_prefix):
> +        (tfd, rv) = tempfile.mkstemp(prefix=tmp_prefix, dir="/var/lib/xen")
> +        file_handle = fs.open_file(file_to_copy)
> +        readsize = 0
> +
> +        while True:
> +            data = file_handle.read(1048576,readsize)
> +            if len(data) == 0:
> +                os.close(tfd)
> +                return rv
> +
>   +          readsize += len(data)
> +            os.write(tfd,data)          
> +
>      try:
>          opts, args = getopt.gnu_getopt(sys.argv[1:], 'qinh::',
>                                     ["quiet", "interactive", "not-really", "help", 
> @@ -824,21 +838,15 @@
>      if not_really:
>          bootcfg["kernel"] = "<kernel:%s>" % chosencfg["kernel"]
>      else:
> -        data = fs.open_file(chosencfg["kernel"]).read()
> -        (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.",
> -                                                    dir=output_directory)
> -        os.write(tfd, data)
> -        os.close(tfd)
> +        bootcfg["kernel"] = copy_from_image(fs,chosencfg["kernel"],
> +                                            "boot_kernel.")
>  
>      if chosencfg["ramdisk"]:
>          if not_really:
>              bootcfg["ramdisk"] = "<ramdisk:%s>" % chosencfg["ramdisk"]
>          else:
> -            data = fs.open_file(chosencfg["ramdisk"],).read()
> -            (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp(
> -                prefix="boot_ramdisk.", dir=output_directory)
> -            os.write(tfd, data)
> -            os.close(tfd)
> +            bootcfg["ramdisk"] = copy_from_image(fs, chosencfg["ramdisk",
> +                                                 "boot_ramdisk.")
>      else:
>          initrd = None
>  
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:16:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:16:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWm8Y-0002YB-9V; Tue, 22 May 2012 10:16:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWm8W-0002Y3-Ts
	for xen-devel@lists.xen.org; Tue, 22 May 2012 10:16:17 +0000
Received: from [85.158.139.83:13540] by server-10.bemta-5.messagelabs.com id
	48/B4-14168-F676BBF4; Tue, 22 May 2012 10:16:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337681773!29676782!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5258 invoked from network); 22 May 2012 10:16:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:16:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:16:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:16:13 +0100
Message-ID: <1337681771.10118.69.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 22 May 2012 11:16:11 +0100
In-Reply-To: <1337353667.16815.25.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 16:07 +0100, Dario Faggioli wrote:
> On Fri, 2012-05-18 at 15:55 +0100, Ian Campbell wrote:
> > I wonder if just changing the return type of libxl__domain_type to int
> > would be better than this? I guess it'll probably be much the same.
> > 
> Well, the patch I'm attaching now let me at least build cleanly,
> _without_ any other patches (not Christoph's nor mine)... Did you mean
> something like that?

I did, I guess we need to check that all callers can cope with this new
return value though?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:16:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:16:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWm8Y-0002YB-9V; Tue, 22 May 2012 10:16:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWm8W-0002Y3-Ts
	for xen-devel@lists.xen.org; Tue, 22 May 2012 10:16:17 +0000
Received: from [85.158.139.83:13540] by server-10.bemta-5.messagelabs.com id
	48/B4-14168-F676BBF4; Tue, 22 May 2012 10:16:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337681773!29676782!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5258 invoked from network); 22 May 2012 10:16:15 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:16:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12599847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:16:13 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:16:13 +0100
Message-ID: <1337681771.10118.69.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 22 May 2012 11:16:11 +0100
In-Reply-To: <1337353667.16815.25.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 16:07 +0100, Dario Faggioli wrote:
> On Fri, 2012-05-18 at 15:55 +0100, Ian Campbell wrote:
> > I wonder if just changing the return type of libxl__domain_type to int
> > would be better than this? I guess it'll probably be much the same.
> > 
> Well, the patch I'm attaching now let me at least build cleanly,
> _without_ any other patches (not Christoph's nor mine)... Did you mean
> something like that?

I did, I guess we need to check that all callers can cope with this new
return value though?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:32:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:32:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWmNJ-0002j2-P5; Tue, 22 May 2012 10:31:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SWmNI-0002ix-DI
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 10:31:32 +0000
Received: from [85.158.143.99:38064] by server-2.bemta-4.messagelabs.com id
	81/91-12211-30B6BBF4; Tue, 22 May 2012 10:31:31 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337682665!23875632!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDQwMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22851 invoked from network); 22 May 2012 10:31:06 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 10:31:06 -0000
Received: from smtphost4.dur.ac.uk (smtphost4.dur.ac.uk [129.234.252.4])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MAUjVI015471;
	Tue, 22 May 2012 11:30:49 +0100
Received: from algedi.dur.ac.uk (algedi.dur.ac.uk [129.234.2.28])
	by smtphost4.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MAUWeW000567
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 11:30:32 +0100
Received: from algedi.dur.ac.uk (localhost [127.0.0.1])
	by algedi.dur.ac.uk (8.14.4+Sun/8.11.1) with ESMTP id q4MAUWR3001498;
	Tue, 22 May 2012 11:30:32 +0100 (BST)
Received: from localhost (dcl0may@localhost)
	by algedi.dur.ac.uk (8.14.4+Sun/8.14.4/Submit) with ESMTP id
	q4MAUVhv001495; Tue, 22 May 2012 11:30:31 +0100 (BST)
Date: Tue, 22 May 2012 11:30:31 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337681499.10118.67.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.GSO.2.00.1205221117200.1309@algedi.dur.ac.uk>
References: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
	<1337681499.10118.67.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4MAUjVI015471
Cc: Miroslav Rezanina <mrezanin@redhat.com>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 22 May 2012, Ian Campbell wrote:

> On Tue, 2012-05-22 at 08:37 +0100, Miroslav Rezanina wrote:
>> If guest kernel or ramdisk image is too large to fit in the dom0 memory, it causes pygrub crash with "out of memory" error.
>> This patch reads kernel/ramdisk file in 1 MB blocks so prevent exhausting whole memory.
>
> Thanks, we've had a similar patch from Michael Young (CCd) too, see:
> <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>.
or at
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01183.html

> They look functionally pretty similar, one big difference is that
> Michael limits the size of the cfg file as well, which seems wise.

Yes, a malicious guest could have a huge grub configuration file as well.
My strategy was just to read the first megabyte as I can't see why a 
legitimate configuration file would be anywhere near that long.

> Looks like his handles errors on the os.write too?

Yes, if there are write problems my patch deletes the kernel and ramdisk 
temporary files and exits with an error. This isn't so important though as 
the calling process should clean them up afterwards though my testing 
suggested that if the write failed due to lack of space, the guest may try 
to run with incomplete kernel or ramdisk files, and also you would have a 
full filesystem for a bit longer.

> I do like splitting the read loop out into a function as you've done
> though.

Yes, that does seem neater.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:32:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:32:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWmNJ-0002j2-P5; Tue, 22 May 2012 10:31:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SWmNI-0002ix-DI
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 10:31:32 +0000
Received: from [85.158.143.99:38064] by server-2.bemta-4.messagelabs.com id
	81/91-12211-30B6BBF4; Tue, 22 May 2012 10:31:31 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337682665!23875632!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDQwMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22851 invoked from network); 22 May 2012 10:31:06 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-2.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 10:31:06 -0000
Received: from smtphost4.dur.ac.uk (smtphost4.dur.ac.uk [129.234.252.4])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MAUjVI015471;
	Tue, 22 May 2012 11:30:49 +0100
Received: from algedi.dur.ac.uk (algedi.dur.ac.uk [129.234.2.28])
	by smtphost4.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MAUWeW000567
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 11:30:32 +0100
Received: from algedi.dur.ac.uk (localhost [127.0.0.1])
	by algedi.dur.ac.uk (8.14.4+Sun/8.11.1) with ESMTP id q4MAUWR3001498;
	Tue, 22 May 2012 11:30:32 +0100 (BST)
Received: from localhost (dcl0may@localhost)
	by algedi.dur.ac.uk (8.14.4+Sun/8.14.4/Submit) with ESMTP id
	q4MAUVhv001495; Tue, 22 May 2012 11:30:31 +0100 (BST)
Date: Tue, 22 May 2012 11:30:31 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337681499.10118.67.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.GSO.2.00.1205221117200.1309@algedi.dur.ac.uk>
References: <69bd2333-9bba-47ed-96eb-001683aa7c5e@zmail17.collab.prod.int.phx2.redhat.com>
	<1337681499.10118.67.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4MAUjVI015471
Cc: Miroslav Rezanina <mrezanin@redhat.com>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 22 May 2012, Ian Campbell wrote:

> On Tue, 2012-05-22 at 08:37 +0100, Miroslav Rezanina wrote:
>> If guest kernel or ramdisk image is too large to fit in the dom0 memory, it causes pygrub crash with "out of memory" error.
>> This patch reads kernel/ramdisk file in 1 MB blocks so prevent exhausting whole memory.
>
> Thanks, we've had a similar patch from Michael Young (CCd) too, see:
> <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>.
or at
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01183.html

> They look functionally pretty similar, one big difference is that
> Michael limits the size of the cfg file as well, which seems wise.

Yes, a malicious guest could have a huge grub configuration file as well.
My strategy was just to read the first megabyte as I can't see why a 
legitimate configuration file would be anywhere near that long.

> Looks like his handles errors on the os.write too?

Yes, if there are write problems my patch deletes the kernel and ramdisk 
temporary files and exits with an error. This isn't so important though as 
the calling process should clean them up afterwards though my testing 
suggested that if the write failed due to lack of space, the guest may try 
to run with incomplete kernel or ramdisk files, and also you would have a 
full filesystem for a bit longer.

> I do like splitting the read loop out into a function as you've done
> though.

Yes, that does seem neater.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:55:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:55:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWmjk-0002xD-VM; Tue, 22 May 2012 10:54:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SWmjj-0002x8-IR
	for xen-devel@lists.xen.org; Tue, 22 May 2012 10:54:43 +0000
Received: from [85.158.138.51:45270] by server-2.bemta-3.messagelabs.com id
	C4/63-03712-2707BBF4; Tue, 22 May 2012 10:54:42 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337684079!28510360!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30913 invoked from network); 22 May 2012 10:54:40 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:54:40 -0000
Received: by qafl39 with SMTP id l39so3109999qaf.16
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 03:54:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=4P6LXe4+QzGdDwmLh96C1SWnMG+5jQYqw7w8qsKRyVs=;
	b=xQOhwbD/Mj48qFl2c/fyasn0rL0c3UW41VFZwP702nwmKtgCRB2dmniiFHTmLtW11l
	n4GntEdUsZWPGDHhgSXtZdCQ8c9rngZvxkdB784i5eltXdx11Zj8XO6dq/dwQnTaZUKN
	p+rqmMJwDEdpJo3PrHtY+0orOs2mVJQZqqLkxpn1wV6Weja7r3LbgEVmum3XCFYWVGW+
	n3pQVB6kbIIqD4bV4zVqCHc8OQpEi0Jv26O6R1f1XaJCb8z8mf48BtFUkaVQ4blw+q93
	31QPz9UE//jOUngqT5Z4p3aefMgDpuyczRR4fKMbmjHGEmm+fQNsPyZsnw+pmPtYZwwN
	yt3A==
MIME-Version: 1.0
Received: by 10.224.185.204 with SMTP id cp12mr43936110qab.42.1337684078610;
	Tue, 22 May 2012 03:54:38 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 22 May 2012 03:54:38 -0700 (PDT)
In-Reply-To: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
References: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
Date: Tue, 22 May 2012 11:54:38 +0100
X-Google-Sender-Auth: RTUirO91ad9ZdH6WG0veZe0ZMzI
Message-ID: <CAFLBxZZ9fo649=97m=_E=EMkmMShfhkakiroOtd4Q6hPYb5NMQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: suixiufeng <suixiufeng@gmail.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 7:51 AM, suixiufeng <suixiufeng@gmail.com> wrote:
> Hi,
> =A0 =A0When I run some workloads from SPECCPU2006. I found that the retir=
ed
> instruction number vary significantly between VM and PM according to
> xenoprof. For example:
>
> =A0 =A0Workload =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Insts
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Platform
> =A0 =A0435.gromacs (CPU intensive) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A04458151
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 PM
> =A0 =A0435.gromacs =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0=A0151265683
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 VM
> =A0 =A0450.soplex =A0 (Memory intensive) =A0 =A0 =A0 =A0 =A0 =A0760142
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PM
> =A0 =A0=A0450.soplex =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A023311208
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0VM
>
> What is the reason? Does Xen use interpret? Thank you!

I take you to mean, "Does Xen emulate guest instructions"?  The answer
is "No", with one exception: for HVM guests, Xen will emulate accesses
to devices, including MMIO and PIO.

There's not really enough information here to even make a guess as to
what might be causing your numbers here; it's not even really clear
what the numbers you're reporting are, as they seem to be instructions
rather than the performance.  If you could give a bit more information
about what kind of guest OS you're running, your setup, how you're
collecting data, and what it means, we might be able to be more
helpful.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:55:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:55:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWmjk-0002xD-VM; Tue, 22 May 2012 10:54:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SWmjj-0002x8-IR
	for xen-devel@lists.xen.org; Tue, 22 May 2012 10:54:43 +0000
Received: from [85.158.138.51:45270] by server-2.bemta-3.messagelabs.com id
	C4/63-03712-2707BBF4; Tue, 22 May 2012 10:54:42 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337684079!28510360!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30913 invoked from network); 22 May 2012 10:54:40 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:54:40 -0000
Received: by qafl39 with SMTP id l39so3109999qaf.16
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 03:54:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=4P6LXe4+QzGdDwmLh96C1SWnMG+5jQYqw7w8qsKRyVs=;
	b=xQOhwbD/Mj48qFl2c/fyasn0rL0c3UW41VFZwP702nwmKtgCRB2dmniiFHTmLtW11l
	n4GntEdUsZWPGDHhgSXtZdCQ8c9rngZvxkdB784i5eltXdx11Zj8XO6dq/dwQnTaZUKN
	p+rqmMJwDEdpJo3PrHtY+0orOs2mVJQZqqLkxpn1wV6Weja7r3LbgEVmum3XCFYWVGW+
	n3pQVB6kbIIqD4bV4zVqCHc8OQpEi0Jv26O6R1f1XaJCb8z8mf48BtFUkaVQ4blw+q93
	31QPz9UE//jOUngqT5Z4p3aefMgDpuyczRR4fKMbmjHGEmm+fQNsPyZsnw+pmPtYZwwN
	yt3A==
MIME-Version: 1.0
Received: by 10.224.185.204 with SMTP id cp12mr43936110qab.42.1337684078610;
	Tue, 22 May 2012 03:54:38 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 22 May 2012 03:54:38 -0700 (PDT)
In-Reply-To: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
References: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
Date: Tue, 22 May 2012 11:54:38 +0100
X-Google-Sender-Auth: RTUirO91ad9ZdH6WG0veZe0ZMzI
Message-ID: <CAFLBxZZ9fo649=97m=_E=EMkmMShfhkakiroOtd4Q6hPYb5NMQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: suixiufeng <suixiufeng@gmail.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 7:51 AM, suixiufeng <suixiufeng@gmail.com> wrote:
> Hi,
> =A0 =A0When I run some workloads from SPECCPU2006. I found that the retir=
ed
> instruction number vary significantly between VM and PM according to
> xenoprof. For example:
>
> =A0 =A0Workload =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Insts
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Platform
> =A0 =A0435.gromacs (CPU intensive) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A04458151
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 PM
> =A0 =A0435.gromacs =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0=A0151265683
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 VM
> =A0 =A0450.soplex =A0 (Memory intensive) =A0 =A0 =A0 =A0 =A0 =A0760142
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PM
> =A0 =A0=A0450.soplex =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A023311208
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0VM
>
> What is the reason? Does Xen use interpret? Thank you!

I take you to mean, "Does Xen emulate guest instructions"?  The answer
is "No", with one exception: for HVM guests, Xen will emulate accesses
to devices, including MMIO and PIO.

There's not really enough information here to even make a guess as to
what might be causing your numbers here; it's not even really clear
what the numbers you're reporting are, as they seem to be instructions
rather than the performance.  If you could give a bit more information
about what kind of guest OS you're running, your setup, how you're
collecting data, and what it means, we might be able to be more
helpful.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:56:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:56:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWmlD-00032O-JY; Tue, 22 May 2012 10:56:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWmlB-00032G-Ul
	for xen-devel@lists.xen.org; Tue, 22 May 2012 10:56:14 +0000
Received: from [85.158.143.35:36797] by server-1.bemta-4.messagelabs.com id
	18/4D-00342-DC07BBF4; Tue, 22 May 2012 10:56:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337684159!12657291!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7378 invoked from network); 22 May 2012 10:56:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:56:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12601004"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:55:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:55:59 +0100
Message-ID: <1337684158.10118.87.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 11:55:58 +0100
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/4] libxl: events: debugging output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 19:20 +0100, Ian Jackson wrote:
> I was using these to help with debugging the libxl event code.
> 
> Changes since v1: Made many of these less spammy.

I booted a pv guest with "xl -vvv cr -c" with pygrub and direct kernel
and it wasn't too spammy anymore. I've applied them all.

Thanks,
Ian.

> 
>  1/4 libxl: events: debugging output for timeouts
>  2/4 libxl: events: improve debugging output for xs watches
>  3/4 libxl: events: debugging output for fds
>  4/4 libxl: events: debugging output relating to ao's
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 10:56:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 10:56:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWmlD-00032O-JY; Tue, 22 May 2012 10:56:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWmlB-00032G-Ul
	for xen-devel@lists.xen.org; Tue, 22 May 2012 10:56:14 +0000
Received: from [85.158.143.35:36797] by server-1.bemta-4.messagelabs.com id
	18/4D-00342-DC07BBF4; Tue, 22 May 2012 10:56:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337684159!12657291!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7378 invoked from network); 22 May 2012 10:56:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 10:56:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12601004"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:55:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:55:59 +0100
Message-ID: <1337684158.10118.87.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 11:55:58 +0100
In-Reply-To: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1337365225-11937-1-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/4] libxl: events: debugging output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 19:20 +0100, Ian Jackson wrote:
> I was using these to help with debugging the libxl event code.
> 
> Changes since v1: Made many of these less spammy.

I booted a pv guest with "xl -vvv cr -c" with pygrub and direct kernel
and it wasn't too spammy anymore. I've applied them all.

Thanks,
Ian.

> 
>  1/4 libxl: events: debugging output for timeouts
>  2/4 libxl: events: improve debugging output for xs watches
>  3/4 libxl: events: debugging output for fds
>  4/4 libxl: events: debugging output relating to ao's
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:12:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWn0G-0003Qg-Pw; Tue, 22 May 2012 11:11:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWn0F-0003QX-Rx
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:11:48 +0000
Received: from [85.158.143.35:43245] by server-2.bemta-4.messagelabs.com id
	60/B4-12211-3747BBF4; Tue, 22 May 2012 11:11:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337685106!5728746!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12025 invoked from network); 22 May 2012 11:11:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 11:11:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12601335"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:11:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 12:11:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWn0D-0006xK-Qt; Tue, 22 May 2012 11:11:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWn0D-0006Yo-Q4;
	Tue, 22 May 2012 12:11:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.29809.793836.281069@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 12:11:45 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24419.849941.504507@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> If my math is correct there is no need to enforce an upper limit because
> even if we suppose that offset is ULONG_MAX on 64 bits it would still be
> lower than 26 elevated at 28 that is the actual upper limit.

Right.  (In English you mean "26 to the power of 28" or you might
choose to write "26^28".)

> I am going to write this in a comment.

Yes, that's what I was trying to get at.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:12:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWn0G-0003Qg-Pw; Tue, 22 May 2012 11:11:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWn0F-0003QX-Rx
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:11:48 +0000
Received: from [85.158.143.35:43245] by server-2.bemta-4.messagelabs.com id
	60/B4-12211-3747BBF4; Tue, 22 May 2012 11:11:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337685106!5728746!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12025 invoked from network); 22 May 2012 11:11:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 11:11:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12601335"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:11:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 12:11:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWn0D-0006xK-Qt; Tue, 22 May 2012 11:11:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWn0D-0006Yo-Q4;
	Tue, 22 May 2012 12:11:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.29809.793836.281069@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 12:11:45 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205141546350.26786@kaball-desktop>
	<1337350125-30394-7-git-send-email-stefano.stabellini@eu.citrix.com>
	<20406.24419.849941.504507@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205211848060.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v6 07/11] libxl: introduce libxl__alloc_vdev"):
> If my math is correct there is no need to enforce an upper limit because
> even if we suppose that offset is ULONG_MAX on 64 bits it would still be
> lower than 26 elevated at 28 that is the actual upper limit.

Right.  (In English you mean "26 to the power of 28" or you might
choose to write "26^28".)

> I am going to write this in a comment.

Yes, that's what I was trying to get at.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:18:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:18:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWn68-0003kH-Jq; Tue, 22 May 2012 11:17:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWn67-0003kA-AD
	for xen-devel@lists.xen.org; Tue, 22 May 2012 11:17:51 +0000
Received: from [85.158.138.51:7954] by server-1.bemta-3.messagelabs.com id
	88/6A-11491-ED57BBF4; Tue, 22 May 2012 11:17:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337685469!28429800!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15101 invoked from network); 22 May 2012 11:17:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 11:17:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12601463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:17:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 12:17:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWn5T-0006z9-Tf; Tue, 22 May 2012 11:17:11 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWn5T-0006a3-Qy;
	Tue, 22 May 2012 12:17:11 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.30135.659467.276549@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 12:17:11 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337675069.10118.11.camel@zakaz.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337675069.10118.11.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > +pid_t xl_waitpid(xlchildnum child, int *status, int flags)
> > +{
> > +    xlchild *ch = &children[child];
> > +    pid_t got = ch->pid;
> > +    assert(got);
> > +    if (ch->reaped) {
> > +        *status = ch->status;
> > +        ch->pid = 0;
> > +        return got;
> > +    }
> > +    for (;;) {
> > +        got = waitpid(ch->pid, status, flags);
> 
> Is it always the case that xl has at most one child?

I don't think it is necessarily the case.

> Because if not then we may reap the wrong one here.

No, the whole point of waitpid is that you get to specify which child
to reap.  Unless I'm missing something ?

ch->pid the same as children[child].pid which is the pid of the child
we want to wait for, and the previous code has just checked whether we
have reaped it already so we are guaranteed not to reap a new
different child with the same pid and get confused (should such a
thing happen to happen).

> > +typedef struct {
> > +    /* every struct like this must be in XLCHILD_LIST */
> 
> This comment is obsolete now.

Oh yes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:18:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:18:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWn68-0003kH-Jq; Tue, 22 May 2012 11:17:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWn67-0003kA-AD
	for xen-devel@lists.xen.org; Tue, 22 May 2012 11:17:51 +0000
Received: from [85.158.138.51:7954] by server-1.bemta-3.messagelabs.com id
	88/6A-11491-ED57BBF4; Tue, 22 May 2012 11:17:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337685469!28429800!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15101 invoked from network); 22 May 2012 11:17:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 11:17:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12601463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:17:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 12:17:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWn5T-0006z9-Tf; Tue, 22 May 2012 11:17:11 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWn5T-0006a3-Qy;
	Tue, 22 May 2012 12:17:11 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.30135.659467.276549@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 12:17:11 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337675069.10118.11.camel@zakaz.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337675069.10118.11.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > +pid_t xl_waitpid(xlchildnum child, int *status, int flags)
> > +{
> > +    xlchild *ch = &children[child];
> > +    pid_t got = ch->pid;
> > +    assert(got);
> > +    if (ch->reaped) {
> > +        *status = ch->status;
> > +        ch->pid = 0;
> > +        return got;
> > +    }
> > +    for (;;) {
> > +        got = waitpid(ch->pid, status, flags);
> 
> Is it always the case that xl has at most one child?

I don't think it is necessarily the case.

> Because if not then we may reap the wrong one here.

No, the whole point of waitpid is that you get to specify which child
to reap.  Unless I'm missing something ?

ch->pid the same as children[child].pid which is the pid of the child
we want to wait for, and the previous code has just checked whether we
have reaped it already so we are guaranteed not to reap a new
different child with the same pid and get confused (should such a
thing happen to happen).

> > +typedef struct {
> > +    /* every struct like this must be in XLCHILD_LIST */
> 
> This comment is obsolete now.

Oh yes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:36:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnNo-00040l-9H; Tue, 22 May 2012 11:36:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SWnNn-00040g-MA
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:36:07 +0000
Received: from [85.158.143.35:44568] by server-3.bemta-4.messagelabs.com id
	90/D5-05853-62A7BBF4; Tue, 22 May 2012 11:36:06 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337686564!14124060!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18452 invoked from network); 22 May 2012 11:36:06 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 May 2012 11:36:06 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SWnNh-0005gr-HN
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:36:01 +0200
Received: from 178-16-156-18.obit.ru ([178.16.156.18])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Tue, 22 May 2012 13:36:01 +0200
Received: from dcherkassov by 178-16-156-18.obit.ru with local (Gmexim 0.1
	(Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Tue, 22 May 2012 13:36:01 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Dmitry Cherkassov <dcherkassov@gmail.com>
Date: Tue, 22 May 2012 15:33:15 +0400
Lines: 28
Message-ID: <87396s4fic.fsf@gmail.com>
References: <87fwb0kvoa.fsf@gmail.com>
	<20120521145041.GC24239@phenom.dumpdata.com>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: 178-16-156-18.obit.ru
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
Cancel-Lock: sha1:gLcC7m/VgDFRYz72bFws2SdAZkE=
Subject: Re: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> writes:

> On Wed, May 16, 2012 at 07:11:33PM +0400, Dmitry Cherkassov wrote:
>> Hi!
>> Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
>> (before xen dom0 support went into upstream)?
>
> I think my oss.oracle.com/git/kwilk/xen.git might have some.

I don't see xen/next-2.6.35 (6) tags there. Or shouldn't I?

>
>> 
>> thanks!
>> 
>> -- 
>> With best regards,
>> Dmitry
>> 
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel

-- 
With best regards,
Dmitry


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:36:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnNo-00040l-9H; Tue, 22 May 2012 11:36:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SWnNn-00040g-MA
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:36:07 +0000
Received: from [85.158.143.35:44568] by server-3.bemta-4.messagelabs.com id
	90/D5-05853-62A7BBF4; Tue, 22 May 2012 11:36:06 +0000
X-Env-Sender: gcvxd-xen-devel@m.gmane.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337686564!14124060!1
X-Originating-IP: [80.91.229.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18452 invoked from network); 22 May 2012 11:36:06 -0000
Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 May 2012 11:36:06 -0000
Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gcvxd-xen-devel@m.gmane.org>) id 1SWnNh-0005gr-HN
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:36:01 +0200
Received: from 178-16-156-18.obit.ru ([178.16.156.18])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Tue, 22 May 2012 13:36:01 +0200
Received: from dcherkassov by 178-16-156-18.obit.ru with local (Gmexim 0.1
	(Debian)) id 1AlnuQ-0007hv-00
	for <xen-devel@lists.xensource.com>; Tue, 22 May 2012 13:36:01 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: xen-devel@lists.xensource.com
From: Dmitry Cherkassov <dcherkassov@gmail.com>
Date: Tue, 22 May 2012 15:33:15 +0400
Lines: 28
Message-ID: <87396s4fic.fsf@gmail.com>
References: <87fwb0kvoa.fsf@gmail.com>
	<20120521145041.GC24239@phenom.dumpdata.com>
Mime-Version: 1.0
X-Complaints-To: usenet@dough.gmane.org
X-Gmane-NNTP-Posting-Host: 178-16-156-18.obit.ru
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
Cancel-Lock: sha1:gLcC7m/VgDFRYz72bFws2SdAZkE=
Subject: Re: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> writes:

> On Wed, May 16, 2012 at 07:11:33PM +0400, Dmitry Cherkassov wrote:
>> Hi!
>> Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
>> (before xen dom0 support went into upstream)?
>
> I think my oss.oracle.com/git/kwilk/xen.git might have some.

I don't see xen/next-2.6.35 (6) tags there. Or shouldn't I?

>
>> 
>> thanks!
>> 
>> -- 
>> With best regards,
>> Dmitry
>> 
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel

-- 
With best regards,
Dmitry


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:42:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnTZ-0004Bu-FP; Tue, 22 May 2012 11:42:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWnTY-0004Bp-BO
	for xen-devel@lists.xen.org; Tue, 22 May 2012 11:42:04 +0000
Received: from [85.158.143.99:33824] by server-3.bemta-4.messagelabs.com id
	96/62-05853-B8B7BBF4; Tue, 22 May 2012 11:42:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337686922!23927799!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28496 invoked from network); 22 May 2012 11:42:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 11:42:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 12:42:02 +0100
Message-Id: <4FBB97C90200007800085160@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 12:42:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5E70A7B9.0__="
Subject: [Xen-devel] [PATCH] x86: don't hold off NMI delivery when MCE is
	masked
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5E70A7B9.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Likely through copy'n'paste, all three instances of guest MCE
processing jumped to the wrong place (where NMI processing code
correctly jumps to) when MCE-s are temporarily masked (due to one
currently being processed by the guest). A nested, unmasked NMI should
get delivered immediately, however.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/x86_32/entry.S
+++ b/xen/arch/x86/x86_32/entry.S
@@ -214,6 +214,7 @@ test_all_events:
         jnz  process_softirqs
         testb $1,VCPU_mce_pending(%ebx)
         jnz  process_mce
+.Ltest_guest_nmi:
         testb $1,VCPU_nmi_pending(%ebx)
         jnz  process_nmi
 test_guest_events:
@@ -243,7 +244,7 @@ process_softirqs:
 /* %ebx: struct vcpu */
 process_mce:
         testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%ebx)
-        jnz  test_guest_events
+        jnz  .Ltest_guest_nmi
         sti
         movb $0,VCPU_mce_pending(%ebx)
         call set_guest_machinecheck_trapbounce
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -103,6 +103,7 @@ ENTRY(compat_test_all_events)
         jnz   compat_process_softirqs
         testb $1,VCPU_mce_pending(%rbx)
         jnz   compat_process_mce
+.Lcompat_test_guest_nmi:
         testb $1,VCPU_nmi_pending(%rbx)
         jnz   compat_process_nmi
 compat_test_guest_events:
@@ -133,7 +134,7 @@ compat_process_softirqs:
 /* %rbx: struct vcpu */
 compat_process_mce:
         testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
-        jnz  compat_test_guest_events
+        jnz   .Lcompat_test_guest_nmi
         sti
         movb $0,VCPU_mce_pending(%rbx)
         call set_guest_machinecheck_trapbounce
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -192,6 +192,7 @@ test_all_events:
         jnz   process_softirqs
         testb $1,VCPU_mce_pending(%rbx)
         jnz   process_mce
+.Ltest_guest_nmi:
         testb $1,VCPU_nmi_pending(%rbx)
         jnz   process_nmi
 test_guest_events:
@@ -220,7 +221,7 @@ process_softirqs:
 /* %rbx: struct vcpu */
 process_mce:
         testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
-        jnz  test_guest_events
+        jnz  .Ltest_guest_nmi
         sti
         movb $0,VCPU_mce_pending(%rbx)
         call set_guest_machinecheck_trapbounce




--=__Part5E70A7B9.0__=
Content-Type: text/plain; name="x86-masked-MCE-masking-NMI.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-masked-MCE-masking-NMI.patch"

x86: don't hold off NMI delivery when MCE is masked=0A=0ALikely through =
copy'n'paste, all three instances of guest MCE=0Aprocessing jumped to the =
wrong place (where NMI processing code=0Acorrectly jumps to) when MCE-s =
are temporarily masked (due to one=0Acurrently being processed by the =
guest). A nested, unmasked NMI should=0Aget delivered immediately, =
however.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/x86_32/entry.S=0A+++ b/xen/arch/x86/x86_32/entry.S=0A@@ =
-214,6 +214,7 @@ test_all_events:=0A         jnz  process_softirqs=0A      =
   testb $1,VCPU_mce_pending(%ebx)=0A         jnz  process_mce=0A+.Ltest_gu=
est_nmi:=0A         testb $1,VCPU_nmi_pending(%ebx)=0A         jnz  =
process_nmi=0A test_guest_events:=0A@@ -243,7 +244,7 @@ process_softirqs:=
=0A /* %ebx: struct vcpu */=0A process_mce:=0A         testb $1 << =
VCPU_TRAP_MCE,VCPU_async_exception_mask(%ebx)=0A-        jnz  test_guest_ev=
ents=0A+        jnz  .Ltest_guest_nmi=0A         sti=0A         movb =
$0,VCPU_mce_pending(%ebx)=0A         call set_guest_machinecheck_trapbounce=
=0A--- a/xen/arch/x86/x86_64/compat/entry.S=0A+++ b/xen/arch/x86/x86_64/com=
pat/entry.S=0A@@ -103,6 +103,7 @@ ENTRY(compat_test_all_events)=0A         =
jnz   compat_process_softirqs=0A         testb $1,VCPU_mce_pending(%rbx)=0A=
         jnz   compat_process_mce=0A+.Lcompat_test_guest_nmi:=0A         =
testb $1,VCPU_nmi_pending(%rbx)=0A         jnz   compat_process_nmi=0A =
compat_test_guest_events:=0A@@ -133,7 +134,7 @@ compat_process_softirqs:=0A=
 /* %rbx: struct vcpu */=0A compat_process_mce:=0A         testb $1 << =
VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)=0A-        jnz  compat_test_g=
uest_events=0A+        jnz   .Lcompat_test_guest_nmi=0A         sti=0A     =
    movb $0,VCPU_mce_pending(%rbx)=0A         call set_guest_machinecheck_t=
rapbounce=0A--- a/xen/arch/x86/x86_64/entry.S=0A+++ b/xen/arch/x86/x86_64/e=
ntry.S=0A@@ -192,6 +192,7 @@ test_all_events:=0A         jnz   process_soft=
irqs=0A         testb $1,VCPU_mce_pending(%rbx)=0A         jnz   process_mc=
e=0A+.Ltest_guest_nmi:=0A         testb $1,VCPU_nmi_pending(%rbx)=0A       =
  jnz   process_nmi=0A test_guest_events:=0A@@ -220,7 +221,7 @@ process_sof=
tirqs:=0A /* %rbx: struct vcpu */=0A process_mce:=0A         testb $1 << =
VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)=0A-        jnz  test_guest_ev=
ents=0A+        jnz  .Ltest_guest_nmi=0A         sti=0A         movb =
$0,VCPU_mce_pending(%rbx)=0A         call set_guest_machinecheck_trapbounce=
=0A
--=__Part5E70A7B9.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5E70A7B9.0__=--


From xen-devel-bounces@lists.xen.org Tue May 22 11:42:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnTZ-0004Bu-FP; Tue, 22 May 2012 11:42:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWnTY-0004Bp-BO
	for xen-devel@lists.xen.org; Tue, 22 May 2012 11:42:04 +0000
Received: from [85.158.143.99:33824] by server-3.bemta-4.messagelabs.com id
	96/62-05853-B8B7BBF4; Tue, 22 May 2012 11:42:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337686922!23927799!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28496 invoked from network); 22 May 2012 11:42:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 11:42:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 12:42:02 +0100
Message-Id: <4FBB97C90200007800085160@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 12:42:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5E70A7B9.0__="
Subject: [Xen-devel] [PATCH] x86: don't hold off NMI delivery when MCE is
	masked
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5E70A7B9.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Likely through copy'n'paste, all three instances of guest MCE
processing jumped to the wrong place (where NMI processing code
correctly jumps to) when MCE-s are temporarily masked (due to one
currently being processed by the guest). A nested, unmasked NMI should
get delivered immediately, however.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/x86_32/entry.S
+++ b/xen/arch/x86/x86_32/entry.S
@@ -214,6 +214,7 @@ test_all_events:
         jnz  process_softirqs
         testb $1,VCPU_mce_pending(%ebx)
         jnz  process_mce
+.Ltest_guest_nmi:
         testb $1,VCPU_nmi_pending(%ebx)
         jnz  process_nmi
 test_guest_events:
@@ -243,7 +244,7 @@ process_softirqs:
 /* %ebx: struct vcpu */
 process_mce:
         testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%ebx)
-        jnz  test_guest_events
+        jnz  .Ltest_guest_nmi
         sti
         movb $0,VCPU_mce_pending(%ebx)
         call set_guest_machinecheck_trapbounce
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -103,6 +103,7 @@ ENTRY(compat_test_all_events)
         jnz   compat_process_softirqs
         testb $1,VCPU_mce_pending(%rbx)
         jnz   compat_process_mce
+.Lcompat_test_guest_nmi:
         testb $1,VCPU_nmi_pending(%rbx)
         jnz   compat_process_nmi
 compat_test_guest_events:
@@ -133,7 +134,7 @@ compat_process_softirqs:
 /* %rbx: struct vcpu */
 compat_process_mce:
         testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
-        jnz  compat_test_guest_events
+        jnz   .Lcompat_test_guest_nmi
         sti
         movb $0,VCPU_mce_pending(%rbx)
         call set_guest_machinecheck_trapbounce
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -192,6 +192,7 @@ test_all_events:
         jnz   process_softirqs
         testb $1,VCPU_mce_pending(%rbx)
         jnz   process_mce
+.Ltest_guest_nmi:
         testb $1,VCPU_nmi_pending(%rbx)
         jnz   process_nmi
 test_guest_events:
@@ -220,7 +221,7 @@ process_softirqs:
 /* %rbx: struct vcpu */
 process_mce:
         testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
-        jnz  test_guest_events
+        jnz  .Ltest_guest_nmi
         sti
         movb $0,VCPU_mce_pending(%rbx)
         call set_guest_machinecheck_trapbounce




--=__Part5E70A7B9.0__=
Content-Type: text/plain; name="x86-masked-MCE-masking-NMI.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-masked-MCE-masking-NMI.patch"

x86: don't hold off NMI delivery when MCE is masked=0A=0ALikely through =
copy'n'paste, all three instances of guest MCE=0Aprocessing jumped to the =
wrong place (where NMI processing code=0Acorrectly jumps to) when MCE-s =
are temporarily masked (due to one=0Acurrently being processed by the =
guest). A nested, unmasked NMI should=0Aget delivered immediately, =
however.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/x86_32/entry.S=0A+++ b/xen/arch/x86/x86_32/entry.S=0A@@ =
-214,6 +214,7 @@ test_all_events:=0A         jnz  process_softirqs=0A      =
   testb $1,VCPU_mce_pending(%ebx)=0A         jnz  process_mce=0A+.Ltest_gu=
est_nmi:=0A         testb $1,VCPU_nmi_pending(%ebx)=0A         jnz  =
process_nmi=0A test_guest_events:=0A@@ -243,7 +244,7 @@ process_softirqs:=
=0A /* %ebx: struct vcpu */=0A process_mce:=0A         testb $1 << =
VCPU_TRAP_MCE,VCPU_async_exception_mask(%ebx)=0A-        jnz  test_guest_ev=
ents=0A+        jnz  .Ltest_guest_nmi=0A         sti=0A         movb =
$0,VCPU_mce_pending(%ebx)=0A         call set_guest_machinecheck_trapbounce=
=0A--- a/xen/arch/x86/x86_64/compat/entry.S=0A+++ b/xen/arch/x86/x86_64/com=
pat/entry.S=0A@@ -103,6 +103,7 @@ ENTRY(compat_test_all_events)=0A         =
jnz   compat_process_softirqs=0A         testb $1,VCPU_mce_pending(%rbx)=0A=
         jnz   compat_process_mce=0A+.Lcompat_test_guest_nmi:=0A         =
testb $1,VCPU_nmi_pending(%rbx)=0A         jnz   compat_process_nmi=0A =
compat_test_guest_events:=0A@@ -133,7 +134,7 @@ compat_process_softirqs:=0A=
 /* %rbx: struct vcpu */=0A compat_process_mce:=0A         testb $1 << =
VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)=0A-        jnz  compat_test_g=
uest_events=0A+        jnz   .Lcompat_test_guest_nmi=0A         sti=0A     =
    movb $0,VCPU_mce_pending(%rbx)=0A         call set_guest_machinecheck_t=
rapbounce=0A--- a/xen/arch/x86/x86_64/entry.S=0A+++ b/xen/arch/x86/x86_64/e=
ntry.S=0A@@ -192,6 +192,7 @@ test_all_events:=0A         jnz   process_soft=
irqs=0A         testb $1,VCPU_mce_pending(%rbx)=0A         jnz   process_mc=
e=0A+.Ltest_guest_nmi:=0A         testb $1,VCPU_nmi_pending(%rbx)=0A       =
  jnz   process_nmi=0A test_guest_events:=0A@@ -220,7 +221,7 @@ process_sof=
tirqs:=0A /* %rbx: struct vcpu */=0A process_mce:=0A         testb $1 << =
VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)=0A-        jnz  test_guest_ev=
ents=0A+        jnz  .Ltest_guest_nmi=0A         sti=0A         movb =
$0,VCPU_mce_pending(%rbx)=0A         call set_guest_machinecheck_trapbounce=
=0A
--=__Part5E70A7B9.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5E70A7B9.0__=--


From xen-devel-bounces@lists.xen.org Tue May 22 11:45:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:45:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnWP-0004Hv-2B; Tue, 22 May 2012 11:45:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mrezanin@redhat.com>) id 1SWnWN-0004Hq-Tk
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:45:00 +0000
Received: from [85.158.138.51:27553] by server-1.bemta-3.messagelabs.com id
	FF/5D-11491-B3C7BBF4; Tue, 22 May 2012 11:44:59 +0000
X-Env-Sender: mrezanin@redhat.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337687096!20429738!1
X-Originating-IP: [209.132.183.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjUgPT4gNzUxMzk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22405 invoked from network); 22 May 2012 11:44:57 -0000
Received: from mx4-phx2.redhat.com (HELO mx4-phx2.redhat.com) (209.132.183.25)
	by server-6.tower-174.messagelabs.com with SMTP;
	22 May 2012 11:44:57 -0000
Received: from zmail17.collab.prod.int.phx2.redhat.com
	(zmail17.collab.prod.int.phx2.redhat.com [10.5.83.19])
	by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q4MBikpk010691;
	Tue, 22 May 2012 07:44:46 -0400
Date: Tue, 22 May 2012 07:44:45 -0400 (EDT)
From: Miroslav Rezanina <mrezanin@redhat.com>
To: M A Young <m.a.young@durham.ac.uk>
Message-ID: <12aad3b9-7221-451a-ae65-5dd020ed1d51@zmail17.collab.prod.int.phx2.redhat.com>
In-Reply-To: <alpine.GSO.2.00.1205221117200.1309@algedi.dur.ac.uk>
MIME-Version: 1.0
X-Originating-IP: [10.36.112.19]
X-Mailer: Zimbra 7.1.2_GA_3268 (ZimbraWebClient - SAF3 (Linux)/7.1.2_GA_3268)
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org



----- Original Message -----
> From: "M A Young" <m.a.young@durham.ac.uk>
> To: "Ian Campbell" <Ian.Campbell@citrix.com>
> Cc: "Miroslav Rezanina" <mrezanin@redhat.com>, "xen-devel" <xen-devel@lists.xensource.com>
> Sent: Tuesday, May 22, 2012 12:30:31 PM
> Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
> 
> On Tue, 22 May 2012, Ian Campbell wrote:
> 
> > On Tue, 2012-05-22 at 08:37 +0100, Miroslav Rezanina wrote:
> >> If guest kernel or ramdisk image is too large to fit in the dom0
> >> memory, it causes pygrub crash with "out of memory" error.
> >> This patch reads kernel/ramdisk file in 1 MB blocks so prevent
> >> exhausting whole memory.
> >
> > Thanks, we've had a similar patch from Michael Young (CCd) too,
> > see:
> > <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>.
> or at
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg01183.html
> 
> > They look functionally pretty similar, one big difference is that
> > Michael limits the size of the cfg file as well, which seems wise.
> 
> Yes, a malicious guest could have a huge grub configuration file as
> well.
> My strategy was just to read the first megabyte as I can't see why a
> legitimate configuration file would be anywhere near that long.
> 
Yeah, it should not be as big. However, I think it should use same approach
as kernel/ramdisk in case there will be such a big configuration file (even
we do not see reason now).

> > Looks like his handles errors on the os.write too?
> 
> Yes, if there are write problems my patch deletes the kernel and
> ramdisk
> temporary files and exits with an error. This isn't so important
> though as
> the calling process should clean them up afterwards though my testing
> suggested that if the write failed due to lack of space, the guest
> may try
> to run with incomplete kernel or ramdisk files, and also you would
> have a
> full filesystem for a bit longer.
>
This is useful part as I sometimes experienced leftovers in case of errors.

> > I do like splitting the read loop out into a function as you've
> > done
> > though.
> 
> Yes, that does seem neater.
> 
>  	Michael Young
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:45:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:45:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnWP-0004Hv-2B; Tue, 22 May 2012 11:45:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mrezanin@redhat.com>) id 1SWnWN-0004Hq-Tk
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:45:00 +0000
Received: from [85.158.138.51:27553] by server-1.bemta-3.messagelabs.com id
	FF/5D-11491-B3C7BBF4; Tue, 22 May 2012 11:44:59 +0000
X-Env-Sender: mrezanin@redhat.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337687096!20429738!1
X-Originating-IP: [209.132.183.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjUgPT4gNzUxMzk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22405 invoked from network); 22 May 2012 11:44:57 -0000
Received: from mx4-phx2.redhat.com (HELO mx4-phx2.redhat.com) (209.132.183.25)
	by server-6.tower-174.messagelabs.com with SMTP;
	22 May 2012 11:44:57 -0000
Received: from zmail17.collab.prod.int.phx2.redhat.com
	(zmail17.collab.prod.int.phx2.redhat.com [10.5.83.19])
	by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q4MBikpk010691;
	Tue, 22 May 2012 07:44:46 -0400
Date: Tue, 22 May 2012 07:44:45 -0400 (EDT)
From: Miroslav Rezanina <mrezanin@redhat.com>
To: M A Young <m.a.young@durham.ac.uk>
Message-ID: <12aad3b9-7221-451a-ae65-5dd020ed1d51@zmail17.collab.prod.int.phx2.redhat.com>
In-Reply-To: <alpine.GSO.2.00.1205221117200.1309@algedi.dur.ac.uk>
MIME-Version: 1.0
X-Originating-IP: [10.36.112.19]
X-Mailer: Zimbra 7.1.2_GA_3268 (ZimbraWebClient - SAF3 (Linux)/7.1.2_GA_3268)
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org



----- Original Message -----
> From: "M A Young" <m.a.young@durham.ac.uk>
> To: "Ian Campbell" <Ian.Campbell@citrix.com>
> Cc: "Miroslav Rezanina" <mrezanin@redhat.com>, "xen-devel" <xen-devel@lists.xensource.com>
> Sent: Tuesday, May 22, 2012 12:30:31 PM
> Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
> 
> On Tue, 22 May 2012, Ian Campbell wrote:
> 
> > On Tue, 2012-05-22 at 08:37 +0100, Miroslav Rezanina wrote:
> >> If guest kernel or ramdisk image is too large to fit in the dom0
> >> memory, it causes pygrub crash with "out of memory" error.
> >> This patch reads kernel/ramdisk file in 1 MB blocks so prevent
> >> exhausting whole memory.
> >
> > Thanks, we've had a similar patch from Michael Young (CCd) too,
> > see:
> > <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>.
> or at
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg01183.html
> 
> > They look functionally pretty similar, one big difference is that
> > Michael limits the size of the cfg file as well, which seems wise.
> 
> Yes, a malicious guest could have a huge grub configuration file as
> well.
> My strategy was just to read the first megabyte as I can't see why a
> legitimate configuration file would be anywhere near that long.
> 
Yeah, it should not be as big. However, I think it should use same approach
as kernel/ramdisk in case there will be such a big configuration file (even
we do not see reason now).

> > Looks like his handles errors on the os.write too?
> 
> Yes, if there are write problems my patch deletes the kernel and
> ramdisk
> temporary files and exits with an error. This isn't so important
> though as
> the calling process should clean them up afterwards though my testing
> suggested that if the write failed due to lack of space, the guest
> may try
> to run with incomplete kernel or ramdisk files, and also you would
> have a
> full filesystem for a bit longer.
>
This is useful part as I sometimes experienced leftovers in case of errors.

> > I do like splitting the read loop out into a function as you've
> > done
> > though.
> 
> Yes, that does seem neater.
> 
>  	Michael Young
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:45:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnWu-0004K6-Fa; Tue, 22 May 2012 11:45:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWnWs-0004Jh-B8
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:45:30 +0000
Received: from [85.158.143.35:26869] by server-3.bemta-4.messagelabs.com id
	FB/29-05853-95C7BBF4; Tue, 22 May 2012 11:45:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337687127!13484643!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1831 invoked from network); 22 May 2012 11:45:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 11:45:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12602148"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:44:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 12:44:58 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWnWM-0007BT-G9;
	Tue, 22 May 2012 11:44:58 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWnWM-0007qn-97;
	Tue, 22 May 2012 12:44:58 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12953-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 12:44:58 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12953: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12953 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12953/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 11:45:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 11:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnWu-0004K6-Fa; Tue, 22 May 2012 11:45:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWnWs-0004Jh-B8
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 11:45:30 +0000
Received: from [85.158.143.35:26869] by server-3.bemta-4.messagelabs.com id
	FB/29-05853-95C7BBF4; Tue, 22 May 2012 11:45:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337687127!13484643!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1831 invoked from network); 22 May 2012 11:45:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 11:45:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12602148"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:44:58 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 12:44:58 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWnWM-0007BT-G9;
	Tue, 22 May 2012 11:44:58 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWnWM-0007qn-97;
	Tue, 22 May 2012 12:44:58 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12953-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 12:44:58 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12953: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12953 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12953/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2       fail REGR. vs. 12892

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop              fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnyM-00056J-LB; Tue, 22 May 2012 12:13:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWnyL-00056E-Hp
	for xen-devel@lists.xen.org; Tue, 22 May 2012 12:13:53 +0000
Received: from [85.158.143.99:63170] by server-2.bemta-4.messagelabs.com id
	F0/D6-12211-0038BBF4; Tue, 22 May 2012 12:13:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337688831!23897021!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3112 invoked from network); 22 May 2012 12:13:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:13:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12602865"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:13:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:13:51 +0100
Message-ID: <1337688829.10118.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 13:13:49 +0100
In-Reply-To: <20411.30135.659467.276549@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337675069.10118.11.camel@zakaz.uk.xensource.com>
	<20411.30135.659467.276549@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 12:17 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> > On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > > +pid_t xl_waitpid(xlchildnum child, int *status, int flags)
> > > +{
> > > +    xlchild *ch = &children[child];
> > > +    pid_t got = ch->pid;
> > > +    assert(got);
> > > +    if (ch->reaped) {
> > > +        *status = ch->status;
> > > +        ch->pid = 0;
> > > +        return got;
> > > +    }
> > > +    for (;;) {
> > > +        got = waitpid(ch->pid, status, flags);
> > 
> > Is it always the case that xl has at most one child?
> 
> I don't think it is necessarily the case.
> 
> > Because if not then we may reap the wrong one here.
> 
> No, the whole point of waitpid is that you get to specify which child
> to reap.  Unless I'm missing something ?

No I was, for some reason I thought we were waiting for any child here.
You can safely ignore this comment ;-)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:14:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnyM-00056J-LB; Tue, 22 May 2012 12:13:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWnyL-00056E-Hp
	for xen-devel@lists.xen.org; Tue, 22 May 2012 12:13:53 +0000
Received: from [85.158.143.99:63170] by server-2.bemta-4.messagelabs.com id
	F0/D6-12211-0038BBF4; Tue, 22 May 2012 12:13:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337688831!23897021!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3112 invoked from network); 22 May 2012 12:13:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:13:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12602865"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:13:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:13:51 +0100
Message-ID: <1337688829.10118.89.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 13:13:49 +0100
In-Reply-To: <20411.30135.659467.276549@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337675069.10118.11.camel@zakaz.uk.xensource.com>
	<20411.30135.659467.276549@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 12:17 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> > On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > > +pid_t xl_waitpid(xlchildnum child, int *status, int flags)
> > > +{
> > > +    xlchild *ch = &children[child];
> > > +    pid_t got = ch->pid;
> > > +    assert(got);
> > > +    if (ch->reaped) {
> > > +        *status = ch->status;
> > > +        ch->pid = 0;
> > > +        return got;
> > > +    }
> > > +    for (;;) {
> > > +        got = waitpid(ch->pid, status, flags);
> > 
> > Is it always the case that xl has at most one child?
> 
> I don't think it is necessarily the case.
> 
> > Because if not then we may reap the wrong one here.
> 
> No, the whole point of waitpid is that you get to specify which child
> to reap.  Unless I'm missing something ?

No I was, for some reason I thought we were waiting for any child here.
You can safely ignore this comment ;-)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:15:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:15:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnzc-0005Ao-3T; Tue, 22 May 2012 12:15:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SWnza-0005AZ-4j
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:15:10 +0000
Received: from [85.158.139.83:27207] by server-7.bemta-5.messagelabs.com id
	9D/B2-12065-D438BBF4; Tue, 22 May 2012 12:15:09 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337688907!22493757!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDQwMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32234 invoked from network); 22 May 2012 12:15:08 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 12:15:08 -0000
Received: from smtphost4.dur.ac.uk (smtphost4.dur.ac.uk [129.234.252.4])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MCElWk010790;
	Tue, 22 May 2012 13:14:51 +0100
Received: from algedi.dur.ac.uk (algedi.dur.ac.uk [129.234.2.28])
	by smtphost4.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MCEZnc007381
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 13:14:35 +0100
Received: from algedi.dur.ac.uk (localhost [127.0.0.1])
	by algedi.dur.ac.uk (8.14.4+Sun/8.11.1) with ESMTP id q4MCEZVU001668;
	Tue, 22 May 2012 13:14:35 +0100 (BST)
Received: from localhost (dcl0may@localhost)
	by algedi.dur.ac.uk (8.14.4+Sun/8.14.4/Submit) with ESMTP id
	q4MCEZ6K001665; Tue, 22 May 2012 13:14:35 +0100 (BST)
Date: Tue, 22 May 2012 13:14:35 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Miroslav Rezanina <mrezanin@redhat.com>
In-Reply-To: <12aad3b9-7221-451a-ae65-5dd020ed1d51@zmail17.collab.prod.int.phx2.redhat.com>
Message-ID: <alpine.GSO.2.00.1205221252010.1309@algedi.dur.ac.uk>
References: <12aad3b9-7221-451a-ae65-5dd020ed1d51@zmail17.collab.prod.int.phx2.redhat.com>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4MCElWk010790
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 22 May 2012, Miroslav Rezanina wrote:

> ----- Original Message -----
>> From: "M A Young" <m.a.young@durham.ac.uk>
>> To: "Ian Campbell" <Ian.Campbell@citrix.com>
>> Cc: "Miroslav Rezanina" <mrezanin@redhat.com>, "xen-devel" <xen-devel@lists.xensource.com>
>> Sent: Tuesday, May 22, 2012 12:30:31 PM
>> Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
>>
>> On Tue, 22 May 2012, Ian Campbell wrote:
>>> They look functionally pretty similar, one big difference is that
>>> Michael limits the size of the cfg file as well, which seems wise.
>>
>> Yes, a malicious guest could have a huge grub configuration file as
>> well.
>> My strategy was just to read the first megabyte as I can't see why a
>> legitimate configuration file would be anywhere near that long.
>>
> Yeah, it should not be as big. However, I think it should use same approach
> as kernel/ramdisk in case there will be such a big configuration file (even
> we do not see reason now).

They are already different as the configuration file is only read into 
memory and processed there, whereas the kernel and ramdisk are just file 
copies ready for the calling process to use. I haven't specifically looked 
at this bit of the code but I think it could be difficult to protect 
against a malicious configuration file without truncating it somewhere as 
for example, you have to consider the case of a legitimately formatted 
grub file with, say, a million menu entries.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:15:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:15:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWnzc-0005Ao-3T; Tue, 22 May 2012 12:15:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SWnza-0005AZ-4j
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:15:10 +0000
Received: from [85.158.139.83:27207] by server-7.bemta-5.messagelabs.com id
	9D/B2-12065-D438BBF4; Tue, 22 May 2012 12:15:09 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337688907!22493757!1
X-Originating-IP: [129.234.248.1]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMSA9PiAxMDQwMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32234 invoked from network); 22 May 2012 12:15:08 -0000
Received: from hermes1.dur.ac.uk (HELO hermes1.dur.ac.uk) (129.234.248.1)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 12:15:08 -0000
Received: from smtphost4.dur.ac.uk (smtphost4.dur.ac.uk [129.234.252.4])
	by hermes1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MCElWk010790;
	Tue, 22 May 2012 13:14:51 +0100
Received: from algedi.dur.ac.uk (algedi.dur.ac.uk [129.234.2.28])
	by smtphost4.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4MCEZnc007381
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 13:14:35 +0100
Received: from algedi.dur.ac.uk (localhost [127.0.0.1])
	by algedi.dur.ac.uk (8.14.4+Sun/8.11.1) with ESMTP id q4MCEZVU001668;
	Tue, 22 May 2012 13:14:35 +0100 (BST)
Received: from localhost (dcl0may@localhost)
	by algedi.dur.ac.uk (8.14.4+Sun/8.14.4/Submit) with ESMTP id
	q4MCEZ6K001665; Tue, 22 May 2012 13:14:35 +0100 (BST)
Date: Tue, 22 May 2012 13:14:35 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Miroslav Rezanina <mrezanin@redhat.com>
In-Reply-To: <12aad3b9-7221-451a-ae65-5dd020ed1d51@zmail17.collab.prod.int.phx2.redhat.com>
Message-ID: <alpine.GSO.2.00.1205221252010.1309@algedi.dur.ac.uk>
References: <12aad3b9-7221-451a-ae65-5dd020ed1d51@zmail17.collab.prod.int.phx2.redhat.com>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4MCElWk010790
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 22 May 2012, Miroslav Rezanina wrote:

> ----- Original Message -----
>> From: "M A Young" <m.a.young@durham.ac.uk>
>> To: "Ian Campbell" <Ian.Campbell@citrix.com>
>> Cc: "Miroslav Rezanina" <mrezanin@redhat.com>, "xen-devel" <xen-devel@lists.xensource.com>
>> Sent: Tuesday, May 22, 2012 12:30:31 PM
>> Subject: Re: [Xen-devel] [PATCH] Do not read files at once in pygrub
>>
>> On Tue, 22 May 2012, Ian Campbell wrote:
>>> They look functionally pretty similar, one big difference is that
>>> Michael limits the size of the cfg file as well, which seems wise.
>>
>> Yes, a malicious guest could have a huge grub configuration file as
>> well.
>> My strategy was just to read the first megabyte as I can't see why a
>> legitimate configuration file would be anywhere near that long.
>>
> Yeah, it should not be as big. However, I think it should use same approach
> as kernel/ramdisk in case there will be such a big configuration file (even
> we do not see reason now).

They are already different as the configuration file is only read into 
memory and processed there, whereas the kernel and ramdisk are just file 
copies ready for the calling process to use. I haven't specifically looked 
at this bit of the code but I think it could be difficult to protect 
against a malicious configuration file without truncating it somewhere as 
for example, you have to consider the case of a legitimately formatted 
grub file with, say, a million menu entries.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:22:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWo6h-0005SZ-0F; Tue, 22 May 2012 12:22:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWo6f-0005SU-25
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:22:29 +0000
Received: from [193.109.254.147:64470] by server-1.bemta-14.messagelabs.com id
	56/02-29372-3058BBF4; Tue, 22 May 2012 12:22:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337689346!10553328!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16235 invoked from network); 22 May 2012 12:22:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:22:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603130"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:22:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:22:26 +0100
Message-ID: <1337689344.10118.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:22:24 +0100
In-Reply-To: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
> Support a new sysctl schedop sub-command to get the scheduling defaults of a
> specific scheduler.

Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here? 

Isn't it actually more useful/meaningful to get the current actual
setting rather than a default?

Ian.

> 
> Additionally correct parameter checking of the sysctl handling in schedule.c
> (checked wrong sub-commands: domctl instead of sysctl).
> 
> Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
> 
> 
> 6 files changed, 69 insertions(+), 22 deletions(-)
> xen/common/sched_credit.c   |    5 +++++
> xen/common/sched_credit2.c  |   17 +++++++++++++++++
> xen/common/sched_sedf.c     |   20 ++++++++++++++++++++
> xen/common/schedule.c       |    5 +++--
> xen/include/public/domctl.h |   38 ++++++++++++++++++++------------------
> xen/include/public/sysctl.h |    6 ++++--
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:22:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWo6h-0005SZ-0F; Tue, 22 May 2012 12:22:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWo6f-0005SU-25
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:22:29 +0000
Received: from [193.109.254.147:64470] by server-1.bemta-14.messagelabs.com id
	56/02-29372-3058BBF4; Tue, 22 May 2012 12:22:27 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337689346!10553328!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16235 invoked from network); 22 May 2012 12:22:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:22:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603130"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:22:26 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:22:26 +0100
Message-ID: <1337689344.10118.92.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:22:24 +0100
In-Reply-To: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
> Support a new sysctl schedop sub-command to get the scheduling defaults of a
> specific scheduler.

Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here? 

Isn't it actually more useful/meaningful to get the current actual
setting rather than a default?

Ian.

> 
> Additionally correct parameter checking of the sysctl handling in schedule.c
> (checked wrong sub-commands: domctl instead of sysctl).
> 
> Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
> 
> 
> 6 files changed, 69 insertions(+), 22 deletions(-)
> xen/common/sched_credit.c   |    5 +++++
> xen/common/sched_credit2.c  |   17 +++++++++++++++++
> xen/common/sched_sedf.c     |   20 ++++++++++++++++++++
> xen/common/schedule.c       |    5 +++--
> xen/include/public/domctl.h |   38 ++++++++++++++++++++------------------
> xen/include/public/sysctl.h |    6 ++++--
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:30:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:30:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoDc-0005bW-TE; Tue, 22 May 2012 12:29:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWoDb-0005bR-CY
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:29:39 +0000
Received: from [85.158.143.99:50677] by server-1.bemta-4.messagelabs.com id
	F2/C7-00342-2B68BBF4; Tue, 22 May 2012 12:29:38 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337689775!18017929!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjg0NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8185 invoked from network); 22 May 2012 12:29:36 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:29:36 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=vcMeXgafMmTPi6aGowEky3aj1Djv0sOz31pf8bEoj7DIGGp+B5aF2VEn
	AE/lcZgwPhPImGBTIiTZGiInv/m40O63GZ1eVxzt92sUigoXJjdJrIKqi
	IbNZ0ZK/0Zk3ViwshfItSRzumbuS4g025UEIiO5lOV8E7NGO0SmnULydQ
	JM/CPdZ5PfRIWVoV2FeDwyfkbOgzagPC+hTHjtP1NJr2EToJ+cXk7/wQV
	jCT4hxJv/O7G18c1sGja7ADaBOois;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337689776; x=1369225776;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=eHHIqCaR5/h6NnHekBdLm/HhYakFy7TSGS86r8DXu8o=;
	b=d7QxCtvydA5JPai3b88LPbxD3zok84fu6dH96AI5Y+fdarXYO1C3L6X/
	8R00A0qniQ+hcZF99JInApxdezfVeCS36aD1u+AZvKtxMFbQ6Nv4jLQkn
	LPRsFyym09AhTg/qkssrD9TKmlQh5CyeTETgLeKApryh+xBdizzQLyIG8
	q07lbEu9KilY3u+nVNwr0u26f/N7+DYDuJDjrirdp5f9CuPKtI16P8/y5
	zJWTilFA4ULjgLmmaed/Gre3CdOmQ;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111111451"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 14:29:35 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134757461"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 14:29:34 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id D6A98963E53;
	Tue, 22 May 2012 14:29:34 +0200 (CEST)
Message-ID: <4FBB86AE.7010908@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:29:34 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337689344.10118.92.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 02:22 PM, Ian Campbell wrote:
> On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
>> Support a new sysctl schedop sub-command to get the scheduling defaults of a
>> specific scheduler.
> Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here?
>
> Isn't it actually more useful/meaningful to get the current actual
> setting rather than a default?

When setting the parameters from the config file we have no domain yet which
we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
parse part of the config only after domain creation.

A default should be okay, as this is what we want to modify. :-)
The scheduler should initialize a new domain with this default, of course.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:30:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:30:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoDc-0005bW-TE; Tue, 22 May 2012 12:29:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWoDb-0005bR-CY
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:29:39 +0000
Received: from [85.158.143.99:50677] by server-1.bemta-4.messagelabs.com id
	F2/C7-00342-2B68BBF4; Tue, 22 May 2012 12:29:38 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337689775!18017929!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjg0NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8185 invoked from network); 22 May 2012 12:29:36 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:29:36 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=vcMeXgafMmTPi6aGowEky3aj1Djv0sOz31pf8bEoj7DIGGp+B5aF2VEn
	AE/lcZgwPhPImGBTIiTZGiInv/m40O63GZ1eVxzt92sUigoXJjdJrIKqi
	IbNZ0ZK/0Zk3ViwshfItSRzumbuS4g025UEIiO5lOV8E7NGO0SmnULydQ
	JM/CPdZ5PfRIWVoV2FeDwyfkbOgzagPC+hTHjtP1NJr2EToJ+cXk7/wQV
	jCT4hxJv/O7G18c1sGja7ADaBOois;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337689776; x=1369225776;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=eHHIqCaR5/h6NnHekBdLm/HhYakFy7TSGS86r8DXu8o=;
	b=d7QxCtvydA5JPai3b88LPbxD3zok84fu6dH96AI5Y+fdarXYO1C3L6X/
	8R00A0qniQ+hcZF99JInApxdezfVeCS36aD1u+AZvKtxMFbQ6Nv4jLQkn
	LPRsFyym09AhTg/qkssrD9TKmlQh5CyeTETgLeKApryh+xBdizzQLyIG8
	q07lbEu9KilY3u+nVNwr0u26f/N7+DYDuJDjrirdp5f9CuPKtI16P8/y5
	zJWTilFA4ULjgLmmaed/Gre3CdOmQ;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111111451"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 14:29:35 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134757461"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 22 May 2012 14:29:34 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id D6A98963E53;
	Tue, 22 May 2012 14:29:34 +0200 (CEST)
Message-ID: <4FBB86AE.7010908@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:29:34 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337689344.10118.92.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 02:22 PM, Ian Campbell wrote:
> On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
>> Support a new sysctl schedop sub-command to get the scheduling defaults of a
>> specific scheduler.
> Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here?
>
> Isn't it actually more useful/meaningful to get the current actual
> setting rather than a default?

When setting the parameters from the config file we have no domain yet which
we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
parse part of the config only after domain creation.

A default should be okay, as this is what we want to modify. :-)
The scheduler should initialize a new domain with this default, of course.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:31:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:31:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoEy-0005fL-DL; Tue, 22 May 2012 12:31:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoEw-0005fD-Sp
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:31:03 +0000
Received: from [193.109.254.147:41103] by server-5.bemta-14.messagelabs.com id
	4D/12-30733-6078BBF4; Tue, 22 May 2012 12:31:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337689858!10555327!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30703 invoked from network); 22 May 2012 12:30:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:30:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603325"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:30:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:30:58 +0100
Message-ID: <1337689856.10118.100.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:30:56 +0100
In-Reply-To: <953383741ff44d97587c.1337678214@nehalem1>
References: <953383741ff44d97587c.1337678214@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> # HG changeset patch
> # User Juergen Gross <juergen.gross@ts.fujitsu.com>
> # Date 1337677423 -7200
> # Node ID 953383741ff44d97587c2e75da79b092523d6e83
> # Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
> full support of setting scheduler parameters on domain creation
> 
> Obtains default scheduler parameters before modifying any settings
> specified
> via domain config.
> 
> Corrected an error for setting sedf parameters (setting .period
> multiple
> times).
> 
> Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
> 
> diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Tue May 22 10:31:30 2012 +0200
> +++ b/tools/libxl/libxl.h       Tue May 22 11:03:43 2012 +0200
> @@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
>  /* May be called with info_r == NULL to check for domain's existance
> */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
>                        uint32_t domid);
> +int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
> +                             libxl_sched_params *scparams);

This interface really makes libxl_sched_params differ from all the other
libxl structs (which have a public _init function and an internal
setdefaults function). I'm not really sure its justified either, I was
under the impression that you'd found that there were useful
discriminating values?

If this function was called libxl_sched_init (replacing the
autogenerated one) then it might be ok. Although I'm still not really
sure what the issue is with having a discriminating value meaning
default is, doing that keeps the _init function cheap too.

>  int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> libxl_sched_params *scparams)
>  {
>      libxl_ctx *ctx = libxl__gc_owner(gc);
> -    libxl_scheduler sched;
>      libxl_sched_sedf_domain sedf_info;
>      libxl_sched_credit_domain credit_info;
>      libxl_sched_credit2_domain credit2_info;
>      int ret;
>  
> -    sched = libxl_get_scheduler (ctx);
> -    switch (sched) {
> +    switch (scparams->sched) {

What happens if scparams->sched is not the scheduler used for this
domain? Should it either be checked or set somewhere?
> 
> Ian.
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:31:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:31:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoEy-0005fL-DL; Tue, 22 May 2012 12:31:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoEw-0005fD-Sp
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:31:03 +0000
Received: from [193.109.254.147:41103] by server-5.bemta-14.messagelabs.com id
	4D/12-30733-6078BBF4; Tue, 22 May 2012 12:31:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337689858!10555327!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30703 invoked from network); 22 May 2012 12:30:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:30:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603325"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:30:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:30:58 +0100
Message-ID: <1337689856.10118.100.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:30:56 +0100
In-Reply-To: <953383741ff44d97587c.1337678214@nehalem1>
References: <953383741ff44d97587c.1337678214@nehalem1>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> # HG changeset patch
> # User Juergen Gross <juergen.gross@ts.fujitsu.com>
> # Date 1337677423 -7200
> # Node ID 953383741ff44d97587c2e75da79b092523d6e83
> # Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
> full support of setting scheduler parameters on domain creation
> 
> Obtains default scheduler parameters before modifying any settings
> specified
> via domain config.
> 
> Corrected an error for setting sedf parameters (setting .period
> multiple
> times).
> 
> Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
> 
> diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Tue May 22 10:31:30 2012 +0200
> +++ b/tools/libxl/libxl.h       Tue May 22 11:03:43 2012 +0200
> @@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
>  /* May be called with info_r == NULL to check for domain's existance
> */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
>                        uint32_t domid);
> +int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
> +                             libxl_sched_params *scparams);

This interface really makes libxl_sched_params differ from all the other
libxl structs (which have a public _init function and an internal
setdefaults function). I'm not really sure its justified either, I was
under the impression that you'd found that there were useful
discriminating values?

If this function was called libxl_sched_init (replacing the
autogenerated one) then it might be ok. Although I'm still not really
sure what the issue is with having a discriminating value meaning
default is, doing that keeps the _init function cheap too.

>  int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> libxl_sched_params *scparams)
>  {
>      libxl_ctx *ctx = libxl__gc_owner(gc);
> -    libxl_scheduler sched;
>      libxl_sched_sedf_domain sedf_info;
>      libxl_sched_credit_domain credit_info;
>      libxl_sched_credit2_domain credit2_info;
>      int ret;
>  
> -    sched = libxl_get_scheduler (ctx);
> -    switch (sched) {
> +    switch (scparams->sched) {

What happens if scparams->sched is not the scheduler used for this
domain? Should it either be checked or set somewhere?
> 
> Ian.
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:33:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoGp-0005mO-Uv; Tue, 22 May 2012 12:32:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoGp-0005mG-7K
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:32:59 +0000
Received: from [85.158.143.35:62744] by server-2.bemta-4.messagelabs.com id
	69/ED-12211-A778BBF4; Tue, 22 May 2012 12:32:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337689977!5746924!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9357 invoked from network); 22 May 2012 12:32:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:32:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603379"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:32:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:32:57 +0100
Message-ID: <1337689975.10118.102.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:32:55 +0100
In-Reply-To: <4FBB86AE.7010908@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 13:29 +0100, Juergen Gross wrote:
> On 05/22/2012 02:22 PM, Ian Campbell wrote:
> > On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
> >> Support a new sysctl schedop sub-command to get the scheduling defaults of a
> >> specific scheduler.
> > Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here?
> >
> > Isn't it actually more useful/meaningful to get the current actual
> > setting rather than a default?
> 
> When setting the parameters from the config file we have no domain yet which
> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
> parse part of the config only after domain creation.

That seems like another problem with doing this up front instead of
doing read-modify-write when we come to set the values for the domain.

> A default should be okay, as this is what we want to modify. :-)
> The scheduler should initialize a new domain with this default, of course.

So I can't use this interface to change the current one of the current
settings for running a domain, while leaving the others at their current
value?

Which interface can I use for that and why isn't it the same as this
one?
Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:33:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoGp-0005mO-Uv; Tue, 22 May 2012 12:32:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoGp-0005mG-7K
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:32:59 +0000
Received: from [85.158.143.35:62744] by server-2.bemta-4.messagelabs.com id
	69/ED-12211-A778BBF4; Tue, 22 May 2012 12:32:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337689977!5746924!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9357 invoked from network); 22 May 2012 12:32:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:32:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603379"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:32:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:32:57 +0100
Message-ID: <1337689975.10118.102.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:32:55 +0100
In-Reply-To: <4FBB86AE.7010908@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 13:29 +0100, Juergen Gross wrote:
> On 05/22/2012 02:22 PM, Ian Campbell wrote:
> > On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
> >> Support a new sysctl schedop sub-command to get the scheduling defaults of a
> >> specific scheduler.
> > Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here?
> >
> > Isn't it actually more useful/meaningful to get the current actual
> > setting rather than a default?
> 
> When setting the parameters from the config file we have no domain yet which
> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
> parse part of the config only after domain creation.

That seems like another problem with doing this up front instead of
doing read-modify-write when we come to set the values for the domain.

> A default should be okay, as this is what we want to modify. :-)
> The scheduler should initialize a new domain with this default, of course.

So I can't use this interface to change the current one of the current
settings for running a domain, while leaving the others at their current
value?

Which interface can I use for that and why isn't it the same as this
one?
Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:35:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:35:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoJY-00068Q-AL; Tue, 22 May 2012 12:35:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWoJW-000686-Co
	for xen-devel@lists.xen.org; Tue, 22 May 2012 12:35:46 +0000
Received: from [85.158.138.51:30669] by server-9.bemta-3.messagelabs.com id
	A1/DE-26691-1288BBF4; Tue, 22 May 2012 12:35:45 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337690143!26719960!1
X-Originating-IP: [65.55.88.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27221 invoked from network); 22 May 2012 12:35:44 -0000
Received: from tx2ehsobe001.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.11)
	by server-15.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 12:35:44 -0000
Received: from mail129-tx2-R.bigfish.com (10.9.14.246) by
	TX2EHSOBE004.bigfish.com (10.9.40.24) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 12:35:28 +0000
Received: from mail129-tx2 (localhost [127.0.0.1])	by
	mail129-tx2-R.bigfish.com (Postfix) with ESMTP id C76764409CF;
	Tue, 22 May 2012 12:35:28 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI98bK1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail129-tx2 (localhost.localdomain [127.0.0.1]) by mail129-tx2
	(MessageSwitch) id 1337690126571441_6958;
	Tue, 22 May 2012 12:35:26 +0000 (UTC)
Received: from TX2EHSMHS031.bigfish.com (unknown [10.9.14.235])	by
	mail129-tx2.bigfish.com (Postfix) with ESMTP id 7B778C010E;
	Tue, 22 May 2012 12:35:26 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS031.bigfish.com (10.9.99.131) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 12:35:25 +0000
X-WSS-ID: 0M4FCBE-01-6WP-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 28C51102807B;	Tue, 22 May 2012 07:35:37 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 07:35:46 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 07:35:29 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	08:35:28 -0400
Message-ID: <4FBB882B.1020902@amd.com>
Date: Tue, 22 May 2012 14:35:55 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337615835.24660.169.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 17:57, Ian Campbell wrote:

>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>> libxl_sched_credit_domain_set failed -6
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=phy
>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>> dompath for 7: Bad file descriptor
> 
> This is back to the original issue, I think the last couple of mails
> have been something of a tangent since you weren't getting as far as
> this failure.
> 
> I'm not really sure what to suggest here -- something is either closing
> the fd or scribbling over the memory which contains it.
> 
> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
> between libxl__sched_set_params and libxl__device_disk_set_backend and
> see where it starts failing -- that's going to be pretty tedious though.


It starts failing in libxl__build_post() right after
xs_introduce_domain().

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:35:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:35:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoJY-00068Q-AL; Tue, 22 May 2012 12:35:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWoJW-000686-Co
	for xen-devel@lists.xen.org; Tue, 22 May 2012 12:35:46 +0000
Received: from [85.158.138.51:30669] by server-9.bemta-3.messagelabs.com id
	A1/DE-26691-1288BBF4; Tue, 22 May 2012 12:35:45 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337690143!26719960!1
X-Originating-IP: [65.55.88.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27221 invoked from network); 22 May 2012 12:35:44 -0000
Received: from tx2ehsobe001.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.11)
	by server-15.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 12:35:44 -0000
Received: from mail129-tx2-R.bigfish.com (10.9.14.246) by
	TX2EHSOBE004.bigfish.com (10.9.40.24) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 12:35:28 +0000
Received: from mail129-tx2 (localhost [127.0.0.1])	by
	mail129-tx2-R.bigfish.com (Postfix) with ESMTP id C76764409CF;
	Tue, 22 May 2012 12:35:28 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI98bK1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail129-tx2 (localhost.localdomain [127.0.0.1]) by mail129-tx2
	(MessageSwitch) id 1337690126571441_6958;
	Tue, 22 May 2012 12:35:26 +0000 (UTC)
Received: from TX2EHSMHS031.bigfish.com (unknown [10.9.14.235])	by
	mail129-tx2.bigfish.com (Postfix) with ESMTP id 7B778C010E;
	Tue, 22 May 2012 12:35:26 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS031.bigfish.com (10.9.99.131) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 12:35:25 +0000
X-WSS-ID: 0M4FCBE-01-6WP-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 28C51102807B;	Tue, 22 May 2012 07:35:37 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 07:35:46 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 07:35:29 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	08:35:28 -0400
Message-ID: <4FBB882B.1020902@amd.com>
Date: Tue, 22 May 2012 14:35:55 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337615835.24660.169.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/21/12 17:57, Ian Campbell wrote:

>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=unknown
>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>> vdev=hda, using backend phy
>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>   Loader:        0000000000100000->000000000019bd04
>>   TOTAL:         0000000000000000->00000000ff800000
>>   ENTRY ADDRESS: 0000000000100000
>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>   4KB PAGES: 0x0000000000000200
>>   2MB PAGES: 0x00000000000003fb
>>   1GB PAGES: 0x0000000000000002
>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>> of range, valid values are within range from 1 to 65535
>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>> libxl_sched_credit_domain_set failed -6
>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>> vdev=hda spec.backend=phy
>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>> dompath for 7: Bad file descriptor
> 
> This is back to the original issue, I think the last couple of mails
> have been something of a tangent since you weren't getting as far as
> this failure.
> 
> I'm not really sure what to suggest here -- something is either closing
> the fd or scribbling over the memory which contains it.
> 
> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
> between libxl__sched_set_params and libxl__device_disk_set_backend and
> see where it starts failing -- that's going to be pretty tedious though.


It starts failing in libxl__build_post() right after
xs_introduce_domain().

Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:39:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:39:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoNK-0006TV-3n; Tue, 22 May 2012 12:39:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWoNI-0006TN-JJ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:39:40 +0000
Received: from [193.109.254.147:32542] by server-9.bemta-14.messagelabs.com id
	79/B7-05787-B098BBF4; Tue, 22 May 2012 12:39:39 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337690378!2896920!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjg0NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18027 invoked from network); 22 May 2012 12:39:39 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:39:39 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=n9JiHRsKASC2/3xa/tk01XFlMyaew1aikF7YMCdZq61xkPoPFWIQUAMz
	7Wvqu8F0YXM1PHUvjoKv1bdFEai9ixHITU/2MM5VzX+0S2dC5g4BfIYAx
	BN1QVdHAaMukcn0BZkBGI9FMG8fCf5rboQHozcp9d5xHHqUPUQYdJOUB+
	Q8Sn7jqx9BFfSk+VBM/5nR7Tju52/sq6gGNdAF9p2viQbGmuYWkqV8Vck
	nfjkZP6ZW6uF+tmurPb6LKjHv5nxe;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337690379; x=1369226379;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=5KaGbXmVZLSkxWiQcxQ9Kd2Xjz9a05BtAKnigmRhXJA=;
	b=reXh8LBiwyjHf65cWyTx1G9J2xoyfinzzuux8vlglMgdPbK2LAS1skw8
	sODfcprfNkUE70sZO+Bk65jbUsN5zezZ4PHM+8MMED24a22mtfCQOnLgk
	zTfNkno/i6wxrGLP93e5R1OnpVilRW7nxJQUohnXKt4FsHUSKZszZryzi
	KiLWBsyiyzym5yBY0uLBPZIm+g80Hh+1Phv8a+NsUcBCTbYWgGcCqYgA7
	mZGn0TPiZXDWzfwEGwwQvIx8mzsfu;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111113137"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 14:39:38 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134510782"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 14:39:38 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 6B1BF959A63;
	Tue, 22 May 2012 14:39:38 +0200 (CEST)
Message-ID: <4FBB890A.4060507@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:39:38 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <953383741ff44d97587c.1337678214@nehalem1>
	<1337689856.10118.100.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337689856.10118.100.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 02:30 PM, Ian Campbell wrote:
>> # HG changeset patch
>> # User Juergen Gross<juergen.gross@ts.fujitsu.com>
>> # Date 1337677423 -7200
>> # Node ID 953383741ff44d97587c2e75da79b092523d6e83
>> # Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
>> full support of setting scheduler parameters on domain creation
>>
>> Obtains default scheduler parameters before modifying any settings
>> specified
>> via domain config.
>>
>> Corrected an error for setting sedf parameters (setting .period
>> multiple
>> times).
>>
>> Signed-off-by: Juergen Gross<juergen.gross@ts.fujitsu.com>
>>
>> diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
>> --- a/tools/libxl/libxl.h       Tue May 22 10:31:30 2012 +0200
>> +++ b/tools/libxl/libxl.h       Tue May 22 11:03:43 2012 +0200
>> @@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
>>   /* May be called with info_r == NULL to check for domain's existance
>> */
>>   int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
>>                         uint32_t domid);
>> +int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
>> +                             libxl_sched_params *scparams);
> This interface really makes libxl_sched_params differ from all the other
> libxl structs (which have a public _init function and an internal
> setdefaults function). I'm not really sure its justified either, I was
> under the impression that you'd found that there were useful
> discriminating values?

Dario opted for this solution, so I proposed a patch implementing it.
I prefer this solution, too, as it isn't exporting scheduler internals to
the tools.

> If this function was called libxl_sched_init (replacing the
> autogenerated one) then it might be ok. Although I'm still not really
> sure what the issue is with having a discriminating value meaning
> default is, doing that keeps the _init function cheap too.

Okay, I can rename it.

>
>>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
>> libxl_sched_params *scparams)
>>   {
>>       libxl_ctx *ctx = libxl__gc_owner(gc);
>> -    libxl_scheduler sched;
>>       libxl_sched_sedf_domain sedf_info;
>>       libxl_sched_credit_domain credit_info;
>>       libxl_sched_credit2_domain credit2_info;
>>       int ret;
>>
>> -    sched = libxl_get_scheduler (ctx);
>> -    switch (sched) {
>> +    switch (scparams->sched) {
> What happens if scparams->sched is not the scheduler used for this
> domain? Should it either be checked or set somewhere?

The check would be the same as the original setting of scparams->sched.
Setting of the scheduler parameters will be rejected by the hypervisor if the
scheduler does not match.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:39:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:39:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoNK-0006TV-3n; Tue, 22 May 2012 12:39:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWoNI-0006TN-JJ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:39:40 +0000
Received: from [193.109.254.147:32542] by server-9.bemta-14.messagelabs.com id
	79/B7-05787-B098BBF4; Tue, 22 May 2012 12:39:39 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337690378!2896920!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMjg0NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18027 invoked from network); 22 May 2012 12:39:39 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:39:39 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=n9JiHRsKASC2/3xa/tk01XFlMyaew1aikF7YMCdZq61xkPoPFWIQUAMz
	7Wvqu8F0YXM1PHUvjoKv1bdFEai9ixHITU/2MM5VzX+0S2dC5g4BfIYAx
	BN1QVdHAaMukcn0BZkBGI9FMG8fCf5rboQHozcp9d5xHHqUPUQYdJOUB+
	Q8Sn7jqx9BFfSk+VBM/5nR7Tju52/sq6gGNdAF9p2viQbGmuYWkqV8Vck
	nfjkZP6ZW6uF+tmurPb6LKjHv5nxe;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337690379; x=1369226379;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=5KaGbXmVZLSkxWiQcxQ9Kd2Xjz9a05BtAKnigmRhXJA=;
	b=reXh8LBiwyjHf65cWyTx1G9J2xoyfinzzuux8vlglMgdPbK2LAS1skw8
	sODfcprfNkUE70sZO+Bk65jbUsN5zezZ4PHM+8MMED24a22mtfCQOnLgk
	zTfNkno/i6wxrGLP93e5R1OnpVilRW7nxJQUohnXKt4FsHUSKZszZryzi
	KiLWBsyiyzym5yBY0uLBPZIm+g80Hh+1Phv8a+NsUcBCTbYWgGcCqYgA7
	mZGn0TPiZXDWzfwEGwwQvIx8mzsfu;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="111113137"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate10u.abg.fsc.net with ESMTP; 22 May 2012 14:39:38 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134510782"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 14:39:38 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 6B1BF959A63;
	Tue, 22 May 2012 14:39:38 +0200 (CEST)
Message-ID: <4FBB890A.4060507@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:39:38 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <953383741ff44d97587c.1337678214@nehalem1>
	<1337689856.10118.100.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337689856.10118.100.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 02:30 PM, Ian Campbell wrote:
>> # HG changeset patch
>> # User Juergen Gross<juergen.gross@ts.fujitsu.com>
>> # Date 1337677423 -7200
>> # Node ID 953383741ff44d97587c2e75da79b092523d6e83
>> # Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
>> full support of setting scheduler parameters on domain creation
>>
>> Obtains default scheduler parameters before modifying any settings
>> specified
>> via domain config.
>>
>> Corrected an error for setting sedf parameters (setting .period
>> multiple
>> times).
>>
>> Signed-off-by: Juergen Gross<juergen.gross@ts.fujitsu.com>
>>
>> diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
>> --- a/tools/libxl/libxl.h       Tue May 22 10:31:30 2012 +0200
>> +++ b/tools/libxl/libxl.h       Tue May 22 11:03:43 2012 +0200
>> @@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
>>   /* May be called with info_r == NULL to check for domain's existance
>> */
>>   int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
>>                         uint32_t domid);
>> +int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
>> +                             libxl_sched_params *scparams);
> This interface really makes libxl_sched_params differ from all the other
> libxl structs (which have a public _init function and an internal
> setdefaults function). I'm not really sure its justified either, I was
> under the impression that you'd found that there were useful
> discriminating values?

Dario opted for this solution, so I proposed a patch implementing it.
I prefer this solution, too, as it isn't exporting scheduler internals to
the tools.

> If this function was called libxl_sched_init (replacing the
> autogenerated one) then it might be ok. Although I'm still not really
> sure what the issue is with having a discriminating value meaning
> default is, doing that keeps the _init function cheap too.

Okay, I can rename it.

>
>>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
>> libxl_sched_params *scparams)
>>   {
>>       libxl_ctx *ctx = libxl__gc_owner(gc);
>> -    libxl_scheduler sched;
>>       libxl_sched_sedf_domain sedf_info;
>>       libxl_sched_credit_domain credit_info;
>>       libxl_sched_credit2_domain credit2_info;
>>       int ret;
>>
>> -    sched = libxl_get_scheduler (ctx);
>> -    switch (sched) {
>> +    switch (scparams->sched) {
> What happens if scparams->sched is not the scheduler used for this
> domain? Should it either be checked or set somewhere?

The check would be the same as the original setting of scparams->sched.
Setting of the scheduler parameters will be rejected by the hypervisor if the
scheduler does not match.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:51:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoYc-0006lj-E2; Tue, 22 May 2012 12:51:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoYb-0006le-E5
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:51:21 +0000
Received: from [85.158.138.51:12750] by server-3.bemta-3.messagelabs.com id
	0C/05-04048-8CB8BBF4; Tue, 22 May 2012 12:51:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337691079!9799083!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21779 invoked from network); 22 May 2012 12:51:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:51:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603812"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:51:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:51:17 +0100
Message-ID: <1337691076.10118.111.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:51:16 +0100
In-Reply-To: <4FBB890A.4060507@ts.fujitsu.com>
References: <953383741ff44d97587c.1337678214@nehalem1>
	<1337689856.10118.100.camel@zakaz.uk.xensource.com>
	<4FBB890A.4060507@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 13:39 +0100, Juergen Gross wrote:
> On 05/22/2012 02:30 PM, Ian Campbell wrote:
> >> # HG changeset patch
> >> # User Juergen Gross<juergen.gross@ts.fujitsu.com>
> >> # Date 1337677423 -7200
> >> # Node ID 953383741ff44d97587c2e75da79b092523d6e83
> >> # Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
> >> full support of setting scheduler parameters on domain creation
> >>
> >> Obtains default scheduler parameters before modifying any settings
> >> specified
> >> via domain config.
> >>
> >> Corrected an error for setting sedf parameters (setting .period
> >> multiple
> >> times).
> >>
> >> Signed-off-by: Juergen Gross<juergen.gross@ts.fujitsu.com>
> >>
> >> diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
> >> --- a/tools/libxl/libxl.h       Tue May 22 10:31:30 2012 +0200
> >> +++ b/tools/libxl/libxl.h       Tue May 22 11:03:43 2012 +0200
> >> @@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
> >>   /* May be called with info_r == NULL to check for domain's existance
> >> */
> >>   int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
> >>                         uint32_t domid);
> >> +int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
> >> +                             libxl_sched_params *scparams);
> > This interface really makes libxl_sched_params differ from all the other
> > libxl structs (which have a public _init function and an internal
> > setdefaults function). I'm not really sure its justified either, I was
> > under the impression that you'd found that there were useful
> > discriminating values?
> 
> Dario opted for this solution, so I proposed a patch implementing it.
> I prefer this solution, too, as it isn't exporting scheduler internals to
> the tools.

I don't think "-1 is not a valid weight" is really "exporting scheduler
internals".

Anyway, I am far more concerned that the libxl API is useful to users
than I am about the API between libxl/libxc and the hypervisor (which is
not set in stone and can be fixed etc). The libxl API is the one we want
to expose and keep stable going forward etc.

> 
> > If this function was called libxl_sched_init (replacing the
> > autogenerated one) then it might be ok. Although I'm still not really
> > sure what the issue is with having a discriminating value meaning
> > default is, doing that keeps the _init function cheap too.
> 
> Okay, I can rename it.
> 
> >
> >>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> >> libxl_sched_params *scparams)
> >>   {
> >>       libxl_ctx *ctx = libxl__gc_owner(gc);
> >> -    libxl_scheduler sched;
> >>       libxl_sched_sedf_domain sedf_info;
> >>       libxl_sched_credit_domain credit_info;
> >>       libxl_sched_credit2_domain credit2_info;
> >>       int ret;
> >>
> >> -    sched = libxl_get_scheduler (ctx);
> >> -    switch (sched) {
> >> +    switch (scparams->sched) {
> > What happens if scparams->sched is not the scheduler used for this
> > domain? Should it either be checked or set somewhere?
> 
> The check would be the same as the original setting of scparams->sched.
> Setting of the scheduler parameters will be rejected by the hypervisor if the
> scheduler does not match.
> 
> 
> Juergen
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:51:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoYc-0006lj-E2; Tue, 22 May 2012 12:51:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoYb-0006le-E5
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:51:21 +0000
Received: from [85.158.138.51:12750] by server-3.bemta-3.messagelabs.com id
	0C/05-04048-8CB8BBF4; Tue, 22 May 2012 12:51:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337691079!9799083!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21779 invoked from network); 22 May 2012 12:51:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:51:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603812"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:51:17 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:51:17 +0100
Message-ID: <1337691076.10118.111.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Tue, 22 May 2012 13:51:16 +0100
In-Reply-To: <4FBB890A.4060507@ts.fujitsu.com>
References: <953383741ff44d97587c.1337678214@nehalem1>
	<1337689856.10118.100.camel@zakaz.uk.xensource.com>
	<4FBB890A.4060507@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 13:39 +0100, Juergen Gross wrote:
> On 05/22/2012 02:30 PM, Ian Campbell wrote:
> >> # HG changeset patch
> >> # User Juergen Gross<juergen.gross@ts.fujitsu.com>
> >> # Date 1337677423 -7200
> >> # Node ID 953383741ff44d97587c2e75da79b092523d6e83
> >> # Parent  19aaa30d7fdce2f1b56cb13399d603d955a61fb8
> >> full support of setting scheduler parameters on domain creation
> >>
> >> Obtains default scheduler parameters before modifying any settings
> >> specified
> >> via domain config.
> >>
> >> Corrected an error for setting sedf parameters (setting .period
> >> multiple
> >> times).
> >>
> >> Signed-off-by: Juergen Gross<juergen.gross@ts.fujitsu.com>
> >>
> >> diff -r 19aaa30d7fdc -r 953383741ff4 tools/libxl/libxl.h
> >> --- a/tools/libxl/libxl.h       Tue May 22 10:31:30 2012 +0200
> >> +++ b/tools/libxl/libxl.h       Tue May 22 11:03:43 2012 +0200
> >> @@ -605,6 +605,8 @@ int libxl_primary_console_exec(libxl_ctx
> >>   /* May be called with info_r == NULL to check for domain's existance
> >> */
> >>   int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,
> >>                         uint32_t domid);
> >> +int libxl_sched_set_defaults(libxl_ctx*, uint32_t poolid,
> >> +                             libxl_sched_params *scparams);
> > This interface really makes libxl_sched_params differ from all the other
> > libxl structs (which have a public _init function and an internal
> > setdefaults function). I'm not really sure its justified either, I was
> > under the impression that you'd found that there were useful
> > discriminating values?
> 
> Dario opted for this solution, so I proposed a patch implementing it.
> I prefer this solution, too, as it isn't exporting scheduler internals to
> the tools.

I don't think "-1 is not a valid weight" is really "exporting scheduler
internals".

Anyway, I am far more concerned that the libxl API is useful to users
than I am about the API between libxl/libxc and the hypervisor (which is
not set in stone and can be fixed etc). The libxl API is the one we want
to expose and keep stable going forward etc.

> 
> > If this function was called libxl_sched_init (replacing the
> > autogenerated one) then it might be ok. Although I'm still not really
> > sure what the issue is with having a discriminating value meaning
> > default is, doing that keeps the _init function cheap too.
> 
> Okay, I can rename it.
> 
> >
> >>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> >> libxl_sched_params *scparams)
> >>   {
> >>       libxl_ctx *ctx = libxl__gc_owner(gc);
> >> -    libxl_scheduler sched;
> >>       libxl_sched_sedf_domain sedf_info;
> >>       libxl_sched_credit_domain credit_info;
> >>       libxl_sched_credit2_domain credit2_info;
> >>       int ret;
> >>
> >> -    sched = libxl_get_scheduler (ctx);
> >> -    switch (sched) {
> >> +    switch (scparams->sched) {
> > What happens if scparams->sched is not the scheduler used for this
> > domain? Should it either be checked or set somewhere?
> 
> The check would be the same as the original setting of scparams->sched.
> Setting of the scheduler parameters will be rejected by the hypervisor if the
> scheduler does not match.
> 
> 
> Juergen
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:53:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:53:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoaC-0006pu-Vt; Tue, 22 May 2012 12:53:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SWoaB-0006pl-Dy
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:52:59 +0000
Received: from [85.158.143.99:9676] by server-1.bemta-4.messagelabs.com id
	A2/D8-00342-A2C8BBF4; Tue, 22 May 2012 12:52:58 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337691172!23947155!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11395 invoked from network); 22 May 2012 12:52:55 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:52:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="195990815"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:52:11 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 08:52:10 -0400
Received: from [10.80.3.61]	by ukmail1.uk.xensource.com with esmtp (Exim 4.69)
	(envelope-from <anthony.perard@citrix.com>)	id 1SWoZO-0002RI-3d;
	Tue, 22 May 2012 13:52:10 +0100
Message-ID: <4FBB8BF9.2040306@citrix.com>
Date: Tue, 22 May 2012 13:52:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <1333467163-25795-1-git-send-email-anthony.perard@citrix.com>
	<1333467163-25795-4-git-send-email-anthony.perard@citrix.com>
	<20120516112445.GB21609@andromeda.dapyr.net>
In-Reply-To: <20120516112445.GB21609@andromeda.dapyr.net>
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S . Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [PATCH V11 3/8] Introduce XenHostPCIDevice to
 access a pci device on the host.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/12 12:24, Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 03, 2012 at 04:32:38PM +0100, Anthony PERARD wrote:
>> Signed-off-by: Anthony PERARD<anthony.perard@citrix.com>
>
> Looks good, thought I've just couple of tiny comments:
>
>> +#define XEN_HOST_PCI_RESSOURCE_BUFFER_SIZE 512
>
> You might want a comment explaining why 512, and not
> a more precise number like 741.

Actually, I only need the first 7 line of the resources file. So this 
is 399 bytes. I just add a little bit more.

>> +{
> .. snip..
>> +    do {
>> +        rc = read(fd,&buf, sizeof (buf) - 1);
>> +        if (rc<  0&&  errno != EINTR) {
>> +            rc = -errno;
>> +            goto out;
>> +        }
>> +    } while (rc<  0);
>
> Ok, you read it in. Maybe my 'wc' magic is gone, but this
> is what I get:
> [root@localhost 0000:00:02.0]# cat resource | wc -c
> 741
> .. snip..
>> +#define XEN_HOST_PCI_GET_VALUE_BUFFER_SIZE 42
>
> The answer to the life? Can you provide a comment explaining
> the reason why it is 42, please?

I just define more than needed, and 42 is a good number :-).
But the maximum I need is probably 7 (for example '0x8086\n', for a 
vendor id). Or 20, number of digit in LONG_MAX, base 10.

>> +static int xen_host_pci_get_value(XenHostPCIDevice *d, const char *name,
>> +                                  unsigned int *pvalue, int base)
>> +{


-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:53:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:53:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoaC-0006pu-Vt; Tue, 22 May 2012 12:53:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SWoaB-0006pl-Dy
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:52:59 +0000
Received: from [85.158.143.99:9676] by server-1.bemta-4.messagelabs.com id
	A2/D8-00342-A2C8BBF4; Tue, 22 May 2012 12:52:58 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337691172!23947155!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11395 invoked from network); 22 May 2012 12:52:55 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:52:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="195990815"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 08:52:11 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 08:52:10 -0400
Received: from [10.80.3.61]	by ukmail1.uk.xensource.com with esmtp (Exim 4.69)
	(envelope-from <anthony.perard@citrix.com>)	id 1SWoZO-0002RI-3d;
	Tue, 22 May 2012 13:52:10 +0100
Message-ID: <4FBB8BF9.2040306@citrix.com>
Date: Tue, 22 May 2012 13:52:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux i686;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <1333467163-25795-1-git-send-email-anthony.perard@citrix.com>
	<1333467163-25795-4-git-send-email-anthony.perard@citrix.com>
	<20120516112445.GB21609@andromeda.dapyr.net>
In-Reply-To: <20120516112445.GB21609@andromeda.dapyr.net>
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Michael S . Tsirkin" <mst@redhat.com>
Subject: Re: [Xen-devel] [PATCH V11 3/8] Introduce XenHostPCIDevice to
 access a pci device on the host.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 16/05/12 12:24, Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 03, 2012 at 04:32:38PM +0100, Anthony PERARD wrote:
>> Signed-off-by: Anthony PERARD<anthony.perard@citrix.com>
>
> Looks good, thought I've just couple of tiny comments:
>
>> +#define XEN_HOST_PCI_RESSOURCE_BUFFER_SIZE 512
>
> You might want a comment explaining why 512, and not
> a more precise number like 741.

Actually, I only need the first 7 line of the resources file. So this 
is 399 bytes. I just add a little bit more.

>> +{
> .. snip..
>> +    do {
>> +        rc = read(fd,&buf, sizeof (buf) - 1);
>> +        if (rc<  0&&  errno != EINTR) {
>> +            rc = -errno;
>> +            goto out;
>> +        }
>> +    } while (rc<  0);
>
> Ok, you read it in. Maybe my 'wc' magic is gone, but this
> is what I get:
> [root@localhost 0000:00:02.0]# cat resource | wc -c
> 741
> .. snip..
>> +#define XEN_HOST_PCI_GET_VALUE_BUFFER_SIZE 42
>
> The answer to the life? Can you provide a comment explaining
> the reason why it is 42, please?

I just define more than needed, and 42 is a good number :-).
But the maximum I need is probably 7 (for example '0x8086\n', for a 
vendor id). Or 20, number of digit in LONG_MAX, base 10.

>> +static int xen_host_pci_get_value(XenHostPCIDevice *d, const char *name,
>> +                                  unsigned int *pvalue, int base)
>> +{


-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:54:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:54:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWob4-0006u2-DS; Tue, 22 May 2012 12:53:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWob2-0006tl-7l
	for xen-devel@lists.xen.org; Tue, 22 May 2012 12:53:52 +0000
Received: from [85.158.143.99:11875] by server-1.bemta-4.messagelabs.com id
	EA/2B-00342-F5C8BBF4; Tue, 22 May 2012 12:53:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337691227!25850332!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19292 invoked from network); 22 May 2012 12:53:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:53:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603900"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:53:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:53:46 +0100
Message-ID: <1337691225.10118.114.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 13:53:45 +0100
In-Reply-To: <4FBB882B.1020902@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
> On 05/21/12 17:57, Ian Campbell wrote:
> 
> >> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=unknown
> >> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> >> vdev=hda, using backend phy
> >> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> >> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> >> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>   Loader:        0000000000100000->000000000019bd04
> >>   TOTAL:         0000000000000000->00000000ff800000
> >>   ENTRY ADDRESS: 0000000000100000
> >> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>   4KB PAGES: 0x0000000000000200
> >>   2MB PAGES: 0x00000000000003fb
> >>   1GB PAGES: 0x0000000000000002
> >> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> >> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
> >> of range, valid values are within range from 1 to 65535
> >> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
> >> libxl_sched_credit_domain_set failed -6
> >> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=phy
> >> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> >> dompath for 7: Bad file descriptor
> > 
> > This is back to the original issue, I think the last couple of mails
> > have been something of a tangent since you weren't getting as far as
> > this failure.
> > 
> > I'm not really sure what to suggest here -- something is either closing
> > the fd or scribbling over the memory which contains it.
> > 
> > I suppose you could sprinkle calls to libxl__xs_get_dompath() around
> > between libxl__sched_set_params and libxl__device_disk_set_backend and
> > see where it starts failing -- that's going to be pretty tedious though.
> 
> 
> It starts failing in libxl__build_post() right after
> xs_introduce_domain().

What method did you use to determine that?

So at the xs_transaction_end right before that ctx->xsh is valid, but
right after...
        xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
...it is invalid? i.e. before the free(vmpath) it is already corrupt? 

(Aside: why isn't vmpath in the gc, instead of done manually,
nevermind...)

Does the xs_introduce_domain itself succeed? Or do you mean that the
next use of xsh after this fails (where is that, somewhere back up the
callchain? store_libxl_entry perhaps?)

xs_introduce_domain doesn't seem to do much which is untoward with the
handle.

The only thing which springs to mind is that it may generate an
@IntroduceDomain watch event. However xl is single threaded so we won't
process that event until we unwind to whichever point we do an event
loop iteration, in which case the corruption would have to happen later
than right after xs_introduce_domain().

Did you manage to determine if "Bad file descriptor" was due to it being
closed vs. the value being corrupted?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:54:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:54:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWob4-0006u2-DS; Tue, 22 May 2012 12:53:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWob2-0006tl-7l
	for xen-devel@lists.xen.org; Tue, 22 May 2012 12:53:52 +0000
Received: from [85.158.143.99:11875] by server-1.bemta-4.messagelabs.com id
	EA/2B-00342-F5C8BBF4; Tue, 22 May 2012 12:53:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337691227!25850332!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19292 invoked from network); 22 May 2012 12:53:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:53:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12603900"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 12:53:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:53:46 +0100
Message-ID: <1337691225.10118.114.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 13:53:45 +0100
In-Reply-To: <4FBB882B.1020902@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
> On 05/21/12 17:57, Ian Campbell wrote:
> 
> >> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=unknown
> >> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
> >> vdev=hda, using backend phy
> >> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
> >> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
> >> xc: info: VIRTUAL MEMORY ARRANGEMENT:
> >>   Loader:        0000000000100000->000000000019bd04
> >>   TOTAL:         0000000000000000->00000000ff800000
> >>   ENTRY ADDRESS: 0000000000100000
> >> xc: info: PHYSICAL MEMORY ALLOCATION:
> >>   4KB PAGES: 0x0000000000000200
> >>   2MB PAGES: 0x00000000000003fb
> >>   1GB PAGES: 0x0000000000000002
> >> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
> >> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
> >> of range, valid values are within range from 1 to 65535
> >> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
> >> libxl_sched_credit_domain_set failed -6
> >> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=phy
> >> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
> >> dompath for 7: Bad file descriptor
> > 
> > This is back to the original issue, I think the last couple of mails
> > have been something of a tangent since you weren't getting as far as
> > this failure.
> > 
> > I'm not really sure what to suggest here -- something is either closing
> > the fd or scribbling over the memory which contains it.
> > 
> > I suppose you could sprinkle calls to libxl__xs_get_dompath() around
> > between libxl__sched_set_params and libxl__device_disk_set_backend and
> > see where it starts failing -- that's going to be pretty tedious though.
> 
> 
> It starts failing in libxl__build_post() right after
> xs_introduce_domain().

What method did you use to determine that?

So at the xs_transaction_end right before that ctx->xsh is valid, but
right after...
        xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
...it is invalid? i.e. before the free(vmpath) it is already corrupt? 

(Aside: why isn't vmpath in the gc, instead of done manually,
nevermind...)

Does the xs_introduce_domain itself succeed? Or do you mean that the
next use of xsh after this fails (where is that, somewhere back up the
callchain? store_libxl_entry perhaps?)

xs_introduce_domain doesn't seem to do much which is untoward with the
handle.

The only thing which springs to mind is that it may generate an
@IntroduceDomain watch event. However xl is single threaded so we won't
process that event until we unwind to whichever point we do an event
loop iteration, in which case the corruption would have to happen later
than right after xs_introduce_domain().

Did you manage to determine if "Bad file descriptor" was due to it being
closed vs. the value being corrupted?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:59:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:59:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWog4-0007C3-50; Tue, 22 May 2012 12:59:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWog1-0007Bu-Sh
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:59:02 +0000
Received: from [85.158.143.99:27030] by server-3.bemta-4.messagelabs.com id
	46/AA-05853-59D8BBF4; Tue, 22 May 2012 12:59:01 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337691538!23906687!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2523 invoked from network); 22 May 2012 12:58:59 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:58:59 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=r7UCg5hybJJemOp6211F49FHdRTXhrCsW1LfpLxxppGx85jTQHuSstcc
	zKT2LmtY9CXIlGec2nk/XrBHXXpsRfyifL1fE4IyayX61eD+o5OB15/TY
	1IAOA8EqVbm+H9OPsay5S5x6bUPly440GKDQoOHQ9cfMxsRStGJufx9j1
	NkHF1264pH6vS81N7ve1V9noaaMQ1qcX6BPTqwIdPJBkaD1o8hXsKzVdk
	qyAEY0qY7gM9DFZKlTbyO3G9OvV+K;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337691539; x=1369227539;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=J7FHJh6rdN9ternQA7C+BOPH9jTeLvWeJCRxY47QIDI=;
	b=Lm7zNGMSOlgVjpfd24JMFBTVfNmolxzVbt0Mz5hcuT4AXvViUK9xFNkm
	VnYSYRHvAIuD8sOV8qbcmyvDA2+/tbBVKcIvZe14gavj1v1ytCMgltUfy
	i8+Q5eX0DhWie32qhygobsyvQluN7BppmQw5EN91JOS3COkVfZuMF34Io
	CNIEDSDF2iJAKmuiK9Ii3D2iugXSwALXmeGm1ydMl9AOK6uqnAKG93Fqz
	OzNg/IV8fd6zfO4IXx4QYvfWAi+zw;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94098137"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 14:58:58 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134512844"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 14:58:58 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 59FC0965007;
	Tue, 22 May 2012 14:58:58 +0200 (CEST)
Message-ID: <4FBB8D92.8050800@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:58:58 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337689975.10118.102.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 02:32 PM, Ian Campbell wrote:
> On Tue, 2012-05-22 at 13:29 +0100, Juergen Gross wrote:
>> On 05/22/2012 02:22 PM, Ian Campbell wrote:
>>> On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
>>>> Support a new sysctl schedop sub-command to get the scheduling defaults of a
>>>> specific scheduler.
>>> Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here?
>>>
>>> Isn't it actually more useful/meaningful to get the current actual
>>> setting rather than a default?
>> When setting the parameters from the config file we have no domain yet which
>> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
>> parse part of the config only after domain creation.
> That seems like another problem with doing this up front instead of
> doing read-modify-write when we come to set the values for the domain.

Do you think it would be okay to parse the scheduler config data _after_
domain creation? If yes, the read-modify-write approach is simple and always
correct. If no, you will have to initialize the parameters to something
scheduler specific, and not domain specific.

>> A default should be okay, as this is what we want to modify. :-)
>> The scheduler should initialize a new domain with this default, of course.
> So I can't use this interface to change the current one of the current
> settings for running a domain, while leaving the others at their current
> value?

I don't understand this sentence :-) ...

> Which interface can I use for that and why isn't it the same as this
> one?

... making it hard to answer to this one. :-)
Nevertheless trying: you can change the scheduling parameters of a running
domain with xl sched-credit/sched-sedf/...


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 12:59:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 12:59:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWog4-0007C3-50; Tue, 22 May 2012 12:59:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SWog1-0007Bu-Sh
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 12:59:02 +0000
Received: from [85.158.143.99:27030] by server-3.bemta-4.messagelabs.com id
	46/AA-05853-59D8BBF4; Tue, 22 May 2012 12:59:01 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337691538!23906687!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjE3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2523 invoked from network); 22 May 2012 12:58:59 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 12:58:59 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=r7UCg5hybJJemOp6211F49FHdRTXhrCsW1LfpLxxppGx85jTQHuSstcc
	zKT2LmtY9CXIlGec2nk/XrBHXXpsRfyifL1fE4IyayX61eD+o5OB15/TY
	1IAOA8EqVbm+H9OPsay5S5x6bUPly440GKDQoOHQ9cfMxsRStGJufx9j1
	NkHF1264pH6vS81N7ve1V9noaaMQ1qcX6BPTqwIdPJBkaD1o8hXsKzVdk
	qyAEY0qY7gM9DFZKlTbyO3G9OvV+K;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337691539; x=1369227539;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=J7FHJh6rdN9ternQA7C+BOPH9jTeLvWeJCRxY47QIDI=;
	b=Lm7zNGMSOlgVjpfd24JMFBTVfNmolxzVbt0Mz5hcuT4AXvViUK9xFNkm
	VnYSYRHvAIuD8sOV8qbcmyvDA2+/tbBVKcIvZe14gavj1v1ytCMgltUfy
	i8+Q5eX0DhWie32qhygobsyvQluN7BppmQw5EN91JOS3COkVfZuMF34Io
	CNIEDSDF2iJAKmuiK9Ii3D2iugXSwALXmeGm1ydMl9AOK6uqnAKG93Fqz
	OzNg/IV8fd6zfO4IXx4QYvfWAi+zw;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="94098137"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate20u.abg.fsc.net with ESMTP; 22 May 2012 14:58:58 +0200
X-IronPort-AV: E=Sophos;i="4.75,637,1330902000"; d="scan'208";a="134512844"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 22 May 2012 14:58:58 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 59FC0965007;
	Tue, 22 May 2012 14:58:58 +0200 (CEST)
Message-ID: <4FBB8D92.8050800@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:58:58 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337689975.10118.102.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 02:32 PM, Ian Campbell wrote:
> On Tue, 2012-05-22 at 13:29 +0100, Juergen Gross wrote:
>> On 05/22/2012 02:22 PM, Ian Campbell wrote:
>>> On Tue, 2012-05-22 at 10:16 +0100, Juergen Gross wrote:
>>>> Support a new sysctl schedop sub-command to get the scheduling defaults of a
>>>> specific scheduler.
>>> Why is XEN_DOMCTL_SCHEDOP_getinfo not sufficient here?
>>>
>>> Isn't it actually more useful/meaningful to get the current actual
>>> setting rather than a default?
>> When setting the parameters from the config file we have no domain yet which
>> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
>> parse part of the config only after domain creation.
> That seems like another problem with doing this up front instead of
> doing read-modify-write when we come to set the values for the domain.

Do you think it would be okay to parse the scheduler config data _after_
domain creation? If yes, the read-modify-write approach is simple and always
correct. If no, you will have to initialize the parameters to something
scheduler specific, and not domain specific.

>> A default should be okay, as this is what we want to modify. :-)
>> The scheduler should initialize a new domain with this default, of course.
> So I can't use this interface to change the current one of the current
> settings for running a domain, while leaving the others at their current
> value?

I don't understand this sentence :-) ...

> Which interface can I use for that and why isn't it the same as this
> one?

... making it hard to answer to this one. :-)
Nevertheless trying: you can change the scheduling parameters of a running
domain with xl sched-credit/sched-sedf/...


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:05:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:05:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWolg-0007On-0V; Tue, 22 May 2012 13:04:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWole-0007Oi-Vt
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:04:51 +0000
Received: from [85.158.143.99:45601] by server-1.bemta-4.messagelabs.com id
	B9/D4-00342-2FE8BBF4; Tue, 22 May 2012 13:04:50 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337691887!28895313!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3844 invoked from network); 22 May 2012 13:04:49 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:04:49 -0000
Received: by dajz8 with SMTP id z8so9239556daj.30
	for <xen-devel@lists.xensource.com>;
	Tue, 22 May 2012 06:04:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=zK/vCMLekRwsZ+XbKyovec59hZtWLgkJDQTblqWhns8=;
	b=FOrwVb6HRYGOqzDWzk5XLr34SRDiEoERj1UkYeXTBEXnQ10FsQrd9a/DRfClhYHE+m
	fe7eiYlhwcPjrJ1FVXz3mmsLm54iEDC1nLRO78VuyVfuUD4AxdeUXTTDhTX5iqC0wrjb
	vYESeax7Tv3K7qdoWOQJdEqHPOltcyoshZk8Lsg6ETdjYqnEdJZpDRBNqUL6ajC9C+3q
	WSa/Fn+KxLrjvUv61yutZX+EoEsZwrhoGx49R25YrMnVQWjk9Wgwv5eunLgJiqs8EUCO
	7WpYfG6/ThFzW/ocasVPyNwnMVEdoiw1nqsBFSH3PfUJHjPBKbm6yMrgnxQ9jKaarPRK
	4urA==
Received: by 10.68.190.137 with SMTP id gq9mr4457729pbc.34.1337691886443; Tue,
	22 May 2012 06:04:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Tue, 22 May 2012 06:04:17 -0700 (PDT)
From: William Dauchy <wdauchy@gmail.com>
Date: Tue, 22 May 2012 15:04:17 +0200
Message-ID: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

I'm getting a call trace when booting a dom0 v3.3.7 (x86_32) under xen 4.1.2.
It is about multicalls.c:129. I tried with MC_DEBUG = 1 but it appears
that b->mcidx = 1 when getting this call trace.
Does anybody have any clue?


WARNING: at /arch/x86/xen/multicalls.c:129 xen_mc_flush+0x12a/0x140()
Hardware name: C6100
Modules linked in:
Pid: 0, comm: swapper Not tainted 3.3.7-i386 #125
Call Trace:
 [<c102f34d>] warn_slowpath_common+0x6d/0xa0
 [<c100384a>] ? xen_mc_flush+0x12a/0x140
 [<c100384a>] ? xen_mc_flush+0x12a/0x140
 [<c102f39d>] warn_slowpath_null+0x1d/0x20
 [<c100384a>] xen_mc_flush+0x12a/0x140
 [<c1006035>] xen_set_pmd_hyper+0x75/0x80
 [<c102c4ee>] set_pmd_pfn+0x9e/0xf0
 [<c14e68c7>] init_alloc_remap+0x1c3/0x237
 [<c14e6315>] x86_numa_init+0x378/0x691
 [<c1004af6>] ? xen_set_fixmap+0xa6/0x160
 [<c14e6639>] initmem_init+0xb/0xd6
 [<c14dea61>] ? early_acpi_boot_init+0x6e/0xbe
 [<c14dede0>] ? acpi_boot_table_init+0x36/0x7d
 [<c14d7796>] setup_arch+0xb30/0xbe7
 [<c14d1566>] start_kernel+0x76/0x2ef
 [<c14d10ba>] i386_start_kernel+0xa9/0xb0
 [<c14d4a66>] xen_start_kernel+0x546/0x54e


Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:05:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:05:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWolg-0007On-0V; Tue, 22 May 2012 13:04:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWole-0007Oi-Vt
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:04:51 +0000
Received: from [85.158.143.99:45601] by server-1.bemta-4.messagelabs.com id
	B9/D4-00342-2FE8BBF4; Tue, 22 May 2012 13:04:50 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337691887!28895313!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3844 invoked from network); 22 May 2012 13:04:49 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:04:49 -0000
Received: by dajz8 with SMTP id z8so9239556daj.30
	for <xen-devel@lists.xensource.com>;
	Tue, 22 May 2012 06:04:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=zK/vCMLekRwsZ+XbKyovec59hZtWLgkJDQTblqWhns8=;
	b=FOrwVb6HRYGOqzDWzk5XLr34SRDiEoERj1UkYeXTBEXnQ10FsQrd9a/DRfClhYHE+m
	fe7eiYlhwcPjrJ1FVXz3mmsLm54iEDC1nLRO78VuyVfuUD4AxdeUXTTDhTX5iqC0wrjb
	vYESeax7Tv3K7qdoWOQJdEqHPOltcyoshZk8Lsg6ETdjYqnEdJZpDRBNqUL6ajC9C+3q
	WSa/Fn+KxLrjvUv61yutZX+EoEsZwrhoGx49R25YrMnVQWjk9Wgwv5eunLgJiqs8EUCO
	7WpYfG6/ThFzW/ocasVPyNwnMVEdoiw1nqsBFSH3PfUJHjPBKbm6yMrgnxQ9jKaarPRK
	4urA==
Received: by 10.68.190.137 with SMTP id gq9mr4457729pbc.34.1337691886443; Tue,
	22 May 2012 06:04:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Tue, 22 May 2012 06:04:17 -0700 (PDT)
From: William Dauchy <wdauchy@gmail.com>
Date: Tue, 22 May 2012 15:04:17 +0200
Message-ID: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

I'm getting a call trace when booting a dom0 v3.3.7 (x86_32) under xen 4.1.2.
It is about multicalls.c:129. I tried with MC_DEBUG = 1 but it appears
that b->mcidx = 1 when getting this call trace.
Does anybody have any clue?


WARNING: at /arch/x86/xen/multicalls.c:129 xen_mc_flush+0x12a/0x140()
Hardware name: C6100
Modules linked in:
Pid: 0, comm: swapper Not tainted 3.3.7-i386 #125
Call Trace:
 [<c102f34d>] warn_slowpath_common+0x6d/0xa0
 [<c100384a>] ? xen_mc_flush+0x12a/0x140
 [<c100384a>] ? xen_mc_flush+0x12a/0x140
 [<c102f39d>] warn_slowpath_null+0x1d/0x20
 [<c100384a>] xen_mc_flush+0x12a/0x140
 [<c1006035>] xen_set_pmd_hyper+0x75/0x80
 [<c102c4ee>] set_pmd_pfn+0x9e/0xf0
 [<c14e68c7>] init_alloc_remap+0x1c3/0x237
 [<c14e6315>] x86_numa_init+0x378/0x691
 [<c1004af6>] ? xen_set_fixmap+0xa6/0x160
 [<c14e6639>] initmem_init+0xb/0xd6
 [<c14dea61>] ? early_acpi_boot_init+0x6e/0xbe
 [<c14dede0>] ? acpi_boot_table_init+0x36/0x7d
 [<c14d7796>] setup_arch+0xb30/0xbe7
 [<c14d1566>] start_kernel+0x76/0x2ef
 [<c14d10ba>] i386_start_kernel+0xa9/0xb0
 [<c14d4a66>] xen_start_kernel+0x546/0x54e


Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:06:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWomp-0007Tf-Lk; Tue, 22 May 2012 13:06:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SWomo-0007TS-7j
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:06:02 +0000
Received: from [85.158.143.35:33685] by server-3.bemta-4.messagelabs.com id
	0F/1D-05853-83F8BBF4; Tue, 22 May 2012 13:06:00 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337691957!13502400!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29237 invoked from network); 22 May 2012 13:05:59 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:05:59 -0000
Received: by qadb33 with SMTP id b33so2482972qad.9
	for <xen-devel@lists.xensource.com>;
	Tue, 22 May 2012 06:05:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=YSJmqii8Jlv8YilGABWEWCXWwBlyLyoQwoJbV/YQ3lU=;
	b=OEUpbN/WlnRBcH0l6RHiKkFJKL9rND3blvpYha8LBaBR3upnesv/QhtfUuwiayWOTv
	8BxBH8dwMt7i3x+zkJTvNHjv9NvtA6VesRwASq4OomIEcoBeAVx2GlPJVq6Gx2JBhFBX
	uUWE5jLqeU14EFouD/bx+zzj+3yAM9uC9sj86mU82IXpYTKdLAqR6Mpi6623cBHFGJcB
	0t8I3IGp9ZfSQejkRymZRPZU15mXhBaKL9YOly3x0BUvE7ucevjzZ8Zae6kLFAX9GZ5S
	2PWQ0rQnzsjQYqlk0hWR9Q7/5mRe1tQKQq6ikeDlRp2sikq/LAG66sj5PcrGfij5Grr7
	6y5g==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr45347629qab.1.1337691957055; Tue,
	22 May 2012 06:05:57 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 22 May 2012 06:05:57 -0700 (PDT)
In-Reply-To: <4FBB8D92.8050800@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:05:57 +0100
X-Google-Sender-Auth: 3KCIdmKzt5JSudT9t0eThFiPJio
Message-ID: <CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 1:58 PM, Juergen Gross
<juergen.gross@ts.fujitsu.com> wrote:
>>> When setting the parameters from the config file we have no domain yet
>>> which
>>> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
>>> parse part of the config only after domain creation.
>>
>> That seems like another problem with doing this up front instead of
>> doing read-modify-write when we come to set the values for the domain.
>
>
> Do you think it would be okay to parse the scheduler config data _after_
> domain creation? If yes, the read-modify-write approach is simple and always
> correct. If no, you will have to initialize the parameters to something
> scheduler specific, and not domain specific.
>
>
>>> A default should be okay, as this is what we want to modify. :-)
>>> The scheduler should initialize a new domain with this default, of
>>> course.
>>
>> So I can't use this interface to change the current one of the current
>> settings for running a domain, while leaving the others at their current
>> value?
>
>
> I don't understand this sentence :-) ...

I think he means this:  Suppose after the domain is created, you want
to set the weight.  With the proposed interface, you have to manually
read the values and change them yourself.  With an interface that
allows -1 to be default, libxl can do that for you (making programming
easier).

>
>
>> Which interface can I use for that and why isn't it the same as this
>> one?
>
>
> ... making it hard to answer to this one. :-)
> Nevertheless trying: you can change the scheduling parameters of a running
> domain with xl sched-credit/sched-sedf/...

I think Ian has convinced me that just using -1 for default values
would be the best option:
* It doesn't require a new special 'what are the defaults" hypercall
* The same interface can be used to set only a subset of the options
(leaving the other ones alone) *after* the domain is created.

Thanks for doing the work to code it up, though Juergen.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:06:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWomp-0007Tf-Lk; Tue, 22 May 2012 13:06:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SWomo-0007TS-7j
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:06:02 +0000
Received: from [85.158.143.35:33685] by server-3.bemta-4.messagelabs.com id
	0F/1D-05853-83F8BBF4; Tue, 22 May 2012 13:06:00 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337691957!13502400!1
X-Originating-IP: [209.85.216.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29237 invoked from network); 22 May 2012 13:05:59 -0000
Received: from mail-qa0-f43.google.com (HELO mail-qa0-f43.google.com)
	(209.85.216.43)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:05:59 -0000
Received: by qadb33 with SMTP id b33so2482972qad.9
	for <xen-devel@lists.xensource.com>;
	Tue, 22 May 2012 06:05:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=YSJmqii8Jlv8YilGABWEWCXWwBlyLyoQwoJbV/YQ3lU=;
	b=OEUpbN/WlnRBcH0l6RHiKkFJKL9rND3blvpYha8LBaBR3upnesv/QhtfUuwiayWOTv
	8BxBH8dwMt7i3x+zkJTvNHjv9NvtA6VesRwASq4OomIEcoBeAVx2GlPJVq6Gx2JBhFBX
	uUWE5jLqeU14EFouD/bx+zzj+3yAM9uC9sj86mU82IXpYTKdLAqR6Mpi6623cBHFGJcB
	0t8I3IGp9ZfSQejkRymZRPZU15mXhBaKL9YOly3x0BUvE7ucevjzZ8Zae6kLFAX9GZ5S
	2PWQ0rQnzsjQYqlk0hWR9Q7/5mRe1tQKQq6ikeDlRp2sikq/LAG66sj5PcrGfij5Grr7
	6y5g==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr45347629qab.1.1337691957055; Tue,
	22 May 2012 06:05:57 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Tue, 22 May 2012 06:05:57 -0700 (PDT)
In-Reply-To: <4FBB8D92.8050800@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
Date: Tue, 22 May 2012 14:05:57 +0100
X-Google-Sender-Auth: 3KCIdmKzt5JSudT9t0eThFiPJio
Message-ID: <CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 1:58 PM, Juergen Gross
<juergen.gross@ts.fujitsu.com> wrote:
>>> When setting the parameters from the config file we have no domain yet
>>> which
>>> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
>>> parse part of the config only after domain creation.
>>
>> That seems like another problem with doing this up front instead of
>> doing read-modify-write when we come to set the values for the domain.
>
>
> Do you think it would be okay to parse the scheduler config data _after_
> domain creation? If yes, the read-modify-write approach is simple and always
> correct. If no, you will have to initialize the parameters to something
> scheduler specific, and not domain specific.
>
>
>>> A default should be okay, as this is what we want to modify. :-)
>>> The scheduler should initialize a new domain with this default, of
>>> course.
>>
>> So I can't use this interface to change the current one of the current
>> settings for running a domain, while leaving the others at their current
>> value?
>
>
> I don't understand this sentence :-) ...

I think he means this:  Suppose after the domain is created, you want
to set the weight.  With the proposed interface, you have to manually
read the values and change them yourself.  With an interface that
allows -1 to be default, libxl can do that for you (making programming
easier).

>
>
>> Which interface can I use for that and why isn't it the same as this
>> one?
>
>
> ... making it hard to answer to this one. :-)
> Nevertheless trying: you can change the scheduling parameters of a running
> domain with xl sched-credit/sched-sedf/...

I think Ian has convinced me that just using -1 for default values
would be the best option:
* It doesn't require a new special 'what are the defaults" hypercall
* The same interface can be used to set only a subset of the options
(leaving the other ones alone) *after* the domain is created.

Thanks for doing the work to code it up, though Juergen.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:06:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:06:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWomu-0007UH-3F; Tue, 22 May 2012 13:06:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@mimuw.edu.pl>) id 1SWoms-0007U0-VU
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:06:07 +0000
Received: from [85.158.143.99:63384] by server-1.bemta-4.messagelabs.com id
	A7/C7-00342-E3F8BBF4; Tue, 22 May 2012 13:06:06 +0000
X-Env-Sender: marmarek@mimuw.edu.pl
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337691961!28327231!1
X-Originating-IP: [193.0.96.6]
X-SpamReason: No, hits=0.4 required=7.0 tests=DATE_IN_PAST_48_96
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28045 invoked from network); 22 May 2012 13:06:02 -0000
Received: from mail.mimuw.edu.pl (HELO mail.mimuw.edu.pl) (193.0.96.6)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 13:06:02 -0000
Received: from localhost (localhost [127.0.0.1] ident=amavis)
	by duch.mimuw.edu.pl (Postfix) with ESMTP id AFEBB6CD;
	Tue, 22 May 2012 15:05:59 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
Received: by duch.mimuw.edu.pl (Postfix, from userid 1575)
	id D828E6C7; Tue, 22 May 2012 15:05:58 +0200 (CEST)
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200
Organization: Invisible Things Lab
To: xen-devel@lists.xen.org
Message-Id: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, netdev@vger.kernel.org,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org
Subject: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Netfront driver can be also useful in dom0, eg when all NICs are assigned to
some domU (aka driver domain). Then using netback in domU and netfront in dom0
is the only way to get network access in dom0.

Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
---
 drivers/net/xen-netfront.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 698b905..e31ebff 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1953,9 +1953,6 @@ static int __init netif_init(void)
 	if (!xen_domain())
 		return -ENODEV;
 
-	if (xen_initial_domain())
-		return 0;
-
 	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
 
 	return xenbus_register_frontend(&netfront_driver);
@@ -1965,9 +1962,6 @@ module_init(netif_init);
 
 static void __exit netif_exit(void)
 {
-	if (xen_initial_domain())
-		return;
-
 	xenbus_unregister_driver(&netfront_driver);
 }
 module_exit(netif_exit);
-- 
1.7.4.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:06:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:06:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWomu-0007UH-3F; Tue, 22 May 2012 13:06:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@mimuw.edu.pl>) id 1SWoms-0007U0-VU
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:06:07 +0000
Received: from [85.158.143.99:63384] by server-1.bemta-4.messagelabs.com id
	A7/C7-00342-E3F8BBF4; Tue, 22 May 2012 13:06:06 +0000
X-Env-Sender: marmarek@mimuw.edu.pl
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337691961!28327231!1
X-Originating-IP: [193.0.96.6]
X-SpamReason: No, hits=0.4 required=7.0 tests=DATE_IN_PAST_48_96
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28045 invoked from network); 22 May 2012 13:06:02 -0000
Received: from mail.mimuw.edu.pl (HELO mail.mimuw.edu.pl) (193.0.96.6)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 13:06:02 -0000
Received: from localhost (localhost [127.0.0.1] ident=amavis)
	by duch.mimuw.edu.pl (Postfix) with ESMTP id AFEBB6CD;
	Tue, 22 May 2012 15:05:59 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
Received: by duch.mimuw.edu.pl (Postfix, from userid 1575)
	id D828E6C7; Tue, 22 May 2012 15:05:58 +0200 (CEST)
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200
Organization: Invisible Things Lab
To: xen-devel@lists.xen.org
Message-Id: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, netdev@vger.kernel.org,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org
Subject: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Netfront driver can be also useful in dom0, eg when all NICs are assigned to
some domU (aka driver domain). Then using netback in domU and netfront in dom0
is the only way to get network access in dom0.

Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
---
 drivers/net/xen-netfront.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 698b905..e31ebff 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1953,9 +1953,6 @@ static int __init netif_init(void)
 	if (!xen_domain())
 		return -ENODEV;
 
-	if (xen_initial_domain())
-		return 0;
-
 	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
 
 	return xenbus_register_frontend(&netfront_driver);
@@ -1965,9 +1962,6 @@ module_init(netif_init);
 
 static void __exit netif_exit(void)
 {
-	if (xen_initial_domain())
-		return;
-
 	xenbus_unregister_driver(&netfront_driver);
 }
 module_exit(netif_exit);
-- 
1.7.4.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:17:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoy0-0007st-17; Tue, 22 May 2012 13:17:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWoxx-0007so-Nn
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:17:34 +0000
Received: from [85.158.143.35:49458] by server-1.bemta-4.messagelabs.com id
	E0/43-00342-DE19BBF4; Tue, 22 May 2012 13:17:33 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337692651!5359306!1
X-Originating-IP: [216.32.180.30]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4093 invoked from network); 22 May 2012 13:17:32 -0000
Received: from va3ehsobe010.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.30)
	by server-9.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 13:17:32 -0000
Received: from mail93-va3-R.bigfish.com (10.7.14.239) by
	VA3EHSOBE003.bigfish.com (10.7.40.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:17:17 +0000
Received: from mail93-va3 (localhost [127.0.0.1])	by mail93-va3-R.bigfish.com
	(Postfix) with ESMTP id 25C58100448;
	Tue, 22 May 2012 13:17:17 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-FB-SS: 0,
Received: from mail93-va3 (localhost.localdomain [127.0.0.1]) by mail93-va3
	(MessageSwitch) id 133769261831714_31109;
	Tue, 22 May 2012 13:16:58 +0000 (UTC)
Received: from VA3EHSMHS026.bigfish.com (unknown [10.7.14.253])	by
	mail93-va3.bigfish.com (Postfix) with ESMTP id 04B0016004E;
	Tue, 22 May 2012 13:16:58 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS026.bigfish.com (10.7.99.36) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:16:56 +0000
X-WSS-ID: 0M4FE8E-02-AV5-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 20639C80AB;	Tue, 22 May 2012 08:17:02 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 08:17:15 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 22 May 2012 08:17:06 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	09:17:02 -0400
Message-ID: <4FBB91E9.1040100@amd.com>
Date: Tue, 22 May 2012 15:17:29 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337691225.10118.114.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 14:53, Ian Campbell wrote:

> On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
>> On 05/21/12 17:57, Ian Campbell wrote:
>>
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=unknown
>>>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>>>> vdev=hda, using backend phy
>>>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>>>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019bd04
>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>   ENTRY ADDRESS: 0000000000100000
>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>   4KB PAGES: 0x0000000000000200
>>>>   2MB PAGES: 0x00000000000003fb
>>>>   1GB PAGES: 0x0000000000000002
>>>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>>>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>>>> of range, valid values are within range from 1 to 65535
>>>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>>>> libxl_sched_credit_domain_set failed -6
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=phy
>>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>>> dompath for 7: Bad file descriptor
>>>
>>> This is back to the original issue, I think the last couple of mails
>>> have been something of a tangent since you weren't getting as far as
>>> this failure.
>>>
>>> I'm not really sure what to suggest here -- something is either closing
>>> the fd or scribbling over the memory which contains it.
>>>
>>> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
>>> between libxl__sched_set_params and libxl__device_disk_set_backend and
>>> see where it starts failing -- that's going to be pretty tedious though.
>>
>>
>> It starts failing in libxl__build_post() right after
>> xs_introduce_domain().
> 
> What method did you use to determine that?


What you said:

"sprinkle calls to libxl__xs_get_dompath() around between
libxl__sched_set_params and libxl__device_disk_set_backend and
see where it starts failing"

 
> So at the xs_transaction_end right before that ctx->xsh is valid, but
> right after...
>         xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
> ...it is invalid? i.e. before the free(vmpath) it is already corrupt?


Yes, you got it.

> 
> (Aside: why isn't vmpath in the gc, instead of done manually,
> nevermind...)
> 
> Does the xs_introduce_domain itself succeed?


No, it fails.

> Or do you mean that the next use of xsh after this fails

> (where is that, somewhere back up the callchain? store_libxl_entry
> perhaps?)

> 
> xs_introduce_domain doesn't seem to do much which is untoward with the
> handle.

I think, in xs_talkv() something must fail.

> The only thing which springs to mind is that it may generate an
> @IntroduceDomain watch event. However xl is single threaded so we won't
> process that event until we unwind to whichever point we do an event
> loop iteration, in which case the corruption would have to happen later
> than right after xs_introduce_domain().
> 
> Did you manage to determine if "Bad file descriptor" was due to it being
> closed vs. the value being corrupted?


I'm looking into it. I suspicion is that

  if (msg.type != type)

in xs_talkv() is true.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:17:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoy0-0007st-17; Tue, 22 May 2012 13:17:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWoxx-0007so-Nn
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:17:34 +0000
Received: from [85.158.143.35:49458] by server-1.bemta-4.messagelabs.com id
	E0/43-00342-DE19BBF4; Tue, 22 May 2012 13:17:33 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337692651!5359306!1
X-Originating-IP: [216.32.180.30]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4093 invoked from network); 22 May 2012 13:17:32 -0000
Received: from va3ehsobe010.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.30)
	by server-9.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 13:17:32 -0000
Received: from mail93-va3-R.bigfish.com (10.7.14.239) by
	VA3EHSOBE003.bigfish.com (10.7.40.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:17:17 +0000
Received: from mail93-va3 (localhost [127.0.0.1])	by mail93-va3-R.bigfish.com
	(Postfix) with ESMTP id 25C58100448;
	Tue, 22 May 2012 13:17:17 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-FB-SS: 0,
Received: from mail93-va3 (localhost.localdomain [127.0.0.1]) by mail93-va3
	(MessageSwitch) id 133769261831714_31109;
	Tue, 22 May 2012 13:16:58 +0000 (UTC)
Received: from VA3EHSMHS026.bigfish.com (unknown [10.7.14.253])	by
	mail93-va3.bigfish.com (Postfix) with ESMTP id 04B0016004E;
	Tue, 22 May 2012 13:16:58 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS026.bigfish.com (10.7.99.36) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:16:56 +0000
X-WSS-ID: 0M4FE8E-02-AV5-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 20639C80AB;	Tue, 22 May 2012 08:17:02 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 08:17:15 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 22 May 2012 08:17:06 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	09:17:02 -0400
Message-ID: <4FBB91E9.1040100@amd.com>
Date: Tue, 22 May 2012 15:17:29 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337691225.10118.114.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 14:53, Ian Campbell wrote:

> On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
>> On 05/21/12 17:57, Ian Campbell wrote:
>>
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=unknown
>>>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>>>> vdev=hda, using backend phy
>>>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>>>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019bd04
>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>   ENTRY ADDRESS: 0000000000100000
>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>   4KB PAGES: 0x0000000000000200
>>>>   2MB PAGES: 0x00000000000003fb
>>>>   1GB PAGES: 0x0000000000000002
>>>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>>>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>>>> of range, valid values are within range from 1 to 65535
>>>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>>>> libxl_sched_credit_domain_set failed -6
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=phy
>>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>>> dompath for 7: Bad file descriptor
>>>
>>> This is back to the original issue, I think the last couple of mails
>>> have been something of a tangent since you weren't getting as far as
>>> this failure.
>>>
>>> I'm not really sure what to suggest here -- something is either closing
>>> the fd or scribbling over the memory which contains it.
>>>
>>> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
>>> between libxl__sched_set_params and libxl__device_disk_set_backend and
>>> see where it starts failing -- that's going to be pretty tedious though.
>>
>>
>> It starts failing in libxl__build_post() right after
>> xs_introduce_domain().
> 
> What method did you use to determine that?


What you said:

"sprinkle calls to libxl__xs_get_dompath() around between
libxl__sched_set_params and libxl__device_disk_set_backend and
see where it starts failing"

 
> So at the xs_transaction_end right before that ctx->xsh is valid, but
> right after...
>         xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
> ...it is invalid? i.e. before the free(vmpath) it is already corrupt?


Yes, you got it.

> 
> (Aside: why isn't vmpath in the gc, instead of done manually,
> nevermind...)
> 
> Does the xs_introduce_domain itself succeed?


No, it fails.

> Or do you mean that the next use of xsh after this fails

> (where is that, somewhere back up the callchain? store_libxl_entry
> perhaps?)

> 
> xs_introduce_domain doesn't seem to do much which is untoward with the
> handle.

I think, in xs_talkv() something must fail.

> The only thing which springs to mind is that it may generate an
> @IntroduceDomain watch event. However xl is single threaded so we won't
> process that event until we unwind to whichever point we do an event
> loop iteration, in which case the corruption would have to happen later
> than right after xs_introduce_domain().
> 
> Did you manage to determine if "Bad file descriptor" was due to it being
> closed vs. the value being corrupted?


I'm looking into it. I suspicion is that

  if (msg.type != type)

in xs_talkv() is true.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:17:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:17:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoy5-0007tK-DU; Tue, 22 May 2012 13:17:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoy4-0007t9-6X
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:17:40 +0000
Received: from [193.109.254.147:6071] by server-8.bemta-14.messagelabs.com id
	33/88-23244-3F19BBF4; Tue, 22 May 2012 13:17:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337692657!10603489!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28654 invoked from network); 22 May 2012 13:17:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12604496"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:16:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:16:37 +0100
Message-ID: <1337692595.10118.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Tue, 22 May 2012 14:16:35 +0100
In-Reply-To: <CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:05 +0100, George Dunlap wrote:
> On Tue, May 22, 2012 at 1:58 PM, Juergen Gross
> <juergen.gross@ts.fujitsu.com> wrote:
> >>> When setting the parameters from the config file we have no domain yet
> >>> which
> >>> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
> >>> parse part of the config only after domain creation.
> >>
> >> That seems like another problem with doing this up front instead of
> >> doing read-modify-write when we come to set the values for the domain.
> >
> >
> > Do you think it would be okay to parse the scheduler config data _after_
> > domain creation?

No, I don't think there's any sensible way to make this work at the
libxl interface, you'd need to call back out to xl half way through
domain build to ask it to parse the sched params for you.

>  If yes, the read-modify-write approach is simple and always
> > correct. If no, you will have to initialize the parameters to something
> > scheduler specific, and not domain specific.
> >
> >
> >>> A default should be okay, as this is what we want to modify. :-)
> >>> The scheduler should initialize a new domain with this default, of
> >>> course.
> >>
> >> So I can't use this interface to change the current one of the current
> >> settings for running a domain, while leaving the others at their current
> >> value?
> >
> >
> > I don't understand this sentence :-) ...
> 
> I think he means this:  Suppose after the domain is created, you want
> to set the weight.  With the proposed interface, you have to manually
> read the values and change them yourself.  With an interface that
> allows -1 to be default, libxl can do that for you (making programming
> easier).

Right. And furthermore with this patch the interface for setting the
initial values is different to the one for updating them, since this
patch gets you the defaults which you change.

> 
> >
> >
> >> Which interface can I use for that and why isn't it the same as this
> >> one?
> >
> >
> > ... making it hard to answer to this one. :-)
> > Nevertheless trying: you can change the scheduling parameters of a running
> > domain with xl sched-credit/sched-sedf/...

Right, my question above was -- why I can't I use the same libxl
interface as these commands at build time (perhaps internally inside
libxl)

> I think Ian has convinced me that just using -1 for default values
> would be the best option:
> * It doesn't require a new special 'what are the defaults" hypercall
> * The same interface can be used to set only a subset of the options
> (leaving the other ones alone) *after* the domain is created.
> 
> Thanks for doing the work to code it up, though Juergen.
> 
>  -George



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:17:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:17:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWoy5-0007tK-DU; Tue, 22 May 2012 13:17:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWoy4-0007t9-6X
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:17:40 +0000
Received: from [193.109.254.147:6071] by server-8.bemta-14.messagelabs.com id
	33/88-23244-3F19BBF4; Tue, 22 May 2012 13:17:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337692657!10603489!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28654 invoked from network); 22 May 2012 13:17:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12604496"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:16:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:16:37 +0100
Message-ID: <1337692595.10118.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Tue, 22 May 2012 14:16:35 +0100
In-Reply-To: <CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:05 +0100, George Dunlap wrote:
> On Tue, May 22, 2012 at 1:58 PM, Juergen Gross
> <juergen.gross@ts.fujitsu.com> wrote:
> >>> When setting the parameters from the config file we have no domain yet
> >>> which
> >>> we would have to specify for XEN_DOMCTL_SCHEDOP_getinfo. I didn't want to
> >>> parse part of the config only after domain creation.
> >>
> >> That seems like another problem with doing this up front instead of
> >> doing read-modify-write when we come to set the values for the domain.
> >
> >
> > Do you think it would be okay to parse the scheduler config data _after_
> > domain creation?

No, I don't think there's any sensible way to make this work at the
libxl interface, you'd need to call back out to xl half way through
domain build to ask it to parse the sched params for you.

>  If yes, the read-modify-write approach is simple and always
> > correct. If no, you will have to initialize the parameters to something
> > scheduler specific, and not domain specific.
> >
> >
> >>> A default should be okay, as this is what we want to modify. :-)
> >>> The scheduler should initialize a new domain with this default, of
> >>> course.
> >>
> >> So I can't use this interface to change the current one of the current
> >> settings for running a domain, while leaving the others at their current
> >> value?
> >
> >
> > I don't understand this sentence :-) ...
> 
> I think he means this:  Suppose after the domain is created, you want
> to set the weight.  With the proposed interface, you have to manually
> read the values and change them yourself.  With an interface that
> allows -1 to be default, libxl can do that for you (making programming
> easier).

Right. And furthermore with this patch the interface for setting the
initial values is different to the one for updating them, since this
patch gets you the defaults which you change.

> 
> >
> >
> >> Which interface can I use for that and why isn't it the same as this
> >> one?
> >
> >
> > ... making it hard to answer to this one. :-)
> > Nevertheless trying: you can change the scheduling parameters of a running
> > domain with xl sched-credit/sched-sedf/...

Right, my question above was -- why I can't I use the same libxl
interface as these commands at build time (perhaps internally inside
libxl)

> I think Ian has convinced me that just using -1 for default values
> would be the best option:
> * It doesn't require a new special 'what are the defaults" hypercall
> * The same interface can be used to set only a subset of the options
> (leaving the other ones alone) *after* the domain is created.
> 
> Thanks for doing the work to code it up, though Juergen.
> 
>  -George



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:19:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:19:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWp04-00086e-1q; Tue, 22 May 2012 13:19:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWp02-00086S-QJ
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:19:43 +0000
Received: from [85.158.143.99:45004] by server-3.bemta-4.messagelabs.com id
	BB/5F-05853-E629BBF4; Tue, 22 May 2012 13:19:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337692780!28672305!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21446 invoked from network); 22 May 2012 13:19:41 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:19:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12604584"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:19:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:19:40 +0100
Message-ID: <1337692779.10118.126.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Tue, 22 May 2012 14:19:39 +0100
In-Reply-To: <CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:16 +0100, Teck Choon Giam wrote:

> vif5.0-emu Link encap:Ethernet  HWaddr 1A:58:5C:16:5C:02
>           inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:500
>           RX bytes:0 (0.0 b)  TX bytes:280 (280.0 b)

The fact that this interface is up at this point is interesting, didn't
you mention something about this at another time?

In the tap dev case I made the rename into:
            do_or_die ifconfig "$dev" down
            do_or_die ip link set "$dev" name "$vifname"
        
which seemed to workaround the issue for me.

I think the reason this effects xm and not xl is that libxl uses
script=none to disable qemu-ifup while xend does not and instead ends up
using qemu-ifup which does some fiddling with the device too, including
bringing it up.

The proper fix is probably to change xend, I'm a bit wary of this,
especially for a 4.1 backport, but the following looks right and works
for me. It's a bit more complex since in libxl we seem to only do this
for Linux (i.e. not NetBSD) and I guess we should do the same in xend
too.

Ian

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337692747 -3600
# Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
# Parent  72ca5bc4eb6b91fa8dff51d439bd05f5586179df
xend: do not run a hotplug script from qemu on Linux

The current vif-hotplug-common.sh for renaming the tap device is failing
because it is racing with this script and therefore the device is unexpectedly
up when we come to rename it.

Fix this in the same way as libxl does, by disabling the script (only on
Linux).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py	Tue May 22 11:29:50 2012 +0100
+++ b/tools/python/xen/xend/image.py	Tue May 22 14:19:07 2012 +0100
@@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
                        (nics, mac, model))
             vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
             ret.append("-net")
-            ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
-                       (nics, vifname, bridge))
+            if osdep.tapif_script is not None:
+                script=",script=%s,downscript=%s" % \
+                        (osdep.tapif_script, osdep.tapif_script)
+            else:
+                script=""
+            ret.append("tap,vlan=%d,ifname=%s,bridge=%s%s" %
+                       (nics, vifname, bridge, script))
 
         if nics == 0:
             ret.append("-net")
diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
--- a/tools/python/xen/xend/osdep.py	Tue May 22 11:29:50 2012 +0100
+++ b/tools/python/xen/xend/osdep.py	Tue May 22 14:19:07 2012 +0100
@@ -30,6 +30,10 @@ _vif_script = {
     "SunOS": "vif-vnic"
 }
 
+_tapif_script = {
+    "Linux": "no",
+}
+
 PROC_XEN_BALLOON = '/proc/xen/balloon'
 SYSFS_XEN_MEMORY = '/sys/devices/system/xen_memory/xen_memory0'
 
@@ -257,6 +261,7 @@ def _get(var, default=None):
 
 xend_autorestart = _get(_xend_autorestart)
 vif_script = _get(_vif_script, "vif-bridge")
+tapif_script = _get(_tapif_script)
 lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat)
 get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo)
 prefork = _get(_get_prefork, _default_prefork)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:19:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:19:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWp04-00086e-1q; Tue, 22 May 2012 13:19:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWp02-00086S-QJ
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:19:43 +0000
Received: from [85.158.143.99:45004] by server-3.bemta-4.messagelabs.com id
	BB/5F-05853-E629BBF4; Tue, 22 May 2012 13:19:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337692780!28672305!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21446 invoked from network); 22 May 2012 13:19:41 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:19:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12604584"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:19:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:19:40 +0100
Message-ID: <1337692779.10118.126.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Tue, 22 May 2012 14:19:39 +0100
In-Reply-To: <CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-21 at 14:16 +0100, Teck Choon Giam wrote:

> vif5.0-emu Link encap:Ethernet  HWaddr 1A:58:5C:16:5C:02
>           inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:500
>           RX bytes:0 (0.0 b)  TX bytes:280 (280.0 b)

The fact that this interface is up at this point is interesting, didn't
you mention something about this at another time?

In the tap dev case I made the rename into:
            do_or_die ifconfig "$dev" down
            do_or_die ip link set "$dev" name "$vifname"
        
which seemed to workaround the issue for me.

I think the reason this effects xm and not xl is that libxl uses
script=none to disable qemu-ifup while xend does not and instead ends up
using qemu-ifup which does some fiddling with the device too, including
bringing it up.

The proper fix is probably to change xend, I'm a bit wary of this,
especially for a 4.1 backport, but the following looks right and works
for me. It's a bit more complex since in libxl we seem to only do this
for Linux (i.e. not NetBSD) and I guess we should do the same in xend
too.

Ian

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337692747 -3600
# Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
# Parent  72ca5bc4eb6b91fa8dff51d439bd05f5586179df
xend: do not run a hotplug script from qemu on Linux

The current vif-hotplug-common.sh for renaming the tap device is failing
because it is racing with this script and therefore the device is unexpectedly
up when we come to rename it.

Fix this in the same way as libxl does, by disabling the script (only on
Linux).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py	Tue May 22 11:29:50 2012 +0100
+++ b/tools/python/xen/xend/image.py	Tue May 22 14:19:07 2012 +0100
@@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
                        (nics, mac, model))
             vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
             ret.append("-net")
-            ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
-                       (nics, vifname, bridge))
+            if osdep.tapif_script is not None:
+                script=",script=%s,downscript=%s" % \
+                        (osdep.tapif_script, osdep.tapif_script)
+            else:
+                script=""
+            ret.append("tap,vlan=%d,ifname=%s,bridge=%s%s" %
+                       (nics, vifname, bridge, script))
 
         if nics == 0:
             ret.append("-net")
diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
--- a/tools/python/xen/xend/osdep.py	Tue May 22 11:29:50 2012 +0100
+++ b/tools/python/xen/xend/osdep.py	Tue May 22 14:19:07 2012 +0100
@@ -30,6 +30,10 @@ _vif_script = {
     "SunOS": "vif-vnic"
 }
 
+_tapif_script = {
+    "Linux": "no",
+}
+
 PROC_XEN_BALLOON = '/proc/xen/balloon'
 SYSFS_XEN_MEMORY = '/sys/devices/system/xen_memory/xen_memory0'
 
@@ -257,6 +261,7 @@ def _get(var, default=None):
 
 xend_autorestart = _get(_xend_autorestart)
 vif_script = _get(_vif_script, "vif-bridge")
+tapif_script = _get(_tapif_script)
 lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat)
 get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo)
 prefork = _get(_get_prefork, _default_prefork)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:21:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWp1a-0008IP-IC; Tue, 22 May 2012 13:21:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWp1Y-0008Hv-Ql
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:21:17 +0000
Received: from [85.158.143.35:19569] by server-2.bemta-4.messagelabs.com id
	BB/7A-12211-CC29BBF4; Tue, 22 May 2012 13:21:16 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337692873!5756720!1
X-Originating-IP: [216.32.181.186]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14765 invoked from network); 22 May 2012 13:21:15 -0000
Received: from ch1ehsobe006.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.186)
	by server-2.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 13:21:15 -0000
Received: from mail99-ch1-R.bigfish.com (10.43.68.251) by
	CH1EHSOBE004.bigfish.com (10.43.70.54) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:20:59 +0000
Received: from mail99-ch1 (localhost [127.0.0.1])	by mail99-ch1-R.bigfish.com
	(Postfix) with ESMTP id 5D1A83601A2;
	Tue, 22 May 2012 13:20:59 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail99-ch1 (localhost.localdomain [127.0.0.1]) by mail99-ch1
	(MessageSwitch) id 1337692857576265_20308;
	Tue, 22 May 2012 13:20:57 +0000 (UTC)
Received: from CH1EHSMHS023.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.233])	by mail99-ch1.bigfish.com (Postfix) with ESMTP id
	882B6340099;	Tue, 22 May 2012 13:20:57 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS023.bigfish.com (10.43.70.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:20:54 +0000
X-WSS-ID: 0M4FEF4-02-B8F-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 28B9FC80A3;	Tue, 22 May 2012 08:21:03 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 08:21:16 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 08:21:07 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	09:21:06 -0400
Message-ID: <4FBB92DD.3060100@amd.com>
Date: Tue, 22 May 2012 15:21:33 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
In-Reply-To: <4FBB9228.70001@gmx.de>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 15:18, Christoph Egger wrote:

> On 05/22/12 14:53, Ian Campbell wrote:
> 
>> On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
>>> On 05/21/12 17:57, Ian Campbell wrote:
>>>
>>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>>> vdev=hda spec.backend=unknown
>>>>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>>>>> vdev=hda, using backend phy
>>>>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>>>>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>>   Loader:        0000000000100000->000000000019bd04
>>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>>   ENTRY ADDRESS: 0000000000100000
>>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>>   4KB PAGES: 0x0000000000000200
>>>>>   2MB PAGES: 0x00000000000003fb
>>>>>   1GB PAGES: 0x0000000000000002
>>>>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>>>>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>>>>> of range, valid values are within range from 1 to 65535
>>>>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>>>>> libxl_sched_credit_domain_set failed -6
>>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>>> vdev=hda spec.backend=phy
>>>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>>>> dompath for 7: Bad file descriptor
>>>>
>>>> This is back to the original issue, I think the last couple of mails
>>>> have been something of a tangent since you weren't getting as far as
>>>> this failure.
>>>>
>>>> I'm not really sure what to suggest here -- something is either closing
>>>> the fd or scribbling over the memory which contains it.
>>>>
>>>> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
>>>> between libxl__sched_set_params and libxl__device_disk_set_backend and
>>>> see where it starts failing -- that's going to be pretty tedious though.
>>>
>>>
>>> It starts failing in libxl__build_post() right after
>>> xs_introduce_domain().
>>
>> What method did you use to determine that?
> 
> 
> 
> 
> What you said:
> 
> "sprinkle calls to libxl__xs_get_dompath() around between
> libxl__sched_set_params and libxl__device_disk_set_backend and
> see where it starts failing"
> 
>  > So at the xs_transaction_end right before that ctx->xsh is valid, but
> 
>> right after...
>>         xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
>> ...it is invalid? i.e. before the free(vmpath) it is already corrupt?
> 
> 
> 
> 
> Yes, you got it.
> 
>>
>> (Aside: why isn't vmpath in the gc, instead of done manually,
>> nevermind...)
>>
>> Does the xs_introduce_domain itself succeed?
> 
> 
> 
> 
> No, it fails.
> 
>> Or do you mean that the next use of xsh after this fails
> 
>> (where is that, somewhere back up the callchain? store_libxl_entry
>> perhaps?)
> 
>>
>> xs_introduce_domain doesn't seem to do much which is untoward with the
>> handle.
> 
> 
> 
> I thinkIn xs_talkv() something must fail.
> 
>> The only thing which springs to mind is that it may generate an
>> @IntroduceDomain watch event. However xl is single threaded so we won't
>> process that event until we unwind to whichever point we do an event
>> loop iteration, in which case the corruption would have to happen later
>> than right after xs_introduce_domain().
>>
>> Did you manage to determine if "Bad file descriptor" was due to it being
>> closed vs. the value being corrupted?
> 
> My suspicion is that
> 
>    if (msg.type != type)
> 
> in xs_talkv() is true.
> 
> Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:21:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWp1a-0008IP-IC; Tue, 22 May 2012 13:21:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWp1Y-0008Hv-Ql
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:21:17 +0000
Received: from [85.158.143.35:19569] by server-2.bemta-4.messagelabs.com id
	BB/7A-12211-CC29BBF4; Tue, 22 May 2012 13:21:16 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337692873!5756720!1
X-Originating-IP: [216.32.181.186]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14765 invoked from network); 22 May 2012 13:21:15 -0000
Received: from ch1ehsobe006.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.186)
	by server-2.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 13:21:15 -0000
Received: from mail99-ch1-R.bigfish.com (10.43.68.251) by
	CH1EHSOBE004.bigfish.com (10.43.70.54) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:20:59 +0000
Received: from mail99-ch1 (localhost [127.0.0.1])	by mail99-ch1-R.bigfish.com
	(Postfix) with ESMTP id 5D1A83601A2;
	Tue, 22 May 2012 13:20:59 +0000 (UTC)
X-SpamScore: -16
X-BigFish: VPS-16(zzbb2dI936eK98bK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail99-ch1 (localhost.localdomain [127.0.0.1]) by mail99-ch1
	(MessageSwitch) id 1337692857576265_20308;
	Tue, 22 May 2012 13:20:57 +0000 (UTC)
Received: from CH1EHSMHS023.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.233])	by mail99-ch1.bigfish.com (Postfix) with ESMTP id
	882B6340099;	Tue, 22 May 2012 13:20:57 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS023.bigfish.com (10.43.70.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:20:54 +0000
X-WSS-ID: 0M4FEF4-02-B8F-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 28B9FC80A3;	Tue, 22 May 2012 08:21:03 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 08:21:16 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 08:21:07 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	09:21:06 -0400
Message-ID: <4FBB92DD.3060100@amd.com>
Date: Tue, 22 May 2012 15:21:33 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
In-Reply-To: <4FBB9228.70001@gmx.de>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 15:18, Christoph Egger wrote:

> On 05/22/12 14:53, Ian Campbell wrote:
> 
>> On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
>>> On 05/21/12 17:57, Ian Campbell wrote:
>>>
>>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>>> vdev=hda spec.backend=unknown
>>>>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>>>>> vdev=hda, using backend phy
>>>>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>>>>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>>   Loader:        0000000000100000->000000000019bd04
>>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>>   ENTRY ADDRESS: 0000000000100000
>>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>>   4KB PAGES: 0x0000000000000200
>>>>>   2MB PAGES: 0x00000000000003fb
>>>>>   1GB PAGES: 0x0000000000000002
>>>>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>>>>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>>>>> of range, valid values are within range from 1 to 65535
>>>>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>>>>> libxl_sched_credit_domain_set failed -6
>>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>>> vdev=hda spec.backend=phy
>>>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>>>> dompath for 7: Bad file descriptor
>>>>
>>>> This is back to the original issue, I think the last couple of mails
>>>> have been something of a tangent since you weren't getting as far as
>>>> this failure.
>>>>
>>>> I'm not really sure what to suggest here -- something is either closing
>>>> the fd or scribbling over the memory which contains it.
>>>>
>>>> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
>>>> between libxl__sched_set_params and libxl__device_disk_set_backend and
>>>> see where it starts failing -- that's going to be pretty tedious though.
>>>
>>>
>>> It starts failing in libxl__build_post() right after
>>> xs_introduce_domain().
>>
>> What method did you use to determine that?
> 
> 
> 
> 
> What you said:
> 
> "sprinkle calls to libxl__xs_get_dompath() around between
> libxl__sched_set_params and libxl__device_disk_set_backend and
> see where it starts failing"
> 
>  > So at the xs_transaction_end right before that ctx->xsh is valid, but
> 
>> right after...
>>         xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
>> ...it is invalid? i.e. before the free(vmpath) it is already corrupt?
> 
> 
> 
> 
> Yes, you got it.
> 
>>
>> (Aside: why isn't vmpath in the gc, instead of done manually,
>> nevermind...)
>>
>> Does the xs_introduce_domain itself succeed?
> 
> 
> 
> 
> No, it fails.
> 
>> Or do you mean that the next use of xsh after this fails
> 
>> (where is that, somewhere back up the callchain? store_libxl_entry
>> perhaps?)
> 
>>
>> xs_introduce_domain doesn't seem to do much which is untoward with the
>> handle.
> 
> 
> 
> I thinkIn xs_talkv() something must fail.
> 
>> The only thing which springs to mind is that it may generate an
>> @IntroduceDomain watch event. However xl is single threaded so we won't
>> process that event until we unwind to whichever point we do an event
>> loop iteration, in which case the corruption would have to happen later
>> than right after xs_introduce_domain().
>>
>> Did you manage to determine if "Bad file descriptor" was due to it being
>> closed vs. the value being corrupted?
> 
> My suspicion is that
> 
>    if (msg.type != type)
> 
> in xs_talkv() is true.
> 
> Christoph


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:22:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:22:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWp2A-0008Ov-6U; Tue, 22 May 2012 13:21:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWp29-0008OV-0b
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:21:53 +0000
Received: from [85.158.138.51:2540] by server-9.bemta-3.messagelabs.com id
	DD/41-26691-0F29BBF4; Tue, 22 May 2012 13:21:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337692910!28483612!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9620 invoked from network); 22 May 2012 13:21:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:21:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12604649"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:21:28 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:21:28 +0100
Message-ID: <1337692887.10118.127.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph_Egger@gmx.de>
Date: Tue, 22 May 2012 14:21:27 +0100
In-Reply-To: <4FBB9228.70001@gmx.de>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
> I thinkIn xs_talkv() something must fail.
> 
> > The only thing which springs to mind is that it may generate an
> > @IntroduceDomain watch event. However xl is single threaded so we won't
> > process that event until we unwind to whichever point we do an event
> > loop iteration, in which case the corruption would have to happen later
> > than right after xs_introduce_domain().
> > 
> > Did you manage to determine if "Bad file descriptor" was due to it being
> > closed vs. the value being corrupted?
> 
> My suspicion is that
> 
>    if (msg.type != type)
> 
> in xs_talkv() is true.
> 

Yes, that definitely seems worth investigating.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:22:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:22:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWp2A-0008Ov-6U; Tue, 22 May 2012 13:21:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWp29-0008OV-0b
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:21:53 +0000
Received: from [85.158.138.51:2540] by server-9.bemta-3.messagelabs.com id
	DD/41-26691-0F29BBF4; Tue, 22 May 2012 13:21:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337692910!28483612!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9620 invoked from network); 22 May 2012 13:21:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:21:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12604649"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:21:28 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:21:28 +0100
Message-ID: <1337692887.10118.127.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph_Egger@gmx.de>
Date: Tue, 22 May 2012 14:21:27 +0100
In-Reply-To: <4FBB9228.70001@gmx.de>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
> I thinkIn xs_talkv() something must fail.
> 
> > The only thing which springs to mind is that it may generate an
> > @IntroduceDomain watch event. However xl is single threaded so we won't
> > process that event until we unwind to whichever point we do an event
> > loop iteration, in which case the corruption would have to happen later
> > than right after xs_introduce_domain().
> > 
> > Did you manage to determine if "Bad file descriptor" was due to it being
> > closed vs. the value being corrupted?
> 
> My suspicion is that
> 
>    if (msg.type != type)
> 
> in xs_talkv() is true.
> 

Yes, that definitely seems worth investigating.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:41:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpKj-0000hn-MS; Tue, 22 May 2012 13:41:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWpKh-0000he-SP
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:41:03 +0000
Received: from [85.158.143.35:50434] by server-2.bemta-4.messagelabs.com id
	46/C5-12211-F679BBF4; Tue, 22 May 2012 13:41:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337694057!12693865!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9234 invoked from network); 22 May 2012 13:41:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:41:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12605183"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:40:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:40:57 +0100
Message-ID: <1337694056.10118.128.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Tue, 22 May 2012 14:40:56 +0100
In-Reply-To: <CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:05 +0100, George Dunlap wrote:
> 
> I think Ian has convinced me that just using -1 for default values
> would be the best option: 

Perhaps I should code up what I'm talking about for comparison. 

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:41:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpKj-0000hn-MS; Tue, 22 May 2012 13:41:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWpKh-0000he-SP
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:41:03 +0000
Received: from [85.158.143.35:50434] by server-2.bemta-4.messagelabs.com id
	46/C5-12211-F679BBF4; Tue, 22 May 2012 13:41:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337694057!12693865!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9234 invoked from network); 22 May 2012 13:41:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:41:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12605183"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:40:57 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 14:40:57 +0100
Message-ID: <1337694056.10118.128.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Tue, 22 May 2012 14:40:56 +0100
In-Reply-To: <CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:05 +0100, George Dunlap wrote:
> 
> I think Ian has convinced me that just using -1 for default values
> would be the best option: 

Perhaps I should code up what I'm talking about for comparison. 

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:49:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpSz-00010r-MD; Tue, 22 May 2012 13:49:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SWpSy-00010k-Ek
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:49:36 +0000
Received: from [193.109.254.147:57765] by server-10.bemta-14.messagelabs.com
	id A7/62-05847-F699BBF4; Tue, 22 May 2012 13:49:35 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337694571!3748313!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDI5NjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5072 invoked from network); 22 May 2012 13:49:32 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 13:49:32 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 38B6C2595;
	Tue, 22 May 2012 16:49:31 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 170662005D; Tue, 22 May 2012 16:49:31 +0300 (EEST)
Date: Tue, 22 May 2012 16:49:30 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: ????????? <devildavidwang@gmail.com>
Message-ID: <20120522134930.GT2058@reaktio.net>
References: <CAKMyoBUW4YsMwb-+3utPGOh_-3JjDJq_q_BUHgrANLenP+80Eg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAKMyoBUW4YsMwb-+3utPGOh_-3JjDJq_q_BUHgrANLenP+80Eg@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Need your help with blktap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 04:43:40PM +0800, ????????? wrote:
>    Hello,
> 

Hello,

>    I have a small problem with the blktap, that when I use "tap:aio" protocol
>    to access my disk, the domU stop booting with following message:
> 
>    [    0.185031] PCI: Fatal: No config space access function found
>    [    0.189998] Unable to read sysrq code in control/sysrq
>    [    0.350220] i8042: No controller found
>    [    0.452153]
>    /home/abuild/rpmbuild/BUILD/kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c:
>    unable to open rtc device (rtc0)
> 

Can you please post the full domU dmesg? Remove any "quiet" etc options.
I assume this is a PV domU ?


>    but when i switched to then "file" protocol the domU boot process would
>    succeed. Anyone knows how to solve this problem?
> 

Sounds like something is broken in your dom0 configuration.

>    =============================================
>    Additional info:
> 
>    I'm using openSUSE 12.1 x86_64
>    and i'v built the xen from source by myself,
>    the kernel i'm using is "kernel-xen"(3.1.10-1.9-xen) from official
>    repositories.

Does it work if you also use Xen from official repositories? 

What's in your dom0 kernel "dmesg"? How about in "xm log" or "xm dmesg" ?
Do you have blktap driver loaded in dom0 kernel? 

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:49:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpSz-00010r-MD; Tue, 22 May 2012 13:49:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SWpSy-00010k-Ek
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:49:36 +0000
Received: from [193.109.254.147:57765] by server-10.bemta-14.messagelabs.com
	id A7/62-05847-F699BBF4; Tue, 22 May 2012 13:49:35 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337694571!3748313!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDI5NjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5072 invoked from network); 22 May 2012 13:49:32 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 13:49:32 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 38B6C2595;
	Tue, 22 May 2012 16:49:31 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 170662005D; Tue, 22 May 2012 16:49:31 +0300 (EEST)
Date: Tue, 22 May 2012 16:49:30 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: ????????? <devildavidwang@gmail.com>
Message-ID: <20120522134930.GT2058@reaktio.net>
References: <CAKMyoBUW4YsMwb-+3utPGOh_-3JjDJq_q_BUHgrANLenP+80Eg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAKMyoBUW4YsMwb-+3utPGOh_-3JjDJq_q_BUHgrANLenP+80Eg@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Need your help with blktap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 04:43:40PM +0800, ????????? wrote:
>    Hello,
> 

Hello,

>    I have a small problem with the blktap, that when I use "tap:aio" protocol
>    to access my disk, the domU stop booting with following message:
> 
>    [    0.185031] PCI: Fatal: No config space access function found
>    [    0.189998] Unable to read sysrq code in control/sysrq
>    [    0.350220] i8042: No controller found
>    [    0.452153]
>    /home/abuild/rpmbuild/BUILD/kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c:
>    unable to open rtc device (rtc0)
> 

Can you please post the full domU dmesg? Remove any "quiet" etc options.
I assume this is a PV domU ?


>    but when i switched to then "file" protocol the domU boot process would
>    succeed. Anyone knows how to solve this problem?
> 

Sounds like something is broken in your dom0 configuration.

>    =============================================
>    Additional info:
> 
>    I'm using openSUSE 12.1 x86_64
>    and i'v built the xen from source by myself,
>    the kernel i'm using is "kernel-xen"(3.1.10-1.9-xen) from official
>    repositories.

Does it work if you also use Xen from official repositories? 

What's in your dom0 kernel "dmesg"? How about in "xm log" or "xm dmesg" ?
Do you have blktap driver loaded in dom0 kernel? 

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:50:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:50:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpT5-00011L-27; Tue, 22 May 2012 13:49:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpT3-000117-7j
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:49:41 +0000
Received: from [193.109.254.147:8390] by server-5.bemta-14.messagelabs.com id
	A9/4D-30733-4799BBF4; Tue, 22 May 2012 13:49:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337694578!10573833!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32201 invoked from network); 22 May 2012 13:49:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:49:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="196002556"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:49:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:49:38 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpSz-0003EU-Ix;
	Tue, 22 May 2012 14:49:37 +0100
Message-ID: <4FBB9976.9050605@citrix.com>
Date: Tue, 22 May 2012 14:49:42 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-10-git-send-email-roger.pau@citrix.com>
	<20406.31483.341852.193941@mariner.uk.xensource.com>
In-Reply-To: <20406.31483.341852.193941@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH 09/13] libxl: convert libxl_device_nic_add to an async operation"):
>> This patch converts libxl_device_nic_add to an ao operation that
>> waits for device backend to reach state XenbusStateInitWait and then
>> marks the operation as completed. This is not really useful now, but
>> will be used by latter patches that will launch hotplug scripts after
>> we reached the desired xenbus state.
>
> Why do you serialise vif and vbd initialisation ?  Would anything go
> wrong if you did them both at once ?

disk needs to be added before Qemu is launched, on the other hand nics 
need to be added after qemu is launched, so we need to add them at 
different moments during the domain creation, it's a PITA.

>> +    /* Plug nic interfaces */
>> +    if (!ret&&  d_config->num_vifs>  0) {
>> +        /* Attach nics */
>> +        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
>> +        dcs->num_devices = d_config->num_vifs;
>> +        for (i = 0; i<  d_config->num_vifs; i++) {
>> +            libxl__init_ao_device(&dcs->devices[i], ao,&dcs->devices);
>> +            dcs->devices[i].callback = domcreate_nics_connected;
>> +            libxl__device_nic_add(egc, domid,&d_config->vifs[i],
>> +&dcs->devices[i]);
>
> Ah this pattern again....
>
>> -int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
>> +void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
>> +                           libxl_device_nic *nic, libxl__ao_device *aorm)
>>   {
>> +    STATE_AO_GC(aorm->ao);
>>       flexarray_t *front;
>>       flexarray_t *back;
>> -    libxl__device device;
>> +    libxl__device *device;
>
> You might want to consider a pre-patch which changes this, and
> libxl__device_disk_add's, as follows:
>    -    libxl__device device;
>    +    libxl__device device[1];
>
> That would get rid of the noise from this patch.  Up to you, though;
> because it's separated out textually doesn't make the diff unreadable
> like it is.
>
>> @@ -845,9 +851,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
>>       }
>>
>>       for (i = 0; i<  dm_config->num_vifs; i++) {
>> -        ret = libxl_device_nic_add(ctx, dm_domid,&dm_config->vifs[i]);
>> -        if (ret)
>> -            goto out;
>> +        /* We have to init the nic here, because we still haven't
>> +         * called libxl_device_nic_add at this point, but qemu needs
>> +         * the nic information to be complete.
>> +         */
>> +        libxl__device_nic_setdefault(gc,&dm_config->vifs[i]);
>
> This is really too much repetition now.  Can we not have a common "add
> devices" function which is called once for the main domain and once
> for the stubdom ?

I've added a functions that does the libxl_device_disk_add loop, and 
another one for the nics. Although this line you are quoting is not 
adding a nic, it is just filling the needed values so we can launch Qemu 
correctly.

> In the future we'll need that if we have more service domains, too.
>
> Thanks,
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:50:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:50:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpT5-00011L-27; Tue, 22 May 2012 13:49:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpT3-000117-7j
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:49:41 +0000
Received: from [193.109.254.147:8390] by server-5.bemta-14.messagelabs.com id
	A9/4D-30733-4799BBF4; Tue, 22 May 2012 13:49:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337694578!10573833!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32201 invoked from network); 22 May 2012 13:49:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 13:49:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="196002556"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 09:49:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 09:49:38 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpSz-0003EU-Ix;
	Tue, 22 May 2012 14:49:37 +0100
Message-ID: <4FBB9976.9050605@citrix.com>
Date: Tue, 22 May 2012 14:49:42 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-10-git-send-email-roger.pau@citrix.com>
	<20406.31483.341852.193941@mariner.uk.xensource.com>
In-Reply-To: <20406.31483.341852.193941@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH 09/13] libxl: convert libxl_device_nic_add to an async operation"):
>> This patch converts libxl_device_nic_add to an ao operation that
>> waits for device backend to reach state XenbusStateInitWait and then
>> marks the operation as completed. This is not really useful now, but
>> will be used by latter patches that will launch hotplug scripts after
>> we reached the desired xenbus state.
>
> Why do you serialise vif and vbd initialisation ?  Would anything go
> wrong if you did them both at once ?

disk needs to be added before Qemu is launched, on the other hand nics 
need to be added after qemu is launched, so we need to add them at 
different moments during the domain creation, it's a PITA.

>> +    /* Plug nic interfaces */
>> +    if (!ret&&  d_config->num_vifs>  0) {
>> +        /* Attach nics */
>> +        GCNEW_ARRAY(dcs->devices, d_config->num_vifs);
>> +        dcs->num_devices = d_config->num_vifs;
>> +        for (i = 0; i<  d_config->num_vifs; i++) {
>> +            libxl__init_ao_device(&dcs->devices[i], ao,&dcs->devices);
>> +            dcs->devices[i].callback = domcreate_nics_connected;
>> +            libxl__device_nic_add(egc, domid,&d_config->vifs[i],
>> +&dcs->devices[i]);
>
> Ah this pattern again....
>
>> -int libxl__device_nic_add(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic)
>> +void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
>> +                           libxl_device_nic *nic, libxl__ao_device *aorm)
>>   {
>> +    STATE_AO_GC(aorm->ao);
>>       flexarray_t *front;
>>       flexarray_t *back;
>> -    libxl__device device;
>> +    libxl__device *device;
>
> You might want to consider a pre-patch which changes this, and
> libxl__device_disk_add's, as follows:
>    -    libxl__device device;
>    +    libxl__device device[1];
>
> That would get rid of the noise from this patch.  Up to you, though;
> because it's separated out textually doesn't make the diff unreadable
> like it is.
>
>> @@ -845,9 +851,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
>>       }
>>
>>       for (i = 0; i<  dm_config->num_vifs; i++) {
>> -        ret = libxl_device_nic_add(ctx, dm_domid,&dm_config->vifs[i]);
>> -        if (ret)
>> -            goto out;
>> +        /* We have to init the nic here, because we still haven't
>> +         * called libxl_device_nic_add at this point, but qemu needs
>> +         * the nic information to be complete.
>> +         */
>> +        libxl__device_nic_setdefault(gc,&dm_config->vifs[i]);
>
> This is really too much repetition now.  Can we not have a common "add
> devices" function which is called once for the main domain and once
> for the stubdom ?

I've added a functions that does the libxl_device_disk_add loop, and 
another one for the nics. Although this line you are quoting is not 
adding a nic, it is just filling the needed values so we can launch Qemu 
correctly.

> In the future we'll need that if we have more service domains, too.
>
> Thanks,
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:57:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:57:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpaD-0001K0-Vr; Tue, 22 May 2012 13:57:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Wang2@amd.com>) id 1SWpaC-0001Jv-1s
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:57:04 +0000
Received: from [85.158.143.99:3531] by server-1.bemta-4.messagelabs.com id
	87/C7-00342-F2B9BBF4; Tue, 22 May 2012 13:57:03 +0000
X-Env-Sender: Wei.Wang2@amd.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337695021!23919677!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13524 invoked from network); 22 May 2012 13:57:01 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-2.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 13:57:01 -0000
Received: from mail81-db3-R.bigfish.com (10.3.81.242) by
	DB3EHSOBE002.bigfish.com (10.3.84.22) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:56:46 +0000
Received: from mail81-db3 (localhost [127.0.0.1])	by mail81-db3-R.bigfish.com
	(Postfix) with ESMTP id 5BED83E0241;
	Tue, 22 May 2012 13:56:46 +0000 (UTC)
X-SpamScore: -1
X-BigFish: VPS-1(zz4015Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail81-db3 (localhost.localdomain [127.0.0.1]) by mail81-db3
	(MessageSwitch) id 1337695004579912_5957;
	Tue, 22 May 2012 13:56:44 +0000 (UTC)
Received: from DB3EHSMHS016.bigfish.com (unknown [10.3.81.249])	by
	mail81-db3.bigfish.com (Postfix) with ESMTP id 7EB7234007B;
	Tue, 22 May 2012 13:56:44 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	DB3EHSMHS016.bigfish.com (10.3.87.116) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:56:42 +0000
X-WSS-ID: 0M4FG2T-01-4MU-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 264BF1028072;	Tue, 22 May 2012 08:56:53 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 08:57:03 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 08:56:53 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	09:56:52 -0400
Received: from [165.204.15.57] (gran.osrc.amd.com [165.204.15.57])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id B50DA49C145; Tue, 22 May 2012
	14:56:51 +0100 (BST)
Message-ID: <4FBB9B06.1030200@amd.com>
Date: Tue, 22 May 2012 15:56:22 +0200
From: Wei Wang <wei.wang2@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>, Keir Fraser <keir@xen.org>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 & 733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Jan
This patch implements the suggested workaround for erratum 732 & 733. It 
is mostly derived from the Linux patch recently posted. Please review it.
Thanks,
Wei

# HG changeset patch
# User Wei Wang <wei.wang2@amd.com>
# Date 1337690747 -7200
# Node ID 06aebc361de7f308b262b008153ae4549c4480c2
# Parent  592d15bd4d5ec58486d32ee9998319e7c95fcd66
amd iommu: Add workaround for erratum 733 & 733

Signed-off-by: Wei Wang <wei.wang2@amd.com>

diff -r 592d15bd4d5e -r 06aebc361de7 
xen/drivers/passthrough/amd/iommu_init.c
--- a/xen/drivers/passthrough/amd/iommu_init.c    Fri May 18 16:19:21 
2012 +0100
+++ b/xen/drivers/passthrough/amd/iommu_init.c    Tue May 22 14:45:47 
2012 +0200
@@ -29,6 +29,7 @@
  #include <asm/hvm/svm/amd-iommu-proto.h>
  #include <asm-x86/fixmap.h>
  #include <mach_apic.h>
+#include <xen/delay.h>

  static int __initdata nr_amd_iommus;

@@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
      u16 domain_id, device_id, bdf, cword;
      u32 code;
      u64 *addr;
+    int count = 0;
      char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
                            "IO_PAGE_FAULT",
                            "DEV_TABLE_HW_ERROR",
@@ -575,9 +577,27 @@ static void parse_event_log_entry(struct
                            "IOTLB_INV_TIMEOUT",
                            "INVALID_DEV_REQUEST"};

+retry:
      code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                              IOMMU_EVENT_CODE_SHIFT);

+    /* Workaround for erratum 732.
+     * it can happen that the tail pointer is updated before the actual 
entry
+     * is written. Suggested by RevGuide, we initialize the event log 
buffer to
+     * all zeros and write event log entries to zero after they are 
processed.
+     */
+
+    if ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No event written to event log\n");
+            return;
+        }
+        udelay(1);
+        goto retry;
+    }
+
      if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
          (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
      {
@@ -615,6 +635,8 @@ static void parse_event_log_entry(struct
          AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
                          entry[1], entry[2], entry[3]);
      }
+
+    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
  }

  static void iommu_check_event_log(struct amd_iommu *iommu)
@@ -646,10 +668,32 @@ void parse_ppr_log_entry(struct amd_iomm
  {

      u16 device_id;
-    u8 bus, devfn;
+    u8 bus, devfn, code;
      struct pci_dev *pdev;
      struct domain *d;
+    int count = 0;

+retry:
+    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                            IOMMU_PPR_LOG_CODE_SHIFT);
+
+    /* Workaround for erratum 733.
+     * it can happen that the tail pointer is updated before the actual 
entry
+     * is written. Suggested by RevGuide, we initialize the ppr log 
buffer to
+     * all zeros and write ppr log entries to zero after they are 
processed.
+     */
+
+    if ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to ppr log\n");
+            return;
+        }
+        udelay(1);
+        goto retry;
+    }
+
      /* here device_id is physical value */
      device_id = iommu_get_devid_from_cmd(entry[0]);
      bus = PCI_BUS(device_id);
@@ -665,6 +709,8 @@ void parse_ppr_log_entry(struct amd_iomm
      d = pdev->domain;

      guest_iommu_add_ppr_log(d, entry);
+
+    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
  }

  static void iommu_check_ppr_log(struct amd_iommu *iommu)
diff -r 592d15bd4d5e -r 06aebc361de7 
xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Fri May 18 
16:19:21 2012 +0100
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Tue May 22 
14:45:47 2012 +0200
@@ -301,6 +301,10 @@
  #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
  #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
  #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
+#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
+#define IOMMU_PPR_LOG_CODE_SHIFT                        28
+
+#define IOMMU_LOG_ENTRY_TIMEOUT                         100000

  /* Control Register */
  #define IOMMU_CONTROL_MMIO_OFFSET            0x18


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 13:57:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 13:57:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpaD-0001K0-Vr; Tue, 22 May 2012 13:57:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Wang2@amd.com>) id 1SWpaC-0001Jv-1s
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 13:57:04 +0000
Received: from [85.158.143.99:3531] by server-1.bemta-4.messagelabs.com id
	87/C7-00342-F2B9BBF4; Tue, 22 May 2012 13:57:03 +0000
X-Env-Sender: Wei.Wang2@amd.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337695021!23919677!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13524 invoked from network); 22 May 2012 13:57:01 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-2.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 13:57:01 -0000
Received: from mail81-db3-R.bigfish.com (10.3.81.242) by
	DB3EHSOBE002.bigfish.com (10.3.84.22) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:56:46 +0000
Received: from mail81-db3 (localhost [127.0.0.1])	by mail81-db3-R.bigfish.com
	(Postfix) with ESMTP id 5BED83E0241;
	Tue, 22 May 2012 13:56:46 +0000 (UTC)
X-SpamScore: -1
X-BigFish: VPS-1(zz4015Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail81-db3 (localhost.localdomain [127.0.0.1]) by mail81-db3
	(MessageSwitch) id 1337695004579912_5957;
	Tue, 22 May 2012 13:56:44 +0000 (UTC)
Received: from DB3EHSMHS016.bigfish.com (unknown [10.3.81.249])	by
	mail81-db3.bigfish.com (Postfix) with ESMTP id 7EB7234007B;
	Tue, 22 May 2012 13:56:44 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	DB3EHSMHS016.bigfish.com (10.3.87.116) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 13:56:42 +0000
X-WSS-ID: 0M4FG2T-01-4MU-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 264BF1028072;	Tue, 22 May 2012 08:56:53 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 08:57:03 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 08:56:53 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	09:56:52 -0400
Received: from [165.204.15.57] (gran.osrc.amd.com [165.204.15.57])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id B50DA49C145; Tue, 22 May 2012
	14:56:51 +0100 (BST)
Message-ID: <4FBB9B06.1030200@amd.com>
Date: Tue, 22 May 2012 15:56:22 +0200
From: Wei Wang <wei.wang2@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>, Keir Fraser <keir@xen.org>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 & 733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Jan
This patch implements the suggested workaround for erratum 732 & 733. It 
is mostly derived from the Linux patch recently posted. Please review it.
Thanks,
Wei

# HG changeset patch
# User Wei Wang <wei.wang2@amd.com>
# Date 1337690747 -7200
# Node ID 06aebc361de7f308b262b008153ae4549c4480c2
# Parent  592d15bd4d5ec58486d32ee9998319e7c95fcd66
amd iommu: Add workaround for erratum 733 & 733

Signed-off-by: Wei Wang <wei.wang2@amd.com>

diff -r 592d15bd4d5e -r 06aebc361de7 
xen/drivers/passthrough/amd/iommu_init.c
--- a/xen/drivers/passthrough/amd/iommu_init.c    Fri May 18 16:19:21 
2012 +0100
+++ b/xen/drivers/passthrough/amd/iommu_init.c    Tue May 22 14:45:47 
2012 +0200
@@ -29,6 +29,7 @@
  #include <asm/hvm/svm/amd-iommu-proto.h>
  #include <asm-x86/fixmap.h>
  #include <mach_apic.h>
+#include <xen/delay.h>

  static int __initdata nr_amd_iommus;

@@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
      u16 domain_id, device_id, bdf, cword;
      u32 code;
      u64 *addr;
+    int count = 0;
      char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
                            "IO_PAGE_FAULT",
                            "DEV_TABLE_HW_ERROR",
@@ -575,9 +577,27 @@ static void parse_event_log_entry(struct
                            "IOTLB_INV_TIMEOUT",
                            "INVALID_DEV_REQUEST"};

+retry:
      code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                              IOMMU_EVENT_CODE_SHIFT);

+    /* Workaround for erratum 732.
+     * it can happen that the tail pointer is updated before the actual 
entry
+     * is written. Suggested by RevGuide, we initialize the event log 
buffer to
+     * all zeros and write event log entries to zero after they are 
processed.
+     */
+
+    if ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No event written to event log\n");
+            return;
+        }
+        udelay(1);
+        goto retry;
+    }
+
      if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
          (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
      {
@@ -615,6 +635,8 @@ static void parse_event_log_entry(struct
          AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
                          entry[1], entry[2], entry[3]);
      }
+
+    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
  }

  static void iommu_check_event_log(struct amd_iommu *iommu)
@@ -646,10 +668,32 @@ void parse_ppr_log_entry(struct amd_iomm
  {

      u16 device_id;
-    u8 bus, devfn;
+    u8 bus, devfn, code;
      struct pci_dev *pdev;
      struct domain *d;
+    int count = 0;

+retry:
+    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                            IOMMU_PPR_LOG_CODE_SHIFT);
+
+    /* Workaround for erratum 733.
+     * it can happen that the tail pointer is updated before the actual 
entry
+     * is written. Suggested by RevGuide, we initialize the ppr log 
buffer to
+     * all zeros and write ppr log entries to zero after they are 
processed.
+     */
+
+    if ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to ppr log\n");
+            return;
+        }
+        udelay(1);
+        goto retry;
+    }
+
      /* here device_id is physical value */
      device_id = iommu_get_devid_from_cmd(entry[0]);
      bus = PCI_BUS(device_id);
@@ -665,6 +709,8 @@ void parse_ppr_log_entry(struct amd_iomm
      d = pdev->domain;

      guest_iommu_add_ppr_log(d, entry);
+
+    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
  }

  static void iommu_check_ppr_log(struct amd_iommu *iommu)
diff -r 592d15bd4d5e -r 06aebc361de7 
xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Fri May 18 
16:19:21 2012 +0100
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Tue May 22 
14:45:47 2012 +0200
@@ -301,6 +301,10 @@
  #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
  #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
  #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
+#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
+#define IOMMU_PPR_LOG_CODE_SHIFT                        28
+
+#define IOMMU_LOG_ENTRY_TIMEOUT                         100000

  /* Control Register */
  #define IOMMU_CONTROL_MMIO_OFFSET            0x18


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfo-0001XJ-51; Tue, 22 May 2012 14:02:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfm-0001WP-Vq
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:51 +0000
Received: from [193.109.254.147:30491] by server-6.bemta-14.messagelabs.com id
	F8/1E-04960-A8C9BBF4; Tue, 22 May 2012 14:02:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337695367!10673844!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27547 invoked from network); 22 May 2012 14:02:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440567"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:46 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-C7;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:37 +0100
Message-ID: <1337695365-5142-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 07/15] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  167 +++++++++++++++++++++++++++++++++---
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   29 ++++++-
 tools/libxl/libxl_device.c   |  192 ++++++++++++++++++++++++++++++++++--------
 tools/libxl/libxl_dm.c       |   85 ++++++++++---------
 tools/libxl/libxl_internal.h |   90 +++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c     |   12 ++--
 7 files changed, 473 insertions(+), 105 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b13de4f..b44ae75 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1070,11 +1070,119 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        dds->stubdom.force = 1;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    dds->domain.force = 1;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc)
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    if (dds->domain_finished)
+        dds->callback(egc, dds, rc);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+
+    dds->domain_finished = 1;
+    if (dds->stubdom_finished)
+        dds->callback(egc, dds, rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1085,7 +1193,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1118,7 +1226,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = dis->force;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1141,9 +1279,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1272,20 +1411,20 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 /******************************************************************************/
 
 /* generic callback for devices that only need to set ao_complete */
-static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aodev)
 {
-    STATE_AO_GC(aorm->ao);
+    STATE_AO_GC(aodev->ao);
 
-    if (aorm->rc) {
+    if (aodev->rc) {
         LOGE(ERROR, "unable to %s %s with id %u",
-                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
-                    libxl__device_kind_to_string(aorm->dev->kind),
-                    aorm->dev->devid);
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
         goto out;
     }
 
 out:
-    libxl__ao_complete(egc, ao, aorm->rc);
+    libxl__ao_complete(egc, ao, aodev->rc);
     return;
 }
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c3115a9..39a8c58 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..63f34fa 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +854,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index e572d4d..020e934 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -358,13 +400,30 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
 
 /* Device AO operations */
 
-void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+void libxl__init_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                            libxl__ao_device **base)
 {
-    aorm->ao = ao;
-    aorm->active = 1;
-    aorm->rc = 0;
-    aorm->base = base;
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
+
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num, int *last)
+{
+    int i, ret = 0;
+
+    device->active = 0;
+    *last = 1;
+    for (i = 0; i < num; i++) {
+        if (list[i].active && *last) {
+            *last = 0;
+        }
+        if (list[i].rc)
+            ret = list[i].rc;
+    }
+    return ret;
 }
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
@@ -381,16 +440,34 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aorm, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__init_ao_device(&drs->aorm[i], drs->ao, &drs->aorm);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -413,30 +490,40 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            printf("device: %s\n", path);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                drs->aorm[numdev].action = DEVICE_DISCONNECT;
+                drs->aorm[numdev].dev = dev;
+                drs->aorm[numdev].callback = device_remove_callback;
+                drs->aorm[numdev].force = drs->force;
+                libxl__initiate_device_remove(egc, &drs->aorm[numdev]);
+                numdev++;
             }
         }
     }
 
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
+    printf("frontend: %s\n", path);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    printf("backend: %s\n", path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -444,8 +531,7 @@ out:
 static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_backend_cleanup(libxl__gc *gc,
-                                   libxl__ao_device *aorm);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev);
 
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aorm)
@@ -511,15 +597,15 @@ retry_transaction:
 
 static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
-    STATE_AO_GC(aorm->ao);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
 
-    device_backend_cleanup(gc, aorm);
+    device_backend_cleanup(gc, aodev);
 
-    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
-        !aorm->force) {
-        aorm->force = 1;
-        libxl__initiate_device_remove(egc, aorm);
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
         return;
     }
 
@@ -527,26 +613,58 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
      * but we shouldn't alarm the user if it's during
      * domain destruction.
      */
-    if (rc && aorm->action == DEVICE_CONNECT) {
+    if (rc && aodev->action == DEVICE_CONNECT) {
         LOG(ERROR, "unable to connect device with path %s",
-                   libxl__device_backend_path(gc, aorm->dev));
+                   libxl__device_backend_path(gc, aodev->dev));
         goto out;
     } else if(rc) {
         LOG(DEBUG, "unable to disconnect device with path %s",
-                   libxl__device_backend_path(gc, aorm->dev));
+                   libxl__device_backend_path(gc, aodev->dev));
         goto out;
     }
 
 out:
-    aorm->rc = rc;
-    aorm->callback(egc, aorm);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
     return;
 }
 
-static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
 {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
+    xs_transaction_t t = 0;
+    int rc = 0, last = 1;
+
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    if (aorm->action == DEVICE_DISCONNECT) {
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+    }
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
+                                     drs->num_devices, &last);
+    if (last)
+        drs->callback(egc, drs, rc);
+    return;
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 95fd0ac..6604549 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -891,12 +895,32 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.force = 1;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1089,48 +1113,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d2c013c..68d076c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -796,7 +796,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1771,6 +1770,10 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
                                    libxl__ao_device **base);
 
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num,
+                                        int *last);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1795,6 +1798,88 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been splitted in two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, it detects
+ * stubdoms and calls libxl__destroy_domid on the domain and it's
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    /* force device destruction */
+    int force;
+    /* private */
+    libxl__ao_device *aorm;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    /* force device destruction */
+    int force;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1828,6 +1913,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1854,6 +1940,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..3c02b69 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1333,7 +1333,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1899,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2390,7 +2390,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2664,7 +2664,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2896,7 +2896,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3014,7 +3014,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfo-0001XJ-51; Tue, 22 May 2012 14:02:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfm-0001WP-Vq
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:51 +0000
Received: from [193.109.254.147:30491] by server-6.bemta-14.messagelabs.com id
	F8/1E-04960-A8C9BBF4; Tue, 22 May 2012 14:02:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337695367!10673844!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27547 invoked from network); 22 May 2012 14:02:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440567"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:46 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-C7;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:37 +0100
Message-ID: <1337695365-5142-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 07/15] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  167 +++++++++++++++++++++++++++++++++---
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   29 ++++++-
 tools/libxl/libxl_device.c   |  192 ++++++++++++++++++++++++++++++++++--------
 tools/libxl/libxl_dm.c       |   85 ++++++++++---------
 tools/libxl/libxl_internal.h |   90 +++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c     |   12 ++--
 7 files changed, 473 insertions(+), 105 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b13de4f..b44ae75 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1070,11 +1070,119 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        dds->stubdom.force = 1;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    dds->domain.force = 1;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc)
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    if (dds->domain_finished)
+        dds->callback(egc, dds, rc);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+
+    dds->domain_finished = 1;
+    if (dds->stubdom_finished)
+        dds->callback(egc, dds, rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1085,7 +1193,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1118,7 +1226,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = dis->force;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1141,9 +1279,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1272,20 +1411,20 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 /******************************************************************************/
 
 /* generic callback for devices that only need to set ao_complete */
-static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aodev)
 {
-    STATE_AO_GC(aorm->ao);
+    STATE_AO_GC(aodev->ao);
 
-    if (aorm->rc) {
+    if (aodev->rc) {
         LOGE(ERROR, "unable to %s %s with id %u",
-                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
-                    libxl__device_kind_to_string(aorm->dev->kind),
-                    aorm->dev->devid);
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
         goto out;
     }
 
 out:
-    libxl__ao_complete(egc, ao, aorm->rc);
+    libxl__ao_complete(egc, ao, aodev->rc);
     return;
 }
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c3115a9..39a8c58 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..63f34fa 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +854,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, rc, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index e572d4d..020e934 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -358,13 +400,30 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
 
 /* Device AO operations */
 
-void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+void libxl__init_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                            libxl__ao_device **base)
 {
-    aorm->ao = ao;
-    aorm->active = 1;
-    aorm->rc = 0;
-    aorm->base = base;
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
+
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num, int *last)
+{
+    int i, ret = 0;
+
+    device->active = 0;
+    *last = 1;
+    for (i = 0; i < num; i++) {
+        if (list[i].active && *last) {
+            *last = 0;
+        }
+        if (list[i].rc)
+            ret = list[i].rc;
+    }
+    return ret;
 }
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
@@ -381,16 +440,34 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aorm, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__init_ao_device(&drs->aorm[i], drs->ao, &drs->aorm);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -413,30 +490,40 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            printf("device: %s\n", path);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                drs->aorm[numdev].action = DEVICE_DISCONNECT;
+                drs->aorm[numdev].dev = dev;
+                drs->aorm[numdev].callback = device_remove_callback;
+                drs->aorm[numdev].force = drs->force;
+                libxl__initiate_device_remove(egc, &drs->aorm[numdev]);
+                numdev++;
             }
         }
     }
 
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
+    printf("frontend: %s\n", path);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    printf("backend: %s\n", path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -444,8 +531,7 @@ out:
 static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_backend_cleanup(libxl__gc *gc,
-                                   libxl__ao_device *aorm);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev);
 
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aorm)
@@ -511,15 +597,15 @@ retry_transaction:
 
 static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
-    STATE_AO_GC(aorm->ao);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
 
-    device_backend_cleanup(gc, aorm);
+    device_backend_cleanup(gc, aodev);
 
-    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
-        !aorm->force) {
-        aorm->force = 1;
-        libxl__initiate_device_remove(egc, aorm);
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
         return;
     }
 
@@ -527,26 +613,58 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
      * but we shouldn't alarm the user if it's during
      * domain destruction.
      */
-    if (rc && aorm->action == DEVICE_CONNECT) {
+    if (rc && aodev->action == DEVICE_CONNECT) {
         LOG(ERROR, "unable to connect device with path %s",
-                   libxl__device_backend_path(gc, aorm->dev));
+                   libxl__device_backend_path(gc, aodev->dev));
         goto out;
     } else if(rc) {
         LOG(DEBUG, "unable to disconnect device with path %s",
-                   libxl__device_backend_path(gc, aorm->dev));
+                   libxl__device_backend_path(gc, aodev->dev));
         goto out;
     }
 
 out:
-    aorm->rc = rc;
-    aorm->callback(egc, aorm);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
     return;
 }
 
-static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
 {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
+    xs_transaction_t t = 0;
+    int rc = 0, last = 1;
+
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    if (aorm->action == DEVICE_DISCONNECT) {
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+    }
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
+                                     drs->num_devices, &last);
+    if (last)
+        drs->callback(egc, drs, rc);
+    return;
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 95fd0ac..6604549 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -891,12 +895,32 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.force = 1;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1089,48 +1113,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d2c013c..68d076c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -796,7 +796,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1771,6 +1770,10 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
                                    libxl__ao_device **base);
 
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num,
+                                        int *last);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1795,6 +1798,88 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been splitted in two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, it detects
+ * stubdoms and calls libxl__destroy_domid on the domain and it's
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    /* force device destruction */
+    int force;
+    /* private */
+    libxl__ao_device *aorm;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    /* force device destruction */
+    int force;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1828,6 +1913,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1854,6 +1940,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..3c02b69 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1333,7 +1333,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1899,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2390,7 +2390,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2664,7 +2664,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2896,7 +2896,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3014,7 +3014,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfn-0001Wv-H9; Tue, 22 May 2012 14:02:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfl-0001WP-VL
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:50 +0000
Received: from [193.109.254.147:49202] by server-6.bemta-14.messagelabs.com id
	60/1E-04960-98C9BBF4; Tue, 22 May 2012 14:02:49 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337695367!10673844!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27481 invoked from network); 22 May 2012 14:02:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440565"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-Ry;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:34 +0100
Message-ID: <1337695365-5142-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 04/15] libxl: reoder libxl_device unplug
	functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a reorder of functions, no functional change. This is needed
because in future patches much code is added to libxl_device and it
needs to follow the usual ao operation scheme (prototypes, functions
and callbacks in order they should be called)

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |  148 +++++++++++++++++++++++---------------------
 1 files changed, 78 insertions(+), 70 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..2006406 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -362,76 +362,6 @@ typedef struct {
     libxl__ev_devstate ds;
 } libxl__ao_device_remove;
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
-}
-
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
-                                   int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
-}
-
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
-{
-    AO_GC;
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
-    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
-    int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
-
-    if (!state)
-        goto out_ok;
-    if (atoi(state) != 4) {
-        libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
-        goto out_ok;
-    }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
-    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
-    xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
-    if (!xs_transaction_end(ctx->xsh, t, 0)) {
-        if (errno == EAGAIN)
-            goto retry_transaction;
-        else {
-            rc = ERROR_FAIL;
-            goto out_fail;
-        }
-    }
-
-    libxl__device_destroy_tapdisk(gc, be_path);
-
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
-
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
-                                 state_path, XenbusStateClosed,
-                                 LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
-
-    return 0;
-
- out_fail:
-    assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
-
- out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
-}
-
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -504,6 +434,84 @@ out:
     return 0;
 }
 
+/* Callbacks for device related operations */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                   int rc);
+
+static void device_remove_cleanup(libxl__gc *gc,
+                                  libxl__ao_device_remove *aorm);
+
+int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
+                                  libxl__device *dev)
+{
+    AO_GC;
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    xs_transaction_t t;
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    int rc = 0;
+    libxl__ao_device_remove *aorm = 0;
+
+    if (!state)
+        goto out_ok;
+    if (atoi(state) != 4) {
+        libxl__device_destroy_tapdisk(gc, be_path);
+        xs_rm(ctx->xsh, XBT_NULL, be_path);
+        goto out_ok;
+    }
+
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
+    xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
+    if (!xs_transaction_end(ctx->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out_fail;
+        }
+    }
+
+    libxl__device_destroy_tapdisk(gc, be_path);
+
+    aorm = libxl__zalloc(gc, sizeof(*aorm));
+    aorm->ao = ao;
+    libxl__ev_devstate_init(&aorm->ds);
+
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+                                 state_path, XenbusStateClosed,
+                                 LIBXL_DESTROY_TIMEOUT * 1000);
+    if (rc) goto out_fail;
+
+    return 0;
+
+ out_fail:
+    assert(rc);
+    device_remove_cleanup(gc, aorm);
+    return rc;
+
+ out_ok:
+    libxl__ao_complete(egc, ao, 0);
+    return 0;
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                   int rc) {
+    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
+    libxl__gc *gc = &aorm->ao->gc;
+    libxl__ao_complete(egc, aorm->ao, rc);
+    device_remove_cleanup(gc, aorm);
+}
+
+static void device_remove_cleanup(libxl__gc *gc,
+                                  libxl__ao_device_remove *aorm) {
+    if (!aorm) return;
+    libxl__ev_devstate_cancel(gc, &aorm->ds);
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfn-0001Wv-H9; Tue, 22 May 2012 14:02:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfl-0001WP-VL
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:50 +0000
Received: from [193.109.254.147:49202] by server-6.bemta-14.messagelabs.com id
	60/1E-04960-98C9BBF4; Tue, 22 May 2012 14:02:49 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337695367!10673844!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27481 invoked from network); 22 May 2012 14:02:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440565"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-Ry;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:34 +0100
Message-ID: <1337695365-5142-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 04/15] libxl: reoder libxl_device unplug
	functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a reorder of functions, no functional change. This is needed
because in future patches much code is added to libxl_device and it
needs to follow the usual ao operation scheme (prototypes, functions
and callbacks in order they should be called)

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |  148 +++++++++++++++++++++++---------------------
 1 files changed, 78 insertions(+), 70 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index c7e057d..2006406 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -362,76 +362,6 @@ typedef struct {
     libxl__ev_devstate ds;
 } libxl__ao_device_remove;
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
-}
-
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
-                                   int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
-}
-
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
-{
-    AO_GC;
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
-    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
-    int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
-
-    if (!state)
-        goto out_ok;
-    if (atoi(state) != 4) {
-        libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
-        goto out_ok;
-    }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
-    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
-    xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
-    if (!xs_transaction_end(ctx->xsh, t, 0)) {
-        if (errno == EAGAIN)
-            goto retry_transaction;
-        else {
-            rc = ERROR_FAIL;
-            goto out_fail;
-        }
-    }
-
-    libxl__device_destroy_tapdisk(gc, be_path);
-
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
-
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
-                                 state_path, XenbusStateClosed,
-                                 LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
-
-    return 0;
-
- out_fail:
-    assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
-
- out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
-}
-
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -504,6 +434,84 @@ out:
     return 0;
 }
 
+/* Callbacks for device related operations */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                   int rc);
+
+static void device_remove_cleanup(libxl__gc *gc,
+                                  libxl__ao_device_remove *aorm);
+
+int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
+                                  libxl__device *dev)
+{
+    AO_GC;
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    xs_transaction_t t;
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    int rc = 0;
+    libxl__ao_device_remove *aorm = 0;
+
+    if (!state)
+        goto out_ok;
+    if (atoi(state) != 4) {
+        libxl__device_destroy_tapdisk(gc, be_path);
+        xs_rm(ctx->xsh, XBT_NULL, be_path);
+        goto out_ok;
+    }
+
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
+    xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
+    if (!xs_transaction_end(ctx->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out_fail;
+        }
+    }
+
+    libxl__device_destroy_tapdisk(gc, be_path);
+
+    aorm = libxl__zalloc(gc, sizeof(*aorm));
+    aorm->ao = ao;
+    libxl__ev_devstate_init(&aorm->ds);
+
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+                                 state_path, XenbusStateClosed,
+                                 LIBXL_DESTROY_TIMEOUT * 1000);
+    if (rc) goto out_fail;
+
+    return 0;
+
+ out_fail:
+    assert(rc);
+    device_remove_cleanup(gc, aorm);
+    return rc;
+
+ out_ok:
+    libxl__ao_complete(egc, ao, 0);
+    return 0;
+}
+
+static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+                                   int rc) {
+    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
+    libxl__gc *gc = &aorm->ao->gc;
+    libxl__ao_complete(egc, aorm->ao, rc);
+    device_remove_cleanup(gc, aorm);
+}
+
+static void device_remove_cleanup(libxl__gc *gc,
+                                  libxl__ao_device_remove *aorm) {
+    if (!aorm) return;
+    libxl__ev_devstate_cancel(gc, &aorm->ds);
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfl-0001WR-Pk; Tue, 22 May 2012 14:02:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfl-0001WI-3I
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:49 +0000
Received: from [85.158.143.99:58804] by server-3.bemta-4.messagelabs.com id
	45/80-05853-88C9BBF4; Tue, 22 May 2012 14:02:48 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337695365!28907696!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32452 invoked from network); 22 May 2012 14:02:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440562"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-Jr	for xen-devel@lists.xen.org;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:30 +0100
Message-ID: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2 0/15] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Acked patches:

[PATCH v2 01/15] libxl: pass env vars to libxl__exec
[PATCH v2 02/15] libxl: fix libxl__xs_directory usage of transaction

Pending:

[PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
[PATCH v2 04/15] libxl: reoder libxl_device unplug functions
[PATCH v2 05/15] libxl: change libxl__ao_device_remove to
[PATCH v2 06/15] libxl: move device model creation prototypes
[PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op
[PATCH v2 08/15] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async
[PATCH v2 10/15] libxl: add option to choose who executes hotplug
[PATCH v2 11/15] libxl: set nic type to VIF by default
[PATCH v2 12/15] libxl: call hotplug scripts for disk devices from
[PATCH v2 13/15] libxl: call hotplug scripts for nic devices from
[PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on device_destroy
[PATCH v2 15/15] libxl: add dummy netbsd functions


Change since v1:

 * Removed all the unecessary code motion and code cleanup

 * Split "convert libxl_domain_destroy to an async op" into two 
   separate patches.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfl-0001WR-Pk; Tue, 22 May 2012 14:02:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfl-0001WI-3I
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:49 +0000
Received: from [85.158.143.99:58804] by server-3.bemta-4.messagelabs.com id
	45/80-05853-88C9BBF4; Tue, 22 May 2012 14:02:48 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337695365!28907696!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32452 invoked from network); 22 May 2012 14:02:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440562"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-Jr	for xen-devel@lists.xen.org;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:30 +0100
Message-ID: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2 0/15] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Acked patches:

[PATCH v2 01/15] libxl: pass env vars to libxl__exec
[PATCH v2 02/15] libxl: fix libxl__xs_directory usage of transaction

Pending:

[PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
[PATCH v2 04/15] libxl: reoder libxl_device unplug functions
[PATCH v2 05/15] libxl: change libxl__ao_device_remove to
[PATCH v2 06/15] libxl: move device model creation prototypes
[PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op
[PATCH v2 08/15] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async
[PATCH v2 10/15] libxl: add option to choose who executes hotplug
[PATCH v2 11/15] libxl: set nic type to VIF by default
[PATCH v2 12/15] libxl: call hotplug scripts for disk devices from
[PATCH v2 13/15] libxl: call hotplug scripts for nic devices from
[PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on device_destroy
[PATCH v2 15/15] libxl: add dummy netbsd functions


Change since v1:

 * Removed all the unecessary code motion and code cleanup

 * Split "convert libxl_domain_destroy to an async op" into two 
   separate patches.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfo-0001XV-Ic; Tue, 22 May 2012 14:02:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfn-0001Wi-2U
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:51 +0000
Received: from [85.158.143.99:8331] by server-2.bemta-4.messagelabs.com id
	99/E3-12211-A8C9BBF4; Tue, 22 May 2012 14:02:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337695365!28907696!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 377 invoked from network); 22 May 2012 14:02:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440566"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-37;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:35 +0100
Message-ID: <1337695365-5142-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 05/15] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  192 +++++++++++++++++++++++++++++------------
 tools/libxl/libxl.h          |   15 +++-
 tools/libxl/libxl_device.c   |  107 ++++++++++++++++--------
 tools/libxl/libxl_internal.h |   45 ++++++++--
 4 files changed, 257 insertions(+), 102 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2a09192..b13de4f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1271,6 +1271,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+
+    if (aorm->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aorm->dev->kind),
+                    aorm->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aorm->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1445,35 +1465,50 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1923,35 +1958,50 @@ int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
@@ -2285,35 +2335,50 @@ int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 /******************************************************************************/
@@ -2418,35 +2483,50 @@ int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 /******************************************************************************/
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..c3115a9 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -667,7 +667,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -691,7 +692,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -702,14 +705,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..e572d4d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                           libxl__ao_device **base)
+{
+    aorm->ao = ao;
+    aorm->active = 1;
+    aorm->rc = 0;
+    aorm->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,35 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aorm);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aorm)
 {
-    AO_GC;
+    STATE_AO_GC(aorm->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aorm->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aorm->dev));
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,40 +480,71 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
     libxl__ev_devstate_init(&aorm->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aorm->callback(egc, aorm);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
+    STATE_AO_GC(aorm->ao);
+
+    device_backend_cleanup(gc, aorm);
+
+    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
+        !aorm->force) {
+        aorm->force = 1;
+        libxl__initiate_device_remove(egc, aorm);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aorm->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    }
+
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
     if (!aorm) return;
     libxl__ev_devstate_cancel(gc, &aorm->ds);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae5527b..b62110a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -827,13 +827,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+_hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                                   libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    /* State in which the device is */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aorm);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfo-0001XV-Ic; Tue, 22 May 2012 14:02:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfn-0001Wi-2U
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:51 +0000
Received: from [85.158.143.99:8331] by server-2.bemta-4.messagelabs.com id
	99/E3-12211-A8C9BBF4; Tue, 22 May 2012 14:02:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337695365!28907696!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 377 invoked from network); 22 May 2012 14:02:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440566"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-37;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:35 +0100
Message-ID: <1337695365-5142-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 05/15] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  192 +++++++++++++++++++++++++++++------------
 tools/libxl/libxl.h          |   15 +++-
 tools/libxl/libxl_device.c   |  107 ++++++++++++++++--------
 tools/libxl/libxl_internal.h |   45 ++++++++--
 4 files changed, 257 insertions(+), 102 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2a09192..b13de4f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1271,6 +1271,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+
+    if (aorm->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aorm->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aorm->dev->kind),
+                    aorm->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aorm->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1445,35 +1465,50 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1923,35 +1958,50 @@ int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
@@ -2285,35 +2335,50 @@ int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vkb(gc, domid, vkb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 /******************************************************************************/
@@ -2418,35 +2483,50 @@ int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             const libxl_asyncop_how *ao_how)
 {
     AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
 
 out:
-    return AO_ABORT(rc);
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
-    libxl__device device;
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__device *device;
+    libxl__ao_device *aorm;
     int rc;
 
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
+    GCNEW(device);
+    rc = libxl__device_from_vfb(gc, domid, vfb, device);
     if (rc != 0) goto out;
 
-    rc = libxl__device_destroy(gc, &device);
+    GCNEW(aorm);
+    libxl__init_ao_device(aorm, ao, NULL);
+    aorm->action = DEVICE_DISCONNECT;
+    aorm->force = 1;
+    aorm->dev = device;
+    aorm->callback = libxl__device_cb;
+    libxl__initiate_device_remove(egc, aorm);
+
 out:
-    GC_FREE;
-    return rc;
+    if (rc) return AO_ABORT(rc);
+    return AO_INPROGRESS;
 }
 
 /******************************************************************************/
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..c3115a9 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -667,7 +667,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -691,7 +692,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -702,14 +705,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..e572d4d 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                           libxl__ao_device **base)
+{
+    aorm->ao = ao;
+    aorm->active = 1;
+    aorm->rc = 0;
+    aorm->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,35 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aorm);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aorm)
 {
-    AO_GC;
+    STATE_AO_GC(aorm->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aorm->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aorm->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aorm->dev));
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,40 +480,71 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
     libxl__ev_devstate_init(&aorm->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aorm->callback(egc, aorm);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aorm = CONTAINER_OF(ds, *aorm, ds);
+    STATE_AO_GC(aorm->ao);
+
+    device_backend_cleanup(gc, aorm);
+
+    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
+        !aorm->force) {
+        aorm->force = 1;
+        libxl__initiate_device_remove(egc, aorm);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aorm->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aorm->dev));
+        goto out;
+    }
+
+out:
+    aorm->rc = rc;
+    aorm->callback(egc, aorm);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aorm)
+{
     if (!aorm) return;
     libxl__ev_devstate_cancel(gc, &aorm->ds);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae5527b..b62110a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -827,13 +827,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+_hidden void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
+                                   libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    /* State in which the device is */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aorm);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfn-0001Wk-5g; Tue, 22 May 2012 14:02:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfl-0001WO-U4
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:50 +0000
Received: from [85.158.143.99:58895] by server-1.bemta-4.messagelabs.com id
	8B/15-00342-98C9BBF4; Tue, 22 May 2012 14:02:49 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337695365!28907696!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32761 invoked from network); 22 May 2012 14:02:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440563"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-Lp;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:31 +0100
Message-ID: <1337695365-5142-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 01/15] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add another parameter to libxl__exec call that contains the
environment variables to use when performing the execvp call.

Changes since v4:

 * Unify error checking.

Changes since v3:

 * Use CTX instead of defining libxl_ctx *ctx.

 * Error checking on setenv.

 * Better comment on header for libxl__exec function.

 * Added some const-correctness.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c            |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_dm.c         |    2 +-
 tools/libxl/libxl_exec.c       |   14 ++++++++++++--
 tools/libxl/libxl_internal.h   |   20 ++++++++++++++++++--
 5 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..2a09192 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1261,7 +1261,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
         args[2] = "-autopass";
     }
 
-    libxl__exec(autopass_fd, -1, -1, args[0], args);
+    libxl__exec(gc, autopass_fd, -1, -1, args[0], args, NULL);
     abort();
 
  x_fail:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..0021a7b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -359,6 +359,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
     libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
     STATE_AO_GC(bl->ao);
     int rc, r;
+    char *const env[] = { "TERM", "vt100", NULL };
 
     if (bl->openpty.rc) {
         rc = bl->openpty.rc;
@@ -452,8 +453,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         /* child */
         r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
         if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        libxl__exec(gc, -1, -1, -1, bl->args[0], (char **) bl->args, env);
         exit(-1);
     }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 4ad7d02..95fd0ac 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1015,7 +1015,7 @@ retry_transaction:
         goto out_close;
     if (!rc) { /* inner child */
         setsid();
-        libxl__exec(null, logfile_w, logfile_w, dm, args);
+        libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
     rc = 0;
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b46b893..082bf44 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -66,8 +66,8 @@ static void check_open_fds(const char *what)
     if (badness) abort();
 }
 
-void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
-                char **args)
+void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd, int stderrfd,
+                 const char *arg0, char *const args[], char *const env[])
      /* call this in the child */
 {
     if (stdinfd != -1)
@@ -90,8 +90,18 @@ void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
     /* in case our caller set it to IGN.  subprocesses are entitled
      * to assume they got DFL. */
 
+    if (env != NULL) {
+        for (int i = 0; env[i] != NULL && env[i+1] != NULL; i += 2) {
+            if (setenv(env[i], env[i+1], 1) < 0) {
+                LOGEV(ERROR, errno, "setting env vars (%s = %s)",
+                                    env[i], env[i+1]);
+                goto out;
+            }
+        }
+    }
     execvp(arg0, args);
 
+out:
     fprintf(stderr, "libxl: cannot execute %s: %s\n", arg0, strerror(errno));
     _exit(-1);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f71e76a..aaaf644 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1138,8 +1138,24 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
-_hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
-               const char *arg0, char **args); // logs errors, never returns
+/*
+ * env should be passed using the following format,
+ *
+ * env[0]: name of env variable
+ * env[1]: value of env variable
+ * env[n]: ...
+ *
+ * So it efectively becomes something like:
+ * export env[n]=env[n+1]
+ * (where n%2 = 0)
+ *
+ * The last entry of the array always has to be NULL.
+ *
+ * Logs errors, never returns.
+ */
+_hidden  void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd,
+                          int stderrfd, const char *arg0, char *const args[],
+                          char *const env[]);
 
 /* from xl_create */
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpfn-0001Wk-5g; Tue, 22 May 2012 14:02:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpfl-0001WO-U4
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:02:50 +0000
Received: from [85.158.143.99:58895] by server-1.bemta-4.messagelabs.com id
	8B/15-00342-98C9BBF4; Tue, 22 May 2012 14:02:49 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337695365!28907696!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32761 invoked from network); 22 May 2012 14:02:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:02:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="25440563"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-Lp;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:31 +0100
Message-ID: <1337695365-5142-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 01/15] libxl: pass env vars to libxl__exec
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add another parameter to libxl__exec call that contains the
environment variables to use when performing the execvp call.

Changes since v4:

 * Unify error checking.

Changes since v3:

 * Use CTX instead of defining libxl_ctx *ctx.

 * Error checking on setenv.

 * Better comment on header for libxl__exec function.

 * Added some const-correctness.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c            |    2 +-
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_dm.c         |    2 +-
 tools/libxl/libxl_exec.c       |   14 ++++++++++++--
 tools/libxl/libxl_internal.h   |   20 ++++++++++++++++++--
 5 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4d01cf8..2a09192 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1261,7 +1261,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
         args[2] = "-autopass";
     }
 
-    libxl__exec(autopass_fd, -1, -1, args[0], args);
+    libxl__exec(gc, autopass_fd, -1, -1, args[0], args, NULL);
     abort();
 
  x_fail:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index fb1302b..0021a7b 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -359,6 +359,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
     libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty);
     STATE_AO_GC(bl->ao);
     int rc, r;
+    char *const env[] = { "TERM", "vt100", NULL };
 
     if (bl->openpty.rc) {
         rc = bl->openpty.rc;
@@ -452,8 +453,7 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op)
         /* child */
         r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
         if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
-        setenv("TERM", "vt100", 1);
-        libxl__exec(-1, -1, -1, bl->args[0], (char**)bl->args);
+        libxl__exec(gc, -1, -1, -1, bl->args[0], (char **) bl->args, env);
         exit(-1);
     }
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 4ad7d02..95fd0ac 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1015,7 +1015,7 @@ retry_transaction:
         goto out_close;
     if (!rc) { /* inner child */
         setsid();
-        libxl__exec(null, logfile_w, logfile_w, dm, args);
+        libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
     rc = 0;
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index b46b893..082bf44 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -66,8 +66,8 @@ static void check_open_fds(const char *what)
     if (badness) abort();
 }
 
-void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
-                char **args)
+void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd, int stderrfd,
+                 const char *arg0, char *const args[], char *const env[])
      /* call this in the child */
 {
     if (stdinfd != -1)
@@ -90,8 +90,18 @@ void libxl__exec(int stdinfd, int stdoutfd, int stderrfd, const char *arg0,
     /* in case our caller set it to IGN.  subprocesses are entitled
      * to assume they got DFL. */
 
+    if (env != NULL) {
+        for (int i = 0; env[i] != NULL && env[i+1] != NULL; i += 2) {
+            if (setenv(env[i], env[i+1], 1) < 0) {
+                LOGEV(ERROR, errno, "setting env vars (%s = %s)",
+                                    env[i], env[i+1]);
+                goto out;
+            }
+        }
+    }
     execvp(arg0, args);
 
+out:
     fprintf(stderr, "libxl: cannot execute %s: %s\n", arg0, strerror(errno));
     _exit(-1);
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f71e76a..aaaf644 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1138,8 +1138,24 @@ _hidden int libxl__wait_for_offspring(libxl__gc *gc,
 
  /* low-level stuff, for synchronous subprocesses etc. */
 
-_hidden void libxl__exec(int stdinfd, int stdoutfd, int stderrfd,
-               const char *arg0, char **args); // logs errors, never returns
+/*
+ * env should be passed using the following format,
+ *
+ * env[0]: name of env variable
+ * env[1]: value of env variable
+ * env[n]: ...
+ *
+ * So it efectively becomes something like:
+ * export env[n]=env[n+1]
+ * (where n%2 = 0)
+ *
+ * The last entry of the array always has to be NULL.
+ *
+ * Logs errors, never returns.
+ */
+_hidden  void libxl__exec(libxl__gc *gc, int stdinfd, int stdoutfd,
+                          int stderrfd, const char *arg0, char *const args[],
+                          char *const env[]);
 
 /* from xl_create */
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpg5-0001cv-5l; Tue, 22 May 2012 14:03:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWpg4-0001cI-01
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:08 +0000
Received: from [85.158.143.35:8546] by server-1.bemta-4.messagelabs.com id
	0A/E5-00342-B9C9BBF4; Tue, 22 May 2012 14:03:07 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337695385!4985065!1
X-Originating-IP: [65.55.88.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11052 invoked from network); 22 May 2012 14:03:06 -0000
Received: from tx2ehsobe003.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.13)
	by server-5.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 14:03:06 -0000
Received: from mail38-tx2-R.bigfish.com (10.9.14.251) by
	TX2EHSOBE007.bigfish.com (10.9.40.27) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 14:02:50 +0000
Received: from mail38-tx2 (localhost [127.0.0.1])	by mail38-tx2-R.bigfish.com
	(Postfix) with ESMTP id E792F300523;
	Tue, 22 May 2012 14:02:50 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail38-tx2 (localhost.localdomain [127.0.0.1]) by mail38-tx2
	(MessageSwitch) id 1337695357361735_10510;
	Tue, 22 May 2012 14:02:37 +0000 (UTC)
Received: from TX2EHSMHS035.bigfish.com (unknown [10.9.14.240])	by
	mail38-tx2.bigfish.com (Postfix) with ESMTP id 13BBA42064E;
	Tue, 22 May 2012 14:02:37 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS035.bigfish.com (10.9.99.135) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 14:02:33 +0000
X-WSS-ID: 0M4FGCK-01-558-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 251F110281C2;	Tue, 22 May 2012 09:02:44 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 09:02:54 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 09:02:45 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	10:02:44 -0400
Message-ID: <4FBB9C9F.4090401@amd.com>
Date: Tue, 22 May 2012 16:03:11 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337692887.10118.127.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 15:21, Ian Campbell wrote:

> On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
>> I thinkIn xs_talkv() something must fail.
>>
>>> The only thing which springs to mind is that it may generate an
>>> @IntroduceDomain watch event. However xl is single threaded so we won't
>>> process that event until we unwind to whichever point we do an event
>>> loop iteration, in which case the corruption would have to happen later
>>> than right after xs_introduce_domain().
>>>
>>> Did you manage to determine if "Bad file descriptor" was due to it being
>>> closed vs. the value being corrupted?
>>
>> My suspicion is that
>>
>>    if (msg.type != type)
>>
>> in xs_talkv() is true.
>>
> 
> Yes, that definitely seems worth investigating.


Ok, I got it.

xenstored crashes due to dereferencing NULL pointer.

In xenstored_domain.c, map_interface()  *xcg_handle is NULL
and in xc_gnttab.c, xc_gnttab_map_grant_ref() it is dereferenced.

Christoph



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpg5-0001cv-5l; Tue, 22 May 2012 14:03:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWpg4-0001cI-01
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:08 +0000
Received: from [85.158.143.35:8546] by server-1.bemta-4.messagelabs.com id
	0A/E5-00342-B9C9BBF4; Tue, 22 May 2012 14:03:07 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337695385!4985065!1
X-Originating-IP: [65.55.88.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11052 invoked from network); 22 May 2012 14:03:06 -0000
Received: from tx2ehsobe003.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.13)
	by server-5.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 14:03:06 -0000
Received: from mail38-tx2-R.bigfish.com (10.9.14.251) by
	TX2EHSOBE007.bigfish.com (10.9.40.27) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 14:02:50 +0000
Received: from mail38-tx2 (localhost [127.0.0.1])	by mail38-tx2-R.bigfish.com
	(Postfix) with ESMTP id E792F300523;
	Tue, 22 May 2012 14:02:50 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail38-tx2 (localhost.localdomain [127.0.0.1]) by mail38-tx2
	(MessageSwitch) id 1337695357361735_10510;
	Tue, 22 May 2012 14:02:37 +0000 (UTC)
Received: from TX2EHSMHS035.bigfish.com (unknown [10.9.14.240])	by
	mail38-tx2.bigfish.com (Postfix) with ESMTP id 13BBA42064E;
	Tue, 22 May 2012 14:02:37 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS035.bigfish.com (10.9.99.135) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 14:02:33 +0000
X-WSS-ID: 0M4FGCK-01-558-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 251F110281C2;	Tue, 22 May 2012 09:02:44 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 09:02:54 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 09:02:45 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	10:02:44 -0400
Message-ID: <4FBB9C9F.4090401@amd.com>
Date: Tue, 22 May 2012 16:03:11 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337692887.10118.127.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 15:21, Ian Campbell wrote:

> On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
>> I thinkIn xs_talkv() something must fail.
>>
>>> The only thing which springs to mind is that it may generate an
>>> @IntroduceDomain watch event. However xl is single threaded so we won't
>>> process that event until we unwind to whichever point we do an event
>>> loop iteration, in which case the corruption would have to happen later
>>> than right after xs_introduce_domain().
>>>
>>> Did you manage to determine if "Bad file descriptor" was due to it being
>>> closed vs. the value being corrupted?
>>
>> My suspicion is that
>>
>>    if (msg.type != type)
>>
>> in xs_talkv() is true.
>>
> 
> Yes, that definitely seems worth investigating.


Ok, I got it.

xenstored crashes due to dereferencing NULL pointer.

In xenstored_domain.c, map_interface()  *xcg_handle is NULL
and in xc_gnttab.c, xc_gnttab_map_grant_ref() it is dereferenced.

Christoph



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpgW-0001mi-Ii; Tue, 22 May 2012 14:03:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgV-0001mI-S9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:36 +0000
Received: from [85.158.138.51:36099] by server-5.bemta-3.messagelabs.com id
	AC/CD-17113-6BC9BBF4; Tue, 22 May 2012 14:03:34 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6037 invoked from network); 22 May 2012 14:03:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005181"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-QE;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:33 +0100
Message-ID: <1337695365-5142-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a function which behaves like "xenstore-rm -t", and which will be
used to clean xenstore after unplug since we will be no longer
executing xen-hotplug-cleanup script, that used to do that for us.

Changes since v5:

 * Abort if no transaction or user_path supplied.

 * Log all errors.

Changes since v4:

 * Caller must supply a transaction.

Changes since v3:

 * Better error checking and function description.

Changes since v2:

 * Moved the function to libxl_xshelp.c and added the prototype to
   libxl_internal.h.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |    8 ++++++++
 tools/libxl/libxl_xshelp.c   |   38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index aaaf644..ae5527b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -494,6 +494,14 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+/*
+ * This is a recursive delete, from top to bottom. What this function does
+ * is remove empty folders that contained the deleted entry.
+ *
+ * It mimics xenstore-rm -t behaviour.
+ */
+_hidden int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t,
+                                   char *user_path);
 
 /*
  * Event generation functions provided by the libxl event core to the
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 6ca1afe..c5b5364 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,44 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
+{
+    unsigned int nb = 0;
+    char *path, *last, *val;
+    int rc;
+
+    /* A path and transaction must be provided by the caller */
+    assert(user_path && t);
+
+    path = libxl__strdup(gc, user_path);
+    if (!xs_rm(CTX->xsh, t, path)) {
+        LOGE(DEBUG, "unable to remove path %s", path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    for (last = strrchr(path, '/'); last != NULL; last = strrchr(path, '/')) {
+        *last = '\0';
+
+        if (!strlen(path)) break;
+
+        val = libxl__xs_read(gc, t, path);
+        if (!val || strlen(val) != 0) break;
+
+        if (!libxl__xs_directory(gc, t, path, &nb) || nb != 0) break;
+
+        if (!xs_rm(CTX->xsh, t, path)) {
+            LOGE(DEBUG, "unable to remove path %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+    rc = 0;
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpgW-0001mi-Ii; Tue, 22 May 2012 14:03:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgV-0001mI-S9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:36 +0000
Received: from [85.158.138.51:36099] by server-5.bemta-3.messagelabs.com id
	AC/CD-17113-6BC9BBF4; Tue, 22 May 2012 14:03:34 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6037 invoked from network); 22 May 2012 14:03:33 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005181"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-QE;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:33 +0100
Message-ID: <1337695365-5142-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a function which behaves like "xenstore-rm -t", and which will be
used to clean xenstore after unplug since we will be no longer
executing xen-hotplug-cleanup script, that used to do that for us.

Changes since v5:

 * Abort if no transaction or user_path supplied.

 * Log all errors.

Changes since v4:

 * Caller must supply a transaction.

Changes since v3:

 * Better error checking and function description.

Changes since v2:

 * Moved the function to libxl_xshelp.c and added the prototype to
   libxl_internal.h.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |    8 ++++++++
 tools/libxl/libxl_xshelp.c   |   38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index aaaf644..ae5527b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -494,6 +494,14 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+/*
+ * This is a recursive delete, from top to bottom. What this function does
+ * is remove empty folders that contained the deleted entry.
+ *
+ * It mimics xenstore-rm -t behaviour.
+ */
+_hidden int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t,
+                                   char *user_path);
 
 /*
  * Event generation functions provided by the libxl event core to the
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 6ca1afe..c5b5364 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,44 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
+{
+    unsigned int nb = 0;
+    char *path, *last, *val;
+    int rc;
+
+    /* A path and transaction must be provided by the caller */
+    assert(user_path && t);
+
+    path = libxl__strdup(gc, user_path);
+    if (!xs_rm(CTX->xsh, t, path)) {
+        LOGE(DEBUG, "unable to remove path %s", path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    for (last = strrchr(path, '/'); last != NULL; last = strrchr(path, '/')) {
+        *last = '\0';
+
+        if (!strlen(path)) break;
+
+        val = libxl__xs_read(gc, t, path);
+        if (!val || strlen(val) != 0) break;
+
+        if (!libxl__xs_directory(gc, t, path, &nb) || nb != 0) break;
+
+        if (!xs_rm(CTX->xsh, t, path)) {
+            LOGE(DEBUG, "unable to remove path %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+    rc = 0;
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpga-0001oL-5B; Tue, 22 May 2012 14:03:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgY-0001nG-61
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:38 +0000
Received: from [85.158.138.51:36589] by server-3.bemta-3.messagelabs.com id
	6E/05-04048-9BC9BBF4; Tue, 22 May 2012 14:03:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6255 invoked from network); 22 May 2012 14:03:36 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005189"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:46 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-P7;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:39 +0100
Message-ID: <1337695365-5142-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 09/15] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++-----
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   70 +++++++++++++++++++++++++++++++++++++-----
 tools/libxl/libxl_device.c   |   18 +++++++++++
 tools/libxl/libxl_dm.c       |   54 ++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   11 ++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 176 insertions(+), 21 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 46d13a7..1a04f7a 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2017,12 +2017,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2053,7 +2068,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2094,6 +2110,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2104,18 +2123,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aoadd->dev = device;
+    aoadd->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aoadd);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aoadd->rc = rc;
+    if (rc) aoadd->callback(egc, aoadd);
+    return;
 }
 
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c14e832..0b15586 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -691,7 +691,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4378f48..076f755 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -737,13 +742,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -816,7 +819,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -836,6 +838,58 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+
+    if (!last) return;
+    if (ret) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 8058afa..91ec69f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
     }
 }
 
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_vifs);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_vifs; i++) {
+        libxl__init_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 670d1dd..034ca8e 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -840,9 +846,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -918,9 +926,49 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(aoadd->base, *sdss, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aoadd, sdss->devices,
+                                      sdss->num_devices, &last);
+
+    if (!last) return;
+    if (ret)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a5fc092..d303123 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1796,6 +1796,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aorm);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aorm);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1900,6 +1905,12 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback callback);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 69ce45a..46af9fb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4970,7 +4970,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpga-0001oL-5B; Tue, 22 May 2012 14:03:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgY-0001nG-61
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:38 +0000
Received: from [85.158.138.51:36589] by server-3.bemta-3.messagelabs.com id
	6E/05-04048-9BC9BBF4; Tue, 22 May 2012 14:03:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6255 invoked from network); 22 May 2012 14:03:36 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005189"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:46 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-P7;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:39 +0100
Message-ID: <1337695365-5142-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 09/15] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++-----
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   70 +++++++++++++++++++++++++++++++++++++-----
 tools/libxl/libxl_device.c   |   18 +++++++++++
 tools/libxl/libxl_dm.c       |   54 ++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   11 ++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 176 insertions(+), 21 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 46d13a7..1a04f7a 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2017,12 +2017,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2053,7 +2068,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2094,6 +2110,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2104,18 +2123,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aoadd->dev = device;
+    aoadd->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aoadd);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aoadd->rc = rc;
+    if (rc) aoadd->callback(egc, aoadd);
+    return;
 }
 
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c14e832..0b15586 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -691,7 +691,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4378f48..076f755 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -737,13 +742,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -816,7 +819,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -836,6 +838,58 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+
+    if (!last) return;
+    if (ret) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 8058afa..91ec69f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
     }
 }
 
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_vifs);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_vifs; i++) {
+        libxl__init_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 670d1dd..034ca8e 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -840,9 +846,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -918,9 +926,49 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(aoadd->base, *sdss, devices);
+    int last, ret = 0;
+
+    ret = libxl__ao_device_check_last(gc, aoadd, sdss->devices,
+                                      sdss->num_devices, &last);
+
+    if (!last) return;
+    if (ret)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a5fc092..d303123 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1796,6 +1796,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aorm);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aorm);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1900,6 +1905,12 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback callback);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 69ce45a..46af9fb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4970,7 +4970,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpga-0001oa-JA; Tue, 22 May 2012 14:03:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgZ-0001nG-1M
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:39 +0000
Received: from [85.158.138.51:36740] by server-3.bemta-3.messagelabs.com id
	37/15-04048-ABC9BBF4; Tue, 22 May 2012 14:03:38 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6515 invoked from network); 22 May 2012 14:03:37 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005180"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-MQ;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:32 +0100
Message-ID: <1337695365-5142-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 02/15] libxl: fix libxl__xs_directory usage
	of transaction
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__xs_directory takes a transaction parameter, but completely
ignores it, passing XBT_NULL unconditionally to xs_directory.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_xshelp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 3ea8d08..6ca1afe 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -111,7 +111,7 @@ char **libxl__xs_directory(libxl__gc *gc, xs_transaction_t t,
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **ret = NULL;
-    ret = xs_directory(ctx->xsh, XBT_NULL, path, nb);
+    ret = xs_directory(ctx->xsh, t, path, nb);
     libxl__ptr_add(gc, ret);
     return ret;
 }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpga-0001oa-JA; Tue, 22 May 2012 14:03:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgZ-0001nG-1M
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:39 +0000
Received: from [85.158.138.51:36740] by server-3.bemta-3.messagelabs.com id
	37/15-04048-ABC9BBF4; Tue, 22 May 2012 14:03:38 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6515 invoked from network); 22 May 2012 14:03:37 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005180"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfg-0003Qp-MQ;
	Tue, 22 May 2012 15:02:44 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:32 +0100
Message-ID: <1337695365-5142-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 02/15] libxl: fix libxl__xs_directory usage
	of transaction
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__xs_directory takes a transaction parameter, but completely
ignores it, passing XBT_NULL unconditionally to xs_directory.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_xshelp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index 3ea8d08..6ca1afe 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -111,7 +111,7 @@ char **libxl__xs_directory(libxl__gc *gc, xs_transaction_t t,
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **ret = NULL;
-    ret = xs_directory(ctx->xsh, XBT_NULL, path, nb);
+    ret = xs_directory(ctx->xsh, t, path, nb);
     libxl__ptr_add(gc, ret);
     return ret;
 }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpgc-0001q0-VS; Tue, 22 May 2012 14:03:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgb-0001ol-86
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:41 +0000
Received: from [85.158.138.51:61612] by server-4.bemta-3.messagelabs.com id
	85/31-15341-CBC9BBF4; Tue, 22 May 2012 14:03:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6767 invoked from network); 22 May 2012 14:03:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005187"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-50;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:36 +0100
Message-ID: <1337695365-5142-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 06/15] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b62110a..d2c013c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1067,44 +1067,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1833,6 +1795,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpgc-0001q0-VS; Tue, 22 May 2012 14:03:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgb-0001ol-86
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:41 +0000
Received: from [85.158.138.51:61612] by server-4.bemta-3.messagelabs.com id
	85/31-15341-CBC9BBF4; Tue, 22 May 2012 14:03:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6767 invoked from network); 22 May 2012 14:03:39 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005187"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:45 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-50;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:36 +0100
Message-ID: <1337695365-5142-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 06/15] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b62110a..d2c013c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1067,44 +1067,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1833,6 +1795,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpge-0001qy-Dq; Tue, 22 May 2012 14:03:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgd-0001nG-4c
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:43 +0000
Received: from [85.158.138.51:37406] by server-3.bemta-3.messagelabs.com id
	34/45-04048-EBC9BBF4; Tue, 22 May 2012 14:03:42 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!5
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6843 invoked from network); 22 May 2012 14:03:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005190"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:46 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-OU;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:38 +0100
Message-ID: <1337695365-5142-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 08/15] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/Makefile         |    2 +-
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   41 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   57 +++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   61 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |   26 ++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 8 files changed, 204 insertions(+), 39 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..81b467e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -13,7 +13,7 @@ XLUMINOR = 0
 
 CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
-CFLAGS += -I. -fPIC
+CFLAGS += -I. -fPIC -O0
 
 ifeq ($(CONFIG_Linux),y)
 LIBUUID_LIBS += -luuid
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b44ae75..46d13a7 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1480,13 +1480,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1510,7 +1528,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1528,7 +1547,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1549,7 +1568,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1581,22 +1600,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aoadd->dev = device;
+    aoadd->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aoadd);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aoadd->rc = rc;
+    if (rc) aoadd->callback(egc, aoadd);
+    return;
 }
 
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
@@ -1850,11 +1874,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 39a8c58..c14e832 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -663,7 +663,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 63f34fa..4378f48 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -670,7 +672,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -704,15 +705,37 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int i, last, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 020e934..8058afa 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,24 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return ret;
 }
 
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_disks);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_disks; i++) {
+        libxl__init_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -533,6 +551,45 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 
 static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
+    char *be_path = libxl__device_backend_path(gc, aoadd->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    int rc = 0;
+
+    if (aoadd->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aoadd->callback(egc, aoadd);
+        return;
+    }
+
+    if (atoi(state) == XenbusStateInitWait)
+        goto out_ok;
+
+    libxl__ev_devstate_init(&aoadd->ds);
+    rc = libxl__ev_devstate_wait(gc, &aoadd->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aoadd->rc = rc;
+    aoadd->callback(egc, aoadd);
+    return;
+
+out_ok:
+    assert(!rc);
+    aoadd->callback(egc, aoadd);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aorm)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 6604549..670d1dd 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,55 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0, last;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+    if (!last) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +857,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +893,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -869,11 +903,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 68d076c..a5fc092 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1790,6 +1791,19 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aorm);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1880,6 +1894,12 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1914,6 +1934,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1942,6 +1965,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c02b69..69ce45a 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5081,7 +5081,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:03:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:03:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpge-0001qy-Dq; Tue, 22 May 2012 14:03:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpgd-0001nG-4c
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:03:43 +0000
Received: from [85.158.138.51:37406] by server-3.bemta-3.messagelabs.com id
	34/45-04048-EBC9BBF4; Tue, 22 May 2012 14:03:42 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337695412!20556302!5
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6843 invoked from network); 22 May 2012 14:03:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:03:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196005190"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:02:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:02:46 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-OU;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:38 +0100
Message-ID: <1337695365-5142-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 08/15] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/Makefile         |    2 +-
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   41 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   57 +++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   61 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |   26 ++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 8 files changed, 204 insertions(+), 39 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..81b467e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -13,7 +13,7 @@ XLUMINOR = 0
 
 CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
-CFLAGS += -I. -fPIC
+CFLAGS += -I. -fPIC -O0
 
 ifeq ($(CONFIG_Linux),y)
 LIBUUID_LIBS += -luuid
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b44ae75..46d13a7 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1480,13 +1480,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__init_ao_device(device, ao, NULL);
+    device->callback = libxl__device_cb;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1510,7 +1528,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1528,7 +1547,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1549,7 +1568,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1581,22 +1600,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aoadd->dev = device;
+    aoadd->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aoadd);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aoadd->rc = rc;
+    if (rc) aoadd->callback(egc, aoadd);
+    return;
 }
 
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
@@ -1850,11 +1874,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 39a8c58..c14e832 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -663,7 +663,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 63f34fa..4378f48 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -670,7 +672,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -704,15 +705,37 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aorm->base, *dcs, devices);
+    int i, last, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aorm, dcs->devices,
+                                      dcs->num_devices, &last);
+    if (!last) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 020e934..8058afa 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,24 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return ret;
 }
 
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_disks);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_disks; i++) {
+        libxl__init_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -533,6 +551,45 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 
 static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aoadd)
+{
+    STATE_AO_GC(aoadd->ao);
+    char *be_path = libxl__device_backend_path(gc, aoadd->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    int rc = 0;
+
+    if (aoadd->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aoadd->callback(egc, aoadd);
+        return;
+    }
+
+    if (atoi(state) == XenbusStateInitWait)
+        goto out_ok;
+
+    libxl__ev_devstate_init(&aoadd->ds);
+    rc = libxl__ev_devstate_wait(gc, &aoadd->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aoadd->rc = rc;
+    aoadd->callback(egc, aoadd);
+    return;
+
+out_ok:
+    assert(!rc);
+    aoadd->callback(egc, aoadd);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aorm)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 6604549..670d1dd 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,55 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aorm)
+{
+    STATE_AO_GC(aorm->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aorm->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0, last;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aorm, sdss->devices,
+                                      sdss->num_devices, &last);
+    if (!last) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +857,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +893,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -869,11 +903,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 68d076c..a5fc092 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1790,6 +1791,19 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aorm);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aorm->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1880,6 +1894,12 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1914,6 +1934,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1942,6 +1965,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c02b69..69ce45a 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5081,7 +5081,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:04:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:04:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWphX-0002Id-4K; Tue, 22 May 2012 14:04:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWphW-0002I9-F4
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:04:38 +0000
Received: from [193.109.254.147:59461] by server-8.bemta-14.messagelabs.com id
	13/8F-23244-5FC9BBF4; Tue, 22 May 2012 14:04:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337695476!10613873!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5215 invoked from network); 22 May 2012 14:04:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:04:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12605770"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:04:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:04:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWphU-0007vE-An; Tue, 22 May 2012 14:04:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWphU-00079s-9q;
	Tue, 22 May 2012 15:04:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40180.246513.759964@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:04:36 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBB9976.9050605@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-10-git-send-email-roger.pau@citrix.com>
	<20406.31483.341852.193941@mariner.uk.xensource.com>
	<4FBB9976.9050605@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH 09/13] libxl: convert libxl_device_nic_add to an async operation"):
> Ian Jackson wrote:
> > Why do you serialise vif and vbd initialisation ?  Would anything go
> > wrong if you did them both at once ?
> 
> disk needs to be added before Qemu is launched, on the other hand nics 
> need to be added after qemu is launched, so we need to add them at 
> different moments during the domain creation, it's a PITA.

Ah I didn't spot that.  Right.

> >>       for (i = 0; i<  dm_config->num_vifs; i++) {
> >> -        ret = libxl_device_nic_add(ctx, dm_domid,&dm_config->vifs[i]);
> >> -        if (ret)
> >> -            goto out;
> >> +        /* We have to init the nic here, because we still haven't
> >> +         * called libxl_device_nic_add at this point, but qemu needs
> >> +         * the nic information to be complete.
> >> +         */
> >> +        libxl__device_nic_setdefault(gc,&dm_config->vifs[i]);
> >
> > This is really too much repetition now.  Can we not have a common "add
> > devices" function which is called once for the main domain and once
> > for the stubdom ?
> 
> I've added a functions that does the libxl_device_disk_add loop, and 
> another one for the nics. Although this line you are quoting is not 
> adding a nic, it is just filling the needed values so we can launch Qemu 
> correctly.

Right, OK.  I guess making these two functions common would involve
macros or a lot of void*'s, which you would rather avoid.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:04:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:04:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWphX-0002Id-4K; Tue, 22 May 2012 14:04:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWphW-0002I9-F4
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:04:38 +0000
Received: from [193.109.254.147:59461] by server-8.bemta-14.messagelabs.com id
	13/8F-23244-5FC9BBF4; Tue, 22 May 2012 14:04:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337695476!10613873!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5215 invoked from network); 22 May 2012 14:04:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:04:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12605770"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:04:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:04:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWphU-0007vE-An; Tue, 22 May 2012 14:04:36 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWphU-00079s-9q;
	Tue, 22 May 2012 15:04:36 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40180.246513.759964@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:04:36 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBB9976.9050605@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-10-git-send-email-roger.pau@citrix.com>
	<20406.31483.341852.193941@mariner.uk.xensource.com>
	<4FBB9976.9050605@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/13] libxl: convert libxl_device_nic_add
 to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH 09/13] libxl: convert libxl_device_nic_add to an async operation"):
> Ian Jackson wrote:
> > Why do you serialise vif and vbd initialisation ?  Would anything go
> > wrong if you did them both at once ?
> 
> disk needs to be added before Qemu is launched, on the other hand nics 
> need to be added after qemu is launched, so we need to add them at 
> different moments during the domain creation, it's a PITA.

Ah I didn't spot that.  Right.

> >>       for (i = 0; i<  dm_config->num_vifs; i++) {
> >> -        ret = libxl_device_nic_add(ctx, dm_domid,&dm_config->vifs[i]);
> >> -        if (ret)
> >> -            goto out;
> >> +        /* We have to init the nic here, because we still haven't
> >> +         * called libxl_device_nic_add at this point, but qemu needs
> >> +         * the nic information to be complete.
> >> +         */
> >> +        libxl__device_nic_setdefault(gc,&dm_config->vifs[i]);
> >
> > This is really too much repetition now.  Can we not have a common "add
> > devices" function which is called once for the main domain and once
> > for the stubdom ?
> 
> I've added a functions that does the libxl_device_disk_add loop, and 
> another one for the nics. Although this line you are quoting is not 
> adding a nic, it is just filling the needed values so we can launch Qemu 
> correctly.

Right, OK.  I guess making these two functions common would involve
macros or a lot of void*'s, which you would rather avoid.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:05:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpiR-0002eh-Kv; Tue, 22 May 2012 14:05:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpiQ-0002cu-24
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:05:34 +0000
Received: from [85.158.139.83:57439] by server-7.bemta-5.messagelabs.com id
	D1/67-12065-D2D9BBF4; Tue, 22 May 2012 14:05:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337695531!25474046!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21050 invoked from network); 22 May 2012 14:05:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:05:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12605810"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:05:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:05:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpiM-0007vZ-HO; Tue, 22 May 2012 14:05:30 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpiM-0007A0-GY;
	Tue, 22 May 2012 15:05:30 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40230.33745.717748@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:05:26 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-1-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 01/11] libxl: make
 libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 01/11] libxl: make libxl_device_disk_local_attach/detach internal functions"):
> Changes in v5:

Didn't we agree that this unnecessary code motion would go away ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:05:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpiR-0002eh-Kv; Tue, 22 May 2012 14:05:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpiQ-0002cu-24
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:05:34 +0000
Received: from [85.158.139.83:57439] by server-7.bemta-5.messagelabs.com id
	D1/67-12065-D2D9BBF4; Tue, 22 May 2012 14:05:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337695531!25474046!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21050 invoked from network); 22 May 2012 14:05:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:05:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12605810"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:05:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:05:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpiM-0007vZ-HO; Tue, 22 May 2012 14:05:30 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpiM-0007A0-GY;
	Tue, 22 May 2012 15:05:30 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40230.33745.717748@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:05:26 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-1-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 01/11] libxl: make
 libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 01/11] libxl: make libxl_device_disk_local_attach/detach internal functions"):
> Changes in v5:

Didn't we agree that this unnecessary code motion would go away ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:10:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpmj-0003Pf-Fz; Tue, 22 May 2012 14:10:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SWpmi-0003PU-0q
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:10:00 +0000
Received: from [85.158.143.99:37761] by server-2.bemta-4.messagelabs.com id
	B3/A3-12211-73E9BBF4; Tue, 22 May 2012 14:09:59 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337695796!18038893!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=2.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,SUBJECT_RANDOMQ,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13026 invoked from network); 22 May 2012 14:09:56 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:09:56 -0000
Received: by eekd41 with SMTP id d41so1835115eek.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 07:09:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=Q0kHC58lpnPiOWTTHI6bOjyoJjhoRNhMZny/ixHkFcg=;
	b=Kk4o6+xIMVK31WY4xv1NDdEOE0y+Uu3o+cha5HSbopfLMsI3EZkvQaY4nJK3H88MHU
	w5e38c0OXWxXXmJgHYaJx7iTom7Be473O4tyzXewOpdYJ3jD+igAEbwmOBUX45jolp3n
	uCNb8hum8fRbuO3LZmqFL0ue2cqEqpIBC9OVxNbZy7gS5MHxbgwLLjrjGvTmu7+0Fi9A
	MkdsBd4GpYxusCEJuvJ+guaME/Jdox9Yhn6OHmSEN3OXtDB7p9lSLKNLArAfKx7GRMBg
	c7jqRWHvmNfHQYcpw5p8KT3Qobakh7h6qubU3Pw8x+qQlNmOHg/bUBWL8vKQQ6LwmLGs
	hUag==
Received: by 10.213.33.142 with SMTP id h14mr5159532ebd.135.1337695796343;
	Tue, 22 May 2012 07:09:56 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z5sm107251153eem.3.2012.05.22.07.09.54
	(version=SSLv3 cipher=OTHER); Tue, 22 May 2012 07:09:55 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 22 May 2012 15:09:51 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <CBE15CBF.33AF1%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
	while in an irq context
Thread-Index: Ac04JI2lmgJNeKimrESQK5veUbEqfg==
In-Reply-To: <4FBB6502020000780008505C@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 22/05/2012 09:05, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> Rather than using the non-obvious conditional around an xfree() that
>>>> would be passed NULL only in the inverse case (which could easily get
>>>> removed by a future change on the basis that calling xfree(NULL) is
>>>> benign), switch the order of checks in xfree() itself and only suppress
>>>> the call to XSM that could potentially call xmalloc().
>>>> 
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> 
>>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> 
>> I'm a bit dubious about having a function that can be called in irq context
>> for some input values but not others. I suppose this trivial case for
>> xfree() is obvious enough, so I'm okay with it. If it was anything more
>> subtle, I would probably nack.
> 
> I did ask that in the original thread, but you never responded
> either way. Is your above reply an ack then, or should I commit
> Andy's original patch instead?

It's an Ack :)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:10:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpmj-0003Pf-Fz; Tue, 22 May 2012 14:10:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SWpmi-0003PU-0q
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:10:00 +0000
Received: from [85.158.143.99:37761] by server-2.bemta-4.messagelabs.com id
	B3/A3-12211-73E9BBF4; Tue, 22 May 2012 14:09:59 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337695796!18038893!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=2.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,SUBJECT_RANDOMQ,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13026 invoked from network); 22 May 2012 14:09:56 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:09:56 -0000
Received: by eekd41 with SMTP id d41so1835115eek.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 07:09:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=Q0kHC58lpnPiOWTTHI6bOjyoJjhoRNhMZny/ixHkFcg=;
	b=Kk4o6+xIMVK31WY4xv1NDdEOE0y+Uu3o+cha5HSbopfLMsI3EZkvQaY4nJK3H88MHU
	w5e38c0OXWxXXmJgHYaJx7iTom7Be473O4tyzXewOpdYJ3jD+igAEbwmOBUX45jolp3n
	uCNb8hum8fRbuO3LZmqFL0ue2cqEqpIBC9OVxNbZy7gS5MHxbgwLLjrjGvTmu7+0Fi9A
	MkdsBd4GpYxusCEJuvJ+guaME/Jdox9Yhn6OHmSEN3OXtDB7p9lSLKNLArAfKx7GRMBg
	c7jqRWHvmNfHQYcpw5p8KT3Qobakh7h6qubU3Pw8x+qQlNmOHg/bUBWL8vKQQ6LwmLGs
	hUag==
Received: by 10.213.33.142 with SMTP id h14mr5159532ebd.135.1337695796343;
	Tue, 22 May 2012 07:09:56 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id z5sm107251153eem.3.2012.05.22.07.09.54
	(version=SSLv3 cipher=OTHER); Tue, 22 May 2012 07:09:55 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 22 May 2012 15:09:51 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <CBE15CBF.33AF1%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
	while in an irq context
Thread-Index: Ac04JI2lmgJNeKimrESQK5veUbEqfg==
In-Reply-To: <4FBB6502020000780008505C@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: prevent call to xfree() in dump_irqs()
 while in an irq context
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 22/05/2012 09:05, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> Rather than using the non-obvious conditional around an xfree() that
>>>> would be passed NULL only in the inverse case (which could easily get
>>>> removed by a future change on the basis that calling xfree(NULL) is
>>>> benign), switch the order of checks in xfree() itself and only suppress
>>>> the call to XSM that could potentially call xmalloc().
>>>> 
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> 
>>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> 
>> I'm a bit dubious about having a function that can be called in irq context
>> for some input values but not others. I suppose this trivial case for
>> xfree() is obvious enough, so I'm okay with it. If it was anything more
>> subtle, I would probably nack.
> 
> I did ask that in the original thread, but you never responded
> either way. Is your above reply an ack then, or should I commit
> Andy's original patch instead?

It's an Ack :)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:10:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:10:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpn2-0003SN-Tz; Tue, 22 May 2012 14:10:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWpn1-0003S5-Qt
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:10:20 +0000
Received: from [85.158.143.35:46118] by server-3.bemta-4.messagelabs.com id
	D7/91-05853-B4E9BBF4; Tue, 22 May 2012 14:10:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337695815!5767186!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32138 invoked from network); 22 May 2012 14:10:16 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 14:10:16 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 15:10:15 +0100
Message-Id: <4FBBBA870200007800085296@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 15:10:47 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Wei Wang" <wei.wang2@amd.com>
References: <4FBB9B06.1030200@amd.com>
In-Reply-To: <4FBB9B06.1030200@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 15:56, Wei Wang <wei.wang2@amd.com> wrote:
> Hi Jan
> This patch implements the suggested workaround for erratum 732 & 733. It 
> is mostly derived from the Linux patch recently posted. Please review it.
> Thanks,
> Wei

Looks good in principle, but came out with newline damage. Can
you please resend as attachment, ideally at once fixing a few
(mostly cosmetic) things:

> # HG changeset patch
> # User Wei Wang <wei.wang2@amd.com>
> # Date 1337690747 -7200
> # Node ID 06aebc361de7f308b262b008153ae4549c4480c2
> # Parent  592d15bd4d5ec58486d32ee9998319e7c95fcd66
> amd iommu: Add workaround for erratum 733 & 733

732 & 733

> Signed-off-by: Wei Wang <wei.wang2@amd.com>
> 
> diff -r 592d15bd4d5e -r 06aebc361de7 
> xen/drivers/passthrough/amd/iommu_init.c
> --- a/xen/drivers/passthrough/amd/iommu_init.c    Fri May 18 16:19:21 
> 2012 +0100
> +++ b/xen/drivers/passthrough/amd/iommu_init.c    Tue May 22 14:45:47 
> 2012 +0200
> @@ -29,6 +29,7 @@
>   #include <asm/hvm/svm/amd-iommu-proto.h>
>   #include <asm-x86/fixmap.h>
>   #include <mach_apic.h>
> +#include <xen/delay.h>
> 
>   static int __initdata nr_amd_iommus;
> 
> @@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
>       u16 domain_id, device_id, bdf, cword;
>       u32 code;
>       u64 *addr;
> +    int count = 0;
>       char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
>                             "IO_PAGE_FAULT",
>                             "DEV_TABLE_HW_ERROR",
> @@ -575,9 +577,27 @@ static void parse_event_log_entry(struct
>                             "IOTLB_INV_TIMEOUT",
>                             "INVALID_DEV_REQUEST"};
> 
> +retry:
>       code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
>                                               IOMMU_EVENT_CODE_SHIFT);
> 
> +    /* Workaround for erratum 732.

    /*
     * Workaround for erratum 732.

> +     * it can happen that the tail pointer is updated before the actual 
> entry
> +     * is written. Suggested by RevGuide, we initialize the event log 
> buffer to
> +     * all zeros and write event log entries to zero after they are 
> processed.
> +     */
> +
> +    if ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No event written to event log\n");

Perhaps remove the second "event".

> +            return;
> +        }
> +        udelay(1);
> +        goto retry;
> +    }
> +
>       if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
>           (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
>       {
> @@ -615,6 +635,8 @@ static void parse_event_log_entry(struct
>           AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
>                           entry[1], entry[2], entry[3]);
>       }
> +
> +    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
>   }
> 
>   static void iommu_check_event_log(struct amd_iommu *iommu)
> @@ -646,10 +668,32 @@ void parse_ppr_log_entry(struct amd_iomm
>   {
> 
>       u16 device_id;
> -    u8 bus, devfn;
> +    u8 bus, devfn, code;
>       struct pci_dev *pdev;
>       struct domain *d;
> +    int count = 0;
> 
> +retry:
> +    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
> +                                            IOMMU_PPR_LOG_CODE_SHIFT);
> +
> +    /* Workaround for erratum 733.

See above.

> +     * it can happen that the tail pointer is updated before the actual 
> entry
> +     * is written. Suggested by RevGuide, we initialize the ppr log 
> buffer to
> +     * all zeros and write ppr log entries to zero after they are 
> processed.
> +     */
> +
> +    if ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to ppr log\n");

Perhaps remove the second "ppr".

> +            return;
> +        }
> +        udelay(1);
> +        goto retry;
> +    }
> +
>       /* here device_id is physical value */
>       device_id = iommu_get_devid_from_cmd(entry[0]);
>       bus = PCI_BUS(device_id);
> @@ -665,6 +709,8 @@ void parse_ppr_log_entry(struct amd_iomm
>       d = pdev->domain;
> 
>       guest_iommu_add_ppr_log(d, entry);
> +
> +    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
>   }
> 
>   static void iommu_check_ppr_log(struct amd_iommu *iommu)

I'd personally also prefer the loops to be written as such (i.e.
without goto-s).

> --- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Fri May 18 
> 16:19:21 2012 +0100
> +++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Tue May 22 
> 14:45:47 2012 +0200
> @@ -301,6 +301,10 @@
>   #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
>   #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
>   #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
> +#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
> +#define IOMMU_PPR_LOG_CODE_SHIFT                        28
> +
> +#define IOMMU_LOG_ENTRY_TIMEOUT                         100000

That's rather long a timeout (100ms) for a busy loop - is that
really necessary?

Jan

> 
>   /* Control Register */
>   #define IOMMU_CONTROL_MMIO_OFFSET            0x18



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:10:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:10:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpn2-0003SN-Tz; Tue, 22 May 2012 14:10:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWpn1-0003S5-Qt
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:10:20 +0000
Received: from [85.158.143.35:46118] by server-3.bemta-4.messagelabs.com id
	D7/91-05853-B4E9BBF4; Tue, 22 May 2012 14:10:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337695815!5767186!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32138 invoked from network); 22 May 2012 14:10:16 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 14:10:16 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 15:10:15 +0100
Message-Id: <4FBBBA870200007800085296@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 15:10:47 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Wei Wang" <wei.wang2@amd.com>
References: <4FBB9B06.1030200@amd.com>
In-Reply-To: <4FBB9B06.1030200@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 15:56, Wei Wang <wei.wang2@amd.com> wrote:
> Hi Jan
> This patch implements the suggested workaround for erratum 732 & 733. It 
> is mostly derived from the Linux patch recently posted. Please review it.
> Thanks,
> Wei

Looks good in principle, but came out with newline damage. Can
you please resend as attachment, ideally at once fixing a few
(mostly cosmetic) things:

> # HG changeset patch
> # User Wei Wang <wei.wang2@amd.com>
> # Date 1337690747 -7200
> # Node ID 06aebc361de7f308b262b008153ae4549c4480c2
> # Parent  592d15bd4d5ec58486d32ee9998319e7c95fcd66
> amd iommu: Add workaround for erratum 733 & 733

732 & 733

> Signed-off-by: Wei Wang <wei.wang2@amd.com>
> 
> diff -r 592d15bd4d5e -r 06aebc361de7 
> xen/drivers/passthrough/amd/iommu_init.c
> --- a/xen/drivers/passthrough/amd/iommu_init.c    Fri May 18 16:19:21 
> 2012 +0100
> +++ b/xen/drivers/passthrough/amd/iommu_init.c    Tue May 22 14:45:47 
> 2012 +0200
> @@ -29,6 +29,7 @@
>   #include <asm/hvm/svm/amd-iommu-proto.h>
>   #include <asm-x86/fixmap.h>
>   #include <mach_apic.h>
> +#include <xen/delay.h>
> 
>   static int __initdata nr_amd_iommus;
> 
> @@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
>       u16 domain_id, device_id, bdf, cword;
>       u32 code;
>       u64 *addr;
> +    int count = 0;
>       char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
>                             "IO_PAGE_FAULT",
>                             "DEV_TABLE_HW_ERROR",
> @@ -575,9 +577,27 @@ static void parse_event_log_entry(struct
>                             "IOTLB_INV_TIMEOUT",
>                             "INVALID_DEV_REQUEST"};
> 
> +retry:
>       code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
>                                               IOMMU_EVENT_CODE_SHIFT);
> 
> +    /* Workaround for erratum 732.

    /*
     * Workaround for erratum 732.

> +     * it can happen that the tail pointer is updated before the actual 
> entry
> +     * is written. Suggested by RevGuide, we initialize the event log 
> buffer to
> +     * all zeros and write event log entries to zero after they are 
> processed.
> +     */
> +
> +    if ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No event written to event log\n");

Perhaps remove the second "event".

> +            return;
> +        }
> +        udelay(1);
> +        goto retry;
> +    }
> +
>       if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
>           (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
>       {
> @@ -615,6 +635,8 @@ static void parse_event_log_entry(struct
>           AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
>                           entry[1], entry[2], entry[3]);
>       }
> +
> +    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
>   }
> 
>   static void iommu_check_event_log(struct amd_iommu *iommu)
> @@ -646,10 +668,32 @@ void parse_ppr_log_entry(struct amd_iomm
>   {
> 
>       u16 device_id;
> -    u8 bus, devfn;
> +    u8 bus, devfn, code;
>       struct pci_dev *pdev;
>       struct domain *d;
> +    int count = 0;
> 
> +retry:
> +    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
> +                                            IOMMU_PPR_LOG_CODE_SHIFT);
> +
> +    /* Workaround for erratum 733.

See above.

> +     * it can happen that the tail pointer is updated before the actual 
> entry
> +     * is written. Suggested by RevGuide, we initialize the ppr log 
> buffer to
> +     * all zeros and write ppr log entries to zero after they are 
> processed.
> +     */
> +
> +    if ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to ppr log\n");

Perhaps remove the second "ppr".

> +            return;
> +        }
> +        udelay(1);
> +        goto retry;
> +    }
> +
>       /* here device_id is physical value */
>       device_id = iommu_get_devid_from_cmd(entry[0]);
>       bus = PCI_BUS(device_id);
> @@ -665,6 +709,8 @@ void parse_ppr_log_entry(struct amd_iomm
>       d = pdev->domain;
> 
>       guest_iommu_add_ppr_log(d, entry);
> +
> +    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
>   }
> 
>   static void iommu_check_ppr_log(struct amd_iommu *iommu)

I'd personally also prefer the loops to be written as such (i.e.
without goto-s).

> --- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Fri May 18 
> 16:19:21 2012 +0100
> +++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Tue May 22 
> 14:45:47 2012 +0200
> @@ -301,6 +301,10 @@
>   #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
>   #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
>   #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
> +#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
> +#define IOMMU_PPR_LOG_CODE_SHIFT                        28
> +
> +#define IOMMU_LOG_ENTRY_TIMEOUT                         100000

That's rather long a timeout (100ms) for a busy loop - is that
really necessary?

Jan

> 
>   /* Control Register */
>   #define IOMMU_CONTROL_MMIO_OFFSET            0x18



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:11:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpoK-0003bP-Cl; Tue, 22 May 2012 14:11:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpoI-0003bF-Dk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:11:38 +0000
Received: from [193.109.254.147:59660] by server-7.bemta-14.messagelabs.com id
	78/79-01627-99E9BBF4; Tue, 22 May 2012 14:11:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337695895!3753485!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14628 invoked from network); 22 May 2012 14:11:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:11:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441035"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:11:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:11:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpoE-0003YJ-76;
	Tue, 22 May 2012 15:11:34 +0100
Message-ID: <4FBB9E9A.6030107@citrix.com>
Date: Tue, 22 May 2012 15:11:38 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-8-git-send-email-roger.pau@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne wrote:
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.
>
> All uses of libxl_domain_destroy have been changed, and either
> replaced by the new libxl_domain_destroy ao function or by the
> internal libxl__domain_destroy that can be used inside an already
> running ao.
>
> Cc: Ian Jackson<ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
> ---
>   tools/libxl/libxl.c          |  167 +++++++++++++++++++++++++++++++++---
>   tools/libxl/libxl.h          |    3 +-
>   tools/libxl/libxl_create.c   |   29 ++++++-
>   tools/libxl/libxl_device.c   |  192 ++++++++++++++++++++++++++++++++++--------
>   tools/libxl/libxl_dm.c       |   85 ++++++++++---------
>   tools/libxl/libxl_internal.h |   90 +++++++++++++++++++-
>   tools/libxl/xl_cmdimpl.c     |   12 ++--
>   7 files changed, 473 insertions(+), 105 deletions(-)

[ ...]

> @@ -413,30 +490,40 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
>               path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
>                                     domid, kinds[i], devs[j]);
>               path = libxl__xs_read(gc, XBT_NULL, path);
> -            if (path&&  libxl__parse_backend_path(gc, path,&dev) == 0) {
> -                dev.domid = domid;
> -                dev.kind = kind;
> -                dev.devid = atoi(devs[j]);
> -
> -                libxl__device_destroy(gc,&dev);
> +            printf("device: %s\n", path);

This should not be here.

> +            GCNEW(dev);
> +            if (path&&  libxl__parse_backend_path(gc, path, dev) == 0) {
> +                dev->domid = domid;
> +                dev->kind = kind;
> +                dev->devid = atoi(devs[j]);
> +                drs->aorm[numdev].action = DEVICE_DISCONNECT;
> +                drs->aorm[numdev].dev = dev;
> +                drs->aorm[numdev].callback = device_remove_callback;
> +                drs->aorm[numdev].force = drs->force;
> +                libxl__initiate_device_remove(egc,&drs->aorm[numdev]);
> +                numdev++;
>               }
>           }
>       }
>
>       /* console 0 frontend directory is not under /local/domain/<domid>/device */
>       path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
> +    printf("frontend: %s\n", path);
>       path = libxl__xs_read(gc, XBT_NULL, path);
> +    printf("backend: %s\n", path);

Neither should this. I will resend without this printfs, but please 
ignore them for review.

[...]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:11:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpoK-0003bP-Cl; Tue, 22 May 2012 14:11:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpoI-0003bF-Dk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:11:38 +0000
Received: from [193.109.254.147:59660] by server-7.bemta-14.messagelabs.com id
	78/79-01627-99E9BBF4; Tue, 22 May 2012 14:11:37 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337695895!3753485!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14628 invoked from network); 22 May 2012 14:11:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:11:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441035"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:11:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:11:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpoE-0003YJ-76;
	Tue, 22 May 2012 15:11:34 +0100
Message-ID: <4FBB9E9A.6030107@citrix.com>
Date: Tue, 22 May 2012 15:11:38 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-8-git-send-email-roger.pau@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne wrote:
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.
>
> All uses of libxl_domain_destroy have been changed, and either
> replaced by the new libxl_domain_destroy ao function or by the
> internal libxl__domain_destroy that can be used inside an already
> running ao.
>
> Cc: Ian Jackson<ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
> ---
>   tools/libxl/libxl.c          |  167 +++++++++++++++++++++++++++++++++---
>   tools/libxl/libxl.h          |    3 +-
>   tools/libxl/libxl_create.c   |   29 ++++++-
>   tools/libxl/libxl_device.c   |  192 ++++++++++++++++++++++++++++++++++--------
>   tools/libxl/libxl_dm.c       |   85 ++++++++++---------
>   tools/libxl/libxl_internal.h |   90 +++++++++++++++++++-
>   tools/libxl/xl_cmdimpl.c     |   12 ++--
>   7 files changed, 473 insertions(+), 105 deletions(-)

[ ...]

> @@ -413,30 +490,40 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
>               path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
>                                     domid, kinds[i], devs[j]);
>               path = libxl__xs_read(gc, XBT_NULL, path);
> -            if (path&&  libxl__parse_backend_path(gc, path,&dev) == 0) {
> -                dev.domid = domid;
> -                dev.kind = kind;
> -                dev.devid = atoi(devs[j]);
> -
> -                libxl__device_destroy(gc,&dev);
> +            printf("device: %s\n", path);

This should not be here.

> +            GCNEW(dev);
> +            if (path&&  libxl__parse_backend_path(gc, path, dev) == 0) {
> +                dev->domid = domid;
> +                dev->kind = kind;
> +                dev->devid = atoi(devs[j]);
> +                drs->aorm[numdev].action = DEVICE_DISCONNECT;
> +                drs->aorm[numdev].dev = dev;
> +                drs->aorm[numdev].callback = device_remove_callback;
> +                drs->aorm[numdev].force = drs->force;
> +                libxl__initiate_device_remove(egc,&drs->aorm[numdev]);
> +                numdev++;
>               }
>           }
>       }
>
>       /* console 0 frontend directory is not under /local/domain/<domid>/device */
>       path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
> +    printf("frontend: %s\n", path);
>       path = libxl__xs_read(gc, XBT_NULL, path);
> +    printf("backend: %s\n", path);

Neither should this. I will resend without this printfs, but please 
ignore them for review.

[...]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:12:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpoc-0003eo-Pi; Tue, 22 May 2012 14:11:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SWpob-0003eT-Ep
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:11:57 +0000
Received: from [85.158.143.35:4939] by server-1.bemta-4.messagelabs.com id
	F7/19-00342-CAE9BBF4; Tue, 22 May 2012 14:11:56 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337695915!13519529!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16861 invoked from network); 22 May 2012 14:11:55 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:11:55 -0000
Received: by eekd41 with SMTP id d41so1836039eek.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 07:11:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=cN+PtzCAg6hyG7f74WELX9ZrpncM2fvMCU77E9abgn4=;
	b=UbgffBFIN42TtK9t2vywMoMwTeoogIdK8Wq2q5Iyb123eGjvijOmbSx2MuRWqMptax
	TgKf+WCtLb0uirYh7Kr7Tt/0oKa8jowe/ZHY/OFjEv3hHSK3tWTCrphlj4rGpIaap9za
	EorJOjD28AuyeMTEwokCJdWcKJPaOZcGRNOIoU3B/JTFJXD1bmTsvpj0JaM3F0pgBKBO
	oZfm/xXIA1HOkLnmLp72eI9cLgu7UoV2twCyELUT899UI6cxUG1CI4+4rPKfA+H7ZAId
	QTR40dhomeiyBm0TACqgZo8XODj9sD6u+6I4W4epF8UFBOgm885E4nsgiRWqz/7s86Gb
	ri3A==
Received: by 10.213.32.201 with SMTP id e9mr2321617ebd.82.1337695915198;
	Tue, 22 May 2012 07:11:55 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104]) by mx.google.com with ESMTPS id
	v46sm107242705eef.11.2012.05.22.07.11.53
	(version=SSLv3 cipher=OTHER); Tue, 22 May 2012 07:11:54 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 22 May 2012 15:11:47 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBE15D33.33AF2%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: don't hold off NMI delivery when MCE is
	masked
Thread-Index: Ac04JNLJILvsmzwIH0GSZvlue6rnzA==
In-Reply-To: <4FBB97C90200007800085160@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: don't hold off NMI delivery when MCE
 is masked
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 22/05/2012 12:42, "Jan Beulich" <JBeulich@suse.com> wrote:

> Likely through copy'n'paste, all three instances of guest MCE
> processing jumped to the wrong place (where NMI processing code
> correctly jumps to) when MCE-s are temporarily masked (due to one
> currently being processed by the guest). A nested, unmasked NMI should
> get delivered immediately, however.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/x86_32/entry.S
> +++ b/xen/arch/x86/x86_32/entry.S
> @@ -214,6 +214,7 @@ test_all_events:
>          jnz  process_softirqs
>          testb $1,VCPU_mce_pending(%ebx)
>          jnz  process_mce
> +.Ltest_guest_nmi:
>          testb $1,VCPU_nmi_pending(%ebx)
>          jnz  process_nmi
>  test_guest_events:
> @@ -243,7 +244,7 @@ process_softirqs:
>  /* %ebx: struct vcpu */
>  process_mce:
>          testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%ebx)
> -        jnz  test_guest_events
> +        jnz  .Ltest_guest_nmi
>          sti
>          movb $0,VCPU_mce_pending(%ebx)
>          call set_guest_machinecheck_trapbounce
> --- a/xen/arch/x86/x86_64/compat/entry.S
> +++ b/xen/arch/x86/x86_64/compat/entry.S
> @@ -103,6 +103,7 @@ ENTRY(compat_test_all_events)
>          jnz   compat_process_softirqs
>          testb $1,VCPU_mce_pending(%rbx)
>          jnz   compat_process_mce
> +.Lcompat_test_guest_nmi:
>          testb $1,VCPU_nmi_pending(%rbx)
>          jnz   compat_process_nmi
>  compat_test_guest_events:
> @@ -133,7 +134,7 @@ compat_process_softirqs:
>  /* %rbx: struct vcpu */
>  compat_process_mce:
>          testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
> -        jnz  compat_test_guest_events
> +        jnz   .Lcompat_test_guest_nmi
>          sti
>          movb $0,VCPU_mce_pending(%rbx)
>          call set_guest_machinecheck_trapbounce
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -192,6 +192,7 @@ test_all_events:
>          jnz   process_softirqs
>          testb $1,VCPU_mce_pending(%rbx)
>          jnz   process_mce
> +.Ltest_guest_nmi:
>          testb $1,VCPU_nmi_pending(%rbx)
>          jnz   process_nmi
>  test_guest_events:
> @@ -220,7 +221,7 @@ process_softirqs:
>  /* %rbx: struct vcpu */
>  process_mce:
>          testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
> -        jnz  test_guest_events
> +        jnz  .Ltest_guest_nmi
>          sti
>          movb $0,VCPU_mce_pending(%rbx)
>          call set_guest_machinecheck_trapbounce
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:12:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpoc-0003eo-Pi; Tue, 22 May 2012 14:11:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SWpob-0003eT-Ep
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:11:57 +0000
Received: from [85.158.143.35:4939] by server-1.bemta-4.messagelabs.com id
	F7/19-00342-CAE9BBF4; Tue, 22 May 2012 14:11:56 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337695915!13519529!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16861 invoked from network); 22 May 2012 14:11:55 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:11:55 -0000
Received: by eekd41 with SMTP id d41so1836039eek.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 07:11:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=cN+PtzCAg6hyG7f74WELX9ZrpncM2fvMCU77E9abgn4=;
	b=UbgffBFIN42TtK9t2vywMoMwTeoogIdK8Wq2q5Iyb123eGjvijOmbSx2MuRWqMptax
	TgKf+WCtLb0uirYh7Kr7Tt/0oKa8jowe/ZHY/OFjEv3hHSK3tWTCrphlj4rGpIaap9za
	EorJOjD28AuyeMTEwokCJdWcKJPaOZcGRNOIoU3B/JTFJXD1bmTsvpj0JaM3F0pgBKBO
	oZfm/xXIA1HOkLnmLp72eI9cLgu7UoV2twCyELUT899UI6cxUG1CI4+4rPKfA+H7ZAId
	QTR40dhomeiyBm0TACqgZo8XODj9sD6u+6I4W4epF8UFBOgm885E4nsgiRWqz/7s86Gb
	ri3A==
Received: by 10.213.32.201 with SMTP id e9mr2321617ebd.82.1337695915198;
	Tue, 22 May 2012 07:11:55 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104]) by mx.google.com with ESMTPS id
	v46sm107242705eef.11.2012.05.22.07.11.53
	(version=SSLv3 cipher=OTHER); Tue, 22 May 2012 07:11:54 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 22 May 2012 15:11:47 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBE15D33.33AF2%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86: don't hold off NMI delivery when MCE is
	masked
Thread-Index: Ac04JNLJILvsmzwIH0GSZvlue6rnzA==
In-Reply-To: <4FBB97C90200007800085160@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86: don't hold off NMI delivery when MCE
 is masked
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 22/05/2012 12:42, "Jan Beulich" <JBeulich@suse.com> wrote:

> Likely through copy'n'paste, all three instances of guest MCE
> processing jumped to the wrong place (where NMI processing code
> correctly jumps to) when MCE-s are temporarily masked (due to one
> currently being processed by the guest). A nested, unmasked NMI should
> get delivered immediately, however.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/x86_32/entry.S
> +++ b/xen/arch/x86/x86_32/entry.S
> @@ -214,6 +214,7 @@ test_all_events:
>          jnz  process_softirqs
>          testb $1,VCPU_mce_pending(%ebx)
>          jnz  process_mce
> +.Ltest_guest_nmi:
>          testb $1,VCPU_nmi_pending(%ebx)
>          jnz  process_nmi
>  test_guest_events:
> @@ -243,7 +244,7 @@ process_softirqs:
>  /* %ebx: struct vcpu */
>  process_mce:
>          testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%ebx)
> -        jnz  test_guest_events
> +        jnz  .Ltest_guest_nmi
>          sti
>          movb $0,VCPU_mce_pending(%ebx)
>          call set_guest_machinecheck_trapbounce
> --- a/xen/arch/x86/x86_64/compat/entry.S
> +++ b/xen/arch/x86/x86_64/compat/entry.S
> @@ -103,6 +103,7 @@ ENTRY(compat_test_all_events)
>          jnz   compat_process_softirqs
>          testb $1,VCPU_mce_pending(%rbx)
>          jnz   compat_process_mce
> +.Lcompat_test_guest_nmi:
>          testb $1,VCPU_nmi_pending(%rbx)
>          jnz   compat_process_nmi
>  compat_test_guest_events:
> @@ -133,7 +134,7 @@ compat_process_softirqs:
>  /* %rbx: struct vcpu */
>  compat_process_mce:
>          testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
> -        jnz  compat_test_guest_events
> +        jnz   .Lcompat_test_guest_nmi
>          sti
>          movb $0,VCPU_mce_pending(%rbx)
>          call set_guest_machinecheck_trapbounce
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -192,6 +192,7 @@ test_all_events:
>          jnz   process_softirqs
>          testb $1,VCPU_mce_pending(%rbx)
>          jnz   process_mce
> +.Ltest_guest_nmi:
>          testb $1,VCPU_nmi_pending(%rbx)
>          jnz   process_nmi
>  test_guest_events:
> @@ -220,7 +221,7 @@ process_softirqs:
>  /* %rbx: struct vcpu */
>  process_mce:
>          testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
> -        jnz  test_guest_events
> +        jnz  .Ltest_guest_nmi
>          sti
>          movb $0,VCPU_mce_pending(%rbx)
>          call set_guest_machinecheck_trapbounce
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:12:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:12:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWppH-0003nH-Df; Tue, 22 May 2012 14:12:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWppG-0003mt-6h
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:12:38 +0000
Received: from [85.158.139.83:53318] by server-7.bemta-5.messagelabs.com id
	8E/87-12065-5DE9BBF4; Tue, 22 May 2012 14:12:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337695955!29729722!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28945 invoked from network); 22 May 2012 14:12:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:12:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606052"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:12:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:12:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpp4-0007xm-5U; Tue, 22 May 2012 14:12:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpp4-0007B3-4j;
	Tue, 22 May 2012 15:12:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40650.132942.40206@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:12:26 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.

Thanks.

So comparing the comment:

> +    /* Should be zeroed by caller on entry.  Will be filled in by
> +     * bootloader machinery; represents the local attachment of the
> +     * disk for the benefit of the bootloader.  Must be detached by
> +     * the caller using libxl__device_disk_local_detach, but only
> +     * after the domain's kernel and initramfs have been loaded into
> +     * memory and the file references disposed of. */
> +    libxl_device_disk localdisk;

with the code in the caller: on entry it is indeed zeroed by the GCNEW
of the whole domain_create_state.  However on exit:

>      if (bl->diskpath) {
> -        libxl__device_disk_local_detach(gc, bl->disk);
> +        libxl__device_disk_local_detach(gc, &bl->localdisk);
> +        free(bl->localdisk.pdev_path);
> +        free(bl->localdisk.script);
>          free(bl->diskpath);

This does not correspond exactly to the comment.  Not only do we call
detach but apparently we need to free some things too.

It's not clear to me why these things haven't come from a suitable
gc.  But if they can't come from a gc then the comment needs to
mention that they need to be freed.

> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *disk)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      char *ret = NULL;
>      int rc;
>  
> +    if (in_disk->pdev_path == NULL)
> +        return NULL;
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    disk->pdev_path = strdup(in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = strdup(in_disk->script);
> +    disk->vdev = NULL;

Re my comment about the gc, do we call this function anywhere else ?
Could it take the ao for the benefit of its gc ?  Would that violate
some rules about the usual contents of a libxl_device_disk ?

> @@ -367,8 +378,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                             " attach a qdisk image if the format is not raw");
>                  break;
>              }
> -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
> +                       in_disk->pdev_path);

A very minor comment, but: you might want to change this to LOG while
you're at it.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:12:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:12:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWppH-0003nH-Df; Tue, 22 May 2012 14:12:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWppG-0003mt-6h
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:12:38 +0000
Received: from [85.158.139.83:53318] by server-7.bemta-5.messagelabs.com id
	8E/87-12065-5DE9BBF4; Tue, 22 May 2012 14:12:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337695955!29729722!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28945 invoked from network); 22 May 2012 14:12:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:12:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606052"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:12:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:12:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpp4-0007xm-5U; Tue, 22 May 2012 14:12:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpp4-0007B3-4j;
	Tue, 22 May 2012 15:12:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40650.132942.40206@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:12:26 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.

Thanks.

So comparing the comment:

> +    /* Should be zeroed by caller on entry.  Will be filled in by
> +     * bootloader machinery; represents the local attachment of the
> +     * disk for the benefit of the bootloader.  Must be detached by
> +     * the caller using libxl__device_disk_local_detach, but only
> +     * after the domain's kernel and initramfs have been loaded into
> +     * memory and the file references disposed of. */
> +    libxl_device_disk localdisk;

with the code in the caller: on entry it is indeed zeroed by the GCNEW
of the whole domain_create_state.  However on exit:

>      if (bl->diskpath) {
> -        libxl__device_disk_local_detach(gc, bl->disk);
> +        libxl__device_disk_local_detach(gc, &bl->localdisk);
> +        free(bl->localdisk.pdev_path);
> +        free(bl->localdisk.script);
>          free(bl->diskpath);

This does not correspond exactly to the comment.  Not only do we call
detach but apparently we need to free some things too.

It's not clear to me why these things haven't come from a suitable
gc.  But if they can't come from a gc then the comment needs to
mention that they need to be freed.

> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *disk)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      char *ret = NULL;
>      int rc;
>  
> +    if (in_disk->pdev_path == NULL)
> +        return NULL;
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    disk->pdev_path = strdup(in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = strdup(in_disk->script);
> +    disk->vdev = NULL;

Re my comment about the gc, do we call this function anywhere else ?
Could it take the ao for the benefit of its gc ?  Would that violate
some rules about the usual contents of a libxl_device_disk ?

> @@ -367,8 +378,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                             " attach a qdisk image if the format is not raw");
>                  break;
>              }
> -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s",
> +                       in_disk->pdev_path);

A very minor comment, but: you might want to change this to LOG while
you're at it.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:13:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:13:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWppa-0003rz-Qk; Tue, 22 May 2012 14:12:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWppZ-0003rV-LQ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:12:57 +0000
Received: from [85.158.139.83:55345] by server-6.bemta-5.messagelabs.com id
	47/A2-11144-8EE9BBF4; Tue, 22 May 2012 14:12:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337695975!29729794!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29977 invoked from network); 22 May 2012 14:12:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:12:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606071"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:12:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:12:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWppX-0007y3-2Q; Tue, 22 May 2012 14:12:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWppX-0007BB-1j;
	Tue, 22 May 2012 15:12:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40678.884390.198877@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:12:54 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 04/11] libxl: export
	libxl__device_from_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 04/11] libxl: export libxl__device_from_disk"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:13:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:13:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWppa-0003rz-Qk; Tue, 22 May 2012 14:12:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWppZ-0003rV-LQ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:12:57 +0000
Received: from [85.158.139.83:55345] by server-6.bemta-5.messagelabs.com id
	47/A2-11144-8EE9BBF4; Tue, 22 May 2012 14:12:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337695975!29729794!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29977 invoked from network); 22 May 2012 14:12:56 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:12:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606071"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:12:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:12:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWppX-0007y3-2Q; Tue, 22 May 2012 14:12:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWppX-0007BB-1j;
	Tue, 22 May 2012 15:12:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40678.884390.198877@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:12:54 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 04/11] libxl: export
	libxl__device_from_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 04/11] libxl: export libxl__device_from_disk"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:14:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWprI-0004BH-An; Tue, 22 May 2012 14:14:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWprG-0004Ap-N7
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:14:42 +0000
Received: from [85.158.143.99:33653] by server-1.bemta-4.messagelabs.com id
	00/00-00342-25F9BBF4; Tue, 22 May 2012 14:14:42 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337696079!19605539!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4059 invoked from network); 22 May 2012 14:14:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:14:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606117"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:14:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:14:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWprD-0007yi-DF; Tue, 22 May 2012 14:14:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWprD-0007BV-CV;
	Tue, 22 May 2012 15:14:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40783.370879.154818@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:14:39 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 05/11] libxl: introduce libxl__device_disk_add"):
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
...
> @@ -1421,7 +1422,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
>              dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
>              if (!dev) {
>                  LOG(ERROR, "failed to get blktap devpath for %p\n",
> -                    disk->pdev_path);
> +                        disk->pdev_path);

Unrelated and arguably erroneous whitespace change ?

Otherwise,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:14:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWprI-0004BH-An; Tue, 22 May 2012 14:14:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWprG-0004Ap-N7
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:14:42 +0000
Received: from [85.158.143.99:33653] by server-1.bemta-4.messagelabs.com id
	00/00-00342-25F9BBF4; Tue, 22 May 2012 14:14:42 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337696079!19605539!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4059 invoked from network); 22 May 2012 14:14:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:14:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606117"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:14:39 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:14:39 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWprD-0007yi-DF; Tue, 22 May 2012 14:14:39 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWprD-0007BV-CV;
	Tue, 22 May 2012 15:14:39 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40783.370879.154818@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:14:39 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-5-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 05/11] libxl: introduce
	libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 05/11] libxl: introduce libxl__device_disk_add"):
> Introduce libxl__device_disk_add that takes an additional
> xs_transaction_t paramter.
> Implement libxl_device_disk_add using libxl__device_disk_add.
...
> @@ -1421,7 +1422,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
>              dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
>              if (!dev) {
>                  LOG(ERROR, "failed to get blktap devpath for %p\n",
> -                    disk->pdev_path);
> +                        disk->pdev_path);

Unrelated and arguably erroneous whitespace change ?

Otherwise,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:16:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpsd-0004N1-Q2; Tue, 22 May 2012 14:16:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpsc-0004Mr-Pu
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:16:06 +0000
Received: from [85.158.138.51:21808] by server-7.bemta-3.messagelabs.com id
	82/46-03078-5AF9BBF4; Tue, 22 May 2012 14:16:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337696164!28579702!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5481 invoked from network); 22 May 2012 14:16:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:16:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606157"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:16:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:16:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpsZ-0007z7-KS; Tue, 22 May 2012 14:16:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpsZ-0007BZ-Ji;
	Tue, 22 May 2012 15:16:03 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40867.576492.739184@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:16:03 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 07/11] libxl: introduce libxl__alloc_vdev"):
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
...
> Changes in v7:
> - remove the upper bound and document why.

Great, thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:16:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpsd-0004N1-Q2; Tue, 22 May 2012 14:16:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpsc-0004Mr-Pu
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:16:06 +0000
Received: from [85.158.138.51:21808] by server-7.bemta-3.messagelabs.com id
	82/46-03078-5AF9BBF4; Tue, 22 May 2012 14:16:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337696164!28579702!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5481 invoked from network); 22 May 2012 14:16:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:16:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606157"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:16:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:16:03 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpsZ-0007z7-KS; Tue, 22 May 2012 14:16:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpsZ-0007BZ-Ji;
	Tue, 22 May 2012 15:16:03 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.40867.576492.739184@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:16:03 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <1337623539-29834-7-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("[PATCH v7 07/11] libxl: introduce libxl__alloc_vdev"):
> Introduce libxl__alloc_vdev: find a spare virtual block device in the
> domain passed as argument.
...
> Changes in v7:
> - remove the upper bound and document why.

Great, thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpw5-0004cB-Vn; Tue, 22 May 2012 14:19:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpw4-0004bm-1t
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:40 +0000
Received: from [193.109.254.147:55210] by server-8.bemta-14.messagelabs.com id
	9A/B0-23244-B70ABBF4; Tue, 22 May 2012 14:19:39 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337696374!3755456!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24525 invoked from network); 22 May 2012 14:19:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441849"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-Ar;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:43 +0100
Message-ID: <1337695365-5142-14-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 13/15] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   34 +++++++++++++-
 tools/libxl/libxl_internal.h          |    5 ++-
 tools/libxl/libxl_linux.c             |   84 ++++++++++++++++++++++++++++++++-
 4 files changed, 122 insertions(+), 7 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index d7dd7a3..b7bcffa 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,26 @@ out:
     return numdevs;
 }
 
+libxl_nic_type libxl__nic_type(libxl__gc *gc, libxl__device *dev)
+{
+    char *snictype, *be_path;
+    libxl_nic_type nictype;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        return -1;
+    }
+    if (libxl_nic_type_from_string(snictype, &nictype) < 0) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        return -1;
+    }
+
+    return nictype;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -732,7 +752,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->vif_executed);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -806,7 +827,18 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        libxl__nic_type(gc, aodev->dev) == LIBXL_NIC_TYPE_IOEMU &&
+        !aodev->vif_executed) {
+        aodev->vif_executed = 1;
+        device_hotplug(egc, aodev);
+        return;
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 4af35cb..68a6122 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -800,6 +800,7 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden libxl_nic_type libxl__nic_type(libxl__gc *gc, libxl__device *dev);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1796,6 +1797,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int vif_executed;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1838,7 +1840,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int vif_executed);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 83b85b3..bd37f7f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -43,7 +43,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    GCNEW_ARRAY(env, 9);
+    GCNEW_ARRAY(env, 13);
     env[nr++] = "script";
     env[nr++] = script;
     env[nr++] = "XENBUS_TYPE";
@@ -52,6 +52,24 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        switch (libxl__nic_type(gc, dev)) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
 
     return env;
@@ -59,6 +77,63 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int vif_executed)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        return -1;
+    }
+
+    nictype = libxl__nic_type(gc, dev);
+    if (nictype < 0) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(*args, 4);
+    (*args)[nr++] = script;
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (!vif_executed) goto execute_vif;
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+        break;
+    default:
+        /* Unknown network type */
+        LOG(ERROR, "unknown network card type %s", be_path);
+        return 0;
+    }
+
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -95,7 +170,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int vif_executed)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -111,6 +187,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, vif_executed);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpw5-0004cB-Vn; Tue, 22 May 2012 14:19:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpw4-0004bm-1t
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:40 +0000
Received: from [193.109.254.147:55210] by server-8.bemta-14.messagelabs.com id
	9A/B0-23244-B70ABBF4; Tue, 22 May 2012 14:19:39 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337696374!3755456!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24525 invoked from network); 22 May 2012 14:19:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441849"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:37 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-Ar;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:43 +0100
Message-ID: <1337695365-5142-14-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 13/15] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   34 +++++++++++++-
 tools/libxl/libxl_internal.h          |    5 ++-
 tools/libxl/libxl_linux.c             |   84 ++++++++++++++++++++++++++++++++-
 4 files changed, 122 insertions(+), 7 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index d7dd7a3..b7bcffa 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,26 @@ out:
     return numdevs;
 }
 
+libxl_nic_type libxl__nic_type(libxl__gc *gc, libxl__device *dev)
+{
+    char *snictype, *be_path;
+    libxl_nic_type nictype;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        return -1;
+    }
+    if (libxl_nic_type_from_string(snictype, &nictype) < 0) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        return -1;
+    }
+
+    return nictype;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -732,7 +752,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->vif_executed);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -806,7 +827,18 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        libxl__nic_type(gc, aodev->dev) == LIBXL_NIC_TYPE_IOEMU &&
+        !aodev->vif_executed) {
+        aodev->vif_executed = 1;
+        device_hotplug(egc, aodev);
+        return;
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 4af35cb..68a6122 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -800,6 +800,7 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden libxl_nic_type libxl__nic_type(libxl__gc *gc, libxl__device *dev);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1796,6 +1797,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int vif_executed;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1838,7 +1840,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int vif_executed);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 83b85b3..bd37f7f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -43,7 +43,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    GCNEW_ARRAY(env, 9);
+    GCNEW_ARRAY(env, 13);
     env[nr++] = "script";
     env[nr++] = script;
     env[nr++] = "XENBUS_TYPE";
@@ -52,6 +52,24 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        switch (libxl__nic_type(gc, dev)) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
 
     return env;
@@ -59,6 +77,63 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int vif_executed)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        return -1;
+    }
+
+    nictype = libxl__nic_type(gc, dev);
+    if (nictype < 0) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(*args, 4);
+    (*args)[nr++] = script;
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (!vif_executed) goto execute_vif;
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+        break;
+    default:
+        /* Unknown network type */
+        LOG(ERROR, "unknown network card type %s", be_path);
+        return 0;
+    }
+
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -95,7 +170,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int vif_executed)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -111,6 +187,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, vif_executed);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpw2-0004bP-Dq; Tue, 22 May 2012 14:19:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpw1-0004bK-7e
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:37 +0000
Received: from [193.109.254.147:27645] by server-4.bemta-14.messagelabs.com id
	E2/20-11570-870ABBF4; Tue, 22 May 2012 14:19:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337696374!3755456!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24286 invoked from network); 22 May 2012 14:19:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441845"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-8u;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:42 +0100
Message-ID: <1337695365-5142-13-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 12/15] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  124 ++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h              |   20 +++++
 tools/libxl/libxl_linux.c                 |   97 ++++++++++++++++++++++
 6 files changed, 258 insertions(+), 5 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8faf79a..8fe0d17 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1547,6 +1547,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1562,6 +1567,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 91ec69f..d7dd7a3 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 
 static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aoadd)
 {
     STATE_AO_GC(aoadd->ao);
@@ -604,7 +612,7 @@ out_fail:
 
 out_ok:
     assert(!rc);
-    aoadd->callback(egc, aoadd);
+    device_hotplug(egc, aoadd);
     return;
 }
 
@@ -666,7 +674,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aorm->callback(egc, aorm);
+    device_hotplug(egc, aorm);
     return;
 }
 
@@ -698,6 +706,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -710,6 +721,115 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args, **env;
+    int rc = 0;
+    int hotplug;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
+                                      device_hotplug_fork_cb);
+    if (aodev->pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!aodev->pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    if (!libxl__ev_child_inuse(&aodev->child)) {
+        /* hotplug launch failed */
+        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    if (!aodev) return;
+    if (libxl__ev_child_inuse(&aodev->child)) {
+        if (kill(aodev->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aodev->what, (unsigned long)aodev->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index dfbeb75..4af35cb 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1792,6 +1793,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1820,6 +1826,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been splitted in two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..83b85b3 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,100 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, 9);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    GCNEW_ARRAY(*args, 3);
+
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpw2-0004bP-Dq; Tue, 22 May 2012 14:19:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpw1-0004bK-7e
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:37 +0000
Received: from [193.109.254.147:27645] by server-4.bemta-14.messagelabs.com id
	E2/20-11570-870ABBF4; Tue, 22 May 2012 14:19:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337696374!3755456!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24286 invoked from network); 22 May 2012 14:19:35 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441845"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-8u;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:42 +0100
Message-ID: <1337695365-5142-13-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 12/15] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  124 ++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h              |   20 +++++
 tools/libxl/libxl_linux.c                 |   97 ++++++++++++++++++++++
 6 files changed, 258 insertions(+), 5 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8faf79a..8fe0d17 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1547,6 +1547,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1562,6 +1567,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 91ec69f..d7dd7a3 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 
 static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aoadd)
 {
     STATE_AO_GC(aoadd->ao);
@@ -604,7 +612,7 @@ out_fail:
 
 out_ok:
     assert(!rc);
-    aoadd->callback(egc, aoadd);
+    device_hotplug(egc, aoadd);
     return;
 }
 
@@ -666,7 +674,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aorm->callback(egc, aorm);
+    device_hotplug(egc, aorm);
     return;
 }
 
@@ -698,6 +706,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -710,6 +721,115 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args, **env;
+    int rc = 0;
+    int hotplug;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
+                                      device_hotplug_fork_cb);
+    if (aodev->pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!aodev->pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    if (!libxl__ev_child_inuse(&aodev->child)) {
+        /* hotplug launch failed */
+        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    if (!aodev) return;
+    if (libxl__ev_child_inuse(&aodev->child)) {
+        if (kill(aodev->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aodev->what, (unsigned long)aodev->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
 {
     STATE_AO_GC(aorm->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index dfbeb75..4af35cb 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1792,6 +1793,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1820,6 +1826,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aorm);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aorm);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been splitted in two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..83b85b3 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,100 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, 9);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    GCNEW_ARRAY(*args, 3);
+
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpw8-0004cd-Bx; Tue, 22 May 2012 14:19:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpw6-0004c2-Pa
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:43 +0000
Received: from [193.109.254.147:12863] by server-5.bemta-14.messagelabs.com id
	C2/E1-30733-C70ABBF4; Tue, 22 May 2012 14:19:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337696374!3755456!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24662 invoked from network); 22 May 2012 14:19:39 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441850"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:39 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:39 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-Qz;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:40 +0100
Message-ID: <1337695365-5142-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 10/15] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   31 ++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 72 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 076f755..15f94bd 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,35 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..bdf14d5 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d303123..dfbeb75 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1386,6 +1387,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 46af9fb..c13c48b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpw8-0004cd-Bx; Tue, 22 May 2012 14:19:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpw6-0004c2-Pa
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:43 +0000
Received: from [193.109.254.147:12863] by server-5.bemta-14.messagelabs.com id
	C2/E1-30733-C70ABBF4; Tue, 22 May 2012 14:19:40 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337696374!3755456!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24662 invoked from network); 22 May 2012 14:19:39 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25441850"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:39 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:39 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfh-0003Qp-Qz;
	Tue, 22 May 2012 15:02:45 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:40 +0100
Message-ID: <1337695365-5142-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 10/15] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   31 ++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 72 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 076f755..15f94bd 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,35 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..bdf14d5 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d303123..dfbeb75 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1386,6 +1387,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 46af9fb..c13c48b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwA-0004dH-P9; Tue, 22 May 2012 14:19:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpw9-0004ck-2R
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:45 +0000
Received: from [85.158.138.51:20629] by server-8.bemta-3.messagelabs.com id
	A5/DC-24428-080ABBF4; Tue, 22 May 2012 14:19:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337696383!28580529!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22122 invoked from network); 22 May 2012 14:19:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606292"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:19:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:19:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpw6-00080T-Ly; Tue, 22 May 2012 14:19:42 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpw6-0007Bv-LI;
	Tue, 22 May 2012 15:19:42 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.41086.644398.17763@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:19:42 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-4-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 03/15] libxl: add libxl__xs_path_cleanup"):
> Add a function which behaves like "xenstore-rm -t", and which will be
> used to clean xenstore after unplug since we will be no longer
> executing xen-hotplug-cleanup script, that used to do that for us.
> 
> Changes since v5:
> 
>  * Abort if no transaction or user_path supplied.

Thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

> diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
> index 6ca1afe..c5b5364 100644
> --- a/tools/libxl/libxl_xshelp.c
> +++ b/tools/libxl/libxl_xshelp.c
> @@ -135,6 +135,44 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
>      return s;
>  }
>  
> +int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
...
> +    /* A path and transaction must be provided by the caller */
> +    assert(user_path && t);

Personally I wouldn't bother asserting user_path here.

> +    path = libxl__strdup(gc, user_path);

After all this will tidily dereference null anyway.  In general we
don't bother asserting that function arguments we are going to
dereference are non-0, since the crash is debuggable either way.

But I don't particularly object, especially as you do need to assert
that t is non-0 as this function is not safe outside a transaction.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:19:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:19:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwA-0004dH-P9; Tue, 22 May 2012 14:19:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpw9-0004ck-2R
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:19:45 +0000
Received: from [85.158.138.51:20629] by server-8.bemta-3.messagelabs.com id
	A5/DC-24428-080ABBF4; Tue, 22 May 2012 14:19:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337696383!28580529!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22122 invoked from network); 22 May 2012 14:19:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:19:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606292"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:19:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:19:42 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpw6-00080T-Ly; Tue, 22 May 2012 14:19:42 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpw6-0007Bv-LI;
	Tue, 22 May 2012 15:19:42 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.41086.644398.17763@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:19:42 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-4-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 03/15] libxl: add libxl__xs_path_cleanup"):
> Add a function which behaves like "xenstore-rm -t", and which will be
> used to clean xenstore after unplug since we will be no longer
> executing xen-hotplug-cleanup script, that used to do that for us.
> 
> Changes since v5:
> 
>  * Abort if no transaction or user_path supplied.

Thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

> diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
> index 6ca1afe..c5b5364 100644
> --- a/tools/libxl/libxl_xshelp.c
> +++ b/tools/libxl/libxl_xshelp.c
> @@ -135,6 +135,44 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
>      return s;
>  }
>  
> +int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
...
> +    /* A path and transaction must be provided by the caller */
> +    assert(user_path && t);

Personally I wouldn't bother asserting user_path here.

> +    path = libxl__strdup(gc, user_path);

After all this will tidily dereference null anyway.  In general we
don't bother asserting that function arguments we are going to
dereference are non-0, since the crash is debuggable either way.

But I don't particularly object, especially as you do need to assert
that t is non-0 as this function is not safe outside a transaction.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwm-0004oy-6v; Tue, 22 May 2012 14:20:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpwl-0004oK-07
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:23 +0000
Received: from [85.158.139.83:64328] by server-9.bemta-5.messagelabs.com id
	1A/A1-18212-6A0ABBF4; Tue, 22 May 2012 14:20:22 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337696419!29731287!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23616 invoked from network); 22 May 2012 14:20:21 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196009715"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-C1;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:45 +0100
Message-ID: <1337695365-5142-16-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add dummy NetBSD functions related to hotplug scripts, so compilation
doesn't fail. This functions will be filled in a following series.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_netbsd.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..75fbce1 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,13 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action,
+                                   int vif_executed)
+{
+    return 0;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwm-0004oy-6v; Tue, 22 May 2012 14:20:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpwl-0004oK-07
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:23 +0000
Received: from [85.158.139.83:64328] by server-9.bemta-5.messagelabs.com id
	1A/A1-18212-6A0ABBF4; Tue, 22 May 2012 14:20:22 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337696419!29731287!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23616 invoked from network); 22 May 2012 14:20:21 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196009715"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:34 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-C1;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:45 +0100
Message-ID: <1337695365-5142-16-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add dummy NetBSD functions related to hotplug scripts, so compilation
doesn't fail. This functions will be filled in a following series.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_netbsd.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..75fbce1 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,13 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action,
+                                   int vif_executed)
+{
+    return 0;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwo-0004qT-P8; Tue, 22 May 2012 14:20:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWpwn-0004pd-N6
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:25 +0000
Received: from [85.158.138.51:37212] by server-5.bemta-3.messagelabs.com id
	8B/9F-17113-8A0ABBF4; Tue, 22 May 2012 14:20:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337696423!20465024!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22347 invoked from network); 22 May 2012 14:20:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606307"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:20:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 15:20:23 +0100
Message-ID: <1337696422.10118.134.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 15:20:22 +0100
In-Reply-To: <4FBB9C9F.4090401@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 15:03 +0100, Christoph Egger wrote:
> On 05/22/12 15:21, Ian Campbell wrote:
> 
> > On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
> >> I thinkIn xs_talkv() something must fail.
> >>
> >>> The only thing which springs to mind is that it may generate an
> >>> @IntroduceDomain watch event. However xl is single threaded so we won't
> >>> process that event until we unwind to whichever point we do an event
> >>> loop iteration, in which case the corruption would have to happen later
> >>> than right after xs_introduce_domain().
> >>>
> >>> Did you manage to determine if "Bad file descriptor" was due to it being
> >>> closed vs. the value being corrupted?
> >>
> >> My suspicion is that
> >>
> >>    if (msg.type != type)
> >>
> >> in xs_talkv() is true.
> >>
> > 
> > Yes, that definitely seems worth investigating.
> 
> 
> Ok, I got it.
> 
> xenstored crashes due to dereferencing NULL pointer.

Huh, xenstore has materially changed for quite a while (since February).

> In xenstored_domain.c, map_interface()  *xcg_handle is NULL
> and in xc_gnttab.c, xc_gnttab_map_grant_ref() it is dereferenced.

This comes from 24757:aae516b78fce. Diego and Alex aren't around any
more but CCing Daniel in case he remembers anything.

I guess the original xc_gnttab_open which sets *xcg_handle is failing
for you, I suppose that is to be expected on NetBSD? Either way it
should still work after this has failed.

All the >= checks on *xcg_handle seem wrong to me. Really they should be
checking != NULL, since otherwise they don't actually discriminate the
two cases! Does making that change help?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwo-0004qT-P8; Tue, 22 May 2012 14:20:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWpwn-0004pd-N6
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:25 +0000
Received: from [85.158.138.51:37212] by server-5.bemta-3.messagelabs.com id
	8B/9F-17113-8A0ABBF4; Tue, 22 May 2012 14:20:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337696423!20465024!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22347 invoked from network); 22 May 2012 14:20:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606307"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:20:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 15:20:23 +0100
Message-ID: <1337696422.10118.134.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 15:20:22 +0100
In-Reply-To: <4FBB9C9F.4090401@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 15:03 +0100, Christoph Egger wrote:
> On 05/22/12 15:21, Ian Campbell wrote:
> 
> > On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
> >> I thinkIn xs_talkv() something must fail.
> >>
> >>> The only thing which springs to mind is that it may generate an
> >>> @IntroduceDomain watch event. However xl is single threaded so we won't
> >>> process that event until we unwind to whichever point we do an event
> >>> loop iteration, in which case the corruption would have to happen later
> >>> than right after xs_introduce_domain().
> >>>
> >>> Did you manage to determine if "Bad file descriptor" was due to it being
> >>> closed vs. the value being corrupted?
> >>
> >> My suspicion is that
> >>
> >>    if (msg.type != type)
> >>
> >> in xs_talkv() is true.
> >>
> > 
> > Yes, that definitely seems worth investigating.
> 
> 
> Ok, I got it.
> 
> xenstored crashes due to dereferencing NULL pointer.

Huh, xenstore has materially changed for quite a while (since February).

> In xenstored_domain.c, map_interface()  *xcg_handle is NULL
> and in xc_gnttab.c, xc_gnttab_map_grant_ref() it is dereferenced.

This comes from 24757:aae516b78fce. Diego and Alex aren't around any
more but CCing Daniel in case he remembers anything.

I guess the original xc_gnttab_open which sets *xcg_handle is failing
for you, I suppose that is to be expected on NetBSD? Either way it
should still work after this has failed.

All the >= checks on *xcg_handle seem wrong to me. Really they should be
checking != NULL, since otherwise they don't actually discriminate the
two cases! Does making that change help?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwq-0004rL-62; Tue, 22 May 2012 14:20:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpwn-0004pp-Tx
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:26 +0000
Received: from [85.158.139.83:32853] by server-1.bemta-5.messagelabs.com id
	96/95-27328-9A0ABBF4; Tue, 22 May 2012 14:20:25 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337696419!29731287!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23888 invoked from network); 22 May 2012 14:20:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196009732"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:40 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:40 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-5L;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:41 +0100
Message-ID: <1337695365-5142-12-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 11/15] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1a04f7a..8faf79a 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1999,7 +1999,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwq-0004rL-62; Tue, 22 May 2012 14:20:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpwn-0004pp-Tx
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:26 +0000
Received: from [85.158.139.83:32853] by server-1.bemta-5.messagelabs.com id
	96/95-27328-9A0ABBF4; Tue, 22 May 2012 14:20:25 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337696419!29731287!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23888 invoked from network); 22 May 2012 14:20:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196009732"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:40 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:40 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-5L;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:41 +0100
Message-ID: <1337695365-5142-12-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 11/15] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1a04f7a..8faf79a 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1999,7 +1999,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwr-0004sC-Jj; Tue, 22 May 2012 14:20:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpwp-0004pa-IK
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:27 +0000
Received: from [85.158.139.83:64576] by server-2.bemta-5.messagelabs.com id
	4A/38-17716-8A0ABBF4; Tue, 22 May 2012 14:20:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337696419!29731287!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23844 invoked from network); 22 May 2012 14:20:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196009728"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:38 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-BP;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:44 +0100
Message-ID: <1337695365-5142-15-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index b7bcffa..b8ef9b4 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -484,16 +484,28 @@ void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    libxl__xs_path_cleanup(gc, t, fe_path);
+    libxl__xs_path_cleanup(gc, t, be_path);
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpwr-0004sC-Jj; Tue, 22 May 2012 14:20:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWpwp-0004pa-IK
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:20:27 +0000
Received: from [85.158.139.83:64576] by server-2.bemta-5.messagelabs.com id
	4A/38-17716-8A0ABBF4; Tue, 22 May 2012 14:20:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337696419!29731287!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23844 invoked from network); 22 May 2012 14:20:23 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:20:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196009728"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:19:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:19:38 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWpfi-0003Qp-BP;
	Tue, 22 May 2012 15:02:46 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 22 May 2012 15:02:44 +0100
Message-ID: <1337695365-5142-15-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index b7bcffa..b8ef9b4 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -484,16 +484,28 @@ void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+retry_transaction:
+    t = xs_transaction_start(CTX->xsh);
+    libxl__xs_path_cleanup(gc, t, fe_path);
+    libxl__xs_path_cleanup(gc, t, be_path);
+    if (!xs_transaction_end(CTX->xsh, t, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:21:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:21:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpxf-0005DT-2R; Tue, 22 May 2012 14:21:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpxe-0005D8-Bc
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:21:18 +0000
Received: from [85.158.143.35:12320] by server-3.bemta-4.messagelabs.com id
	19/F9-05853-DD0ABBF4; Tue, 22 May 2012 14:21:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337696475!15441765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30649 invoked from network); 22 May 2012 14:21:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:21:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606351"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:21:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:21:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpxZ-000812-Jt; Tue, 22 May 2012 14:21:13 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpxZ-0007Cb-J8;
	Tue, 22 May 2012 15:21:13 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.41177.578230.378658@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:21:13 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-5-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-5-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 04/15] libxl: reoder libxl_device unplug
	functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 04/15] libxl: reoder libxl_device unplug functions"):
> This is a reorder of functions, no functional change. This is needed
> because in future patches much code is added to libxl_device and it
> needs to follow the usual ao operation scheme (prototypes, functions
> and callbacks in order they should be called)
> 
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

Thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

(I'm assuming that your commit message isn't a lie and that this is
indeed pure code motion...)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:21:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:21:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWpxf-0005DT-2R; Tue, 22 May 2012 14:21:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWpxe-0005D8-Bc
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:21:18 +0000
Received: from [85.158.143.35:12320] by server-3.bemta-4.messagelabs.com id
	19/F9-05853-DD0ABBF4; Tue, 22 May 2012 14:21:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337696475!15441765!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30649 invoked from network); 22 May 2012 14:21:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:21:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12606351"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:21:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 15:21:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWpxZ-000812-Jt; Tue, 22 May 2012 14:21:13 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWpxZ-0007Cb-J8;
	Tue, 22 May 2012 15:21:13 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.41177.578230.378658@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 15:21:13 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-5-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-5-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 04/15] libxl: reoder libxl_device unplug
	functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 04/15] libxl: reoder libxl_device unplug functions"):
> This is a reorder of functions, no functional change. This is needed
> because in future patches much code is added to libxl_device and it
> needs to follow the usual ao operation scheme (prototypes, functions
> and callbacks in order they should be called)
> 
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

Thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

(I'm assuming that your commit message isn't a lie and that this is
indeed pure code motion...)

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:48:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:48:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqNu-00069C-G2; Tue, 22 May 2012 14:48:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWqNt-000697-0h
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:48:25 +0000
Received: from [85.158.138.51:34107] by server-3.bemta-3.messagelabs.com id
	CF/0F-04048-837ABBF4; Tue, 22 May 2012 14:48:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337698102!20564878!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 699 invoked from network); 22 May 2012 14:48:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:48:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25443325"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:48:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:48:21 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWqNo-0004Aj-PR;
	Tue, 22 May 2012 15:48:20 +0100
Message-ID: <4FBBA739.7020706@citrix.com>
Date: Tue, 22 May 2012 15:48:25 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
	<4FB639B3.3000905@citrix.com>
	<20406.20226.542693.284753@mariner.uk.xensource.com>
	<4FB657C2.8090007@amd.com>
In-Reply-To: <4FB657C2.8090007@amd.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> On 05/18/12 15:30, Ian Jackson wrote:
>
>> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>>> Ian Jackson wrote:
>>>> I know that.  But given that the configure is just for the tools
>>>> build, should we honour PREFIX from Config.mk (and ./.config or
>>>> command line arguments) or from ./configure ?
>>> I think the one from configure, since we have a configure script, better
>>> make use of it, that is what users expect.
>> I guess so.
>>
>>> I will resend this patch with the above changes to config/Linux.mk,
>>> is that ok?
>> I don't think prefixing paths in /var with PREFIX is ever right.
>> Overriding it in Linux.mk seems like a band-aid.
>
>
> One suggestion:
>
> Move all path variables out of config/*.mk and let configure generate
> a config/paths.mk.

What should we do about this? Should I try to fix 
StdGNU.mk/Linux.mk/NetBSD.mk or are we going to move all paths from 
config/*.mk and put them in a single file generated by configure?


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:48:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:48:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqNu-00069C-G2; Tue, 22 May 2012 14:48:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWqNt-000697-0h
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:48:25 +0000
Received: from [85.158.138.51:34107] by server-3.bemta-3.messagelabs.com id
	CF/0F-04048-837ABBF4; Tue, 22 May 2012 14:48:24 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337698102!20564878!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 699 invoked from network); 22 May 2012 14:48:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:48:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25443325"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 10:48:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 10:48:21 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWqNo-0004Aj-PR;
	Tue, 22 May 2012 15:48:20 +0100
Message-ID: <4FBBA739.7020706@citrix.com>
Date: Tue, 22 May 2012 15:48:25 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <1337256990-51913-1-git-send-email-roger.pau@citrix.com>
	<1337256990-51913-4-git-send-email-roger.pau@citrix.com>
	<20406.12213.751409.867469@mariner.uk.xensource.com>
	<4FB632A6.4000403@citrix.com>
	<20406.13989.715688.280631@mariner.uk.xensource.com>
	<4FB639B3.3000905@citrix.com>
	<20406.20226.542693.284753@mariner.uk.xensource.com>
	<4FB657C2.8090007@amd.com>
In-Reply-To: <4FB657C2.8090007@amd.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 4/4] tools/build: change order of
	config/Tools.mk inclusion
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> On 05/18/12 15:30, Ian Jackson wrote:
>
>> Roger Pau Monne writes ("Re: [PATCH v2 4/4] tools/build: change order of config/Tools.mk inclusion"):
>>> Ian Jackson wrote:
>>>> I know that.  But given that the configure is just for the tools
>>>> build, should we honour PREFIX from Config.mk (and ./.config or
>>>> command line arguments) or from ./configure ?
>>> I think the one from configure, since we have a configure script, better
>>> make use of it, that is what users expect.
>> I guess so.
>>
>>> I will resend this patch with the above changes to config/Linux.mk,
>>> is that ok?
>> I don't think prefixing paths in /var with PREFIX is ever right.
>> Overriding it in Linux.mk seems like a band-aid.
>
>
> One suggestion:
>
> Move all path variables out of config/*.mk and let configure generate
> a config/paths.mk.

What should we do about this? Should I try to fix 
StdGNU.mk/Linux.mk/NetBSD.mk or are we going to move all paths from 
config/*.mk and put them in a single file generated by configure?


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:55:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqUZ-0006Lp-Az; Tue, 22 May 2012 14:55:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Borislav.Petkov@amd.com>) id 1SWlJT-0000Ul-Ve
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:23:32 +0000
Received: from [85.158.139.83:64241] by server-5.bemta-5.messagelabs.com id
	72/29-29701-31B5BBF4; Tue, 22 May 2012 09:23:31 +0000
X-Env-Sender: Borislav.Petkov@amd.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337678608!29663943!1
X-Originating-IP: [65.55.88.14]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18555 invoked from network); 22 May 2012 09:23:29 -0000
Received: from tx2ehsobe004.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.14)
	by server-12.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 09:23:29 -0000
Received: from mail185-tx2-R.bigfish.com (10.9.14.248) by
	TX2EHSOBE007.bigfish.com (10.9.40.27) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 09:23:14 +0000
Received: from mail185-tx2 (localhost [127.0.0.1])	by
	mail185-tx2-R.bigfish.com (Postfix) with ESMTP id 3390E2207C5;
	Tue, 22 May 2012 09:23:14 +0000 (UTC)
X-SpamScore: -9
X-BigFish: VPS-9(zz1432N98dKzz1202hzz8275bhz2dh668h839h944hd25hf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail185-tx2 (localhost.localdomain [127.0.0.1]) by mail185-tx2
	(MessageSwitch) id 1337678592393182_28801;
	Tue, 22 May 2012 09:23:12 +0000 (UTC)
Received: from TX2EHSMHS026.bigfish.com (unknown [10.9.14.235])	by
	mail185-tx2.bigfish.com (Postfix) with ESMTP id 5A5F1C0439;
	Tue, 22 May 2012 09:23:12 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS026.bigfish.com (10.9.99.126) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 09:23:11 +0000
X-WSS-ID: 0M4F3EW-02-9SK-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2811FC80A3;	Tue, 22 May 2012 04:23:20 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 04:23:31 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 04:23:23 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	05:23:22 -0400
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 3F09F49C145; Tue, 22 May 2012
	10:23:21 +0100 (BST)
Date: Tue, 22 May 2012 11:23:54 +0200
From: Borislav Petkov <borislav.petkov@amd.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120522092354.GB18578@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-OriginatorOrg: amd.com
X-Mailman-Approved-At: Tue, 22 May 2012 14:55:17 +0000
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 05:45:04AM +0000, Liu, Jinsong wrote:
> From 4df7496eea9e92a3e267ffb0a4b8f5e6e0c29c36 Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Mon, 21 May 2012 05:07:47 +0800
> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
> 
> When MCA error occurs, it would be handled by Xen hypervisor first,
> and then the error information would be sent to initial domain for logging.
> 
> This patch gets error information from Xen hypervisor and convert
> Xen format error into Linux format mcelog. This logic is basically
> self-contained, not touching other kernel components.
> 
> By using tools like mcelog tool users could read specific error information,
> like what they did under native Linux.
> 
> To test follow directions outlined in Documentation/acpi/apei/einj.txt
> 
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

If you're sending the patch, you need to be the last on the SOB-chain
and the SOB-chain has to show the proper path the patch took. See
<Documentation/SubmittingPatches>.

> ---
>  arch/x86/include/asm/xen/hypercall.h |    8 +
>  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
>  arch/x86/xen/enlighten.c             |    9 +-
>  drivers/xen/Kconfig                  |    8 +
>  drivers/xen/Makefile                 |    1 +
>  drivers/xen/mcelog.c                 |  395 ++++++++++++++++++++++++++++++++++
>  include/linux/miscdevice.h           |    1 +
>  include/xen/interface/xen-mca.h      |  389 +++++++++++++++++++++++++++++++++
>  8 files changed, 809 insertions(+), 6 deletions(-)
>  create mode 100644 drivers/xen/mcelog.c
>  create mode 100644 include/xen/interface/xen-mca.h
> 
> diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h
> index 5728852..59c226d 100644
> --- a/arch/x86/include/asm/xen/hypercall.h
> +++ b/arch/x86/include/asm/xen/hypercall.h
> @@ -48,6 +48,7 @@
>  #include <xen/interface/sched.h>
>  #include <xen/interface/physdev.h>
>  #include <xen/interface/platform.h>
> +#include <xen/interface/xen-mca.h>
>  
>  /*
>   * The hypercall asms have to meet several constraints:
> @@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
>  }
>  
>  static inline int
> +HYPERVISOR_mca(struct xen_mc *mc_op)
> +{
> +	mc_op->interface_version = XEN_MCA_INTERFACE_VERSION;
> +	return _hypercall1(int, mca, mc_op);
> +}
> +
> +static inline int
>  HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
>  {
>  	platform_op->interface_version = XENPF_INTERFACE_VERSION;
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
> index d086a09..24b2e86 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
>  
>  int mce_disabled __read_mostly;
>  
> -#define MISC_MCELOG_MINOR	227
> -
>  #define SPINUNIT 100	/* 100ns */
>  
>  atomic_t mce_entry;
> @@ -1791,7 +1789,7 @@ static const struct file_operations mce_chrdev_ops = {
>  	.llseek			= no_llseek,
>  };
>  
> -static struct miscdevice mce_chrdev_device = {
> +struct miscdevice mce_chrdev_device = {
>  	MISC_MCELOG_MINOR,
>  	"mcelog",
>  	&mce_chrdev_ops,

You're still reusing those - pls, define your own 'struct miscdevice
mce_chrdev_device' in drivers/xen/ or somewhere convenient and
your own mce_chrdev_ops. The only thing you should be touching in
arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.

Thanks.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:55:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqUZ-0006Lp-Az; Tue, 22 May 2012 14:55:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Borislav.Petkov@amd.com>) id 1SWlJT-0000Ul-Ve
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 09:23:32 +0000
Received: from [85.158.139.83:64241] by server-5.bemta-5.messagelabs.com id
	72/29-29701-31B5BBF4; Tue, 22 May 2012 09:23:31 +0000
X-Env-Sender: Borislav.Petkov@amd.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337678608!29663943!1
X-Originating-IP: [65.55.88.14]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18555 invoked from network); 22 May 2012 09:23:29 -0000
Received: from tx2ehsobe004.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.14)
	by server-12.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 09:23:29 -0000
Received: from mail185-tx2-R.bigfish.com (10.9.14.248) by
	TX2EHSOBE007.bigfish.com (10.9.40.27) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 09:23:14 +0000
Received: from mail185-tx2 (localhost [127.0.0.1])	by
	mail185-tx2-R.bigfish.com (Postfix) with ESMTP id 3390E2207C5;
	Tue, 22 May 2012 09:23:14 +0000 (UTC)
X-SpamScore: -9
X-BigFish: VPS-9(zz1432N98dKzz1202hzz8275bhz2dh668h839h944hd25hf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail185-tx2 (localhost.localdomain [127.0.0.1]) by mail185-tx2
	(MessageSwitch) id 1337678592393182_28801;
	Tue, 22 May 2012 09:23:12 +0000 (UTC)
Received: from TX2EHSMHS026.bigfish.com (unknown [10.9.14.235])	by
	mail185-tx2.bigfish.com (Postfix) with ESMTP id 5A5F1C0439;
	Tue, 22 May 2012 09:23:12 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS026.bigfish.com (10.9.99.126) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 09:23:11 +0000
X-WSS-ID: 0M4F3EW-02-9SK-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2811FC80A3;	Tue, 22 May 2012 04:23:20 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 04:23:31 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 04:23:23 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	05:23:22 -0400
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 3F09F49C145; Tue, 22 May 2012
	10:23:21 +0100 (BST)
Date: Tue, 22 May 2012 11:23:54 +0200
From: Borislav Petkov <borislav.petkov@amd.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120522092354.GB18578@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-OriginatorOrg: amd.com
X-Mailman-Approved-At: Tue, 22 May 2012 14:55:17 +0000
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 05:45:04AM +0000, Liu, Jinsong wrote:
> From 4df7496eea9e92a3e267ffb0a4b8f5e6e0c29c36 Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Mon, 21 May 2012 05:07:47 +0800
> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
> 
> When MCA error occurs, it would be handled by Xen hypervisor first,
> and then the error information would be sent to initial domain for logging.
> 
> This patch gets error information from Xen hypervisor and convert
> Xen format error into Linux format mcelog. This logic is basically
> self-contained, not touching other kernel components.
> 
> By using tools like mcelog tool users could read specific error information,
> like what they did under native Linux.
> 
> To test follow directions outlined in Documentation/acpi/apei/einj.txt
> 
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

If you're sending the patch, you need to be the last on the SOB-chain
and the SOB-chain has to show the proper path the patch took. See
<Documentation/SubmittingPatches>.

> ---
>  arch/x86/include/asm/xen/hypercall.h |    8 +
>  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
>  arch/x86/xen/enlighten.c             |    9 +-
>  drivers/xen/Kconfig                  |    8 +
>  drivers/xen/Makefile                 |    1 +
>  drivers/xen/mcelog.c                 |  395 ++++++++++++++++++++++++++++++++++
>  include/linux/miscdevice.h           |    1 +
>  include/xen/interface/xen-mca.h      |  389 +++++++++++++++++++++++++++++++++
>  8 files changed, 809 insertions(+), 6 deletions(-)
>  create mode 100644 drivers/xen/mcelog.c
>  create mode 100644 include/xen/interface/xen-mca.h
> 
> diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h
> index 5728852..59c226d 100644
> --- a/arch/x86/include/asm/xen/hypercall.h
> +++ b/arch/x86/include/asm/xen/hypercall.h
> @@ -48,6 +48,7 @@
>  #include <xen/interface/sched.h>
>  #include <xen/interface/physdev.h>
>  #include <xen/interface/platform.h>
> +#include <xen/interface/xen-mca.h>
>  
>  /*
>   * The hypercall asms have to meet several constraints:
> @@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
>  }
>  
>  static inline int
> +HYPERVISOR_mca(struct xen_mc *mc_op)
> +{
> +	mc_op->interface_version = XEN_MCA_INTERFACE_VERSION;
> +	return _hypercall1(int, mca, mc_op);
> +}
> +
> +static inline int
>  HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
>  {
>  	platform_op->interface_version = XENPF_INTERFACE_VERSION;
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
> index d086a09..24b2e86 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
>  
>  int mce_disabled __read_mostly;
>  
> -#define MISC_MCELOG_MINOR	227
> -
>  #define SPINUNIT 100	/* 100ns */
>  
>  atomic_t mce_entry;
> @@ -1791,7 +1789,7 @@ static const struct file_operations mce_chrdev_ops = {
>  	.llseek			= no_llseek,
>  };
>  
> -static struct miscdevice mce_chrdev_device = {
> +struct miscdevice mce_chrdev_device = {
>  	MISC_MCELOG_MINOR,
>  	"mcelog",
>  	&mce_chrdev_ops,

You're still reusing those - pls, define your own 'struct miscdevice
mce_chrdev_device' in drivers/xen/ or somewhere convenient and
your own mce_chrdev_ops. The only thing you should be touching in
arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.

Thanks.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:55:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:55:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqUZ-0006Ly-Nj; Tue, 22 May 2012 14:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph_Egger@gmx.de>) id 1SWoyx-00080Z-8z
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:18:35 +0000
Received: from [85.158.138.51:23899] by server-6.bemta-3.messagelabs.com id
	48/FC-05145-A229BBF4; Tue, 22 May 2012 13:18:34 +0000
X-Env-Sender: Christoph_Egger@gmx.de
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337692713!20406140!1
X-Originating-IP: [213.165.64.22]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDMwMzY4OA==\n,sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDMwMzY4OA==\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14260 invoked from network); 22 May 2012 13:18:34 -0000
Received: from mailout-de.gmx.net (HELO mailout-de.gmx.net) (213.165.64.22)
	by server-3.tower-174.messagelabs.com with SMTP;
	22 May 2012 13:18:34 -0000
Received: (qmail invoked by alias); 22 May 2012 13:18:33 -0000
Received: from osrc3.amd.com (EHLO rhodium.osrc.amd.com) [217.9.48.20]
	by mail.gmx.net (mp020) with SMTP; 22 May 2012 15:18:33 +0200
X-Authenticated: #6616588
X-Provags-ID: V01U2FsdGVkX1/9p7Zh3Jr9o0PcTNx8jNuwogqCCqTGRHVXv+Otzn
	YCNKMxuuQFtOAp
Message-ID: <4FBB9228.70001@gmx.de>
Date: Tue, 22 May 2012 15:18:32 +0200
From: Christoph Egger <Christoph_Egger@gmx.de>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337691225.10118.114.camel@zakaz.uk.xensource.com>
X-Y-GMX-Trusted: 0
X-Mailman-Approved-At: Tue, 22 May 2012 14:55:17 +0000
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 14:53, Ian Campbell wrote:

> On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
>> On 05/21/12 17:57, Ian Campbell wrote:
>>
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=unknown
>>>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>>>> vdev=hda, using backend phy
>>>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>>>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019bd04
>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>   ENTRY ADDRESS: 0000000000100000
>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>   4KB PAGES: 0x0000000000000200
>>>>   2MB PAGES: 0x00000000000003fb
>>>>   1GB PAGES: 0x0000000000000002
>>>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>>>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>>>> of range, valid values are within range from 1 to 65535
>>>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>>>> libxl_sched_credit_domain_set failed -6
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=phy
>>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>>> dompath for 7: Bad file descriptor
>>>
>>> This is back to the original issue, I think the last couple of mails
>>> have been something of a tangent since you weren't getting as far as
>>> this failure.
>>>
>>> I'm not really sure what to suggest here -- something is either closing
>>> the fd or scribbling over the memory which contains it.
>>>
>>> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
>>> between libxl__sched_set_params and libxl__device_disk_set_backend and
>>> see where it starts failing -- that's going to be pretty tedious though.
>>
>>
>> It starts failing in libxl__build_post() right after
>> xs_introduce_domain().
> 
> What method did you use to determine that?




What you said:

"sprinkle calls to libxl__xs_get_dompath() around between
libxl__sched_set_params and libxl__device_disk_set_backend and
see where it starts failing"

 > So at the xs_transaction_end right before that ctx->xsh is valid, but

> right after...
>         xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
> ...it is invalid? i.e. before the free(vmpath) it is already corrupt?




Yes, you got it.

> 
> (Aside: why isn't vmpath in the gc, instead of done manually,
> nevermind...)
> 
> Does the xs_introduce_domain itself succeed?




No, it fails.

> Or do you mean that the next use of xsh after this fails

> (where is that, somewhere back up the callchain? store_libxl_entry
> perhaps?)

> 
> xs_introduce_domain doesn't seem to do much which is untoward with the
> handle.



I thinkIn xs_talkv() something must fail.

> The only thing which springs to mind is that it may generate an
> @IntroduceDomain watch event. However xl is single threaded so we won't
> process that event until we unwind to whichever point we do an event
> loop iteration, in which case the corruption would have to happen later
> than right after xs_introduce_domain().
> 
> Did you manage to determine if "Bad file descriptor" was due to it being
> closed vs. the value being corrupted?

My suspicion is that

   if (msg.type != type)

in xs_talkv() is true.

Christoph





-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:55:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:55:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqUZ-0006Ly-Nj; Tue, 22 May 2012 14:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph_Egger@gmx.de>) id 1SWoyx-00080Z-8z
	for xen-devel@lists.xen.org; Tue, 22 May 2012 13:18:35 +0000
Received: from [85.158.138.51:23899] by server-6.bemta-3.messagelabs.com id
	48/FC-05145-A229BBF4; Tue, 22 May 2012 13:18:34 +0000
X-Env-Sender: Christoph_Egger@gmx.de
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337692713!20406140!1
X-Originating-IP: [213.165.64.22]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDMwMzY4OA==\n,sa_preprocessor: 
	QmFkIElQOiAyMTMuMTY1LjY0LjIyID0+IDMwMzY4OA==\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14260 invoked from network); 22 May 2012 13:18:34 -0000
Received: from mailout-de.gmx.net (HELO mailout-de.gmx.net) (213.165.64.22)
	by server-3.tower-174.messagelabs.com with SMTP;
	22 May 2012 13:18:34 -0000
Received: (qmail invoked by alias); 22 May 2012 13:18:33 -0000
Received: from osrc3.amd.com (EHLO rhodium.osrc.amd.com) [217.9.48.20]
	by mail.gmx.net (mp020) with SMTP; 22 May 2012 15:18:33 +0200
X-Authenticated: #6616588
X-Provags-ID: V01U2FsdGVkX1/9p7Zh3Jr9o0PcTNx8jNuwogqCCqTGRHVXv+Otzn
	YCNKMxuuQFtOAp
Message-ID: <4FBB9228.70001@gmx.de>
Date: Tue, 22 May 2012 15:18:32 +0200
From: Christoph Egger <Christoph_Egger@gmx.de>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337691225.10118.114.camel@zakaz.uk.xensource.com>
X-Y-GMX-Trusted: 0
X-Mailman-Approved-At: Tue, 22 May 2012 14:55:17 +0000
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 14:53, Ian Campbell wrote:

> On Tue, 2012-05-22 at 13:35 +0100, Christoph Egger wrote:
>> On 05/21/12 17:57, Ian Campbell wrote:
>>
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=unknown
>>>> libxl: debug: libxl_device.c:219:libxl__device_disk_set_backend: Disk
>>>> vdev=hda, using backend phy
>>>> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9bd04
>>>> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19bd04
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019bd04
>>>>   TOTAL:         0000000000000000->00000000ff800000
>>>>   ENTRY ADDRESS: 0000000000100000
>>>> xc: info: PHYSICAL MEMORY ALLOCATION:
>>>>   4KB PAGES: 0x0000000000000200
>>>>   2MB PAGES: 0x00000000000003fb
>>>>   1GB PAGES: 0x0000000000000002
>>>> xc: detail: elf_load_binary: phdr 0 at 0x0x7f7ff7f42000 -> 0x0x7f7ff7fd4b74
>>>> libxl: error: libxl.c:3213:libxl_sched_credit_domain_set: Cpu weight out
>>>> of range, valid values are within range from 1 to 65535
>>>> libxl: error: libxl_dom.c:74:libxl__sched_set_params:
>>>> libxl_sched_credit_domain_set failed -6
>>>> libxl: debug: libxl_device.c:183:libxl__device_disk_set_backend: Disk
>>>> vdev=hda spec.backend=phy
>>>> libxl: error: libxl_xshelp.c:102:libxl__xs_get_dompath: failed to get
>>>> dompath for 7: Bad file descriptor
>>>
>>> This is back to the original issue, I think the last couple of mails
>>> have been something of a tangent since you weren't getting as far as
>>> this failure.
>>>
>>> I'm not really sure what to suggest here -- something is either closing
>>> the fd or scribbling over the memory which contains it.
>>>
>>> I suppose you could sprinkle calls to libxl__xs_get_dompath() around
>>> between libxl__sched_set_params and libxl__device_disk_set_backend and
>>> see where it starts failing -- that's going to be pretty tedious though.
>>
>>
>> It starts failing in libxl__build_post() right after
>> xs_introduce_domain().
> 
> What method did you use to determine that?




What you said:

"sprinkle calls to libxl__xs_get_dompath() around between
libxl__sched_set_params and libxl__device_disk_set_backend and
see where it starts failing"

 > So at the xs_transaction_end right before that ctx->xsh is valid, but

> right after...
>         xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
> ...it is invalid? i.e. before the free(vmpath) it is already corrupt?




Yes, you got it.

> 
> (Aside: why isn't vmpath in the gc, instead of done manually,
> nevermind...)
> 
> Does the xs_introduce_domain itself succeed?




No, it fails.

> Or do you mean that the next use of xsh after this fails

> (where is that, somewhere back up the callchain? store_libxl_entry
> perhaps?)

> 
> xs_introduce_domain doesn't seem to do much which is untoward with the
> handle.



I thinkIn xs_talkv() something must fail.

> The only thing which springs to mind is that it may generate an
> @IntroduceDomain watch event. However xl is single threaded so we won't
> process that event until we unwind to whichever point we do an event
> loop iteration, in which case the corruption would have to happen later
> than right after xs_introduce_domain().
> 
> Did you manage to determine if "Bad file descriptor" was due to it being
> closed vs. the value being corrupted?

My suspicion is that

   if (msg.type != type)

in xs_talkv() is true.

Christoph





-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:55:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:55:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqUY-0006Lh-Vh; Tue, 22 May 2012 14:55:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <qianlong2006@gmail.com>) id 1SWjg8-0005Tv-2g
	for xen-devel@lists.xen.org; Tue, 22 May 2012 07:38:48 +0000
Received: from [85.158.138.51:10679] by server-11.bemta-3.messagelabs.com id
	AB/6A-18894-7824BBF4; Tue, 22 May 2012 07:38:47 +0000
X-Env-Sender: qianlong2006@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337672325!9726206!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6676 invoked from network); 22 May 2012 07:38:46 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:38:46 -0000
Received: by lbok6 with SMTP id k6so5188805lbo.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 00:38:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=nAycM6IMdqdp/1+Xa3hRYDDT4SxMhKZKfPomtDM2HNs=;
	b=qfnvDxP0RJStCrB341ai+y6IGiom7Jamvu8TwyEiMrZU0DqRS7Dz71JVgJblXsG/xJ
	S99fr7bzMqUUJ8MYAixvK1WAesvaDxfiddpRaviAIBxSj+LIN7i7Dz0f9NoiMx01YwM1
	9w42Txsc/2V382tr4IudUzS/z7EUVJ2mKFNzCFRm9JVwAWeYI0Z8a7pkRUCI1B3UTPaV
	jPVZa+oqKm0qINchs6dVOhPEYcgtO936wqEhgoQ0olChHf93xe9nXZRu9+zfsCmXP2zI
	3xw4NgwF5369L79TKxQCmsDzUWFhrc4vjiilAOjN/o6czIi+1fuTxzZG7nS56GEluFO/
	Weqw==
MIME-Version: 1.0
Received: by 10.112.8.5 with SMTP id n5mr9733229lba.48.1337672325520; Tue, 22
	May 2012 00:38:45 -0700 (PDT)
Received: by 10.114.25.136 with HTTP; Tue, 22 May 2012 00:38:45 -0700 (PDT)
Date: Tue, 22 May 2012 15:38:45 +0800
Message-ID: <CAJQefe8brB5MV3U1XBRrg20K7eVryWXS58JEFK0-3+U8beZ04g@mail.gmail.com>
From: =?GB2312?B?1cXHrMH6?= <qianlong2006@gmail.com>
To: xen-devel@lists.xen.org
X-Mailman-Approved-At: Tue, 22 May 2012 14:55:17 +0000
Subject: [Xen-devel] Some questions about how to test I/O performance in
	Virtualization in Xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8605883930500326790=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8605883930500326790==
Content-Type: multipart/alternative; boundary=90e6ba30952ac9de7104c09b1b71

--90e6ba30952ac9de7104c09b1b71
Content-Type: text/plain; charset=ISO-8859-1

Dear ALL,

My name is Heron.laterly I was learning the virtualization technology.I
want to find how much time was spent in DomainU,Xen and Domain0,when
DomainU send socket packets to the Internet via Domain0.Laterly I use
Xentrace to trace the send route,but can not find out the answer.Xenoprof
can not solve the question too.I had searched for a long time,but find
nothing,I appreciate it so much if you can give me some suggestiongs about
how to do the experiment and the tools to do that.Thanks a lot.
                                            Looking forward to your reply.

                                               Heron.

--90e6ba30952ac9de7104c09b1b71
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<font size=3D"4" style>Dear ALL,</font><div style><font size=3D"4"><br></fo=
nt></div><div style><font size=3D"4">My name is Heron.laterly I was learnin=
g the virtualization technology.</font><span style=3D"font-size:large">I wa=
nt to find how much time was spent in DomainU,Xen and Domain0,</span><span =
style=3D"font-size:large">when DomainU send socket packets to the Internet =
via Domain0.Laterly I use Xentrace to trace the send route,but can not find=
 out the answer.Xenoprof can not solve the question too.</span><span style=
=3D"font-size:large">I had searched for a long time,but find nothing,I appr=
eciate it so much if you can give me some suggestiongs about how to do the =
experiment and the tools to do that.Thanks a lot.</span></div>
<div style><span style=3D"font-size:large">=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Looking forward to =
your reply.</span></div><div style><span style=3D"font-size:large">=A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0Heron.</span></div>


--90e6ba30952ac9de7104c09b1b71--


--===============8605883930500326790==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8605883930500326790==--


From xen-devel-bounces@lists.xen.org Tue May 22 14:55:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:55:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqUY-0006Lh-Vh; Tue, 22 May 2012 14:55:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <qianlong2006@gmail.com>) id 1SWjg8-0005Tv-2g
	for xen-devel@lists.xen.org; Tue, 22 May 2012 07:38:48 +0000
Received: from [85.158.138.51:10679] by server-11.bemta-3.messagelabs.com id
	AB/6A-18894-7824BBF4; Tue, 22 May 2012 07:38:47 +0000
X-Env-Sender: qianlong2006@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337672325!9726206!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6676 invoked from network); 22 May 2012 07:38:46 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 07:38:46 -0000
Received: by lbok6 with SMTP id k6so5188805lbo.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 00:38:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=nAycM6IMdqdp/1+Xa3hRYDDT4SxMhKZKfPomtDM2HNs=;
	b=qfnvDxP0RJStCrB341ai+y6IGiom7Jamvu8TwyEiMrZU0DqRS7Dz71JVgJblXsG/xJ
	S99fr7bzMqUUJ8MYAixvK1WAesvaDxfiddpRaviAIBxSj+LIN7i7Dz0f9NoiMx01YwM1
	9w42Txsc/2V382tr4IudUzS/z7EUVJ2mKFNzCFRm9JVwAWeYI0Z8a7pkRUCI1B3UTPaV
	jPVZa+oqKm0qINchs6dVOhPEYcgtO936wqEhgoQ0olChHf93xe9nXZRu9+zfsCmXP2zI
	3xw4NgwF5369L79TKxQCmsDzUWFhrc4vjiilAOjN/o6czIi+1fuTxzZG7nS56GEluFO/
	Weqw==
MIME-Version: 1.0
Received: by 10.112.8.5 with SMTP id n5mr9733229lba.48.1337672325520; Tue, 22
	May 2012 00:38:45 -0700 (PDT)
Received: by 10.114.25.136 with HTTP; Tue, 22 May 2012 00:38:45 -0700 (PDT)
Date: Tue, 22 May 2012 15:38:45 +0800
Message-ID: <CAJQefe8brB5MV3U1XBRrg20K7eVryWXS58JEFK0-3+U8beZ04g@mail.gmail.com>
From: =?GB2312?B?1cXHrMH6?= <qianlong2006@gmail.com>
To: xen-devel@lists.xen.org
X-Mailman-Approved-At: Tue, 22 May 2012 14:55:17 +0000
Subject: [Xen-devel] Some questions about how to test I/O performance in
	Virtualization in Xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8605883930500326790=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8605883930500326790==
Content-Type: multipart/alternative; boundary=90e6ba30952ac9de7104c09b1b71

--90e6ba30952ac9de7104c09b1b71
Content-Type: text/plain; charset=ISO-8859-1

Dear ALL,

My name is Heron.laterly I was learning the virtualization technology.I
want to find how much time was spent in DomainU,Xen and Domain0,when
DomainU send socket packets to the Internet via Domain0.Laterly I use
Xentrace to trace the send route,but can not find out the answer.Xenoprof
can not solve the question too.I had searched for a long time,but find
nothing,I appreciate it so much if you can give me some suggestiongs about
how to do the experiment and the tools to do that.Thanks a lot.
                                            Looking forward to your reply.

                                               Heron.

--90e6ba30952ac9de7104c09b1b71
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<font size=3D"4" style>Dear ALL,</font><div style><font size=3D"4"><br></fo=
nt></div><div style><font size=3D"4">My name is Heron.laterly I was learnin=
g the virtualization technology.</font><span style=3D"font-size:large">I wa=
nt to find how much time was spent in DomainU,Xen and Domain0,</span><span =
style=3D"font-size:large">when DomainU send socket packets to the Internet =
via Domain0.Laterly I use Xentrace to trace the send route,but can not find=
 out the answer.Xenoprof can not solve the question too.</span><span style=
=3D"font-size:large">I had searched for a long time,but find nothing,I appr=
eciate it so much if you can give me some suggestiongs about how to do the =
experiment and the tools to do that.Thanks a lot.</span></div>
<div style><span style=3D"font-size:large">=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Looking forward to =
your reply.</span></div><div style><span style=3D"font-size:large">=A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0Heron.</span></div>


--90e6ba30952ac9de7104c09b1b71--


--===============8605883930500326790==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8605883930500326790==--


From xen-devel-bounces@lists.xen.org Tue May 22 14:58:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqXV-0007Au-PC; Tue, 22 May 2012 14:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWqXU-0007AB-Lo
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:58:20 +0000
Received: from [85.158.139.83:2896] by server-9.bemta-5.messagelabs.com id
	D8/F4-18212-B89ABBF4; Tue, 22 May 2012 14:58:19 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337698699!29215642!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28932 invoked from network); 22 May 2012 14:58:19 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-182.messagelabs.com with SMTP;
	22 May 2012 14:58:19 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78074661; Tue, 22 May 2012 16:58:18 +0200
Message-ID: <1337698697.20890.5.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 22 May 2012 16:58:17 +0200
In-Reply-To: <1337681771.10118.69.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4404514793816665503=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4404514793816665503==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-p0FhO9j3mFeIikuL03i3"


--=-p0FhO9j3mFeIikuL03i3
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 11:16 +0100, Ian Campbell wrote:=20
> > Well, the patch I'm attaching now let me at least build cleanly,
> > _without_ any other patches (not Christoph's nor mine)... Did you mean
> > something like that?
>=20
> I did, I guess we need to check that all callers can cope with this new
> return value though?
>=20
Sure, that was only to be sure I got what you were saying. :-)

What I'm not getting right now is whether or not a proper patch doing
such is still interesting or not? Also, how come am I almost the only
one seeing that issue? Does it relate to gcc version? :-O

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-p0FhO9j3mFeIikuL03i3
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+7qYkACgkQk4XaBE3IOsQzLACfeC+gHV99mRa/2ey+t6IXOasr
nUMAn1+kjjhMvn9wYSnSrA/tM/sXpjEu
=WJ2e
-----END PGP SIGNATURE-----

--=-p0FhO9j3mFeIikuL03i3--



--===============4404514793816665503==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4404514793816665503==--



From xen-devel-bounces@lists.xen.org Tue May 22 14:58:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqXV-0007Au-PC; Tue, 22 May 2012 14:58:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWqXU-0007AB-Lo
	for xen-devel@lists.xen.org; Tue, 22 May 2012 14:58:20 +0000
Received: from [85.158.139.83:2896] by server-9.bemta-5.messagelabs.com id
	D8/F4-18212-B89ABBF4; Tue, 22 May 2012 14:58:19 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337698699!29215642!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28932 invoked from network); 22 May 2012 14:58:19 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-182.messagelabs.com with SMTP;
	22 May 2012 14:58:19 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78074661; Tue, 22 May 2012 16:58:18 +0200
Message-ID: <1337698697.20890.5.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 22 May 2012 16:58:17 +0200
In-Reply-To: <1337681771.10118.69.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4404514793816665503=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4404514793816665503==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-p0FhO9j3mFeIikuL03i3"


--=-p0FhO9j3mFeIikuL03i3
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 11:16 +0100, Ian Campbell wrote:=20
> > Well, the patch I'm attaching now let me at least build cleanly,
> > _without_ any other patches (not Christoph's nor mine)... Did you mean
> > something like that?
>=20
> I did, I guess we need to check that all callers can cope with this new
> return value though?
>=20
Sure, that was only to be sure I got what you were saying. :-)

What I'm not getting right now is whether or not a proper patch doing
such is still interesting or not? Also, how come am I almost the only
one seeing that issue? Does it relate to gcc version? :-O

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-p0FhO9j3mFeIikuL03i3
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+7qYkACgkQk4XaBE3IOsQzLACfeC+gHV99mRa/2ey+t6IXOasr
nUMAn1+kjjhMvn9wYSnSrA/tM/sXpjEu
=WJ2e
-----END PGP SIGNATURE-----

--=-p0FhO9j3mFeIikuL03i3--



--===============4404514793816665503==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4404514793816665503==--



From xen-devel-bounces@lists.xen.org Tue May 22 14:59:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:59:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqYd-0007VM-8r; Tue, 22 May 2012 14:59:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqYb-0007Uy-MW
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:59:30 +0000
Received: from [85.158.139.83:14768] by server-1.bemta-5.messagelabs.com id
	B7/0A-27328-1D9ABBF4; Tue, 22 May 2012 14:59:29 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337698768!29744739!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30582 invoked from network); 22 May 2012 14:59:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:59:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12607530"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:59:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 15:59:27 +0100
Message-ID: <1337698766.10118.139.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Tue, 22 May 2012 15:59:26 +0100
In-Reply-To: <1337694056.10118.128.camel@zakaz.uk.xensource.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:40 +0100, Ian Campbell wrote:
> On Tue, 2012-05-22 at 14:05 +0100, George Dunlap wrote:
> > 
> > I think Ian has convinced me that just using -1 for default values
> > would be the best option: 
> 
> Perhaps I should code up what I'm talking about for comparison. 

Like the below. Lightly tested with the credit scheduler.

I think CAP is the only one for which 0 is a real valid value, but I'm
not sure (especially with the SEDF ones which didn't have existing
limits checks in the set function I could crib from...).

I'm pretty sure that libxl__sched_set_params needs to get the correct
scheduler for the particular domain, but I've no idea how to get that...

8<---------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337698727 -3600
# Node ID 355030f95eb313605a0e43aa7328e731b28a28b3
# Parent  426bbf58cea4559464b6e5d3ff0f65324a5f5926
libxl: make it possible to explicitly specify default sched params

To do so we define a descriminating value which is never a valid real value for
each parameter.

While there:

 - remove tslice_ms and ratelimit_us from libxl_sched_params and from the xl
   domain config parser. These are global scheduler properties, not per-domain
   ones (and were never read in any case).
 - removed libxl_sched_*_domain in favour of libxl_sched_params.
 - rename libxl_sched_params to libxl_sched_domain_params for clarity.
 - use this new functionality for the various xl commands which set sched
   parameters, which saves an explicit read-modify-write in xl.
 - removed call of xc_domain_getinfolist from a few functions which weren't
   actually using the result (looks like a cut and paste error)
 - fix xl which was setting period for a variety of different config keys.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 22 15:58:47 2012 +0100
@@ -3168,19 +3168,19 @@ libxl_scheduler libxl_get_scheduler(libx
 }
 
 int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    libxl_sched_credit_domain_init(scinfo);
-
     rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
     scinfo->weight = sdom.weight;
     scinfo->cap = sdom.cap;
 
@@ -3188,7 +3188,7 @@ int libxl_sched_credit_domain_get(libxl_
 }
 
 int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
@@ -3202,22 +3202,33 @@ int libxl_sched_credit_domain_set(libxl_
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu weight out of range, valid values are within range from 1 to 65535");
-        return ERROR_INVAL;
+    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        return ERROR_FAIL;
     }
 
-    if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
-            ((domaininfo.max_vcpu_id + 1) * 100));
-        return ERROR_INVAL;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-    sdom.cap = scinfo->cap;
+    if (scinfo->cap != LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT) {
+        if (scinfo->cap < 0
+            || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                "Cpu cap out of range, "
+                "valid range is from 0 to %d for specified number of vcpus",
+                       ((domaininfo.max_vcpu_id + 1) * 100));
+            return ERROR_INVAL;
+        }
+        sdom.cap = scinfo->cap;
+    }
 
     rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
@@ -3290,13 +3301,11 @@ int libxl_sched_credit_params_set(libxl_
 }
 
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    libxl_sched_credit2_domain_init(scinfo);
-
     rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3304,36 +3313,37 @@ int libxl_sched_credit2_domain_get(libxl
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
     scinfo->weight = sdom.weight;
 
     return 0;
 }
 
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
-    xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "getting domain sched credit2");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
-            "Cpu weight out of range, valid values are within range from "
-            "1 to 65535");
-        return ERROR_INVAL;
+
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from "
+                       "1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-
     rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3345,7 +3355,7 @@ int libxl_sched_credit2_domain_set(libxl
 }
 
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3354,8 +3364,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    libxl_sched_sedf_domain_init(scinfo);
-
     rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
@@ -3363,6 +3371,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_SEDF;
     scinfo->period = period / 1000000;
     scinfo->slice = slice / 1000000;
     scinfo->latency = latency / 1000000;
@@ -3373,24 +3383,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
 }
 
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
-    xc_domaininfo_t domaininfo;
-    int rc;
-
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    uint64_t period;
+    uint64_t slice;
+    uint64_t latency;
+    uint16_t extratime;
+    uint16_t weight;
+
+    int ret;
+
+    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+                            &extratime, &weight);
+    if (ret != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
-                            scinfo->slice * 1000000, scinfo->latency * 1000000,
-                            scinfo->extratime, scinfo->weight);
-    if ( rc < 0 ) {
+
+    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
+        period = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
+        period = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
+        period = scinfo->extratime;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
+        period = scinfo->weight;
+
+    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+                            extratime, weight);
+    if ( ret < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 22 15:58:47 2012 +0100
@@ -805,23 +805,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
 
 libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
 
-
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
+/* Per-scheduler parameters */
 int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
 int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
+
+/* Scheduler Per-domain parameters */
+
+#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT       -1
+#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT     0
+#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT   0
+#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT 0
+
+int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
+int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 22 15:58:47 2012 +0100
@@ -42,36 +42,30 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_sched_domain_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
-    libxl_sched_sedf_domain sedf_info;
-    libxl_sched_credit_domain credit_info;
-    libxl_sched_credit2_domain credit2_info;
+    libxl_scheduler sched = scparams->sched;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl_get_scheduler(ctx);
+
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
-      ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
-      break;
+        ret=libxl_sched_sedf_domain_set(ctx, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
-      ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
-      break;
+        ret=libxl_sched_credit_domain_set(ctx, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
-      ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
-      break;
+        ret=libxl_sched_credit2_domain_set(ctx, domid, scparams);
+        break;
     default:
-      ret=-1;
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
     }
     return ret;
 }
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 22 15:58:47 2012 +0100
@@ -716,7 +716,7 @@ _hidden int libxl__atfork_init(libxl_ctx
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
+_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_domain_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
 typedef struct {
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 22 15:58:47 2012 +0100
@@ -109,7 +109,9 @@ libxl_bios_type = Enumeration("bios_type
     ])
 
 # Consistent with values defined in domctl.h
+# Except unknown which is special.
 libxl_scheduler = Enumeration("scheduler", [
+    (0, "unknown"),
     (4, "sedf"),
     (5, "credit"),
     (6, "credit2"),
@@ -224,15 +226,14 @@ libxl_domain_create_info = Struct("domai
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
-libxl_sched_params = Struct("sched_params",[
-    ("weight",       integer),
-    ("cap",          integer),
-    ("tslice_ms",    integer),
-    ("ratelimit_us", integer),
-    ("period",       integer),
-    ("slice",        integer),
-    ("latency",      integer),
-    ("extratime",    integer),
+libxl_sched_domain_params = Struct("sched_domain_params",[
+    ("sched",        libxl_scheduler),
+    ("weight",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT'}),
+    ("cap",          integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT'}),
+    ("period",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT'}),
+    ("slice",        integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT'}),
+    ("latency",      integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT'}),
+    ("extratime",    integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
 # Instances of libxl_file_reference contained in this struct which
@@ -267,7 +268,7 @@ libxl_domain_build_info = Struct("domain
     # extra parameters pass directly to qemu for HVM guest, NULL terminated
     ("extra_hvm",        libxl_string_list),
     #  parameters for all type of scheduler
-    ("sched_params",     libxl_sched_params),
+    ("sched_params",     libxl_sched_domain_params),
 
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
@@ -432,28 +433,11 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
-libxl_sched_credit_domain = Struct("sched_credit_domain", [
-    ("weight", integer),
-    ("cap", integer),
-    ])
-
 libxl_sched_credit_params = Struct("sched_credit_params", [
     ("tslice_ms", integer),
     ("ratelimit_us", integer),
     ], dispose_fn=None)
 
-libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
-    ("weight", integer),
-    ])
-
-libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
-    ("period", integer),
-    ("slice", integer),
-    ("latency", integer),
-    ("extratime", integer),
-    ("weight", integer),
-    ])
-
 libxl_domain_remus_info = Struct("domain_remus_info",[
     ("interval",     integer),
     ("blackhole",    bool),
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 22 15:58:47 2012 +0100
@@ -627,23 +627,20 @@ static void parse_config_data(const char
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
-    /* the following is the actual config parsing with overriding values in the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
@@ -4355,7 +4352,7 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_get(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4366,7 +4363,7 @@ static int sched_credit_domain_get(int d
     return rc;
 }
 
-static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_set(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4402,7 +4399,7 @@ static int sched_credit_params_get(int p
 static int sched_credit_domain_output(int domid)
 {
     char *domname;
-    libxl_sched_credit_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4419,7 +4416,7 @@ static int sched_credit_domain_output(in
         scinfo.weight,
         scinfo.cap);
     free(domname);
-    libxl_sched_credit_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4445,7 +4442,7 @@ static int sched_credit_pool_output(uint
 }
 
 static int sched_credit2_domain_get(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4457,7 +4454,7 @@ static int sched_credit2_domain_get(
 }
 
 static int sched_credit2_domain_set(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4472,7 +4469,7 @@ static int sched_credit2_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_credit2_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4488,12 +4485,12 @@ static int sched_credit2_domain_output(
         domid,
         scinfo.weight);
     free(domname);
-    libxl_sched_credit2_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
 static int sched_sedf_domain_get(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4505,7 +4502,7 @@ static int sched_sedf_domain_get(
 }
 
 static int sched_sedf_domain_set(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4519,7 +4516,7 @@ static int sched_sedf_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_sedf_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4540,7 +4537,7 @@ static int sched_sedf_domain_output(
         scinfo.extratime,
         scinfo.weight);
     free(domname);
-    libxl_sched_sedf_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4620,7 +4617,6 @@ static int sched_domain_output(libxl_sch
  */
 int main_sched_credit(int argc, char **argv)
 {
-    libxl_sched_credit_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
@@ -4695,7 +4691,7 @@ int main_sched_credit(int argc, char **a
     }
 
     if (opt_s) {
-        libxl_sched_credit_params  scparam;
+        libxl_sched_credit_params scparam;
         uint32_t poolid = 0;
 
         if (cpupool) {
@@ -4731,20 +4727,19 @@ int main_sched_credit(int argc, char **a
     } else {
         find_domain(dom);
 
-        rc = sched_credit_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w && !opt_c) { /* output credit scheduler info */
             sched_credit_domain_output(-1);
             return -sched_credit_domain_output(domid);
         } else { /* set credit scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
             if (opt_w)
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
             rc = sched_credit_domain_set(domid, &scinfo);
-            libxl_sched_credit_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4755,7 +4750,6 @@ int main_sched_credit(int argc, char **a
 
 int main_sched_credit2(int argc, char **argv)
 {
-    libxl_sched_credit2_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, opt_w = 0;
@@ -4810,18 +4804,17 @@ int main_sched_credit2(int argc, char **
     } else {
         find_domain(dom);
 
-        rc = sched_credit2_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w) { /* output credit2 scheduler info */
             sched_credit2_domain_output(-1);
             return -sched_credit2_domain_output(domid);
         } else { /* set credit2 scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
             rc = sched_credit2_domain_set(domid, &scinfo);
-            libxl_sched_credit2_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4832,7 +4825,6 @@ int main_sched_credit2(int argc, char **
 
 int main_sched_sedf(int argc, char **argv)
 {
-    libxl_sched_sedf_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int period = 0, opt_p = 0;
@@ -4915,15 +4907,15 @@ int main_sched_sedf(int argc, char **arg
     } else {
         find_domain(dom);
 
-        rc = sched_sedf_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
             /* output sedf scheduler info */
             sched_sedf_domain_output(-1);
             return -sched_sedf_domain_output(domid);
         } else { /* set sedf scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_SEDF;
+
             if (opt_p) {
                 scinfo.period = period;
                 scinfo.weight = 0;
@@ -4942,7 +4934,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.slice = 0;
             }
             rc = sched_sedf_domain_set(domid, &scinfo);
-            libxl_sched_sedf_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 14:59:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 14:59:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqYd-0007VM-8r; Tue, 22 May 2012 14:59:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqYb-0007Uy-MW
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 14:59:30 +0000
Received: from [85.158.139.83:14768] by server-1.bemta-5.messagelabs.com id
	B7/0A-27328-1D9ABBF4; Tue, 22 May 2012 14:59:29 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337698768!29744739!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30582 invoked from network); 22 May 2012 14:59:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 14:59:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,637,1330905600"; d="scan'208";a="12607530"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 14:59:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 15:59:27 +0100
Message-ID: <1337698766.10118.139.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Date: Tue, 22 May 2012 15:59:26 +0100
In-Reply-To: <1337694056.10118.128.camel@zakaz.uk.xensource.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 14:40 +0100, Ian Campbell wrote:
> On Tue, 2012-05-22 at 14:05 +0100, George Dunlap wrote:
> > 
> > I think Ian has convinced me that just using -1 for default values
> > would be the best option: 
> 
> Perhaps I should code up what I'm talking about for comparison. 

Like the below. Lightly tested with the credit scheduler.

I think CAP is the only one for which 0 is a real valid value, but I'm
not sure (especially with the SEDF ones which didn't have existing
limits checks in the set function I could crib from...).

I'm pretty sure that libxl__sched_set_params needs to get the correct
scheduler for the particular domain, but I've no idea how to get that...

8<---------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337698727 -3600
# Node ID 355030f95eb313605a0e43aa7328e731b28a28b3
# Parent  426bbf58cea4559464b6e5d3ff0f65324a5f5926
libxl: make it possible to explicitly specify default sched params

To do so we define a descriminating value which is never a valid real value for
each parameter.

While there:

 - remove tslice_ms and ratelimit_us from libxl_sched_params and from the xl
   domain config parser. These are global scheduler properties, not per-domain
   ones (and were never read in any case).
 - removed libxl_sched_*_domain in favour of libxl_sched_params.
 - rename libxl_sched_params to libxl_sched_domain_params for clarity.
 - use this new functionality for the various xl commands which set sched
   parameters, which saves an explicit read-modify-write in xl.
 - removed call of xc_domain_getinfolist from a few functions which weren't
   actually using the result (looks like a cut and paste error)
 - fix xl which was setting period for a variety of different config keys.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 22 15:58:47 2012 +0100
@@ -3168,19 +3168,19 @@ libxl_scheduler libxl_get_scheduler(libx
 }
 
 int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    libxl_sched_credit_domain_init(scinfo);
-
     rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
     scinfo->weight = sdom.weight;
     scinfo->cap = sdom.cap;
 
@@ -3188,7 +3188,7 @@ int libxl_sched_credit_domain_get(libxl_
 }
 
 int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
@@ -3202,22 +3202,33 @@ int libxl_sched_credit_domain_set(libxl_
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu weight out of range, valid values are within range from 1 to 65535");
-        return ERROR_INVAL;
+    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        return ERROR_FAIL;
     }
 
-    if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
-            ((domaininfo.max_vcpu_id + 1) * 100));
-        return ERROR_INVAL;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-    sdom.cap = scinfo->cap;
+    if (scinfo->cap != LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT) {
+        if (scinfo->cap < 0
+            || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                "Cpu cap out of range, "
+                "valid range is from 0 to %d for specified number of vcpus",
+                       ((domaininfo.max_vcpu_id + 1) * 100));
+            return ERROR_INVAL;
+        }
+        sdom.cap = scinfo->cap;
+    }
 
     rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
@@ -3290,13 +3301,11 @@ int libxl_sched_credit_params_set(libxl_
 }
 
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    libxl_sched_credit2_domain_init(scinfo);
-
     rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3304,36 +3313,37 @@ int libxl_sched_credit2_domain_get(libxl
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
     scinfo->weight = sdom.weight;
 
     return 0;
 }
 
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
-    xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "getting domain sched credit2");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
-            "Cpu weight out of range, valid values are within range from "
-            "1 to 65535");
-        return ERROR_INVAL;
+
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from "
+                       "1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-
     rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3345,7 +3355,7 @@ int libxl_sched_credit2_domain_set(libxl
 }
 
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3354,8 +3364,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    libxl_sched_sedf_domain_init(scinfo);
-
     rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
@@ -3363,6 +3371,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_SEDF;
     scinfo->period = period / 1000000;
     scinfo->slice = slice / 1000000;
     scinfo->latency = latency / 1000000;
@@ -3373,24 +3383,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
 }
 
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
-    xc_domaininfo_t domaininfo;
-    int rc;
-
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    uint64_t period;
+    uint64_t slice;
+    uint64_t latency;
+    uint16_t extratime;
+    uint16_t weight;
+
+    int ret;
+
+    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+                            &extratime, &weight);
+    if (ret != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
-                            scinfo->slice * 1000000, scinfo->latency * 1000000,
-                            scinfo->extratime, scinfo->weight);
-    if ( rc < 0 ) {
+
+    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
+        period = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
+        period = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
+        period = scinfo->extratime;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
+        period = scinfo->weight;
+
+    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+                            extratime, weight);
+    if ( ret < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 22 15:58:47 2012 +0100
@@ -805,23 +805,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
 
 libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
 
-
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
+/* Per-scheduler parameters */
 int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
 int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
+
+/* Scheduler Per-domain parameters */
+
+#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT       -1
+#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT     0
+#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT   0
+#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT 0
+
+int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
+int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 22 15:58:47 2012 +0100
@@ -42,36 +42,30 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_sched_domain_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
-    libxl_sched_sedf_domain sedf_info;
-    libxl_sched_credit_domain credit_info;
-    libxl_sched_credit2_domain credit2_info;
+    libxl_scheduler sched = scparams->sched;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl_get_scheduler(ctx);
+
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
-      ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
-      break;
+        ret=libxl_sched_sedf_domain_set(ctx, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
-      ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
-      break;
+        ret=libxl_sched_credit_domain_set(ctx, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
-      ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
-      break;
+        ret=libxl_sched_credit2_domain_set(ctx, domid, scparams);
+        break;
     default:
-      ret=-1;
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
     }
     return ret;
 }
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 22 15:58:47 2012 +0100
@@ -716,7 +716,7 @@ _hidden int libxl__atfork_init(libxl_ctx
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
+_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_domain_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
 typedef struct {
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 22 15:58:47 2012 +0100
@@ -109,7 +109,9 @@ libxl_bios_type = Enumeration("bios_type
     ])
 
 # Consistent with values defined in domctl.h
+# Except unknown which is special.
 libxl_scheduler = Enumeration("scheduler", [
+    (0, "unknown"),
     (4, "sedf"),
     (5, "credit"),
     (6, "credit2"),
@@ -224,15 +226,14 @@ libxl_domain_create_info = Struct("domai
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
-libxl_sched_params = Struct("sched_params",[
-    ("weight",       integer),
-    ("cap",          integer),
-    ("tslice_ms",    integer),
-    ("ratelimit_us", integer),
-    ("period",       integer),
-    ("slice",        integer),
-    ("latency",      integer),
-    ("extratime",    integer),
+libxl_sched_domain_params = Struct("sched_domain_params",[
+    ("sched",        libxl_scheduler),
+    ("weight",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT'}),
+    ("cap",          integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT'}),
+    ("period",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT'}),
+    ("slice",        integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT'}),
+    ("latency",      integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT'}),
+    ("extratime",    integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
 # Instances of libxl_file_reference contained in this struct which
@@ -267,7 +268,7 @@ libxl_domain_build_info = Struct("domain
     # extra parameters pass directly to qemu for HVM guest, NULL terminated
     ("extra_hvm",        libxl_string_list),
     #  parameters for all type of scheduler
-    ("sched_params",     libxl_sched_params),
+    ("sched_params",     libxl_sched_domain_params),
 
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
@@ -432,28 +433,11 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
-libxl_sched_credit_domain = Struct("sched_credit_domain", [
-    ("weight", integer),
-    ("cap", integer),
-    ])
-
 libxl_sched_credit_params = Struct("sched_credit_params", [
     ("tslice_ms", integer),
     ("ratelimit_us", integer),
     ], dispose_fn=None)
 
-libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
-    ("weight", integer),
-    ])
-
-libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
-    ("period", integer),
-    ("slice", integer),
-    ("latency", integer),
-    ("extratime", integer),
-    ("weight", integer),
-    ])
-
 libxl_domain_remus_info = Struct("domain_remus_info",[
     ("interval",     integer),
     ("blackhole",    bool),
diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 22 15:58:47 2012 +0100
@@ -627,23 +627,20 @@ static void parse_config_data(const char
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
-    /* the following is the actual config parsing with overriding values in the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
@@ -4355,7 +4352,7 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_get(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4366,7 +4363,7 @@ static int sched_credit_domain_get(int d
     return rc;
 }
 
-static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_set(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4402,7 +4399,7 @@ static int sched_credit_params_get(int p
 static int sched_credit_domain_output(int domid)
 {
     char *domname;
-    libxl_sched_credit_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4419,7 +4416,7 @@ static int sched_credit_domain_output(in
         scinfo.weight,
         scinfo.cap);
     free(domname);
-    libxl_sched_credit_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4445,7 +4442,7 @@ static int sched_credit_pool_output(uint
 }
 
 static int sched_credit2_domain_get(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4457,7 +4454,7 @@ static int sched_credit2_domain_get(
 }
 
 static int sched_credit2_domain_set(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4472,7 +4469,7 @@ static int sched_credit2_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_credit2_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4488,12 +4485,12 @@ static int sched_credit2_domain_output(
         domid,
         scinfo.weight);
     free(domname);
-    libxl_sched_credit2_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
 static int sched_sedf_domain_get(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4505,7 +4502,7 @@ static int sched_sedf_domain_get(
 }
 
 static int sched_sedf_domain_set(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4519,7 +4516,7 @@ static int sched_sedf_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_sedf_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4540,7 +4537,7 @@ static int sched_sedf_domain_output(
         scinfo.extratime,
         scinfo.weight);
     free(domname);
-    libxl_sched_sedf_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4620,7 +4617,6 @@ static int sched_domain_output(libxl_sch
  */
 int main_sched_credit(int argc, char **argv)
 {
-    libxl_sched_credit_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
@@ -4695,7 +4691,7 @@ int main_sched_credit(int argc, char **a
     }
 
     if (opt_s) {
-        libxl_sched_credit_params  scparam;
+        libxl_sched_credit_params scparam;
         uint32_t poolid = 0;
 
         if (cpupool) {
@@ -4731,20 +4727,19 @@ int main_sched_credit(int argc, char **a
     } else {
         find_domain(dom);
 
-        rc = sched_credit_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w && !opt_c) { /* output credit scheduler info */
             sched_credit_domain_output(-1);
             return -sched_credit_domain_output(domid);
         } else { /* set credit scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
             if (opt_w)
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
             rc = sched_credit_domain_set(domid, &scinfo);
-            libxl_sched_credit_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4755,7 +4750,6 @@ int main_sched_credit(int argc, char **a
 
 int main_sched_credit2(int argc, char **argv)
 {
-    libxl_sched_credit2_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, opt_w = 0;
@@ -4810,18 +4804,17 @@ int main_sched_credit2(int argc, char **
     } else {
         find_domain(dom);
 
-        rc = sched_credit2_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w) { /* output credit2 scheduler info */
             sched_credit2_domain_output(-1);
             return -sched_credit2_domain_output(domid);
         } else { /* set credit2 scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
             rc = sched_credit2_domain_set(domid, &scinfo);
-            libxl_sched_credit2_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4832,7 +4825,6 @@ int main_sched_credit2(int argc, char **
 
 int main_sched_sedf(int argc, char **argv)
 {
-    libxl_sched_sedf_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int period = 0, opt_p = 0;
@@ -4915,15 +4907,15 @@ int main_sched_sedf(int argc, char **arg
     } else {
         find_domain(dom);
 
-        rc = sched_sedf_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
             /* output sedf scheduler info */
             sched_sedf_domain_output(-1);
             return -sched_sedf_domain_output(domid);
         } else { /* set sedf scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_SEDF;
+
             if (opt_p) {
                 scinfo.period = period;
                 scinfo.weight = 0;
@@ -4942,7 +4934,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.slice = 0;
             }
             rc = sched_sedf_domain_set(domid, &scinfo);
-            libxl_sched_sedf_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:09:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:09:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqhn-0008KG-MU; Tue, 22 May 2012 15:08:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqhm-0008K9-Rz
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:08:58 +0000
Received: from [193.109.254.147:11967] by server-9.bemta-14.messagelabs.com id
	4B/9F-05787-A0CABBF4; Tue, 22 May 2012 15:08:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337699337!10556374!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11512 invoked from network); 22 May 2012 15:08:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:08:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12607835"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:07:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:07:53 +0100
Message-ID: <1337699271.10118.140.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 22 May 2012 16:07:51 +0100
In-Reply-To: <1337698697.20890.5.camel@Abyss>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 15:58 +0100, Dario Faggioli wrote:
> On Tue, 2012-05-22 at 11:16 +0100, Ian Campbell wrote: 
> > > Well, the patch I'm attaching now let me at least build cleanly,
> > > _without_ any other patches (not Christoph's nor mine)... Did you mean
> > > something like that?
> > 
> > I did, I guess we need to check that all callers can cope with this new
> > return value though?
> > 
> Sure, that was only to be sure I got what you were saying. :-)
> 
> What I'm not getting right now is whether or not a proper patch doing
> such is still interesting or not? Also, how come am I almost the only
> one seeing that issue? Does it relate to gcc version? :-O

There's been a handful of other reports this week. It does seem to be to
do with gcc version, yes.

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:09:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:09:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqhn-0008KG-MU; Tue, 22 May 2012 15:08:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqhm-0008K9-Rz
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:08:58 +0000
Received: from [193.109.254.147:11967] by server-9.bemta-14.messagelabs.com id
	4B/9F-05787-A0CABBF4; Tue, 22 May 2012 15:08:58 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337699337!10556374!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11512 invoked from network); 22 May 2012 15:08:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:08:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12607835"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:07:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:07:53 +0100
Message-ID: <1337699271.10118.140.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 22 May 2012 16:07:51 +0100
In-Reply-To: <1337698697.20890.5.camel@Abyss>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 15:58 +0100, Dario Faggioli wrote:
> On Tue, 2012-05-22 at 11:16 +0100, Ian Campbell wrote: 
> > > Well, the patch I'm attaching now let me at least build cleanly,
> > > _without_ any other patches (not Christoph's nor mine)... Did you mean
> > > something like that?
> > 
> > I did, I guess we need to check that all callers can cope with this new
> > return value though?
> > 
> Sure, that was only to be sure I got what you were saying. :-)
> 
> What I'm not getting right now is whether or not a proper patch doing
> such is still interesting or not? Also, how come am I almost the only
> one seeing that issue? Does it relate to gcc version? :-O

There's been a handful of other reports this week. It does seem to be to
do with gcc version, yes.

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:10:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:10:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqjP-0008Pb-63; Tue, 22 May 2012 15:10:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWqjN-0008PS-B3
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:10:37 +0000
Received: from [85.158.143.35:9932] by server-1.bemta-4.messagelabs.com id
	32/7E-00342-C6CABBF4; Tue, 22 May 2012 15:10:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337699427!14416908!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10467 invoked from network); 22 May 2012 15:10:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:10:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12607905"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:10:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 16:10:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWqjC-0008HF-Jx; Tue, 22 May 2012 15:10:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWqjC-0007F4-J2;
	Tue, 22 May 2012 16:10:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.44130.574284.772580@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 16:10:26 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-6-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Introduce a new structure to track state of device backends, that will
> be used in following patches on this series.
>
> This structure if used for both device creation and device
> destruction and removes libxl__ao_device_remove.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index ae5527b..b62110a 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
...
> +struct libxl__ao_device {
> +    /* filled in by user */
> +    libxl__ao *ao;
> +    /* action being performed */
> +    libxl__device_action action;
> +    libxl__device *dev;
> +    int force;
> +    libxl__device_callback *callback;
> +    /* private for implementation */
> +    /* State in which the device is */
> +    int active;
> +    int rc;
> +    libxl__ev_devstate ds;
> +    void *base;
> +};

Re your comment, don't you mean "state of the operation" rather than
"state of the device" ?

I would prefer some reformatting to make the scope of comments like
"filled in by user" clearer.  Perhaps a blank line before "private for
implementation".  Or perhaps moving all the small comments to after
the variables.

TBH I'm not sure what the comment "action being performed" is for.
After all the variable is called "action" so it's obvious.

> +/* Arranges that dev will be removed to the guest, and the
> + * hotplug scripts will be executed (if necessary). When
> + * this is done (or an error happens), the callback in
> + * aorm->callback will be called.
> + */
> +_hidden void libxl__initiate_device_remove(libxl__egc *egc,
> +                                           libxl__ao_device *aorm);
> +

Does this really only do removals ?  If so where is the addition
function and what is the "action" parameter for ?

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 2a09192..b13de4f 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1271,6 +1271,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
>
>  /******************************************************************************/
>
> +/* generic callback for devices that only need to set ao_complete */
> +static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)

Maybe this should have a more descriptive name ?
   device_addrm_aocomplete
depending on whether it's for removal only or for addition too.

You are still using the parameter name "aorm" for something which is
not only a removal operation.  "aodev" or something.

>  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_device_nic *nic)
> +                             libxl_device_nic *nic,
> +                             const libxl_asyncop_how *ao_how)
>  {
> -    GC_INIT(ctx);
> -    libxl__device device;
> +    AO_CREATE(ctx, domid, ao_how);
> +    libxl__device *device;
> +    libxl__ao_device *aorm;
>      int rc;
>
> -    rc = libxl__device_from_nic(gc, domid, nic, &device);
> +    GCNEW(device);
> +    rc = libxl__device_from_nic(gc, domid, nic, device);
>      if (rc != 0) goto out;
>
> -    rc = libxl__device_destroy(gc, &device);
> +    GCNEW(aorm);
> +    libxl__init_ao_device(aorm, ao, NULL);
> +    aorm->action = DEVICE_DISCONNECT;
> +    aorm->force = 1;
> +    aorm->dev = device;
> +    aorm->callback = libxl__device_cb;
> +    libxl__initiate_device_remove(egc, aorm);
> +

Is there some way to make these functions less repetitive ?
We have {nic,disk,vkb,vfb}_{remove,destroy} all of which have
essentially identical innards.

I have some suggestions, in descending order of my own preference.

How about writing the common code once in a macro:

 1  #define DEFINE_DEVICE_REMOVE(type, removedestroy, force)       \
 1     int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,   \
 1                 uint32_t domid, libxl_device_##type *nic,       \
 1                 const libxl_asyncop_how *ao_how)                \
 1     {                                                           \
 1         AO_CREATE etc. etc.                                     \
 1         rc = libxl__device_from_##type( etc. etc. )             \
 1         etc. etc.                                               \
 1     }

 8  DEFINE_DEVICE_REMOVE(nic, remove, 0)
 .  DEFINE_DEVICE_REMOVE(nic, destroy, 1)
 .  DEFINE_DEVICE_REMOVE(disk, remove, 0)
 .  DEFINE_DEVICE_REMOVE(disk, destroy, 1)
 .  DEFINE_DEVICE_REMOVE(vkb, remove, 0)
 .  DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
 .  DEFINE_DEVICE_REMOVE(vfb, remove, 0)
 .  DEFINE_DEVICE_REMOVE(vfb, destroy, 1)

(Numbers on the left show how many instances of formulaic code there
are.)

Or writing the common code once in a function which takes an
appropriate function pointer type for the conversion:

 1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
 1                    void *libxl_foo_device,
 1                    int (*libxl_device_from_foo_device)
 1                         (libxl__gc *gc, uint32_t domid,
 1                          void *libxl_foo_device, libxl__device **device))
 1  {
 1      AO_CREATE etc. etc.

 4  static int device_from_nic_void(libxl__gc *gc, uint32_t domid,
 4                          void *libxl_foo_device, libxl__device **device)
 4      { return libxl__device_from_nic(gc, domid, libxl_foo_device, device); }

 8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
 8                               libxl_device_nic *nic,
 8                               const libxl_asyncop_how *ao_how)
 8      { return device_remove(ctx, domid, 0, nic, device_from_nic_void); }

 .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
 .                               libxl_device_nic *nic,
 .                               const libxl_asyncop_how *ao_how)
 .      { return device_remove(ctx, domid, 1, nic, device_from_nic_void); }

Or combining the above:

 1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
 1                    void *libxl_foo_device,
 1                    int (*libxl_device_from_foo_device)
 1                         (libxl__gc *gc, uint32_t domid,
 1                          void *libxl_foo_device, libxl__device **device))
 1  {
 1      AO_CREATE etc. etc.

 1  #define DEFINE_DEVICE_REMOVE(type)                                      \
 4    static int device_from_##type##_void(libxl__gc *gc, uint32_t domid,   \
 4                          void *libxl_foo_device, libxl__device **device) \
 4        { return libxl__device_from_##type(gc, domid,                     \
 4                                libxl_foo_device, device); }              \
                                                                            \
 2  int libxl_device_##type##_remove(libxl_ctx *ctx, uint32_t domid,        \
 2                               libxl_device_##type *thing,                \
 2                               const libxl_asyncop_how *ao_how)           \
 2      { return device_remove(ctx, domid, 0, thing,                        \
 2                             device_from_##type##_void); }                \
                                                                            \
 .  int libxl_device_##type##_destroy(libxl_ctx *ctx, uint32_t domid,       \
 .                               libxl_device_##type *thing,                \
 .                               const libxl_asyncop_how *ao_how)           \
 .      { return device_remove(ctx, domid, 1, thing,                        \
 .                             device_from_##type##_void); }

 4  DEVICE_DEVICE_REMOVE(nic)
 .  DEVICE_DEVICE_REMOVE(disk)
 .  DEVICE_DEVICE_REMOVE(vfb)
 .  DEVICE_DEVICE_REMOVE(vkb)

Or at least reducing the number of copies from 8 to 4 like this:

 4  int nic_remove(libxl_ctx *ctx, uint32_t domid,
 4                 libxl__device_nic *nic, int force,
 4                 const libxl_asyncop_how *ao_how);

 8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
 8                               libxl_device_nic *nic,
 8                               const libxl_asyncop_how *ao_how)
 8    { return nic_remove(ctx, domid, nic, 0, ao_how); }

 .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
 .                               libxl_device_nic *nic,
 .                               const libxl_asyncop_how *ao_how)
 .      { return nic_remove(ctx, domid, nic, 1, ao_how); }

Or at least reducing the size of the octuplicated code like this:

 1  int device_remove(libxl_ao *ao, uint32_t domid,
 1                    libxl__device *device, int force)
 1  {
 1    ...
 1    GCNEW(aodev);
 1    libxl__init_ao_device(aodev, ao, NULL);
 1    aodev->action = DEVICE_DISCONNECT;
 1    aodev->force = 1;
 1    aodev->dev = device;
 1    aodev->callback = libxl__device_cb;
 1    libxl__initiate_device_addremove(egc, aodev);
 1    etc. etc.

 8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
 8                              libxl_device_nic *nic,
 8                              const libxl_asyncop_how *ao_how)
 8  {
 8      AO_CREATE(ctx, domid, ao_how);
 8      int rc;
 8      libxl__device *device;
 8
 8      rc = libxl__device_from_nic(gc, domid, nic, &device);
 8      if (rc) return AO_ABORT(rc);
 8
 8      device_remove(ao, domid, device, 0);
 8      return AO_INPROGRESS;
 8   }

?

> +/* Device AO operations */
>
> -typedef struct {
> -    libxl__ao *ao;
> -    libxl__ev_devstate ds;
> -} libxl__ao_device_remove;
> +void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
> +                           libxl__ao_device **base)
> +{
> +    aorm->ao = ao;
> +    aorm->active = 1;
> +    aorm->rc = 0;
> +    aorm->base = base;
> +}

I think a function "init" should set "active" to 0, surely ?
Since the operation has not in fact been started.  So perhaps this
should just be a memset.

> +retry_transaction:
> +    t = xs_transaction_start(ctx->xsh);
> +    if (aorm->force)
> +        libxl__xs_path_cleanup(gc, t,
> +                               libxl__device_frontend_path(gc, aorm->dev));
> +    state = libxl__xs_read(gc, t, state_path);
>      if (!state)
>          goto out_ok;

If you're reworking this, you should check for errors other than
ENOENT here.

But actually, I think all of this is done for you by
libxl__ev_devstate_wait.  You don't need to pre-check the state path
at all.

Also you seem to only do the _path_cleanup thing (removing newly empty
parent directories) in the force case, if I'm not mistaken.  I think
it would be better to make the force case simply skip the device wait
and then reuse the rest of the code path if possible.

> +    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
> +        !aorm->force) {
> +        aorm->force = 1;
> +        libxl__initiate_device_remove(egc, aorm);
> +        return;
> +    }

I like this approach.  Economical.

> +    /* Some devices (vkbd) fail to disconnect properly,
> +     * but we shouldn't alarm the user if it's during
> +     * domain destruction.
> +     */

Perhaps we should have a separate flag which controls error reporting
so that a user-requested graceful device disconnect gets full error
logging ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:10:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:10:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqjP-0008Pb-63; Tue, 22 May 2012 15:10:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWqjN-0008PS-B3
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:10:37 +0000
Received: from [85.158.143.35:9932] by server-1.bemta-4.messagelabs.com id
	32/7E-00342-C6CABBF4; Tue, 22 May 2012 15:10:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337699427!14416908!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10467 invoked from network); 22 May 2012 15:10:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:10:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12607905"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:10:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 16:10:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWqjC-0008HF-Jx; Tue, 22 May 2012 15:10:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWqjC-0007F4-J2;
	Tue, 22 May 2012 16:10:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.44130.574284.772580@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 16:10:26 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-6-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Introduce a new structure to track state of device backends, that will
> be used in following patches on this series.
>
> This structure if used for both device creation and device
> destruction and removes libxl__ao_device_remove.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index ae5527b..b62110a 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
...
> +struct libxl__ao_device {
> +    /* filled in by user */
> +    libxl__ao *ao;
> +    /* action being performed */
> +    libxl__device_action action;
> +    libxl__device *dev;
> +    int force;
> +    libxl__device_callback *callback;
> +    /* private for implementation */
> +    /* State in which the device is */
> +    int active;
> +    int rc;
> +    libxl__ev_devstate ds;
> +    void *base;
> +};

Re your comment, don't you mean "state of the operation" rather than
"state of the device" ?

I would prefer some reformatting to make the scope of comments like
"filled in by user" clearer.  Perhaps a blank line before "private for
implementation".  Or perhaps moving all the small comments to after
the variables.

TBH I'm not sure what the comment "action being performed" is for.
After all the variable is called "action" so it's obvious.

> +/* Arranges that dev will be removed to the guest, and the
> + * hotplug scripts will be executed (if necessary). When
> + * this is done (or an error happens), the callback in
> + * aorm->callback will be called.
> + */
> +_hidden void libxl__initiate_device_remove(libxl__egc *egc,
> +                                           libxl__ao_device *aorm);
> +

Does this really only do removals ?  If so where is the addition
function and what is the "action" parameter for ?

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 2a09192..b13de4f 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1271,6 +1271,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
>
>  /******************************************************************************/
>
> +/* generic callback for devices that only need to set ao_complete */
> +static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)

Maybe this should have a more descriptive name ?
   device_addrm_aocomplete
depending on whether it's for removal only or for addition too.

You are still using the parameter name "aorm" for something which is
not only a removal operation.  "aodev" or something.

>  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_device_nic *nic)
> +                             libxl_device_nic *nic,
> +                             const libxl_asyncop_how *ao_how)
>  {
> -    GC_INIT(ctx);
> -    libxl__device device;
> +    AO_CREATE(ctx, domid, ao_how);
> +    libxl__device *device;
> +    libxl__ao_device *aorm;
>      int rc;
>
> -    rc = libxl__device_from_nic(gc, domid, nic, &device);
> +    GCNEW(device);
> +    rc = libxl__device_from_nic(gc, domid, nic, device);
>      if (rc != 0) goto out;
>
> -    rc = libxl__device_destroy(gc, &device);
> +    GCNEW(aorm);
> +    libxl__init_ao_device(aorm, ao, NULL);
> +    aorm->action = DEVICE_DISCONNECT;
> +    aorm->force = 1;
> +    aorm->dev = device;
> +    aorm->callback = libxl__device_cb;
> +    libxl__initiate_device_remove(egc, aorm);
> +

Is there some way to make these functions less repetitive ?
We have {nic,disk,vkb,vfb}_{remove,destroy} all of which have
essentially identical innards.

I have some suggestions, in descending order of my own preference.

How about writing the common code once in a macro:

 1  #define DEFINE_DEVICE_REMOVE(type, removedestroy, force)       \
 1     int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,   \
 1                 uint32_t domid, libxl_device_##type *nic,       \
 1                 const libxl_asyncop_how *ao_how)                \
 1     {                                                           \
 1         AO_CREATE etc. etc.                                     \
 1         rc = libxl__device_from_##type( etc. etc. )             \
 1         etc. etc.                                               \
 1     }

 8  DEFINE_DEVICE_REMOVE(nic, remove, 0)
 .  DEFINE_DEVICE_REMOVE(nic, destroy, 1)
 .  DEFINE_DEVICE_REMOVE(disk, remove, 0)
 .  DEFINE_DEVICE_REMOVE(disk, destroy, 1)
 .  DEFINE_DEVICE_REMOVE(vkb, remove, 0)
 .  DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
 .  DEFINE_DEVICE_REMOVE(vfb, remove, 0)
 .  DEFINE_DEVICE_REMOVE(vfb, destroy, 1)

(Numbers on the left show how many instances of formulaic code there
are.)

Or writing the common code once in a function which takes an
appropriate function pointer type for the conversion:

 1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
 1                    void *libxl_foo_device,
 1                    int (*libxl_device_from_foo_device)
 1                         (libxl__gc *gc, uint32_t domid,
 1                          void *libxl_foo_device, libxl__device **device))
 1  {
 1      AO_CREATE etc. etc.

 4  static int device_from_nic_void(libxl__gc *gc, uint32_t domid,
 4                          void *libxl_foo_device, libxl__device **device)
 4      { return libxl__device_from_nic(gc, domid, libxl_foo_device, device); }

 8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
 8                               libxl_device_nic *nic,
 8                               const libxl_asyncop_how *ao_how)
 8      { return device_remove(ctx, domid, 0, nic, device_from_nic_void); }

 .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
 .                               libxl_device_nic *nic,
 .                               const libxl_asyncop_how *ao_how)
 .      { return device_remove(ctx, domid, 1, nic, device_from_nic_void); }

Or combining the above:

 1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
 1                    void *libxl_foo_device,
 1                    int (*libxl_device_from_foo_device)
 1                         (libxl__gc *gc, uint32_t domid,
 1                          void *libxl_foo_device, libxl__device **device))
 1  {
 1      AO_CREATE etc. etc.

 1  #define DEFINE_DEVICE_REMOVE(type)                                      \
 4    static int device_from_##type##_void(libxl__gc *gc, uint32_t domid,   \
 4                          void *libxl_foo_device, libxl__device **device) \
 4        { return libxl__device_from_##type(gc, domid,                     \
 4                                libxl_foo_device, device); }              \
                                                                            \
 2  int libxl_device_##type##_remove(libxl_ctx *ctx, uint32_t domid,        \
 2                               libxl_device_##type *thing,                \
 2                               const libxl_asyncop_how *ao_how)           \
 2      { return device_remove(ctx, domid, 0, thing,                        \
 2                             device_from_##type##_void); }                \
                                                                            \
 .  int libxl_device_##type##_destroy(libxl_ctx *ctx, uint32_t domid,       \
 .                               libxl_device_##type *thing,                \
 .                               const libxl_asyncop_how *ao_how)           \
 .      { return device_remove(ctx, domid, 1, thing,                        \
 .                             device_from_##type##_void); }

 4  DEVICE_DEVICE_REMOVE(nic)
 .  DEVICE_DEVICE_REMOVE(disk)
 .  DEVICE_DEVICE_REMOVE(vfb)
 .  DEVICE_DEVICE_REMOVE(vkb)

Or at least reducing the number of copies from 8 to 4 like this:

 4  int nic_remove(libxl_ctx *ctx, uint32_t domid,
 4                 libxl__device_nic *nic, int force,
 4                 const libxl_asyncop_how *ao_how);

 8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
 8                               libxl_device_nic *nic,
 8                               const libxl_asyncop_how *ao_how)
 8    { return nic_remove(ctx, domid, nic, 0, ao_how); }

 .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
 .                               libxl_device_nic *nic,
 .                               const libxl_asyncop_how *ao_how)
 .      { return nic_remove(ctx, domid, nic, 1, ao_how); }

Or at least reducing the size of the octuplicated code like this:

 1  int device_remove(libxl_ao *ao, uint32_t domid,
 1                    libxl__device *device, int force)
 1  {
 1    ...
 1    GCNEW(aodev);
 1    libxl__init_ao_device(aodev, ao, NULL);
 1    aodev->action = DEVICE_DISCONNECT;
 1    aodev->force = 1;
 1    aodev->dev = device;
 1    aodev->callback = libxl__device_cb;
 1    libxl__initiate_device_addremove(egc, aodev);
 1    etc. etc.

 8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
 8                              libxl_device_nic *nic,
 8                              const libxl_asyncop_how *ao_how)
 8  {
 8      AO_CREATE(ctx, domid, ao_how);
 8      int rc;
 8      libxl__device *device;
 8
 8      rc = libxl__device_from_nic(gc, domid, nic, &device);
 8      if (rc) return AO_ABORT(rc);
 8
 8      device_remove(ao, domid, device, 0);
 8      return AO_INPROGRESS;
 8   }

?

> +/* Device AO operations */
>
> -typedef struct {
> -    libxl__ao *ao;
> -    libxl__ev_devstate ds;
> -} libxl__ao_device_remove;
> +void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
> +                           libxl__ao_device **base)
> +{
> +    aorm->ao = ao;
> +    aorm->active = 1;
> +    aorm->rc = 0;
> +    aorm->base = base;
> +}

I think a function "init" should set "active" to 0, surely ?
Since the operation has not in fact been started.  So perhaps this
should just be a memset.

> +retry_transaction:
> +    t = xs_transaction_start(ctx->xsh);
> +    if (aorm->force)
> +        libxl__xs_path_cleanup(gc, t,
> +                               libxl__device_frontend_path(gc, aorm->dev));
> +    state = libxl__xs_read(gc, t, state_path);
>      if (!state)
>          goto out_ok;

If you're reworking this, you should check for errors other than
ENOENT here.

But actually, I think all of this is done for you by
libxl__ev_devstate_wait.  You don't need to pre-check the state path
at all.

Also you seem to only do the _path_cleanup thing (removing newly empty
parent directories) in the force case, if I'm not mistaken.  I think
it would be better to make the force case simply skip the device wait
and then reuse the rest of the code path if possible.

> +    if (rc == ERROR_TIMEDOUT && aorm->action == DEVICE_DISCONNECT &&
> +        !aorm->force) {
> +        aorm->force = 1;
> +        libxl__initiate_device_remove(egc, aorm);
> +        return;
> +    }

I like this approach.  Economical.

> +    /* Some devices (vkbd) fail to disconnect properly,
> +     * but we shouldn't alarm the user if it's during
> +     * domain destruction.
> +     */

Perhaps we should have a separate flag which controls error reporting
so that a user-requested graceful device disconnect gets full error
logging ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:11:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqkA-0008T8-JZ; Tue, 22 May 2012 15:11:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWqk8-0008Sv-RJ
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:11:25 +0000
Received: from [193.109.254.147:58761] by server-6.bemta-14.messagelabs.com id
	73/91-04960-C9CABBF4; Tue, 22 May 2012 15:11:24 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337699477!3782919!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21053 invoked from network); 22 May 2012 15:11:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:11:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12607921"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:10:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 16:10:54 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWqje-0008HQ-Ie; Tue, 22 May 2012 15:10:54 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWqje-0007FE-Hv;
	Tue, 22 May 2012 16:10:54 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.44158.541758.661479@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 16:10:54 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-7-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-7-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 06/15] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 06/15] libxl: move device model creation prototypes"):
> Move prototypes regarding device model creation, since they will
> depend on domain destruction in future patches.
> 
> This patch is pure code motion.

On that basis:

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:11:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqkA-0008T8-JZ; Tue, 22 May 2012 15:11:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWqk8-0008Sv-RJ
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:11:25 +0000
Received: from [193.109.254.147:58761] by server-6.bemta-14.messagelabs.com id
	73/91-04960-C9CABBF4; Tue, 22 May 2012 15:11:24 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337699477!3782919!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21053 invoked from network); 22 May 2012 15:11:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:11:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12607921"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:10:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 16:10:54 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWqje-0008HQ-Ie; Tue, 22 May 2012 15:10:54 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWqje-0007FE-Hv;
	Tue, 22 May 2012 16:10:54 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.44158.541758.661479@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 16:10:54 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-7-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-7-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 06/15] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 06/15] libxl: move device model creation prototypes"):
> Move prototypes regarding device model creation, since they will
> depend on domain destruction in future patches.
> 
> This patch is pure code motion.

On that basis:

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:16:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:16:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqoh-0000MV-E8; Tue, 22 May 2012 15:16:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWqof-0000MO-Id
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:16:05 +0000
Received: from [85.158.143.35:9067] by server-1.bemta-4.messagelabs.com id
	56/98-00342-4BDABBF4; Tue, 22 May 2012 15:16:04 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337699763!5779696!1
X-Originating-IP: [213.199.154.139]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4257 invoked from network); 22 May 2012 15:16:04 -0000
Received: from db3ehsobe001.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.139)
	by server-2.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 15:16:04 -0000
Received: from mail115-db3-R.bigfish.com (10.3.81.229) by
	DB3EHSOBE003.bigfish.com (10.3.84.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:15:48 +0000
Received: from mail115-db3 (localhost [127.0.0.1])	by
	mail115-db3-R.bigfish.com (Postfix) with ESMTP id DB4CD4E030A;
	Tue, 22 May 2012 15:15:48 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail115-db3 (localhost.localdomain [127.0.0.1]) by mail115-db3
	(MessageSwitch) id 1337699747732984_6998;
	Tue, 22 May 2012 15:15:47 +0000 (UTC)
Received: from DB3EHSMHS016.bigfish.com (unknown [10.3.81.225])	by
	mail115-db3.bigfish.com (Postfix) with ESMTP id A36B6C0097;
	Tue, 22 May 2012 15:15:47 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	DB3EHSMHS016.bigfish.com (10.3.87.116) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:15:41 +0000
X-WSS-ID: 0M4FJQG-01-4C0-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2D0A21028072;	Tue, 22 May 2012 10:15:52 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 10:16:01 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 10:15:52 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	11:15:51 -0400
Message-ID: <4FBBADC2.7000904@amd.com>
Date: Tue, 22 May 2012 17:16:18 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337696422.10118.134.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 16:20, Ian Campbell wrote:

> On Tue, 2012-05-22 at 15:03 +0100, Christoph Egger wrote:
>> On 05/22/12 15:21, Ian Campbell wrote:
>>
>>> On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
>>>> I thinkIn xs_talkv() something must fail.
>>>>
>>>>> The only thing which springs to mind is that it may generate an
>>>>> @IntroduceDomain watch event. However xl is single threaded so we won't
>>>>> process that event until we unwind to whichever point we do an event
>>>>> loop iteration, in which case the corruption would have to happen later
>>>>> than right after xs_introduce_domain().
>>>>>
>>>>> Did you manage to determine if "Bad file descriptor" was due to it being
>>>>> closed vs. the value being corrupted?
>>>>
>>>> My suspicion is that
>>>>
>>>>    if (msg.type != type)
>>>>
>>>> in xs_talkv() is true.
>>>>
>>>
>>> Yes, that definitely seems worth investigating.
>>
>>
>> Ok, I got it.
>>
>> xenstored crashes due to dereferencing NULL pointer.
> 
> Huh, xenstore has materially changed for quite a while (since February).
> 
>> In xenstored_domain.c, map_interface()  *xcg_handle is NULL
>> and in xc_gnttab.c, xc_gnttab_map_grant_ref() it is dereferenced.
> 
> This comes from 24757:aae516b78fce. Diego and Alex aren't around any
> more but CCing Daniel in case he remembers anything.
> 
> I guess the original xc_gnttab_open which sets *xcg_handle is failing
> for you, I suppose that is to be expected on NetBSD? Either way it
> should still work after this has failed.
> 
> All the >= checks on *xcg_handle seem wrong to me. Really they should be
> checking != NULL, since otherwise they don't actually discriminate the
> two cases! Does making that change help?

Yes, that helps! I can start guests again.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:16:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:16:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqoh-0000MV-E8; Tue, 22 May 2012 15:16:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWqof-0000MO-Id
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:16:05 +0000
Received: from [85.158.143.35:9067] by server-1.bemta-4.messagelabs.com id
	56/98-00342-4BDABBF4; Tue, 22 May 2012 15:16:04 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337699763!5779696!1
X-Originating-IP: [213.199.154.139]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4257 invoked from network); 22 May 2012 15:16:04 -0000
Received: from db3ehsobe001.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.139)
	by server-2.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 15:16:04 -0000
Received: from mail115-db3-R.bigfish.com (10.3.81.229) by
	DB3EHSOBE003.bigfish.com (10.3.84.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:15:48 +0000
Received: from mail115-db3 (localhost [127.0.0.1])	by
	mail115-db3-R.bigfish.com (Postfix) with ESMTP id DB4CD4E030A;
	Tue, 22 May 2012 15:15:48 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail115-db3 (localhost.localdomain [127.0.0.1]) by mail115-db3
	(MessageSwitch) id 1337699747732984_6998;
	Tue, 22 May 2012 15:15:47 +0000 (UTC)
Received: from DB3EHSMHS016.bigfish.com (unknown [10.3.81.225])	by
	mail115-db3.bigfish.com (Postfix) with ESMTP id A36B6C0097;
	Tue, 22 May 2012 15:15:47 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	DB3EHSMHS016.bigfish.com (10.3.87.116) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:15:41 +0000
X-WSS-ID: 0M4FJQG-01-4C0-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2D0A21028072;	Tue, 22 May 2012 10:15:52 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 10:16:01 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 10:15:52 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	11:15:51 -0400
Message-ID: <4FBBADC2.7000904@amd.com>
Date: Tue, 22 May 2012 17:16:18 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337696422.10118.134.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/12 16:20, Ian Campbell wrote:

> On Tue, 2012-05-22 at 15:03 +0100, Christoph Egger wrote:
>> On 05/22/12 15:21, Ian Campbell wrote:
>>
>>> On Tue, 2012-05-22 at 14:18 +0100, Christoph Egger wrote:
>>>> I thinkIn xs_talkv() something must fail.
>>>>
>>>>> The only thing which springs to mind is that it may generate an
>>>>> @IntroduceDomain watch event. However xl is single threaded so we won't
>>>>> process that event until we unwind to whichever point we do an event
>>>>> loop iteration, in which case the corruption would have to happen later
>>>>> than right after xs_introduce_domain().
>>>>>
>>>>> Did you manage to determine if "Bad file descriptor" was due to it being
>>>>> closed vs. the value being corrupted?
>>>>
>>>> My suspicion is that
>>>>
>>>>    if (msg.type != type)
>>>>
>>>> in xs_talkv() is true.
>>>>
>>>
>>> Yes, that definitely seems worth investigating.
>>
>>
>> Ok, I got it.
>>
>> xenstored crashes due to dereferencing NULL pointer.
> 
> Huh, xenstore has materially changed for quite a while (since February).
> 
>> In xenstored_domain.c, map_interface()  *xcg_handle is NULL
>> and in xc_gnttab.c, xc_gnttab_map_grant_ref() it is dereferenced.
> 
> This comes from 24757:aae516b78fce. Diego and Alex aren't around any
> more but CCing Daniel in case he remembers anything.
> 
> I guess the original xc_gnttab_open which sets *xcg_handle is failing
> for you, I suppose that is to be expected on NetBSD? Either way it
> should still work after this has failed.
> 
> All the >= checks on *xcg_handle seem wrong to me. Really they should be
> checking != NULL, since otherwise they don't actually discriminate the
> two cases! Does making that change help?

Yes, that helps! I can start guests again.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:21:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:21:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqto-0000bq-6b; Tue, 22 May 2012 15:21:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqtm-0000bh-6F
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:21:22 +0000
Received: from [85.158.143.35:19334] by server-1.bemta-4.messagelabs.com id
	0F/B2-00342-1FEABBF4; Tue, 22 May 2012 15:21:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337700080!13533972!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27126 invoked from network); 22 May 2012 15:21:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:21:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12608184"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:21:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:21:20 +0100
Message-ID: <1337700078.10118.141.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 16:21:18 +0100
In-Reply-To: <4FBBADC2.7000904@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
> On 05/22/12 16:20, Ian Campbell wrote:
> > All the >= checks on *xcg_handle seem wrong to me. Really they should be
> > checking != NULL, since otherwise they don't actually discriminate the
> > two cases! Does making that change help?
> 
> Yes, that helps! I can start guests again.

Excellent, I assume you are going to submit the patch (i.e. I don't need
to..)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:21:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:21:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqto-0000bq-6b; Tue, 22 May 2012 15:21:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqtm-0000bh-6F
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:21:22 +0000
Received: from [85.158.143.35:19334] by server-1.bemta-4.messagelabs.com id
	0F/B2-00342-1FEABBF4; Tue, 22 May 2012 15:21:21 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337700080!13533972!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27126 invoked from network); 22 May 2012 15:21:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:21:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12608184"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:21:20 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:21:20 +0100
Message-ID: <1337700078.10118.141.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 16:21:18 +0100
In-Reply-To: <4FBBADC2.7000904@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
> On 05/22/12 16:20, Ian Campbell wrote:
> > All the >= checks on *xcg_handle seem wrong to me. Really they should be
> > checking != NULL, since otherwise they don't actually discriminate the
> > two cases! Does making that change help?
> 
> Yes, that helps! I can start guests again.

Excellent, I assume you are going to submit the patch (i.e. I don't need
to..)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:28:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqzw-0000sZ-AD; Tue, 22 May 2012 15:27:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqzu-0000sR-Ho
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:27:42 +0000
Received: from [85.158.138.51:59953] by server-4.bemta-3.messagelabs.com id
	CF/71-15341-D60BBBF4; Tue, 22 May 2012 15:27:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337700460!20432207!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21542 invoked from network); 22 May 2012 15:27:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:27:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12608342"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:27:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:27:40 +0100
Message-ID: <1337700458.10118.146.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 16:27:38 +0100
In-Reply-To: <20411.44130.574284.772580@mariner.uk.xensource.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 16:10 +0100, Ian Jackson wrote:
> >  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
> > -                                  libxl_device_nic *nic)
> > +                             libxl_device_nic *nic,
> > +                             const libxl_asyncop_how *ao_how)
> >  {
> > -    GC_INIT(ctx);
> > -    libxl__device device;
> > +    AO_CREATE(ctx, domid, ao_how);
> > +    libxl__device *device;
> > +    libxl__ao_device *aorm;
> >      int rc;
> >
> > -    rc = libxl__device_from_nic(gc, domid, nic, &device);
> > +    GCNEW(device);
> > +    rc = libxl__device_from_nic(gc, domid, nic, device);
> >      if (rc != 0) goto out;
> >
> > -    rc = libxl__device_destroy(gc, &device);
> > +    GCNEW(aorm);
> > +    libxl__init_ao_device(aorm, ao, NULL);
> > +    aorm->action = DEVICE_DISCONNECT;
> > +    aorm->force = 1;
> > +    aorm->dev = device;
> > +    aorm->callback = libxl__device_cb;
> > +    libxl__initiate_device_remove(egc, aorm);
> > +
> 
> Is there some way to make these functions less repetitive ?
> We have {nic,disk,vkb,vfb}_{remove,destroy} all of which have
> essentially identical innards.
> 
> I have some suggestions, in descending order of my own preference.
> 
> How about writing the common code once in a macro:
> 
>  1  #define DEFINE_DEVICE_REMOVE(type, removedestroy, force)       \
>  1     int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,   \
>  1                 uint32_t domid, libxl_device_##type *nic,       \
>  1                 const libxl_asyncop_how *ao_how)                \
>  1     {                                                           \
>  1         AO_CREATE etc. etc.                                     \
>  1         rc = libxl__device_from_##type( etc. etc. )             \
>  1         etc. etc.                                               \
>  1     }
> 
>  8  DEFINE_DEVICE_REMOVE(nic, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(nic, destroy, 1)
>  .  DEFINE_DEVICE_REMOVE(disk, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(disk, destroy, 1)
>  .  DEFINE_DEVICE_REMOVE(vkb, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
>  .  DEFINE_DEVICE_REMOVE(vfb, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(vfb, destroy, 1)

[...]

> Or at least reducing the size of the octuplicated code like this:
> 
>  1  int device_remove(libxl_ao *ao, uint32_t domid,
>  1                    libxl__device *device, int force)
>  1  {
>  1    ...
>  1    GCNEW(aodev);
>  1    libxl__init_ao_device(aodev, ao, NULL);
>  1    aodev->action = DEVICE_DISCONNECT;
>  1    aodev->force = 1;
>  1    aodev->dev = device;
>  1    aodev->callback = libxl__device_cb;
>  1    libxl__initiate_device_addremove(egc, aodev);
>  1    etc. etc.
> 
>  8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>  8                              libxl_device_nic *nic,
>  8                              const libxl_asyncop_how *ao_how)
>  8  {
>  8      AO_CREATE(ctx, domid, ao_how);
>  8      int rc;
>  8      libxl__device *device;
>  8
>  8      rc = libxl__device_from_nic(gc, domid, nic, &device);
>  8      if (rc) return AO_ABORT(rc);
>  8
>  8      device_remove(ao, domid, device, 0);
>  8      return AO_INPROGRESS;
>  8   }

Weirdly (given they were ordered by your preference) I have a preference
for either the first or last form (which I have left quoted above).

I probably slightly prefer the second option, but only slightly
(probably due to a general disquiet about macros which define
functions).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:28:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWqzw-0000sZ-AD; Tue, 22 May 2012 15:27:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWqzu-0000sR-Ho
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:27:42 +0000
Received: from [85.158.138.51:59953] by server-4.bemta-3.messagelabs.com id
	CF/71-15341-D60BBBF4; Tue, 22 May 2012 15:27:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337700460!20432207!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21542 invoked from network); 22 May 2012 15:27:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:27:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12608342"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:27:40 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:27:40 +0100
Message-ID: <1337700458.10118.146.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 16:27:38 +0100
In-Reply-To: <20411.44130.574284.772580@mariner.uk.xensource.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 16:10 +0100, Ian Jackson wrote:
> >  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
> > -                                  libxl_device_nic *nic)
> > +                             libxl_device_nic *nic,
> > +                             const libxl_asyncop_how *ao_how)
> >  {
> > -    GC_INIT(ctx);
> > -    libxl__device device;
> > +    AO_CREATE(ctx, domid, ao_how);
> > +    libxl__device *device;
> > +    libxl__ao_device *aorm;
> >      int rc;
> >
> > -    rc = libxl__device_from_nic(gc, domid, nic, &device);
> > +    GCNEW(device);
> > +    rc = libxl__device_from_nic(gc, domid, nic, device);
> >      if (rc != 0) goto out;
> >
> > -    rc = libxl__device_destroy(gc, &device);
> > +    GCNEW(aorm);
> > +    libxl__init_ao_device(aorm, ao, NULL);
> > +    aorm->action = DEVICE_DISCONNECT;
> > +    aorm->force = 1;
> > +    aorm->dev = device;
> > +    aorm->callback = libxl__device_cb;
> > +    libxl__initiate_device_remove(egc, aorm);
> > +
> 
> Is there some way to make these functions less repetitive ?
> We have {nic,disk,vkb,vfb}_{remove,destroy} all of which have
> essentially identical innards.
> 
> I have some suggestions, in descending order of my own preference.
> 
> How about writing the common code once in a macro:
> 
>  1  #define DEFINE_DEVICE_REMOVE(type, removedestroy, force)       \
>  1     int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,   \
>  1                 uint32_t domid, libxl_device_##type *nic,       \
>  1                 const libxl_asyncop_how *ao_how)                \
>  1     {                                                           \
>  1         AO_CREATE etc. etc.                                     \
>  1         rc = libxl__device_from_##type( etc. etc. )             \
>  1         etc. etc.                                               \
>  1     }
> 
>  8  DEFINE_DEVICE_REMOVE(nic, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(nic, destroy, 1)
>  .  DEFINE_DEVICE_REMOVE(disk, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(disk, destroy, 1)
>  .  DEFINE_DEVICE_REMOVE(vkb, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
>  .  DEFINE_DEVICE_REMOVE(vfb, remove, 0)
>  .  DEFINE_DEVICE_REMOVE(vfb, destroy, 1)

[...]

> Or at least reducing the size of the octuplicated code like this:
> 
>  1  int device_remove(libxl_ao *ao, uint32_t domid,
>  1                    libxl__device *device, int force)
>  1  {
>  1    ...
>  1    GCNEW(aodev);
>  1    libxl__init_ao_device(aodev, ao, NULL);
>  1    aodev->action = DEVICE_DISCONNECT;
>  1    aodev->force = 1;
>  1    aodev->dev = device;
>  1    aodev->callback = libxl__device_cb;
>  1    libxl__initiate_device_addremove(egc, aodev);
>  1    etc. etc.
> 
>  8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>  8                              libxl_device_nic *nic,
>  8                              const libxl_asyncop_how *ao_how)
>  8  {
>  8      AO_CREATE(ctx, domid, ao_how);
>  8      int rc;
>  8      libxl__device *device;
>  8
>  8      rc = libxl__device_from_nic(gc, domid, nic, &device);
>  8      if (rc) return AO_ABORT(rc);
>  8
>  8      device_remove(ao, domid, device, 0);
>  8      return AO_INPROGRESS;
>  8   }

Weirdly (given they were ordered by your preference) I have a preference
for either the first or last form (which I have left quoted above).

I probably slightly prefer the second option, but only slightly
(probably due to a general disquiet about macros which define
functions).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:31:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:31:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr3Z-00011P-41; Tue, 22 May 2012 15:31:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Wang2@amd.com>) id 1SWr3X-00011F-C9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:31:27 +0000
Received: from [85.158.143.35:50613] by server-3.bemta-4.messagelabs.com id
	EC/09-05853-E41BBBF4; Tue, 22 May 2012 15:31:26 +0000
X-Env-Sender: Wei.Wang2@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337700681!14173247!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28321 invoked from network); 22 May 2012 15:31:23 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 15:31:23 -0000
Received: from mail48-ch1-R.bigfish.com (10.43.68.242) by
	CH1EHSOBE007.bigfish.com (10.43.70.57) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:31:06 +0000
Received: from mail48-ch1 (localhost [127.0.0.1])	by mail48-ch1-R.bigfish.com
	(Postfix) with ESMTP id 83855160210;
	Tue, 22 May 2012 15:31:06 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371Ic85dh1432N98dK4015Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah34h)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail48-ch1 (localhost.localdomain [127.0.0.1]) by mail48-ch1
	(MessageSwitch) id 1337700663872135_775; Tue, 22 May 2012 15:31:03 +0000
	(UTC)
Received: from CH1EHSMHS003.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.244])	by mail48-ch1.bigfish.com (Postfix) with ESMTP id
	D04962008F; Tue, 22 May 2012 15:31:03 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS003.bigfish.com (10.43.70.3) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:30:59 +0000
X-WSS-ID: 0M4FKFY-02-0A2-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2F08DC80AF;	Tue, 22 May 2012 10:31:09 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 10:31:18 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 22 May 2012 10:31:09 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	11:31:08 -0400
Received: from [165.204.15.57] (gran.osrc.amd.com [165.204.15.57])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 1D99449C145; Tue, 22 May 2012
	16:31:07 +0100 (BST)
Message-ID: <4FBBB11E.5070709@amd.com>
Date: Tue, 22 May 2012 17:30:38 +0200
From: Wei Wang <wei.wang2@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBB9B06.1030200@amd.com>
	<4FBBBA870200007800085296@nat28.tlf.novell.com>
In-Reply-To: <4FBBBA870200007800085296@nat28.tlf.novell.com>
Content-Type: multipart/mixed; boundary="------------080408010302010002060503"
X-OriginatorOrg: amd.com
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------080408010302010002060503
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,
Thanks for review it. New version has been attached. It should have 
fixed issues you mentioned. We don't have a particular number for loop 
count, so I cut it to 1000, it should be enough. Please have a look.
Thanks,
Wei

On 05/22/2012 04:10 PM, Jan Beulich wrote:
>>>> On 22.05.12 at 15:56, Wei Wang<wei.wang2@amd.com>  wrote:
>> Hi Jan
>> This patch implements the suggested workaround for erratum 732&  733. It
>> is mostly derived from the Linux patch recently posted. Please review it.
>> Thanks,
>> Wei
>
> Looks good in principle, but came out with newline damage. Can
> you please resend as attachment, ideally at once fixing a few
> (mostly cosmetic) things:
>
>> # HG changeset patch
>> # User Wei Wang<wei.wang2@amd.com>
>> # Date 1337690747 -7200
>> # Node ID 06aebc361de7f308b262b008153ae4549c4480c2
>> # Parent  592d15bd4d5ec58486d32ee9998319e7c95fcd66
>> amd iommu: Add workaround for erratum 733&  733
>
> 732&  733
>
>> Signed-off-by: Wei Wang<wei.wang2@amd.com>
>>
>> diff -r 592d15bd4d5e -r 06aebc361de7
>> xen/drivers/passthrough/amd/iommu_init.c
>> --- a/xen/drivers/passthrough/amd/iommu_init.c    Fri May 18 16:19:21
>> 2012 +0100
>> +++ b/xen/drivers/passthrough/amd/iommu_init.c    Tue May 22 14:45:47
>> 2012 +0200
>> @@ -29,6 +29,7 @@
>>    #include<asm/hvm/svm/amd-iommu-proto.h>
>>    #include<asm-x86/fixmap.h>
>>    #include<mach_apic.h>
>> +#include<xen/delay.h>
>>
>>    static int __initdata nr_amd_iommus;
>>
>> @@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
>>        u16 domain_id, device_id, bdf, cword;
>>        u32 code;
>>        u64 *addr;
>> +    int count = 0;
>>        char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
>>                              "IO_PAGE_FAULT",
>>                              "DEV_TABLE_HW_ERROR",
>> @@ -575,9 +577,27 @@ static void parse_event_log_entry(struct
>>                              "IOTLB_INV_TIMEOUT",
>>                              "INVALID_DEV_REQUEST"};
>>
>> +retry:
>>        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
>>                                                IOMMU_EVENT_CODE_SHIFT);
>>
>> +    /* Workaround for erratum 732.
>
>      /*
>       * Workaround for erratum 732.
>
>> +     * it can happen that the tail pointer is updated before the actual
>> entry
>> +     * is written. Suggested by RevGuide, we initialize the event log
>> buffer to
>> +     * all zeros and write event log entries to zero after they are
>> processed.
>> +     */
>> +
>> +    if ( code == 0 )
>> +    {
>> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
>> +        {
>> +            AMD_IOMMU_DEBUG("AMD-Vi: No event written to event log\n");
>
> Perhaps remove the second "event".
>
>> +            return;
>> +        }
>> +        udelay(1);
>> +        goto retry;
>> +    }
>> +
>>        if ( (code>  IOMMU_EVENT_INVALID_DEV_REQUEST) ||
>>            (code<  IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
>>        {
>> @@ -615,6 +635,8 @@ static void parse_event_log_entry(struct
>>            AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
>>                            entry[1], entry[2], entry[3]);
>>        }
>> +
>> +    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
>>    }
>>
>>    static void iommu_check_event_log(struct amd_iommu *iommu)
>> @@ -646,10 +668,32 @@ void parse_ppr_log_entry(struct amd_iomm
>>    {
>>
>>        u16 device_id;
>> -    u8 bus, devfn;
>> +    u8 bus, devfn, code;
>>        struct pci_dev *pdev;
>>        struct domain *d;
>> +    int count = 0;
>>
>> +retry:
>> +    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
>> +                                            IOMMU_PPR_LOG_CODE_SHIFT);
>> +
>> +    /* Workaround for erratum 733.
>
> See above.
>
>> +     * it can happen that the tail pointer is updated before the actual
>> entry
>> +     * is written. Suggested by RevGuide, we initialize the ppr log
>> buffer to
>> +     * all zeros and write ppr log entries to zero after they are
>> processed.
>> +     */
>> +
>> +    if ( code == 0 )
>> +    {
>> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
>> +        {
>> +            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to ppr log\n");
>
> Perhaps remove the second "ppr".
>
>> +            return;
>> +        }
>> +        udelay(1);
>> +        goto retry;
>> +    }
>> +
>>        /* here device_id is physical value */
>>        device_id = iommu_get_devid_from_cmd(entry[0]);
>>        bus = PCI_BUS(device_id);
>> @@ -665,6 +709,8 @@ void parse_ppr_log_entry(struct amd_iomm
>>        d = pdev->domain;
>>
>>        guest_iommu_add_ppr_log(d, entry);
>> +
>> +    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
>>    }
>>
>>    static void iommu_check_ppr_log(struct amd_iommu *iommu)
>
> I'd personally also prefer the loops to be written as such (i.e.
> without goto-s).
>
>> --- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Fri May 18
>> 16:19:21 2012 +0100
>> +++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Tue May 22
>> 14:45:47 2012 +0200
>> @@ -301,6 +301,10 @@
>>    #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
>>    #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
>>    #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
>> +#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
>> +#define IOMMU_PPR_LOG_CODE_SHIFT                        28
>> +
>> +#define IOMMU_LOG_ENTRY_TIMEOUT                         100000
>
> That's rather long a timeout (100ms) for a busy loop - is that
> really necessary?
>
> Jan
>
>>
>>    /* Control Register */
>>    #define IOMMU_CONTROL_MMIO_OFFSET            0x18
>
>
>


--------------080408010302010002060503
Content-Type: text/x-patch; name="iommu_errata.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="iommu_errata.patch"
Content-Description: iommu_errata.patch

# HG changeset patch
# Parent 592d15bd4d5ec58486d32ee9998319e7c95fcd66
# User Wei Wang <wei.wang2@amd.com>

amd iommu: Add workaround for erratum 732 & 733

Signed-off-by: Wei Wang <wei.wang2@amd.com>

diff -r 592d15bd4d5e xen/drivers/passthrough/amd/iommu_init.c
--- a/xen/drivers/passthrough/amd/iommu_init.c	Fri May 18 16:19:21 2012 +0100
+++ b/xen/drivers/passthrough/amd/iommu_init.c	Tue May 22 17:04:57 2012 +0200
@@ -29,6 +29,7 @@
 #include <asm/hvm/svm/amd-iommu-proto.h>
 #include <asm-x86/fixmap.h>
 #include <mach_apic.h>
+#include <xen/delay.h>
 
 static int __initdata nr_amd_iommus;
 
@@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
     u16 domain_id, device_id, bdf, cword;
     u32 code;
     u64 *addr;
+    int count = 0;
     char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
                           "IO_PAGE_FAULT",
                           "DEV_TABLE_HW_ERROR",
@@ -578,6 +580,25 @@ static void parse_event_log_entry(struct
     code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                             IOMMU_EVENT_CODE_SHIFT);
 
+    /* 
+     * Workaround for erratum 732.
+     * it can happen that the tail pointer is updated before the actual entry 
+     * is written. Suggested by RevGuide, we initialize the event log buffer to 
+     * all zeros and write event log entries to zero after they are processed. 
+     */
+    
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No event written to log\n");
+            return;
+        }
+        udelay(1); 
+        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
+                                      IOMMU_EVENT_CODE_SHIFT);
+    }
+        
     if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
         (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
     {
@@ -615,6 +636,8 @@ static void parse_event_log_entry(struct
         AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
                         entry[1], entry[2], entry[3]);
     }
+    
+    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_event_log(struct amd_iommu *iommu)
@@ -646,10 +669,33 @@ void parse_ppr_log_entry(struct amd_iomm
 {
 
     u16 device_id;
-    u8 bus, devfn;
+    u8 bus, devfn, code;
     struct pci_dev *pdev;
     struct domain *d;
+    int count = 0;
 
+    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                  IOMMU_PPR_LOG_CODE_SHIFT);
+    
+    /* 
+     * Workaround for erratum 733.
+     * it can happen that the tail pointer is updated before the actual entry 
+     * is written. Suggested by RevGuide, we initialize the ppr log buffer to 
+     * all zeros and write ppr log entries to zero after they are processed. 
+     */
+        
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to log\n");
+            return;
+        }
+        udelay(1); 
+        code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                      IOMMU_PPR_LOG_CODE_SHIFT);
+    }
+    
     /* here device_id is physical value */
     device_id = iommu_get_devid_from_cmd(entry[0]);
     bus = PCI_BUS(device_id);
@@ -665,6 +711,8 @@ void parse_ppr_log_entry(struct amd_iomm
     d = pdev->domain;
 
     guest_iommu_add_ppr_log(d, entry);
+    
+    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_ppr_log(struct amd_iommu *iommu)
diff -r 592d15bd4d5e xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h	Fri May 18 16:19:21 2012 +0100
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h	Tue May 22 17:04:57 2012 +0200
@@ -301,6 +301,10 @@
 #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
 #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
 #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
+#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
+#define IOMMU_PPR_LOG_CODE_SHIFT                        28
+
+#define IOMMU_LOG_ENTRY_TIMEOUT                         1000
 
 /* Control Register */
 #define IOMMU_CONTROL_MMIO_OFFSET			0x18

--------------080408010302010002060503
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------080408010302010002060503--


From xen-devel-bounces@lists.xen.org Tue May 22 15:31:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:31:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr3Z-00011P-41; Tue, 22 May 2012 15:31:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Wang2@amd.com>) id 1SWr3X-00011F-C9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:31:27 +0000
Received: from [85.158.143.35:50613] by server-3.bemta-4.messagelabs.com id
	EC/09-05853-E41BBBF4; Tue, 22 May 2012 15:31:26 +0000
X-Env-Sender: Wei.Wang2@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337700681!14173247!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28321 invoked from network); 22 May 2012 15:31:23 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 15:31:23 -0000
Received: from mail48-ch1-R.bigfish.com (10.43.68.242) by
	CH1EHSOBE007.bigfish.com (10.43.70.57) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:31:06 +0000
Received: from mail48-ch1 (localhost [127.0.0.1])	by mail48-ch1-R.bigfish.com
	(Postfix) with ESMTP id 83855160210;
	Tue, 22 May 2012 15:31:06 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371Ic85dh1432N98dK4015Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah34h)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail48-ch1 (localhost.localdomain [127.0.0.1]) by mail48-ch1
	(MessageSwitch) id 1337700663872135_775; Tue, 22 May 2012 15:31:03 +0000
	(UTC)
Received: from CH1EHSMHS003.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.244])	by mail48-ch1.bigfish.com (Postfix) with ESMTP id
	D04962008F; Tue, 22 May 2012 15:31:03 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS003.bigfish.com (10.43.70.3) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:30:59 +0000
X-WSS-ID: 0M4FKFY-02-0A2-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2F08DC80AF;	Tue, 22 May 2012 10:31:09 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 10:31:18 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 22 May 2012 10:31:09 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	11:31:08 -0400
Received: from [165.204.15.57] (gran.osrc.amd.com [165.204.15.57])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 1D99449C145; Tue, 22 May 2012
	16:31:07 +0100 (BST)
Message-ID: <4FBBB11E.5070709@amd.com>
Date: Tue, 22 May 2012 17:30:38 +0200
From: Wei Wang <wei.wang2@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBB9B06.1030200@amd.com>
	<4FBBBA870200007800085296@nat28.tlf.novell.com>
In-Reply-To: <4FBBBA870200007800085296@nat28.tlf.novell.com>
Content-Type: multipart/mixed; boundary="------------080408010302010002060503"
X-OriginatorOrg: amd.com
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------080408010302010002060503
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,
Thanks for review it. New version has been attached. It should have 
fixed issues you mentioned. We don't have a particular number for loop 
count, so I cut it to 1000, it should be enough. Please have a look.
Thanks,
Wei

On 05/22/2012 04:10 PM, Jan Beulich wrote:
>>>> On 22.05.12 at 15:56, Wei Wang<wei.wang2@amd.com>  wrote:
>> Hi Jan
>> This patch implements the suggested workaround for erratum 732&  733. It
>> is mostly derived from the Linux patch recently posted. Please review it.
>> Thanks,
>> Wei
>
> Looks good in principle, but came out with newline damage. Can
> you please resend as attachment, ideally at once fixing a few
> (mostly cosmetic) things:
>
>> # HG changeset patch
>> # User Wei Wang<wei.wang2@amd.com>
>> # Date 1337690747 -7200
>> # Node ID 06aebc361de7f308b262b008153ae4549c4480c2
>> # Parent  592d15bd4d5ec58486d32ee9998319e7c95fcd66
>> amd iommu: Add workaround for erratum 733&  733
>
> 732&  733
>
>> Signed-off-by: Wei Wang<wei.wang2@amd.com>
>>
>> diff -r 592d15bd4d5e -r 06aebc361de7
>> xen/drivers/passthrough/amd/iommu_init.c
>> --- a/xen/drivers/passthrough/amd/iommu_init.c    Fri May 18 16:19:21
>> 2012 +0100
>> +++ b/xen/drivers/passthrough/amd/iommu_init.c    Tue May 22 14:45:47
>> 2012 +0200
>> @@ -29,6 +29,7 @@
>>    #include<asm/hvm/svm/amd-iommu-proto.h>
>>    #include<asm-x86/fixmap.h>
>>    #include<mach_apic.h>
>> +#include<xen/delay.h>
>>
>>    static int __initdata nr_amd_iommus;
>>
>> @@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
>>        u16 domain_id, device_id, bdf, cword;
>>        u32 code;
>>        u64 *addr;
>> +    int count = 0;
>>        char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
>>                              "IO_PAGE_FAULT",
>>                              "DEV_TABLE_HW_ERROR",
>> @@ -575,9 +577,27 @@ static void parse_event_log_entry(struct
>>                              "IOTLB_INV_TIMEOUT",
>>                              "INVALID_DEV_REQUEST"};
>>
>> +retry:
>>        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
>>                                                IOMMU_EVENT_CODE_SHIFT);
>>
>> +    /* Workaround for erratum 732.
>
>      /*
>       * Workaround for erratum 732.
>
>> +     * it can happen that the tail pointer is updated before the actual
>> entry
>> +     * is written. Suggested by RevGuide, we initialize the event log
>> buffer to
>> +     * all zeros and write event log entries to zero after they are
>> processed.
>> +     */
>> +
>> +    if ( code == 0 )
>> +    {
>> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
>> +        {
>> +            AMD_IOMMU_DEBUG("AMD-Vi: No event written to event log\n");
>
> Perhaps remove the second "event".
>
>> +            return;
>> +        }
>> +        udelay(1);
>> +        goto retry;
>> +    }
>> +
>>        if ( (code>  IOMMU_EVENT_INVALID_DEV_REQUEST) ||
>>            (code<  IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
>>        {
>> @@ -615,6 +635,8 @@ static void parse_event_log_entry(struct
>>            AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
>>                            entry[1], entry[2], entry[3]);
>>        }
>> +
>> +    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
>>    }
>>
>>    static void iommu_check_event_log(struct amd_iommu *iommu)
>> @@ -646,10 +668,32 @@ void parse_ppr_log_entry(struct amd_iomm
>>    {
>>
>>        u16 device_id;
>> -    u8 bus, devfn;
>> +    u8 bus, devfn, code;
>>        struct pci_dev *pdev;
>>        struct domain *d;
>> +    int count = 0;
>>
>> +retry:
>> +    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
>> +                                            IOMMU_PPR_LOG_CODE_SHIFT);
>> +
>> +    /* Workaround for erratum 733.
>
> See above.
>
>> +     * it can happen that the tail pointer is updated before the actual
>> entry
>> +     * is written. Suggested by RevGuide, we initialize the ppr log
>> buffer to
>> +     * all zeros and write ppr log entries to zero after they are
>> processed.
>> +     */
>> +
>> +    if ( code == 0 )
>> +    {
>> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
>> +        {
>> +            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to ppr log\n");
>
> Perhaps remove the second "ppr".
>
>> +            return;
>> +        }
>> +        udelay(1);
>> +        goto retry;
>> +    }
>> +
>>        /* here device_id is physical value */
>>        device_id = iommu_get_devid_from_cmd(entry[0]);
>>        bus = PCI_BUS(device_id);
>> @@ -665,6 +709,8 @@ void parse_ppr_log_entry(struct amd_iomm
>>        d = pdev->domain;
>>
>>        guest_iommu_add_ppr_log(d, entry);
>> +
>> +    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
>>    }
>>
>>    static void iommu_check_ppr_log(struct amd_iommu *iommu)
>
> I'd personally also prefer the loops to be written as such (i.e.
> without goto-s).
>
>> --- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Fri May 18
>> 16:19:21 2012 +0100
>> +++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h    Tue May 22
>> 14:45:47 2012 +0200
>> @@ -301,6 +301,10 @@
>>    #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
>>    #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
>>    #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
>> +#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
>> +#define IOMMU_PPR_LOG_CODE_SHIFT                        28
>> +
>> +#define IOMMU_LOG_ENTRY_TIMEOUT                         100000
>
> That's rather long a timeout (100ms) for a busy loop - is that
> really necessary?
>
> Jan
>
>>
>>    /* Control Register */
>>    #define IOMMU_CONTROL_MMIO_OFFSET            0x18
>
>
>


--------------080408010302010002060503
Content-Type: text/x-patch; name="iommu_errata.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="iommu_errata.patch"
Content-Description: iommu_errata.patch

# HG changeset patch
# Parent 592d15bd4d5ec58486d32ee9998319e7c95fcd66
# User Wei Wang <wei.wang2@amd.com>

amd iommu: Add workaround for erratum 732 & 733

Signed-off-by: Wei Wang <wei.wang2@amd.com>

diff -r 592d15bd4d5e xen/drivers/passthrough/amd/iommu_init.c
--- a/xen/drivers/passthrough/amd/iommu_init.c	Fri May 18 16:19:21 2012 +0100
+++ b/xen/drivers/passthrough/amd/iommu_init.c	Tue May 22 17:04:57 2012 +0200
@@ -29,6 +29,7 @@
 #include <asm/hvm/svm/amd-iommu-proto.h>
 #include <asm-x86/fixmap.h>
 #include <mach_apic.h>
+#include <xen/delay.h>
 
 static int __initdata nr_amd_iommus;
 
@@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
     u16 domain_id, device_id, bdf, cword;
     u32 code;
     u64 *addr;
+    int count = 0;
     char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
                           "IO_PAGE_FAULT",
                           "DEV_TABLE_HW_ERROR",
@@ -578,6 +580,25 @@ static void parse_event_log_entry(struct
     code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                             IOMMU_EVENT_CODE_SHIFT);
 
+    /* 
+     * Workaround for erratum 732.
+     * it can happen that the tail pointer is updated before the actual entry 
+     * is written. Suggested by RevGuide, we initialize the event log buffer to 
+     * all zeros and write event log entries to zero after they are processed. 
+     */
+    
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No event written to log\n");
+            return;
+        }
+        udelay(1); 
+        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
+                                      IOMMU_EVENT_CODE_SHIFT);
+    }
+        
     if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
         (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
     {
@@ -615,6 +636,8 @@ static void parse_event_log_entry(struct
         AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
                         entry[1], entry[2], entry[3]);
     }
+    
+    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_event_log(struct amd_iommu *iommu)
@@ -646,10 +669,33 @@ void parse_ppr_log_entry(struct amd_iomm
 {
 
     u16 device_id;
-    u8 bus, devfn;
+    u8 bus, devfn, code;
     struct pci_dev *pdev;
     struct domain *d;
+    int count = 0;
 
+    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                  IOMMU_PPR_LOG_CODE_SHIFT);
+    
+    /* 
+     * Workaround for erratum 733.
+     * it can happen that the tail pointer is updated before the actual entry 
+     * is written. Suggested by RevGuide, we initialize the ppr log buffer to 
+     * all zeros and write ppr log entries to zero after they are processed. 
+     */
+        
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to log\n");
+            return;
+        }
+        udelay(1); 
+        code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                      IOMMU_PPR_LOG_CODE_SHIFT);
+    }
+    
     /* here device_id is physical value */
     device_id = iommu_get_devid_from_cmd(entry[0]);
     bus = PCI_BUS(device_id);
@@ -665,6 +711,8 @@ void parse_ppr_log_entry(struct amd_iomm
     d = pdev->domain;
 
     guest_iommu_add_ppr_log(d, entry);
+    
+    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_ppr_log(struct amd_iommu *iommu)
diff -r 592d15bd4d5e xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h	Fri May 18 16:19:21 2012 +0100
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h	Tue May 22 17:04:57 2012 +0200
@@ -301,6 +301,10 @@
 #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
 #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
 #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
+#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
+#define IOMMU_PPR_LOG_CODE_SHIFT                        28
+
+#define IOMMU_LOG_ENTRY_TIMEOUT                         1000
 
 /* Control Register */
 #define IOMMU_CONTROL_MMIO_OFFSET			0x18

--------------080408010302010002060503
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------080408010302010002060503--


From xen-devel-bounces@lists.xen.org Tue May 22 15:32:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:32:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr4F-00014P-Hs; Tue, 22 May 2012 15:32:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWr4D-00014G-GQ
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:32:09 +0000
Received: from [85.158.143.99:17475] by server-2.bemta-4.messagelabs.com id
	0E/B6-12211-871BBBF4; Tue, 22 May 2012 15:32:08 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337700725!28924405!1
X-Originating-IP: [216.32.180.14]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6438 invoked from network); 22 May 2012 15:32:07 -0000
Received: from va3ehsobe004.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.14)
	by server-5.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 15:32:07 -0000
Received: from mail72-va3-R.bigfish.com (10.7.14.253) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:31:50 +0000
Received: from mail72-va3 (localhost [127.0.0.1])	by mail72-va3-R.bigfish.com
	(Postfix) with ESMTP id C43023200BF;
	Tue, 22 May 2012 15:31:50 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eKc85fh1432Nc857h98dKzz1202hzz8275bhz2dh668h839hd25he5bhf0ah34h)
Received: from mail72-va3 (localhost.localdomain [127.0.0.1]) by mail72-va3
	(MessageSwitch) id 1337700708572326_28441;
	Tue, 22 May 2012 15:31:48 +0000 (UTC)
Received: from VA3EHSMHS036.bigfish.com (unknown [10.7.14.252])	by
	mail72-va3.bigfish.com (Postfix) with ESMTP id 8872830004D;
	Tue, 22 May 2012 15:31:48 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS036.bigfish.com (10.7.99.46) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:31:44 +0000
X-WSS-ID: 0M4FKH7-01-5YL-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 248871028071;	Tue, 22 May 2012 10:31:55 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 10:32:04 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 10:31:55 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	11:31:54 -0400
Message-ID: <4FBBB185.8030005@amd.com>
Date: Tue, 22 May 2012 17:32:21 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337700078.10118.141.camel@zakaz.uk.xensource.com>
Content-Type: multipart/mixed; boundary="------------090801040304010603040304"
X-OriginatorOrg: amd.com
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------090801040304010603040304
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

On 05/22/12 17:21, Ian Campbell wrote:

> On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
>> On 05/22/12 16:20, Ian Campbell wrote:
>>> All the >= checks on *xcg_handle seem wrong to me. Really they should be
>>> checking != NULL, since otherwise they don't actually discriminate the
>>> two cases! Does making that change help?
>>
>> Yes, that helps! I can start guests again.
> 
> Excellent, I assume you are going to submit the patch (i.e. I don't need
> to..)

Yes, patch attached.

Fix pointer checks introduced in changeset 24757:aae516b78fce.
This fixes xenstored crash on platforms with no gnttap implementation.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------090801040304010603040304
Content-Type: text/plain; charset="us-ascii"; name="xen_tools_xenstore.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="xen_tools_xenstore.diff"
Content-Description: xen_tools_xenstore.diff

ZGlmZiAtciA5OTI2MzEzMjY2NWIgdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5j
Ci0tLSBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uYwlGcmkgTWF5IDE4IDEy
OjM4OjU1IDIwMTIgKzAyMDAKKysrIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFp
bi5jCVR1ZSBNYXkgMjIgMTc6MjU6MDMgMjAxMiArMDIwMApAQCAtMTY3LDcgKzE2Nyw3IEBA
IHN0YXRpYyBpbnQgcmVhZGNobihzdHJ1Y3QgY29ubmVjdGlvbiAqY28KIAogc3RhdGljIHZv
aWQgKm1hcF9pbnRlcmZhY2UoZG9taWRfdCBkb21pZCwgdW5zaWduZWQgbG9uZyBtZm4pCiB7
Ci0JaWYgKCp4Y2dfaGFuZGxlID49IDApIHsKKwlpZiAoKnhjZ19oYW5kbGUgIT0gTlVMTCkg
ewogCQkvKiB0aGlzIGlzIHRoZSBwcmVmZXJyZWQgbWV0aG9kICovCiAJCXJldHVybiB4Y19n
bnR0YWJfbWFwX2dyYW50X3JlZigqeGNnX2hhbmRsZSwgZG9taWQsCiAJCQlHTlRUQUJfUkVT
RVJWRURfWEVOU1RPUkUsIFBST1RfUkVBRHxQUk9UX1dSSVRFKTsKQEAgLTE3OSw3ICsxNzks
NyBAQCBzdGF0aWMgdm9pZCAqbWFwX2ludGVyZmFjZShkb21pZF90IGRvbWlkCiAKIHN0YXRp
YyB2b2lkIHVubWFwX2ludGVyZmFjZSh2b2lkICppbnRlcmZhY2UpCiB7Ci0JaWYgKCp4Y2df
aGFuZGxlID49IDApCisJaWYgKCp4Y2dfaGFuZGxlICE9IE5VTEwpCiAJCXhjX2dudHRhYl9t
dW5tYXAoKnhjZ19oYW5kbGUsIGludGVyZmFjZSwgMSk7CiAJZWxzZQogCQltdW5tYXAoaW50
ZXJmYWNlLCBnZXRwYWdlc2l6ZSgpKTsK
--------------090801040304010603040304
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------090801040304010603040304--


From xen-devel-bounces@lists.xen.org Tue May 22 15:32:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:32:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr4F-00014P-Hs; Tue, 22 May 2012 15:32:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SWr4D-00014G-GQ
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:32:09 +0000
Received: from [85.158.143.99:17475] by server-2.bemta-4.messagelabs.com id
	0E/B6-12211-871BBBF4; Tue, 22 May 2012 15:32:08 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337700725!28924405!1
X-Originating-IP: [216.32.180.14]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6438 invoked from network); 22 May 2012 15:32:07 -0000
Received: from va3ehsobe004.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.14)
	by server-5.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 15:32:07 -0000
Received: from mail72-va3-R.bigfish.com (10.7.14.253) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:31:50 +0000
Received: from mail72-va3 (localhost [127.0.0.1])	by mail72-va3-R.bigfish.com
	(Postfix) with ESMTP id C43023200BF;
	Tue, 22 May 2012 15:31:50 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eKc85fh1432Nc857h98dKzz1202hzz8275bhz2dh668h839hd25he5bhf0ah34h)
Received: from mail72-va3 (localhost.localdomain [127.0.0.1]) by mail72-va3
	(MessageSwitch) id 1337700708572326_28441;
	Tue, 22 May 2012 15:31:48 +0000 (UTC)
Received: from VA3EHSMHS036.bigfish.com (unknown [10.7.14.252])	by
	mail72-va3.bigfish.com (Postfix) with ESMTP id 8872830004D;
	Tue, 22 May 2012 15:31:48 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS036.bigfish.com (10.7.99.46) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 15:31:44 +0000
X-WSS-ID: 0M4FKH7-01-5YL-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 248871028071;	Tue, 22 May 2012 10:31:55 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 10:32:04 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 10:31:55 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	11:31:54 -0400
Message-ID: <4FBBB185.8030005@amd.com>
Date: Tue, 22 May 2012 17:32:21 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337700078.10118.141.camel@zakaz.uk.xensource.com>
Content-Type: multipart/mixed; boundary="------------090801040304010603040304"
X-OriginatorOrg: amd.com
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------090801040304010603040304
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

On 05/22/12 17:21, Ian Campbell wrote:

> On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
>> On 05/22/12 16:20, Ian Campbell wrote:
>>> All the >= checks on *xcg_handle seem wrong to me. Really they should be
>>> checking != NULL, since otherwise they don't actually discriminate the
>>> two cases! Does making that change help?
>>
>> Yes, that helps! I can start guests again.
> 
> Excellent, I assume you are going to submit the patch (i.e. I don't need
> to..)

Yes, patch attached.

Fix pointer checks introduced in changeset 24757:aae516b78fce.
This fixes xenstored crash on platforms with no gnttap implementation.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>


-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------090801040304010603040304
Content-Type: text/plain; charset="us-ascii"; name="xen_tools_xenstore.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="xen_tools_xenstore.diff"
Content-Description: xen_tools_xenstore.diff

ZGlmZiAtciA5OTI2MzEzMjY2NWIgdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5j
Ci0tLSBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uYwlGcmkgTWF5IDE4IDEy
OjM4OjU1IDIwMTIgKzAyMDAKKysrIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFp
bi5jCVR1ZSBNYXkgMjIgMTc6MjU6MDMgMjAxMiArMDIwMApAQCAtMTY3LDcgKzE2Nyw3IEBA
IHN0YXRpYyBpbnQgcmVhZGNobihzdHJ1Y3QgY29ubmVjdGlvbiAqY28KIAogc3RhdGljIHZv
aWQgKm1hcF9pbnRlcmZhY2UoZG9taWRfdCBkb21pZCwgdW5zaWduZWQgbG9uZyBtZm4pCiB7
Ci0JaWYgKCp4Y2dfaGFuZGxlID49IDApIHsKKwlpZiAoKnhjZ19oYW5kbGUgIT0gTlVMTCkg
ewogCQkvKiB0aGlzIGlzIHRoZSBwcmVmZXJyZWQgbWV0aG9kICovCiAJCXJldHVybiB4Y19n
bnR0YWJfbWFwX2dyYW50X3JlZigqeGNnX2hhbmRsZSwgZG9taWQsCiAJCQlHTlRUQUJfUkVT
RVJWRURfWEVOU1RPUkUsIFBST1RfUkVBRHxQUk9UX1dSSVRFKTsKQEAgLTE3OSw3ICsxNzks
NyBAQCBzdGF0aWMgdm9pZCAqbWFwX2ludGVyZmFjZShkb21pZF90IGRvbWlkCiAKIHN0YXRp
YyB2b2lkIHVubWFwX2ludGVyZmFjZSh2b2lkICppbnRlcmZhY2UpCiB7Ci0JaWYgKCp4Y2df
aGFuZGxlID49IDApCisJaWYgKCp4Y2dfaGFuZGxlICE9IE5VTEwpCiAJCXhjX2dudHRhYl9t
dW5tYXAoKnhjZ19oYW5kbGUsIGludGVyZmFjZSwgMSk7CiAJZWxzZQogCQltdW5tYXAoaW50
ZXJmYWNlLCBnZXRwYWdlc2l6ZSgpKTsK
--------------090801040304010603040304
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------090801040304010603040304--


From xen-devel-bounces@lists.xen.org Tue May 22 15:34:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:34:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr6F-0001Ei-5k; Tue, 22 May 2012 15:34:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWr6E-0001EQ-10
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:34:14 +0000
Received: from [193.109.254.147:49155] by server-4.bemta-14.messagelabs.com id
	54/F9-11570-5F1BBBF4; Tue, 22 May 2012 15:34:13 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337700849!10634184!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18337 invoked from network); 22 May 2012 15:34:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:34:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25445752"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:34:09 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:34:08 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWr68-0004tq-31;
	Tue, 22 May 2012 16:34:08 +0100
Message-ID: <4FBBB1F4.2030909@citrix.com>
Date: Tue, 22 May 2012 16:34:12 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
In-Reply-To: <20411.44130.574284.772580@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
	libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
>> Introduce a new structure to track state of device backends, that will
>> be used in following patches on this series.
>>
>> This structure if used for both device creation and device
>> destruction and removes libxl__ao_device_remove.
>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index ae5527b..b62110a 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
>> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
> ...
>> +struct libxl__ao_device {
>> +    /* filled in by user */
>> +    libxl__ao *ao;
>> +    /* action being performed */
>> +    libxl__device_action action;
>> +    libxl__device *dev;
>> +    int force;
>> +    libxl__device_callback *callback;
>> +    /* private for implementation */
>> +    /* State in which the device is */
>> +    int active;
>> +    int rc;
>> +    libxl__ev_devstate ds;
>> +    void *base;
>> +};
>
> Re your comment, don't you mean "state of the operation" rather than
> "state of the device" ?
>
> I would prefer some reformatting to make the scope of comments like
> "filled in by user" clearer.  Perhaps a blank line before "private for
> implementation".  Or perhaps moving all the small comments to after
> the variables.
>
> TBH I'm not sure what the comment "action being performed" is for.
> After all the variable is called "action" so it's obvious.

No, probably no need to write any comment, since it's obvious.

>> +/* Arranges that dev will be removed to the guest, and the
>> + * hotplug scripts will be executed (if necessary). When
>> + * this is done (or an error happens), the callback in
>> + * aorm->callback will be called.
>> + */
>> +_hidden void libxl__initiate_device_remove(libxl__egc *egc,
>> +                                           libxl__ao_device *aorm);
>> +
>
> Does this really only do removals ?  If so where is the addition
> function and what is the "action" parameter for ?

The addition code comes in a next patch, but I've already added the 
"action" libxl__ao_device var to reduce the noise, since it's a harmless 
addition.

>> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
>> index 2a09192..b13de4f 100644
>> --- a/tools/libxl/libxl.c
>> +++ b/tools/libxl/libxl.c
>> @@ -1271,6 +1271,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
>>
>>   /******************************************************************************/
>>
>> +/* generic callback for devices that only need to set ao_complete */
>> +static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
>
> Maybe this should have a more descriptive name ?
>     device_addrm_aocomplete
> depending on whether it's for removal only or for addition too.

It's for both addition/removal.

> You are still using the parameter name "aorm" for something which is
> not only a removal operation.  "aodev" or something.
 >
>>   int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
>> -                                  libxl_device_nic *nic)
>> +                             libxl_device_nic *nic,
>> +                             const libxl_asyncop_how *ao_how)
>>   {
>> -    GC_INIT(ctx);
>> -    libxl__device device;
>> +    AO_CREATE(ctx, domid, ao_how);
>> +    libxl__device *device;
>> +    libxl__ao_device *aorm;
>>       int rc;
>>
>> -    rc = libxl__device_from_nic(gc, domid, nic,&device);
>> +    GCNEW(device);
>> +    rc = libxl__device_from_nic(gc, domid, nic, device);
>>       if (rc != 0) goto out;
>>
>> -    rc = libxl__device_destroy(gc,&device);
>> +    GCNEW(aorm);
>> +    libxl__init_ao_device(aorm, ao, NULL);
>> +    aorm->action = DEVICE_DISCONNECT;
>> +    aorm->force = 1;
>> +    aorm->dev = device;
>> +    aorm->callback = libxl__device_cb;
>> +    libxl__initiate_device_remove(egc, aorm);
>> +
>
> Is there some way to make these functions less repetitive ?
> We have {nic,disk,vkb,vfb}_{remove,destroy} all of which have
> essentially identical innards.
>
> I have some suggestions, in descending order of my own preference.

Well, I have to say I prefer the first option, since it reduces the 
length of code, but I don't know if it will be too complicated. Is it ok 
if I include this in this patch, or should I put it on a separate patch?

> How about writing the common code once in a macro:
>
>   1  #define DEFINE_DEVICE_REMOVE(type, removedestroy, force)       \
>   1     int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,   \
>   1                 uint32_t domid, libxl_device_##type *nic,       \
>   1                 const libxl_asyncop_how *ao_how)                \
>   1     {                                                           \
>   1         AO_CREATE etc. etc.                                     \
>   1         rc = libxl__device_from_##type( etc. etc. )             \
>   1         etc. etc.                                               \
>   1     }
>
>   8  DEFINE_DEVICE_REMOVE(nic, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(nic, destroy, 1)
>   .  DEFINE_DEVICE_REMOVE(disk, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(disk, destroy, 1)
>   .  DEFINE_DEVICE_REMOVE(vkb, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
>   .  DEFINE_DEVICE_REMOVE(vfb, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
>
> (Numbers on the left show how many instances of formulaic code there
> are.)
>
> Or writing the common code once in a function which takes an
> appropriate function pointer type for the conversion:
>
>   1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
>   1                    void *libxl_foo_device,
>   1                    int (*libxl_device_from_foo_device)
>   1                         (libxl__gc *gc, uint32_t domid,
>   1                          void *libxl_foo_device, libxl__device **device))
>   1  {
>   1      AO_CREATE etc. etc.
>
>   4  static int device_from_nic_void(libxl__gc *gc, uint32_t domid,
>   4                          void *libxl_foo_device, libxl__device **device)
>   4      { return libxl__device_from_nic(gc, domid, libxl_foo_device, device); }
>
>   8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>   8                               libxl_device_nic *nic,
>   8                               const libxl_asyncop_how *ao_how)
>   8      { return device_remove(ctx, domid, 0, nic, device_from_nic_void); }
>
>   .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
>   .                               libxl_device_nic *nic,
>   .                               const libxl_asyncop_how *ao_how)
>   .      { return device_remove(ctx, domid, 1, nic, device_from_nic_void); }
>
> Or combining the above:
>
>   1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
>   1                    void *libxl_foo_device,
>   1                    int (*libxl_device_from_foo_device)
>   1                         (libxl__gc *gc, uint32_t domid,
>   1                          void *libxl_foo_device, libxl__device **device))
>   1  {
>   1      AO_CREATE etc. etc.
>
>   1  #define DEFINE_DEVICE_REMOVE(type)                                      \
>   4    static int device_from_##type##_void(libxl__gc *gc, uint32_t domid,   \
>   4                          void *libxl_foo_device, libxl__device **device) \
>   4        { return libxl__device_from_##type(gc, domid,                     \
>   4                                libxl_foo_device, device); }              \
>                                                                              \
>   2  int libxl_device_##type##_remove(libxl_ctx *ctx, uint32_t domid,        \
>   2                               libxl_device_##type *thing,                \
>   2                               const libxl_asyncop_how *ao_how)           \
>   2      { return device_remove(ctx, domid, 0, thing,                        \
>   2                             device_from_##type##_void); }                \
>                                                                              \
>   .  int libxl_device_##type##_destroy(libxl_ctx *ctx, uint32_t domid,       \
>   .                               libxl_device_##type *thing,                \
>   .                               const libxl_asyncop_how *ao_how)           \
>   .      { return device_remove(ctx, domid, 1, thing,                        \
>   .                             device_from_##type##_void); }
>
>   4  DEVICE_DEVICE_REMOVE(nic)
>   .  DEVICE_DEVICE_REMOVE(disk)
>   .  DEVICE_DEVICE_REMOVE(vfb)
>   .  DEVICE_DEVICE_REMOVE(vkb)
>
> Or at least reducing the number of copies from 8 to 4 like this:
>
>   4  int nic_remove(libxl_ctx *ctx, uint32_t domid,
>   4                 libxl__device_nic *nic, int force,
>   4                 const libxl_asyncop_how *ao_how);
>
>   8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>   8                               libxl_device_nic *nic,
>   8                               const libxl_asyncop_how *ao_how)
>   8    { return nic_remove(ctx, domid, nic, 0, ao_how); }
>
>   .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
>   .                               libxl_device_nic *nic,
>   .                               const libxl_asyncop_how *ao_how)
>   .      { return nic_remove(ctx, domid, nic, 1, ao_how); }
>
> Or at least reducing the size of the octuplicated code like this:
>
>   1  int device_remove(libxl_ao *ao, uint32_t domid,
>   1                    libxl__device *device, int force)
>   1  {
>   1    ...
>   1    GCNEW(aodev);
>   1    libxl__init_ao_device(aodev, ao, NULL);
>   1    aodev->action = DEVICE_DISCONNECT;
>   1    aodev->force = 1;
>   1    aodev->dev = device;
>   1    aodev->callback = libxl__device_cb;
>   1    libxl__initiate_device_addremove(egc, aodev);
>   1    etc. etc.
>
>   8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>   8                              libxl_device_nic *nic,
>   8                              const libxl_asyncop_how *ao_how)
>   8  {
>   8      AO_CREATE(ctx, domid, ao_how);
>   8      int rc;
>   8      libxl__device *device;
>   8
>   8      rc = libxl__device_from_nic(gc, domid, nic,&device);
>   8      if (rc) return AO_ABORT(rc);
>   8
>   8      device_remove(ao, domid, device, 0);
>   8      return AO_INPROGRESS;
>   8   }
>
> ?
>
>> +/* Device AO operations */
>>
>> -typedef struct {
>> -    libxl__ao *ao;
>> -    libxl__ev_devstate ds;
>> -} libxl__ao_device_remove;
>> +void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
>> +                           libxl__ao_device **base)
>> +{
>> +    aorm->ao = ao;
>> +    aorm->active = 1;
>> +    aorm->rc = 0;
>> +    aorm->base = base;
>> +}
>
> I think a function "init" should set "active" to 0, surely ?
> Since the operation has not in fact been started.  So perhaps this
> should just be a memset.
>
>> +retry_transaction:
>> +    t = xs_transaction_start(ctx->xsh);
>> +    if (aorm->force)
>> +        libxl__xs_path_cleanup(gc, t,
>> +                               libxl__device_frontend_path(gc, aorm->dev));
>> +    state = libxl__xs_read(gc, t, state_path);
>>       if (!state)
>>           goto out_ok;
>
> If you're reworking this, you should check for errors other than
> ENOENT here.
>
> But actually, I think all of this is done for you by
> libxl__ev_devstate_wait.  You don't need to pre-check the state path
> at all.
>
> Also you seem to only do the _path_cleanup thing (removing newly empty
> parent directories) in the force case, if I'm not mistaken.  I think
> it would be better to make the force case simply skip the device wait
> and then reuse the rest of the code path if possible.

Right now it is true that the path_cleanup thing is only used when using 
device_{...}_remove/destroy functions, but later patches change that. It 
is not modified here because I wanted to keep the changes that touch 
libxl__devices_destroy together.

Not really, at least for vif we actually need to wait for the device to 
switch to state 6 or we will get error messages on xenstore that come 
from the fact that the kernel is also monitoring xenstore and it looses 
track of the vif interface before it's properly shut down.

In the past we never saw this errors because xen-hotplug-cleanup script 
deletes them from xenstore (nice).

>> +    if (rc == ERROR_TIMEDOUT&&  aorm->action == DEVICE_DISCONNECT&&
>> +        !aorm->force) {
>> +        aorm->force = 1;
>> +        libxl__initiate_device_remove(egc, aorm);
>> +        return;
>> +    }
>
> I like this approach.  Economical.
>
>> +    /* Some devices (vkbd) fail to disconnect properly,
>> +     * but we shouldn't alarm the user if it's during
>> +     * domain destruction.
>> +     */
>
> Perhaps we should have a separate flag which controls error reporting
> so that a user-requested graceful device disconnect gets full error
> logging ?

Can we left that for a next patch?

I would like this series to not keep growing indefinitely.

> Thanks,

Thanks for the review!


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:34:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:34:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr6F-0001Ei-5k; Tue, 22 May 2012 15:34:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWr6E-0001EQ-10
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:34:14 +0000
Received: from [193.109.254.147:49155] by server-4.bemta-14.messagelabs.com id
	54/F9-11570-5F1BBBF4; Tue, 22 May 2012 15:34:13 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337700849!10634184!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDQ4MzM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18337 invoked from network); 22 May 2012 15:34:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:34:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="25445752"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:34:09 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:34:08 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWr68-0004tq-31;
	Tue, 22 May 2012 16:34:08 +0100
Message-ID: <4FBBB1F4.2030909@citrix.com>
Date: Tue, 22 May 2012 16:34:12 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
In-Reply-To: <20411.44130.574284.772580@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
	libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
>> Introduce a new structure to track state of device backends, that will
>> be used in following patches on this series.
>>
>> This structure if used for both device creation and device
>> destruction and removes libxl__ao_device_remove.
>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index ae5527b..b62110a 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
>> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
> ...
>> +struct libxl__ao_device {
>> +    /* filled in by user */
>> +    libxl__ao *ao;
>> +    /* action being performed */
>> +    libxl__device_action action;
>> +    libxl__device *dev;
>> +    int force;
>> +    libxl__device_callback *callback;
>> +    /* private for implementation */
>> +    /* State in which the device is */
>> +    int active;
>> +    int rc;
>> +    libxl__ev_devstate ds;
>> +    void *base;
>> +};
>
> Re your comment, don't you mean "state of the operation" rather than
> "state of the device" ?
>
> I would prefer some reformatting to make the scope of comments like
> "filled in by user" clearer.  Perhaps a blank line before "private for
> implementation".  Or perhaps moving all the small comments to after
> the variables.
>
> TBH I'm not sure what the comment "action being performed" is for.
> After all the variable is called "action" so it's obvious.

No, probably no need to write any comment, since it's obvious.

>> +/* Arranges that dev will be removed to the guest, and the
>> + * hotplug scripts will be executed (if necessary). When
>> + * this is done (or an error happens), the callback in
>> + * aorm->callback will be called.
>> + */
>> +_hidden void libxl__initiate_device_remove(libxl__egc *egc,
>> +                                           libxl__ao_device *aorm);
>> +
>
> Does this really only do removals ?  If so where is the addition
> function and what is the "action" parameter for ?

The addition code comes in a next patch, but I've already added the 
"action" libxl__ao_device var to reduce the noise, since it's a harmless 
addition.

>> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
>> index 2a09192..b13de4f 100644
>> --- a/tools/libxl/libxl.c
>> +++ b/tools/libxl/libxl.c
>> @@ -1271,6 +1271,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
>>
>>   /******************************************************************************/
>>
>> +/* generic callback for devices that only need to set ao_complete */
>> +static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
>
> Maybe this should have a more descriptive name ?
>     device_addrm_aocomplete
> depending on whether it's for removal only or for addition too.

It's for both addition/removal.

> You are still using the parameter name "aorm" for something which is
> not only a removal operation.  "aodev" or something.
 >
>>   int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
>> -                                  libxl_device_nic *nic)
>> +                             libxl_device_nic *nic,
>> +                             const libxl_asyncop_how *ao_how)
>>   {
>> -    GC_INIT(ctx);
>> -    libxl__device device;
>> +    AO_CREATE(ctx, domid, ao_how);
>> +    libxl__device *device;
>> +    libxl__ao_device *aorm;
>>       int rc;
>>
>> -    rc = libxl__device_from_nic(gc, domid, nic,&device);
>> +    GCNEW(device);
>> +    rc = libxl__device_from_nic(gc, domid, nic, device);
>>       if (rc != 0) goto out;
>>
>> -    rc = libxl__device_destroy(gc,&device);
>> +    GCNEW(aorm);
>> +    libxl__init_ao_device(aorm, ao, NULL);
>> +    aorm->action = DEVICE_DISCONNECT;
>> +    aorm->force = 1;
>> +    aorm->dev = device;
>> +    aorm->callback = libxl__device_cb;
>> +    libxl__initiate_device_remove(egc, aorm);
>> +
>
> Is there some way to make these functions less repetitive ?
> We have {nic,disk,vkb,vfb}_{remove,destroy} all of which have
> essentially identical innards.
>
> I have some suggestions, in descending order of my own preference.

Well, I have to say I prefer the first option, since it reduces the 
length of code, but I don't know if it will be too complicated. Is it ok 
if I include this in this patch, or should I put it on a separate patch?

> How about writing the common code once in a macro:
>
>   1  #define DEFINE_DEVICE_REMOVE(type, removedestroy, force)       \
>   1     int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,   \
>   1                 uint32_t domid, libxl_device_##type *nic,       \
>   1                 const libxl_asyncop_how *ao_how)                \
>   1     {                                                           \
>   1         AO_CREATE etc. etc.                                     \
>   1         rc = libxl__device_from_##type( etc. etc. )             \
>   1         etc. etc.                                               \
>   1     }
>
>   8  DEFINE_DEVICE_REMOVE(nic, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(nic, destroy, 1)
>   .  DEFINE_DEVICE_REMOVE(disk, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(disk, destroy, 1)
>   .  DEFINE_DEVICE_REMOVE(vkb, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
>   .  DEFINE_DEVICE_REMOVE(vfb, remove, 0)
>   .  DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
>
> (Numbers on the left show how many instances of formulaic code there
> are.)
>
> Or writing the common code once in a function which takes an
> appropriate function pointer type for the conversion:
>
>   1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
>   1                    void *libxl_foo_device,
>   1                    int (*libxl_device_from_foo_device)
>   1                         (libxl__gc *gc, uint32_t domid,
>   1                          void *libxl_foo_device, libxl__device **device))
>   1  {
>   1      AO_CREATE etc. etc.
>
>   4  static int device_from_nic_void(libxl__gc *gc, uint32_t domid,
>   4                          void *libxl_foo_device, libxl__device **device)
>   4      { return libxl__device_from_nic(gc, domid, libxl_foo_device, device); }
>
>   8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>   8                               libxl_device_nic *nic,
>   8                               const libxl_asyncop_how *ao_how)
>   8      { return device_remove(ctx, domid, 0, nic, device_from_nic_void); }
>
>   .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
>   .                               libxl_device_nic *nic,
>   .                               const libxl_asyncop_how *ao_how)
>   .      { return device_remove(ctx, domid, 1, nic, device_from_nic_void); }
>
> Or combining the above:
>
>   1  int device_remove(libxl_ao *ao, uint32_t domid, int force,
>   1                    void *libxl_foo_device,
>   1                    int (*libxl_device_from_foo_device)
>   1                         (libxl__gc *gc, uint32_t domid,
>   1                          void *libxl_foo_device, libxl__device **device))
>   1  {
>   1      AO_CREATE etc. etc.
>
>   1  #define DEFINE_DEVICE_REMOVE(type)                                      \
>   4    static int device_from_##type##_void(libxl__gc *gc, uint32_t domid,   \
>   4                          void *libxl_foo_device, libxl__device **device) \
>   4        { return libxl__device_from_##type(gc, domid,                     \
>   4                                libxl_foo_device, device); }              \
>                                                                              \
>   2  int libxl_device_##type##_remove(libxl_ctx *ctx, uint32_t domid,        \
>   2                               libxl_device_##type *thing,                \
>   2                               const libxl_asyncop_how *ao_how)           \
>   2      { return device_remove(ctx, domid, 0, thing,                        \
>   2                             device_from_##type##_void); }                \
>                                                                              \
>   .  int libxl_device_##type##_destroy(libxl_ctx *ctx, uint32_t domid,       \
>   .                               libxl_device_##type *thing,                \
>   .                               const libxl_asyncop_how *ao_how)           \
>   .      { return device_remove(ctx, domid, 1, thing,                        \
>   .                             device_from_##type##_void); }
>
>   4  DEVICE_DEVICE_REMOVE(nic)
>   .  DEVICE_DEVICE_REMOVE(disk)
>   .  DEVICE_DEVICE_REMOVE(vfb)
>   .  DEVICE_DEVICE_REMOVE(vkb)
>
> Or at least reducing the number of copies from 8 to 4 like this:
>
>   4  int nic_remove(libxl_ctx *ctx, uint32_t domid,
>   4                 libxl__device_nic *nic, int force,
>   4                 const libxl_asyncop_how *ao_how);
>
>   8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>   8                               libxl_device_nic *nic,
>   8                               const libxl_asyncop_how *ao_how)
>   8    { return nic_remove(ctx, domid, nic, 0, ao_how); }
>
>   .  int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
>   .                               libxl_device_nic *nic,
>   .                               const libxl_asyncop_how *ao_how)
>   .      { return nic_remove(ctx, domid, nic, 1, ao_how); }
>
> Or at least reducing the size of the octuplicated code like this:
>
>   1  int device_remove(libxl_ao *ao, uint32_t domid,
>   1                    libxl__device *device, int force)
>   1  {
>   1    ...
>   1    GCNEW(aodev);
>   1    libxl__init_ao_device(aodev, ao, NULL);
>   1    aodev->action = DEVICE_DISCONNECT;
>   1    aodev->force = 1;
>   1    aodev->dev = device;
>   1    aodev->callback = libxl__device_cb;
>   1    libxl__initiate_device_addremove(egc, aodev);
>   1    etc. etc.
>
>   8  int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
>   8                              libxl_device_nic *nic,
>   8                              const libxl_asyncop_how *ao_how)
>   8  {
>   8      AO_CREATE(ctx, domid, ao_how);
>   8      int rc;
>   8      libxl__device *device;
>   8
>   8      rc = libxl__device_from_nic(gc, domid, nic,&device);
>   8      if (rc) return AO_ABORT(rc);
>   8
>   8      device_remove(ao, domid, device, 0);
>   8      return AO_INPROGRESS;
>   8   }
>
> ?
>
>> +/* Device AO operations */
>>
>> -typedef struct {
>> -    libxl__ao *ao;
>> -    libxl__ev_devstate ds;
>> -} libxl__ao_device_remove;
>> +void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
>> +                           libxl__ao_device **base)
>> +{
>> +    aorm->ao = ao;
>> +    aorm->active = 1;
>> +    aorm->rc = 0;
>> +    aorm->base = base;
>> +}
>
> I think a function "init" should set "active" to 0, surely ?
> Since the operation has not in fact been started.  So perhaps this
> should just be a memset.
>
>> +retry_transaction:
>> +    t = xs_transaction_start(ctx->xsh);
>> +    if (aorm->force)
>> +        libxl__xs_path_cleanup(gc, t,
>> +                               libxl__device_frontend_path(gc, aorm->dev));
>> +    state = libxl__xs_read(gc, t, state_path);
>>       if (!state)
>>           goto out_ok;
>
> If you're reworking this, you should check for errors other than
> ENOENT here.
>
> But actually, I think all of this is done for you by
> libxl__ev_devstate_wait.  You don't need to pre-check the state path
> at all.
>
> Also you seem to only do the _path_cleanup thing (removing newly empty
> parent directories) in the force case, if I'm not mistaken.  I think
> it would be better to make the force case simply skip the device wait
> and then reuse the rest of the code path if possible.

Right now it is true that the path_cleanup thing is only used when using 
device_{...}_remove/destroy functions, but later patches change that. It 
is not modified here because I wanted to keep the changes that touch 
libxl__devices_destroy together.

Not really, at least for vif we actually need to wait for the device to 
switch to state 6 or we will get error messages on xenstore that come 
from the fact that the kernel is also monitoring xenstore and it looses 
track of the vif interface before it's properly shut down.

In the past we never saw this errors because xen-hotplug-cleanup script 
deletes them from xenstore (nice).

>> +    if (rc == ERROR_TIMEDOUT&&  aorm->action == DEVICE_DISCONNECT&&
>> +        !aorm->force) {
>> +        aorm->force = 1;
>> +        libxl__initiate_device_remove(egc, aorm);
>> +        return;
>> +    }
>
> I like this approach.  Economical.
>
>> +    /* Some devices (vkbd) fail to disconnect properly,
>> +     * but we shouldn't alarm the user if it's during
>> +     * domain destruction.
>> +     */
>
> Perhaps we should have a separate flag which controls error reporting
> so that a user-requested graceful device disconnect gets full error
> logging ?

Can we left that for a next patch?

I would like this series to not keep growing indefinitely.

> Thanks,

Thanks for the review!


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:36:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr7t-0001R9-VA; Tue, 22 May 2012 15:35:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWr7r-0001Qt-Db
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:35:55 +0000
Received: from [193.109.254.147:9706] by server-1.bemta-14.messagelabs.com id
	63/C6-29372-A52BBBF4; Tue, 22 May 2012 15:35:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337700953!10597037!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17750 invoked from network); 22 May 2012 15:35:53 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:35:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12608554"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:35:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:35:53 +0100
Message-ID: <1337700951.10118.148.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 16:35:51 +0100
In-Reply-To: <1337345961.22316.106.camel@zakaz.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
	<1337345961.22316.106.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 13:59 +0100, Ian Campbell wrote:
> On Fri, 2012-05-18 at 12:35 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("[PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > > @@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
> > >      libxl__ao *ao;
> > >      libxl__run_bootloader_callback *callback;
> > >      libxl__bootloader_console_callback *console_available;
> > > -    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> > > +    const libxl_domain_build_info *info;
> > >      libxl_device_disk *disk;
> > >      uint32_t domid;
> > > +    /* outputs, call must set kernel and ramdisk to point to a file
> > > +     * reference which will be updated and mapped, cmdline will be
> > > +     * updated */
> > > +    libxl__file_reference *kernel, *ramdisk;
> > > +    const char *cmdline;
> >
> > You mean "caller must set" ?  And "to file references" since they're
> > not the same reference.  (Also, comma splices, ew.)
> 
> I changed this to:
>     /* outputs:
>      *  - caller must set kernel and ramdisk to point to file
>      *    references which will be updated and mapped;
>      *  - cmdline will be updated;
>      */

I ended up changing it again, I hope this one is clearer:

    /* outputs:
     *  - caller must initialise kernel and ramdisk to point to file
     *    references, these will be updated and mapped;
     *  - caller must initialise cmdline to NULL, it will be updated with a
     *    string allocated from the gc;
     */

8<------------------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337700883 -3600
# Node ID e2a5e4fcfd29beb399b5d7f40040e1035f17231c
# Parent  3c037497eb3c0d98354b5db46e3a1775fd85666c
libxl: do not overwrite user supplied config when running bootloader.

Currently when running the bootloader libxl will update b_info->u.pv.kernel,
.ramdisk, .cmdline and .bootloader.  This can expose internal details, such
as temporary paths in /var/run/xen/bootloader.*/ to the user. This is
problematic because it means that the user cannot re-use the struct as is.

This does not effect xl in Xen 4.2+ since it always reparses the guest config
and reinitialises the build info, however it did cause issues with reboot in
4.1 (reported by Dmitry Morozhnikov) and may cause issues for other users of
libxl.

Instead make the libxl bootloader infrastructure provide output to its caller
which is slurped into the internal libxl__domain_build_state datastructure. If
no bootloader is configured then the bootloader instead propagates the user
supplied b_info config.

In order to simplify this push the error handling for the case where there is
no bootdisk down into libxl__bootloader_run. In principal there is no reason
why it shouldn't be possible to do a pure netboot guest with a suitable
bootloader, but I don't fix that here.

This change allow us to make the libxl_file_reference an internal API, and
eventually we might be able to get rid of it.

Also removes the publix libxl_run_bootloader interface, neither xl nor libvirt
use it.

I am proposing this for 4.2 due to the API change.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v3: more improvements to libxl__bootloader_state outputs comment.
v2: not about lifetime of async op paramters other than ao_how. improvements to
libxl__bootloader_state output comment.

diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/gentest.py	Tue May 22 16:34:43 2012 +0100
@@ -21,8 +21,7 @@ def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
 handcoded = ["libxl_cpumap", "libxl_key_value_list",
-             "libxl_cpuid_policy_list", "libxl_file_reference",
-             "libxl_string_list"]
+             "libxl_cpuid_policy_list", "libxl_string_list"]
 
 def gen_rand_init(ty, v, indent = "    ", parent = None):
     s = ""
@@ -179,13 +178,6 @@ static void libxl_cpuid_policy_list_rand
     *pp = p;
 }
 
-static void libxl_file_reference_rand_init(libxl_file_reference *p)
-{
-    memset(p, 0, sizeof(*p));
-    if (rand() % 8)
-        p->path = rand_str();
-}
-
 static void libxl_string_list_rand_init(libxl_string_list *p)
 {
     int i, nr = rand() % 16;
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 22 16:34:43 2012 +0100
@@ -3688,12 +3688,6 @@ int libxl_tmem_freeable(libxl_ctx *ctx)
     return rc;
 }
 
-void libxl_file_reference_dispose(libxl_file_reference *f)
-{
-    libxl__file_reference_unmap(f);
-    free(f->path);
-}
-
 int libxl_get_freecpus(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int ncpus;
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 22 16:34:43 2012 +0100
@@ -288,18 +288,6 @@ typedef struct {
 } libxl_cpumap;
 void libxl_cpumap_dispose(libxl_cpumap *map);
 
-typedef struct {
-    /*
-     * Path is always set if the file reference is valid. However if
-     * mapped is true then the actual file may already be unlinked.
-     */
-    char * path;
-    int mapped;
-    void * data;
-    size_t size;
-} libxl_file_reference;
-void libxl_file_reference_dispose(libxl_file_reference *p);
-
 /* libxl_cpuid_policy_list is a dynamic array storing CPUID policies
  * for multiple leafs. It is terminated with an entry holding
  * XEN_CPUID_INPUT_UNUSED in input[0]
@@ -421,7 +409,8 @@ enum {
  * of course check the rc value for errors.
  *
  * *ao_how does not need to remain valid after the initiating function
- * returns.
+ * returns. All other parameters must remain valid for the lifetime of
+ * the asynchronous operation, unless otherwise specified.
  *
  * Callbacks may occur on any thread in which the application calls
  * libxl.
@@ -543,27 +532,6 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
-/*
- * Run the configured bootloader for a PV domain and update
- * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
- * appropriate (any initial values present in these fields must have
- * been allocated with malloc).
- *
- * Is a NOP on non-PV domains or those with no bootloader configured.
- *
- * Users should call libxl_file_reference_unmap on the kernel and
- * ramdisk to cleanup or rely on libxl_domain_{build,restore} to do
- * it.
- */
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how);
-
-  /* 0 means ERROR_ENOMEM, which we have logged */
-
-
 int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
                         const char *old_name, const char *new_name);
 
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 22 16:34:43 2012 +0100
@@ -43,7 +43,8 @@ static void bootloader_arg(libxl__bootlo
     bl->args[bl->nargs++] = arg;
 }
 
-static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl,
+                                 const char *bootloader_path)
 {
     const libxl_domain_build_info *info = bl->info;
 
@@ -53,12 +54,12 @@ static void make_bootloader_args(libxl__
 
 #define ARG(arg) bootloader_arg(bl, (arg))
 
-    ARG(info->u.pv.bootloader);
+    ARG(bootloader_path);
 
-    if (info->u.pv.kernel.path)
-        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
-    if (info->u.pv.ramdisk.path)
-        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+    if (info->u.pv.kernel)
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel));
+    if (info->u.pv.ramdisk)
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
         ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
@@ -144,7 +145,6 @@ static int parse_bootloader_result(libxl
     char buf[PATH_MAX*2];
     FILE *f = 0;
     int rc = ERROR_FAIL;
-    libxl_domain_build_info *info = bl->info;
 
     f = fopen(bl->outputpath, "r");
     if (!f) {
@@ -180,18 +180,15 @@ static int parse_bootloader_result(libxl
 #define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
         if (COMMAND("kernel")) {
-            free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.kernel);
-            unlink(info->u.pv.kernel.path);
+            bl->kernel->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->kernel);
+            unlink(bl->kernel->path);
         } else if (COMMAND("ramdisk")) {
-            free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.ramdisk);
-            unlink(info->u.pv.ramdisk.path);
+            bl->ramdisk->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->ramdisk);
+            unlink(bl->ramdisk->path);
         } else if (COMMAND("args")) {
-            free(info->u.pv.cmdline);
-            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+            bl->cmdline = libxl__strdup(gc, rhs);
         } else if (l) {
             LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
@@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
-    libxl_domain_build_info *info = bl->info;
+    const libxl_domain_build_info *info = bl->info;
     uint32_t domid = bl->domid;
     char *logfile_tmp = NULL;
     int rc, r;
+    const char *bootloader;
 
     libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(DEBUG, "not a PV domain, skipping bootloader");
         rc = 0;
         goto out_ok;
     }
 
+    if (!info->u.pv.bootloader) {
+        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
+        bl->kernel->path = bl->info->u.pv.kernel;
+        bl->ramdisk->path = bl->info->u.pv.ramdisk;
+        bl->cmdline = bl->info->u.pv.cmdline;
+        rc = 0;
+        goto out_ok;
+    }
+
+    if (!bl->disk) {
+        LOG(ERROR, "cannot run bootloader with no boot disk");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     bootloader_setpaths(gc, bl);
 
     const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
@@ -342,27 +356,26 @@ void libxl__bootloader_run(libxl__egc *e
         LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
             "bootloader='pygrub' instead");
 
+    bootloader = info->u.pv.bootloader;
+
     /* If the full path is not specified, check in the libexec path */
-    if ( info->u.pv.bootloader[0] != '/' ) {
-        char *bootloader;
+    if ( bootloader[0] != '/' ) {
+        const char *bltmp;
         struct stat st;
 
-        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
-                                     libxl__libexec_path());
+        bltmp = libxl__abs_path(gc, bootloader, libxl__libexec_path());
         /* Check to see if the file exists in this location; if not,
          * fall back to checking the path */
-        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bltmp);
 
-        if ( lstat(bootloader, &st) )
+        if ( lstat(bltmp, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
-                bootloader);
-        else {
-            free(info->u.pv.bootloader);
-            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
-        }
+                bltmp);
+        else
+            bootloader = bltmp;
     }
 
-    make_bootloader_args(gc, bl);
+    make_bootloader_args(gc, bl, bootloader);
 
     bl->openpty.ao = ao;
     bl->openpty.callback = bootloader_gotptys;
@@ -565,33 +578,6 @@ static void bootloader_finished(libxl__e
     bootloader_callback(egc, bl, rc);
 }
 
-/*----- entrypoint for external callers -----*/
-
-static void run_bootloader_done(libxl__egc *egc,
-                                libxl__bootloader_state *st, int rc)
-{
-    libxl__ao_complete(egc, st->ao, rc);
-}
-
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx,domid,ao_how);
-    libxl__bootloader_state *bl;
-
-    GCNEW(bl);
-    bl->ao = ao;
-    bl->callback = run_bootloader_done;
-    bl->info = info;
-    bl->disk = disk;
-    bl->domid = domid;
-    libxl__bootloader_run(egc, bl);
-    return AO_INPROGRESS;
-}
-
 /*
  * Local variables:
  * mode: C
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_create.c	Tue May 22 16:34:43 2012 +0100
@@ -242,6 +242,7 @@ static int init_console_info(libxl__devi
         return ERROR_NOMEM;
     return 0;
 }
+
 int libxl__domain_build(libxl__gc *gc,
                         libxl_domain_build_info *info,
                         uint32_t domid,
@@ -290,17 +291,18 @@ int libxl__domain_build(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
+
         break;
     default:
         ret = ERROR_INVAL;
@@ -346,16 +348,16 @@ static int domain_restore(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
         break;
     default:
@@ -374,8 +376,8 @@ static int domain_restore(libxl__gc *gc,
 
 out:
     if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
     }
 
     esave = errno;
@@ -625,16 +627,21 @@ static void initiate_domain_create(libxl
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
-    if (restore_fd < 0 && bootdisk) {
+    if (restore_fd >= 0) {
+        LOG(DEBUG, "restoring, not running bootloader\n");
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
+    } else  {
+        LOG(DEBUG, "running bootloader");
         dcs->bl.callback = domcreate_bootloader_done;
         dcs->bl.console_available = domcreate_bootloader_console_available;
-        dcs->bl.info = &d_config->b_info,
+        dcs->bl.info = &d_config->b_info;
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
-            
+
+        dcs->bl.kernel = &dcs->build_state.pv_kernel;
+        dcs->bl.ramdisk = &dcs->build_state.pv_ramdisk;
+
         libxl__bootloader_run(egc, &dcs->bl);
-    } else {
-        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
     return;
 
@@ -675,6 +682,11 @@ static void domcreate_bootloader_done(li
 
     if (ret) goto error_out;
 
+    /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
+     * been initialised by the bootloader already.
+     */
+    state->pv_cmdline = bl->cmdline;
+
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
      * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Tue May 22 16:34:43 2012 +0100
@@ -715,10 +715,6 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->b_info.max_memkb = 32 * 1024;
     dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
-                                              libxl__xenfirmwaredir_path());
-    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config->b_info.u.pv.ramdisk.path = "";
     dm_config->b_info.u.pv.features = "";
 
     dm_config->b_info.device_model_version =
@@ -746,6 +742,11 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->vkbs = &vkb;
     dm_config->num_vkbs = 1;
 
+    stubdom_state->pv_kernel.path
+        = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
+    stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    stubdom_state->pv_ramdisk.path = "";
+
     /* fixme: this function can leak the stubdom if it fails */
     ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 22 16:34:43 2012 +0100
@@ -234,36 +234,37 @@ int libxl__build_pv(libxl__gc *gc, uint3
 
     xc_dom_loginit(ctx->xch);
 
-    dom = xc_dom_allocate(ctx->xch, info->u.pv.cmdline, info->u.pv.features);
+    dom = xc_dom_allocate(ctx->xch, state->pv_cmdline, info->u.pv.features);
     if (!dom) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_allocate failed");
         return ERROR_FAIL;
     }
 
-    if (info->u.pv.kernel.mapped) {
+    LOG(INFO, "pv kernel mapped %d path %s\n", state->pv_kernel.mapped, state->pv_kernel.path);
+    if (state->pv_kernel.mapped) {
         ret = xc_dom_kernel_mem(dom,
-                                info->u.pv.kernel.data,
-                                info->u.pv.kernel.size);
+                                state->pv_kernel.data,
+                                state->pv_kernel.size);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_mem failed");
             goto out;
         }
     } else {
-        ret = xc_dom_kernel_file(dom, info->u.pv.kernel.path);
+        ret = xc_dom_kernel_file(dom, state->pv_kernel.path);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_file failed");
             goto out;
         }
     }
 
-    if ( info->u.pv.ramdisk.path && strlen(info->u.pv.ramdisk.path) ) {
-        if (info->u.pv.ramdisk.mapped) {
-            if ( (ret = xc_dom_ramdisk_mem(dom, info->u.pv.ramdisk.data, info->u.pv.ramdisk.size)) != 0 ) {
+    if ( state->pv_ramdisk.path && strlen(state->pv_ramdisk.path) ) {
+        if (state->pv_ramdisk.mapped) {
+            if ( (ret = xc_dom_ramdisk_mem(dom, state->pv_ramdisk.data, state->pv_ramdisk.size)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_mem failed");
                 goto out;
             }
         } else {
-            if ( (ret = xc_dom_ramdisk_file(dom, info->u.pv.ramdisk.path)) != 0 ) {
+            if ( (ret = xc_dom_ramdisk_file(dom, state->pv_ramdisk.path)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_file failed");
                 goto out;
             }
@@ -308,6 +309,9 @@ int libxl__build_pv(libxl__gc *gc, uint3
     state->console_mfn = xc_dom_p2m_host(dom, dom->console_pfn);
     state->store_mfn = xc_dom_p2m_host(dom, dom->xenstore_pfn);
 
+    libxl__file_reference_unmap(&state->pv_kernel);
+    libxl__file_reference_unmap(&state->pv_ramdisk);
+
     ret = 0;
 out:
     xc_dom_release(dom);
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_internal.c
--- a/tools/libxl/libxl_internal.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_internal.c	Tue May 22 16:34:43 2012 +0100
@@ -216,7 +216,7 @@ char *libxl__abs_path(libxl__gc *gc, con
 }
 
 
-int libxl__file_reference_map(libxl_file_reference *f)
+int libxl__file_reference_map(libxl__file_reference *f)
 {
     struct stat st_buf;
     int ret, fd;
@@ -249,7 +249,7 @@ out:
     return ret == 0 ? 0 : ERROR_FAIL;
 }
 
-int libxl__file_reference_unmap(libxl_file_reference *f)
+int libxl__file_reference_unmap(libxl__file_reference *f)
 {
     int ret;
 
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 22 16:34:43 2012 +0100
@@ -713,6 +713,20 @@ int libxl__self_pipe_eatall(int fd); /* 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
 
+/* File references */
+typedef struct {
+    /*
+     * Path is always set if the file reference is valid. However if
+     * mapped is true then the actual file may already be unlinked.
+     */
+    const char * path;
+    int mapped;
+    void * data;
+    size_t size;
+} libxl__file_reference;
+_hidden int libxl__file_reference_map(libxl__file_reference *f);
+_hidden int libxl__file_reference_unmap(libxl__file_reference *f);
+
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
@@ -731,6 +745,10 @@ typedef struct {
     unsigned long vm_generationid_addr;
 
     char *saved_state;
+
+    libxl__file_reference pv_kernel;
+    libxl__file_reference pv_ramdisk;
+    const char * pv_cmdline;
 } libxl__domain_build_state;
 
 _hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
@@ -1249,9 +1267,6 @@ struct libxl__xen_console_reader {
 
 _hidden int libxl__error_set(libxl__gc *gc, int code);
 
-_hidden int libxl__file_reference_map(libxl_file_reference *f);
-_hidden int libxl__file_reference_unmap(libxl_file_reference *f);
-
 _hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
 
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
@@ -1764,9 +1779,17 @@ struct libxl__bootloader_state {
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
     libxl__bootloader_console_callback *console_available;
-    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    const libxl_domain_build_info *info;
     libxl_device_disk *disk;
     uint32_t domid;
+    /* outputs:
+     *  - caller must initialise kernel and ramdisk to point to file
+     *    references, these will be updated and mapped;
+     *  - caller must initialise cmdline to NULL, it will be updated with a
+     *    string allocated from the gc;
+     */
+    libxl__file_reference *kernel, *ramdisk;
+    const char *cmdline;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
@@ -1810,7 +1833,6 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
-
 /*
  * Convenience macros.
  */
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_json.c	Tue May 22 16:34:43 2012 +0100
@@ -252,15 +252,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p)
-{
-    if (p->path)
-        return libxl__yajl_gen_asciiz(hand, p->path);
-    else
-        return yajl_gen_null(hand);
-}
-
 yajl_gen_status libxl__string_gen_json(yajl_gen hand,
                                        const char *p)
 {
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_json.h	Tue May 22 16:34:43 2012 +0100
@@ -32,8 +32,6 @@ yajl_gen_status libxl_cpuid_policy_list_
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *p);
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p);
 yajl_gen_status libxl_hwcap_gen_json(yajl_gen hand, libxl_hwcap *p);
 
 #include <_libxl_types_json.h>
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 22 16:34:43 2012 +0100
@@ -15,8 +15,6 @@ libxl_cpuid_policy_list = Builtin("cpuid
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
 libxl_key_value_list = Builtin("key_value_list", dispose_fn="libxl_key_value_list_dispose", passby=PASS_BY_REFERENCE)
-libxl_file_reference = Builtin("file_reference", dispose_fn="libxl_file_reference_dispose", passby=PASS_BY_REFERENCE)
-
 libxl_hwcap = Builtin("hwcap", passby=PASS_BY_REFERENCE)
 
 #
@@ -236,11 +234,6 @@ libxl_sched_domain_params = Struct("sche
     ("extratime",    integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
-# Instances of libxl_file_reference contained in this struct which
-# have been mapped (with libxl_file_reference_map) will be unmapped
-# by libxl_domain_build/restore. If either of these are never called
-# then the user is responsible for calling
-# libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("cur_vcpus",       integer),
@@ -306,12 +299,12 @@ libxl_domain_build_info = Struct("domain
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ])),
-                 ("pv", Struct(None, [("kernel", libxl_file_reference),
+                 ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
                                       ("bootloader", string),
                                       ("bootloader_args", libxl_string_list),
                                       ("cmdline", string),
-                                      ("ramdisk", libxl_file_reference),
+                                      ("ramdisk", string),
                                       ("features", string, {'const': True}),
                                       # Use host's E820 for PCI passthrough.
                                       ("e820_host", libxl_defbool),
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 22 16:34:43 2012 +0100
@@ -840,7 +840,7 @@ static void parse_config_data(const char
         char *cmdline = NULL;
         const char *root = NULL, *extra = "";
 
-        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel.path, 0);
+        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel, 0);
 
         xlu_cfg_get_string (config, "root", &root, 0);
         xlu_cfg_get_string (config, "extra", &extra, 0);
@@ -879,13 +879,13 @@ static void parse_config_data(const char
             exit(-ERROR_FAIL);
         }
 
-        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel.path) {
+        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel) {
             fprintf(stderr, "Neither kernel nor bootloader specified\n");
             exit(1);
         }
 
         b_info->u.pv.cmdline = cmdline;
-        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk.path, 0);
+        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk, 0);
         break;
     }
     default:
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Tue May 22 16:34:43 2012 +0100
@@ -146,9 +146,9 @@ void printf_info_sexp(int domid, libxl_d
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         printf("\t\t(linux %d)\n", 0);
-        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel.path);
+        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel);
         printf("\t\t\t(cmdline %s)\n", b_info->u.pv.cmdline);
-        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk.path);
+        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk);
         printf("\t\t\t(e820_host %s)\n",
                libxl_defbool_to_string(b_info->u.pv.e820_host));
         printf("\t\t)\n");
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Tue May 22 16:34:43 2012 +0100
@@ -243,11 +243,6 @@ int attrib__libxl_cpumap_set(PyObject *v
     return 0;
 }
 
-int attrib__libxl_file_reference_set(PyObject *v, libxl_file_reference *pptr)
-{
-    return genwrap__string_set(v, &pptr->path);
-}
-
 int attrib__libxl_hwcap_set(PyObject *v, libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Setting hwcap");
@@ -315,11 +310,6 @@ PyObject *attrib__libxl_cpumap_get(libxl
     return cpulist;
 }
 
-PyObject *attrib__libxl_file_reference_get(libxl_file_reference *pptr)
-{
-    return genwrap__string_get(&pptr->path);
-}
-
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:36:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWr7t-0001R9-VA; Tue, 22 May 2012 15:35:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWr7r-0001Qt-Db
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:35:55 +0000
Received: from [193.109.254.147:9706] by server-1.bemta-14.messagelabs.com id
	63/C6-29372-A52BBBF4; Tue, 22 May 2012 15:35:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337700953!10597037!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17750 invoked from network); 22 May 2012 15:35:53 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:35:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12608554"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 15:35:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 16:35:53 +0100
Message-ID: <1337700951.10118.148.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 22 May 2012 16:35:51 +0100
In-Reply-To: <1337345961.22316.106.camel@zakaz.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
	<1337345961.22316.106.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 13:59 +0100, Ian Campbell wrote:
> On Fri, 2012-05-18 at 12:35 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("[PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > > @@ -1757,9 +1772,14 @@ struct libxl__bootloader_state {
> > >      libxl__ao *ao;
> > >      libxl__run_bootloader_callback *callback;
> > >      libxl__bootloader_console_callback *console_available;
> > > -    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
> > > +    const libxl_domain_build_info *info;
> > >      libxl_device_disk *disk;
> > >      uint32_t domid;
> > > +    /* outputs, call must set kernel and ramdisk to point to a file
> > > +     * reference which will be updated and mapped, cmdline will be
> > > +     * updated */
> > > +    libxl__file_reference *kernel, *ramdisk;
> > > +    const char *cmdline;
> >
> > You mean "caller must set" ?  And "to file references" since they're
> > not the same reference.  (Also, comma splices, ew.)
> 
> I changed this to:
>     /* outputs:
>      *  - caller must set kernel and ramdisk to point to file
>      *    references which will be updated and mapped;
>      *  - cmdline will be updated;
>      */

I ended up changing it again, I hope this one is clearer:

    /* outputs:
     *  - caller must initialise kernel and ramdisk to point to file
     *    references, these will be updated and mapped;
     *  - caller must initialise cmdline to NULL, it will be updated with a
     *    string allocated from the gc;
     */

8<------------------------------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337700883 -3600
# Node ID e2a5e4fcfd29beb399b5d7f40040e1035f17231c
# Parent  3c037497eb3c0d98354b5db46e3a1775fd85666c
libxl: do not overwrite user supplied config when running bootloader.

Currently when running the bootloader libxl will update b_info->u.pv.kernel,
.ramdisk, .cmdline and .bootloader.  This can expose internal details, such
as temporary paths in /var/run/xen/bootloader.*/ to the user. This is
problematic because it means that the user cannot re-use the struct as is.

This does not effect xl in Xen 4.2+ since it always reparses the guest config
and reinitialises the build info, however it did cause issues with reboot in
4.1 (reported by Dmitry Morozhnikov) and may cause issues for other users of
libxl.

Instead make the libxl bootloader infrastructure provide output to its caller
which is slurped into the internal libxl__domain_build_state datastructure. If
no bootloader is configured then the bootloader instead propagates the user
supplied b_info config.

In order to simplify this push the error handling for the case where there is
no bootdisk down into libxl__bootloader_run. In principal there is no reason
why it shouldn't be possible to do a pure netboot guest with a suitable
bootloader, but I don't fix that here.

This change allow us to make the libxl_file_reference an internal API, and
eventually we might be able to get rid of it.

Also removes the publix libxl_run_bootloader interface, neither xl nor libvirt
use it.

I am proposing this for 4.2 due to the API change.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v3: more improvements to libxl__bootloader_state outputs comment.
v2: not about lifetime of async op paramters other than ao_how. improvements to
libxl__bootloader_state output comment.

diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/gentest.py	Tue May 22 16:34:43 2012 +0100
@@ -21,8 +21,7 @@ def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
 handcoded = ["libxl_cpumap", "libxl_key_value_list",
-             "libxl_cpuid_policy_list", "libxl_file_reference",
-             "libxl_string_list"]
+             "libxl_cpuid_policy_list", "libxl_string_list"]
 
 def gen_rand_init(ty, v, indent = "    ", parent = None):
     s = ""
@@ -179,13 +178,6 @@ static void libxl_cpuid_policy_list_rand
     *pp = p;
 }
 
-static void libxl_file_reference_rand_init(libxl_file_reference *p)
-{
-    memset(p, 0, sizeof(*p));
-    if (rand() % 8)
-        p->path = rand_str();
-}
-
 static void libxl_string_list_rand_init(libxl_string_list *p)
 {
     int i, nr = rand() % 16;
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 22 16:34:43 2012 +0100
@@ -3688,12 +3688,6 @@ int libxl_tmem_freeable(libxl_ctx *ctx)
     return rc;
 }
 
-void libxl_file_reference_dispose(libxl_file_reference *f)
-{
-    libxl__file_reference_unmap(f);
-    free(f->path);
-}
-
 int libxl_get_freecpus(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int ncpus;
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 22 16:34:43 2012 +0100
@@ -288,18 +288,6 @@ typedef struct {
 } libxl_cpumap;
 void libxl_cpumap_dispose(libxl_cpumap *map);
 
-typedef struct {
-    /*
-     * Path is always set if the file reference is valid. However if
-     * mapped is true then the actual file may already be unlinked.
-     */
-    char * path;
-    int mapped;
-    void * data;
-    size_t size;
-} libxl_file_reference;
-void libxl_file_reference_dispose(libxl_file_reference *p);
-
 /* libxl_cpuid_policy_list is a dynamic array storing CPUID policies
  * for multiple leafs. It is terminated with an entry holding
  * XEN_CPUID_INPUT_UNUSED in input[0]
@@ -421,7 +409,8 @@ enum {
  * of course check the rc value for errors.
  *
  * *ao_how does not need to remain valid after the initiating function
- * returns.
+ * returns. All other parameters must remain valid for the lifetime of
+ * the asynchronous operation, unless otherwise specified.
  *
  * Callbacks may occur on any thread in which the application calls
  * libxl.
@@ -543,27 +532,6 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
-/*
- * Run the configured bootloader for a PV domain and update
- * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
- * appropriate (any initial values present in these fields must have
- * been allocated with malloc).
- *
- * Is a NOP on non-PV domains or those with no bootloader configured.
- *
- * Users should call libxl_file_reference_unmap on the kernel and
- * ramdisk to cleanup or rely on libxl_domain_{build,restore} to do
- * it.
- */
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how);
-
-  /* 0 means ERROR_ENOMEM, which we have logged */
-
-
 int libxl_domain_rename(libxl_ctx *ctx, uint32_t domid,
                         const char *old_name, const char *new_name);
 
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c	Tue May 22 16:34:43 2012 +0100
@@ -43,7 +43,8 @@ static void bootloader_arg(libxl__bootlo
     bl->args[bl->nargs++] = arg;
 }
 
-static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl)
+static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl,
+                                 const char *bootloader_path)
 {
     const libxl_domain_build_info *info = bl->info;
 
@@ -53,12 +54,12 @@ static void make_bootloader_args(libxl__
 
 #define ARG(arg) bootloader_arg(bl, (arg))
 
-    ARG(info->u.pv.bootloader);
+    ARG(bootloader_path);
 
-    if (info->u.pv.kernel.path)
-        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel.path));
-    if (info->u.pv.ramdisk.path)
-        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk.path));
+    if (info->u.pv.kernel)
+        ARG(libxl__sprintf(gc, "--kernel=%s", info->u.pv.kernel));
+    if (info->u.pv.ramdisk)
+        ARG(libxl__sprintf(gc, "--ramdisk=%s", info->u.pv.ramdisk));
     if (info->u.pv.cmdline && *info->u.pv.cmdline != '\0')
         ARG(libxl__sprintf(gc, "--args=%s", info->u.pv.cmdline));
 
@@ -144,7 +145,6 @@ static int parse_bootloader_result(libxl
     char buf[PATH_MAX*2];
     FILE *f = 0;
     int rc = ERROR_FAIL;
-    libxl_domain_build_info *info = bl->info;
 
     f = fopen(bl->outputpath, "r");
     if (!f) {
@@ -180,18 +180,15 @@ static int parse_bootloader_result(libxl
 #define COMMAND(s) ((rhs = bootloader_result_command(gc, buf, s, sizeof(s)-1)))
 
         if (COMMAND("kernel")) {
-            free(info->u.pv.kernel.path);
-            info->u.pv.kernel.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.kernel);
-            unlink(info->u.pv.kernel.path);
+            bl->kernel->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->kernel);
+            unlink(bl->kernel->path);
         } else if (COMMAND("ramdisk")) {
-            free(info->u.pv.ramdisk.path);
-            info->u.pv.ramdisk.path = libxl__strdup(NULL, rhs);
-            libxl__file_reference_map(&info->u.pv.ramdisk);
-            unlink(info->u.pv.ramdisk.path);
+            bl->ramdisk->path = libxl__strdup(gc, rhs);
+            libxl__file_reference_map(bl->ramdisk);
+            unlink(bl->ramdisk->path);
         } else if (COMMAND("args")) {
-            free(info->u.pv.cmdline);
-            info->u.pv.cmdline = libxl__strdup(NULL, rhs);
+            bl->cmdline = libxl__strdup(gc, rhs);
         } else if (l) {
             LOG(WARN, "unexpected output from bootloader: `%s'", buf);
         }
@@ -281,18 +278,35 @@ static void bootloader_abort(libxl__egc 
 void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
 {
     STATE_AO_GC(bl->ao);
-    libxl_domain_build_info *info = bl->info;
+    const libxl_domain_build_info *info = bl->info;
     uint32_t domid = bl->domid;
     char *logfile_tmp = NULL;
     int rc, r;
+    const char *bootloader;
 
     libxl__bootloader_init(bl);
 
-    if (info->type != LIBXL_DOMAIN_TYPE_PV || !info->u.pv.bootloader) {
+    if (info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(DEBUG, "not a PV domain, skipping bootloader");
         rc = 0;
         goto out_ok;
     }
 
+    if (!info->u.pv.bootloader) {
+        LOG(DEBUG, "no bootloader configured, using user supplied kernel");
+        bl->kernel->path = bl->info->u.pv.kernel;
+        bl->ramdisk->path = bl->info->u.pv.ramdisk;
+        bl->cmdline = bl->info->u.pv.cmdline;
+        rc = 0;
+        goto out_ok;
+    }
+
+    if (!bl->disk) {
+        LOG(ERROR, "cannot run bootloader with no boot disk");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     bootloader_setpaths(gc, bl);
 
     const char *logfile_leaf = GCSPRINTF("bootloader.%"PRIu32, domid);
@@ -342,27 +356,26 @@ void libxl__bootloader_run(libxl__egc *e
         LOG(WARN, "bootloader='/usr/bin/pygrub' is deprecated; use " \
             "bootloader='pygrub' instead");
 
+    bootloader = info->u.pv.bootloader;
+
     /* If the full path is not specified, check in the libexec path */
-    if ( info->u.pv.bootloader[0] != '/' ) {
-        char *bootloader;
+    if ( bootloader[0] != '/' ) {
+        const char *bltmp;
         struct stat st;
 
-        bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
-                                     libxl__libexec_path());
+        bltmp = libxl__abs_path(gc, bootloader, libxl__libexec_path());
         /* Check to see if the file exists in this location; if not,
          * fall back to checking the path */
-        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+        LOG(DEBUG, "Checking for bootloader in libexec path: %s", bltmp);
 
-        if ( lstat(bootloader, &st) )
+        if ( lstat(bltmp, &st) )
             LOG(DEBUG, "%s doesn't exist, falling back to config path",
-                bootloader);
-        else {
-            free(info->u.pv.bootloader);
-            info->u.pv.bootloader = libxl__strdup(NULL, bootloader);
-        }
+                bltmp);
+        else
+            bootloader = bltmp;
     }
 
-    make_bootloader_args(gc, bl);
+    make_bootloader_args(gc, bl, bootloader);
 
     bl->openpty.ao = ao;
     bl->openpty.callback = bootloader_gotptys;
@@ -565,33 +578,6 @@ static void bootloader_finished(libxl__e
     bootloader_callback(egc, bl, rc);
 }
 
-/*----- entrypoint for external callers -----*/
-
-static void run_bootloader_done(libxl__egc *egc,
-                                libxl__bootloader_state *st, int rc)
-{
-    libxl__ao_complete(egc, st->ao, rc);
-}
-
-int libxl_run_bootloader(libxl_ctx *ctx,
-                         libxl_domain_build_info *info,
-                         libxl_device_disk *disk,
-                         uint32_t domid,
-                         libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx,domid,ao_how);
-    libxl__bootloader_state *bl;
-
-    GCNEW(bl);
-    bl->ao = ao;
-    bl->callback = run_bootloader_done;
-    bl->info = info;
-    bl->disk = disk;
-    bl->domid = domid;
-    libxl__bootloader_run(egc, bl);
-    return AO_INPROGRESS;
-}
-
 /*
  * Local variables:
  * mode: C
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_create.c	Tue May 22 16:34:43 2012 +0100
@@ -242,6 +242,7 @@ static int init_console_info(libxl__devi
         return ERROR_NOMEM;
     return 0;
 }
+
 int libxl__domain_build(libxl__gc *gc,
                         libxl_domain_build_info *info,
                         uint32_t domid,
@@ -290,17 +291,18 @@ int libxl__domain_build(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
+
         break;
     default:
         ret = ERROR_INVAL;
@@ -346,16 +348,16 @@ static int domain_restore(libxl__gc *gc,
         vments[i++] = "image/ostype";
         vments[i++] = "linux";
         vments[i++] = "image/kernel";
-        vments[i++] = (char*) info->u.pv.kernel.path;
+        vments[i++] = (char *) state->pv_kernel.path;
         vments[i++] = "start_time";
         vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (info->u.pv.ramdisk.path) {
+        if (state->pv_ramdisk.path) {
             vments[i++] = "image/ramdisk";
-            vments[i++] = (char*) info->u.pv.ramdisk.path;
+            vments[i++] = (char *) state->pv_ramdisk.path;
         }
-        if (info->u.pv.cmdline) {
+        if (state->pv_cmdline) {
             vments[i++] = "image/cmdline";
-            vments[i++] = (char*) info->u.pv.cmdline;
+            vments[i++] = (char *) state->pv_cmdline;
         }
         break;
     default:
@@ -374,8 +376,8 @@ static int domain_restore(libxl__gc *gc,
 
 out:
     if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&info->u.pv.kernel);
-        libxl__file_reference_unmap(&info->u.pv.ramdisk);
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
     }
 
     esave = errno;
@@ -625,16 +627,21 @@ static void initiate_domain_create(libxl
     libxl_device_disk *bootdisk =
         d_config->num_disks > 0 ? &d_config->disks[0] : NULL;
 
-    if (restore_fd < 0 && bootdisk) {
+    if (restore_fd >= 0) {
+        LOG(DEBUG, "restoring, not running bootloader\n");
+        domcreate_bootloader_done(egc, &dcs->bl, 0);
+    } else  {
+        LOG(DEBUG, "running bootloader");
         dcs->bl.callback = domcreate_bootloader_done;
         dcs->bl.console_available = domcreate_bootloader_console_available;
-        dcs->bl.info = &d_config->b_info,
+        dcs->bl.info = &d_config->b_info;
         dcs->bl.disk = bootdisk;
         dcs->bl.domid = dcs->guest_domid;
-            
+
+        dcs->bl.kernel = &dcs->build_state.pv_kernel;
+        dcs->bl.ramdisk = &dcs->build_state.pv_ramdisk;
+
         libxl__bootloader_run(egc, &dcs->bl);
-    } else {
-        domcreate_bootloader_done(egc, &dcs->bl, 0);
     }
     return;
 
@@ -675,6 +682,11 @@ static void domcreate_bootloader_done(li
 
     if (ret) goto error_out;
 
+    /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
+     * been initialised by the bootloader already.
+     */
+    state->pv_cmdline = bl->cmdline;
+
     /* We might be going to call libxl__spawn_local_dm, or _spawn_stub_dm.
      * Fill in any field required by either, including both relevant
      * callbacks (_spawn_stub_dm will overwrite our trespass if needed). */
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Tue May 22 16:34:43 2012 +0100
@@ -715,10 +715,6 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->b_info.max_memkb = 32 * 1024;
     dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
 
-    dm_config->b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz",
-                                              libxl__xenfirmwaredir_path());
-    dm_config->b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
-    dm_config->b_info.u.pv.ramdisk.path = "";
     dm_config->b_info.u.pv.features = "";
 
     dm_config->b_info.device_model_version =
@@ -746,6 +742,11 @@ void libxl__spawn_stub_dm(libxl__egc *eg
     dm_config->vkbs = &vkb;
     dm_config->num_vkbs = 1;
 
+    stubdom_state->pv_kernel.path
+        = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
+    stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
+    stubdom_state->pv_ramdisk.path = "";
+
     /* fixme: this function can leak the stubdom if it fails */
     ret = libxl__domain_make(gc, &dm_config->c_info, &sdss->pvqemu.guest_domid);
     if (ret)
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 22 16:34:43 2012 +0100
@@ -234,36 +234,37 @@ int libxl__build_pv(libxl__gc *gc, uint3
 
     xc_dom_loginit(ctx->xch);
 
-    dom = xc_dom_allocate(ctx->xch, info->u.pv.cmdline, info->u.pv.features);
+    dom = xc_dom_allocate(ctx->xch, state->pv_cmdline, info->u.pv.features);
     if (!dom) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_allocate failed");
         return ERROR_FAIL;
     }
 
-    if (info->u.pv.kernel.mapped) {
+    LOG(INFO, "pv kernel mapped %d path %s\n", state->pv_kernel.mapped, state->pv_kernel.path);
+    if (state->pv_kernel.mapped) {
         ret = xc_dom_kernel_mem(dom,
-                                info->u.pv.kernel.data,
-                                info->u.pv.kernel.size);
+                                state->pv_kernel.data,
+                                state->pv_kernel.size);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_mem failed");
             goto out;
         }
     } else {
-        ret = xc_dom_kernel_file(dom, info->u.pv.kernel.path);
+        ret = xc_dom_kernel_file(dom, state->pv_kernel.path);
         if ( ret != 0) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_kernel_file failed");
             goto out;
         }
     }
 
-    if ( info->u.pv.ramdisk.path && strlen(info->u.pv.ramdisk.path) ) {
-        if (info->u.pv.ramdisk.mapped) {
-            if ( (ret = xc_dom_ramdisk_mem(dom, info->u.pv.ramdisk.data, info->u.pv.ramdisk.size)) != 0 ) {
+    if ( state->pv_ramdisk.path && strlen(state->pv_ramdisk.path) ) {
+        if (state->pv_ramdisk.mapped) {
+            if ( (ret = xc_dom_ramdisk_mem(dom, state->pv_ramdisk.data, state->pv_ramdisk.size)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_mem failed");
                 goto out;
             }
         } else {
-            if ( (ret = xc_dom_ramdisk_file(dom, info->u.pv.ramdisk.path)) != 0 ) {
+            if ( (ret = xc_dom_ramdisk_file(dom, state->pv_ramdisk.path)) != 0 ) {
                 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xc_dom_ramdisk_file failed");
                 goto out;
             }
@@ -308,6 +309,9 @@ int libxl__build_pv(libxl__gc *gc, uint3
     state->console_mfn = xc_dom_p2m_host(dom, dom->console_pfn);
     state->store_mfn = xc_dom_p2m_host(dom, dom->xenstore_pfn);
 
+    libxl__file_reference_unmap(&state->pv_kernel);
+    libxl__file_reference_unmap(&state->pv_ramdisk);
+
     ret = 0;
 out:
     xc_dom_release(dom);
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_internal.c
--- a/tools/libxl/libxl_internal.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_internal.c	Tue May 22 16:34:43 2012 +0100
@@ -216,7 +216,7 @@ char *libxl__abs_path(libxl__gc *gc, con
 }
 
 
-int libxl__file_reference_map(libxl_file_reference *f)
+int libxl__file_reference_map(libxl__file_reference *f)
 {
     struct stat st_buf;
     int ret, fd;
@@ -249,7 +249,7 @@ out:
     return ret == 0 ? 0 : ERROR_FAIL;
 }
 
-int libxl__file_reference_unmap(libxl_file_reference *f)
+int libxl__file_reference_unmap(libxl__file_reference *f)
 {
     int ret;
 
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 22 16:34:43 2012 +0100
@@ -713,6 +713,20 @@ int libxl__self_pipe_eatall(int fd); /* 
 _hidden int libxl__atfork_init(libxl_ctx *ctx);
 
 
+/* File references */
+typedef struct {
+    /*
+     * Path is always set if the file reference is valid. However if
+     * mapped is true then the actual file may already be unlinked.
+     */
+    const char * path;
+    int mapped;
+    void * data;
+    size_t size;
+} libxl__file_reference;
+_hidden int libxl__file_reference_map(libxl__file_reference *f);
+_hidden int libxl__file_reference_unmap(libxl__file_reference *f);
+
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
@@ -731,6 +745,10 @@ typedef struct {
     unsigned long vm_generationid_addr;
 
     char *saved_state;
+
+    libxl__file_reference pv_kernel;
+    libxl__file_reference pv_ramdisk;
+    const char * pv_cmdline;
 } libxl__domain_build_state;
 
 _hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
@@ -1249,9 +1267,6 @@ struct libxl__xen_console_reader {
 
 _hidden int libxl__error_set(libxl__gc *gc, int code);
 
-_hidden int libxl__file_reference_map(libxl_file_reference *f);
-_hidden int libxl__file_reference_unmap(libxl_file_reference *f);
-
 _hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
 
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
@@ -1764,9 +1779,17 @@ struct libxl__bootloader_state {
     libxl__ao *ao;
     libxl__run_bootloader_callback *callback;
     libxl__bootloader_console_callback *console_available;
-    libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
+    const libxl_domain_build_info *info;
     libxl_device_disk *disk;
     uint32_t domid;
+    /* outputs:
+     *  - caller must initialise kernel and ramdisk to point to file
+     *    references, these will be updated and mapped;
+     *  - caller must initialise cmdline to NULL, it will be updated with a
+     *    string allocated from the gc;
+     */
+    libxl__file_reference *kernel, *ramdisk;
+    const char *cmdline;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
     char *diskpath; /* not from gc, represents actually attached disk */
@@ -1810,7 +1833,6 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
-
 /*
  * Convenience macros.
  */
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_json.c	Tue May 22 16:34:43 2012 +0100
@@ -252,15 +252,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p)
-{
-    if (p->path)
-        return libxl__yajl_gen_asciiz(hand, p->path);
-    else
-        return yajl_gen_null(hand);
-}
-
 yajl_gen_status libxl__string_gen_json(yajl_gen hand,
                                        const char *p)
 {
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_json.h	Tue May 22 16:34:43 2012 +0100
@@ -32,8 +32,6 @@ yajl_gen_status libxl_cpuid_policy_list_
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *p);
-yajl_gen_status libxl_file_reference_gen_json(yajl_gen hand,
-                                              libxl_file_reference *p);
 yajl_gen_status libxl_hwcap_gen_json(yajl_gen hand, libxl_hwcap *p);
 
 #include <_libxl_types_json.h>
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 22 16:34:43 2012 +0100
@@ -15,8 +15,6 @@ libxl_cpuid_policy_list = Builtin("cpuid
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
 libxl_key_value_list = Builtin("key_value_list", dispose_fn="libxl_key_value_list_dispose", passby=PASS_BY_REFERENCE)
-libxl_file_reference = Builtin("file_reference", dispose_fn="libxl_file_reference_dispose", passby=PASS_BY_REFERENCE)
-
 libxl_hwcap = Builtin("hwcap", passby=PASS_BY_REFERENCE)
 
 #
@@ -236,11 +234,6 @@ libxl_sched_domain_params = Struct("sche
     ("extratime",    integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
-# Instances of libxl_file_reference contained in this struct which
-# have been mapped (with libxl_file_reference_map) will be unmapped
-# by libxl_domain_build/restore. If either of these are never called
-# then the user is responsible for calling
-# libxl_file_reference_unmap.
 libxl_domain_build_info = Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("cur_vcpus",       integer),
@@ -306,12 +299,12 @@ libxl_domain_build_info = Struct("domain
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ])),
-                 ("pv", Struct(None, [("kernel", libxl_file_reference),
+                 ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
                                       ("bootloader", string),
                                       ("bootloader_args", libxl_string_list),
                                       ("cmdline", string),
-                                      ("ramdisk", libxl_file_reference),
+                                      ("ramdisk", string),
                                       ("features", string, {'const': True}),
                                       # Use host's E820 for PCI passthrough.
                                       ("e820_host", libxl_defbool),
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 22 16:34:43 2012 +0100
@@ -840,7 +840,7 @@ static void parse_config_data(const char
         char *cmdline = NULL;
         const char *root = NULL, *extra = "";
 
-        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel.path, 0);
+        xlu_cfg_replace_string (config, "kernel", &b_info->u.pv.kernel, 0);
 
         xlu_cfg_get_string (config, "root", &root, 0);
         xlu_cfg_get_string (config, "extra", &extra, 0);
@@ -879,13 +879,13 @@ static void parse_config_data(const char
             exit(-ERROR_FAIL);
         }
 
-        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel.path) {
+        if (!b_info->u.pv.bootloader && !b_info->u.pv.kernel) {
             fprintf(stderr, "Neither kernel nor bootloader specified\n");
             exit(1);
         }
 
         b_info->u.pv.cmdline = cmdline;
-        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk.path, 0);
+        xlu_cfg_replace_string (config, "ramdisk", &b_info->u.pv.ramdisk, 0);
         break;
     }
     default:
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Tue May 22 16:34:43 2012 +0100
@@ -146,9 +146,9 @@ void printf_info_sexp(int domid, libxl_d
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         printf("\t\t(linux %d)\n", 0);
-        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel.path);
+        printf("\t\t\t(kernel %s)\n", b_info->u.pv.kernel);
         printf("\t\t\t(cmdline %s)\n", b_info->u.pv.cmdline);
-        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk.path);
+        printf("\t\t\t(ramdisk %s)\n", b_info->u.pv.ramdisk);
         printf("\t\t\t(e820_host %s)\n",
                libxl_defbool_to_string(b_info->u.pv.e820_host));
         printf("\t\t)\n");
diff -r 3c037497eb3c -r e2a5e4fcfd29 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Tue May 22 16:15:07 2012 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Tue May 22 16:34:43 2012 +0100
@@ -243,11 +243,6 @@ int attrib__libxl_cpumap_set(PyObject *v
     return 0;
 }
 
-int attrib__libxl_file_reference_set(PyObject *v, libxl_file_reference *pptr)
-{
-    return genwrap__string_set(v, &pptr->path);
-}
-
 int attrib__libxl_hwcap_set(PyObject *v, libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Setting hwcap");
@@ -315,11 +310,6 @@ PyObject *attrib__libxl_cpumap_get(libxl
     return cpulist;
 }
 
-PyObject *attrib__libxl_file_reference_get(libxl_file_reference *pptr)
-{
-    return genwrap__string_get(&pptr->path);
-}
-
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:38:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:38:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrAX-0001eM-OK; Tue, 22 May 2012 15:38:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWrAW-0001eG-EF
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:38:40 +0000
Received: from [85.158.143.99:14000] by server-3.bemta-4.messagelabs.com id
	B2/A6-05853-FF2BBBF4; Tue, 22 May 2012 15:38:39 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337701118!21716512!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31586 invoked from network); 22 May 2012 15:38:38 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:38:38 -0000
Received: by lahc1 with SMTP id c1so5541023lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 08:38:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=/+xgo3Qfe/Vl+u3Azc8s/JaXaCsRyS93kPaiyx0Hk18=;
	b=tIw99NIIIyP6lahNyZsanyjLSc8olcn7KL1KQl4ypsbbLqK8dcX8EHYpJVopXVr+Pk
	rgfYSX+yKDo4RI6lng7RArBdS/dSRnZSYvy+9J5fkiq67vzFlYOaEtN1qez/I0c1Hk0u
	r4O9AZ6CLU3aPToogkTxkvJRgrfaHh63McWKhc3bq27IpCZ++KV2HVXGBqeVlVDzybvW
	971ReXBxHcIg0LWfeB637xB8wwfk2kLZE5pS7ju9DVIrWBIqudD46dPWDtjTaeM1iqiC
	BXkaKuZW45ZxncVrzL+LwxDbKyBfF2GqQKsHvuha8/wKmymCe0B+b6k2w9KTRIZx5gOg
	eITA==
MIME-Version: 1.0
Received: by 10.152.148.199 with SMTP id tu7mr23585898lab.43.1337701117619;
	Tue, 22 May 2012 08:38:37 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 08:38:37 -0700 (PDT)
In-Reply-To: <CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
Date: Tue, 22 May 2012 11:38:37 -0400
X-Google-Sender-Auth: p_Qfjp2Wl_EfhzL7LFOYUlHjf_w
Message-ID: <CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

hmm...maintaining the serial console connection during a suspend /
resume seems to have been added sometime in the 4.2 development
timeframe.
Older changesets seem to just reboot on me, without much output.
This makes determining if it is the same crash rather problematic.


The crash against the unstable tip appears to be happening in the
VCPUOP_stop_periodic_timer case of the
do_vcpu_op() function

by the time it gets down to _csched_cpu_pick() - it asserts on the
first part of the ASSERT below:

    online = cpupool_scheduler_cpumask(vc->domain->cpupool);
    cpumask_and(&cpus, online, vc->cpu_affinity);
    cpu = cpumask_test_cpu(vc->processor, &cpus)
            ? vc->processor
            : cpumask_cycle(vc->processor, &cpus);
    ASSERT( !cpumask_empty(&cpus) && cpumask_test_cpu(cpu, &cpus) );


...but I'm not terribly familiar with the proper operations of these code paths



I still suspect this is something my dom0 kernel is doing incorrectly,
but I don't have much to back that up other than a gut feeling.


Any advice / pointers are appreciated.

/btg
On Mon, May 21, 2012 at 3:49 PM, Ben Guthro <ben@guthro.net> wrote:
>> On Mon, May 21, 2012 at 10:55 AM, Jan Beulich <JBeulich@suse.com> wrote:
>> Anything known regarding 4.1.x?
>
> Well, it looks like this happens without any of our patches - so that
> may make bisecting much easier.
> I'll try to get some more information.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:38:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:38:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrAX-0001eM-OK; Tue, 22 May 2012 15:38:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWrAW-0001eG-EF
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:38:40 +0000
Received: from [85.158.143.99:14000] by server-3.bemta-4.messagelabs.com id
	B2/A6-05853-FF2BBBF4; Tue, 22 May 2012 15:38:39 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337701118!21716512!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31586 invoked from network); 22 May 2012 15:38:38 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:38:38 -0000
Received: by lahc1 with SMTP id c1so5541023lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 08:38:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=/+xgo3Qfe/Vl+u3Azc8s/JaXaCsRyS93kPaiyx0Hk18=;
	b=tIw99NIIIyP6lahNyZsanyjLSc8olcn7KL1KQl4ypsbbLqK8dcX8EHYpJVopXVr+Pk
	rgfYSX+yKDo4RI6lng7RArBdS/dSRnZSYvy+9J5fkiq67vzFlYOaEtN1qez/I0c1Hk0u
	r4O9AZ6CLU3aPToogkTxkvJRgrfaHh63McWKhc3bq27IpCZ++KV2HVXGBqeVlVDzybvW
	971ReXBxHcIg0LWfeB637xB8wwfk2kLZE5pS7ju9DVIrWBIqudD46dPWDtjTaeM1iqiC
	BXkaKuZW45ZxncVrzL+LwxDbKyBfF2GqQKsHvuha8/wKmymCe0B+b6k2w9KTRIZx5gOg
	eITA==
MIME-Version: 1.0
Received: by 10.152.148.199 with SMTP id tu7mr23585898lab.43.1337701117619;
	Tue, 22 May 2012 08:38:37 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 08:38:37 -0700 (PDT)
In-Reply-To: <CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
Date: Tue, 22 May 2012 11:38:37 -0400
X-Google-Sender-Auth: p_Qfjp2Wl_EfhzL7LFOYUlHjf_w
Message-ID: <CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

hmm...maintaining the serial console connection during a suspend /
resume seems to have been added sometime in the 4.2 development
timeframe.
Older changesets seem to just reboot on me, without much output.
This makes determining if it is the same crash rather problematic.


The crash against the unstable tip appears to be happening in the
VCPUOP_stop_periodic_timer case of the
do_vcpu_op() function

by the time it gets down to _csched_cpu_pick() - it asserts on the
first part of the ASSERT below:

    online = cpupool_scheduler_cpumask(vc->domain->cpupool);
    cpumask_and(&cpus, online, vc->cpu_affinity);
    cpu = cpumask_test_cpu(vc->processor, &cpus)
            ? vc->processor
            : cpumask_cycle(vc->processor, &cpus);
    ASSERT( !cpumask_empty(&cpus) && cpumask_test_cpu(cpu, &cpus) );


...but I'm not terribly familiar with the proper operations of these code paths



I still suspect this is something my dom0 kernel is doing incorrectly,
but I don't have much to back that up other than a gut feeling.


Any advice / pointers are appreciated.

/btg
On Mon, May 21, 2012 at 3:49 PM, Ben Guthro <ben@guthro.net> wrote:
>> On Mon, May 21, 2012 at 10:55 AM, Jan Beulich <JBeulich@suse.com> wrote:
>> Anything known regarding 4.1.x?
>
> Well, it looks like this happens without any of our patches - so that
> may make bisecting much easier.
> I'll try to get some more information.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:56:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:56:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrRJ-00020E-TX; Tue, 22 May 2012 15:56:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWrRI-000209-AE
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:56:00 +0000
Received: from [193.109.254.147:23048] by server-2.bemta-14.messagelabs.com id
	49/E1-19409-F07BBBF4; Tue, 22 May 2012 15:55:59 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337702157!6330160!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1727 invoked from network); 22 May 2012 15:55:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:55:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196031973"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:55:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:55:28 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWrQl-0005ED-Vi;
	Tue, 22 May 2012 16:55:28 +0100
Message-ID: <4FBBB6F4.6020404@citrix.com>
Date: Tue, 22 May 2012 16:55:32 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
In-Reply-To: <20411.44130.574284.772580@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
	libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
>> Introduce a new structure to track state of device backends, that will
>> be used in following patches on this series.
>>
>> This structure if used for both device creation and device
>> destruction and removes libxl__ao_device_remove.
>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index ae5527b..b62110a 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
>> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
> ...
>> +/* Device AO operations */
>>
>> -typedef struct {
>> -    libxl__ao *ao;
>> -    libxl__ev_devstate ds;
>> -} libxl__ao_device_remove;
>> +void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
>> +                           libxl__ao_device **base)
>> +{
>> +    aorm->ao = ao;
>> +    aorm->active = 1;
>> +    aorm->rc = 0;
>> +    aorm->base = base;
>> +}
>
> I think a function "init" should set "active" to 0, surely ?
> Since the operation has not in fact been started.  So perhaps this
> should just be a memset.

Forget to answer this, we cannot use active = 0 at init because in the 
hypothetical case that a device add/remove finished before queuing all 
the others (so the others would be active == 0) it would mark the ao as 
complete, since it would see all other operations as finished.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 15:56:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 15:56:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrRJ-00020E-TX; Tue, 22 May 2012 15:56:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWrRI-000209-AE
	for xen-devel@lists.xen.org; Tue, 22 May 2012 15:56:00 +0000
Received: from [193.109.254.147:23048] by server-2.bemta-14.messagelabs.com id
	49/E1-19409-F07BBBF4; Tue, 22 May 2012 15:55:59 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337702157!6330160!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1727 invoked from network); 22 May 2012 15:55:58 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 15:55:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196031973"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 11:55:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 11:55:28 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWrQl-0005ED-Vi;
	Tue, 22 May 2012 16:55:28 +0100
Message-ID: <4FBBB6F4.6020404@citrix.com>
Date: Tue, 22 May 2012 16:55:32 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
In-Reply-To: <20411.44130.574284.772580@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
	libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
>> Introduce a new structure to track state of device backends, that will
>> be used in following patches on this series.
>>
>> This structure if used for both device creation and device
>> destruction and removes libxl__ao_device_remove.
>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index ae5527b..b62110a 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
>> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
> ...
>> +/* Device AO operations */
>>
>> -typedef struct {
>> -    libxl__ao *ao;
>> -    libxl__ev_devstate ds;
>> -} libxl__ao_device_remove;
>> +void libxl__init_ao_device(libxl__ao_device *aorm, libxl__ao *ao,
>> +                           libxl__ao_device **base)
>> +{
>> +    aorm->ao = ao;
>> +    aorm->active = 1;
>> +    aorm->rc = 0;
>> +    aorm->base = base;
>> +}
>
> I think a function "init" should set "active" to 0, surely ?
> Since the operation has not in fact been started.  So perhaps this
> should just be a memset.

Forget to answer this, we cannot use active = 0 at init because in the 
hypothetical case that a device add/remove finished before queuing all 
the others (so the others would be active == 0) it would mark the ao as 
complete, since it would see all other operations as finished.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:08:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:08:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrd7-0002bh-Hs; Tue, 22 May 2012 16:08:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWrd5-0002ba-Gk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:08:11 +0000
Received: from [193.109.254.147:53671] by server-7.bemta-14.messagelabs.com id
	FF/BE-01627-AE9BBBF4; Tue, 22 May 2012 16:08:10 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337702889!10275155!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31510 invoked from network); 22 May 2012 16:08:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 16:08:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 17:08:09 +0100
Message-Id: <4FBBD629020000780008538C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 17:08:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
In-Reply-To: <CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
> I still suspect this is something my dom0 kernel is doing incorrectly,
> but I don't have much to back that up other than a gut feeling.

If the Dom0 kernel can affect the scheduler in this way, then
quite likely a DomU kernel can too. And even if not, it's still a
problem - the scheduler just shouldn't be susceptible.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:08:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:08:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrd7-0002bh-Hs; Tue, 22 May 2012 16:08:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SWrd5-0002ba-Gk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:08:11 +0000
Received: from [193.109.254.147:53671] by server-7.bemta-14.messagelabs.com id
	FF/BE-01627-AE9BBBF4; Tue, 22 May 2012 16:08:10 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337702889!10275155!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31510 invoked from network); 22 May 2012 16:08:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 16:08:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 22 May 2012 17:08:09 +0100
Message-Id: <4FBBD629020000780008538C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 22 May 2012 17:08:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
In-Reply-To: <CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
> I still suspect this is something my dom0 kernel is doing incorrectly,
> but I don't have much to back that up other than a gut feeling.

If the Dom0 kernel can affect the scheduler in this way, then
quite likely a DomU kernel can too. And even if not, it's still a
problem - the scheduler just shouldn't be susceptible.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrex-0002hS-2o; Tue, 22 May 2012 16:10:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWrev-0002hN-Q2
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 16:10:06 +0000
Received: from [85.158.143.35:28901] by server-3.bemta-4.messagelabs.com id
	41/6B-05853-D5ABBBF4; Tue, 22 May 2012 16:10:05 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337703002!14180253!1
X-Originating-IP: [216.32.181.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6455 invoked from network); 22 May 2012 16:10:04 -0000
Received: from ch1ehsobe001.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.181)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 16:10:04 -0000
Received: from mail184-ch1-R.bigfish.com (10.43.68.248) by
	CH1EHSOBE011.bigfish.com (10.43.70.61) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 16:09:48 +0000
Received: from mail184-ch1 (localhost [127.0.0.1])	by
	mail184-ch1-R.bigfish.com (Postfix) with ESMTP id 11D7C4E042F;
	Tue, 22 May 2012 16:09:48 +0000 (UTC)
X-SpamScore: 0
X-BigFish: VPS0(zzc85dhzz1202hzzz2dh668h839hd25he5bhf0ah34h)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail184-ch1 (localhost.localdomain [127.0.0.1]) by mail184-ch1
	(MessageSwitch) id 1337702985422323_31717;
	Tue, 22 May 2012 16:09:45 +0000 (UTC)
Received: from CH1EHSMHS011.bigfish.com (snatpool3.int.messaging.microsoft.com
	[10.43.68.229])	by mail184-ch1.bigfish.com (Postfix) with ESMTP id
	5914C400AB;	Tue, 22 May 2012 16:09:45 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS011.bigfish.com (10.43.70.11) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 16:09:43 +0000
X-WSS-ID: 0M4FM8K-02-45V-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2810DC80AB;	Tue, 22 May 2012 11:09:56 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 11:10:05 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 11:09:56 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	12:09:55 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 68D3949C145; Tue, 22 May 2012
	17:09:54 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 3B8405940FF; Tue, 22 May 2012
	18:09:54 +0200 (CEST)
Message-ID: <4FBBB9AF.6020704@amd.com>
Date: Tue, 22 May 2012 18:07:11 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@novell.com>, Jeremy Fitzhardinge <jeremy@goop.org>
Content-Type: multipart/mixed; boundary="------------050004060407060101060807"
X-OriginatorOrg: amd.com
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in PV
	kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------050004060407060101060807
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

while testing some APERF/MPERF semantics I discovered that this feature 
is enabled in Xen Dom0, but is not reliable.
The Linux kernel's scheduler uses this feature if it sees the CPUID bit, 
leading to costly RDMSR traps (a few 100,000s during a kernel compile) 
and bogus values due to VCPU migration during the measurement.
The attached patch explicitly disables this CPU capability inside the 
Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the 
patch applied.
I am not sure if the PVOPS code is the right place to fix this, we could 
as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
Also when the Dom0 VCPUs are pinned, we could allow this, but I am not 
sure if it's worth to do so.

Awaiting your comments.

Regards,
Andre.

P.S. Of course this doesn't fix pure userland software like cpupower, 
but I would consider this in the user's responsibility to not use these 
tools in Dom0, but instead use xenpm.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany

--------------050004060407060101060807
Content-Type: text/x-patch; name="xenpv_aperfmperf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xenpv_aperfmperf.patch"
Content-Description: xenpv_aperfmperf.patch

commit e802e47d85314b4541288e4a19d057e2ea885a28
Author: Andre Przywara <andre.przywara@amd.com>
Date:   Tue May 22 15:13:07 2012 +0200

    filter APERFMPERF feature in Xen to avoid kernel internal usage
    
    Signed-off-by: Andre Przywara <andre.przywara@amd.com>

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 95dccce..71252d5 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -240,6 +240,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
 		*dx = cpuid_leaf5_edx_val;
 		return;
 
+	case 6:
+		/* Disabling APERFMPERF for kernel usage */
+		maskecx = ~(1U << 0);
+		break;
+
 	case 0xb:
 		/* Suppress extended topology stuff */
 		maskebx = 0;

--------------050004060407060101060807
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------050004060407060101060807--


From xen-devel-bounces@lists.xen.org Tue May 22 16:10:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrex-0002hS-2o; Tue, 22 May 2012 16:10:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWrev-0002hN-Q2
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 16:10:06 +0000
Received: from [85.158.143.35:28901] by server-3.bemta-4.messagelabs.com id
	41/6B-05853-D5ABBBF4; Tue, 22 May 2012 16:10:05 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337703002!14180253!1
X-Originating-IP: [216.32.181.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6455 invoked from network); 22 May 2012 16:10:04 -0000
Received: from ch1ehsobe001.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.181)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 16:10:04 -0000
Received: from mail184-ch1-R.bigfish.com (10.43.68.248) by
	CH1EHSOBE011.bigfish.com (10.43.70.61) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 16:09:48 +0000
Received: from mail184-ch1 (localhost [127.0.0.1])	by
	mail184-ch1-R.bigfish.com (Postfix) with ESMTP id 11D7C4E042F;
	Tue, 22 May 2012 16:09:48 +0000 (UTC)
X-SpamScore: 0
X-BigFish: VPS0(zzc85dhzz1202hzzz2dh668h839hd25he5bhf0ah34h)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail184-ch1 (localhost.localdomain [127.0.0.1]) by mail184-ch1
	(MessageSwitch) id 1337702985422323_31717;
	Tue, 22 May 2012 16:09:45 +0000 (UTC)
Received: from CH1EHSMHS011.bigfish.com (snatpool3.int.messaging.microsoft.com
	[10.43.68.229])	by mail184-ch1.bigfish.com (Postfix) with ESMTP id
	5914C400AB;	Tue, 22 May 2012 16:09:45 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS011.bigfish.com (10.43.70.11) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 16:09:43 +0000
X-WSS-ID: 0M4FM8K-02-45V-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2810DC80AB;	Tue, 22 May 2012 11:09:56 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 11:10:05 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 11:09:56 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	12:09:55 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 68D3949C145; Tue, 22 May 2012
	17:09:54 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 3B8405940FF; Tue, 22 May 2012
	18:09:54 +0200 (CEST)
Message-ID: <4FBBB9AF.6020704@amd.com>
Date: Tue, 22 May 2012 18:07:11 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@novell.com>, Jeremy Fitzhardinge <jeremy@goop.org>
Content-Type: multipart/mixed; boundary="------------050004060407060101060807"
X-OriginatorOrg: amd.com
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in PV
	kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------050004060407060101060807
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

while testing some APERF/MPERF semantics I discovered that this feature 
is enabled in Xen Dom0, but is not reliable.
The Linux kernel's scheduler uses this feature if it sees the CPUID bit, 
leading to costly RDMSR traps (a few 100,000s during a kernel compile) 
and bogus values due to VCPU migration during the measurement.
The attached patch explicitly disables this CPU capability inside the 
Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the 
patch applied.
I am not sure if the PVOPS code is the right place to fix this, we could 
as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
Also when the Dom0 VCPUs are pinned, we could allow this, but I am not 
sure if it's worth to do so.

Awaiting your comments.

Regards,
Andre.

P.S. Of course this doesn't fix pure userland software like cpupower, 
but I would consider this in the user's responsibility to not use these 
tools in Dom0, but instead use xenpm.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany

--------------050004060407060101060807
Content-Type: text/x-patch; name="xenpv_aperfmperf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xenpv_aperfmperf.patch"
Content-Description: xenpv_aperfmperf.patch

commit e802e47d85314b4541288e4a19d057e2ea885a28
Author: Andre Przywara <andre.przywara@amd.com>
Date:   Tue May 22 15:13:07 2012 +0200

    filter APERFMPERF feature in Xen to avoid kernel internal usage
    
    Signed-off-by: Andre Przywara <andre.przywara@amd.com>

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 95dccce..71252d5 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -240,6 +240,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
 		*dx = cpuid_leaf5_edx_val;
 		return;
 
+	case 6:
+		/* Disabling APERFMPERF for kernel usage */
+		maskecx = ~(1U << 0);
+		break;
+
 	case 0xb:
 		/* Suppress extended topology stuff */
 		maskebx = 0;

--------------050004060407060101060807
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------050004060407060101060807--


From xen-devel-bounces@lists.xen.org Tue May 22 16:18:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:18:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrmy-0002wv-D4; Tue, 22 May 2012 16:18:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWrmx-0002wq-8Z
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:18:23 +0000
Received: from [85.158.139.83:24932] by server-9.bemta-5.messagelabs.com id
	14/24-18212-E4CBBBF4; Tue, 22 May 2012 16:18:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337703500!29758601!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12985 invoked from network); 22 May 2012 16:18:20 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-182.messagelabs.com with SMTP;
	22 May 2012 16:18:20 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78077073; Tue, 22 May 2012 18:18:20 +0200
Message-ID: <1337703493.27368.18.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 22 May 2012 18:18:13 +0200
In-Reply-To: <1337699271.10118.140.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7212157207612942622=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7212157207612942622==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-9IqIBB53Vs9ZQUxjw29P"


--=-9IqIBB53Vs9ZQUxjw29P
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 16:07 +0100, Ian Campbell wrote:
> > > I did, I guess we need to check that all callers can cope with this n=
ew
> > > return value though?
> > >=20
> > Sure, that was only to be sure I got what you were saying. :-)
> >=20
> > What I'm not getting right now is whether or not a proper patch doing
> > such is still interesting or not? Also, how come am I almost the only
> > one seeing that issue? Does it relate to gcc version? :-O
>=20
> There's been a handful of other reports this week. It does seem to be to
> do with gcc version, yes.
>=20
Ok then, I didn't notice that. I went through the callers and they seem
to be fine with the change, as the return type of the function is pretty
much always converted to the enum (i.e., libxl_domain_type) and used in
a switch with a proper 'default' clause, in case they care about
something different from _HVM or _PV.

So, the below is what I'm using to build (and run) these days... Or was
it something different that you meant when saying "check that all
callers can cope with this" ?

(I can repost as a separate mail if wanted)

Dario

8<---------------------------

libxl: make libxl__domain_type return 'int'

To avoid gcc > 4.6.3  complaining about:

libxl.c: In function =E2=80=98libxl_primary_console_exec=E2=80=99:
libxl.c:1233:9: error: case value =E2=80=984294967295=E2=80=99 not in enume=
rated type =E2=80=98libxl_domain_type=E2=80=99 [-Werror=3Dswitch]

Callers have been checked and are fine with the change.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff -r 6dc80df50fa8 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Tue May 22 18:06:41 2012 +0200
@@ -25,7 +25,7 @@
=20
 #include "libxl_internal.h"
=20
-libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid)
+int libxl__domain_type(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx =3D libxl__gc_owner(gc);
     xc_domaininfo_t info;
diff -r 6dc80df50fa8 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_internal.h	Tue May 22 18:06:41 2012 +0200
@@ -714,7 +714,7 @@ int libxl__self_pipe_eatall(int fd); /*=20
=20
=20
 /* from xl_dom */
-_hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid=
);
+_hidden int libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_s=
ched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \


--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-9IqIBB53Vs9ZQUxjw29P
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+7vEUACgkQk4XaBE3IOsTbZwCdGEecAF9c8wdi98EC6+fD8aze
HKYAnjtXaVQeChUyEdmDHfsIf7oek5rJ
=XNCd
-----END PGP SIGNATURE-----

--=-9IqIBB53Vs9ZQUxjw29P--



--===============7212157207612942622==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7212157207612942622==--



From xen-devel-bounces@lists.xen.org Tue May 22 16:18:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:18:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrmy-0002wv-D4; Tue, 22 May 2012 16:18:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWrmx-0002wq-8Z
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:18:23 +0000
Received: from [85.158.139.83:24932] by server-9.bemta-5.messagelabs.com id
	14/24-18212-E4CBBBF4; Tue, 22 May 2012 16:18:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337703500!29758601!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12985 invoked from network); 22 May 2012 16:18:20 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-182.messagelabs.com with SMTP;
	22 May 2012 16:18:20 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78077073; Tue, 22 May 2012 18:18:20 +0200
Message-ID: <1337703493.27368.18.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 22 May 2012 18:18:13 +0200
In-Reply-To: <1337699271.10118.140.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7212157207612942622=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7212157207612942622==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-9IqIBB53Vs9ZQUxjw29P"


--=-9IqIBB53Vs9ZQUxjw29P
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 16:07 +0100, Ian Campbell wrote:
> > > I did, I guess we need to check that all callers can cope with this n=
ew
> > > return value though?
> > >=20
> > Sure, that was only to be sure I got what you were saying. :-)
> >=20
> > What I'm not getting right now is whether or not a proper patch doing
> > such is still interesting or not? Also, how come am I almost the only
> > one seeing that issue? Does it relate to gcc version? :-O
>=20
> There's been a handful of other reports this week. It does seem to be to
> do with gcc version, yes.
>=20
Ok then, I didn't notice that. I went through the callers and they seem
to be fine with the change, as the return type of the function is pretty
much always converted to the enum (i.e., libxl_domain_type) and used in
a switch with a proper 'default' clause, in case they care about
something different from _HVM or _PV.

So, the below is what I'm using to build (and run) these days... Or was
it something different that you meant when saying "check that all
callers can cope with this" ?

(I can repost as a separate mail if wanted)

Dario

8<---------------------------

libxl: make libxl__domain_type return 'int'

To avoid gcc > 4.6.3  complaining about:

libxl.c: In function =E2=80=98libxl_primary_console_exec=E2=80=99:
libxl.c:1233:9: error: case value =E2=80=984294967295=E2=80=99 not in enume=
rated type =E2=80=98libxl_domain_type=E2=80=99 [-Werror=3Dswitch]

Callers have been checked and are fine with the change.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff -r 6dc80df50fa8 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Tue May 22 18:06:41 2012 +0200
@@ -25,7 +25,7 @@
=20
 #include "libxl_internal.h"
=20
-libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid)
+int libxl__domain_type(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx =3D libxl__gc_owner(gc);
     xc_domaininfo_t info;
diff -r 6dc80df50fa8 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_internal.h	Tue May 22 18:06:41 2012 +0200
@@ -714,7 +714,7 @@ int libxl__self_pipe_eatall(int fd); /*=20
=20
=20
 /* from xl_dom */
-_hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid=
);
+_hidden int libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_s=
ched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \


--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-9IqIBB53Vs9ZQUxjw29P
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+7vEUACgkQk4XaBE3IOsTbZwCdGEecAF9c8wdi98EC6+fD8aze
HKYAnjtXaVQeChUyEdmDHfsIf7oek5rJ
=XNCd
-----END PGP SIGNATURE-----

--=-9IqIBB53Vs9ZQUxjw29P--



--===============7212157207612942622==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7212157207612942622==--



From xen-devel-bounces@lists.xen.org Tue May 22 16:22:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:22:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrq7-000335-0G; Tue, 22 May 2012 16:21:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWrq5-00032z-3e
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:21:37 +0000
Received: from [85.158.143.99:32161] by server-2.bemta-4.messagelabs.com id
	09/77-12211-01DBBBF4; Tue, 22 May 2012 16:21:36 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337703694!19627509!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32253 invoked from network); 22 May 2012 16:21:35 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:21:35 -0000
Received: by lahc1 with SMTP id c1so5587077lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 09:21:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=YJ61Ttv5WtQ00oOoYse+29Pyrutb//Ailxyr11rwWtM=;
	b=0w45XI8mwTe/kIEedlnMN8ZPJfd3eh3+Fqo3yWo53pqfHzlvwkUT7eWx8Iun4TPe08
	4M/gYCRywaHW/a1NatDtQ//B5RfVvNNrTscoNmzHiWRb1kcakWcYSN8MqMEIOyr45uL4
	nXRpCrjlbm2ExKZ7Y+0t7XjDwrMx82n1bzMx6iJOw3/nW8R1A3ZTlEc6uepunKs4adwc
	KPDgSEFDo0X/+tphvn0GvI4R/b7m6i0Onnyn4aKgK1VsvhHG5ZxauvItIVa5z5hXgzob
	ojJdzmhtdtDg657V0Vs+xcA8aZlUHrHg+3SRh+2ZD2elMhsePF43agCNQQw4AUiFQmxb
	bsvA==
MIME-Version: 1.0
Received: by 10.152.114.106 with SMTP id jf10mr23749179lab.16.1337703680155;
	Tue, 22 May 2012 09:21:20 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 09:21:20 -0700 (PDT)
In-Reply-To: <4FBBD629020000780008538C@nat28.tlf.novell.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
Date: Tue, 22 May 2012 12:21:20 -0400
X-Google-Sender-Auth: P1DgpPojKuYJITAgO15MZQTbRo0
Message-ID: <CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

good point.

I'll continue to try to figure this out - but if you have anything
specific I can try (particular boot options, or a patch with extra
debugging in interesting areas) please let me know, as it is 100%
reproducible in my environment right now.

-Ben

On Tue, May 22, 2012 at 12:08 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
>> I still suspect this is something my dom0 kernel is doing incorrectly,
>> but I don't have much to back that up other than a gut feeling.
>
> If the Dom0 kernel can affect the scheduler in this way, then
> quite likely a DomU kernel can too. And even if not, it's still a
> problem - the scheduler just shouldn't be susceptible.
>
> Jan
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:22:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:22:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrq7-000335-0G; Tue, 22 May 2012 16:21:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWrq5-00032z-3e
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:21:37 +0000
Received: from [85.158.143.99:32161] by server-2.bemta-4.messagelabs.com id
	09/77-12211-01DBBBF4; Tue, 22 May 2012 16:21:36 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337703694!19627509!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32253 invoked from network); 22 May 2012 16:21:35 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:21:35 -0000
Received: by lahc1 with SMTP id c1so5587077lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 09:21:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=YJ61Ttv5WtQ00oOoYse+29Pyrutb//Ailxyr11rwWtM=;
	b=0w45XI8mwTe/kIEedlnMN8ZPJfd3eh3+Fqo3yWo53pqfHzlvwkUT7eWx8Iun4TPe08
	4M/gYCRywaHW/a1NatDtQ//B5RfVvNNrTscoNmzHiWRb1kcakWcYSN8MqMEIOyr45uL4
	nXRpCrjlbm2ExKZ7Y+0t7XjDwrMx82n1bzMx6iJOw3/nW8R1A3ZTlEc6uepunKs4adwc
	KPDgSEFDo0X/+tphvn0GvI4R/b7m6i0Onnyn4aKgK1VsvhHG5ZxauvItIVa5z5hXgzob
	ojJdzmhtdtDg657V0Vs+xcA8aZlUHrHg+3SRh+2ZD2elMhsePF43agCNQQw4AUiFQmxb
	bsvA==
MIME-Version: 1.0
Received: by 10.152.114.106 with SMTP id jf10mr23749179lab.16.1337703680155;
	Tue, 22 May 2012 09:21:20 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 09:21:20 -0700 (PDT)
In-Reply-To: <4FBBD629020000780008538C@nat28.tlf.novell.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
Date: Tue, 22 May 2012 12:21:20 -0400
X-Google-Sender-Auth: P1DgpPojKuYJITAgO15MZQTbRo0
Message-ID: <CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

good point.

I'll continue to try to figure this out - but if you have anything
specific I can try (particular boot options, or a patch with extra
debugging in interesting areas) please let me know, as it is 100%
reproducible in my environment right now.

-Ben

On Tue, May 22, 2012 at 12:08 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
>> I still suspect this is something my dom0 kernel is doing incorrectly,
>> but I don't have much to back that up other than a gut feeling.
>
> If the Dom0 kernel can affect the scheduler in this way, then
> quite likely a DomU kernel can too. And even if not, it's still a
> problem - the scheduler just shouldn't be susceptible.
>
> Jan
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:23:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:23:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrrw-00038e-Ge; Tue, 22 May 2012 16:23:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWrrv-00038S-4A
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:23:31 +0000
Received: from [193.109.254.147:41551] by server-11.bemta-14.messagelabs.com
	id 35/5C-05858-28DBBBF4; Tue, 22 May 2012 16:23:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337703809!10643651!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26789 invoked from network); 22 May 2012 16:23:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:23:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12609505"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 16:23:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 17:23:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWrrs-0000FJ-8s; Tue, 22 May 2012 16:23:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWrrs-0007Jz-7w;
	Tue, 22 May 2012 17:23:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.48512.232363.33642@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 17:23:28 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337700458.10118.146.camel@zakaz.uk.xensource.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
	<1337700458.10118.146.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Weirdly (given they were ordered by your preference) I have a preference
> for either the first or last form (which I have left quoted above).

My ordering is based almost entirely on the number of lines of code in
the result :-).

> I probably slightly prefer the second option, but only slightly
> (probably due to a general disquiet about macros which define
> functions).

Right.  If you are happy with any of the options then Roger can
decide.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:23:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:23:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWrrw-00038e-Ge; Tue, 22 May 2012 16:23:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWrrv-00038S-4A
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:23:31 +0000
Received: from [193.109.254.147:41551] by server-11.bemta-14.messagelabs.com
	id 35/5C-05858-28DBBBF4; Tue, 22 May 2012 16:23:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337703809!10643651!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26789 invoked from network); 22 May 2012 16:23:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:23:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12609505"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 16:23:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 17:23:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWrrs-0000FJ-8s; Tue, 22 May 2012 16:23:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWrrs-0007Jz-7w;
	Tue, 22 May 2012 17:23:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.48512.232363.33642@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 17:23:28 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337700458.10118.146.camel@zakaz.uk.xensource.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
	<1337700458.10118.146.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Weirdly (given they were ordered by your preference) I have a preference
> for either the first or last form (which I have left quoted above).

My ordering is based almost entirely on the number of lines of code in
the result :-).

> I probably slightly prefer the second option, but only slightly
> (probably due to a general disquiet about macros which define
> functions).

Right.  If you are happy with any of the options then Roger can
decide.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:33:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:33:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWs0p-0003SC-Q0; Tue, 22 May 2012 16:32:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWs0o-0003S7-Dp
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:32:42 +0000
Received: from [85.158.143.35:35131] by server-3.bemta-4.messagelabs.com id
	6F/CD-05853-9AFBBBF4; Tue, 22 May 2012 16:32:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337704361!12725617!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10772 invoked from network); 22 May 2012 16:32:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:32:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12609652"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 16:32:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 17:32:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWs0m-0000It-9u; Tue, 22 May 2012 16:32:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWs0m-0007L9-8g;
	Tue, 22 May 2012 17:32:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.49064.253608.487183@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 17:32:40 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBBB6F4.6020404@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
	<4FBBB6F4.6020404@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Ian Jackson wrote:
> > Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> >> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> >> index ae5527b..b62110a 100644
> >> --- a/tools/libxl/libxl_internal.h
> >> +++ b/tools/libxl/libxl_internal.h
> >> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
> > ...
> >> +{
> >> +    aorm->ao = ao;
> >> +    aorm->active = 1;
> >> +    aorm->rc = 0;
> >> +    aorm->base = base;
> >> +}
> >
> > I think a function "init" should set "active" to 0, surely ?
> > Since the operation has not in fact been started.  So perhaps this
> > should just be a memset.
> 
> Forget to answer this, we cannot use active = 0 at init because in the 
> hypothetical case that a device add/remove finished before queuing all 
> the others (so the others would be active == 0) it would mark the ao as 
> complete, since it would see all other operations as finished.

Hmmm.  I see.  Yes.

I think you need to rename _init to _prepare or something then.  And
it will then need a comment explaining the semantics.  Are you allowed
to call the operation start function without calling _prepare, for
example?  Do you have to take any destruction steps after calling just
prepare but changing your mind ? (answer seems to be "no") etc.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:33:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:33:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWs0p-0003SC-Q0; Tue, 22 May 2012 16:32:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWs0o-0003S7-Dp
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:32:42 +0000
Received: from [85.158.143.35:35131] by server-3.bemta-4.messagelabs.com id
	6F/CD-05853-9AFBBBF4; Tue, 22 May 2012 16:32:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337704361!12725617!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10772 invoked from network); 22 May 2012 16:32:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:32:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12609652"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 16:32:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 17:32:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWs0m-0000It-9u; Tue, 22 May 2012 16:32:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWs0m-0007L9-8g;
	Tue, 22 May 2012 17:32:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.49064.253608.487183@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 17:32:40 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBBB6F4.6020404@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-6-git-send-email-roger.pau@citrix.com>
	<20411.44130.574284.772580@mariner.uk.xensource.com>
	<4FBBB6F4.6020404@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 05/15] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Ian Jackson wrote:
> > Roger Pau Monne writes ("[PATCH v2 05/15] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> >> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> >> index ae5527b..b62110a 100644
> >> --- a/tools/libxl/libxl_internal.h
> >> +++ b/tools/libxl/libxl_internal.h
> >> @@ -1802,6 +1795,44 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
> > ...
> >> +{
> >> +    aorm->ao = ao;
> >> +    aorm->active = 1;
> >> +    aorm->rc = 0;
> >> +    aorm->base = base;
> >> +}
> >
> > I think a function "init" should set "active" to 0, surely ?
> > Since the operation has not in fact been started.  So perhaps this
> > should just be a memset.
> 
> Forget to answer this, we cannot use active = 0 at init because in the 
> hypothetical case that a device add/remove finished before queuing all 
> the others (so the others would be active == 0) it would mark the ao as 
> complete, since it would see all other operations as finished.

Hmmm.  I see.  Yes.

I think you need to rename _init to _prepare or something then.  And
it will then need a comment explaining the semantics.  Are you allowed
to call the operation start function without calling _prepare, for
example?  Do you have to take any destruction steps after calling just
prepare but changing your mind ? (answer seems to be "no") etc.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:34:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:34:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWs1t-0003W0-AT; Tue, 22 May 2012 16:33:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWs1s-0003Vo-57
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:33:48 +0000
Received: from [85.158.138.51:11324] by server-3.bemta-3.messagelabs.com id
	73/60-04048-BEFBBBF4; Tue, 22 May 2012 16:33:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337704426!20443168!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23886 invoked from network); 22 May 2012 16:33:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:33:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12609666"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 16:33:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 17:33:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWs1p-0000JI-Pt; Tue, 22 May 2012 16:33:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWs1p-0007LN-P5;
	Tue, 22 May 2012 17:33:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.49128.260454.510518@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 17:33:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337700951.10118.148.camel@zakaz.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
	<1337345961.22316.106.camel@zakaz.uk.xensource.com>
	<1337700951.10118.148.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> I ended up changing it again, I hope this one is clearer:
> 
>     /* outputs:
>      *  - caller must initialise kernel and ramdisk to point to file
>      *    references, these will be updated and mapped;
>      *  - caller must initialise cmdline to NULL, it will be updated with a
>      *    string allocated from the gc;
>      */

Looks good to me.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:34:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:34:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWs1t-0003W0-AT; Tue, 22 May 2012 16:33:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWs1s-0003Vo-57
	for xen-devel@lists.xen.org; Tue, 22 May 2012 16:33:48 +0000
Received: from [85.158.138.51:11324] by server-3.bemta-3.messagelabs.com id
	73/60-04048-BEFBBBF4; Tue, 22 May 2012 16:33:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337704426!20443168!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23886 invoked from network); 22 May 2012 16:33:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 16:33:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12609666"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 16:33:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 17:33:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWs1p-0000JI-Pt; Tue, 22 May 2012 16:33:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWs1p-0007LN-P5;
	Tue, 22 May 2012 17:33:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.49128.260454.510518@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 17:33:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337700951.10118.148.camel@zakaz.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
	<1337345961.22316.106.camel@zakaz.uk.xensource.com>
	<1337700951.10118.148.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> I ended up changing it again, I hope this one is clearer:
> 
>     /* outputs:
>      *  - caller must initialise kernel and ramdisk to point to file
>      *    references, these will be updated and mapped;
>      *  - caller must initialise cmdline to NULL, it will be updated with a
>      *    string allocated from the gc;
>      */

Looks good to me.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:52:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:52:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsK3-0003pQ-9Q; Tue, 22 May 2012 16:52:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1SWsK1-0003pL-KZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 16:52:33 +0000
Received: from [85.158.139.83:6035] by server-7.bemta-5.messagelabs.com id
	A1/14-12065-054CBBF4; Tue, 22 May 2012 16:52:32 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337705550!29234377!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6718 invoked from network); 22 May 2012 16:52:31 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 16:52:31 -0000
Received: from saboo.goop.org (50-76-62-73-ip-static.hfc.comcastbusiness.net
	[50.76.62.73]) (Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id 0AF3090D6;
	Tue, 22 May 2012 09:52:29 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id 953302096F;
	Tue, 22 May 2012 09:52:27 -0700 (PDT)
Message-ID: <4FBBC44B.9020007@goop.org>
Date: Tue, 22 May 2012 09:52:27 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Andre Przywara <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
In-Reply-To: <4FBBB9AF.6020704@amd.com>
X-Enigmail-Version: 1.4.1
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 09:07 AM, Andre Przywara wrote:
> Hi,
>
> while testing some APERF/MPERF semantics I discovered that this
> feature is enabled in Xen Dom0, but is not reliable.
> The Linux kernel's scheduler uses this feature if it sees the CPUID
> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> compile) and bogus values due to VCPU migration during the measurement.
> The attached patch explicitly disables this CPU capability inside the
> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
> the patch applied.
> I am not sure if the PVOPS code is the right place to fix this, we
> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
> sure if it's worth to do so.

Seems reasonable to me.  Do all those RDMSR traps have a measurable
performance effect?

Also, is there a symbolic constant for that bit?

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 16:52:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 16:52:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsK3-0003pQ-9Q; Tue, 22 May 2012 16:52:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jeremy@goop.org>) id 1SWsK1-0003pL-KZ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 16:52:33 +0000
Received: from [85.158.139.83:6035] by server-7.bemta-5.messagelabs.com id
	A1/14-12065-054CBBF4; Tue, 22 May 2012 16:52:32 +0000
X-Env-Sender: jeremy@goop.org
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337705550!29234377!1
X-Originating-IP: [74.207.240.146]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6718 invoked from network); 22 May 2012 16:52:31 -0000
Received: from claw.goop.org (HELO claw.goop.org) (74.207.240.146)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 16:52:31 -0000
Received: from saboo.goop.org (50-76-62-73-ip-static.hfc.comcastbusiness.net
	[50.76.62.73]) (Authenticated sender: smtp-saboo)
	by claw.goop.org (Postfix) with ESMTPSA id 0AF3090D6;
	Tue, 22 May 2012 09:52:29 -0700 (PDT)
Received: from saboo.goop.org (localhost [IPv6:::1])
	by saboo.goop.org (Postfix) with ESMTP id 953302096F;
	Tue, 22 May 2012 09:52:27 -0700 (PDT)
Message-ID: <4FBBC44B.9020007@goop.org>
Date: Tue, 22 May 2012 09:52:27 -0700
From: Jeremy Fitzhardinge <jeremy@goop.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Andre Przywara <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
In-Reply-To: <4FBBB9AF.6020704@amd.com>
X-Enigmail-Version: 1.4.1
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 09:07 AM, Andre Przywara wrote:
> Hi,
>
> while testing some APERF/MPERF semantics I discovered that this
> feature is enabled in Xen Dom0, but is not reliable.
> The Linux kernel's scheduler uses this feature if it sees the CPUID
> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> compile) and bogus values due to VCPU migration during the measurement.
> The attached patch explicitly disables this CPU capability inside the
> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
> the patch applied.
> I am not sure if the PVOPS code is the right place to fix this, we
> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
> sure if it's worth to do so.

Seems reasonable to me.  Do all those RDMSR traps have a measurable
performance effect?

Also, is there a symbolic constant for that bit?

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:02:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:02:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsT5-00040e-AW; Tue, 22 May 2012 17:01:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsT3-00040Z-L9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:01:53 +0000
Received: from [85.158.143.99:24018] by server-1.bemta-4.messagelabs.com id
	48/9F-00342-086CBBF4; Tue, 22 May 2012 17:01:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337706109!23988830!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29784 invoked from network); 22 May 2012 17:01:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:01:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610048"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:01:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:01:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsSy-0000SV-4b; Tue, 22 May 2012 17:01:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsSy-0007MV-3k;
	Tue, 22 May 2012 18:01:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.50812.100404.117424@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:01:48 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-8-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
	libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op"):
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.

Thanks for what is in general an admirably clear patch for such a
substantial change.

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index b13de4f..b44ae75 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
...
> +static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
> +                             int rc)
> +{
> +    STATE_AO_GC(dis->ao);
> +    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
> +    const char *savefile;
...
> +    if (dds->domain_finished)
> +        dds->callback(egc, dds, rc);

A suggestion, which you should feel free to reject.  You might like to
concentrate this "have we done all this" logic in one place.  So
instead of the above,

        destroy_finish_check(egc, dds);
    }

    void destroy_finish_check(libxl__egc *egc, libxl__domain_destroy_state *dds)
    {
        if (!(dds->domain_finished &&
              dds->stubdom_finished))
            return;

        dds->callback(egc, dds, dds->rc);
    }

Also thinking about it like this exposes the fact that you aren't
consistent about how to aggregate the rc values from the two destroy
operations.  You give the caller the rc from whichever one finished
last, which doesn't seem like it's correct.

>  /* generic callback for devices that only need to set ao_complete */
> -static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
> +static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aodev)
>  {
> -    STATE_AO_GC(aorm->ao);
> +    STATE_AO_GC(aodev->ao);

I think it would be clearer if this use of "aodev" rather than "aorm"
etc. was already in the previous patch, rather than appearing here.
Likewise later in libxl__init_ao_device, etc.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index d2c013c..68d076c 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
> +                                        libxl__ao_device *list, int num,
> +                                        int *last);
> +

This is a good helper but it could do with a doc comment explaining
what it does.

Just a suggestion: rather than this business with *last it might be
easier to assign a magic error code, or use +1, for "not all done
yet".  (+1 would work since all actual libxl error codes are -ve).
By my reading of the current interface the return value is not
meaningful if *last==0 on output, which is the opposite of the usual
way round.

> @@ -1795,6 +1798,88 @@ struct libxl__ao_device {
>  _hidden void libxl__initiate_device_remove(libxl__egc *egc,
>                                             libxl__ao_device *aorm);
> 
> +/*----- Domain destruction -----*/
> +
> +/* Domain destruction has been splitted in two functions:

"... has been split into two functions:"

> + * libxl__domain_destroy is the main destroy function, it detects

"... function, which detects ..." or "function.  It detects ..."

> + * stubdoms and calls libxl__destroy_domid on the domain and it's

"its stubdom", not "it's"

> + * stubdom if present, creating a different libxl__destroy_domid_state
> + * for each one of them.
...
> +struct libxl__devices_remove_state {
> +    /* filled in by user */
> +    libxl__ao *ao;
> +    uint32_t domid;
> +    libxl__devices_remove_callback *callback;
> +    /* force device destruction */
> +    int force;

"force device destruction" is falling somewhat into the vacuous
comment antipattern.  We know that "force" forces it we knew the
operation was removal.

It would be better to cross-reference this to the public API.  For
example
   int force; /* libxl_device_TYPE_destroy rather than _remove */
and then rely on the public API documentation to describe the
semantics.

> +            printf("device: %s\n", path);
> +            GCNEW(dev);
> +            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
> +                dev->domid = domid;
> +                dev->kind = kind;
> +                dev->devid = atoi(devs[j]);
> +                drs->aorm[numdev].action = DEVICE_DISCONNECT;
> +                drs->aorm[numdev].dev = dev;
> +                drs->aorm[numdev].callback = device_remove_callback;
> +                drs->aorm[numdev].force = drs->force;

A suggestion: do you want a helper variable
                   libxl__ao_device *aodev = &drs->aorm[numdev];
so that you can write
                   aodev->action = DEVICE_DISCONNECT;
etc. ?

> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
> +{
> +    STATE_AO_GC(aorm->ao);
> +    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
> +    char *be_path = libxl__device_backend_path(gc, aorm->dev);
> +    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
> +    xs_transaction_t t = 0;
> +    int rc = 0, last = 1;
> +
> +retry_transaction:
> +    t = xs_transaction_start(CTX->xsh);
> +    if (aorm->action == DEVICE_DISCONNECT) {
> +        libxl__xs_path_cleanup(gc, t, fe_path);
> +        libxl__xs_path_cleanup(gc, t, be_path);
> +    }
> +    if (!xs_transaction_end(CTX->xsh, t, 0)) {
> +        if (errno == EAGAIN)
> +            goto retry_transaction;
> +        else {
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +    }
> +
> +out:
> +    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
> +                                     drs->num_devices, &last);
> +    if (last)
> +        drs->callback(egc, drs, rc);
> +    return;

I don't understand why this is here in this patch.  Surely it belongs
in the previous one ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:02:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:02:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsT5-00040e-AW; Tue, 22 May 2012 17:01:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsT3-00040Z-L9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:01:53 +0000
Received: from [85.158.143.99:24018] by server-1.bemta-4.messagelabs.com id
	48/9F-00342-086CBBF4; Tue, 22 May 2012 17:01:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337706109!23988830!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29784 invoked from network); 22 May 2012 17:01:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:01:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610048"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:01:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:01:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsSy-0000SV-4b; Tue, 22 May 2012 17:01:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsSy-0007MV-3k;
	Tue, 22 May 2012 18:01:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.50812.100404.117424@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:01:48 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-8-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
	libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op"):
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.

Thanks for what is in general an admirably clear patch for such a
substantial change.

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index b13de4f..b44ae75 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
...
> +static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
> +                             int rc)
> +{
> +    STATE_AO_GC(dis->ao);
> +    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
> +    const char *savefile;
...
> +    if (dds->domain_finished)
> +        dds->callback(egc, dds, rc);

A suggestion, which you should feel free to reject.  You might like to
concentrate this "have we done all this" logic in one place.  So
instead of the above,

        destroy_finish_check(egc, dds);
    }

    void destroy_finish_check(libxl__egc *egc, libxl__domain_destroy_state *dds)
    {
        if (!(dds->domain_finished &&
              dds->stubdom_finished))
            return;

        dds->callback(egc, dds, dds->rc);
    }

Also thinking about it like this exposes the fact that you aren't
consistent about how to aggregate the rc values from the two destroy
operations.  You give the caller the rc from whichever one finished
last, which doesn't seem like it's correct.

>  /* generic callback for devices that only need to set ao_complete */
> -static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aorm)
> +static void libxl__device_cb(libxl__egc *egc, libxl__ao_device *aodev)
>  {
> -    STATE_AO_GC(aorm->ao);
> +    STATE_AO_GC(aodev->ao);

I think it would be clearer if this use of "aodev" rather than "aorm"
etc. was already in the previous patch, rather than appearing here.
Likewise later in libxl__init_ao_device, etc.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index d2c013c..68d076c 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
> +                                        libxl__ao_device *list, int num,
> +                                        int *last);
> +

This is a good helper but it could do with a doc comment explaining
what it does.

Just a suggestion: rather than this business with *last it might be
easier to assign a magic error code, or use +1, for "not all done
yet".  (+1 would work since all actual libxl error codes are -ve).
By my reading of the current interface the return value is not
meaningful if *last==0 on output, which is the opposite of the usual
way round.

> @@ -1795,6 +1798,88 @@ struct libxl__ao_device {
>  _hidden void libxl__initiate_device_remove(libxl__egc *egc,
>                                             libxl__ao_device *aorm);
> 
> +/*----- Domain destruction -----*/
> +
> +/* Domain destruction has been splitted in two functions:

"... has been split into two functions:"

> + * libxl__domain_destroy is the main destroy function, it detects

"... function, which detects ..." or "function.  It detects ..."

> + * stubdoms and calls libxl__destroy_domid on the domain and it's

"its stubdom", not "it's"

> + * stubdom if present, creating a different libxl__destroy_domid_state
> + * for each one of them.
...
> +struct libxl__devices_remove_state {
> +    /* filled in by user */
> +    libxl__ao *ao;
> +    uint32_t domid;
> +    libxl__devices_remove_callback *callback;
> +    /* force device destruction */
> +    int force;

"force device destruction" is falling somewhat into the vacuous
comment antipattern.  We know that "force" forces it we knew the
operation was removal.

It would be better to cross-reference this to the public API.  For
example
   int force; /* libxl_device_TYPE_destroy rather than _remove */
and then rely on the public API documentation to describe the
semantics.

> +            printf("device: %s\n", path);
> +            GCNEW(dev);
> +            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
> +                dev->domid = domid;
> +                dev->kind = kind;
> +                dev->devid = atoi(devs[j]);
> +                drs->aorm[numdev].action = DEVICE_DISCONNECT;
> +                drs->aorm[numdev].dev = dev;
> +                drs->aorm[numdev].callback = device_remove_callback;
> +                drs->aorm[numdev].force = drs->force;

A suggestion: do you want a helper variable
                   libxl__ao_device *aodev = &drs->aorm[numdev];
so that you can write
                   aodev->action = DEVICE_DISCONNECT;
etc. ?

> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
> +{
> +    STATE_AO_GC(aorm->ao);
> +    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
> +    char *be_path = libxl__device_backend_path(gc, aorm->dev);
> +    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
> +    xs_transaction_t t = 0;
> +    int rc = 0, last = 1;
> +
> +retry_transaction:
> +    t = xs_transaction_start(CTX->xsh);
> +    if (aorm->action == DEVICE_DISCONNECT) {
> +        libxl__xs_path_cleanup(gc, t, fe_path);
> +        libxl__xs_path_cleanup(gc, t, be_path);
> +    }
> +    if (!xs_transaction_end(CTX->xsh, t, 0)) {
> +        if (errno == EAGAIN)
> +            goto retry_transaction;
> +        else {
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +    }
> +
> +out:
> +    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
> +                                     drs->num_devices, &last);
> +    if (last)
> +        drs->callback(egc, drs, rc);
> +    return;

I don't understand why this is here in this patch.  Surely it belongs
in the previous one ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:05:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:05:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsWL-00048R-UE; Tue, 22 May 2012 17:05:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsWK-00048L-QN
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:05:17 +0000
Received: from [193.109.254.147:19473] by server-11.bemta-14.messagelabs.com
	id 34/14-05858-C47CBBF4; Tue, 22 May 2012 17:05:16 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337706315!6340822!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23405 invoked from network); 22 May 2012 17:05:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:05:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610100"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:04:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:04:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsVz-0000Tg-U7; Tue, 22 May 2012 17:04:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsVz-0007Mt-TA;
	Tue, 22 May 2012 18:04:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.50999.888876.439341@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:04:55 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-9-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-9-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 08/15] libxl: convert
	libxl_device_disk_add to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 08/15] libxl: convert libxl_device_disk_add to an asyn op"):
> This patch converts libxl_device_disk_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.
...
> +void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aoadd)
> +{
> +    STATE_AO_GC(aoadd->ao);
> +    char *be_path = libxl__device_backend_path(gc, aoadd->dev);
> +    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
> +    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
> +    int rc = 0;

Do you really need to do the xenstore state read here ?  Surely
libxl__ev_devstate_wait will do it for you.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 68d076c..a5fc092 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +/* Internal AO operation to connect a disk device */
> +_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
> +                                    libxl_device_disk *disk,
> +                                    libxl__ao_device *aorm);
> +
> +/* Arranges that dev will be added to the guest, and the
> + * hotplug scripts will be executed (if necessary). When
> + * this is done (or an error happens), the callback in
> + * aorm->callback will be called.
> + */

You really can't call this an aorm if it's being used for device
addition :-).  Can we call this "aodev" everywhere, right from the
beginning ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:05:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:05:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsWL-00048R-UE; Tue, 22 May 2012 17:05:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsWK-00048L-QN
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:05:17 +0000
Received: from [193.109.254.147:19473] by server-11.bemta-14.messagelabs.com
	id 34/14-05858-C47CBBF4; Tue, 22 May 2012 17:05:16 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337706315!6340822!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23405 invoked from network); 22 May 2012 17:05:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:05:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610100"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:04:56 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:04:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsVz-0000Tg-U7; Tue, 22 May 2012 17:04:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsVz-0007Mt-TA;
	Tue, 22 May 2012 18:04:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.50999.888876.439341@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:04:55 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-9-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-9-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 08/15] libxl: convert
	libxl_device_disk_add to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 08/15] libxl: convert libxl_device_disk_add to an asyn op"):
> This patch converts libxl_device_disk_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.
...
> +void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aoadd)
> +{
> +    STATE_AO_GC(aoadd->ao);
> +    char *be_path = libxl__device_backend_path(gc, aoadd->dev);
> +    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
> +    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
> +    int rc = 0;

Do you really need to do the xenstore state read here ?  Surely
libxl__ev_devstate_wait will do it for you.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 68d076c..a5fc092 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +/* Internal AO operation to connect a disk device */
> +_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
> +                                    libxl_device_disk *disk,
> +                                    libxl__ao_device *aorm);
> +
> +/* Arranges that dev will be added to the guest, and the
> + * hotplug scripts will be executed (if necessary). When
> + * this is done (or an error happens), the callback in
> + * aorm->callback will be called.
> + */

You really can't call this an aorm if it's being used for device
addition :-).  Can we call this "aodev" everywhere, right from the
beginning ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:06:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:06:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsXL-0004D0-CV; Tue, 22 May 2012 17:06:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsXJ-0004Cq-Ny
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:06:17 +0000
Received: from [85.158.143.99:26453] by server-3.bemta-4.messagelabs.com id
	B6/0F-05853-987CBBF4; Tue, 22 May 2012 17:06:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337706375!28710520!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13488 invoked from network); 22 May 2012 17:06:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:06:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610127"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:06:14 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:06:14 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsXG-0000U9-3m; Tue, 22 May 2012 17:06:14 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsXG-0007N5-32;
	Tue, 22 May 2012 18:06:14 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.51078.79449.652429@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:06:14 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-10-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-10-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 09/15] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async operation"):
> This patch converts libxl_device_nic_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.

Isn't this patch very very similar to the previous one, just with
"nic" instead of "disk" in a lot of places ?

I'm allergic to repetition and these parts of the series seem to be
adding a lot of near-copies of the same code.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:06:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:06:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsXL-0004D0-CV; Tue, 22 May 2012 17:06:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsXJ-0004Cq-Ny
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:06:17 +0000
Received: from [85.158.143.99:26453] by server-3.bemta-4.messagelabs.com id
	B6/0F-05853-987CBBF4; Tue, 22 May 2012 17:06:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337706375!28710520!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13488 invoked from network); 22 May 2012 17:06:15 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:06:15 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610127"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:06:14 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:06:14 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsXG-0000U9-3m; Tue, 22 May 2012 17:06:14 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsXG-0007N5-32;
	Tue, 22 May 2012 18:06:14 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.51078.79449.652429@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:06:14 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-10-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-10-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 09/15] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async operation"):
> This patch converts libxl_device_nic_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.

Isn't this patch very very similar to the previous one, just with
"nic" instead of "disk" in a lot of places ?

I'm allergic to repetition and these parts of the series seem to be
adding a lot of near-copies of the same code.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:12:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:12:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsd2-0004SJ-5g; Tue, 22 May 2012 17:12:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <malcolm.crossley@citrix.com>) id 1SWsd0-0004SB-RA
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:12:11 +0000
Received: from [193.109.254.147:40310] by server-1.bemta-14.messagelabs.com id
	FD/60-29372-9E8CBBF4; Tue, 22 May 2012 17:12:09 +0000
X-Env-Sender: malcolm.crossley@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337706727!6341541!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13067 invoked from network); 22 May 2012 17:12:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:12:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196046518"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:08:48 -0400
Received: from [10.80.3.206] (10.80.3.206) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	13:08:47 -0400
Message-ID: <4FBBC81E.9040502@citrix.com>
Date: Tue, 22 May 2012 18:08:46 +0100
From: Malcolm Crossley <malcolm.crossley@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <4FBBB9AF.6020704@amd.com> <4FBBC44B.9020007@goop.org>
In-Reply-To: <4FBBC44B.9020007@goop.org>
Content-Type: multipart/mixed; boundary="------------050109050203070105050807"
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------050109050203070105050807
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding: 7bit

On 22/05/12 17:52, Jeremy Fitzhardinge wrote:
> On 05/22/2012 09:07 AM, Andre Przywara wrote:
>> Hi,
>>
>> while testing some APERF/MPERF semantics I discovered that this
>> feature is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>> compile) and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
>> the patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we
>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>> sure if it's worth to do so.
> Seems reasonable to me.  Do all those RDMSR traps have a measurable
> performance effect?
>
> Also, is there a symbolic constant for that bit?
>
>      J
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
Hi,

I've attached a patch which masks the matching CPUID leaves in the Xen pv_cpuid function.
Should the logic in pv_cpuid be changed to only pass through explictly allowed CPUID leaves rather than masking
them using case statements?

Malcolm


--------------050109050203070105050807
Content-Type: text/x-patch;
	name="mask-thermal-and-power-management-leaf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="mask-thermal-and-power-management-leaf.patch"

# HG changeset patch
# Parent 238900a4ed227d04c164d4cd12dfc66f7a25b946
[PATCH] Xen: Prevent unsupported CPUID leaves from being passed through to dom0 PV guest.

The PV CPUID emulation code is passing through CPUID leaves which do match the unsupported case statement. CPUID features should be passed through when Xen can safely support those features.

Signed-off-by: Malcolm Crossley <malcolm.crossley@citrix.com>

diff -r 238900a4ed22 xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -900,6 +900,8 @@ static void pv_cpuid(struct cpu_user_reg
         break;
 
     case 0x00000005: /* MONITOR/MWAIT */
+    case 0x00000006: /* Thermal and Power Management leaf */
+    case 0x00000009: /* Direct Cache Access Information Leaf */
     case 0x0000000a: /* Architectural Performance Monitor Features */
     case 0x0000000b: /* Extended Topology Enumeration */
     case 0x8000000a: /* SVM revision and features */

--------------050109050203070105050807
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------050109050203070105050807--


From xen-devel-bounces@lists.xen.org Tue May 22 17:12:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:12:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsd2-0004SJ-5g; Tue, 22 May 2012 17:12:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <malcolm.crossley@citrix.com>) id 1SWsd0-0004SB-RA
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:12:11 +0000
Received: from [193.109.254.147:40310] by server-1.bemta-14.messagelabs.com id
	FD/60-29372-9E8CBBF4; Tue, 22 May 2012 17:12:09 +0000
X-Env-Sender: malcolm.crossley@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337706727!6341541!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13067 invoked from network); 22 May 2012 17:12:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:12:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196046518"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:08:48 -0400
Received: from [10.80.3.206] (10.80.3.206) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	13:08:47 -0400
Message-ID: <4FBBC81E.9040502@citrix.com>
Date: Tue, 22 May 2012 18:08:46 +0100
From: Malcolm Crossley <malcolm.crossley@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <4FBBB9AF.6020704@amd.com> <4FBBC44B.9020007@goop.org>
In-Reply-To: <4FBBC44B.9020007@goop.org>
Content-Type: multipart/mixed; boundary="------------050109050203070105050807"
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------050109050203070105050807
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding: 7bit

On 22/05/12 17:52, Jeremy Fitzhardinge wrote:
> On 05/22/2012 09:07 AM, Andre Przywara wrote:
>> Hi,
>>
>> while testing some APERF/MPERF semantics I discovered that this
>> feature is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>> compile) and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
>> the patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we
>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>> sure if it's worth to do so.
> Seems reasonable to me.  Do all those RDMSR traps have a measurable
> performance effect?
>
> Also, is there a symbolic constant for that bit?
>
>      J
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
Hi,

I've attached a patch which masks the matching CPUID leaves in the Xen pv_cpuid function.
Should the logic in pv_cpuid be changed to only pass through explictly allowed CPUID leaves rather than masking
them using case statements?

Malcolm


--------------050109050203070105050807
Content-Type: text/x-patch;
	name="mask-thermal-and-power-management-leaf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="mask-thermal-and-power-management-leaf.patch"

# HG changeset patch
# Parent 238900a4ed227d04c164d4cd12dfc66f7a25b946
[PATCH] Xen: Prevent unsupported CPUID leaves from being passed through to dom0 PV guest.

The PV CPUID emulation code is passing through CPUID leaves which do match the unsupported case statement. CPUID features should be passed through when Xen can safely support those features.

Signed-off-by: Malcolm Crossley <malcolm.crossley@citrix.com>

diff -r 238900a4ed22 xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -900,6 +900,8 @@ static void pv_cpuid(struct cpu_user_reg
         break;
 
     case 0x00000005: /* MONITOR/MWAIT */
+    case 0x00000006: /* Thermal and Power Management leaf */
+    case 0x00000009: /* Direct Cache Access Information Leaf */
     case 0x0000000a: /* Architectural Performance Monitor Features */
     case 0x0000000b: /* Extended Topology Enumeration */
     case 0x8000000a: /* SVM revision and features */

--------------050109050203070105050807
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------050109050203070105050807--


From xen-devel-bounces@lists.xen.org Tue May 22 17:14:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:14:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWseg-0004YO-Q3; Tue, 22 May 2012 17:13:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsef-0004YH-Kf
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:13:53 +0000
Received: from [85.158.138.51:33292] by server-3.bemta-3.messagelabs.com id
	50/B0-04048-059CBBF4; Tue, 22 May 2012 17:13:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337706831!28437225!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31305 invoked from network); 22 May 2012 17:13:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:13:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610240"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:13:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:13:50 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsec-0000WU-GV; Tue, 22 May 2012 17:13:50 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsec-0007NV-Fd;
	Tue, 22 May 2012 18:13:50 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.51534.470771.717080@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:13:50 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-11-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-11-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 10/15] libxl: add option to choose who
 executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 10/15] libxl: add option to choose who executes hotplug scripts"):
> Add and option to xl.conf file to decide if hotplug scripts are
> executed from the toolstack (xl) or from udev as it used to be in the
> past.
>
> +    int hotplug_setting = libxl__hotplug_settings(gc, t);

This function sometimes returns a non-negative boolean, and sometimes
a (negative) libxl error code.  That doesn't seem to be handled
correctly here at the call site.  (And it should be mentioned in a doc
comment.)

> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index b89aef7..bdf14d5 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
>      return value;
>  }
>  
> +int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
> +{
> +    int rc = 0;
> +    char *val;
> +
> +    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
> +    if (!val && errno != ENOENT) {
> +        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +    if (!val) val = "0";
> +
> +    rc = atoi(val);

This is a bit hazardous.  What if the value in xenstore is "42" or
"-3" ?  At the very least I think you should write:

       rc = !!atoi(val);

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:14:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:14:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWseg-0004YO-Q3; Tue, 22 May 2012 17:13:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsef-0004YH-Kf
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:13:53 +0000
Received: from [85.158.138.51:33292] by server-3.bemta-3.messagelabs.com id
	50/B0-04048-059CBBF4; Tue, 22 May 2012 17:13:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337706831!28437225!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31305 invoked from network); 22 May 2012 17:13:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:13:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610240"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:13:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:13:50 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWsec-0000WU-GV; Tue, 22 May 2012 17:13:50 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWsec-0007NV-Fd;
	Tue, 22 May 2012 18:13:50 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.51534.470771.717080@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:13:50 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-11-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-11-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 10/15] libxl: add option to choose who
 executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 10/15] libxl: add option to choose who executes hotplug scripts"):
> Add and option to xl.conf file to decide if hotplug scripts are
> executed from the toolstack (xl) or from udev as it used to be in the
> past.
>
> +    int hotplug_setting = libxl__hotplug_settings(gc, t);

This function sometimes returns a non-negative boolean, and sometimes
a (negative) libxl error code.  That doesn't seem to be handled
correctly here at the call site.  (And it should be mentioned in a doc
comment.)

> diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
> index b89aef7..bdf14d5 100644
> --- a/tools/libxl/libxl_internal.c
> +++ b/tools/libxl/libxl_internal.c
> @@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
>      return value;
>  }
>  
> +int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
> +{
> +    int rc = 0;
> +    char *val;
> +
> +    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
> +    if (!val && errno != ENOENT) {
> +        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +    if (!val) val = "0";
> +
> +    rc = atoi(val);

This is a bit hazardous.  What if the value in xenstore is "42" or
"-3" ?  At the very least I think you should write:

       rc = !!atoi(val);

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:24:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:24:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsoF-0004lv-U2; Tue, 22 May 2012 17:23:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SWsoD-0004ln-Or
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:23:46 +0000
Received: from [85.158.138.51:46632] by server-11.bemta-3.messagelabs.com id
	EE/F8-18894-0ABCBBF4; Tue, 22 May 2012 17:23:44 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337707421!20498367!1
X-Originating-IP: [209.85.213.45]
X-SpamReason: No, hits=1.5 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	MAILTO_TO_SPAM_ADDR,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21966 invoked from network); 22 May 2012 17:23:42 -0000
Received: from mail-yw0-f45.google.com (HELO mail-yw0-f45.google.com)
	(209.85.213.45)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:23:42 -0000
Received: by yhoo21 with SMTP id o21so6915286yho.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 10:23:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type;
	bh=lR2/oYv0LBMyOUTNoChSZvw8MsVuYd75ws/beUM2FMg=;
	b=COInXJ4I9I9mweiQARg8cxIRziKlOSqf9RmJW5HJxAfA8jmuzKQHHlzHMCy4k3cdqb
	tkrPpd3fNXyeBmuYrNH0tD48+FivsDYFkW7jVpZNH4GhrD1x9ZPIUFUgY1LrPNufecYj
	ks4BQK2WYHUceHtXmSzWCBq4U2AVyh0VWVKeD+IHc4Z531LxjFoxaXZgP5y+Fb4ya+4a
	NdOsBIaR3f0s0OYrRheYuzgBkaB7+fIVgv05Ye6bb0P78i3gAPN3KqEQ/uwOd3zn+YZL
	lFln/8DV1jGbh9cS20z+njEL87eSPtc8OgnnBfykHop7Ym4K8p0fG2AjbKo6ooGwKRma
	Q5dg==
Received: by 10.236.75.164 with SMTP id z24mr27801153yhd.69.1337707420468;
	Tue, 22 May 2012 10:23:40 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id m43sm89773170yhi.13.2012.05.22.10.23.35
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 22 May 2012 10:23:36 -0700 (PDT)
Message-ID: <4FBBCB89.6050609@gmail.com>
Date: Tue, 22 May 2012 13:23:21 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB91D44.8010808@gmail.com> <4FB91F2A.4080304@gmail.com>
	<1337602827.24660.110.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337602827.24660.110.camel@zakaz.uk.xensource.com>
Content-Type: multipart/mixed; boundary="------------020302010604050209050608"
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl.c ERROR during compiling Xen 4.2-Unstable
 revision 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--------------020302010604050209050608
Content-Type: multipart/alternative;
 boundary="------------050401020206040205050608"


--------------050401020206040205050608
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hey Ian thanks for the reply back. Well i have done some more compiling 
and messing with and
this is what i found so far:

This time i did as you said, i piped the compile output to a file using 
the *tee* command.

  ---------------------------- ---------------------------- 
---------------------------- ----------------------------
A.) I cloned a fresh copy of *xen-unstable.hg rev-25376* (5/22/2012) and 
ran:

./configure
sudo make -j5 xen    --> This compiled fine and didn't see any errors
sudo make -j5 tools --> THIS is where all of the errors happen and fail 
to compile

  ---------------------------- ---------------------------- 
---------------------------- ----------------------------
B.) This time i installed the SDL devel package as you suggested and 
cloned another fresh copy of
*xen-unstable.hg rev-25376*

sudo apt-get install libsdl1.2-dev
./configure
sudo make -j5 xen    --> Again, this compiled fine and saw no errors
sudo make -j5 tools --> This time i do not get that error about the 
libSDL BUT i still get other errors
                                             and stops compiling
  ---------------------------- ---------------------------- 
---------------------------- ----------------------------
I have saved the above compile trials to 4 files as the following:

Compiled BEFORE installing libsdl1.2-dev
A - make_xen.log
A - make_tools.log

Compiled AFTER installing libsdl1.2-dev
B - make_xen.log
B - make_tools.log

ALSO, since i didn't want to attach so many large files in a text 
format, i put all 4 files in a TAR.GZ file
and attached that instead.
--------------------------- ---------------------------- 
---------------------------- ----------------------------

So, hopefully this will be helpful to you or to some else in determining 
why, in this case,
*Xen 4.2-unstable REV-25376* is not wanting to compile anymore  .... :)






> On Sun, 2012-05-20 at 17:43 +0100, cyberhawk001@gmail.com wrote:
>>   I have had Xen 4.2-Unstable compiled a week or so ago and it all went
>> fine and running, but i forget what revision i compiled now.
>>
>> When i ran the xl create /etc/xen/win7.cfg to create a VM, i got an
>> error about libxl and running "sudo xl list" shows the newly created
>> VM, SO i just ignored that error for now. That error message was:
>>
>> libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu weight
>> out of range, valid values are within range from 1 to 65535
> This is a harmless warning and is on our list to fix for 4.2
>
>> ---------------------------------- ----------------------------------
>> ----------------------------------
>>
>> SO, I noticed on the xen-unstable.hg tree that there have been a lot
>> of updates to the libxl lately SO just out of curiosity, i wanted to
>> get the latest revision 25374 of xen-unstable as of today 5/20/2012,
>> and compile it. BUT, i cannot compile Xen anymore as the compile stops
>> with warnings and error messages.
>>
>> Upon scrolling up in the terminal window, i noticed these warning or
>> error messages:
> Thanks, it can be useful for us to see the full context, in which case
> using something like tee(1) to collect the full log and attaching it can
> be useful.
>
>> node-select.c:57:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
>> node-select.c: In function â€˜vchan_wrâ€™:
>> node-select.c:60:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
>> node-select.c: At top level:
>> node-select.c:71:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
>> node-select.c: In function â€˜stdout_wrâ€™:
>> node-select.c:74:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> These are genuine warnings but aren't causing build failures (I presume
> no -Werror in that subdir).
>
>> The error log from compiling the libSDL test is:
>> /tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or directory
> This means you are missing the SDL development package. I'm not sure if
> this is optional or mandatory, nor whether this message is fatal without
> more context from the build logs.
>
>> ../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5: warning: â€˜valâ€™ may be used uninitialized in this function [-Wuninitialized]
>>
>>
>> I also get like a dozen warnings about this:
>> ../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is
>> deprecated use xenstore.h instead [-Wcpp]
> These are currently to be expected and are harmless.
>
>> AND finally the compilations stops with these messages:
>> libxl.c: In function â€˜libxl_primary_console_execâ€™:
>> libxl.c:1233:9: error: case value â€˜4294967295â€™ not in enumerated type
>> â€˜libxl_domain_typeâ€™ [-Werror=switch]
> This one is known and a fix is in progress. It's most likely this one
> which is causing the actual build error.
>
> This slipped through our testing net due to various compiler versions
> being cleverer/stupider than others and so trigger more or less
> warnings, this one happens only with a more modern gcc than what our
> test system uses.
>
> Ian.
>
>
>


--------------050401020206040205050608
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hey Ian thanks for the reply back. Well i have done some more
    compiling and messing with and <br>
    this is what i found so far:<br>
    <br>
    This time i did as you said, i piped the compile output to a file
    using the <b>tee</b> command.<br>
    <br>
    Â ---------------------------- ----------------------------
    ---------------------------- ----------------------------<br>
    A.) I cloned a fresh copy of <b>xen-unstable.hg rev-25376</b>
    (5/22/2012) and ran:<br>
    <br>
    ./configure<br>
    sudo make -j5 xen Â Â  --&gt; This compiled fine and didn't see any
    errors<br>
    sudo make -j5 tools --&gt; THIS is where all of the errors happen
    and fail to compile<br>
    <br>
    Â ---------------------------- ----------------------------
    ---------------------------- ---------------------------- <br>
    B.) This time i installed the SDL devel package as you suggested and
    cloned another fresh copy of<br>
    Â Â Â Â Â  <b>xen-unstable.hg rev-25376</b><br>
    <br>
    sudo apt-get install libsdl1.2-dev<br>
    ./configure<br>
    sudo make -j5 xen Â Â  --&gt; Again, this compiled fine and saw no
    errors<br>
    sudo make -j5 tools --&gt; This time i do not get that error about
    the libSDL BUT i still get other errors <br>
    Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  and stops compiling<br>
    Â ---------------------------- ----------------------------
    ---------------------------- ---------------------------- <br>
    I have saved the above compile trials to 4 files as the following:<br>
    <br>
    Compiled BEFORE installing libsdl1.2-dev<br>
    A - make_xen.log<br>
    A - make_tools.log<br>
    <br>
    Compiled AFTER installing libsdl1.2-dev<br>
    B - make_xen.log<br>
    B - make_tools.log<br>
    <br>
    ALSO, since i didn't want to attach so many large files in a text
    format, i put all 4 files in a TAR.GZ file <br>
    and attached that instead.<br>
    --------------------------- ----------------------------
    ---------------------------- ---------------------------- <br>
    <br>
    So, hopefully this will be helpful to you or to some else in
    determining why, in this case, <br>
    <b>Xen 4.2-unstable REV-25376</b> is not wanting to compile anymoreÂ 
    .... :)<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <blockquote
      cite="mid:1337602827.24660.110.camel@zakaz.uk.xensource.com"
      type="cite">
      <pre wrap="">On Sun, 2012-05-20 at 17:43 +0100, <a class="moz-txt-link-abbreviated" href="mailto:cyberhawk001@gmail.com">cyberhawk001@gmail.com</a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">
 I have had Xen 4.2-Unstable compiled a week or so ago and it all went
fine and running, but i forget what revision i compiled now.

When i ran the xl create /etc/xen/win7.cfg to create a VM, i got an
error about libxl and running "sudo xl list" shows the newly created
VM, SO i just ignored that error for now. That error message was:

libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu weight
out of range, valid values are within range from 1 to 65535
</pre>
      </blockquote>
      <pre wrap="">
This is a harmless warning and is on our list to fix for 4.2

</pre>
      <blockquote type="cite">
        <pre wrap="">---------------------------------- ----------------------------------
----------------------------------

SO, I noticed on the xen-unstable.hg tree that there have been a lot
of updates to the libxl lately SO just out of curiosity, i wanted to
get the latest revision 25374 of xen-unstable as of today 5/20/2012,
and compile it. BUT, i cannot compile Xen anymore as the compile stops
with warnings and error messages. 

Upon scrolling up in the terminal window, i noticed these warning or
error messages:
</pre>
      </blockquote>
      <pre wrap="">
Thanks, it can be useful for us to see the full context, in which case
using something like tee(1) to collect the full log and attaching it can
be useful.

</pre>
      <blockquote type="cite">
        <pre wrap="">node-select.c:57:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
node-select.c: In function â€˜vchan_wrâ€™:
node-select.c:60:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
node-select.c: At top level:
node-select.c:71:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
node-select.c: In function â€˜stdout_wrâ€™:
node-select.c:74:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
</pre>
      </blockquote>
      <pre wrap="">
These are genuine warnings but aren't causing build failures (I presume
no -Werror in that subdir).

</pre>
      <blockquote type="cite">
        <pre wrap="">The error log from compiling the libSDL test is: 
/tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or directory
</pre>
      </blockquote>
      <pre wrap="">
This means you are missing the SDL development package. I'm not sure if
this is optional or mandatory, nor whether this message is fatal without
more context from the build logs.

</pre>
      <blockquote type="cite">
        <pre wrap="">../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5: warning: â€˜valâ€™ may be used uninitialized in this function [-Wuninitialized]


I also get like a dozen warnings about this:
../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is
deprecated use xenstore.h instead [-Wcpp]
</pre>
      </blockquote>
      <pre wrap="">
These are currently to be expected and are harmless.

</pre>
      <blockquote type="cite">
        <pre wrap="">AND finally the compilations stops with these messages:
libxl.c: In function â€˜libxl_primary_console_execâ€™:
libxl.c:1233:9: error: case value â€˜4294967295â€™ not in enumerated type
â€˜libxl_domain_typeâ€™ [-Werror=switch]
</pre>
      </blockquote>
      <pre wrap="">
This one is known and a fix is in progress. It's most likely this one
which is causing the actual build error.

This slipped through our testing net due to various compiler versions
being cleverer/stupider than others and so trigger more or less
warnings, this one happens only with a more modern gcc than what our
test system uses.

Ian.



</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------050401020206040205050608--

--------------020302010604050209050608
Content-Type: application/x-gzip;
 name="Xen4.2_rev25376_compile_log.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="Xen4.2_rev25376_compile_log.tar.gz"

H4sIABbKu08AA+z9e2PbRpI3Cs+/0afAev2MkmxISpQsy/E653FsJaOzjp3XcnY2J85yQAAk
EeEWAKQoj+e7v31HN7oBUBJBiFR5JiK6uvpev+p79fdWzwrtS2+09KJ+EE//0sK/A/Tv5PgY
/x4+fXIg/x4cDp8eDw+P/3KIKCfo88lTREfE4fFfrIM2MlP+N89yO7Wsvyyvx15aw9fkv6X/
cNtbvVcWan7Lj1BdBMEepv12+Pu31lmUe6kfTS3XTz0nj9Nr6x+DWRx6A1Ibg9dedpnHyeC/
zt6/PXsz+v6X8zevB//jRQMUW2+OYxsHXn82xe79PZrUxHo/D7ysH15aIyXBYUsJvrLyOA4y
msjRmhMZkLj3936zeq418aeBl1u/W3/9q8XTpjSa+HEriQ9oEvt7U8exejHPBf3pO0XSbzx7
0U7KpLDZdTgW9dxOUVkZ/45kBv310jRO0W+Wp76T95I0zuP8OvEyq/duiAQtDv28N0nt0Osl
sY8zg4hR3GP8duDbGc5e7++u5wR2aud+HPXsCWJEPHbuhV6U4xplJeO/rdbpfiGnLcWNIXjr
eAR2/cgJ5q5HiE4cJj7maQdjRiC3JWArAflJu0AWafyDUSw/s+YJKr7lIrHsFwybhHQ7hZZL
y5LbYHH3W0WyNRpZ5L/i34j8H1NVuswgfzDnnvXR+jiwBjjUiEb52fqM/o9+Me0j5+XeiIh8
yTf5GGF+TEVRYe7BwMKh9klQGhUJPvoKM3+26P+wN2Ic4ZDo9x+MhLxIcBTVgMSGfVkYkjcU
AAcb0KhEdB9JTlFaX1ISTgwXAXHuobINPo4+4nyzMLiMo89fjr7CdUXcyPcb7o1IiH/ESH2S
2GcSfM9Yr7f614ouJjrGEwrUzkKkaFClBJHVyyYWcveWpyey/xrVNlJkLOKWxkMsdgSsSxSd
1Uss3DvYueaepl5i9RbW/uuzH87fno3+5+zt6Mdfzi4+jP728u3rN2dfBnE0/WrfSubjwHcG
Durzx7Zz2Z9hQdr7IrnOZ3F0+xqh2o7mpTee+4Hby+J56nj95Nr6jtKLRJ1+5F3dtQhegEYf
SJ9tsgQ8TVqAm2Z4gQZAI2dmR5EXbDbbSsrm2r9ja0w8O5+nCBWbLJdI9FbtMU1tVCss1Q3m
Wk6XtcUCqyMjSnTqXVvq0lt6zkYLTFM0FFWBk0ZUedW21qnrFujQC5Hq3mg9sSRvJcxR6G80
rzg9U4vqmqbC667tk8yuM9dbbLTQPE1DwSUZL5HuXNDAzidxGm62pDxRQ1FF0yuEuxYzc2ae
u9Ey0hQNBdQUtNHjrgXOEdw3Wl6SoKG4stop0+5cyNR2Ntu70hQNxZSau0TSuw45XFFtKkXl
UlSDRrxptS2cZL7RWiMJtjIwXHhp5sfRZkvD0rxVT4p3bjaZWZyeQVxVDaxT79ouKFkUcLMa
iKdpKK4E2xJpDQWNkzSebLqkNFFDUQusqZQSlyzDGrFcKQM7dWZ4oaPa44bVxsOROggde6PV
pyVuqEZFmDTiXYrbWVHNGng9TYh+R0fD7lqRpW9uSAkrOvWuCoBno6viVxRb8zZ67CFtb/mW
HxlW7hjFjcODUZxkBaVYGqtYetIXbYxrIqUVg2JmPCIRKiQ6WVZmo9pMTZ/RlAb/6tC4NIZU
x0ba8ELr1wpCj9asQlMcvINglNkiHHinwwOVgv4b+dEkLlcP94sTlebHqfenSkrs1A6l6vbj
wTi49CcKxYmjLJYTQLTJuMQ0yUqEy7FbogT+GBVtgVtdoUdeXuJMHL9Mwbu/Dt6dlal4WVsh
5ElYCjjPyjldZE5Wjh7lazxX415moys/RaV+brmxRTam7SjzrR5bArey3PWJzPEN62LP+gJv
Kw+QjA2iOfZaOtZjH28CeEs/tw6fW54zixEJRx151nczz3aR3PSd2WU1LtW+p9qXbqKfWb13
h3RD3LRRHp4cW71pxYY5KtmLaTR/9kwUzbAHX7+r/ncU7zyaZ56L1FHey7y8t7BTHwsqTRQr
qRxpEeLAAEHqr/f31HPnkYsg38Oxo1T8Kz+fJak38Zd8Z0M6GoCCshL1UOQ5aorETxDD+V33
N9YQxYDt9AxCG7XQ1Is8VIVrj9f1JvY8QBUeZvEEtXIQ2zlvVaSUSYuRTR9K9JaOl+AWww0Y
eVmO2sdbovrDhBAxoAbofcIySVxZhlsrwfnGoe3sOnJmaRzF8wxl78qP3B7JIgr8+sdXr1B3
dzH67/OL8+/P35x/+HX08sOH9+ff//LhjMkhSjn0P3m9zEcgi6Y93HWgoFFMoOQQgXw9It3n
CH3999n7799doMCvcbwvX/18zj5/fnlx8eFv79/98uPfqiX89at3b384/3H0w/uXP52Nfn53
/vbD2fv6jNxbwHCpNPUgvfBoiNVNeV3eN6zUg2YAzQCa4YFqBj4I98sE0AugF0AvPFy9oMzF
fTMZdAToCNARD1ZHiIU5X6M4NasVdauJCkN1HNWBQSeBTgKd9HB1krw14JuIoB9AP4B+eLD6
ge4S+qoTdALoBNAJD1YnsHMBfskNWgG0AmiFB6sV8OkgX3aAPgB9APrgweoDfkDQLxNAL4Be
AL3wcPUCPyfsaxTQDKAZQDM8WM1A7wv4qhN0AugE0AkPVieQS0O+4gKNABoBNMLD1Qjk4qCv
OkEngE4AnfBgdQK5PewrLtAIoBFAIzxcjcAsCPhlAugF0AugFx6sXlgyQyJ+mQB6AfQC6IWH
rBeouSBfo4BmAM0AmuHBagbNNpRf6QOaAjQFaArQFIjJrCVAQ4CGAA0BGkI222AeTgibDqAv
QF+Avnjg+sKoJ6h+QHFbPe+55bsvRo+/JCZxyyYrsXnsPLX2f/s2iK+89Nvfe4P+PnbOkwQ7
R6PR/lfPsQVtEvzRv/uTCImi9dh3H+nPvM2wKRmZG7H6SMYodzM7L/5/Yhjwgn93s6Ca1ezV
wiepPQ1tK0GeXx5/VR9EmCP/33+3fjvoPft932ActC2z49SUMTY7/tmaR/6fNy1cQ9lYCC9y
/Yk1+Bo3nfX1oDJMjYzJz/XdWcREZCtJWCV3o4A1hyxbXF8pdKV06SGqhauwL7l52VqpZPUF
a5QsJUidYGnPKt5dvNQoVxOy+jDNorZieLNF/xvEVC18FeFqRLBkyrADQVy9rKsUtVko9YDa
YxbaOxa1fa/ycOadJbeIbSWhrWZvlNcVgmqvTKwWvlJADUGqZVMyobd5sVytcA1laxRGNYz5
ac2Z6WnNWcWLowpzQa174lGNX/Wqkfry26t3FnwlwpVkvzZEo/ivFtr0qsrKsVTiwByqGgqq
5bbNo2HlUjYXshETWrAaISxewr2z+LGoVhK8Ct5GkWsKp77Ws0LISgEr81eLFjf6tXmhWqFM
dUVqFCQpQI0ISa8E31mGeFwrCVEVc6MUNQYsPem0SthKQdICVEuSMBW1eVFapVi1pWoUJjlE
xbPWSkdaUGtkjz/5fGfBIxGtJHVGzkaRqw8lPxnWGKpS0lTuajGjtoc2L2ONpakuTKN0CXbT
k9SKXDFSjVDJz2rfWbBEZCsJVyV3o4A1hyw/RbdS6Eph00NUC1xh3GbzQrdSyeoL1ih8ShDj
w9KKBHKa/qS4wkYIdWIqP4p+dzkVsa0mqJXszZLaHFR7JHG18NXCqgepkdbC5EoH4rpS4RrK
1iywSpgaGStepL+zgLGoVpKuCt5G0WoKpz61uULISokq81eLE7fTsXlZWqFMdUVqlCIpgKrK
tAmo0aNG7Njjp2uQOhrTSkJnZm2UuYZgynOuzeEqBa7EXi1vzAbE5sWtuUA15WkUtoJflTVJ
CEukOvliz+muQ8BoVKtJmJm3WcQawqmPBK8QslrKSvw1YsYMC3QgZ81lqitSs6QVAVRRU4Z5
GrFG3NhzzWuQNhrTSsJmZm2UtYZgygPUzeEqBa3EXi1n7LL65sWsuUA15WkUsoK/JGPKyEyn
1kmZeAZ8HYLGI1tN1qq4m8WtMWT5kfOVQlfLnRaiRvTEregOpG+VktUXrFkG5SCqGBa9rUop
cRWaskSCg5hwEBMOYj7Ug5jKjY6mwx9LdqV8Ld2WiGylbquSu7Hbag5ZVBNlXCl0Zbelh6ju
tpbi0v7mu62VSlZfsMZuSwlSL1j0SvK6JIvFtqpoVbCvIltNQQvhYpyrha8Tr3KQWvnil787
EbAVCtdQtlVETAqjDnqKkbtKqZFE7errWiRSj3UlyWwO1iihNVGsIm01waulznCxePPS11x3
VVLYHLJaGs1hS1Ipj+U14oqyuX65vIVM3lEe7yCLN5bDzmXwdvJ3W9kzyZ3SGWtEjVfSqjp1
VQ3KbvOsX4nyiG+uR6tC3kyVarHcWJtqMayoUMWtqY51alU9rqRWqwKvqFnl4CuI4tpF8Oai
dzeRu72o3VTEuhatW4nULUWpEKHq9+UV/af61M9n1jaVWX0Wc7sJzEpzlxVC1c1YVp2sdDVP
udEU5YazkyYRK4aJ1b41oWU5rmUwx1EZ1hBGwwOFgbdM4jS3fv71w9/evX1Bm67U1L99Yf3+
9b/vW8sACWCQ5bSVr2Z+4FkpahjrambnVmSHnjVz0+eWG2P/LwZjPxpks7vKwdTLexPfC9ys
jyJ79Bgn9oiVYfSYpKrC9zHKBMpi5rnWfvbN/8VV8n+/oXXyzXT/K+vzZ8tb+rn1+P8h5XTx
AqhocVxE0eRU6rK+M7skFSe5S3UrgqmUvTRUVufKJ9nlJX/zRepaKwylc27CzZ6oUQ1PG9cM
tdfwSmbspYtNjCJu6ogIyxfztNUx84Ceh2bXhMwlVQxbacZz9Te72EPgSsUKl/IUaHGjtVQV
arWVDfprFVNRDYKs3ocp1Y2x0DVV4ZSrQmNVruQXL5hpB98VSVHfR9Va2mB70LBEZShvrfT6
e6F96f129Pu31hvPXuCldddPyfbFtfWPu26c7JPYMURvHdP7eYDaN7y0eq8sXIAByriF92Pi
yQQNHpA6KkpwhvcN1lUEntg+3dy7txsVsLMHO3vNO3u8Ke5cYXQUHE38Kd4Ia2fD8KefXqM/
P1h9Bed91+pd4G03hWphRXZyPJCJTjtKrdAI69NqZTmUizFrR7Ptt1I7ban6W8eG/mu9Z1hr
ke+cn8E4jnOL9AUjP+rH9y17qN+5f7ljveW9y5eb+nh4ef8ytszCcqZ+O143xGir3POhl7UV
gy8YfcHo63ajr7Gfh3bSj/HAy7GYy8EjMO7TEvqVDm1/7/3Zm3evXhwsnzoHBwcW14JkSRLN
YJE6S70gdvoXLeWGaeI19/bOzE7b16NIWYMSBSUKSrQzJYoQOHLi1ONqVLiJIi1821alCDKg
CUATgCboTBNk+XxMtcAkm8Vp3rsiYwCkE4gP0QeUZy9wLQyH0AsmI7q+hVwpGXmJEQPnFXqj
jaUuqjbux8RTLAlJo6aVKsqkZNdZWWSQdT/qyEmvk1wuPKh8UPmg8rtS+VjrjBI7vUQF5ANA
hebQa0QyF9VRT1qeUzerBXzFKcShXvgnSOl2ur/ZLL5MCyjaREYBrnm6TECqnH6S/oN2Hv4R
LuNbq/chRxCw+GKDYA2iSxEoHv/hxMk1qj9r7Ec2apYyDyLvfRm7+OBOL7eWBZWeZ+tl1j76
32fLvrq09t++t76zDq1/Jqitcyv7l/XP7MXjg3/t0wM+9ADNwBp8c7AcTPfFkRrsfjwYSIT/
JUfBvv5mYPWDGLXMYP8r6zu+NJKGxkwKWWtl8CCJGkIyAtTZT9+/+bVFON+6n4OdeejZoGe7
Qc+GD+HxHo18k515Sm2pB2PrsAM8a4KlDBjXAvo7HNdGWRx4xZCWOtlolvmtNjmXVUZrqxjS
QORnYqfjFzreg1HJvVRMoJdAL91us8WL+viKgkv2VqiD/6JJEIwZYMwA2OxqzJDMxXiB3ITB
YwVM28PrFz0PL2GgDH3EWP3Yj78Vjm/xssd/Stj+rviWroWpRMl5X5bmKZaz63AcB1nPnYfh
devbvjBPAp0HOq8znWej2uJKj3wTrUepbZ2cJTuAgHvAPeC+M9yn/h9Igr2AY1+46eaT8AWU
AkoBpR3OSJI4DqRZCXHymQn1A4gCRAGiXUE0yg5Pnjw54BDlTgJR4QcQBYgCRLuC6AI1C8cn
+SbgpFS4HQq4B9zvJu5LC9lUAahEeqWhtOANoAXQAmg7Aq0bh04uZrzMRWDKfdo5iaP02OoR
nLMfzuEgzj1VNKBnQM/cSs8gSS0O4jCHdBCn2PFHfsWOP3ewHf8iku+Kb3nHXyFKThhjwBgD
sN/ZxAA1sy3GGMxFpwLMB64E3WPgA+4B97fb9PaC2CmtByDpHSj0CzYgUKlMIzDIcRk3QO/d
EOXPlDkzhGuBOuVZCS9JZuTvvrPa7YViK19b8Vzr9Ek+1LPZWkLFjeMc1Quqh6Oh4kCVBAMt
GGiBwu3OPl+cZJJ9Puzi9vmID+AT8An47Ox8EX0sSFySJC6neDgY8An4BHx2uBnijefCLA91
0K0QSl9tBiCuOxfnkYp1jlbMq6h2ENZrlDaZT1LvT7AfBhoKNNS90FCBfV1oKOxgGorQAZwA
TgBnh2cpbNxFirMU2MXPUtjQeQI+AZ/3/KwT4BPwCfjs6oyQ8lQr3zAsvd+Kt+hUPgAtgBZA
2xVo5YeFGWTVt4YRYBWe9S5QJY72hGCLhkbpahjcMwKNAxqnu100ikLplj5x8lv61A8gChAF
iMJKGOAT8An4rOhCR3HkeqEduaW+tKDLnarEDegF9AJ6u0Kvn4rBL/4kGCU0gCXAEmDZFSwv
UV0W69bMRcDJfVpenkoceNEXVACogO5UAEIgxz/+JOAnNIAlwBJg2fV0N/QzZzSNUWcZxWlW
nvSWfJWpbznkakfBKfRbPfMNfT4oF1Au3Q77r2d25AZeWgz9BYUN/wsOwCpgFbDa2Qmz06Ew
HU2+6XkyQgVkAjIBmV0hc577gZ+Lq03cSfAp/ACiAFGAaGed51I55cmdtAvlfgBRgChAtLu5
6NJzimkodrAZKKEDOAGcAM6uwBn4Yw5N/EmASWgAS4AlwLIrWE6CeTbLA4FN4SYALXwBpYBS
QGlXKA29ME7F8hBzEYRynxWtc/ELQoZTzZW7vdIKVLsGvPj9wvVekbSzLEfiNZ/OwI4XqDNQ
Z/dAnSWBnU/iNBzNEFJSXEJxbkz3ocfIDCEAw4BhwHBnQxLUGr4M3YJAByaFPwAVgApA7Qqo
/tHpU3FhCn/TG1OECsgEZAIyO0Pm6fDJMwFN4qDYpHQAJ4ATwNkVOKM49yd+caxZuAlEC19A
KaAUUNrZSpI99UaoXLE49yFR6MqRxAFYBawCVjvDaup5YSIegOJOilLuBxAFiAJEO5uRxiMb
VZiYkzInnZVyv7bteBQbtnC3F7QBaIMOtUEYzgtdgB1MExA6gBPACeDsbP81E8Z28Cfdc83A
2A7AEmDZISxTO5p6SOI5NoWbALTwBZQCSgGlXaE0c2aeO3JQPfoCqQqNoFXlAsQCYgGx3c1F
i4kon4Wu+zUl20l8uCMAgAfA3wvAJ3Gaj7xwHiA8FOBXqEwRqJyAW8At4LYz3MLzDABLgOV9
g2XoO2nsxK43skNXLBwrRLqErPIBaAG0ANrOTkxVPqiw1nnvIndh2guQB8jfA8jLa85D09L0
UF+bHrZ+JguvjMFhLFAMoBg6Uwy0PrhGYC6iCrgP4BPwCfjsCp/RPLTFXUH8Te8JEiogE5AJ
yOwKmXEmbNTgT4JLQgNYAiwBlp0tboUYCGJ9i7roEhfzWfMql+96MaxzAfoB/fcA/bOr1JuK
6SxzEfRzH7qkdbKBa4aDRe7C6haoA1AHnakDuGoI4ARw3lNwFmdCcIBAPz1CyaXzI4wXoAvQ
Beh2u52MRH+i7iUTirSRTDkAq4BVwGpXWE29cRwXF4epi14bZj7rXRBj9Q8rYgB/gH/38Bcj
Z218XRpZt37ai6yUw4IYaAPQBp1pg8VUnCbBn0QDEBrAEmAJsOwKlpM4ykeny8Nj8V6qIBCI
Sv4AVAAqALVroJ6UgXqiAvUEgApABaB2OO0NxXw3ZBPdEDAJmARMdt55npb6zlOl6zwFlAJK
AaUdLhF5WbFGhL/pIhGhAjIBmYDMrpDphrZ4N5B8E2RS6l7gWhgAoRdMRqgJRwiHVi/FDMVO
LF3qlVeT5Amr1ANzuIsNoTeevYD9IFApoFJ2S6XQY1pIHCPn5MmRephLUKUDXQVny/cosGmQ
AW0tUBGgIkBFdKYiciTxflCYCGFOaiOE+633CBmO1M99OEUGSgCUwD1RAhPbZYdIX5+/Pf8w
ujh79eH83duL0bu3b36lioGwML1A2QG0AFoAbaeDe9StKsN67C4G9MQXUAooBZR217X6OBtB
Q+fKmFj3yoMAdAG6AN2uoKtMjKVpMZ8UAzgBnADOzvrV5cR2vIZulfKwXpUFANwCbgG3XeI2
FTeWa4CbiovMRZC9ePyHOw8TqzcTi1DWZwsBCdWStT/47aD37PfBP7NvDg6+/ubgm+nz5F/7
yP9q5iNkpZ7tWr67tCKUYSv7hAhZ/txyY+vj3hdfODZqy0ePsd8jBCVC6+eo7T+Tv/2vP/dd
O7fpX+waZ9lXhOuLHMVjPUYR/tsL68D6/NlClYmwO/eeU3/PmcXWozMMym+tDDWwFU9E9r8l
SVp+Zh0sURyPrO/+OuThlj6K90tvmaTWY5zx/7AOv3pOPb3MdsiXi4QRV4sTJ9dWD8knjg6p
FAdLsdVPY5zfF30/8nPmqOTqI0V22D9UmBmtIczQEGbYEObYEOa4IcypIcypIQzxTb2AsXNn
DWc/iBHaSvyUWBcqjctB0rie35wQpxdSzT4IW0nu+exwayWfFwBkH2RfkX0h2eLTJP9sHLe1
4s/yvxbp38AxDbFdCyc1YOQMI+cOl6OmQTy2g2JFirnZohT3hR5xh3pE3tfxL3N/SGdHW9wh
0gLAeBCkvyT9TLLFJ5P/lY7Di+Nr6mSqPLgsYUtLSwyx2jglDwdhYXgFw6v7MbwK/cypXZZk
LGy8RdkBtABaAG1XoA2TxE6zwvghc1KLENwPIAoQBYh2BdE//WhRLFowFwEo95Fns7xb3dK5
LM8+zGRhJivNZIVUs4+bzGKLhb1S6PbnpdLK/1ovgNmJ58PdL+ifoX++B/0zYku90E7EO1rc
TZ/SEr6AUkApoLSzy16zee7GV5G47MXd9LKX8AWUAkoBpV2hNAp9DlD8SbBJaABLgCXAsrMl
qLmfXoqbXMxFl6CYD+AT8An47Gxwi5rBT/8UY1vmpENb7rfmJajQlVegNnCMFi96wREP0DOg
ZzrTMwiL4qVM8k00DKUCMgGZgMzuRgBpXnT/ac77/nTt79ciGYCtJ0A9oP4+oD7xoyB2LgXy
uZuiX/gCSgGlgNKuUIonrr2xXZyyLAgEp5I/ABWACkDtFKh+rMAUOQuQYj+AKEAUINrZiBdl
b4Sbxo8Ku70yjY58FS66OP20rcXpxM6yHDXbfDobLHJ3gIQHlqlBSYCS6ExJIBSKF/rQJ32g
D9Na3qaSNYEduqAFQAuAFuhMC/hIlucjeteDncwuKPRstsSx2l0SutUlz9iliUH790noFvhq
thuINKCPaB7iRw3jDF+ASUKsHNDH7Cr1ptg79cbMQgQJMFAuzrDbKzIRZ2FQ3vhv6wlEXGjQ
oqBFQYt2rEXl6y2CIOlQuOACQAWgdrwyguczxZoIcbHVEOoD+AR8Aj67wicdh7O7LfibXm4h
VEAmIBOQ2dm2Xy6utuBPut2Xw6UWgCXAsssB7XU4jov3w7iTDmm5H0AUIAoQ7Q6imZMHBUKJ
iwGU+qy2WE0256DPBUADoDt+XMzOLgNPbJhxJ31FjPsV52na2PMxHqdZSYuQpWj064Z22hev
jAoriZIpJnFtHd9m0Xaz2trCK5VszTbh4F4OqFFQo/dDjSaOMGODP4n6JDSAJcASYNkZLL3U
SeYCmdRFwcl8AJ+AT8Bnh93myA7dERvIiw5UIvKuVOYD0AJoAbSdLRn4obiJQ77pYgGhAjIB
mYDMrg/A52n5ADyiKAfgMQdgFbAKWO1s6Du7zlxvIQa9zEmHu9wPIAoQBYh2OdBN5ZFuWgx1
of8EcAI4Ox/rOqGrDnUxQRrpEn8AKgAVgNrZkTEvn4u7hNRBD4xROoATwAng7LYXnc69rGQz
gZKknpTxAFwBrgDXzmakqe0Uey/EQWeklL5Ba0dg8wx0AegCuMQIsARYAiy1EbXr4Vqn+Hx9
/vb8w+ji7NWH83dvL0bv3r75tRhnM0ZpoM2DrnYFgiJ+Y7cYoNsH/QL6pdPlNHjWGlAKKL3n
KKVdObZmucIYgLBJIwAabC8e/+HOw8TqzUojA+uzhUCFaszaH/x20Hv2++Cf2TcHB19/c/DN
9Hnyr33kfzXzEcpSz3Yt311aEcq8lX1ChCx/brmx9XHviy8cG7Xro8fY7xGCFaH1cyQHn8nf
/tef+66d2/Qvdo2z7CvC9UWO4rEeowj/7YV1YH3+bKGKRTiee8+pv+fMYuvRGQbot1aGGtuK
J6VCfEsStvzMOliimB5Z3/11yEMvfRT7l94ySa3HOPv/YR1+9Zx6epntkC8XiSeuIidOrq0e
klgcHVIyDpZrq5/GONcv+sTWK3VUcmFLaof9Q4WZ0RrCDA1hhg1hjg1hjhvCnBrCnBrCEN/U
Cxg7d9Zw9oMY4a/ET4l1odK4HCSN6/nNCXF6WcIVJ7PXCx0adGjQoXU17AyLPdyQ7+CGsH8L
sARYdgtLas1dQJM4OTypH0AUIAoQ7QqieA0V1a94n4Y5CUSFH0AUIAoQ7QyiWZIi1onAKHdT
kApfQCmgFFDa2Vg3tYuBLv6mo1xCBWQCMgGZnSETXiIBfAI+7y8+m602Az4Bn4DPjvB5ZRdP
lpJvgk1K1Y8B0OMBW30IgBYBjgDAEQDtCACTbslxk+d65Qd+5ZcqyxYEFUNI8l1x9bab6RyC
IWsbO35L3hi/kWl0/E4xtUSM31xQ3vUNFWfJLjqMB2A8AOOBjsYDyxAVKnZGeZCJNWmFRsYH
Kle773JLSmhFBeTM7FTWL04yn6TenzIJqSXFKSk6WU/hd9Dlp2N814u1JxyO2yk4XHYARQiK
sDNFCKZmAZmAzPuIzNSZJ2gKJ9Ap3AShhS+gFFAKKO2s/2ywFwLgBHACOLsCZ+iFApv4m0KT
UAGZgExAZpfIHKEUZXQSt0Ao9QWUAkoBpZ1NQW3XX/by1CsmoQWFTkMlDsAqYBWw2hlWxwpO
xxJGx4BPwCfgs/OFoiSTFoqSTCwUJWBSEsAJ4OwQnEjqU3zGkeNTuAlEC19AKaAUUNoVSoNP
MQco/iTYJDSAJcASYNnZWcrTk5EXzgPprIJMoicpZR6AK8AV4NoVXHGr+JE3uvSWnsMBqxIJ
ZEt8AFoALYC2sz7Wi2JU6cVdBe6mvavwBZQCSgGlXaHUSe1sxiFKHQSfjA7gBHACODvbgJHN
uOaFEVdGJ5fcUOy3L9X7Oarvfnhp9V5ZCDgJau/SHbq1RT9bhBZcJQa9Anqle70ySzyhVsg3
0SqUWlwZXutzoRQ+A6pk4AItwB/g3xn83Ti0fXGOmbmICuA+gE/AJ+CzK3xeorr0hGU+5iL4
5D7tdtJoqA49NGgA0ACdaYDMXoiNafJN7XISKiATkAnI7Gwr2gtRHyv2oKmLbj4zH8An4BPw
2Rk+UWv4uGACooJAUVr4r2ayjnW6rRjSk8fba11sD/wxKhSst4NSAqV0D5TSMigeqSHf9AhM
AI/UADIBmWDUA1AKKAWU1vSfBAeiB6Uu2ocyn/UOn7F1aXnwvNJEge+diUV6sSIgTzpYry+r
llbX8ulMAJbzQX+B/upMf1EQ9vI4DoQ9BYVG74UqXK2uOPBjOOs9QJjMWzs9iKBiY5ErW/hf
u9q0U2c2wEjCfQCoTVCboDa7VJuSthRKEmZjAEuAZXewTOIrL+XApA4CTUYHcAI4AZwdTzVQ
O7gFSFWiPNngfG2PptHcAAbToBhAMXSmGOzQ5eoAfxIlQGgAS4AlwLLj/tpFYaNJXOqwOVXu
sQVn2102W3KDbhv0A+iHzvTD2J9mYcL1AnMRfcB9AJ+AT8BnV/jM5lniRWJozZ30vg73A4gC
RAGinZ0eGuJxrDg9RF309BDzqTngwzflPdzVlrboy4to+hA9Hv+BrbBbPdSKEc50hloetbXV
z1Ebv+j7kZ+TTwOHa+c248CfxpysejZJcLd5qACOGoGyA2XXtW0PD5/tSb2MHTR6ff72/MPo
4uzVh/N3by9G796++ZUY/SjYqOEPKRgAGAAMAO4KwE4yH/luIE47Czc1yyl8AaWAUkBpZygl
siwwSl0UocwH8An4BHx2NwwmDSJs3DEnG+syP4AoQBQg2tnO1jz65CfD2mkq56EbXjwA4BZw
C7jtCreYTVjXoQ4CT0YHcAI4AZzdjXsDf+EVBuqEm418uS+gFFAKKO0KpfNo+al23EsYCGQp
K8AV4Apw7QquqMLHYj+GOuiFR0oHcAI4AZwd7pfiDdERQsJc2jMtaHzfVOICxAJiAbGdLiCN
HNQ2nnznqUwuFpVkXoAuQBeg291thxCFKi47EBe760B91mv2K0S4dy5bsyqGRgWT1PvzxqYe
+dUrcYC82FOW1tj4/ECtm7WfvtYvbK63CfI03dSjsKR+Tlo16TZgbQ7H1KEjgY6ky1kbRqE0
YSNOPlejfgBRgChAtLtNiuBTaDdsUxAWtlFB2dvuxJF2GOAxCXTgoB1AO3SmHVhD8w6cO4kq
EH4b0QVkigjaALQBaIPOtIEduqMIJWbndiBZmSto3NycxAWIBcQCYrtCLH2rhj2Rib8JQikV
kAnIBGR2hczLpxyX6IugElMAk4BJwGRnJwDx0wZRfKW8eoDdxcMHxBdQCigFlHa5Yh03LljH
xXo1M9HmzsPE6s0UI0jWZwthCFWQtT/47aD37PfBP7NvDg6+/ubgm+nz5F/7yP9q5iNQpZ7t
Wr67tLD1Niv7hAhZ/txyY+vj3hdfODZqxkePsd8jhCJCIwbfPpO//a8/E+Nu9C92jbPsK8L1
RY7isR6jCP/thXVgff5soXpEsJ17z6m/58xi69EZxuO3Voba1oonShG+JclafmYdLFE8j6zv
/jrkYZc+ivtLb5mk1mOc+f+wDr96Tj29zHbIl4tkcbXzEGLBj08gWjZNPVuEsOAHqhZUbXcL
fpnvioU+/E0X+Ai1xuplGktWLamjkquPAHnYP1SYGa0hzNAQZtgQ5tgQ5rghzKkhzGmFJc9+
6gWSNU/srOHsBzGSmhI/JdaFSuNykDSu5zcnxOlqjyg5CLu0vdPKeTbY6QVVD6q+c1XvhfNA
en2dO4nCF37yMFrYadnSMbTI/1oG0NAZ7kpnWMg1/2LdoCT79Lr2lgo+zfxapB56bOixocfu
8DTG5al8DgO5xAkM7AO90s70SqzHIT+m/oieyt3aHolmf3NLmeLygbyr0+48F64lQc8JPee9
6DnHcZzXGyTFDNQaKWGFjnSHOlLWVbIPc2cab3VfGsP0Djop6KS2u5OaJZ4wwUC+SX9EqdAf
7VR/FPf5QRXWG61oniIPbWyewolTb5TY6SWCAp3b0L9JHAd4Qy8OnZx9kHMblrdA2nXkzOwo
wracrWmKNOWIinxs+SmeF10iKBPPS+8aMboBefrw0lt6Dn1pEB8D8cKYmMAIkebwMQjRdxTn
/sQn3Ik99UaIGjvETIbnhQm2nYFSm3oZlmMrc2aeO3KQsvDLzqFwI/U/EQ6knyPn5MkRJ8xJ
nrPZPHfjK1w4rL5oEbI4JZEmfoSycIk/EeRHWN35EQmVp7TKsutwTN96zK4zWlm5nV0GJI9I
13jsBxcqT20Huxdemvn4CRhrkSUonhzn8com5ViGpNSjPMgwNXXmiUs2UKwc1Rn7GSF1QmrD
9Ze9HNUOdozZBxUKxBEjxTshjRwmdj6Q2n+2CGUnfZdRpmg7uaUVbXk1QR0OqdJI5sXHrbwm
CRNhGGPAGKO7McYiFEMM9ElHGJgGsARYAiy73NmZHB7IWzvYKfZ2iB9AFCAKEO0Kov7p8Mmx
sGlKHNSSKaVTcKJCorTOfvr+za8tlvTWKqAN3G8D6gH0APpbgf4KTYTnyQjXO4e+TLrACkDh
gT4a+miAa2fGL5zcCzwxw+VOagKD+ylHmslm75Zu/NHMw2Fm2F2QDzNTiSY/N9lboOv75GwU
sWydJV7k0l2FEX5ho19+a4OfqJLXn6VUS91iuxay8UmrdZvHVgxYQ68OvTr06h2+K5LiSpZf
FKEE8ZYI8wegAlABqN0Nv71i6O3xYTe8pAewBFh2C8uenXi+hE3q5gBlvusdQJNjLHjSDMNo
UAOgBu6FGhiRZ/ckPcAIXBFw/7btPIVg5gl0AeiC7nRBYk/JOVhm9ZK6qM1L5tO2CuDDA1AE
oAhAEXSmCJbivDlVBcJNlEHhCygFlAJKO1sBLx7T5u9nw5PZgEnAZMfTaXw0+8+5n15m8pxa
ooqJtcwJuAXcAm67wm2EAKG8Z1YQCFolfwAqABWA2hlQQx+vRwuYMicFKfcDiAJEAaJdQXQh
nfhYiCMfCzjzAcgEZHa7YoTtobAlI/RJ14wwDWAJsARYdrbvOhSXk/An3XHFtPWevWK3PODk
FaAeUN896rEJstj1glEiDAjIJKIFFJ7VrmzhNeUIlYEuVpHXhIUh+MJqSHHxkZ7Flg58yke+
tFVqeSGMD+k38C6UM/Ocy/2VK4DaSQuJVTZeEvI7chAUPD+axKRsOFb5php+f2oA+hH0I+jH
7vUjBqPYQMPfdNuMUFu+OYp0DpxAA/AD+Ltb5ieVKtklLAh0qb/wB6ACUAGo3c9iUNXr8xhM
LM1kCB+AFkALoO0ctHY+C/AsuQRbRlaBy3kBugBdgG5newUhe4CA7RcwJ90z4H4AUYAoQLQr
iI5RrbPXQShICwKBqeQPQAWgAlC7Aqp6SUO+nAGXMgCfgM+u8ZnmDgcn/iTIJLS2zRDQvWXY
AgL0A/q72/8tLHZzY92w2wOYBEx2e1K1V1jcZS5+XpX4rHZGa1k8aCkubamH3cobRvo6tDKP
bvc8CJglAu0D2qdz7TP+5If2lC2rvT5/e/5hdHH26sP5u7cXo3dv3/xK1toYD11p4wEAt4Bb
wG1XuM3shVgLJ98EnJQKyARkAjI7Q2buLqa2wCZ1UXQyH8An4BPw2RU+F35sowoT1hSYkxpU
4H4AUYAoQLQ7iKa+69tRgVHmZiDlvoBSQCmgtMuFa09dufbkpWt4Jw4gChDttiMNlKFuII10
AxjoAj4Bn12b9cv8wqxf5nOzfpgKyARkAjK7Qmae2ok4xkwdBJuMDuAEcAI4O+s25UFtMaSF
AS0gE5DZ+ZpQErvKaUbkLI4zYj+AKEAUINoVRKdzVKujKzu4HA3Zsb8ffzm7+IBi//H87Y+j
N2f/ffbm4sUQ47fgpRBWwwKOAceA4+4GwXkxBs75EBi2XACWAMv70b0e1XSvRw3d6xHgGHAM
OO4Ox7hV/MgbXXpLTyw2qUR6gVblA9ACaAG0nS0/OWI7FX/SZScHNlMBlgDLTqeq4byYq6Jv
NlnFVEAmIBOQeQ9mq8c1s9XjhtnqMeAYcAw47g7HtpP4ozB0JlPez0oUglaZA7AKWAWsdray
5IUjb+FFYvumINAVpcJ/vY+VZosQXioFJQBK4D4ogRAn1ZvY4eHBrDDKKBOZfUaFD0ALoAXQ
dtlzJ/YUFU/uuhlF9N2cA7AKWAWsdonVbGanJbBykkCr4AG4AlwBrt2Oh/3p6ORYHQ1TkjQW
ZjwAV4ArwLXL3tV2HC/L5M6VUUTfyjnWvIw1s934ClayQBWAKrgPqoD1yj08kvbccu/NyUoP
LnjXqxlmdiKrBfKAwUlrLxrNFuEgW4TwgAGoH1A/3e18Z77QOeSb7nYTKiATkAnI7AqZSJYT
W2xyMxdBJ/cBfAI+AZ9d4dML5wECAgcodxKECj+AKEAUINoVRN04tH1hBp25CEC5D+AT8An4
7AqfiC3l6CTfBJuUCsgEZAIyu0JmMrvOXG8hbgMzJ70RzP3aXiEOwwHdrII1YlAGoAy6XIkK
40haicIuvhJFfDagCWZ2AmoA1ACogc7UAEIg1wH4kygAQgNYAiwBll3BklZqtgg5OAsCgajk
T4GKCozSPfvp+ze/tljqW6uDNnTANmgAUACgAG43PA88O8XXpsRelES5IMN0iQM6a+isAatd
YVW2AB94Cy+4iwl5FgEgGhANiO5spTyw80mchqMZQkqKSygWzXUfun5uCAEYBgwDhjsbQSfz
ke8GxfiZu+kit/AFlAJKAaX3YOx81DR2Pmp6HwLGzoBoQHTHiJYWrcVyNV2oXuu9xkW4hOvO
AHmA/D2APBpMT1LvT2mkTZx8oE39AKIAUYDoPRhnHzeNsxst2/Nx9lo7dHoBEvp0UBigMO6B
wqCVOpLOh0kU6QwK5dgLXAtDIvSCyQg16ggh0+qlmK0AND1YZtrtMs3iTRpHTVOcT33j2Yt2
j6fC8Zp7qd5Au4F2u9097yhPr8Utb+Igh2oYfRNmkhbhEs6+wxAHlEBnSqD5pip0+/cS8oB4
QPztVkGSdJQhoXXE8yIShQwAZA7QAaADQAfsmg6g64zqG/YK7aIwxwYv2MM4HRDbNWJTzw7C
2BUn+YSbjNcL37Zn7XRdc0BVAywM3mdlA7oGdE0rC4MwEICBAICz00MMw6brdSFqNF8+tTBc
dYMSUA4oB5R3f4DY9cbzqXSKmLr5UWLm2/L+f2m0v5L+CEP0J0/tJMMOJF1+5PE1BCtxfPTX
dhJ/FIbOZNrXXjJWX3PTX4YRRuKFqdvCbp/xBqJ0zak4iMliGeh6T1n9LC+BkNp+0m5tw6Tq
Pqt00Oig0W+55Jpcq7ZMBIEttgp/GHrB0AuA2hVQF6Ez5hgl32TIRamATEAmILMrZLqhP8oc
mxnsfX3+9vzD6OLs1Yfzd28vRu/evvmVPIbBmehzGCIIQBegC9DtsFPNpE41E51qBsgEZAIy
u95POGoyOaLtJxwBcAG4ANwOu9QknIsuFX/TLpVQAZmATEBmZ/NUsjE1wvLt1s9VZUaneL6R
B4WdoHusH0A9gHpo5XjdSrvsCHx4M1y8x8yu7MmPYljiLzsswBax2RhBv+fbyqY2vuaLsgDX
fGFIAjqnw/W3ZbH8tuSrb0uYKQAsAZbdzuFHTpx6Q3kmzyhiPs85AKuAVcBqZ1iV+9CiE5V6
UZio30vIA+IB8a1M1OPxH+48TKzezBp/8kNydtP6bCGgoIqw9ge/HfSe/T74Z/bNwcHX3xx8
M32e/Gsf+V/NfISc1LNdy3eXVoTyZGWfECHLn1tubH3c++ILx0bN9egx9nuEwEJo/Rw172fy
t//1575r5zb9i13jLPuKcH2Ro3isxyjCf3thHVifP1uovhA6595z6u85s9h6dIZh962VoTa0
4kmR/29JmpafWQdLFMkj67u/DnnApY8i/tJbJqn1GOf8P6zDr55TTy+zHfLlIoHDFYOPs1o9
JIM4OqQzHCypVj+NcYZf9P3Iz5mjkquPNNVh/1BhZrSGMENDmGFDmGNDmOOGMKeGMKeGMMQ3
9QLGzp01nP0gRogq8VNiXag0LgdJ43p+c0KcLsk1/yKMMBSFoSh0TB2f2ThuMl+tndk4Vjut
4nDklvZaRQGg24JuS+q2JMkWn6zjkuVf2WzdVgwohQAcAA5kHKgSrjgZHlbabWSbi4WZIXZ0
l+4hKIuUbEVkg7uLxIjw7TZNZ4mHbxLPyEapfzp8ckwL66V4CIO/Y/wnxTeGwzwtNlhpiCRE
gw0PU/+c++klrpA0x9ecM3uBo0dDjsXUxnXixzYa4ZCv1Hd9opkWAaeFmU9qkbpIwmyPNkPl
kwqAiio5W76OPMO7tivVKx1b9yVTE8UhUWno0bqt+mxmu/HViplO7CnKA/4YhvRvj9Q8/vDE
VxK7JXP9JUv9JSP9WFC8cOQtkPyzb5EQduBr7IXLdhwvw2JDcy439cxONtfU4aotzSR27KM0
MuUyPjti4HqBfU1VjZMH8i1973R4gH+WNAuxNQnm2SwPxlX39v2j06cMls8IFEcsdQoXP07i
NB9JJyAoTH0njR2kpEZ26CpujOtApnBjBWGS2GmGnVGIY47moS1sFeD8JHPFygCaa84T0mjz
HLUaLlwWJvTvOI5xdWQpqRU8qyWNnV1ntDqwwqD2ERxPspOA5rEp7nPRJ677olBlAwpOamfY
MEHOEmIabElmxsy0gixGKO+yE00RcSUqgqaqmFBxxWhuN0GDHpnGjEJIFHVtwHICz07ZXWb5
XnN5LGbsj4igH7ck6HVSnqCe048uUbbujifcOHIF3T1Gb+KvJUKqqtcSlZv6Cy/N1hLXMgvX
W19rqav0OsljWQt/azXKTw+11P2SIWjyOzS5RYCHdS3TWdidziOmx7GL94FUOnoh6rdOEg/N
MHvZfIwUf+6FLw4PkJMoyd4YTRBfHCwn6N/p0Dk+PaD/MDteTXtx8A3+nnl2wj5xJ5L0SAeL
XXQWgBdTpxFeCkVxDXkMWFWXfBA1tP+IU5Y6bj4UHC8QoZxGGn0o+ONMJRJmiVjELIppCKD7
oXAfcL31Azezem9LuCHV66HZS9ZD0/Tweg2Cn12H4zgo4uvdIco++tPHOdUbsH9g/fWvlnUr
IXBACLZbCBxFCL5FqgCXIbwkpWhL3FoqwHdriDftX6A6iEK8nNZS6T8jqN066jxGwsCFYi0l
zkiJ1/ca5FoaYS1CnkHXthatdq9atLVe8BB6QZCXG/Q3hxvrMA/bKsAauo/D1jvMw3vWYR7e
vw7zcD1wOYQOcz0K8OPeF1bp371q5DvpRBbRnj9BsJzYQeY9t/KZF1lpeCc8sHifW2S3eP/s
h3Mrmyd4qdxy/QxzuvvPLZSwyWfvjomL6iEb6F+bV1s/WJhLbfGite/bRK+HIsz6B3trUM0s
KqSI74UaZtlBavieKGGeIWkToJVHbMDC8n0+FgmnIuFU5K1ORSoqhB7aX49+XFcf0tHuZkv9
rVKwNVXR4fq62cP71c0e3rdu9hC6WehmoZuFbvb23ezhGrvZw7V1s4e72s0e3n3FgUS0jkk+
zRGb5ffpWZXwEtXH0fDuGbxTDNbB8pAugaGa/wcZTqRryNJna4aP/aOxySG/KOBZ+9ngfz9+
+dv/Wr9//fGr/teDg+XHw8H+P6j4HbUmftNPfoJbsPfM+s+71dV3d1tnmn7qR97VXrhYRzR3
jWPvN6vn3i4S189ypEwRIQiILFu/4+sXjIKj7YUHT588Qb3vmhLYE3GHByfHx7eOuCj+mjJG
OI77w4IL1WwQEXHLLIPnmtPdbHKbSwwntd42v4OqNFcHjk+pAbw2/Rs+3XjXxWjrd7a2je8a
rQmm8ywdBP745HhAEmgRr0pK9L7UmtGLS7DmfOo4FpnHEp9NdHlvMRddJt5V0kXCFEb4XiHB
GqLvWz2bUPYVaNxPueKZJv/VyBUa8eKCPrpzio+sF9YjlaDUUrGzxfzJFN2Ko+DaSuw09xHp
2sJXGa0vEdfov8/evn733opQv46m6V/tF5ciWdYnPh2yDdc7ZNunsR6uO9a/wL+N//ve6pGz
CiOyNNgP4un608CzFgR7/Hv49MmB/HtweHT89PDg8C+HiHLy9Pj46HD4F0Qcngz/Yh2sPyv6
vzkSwtSy/kIEtoavyX9L/9G121cWaX7rTy+c9zA289R2fax97KCHsN2b+JG7V8Gr+BOtsLZl
V5LS/h7SbmhauiQ6Delicp8cDYamfv4tUdxjP8/w7D2L56nj9Z04HIjcFcNeP5eUbXiJ8oY7
oqoik8S8IPNoH7Ak5wl+PP/wgsSDabcv0aDfH2RO6id5NkDR9ZyZ51zG87yfzW5eKOvp2PWe
HJ+cDN3jJ+OD8dgZet7TU+epfTqeDJ1nT52TkydPjo+f1BeV9xVttF9dm/XjdEoLNk+yPPXs
UC1dbZvdp3ZqKkhoZ3gdUs67xWv+VRBHuL79KEcjAAVZqRfGudfPw2S/3+9XcZbxWgq19v6a
NWyb8Raaho2G2pNPMUhqI2JcDr4irpTkaO0J8oXzImHMNolTz59GewI+eBiNhvReMNljc4e7
J4mhgv6/lFbvk/k48J3Bq3c//3r+9kec6iaSw8uJPTsN+7P2k/Htk+NNpIPX4o+Gm0qp9TLh
3aOx7Vy2nIwbhwcjfJ2/9WTwFfh2E0FYjbBCbzkVbN1h5MzsKPLaLtHEs/N56rXdOtPURkVi
oVpNiVoyaDeNwgRH6+mgrqjlRLBRinZT4KYtWk6FGfloOZkMjT7dttOg5jzaTSRH0tV2EsQM
SbtpLLD5lJaToNcJWk4FkfAxnvZT6TGLAq0n1H4KxH4MSmaTg1o82tzICLDVRGaLsNX4/Vue
JFm17bNQbnTK1EN6c/DGj+ZLMrdCrlaFopi/tSXo+BtFn+Xp3MkzKucsyQEtGi85m1wSBj7R
zOO5Q4P00YyzhdOYavalbOzvJdf5LI6s8BIfa/HSfnJt0dmTtc5JlJQkq716RJEAXWdgsymT
BKuaAymydc40b90cXWbgnjQH6VXWt5Bxo5rYfLKlaiALurQe+Kcj6wtWNfTANztRzY8wG05W
vxtaKBeGs6fmE9q157BjnqMiZ3v9Aad9Z+Vh0se2cvdcfzKxenMr9SZeioZyHiEX/mlYfK/9
/GiNJl5bx0RpThpnWa/FozBy3yekczdKgQdd218SBMidKMTWtwYf521zGba9Dfx4q7OPp0jb
nH80DWw5/+KkHE6O76GtvSCbLMTXtx3q3ZcCFP1pK0XZ2KijolDYYHLLBduA2tULh7vcFsvV
/rDEXKSWm2szAxWlaHwC106pNjNqUQrUXhNtuGX8uKVytD6MUYqBl2nbKUf74xmlINjGdDsF
wQObtV/zMxxOWuuZ9E0d4wr88dJp/RAXSYUlir6z1hbQWUJ4cetev3nIbpZ/ePfuzQW+Xy6u
bC8d8joPua6N2d68fP/j2Q/nb85GF+9+ef/qTKGdHAtq3Z3216Mf3/4iOM+LlURmh4vugkjr
gKGf4YpQinvev629AKllFG3AwIMUQD4jD3Xh++m92BJVIL4ca/tbFN8+h1Zl1aC4tr51k3mC
iv7QG5fXguzY9qblLyI96JYVz0IV39vert4id2YPvV15JUjf296u0yhHNfLA25VXgvS97e2K
6tR54K1Kq0B8bXuLTgI7u3zgTcrqoPjc9kYV7y4+6GYtXp+UHFvftKm/IM9WPuym5bUgO7a9
aVGYyQNvV1oF4mvbW9ShF2sedpvySpC+d6Ndh9CwtBZkx7Y3LX5q3Dl5cvTA27aoBsW17a2b
j+cPvYulVSC+tr1Fk/CBtyeuAPa77W3pJPPRLM6TYD594I2q1ESZsO3NnHrZPHzoM1heCdL3
trcruXz/sFuVVoH42vYWLWyCPOxmlepBde5CAyf2FOUEWlhURMm9C21sO46XZdDGoiJK7h1o
42yWQvuSSpC+t71dZ7gxRrBoIdWD6tz2BmY3R0bMKtrDbuVyZRho293eeQCHykUdFJ9b36hB
PJ166Qi/WBc/9MZV60InbXdjO3hW4MHZRlELsmPbmzbAZtYeeMOyOig+d6JRR3Hmegk0bVET
ZYJo5tc/n7/a2samI4vEdx5kQ09I06l39/A7vdr1va1vY3p7DdrZKteH+ULfdrc3v9AGzW2V
qsN4xW+rG5vfcYO2ttTaMF362+qW5rfeoKUttTZM1wC3uqX5PThoaUutDdPFwK1uaXo3DtrZ
kutCvyq41W3MLstBI1tKZRguD251M4vLc9DQVqk6jNcJt7ux+XU6aGyrVB3GC4Zb3dj0jh20
tCXXhX7lcKvbmN+5g1a21NowXULcgZYeQlOX7iQqbT3ckcYubuVBa1vl+jBfVNzq9qZ39aCt
Lbku9KuLW93G+P4etLBV1ET5MuNWt65ykQ+aWbvbWGxi6dcbt7rh+f0+aHNLrQ3Thcetbml6
5w/a2ZLrQr8CudVtLF0AhIa2tAqpuBS59U3ObwRCm5fvSEqNXr4mufWtzu8IQquXb01KrV6+
OLntrU5uDkKLW2ptmK5SbnVLSxcJobEtrUIqLldudZOXbxVCu5vuWvIjDBXXLbdYAsSFQ2h4
S6kMwwXM7W5m9eohNLfhPiZvdvOVzC1ufulKIjS8VaoO4yXNrW5sdk0RmtpSKsNwbXP7m5lf
WYTG1m5xyk1evsi5lU0+hQcOUCtP5QcOprvzwME8S7zIfdBNK9WC7Nj2pqVX0/DGXv7QDdzo
lWGg7Uh7Z/YCGluqiTJh25s5nkxQ63hk8vDA21mtCo2y7S2N6j1ByilD8T7whlZqokzY9mae
LcLReO4HD30QJtWD6tzqBqb13COlf8gNrNaDVZHdgcK2Cw0fxLbrPWgzwKWKaGp6xrcLbY+G
nX40edDmJ8s10dT6nHEXmj/1gth54OtmWlU0CYDg3GoJoHNOsCwsV4Pi2oXWHcfxQ3+FpagG
xbULrYtqGsZuel3opF1o7PEnP7Sn3kNu8BKo1Qoxk3ei5f3oIbe62uhFXeikXWhsvGxo52BU
3FgdRuoutDoxxPvgG5vUguzY9qZ1krnvQuPK9aA6d+G82RQMoclnzaYlQ2iGg0hb3NjSQRxo
bKtUHcajSVvd2OUzOdDmppNKiqFx/bDSLkgAPagDza+dXVLbXj2+tNUNr57cgZbXTzOxpjcf
aNrqtlcO80DTa+ebxJMxhiNOW93w0gEfaHZLq5CKQ0/b2+TqkR9ockurkBseg9p6UeCryyAL
5VNRKwhDeR1+66VBHAoCcdDOSa0gD9pRqa0XiOKUEEiEfnJqBZHQD09tr0woZ4dAHqxyfZiP
U219e9PTRNDeVrk+zAestr69paNF0OiG81ZSyxuOXG1985fOGT1QETACX6uZhkNY2y8LxfGj
ByoHJjFQKqXmWNbWN796GgkkwHxKSxn5mQ5qbb0cwDvy+rktqdV35WSPcnAJmtvSKmT3DnN5
kZOnATWKNTp7++7i1wtoetz0VRVj9kGiYKdW6uAlIsbQt+mWIb9nhb+UI4EJyoZsC6WvPHEu
P4JdPJQsvaarvLeqvMdZPNkoP+unvPumPgtWPBzFHxjSXqCRnycpnrAovXFQNn9fNowum80u
WVU2GduV7LAabHQq1hsl+36a9TcKUgwD3tK9vwff9LI4QhAl31KjZXH/uD9EmJzZqeeyRT/V
s39QNKzYGOZtWygJ2rzKcZHyw/Wl182VZ7DV15LLD+qW31xVHucsveBYfuRPewVOeS5MelvK
9OxQ6W0a5RET/Y0LwwMIBuv4JRPquoXtCrPLqnVes9HWsl1P1fyjyTIgofUCN7BUTE/nXpZj
UE9LSJMNldXYtCpMH+k2cjRjKrLhjZKZhvLdfe06t36/13jnU70jaLhOVnXfSL+RYr60YDj+
HO8FEcLWxAgqjVbJrFIIvlHnSiBe4Naop7M6zb7W7oVSlIxahSYyKiAqYVUaSPbFKqh87lg/
mlp/bFE5zmY86GQ6AlM6H6Fvnxs2UU0bacatlKr1dG3B1bwYV7M8Y5yxV87izMM9QkGa4VP7
gmKpol9qep1YzV4i7YX2pffb8e/fWm88e4FHn66feg6Sj2vrH3ct1v7eWivGSeMs6/mYEw+K
ERTCg6dPnqBu/HYN4PpZPmDRDeZZipPcshyzMWuruRZZNuno7aj48ODk+LhUBHuNea/pxNaW
yOAG3WFLiW6mjXh6M/5Fh2HEiUOi4RxybC1+Srp7KwHEh74tIaitKhrcqKNsK9mNoYgmuG6o
kAHDUVsDBhL7cN2xS/Ge4fW3NUds9V5ZZFpusQorKmm9yQ1IKvvFoK296HGZ5rkfZGqZnrSU
6ICktb/Ft53xfCKJA9+5XutdZ1qMabEaepdFT6mqmRJRZx2txc7XVvm5OamuZMdWX3dHjB6a
zqbOes2J7aQAyHUlO7ZaAKYgACsLgFxXsmOrBSCwx17QSxwf2r+xByiqSvre6tZHUtwbkz0e
aPxG8LOaKj63uukzaPrVO37e9Fm56dE/ZVxwl2X1pvKW1tdRzkiIXpEBkadp13ma6nmS1WcX
WRLpFzmSh/SdZElkQG45LmwdtRtJXpbuLvPDk7/LAlRN2q1vdmRjP9pM3kXGy6KlaQkNomWA
lGSh1BTrrBmxPrPehTlleaal3UJ5WWv9S4ty7Nu4tIi8yYZ966uLPKFtXobjZRg5gU9OHK1z
RMYHYnc8e8jzuO5hmDHe0gBMqx+NsgunWNduy2Krm773+peLs9HPH/72/uzl69KxVn7abidM
WCyzEapLaHsF9kpri/rh31s97y5UVxzl6brn39vd7CVtzytIJ223BKz3wbadaHNysH7LX2bj
mgrattS2tFp2Q3tno9wdj9x5mEBD6w1d1I3i2uomJ8sI0Nilxma1wn63uoGRmELzlpqX1An5
u91Ni9KLHWjdcuuyauEfW93GvMDu+p9F3IW2LldPmbAjbX9l584MGr+y8Vn9aJQdaX5+Nxna
v6L9i+v5ZdKOSECe2lFmOzm56AliUCEGSi1V0LdaIGZ2NqM1BEKgCoFUM9L3Vjd2Ib/rf3px
F5pcqx+NsiPNn8SZD81f3fysfjSK02TOgVpdyOL+Uf9AN+cg+/YPpY3ZYsvO6gXcYg21RJIp
YW2+9E9DqFcbS9HrxGr2EkmUUj9KsO42EEQ1B5bcIJYhP2Kzq4sM9Vjy1GbDpMioYPCWfpZn
ld4B8q30xK1f7RlWejmzMK4OeJX6uVedoeq8kolP0QLKqjVf1mTrX3ydRF3d1pvPMLnWJ1yG
IXhpOMZ3SkS6anbkHrxOtXO0t6K2ylY+ZD1j3eWoozHJ1g9o3vF8ZjeZvuup0m5yvQbDBZ1m
XKTeo0Z3tqsgaEQ1SOeRSNndvuxjuwQby77Ie6Hdtge8WuZFB781WlMrwhqzjmYYVs+znlsT
NMR3LD8qj3PUgY06kpGHLqWxSmlwIo9GSsMPlLYbWx/3vviCjlLWVrbB+qtr8Pifzr9QhlFu
3TjaQv19R0szN5JW48ylJZszbaUyuNFMq61k228yxT4Qn49ukcgVZnNo5u+RhalbFYDMfra1
EHRMOFhm6y5BedhJkth8sdpoHEPRaDJc3ZiKfst7iNV5yOrSa6fYvJgt3R7jxdjiC2TYfnTr
l8dwIlt+cSzx0kk7C993rNd1L3hrcYqbQlsQqxiUb0Fmpd0DKlzia9s3i7A5eEDK/Y51W5ES
9vkvQ8m2gqSHn0Egyx69xE4zDwBzv2PdLsDwXTNNyvB+GoVS2WuL+5xpntqOt/C9K+h47nus
24UjZpRMki/ZsdUDNVoOHBGA5r7Hur2gofIlO7YaNKgKgti5RAnBasC9j3UbUaMImOLadtyQ
/Vg3nroAnPse65YCR5Iw1bntSwWul3tODqi537FuF2rECgETLmlhgFK2u7fpzRahk7d0VwFQ
81BRI/oaIV+yY9uHaKQcqZ21dMEbYAOwKSRMdW49dIL4KvRCmNzc+1i3FTlCwBTX1uNmluCS
Amzue6zbChsuX7JDvo4rjt1IB3HWLjeVb7uzwwziaMMmUy42stQNrl4QOfM0Q7Av5ZMvRZYW
KTdcW2JZp7zks+F8sEG/OhnoIg94/FQeW206H6w7KnVUbeeiDf1Wvr6tIwZ3fOrultYqRM2o
6meb6kKOnz9NvJnKpjfG6IUxF18YI/e3+GHlxy523u1qlJaX+371efMZvuvNyc3nmN1YXXtV
J9f5LI54Ur2r1E6sR+K+HvV9tFZk1NzOdOIok9Zn76l03qMqI8MqNCOZCm1Mk+8ldk56TLcY
+2VkHCQGY+XDcfpgifQCpUGRMjTp4QsU9BKqYbQgOm2552T9xj1F8T1qWdRMi8jLx3G8LhjI
GqSpE+L3ZXqpRwbKrFNq6ZIRvTyztReMvKUdJoGXtX7JiCe0v/cb7mLuLhZe7mAG63fr82dy
hXwNmdtct8hyrwizj4UZP/Tz0xn76aP5N7mC54/9wM99LyP3z/FYFon8b/j2/tqyMnjsi7rE
CbRcneJqJUp2bWUobueDkElCtt7KGNjzPN7uGiFF0LGHxxzYRMjEn/azJR6icNcyRCOUkOX3
0Cq+h8XnUfHZR2MI1dXL8vnYjWVqsuhN0/lYokRjV3Itct9aBkqMQRGW2LuiOU4cv/fn3E8v
M5prTkNDJ9Q7Zf7Co/Sgj0tjOck8QTUNmmQ1TdLSuKHoD7d27DCL8ySYT1sfOrB0pDdM20wA
lwx1umEcqQV70lq6A5rc/l4aYiM4jxgZT4P62exRPw+T55blObPYenTx/fnb1+fvX3x8JGYR
Hx89sr77rjaUGmi1MG/Ovz/7n7NXPJA0Al8tsJQgCrtCmIu/vXx/JpcNm9lcIdzP78//++WH
s5FayJvl93/O3v5w/v6nv6s5EHGgicxqkYxevUMR/ThikTBlsmLYi1fvz3/+UAo7yJzUT/Js
xTjevHv1XzwGYiwMzX9XDPr+l7dySGYlbcXAP7/88fztj0rKrPLwbNCeItDUxfSFP7H+zXLC
xOplRgBoxOdWPkMDs3BRBRlDCC/IPKsOZBN/3WMl1nprGS6p6oJ1iZsdN7Hi6EMnvbJp50/N
e91tEHCjcotCr3M0wMtdjAq0CuiwwC0Mf/QCt/RGebkLbOmZ8s0PId6Q8fmmRhAktbUurfiR
j4+0E721rgxuXGXRQmyDTu+mfmSVvsZK4hOD7a8glvo6K2fueosdqBlcDDRGRDNYBDCtN4y8
/CpOL3vj1HennrXwJ/yT+6TxPKce9IvTIzsnVPY7JA4U/zyxxngwS//2PLxWQj/p12VuJ9Yi
T0Lyp+d6gUdNj/ZYPfWcwLMjFI23RCo4sgPEs/Adrxf609TGecmczJdXRe6+fHGTJtrQwGWN
kux6E3se5FveR7BSGFcDe2PbufQit08Enays0c8uxWTdwz0ZyTUDXLk67KkX5bsEFZb6Wqz7
3qokdKSCY1zvAK7LgpCHHrKdKE52nfGdgHUXjOkfqcY6bDM6DdvBNltvwaQ2YxF32GY9fq5l
va1m7ADocKJHC93PZhYegaHpLP2cTtmnMuwSvJjKh3kFFY/vChcd0km+eDBXcuoxEzIdx/kS
xQ+TYJd66i4WZtjKwkbWZda/y6bGv42bbMibHGhrfZeNJ7TlloBJGe7dfSWesXXfWTLGq79/
xyql+Nzqe2mIMUPtBI0sNbKoE/G11U2MB1b30DxExzAWFg1kawbiXguJYcSaXxKIVspbf+GI
9liS4ukgD+w4950vfq2e/roT2cjVl9+s3ifrEa2oR3deyuumHGu6X9JN5skxl0FoR/i/wy3P
/2nb+ZcvGahaRmi+9WFj3WVp/YrGrWpwhGb4ob3OC0ub1ynKRSyk+LdOr8ivQMmtsrYHzTar
ZrTi9E/bUTftPR3EJsPbu3DgkGeT2183oOls9bKBM0o9esv53s04aO2ufcJhiHYttj66yC+d
HkltKDu2exrsjDJ7AVK5jVK57oiXa7HwsxKQqMyJr62GEH6rOIpzLwMQbSGIiERKTSh9b7VU
Bpm3yJ1ZBELJG7mokeJTWuJUunelu7/T1LKqtOuz3tOUhDDgIxeVKeBCG+9KIVvqEyutQklS
JcnYJmpTZEHWXrIy25UmvdNSgiGRrVktbs57sSpVaCsO6EIO7iaVtcVra3WET/m3dnFk4qfh
lZ22f6qCJ7S/9+P5hxdT/5bLrGpkTObYUaABirXnzDznMp7n+OwTcn87wFGM/TzDW6n9OJ0O
Ms8e+3HWx3lIvaB32D/pH/WHFqP3UHn3XgVxhMuORk+xtS/59FIvRMKKb0nu9/v9PScR4egZ
OzmaQZ/SntPq/vnXD3979/YFXd62svkYsWQ9UektXMYqKr2te1dqCliipPJbomwn7aU80Ftn
f8+yvp/7gWv9F2sU9jPxAw/5vYrDxMcDRutqFqMBKhrmTtFw2UJiM3Cc2PX6hyf9TGFEYmBn
mReiLKSEz87CXjyZ4L2WEmtFnEfDSYCtMDbxEtbMmxLOH73Iw0NuxEoTI0XQMjBTIv3y8AQJ
/FciOlSYmNcI9kf1wm9ufbnw0gwN6K1HDAW94cHh8ODJcDg6PDp4cnDYyy6vIzyYD7NHX+39
4C89FDixHe9b62DpHTwZ9w6Whwfon4WqCCmQb63Tw4NDy8oC27n81jpE9J+91MFzBEY66B/+
nz2SQwvvUn1rFf+OTk9OT/eOhsTPm+KZBU6OcB0eHx4xL1yPctjDo6OjZ7IfPrjJGJ4cHT09
QYV/40eXpBZRnaRxyKqkRC3q/QLNf5JE88LTosTMgCVG+JbiJbSfU68IQBQQ7pg+4ErjRTw4
PX12YlmklnHWj49PkSv1kN9wePj0xPoST7Cs0yNUhUgerMPh6X/531soha8KmK23h6tFWUsn
LrvQWqgOcfE2o7FYYqx8TzeVEi4nRYko5Wn7aQ9IkqyszzabHi5x7kzVlj082FQmBixttiXU
sEJzNER/7NSZvfBPTk/u5WoNK89aF2tC5JcHRLGghkB5mSL9MpFWcWgloL6DFJA0FiV6S8dL
cAEz6h6jDg51lSjKLJ6g+g1i1BfcabWmvlmLY+/mJcZ+n/xBXvzomqg/8SVWdrZfNpJw5KY+
HlCAfNxWPuQ6VFxITgK8AuAFk5F/hEUglaVJCVcImrfEA85C67U0NqhQekLjbyJZpvDJN6aO
yGh7tvFuZ0fQLOrxoWO5AcAMuFJ1Sd+7o9zxMhdIwiqSQGuK/uxO+ydhCM2/SvOTiiJ/9R47
w522rCn4OEHurbkA0Yhk1TJCVYd682xmhZczb2nN/OmM0tPUvi7zWd/V9IWb65DJDHODyT1t
PTk20Pj+/N1Fbxw7s6yHKtfL8g1O5skj0bGFHdk8zMRH36Fer7//n9HFTz+Pfn7/7tXZxcW7
9xcvkP5BkPyZr3Mg6fzOGjHHCIUb0yi5NxLVV1igkULwT0+wKjiwehdKCLwS1fOs/Wzwvx/7
OZLdwWC/ILh2bmNCEaGcXrZnZwgREsHqja08TPCamNWb96zeVY8oQpTsH0h9Wr1ARJUv873E
SwNi6T67DvvE8Z+yP0pMJHwd7oULEbfebP2BqEfdc2/v51fnve/x+sHMs12kru0cr3x+/+T7
g71X8zTFWpVsOaAI6HLkwfLJ6d4rO3DmOA5X9sVeloUiffzz+Xs5Qhru+2cH1ZEePa2MdPgU
L0h6OVkm5j59lAzJNyewhA6WP6B/lcngHFQk8/KlKRVqRVJu2o3isM0lTzWh3VjnXEztza1z
ssSaFVZsLcYeiSXrTb1IdSGm/kD1/67gQN0aiYJoN5YgfiS89/q/vz+zHqGfH19iXI9ev/xw
9uLjo3+42MTV/n/8H9f6P2Pr//y6/w9ijtUasbAjnidzhL3Xr8++/+XHW0Tcc73xfFoT/avz
9+9/uUAfSOXgiG+ThuOn6byuDCIR+jGipVlDmkXxWFeiFNvQoVxg5a5Xjhq6KZwhPTk7jck2
5J16rxjL6p1iuWp0IcluGFOp0JWtc7t4TTHeOC4lkmIIUJFPPB4oZYIWjg4QTOMDIzseLKgJ
GVJYNerKOEWVGLK9coa1aEuZbM4ejoH1x1ppNaSVpRAfZdDrgymDXjBNAjYoKnzlsVM9Y8VQ
5OXh7YYiR69NQxE8sQwaMtJLr3ppD//fOkRjxDinf44Pj58OrZ/QNGo4tA6Pvj140hBPqZrL
0lulYCoAK9W9Lu2mjJSZmlpC469okNPvb9cgxzdsEC0/an3KVSjVGqqoivY7enJ6fNDcflqy
ksxXVfUKtVtToc9e365CXx/erELrZPsAnyNorJtKqTbIsy7JRhlukN7V5bYFiX395FYSW1PP
N5NBcSqxxQmMGH/v0ATGy2deSh7U28gURiS3v0deZriaYmtw76yRnyy9fm6n/ekna5bniXrQ
MIvnKbYuFIckATQ0wue2sgEO1cPHFJ/Zz47c8dHk4Nnx0+PTY+/owHv65Gg8dk8O7cOD8eHT
o6MTb3jAk2CPPGBDyfjYohPEkceON6K/fZIZfLaRfGAO/kHMo33xpeMKivXXv+KQFl5w9heo
Tnv0gvULlBJyJKk38ZcvMPeAhF01p9Zna/rJT6zv+v2BXDtf0Sxg1ZJO1HxNfLw0o1Sl9L0n
BdkjUfdcR2ZAKeI8LydWb08Y53v8pWPnVoItAaL6zpBQeNlX9GXE8j9mBY/w4vPVOGqrlxyi
Wvhz7qN2/k8ezWMfX933lqjaDq3C4hxO6RU9Wfjdd6TGstQZ4Iod4BXfwU9IOsmRQy68nMfC
Zg7SPDg9PHrWT+Ow/bVDIccDngf+yg7Jy9f9r+kHWX7PviDfb89ffWH1B3hBehCli+GYOz5h
xc6+vWAyRIU8GpYIJ8eCgDIRh9zlOw6SL+HnR5PY+vDyxwuSYnYdogLsWdZvP529Pn/5/pc3
Zxe/o3r3yqTUviqTZm6ZgtBYJrnZZZl0eXmZ6AmYiQZacJlGZZqBLcStXC4EJTFXITZsJ38Q
eflgHrm+n6X9CyMn2UGaYBME2XVGHkLD70ccDUfYokbiNQfDsoD+G+Fb/tcV3EKGEocst3un
w4PQjqZBZfxUhwzm2dj1s8sGpoiI1kpMhydNbK4fxHhVtZ4PVTz9qmdDFbMKWzQPgpX4xv4q
bOGKuQvHDaXEkrlKRIE/XoWNIGIlxlX5Vo5x5q7C5a0WGVIBq7BhXZnYaV7Blad2lPlkHxJX
YBquxpesyHfpVzVuidEeHlQwOvg62MJPc9t1qyIjPGSbtZGhEnuUxcv/CJM6DtKVjpxJHc/U
HfuuWuN4yJxhD/xs5IgMoM0RlJUmPnbtrMSJGhwrjRW54yi4XpH1BrGi3xU5dbalBIEJVzEN
XG66qGMkrYE+RviAQTQ1MxW9CIoI/4cDRHZSE2Xi+HRcU1HYmeOTB5DsyM0GqYcxOHLCqkpU
uHEvVs1q7ihJ/KmXxcHi5uHwSYYbhULd8kphsFK08XS2+Bq5M8dQr80BVwlDqs4sWlXM7kqZ
Ibz5JF+dOaFtvjI/6+xXZcdj8ZWZ8Wh/NIvjy5VDrNa6dBCFkEA3ZVZjD70QjfpH8xAlETur
hkKEw6NVmclaW+6Hq9SnFCILb1IOEsSoI6r5/WoxDu0prXryVcuFRl+1/uE8yP064SNcaHLT
yMMURBPP0bCWY/ypuUw4mYzMEivYykP3JEpqWqvMjYQurGyqMvPMdz0UYEXuCZrv4nnEiuxE
bBw05IkrAawFsbOa/GjDt1E4DauaTPSGflzHsUA1EI+y+biqNQgXQVhV0xOOdB5hploWNGJx
7Lyex80zpxbQtEv2ndPhk2d1LHiCgyqsShL40C20nVkdizvH85pplfQRHieZ13mzRh0l+Pkd
tbnoDc8B/RkVc6hqHjSiOj0YHh7WsPjob4QG2ZFbwzRxajzJukt5dKewKD743jp5BkyjIi0X
etFcp+Oi5ho5iOlic4nsX2lyTsgTMxlRTfSJYyTjQYrRAz8yr6lEPHq79K6RhmE/o6u4gWGe
NTFcNjHYDQz5rIEhS5sYpg0M6byJoakekqaaTIIGhqgpiagphrApD2FTWwRNMfiNDE2ZnDVV
9bSpNSeNDH4Dg9dUCq9Jqt2mmnS9BgbnUxPDpIFhfN3E0CT2tp6HcO7M08zLBlf4RUQ0z/dc
Px/HyzrGiLzK05CULhdyDG58pVe5zGDneVrDkQV6gwjPBE2YczTEdRcNPNXel+NqP/5RzeG5
0/KUXfF34iCe61Jd+AeeXeONx02jzEk9cjCviinwUr2A+dzHC0V4yzUbzXXcYP8gRrk3eYqJ
/iKwI22mr3DgMU89R2ZHxrUFhSlaxPUMpKOuZ6HdcBMPLnItC+22G3jwlKCehS+j1TLRzr0h
rUkzj+tPG4uORwz1HGwYVcvDhxdGrisfDZa9LBvRnS3NP8tT4qN7zLxA1yNkNWdkp1M9JmzI
CHnruhhrNcNCmpNeJ3k8sJd5kGFrzofVvmlmV3uO/WlZnSj+dklbMM/lk4NnJnroPjGRcQa9
JZoGmDxnaOxvotOfEZ5AmL2d0ixYeNj4DUCj16w0EeH0sTEHpApGtbU7qqggNPc4NtKzyByZ
l5F9N8WPrl/PU3+kjceZF13SqfKuIKNJkJNcVwUKfAS8Sr/IG88nVd7jeBLqfsW6DPYnfyr8
6XIQ+xlxbb8KcwUPW1s2Ln0ZuGzHQWBv4KJgbOLSp87GmHTtYWCLkgaOxPGb4lillkorFAaG
8uhJZ6E7Dg1MpsUYnUsTFL6bUUysB3/646dHw2ETG5Jb1x5Nrlbia2Ky07EXNDGhiTt+VdHE
he/V2dlskCWojKUKLfP4Q6eSJ1oghM/QWAr3UrWxsN/KWFBOKv3Qf4vErfM2J41foBxkaVLn
62TmdKm3P55UVA7xtnNzS+G9LixCCDbadpuBp7y8IrMsllOP/Bmhrmsy8Z0VOA3rMmZG/Eht
M1slh53P8H/PLunf0TKsEhMDc+o5i5WZazOqM1dXUplXUyd1zDMzeE2snofXtdDEdnLDIDdN
4dnw9OlNwxxfrhyCvcy6Mrsd+ONVuVeO1U6fHRwcjZJZNZIqgtxEFFiQGzQyC3HDhmOhblRV
NNDw5lUwvHkVDG9cBcMbF+bJwcHpzQoTVXQPBe+TS/p3lE4u/cDcOxrZvaxG/5a5/3TmK/Ou
UMCC9wbxYqW1sANzr2cKME1K46o65tXEWbC7YXUfqPF6WaMwCmbHTlYu4cqR2nle3uUxsCOZ
mFaMNySmVTql0aXXKAN1eCNnbE+X/HdFvicj/DscPlmVf0W+g1FmD48PDlZmD+3lsLxLWsc/
TSdPDg8OV+Wv5EtmdpTHIf+t5POn48WE/h2F4+rqlfkW1V26El2ddCAW/F+thuA80aI2/4Qn
tKPyXruZbYU81XUYjKcxDrtqNC/xnA6fPK0WPA8bZfXYT209qZx1taVyNtRZmbmm5sqs1fWn
cvrO7DSwV4x3xThxrVbjp8SL/h552bAxD/RvcyswvsY2YHyrtIBgbap/wdhQ+/TvSnHVSbHM
h+r8+GhlTvNKgYmzoR0lzuryXFX3Y1enz5zTmqD47K0f92pnp77dW+CzHH5eLRqYKZ2VF5Zl
jnwe+OZZOvGtk898Wl3z2Txy7cipTjcLnWd1wpBdXle3VnZZI7uZnz2ri9jPDp81dItHz6r9
Tw9Pqn2T1M9CNFcIqvszzuJUC3gS1aw1JA76e1RdN1F2elRTPuxdNyyoEZXIG6IBcFY95ozs
PPPC6nKF16l/eFDTdGHunh5UV13gTW2nWtj/CGu64SSumSVN4tTxXC+vHp2SszgTe5zWtIyX
+M5hnX7Do/t637rgbjipLp/rJU51w7j2wndqxmJOdvpsWZ3yOFpWy5udB4fV+RofH1eHDN3T
w8OawEdIRVRLw5HzZFmNROT7rHqIg3yHtWEPa8MePOt5dUAgLLW+Zs05nmdc9WtbfgaeKh2C
WZCfvuVWYqha2WXedX5j27mcV6zuIo6wQhixH6q4JKoOirxHvluxrEz9K/20RqFnXdl7ACYf
8paBwcMLx57req7JK5iYqHiDRDt1i5ubHBQcXCX2KL8sdbWqd5Jd1vg6TlgZ2KvyyTxHP6eo
xFvhk9aGi0zHH4maLbZA/PGovP5v4AidRg49iypHYuNtkKZ4DMc+daZS32VgcOysKRInTJsy
44Qaw9xNBtp9B+6Br4LEU7NXYJsjc6PMTC9fByFDOSdBwCpvyHAffEddj4z7GD1MJVmUB5Ms
S3oEgTE1A3hyQ1lSD99H1ai2QRjx4YLyGJuOdHLXW5i3oAt/39HBHhmKE/oGsUoWJybisU6M
x0npLpgqULoX0hSm2E0KZGKowIkT6wWbOAZ5mjieoakmuvjjM/tGwUPjqhGS7SuTh374mXjY
SRxoVBx5cqlzY3qc5HomTeLg2M7MnE27VCP00H5GDuNNdJ/lpLQJTqjzuV8+C46pqa8TszzN
Y+3ki7gDYAyAJNVwyKbwNNBN8s18Ut8OjDv1kr9ON1yIY3QkP+WD7JhuOKtDbhaksXYWg90C
DB3fUMQkzvxl+QgDCzG6HBvqPbHTzIsTQ6bipHQ+UdxkGLHDfwbfhSHpMI7iP+JxRVzlq0w0
iJ+VrwRgqn5+hdF9Q07ZMR3dw5gXpF9MvOJAhsnLN9SAPvih5NPh0ckTnV5aeKcXQby8vGbP
6caGmrrjcvfB6fisotmjQnInUXkMQcje0khN08jQ3mjEqBPd+Coy3DWkfnonwujY5Jd2mk54
6WTnyqhHnPLuE6VWwdrBhsB18hjb5zOQ8UEMVASDj48azIBeRC/fChN3cyI7NCWNfE6OzfTD
E52OH1pLDXm1K3U1PpRc3hujHk5pDTLwx1PHGYxG8zB2Xf+owtP1F8T/uNq/MnB1xPTUnsnH
dxxzZHJCr89+vljJTkiZsdbeRzVznU2RcqhGIyHlACYbIVU8somQeh5upaCSSzUQUsFWssBR
wVUyXlHBVbYOUsWmGgep4CrbBqliG9eXr2wZpIpNNQxSwaVZ8ajiW5Ft1fhUoyAVTN5KUZVM
glRwqRZBykwVBkEa2JLV2IQ5kAY+YQ2kzGcwBmJkkWyBVPtXgUyzBGJkUA2BGFlkOyCUocoM
SJNKFCcxmhgVIyBNzGJK08RYnF5s4lw9cY2r2v5HJVPJ/EeJr96wR4nZaCrExFOy/VEuZq3p
j1pmxfLHar2ZZvjjBsEKKw8r95yrBKm3+nGjcCsEKdn8WIHXXSUnJYsfzbyKwY9mdnkM3sxd
mPtYYUCkWvtoDrBSmxpsfTRym0x9NAaSLH008mpmO1YLIS1arBbApDFWsPKhcZuMfJiZhI0P
s3fJxIeZSbHwYWZRDHxUsvDtXTODYt6jgqVk3aNpyK0Y92hilm17NPEqpj2amFXLHk3cumGP
xhCyXY/GQZhk1sM40pCtelSMmVSjHkYm2aaHkUEx6WHmUCx6mFnKBj3MwyvZnoeRQzXnUTUA
K6x5GDmEoQ6jr2rqw8hiMuVBGWsteZhY1J0sE0d5od3EM3Gq/dSFbAOH7FGy4VEQFRMeElmy
4FFQZQMeBVW23yFRZTsdEnliosrGOwqqarujoKumOyi92nJHlf/8ssE/a/C36/3zWb1/ljb4
T+v903mDf0P5k4b6S4J6/6gh/rAh/qgh/qAhfNjQfn5DeL8h/VlD/U4b2m/S5O/X+3sN+fca
5NNtqB/Xq/fn9jkq/Sf1/uPrBv8G+bYb0re19qs33WHkkyx3mP0Luxxmf8ksh4FBWOUw+JWN
clSxVPqqZjcMDNxmh8FLNshh8JbtcZi8C3McBl/NGoeJpzDGUfgabXGo3qopjsKvwhKHgUE1
xGFg0OxwGHhKVjYMHIqhDoN/2QiHkUWxwWHgKJvgMLGoFjhMHJPGSDQbHQaesokOA0vZ+oaJ
RTG+YWAo294wsOimNwomo+WNwlu9Oi/RC7sbBVG1rVHQy+Y4Cp+y0Q02aDPb3DB4CpMbBj/Z
4obB21b1hGZvQyGX7GoofmLzUKEWxjYUsmZro+TrqBNSk6UN1WemThHKdjb0go/qKnRkrpXC
mIZKFrY3VLJiYoN6mSxsKD6agQ3Z10zVzGvIniXrGqpX2biG7FuyrUG9Kk1rlL3rLGuUeY1G
M2ojbIhHNqtRxaTNTBsMb9QwaYqhxqRGJcMK5RIHZKsY1LWBOnMaVRx0+b6ex7AAUmdLg3Lw
fYEqUxqVXKoljXq2Bh7ZREYlk2RsQ+UxWtEwsyhGNMwsioUMlcVgZkNnEBY0dC/ZgIbR15gv
1XyG0VMc1jT5FsYzTL7CdkYpQ57BdEYlS2lJQ7l1ZDacUcdYnGSq49IXTIx8VQzVRjOaeQub
Gc28dYWptJjRzFpWGHW8MyNETZxlcxmrhrhh/IWxjJWDHF+uGkA2lbECd2ExoZF51TjLdjJW
DnGD9i9ZyVg5wM3aS7eRsWKY4Y1LP7xx6Yc3Lf3wpgVRzWOsECIyq/6C1WgcYwXuwjZGM7Mw
jdHM2lw23TBGM6tqF6OZvzCL0cy7kvzqRjFWYBXn/pp5C5MYjbyrRikbxKjkluxhVPOs0OEU
1jCqWaqxZbSF0cRWMoXRyL4aW8myRTO7bDejmVsxg9HIXsVmNIKhs5lsW9RzCUsZDWw1AqEZ
wKhmEdYEqllkQwJ1XM35qekLFNsX1THYFcNwz2j5wjCyNRu+aGKsqaVqsxfNvNU1VmH0oolR
sXnRwLxajJLFi0bWssGLigBlexf1bE1Vb7B20cTZUO1lWxe1bKvEVCO0FYYumhmN03gTY33j
6VYudMarys5JsXFhmK2VTFyYOMoWLsw8koELnUGyb2HwrJFGYd1C91JsVxi8FdsXBn9h2sLk
Vy2nsmELo6+wa1HRbx09q/QurFoYOrOSUYtqDqdSlAuTFgY/2aKF7i0btDD71gwGVJsVJv9K
H9mYhe6t2rIw+EumLHRf2ZKF7vtHWN2hFnYsdM+SGQsDqmULFQbvspELA0thw6LCsyb+woKF
wa8wYGHwlO1X6N6y+Qrdt7BeYfA7Pq7ykuxaGDwV0xW6v2S5wuQpDFcYPZ9VDlAksxVGz8O6
kIrRigqOOk+jOjRarKhkqVAQZXMURl9to6vkX+MlG6vQGUKz3JVNVRh9C0sVRu8qr3I7GMxU
KB6SlQqZrhqpUHyCiYGomqigXrh1DSYoTJ6F+QqTb2GfwuBb4eFVhFDNVpR90zrPyHCgjyhO
s2WKSobQaWLQClVjlqKaqXyCUedR+yCDf2GTooqlMElRzVH2Vw1SqHTZHkXJR5ijUOnCGkWJ
XLqlQAZeqi0K1UMyRaF7mOiGEixKoz6WGS10YEpIh4Bkb0LhLJMUYxNScFuXxchkf6Ls7Tsa
kCO9FML4hNTywjqEQjvWaJLlCZPcaD6S3QmVWqZN9NopjE7INF1qJJMTMlGjKAYnCrpqb0Kh
a6d0Cb2wNlEQFWMTKrmwNVHQDQ1csjQh8aq1ULImIRFV4xOSh7gHLtOE5QmJqO25GyxPqB6q
hQnNTycb5LfSvITmrZH1S1eabQmZrB9O0SxLyHTFgITsIVmcUMiFWQmZrFiVkDwKoxISUViN
kGmanYmyZ+lyjG5qQqb7maMTS4scmo0JiawYk5DoktkIiWrKQsmShOLj60XURiiaGQmJrK5Y
a8YiVHJpBVwzIaGSK4RQsS0h0SX7ERK1MB8hEwvrETLV1aWpbDtC9tI6AJPliLKPRpUsPsjU
K5MWcRIDPKowLNmMkKmKyQjZQ7IYoZJDg7Sr9iJKHifHRvLhiUaWjUUo5ArVqpiKkOmOuoZn
NhRR9ivZiTB4VwWtjFU2EqF4CBsRpZhEIiHqL397+vu31hsPzbWjqUXv28bptfWPwSwOUS90
PfbSwWsvu0QtNfivs/dvz96Mvv/l/M3rwf940WDpRb15lOX2GAnDbDrI4zjIihtYpH/FKg2N
NJZIw6fOfpHmGdYQG0pU1EEr96lbuo686kXotd5YhsvHcPn4JpePb3fT9+aXieFucA0D3A2G
u8Ed3Q1uvvj74K/23ugW741u5t70Dm7N5bOG613rvaHVfO/JfBtplfsZm7szcZPrEHXXKtZ+
Z+JeXHSgo+Z6nvXeUGjguQ9XD9q7V9D55YG6Ix1wMwBuBsDNgJVCwM2Am4WAmwEmZrgZADcD
Gnh252bAzY763/AewVbfDFjPif8b3S/Y5M2ALTj63+lx/i06qb/O8/dbf7h+d4/QN52Rbzhi
D0foVb/mI/R3OSRffwJ/Fw/Kr3ASvuEsfWsH5eEsPPfc/Fn4B37cvcrrXp5nj+7LSXD9APft
zlZXnKGuPHLdxdlqw7ln4/lo0xns6Janno1nlytPKa969rjiALF+1PiGp4FvdPS34oxu/bla
jVx1FLb6yOvNzrbWH1mtOuO6hmOsxhOrxtOt5lOlNzsUeoMjnrUHN03nMCsPRtYeYrjRm0NN
DwDJHWB775+s/qxJZHgp5UZPjKzjNY51PKzwkM5WkvC/W2M/Kk6XxiUPfBi1TGMnV8tkcdZV
95hXxK6crDV4VkRIzvBqRHbgV6PzE8K6BzlRXCaz88cm8omeSXG6WfOgp6ENZHx2WiNzlaJ5
kKPZZSpXNBodr8drRHJsXKOSY+NlKlV4Rio5qK77kE5eIxcqteyFj85rNHLIXqNiZV0mUr1e
phZXAEw++AqAgY67DY1MOxkDGfelZfLsSscLvfugkUmXplHxVrBO5FcwNB9yjaNMxV1wmcYv
gmjIxd2tTiR6UiP7BjDxPr9MF4MEowcfbmieC73Vyd2bMlGMZjQPOvrRyeQekEbmgyjNg100
KtPZYEwj01tMOpkc2y6TKySzdK9K92bjRs2D3t8yk+lM1OBH74mVPeiQtUw1KQZyK61MXFSp
VnILTtO3sV5KfN1O00xi0K2pFT5MN3ngYb2mQsiNQI3KjwIaPOiFQ03r8AmG5mHQUOTSo06N
TERDlUwMyZB7mSbiQu+opNmUQYHgS6IaGc/JDEQ9bnxBVQOxQY0W0z+zz6hSuvnFWx2JBkmh
s1VNqA0VSC8Da1RDQ5l6BTIB1top1xnJ5NtE1NOhM3uTIOtEg+iQhQSNSJcjtGKaskrvkRup
qS7U4uq6yUMvRnFb3uhDL9sbvPDyjJFs5jaIhFhI0mTFMdOF+YKyBzZ4oNESPX/CnoLJA9to
MNGJeQZN/Yg1Ms0n0HWsWIDTSkRX7PSC0hU+LR68HqhLp5FGTGgY6HglUtMVjqEDFgueBh8T
zdyfsQVZDabFSm6Fl7HnpPZSTNRnZmrPWGV0GdtAHRqjeWbkXZp48ZK81nHyhXzNgyz/l6l4
v0Cj4f0FrfOlWxKaCmIbGRqdWALSqHhLRJMzvo9i9NCpbMvG2Hmz3R5NJYutIr03wztM2tDZ
MG9jm1iaNNOdL43MN8w0PcQ22nT9xLbvdA+dxHYCTfRnOpnvK2r0yFBV0hZmlVegF5fum2pU
ttmqaRy6RWsgPzM0LNkK1onXeoH4frNG5/vUWgc41fGdm/p0unuuKw++6W7yEVv2FTrHNJrh
ZwU0umFuLJ08qPbTuy/5DES1n14vxVkMo08FPz7iUeVjmHIqlh7NnvgMitkHH2Ix+qjHYapY
yOEas2dVGH56p8K7svBeTem92uJ71eX3jBVQHJoy+ZiaE9toNfGaSiMOf5k9jOXgJ9RM9IoS
8MNqFV5jXSGJQ3eaEmNH9oy66lQX4/LBwSp/fg6xyp+dajR7641TPmJp9jd0//Scp4lsWr8S
p0tNHuRoqsGjONtq9KwIQk7Ymr1c4/KsOO5r9mHHhs2eU9N6Z+kos9kbH4qu8DHIZnE82+xD
T3lX+NHz4gZPdu68wqc4w17FIB2Mr2UxC4p6fL+WoSETR82ZOKppR+VORK1/Q0aPqjNaEawu
3+w2itmzuNtS60+uy9Rx1AfHt3nMDJU1ZVxStsUdpSofs2rgF6bMXuTelTboWRq6AvnWl9HP
mAHl6pk21qNX1wxksmmp59i0sDAxRGBalTEuNCwMi1f0np8W3ND7FtcJyz78fSMtu+x+oiF2
I53eiSxT2XVKbdZDbmIaqfgFqbIHv96pDVD47VCTR9VKt3Tt1ORllGh2ldVENk1ppOuzRi/D
8oXyQlmFp3EFs7jua/Lht4WNfhU7MRU5L9921gTJ1BDFPWtDYxdv2ume/C28so/8hJ4m5Cai
cg9c8+TP+2nSzF8E1MXc0Zc2yGuDGlE8T2j2Ia8alr3wM4gabWbIh1OxV0QfZNSpxSOOGkRN
itq0+Vo8KVn2WZrWrkwlZy9casNOwwKFsXqk1zcN8sSf7NSi56986ml4hgqphGH55VGtxPKr
pVoTFK+elr3Ei6maR2HfoOwlvdVa9pKfetW0+qQyWGFuQfO5qgxUPHCr++RVeecP62rtJJ7k
1ZpEMhehoZ7bmtA6dP6OsDnTc0PHK5m20Bo3MJ3ekB9K1lqcPLGsywF5l1mX7KlJqi/14aJ4
M7rsQZ+aNlLpG9VacQPDbgF/D9vgQR7SNtDNXSZ7uFsrkXj6u8rnU5XP2FA/4qHyCh9HH9IW
j6NX+Li6pigeZK/wMbRH8Qh8hc9El7Li4fkKn2mlz0yfLTIfv7KuDe3GfIJKn7CyDsLKMFFl
DgwHcZhPUhnGsNvEfAwL+9ynsnaySqnKKuvasOTPfOaVtTPX+zjuUyk7V4blBm61x9SLEDM/
5q6ioiswdANTM/3KSKZq3qB1iNkijcyMHBk1f0WXWdWTVh6rKKwzVfjUHFko24eq8C+Oy2oj
HNVIlRY+0QsvTF8ZOvLQtB6Gh3G5aXDKDXFp1SuZ8dIHR8wKmObBDIiZ+ttUH2JKVsu04SG1
eKaP2IS1tIpaNIwfJdttmpxzM3DaCJcZkzPMJUxnJrlROy3xwjie5vXJvJFObfIZqEYEczuA
eo/PjQhqkjDWuxBu2dCAvYrtfmE60ehRMR2UTDpqqoIcbjbUtnxOWsseMyhpyjY5jW3yKCxc
mnyJrUyTR8VZUdl4p8nPeLCFGxI10rExUoMHM2la6TMynsuR7K5WSFS9Z8V5QW5YVlcMlUPu
wtSsCeoVEzTpNL7By00XFRoVESt8jNUrrPSaPEzdhbh5YPLg9xdMfqb1VD73MnaKyNN3Dc1u
587MNFBF05E/DAd9shz1LYYj44Ru0MtpbruuLu1I/doGZYnIl76RO9GLS1S4UVEiQTYMUbLL
qkZGom/2mbkVHpeXl0llqFq/ai9cygqfyzSq8AoNXV5YPUJAOrvKB/XrFV7VWa5OiCPBdOQ2
itLFcGwQIuaj07Ox6xtOl+EON7SjaVChT5E2M5yZpKoML7Alxty5vs8H3397d/Hh1avfrXnu
B4NPyBsTX75nkob3U2xMEdXBDodgcOZhQmI+f6v7sYj+v/O3P7zTfT+hISJJ/f8zBubZ+OH8
7fnF3zT/vTQ0BjEnY8xaV/eCrN4ri1NIxk4PTk8O8VkFXK6ubg7xxpUzo7Wu4qk3r+JtaF/V
39DASk2wFi6nWZFSRQKdXf462UCaLKknrSUlJdCSOBaQmC1CqkktNMAq6rAtGIjkNnBZr5QW
Li2+71YU9HQTiZM7dvt7vp0FVm+RWb3EyjI3H2VHVi93+HcfeRt4jiWeYzNPEhY8aByDeV5e
vLHOo2Sef2vJ8Vs96+jYwtsF2TfW4cHJU2t8nZNv69K7vopTN9t7+dMb6908J2FF0BAHPX5W
sON7eq4Vj/9ANYYIBxa+YTYnVWHFiRO7Xra39wp1335gY/vhFuoVk8BDU3HEe0a2GHCov9tp
hBel8fd7L7TTS/R5bL1L0OTL/0RCZobCHN++MMf3rTC0xXCOhk9EaYZPnxyL/D0b1hQIBycF
Ojx+JoKcHJfLdDg8XWepjg5LxcpQYj3P2s8GL8PgFYp7wGRnMN0XYjTzltZ3wlEZ5rgIcyyH
Oa4Ok4QiDKqQIgx26IDJZcTkDDJTx7F6f0eaAf0le2DoF8/2nLyXpHEe45ufKIp3Q6s3iUM/
701SVMW9JCaXDBExinuM3w5Qklij9P7uek5gp6SSevYEMSIeO8cLhbnVO1+/mhn0+8X/Kacf
OcHcRcovtsLLkYvKzH/7ji6OuZDHo6MCXMcnXLSOamQxF8L4VOJvE10HJTFEQ5feRJE3SYUp
vseS73HZl8mQBLAqwcslycsV0SMuOdJcjpVVFZE6C0nVIRUgk2Ch2QT6g+/bv/BPTk+s3rRC
2LLcfTGN5s+eCTk2yG+9RP4dxTuP5qiwvfE876FJem9hpz5pK5TN16PR/5y9HX149+7NxWhk
9X766TX684PVx1H4zog0ataP+y5hfvPy/Y9nP5y/ORtdvPvl/aszhXZyLKik5LQdvV7mo4lP
NO3h5R6U3xD55UHWo50zytG0h2aEWQFSWhW2c0mKSTpwSvSWjpcQsaDu8dwPcjSM7YVZPEG1
jFCzcQxaPQfjsFRdJbdj7YpY4Cp3QRyaxIFVE/tFzW9fXVr7b99b36HByT/JJreV/cv6Z/bi
8cG/9i2iurGO/o58juzoGm+94E7sZgEPn9wuHE1w9KcXzkeoKkgM/QHvXHpIKpfI30JslvWd
nkkD6+GTgrPIlczohj1sJQX3DzjdHkq3FLeaH7nTNzGRAcBNQ5cDmXlJAQrWojxyZ1uVNOo8
Tw6Pn/Kud3hwPByKzvT46LhicGuOLqSD5OGTIzGYPDo4LffIRweoq19jpzx88qw86tV7T1OG
cU9qLAjpVY0+zp7nzGLrEZZYE8Mo8KIXGVIk8eRLk/9Xzx8hMaqIWmsv0ZS4lU5OilY6fnJ8
eipa6elpxShJjoTOQk6HRyLc4ZOTA61thsO1ts3hwZMV24ZkU7QIzXTRDtTtsPFNpfRVtWa5
1Uh0WlsRqtRCPNEd6R2NlQOdZUNnaa41Mxl1pZKAFsBTRbpKLzOgHx48OznkSD86fXr87AlH
7NNnT5806mM+JULIO+QBh8f6FP3Jk8PDtarhk+HwJmq4pH01pbtjwKPND3BbBW6srmQHgpa5
5zV3uFo/a+o7yl0GAecuyRwrFgjd6jpeVe1kcpRaqUPW8fu2mDoZQnChLU+2zR1IsR/Q0uZR
eTug7Q2y8t6HcG9024XqiMHX1st5Hk+9yEO4Qp0QOb1kvX5nvX33wTp7ff7B+nqAFISVxmHW
R8LQj7wrFvbf/YnrTaz3734anb999eaX12cj9P39+bsLrFHUENnMwnNG3HMhOj5yZSERY58D
HKY3jp1Z1kO9qZflWvgd0TVhAitxlavgr8/evvz+jRCignBx9pIQmA6SKlH63p21OXzmBOTj
9vJB64/+7I5U8AOxIBc3lgtcqRfEb/T65Yez0ejFo4+PDp4MhsPB8OBw+PHRI7H8zyqZf4ix
9L97ketP9H6tsidkaeshdkYcE5DF2+soUn3kLxIxaXCUeTYfHLFPXCODeJ6To+/ktNeOShSx
iIpvAYJc3V6upEqUvnenF0QVOZ5DL3gHCeE1yD9u38X9948VXZykzxZTm17nyV30idUaowxY
6F4wTQI269tl7UaviIHY3lZsaf3Rn0aR3RGZIUZeQGRuKzKk+sjfQmDupsUcP03n2QqKjDLu
sj5LfBin3UU2cfWRv7fvf88+/O3s/ffv3n2olV1xNQLLrH43Y1C6B1TDJV8l2VWxZs/IgGDf
egJCK5D97s7EA6t1mHfcQTBYBbLf3RGMmLQE0YUgHbeWDrkWZcdDGeofDbFFTDJTnidJjG+x
gzDdVpgMlWmgIdEKF4owCceuSJWoUpCm20uTVInS9+50YOwQBojI7UVEVKH42h3xYNtQIB53
2OzjVSi+kHgELsq0F0xG+Kleq/fW6n3Ar6BaB0v8/sXBgap68jBRFJF8Boadd5D2rpO+uhMk
1vzZKipbGSNrEHzCxsfnykjM1JMWwl6UixwepAf/9uLxH06cXFdlnh0uVXw3feSuTVMU5aRa
N0Vx3GICv1k917pVTK6f4TfvESEIBvMsxUaOMBMx02T9bn3+fLt4S7Ut49JJ4yzrsTRxxnvh
wdMnT/Dtr/UXAVXNv+ET+4WWKKx1bKJ04cHJ8TEumikDLRSXiNpR27I8XHcCUrzrPVNb2C1h
hiEtVnVFTa35EC9LZ58OLOrHFSfH93Isgc1xrnEYwUcLd+nuWa0qUEOCv3TWH60YN6w7YsSZ
IfFqIeby6X/bC2P8wm5f/uZj3a0USfooCwjl1gslbUjFtdWCiUf16511gWR2I5msJVXnVssm
KM1tF00n8JEEcKUpu8TKlVViomcH+Wi3jYYif1ESeRr0s3jdSfC6ZamQb5yMVRTYML5RuxUO
ZaUubjlDvp+V0QtwGdFPmlt7a0601Qk6mbJm2MBpu7kWWb6zAHSS/RZXRbqo+hbK0NJKh5i+
b+1CB/JGOrD1dQ6azDYvcyDG0MZWy+/ZCInW7LoHSIZYy0b1eH2Ir60e/eLdFCT7LrSvdKWE
VkjxKQ0ji+anvHlqO96IUe8ysKkqb2noJDIi5VPK9SZysN4kWu/S7zoOac6z3JXfoRWMOR/w
ODdXBFWk11wWJfLNlQm/oJxcr7swNNatA8QMb8e5sYNZ224CtrH3/uzl65/O2ijAgEbdp5lp
a8DLx3HbPN7Fo4VNDHhxOtJ2fpsJ4JLxSX+5cC28asHSGRRJbvPInhVhrSO/yc/nr9AIDT99
c9dxWqmmyweX1jMYbEhkLWujzcks17JSem+KU54xpc5AyJri2vaZE45lRF5NBxB1LnUPBkRc
4gw0YbcQexVx9+1qEPLYxMSy9/fgm14WY7Ox5FuKJov7BwhzePjl8kyVvBHDx70vyEy5KcU7
zlVXFIfypkD7eCrPl1M7QhStSfaCCNXlxNIr0FCtFcw66x3H8w3lqxrey209W9MonwGguwIp
+Fnf0rwiA5stHJtGmmG7thJWC3YrlVgHj5YSbOswtGl+0dKx6M3P0xABBd/YHI0mR+dn2zq+
RAVY47Dy9Y+vXo1+fn/+9sMPVukJsnUMZWh+jd2wqqXIuPY1fpR29AaPBFpM3rL4WjmuSocN
btLEzmc9VDWXL1orNxtZbyo5MfjdcEOqetHqBZEzTzMECr49Eifr6OPMWdqGrYPVs68swcfr
LMJg+xuCrPiGNj7CFB1usEnYcJApkMNWijPgsbc9rOBd4kaGFK2swUvxb+MifOiF2SxtfQ2e
JrPNS9MkexPbWa/1IvHgqsjV3YYetJ7XvzhkiHcNC3V1uX09+vHtL0UdkvXHKV96khpD+t7q
tdtsFoJkdS9ZpBnI362WprGP9HaPnqoGseperNT2UJ1M0LZYzmZ2NutNpkmao9oBcetQ3Hqv
fzh/++PZe7KmMvrp5c+K/JXaSaLuihCOg9i5BCHsWgi/f/Pu1X+Zxa9ooZL40V1ClGGaYN9W
Rnm0Xzaq0WqplhJrawbIJzZbOwEcB5e5nbQ+AaTJtLe2L8fPjmC1vq5P08QY2+aJ7XL9Tz6c
9++mcoqKbeF0SHXka1HC1dGLBfG2s2/qr6hufm3JCrv6xYrtlWZUPf4EhPnBCjNrf/a71aK8
zEZ2st4XKkCWt0mWuQDwDyHNr0mYrZRp1tckvgNi/fDEmlKVUQeSBG3gsb3yzbofEO+HLt6F
IJSHItsr3Lw/Aul+6NItSYI0OBEreDTZvl1MLfmwnAesO9rPQmdx/0g628+O8JNTXGUmxCZ3
JxL25Iy22k6lM/3S6d9yTsukKlaFcJfzRdWZ34Ttmi3N+RqO+q+ce5F1GToGyWnjOHxraQxW
lvN2ktxQy7HTeDQECrD2uyYtHcCT165bOny36SV/N/UXXpptatmfJbfNS/+0JORWWOv7pQhC
eE9mHcMZVvPtDfcqEljnkK8iibUO+5qKoe7evv7p7KeLv71HKVuUmx0N7SX5LPVsV1phFUIj
O7Z6rbUoRwuXpwEPDwMP4haxRtpqbKCioNFJO+b2ABK7CAkhMeJrqwFAThH17JZe1wAI7CIE
JJmRvncABtl15AAOAAc3wgEVGtmxA0hYhC4MigAJN0MCFRrZsQNIQHkFIAAQbgQEIjPS9w7A
4E8nvgIcAA5uhAMqNLJjR5AwBCgAFG4MhWFfdW01GGyvnRcGAQS7CAIiLeTvVgs9qiBYKgW5
v9FuAV0nZR9bLf2opmAHGQBw0x1keet4F/aM/XA6hOkwoOAGKChEpvjcagyQCUxqAwYAA6ti
oBCZ4nPrMdBzUBHzDdhNBBjsEAyE1Cgu6dlLEUg5g1d1PFUMsJSUB7K5oXalpvQER+vNW35k
pPeGwyOgEdA3yHtBaK5SdnJLOsulH2lRtvWVnU15d0db4R72+WKHmPrJQ+BegGjor5NeJzl5
Mv2TMYd8lCCPHO5bHrkWlzX7fcwjw1cJeV3mtDWAVF2+knQIl30hYUoz8rpap0X3dm/5iKsq
Ld/0uXtOaxrqHr862pz5Db46SjPTlr075VLX9tq7G27I4N2w7etvw6JkfNC1mftvQz7IWwPs
RVwNulpWAWu/6duqCpZqq1UdvEl5CxbhxmQNpbXNFy1R9nvz3N/MNcs666xsglXkp/hEU6uW
IUAacWfEfzFzNyb+KK1tFn+U/Xsl/kV+is+tXmYjpUjcTa2yrVrFLEeyg2uZk5bBItsBFgh9
2mqi224IGGUflWIjAtQgQ8W7CTxP/GOrUUrL0PsjnqeRvRlleMOKLvJWJmx1xXMl33NiO/Cy
TbzhdJO6N2TPQNuRFtjcXtAt6p8vfJYpu1H3Ez+4Z1qnlLWSezdqPYxdf3J9T+udZ06j7Ebd
/zn30vta9SxvZcJuVDzeW7qn9U6zVnLvSq0ntr+Bt49uWe80cxplV+o+Q9V3b+ueZk6j7Erd
L7w0v7d1TzOnUXaj7nGIie8F91XdS/kzEXekESI7yWbxfYVAkT0DbUdawLE38NDq7WqfZK3k
3o1ad2aesxkbLLdYTKB5KxN2o+Lnc/++KnyatZJ7q2s99QIU4wLl1M5n96vWS1krube61u0c
5dbZ0E3WlSu8yFXxuQNPi/B9nvU+LXKX2pZeu5Ayp+1DbXuVFzs+97jqlUxW7kxtb1MYNoDu
ZWuY81m3V7ULbcI2he55ixS5rN692oHWoBtF97stRB6r9rN2oB34xtH9bgkpl9U7XDvQGmwv
6X43RpHJyj2vHWgKur10v1tC5LFqF2wn2oFuN933lhC5rN4X24nWoBtQ9701RC6rd8p2ojXo
ltR9bw2Ry+q9sx1oDWmH6n43iJrR2t20XWgWsWl1z1tFzmfd/toutAnZyrrn7cHzWLXjtgPt
wPa27ndDFJms3IPbgaag2133uyVEHqt25ba3HUobYPeyHfQ8Vu3TbW87FPti97IJlOzt1s6d
uEp8LyuehkCZHCgZNdHlF+zxHp9dvn0m3Y6qv7KjXSMpX2/Qj91rp8H1Y8r68Vn9UGf5qKH5
9JvpOFbpkJB2eoUdqyhv+Ev70aaqJuLd+3vwTS+LIyTP37AqzeL+Yf8ACS62YOJaH/e++IKY
JRKbrZQBseibr+puYOOelGljxLBCb1wqNi1ZGhfPjKs4xsUEw5y2cl5VMbLXB5imoU7R6Rr0
v6qPqkDSC3Ak0sPtppahbiNT4Sru37ZjWmDBr9+Ky8WtpbNfGNEq4CFfKe+9oWbWEEljJZeg
1cvRMju5tZzNxyjTwuzJ5u5Lt3w/Wr2UrZTudAMXs9cXV2GlZqOGalDKGy2EKIHoD3ejHEKB
ra84FRpybQkMVtC1LSRWgHMTWrvV3mEzPcOa6qQD5UKsEG4k+yLvat9Je8ZtMakoy9QuGDNi
FiI3ZtBIWKTc3vPBGRp0u/PAa+e+5VSd+RoLr5jiwQ7eimuw7Dxs3QR2ZQpVxqN/uTgbvf3h
YvTm3av/urAUa0NSW0jfW338nNmg7S3G7Vy0AAG7iYApraG4dkLInDjK07gd4yAgaLcRNNEi
GmUnBM4P7Wk7l+VB3G4jbqw9Su6dEDVaWSBr90bWeIOUCbshbegPTgjk7f7Im2gSnbQTMkey
ObFbMmsIQnerDrVoEwNtJ8Qu81LoWO+TzPEGKRN2Qtr+nHtzUHD3R9hYe5TcOyFqEz/IQbHd
I1njDVIm7IS0BfEURO3eiBppDcW1E0KG91kzELN7I2asPUrurRY1v5AVELTOBU1pDcW11UKG
XxQF6epcumgz0J+tlifpFVoQqo6FSn4RuPjecvESDyiDeHUuXuXHrG35Btb2ihd5eRvE616I
l/wKOv7eAfFybGcGI/r7ImCsNRTXDgjZoqWHB0HEbi5i9Mpr8b0D4gVrrPdHvOgKa/G9A+L1
pxNfgXzdE/mijSE7tlrCbA/W7bsXLdIK5O9WC1PoPgFh6lyYSCuQv1stTGyW64Vz0FDdC5XS
Goprq4VsZmczWncgYl2LmNQW0vduiNfIz+HE1z0SMdoeJfeOiBo+7OHn7bxLDeJ2O3ETbWKg
bbXYtfqMGUjbjSaRdW+3baNssdNrQ5CtzmWraIric7tlCzaE7oFUEWsXW74FJAwoBD6KB6Sq
e6kqNUiZsBPShhL04GDOPZI23iBlwk5Im+tPJiBr90bWaHOoTiZnWylmZDWZmDcGCetIwhD1
w/kbfvieGs5k5+/Rvy1WYX44HcIBinuhvoqmKD63unvEJRimNshW97JVNEXxufWyJV6XAPG6
B+JVPLwiu/i4q1gYU8zFmi176uYXyxbydCtmupkpkxEgzUhL2ZCGZuxAvZLObw6rFzzZhTz1
ClX5vot8OUE9Ry4f+ZXPZ7LOgJ5+osdW1HMGxi1hbe+u2FyRlsClFUvyQkaQIjAGn6zeGyQH
zDI8fRYD/UXFwCxh0ZbMdnjuGupGrTm5UkhKWgIlAWHrEPo6Bc9nmZ/OJPWZJshZV3K2ukSV
2xLP1crzOGjH7WlHSfWXOgVoxe1pRT79kKck0H7b0358iC8P+6H9tqD92hvUb9MrNqsVQeRf
TCzEqNQ8kCyNE8lQo1jNEzqv3IURIG3PyzjibZedeR2H6aWNvY7D0tvm13FQOXpO3s6LEuUn
YdtbAWENUeiB8gJFm4mscZ2lsRylhZYPL39+9eGNtKtF21J87cC7xawoPT9xNvV0Mchpa3Iq
vfhcbliFsEOCG6C+HSR3FyVXtKxK2SHZRcnGDn+WG+R3x+RXaV2dukNyPEk9kOGdlGHRsipl
h2SXr4uD9O6e9EptW6btkAS7HkoyvgYR3kURlhtXI+6QEGeJfRWBCO+iCBdNWyLtkPjaeW47
M5DfXZRfqW3LtB2SYNcDCd5VCZbatkzbIQmOEw9GEDspv6JlVcoOya4TxBksQuyk8BZNWyLt
kPgm9hzEdzfFt2jaEmmHxHcegQDvrADLjasRd0iIQ/uPOAUR3kURLpq2RNoh8XVmHj5FDuK7
e+JbNG2JtNUXn5UDdiCz2yyz+oFJ82nJbRZTepoO5HRn5JQ2aMXZyG2W1OLcHEjrzkhr0ag1
JyG3WWrpSTmQ2J2RWNqgFecet1lSWzTWA7LajawK4w5Vpxy3WV7FETgQ2J0RWNGm1Wcat1lk
2ZE3ENidEVjWolUnGLdZWPn5NpDWnZFW3qSV5xW3WV75aTaQ152RV96klacTt1le6ek1kNad
kVbaoBVnEbdZUtlRNRDVnRFV1qJVJw+3WVjZqR4Q1p0RVtaiVecMt1lYxSE0ENedEVfRptWn
CrdZZNmhMxDYnRFY1qJVZwi3WVjZETMQ1p0RVtaiFScGLX7SEDVQ8E0viyMkruQbFYRmBBto
zOL+Yf8ASejMTnEDpu41YiwZw9NNjJkNNulmcEyGRYyGGgyX303XiU0XNPVrb4arRIbrGcbj
7oYjxIZjmYSEX9jSq7J/sBdEqD4nZk8TtSZAmVa0rWh3yepmmdlOrVQl2hWH+EpHpQxnUUqb
/dp+qr5fVd4Q0JZctTWt0rJBeWpWNZio1t+stdZh6bkKs9tkrXrFMsjmqomEbWkpTo6PcSlK
AFhPYVCkXbSIWaesr0g1mmhtiQzKaqpWX7aWLNG8LVs4F/a5N2Lh/Kjl+Ifrjl+Kd70G0guL
7KjRJxl5HEI1yn60fqPsRVLtWZwvp0GNzodhHLVuc75IekBT3N/6m1WsPOu+U5XkMzQ6ctWr
PnJawrEDt9NYUUZJMJ/6a7cuUleVcpJl2g5V7DSdjzdarSJBlcKfR0QzyNBOJn7g9dAktYjL
MM3kYl6eZMaW5om8TQgxtnGRQWnooEWn0SqZVcpdhnWajiwGdo2zhXsxLu2+AGwNZJOFkEfX
mhi1MbZuL5HBDaS+pUQ323JsjseTn22zFKpl4apvl4pENPe6C9TSHM4w3m1pFtfVxGE+yTY5
a0DJ7cKU4ToboZKs3Q4Dyc9lFF9FqBT2NLTvuGeiVnwZqDqSi/0cZfOhNEKUCl+45C0H/Gag
iLEY7xXdQymSXsCn59aaNJOhtJsYdQ1QsijpjRVClECq2rUXpn3VSpTCjunV1PMzL92scuVp
7oiG5cXZJjXL87xGXatUQ4l0C62rRrd+1VtVA5vSvzz9zRandU0sitW+Oi7UyI7pZD+Ln52c
HGxSJbMkd0Qjs9Jsk0JmWV6jPpYrQaXcQhsrka1fGVeUflO6mCW/0cK0rol5odpXxEJ57Jge
ntj5JnUwSm5H9C8qyTbpXpTdNepdXvjCdQt9KyJZv641lHZTehYlvbFCtK5fcWHa161EKeyY
Xv202eWGT+WVhtc/XPx6Mfr/frggn+c/vfzxbG265FPtnBqXfCvVOsr4KPj0x9o399tU6/VN
cQO1rhS+cJXObYBU3UqqUB84fHLyYOVKKr7sBtlah2xNAi93Zt767ehvi3QpFaBSQMLWcOht
9Gm7lv3XJlxy2YUDRGots+eHK1NS4QvXzWbP+lit3MOqOrEkyHIO1j/1NlTVpqben9a209Rc
iNan3p82sr/0aQe3lpabnXovd2aTf7ldSnm5VqW8VBTk8nYb+sv29KqhtJvSq8u16dXmQrSu
V5cb0avLHdSr3jIfbla10hR3RLvSwmyTgqU5XqOOlapAIdxC08pRrV/Zmku+KX1LU99kUVrX
uqxI7SterjI2pXvXf8dbS2JLr3kvnJkdbeKSN0lo+zsJP/LXfqKgZP7pzj0DqWpFkSDWDDXi
HW09GaNeixUpY8zB3U1H1eZY6flEu9KvHbgJ7ccgpzsopzGT0ni7DexFsbteq6XtC2f77Uxa
mNYM/dn6JkbcARo/QEtXtbSoIMW11e1Ou9KtanDod6qllDZnaVi0lXIZg1TujlTG/ZgNgrC9
TifDk1kUHQnYt4XUIrZi1Uq3tSNCGI3tlHz7B/I0gQ3E2mr0AU2ffN96oaepnVgiTp5i236y
YSC96Dqxmr1Eku2vEloPd3aHfKhD2iVN7HzWQwC7fNGSSLacSoHWNy0UgK7T9AJeq5a5Toel
QQVU7W2qdt2JbIH9qg4yvR7TOo0Zl+1U6VqtDUNVLaYyuJEWbivZ9pusMEIskr1fFp1uV4Z1
2lFub2ODLdVv3bYGmglYPW/53Pq494U/sXIvy7Hemvr5twMcZuznWR/3JfE8dby+E4eDP71w
3lOiQ9zPrXzmRTiWL8JLlDfcioIxT23XxxMTO+ghP5KYF2QeYfeWSZzm1o/nH16QeDDtDm2B
ZCtzUj/JswGKjtplj+d5P5vdvFDW07HrPTk+ORm6x0/GB+OxM/S8p6fOU/t0PBk6z546JydP
nhwfP6kv6sRn1UwLhwcgrNA/v0ezp/958QgL6KPnnIqnYhev3p///GH0+vw98vVyB2ebF0zl
fP/u3QfEc5cae0Qz5rj15fiiT2JAZZknFqWQXTG+E3bOcJyk3sRf4mLicu19f/7uQhJXRh6Q
WQOp972xH9nIR+IhHNiK+092NLcDzYsGDu1o7+zNDxaZRCc8XcIwjVDEAW3W//PT3gVpaQsP
tyz67w4VVlVJe8RCcuIHaEbP/qEB597fYoQpxQtTX75/9bfRqx/evPzxgvHiRQC6zaj8w5Q9
riKLf7zSZyT2n38pfJanJyMUE/EY+1PLi1wfjdAsNMzdy+10ikQRP8LA4zk6PUETvEkehnMW
VDjtNBTfSPQy4QhPTi8Lh59kisMLFKcUIXVK/kniyN9eOJadUshspnx7BV+W2GkRCSkOGlDP
l715hiqblUii2EEysxUCKqXqRLFLBFJyyU0KL7tx+UtuL5ApuJSqU80SIdhj/2goU3GRVaea
L1rwMkGNmZCOhkkwV7K4N03SeIIkAwu2S+QACQdmRkpZoiIiZpQlmnLmdo7m8eO5H7iCyM/K
FOER8eL1GyubJ0Rb0X/XXkapNA48+aGs7xIv+lHhxqzOHOUpk6mINUQ94NXRUKIi4su568cW
fwYI/0ODi72zJUKpZRM/x07dzLKR4ra87PDo6YGVjQ9P9n7yl6h8WF+Q1TMa23+/fWV9eHOh
JnGJoa+UB2dxnAZ24pey+Dp25njtjUdJiG9//lCqDhx+4XqlOsKlOX9nqDiuYsdBPM4E9b/+
+ycD78TN9WhZARzHy7LJPLhGaima+NM5XsCZoMZDWo92Am5Im3fvxYsX1s+vzpHuzLJ8lsbz
6QxVZILENfDza2tmZ9bYQ6F4syP+1s5EVGneXuqFce7t71nWq1e4pIQxGrv9WCXhaCRanLle
Irmdee4HWTlQSB6pkaio9p3LnhNfabQ/VaLtZRrLInQv9biCOE40qhtONdo4dmaGSBM9f4sF
sUNgyOFQoyLko0J6gR6zWomqi3DIxSVLh9yVxJm/7CFaD3d9hqyk9lWPMJUr3FfKjW1+Iy3h
ye0Uo7FbIFP89E/ZNZSrIwvH86zsHnkeUm2hRA7t5dOjwwOVcnh4KGfvKjx9+kRmyTL34Ojg
qEwZyhTbzZ6eHp/IPLkXBDbqV0Z+lMzlmsmvgmfD4ZGcRB4mhwdPJEIQnh4N5VxlTuYjGGRy
WziuWjrCM/UiBEe5bubZWHX1ZvMyhXQcZS7fLVHCrEy5sh0lC5iGeh/fDkrEyJOrQIknQ7lW
CGNFjvIeHuaolMXM8VVKMEQKSyVlbomgBdJLqCY9n0w8pDVHuHeUZcaf0k0YE62XO3KyarmJ
6GcIGF6uqSA0u0zVgHRmk82VNrYX3kImODbi6pWVWpEdb+nJwkB6yQH5q1Gj2Ey/shdmjxD1
qtFUI2duYOZHnXVlCqj5ctRFKUIiC9FydOldh0obLyK5ZO6Ry1Txm/O3/1X0D7gzUYlI9zDi
y/cEbP4Y00f05G7fvlV/eOs+tIUD8A196ICMoN2w6EsZYbCQa5wTUZ34eZwafBIFUJwaxLbr
mdj9zB6FodL8Ig0kxar+5z5uaPdmXpCgAZ/Bd+GnuTFC6tEbB5fVnio2S56G/ocxTK5GzmRq
KnjmPzlyTp89sQ2eXpYYqFjnxDNjNdLO69nRclnleXhwYPCKvOGB0SNxzAVO8+D08OiZKZVD
c0xhFsbkrTzNBw+2jYXHQ3GDBx6oG7OaJaaG811ToolzqYxZBD0bmtp3amoeJGampnYdU/Gd
w+OT08PTNDf5at2fyPzp8ImpljH92FgsA9Hx0xSNbMyF4EM8k5fvL0dmvGIZnJtlcJYYJcb1
Fr7joX45x88KmBVDnS/Ky7HtJKYUxd6u0WuUoPkbmsOEFd5MjYwmiwaGpIphbKPOOTJJE/Kd
jCtCVSsL7FsatglQoJ4Z/ZqrbyTmqqZmIfrQJNxjO0c9yfUonIamhiMlJM+wGTzzJBzlvknL
4j6txzo1k3eORoamxkQeaBiSzHzHFCuZaZvwQH5ZRmgPLTQs7alRF807dO7DJrRtXZ1YuUcV
K+O3W67VtjTGfvToLnsylfswFtn+y5RhkjI8stZahHXXC10dxivmOM+PxOo7XuBYWn5kjf04
66OkLaQqy989qkUJKUmcEZ5GEW/Uv8T9pYWfjiV8bG2tRDg5LggouJUsPTSWGF4S/UriRATe
q3I37X25i/as2DW2w3Ec9918/Nxy4zVsjVQ0N952awEASFf1cEUMHi9balqyC+HGkdeyDA3o
/CIzyJJrYyWEhu696Rj95JY1oYulkxTN0ZASytAkAlHD2PUnPlmajGLLQupvjPiyhWWztVXX
4xHNEc/EJzGMEXFGGXwUSbBAoYttgAR9pnPymc/484woIpKwRxcIJzHNCsrmjLL+gT7DSxwR
iZ5EhOLOaLx5up2yxlqoNVkTIlDIHJYBF8sA0/C84vhdsccu36axPn+2vCVqwUOyccbbj8Ty
YCaULYiTfMJmDa0uzm7gRm+rd113nsu7w62MCHiG8QFeeVTlT+ZJ7w1eIGyjLEUaGxjnuOG6
FIciQZ0POts589K4FbN1R2Hqjr/043RKizxPsjz17FA9KFJ7/OU+HXlpKkhoZ/hCgpx3ix9i
WVMF0VM3L24ahVqFLJI+yxv5kc+v8Dp/TBkHYpvT6vVop0imMb0ePRHRwyciXihnIXAqvR4N
3sMHR16wuJiPhzeWe84ksKfZi0d3OryvHdgnKawlRnrYeH3x8SWYFqIc0G3CR0r9Bi6v4Lsc
YzZVx1ri43nnmUYaH0nei3IvwHxdO7eFd3H+iUgi4/AzIpuXi5BRkut8Fkcv6A+hPRdDzPqD
V4Mgduyg+fgV2e6oOIIllWEPfacqT5EKOV3JpdfIwI+QUiDqCREm1P1XnfiiDPfj3NdNz3op
x7zIv967Ib7vtff/O/vpl9IpsMnP52fkDv0Zuxb2evTDu/cfzn/4lV2xejEsmaPBHPhe1rsf
frg4+zD6/vzDxQsaUL+zZbw6lnruPHLtKO/hS2SZuGaGiN4E/V6lfu6Re2nRFPuGfoZvpimR
GG+urVUprlUjrlsdtqMLsTggXnxAA1U1wUOPNg0+1DfpBfbYC+QWYXWFJRSTvTDJr3vj2L3G
VwBR3+25WK96aYR98Vq5jS8DOvMUzxoF5Xp4iRz43ha+FYMlwJ9GKFdu708ETbaK0ft7HLio
ya+RupLuHpboExwLJWNBQf1siLr7vTevy5Ag92F6V3Ya9dg6BqF8+ib1gjTmjii+QkMr3ytu
TK6xW1hzn2Dd/DAn0/LSP0rZy8Kxq8ZElTjSywPst9ZjoHu5gxS0N55PxfoBCvMTyphGXP0c
IdYNiUW6GZ+uTOEzaq2cLtSPDDJqoDKjCMhYWaFGaz5daM1ce+97fN7JupohNcrqvPrQoV4e
41FETLx4eSGVnxH/35/PftSIP7/9UQ+ez/DRKqni8ThET954vHEczL1PVuOZRxzefOjxx1/O
LlBf9fLizJLSwr2e+q/ygCRddJCPSWLWlx8+vB/8D/6rkFc9N4ni/fDqRzawSL2cSCYiGs9S
Jrj6FmU5m+BRXnYdOUoRQsTpZ7I2IOKPT7+NZD9Mnc9913BKFCMZH0tQCvYhtdH4hm1Msowl
jIrmgMk8tzDArBxTev+Z+O53CJ++45WFPh27egmXk8zJg1IrR1lm4ZvkRVEQcZ6N8akkC3US
fsqJ5hO9SNn6+DSaIqQU7NM5nl/aU3xnndZay+dI1bOjP569tVRVyOaNPbqpnfVRhgQf80Ji
pXi3vd6irbFsun6IJ77hH0dZP/eWvurDTwTpPnjv0AldUyA0tpn1Z3kYCPL/76efB3+GCRkM
2BEOtMzVMPgs6mm5NchxwJmgErGX3Ere0eik8JCTkviR5uuREW6ZiBDryymtt7YHJA1yXNNG
g7bBn1O7Z8zLhpLtoLTmBtlMwiEawMzsoO+UBMmpEOjZnrK6b5HV8nUtJvOZMdvMFik5JKV1
bafhLbTsOqMwygZ0hMh+enQs2ceebRVLqVg3drg2eEkmCRSyaRwO0IAp98dxTE+wFGH6h1rb
EFI5PDnMLMJ/j7sdrDdNCaAozCxFHJUsRSypfdUUC2W5QJOsqkjw+ouJo4gDc7QthHT1BTVO
tSgqzVdW7hvKTaulRwoJ/3dYWfr+oSSAG8rBJkp8Wt3epCduN2lxGn5qD8gosUdGiUUXUTow
rxyBrAhEDSRVn8BPQ0vSNpaCV0vRAZYCd0tRIZaqcdgR/NidB1rSFNcyFXVPg6IDRhlXDj/G
GRpL61doSCDUi5G7JTSkckJbMNAJQiUHTtf1yOWnulhSb4raML02+aHWTezcmZVL2nAPi/KQ
6alWPNoTl9wDNJazUa1rdNRl5amSFo3bD72ULTRJfvr9LzQTlJ10DVSmuL6jcOD5veyeBLFy
9enPsVr0P//IlCxgZy/wlsoheUKke2I6nay2KC1DVkokQtlNqqBM3OgAduPJ0gHsRpOVxpGl
qldv0Zkv6ZAlBMl9k5t36rVDeoGIjOvK1CSNp6mXGbhTpBvUOxeqR6+UgcJjjiHnLeXKrrkJ
SC8lq9knhRsgRarRDFcuB3+aiAvX12mGi5cD48XLgeHi5cB48XJguHg5MF68HBgvXlIqkqKJ
E8+jikA9J5jjXfkK3yyyk2wWVwbG4qX7eZo4YRqWYWds9AlqoupRiJh8KvOO/fDqq+ZTeRd1
YMDAYBxcklVpzSObeV7ixoaGDC4XXupPrk0it8qFVEqSJRZNAhWZHs+uTo7VC1MkBddbGPi0
O1HqVRwRXdXdI8Q++HPuzcs0ww1BTMaapkSiY54S0Z2HpcuKA/VuAKNo90N5hundUfRdTi3w
UzmeCer9F1Stks/qsqt3VFa6GMxj0C5m4V0CpQPEB7ZLjc8Dq+nmzrSXIrSiMYSZdzROfXdq
8gzV+MmSrnY90/bRCEBVS1J4iapeepYzULoVW75lLLF6ZV7u58ezo+PhgcFn6cdHh0cHI35M
p4bFja+iSqYrPDJUEXqri9s8Pu1ylfGWnOmytKgP/Y5U+R61qJ7SxayK+9VFTauX1gi7Wjr1
wnERUL2/JoOrdDFLvcstM5ZuEcpentlLvdzGqaV7WTJ5RC5umQoQjsrtKMIlpppVb9txaum2
WRFFEnhZaMosLp3jGCsVk3t4v67HDlDPK1r4mVq9pcvxQpDdfOSfHB0ceNpt+tvcnZfRWWK8
5ZV6cnvd2AREA9hK76N44Q2aUkSul5mqW7ta2nBTn4cz3FYtcoAvuiflm/nNF/yVCFRW9eK/
yETpMiun69dfm00FqBXS8zO73BJGdeviyWpq6jSwl4062nKqjt9zMmVkVWGTQI7oT7WDvYm5
ApMlAs3kgH79V71p+6e5g8dZUxsaM+IJSuKhrt9gR8WUczk2td5Rb2ZHbqAIejJB/FV58ZWO
euznoVHCSNuUBMJHk8mV7C0UHvPIOO4g5VBWT4ogE1nmbma5QQw8TXfSb2rWQVLbhrv4lUYf
RKd9nama6TbWIER9ZXaFniPSZLuu3P5zn9/pUYmqbQlKGH2KjcOABZrpJ8YeFPuUsO8PDIYq
EJUeWDHFEV7ZqVe60F14lpGGolLNXiBCYflC5umhaV7vk1n8S9f0pQAzNK03axbtDr8UKven
M2PXrV7vF20Y5V7Qm7m2HltiB16em9JH7L2yvMglTQO9nnp/xOOsV1pm8WOTdnqWTDI+B3km
N57tKGNFsroxMXUGagw9ssgtsUVxrk5IvYUX5SNC9j1t7Y4sXzansrTzXFHWeOI1KM8J6wIT
c3FaDP5EJyUj31HmiwW9YvJRSo8tEikVWsHqxPnMlBJdz9Z8yvNNJVYnnpiQx/xcXy89GsxO
amIzA4T5mlsk9JURFct1TTJFVSDxNdSFNp+nZNSda61R+FTUHvbK5mM919ijLIjUZ+7qgoA3
QHRqPjEQ7RRFXFpQWhrNL2AqUuza4ubSaHZhWTLSsNTNL2BSpEzgKpZxTWvKxvXtPxVQzMKS
IKL0VZsGkimiqb1Xtle0V7ZVVCLgGJTzMHQDXzpAoZxumpkPWSg88kGMXhy4hI8pS5nPTp3Z
iL71YGZwkrlm6YH7VZj44d5Td5zlytRL8R7jPSrdGAb39uPSLEbxNVsJUn1NpoLKHPV5qLYq
VOKgs7nSKEZlxBOpUU1MJRVBD6dVMV8uwl5d3YZeGCt7e4ov3gZBBa/xrrGqInO5MV72IqcA
69JCQ6fyIrTCUxpgK355akdZYOdeXY6RkJZH6eZIKhmcKf6vzpu/jlPFM0nmA/xd3jpUmOJk
REfbVQz1vqicfmVN41tIleK3rLG0I0RUt0Ak5KnaPhJn0W0biVxXGjjiHFm1l534lRH7cZ1v
lX0kUdywTsHUG0QqCl1pFUmULSS2Sip8ySLU+Kluk6vIx3g+dapVlHqyypjFUWlarIaXTMFJ
9ndEP0IOV1xnuRf2sEebp1fk+9elQys4Gd69im5VdKe8G12bfRtzVtZeYvU2X53Fm0y3eFNl
/YaTstzFiJNJdGKqkP5cBprNnFvYyqErcSgC6uKLg5wgTOlwAl3i4y6+XsfdrHPHzsKWjpV4
qOLiKZpuZEe2myWHpygF1SMMTg6eEFqYOKdPjo/RAIm45CN5lnL8zsqOnh30PvlJQNJDJUxS
lCGb1XsQT2j92IGD3xtyAj9BCloYW2nxXGdbZniEvBUmUTYl4g/TIM8GZKQtMzpaw1WZ0WH9
xe1s6bRu46ZsYYPldr8QfGpUpNzbtdKf0Dt1649Z66vbt2JSWa8bv06zTSZLODiQdxIKgLR2
LYgms7/F75nSEqz1TVN2L/VO979ptlp4yNQQcelRUF4j/MMpXkkUXoLtLr1NTRnL73bexdaT
IZnWX+XD17DbzbPI8F3awZzvlhQs1xVbq1OxTAatq1SSyv4emggEd3yudhmYYE74qckHOxiM
Mxd36z1yWrA3Q3rTdT1sp2WzKfdnVq9Hrba8oNX83Yj8jsjp+Vk/8q64LQR8YYMsqSfXtElG
1Om7gTUayZSZ6h6Rg/UlYt9piHdEOjCUYz2BwqucEvcwJlkEc/CNkt7EYr7YKA3KdT8PE/zf
czRBcGax9eji+/O3+N23j48ESD8+emR9911DODXYqqHenH9/9j9nr3gwaRS4anApUcS7UqiL
v718fyaXEU8RVgr58/vz/3754WykFvamuUaDgx/O3//0dzUXIhY0oV81mtGrdyiqH0csGma/
cOXQ0jN/H7V3/laO5c27V//F40DDIHyF6nLlwO9/eSuHTefRjUrw88sfz9/+qKTOqhH3APYU
qcr6uPCzk/9mOWGCDTGamQxkZk8uXFQDyhiKGJCrhyG1dFfOUqGZVIopI9W8evIFL0kZ21Xo
edajbPDxy9/+98XvX3/86sXHL/voZ/DvxJqOZ308tD4OB9NHhgJY5VoeYmql2jGVUwlZItZV
upm/urqHorLpvnOO+1TaGWC1aRWmgzIrjys1sR76/71493a10ExdV2TAD5PAE9ZM6jLhqPVY
2WeY6Wql3jiwXMOVTGWRru+9ajxXyOxq0TRmW3CulHc0bamgr1K9NYGbq9e5pRDfTnbvJLJ1
klpqsbqmNrBWVVNjA5qEpVHU6gJVNtgq8lSShDrpMbBWVgIVkS1eNQlaWTHB2WEW5z55adwL
vGiazyRrdlJhMspeXzwWWRRHgY/8bFRJ531iUfEVmjszc1d3Wk/RZzsBMR235kiLNZr1ZzbY
qhpoK1r+sdbY2Tk0bGqULa4FffKHL6ptKfpHTujivgW0AGgB0AK30AIFgGTHDmgFdkwX1AKo
BVALt1ILDEGKa9sVQ7ZMQCeATgCdcBudQMDDP7ZaE5DyzrHZjdE16INu9AGTK7UpVOeuyBhM
T++NjAX9knNHZAwk7J5ImCJfOyFd+CIqqLD7IWC8LUruXREzELL7ImSqiO2EgC2wcQiQr+7l
izSE7NgF6SKXcEG6upcu0hCyY6ulaxJ4SztNbVim2IlFu23K63It93w2lt1xcJnbyZDb1W8r
+u1ezX3A4rxNeQXo7R702ChF6tCl760eo5BCw/hkFxTPNuUVlOTOKkmmUdjv9ivHkYMUSw7H
0XZC72xTXkFH7raOFIpFde6AxnRD0Ja7oIG2Ka+gLXdcW2KlUnzugJaEXacdUT3blFdQkzuu
JqUtVL6D6jiH31pYxV3ZKX7pPbPGHlaBORlwupad0bd8s8Ie1ddff239xmbyv1tnRLEcqt5/
t31iKQDb2ZxH2LhANkOR4edP+uifynyFmL+13saWM/MD10Iq1vEy/DqNZV2gSugXhrdIytl8
jC0oMjNZPZIRno1hu8a/DtU8CGtppeQP20mepc0LTnyKlP8C/7b530urZ+FGHiEB6AfxtI00
DtC/k+Nj/Hv49MmB/HtwOHx6PDw8/sshopw8PT44PD76CyYePvmLddBGZsr/5kiqU8v6C8FH
DV+T/5b+k+yqqhYAD9dpARC5ubnBifV+HiAlG15aIyXBtVo4lBJ8ZRGN1YJdQ+TmevI3bGwT
9XyBl1u/W3/9q8XTprQWrDWLxAc0CWqrFm8I0lzQn76zfnvGesqksNl1OBb13E5RWRnZ1IhP
LQxTpHdDJGim2Zdx1lU/oYp5yfhvq3XaghnoUtwYgreOR2BXMn05wI/B4bfAZu1gzAjktgRs
JSA/aRfIIo1/MAo25D9PsJErF6/GFgybhHQ7hZZLy5LbYHH3W0WyNRpZ5L/i34j8H1NVuswg
fzDnnvXR+jiwBjjUiEb5GT8O8Bn9YtpHzsu9ERH5km/yMcL8mIqiwtyDgYVD7ZOgNCoSfPQV
Zv5s0f9hb8Q4wiHR7z8YCXmR4CiqAYkN+7IwJG8oAA42oFGJ6D6SnKK0vqQknBguAuLcQ2Ub
fBx9xPlmYXAZR5+/HH2F64q4ke833BuREP+Ikfoksc8k+J61tn+t6GKiYzyhQO0sRIoGVUoQ
Wb1sgia+YW95eiL7r1FtI0XGIm5pPMRiR8C6RNFhO970qdBG9zT1Equ3sPZfn/1w/vaMrFL+
+MvZxYfR316+ff3m7MsgjqZf7VvJfBz4zgCvL+JXEvszLFh7XzBbx3fUfjQvPfI4Wy+L56nj
YavJ31F6kahD7DbfMMtegEYfubfRHPM0aYbX3Ab05VZnZkeRF2y2WErKt2qNaWqjKFjSG8y6
nO6tMj7xbPwmdLbRXItEmSARK5FGVOjUu4rZJXmlcJOlpSkaiqrASSOqvGqV6dR1o5E9X7nJ
emJJ3kqMo9DfaF5xeqYW1TVJhddd2yeZXWeut9hooXmahoJLMl4i3bmg/MnMjZaUJ2ooqmh6
hXDXYmbOzHM3WkaaoqGAWp9i9NAVjhyHjOUy7aZVk6OAG60ZkqB5jHPTrKe2s9kBAU3R0KpS
c5dIdy3kwknmGy0jSdBQREU/acQ7F9NLM5/Yz95gSVmahsIWQqpS7lpMvHOzySLi9AzFU0qu
EeuVj4SBEmkNlYPfptx0BZE0bzUuQoHjJI0nm84xTdSEUaVn1aklKRBIVynldhzYqTPDCx3V
HjesOB6O1ELo2ButQC3xW7W9HEtn2TfJgCLRGrGdJkS/o6Nhd63I0jfXhoQWnXpXncWz0VXx
K4qtC4nZh7xy6+NXbvW1OkZx4/BgFCdZQSkWxyoWl/TVD+NCTmnNoJgbj0iEColOl5X5qDZX
0+c0peG/OuQtjSLV8ZY2LNH6qILQo1Wr0BQH7yQYZbYIB97p8ECloP9GfjSJy9XD/eJEpflx
6v2pkhI7tUOpuv0Yn1DzJwrFiaMslhNAtMm4xDTJSoTLsVui4ENVXrTAra7QIy8vcSaOX6bg
/V8H78/KVLywrRDyJCwFnGflnC4yJytHj/I1nqtxL7PRlZ96+KkVN7bI1rQdZX5xtC7LXZ/I
HN+yLnatL/DG8gDJ2CCaY6+lYz32i/een9N3xx77z8lrz9Z3M892kdz0ndllPTIVANcymOOo
DEvDkFKe3d8jziRRrOBypH+Igz1N3vt76rnzyEXKghwtRqn4V34+o48zWuJYpHximZWohyLH
h5UTP7n1cUxpb2QNUQzYLtEgtFHjTL3IQ1W49nhdb2LPA1ThIX6jujcJYjvnrYrUOWkxsmFE
id7S8RJxgNvLctQ+9FVMRAgRA2qA3icszcSVZbi1EpxvHNrOriNnlsZRPM9Q9q78yO2RLKLA
r3989Qp1lRej/z6/OP/+/M35h19HLz98eH/+/S8fGg6gRzEBoUMEkh1+H6Gv/z57//27C3ym
Hcf78tXP5+zz55cXFx/+9v7dLz/+rVrCX7O3EH94//Kns9HP787ffjh7X5+RewsYLpWmvqcX
Hg2xoiqv6fuGVX7QDKAZQDM8UM3Ah+9+mQB6AfQC6IWHqxeUWbxvJoOOAB0BOuLB6gixpOdr
FNAMoBlAMzxYzSAv7fsmIugH0A+gHx6sfqC7fL7qBJ0AOgF0woPVCWxf3y+5K3Y71fM61b6g
U0CngE55qDoFnw3yZQfoA9AHoA8erD7gxwP9MgH0AugF0AsPVy/wU8K+RgHNAJoBNMOD1Qz0
toCvOkEngE4AnfBgdQK5MuQrLtAIoBFAIzxcjUCuDfqqE3QC6ATQCQ9WJ5C7w77iAo0AGgE0
wsPVCMx+gF8mgF4AvQB64cHqhSUzI+KXCaAXQC+AXnjIeoEaC/I1CmgG0AygGR6sZtDOOftw
Aho0BWgK0BR1msKsJUBDgIYADQEagjAxc5Hm4QTYkgR9AfoC9EVhVlbTE1Q/oLitnvfc8t0X
o8dfEoO4ZbOT2Dx2nlr7v30bxFde+u3vvUF/HzvnSYKdo9Fo/6vn2II2Cf7o3/1JhETReuy7
j/Rn3Wb4EqjMjVh9JGOUu5mdF/8/MQx4wb+7WVDNZvZq4ZPUnoa2lSDPL4+/qg8izJH/779b
vx30nv2+bzDw2ZbZcWrIGJsd/2zNI//PmxauoWwshBe5/sQafI2bzvp6UBmmRsbk5/ruLGIi
spUkrJK7UcCaQ5btra8UulK69BDVwlXYiNy8bK1UsvqCNUqWEqROsLRnE+8uXmqUqwlZfZhm
UVsxvNme/w1iqha+inA1IlgyR9iBIK5e1lWK2iyUekDzk4Yz05OGsxoxVt6hvLMEF7GtJLzV
7I1yu0JQ7a2J1cJXCqohSLWMSubwNi+eqxWuoWyNQqmGqXhNVBHIglrxyKbCXVBr5Lf8AOyd
RViJcCUprg3RKMirhTa9krJyLJUSbQ5VLdSqJbfNy/XKpWwuZKN0a8FqhLB42/bO4seiWknw
KngbRa4pnPr6zgohKwWszF8tWtwI2OaFaoUy1RWpUZCkAHWP1qo9t+qlPVylvVlVO8+W3hS+
s3zyuFYS0CrmRgltDFh6/mmVsJVCqgWollJhlmrzYrpKsWpL1SiocogaaeJPPt9ZlEhEK8mR
kbNRiOpDyQ+GNYaqlB2Vu1pwqO2hzUtNY2mqC9MoL4Ld9CS1os4YqUao5Ge17yxYIrKVhKuS
u1HAmkOWH6JbKXSlsOkhqgWuMG6zeaFbqWT1BWsUPiWI/lC4In6EUCd88lPnd5c+Edtq4lfJ
3ix/zUG1hw9XC18tgnqQGhksDKl0IIQrFa6hbM1iqISpfs9dkUfFo0Yui7fp7yyULKqVJLKC
t1Ecm8KpT26uELJSCsv81SLILXZsXv5WKFNdkRolTwqgip08jCvTaoSNPX26BlmjMa0kambW
RklrCKY85tocrlLMSuzVUsZsQGxeyJoLVFOeRhEr+Etvict9r0ZUeSUxLZHqZJE9vLsOYaRR
rSaNZt5mcWwIpz4nvELIaoks8deIJDNC0IFMNpeprkjNUlkEqBEh9ljzGiSIxrSSAJlZG+Wn
IZjy/HRzuErhKbFXyw67rL550WkuUE15GgWn4FdVVKHmVEpJ6SkjPZ1aJ4viqfB1iCOPbDWJ
rOJuFsrGkOWH0FcKXS2dWogaARV3pzuQ0VVKVl+wZkmVg8ABSzhgCQcsH+oBS+WmBt3oUbql
olNTKTXd0ZJdKF9LdyQiW6k7quRu7I6aQxaVSRlXCl3ZHekhqrujpbiyv/nuaKWS1RessTtS
gtQLFr2QvC7JYrGtKloV7KvIVlPQQrgY52rh68SrHKRWvvjV704EbIXCNZRtFRGTwpTG58WE
r0SqkUXt6utaZFKPdSXZbA7WKKM1UawibzXBq+XOcLF48/LXXHdVctgcsloezWG1cxiFWtSI
pW5aHtFrxBXleP0yfAv5vaPs3kFubyyzncvr7WT1tnLa2D+b7u+tXy3yiG+uGatC3kw5arHc
WD9qMayoIsU9qI61ZFU9rqQoqwKvqCvl4Jq6lLp4nbqC4K5dYG8uqHcT0NsL5k0FsmtBvJUA
3lLwKgTO3IdX+1aHrg7ZNNFe21Ro9VnQ7SZAK819VghVN+NZdbLT1TznRlOcG85u6gRUyK/R
o0ao68IqDPoB4rISRjzeMonT3Pr51w9/e/f2Ba38UmP99oX1+9f/vm8tAyRCQZbTdrqa+YFn
pahqrauZnVuRHXrWzE2fW26M/b8YjP1okM3u2pJTL+9NfC9wsz6K7NFjnNgjVobRY5KqCsDH
KBMoi5nnWvvZN/8XV83//YbWyTfT/a+sz58tb+nn1uP/h5TTxQulos1wEUWjUbnJ+s7sklSc
5C7VrQimUvbSUFnFK5975xNb5TUJ5SJ1rRWG0kEP4WZP1KiGp41ri9preCUz9tKFJkYRt3lE
hOWLedr6mHmQzkOz62rmkiqGrTTjufqbXewZcaVihUt5CrS40VqqCrXaygb9tYqpqAZBVm/P
lOrGWOiaqnDKVaGxKlfyixfMtKPsiqSo76NqLW2wPWhYpDKUt1Z6/b3QvvR+O/r9W+uNZy/w
Erzrp2Sb49r6x103WPZJ7Biit47p/TxA7RteWr1XFi7AAGXcwvs28WSCun+kjooSnOH9hXUV
gSe2TzcB7+2GBuwAwg5g8w4gb4o7Vxgdx0YTf4o3zNrZWPzpp9fozw9WX8F537V6F3h7TqFa
WJGdHA9kotOOUis0wvq0WlkO5WLM2tFs+63UTluq/taxof9a7xnWWuQ752cwjuPcIn3ByI/6
8X3LHup37l/uWG957/Llpj4eXt6/jC2zsJyp347XDTFW+jUjDE0L0vbzTiXqng8bra0YOMLI
EUaOtxs5jv08tJN+jAeNjsVcDh49cp+W0I/UI0AfoA/Q7wz6CIEjJ049Dn7hJvAvfFtSAMpo
fH/v/dmbd69eHCyfOgcHBxYfzpAdkaMhHpekXhA7/Yu2c4MADHoJ9BLopc70UpbPx1QnTbJZ
nOa9KzIfQRqK+BDtRHn2AtfCcAi9YDKi61vIlZLRi5i9cF6hN9pY6qJq435MPMWSUHkG96Sl
2ecAtw8oTVCaoDQ7U5oooSwOxFiOOx16TYf5AUQBogDR7iCaeqPETi9RAQucSjQGVplrtRGO
aa62zlEOWau5H4MbJ71O8rj9oU1pdtqsOPGNyBCHeuGfoLFXp8ccmgHO9KSib2U9gWWTTriJ
UNJPIo1UFP0jXMa3Vu9DjpSExaftgjWILkWgePyHEyfXqP6ssR/ZqFnKPIgMXRN0TdA1ddY1
JXPRI5HTl7gjwrSWV9tg0giwB9h3Bnsb1RbHPfkmwKfUvS9jFx+o7+XWsuim6U2RXmbto/99
tuyrS2v/7XvrO+vQ+meC1ENuZf+y/pm9eHzwr3168J4ebB9Yg28OloPpvjjqjt2PBwOJ8L/k
ksXX3wysfhAjdA/2v7K+46v+aWgcNYjBXyuLetLYDzU1qvGzn75/82uL7X1rRQgnZkH1geq7
gerDl2O46iPf5MQspa426Wa87W4rrDr7hEESDJJAU7R1QipOMumEFHbxE1LEB/AJ+AR8doXP
KDs8efLkgAOUOwlChR9AFCAKEO1weTGJ40BaYiROvsxI/QCiAFGAaFcQdePQyQVCmYsAlPu0
dQuIbOjCHBfQD+jvDP2p/weSYE/gX7jp7r/wBZQCSgGlHfbRNl56Fn00dvE+mvgAPgGfgM+u
8LlAzcLRSb4JNikVkAnIBGR2hcwMNbMtRrfMRS+SMR/AJ+AT8NnZAjE1+CsuRRCXUzwxtOqZ
jGKmyrvdVo5nwJoV6AzQGR3rDNWCLVMdZbO2SD2U+FZTJOLKZLGFXAwVWjl0qt6lXq85r2Q+
Sb0/5UtToLlAc4Hm6khzyUanmd5S7VAjXaTwAFwBrgDXruDqp39ymOJPAk9CA1gCLAGWne2G
eeO5sKNAHXQvjNLXO4ROHB+GzwB8AP69AH5gXxfAxw4GfEIHcAI4AZz3+Bwp4BPwCfjsCJ+X
qC6L5XLmIvjkPm3bCqWL0bB5BmoA1EB3G+4UhdKNLOLkN7KoH4Xoz1YP5eIXavENzKDcS0UA
egD0wO3egPCiPn6r2CVPPlAH/+1f7GHLTD0PG2dCtI+Y+LEffysc32KDTv8pRfJd8S09Ja0S
JSeMAWAMANjvcKredJ2k3alA4sBTK6ACQAV0pwIQAjn+8ScBP6GtdkqOsrZ6HA50BOgI0BGd
nrM9HQrjSuSbnqolVEAmIBOQ2fEi3iiOXC+0I7e0mlfQ5WU9iRvQC+gF9HaN3tDPnNE0RqPd
KE6zMoZLvgqSyyHXfOTNzrIcteF8Ois/t7O2NGwngXN1oJBAId0HhXTpXc/QuCDw0uJ4gKCw
IwIFB2AVsApY7Qqr89wP/FycguVOglLhBxAFiAJEO1s3Wyo3PLmTrp5xv5Z32PD4GpbPQQ2A
GuhMDdD64FqAuYgS4D5t77IX83hQBaAKQBV0pgp8JMvinVXqoJfJKR3ACeAEcHYFzkkwz2Z5
MOb4FG4C0cIXUAooBZR2t0a99JxieRo72Mo0oQM4AZwAzq7AGc1DWzzDh78JNCl1RbOL/OqZ
4bRK5ba3tODdrmVGuLkKSgaUTMdKJs7E7XX8SVQMoQEsAZYAy65gmQR2PonTcDRDSElxCcXF
Et2H3jMxhAAMA4YBw52tTx+dPhXL0/ibrk4TKiATkAnI7Kx3DTEQRI9KXbQXZT6AT8An4LO7
nd1iW5fv6QImAZOAye4wObtKvak4eMVcBJvcB/AJ+AR8doXPwBdnLfAnQSahrfeK4cJ3vRju
GALoAfT3APShF8apuLbEXAT63AfwCfgEfHaFz9Qbx7FYaGIugk/uA/gEfAI+O1sIrjTYB7AE
WAIsu1r/PR0+eSaWgImDrgJT+npntKzyYUoL2Afs3wPsxyMbVVixAUSdbBeI+a15TSt3yya5
2rs/TBbQ4NAz6BjQMZ3pmMVUXKzAn0S3EBrAEmAJsOwKlpM4ykeny8NjcWlYEOit4cIfgApA
BaB2tu2EWsOXLyUUBLr5VPgDUAGoANSue9STco96ovaoJ3zae9Km6bwBbR6Y/IJOAJ3QmU7I
x/iCf2FCjzmpDT3uBxAFiAJEO+62T0u99qnSaZ8CSgGlgNIOV5G9rFhGxt90HZlQAZmATEBm
d0Pcie2yY5evz9+efxhdnL36cP7u7cXo3ds3v9JhL2Fho17KDqAF0AJouwJtFOf+xC9eSxJu
avZO+La8UCXZdx8schcWq0ApgFLoTCmAjXcAJ4DznoIzH/s4G0HDQJsxsaE2D7KaBVtyKks+
+CFvWUkrYTDtBn0A+qDr21T21BuhcsXi9LZEoXerJI52rUvDMWvQB6APuh4fLCe24zUMDygP
Gx2wAIBbwC3gtkvcpsJuQQ1wU2HOoAiy3qtZdqhczYrHf7jzMLF6M7Fob322EEhRC1j7g98O
es9+H/wz++bg4OtvDr6ZPk/+tY/8r2Y+Qm3q2a7lu0srQpVhZZ8QIcufW25sfdz74gvHRnLy
6DH2e4RgSmj9HMnVZ/K3//XnvmvnNv2LXeMs+4pwfZGjeKzHKMJ/e2EdWJ8/W6ihkF6Ye8+p
v+fMYuvRGQb8t1aGhMeKJyL735IkLT+zDpYojkfWd38d8nBLH8X7pbdMUusxzvh/WIdfPaee
aLbjkC8XCTquFidOrq0ekn0cHVJXDkaI1U9jnN8XfT/yc+ao5OojJXnYP1SYGa0hzNAQZtgQ
5tgQ5rghzKkhzKkhDPFNvYCxc2cNZx8NSe0yPyXWhUrjcpA0ruc3J8TphVSzD8JWkns+g95a
yecFANkH2VdkX0i2+DTJPxsjbq34s/yD9IP0K9LP5Zp/mWWfjrK2WPhpAUD6QfpL0s8kW3wy
+V9pn0AcXFcHTuWOpIQtLS1xtKCNJUnlCsxaZ0n0xT5ftWKzuWMSaJIGK62wYgMrNt0ekxhR
JSadlaCU4sAE4wCsAlYBq11hNcyEzUn8SS/MZ2BzEmAJsOwQlm5oi6PH5JsAk1IBmYBMQGZn
x4pSzwuT4rk+5qQHirgfQBQgChDtCqKpHU09JPHipQPupm8dCF9AKaAUUNrdKlESp/nIC+cB
wkOxUqRQ2WqRyrkJ41BiERvWkkFLgJboTEvM82kQj21h21G4iWYofAGlgFJAabc7PqGdqBs+
mCDt9xB/ACoAFYDaXXca+plTe5SesbD+lbIDaAG0ANruQCtZSJXso3LrqNKZTA7YLT2RybMP
5zHhPKZ0HlNINfu4yVnMYopYCt3+6UppDWm919ASz4cXAqFzhs75HnTOfvqnmPSiTzrdxTSA
JcASYNkVLDNn5rkjB9VjcQpZoRGgqlyAWEAsILYrxP7pR4tin4e5CEq5D+AT8An47Ozgo+OP
7NAdKUZQVSI9BKnybeKwBp4QwzkN0A6gHTrTDgiLYpxNvokuoFRAJiATkNnZAlWUp558NIO7
6VKV8AWUAkoBpV2hFA9he2M7EwehCwLBqeQPQAWgAlC7PeqIu82ycYs8VY1b5HBXF7AKWO26
U/VjpUtFzqJDxX4AUYAoQPQ+7NMOTRu1Q32ndgigBdACaLsDbeg7aezEroc3eoT5KIVIDUmp
fABaAC2AtrPzFXM/vRTXCJiLnq9gPqsdqKZ7OvKClDSWbv9QNd3rXc0ML5EA9BHNQ/xwX5zh
U+BJiBUC+phdpd4Ue6femBn7JQEGyulxdoRbJuIsDMq2bdt6OgwXGva2QXOC5ux4yc8phjoF
QVrwI/7rveiBRALueYASACVwD5RAMZfBAQJ91kPJpXkP4wW1AGoB1MIuqgXa90/nXlYydk9J
0viA8QBcAa4A1263G5DoT9S9BkKRNhooB2AVsApY7XzErY21S6NsACoAFYDaIVBDgdCQQTPc
6JNvSDRgiRxUAKiAzlSAnYudRfxJT9hhGsASYAmw7HZ1yvVwrdca/VQYpUUrHpR25k830Zkv
chc6dNAcoDk61RwIhbxDx59EJRDaakdvoO8HBAOC70Hfj4+PrdDzEzap36fB2j3OBzN4UBeg
Lu6LuqD7XkgcI+fkyZG6Oyao0g5ZwQm4BdwCbmHlDWAJsARYyt3pPPCUjhS7iy6U+AJKAaWA
0s5QOpvnbnwVCZRyN0Wp8JWf2FEXxrf0oR21EPDcDjy3Iz23U5Jwxckez9HwQBeMthoNtAiA
BcCChgUm3ZLjJk9QkX0TNilbKQC3IOYX8CMmOsu2tRVTY/I1RPXKgQnBhrKILd62F3vFDu/q
lYF+3dBO++LRO/EogGTBVFxkxzektAvam1jGRiWDZWwY0cOIvrsRPWoG6Uku7qTjee63OYWA
lPUN1Rw2o4H1PO03FLMToeI06bi2jFBIRVqxOM7MTuXcOsl8knp/yiRUSMUpVZtcamz0Q+5M
fdeLtYIft1NwUOagzEGZd6jM0+LxNvzN1HgK92gBmYDMLpGZ+BGaIF8KdHI3RajwBZQCSgGl
naEUZW+Em8aPio1ImUbRqnABYgGxgNjuEIvv1hRYJS6GUuoD+AR8Aj47w+d1OI4DceKOOylC
uR9AFCAKEO0OopmTBwVCiYsBlPoAPgGfgM+u8BkmiZ0W7xxyJ7Ubw/0AogBRgGhXEM3t7DLw
xNYLdxKICj+AKEAUINoZRP1QdKHkm4KTUAGZgExAZpfITGVopgU24UVgACeAs0twprZT9JvE
QcFJ6QBOACeAsytw4hO3qH6F3THmpLbHuB9AFCAKEO0KolHoc3jiTwJNQgNYAiwBlp31nFmS
IlbxqI1w075T+AJKAaWA0q5QemX7Yk+FfBN0UiogE5AJyOwKmcsQFSp2RnmQiT5UoRGkqlyA
WEAsILazieg8tMVMFH/TqSihAjIBmYDMrpCZOvPERUjg6BRugtDCF1AKKAWUdrYRGnri1Uby
TbdBCRWQCcgEZHaFTGL7iQITfxJcEhrAEmAJsOyywxyhFOVOk7hFx0l9AaWAUkBpZ5NP2/WX
vTz1iulnQaETUIkDsApYBax2NtD1UieZi7EuddHhLvMBfAI+AZ+d4XN2nbneQgCUOSlCuR9A
FCAKEO1suDtWhrpjaZg7hiEu4BPw2S0+g08xByf+JMgkNIAlwBJg2RUskbDPE2EhjDiogTBK
J09KoNhvX6r3c1Tf/fDS6r26fSQMccysYM+dh+E1aA7QHKA5OtQcqz4YCigFlAJKu0JpWPTu
Ie/bMQ1gCbAEWHYIy3Ec5xI0iZPDk/oBRAGiANGuIIoSi1GlF5fguJtegBO+xauLZzjidT27
SKEEry6CDgAd0F03rS44KS9dMKIjvXehLkz9bPVQvn7xj05PUEpnP5yT+kDZOvvp+ze/tlgp
t9YWbaiIbVAQoB9AP9xKPyBJ7QduhvVCbDEHHhoQ4kU77zErAwNQKKBQQKHsjkJJvSB2SuMN
JL0DhX7BtI1KjfcQXKyeZ+1nA+T5Eeugj/34W+H4djDdt/5T0lnfFd/9yLvaCxd4p08lSs71
7gUi0CZI2KTX62GmAzMdUDxdzXQQKMQEB3/TeQ2hUmQyVHEhNqDr3RClb0rcPDaoxeKU67jw
kmg5+bvvdJGj2MKrsigPXjA5GioOniFQXqC8QHl1oLzgqWDAJ+Dz/uKz+R3Stc4tZotQnliQ
ZZgn7WzQDOg8BvZpQMGAgulMwbhxaPviJCJzEQXDfQCfgE/AZ1f4vER16YkBAHMRfHKf9Q4A
An+MJuawuAjwB/jfA/gjwUWj5NTLMqoCXp+/Pf8wujh79eH83duL0bu3b34l/XbBRvtuKRgA
GAAMAO4KwON59MlPhrXo5TwEuiIA4BZwC7jtCrehF8apOEjAXASg3AfwCfgEfHaFT/wQuvw+
evE8etvL1rNFCGvWgH3AfnebYvZCYJ980w0xQgVkAjIBmV0hcx4tP9VOdQkDgStlbberpovZ
0FuDTgCd0JlOoCDs5XEcZMKOnUyjBu0ULkAsIBYQ29naF2oNHxdMLH8JAl0BK/z3AtfCeAgR
eEeoRUcIllYvpQvZfAuZD81FX7/+S30wKwetAVqjW6sfQXEPhnxTax+BDfZ4AJmAzO5H4Kgd
XC8tDcEZUR6Dcz4ALYAWQNvZBldqO8UOF3HQLS5KB3ACOAGcnYET3vEElAJK7zlK51HwKbQb
9qMIC9uRouwAWgAtgLbjyaqLwkaTuDRb5VR5uio4AbeAW8Bth/PVJJPmq0km5quYvtpGEb9z
LC43itPW8qYTW1SGcTZAH6B/D6CPpD514kTclhBuOqwWvq1uAIM1EdAEoAm61gSReKy0ZsId
F/NtGLYDYgGxXZ7aQENxD42tERjE4Q2JRM9wyDx78fgPdx4mVm+mmBmwPlvEinJk7Q9+O+g9
+33wz+ybg4Ovvzn4Zvo8+dc+8r+a+QhRqWe7lu8urQhl1Mo+IUKWP0dDf+vj3hdfODZqw0eP
sd8jBCFC6+eozT+Tv/2vP/ddO7fpX+waZ9lXhOuLHMVjPUYR/tsL68D6/NlClYgwO/eeU3/P
mcXWozMMxm+tDDWsFU+UInxLkrX8zDpYongeWd/9dcjDLn0U95feMkmtxzjz/2EdfvWcenqZ
7ZAvFwlizTyHH3H18CNypQOv5b13fXEDVTseRVk9JPM4m0hNORgZVj+NcV286PuRnzNHJRc2
+HjYP1SYGa0hzNAQZtgQ5tgQ5rghzKkhzKkhDPFNvYCxc2cNZz+IEYJL/JRYFyqNy0HSuJ7f
nBCnq6iRHIRdwZewBbCl4BL5XwuyqhGAM8+qG39WtI7UIEYsrrpIIbjbnM7wqyuSNNAbM1sq
CjTzLcsBaMLt0oRMosmPrv3Y/GBrBZ7kHiQeJF6S+KJH51+F3EMT70QTc7VFf1nzwhoHrHHA
GkdX99lQq/iRN7r0lp4j7rQpRHqvTeUD0AJoAbRdgdZJ7WzGwUodBKSMXp4o4IN7WzxTwNmH
qQKMI0vjSCLV7IONJFdaohr7eWjjlS0nTr1RYqeX5C0fy0nm9G8SxwE9b0MeESkO3ngL1POM
nJkd0fM30xT1IiOqDmLLT/+UD+dceteI0Q3IijXrNfHyWNW5nSjO/YlPuBN76o0QNcZBUMfk
hQk+0oNSm3qon8OXxp2Z544cpEj9snMo3AjvE+FAfVfknDw54oQ5yXM2m+dufEXuoSPVTouQ
xSmJNPEjlIVL/InU4YiNAPrF80f8gep+8eKKldvZZUDySO3NkR9cKHY3x1p4aYZaG39lCYon
x3m8skk5liEp9SgPMkxNnXniko0VcpxJOdWEasP1l70c1Q52jNkHnV4gjhh1ShPSyPjow0Bq
/9kiHGgrljJFW3YuzUflNRlVAGFeA0MkGCLdiyFSjl9SFEcuiYMeuaT0DTyiDcgH5APyN4/8
WeIJ4JNvgntKBWQCMgGZnZ2nIjgQR6moi56iYj7rfa/JdhK//GLj2iJHE8XW4kaIsLFktf7a
pJ06swEGDCoNDFtAOYJy7Ew52qHLNSP+JGqR0NqGPtaSgH3APmC/M+yTZWFxmVvc4G4f+2yg
AfAH+AP8O4P/2J9m+Kw11QDMRR+8Yz6AT8An4LMrfCbxVWEblDoIOhkdwAngBHB2dhaKyLI4
DEVd9DQU8wF8Aj4Bn50t+g/xDFMs+lMXXfRnPoBPwCfgsyt8sgbhAOVOglDhBxAFiAJEu4Io
ZhPvTVEHgSejAzgBnADOrsCZzbPEi8TeLXcSgAo/gChAFCDa3RA38Bdeel2McZmbDXK5L6AU
UAoo7XSUO3JQ23iydfsyuRj5yrwAXYAuQLezPZhkPvLdQBztFm66DyN8AaWAUkBpZ8cY0ngs
IEod9BgDpQM4AZwAzg67UNxHjhAS5lI3WtB4VypxAWIBsYDY7hZ+w9DPi3Vf4mLLvtRnvZcC
QzTZdS7bvM84Sb0/5fhXNKdDjyiL4xzFrrG0tMYHGWrdrN1ANFxsABUJKvLeqMjCBkvFizeF
XRbZLMtJm9ecB1SPgmYAzQCaoTPNYIfuKEKJ2bkdSNeeCxq//yxxrXk4laepPNgh6gBVKyrd
2U/fv/m1xbq9tdJpQ9Nsg54BNQNq5lZq5gppjHkywvXOtYxMusBKRuFpewCCjS0M2FQLhiAw
BAHd0OWKK0ahtNhKnHydlfopL46RKcqWGtKmmQcz2mBGW35xh0o0+WFGi9c6xp4tQm2IDd0d
dHfQ3W2+u7t8yns69EU6OUzZyIIbmmnDWBfAD+DvDPysobkG4E6iBoRf28bG0GgA1ACoAVAD
3a26Z764qEa+6So7oQIyAZmAzC73wy5P5Z0w5BJ7YNgH8An4BHx2dnYem/qL4ivFCiB2F4YA
iS+gFFAKKO0KpV44D6QXRriTYFT4AUQBogDRriBKn1Llz4z7EX9dfPUD52JvFrpdwDRg+h5g
Gk9RJ4cH8uwVO8X0lfgVO02tXPhQD1atpEjoY8zMiHdhq0m6r166b8dVj/xYsLR3bjpJ1toF
F/pqz3pPxIY3vvwj9g64Bgc9DHoY9HBXYysn9wL8TjobXjEnHWFxv5b1cLHhv1bdRJ5zx6fq
4DgR6BrQNd3rmtpXlls+SBDCOQIAP4C/w90Qe4qKJvZCqIvuhDAfwCfgE/DZ3UTAKyYBHp8A
wN4HwBJg2eWYeSHm5viTjpgXYfsDZj57hmEz4B/w3xn+UWIEieIxNO4mmqDwBZQCSgGlnU1u
h6KXxp90WotpAEuAJcCywzltz048X5rYUjef3TJfQCmgFFDaFUr90+GTY/F0C3HQB1soHcAJ
4ARwdgXOKPRHiJXDkzsJQIUfQBQgChDtcJQ7Up77LQh8nMv9AagAVABqh6tEvSSXFoqwi68V
ER/AJ+AT8NkVPuNkFMauF4wSMR2VSQSpCg/AFeAKcO1y3Iuviv0599PLTB78SlQxApY5AbeA
W8BtZ0tKCBDKIx4FgS4rFf4AVAAqALX78TCqen1EjImlMTHhA9ACaAG0XS4yeeoqkycvM3mw
zgQQBYh2DdEkdpWF4NiVVoKxH0AUIAoQ7QqiC+k63ELch1vAhThAJiDzfkxK7XwWxJE2LWVk
dWLKeQG6AF2AbmcHfTGbI01OCwI98Fv4A1ABqADUzoAqVnt9tsTrw7ouYBIw2SEmx6jW89Qu
pqUFgSBU8l/NDis+EBGh3NOdVvKyo3g4pjDBWxiBpNZgpFtz8sFi7YiFvIvL580bsCLpzDzn
ckVbvii72D4v0RF9OvoI+O/IQSDw/GgSk7LhWGULvtha5QDMSoJmBM3YvWaczlGtjq7s4HI0
pMrx9Y+/nF18QLH/eP72x9Gbs/8+e3PxYkhesRS87CFLJWzL9reRhlqziVum225qgnspzIYU
d7jUk63lPX19KUXpcNqtNzBFBHoW9Gznenb8yQ/tKRt/vj5/e/5hdHH26sP5u7cXo3dv3/xK
BqWMhw5JeQDALeAWcNvZak76p1jOQZ90PQfTAJYAS4DlPZi2HNVMW44api1HgGPAMeD4XuD4
uAbHxw04huukgGPAcZfXSfM0FZdI8Te9OkqogExAJiCzM2R64chbeIUVsoJAMVr4t20Vny6p
w0I06APQB93pg+K5Sv5SJZjaBkwCJjvuo9Un3iSK6KXVp95QmVHSZz99/+bXFgt+a43QhhrY
BiUAOgB0wK10gBN4dooxLs4oSpQLrANkDtABoANAB+ycDoiTa1UFCALVAIU/DNhhwA5A7Qqo
tFKl5yULArXCVvgDUAGoANSugOqG/ihz7Kj23KVgItgtggB0AboA3c6gG4e2H42wfLv18JUZ
KYSVoABjgDHAuMu17Wxmp6XFbU4Sq9uCB+AKcAW4dgXXJESF9MRZLu6k5hW5H0AUIAoQ7Qqi
6pMd8lMd8EQH4BPw2TU+89ROBDypg6CT0QGcAE4AZ1fgTHOHQxN/EmASGsASYAmw7AqWmb0Q
hx7INwEmpQIyAZmAzM7Wb1Gr+JE3uvSWnug6VSJdw1X5ALQAWgBtZ91p7i6mtuhQqYt2qcxn
Lx7/4c7DxOrNClNT1mcLwQXVhbU/+O2g9+z3wT+zbw4Ovv7m4Jvp8+Rf+8j/auYj/KSe7Vq+
u7QilC0r+4QIWf7ccmPr494XXzg2arFHj7HfIwQYQuvnqIU/k7/9rz/3XTu36V/sGmfZV4Tr
ixzFYz1GEf7bC+vA+vzZQlWGEDr3nlN/z5nF1qMzDL1vrQw1oxVPivx/S9K0/Mw6WKJIHlnf
/XXIAy59FPGX3jJJrcc45/9hHX71nHp6me2QLxfJHCguUFyguLrcLbYdx8syebOYUcReMecA
rAJWAatdYXXhxzaqMPHSF3MSlAo/PM7A1xasHqpw3DsjjDi4Wax+GuP+/0Xfj/ycOSq5/v/t
vWt320iSIDpfS78C6+0Zd/dtkCL1sFQ1rnNctsqtbZfttVz92KoaDgiAJEoAgQJAivL0nrM/
496/t7/k5gOPfEQClASQApQ6tgREBPIRERn5ioxEI5p4NBhxxBms5psx8M245ptj4Jvjmm/O
gG/OgG8INnb9jDx/raAc+CFSH4GeAqu+ikPxkzispoczyuHMMDF/IoRhs1GZk4XlhDdsVGZt
5LWR10Z+X/5Atlf4AqFH6geEYbpZ6mapm+X+xl6x53jWshx8Ze/Z6CvH6laqW6lupftqpZYd
eZMgsGeF6zsDIS2VpWh2HL2wIj2I1nZA24FHYAfWPrdQ4jPrJBlGt0/dPnX73NuuQ4CzMmdW
MDpclOERWWAWKZGjK+9kbCdeahAM6WqYDpmqzYM2D3szD/ktp3lMJvJm04BMFLMDS4DG89oM
aDOgzcDezABqgbkNwI/EABCYbpa6Wepmud/BuzefnB7zQ3cKYgbuGY1urrq56ua6r+bKXhru
u2vXf8it41kCukXrFq1b9N5Wt4Ok8BEhz3Rlm0B1y9QtU7fMvbVMdtep3HPSO066ZeqW+Sgm
rSYOe+g64sQ1B3OT14JWN13ddHXTfQQT2KO6CexR3f3zegKrW7Ru0fvf342slNnfxW/5/i7B
6Pap26dun/tqnzScf94+szcm0L9un7p96va5z2WmtFxlSvNFppQPMlNeq9PRKDNlBXSYGW2x
tMXqssVipuDHdXP445o5fJ6AjnTRm0gXTF9VPGaxLrTZ1mZbm+29Xrs6YRxxGYhdXrw60W65
uq3qtrrfwDGL28Rx10XwmOyVBpDJcbqJ6iaqm+jemqhvpbMwDiYL1FJiXMOitcoY2nCBL3Qb
1m1Yt+H9rb0Gq3LxFT1nq68YeuA7Bm4AgevPJkiEE9QODTPGBGVkGHqEDfKqhxwVoIUPftBd
nIR951prfRBW2xxtc/pmc+xoNfEcv7iwp3inPhMFtuHAsOtAB7TSFkBbgEdgAegoYFx3dC9A
QvPYDZNx00ZhHWy0UdBGQRuFR2AUUMc/i93fmFEBec0HBRTXdqScxToYopGCniFoU6BNwd5M
AWpFxZkm8kyD3RJoswMA6qHNjgF2YGDQqEMbGG1gtIHZm4FBZHFuYMgzMTAUqlumbpm6Ze6r
Zbpo0o8aQt4481fSPgucbqK6ieomuq8mGruWH4RO0UaLd9JIS6xupbqV6laqh7i6ZeqWqVum
6IaerAPeCx0DGCd0gtcNVTdU3VD35hwX2EkZmdJO8siUtr47XrdM3TL32DKZzrPoNmmH2fL2
DXWDHdJto2wTBzET1enih+/e/aNFjt7b1LRhX7pgXbRx0cblfkvQaI58WyxAk5crsvxM4du5
xefE7fqza3OkzZE2R0/bHOlGrxu9bvQ9a/TzKJ4kSGnt4j5ZBkKaP0uhbYC2AdoG9M0G0FH9
5NrduDYfXTiDXZUxhnMqLmQiiW46wc3D6W7YRK4SjYRO1IHWehNojddw7lUHXNPL9LoH2/cG
2qbcP9vk22cb3Sx1s9TNcq+7Z447Xc2ZLTT6nu+jZdjtVrqDAP1KYytK8AsSuLd08+GoEdke
+m3ZkTcJAns2H+T3UZkzKxgdLgbC5crybVXFJRpFtP4y/hsYUIqJIFGeG81SGcor9NxEWhxN
k9X7k3ZX7/VRMG0MtTHc30obiSxxVHcLlxSL4kiPYnTD1Q133w33uC70vtRwj3XD1Q1XN9y9
utVOGbfaaeFWO9UtU7dM3TL32DKrosHqlqlbpm6Ze2yZEzuM3THbPjNI0UpzCt1WdVvVbXVv
bZXd9ir3vZiNL+2p9SibvG7xusXv78QIDW9YBjnKYjWwx8GN4ne2Q5fNmrMh+o4OnfAxUrUt
07ZM2zJtyzhblpmuMhZUdmqeev9wc5VsYLRD20XCr97PJC8iF3siLIgZ9s7GJ8e0sm6M1RI/
h/hXjD0OgjQuzTf9IgqQArkY+tvKi68xQ+IUu0kk1honj9RoPbcwT7zQQlpLnmLP8chdsms/
hwWJR7hI30jGWQ+A7DLr44Cqyry27M6wwH3CVnyl5nLAhPUvN1WZXZrW7wJKFpYT3mxZ6Mia
ozLgh3FAf5uE8/jBLZ6i0BGuQxJuQhIuQcKK4gYTd430P3suMsIv2A2mfLNs202w2tCSs6Je
WNHuRB1sK+lMY6ceyiPhnHmyAYzj+tYtde6xU5/18nHPxof4z4YWITRm/ipZpP5U5ffjHZ29
yJrlOWmKkyx32ly8MArjdMKMr2gz9ew4tJGRmliBw73jdu2zkNzZKYgiK07w6zLAKS9XgVX4
OuHyRCvOSwkNHlYREdoqRVLDlUuCiP6ehiFmRxITruBhChF2cptQdmCDQf2rbJfxs0IDkxg7
saNHzPuyUqIDlh1bCXZsSrOMMgu2IUOdzDWLVSNUdvYVdfuYiZyi8SYm4N5C1F/PPN9lYdkh
ZQYy/eIF1tzNfLQN23etGKs9cdlCtcqfhduzQQdvoujHLSl6lZajQR0aBFyjYj28PWHhsAx6
eIpowNlIgtRUN5KUE3trN04aSWuTBM3yqxFexbdRGrJW+GujVn9MJKnHpUNa5A8QuUEaHra1
mc3C7/Fqmdlx/Jb3gVQ7zAD1W6eRGxmmmaymyPCjKejL0SF6JUbSnFqJ+/JwM0M/Z2P7+OyQ
/mByPEN6efgn/LxwrSh7xJ1IZJIOFr/RYzV4Sjxf4rktSmucp4BNtYBB0MD6NYyz3LH40OfY
lwaVdCnBxwV9mPBAQswAy5SLagIfyDj03WfMt4HvoLnWe6HdEPa6fmgnprMKgtsGFD+5Daah
X6ZnPiDJAfo1wCWVBTg4NP7t3wzjXkpgayXothLYnBJ8jUwBrkNwTWrRlrq1VIFvG0g3Hlwh
HiwDfD61pdr/EzW1eyedhkgZcqVopMYJqXFzl9k0IoRGlDzRXVsjVu1RSbS1XnCke0GtL3fo
b0Y76zBHbVWgge5j1HqHOXpkHebo8XWYo2aay0h3mM0YwJ8PvjKEn0cl5AfZxCyhA2+GmuXM
8hP3GyNduEsjDh7UHrJ0vzFI+JXnF99fGskqwkvlhuMlmNJ5/o2BMoYwBw/MvGAPiUjzR3i1
9bOBqXiJl9J+bBM9EyWYDA4PGjDNWVLIED8KM5wVB5nhR2KE8wIxmwCtRH3Wni7a00V7uvTO
04UzIdTfpRn72FQfsqfdzZb6W65iDbFo1Fw3O3pc3ezosXWzI93N6m5Wd7O6m71/NztqsJsd
NdbNjvrazY4evuJAEmpikk9LlM3yB9RXJbhG/DgaP7yAD0rBONyM6BIY4vx/kuFE3ECR/mks
cBxdNDYZ5ZF3XeN5MvyPn3//038Yv/zx5z8M/jg83Pw8Gj7/T6p+R62p3/yLF2EJmufGvz+M
V98+bJ1p/mWwdG8OgnUTyTw0jYOfDNO5XyKOl6TImCKA7xNdNn7B8YwzCE7WDA5fnJyg3reh
DA6KtIPD0+PjeydcVr+hghGK48G4pEKc9ZdE3RIDQDac726z211mOKtmZf4AUwmzA6fHcQCv
Tf+EvRsfuhht/JKtbePg3Q0101USD31veno8JBm02F65nGgA8oZbL65Bw+WU23FReKzxyUzW
9xZLsc/M95V1mTFtRjhQP2lrCP7cMC0Cec41jcepV3mhyf8KvUIjXlzRZw/O8Znx0njGAzgu
lTtbGZ5M0Y1w6d8akRWnHgLdGvhuAOP3iGry14v3bz58MpaoX0fT9D88L28ZyIo+8+iQbdzs
kO05TXXUdKr/on92/vPKMImvwoQsDQ78cN58HnjWgpo9/jt6cXLI/j0cHR2/OHnx4l9GCHL6
4ng0xnSjo6PDo38xDpsvivyzQkoYG8a/EIWtoKvDd/SHrt2+Noj4jd/cYGXitpnGluNh62P5
Jmrb5sxbOgcKWg5PrEJjy64kp+cHyLqhaemG2DRki8kFLWgwNPfSr4nhnnppgmfvSbiKbRdf
SDMsSlcOe72UMbbBNSob7ohUVSaZuX7i0j5gQ/wJ3l5+fknSwbD712g4GAwTO/aiNBmi5Ex7
4drX4SodJIu7V8p4MXXck+PT07FzfDI9nE7tseu+OLNfWGfT2dg+f2Gfnp6cHB+fVFc17yva
kF+VzAZhPKcVW0VJGrtWwNeuUmaPSU51FQmsBK9DsmU3cs6/9sMl5re3TNEIgGtZsRuEqTtI
g+j5YDBQUYrtVfiq8f46E2yb6ZaWJhsNtaefxSCpjYRxPfIVca4mR41nmC+clxljslkYu958
eVA0HzyMRkN6158dZHOHh2eJmwr6t2FW76PV1Pfs4esPH/9x+f4tznUX2eHlRNOKg8Gi/Ww8
6/R4F/ngtfij8a5yar1OePdoatnXLWfjhMHhBB/nbz0bfAS+3UxQW11ig95yLji6w8ReWMul
23aNZq6VrmK3benMYwtVKfuq1ZxoJIN28yhDcLSeD+qKWs4EB6VoN4c8tEXLuWRBPlrOJkGj
T6ftPGg4j3YzSZF2tZ0FCUPSbh5rHD6l5SzocYKWc0Eg7MbTfi5mFlGg9Yzaz4HEj0HZ7HJQ
i0ebOxkBtprJYh20mr53T0+SbWWfBKzQKZGJ7ObwnbdcbcjcCr21qhTl/K0tRcfPKPkkjVd2
mlA9z7Ic0qrlNc8ml4Qgn2im4cqmnwzQjLMFb0y++Ewxnh9Et+kiXBrBNXZrceNBdGvQ2ZPR
5CSKyTLjXnWLIh/suwC7zZlkqBIHMmRNzjTvLY59FuCRiIP0Ks0tZNyJE7vPVmADWdClfMgf
bdZeZKyhDt+ZR3Xuwgx4Vn8YG6gUgO8p7KFd6Ycd5iUqS3YwGOawb400iAb48vkDx5vNDHNl
xO7MjdFQziXgEh8H5XPj/qMVlrixjonC7DhMErNFVxi27yu0sx+1wIOu7tcENcheVKLz0sjH
eV2uQ9dl4IWdLj6eInW5/Gga2HL5C085nF2+h9Z4RXZZiT/ed6j3WCpQ9qetVGVnow5FpXDA
5JYrtgOzK1cOd7kt1qv9YQlcpZbFtZuBCle1fALXTq12M2rhKtSeiHYsGS9sqR6tD2O4auBl
2nbq0f54hqsIjjHdTkXwwKbxY36Ac1KjPum7cuPyvenGbt2Ji+SSZYqek9YW0LOM8OLWo76F
MztZ/vnDh3dX+Hx5cWR7Y5PbechxbUz27tWntxffX767mFx9+PHT6wsOdnpcQKvOtL+ZvH3/
Y0F5Wa4kZnG46C4Isw4YeAlmBFfdy8F94wUwkuGsQdZ4kAFIFzE+sYvPp5uhUbCgeLKN7ksU
nz7XUs3YwL11XrrRKkJVf+rCzbnAvnRdtPmNSE9assW1UOVz1+XqrlN78dTlmjOBee66XOfL
FHHkics1ZwLz3HW5Ip7aT1yqlAXFU9clOvOt5PqJizTjQfnYdaEW9y4+abGWt08yL50Xbeyt
ybWVT1u0ORfYl66LFn0ze+JypSwonrouUZserHnaMs2ZwDz3Q65jLVjKBfal66LFV43bpydH
T1y2JRu4t65LN52unnoXS1lQPHVdolHwxOWJGZD97bos7Wg1WYRp5K/mT1yoHCdEQNfFHLvJ
KnjqM9icCcxz1+VKDt8/balSFhRPXZdoGRPkaYuV4QP/2gcBR9YclURLuGCE8N4HGVu27SaJ
lnHBCOG9BzJOFrGWL2EC89x1uS6wMCZ60YLhA//adQFnJ0cmWVS0py1lkRkArNvyTn3tVF7w
oHzsvFD9cD534wm+sS586sLleSGDui1sG88KXO3bWHCBfem6aH0cZu2JCzbjQfnYC6FOwsRx
Iy3akhMioBDzm4+XrzsrbDqyiDz7SQp6RkTHn93D9/RKx/c6L2N6ek3L2RD5AR/o67a88wNt
WtyGwA7wiF+nhZ2fcdOyNnhuQIf+Oi3p/NSblrTBcwM6BthpSefn4LSkDZ4b0MHATkuano3T
cjZYXshHBTst4+ywnBaywTEDODzYaTEXh+e0oA2BHeBxwm4LOz9Op4VtCOwADxh2Wtj0jJ2W
tMHyQj5y2GkZ52futJQNnhvQIcQeSHqsRS2cSeRkPe6JsMtTeVrahsgP+KBip+VNz+ppWRss
L+Sji52WMT6/pyVslJwQDzN2WrrcQT4tZulsY7mJJR9v7LTg8/N9WuYGzw3owGOnJU3P/Gk5
Gywv5COQnZYxcwBQC9qQGKI4FNl5kecnArXMxTOSjNDFY5Kdl3p+RlBLXTw1yUhdPDjZdamT
k4Na4gbPDegoZaclzRwk1MI2JIYoDld2WuTiqUItd+isZe7CoDhu2WENKA4casEbHDOAA5jd
FjN/9FCLGziPmYsdPpLZYfEzRxK14A2BHeAhzU4LOzumqEVtcMwAjm12X8z5kUUtbOkUJyty
8SBnJ0U+1xccICnP2QsO5v254GCVRO7SedKiZbjAvnRdtPRoGt7YS596gBuZGQCsJ/JOrLUW
NsMJEdB1MYezGZKOSyYPT1zOPCskSNcljfgeIeOUoHSfuKA5ToiArot5sQ4m05XnP/VBGMMH
/rXTAqZ8Nkntn7KAeT4YiuIOObI+CN4PLcd90mGABUbUiT6j64Ps0bDTW86edPhJkRN10s8J
+yD+2PVD+4mvm0msqFOAgrLTGkDnnDqyMMsG7q0P0p2G4VO/haVkA/fWB+kiTuuxm8wLGdQH
YU+/eIE1d5+ywIVGzTMEBvdC8t7yKUudF3rJCxnUB2HjZUMr1UHFQXaA0D5InQTiffLCJlxg
X7ouWjtaeY4WLssH/rUP/mZzHQiN9TWbC4HQAEekDgubccTRwjYEdoCuSZ0WtuiTo2UOeSpx
gcZlZ6U+aAB11NHil3yXeNnz7kudFjzvuaMlL3szZaKHHZo6LXvOmUeLXvJvKq6MAVycOi14
xsFHi92QGKJweuquyHmXHy1yQ2LIHd2gOq8K+eqy1gXRK2oLZRDX4TuvDYVTkFYHyU9qC32Q
XKU6rxCll5DWCNlzaguVkJ2nuqsTnO+Q1gdD5AfsTtV5eVNvIi1vQ+QH7GDVeXkzrkVa6IC/
FSN5wOWq8+IX/IyeqAqADV/iTI0TVvd1oXQ/eqJ6AKkBx5QKt6zOi5/3RtIaAHtpcSM/yFGr
83qg75GX/bYYqffFs4dzXNLiNiSG9M+Zy13aaezToFiTi/cfrv5xpUWPRa9iDIxBqmDFRmzj
JaKMYGDRLcP8nBV+4lwCI1QMNhbKgLvinL0Eu7womblNl7tvlbuPs7yykb3Wj7v3jb8WrLw4
Kr9gSLqBhr2epLzCQrjjQAx/LwZGZ8NmC1GVoWC7TBxWIEYnF72Rie8nRX+jjRQ3g1zS5t/8
P5lJuERNlDwzQkvCwfFgjNrkwopdJ1v045GDw1KwxcZwLtvSSFDxcu4i4sX1wu3m3DXY/G3J
4oW64p2r3OWcwg2O4iV/0i1w3HVhzN1S0LVDwt003CUm8h0XwAUIQHR8IYS6HGFbEXaZj84L
B20V43ry4R+hyIAEZvqOb/Bter5ykxQ36rnQ0thAZRUxrcrQR3KMHCmYCht4QwjTIJ7dl45z
y+d7wTOf/BlB4DiZ6ryRfCIFPrQAuD+HB/4Sta0Z2KgkmJKYh5D2jTpX0sTLdgva6aTKsjfa
vVAIV1CjtESgAaIaprJALBabINHvWHZNrXZb5NzZQEcnyAVG8I+Qt8+BTVRoIw3cSlGtp0sL
rvBiXMXyDDhjV87i4OEegSDL8KV9RTF41RdELwPV5ALoILCu3Z+Of/naeOdaazz6dLzYtZF+
3Br/+dBqPT9olDF2HCaJ6WFKPChGTSE4fHFygrrx+wnA8ZJ0mCU3XCUxzrJjJc7GrK2Wuigy
ZKO7wfjg8PT4WKiC1WDZKzqxxjIZ3qE7bCnT3cgoz2+RP9FhGHnFX6LhHHrpbPsRbHcnG1A+
9G2pBbXFouGdOsq2st1ZK6IZNt1UyIDhqK0BA0l93HTqTLoXeP2t4YQN87VBpuVGxrCSSc1m
NyS5PC8Hbe0lj+u0Sj0/4et00lKmQ5LX8w6fdsbziSj0Pfu20bPOtBrzcjX0IYueDKszI8LP
OlpLPV9bzf3mGF6xL50+7o4IXTSdje1mw4n1UgFYXrEvnVaAuVaArRWA5RX70mkF8K2p65uR
7Wn51/YAJauY505LH2mxOSV7PFr4tY0/41T52GnRJ1r023f8uegTUfTohxsYPmRZva6+wvo6
Khn5wiwLUJSJG6vso0xlAYoyzfddprlcJtak70V0ef4sl3Jl2xOPSPasJu2zPHn2D1mAqsi7
9c2OZOotd1P2ouCiUZBapNQcRGUUdEEQRZOcKdZnml2Y45ZnWtotZJe1ml9aZFPv4tIiQpMN
+9ZXF/OMurwMl9dhYvse8ThqckSWD8Qe6HuYl7HpYRiYrjAAk/gjQfrgxdp4LItOi9588+PV
xeTj5z9/unj1RnBrzb3tehHCYpNMEC+17Llmz0m74E/+3Ol5d2m6wmUaNz3/7rbYBWufM0gG
dVsDmr2wrRcyJ471Hb+ZLbdUWraCbClb+mG9k0nqTCfOKoi0oGVBl7zh3jotcrKMoIUtCDvj
Sva30wJGaqrFK4iX8IT87rZoUX6hraUrSjdjS/7QaRnnFXaavxaxD7IW2SMCeiL7Gyu1F1r4
SuFn/JEgPRF/fjZZy18h//J4vgjqiQaksbVMLDslBz21GijUgOOSAt5phVhYyYJySCsBrwQM
Z5jnTgu71N/mr17sg8gl/kiQnog/ChNPi18t/ow/EsSuC+dAoy4k4eBocCiHc2CxgxGzMVtu
2Rmmn0esoZFIEu5bK1/6p1/wRxuF5GWgmlwAFbWUXQmalkEB5EtgsAIxgPIUm137KJCZZU9j
NszKghYE7sZL0kSJ9hFWicTSVyMDJcpeBKH6w5vYS111gdRlJROfUgLcqnW+rJmtf+XrJPzq
tiw+YHItT7iAIbgwHMt3Sop8+eKwPXiVac9beytmS4zywdoZ4yGujmCWrTtoPtA/cz+FfqhX
6X5K3UDggr0WvMjdpEF3ulURNKIaxqtlkbPTveLjuAQ7K35R9tK6dafxSoUvOvjOWE2pCg0W
Hc0wDNM1vjFmaIhvG95SHOfwAxt+JMMOXYSxijA4YUcjwvAD5e2Exs8HX31FRymN1W3YPLuG
v/sv+3+jAqPSOuGyg/b7gZFm7qSt4MylpZgzbeUyvNNMq61s2xcZFx8on492SOXKsDm08I8o
wtS9KkBmP12tBB0TDjdJ0zUQh50ki91Xqw3hAFWj2eTmBqr6Pc8hqsuQVOXXTrXzarZ0eiyv
RocPkOH40a0fHsOZdPzgWOTGs3YWvh/I16YXvKU0i5NCHUi1GJR3oLDM7gFVruKp65tFOBy8
bimPO9WutpRgkP/NWklXG4mJr0Egyx5mZMWJqxvM4061Ww0m3zWTtAzvp9GmJKI63OfM09iy
3bXn3uiO57Gn2q12lAUlY/SLfen0QI3WAyekG81jT7W7jYbqF/vS6UaDWOCH9jXKSK8GPPpU
u9hqOAXj3rrebsh+rBPOHd1wHnuqHW04jIbxr11fKnDc1LVT3Woed6rdajXFCkGmXMzCAIV0
u7cxF+vATls6q6BbzVNtNUVfU+gX+9L1IRqpR2wlLR3w1s1GN5tSw/jXzjcdP7wJ3EBPbh59
ql1tOYWCcW+dbzeLCNdUN5vHnmpXm02uX+wLexy3cLthHHEa1xvl3e6ZM0Ph2rDLnMuNLH6D
y/SX9ipOULMXypkvRQqLlDvmVrGsIy757Lgc2aCfnwzsowx4/CSOrXZdjqw7EjqqtkvRhn0T
j2/LLQZ3fPzuliQVYmZ489MlXrDp51cT74bZ9MQYPTDm4ANj5PxW7qz8Owe/PuxolFSWx370
efcFfujJyd2XODux2jiro9t0ES7zrMyb2IqMZ8V5PYp91mjLqDidaYfLhFmffaTa+YhYRoZV
aEYyL6wxzd6MrJT0mE459kvIOKgYjInOcfJgifQCwqCIG5qY+AAFPYQKjBaKTpvtObN+45G2
4kckWSSm9dJNp2HYVDNgLUhdJ5SflzFjlwyUs06ppUNG9PBMZw8YuRsriHw3af2QUZ7R84Of
cBfzcLVwUxsTGL8Y//wnOULeQOF21y1mpdfMYJnBtmwPt2x869EPF9mfgbek5xG9qed7qecm
5DA+Htij9v8TDmXQWFGGv/MKXuIMWmZncc4UZdtYHcpQBc0q2dBapWG3NY1UQVY3PObAIUJm
3nyQbPAQJX/bBGiEEmTlHRnl87h8PCofB2gMwb+ZSbqaOiELjdbmPF5NGchy6jBv69QzNj6X
ol9+S+Jd0RJHtmf+tvLi64SWOoehoRPqnRJv7VK4P8C1MexoFSFO68azXeNpadxQ9oedHTss
wjTyV/PWhw5ZPswdpm1mgGuG+pkgXPIVO2kt3yHN7vlBHOAgOM8yMJ4GDZLFs0EaRN8Yhmsv
QuPZ1XeX799cfnr587NiFvHzs2fGt99WfsV/tN037y6/u/j7xev8I2YEvt3HTIbo2y2+ufrz
q08XbN1wmM0tvvv46fKvrz5fTPhK3q28f794//3lpx/+xpegSANNZLZLZPL6A0ro7SRLJDMm
W3579frT5cfPwrfDxI69KE22TOPdh9d/yVMgwcLQ/HfLTz/9+J79MouStuXHH1+9vXz/lss5
Yx6eDVpz1GiqUvrKmxn/zbCDyDATsAFIwG+MdIEGvMFa1WSAL1w/cY2qRjbzmh4rZdJrZLjE
m4usS9ztuCmrjjx0kplNO38a3uthg4A71buodJOjgbze5ahAYsAeK9zC8EeucEt3lItdYEvX
lO9+CPGOjM93NYIguTW6tOItPezSTuxWUwXcucmileiCTd8Pf1iT3iCT8olB9xmU5S6b+6Wb
3oTxtTmNPWfuGmtvlj/mmDhcpRRBn3L40koJNPs7Ji8o/VVkTPFojf42XbwYQB/p03VqRcY6
jQLyy3Rc36WxNc2skKbtu9YSJeNukI1ZWj6iWXu2awbePLZwWRI78dhp/8Pn53eRzo565gb1
eIUY2AMlxtVAw3nfTZq1hY47s1Z+2vE+IqsFuBpoTi372l06A2vuLtM+NZ0s94oBLVt9ojxk
YZE+7pMTTY922dbRSHTfewmWjlRwis0O4PZZEXLRQ9KL6iS3Sb4T0HTFMvvDcGyPMqPTsB7K
rNmKMTLLEt6jzMzcr6VZqYEdAh1tmbTSg2Rh4AEqms7Sx/k8e+RGpQUthuaj4BKKh7/lGx3x
Mlg81hVe5ZQJmA5zPQbiBZHfp65qHwsz2crCTtZlmt9l49Pv4iYbQhOHttZ32fKMOh4JmNTh
0Z1XygvW9JklMF35/ruMKeVjp8+lIcIEyUkLmRFywZPiqdMixgOrRxgeYs/NuIhowEYzKM61
kBQmmfgZhWilvtUHjmiPxRiePZQhc+d+8MGv7fNvOpOdHH35yTC/GM8oo549eClvP/Vo6HzJ
fgpP3FyGgbXE/0cdL/9Z2+VnDxnwVqawfM21jabr0voRjXtxcIJm+IHV5IGl3dsU7iAWMvyd
syvsLVCsVBq70Gy3ZkaqzuCsHXPT3tVB2WS4uwsHNrk2uf11A5pPp5cN7Ens0lPOj27GQbnb
+IQDSLaRWB/7KC+dHjEyZF+6PQ22J4m11lrZRa1sOuFNIxF+tmpIVOeKp043IXxX8TJM3UQ3
og42IqKRjAiZ505rpZ+469ReLLVS5kIuOVI+MkucXPfOdfcPmlqqattc9J66LIoAPkVVGU4w
fNlFNVluZ31A2SH0hc8tdcvKwFSs9WKNWV/4+aClBCCTzqwW15e9XJUqrVXemko9eFgLr6xe
W6sj+ZS/s4sjMy8Obqy4fa+KPKPnB28vP7+ce/dcZuUTy3QucwUaolRNe+Ha1+Eqxb5P6P3r
IU5i6qUJ3kodhPF8mLjW1AuTAS5D7PrmaHA6OBqMjQxuovoevPbDJa47Gj2FxnMGY8ZugJQV
n5J8PhgMDuyo+I762LHJDAcU9g1l98d/fP7zh/cv6fK2kaymiCQxC6a3cBirZHpb5674HLBG
MfU3irqdtpfzUJbO8wPD+G7l+Y7xl0wo2Z+Z57sI9zoMIg8PGI2bRYgGqGiYO0fDZQOpzdC2
Q8cdjE4HCUeI1MBKEjdARYgJnZUEZjib4b0WgVSR5tF45uMojHW0hDRx54Tyrbt08ZAbkdLM
SBWkAiy4RH8/OkUK/4ciOVSZMOcIxiO+5Ce3fr924wQN6I1nWSswx4ej8eHJeDwZjY/OT8Zm
cn27xIP5IHn2h4PvvY2LPo4s2/3aONy4hydT83AzOkQ/BmIRMiBfG2ejw5FhJL5lX39tjBD8
oxvbeI6QgQ4Ho389ICU08C7V10b5c3R2enZ2cDQmOHeOZxY4O0I1Oh4dZSjMR/bb0dHR0TmL
w46bGcHJ0dGLU1T5d97ymnAR8SQOg4wlArTk+xWa/0SRhMLToggmwBpTYIV0Cexj7JYfEAOE
O6bPmGl5FQ/Pzs5PDYNwGRf9+PgMvcUuwo3Hoxenxu/xBMs4O0IsRPpgjMZnf/G+M1AOfyib
WbM9XGUra8njch9WC/EQV283FivLLKvfi13lhOtJW0lRy7P28x6SLLO6nu82P1zj1J7zkh0d
7qoQwyzvbEuoZoXmaIx+WbG9eOmdnp0+ytWarD6NLtYECJf6xLAgQaCyzJF9mTGrOJQJqO8g
FSTCokB3Y7sRrmBC36eog0NdJUoyCWeIv36I+oIHrdZUi7V0e4eXGAcD8guhcte1gn/FU7Gy
033diIKJE3t4QKH14776wfKQe0N64uMVANefTbwjrAIxq03cd6WiuRs84CytXktjA4XRKyz+
LrLNDD55xtAJGW0vdt7t9KQ1F3x86m25pgFnDZdhF/PcH+OOl7m0JmyjCZRT9E9/5B8FgRb/
NuInjCK/5R47wZ02aynycQLbW+cKRBNiTcsEsQ715snCCK4X7sZYePMFhcexdSvSGd9W9IW7
65DJDHOH2b1oPbtsoPHd5Ycrcxrai8REzHWTdIeTeXJJdGjgl2QVJMXDwKaoN9/9fXL1w8fJ
x08fXl9cXX34dPUS2R/UJD/m6xxIO781JtnLBH03pUnmaKSqr7FCI4PgnZ1iU3BomFfcF3gl
ynSN58nwP34epEh3h8PnJcCxUgsDygTZ/JIDK0EtggEY5tRIgwiviRnmyjTMG5MYQpTtr8h8
GqZfJJVu0oPIjX0S6T65DQbk5d9ZPMqsyPg2OAjWRdqy2AbDgo8y8uDg4+tL8zu8frBwLQeZ
ayvFK5/fnXx3ePB6FcfYqpItB5QAXY483JycHby2fHuF03BYLEYZBkr0dx8vP7EJ0u++Oz9U
J3r0Qpno+AVekHRTskycYwYoG1LuHJBldLj5Hv0os8ElUGTz6hWUC40iyYp2p+2wzSVPPqN+
rHOu59bu1jmzzOoNVmispy5JJTHn7pJ/Q0SDIY//tqRA3RpJgli3LEN8Sbj55q/fXRjP0J+3
r3C7nrx59fni5c/P/tPBEcCe/z//6hj/OjX+9R/P/5OEYzUm2beTvExwguabNxff/fj2Hgmb
jjtdzSuSf3356dOPV+gBmRyc8H3ysL04XlXVociEPkxobRrIs6xe1pXwaKBHucLWHSi58D1J
t/ZzRe513ynLu2W2Yt236xQl1gASTO6YVl5eWeHumpLAAKWk75gul1Q5BFCkjccDAptogegA
ARofgOR4sABlBGexdeJyskDBty2xqqhCavXp4BSy/liurdzSJD3E3gwARzKDYPrzyM8GRoMS
zQ6gaigVA5Kz7+43IHlzAg1I8PTSryuJGd+YsYn/GSM0VAxT+uvo5Oz40PgBzabGY2M0/vro
vC4hkN2lMqgMhaKxAQIodaiiJAXRlsIo6RsWyfGbe4mkLE8jgimT48XDSoQRAsd3Jau34G4F
Q8/f3FPHR3djaAUPjw+xP0EtDwGtltVZ0mNZgWs0d2uVrdXVV6P7sfbojrpaq6THo+MX43oG
l+m0PYEpxt89msC46cKNyYV6O5nCFNk9PyA3M9zMcTS4D8bEizbuILXiwfyLsUjTiHc0TMJV
jKMLhQHJAA2NsN9WMsRfmdhN8dw6P3KmR7PD8+MXx2fH7tGh++LkaDp1TkfW6HA6enF0dOqO
D/MssksecPRd7LZo++HSzdwb0e8BKQz2bSQPmCJ/IOHRvvq97RQQ49/+DX9p4AVnb414atID
1i9RTuglit2Zt3mJqYfk221LavzTmH/xIuPbwWDIcucPtAjYpMQzvlwzDy/NcKxkng+YTw5I
0qZjswQoR1zmzcwwD4rgfL/7vW2lRoQjASJ+J0gp3OQP9GZE8SeLgkdosX81TtowoxHiwm8r
D8n53/Nkfufho/vuBrFtZJQR53BOr6ln4bffEo4lsT3EjB3iFd/hD0g7icthrrw5jYHDHMSp
fzY6Oh/EYdD+2mGhx8O8DPktO6Qsfxz8kT6Q5ffkK/L8/vL1V8ZgiBekh8t4PZ7mL1+wUc+e
XX82RpU8GguA0+MCgAoRBvmbZ9tIvwqct5yFxudXb69IjsltgCpwYBg//XDx5vLVpx/fXVz9
gvjuiqDYuhFBC0eEoNYogpzkWgT51/FShF1fX0dypjAQgAGgAEsZwbLXUkeybfvh0k2Hq6Xj
eUk8uJKqq/iY7CDNcAiC5DYhF6Hh+yOOxhMcUSNys5QqPsO6gP5P8Cn/WwV1oUORTZbb3bPx
YWAt574yfWpDhqtk6njJdQ3RkqjWVkSj0zoyx/NDvKpaTYfYSZ+qyZYr39+GDjFwq+Sm3jZk
wZalC6Y1tcSKvU1Cvjfdhux6y2peb0+4LeXC2YbK3S4xZAK2IcO2MrLiVEGVxtYy8cg+JGZg
HGxHF21Jd+2phCsQWuNDBaGNz2KtvTi1HEeVGKEh26y1BMq2R0nc9NcgqqIgXenEnlXRzJ2p
5/AcxyPmBCPwtZETMn6GExDtKHa7treiRALHRmNL6nDp325Jiv5uSXmH/GWyDdMEZrmJqaFy
4nUVYdlBIBr8HwEnSyuCqYnsMAV2R1jOK4gi26PjGkVlF7ZHLkCylk5C+iU7UPGFI41d3Fwr
qOGOknwUu0nor+/+HfZkuNNXqFve6htsFC08mS2fJs7CBphf/+E23xBGw6qlIE5n6ValoSk7
29NGVJBb02ed/bbkeCy+NTEe7U8WYXi99RfbSZcOolBLoJsy25EjwOhoW+LADdAUYbIKUHlC
e9uvyKJY6gXb8JP5IgnuUg/yCWhI1PSeWo0Da05ZT54qqdDoqxIfrPzUq1I+QoUmN7U0mYGo
ozkaV1JMv9TXCWeTkFmigkwcukfLqEJaIjXSo0ApKpF44Tku+mBL6hma7+J5xJbkRG1sNOQJ
lQ1Y+sRKKsojDd8mwTxQiazo37ywimKNOBBOktVUJQ1CRVqYSvSEIl4tMVEliZMmdmVjpWRo
YGNbaWVSkWefjU/Oq0jwPAgxTKUJ+dAtsOxFFYmzwvOauUr7CI0drarQmVAnEb6OhxcXPeE5
pH8m5RxKTYNGVGeH49GogsRDv5dokL10KohmdgWSrLuIA0GOhMPgc+vkljQJiqxc4C5XMhxX
NZXAfkg3RASwdyPpOQEjKAifgWA8GgERMxsE40vmJZOIB3DX7i2yMNmfyU1YQ7BK6giu6wis
GoJ0UUOQxHUE8xqCeFVDENUxKq5jVOTXECzrUljWpRDUFTKok4VXl4JfR+DVFXJRx+p5nTRn
Xh1BXQpuXS3cOq126jjpuDUE9pc6glkNwfS2jqBO7a26MliyNIOVvYoTNxne4Bsl02ToOl46
DTdVhEtybU8VgRPeyCxnCaw0jSsoEl8WSIGM0BQ4RUNcZ11Do0bnD2qK66ka5zpzcRLO4e3Q
D1ey0pZ437Uq0HjcNEns2CWOeSoi343lCqYrDy8U4Q3XZLKSGxbG+yEqPYQs5vpr31pKM32O
Ao+LqikSawkuGPCLCrgfriZZrsNqAtoN19HgKleS0G67hgZPCWpIZvXJ5EttlUS0n6+mcbx5
bdXxQKKaIhtGVdLkwwuQ6sZDo2A3SSZ0Z0vCJ2lMMDJi4fqyRcLRinxvKRtcsswzseK5nAU2
WsDSmB3fRmk4tDapn+BoziM1Nk4sNXLqzUVzwuEtwZJkSJyju0HjeggZOCcQeHNyeA7BF2js
D8Ht2BamuQUC/5ngmQWMtvAdgCBqIUxEcvgULAFhwaSSuxMFg6xkCX8U28cg3E3IvhuHo+vX
q9ibSOPxDEVXaVRoBRhNguzoVvWR76GGp8Qt3elqJqPLtZdpOAvIL+BzDK76li4HZX8mubXf
hlhBky1Ag6tZAJVl26ix11DJE2eZhjbYupRA6wGQLaMaisj26tLYhkvCCgVAIA6OZBK641BD
BC3GyFSSEuW7GeXEevibN31xNB7XkSG9dazJ7GYrujoiNCfHFybWUFnx1PVBInyuzkoWwyRC
dRQYKtJkfytpvLGtTGe5RlZggcZbuCdTUqCSKHHo/zpy4ALgWyaHSRxVfVz1pZ3A+VK0N50p
mEPQVgpLCu91YRVCzUbabgNoxOUVlmS9mbvk1wT1dLOZZ29Bie+e3YIMWL4BCZUUVrrA/8+v
6e/JJlCpAEAcu/Z6a+LKGsnEaiaJtJI5qSJewI0XInVdvK6FJrazO35y1xzOx2cv7vrN8fXW
X2Q3s25NbvnedFvqrVO14vPDw6NJtFC3JMUnd1GF7JM7CDn74k6Vzj+6o7TJV+O7s2B8dxaM
78yC8Z1ZcHJ4eHa3yiwV3UNJe3JNf0/i2bXnw/0eSO4mFfZXpN6i0AXtb/Zq+3TvQIuN1try
4X4N+mAeCeOqKuLtNLMgdwJ1HyjRukmtMhbEthVtXcOtE7XSVNzlAciRTszh8QZLtE2nNLl2
a/Wlqr0RH9uzTf53S7qTCf47Hp9sS78l3eEkscbHh4dbkwfWZizuklbRz+PZyehwtC29ki5a
WMs0DPK/SjpvPl3P6O/JWt1Vs2TBVC0Fjq5KOxAJ/l9pTXKa5bqy/IQmsJbiXjtMtkWZqjqM
jKY2DUs1mmdozsYnL9SK5+KgrG72p5JPPGUVt3jKSmaIpJXsFYnV/OMpPXtx5ltbFmLLNDFX
1e1HoEW/j9xkXFsG+rteChldrQwyum3YWpDWCasgrOF+RleloQzdVmkhnh8fbU0JrxRAlDVy
ZCjV5bxR92M3Z+f2WcWn2PfWC83K2alnmWvspOGlatXARPFCXHNmKdKV7ylm8BhbpZ/pXM35
ZLV0rKWtzjcJ7PMqISfXt2ppJdcVupt4yXlVwl4yOq/pFo/O1fiz0akaG8VeEqC5gq/uqHIS
W90IomXFWkNko99Hat4sk7OjivphdNWwoEJVlu4YDYAT9ZhzaaWJG6jrFdzG3uiwQnRB6pwd
qlnnu3PLViv7r0FFNxyFFbOkWRjbruOm6tEp8cWZWdO4QjJu5NmjKruFR/e1BEqsE8zU9XPc
yFYLxrHWnl0xFrOTs/ONulzT5Uatb9PjYyXOSv1RxRpW4JyNRhUER8hEqLXhyD7ZqFsiwp6r
hzgIO678dlT57eG56VY1BEJSiYUt53SV5KZf2vIDaFQ2BJMgnHLhlqLlDTyBoAo3tezrFdxv
YIpAoYwYhxgXLdWfIvTEcxQLxxSvxElCob6u2X0AEIbcZQAg3GDqOo7rQCh/BkHxBonkdYvF
TRwFhzeRNUmvha6WR0fJdQXWtoOKj1UYV/VN4tqyB2OJjiuxS8j9kZjZcgfEm07EvQGAIrBr
KeS68RSRhbc46tIB3D5lIqHvAghsK6lLxA7iusLYgUSwcqKhdDYiRyS+BX/hLBP4g9vED+fw
J+JxEDKUsyPUsMQNmRyDz6jL+eQYEAHVZC0OJrMiyQn4YG5A40mBusQuPo8qQS1AGbEPgTjG
piOd1HHX8BZ0ifdsubEvgeoEHqBW0fpUBobTSDjMldEeVyiUjEKWAkodMiAzgIEzO5QrNrMB
VZvZLiCqmaz+2GcfVDw0rpogVb2BELLzM0FYUehLUJx4dC1TY3gYpXIhbctewEWCFMUSOELd
+mfCVjd15U+Ii95MxqxWnugLjqGxJwNlL4PsNGWchpLfS4ZBmgr45JRIAA7pd4aJPcsHd+oZ
vAwHDsRlcKQ/oiM7hgO+OuRkQRxKvhgUESbeRnRVyM4HBrYHVD6yJ9dTgO+RFSduGAGFCiPB
P5GeZFgDmWIDMsk8AhVY8cQSwQThMvw1nAIILxGPBGCo7L+SwT2gpJmbjowAc0RGB6ItHDIg
lAdUVh78UPDZ+Oj0RIbP3RRkvrAgn9OKa/n5wRGx+8jh2A8RRig0d7YUxxAE7G5AaBwvAW1A
I0YZ6IQ3S+CsIcXJnUgGxyGSJEe6AiWD7RvQjtg4sjcAFjelKFTV2qc4Ph8A9pAIgTZKHDRQ
1cAvxFNhxdmcpRVAWSPM6TEMH53KcHzRWgyU1VJaZeyULO6NUYQtrFP63nRu28PJZBWEjuMd
KZCOt65Eko+PYbw6Yeq1B2E824YTYwvy5uLj1d2jf4hfsbNYLuCIOnkgSohIXBskRPwAihGi
omFDhFTT5FEKlFR8gBAFmRCBQ0ElBK9QUIlBRFRkfHAQBZUYG0RFNq2unxgZREXGBwZRUIlB
PFRkW9NtScgHBVEQCcE+FFR8rA8FkVtdKkVAkBqyaDuyIspHDV0RNkSkA4KBgCRMLBA1XtXI
pEggIAEfCAQkYeOAUAJVGJA641Z4YtQRckFA6ohLp8Q6ymLyU0e4feYSlTr+h5JICP8h0FVH
/xCIweAfEI0Q+0OsZmU8j0piLk7Idn2kFPjjDp+VUR627o+3+aQ66sedvtviEyHmxxa0zjYl
kYN41JOXC2b1tOwYvJ66DPexxdCGj/ZR/8FWMgVifdRSQ9E7aj9i4oPU0oqBPrb7gD1+sN0X
kMXYIsqHRA0F+YCJihgfMFoI8QETcRE+YBIuwIeSJN/ehQm48B4KEiG6R92QmwvuUUfMxvao
o+VCe9QR85E96qjlwB61X7BxPWoHYUxYD3CkwUb1UIyZ+KAeIBEb0wMk4EJ6wBRcqA6YRAz6
AQ+v2HgeIAUfzkM1ACujeYAUfDAPkAQK1gESFkE/KLYykgdEwu9kQRTiQjtEwy9WQxQzW4lj
EUIMjxLIhfBgwEwEjxLKBvAooWz8DgbKhu9gwDMIysboKKF8SI8SzofuoHB15A4VfpXU4K9r
8FY1Pomr8emi5vt5NT5e1eBr6h/V8C/yq/HLmvSXNd8HNfkHNfz3a773avCLGv55NeWf18h3
5tXga753a8rv1uivU8M/x63G5/E5lPhZNX56W4Ov0W+rJn9Lkk91ZA6QjgnMAePLuBwwngnL
ARAUUTkAnBiUQ0WixPIhOQCCPCIHgGIDcgBoNh4HhC7DcQBYKRoHRFMG4yixYCwOHs2H4ihx
ikgcAIEUZgOg4YN1AARCGA6AgovCAeDFIBwgCReDA6AQQ3BAJHwEDohiVpuIFH8DoBHDbwAk
YvQNiIQLvgEQiLE3ABI59EZJBEbeKNH80XkGXsbdKIF82I0SLkbdKDFi0I1s0AbH3ACQRcgN
AMdG3ADQFm8npNgZHFgIw8Hhis1DDloG2+DAUkgNAWvzE1Io0gaPWfBTBDHOhlzxSRVDJzBX
yiAbPLiIscGDuRAbFAVF2OAwUoANFgtDpfAaLFKIrsGjxOAaLFaInUFRyrAbIroqskYlLUwC
xtVQErFhNVRE0sy0JqiGkmgZ1aYiWY7qeBkqmsJBVkXArw1UhdNQUdDl+2oaYAGkKpYGpcj3
BVShNJRUfCSNarIaGjaOhpKICaPB04BRNGASLkAGTMLF2eBJgBAaMkERQUNGsQE0QCxYLj60
BogsnDUhbBk8A8IWsTOEArlA6AwlibDcwZ06ggNnVBGWnkxVVPKCCUinIlAHzainLWNm1NNW
VUYZMaOeVDQYVbQLsIlClGK4jG2/uGP6ZbCMrT85vt72AzZUxhbUZcSEWuJt0xTjZGz9xR3k
L0TJ2PqDu8lLjqyx5TfjO9d+fOfaj+9a+/FdK8KHx9jiiyVs+ktSMDjGFtRlbIx64iLcRT1p
fd3kwBj1pHxcjHr6MixGPe1W+isHxdiCtPD7q6ctQ2LU0m6bJBsQQ0nNxMNQ02zR4ZTRMNQk
6rYFxsKoIxNCYdSSb0fGB8Kop+biYNSTc2EwaslVZGAQDJkMioFRTVWEwKghq1AIKQCGmqSI
JqAmYQMJVFHVl6eiL+BiX6hTsBTDcBeMfAGMbOHAF3WEFVxSx7Kop1VzTBH0oo6Qi3lRQ7xd
ikzEi1pSMeCF4gMx3kU1WR3rgWgXdZQ1bBdjXVSSbZNShdIqAl3UE4LTeIiwWnhylAuZ8EbZ
OXExLoDZmhDiAqIQI1zANEyAC5mAiW8BICu0sYhuIaP44BYAno1tAaCL0BYQTq2nbOQKEHte
0ysenSvRZVQLoDMTglqoKWylKpchLQAcG9FCRrMBLWBsRfeuVgw+mgWAZ4NZyGg+lgWAZ0JZ
yFg2koWM/TVQd6hlHAsZKYSxAFq1GMUCIGGDWADoMkSFAlnxcRnBAsCVASwAJBu/Qkaz4Stk
bBm9AsAdH6tQTOwKAMmFrpDxTOQKCFkErgCR58oBChO2AkSOqr7kglYoKKqQoDkEI1YoSRQG
QoxXAWKljS4BX4Fig1XIBAGsd2KoChBbRqoA0SqUKAcgTAWHYKJUsHA+SAWH8WcAkA9RQVFY
ulCECghbBKiAkGV8CgCrQLiKL/jgFCI2rkIuAYc+YjjhyBRKgsCuI5AqVRGWQk0k+jfKNHwf
BODLmBQqkjIkhZpCxPMBKXg4G15CwBSRKnh4EahCAAunFMjAi49FwSOYUBQyAoIDNVgLo76s
MNLXPpSR3D5SuQpMCAoGaMlKxwWgYMBQ/AkR7dlSQ17KtSiCTzCSL6JDcLBjCcaEo4D0RsIw
cSd4qAibySwrg06wMFlrmJATLFCCcAEnSjgfb4KDSx68BF5GmyiBXLAJHlzGmijhQqiJEgEo
hMVzQYgzwQD5MBMMoowywQJjT4JJe+5AiAkewUeYkHAyGNBfZXgJCS2B5UNXUmwJFiw7p0iR
JVg4F1iCRTBxJThwGVaCBXNRJRhEGVSCARYxJViYFFJCRAqHY+SAEizcS2wZKLltCNEkGCAX
TIKBQ5kxoSRYqLBtKUaL4Ei5oBMshgkjwYD5FWspsAQPFlbApRASPLiMICHAYeVk4kcw0DJ8
BAsso0ewUEfWJjF2BIuSOgAocoSIkaBM3AgWWoaNYKER0DxUbZiJGcFCudAQLIKJJcGDA0Db
+XgRAuL0GASPTiUwGyyCAytMKxcqgsLhmBAiToj6wCZp88t/YCQIIDkYxwaJED5SfkPDRwSo
v/zpxS9fG+9cNNdezg163jaMb43/HC7CAPVCt1M3Hr5xk2skqeFfLj69v3g3+e7Hy3dvhn93
l8ONuzRXyyS1pkgZFvNhGoZ+Up7AIv0rNmlopLFBFj62n5d5XuBmv6NMi+q3dp66LyeWn9zh
47ucJr7jQeWncPh4R2eD1Yd973iSePuzwVsd/q05QKzPBuuzwf0+G9zywd89He2tOLhbf+yX
Rdz5FO+dTube9QxuxeGzmuNd25++2uYIV/25J/g00jbnM/SZifrjELs46EBHzdU0zZ5QqKF5
DEcP2jtXsPfDA1UuHfpkgD4ZoE8GbPXFDk4G3N3J/16nCfTJAJhUnwwA6PXJAH0y4EEu/1sn
qk8GyHQdPRnQAdf/vbrzd8hTv0n/+/0612/l/l/pha9d6FXo+7vQVzjJVzvYP10X+i46ytf6
wld60td5wW/hR9+ao3xbvvCVDu9VjvJPyBf+ibu7q1CP0p99uT9PcJXvdJ1jdz99q0FvaMBr
enlPr2fQd1nppby177EEUbgUN+YNDLj+Knx0YRdEpbutyhVW7fJ6N9/WDrixwv6md3MKvYOL
Z6XjJuiHqXKjBBwmpetltrzZp4aM7QDvfK3J1pelPOz+kztdMdLEbRxNXKzwlHwryfe/GFNv
WfqchgICe5yKsMxzVQQXfrAyYqVInXO3BZCKBIkjrgTMHH4leO4hLCOIR7EIzvyPIfCpXMjC
u1lCUG9oAIx9pyVwbjokBHHNFqG5BZLgeD1eAhIHcQlKnMlFKDV4IJQ4qssY0slL4NKkiijs
Oi/BiJO9BMXGWgRSuy5CS1d/CIMPBwBw3G1IYNrJAGDcl4rgxY3cXujZBwlMujQJireCZWB+
rkLCkCMbIhR3wSIsPwgitVzc3cpAYiclsAc0przPF+HFIAFE5EMLCbmWpU7O3ojAYjQjIejo
RwaTc0ASOB9ESYjsoJEIzwZjEpieYpLBxG1bBCs0UzhXJaOzAaKEoOe3YDCdiQI4ek5MRNAh
qwiFDAM5qSYC1yrTSk7BSfY2lGuJT9VJlqkYdEtmJR+mQwg8rJdMCDkRKEFzV0AAQQ8cSlYn
n05ICMBCkUOPMnQJAQGWzIBsyLlMCLiWOypmNgUYEHxIVALjORkAlNPGB1SlRgyY0XL6B2Mm
Su3OD9nKLRHQFDpZlZQaYCA9DCxBAUFBvQKZKEtySmVCMvmGgHI+dGYPKbIMBFSHrC9IQLoc
IVUTKio9Rw5CY1mpi6PrEEKuRnlaHsTQw/YACi/PgGCYGlCJYiFJ0hUbhhfhC0QEDnggwSK5
fEU8BQiBozBAcBK7QTI/xRqZhPFlG1sswEk1oit2ckXpCp+UDl4PlLUThJEQGgAcr0RKtsIG
OuBiwRPAQDC4P8sWZKVmWq7kKlBgz0njpUDQcxhqgiyjy9gAdAwmswGh51AKeEle6jjzhXwJ
QXYGRCjeEpBgeH9B6nzploRkgrKNDAlOIgFJULwlIulZvo8CImRotqsDdt7Zdo5kkot9JLk3
wxtI0tAZmLdlm1iSNtOdLwmcb5hJdijbaJPtU7ZBJyNkULbXB8HPZXC+ryjBlwCrmC1MFcqX
q0v3TSVottkqWRy6RQuAzwHBkq1gGXgrVyjfb5bg+T611AHO5fadQn063T2XjUe+6Q5hii17
hc2BRjO5r4AEB+bGjIuCGid3X6wPhBon86X0xQAxCnrs4qHCAFNOLtIjjMQ+KDAGO7GAGN4d
RkVCnGtgpOqb3HtHgVZW3q2ovVtZfVddfxdkQOk0BWEgceIYrRAtVJvC+QtGgPXIPc8guKIG
ucubAjWVDVLhdCcZscxlD7RVZ7Iai46DKnzuh6jCZ86PMFoWjuhiCeOB7p/6eUJgaP2q8C6F
EMQ1FUCUvq0gUvEJ8bCFUQ64PFu4+8KYzG0YRs6h9U7BlRlGY6doBQbQzdI9G8ZQL28FjvqL
A8jM71yBKX3YVQSMY3wlCawovPt+JUFNIY7qC3FUIUfuTEQlvqagR+qCKj6rKnd2GgVGlmdb
KvHkuEwVRfXn+DQPTKDkFLikbBVnlFQY2DTkB6ZgFDl3JQ16NkBXwJ76AnFgAbijZ9JYjx5d
A8Bk01IuMbSwMAMSgFZlwIWGNbB4Rc/5SZ8DvW95nFDE5PcbScXNzicCqYNweiZShGbHKaVZ
DzmJCULxDVIiIj/eKQ1Q8tOhEEK10s0cO4VQoEZnR1khMDSlYY7Pgihg+YK7gEyBBFcwy+O+
ECY/LQziFDsxipKLp50lRYIEUZ6zBoRd3mknI/O78EQMe4WepOQQkDsHLiHz6/0kbc5vBJTV
3JaXNshtgxKwuJ4QxpBbDUUUvgZRgi2ActiKvSJ6IaMMLS9xlJooZKihzdfySkkRs4HWrqCa
ZzdcSsNOYIECZA9z+yagT/mVnVLy+S2fch4uwBBlMxRvHpVqzN5aKomgvPVURBU3pkqIMr6B
iGLuahVR7FWvklWfKT8rwy1ImBvlR+UFtzImVZU9v1hXklNxJa8kEiZchNTq81gTUoee3yMM
F3oFdLxMaAtJuD7kvcFelCxJnFyxLOsBuZdZ1uw5pNXX8nCxuDNaRNCrpkEovaNaqq4P7Bbk
92EDCHKRNgCHu8zs4m6pRsXV3yrMFxVmCvCnuKhcgbHlIW15OboC48iWoryQXYEB5FFeAq/A
zGQtKy+WV2DmSsxCni1mGE/Ja0BuGcZXYgIlDwLlN0tlCQBHnAwTKb8BdpsyDLCwn2OU3EmU
WpUoeQ0s+WeYldyT5Rgl31ZK3bkBlhvyqD1QL0LC/MBdhaIrALqBOQy/AcHUzANWh4QtksBZ
kCPQ8iu6TFVPqnSrKKMzKTAVLgtifCgFvnSXlUY4fJAq6ftIrnwR+groyANoPQwP41JocJoH
4pLYy4TxkgdHWRQwCZEFEIP621geYjJRy6ThIY14Jo/YimhpCi7KqpxHepMHlkxQN2mEmwWT
A+YSkM9kHtROyqMMjiehvsAb6TQmHwAFW3AeB1Du8fMYg5ImTIH9tCJsIcQkaIhQBEMEEYrp
IBPSUTIVxLkZ4DbrJy0VOwsoCVWHeGNDiDLCJYQlsTIhhMJXlA3eCeFAx5Y8kCgIx8FIAUQW
0lSJmYB+OUzcVYVGVSMV/oJ51FjZMCiH3GUEW6ipKyZojDc+gHLitcKiIqACA7K3iNILIaDu
ojh5ACHygw4QDlpPzedeYKeIkJ4DiN1K7QU0UEXTkV8BR58kRX0L4DJO4IBdjlPLcWRtR+bX
AiwpAkdyvYithqDXHmANkd4gRQaGKMm1SshI9WHMwlEgrq+vI+VXlTg1CldegbmOlwpUAHR5
gXqEgGy2CoP6dQVKXWR1RnlLgFxul8t4PZ4CSpRhZHgydTzAuwz3xoG1nPsKe4qsGeAzSU0Z
XmCLwNI5npcPvv/84erz69e/GKvU84dfEBoDX33KNA3vp1gYUrAjcw7BjTMNIpLy5XsZlyX0
vy7ff/9Bxn5BQ0SS+/8CP86L8f3l+8urP0v4gzgAP4GzAYu2r3NBhvnayCGkYGeHZ6cj7KuA
67Wvk0O5cNnCSNLlkLJ4OTQgXx4PCJjjRCZhMU9FTooM9nb463QHeWZZnbSWFZNBS+pYNonF
OqCW1EADrJKHbTWDIrsdHNYT8sK1xefdyoqe7SJzcsbu+YFnJb5hrhPDjIwkcdJJcmSYqZ0/
DxAaoDlmaI5hmigoadDwBqRJWaI0o5rbtmH+DTED/SbL/ugvHuDaqRnFYRriw24oiQ9jw5yF
gZeas9gKXDMKybkqBFyGZkZv+ShLzETzb45r+1Zs4ajhpjVDhIgGzcGxw7RhXjbP2eFgUP6j
lN7S9lcOkndoBNcTB9U5/zuwD15dvTMul9Eq/drg2GGYxtGRgfdSkj8Zo8PjU2N6m+LnI+Pa
vb0JYyc5ePXDO+PDKiUfl98G+NsXDD0+xegY4fRXpE8IcGjg83crUh0jjOzQcZODg9docOP5
hE8GGjNEvpu6A0R7QTZg8Fd/s+IlXrLHz5/cwIqvyeOHCE1NvS/ky0SuDlUlXJvjsjanL/LS
jSpqgz8llTk+L8nbrMxxXWUK0RyPT4rajF+cHBflOx9XVKiQzuj4vPjk9Fis02h81mStjka1
Mjq+v4yO9yyjBOVkusbzZPgq8F+jpIeZ7gznzws1Wrgb49viRfnNcfnNMfvNsfqbKCi+QdIt
v8Evqm9S5qOU+4q84RGPOePKzjQHDnvMYI9FbJ40axmIkTWQER1RewnZUTRfQL/wifqX3unZ
qWHOFbY1SZ2X8+Xq/Lww24C5rjbAf0PprpYrxChzukpNNA0311bsEU1BxXwzmfz94v3k84cP
764mE8P84Yc36Nf3xgAn4dkTolLJIBw4hPjdq09vL76/fHcxufrw46fXFxzs9LiAkppTLXLN
xENTm+XcxAs6qLwBwqV+YtLuF5VobqI5X1L2SZQVaP5Pqkm6aAp0N7YbEaWk79OV56dooGoG
SThDXEadxM67HMO0cbcjsEt4tw1WbVit6ZfSYIE4WlnqlCVjU/YXKYd1c208f//J+BaZ9v8i
m9xG8r+N/0pe/u7wfz83yDgGdx/fkseJtbzFWy94RHe3D0cn9/uOZjj5zQ1WE8QKksJgmI+0
TKSVG4Q3EJlhfCsXEiAdnZSUZalYQicwcZQU3HfhfE2Ur5A2Xx52BAwRkdHw9l+TQpXflGVU
5CMmT2jZYYAqa9Sxn46OX+SjgvHh8XhcjCyPj44VQwM4uYAOMcYnR8VQ4ejwTBwtHB2icW+D
A4bxyXn9mAEqMO6jwYqQ/hrE2DJTC9lgVp6elqw8Pjk+OytY+eJMMa5nE6EDrbPxUfHd6OT0
UGLgeNwoA0eHJ1sykBSzYBstdMks+m4fuPYiNJ7hRg3xcOK7y5cJsrXh7PcQ/g/fPEMtTcF9
2o0ptU8lTbFIpKRSQQiUyT6vT096R5A5urOs6SxhrsHgYpwltGm+tfRKn2ittBZto0UZr9gX
pDGKXjrrUUaH56ejvEs5OntxfH6Sdw0vzl+c1PbO+WoRMvGj/MPxsbwkcXIyGjXaKZ+Ox3fp
lIW+WOqCld0K3JtInQjUd4hdRu8aZ1Yt3Tq3t/G8aSeTo9iIbbKOP7CKqRPwRd66xak43IGU
+wEtbR6J2wFtb5CJex/F+063XaiNGP7ReLVKw7m7dFG7QmaHeC8Zbz4Y7z98Ni7eXH42/jhE
BsKIwyAZIGUYLN2b7Nv/7s0cd2Z8+vDD5PL963c/vrmYoOfvLj9cYYvCf5EsDDxnxLYKwbHL
lYFULHsc4m/MaWgvEhPZTzdJpe97YmuCSK/TKbeE3ly8f/Xdu0KJSsDVxSsCyGwQw0TmGdmf
nigJ9jnR+nF//aD8o3+QVmTGyl063kw2TEpTliVaacoS18pNWfaIeTwMVylxVCW+GT21ZLl/
rlbTO6spZuoVwU3evPp8MZm8fPbzs8OT4Xg8HB+Oxj8/e1bsVWRMzh/6Y+MS7GGqdee+Jo6w
j/yuNXA9URgSLxWfEdRqc3+1YZjIPJcqJPeCf31b3wuu5xY9spE66BF3hhlkmH1t+vPIz0b2
fe4TkRynK90nPkBBcw7mD0/FutHTZVpv7qs3lH/0T1PmzPbieJVsYdEoIWjYnoTyklg0Wnfv
q7uEfeR3leZefP7zxafvPnz4XKm7hR881lnZEX8oHPqooGLPDfRWcT09mnyI4mL2kd/9mZdm
18hopbj3FIMyMPtbO34L1tx78dIXfcIDBD0jeIA+ZQzM/vbH0IREEkTdtXbcWztYLrIv/dGT
ozEOlUmWV1ZRFOLj7Vpd7qsuADMBWH+UJ9tf1ypzf5UpWFg89Uc9sj1LrR4P2IjJWVg89Uc9
Ci5pBbm/gjBMZJ6RkvgOKrjrzyb4ql7DfG+Yn/EtqMbhBt9/cXjIf5wGEZcU6wOT+Tswm8XR
gN/rKZbVs3XSbMmJzN/zCVs+0OaGVFCHWVrEUvmJ8yB1/DsIp7/aYXSrKnzmXMphd+1y12Yo
CjGr1kNRHLeYwU+G6Rj3SsnxEnznPQL4/nCVxDjIESYiYZqMX4x//vN+6QrcZtumHYdJYmZ5
4oKbweGLkxN8/qv5KiDW/Dfso11aijJaxy5qFxyeHh/jqkEFaKG6RNWO2tblcdMZMOk261Nb
xi3J4j8aGetKTjXsxJvl85wOL6pHF6fHj3JEgcNxNjiUyEcMD+nyM65yTQ0p/sZuPtli7NB0
wogyQerVQsqi97/lBiG+YXfAPucj3k6qJL2URStl55WSCpJ767Ri4lF9s1NzrZn70cxMkvxr
p3VTG82uq6bte0gDcqPJvhXrV4ZARN3z8tFuG4Iiv1EWaewPkrDpLHLeZrmQZ5yNUVYYGN/w
3UrelDle3HOG/DiZYfq4juhPnBoHDWfa6gSdTFkTHOC03VIXRX6wAuyl+C2uiuyD9S3UoaWV
jmL63tmFDoRGNrD1dQ6aTZeXORBhYOGo5Y9shEQ52/QACUhVDLmX86N46vToF++mIN13tHyZ
UxuUIeUjM4wsxU9p09iy3UkGfcjARlVfYehUFIQpJ1PqXZSg2Sxa79IfOg6pLzPblT9ACmDJ
h3mau6sCr9IN14VLfHd1wjcoR7dNV4am2rkGscDbcU5oY9K2RZBt7H26ePXmh4s2KjCkSQ9o
Ydoa8ObjuC6Pd/FoYRcDXpwPs53fZga4ZvmkX6xcC7daZPkMyyy7PLLPqtDoyG/28fI1GqHh
q28eOk4TOC06LzUzGKzJpJG10fpsNo2slD6a6ogzptgeFrrGvXV95oRTmZBb03Uj2rvWPZlG
lGscACviFmJUmfbAUjfCPLViYmn+zf+TmYQ4UCh5ZpJJwsEhanN4+OXkhRLQiODng6/ITLku
xwfOVbdUB3FToP32JM6XY2uJIJJIDvwl4uXMkBkIsFVBLJM+cDxfUz/V8J6V9aKhUX7WAPZX
Ia79NLc0z+nAbiuXTSPhZttYDdWK3QoTq5pHSxm25QwNzS9acove/TwNAdDnO5uj0ezo/Kyr
40tUgQaHlW/evn49+fjp8v3n7w3hPr4mhjK0vGA3zFspMq59gy+lnbzDI4EWszeMfK0cs9LO
BjdxZKULE7Hm+mVr9c5G1rvKrhj87liQvF00TH9pr+IENYp8eySMmujj4CJ1Yetg++JzS/Bh
k1UYdl8QZMU3sLAL03K0Q5Fkw8HMgIxaqc4wT73tYUXeJe5kSNHKGjyTfhcX4QM3SBZx62vw
NJsuL02T4s0su9noRcXtw0WpHjb0oHxufnEISLeBhbqq0r6ZvH3/Y8lDsv44z5eeGGEwz51e
u00Wgdas/WsWEQP53WltmnrIbpvUq1qr1f7VipcH/5opWof1bGElC3M2j+IUcUer2x7VzXzz
/eX7txefyJrK5IdXHzn9E+TEQPuihFM/tK+1Eu5bCb979+H1X2D1KyUkqB/dJUQFphkOLG6U
R/tl0IyqtZrJrK0ZYD6x6ewEcOpfp1bU+gSQZtPe2j6bfuaC1fq6Ps0Tt7EuT2w3zd+qcDl4
mMkpGduCd4g68UaMsDr5YkG87eJD/RW1zW8M1mCrL4XorjYj9ngzrcxPVpkz+Wd/O63Km2Ri
Rc1e/aB1uUu6nCtA/lBo8xvyTSd1OutrIs/Wav301JpCuVEH0gRp4NFd/c66H63eT129S0UQ
hyLdVe68P9La/dS1m9EEZnBSrODRbAdWObXMh+X5h1Wu/dnXSTg4Ynz7Mxd+4sUlEiEytjth
2h5b0FblJPj0M96/YklFkIqUAzzEv0hd+F3EruloyRtw9d+69EXR2aYDaE4b7vCt5THcWs/b
yXJHksu88egX6IPGz5q05IDHrl235Hy36yV/J/bWbpzsatk/y67LS/+0JuRUWOv7pagJ4T2Z
JoYzGefbG+4pMmhyyKfIotFhX101+N3bNz9c/HD1508oZ4NSZ66hZpQuYtdymBXWQmnYl06v
tZb1aOHwtG4PT6M9FKeIJVCn2waqChqdtBNuTzeJPjaJQmOKp043AOJFZFot3a6hm0AfmwCj
M8xzD5pBcru0dTvQ7eBO7YAqDfvSg5awDhw9KNIt4W4tgSoN+9KDloDKqhuCbgh3aghEZ5jn
HjSD3+zwRrcD3Q7u1A6o0rAvPWkJY90UdFO4c1MYD/i3TjcGy23nhkHdCPrYCIi2kN+dVnrE
IL1UqvX+TrsFdJ00e+i09iNO6R1k3QDuuoPMbh33Yc/YC+ZjPR3WreAOraBUmfKx022ATGBi
S7cB3Qa2bQOlypSPnW8Dpo2qmO4gbqJuBj1qBoXWcG/MtZfFR5wPnso9tRhgcTkP2XBD7WqN
cAVH6+IVLxkx3+XNw6cJ0DvITT+AWZp5bjG+XLJLC7etz+1ssrs70gr3eJAvdhRTP3YIbPoI
hn7b8W2UkivTv4AlzEcJ7MjhsZUxt+KsZX+MZczal9Dy9lnS1hqI6vAVY0Ny3S80jBNjzqsm
I7q3e8qnOKrS8kmfh5e0QlCP+NbR+sLv8NZRWpi24t1xh7q6G+9uvKOAd+O2j7+Ny5rlg67d
nH8b54O8Bpp9kVaNrWZNQOMnfVs1wQy3WrXBu9Q3fx3sTNdQXl0+aImKb65SbzfHLKuis2YT
rLI85SOaWrXcBIgQe6P+64WzM/VHeXVZ/VHxH5X6l+UpHzu9zEZqETm7WmXblsVZidiX3Mqc
ttxY2DjARQt90WqmXQ8EjIqParETBarRofLehLxM+UOnWymtg/lruIqX1m6M4R0ZXZZNBHSa
8bmRN+3Q8t1kF3c43YX3QPEAWE8ksLu9oHvwP1/4FCH94P3M8x+Z1RGKJrz3g+tB6Hiz20fK
97xwEqQfvP9t5caPlfVZ2URAPxiP95YeKd9p0YT3vnA9srwd3H10T77TwkmQvvA+Qex7tLyn
hZMgfeH92o3TR8t7WjgJ0g/e4y9mnus/VnPPlA8C9kQISytKFuFjbQJl8QBYTyRgWzu4aPV+
3CdFE977wXV74dq7icFyj8UEWjYR0A/Gr1beYzX4tGjCe6e5Hrs+SnGNSmqli8fFdaFownun
uW6lqLT2jk6ybs3wslTlYw+uFsn3eZq9WuQh3GZuu2AKJ+1DdZ3l5Y7PI2Y9V0jlzlR3RQFs
AD1KacDlrNqr6oNMsk2hRy6RspTq3aseSINuFD1uWRRlVO1n9UAO+cbR45YEU0r1DlcPpJHt
JT1uYZSFVO559UAUdHvpcUuiKKNqF6wXcqDbTY9dEkUp1ftivZAG3YB67NIoSqneKeuFNOiW
1GOXRlFK9d5ZD6TB7FA9boHwBa3cTeuDWIpNq0cuFbacVftrfZAJ2cp65PLIy6jaceuBHLK9
rcctiLKQyj24HoiCbnc9bkkUZVTtynVXDsIG2KOUg1xG1T5dd+VQ7os9ShFwxevXzl1xlPhR
Mp5+gQo55AoKwdkb7PEenyWePmNOR1Uf2ZGOkYjHG2S3e8kbXHZTlt1nZadO0dUQ9n6D3LEE
JyHJeyVzqxA3/Jn9aIjVRL3Nv/l/MpNwifT5TxlLk3AwGhwixcURTBzj54OvviJhiYrNVkqA
SOTNV343sHZPCtoYAVbowaViaMkSXDwDV3HAxQRgTqucVylG9vIAExrqlJ0uYP95e6RqJKaP
E2EubockQ99BovKtPH/bTmiBdX78tjhc3Fo+z8sgWmXzYI+Um+9omDUEkkjJIWj+cDRLTk4t
J6spKnQR9mR356VbPh/NH8rmane2g4PZzaVVRqnZaaAalPNOK1HUoOgP+1GPwoA1Vx2FhWws
g+EWtraFzMrGuQur3WrvsJueoSGe7MG4kCiEOyl+UXa+76Q9Y1dCKrI61YdgRlmEyJ0FNCoi
UnbXPzhBg25n5bvtnLec8zNfsPJcKB78kkuxgcjO49ZDYCtzUAWP/vHqYvL++6vJuw+v/3Jl
cNGGGFkwz512P89i0JrraTsHLbSC3UXBOGlwb71QMjtcpnHYTnAQrWj3UbRCIhKkFwrnBda8
ncPyWt3uo26ZPIT3XqgaZZbWtUeja7lAREA/tA39whlpfXs8+laIRAb1QudIMWdWS2ENtdLd
q0MtZQLAeqF2iRvrjvUx6VwuEBHQC237beWutIF7PMqWyUN474WqzTw/1YbtEelaLhAR0Att
88O5VrVHo2pEGtxbL5QM77MmWs0ejZpl8hDeO61qXqkrWtH2rmicNLi3TisZvlFUa9fetYuK
gf7ptD4xt9BqpdqzUrE3ApfPHVev4gJlrV57Vy/xMmuLPYHVXfUiN29r9XoU6sXego6fe6Be
tmUv9Ij+sShYJg3urQdKtm7p4kGtYndXMXrktXzugXrpNdbHo150hbV87oF6/WaHN1q/Hol+
UWGwL53WMMvV6/b7Vy0iBfK708oUOCdamfauTEQK5HenlSmb5brBSluo/SsVJw3urdNKtrCS
BeWdVrF9qxgjC+a5H+o18VLt8fWIVIzKQ3jviaphZw8vbedeaq1u91O3QiYArNNq1+o1Zlrb
7jSJrLq7rYu6lXmvjbVu7V23SlGUj93WLb0h9Ai0ikS76PgWUBFAwfdQOlqr9q9VgkBEQC+0
DWXoasecR6RtuUBEQC+0zfFmM61rj0bXqDj410zPOqlmZDWZhDfWGrYnDUPQz5fvcud7Gjgz
879HPx02YV4wH2sHikdhvkpRlI+d7h5xDcaxpXVr/7pViqJ87LxuFbdLaPV6BOpVXrzCvuXj
rnJhjAsXC0f2lMMvihHy5ChmcpgpKAiQFKRFDKQhBTvgj6TnJ4f5A57ZgTz+CJV43oU9nMD7
kbMuv6x/ZtYZUO8n6rbC+xmAW8LS3l25ucIsgTMrluSGDD9GjdH/YpjvkB5kkeHptRjoN6oG
JglKWWaxw1MH4A3POZYpJCcpA0FBsnUIeZ0iL6dIT2eS8kxT69m+9Gx7jRJliedq4jxOy7E7
cswHruxgVsuvO/LLB4fsgFHLr1vyy4ZewqBMS7EDUmxvUN+lW2y2q0JR/mJiUYxK4YGkME4k
Q41yNa/oucQmRMxhd27GKe526c3tOJld2tntOFl+Xb4dB9XDtNN2bpQQr4RtbwUkE0RpB8QF
ijYzaXCdpbYewkLL51cfX39+x+xqUVkWTz24tziriulF9q6uLtZ62pqeMjc+i4LlAD1SXB/1
7Vpz+6i5hWR5SI90F2Ub2vm13Fp/e6a/nHRlaI/0eBa7Wod7qcOFZHlIj3Q3X5fT2ts/7WVk
K8J6pMGOi7IMb7UK91GFWeFKwB4pcRJZN0utwn1U4VK0AqhH6mulqWUvtP72UX8Z2YqwHmmw
42oN7qsGM7IVYT3S4DBy9Qiil/pbSJaH9Eh3bT9M9CJEL5W3FK0A6pH6RtZKq28/1bcUrQDq
kfqullqBe6vArHAlYI+UOLB+DWOtwn1U4VK0AqhH6msvXOxFrtW3f+pbilYAdfrgM+dgp3W2
yzorO0zC3pJdVlPqTaf1tDd6SgWq8I3ssqaWfnNaW3ujraVQKzwhu6y11FNOa2xvNJYKVOH3
2GVNbTFYj9bV/ehqcbhc5eXYZX0tXOC0wvZGYQuZqn0au6yymcubVtjeKGwmUZUHY5eVNfdv
09raG23NRar0V+yyvubebFpfe6OvuUiV3old1lfqvaa1tTfaSgWq8EXssqZmrmpaVXujqplE
VZ6HXVbWzKtHK2tvlDWTqMrPsMvKWjihaXXtjboWMlV7FXZZZTOnM62wvVHYTKIqH8IuK2vm
YqaVtTfKmklU4TFo5J6GSED+n8wkXCJ1Jc+oIrQgOEBjEg5Gg0OkoQsrxgKMnVtEKATDk0OM
wQGb5DA4UGARMFADcPgdOk4MHdCUj70BR4mA4xmguzvgQgy4ZRIQvmFLZuXg8MBfIn7OYCQE
rfhAhJWyLeTORN0Uia3YiHmgpXDiE1ylAF8UYbNf2k+V96vEDQFpyVVa0xKWDcSpmWowobbf
mbSaiPSsarNdila9ZR3YcNVEwzpai9PjY1wLoQE0UxmU6D4kAtuU5qpUYYkay2QomqlKe9la
tsTythzhvIjPvZMI50ctpz9uOn0m3WYDpJcR2ZHQZwm5HIIPyn7UfFD2Mqv2Is6LedCg80EQ
LluPOV9mPaQ5Pu/8yaqsPk2fqYrSBRodOfxRHzav4qUHp9OyqkwifzX3Go8uUsVKNksR1iPG
zuPVdKdsLTLkIfn1iGgGGVjRzPNdE01Sy7SAaWau5uIkMzQkJEJDLQSUcVlAZuggJSfBlMQ8
5CHDOslGlgO72tnCoxiX7r8C2RrILivBjq4lNWpjbN1eJsM7aH1Lme5WctkcL89+0WUt5OuS
m74+VYlY7qYr1NIcDhjvtjSL29fEYTVLdjlrQNn1Ycpwm0xQTRqPw0DKc70Mb5aoFtY8sB64
Z8IzXmyocksu93O4zQdhhMhUvnxjtxzwnYFFiuV4r+wehERMP5+eGw1ZJqC2uxh1DVG2KOud
VaKoAcPaxivTvmklRqFndjV2vcSNd2tc8zx7YmHz6nTJzOZlbtDWcmwQQPewunxyzZteFQd2
ZX/z/HdbndYtcVGt9s1xaUZ6ZpO9JDw/PT3cpUnOsuyJRc5q0yWDnBW5QXvMMoGH3MMac4k1
b4wVtd+VLc6y32llWrfEeaXaN8SF8eiZHZ5Z6S5tMMquJ/YX1aRLthcVt0G7m1e+fLuHvS0S
ad7WArXdlZ1FWe+sEq3bV1yZ9m0rMQo9s6tfdrvc8EVcaXjz/dU/rib/6/sr8nj5w6u3F43Z
ki+Vc2pc806adVTwif/l18Y399s069WiuINZ5ypfvgl+G1qr7qVVqA8cn5w+Wb1iqs++a91q
QrdmvpvaC7f5OPpd0S6OATxEa1gDTm+TL91a9m9Mudi6Fy9apRqZPT9dnWIqX77dbfYsj9XE
Hpa3iYIisyVofuoNsGpXU+8vje001Vei9an3l53sL33p4dbSZrdT701vNvk33TLKm0aN8oYz
kJv7behv2rOrQG13ZVc3jdnV+kq0blc3O7Grmx7aVXeTjndrWmmOPbGutDJdMrC0xA3aWIYF
HOAelpZNqnljC9d8V/aW5r7LqrRudbMqtW94c5OxK9vb/BlvKYuOHvNe2wtruYtD3iSj7ncS
3tJr3KNACP/04J6BsJozJIg0QUJ8YKwnMOlGokiBKfsPDx1VWWKu5yvkSp96cBLaC7We9lBP
w0xLw24H2FuGTrNRS9tXzvblTCRMOUP/dF7EiNpH4wctaZWkCwZxb52WO+1KOyVw3e+otZSK
UxgWdVIvQ62V/dHKcBCygyADjNiK0icpwbF0BOzgkJ0FZOOstmQ6pPmT53uv49SJIcvETmMc
uo+N+yNXXQaqyQUQG16VwEzcl43ykQyRSxxZ6cJE7ef6ZUsa13IuZWN810IF6DKM6edcNWCe
joUxg2btfViLA/zaCafEVtHNhQ8LfAuWogPxq/ZQ6GZC69QWnI1TJZu9NgJVtZjL8E5muq1s
2xdZGYS4yPZxRXS6Xx2ajKPc3sZGtlTfuW0NNBMwTHfzjfHzwVfezEjdJMV2a+6lXw/xN1Mv
TQa4swlXse0O7DAY/uYGK5NLDlF/Y6QLd4lT+Sq4RmXDUiwI09hyPDwxsXwT4Uhmrp+4hNzd
RGGcGm8vP78k6WDYA2SBdCuxYy9KkyFKjsZlD1fpIFncvVLGi6njnhyfno6d45Pp4XRqj133
xZn9wjqbzsb2+Qv79PTk5Pj4pLqqMy9jM60cHqFklf74Cc2e/v7yGVbQZ9/kUDwVu3r96fLj
58mby08I66Y2LnZeMZ7y04cPnxHNQzj2jBbMdqrr8dWApIDqsooMCiG7YvlO2GXWjqPYnXkb
XE1cr4PvLj9cMeqagYdkWkH4fjD1lhbCMDSEAkdx/8FarixfQtGPA2t5cPHue4NMoqM8X0Iw
X6KEfSrWf/3h4IpI2sDjMYP+PIBhKiYdkAjJkeejGX32g0akB38OUZviUBj66tPrP09ef//u
1durjBYvAtBtRu4HQw5yE1n+5ExfkNQ//lhiNmenE5QSQUy9ueEuHQ8N4Qw0Dj5IrXiOVBFf
wpCnc3R2imaAszQIVtmnxasVB8UzUr2keAlOz67LFy9KuBfX516ZBOkrg48im312gyn7ynyZ
LLhnt6RLIisuEyHVQSPu1cZcJYjZWY0YiOVHC4sDoFryryh1BkBqzryTyrPvuP7Cu+uzEFxL
/pUvEgFYU+9ozEJxlflXvly04iKAT5mAjsaRv+KKeDCP4nCGNAMrtkP0ACkHJkZGmYEiICZk
NZpSplaKJvrTlec7BTD3lSm/R8CrN++MZBURa1VQfojc5VsOfmCvUNYJC0J0Aerobo7GDBQB
X60cLzTy237wDxpDHFxsUGM0LIKzrdhJDAvZZ8NNRkcvDo1kOjo9+MHboGpgs0AWyWhqf33/
2vj87orP4hq3cK7Yt25yMI19K/KEIr4J7RVeYsuTJMD3Hz8Ltcbfrx1XZsWryw8CEJPmlnTq
h9OkgP7lrz8AtDMnlZP9vEByJNLww7kxi8Mgsz946IB6ajzCwqIh/b2XfG0cDNMgopbNDpcz
0xyfvTgyB/bXo69HL77GwRSQFSYpfm2gDweLr433IcrXXhhYPQyUU2GjD2hWlCXIMiMxWqnr
DA4yttq2mySzlX9r4Ky8+QovL81QCsjk0h7ICahuHbx8+dL4+PoSGe4kSRdxuJovkHgj1FZ8
L701FlZiTF30Va5ziL41hwyV2TdjNwhT9/mBYbx+jflPCJdTB82KORBOhoGFieNGzLu9Sj0/
ET8KyA05DBTphH2NhHQjwX7jgZabyJ/5YRhJ0HXgXEtAJ5hLsGloL+RE15FcvvWaBEEASjiW
oMjsoEq6vpwyz0T+jVCw1SXLEPlbFCbexkQwEysjUJTYujEJkchwj6s3DjiOGo3LyilEA0ef
hXjxb+zbmGVHEkxXifg+cV1kVwMGHFibF0ejQx4yGo3Y4t0EZy9OWJIkcQ6PDo9EyJiFWE7y
4uz4lKVJXd+3UKc28ZbRiuVMeuOfj8dHbBbIKowOTxiAH5wdjdlSJXbioWaQsLKwHb52hGbu
LlFzZHmzSqb8m7lYiRDSa4lUniNAgkSE3Fg2VwQMQ12fZ/kCcOmyLODSSVCpOcCU06PUxGMs
HrJe2B4P8cfIYPGgxBEA0kdyDfmsV7OZi6zmBNteVme8Od0BgmBmarPZ8vUmqp+ghuGmkglC
U9uY/5BOq5IVJ2Nr7a5ZgG0hKlM0amVx3I3LKgPpu4fktwRdhjD8xlrDiAD19cu5BEYjBWVC
SEop6okY1HrJls85cjKD+u7y/V9KK4+7BB6ILEgGfPWJNBlviuET6vw7sO7Vq927J2zBh76m
JxySQbgTlD1iBhiu2caXAxFPvDSMAUzENYsc6oeW40LkXmJNgoCTbpEH0kXeiucYJ7DMhetH
aDAJYNdenIIJUoQ59a/VSL6FCUigF8kIZjcTezaHKp54J0f22fmJBSDdJAKg2HKEC5CNtAs6
P9psVMjR4SGAWrrjQxAR2XCF49Q/Gx2dQ7mM4JSCJAjJdXsSBg/kwcrjYT6AwJMAsKhJBAnO
c6BMI/uaG3kU8GQMyXcOiQepGSRqx4aqb4+OT89GZ3EKYaVOrCj82fgE4jKGH4PVAoC2F8do
fAJXIh+oQSjP20zg9op1cAXr4CICNcZx157tot41xTcTwIahCovKcmzZEZRjsX8MoiYRmrWg
mUigQGdmZDJb1xBEKoKphbrYJaRNCDubKr5SGwuMFQZfRaNA/Sv6C7NvUsyDIbEQewgp99RK
UU9yOwnmASQ4UkNykxuATKNgknqQlcV9mpl1ahA6ReM7SJgIgQYT0cKzoVTJLB5qD+RvVhDa
QxcWlvbUqIvOO/Qck01L2zp9sXWPWiyu32/FV9oVmXrLZw/Z1lFu5RhkBzHhhknc8MhotApN
84UuMONFd1zmZ8UCPl6m2Bje0ph6YTJAWRvIVIrPJrWiBBRF9gRPhgga9S/hYGPg22cJXbY8
JwBOj0sA+tyINi4aS4yviX0laSJA3qvm77T3zd9oz4rfplYwDcOBk06/MZywgd0Vhbjxzl0L
DQDZKhMzYvi7TUuiJRsZTrh0W9ah4bV7G1hRAuiSY2EjhIbu5nyK/qSGMaPrrbMYzbSQEUrQ
JAJBg9DxZh5Z9lyGhoHM3xTRJWvDypZnHTdPaIVoZh5JYYqAC0rgoUT8Nfq63EmI0GO8Io/p
Ir/hESVEMnbp4uMspEVBxVxQ0l/RY3CNEyLJk4RQ2glNN427qWuZhFrTtUIFSp3DOuBgHcgs
fM64/LjZ75x8p8f45z8Nd4MkOCJ7b7n8SCpPZkLZgjqxTjoNSL1w/8BCb6t3bbrM4gZzKyOC
vMDYB5gdVXmzVWS+w8t8bdSlzGMH4xwnaMpwcBq090FnO24ztRsqnfOmqfKgGYTxnFZ5FSVp
7FoB72tS6UHzmLxm6ioSWAk+08CW3cj9YBpiEHXceXnXJHgWZokMsrKRP6wLTM7z31HCYbFZ
aZgm7RTJNMY0qVOFiZ0qXnLuFDgX06Sfm9j35GWWVoZx8aa1ac98a568fPYg/3/J55/k0EiK
1KG5ufTyJZgWkhzSzb5nHH99J2fwQ1ylIXY0kl5e9rzQyOIjzXsp9gIZ1rFSq0CXLlREEzMK
LyG6eb0OMkh0my7C5Uv6h8C+KYaY1b5bQz+0Lb/eg4tsdyi8uJg6HKDnmKcpcyEOmrn2ggS5
FyptiHJGhAh1/yqnMUrwOFzH7uouxnmKkR/zwxgfGTv4nxc//Cg4ks0+Xl6QY/gX2cmyN5Pv
P3z6fPn9P7JTWi/HQkQbTIGPdn34/vuri8+T7y4/X72kH8rHvsDTZ7HrrJaOtUxNfA4tKU6q
IaA7Q39vYi91ydG25RxjAy/Bh9u4RMDDb40axUYtYtPmsB1biNUB0WI3C8Rq0h5MKhrsFzgz
fWvq+qxEMl5hDcVgN4jSW3MaOrf4FCHqu10H21U3XmIsXiu38HlCexXjWWMBuR1foxd8QASf
vMEa4M2XqFSO+Rtqmtkqhvm30HeQyG+RuWKOLwrwGU6FgrGioH42QN39wbs3YpMgZ27MGyte
mtk6BoF8+VPs+nGYvyzDGzS08tzy0GWD3ULDfYJxd3/QzMozPxRykARTh0+JGnFkl4cY16gn
6UFqIwPtTlfzYv0AffMDKpgE3N4VEduGyCDdjEdXprD/WxsOirI3Is4JQX2eFpPioTIHXTbs
uGgsHOvgO+y0ZNwskBXNWK72Z5R9BEEvRwy8enXFVD8D/o+PF28l4Mf3b+XP0wX2j2L4joch
cvag5+TUX7lfjFp3Svw97E/59seLK9RVvbq6MJi8cKfH/yh9L+maA+uBiUlfff78afh3/JsD
b+uSidL9/PptNq6I3ZQoJgKCbpoRZt9a1LMZHuQlt0ubq0KAKL2ENQZE+7EL24TFYehq5TmA
AypuyNgrgavY59hCw5tsXzIrWJRB0RQwWqXUwzPFEPPfI8/5FjVPz3ZFpY+njlzDzSyxU1+Q
8jJJDHwWvawKAq6SKXYtMlAf4cU5UPYUxkVGttbDLmWcktK2Pl/h6aU1x6feKddadgblHUDf
Xrw3eEuYTRtNuqedDFCBCroMhdSKQ7e93CItseyaPwSJYwSEy2SQuhuPx+QOQTIGbx3agQN9
hIY2i8EiDXwejH1GzwrQ//zh4/C3ICLDA2uJ09mkojSIT9+igBK1Z965sqPBSYlg02XokeUz
yQBXBKIW67E5NcvtIcmD+Fxi5+vhb3PLBMuyo2z3UFtYIFSg9n7qv9NsUf0DNIxaWD6TL9+O
FgfcnoJB1uibWsLO5+PZFrphvCKjddp44jAYoqFL6k3DELuSFOWwSTma2uLD23rJbULbdjKk
o9bsj0nHtwOMbK/SDNud0JZN1GAkyYaARGYRR+iMWYbxHe7tsLmGuImSgEnKNJQkZSqxdVOX
CiW5QlM7VSJ41QeiKNPAFG0rIV3zQezPpAIoGycgsU/ZUWlarT2yg/j/SFn7wYhRwB2VYBc1
PlPLm4wO2s2a86TnvCqRjR6S4apJhqtlX1VLQiM71XvvB6Gz8iU62ggZaJigAbV8GAb1KMOy
60J5c16TFI26GHKIhNJwTtwFAZ1EKClwDo5LTjlVpRK7c8Tw+BbCIVFEVmovxJrWHLiiNGQK
K9WejhKE9yEa71nItElw1IOkMZcXTdsL3Dhbi2IPRkgHvdBskX2ly6QsxPFw7JqDODCYPtPg
DLHBGXeDs+MG1zcYfFeSZYGXFdj3mR9yx6Z+m/Lc/O3XhKsVfjV9d8O55hMg3YmT4WSNhxM2
WZ9hAOI74aoI3Om4eefZ0nHjTrNlxo0C6/kTePABH7Jywbzf5dQef2SxOI3qzUVoFIfz2E0A
6hiZG/6kB48whQKUiBVuxe6GZXbFKUJ6mpovPqncELU3CQYc1xz+BgHXjifDgOOZQ/Ak5xA4
tDkED20OgUObQ/DQ5hA8tEmhSItmdrhaKj4ybX+FfQEU2GRpRckiVH6M1UvGuZI6YRjWYXsK
YvyKpEzaRCCMsuwYhxd9JYzyHOsQaAPDqX9N1sIlRLJw3cgJAUH612s39ma3kMptc5iVgliN
RZNATqeni5vTY/6YFsnBcdkDDfw5H/Q2/G3lrlwBBpwRxGBsLwQQHbkIQGcVREDZpNNfSzKf
i2SIdHSUZOV7MZSs8lTWDA0a1tR0kkcGBZwNzpOjJ1fRM2dpxLSFzPnjMzlSOg6WI2ByfLZj
GnvOHMoo4FWEAXPDkzjhOljshi4Oj+y5GaN2jwY4DJSsL4v9AVsw4bxsYHloyMDbMf4sNfOx
K34tnl7mz13nX3rh4uh4zJ2aFk5k55QbLzwaHR1OctehChInvFkqiW7wUJRvv4pD3/kX0pEu
8GwedNC64I98MqtggHD8SzybXbKYPxNXwvnTb6yKC8e6FMe82S+Ew4gsygUS4yXFn4ouGoij
PlOe0winwe571JxNbkKOmQnk9efQC7YGE5UiWlHtwfWclD9WKB9nz+mEg3bkQLki78h3k0Dg
KJqgJdxwoYFz8KzobRtkMwabeFPUzJzUV3ySNefo2RZwDsBvnHTinR4dHrqgzmCbozJFFtcF
cSi8ISWUCqycdI42RwBnb+UAAKSupp1w45M7RAUoi4yP8/NdiSpiABQMQDr1L5/dLeo1gusr
nhvO4fK5YZ51ppewys+fxi1k7+DZOb9ywffi+BXPJyIXdcJAyJQq7uHULTTU4A4nhgtr6fic
gkQz9AWbspcGfFAID83joPaIcxAKzKJUghNiK5SI1ZLrx0vEjNVROBYDmzHP+ztHaeDq4IGD
EsJbvkHfNbYDV2BueagYTUJH6hnjCoQGqAgYsfLyEz48kLqT8DA+uEQxErhNeLuMKMvAE+zH
JprvmF94tWIwCzSR5a0Ag0y9+QJqcUioim6BNBLLcSCrt55biqErxvCKUmCCGyt2hWPmJVJl
QoTj/1mVIst30xQ0OWJcgLID5+ICsCyNwSE69ufwzYUDlRdBTZXqnUezJB/fn0PdH09gkkVk
uWS/htPEFBZWFClsrDSFxASRkWhw9bTZMogNjUAEUjtMoXZGqOxwBulWhnM8ZUnsUOjRBOyW
VUb84wrnhaxZ5atH13s4o7gMU37u7a7dZTohYM+VlinJ4i/bU+KZ51CKmkOg3kwGRRPP5mbA
JVyY+BQIutIuYcQ5L4Wiwaeca+Bx47zse4hSmrNTMBoxKMqHMYoCYlSymsrcwgiYjytHrhFe
0Zah6QwAWjFKWFj62YDhGTAUGT9pGXIDhmXYCEEcNnJ4BgxacvMjxYIrtPoLrkT/xqnJQlw2
QfnzMQ+YUEVz60CMZ3QgxjISADgFzmGGbqYzHhac+9MC9sLgaFhPDTP0HUKXtVGWzortxYQG
nYcJ7GglRYLIcYoQQDl67kyTlJsScugp3qCSg2XkaC8Uhv0cFo4ixGOhUEIiRXUZ1FGHBAo6
mxR6ep4QT+gmFSkJlpV6r6mIr9eBWcXbwA1CbmOPw+INC1TxCnRF1BWWygnxehNxE6zKCw3f
xOVijkYYWnO4NLaWiW+lblWJkZKK43M4ESWBPcf/q9D5BTwqmlm0GuJncZOPIwqjCR3+qgiq
saienpLT+JSSUv02FZF4ChWVIxQV+qSOn5STyLGPilIrAyDlFIkaZUWeMmEvrMKq4icV1Q2q
DEx1wKSy0sqoSUXdAhLLRIElCybTF3LMrrIc09XcVpso1uFLUcSJMB3kv2dCxTHxeYp+hLhB
3CapG5gY0aafCXs+W3Avwdnk3WvRrRbdad6NNhb/Bi5K4zXmT/tVRcRJ5Ig4qug4OShJHdzi
WBCdInKg3za+FFPnHrF06EIUjolM3vLlthxQhNrJAXSBKn/Ll6Xy96xzx69lrB0jchHjwjma
NiVHlpNEozOUA48I/NPDEwILIvvs5PgYDZDIG+s8Z3COckZydH5ofvEin+SHahjFqEBWxnc/
nFH+WL6N7zyyfS9CBroIxtKij2VbYXoKfStDpuxKxZ9mwJ4d6EhbYXYkwanC7GT9xf1i7bQe
A0eMwJGV9nmp+DToiNjbtdKf0DN3zacs9dXtRzlR8nXn5226FNIkbxwIHQVFA2nt3BDN5nmH
r0ylNWj02tTs3OqDzofTYrVwVyqQsHDvaM6R/IG5f7RAFWQP6W0q6ijeHfqQWFBANq1f/IeP
abdb5qLAD5EDXO6WDGxuKzprU7FO+q2bVJLL8wM0EfAfeGXuxoeaOaGnISEsfzhNHNytm8Qj
0Fwgu+k4Lo7jstucBwvDNGlUl5eUzd9OyN8J8XNfDJbuTR4rAR+tIEvq0S0VyYS+eo5vTCYs
ZMG/T4gLvAAc2DXpTkgHhkosZ1CixJxyBJhl+ZmNjwiYMyPD4qA1qNSDNIjw/2/QBMFehMaz
q+8u3+Or5X5+VjTSn589M779tuY7/rNtv3p3+d3F3y9e558xo8BtP2cyRbRbfXX151efLtg6
4inCVl9+/HT511efLyZ8Ze9aajQ4+P7y0w9/40tRpIIm9NsmM3n9ASX1dpIlk8U33Ppr5ibB
n6WrBLdO5d2H13/J00DDIHzY6Xrrjz/9+J79Nl4t71SDj6/eXr5/y+WesRH3ANYcmcrqtPDN
lv/NsIMIB2qEiQBwFm8uWKsbFPgVCTBX3QxpJDyxSKVl4iFQQdS0cvYlLckZB14wXeNZMvz5
9z/9x8tf/vjzH17+/PsB+jP87yTajmv8PDJ+Hg/nz4AKGCKXxxiqNDtQPbkvBWAV02F6NbvH
BbPpvnOK+1TaGWCzaZShhRIjDZWWWP76f1x9eL/d15m5VhTACyLfLcKdVBXC5vmo7DNgOM/U
O3/MclhJJKp0de9VgdyisNslU1vsgnKrsqNpiwK+DXsrPq5nr31PJb6f7j5IZas0VZBYlagB
UhWbagUIKUutqlV9pBTYNvokaEKV9gCkSiZQFenwqonfyooJLk4Wke6LG4em7y7n6YKJdsdU
JqHk1dXLEluGS99DOAsx6XJAIi6+RnPnLB7Wg9ZT5NmOT0LLNZxouUbTfGH9TnGgrWTzh0ZT
z/zQcCjSbHHNH5Bf+aJaR1v/xA4c3LdoK6CtgLYC97ACZQNiX3pgFTI3XW0WtFnQZuFeZiFr
Qdxb1w1Dsom0TdA2QduE+9gE0njyh05bAlLfFQ6QMbnV9mA/9iDTK14U/GtfdExPTx+NjvkD
4bUnOqY17JFoGKdfvdAufBBVm7DHoWC5LIT3vqiZVrLHomS8ivVCwdY4XILWr/3rFxEE+9IH
7SKHcLV27V+7iCDYl05r18x3N1YcW3qZoheLdl0q66aRcz47K+7Uv06taJwH1W8r+W6v5j5h
de5SWXXT61/Ty0YpTIfOPHd6jEIqrccnfTA8XSqrNpK9NZKZRcn+dt84TmxkWFLtjtYLu9Ol
smob2W8bWRgW/rUHFtMJtLXsgwXqUlm1tey5tcRGpXzsgZXUu049MT1dKqs2kz03k8wWar6D
ms3EvzYul8ZstbRxMzf+7//5fzOi2Aus+Da/2WCC45T/3//z/31dfDYaHx19ff41vZn3a8O2
EtdYW/7KxWkcj8+Pz09fjM9P0Df4vgwccdNdrgJ6uyyNIFDkReOxk/PrmPynzGa9TG681F78
cmDbo68NbIxvrBjfHp8YUxcb65QMjR3DSmgpkjJy1h//+Efjp2zN4RfjgpjAEY/+m+WRmAY4
IuhqicMgJAuUGL5gZYB+2opVRgrFhBQjJU1WUxwbMgsAZhKavNjjdsOajfgyFHHghOxH7WSf
5Z1XnGDKnA/+Rf/oH/2jf/SP/tE/+kf/6B/9o3929fP/A8Hj0kAAqBYA
--------------020302010604050209050608
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------020302010604050209050608--


From xen-devel-bounces@lists.xen.org Tue May 22 17:24:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:24:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsoF-0004lv-U2; Tue, 22 May 2012 17:23:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SWsoD-0004ln-Or
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:23:46 +0000
Received: from [85.158.138.51:46632] by server-11.bemta-3.messagelabs.com id
	EE/F8-18894-0ABCBBF4; Tue, 22 May 2012 17:23:44 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337707421!20498367!1
X-Originating-IP: [209.85.213.45]
X-SpamReason: No, hits=1.5 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	MAILTO_TO_SPAM_ADDR,ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21966 invoked from network); 22 May 2012 17:23:42 -0000
Received: from mail-yw0-f45.google.com (HELO mail-yw0-f45.google.com)
	(209.85.213.45)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:23:42 -0000
Received: by yhoo21 with SMTP id o21so6915286yho.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 10:23:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:cc:subject
	:references:in-reply-to:content-type;
	bh=lR2/oYv0LBMyOUTNoChSZvw8MsVuYd75ws/beUM2FMg=;
	b=COInXJ4I9I9mweiQARg8cxIRziKlOSqf9RmJW5HJxAfA8jmuzKQHHlzHMCy4k3cdqb
	tkrPpd3fNXyeBmuYrNH0tD48+FivsDYFkW7jVpZNH4GhrD1x9ZPIUFUgY1LrPNufecYj
	ks4BQK2WYHUceHtXmSzWCBq4U2AVyh0VWVKeD+IHc4Z531LxjFoxaXZgP5y+Fb4ya+4a
	NdOsBIaR3f0s0OYrRheYuzgBkaB7+fIVgv05Ye6bb0P78i3gAPN3KqEQ/uwOd3zn+YZL
	lFln/8DV1jGbh9cS20z+njEL87eSPtc8OgnnBfykHop7Ym4K8p0fG2AjbKo6ooGwKRma
	Q5dg==
Received: by 10.236.75.164 with SMTP id z24mr27801153yhd.69.1337707420468;
	Tue, 22 May 2012 10:23:40 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id m43sm89773170yhi.13.2012.05.22.10.23.35
	(version=TLSv1/SSLv3 cipher=OTHER);
	Tue, 22 May 2012 10:23:36 -0700 (PDT)
Message-ID: <4FBBCB89.6050609@gmail.com>
Date: Tue, 22 May 2012 13:23:21 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB91D44.8010808@gmail.com> <4FB91F2A.4080304@gmail.com>
	<1337602827.24660.110.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337602827.24660.110.camel@zakaz.uk.xensource.com>
Content-Type: multipart/mixed; boundary="------------020302010604050209050608"
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl.c ERROR during compiling Xen 4.2-Unstable
 revision 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--------------020302010604050209050608
Content-Type: multipart/alternative;
 boundary="------------050401020206040205050608"


--------------050401020206040205050608
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hey Ian thanks for the reply back. Well i have done some more compiling 
and messing with and
this is what i found so far:

This time i did as you said, i piped the compile output to a file using 
the *tee* command.

  ---------------------------- ---------------------------- 
---------------------------- ----------------------------
A.) I cloned a fresh copy of *xen-unstable.hg rev-25376* (5/22/2012) and 
ran:

./configure
sudo make -j5 xen    --> This compiled fine and didn't see any errors
sudo make -j5 tools --> THIS is where all of the errors happen and fail 
to compile

  ---------------------------- ---------------------------- 
---------------------------- ----------------------------
B.) This time i installed the SDL devel package as you suggested and 
cloned another fresh copy of
*xen-unstable.hg rev-25376*

sudo apt-get install libsdl1.2-dev
./configure
sudo make -j5 xen    --> Again, this compiled fine and saw no errors
sudo make -j5 tools --> This time i do not get that error about the 
libSDL BUT i still get other errors
                                             and stops compiling
  ---------------------------- ---------------------------- 
---------------------------- ----------------------------
I have saved the above compile trials to 4 files as the following:

Compiled BEFORE installing libsdl1.2-dev
A - make_xen.log
A - make_tools.log

Compiled AFTER installing libsdl1.2-dev
B - make_xen.log
B - make_tools.log

ALSO, since i didn't want to attach so many large files in a text 
format, i put all 4 files in a TAR.GZ file
and attached that instead.
--------------------------- ---------------------------- 
---------------------------- ----------------------------

So, hopefully this will be helpful to you or to some else in determining 
why, in this case,
*Xen 4.2-unstable REV-25376* is not wanting to compile anymore  .... :)






> On Sun, 2012-05-20 at 17:43 +0100, cyberhawk001@gmail.com wrote:
>>   I have had Xen 4.2-Unstable compiled a week or so ago and it all went
>> fine and running, but i forget what revision i compiled now.
>>
>> When i ran the xl create /etc/xen/win7.cfg to create a VM, i got an
>> error about libxl and running "sudo xl list" shows the newly created
>> VM, SO i just ignored that error for now. That error message was:
>>
>> libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu weight
>> out of range, valid values are within range from 1 to 65535
> This is a harmless warning and is on our list to fix for 4.2
>
>> ---------------------------------- ----------------------------------
>> ----------------------------------
>>
>> SO, I noticed on the xen-unstable.hg tree that there have been a lot
>> of updates to the libxl lately SO just out of curiosity, i wanted to
>> get the latest revision 25374 of xen-unstable as of today 5/20/2012,
>> and compile it. BUT, i cannot compile Xen anymore as the compile stops
>> with warnings and error messages.
>>
>> Upon scrolling up in the terminal window, i noticed these warning or
>> error messages:
> Thanks, it can be useful for us to see the full context, in which case
> using something like tee(1) to collect the full log and attaching it can
> be useful.
>
>> node-select.c:57:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
>> node-select.c: In function â€˜vchan_wrâ€™:
>> node-select.c:60:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
>> node-select.c: At top level:
>> node-select.c:71:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
>> node-select.c: In function â€˜stdout_wrâ€™:
>> node-select.c:74:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> These are genuine warnings but aren't causing build failures (I presume
> no -Werror in that subdir).
>
>> The error log from compiling the libSDL test is:
>> /tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or directory
> This means you are missing the SDL development package. I'm not sure if
> this is optional or mandatory, nor whether this message is fatal without
> more context from the build logs.
>
>> ../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5: warning: â€˜valâ€™ may be used uninitialized in this function [-Wuninitialized]
>>
>>
>> I also get like a dozen warnings about this:
>> ../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is
>> deprecated use xenstore.h instead [-Wcpp]
> These are currently to be expected and are harmless.
>
>> AND finally the compilations stops with these messages:
>> libxl.c: In function â€˜libxl_primary_console_execâ€™:
>> libxl.c:1233:9: error: case value â€˜4294967295â€™ not in enumerated type
>> â€˜libxl_domain_typeâ€™ [-Werror=switch]
> This one is known and a fix is in progress. It's most likely this one
> which is causing the actual build error.
>
> This slipped through our testing net due to various compiler versions
> being cleverer/stupider than others and so trigger more or less
> warnings, this one happens only with a more modern gcc than what our
> test system uses.
>
> Ian.
>
>
>


--------------050401020206040205050608
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hey Ian thanks for the reply back. Well i have done some more
    compiling and messing with and <br>
    this is what i found so far:<br>
    <br>
    This time i did as you said, i piped the compile output to a file
    using the <b>tee</b> command.<br>
    <br>
    Â ---------------------------- ----------------------------
    ---------------------------- ----------------------------<br>
    A.) I cloned a fresh copy of <b>xen-unstable.hg rev-25376</b>
    (5/22/2012) and ran:<br>
    <br>
    ./configure<br>
    sudo make -j5 xen Â Â  --&gt; This compiled fine and didn't see any
    errors<br>
    sudo make -j5 tools --&gt; THIS is where all of the errors happen
    and fail to compile<br>
    <br>
    Â ---------------------------- ----------------------------
    ---------------------------- ---------------------------- <br>
    B.) This time i installed the SDL devel package as you suggested and
    cloned another fresh copy of<br>
    Â Â Â Â Â  <b>xen-unstable.hg rev-25376</b><br>
    <br>
    sudo apt-get install libsdl1.2-dev<br>
    ./configure<br>
    sudo make -j5 xen Â Â  --&gt; Again, this compiled fine and saw no
    errors<br>
    sudo make -j5 tools --&gt; This time i do not get that error about
    the libSDL BUT i still get other errors <br>
    Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  and stops compiling<br>
    Â ---------------------------- ----------------------------
    ---------------------------- ---------------------------- <br>
    I have saved the above compile trials to 4 files as the following:<br>
    <br>
    Compiled BEFORE installing libsdl1.2-dev<br>
    A - make_xen.log<br>
    A - make_tools.log<br>
    <br>
    Compiled AFTER installing libsdl1.2-dev<br>
    B - make_xen.log<br>
    B - make_tools.log<br>
    <br>
    ALSO, since i didn't want to attach so many large files in a text
    format, i put all 4 files in a TAR.GZ file <br>
    and attached that instead.<br>
    --------------------------- ----------------------------
    ---------------------------- ---------------------------- <br>
    <br>
    So, hopefully this will be helpful to you or to some else in
    determining why, in this case, <br>
    <b>Xen 4.2-unstable REV-25376</b> is not wanting to compile anymoreÂ 
    .... :)<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <blockquote
      cite="mid:1337602827.24660.110.camel@zakaz.uk.xensource.com"
      type="cite">
      <pre wrap="">On Sun, 2012-05-20 at 17:43 +0100, <a class="moz-txt-link-abbreviated" href="mailto:cyberhawk001@gmail.com">cyberhawk001@gmail.com</a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">
 I have had Xen 4.2-Unstable compiled a week or so ago and it all went
fine and running, but i forget what revision i compiled now.

When i ran the xl create /etc/xen/win7.cfg to create a VM, i got an
error about libxl and running "sudo xl list" shows the newly created
VM, SO i just ignored that error for now. That error message was:

libxl: error: libxl.c:3117:libxl_sched_credit_domain_set: Cpu weight
out of range, valid values are within range from 1 to 65535
</pre>
      </blockquote>
      <pre wrap="">
This is a harmless warning and is on our list to fix for 4.2

</pre>
      <blockquote type="cite">
        <pre wrap="">---------------------------------- ----------------------------------
----------------------------------

SO, I noticed on the xen-unstable.hg tree that there have been a lot
of updates to the libxl lately SO just out of curiosity, i wanted to
get the latest revision 25374 of xen-unstable as of today 5/20/2012,
and compile it. BUT, i cannot compile Xen anymore as the compile stops
with warnings and error messages. 

Upon scrolling up in the terminal window, i noticed these warning or
error messages:
</pre>
      </blockquote>
      <pre wrap="">
Thanks, it can be useful for us to see the full context, in which case
using something like tee(1) to collect the full log and attaching it can
be useful.

</pre>
      <blockquote type="cite">
        <pre wrap="">node-select.c:57:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
node-select.c: In function â€˜vchan_wrâ€™:
node-select.c:60:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
node-select.c: At top level:
node-select.c:71:6: warning: function declaration isnâ€™t a prototype [-Wstrict-prototypes]
node-select.c: In function â€˜stdout_wrâ€™:
node-select.c:74:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
</pre>
      </blockquote>
      <pre wrap="">
These are genuine warnings but aren't causing build failures (I presume
no -Werror in that subdir).

</pre>
      <blockquote type="cite">
        <pre wrap="">The error log from compiling the libSDL test is: 
/tmp/qemu-conf--3330-.c:1:17: fatal error: SDL.h: No such file or directory
</pre>
      </blockquote>
      <pre wrap="">
This means you are missing the SDL development package. I'm not sure if
this is optional or mandatory, nor whether this message is fatal without
more context from the build logs.

</pre>
      <blockquote type="cite">
        <pre wrap="">../xen-unstable.hg/tools/qemu-xen-traditional-dir/hw/eepro100.c:1232:5: warning: â€˜valâ€™ may be used uninitialized in this function [-Wuninitialized]


I also get like a dozen warnings about this:
../tools/xenstore/compat/xs.h:1:2: warning: #warning xs.h is
deprecated use xenstore.h instead [-Wcpp]
</pre>
      </blockquote>
      <pre wrap="">
These are currently to be expected and are harmless.

</pre>
      <blockquote type="cite">
        <pre wrap="">AND finally the compilations stops with these messages:
libxl.c: In function â€˜libxl_primary_console_execâ€™:
libxl.c:1233:9: error: case value â€˜4294967295â€™ not in enumerated type
â€˜libxl_domain_typeâ€™ [-Werror=switch]
</pre>
      </blockquote>
      <pre wrap="">
This one is known and a fix is in progress. It's most likely this one
which is causing the actual build error.

This slipped through our testing net due to various compiler versions
being cleverer/stupider than others and so trigger more or less
warnings, this one happens only with a more modern gcc than what our
test system uses.

Ian.



</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------050401020206040205050608--

--------------020302010604050209050608
Content-Type: application/x-gzip;
 name="Xen4.2_rev25376_compile_log.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="Xen4.2_rev25376_compile_log.tar.gz"

H4sIABbKu08AA+z9e2PbRpI3Cs+/0afAev2MkmxISpQsy/E653FsJaOzjp3XcnY2J85yQAAk
EeEWAKQoj+e7v31HN7oBUBJBiFR5JiK6uvpev+p79fdWzwrtS2+09KJ+EE//0sK/A/Tv5PgY
/x4+fXIg/x4cDp8eDw+P/3KIKCfo88lTREfE4fFfrIM2MlP+N89yO7Wsvyyvx15aw9fkv6X/
cNtbvVcWan7Lj1BdBMEepv12+Pu31lmUe6kfTS3XTz0nj9Nr6x+DWRx6A1Ibg9dedpnHyeC/
zt6/PXsz+v6X8zevB//jRQMUW2+OYxsHXn82xe79PZrUxHo/D7ysH15aIyXBYUsJvrLyOA4y
msjRmhMZkLj3936zeq418aeBl1u/W3/9q8XTpjSa+HEriQ9oEvt7U8exejHPBf3pO0XSbzx7
0U7KpLDZdTgW9dxOUVkZ/45kBv310jRO0W+Wp76T95I0zuP8OvEyq/duiAQtDv28N0nt0Osl
sY8zg4hR3GP8duDbGc5e7++u5wR2aud+HPXsCWJEPHbuhV6U4xplJeO/rdbpfiGnLcWNIXjr
eAR2/cgJ5q5HiE4cJj7maQdjRiC3JWArAflJu0AWafyDUSw/s+YJKr7lIrHsFwybhHQ7hZZL
y5LbYHH3W0WyNRpZ5L/i34j8H1NVuswgfzDnnvXR+jiwBjjUiEb52fqM/o9+Me0j5+XeiIh8
yTf5GGF+TEVRYe7BwMKh9klQGhUJPvoKM3+26P+wN2Ic4ZDo9x+MhLxIcBTVgMSGfVkYkjcU
AAcb0KhEdB9JTlFaX1ISTgwXAXHuobINPo4+4nyzMLiMo89fjr7CdUXcyPcb7o1IiH/ESH2S
2GcSfM9Yr7f614ouJjrGEwrUzkKkaFClBJHVyyYWcveWpyey/xrVNlJkLOKWxkMsdgSsSxSd
1Uss3DvYueaepl5i9RbW/uuzH87fno3+5+zt6Mdfzi4+jP728u3rN2dfBnE0/WrfSubjwHcG
Durzx7Zz2Z9hQdr7IrnOZ3F0+xqh2o7mpTee+4Hby+J56nj95Nr6jtKLRJ1+5F3dtQhegEYf
SJ9tsgQ8TVqAm2Z4gQZAI2dmR5EXbDbbSsrm2r9ja0w8O5+nCBWbLJdI9FbtMU1tVCss1Q3m
Wk6XtcUCqyMjSnTqXVvq0lt6zkYLTFM0FFWBk0ZUedW21qnrFujQC5Hq3mg9sSRvJcxR6G80
rzg9U4vqmqbC667tk8yuM9dbbLTQPE1DwSUZL5HuXNDAzidxGm62pDxRQ1FF0yuEuxYzc2ae
u9Ey0hQNBdQUtNHjrgXOEdw3Wl6SoKG4stop0+5cyNR2Ntu70hQNxZSau0TSuw45XFFtKkXl
UlSDRrxptS2cZL7RWiMJtjIwXHhp5sfRZkvD0rxVT4p3bjaZWZyeQVxVDaxT79ouKFkUcLMa
iKdpKK4E2xJpDQWNkzSebLqkNFFDUQusqZQSlyzDGrFcKQM7dWZ4oaPa44bVxsOROggde6PV
pyVuqEZFmDTiXYrbWVHNGng9TYh+R0fD7lqRpW9uSAkrOvWuCoBno6viVxRb8zZ67CFtb/mW
HxlW7hjFjcODUZxkBaVYGqtYetIXbYxrIqUVg2JmPCIRKiQ6WVZmo9pMTZ/RlAb/6tC4NIZU
x0ba8ELr1wpCj9asQlMcvINglNkiHHinwwOVgv4b+dEkLlcP94sTlebHqfenSkrs1A6l6vbj
wTi49CcKxYmjLJYTQLTJuMQ0yUqEy7FbogT+GBVtgVtdoUdeXuJMHL9Mwbu/Dt6dlal4WVsh
5ElYCjjPyjldZE5Wjh7lazxX415moys/RaV+brmxRTam7SjzrR5bArey3PWJzPEN62LP+gJv
Kw+QjA2iOfZaOtZjH28CeEs/tw6fW54zixEJRx151nczz3aR3PSd2WU1LtW+p9qXbqKfWb13
h3RD3LRRHp4cW71pxYY5KtmLaTR/9kwUzbAHX7+r/ncU7zyaZ56L1FHey7y8t7BTHwsqTRQr
qRxpEeLAAEHqr/f31HPnkYsg38Oxo1T8Kz+fJak38Zd8Z0M6GoCCshL1UOQ5aorETxDD+V33
N9YQxYDt9AxCG7XQ1Is8VIVrj9f1JvY8QBUeZvEEtXIQ2zlvVaSUSYuRTR9K9JaOl+AWww0Y
eVmO2sdbovrDhBAxoAbofcIySVxZhlsrwfnGoe3sOnJmaRzF8wxl78qP3B7JIgr8+sdXr1B3
dzH67/OL8+/P35x/+HX08sOH9+ff//LhjMkhSjn0P3m9zEcgi6Y93HWgoFFMoOQQgXw9It3n
CH3999n7799doMCvcbwvX/18zj5/fnlx8eFv79/98uPfqiX89at3b384/3H0w/uXP52Nfn53
/vbD2fv6jNxbwHCpNPUgvfBoiNVNeV3eN6zUg2YAzQCa4YFqBj4I98sE0AugF0AvPFy9oMzF
fTMZdAToCNARD1ZHiIU5X6M4NasVdauJCkN1HNWBQSeBTgKd9HB1krw14JuIoB9AP4B+eLD6
ge4S+qoTdALoBNAJD1YnsHMBfskNWgG0AmiFB6sV8OkgX3aAPgB9APrgweoDfkDQLxNAL4Be
AL3wcPUCPyfsaxTQDKAZQDM8WM1A7wv4qhN0AugE0AkPVieQS0O+4gKNABoBNMLD1Qjk4qCv
OkEngE4AnfBgdQK5PewrLtAIoBFAIzxcjcAsCPhlAugF0AugFx6sXlgyQyJ+mQB6AfQC6IWH
rBeouSBfo4BmAM0AmuHBagbNNpRf6QOaAjQFaArQFIjJrCVAQ4CGAA0BGkI222AeTgibDqAv
QF+Avnjg+sKoJ6h+QHFbPe+55bsvRo+/JCZxyyYrsXnsPLX2f/s2iK+89Nvfe4P+PnbOkwQ7
R6PR/lfPsQVtEvzRv/uTCImi9dh3H+nPvM2wKRmZG7H6SMYodzM7L/5/Yhjwgn93s6Ca1ezV
wiepPQ1tK0GeXx5/VR9EmCP/33+3fjvoPft932ActC2z49SUMTY7/tmaR/6fNy1cQ9lYCC9y
/Yk1+Bo3nfX1oDJMjYzJz/XdWcREZCtJWCV3o4A1hyxbXF8pdKV06SGqhauwL7l52VqpZPUF
a5QsJUidYGnPKt5dvNQoVxOy+jDNorZieLNF/xvEVC18FeFqRLBkyrADQVy9rKsUtVko9YDa
YxbaOxa1fa/ycOadJbeIbSWhrWZvlNcVgmqvTKwWvlJADUGqZVMyobd5sVytcA1laxRGNYz5
ac2Z6WnNWcWLowpzQa174lGNX/Wqkfry26t3FnwlwpVkvzZEo/ivFtr0qsrKsVTiwByqGgqq
5bbNo2HlUjYXshETWrAaISxewr2z+LGoVhK8Ct5GkWsKp77Ws0LISgEr81eLFjf6tXmhWqFM
dUVqFCQpQI0ISa8E31mGeFwrCVEVc6MUNQYsPem0SthKQdICVEuSMBW1eVFapVi1pWoUJjlE
xbPWSkdaUGtkjz/5fGfBIxGtJHVGzkaRqw8lPxnWGKpS0lTuajGjtoc2L2ONpakuTKN0CXbT
k9SKXDFSjVDJz2rfWbBEZCsJVyV3o4A1hyw/RbdS6Eph00NUC1xh3GbzQrdSyeoL1ih8ShDj
w9KKBHKa/qS4wkYIdWIqP4p+dzkVsa0mqJXszZLaHFR7JHG18NXCqgepkdbC5EoH4rpS4RrK
1iywSpgaGStepL+zgLGoVpKuCt5G0WoKpz61uULISokq81eLE7fTsXlZWqFMdUVqlCIpgKrK
tAmo0aNG7Njjp2uQOhrTSkJnZm2UuYZgynOuzeEqBa7EXi1vzAbE5sWtuUA15WkUtoJflTVJ
CEukOvliz+muQ8BoVKtJmJm3WcQawqmPBK8QslrKSvw1YsYMC3QgZ81lqitSs6QVAVRRU4Z5
GrFG3NhzzWuQNhrTSsJmZm2UtYZgygPUzeEqBa3EXi1n7LL65sWsuUA15WkUsoK/JGPKyEyn
1kmZeAZ8HYLGI1tN1qq4m8WtMWT5kfOVQlfLnRaiRvTEregOpG+VktUXrFkG5SCqGBa9rUop
cRWaskSCg5hwEBMOYj7Ug5jKjY6mwx9LdqV8Ld2WiGylbquSu7Hbag5ZVBNlXCl0Zbelh6ju
tpbi0v7mu62VSlZfsMZuSwlSL1j0SvK6JIvFtqpoVbCvIltNQQvhYpyrha8Tr3KQWvnil787
EbAVCtdQtlVETAqjDnqKkbtKqZFE7errWiRSj3UlyWwO1iihNVGsIm01waulznCxePPS11x3
VVLYHLJaGs1hS1Ipj+U14oqyuX65vIVM3lEe7yCLN5bDzmXwdvJ3W9kzyZ3SGWtEjVfSqjp1
VQ3KbvOsX4nyiG+uR6tC3kyVarHcWJtqMayoUMWtqY51alU9rqRWqwKvqFnl4CuI4tpF8Oai
dzeRu72o3VTEuhatW4nULUWpEKHq9+UV/af61M9n1jaVWX0Wc7sJzEpzlxVC1c1YVp2sdDVP
udEU5YazkyYRK4aJ1b41oWU5rmUwx1EZ1hBGwwOFgbdM4jS3fv71w9/evX1Bm67U1L99Yf3+
9b/vW8sACWCQ5bSVr2Z+4FkpahjrambnVmSHnjVz0+eWG2P/LwZjPxpks7vKwdTLexPfC9ys
jyJ79Bgn9oiVYfSYpKrC9zHKBMpi5rnWfvbN/8VV8n+/oXXyzXT/K+vzZ8tb+rn1+P8h5XTx
AqhocVxE0eRU6rK+M7skFSe5S3UrgqmUvTRUVufKJ9nlJX/zRepaKwylc27CzZ6oUQ1PG9cM
tdfwSmbspYtNjCJu6ogIyxfztNUx84Ceh2bXhMwlVQxbacZz9Te72EPgSsUKl/IUaHGjtVQV
arWVDfprFVNRDYKs3ocp1Y2x0DVV4ZSrQmNVruQXL5hpB98VSVHfR9Va2mB70LBEZShvrfT6
e6F96f129Pu31hvPXuCldddPyfbFtfWPu26c7JPYMURvHdP7eYDaN7y0eq8sXIAByriF92Pi
yQQNHpA6KkpwhvcN1lUEntg+3dy7txsVsLMHO3vNO3u8Ke5cYXQUHE38Kd4Ia2fD8KefXqM/
P1h9Bed91+pd4G03hWphRXZyPJCJTjtKrdAI69NqZTmUizFrR7Ptt1I7ban6W8eG/mu9Z1hr
ke+cn8E4jnOL9AUjP+rH9y17qN+5f7ljveW9y5eb+nh4ef8ytszCcqZ+O143xGir3POhl7UV
gy8YfcHo63ajr7Gfh3bSj/HAy7GYy8EjMO7TEvqVDm1/7/3Zm3evXhwsnzoHBwcW14JkSRLN
YJE6S70gdvoXLeWGaeI19/bOzE7b16NIWYMSBSUKSrQzJYoQOHLi1ONqVLiJIi1821alCDKg
CUATgCboTBNk+XxMtcAkm8Vp3rsiYwCkE4gP0QeUZy9wLQyH0AsmI7q+hVwpGXmJEQPnFXqj
jaUuqjbux8RTLAlJo6aVKsqkZNdZWWSQdT/qyEmvk1wuPKh8UPmg8rtS+VjrjBI7vUQF5ANA
hebQa0QyF9VRT1qeUzerBXzFKcShXvgnSOl2ur/ZLL5MCyjaREYBrnm6TECqnH6S/oN2Hv4R
LuNbq/chRxCw+GKDYA2iSxEoHv/hxMk1qj9r7Ec2apYyDyLvfRm7+OBOL7eWBZWeZ+tl1j76
32fLvrq09t++t76zDq1/Jqitcyv7l/XP7MXjg3/t0wM+9ADNwBp8c7AcTPfFkRrsfjwYSIT/
JUfBvv5mYPWDGLXMYP8r6zu+NJKGxkwKWWtl8CCJGkIyAtTZT9+/+bVFON+6n4OdeejZoGe7
Qc+GD+HxHo18k515Sm2pB2PrsAM8a4KlDBjXAvo7HNdGWRx4xZCWOtlolvmtNjmXVUZrqxjS
QORnYqfjFzreg1HJvVRMoJdAL91us8WL+viKgkv2VqiD/6JJEIwZYMwA2OxqzJDMxXiB3ITB
YwVM28PrFz0PL2GgDH3EWP3Yj78Vjm/xssd/Stj+rviWroWpRMl5X5bmKZaz63AcB1nPnYfh
devbvjBPAp0HOq8znWej2uJKj3wTrUepbZ2cJTuAgHvAPeC+M9yn/h9Igr2AY1+46eaT8AWU
AkoBpR3OSJI4DqRZCXHymQn1A4gCRAGiXUE0yg5Pnjw54BDlTgJR4QcQBYgCRLuC6AI1C8cn
+SbgpFS4HQq4B9zvJu5LC9lUAahEeqWhtOANoAXQAmg7Aq0bh04uZrzMRWDKfdo5iaP02OoR
nLMfzuEgzj1VNKBnQM/cSs8gSS0O4jCHdBCn2PFHfsWOP3ewHf8iku+Kb3nHXyFKThhjwBgD
sN/ZxAA1sy3GGMxFpwLMB64E3WPgA+4B97fb9PaC2CmtByDpHSj0CzYgUKlMIzDIcRk3QO/d
EOXPlDkzhGuBOuVZCS9JZuTvvrPa7YViK19b8Vzr9Ek+1LPZWkLFjeMc1Quqh6Oh4kCVBAMt
GGiBwu3OPl+cZJJ9Puzi9vmID+AT8An47Ox8EX0sSFySJC6neDgY8An4BHx2uBnijefCLA91
0K0QSl9tBiCuOxfnkYp1jlbMq6h2ENZrlDaZT1LvT7AfBhoKNNS90FCBfV1oKOxgGorQAZwA
TgBnh2cpbNxFirMU2MXPUtjQeQI+AZ/3/KwT4BPwCfjs6oyQ8lQr3zAsvd+Kt+hUPgAtgBZA
2xVo5YeFGWTVt4YRYBWe9S5QJY72hGCLhkbpahjcMwKNAxqnu100ikLplj5x8lv61A8gChAF
iMJKGOAT8An4rOhCR3HkeqEduaW+tKDLnarEDegF9AJ6u0Kvn4rBL/4kGCU0gCXAEmDZFSwv
UV0W69bMRcDJfVpenkoceNEXVACogO5UAEIgxz/+JOAnNIAlwBJg2fV0N/QzZzSNUWcZxWlW
nvSWfJWpbznkakfBKfRbPfMNfT4oF1Au3Q77r2d25AZeWgz9BYUN/wsOwCpgFbDa2Qmz06Ew
HU2+6XkyQgVkAjIBmV0hc577gZ+Lq03cSfAp/ACiAFGAaGed51I55cmdtAvlfgBRgChAtLu5
6NJzimkodrAZKKEDOAGcAM6uwBn4Yw5N/EmASWgAS4AlwLIrWE6CeTbLA4FN4SYALXwBpYBS
QGlXKA29ME7F8hBzEYRynxWtc/ELQoZTzZW7vdIKVLsGvPj9wvVekbSzLEfiNZ/OwI4XqDNQ
Z/dAnSWBnU/iNBzNEFJSXEJxbkz3ocfIDCEAw4BhwHBnQxLUGr4M3YJAByaFPwAVgApA7Qqo
/tHpU3FhCn/TG1OECsgEZAIyO0Pm6fDJMwFN4qDYpHQAJ4ATwNkVOKM49yd+caxZuAlEC19A
KaAUUNrZSpI99UaoXLE49yFR6MqRxAFYBawCVjvDaup5YSIegOJOilLuBxAFiAJEO5uRxiMb
VZiYkzInnZVyv7bteBQbtnC3F7QBaIMOtUEYzgtdgB1MExA6gBPACeDsbP81E8Z28Cfdc83A
2A7AEmDZISxTO5p6SOI5NoWbALTwBZQCSgGlXaE0c2aeO3JQPfoCqQqNoFXlAsQCYgGx3c1F
i4kon4Wu+zUl20l8uCMAgAfA3wvAJ3Gaj7xwHiA8FOBXqEwRqJyAW8At4LYz3MLzDABLgOV9
g2XoO2nsxK43skNXLBwrRLqErPIBaAG0ANrOTkxVPqiw1nnvIndh2guQB8jfA8jLa85D09L0
UF+bHrZ+JguvjMFhLFAMoBg6Uwy0PrhGYC6iCrgP4BPwCfjsCp/RPLTFXUH8Te8JEiogE5AJ
yOwKmXEmbNTgT4JLQgNYAiwBlp0tboUYCGJ9i7roEhfzWfMql+96MaxzAfoB/fcA/bOr1JuK
6SxzEfRzH7qkdbKBa4aDRe7C6haoA1AHnakDuGoI4ARw3lNwFmdCcIBAPz1CyaXzI4wXoAvQ
Beh2u52MRH+i7iUTirSRTDkAq4BVwGpXWE29cRwXF4epi14bZj7rXRBj9Q8rYgB/gH/38Bcj
Z218XRpZt37ai6yUw4IYaAPQBp1pg8VUnCbBn0QDEBrAEmAJsOwKlpM4ykeny8Nj8V6qIBCI
Sv4AVAAqALVroJ6UgXqiAvUEgApABaB2OO0NxXw3ZBPdEDAJmARMdt55npb6zlOl6zwFlAJK
AaUdLhF5WbFGhL/pIhGhAjIBmYDMrpDphrZ4N5B8E2RS6l7gWhgAoRdMRqgJRwiHVi/FDMVO
LF3qlVeT5Amr1ANzuIsNoTeevYD9IFApoFJ2S6XQY1pIHCPn5MmRephLUKUDXQVny/cosGmQ
AW0tUBGgIkBFdKYiciTxflCYCGFOaiOE+633CBmO1M99OEUGSgCUwD1RAhPbZYdIX5+/Pf8w
ujh79eH83duL0bu3b36lioGwML1A2QG0AFoAbaeDe9StKsN67C4G9MQXUAooBZR217X6OBtB
Q+fKmFj3yoMAdAG6AN2uoKtMjKVpMZ8UAzgBnADOzvrV5cR2vIZulfKwXpUFANwCbgG3XeI2
FTeWa4CbiovMRZC9ePyHOw8TqzcTi1DWZwsBCdWStT/47aD37PfBP7NvDg6+/ubgm+nz5F/7
yP9q5iNkpZ7tWr67tCKUYSv7hAhZ/txyY+vj3hdfODZqy0ePsd8jBCVC6+eo7T+Tv/2vP/dd
O7fpX+waZ9lXhOuLHMVjPUYR/tsL68D6/NlClYmwO/eeU3/PmcXWozMMym+tDDWwFU9E9r8l
SVp+Zh0sURyPrO/+OuThlj6K90tvmaTWY5zx/7AOv3pOPb3MdsiXi4QRV4sTJ9dWD8knjg6p
FAdLsdVPY5zfF30/8nPmqOTqI0V22D9UmBmtIczQEGbYEObYEOa4IcypIcypIQzxTb2AsXNn
DWc/iBHaSvyUWBcqjctB0rie35wQpxdSzT4IW0nu+exwayWfFwBkH2RfkX0h2eLTJP9sHLe1
4s/yvxbp38AxDbFdCyc1YOQMI+cOl6OmQTy2g2JFirnZohT3hR5xh3pE3tfxL3N/SGdHW9wh
0gLAeBCkvyT9TLLFJ5P/lY7Di+Nr6mSqPLgsYUtLSwyx2jglDwdhYXgFw6v7MbwK/cypXZZk
LGy8RdkBtABaAG1XoA2TxE6zwvghc1KLENwPIAoQBYh2BdE//WhRLFowFwEo95Fns7xb3dK5
LM8+zGRhJivNZIVUs4+bzGKLhb1S6PbnpdLK/1ovgNmJ58PdL+ifoX++B/0zYku90E7EO1rc
TZ/SEr6AUkApoLSzy16zee7GV5G47MXd9LKX8AWUAkoBpV2hNAp9DlD8SbBJaABLgCXAsrMl
qLmfXoqbXMxFl6CYD+AT8An47Gxwi5rBT/8UY1vmpENb7rfmJajQlVegNnCMFi96wREP0DOg
ZzrTMwiL4qVM8k00DKUCMgGZgMzuRgBpXnT/ac77/nTt79ciGYCtJ0A9oP4+oD7xoyB2LgXy
uZuiX/gCSgGlgNKuUIonrr2xXZyyLAgEp5I/ABWACkDtFKh+rMAUOQuQYj+AKEAUINrZiBdl
b4Sbxo8Ku70yjY58FS66OP20rcXpxM6yHDXbfDobLHJ3gIQHlqlBSYCS6ExJIBSKF/rQJ32g
D9Na3qaSNYEduqAFQAuAFuhMC/hIlucjeteDncwuKPRstsSx2l0SutUlz9iliUH790noFvhq
thuINKCPaB7iRw3jDF+ASUKsHNDH7Cr1ptg79cbMQgQJMFAuzrDbKzIRZ2FQ3vhv6wlEXGjQ
oqBFQYt2rEXl6y2CIOlQuOACQAWgdrwyguczxZoIcbHVEOoD+AR8Aj67wicdh7O7LfibXm4h
VEAmIBOQ2dm2Xy6utuBPut2Xw6UWgCXAsssB7XU4jov3w7iTDmm5H0AUIAoQ7Q6imZMHBUKJ
iwGU+qy2WE0256DPBUADoDt+XMzOLgNPbJhxJ31FjPsV52na2PMxHqdZSYuQpWj064Z22hev
jAoriZIpJnFtHd9m0Xaz2trCK5VszTbh4F4OqFFQo/dDjSaOMGODP4n6JDSAJcASYNkZLL3U
SeYCmdRFwcl8AJ+AT8Bnh93myA7dERvIiw5UIvKuVOYD0AJoAbSdLRn4obiJQ77pYgGhAjIB
mYDMrg/A52n5ADyiKAfgMQdgFbAKWO1s6Du7zlxvIQa9zEmHu9wPIAoQBYh2OdBN5ZFuWgx1
of8EcAI4Ox/rOqGrDnUxQRrpEn8AKgAVgNrZkTEvn4u7hNRBD4xROoATwAng7LYXnc69rGQz
gZKknpTxAFwBrgDXzmakqe0Uey/EQWeklL5Ba0dg8wx0AegCuMQIsARYAiy1EbXr4Vqn+Hx9
/vb8w+ji7NWH83dvL0bv3r75tRhnM0ZpoM2DrnYFgiJ+Y7cYoNsH/QL6pdPlNHjWGlAKKL3n
KKVdObZmucIYgLBJIwAabC8e/+HOw8TqzUojA+uzhUCFaszaH/x20Hv2++Cf2TcHB19/c/DN
9Hnyr33kfzXzEcpSz3Yt311aEcq8lX1ChCx/brmx9XHviy8cG7Xro8fY7xGCFaH1cyQHn8nf
/tef+66d2/Qvdo2z7CvC9UWO4rEeowj/7YV1YH3+bKGKRTiee8+pv+fMYuvRGQbot1aGGtuK
J6VCfEsStvzMOliimB5Z3/11yEMvfRT7l94ySa3HOPv/YR1+9Zx6epntkC8XiSeuIidOrq0e
klgcHVIyDpZrq5/GONcv+sTWK3VUcmFLaof9Q4WZ0RrCDA1hhg1hjg1hjhvCnBrCnBrCEN/U
Cxg7d9Zw9oMY4a/ET4l1odK4HCSN6/nNCXF6WcIVJ7PXCx0adGjQoXU17AyLPdyQ7+CGsH8L
sARYdgtLas1dQJM4OTypH0AUIAoQ7QqieA0V1a94n4Y5CUSFH0AUIAoQ7QyiWZIi1onAKHdT
kApfQCmgFFDa2Vg3tYuBLv6mo1xCBWQCMgGZnSETXiIBfAI+7y8+m602Az4Bn4DPjvB5ZRdP
lpJvgk1K1Y8B0OMBW30IgBYBjgDAEQDtCACTbslxk+d65Qd+5ZcqyxYEFUNI8l1x9bab6RyC
IWsbO35L3hi/kWl0/E4xtUSM31xQ3vUNFWfJLjqMB2A8AOOBjsYDyxAVKnZGeZCJNWmFRsYH
Kle773JLSmhFBeTM7FTWL04yn6TenzIJqSXFKSk6WU/hd9Dlp2N814u1JxyO2yk4XHYARQiK
sDNFCKZmAZmAzPuIzNSZJ2gKJ9Ap3AShhS+gFFAKKO2s/2ywFwLgBHACOLsCZ+iFApv4m0KT
UAGZgExAZpfIHKEUZXQSt0Ao9QWUAkoBpZ1NQW3XX/by1CsmoQWFTkMlDsAqYBWw2hlWxwpO
xxJGx4BPwCfgs/OFoiSTFoqSTCwUJWBSEsAJ4OwQnEjqU3zGkeNTuAlEC19AKaAUUNoVSoNP
MQco/iTYJDSAJcASYNnZWcrTk5EXzgPprIJMoicpZR6AK8AV4NoVXHGr+JE3uvSWnsMBqxIJ
ZEt8AFoALYC2sz7Wi2JU6cVdBe6mvavwBZQCSgGlXaHUSe1sxiFKHQSfjA7gBHACODvbgJHN
uOaFEVdGJ5fcUOy3L9X7Oarvfnhp9V5ZCDgJau/SHbq1RT9bhBZcJQa9Anqle70ySzyhVsg3
0SqUWlwZXutzoRQ+A6pk4AItwB/g3xn83Ti0fXGOmbmICuA+gE/AJ+CzK3xeorr0hGU+5iL4
5D7tdtJoqA49NGgA0ACdaYDMXoiNafJN7XISKiATkAnI7Gwr2gtRHyv2oKmLbj4zH8An4BPw
2Rk+UWv4uGACooJAUVr4r2ayjnW6rRjSk8fba11sD/wxKhSst4NSAqV0D5TSMigeqSHf9AhM
AI/UADIBmWDUA1AKKAWU1vSfBAeiB6Uu2ocyn/UOn7F1aXnwvNJEge+diUV6sSIgTzpYry+r
llbX8ulMAJbzQX+B/upMf1EQ9vI4DoQ9BYVG74UqXK2uOPBjOOs9QJjMWzs9iKBiY5ErW/hf
u9q0U2c2wEjCfQCoTVCboDa7VJuSthRKEmZjAEuAZXewTOIrL+XApA4CTUYHcAI4AZwdTzVQ
O7gFSFWiPNngfG2PptHcAAbToBhAMXSmGOzQ5eoAfxIlQGgAS4AlwLLj/tpFYaNJXOqwOVXu
sQVn2102W3KDbhv0A+iHzvTD2J9mYcL1AnMRfcB9AJ+AT8BnV/jM5lniRWJozZ30vg73A4gC
RAGinZ0eGuJxrDg9RF309BDzqTngwzflPdzVlrboy4to+hA9Hv+BrbBbPdSKEc50hloetbXV
z1Ebv+j7kZ+TTwOHa+c248CfxpysejZJcLd5qACOGoGyA2XXtW0PD5/tSb2MHTR6ff72/MPo
4uzVh/N3by9G796++ZUY/SjYqOEPKRgAGAAMAO4KwE4yH/luIE47Czc1yyl8AaWAUkBpZygl
siwwSl0UocwH8An4BHx2NwwmDSJs3DEnG+syP4AoQBQg2tnO1jz65CfD2mkq56EbXjwA4BZw
C7jtCreYTVjXoQ4CT0YHcAI4AZzdjXsDf+EVBuqEm418uS+gFFAKKO0KpfNo+al23EsYCGQp
K8AV4Apw7QquqMLHYj+GOuiFR0oHcAI4AZwd7pfiDdERQsJc2jMtaHzfVOICxAJiAbGdLiCN
HNQ2nnznqUwuFpVkXoAuQBeg291thxCFKi47EBe760B91mv2K0S4dy5bsyqGRgWT1PvzxqYe
+dUrcYC82FOW1tj4/ECtm7WfvtYvbK63CfI03dSjsKR+Tlo16TZgbQ7H1KEjgY6ky1kbRqE0
YSNOPlejfgBRgChAtLtNiuBTaDdsUxAWtlFB2dvuxJF2GOAxCXTgoB1AO3SmHVhD8w6cO4kq
EH4b0QVkigjaALQBaIPOtIEduqMIJWbndiBZmSto3NycxAWIBcQCYrtCLH2rhj2Rib8JQikV
kAnIBGR2hczLpxyX6IugElMAk4BJwGRnJwDx0wZRfKW8eoDdxcMHxBdQCigFlHa5Yh03LljH
xXo1M9HmzsPE6s0UI0jWZwthCFWQtT/47aD37PfBP7NvDg6+/ubgm+nz5F/7yP9q5iNQpZ7t
Wr67tLD1Niv7hAhZ/txyY+vj3hdfODZqxkePsd8jhCJCIwbfPpO//a8/E+Nu9C92jbPsK8L1
RY7isR6jCP/thXVgff5soXpEsJ17z6m/58xi69EZxuO3Voba1oonShG+JclafmYdLFE8j6zv
/jrkYZc+ivtLb5mk1mOc+f+wDr96Tj29zHbIl4tkcbXzEGLBj08gWjZNPVuEsOAHqhZUbXcL
fpnvioU+/E0X+Ai1xuplGktWLamjkquPAHnYP1SYGa0hzNAQZtgQ5tgQ5rghzKkhzGmFJc9+
6gWSNU/srOHsBzGSmhI/JdaFSuNykDSu5zcnxOlqjyg5CLu0vdPKeTbY6QVVD6q+c1XvhfNA
en2dO4nCF37yMFrYadnSMbTI/1oG0NAZ7kpnWMg1/2LdoCT79Lr2lgo+zfxapB56bOixocfu
8DTG5al8DgO5xAkM7AO90s70SqzHIT+m/oieyt3aHolmf3NLmeLygbyr0+48F64lQc8JPee9
6DnHcZzXGyTFDNQaKWGFjnSHOlLWVbIPc2cab3VfGsP0Djop6KS2u5OaJZ4wwUC+SX9EqdAf
7VR/FPf5QRXWG61oniIPbWyewolTb5TY6SWCAp3b0L9JHAd4Qy8OnZx9kHMblrdA2nXkzOwo
wracrWmKNOWIinxs+SmeF10iKBPPS+8aMboBefrw0lt6Dn1pEB8D8cKYmMAIkebwMQjRdxTn
/sQn3Ik99UaIGjvETIbnhQm2nYFSm3oZlmMrc2aeO3KQsvDLzqFwI/U/EQ6knyPn5MkRJ8xJ
nrPZPHfjK1w4rL5oEbI4JZEmfoSycIk/EeRHWN35EQmVp7TKsutwTN96zK4zWlm5nV0GJI9I
13jsBxcqT20Huxdemvn4CRhrkSUonhzn8com5ViGpNSjPMgwNXXmiUs2UKwc1Rn7GSF1QmrD
9Ze9HNUOdozZBxUKxBEjxTshjRwmdj6Q2n+2CGUnfZdRpmg7uaUVbXk1QR0OqdJI5sXHrbwm
CRNhGGPAGKO7McYiFEMM9ElHGJgGsARYAiy73NmZHB7IWzvYKfZ2iB9AFCAKEO0Kov7p8Mmx
sGlKHNSSKaVTcKJCorTOfvr+za8tlvTWKqAN3G8D6gH0APpbgf4KTYTnyQjXO4e+TLrACkDh
gT4a+miAa2fGL5zcCzwxw+VOagKD+ylHmslm75Zu/NHMw2Fm2F2QDzNTiSY/N9lboOv75GwU
sWydJV7k0l2FEX5ho19+a4OfqJLXn6VUS91iuxay8UmrdZvHVgxYQ68OvTr06h2+K5LiSpZf
FKEE8ZYI8wegAlABqN0Nv71i6O3xYTe8pAewBFh2C8uenXi+hE3q5gBlvusdQJNjLHjSDMNo
UAOgBu6FGhiRZ/ckPcAIXBFw/7btPIVg5gl0AeiC7nRBYk/JOVhm9ZK6qM1L5tO2CuDDA1AE
oAhAEXSmCJbivDlVBcJNlEHhCygFlAJKO1sBLx7T5u9nw5PZgEnAZMfTaXw0+8+5n15m8pxa
ooqJtcwJuAXcAm67wm2EAKG8Z1YQCFolfwAqABWA2hlQQx+vRwuYMicFKfcDiAJEAaJdQXQh
nfhYiCMfCzjzAcgEZHa7YoTtobAlI/RJ14wwDWAJsARYdrbvOhSXk/An3XHFtPWevWK3PODk
FaAeUN896rEJstj1glEiDAjIJKIFFJ7VrmzhNeUIlYEuVpHXhIUh+MJqSHHxkZ7Flg58yke+
tFVqeSGMD+k38C6UM/Ocy/2VK4DaSQuJVTZeEvI7chAUPD+axKRsOFb5php+f2oA+hH0I+jH
7vUjBqPYQMPfdNuMUFu+OYp0DpxAA/AD+Ltb5ieVKtklLAh0qb/wB6ACUAGo3c9iUNXr8xhM
LM1kCB+AFkALoO0ctHY+C/AsuQRbRlaBy3kBugBdgG5newUhe4CA7RcwJ90z4H4AUYAoQLQr
iI5RrbPXQShICwKBqeQPQAWgAlC7Aqp6SUO+nAGXMgCfgM+u8ZnmDgcn/iTIJLS2zRDQvWXY
AgL0A/q72/8tLHZzY92w2wOYBEx2e1K1V1jcZS5+XpX4rHZGa1k8aCkubamH3cobRvo6tDKP
bvc8CJglAu0D2qdz7TP+5If2lC2rvT5/e/5hdHH26sP5u7cXo3dv3/xK1toYD11p4wEAt4Bb
wG1XuM3shVgLJ98EnJQKyARkAjI7Q2buLqa2wCZ1UXQyH8An4BPw2RU+F35sowoT1hSYkxpU
4H4AUYAoQLQ7iKa+69tRgVHmZiDlvoBSQCmgtMuFa09dufbkpWt4Jw4gChDttiMNlKFuII10
AxjoAj4Bn12b9cv8wqxf5nOzfpgKyARkAjK7Qmae2ok4xkwdBJuMDuAEcAI4O+s25UFtMaSF
AS0gE5DZ+ZpQErvKaUbkLI4zYj+AKEAUINoVRKdzVKujKzu4HA3Zsb8ffzm7+IBi//H87Y+j
N2f/ffbm4sUQ47fgpRBWwwKOAceA4+4GwXkxBs75EBi2XACWAMv70b0e1XSvRw3d6xHgGHAM
OO4Ox7hV/MgbXXpLTyw2qUR6gVblA9ACaAG0nS0/OWI7FX/SZScHNlMBlgDLTqeq4byYq6Jv
NlnFVEAmIBOQeQ9mq8c1s9XjhtnqMeAYcAw47g7HtpP4ozB0JlPez0oUglaZA7AKWAWsdray
5IUjb+FFYvumINAVpcJ/vY+VZosQXioFJQBK4D4ogRAn1ZvY4eHBrDDKKBOZfUaFD0ALoAXQ
dtlzJ/YUFU/uuhlF9N2cA7AKWAWsdonVbGanJbBykkCr4AG4AlwBrt2Oh/3p6ORYHQ1TkjQW
ZjwAV4ArwLXL3tV2HC/L5M6VUUTfyjnWvIw1s934ClayQBWAKrgPqoD1yj08kvbccu/NyUoP
LnjXqxlmdiKrBfKAwUlrLxrNFuEgW4TwgAGoH1A/3e18Z77QOeSb7nYTKiATkAnI7AqZSJYT
W2xyMxdBJ/cBfAI+AZ9d4dML5wECAgcodxKECj+AKEAUINoVRN04tH1hBp25CEC5D+AT8An4
7AqfiC3l6CTfBJuUCsgEZAIyu0JmMrvOXG8hbgMzJ70RzP3aXiEOwwHdrII1YlAGoAy6XIkK
40haicIuvhJFfDagCWZ2AmoA1ACogc7UAEIg1wH4kygAQgNYAiwBll3BklZqtgg5OAsCgajk
T4GKCozSPfvp+ze/tljqW6uDNnTANmgAUACgAG43PA88O8XXpsRelES5IMN0iQM6a+isAatd
YVW2AB94Cy+4iwl5FgEgGhANiO5spTyw80mchqMZQkqKSygWzXUfun5uCAEYBgwDhjsbQSfz
ke8GxfiZu+kit/AFlAJKAaX3YOx81DR2Pmp6HwLGzoBoQHTHiJYWrcVyNV2oXuu9xkW4hOvO
AHmA/D2APBpMT1LvT2mkTZx8oE39AKIAUYDoPRhnHzeNsxst2/Nx9lo7dHoBEvp0UBigMO6B
wqCVOpLOh0kU6QwK5dgLXAtDIvSCyQg16ggh0+qlmK0AND1YZtrtMs3iTRpHTVOcT33j2Yt2
j6fC8Zp7qd5Au4F2u9097yhPr8Utb+Igh2oYfRNmkhbhEs6+wxAHlEBnSqD5pip0+/cS8oB4
QPztVkGSdJQhoXXE8yIShQwAZA7QAaADQAfsmg6g64zqG/YK7aIwxwYv2MM4HRDbNWJTzw7C
2BUn+YSbjNcL37Zn7XRdc0BVAywM3mdlA7oGdE0rC4MwEICBAICz00MMw6brdSFqNF8+tTBc
dYMSUA4oB5R3f4DY9cbzqXSKmLr5UWLm2/L+f2m0v5L+CEP0J0/tJMMOJF1+5PE1BCtxfPTX
dhJ/FIbOZNrXXjJWX3PTX4YRRuKFqdvCbp/xBqJ0zak4iMliGeh6T1n9LC+BkNp+0m5tw6Tq
Pqt00Oig0W+55Jpcq7ZMBIEttgp/GHrB0AuA2hVQF6Ez5hgl32TIRamATEAmILMrZLqhP8oc
mxnsfX3+9vzD6OLs1Yfzd28vRu/evvmVPIbBmehzGCIIQBegC9DtsFPNpE41E51qBsgEZAIy
u95POGoyOaLtJxwBcAG4ANwOu9QknIsuFX/TLpVQAZmATEBmZ/NUsjE1wvLt1s9VZUaneL6R
B4WdoHusH0A9gHpo5XjdSrvsCHx4M1y8x8yu7MmPYljiLzsswBax2RhBv+fbyqY2vuaLsgDX
fGFIAjqnw/W3ZbH8tuSrb0uYKQAsAZbdzuFHTpx6Q3kmzyhiPs85AKuAVcBqZ1iV+9CiE5V6
UZio30vIA+IB8a1M1OPxH+48TKzezBp/8kNydtP6bCGgoIqw9ge/HfSe/T74Z/bNwcHX3xx8
M32e/Gsf+V/NfISc1LNdy3eXVoTyZGWfECHLn1tubH3c++ILx0bN9egx9nuEwEJo/Rw172fy
t//1575r5zb9i13jLPuKcH2Ro3isxyjCf3thHVifP1uovhA6595z6u85s9h6dIZh962VoTa0
4kmR/29JmpafWQdLFMkj67u/DnnApY8i/tJbJqn1GOf8P6zDr55TTy+zHfLlIoHDFYOPs1o9
JIM4OqQzHCypVj+NcYZf9P3Iz5mjkquPNNVh/1BhZrSGMENDmGFDmGNDmOOGMKeGMKeGMMQ3
9QLGzp01nP0gRogq8VNiXag0LgdJ43p+c0KcLsk1/yKMMBSFoSh0TB2f2ThuMl+tndk4Vjut
4nDklvZaRQGg24JuS+q2JMkWn6zjkuVf2WzdVgwohQAcAA5kHKgSrjgZHlbabWSbi4WZIXZ0
l+4hKIuUbEVkg7uLxIjw7TZNZ4mHbxLPyEapfzp8ckwL66V4CIO/Y/wnxTeGwzwtNlhpiCRE
gw0PU/+c++klrpA0x9ecM3uBo0dDjsXUxnXixzYa4ZCv1Hd9opkWAaeFmU9qkbpIwmyPNkPl
kwqAiio5W76OPMO7tivVKx1b9yVTE8UhUWno0bqt+mxmu/HViplO7CnKA/4YhvRvj9Q8/vDE
VxK7JXP9JUv9JSP9WFC8cOQtkPyzb5EQduBr7IXLdhwvw2JDcy439cxONtfU4aotzSR27KM0
MuUyPjti4HqBfU1VjZMH8i1973R4gH+WNAuxNQnm2SwPxlX39v2j06cMls8IFEcsdQoXP07i
NB9JJyAoTH0njR2kpEZ26CpujOtApnBjBWGS2GmGnVGIY47moS1sFeD8JHPFygCaa84T0mjz
HLUaLlwWJvTvOI5xdWQpqRU8qyWNnV1ntDqwwqD2ERxPspOA5rEp7nPRJ677olBlAwpOamfY
MEHOEmIabElmxsy0gixGKO+yE00RcSUqgqaqmFBxxWhuN0GDHpnGjEJIFHVtwHICz07ZXWb5
XnN5LGbsj4igH7ck6HVSnqCe048uUbbujifcOHIF3T1Gb+KvJUKqqtcSlZv6Cy/N1hLXMgvX
W19rqav0OsljWQt/azXKTw+11P2SIWjyOzS5RYCHdS3TWdidziOmx7GL94FUOnoh6rdOEg/N
MHvZfIwUf+6FLw4PkJMoyd4YTRBfHCwn6N/p0Dk+PaD/MDteTXtx8A3+nnl2wj5xJ5L0SAeL
XXQWgBdTpxFeCkVxDXkMWFWXfBA1tP+IU5Y6bj4UHC8QoZxGGn0o+ONMJRJmiVjELIppCKD7
oXAfcL31Azezem9LuCHV66HZS9ZD0/Tweg2Cn12H4zgo4uvdIco++tPHOdUbsH9g/fWvlnUr
IXBACLZbCBxFCL5FqgCXIbwkpWhL3FoqwHdriDftX6A6iEK8nNZS6T8jqN066jxGwsCFYi0l
zkiJ1/ca5FoaYS1CnkHXthatdq9atLVe8BB6QZCXG/Q3hxvrMA/bKsAauo/D1jvMw3vWYR7e
vw7zcD1wOYQOcz0K8OPeF1bp371q5DvpRBbRnj9BsJzYQeY9t/KZF1lpeCc8sHifW2S3eP/s
h3Mrmyd4qdxy/QxzuvvPLZSwyWfvjomL6iEb6F+bV1s/WJhLbfGite/bRK+HIsz6B3trUM0s
KqSI74UaZtlBavieKGGeIWkToJVHbMDC8n0+FgmnIuFU5K1ORSoqhB7aX49+XFcf0tHuZkv9
rVKwNVXR4fq62cP71c0e3rdu9hC6WehmoZuFbvb23ezhGrvZw7V1s4e72s0e3n3FgUS0jkk+
zRGb5ffpWZXwEtXH0fDuGbxTDNbB8pAugaGa/wcZTqRryNJna4aP/aOxySG/KOBZ+9ngfz9+
+dv/Wr9//fGr/teDg+XHw8H+P6j4HbUmftNPfoJbsPfM+s+71dV3d1tnmn7qR97VXrhYRzR3
jWPvN6vn3i4S189ypEwRIQiILFu/4+sXjIKj7YUHT588Qb3vmhLYE3GHByfHx7eOuCj+mjJG
OI77w4IL1WwQEXHLLIPnmtPdbHKbSwwntd42v4OqNFcHjk+pAbw2/Rs+3XjXxWjrd7a2je8a
rQmm8ywdBP745HhAEmgRr0pK9L7UmtGLS7DmfOo4FpnHEp9NdHlvMRddJt5V0kXCFEb4XiHB
GqLvWz2bUPYVaNxPueKZJv/VyBUa8eKCPrpzio+sF9YjlaDUUrGzxfzJFN2Ko+DaSuw09xHp
2sJXGa0vEdfov8/evn733opQv46m6V/tF5ciWdYnPh2yDdc7ZNunsR6uO9a/wL+N//ve6pGz
CiOyNNgP4un608CzFgR7/Hv49MmB/HtweHT89PDg8C+HiHLy9Pj46HD4F0Qcngz/Yh2sPyv6
vzkSwtSy/kIEtoavyX9L/9G121cWaX7rTy+c9zA289R2fax97KCHsN2b+JG7V8Gr+BOtsLZl
V5LS/h7SbmhauiQ6Delicp8cDYamfv4tUdxjP8/w7D2L56nj9Z04HIjcFcNeP5eUbXiJ8oY7
oqoik8S8IPNoH7Ak5wl+PP/wgsSDabcv0aDfH2RO6id5NkDR9ZyZ51zG87yfzW5eKOvp2PWe
HJ+cDN3jJ+OD8dgZet7TU+epfTqeDJ1nT52TkydPjo+f1BeV9xVttF9dm/XjdEoLNk+yPPXs
UC1dbZvdp3ZqKkhoZ3gdUs67xWv+VRBHuL79KEcjAAVZqRfGudfPw2S/3+9XcZbxWgq19v6a
NWyb8Raaho2G2pNPMUhqI2JcDr4irpTkaO0J8oXzImHMNolTz59GewI+eBiNhvReMNljc4e7
J4mhgv6/lFbvk/k48J3Bq3c//3r+9kec6iaSw8uJPTsN+7P2k/Htk+NNpIPX4o+Gm0qp9TLh
3aOx7Vy2nIwbhwcjfJ2/9WTwFfh2E0FYjbBCbzkVbN1h5MzsKPLaLtHEs/N56rXdOtPURkVi
oVpNiVoyaDeNwgRH6+mgrqjlRLBRinZT4KYtWk6FGfloOZkMjT7dttOg5jzaTSRH0tV2EsQM
SbtpLLD5lJaToNcJWk4FkfAxnvZT6TGLAq0n1H4KxH4MSmaTg1o82tzICLDVRGaLsNX4/Vue
JFm17bNQbnTK1EN6c/DGj+ZLMrdCrlaFopi/tSXo+BtFn+Xp3MkzKucsyQEtGi85m1wSBj7R
zOO5Q4P00YyzhdOYavalbOzvJdf5LI6s8BIfa/HSfnJt0dmTtc5JlJQkq716RJEAXWdgsymT
BKuaAymydc40b90cXWbgnjQH6VXWt5Bxo5rYfLKlaiALurQe+Kcj6wtWNfTANztRzY8wG05W
vxtaKBeGs6fmE9q157BjnqMiZ3v9Aad9Z+Vh0se2cvdcfzKxenMr9SZeioZyHiEX/mlYfK/9
/GiNJl5bx0RpThpnWa/FozBy3yekczdKgQdd218SBMidKMTWtwYf521zGba9Dfx4q7OPp0jb
nH80DWw5/+KkHE6O76GtvSCbLMTXtx3q3ZcCFP1pK0XZ2KijolDYYHLLBduA2tULh7vcFsvV
/rDEXKSWm2szAxWlaHwC106pNjNqUQrUXhNtuGX8uKVytD6MUYqBl2nbKUf74xmlINjGdDsF
wQObtV/zMxxOWuuZ9E0d4wr88dJp/RAXSYUlir6z1hbQWUJ4cetev3nIbpZ/ePfuzQW+Xy6u
bC8d8joPua6N2d68fP/j2Q/nb85GF+9+ef/qTKGdHAtq3Z3216Mf3/4iOM+LlURmh4vugkjr
gKGf4YpQinvev629AKllFG3AwIMUQD4jD3Xh++m92BJVIL4ca/tbFN8+h1Zl1aC4tr51k3mC
iv7QG5fXguzY9qblLyI96JYVz0IV39vert4id2YPvV15JUjf296u0yhHNfLA25VXgvS97e2K
6tR54K1Kq0B8bXuLTgI7u3zgTcrqoPjc9kYV7y4+6GYtXp+UHFvftKm/IM9WPuym5bUgO7a9
aVGYyQNvV1oF4mvbW9ShF2sedpvySpC+d6Ndh9CwtBZkx7Y3LX5q3Dl5cvTA27aoBsW17a2b
j+cPvYulVSC+tr1Fk/CBtyeuAPa77W3pJPPRLM6TYD594I2q1ESZsO3NnHrZPHzoM1heCdL3
trcruXz/sFuVVoH42vYWLWyCPOxmlepBde5CAyf2FOUEWlhURMm9C21sO46XZdDGoiJK7h1o
42yWQvuSSpC+t71dZ7gxRrBoIdWD6tz2BmY3R0bMKtrDbuVyZRho293eeQCHykUdFJ9b36hB
PJ166Qi/WBc/9MZV60InbXdjO3hW4MHZRlELsmPbmzbAZtYeeMOyOig+d6JRR3Hmegk0bVET
ZYJo5tc/n7/a2samI4vEdx5kQ09I06l39/A7vdr1va1vY3p7DdrZKteH+ULfdrc3v9AGzW2V
qsN4xW+rG5vfcYO2ttTaMF362+qW5rfeoKUttTZM1wC3uqX5PThoaUutDdPFwK1uaXo3DtrZ
kutCvyq41W3MLstBI1tKZRguD251M4vLc9DQVqk6jNcJt7ux+XU6aGyrVB3GC4Zb3dj0jh20
tCXXhX7lcKvbmN+5g1a21NowXULcgZYeQlOX7iQqbT3ckcYubuVBa1vl+jBfVNzq9qZ39aCt
Lbku9KuLW93G+P4etLBV1ET5MuNWt65ykQ+aWbvbWGxi6dcbt7rh+f0+aHNLrQ3Thcetbml6
5w/a2ZLrQr8CudVtLF0AhIa2tAqpuBS59U3ObwRCm5fvSEqNXr4mufWtzu8IQquXb01KrV6+
OLntrU5uDkKLW2ptmK5SbnVLSxcJobEtrUIqLldudZOXbxVCu5vuWvIjDBXXLbdYAsSFQ2h4
S6kMwwXM7W5m9eohNLfhPiZvdvOVzC1ufulKIjS8VaoO4yXNrW5sdk0RmtpSKsNwbXP7m5lf
WYTG1m5xyk1evsi5lU0+hQcOUCtP5QcOprvzwME8S7zIfdBNK9WC7Nj2pqVX0/DGXv7QDdzo
lWGg7Uh7Z/YCGluqiTJh25s5nkxQ63hk8vDA21mtCo2y7S2N6j1ByilD8T7whlZqokzY9mae
LcLReO4HD30QJtWD6tzqBqb13COlf8gNrNaDVZHdgcK2Cw0fxLbrPWgzwKWKaGp6xrcLbY+G
nX40edDmJ8s10dT6nHEXmj/1gth54OtmWlU0CYDg3GoJoHNOsCwsV4Pi2oXWHcfxQ3+FpagG
xbULrYtqGsZuel3opF1o7PEnP7Sn3kNu8BKo1Qoxk3ei5f3oIbe62uhFXeikXWhsvGxo52BU
3FgdRuoutDoxxPvgG5vUguzY9qZ1krnvQuPK9aA6d+G82RQMoclnzaYlQ2iGg0hb3NjSQRxo
bKtUHcajSVvd2OUzOdDmppNKiqFx/bDSLkgAPagDza+dXVLbXj2+tNUNr57cgZbXTzOxpjcf
aNrqtlcO80DTa+ebxJMxhiNOW93w0gEfaHZLq5CKQ0/b2+TqkR9ockurkBseg9p6UeCryyAL
5VNRKwhDeR1+66VBHAoCcdDOSa0gD9pRqa0XiOKUEEiEfnJqBZHQD09tr0woZ4dAHqxyfZiP
U219e9PTRNDeVrk+zAestr69paNF0OiG81ZSyxuOXG1985fOGT1QETACX6uZhkNY2y8LxfGj
ByoHJjFQKqXmWNbWN796GgkkwHxKSxn5mQ5qbb0cwDvy+rktqdV35WSPcnAJmtvSKmT3DnN5
kZOnATWKNTp7++7i1wtoetz0VRVj9kGiYKdW6uAlIsbQt+mWIb9nhb+UI4EJyoZsC6WvPHEu
P4JdPJQsvaarvLeqvMdZPNkoP+unvPumPgtWPBzFHxjSXqCRnycpnrAovXFQNn9fNowum80u
WVU2GduV7LAabHQq1hsl+36a9TcKUgwD3tK9vwff9LI4QhAl31KjZXH/uD9EmJzZqeeyRT/V
s39QNKzYGOZtWygJ2rzKcZHyw/Wl182VZ7DV15LLD+qW31xVHucsveBYfuRPewVOeS5MelvK
9OxQ6W0a5RET/Y0LwwMIBuv4JRPquoXtCrPLqnVes9HWsl1P1fyjyTIgofUCN7BUTE/nXpZj
UE9LSJMNldXYtCpMH+k2cjRjKrLhjZKZhvLdfe06t36/13jnU70jaLhOVnXfSL+RYr60YDj+
HO8FEcLWxAgqjVbJrFIIvlHnSiBe4Naop7M6zb7W7oVSlIxahSYyKiAqYVUaSPbFKqh87lg/
mlp/bFE5zmY86GQ6AlM6H6Fvnxs2UU0bacatlKr1dG3B1bwYV7M8Y5yxV87izMM9QkGa4VP7
gmKpol9qep1YzV4i7YX2pffb8e/fWm88e4FHn66feg6Sj2vrH3ct1v7eWivGSeMs6/mYEw+K
ERTCg6dPnqBu/HYN4PpZPmDRDeZZipPcshyzMWuruRZZNuno7aj48ODk+LhUBHuNea/pxNaW
yOAG3WFLiW6mjXh6M/5Fh2HEiUOi4RxybC1+Srp7KwHEh74tIaitKhrcqKNsK9mNoYgmuG6o
kAHDUVsDBhL7cN2xS/Ge4fW3NUds9V5ZZFpusQorKmm9yQ1IKvvFoK296HGZ5rkfZGqZnrSU
6ICktb/Ft53xfCKJA9+5XutdZ1qMabEaepdFT6mqmRJRZx2txc7XVvm5OamuZMdWX3dHjB6a
zqbOes2J7aQAyHUlO7ZaAKYgACsLgFxXsmOrBSCwx17QSxwf2r+xByiqSvre6tZHUtwbkz0e
aPxG8LOaKj63uukzaPrVO37e9Fm56dE/ZVxwl2X1pvKW1tdRzkiIXpEBkadp13ma6nmS1WcX
WRLpFzmSh/SdZElkQG45LmwdtRtJXpbuLvPDk7/LAlRN2q1vdmRjP9pM3kXGy6KlaQkNomWA
lGSh1BTrrBmxPrPehTlleaal3UJ5WWv9S4ty7Nu4tIi8yYZ966uLPKFtXobjZRg5gU9OHK1z
RMYHYnc8e8jzuO5hmDHe0gBMqx+NsgunWNduy2Krm773+peLs9HPH/72/uzl69KxVn7abidM
WCyzEapLaHsF9kpri/rh31s97y5UVxzl6brn39vd7CVtzytIJ223BKz3wbadaHNysH7LX2bj
mgrattS2tFp2Q3tno9wdj9x5mEBD6w1d1I3i2uomJ8sI0Nilxma1wn63uoGRmELzlpqX1An5
u91Ni9KLHWjdcuuyauEfW93GvMDu+p9F3IW2LldPmbAjbX9l584MGr+y8Vn9aJQdaX5+Nxna
v6L9i+v5ZdKOSECe2lFmOzm56AliUCEGSi1V0LdaIGZ2NqM1BEKgCoFUM9L3Vjd2Ib/rf3px
F5pcqx+NsiPNn8SZD81f3fysfjSK02TOgVpdyOL+Uf9AN+cg+/YPpY3ZYsvO6gXcYg21RJIp
YW2+9E9DqFcbS9HrxGr2EkmUUj9KsO42EEQ1B5bcIJYhP2Kzq4sM9Vjy1GbDpMioYPCWfpZn
ld4B8q30xK1f7RlWejmzMK4OeJX6uVedoeq8kolP0QLKqjVf1mTrX3ydRF3d1pvPMLnWJ1yG
IXhpOMZ3SkS6anbkHrxOtXO0t6K2ylY+ZD1j3eWoozHJ1g9o3vF8ZjeZvuup0m5yvQbDBZ1m
XKTeo0Z3tqsgaEQ1SOeRSNndvuxjuwQby77Ie6Hdtge8WuZFB781WlMrwhqzjmYYVs+znlsT
NMR3LD8qj3PUgY06kpGHLqWxSmlwIo9GSsMPlLYbWx/3vviCjlLWVrbB+qtr8Pifzr9QhlFu
3TjaQv19R0szN5JW48ylJZszbaUyuNFMq61k228yxT4Qn49ukcgVZnNo5u+RhalbFYDMfra1
EHRMOFhm6y5BedhJkth8sdpoHEPRaDJc3ZiKfst7iNV5yOrSa6fYvJgt3R7jxdjiC2TYfnTr
l8dwIlt+cSzx0kk7C993rNd1L3hrcYqbQlsQqxiUb0Fmpd0DKlzia9s3i7A5eEDK/Y51W5ES
9vkvQ8m2gqSHn0Egyx69xE4zDwBzv2PdLsDwXTNNyvB+GoVS2WuL+5xpntqOt/C9K+h47nus
24UjZpRMki/ZsdUDNVoOHBGA5r7Hur2gofIlO7YaNKgKgti5RAnBasC9j3UbUaMImOLadtyQ
/Vg3nroAnPse65YCR5Iw1bntSwWul3tODqi537FuF2rECgETLmlhgFK2u7fpzRahk7d0VwFQ
81BRI/oaIV+yY9uHaKQcqZ21dMEbYAOwKSRMdW49dIL4KvRCmNzc+1i3FTlCwBTX1uNmluCS
Amzue6zbChsuX7JDvo4rjt1IB3HWLjeVb7uzwwziaMMmUy42stQNrl4QOfM0Q7Av5ZMvRZYW
KTdcW2JZp7zks+F8sEG/OhnoIg94/FQeW206H6w7KnVUbeeiDf1Wvr6tIwZ3fOrultYqRM2o
6meb6kKOnz9NvJnKpjfG6IUxF18YI/e3+GHlxy523u1qlJaX+371efMZvuvNyc3nmN1YXXtV
J9f5LI54Ur2r1E6sR+K+HvV9tFZk1NzOdOIok9Zn76l03qMqI8MqNCOZCm1Mk+8ldk56TLcY
+2VkHCQGY+XDcfpgifQCpUGRMjTp4QsU9BKqYbQgOm2552T9xj1F8T1qWdRMi8jLx3G8LhjI
GqSpE+L3ZXqpRwbKrFNq6ZIRvTyztReMvKUdJoGXtX7JiCe0v/cb7mLuLhZe7mAG63fr82dy
hXwNmdtct8hyrwizj4UZP/Tz0xn76aP5N7mC54/9wM99LyP3z/FYFon8b/j2/tqyMnjsi7rE
CbRcneJqJUp2bWUobueDkElCtt7KGNjzPN7uGiFF0LGHxxzYRMjEn/azJR6icNcyRCOUkOX3
0Cq+h8XnUfHZR2MI1dXL8vnYjWVqsuhN0/lYokRjV3Itct9aBkqMQRGW2LuiOU4cv/fn3E8v
M5prTkNDJ9Q7Zf7Co/Sgj0tjOck8QTUNmmQ1TdLSuKHoD7d27DCL8ySYT1sfOrB0pDdM20wA
lwx1umEcqQV70lq6A5rc/l4aYiM4jxgZT4P62exRPw+T55blObPYenTx/fnb1+fvX3x8JGYR
Hx89sr77rjaUGmi1MG/Ovz/7n7NXPJA0Al8tsJQgCrtCmIu/vXx/JpcNm9lcIdzP78//++WH
s5FayJvl93/O3v5w/v6nv6s5EHGgicxqkYxevUMR/ThikTBlsmLYi1fvz3/+UAo7yJzUT/Js
xTjevHv1XzwGYiwMzX9XDPr+l7dySGYlbcXAP7/88fztj0rKrPLwbNCeItDUxfSFP7H+zXLC
xOplRgBoxOdWPkMDs3BRBRlDCC/IPKsOZBN/3WMl1nprGS6p6oJ1iZsdN7Hi6EMnvbJp50/N
e91tEHCjcotCr3M0wMtdjAq0CuiwwC0Mf/QCt/RGebkLbOmZ8s0PId6Q8fmmRhAktbUurfiR
j4+0E721rgxuXGXRQmyDTu+mfmSVvsZK4hOD7a8glvo6K2fueosdqBlcDDRGRDNYBDCtN4y8
/CpOL3vj1HennrXwJ/yT+6TxPKce9IvTIzsnVPY7JA4U/zyxxngwS//2PLxWQj/p12VuJ9Yi
T0Lyp+d6gUdNj/ZYPfWcwLMjFI23RCo4sgPEs/Adrxf609TGecmczJdXRe6+fHGTJtrQwGWN
kux6E3se5FveR7BSGFcDe2PbufQit08Enays0c8uxWTdwz0ZyTUDXLk67KkX5bsEFZb6Wqz7
3qokdKSCY1zvAK7LgpCHHrKdKE52nfGdgHUXjOkfqcY6bDM6DdvBNltvwaQ2YxF32GY9fq5l
va1m7ADocKJHC93PZhYegaHpLP2cTtmnMuwSvJjKh3kFFY/vChcd0km+eDBXcuoxEzIdx/kS
xQ+TYJd66i4WZtjKwkbWZda/y6bGv42bbMibHGhrfZeNJ7TlloBJGe7dfSWesXXfWTLGq79/
xyql+Nzqe2mIMUPtBI0sNbKoE/G11U2MB1b30DxExzAWFg1kawbiXguJYcSaXxKIVspbf+GI
9liS4ukgD+w4950vfq2e/roT2cjVl9+s3ifrEa2oR3deyuumHGu6X9JN5skxl0FoR/i/wy3P
/2nb+ZcvGahaRmi+9WFj3WVp/YrGrWpwhGb4ob3OC0ub1ynKRSyk+LdOr8ivQMmtsrYHzTar
ZrTi9E/bUTftPR3EJsPbu3DgkGeT2183oOls9bKBM0o9esv53s04aO2ufcJhiHYttj66yC+d
HkltKDu2exrsjDJ7AVK5jVK57oiXa7HwsxKQqMyJr62GEH6rOIpzLwMQbSGIiERKTSh9b7VU
Bpm3yJ1ZBELJG7mokeJTWuJUunelu7/T1LKqtOuz3tOUhDDgIxeVKeBCG+9KIVvqEyutQklS
JcnYJmpTZEHWXrIy25UmvdNSgiGRrVktbs57sSpVaCsO6EIO7iaVtcVra3WET/m3dnFk4qfh
lZ22f6qCJ7S/9+P5hxdT/5bLrGpkTObYUaABirXnzDznMp7n+OwTcn87wFGM/TzDW6n9OJ0O
Ms8e+3HWx3lIvaB32D/pH/WHFqP3UHn3XgVxhMuORk+xtS/59FIvRMKKb0nu9/v9PScR4egZ
OzmaQZ/SntPq/vnXD3979/YFXd62svkYsWQ9UektXMYqKr2te1dqCliipPJbomwn7aU80Ftn
f8+yvp/7gWv9F2sU9jPxAw/5vYrDxMcDRutqFqMBKhrmTtFw2UJiM3Cc2PX6hyf9TGFEYmBn
mReiLKSEz87CXjyZ4L2WEmtFnEfDSYCtMDbxEtbMmxLOH73Iw0NuxEoTI0XQMjBTIv3y8AQJ
/FciOlSYmNcI9kf1wm9ufbnw0gwN6K1HDAW94cHh8ODJcDg6PDp4cnDYyy6vIzyYD7NHX+39
4C89FDixHe9b62DpHTwZ9w6Whwfon4WqCCmQb63Tw4NDy8oC27n81jpE9J+91MFzBEY66B/+
nz2SQwvvUn1rFf+OTk9OT/eOhsTPm+KZBU6OcB0eHx4xL1yPctjDo6OjZ7IfPrjJGJ4cHT09
QYV/40eXpBZRnaRxyKqkRC3q/QLNf5JE88LTosTMgCVG+JbiJbSfU68IQBQQ7pg+4ErjRTw4
PX12YlmklnHWj49PkSv1kN9wePj0xPoST7Cs0yNUhUgerMPh6X/531soha8KmK23h6tFWUsn
LrvQWqgOcfE2o7FYYqx8TzeVEi4nRYko5Wn7aQ9IkqyszzabHi5x7kzVlj082FQmBixttiXU
sEJzNER/7NSZvfBPTk/u5WoNK89aF2tC5JcHRLGghkB5mSL9MpFWcWgloL6DFJA0FiV6S8dL
cAEz6h6jDg51lSjKLJ6g+g1i1BfcabWmvlmLY+/mJcZ+n/xBXvzomqg/8SVWdrZfNpJw5KY+
HlCAfNxWPuQ6VFxITgK8AuAFk5F/hEUglaVJCVcImrfEA85C67U0NqhQekLjbyJZpvDJN6aO
yGh7tvFuZ0fQLOrxoWO5AcAMuFJ1Sd+7o9zxMhdIwiqSQGuK/uxO+ydhCM2/SvOTiiJ/9R47
w522rCn4OEHurbkA0Yhk1TJCVYd682xmhZczb2nN/OmM0tPUvi7zWd/V9IWb65DJDHODyT1t
PTk20Pj+/N1Fbxw7s6yHKtfL8g1O5skj0bGFHdk8zMRH36Fer7//n9HFTz+Pfn7/7tXZxcW7
9xcvkP5BkPyZr3Mg6fzOGjHHCIUb0yi5NxLVV1igkULwT0+wKjiwehdKCLwS1fOs/Wzwvx/7
OZLdwWC/ILh2bmNCEaGcXrZnZwgREsHqja08TPCamNWb96zeVY8oQpTsH0h9Wr1ARJUv873E
SwNi6T67DvvE8Z+yP0pMJHwd7oULEbfebP2BqEfdc2/v51fnve/x+sHMs12kru0cr3x+/+T7
g71X8zTFWpVsOaAI6HLkwfLJ6d4rO3DmOA5X9sVeloUiffzz+Xs5Qhru+2cH1ZEePa2MdPgU
L0h6OVkm5j59lAzJNyewhA6WP6B/lcngHFQk8/KlKRVqRVJu2o3isM0lTzWh3VjnXEztza1z
ssSaFVZsLcYeiSXrTb1IdSGm/kD1/67gQN0aiYJoN5YgfiS89/q/vz+zHqGfH19iXI9ev/xw
9uLjo3+42MTV/n/8H9f6P2Pr//y6/w9ijtUasbAjnidzhL3Xr8++/+XHW0Tcc73xfFoT/avz
9+9/uUAfSOXgiG+ThuOn6byuDCIR+jGipVlDmkXxWFeiFNvQoVxg5a5Xjhq6KZwhPTk7jck2
5J16rxjL6p1iuWp0IcluGFOp0JWtc7t4TTHeOC4lkmIIUJFPPB4oZYIWjg4QTOMDIzseLKgJ
GVJYNerKOEWVGLK9coa1aEuZbM4ejoH1x1ppNaSVpRAfZdDrgymDXjBNAjYoKnzlsVM9Y8VQ
5OXh7YYiR69NQxE8sQwaMtJLr3ppD//fOkRjxDinf44Pj58OrZ/QNGo4tA6Pvj140hBPqZrL
0lulYCoAK9W9Lu2mjJSZmlpC469okNPvb9cgxzdsEC0/an3KVSjVGqqoivY7enJ6fNDcflqy
ksxXVfUKtVtToc9e365CXx/erELrZPsAnyNorJtKqTbIsy7JRhlukN7V5bYFiX395FYSW1PP
N5NBcSqxxQmMGH/v0ATGy2deSh7U28gURiS3v0deZriaYmtw76yRnyy9fm6n/ekna5bniXrQ
MIvnKbYuFIckATQ0wue2sgEO1cPHFJ/Zz47c8dHk4Nnx0+PTY+/owHv65Gg8dk8O7cOD8eHT
o6MTb3jAk2CPPGBDyfjYohPEkceON6K/fZIZfLaRfGAO/kHMo33xpeMKivXXv+KQFl5w9heo
Tnv0gvULlBJyJKk38ZcvMPeAhF01p9Zna/rJT6zv+v2BXDtf0Sxg1ZJO1HxNfLw0o1Sl9L0n
BdkjUfdcR2ZAKeI8LydWb08Y53v8pWPnVoItAaL6zpBQeNlX9GXE8j9mBY/w4vPVOGqrlxyi
Wvhz7qN2/k8ezWMfX933lqjaDq3C4hxO6RU9Wfjdd6TGstQZ4Iod4BXfwU9IOsmRQy68nMfC
Zg7SPDg9PHrWT+Ow/bVDIccDngf+yg7Jy9f9r+kHWX7PviDfb89ffWH1B3hBehCli+GYOz5h
xc6+vWAyRIU8GpYIJ8eCgDIRh9zlOw6SL+HnR5PY+vDyxwuSYnYdogLsWdZvP529Pn/5/pc3
Zxe/o3r3yqTUviqTZm6ZgtBYJrnZZZl0eXmZ6AmYiQZacJlGZZqBLcStXC4EJTFXITZsJ38Q
eflgHrm+n6X9CyMn2UGaYBME2XVGHkLD70ccDUfYokbiNQfDsoD+G+Fb/tcV3EKGEocst3un
w4PQjqZBZfxUhwzm2dj1s8sGpoiI1kpMhydNbK4fxHhVtZ4PVTz9qmdDFbMKWzQPgpX4xv4q
bOGKuQvHDaXEkrlKRIE/XoWNIGIlxlX5Vo5x5q7C5a0WGVIBq7BhXZnYaV7Blad2lPlkHxJX
YBquxpesyHfpVzVuidEeHlQwOvg62MJPc9t1qyIjPGSbtZGhEnuUxcv/CJM6DtKVjpxJHc/U
HfuuWuN4yJxhD/xs5IgMoM0RlJUmPnbtrMSJGhwrjRW54yi4XpH1BrGi3xU5dbalBIEJVzEN
XG66qGMkrYE+RviAQTQ1MxW9CIoI/4cDRHZSE2Xi+HRcU1HYmeOTB5DsyM0GqYcxOHLCqkpU
uHEvVs1q7ihJ/KmXxcHi5uHwSYYbhULd8kphsFK08XS2+Bq5M8dQr80BVwlDqs4sWlXM7kqZ
Ibz5JF+dOaFtvjI/6+xXZcdj8ZWZ8Wh/NIvjy5VDrNa6dBCFkEA3ZVZjD70QjfpH8xAlETur
hkKEw6NVmclaW+6Hq9SnFCILb1IOEsSoI6r5/WoxDu0prXryVcuFRl+1/uE8yP064SNcaHLT
yMMURBPP0bCWY/ypuUw4mYzMEivYykP3JEpqWqvMjYQurGyqMvPMdz0UYEXuCZrv4nnEiuxE
bBw05IkrAawFsbOa/GjDt1E4DauaTPSGflzHsUA1EI+y+biqNQgXQVhV0xOOdB5hploWNGJx
7Lyex80zpxbQtEv2ndPhk2d1LHiCgyqsShL40C20nVkdizvH85pplfQRHieZ13mzRh0l+Pkd
tbnoDc8B/RkVc6hqHjSiOj0YHh7WsPjob4QG2ZFbwzRxajzJukt5dKewKD743jp5BkyjIi0X
etFcp+Oi5ho5iOlic4nsX2lyTsgTMxlRTfSJYyTjQYrRAz8yr6lEPHq79K6RhmE/o6u4gWGe
NTFcNjHYDQz5rIEhS5sYpg0M6byJoakekqaaTIIGhqgpiagphrApD2FTWwRNMfiNDE2ZnDVV
9bSpNSeNDH4Dg9dUCq9Jqt2mmnS9BgbnUxPDpIFhfN3E0CT2tp6HcO7M08zLBlf4RUQ0z/dc
Px/HyzrGiLzK05CULhdyDG58pVe5zGDneVrDkQV6gwjPBE2YczTEdRcNPNXel+NqP/5RzeG5
0/KUXfF34iCe61Jd+AeeXeONx02jzEk9cjCviinwUr2A+dzHC0V4yzUbzXXcYP8gRrk3eYqJ
/iKwI22mr3DgMU89R2ZHxrUFhSlaxPUMpKOuZ6HdcBMPLnItC+22G3jwlKCehS+j1TLRzr0h
rUkzj+tPG4uORwz1HGwYVcvDhxdGrisfDZa9LBvRnS3NP8tT4qN7zLxA1yNkNWdkp1M9JmzI
CHnruhhrNcNCmpNeJ3k8sJd5kGFrzofVvmlmV3uO/WlZnSj+dklbMM/lk4NnJnroPjGRcQa9
JZoGmDxnaOxvotOfEZ5AmL2d0ixYeNj4DUCj16w0EeH0sTEHpApGtbU7qqggNPc4NtKzyByZ
l5F9N8WPrl/PU3+kjceZF13SqfKuIKNJkJNcVwUKfAS8Sr/IG88nVd7jeBLqfsW6DPYnfyr8
6XIQ+xlxbb8KcwUPW1s2Ln0ZuGzHQWBv4KJgbOLSp87GmHTtYWCLkgaOxPGb4lillkorFAaG
8uhJZ6E7Dg1MpsUYnUsTFL6bUUysB3/646dHw2ETG5Jb1x5Nrlbia2Ky07EXNDGhiTt+VdHE
he/V2dlskCWojKUKLfP4Q6eSJ1oghM/QWAr3UrWxsN/KWFBOKv3Qf4vErfM2J41foBxkaVLn
62TmdKm3P55UVA7xtnNzS+G9LixCCDbadpuBp7y8IrMsllOP/Bmhrmsy8Z0VOA3rMmZG/Eht
M1slh53P8H/PLunf0TKsEhMDc+o5i5WZazOqM1dXUplXUyd1zDMzeE2snofXtdDEdnLDIDdN
4dnw9OlNwxxfrhyCvcy6Mrsd+ONVuVeO1U6fHRwcjZJZNZIqgtxEFFiQGzQyC3HDhmOhblRV
NNDw5lUwvHkVDG9cBcMbF+bJwcHpzQoTVXQPBe+TS/p3lE4u/cDcOxrZvaxG/5a5/3TmK/Ou
UMCC9wbxYqW1sANzr2cKME1K46o65tXEWbC7YXUfqPF6WaMwCmbHTlYu4cqR2nle3uUxsCOZ
mFaMNySmVTql0aXXKAN1eCNnbE+X/HdFvicj/DscPlmVf0W+g1FmD48PDlZmD+3lsLxLWsc/
TSdPDg8OV+Wv5EtmdpTHIf+t5POn48WE/h2F4+rqlfkW1V26El2ddCAW/F+thuA80aI2/4Qn
tKPyXruZbYU81XUYjKcxDrtqNC/xnA6fPK0WPA8bZfXYT209qZx1taVyNtRZmbmm5sqs1fWn
cvrO7DSwV4x3xThxrVbjp8SL/h552bAxD/RvcyswvsY2YHyrtIBgbap/wdhQ+/TvSnHVSbHM
h+r8+GhlTvNKgYmzoR0lzuryXFX3Y1enz5zTmqD47K0f92pnp77dW+CzHH5eLRqYKZ2VF5Zl
jnwe+OZZOvGtk898Wl3z2Txy7cipTjcLnWd1wpBdXle3VnZZI7uZnz2ri9jPDp81dItHz6r9
Tw9Pqn2T1M9CNFcIqvszzuJUC3gS1aw1JA76e1RdN1F2elRTPuxdNyyoEZXIG6IBcFY95ozs
PPPC6nKF16l/eFDTdGHunh5UV13gTW2nWtj/CGu64SSumSVN4tTxXC+vHp2SszgTe5zWtIyX
+M5hnX7Do/t637rgbjipLp/rJU51w7j2wndqxmJOdvpsWZ3yOFpWy5udB4fV+RofH1eHDN3T
w8OawEdIRVRLw5HzZFmNROT7rHqIg3yHtWEPa8MePOt5dUAgLLW+Zs05nmdc9WtbfgaeKh2C
WZCfvuVWYqha2WXedX5j27mcV6zuIo6wQhixH6q4JKoOirxHvluxrEz9K/20RqFnXdl7ACYf
8paBwcMLx57req7JK5iYqHiDRDt1i5ubHBQcXCX2KL8sdbWqd5Jd1vg6TlgZ2KvyyTxHP6eo
xFvhk9aGi0zHH4maLbZA/PGovP5v4AidRg49iypHYuNtkKZ4DMc+daZS32VgcOysKRInTJsy
44Qaw9xNBtp9B+6Br4LEU7NXYJsjc6PMTC9fByFDOSdBwCpvyHAffEddj4z7GD1MJVmUB5Ms
S3oEgTE1A3hyQ1lSD99H1ai2QRjx4YLyGJuOdHLXW5i3oAt/39HBHhmKE/oGsUoWJybisU6M
x0npLpgqULoX0hSm2E0KZGKowIkT6wWbOAZ5mjieoakmuvjjM/tGwUPjqhGS7SuTh374mXjY
SRxoVBx5cqlzY3qc5HomTeLg2M7MnE27VCP00H5GDuNNdJ/lpLQJTqjzuV8+C46pqa8TszzN
Y+3ki7gDYAyAJNVwyKbwNNBN8s18Ut8OjDv1kr9ON1yIY3QkP+WD7JhuOKtDbhaksXYWg90C
DB3fUMQkzvxl+QgDCzG6HBvqPbHTzIsTQ6bipHQ+UdxkGLHDfwbfhSHpMI7iP+JxRVzlq0w0
iJ+VrwRgqn5+hdF9Q07ZMR3dw5gXpF9MvOJAhsnLN9SAPvih5NPh0ckTnV5aeKcXQby8vGbP
6caGmrrjcvfB6fisotmjQnInUXkMQcje0khN08jQ3mjEqBPd+Coy3DWkfnonwujY5Jd2mk54
6WTnyqhHnPLuE6VWwdrBhsB18hjb5zOQ8UEMVASDj48azIBeRC/fChN3cyI7NCWNfE6OzfTD
E52OH1pLDXm1K3U1PpRc3hujHk5pDTLwx1PHGYxG8zB2Xf+owtP1F8T/uNq/MnB1xPTUnsnH
dxxzZHJCr89+vljJTkiZsdbeRzVznU2RcqhGIyHlACYbIVU8somQeh5upaCSSzUQUsFWssBR
wVUyXlHBVbYOUsWmGgep4CrbBqliG9eXr2wZpIpNNQxSwaVZ8ajiW5Ft1fhUoyAVTN5KUZVM
glRwqRZBykwVBkEa2JLV2IQ5kAY+YQ2kzGcwBmJkkWyBVPtXgUyzBGJkUA2BGFlkOyCUocoM
SJNKFCcxmhgVIyBNzGJK08RYnF5s4lw9cY2r2v5HJVPJ/EeJr96wR4nZaCrExFOy/VEuZq3p
j1pmxfLHar2ZZvjjBsEKKw8r95yrBKm3+nGjcCsEKdn8WIHXXSUnJYsfzbyKwY9mdnkM3sxd
mPtYYUCkWvtoDrBSmxpsfTRym0x9NAaSLH008mpmO1YLIS1arBbApDFWsPKhcZuMfJiZhI0P
s3fJxIeZSbHwYWZRDHxUsvDtXTODYt6jgqVk3aNpyK0Y92hilm17NPEqpj2amFXLHk3cumGP
xhCyXY/GQZhk1sM40pCtelSMmVSjHkYm2aaHkUEx6WHmUCx6mFnKBj3MwyvZnoeRQzXnUTUA
K6x5GDmEoQ6jr2rqw8hiMuVBGWsteZhY1J0sE0d5od3EM3Gq/dSFbAOH7FGy4VEQFRMeElmy
4FFQZQMeBVW23yFRZTsdEnliosrGOwqqarujoKumOyi92nJHlf/8ssE/a/C36/3zWb1/ljb4
T+v903mDf0P5k4b6S4J6/6gh/rAh/qgh/qAhfNjQfn5DeL8h/VlD/U4b2m/S5O/X+3sN+fca
5NNtqB/Xq/fn9jkq/Sf1/uPrBv8G+bYb0re19qs33WHkkyx3mP0Luxxmf8ksh4FBWOUw+JWN
clSxVPqqZjcMDNxmh8FLNshh8JbtcZi8C3McBl/NGoeJpzDGUfgabXGo3qopjsKvwhKHgUE1
xGFg0OxwGHhKVjYMHIqhDoN/2QiHkUWxwWHgKJvgMLGoFjhMHJPGSDQbHQaesokOA0vZ+oaJ
RTG+YWAo294wsOimNwomo+WNwlu9Oi/RC7sbBVG1rVHQy+Y4Cp+y0Q02aDPb3DB4CpMbBj/Z
4obB21b1hGZvQyGX7GoofmLzUKEWxjYUsmZro+TrqBNSk6UN1WemThHKdjb0go/qKnRkrpXC
mIZKFrY3VLJiYoN6mSxsKD6agQ3Z10zVzGvIniXrGqpX2biG7FuyrUG9Kk1rlL3rLGuUeY1G
M2ojbIhHNqtRxaTNTBsMb9QwaYqhxqRGJcMK5RIHZKsY1LWBOnMaVRx0+b6ex7AAUmdLg3Lw
fYEqUxqVXKoljXq2Bh7ZREYlk2RsQ+UxWtEwsyhGNMwsioUMlcVgZkNnEBY0dC/ZgIbR15gv
1XyG0VMc1jT5FsYzTL7CdkYpQ57BdEYlS2lJQ7l1ZDacUcdYnGSq49IXTIx8VQzVRjOaeQub
Gc28dYWptJjRzFpWGHW8MyNETZxlcxmrhrhh/IWxjJWDHF+uGkA2lbECd2ExoZF51TjLdjJW
DnGD9i9ZyVg5wM3aS7eRsWKY4Y1LP7xx6Yc3Lf3wpgVRzWOsECIyq/6C1WgcYwXuwjZGM7Mw
jdHM2lw23TBGM6tqF6OZvzCL0cy7kvzqRjFWYBXn/pp5C5MYjbyrRikbxKjkluxhVPOs0OEU
1jCqWaqxZbSF0cRWMoXRyL4aW8myRTO7bDejmVsxg9HIXsVmNIKhs5lsW9RzCUsZDWw1AqEZ
wKhmEdYEqllkQwJ1XM35qekLFNsX1THYFcNwz2j5wjCyNRu+aGKsqaVqsxfNvNU1VmH0oolR
sXnRwLxajJLFi0bWssGLigBlexf1bE1Vb7B20cTZUO1lWxe1bKvEVCO0FYYumhmN03gTY33j
6VYudMarys5JsXFhmK2VTFyYOMoWLsw8koELnUGyb2HwrJFGYd1C91JsVxi8FdsXBn9h2sLk
Vy2nsmELo6+wa1HRbx09q/QurFoYOrOSUYtqDqdSlAuTFgY/2aKF7i0btDD71gwGVJsVJv9K
H9mYhe6t2rIw+EumLHRf2ZKF7vtHWN2hFnYsdM+SGQsDqmULFQbvspELA0thw6LCsyb+woKF
wa8wYGHwlO1X6N6y+Qrdt7BeYfA7Pq7ykuxaGDwV0xW6v2S5wuQpDFcYPZ9VDlAksxVGz8O6
kIrRigqOOk+jOjRarKhkqVAQZXMURl9to6vkX+MlG6vQGUKz3JVNVRh9C0sVRu8qr3I7GMxU
KB6SlQqZrhqpUHyCiYGomqigXrh1DSYoTJ6F+QqTb2GfwuBb4eFVhFDNVpR90zrPyHCgjyhO
s2WKSobQaWLQClVjlqKaqXyCUedR+yCDf2GTooqlMElRzVH2Vw1SqHTZHkXJR5ijUOnCGkWJ
XLqlQAZeqi0K1UMyRaF7mOiGEixKoz6WGS10YEpIh4Bkb0LhLJMUYxNScFuXxchkf6Ls7Tsa
kCO9FML4hNTywjqEQjvWaJLlCZPcaD6S3QmVWqZN9NopjE7INF1qJJMTMlGjKAYnCrpqb0Kh
a6d0Cb2wNlEQFWMTKrmwNVHQDQ1csjQh8aq1ULImIRFV4xOSh7gHLtOE5QmJqO25GyxPqB6q
hQnNTycb5LfSvITmrZH1S1eabQmZrB9O0SxLyHTFgITsIVmcUMiFWQmZrFiVkDwKoxISUViN
kGmanYmyZ+lyjG5qQqb7maMTS4scmo0JiawYk5DoktkIiWrKQsmShOLj60XURiiaGQmJrK5Y
a8YiVHJpBVwzIaGSK4RQsS0h0SX7ERK1MB8hEwvrETLV1aWpbDtC9tI6AJPliLKPRpUsPsjU
K5MWcRIDPKowLNmMkKmKyQjZQ7IYoZJDg7Sr9iJKHifHRvLhiUaWjUUo5ArVqpiKkOmOuoZn
NhRR9ivZiTB4VwWtjFU2EqF4CBsRpZhEIiHqL397+vu31hsPzbWjqUXv28bptfWPwSwOUS90
PfbSwWsvu0QtNfivs/dvz96Mvv/l/M3rwf940WDpRb15lOX2GAnDbDrI4zjIihtYpH/FKg2N
NJZIw6fOfpHmGdYQG0pU1EEr96lbuo686kXotd5YhsvHcPn4JpePb3fT9+aXieFucA0D3A2G
u8Ed3Q1uvvj74K/23ugW741u5t70Dm7N5bOG613rvaHVfO/JfBtplfsZm7szcZPrEHXXKtZ+
Z+JeXHSgo+Z6nvXeUGjguQ9XD9q7V9D55YG6Ix1wMwBuBsDNgJVCwM2Am4WAmwEmZrgZADcD
Gnh252bAzY763/AewVbfDFjPif8b3S/Y5M2ALTj63+lx/i06qb/O8/dbf7h+d4/QN52Rbzhi
D0foVb/mI/R3OSRffwJ/Fw/Kr3ASvuEsfWsH5eEsPPfc/Fn4B37cvcrrXp5nj+7LSXD9APft
zlZXnKGuPHLdxdlqw7ln4/lo0xns6Janno1nlytPKa969rjiALF+1PiGp4FvdPS34oxu/bla
jVx1FLb6yOvNzrbWH1mtOuO6hmOsxhOrxtOt5lOlNzsUeoMjnrUHN03nMCsPRtYeYrjRm0NN
DwDJHWB775+s/qxJZHgp5UZPjKzjNY51PKzwkM5WkvC/W2M/Kk6XxiUPfBi1TGMnV8tkcdZV
95hXxK6crDV4VkRIzvBqRHbgV6PzE8K6BzlRXCaz88cm8omeSXG6WfOgp6ENZHx2WiNzlaJ5
kKPZZSpXNBodr8drRHJsXKOSY+NlKlV4Rio5qK77kE5eIxcqteyFj85rNHLIXqNiZV0mUr1e
phZXAEw++AqAgY67DY1MOxkDGfelZfLsSscLvfugkUmXplHxVrBO5FcwNB9yjaNMxV1wmcYv
gmjIxd2tTiR6UiP7BjDxPr9MF4MEowcfbmieC73Vyd2bMlGMZjQPOvrRyeQekEbmgyjNg100
KtPZYEwj01tMOpkc2y6TKySzdK9K92bjRs2D3t8yk+lM1OBH74mVPeiQtUw1KQZyK61MXFSp
VnILTtO3sV5KfN1O00xi0K2pFT5MN3ngYb2mQsiNQI3KjwIaPOiFQ03r8AmG5mHQUOTSo06N
TERDlUwMyZB7mSbiQu+opNmUQYHgS6IaGc/JDEQ9bnxBVQOxQY0W0z+zz6hSuvnFWx2JBkmh
s1VNqA0VSC8Da1RDQ5l6BTIB1top1xnJ5NtE1NOhM3uTIOtEg+iQhQSNSJcjtGKaskrvkRup
qS7U4uq6yUMvRnFb3uhDL9sbvPDyjJFs5jaIhFhI0mTFMdOF+YKyBzZ4oNESPX/CnoLJA9to
MNGJeQZN/Yg1Ms0n0HWsWIDTSkRX7PSC0hU+LR68HqhLp5FGTGgY6HglUtMVjqEDFgueBh8T
zdyfsQVZDabFSm6Fl7HnpPZSTNRnZmrPWGV0GdtAHRqjeWbkXZp48ZK81nHyhXzNgyz/l6l4
v0Cj4f0FrfOlWxKaCmIbGRqdWALSqHhLRJMzvo9i9NCpbMvG2Hmz3R5NJYutIr03wztM2tDZ
MG9jm1iaNNOdL43MN8w0PcQ22nT9xLbvdA+dxHYCTfRnOpnvK2r0yFBV0hZmlVegF5fum2pU
ttmqaRy6RWsgPzM0LNkK1onXeoH4frNG5/vUWgc41fGdm/p0unuuKw++6W7yEVv2FTrHNJrh
ZwU0umFuLJ08qPbTuy/5DES1n14vxVkMo08FPz7iUeVjmHIqlh7NnvgMitkHH2Ix+qjHYapY
yOEas2dVGH56p8K7svBeTem92uJ71eX3jBVQHJoy+ZiaE9toNfGaSiMOf5k9jOXgJ9RM9IoS
8MNqFV5jXSGJQ3eaEmNH9oy66lQX4/LBwSp/fg6xyp+dajR7641TPmJp9jd0//Scp4lsWr8S
p0tNHuRoqsGjONtq9KwIQk7Ymr1c4/KsOO5r9mHHhs2eU9N6Z+kos9kbH4qu8DHIZnE82+xD
T3lX+NHz4gZPdu68wqc4w17FIB2Mr2UxC4p6fL+WoSETR82ZOKppR+VORK1/Q0aPqjNaEawu
3+w2itmzuNtS60+uy9Rx1AfHt3nMDJU1ZVxStsUdpSofs2rgF6bMXuTelTboWRq6AvnWl9HP
mAHl6pk21qNX1wxksmmp59i0sDAxRGBalTEuNCwMi1f0np8W3ND7FtcJyz78fSMtu+x+oiF2
I53eiSxT2XVKbdZDbmIaqfgFqbIHv96pDVD47VCTR9VKt3Tt1ORllGh2ldVENk1ppOuzRi/D
8oXyQlmFp3EFs7jua/Lht4WNfhU7MRU5L9921gTJ1BDFPWtDYxdv2ume/C28so/8hJ4m5Cai
cg9c8+TP+2nSzF8E1MXc0Zc2yGuDGlE8T2j2Ia8alr3wM4gabWbIh1OxV0QfZNSpxSOOGkRN
itq0+Vo8KVn2WZrWrkwlZy9casNOwwKFsXqk1zcN8sSf7NSi56986ml4hgqphGH55VGtxPKr
pVoTFK+elr3Ei6maR2HfoOwlvdVa9pKfetW0+qQyWGFuQfO5qgxUPHCr++RVeecP62rtJJ7k
1ZpEMhehoZ7bmtA6dP6OsDnTc0PHK5m20Bo3MJ3ekB9K1lqcPLGsywF5l1mX7KlJqi/14aJ4
M7rsQZ+aNlLpG9VacQPDbgF/D9vgQR7SNtDNXSZ7uFsrkXj6u8rnU5XP2FA/4qHyCh9HH9IW
j6NX+Li6pigeZK/wMbRH8Qh8hc9El7Li4fkKn2mlz0yfLTIfv7KuDe3GfIJKn7CyDsLKMFFl
DgwHcZhPUhnGsNvEfAwL+9ynsnaySqnKKuvasOTPfOaVtTPX+zjuUyk7V4blBm61x9SLEDM/
5q6ioiswdANTM/3KSKZq3qB1iNkijcyMHBk1f0WXWdWTVh6rKKwzVfjUHFko24eq8C+Oy2oj
HNVIlRY+0QsvTF8ZOvLQtB6Gh3G5aXDKDXFp1SuZ8dIHR8wKmObBDIiZ+ttUH2JKVsu04SG1
eKaP2IS1tIpaNIwfJdttmpxzM3DaCJcZkzPMJUxnJrlROy3xwjie5vXJvJFObfIZqEYEczuA
eo/PjQhqkjDWuxBu2dCAvYrtfmE60ehRMR2UTDpqqoIcbjbUtnxOWsseMyhpyjY5jW3yKCxc
mnyJrUyTR8VZUdl4p8nPeLCFGxI10rExUoMHM2la6TMynsuR7K5WSFS9Z8V5QW5YVlcMlUPu
wtSsCeoVEzTpNL7By00XFRoVESt8jNUrrPSaPEzdhbh5YPLg9xdMfqb1VD73MnaKyNN3Dc1u
587MNFBF05E/DAd9shz1LYYj44Ru0MtpbruuLu1I/doGZYnIl76RO9GLS1S4UVEiQTYMUbLL
qkZGom/2mbkVHpeXl0llqFq/ai9cygqfyzSq8AoNXV5YPUJAOrvKB/XrFV7VWa5OiCPBdOQ2
itLFcGwQIuaj07Ox6xtOl+EON7SjaVChT5E2M5yZpKoML7Alxty5vs8H3397d/Hh1avfrXnu
B4NPyBsTX75nkob3U2xMEdXBDodgcOZhQmI+f6v7sYj+v/O3P7zTfT+hISJJ/f8zBubZ+OH8
7fnF3zT/vTQ0BjEnY8xaV/eCrN4ri1NIxk4PTk8O8VkFXK6ubg7xxpUzo7Wu4qk3r+JtaF/V
39DASk2wFi6nWZFSRQKdXf462UCaLKknrSUlJdCSOBaQmC1CqkktNMAq6rAtGIjkNnBZr5QW
Li2+71YU9HQTiZM7dvt7vp0FVm+RWb3EyjI3H2VHVi93+HcfeRt4jiWeYzNPEhY8aByDeV5e
vLHOo2Sef2vJ8Vs96+jYwtsF2TfW4cHJU2t8nZNv69K7vopTN9t7+dMb6908J2FF0BAHPX5W
sON7eq4Vj/9ANYYIBxa+YTYnVWHFiRO7Xra39wp1335gY/vhFuoVk8BDU3HEe0a2GHCov9tp
hBel8fd7L7TTS/R5bL1L0OTL/0RCZobCHN++MMf3rTC0xXCOhk9EaYZPnxyL/D0b1hQIBycF
Ojx+JoKcHJfLdDg8XWepjg5LxcpQYj3P2s8GL8PgFYp7wGRnMN0XYjTzltZ3wlEZ5rgIcyyH
Oa4Ok4QiDKqQIgx26IDJZcTkDDJTx7F6f0eaAf0le2DoF8/2nLyXpHEe45ufKIp3Q6s3iUM/
701SVMW9JCaXDBExinuM3w5Qklij9P7uek5gp6SSevYEMSIeO8cLhbnVO1+/mhn0+8X/Kacf
OcHcRcovtsLLkYvKzH/7ji6OuZDHo6MCXMcnXLSOamQxF8L4VOJvE10HJTFEQ5feRJE3SYUp
vseS73HZl8mQBLAqwcslycsV0SMuOdJcjpVVFZE6C0nVIRUgk2Ch2QT6g+/bv/BPTk+s3rRC
2LLcfTGN5s+eCTk2yG+9RP4dxTuP5qiwvfE876FJem9hpz5pK5TN16PR/5y9HX149+7NxWhk
9X766TX684PVx1H4zog0ataP+y5hfvPy/Y9nP5y/ORtdvPvl/aszhXZyLKik5LQdvV7mo4lP
NO3h5R6U3xD55UHWo50zytG0h2aEWQFSWhW2c0mKSTpwSvSWjpcQsaDu8dwPcjSM7YVZPEG1
jFCzcQxaPQfjsFRdJbdj7YpY4Cp3QRyaxIFVE/tFzW9fXVr7b99b36HByT/JJreV/cv6Z/bi
8cG/9i2iurGO/o58juzoGm+94E7sZgEPn9wuHE1w9KcXzkeoKkgM/QHvXHpIKpfI30JslvWd
nkkD6+GTgrPIlczohj1sJQX3DzjdHkq3FLeaH7nTNzGRAcBNQ5cDmXlJAQrWojxyZ1uVNOo8
Tw6Pn/Kud3hwPByKzvT46LhicGuOLqSD5OGTIzGYPDo4LffIRweoq19jpzx88qw86tV7T1OG
cU9qLAjpVY0+zp7nzGLrEZZYE8Mo8KIXGVIk8eRLk/9Xzx8hMaqIWmsv0ZS4lU5OilY6fnJ8
eipa6elpxShJjoTOQk6HRyLc4ZOTA61thsO1ts3hwZMV24ZkU7QIzXTRDtTtsPFNpfRVtWa5
1Uh0WlsRqtRCPNEd6R2NlQOdZUNnaa41Mxl1pZKAFsBTRbpKLzOgHx48OznkSD86fXr87AlH
7NNnT5806mM+JULIO+QBh8f6FP3Jk8PDtarhk+HwJmq4pH01pbtjwKPND3BbBW6srmQHgpa5
5zV3uFo/a+o7yl0GAecuyRwrFgjd6jpeVe1kcpRaqUPW8fu2mDoZQnChLU+2zR1IsR/Q0uZR
eTug7Q2y8t6HcG9024XqiMHX1st5Hk+9yEO4Qp0QOb1kvX5nvX33wTp7ff7B+nqAFISVxmHW
R8LQj7wrFvbf/YnrTaz3734anb999eaX12cj9P39+bsLrFHUENnMwnNG3HMhOj5yZSERY58D
HKY3jp1Z1kO9qZflWvgd0TVhAitxlavgr8/evvz+jRCignBx9pIQmA6SKlH63p21OXzmBOTj
9vJB64/+7I5U8AOxIBc3lgtcqRfEb/T65Yez0ejFo4+PDp4MhsPB8OBw+PHRI7H8zyqZf4ix
9L97ketP9H6tsidkaeshdkYcE5DF2+soUn3kLxIxaXCUeTYfHLFPXCODeJ6To+/ktNeOShSx
iIpvAYJc3V6upEqUvnenF0QVOZ5DL3gHCeE1yD9u38X9948VXZykzxZTm17nyV30idUaowxY
6F4wTQI269tl7UaviIHY3lZsaf3Rn0aR3RGZIUZeQGRuKzKk+sjfQmDupsUcP03n2QqKjDLu
sj5LfBin3UU2cfWRv7fvf88+/O3s/ffv3n2olV1xNQLLrH43Y1C6B1TDJV8l2VWxZs/IgGDf
egJCK5D97s7EA6t1mHfcQTBYBbLf3RGMmLQE0YUgHbeWDrkWZcdDGeofDbFFTDJTnidJjG+x
gzDdVpgMlWmgIdEKF4owCceuSJWoUpCm20uTVInS9+50YOwQBojI7UVEVKH42h3xYNtQIB53
2OzjVSi+kHgELsq0F0xG+Kleq/fW6n3Ar6BaB0v8/sXBgap68jBRFJF8Boadd5D2rpO+uhMk
1vzZKipbGSNrEHzCxsfnykjM1JMWwl6UixwepAf/9uLxH06cXFdlnh0uVXw3feSuTVMU5aRa
N0Vx3GICv1k917pVTK6f4TfvESEIBvMsxUaOMBMx02T9bn3+fLt4S7Ut49JJ4yzrsTRxxnvh
wdMnT/Dtr/UXAVXNv+ET+4WWKKx1bKJ04cHJ8TEumikDLRSXiNpR27I8XHcCUrzrPVNb2C1h
hiEtVnVFTa35EC9LZ58OLOrHFSfH93Isgc1xrnEYwUcLd+nuWa0qUEOCv3TWH60YN6w7YsSZ
IfFqIeby6X/bC2P8wm5f/uZj3a0USfooCwjl1gslbUjFtdWCiUf16511gWR2I5msJVXnVssm
KM1tF00n8JEEcKUpu8TKlVViomcH+Wi3jYYif1ESeRr0s3jdSfC6ZamQb5yMVRTYML5RuxUO
ZaUubjlDvp+V0QtwGdFPmlt7a0601Qk6mbJm2MBpu7kWWb6zAHSS/RZXRbqo+hbK0NJKh5i+
b+1CB/JGOrD1dQ6azDYvcyDG0MZWy+/ZCInW7LoHSIZYy0b1eH2Ir60e/eLdFCT7LrSvdKWE
VkjxKQ0ji+anvHlqO96IUe8ysKkqb2noJDIi5VPK9SZysN4kWu/S7zoOac6z3JXfoRWMOR/w
ODdXBFWk11wWJfLNlQm/oJxcr7swNNatA8QMb8e5sYNZ224CtrH3/uzl65/O2ijAgEbdp5lp
a8DLx3HbPN7Fo4VNDHhxOtJ2fpsJ4JLxSX+5cC28asHSGRRJbvPInhVhrSO/yc/nr9AIDT99
c9dxWqmmyweX1jMYbEhkLWujzcks17JSem+KU54xpc5AyJri2vaZE45lRF5NBxB1LnUPBkRc
4gw0YbcQexVx9+1qEPLYxMSy9/fgm14WY7Ox5FuKJov7BwhzePjl8kyVvBHDx70vyEy5KcU7
zlVXFIfypkD7eCrPl1M7QhStSfaCCNXlxNIr0FCtFcw66x3H8w3lqxrey209W9MonwGguwIp
+Fnf0rwiA5stHJtGmmG7thJWC3YrlVgHj5YSbOswtGl+0dKx6M3P0xABBd/YHI0mR+dn2zq+
RAVY47Dy9Y+vXo1+fn/+9sMPVukJsnUMZWh+jd2wqqXIuPY1fpR29AaPBFpM3rL4WjmuSocN
btLEzmc9VDWXL1orNxtZbyo5MfjdcEOqetHqBZEzTzMECr49Eifr6OPMWdqGrYPVs68swcfr
LMJg+xuCrPiGNj7CFB1usEnYcJApkMNWijPgsbc9rOBd4kaGFK2swUvxb+MifOiF2SxtfQ2e
JrPNS9MkexPbWa/1IvHgqsjV3YYetJ7XvzhkiHcNC3V1uX09+vHtL0UdkvXHKV96khpD+t7q
tdtsFoJkdS9ZpBnI362WprGP9HaPnqoGseperNT2UJ1M0LZYzmZ2NutNpkmao9oBcetQ3Hqv
fzh/++PZe7KmMvrp5c+K/JXaSaLuihCOg9i5BCHsWgi/f/Pu1X+Zxa9ooZL40V1ClGGaYN9W
Rnm0Xzaq0WqplhJrawbIJzZbOwEcB5e5nbQ+AaTJtLe2L8fPjmC1vq5P08QY2+aJ7XL9Tz6c
9++mcoqKbeF0SHXka1HC1dGLBfG2s2/qr6hufm3JCrv6xYrtlWZUPf4EhPnBCjNrf/a71aK8
zEZ2st4XKkCWt0mWuQDwDyHNr0mYrZRp1tckvgNi/fDEmlKVUQeSBG3gsb3yzbofEO+HLt6F
IJSHItsr3Lw/Aul+6NItSYI0OBEreDTZvl1MLfmwnAesO9rPQmdx/0g628+O8JNTXGUmxCZ3
JxL25Iy22k6lM/3S6d9yTsukKlaFcJfzRdWZ34Ttmi3N+RqO+q+ce5F1GToGyWnjOHxraQxW
lvN2ktxQy7HTeDQECrD2uyYtHcCT165bOny36SV/N/UXXpptatmfJbfNS/+0JORWWOv7pQhC
eE9mHcMZVvPtDfcqEljnkK8iibUO+5qKoe7evv7p7KeLv71HKVuUmx0N7SX5LPVsV1phFUIj
O7Z6rbUoRwuXpwEPDwMP4haxRtpqbKCioNFJO+b2ABK7CAkhMeJrqwFAThH17JZe1wAI7CIE
JJmRvncABtl15AAOAAc3wgEVGtmxA0hYhC4MigAJN0MCFRrZsQNIQHkFIAAQbgQEIjPS9w7A
4E8nvgIcAA5uhAMqNLJjR5AwBCgAFG4MhWFfdW01GGyvnRcGAQS7CAIiLeTvVgs9qiBYKgW5
v9FuAV0nZR9bLf2opmAHGQBw0x1keet4F/aM/XA6hOkwoOAGKChEpvjcagyQCUxqAwYAA6ti
oBCZ4nPrMdBzUBHzDdhNBBjsEAyE1Cgu6dlLEUg5g1d1PFUMsJSUB7K5oXalpvQER+vNW35k
pPeGwyOgEdA3yHtBaK5SdnJLOsulH2lRtvWVnU15d0db4R72+WKHmPrJQ+BegGjor5NeJzl5
Mv2TMYd8lCCPHO5bHrkWlzX7fcwjw1cJeV3mtDWAVF2+knQIl30hYUoz8rpap0X3dm/5iKsq
Ld/0uXtOaxrqHr862pz5Db46SjPTlr075VLX9tq7G27I4N2w7etvw6JkfNC1mftvQz7IWwPs
RVwNulpWAWu/6duqCpZqq1UdvEl5CxbhxmQNpbXNFy1R9nvz3N/MNcs666xsglXkp/hEU6uW
IUAacWfEfzFzNyb+KK1tFn+U/Xsl/kV+is+tXmYjpUjcTa2yrVrFLEeyg2uZk5bBItsBFgh9
2mqi224IGGUflWIjAtQgQ8W7CTxP/GOrUUrL0PsjnqeRvRlleMOKLvJWJmx1xXMl33NiO/Cy
TbzhdJO6N2TPQNuRFtjcXtAt6p8vfJYpu1H3Ez+4Z1qnlLWSezdqPYxdf3J9T+udZ06j7Ebd
/zn30vta9SxvZcJuVDzeW7qn9U6zVnLvSq0ntr+Bt49uWe80cxplV+o+Q9V3b+ueZk6j7Erd
L7w0v7d1TzOnUXaj7nGIie8F91XdS/kzEXekESI7yWbxfYVAkT0DbUdawLE38NDq7WqfZK3k
3o1ad2aesxkbLLdYTKB5KxN2o+Lnc/++KnyatZJ7q2s99QIU4wLl1M5n96vWS1krube61u0c
5dbZ0E3WlSu8yFXxuQNPi/B9nvU+LXKX2pZeu5Ayp+1DbXuVFzs+97jqlUxW7kxtb1MYNoDu
ZWuY81m3V7ULbcI2he55ixS5rN692oHWoBtF97stRB6r9rN2oB34xtH9bgkpl9U7XDvQGmwv
6X43RpHJyj2vHWgKur10v1tC5LFqF2wn2oFuN933lhC5rN4X24nWoBtQ9701RC6rd8p2ojXo
ltR9bw2Ry+q9sx1oDWmH6n43iJrR2t20XWgWsWl1z1tFzmfd/toutAnZyrrn7cHzWLXjtgPt
wPa27ndDFJms3IPbgaag2133uyVEHqt25ba3HUobYPeyHfQ8Vu3TbW87FPti97IJlOzt1s6d
uEp8LyuehkCZHCgZNdHlF+zxHp9dvn0m3Y6qv7KjXSMpX2/Qj91rp8H1Y8r68Vn9UGf5qKH5
9JvpOFbpkJB2eoUdqyhv+Ev70aaqJuLd+3vwTS+LIyTP37AqzeL+Yf8ACS62YOJaH/e++IKY
JRKbrZQBseibr+puYOOelGljxLBCb1wqNi1ZGhfPjKs4xsUEw5y2cl5VMbLXB5imoU7R6Rr0
v6qPqkDSC3Ak0sPtppahbiNT4Sru37ZjWmDBr9+Ky8WtpbNfGNEq4CFfKe+9oWbWEEljJZeg
1cvRMju5tZzNxyjTwuzJ5u5Lt3w/Wr2UrZTudAMXs9cXV2GlZqOGalDKGy2EKIHoD3ejHEKB
ra84FRpybQkMVtC1LSRWgHMTWrvV3mEzPcOa6qQD5UKsEG4k+yLvat9Je8ZtMakoy9QuGDNi
FiI3ZtBIWKTc3vPBGRp0u/PAa+e+5VSd+RoLr5jiwQ7eimuw7Dxs3QR2ZQpVxqN/uTgbvf3h
YvTm3av/urAUa0NSW0jfW338nNmg7S3G7Vy0AAG7iYApraG4dkLInDjK07gd4yAgaLcRNNEi
GmUnBM4P7Wk7l+VB3G4jbqw9Su6dEDVaWSBr90bWeIOUCbshbegPTgjk7f7Im2gSnbQTMkey
ObFbMmsIQnerDrVoEwNtJ8Qu81LoWO+TzPEGKRN2Qtr+nHtzUHD3R9hYe5TcOyFqEz/IQbHd
I1njDVIm7IS0BfEURO3eiBppDcW1E0KG91kzELN7I2asPUrurRY1v5AVELTOBU1pDcW11UKG
XxQF6epcumgz0J+tlifpFVoQqo6FSn4RuPjecvESDyiDeHUuXuXHrG35Btb2ihd5eRvE616I
l/wKOv7eAfFybGcGI/r7ImCsNRTXDgjZoqWHB0HEbi5i9Mpr8b0D4gVrrPdHvOgKa/G9A+L1
pxNfgXzdE/mijSE7tlrCbA/W7bsXLdIK5O9WC1PoPgFh6lyYSCuQv1stTGyW64Vz0FDdC5XS
Goprq4VsZmczWncgYl2LmNQW0vduiNfIz+HE1z0SMdoeJfeOiBo+7OHn7bxLDeJ2O3ETbWKg
bbXYtfqMGUjbjSaRdW+3baNssdNrQ5CtzmWraIric7tlCzaE7oFUEWsXW74FJAwoBD6KB6Sq
e6kqNUiZsBPShhL04GDOPZI23iBlwk5Im+tPJiBr90bWaHOoTiZnWylmZDWZmDcGCetIwhD1
w/kbfvieGs5k5+/Rvy1WYX44HcIBinuhvoqmKD63unvEJRimNshW97JVNEXxufWyJV6XAPG6
B+JVPLwiu/i4q1gYU8zFmi176uYXyxbydCtmupkpkxEgzUhL2ZCGZuxAvZLObw6rFzzZhTz1
ClX5vot8OUE9Ry4f+ZXPZ7LOgJ5+osdW1HMGxi1hbe+u2FyRlsClFUvyQkaQIjAGn6zeGyQH
zDI8fRYD/UXFwCxh0ZbMdnjuGupGrTm5UkhKWgIlAWHrEPo6Bc9nmZ/OJPWZJshZV3K2ukSV
2xLP1crzOGjH7WlHSfWXOgVoxe1pRT79kKck0H7b0358iC8P+6H9tqD92hvUb9MrNqsVQeRf
TCzEqNQ8kCyNE8lQo1jNEzqv3IURIG3PyzjibZedeR2H6aWNvY7D0tvm13FQOXpO3s6LEuUn
YdtbAWENUeiB8gJFm4mscZ2lsRylhZYPL39+9eGNtKtF21J87cC7xawoPT9xNvV0Mchpa3Iq
vfhcbliFsEOCG6C+HSR3FyVXtKxK2SHZRcnGDn+WG+R3x+RXaV2dukNyPEk9kOGdlGHRsipl
h2SXr4uD9O6e9EptW6btkAS7HkoyvgYR3kURlhtXI+6QEGeJfRWBCO+iCBdNWyLtkPjaeW47
M5DfXZRfqW3LtB2SYNcDCd5VCZbatkzbIQmOEw9GEDspv6JlVcoOya4TxBksQuyk8BZNWyLt
kPgm9hzEdzfFt2jaEmmHxHcegQDvrADLjasRd0iIQ/uPOAUR3kURLpq2RNoh8XVmHj5FDuK7
e+JbNG2JtNUXn5UDdiCz2yyz+oFJ82nJbRZTepoO5HRn5JQ2aMXZyG2W1OLcHEjrzkhr0ag1
JyG3WWrpSTmQ2J2RWNqgFecet1lSWzTWA7LajawK4w5Vpxy3WV7FETgQ2J0RWNGm1Wcat1lk
2ZE3ENidEVjWolUnGLdZWPn5NpDWnZFW3qSV5xW3WV75aTaQ152RV96klacTt1le6ek1kNad
kVbaoBVnEbdZUtlRNRDVnRFV1qJVJw+3WVjZqR4Q1p0RVtaiVecMt1lYxSE0ENedEVfRptWn
CrdZZNmhMxDYnRFY1qJVZwi3WVjZETMQ1p0RVtaiFScGLX7SEDVQ8E0viyMkruQbFYRmBBto
zOL+Yf8ASejMTnEDpu41YiwZw9NNjJkNNulmcEyGRYyGGgyX303XiU0XNPVrb4arRIbrGcbj
7oYjxIZjmYSEX9jSq7J/sBdEqD4nZk8TtSZAmVa0rWh3yepmmdlOrVQl2hWH+EpHpQxnUUqb
/dp+qr5fVd4Q0JZctTWt0rJBeWpWNZio1t+stdZh6bkKs9tkrXrFMsjmqomEbWkpTo6PcSlK
AFhPYVCkXbSIWaesr0g1mmhtiQzKaqpWX7aWLNG8LVs4F/a5N2Lh/Kjl+Ifrjl+Kd70G0guL
7KjRJxl5HEI1yn60fqPsRVLtWZwvp0GNzodhHLVuc75IekBT3N/6m1WsPOu+U5XkMzQ6ctWr
PnJawrEDt9NYUUZJMJ/6a7cuUleVcpJl2g5V7DSdjzdarSJBlcKfR0QzyNBOJn7g9dAktYjL
MM3kYl6eZMaW5om8TQgxtnGRQWnooEWn0SqZVcpdhnWajiwGdo2zhXsxLu2+AGwNZJOFkEfX
mhi1MbZuL5HBDaS+pUQ323JsjseTn22zFKpl4apvl4pENPe6C9TSHM4w3m1pFtfVxGE+yTY5
a0DJ7cKU4ToboZKs3Q4Dyc9lFF9FqBT2NLTvuGeiVnwZqDqSi/0cZfOhNEKUCl+45C0H/Gag
iLEY7xXdQymSXsCn59aaNJOhtJsYdQ1QsijpjRVClECq2rUXpn3VSpTCjunV1PMzL92scuVp
7oiG5cXZJjXL87xGXatUQ4l0C62rRrd+1VtVA5vSvzz9zRandU0sitW+Oi7UyI7pZD+Ln52c
HGxSJbMkd0Qjs9Jsk0JmWV6jPpYrQaXcQhsrka1fGVeUflO6mCW/0cK0rol5odpXxEJ57Jge
ntj5JnUwSm5H9C8qyTbpXpTdNepdXvjCdQt9KyJZv641lHZTehYlvbFCtK5fcWHa161EKeyY
Xv202eWGT+WVhtc/XPx6Mfr/frggn+c/vfzxbG265FPtnBqXfCvVOsr4KPj0x9o399tU6/VN
cQO1rhS+cJXObYBU3UqqUB84fHLyYOVKKr7sBtlah2xNAi93Zt767ehvi3QpFaBSQMLWcOht
9Gm7lv3XJlxy2YUDRGots+eHK1NS4QvXzWbP+lit3MOqOrEkyHIO1j/1NlTVpqben9a209Rc
iNan3p82sr/0aQe3lpabnXovd2aTf7ldSnm5VqW8VBTk8nYb+sv29KqhtJvSq8u16dXmQrSu
V5cb0avLHdSr3jIfbla10hR3RLvSwmyTgqU5XqOOlapAIdxC08pRrV/Zmku+KX1LU99kUVrX
uqxI7SterjI2pXvXf8dbS2JLr3kvnJkdbeKSN0lo+zsJP/LXfqKgZP7pzj0DqWpFkSDWDDXi
HW09GaNeixUpY8zB3U1H1eZY6flEu9KvHbgJ7ccgpzsopzGT0ni7DexFsbteq6XtC2f77Uxa
mNYM/dn6JkbcARo/QEtXtbSoIMW11e1Ou9KtanDod6qllDZnaVi0lXIZg1TujlTG/ZgNgrC9
TifDk1kUHQnYt4XUIrZi1Uq3tSNCGI3tlHz7B/I0gQ3E2mr0AU2ffN96oaepnVgiTp5i236y
YSC96Dqxmr1Eku2vEloPd3aHfKhD2iVN7HzWQwC7fNGSSLacSoHWNy0UgK7T9AJeq5a5Toel
QQVU7W2qdt2JbIH9qg4yvR7TOo0Zl+1U6VqtDUNVLaYyuJEWbivZ9pusMEIskr1fFp1uV4Z1
2lFub2ODLdVv3bYGmglYPW/53Pq494U/sXIvy7Hemvr5twMcZuznWR/3JfE8dby+E4eDP71w
3lOiQ9zPrXzmRTiWL8JLlDfcioIxT23XxxMTO+ghP5KYF2QeYfeWSZzm1o/nH16QeDDtDm2B
ZCtzUj/JswGKjtplj+d5P5vdvFDW07HrPTk+ORm6x0/GB+OxM/S8p6fOU/t0PBk6z546JydP
nhwfP6kv6sRn1UwLhwcgrNA/v0ezp/958QgL6KPnnIqnYhev3p///GH0+vw98vVyB2ebF0zl
fP/u3QfEc5cae0Qz5rj15fiiT2JAZZknFqWQXTG+E3bOcJyk3sRf4mLicu19f/7uQhJXRh6Q
WQOp972xH9nIR+IhHNiK+092NLcDzYsGDu1o7+zNDxaZRCc8XcIwjVDEAW3W//PT3gVpaQsP
tyz67w4VVlVJe8RCcuIHaEbP/qEB597fYoQpxQtTX75/9bfRqx/evPzxgvHiRQC6zaj8w5Q9
riKLf7zSZyT2n38pfJanJyMUE/EY+1PLi1wfjdAsNMzdy+10ikQRP8LA4zk6PUETvEkehnMW
VDjtNBTfSPQy4QhPTi8Lh59kisMLFKcUIXVK/kniyN9eOJadUshspnx7BV+W2GkRCSkOGlDP
l715hiqblUii2EEysxUCKqXqRLFLBFJyyU0KL7tx+UtuL5ApuJSqU80SIdhj/2goU3GRVaea
L1rwMkGNmZCOhkkwV7K4N03SeIIkAwu2S+QACQdmRkpZoiIiZpQlmnLmdo7m8eO5H7iCyM/K
FOER8eL1GyubJ0Rb0X/XXkapNA48+aGs7xIv+lHhxqzOHOUpk6mINUQ94NXRUKIi4su568cW
fwYI/0ODi72zJUKpZRM/x07dzLKR4ra87PDo6YGVjQ9P9n7yl6h8WF+Q1TMa23+/fWV9eHOh
JnGJoa+UB2dxnAZ24pey+Dp25njtjUdJiG9//lCqDhx+4XqlOsKlOX9nqDiuYsdBPM4E9b/+
+ycD78TN9WhZARzHy7LJPLhGaima+NM5XsCZoMZDWo92Am5Im3fvxYsX1s+vzpHuzLJ8lsbz
6QxVZILENfDza2tmZ9bYQ6F4syP+1s5EVGneXuqFce7t71nWq1e4pIQxGrv9WCXhaCRanLle
Irmdee4HWTlQSB6pkaio9p3LnhNfabQ/VaLtZRrLInQv9biCOE40qhtONdo4dmaGSBM9f4sF
sUNgyOFQoyLko0J6gR6zWomqi3DIxSVLh9yVxJm/7CFaD3d9hqyk9lWPMJUr3FfKjW1+Iy3h
ye0Uo7FbIFP89E/ZNZSrIwvH86zsHnkeUm2hRA7t5dOjwwOVcnh4KGfvKjx9+kRmyTL34Ojg
qEwZyhTbzZ6eHp/IPLkXBDbqV0Z+lMzlmsmvgmfD4ZGcRB4mhwdPJEIQnh4N5VxlTuYjGGRy
WziuWjrCM/UiBEe5bubZWHX1ZvMyhXQcZS7fLVHCrEy5sh0lC5iGeh/fDkrEyJOrQIknQ7lW
CGNFjvIeHuaolMXM8VVKMEQKSyVlbomgBdJLqCY9n0w8pDVHuHeUZcaf0k0YE62XO3KyarmJ
6GcIGF6uqSA0u0zVgHRmk82VNrYX3kImODbi6pWVWpEdb+nJwkB6yQH5q1Gj2Ey/shdmjxD1
qtFUI2duYOZHnXVlCqj5ctRFKUIiC9FydOldh0obLyK5ZO6Ry1Txm/O3/1X0D7gzUYlI9zDi
y/cEbP4Y00f05G7fvlV/eOs+tIUD8A196ICMoN2w6EsZYbCQa5wTUZ34eZwafBIFUJwaxLbr
mdj9zB6FodL8Ig0kxar+5z5uaPdmXpCgAZ/Bd+GnuTFC6tEbB5fVnio2S56G/ocxTK5GzmRq
KnjmPzlyTp89sQ2eXpYYqFjnxDNjNdLO69nRclnleXhwYPCKvOGB0SNxzAVO8+D08OiZKZVD
c0xhFsbkrTzNBw+2jYXHQ3GDBx6oG7OaJaaG811ToolzqYxZBD0bmtp3amoeJGampnYdU/Gd
w+OT08PTNDf5at2fyPzp8ImpljH92FgsA9Hx0xSNbMyF4EM8k5fvL0dmvGIZnJtlcJYYJcb1
Fr7joX45x88KmBVDnS/Ky7HtJKYUxd6u0WuUoPkbmsOEFd5MjYwmiwaGpIphbKPOOTJJE/Kd
jCtCVSsL7FsatglQoJ4Z/ZqrbyTmqqZmIfrQJNxjO0c9yfUonIamhiMlJM+wGTzzJBzlvknL
4j6txzo1k3eORoamxkQeaBiSzHzHFCuZaZvwQH5ZRmgPLTQs7alRF807dO7DJrRtXZ1YuUcV
K+O3W67VtjTGfvToLnsylfswFtn+y5RhkjI8stZahHXXC10dxivmOM+PxOo7XuBYWn5kjf04
66OkLaQqy989qkUJKUmcEZ5GEW/Uv8T9pYWfjiV8bG2tRDg5LggouJUsPTSWGF4S/UriRATe
q3I37X25i/as2DW2w3Ec9918/Nxy4zVsjVQ0N952awEASFf1cEUMHi9balqyC+HGkdeyDA3o
/CIzyJJrYyWEhu696Rj95JY1oYulkxTN0ZASytAkAlHD2PUnPlmajGLLQupvjPiyhWWztVXX
4xHNEc/EJzGMEXFGGXwUSbBAoYttgAR9pnPymc/484woIpKwRxcIJzHNCsrmjLL+gT7DSxwR
iZ5EhOLOaLx5up2yxlqoNVkTIlDIHJYBF8sA0/C84vhdsccu36axPn+2vCVqwUOyccbbj8Ty
YCaULYiTfMJmDa0uzm7gRm+rd113nsu7w62MCHiG8QFeeVTlT+ZJ7w1eIGyjLEUaGxjnuOG6
FIciQZ0POts589K4FbN1R2Hqjr/043RKizxPsjz17FA9KFJ7/OU+HXlpKkhoZ/hCgpx3ix9i
WVMF0VM3L24ahVqFLJI+yxv5kc+v8Dp/TBkHYpvT6vVop0imMb0ePRHRwyciXihnIXAqvR4N
3sMHR16wuJiPhzeWe84ksKfZi0d3OryvHdgnKawlRnrYeH3x8SWYFqIc0G3CR0r9Bi6v4Lsc
YzZVx1ri43nnmUYaH0nei3IvwHxdO7eFd3H+iUgi4/AzIpuXi5BRkut8Fkcv6A+hPRdDzPqD
V4Mgduyg+fgV2e6oOIIllWEPfacqT5EKOV3JpdfIwI+QUiDqCREm1P1XnfiiDPfj3NdNz3op
x7zIv967Ib7vtff/O/vpl9IpsMnP52fkDv0Zuxb2evTDu/cfzn/4lV2xejEsmaPBHPhe1rsf
frg4+zD6/vzDxQsaUL+zZbw6lnruPHLtKO/hS2SZuGaGiN4E/V6lfu6Re2nRFPuGfoZvpimR
GG+urVUprlUjrlsdtqMLsTggXnxAA1U1wUOPNg0+1DfpBfbYC+QWYXWFJRSTvTDJr3vj2L3G
VwBR3+25WK96aYR98Vq5jS8DOvMUzxoF5Xp4iRz43ha+FYMlwJ9GKFdu708ETbaK0ft7HLio
ya+RupLuHpboExwLJWNBQf1siLr7vTevy5Ag92F6V3Ya9dg6BqF8+ib1gjTmjii+QkMr3ytu
TK6xW1hzn2Dd/DAn0/LSP0rZy8Kxq8ZElTjSywPst9ZjoHu5gxS0N55PxfoBCvMTyphGXP0c
IdYNiUW6GZ+uTOEzaq2cLtSPDDJqoDKjCMhYWaFGaz5daM1ce+97fN7JupohNcrqvPrQoV4e
41FETLx4eSGVnxH/35/PftSIP7/9UQ+ez/DRKqni8ThET954vHEczL1PVuOZRxzefOjxx1/O
LlBf9fLizJLSwr2e+q/ygCRddJCPSWLWlx8+vB/8D/6rkFc9N4ni/fDqRzawSL2cSCYiGs9S
Jrj6FmU5m+BRXnYdOUoRQsTpZ7I2IOKPT7+NZD9Mnc9913BKFCMZH0tQCvYhtdH4hm1Msowl
jIrmgMk8tzDArBxTev+Z+O53CJ++45WFPh27egmXk8zJg1IrR1lm4ZvkRVEQcZ6N8akkC3US
fsqJ5hO9SNn6+DSaIqQU7NM5nl/aU3xnndZay+dI1bOjP569tVRVyOaNPbqpnfVRhgQf80Ji
pXi3vd6irbFsun6IJ77hH0dZP/eWvurDTwTpPnjv0AldUyA0tpn1Z3kYCPL/76efB3+GCRkM
2BEOtMzVMPgs6mm5NchxwJmgErGX3Ere0eik8JCTkviR5uuREW6ZiBDryymtt7YHJA1yXNNG
g7bBn1O7Z8zLhpLtoLTmBtlMwiEawMzsoO+UBMmpEOjZnrK6b5HV8nUtJvOZMdvMFik5JKV1
bafhLbTsOqMwygZ0hMh+enQs2ceebRVLqVg3drg2eEkmCRSyaRwO0IAp98dxTE+wFGH6h1rb
EFI5PDnMLMJ/j7sdrDdNCaAozCxFHJUsRSypfdUUC2W5QJOsqkjw+ouJo4gDc7QthHT1BTVO
tSgqzVdW7hvKTaulRwoJ/3dYWfr+oSSAG8rBJkp8Wt3epCduN2lxGn5qD8gosUdGiUUXUTow
rxyBrAhEDSRVn8BPQ0vSNpaCV0vRAZYCd0tRIZaqcdgR/NidB1rSFNcyFXVPg6IDRhlXDj/G
GRpL61doSCDUi5G7JTSkckJbMNAJQiUHTtf1yOWnulhSb4raML02+aHWTezcmZVL2nAPi/KQ
6alWPNoTl9wDNJazUa1rdNRl5amSFo3bD72ULTRJfvr9LzQTlJ10DVSmuL6jcOD5veyeBLFy
9enPsVr0P//IlCxgZy/wlsoheUKke2I6nay2KC1DVkokQtlNqqBM3OgAduPJ0gHsRpOVxpGl
qldv0Zkv6ZAlBMl9k5t36rVDeoGIjOvK1CSNp6mXGbhTpBvUOxeqR6+UgcJjjiHnLeXKrrkJ
SC8lq9knhRsgRarRDFcuB3+aiAvX12mGi5cD48XLgeHi5cB48XJguHg5MF68HBgvXlIqkqKJ
E8+jikA9J5jjXfkK3yyyk2wWVwbG4qX7eZo4YRqWYWds9AlqoupRiJh8KvOO/fDqq+ZTeRd1
YMDAYBxcklVpzSObeV7ixoaGDC4XXupPrk0it8qFVEqSJRZNAhWZHs+uTo7VC1MkBddbGPi0
O1HqVRwRXdXdI8Q++HPuzcs0ww1BTMaapkSiY54S0Z2HpcuKA/VuAKNo90N5hundUfRdTi3w
UzmeCer9F1Stks/qsqt3VFa6GMxj0C5m4V0CpQPEB7ZLjc8Dq+nmzrSXIrSiMYSZdzROfXdq
8gzV+MmSrnY90/bRCEBVS1J4iapeepYzULoVW75lLLF6ZV7u58ezo+PhgcFn6cdHh0cHI35M
p4bFja+iSqYrPDJUEXqri9s8Pu1ylfGWnOmytKgP/Y5U+R61qJ7SxayK+9VFTauX1gi7Wjr1
wnERUL2/JoOrdDFLvcstM5ZuEcpentlLvdzGqaV7WTJ5RC5umQoQjsrtKMIlpppVb9txaum2
WRFFEnhZaMosLp3jGCsVk3t4v67HDlDPK1r4mVq9pcvxQpDdfOSfHB0ceNpt+tvcnZfRWWK8
5ZV6cnvd2AREA9hK76N44Q2aUkSul5mqW7ta2nBTn4cz3FYtcoAvuiflm/nNF/yVCFRW9eK/
yETpMiun69dfm00FqBXS8zO73BJGdeviyWpq6jSwl4062nKqjt9zMmVkVWGTQI7oT7WDvYm5
ApMlAs3kgH79V71p+6e5g8dZUxsaM+IJSuKhrt9gR8WUczk2td5Rb2ZHbqAIejJB/FV58ZWO
euznoVHCSNuUBMJHk8mV7C0UHvPIOO4g5VBWT4ogE1nmbma5QQw8TXfSb2rWQVLbhrv4lUYf
RKd9nama6TbWIER9ZXaFniPSZLuu3P5zn9/pUYmqbQlKGH2KjcOABZrpJ8YeFPuUsO8PDIYq
EJUeWDHFEV7ZqVe60F14lpGGolLNXiBCYflC5umhaV7vk1n8S9f0pQAzNK03axbtDr8UKven
M2PXrV7vF20Y5V7Qm7m2HltiB16em9JH7L2yvMglTQO9nnp/xOOsV1pm8WOTdnqWTDI+B3km
N57tKGNFsroxMXUGagw9ssgtsUVxrk5IvYUX5SNC9j1t7Y4sXzansrTzXFHWeOI1KM8J6wIT
c3FaDP5EJyUj31HmiwW9YvJRSo8tEikVWsHqxPnMlBJdz9Z8yvNNJVYnnpiQx/xcXy89GsxO
amIzA4T5mlsk9JURFct1TTJFVSDxNdSFNp+nZNSda61R+FTUHvbK5mM919ijLIjUZ+7qgoA3
QHRqPjEQ7RRFXFpQWhrNL2AqUuza4ubSaHZhWTLSsNTNL2BSpEzgKpZxTWvKxvXtPxVQzMKS
IKL0VZsGkimiqb1Xtle0V7ZVVCLgGJTzMHQDXzpAoZxumpkPWSg88kGMXhy4hI8pS5nPTp3Z
iL71YGZwkrlm6YH7VZj44d5Td5zlytRL8R7jPSrdGAb39uPSLEbxNVsJUn1NpoLKHPV5qLYq
VOKgs7nSKEZlxBOpUU1MJRVBD6dVMV8uwl5d3YZeGCt7e4ov3gZBBa/xrrGqInO5MV72IqcA
69JCQ6fyIrTCUxpgK355akdZYOdeXY6RkJZH6eZIKhmcKf6vzpu/jlPFM0nmA/xd3jpUmOJk
REfbVQz1vqicfmVN41tIleK3rLG0I0RUt0Ak5KnaPhJn0W0biVxXGjjiHFm1l534lRH7cZ1v
lX0kUdywTsHUG0QqCl1pFUmULSS2Sip8ySLU+Kluk6vIx3g+dapVlHqyypjFUWlarIaXTMFJ
9ndEP0IOV1xnuRf2sEebp1fk+9elQys4Gd69im5VdKe8G12bfRtzVtZeYvU2X53Fm0y3eFNl
/YaTstzFiJNJdGKqkP5cBprNnFvYyqErcSgC6uKLg5wgTOlwAl3i4y6+XsfdrHPHzsKWjpV4
qOLiKZpuZEe2myWHpygF1SMMTg6eEFqYOKdPjo/RAIm45CN5lnL8zsqOnh30PvlJQNJDJUxS
lCGb1XsQT2j92IGD3xtyAj9BCloYW2nxXGdbZniEvBUmUTYl4g/TIM8GZKQtMzpaw1WZ0WH9
xe1s6bRu46ZsYYPldr8QfGpUpNzbtdKf0Dt1649Z66vbt2JSWa8bv06zTSZLODiQdxIKgLR2
LYgms7/F75nSEqz1TVN2L/VO979ptlp4yNQQcelRUF4j/MMpXkkUXoLtLr1NTRnL73bexdaT
IZnWX+XD17DbzbPI8F3awZzvlhQs1xVbq1OxTAatq1SSyv4emggEd3yudhmYYE74qckHOxiM
Mxd36z1yWrA3Q3rTdT1sp2WzKfdnVq9Hrba8oNX83Yj8jsjp+Vk/8q64LQR8YYMsqSfXtElG
1Om7gTUayZSZ6h6Rg/UlYt9piHdEOjCUYz2BwqucEvcwJlkEc/CNkt7EYr7YKA3KdT8PE/zf
czRBcGax9eji+/O3+N23j48ESD8+emR9911DODXYqqHenH9/9j9nr3gwaRS4anApUcS7UqiL
v718fyaXEU8RVgr58/vz/3754WykFvamuUaDgx/O3//0dzUXIhY0oV81mtGrdyiqH0csGma/
cOXQ0jN/H7V3/laO5c27V//F40DDIHyF6nLlwO9/eSuHTefRjUrw88sfz9/+qKTOqhH3APYU
qcr6uPCzk/9mOWGCDTGamQxkZk8uXFQDyhiKGJCrhyG1dFfOUqGZVIopI9W8evIFL0kZ21Xo
edajbPDxy9/+98XvX3/86sXHL/voZ/DvxJqOZ308tD4OB9NHhgJY5VoeYmql2jGVUwlZItZV
upm/urqHorLpvnOO+1TaGWC1aRWmgzIrjys1sR76/71493a10ExdV2TAD5PAE9ZM6jLhqPVY
2WeY6Wql3jiwXMOVTGWRru+9ajxXyOxq0TRmW3CulHc0bamgr1K9NYGbq9e5pRDfTnbvJLJ1
klpqsbqmNrBWVVNjA5qEpVHU6gJVNtgq8lSShDrpMbBWVgIVkS1eNQlaWTHB2WEW5z55adwL
vGiazyRrdlJhMspeXzwWWRRHgY/8bFRJ531iUfEVmjszc1d3Wk/RZzsBMR235kiLNZr1ZzbY
qhpoK1r+sdbY2Tk0bGqULa4FffKHL6ptKfpHTujivgW0AGgB0AK30AIFgGTHDmgFdkwX1AKo
BVALt1ILDEGKa9sVQ7ZMQCeATgCdcBudQMDDP7ZaE5DyzrHZjdE16INu9AGTK7UpVOeuyBhM
T++NjAX9knNHZAwk7J5ImCJfOyFd+CIqqLD7IWC8LUruXREzELL7ImSqiO2EgC2wcQiQr+7l
izSE7NgF6SKXcEG6upcu0hCyY6ulaxJ4SztNbVim2IlFu23K63It93w2lt1xcJnbyZDb1W8r
+u1ezX3A4rxNeQXo7R702ChF6tCl760eo5BCw/hkFxTPNuUVlOTOKkmmUdjv9ivHkYMUSw7H
0XZC72xTXkFH7raOFIpFde6AxnRD0Ja7oIG2Ka+gLXdcW2KlUnzugJaEXacdUT3blFdQkzuu
JqUtVL6D6jiH31pYxV3ZKX7pPbPGHlaBORlwupad0bd8s8Ie1ddff239xmbyv1tnRLEcqt5/
t31iKQDb2ZxH2LhANkOR4edP+uifynyFmL+13saWM/MD10Iq1vEy/DqNZV2gSugXhrdIytl8
jC0oMjNZPZIRno1hu8a/DtU8CGtppeQP20mepc0LTnyKlP8C/7b530urZ+FGHiEB6AfxtI00
DtC/k+Nj/Hv49MmB/HtwOHx6PDw8/sshopw8PT44PD76CyYePvmLddBGZsr/5kiqU8v6C8FH
DV+T/5b+k+yqqhYAD9dpARC5ubnBifV+HiAlG15aIyXBtVo4lBJ8ZRGN1YJdQ+TmevI3bGwT
9XyBl1u/W3/9q8XTprQWrDWLxAc0CWqrFm8I0lzQn76zfnvGesqksNl1OBb13E5RWRnZ1IhP
LQxTpHdDJGim2Zdx1lU/oYp5yfhvq3XaghnoUtwYgreOR2BXMn05wI/B4bfAZu1gzAjktgRs
JSA/aRfIIo1/MAo25D9PsJErF6/GFgybhHQ7hZZLy5LbYHH3W0WyNRpZ5L/i34j8H1NVuswg
fzDnnvXR+jiwBjjUiEb5GT8O8Bn9YtpHzsu9ERH5km/yMcL8mIqiwtyDgYVD7ZOgNCoSfPQV
Zv5s0f9hb8Q4wiHR7z8YCXmR4CiqAYkN+7IwJG8oAA42oFGJ6D6SnKK0vqQknBguAuLcQ2Ub
fBx9xPlmYXAZR5+/HH2F64q4ke833BuREP+Ikfoksc8k+J61tn+t6GKiYzyhQO0sRIoGVUoQ
Wb1sgia+YW95eiL7r1FtI0XGIm5pPMRiR8C6RNFhO970qdBG9zT1Equ3sPZfn/1w/vaMrFL+
+MvZxYfR316+ff3m7MsgjqZf7VvJfBz4zgCvL+JXEvszLFh7XzBbx3fUfjQvPfI4Wy+L56nj
YavJ31F6kahD7DbfMMtegEYfubfRHPM0aYbX3Ab05VZnZkeRF2y2WErKt2qNaWqjKFjSG8y6
nO6tMj7xbPwmdLbRXItEmSARK5FGVOjUu4rZJXmlcJOlpSkaiqrASSOqvGqV6dR1o5E9X7nJ
emJJ3kqMo9DfaF5xeqYW1TVJhddd2yeZXWeut9hooXmahoJLMl4i3bmg/MnMjZaUJ2ooqmh6
hXDXYmbOzHM3WkaaoqGAWp9i9NAVjhyHjOUy7aZVk6OAG60ZkqB5jHPTrKe2s9kBAU3R0KpS
c5dIdy3kwknmGy0jSdBQREU/acQ7F9NLM5/Yz95gSVmahsIWQqpS7lpMvHOzySLi9AzFU0qu
EeuVj4SBEmkNlYPfptx0BZE0bzUuQoHjJI0nm84xTdSEUaVn1aklKRBIVynldhzYqTPDCx3V
HjesOB6O1ELo2ButQC3xW7W9HEtn2TfJgCLRGrGdJkS/o6Nhd63I0jfXhoQWnXpXncWz0VXx
K4qtC4nZh7xy6+NXbvW1OkZx4/BgFCdZQSkWxyoWl/TVD+NCTmnNoJgbj0iEColOl5X5qDZX
0+c0peG/OuQtjSLV8ZY2LNH6qILQo1Wr0BQH7yQYZbYIB97p8ECloP9GfjSJy9XD/eJEpflx
6v2pkhI7tUOpuv0Yn1DzJwrFiaMslhNAtMm4xDTJSoTLsVui4ENVXrTAra7QIy8vcSaOX6bg
/V8H78/KVLywrRDyJCwFnGflnC4yJytHj/I1nqtxL7PRlZ96+KkVN7bI1rQdZX5xtC7LXZ/I
HN+yLnatL/DG8gDJ2CCaY6+lYz32i/een9N3xx77z8lrz9Z3M892kdz0ndllPTIVANcymOOo
DEvDkFKe3d8jziRRrOBypH+Igz1N3vt76rnzyEXKghwtRqn4V34+o48zWuJYpHximZWohyLH
h5UTP7n1cUxpb2QNUQzYLtEgtFHjTL3IQ1W49nhdb2LPA1ThIX6jujcJYjvnrYrUOWkxsmFE
id7S8RJxgNvLctQ+9FVMRAgRA2qA3icszcSVZbi1EpxvHNrOriNnlsZRPM9Q9q78yO2RLKLA
r3989Qp1lRej/z6/OP/+/M35h19HLz98eH/+/S8fGg6gRzEBoUMEkh1+H6Gv/z57//27C3ym
Hcf78tXP5+zz55cXFx/+9v7dLz/+rVrCX7O3EH94//Kns9HP787ffjh7X5+RewsYLpWmvqcX
Hg2xoiqv6fuGVX7QDKAZQDM8UM3Ah+9+mQB6AfQC6IWHqxeUWbxvJoOOAB0BOuLB6gixpOdr
FNAMoBlAMzxYzSAv7fsmIugH0A+gHx6sfqC7fL7qBJ0AOgF0woPVCWxf3y+5K3Y71fM61b6g
U0CngE55qDoFnw3yZQfoA9AHoA8erD7gxwP9MgH0AugF0AsPVy/wU8K+RgHNAJoBNMOD1Qz0
toCvOkEngE4AnfBgdQK5MuQrLtAIoBFAIzxcjUCuDfqqE3QC6ATQCQ9WJ5C7w77iAo0AGgE0
wsPVCMx+gF8mgF4AvQB64cHqhSUzI+KXCaAXQC+AXnjIeoEaC/I1CmgG0AygGR6sZtDOOftw
Aho0BWgK0BR1msKsJUBDgIYADQEagjAxc5Hm4QTYkgR9AfoC9EVhVlbTE1Q/oLitnvfc8t0X
o8dfEoO4ZbOT2Dx2nlr7v30bxFde+u3vvUF/HzvnSYKdo9Fo/6vn2II2Cf7o3/1JhETReuy7
j/Rn3Wb4EqjMjVh9JGOUu5mdF/8/MQx4wb+7WVDNZvZq4ZPUnoa2lSDPL4+/qg8izJH/779b
vx30nv2+bzDw2ZbZcWrIGJsd/2zNI//PmxauoWwshBe5/sQafI2bzvp6UBmmRsbk5/ruLGIi
spUkrJK7UcCaQ5btra8UulK69BDVwlXYiNy8bK1UsvqCNUqWEqROsLRnE+8uXmqUqwlZfZhm
UVsxvNme/w1iqha+inA1IlgyR9iBIK5e1lWK2iyUekDzk4Yz05OGsxoxVt6hvLMEF7GtJLzV
7I1yu0JQ7a2J1cJXCqohSLWMSubwNi+eqxWuoWyNQqmGqXhNVBHIglrxyKbCXVBr5Lf8AOyd
RViJcCUprg3RKMirhTa9krJyLJUSbQ5VLdSqJbfNy/XKpWwuZKN0a8FqhLB42/bO4seiWknw
KngbRa4pnPr6zgohKwWszF8tWtwI2OaFaoUy1RWpUZCkAHWP1qo9t+qlPVylvVlVO8+W3hS+
s3zyuFYS0CrmRgltDFh6/mmVsJVCqgWollJhlmrzYrpKsWpL1SiocogaaeJPPt9ZlEhEK8mR
kbNRiOpDyQ+GNYaqlB2Vu1pwqO2hzUtNY2mqC9MoL4Ld9CS1os4YqUao5Ge17yxYIrKVhKuS
u1HAmkOWH6JbKXSlsOkhqgWuMG6zeaFbqWT1BWsUPiWI/lC4In6EUCd88lPnd5c+Edtq4lfJ
3ix/zUG1hw9XC18tgnqQGhksDKl0IIQrFa6hbM1iqISpfs9dkUfFo0Yui7fp7yyULKqVJLKC
t1Ecm8KpT26uELJSCsv81SLILXZsXv5WKFNdkRolTwqgip08jCvTaoSNPX26BlmjMa0kambW
RklrCKY85tocrlLMSuzVUsZsQGxeyJoLVFOeRhEr+Etvict9r0ZUeSUxLZHqZJE9vLsOYaRR
rSaNZt5mcWwIpz4nvELIaoks8deIJDNC0IFMNpeprkjNUlkEqBEh9ljzGiSIxrSSAJlZG+Wn
IZjy/HRzuErhKbFXyw67rL550WkuUE15GgWn4FdVVKHmVEpJ6SkjPZ1aJ4viqfB1iCOPbDWJ
rOJuFsrGkOWH0FcKXS2dWogaARV3pzuQ0VVKVl+wZkmVg8ABSzhgCQcsH+oBS+WmBt3oUbql
olNTKTXd0ZJdKF9LdyQiW6k7quRu7I6aQxaVSRlXCl3ZHekhqrujpbiyv/nuaKWS1RessTtS
gtQLFr2QvC7JYrGtKloV7KvIVlPQQrgY52rh68SrHKRWvvjV704EbIXCNZRtFRGTwpTG58WE
r0SqkUXt6utaZFKPdSXZbA7WKKM1UawibzXBq+XOcLF48/LXXHdVctgcsloezWG1cxiFWtSI
pW5aHtFrxBXleP0yfAv5vaPs3kFubyyzncvr7WT1tnLa2D+b7u+tXy3yiG+uGatC3kw5arHc
WD9qMayoIsU9qI61ZFU9rqQoqwKvqCvl4Jq6lLp4nbqC4K5dYG8uqHcT0NsL5k0FsmtBvJUA
3lLwKgTO3IdX+1aHrg7ZNNFe21Ro9VnQ7SZAK819VghVN+NZdbLT1TznRlOcG85u6gRUyK/R
o0ao68IqDPoB4rISRjzeMonT3Pr51w9/e/f2Ba38UmP99oX1+9f/vm8tAyRCQZbTdrqa+YFn
pahqrauZnVuRHXrWzE2fW26M/b8YjP1okM3u2pJTL+9NfC9wsz6K7NFjnNgjVobRY5KqCsDH
KBMoi5nnWvvZN/8XV83//YbWyTfT/a+sz58tb+nn1uP/h5TTxQulos1wEUWjUbnJ+s7sklSc
5C7VrQimUvbSUFnFK5975xNb5TUJ5SJ1rRWG0kEP4WZP1KiGp41ri9preCUz9tKFJkYRt3lE
hOWLedr6mHmQzkOz62rmkiqGrTTjufqbXewZcaVihUt5CrS40VqqCrXaygb9tYqpqAZBVm/P
lOrGWOiaqnDKVaGxKlfyixfMtKPsiqSo76NqLW2wPWhYpDKUt1Z6/b3QvvR+O/r9W+uNZy/w
Erzrp2Sb49r6x103WPZJ7Biit47p/TxA7RteWr1XFi7AAGXcwvs28WSCun+kjooSnOH9hXUV
gSe2TzcB7+2GBuwAwg5g8w4gb4o7Vxgdx0YTf4o3zNrZWPzpp9fozw9WX8F537V6F3h7TqFa
WJGdHA9kotOOUis0wvq0WlkO5WLM2tFs+63UTluq/taxof9a7xnWWuQ752cwjuPcIn3ByI/6
8X3LHup37l/uWG957/Llpj4eXt6/jC2zsJyp347XDTFW+jUjDE0L0vbzTiXqng8bra0YOMLI
EUaOtxs5jv08tJN+jAeNjsVcDh49cp+W0I/UI0AfoA/Q7wz6CIEjJ049Dn7hJvAvfFtSAMpo
fH/v/dmbd69eHCyfOgcHBxYfzpAdkaMhHpekXhA7/Yu2c4MADHoJ9BLopc70UpbPx1QnTbJZ
nOa9KzIfQRqK+BDtRHn2AtfCcAi9YDKi61vIlZLRi5i9cF6hN9pY6qJq435MPMWSUHkG96Sl
2ecAtw8oTVCaoDQ7U5oooSwOxFiOOx16TYf5AUQBogDR7iCaeqPETi9RAQucSjQGVplrtRGO
aa62zlEOWau5H4MbJ71O8rj9oU1pdtqsOPGNyBCHeuGfoLFXp8ccmgHO9KSib2U9gWWTTriJ
UNJPIo1UFP0jXMa3Vu9DjpSExaftgjWILkWgePyHEyfXqP6ssR/ZqFnKPIgMXRN0TdA1ddY1
JXPRI5HTl7gjwrSWV9tg0giwB9h3Bnsb1RbHPfkmwKfUvS9jFx+o7+XWsuim6U2RXmbto/99
tuyrS2v/7XvrO+vQ+meC1ENuZf+y/pm9eHzwr3168J4ebB9Yg28OloPpvjjqjt2PBwOJ8L/k
ksXX3wysfhAjdA/2v7K+46v+aWgcNYjBXyuLetLYDzU1qvGzn75/82uL7X1rRQgnZkH1geq7
gerDl2O46iPf5MQspa426Wa87W4rrDr7hEESDJJAU7R1QipOMumEFHbxE1LEB/AJ+AR8doXP
KDs8efLkgAOUOwlChR9AFCAKEO1weTGJ40BaYiROvsxI/QCiAFGAaFcQdePQyQVCmYsAlPu0
dQuIbOjCHBfQD+jvDP2p/weSYE/gX7jp7r/wBZQCSgGlHfbRNl56Fn00dvE+mvgAPgGfgM+u
8LlAzcLRSb4JNikVkAnIBGR2hcwMNbMtRrfMRS+SMR/AJ+AT8NnZAjE1+CsuRRCXUzwxtOqZ
jGKmyrvdVo5nwJoV6AzQGR3rDNWCLVMdZbO2SD2U+FZTJOLKZLGFXAwVWjl0qt6lXq85r2Q+
Sb0/5UtToLlAc4Hm6khzyUanmd5S7VAjXaTwAFwBrgDXruDqp39ymOJPAk9CA1gCLAGWne2G
eeO5sKNAHXQvjNLXO4ROHB+GzwB8AP69AH5gXxfAxw4GfEIHcAI4AZz3+Bwp4BPwCfjsCJ+X
qC6L5XLmIvjkPm3bCqWL0bB5BmoA1EB3G+4UhdKNLOLkN7KoH4Xoz1YP5eIXavENzKDcS0UA
egD0wO3egPCiPn6r2CVPPlAH/+1f7GHLTD0PG2dCtI+Y+LEffysc32KDTv8pRfJd8S09Ja0S
JSeMAWAMANjvcKredJ2k3alA4sBTK6ACQAV0pwIQAjn+8ScBP6GtdkqOsrZ6HA50BOgI0BGd
nrM9HQrjSuSbnqolVEAmIBOQ2fEi3iiOXC+0I7e0mlfQ5WU9iRvQC+gF9HaN3tDPnNE0RqPd
KE6zMoZLvgqSyyHXfOTNzrIcteF8Ois/t7O2NGwngXN1oJBAId0HhXTpXc/QuCDw0uJ4gKCw
IwIFB2AVsApY7Qqr89wP/FycguVOglLhBxAFiAJEO1s3Wyo3PLmTrp5xv5Z32PD4GpbPQQ2A
GuhMDdD64FqAuYgS4D5t77IX83hQBaAKQBV0pgp8JMvinVXqoJfJKR3ACeAEcHYFzkkwz2Z5
MOb4FG4C0cIXUAooBZR2t0a99JxieRo72Mo0oQM4AZwAzq7AGc1DWzzDh78JNCl1RbOL/OqZ
4bRK5ba3tODdrmVGuLkKSgaUTMdKJs7E7XX8SVQMoQEsAZYAy65gmQR2PonTcDRDSElxCcXF
Et2H3jMxhAAMA4YBw52tTx+dPhXL0/ibrk4TKiATkAnI7Kx3DTEQRI9KXbQXZT6AT8An4LO7
nd1iW5fv6QImAZOAye4wObtKvak4eMVcBJvcB/AJ+AR8doXPwBdnLfAnQSahrfeK4cJ3vRju
GALoAfT3APShF8apuLbEXAT63AfwCfgEfHaFz9Qbx7FYaGIugk/uA/gEfAI+O1sIrjTYB7AE
WAIsu1r/PR0+eSaWgImDrgJT+npntKzyYUoL2Afs3wPsxyMbVVixAUSdbBeI+a15TSt3yya5
2rs/TBbQ4NAz6BjQMZ3pmMVUXKzAn0S3EBrAEmAJsOwKlpM4ykeny8NjcWlYEOit4cIfgApA
BaB2tu2EWsOXLyUUBLr5VPgDUAGoANSue9STco96ovaoJ3zae9Km6bwBbR6Y/IJOAJ3QmU7I
x/iCf2FCjzmpDT3uBxAFiAJEO+62T0u99qnSaZ8CSgGlgNIOV5G9rFhGxt90HZlQAZmATEBm
d0Pcie2yY5evz9+efxhdnL36cP7u7cXo3ds3v9JhL2Fho17KDqAF0AJouwJtFOf+xC9eSxJu
avZO+La8UCXZdx8schcWq0ApgFLoTCmAjXcAJ4DznoIzH/s4G0HDQJsxsaE2D7KaBVtyKks+
+CFvWUkrYTDtBn0A+qDr21T21BuhcsXi9LZEoXerJI52rUvDMWvQB6APuh4fLCe24zUMDygP
Gx2wAIBbwC3gtkvcpsJuQQ1wU2HOoAiy3qtZdqhczYrHf7jzMLF6M7Fob322EEhRC1j7g98O
es9+H/wz++bg4OtvDr6ZPk/+tY/8r2Y+Qm3q2a7lu0srQpVhZZ8QIcufW25sfdz74gvHRnLy
6DH2e4RgSmj9HMnVZ/K3//XnvmvnNv2LXeMs+4pwfZGjeKzHKMJ/e2EdWJ8/W6ihkF6Ye8+p
v+fMYuvRGQb8t1aGhMeKJyL735IkLT+zDpYojkfWd38d8nBLH8X7pbdMUusxzvh/WIdfPaee
aLbjkC8XCTquFidOrq0ekn0cHVJXDkaI1U9jnN8XfT/yc+ao5OojJXnYP1SYGa0hzNAQZtgQ
5tgQ5rghzKkhzKkhDPFNvYCxc2cNZx8NSe0yPyXWhUrjcpA0ruc3J8TphVSzD8JWkns+g95a
yecFANkH2VdkX0i2+DTJPxsjbq34s/yD9IP0K9LP5Zp/mWWfjrK2WPhpAUD6QfpL0s8kW3wy
+V9pn0AcXFcHTuWOpIQtLS1xtKCNJUnlCsxaZ0n0xT5ftWKzuWMSaJIGK62wYgMrNt0ekxhR
JSadlaCU4sAE4wCsAlYBq11hNcyEzUn8SS/MZ2BzEmAJsOwQlm5oi6PH5JsAk1IBmYBMQGZn
x4pSzwuT4rk+5qQHirgfQBQgChDtCqKpHU09JPHipQPupm8dCF9AKaAUUNrdKlESp/nIC+cB
wkOxUqRQ2WqRyrkJ41BiERvWkkFLgJboTEvM82kQj21h21G4iWYofAGlgFJAabc7PqGdqBs+
mCDt9xB/ACoAFYDaXXca+plTe5SesbD+lbIDaAG0ANruQCtZSJXso3LrqNKZTA7YLT2RybMP
5zHhPKZ0HlNINfu4yVnMYopYCt3+6UppDWm919ASz4cXAqFzhs75HnTOfvqnmPSiTzrdxTSA
JcASYNkVLDNn5rkjB9VjcQpZoRGgqlyAWEAsILYrxP7pR4tin4e5CEq5D+AT8An47Ozgo+OP
7NAdKUZQVSI9BKnybeKwBp4QwzkN0A6gHTrTDgiLYpxNvokuoFRAJiATkNnZAlWUp558NIO7
6VKV8AWUAkoBpV2hFA9he2M7EwehCwLBqeQPQAWgAlC7PeqIu82ycYs8VY1b5HBXF7AKWO26
U/VjpUtFzqJDxX4AUYAoQPQ+7NMOTRu1Q32ndgigBdACaLsDbeg7aezEroc3eoT5KIVIDUmp
fABaAC2AtrPzFXM/vRTXCJiLnq9gPqsdqKZ7OvKClDSWbv9QNd3rXc0ML5EA9BHNQ/xwX5zh
U+BJiBUC+phdpd4Ue6femBn7JQEGyulxdoRbJuIsDMq2bdt6OgwXGva2QXOC5ux4yc8phjoF
QVrwI/7rveiBRALueYASACVwD5RAMZfBAQJ91kPJpXkP4wW1AGoB1MIuqgXa90/nXlYydk9J
0viA8QBcAa4A1263G5DoT9S9BkKRNhooB2AVsApY7XzErY21S6NsACoAFYDaIVBDgdCQQTPc
6JNvSDRgiRxUAKiAzlSAnYudRfxJT9hhGsASYAmw7HZ1yvVwrdca/VQYpUUrHpR25k830Zkv
chc6dNAcoDk61RwIhbxDx59EJRDaakdvoO8HBAOC70Hfj4+PrdDzEzap36fB2j3OBzN4UBeg
Lu6LuqD7XkgcI+fkyZG6Oyao0g5ZwQm4BdwCbmHlDWAJsARYyt3pPPCUjhS7iy6U+AJKAaWA
0s5QOpvnbnwVCZRyN0Wp8JWf2FEXxrf0oR21EPDcDjy3Iz23U5Jwxckez9HwQBeMthoNtAiA
BcCChgUm3ZLjJk9QkX0TNilbKQC3IOYX8CMmOsu2tRVTY/I1RPXKgQnBhrKILd62F3vFDu/q
lYF+3dBO++LRO/EogGTBVFxkxzektAvam1jGRiWDZWwY0cOIvrsRPWoG6Uku7qTjee63OYWA
lPUN1Rw2o4H1PO03FLMToeI06bi2jFBIRVqxOM7MTuXcOsl8knp/yiRUSMUpVZtcamz0Q+5M
fdeLtYIft1NwUOagzEGZd6jM0+LxNvzN1HgK92gBmYDMLpGZ+BGaIF8KdHI3RajwBZQCSgGl
naEUZW+Em8aPio1ImUbRqnABYgGxgNjuEIvv1hRYJS6GUuoD+AR8Aj47w+d1OI4DceKOOylC
uR9AFCAKEO0OopmTBwVCiYsBlPoAPgGfgM+u8BkmiZ0W7xxyJ7Ubw/0AogBRgGhXEM3t7DLw
xNYLdxKICj+AKEAUINoZRP1QdKHkm4KTUAGZgExAZpfITGVopgU24UVgACeAs0twprZT9JvE
QcFJ6QBOACeAsytw4hO3qH6F3THmpLbHuB9AFCAKEO0KolHoc3jiTwJNQgNYAiwBlp31nFmS
IlbxqI1w075T+AJKAaWA0q5QemX7Yk+FfBN0UiogE5AJyOwKmcsQFSp2RnmQiT5UoRGkqlyA
WEAsILazieg8tMVMFH/TqSihAjIBmYDMrpCZOvPERUjg6BRugtDCF1AKKAWUdrYRGnri1Uby
TbdBCRWQCcgEZHaFTGL7iQITfxJcEhrAEmAJsOyywxyhFOVOk7hFx0l9AaWAUkBpZ5NP2/WX
vTz1iulnQaETUIkDsApYBax2NtD1UieZi7EuddHhLvMBfAI+AZ+d4XN2nbneQgCUOSlCuR9A
FCAKEO1suDtWhrpjaZg7hiEu4BPw2S0+g08xByf+JMgkNIAlwBJg2RUskbDPE2EhjDiogTBK
J09KoNhvX6r3c1Tf/fDS6r26fSQMccysYM+dh+E1aA7QHKA5OtQcqz4YCigFlAJKu0JpWPTu
Ie/bMQ1gCbAEWHYIy3Ec5xI0iZPDk/oBRAGiANGuIIoSi1GlF5fguJtegBO+xauLZzjidT27
SKEEry6CDgAd0F03rS44KS9dMKIjvXehLkz9bPVQvn7xj05PUEpnP5yT+kDZOvvp+ze/tlgp
t9YWbaiIbVAQoB9AP9xKPyBJ7QduhvVCbDEHHhoQ4kU77zErAwNQKKBQQKHsjkJJvSB2SuMN
JL0DhX7BtI1KjfcQXKyeZ+1nA+T5Eeugj/34W+H4djDdt/5T0lnfFd/9yLvaCxd4p08lSs71
7gUi0CZI2KTX62GmAzMdUDxdzXQQKMQEB3/TeQ2hUmQyVHEhNqDr3RClb0rcPDaoxeKU67jw
kmg5+bvvdJGj2MKrsigPXjA5GioOniFQXqC8QHl1oLzgqWDAJ+Dz/uKz+R3Stc4tZotQnliQ
ZZgn7WzQDOg8BvZpQMGAgulMwbhxaPviJCJzEQXDfQCfgE/AZ1f4vER16YkBAHMRfHKf9Q4A
An+MJuawuAjwB/jfA/gjwUWj5NTLMqoCXp+/Pf8wujh79eH83duL0bu3b34l/XbBRvtuKRgA
GAAMAO4KwON59MlPhrXo5TwEuiIA4BZwC7jtCrehF8apOEjAXASg3AfwCfgEfHaFT/wQuvw+
evE8etvL1rNFCGvWgH3AfnebYvZCYJ980w0xQgVkAjIBmV0hcx4tP9VOdQkDgStlbberpovZ
0FuDTgCd0JlOoCDs5XEcZMKOnUyjBu0ULkAsIBYQ29naF2oNHxdMLH8JAl0BK/z3AtfCeAgR
eEeoRUcIllYvpQvZfAuZD81FX7/+S30wKwetAVqjW6sfQXEPhnxTax+BDfZ4AJmAzO5H4Kgd
XC8tDcEZUR6Dcz4ALYAWQNvZBldqO8UOF3HQLS5KB3ACOAGcnYET3vEElAJK7zlK51HwKbQb
9qMIC9uRouwAWgAtgLbjyaqLwkaTuDRb5VR5uio4AbeAW8Bth/PVJJPmq0km5quYvtpGEb9z
LC43itPW8qYTW1SGcTZAH6B/D6CPpD514kTclhBuOqwWvq1uAIM1EdAEoAm61gSReKy0ZsId
F/NtGLYDYgGxXZ7aQENxD42tERjE4Q2JRM9wyDx78fgPdx4mVm+mmBmwPlvEinJk7Q9+O+g9
+33wz+ybg4Ovvzn4Zvo8+dc+8r+a+QhRqWe7lu8urQhl1Mo+IUKWP0dDf+vj3hdfODZqw0eP
sd8jBCFC6+eozT+Tv/2vP/ddO7fpX+waZ9lXhOuLHMVjPUYR/tsL68D6/NlClYgwO/eeU3/P
mcXWozMMxm+tDDWsFU+UInxLkrX8zDpYongeWd/9dcjDLn0U95feMkmtxzjz/2EdfvWcenqZ
7ZAvFwlizTyHH3H18CNypQOv5b13fXEDVTseRVk9JPM4m0hNORgZVj+NcV286PuRnzNHJRc2
+HjYP1SYGa0hzNAQZtgQ5tgQ5rghzKkhzKkhDPFNvYCxc2cNZz+IEYJL/JRYFyqNy0HSuJ7f
nBCnq6iRHIRdwZewBbCl4BL5XwuyqhGAM8+qG39WtI7UIEYsrrpIIbjbnM7wqyuSNNAbM1sq
CjTzLcsBaMLt0oRMosmPrv3Y/GBrBZ7kHiQeJF6S+KJH51+F3EMT70QTc7VFf1nzwhoHrHHA
GkdX99lQq/iRN7r0lp4j7rQpRHqvTeUD0AJoAbRdgdZJ7WzGwUodBKSMXp4o4IN7WzxTwNmH
qQKMI0vjSCLV7IONJFdaohr7eWjjlS0nTr1RYqeX5C0fy0nm9G8SxwE9b0MeESkO3ngL1POM
nJkd0fM30xT1IiOqDmLLT/+UD+dceteI0Q3IijXrNfHyWNW5nSjO/YlPuBN76o0QNcZBUMfk
hQk+0oNSm3qon8OXxp2Z544cpEj9snMo3AjvE+FAfVfknDw54oQ5yXM2m+dufEXuoSPVTouQ
xSmJNPEjlIVL/InU4YiNAPrF80f8gep+8eKKldvZZUDySO3NkR9cKHY3x1p4aYZaG39lCYon
x3m8skk5liEp9SgPMkxNnXniko0VcpxJOdWEasP1l70c1Q52jNkHnV4gjhh1ShPSyPjow0Bq
/9kiHGgrljJFW3YuzUflNRlVAGFeA0MkGCLdiyFSjl9SFEcuiYMeuaT0DTyiDcgH5APyN4/8
WeIJ4JNvgntKBWQCMgGZnZ2nIjgQR6moi56iYj7rfa/JdhK//GLj2iJHE8XW4kaIsLFktf7a
pJ06swEGDCoNDFtAOYJy7Ew52qHLNSP+JGqR0NqGPtaSgH3APmC/M+yTZWFxmVvc4G4f+2yg
AfAH+AP8O4P/2J9m+Kw11QDMRR+8Yz6AT8An4LMrfCbxVWEblDoIOhkdwAngBHB2dhaKyLI4
DEVd9DQU8wF8Aj4Bn50t+g/xDFMs+lMXXfRnPoBPwCfgsyt8sgbhAOVOglDhBxAFiAJEu4Io
ZhPvTVEHgSejAzgBnADOrsCZzbPEi8TeLXcSgAo/gChAFCDa3RA38Bdeel2McZmbDXK5L6AU
UAoo7XSUO3JQ23iydfsyuRj5yrwAXYAuQLezPZhkPvLdQBztFm66DyN8AaWAUkBpZ8cY0ngs
IEod9BgDpQM4AZwAzg67UNxHjhAS5lI3WtB4VypxAWIBsYDY7hZ+w9DPi3Vf4mLLvtRnvZcC
QzTZdS7bvM84Sb0/5fhXNKdDjyiL4xzFrrG0tMYHGWrdrN1ANFxsABUJKvLeqMjCBkvFizeF
XRbZLMtJm9ecB1SPgmYAzQCaoTPNYIfuKEKJ2bkdSNeeCxq//yxxrXk4laepPNgh6gBVKyrd
2U/fv/m1xbq9tdJpQ9Nsg54BNQNq5lZq5gppjHkywvXOtYxMusBKRuFpewCCjS0M2FQLhiAw
BAHd0OWKK0ahtNhKnHydlfopL46RKcqWGtKmmQcz2mBGW35xh0o0+WFGi9c6xp4tQm2IDd0d
dHfQ3W2+u7t8yns69EU6OUzZyIIbmmnDWBfAD+DvDPysobkG4E6iBoRf28bG0GgA1ACoAVAD
3a26Z764qEa+6So7oQIyAZmAzC73wy5P5Z0w5BJ7YNgH8An4BHx2dnYem/qL4ivFCiB2F4YA
iS+gFFAKKO0KpV44D6QXRriTYFT4AUQBogDRriBKn1Llz4z7EX9dfPUD52JvFrpdwDRg+h5g
Gk9RJ4cH8uwVO8X0lfgVO02tXPhQD1atpEjoY8zMiHdhq0m6r166b8dVj/xYsLR3bjpJ1toF
F/pqz3pPxIY3vvwj9g64Bgc9DHoY9HBXYysn9wL8TjobXjEnHWFxv5b1cLHhv1bdRJ5zx6fq
4DgR6BrQNd3rmtpXlls+SBDCOQIAP4C/w90Qe4qKJvZCqIvuhDAfwCfgE/DZ3UTAKyYBHp8A
wN4HwBJg2eWYeSHm5viTjpgXYfsDZj57hmEz4B/w3xn+UWIEieIxNO4mmqDwBZQCSgGlnU1u
h6KXxp90WotpAEuAJcCywzltz048X5rYUjef3TJfQCmgFFDaFUr90+GTY/F0C3HQB1soHcAJ
4ARwdgXOKPRHiJXDkzsJQIUfQBQgChDtcJQ7Up77LQh8nMv9AagAVABqh6tEvSSXFoqwi68V
ER/AJ+AT8NkVPuNkFMauF4wSMR2VSQSpCg/AFeAKcO1y3Iuviv0599PLTB78SlQxApY5AbeA
W8BtZ0tKCBDKIx4FgS4rFf4AVAAqALX78TCqen1EjImlMTHhA9ACaAG0XS4yeeoqkycvM3mw
zgQQBYh2DdEkdpWF4NiVVoKxH0AUIAoQ7QqiC+k63ELch1vAhThAJiDzfkxK7XwWxJE2LWVk
dWLKeQG6AF2AbmcHfTGbI01OCwI98Fv4A1ABqADUzoAqVnt9tsTrw7ouYBIw2SEmx6jW89Qu
pqUFgSBU8l/NDis+EBGh3NOdVvKyo3g4pjDBWxiBpNZgpFtz8sFi7YiFvIvL580bsCLpzDzn
ckVbvii72D4v0RF9OvoI+O/IQSDw/GgSk7LhWGULvtha5QDMSoJmBM3YvWaczlGtjq7s4HI0
pMrx9Y+/nF18QLH/eP72x9Gbs/8+e3PxYkhesRS87CFLJWzL9reRhlqziVum225qgnspzIYU
d7jUk63lPX19KUXpcNqtNzBFBHoW9Gznenb8yQ/tKRt/vj5/e/5hdHH26sP5u7cXo3dv3/xK
BqWMhw5JeQDALeAWcNvZak76p1jOQZ90PQfTAJYAS4DlPZi2HNVMW44api1HgGPAMeD4XuD4
uAbHxw04huukgGPAcZfXSfM0FZdI8Te9OkqogExAJiCzM2R64chbeIUVsoJAMVr4t20Vny6p
w0I06APQB93pg+K5Sv5SJZjaBkwCJjvuo9Un3iSK6KXVp95QmVHSZz99/+bXFgt+a43QhhrY
BiUAOgB0wK10gBN4dooxLs4oSpQLrANkDtABoANAB+ycDoiTa1UFCALVAIU/DNhhwA5A7Qqo
tFKl5yULArXCVvgDUAGoANSugOqG/ihz7Kj23KVgItgtggB0AboA3c6gG4e2H42wfLv18JUZ
KYSVoABjgDHAuMu17Wxmp6XFbU4Sq9uCB+AKcAW4dgXXJESF9MRZLu6k5hW5H0AUIAoQ7Qqi
6pMd8lMd8EQH4BPw2TU+89ROBDypg6CT0QGcAE4AZ1fgTHOHQxN/EmASGsASYAmw7AqWmb0Q
hx7INwEmpQIyAZmAzM7Wb1Gr+JE3uvSWnug6VSJdw1X5ALQAWgBtZ91p7i6mtuhQqYt2qcxn
Lx7/4c7DxOrNClNT1mcLwQXVhbU/+O2g9+z3wT+zbw4Ovv7m4Jvp8+Rf+8j/auYj/KSe7Vq+
u7QilC0r+4QIWf7ccmPr494XXzg2arFHj7HfIwQYQuvnqIU/k7/9rz/3XTu36V/sGmfZV4Tr
ixzFYz1GEf7bC+vA+vzZQlWGEDr3nlN/z5nF1qMzDL1vrQw1oxVPivx/S9K0/Mw6WKJIHlnf
/XXIAy59FPGX3jJJrcc45/9hHX71nHp6me2QLxfJHCguUFyguLrcLbYdx8syebOYUcReMecA
rAJWAatdYXXhxzaqMPHSF3MSlAo/PM7A1xasHqpw3DsjjDi4Wax+GuP+/0Xfj/ycOSq5/v/t
vWt320iSIDpfS78C6+0Zd/dtkCL1sFQ1rnNctsqtbZfttVz92KoaDgiAJEoAgQJAivL0nrM/
496/t7/k5gOPfEQClASQApQ6tgREBPIRERn5ioxEI5p4NBhxxBms5psx8M245ptj4Jvjmm/O
gG/OgG8INnb9jDx/raAc+CFSH4GeAqu+ikPxkzispoczyuHMMDF/IoRhs1GZk4XlhDdsVGZt
5LWR10Z+X/5Atlf4AqFH6geEYbpZ6mapm+X+xl6x53jWshx8Ze/Z6CvH6laqW6lupftqpZYd
eZMgsGeF6zsDIS2VpWh2HL2wIj2I1nZA24FHYAfWPrdQ4jPrJBlGt0/dPnX73NuuQ4CzMmdW
MDpclOERWWAWKZGjK+9kbCdeahAM6WqYDpmqzYM2D3szD/ktp3lMJvJm04BMFLMDS4DG89oM
aDOgzcDezABqgbkNwI/EABCYbpa6Wepmud/BuzefnB7zQ3cKYgbuGY1urrq56ua6r+bKXhru
u2vXf8it41kCukXrFq1b9N5Wt4Ok8BEhz3Rlm0B1y9QtU7fMvbVMdtep3HPSO066ZeqW+Sgm
rSYOe+g64sQ1B3OT14JWN13ddHXTfQQT2KO6CexR3f3zegKrW7Ru0fvf342slNnfxW/5/i7B
6Pap26dun/tqnzScf94+szcm0L9un7p96va5z2WmtFxlSvNFppQPMlNeq9PRKDNlBXSYGW2x
tMXqssVipuDHdXP445o5fJ6AjnTRm0gXTF9VPGaxLrTZ1mZbm+29Xrs6YRxxGYhdXrw60W65
uq3qtrrfwDGL28Rx10XwmOyVBpDJcbqJ6iaqm+jemqhvpbMwDiYL1FJiXMOitcoY2nCBL3Qb
1m1Yt+H9rb0Gq3LxFT1nq68YeuA7Bm4AgevPJkiEE9QODTPGBGVkGHqEDfKqhxwVoIUPftBd
nIR951prfRBW2xxtc/pmc+xoNfEcv7iwp3inPhMFtuHAsOtAB7TSFkBbgEdgAegoYFx3dC9A
QvPYDZNx00ZhHWy0UdBGQRuFR2AUUMc/i93fmFEBec0HBRTXdqScxToYopGCniFoU6BNwd5M
AWpFxZkm8kyD3RJoswMA6qHNjgF2YGDQqEMbGG1gtIHZm4FBZHFuYMgzMTAUqlumbpm6Ze6r
Zbpo0o8aQt4481fSPgucbqK6ieomuq8mGruWH4RO0UaLd9JIS6xupbqV6laqh7i6ZeqWqVum
6IaerAPeCx0DGCd0gtcNVTdU3VD35hwX2EkZmdJO8siUtr47XrdM3TL32DKZzrPoNmmH2fL2
DXWDHdJto2wTBzET1enih+/e/aNFjt7b1LRhX7pgXbRx0cblfkvQaI58WyxAk5crsvxM4du5
xefE7fqza3OkzZE2R0/bHOlGrxu9bvQ9a/TzKJ4kSGnt4j5ZBkKaP0uhbYC2AdoG9M0G0FH9
5NrduDYfXTiDXZUxhnMqLmQiiW46wc3D6W7YRK4SjYRO1IHWehNojddw7lUHXNPL9LoH2/cG
2qbcP9vk22cb3Sx1s9TNcq+7Z447Xc2ZLTT6nu+jZdjtVrqDAP1KYytK8AsSuLd08+GoEdke
+m3ZkTcJAns2H+T3UZkzKxgdLgbC5crybVXFJRpFtP4y/hsYUIqJIFGeG81SGcor9NxEWhxN
k9X7k3ZX7/VRMG0MtTHc30obiSxxVHcLlxSL4kiPYnTD1Q133w33uC70vtRwj3XD1Q1XN9y9
utVOGbfaaeFWO9UtU7dM3TL32DKrosHqlqlbpm6Ze2yZEzuM3THbPjNI0UpzCt1WdVvVbXVv
bZXd9ir3vZiNL+2p9SibvG7xusXv78QIDW9YBjnKYjWwx8GN4ne2Q5fNmrMh+o4OnfAxUrUt
07ZM2zJtyzhblpmuMhZUdmqeev9wc5VsYLRD20XCr97PJC8iF3siLIgZ9s7GJ8e0sm6M1RI/
h/hXjD0OgjQuzTf9IgqQArkY+tvKi68xQ+IUu0kk1honj9RoPbcwT7zQQlpLnmLP8chdsms/
hwWJR7hI30jGWQ+A7DLr44Cqyry27M6wwH3CVnyl5nLAhPUvN1WZXZrW7wJKFpYT3mxZ6Mia
ozLgh3FAf5uE8/jBLZ6i0BGuQxJuQhIuQcKK4gYTd430P3suMsIv2A2mfLNs202w2tCSs6Je
WNHuRB1sK+lMY6ceyiPhnHmyAYzj+tYtde6xU5/18nHPxof4z4YWITRm/ipZpP5U5ffjHZ29
yJrlOWmKkyx32ly8MArjdMKMr2gz9ew4tJGRmliBw73jdu2zkNzZKYgiK07w6zLAKS9XgVX4
OuHyRCvOSwkNHlYREdoqRVLDlUuCiP6ehiFmRxITruBhChF2cptQdmCDQf2rbJfxs0IDkxg7
saNHzPuyUqIDlh1bCXZsSrOMMgu2IUOdzDWLVSNUdvYVdfuYiZyi8SYm4N5C1F/PPN9lYdkh
ZQYy/eIF1tzNfLQN23etGKs9cdlCtcqfhduzQQdvoujHLSl6lZajQR0aBFyjYj28PWHhsAx6
eIpowNlIgtRUN5KUE3trN04aSWuTBM3yqxFexbdRGrJW+GujVn9MJKnHpUNa5A8QuUEaHra1
mc3C7/Fqmdlx/Jb3gVQ7zAD1W6eRGxmmmaymyPCjKejL0SF6JUbSnFqJ+/JwM0M/Z2P7+OyQ
/mByPEN6efgn/LxwrSh7xJ1IZJIOFr/RYzV4Sjxf4rktSmucp4BNtYBB0MD6NYyz3LH40OfY
lwaVdCnBxwV9mPBAQswAy5SLagIfyDj03WfMt4HvoLnWe6HdEPa6fmgnprMKgtsGFD+5Daah
X6ZnPiDJAfo1wCWVBTg4NP7t3wzjXkpgayXothLYnBJ8jUwBrkNwTWrRlrq1VIFvG0g3Hlwh
HiwDfD61pdr/EzW1eyedhkgZcqVopMYJqXFzl9k0IoRGlDzRXVsjVu1RSbS1XnCke0GtL3fo
b0Y76zBHbVWgge5j1HqHOXpkHebo8XWYo2aay0h3mM0YwJ8PvjKEn0cl5AfZxCyhA2+GmuXM
8hP3GyNduEsjDh7UHrJ0vzFI+JXnF99fGskqwkvlhuMlmNJ5/o2BMoYwBw/MvGAPiUjzR3i1
9bOBqXiJl9J+bBM9EyWYDA4PGjDNWVLIED8KM5wVB5nhR2KE8wIxmwCtRH3Wni7a00V7uvTO
04UzIdTfpRn72FQfsqfdzZb6W65iDbFo1Fw3O3pc3ezosXWzI93N6m5Wd7O6m71/NztqsJsd
NdbNjvrazY4evuJAEmpikk9LlM3yB9RXJbhG/DgaP7yAD0rBONyM6BIY4vx/kuFE3ECR/mks
cBxdNDYZ5ZF3XeN5MvyPn3//038Yv/zx5z8M/jg83Pw8Gj7/T6p+R62p3/yLF2EJmufGvz+M
V98+bJ1p/mWwdG8OgnUTyTw0jYOfDNO5XyKOl6TImCKA7xNdNn7B8YwzCE7WDA5fnJyg3reh
DA6KtIPD0+PjeydcVr+hghGK48G4pEKc9ZdE3RIDQDac726z211mOKtmZf4AUwmzA6fHcQCv
Tf+EvRsfuhht/JKtbePg3Q0101USD31veno8JBm02F65nGgA8oZbL65Bw+WU23FReKzxyUzW
9xZLsc/M95V1mTFtRjhQP2lrCP7cMC0Cec41jcepV3mhyf8KvUIjXlzRZw/O8Znx0njGAzgu
lTtbGZ5M0Y1w6d8akRWnHgLdGvhuAOP3iGry14v3bz58MpaoX0fT9D88L28ZyIo+8+iQbdzs
kO05TXXUdKr/on92/vPKMImvwoQsDQ78cN58HnjWgpo9/jt6cXLI/j0cHR2/OHnx4l9GCHL6
4ng0xnSjo6PDo38xDpsvivyzQkoYG8a/EIWtoKvDd/SHrt2+Noj4jd/cYGXitpnGluNh62P5
Jmrb5sxbOgcKWg5PrEJjy64kp+cHyLqhaemG2DRki8kFLWgwNPfSr4nhnnppgmfvSbiKbRdf
SDMsSlcOe72UMbbBNSob7ohUVSaZuX7i0j5gQ/wJ3l5+fknSwbD712g4GAwTO/aiNBmi5Ex7
4drX4SodJIu7V8p4MXXck+PT07FzfDI9nE7tseu+OLNfWGfT2dg+f2Gfnp6cHB+fVFc17yva
kF+VzAZhPKcVW0VJGrtWwNeuUmaPSU51FQmsBK9DsmU3cs6/9sMl5re3TNEIgGtZsRuEqTtI
g+j5YDBQUYrtVfiq8f46E2yb6ZaWJhsNtaefxSCpjYRxPfIVca4mR41nmC+clxljslkYu958
eVA0HzyMRkN6158dZHOHh2eJmwr6t2FW76PV1Pfs4esPH/9x+f4tznUX2eHlRNOKg8Gi/Ww8
6/R4F/ngtfij8a5yar1OePdoatnXLWfjhMHhBB/nbz0bfAS+3UxQW11ig95yLji6w8ReWMul
23aNZq6VrmK3benMYwtVKfuq1ZxoJIN28yhDcLSeD+qKWs4EB6VoN4c8tEXLuWRBPlrOJkGj
T6ftPGg4j3YzSZF2tZ0FCUPSbh5rHD6l5SzocYKWc0Eg7MbTfi5mFlGg9Yzaz4HEj0HZ7HJQ
i0ebOxkBtprJYh20mr53T0+SbWWfBKzQKZGJ7ObwnbdcbcjcCr21qhTl/K0tRcfPKPkkjVd2
mlA9z7Ic0qrlNc8ml4Qgn2im4cqmnwzQjLMFb0y++Ewxnh9Et+kiXBrBNXZrceNBdGvQ2ZPR
5CSKyTLjXnWLIh/suwC7zZlkqBIHMmRNzjTvLY59FuCRiIP0Ks0tZNyJE7vPVmADWdClfMgf
bdZeZKyhDt+ZR3Xuwgx4Vn8YG6gUgO8p7KFd6Ycd5iUqS3YwGOawb400iAb48vkDx5vNDHNl
xO7MjdFQziXgEh8H5XPj/qMVlrixjonC7DhMErNFVxi27yu0sx+1wIOu7tcENcheVKLz0sjH
eV2uQ9dl4IWdLj6eInW5/Gga2HL5C085nF2+h9Z4RXZZiT/ed6j3WCpQ9qetVGVnow5FpXDA
5JYrtgOzK1cOd7kt1qv9YQlcpZbFtZuBCle1fALXTq12M2rhKtSeiHYsGS9sqR6tD2O4auBl
2nbq0f54hqsIjjHdTkXwwKbxY36Ac1KjPum7cuPyvenGbt2Ji+SSZYqek9YW0LOM8OLWo76F
MztZ/vnDh3dX+Hx5cWR7Y5PbechxbUz27tWntxffX767mFx9+PHT6wsOdnpcQKvOtL+ZvH3/
Y0F5Wa4kZnG46C4Isw4YeAlmBFfdy8F94wUwkuGsQdZ4kAFIFzE+sYvPp5uhUbCgeLKN7ksU
nz7XUs3YwL11XrrRKkJVf+rCzbnAvnRdtPmNSE9assW1UOVz1+XqrlN78dTlmjOBee66XOfL
FHHkics1ZwLz3HW5Ip7aT1yqlAXFU9clOvOt5PqJizTjQfnYdaEW9y4+abGWt08yL50Xbeyt
ybWVT1u0ORfYl66LFn0ze+JypSwonrouUZserHnaMs2ZwDz3Q65jLVjKBfal66LFV43bpydH
T1y2JRu4t65LN52unnoXS1lQPHVdolHwxOWJGZD97bos7Wg1WYRp5K/mT1yoHCdEQNfFHLvJ
KnjqM9icCcxz1+VKDt8/balSFhRPXZdoGRPkaYuV4QP/2gcBR9YclURLuGCE8N4HGVu27SaJ
lnHBCOG9BzJOFrGWL2EC89x1uS6wMCZ60YLhA//adQFnJ0cmWVS0py1lkRkArNvyTn3tVF7w
oHzsvFD9cD534wm+sS586sLleSGDui1sG88KXO3bWHCBfem6aH0cZu2JCzbjQfnYC6FOwsRx
Iy3akhMioBDzm4+XrzsrbDqyiDz7SQp6RkTHn93D9/RKx/c6L2N6ek3L2RD5AR/o67a88wNt
WtyGwA7wiF+nhZ2fcdOyNnhuQIf+Oi3p/NSblrTBcwM6BthpSefn4LSkDZ4b0MHATkuano3T
cjZYXshHBTst4+ywnBaywTEDODzYaTEXh+e0oA2BHeBxwm4LOz9Op4VtCOwADxh2Wtj0jJ2W
tMHyQj5y2GkZ52futJQNnhvQIcQeSHqsRS2cSeRkPe6JsMtTeVrahsgP+KBip+VNz+ppWRss
L+Sji52WMT6/pyVslJwQDzN2WrrcQT4tZulsY7mJJR9v7LTg8/N9WuYGzw3owGOnJU3P/Gk5
Gywv5COQnZYxcwBQC9qQGKI4FNl5kecnArXMxTOSjNDFY5Kdl3p+RlBLXTw1yUhdPDjZdamT
k4Na4gbPDegoZaclzRwk1MI2JIYoDld2WuTiqUItd+isZe7CoDhu2WENKA4casEbHDOAA5jd
FjN/9FCLGziPmYsdPpLZYfEzRxK14A2BHeAhzU4LOzumqEVtcMwAjm12X8z5kUUtbOkUJyty
8SBnJ0U+1xccICnP2QsO5v254GCVRO7SedKiZbjAvnRdtPRoGt7YS596gBuZGQCsJ/JOrLUW
NsMJEdB1MYezGZKOSyYPT1zOPCskSNcljfgeIeOUoHSfuKA5ToiArot5sQ4m05XnP/VBGMMH
/rXTAqZ8Nkntn7KAeT4YiuIOObI+CN4PLcd90mGABUbUiT6j64Ps0bDTW86edPhJkRN10s8J
+yD+2PVD+4mvm0msqFOAgrLTGkDnnDqyMMsG7q0P0p2G4VO/haVkA/fWB+kiTuuxm8wLGdQH
YU+/eIE1d5+ywIVGzTMEBvdC8t7yKUudF3rJCxnUB2HjZUMr1UHFQXaA0D5InQTiffLCJlxg
X7ouWjtaeY4WLssH/rUP/mZzHQiN9TWbC4HQAEekDgubccTRwjYEdoCuSZ0WtuiTo2UOeSpx
gcZlZ6U+aAB11NHil3yXeNnz7kudFjzvuaMlL3szZaKHHZo6LXvOmUeLXvJvKq6MAVycOi14
xsFHi92QGKJweuquyHmXHy1yQ2LIHd2gOq8K+eqy1gXRK2oLZRDX4TuvDYVTkFYHyU9qC32Q
XKU6rxCll5DWCNlzaguVkJ2nuqsTnO+Q1gdD5AfsTtV5eVNvIi1vQ+QH7GDVeXkzrkVa6IC/
FSN5wOWq8+IX/IyeqAqADV/iTI0TVvd1oXQ/eqJ6AKkBx5QKt6zOi5/3RtIaAHtpcSM/yFGr
83qg75GX/bYYqffFs4dzXNLiNiSG9M+Zy13aaezToFiTi/cfrv5xpUWPRa9iDIxBqmDFRmzj
JaKMYGDRLcP8nBV+4lwCI1QMNhbKgLvinL0Eu7womblNl7tvlbuPs7yykb3Wj7v3jb8WrLw4
Kr9gSLqBhr2epLzCQrjjQAx/LwZGZ8NmC1GVoWC7TBxWIEYnF72Rie8nRX+jjRQ3g1zS5t/8
P5lJuERNlDwzQkvCwfFgjNrkwopdJ1v045GDw1KwxcZwLtvSSFDxcu4i4sX1wu3m3DXY/G3J
4oW64p2r3OWcwg2O4iV/0i1w3HVhzN1S0LVDwt003CUm8h0XwAUIQHR8IYS6HGFbEXaZj84L
B20V43ry4R+hyIAEZvqOb/Bter5ykxQ36rnQ0thAZRUxrcrQR3KMHCmYCht4QwjTIJ7dl45z
y+d7wTOf/BlB4DiZ6ryRfCIFPrQAuD+HB/4Sta0Z2KgkmJKYh5D2jTpX0sTLdgva6aTKsjfa
vVAIV1CjtESgAaIaprJALBabINHvWHZNrXZb5NzZQEcnyAVG8I+Qt8+BTVRoIw3cSlGtp0sL
rvBiXMXyDDhjV87i4OEegSDL8KV9RTF41RdELwPV5ALoILCu3Z+Of/naeOdaazz6dLzYtZF+
3Br/+dBqPT9olDF2HCaJ6WFKPChGTSE4fHFygrrx+wnA8ZJ0mCU3XCUxzrJjJc7GrK2Wuigy
ZKO7wfjg8PT4WKiC1WDZKzqxxjIZ3qE7bCnT3cgoz2+RP9FhGHnFX6LhHHrpbPsRbHcnG1A+
9G2pBbXFouGdOsq2st1ZK6IZNt1UyIDhqK0BA0l93HTqTLoXeP2t4YQN87VBpuVGxrCSSc1m
NyS5PC8Hbe0lj+u0Sj0/4et00lKmQ5LX8w6fdsbziSj0Pfu20bPOtBrzcjX0IYueDKszI8LP
OlpLPV9bzf3mGF6xL50+7o4IXTSdje1mw4n1UgFYXrEvnVaAuVaArRWA5RX70mkF8K2p65uR
7Wn51/YAJauY505LH2mxOSV7PFr4tY0/41T52GnRJ1r023f8uegTUfTohxsYPmRZva6+wvo6
Khn5wiwLUJSJG6vso0xlAYoyzfddprlcJtak70V0ef4sl3Jl2xOPSPasJu2zPHn2D1mAqsi7
9c2OZOotd1P2ouCiUZBapNQcRGUUdEEQRZOcKdZnml2Y45ZnWtotZJe1ml9aZFPv4tIiQpMN
+9ZXF/OMurwMl9dhYvse8ThqckSWD8Qe6HuYl7HpYRiYrjAAk/gjQfrgxdp4LItOi9588+PV
xeTj5z9/unj1RnBrzb3tehHCYpNMEC+17Llmz0m74E/+3Ol5d2m6wmUaNz3/7rbYBWufM0gG
dVsDmr2wrRcyJ471Hb+ZLbdUWraCbClb+mG9k0nqTCfOKoi0oGVBl7zh3jotcrKMoIUtCDvj
Sva30wJGaqrFK4iX8IT87rZoUX6hraUrSjdjS/7QaRnnFXaavxaxD7IW2SMCeiL7Gyu1F1r4
SuFn/JEgPRF/fjZZy18h//J4vgjqiQaksbVMLDslBz21GijUgOOSAt5phVhYyYJySCsBrwQM
Z5jnTgu71N/mr17sg8gl/kiQnog/ChNPi18t/ow/EsSuC+dAoy4k4eBocCiHc2CxgxGzMVtu
2Rmmn0esoZFIEu5bK1/6p1/wRxuF5GWgmlwAFbWUXQmalkEB5EtgsAIxgPIUm137KJCZZU9j
NszKghYE7sZL0kSJ9hFWicTSVyMDJcpeBKH6w5vYS111gdRlJROfUgLcqnW+rJmtf+XrJPzq
tiw+YHItT7iAIbgwHMt3Sop8+eKwPXiVac9beytmS4zywdoZ4yGujmCWrTtoPtA/cz+FfqhX
6X5K3UDggr0WvMjdpEF3ulURNKIaxqtlkbPTveLjuAQ7K35R9tK6dafxSoUvOvjOWE2pCg0W
Hc0wDNM1vjFmaIhvG95SHOfwAxt+JMMOXYSxijA4YUcjwvAD5e2Exs8HX31FRymN1W3YPLuG
v/sv+3+jAqPSOuGyg/b7gZFm7qSt4MylpZgzbeUyvNNMq61s2xcZFx8on492SOXKsDm08I8o
wtS9KkBmP12tBB0TDjdJ0zUQh50ki91Xqw3hAFWj2eTmBqr6Pc8hqsuQVOXXTrXzarZ0eiyv
RocPkOH40a0fHsOZdPzgWOTGs3YWvh/I16YXvKU0i5NCHUi1GJR3oLDM7gFVruKp65tFOBy8
bimPO9WutpRgkP/NWklXG4mJr0Egyx5mZMWJqxvM4061Ww0m3zWTtAzvp9GmJKI63OfM09iy
3bXn3uiO57Gn2q12lAUlY/SLfen0QI3WAyekG81jT7W7jYbqF/vS6UaDWOCH9jXKSK8GPPpU
u9hqOAXj3rrebsh+rBPOHd1wHnuqHW04jIbxr11fKnDc1LVT3Woed6rdajXFCkGmXMzCAIV0
u7cxF+vATls6q6BbzVNtNUVfU+gX+9L1IRqpR2wlLR3w1s1GN5tSw/jXzjcdP7wJ3EBPbh59
ql1tOYWCcW+dbzeLCNdUN5vHnmpXm02uX+wLexy3cLthHHEa1xvl3e6ZM0Ph2rDLnMuNLH6D
y/SX9ipOULMXypkvRQqLlDvmVrGsIy757Lgc2aCfnwzsowx4/CSOrXZdjqw7EjqqtkvRhn0T
j2/LLQZ3fPzuliQVYmZ489MlXrDp51cT74bZ9MQYPTDm4ANj5PxW7qz8Owe/PuxolFSWx370
efcFfujJyd2XODux2jiro9t0ES7zrMyb2IqMZ8V5PYp91mjLqDidaYfLhFmffaTa+YhYRoZV
aEYyL6wxzd6MrJT0mE459kvIOKgYjInOcfJgifQCwqCIG5qY+AAFPYQKjBaKTpvtObN+45G2
4kckWSSm9dJNp2HYVDNgLUhdJ5SflzFjlwyUs06ppUNG9PBMZw8YuRsriHw3af2QUZ7R84Of
cBfzcLVwUxsTGL8Y//wnOULeQOF21y1mpdfMYJnBtmwPt2x869EPF9mfgbek5xG9qed7qecm
5DA+Htij9v8TDmXQWFGGv/MKXuIMWmZncc4UZdtYHcpQBc0q2dBapWG3NY1UQVY3PObAIUJm
3nyQbPAQJX/bBGiEEmTlHRnl87h8PCofB2gMwb+ZSbqaOiELjdbmPF5NGchy6jBv69QzNj6X
ol9+S+Jd0RJHtmf+tvLi64SWOoehoRPqnRJv7VK4P8C1MexoFSFO68azXeNpadxQ9oedHTss
wjTyV/PWhw5ZPswdpm1mgGuG+pkgXPIVO2kt3yHN7vlBHOAgOM8yMJ4GDZLFs0EaRN8Yhmsv
QuPZ1XeX799cfnr587NiFvHzs2fGt99WfsV/tN037y6/u/j7xev8I2YEvt3HTIbo2y2+ufrz
q08XbN1wmM0tvvv46fKvrz5fTPhK3q28f794//3lpx/+xpegSANNZLZLZPL6A0ro7SRLJDMm
W3579frT5cfPwrfDxI69KE22TOPdh9d/yVMgwcLQ/HfLTz/9+J79MouStuXHH1+9vXz/lss5
Yx6eDVpz1GiqUvrKmxn/zbCDyDATsAFIwG+MdIEGvMFa1WSAL1w/cY2qRjbzmh4rZdJrZLjE
m4usS9ztuCmrjjx0kplNO38a3uthg4A71buodJOjgbze5ahAYsAeK9zC8EeucEt3lItdYEvX
lO9+CPGOjM93NYIguTW6tOItPezSTuxWUwXcucmileiCTd8Pf1iT3iCT8olB9xmU5S6b+6Wb
3oTxtTmNPWfuGmtvlj/mmDhcpRRBn3L40koJNPs7Ji8o/VVkTPFojf42XbwYQB/p03VqRcY6
jQLyy3Rc36WxNc2skKbtu9YSJeNukI1ZWj6iWXu2awbePLZwWRI78dhp/8Pn53eRzo565gb1
eIUY2AMlxtVAw3nfTZq1hY47s1Z+2vE+IqsFuBpoTi372l06A2vuLtM+NZ0s94oBLVt9ojxk
YZE+7pMTTY922dbRSHTfewmWjlRwis0O4PZZEXLRQ9KL6iS3Sb4T0HTFMvvDcGyPMqPTsB7K
rNmKMTLLEt6jzMzcr6VZqYEdAh1tmbTSg2Rh4AEqms7Sx/k8e+RGpQUthuaj4BKKh7/lGx3x
Mlg81hVe5ZQJmA5zPQbiBZHfp65qHwsz2crCTtZlmt9l49Pv4iYbQhOHttZ32fKMOh4JmNTh
0Z1XygvW9JklMF35/ruMKeVjp8+lIcIEyUkLmRFywZPiqdMixgOrRxgeYs/NuIhowEYzKM61
kBQmmfgZhWilvtUHjmiPxRiePZQhc+d+8MGv7fNvOpOdHH35yTC/GM8oo549eClvP/Vo6HzJ
fgpP3FyGgbXE/0cdL/9Z2+VnDxnwVqawfM21jabr0voRjXtxcIJm+IHV5IGl3dsU7iAWMvyd
syvsLVCsVBq70Gy3ZkaqzuCsHXPT3tVB2WS4uwsHNrk2uf11A5pPp5cN7Ens0lPOj27GQbnb
+IQDSLaRWB/7KC+dHjEyZF+6PQ22J4m11lrZRa1sOuFNIxF+tmpIVOeKp043IXxX8TJM3UQ3
og42IqKRjAiZ505rpZ+469ReLLVS5kIuOVI+MkucXPfOdfcPmlqqattc9J66LIoAPkVVGU4w
fNlFNVluZ31A2SH0hc8tdcvKwFSs9WKNWV/4+aClBCCTzqwW15e9XJUqrVXemko9eFgLr6xe
W6sj+ZS/s4sjMy8Obqy4fa+KPKPnB28vP7+ce/dcZuUTy3QucwUaolRNe+Ha1+Eqxb5P6P3r
IU5i6qUJ3kodhPF8mLjW1AuTAS5D7PrmaHA6OBqMjQxuovoevPbDJa47Gj2FxnMGY8ZugJQV
n5J8PhgMDuyo+I762LHJDAcU9g1l98d/fP7zh/cv6fK2kaymiCQxC6a3cBirZHpb5674HLBG
MfU3irqdtpfzUJbO8wPD+G7l+Y7xl0wo2Z+Z57sI9zoMIg8PGI2bRYgGqGiYO0fDZQOpzdC2
Q8cdjE4HCUeI1MBKEjdARYgJnZUEZjib4b0WgVSR5tF45uMojHW0hDRx54Tyrbt08ZAbkdLM
SBWkAiy4RH8/OkUK/4ciOVSZMOcIxiO+5Ce3fr924wQN6I1nWSswx4ej8eHJeDwZjY/OT8Zm
cn27xIP5IHn2h4PvvY2LPo4s2/3aONy4hydT83AzOkQ/BmIRMiBfG2ejw5FhJL5lX39tjBD8
oxvbeI6QgQ4Ho389ICU08C7V10b5c3R2enZ2cDQmOHeOZxY4O0I1Oh4dZSjMR/bb0dHR0TmL
w46bGcHJ0dGLU1T5d97ymnAR8SQOg4wlArTk+xWa/0SRhMLToggmwBpTYIV0Cexj7JYfEAOE
O6bPmGl5FQ/Pzs5PDYNwGRf9+PgMvcUuwo3Hoxenxu/xBMs4O0IsRPpgjMZnf/G+M1AOfyib
WbM9XGUra8njch9WC/EQV283FivLLKvfi13lhOtJW0lRy7P28x6SLLO6nu82P1zj1J7zkh0d
7qoQwyzvbEuoZoXmaIx+WbG9eOmdnp0+ytWarD6NLtYECJf6xLAgQaCyzJF9mTGrOJQJqO8g
FSTCokB3Y7sRrmBC36eog0NdJUoyCWeIv36I+oIHrdZUi7V0e4eXGAcD8guhcte1gn/FU7Gy
033diIKJE3t4QKH14776wfKQe0N64uMVANefTbwjrAIxq03cd6WiuRs84CytXktjA4XRKyz+
LrLNDD55xtAJGW0vdt7t9KQ1F3x86m25pgFnDZdhF/PcH+OOl7m0JmyjCZRT9E9/5B8FgRb/
NuInjCK/5R47wZ02aynycQLbW+cKRBNiTcsEsQ715snCCK4X7sZYePMFhcexdSvSGd9W9IW7
65DJDHOH2b1oPbtsoPHd5Ycrcxrai8REzHWTdIeTeXJJdGjgl2QVJMXDwKaoN9/9fXL1w8fJ
x08fXl9cXX34dPUS2R/UJD/m6xxIO781JtnLBH03pUnmaKSqr7FCI4PgnZ1iU3BomFfcF3gl
ynSN58nwP34epEh3h8PnJcCxUgsDygTZ/JIDK0EtggEY5tRIgwiviRnmyjTMG5MYQpTtr8h8
GqZfJJVu0oPIjX0S6T65DQbk5d9ZPMqsyPg2OAjWRdqy2AbDgo8y8uDg4+tL8zu8frBwLQeZ
ayvFK5/fnXx3ePB6FcfYqpItB5QAXY483JycHby2fHuF03BYLEYZBkr0dx8vP7EJ0u++Oz9U
J3r0Qpno+AVekHRTskycYwYoG1LuHJBldLj5Hv0os8ElUGTz6hWUC40iyYp2p+2wzSVPPqN+
rHOu59bu1jmzzOoNVmispy5JJTHn7pJ/Q0SDIY//tqRA3RpJgli3LEN8Sbj55q/fXRjP0J+3
r3C7nrx59fni5c/P/tPBEcCe/z//6hj/OjX+9R/P/5OEYzUm2beTvExwguabNxff/fj2Hgmb
jjtdzSuSf3356dOPV+gBmRyc8H3ysL04XlXVociEPkxobRrIs6xe1pXwaKBHucLWHSi58D1J
t/ZzRe513ynLu2W2Yt236xQl1gASTO6YVl5eWeHumpLAAKWk75gul1Q5BFCkjccDAptogegA
ARofgOR4sABlBGexdeJyskDBty2xqqhCavXp4BSy/liurdzSJD3E3gwARzKDYPrzyM8GRoMS
zQ6gaigVA5Kz7+43IHlzAg1I8PTSryuJGd+YsYn/GSM0VAxT+uvo5Oz40PgBzabGY2M0/vro
vC4hkN2lMqgMhaKxAQIodaiiJAXRlsIo6RsWyfGbe4mkLE8jgimT48XDSoQRAsd3Jau34G4F
Q8/f3FPHR3djaAUPjw+xP0EtDwGtltVZ0mNZgWs0d2uVrdXVV6P7sfbojrpaq6THo+MX43oG
l+m0PYEpxt89msC46cKNyYV6O5nCFNk9PyA3M9zMcTS4D8bEizbuILXiwfyLsUjTiHc0TMJV
jKMLhQHJAA2NsN9WMsRfmdhN8dw6P3KmR7PD8+MXx2fH7tGh++LkaDp1TkfW6HA6enF0dOqO
D/MssksecPRd7LZo++HSzdwb0e8BKQz2bSQPmCJ/IOHRvvq97RQQ49/+DX9p4AVnb414atID
1i9RTuglit2Zt3mJqYfk221LavzTmH/xIuPbwWDIcucPtAjYpMQzvlwzDy/NcKxkng+YTw5I
0qZjswQoR1zmzcwwD4rgfL/7vW2lRoQjASJ+J0gp3OQP9GZE8SeLgkdosX81TtowoxHiwm8r
D8n53/Nkfufho/vuBrFtZJQR53BOr6ln4bffEo4lsT3EjB3iFd/hD0g7icthrrw5jYHDHMSp
fzY6Oh/EYdD+2mGhx8O8DPktO6Qsfxz8kT6Q5ffkK/L8/vL1V8ZgiBekh8t4PZ7mL1+wUc+e
XX82RpU8GguA0+MCgAoRBvmbZ9tIvwqct5yFxudXb69IjsltgCpwYBg//XDx5vLVpx/fXVz9
gvjuiqDYuhFBC0eEoNYogpzkWgT51/FShF1fX0dypjAQgAGgAEsZwbLXUkeybfvh0k2Hq6Xj
eUk8uJKqq/iY7CDNcAiC5DYhF6Hh+yOOxhMcUSNys5QqPsO6gP5P8Cn/WwV1oUORTZbb3bPx
YWAt574yfWpDhqtk6njJdQ3RkqjWVkSj0zoyx/NDvKpaTYfYSZ+qyZYr39+GDjFwq+Sm3jZk
wZalC6Y1tcSKvU1Cvjfdhux6y2peb0+4LeXC2YbK3S4xZAK2IcO2MrLiVEGVxtYy8cg+JGZg
HGxHF21Jd+2phCsQWuNDBaGNz2KtvTi1HEeVGKEh26y1BMq2R0nc9NcgqqIgXenEnlXRzJ2p
5/AcxyPmBCPwtZETMn6GExDtKHa7treiRALHRmNL6nDp325Jiv5uSXmH/GWyDdMEZrmJqaFy
4nUVYdlBIBr8HwEnSyuCqYnsMAV2R1jOK4gi26PjGkVlF7ZHLkCylk5C+iU7UPGFI41d3Fwr
qOGOknwUu0nor+/+HfZkuNNXqFve6htsFC08mS2fJs7CBphf/+E23xBGw6qlIE5n6ValoSk7
29NGVJBb02ed/bbkeCy+NTEe7U8WYXi99RfbSZcOolBLoJsy25EjwOhoW+LADdAUYbIKUHlC
e9uvyKJY6gXb8JP5IgnuUg/yCWhI1PSeWo0Da05ZT54qqdDoqxIfrPzUq1I+QoUmN7U0mYGo
ozkaV1JMv9TXCWeTkFmigkwcukfLqEJaIjXSo0ApKpF44Tku+mBL6hma7+J5xJbkRG1sNOQJ
lQ1Y+sRKKsojDd8mwTxQiazo37ywimKNOBBOktVUJQ1CRVqYSvSEIl4tMVEliZMmdmVjpWRo
YGNbaWVSkWefjU/Oq0jwPAgxTKUJ+dAtsOxFFYmzwvOauUr7CI0drarQmVAnEb6OhxcXPeE5
pH8m5RxKTYNGVGeH49GogsRDv5dokL10KohmdgWSrLuIA0GOhMPgc+vkljQJiqxc4C5XMhxX
NZXAfkg3RASwdyPpOQEjKAifgWA8GgERMxsE40vmJZOIB3DX7i2yMNmfyU1YQ7BK6giu6wis
GoJ0UUOQxHUE8xqCeFVDENUxKq5jVOTXECzrUljWpRDUFTKok4VXl4JfR+DVFXJRx+p5nTRn
Xh1BXQpuXS3cOq126jjpuDUE9pc6glkNwfS2jqBO7a26MliyNIOVvYoTNxne4Bsl02ToOl46
DTdVhEtybU8VgRPeyCxnCaw0jSsoEl8WSIGM0BQ4RUNcZ11Do0bnD2qK66ka5zpzcRLO4e3Q
D1ey0pZ437Uq0HjcNEns2CWOeSoi343lCqYrDy8U4Q3XZLKSGxbG+yEqPYQs5vpr31pKM32O
Ao+LqikSawkuGPCLCrgfriZZrsNqAtoN19HgKleS0G67hgZPCWpIZvXJ5EttlUS0n6+mcbx5
bdXxQKKaIhtGVdLkwwuQ6sZDo2A3SSZ0Z0vCJ2lMMDJi4fqyRcLRinxvKRtcsswzseK5nAU2
WsDSmB3fRmk4tDapn+BoziM1Nk4sNXLqzUVzwuEtwZJkSJyju0HjeggZOCcQeHNyeA7BF2js
D8Ht2BamuQUC/5ngmQWMtvAdgCBqIUxEcvgULAFhwaSSuxMFg6xkCX8U28cg3E3IvhuHo+vX
q9ibSOPxDEVXaVRoBRhNguzoVvWR76GGp8Qt3elqJqPLtZdpOAvIL+BzDK76li4HZX8mubXf
hlhBky1Ag6tZAJVl26ix11DJE2eZhjbYupRA6wGQLaMaisj26tLYhkvCCgVAIA6OZBK641BD
BC3GyFSSEuW7GeXEevibN31xNB7XkSG9dazJ7GYrujoiNCfHFybWUFnx1PVBInyuzkoWwyRC
dRQYKtJkfytpvLGtTGe5RlZggcZbuCdTUqCSKHHo/zpy4ALgWyaHSRxVfVz1pZ3A+VK0N50p
mEPQVgpLCu91YRVCzUbabgNoxOUVlmS9mbvk1wT1dLOZZ29Bie+e3YIMWL4BCZUUVrrA/8+v
6e/JJlCpAEAcu/Z6a+LKGsnEaiaJtJI5qSJewI0XInVdvK6FJrazO35y1xzOx2cv7vrN8fXW
X2Q3s25NbvnedFvqrVO14vPDw6NJtFC3JMUnd1GF7JM7CDn74k6Vzj+6o7TJV+O7s2B8dxaM
78yC8Z1ZcHJ4eHa3yiwV3UNJe3JNf0/i2bXnw/0eSO4mFfZXpN6i0AXtb/Zq+3TvQIuN1try
4X4N+mAeCeOqKuLtNLMgdwJ1HyjRukmtMhbEthVtXcOtE7XSVNzlAciRTszh8QZLtE2nNLl2
a/Wlqr0RH9uzTf53S7qTCf47Hp9sS78l3eEkscbHh4dbkwfWZizuklbRz+PZyehwtC29ki5a
WMs0DPK/SjpvPl3P6O/JWt1Vs2TBVC0Fjq5KOxAJ/l9pTXKa5bqy/IQmsJbiXjtMtkWZqjqM
jKY2DUs1mmdozsYnL9SK5+KgrG72p5JPPGUVt3jKSmaIpJXsFYnV/OMpPXtx5ltbFmLLNDFX
1e1HoEW/j9xkXFsG+rteChldrQwyum3YWpDWCasgrOF+RleloQzdVmkhnh8fbU0JrxRAlDVy
ZCjV5bxR92M3Z+f2WcWn2PfWC83K2alnmWvspOGlatXARPFCXHNmKdKV7ylm8BhbpZ/pXM35
ZLV0rKWtzjcJ7PMqISfXt2ppJdcVupt4yXlVwl4yOq/pFo/O1fiz0akaG8VeEqC5gq/uqHIS
W90IomXFWkNko99Hat4sk7OjivphdNWwoEJVlu4YDYAT9ZhzaaWJG6jrFdzG3uiwQnRB6pwd
qlnnu3PLViv7r0FFNxyFFbOkWRjbruOm6tEp8cWZWdO4QjJu5NmjKruFR/e1BEqsE8zU9XPc
yFYLxrHWnl0xFrOTs/ONulzT5Uatb9PjYyXOSv1RxRpW4JyNRhUER8hEqLXhyD7ZqFsiwp6r
hzgIO678dlT57eG56VY1BEJSiYUt53SV5KZf2vIDaFQ2BJMgnHLhlqLlDTyBoAo3tezrFdxv
YIpAoYwYhxgXLdWfIvTEcxQLxxSvxElCob6u2X0AEIbcZQAg3GDqOo7rQCh/BkHxBonkdYvF
TRwFhzeRNUmvha6WR0fJdQXWtoOKj1UYV/VN4tqyB2OJjiuxS8j9kZjZcgfEm07EvQGAIrBr
KeS68RSRhbc46tIB3D5lIqHvAghsK6lLxA7iusLYgUSwcqKhdDYiRyS+BX/hLBP4g9vED+fw
J+JxEDKUsyPUsMQNmRyDz6jL+eQYEAHVZC0OJrMiyQn4YG5A40mBusQuPo8qQS1AGbEPgTjG
piOd1HHX8BZ0ifdsubEvgeoEHqBW0fpUBobTSDjMldEeVyiUjEKWAkodMiAzgIEzO5QrNrMB
VZvZLiCqmaz+2GcfVDw0rpogVb2BELLzM0FYUehLUJx4dC1TY3gYpXIhbctewEWCFMUSOELd
+mfCVjd15U+Ii95MxqxWnugLjqGxJwNlL4PsNGWchpLfS4ZBmgr45JRIAA7pd4aJPcsHd+oZ
vAwHDsRlcKQ/oiM7hgO+OuRkQRxKvhgUESbeRnRVyM4HBrYHVD6yJ9dTgO+RFSduGAGFCiPB
P5GeZFgDmWIDMsk8AhVY8cQSwQThMvw1nAIILxGPBGCo7L+SwT2gpJmbjowAc0RGB6ItHDIg
lAdUVh78UPDZ+Oj0RIbP3RRkvrAgn9OKa/n5wRGx+8jh2A8RRig0d7YUxxAE7G5AaBwvAW1A
I0YZ6IQ3S+CsIcXJnUgGxyGSJEe6AiWD7RvQjtg4sjcAFjelKFTV2qc4Ph8A9pAIgTZKHDRQ
1cAvxFNhxdmcpRVAWSPM6TEMH53KcHzRWgyU1VJaZeyULO6NUYQtrFP63nRu28PJZBWEjuMd
KZCOt65Eko+PYbw6Yeq1B2E824YTYwvy5uLj1d2jf4hfsbNYLuCIOnkgSohIXBskRPwAihGi
omFDhFTT5FEKlFR8gBAFmRCBQ0ElBK9QUIlBRFRkfHAQBZUYG0RFNq2unxgZREXGBwZRUIlB
PFRkW9NtScgHBVEQCcE+FFR8rA8FkVtdKkVAkBqyaDuyIspHDV0RNkSkA4KBgCRMLBA1XtXI
pEggIAEfCAQkYeOAUAJVGJA641Z4YtQRckFA6ohLp8Q6ymLyU0e4feYSlTr+h5JICP8h0FVH
/xCIweAfEI0Q+0OsZmU8j0piLk7Idn2kFPjjDp+VUR627o+3+aQ66sedvtviEyHmxxa0zjYl
kYN41JOXC2b1tOwYvJ66DPexxdCGj/ZR/8FWMgVifdRSQ9E7aj9i4oPU0oqBPrb7gD1+sN0X
kMXYIsqHRA0F+YCJihgfMFoI8QETcRE+YBIuwIeSJN/ehQm48B4KEiG6R92QmwvuUUfMxvao
o+VCe9QR85E96qjlwB61X7BxPWoHYUxYD3CkwUb1UIyZ+KAeIBEb0wMk4EJ6wBRcqA6YRAz6
AQ+v2HgeIAUfzkM1ACujeYAUfDAPkAQK1gESFkE/KLYykgdEwu9kQRTiQjtEwy9WQxQzW4lj
EUIMjxLIhfBgwEwEjxLKBvAooWz8DgbKhu9gwDMIysboKKF8SI8SzofuoHB15A4VfpXU4K9r
8FY1Pomr8emi5vt5NT5e1eBr6h/V8C/yq/HLmvSXNd8HNfkHNfz3a773avCLGv55NeWf18h3
5tXga753a8rv1uivU8M/x63G5/E5lPhZNX56W4Ov0W+rJn9Lkk91ZA6QjgnMAePLuBwwngnL
ARAUUTkAnBiUQ0WixPIhOQCCPCIHgGIDcgBoNh4HhC7DcQBYKRoHRFMG4yixYCwOHs2H4ihx
ikgcAIEUZgOg4YN1AARCGA6AgovCAeDFIBwgCReDA6AQQ3BAJHwEDohiVpuIFH8DoBHDbwAk
YvQNiIQLvgEQiLE3ABI59EZJBEbeKNH80XkGXsbdKIF82I0SLkbdKDFi0I1s0AbH3ACQRcgN
AMdG3ADQFm8npNgZHFgIw8Hhis1DDloG2+DAUkgNAWvzE1Io0gaPWfBTBDHOhlzxSRVDJzBX
yiAbPLiIscGDuRAbFAVF2OAwUoANFgtDpfAaLFKIrsGjxOAaLFaInUFRyrAbIroqskYlLUwC
xtVQErFhNVRE0sy0JqiGkmgZ1aYiWY7qeBkqmsJBVkXArw1UhdNQUdDl+2oaYAGkKpYGpcj3
BVShNJRUfCSNarIaGjaOhpKICaPB04BRNGASLkAGTMLF2eBJgBAaMkERQUNGsQE0QCxYLj60
BogsnDUhbBk8A8IWsTOEArlA6AwlibDcwZ06ggNnVBGWnkxVVPKCCUinIlAHzainLWNm1NNW
VUYZMaOeVDQYVbQLsIlClGK4jG2/uGP6ZbCMrT85vt72AzZUxhbUZcSEWuJt0xTjZGz9xR3k
L0TJ2PqDu8lLjqyx5TfjO9d+fOfaj+9a+/FdK8KHx9jiiyVs+ktSMDjGFtRlbIx64iLcRT1p
fd3kwBj1pHxcjHr6MixGPe1W+isHxdiCtPD7q6ctQ2LU0m6bJBsQQ0nNxMNQ02zR4ZTRMNQk
6rYFxsKoIxNCYdSSb0fGB8Kop+biYNSTc2EwaslVZGAQDJkMioFRTVWEwKghq1AIKQCGmqSI
JqAmYQMJVFHVl6eiL+BiX6hTsBTDcBeMfAGMbOHAF3WEFVxSx7Kop1VzTBH0oo6Qi3lRQ7xd
ikzEi1pSMeCF4gMx3kU1WR3rgWgXdZQ1bBdjXVSSbZNShdIqAl3UE4LTeIiwWnhylAuZ8EbZ
OXExLoDZmhDiAqIQI1zANEyAC5mAiW8BICu0sYhuIaP44BYAno1tAaCL0BYQTq2nbOQKEHte
0ysenSvRZVQLoDMTglqoKWylKpchLQAcG9FCRrMBLWBsRfeuVgw+mgWAZ4NZyGg+lgWAZ0JZ
yFg2koWM/TVQd6hlHAsZKYSxAFq1GMUCIGGDWADoMkSFAlnxcRnBAsCVASwAJBu/Qkaz4Stk
bBm9AsAdH6tQTOwKAMmFrpDxTOQKCFkErgCR58oBChO2AkSOqr7kglYoKKqQoDkEI1YoSRQG
QoxXAWKljS4BX4Fig1XIBAGsd2KoChBbRqoA0SqUKAcgTAWHYKJUsHA+SAWH8WcAkA9RQVFY
ulCECghbBKiAkGV8CgCrQLiKL/jgFCI2rkIuAYc+YjjhyBRKgsCuI5AqVRGWQk0k+jfKNHwf
BODLmBQqkjIkhZpCxPMBKXg4G15CwBSRKnh4EahCAAunFMjAi49FwSOYUBQyAoIDNVgLo76s
MNLXPpSR3D5SuQpMCAoGaMlKxwWgYMBQ/AkR7dlSQ17KtSiCTzCSL6JDcLBjCcaEo4D0RsIw
cSd4qAibySwrg06wMFlrmJATLFCCcAEnSjgfb4KDSx68BF5GmyiBXLAJHlzGmijhQqiJEgEo
hMVzQYgzwQD5MBMMoowywQJjT4JJe+5AiAkewUeYkHAyGNBfZXgJCS2B5UNXUmwJFiw7p0iR
JVg4F1iCRTBxJThwGVaCBXNRJRhEGVSCARYxJViYFFJCRAqHY+SAEizcS2wZKLltCNEkGCAX
TIKBQ5kxoSRYqLBtKUaL4Ei5oBMshgkjwYD5FWspsAQPFlbApRASPLiMICHAYeVk4kcw0DJ8
BAsso0ewUEfWJjF2BIuSOgAocoSIkaBM3AgWWoaNYKER0DxUbZiJGcFCudAQLIKJJcGDA0Db
+XgRAuL0GASPTiUwGyyCAytMKxcqgsLhmBAiToj6wCZp88t/YCQIIDkYxwaJED5SfkPDRwSo
v/zpxS9fG+9cNNdezg163jaMb43/HC7CAPVCt1M3Hr5xk2skqeFfLj69v3g3+e7Hy3dvhn93
l8ONuzRXyyS1pkgZFvNhGoZ+Up7AIv0rNmlopLFBFj62n5d5XuBmv6NMi+q3dp66LyeWn9zh
47ucJr7jQeWncPh4R2eD1Yd973iSePuzwVsd/q05QKzPBuuzwf0+G9zywd89He2tOLhbf+yX
Rdz5FO+dTube9QxuxeGzmuNd25++2uYIV/25J/g00jbnM/SZifrjELs46EBHzdU0zZ5QqKF5
DEcP2jtXsPfDA1UuHfpkgD4ZoE8GbPXFDk4G3N3J/16nCfTJAJhUnwwA6PXJAH0y4EEu/1sn
qk8GyHQdPRnQAdf/vbrzd8hTv0n/+/0612/l/l/pha9d6FXo+7vQVzjJVzvYP10X+i46ytf6
wld60td5wW/hR9+ao3xbvvCVDu9VjvJPyBf+ibu7q1CP0p99uT9PcJXvdJ1jdz99q0FvaMBr
enlPr2fQd1nppby177EEUbgUN+YNDLj+Knx0YRdEpbutyhVW7fJ6N9/WDrixwv6md3MKvYOL
Z6XjJuiHqXKjBBwmpetltrzZp4aM7QDvfK3J1pelPOz+kztdMdLEbRxNXKzwlHwryfe/GFNv
WfqchgICe5yKsMxzVQQXfrAyYqVInXO3BZCKBIkjrgTMHH4leO4hLCOIR7EIzvyPIfCpXMjC
u1lCUG9oAIx9pyVwbjokBHHNFqG5BZLgeD1eAhIHcQlKnMlFKDV4IJQ4qssY0slL4NKkiijs
Oi/BiJO9BMXGWgRSuy5CS1d/CIMPBwBw3G1IYNrJAGDcl4rgxY3cXujZBwlMujQJireCZWB+
rkLCkCMbIhR3wSIsPwgitVzc3cpAYiclsAc0przPF+HFIAFE5EMLCbmWpU7O3ojAYjQjIejo
RwaTc0ASOB9ESYjsoJEIzwZjEpieYpLBxG1bBCs0UzhXJaOzAaKEoOe3YDCdiQI4ek5MRNAh
qwiFDAM5qSYC1yrTSk7BSfY2lGuJT9VJlqkYdEtmJR+mQwg8rJdMCDkRKEFzV0AAQQ8cSlYn
n05ICMBCkUOPMnQJAQGWzIBsyLlMCLiWOypmNgUYEHxIVALjORkAlNPGB1SlRgyY0XL6B2Mm
Su3OD9nKLRHQFDpZlZQaYCA9DCxBAUFBvQKZKEtySmVCMvmGgHI+dGYPKbIMBFSHrC9IQLoc
IVUTKio9Rw5CY1mpi6PrEEKuRnlaHsTQw/YACi/PgGCYGlCJYiFJ0hUbhhfhC0QEDnggwSK5
fEU8BQiBozBAcBK7QTI/xRqZhPFlG1sswEk1oit2ckXpCp+UDl4PlLUThJEQGgAcr0RKtsIG
OuBiwRPAQDC4P8sWZKVmWq7kKlBgz0njpUDQcxhqgiyjy9gAdAwmswGh51AKeEle6jjzhXwJ
QXYGRCjeEpBgeH9B6nzploRkgrKNDAlOIgFJULwlIulZvo8CImRotqsDdt7Zdo5kkot9JLk3
wxtI0tAZmLdlm1iSNtOdLwmcb5hJdijbaJPtU7ZBJyNkULbXB8HPZXC+ryjBlwCrmC1MFcqX
q0v3TSVottkqWRy6RQuAzwHBkq1gGXgrVyjfb5bg+T611AHO5fadQn063T2XjUe+6Q5hii17
hc2BRjO5r4AEB+bGjIuCGid3X6wPhBon86X0xQAxCnrs4qHCAFNOLtIjjMQ+KDAGO7GAGN4d
RkVCnGtgpOqb3HtHgVZW3q2ovVtZfVddfxdkQOk0BWEgceIYrRAtVJvC+QtGgPXIPc8guKIG
ucubAjWVDVLhdCcZscxlD7RVZ7Iai46DKnzuh6jCZ86PMFoWjuhiCeOB7p/6eUJgaP2q8C6F
EMQ1FUCUvq0gUvEJ8bCFUQ64PFu4+8KYzG0YRs6h9U7BlRlGY6doBQbQzdI9G8ZQL28FjvqL
A8jM71yBKX3YVQSMY3wlCawovPt+JUFNIY7qC3FUIUfuTEQlvqagR+qCKj6rKnd2GgVGlmdb
KvHkuEwVRfXn+DQPTKDkFLikbBVnlFQY2DTkB6ZgFDl3JQ16NkBXwJ76AnFgAbijZ9JYjx5d
A8Bk01IuMbSwMAMSgFZlwIWGNbB4Rc/5SZ8DvW95nFDE5PcbScXNzicCqYNweiZShGbHKaVZ
DzmJCULxDVIiIj/eKQ1Q8tOhEEK10s0cO4VQoEZnR1khMDSlYY7Pgihg+YK7gEyBBFcwy+O+
ECY/LQziFDsxipKLp50lRYIEUZ6zBoRd3mknI/O78EQMe4WepOQQkDsHLiHz6/0kbc5vBJTV
3JaXNshtgxKwuJ4QxpBbDUUUvgZRgi2ActiKvSJ6IaMMLS9xlJooZKihzdfySkkRs4HWrqCa
ZzdcSsNOYIECZA9z+yagT/mVnVLy+S2fch4uwBBlMxRvHpVqzN5aKomgvPVURBU3pkqIMr6B
iGLuahVR7FWvklWfKT8rwy1ImBvlR+UFtzImVZU9v1hXklNxJa8kEiZchNTq81gTUoee3yMM
F3oFdLxMaAtJuD7kvcFelCxJnFyxLOsBuZdZ1uw5pNXX8nCxuDNaRNCrpkEovaNaqq4P7Bbk
92EDCHKRNgCHu8zs4m6pRsXV3yrMFxVmCvCnuKhcgbHlIW15OboC48iWoryQXYEB5FFeAq/A
zGQtKy+WV2DmSsxCni1mGE/Ja0BuGcZXYgIlDwLlN0tlCQBHnAwTKb8BdpsyDLCwn2OU3EmU
WpUoeQ0s+WeYldyT5Rgl31ZK3bkBlhvyqD1QL0LC/MBdhaIrALqBOQy/AcHUzANWh4QtksBZ
kCPQ8iu6TFVPqnSrKKMzKTAVLgtifCgFvnSXlUY4fJAq6ftIrnwR+groyANoPQwP41JocJoH
4pLYy4TxkgdHWRQwCZEFEIP621geYjJRy6ThIY14Jo/YimhpCi7KqpxHepMHlkxQN2mEmwWT
A+YSkM9kHtROyqMMjiehvsAb6TQmHwAFW3AeB1Du8fMYg5ImTIH9tCJsIcQkaIhQBEMEEYrp
IBPSUTIVxLkZ4DbrJy0VOwsoCVWHeGNDiDLCJYQlsTIhhMJXlA3eCeFAx5Y8kCgIx8FIAUQW
0lSJmYB+OUzcVYVGVSMV/oJ51FjZMCiH3GUEW6ipKyZojDc+gHLitcKiIqACA7K3iNILIaDu
ojh5ACHygw4QDlpPzedeYKeIkJ4DiN1K7QU0UEXTkV8BR58kRX0L4DJO4IBdjlPLcWRtR+bX
AiwpAkdyvYithqDXHmANkd4gRQaGKMm1SshI9WHMwlEgrq+vI+VXlTg1CldegbmOlwpUAHR5
gXqEgGy2CoP6dQVKXWR1RnlLgFxul8t4PZ4CSpRhZHgydTzAuwz3xoG1nPsKe4qsGeAzSU0Z
XmCLwNI5npcPvv/84erz69e/GKvU84dfEBoDX33KNA3vp1gYUrAjcw7BjTMNIpLy5XsZlyX0
vy7ff/9Bxn5BQ0SS+/8CP86L8f3l+8urP0v4gzgAP4GzAYu2r3NBhvnayCGkYGeHZ6cj7KuA
67Wvk0O5cNnCSNLlkLJ4OTQgXx4PCJjjRCZhMU9FTooM9nb463QHeWZZnbSWFZNBS+pYNonF
OqCW1EADrJKHbTWDIrsdHNYT8sK1xefdyoqe7SJzcsbu+YFnJb5hrhPDjIwkcdJJcmSYqZ0/
DxAaoDlmaI5hmigoadDwBqRJWaI0o5rbtmH+DTED/SbL/ugvHuDaqRnFYRriw24oiQ9jw5yF
gZeas9gKXDMKybkqBFyGZkZv+ShLzETzb45r+1Zs4ajhpjVDhIgGzcGxw7RhXjbP2eFgUP6j
lN7S9lcOkndoBNcTB9U5/zuwD15dvTMul9Eq/drg2GGYxtGRgfdSkj8Zo8PjU2N6m+LnI+Pa
vb0JYyc5ePXDO+PDKiUfl98G+NsXDD0+xegY4fRXpE8IcGjg83crUh0jjOzQcZODg9docOP5
hE8GGjNEvpu6A0R7QTZg8Fd/s+IlXrLHz5/cwIqvyeOHCE1NvS/ky0SuDlUlXJvjsjanL/LS
jSpqgz8llTk+L8nbrMxxXWUK0RyPT4rajF+cHBflOx9XVKiQzuj4vPjk9Fis02h81mStjka1
Mjq+v4yO9yyjBOVkusbzZPgq8F+jpIeZ7gznzws1Wrgb49viRfnNcfnNMfvNsfqbKCi+QdIt
v8Evqm9S5qOU+4q84RGPOePKzjQHDnvMYI9FbJ40axmIkTWQER1RewnZUTRfQL/wifqX3unZ
qWHOFbY1SZ2X8+Xq/Lww24C5rjbAf0PprpYrxChzukpNNA0311bsEU1BxXwzmfz94v3k84cP
764mE8P84Yc36Nf3xgAn4dkTolLJIBw4hPjdq09vL76/fHcxufrw46fXFxzs9LiAkppTLXLN
xENTm+XcxAs6qLwBwqV+YtLuF5VobqI5X1L2SZQVaP5Pqkm6aAp0N7YbEaWk79OV56dooGoG
SThDXEadxM67HMO0cbcjsEt4tw1WbVit6ZfSYIE4WlnqlCVjU/YXKYd1c208f//J+BaZ9v8i
m9xG8r+N/0pe/u7wfz83yDgGdx/fkseJtbzFWy94RHe3D0cn9/uOZjj5zQ1WE8QKksJgmI+0
TKSVG4Q3EJlhfCsXEiAdnZSUZalYQicwcZQU3HfhfE2Ur5A2Xx52BAwRkdHw9l+TQpXflGVU
5CMmT2jZYYAqa9Sxn46OX+SjgvHh8XhcjCyPj44VQwM4uYAOMcYnR8VQ4ejwTBwtHB2icW+D
A4bxyXn9mAEqMO6jwYqQ/hrE2DJTC9lgVp6elqw8Pjk+OytY+eJMMa5nE6EDrbPxUfHd6OT0
UGLgeNwoA0eHJ1sykBSzYBstdMks+m4fuPYiNJ7hRg3xcOK7y5cJsrXh7PcQ/g/fPEMtTcF9
2o0ptU8lTbFIpKRSQQiUyT6vT096R5A5urOs6SxhrsHgYpwltGm+tfRKn2ittBZto0UZr9gX
pDGKXjrrUUaH56ejvEs5OntxfH6Sdw0vzl+c1PbO+WoRMvGj/MPxsbwkcXIyGjXaKZ+Ox3fp
lIW+WOqCld0K3JtInQjUd4hdRu8aZ1Yt3Tq3t/G8aSeTo9iIbbKOP7CKqRPwRd66xak43IGU
+wEtbR6J2wFtb5CJex/F+063XaiNGP7ReLVKw7m7dFG7QmaHeC8Zbz4Y7z98Ni7eXH42/jhE
BsKIwyAZIGUYLN2b7Nv/7s0cd2Z8+vDD5PL963c/vrmYoOfvLj9cYYvCf5EsDDxnxLYKwbHL
lYFULHsc4m/MaWgvEhPZTzdJpe97YmuCSK/TKbeE3ly8f/Xdu0KJSsDVxSsCyGwQw0TmGdmf
nigJ9jnR+nF//aD8o3+QVmTGyl063kw2TEpTliVaacoS18pNWfaIeTwMVylxVCW+GT21ZLl/
rlbTO6spZuoVwU3evPp8MZm8fPbzs8OT4Xg8HB+Oxj8/e1bsVWRMzh/6Y+MS7GGqdee+Jo6w
j/yuNXA9URgSLxWfEdRqc3+1YZjIPJcqJPeCf31b3wuu5xY9spE66BF3hhlkmH1t+vPIz0b2
fe4TkRynK90nPkBBcw7mD0/FutHTZVpv7qs3lH/0T1PmzPbieJVsYdEoIWjYnoTyklg0Wnfv
q7uEfeR3leZefP7zxafvPnz4XKm7hR881lnZEX8oHPqooGLPDfRWcT09mnyI4mL2kd/9mZdm
18hopbj3FIMyMPtbO34L1tx78dIXfcIDBD0jeIA+ZQzM/vbH0IREEkTdtXbcWztYLrIv/dGT
ozEOlUmWV1ZRFOLj7Vpd7qsuADMBWH+UJ9tf1ypzf5UpWFg89Uc9sj1LrR4P2IjJWVg89Uc9
Ci5pBbm/gjBMZJ6RkvgOKrjrzyb4ql7DfG+Yn/EtqMbhBt9/cXjIf5wGEZcU6wOT+Tswm8XR
gN/rKZbVs3XSbMmJzN/zCVs+0OaGVFCHWVrEUvmJ8yB1/DsIp7/aYXSrKnzmXMphd+1y12Yo
CjGr1kNRHLeYwU+G6Rj3SsnxEnznPQL4/nCVxDjIESYiYZqMX4x//vN+6QrcZtumHYdJYmZ5
4oKbweGLkxN8/qv5KiDW/Dfso11aijJaxy5qFxyeHh/jqkEFaKG6RNWO2tblcdMZMOk261Nb
xi3J4j8aGetKTjXsxJvl85wOL6pHF6fHj3JEgcNxNjiUyEcMD+nyM65yTQ0p/sZuPtli7NB0
wogyQerVQsqi97/lBiG+YXfAPucj3k6qJL2URStl55WSCpJ767Ri4lF9s1NzrZn70cxMkvxr
p3VTG82uq6bte0gDcqPJvhXrV4ZARN3z8tFuG4Iiv1EWaewPkrDpLHLeZrmQZ5yNUVYYGN/w
3UrelDle3HOG/DiZYfq4juhPnBoHDWfa6gSdTFkTHOC03VIXRX6wAuyl+C2uiuyD9S3UoaWV
jmL63tmFDoRGNrD1dQ6aTZeXORBhYOGo5Y9shEQ52/QACUhVDLmX86N46vToF++mIN13tHyZ
UxuUIeUjM4wsxU9p09iy3UkGfcjARlVfYehUFIQpJ1PqXZSg2Sxa79IfOg6pLzPblT9ACmDJ
h3mau6sCr9IN14VLfHd1wjcoR7dNV4am2rkGscDbcU5oY9K2RZBt7H26ePXmh4s2KjCkSQ9o
Ydoa8ObjuC6Pd/FoYRcDXpwPs53fZga4ZvmkX6xcC7daZPkMyyy7PLLPqtDoyG/28fI1GqHh
q28eOk4TOC06LzUzGKzJpJG10fpsNo2slD6a6ogzptgeFrrGvXV95oRTmZBb03Uj2rvWPZlG
lGscACviFmJUmfbAUjfCPLViYmn+zf+TmYQ4UCh5ZpJJwsEhanN4+OXkhRLQiODng6/ITLku
xwfOVbdUB3FToP32JM6XY2uJIJJIDvwl4uXMkBkIsFVBLJM+cDxfUz/V8J6V9aKhUX7WAPZX
Ia79NLc0z+nAbiuXTSPhZttYDdWK3QoTq5pHSxm25QwNzS9acove/TwNAdDnO5uj0ezo/Kyr
40tUgQaHlW/evn49+fjp8v3n7w3hPr4mhjK0vGA3zFspMq59gy+lnbzDI4EWszeMfK0cs9LO
BjdxZKULE7Hm+mVr9c5G1rvKrhj87liQvF00TH9pr+IENYp8eySMmujj4CJ1Yetg++JzS/Bh
k1UYdl8QZMU3sLAL03K0Q5Fkw8HMgIxaqc4wT73tYUXeJe5kSNHKGjyTfhcX4QM3SBZx62vw
NJsuL02T4s0su9noRcXtw0WpHjb0oHxufnEISLeBhbqq0r6ZvH3/Y8lDsv44z5eeGGEwz51e
u00Wgdas/WsWEQP53WltmnrIbpvUq1qr1f7VipcH/5opWof1bGElC3M2j+IUcUer2x7VzXzz
/eX7txefyJrK5IdXHzn9E+TEQPuihFM/tK+1Eu5bCb979+H1X2D1KyUkqB/dJUQFphkOLG6U
R/tl0IyqtZrJrK0ZYD6x6ewEcOpfp1bU+gSQZtPe2j6bfuaC1fq6Ps0Tt7EuT2w3zd+qcDl4
mMkpGduCd4g68UaMsDr5YkG87eJD/RW1zW8M1mCrL4XorjYj9ngzrcxPVpkz+Wd/O63Km2Ri
Rc1e/aB1uUu6nCtA/lBo8xvyTSd1OutrIs/Wav301JpCuVEH0gRp4NFd/c66H63eT129S0UQ
hyLdVe68P9La/dS1m9EEZnBSrODRbAdWObXMh+X5h1Wu/dnXSTg4Ynz7Mxd+4sUlEiEytjth
2h5b0FblJPj0M96/YklFkIqUAzzEv0hd+F3EruloyRtw9d+69EXR2aYDaE4b7vCt5THcWs/b
yXJHksu88egX6IPGz5q05IDHrl235Hy36yV/J/bWbpzsatk/y67LS/+0JuRUWOv7pagJ4T2Z
JoYzGefbG+4pMmhyyKfIotFhX101+N3bNz9c/HD1508oZ4NSZ66hZpQuYtdymBXWQmnYl06v
tZb1aOHwtG4PT6M9FKeIJVCn2waqChqdtBNuTzeJPjaJQmOKp043AOJFZFot3a6hm0AfmwCj
M8xzD5pBcru0dTvQ7eBO7YAqDfvSg5awDhw9KNIt4W4tgSoN+9KDloDKqhuCbgh3aghEZ5jn
HjSD3+zwRrcD3Q7u1A6o0rAvPWkJY90UdFO4c1MYD/i3TjcGy23nhkHdCPrYCIi2kN+dVnrE
IL1UqvX+TrsFdJ00e+i09iNO6R1k3QDuuoPMbh33Yc/YC+ZjPR3WreAOraBUmfKx022ATGBi
S7cB3Qa2bQOlypSPnW8Dpo2qmO4gbqJuBj1qBoXWcG/MtZfFR5wPnso9tRhgcTkP2XBD7WqN
cAVH6+IVLxkx3+XNw6cJ0DvITT+AWZp5bjG+XLJLC7etz+1ssrs70gr3eJAvdhRTP3YIbPoI
hn7b8W2UkivTv4AlzEcJ7MjhsZUxt+KsZX+MZczal9Dy9lnS1hqI6vAVY0Ny3S80jBNjzqsm
I7q3e8qnOKrS8kmfh5e0QlCP+NbR+sLv8NZRWpi24t1xh7q6G+9uvKOAd+O2j7+Ny5rlg67d
nH8b54O8Bpp9kVaNrWZNQOMnfVs1wQy3WrXBu9Q3fx3sTNdQXl0+aImKb65SbzfHLKuis2YT
rLI85SOaWrXcBIgQe6P+64WzM/VHeXVZ/VHxH5X6l+UpHzu9zEZqETm7WmXblsVZidiX3Mqc
ttxY2DjARQt90WqmXQ8EjIqParETBarRofLehLxM+UOnWymtg/lruIqX1m6M4R0ZXZZNBHSa
8bmRN+3Q8t1kF3c43YX3QPEAWE8ksLu9oHvwP1/4FCH94P3M8x+Z1RGKJrz3g+tB6Hiz20fK
97xwEqQfvP9t5caPlfVZ2URAPxiP95YeKd9p0YT3vnA9srwd3H10T77TwkmQvvA+Qex7tLyn
hZMgfeH92o3TR8t7WjgJ0g/e4y9mnus/VnPPlA8C9kQISytKFuFjbQJl8QBYTyRgWzu4aPV+
3CdFE977wXV74dq7icFyj8UEWjYR0A/Gr1beYzX4tGjCe6e5Hrs+SnGNSmqli8fFdaFownun
uW6lqLT2jk6ybs3wslTlYw+uFsn3eZq9WuQh3GZuu2AKJ+1DdZ3l5Y7PI2Y9V0jlzlR3RQFs
AD1KacDlrNqr6oNMsk2hRy6RspTq3aseSINuFD1uWRRlVO1n9UAO+cbR45YEU0r1DlcPpJHt
JT1uYZSFVO559UAUdHvpcUuiKKNqF6wXcqDbTY9dEkUp1ftivZAG3YB67NIoSqneKeuFNOiW
1GOXRlFK9d5ZD6TB7FA9boHwBa3cTeuDWIpNq0cuFbacVftrfZAJ2cp65PLIy6jaceuBHLK9
rcctiLKQyj24HoiCbnc9bkkUZVTtynVXDsIG2KOUg1xG1T5dd+VQ7os9ShFwxevXzl1xlPhR
Mp5+gQo55AoKwdkb7PEenyWePmNOR1Uf2ZGOkYjHG2S3e8kbXHZTlt1nZadO0dUQ9n6D3LEE
JyHJeyVzqxA3/Jn9aIjVRL3Nv/l/MpNwifT5TxlLk3AwGhwixcURTBzj54OvviJhiYrNVkqA
SOTNV343sHZPCtoYAVbowaViaMkSXDwDV3HAxQRgTqucVylG9vIAExrqlJ0uYP95e6RqJKaP
E2EubockQ99BovKtPH/bTmiBdX78tjhc3Fo+z8sgWmXzYI+Um+9omDUEkkjJIWj+cDRLTk4t
J6spKnQR9mR356VbPh/NH8rmane2g4PZzaVVRqnZaaAalPNOK1HUoOgP+1GPwoA1Vx2FhWws
g+EWtraFzMrGuQur3WrvsJueoSGe7MG4kCiEOyl+UXa+76Q9Y1dCKrI61YdgRlmEyJ0FNCoi
UnbXPzhBg25n5bvtnLec8zNfsPJcKB78kkuxgcjO49ZDYCtzUAWP/vHqYvL++6vJuw+v/3Jl
cNGGGFkwz512P89i0JrraTsHLbSC3UXBOGlwb71QMjtcpnHYTnAQrWj3UbRCIhKkFwrnBda8
ncPyWt3uo26ZPIT3XqgaZZbWtUeja7lAREA/tA39whlpfXs8+laIRAb1QudIMWdWS2ENtdLd
q0MtZQLAeqF2iRvrjvUx6VwuEBHQC237beWutIF7PMqWyUN474WqzTw/1YbtEelaLhAR0Att
88O5VrVHo2pEGtxbL5QM77MmWs0ejZpl8hDeO61qXqkrWtH2rmicNLi3TisZvlFUa9fetYuK
gf7ptD4xt9BqpdqzUrE3ApfPHVev4gJlrV57Vy/xMmuLPYHVXfUiN29r9XoU6sXego6fe6Be
tmUv9Ij+sShYJg3urQdKtm7p4kGtYndXMXrktXzugXrpNdbHo150hbV87oF6/WaHN1q/Hol+
UWGwL53WMMvV6/b7Vy0iBfK708oUOCdamfauTEQK5HenlSmb5brBSluo/SsVJw3urdNKtrCS
BeWdVrF9qxgjC+a5H+o18VLt8fWIVIzKQ3jviaphZw8vbedeaq1u91O3QiYArNNq1+o1Zlrb
7jSJrLq7rYu6lXmvjbVu7V23SlGUj93WLb0h9Ai0ikS76PgWUBFAwfdQOlqr9q9VgkBEQC+0
DWXoasecR6RtuUBEQC+0zfFmM61rj0bXqDj410zPOqlmZDWZhDfWGrYnDUPQz5fvcud7Gjgz
879HPx02YV4wH2sHikdhvkpRlI+d7h5xDcaxpXVr/7pViqJ87LxuFbdLaPV6BOpVXrzCvuXj
rnJhjAsXC0f2lMMvihHy5ChmcpgpKAiQFKRFDKQhBTvgj6TnJ4f5A57ZgTz+CJV43oU9nMD7
kbMuv6x/ZtYZUO8n6rbC+xmAW8LS3l25ucIsgTMrluSGDD9GjdH/YpjvkB5kkeHptRjoN6oG
JglKWWaxw1MH4A3POZYpJCcpA0FBsnUIeZ0iL6dIT2eS8kxT69m+9Gx7jRJliedq4jxOy7E7
cswHruxgVsuvO/LLB4fsgFHLr1vyy4ZewqBMS7EDUmxvUN+lW2y2q0JR/mJiUYxK4YGkME4k
Q41yNa/oucQmRMxhd27GKe526c3tOJld2tntOFl+Xb4dB9XDtNN2bpQQr4RtbwUkE0RpB8QF
ijYzaXCdpbYewkLL51cfX39+x+xqUVkWTz24tziriulF9q6uLtZ62pqeMjc+i4LlAD1SXB/1
7Vpz+6i5hWR5SI90F2Ub2vm13Fp/e6a/nHRlaI/0eBa7Wod7qcOFZHlIj3Q3X5fT2ts/7WVk
K8J6pMGOi7IMb7UK91GFWeFKwB4pcRJZN0utwn1U4VK0AqhH6mulqWUvtP72UX8Z2YqwHmmw
42oN7qsGM7IVYT3S4DBy9Qiil/pbSJaH9Eh3bT9M9CJEL5W3FK0A6pH6RtZKq28/1bcUrQDq
kfqullqBe6vArHAlYI+UOLB+DWOtwn1U4VK0AqhH6msvXOxFrtW3f+pbilYAdfrgM+dgp3W2
yzorO0zC3pJdVlPqTaf1tDd6SgWq8I3ssqaWfnNaW3ujraVQKzwhu6y11FNOa2xvNJYKVOH3
2GVNbTFYj9bV/ehqcbhc5eXYZX0tXOC0wvZGYQuZqn0au6yymcubVtjeKGwmUZUHY5eVNfdv
09raG23NRar0V+yyvubebFpfe6OvuUiV3old1lfqvaa1tTfaSgWq8EXssqZmrmpaVXujqplE
VZ6HXVbWzKtHK2tvlDWTqMrPsMvKWjihaXXtjboWMlV7FXZZZTOnM62wvVHYTKIqH8IuK2vm
YqaVtTfKmklU4TFo5J6GSED+n8wkXCJ1Jc+oIrQgOEBjEg5Gg0OkoQsrxgKMnVtEKATDk0OM
wQGb5DA4UGARMFADcPgdOk4MHdCUj70BR4mA4xmguzvgQgy4ZRIQvmFLZuXg8MBfIn7OYCQE
rfhAhJWyLeTORN0Uia3YiHmgpXDiE1ylAF8UYbNf2k+V96vEDQFpyVVa0xKWDcSpmWowobbf
mbSaiPSsarNdila9ZR3YcNVEwzpai9PjY1wLoQE0UxmU6D4kAtuU5qpUYYkay2QomqlKe9la
tsTythzhvIjPvZMI50ctpz9uOn0m3WYDpJcR2ZHQZwm5HIIPyn7UfFD2Mqv2Is6LedCg80EQ
LluPOV9mPaQ5Pu/8yaqsPk2fqYrSBRodOfxRHzav4qUHp9OyqkwifzX3Go8uUsVKNksR1iPG
zuPVdKdsLTLkIfn1iGgGGVjRzPNdE01Sy7SAaWau5uIkMzQkJEJDLQSUcVlAZuggJSfBlMQ8
5CHDOslGlgO72tnCoxiX7r8C2RrILivBjq4lNWpjbN1eJsM7aH1Lme5WctkcL89+0WUt5OuS
m74+VYlY7qYr1NIcDhjvtjSL29fEYTVLdjlrQNn1Ycpwm0xQTRqPw0DKc70Mb5aoFtY8sB64
Z8IzXmyocksu93O4zQdhhMhUvnxjtxzwnYFFiuV4r+wehERMP5+eGw1ZJqC2uxh1DVG2KOud
VaKoAcPaxivTvmklRqFndjV2vcSNd2tc8zx7YmHz6nTJzOZlbtDWcmwQQPewunxyzZteFQd2
ZX/z/HdbndYtcVGt9s1xaUZ6ZpO9JDw/PT3cpUnOsuyJRc5q0yWDnBW5QXvMMoGH3MMac4k1
b4wVtd+VLc6y32llWrfEeaXaN8SF8eiZHZ5Z6S5tMMquJ/YX1aRLthcVt0G7m1e+fLuHvS0S
ad7WArXdlZ1FWe+sEq3bV1yZ9m0rMQo9s6tfdrvc8EVcaXjz/dU/rib/6/sr8nj5w6u3F43Z
ki+Vc2pc806adVTwif/l18Y399s069WiuINZ5ypfvgl+G1qr7qVVqA8cn5w+Wb1iqs++a91q
QrdmvpvaC7f5OPpd0S6OATxEa1gDTm+TL91a9m9Mudi6Fy9apRqZPT9dnWIqX77dbfYsj9XE
Hpa3iYIisyVofuoNsGpXU+8vje001Vei9an3l53sL33p4dbSZrdT701vNvk33TLKm0aN8oYz
kJv7behv2rOrQG13ZVc3jdnV+kq0blc3O7Grmx7aVXeTjndrWmmOPbGutDJdMrC0xA3aWIYF
HOAelpZNqnljC9d8V/aW5r7LqrRudbMqtW94c5OxK9vb/BlvKYuOHvNe2wtruYtD3iSj7ncS
3tJr3KNACP/04J6BsJozJIg0QUJ8YKwnMOlGokiBKfsPDx1VWWKu5yvkSp96cBLaC7We9lBP
w0xLw24H2FuGTrNRS9tXzvblTCRMOUP/dF7EiNpH4wctaZWkCwZxb52WO+1KOyVw3e+otZSK
UxgWdVIvQ62V/dHKcBCygyADjNiK0icpwbF0BOzgkJ0FZOOstmQ6pPmT53uv49SJIcvETmMc
uo+N+yNXXQaqyQUQG16VwEzcl43ykQyRSxxZ6cJE7ef6ZUsa13IuZWN810IF6DKM6edcNWCe
joUxg2btfViLA/zaCafEVtHNhQ8LfAuWogPxq/ZQ6GZC69QWnI1TJZu9NgJVtZjL8E5muq1s
2xdZGYS4yPZxRXS6Xx2ajKPc3sZGtlTfuW0NNBMwTHfzjfHzwVfezEjdJMV2a+6lXw/xN1Mv
TQa4swlXse0O7DAY/uYGK5NLDlF/Y6QLd4lT+Sq4RmXDUiwI09hyPDwxsXwT4Uhmrp+4hNzd
RGGcGm8vP78k6WDYA2SBdCuxYy9KkyFKjsZlD1fpIFncvVLGi6njnhyfno6d45Pp4XRqj133
xZn9wjqbzsb2+Qv79PTk5Pj4pLqqMy9jM60cHqFklf74Cc2e/v7yGVbQZ9/kUDwVu3r96fLj
58mby08I66Y2LnZeMZ7y04cPnxHNQzj2jBbMdqrr8dWApIDqsooMCiG7YvlO2GXWjqPYnXkb
XE1cr4PvLj9cMeqagYdkWkH4fjD1lhbCMDSEAkdx/8FarixfQtGPA2t5cPHue4NMoqM8X0Iw
X6KEfSrWf/3h4IpI2sDjMYP+PIBhKiYdkAjJkeejGX32g0akB38OUZviUBj66tPrP09ef//u
1durjBYvAtBtRu4HQw5yE1n+5ExfkNQ//lhiNmenE5QSQUy9ueEuHQ8N4Qw0Dj5IrXiOVBFf
wpCnc3R2imaAszQIVtmnxasVB8UzUr2keAlOz67LFy9KuBfX516ZBOkrg48im312gyn7ynyZ
LLhnt6RLIisuEyHVQSPu1cZcJYjZWY0YiOVHC4sDoFryryh1BkBqzryTyrPvuP7Cu+uzEFxL
/pUvEgFYU+9ozEJxlflXvly04iKAT5mAjsaRv+KKeDCP4nCGNAMrtkP0ACkHJkZGmYEiICZk
NZpSplaKJvrTlec7BTD3lSm/R8CrN++MZBURa1VQfojc5VsOfmCvUNYJC0J0Aerobo7GDBQB
X60cLzTy237wDxpDHFxsUGM0LIKzrdhJDAvZZ8NNRkcvDo1kOjo9+MHboGpgs0AWyWhqf33/
2vj87orP4hq3cK7Yt25yMI19K/KEIr4J7RVeYsuTJMD3Hz8Ltcbfrx1XZsWryw8CEJPmlnTq
h9OkgP7lrz8AtDMnlZP9vEByJNLww7kxi8Mgsz946IB6ajzCwqIh/b2XfG0cDNMgopbNDpcz
0xyfvTgyB/bXo69HL77GwRSQFSYpfm2gDweLr433IcrXXhhYPQyUU2GjD2hWlCXIMiMxWqnr
DA4yttq2mySzlX9r4Ky8+QovL81QCsjk0h7ICahuHbx8+dL4+PoSGe4kSRdxuJovkHgj1FZ8
L701FlZiTF30Va5ziL41hwyV2TdjNwhT9/mBYbx+jflPCJdTB82KORBOhoGFieNGzLu9Sj0/
ET8KyA05DBTphH2NhHQjwX7jgZabyJ/5YRhJ0HXgXEtAJ5hLsGloL+RE15FcvvWaBEEASjiW
oMjsoEq6vpwyz0T+jVCw1SXLEPlbFCbexkQwEysjUJTYujEJkchwj6s3DjiOGo3LyilEA0ef
hXjxb+zbmGVHEkxXifg+cV1kVwMGHFibF0ejQx4yGo3Y4t0EZy9OWJIkcQ6PDo9EyJiFWE7y
4uz4lKVJXd+3UKc28ZbRiuVMeuOfj8dHbBbIKowOTxiAH5wdjdlSJXbioWaQsLKwHb52hGbu
LlFzZHmzSqb8m7lYiRDSa4lUniNAgkSE3Fg2VwQMQ12fZ/kCcOmyLODSSVCpOcCU06PUxGMs
HrJe2B4P8cfIYPGgxBEA0kdyDfmsV7OZi6zmBNteVme8Od0BgmBmarPZ8vUmqp+ghuGmkglC
U9uY/5BOq5IVJ2Nr7a5ZgG0hKlM0amVx3I3LKgPpu4fktwRdhjD8xlrDiAD19cu5BEYjBWVC
SEop6okY1HrJls85cjKD+u7y/V9KK4+7BB6ILEgGfPWJNBlviuET6vw7sO7Vq927J2zBh76m
JxySQbgTlD1iBhiu2caXAxFPvDSMAUzENYsc6oeW40LkXmJNgoCTbpEH0kXeiucYJ7DMhetH
aDAJYNdenIIJUoQ59a/VSL6FCUigF8kIZjcTezaHKp54J0f22fmJBSDdJAKg2HKEC5CNtAs6
P9psVMjR4SGAWrrjQxAR2XCF49Q/Gx2dQ7mM4JSCJAjJdXsSBg/kwcrjYT6AwJMAsKhJBAnO
c6BMI/uaG3kU8GQMyXcOiQepGSRqx4aqb4+OT89GZ3EKYaVOrCj82fgE4jKGH4PVAoC2F8do
fAJXIh+oQSjP20zg9op1cAXr4CICNcZx157tot41xTcTwIahCovKcmzZEZRjsX8MoiYRmrWg
mUigQGdmZDJb1xBEKoKphbrYJaRNCDubKr5SGwuMFQZfRaNA/Sv6C7NvUsyDIbEQewgp99RK
UU9yOwnmASQ4UkNykxuATKNgknqQlcV9mpl1ahA6ReM7SJgIgQYT0cKzoVTJLB5qD+RvVhDa
QxcWlvbUqIvOO/Qck01L2zp9sXWPWiyu32/FV9oVmXrLZw/Z1lFu5RhkBzHhhknc8MhotApN
84UuMONFd1zmZ8UCPl6m2Bje0ph6YTJAWRvIVIrPJrWiBBRF9gRPhgga9S/hYGPg22cJXbY8
JwBOj0sA+tyINi4aS4yviX0laSJA3qvm77T3zd9oz4rfplYwDcOBk06/MZywgd0Vhbjxzl0L
DQDZKhMzYvi7TUuiJRsZTrh0W9ah4bV7G1hRAuiSY2EjhIbu5nyK/qSGMaPrrbMYzbSQEUrQ
JAJBg9DxZh5Z9lyGhoHM3xTRJWvDypZnHTdPaIVoZh5JYYqAC0rgoUT8Nfq63EmI0GO8Io/p
Ir/hESVEMnbp4uMspEVBxVxQ0l/RY3CNEyLJk4RQ2glNN427qWuZhFrTtUIFSp3DOuBgHcgs
fM64/LjZ75x8p8f45z8Nd4MkOCJ7b7n8SCpPZkLZgjqxTjoNSL1w/8BCb6t3bbrM4gZzKyOC
vMDYB5gdVXmzVWS+w8t8bdSlzGMH4xwnaMpwcBq090FnO24ztRsqnfOmqfKgGYTxnFZ5FSVp
7FoB72tS6UHzmLxm6ioSWAk+08CW3cj9YBpiEHXceXnXJHgWZokMsrKRP6wLTM7z31HCYbFZ
aZgm7RTJNMY0qVOFiZ0qXnLuFDgX06Sfm9j35GWWVoZx8aa1ac98a568fPYg/3/J55/k0EiK
1KG5ufTyJZgWkhzSzb5nHH99J2fwQ1ylIXY0kl5e9rzQyOIjzXsp9gIZ1rFSq0CXLlREEzMK
LyG6eb0OMkh0my7C5Uv6h8C+KYaY1b5bQz+0Lb/eg4tsdyi8uJg6HKDnmKcpcyEOmrn2ggS5
FyptiHJGhAh1/yqnMUrwOFzH7uouxnmKkR/zwxgfGTv4nxc//Cg4ks0+Xl6QY/gX2cmyN5Pv
P3z6fPn9P7JTWi/HQkQbTIGPdn34/vuri8+T7y4/X72kH8rHvsDTZ7HrrJaOtUxNfA4tKU6q
IaA7Q39vYi91ydG25RxjAy/Bh9u4RMDDb40axUYtYtPmsB1biNUB0WI3C8Rq0h5MKhrsFzgz
fWvq+qxEMl5hDcVgN4jSW3MaOrf4FCHqu10H21U3XmIsXiu38HlCexXjWWMBuR1foxd8QASf
vMEa4M2XqFSO+Rtqmtkqhvm30HeQyG+RuWKOLwrwGU6FgrGioH42QN39wbs3YpMgZ27MGyte
mtk6BoF8+VPs+nGYvyzDGzS08tzy0GWD3ULDfYJxd3/QzMozPxRykARTh0+JGnFkl4cY16gn
6UFqIwPtTlfzYv0AffMDKpgE3N4VEduGyCDdjEdXprD/WxsOirI3Is4JQX2eFpPioTIHXTbs
uGgsHOvgO+y0ZNwskBXNWK72Z5R9BEEvRwy8enXFVD8D/o+PF28l4Mf3b+XP0wX2j2L4joch
cvag5+TUX7lfjFp3Svw97E/59seLK9RVvbq6MJi8cKfH/yh9L+maA+uBiUlfff78afh3/JsD
b+uSidL9/PptNq6I3ZQoJgKCbpoRZt9a1LMZHuQlt0ubq0KAKL2ENQZE+7EL24TFYehq5TmA
AypuyNgrgavY59hCw5tsXzIrWJRB0RQwWqXUwzPFEPPfI8/5FjVPz3ZFpY+njlzDzSyxU1+Q
8jJJDHwWvawKAq6SKXYtMlAf4cU5UPYUxkVGttbDLmWcktK2Pl/h6aU1x6feKddadgblHUDf
Xrw3eEuYTRtNuqedDFCBCroMhdSKQ7e93CItseyaPwSJYwSEy2SQuhuPx+QOQTIGbx3agQN9
hIY2i8EiDXwejH1GzwrQ//zh4/C3ICLDA2uJ09mkojSIT9+igBK1Z965sqPBSYlg02XokeUz
yQBXBKIW67E5NcvtIcmD+Fxi5+vhb3PLBMuyo2z3UFtYIFSg9n7qv9NsUf0DNIxaWD6TL9+O
FgfcnoJB1uibWsLO5+PZFrphvCKjddp44jAYoqFL6k3DELuSFOWwSTma2uLD23rJbULbdjKk
o9bsj0nHtwOMbK/SDNud0JZN1GAkyYaARGYRR+iMWYbxHe7tsLmGuImSgEnKNJQkZSqxdVOX
CiW5QlM7VSJ41QeiKNPAFG0rIV3zQezPpAIoGycgsU/ZUWlarT2yg/j/SFn7wYhRwB2VYBc1
PlPLm4wO2s2a86TnvCqRjR6S4apJhqtlX1VLQiM71XvvB6Gz8iU62ggZaJigAbV8GAb1KMOy
60J5c16TFI26GHKIhNJwTtwFAZ1EKClwDo5LTjlVpRK7c8Tw+BbCIVFEVmovxJrWHLiiNGQK
K9WejhKE9yEa71nItElw1IOkMZcXTdsL3Dhbi2IPRkgHvdBskX2ly6QsxPFw7JqDODCYPtPg
DLHBGXeDs+MG1zcYfFeSZYGXFdj3mR9yx6Z+m/Lc/O3XhKsVfjV9d8O55hMg3YmT4WSNhxM2
WZ9hAOI74aoI3Om4eefZ0nHjTrNlxo0C6/kTePABH7Jywbzf5dQef2SxOI3qzUVoFIfz2E0A
6hiZG/6kB48whQKUiBVuxe6GZXbFKUJ6mpovPqncELU3CQYc1xz+BgHXjifDgOOZQ/Ak5xA4
tDkED20OgUObQ/DQ5hA8tEmhSItmdrhaKj4ybX+FfQEU2GRpRckiVH6M1UvGuZI6YRjWYXsK
YvyKpEzaRCCMsuwYhxd9JYzyHOsQaAPDqX9N1sIlRLJw3cgJAUH612s39ma3kMptc5iVgliN
RZNATqeni5vTY/6YFsnBcdkDDfw5H/Q2/G3lrlwBBpwRxGBsLwQQHbkIQGcVREDZpNNfSzKf
i2SIdHSUZOV7MZSs8lTWDA0a1tR0kkcGBZwNzpOjJ1fRM2dpxLSFzPnjMzlSOg6WI2ByfLZj
GnvOHMoo4FWEAXPDkzjhOljshi4Oj+y5GaN2jwY4DJSsL4v9AVsw4bxsYHloyMDbMf4sNfOx
K34tnl7mz13nX3rh4uh4zJ2aFk5k55QbLzwaHR1OctehChInvFkqiW7wUJRvv4pD3/kX0pEu
8GwedNC64I98MqtggHD8SzybXbKYPxNXwvnTb6yKC8e6FMe82S+Ew4gsygUS4yXFn4ouGoij
PlOe0winwe571JxNbkKOmQnk9efQC7YGE5UiWlHtwfWclD9WKB9nz+mEg3bkQLki78h3k0Dg
KJqgJdxwoYFz8KzobRtkMwabeFPUzJzUV3ySNefo2RZwDsBvnHTinR4dHrqgzmCbozJFFtcF
cSi8ISWUCqycdI42RwBnb+UAAKSupp1w45M7RAUoi4yP8/NdiSpiABQMQDr1L5/dLeo1gusr
nhvO4fK5YZ51ppewys+fxi1k7+DZOb9ywffi+BXPJyIXdcJAyJQq7uHULTTU4A4nhgtr6fic
gkQz9AWbspcGfFAID83joPaIcxAKzKJUghNiK5SI1ZLrx0vEjNVROBYDmzHP+ztHaeDq4IGD
EsJbvkHfNbYDV2BueagYTUJH6hnjCoQGqAgYsfLyEz48kLqT8DA+uEQxErhNeLuMKMvAE+zH
JprvmF94tWIwCzSR5a0Ag0y9+QJqcUioim6BNBLLcSCrt55biqErxvCKUmCCGyt2hWPmJVJl
QoTj/1mVIst30xQ0OWJcgLID5+ICsCyNwSE69ufwzYUDlRdBTZXqnUezJB/fn0PdH09gkkVk
uWS/htPEFBZWFClsrDSFxASRkWhw9bTZMogNjUAEUjtMoXZGqOxwBulWhnM8ZUnsUOjRBOyW
VUb84wrnhaxZ5atH13s4o7gMU37u7a7dZTohYM+VlinJ4i/bU+KZ51CKmkOg3kwGRRPP5mbA
JVyY+BQIutIuYcQ5L4Wiwaeca+Bx47zse4hSmrNTMBoxKMqHMYoCYlSymsrcwgiYjytHrhFe
0Zah6QwAWjFKWFj62YDhGTAUGT9pGXIDhmXYCEEcNnJ4BgxacvMjxYIrtPoLrkT/xqnJQlw2
QfnzMQ+YUEVz60CMZ3QgxjISADgFzmGGbqYzHhac+9MC9sLgaFhPDTP0HUKXtVGWzortxYQG
nYcJ7GglRYLIcYoQQDl67kyTlJsScugp3qCSg2XkaC8Uhv0cFo4ixGOhUEIiRXUZ1FGHBAo6
mxR6ep4QT+gmFSkJlpV6r6mIr9eBWcXbwA1CbmOPw+INC1TxCnRF1BWWygnxehNxE6zKCw3f
xOVijkYYWnO4NLaWiW+lblWJkZKK43M4ESWBPcf/q9D5BTwqmlm0GuJncZOPIwqjCR3+qgiq
saienpLT+JSSUv02FZF4ChWVIxQV+qSOn5STyLGPilIrAyDlFIkaZUWeMmEvrMKq4icV1Q2q
DEx1wKSy0sqoSUXdAhLLRIElCybTF3LMrrIc09XcVpso1uFLUcSJMB3kv2dCxTHxeYp+hLhB
3CapG5gY0aafCXs+W3Avwdnk3WvRrRbdad6NNhb/Bi5K4zXmT/tVRcRJ5Ig4qug4OShJHdzi
WBCdInKg3za+FFPnHrF06EIUjolM3vLlthxQhNrJAXSBKn/Ll6Xy96xzx69lrB0jchHjwjma
NiVHlpNEozOUA48I/NPDEwILIvvs5PgYDZDIG+s8Z3COckZydH5ofvEin+SHahjFqEBWxnc/
nFH+WL6N7zyyfS9CBroIxtKij2VbYXoKfStDpuxKxZ9mwJ4d6EhbYXYkwanC7GT9xf1i7bQe
A0eMwJGV9nmp+DToiNjbtdKf0DN3zacs9dXtRzlR8nXn5226FNIkbxwIHQVFA2nt3BDN5nmH
r0ylNWj02tTs3OqDzofTYrVwVyqQsHDvaM6R/IG5f7RAFWQP6W0q6ijeHfqQWFBANq1f/IeP
abdb5qLAD5EDXO6WDGxuKzprU7FO+q2bVJLL8wM0EfAfeGXuxoeaOaGnISEsfzhNHNytm8Qj
0Fwgu+k4Lo7jstucBwvDNGlUl5eUzd9OyN8J8XNfDJbuTR4rAR+tIEvq0S0VyYS+eo5vTCYs
ZMG/T4gLvAAc2DXpTkgHhkosZ1CixJxyBJhl+ZmNjwiYMyPD4qA1qNSDNIjw/2/QBMFehMaz
q+8u3+Or5X5+VjTSn589M779tuY7/rNtv3p3+d3F3y9e558xo8BtP2cyRbRbfXX151efLtg6
4inCVl9+/HT511efLyZ8Ze9aajQ4+P7y0w9/40tRpIIm9NsmM3n9ASX1dpIlk8U33Ppr5ibB
n6WrBLdO5d2H13/J00DDIHzY6Xrrjz/9+J79Nl4t71SDj6/eXr5/y+WesRH3ANYcmcrqtPDN
lv/NsIMIB2qEiQBwFm8uWKsbFPgVCTBX3QxpJDyxSKVl4iFQQdS0cvYlLckZB14wXeNZMvz5
9z/9x8tf/vjzH17+/PsB+jP87yTajmv8PDJ+Hg/nz4AKGCKXxxiqNDtQPbkvBWAV02F6NbvH
BbPpvnOK+1TaGWCzaZShhRIjDZWWWP76f1x9eL/d15m5VhTACyLfLcKdVBXC5vmo7DNgOM/U
O3/MclhJJKp0de9VgdyisNslU1vsgnKrsqNpiwK+DXsrPq5nr31PJb6f7j5IZas0VZBYlagB
UhWbagUIKUutqlV9pBTYNvokaEKV9gCkSiZQFenwqonfyooJLk4Wke6LG4em7y7n6YKJdsdU
JqHk1dXLEluGS99DOAsx6XJAIi6+RnPnLB7Wg9ZT5NmOT0LLNZxouUbTfGH9TnGgrWTzh0ZT
z/zQcCjSbHHNH5Bf+aJaR1v/xA4c3LdoK6CtgLYC97ACZQNiX3pgFTI3XW0WtFnQZuFeZiFr
Qdxb1w1Dsom0TdA2QduE+9gE0njyh05bAlLfFQ6QMbnV9mA/9iDTK14U/GtfdExPTx+NjvkD
4bUnOqY17JFoGKdfvdAufBBVm7DHoWC5LIT3vqiZVrLHomS8ivVCwdY4XILWr/3rFxEE+9IH
7SKHcLV27V+7iCDYl05r18x3N1YcW3qZoheLdl0q66aRcz47K+7Uv06taJwH1W8r+W6v5j5h
de5SWXXT61/Ty0YpTIfOPHd6jEIqrccnfTA8XSqrNpK9NZKZRcn+dt84TmxkWFLtjtYLu9Ol
smob2W8bWRgW/rUHFtMJtLXsgwXqUlm1tey5tcRGpXzsgZXUu049MT1dKqs2kz03k8wWar6D
ms3EvzYul8ZstbRxMzf+7//5fzOi2Aus+Da/2WCC45T/3//z/31dfDYaHx19ff41vZn3a8O2
EtdYW/7KxWkcj8+Pz09fjM9P0Df4vgwccdNdrgJ6uyyNIFDkReOxk/PrmPynzGa9TG681F78
cmDbo68NbIxvrBjfHp8YUxcb65QMjR3DSmgpkjJy1h//+Efjp2zN4RfjgpjAEY/+m+WRmAY4
IuhqicMgJAuUGL5gZYB+2opVRgrFhBQjJU1WUxwbMgsAZhKavNjjdsOajfgyFHHghOxH7WSf
5Z1XnGDKnA/+Rf/oH/2jf/SP/tE/+kf/6B/9o3929fP/A8Hj0kAAqBYA
--------------020302010604050209050608
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------020302010604050209050608--


From xen-devel-bounces@lists.xen.org Tue May 22 17:24:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsoX-0004n3-J1; Tue, 22 May 2012 17:24:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsoW-0004mr-0b
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 17:24:04 +0000
Received: from [85.158.139.83:33787] by server-3.bemta-5.messagelabs.com id
	59/8E-08525-3BBCBBF4; Tue, 22 May 2012 17:24:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337707437!29091026!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18605 invoked from network); 22 May 2012 17:23:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:23:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610378"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:23:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:23:55 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWsoM-0000bZ-Mq;
	Tue, 22 May 2012 17:23:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWsoM-0005vC-7v;
	Tue, 22 May 2012 18:23:54 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12954-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 18:23:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12954: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12954 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12954/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-win         12 guest-localmigrate/x10    fail REGR. vs. 12826

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 12 guest-localmigrate/x10   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                091ce3d38e5e57cf7dd44d66335725910e928f59
baseline version:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:24:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsoX-0004n3-J1; Tue, 22 May 2012 17:24:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWsoW-0004mr-0b
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 17:24:04 +0000
Received: from [85.158.139.83:33787] by server-3.bemta-5.messagelabs.com id
	59/8E-08525-3BBCBBF4; Tue, 22 May 2012 17:24:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337707437!29091026!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18605 invoked from network); 22 May 2012 17:23:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:23:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610378"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:23:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:23:55 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWsoM-0000bZ-Mq;
	Tue, 22 May 2012 17:23:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWsoM-0005vC-7v;
	Tue, 22 May 2012 18:23:54 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12954-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 18:23:54 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12954: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12954 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12954/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-win         12 guest-localmigrate/x10    fail REGR. vs. 12826

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 12 guest-localmigrate/x10   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                091ce3d38e5e57cf7dd44d66335725910e928f59
baseline version:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:25:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:25:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsq4-0004vo-31; Tue, 22 May 2012 17:25:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWsq2-0004ve-K3
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 17:25:38 +0000
Received: from [85.158.143.99:10321] by server-1.bemta-4.messagelabs.com id
	B6/8D-00342-11CCBBF4; Tue, 22 May 2012 17:25:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337707535!28372331!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4291 invoked from network); 22 May 2012 17:25:36 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 17:25:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MHPSEO015871
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 17:25:29 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MHPSRV022578
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 17:25:28 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MHPQbQ029730; Tue, 22 May 2012 12:25:26 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 10:25:26 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 181B9402FB; Tue, 22 May 2012 13:18:58 -0400 (EDT)
Date: Tue, 22 May 2012 13:18:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120522171858.GB19601@phenom.dumpdata.com>
References: <4FBBB9AF.6020704@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBBB9AF.6020704@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
> Hi,
> 
> while testing some APERF/MPERF semantics I discovered that this
> feature is enabled in Xen Dom0, but is not reliable.
> The Linux kernel's scheduler uses this feature if it sees the CPUID
> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> compile) and bogus values due to VCPU migration during the

Can you point me to the Linux scheduler code that does this? Thanks.

> measurement.
> The attached patch explicitly disables this CPU capability inside
> the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
> with the patch applied.
> I am not sure if the PVOPS code is the right place to fix this, we
> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> Also when the Dom0 VCPUs are pinned, we could allow this, but I am
> not sure if it's worth to do so.
> 
> Awaiting your comments.
> 
> Regards,
> Andre.
> 
> P.S. Of course this doesn't fix pure userland software like
> cpupower, but I would consider this in the user's responsibility to

Which would not work anymore as the cpufreq support is disabled
when it boots under Xen.

> not use these tools in Dom0, but instead use xenpm.
> 
> -- 
> Andre Przywara
> AMD-Operating System Research Center (OSRC), Dresden, Germany

> commit e802e47d85314b4541288e4a19d057e2ea885a28
> Author: Andre Przywara <andre.przywara@amd.com>
> Date:   Tue May 22 15:13:07 2012 +0200
> 
>     filter APERFMPERF feature in Xen to avoid kernel internal usage
>     
>     Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 95dccce..71252d5 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -240,6 +240,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>  		*dx = cpuid_leaf5_edx_val;
>  		return;
>  
> +	case 6:
> +		/* Disabling APERFMPERF for kernel usage */
> +		maskecx = ~(1U << 0);
> +		break;
> +
>  	case 0xb:
>  		/* Suppress extended topology stuff */
>  		maskebx = 0;

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:25:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:25:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsq4-0004vo-31; Tue, 22 May 2012 17:25:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWsq2-0004ve-K3
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 17:25:38 +0000
Received: from [85.158.143.99:10321] by server-1.bemta-4.messagelabs.com id
	B6/8D-00342-11CCBBF4; Tue, 22 May 2012 17:25:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337707535!28372331!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4291 invoked from network); 22 May 2012 17:25:36 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 17:25:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MHPSEO015871
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 17:25:29 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MHPSRV022578
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 17:25:28 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MHPQbQ029730; Tue, 22 May 2012 12:25:26 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 10:25:26 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 181B9402FB; Tue, 22 May 2012 13:18:58 -0400 (EDT)
Date: Tue, 22 May 2012 13:18:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120522171858.GB19601@phenom.dumpdata.com>
References: <4FBBB9AF.6020704@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBBB9AF.6020704@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
> Hi,
> 
> while testing some APERF/MPERF semantics I discovered that this
> feature is enabled in Xen Dom0, but is not reliable.
> The Linux kernel's scheduler uses this feature if it sees the CPUID
> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> compile) and bogus values due to VCPU migration during the

Can you point me to the Linux scheduler code that does this? Thanks.

> measurement.
> The attached patch explicitly disables this CPU capability inside
> the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
> with the patch applied.
> I am not sure if the PVOPS code is the right place to fix this, we
> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> Also when the Dom0 VCPUs are pinned, we could allow this, but I am
> not sure if it's worth to do so.
> 
> Awaiting your comments.
> 
> Regards,
> Andre.
> 
> P.S. Of course this doesn't fix pure userland software like
> cpupower, but I would consider this in the user's responsibility to

Which would not work anymore as the cpufreq support is disabled
when it boots under Xen.

> not use these tools in Dom0, but instead use xenpm.
> 
> -- 
> Andre Przywara
> AMD-Operating System Research Center (OSRC), Dresden, Germany

> commit e802e47d85314b4541288e4a19d057e2ea885a28
> Author: Andre Przywara <andre.przywara@amd.com>
> Date:   Tue May 22 15:13:07 2012 +0200
> 
>     filter APERFMPERF feature in Xen to avoid kernel internal usage
>     
>     Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 95dccce..71252d5 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -240,6 +240,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>  		*dx = cpuid_leaf5_edx_val;
>  		return;
>  
> +	case 6:
> +		/* Disabling APERFMPERF for kernel usage */
> +		maskecx = ~(1U << 0);
> +		break;
> +
>  	case 0xb:
>  		/* Suppress extended topology stuff */
>  		maskebx = 0;

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:30:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:30:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsuo-0005DD-Sa; Tue, 22 May 2012 17:30:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWsun-0005D7-6d
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:30:33 +0000
Received: from [85.158.139.83:63739] by server-3.bemta-5.messagelabs.com id
	66/B4-08525-83DCBBF4; Tue, 22 May 2012 17:30:32 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337707829!25507871!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23618 invoked from network); 22 May 2012 17:30:31 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:30:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196050457"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:30:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:30:08 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWsuN-0006iy-Qp;
	Tue, 22 May 2012 18:30:07 +0100
Message-ID: <4FBBCD24.5050604@citrix.com>
Date: Tue, 22 May 2012 18:30:12 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
In-Reply-To: <20411.50812.100404.117424@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:

[...]

I will apply the block of changes that I've removed from this reply.

>> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
>> +{
>> +    STATE_AO_GC(aorm->ao);
>> +    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
>> +    char *be_path = libxl__device_backend_path(gc, aorm->dev);
>> +    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
>> +    xs_transaction_t t = 0;
>> +    int rc = 0, last = 1;
>> +
>> +retry_transaction:
>> +    t = xs_transaction_start(CTX->xsh);
>> +    if (aorm->action == DEVICE_DISCONNECT) {
>> +        libxl__xs_path_cleanup(gc, t, fe_path);
>> +        libxl__xs_path_cleanup(gc, t, be_path);
>> +    }
>> +    if (!xs_transaction_end(CTX->xsh, t, 0)) {
>> +        if (errno == EAGAIN)
>> +            goto retry_transaction;
>> +        else {
>> +            rc = ERROR_FAIL;
>> +            goto out;
>> +        }
>> +    }
>> +
>> +out:
>> +    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
>> +                                     drs->num_devices,&last);
>> +    if (last)
>> +        drs->callback(egc, drs, rc);
>> +    return;
>
> I don't understand why this is here in this patch.  Surely it belongs
> in the previous one ?

Not really, because libxl__destroy_devices is called from 
libxl_domain_destroy, which does not ao until this patch, so this 
callback is the libxl__devices_destroy one (which was not async in 
previous patches), since it called libxl__device_destroy instead of 
libxl__initiate_device_remove.

Thanks for the review.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:30:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:30:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWsuo-0005DD-Sa; Tue, 22 May 2012 17:30:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SWsun-0005D7-6d
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:30:33 +0000
Received: from [85.158.139.83:63739] by server-3.bemta-5.messagelabs.com id
	66/B4-08525-83DCBBF4; Tue, 22 May 2012 17:30:32 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337707829!25507871!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQyNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23618 invoked from network); 22 May 2012 17:30:31 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:30:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330923600"; d="scan'208";a="196050457"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 13:30:08 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 13:30:08 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SWsuN-0006iy-Qp;
	Tue, 22 May 2012 18:30:07 +0100
Message-ID: <4FBBCD24.5050604@citrix.com>
Date: Tue, 22 May 2012 18:30:12 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
In-Reply-To: <20411.50812.100404.117424@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:

[...]

I will apply the block of changes that I've removed from this reply.

>> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
>> +{
>> +    STATE_AO_GC(aorm->ao);
>> +    libxl__devices_remove_state *drs = CONTAINER_OF(aorm->base, *drs, aorm);
>> +    char *be_path = libxl__device_backend_path(gc, aorm->dev);
>> +    char *fe_path = libxl__device_frontend_path(gc, aorm->dev);
>> +    xs_transaction_t t = 0;
>> +    int rc = 0, last = 1;
>> +
>> +retry_transaction:
>> +    t = xs_transaction_start(CTX->xsh);
>> +    if (aorm->action == DEVICE_DISCONNECT) {
>> +        libxl__xs_path_cleanup(gc, t, fe_path);
>> +        libxl__xs_path_cleanup(gc, t, be_path);
>> +    }
>> +    if (!xs_transaction_end(CTX->xsh, t, 0)) {
>> +        if (errno == EAGAIN)
>> +            goto retry_transaction;
>> +        else {
>> +            rc = ERROR_FAIL;
>> +            goto out;
>> +        }
>> +    }
>> +
>> +out:
>> +    rc = libxl__ao_device_check_last(gc, aorm, drs->aorm,
>> +                                     drs->num_devices,&last);
>> +    if (last)
>> +        drs->callback(egc, drs, rc);
>> +    return;
>
> I don't understand why this is here in this patch.  Surely it belongs
> in the previous one ?

Not really, because libxl__destroy_devices is called from 
libxl_domain_destroy, which does not ao until this patch, so this 
callback is the libxl__devices_destroy one (which was not async in 
previous patches), since it called libxl__device_destroy instead of 
libxl__initiate_device_remove.

Thanks for the review.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:40:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:40:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWt43-0005OL-Up; Tue, 22 May 2012 17:40:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWt42-0005OG-I7
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:40:06 +0000
Received: from [85.158.143.99:27256] by server-1.bemta-4.messagelabs.com id
	E3/E0-00342-57FCBBF4; Tue, 22 May 2012 17:40:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337708405!28941388!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16970 invoked from network); 22 May 2012 17:40:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:40:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610550"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:40:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:40:04 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWt40-0000gm-9p; Tue, 22 May 2012 17:40:04 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWt40-0007P1-8W;
	Tue, 22 May 2012 18:40:04 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53108.248743.533907@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:40:04 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-13-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-13-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 12/15] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 12/15] libxl: call hotplug scripts for disk devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.
> 
> We will chain the launch of the disk hotplug scripts after the
> device_backend_callback callback, or directly from
> libxl__initiate_device_{add,remove} if the device is already in the
> desired state.
...
> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
> +    STATE_AO_GC(aodev->ao);
> +
> +    if (!aodev) return;

Uh, what is this for ?  How can aodev be null ?

> +
> +/* Hotplug scripts helpers */
> +
> +static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
> +{
...

How about, to avoid mistakes with the array size:

       int arraysize = 9;
> +
> +    GCNEW_ARRAY(env, 9);
       GCNEW_ARRAY(env, arraysize);

> +    env[nr++] = "script";
> +    env[nr++] = script;
> +    env[nr++] = "XENBUS_TYPE";
> +    env[nr++] = libxl__strdup(gc, type);
> +    env[nr++] = "XENBUS_PATH";
> +    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
> +    env[nr++] = "XENBUS_BASE_PATH";
> +    env[nr++] = "backend";
> +    env[nr++] = NULL;

       assert(nr == arraysize);

We should really have something better than this as there is a lot of
this kind of thing in libxl but now is not the time.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:40:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:40:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWt43-0005OL-Up; Tue, 22 May 2012 17:40:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWt42-0005OG-I7
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:40:06 +0000
Received: from [85.158.143.99:27256] by server-1.bemta-4.messagelabs.com id
	E3/E0-00342-57FCBBF4; Tue, 22 May 2012 17:40:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337708405!28941388!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16970 invoked from network); 22 May 2012 17:40:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:40:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610550"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:40:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:40:04 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWt40-0000gm-9p; Tue, 22 May 2012 17:40:04 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWt40-0007P1-8W;
	Tue, 22 May 2012 18:40:04 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53108.248743.533907@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:40:04 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-13-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-13-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 12/15] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 12/15] libxl: call hotplug scripts for disk devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.
> 
> We will chain the launch of the disk hotplug scripts after the
> device_backend_callback callback, or directly from
> libxl__initiate_device_{add,remove} if the device is already in the
> desired state.
...
> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
> +    STATE_AO_GC(aodev->ao);
> +
> +    if (!aodev) return;

Uh, what is this for ?  How can aodev be null ?

> +
> +/* Hotplug scripts helpers */
> +
> +static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
> +{
...

How about, to avoid mistakes with the array size:

       int arraysize = 9;
> +
> +    GCNEW_ARRAY(env, 9);
       GCNEW_ARRAY(env, arraysize);

> +    env[nr++] = "script";
> +    env[nr++] = script;
> +    env[nr++] = "XENBUS_TYPE";
> +    env[nr++] = libxl__strdup(gc, type);
> +    env[nr++] = "XENBUS_PATH";
> +    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
> +    env[nr++] = "XENBUS_BASE_PATH";
> +    env[nr++] = "backend";
> +    env[nr++] = NULL;

       assert(nr == arraysize);

We should really have something better than this as there is a lot of
this kind of thing in libxl but now is not the time.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:40:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:40:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWt4a-0005QE-BU; Tue, 22 May 2012 17:40:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWt4Z-0005Q6-M2
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:40:39 +0000
Received: from [85.158.143.99:33068] by server-1.bemta-4.messagelabs.com id
	C3/71-00342-69FCBBF4; Tue, 22 May 2012 17:40:38 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337708437!29247788!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10801 invoked from network); 22 May 2012 17:40:38 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 17:40:38 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MHeX39020400
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 17:40:34 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MHeWGh004437
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 17:40:32 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MHeVaI020678; Tue, 22 May 2012 12:40:32 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 10:40:31 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 85F23402FB; Tue, 22 May 2012 13:34:03 -0400 (EDT)
Date: Tue, 22 May 2012 13:34:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ben Guthro <ben@guthro.net>
Message-ID: <20120522173403.GD19601@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 12:21:20PM -0400, Ben Guthro wrote:
> good point.
> 
> I'll continue to try to figure this out - but if you have anything
> specific I can try (particular boot options, or a patch with extra
> debugging in interesting areas) please let me know, as it is 100%
> reproducible in my environment right now.

So.. you mentioned that you are using the serial console and that
there were some changes in the hypervisor to deal with the serial console.

I sent to xen-devel some of the patches that you guys had (with
proper authorship) - especially the one dealing with PCI serial cards.
Jan found that one of them had an simple mistake of trying to use
the ports before they were initialized and fixed that in xen-unstable.
Perhaps that is missing?

> 
> -Ben
> 
> On Tue, May 22, 2012 at 12:08 PM, Jan Beulich <JBeulich@suse.com> wrote:
> >>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
> >> I still suspect this is something my dom0 kernel is doing incorrectly,
> >> but I don't have much to back that up other than a gut feeling.
> >
> > If the Dom0 kernel can affect the scheduler in this way, then
> > quite likely a DomU kernel can too. And even if not, it's still a
> > problem - the scheduler just shouldn't be susceptible.
> >
> > Jan
> >
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:40:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:40:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWt4a-0005QE-BU; Tue, 22 May 2012 17:40:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWt4Z-0005Q6-M2
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:40:39 +0000
Received: from [85.158.143.99:33068] by server-1.bemta-4.messagelabs.com id
	C3/71-00342-69FCBBF4; Tue, 22 May 2012 17:40:38 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337708437!29247788!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10801 invoked from network); 22 May 2012 17:40:38 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 17:40:38 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MHeX39020400
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 17:40:34 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MHeWGh004437
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 17:40:32 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MHeVaI020678; Tue, 22 May 2012 12:40:32 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 10:40:31 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 85F23402FB; Tue, 22 May 2012 13:34:03 -0400 (EDT)
Date: Tue, 22 May 2012 13:34:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ben Guthro <ben@guthro.net>
Message-ID: <20120522173403.GD19601@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 12:21:20PM -0400, Ben Guthro wrote:
> good point.
> 
> I'll continue to try to figure this out - but if you have anything
> specific I can try (particular boot options, or a patch with extra
> debugging in interesting areas) please let me know, as it is 100%
> reproducible in my environment right now.

So.. you mentioned that you are using the serial console and that
there were some changes in the hypervisor to deal with the serial console.

I sent to xen-devel some of the patches that you guys had (with
proper authorship) - especially the one dealing with PCI serial cards.
Jan found that one of them had an simple mistake of trying to use
the ports before they were initialized and fixed that in xen-unstable.
Perhaps that is missing?

> 
> -Ben
> 
> On Tue, May 22, 2012 at 12:08 PM, Jan Beulich <JBeulich@suse.com> wrote:
> >>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
> >> I still suspect this is something my dom0 kernel is doing incorrectly,
> >> but I don't have much to back that up other than a gut feeling.
> >
> > If the Dom0 kernel can affect the scheduler in this way, then
> > quite likely a DomU kernel can too. And even if not, it's still a
> > problem - the scheduler just shouldn't be susceptible.
> >
> > Jan
> >
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:46:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWt9Z-0005f8-39; Tue, 22 May 2012 17:45:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWt9X-0005f2-Sk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:45:48 +0000
Received: from [85.158.138.51:12051] by server-11.bemta-3.messagelabs.com id
	3D/34-18894-BC0DBBF4; Tue, 22 May 2012 17:45:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337708746!9854929!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11182 invoked from network); 22 May 2012 17:45:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:45:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610626"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:45:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:45:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWt9W-0000ib-5K; Tue, 22 May 2012 17:45:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWt9W-0007Pp-4Q;
	Tue, 22 May 2012 18:45:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53450.122270.834784@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:45:46 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-14-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-14-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 13/15] libxl: call hotplug scripts for
 nic devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 13/15] libxl: call hotplug scripts for nic devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for nic devices, that should be called when the device is added or
> removed from a guest.

> +libxl_nic_type libxl__nic_type(libxl__gc *gc, libxl__device *dev)
> +{
> +    char *snictype, *be_path;
> +    libxl_nic_type nictype;
> +
> +    be_path = libxl__device_backend_path(gc, dev);
> +    snictype = libxl__xs_read(gc, XBT_NULL,
> +                              GCSPRINTF("%s/%s", be_path, "type"));
> +    if (!snictype) {
> +        LOGE(ERROR, "unable to read nictype from %s", be_path);
> +        return -1;

Please let us not have any more functions that return -1.  Do you mean
ERROR_FAIL ?

> @@ -806,7 +827,18 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
>                                                       : LIBXL__LOG_WARNING,
>                                        aodev->what, pid, status);
>          aodev->rc = ERROR_FAIL;
> +        goto out;
>      }
> +
> +    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
> +        libxl__nic_type(gc, aodev->dev) == LIBXL_NIC_TYPE_IOEMU &&

And you need to handle the error here.

> +        !aodev->vif_executed) {
> +        aodev->vif_executed = 1;
> +        device_hotplug(egc, aodev);
> +        return;
> +    }

This logic surrounding vif_executed is rather opaque.  Are you trying
to run this whole lot twice so that you can run two lots of scripts ?

If so then perhaps the hotplug helper should simply take a counter, so
that we don't expose this vif abstraction thing ?  And it would be
applicable to everything, not just vifs.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:46:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWt9Z-0005f8-39; Tue, 22 May 2012 17:45:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWt9X-0005f2-Sk
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:45:48 +0000
Received: from [85.158.138.51:12051] by server-11.bemta-3.messagelabs.com id
	3D/34-18894-BC0DBBF4; Tue, 22 May 2012 17:45:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337708746!9854929!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11182 invoked from network); 22 May 2012 17:45:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:45:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610626"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:45:46 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:45:46 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWt9W-0000ib-5K; Tue, 22 May 2012 17:45:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWt9W-0007Pp-4Q;
	Tue, 22 May 2012 18:45:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53450.122270.834784@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:45:46 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-14-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-14-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 13/15] libxl: call hotplug scripts for
 nic devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 13/15] libxl: call hotplug scripts for nic devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for nic devices, that should be called when the device is added or
> removed from a guest.

> +libxl_nic_type libxl__nic_type(libxl__gc *gc, libxl__device *dev)
> +{
> +    char *snictype, *be_path;
> +    libxl_nic_type nictype;
> +
> +    be_path = libxl__device_backend_path(gc, dev);
> +    snictype = libxl__xs_read(gc, XBT_NULL,
> +                              GCSPRINTF("%s/%s", be_path, "type"));
> +    if (!snictype) {
> +        LOGE(ERROR, "unable to read nictype from %s", be_path);
> +        return -1;

Please let us not have any more functions that return -1.  Do you mean
ERROR_FAIL ?

> @@ -806,7 +827,18 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
>                                                       : LIBXL__LOG_WARNING,
>                                        aodev->what, pid, status);
>          aodev->rc = ERROR_FAIL;
> +        goto out;
>      }
> +
> +    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
> +        libxl__nic_type(gc, aodev->dev) == LIBXL_NIC_TYPE_IOEMU &&

And you need to handle the error here.

> +        !aodev->vif_executed) {
> +        aodev->vif_executed = 1;
> +        device_hotplug(egc, aodev);
> +        return;
> +    }

This logic surrounding vif_executed is rather opaque.  Are you trying
to run this whole lot twice so that you can run two lots of scripts ?

If so then perhaps the hotplug helper should simply take a counter, so
that we don't expose this vif abstraction thing ?  And it would be
applicable to everything, not just vifs.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtAo-0005jf-NI; Tue, 22 May 2012 17:47:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtAm-0005jZ-Mo
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:47:04 +0000
Received: from [85.158.143.35:37047] by server-3.bemta-4.messagelabs.com id
	C2/15-05853-811DBBF4; Tue, 22 May 2012 17:47:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337708823!14440699!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19880 invoked from network); 22 May 2012 17:47:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:47:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610655"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:46:41 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:46:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtAO-0000iu-MK; Tue, 22 May 2012 17:46:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtAO-0007Q0-Lc;
	Tue, 22 May 2012 18:46:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53504.657078.553485@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:46:40 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-15-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-15-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 14/15] libxl: use libxl__xs_path_cleanup
	on device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on device_destroy"):
> Since the hotplug script that was in charge of cleaning the backend is
> no longer launched, we need to clean the backend by ourselves, so use
> libxl__xs_path_cleanup instead of xs_rm.

Can we avoid introducing any more of these goto-based loops ?  I can
see no reason why we couldn't use a for or while or do loop.

Aside from that it looks plausible.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:47:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtAo-0005jf-NI; Tue, 22 May 2012 17:47:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtAm-0005jZ-Mo
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:47:04 +0000
Received: from [85.158.143.35:37047] by server-3.bemta-4.messagelabs.com id
	C2/15-05853-811DBBF4; Tue, 22 May 2012 17:47:04 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337708823!14440699!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19880 invoked from network); 22 May 2012 17:47:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:47:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610655"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:46:41 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:46:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtAO-0000iu-MK; Tue, 22 May 2012 17:46:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtAO-0007Q0-Lc;
	Tue, 22 May 2012 18:46:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53504.657078.553485@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:46:40 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-15-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-15-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 14/15] libxl: use libxl__xs_path_cleanup
	on device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on device_destroy"):
> Since the hotplug script that was in charge of cleaning the backend is
> no longer launched, we need to clean the backend by ourselves, so use
> libxl__xs_path_cleanup instead of xs_rm.

Can we avoid introducing any more of these goto-based loops ?  I can
see no reason why we couldn't use a for or while or do loop.

Aside from that it looks plausible.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:47:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtAs-0005kA-3U; Tue, 22 May 2012 17:47:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtAq-0005jr-V9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:47:09 +0000
Received: from [85.158.143.35:50742] by server-1.bemta-4.messagelabs.com id
	88/09-00342-C11DBBF4; Tue, 22 May 2012 17:47:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337708823!14440699!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20269 invoked from network); 22 May 2012 17:47:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:47:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610663"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:47:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:47:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtAo-0000j6-VT; Tue, 22 May 2012 17:47:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtAo-0007Q7-Uh;
	Tue, 22 May 2012 18:47:06 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53530.936824.308196@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:47:06 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-16-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-16-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 15/15] libxl: add dummy netbsd functions"):
> Add dummy NetBSD functions related to hotplug scripts, so compilation
> doesn't fail. This functions will be filled in a following series.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>


Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:47:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtAs-0005kA-3U; Tue, 22 May 2012 17:47:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtAq-0005jr-V9
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:47:09 +0000
Received: from [85.158.143.35:50742] by server-1.bemta-4.messagelabs.com id
	88/09-00342-C11DBBF4; Tue, 22 May 2012 17:47:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337708823!14440699!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20269 invoked from network); 22 May 2012 17:47:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:47:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610663"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:47:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:47:07 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtAo-0000j6-VT; Tue, 22 May 2012 17:47:07 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtAo-0007Q7-Uh;
	Tue, 22 May 2012 18:47:06 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53530.936824.308196@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:47:06 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-16-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-16-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 15/15] libxl: add dummy netbsd functions"):
> Add dummy NetBSD functions related to hotplug scripts, so compilation
> doesn't fail. This functions will be filled in a following series.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>


Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:47:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:47:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtBM-0005pR-Gp; Tue, 22 May 2012 17:47:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtBL-0005p9-BO
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:47:39 +0000
Received: from [85.158.143.35:40905] by server-3.bemta-4.messagelabs.com id
	CB/E5-05853-A31DBBF4; Tue, 22 May 2012 17:47:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337708857!6318147!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6805 invoked from network); 22 May 2012 17:47:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:47:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610670"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:47:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:47:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtBJ-0000jG-6X; Tue, 22 May 2012 17:47:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtBJ-0007QF-5q;
	Tue, 22 May 2012 18:47:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53561.168162.456591@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:47:37 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-16-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-16-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 15/15] libxl: add dummy netbsd functions"):
> Add dummy NetBSD functions related to hotplug scripts, so compilation
> doesn't fail. This functions will be filled in a following series.

Actually I just acked this but it should actually be done in the
previous patch, where the Linux version is added, so that the build
works at every changeset.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:47:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:47:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtBM-0005pR-Gp; Tue, 22 May 2012 17:47:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtBL-0005p9-BO
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:47:39 +0000
Received: from [85.158.143.35:40905] by server-3.bemta-4.messagelabs.com id
	CB/E5-05853-A31DBBF4; Tue, 22 May 2012 17:47:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337708857!6318147!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6805 invoked from network); 22 May 2012 17:47:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:47:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610670"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:47:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:47:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtBJ-0000jG-6X; Tue, 22 May 2012 17:47:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtBJ-0007QF-5q;
	Tue, 22 May 2012 18:47:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53561.168162.456591@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:47:37 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337695365-5142-16-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-16-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v2 15/15] libxl: add dummy netbsd functions"):
> Add dummy NetBSD functions related to hotplug scripts, so compilation
> doesn't fail. This functions will be filled in a following series.

Actually I just acked this but it should actually be done in the
previous patch, where the Linux version is added, so that the build
works at every changeset.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:49:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtCU-00060i-0w; Tue, 22 May 2012 17:48:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtCS-000602-DV
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:48:48 +0000
Received: from [85.158.143.99:57706] by server-3.bemta-4.messagelabs.com id
	EF/07-05853-F71DBBF4; Tue, 22 May 2012 17:48:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337708927!23956408!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11662 invoked from network); 22 May 2012 17:48:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:48:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610688"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:48:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:48:47 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtCQ-0000jg-To; Tue, 22 May 2012 17:48:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtCQ-0007QX-T6;
	Tue, 22 May 2012 18:48:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53630.887336.519330@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:48:46 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBBCD24.5050604@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
	<4FBBCD24.5050604@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op"):
> Ian Jackson wrote:
> 
> [...]
> 
> I will apply the block of changes that I've removed from this reply.
> 
> >> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
...
> > I don't understand why this is here in this patch.  Surely it belongs
> > in the previous one ?
> 
> Not really, because libxl__destroy_devices is called from 
> libxl_domain_destroy, which does not ao until this patch, so this 
> callback is the libxl__devices_destroy one (which was not async in 
> previous patches), since it called libxl__device_destroy instead of 
> libxl__initiate_device_remove.

Oh, yes, of course.  Thanks.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:49:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtCU-00060i-0w; Tue, 22 May 2012 17:48:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWtCS-000602-DV
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:48:48 +0000
Received: from [85.158.143.99:57706] by server-3.bemta-4.messagelabs.com id
	EF/07-05853-F71DBBF4; Tue, 22 May 2012 17:48:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337708927!23956408!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11662 invoked from network); 22 May 2012 17:48:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:48:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12610688"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 17:48:47 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 18:48:47 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SWtCQ-0000jg-To; Tue, 22 May 2012 17:48:46 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SWtCQ-0007QX-T6;
	Tue, 22 May 2012 18:48:46 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20411.53630.887336.519330@mariner.uk.xensource.com>
Date: Tue, 22 May 2012 18:48:46 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBBCD24.5050604@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
	<4FBBCD24.5050604@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op"):
> Ian Jackson wrote:
> 
> [...]
> 
> I will apply the block of changes that I've removed from this reply.
> 
> >> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aorm)
...
> > I don't understand why this is here in this patch.  Surely it belongs
> > in the previous one ?
> 
> Not really, because libxl__destroy_devices is called from 
> libxl_domain_destroy, which does not ao until this patch, so this 
> callback is the libxl__devices_destroy one (which was not async in 
> previous patches), since it called libxl__device_destroy instead of 
> libxl__initiate_device_remove.

Oh, yes, of course.  Thanks.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:55:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtIw-0006Ns-1S; Tue, 22 May 2012 17:55:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWtIv-0006Nn-2q
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:55:29 +0000
Received: from [193.109.254.147:54339] by server-11.bemta-14.messagelabs.com
	id 0F/98-05858-013DBBF4; Tue, 22 May 2012 17:55:28 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337709325!3792706!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25418 invoked from network); 22 May 2012 17:55:26 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:55:26 -0000
Received: by lahc1 with SMTP id c1so5677624lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 10:55:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=n4lYxuTYnm8jRk8qQcYWA6NgGg/KJiPOCLKQSL0Nt9w=;
	b=M5PHmblwxly9Q/0JCmBVoTYCB6wot/7QzCrlpnE0Vm8YqKx+Tw5Z5mozoubXEHy160
	vNrcRmqoJUSeIW6ZIMlWybMTiYVHA8gbgJl5reo7K2UOCmxkTHtK3x8JeyAxu2I1aeXb
	2qRzkNQIE2/lGwrSPz+ZnIm4dMs7USgr1t4Tk42omeOuP39eybeeDEldKZriEw4P+F71
	BdJJd4IXt4Z235dL8U1yIsFbKGTIoRE5ILFCS93yI03mbfLIPvT+8Gt/qoOUfihZzelO
	QNrIXSQU09FjDi4R4NnuXpV75JkZFqUMCJbiRiuNF+VJd7KGCpmvPmAdZFZhdid3ORxA
	tWuA==
MIME-Version: 1.0
Received: by 10.112.37.71 with SMTP id w7mr10675450lbj.2.1337709325474; Tue,
	22 May 2012 10:55:25 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 10:55:25 -0700 (PDT)
In-Reply-To: <20120522173403.GD19601@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
Date: Tue, 22 May 2012 13:55:25 -0400
X-Google-Sender-Auth: Cec0cTl9p-3pN2W5PvrlV4w47c8
Message-ID: <CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Are you referring to kernel, or Xen patches?

I'm currently seeing the issue in question with the xen-unstable tip
none of our patches pushed...
...or are you suggesting that the patch, as committed is incorrect?

On Tue, May 22, 2012 at 1:34 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> On Tue, May 22, 2012 at 12:21:20PM -0400, Ben Guthro wrote:
>> good point.
>>
>> I'll continue to try to figure this out - but if you have anything
>> specific I can try (particular boot options, or a patch with extra
>> debugging in interesting areas) please let me know, as it is 100%
>> reproducible in my environment right now.
>
> So.. you mentioned that you are using the serial console and that
> there were some changes in the hypervisor to deal with the serial console.
>
> I sent to xen-devel some of the patches that you guys had (with
> proper authorship) - especially the one dealing with PCI serial cards.
> Jan found that one of them had an simple mistake of trying to use
> the ports before they were initialized and fixed that in xen-unstable.
> Perhaps that is missing?
>
>>
>> -Ben
>>
>> On Tue, May 22, 2012 at 12:08 PM, Jan Beulich <JBeulich@suse.com> wrote:
>> >>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
>> >> I still suspect this is something my dom0 kernel is doing incorrectly,
>> >> but I don't have much to back that up other than a gut feeling.
>> >
>> > If the Dom0 kernel can affect the scheduler in this way, then
>> > quite likely a DomU kernel can too. And even if not, it's still a
>> > problem - the scheduler just shouldn't be susceptible.
>> >
>> > Jan
>> >
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 17:55:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 17:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtIw-0006Ns-1S; Tue, 22 May 2012 17:55:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWtIv-0006Nn-2q
	for xen-devel@lists.xen.org; Tue, 22 May 2012 17:55:29 +0000
Received: from [193.109.254.147:54339] by server-11.bemta-14.messagelabs.com
	id 0F/98-05858-013DBBF4; Tue, 22 May 2012 17:55:28 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337709325!3792706!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25418 invoked from network); 22 May 2012 17:55:26 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 17:55:26 -0000
Received: by lahc1 with SMTP id c1so5677624lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 10:55:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=n4lYxuTYnm8jRk8qQcYWA6NgGg/KJiPOCLKQSL0Nt9w=;
	b=M5PHmblwxly9Q/0JCmBVoTYCB6wot/7QzCrlpnE0Vm8YqKx+Tw5Z5mozoubXEHy160
	vNrcRmqoJUSeIW6ZIMlWybMTiYVHA8gbgJl5reo7K2UOCmxkTHtK3x8JeyAxu2I1aeXb
	2qRzkNQIE2/lGwrSPz+ZnIm4dMs7USgr1t4Tk42omeOuP39eybeeDEldKZriEw4P+F71
	BdJJd4IXt4Z235dL8U1yIsFbKGTIoRE5ILFCS93yI03mbfLIPvT+8Gt/qoOUfihZzelO
	QNrIXSQU09FjDi4R4NnuXpV75JkZFqUMCJbiRiuNF+VJd7KGCpmvPmAdZFZhdid3ORxA
	tWuA==
MIME-Version: 1.0
Received: by 10.112.37.71 with SMTP id w7mr10675450lbj.2.1337709325474; Tue,
	22 May 2012 10:55:25 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 10:55:25 -0700 (PDT)
In-Reply-To: <20120522173403.GD19601@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
Date: Tue, 22 May 2012 13:55:25 -0400
X-Google-Sender-Auth: Cec0cTl9p-3pN2W5PvrlV4w47c8
Message-ID: <CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Are you referring to kernel, or Xen patches?

I'm currently seeing the issue in question with the xen-unstable tip
none of our patches pushed...
...or are you suggesting that the patch, as committed is incorrect?

On Tue, May 22, 2012 at 1:34 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> On Tue, May 22, 2012 at 12:21:20PM -0400, Ben Guthro wrote:
>> good point.
>>
>> I'll continue to try to figure this out - but if you have anything
>> specific I can try (particular boot options, or a patch with extra
>> debugging in interesting areas) please let me know, as it is 100%
>> reproducible in my environment right now.
>
> So.. you mentioned that you are using the serial console and that
> there were some changes in the hypervisor to deal with the serial console.
>
> I sent to xen-devel some of the patches that you guys had (with
> proper authorship) - especially the one dealing with PCI serial cards.
> Jan found that one of them had an simple mistake of trying to use
> the ports before they were initialized and fixed that in xen-unstable.
> Perhaps that is missing?
>
>>
>> -Ben
>>
>> On Tue, May 22, 2012 at 12:08 PM, Jan Beulich <JBeulich@suse.com> wrote:
>> >>>> On 22.05.12 at 17:38, Ben Guthro <ben@guthro.net> wrote:
>> >> I still suspect this is something my dom0 kernel is doing incorrectly,
>> >> but I don't have much to back that up other than a gut feeling.
>> >
>> > If the Dom0 kernel can affect the scheduler in this way, then
>> > quite likely a DomU kernel can too. And even if not, it's still a
>> > problem - the scheduler just shouldn't be susceptible.
>> >
>> > Jan
>> >
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:07:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtU3-0006cq-AE; Tue, 22 May 2012 18:06:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWtU1-0006cl-Ec
	for xen-devel@lists.xen.org; Tue, 22 May 2012 18:06:57 +0000
Received: from [85.158.138.51:63297] by server-1.bemta-3.messagelabs.com id
	A4/E1-11491-0C5DBBF4; Tue, 22 May 2012 18:06:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337710014!19641485!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27014 invoked from network); 22 May 2012 18:06:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:06:55 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MI6pq0014828
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:06:52 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MI6pwK016162
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:06:51 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MI6ovQ029263; Tue, 22 May 2012 13:06:50 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:06:50 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6297E402FB; Tue, 22 May 2012 14:00:22 -0400 (EDT)
Date: Tue, 22 May 2012 14:00:22 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ben Guthro <ben@guthro.net>
Message-ID: <20120522180022.GA22488@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 01:55:25PM -0400, Ben Guthro wrote:
> Are you referring to kernel, or Xen patches?

Xen.
> 
> I'm currently seeing the issue in question with the xen-unstable tip
> none of our patches pushed...

I pushed the serial ones.

> ...or are you suggesting that the patch, as committed is incorrect?

I just tried to suspend and resume Xen 4.1 with and without serial console
and it only works when there is no serial console.

I think something is buggy. Not sure what (this was with a normal
built-in motherboard serial port).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:07:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtU3-0006cq-AE; Tue, 22 May 2012 18:06:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWtU1-0006cl-Ec
	for xen-devel@lists.xen.org; Tue, 22 May 2012 18:06:57 +0000
Received: from [85.158.138.51:63297] by server-1.bemta-3.messagelabs.com id
	A4/E1-11491-0C5DBBF4; Tue, 22 May 2012 18:06:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337710014!19641485!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27014 invoked from network); 22 May 2012 18:06:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:06:55 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MI6pq0014828
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:06:52 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MI6pwK016162
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:06:51 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MI6ovQ029263; Tue, 22 May 2012 13:06:50 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:06:50 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6297E402FB; Tue, 22 May 2012 14:00:22 -0400 (EDT)
Date: Tue, 22 May 2012 14:00:22 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ben Guthro <ben@guthro.net>
Message-ID: <20120522180022.GA22488@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 01:55:25PM -0400, Ben Guthro wrote:
> Are you referring to kernel, or Xen patches?

Xen.
> 
> I'm currently seeing the issue in question with the xen-unstable tip
> none of our patches pushed...

I pushed the serial ones.

> ...or are you suggesting that the patch, as committed is incorrect?

I just tried to suspend and resume Xen 4.1 with and without serial console
and it only works when there is no serial console.

I think something is buggy. Not sure what (this was with a normal
built-in motherboard serial port).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:08:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtV2-0006gD-Tk; Tue, 22 May 2012 18:08:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWtV1-0006g6-Eo
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 18:07:59 +0000
Received: from [85.158.139.83:64850] by server-12.bemta-5.messagelabs.com id
	7E/02-09223-EF5DBBF4; Tue, 22 May 2012 18:07:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337710075!29820332!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13119 invoked from network); 22 May 2012 18:07:57 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:07:57 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MI7pWS015939
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:07:52 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MI7oCn001160
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:07:51 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MI7o0V028942; Tue, 22 May 2012 13:07:50 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:07:50 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B8AE2402FB; Tue, 22 May 2012 14:01:21 -0400 (EDT)
Date: Tue, 22 May 2012 14:01:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Message-ID: <20120522180121.GB22488@phenom.dumpdata.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
	netdev@vger.kernel.org, Adnan Misherfi <adnan.misherfi@oracle.com>,
	linux-kernel@vger.kernel.org, davem@davemloft.net
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 08:14:00PM +0100, Ben Hutchings wrote:
> On Mon, 2012-05-21 at 13:36 -0400, Konrad Rzeszutek Wilk wrote:
> > From: Adnan Misherfi <adnan.misherfi@oracle.com>
> > 
> > A programming error cause the calculation of receive SKB slots to be
> > wrong, which caused the RX ring to be erroneously declared full,
> > and the receive queue to be stopped. The problem shows up when two
> > guest running on the same server tries to communicates using large
> > MTUs. Each guest is connected to a bridge with VLAN over bond
> > interface, so traffic from one guest leaves the server on one bridge
> > and comes back to the second guest on the second bridge. This can be
> > reproduces using ping, and one guest as follow:
> > 
> > - Create active-back bond (bond0)
> > - Set up VLAN 5 on bond0 (bond0.5)
> > - Create a bridge (br1)
> > - Add bond0.5 to a bridge (br1)
> > - Start a guest and connect it to br1
> > - Set MTU of 9000 across the link
> > 
> > Ping the guest from an external host using packet sizes of 3991, and
> > 4054; ping -s 3991 -c 128 "Guest-IP-Address"
> > 
> > At the beginning ping works fine, but after a while ping packets do
> > not reach the guest because the RX ring becomes full, and the queue
> > get stopped. Once the problem accrued, the only way to get out of it
> > is to reboot the guest, or use xm network-detach/network-attach.
> > 
> > ping works for packets sizes 3990,3992, and many other sizes including
> > 4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
> > that quickly reproduce this problem.
> > 
> > Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  drivers/net/xen-netback/netback.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> > index 957cf9d..e382e5b 100644
> > --- a/drivers/net/xen-netback/netback.c
> > +++ b/drivers/net/xen-netback/netback.c
> > @@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
> 
> The function name is xen_netbk_count_skb_slots() in net-next.  This
> appears to depend on the series in
> <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.

Ah, this was based off 3.4.

> 
> >  	int i, copy_off;
> >  
> >  	count = DIV_ROUND_UP(
> > -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> > +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> 
> The new version would be equivalent to:
> 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> which is not right, as netbk_gop_skb() will use one slot per page.
> 
> The real problem is likely that you're not using the same condition to
> stop and wake the queue.  Though it appears you're also missing an

Hmm..
> smp_mb() at the top of xenvif_notify_tx_completion().
> 
> Ben.
> 
> >  	copy_off = skb_headlen(skb) % PAGE_SIZE;
> >  
> 
> -- 
> Ben Hutchings, Staff Engineer, Solarflare
> Not speaking for my employer; that's the marketing department's job.
> They asked us to note that Solarflare product names are trademarked.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:08:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtV2-0006gD-Tk; Tue, 22 May 2012 18:08:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWtV1-0006g6-Eo
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 18:07:59 +0000
Received: from [85.158.139.83:64850] by server-12.bemta-5.messagelabs.com id
	7E/02-09223-EF5DBBF4; Tue, 22 May 2012 18:07:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337710075!29820332!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13119 invoked from network); 22 May 2012 18:07:57 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:07:57 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MI7pWS015939
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:07:52 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MI7oCn001160
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:07:51 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MI7o0V028942; Tue, 22 May 2012 13:07:50 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:07:50 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B8AE2402FB; Tue, 22 May 2012 14:01:21 -0400 (EDT)
Date: Tue, 22 May 2012 14:01:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Message-ID: <20120522180121.GB22488@phenom.dumpdata.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, ian.campbell@citrix.com,
	netdev@vger.kernel.org, Adnan Misherfi <adnan.misherfi@oracle.com>,
	linux-kernel@vger.kernel.org, davem@davemloft.net
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 08:14:00PM +0100, Ben Hutchings wrote:
> On Mon, 2012-05-21 at 13:36 -0400, Konrad Rzeszutek Wilk wrote:
> > From: Adnan Misherfi <adnan.misherfi@oracle.com>
> > 
> > A programming error cause the calculation of receive SKB slots to be
> > wrong, which caused the RX ring to be erroneously declared full,
> > and the receive queue to be stopped. The problem shows up when two
> > guest running on the same server tries to communicates using large
> > MTUs. Each guest is connected to a bridge with VLAN over bond
> > interface, so traffic from one guest leaves the server on one bridge
> > and comes back to the second guest on the second bridge. This can be
> > reproduces using ping, and one guest as follow:
> > 
> > - Create active-back bond (bond0)
> > - Set up VLAN 5 on bond0 (bond0.5)
> > - Create a bridge (br1)
> > - Add bond0.5 to a bridge (br1)
> > - Start a guest and connect it to br1
> > - Set MTU of 9000 across the link
> > 
> > Ping the guest from an external host using packet sizes of 3991, and
> > 4054; ping -s 3991 -c 128 "Guest-IP-Address"
> > 
> > At the beginning ping works fine, but after a while ping packets do
> > not reach the guest because the RX ring becomes full, and the queue
> > get stopped. Once the problem accrued, the only way to get out of it
> > is to reboot the guest, or use xm network-detach/network-attach.
> > 
> > ping works for packets sizes 3990,3992, and many other sizes including
> > 4000,5000,9000, and 1500 ..etc. MTU size of 3991,4054 are the sizes
> > that quickly reproduce this problem.
> > 
> > Signed-off-by: Adnan Misherfi <adnan.misherfi@oracle.com>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  drivers/net/xen-netback/netback.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> > index 957cf9d..e382e5b 100644
> > --- a/drivers/net/xen-netback/netback.c
> > +++ b/drivers/net/xen-netback/netback.c
> > @@ -212,7 +212,7 @@ unsigned int xenvif_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
> 
> The function name is xen_netbk_count_skb_slots() in net-next.  This
> appears to depend on the series in
> <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.

Ah, this was based off 3.4.

> 
> >  	int i, copy_off;
> >  
> >  	count = DIV_ROUND_UP(
> > -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> > +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> 
> The new version would be equivalent to:
> 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> which is not right, as netbk_gop_skb() will use one slot per page.
> 
> The real problem is likely that you're not using the same condition to
> stop and wake the queue.  Though it appears you're also missing an

Hmm..
> smp_mb() at the top of xenvif_notify_tx_completion().
> 
> Ben.
> 
> >  	copy_off = skb_headlen(skb) % PAGE_SIZE;
> >  
> 
> -- 
> Ben Hutchings, Staff Engineer, Solarflare
> Not speaking for my employer; that's the marketing department's job.
> They asked us to note that Solarflare product names are trademarked.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:16:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtcS-0006vI-SI; Tue, 22 May 2012 18:15:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWtcR-0006vD-ES
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 18:15:39 +0000
Received: from [85.158.143.35:41873] by server-1.bemta-4.messagelabs.com id
	B9/83-00342-9C7DBBF4; Tue, 22 May 2012 18:15:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337710534!16800480!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22806 invoked from network); 22 May 2012 18:15:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:15:36 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MIFVVl023375
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:15:32 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MIFUo9000430
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:15:31 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MIFUsY003083; Tue, 22 May 2012 13:15:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:15:30 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C0B6A402FB; Tue, 22 May 2012 14:09:01 -0400 (EDT)
Date: Tue, 22 May 2012 14:09:01 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120522180901.GC22488@phenom.dumpdata.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337678512.10118.40.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > > wrong, which caused the RX ring to be erroneously declared full,
> > > and the receive queue to be stopped. The problem shows up when two
> > > guest running on the same server tries to communicates using large
.. snip..
> > The function name is xen_netbk_count_skb_slots() in net-next.  This
> > appears to depend on the series in
> > <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.
> 
> Yes, I don't think that patchset was intended for prime time just yet.
> Can this issue be reproduced without it?

It was based on 3.4, but the bug and work to fix this was  done on top of
a 3.4 version of netback backported in a 3.0 kernel. Let me double check
whether there were some missing patches.

> 
> > >  	int i, copy_off;
> > >  
> > >  	count = DIV_ROUND_UP(
> > > -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> > > +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> > 
> > The new version would be equivalent to:
> > 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> > which is not right, as netbk_gop_skb() will use one slot per page.
> 
> Just outside the context of this patch we separately count the frag
> pages.
> 
> However I think you are right if skb->data covers > 1 page, since the
> new version can only ever return 0 or 1. I expect this patch papers over
> the underlying issue by not stopping often enough, rather than actually
> fixing the underlying issue.

Ah, any thoughts? Have you guys seen this behavior as well?
> 
> > The real problem is likely that you're not using the same condition to
> > stop and wake the queue.
> 
> Agreed, it would be useful to see the argument for this patch presented
> in that light. In particular the relationship between
> xenvif_rx_schedulable() (used to wake queue) and
> xen_netbk_must_stop_queue() (used to stop queue).

Do you have any debug patches to ... do open-heart surgery on the
rings of netback as its hitting the issues Adnan has found?

> 
> As it stands the description describes a setup which can repro the
> problem but doesn't really analyse what actually happens, nor justify
> the correctness of the fix.

Hm, Adnan - you dug in to this and you got tons of notes. Could you
describe what you saw that caused this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:16:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtcS-0006vI-SI; Tue, 22 May 2012 18:15:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWtcR-0006vD-ES
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 18:15:39 +0000
Received: from [85.158.143.35:41873] by server-1.bemta-4.messagelabs.com id
	B9/83-00342-9C7DBBF4; Tue, 22 May 2012 18:15:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337710534!16800480!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22806 invoked from network); 22 May 2012 18:15:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:15:36 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MIFVVl023375
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:15:32 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MIFUo9000430
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:15:31 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MIFUsY003083; Tue, 22 May 2012 13:15:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:15:30 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C0B6A402FB; Tue, 22 May 2012 14:09:01 -0400 (EDT)
Date: Tue, 22 May 2012 14:09:01 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120522180901.GC22488@phenom.dumpdata.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337678512.10118.40.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > > wrong, which caused the RX ring to be erroneously declared full,
> > > and the receive queue to be stopped. The problem shows up when two
> > > guest running on the same server tries to communicates using large
.. snip..
> > The function name is xen_netbk_count_skb_slots() in net-next.  This
> > appears to depend on the series in
> > <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.
> 
> Yes, I don't think that patchset was intended for prime time just yet.
> Can this issue be reproduced without it?

It was based on 3.4, but the bug and work to fix this was  done on top of
a 3.4 version of netback backported in a 3.0 kernel. Let me double check
whether there were some missing patches.

> 
> > >  	int i, copy_off;
> > >  
> > >  	count = DIV_ROUND_UP(
> > > -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> > > +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> > 
> > The new version would be equivalent to:
> > 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> > which is not right, as netbk_gop_skb() will use one slot per page.
> 
> Just outside the context of this patch we separately count the frag
> pages.
> 
> However I think you are right if skb->data covers > 1 page, since the
> new version can only ever return 0 or 1. I expect this patch papers over
> the underlying issue by not stopping often enough, rather than actually
> fixing the underlying issue.

Ah, any thoughts? Have you guys seen this behavior as well?
> 
> > The real problem is likely that you're not using the same condition to
> > stop and wake the queue.
> 
> Agreed, it would be useful to see the argument for this patch presented
> in that light. In particular the relationship between
> xenvif_rx_schedulable() (used to wake queue) and
> xen_netbk_must_stop_queue() (used to stop queue).

Do you have any debug patches to ... do open-heart surgery on the
rings of netback as its hitting the issues Adnan has found?

> 
> As it stands the description describes a setup which can repro the
> problem but doesn't really analyse what actually happens, nor justify
> the correctness of the fix.

Hm, Adnan - you dug in to this and you got tons of notes. Could you
describe what you saw that caused this?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:26:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:26:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtmc-00076O-5h; Tue, 22 May 2012 18:26:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWtma-00076J-Q4
	for xen-devel@lists.xen.org; Tue, 22 May 2012 18:26:09 +0000
Received: from [85.158.139.83:14951] by server-12.bemta-5.messagelabs.com id
	93/C6-09223-04ADBBF4; Tue, 22 May 2012 18:26:08 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337711166!28264977!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28434 invoked from network); 22 May 2012 18:26:07 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 18:26:07 -0000
Received: by lbok6 with SMTP id k6so5785907lbo.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 11:26:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=v60wcz40P3gLm3R6sFM3pBrRy4fs7+5wLHx/wD0IHr4=;
	b=RGZD5E0Xci4dTi4R3AlazGYp+wNS7eWsEx1JDmlrKi6lSR3gJBeQwe45sF9/Bppus9
	0gQPPPGmDn8pazmNWwP4CqbZYZMbKgGTeF1ow/7FJP3pWntTryNdULEUQ6BXQjL0eqv5
	BY8AqZpmRTrDCMoOtQIy5SyBPWiiAcB+B/wCRHn47rcyRnXsLqmPdHY5xH19YInfkEN6
	okhlD08IAC+bxpEj7UliNiWlyi8Z1DlsJmSXEySpq3p6m0jhQtwWJn9qdunTypFh4YdI
	Zg93bDHmirbFh+9Ik0js9od/A6ORE3PDMZeumnR/0faPJ425rSp86ZcNo/CQQjD7C9ko
	9vtw==
MIME-Version: 1.0
Received: by 10.112.103.130 with SMTP id fw2mr10726798lbb.107.1337711166462;
	Tue, 22 May 2012 11:26:06 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 11:26:06 -0700 (PDT)
In-Reply-To: <20120522180022.GA22488@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
Date: Tue, 22 May 2012 14:26:06 -0400
X-Google-Sender-Auth: CARcrzoMGBpUGbABo12Xd3CZYF0
Message-ID: <CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

OK, I'll compare what got committed with our old patches against 4.0 &
see if there are any obvious differences.

Tom Goetz wrote those, originally - and he's on vacation - so
specifics about them may have to wait until he returns.



On Tue, May 22, 2012 at 2:00 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> On Tue, May 22, 2012 at 01:55:25PM -0400, Ben Guthro wrote:
>> Are you referring to kernel, or Xen patches?
>
> Xen.
>>
>> I'm currently seeing the issue in question with the xen-unstable tip
>> none of our patches pushed...
>
> I pushed the serial ones.
>
>> ...or are you suggesting that the patch, as committed is incorrect?
>
> I just tried to suspend and resume Xen 4.1 with and without serial console
> and it only works when there is no serial console.
>
> I think something is buggy. Not sure what (this was with a normal
> built-in motherboard serial port).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:26:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:26:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWtmc-00076O-5h; Tue, 22 May 2012 18:26:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWtma-00076J-Q4
	for xen-devel@lists.xen.org; Tue, 22 May 2012 18:26:09 +0000
Received: from [85.158.139.83:14951] by server-12.bemta-5.messagelabs.com id
	93/C6-09223-04ADBBF4; Tue, 22 May 2012 18:26:08 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337711166!28264977!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28434 invoked from network); 22 May 2012 18:26:07 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 18:26:07 -0000
Received: by lbok6 with SMTP id k6so5785907lbo.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 11:26:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=v60wcz40P3gLm3R6sFM3pBrRy4fs7+5wLHx/wD0IHr4=;
	b=RGZD5E0Xci4dTi4R3AlazGYp+wNS7eWsEx1JDmlrKi6lSR3gJBeQwe45sF9/Bppus9
	0gQPPPGmDn8pazmNWwP4CqbZYZMbKgGTeF1ow/7FJP3pWntTryNdULEUQ6BXQjL0eqv5
	BY8AqZpmRTrDCMoOtQIy5SyBPWiiAcB+B/wCRHn47rcyRnXsLqmPdHY5xH19YInfkEN6
	okhlD08IAC+bxpEj7UliNiWlyi8Z1DlsJmSXEySpq3p6m0jhQtwWJn9qdunTypFh4YdI
	Zg93bDHmirbFh+9Ik0js9od/A6ORE3PDMZeumnR/0faPJ425rSp86ZcNo/CQQjD7C9ko
	9vtw==
MIME-Version: 1.0
Received: by 10.112.103.130 with SMTP id fw2mr10726798lbb.107.1337711166462;
	Tue, 22 May 2012 11:26:06 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 11:26:06 -0700 (PDT)
In-Reply-To: <20120522180022.GA22488@phenom.dumpdata.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
Date: Tue, 22 May 2012 14:26:06 -0400
X-Google-Sender-Auth: CARcrzoMGBpUGbABo12Xd3CZYF0
Message-ID: <CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

OK, I'll compare what got committed with our old patches against 4.0 &
see if there are any obvious differences.

Tom Goetz wrote those, originally - and he's on vacation - so
specifics about them may have to wait until he returns.



On Tue, May 22, 2012 at 2:00 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> On Tue, May 22, 2012 at 01:55:25PM -0400, Ben Guthro wrote:
>> Are you referring to kernel, or Xen patches?
>
> Xen.
>>
>> I'm currently seeing the issue in question with the xen-unstable tip
>> none of our patches pushed...
>
> I pushed the serial ones.
>
>> ...or are you suggesting that the patch, as committed is incorrect?
>
> I just tried to suspend and resume Xen 4.1 with and without serial console
> and it only works when there is no serial console.
>
> I think something is buggy. Not sure what (this was with a normal
> built-in motherboard serial port).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:41:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:41:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWu1E-0007I8-Jd; Tue, 22 May 2012 18:41:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWu1D-0007I3-Ce
	for xen-devel@lists.xen.org; Tue, 22 May 2012 18:41:15 +0000
Received: from [85.158.139.83:2640] by server-1.bemta-5.messagelabs.com id
	5F/4C-27328-ACDDBBF4; Tue, 22 May 2012 18:41:14 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337712072!29248038!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25858 invoked from network); 22 May 2012 18:41:13 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 18:41:13 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MIf4ml017169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:41:05 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MIf44b013279
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:41:04 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MIf1qS020179; Tue, 22 May 2012 13:41:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:41:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3F0D9402FB; Tue, 22 May 2012 14:34:33 -0400 (EDT)
Date: Tue, 22 May 2012 14:34:33 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Marek Marczykowski <marmarek@invisiblethingslab.com>, davem@davemloft.net
Message-ID: <20120522183433.GB24107@phenom.dumpdata.com>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: netdev@vger.kernel.org, Jeremy Fitzhardinge <jeremy@goop.org>,
	virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 20, 2012 at 01:45:10PM +0200, Marek Marczykowski wrote:
> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>


> ---
>  drivers/net/xen-netfront.c |    6 ------
>  1 files changed, 0 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 698b905..e31ebff 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
>  	if (!xen_domain())
>  		return -ENODEV;
>  
> -	if (xen_initial_domain())
> -		return 0;
> -
>  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
>  
>  	return xenbus_register_frontend(&netfront_driver);
> @@ -1965,9 +1962,6 @@ module_init(netif_init);
>  
>  static void __exit netif_exit(void)
>  {
> -	if (xen_initial_domain())
> -		return;
> -
>  	xenbus_unregister_driver(&netfront_driver);
>  }
>  module_exit(netif_exit);
> -- 
> 1.7.4.4

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:41:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:41:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWu1E-0007I8-Jd; Tue, 22 May 2012 18:41:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWu1D-0007I3-Ce
	for xen-devel@lists.xen.org; Tue, 22 May 2012 18:41:15 +0000
Received: from [85.158.139.83:2640] by server-1.bemta-5.messagelabs.com id
	5F/4C-27328-ACDDBBF4; Tue, 22 May 2012 18:41:14 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337712072!29248038!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25858 invoked from network); 22 May 2012 18:41:13 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 18:41:13 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MIf4ml017169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:41:05 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MIf44b013279
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:41:04 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MIf1qS020179; Tue, 22 May 2012 13:41:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:41:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3F0D9402FB; Tue, 22 May 2012 14:34:33 -0400 (EDT)
Date: Tue, 22 May 2012 14:34:33 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Marek Marczykowski <marmarek@invisiblethingslab.com>, davem@davemloft.net
Message-ID: <20120522183433.GB24107@phenom.dumpdata.com>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: netdev@vger.kernel.org, Jeremy Fitzhardinge <jeremy@goop.org>,
	virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sun, May 20, 2012 at 01:45:10PM +0200, Marek Marczykowski wrote:
> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>


> ---
>  drivers/net/xen-netfront.c |    6 ------
>  1 files changed, 0 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 698b905..e31ebff 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1953,9 +1953,6 @@ static int __init netif_init(void)
>  	if (!xen_domain())
>  		return -ENODEV;
>  
> -	if (xen_initial_domain())
> -		return 0;
> -
>  	printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
>  
>  	return xenbus_register_frontend(&netfront_driver);
> @@ -1965,9 +1962,6 @@ module_init(netif_init);
>  
>  static void __exit netif_exit(void)
>  {
> -	if (xen_initial_domain())
> -		return;
> -
>  	xenbus_unregister_driver(&netfront_driver);
>  }
>  module_exit(netif_exit);
> -- 
> 1.7.4.4

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWu3U-0007Mz-4S; Tue, 22 May 2012 18:43:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWu3S-0007Mu-GJ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 18:43:34 +0000
Received: from [85.158.143.35:9931] by server-1.bemta-4.messagelabs.com id
	24/84-00342-55EDBBF4; Tue, 22 May 2012 18:43:33 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337712211!13560887!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16265 invoked from network); 22 May 2012 18:43:32 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:43:32 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MIhTT3019442
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:43:29 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MIhSSD022662
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:43:28 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MIhRZg023127; Tue, 22 May 2012 13:43:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:43:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9D5D8402FB; Tue, 22 May 2012 14:36:59 -0400 (EDT)
Date: Tue, 22 May 2012 14:36:59 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120522183659.GA24324@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:04:17PM +0200, William Dauchy wrote:
> Hello,
> 
> I'm getting a call trace when booting a dom0 v3.3.7 (x86_32) under xen 4.1.2.
> It is about multicalls.c:129. I tried with MC_DEBUG = 1 but it appears
> that b->mcidx = 1 when getting this call trace.
> Does anybody have any clue?

Yes. Do you have CONFIG_NUMA enabled? If you disable it, do the messages
disappear?

> 
> 
> WARNING: at /arch/x86/xen/multicalls.c:129 xen_mc_flush+0x12a/0x140()
> Hardware name: C6100
> Modules linked in:
> Pid: 0, comm: swapper Not tainted 3.3.7-i386 #125
> Call Trace:
>  [<c102f34d>] warn_slowpath_common+0x6d/0xa0
>  [<c100384a>] ? xen_mc_flush+0x12a/0x140
>  [<c100384a>] ? xen_mc_flush+0x12a/0x140
>  [<c102f39d>] warn_slowpath_null+0x1d/0x20
>  [<c100384a>] xen_mc_flush+0x12a/0x140
>  [<c1006035>] xen_set_pmd_hyper+0x75/0x80
>  [<c102c4ee>] set_pmd_pfn+0x9e/0xf0
>  [<c14e68c7>] init_alloc_remap+0x1c3/0x237
>  [<c14e6315>] x86_numa_init+0x378/0x691
>  [<c1004af6>] ? xen_set_fixmap+0xa6/0x160
>  [<c14e6639>] initmem_init+0xb/0xd6
>  [<c14dea61>] ? early_acpi_boot_init+0x6e/0xbe
>  [<c14dede0>] ? acpi_boot_table_init+0x36/0x7d
>  [<c14d7796>] setup_arch+0xb30/0xbe7
>  [<c14d1566>] start_kernel+0x76/0x2ef
>  [<c14d10ba>] i386_start_kernel+0xa9/0xb0
>  [<c14d4a66>] xen_start_kernel+0x546/0x54e
> 
> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 18:44:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 18:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWu3U-0007Mz-4S; Tue, 22 May 2012 18:43:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWu3S-0007Mu-GJ
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 18:43:34 +0000
Received: from [85.158.143.35:9931] by server-1.bemta-4.messagelabs.com id
	24/84-00342-55EDBBF4; Tue, 22 May 2012 18:43:33 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337712211!13560887!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16265 invoked from network); 22 May 2012 18:43:32 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 18:43:32 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MIhTT3019442
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 18:43:29 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MIhSSD022662
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 18:43:28 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MIhRZg023127; Tue, 22 May 2012 13:43:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 11:43:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9D5D8402FB; Tue, 22 May 2012 14:36:59 -0400 (EDT)
Date: Tue, 22 May 2012 14:36:59 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120522183659.GA24324@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:04:17PM +0200, William Dauchy wrote:
> Hello,
> 
> I'm getting a call trace when booting a dom0 v3.3.7 (x86_32) under xen 4.1.2.
> It is about multicalls.c:129. I tried with MC_DEBUG = 1 but it appears
> that b->mcidx = 1 when getting this call trace.
> Does anybody have any clue?

Yes. Do you have CONFIG_NUMA enabled? If you disable it, do the messages
disappear?

> 
> 
> WARNING: at /arch/x86/xen/multicalls.c:129 xen_mc_flush+0x12a/0x140()
> Hardware name: C6100
> Modules linked in:
> Pid: 0, comm: swapper Not tainted 3.3.7-i386 #125
> Call Trace:
>  [<c102f34d>] warn_slowpath_common+0x6d/0xa0
>  [<c100384a>] ? xen_mc_flush+0x12a/0x140
>  [<c100384a>] ? xen_mc_flush+0x12a/0x140
>  [<c102f39d>] warn_slowpath_null+0x1d/0x20
>  [<c100384a>] xen_mc_flush+0x12a/0x140
>  [<c1006035>] xen_set_pmd_hyper+0x75/0x80
>  [<c102c4ee>] set_pmd_pfn+0x9e/0xf0
>  [<c14e68c7>] init_alloc_remap+0x1c3/0x237
>  [<c14e6315>] x86_numa_init+0x378/0x691
>  [<c1004af6>] ? xen_set_fixmap+0xa6/0x160
>  [<c14e6639>] initmem_init+0xb/0xd6
>  [<c14dea61>] ? early_acpi_boot_init+0x6e/0xbe
>  [<c14dede0>] ? acpi_boot_table_init+0x36/0x7d
>  [<c14d7796>] setup_arch+0xb30/0xbe7
>  [<c14d1566>] start_kernel+0x76/0x2ef
>  [<c14d10ba>] i386_start_kernel+0xa9/0xb0
>  [<c14d4a66>] xen_start_kernel+0x546/0x54e
> 
> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:16:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:16:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWuZ0-0007gM-58; Tue, 22 May 2012 19:16:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SWuYy-0007gH-Mt
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:16:08 +0000
Received: from [85.158.138.51:44729] by server-2.bemta-3.messagelabs.com id
	51/6B-03712-7F5EBBF4; Tue, 22 May 2012 19:16:07 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337714165!9865401!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28766 invoked from network); 22 May 2012 19:16:06 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 19:16:06 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4MJDtJe012506
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Tue, 22 May 2012 12:13:55 -0700
Date: Tue, 22 May 2012 15:13:54 -0400 (EDT)
Message-Id: <20120522.151354.2131168749992255398.davem@davemloft.net>
To: marmarek@invisiblethingslab.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Tue, 22 May 2012 12:13:57 -0700 (PDT)
Cc: jeremy@goop.org, konrad.wilk@oracle.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200

> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>

Someone please review this and I can merge it in via the 'net' tree if
it looks OK to XEN folks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:16:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:16:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWuZ0-0007gM-58; Tue, 22 May 2012 19:16:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SWuYy-0007gH-Mt
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:16:08 +0000
Received: from [85.158.138.51:44729] by server-2.bemta-3.messagelabs.com id
	51/6B-03712-7F5EBBF4; Tue, 22 May 2012 19:16:07 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337714165!9865401!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28766 invoked from network); 22 May 2012 19:16:06 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-13.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 19:16:06 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4MJDtJe012506
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Tue, 22 May 2012 12:13:55 -0700
Date: Tue, 22 May 2012 15:13:54 -0400 (EDT)
Message-Id: <20120522.151354.2131168749992255398.davem@davemloft.net>
To: marmarek@invisiblethingslab.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Tue, 22 May 2012 12:13:57 -0700 (PDT)
Cc: jeremy@goop.org, konrad.wilk@oracle.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200

> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>

Someone please review this and I can merge it in via the 'net' tree if
it looks OK to XEN folks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:29:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWulL-0007q7-Iv; Tue, 22 May 2012 19:28:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWulJ-0007q2-R2
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 19:28:54 +0000
Received: from [193.109.254.147:16094] by server-6.bemta-14.messagelabs.com id
	C7/C7-04960-5F8EBBF4; Tue, 22 May 2012 19:28:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337714931!10665749!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8517 invoked from network); 22 May 2012 19:28:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 19:28:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12611924"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 19:28:51 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 20:28:51 +0100
Message-ID: <1337714930.3991.1.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Simon Graham <simon.graham@citrix.com>
Date: Tue, 22 May 2012 20:28:50 +0100
In-Reply-To: <F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
	<20120522180901.GC22488@phenom.dumpdata.com>
	<F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 20:01 +0100, Simon Graham wrote:
> > >
> > > > >  	int i, copy_off;
> > > > >
> > > > >  	count = DIV_ROUND_UP(
> > > > > -			offset_in_page(skb->data)+skb_headlen(skb),
> > PAGE_SIZE);
> > > > > +			offset_in_page(skb->data + skb_headlen(skb)),
> > PAGE_SIZE);
> > > >
> > > > The new version would be equivalent to:
> > > > 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> > > > which is not right, as netbk_gop_skb() will use one slot per page.
> > >
> > > Just outside the context of this patch we separately count the frag
> > > pages.
> > >
> > > However I think you are right if skb->data covers > 1 page, since the
> > > new version can only ever return 0 or 1. I expect this patch papers
> > over
> > > the underlying issue by not stopping often enough, rather than
> > actually
> > > fixing the underlying issue.
> > 
> > Ah, any thoughts? Have you guys seen this behavior as well?
> 
> We ran into this same problem and the fix we've been running with for
> a while now (been meaning to submit it!) is:
> 
> diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> index c2669b8..7925bd3 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -312,8 +312,7 @@ unsigned int xen_netbk_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
>         unsigned int count;
>         int i, copy_off;
> 
> -       count = DIV_ROUND_UP(
> -                       offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> +       count = DIV_ROUND_UP(skb_headlen(skb), PAGE_SIZE);
> 
>         copy_off = skb_headlen(skb) % PAGE_SIZE;
> 
> The rationale for this is that if the header spanned a page boundary,
> you would calculate that it needs 2 slots for the header BUT
> netback_gop_skb copies the header into the start of the page so only
> needs one slot (and only decrements the count of inuse entries by 1).

That sounds very plausible indeed!

Please can format this as a commit message and resend with a
Signed-off-by.

many thanks,
Ian.

> 
> We found this running with a VIF bridged to a USB 3G Modem where
> skb->data started near the end of a page so the header would always
> span the page boundary.
> 
> It was very easy to get the VIF to stop processing frames with the old
> code and we have not seen any problems since applying this patch.
> 
> Simon
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:29:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWulL-0007q7-Iv; Tue, 22 May 2012 19:28:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWulJ-0007q2-R2
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 19:28:54 +0000
Received: from [193.109.254.147:16094] by server-6.bemta-14.messagelabs.com id
	C7/C7-04960-5F8EBBF4; Tue, 22 May 2012 19:28:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337714931!10665749!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8517 invoked from network); 22 May 2012 19:28:51 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 19:28:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12611924"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 19:28:51 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 20:28:51 +0100
Message-ID: <1337714930.3991.1.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Simon Graham <simon.graham@citrix.com>
Date: Tue, 22 May 2012 20:28:50 +0100
In-Reply-To: <F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
	<20120522180901.GC22488@phenom.dumpdata.com>
	<F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 20:01 +0100, Simon Graham wrote:
> > >
> > > > >  	int i, copy_off;
> > > > >
> > > > >  	count = DIV_ROUND_UP(
> > > > > -			offset_in_page(skb->data)+skb_headlen(skb),
> > PAGE_SIZE);
> > > > > +			offset_in_page(skb->data + skb_headlen(skb)),
> > PAGE_SIZE);
> > > >
> > > > The new version would be equivalent to:
> > > > 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> > > > which is not right, as netbk_gop_skb() will use one slot per page.
> > >
> > > Just outside the context of this patch we separately count the frag
> > > pages.
> > >
> > > However I think you are right if skb->data covers > 1 page, since the
> > > new version can only ever return 0 or 1. I expect this patch papers
> > over
> > > the underlying issue by not stopping often enough, rather than
> > actually
> > > fixing the underlying issue.
> > 
> > Ah, any thoughts? Have you guys seen this behavior as well?
> 
> We ran into this same problem and the fix we've been running with for
> a while now (been meaning to submit it!) is:
> 
> diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> index c2669b8..7925bd3 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -312,8 +312,7 @@ unsigned int xen_netbk_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
>         unsigned int count;
>         int i, copy_off;
> 
> -       count = DIV_ROUND_UP(
> -                       offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> +       count = DIV_ROUND_UP(skb_headlen(skb), PAGE_SIZE);
> 
>         copy_off = skb_headlen(skb) % PAGE_SIZE;
> 
> The rationale for this is that if the header spanned a page boundary,
> you would calculate that it needs 2 slots for the header BUT
> netback_gop_skb copies the header into the start of the page so only
> needs one slot (and only decrements the count of inuse entries by 1).

That sounds very plausible indeed!

Please can format this as a commit message and resend with a
Signed-off-by.

many thanks,
Ian.

> 
> We found this running with a VIF bridged to a USB 3G Modem where
> skb->data started near the end of a page so the header would always
> span the page boundary.
> 
> It was very easy to get the VIF to stop processing frames with the old
> code and we have not seen any problems since applying this patch.
> 
> Simon
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:31:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:31:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWunV-0007uy-7z; Tue, 22 May 2012 19:31:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWunT-0007ur-VL
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:31:08 +0000
Received: from [85.158.143.35:12722] by server-2.bemta-4.messagelabs.com id
	3D/3E-12211-B79EBBF4; Tue, 22 May 2012 19:31:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337715063!13450937!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1264 invoked from network); 22 May 2012 19:31:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 19:31:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12611983"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 19:30:29 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 20:30:29 +0100
Message-ID: <1337715028.3991.2.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: David Miller <davem@davemloft.net>
Date: Tue, 22 May 2012 20:30:28 +0100
In-Reply-To: <20120522.151354.2131168749992255398.davem@davemloft.net>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
	<20120522.151354.2131168749992255398.davem@davemloft.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "jeremy@goop.org" <jeremy@goop.org>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"marmarek@invisiblethingslab.com" <marmarek@invisiblethingslab.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 20:13 +0100, David Miller wrote:
> From: Marek Marczykowski <marmarek@invisiblethingslab.com>
> Date: Sun, 20 May 2012 13:45:10 +0200
> 
> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> > is the only way to get network access in dom0.
> > 
> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> 
> Someone please review this and I can merge it in via the 'net' tree if
> it looks OK to XEN folks.

Konrad is "Xen folks" and has acked it already but FWIW:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

Ian.

> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:31:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:31:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWunV-0007uy-7z; Tue, 22 May 2012 19:31:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SWunT-0007ur-VL
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:31:08 +0000
Received: from [85.158.143.35:12722] by server-2.bemta-4.messagelabs.com id
	3D/3E-12211-B79EBBF4; Tue, 22 May 2012 19:31:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1337715063!13450937!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1264 invoked from network); 22 May 2012 19:31:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 19:31:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,639,1330905600"; d="scan'208";a="12611983"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 19:30:29 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 22 May 2012 20:30:29 +0100
Message-ID: <1337715028.3991.2.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: David Miller <davem@davemloft.net>
Date: Tue, 22 May 2012 20:30:28 +0100
In-Reply-To: <20120522.151354.2131168749992255398.davem@davemloft.net>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
	<20120522.151354.2131168749992255398.davem@davemloft.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "jeremy@goop.org" <jeremy@goop.org>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"marmarek@invisiblethingslab.com" <marmarek@invisiblethingslab.com>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 20:13 +0100, David Miller wrote:
> From: Marek Marczykowski <marmarek@invisiblethingslab.com>
> Date: Sun, 20 May 2012 13:45:10 +0200
> 
> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> > is the only way to get network access in dom0.
> > 
> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> 
> Someone please review this and I can merge it in via the 'net' tree if
> it looks OK to XEN folks.

Konrad is "Xen folks" and has acked it already but FWIW:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

Ian.

> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:41:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWux7-0008C2-At; Tue, 22 May 2012 19:41:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SWux5-0008Bx-Rp
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:41:04 +0000
Received: from [85.158.143.35:48616] by server-1.bemta-4.messagelabs.com id
	74/03-00342-FCBEBBF4; Tue, 22 May 2012 19:41:03 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337715658!16718022!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12134 invoked from network); 22 May 2012 19:41:00 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 19:41:00 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4MJcmIa013972
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Tue, 22 May 2012 12:38:48 -0700
Date: Tue, 22 May 2012 15:38:47 -0400 (EDT)
Message-Id: <20120522.153847.2107186222464601466.davem@davemloft.net>
To: Ian.Campbell@citrix.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <1337715028.3991.2.camel@dagon.hellion.org.uk>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
	<20120522.151354.2131168749992255398.davem@davemloft.net>
	<1337715028.3991.2.camel@dagon.hellion.org.uk>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Tue, 22 May 2012 12:38:49 -0700 (PDT)
Cc: jeremy@goop.org, konrad.wilk@oracle.com, netdev@vger.kernel.org,
	marmarek@invisiblethingslab.com, virtualization@lists.linux-foundation.org,
	xen-devel@lists.xen.org, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 22 May 2012 20:30:28 +0100

> On Tue, 2012-05-22 at 20:13 +0100, David Miller wrote:
>> From: Marek Marczykowski <marmarek@invisiblethingslab.com>
>> Date: Sun, 20 May 2012 13:45:10 +0200
>> 
>> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
>> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
>> > is the only way to get network access in dom0.
>> > 
>> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
>> 
>> Someone please review this and I can merge it in via the 'net' tree if
>> it looks OK to XEN folks.
> 
> Konrad is "Xen folks" and has acked it already but FWIW:
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Ok, but this patch doesn't appply cleanly at all to Linus's
current tree nor my 'net' tree (which are equal right now).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:41:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWux7-0008C2-At; Tue, 22 May 2012 19:41:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SWux5-0008Bx-Rp
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:41:04 +0000
Received: from [85.158.143.35:48616] by server-1.bemta-4.messagelabs.com id
	74/03-00342-FCBEBBF4; Tue, 22 May 2012 19:41:03 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337715658!16718022!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12134 invoked from network); 22 May 2012 19:41:00 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 19:41:00 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4MJcmIa013972
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Tue, 22 May 2012 12:38:48 -0700
Date: Tue, 22 May 2012 15:38:47 -0400 (EDT)
Message-Id: <20120522.153847.2107186222464601466.davem@davemloft.net>
To: Ian.Campbell@citrix.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <1337715028.3991.2.camel@dagon.hellion.org.uk>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
	<20120522.151354.2131168749992255398.davem@davemloft.net>
	<1337715028.3991.2.camel@dagon.hellion.org.uk>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Tue, 22 May 2012 12:38:49 -0700 (PDT)
Cc: jeremy@goop.org, konrad.wilk@oracle.com, netdev@vger.kernel.org,
	marmarek@invisiblethingslab.com, virtualization@lists.linux-foundation.org,
	xen-devel@lists.xen.org, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 22 May 2012 20:30:28 +0100

> On Tue, 2012-05-22 at 20:13 +0100, David Miller wrote:
>> From: Marek Marczykowski <marmarek@invisiblethingslab.com>
>> Date: Sun, 20 May 2012 13:45:10 +0200
>> 
>> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
>> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
>> > is the only way to get network access in dom0.
>> > 
>> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
>> 
>> Someone please review this and I can merge it in via the 'net' tree if
>> it looks OK to XEN folks.
> 
> Konrad is "Xen folks" and has acked it already but FWIW:
> 
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Ok, but this patch doesn't appply cleanly at all to Linus's
current tree nor my 'net' tree (which are equal right now).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:50:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWv5o-0008LP-BD; Tue, 22 May 2012 19:50:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWv5m-0008LK-7N
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:50:02 +0000
Received: from [85.158.139.83:10509] by server-12.bemta-5.messagelabs.com id
	59/88-09223-9EDEBBF4; Tue, 22 May 2012 19:50:01 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337716199!28274634!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10217 invoked from network); 22 May 2012 19:50:00 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 19:50:00 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MJnnvd019491
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 19:49:49 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MJnmgE009356
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 19:49:48 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJnltN016170; Tue, 22 May 2012 14:49:47 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:49:47 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 544E7402FB; Tue, 22 May 2012 15:43:19 -0400 (EDT)
Date: Tue, 22 May 2012 15:43:19 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Miller <davem@davemloft.net>
Message-ID: <20120522194319.GA2691@phenom.dumpdata.com>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
	<20120522.151354.2131168749992255398.davem@davemloft.net>
	<1337715028.3991.2.camel@dagon.hellion.org.uk>
	<20120522.153847.2107186222464601466.davem@davemloft.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120522.153847.2107186222464601466.davem@davemloft.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: jeremy@goop.org, Ian.Campbell@citrix.com, netdev@vger.kernel.org,
	marmarek@invisiblethingslab.com, virtualization@lists.linux-foundation.org,
	xen-devel@lists.xen.org, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:38:47PM -0400, David Miller wrote:
> From: Ian Campbell <Ian.Campbell@citrix.com>
> Date: Tue, 22 May 2012 20:30:28 +0100
> 
> > On Tue, 2012-05-22 at 20:13 +0100, David Miller wrote:
> >> From: Marek Marczykowski <marmarek@invisiblethingslab.com>
> >> Date: Sun, 20 May 2012 13:45:10 +0200
> >> 
> >> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> >> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> >> > is the only way to get network access in dom0.
> >> > 
> >> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> >> 
> >> Someone please review this and I can merge it in via the 'net' tree if
> >> it looks OK to XEN folks.
> > 
> > Konrad is "Xen folks" and has acked it already but FWIW:
> > 
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Ok, but this patch doesn't appply cleanly at all to Linus's
> current tree nor my 'net' tree (which are equal right now).

Oh no! Marek, can you repin it please (along with all the Ack's on it).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:50:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWv5o-0008LP-BD; Tue, 22 May 2012 19:50:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWv5m-0008LK-7N
	for xen-devel@lists.xen.org; Tue, 22 May 2012 19:50:02 +0000
Received: from [85.158.139.83:10509] by server-12.bemta-5.messagelabs.com id
	59/88-09223-9EDEBBF4; Tue, 22 May 2012 19:50:01 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337716199!28274634!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10217 invoked from network); 22 May 2012 19:50:00 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 19:50:00 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MJnnvd019491
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 19:49:49 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MJnmgE009356
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 19:49:48 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJnltN016170; Tue, 22 May 2012 14:49:47 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:49:47 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 544E7402FB; Tue, 22 May 2012 15:43:19 -0400 (EDT)
Date: Tue, 22 May 2012 15:43:19 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Miller <davem@davemloft.net>
Message-ID: <20120522194319.GA2691@phenom.dumpdata.com>
References: <20120522130558.D828E6C7@duch.mimuw.edu.pl>
	<20120522.151354.2131168749992255398.davem@davemloft.net>
	<1337715028.3991.2.camel@dagon.hellion.org.uk>
	<20120522.153847.2107186222464601466.davem@davemloft.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120522.153847.2107186222464601466.davem@davemloft.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: jeremy@goop.org, Ian.Campbell@citrix.com, netdev@vger.kernel.org,
	marmarek@invisiblethingslab.com, virtualization@lists.linux-foundation.org,
	xen-devel@lists.xen.org, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:38:47PM -0400, David Miller wrote:
> From: Ian Campbell <Ian.Campbell@citrix.com>
> Date: Tue, 22 May 2012 20:30:28 +0100
> 
> > On Tue, 2012-05-22 at 20:13 +0100, David Miller wrote:
> >> From: Marek Marczykowski <marmarek@invisiblethingslab.com>
> >> Date: Sun, 20 May 2012 13:45:10 +0200
> >> 
> >> > Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> >> > some domU (aka driver domain). Then using netback in domU and netfront in dom0
> >> > is the only way to get network access in dom0.
> >> > 
> >> > Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> >> 
> >> Someone please review this and I can merge it in via the 'net' tree if
> >> it looks OK to XEN folks.
> > 
> > Konrad is "Xen folks" and has acked it already but FWIW:
> > 
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Ok, but this patch doesn't appply cleanly at all to Linus's
> current tree nor my 'net' tree (which are equal right now).

Oh no! Marek, can you repin it please (along with all the Ack's on it).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:53:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:53:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWv8v-0008Sq-4G; Tue, 22 May 2012 19:53:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWv8u-0008Si-55
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 19:53:16 +0000
Received: from [85.158.139.83:23977] by server-11.bemta-5.messagelabs.com id
	F4/6B-23372-9AEEBBF4; Tue, 22 May 2012 19:53:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337716390!30110670!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23713 invoked from network); 22 May 2012 19:53:12 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 19:53:12 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MJr8mW022437
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 19:53:09 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MJr7Ta016737
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 19:53:08 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJr7ph006139; Tue, 22 May 2012 14:53:07 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:53:07 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 35826402FB; Tue, 22 May 2012 15:46:39 -0400 (EDT)
Date: Tue, 22 May 2012 15:46:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Message-ID: <20120522194639.GA2820@phenom.dumpdata.com>
MIME-Version: 1.0
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: [Xen-devel] [GIT PULL] (xen) stable/for-linus-3.5-rc0-tag
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1016735674739813537=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1016735674739813537==
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="rwEMma7ioTxnRzrJ"
Content-Disposition: inline


--rwEMma7ioTxnRzrJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hey Linus,

Please git pull the following tag:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-linus-3.5-rc0-tag

which has:
 * support for 'perf' running. Perf depends on APIC ops to send IPIs, not SMP ops.
   Re-using the existing SMP ops and also adding code to deal IRQ_WORKER vector makes it work.
 * enhancements to the self-ballooning code
 * fix to auto-balloon the initial domain to the original boot-up size (it would
   return to the hypervisor around 1GB of memory that overlapped PCI and non-E820 RAM regions -
   this brings it back).
 * move some of the debugfs code dealing with printing u32 arrays to the generic code-base.
 * allow fronted modules to unload with grants in usage and lazily free them
 * further disintegrate the XenBus and initial domain coupling - so that there can be
   a separate XenBus domain - and the concept of initial domain shrinks even further.
 * perf improvements in the M2P calls to utilize the batching of PTEs.
 * bug-fixes

Please pull!

Ben Guthro (1):
      xen: implement apic ipi interface

Dan Carpenter (1):
      hvc_xen: NULL dereference on allocation failure

Daniel De Graaf (1):
      xenbus: Add support for xenbus backend in stub domain

David Vrabel (1):
      xen/setup: update VA mapping when releasing memory during setup

Jan Beulich (1):
      xen/gnttab: add deferred freeing logic

Jana Saout (1):
      xen: Add selfballoning memory reservation tunable.

Konrad Rzeszutek Wilk (9):
      xen/p2m: Move code around to allow for better re-usage.
      xen/p2m: Allow alloc_p2m_middle to call reserve_brk depending on argument
      xen/p2m: Collapse early_alloc_p2m_middle redundant checks.
      xen/p2m: An early bootup variant of set_phys_to_machine
      xen/setup: Only print "Freeing XXX-YYY pfn range: Z pages freed" if Z > 0
      xen/setup: Populate freed MFNs from non-RAM E820 entries and gaps to E820 RAM
      xen/setup: Combine the two hypercall functions - since they are quite similar.
      xen/acpi/sleep: Enable ACPI sleep via the __acpi_os_prepare_sleep
      xen/smp: unbind irqworkX when unplugging vCPUs.

Lin Ming (1):
      xen: implement IRQ_WORK_VECTOR handler

Srivatsa Vaddagiri (1):
      debugfs: Add support to print u32 array in debugfs

Stefano Stabellini (2):
      xen: enter/exit lazy_mmu_mode around m2p_override calls
      xen: do not map the same GSI twice in PVHVM guests.

 arch/x86/include/asm/xen/events.h       |    1 +
 arch/x86/include/asm/xen/page.h         |    1 +
 arch/x86/pci/xen.c                      |    4 +
 arch/x86/xen/debugfs.c                  |  104 -------------------
 arch/x86/xen/debugfs.h                  |    4 -
 arch/x86/xen/enlighten.c                |   13 ++-
 arch/x86/xen/mmu.c                      |   23 ----
 arch/x86/xen/p2m.c                      |  104 +++++++++++--------
 arch/x86/xen/setup.c                    |  171 ++++++++++++++++++++++++++-----
 arch/x86/xen/smp.c                      |  112 +++++++++++++++++++-
 arch/x86/xen/smp.h                      |   12 ++
 arch/x86/xen/spinlock.c                 |   12 +-
 arch/x86/xen/xen-ops.h                  |    1 -
 drivers/tty/hvc/hvc_xen.c               |    4 +-
 drivers/xen/Makefile                    |    2 +-
 drivers/xen/acpi.c                      |   62 +++++++++++
 drivers/xen/events.c                    |    5 +-
 drivers/xen/grant-table.c               |  125 +++++++++++++++++++++--
 drivers/xen/xen-selfballoon.c           |   34 ++++++-
 drivers/xen/xenbus/xenbus_comms.c       |    6 +
 drivers/xen/xenbus/xenbus_comms.h       |    1 +
 drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++
 fs/debugfs/file.c                       |  128 +++++++++++++++++++++++
 include/linux/debugfs.h                 |   11 ++
 include/xen/acpi.h                      |   58 +++++++++++
 include/xen/events.h                    |    3 +
 include/xen/grant_table.h               |    2 +
 include/xen/xenbus_dev.h                |    3 +
 28 files changed, 829 insertions(+), 228 deletions(-)


--rwEMma7ioTxnRzrJ
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAEBAgAGBQJPu+0bAAoJEFjIrFwIi8fJYLsH/jOwAs53oFrx167doN/IPahE
DjTDH+hlMfCrp+8Q1VHxUh+EWWW38KEReVvgjlXXGJV93v411MlKaIN1bs9scnEC
lIQlYuUO6HZ5KvrYY6qAxea75ff2vXoIjnGx77DhaIjRJnMWEdeU20pwcY5cmLWf
RwKAsfttHSdT36ohdz09vQB1osr4tBN7VUrqPL1Bp5uVbef1qpWBnM8f/JU+xyQC
vcJhEbyssVKtshCYcWY4SPRokthkH+q0SFz7dpZTRikY9s9h2Hl3I8gytl+siCps
FGSxg/q7i0MXLq5/VN4yTPkU24ij5li7eFhc1w3n0Mzxs/NMWNUMOrTOG9FPUcc=
=KHZQ
-----END PGP SIGNATURE-----

--rwEMma7ioTxnRzrJ--


--===============1016735674739813537==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1016735674739813537==--


From xen-devel-bounces@lists.xen.org Tue May 22 19:53:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:53:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWv8v-0008Sq-4G; Tue, 22 May 2012 19:53:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWv8u-0008Si-55
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 19:53:16 +0000
Received: from [85.158.139.83:23977] by server-11.bemta-5.messagelabs.com id
	F4/6B-23372-9AEEBBF4; Tue, 22 May 2012 19:53:13 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337716390!30110670!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23713 invoked from network); 22 May 2012 19:53:12 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 19:53:12 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MJr8mW022437
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 19:53:09 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MJr7Ta016737
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 19:53:08 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJr7ph006139; Tue, 22 May 2012 14:53:07 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:53:07 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 35826402FB; Tue, 22 May 2012 15:46:39 -0400 (EDT)
Date: Tue, 22 May 2012 15:46:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Message-ID: <20120522194639.GA2820@phenom.dumpdata.com>
MIME-Version: 1.0
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: [Xen-devel] [GIT PULL] (xen) stable/for-linus-3.5-rc0-tag
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1016735674739813537=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1016735674739813537==
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="rwEMma7ioTxnRzrJ"
Content-Disposition: inline


--rwEMma7ioTxnRzrJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hey Linus,

Please git pull the following tag:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-linus-3.5-rc0-tag

which has:
 * support for 'perf' running. Perf depends on APIC ops to send IPIs, not SMP ops.
   Re-using the existing SMP ops and also adding code to deal IRQ_WORKER vector makes it work.
 * enhancements to the self-ballooning code
 * fix to auto-balloon the initial domain to the original boot-up size (it would
   return to the hypervisor around 1GB of memory that overlapped PCI and non-E820 RAM regions -
   this brings it back).
 * move some of the debugfs code dealing with printing u32 arrays to the generic code-base.
 * allow fronted modules to unload with grants in usage and lazily free them
 * further disintegrate the XenBus and initial domain coupling - so that there can be
   a separate XenBus domain - and the concept of initial domain shrinks even further.
 * perf improvements in the M2P calls to utilize the batching of PTEs.
 * bug-fixes

Please pull!

Ben Guthro (1):
      xen: implement apic ipi interface

Dan Carpenter (1):
      hvc_xen: NULL dereference on allocation failure

Daniel De Graaf (1):
      xenbus: Add support for xenbus backend in stub domain

David Vrabel (1):
      xen/setup: update VA mapping when releasing memory during setup

Jan Beulich (1):
      xen/gnttab: add deferred freeing logic

Jana Saout (1):
      xen: Add selfballoning memory reservation tunable.

Konrad Rzeszutek Wilk (9):
      xen/p2m: Move code around to allow for better re-usage.
      xen/p2m: Allow alloc_p2m_middle to call reserve_brk depending on argument
      xen/p2m: Collapse early_alloc_p2m_middle redundant checks.
      xen/p2m: An early bootup variant of set_phys_to_machine
      xen/setup: Only print "Freeing XXX-YYY pfn range: Z pages freed" if Z > 0
      xen/setup: Populate freed MFNs from non-RAM E820 entries and gaps to E820 RAM
      xen/setup: Combine the two hypercall functions - since they are quite similar.
      xen/acpi/sleep: Enable ACPI sleep via the __acpi_os_prepare_sleep
      xen/smp: unbind irqworkX when unplugging vCPUs.

Lin Ming (1):
      xen: implement IRQ_WORK_VECTOR handler

Srivatsa Vaddagiri (1):
      debugfs: Add support to print u32 array in debugfs

Stefano Stabellini (2):
      xen: enter/exit lazy_mmu_mode around m2p_override calls
      xen: do not map the same GSI twice in PVHVM guests.

 arch/x86/include/asm/xen/events.h       |    1 +
 arch/x86/include/asm/xen/page.h         |    1 +
 arch/x86/pci/xen.c                      |    4 +
 arch/x86/xen/debugfs.c                  |  104 -------------------
 arch/x86/xen/debugfs.h                  |    4 -
 arch/x86/xen/enlighten.c                |   13 ++-
 arch/x86/xen/mmu.c                      |   23 ----
 arch/x86/xen/p2m.c                      |  104 +++++++++++--------
 arch/x86/xen/setup.c                    |  171 ++++++++++++++++++++++++++-----
 arch/x86/xen/smp.c                      |  112 +++++++++++++++++++-
 arch/x86/xen/smp.h                      |   12 ++
 arch/x86/xen/spinlock.c                 |   12 +-
 arch/x86/xen/xen-ops.h                  |    1 -
 drivers/tty/hvc/hvc_xen.c               |    4 +-
 drivers/xen/Makefile                    |    2 +-
 drivers/xen/acpi.c                      |   62 +++++++++++
 drivers/xen/events.c                    |    5 +-
 drivers/xen/grant-table.c               |  125 +++++++++++++++++++++--
 drivers/xen/xen-selfballoon.c           |   34 ++++++-
 drivers/xen/xenbus/xenbus_comms.c       |    6 +
 drivers/xen/xenbus/xenbus_comms.h       |    1 +
 drivers/xen/xenbus/xenbus_dev_backend.c |   51 +++++++++
 fs/debugfs/file.c                       |  128 +++++++++++++++++++++++
 include/linux/debugfs.h                 |   11 ++
 include/xen/acpi.h                      |   58 +++++++++++
 include/xen/events.h                    |    3 +
 include/xen/grant_table.h               |    2 +
 include/xen/xenbus_dev.h                |    3 +
 28 files changed, 829 insertions(+), 228 deletions(-)


--rwEMma7ioTxnRzrJ
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAEBAgAGBQJPu+0bAAoJEFjIrFwIi8fJYLsH/jOwAs53oFrx167doN/IPahE
DjTDH+hlMfCrp+8Q1VHxUh+EWWW38KEReVvgjlXXGJV93v411MlKaIN1bs9scnEC
lIQlYuUO6HZ5KvrYY6qAxea75ff2vXoIjnGx77DhaIjRJnMWEdeU20pwcY5cmLWf
RwKAsfttHSdT36ohdz09vQB1osr4tBN7VUrqPL1Bp5uVbef1qpWBnM8f/JU+xyQC
vcJhEbyssVKtshCYcWY4SPRokthkH+q0SFz7dpZTRikY9s9h2Hl3I8gytl+siCps
FGSxg/q7i0MXLq5/VN4yTPkU24ij5li7eFhc1w3n0Mzxs/NMWNUMOrTOG9FPUcc=
=KHZQ
-----END PGP SIGNATURE-----

--rwEMma7ioTxnRzrJ--


--===============1016735674739813537==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1016735674739813537==--


From xen-devel-bounces@lists.xen.org Tue May 22 19:55:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvAc-00007c-KZ; Tue, 22 May 2012 19:55:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWvAb-00007R-37
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 19:55:01 +0000
Received: from [85.158.143.99:35406] by server-1.bemta-4.messagelabs.com id
	62/41-00342-41FEBBF4; Tue, 22 May 2012 19:55:00 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337716498!24006832!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17967 invoked from network); 22 May 2012 19:54:59 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 19:54:59 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MJst07000759
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 19:54:56 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MJss5N015958
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 19:54:54 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJssCb008418; Tue, 22 May 2012 14:54:54 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:54:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 12F4D402FB; Tue, 22 May 2012 15:48:26 -0400 (EDT)
Date: Tue, 22 May 2012 15:48:26 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Dmitry Cherkassov <dcherkassov@gmail.com>
Message-ID: <20120522194825.GB2820@phenom.dumpdata.com>
References: <87fwb0kvoa.fsf@gmail.com>
	<20120521145041.GC24239@phenom.dumpdata.com>
	<87396s4fic.fsf@gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <87396s4fic.fsf@gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:33:15PM +0400, Dmitry Cherkassov wrote:
> Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> writes:
> 
> > On Wed, May 16, 2012 at 07:11:33PM +0400, Dmitry Cherkassov wrote:
> >> Hi!
> >> Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
> >> (before xen dom0 support went into upstream)?
> >
> > I think my oss.oracle.com/git/kwilk/xen.git might have some.
> 
> I don't see xen/next-2.6.35 (6) tags there. Or shouldn't I?

Hm you are right. I see 2.6.39 based ones.. <sigh>
I fear they are gone.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 19:55:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 19:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvAc-00007c-KZ; Tue, 22 May 2012 19:55:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWvAb-00007R-37
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 19:55:01 +0000
Received: from [85.158.143.99:35406] by server-1.bemta-4.messagelabs.com id
	62/41-00342-41FEBBF4; Tue, 22 May 2012 19:55:00 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337716498!24006832!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17967 invoked from network); 22 May 2012 19:54:59 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-12.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 19:54:59 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MJst07000759
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 19:54:56 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MJss5N015958
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 19:54:54 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJssCb008418; Tue, 22 May 2012 14:54:54 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:54:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 12F4D402FB; Tue, 22 May 2012 15:48:26 -0400 (EDT)
Date: Tue, 22 May 2012 15:48:26 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Dmitry Cherkassov <dcherkassov@gmail.com>
Message-ID: <20120522194825.GB2820@phenom.dumpdata.com>
References: <87fwb0kvoa.fsf@gmail.com>
	<20120521145041.GC24239@phenom.dumpdata.com>
	<87396s4fic.fsf@gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <87396s4fic.fsf@gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] xen dom0 pvops for older 2.6.36 and 2.6.35 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:33:15PM +0400, Dmitry Cherkassov wrote:
> Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> writes:
> 
> > On Wed, May 16, 2012 at 07:11:33PM +0400, Dmitry Cherkassov wrote:
> >> Hi!
> >> Where can i get xen dom0 pvops patches for 2.6.36 and 2.6.35 kernels?
> >> (before xen dom0 support went into upstream)?
> >
> > I think my oss.oracle.com/git/kwilk/xen.git might have some.
> 
> I don't see xen/next-2.6.35 (6) tags there. Or shouldn't I?

Hm you are right. I see 2.6.39 based ones.. <sigh>
I fear they are gone.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:00:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:00:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvFb-0000PU-CV; Tue, 22 May 2012 20:00:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWvFZ-0000PM-CS
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 20:00:09 +0000
Received: from [85.158.139.83:64301] by server-7.bemta-5.messagelabs.com id
	09/AC-12065-840FBBF4; Tue, 22 May 2012 20:00:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337716806!29712480!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30555 invoked from network); 22 May 2012 20:00:07 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 20:00:07 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MK01qM005314
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 20:00:01 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MK00dW018555
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 20:00:00 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJxxFK011732; Tue, 22 May 2012 14:59:59 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:59:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B4A76402FB; Tue, 22 May 2012 15:53:31 -0400 (EDT)
Date: Tue, 22 May 2012 15:53:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Joanna Rutkowska <joanna@invisiblethingslab.com>
Message-ID: <20120522195331.GA6129@phenom.dumpdata.com>
References: <4FB39B13.70707@invisiblethingslab.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB39B13.70707@invisiblethingslab.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [Xen-devel] The strange case of xen_netback not returning ARP
 replies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 02:18:27PM +0200, Joanna Rutkowska wrote:
> Hello,
> 
> I'm facing a rather strange problem with the netback interface. My setup
> involves a netvm, which has some physical network interfaces assigned,
> and a client VM where a net front is running (exposed as eth0) and which
> is connected to that netvm (via vif42.0 interface, as seen in the netvm
> on the dumps below).
> 
> Now, the netvm has two physical network interfaces assigned:
> 1) A standard Intel AGN (iwlwifi module, interface wlan0) -- this is
> just a PCI devices assigned
> 
> 2) A USB 3G modem (cdc_ncm module, usb0 interface) -- this has been made
> available to the netvm by assigning a whole USB controller, where the 3G
> modem is connected to. This works fine.

There are some patches posted about netback and SKB slots that might
apply to the problem you guys are seeing.

> 
> We do NAT in netvm for the traffic coming on vif* and send it out
> through the default outgoing interface, e.g. wlan0. Now, as long as I
> use the wlan0 for networking all works great. I've been using this setup
> for years, no problem here.
> 
> However, when I switch to usb0 as a default outgoing interface in the
> netvm, something strange happens. The networking works fine via usb0 for
> some time (a few minutes typically), yet suddenly, after enough packets
> got exchanged, the networking stops working.
> 
> When I run tcpdump on the vif* interface I can see that suddenly there
> is nobody (in the netvm) to reply for the ARP requests from the client
> VM (the client vm has Xen ID = 42 in this dump, and IP = .5, and gateway
> = .1):
> 
> [root@netvm user]# tcpdump -ni vif42.0 arp
> tcpdump: WARNING: vif42.0: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 bytes
> 13:41:55.031819 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:41:56.031860 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:41:57.031794 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:41:59.287308 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:42:00.283853 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:42:01.283816 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:42:03.231324 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length
> 
> ... and this now continues until no end.
> 
> For comparison, this is how it looks when I use networking via wlan0:
> 
> [root@netvm user]# tcpdump -ni vif42.0 arp
> tcpdump: WARNING: vif42.0: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 bytes
> 13:39:00.215883 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:39:00.215911 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28
> 13:39:21.799844 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:39:21.799869 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28
> 
> We can see that every once in a while an ARP request for 10.137.1.1
> appears (a gateway for clientvm, so the netvm), yet this is immediately
> being answered (by netvm, as I understand).
> 
> Now, this behavior seems really strange, because:
> 
> 1) AFAIU, the ARP replies are/should be generated by the netback
> interface in the netvm (vif*).
> 
> 2) It shouldn't matter, for the netback code, how the packets are later
> routed (via wlan0 vs. usb0) to provide this (dummy) arp response?
> 
> 3) ...yet, for some reason, in the case when packets are later routed
> through usb0, the netback is not willing to generate arp response???
> 
> Or am I misunderstanding this, and it is somebody else who is generating
> the arp responses? The final NIC?
> 
> Some additional notes:
> 1) We make sure to set /proc/sys/net/ipv4/conf/vif*/proxy_arp to 1
> 
> 2) When this "arp hang" happens, the networking (via usb0) is still
> working fine in the netvm (i.e. I can do ping google.com from the netvm)
> 
> 3) This has been tested on various VM kernels (in the netvm): 3.0.4,
> 3.2.7, and 3.3.5 -- all exhibit the same behavior.
> 
> 4) Nothing spectacular in the logs of the netvm, however, I can often
> see this crash in the *client* VM:
> 
> [ 1257.228761] ------------[ cut here ]------------
> [ 1257.228767] WARNING: at
> /home/user/qubes-src/kernel/kernel-3.3.5/linux-3.3.5/fs/sysfs/file.c:498
> sysfs_attr_ns+0x93/0xa0()
> [ 1257.228776] sysfs: kobject eth0 without dirent
> [ 1257.228780] Modules linked in: iptable_raw bnep bluetooth rfkill
> ipt_MASQUERADE ipt_REJECT xt_state xt_tcpudp xen_netback iptable_filter
> iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4
> ip_tables x_tables xen_netfront microcode pcspkr u2mfn(O) xen_blkback
> xen_evtchn autofs4 ext4 jbd2 crc16 dm_snapshot xen_blkfront [last
> unloaded: scsi_wait_scan]
> [ 1257.228819] Pid: 11, comm: xenwatch Tainted: G        W  O
> 3.3.5-1.pvops.qubes.x86_64 #1
> [ 1257.228825] Call Trace:
> [ 1257.228830]  [<ffffffff810495aa>] warn_slowpath_common+0x7a/0xb0
> [ 1257.228836]  [<ffffffff81049681>] warn_slowpath_fmt+0x41/0x50
> [ 1257.228842]  [<ffffffff81057ba7>] ? lock_timer_base+0x37/0x70
> [ 1257.228850]  [<ffffffff811a7433>] sysfs_attr_ns+0x93/0xa0
> [ 1257.228856]  [<ffffffff811a7aef>] sysfs_remove_file+0x1f/0x40
> [ 1257.228862]  [<ffffffff812e5622>] device_remove_file+0x12/0x20
> [ 1257.228870]  [<ffffffffa00faf5a>] xennet_remove+0x84/0xac [xen_netfront]
> [ 1257.228875]  [<ffffffff812b5c82>] xenbus_dev_remove+0x42/0xa0
> [ 1257.228881]  [<ffffffff812e85a7>] __device_release_driver+0x77/0xd0
> [ 1257.228887]  [<ffffffff812e86e8>] device_release_driver+0x28/0x40
> [ 1257.228895]  [<ffffffff812e790f>] bus_remove_device+0x10f/0x180
> [ 1257.228901]  [<ffffffff812e5808>] device_del+0x118/0x1c0
> [ 1257.228906]  [<ffffffff812e58cd>] device_unregister+0x1d/0x60
> [ 1257.228914]  [<ffffffff812b5a46>] xenbus_dev_changed+0x96/0x1b0
> [ 1257.228920]  [<ffffffff812b74b4>] frontend_changed+0x24/0x50
> [ 1257.228926]  [<ffffffff812b4221>] xenwatch_thread+0xb1/0x170
> [ 1257.228933]  [<ffffffff8106aea0>] ? wake_up_bit+0x40/0x40
> [ 1257.228939]  [<ffffffff812b4170>] ? xenbus_thread+0x40/0x40
> [ 1257.228944]  [<ffffffff8106a9a6>] kthread+0x96/0xa0
> [ 1257.228951]  [<ffffffff81465724>] kernel_thread_helper+0x4/0x10
> [ 1257.228959]  [<ffffffff8145c7fc>] ? retint_restore_args+0x5/0x6
> [ 1257.228964]  [<ffffffff81465720>] ? gs_change+0x13/0x13
> [ 1257.228968] ---[ end trace 75286ef58ce0391f ]---
> 
> But this seems rather irrelevant, as it seems like it is the netvm that
> is failing here, i.e. it doesn't generate ARP responses?
> 
> I would appreciate any help with this issue!
> 
> Thanks,
> joanna.
> 



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:00:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:00:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvFb-0000PU-CV; Tue, 22 May 2012 20:00:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWvFZ-0000PM-CS
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 20:00:09 +0000
Received: from [85.158.139.83:64301] by server-7.bemta-5.messagelabs.com id
	09/AC-12065-840FBBF4; Tue, 22 May 2012 20:00:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337716806!29712480!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30555 invoked from network); 22 May 2012 20:00:07 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 20:00:07 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MK01qM005314
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 20:00:01 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MK00dW018555
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 20:00:00 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MJxxFK011732; Tue, 22 May 2012 14:59:59 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 12:59:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B4A76402FB; Tue, 22 May 2012 15:53:31 -0400 (EDT)
Date: Tue, 22 May 2012 15:53:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Joanna Rutkowska <joanna@invisiblethingslab.com>
Message-ID: <20120522195331.GA6129@phenom.dumpdata.com>
References: <4FB39B13.70707@invisiblethingslab.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FB39B13.70707@invisiblethingslab.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [Xen-devel] The strange case of xen_netback not returning ARP
 replies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 16, 2012 at 02:18:27PM +0200, Joanna Rutkowska wrote:
> Hello,
> 
> I'm facing a rather strange problem with the netback interface. My setup
> involves a netvm, which has some physical network interfaces assigned,
> and a client VM where a net front is running (exposed as eth0) and which
> is connected to that netvm (via vif42.0 interface, as seen in the netvm
> on the dumps below).
> 
> Now, the netvm has two physical network interfaces assigned:
> 1) A standard Intel AGN (iwlwifi module, interface wlan0) -- this is
> just a PCI devices assigned
> 
> 2) A USB 3G modem (cdc_ncm module, usb0 interface) -- this has been made
> available to the netvm by assigning a whole USB controller, where the 3G
> modem is connected to. This works fine.

There are some patches posted about netback and SKB slots that might
apply to the problem you guys are seeing.

> 
> We do NAT in netvm for the traffic coming on vif* and send it out
> through the default outgoing interface, e.g. wlan0. Now, as long as I
> use the wlan0 for networking all works great. I've been using this setup
> for years, no problem here.
> 
> However, when I switch to usb0 as a default outgoing interface in the
> netvm, something strange happens. The networking works fine via usb0 for
> some time (a few minutes typically), yet suddenly, after enough packets
> got exchanged, the networking stops working.
> 
> When I run tcpdump on the vif* interface I can see that suddenly there
> is nobody (in the netvm) to reply for the ARP requests from the client
> VM (the client vm has Xen ID = 42 in this dump, and IP = .5, and gateway
> = .1):
> 
> [root@netvm user]# tcpdump -ni vif42.0 arp
> tcpdump: WARNING: vif42.0: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 bytes
> 13:41:55.031819 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:41:56.031860 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:41:57.031794 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:41:59.287308 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:42:00.283853 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:42:01.283816 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:42:03.231324 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length
> 
> ... and this now continues until no end.
> 
> For comparison, this is how it looks when I use networking via wlan0:
> 
> [root@netvm user]# tcpdump -ni vif42.0 arp
> tcpdump: WARNING: vif42.0: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on vif42.0, link-type EN10MB (Ethernet), capture size 65535 bytes
> 13:39:00.215883 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:39:00.215911 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28
> 13:39:21.799844 ARP, Request who-has 10.137.1.1 tell 10.137.1.5, length 28
> 13:39:21.799869 ARP, Reply 10.137.1.1 is-at fe:ff:ff:ff:ff:ff, length 28
> 
> We can see that every once in a while an ARP request for 10.137.1.1
> appears (a gateway for clientvm, so the netvm), yet this is immediately
> being answered (by netvm, as I understand).
> 
> Now, this behavior seems really strange, because:
> 
> 1) AFAIU, the ARP replies are/should be generated by the netback
> interface in the netvm (vif*).
> 
> 2) It shouldn't matter, for the netback code, how the packets are later
> routed (via wlan0 vs. usb0) to provide this (dummy) arp response?
> 
> 3) ...yet, for some reason, in the case when packets are later routed
> through usb0, the netback is not willing to generate arp response???
> 
> Or am I misunderstanding this, and it is somebody else who is generating
> the arp responses? The final NIC?
> 
> Some additional notes:
> 1) We make sure to set /proc/sys/net/ipv4/conf/vif*/proxy_arp to 1
> 
> 2) When this "arp hang" happens, the networking (via usb0) is still
> working fine in the netvm (i.e. I can do ping google.com from the netvm)
> 
> 3) This has been tested on various VM kernels (in the netvm): 3.0.4,
> 3.2.7, and 3.3.5 -- all exhibit the same behavior.
> 
> 4) Nothing spectacular in the logs of the netvm, however, I can often
> see this crash in the *client* VM:
> 
> [ 1257.228761] ------------[ cut here ]------------
> [ 1257.228767] WARNING: at
> /home/user/qubes-src/kernel/kernel-3.3.5/linux-3.3.5/fs/sysfs/file.c:498
> sysfs_attr_ns+0x93/0xa0()
> [ 1257.228776] sysfs: kobject eth0 without dirent
> [ 1257.228780] Modules linked in: iptable_raw bnep bluetooth rfkill
> ipt_MASQUERADE ipt_REJECT xt_state xt_tcpudp xen_netback iptable_filter
> iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4
> ip_tables x_tables xen_netfront microcode pcspkr u2mfn(O) xen_blkback
> xen_evtchn autofs4 ext4 jbd2 crc16 dm_snapshot xen_blkfront [last
> unloaded: scsi_wait_scan]
> [ 1257.228819] Pid: 11, comm: xenwatch Tainted: G        W  O
> 3.3.5-1.pvops.qubes.x86_64 #1
> [ 1257.228825] Call Trace:
> [ 1257.228830]  [<ffffffff810495aa>] warn_slowpath_common+0x7a/0xb0
> [ 1257.228836]  [<ffffffff81049681>] warn_slowpath_fmt+0x41/0x50
> [ 1257.228842]  [<ffffffff81057ba7>] ? lock_timer_base+0x37/0x70
> [ 1257.228850]  [<ffffffff811a7433>] sysfs_attr_ns+0x93/0xa0
> [ 1257.228856]  [<ffffffff811a7aef>] sysfs_remove_file+0x1f/0x40
> [ 1257.228862]  [<ffffffff812e5622>] device_remove_file+0x12/0x20
> [ 1257.228870]  [<ffffffffa00faf5a>] xennet_remove+0x84/0xac [xen_netfront]
> [ 1257.228875]  [<ffffffff812b5c82>] xenbus_dev_remove+0x42/0xa0
> [ 1257.228881]  [<ffffffff812e85a7>] __device_release_driver+0x77/0xd0
> [ 1257.228887]  [<ffffffff812e86e8>] device_release_driver+0x28/0x40
> [ 1257.228895]  [<ffffffff812e790f>] bus_remove_device+0x10f/0x180
> [ 1257.228901]  [<ffffffff812e5808>] device_del+0x118/0x1c0
> [ 1257.228906]  [<ffffffff812e58cd>] device_unregister+0x1d/0x60
> [ 1257.228914]  [<ffffffff812b5a46>] xenbus_dev_changed+0x96/0x1b0
> [ 1257.228920]  [<ffffffff812b74b4>] frontend_changed+0x24/0x50
> [ 1257.228926]  [<ffffffff812b4221>] xenwatch_thread+0xb1/0x170
> [ 1257.228933]  [<ffffffff8106aea0>] ? wake_up_bit+0x40/0x40
> [ 1257.228939]  [<ffffffff812b4170>] ? xenbus_thread+0x40/0x40
> [ 1257.228944]  [<ffffffff8106a9a6>] kthread+0x96/0xa0
> [ 1257.228951]  [<ffffffff81465724>] kernel_thread_helper+0x4/0x10
> [ 1257.228959]  [<ffffffff8145c7fc>] ? retint_restore_args+0x5/0x6
> [ 1257.228964]  [<ffffffff81465720>] ? gs_change+0x13/0x13
> [ 1257.228968] ---[ end trace 75286ef58ce0391f ]---
> 
> But this seems rather irrelevant, as it seems like it is the netvm that
> is failing here, i.e. it doesn't generate ARP responses?
> 
> I would appreciate any help with this issue!
> 
> Thanks,
> joanna.
> 



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:33:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvkz-0000fr-IT; Tue, 22 May 2012 20:32:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWvky-0000fm-8S
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 20:32:36 +0000
Received: from [193.109.254.147:44819] by server-4.bemta-14.messagelabs.com id
	4A/86-11570-3E7FBBF4; Tue, 22 May 2012 20:32:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337718754!5492566!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17832 invoked from network); 22 May 2012 20:32:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 20:32:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,640,1330905600"; d="scan'208";a="12612497"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 20:32:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 21:32:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWvkw-0001b2-53;
	Tue, 22 May 2012 20:32:34 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWvkv-0000LI-Rp;
	Tue, 22 May 2012 21:32:34 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12955-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 21:32:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12955: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12955 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12955/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 9 guest-start.2 fail in 12953 REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12953

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12953 never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop     fail in 12953 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:33:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvkz-0000fr-IT; Tue, 22 May 2012 20:32:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWvky-0000fm-8S
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 20:32:36 +0000
Received: from [193.109.254.147:44819] by server-4.bemta-14.messagelabs.com id
	4A/86-11570-3E7FBBF4; Tue, 22 May 2012 20:32:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337718754!5492566!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17832 invoked from network); 22 May 2012 20:32:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 20:32:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,640,1330905600"; d="scan'208";a="12612497"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 20:32:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 21:32:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWvkw-0001b2-53;
	Tue, 22 May 2012 20:32:34 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWvkv-0000LI-Rp;
	Tue, 22 May 2012 21:32:34 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12955-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 21:32:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12955: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12955 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12955/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 9 guest-start.2 fail in 12953 REGR. vs. 12892

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install        fail pass in 12953

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail like 12892
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail blocked in 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12953 never pass
 test-amd64-i386-xl-qemuu-win7-amd64 13 guest-stop     fail in 12953 never pass

version targeted for testing:
 qemuu                6505594b66d6f175b3311b844804c6cb582ce52a
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:41:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:41:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvt0-0000qI-HM; Tue, 22 May 2012 20:40:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWvsy-0000qD-QH
	for xen-devel@lists.xen.org; Tue, 22 May 2012 20:40:53 +0000
Received: from [85.158.143.35:43149] by server-3.bemta-4.messagelabs.com id
	C2/52-05853-4D9FBBF4; Tue, 22 May 2012 20:40:52 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337719247!16815354!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18790 invoked from network); 22 May 2012 20:40:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 20:40:49 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MKehq9001872
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 20:40:44 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MKehoS003126
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 20:40:43 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MKeghK018385; Tue, 22 May 2012 15:40:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 13:40:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7B8F7402FB; Tue, 22 May 2012 16:34:14 -0400 (EDT)
Date: Tue, 22 May 2012 16:34:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Zhang, Xiantao" <xiantao.zhang@intel.com>
Message-ID: <20120522203414.GA18877@phenom.dumpdata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Hao, Xudong" <xudong.hao@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 01:57:44AM +0000, Zhang, Xiantao wrote:
> Hi, Jan/Konrad
>    Do you have further comments about this patch ?   Thanks!

Well .. What about making this be in the generic code? That way
both KVM and Xen can benefit? And also then the default values
don't have to show up in two places.


> Xiantao
> 
> > -----Original Message-----
> > From: Hao, Xudong
> > Sent: Wednesday, May 09, 2012 2:26 PM
> > To: Jan Beulich; Konrad Rzeszutek Wilk
> > Cc: xen-devel; Zhang, Xiantao
> > Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> > owned by pciback
> > 
> > > -----Original Message-----
> > > From: Jan Beulich [mailto:JBeulich@suse.com]
> > > Sent: Tuesday, May 08, 2012 5:42 PM
> > > To: Hao, Xudong; Konrad Rzeszutek Wilk
> > > Cc: xen-devel
> > > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> > > owned by pciback
> > >
> > > >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > > >>  -----Original Message-----
> > > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] On Sun,
> > > >> May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> > > >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > >> > > Don't you need to disable this when the device is un-assigned
> > > >> > > from the
> > > >> guest?
> > > >> > >
> > > >> >
> > > >> > I don't think this need to be disabled when device is un-assigned
> > > >> > from
> > > > guest.
> > > >> If host want to use device again, the host device driver need
> > > >> re-load, so whether disabling ltr/obff is up to host device driver.
> > > >>
> > > >> What if the driver isn't doing that?
> > > >
> > > > Make it clear, here host side do not be considered, host has its own
> > driver.
> > > > The only thing is to make sure ltr/obff is enabled before assigning
> > > > guest, so that benefit on power.
> > > >
> > > > Since device is owned by pciback again when it un-assigned from
> > > > guest, we need not disable explicitly.
> > >
> > > As you didn't answer my respective earlier question - _if_ this is a
> > > feature needing enabling (and parameter tweaking), I'd imply there are
> > > possible incompatibilities (i.e. reasons for not enabling this
> > > always), and hence this shouldn't be done universally (and with fixed
> > > values for the parameters) _and_ should be properly reset.
> > >
> > Only Xen administrator can hide a device by pciback, and can assign a device
> > to guest. These power feature such as ltr and obff should be enabled by a
> > sys-admin, I do not know which situation is a possible disabling these
> > features, and why sys-admin want to disable them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:41:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:41:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvt0-0000qI-HM; Tue, 22 May 2012 20:40:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWvsy-0000qD-QH
	for xen-devel@lists.xen.org; Tue, 22 May 2012 20:40:53 +0000
Received: from [85.158.143.35:43149] by server-3.bemta-4.messagelabs.com id
	C2/52-05853-4D9FBBF4; Tue, 22 May 2012 20:40:52 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337719247!16815354!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ0NjE5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18790 invoked from network); 22 May 2012 20:40:49 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 20:40:49 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4MKehq9001872
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 20:40:44 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4MKehoS003126
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 20:40:43 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4MKeghK018385; Tue, 22 May 2012 15:40:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 13:40:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7B8F7402FB; Tue, 22 May 2012 16:34:14 -0400 (EDT)
Date: Tue, 22 May 2012 16:34:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Zhang, Xiantao" <xiantao.zhang@intel.com>
Message-ID: <20120522203414.GA18877@phenom.dumpdata.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Hao, Xudong" <xudong.hao@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 01:57:44AM +0000, Zhang, Xiantao wrote:
> Hi, Jan/Konrad
>    Do you have further comments about this patch ?   Thanks!

Well .. What about making this be in the generic code? That way
both KVM and Xen can benefit? And also then the default values
don't have to show up in two places.


> Xiantao
> 
> > -----Original Message-----
> > From: Hao, Xudong
> > Sent: Wednesday, May 09, 2012 2:26 PM
> > To: Jan Beulich; Konrad Rzeszutek Wilk
> > Cc: xen-devel; Zhang, Xiantao
> > Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> > owned by pciback
> > 
> > > -----Original Message-----
> > > From: Jan Beulich [mailto:JBeulich@suse.com]
> > > Sent: Tuesday, May 08, 2012 5:42 PM
> > > To: Hao, Xudong; Konrad Rzeszutek Wilk
> > > Cc: xen-devel
> > > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> > > owned by pciback
> > >
> > > >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> > > >>  -----Original Message-----
> > > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] On Sun,
> > > >> May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> > > >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > >> > > Don't you need to disable this when the device is un-assigned
> > > >> > > from the
> > > >> guest?
> > > >> > >
> > > >> >
> > > >> > I don't think this need to be disabled when device is un-assigned
> > > >> > from
> > > > guest.
> > > >> If host want to use device again, the host device driver need
> > > >> re-load, so whether disabling ltr/obff is up to host device driver.
> > > >>
> > > >> What if the driver isn't doing that?
> > > >
> > > > Make it clear, here host side do not be considered, host has its own
> > driver.
> > > > The only thing is to make sure ltr/obff is enabled before assigning
> > > > guest, so that benefit on power.
> > > >
> > > > Since device is owned by pciback again when it un-assigned from
> > > > guest, we need not disable explicitly.
> > >
> > > As you didn't answer my respective earlier question - _if_ this is a
> > > feature needing enabling (and parameter tweaking), I'd imply there are
> > > possible incompatibilities (i.e. reasons for not enabling this
> > > always), and hence this shouldn't be done universally (and with fixed
> > > values for the parameters) _and_ should be properly reset.
> > >
> > Only Xen administrator can hide a device by pciback, and can assign a device
> > to guest. These power feature such as ltr and obff should be enabled by a
> > sys-admin, I do not know which situation is a possible disabling these
> > features, and why sys-admin want to disable them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:45:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:45:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvx7-0000zO-DT; Tue, 22 May 2012 20:45:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWvx5-0000zJ-St
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 20:45:08 +0000
Received: from [85.158.143.35:59306] by server-1.bemta-4.messagelabs.com id
	85/A4-00342-3DAFBBF4; Tue, 22 May 2012 20:45:07 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337719505!16724005!1
X-Originating-IP: [216.32.181.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6219 invoked from network); 22 May 2012 20:45:06 -0000
Received: from ch1ehsobe001.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.181)
	by server-6.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 20:45:06 -0000
Received: from mail148-ch1-R.bigfish.com (10.43.68.227) by
	CH1EHSOBE007.bigfish.com (10.43.70.57) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 20:44:50 +0000
Received: from mail148-ch1 (localhost [127.0.0.1])	by
	mail148-ch1-R.bigfish.com (Postfix) with ESMTP id 8BD6D1A0508;
	Tue, 22 May 2012 20:44:50 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail148-ch1 (localhost.localdomain [127.0.0.1]) by mail148-ch1
	(MessageSwitch) id 1337719489642306_30172;
	Tue, 22 May 2012 20:44:49 +0000 (UTC)
Received: from CH1EHSMHS015.bigfish.com (snatpool3.int.messaging.microsoft.com
	[10.43.68.229])	by mail148-ch1.bigfish.com (Postfix) with ESMTP id
	8D98F18032F;	Tue, 22 May 2012 20:44:49 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS015.bigfish.com (10.43.70.15) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 20:44:49 +0000
X-WSS-ID: 0M4FYZ1-01-KYE-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B85F102807B;	Tue, 22 May 2012 15:45:00 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 15:45:11 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 15:45:01 -0500
Received: from [10.224.148.104] (10.224.148.104) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	16:44:58 -0400
Message-ID: <4FBBFB0F.5070601@amd.com>
Date: Tue, 22 May 2012 22:46:07 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.26) Gecko/20120131 Lightning/1.0b2 Thunderbird/3.1.18
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>
References: <4FBBB9AF.6020704@amd.com> <4FBBC44B.9020007@goop.org>
In-Reply-To: <4FBBC44B.9020007@goop.org>
X-OriginatorOrg: amd.com
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 06:52 PM, Jeremy Fitzhardinge wrote:
> On 05/22/2012 09:07 AM, Andre Przywara wrote:
>> Hi,
>>
>> while testing some APERF/MPERF semantics I discovered that this
>> feature is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>> compile) and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
>> the patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we
>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>> sure if it's worth to do so.
>
> Seems reasonable to me.  Do all those RDMSR traps have a measurable
> performance effect?

I haven't tested this. I was more concerned about the invalid readouts 
from the MSRs from Dom0 side. One of our tests complained that the 
second of two consecutive APERF reads was actually lower than the first, 
violating the strict monotony requirement. Even if these negative values 
would be rare, I assume the differences are somewhat random if the 
readouts happen to come from different pCPUs.
Start "watch cpupower monitor" and compile a kernel in Dom0 to see what 
I mean...

>
> Also, is there a symbolic constant for that bit?

APERFMPERF is one of the scattered bits 
(arch/x86/kernel/cpu/scattered.c), so the existing constant uses the 
artificial Linux numbering. But right, for the next version I'd create a 
symbolic constant.

Regards,
Andre.

-- 
Andre Przywara
AMD-OSRC (Dresden)
Tel: x29712


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:45:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:45:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvx7-0000zO-DT; Tue, 22 May 2012 20:45:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWvx5-0000zJ-St
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 20:45:08 +0000
Received: from [85.158.143.35:59306] by server-1.bemta-4.messagelabs.com id
	85/A4-00342-3DAFBBF4; Tue, 22 May 2012 20:45:07 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337719505!16724005!1
X-Originating-IP: [216.32.181.181]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6219 invoked from network); 22 May 2012 20:45:06 -0000
Received: from ch1ehsobe001.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.181)
	by server-6.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 20:45:06 -0000
Received: from mail148-ch1-R.bigfish.com (10.43.68.227) by
	CH1EHSOBE007.bigfish.com (10.43.70.57) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 20:44:50 +0000
Received: from mail148-ch1 (localhost [127.0.0.1])	by
	mail148-ch1-R.bigfish.com (Postfix) with ESMTP id 8BD6D1A0508;
	Tue, 22 May 2012 20:44:50 +0000 (UTC)
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail148-ch1 (localhost.localdomain [127.0.0.1]) by mail148-ch1
	(MessageSwitch) id 1337719489642306_30172;
	Tue, 22 May 2012 20:44:49 +0000 (UTC)
Received: from CH1EHSMHS015.bigfish.com (snatpool3.int.messaging.microsoft.com
	[10.43.68.229])	by mail148-ch1.bigfish.com (Postfix) with ESMTP id
	8D98F18032F;	Tue, 22 May 2012 20:44:49 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS015.bigfish.com (10.43.70.15) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 20:44:49 +0000
X-WSS-ID: 0M4FYZ1-01-KYE-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B85F102807B;	Tue, 22 May 2012 15:45:00 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 15:45:11 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 15:45:01 -0500
Received: from [10.224.148.104] (10.224.148.104) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	16:44:58 -0400
Message-ID: <4FBBFB0F.5070601@amd.com>
Date: Tue, 22 May 2012 22:46:07 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.26) Gecko/20120131 Lightning/1.0b2 Thunderbird/3.1.18
MIME-Version: 1.0
To: Jeremy Fitzhardinge <jeremy@goop.org>
References: <4FBBB9AF.6020704@amd.com> <4FBBC44B.9020007@goop.org>
In-Reply-To: <4FBBC44B.9020007@goop.org>
X-OriginatorOrg: amd.com
Cc: xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 06:52 PM, Jeremy Fitzhardinge wrote:
> On 05/22/2012 09:07 AM, Andre Przywara wrote:
>> Hi,
>>
>> while testing some APERF/MPERF semantics I discovered that this
>> feature is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>> compile) and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
>> the patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we
>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>> sure if it's worth to do so.
>
> Seems reasonable to me.  Do all those RDMSR traps have a measurable
> performance effect?

I haven't tested this. I was more concerned about the invalid readouts 
from the MSRs from Dom0 side. One of our tests complained that the 
second of two consecutive APERF reads was actually lower than the first, 
violating the strict monotony requirement. Even if these negative values 
would be rare, I assume the differences are somewhat random if the 
readouts happen to come from different pCPUs.
Start "watch cpupower monitor" and compile a kernel in Dom0 to see what 
I mean...

>
> Also, is there a symbolic constant for that bit?

APERFMPERF is one of the scattered bits 
(arch/x86/kernel/cpu/scattered.c), so the existing constant uses the 
artificial Linux numbering. But right, for the next version I'd create a 
symbolic constant.

Regards,
Andre.

-- 
Andre Przywara
AMD-OSRC (Dresden)
Tel: x29712


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:48:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:48:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvzf-00016K-37; Tue, 22 May 2012 20:47:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@mimuw.edu.pl>) id 1SWvzd-00016D-Tv
	for xen-devel@lists.xen.org; Tue, 22 May 2012 20:47:46 +0000
Received: from [193.109.254.147:65391] by server-7.bemta-14.messagelabs.com id
	B2/01-01627-17BFBBF4; Tue, 22 May 2012 20:47:45 +0000
X-Env-Sender: marmarek@mimuw.edu.pl
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337719663!10600874!1
X-Originating-IP: [193.0.96.6]
X-SpamReason: No, hits=0.4 required=7.0 tests=DATE_IN_PAST_48_96
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16460 invoked from network); 22 May 2012 20:47:44 -0000
Received: from mail.mimuw.edu.pl (HELO mail.mimuw.edu.pl) (193.0.96.6)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 20:47:44 -0000
Received: from localhost (localhost [127.0.0.1] ident=amavis)
	by duch.mimuw.edu.pl (Postfix) with ESMTP id 3AB38655;
	Tue, 22 May 2012 22:47:43 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
Received: by duch.mimuw.edu.pl (Postfix, from userid 1575)
	id 29E8A626; Tue, 22 May 2012 22:47:42 +0200 (CEST)
In-Reply-To: <20120522194319.GA2691@phenom.dumpdata.com>
References: <20120522194319.GA2691@phenom.dumpdata.com>
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200
Organization: Invisible Things Lab
To: David Miller <davem@davemloft.net>
Message-Id: <20120522204742.29E8A626@duch.mimuw.edu.pl>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Ian.Campbell@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, netdev@vger.kernel.org,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xen.org, virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: [Xen-devel] [PATCH RESENT] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Netfront driver can be also useful in dom0, eg when all NICs are assigned to
some domU (aka driver domain). Then using netback in domU and netfront in dom0
is the only way to get network access in dom0.

Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/net/xen-netfront.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 0ebbb19..2027afe 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1962,9 +1962,6 @@ static int __init netif_init(void)
 	if (!xen_domain())
 		return -ENODEV;
 
-	if (xen_initial_domain())
-		return 0;
-
 	if (xen_hvm_domain() && !xen_platform_pci_unplug)
 		return -ENODEV;
 
@@ -1977,9 +1974,6 @@ module_init(netif_init);
 
 static void __exit netif_exit(void)
 {
-	if (xen_initial_domain())
-		return;
-
 	xenbus_unregister_driver(&netfront_driver);
 }
 module_exit(netif_exit);
-- 
1.7.4.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:48:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:48:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWvzf-00016K-37; Tue, 22 May 2012 20:47:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@mimuw.edu.pl>) id 1SWvzd-00016D-Tv
	for xen-devel@lists.xen.org; Tue, 22 May 2012 20:47:46 +0000
Received: from [193.109.254.147:65391] by server-7.bemta-14.messagelabs.com id
	B2/01-01627-17BFBBF4; Tue, 22 May 2012 20:47:45 +0000
X-Env-Sender: marmarek@mimuw.edu.pl
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337719663!10600874!1
X-Originating-IP: [193.0.96.6]
X-SpamReason: No, hits=0.4 required=7.0 tests=DATE_IN_PAST_48_96
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16460 invoked from network); 22 May 2012 20:47:44 -0000
Received: from mail.mimuw.edu.pl (HELO mail.mimuw.edu.pl) (193.0.96.6)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 20:47:44 -0000
Received: from localhost (localhost [127.0.0.1] ident=amavis)
	by duch.mimuw.edu.pl (Postfix) with ESMTP id 3AB38655;
	Tue, 22 May 2012 22:47:43 +0200 (CEST)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
Received: by duch.mimuw.edu.pl (Postfix, from userid 1575)
	id 29E8A626; Tue, 22 May 2012 22:47:42 +0200 (CEST)
In-Reply-To: <20120522194319.GA2691@phenom.dumpdata.com>
References: <20120522194319.GA2691@phenom.dumpdata.com>
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200
Organization: Invisible Things Lab
To: David Miller <davem@davemloft.net>
Message-Id: <20120522204742.29E8A626@duch.mimuw.edu.pl>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Ian.Campbell@citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, netdev@vger.kernel.org,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xen.org, virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: [Xen-devel] [PATCH RESENT] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Netfront driver can be also useful in dom0, eg when all NICs are assigned to
some domU (aka driver domain). Then using netback in domU and netfront in dom0
is the only way to get network access in dom0.

Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/net/xen-netfront.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 0ebbb19..2027afe 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1962,9 +1962,6 @@ static int __init netif_init(void)
 	if (!xen_domain())
 		return -ENODEV;
 
-	if (xen_initial_domain())
-		return 0;
-
 	if (xen_hvm_domain() && !xen_platform_pci_unplug)
 		return -ENODEV;
 
@@ -1977,9 +1974,6 @@ module_init(netif_init);
 
 static void __exit netif_exit(void)
 {
-	if (xen_initial_domain())
-		return;
-
 	xenbus_unregister_driver(&netfront_driver);
 }
 module_exit(netif_exit);
-- 
1.7.4.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:53:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:53:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWw4p-0001Hp-Rc; Tue, 22 May 2012 20:53:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SWw4o-0001Hj-5u
	for xen-devel@lists.xen.org; Tue, 22 May 2012 20:53:06 +0000
Received: from [85.158.143.99:26616] by server-3.bemta-4.messagelabs.com id
	2F/8E-05853-1BCFBBF4; Tue, 22 May 2012 20:53:05 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337719982!28960245!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25920 invoked from network); 22 May 2012 20:53:04 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 20:53:04 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4MKolvw017832
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Tue, 22 May 2012 13:50:50 -0700
Date: Tue, 22 May 2012 16:50:47 -0400 (EDT)
Message-Id: <20120522.165047.1026251950879022093.davem@davemloft.net>
To: marmarek@invisiblethingslab.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <20120522204742.29E8A626@duch.mimuw.edu.pl>
References: <20120522194319.GA2691@phenom.dumpdata.com>
	<20120522204742.29E8A626@duch.mimuw.edu.pl>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Tue, 22 May 2012 13:50:51 -0700 (PDT)
Cc: jeremy@goop.org, Ian.Campbell@citrix.com, konrad.wilk@oracle.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RESENT] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200

> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Applied, thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 20:53:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 20:53:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWw4p-0001Hp-Rc; Tue, 22 May 2012 20:53:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SWw4o-0001Hj-5u
	for xen-devel@lists.xen.org; Tue, 22 May 2012 20:53:06 +0000
Received: from [85.158.143.99:26616] by server-3.bemta-4.messagelabs.com id
	2F/8E-05853-1BCFBBF4; Tue, 22 May 2012 20:53:05 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337719982!28960245!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25920 invoked from network); 22 May 2012 20:53:04 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 22 May 2012 20:53:04 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4MKolvw017832
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Tue, 22 May 2012 13:50:50 -0700
Date: Tue, 22 May 2012 16:50:47 -0400 (EDT)
Message-Id: <20120522.165047.1026251950879022093.davem@davemloft.net>
To: marmarek@invisiblethingslab.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <20120522204742.29E8A626@duch.mimuw.edu.pl>
References: <20120522194319.GA2691@phenom.dumpdata.com>
	<20120522204742.29E8A626@duch.mimuw.edu.pl>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Tue, 22 May 2012 13:50:51 -0700 (PDT)
Cc: jeremy@goop.org, Ian.Campbell@citrix.com, konrad.wilk@oracle.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH RESENT] xen: do not disable netfront in dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Marek Marczykowski <marmarek@invisiblethingslab.com>
Date: Sun, 20 May 2012 13:45:10 +0200

> Netfront driver can be also useful in dom0, eg when all NICs are assigned to
> some domU (aka driver domain). Then using netback in domU and netfront in dom0
> is the only way to get network access in dom0.
> 
> Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Applied, thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 21:01:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 21:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWwC4-0001Sh-P4; Tue, 22 May 2012 21:00:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWwC3-0001Sc-PR
	for xen-devel@lists.xen.org; Tue, 22 May 2012 21:00:36 +0000
Received: from [85.158.138.51:15243] by server-4.bemta-3.messagelabs.com id
	E9/1F-15341-27EFBBF4; Tue, 22 May 2012 21:00:34 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337720433!19660295!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19643 invoked from network); 22 May 2012 21:00:33 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 21:00:33 -0000
Received: by lahc1 with SMTP id c1so5830813lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 14:00:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=WMKHdmNk50c9vcjeBMo6pVnZI1JNQ7BcWmFQzaabWog=;
	b=wmziJwlYdZ9F3gLOkaJ11xS9njjthN2RG2HaGRc0sO8+0rs+9+56vpEXdd4YzL3ZCx
	WJCujwOnEHofCFdEzPyVQ9wf7YXHRD03Gc0JSiJQ7BZQJSBdLzufjlWrc/xYJ0wxQwcG
	8Q1nx6dDkpnCiLQUeFHLbVp5nQG1dbLcUaHVTZDqajmzIiFy+IU3G+goz0GSxjRuJkB2
	MNb3sdw8krFzyTUwTv78nXIIRUYh8x2cuSXacF69gCScfrTuk/iuX6jfvuM3HVamf+vD
	v5+rqsmTuoYVZdQnQirMcAEIcEctaDrpABPaDTuIcO0Dfu/sRbpEymCUO+lS3T4JCq5V
	Ek3A==
MIME-Version: 1.0
Received: by 10.112.103.194 with SMTP id fy2mr10731980lbb.64.1337720433044;
	Tue, 22 May 2012 14:00:33 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 14:00:33 -0700 (PDT)
In-Reply-To: <CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
Date: Tue, 22 May 2012 17:00:33 -0400
X-Google-Sender-Auth: SsMpSSbH-t6K5cJF-Vt5-_jXRXE
Message-ID: <CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: keir@xen.org, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I've bisected this to the following commit in the xen-unstable git tree.

I'll be able to dive in a little deeper tomorrow.
If you see anything here that looks suspicious to the crash
referenced... let me know.

-Ben

e4a31205766d518276d0fbc1780bcd63db1a502d is the first bad commit
commit e4a31205766d518276d0fbc1780bcd63db1a502d
Author: Keir Fraser <keir@xen.org>
Date:   Thu Mar 22 12:20:13 2012 +0000

    Introduce system_state variable.

    Use it to replace x86-specific early_boot boolean variable.

    Also use it to detect suspend/resume case during cpu offline/online
    to avoid unnecessarily breaking vcpu and cpupool affinities.

    Signed-off-by: Keir Fraser <keir@xen.org>
    Acked-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


http://xenbits.xen.org/gitweb/?p=xen-unstable.git;a=commit;h=e4a31205766d518276d0fbc1780bcd63db1a502d

or, if you prefer mercurial:
http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/d5ccb2d1dbd1



On Tue, May 22, 2012 at 2:26 PM, Ben Guthro <ben@guthro.net> wrote:
> OK, I'll compare what got committed with our old patches against 4.0 &
> see if there are any obvious differences.
>
> Tom Goetz wrote those, originally - and he's on vacation - so
> specifics about them may have to wait until he returns.
>
>
>
> On Tue, May 22, 2012 at 2:00 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
>> On Tue, May 22, 2012 at 01:55:25PM -0400, Ben Guthro wrote:
>>> Are you referring to kernel, or Xen patches?
>>
>> Xen.
>>>
>>> I'm currently seeing the issue in question with the xen-unstable tip
>>> none of our patches pushed...
>>
>> I pushed the serial ones.
>>
>>> ...or are you suggesting that the patch, as committed is incorrect?
>>
>> I just tried to suspend and resume Xen 4.1 with and without serial console
>> and it only works when there is no serial console.
>>
>> I think something is buggy. Not sure what (this was with a normal
>> built-in motherboard serial port).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 21:01:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 21:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWwC4-0001Sh-P4; Tue, 22 May 2012 21:00:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SWwC3-0001Sc-PR
	for xen-devel@lists.xen.org; Tue, 22 May 2012 21:00:36 +0000
Received: from [85.158.138.51:15243] by server-4.bemta-3.messagelabs.com id
	E9/1F-15341-27EFBBF4; Tue, 22 May 2012 21:00:34 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337720433!19660295!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19643 invoked from network); 22 May 2012 21:00:33 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 21:00:33 -0000
Received: by lahc1 with SMTP id c1so5830813lah.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 14:00:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=WMKHdmNk50c9vcjeBMo6pVnZI1JNQ7BcWmFQzaabWog=;
	b=wmziJwlYdZ9F3gLOkaJ11xS9njjthN2RG2HaGRc0sO8+0rs+9+56vpEXdd4YzL3ZCx
	WJCujwOnEHofCFdEzPyVQ9wf7YXHRD03Gc0JSiJQ7BZQJSBdLzufjlWrc/xYJ0wxQwcG
	8Q1nx6dDkpnCiLQUeFHLbVp5nQG1dbLcUaHVTZDqajmzIiFy+IU3G+goz0GSxjRuJkB2
	MNb3sdw8krFzyTUwTv78nXIIRUYh8x2cuSXacF69gCScfrTuk/iuX6jfvuM3HVamf+vD
	v5+rqsmTuoYVZdQnQirMcAEIcEctaDrpABPaDTuIcO0Dfu/sRbpEymCUO+lS3T4JCq5V
	Ek3A==
MIME-Version: 1.0
Received: by 10.112.103.194 with SMTP id fy2mr10731980lbb.64.1337720433044;
	Tue, 22 May 2012 14:00:33 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Tue, 22 May 2012 14:00:33 -0700 (PDT)
In-Reply-To: <CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
Date: Tue, 22 May 2012 17:00:33 -0400
X-Google-Sender-Auth: SsMpSSbH-t6K5cJF-Vt5-_jXRXE
Message-ID: <CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: keir@xen.org, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I've bisected this to the following commit in the xen-unstable git tree.

I'll be able to dive in a little deeper tomorrow.
If you see anything here that looks suspicious to the crash
referenced... let me know.

-Ben

e4a31205766d518276d0fbc1780bcd63db1a502d is the first bad commit
commit e4a31205766d518276d0fbc1780bcd63db1a502d
Author: Keir Fraser <keir@xen.org>
Date:   Thu Mar 22 12:20:13 2012 +0000

    Introduce system_state variable.

    Use it to replace x86-specific early_boot boolean variable.

    Also use it to detect suspend/resume case during cpu offline/online
    to avoid unnecessarily breaking vcpu and cpupool affinities.

    Signed-off-by: Keir Fraser <keir@xen.org>
    Acked-by: Juergen Gross <juergen.gross@ts.fujitsu.com>


http://xenbits.xen.org/gitweb/?p=xen-unstable.git;a=commit;h=e4a31205766d518276d0fbc1780bcd63db1a502d

or, if you prefer mercurial:
http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/d5ccb2d1dbd1



On Tue, May 22, 2012 at 2:26 PM, Ben Guthro <ben@guthro.net> wrote:
> OK, I'll compare what got committed with our old patches against 4.0 &
> see if there are any obvious differences.
>
> Tom Goetz wrote those, originally - and he's on vacation - so
> specifics about them may have to wait until he returns.
>
>
>
> On Tue, May 22, 2012 at 2:00 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
>> On Tue, May 22, 2012 at 01:55:25PM -0400, Ben Guthro wrote:
>>> Are you referring to kernel, or Xen patches?
>>
>> Xen.
>>>
>>> I'm currently seeing the issue in question with the xen-unstable tip
>>> none of our patches pushed...
>>
>> I pushed the serial ones.
>>
>>> ...or are you suggesting that the patch, as committed is incorrect?
>>
>> I just tried to suspend and resume Xen 4.1 with and without serial console
>> and it only works when there is no serial console.
>>
>> I think something is buggy. Not sure what (this was with a normal
>> built-in motherboard serial port).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 21:01:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 21:01:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWwCP-0001TY-5s; Tue, 22 May 2012 21:00:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWwCN-0001TM-RW
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 21:00:56 +0000
Received: from [193.109.254.147:24899] by server-6.bemta-14.messagelabs.com id
	D5/91-04960-78EFBBF4; Tue, 22 May 2012 21:00:55 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337720453!10636423!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20543 invoked from network); 22 May 2012 21:00:54 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-4.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 21:00:54 -0000
Received: from mail4-am1-R.bigfish.com (10.3.201.240) by
	AM1EHSOBE004.bigfish.com (10.3.204.24) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 21:00:39 +0000
Received: from mail4-am1 (localhost [127.0.0.1])	by mail4-am1-R.bigfish.com
	(Postfix) with ESMTP id 0177E1E0316;
	Tue, 22 May 2012 21:00:39 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275bh8275dhz2dh668h839hd25he5bhf0ah)
Received: from mail4-am1 (localhost.localdomain [127.0.0.1]) by mail4-am1
	(MessageSwitch) id 1337720437475017_8730;
	Tue, 22 May 2012 21:00:37 +0000 (UTC)
Received: from AM1EHSMHS006.bigfish.com (unknown [10.3.201.240])	by
	mail4-am1.bigfish.com (Postfix) with ESMTP id 72264160044;
	Tue, 22 May 2012 21:00:37 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS006.bigfish.com (10.3.207.106) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 21:00:36 +0000
X-WSS-ID: 0M4FZPB-01-M0A-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2D8321028076;	Tue, 22 May 2012 16:00:47 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 16:00:58 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 16:00:48 -0500
Received: from [10.224.148.104] (10.224.148.104) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	17:00:46 -0400
Message-ID: <4FBBFEC9.6040100@amd.com>
Date: Tue, 22 May 2012 23:02:01 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.26) Gecko/20120131 Lightning/1.0b2 Thunderbird/3.1.18
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
In-Reply-To: <20120522171858.GB19601@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>> Hi,
>>
>> while testing some APERF/MPERF semantics I discovered that this
>> feature is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>> compile) and bogus values due to VCPU migration during the
>
> Can you point me to the Linux scheduler code that does this? Thanks.

arch/x86/kernel/cpu/sched.c contains code to read out and compute 
APERF/MPERF registers. I added a Xen debug-key to dump a usage counter 
added in traps.c and thus could prove that it is actually the kernel 
that accesses these registers.
As far as I understood this the idea is to learn about boosting and 
down-clocking (P-states) to get a fairer view on the actual computing 
time a process consumed.

>> measurement.
>> The attached patch explicitly disables this CPU capability inside
>> the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
>> with the patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we
>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am
>> not sure if it's worth to do so.
>>
>> Awaiting your comments.
>>
>> Regards,
>> Andre.
>>
>> P.S. Of course this doesn't fix pure userland software like
>> cpupower, but I would consider this in the user's responsibility to
>
> Which would not work anymore as the cpufreq support is disabled
> when it boots under Xen.

Do you mean with "anymore" in a future kernel? I tested this on 3.4.0 
and cpupower monitor worked fine. Right, cpufreq is not enabled, but 
cpupower uses the /dev/cpu/<n>/msr device file to directly read the 
MSRs. So I get this output if run on an idle Dom0:

     |Mperf
CPU | C0   | Cx   | Freq
    0|  0.10| 99.90|  3473
....

Regards,
Andre.

>
>> not use these tools in Dom0, but instead use xenpm.
>>
>> --
>> Andre Przywara
>> AMD-Operating System Research Center (OSRC), Dresden, Germany
>
>> commit e802e47d85314b4541288e4a19d057e2ea885a28
>> Author: Andre Przywara<andre.przywara@amd.com>
>> Date:   Tue May 22 15:13:07 2012 +0200
>>
>>      filter APERFMPERF feature in Xen to avoid kernel internal usage
>>
>>      Signed-off-by: Andre Przywara<andre.przywara@amd.com>
>>
>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>> index 95dccce..71252d5 100644
>> --- a/arch/x86/xen/enlighten.c
>> +++ b/arch/x86/xen/enlighten.c
>> @@ -240,6 +240,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>>   		*dx = cpuid_leaf5_edx_val;
>>   		return;
>>
>> +	case 6:
>> +		/* Disabling APERFMPERF for kernel usage */
>> +		maskecx = ~(1U<<  0);
>> +		break;
>> +
>>   	case 0xb:
>>   		/* Suppress extended topology stuff */
>>   		maskebx = 0;
>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
>


-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448-3567-12


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 21:01:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 21:01:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWwCP-0001TY-5s; Tue, 22 May 2012 21:00:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWwCN-0001TM-RW
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 21:00:56 +0000
Received: from [193.109.254.147:24899] by server-6.bemta-14.messagelabs.com id
	D5/91-04960-78EFBBF4; Tue, 22 May 2012 21:00:55 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337720453!10636423!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20543 invoked from network); 22 May 2012 21:00:54 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-4.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 21:00:54 -0000
Received: from mail4-am1-R.bigfish.com (10.3.201.240) by
	AM1EHSOBE004.bigfish.com (10.3.204.24) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 21:00:39 +0000
Received: from mail4-am1 (localhost [127.0.0.1])	by mail4-am1-R.bigfish.com
	(Postfix) with ESMTP id 0177E1E0316;
	Tue, 22 May 2012 21:00:39 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275bh8275dhz2dh668h839hd25he5bhf0ah)
Received: from mail4-am1 (localhost.localdomain [127.0.0.1]) by mail4-am1
	(MessageSwitch) id 1337720437475017_8730;
	Tue, 22 May 2012 21:00:37 +0000 (UTC)
Received: from AM1EHSMHS006.bigfish.com (unknown [10.3.201.240])	by
	mail4-am1.bigfish.com (Postfix) with ESMTP id 72264160044;
	Tue, 22 May 2012 21:00:37 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS006.bigfish.com (10.3.207.106) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 21:00:36 +0000
X-WSS-ID: 0M4FZPB-01-M0A-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2D8321028076;	Tue, 22 May 2012 16:00:47 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 16:00:58 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 16:00:48 -0500
Received: from [10.224.148.104] (10.224.148.104) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	17:00:46 -0400
Message-ID: <4FBBFEC9.6040100@amd.com>
Date: Tue, 22 May 2012 23:02:01 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.26) Gecko/20120131 Lightning/1.0b2 Thunderbird/3.1.18
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
In-Reply-To: <20120522171858.GB19601@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>> Hi,
>>
>> while testing some APERF/MPERF semantics I discovered that this
>> feature is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>> compile) and bogus values due to VCPU migration during the
>
> Can you point me to the Linux scheduler code that does this? Thanks.

arch/x86/kernel/cpu/sched.c contains code to read out and compute 
APERF/MPERF registers. I added a Xen debug-key to dump a usage counter 
added in traps.c and thus could prove that it is actually the kernel 
that accesses these registers.
As far as I understood this the idea is to learn about boosting and 
down-clocking (P-states) to get a fairer view on the actual computing 
time a process consumed.

>> measurement.
>> The attached patch explicitly disables this CPU capability inside
>> the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
>> with the patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we
>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am
>> not sure if it's worth to do so.
>>
>> Awaiting your comments.
>>
>> Regards,
>> Andre.
>>
>> P.S. Of course this doesn't fix pure userland software like
>> cpupower, but I would consider this in the user's responsibility to
>
> Which would not work anymore as the cpufreq support is disabled
> when it boots under Xen.

Do you mean with "anymore" in a future kernel? I tested this on 3.4.0 
and cpupower monitor worked fine. Right, cpufreq is not enabled, but 
cpupower uses the /dev/cpu/<n>/msr device file to directly read the 
MSRs. So I get this output if run on an idle Dom0:

     |Mperf
CPU | C0   | Cx   | Freq
    0|  0.10| 99.90|  3473
....

Regards,
Andre.

>
>> not use these tools in Dom0, but instead use xenpm.
>>
>> --
>> Andre Przywara
>> AMD-Operating System Research Center (OSRC), Dresden, Germany
>
>> commit e802e47d85314b4541288e4a19d057e2ea885a28
>> Author: Andre Przywara<andre.przywara@amd.com>
>> Date:   Tue May 22 15:13:07 2012 +0200
>>
>>      filter APERFMPERF feature in Xen to avoid kernel internal usage
>>
>>      Signed-off-by: Andre Przywara<andre.przywara@amd.com>
>>
>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>> index 95dccce..71252d5 100644
>> --- a/arch/x86/xen/enlighten.c
>> +++ b/arch/x86/xen/enlighten.c
>> @@ -240,6 +240,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>>   		*dx = cpuid_leaf5_edx_val;
>>   		return;
>>
>> +	case 6:
>> +		/* Disabling APERFMPERF for kernel usage */
>> +		maskecx = ~(1U<<  0);
>> +		break;
>> +
>>   	case 0xb:
>>   		/* Suppress extended topology stuff */
>>   		maskebx = 0;
>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
>


-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448-3567-12


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 21:07:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 21:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWwIR-0001kg-0u; Tue, 22 May 2012 21:07:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWwIO-0001kb-SV
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 21:07:09 +0000
Received: from [85.158.143.99:49953] by server-2.bemta-4.messagelabs.com id
	08/3D-12211-CFFFBBF4; Tue, 22 May 2012 21:07:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337720826!21753282!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7615 invoked from network); 22 May 2012 21:07:07 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 21:07:07 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ML71W5001980
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 21:07:01 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ML70oZ023755
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 21:07:00 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ML6xD3025037; Tue, 22 May 2012 16:06:59 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 14:06:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 89E29402FB; Tue, 22 May 2012 17:00:31 -0400 (EDT)
Date: Tue, 22 May 2012 17:00:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120522210031.GA25983@phenom.dumpdata.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBBFEC9.6040100@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
> >On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
> >>Hi,
> >>
> >>while testing some APERF/MPERF semantics I discovered that this
> >>feature is enabled in Xen Dom0, but is not reliable.
> >>The Linux kernel's scheduler uses this feature if it sees the CPUID
> >>bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> >>compile) and bogus values due to VCPU migration during the
> >
> >Can you point me to the Linux scheduler code that does this? Thanks.
> 
> arch/x86/kernel/cpu/sched.c contains code to read out and compute
> APERF/MPERF registers. I added a Xen debug-key to dump a usage
> counter added in traps.c and thus could prove that it is actually
> the kernel that accesses these registers.
> As far as I understood this the idea is to learn about boosting and
> down-clocking (P-states) to get a fairer view on the actual
> computing time a process consumed.

Looks like its looking for this:

X86_FEATURE_APERFMPERF

Perhaps masking that should do it? Something along this in enlighten.c:

         cpuid_leaf1_edx_mask =
                 ~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
                   (1 << X86_FEATURE_MCA)  |  /* disable MCA */
                   (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
                   (1 << X86_FEATURE_ACC));   /* thermal monitoring

would be more appropiate?

Or is that attribute on a different leaf?
> 
> >>measurement.
> >>The attached patch explicitly disables this CPU capability inside
> >>the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
> >>with the patch applied.
> >>I am not sure if the PVOPS code is the right place to fix this, we
> >>could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> >>Also when the Dom0 VCPUs are pinned, we could allow this, but I am
> >>not sure if it's worth to do so.
> >>
> >>Awaiting your comments.
> >>
> >>Regards,
> >>Andre.
> >>
> >>P.S. Of course this doesn't fix pure userland software like
> >>cpupower, but I would consider this in the user's responsibility to
> >
> >Which would not work anymore as the cpufreq support is disabled
> >when it boots under Xen.
> 
> Do you mean with "anymore" in a future kernel? I tested this on
> 3.4.0 and cpupower monitor worked fine. Right, cpufreq is not
> enabled, but cpupower uses the /dev/cpu/<n>/msr device file to
> directly read the MSRs. So I get this output if run on an idle Dom0:

Ahh. Neat. Will have to play with that.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 21:07:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 21:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWwIR-0001kg-0u; Tue, 22 May 2012 21:07:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SWwIO-0001kb-SV
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 21:07:09 +0000
Received: from [85.158.143.99:49953] by server-2.bemta-4.messagelabs.com id
	08/3D-12211-CFFFBBF4; Tue, 22 May 2012 21:07:08 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337720826!21753282!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0NjUyNQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7615 invoked from network); 22 May 2012 21:07:07 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 22 May 2012 21:07:07 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ML71W5001980
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 22 May 2012 21:07:01 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ML70oZ023755
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 22 May 2012 21:07:00 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ML6xD3025037; Tue, 22 May 2012 16:06:59 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 22 May 2012 14:06:59 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 89E29402FB; Tue, 22 May 2012 17:00:31 -0400 (EDT)
Date: Tue, 22 May 2012 17:00:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120522210031.GA25983@phenom.dumpdata.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBBFEC9.6040100@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
> >On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
> >>Hi,
> >>
> >>while testing some APERF/MPERF semantics I discovered that this
> >>feature is enabled in Xen Dom0, but is not reliable.
> >>The Linux kernel's scheduler uses this feature if it sees the CPUID
> >>bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> >>compile) and bogus values due to VCPU migration during the
> >
> >Can you point me to the Linux scheduler code that does this? Thanks.
> 
> arch/x86/kernel/cpu/sched.c contains code to read out and compute
> APERF/MPERF registers. I added a Xen debug-key to dump a usage
> counter added in traps.c and thus could prove that it is actually
> the kernel that accesses these registers.
> As far as I understood this the idea is to learn about boosting and
> down-clocking (P-states) to get a fairer view on the actual
> computing time a process consumed.

Looks like its looking for this:

X86_FEATURE_APERFMPERF

Perhaps masking that should do it? Something along this in enlighten.c:

         cpuid_leaf1_edx_mask =
                 ~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
                   (1 << X86_FEATURE_MCA)  |  /* disable MCA */
                   (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
                   (1 << X86_FEATURE_ACC));   /* thermal monitoring

would be more appropiate?

Or is that attribute on a different leaf?
> 
> >>measurement.
> >>The attached patch explicitly disables this CPU capability inside
> >>the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
> >>with the patch applied.
> >>I am not sure if the PVOPS code is the right place to fix this, we
> >>could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> >>Also when the Dom0 VCPUs are pinned, we could allow this, but I am
> >>not sure if it's worth to do so.
> >>
> >>Awaiting your comments.
> >>
> >>Regards,
> >>Andre.
> >>
> >>P.S. Of course this doesn't fix pure userland software like
> >>cpupower, but I would consider this in the user's responsibility to
> >
> >Which would not work anymore as the cpufreq support is disabled
> >when it boots under Xen.
> 
> Do you mean with "anymore" in a future kernel? I tested this on
> 3.4.0 and cpupower monitor worked fine. Right, cpufreq is not
> enabled, but cpupower uses the /dev/cpu/<n>/msr device file to
> directly read the MSRs. So I get this output if run on an idle Dom0:

Ahh. Neat. Will have to play with that.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 22:16:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:16:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxMi-00029f-TK; Tue, 22 May 2012 22:15:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWxMh-00029a-BH
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:15:39 +0000
Received: from [193.109.254.147:30436] by server-7.bemta-14.messagelabs.com id
	1E/B7-01627-A001CBF4; Tue, 22 May 2012 22:15:38 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337724937!9976902!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19938 invoked from network); 22 May 2012 22:15:37 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-8.tower-27.messagelabs.com with SMTP;
	22 May 2012 22:15:37 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78083508; Wed, 23 May 2012 00:15:37 +0200
Message-ID: <1337724930.27368.25.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 00:15:30 +0200
In-Reply-To: <4FBB890A.4060507@ts.fujitsu.com>
References: <953383741ff44d97587c.1337678214@nehalem1>
	<1337689856.10118.100.camel@zakaz.uk.xensource.com>
	<4FBB890A.4060507@ts.fujitsu.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8660686719987923028=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============8660686719987923028==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-Wek0R7nzfBKqsKKCQrbm"


--=-Wek0R7nzfBKqsKKCQrbm
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 14:39 +0200, Juergen Gross wrote:
> > This interface really makes libxl_sched_params differ from all the othe=
r
> > libxl structs (which have a public _init function and an internal
> > setdefaults function). I'm not really sure its justified either, I was
> > under the impression that you'd found that there were useful
> > discriminating values?
>=20
> Dario opted for this solution, so I proposed a patch implementing it.
> I prefer this solution, too, as it isn't exporting scheduler internals to
> the tools.
>=20
Yep. I agree with Ian that having two different procedures for the first
as compared to the subsequent operations on the scheduling parameters is
bad, but still, as a matter of my personal taste, I'd prefer no to have
things belonging to the hypervisor/scheduler replicated in the
toolstack, although they're just simple default values. It's still
something you need to always remember to check for consistency, or bad
things will happen! :-/

However, Ian's approach seems clean and nice as well, and I'm not really
sure which one I like most, so don't count me when deciding, I'm fine
with both.

> >>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> >> libxl_sched_params *scparams)
> >>   {
> >>       libxl_ctx *ctx =3D libxl__gc_owner(gc);
> >> -    libxl_scheduler sched;
> >>       libxl_sched_sedf_domain sedf_info;
> >>       libxl_sched_credit_domain credit_info;
> >>       libxl_sched_credit2_domain credit2_info;
> >>       int ret;
> >>
> >> -    sched =3D libxl_get_scheduler (ctx);
> >> -    switch (sched) {
> >> +    switch (scparams->sched) {
> > What happens if scparams->sched is not the scheduler used for this
> > domain? Should it either be checked or set somewhere?
>=20
> The check would be the same as the original setting of scparams->sched.
> Setting of the scheduler parameters will be rejected by the hypervisor if=
 the
> scheduler does not match.
>=20
I was thinking this should go through finding out what domid's cpupool
is and then checking that scheduler, as it is being done somewhere
else... Isn't this the case?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-Wek0R7nzfBKqsKKCQrbm
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8EAIACgkQk4XaBE3IOsT/rgCgk6IzEgypMZxft8J78Selodw3
KWAAniUUSex63HTbob7mC7hnkYTzkP0j
=G/0p
-----END PGP SIGNATURE-----

--=-Wek0R7nzfBKqsKKCQrbm--



--===============8660686719987923028==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8660686719987923028==--



From xen-devel-bounces@lists.xen.org Tue May 22 22:16:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:16:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxMi-00029f-TK; Tue, 22 May 2012 22:15:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWxMh-00029a-BH
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:15:39 +0000
Received: from [193.109.254.147:30436] by server-7.bemta-14.messagelabs.com id
	1E/B7-01627-A001CBF4; Tue, 22 May 2012 22:15:38 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337724937!9976902!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19938 invoked from network); 22 May 2012 22:15:37 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-8.tower-27.messagelabs.com with SMTP;
	22 May 2012 22:15:37 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78083508; Wed, 23 May 2012 00:15:37 +0200
Message-ID: <1337724930.27368.25.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 00:15:30 +0200
In-Reply-To: <4FBB890A.4060507@ts.fujitsu.com>
References: <953383741ff44d97587c.1337678214@nehalem1>
	<1337689856.10118.100.camel@zakaz.uk.xensource.com>
	<4FBB890A.4060507@ts.fujitsu.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 3 of 3] full support of setting scheduler
 parameters on domain	creation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8660686719987923028=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============8660686719987923028==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-Wek0R7nzfBKqsKKCQrbm"


--=-Wek0R7nzfBKqsKKCQrbm
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 14:39 +0200, Juergen Gross wrote:
> > This interface really makes libxl_sched_params differ from all the othe=
r
> > libxl structs (which have a public _init function and an internal
> > setdefaults function). I'm not really sure its justified either, I was
> > under the impression that you'd found that there were useful
> > discriminating values?
>=20
> Dario opted for this solution, so I proposed a patch implementing it.
> I prefer this solution, too, as it isn't exporting scheduler internals to
> the tools.
>=20
Yep. I agree with Ian that having two different procedures for the first
as compared to the subsequent operations on the scheduling parameters is
bad, but still, as a matter of my personal taste, I'd prefer no to have
things belonging to the hypervisor/scheduler replicated in the
toolstack, although they're just simple default values. It's still
something you need to always remember to check for consistency, or bad
things will happen! :-/

However, Ian's approach seems clean and nice as well, and I'm not really
sure which one I like most, so don't count me when deciding, I'm fine
with both.

> >>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> >> libxl_sched_params *scparams)
> >>   {
> >>       libxl_ctx *ctx =3D libxl__gc_owner(gc);
> >> -    libxl_scheduler sched;
> >>       libxl_sched_sedf_domain sedf_info;
> >>       libxl_sched_credit_domain credit_info;
> >>       libxl_sched_credit2_domain credit2_info;
> >>       int ret;
> >>
> >> -    sched =3D libxl_get_scheduler (ctx);
> >> -    switch (sched) {
> >> +    switch (scparams->sched) {
> > What happens if scparams->sched is not the scheduler used for this
> > domain? Should it either be checked or set somewhere?
>=20
> The check would be the same as the original setting of scparams->sched.
> Setting of the scheduler parameters will be rejected by the hypervisor if=
 the
> scheduler does not match.
>=20
I was thinking this should go through finding out what domid's cpupool
is and then checking that scheduler, as it is being done somewhere
else... Isn't this the case?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-Wek0R7nzfBKqsKKCQrbm
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8EAIACgkQk4XaBE3IOsT/rgCgk6IzEgypMZxft8J78Selodw3
KWAAniUUSex63HTbob7mC7hnkYTzkP0j
=G/0p
-----END PGP SIGNATURE-----

--=-Wek0R7nzfBKqsKKCQrbm--



--===============8660686719987923028==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8660686719987923028==--



From xen-devel-bounces@lists.xen.org Tue May 22 22:24:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:24:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxUV-0002PR-AT; Tue, 22 May 2012 22:23:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWxUU-0002PM-2h
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:23:42 +0000
Received: from [85.158.143.99:50882] by server-2.bemta-4.messagelabs.com id
	47/9C-12211-DE11CBF4; Tue, 22 May 2012 22:23:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337725418!28740853!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18277 invoked from network); 22 May 2012 22:23:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 22:23:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,641,1330905600"; d="scan'208";a="12613373"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 22:23:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 23:23:37 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWxUP-0002AZ-Op;
	Tue, 22 May 2012 22:23:37 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWxUP-0008Oq-AG;
	Tue, 22 May 2012 23:23:37 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12956-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 23:23:37 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12956: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12956 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12956/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12951

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  ab86fc0e2b45
baseline version:
 xen                  238900a4ed22

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=ab86fc0e2b45
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable ab86fc0e2b45
+ branch=xen-unstable
+ revision=ab86fc0e2b45
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r ab86fc0e2b45 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 4 changesets with 5 changes to 2 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 22:24:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:24:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxUV-0002PR-AT; Tue, 22 May 2012 22:23:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SWxUU-0002PM-2h
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:23:42 +0000
Received: from [85.158.143.99:50882] by server-2.bemta-4.messagelabs.com id
	47/9C-12211-DE11CBF4; Tue, 22 May 2012 22:23:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337725418!28740853!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTY5OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18277 invoked from network); 22 May 2012 22:23:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 22:23:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,641,1330905600"; d="scan'208";a="12613373"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	22 May 2012 22:23:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 22 May 2012 23:23:37 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SWxUP-0002AZ-Op;
	Tue, 22 May 2012 22:23:37 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SWxUP-0008Oq-AG;
	Tue, 22 May 2012 23:23:37 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12956-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 22 May 2012 23:23:37 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12956: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12956 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12956/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2            fail like 12951

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  ab86fc0e2b45
baseline version:
 xen                  238900a4ed22

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=ab86fc0e2b45
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable ab86fc0e2b45
+ branch=xen-unstable
+ revision=ab86fc0e2b45
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r ab86fc0e2b45 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 4 changesets with 5 changes to 2 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 22:43:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:43:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxnH-0002ar-33; Tue, 22 May 2012 22:43:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWxnF-0002am-Gy
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:43:05 +0000
Received: from [193.109.254.147:49434] by server-8.bemta-14.messagelabs.com id
	8E/3E-23244-8761CBF4; Tue, 22 May 2012 22:43:04 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337726582!10684447!1
X-Originating-IP: [216.32.180.31]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30305 invoked from network); 22 May 2012 22:43:03 -0000
Received: from va3ehsobe005.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.31)
	by server-12.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 22:43:03 -0000
Received: from mail55-va3-R.bigfish.com (10.7.14.245) by
	VA3EHSOBE002.bigfish.com (10.7.40.22) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 22:42:48 +0000
Received: from mail55-va3 (localhost [127.0.0.1])	by mail55-va3-R.bigfish.com
	(Postfix) with ESMTP id ED32042020D;
	Tue, 22 May 2012 22:42:47 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail55-va3 (localhost.localdomain [127.0.0.1]) by mail55-va3
	(MessageSwitch) id 1337726566254072_27585;
	Tue, 22 May 2012 22:42:46 +0000 (UTC)
Received: from VA3EHSMHS021.bigfish.com (unknown [10.7.14.236])	by
	mail55-va3.bigfish.com (Postfix) with ESMTP id 3839A40004A;
	Tue, 22 May 2012 22:42:46 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS021.bigfish.com (10.7.99.31) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 22:42:42 +0000
X-WSS-ID: 0M4G4FI-01-0C0-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 24227102807D;	Tue, 22 May 2012 17:42:54 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 17:43:04 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 17:42:54 -0500
Received: from [10.224.148.104] (10.224.148.104) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	18:42:52 -0400
Message-ID: <4FBC16B7.9080307@amd.com>
Date: Wed, 23 May 2012 00:44:07 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.26) Gecko/20120131 Lightning/1.0b2 Thunderbird/3.1.18
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
In-Reply-To: <20120522210031.GA25983@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
>> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
>>> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>>>> Hi,
>>>>
>>>> while testing some APERF/MPERF semantics I discovered that this
>>>> feature is enabled in Xen Dom0, but is not reliable.
>>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>>> compile) and bogus values due to VCPU migration during the
>>>
>>> Can you point me to the Linux scheduler code that does this? Thanks.
>>
>> arch/x86/kernel/cpu/sched.c contains code to read out and compute
>> APERF/MPERF registers. I added a Xen debug-key to dump a usage
>> counter added in traps.c and thus could prove that it is actually
>> the kernel that accesses these registers.
>> As far as I understood this the idea is to learn about boosting and
>> down-clocking (P-states) to get a fairer view on the actual
>> computing time a process consumed.
>
> Looks like its looking for this:
>
> X86_FEATURE_APERFMPERF
>
> Perhaps masking that should do it? Something along this in enlighten.c:
>
>           cpuid_leaf1_edx_mask =
>                   ~((1<<  X86_FEATURE_MCE)  |  /* disable MCE */
>                     (1<<  X86_FEATURE_MCA)  |  /* disable MCA */
>                     (1<<  X86_FEATURE_MTRR) |  /* disable MTRR */
>                     (1<<  X86_FEATURE_ACC));   /* thermal monitoring
>
> would be more appropiate?
>
> Or is that attribute on a different leaf?

Right, it is bit 0 on level 6. That's why I couldn't use any of the 
predefined masks and I didn't feel like inventing a new one just for 
this single bit.
We could as well explicitly use clear_cpu_cap somewhere, but I didn't 
find any code place in the Xen tree already doing this, instead it looks 
like it belongs to where I put it (we handle leaf 5 in a special way 
already here)

>>
>>>> measurement.
>>>> The attached patch explicitly disables this CPU capability inside
>>>> the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
>>>> with the patch applied.
>>>> I am not sure if the PVOPS code is the right place to fix this, we
>>>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>>>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am
>>>> not sure if it's worth to do so.
>>>>
>>>> Awaiting your comments.
>>>>
>>>> Regards,
>>>> Andre.
>>>>
>>>> P.S. Of course this doesn't fix pure userland software like
>>>> cpupower, but I would consider this in the user's responsibility to
>>>
>>> Which would not work anymore as the cpufreq support is disabled
>>> when it boots under Xen.
>>
>> Do you mean with "anymore" in a future kernel? I tested this on
>> 3.4.0 and cpupower monitor worked fine. Right, cpufreq is not
>> enabled, but cpupower uses the /dev/cpu/<n>/msr device file to
>> directly read the MSRs. So I get this output if run on an idle Dom0:
>
> Ahh. Neat. Will have to play with that.

Bad news is we cannot forbid cpupower querying the feature directly 
using the CPUID instruction in PV guests. Only we could patch it to use 
/proc/cpuinfo readout instead, as this reflects the kernel view of 
available features. With my patch aperfmperf is no longer there.

Regards,
Andre.

-- 
Andre Przywara
AMD-OSRC (Dresden)
Tel: x29712


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 22:43:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:43:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxnH-0002ar-33; Tue, 22 May 2012 22:43:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SWxnF-0002am-Gy
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:43:05 +0000
Received: from [193.109.254.147:49434] by server-8.bemta-14.messagelabs.com id
	8E/3E-23244-8761CBF4; Tue, 22 May 2012 22:43:04 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337726582!10684447!1
X-Originating-IP: [216.32.180.31]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30305 invoked from network); 22 May 2012 22:43:03 -0000
Received: from va3ehsobe005.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.31)
	by server-12.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	22 May 2012 22:43:03 -0000
Received: from mail55-va3-R.bigfish.com (10.7.14.245) by
	VA3EHSOBE002.bigfish.com (10.7.40.22) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 22:42:48 +0000
Received: from mail55-va3 (localhost [127.0.0.1])	by mail55-va3-R.bigfish.com
	(Postfix) with ESMTP id ED32042020D;
	Tue, 22 May 2012 22:42:47 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail55-va3 (localhost.localdomain [127.0.0.1]) by mail55-va3
	(MessageSwitch) id 1337726566254072_27585;
	Tue, 22 May 2012 22:42:46 +0000 (UTC)
Received: from VA3EHSMHS021.bigfish.com (unknown [10.7.14.236])	by
	mail55-va3.bigfish.com (Postfix) with ESMTP id 3839A40004A;
	Tue, 22 May 2012 22:42:46 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS021.bigfish.com (10.7.99.31) with Microsoft SMTP Server id
	14.1.225.23; Tue, 22 May 2012 22:42:42 +0000
X-WSS-ID: 0M4G4FI-01-0C0-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 24227102807D;	Tue, 22 May 2012 17:42:54 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 22 May 2012 17:43:04 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 22 May 2012 17:42:54 -0500
Received: from [10.224.148.104] (10.224.148.104) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 22 May 2012
	18:42:52 -0400
Message-ID: <4FBC16B7.9080307@amd.com>
Date: Wed, 23 May 2012 00:44:07 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.26) Gecko/20120131 Lightning/1.0b2 Thunderbird/3.1.18
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
In-Reply-To: <20120522210031.GA25983@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
>> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
>>> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>>>> Hi,
>>>>
>>>> while testing some APERF/MPERF semantics I discovered that this
>>>> feature is enabled in Xen Dom0, but is not reliable.
>>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>>> compile) and bogus values due to VCPU migration during the
>>>
>>> Can you point me to the Linux scheduler code that does this? Thanks.
>>
>> arch/x86/kernel/cpu/sched.c contains code to read out and compute
>> APERF/MPERF registers. I added a Xen debug-key to dump a usage
>> counter added in traps.c and thus could prove that it is actually
>> the kernel that accesses these registers.
>> As far as I understood this the idea is to learn about boosting and
>> down-clocking (P-states) to get a fairer view on the actual
>> computing time a process consumed.
>
> Looks like its looking for this:
>
> X86_FEATURE_APERFMPERF
>
> Perhaps masking that should do it? Something along this in enlighten.c:
>
>           cpuid_leaf1_edx_mask =
>                   ~((1<<  X86_FEATURE_MCE)  |  /* disable MCE */
>                     (1<<  X86_FEATURE_MCA)  |  /* disable MCA */
>                     (1<<  X86_FEATURE_MTRR) |  /* disable MTRR */
>                     (1<<  X86_FEATURE_ACC));   /* thermal monitoring
>
> would be more appropiate?
>
> Or is that attribute on a different leaf?

Right, it is bit 0 on level 6. That's why I couldn't use any of the 
predefined masks and I didn't feel like inventing a new one just for 
this single bit.
We could as well explicitly use clear_cpu_cap somewhere, but I didn't 
find any code place in the Xen tree already doing this, instead it looks 
like it belongs to where I put it (we handle leaf 5 in a special way 
already here)

>>
>>>> measurement.
>>>> The attached patch explicitly disables this CPU capability inside
>>>> the Linux kernel, I couldn't measure any APERF/MPERF reads anymore
>>>> with the patch applied.
>>>> I am not sure if the PVOPS code is the right place to fix this, we
>>>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>>>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am
>>>> not sure if it's worth to do so.
>>>>
>>>> Awaiting your comments.
>>>>
>>>> Regards,
>>>> Andre.
>>>>
>>>> P.S. Of course this doesn't fix pure userland software like
>>>> cpupower, but I would consider this in the user's responsibility to
>>>
>>> Which would not work anymore as the cpufreq support is disabled
>>> when it boots under Xen.
>>
>> Do you mean with "anymore" in a future kernel? I tested this on
>> 3.4.0 and cpupower monitor worked fine. Right, cpufreq is not
>> enabled, but cpupower uses the /dev/cpu/<n>/msr device file to
>> directly read the MSRs. So I get this output if run on an idle Dom0:
>
> Ahh. Neat. Will have to play with that.

Bad news is we cannot forbid cpupower querying the feature directly 
using the CPUID instruction in PV guests. Only we could patch it to use 
/proc/cpuinfo readout instead, as this reflects the kernel view of 
available features. With my patch aperfmperf is no longer there.

Regards,
Andre.

-- 
Andre Przywara
AMD-OSRC (Dresden)
Tel: x29712


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 22:46:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:46:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxqX-0002h5-Oa; Tue, 22 May 2012 22:46:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWxqX-0002h0-5N
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:46:29 +0000
Received: from [85.158.143.35:10181] by server-1.bemta-4.messagelabs.com id
	E7/FA-00342-4471CBF4; Tue, 22 May 2012 22:46:28 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337726785!14221078!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10735 invoked from network); 22 May 2012 22:46:27 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 22:46:27 -0000
Received: by pbcwz7 with SMTP id wz7so10035007pbc.30
	for <xen-devel@lists.xensource.com>;
	Tue, 22 May 2012 15:46:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=n2r4xHJUsE6KvZEqIj55DnHFnj3fCRZhPJ0KmV2ru5M=;
	b=veG4XUXbW6kwDp/G82vdegM4tVmtv/M7otYoAJa7Kg3FRairPK56EXB0O/M9Yrlw/D
	H/jN7hlmM7I1hpLLMs3tVDLUxSLYsrya8UUNfuQCKstoUizpdq85b7JQZmReUTC1VA2j
	oIMLFImab2dKOiL8uvkdW+eJ0brtGRoeExMAnao/lgbUC0bPudPzNlauImYz3c5uh4aE
	9p1BFln1VXEBuU9ySs6fp5Kkd4ArkkBu6L9Awwc6hnfIls+seifzbC6E635bfYulqX88
	ZZfToTfeaZUlC+Wh1n6ek25NfS1eYaIAU3nsgVY6ps8o+FamvaAHnY9/95ERhh+un90W
	h6TQ==
Received: by 10.68.223.35 with SMTP id qr3mr3482068pbc.83.1337726785019; Tue,
	22 May 2012 15:46:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Tue, 22 May 2012 15:46:04 -0700 (PDT)
In-Reply-To: <20120522183659.GA24324@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 23 May 2012 00:46:04 +0200
Message-ID: <CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 8:36 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Yes. Do you have CONFIG_NUMA enabled? If you disable it, do the messages
> disappear?

yes.
hmm now I remember that you already talked about it
http://lists.xen.org/archives/html/xen-devel/2012-05/msg00082.html
if you have any patch to test, I'll be happy to help.

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 22:46:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 22:46:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWxqX-0002h5-Oa; Tue, 22 May 2012 22:46:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SWxqX-0002h0-5N
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 22:46:29 +0000
Received: from [85.158.143.35:10181] by server-1.bemta-4.messagelabs.com id
	E7/FA-00342-4471CBF4; Tue, 22 May 2012 22:46:28 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337726785!14221078!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10735 invoked from network); 22 May 2012 22:46:27 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 22:46:27 -0000
Received: by pbcwz7 with SMTP id wz7so10035007pbc.30
	for <xen-devel@lists.xensource.com>;
	Tue, 22 May 2012 15:46:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=n2r4xHJUsE6KvZEqIj55DnHFnj3fCRZhPJ0KmV2ru5M=;
	b=veG4XUXbW6kwDp/G82vdegM4tVmtv/M7otYoAJa7Kg3FRairPK56EXB0O/M9Yrlw/D
	H/jN7hlmM7I1hpLLMs3tVDLUxSLYsrya8UUNfuQCKstoUizpdq85b7JQZmReUTC1VA2j
	oIMLFImab2dKOiL8uvkdW+eJ0brtGRoeExMAnao/lgbUC0bPudPzNlauImYz3c5uh4aE
	9p1BFln1VXEBuU9ySs6fp5Kkd4ArkkBu6L9Awwc6hnfIls+seifzbC6E635bfYulqX88
	ZZfToTfeaZUlC+Wh1n6ek25NfS1eYaIAU3nsgVY6ps8o+FamvaAHnY9/95ERhh+un90W
	h6TQ==
Received: by 10.68.223.35 with SMTP id qr3mr3482068pbc.83.1337726785019; Tue,
	22 May 2012 15:46:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Tue, 22 May 2012 15:46:04 -0700 (PDT)
In-Reply-To: <20120522183659.GA24324@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 23 May 2012 00:46:04 +0200
Message-ID: <CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 8:36 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Yes. Do you have CONFIG_NUMA enabled? If you disable it, do the messages
> disappear?

yes.
hmm now I remember that you already talked about it
http://lists.xen.org/archives/html/xen-devel/2012-05/msg00082.html
if you have any patch to test, I'll be happy to help.

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 23:44:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 23:44:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWyjr-00032Y-0n; Tue, 22 May 2012 23:43:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SWyjp-00032T-4a
	for xen-devel@lists.xen.org; Tue, 22 May 2012 23:43:37 +0000
Received: from [85.158.138.51:2517] by server-12.bemta-3.messagelabs.com id
	54/4F-29760-8A42CBF4; Tue, 22 May 2012 23:43:36 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337730214!9891556!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12029 invoked from network); 22 May 2012 23:43:35 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 23:43:35 -0000
Received: by vbbfn1 with SMTP id fn1so5575766vbb.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 16:43:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=4QAoaXEpXsJzCO2mUNjvJdXWyht046oCIo7SQZCsv+g=;
	b=WtBYj8e/c5YxnlzYedzqoycWAB63BvOsYLkQHEEuntkdkmn4hrCjgo9FHRJ2DBth+V
	QSNItISWPsA7+puEr71itWym9o+OUcvup4BrbpvPXnXWFbj1eYfPb92/5MxM4Re1fE4D
	rSkZMsaP0SoL2RJGLfDD2ousJR0qFX3ZzwBHLF1FrDW/Iv+rHpCoSBnWQDemATNf25dR
	jIOOpVK+puFjfz9KL6xG0BmOMsy3/78JwRULk22tsC8EznDViMgN/cc6REZGlgt5Df9k
	FNwXQF3dYhggKf+ZKjeDYsXl3xUYxn/uIAr9z5EfUdotqfoktZ09Gvaw0/qAaNfJlSiJ
	hRMQ==
MIME-Version: 1.0
Received: by 10.52.72.79 with SMTP id b15mr11601006vdv.13.1337730213782; Tue,
	22 May 2012 16:43:33 -0700 (PDT)
Received: by 10.220.70.71 with HTTP; Tue, 22 May 2012 16:43:33 -0700 (PDT)
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
Date: Wed, 23 May 2012 08:43:33 +0900
Message-ID: <CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: James Harper <james.harper@bendigoit.com.au>
Cc: Ian Campbell <Ian.Campbell@citrix.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 8:53 AM, James Harper
<james.harper@bendigoit.com.au> wrote:
>> I have done this, and they are in fact identical. Here are the addresses=
 of the
>> fields...
>> RING at 0x0009a040
>> 0x0009a04a status:0
>> 0x0009a048 operation 0
>> 0x0009a040 id:256
>>
>> What else could it be?
>>
>
> Is sizeof() what you expect it to be? That would cause the first request =
to be (mostly) okay, but subsequent requests to be further and further out =
of alignment.

Right on the spot!
Here is the output of sizeof for the struct and for each member:
SIZEOF ring_res:12 id:8 operation:1 status:2
There is seems to be an alignment problem, them sum of members is 11,
but the whole struct is 12, the question now is, how can I tackle this
problem?

Daniel
>
> James



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 23:44:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 23:44:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWyjr-00032Y-0n; Tue, 22 May 2012 23:43:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SWyjp-00032T-4a
	for xen-devel@lists.xen.org; Tue, 22 May 2012 23:43:37 +0000
Received: from [85.158.138.51:2517] by server-12.bemta-3.messagelabs.com id
	54/4F-29760-8A42CBF4; Tue, 22 May 2012 23:43:36 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337730214!9891556!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12029 invoked from network); 22 May 2012 23:43:35 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 May 2012 23:43:35 -0000
Received: by vbbfn1 with SMTP id fn1so5575766vbb.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 16:43:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=4QAoaXEpXsJzCO2mUNjvJdXWyht046oCIo7SQZCsv+g=;
	b=WtBYj8e/c5YxnlzYedzqoycWAB63BvOsYLkQHEEuntkdkmn4hrCjgo9FHRJ2DBth+V
	QSNItISWPsA7+puEr71itWym9o+OUcvup4BrbpvPXnXWFbj1eYfPb92/5MxM4Re1fE4D
	rSkZMsaP0SoL2RJGLfDD2ousJR0qFX3ZzwBHLF1FrDW/Iv+rHpCoSBnWQDemATNf25dR
	jIOOpVK+puFjfz9KL6xG0BmOMsy3/78JwRULk22tsC8EznDViMgN/cc6REZGlgt5Df9k
	FNwXQF3dYhggKf+ZKjeDYsXl3xUYxn/uIAr9z5EfUdotqfoktZ09Gvaw0/qAaNfJlSiJ
	hRMQ==
MIME-Version: 1.0
Received: by 10.52.72.79 with SMTP id b15mr11601006vdv.13.1337730213782; Tue,
	22 May 2012 16:43:33 -0700 (PDT)
Received: by 10.220.70.71 with HTTP; Tue, 22 May 2012 16:43:33 -0700 (PDT)
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
Date: Wed, 23 May 2012 08:43:33 +0900
Message-ID: <CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: James Harper <james.harper@bendigoit.com.au>
Cc: Ian Campbell <Ian.Campbell@citrix.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 8:53 AM, James Harper
<james.harper@bendigoit.com.au> wrote:
>> I have done this, and they are in fact identical. Here are the addresses=
 of the
>> fields...
>> RING at 0x0009a040
>> 0x0009a04a status:0
>> 0x0009a048 operation 0
>> 0x0009a040 id:256
>>
>> What else could it be?
>>
>
> Is sizeof() what you expect it to be? That would cause the first request =
to be (mostly) okay, but subsequent requests to be further and further out =
of alignment.

Right on the spot!
Here is the output of sizeof for the struct and for each member:
SIZEOF ring_res:12 id:8 operation:1 status:2
There is seems to be an alignment problem, them sum of members is 11,
but the whole struct is 12, the question now is, how can I tackle this
problem?

Daniel
>
> James



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 22 23:47:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 23:47:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWymy-00039s-Pw; Tue, 22 May 2012 23:46:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWymx-00039m-DP
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 23:46:51 +0000
Received: from [85.158.143.35:22211] by server-2.bemta-4.messagelabs.com id
	8D/3A-12211-A652CBF4; Tue, 22 May 2012 23:46:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337730409!14225806!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,DIET_1
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8297 invoked from network); 22 May 2012 23:46:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-16.tower-21.messagelabs.com with SMTP;
	22 May 2012 23:46:49 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78084346; Wed, 23 May 2012 01:46:48 +0200
Message-ID: <1337730401.27368.38.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 23 May 2012 01:46:41 +0200
In-Reply-To: <1337698766.10118.139.camel@zakaz.uk.xensource.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0685880598014559691=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0685880598014559691==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-HSOP1a7PXHHZGrRc+SJy"


--=-HSOP1a7PXHHZGrRc+SJy
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 15:59 +0100, Ian Campbell wrote:
> Like the below. Lightly tested with the credit scheduler.
>=20
> I think CAP is the only one for which 0 is a real valid value, but I'm
> not sure (especially with the SEDF ones which didn't have existing
> limits checks in the set function I could crib from...).
>=20
Yep, that's because they're mostly time values. xen/common/sched_sedf.c
hosts some ranges for some of them, but I'm not sure we want to
propagate those:

#define PERIOD_MAX MILLISECS(10000) /* 10s  */
#define PERIOD_MIN (MICROSECS(10))  /* 10us */
#define SLICE_MIN (MICROSECS(5))    /*  5us */

Also, extratime is a flag, so I think 0 and 1 are both meaningful
values, maybe we can go for -1 as for cap (I'll try and let you know).

> I'm pretty sure that libxl__sched_set_params needs to get the correct
> scheduler for the particular domain, but I've no idea how to get that...
>=20
Again, I was thinking something like what Juergen did here could help
(go getting the scheduler of the cpupool the domain belongs to)... O am
I misunderstanding the issue?

+    poolinfo =3D libxl_list_cpupool(ctx, &n_pools);
+    if (!poolinfo)
+        return ERROR_NOMEM;
+
+    ret =3D ERROR_INVAL;
+    for (p =3D 0; p < n_pools; p++) {
+        if (poolinfo[p].poolid =3D=3D poolid) {
+            scparams->sched =3D poolinfo[p].sched;
+            ret =3D 0;
+        }
+        libxl_cpupoolinfo_dispose(poolinfo + p);
+    }
+

> 8<---------------------------
>=20
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337698727 -3600
> # Node ID 355030f95eb313605a0e43aa7328e731b28a28b3
> # Parent  426bbf58cea4559464b6e5d3ff0f65324a5f5926
> libxl: make it possible to explicitly specify default sched params
>=20
> To do so we define a descriminating value which is never a valid real val=
ue for
> each parameter.
>=20
> While there:
>=20
>  - remove tslice_ms and ratelimit_us from libxl_sched_params and from the=
 xl
>    domain config parser. These are global scheduler properties, not per-d=
omain
>    ones (and were never read in any case).
>  - removed libxl_sched_*_domain in favour of libxl_sched_params.
>  - rename libxl_sched_params to libxl_sched_domain_params for clarity.
>  - use this new functionality for the various xl commands which set sched
>    parameters, which saves an explicit read-modify-write in xl.
>  - removed call of xc_domain_getinfolist from a few functions which weren=
't
>    actually using the result (looks like a cut and paste error)
>  - fix xl which was setting period for a variety of different config keys=
.
>=20
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>=20
> diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 22 14:19:07 2012 +0100
> +++ b/tools/libxl/libxl.c	Tue May 22 15:58:47 2012 +0100
> @@ -3168,19 +3168,19 @@ libxl_scheduler libxl_get_scheduler(libx
>  }
>
<snip>
> =20
>  int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_sched_domain_params *scinfo)
>  {
> -    xc_domaininfo_t domaininfo;
> -    int rc;
> -
> -    rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> -    if (rc < 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info lis=
t");
> +    uint64_t period;
> +    uint64_t slice;
> +    uint64_t latency;
> +    uint16_t extratime;
> +    uint16_t weight;
> +
> +    int ret;
> +
> +    ret =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latenc=
y,
> +                            &extratime, &weight);
> +    if (ret !=3D 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched se=
df");
>          return ERROR_FAIL;
>      }
> -    if (rc !=3D 1 || domaininfo.domain !=3D domid)
> -        return ERROR_INVAL;
> -
> -
> -    rc =3D xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> -                            scinfo->slice * 1000000, scinfo->latency * 1=
000000,
> -                            scinfo->extratime, scinfo->weight);
> -    if ( rc < 0 ) {
> +
> +    if (scinfo->period !=3D LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> +        period =3D scinfo->period * 1000000;
> +    if (scinfo->slice !=3D LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> +        period =3D scinfo->slice * 1000000;
> +    if (scinfo->latency !=3D LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
> +        period =3D scinfo->latency * 1000000;
> +    if (scinfo->extratime !=3D LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAUL=
T)
> +        period =3D scinfo->extratime;
> +    if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> +        period =3D scinfo->weight;
> +
> +    ret =3D xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +                            extratime, weight);
> +    if ( ret < 0 ) {
>          LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched se=
df");
>          return ERROR_FAIL;
>      }
>
# xl create vm1.cfg
Parsing config from vm1.cfg
libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sche=
d sedf: Invalid argument

And I'm getting the above independently on what I put in the config file
(valid params, no params at all, etc.). I also can't change the
scheduling parameters of a domain on-line anymore:

# xl sched-sedf -d 3 -p 100 -s 50
libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sche=
d sedf: Invalid argument
libxl_sched_sedf_domain_set failed.

I'll try digging a bit more into this ASAP.

On more thing, are we ok with the _set command failing and he domain
being created anyway? Or perhaps the whole process should just abort?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-HSOP1a7PXHHZGrRc+SJy
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8JWEACgkQk4XaBE3IOsSXsgCgpA8J2jC1URMF+CtBen+bR0ES
0YYAn0CQ5JRMP7W5Fv2we670x52VIBJw
=igXG
-----END PGP SIGNATURE-----

--=-HSOP1a7PXHHZGrRc+SJy--



--===============0685880598014559691==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0685880598014559691==--



From xen-devel-bounces@lists.xen.org Tue May 22 23:47:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 22 May 2012 23:47:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SWymy-00039s-Pw; Tue, 22 May 2012 23:46:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SWymx-00039m-DP
	for xen-devel@lists.xensource.com; Tue, 22 May 2012 23:46:51 +0000
Received: from [85.158.143.35:22211] by server-2.bemta-4.messagelabs.com id
	8D/3A-12211-A652CBF4; Tue, 22 May 2012 23:46:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337730409!14225806!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,DIET_1
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8297 invoked from network); 22 May 2012 23:46:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-16.tower-21.messagelabs.com with SMTP;
	22 May 2012 23:46:49 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78084346; Wed, 23 May 2012 01:46:48 +0200
Message-ID: <1337730401.27368.38.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 23 May 2012 01:46:41 +0200
In-Reply-To: <1337698766.10118.139.camel@zakaz.uk.xensource.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0685880598014559691=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0685880598014559691==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-HSOP1a7PXHHZGrRc+SJy"


--=-HSOP1a7PXHHZGrRc+SJy
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-22 at 15:59 +0100, Ian Campbell wrote:
> Like the below. Lightly tested with the credit scheduler.
>=20
> I think CAP is the only one for which 0 is a real valid value, but I'm
> not sure (especially with the SEDF ones which didn't have existing
> limits checks in the set function I could crib from...).
>=20
Yep, that's because they're mostly time values. xen/common/sched_sedf.c
hosts some ranges for some of them, but I'm not sure we want to
propagate those:

#define PERIOD_MAX MILLISECS(10000) /* 10s  */
#define PERIOD_MIN (MICROSECS(10))  /* 10us */
#define SLICE_MIN (MICROSECS(5))    /*  5us */

Also, extratime is a flag, so I think 0 and 1 are both meaningful
values, maybe we can go for -1 as for cap (I'll try and let you know).

> I'm pretty sure that libxl__sched_set_params needs to get the correct
> scheduler for the particular domain, but I've no idea how to get that...
>=20
Again, I was thinking something like what Juergen did here could help
(go getting the scheduler of the cpupool the domain belongs to)... O am
I misunderstanding the issue?

+    poolinfo =3D libxl_list_cpupool(ctx, &n_pools);
+    if (!poolinfo)
+        return ERROR_NOMEM;
+
+    ret =3D ERROR_INVAL;
+    for (p =3D 0; p < n_pools; p++) {
+        if (poolinfo[p].poolid =3D=3D poolid) {
+            scparams->sched =3D poolinfo[p].sched;
+            ret =3D 0;
+        }
+        libxl_cpupoolinfo_dispose(poolinfo + p);
+    }
+

> 8<---------------------------
>=20
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337698727 -3600
> # Node ID 355030f95eb313605a0e43aa7328e731b28a28b3
> # Parent  426bbf58cea4559464b6e5d3ff0f65324a5f5926
> libxl: make it possible to explicitly specify default sched params
>=20
> To do so we define a descriminating value which is never a valid real val=
ue for
> each parameter.
>=20
> While there:
>=20
>  - remove tslice_ms and ratelimit_us from libxl_sched_params and from the=
 xl
>    domain config parser. These are global scheduler properties, not per-d=
omain
>    ones (and were never read in any case).
>  - removed libxl_sched_*_domain in favour of libxl_sched_params.
>  - rename libxl_sched_params to libxl_sched_domain_params for clarity.
>  - use this new functionality for the various xl commands which set sched
>    parameters, which saves an explicit read-modify-write in xl.
>  - removed call of xc_domain_getinfolist from a few functions which weren=
't
>    actually using the result (looks like a cut and paste error)
>  - fix xl which was setting period for a variety of different config keys=
.
>=20
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>=20
> diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 22 14:19:07 2012 +0100
> +++ b/tools/libxl/libxl.c	Tue May 22 15:58:47 2012 +0100
> @@ -3168,19 +3168,19 @@ libxl_scheduler libxl_get_scheduler(libx
>  }
>
<snip>
> =20
>  int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_sched_domain_params *scinfo)
>  {
> -    xc_domaininfo_t domaininfo;
> -    int rc;
> -
> -    rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> -    if (rc < 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info lis=
t");
> +    uint64_t period;
> +    uint64_t slice;
> +    uint64_t latency;
> +    uint16_t extratime;
> +    uint16_t weight;
> +
> +    int ret;
> +
> +    ret =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latenc=
y,
> +                            &extratime, &weight);
> +    if (ret !=3D 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched se=
df");
>          return ERROR_FAIL;
>      }
> -    if (rc !=3D 1 || domaininfo.domain !=3D domid)
> -        return ERROR_INVAL;
> -
> -
> -    rc =3D xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> -                            scinfo->slice * 1000000, scinfo->latency * 1=
000000,
> -                            scinfo->extratime, scinfo->weight);
> -    if ( rc < 0 ) {
> +
> +    if (scinfo->period !=3D LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> +        period =3D scinfo->period * 1000000;
> +    if (scinfo->slice !=3D LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> +        period =3D scinfo->slice * 1000000;
> +    if (scinfo->latency !=3D LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
> +        period =3D scinfo->latency * 1000000;
> +    if (scinfo->extratime !=3D LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAUL=
T)
> +        period =3D scinfo->extratime;
> +    if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> +        period =3D scinfo->weight;
> +
> +    ret =3D xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +                            extratime, weight);
> +    if ( ret < 0 ) {
>          LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched se=
df");
>          return ERROR_FAIL;
>      }
>
# xl create vm1.cfg
Parsing config from vm1.cfg
libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sche=
d sedf: Invalid argument

And I'm getting the above independently on what I put in the config file
(valid params, no params at all, etc.). I also can't change the
scheduling parameters of a domain on-line anymore:

# xl sched-sedf -d 3 -p 100 -s 50
libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sche=
d sedf: Invalid argument
libxl_sched_sedf_domain_set failed.

I'll try digging a bit more into this ASAP.

On more thing, are we ok with the _set command failing and he domain
being created anyway? Or perhaps the whole process should just abort?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-HSOP1a7PXHHZGrRc+SJy
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8JWEACgkQk4XaBE3IOsSXsgCgpA8J2jC1URMF+CtBen+bR0ES
0YYAn0CQ5JRMP7W5Fv2we670x52VIBJw
=igXG
-----END PGP SIGNATURE-----

--=-HSOP1a7PXHHZGrRc+SJy--



--===============0685880598014559691==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0685880598014559691==--



From xen-devel-bounces@lists.xen.org Wed May 23 01:14:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:14:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX092-000858-0c; Wed, 23 May 2012 01:13:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SX090-000852-5d
	for xen-devel@lists.xen.org; Wed, 23 May 2012 01:13:42 +0000
Received: from [85.158.143.99:15258] by server-3.bemta-4.messagelabs.com id
	A5/8F-05853-5C93CBF4; Wed, 23 May 2012 01:13:41 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337735617!28981215!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12784 invoked from network); 23 May 2012 01:13:39 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 01:13:39 -0000
Received: by obbwd20 with SMTP id wd20so14106703obb.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 18:13:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=POq1nuWPnf9EnLVSIri1nHT29h1DpunTHPm+vB7B57M=;
	b=C2Z+inxSPR5TxsD9CPbbq5o0uH+mBXGC8yddtttiLwrDB2RqGJk2qdmkoCMt3nbrwa
	nJAtJbwj/okFmGkn1aBA641pYsjsiXPz2jHeGceKJUjtK4QYLzlv1fREhETMLzCUHhzh
	OPn8ew/c9RmjirxwQHUfGYJixWw/5Q/2bvz4udBcTe5AwFDyNfkuUhz3hE5W1okz3rTT
	D7opcgX7Y/Vcy29CaPe/fkkwuTDZMIFywPYUxCOG0tHS96OGk4cIc7V1nVbzGGF7WLWA
	+UNOEjvsRnM4To2rIjrBTZckbKdYsA8xVQjJB6gQwTeVnn4i0CfQoQF9rMKG59Q0z+h+
	jI7w==
MIME-Version: 1.0
Received: by 10.60.29.137 with SMTP id k9mr24924486oeh.23.1337735616832; Tue,
	22 May 2012 18:13:36 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 22 May 2012 18:13:36 -0700 (PDT)
In-Reply-To: <CANdnRvMeUMr1Uc50p7F9Tzsumir0=_WXyu7KUa2NJ=T1qXoS0w@mail.gmail.com>
References: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
	<CAFLBxZZ9fo649=97m=_E=EMkmMShfhkakiroOtd4Q6hPYb5NMQ@mail.gmail.com>
	<CANdnRvMeUMr1Uc50p7F9Tzsumir0=_WXyu7KUa2NJ=T1qXoS0w@mail.gmail.com>
Date: Wed, 23 May 2012 09:13:36 +0800
Message-ID: <CANdnRvPmBNZUgLsJpxbn-C1azaW4ZiFz-GA+S2hXHqXJgcW9tw@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] Fwd:  Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7383692258681717862=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7383692258681717862==
Content-Type: multipart/alternative; boundary=e89a8fb202d43ea39a04c0a9d8ef

--e89a8fb202d43ea39a04c0a9d8ef
Content-Type: text/plain; charset=ISO-8859-1

---------- Forwarded message ----------
From: suixiufeng <suixiufeng@gmail.com>
Date: 2012/5/22
Subject: Re: [Xen-devel] Benchmark in the VM
To: George Dunlap <George.Dunlap@eu.citrix.com>


The dom0 kernel is centos5.5, and the Hypervisor is xen-4.1.2. The domU
kernel is centos5.5, which is installed through the virt-install command (I
think it belongs to HVM).
Then I use xenoprof to collect the cycle, instruction number, LLC access
number and LLC miss number information when running spec cpu 2006
benchmarks.
And I found the instruction number increased significantly as shown in my
last email.
I don't know what's the reason.

2012/5/22 George Dunlap <George.Dunlap@eu.citrix.com>

> On Tue, May 22, 2012 at 7:51 AM, suixiufeng <suixiufeng@gmail.com> wrote:
> > Hi,
> >    When I run some workloads from SPECCPU2006. I found that the retired
> > instruction number vary significantly between VM and PM according to
> > xenoprof. For example:
> >
> >    Workload                                            Insts
> >                            Platform
> >    435.gromacs (CPU intensive)                4458151
> >                 PM
> >    435.gromacs                                       151265683
> >                     VM
> >    450.soplex   (Memory intensive)            760142
> >                PM
> >     450.soplex                                          23311208
> >                        VM
> >
> > What is the reason? Does Xen use interpret? Thank you!
>
> I take you to mean, "Does Xen emulate guest instructions"?  The answer
> is "No", with one exception: for HVM guests, Xen will emulate accesses
> to devices, including MMIO and PIO.
>
> There's not really enough information here to even make a guess as to
> what might be causing your numbers here; it's not even really clear
> what the numbers you're reporting are, as they seem to be instructions
> rather than the performance.  If you could give a bit more information
> about what kind of guest OS you're running, your setup, how you're
> collecting data, and what it means, we might be able to be more
> helpful.
>
>  -George
>

--e89a8fb202d43ea39a04c0a9d8ef
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">---------- Forwarded message ----------<=
br>From: <b class=3D"gmail_sendername">suixiufeng</b> <span dir=3D"ltr">&lt=
;<a href=3D"mailto:suixiufeng@gmail.com">suixiufeng@gmail.com</a>&gt;</span=
><br>
Date: 2012/5/22<br>Subject: Re: [Xen-devel] Benchmark in the VM<br>To: Geor=
ge Dunlap &lt;<a href=3D"mailto:George.Dunlap@eu.citrix.com">George.Dunlap@=
eu.citrix.com</a>&gt;<br><br><br><div>The dom0 kernel is centos5.5, and the=
 Hypervisor is xen-4.1.2. The domU kernel is centos5.5, which is installed =
through the virt-install command (I think it belongs to HVM). </div>
<div>Then I use xenoprof to collect the cycle, instruction number, LLC acce=
ss number and LLC miss number information when running spec cpu 2006 benchm=
arks.</div>
<div>And I found the instruction number increased significantly as shown in=
 my last email.</div><div>I don&#39;t know what&#39;s the reason.<br><br></=
div><div class=3D"HOEnZb"><div class=3D"h5"><div class=3D"gmail_quote">2012=
/5/22 George Dunlap <span dir=3D"ltr">&lt;<a href=3D"mailto:George.Dunlap@e=
u.citrix.com" target=3D"_blank">George.Dunlap@eu.citrix.com</a>&gt;</span><=
br>

<blockquote style=3D"margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-=
color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class=
=3D"gmail_quote"><div><div>On Tue, May 22, 2012 at 7:51 AM, suixiufeng &lt;=
<a href=3D"mailto:suixiufeng@gmail.com" target=3D"_blank">suixiufeng@gmail.=
com</a>&gt; wrote:<br>


&gt; Hi,<br>
&gt; =A0 =A0When I run some workloads from SPECCPU2006. I found that the re=
tired<br>
&gt; instruction number vary significantly between VM and PM according to<b=
r>
&gt; xenoprof. For example:<br>
&gt;<br>
&gt; =A0 =A0Workload =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Insts<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Platform<br>
&gt; =A0 =A0435.gromacs (CPU intensive) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A04458=
151<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 PM<br>
&gt; =A0 =A0435.gromacs =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0=A0151265683<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 VM<br>
&gt; =A0 =A0450.soplex =A0 (Memory intensive) =A0 =A0 =A0 =A0 =A0 =A0760142=
<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PM<br>
&gt; =A0 =A0=A0450.soplex =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A023311208<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0VM<br>
&gt;<br>
&gt; What is the reason? Does Xen use interpret? Thank you!<br>
<br>
</div></div>I take you to mean, &quot;Does Xen emulate guest instructions&q=
uot;? =A0The answer<br>
is &quot;No&quot;, with one exception: for HVM guests, Xen will emulate acc=
esses<br>
to devices, including MMIO and PIO.<br>
<br>
There&#39;s not really enough information here to even make a guess as to<b=
r>
what might be causing your numbers here; it&#39;s not even really clear<br>
what the numbers you&#39;re reporting are, as they seem to be instructions<=
br>
rather than the performance. =A0If you could give a bit more information<br=
>
about what kind of guest OS you&#39;re running, your setup, how you&#39;re<=
br>
collecting data, and what it means, we might be able to be more<br>
helpful.<br>
<span><font color=3D"#888888"><br>
=A0-George<br>
</font></span></blockquote></div><br>
</div></div></div><br>

--e89a8fb202d43ea39a04c0a9d8ef--


--===============7383692258681717862==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7383692258681717862==--


From xen-devel-bounces@lists.xen.org Wed May 23 01:14:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:14:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX092-000858-0c; Wed, 23 May 2012 01:13:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SX090-000852-5d
	for xen-devel@lists.xen.org; Wed, 23 May 2012 01:13:42 +0000
Received: from [85.158.143.99:15258] by server-3.bemta-4.messagelabs.com id
	A5/8F-05853-5C93CBF4; Wed, 23 May 2012 01:13:41 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337735617!28981215!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12784 invoked from network); 23 May 2012 01:13:39 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 01:13:39 -0000
Received: by obbwd20 with SMTP id wd20so14106703obb.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 18:13:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=POq1nuWPnf9EnLVSIri1nHT29h1DpunTHPm+vB7B57M=;
	b=C2Z+inxSPR5TxsD9CPbbq5o0uH+mBXGC8yddtttiLwrDB2RqGJk2qdmkoCMt3nbrwa
	nJAtJbwj/okFmGkn1aBA641pYsjsiXPz2jHeGceKJUjtK4QYLzlv1fREhETMLzCUHhzh
	OPn8ew/c9RmjirxwQHUfGYJixWw/5Q/2bvz4udBcTe5AwFDyNfkuUhz3hE5W1okz3rTT
	D7opcgX7Y/Vcy29CaPe/fkkwuTDZMIFywPYUxCOG0tHS96OGk4cIc7V1nVbzGGF7WLWA
	+UNOEjvsRnM4To2rIjrBTZckbKdYsA8xVQjJB6gQwTeVnn4i0CfQoQF9rMKG59Q0z+h+
	jI7w==
MIME-Version: 1.0
Received: by 10.60.29.137 with SMTP id k9mr24924486oeh.23.1337735616832; Tue,
	22 May 2012 18:13:36 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 22 May 2012 18:13:36 -0700 (PDT)
In-Reply-To: <CANdnRvMeUMr1Uc50p7F9Tzsumir0=_WXyu7KUa2NJ=T1qXoS0w@mail.gmail.com>
References: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
	<CAFLBxZZ9fo649=97m=_E=EMkmMShfhkakiroOtd4Q6hPYb5NMQ@mail.gmail.com>
	<CANdnRvMeUMr1Uc50p7F9Tzsumir0=_WXyu7KUa2NJ=T1qXoS0w@mail.gmail.com>
Date: Wed, 23 May 2012 09:13:36 +0800
Message-ID: <CANdnRvPmBNZUgLsJpxbn-C1azaW4ZiFz-GA+S2hXHqXJgcW9tw@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] Fwd:  Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7383692258681717862=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7383692258681717862==
Content-Type: multipart/alternative; boundary=e89a8fb202d43ea39a04c0a9d8ef

--e89a8fb202d43ea39a04c0a9d8ef
Content-Type: text/plain; charset=ISO-8859-1

---------- Forwarded message ----------
From: suixiufeng <suixiufeng@gmail.com>
Date: 2012/5/22
Subject: Re: [Xen-devel] Benchmark in the VM
To: George Dunlap <George.Dunlap@eu.citrix.com>


The dom0 kernel is centos5.5, and the Hypervisor is xen-4.1.2. The domU
kernel is centos5.5, which is installed through the virt-install command (I
think it belongs to HVM).
Then I use xenoprof to collect the cycle, instruction number, LLC access
number and LLC miss number information when running spec cpu 2006
benchmarks.
And I found the instruction number increased significantly as shown in my
last email.
I don't know what's the reason.

2012/5/22 George Dunlap <George.Dunlap@eu.citrix.com>

> On Tue, May 22, 2012 at 7:51 AM, suixiufeng <suixiufeng@gmail.com> wrote:
> > Hi,
> >    When I run some workloads from SPECCPU2006. I found that the retired
> > instruction number vary significantly between VM and PM according to
> > xenoprof. For example:
> >
> >    Workload                                            Insts
> >                            Platform
> >    435.gromacs (CPU intensive)                4458151
> >                 PM
> >    435.gromacs                                       151265683
> >                     VM
> >    450.soplex   (Memory intensive)            760142
> >                PM
> >     450.soplex                                          23311208
> >                        VM
> >
> > What is the reason? Does Xen use interpret? Thank you!
>
> I take you to mean, "Does Xen emulate guest instructions"?  The answer
> is "No", with one exception: for HVM guests, Xen will emulate accesses
> to devices, including MMIO and PIO.
>
> There's not really enough information here to even make a guess as to
> what might be causing your numbers here; it's not even really clear
> what the numbers you're reporting are, as they seem to be instructions
> rather than the performance.  If you could give a bit more information
> about what kind of guest OS you're running, your setup, how you're
> collecting data, and what it means, we might be able to be more
> helpful.
>
>  -George
>

--e89a8fb202d43ea39a04c0a9d8ef
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">---------- Forwarded message ----------<=
br>From: <b class=3D"gmail_sendername">suixiufeng</b> <span dir=3D"ltr">&lt=
;<a href=3D"mailto:suixiufeng@gmail.com">suixiufeng@gmail.com</a>&gt;</span=
><br>
Date: 2012/5/22<br>Subject: Re: [Xen-devel] Benchmark in the VM<br>To: Geor=
ge Dunlap &lt;<a href=3D"mailto:George.Dunlap@eu.citrix.com">George.Dunlap@=
eu.citrix.com</a>&gt;<br><br><br><div>The dom0 kernel is centos5.5, and the=
 Hypervisor is xen-4.1.2. The domU kernel is centos5.5, which is installed =
through the virt-install command (I think it belongs to HVM). </div>
<div>Then I use xenoprof to collect the cycle, instruction number, LLC acce=
ss number and LLC miss number information when running spec cpu 2006 benchm=
arks.</div>
<div>And I found the instruction number increased significantly as shown in=
 my last email.</div><div>I don&#39;t know what&#39;s the reason.<br><br></=
div><div class=3D"HOEnZb"><div class=3D"h5"><div class=3D"gmail_quote">2012=
/5/22 George Dunlap <span dir=3D"ltr">&lt;<a href=3D"mailto:George.Dunlap@e=
u.citrix.com" target=3D"_blank">George.Dunlap@eu.citrix.com</a>&gt;</span><=
br>

<blockquote style=3D"margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-=
color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class=
=3D"gmail_quote"><div><div>On Tue, May 22, 2012 at 7:51 AM, suixiufeng &lt;=
<a href=3D"mailto:suixiufeng@gmail.com" target=3D"_blank">suixiufeng@gmail.=
com</a>&gt; wrote:<br>


&gt; Hi,<br>
&gt; =A0 =A0When I run some workloads from SPECCPU2006. I found that the re=
tired<br>
&gt; instruction number vary significantly between VM and PM according to<b=
r>
&gt; xenoprof. For example:<br>
&gt;<br>
&gt; =A0 =A0Workload =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Insts<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Platform<br>
&gt; =A0 =A0435.gromacs (CPU intensive) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A04458=
151<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 PM<br>
&gt; =A0 =A0435.gromacs =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0=A0151265683<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 VM<br>
&gt; =A0 =A0450.soplex =A0 (Memory intensive) =A0 =A0 =A0 =A0 =A0 =A0760142=
<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PM<br>
&gt; =A0 =A0=A0450.soplex =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A023311208<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0VM<br>
&gt;<br>
&gt; What is the reason? Does Xen use interpret? Thank you!<br>
<br>
</div></div>I take you to mean, &quot;Does Xen emulate guest instructions&q=
uot;? =A0The answer<br>
is &quot;No&quot;, with one exception: for HVM guests, Xen will emulate acc=
esses<br>
to devices, including MMIO and PIO.<br>
<br>
There&#39;s not really enough information here to even make a guess as to<b=
r>
what might be causing your numbers here; it&#39;s not even really clear<br>
what the numbers you&#39;re reporting are, as they seem to be instructions<=
br>
rather than the performance. =A0If you could give a bit more information<br=
>
about what kind of guest OS you&#39;re running, your setup, how you&#39;re<=
br>
collecting data, and what it means, we might be able to be more<br>
helpful.<br>
<span><font color=3D"#888888"><br>
=A0-George<br>
</font></span></blockquote></div><br>
</div></div></div><br>

--e89a8fb202d43ea39a04c0a9d8ef--


--===============7383692258681717862==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7383692258681717862==--


From xen-devel-bounces@lists.xen.org Wed May 23 01:40:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX0YH-0000Xx-2e; Wed, 23 May 2012 01:39:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX0YE-0000Xq-9K
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 01:39:47 +0000
Received: from [193.109.254.147:4544] by server-10.bemta-14.messagelabs.com id
	D9/98-05847-1EF3CBF4; Wed, 23 May 2012 01:39:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337737184!5520057!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12484 invoked from network); 23 May 2012 01:39:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 01:39:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,641,1330905600"; d="scan'208";a="12614455"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 01:39:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 02:39:44 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SX0YC-0003CH-4g;
	Wed, 23 May 2012 01:39:44 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SX0YB-00063f-KP;
	Wed, 23 May 2012 02:39:43 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12957-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 02:39:43 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12957: tolerable FAIL -
	PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12957 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12957/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass

version targeted for testing:
 qemuu                6d8b472233779c2a028a03843603030d2b1aee86
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=qemu-upstream-unstable
+ revision=6d8b472233779c2a028a03843603030d2b1aee86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push qemu-upstream-unstable 6d8b472233779c2a028a03843603030d2b1aee86
+ branch=qemu-upstream-unstable
+ revision=6d8b472233779c2a028a03843603030d2b1aee86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=qemuu
+ xenbranch=xen-unstable
+ '[' xqemuu = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.qemu-upstream-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.qemu-upstream-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree qemu-upstream-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/qemu-upstream-unstable
+ git push xen@xenbits.xensource.com:git/qemu-upstream-unstable.git 6d8b472233779c2a028a03843603030d2b1aee86:master
Counting objects: 1   
Counting objects: 11   
Counting objects: 19, done.
Compressing objects:   8% (1/12)   
Compressing objects:  16% (2/12)   
Compressing objects:  25% (3/12)   
Compressing objects:  33% (4/12)   
Compressing objects:  41% (5/12)   
Compressing objects:  50% (6/12)   
Compressing objects:  58% (7/12)   
Compressing objects:  66% (8/12)   
Compressing objects:  75% (9/12)   
Compressing objects:  83% (10/12)   
Compressing objects:  91% (11/12)   
Compressing objects: 100% (12/12)   
Compressing objects: 100% (12/12), done.
Writing objects:   8% (1/12)   
Writing objects:  16% (2/12)   
Writing objects:  25% (3/12)   
Writing objects:  33% (4/12)   
Writing objects:  41% (5/12)   
Writing objects:  50% (6/12)   
Writing objects:  58% (7/12)   
Writing objects:  66% (8/12)   
Writing objects:  75% (9/12)   
Writing objects:  83% (10/12)   
Writing objects:  91% (11/12)   
Writing objects: 100% (12/12)   
Writing objects: 100% (12/12), 2.11 KiB, done.
Total 12 (delta 9), reused 0 (delta 0)
To xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
   9efe258..6d8b472  6d8b472233779c2a028a03843603030d2b1aee86 -> master

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 01:40:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX0YH-0000Xx-2e; Wed, 23 May 2012 01:39:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX0YE-0000Xq-9K
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 01:39:47 +0000
Received: from [193.109.254.147:4544] by server-10.bemta-14.messagelabs.com id
	D9/98-05847-1EF3CBF4; Wed, 23 May 2012 01:39:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337737184!5520057!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12484 invoked from network); 23 May 2012 01:39:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 01:39:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,641,1330905600"; d="scan'208";a="12614455"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 01:39:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 02:39:44 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SX0YC-0003CH-4g;
	Wed, 23 May 2012 01:39:44 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SX0YB-00063f-KP;
	Wed, 23 May 2012 02:39:43 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12957-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 02:39:43 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [qemu-upstream-unstable test] 12957: tolerable FAIL -
	PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12957 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12957/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2   fail like 12892
 test-amd64-i386-xl-qemuu-win7-amd64 12 guest-localmigrate/x10  fail like 12892

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 13 guest-stop         fail never pass
 test-amd64-i386-qemuu-win-vcpus1 16 leak-check/check           fail never pass
 test-amd64-i386-xend-qemuu-winxpsp3 16 leak-check/check        fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xl-qemuu-win-vcpus1 13 guest-stop              fail never pass
 test-amd64-i386-qemuu-win    16 leak-check/check             fail   never pass
 test-i386-i386-qemuu-win     16 leak-check/check             fail   never pass
 test-amd64-amd64-qemuu-win   16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-win  13 guest-stop                   fail   never pass

version targeted for testing:
 qemuu                6d8b472233779c2a028a03843603030d2b1aee86
baseline version:
 qemuu                9efe258c19da5ef736b74217c11a610e448d1ab5

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-qemuu-win-vcpus1                             fail    
 test-amd64-i386-xl-qemuu-win-vcpus1                          fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-amd64-qemuu-win                                   fail    
 test-amd64-i386-qemuu-win                                    fail    
 test-i386-i386-qemuu-win                                     fail    
 test-amd64-amd64-xl-qemuu-win                                fail    
 test-i386-i386-xl-qemuu-win                                  fail    
 test-amd64-i386-xend-qemuu-winxpsp3                          fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=qemu-upstream-unstable
+ revision=6d8b472233779c2a028a03843603030d2b1aee86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push qemu-upstream-unstable 6d8b472233779c2a028a03843603030d2b1aee86
+ branch=qemu-upstream-unstable
+ revision=6d8b472233779c2a028a03843603030d2b1aee86
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=qemuu
+ xenbranch=xen-unstable
+ '[' xqemuu = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.qemu-upstream-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.qemu-upstream-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree qemu-upstream-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/qemu-upstream-unstable
+ git push xen@xenbits.xensource.com:git/qemu-upstream-unstable.git 6d8b472233779c2a028a03843603030d2b1aee86:master
Counting objects: 1   
Counting objects: 11   
Counting objects: 19, done.
Compressing objects:   8% (1/12)   
Compressing objects:  16% (2/12)   
Compressing objects:  25% (3/12)   
Compressing objects:  33% (4/12)   
Compressing objects:  41% (5/12)   
Compressing objects:  50% (6/12)   
Compressing objects:  58% (7/12)   
Compressing objects:  66% (8/12)   
Compressing objects:  75% (9/12)   
Compressing objects:  83% (10/12)   
Compressing objects:  91% (11/12)   
Compressing objects: 100% (12/12)   
Compressing objects: 100% (12/12), done.
Writing objects:   8% (1/12)   
Writing objects:  16% (2/12)   
Writing objects:  25% (3/12)   
Writing objects:  33% (4/12)   
Writing objects:  41% (5/12)   
Writing objects:  50% (6/12)   
Writing objects:  58% (7/12)   
Writing objects:  66% (8/12)   
Writing objects:  75% (9/12)   
Writing objects:  83% (10/12)   
Writing objects:  91% (11/12)   
Writing objects: 100% (12/12)   
Writing objects: 100% (12/12), 2.11 KiB, done.
Total 12 (delta 9), reused 0 (delta 0)
To xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
   9efe258..6d8b472  6d8b472233779c2a028a03843603030d2b1aee86 -> master

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 01:48:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX0gf-0000n0-Fo; Wed, 23 May 2012 01:48:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SX0ge-0000mv-JG
	for xen-devel@lists.xen.org; Wed, 23 May 2012 01:48:28 +0000
Received: from [85.158.143.35:22944] by server-2.bemta-4.messagelabs.com id
	8F/06-12211-BE14CBF4; Wed, 23 May 2012 01:48:27 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337737705!5448375!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQwNzgz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6301 invoked from network); 23 May 2012 01:48:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-21.messagelabs.com with SMTP;
	23 May 2012 01:48:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 22 May 2012 18:48:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103127316"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 22 May 2012 18:48:24 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 18:48:24 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 09:48:22 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: Ac04hh0qltLHiUmXQE+t+qAqhPkCLQ==
Date: Wed, 23 May 2012 01:48:21 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Wu, GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Thursday, May 10, 2012 10:39 PM
> To: Ren, Yongjie
> Cc: Wu, GabrielX; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> 
> > > > xen-changeset:   25256
> > > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > >
> > > Please update your dom0.
> >
> > I think we can use 3.4-RCx kernel as dom0 when sending the report next
> time.
> 
> Excellent!
> >
> > > >
> > >
> ============================================================
> > > =====
> > > >
> > > > New issue(1)
> > > > ==============
> > > > 1. cpu weight out of range error when create hvm domU
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> > >
> > > And what is the guest config? Does it have any cpu weights?
> >
> > Added the config in the BZ.  It doesn't have any cpu weight in config.
> > Some other person also reported this issue in the mailing list several days
> ago.
> 
> I think some of the Citrix folks were going to take a look at this.
> 
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > > > 3. [VT-D]fail to detach NIC from guest
> > >
> > > Hmm, the last update is from a year ago. Are you sure this
> > > is an issue?
> > >
> > Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> > According to our recent testing, it something about VNC console.
> > Also added some latest info in the BZ.
> >
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> > >
> > > the bug talks about 2.6.32. Can you update it to include the
> > > 3.4 (or 3.3) dmesg output?
> > >
> > This is about 32bit Xen.
> > As we don't test 32bit Xen for a long time, we may update it when we're
> free.
> >
> > > > 5. [VT-D] device reset fail when create/destroy guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> > >
> > > Does this happen if you manually echo 1 > ../reset? And is this
> > > an issue with the kernel if you upgrade it to 3.4-rc5?
> > >
> > When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> > "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid
> argument".
> 
> OK, so then the device can't do reset's properly. Is this the
> physical adaptor or the virtual one?
> 
It's a physical adaptor.

> > This bug only exists when we use 'pcistub' to hide a device.
> 
> Ok, so it looks like upstream Linux can't do this properly on that device.
> 
Yes, I think so. To do some fix on 'pcistub' module might fix this issue.

> >
> > > > 8. after detaching a VF from a guest, shutdown the guest is very slow
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> > >
> > > Where does it slow down? When bringing the NIC down or in specific
> > > cases?
> > > Is this an issue with if you are using a different guest (say Fedora Core
> 16?)
> > >
> > We found it is related to 'stdgva' option in guest config file.
> > If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
> > If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.
> 
> What does turning standard VGA and VNC on mean to the guest? Doesn't
> that mean
> that the VGA adapter is gone from the guest? And is this issue only
> present if you have PCI devices in the guest? Meaning do you get this
> if you boot a normal HVM guest and do 'stdvga=0' and 'vnc='1?

'stdvga=1' will make the guest use a emulated VGA named "Technical Corp. Device 1111".
'stdvga=0' will make the guest use a emulated VGA "Cirrus Logic GD5446".
We found this issue only exist when we shut down the guest in its VNC after we hot remove a PCI device.
As the manual page says, "If your guest supports VBE 2.0 or later (e.g. Windows XP onwards) then you should enable this (stdvga=1)."
I think most of the OS we use today support VBE 2.0 or later. 
And if 'stdvga=1', this issue will not exist.
So, can we set stdvga to TRUE by default in libxl code?

--Jay

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 01:48:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX0gf-0000n0-Fo; Wed, 23 May 2012 01:48:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SX0ge-0000mv-JG
	for xen-devel@lists.xen.org; Wed, 23 May 2012 01:48:28 +0000
Received: from [85.158.143.35:22944] by server-2.bemta-4.messagelabs.com id
	8F/06-12211-BE14CBF4; Wed, 23 May 2012 01:48:27 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337737705!5448375!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQwNzgz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6301 invoked from network); 23 May 2012 01:48:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-21.messagelabs.com with SMTP;
	23 May 2012 01:48:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 22 May 2012 18:48:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103127316"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 22 May 2012 18:48:24 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 18:48:24 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 09:48:22 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: Ac04hh0qltLHiUmXQE+t+qAqhPkCLQ==
Date: Wed, 23 May 2012 01:48:21 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Wu, GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Thursday, May 10, 2012 10:39 PM
> To: Ren, Yongjie
> Cc: Wu, GabrielX; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> 
> > > > xen-changeset:   25256
> > > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > >
> > > Please update your dom0.
> >
> > I think we can use 3.4-RCx kernel as dom0 when sending the report next
> time.
> 
> Excellent!
> >
> > > >
> > >
> ============================================================
> > > =====
> > > >
> > > > New issue(1)
> > > > ==============
> > > > 1. cpu weight out of range error when create hvm domU
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1818
> > >
> > > And what is the guest config? Does it have any cpu weights?
> >
> > Added the config in the BZ.  It doesn't have any cpu weight in config.
> > Some other person also reported this issue in the mailing list several days
> ago.
> 
> I think some of the Citrix folks were going to take a look at this.
> 
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> > > > 3. [VT-D]fail to detach NIC from guest
> > >
> > > Hmm, the last update is from a year ago. Are you sure this
> > > is an issue?
> > >
> > Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> > According to our recent testing, it something about VNC console.
> > Also added some latest info in the BZ.
> >
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1736
> > > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1747
> > >
> > > the bug talks about 2.6.32. Can you update it to include the
> > > 3.4 (or 3.3) dmesg output?
> > >
> > This is about 32bit Xen.
> > As we don't test 32bit Xen for a long time, we may update it when we're
> free.
> >
> > > > 5. [VT-D] device reset fail when create/destroy guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1752
> > >
> > > Does this happen if you manually echo 1 > ../reset? And is this
> > > an issue with the kernel if you upgrade it to 3.4-rc5?
> > >
> > When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> > "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid
> argument".
> 
> OK, so then the device can't do reset's properly. Is this the
> physical adaptor or the virtual one?
> 
It's a physical adaptor.

> > This bug only exists when we use 'pcistub' to hide a device.
> 
> Ok, so it looks like upstream Linux can't do this properly on that device.
> 
Yes, I think so. To do some fix on 'pcistub' module might fix this issue.

> >
> > > > 8. after detaching a VF from a guest, shutdown the guest is very slow
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1812
> > >
> > > Where does it slow down? When bringing the NIC down or in specific
> > > cases?
> > > Is this an issue with if you are using a different guest (say Fedora Core
> 16?)
> > >
> > We found it is related to 'stdgva' option in guest config file.
> > If 'stdvga=1' and 'vnc=1', the guest is not slow when shutdown.
> > If 'stdvga=0' and 'vnc=1', guest shutdown will be very slow.
> 
> What does turning standard VGA and VNC on mean to the guest? Doesn't
> that mean
> that the VGA adapter is gone from the guest? And is this issue only
> present if you have PCI devices in the guest? Meaning do you get this
> if you boot a normal HVM guest and do 'stdvga=0' and 'vnc='1?

'stdvga=1' will make the guest use a emulated VGA named "Technical Corp. Device 1111".
'stdvga=0' will make the guest use a emulated VGA "Cirrus Logic GD5446".
We found this issue only exist when we shut down the guest in its VNC after we hot remove a PCI device.
As the manual page says, "If your guest supports VBE 2.0 or later (e.g. Windows XP onwards) then you should enable this (stdvga=1)."
I think most of the OS we use today support VBE 2.0 or later. 
And if 'stdvga=1', this issue will not exist.
So, can we set stdvga to TRUE by default in libxl code?

--Jay

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 01:49:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX0go-0000nr-6L; Wed, 23 May 2012 01:48:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SX0gm-0000nh-47
	for xen-devel@lists.xen.org; Wed, 23 May 2012 01:48:36 +0000
Received: from [85.158.143.35:23278] by server-3.bemta-4.messagelabs.com id
	59/FD-05853-3F14CBF4; Wed, 23 May 2012 01:48:35 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337737713!14236477!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgzODUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 468 invoked from network); 23 May 2012 01:48:34 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-21.messagelabs.com with SMTP;
	23 May 2012 01:48:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 22 May 2012 18:48:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103127350"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 22 May 2012 18:48:32 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 18:48:32 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 09:48:30 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Pasi K?rkk?inen <pasik@iki.fi>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: Ac04hiU8rbYGKQRRTfuhLfDn34XMmA==
Date: Wed, 23 May 2012 01:48:29 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C460E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Wu, GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Pasi K=E4rkk=E4inen [mailto:pasik@iki.fi]
> Sent: Friday, May 11, 2012 12:04 AM
> To: Konrad Rzeszutek Wilk
> Cc: Ren, Yongjie; Wu, GabrielX; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> =

> On Thu, May 10, 2012 at 10:38:30AM -0400, Konrad Rzeszutek Wilk wrote:
> > > > > xen-changeset:   25256
> > > > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > > >
> > > > Please update your dom0.
> > >
> > > I think we can use 3.4-RCx kernel as dom0 when sending the report
> next time.
> >
> > Excellent!
> > >
> > > > >
> > > >
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > =3D=3D=3D=3D=3D
> > > > >
> > > > > New issue(1)
> > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > > 1. cpu weight out of range error when create hvm domU
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1818
> > > >
> > > > And what is the guest config? Does it have any cpu weights?
> > >
> > > Added the config in the BZ.  It doesn't have any cpu weight in config.
> > > Some other person also reported this issue in the mailing list several
> days ago.
> >
> > I think some of the Citrix folks were going to take a look at this.
> >
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1730
> > > > > 3. [VT-D]fail to detach NIC from guest
> > > >
> > > > Hmm, the last update is from a year ago. Are you sure this
> > > > is an issue?
> > > >
> > > Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> > > According to our recent testing, it something about VNC console.
> > > Also added some latest info in the BZ.
> > >
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1736
> > > > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore
> guest
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1747
> > > >
> > > > the bug talks about 2.6.32. Can you update it to include the
> > > > 3.4 (or 3.3) dmesg output?
> > > >
> > > This is about 32bit Xen.
> > > As we don't test 32bit Xen for a long time, we may update it when
> we're free.
> > >
> > > > > 5. [VT-D] device reset fail when create/destroy guest
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1752
> > > >
> > > > Does this happen if you manually echo 1 > ../reset? And is this
> > > > an issue with the kernel if you upgrade it to 3.4-rc5?
> > > >
> > > When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> > > "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid
> argument".
> >
> > OK, so then the device can't do reset's properly. Is this the
> > physical adaptor or the virtual one?
> >
> > > This bug only exists when we use 'pcistub' to hide a device.
> >
> > Ok, so it looks like upstream Linux can't do this properly on that devi=
ce.
> >
> > >
> > > > > 8. after detaching a VF from a guest, shutdown the guest is very
> slow
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1812
> > > >
> > > > Where does it slow down? When bringing the NIC down or in specific
> > > > cases?
> > > > Is this an issue with if you are using a different guest (say Fedor=
a Core
> 16?)
> > > >
> > > We found it is related to 'stdgva' option in guest config file.
> > > If 'stdvga=3D1' and 'vnc=3D1', the guest is not slow when shutdown.
> > > If 'stdvga=3D0' and 'vnc=3D1', guest shutdown will be very slow.
> >
> > What does turning standard VGA and VNC on mean to the guest?
> Doesn't that mean
> > that the VGA adapter is gone from the guest? And is this issue only
> > present if you have PCI devices in the guest? Meaning do you get this
> > if you boot a normal HVM guest and do 'stdvga=3D0' and 'vnc=3D'1?
> >
> =

> stdvga=3D0 gives you the emulated Cirrus?
> =

Yes, it's Cirrus Logic GD5446 VGA card.

> -- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 01:49:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 01:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX0go-0000nr-6L; Wed, 23 May 2012 01:48:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SX0gm-0000nh-47
	for xen-devel@lists.xen.org; Wed, 23 May 2012 01:48:36 +0000
Received: from [85.158.143.35:23278] by server-3.bemta-4.messagelabs.com id
	59/FD-05853-3F14CBF4; Wed, 23 May 2012 01:48:35 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337737713!14236477!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgzODUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 468 invoked from network); 23 May 2012 01:48:34 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-21.messagelabs.com with SMTP;
	23 May 2012 01:48:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 22 May 2012 18:48:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103127350"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 22 May 2012 18:48:32 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 22 May 2012 18:48:32 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 09:48:30 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Pasi K?rkk?inen <pasik@iki.fi>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: Ac04hiU8rbYGKQRRTfuhLfDn34XMmA==
Date: Wed, 23 May 2012 01:48:29 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C460E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Wu, GabrielX" <gabrielx.wu@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Pasi K=E4rkk=E4inen [mailto:pasik@iki.fi]
> Sent: Friday, May 11, 2012 12:04 AM
> To: Konrad Rzeszutek Wilk
> Cc: Ren, Yongjie; Wu, GabrielX; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> =

> On Thu, May 10, 2012 at 10:38:30AM -0400, Konrad Rzeszutek Wilk wrote:
> > > > > xen-changeset:   25256
> > > > > Dom0:          linux.git  3.1.0-rc7 (commit: d93dc5c...)
> > > >
> > > > Please update your dom0.
> > >
> > > I think we can use 3.4-RCx kernel as dom0 when sending the report
> next time.
> >
> > Excellent!
> > >
> > > > >
> > > >
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > =3D=3D=3D=3D=3D
> > > > >
> > > > > New issue(1)
> > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > > 1. cpu weight out of range error when create hvm domU
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1818
> > > >
> > > > And what is the guest config? Does it have any cpu weights?
> > >
> > > Added the config in the BZ.  It doesn't have any cpu weight in config.
> > > Some other person also reported this issue in the mailing list several
> days ago.
> >
> > I think some of the Citrix folks were going to take a look at this.
> >
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1730
> > > > > 3. [VT-D]fail to detach NIC from guest
> > > >
> > > > Hmm, the last update is from a year ago. Are you sure this
> > > > is an issue?
> > > >
> > > Yeah, it still exist.  It may be a similar issue with BZ# 1812.
> > > According to our recent testing, it something about VNC console.
> > > Also added some latest info in the BZ.
> > >
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1736
> > > > > 4. Sometimes Xen panic on ia32pae Sandybridge when restore
> guest
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1747
> > > >
> > > > the bug talks about 2.6.32. Can you update it to include the
> > > > 3.4 (or 3.3) dmesg output?
> > > >
> > > This is about 32bit Xen.
> > > As we don't test 32bit Xen for a long time, we may update it when
> we're free.
> > >
> > > > > 5. [VT-D] device reset fail when create/destroy guest
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1752
> > > >
> > > > Does this happen if you manually echo 1 > ../reset? And is this
> > > > an issue with the kernel if you upgrade it to 3.4-rc5?
> > > >
> > > When doing 'echo 1 >../reset', I get the same error as list in the BZ.
> > > "/sys/bus/pci/devices/0000:09:00.0/reset returned -1: Invalid
> argument".
> >
> > OK, so then the device can't do reset's properly. Is this the
> > physical adaptor or the virtual one?
> >
> > > This bug only exists when we use 'pcistub' to hide a device.
> >
> > Ok, so it looks like upstream Linux can't do this properly on that devi=
ce.
> >
> > >
> > > > > 8. after detaching a VF from a guest, shutdown the guest is very
> slow
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=3D1812
> > > >
> > > > Where does it slow down? When bringing the NIC down or in specific
> > > > cases?
> > > > Is this an issue with if you are using a different guest (say Fedor=
a Core
> 16?)
> > > >
> > > We found it is related to 'stdgva' option in guest config file.
> > > If 'stdvga=3D1' and 'vnc=3D1', the guest is not slow when shutdown.
> > > If 'stdvga=3D0' and 'vnc=3D1', guest shutdown will be very slow.
> >
> > What does turning standard VGA and VNC on mean to the guest?
> Doesn't that mean
> > that the VGA adapter is gone from the guest? And is this issue only
> > present if you have PCI devices in the guest? Meaning do you get this
> > if you boot a normal HVM guest and do 'stdvga=3D0' and 'vnc=3D'1?
> >
> =

> stdvga=3D0 gives you the emulated Cirrus?
> =

Yes, it's Cirrus Logic GD5446 VGA card.

> -- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 02:22:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 02:22:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX1DY-0001na-Gy; Wed, 23 May 2012 02:22:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SX1DX-0001nV-9V
	for xen-devel@lists.xen.org; Wed, 23 May 2012 02:22:27 +0000
Received: from [85.158.139.83:10962] by server-8.bemta-5.messagelabs.com id
	55/8B-30118-2E94CBF4; Wed, 23 May 2012 02:22:26 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337739743!27118232!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26235 invoked from network); 23 May 2012 02:22:24 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 02:22:24 -0000
Received: by pbbro12 with SMTP id ro12so9612505pbb.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 19:22:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=t/GvTdMG79dlOV75eY+laql0z7Bw4iai3A+3cqQaJm8=;
	b=o5V9vwpueVaFpz0jabTWdSozqTozRc8wFNLVk5pMD6gWGZLANzb69NbvxfJ+oobA/R
	ZlzY1pnLwFsNucdmfq9qyxgiw/GIO5XParsPaHL0NWXnVoLhHiqDXD7R6z6+GcEQmGUa
	NopMCEzrSXV/tydGpxY6EaNm15fYCZgX3HWQMLD7O/Vqn0/iBFpVfvNMl1w2UHWaRh1H
	hjq50Khpa0pZtLBvIgBCQ0laWrAiXoKxYMnSXCBE8zwx4lUvTHGJP3YNJABxAMKbJfd9
	7YR2S+oSbAU+rHnGYtbNhyaB9ibTUe3KrHt/Vq9VU9y8BEPFGKiHRkKmm+aiVCdJd4+Q
	lMmA==
MIME-Version: 1.0
Received: by 10.68.239.168 with SMTP id vt8mr4624705pbc.123.1337739742133;
	Tue, 22 May 2012 19:22:22 -0700 (PDT)
Received: by 10.68.42.41 with HTTP; Tue, 22 May 2012 19:22:22 -0700 (PDT)
In-Reply-To: <1337692779.10118.126.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
Date: Wed, 23 May 2012 10:22:22 +0800
Message-ID: <CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 9:19 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Mon, 2012-05-21 at 14:16 +0100, Teck Choon Giam wrote:
>
>> vif5.0-emu Link encap:Ethernet =A0HWaddr 1A:58:5C:16:5C:02
>> =A0 =A0 =A0 =A0 =A0 inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
>> =A0 =A0 =A0 =A0 =A0 UP BROADCAST RUNNING MULTICAST =A0MTU:1500 =A0Metric=
:1
>> =A0 =A0 =A0 =A0 =A0 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>> =A0 =A0 =A0 =A0 =A0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
>> =A0 =A0 =A0 =A0 =A0 collisions:0 txqueuelen:500
>> =A0 =A0 =A0 =A0 =A0 RX bytes:0 (0.0 b) =A0TX bytes:280 (280.0 b)
>
> The fact that this interface is up at this point is interesting, didn't
> you mention something about this at another time?

Yes, I did mentioned that $dev is up when test with xm create
hvmdomain with vifname set which cause test #7 to fail.

>
> In the tap dev case I made the rename into:
> =A0 =A0 =A0 =A0 =A0 =A0do_or_die ifconfig "$dev" down
> =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>
> which seemed to workaround the issue for me.

The workaround is identical for mine by bringing the $dev down.

>
> I think the reason this effects xm and not xl is that libxl uses
> script=3Dnone to disable qemu-ifup while xend does not and instead ends up
> using qemu-ifup which does some fiddling with the device too, including
> bringing it up.

Ok, so default for xend is using script=3Dqemu-ifup if script is not
set?  Am I right about this?

>
> The proper fix is probably to change xend, I'm a bit wary of this,
> especially for a 4.1 backport, but the following looks right and works
> for me. It's a bit more complex since in libxl we seem to only do this
> for Linux (i.e. not NetBSD) and I guess we should do the same in xend
> too.

Err... if we are going to change default behaviour will we be
affecting those users who is upgrading from xen-4.1 to xen-4.2?

If your fix patch is going into xen-unstable for sure, I will re-run
my tests by then.  I hope it doesn't affect current domUs
configuration (I mean we shouldn't need to change domU configuration)
especially when users prefer to use xm then xl in xen-4.2.

Thanks.

Kindest regards,
Giam Teck Choon


>
> Ian
>
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337692747 -3600
> # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
> # Parent =A072ca5bc4eb6b91fa8dff51d439bd05f5586179df
> xend: do not run a hotplug script from qemu on Linux
>
> The current vif-hotplug-common.sh for renaming the tap device is failing
> because it is racing with this script and therefore the device is unexpec=
tedly
> up when we come to rename it.
>
> Fix this in the same way as libxl does, by disabling the script (only on
> Linux).
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>
> diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
> --- a/tools/python/xen/xend/image.py =A0 =A0Tue May 22 11:29:50 2012 +0100
> +++ b/tools/python/xen/xend/image.py =A0 =A0Tue May 22 14:19:07 2012 +0100
> @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
> =A0 =A0 =A0 =A0 =A0 =A0 vifname =3D "vif%d.%d-emu" % (self.vm.getDomid(),=
 nics-1)
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> - =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%=
s" %
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge))
> + =A0 =A0 =A0 =A0 =A0 =A0if osdep.tapif_script is not None:
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D",script=3D%s,downscript=3D%s" =
% \
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(osdep.tapif_script, osd=
ep.tapif_script)
> + =A0 =A0 =A0 =A0 =A0 =A0else:
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D""
> + =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%=
s%s" %
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge, scr=
ipt))
>
> =A0 =A0 =A0 =A0 if nics =3D=3D 0:
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
> --- a/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 11:29:50 2012 +0100
> +++ b/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 14:19:07 2012 +0100
> @@ -30,6 +30,10 @@ _vif_script =3D {
> =A0 =A0 "SunOS": "vif-vnic"
> =A0}
>
> +_tapif_script =3D {
> + =A0 =A0"Linux": "no",
> +}
> +
> =A0PROC_XEN_BALLOON =3D '/proc/xen/balloon'
> =A0SYSFS_XEN_MEMORY =3D '/sys/devices/system/xen_memory/xen_memory0'
>
> @@ -257,6 +261,7 @@ def _get(var, default=3DNone):
>
> =A0xend_autorestart =3D _get(_xend_autorestart)
> =A0vif_script =3D _get(_vif_script, "vif-bridge")
> +tapif_script =3D _get(_tapif_script)
> =A0lookup_balloon_stat =3D _get(_balloon_stat, _linux_balloon_stat)
> =A0get_cpuinfo =3D _get(_get_cpuinfo, _linux_get_cpuinfo)
> =A0prefork =3D _get(_get_prefork, _default_prefork)
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 02:22:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 02:22:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX1DY-0001na-Gy; Wed, 23 May 2012 02:22:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SX1DX-0001nV-9V
	for xen-devel@lists.xen.org; Wed, 23 May 2012 02:22:27 +0000
Received: from [85.158.139.83:10962] by server-8.bemta-5.messagelabs.com id
	55/8B-30118-2E94CBF4; Wed, 23 May 2012 02:22:26 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337739743!27118232!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26235 invoked from network); 23 May 2012 02:22:24 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 02:22:24 -0000
Received: by pbbro12 with SMTP id ro12so9612505pbb.32
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 19:22:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=t/GvTdMG79dlOV75eY+laql0z7Bw4iai3A+3cqQaJm8=;
	b=o5V9vwpueVaFpz0jabTWdSozqTozRc8wFNLVk5pMD6gWGZLANzb69NbvxfJ+oobA/R
	ZlzY1pnLwFsNucdmfq9qyxgiw/GIO5XParsPaHL0NWXnVoLhHiqDXD7R6z6+GcEQmGUa
	NopMCEzrSXV/tydGpxY6EaNm15fYCZgX3HWQMLD7O/Vqn0/iBFpVfvNMl1w2UHWaRh1H
	hjq50Khpa0pZtLBvIgBCQ0laWrAiXoKxYMnSXCBE8zwx4lUvTHGJP3YNJABxAMKbJfd9
	7YR2S+oSbAU+rHnGYtbNhyaB9ibTUe3KrHt/Vq9VU9y8BEPFGKiHRkKmm+aiVCdJd4+Q
	lMmA==
MIME-Version: 1.0
Received: by 10.68.239.168 with SMTP id vt8mr4624705pbc.123.1337739742133;
	Tue, 22 May 2012 19:22:22 -0700 (PDT)
Received: by 10.68.42.41 with HTTP; Tue, 22 May 2012 19:22:22 -0700 (PDT)
In-Reply-To: <1337692779.10118.126.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
Date: Wed, 23 May 2012 10:22:22 +0800
Message-ID: <CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 9:19 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Mon, 2012-05-21 at 14:16 +0100, Teck Choon Giam wrote:
>
>> vif5.0-emu Link encap:Ethernet =A0HWaddr 1A:58:5C:16:5C:02
>> =A0 =A0 =A0 =A0 =A0 inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link
>> =A0 =A0 =A0 =A0 =A0 UP BROADCAST RUNNING MULTICAST =A0MTU:1500 =A0Metric=
:1
>> =A0 =A0 =A0 =A0 =A0 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>> =A0 =A0 =A0 =A0 =A0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
>> =A0 =A0 =A0 =A0 =A0 collisions:0 txqueuelen:500
>> =A0 =A0 =A0 =A0 =A0 RX bytes:0 (0.0 b) =A0TX bytes:280 (280.0 b)
>
> The fact that this interface is up at this point is interesting, didn't
> you mention something about this at another time?

Yes, I did mentioned that $dev is up when test with xm create
hvmdomain with vifname set which cause test #7 to fail.

>
> In the tap dev case I made the rename into:
> =A0 =A0 =A0 =A0 =A0 =A0do_or_die ifconfig "$dev" down
> =A0 =A0 =A0 =A0 =A0 =A0do_or_die ip link set "$dev" name "$vifname"
>
> which seemed to workaround the issue for me.

The workaround is identical for mine by bringing the $dev down.

>
> I think the reason this effects xm and not xl is that libxl uses
> script=3Dnone to disable qemu-ifup while xend does not and instead ends up
> using qemu-ifup which does some fiddling with the device too, including
> bringing it up.

Ok, so default for xend is using script=3Dqemu-ifup if script is not
set?  Am I right about this?

>
> The proper fix is probably to change xend, I'm a bit wary of this,
> especially for a 4.1 backport, but the following looks right and works
> for me. It's a bit more complex since in libxl we seem to only do this
> for Linux (i.e. not NetBSD) and I guess we should do the same in xend
> too.

Err... if we are going to change default behaviour will we be
affecting those users who is upgrading from xen-4.1 to xen-4.2?

If your fix patch is going into xen-unstable for sure, I will re-run
my tests by then.  I hope it doesn't affect current domUs
configuration (I mean we shouldn't need to change domU configuration)
especially when users prefer to use xm then xl in xen-4.2.

Thanks.

Kindest regards,
Giam Teck Choon


>
> Ian
>
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337692747 -3600
> # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
> # Parent =A072ca5bc4eb6b91fa8dff51d439bd05f5586179df
> xend: do not run a hotplug script from qemu on Linux
>
> The current vif-hotplug-common.sh for renaming the tap device is failing
> because it is racing with this script and therefore the device is unexpec=
tedly
> up when we come to rename it.
>
> Fix this in the same way as libxl does, by disabling the script (only on
> Linux).
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>
> diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
> --- a/tools/python/xen/xend/image.py =A0 =A0Tue May 22 11:29:50 2012 +0100
> +++ b/tools/python/xen/xend/image.py =A0 =A0Tue May 22 14:19:07 2012 +0100
> @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
> =A0 =A0 =A0 =A0 =A0 =A0 vifname =3D "vif%d.%d-emu" % (self.vm.getDomid(),=
 nics-1)
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> - =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%=
s" %
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge))
> + =A0 =A0 =A0 =A0 =A0 =A0if osdep.tapif_script is not None:
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D",script=3D%s,downscript=3D%s" =
% \
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(osdep.tapif_script, osd=
ep.tapif_script)
> + =A0 =A0 =A0 =A0 =A0 =A0else:
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D""
> + =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=3D%=
s%s" %
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge, scr=
ipt))
>
> =A0 =A0 =A0 =A0 if nics =3D=3D 0:
> =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
> diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
> --- a/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 11:29:50 2012 +0100
> +++ b/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 14:19:07 2012 +0100
> @@ -30,6 +30,10 @@ _vif_script =3D {
> =A0 =A0 "SunOS": "vif-vnic"
> =A0}
>
> +_tapif_script =3D {
> + =A0 =A0"Linux": "no",
> +}
> +
> =A0PROC_XEN_BALLOON =3D '/proc/xen/balloon'
> =A0SYSFS_XEN_MEMORY =3D '/sys/devices/system/xen_memory/xen_memory0'
>
> @@ -257,6 +261,7 @@ def _get(var, default=3DNone):
>
> =A0xend_autorestart =3D _get(_xend_autorestart)
> =A0vif_script =3D _get(_vif_script, "vif-bridge")
> +tapif_script =3D _get(_tapif_script)
> =A0lookup_balloon_stat =3D _get(_balloon_stat, _linux_balloon_stat)
> =A0get_cpuinfo =3D _get(_get_cpuinfo, _linux_get_cpuinfo)
> =A0prefork =3D _get(_get_prefork, _default_prefork)
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 03:09:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 03:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX1x7-0002Ol-Gi; Wed, 23 May 2012 03:09:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <afaerber@suse.de>) id 1SX1x5-0002Oa-HV
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 03:09:32 +0000
Received: from [193.109.254.147:20940] by server-11.bemta-14.messagelabs.com
	id 5B/A6-05858-AE45CBF4; Wed, 23 May 2012 03:09:30 +0000
X-Env-Sender: afaerber@suse.de
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337742567!3006156!1
X-Originating-IP: [195.135.220.15]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22807 invoked from network); 23 May 2012 03:09:27 -0000
Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 03:09:27 -0000
Received: from relay1.suse.de (unknown [195.135.220.254])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx2.suse.de (Postfix) with ESMTP id DA1BA979ED;
	Wed, 23 May 2012 05:09:26 +0200 (CEST)
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
To: qemu-devel@nongnu.org
Date: Wed, 23 May 2012 05:08:22 +0200
Message-Id: <1337742502-28565-60-git-send-email-afaerber@suse.de>
X-Mailer: git-send-email 1.7.7
In-Reply-To: <1337742502-28565-1-git-send-email-afaerber@suse.de>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
MIME-Version: 1.0
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Anthony Liguori <aliguori@us.ibm.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	"open list:Overall" <kvm@vger.kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Paul Brook <paul@codesourcery.com>, Marcelo Tosatti <mtosatti@redhat.com>,
	Alexander Graf <agraf@suse.de>, Blue Swirl <blauwirbel@gmail.com>,
	Max Filippov <jcmvbkbc@gmail.com>, Michael Walle <michael@walle.cc>,
	"open list:PowerPC" <qemu-ppc@nongnu.org>, Avi Kivity <avi@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>,
	=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>,
	Aurelien Jarno <aurelien@aurel32.net>, Richard Henderson <rth@twiddle.net>
Subject: [Xen-devel] [PATCH qom-next 59/59] cpu: Move halted and
	interrupt_request to CPUState
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Rm9yIHRhcmdldC1jcmlzIHVzZSBpMzIgZm9yIGhhbHRlZCBpbnN0ZWFkIG9mIHRsLiBUaGlzIGVm
ZmVjdGl2ZWx5IG1ha2VzCm5vIGRpZmZlcmVuY2Ugc2luY2UgaXQgaXMgMzItYml0LgoKRm9yIFhl
biBwYXNzIENQVVN0YXRlIHRvIHhlbl9yZXNldF92Y3B1KCkuCgpTaWduZWQtb2ZmLWJ5OiBBbmRy
ZWFzIEbDpHJiZXIgPGFmYWVyYmVyQHN1c2UuZGU+Ci0tLQogY3B1LWRlZnMuaCAgICAgICAgICAg
ICAgICB8ICAgIDIgLQogY3B1LWV4ZWMuYyAgICAgICAgICAgICAgICB8ICAgMzIgKysrKysrKysr
KysrKysrLS0tLS0tLS0tLS0tLQogY3B1cy5jICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0K
IGV4ZWMuYyAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrKysrKysrKysrKysrKysrKysrLS0t
LS0tLS0tLS0KIGdkYnN0dWIuYyAgICAgICAgICAgICAgICAgfCAgICA0ICsrLQogaHcvbGVvbjMu
YyAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIGh3L29tYXAxLmMgICAgICAgICAgICAgICAgfCAg
ICA0ICstCiBody9wYy5jICAgICAgICAgICAgICAgICAgIHwgICAgNiArKy0tCiBody9wcGMuYyAg
ICAgICAgICAgICAgICAgIHwgICAxMCArKysrLS0tLQogaHcvcHBjZTUwMF9tcGM4NTQ0ZHMuYyAg
ICB8ICAgIDQgKy0KIGh3L3BwY2U1MDBfc3Bpbi5jICAgICAgICAgfCAgICAyICstCiBody9weGEy
eHhfZ3Bpby5jICAgICAgICAgIHwgICAgMyArLQogaHcvcHhhMnh4X3BpYy5jICAgICAgICAgICB8
ICAgIDIgKy0KIGh3L3MzOTAtdmlydGlvLmMgICAgICAgICAgfCAgIDE0ICsrKysrKysrLS0tLQog
aHcvc3BhcHIuYyAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIGh3L3NwYXByX2hjYWxsLmMgICAg
ICAgICAgfCAgICAyICstCiBody9zcGFwcl9ydGFzLmMgICAgICAgICAgIHwgICAgOCArKysrLS0K
IGh3L3N1bjRtLmMgICAgICAgICAgICAgICAgfCAgIDE4ICsrKysrKystLS0tLS0tLS0KIGh3L3N1
bjR1LmMgICAgICAgICAgICAgICAgfCAgICA5ICsrKystLS0KIGh3L3hlbl9tYWNoaW5lX3B2LmMg
ICAgICAgfCAgICA0ICstLQogaHcveHRlbnNhX3BpYy5jICAgICAgICAgICB8ICAgIDUgKystCiBp
bmNsdWRlL3FlbXUvY3B1LmggICAgICAgIHwgICAgNCArKysKIGt2bS1hbGwuYyAgICAgICAgICAg
ICAgICAgfCAgICAyICstCiBxb20vY3B1LmMgICAgICAgICAgICAgICAgIHwgICAgMiArCiB0YXJn
ZXQtYWxwaGEvY3B1LmggICAgICAgIHwgICAgNCArLS0KIHRhcmdldC1hbHBoYS90cmFuc2xhdGUu
YyAgfCAgICAzICstCiB0YXJnZXQtYXJtL2NwdS5oICAgICAgICAgIHwgICAgNCArLS0KIHRhcmdl
dC1hcm0vaGVscGVyLmMgICAgICAgfCAgICAzICstCiB0YXJnZXQtYXJtL29wX2hlbHBlci5jICAg
IHwgICAgNCArKy0KIHRhcmdldC1jcmlzL2NwdS5oICAgICAgICAgfCAgICA0ICstLQogdGFyZ2V0
LWNyaXMvdHJhbnNsYXRlLmMgICB8ICAgIDQgKystCiB0YXJnZXQtaTM4Ni9jcHUuaCAgICAgICAg
IHwgICAgNiArKy0tCiB0YXJnZXQtaTM4Ni9oZWxwZXIuYyAgICAgIHwgICAxNCArKysrKysrLS0t
LS0KIHRhcmdldC1pMzg2L2t2bS5jICAgICAgICAgfCAgIDQ5ICsrKysrKysrKysrKysrKysrKysr
KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0YXJnZXQtaTM4Ni9vcF9oZWxwZXIuYyAgIHwgICAx
MyArKysrKysrKy0tLQogdGFyZ2V0LWxtMzIvY3B1LmggICAgICAgICB8ICAgIDQgKy0tCiB0YXJn
ZXQtbG0zMi9vcF9oZWxwZXIuYyAgIHwgICAgNCArKy0KIHRhcmdldC1tNjhrL2NwdS5oICAgICAg
ICAgfCAgICA0ICstLQogdGFyZ2V0LW02OGsvb3BfaGVscGVyLmMgICB8ICAgIDMgKy0KIHRhcmdl
dC1tNjhrL3FyZWdzLmRlZiAgICAgfCAgICAxIC0KIHRhcmdldC1tNjhrL3RyYW5zbGF0ZS5jICAg
fCAgICA2ICsrKysrCiB0YXJnZXQtbWljcm9ibGF6ZS9jcHUuaCAgIHwgICAgNCArLS0KIHRhcmdl
dC1taXBzL2NwdS5oICAgICAgICAgfCAgICA0ICstCiB0YXJnZXQtbWlwcy9vcF9oZWxwZXIuYyAg
IHwgICAxMSArKysrKystLS0KIHRhcmdldC1taXBzL3RyYW5zbGF0ZS5jICAgfCAgICA4ICsrKysr
LQogdGFyZ2V0LXBwYy9jcHUuaCAgICAgICAgICB8ICAgIDIgKy0KIHRhcmdldC1wcGMvaGVscGVy
LmMgICAgICAgfCAgICA0ICstCiB0YXJnZXQtcHBjL2hlbHBlcl9yZWdzLmggIHwgICAgNyArKysr
LQogdGFyZ2V0LXBwYy9rdm0uYyAgICAgICAgICB8ICAgMTMgKysrKysrKystLS0KIHRhcmdldC1w
cGMvb3BfaGVscGVyLmMgICAgfCAgICA4ICsrKysrLQogdGFyZ2V0LXBwYy90cmFuc2xhdGUuYyAg
ICB8ICAgIDMgKy0KIHRhcmdldC1zMzkweC9jcHUuaCAgICAgICAgfCAgICAyICstCiB0YXJnZXQt
czM5MHgvaGVscGVyLmMgICAgIHwgICAxMCArKysrKystLQogdGFyZ2V0LXMzOTB4L2t2bS5jICAg
ICAgICB8ICAgIDQgKystCiB0YXJnZXQtc2g0L2NwdS5oICAgICAgICAgIHwgICAgNCArLS0KIHRh
cmdldC1zaDQvaGVscGVyLmMgICAgICAgfCAgICA1ICsrLQogdGFyZ2V0LXNoNC9vcF9oZWxwZXIu
YyAgICB8ICAgIDQgKystCiB0YXJnZXQtc3BhcmMvY3B1LmggICAgICAgIHwgICAgMiArLQogdGFy
Z2V0LXVuaWNvcmUzMi9jcHUuaCAgICB8ICAgIDQgKy0tCiB0YXJnZXQteHRlbnNhL29wX2hlbHBl
ci5jIHwgICAgNCArKy0KIHhlbi1hbGwuYyAgICAgICAgICAgICAgICAgfCAgIDEwICsrKysrLS0t
CiA2MSBmaWxlcyBjaGFuZ2VkLCAyNDQgaW5zZXJ0aW9ucygrKSwgMTgwIGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL2NwdS1kZWZzLmggYi9jcHUtZGVmcy5oCmluZGV4IGQ4NDY2NzQuLmJjODUx
ZmQgMTAwNjQ0Ci0tLSBhL2NwdS1kZWZzLmgKKysrIGIvY3B1LWRlZnMuaApAQCAtMTYyLDggKzE2
Miw2IEBAIHR5cGVkZWYgc3RydWN0IENQVVdhdGNocG9pbnQgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjY2Vzc2VkICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgIHRhcmdldF91bG9uZyBtZW1faW9fdmFkZHI7IC8qIHRhcmdldCB2aXJ0dWFsIGFkZHIgYXQg
d2hpY2ggdGhlICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1l
bW9yeSB3YXMgYWNjZXNzZWQgKi8gICAgICAgICAgICAgXAotICAgIHVpbnQzMl90IGhhbHRlZDsg
LyogTm9uemVybyBpZiB0aGUgQ1BVIGlzIGluIHN1c3BlbmQgc3RhdGUgKi8gICAgICAgXAotICAg
IHVpbnQzMl90IGludGVycnVwdF9yZXF1ZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBleGl0X3JlcXVlc3Q7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIENQVV9DT01NT05fVExCICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHN0
cnVjdCBUcmFuc2xhdGlvbkJsb2NrICp0Yl9qbXBfY2FjaGVbVEJfSk1QX0NBQ0hFX1NJWkVdOyAg
ICAgICAgICAgXApkaWZmIC0tZ2l0IGEvY3B1LWV4ZWMuYyBiL2NwdS1leGVjLmMKaW5kZXggZGEw
YzE3YS4uNTY3NGJhYyAxMDA2NDQKLS0tIGEvY3B1LWV4ZWMuYworKysgYi9jcHUtZXhlYy5jCkBA
IC0xOTAsMTIgKzE5MCwxMiBAQCBpbnQgY3B1X2V4ZWMoQ1BVQXJjaFN0YXRlICplbnYpCiAgICAg
dWludDhfdCAqdGNfcHRyOwogICAgIHRjZ190YXJnZXRfdWxvbmcgbmV4dF90YjsKIAotICAgIGlm
IChlbnYtPmhhbHRlZCkgeworICAgIGlmIChjcHUtPmhhbHRlZCkgewogICAgICAgICBpZiAoIWNw
dV9oYXNfd29yayhjcHUpKSB7CiAgICAgICAgICAgICByZXR1cm4gRVhDUF9IQUxURUQ7CiAgICAg
ICAgIH0KIAotICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgIGNwdS0+aGFsdGVkID0g
MDsKICAgICB9CiAKICAgICBjcHVfc2luZ2xlX2VudiA9IGVudjsKQEAgLTI2NCwxNCArMjY0LDE0
IEBAIGludCBjcHVfZXhlYyhDUFVBcmNoU3RhdGUgKmVudikKIAogICAgICAgICAgICAgbmV4dF90
YiA9IDA7IC8qIGZvcmNlIGxvb2t1cCBvZiBmaXJzdCBUQiAqLwogICAgICAgICAgICAgZm9yKDs7
KSB7Ci0gICAgICAgICAgICAgICAgaW50ZXJydXB0X3JlcXVlc3QgPSBlbnYtPmludGVycnVwdF9y
ZXF1ZXN0OworICAgICAgICAgICAgICAgIGludGVycnVwdF9yZXF1ZXN0ID0gY3B1LT5pbnRlcnJ1
cHRfcmVxdWVzdDsKICAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkoaW50ZXJydXB0X3JlcXVl
c3QpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh1bmxpa2VseShlbnYtPnNpbmdsZXN0ZXBf
ZW5hYmxlZCAmIFNTVEVQX05PSVJRKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgLyogTWFz
ayBvdXQgZXh0ZXJuYWwgaW50ZXJydXB0cyBmb3IgdGhpcyBzdGVwLiAqLwogICAgICAgICAgICAg
ICAgICAgICAgICAgaW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfU1NURVBfTUFT
SzsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJy
dXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0RFQlVHKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX0RFQlVHOworICAg
ICAgICAgICAgICAgICAgICAgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVS
UlVQVF9ERUJVRzsKICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4
ID0gRVhDUF9ERUJVRzsKICAgICAgICAgICAgICAgICAgICAgICAgIGNwdV9sb29wX2V4aXQoZW52
KTsKICAgICAgICAgICAgICAgICAgICAgfQpAQCAtMjc5LDggKzI3OSw4IEBAIGludCBjcHVfZXhl
YyhDUFVBcmNoU3RhdGUgKmVudikKICAgICBkZWZpbmVkKFRBUkdFVF9QUEMpIHx8IGRlZmluZWQo
VEFSR0VUX0FMUEhBKSB8fCBkZWZpbmVkKFRBUkdFVF9DUklTKSB8fCBcCiAgICAgZGVmaW5lZChU
QVJHRVRfTUlDUk9CTEFaRSkgfHwgZGVmaW5lZChUQVJHRVRfTE0zMikgfHwgZGVmaW5lZChUQVJH
RVRfVU5JQ09SRTMyKQogICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX0hBTFQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+aW50
ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFMVDsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNwdS0+aW50
ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFMVDsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNwdS0+aGFsdGVkID0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+ZXhj
ZXB0aW9uX2luZGV4ID0gRVhDUF9ITFQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBjcHVfbG9v
cF9leGl0KGVudik7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTI5NywxNyArMjk3LDE3IEBA
IGludCBjcHVfZXhlYyhDUFVBcmNoU3RhdGUgKmVudikKICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICgoaW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1NNSSkgJiYKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhKGVudi0+aGZsYWdzICYgSEZfU01NX01BU0spKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3ZtX2NoZWNrX2ludGVyY2VwdChlbnYsIFNWTV9FWElU
X1NNSSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVz
dCAmPSB+Q1BVX0lOVEVSUlVQVF9TTUk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1
LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9TTUk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG9fc21tX2VudGVyKGVudik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbmV4dF90YiA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChp
bnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTk1JKSAmJgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhKGVudi0+aGZsYWdzMiAmIEhGMl9OTUlfTUFTSykpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVf
SU5URVJSVVBUX05NSTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHUtPmludGVycnVw
dF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX05NSTsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbnYtPmhmbGFnczIgfD0gSEYyX05NSV9NQVNLOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvX2ludGVycnVwdF94ODZfaGFyZGlycShlbnYsIEVYQ1AwMl9OTUksIDEpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmIChpbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTUNFKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+
Q1BVX0lOVEVSUlVQVF9NQ0U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9NQ0U7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9faW50ZXJydXB0X3g4Nl9oYXJkaXJxKGVudiwgRVhDUDEyX01DSEssIDApOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICgoaW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hB
UkQpICYmCkBAIC0zMTgsNyArMzE4LDggQEAgaW50IGNwdV9leGVjKENQVUFyY2hTdGF0ZSAqZW52
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhKGVudi0+aGZsYWdzICYg
SEZfSU5ISUJJVF9JUlFfTUFTSykpKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaW50bm87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZtX2NoZWNrX2ludGVyY2Vw
dChlbnYsIFNWTV9FWElUX0lOVFIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+
aW50ZXJydXB0X3JlcXVlc3QgJj0gfihDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5URVJSVVBU
X1ZJUlEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVl
c3QgJj0gfihDUFVfSU5URVJSVVBUX0hBUkQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUFVfSU5URVJSVVBUX1ZJUlEpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludG5vID0gY3B1X2dldF9waWNfaW50ZXJydXB0KGVudik7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcWVtdV9sb2dfbWFzayhDUFVfTE9HX1RCX0lO
X0FTTSwgIlNlcnZpY2luZyBoYXJkd2FyZSBJTlQ9MHglMDJ4XG4iLCBpbnRubyk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG9faW50ZXJydXB0X3g4Nl9oYXJkaXJxKGVudiwgaW50bm8s
IDEpOwpAQCAtMzM1LDcgKzMzNiw3IEBAIGludCBjcHVfZXhlYyhDUFVBcmNoU3RhdGUgKmVudikK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRubyA9IGxkbF9waHlzKGVudi0+dm1fdm1j
YiArIG9mZnNldG9mKHN0cnVjdCB2bWNiLCBjb250cm9sLmludF92ZWN0b3IpKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBxZW11X2xvZ19tYXNrKENQVV9MT0dfVEJfSU5fQVNNLCAiU2Vy
dmljaW5nIHZpcnR1YWwgaGFyZHdhcmUgSU5UPTB4JTAyeFxuIiwgaW50bm8pOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvX2ludGVycnVwdF94ODZfaGFyZGlycShlbnYsIGludG5vLCAx
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9
IH5DUFVfSU5URVJSVVBUX1ZJUlE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5p
bnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9WSVJROwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAg
ICB9CkBAIC0zNDYsOCArMzQ3LDkgQEAgaW50IGNwdV9leGVjKENQVUFyY2hTdGF0ZSAqZW52KQog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcnJ1cHRf
cmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgewogICAgICAgICAgICAgICAgICAgICAgICAg
cHBjX2h3X2ludGVycnVwdChlbnYpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudi0+
cGVuZGluZ19pbnRlcnJ1cHRzID09IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52
LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9IQVJEOworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKGVudi0+cGVuZGluZ19pbnRlcnJ1cHRzID09IDApIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJS
VVBUX0hBUkQ7CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
ICAgICBuZXh0X3RiID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogI2VsaWYgZGVmaW5lZChU
QVJHRVRfTE0zMikKQEAgLTQ5OSw4ICs1MDEsOCBAQCBpbnQgY3B1X2V4ZWMoQ1BVQXJjaFN0YXRl
ICplbnYpCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAvKiBEb24ndCB1c2UgdGhlIGNhY2hl
ZCBpbnRlcnJ1cHRfcmVxdWVzdCB2YWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICBkb19pbnRl
cnJ1cHQgbWF5IGhhdmUgdXBkYXRlZCB0aGUgRVhJVFRCIGZsYWcuICovCi0gICAgICAgICAgICAg
ICAgICAgIGlmIChlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9FWElUVEIp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQ
VV9JTlRFUlJVUFRfRVhJVFRCOworICAgICAgICAgICAgICAgICAgICBpZiAoY3B1LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfRVhJVFRCKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX0VYSVRUQjsKICAg
ICAgICAgICAgICAgICAgICAgICAgIC8qIGVuc3VyZSB0aGF0IG5vIFRCIGp1bXAgd2lsbCBiZSBt
b2RpZmllZCBhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHByb2dyYW0gZmxvdyB3
YXMgY2hhbmdlZCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgbmV4dF90YiA9IDA7CmRpZmYg
LS1naXQgYS9jcHVzLmMgYi9jcHVzLmMKaW5kZXggYTQwMzYyOS4uMjI3ZWYyZiAxMDA2NDQKLS0t
IGEvY3B1cy5jCisrKyBiL2NwdXMuYwpAQCAtNDQzLDcgKzQ0Myw3IEBAIHN0YXRpYyBib29sIGNw
dV90aHJlYWRfaXNfaWRsZShDUFVBcmNoU3RhdGUgKmVudikKICAgICBpZiAoY3B1LT5zdG9wcGVk
IHx8ICFydW5zdGF0ZV9pc19ydW5uaW5nKCkpIHsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQotICAgIGlmICghZW52LT5oYWx0ZWQgfHwgcWVtdV9jcHVfaGFzX3dvcmsoY3B1KSB8fCBrdm1f
aXJxY2hpcF9pbl9rZXJuZWwoKSkgeworICAgIGlmICghY3B1LT5oYWx0ZWQgfHwgcWVtdV9jcHVf
aGFzX3dvcmsoY3B1KSB8fCBrdm1faXJxY2hpcF9pbl9rZXJuZWwoKSkgewogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwpAQCAtMTIxNCw3ICsxMjE0LDcgQEAg
Q3B1SW5mb0xpc3QgKnFtcF9xdWVyeV9jcHVzKEVycm9yICoqZXJycCkKICAgICAgICAgaW5mby0+
dmFsdWUgPSBnX21hbGxvYzAoc2l6ZW9mKCppbmZvLT52YWx1ZSkpOwogICAgICAgICBpbmZvLT52
YWx1ZS0+Q1BVID0gZW52LT5jcHVfaW5kZXg7CiAgICAgICAgIGluZm8tPnZhbHVlLT5jdXJyZW50
ID0gKGVudiA9PSBmaXJzdF9jcHUpOwotICAgICAgICBpbmZvLT52YWx1ZS0+aGFsdGVkID0gZW52
LT5oYWx0ZWQ7CisgICAgICAgIGluZm8tPnZhbHVlLT5oYWx0ZWQgPSBjcHUtPmhhbHRlZDsKICAg
ICAgICAgaW5mby0+dmFsdWUtPnRocmVhZF9pZCA9IGNwdS0+dGhyZWFkX2lkOwogI2lmIGRlZmlu
ZWQoVEFSR0VUX0kzODYpCiAgICAgICAgIGluZm8tPnZhbHVlLT5oYXNfcGMgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvZXhlYy5jIGIvZXhlYy5jCmluZGV4IDhkMmZhN2EuLmY2MmU2NDMgMTAwNjQ0Ci0t
LSBhL2V4ZWMuYworKysgYi9leGVjLmMKQEAgLTY1NCwxMiArNjU0LDEyIEBAIHZvaWQgY3B1X2V4
ZWNfaW5pdF9hbGwodm9pZCkKIAogc3RhdGljIGludCBjcHVfY29tbW9uX3Bvc3RfbG9hZCh2b2lk
ICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQogewotICAgIENQVUFyY2hTdGF0ZSAqZW52ID0gb3Bh
cXVlOworICAgIENQVVN0YXRlICpjcHUgPSBvcGFxdWU7CiAKICAgICAvKiAweDAxIHdhcyBDUFVf
SU5URVJSVVBUX0VYSVQuIFRoaXMgbGluZSBjYW4gYmUgcmVtb3ZlZCB3aGVuIHRoZQogICAgICAg
IHZlcnNpb25faWQgaXMgaW5jcmVhc2VkLiAqLwotICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3Qg
Jj0gfjB4MDE7Ci0gICAgdGxiX2ZsdXNoKGVudiwgMSk7CisgICAgY3B1LT5pbnRlcnJ1cHRfcmVx
dWVzdCAmPSB+MHgwMTsKKyAgICBjcHVfdGxiX2ZsdXNoKGNwdSwgdHJ1ZSk7CiAKICAgICByZXR1
cm4gMDsKIH0KQEAgLTY3MSw4ICs2NzEsOCBAQCBzdGF0aWMgY29uc3QgVk1TdGF0ZURlc2NyaXB0
aW9uIHZtc3RhdGVfY3B1X2NvbW1vbiA9IHsKICAgICAubWluaW11bV92ZXJzaW9uX2lkX29sZCA9
IDEsCiAgICAgLnBvc3RfbG9hZCA9IGNwdV9jb21tb25fcG9zdF9sb2FkLAogICAgIC5maWVsZHMg
ICAgICA9IChWTVN0YXRlRmllbGQgW10pIHsKLSAgICAgICAgVk1TVEFURV9VSU5UMzIoaGFsdGVk
LCBDUFVBcmNoU3RhdGUpLAotICAgICAgICBWTVNUQVRFX1VJTlQzMihpbnRlcnJ1cHRfcmVxdWVz
dCwgQ1BVQXJjaFN0YXRlKSwKKyAgICAgICAgVk1TVEFURV9VSU5UMzIoaGFsdGVkLCBDUFVTdGF0
ZSksCisgICAgICAgIFZNU1RBVEVfVUlOVDMyKGludGVycnVwdF9yZXF1ZXN0LCBDUFVTdGF0ZSks
CiAgICAgICAgIFZNU1RBVEVfRU5EX09GX0xJU1QoKQogICAgIH0KIH07CkBAIC03MjEsNyArNzIx
LDcgQEAgdm9pZCBjcHVfZXhlY19pbml0KENQVUFyY2hTdGF0ZSAqZW52KQogICAgIGNwdV9saXN0
X3VubG9jaygpOwogI2VuZGlmCiAjaWYgZGVmaW5lZChDUFVfU0FWRV9WRVJTSU9OKSAmJiAhZGVm
aW5lZChDT05GSUdfVVNFUl9PTkxZKQotICAgIHZtc3RhdGVfcmVnaXN0ZXIoTlVMTCwgY3B1X2lu
ZGV4LCAmdm1zdGF0ZV9jcHVfY29tbW9uLCBlbnYpOworICAgIHZtc3RhdGVfcmVnaXN0ZXIoTlVM
TCwgY3B1X2luZGV4LCAmdm1zdGF0ZV9jcHVfY29tbW9uLCBFTlZfR0VUX0NQVShlbnYpKTsKICAg
ICByZWdpc3Rlcl9zYXZldm0oTlVMTCwgImNwdSIsIGNwdV9pbmRleCwgQ1BVX1NBVkVfVkVSU0lP
TiwKICAgICAgICAgICAgICAgICAgICAgY3B1X3NhdmUsIGNwdV9sb2FkLCBlbnYpOwogI2VuZGlm
CkBAIC0xMTA0LDYgKzExMDQsNyBAQCB2b2lkIHRiX2ludmFsaWRhdGVfcGh5c19wYWdlX3Jhbmdl
KHRiX3BhZ2VfYWRkcl90IHN0YXJ0LCB0Yl9wYWdlX2FkZHJfdCBlbmQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBpc19jcHVfd3JpdGVfYWNjZXNzKQogewogICAgIFRy
YW5zbGF0aW9uQmxvY2sgKnRiLCAqdGJfbmV4dCwgKnNhdmVkX3RiOworICAgIENQVVN0YXRlICpj
cHUgPSBOVUxMOwogICAgIENQVUFyY2hTdGF0ZSAqZW52ID0gY3B1X3NpbmdsZV9lbnY7CiAgICAg
dGJfcGFnZV9hZGRyX3QgdGJfc3RhcnQsIHRiX2VuZDsKICAgICBQYWdlRGVzYyAqcDsKQEAgLTEx
MTcsNiArMTExOCwxMCBAQCB2b2lkIHRiX2ludmFsaWRhdGVfcGh5c19wYWdlX3JhbmdlKHRiX3Bh
Z2VfYWRkcl90IHN0YXJ0LCB0Yl9wYWdlX2FkZHJfdCBlbmQsCiAgICAgaW50IGN1cnJlbnRfZmxh
Z3MgPSAwOwogI2VuZGlmIC8qIFRBUkdFVF9IQVNfUFJFQ0lTRV9TTUMgKi8KIAorICAgIGlmIChl
bnYgIT0gTlVMTCkgeworICAgICAgICBjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworICAgIH0KKwog
ICAgIHAgPSBwYWdlX2ZpbmQoc3RhcnQgPj4gVEFSR0VUX1BBR0VfQklUUyk7CiAgICAgaWYgKCFw
KQogICAgICAgICByZXR1cm47CkBAIC0xMTc4LDggKzExODMsOSBAQCB2b2lkIHRiX2ludmFsaWRh
dGVfcGh5c19wYWdlX3JhbmdlKHRiX3BhZ2VfYWRkcl90IHN0YXJ0LCB0Yl9wYWdlX2FkZHJfdCBl
bmQsCiAgICAgICAgICAgICB0Yl9waHlzX2ludmFsaWRhdGUodGIsIC0xKTsKICAgICAgICAgICAg
IGlmIChlbnYpIHsKICAgICAgICAgICAgICAgICBlbnYtPmN1cnJlbnRfdGIgPSBzYXZlZF90YjsK
LSAgICAgICAgICAgICAgICBpZiAoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmJiBlbnYtPmN1cnJl
bnRfdGIpCi0gICAgICAgICAgICAgICAgICAgIGNwdV9pbnRlcnJ1cHQoZW52LCBlbnYtPmludGVy
cnVwdF9yZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBpZiAoY3B1LT5pbnRlcnJ1cHRfcmVxdWVz
dCAmJiBlbnYtPmN1cnJlbnRfdGIpIHsKKyAgICAgICAgICAgICAgICAgICAgY3B1X2ludGVycnVw
dChlbnYsIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QpOworICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICB0YiA9IHRiX25leHQ7CkBAIC0xNzQwLDggKzE3
NDYsOCBAQCBzdGF0aWMgdm9pZCB0Y2dfaGFuZGxlX2ludGVycnVwdChDUFVBcmNoU3RhdGUgKmVu
diwgaW50IG1hc2spCiAgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAg
aW50IG9sZF9tYXNrOwogCi0gICAgb2xkX21hc2sgPSBlbnYtPmludGVycnVwdF9yZXF1ZXN0Owot
ICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgfD0gbWFzazsKKyAgICBvbGRfbWFzayA9IGNwdS0+
aW50ZXJydXB0X3JlcXVlc3Q7CisgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCB8PSBtYXNrOwog
CiAgICAgLyoKICAgICAgKiBJZiBjYWxsZWQgZnJvbSBpb3RocmVhZCBjb250ZXh0LCB3YWtlIHRo
ZSB0YXJnZXQgY3B1IGluCkBAIC0xNzY5LDE0ICsxNzc1LDE4IEBAIENQVUludGVycnVwdEhhbmRs
ZXIgY3B1X2ludGVycnVwdF9oYW5kbGVyID0gdGNnX2hhbmRsZV9pbnRlcnJ1cHQ7CiAKIHZvaWQg
Y3B1X2ludGVycnVwdChDUFVBcmNoU3RhdGUgKmVudiwgaW50IG1hc2spCiB7Ci0gICAgZW52LT5p
bnRlcnJ1cHRfcmVxdWVzdCB8PSBtYXNrOworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQ
VShlbnYpOworCisgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCB8PSBtYXNrOwogICAgIGNwdV91
bmxpbmtfdGIoZW52KTsKIH0KICNlbmRpZiAvKiBDT05GSUdfVVNFUl9PTkxZICovCiAKIHZvaWQg
Y3B1X3Jlc2V0X2ludGVycnVwdChDUFVBcmNoU3RhdGUgKmVudiwgaW50IG1hc2spCiB7Ci0gICAg
ZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+bWFzazsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5W
X0dFVF9DUFUoZW52KTsKKworICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfm1hc2s7CiB9
CiAKIHZvaWQgY3B1X2V4aXQoQ1BVQXJjaFN0YXRlICplbnYpCmRpZmYgLS1naXQgYS9nZGJzdHVi
LmMgYi9nZGJzdHViLmMKaW5kZXggNmE3N2E2Ni4uNDdjYmZkZCAxMDA2NDQKLS0tIGEvZ2Ric3R1
Yi5jCisrKyBiL2dkYnN0dWIuYwpAQCAtMjI4NCwxMCArMjI4NCwxMiBAQCBzdGF0aWMgaW50IGdk
Yl9oYW5kbGVfcGFja2V0KEdEQlN0YXRlICpzLCBjb25zdCBjaGFyICpsaW5lX2J1ZikKICAgICAg
ICAgICAgIHRocmVhZCA9IHN0cnRvdWxsKHArMTYsIChjaGFyICoqKSZwLCAxNik7CiAgICAgICAg
ICAgICBlbnYgPSBmaW5kX2NwdSh0aHJlYWQpOwogICAgICAgICAgICAgaWYgKGVudiAhPSBOVUxM
KSB7CisgICAgICAgICAgICAgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisK
ICAgICAgICAgICAgICAgICBjcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKICAgICAgICAgICAg
ICAgICBsZW4gPSBzbnByaW50ZigoY2hhciAqKW1lbV9idWYsIHNpemVvZihtZW1fYnVmKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ1BVIyVkIFslc10iLCBlbnYtPmNwdV9pbmRl
eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmhhbHRlZCA/ICJoYWx0ZWQg
IiA6ICJydW5uaW5nIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5oYWx0
ZWQgPyAiaGFsdGVkICIgOiAicnVubmluZyIpOwogICAgICAgICAgICAgICAgIG1lbXRvaGV4KGJ1
ZiwgbWVtX2J1ZiwgbGVuKTsKICAgICAgICAgICAgICAgICBwdXRfcGFja2V0KHMsIGJ1Zik7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9ody9sZW9uMy5jIGIvaHcvbGVvbjMuYwppbmRleCA4
NzhkM2FhLi44ZDQ0ZjgzIDEwMDY0NAotLS0gYS9ody9sZW9uMy5jCisrKyBiL2h3L2xlb24zLmMK
QEAgLTUzLDcgKzUzLDcgQEAgc3RhdGljIHZvaWQgbWFpbl9jcHVfcmVzZXQodm9pZCAqb3BhcXVl
KQogCiAgICAgY3B1X3Jlc2V0KENQVShzLT5jcHUpKTsKIAotICAgIGVudi0+aGFsdGVkID0gMDsK
KyAgICBDUFUocy0+Y3B1KS0+aGFsdGVkID0gMDsKICAgICBlbnYtPnBjICAgICA9IHMtPmVudHJ5
OwogICAgIGVudi0+bnBjICAgID0gcy0+ZW50cnkgKyA0OwogfQpkaWZmIC0tZ2l0IGEvaHcvb21h
cDEuYyBiL2h3L29tYXAxLmMKaW5kZXggYWQ2MGNjNC4uZTkwYWVkNCAxMDA2NDQKLS0tIGEvaHcv
b21hcDEuYworKysgYi9ody9vbWFwMS5jCkBAIC0xNzM1LDcgKzE3MzUsNyBAQCBzdGF0aWMgdWlu
dDY0X3Qgb21hcF9jbGtkc3BfcmVhZCh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBh
ZGRyLAogCiAgICAgY2FzZSAweDE4OgkvKiBEU1BfU1lTU1QgKi8KICAgICAgICAgcmV0dXJuIChz
LT5jbGttLmNsb2NraW5nX3NjaGVtZSA8PCAxMSkgfCBzLT5jbGttLmNvbGRfc3RhcnQgfAotICAg
ICAgICAgICAgICAgIChzLT5jcHUtPmVudi5oYWx0ZWQgPDwgNik7ICAgICAgLyogUXVpdGUgdXNl
bGVzcy4uLiAqLworICAgICAgICAgICAgICAgIChDUFUocy0+Y3B1KS0+aGFsdGVkIDw8IDYpOyAg
ICAgIC8qIFF1aXRlIHVzZWxlc3MuLi4gKi8KICAgICB9CiAKICAgICBPTUFQX0JBRF9SRUcoYWRk
cik7CkBAIC0zNzUyLDcgKzM3NTIsNyBAQCB2b2lkIG9tYXBfbXB1X3dha2V1cCh2b2lkICpvcGFx
dWUsIGludCBpcnEsIGludCByZXEpCiB7CiAgICAgc3RydWN0IG9tYXBfbXB1X3N0YXRlX3MgKm1w
dSA9IChzdHJ1Y3Qgb21hcF9tcHVfc3RhdGVfcyAqKSBvcGFxdWU7CiAKLSAgICBpZiAobXB1LT5j
cHUtPmVudi5oYWx0ZWQpIHsKKyAgICBpZiAoQ1BVKG1wdS0+Y3B1KS0+aGFsdGVkKSB7CiAgICAg
ICAgIGNwdV9pbnRlcnJ1cHQoJm1wdS0+Y3B1LT5lbnYsIENQVV9JTlRFUlJVUFRfRVhJVFRCKTsK
ICAgICB9CiB9CmRpZmYgLS1naXQgYS9ody9wYy5jIGIvaHcvcGMuYwppbmRleCBmMGNiZmVmLi5j
OGNhYWRhIDEwMDY0NAotLS0gYS9ody9wYy5jCisrKyBiL2h3L3BjLmMKQEAgLTk0MiwxMCArOTQy
LDEwIEBAIHZvaWQgcGNfYWNwaV9zbWlfaW50ZXJydXB0KHZvaWQgKm9wYXF1ZSwgaW50IGlycSwg
aW50IGxldmVsKQogc3RhdGljIHZvaWQgcGNfY3B1X3Jlc2V0KHZvaWQgKm9wYXF1ZSkKIHsKICAg
ICBYODZDUFUgKmNwdSA9IG9wYXF1ZTsKLSAgICBDUFVYODZTdGF0ZSAqZW52ID0gJmNwdS0+ZW52
OworICAgIENQVVN0YXRlICpjID0gQ1BVKGNwdSk7CiAKLSAgICBjcHVfcmVzZXQoQ1BVKGNwdSkp
OwotICAgIGVudi0+aGFsdGVkID0gIWNwdV9pc19ic3AoY3B1KTsKKyAgICBjcHVfcmVzZXQoYyk7
CisgICAgYy0+aGFsdGVkID0gIWNwdV9pc19ic3AoY3B1KTsKIH0KIAogc3RhdGljIFg4NkNQVSAq
cGNfbmV3X2NwdShjb25zdCBjaGFyICpjcHVfbW9kZWwpCmRpZmYgLS1naXQgYS9ody9wcGMuYyBi
L2h3L3BwYy5jCmluZGV4IGZhN2FlNzQuLjAyYzVlM2UgMTAwNjQ0Ci0tLSBhL2h3L3BwYy5jCisr
KyBiL2h3L3BwYy5jCkBAIC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIHZvaWQgcHBjNnh4X3NldF9p
cnEodm9pZCAqb3BhcXVlLCBpbnQgcGluLCBpbnQgbGV2ZWwpCiAgICAgICAgICAgICAvKiBYWFg6
IE5vdGUgdGhhdCB0aGUgb25seSB3YXkgdG8gcmVzdGFydCB0aGUgQ1BVIGlzIHRvIHJlc2V0IGl0
ICovCiAgICAgICAgICAgICBpZiAobGV2ZWwpIHsKICAgICAgICAgICAgICAgICBMT0dfSVJRKCIl
czogc3RvcCB0aGUgQ1BVXG4iLCBfX2Z1bmNfXyk7Ci0gICAgICAgICAgICAgICAgZW52LT5oYWx0
ZWQgPSAxOworICAgICAgICAgICAgICAgIENQVShjcHUpLT5oYWx0ZWQgPSAxOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUFBDNnh4X0lOUFVUX0hSRVNF
VDoKQEAgLTIwMiwxMCArMjAyLDEwIEBAIHN0YXRpYyB2b2lkIHBwYzk3MF9zZXRfaXJxKHZvaWQg
Km9wYXF1ZSwgaW50IHBpbiwgaW50IGxldmVsKQogICAgICAgICAgICAgLyogWFhYOiBUT0RPOiBy
ZWxheSB0aGUgc2lnbmFsIHRvIENLU1RQX09VVCBwaW4gKi8KICAgICAgICAgICAgIGlmIChsZXZl
bCkgewogICAgICAgICAgICAgICAgIExPR19JUlEoIiVzOiBzdG9wIHRoZSBDUFVcbiIsIF9fZnVu
Y19fKTsKLSAgICAgICAgICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgICAgICAgICAgICAg
Q1BVKGNwdSktPmhhbHRlZCA9IDE7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIExPR19JUlEoIiVzOiByZXN0YXJ0IHRoZSBDUFVcbiIsIF9fZnVuY19fKTsKLSAgICAgICAg
ICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgICAgICAgICAgQ1BVKGNwdSktPmhhbHRl
ZCA9IDA7CiAgICAgICAgICAgICAgICAgcWVtdV9jcHVfa2ljayhDUFUoY3B1KSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBicmVhazsKQEAgLTMzMSwxMCArMzMxLDEwIEBAIHN0YXRpYyB2
b2lkIHBwYzQweF9zZXRfaXJxKHZvaWQgKm9wYXF1ZSwgaW50IHBpbiwgaW50IGxldmVsKQogICAg
ICAgICAgICAgLyogTGV2ZWwgc2Vuc2l0aXZlIC0gYWN0aXZlIGxvdyAqLwogICAgICAgICAgICAg
aWYgKGxldmVsKSB7CiAgICAgICAgICAgICAgICAgTE9HX0lSUSgiJXM6IHN0b3AgdGhlIENQVVxu
IiwgX19mdW5jX18pOwotICAgICAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAg
ICAgICAgICBDUFUoY3B1KS0+aGFsdGVkID0gMTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgTE9HX0lSUSgiJXM6IHJlc3RhcnQgdGhlIENQVVxuIiwgX19mdW5jX18pOwot
ICAgICAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMDsKKyAgICAgICAgICAgICAgICBDUFUoY3B1
KS0+aGFsdGVkID0gMDsKICAgICAgICAgICAgICAgICBxZW11X2NwdV9raWNrKENQVShjcHUpKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvaHcvcHBjZTUw
MF9tcGM4NTQ0ZHMuYyBiL2h3L3BwY2U1MDBfbXBjODU0NGRzLmMKaW5kZXggM2ViOGEyMy4uYWI4
MjZkZSAxMDA2NDQKLS0tIGEvaHcvcHBjZTUwMF9tcGM4NTQ0ZHMuYworKysgYi9ody9wcGNlNTAw
X21wYzg1NDRkcy5jCkBAIC0yMDMsNyArMjAzLDcgQEAgc3RhdGljIHZvaWQgbXBjODU0NGRzX2Nw
dV9yZXNldF9zZWModm9pZCAqb3BhcXVlKQogCiAgICAgLyogU2Vjb25kYXJ5IENQVSBzdGFydHMg
aW4gaGFsdGVkIHN0YXRlIGZvciBub3cuIE5lZWRzIHRvIGNoYW5nZSB3aGVuCiAgICAgICAgaW1w
bGVtZW50aW5nIG5vbi1rZXJuZWwgYm9vdC4gKi8KLSAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAg
Q1BVKGNwdSktPmhhbHRlZCA9IDE7CiAgICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hM
VDsKIH0KIApAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyB2b2lkIG1wYzg1NDRkc19jcHVfcmVz
ZXQodm9pZCAqb3BhcXVlKQogICAgIGNwdV9yZXNldChDUFUoY3B1KSk7CiAKICAgICAvKiBTZXQg
aW5pdGlhbCBndWVzdCBzdGF0ZS4gKi8KLSAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgQ1BVKGNw
dSktPmhhbHRlZCA9IDA7CiAgICAgZW52LT5ncHJbMV0gPSAoMTY8PDIwKSAtIDg7CiAgICAgZW52
LT5ncHJbM10gPSBiaS0+ZHRfYmFzZTsKICAgICBlbnYtPm5pcCA9IGJpLT5lbnRyeTsKZGlmZiAt
LWdpdCBhL2h3L3BwY2U1MDBfc3Bpbi5jIGIvaHcvcHBjZTUwMF9zcGluLmMKaW5kZXggYTRiNDll
Ni4uNjVmMGI2ZiAxMDA2NDQKLS0tIGEvaHcvcHBjZTUwMF9zcGluLmMKKysrIGIvaHcvcHBjZTUw
MF9zcGluLmMKQEAgLTExMiw3ICsxMTIsNyBAQCBzdGF0aWMgdm9pZCBzcGluX2tpY2sodm9pZCAq
ZGF0YSkKICAgICBtYXBfc3RhcnQgPSBsZHFfcCgmY3Vyc3Bpbi0+YWRkcikgJiB+KG1hcF9zaXpl
IC0gMSk7CiAgICAgbW11Ym9va2VfY3JlYXRlX2luaXRpYWxfbWFwcGluZyhlbnYsIDAsIG1hcF9z
dGFydCwgbWFwX3NpemUpOwogCi0gICAgZW52LT5oYWx0ZWQgPSAwOworICAgIGNwdS0+aGFsdGVk
ID0gMDsKICAgICBlbnYtPmV4Y2VwdGlvbl9pbmRleCA9IC0xOwogICAgIGNwdS0+c3RvcHBlZCA9
IGZhbHNlOwogICAgIHFlbXVfY3B1X2tpY2soY3B1KTsKZGlmZiAtLWdpdCBhL2h3L3B4YTJ4eF9n
cGlvLmMgYi9ody9weGEyeHhfZ3Bpby5jCmluZGV4IDNjOTBjOWMuLjVmY2I5OTIgMTAwNjQ0Ci0t
LSBhL2h3L3B4YTJ4eF9ncGlvLmMKKysrIGIvaHcvcHhhMnh4X2dwaW8uYwpAQCAtMTE4LDcgKzEx
OCw4IEBAIHN0YXRpYyB2b2lkIHB4YTJ4eF9ncGlvX3NldCh2b2lkICpvcGFxdWUsIGludCBsaW5l
LCBpbnQgbGV2ZWwpCiAgICAgICAgIHB4YTJ4eF9ncGlvX2lycV91cGRhdGUocyk7CiAKICAgICAv
KiBXYWtlLXVwIEdQSU9zICovCi0gICAgaWYgKHMtPmNwdS0+ZW52LmhhbHRlZCAmJiAobWFzayAm
IH5zLT5kaXJbYmFua10gJiBweGEyeHhfZ3Bpb193YWtlW2JhbmtdKSkgeworICAgIGlmIChDUFUo
cy0+Y3B1KS0+aGFsdGVkICYmCisgICAgICAgIChtYXNrICYgfnMtPmRpcltiYW5rXSAmIHB4YTJ4
eF9ncGlvX3dha2VbYmFua10pKSB7CiAgICAgICAgIGNwdV9pbnRlcnJ1cHQoJnMtPmNwdS0+ZW52
LCBDUFVfSU5URVJSVVBUX0VYSVRUQik7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvaHcvcHhhMnh4
X3BpYy5jIGIvaHcvcHhhMnh4X3BpYy5jCmluZGV4IGM1NjAxMzMuLmM4ZjAxZTggMTAwNjQ0Ci0t
LSBhL2h3L3B4YTJ4eF9waWMuYworKysgYi9ody9weGEyeHhfcGljLmMKQEAgLTQ3LDcgKzQ3LDcg
QEAgc3RhdGljIHZvaWQgcHhhMnh4X3BpY191cGRhdGUodm9pZCAqb3BhcXVlKQogICAgIHVpbnQz
Ml90IG1hc2tbMl07CiAgICAgUFhBMnh4UElDU3RhdGUgKnMgPSAoUFhBMnh4UElDU3RhdGUgKikg
b3BhcXVlOwogCi0gICAgaWYgKHMtPmNwdS0+ZW52LmhhbHRlZCkgeworICAgIGlmIChDUFUocy0+
Y3B1KS0+aGFsdGVkKSB7CiAgICAgICAgIG1hc2tbMF0gPSBzLT5pbnRfcGVuZGluZ1swXSAmIChz
LT5pbnRfZW5hYmxlZFswXSB8IHMtPmludF9pZGxlKTsKICAgICAgICAgbWFza1sxXSA9IHMtPmlu
dF9wZW5kaW5nWzFdICYgKHMtPmludF9lbmFibGVkWzFdIHwgcy0+aW50X2lkbGUpOwogICAgICAg
ICBpZiAobWFza1swXSB8fCBtYXNrWzFdKSB7CmRpZmYgLS1naXQgYS9ody9zMzkwLXZpcnRpby5j
IGIvaHcvczM5MC12aXJ0aW8uYwppbmRleCA0N2VlZDM1Li41NjY3NjBlIDEwMDY0NAotLS0gYS9o
dy9zMzkwLXZpcnRpby5jCisrKyBiL2h3L3MzOTAtdmlydGlvLmMKQEAgLTEzMiwxOSArMTMyLDIz
IEBAIHN0YXRpYyB1bnNpZ25lZCBzMzkwX3J1bm5pbmdfY3B1czsKIAogdm9pZCBzMzkwX2FkZF9y
dW5uaW5nX2NwdShDUFVTMzkwWFN0YXRlICplbnYpCiB7Ci0gICAgaWYgKGVudi0+aGFsdGVkKSB7
CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisKKyAgICBpZiAoY3B1LT5o
YWx0ZWQpIHsKICAgICAgICAgczM5MF9ydW5uaW5nX2NwdXMrKzsKLSAgICAgICAgZW52LT5oYWx0
ZWQgPSAwOworICAgICAgICBjcHUtPmhhbHRlZCA9IDA7CiAgICAgICAgIGVudi0+ZXhjZXB0aW9u
X2luZGV4ID0gLTE7CiAgICAgfQogfQogCiB1bnNpZ25lZCBzMzkwX2RlbF9ydW5uaW5nX2NwdShD
UFVTMzkwWFN0YXRlICplbnYpCiB7Ci0gICAgaWYgKGVudi0+aGFsdGVkID09IDApIHsKKyAgICBD
UFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKKworICAgIGlmIChjcHUtPmhhbHRlZCA9
PSAwKSB7CiAgICAgICAgIGFzc2VydChzMzkwX3J1bm5pbmdfY3B1cyA+PSAxKTsKICAgICAgICAg
czM5MF9ydW5uaW5nX2NwdXMtLTsKLSAgICAgICAgZW52LT5oYWx0ZWQgPSAxOworICAgICAgICBj
cHUtPmhhbHRlZCA9IDE7CiAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gRVhDUF9ITFQ7
CiAgICAgfQogICAgIHJldHVybiBzMzkwX3J1bm5pbmdfY3B1czsKQEAgLTIxOCw3ICsyMjIsNyBA
QCBzdGF0aWMgdm9pZCBzMzkwX2luaXQocmFtX2FkZHJfdCBteV9yYW1fc2l6ZSwKICAgICAgICAg
ICAgIGVudiA9IHRtcF9lbnY7CiAgICAgICAgIH0KICAgICAgICAgaXBpX3N0YXRlc1tpXSA9IGNw
dTsKLSAgICAgICAgdG1wX2Vudi0+aGFsdGVkID0gMTsKKyAgICAgICAgQ1BVKGNwdSktPmhhbHRl
ZCA9IDE7CiAgICAgICAgIHRtcF9lbnYtPmV4Y2VwdGlvbl9pbmRleCA9IEVYQ1BfSExUOwogICAg
ICAgICB0bXBfZW52LT5zdG9yYWdlX2tleXMgPSBzdG9yYWdlX2tleXM7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvaHcvc3BhcHIuYyBiL2h3L3NwYXByLmMKaW5kZXggZjljMzYzMS4uZDU1Mzk1MSAxMDA2
NDQKLS0tIGEvaHcvc3BhcHIuYworKysgYi9ody9zcGFwci5jCkBAIC01MDAsNyArNTAwLDcgQEAg
c3RhdGljIHZvaWQgc3BhcHJfcmVzZXQodm9pZCAqb3BhcXVlKQogICAgIC8qIFNldCB1cCB0aGUg
ZW50cnkgc3RhdGUgKi8KICAgICBmaXJzdF9jcHUtPmdwclszXSA9IHNwYXByLT5mZHRfYWRkcjsK
ICAgICBmaXJzdF9jcHUtPmdwcls1XSA9IDA7Ci0gICAgZmlyc3RfY3B1LT5oYWx0ZWQgPSAwOwor
ICAgIEVOVl9HRVRfQ1BVKGZpcnN0X2NwdSktPmhhbHRlZCA9IDA7CiAgICAgZmlyc3RfY3B1LT5u
aXAgPSBzcGFwci0+ZW50cnlfcG9pbnQ7CiAKIH0KQEAgLTczMiw3ICs3MzIsNyBAQCBzdGF0aWMg
dm9pZCBwcGNfc3BhcHJfaW5pdChyYW1fYWRkcl90IHJhbV9zaXplLAogCiAgICAgLyogU0xPRiB3
aWxsIHN0YXJ0dXAgdGhlIHNlY29uZGFyeSBDUFVzIHVzaW5nIFJUQVMgKi8KICAgICBmb3IgKGVu
diA9IGZpcnN0X2NwdTsgZW52ICE9IE5VTEw7IGVudiA9IGVudi0+bmV4dF9jcHUpIHsKLSAgICAg
ICAgZW52LT5oYWx0ZWQgPSAxOworICAgICAgICBFTlZfR0VUX0NQVShlbnYpLT5oYWx0ZWQgPSAx
OwogICAgIH0KIAogICAgIC8qIFByZXBhcmUgdGhlIGRldmljZSB0cmVlICovCmRpZmYgLS1naXQg
YS9ody9zcGFwcl9oY2FsbC5jIGIvaHcvc3BhcHJfaGNhbGwuYwppbmRleCBlYmIyNzFjLi43MTY1
Nzk2IDEwMDY0NAotLS0gYS9ody9zcGFwcl9oY2FsbC5jCisrKyBiL2h3L3NwYXByX2hjYWxsLmMK
QEAgLTU1MCw3ICs1NTAsNyBAQCBzdGF0aWMgdGFyZ2V0X3Vsb25nIGhfY2VkZShQb3dlclBDQ1BV
ICpjcHUsIHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogICAgIGVudi0+bXNyIHw9ICgxVUxMIDw8
IE1TUl9FRSk7CiAgICAgaHJlZ19jb21wdXRlX2hmbGFncyhlbnYpOwogICAgIGlmICghY3B1X2hh
c193b3JrKENQVShjcHUpKSkgewotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgICAgIENQ
VShjcHUpLT5oYWx0ZWQgPSAxOwogICAgIH0KICAgICByZXR1cm4gSF9TVUNDRVNTOwogfQpkaWZm
IC0tZ2l0IGEvaHcvc3BhcHJfcnRhcy5jIGIvaHcvc3BhcHJfcnRhcy5jCmluZGV4IGEzNDMwNTUu
LmQzYzUwM2MgMTAwNjQ0Ci0tLSBhL2h3L3NwYXByX3J0YXMuYworKysgYi9ody9zcGFwcl9ydGFz
LmMKQEAgLTEzMSw2ICsxMzEsNyBAQCBzdGF0aWMgdm9pZCBydGFzX3F1ZXJ5X2NwdV9zdG9wcGVk
X3N0YXRlKHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogewogICAgIHRhcmdldF91bG9uZyBpZDsK
ICAgICBDUFVQUENTdGF0ZSAqZW52OworICAgIENQVVN0YXRlICpjcHU7CiAKICAgICBpZiAobmFy
Z3MgIT0gMSB8fCBucmV0ICE9IDIpIHsKICAgICAgICAgcnRhc19zdChyZXRzLCAwLCAtMyk7CkBA
IC0xMzksMTEgKzE0MCwxMiBAQCBzdGF0aWMgdm9pZCBydGFzX3F1ZXJ5X2NwdV9zdG9wcGVkX3N0
YXRlKHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogCiAgICAgaWQgPSBydGFzX2xkKGFyZ3MsIDAp
OwogICAgIGZvciAoZW52ID0gZmlyc3RfY3B1OyBlbnY7IGVudiA9IGVudi0+bmV4dF9jcHUpIHsK
KyAgICAgICAgY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKICAgICAgICAgaWYgKGVudi0+Y3B1X2lu
ZGV4ICE9IGlkKSB7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAg
IGlmIChlbnYtPmhhbHRlZCkgeworICAgICAgICBpZiAoY3B1LT5oYWx0ZWQpIHsKICAgICAgICAg
ICAgIHJ0YXNfc3QocmV0cywgMSwgMCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBy
dGFzX3N0KHJldHMsIDEsIDIpOwpAQCAtMTgyLDcgKzE4NCw3IEBAIHN0YXRpYyB2b2lkIHJ0YXNf
c3RhcnRfY3B1KHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIWVudi0+aGFsdGVkKSB7CisgICAgICAgIGlmICgh
Y3B1LT5oYWx0ZWQpIHsKICAgICAgICAgICAgIHJ0YXNfc3QocmV0cywgMCwgLTEpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xOTAsNyArMTkyLDcgQEAgc3RhdGljIHZvaWQg
cnRhc19zdGFydF9jcHUoc1BBUFJFbnZpcm9ubWVudCAqc3BhcHIsCiAgICAgICAgIGVudi0+bXNy
ID0gKDFVTEwgPDwgTVNSX1NGKSB8ICgxVUxMIDw8IE1TUl9NRSk7CiAgICAgICAgIGVudi0+bmlw
ID0gc3RhcnQ7CiAgICAgICAgIGVudi0+Z3ByWzNdID0gcjM7Ci0gICAgICAgIGVudi0+aGFsdGVk
ID0gMDsKKyAgICAgICAgY3B1LT5oYWx0ZWQgPSAwOwogCiAgICAgICAgIHFlbXVfY3B1X2tpY2so
Y3B1KTsKIApkaWZmIC0tZ2l0IGEvaHcvc3VuNG0uYyBiL2h3L3N1bjRtLmMKaW5kZXggNDkyOTY3
Ny4uN2JiMGJjZSAxMDA2NDQKLS0tIGEvaHcvc3VuNG0uYworKysgYi9ody9zdW40bS5jCkBAIC0y
NTcsNyArMjU3LDcgQEAgc3RhdGljIHZvaWQgY3B1X2tpY2tfaXJxKFNQQVJDQ1BVICpjcHUpCiB7
CiAgICAgQ1BVU1BBUkNTdGF0ZSAqZW52ID0gJmNwdS0+ZW52OwogCi0gICAgZW52LT5oYWx0ZWQg
PSAwOworICAgIENQVShjcHUpLT5oYWx0ZWQgPSAwOwogICAgIGNwdV9jaGVja19pcnFzKGVudik7
CiAgICAgcWVtdV9jcHVfa2ljayhDUFUoY3B1KSk7CiB9CkBAIC0yODQsMjAgKzI4NCwxOCBAQCBz
dGF0aWMgdm9pZCBkdW1teV9jcHVfc2V0X2lycSh2b2lkICpvcGFxdWUsIGludCBpcnEsIGludCBs
ZXZlbCkKIAogc3RhdGljIHZvaWQgbWFpbl9jcHVfcmVzZXQodm9pZCAqb3BhcXVlKQogewotICAg
IFNQQVJDQ1BVICpjcHUgPSBvcGFxdWU7Ci0gICAgQ1BVU1BBUkNTdGF0ZSAqZW52ID0gJmNwdS0+
ZW52OworICAgIENQVVN0YXRlICpjcHUgPSBDUFUob3BhcXVlKTsKIAotICAgIGNwdV9yZXNldChD
UFUoY3B1KSk7Ci0gICAgZW52LT5oYWx0ZWQgPSAwOworICAgIGNwdV9yZXNldChjcHUpOworICAg
IGNwdS0+aGFsdGVkID0gMDsKIH0KIAogc3RhdGljIHZvaWQgc2Vjb25kYXJ5X2NwdV9yZXNldCh2
b2lkICpvcGFxdWUpCiB7Ci0gICAgU1BBUkNDUFUgKmNwdSA9IG9wYXF1ZTsKLSAgICBDUFVTUEFS
Q1N0YXRlICplbnYgPSAmY3B1LT5lbnY7CisgICAgQ1BVU3RhdGUgKmNwdSA9IENQVShvcGFxdWUp
OwogCi0gICAgY3B1X3Jlc2V0KENQVShjcHUpKTsKLSAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAg
Y3B1X3Jlc2V0KGNwdSk7CisgICAgY3B1LT5oYWx0ZWQgPSAxOwogfQogCiBzdGF0aWMgdm9pZCBj
cHVfaGFsdF9zaWduYWwodm9pZCAqb3BhcXVlLCBpbnQgaXJxLCBpbnQgbGV2ZWwpCkBAIC04Mjks
NyArODI3LDcgQEAgc3RhdGljIHZvaWQgY3B1X2RldmluaXQoY29uc3QgY2hhciAqY3B1X21vZGVs
LCB1bnNpZ25lZCBpbnQgaWQsCiAgICAgICAgIHFlbXVfcmVnaXN0ZXJfcmVzZXQobWFpbl9jcHVf
cmVzZXQsIGNwdSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcWVtdV9yZWdpc3Rlcl9yZXNldChz
ZWNvbmRhcnlfY3B1X3Jlc2V0LCBjcHUpOwotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAg
ICAgIENQVShjcHUpLT5oYWx0ZWQgPSAxOwogICAgIH0KICAgICAqY3B1X2lycXMgPSBxZW11X2Fs
bG9jYXRlX2lycXMoY3B1X3NldF9pcnEsIGNwdSwgTUFYX1BJTFMpOwogICAgIGVudi0+cHJvbV9h
ZGRyID0gcHJvbV9hZGRyOwpkaWZmIC0tZ2l0IGEvaHcvc3VuNHUuYyBiL2h3L3N1bjR1LmMKaW5k
ZXggNTZjM2RkZi4uYWZmZDdiYyAxMDA2NDQKLS0tIGEvaHcvc3VuNHUuYworKysgYi9ody9zdW40
dS5jCkBAIC0yNTMsNiArMjUzLDcgQEAgc3RhdGljIHVpbnQ2NF90IHN1bjR1X2xvYWRfa2VybmVs
KGNvbnN0IGNoYXIgKmtlcm5lbF9maWxlbmFtZSwKIAogdm9pZCBjcHVfY2hlY2tfaXJxcyhDUFVT
UEFSQ1N0YXRlICplbnYpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7
CiAgICAgdWludDMyX3QgcGlsID0gZW52LT5waWxfaW4gfAogICAgICAgICAgICAgICAgICAgKGVu
di0+c29mdGludCAmIH4oU09GVElOVF9USU1FUiB8IFNPRlRJTlRfU1RJTUVSKSk7CiAKQEAgLTI2
OSw3ICsyNzAsNyBAQCB2b2lkIGNwdV9jaGVja19pcnFzKENQVVNQQVJDU3RhdGUgKmVudikKICAg
ICAvKiBUaGUgYml0IGNvcnJlc3BvbmRpbmcgdG8gcHNycGlsIGlzICgxPDwgcHNycGlsKSwgdGhl
IG5leHQgYml0CiAgICAgICAgaXMgKDIgPDwgcHNycGlsKS4gKi8KICAgICBpZiAocGlsIDwgKDIg
PDwgZW52LT5wc3JwaWwpKXsKLSAgICAgICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBD
UFVfSU5URVJSVVBUX0hBUkQpIHsKKyAgICAgICAgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX0hBUkQpIHsKICAgICAgICAgICAgIENQVUlSUV9EUFJJTlRGKCJSZXNl
dCBDUFUgSVJRIChjdXJyZW50IGludGVycnVwdCAleClcbiIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlbnYtPmludGVycnVwdF9pbmRleCk7CiAgICAgICAgICAgICBlbnYtPmludGVycnVw
dF9pbmRleCA9IDA7CkBAIC0zMDEsNyArMzAyLDcgQEAgdm9pZCBjcHVfY2hlY2tfaXJxcyhDUFVT
UEFSQ1N0YXRlICplbnYpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5U
RVJSVVBUX0hBUkQpIHsKKyAgICB9IGVsc2UgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBD
UFVfSU5URVJSVVBUX0hBUkQpIHsKICAgICAgICAgQ1BVSVJRX0RQUklOVEYoIkludGVycnVwdHMg
ZGlzYWJsZWQsIHBpbD0lMDh4IHBpbF9pbj0lMDh4IHNvZnRpbnQ9JTA4eCAiCiAgICAgICAgICAg
ICAgICAgICAgICAgICJjdXJyZW50IGludGVycnVwdCAleFxuIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgcGlsLCBlbnYtPnBpbF9pbiwgZW52LT5zb2Z0aW50LCBlbnYtPmludGVycnVwdF9pbmRl
eCk7CkBAIC0zMTQsNyArMzE1LDcgQEAgc3RhdGljIHZvaWQgY3B1X2tpY2tfaXJxKFNQQVJDQ1BV
ICpjcHUpCiB7CiAgICAgQ1BVU1BBUkNTdGF0ZSAqZW52ID0gJmNwdS0+ZW52OwogCi0gICAgZW52
LT5oYWx0ZWQgPSAwOworICAgIENQVShjcHUpLT5oYWx0ZWQgPSAwOwogICAgIGNwdV9jaGVja19p
cnFzKGVudik7CiAgICAgcWVtdV9jcHVfa2ljayhDUFUoY3B1KSk7CiB9CkBAIC0zMjcsNyArMzI4
LDcgQEAgc3RhdGljIHZvaWQgY3B1X3NldF9pdmVjX2lycSh2b2lkICpvcGFxdWUsIGludCBpcnEs
IGludCBsZXZlbCkKICAgICBpZiAobGV2ZWwpIHsKICAgICAgICAgaWYgKCEoZW52LT5pdmVjX3N0
YXR1cyAmIDB4MjApKSB7CiAgICAgICAgICAgICBDUFVJUlFfRFBSSU5URigiUmFpc2UgSVZFQyBJ
UlEgJWRcbiIsIGlycSk7Ci0gICAgICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgICAg
ICBDUFUoY3B1KS0+aGFsdGVkID0gMDsKICAgICAgICAgICAgIGVudi0+aW50ZXJydXB0X2luZGV4
ID0gVFRfSVZFQzsKICAgICAgICAgICAgIGVudi0+aXZlY19zdGF0dXMgfD0gMHgyMDsKICAgICAg
ICAgICAgIGVudi0+aXZlY19kYXRhWzBdID0gKDB4MWYgPDwgNikgfCBpcnE7CmRpZmYgLS1naXQg
YS9ody94ZW5fbWFjaGluZV9wdi5jIGIvaHcveGVuX21hY2hpbmVfcHYuYwppbmRleCA0YjcyYWE3
Li5jMzg3ZmRmIDEwMDY0NAotLS0gYS9ody94ZW5fbWFjaGluZV9wdi5jCisrKyBiL2h3L3hlbl9t
YWNoaW5lX3B2LmMKQEAgLTM3LDcgKzM3LDYgQEAgc3RhdGljIHZvaWQgeGVuX2luaXRfcHYocmFt
X2FkZHJfdCByYW1fc2l6ZSwKIAkJCWNvbnN0IGNoYXIgKmNwdV9tb2RlbCkKIHsKICAgICBYODZD
UFUgKmNwdTsKLSAgICBDUFVYODZTdGF0ZSAqZW52OwogICAgIERyaXZlSW5mbyAqZGluZm87CiAg
ICAgaW50IGk7CiAKQEAgLTUwLDggKzQ5LDcgQEAgc3RhdGljIHZvaWQgeGVuX2luaXRfcHYocmFt
X2FkZHJfdCByYW1fc2l6ZSwKICNlbmRpZgogICAgIH0KICAgICBjcHUgPSBjcHVfeDg2X2luaXQo
Y3B1X21vZGVsKTsKLSAgICBlbnYgPSAmY3B1LT5lbnY7Ci0gICAgZW52LT5oYWx0ZWQgPSAxOwor
ICAgIENQVShjcHUpLT5oYWx0ZWQgPSAxOwogCiAgICAgLyogSW5pdGlhbGl6ZSBiYWNrZW5kIGNv
cmUgJiBkcml2ZXJzICovCiAgICAgaWYgKHhlbl9iZV9pbml0KCkgIT0gMCkgewpkaWZmIC0tZ2l0
IGEvaHcveHRlbnNhX3BpYy5jIGIvaHcveHRlbnNhX3BpYy5jCmluZGV4IDFlYzcwY2QuLjhhNjVi
OTIgMTAwNjQ0Ci0tLSBhL2h3L3h0ZW5zYV9waWMuYworKysgYi9ody94dGVuc2FfcGljLmMKQEAg
LTQ3LDYgKzQ3LDcgQEAgdm9pZCB4dGVuc2FfYWR2YW5jZV9jY291bnQoQ1BVWHRlbnNhU3RhdGUg
KmVudiwgdWludDMyX3QgZCkKIAogdm9pZCBjaGVja19pbnRlcnJ1cHRzKENQVVh0ZW5zYVN0YXRl
ICplbnYpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAgaW50
IG1pbmxldmVsID0geHRlbnNhX2dldF9jaW50bGV2ZWwoZW52KTsKICAgICB1aW50MzJfdCBpbnRf
c2V0X2VuYWJsZWQgPSBlbnYtPnNyZWdzW0lOVFNFVF0gJiBlbnYtPnNyZWdzW0lOVEVOQUJMRV07
CiAgICAgaW50IGxldmVsOwpAQCAtNTQsNyArNTUsNyBAQCB2b2lkIGNoZWNrX2ludGVycnVwdHMo
Q1BVWHRlbnNhU3RhdGUgKmVudikKICAgICAvKiBJZiB0aGUgQ1BVIGlzIGhhbHRlZCBhZHZhbmNl
IENDT1VOVCBhY2NvcmRpbmcgdG8gdGhlIHZtX2Nsb2NrIHRpbWUKICAgICAgKiBlbGFwc2VkIHNp
bmNlIHRoZSBtb21lbnQgd2hlbiBpdCB3YXMgYWR2YW5jZWQgbGFzdCB0aW1lLgogICAgICAqLwot
ICAgIGlmIChlbnYtPmhhbHRlZCkgeworICAgIGlmIChjcHUtPmhhbHRlZCkgewogICAgICAgICBp
bnQ2NF90IG5vdyA9IHFlbXVfZ2V0X2Nsb2NrX25zKHZtX2Nsb2NrKTsKIAogICAgICAgICB4dGVu
c2FfYWR2YW5jZV9jY291bnQoZW52LApAQCAtMTI4LDcgKzEyOSw3IEBAIHN0YXRpYyB2b2lkIHh0
ZW5zYV9jY29tcGFyZV9jYih2b2lkICpvcGFxdWUpCiAgICAgWHRlbnNhQ1BVICpjcHUgPSBvcGFx
dWU7CiAgICAgQ1BVWHRlbnNhU3RhdGUgKmVudiA9ICZjcHUtPmVudjsKIAotICAgIGlmIChlbnYt
PmhhbHRlZCkgeworICAgIGlmIChDUFUoY3B1KS0+aGFsdGVkKSB7CiAgICAgICAgIGVudi0+aGFs
dF9jbG9jayA9IHFlbXVfZ2V0X2Nsb2NrX25zKHZtX2Nsb2NrKTsKICAgICAgICAgeHRlbnNhX2Fk
dmFuY2VfY2NvdW50KGVudiwgZW52LT53YWtlX2Njb3VudCAtIGVudi0+c3JlZ3NbQ0NPVU5UXSk7
CiAgICAgICAgIGlmICghY3B1X2hhc193b3JrKENQVShjcHUpKSkgewpkaWZmIC0tZ2l0IGEvaW5j
bHVkZS9xZW11L2NwdS5oIGIvaW5jbHVkZS9xZW11L2NwdS5oCmluZGV4IDdkMDMzNjkuLjUzOTk1
OTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcWVtdS9jcHUuaAorKysgYi9pbmNsdWRlL3FlbXUvY3B1
LmgKQEAgLTU4LDYgKzU4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgQ1BVQ2xhc3MgewogLyoqCiAgKiBD
UFVTdGF0ZToKICAqIEBjcmVhdGVkOiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgQ1BVIHRocmVhZCBo
YXMgYmVlbiBzdWNjZXNzZnVsbHkgY3JlYXRlZC4KKyAqIEBpbnRlcnJ1cHRfcmVxdWVzdDogSW5k
aWNhdGVzIGEgcGVuZGluZyBpbnRlcnJ1cHQgcmVxdWVzdC4KKyAqIEBoYWx0ZWQ6IE5vbnplcm8g
aWYgdGhlIENQVSBpcyBpbiBzdXNwZW5kZWQgc3RhdGUuCiAgKiBAc3RvcDogSW5kaWNhdGVzIGEg
cGVuZGluZyBzdG9wIHJlcXVlc3QuCiAgKiBAc3RvcHBlZDogSW5kaWNhdGVzIHRoZSBDUFUgaGFz
IGJlZW4gYXJ0aWZpY2lhbGx5IHN0b3BwZWQuCiAgKgpAQCAtNzcsNiArNzksOCBAQCBzdHJ1Y3Qg
Q1BVU3RhdGUgewogICAgIHN0cnVjdCBxZW11X3dvcmtfaXRlbSAqcXVldWVkX3dvcmtfZmlyc3Qs
ICpxdWV1ZWRfd29ya19sYXN0OwogICAgIGJvb2wgdGhyZWFkX2tpY2tlZDsKICAgICBib29sIGNy
ZWF0ZWQ7CisgICAgdWludDMyX3QgaW50ZXJydXB0X3JlcXVlc3Q7CisgICAgdWludDMyX3QgaGFs
dGVkOwogICAgIGJvb2wgc3RvcDsKICAgICBib29sIHN0b3BwZWQ7CiAKZGlmZiAtLWdpdCBhL2t2
bS1hbGwuYyBiL2t2bS1hbGwuYwppbmRleCBiYmQyMDQ5Li5iNGI4YTE0IDEwMDY0NAotLS0gYS9r
dm0tYWxsLmMKKysrIGIva3ZtLWFsbC5jCkBAIC04MzMsNyArODMzLDcgQEAgc3RhdGljIHZvaWQg
a3ZtX2hhbmRsZV9pbnRlcnJ1cHQoQ1BVQXJjaFN0YXRlICplbnYsIGludCBtYXNrKQogewogICAg
IENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOwogCi0gICAgZW52LT5pbnRlcnJ1cHRf
cmVxdWVzdCB8PSBtYXNrOworICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgfD0gbWFzazsKIAog
ICAgIGlmICghcWVtdV9jcHVfaXNfc2VsZihjcHUpKSB7CiAgICAgICAgIHFlbXVfY3B1X2tpY2so
Y3B1KTsKZGlmZiAtLWdpdCBhL3FvbS9jcHUuYyBiL3FvbS9jcHUuYwppbmRleCA3MjlmNGNmLi45
YWU5YTNjIDEwMDY0NAotLS0gYS9xb20vY3B1LmMKKysrIGIvcW9tL2NwdS5jCkBAIC0zMiw2ICsz
Miw4IEBAIHZvaWQgY3B1X3Jlc2V0KENQVVN0YXRlICpjcHUpCiAKIHN0YXRpYyB2b2lkIGNwdV9j
b21tb25fcmVzZXQoQ1BVU3RhdGUgKmNwdSkKIHsKKyAgICBjcHUtPmhhbHRlZCA9IDA7CisgICAg
Y3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCA9IDA7CiB9CiAKIHZvaWQgY3B1X3RsYl9mbHVzaChDUFVT
dGF0ZSAqY3B1LCBib29sIGZsdXNoX2dsb2JhbCkKZGlmZiAtLWdpdCBhL3RhcmdldC1hbHBoYS9j
cHUuaCBiL3RhcmdldC1hbHBoYS9jcHUuaAppbmRleCBhNDNmYjk0Li4zZjMyMWUyIDEwMDY0NAot
LS0gYS90YXJnZXQtYWxwaGEvY3B1LmgKKysrIGIvdGFyZ2V0LWFscGhhL2NwdS5oCkBAIC01MDEs
OCArNTAxLDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGNwdV9zZXRfdGxzKENQVUFscGhhU3RhdGUg
KmVudiwgdGFyZ2V0X3Vsb25nIG5ld3RscykKIAogc3RhdGljIGlubGluZSBib29sIGNwdV9oYXNf
d29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVUFscGhhU3RhdGUgKmVudiA9ICZBTFBIQV9D
UFUoY3B1KS0+ZW52OwotCiAgICAgLyogSGVyZSB3ZSBhcmUgY2hlY2tpbmcgdG8gc2VlIGlmIHRo
ZSBDUFUgc2hvdWxkIHdha2UgdXAgZnJvbSBIQUxULgogICAgICAgIFdlIHdpbGwgaGF2ZSBnb3R0
ZW4gaW50byB0aGlzIHN0YXRlIG9ubHkgZm9yIFdUSU5UIGZyb20gUEFMbW9kZS4gICovCiAgICAg
LyogPz8/IEknbSBub3Qgc3VyZSBob3cgdGhlIElQTCBzdGF0ZSB3b3JrcyB3aXRoIFdUSU5UIHRv
IGtlZXAgYSBDUFUKQEAgLTUxMCw3ICs1MDgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hh
c193b3JrKENQVVN0YXRlICpjcHUpCiAgICAgICAgYXNzdW1lIHRoYXQgaWYgYSBDUFUgcmVhbGx5
IHdhbnRzIHRvIHN0YXkgYXNsZWVwLCBpdCB3aWxsIG1hc2sKICAgICAgICBpbnRlcnJ1cHRzIGF0
IHRoZSBjaGlwc2V0IGxldmVsLCB3aGljaCB3aWxsIHByZXZlbnQgdGhlc2UgYml0cwogICAgICAg
IGZyb20gYmVpbmcgc2V0IGluIHRoZSBmaXJzdCBwbGFjZS4gICovCi0gICAgcmV0dXJuIGVudi0+
aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BVX0lOVEVSUlVQVF9IQVJECisgICAgcmV0dXJuIGNwdS0+
aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BVX0lOVEVSUlVQVF9IQVJECiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCBDUFVfSU5URVJSVVBUX1RJTUVSCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCBDUFVfSU5URVJSVVBUX1NNUAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ1BVX0lOVEVSUlVQVF9NQ0hLKTsKZGlmZiAtLWdp
dCBhL3RhcmdldC1hbHBoYS90cmFuc2xhdGUuYyBiL3RhcmdldC1hbHBoYS90cmFuc2xhdGUuYwpp
bmRleCAxMmRlNmEzLi40ZWM3YTdkIDEwMDY0NAotLS0gYS90YXJnZXQtYWxwaGEvdHJhbnNsYXRl
LmMKKysrIGIvdGFyZ2V0LWFscGhhL3RyYW5zbGF0ZS5jCkBAIC0xNjkzLDcgKzE2OTMsOCBAQCBz
dGF0aWMgRXhpdFN0YXR1cyBnZW5fbXRwcihEaXNhc0NvbnRleHQgKmN0eCwgaW50IHJiLCBpbnQg
cmVnbm8pCiAgICAgY2FzZSAyNTM6CiAgICAgICAgIC8qIFdBSVQgKi8KICAgICAgICAgdG1wID0g
dGNnX2NvbnN0X2k2NCgxKTsKLSAgICAgICAgdGNnX2dlbl9zdDMyX2k2NCh0bXAsIGNwdV9lbnYs
IG9mZnNldG9mKENQVUFscGhhU3RhdGUsIGhhbHRlZCkpOworICAgICAgICB0Y2dfZ2VuX3N0MzJf
aTY0KHRtcCwgY3B1X2Vudiwgb2Zmc2V0b2YoQ1BVU3RhdGUsIGhhbHRlZCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtIG9mZnNldG9mKEFscGhhQ1BVLCBlbnYpKTsKICAg
ICAgICAgcmV0dXJuIGdlbl9leGNwKGN0eCwgRVhDUF9ITFQsIDApOwogCiAgICAgY2FzZSAyNTI6
CmRpZmYgLS1naXQgYS90YXJnZXQtYXJtL2NwdS5oIGIvdGFyZ2V0LWFybS9jcHUuaAppbmRleCBk
NGExOWJlLi4wY2Y4ODNmIDEwMDY0NAotLS0gYS90YXJnZXQtYXJtL2NwdS5oCisrKyBiL3Rhcmdl
dC1hcm0vY3B1LmgKQEAgLTU1Myw5ICs1NTMsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY3B1X2dl
dF90Yl9jcHVfc3RhdGUoQ1BVQVJNU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nICpwYywKIAogc3Rh
dGljIGlubGluZSBib29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVUFS
TVN0YXRlICplbnYgPSAmQVJNX0NQVShjcHUpLT5lbnY7Ci0KLSAgICByZXR1cm4gZW52LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmCisgICAgcmV0dXJuIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJgogICAg
ICAgICAoQ1BVX0lOVEVSUlVQVF9GSVEgfCBDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5URVJS
VVBUX0VYSVRUQik7CiB9CiAKZGlmZiAtLWdpdCBhL3RhcmdldC1hcm0vaGVscGVyLmMgYi90YXJn
ZXQtYXJtL2hlbHBlci5jCmluZGV4IGJiYjFkMDUuLjM5YTQ1NWQgMTAwNjQ0Ci0tLSBhL3Rhcmdl
dC1hcm0vaGVscGVyLmMKKysrIGIvdGFyZ2V0LWFybS9oZWxwZXIuYwpAQCAtNTI3LDYgKzUyNyw3
IEBAIHN0YXRpYyB2b2lkIGRvX2ludGVycnVwdF92N20oQ1BVQVJNU3RhdGUgKmVudikKIC8qIEhh
bmRsZSBhIENQVSBleGNlcHRpb24uICAqLwogdm9pZCBkb19pbnRlcnJ1cHQoQ1BVQVJNU3RhdGUg
KmVudikKIHsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKICAgICB1aW50
MzJfdCBhZGRyOwogICAgIHVpbnQzMl90IG1hc2s7CiAgICAgaW50IG5ld19tb2RlOwpAQCAtNjMy
LDcgKzYzMyw3IEBAIHZvaWQgZG9faW50ZXJydXB0KENQVUFSTVN0YXRlICplbnYpCiAgICAgfQog
ICAgIGVudi0+cmVnc1sxNF0gPSBlbnYtPnJlZ3NbMTVdICsgb2Zmc2V0OwogICAgIGVudi0+cmVn
c1sxNV0gPSBhZGRyOwotICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQ
VF9FWElUVEI7CisgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCB8PSBDUFVfSU5URVJSVVBUX0VY
SVRUQjsKIH0KIAogLyogQ2hlY2sgc2VjdGlvbi9wYWdlIGFjY2VzcyBwZXJtaXNzaW9ucy4KZGlm
ZiAtLWdpdCBhL3RhcmdldC1hcm0vb3BfaGVscGVyLmMgYi90YXJnZXQtYXJtL29wX2hlbHBlci5j
CmluZGV4IGI1MzM2OWQuLjI3MTQwMjEgMTAwNjQ0Ci0tLSBhL3RhcmdldC1hcm0vb3BfaGVscGVy
LmMKKysrIGIvdGFyZ2V0LWFybS9vcF9oZWxwZXIuYwpAQCAtMjM0LDggKzIzNCwxMCBAQCB1aW50
MzJfdCBIRUxQRVIodXNhdDE2KSh1aW50MzJfdCB4LCB1aW50MzJfdCBzaGlmdCkKIAogdm9pZCBI
RUxQRVIod2ZpKSh2b2lkKQogeworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYp
OworCiAgICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKLSAgICBlbnYtPmhhbHRl
ZCA9IDE7CisgICAgY3B1LT5oYWx0ZWQgPSAxOwogICAgIGNwdV9sb29wX2V4aXQoZW52KTsKIH0K
IApkaWZmIC0tZ2l0IGEvdGFyZ2V0LWNyaXMvY3B1LmggYi90YXJnZXQtY3Jpcy9jcHUuaAppbmRl
eCAyZjcxZjYzLi41NjYxMjljIDEwMDY0NAotLS0gYS90YXJnZXQtY3Jpcy9jcHUuaAorKysgYi90
YXJnZXQtY3Jpcy9jcHUuaApAQCAtMjg1LDkgKzI4NSw3IEBAIHZvaWQgY3Jpc19jcHVfbGlzdChG
SUxFICpmLCBmcHJpbnRmX2Z1bmN0aW9uIGNwdV9mcHJpbnRmKTsKIAogc3RhdGljIGlubGluZSBi
b29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVUNSSVNTdGF0ZSAqZW52
ID0gJkNSSVNfQ1BVKGNwdSktPmVudjsKLQotICAgIHJldHVybiBlbnYtPmludGVycnVwdF9yZXF1
ZXN0ICYgKENQVV9JTlRFUlJVUFRfSEFSRCB8IENQVV9JTlRFUlJVUFRfTk1JKTsKKyAgICByZXR1
cm4gY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIChDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5U
RVJSVVBUX05NSSk7CiB9CiAKICNpbmNsdWRlICJleGVjLWFsbC5oIgpkaWZmIC0tZ2l0IGEvdGFy
Z2V0LWNyaXMvdHJhbnNsYXRlLmMgYi90YXJnZXQtY3Jpcy90cmFuc2xhdGUuYwppbmRleCAxYWQ5
ZWM3Li4xNGMzNzk1IDEwMDY0NAotLS0gYS90YXJnZXQtY3Jpcy90cmFuc2xhdGUuYworKysgYi90
YXJnZXQtY3Jpcy90cmFuc2xhdGUuYwpAQCAtMjg5NSw3ICsyODk1LDkgQEAgc3RhdGljIGludCBk
ZWNfcmZlX2V0YyhEaXNhc0NvbnRleHQgKmRjKQogCWNyaXNfY2NfbWFzayhkYywgMCk7CiAKIAlp
ZiAoZGMtPm9wMiA9PSAxNSkgewotCQl0X2dlbl9tb3ZfZW52X1ROKGhhbHRlZCwgdGNnX2NvbnN0
X3RsKDEpKTsKKyAgICAgICAgICAgICAgICB0Y2dfZ2VuX3N0X2kzMih0Y2dfY29uc3RfaTMyKDEp
LCBjcHVfZW52LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKENQVVN0
YXRlLCBoYWx0ZWQpIC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihD
UklTQ1BVLCBlbnYpKTsKIAkJdGNnX2dlbl9tb3ZpX3RsKGVudl9wYywgZGMtPnBjICsgMik7CiAJ
CXRfZ2VuX3JhaXNlX2V4Y2VwdGlvbihFWENQX0hMVCk7CiAJCXJldHVybiAyOwpkaWZmIC0tZ2l0
IGEvdGFyZ2V0LWkzODYvY3B1LmggYi90YXJnZXQtaTM4Ni9jcHUuaAppbmRleCAzNmU3OTExLi4x
ZWU2ZTZiIDEwMDY0NAotLS0gYS90YXJnZXQtaTM4Ni9jcHUuaAorKysgYi90YXJnZXQtaTM4Ni9j
cHUuaApAQCAtODY0LDcgKzg2NCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjcHVfeDg2X2xvYWRf
c2VnX2NhY2hlX3NpcGkoWDg2Q1BVICpjcHUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXBpX3ZlY3RvciA8PCAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+c2Vnc1tS
X0NTXS5saW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+c2Vnc1tSX0NTXS5m
bGFncyk7Ci0gICAgZW52LT5oYWx0ZWQgPSAwOworICAgIENQVShjcHUpLT5oYWx0ZWQgPSAwOwog
fQogCiBpbnQgY3B1X3g4Nl9nZXRfZGVzY3JfZGVidWcoQ1BVWDg2U3RhdGUgKmVudiwgdW5zaWdu
ZWQgaW50IHNlbGVjdG9yLApAQCAtMTAzOSw5ICsxMDM5LDkgQEAgc3RhdGljIGlubGluZSBib29s
IGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewogICAgIENQVVg4NlN0YXRlICplbnYgPSAm
WDg2X0NQVShjcHUpLT5lbnY7CiAKLSAgICByZXR1cm4gKChlbnYtPmludGVycnVwdF9yZXF1ZXN0
ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgorICAgIHJldHVybiAoKGNwdS0+aW50ZXJydXB0X3Jl
cXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQpICYmCiAgICAgICAgICAgICAoZW52LT5lZmxhZ3Mg
JiBJRl9NQVNLKSkgfHwKLSAgICAgICAgICAgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BV
X0lOVEVSUlVQVF9OTUkgfAorICAgICAgICAgICAoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIChD
UFVfSU5URVJSVVBUX05NSSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IENQVV9JTlRFUlJVUFRfSU5JVCB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIENQVV9JTlRFUlJVUFRfU0lQSSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENQVV9JTlRFUlJVUFRfTUNFKSk7CmRpZmYgLS1naXQgYS90YXJnZXQtaTM4Ni9oZWxw
ZXIuYyBiL3RhcmdldC1pMzg2L2hlbHBlci5jCmluZGV4IDJkNWNhOGMuLjlmNWIzYWQgMTAwNjQ0
Ci0tLSBhL3RhcmdldC1pMzg2L2hlbHBlci5jCisrKyBiL3RhcmdldC1pMzg2L2hlbHBlci5jCkBA
IC0xNzEsNiArMTcxLDcgQEAgZG9uZToKIHZvaWQgY3B1X2R1bXBfc3RhdGUoQ1BVWDg2U3RhdGUg
KmVudiwgRklMRSAqZiwgZnByaW50Zl9mdW5jdGlvbiBjcHVfZnByaW50ZiwKICAgICAgICAgICAg
ICAgICAgICAgaW50IGZsYWdzKQogeworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShl
bnYpOwogICAgIGludCBlZmxhZ3MsIGksIG5iOwogICAgIGNoYXIgY2Nfb3BfbmFtZVszMl07CiAg
ICAgc3RhdGljIGNvbnN0IGNoYXIgKnNlZ19uYW1lWzZdID0geyAiRVMiLCAiQ1MiLCAiU1MiLCAi
RFMiLCAiRlMiLCAiR1MiIH07CkBAIC0yMTQsNyArMjE1LDcgQEAgdm9pZCBjcHVfZHVtcF9zdGF0
ZShDUFVYODZTdGF0ZSAqZW52LCBGSUxFICpmLCBmcHJpbnRmX2Z1bmN0aW9uIGNwdV9mcHJpbnRm
LAogICAgICAgICAgICAgICAgICAgICAoZW52LT5oZmxhZ3MgPj4gSEZfSU5ISUJJVF9JUlFfU0hJ
RlQpICYgMSwKICAgICAgICAgICAgICAgICAgICAgKGVudi0+YTIwX21hc2sgPj4gMjApICYgMSwK
ICAgICAgICAgICAgICAgICAgICAgKGVudi0+aGZsYWdzID4+IEhGX1NNTV9TSElGVCkgJiAxLAot
ICAgICAgICAgICAgICAgICAgICBlbnYtPmhhbHRlZCk7CisgICAgICAgICAgICAgICAgICAgIGNw
dS0+aGFsdGVkKTsKICAgICB9IGVsc2UKICNlbmRpZgogICAgIHsKQEAgLTI0MSw3ICsyNDIsNyBA
QCB2b2lkIGNwdV9kdW1wX3N0YXRlKENQVVg4NlN0YXRlICplbnYsIEZJTEUgKmYsIGZwcmludGZf
ZnVuY3Rpb24gY3B1X2ZwcmludGYsCiAgICAgICAgICAgICAgICAgICAgIChlbnYtPmhmbGFncyA+
PiBIRl9JTkhJQklUX0lSUV9TSElGVCkgJiAxLAogICAgICAgICAgICAgICAgICAgICAoZW52LT5h
MjBfbWFzayA+PiAyMCkgJiAxLAogICAgICAgICAgICAgICAgICAgICAoZW52LT5oZmxhZ3MgPj4g
SEZfU01NX1NISUZUKSAmIDEsCi0gICAgICAgICAgICAgICAgICAgIGVudi0+aGFsdGVkKTsKKyAg
ICAgICAgICAgICAgICAgICAgY3B1LT5oYWx0ZWQpOwogICAgIH0KIAogICAgIGZvcihpID0gMDsg
aSA8IDY7IGkrKykgewpAQCAtMTE4NSwxNCArMTE4NiwxNSBAQCBYODZDUFUgKmNwdV94ODZfaW5p
dChjb25zdCBjaGFyICpjcHVfbW9kZWwpCiB2b2lkIGRvX2NwdV9pbml0KFg4NkNQVSAqY3B1KQog
ewogICAgIENQVVg4NlN0YXRlICplbnYgPSAmY3B1LT5lbnY7Ci0gICAgaW50IHNpcGkgPSBlbnYt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9TSVBJOworICAgIENQVVN0YXRlICpj
ID0gQ1BVKGNwdSk7CisgICAgaW50IHNpcGkgPSBjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9J
TlRFUlJVUFRfU0lQSTsKICAgICB1aW50NjRfdCBwYXQgPSBlbnYtPnBhdDsKIAotICAgIGNwdV9y
ZXNldChDUFUoY3B1KSk7Ci0gICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCA9IHNpcGk7CisgICAg
Y3B1X3Jlc2V0KGMpOworICAgIGMtPmludGVycnVwdF9yZXF1ZXN0ID0gc2lwaTsKICAgICBlbnYt
PnBhdCA9IHBhdDsKICAgICBhcGljX2luaXRfcmVzZXQoZW52LT5hcGljX3N0YXRlKTsKLSAgICBl
bnYtPmhhbHRlZCA9ICFjcHVfaXNfYnNwKGNwdSk7CisgICAgYy0+aGFsdGVkID0gIWNwdV9pc19i
c3AoY3B1KTsKIH0KIAogdm9pZCBkb19jcHVfc2lwaShYODZDUFUgKmNwdSkKZGlmZiAtLWdpdCBh
L3RhcmdldC1pMzg2L2t2bS5jIGIvdGFyZ2V0LWkzODYva3ZtLmMKaW5kZXggZjc2NTFiZi4uMDg4
ZGFjYSAxMDA2NDQKLS0tIGEvdGFyZ2V0LWkzODYva3ZtLmMKKysrIGIvdGFyZ2V0LWkzODYva3Zt
LmMKQEAgLTEzNTQsNyArMTM1NCw3IEBAIHN0YXRpYyBpbnQga3ZtX2dldF9tcF9zdGF0ZShYODZD
UFUgKmNwdSkKICAgICB9CiAgICAgZW52LT5tcF9zdGF0ZSA9IG1wX3N0YXRlLm1wX3N0YXRlOwog
ICAgIGlmIChrdm1faXJxY2hpcF9pbl9rZXJuZWwoKSkgewotICAgICAgICBlbnYtPmhhbHRlZCA9
IChtcF9zdGF0ZS5tcF9zdGF0ZSA9PSBLVk1fTVBfU1RBVEVfSEFMVEVEKTsKKyAgICAgICAgQ1BV
KGNwdSktPmhhbHRlZCA9IChtcF9zdGF0ZS5tcF9zdGF0ZSA9PSBLVk1fTVBfU1RBVEVfSEFMVEVE
KTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xNjM0LDExICsxNjM0LDEyIEBAIGludCBr
dm1fYXJjaF9nZXRfcmVnaXN0ZXJzKENQVVg4NlN0YXRlICplbnYpCiAKIHZvaWQga3ZtX2FyY2hf
cHJlX3J1bihDUFVYODZTdGF0ZSAqZW52LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogeworICAgIENQ
VVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOwogICAgIGludCByZXQ7CiAKICAgICAvKiBJ
bmplY3QgTk1JICovCi0gICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJS
VVBUX05NSSkgewotICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJS
VVBUX05NSTsKKyAgICBpZiAoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRf
Tk1JKSB7CisgICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRf
Tk1JOwogICAgICAgICBEUFJJTlRGKCJpbmplY3RlZCBOTUlcbiIpOwogICAgICAgICByZXQgPSBr
dm1fdmNwdV9pb2N0bChlbnYsIEtWTV9OTUkpOwogICAgICAgICBpZiAocmV0IDwgMCkgewpAQCAt
MTY1MCwxOCArMTY1MSwxOCBAQCB2b2lkIGt2bV9hcmNoX3ByZV9ydW4oQ1BVWDg2U3RhdGUgKmVu
diwgc3RydWN0IGt2bV9ydW4gKnJ1bikKICAgICBpZiAoIWt2bV9pcnFjaGlwX2luX2tlcm5lbCgp
KSB7CiAgICAgICAgIC8qIEZvcmNlIHRoZSBWQ1BVIG91dCBvZiBpdHMgaW5uZXIgbG9vcCB0byBw
cm9jZXNzIGFueSBJTklUIHJlcXVlc3RzCiAgICAgICAgICAqIG9yIHBlbmRpbmcgVFBSIGFjY2Vz
cyByZXBvcnRzLiAqLwotICAgICAgICBpZiAoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmCisgICAg
ICAgIGlmIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYKICAgICAgICAgICAgIChDUFVfSU5URVJS
VVBUX0lOSVQgfCBDUFVfSU5URVJSVVBUX1RQUikpIHsKICAgICAgICAgICAgIGVudi0+ZXhpdF9y
ZXF1ZXN0ID0gMTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIFRyeSB0byBpbmplY3QgYW4gaW50
ZXJydXB0IGlmIHRoZSBndWVzdCBjYW4gYWNjZXB0IGl0ICovCiAgICAgICAgIGlmIChydW4tPnJl
YWR5X2Zvcl9pbnRlcnJ1cHRfaW5qZWN0aW9uICYmCi0gICAgICAgICAgICAoZW52LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYKKyAgICAgICAgICAgIChjcHUtPmlu
dGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICAgICAgKGVu
di0+ZWZsYWdzICYgSUZfTUFTSykpIHsKICAgICAgICAgICAgIGludCBpcnE7CiAKLSAgICAgICAg
ICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFSRDsKKyAgICAg
ICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFSRDsKICAg
ICAgICAgICAgIGlycSA9IGNwdV9nZXRfcGljX2ludGVycnVwdChlbnYpOwogICAgICAgICAgICAg
aWYgKGlycSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgc3RydWN0IGt2bV9pbnRlcnJ1cHQgaW50
cjsKQEAgLTE2ODEsNyArMTY4Miw3IEBAIHZvaWQga3ZtX2FyY2hfcHJlX3J1bihDUFVYODZTdGF0
ZSAqZW52LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogICAgICAgICAgKiBpbnRlcnJ1cHQsIHJlcXVl
c3QgYW4gaW50ZXJydXB0IHdpbmRvdyBleGl0LiAgVGhpcyB3aWxsCiAgICAgICAgICAqIGNhdXNl
IGEgcmV0dXJuIHRvIHVzZXJzcGFjZSBhcyBzb29uIGFzIHRoZSBndWVzdCBpcyByZWFkeSB0bwog
ICAgICAgICAgKiByZWNlaXZlIGludGVycnVwdHMuICovCi0gICAgICAgIGlmICgoZW52LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkpIHsKKyAgICAgICAgaWYgKChjcHUt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSkgewogICAgICAgICAgICAg
cnVuLT5yZXF1ZXN0X2ludGVycnVwdF93aW5kb3cgPSAxOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgcnVuLT5yZXF1ZXN0X2ludGVycnVwdF93aW5kb3cgPSAwOwpAQCAtMTcwNiwxMiAr
MTcwNywxMyBAQCB2b2lkIGt2bV9hcmNoX3Bvc3RfcnVuKENQVVg4NlN0YXRlICplbnYsIHN0cnVj
dCBrdm1fcnVuICpydW4pCiBpbnQga3ZtX2FyY2hfcHJvY2Vzc19hc3luY19ldmVudHMoQ1BVWDg2
U3RhdGUgKmVudikKIHsKICAgICBYODZDUFUgKmNwdSA9IHg4Nl9lbnZfZ2V0X2NwdShlbnYpOwor
ICAgIENQVVN0YXRlICpjID0gQ1BVKGNwdSk7CiAKLSAgICBpZiAoZW52LT5pbnRlcnJ1cHRfcmVx
dWVzdCAmIENQVV9JTlRFUlJVUFRfTUNFKSB7CisgICAgaWYgKGMtPmludGVycnVwdF9yZXF1ZXN0
ICYgQ1BVX0lOVEVSUlVQVF9NQ0UpIHsKICAgICAgICAgLyogV2UgbXVzdCBub3QgcmFpc2UgQ1BV
X0lOVEVSUlVQVF9NQ0UgaWYgaXQncyBub3Qgc3VwcG9ydGVkLiAqLwogICAgICAgICBhc3NlcnQo
ZW52LT5tY2dfY2FwKTsKIAotICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVf
SU5URVJSVVBUX01DRTsKKyAgICAgICAgYy0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRF
UlJVUFRfTUNFOwogCiAgICAgICAgIGt2bV9jcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKIApA
QCAtMTcyNCw3ICsxNzI2LDcgQEAgaW50IGt2bV9hcmNoX3Byb2Nlc3NfYXN5bmNfZXZlbnRzKENQ
VVg4NlN0YXRlICplbnYpCiAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luamVjdGVkID0gRVhDUDEy
X01DSEs7CiAgICAgICAgIGVudi0+aGFzX2Vycm9yX2NvZGUgPSAwOwogCi0gICAgICAgIGVudi0+
aGFsdGVkID0gMDsKKyAgICAgICAgYy0+aGFsdGVkID0gMDsKICAgICAgICAgaWYgKGt2bV9pcnFj
aGlwX2luX2tlcm5lbCgpICYmIGVudi0+bXBfc3RhdGUgPT0gS1ZNX01QX1NUQVRFX0hBTFRFRCkg
ewogICAgICAgICAgICAgZW52LT5tcF9zdGF0ZSA9IEtWTV9NUF9TVEFURV9SVU5OQUJMRTsKICAg
ICAgICAgfQpAQCAtMTczNCwzNyArMTczNiwzOCBAQCBpbnQga3ZtX2FyY2hfcHJvY2Vzc19hc3lu
Y19ldmVudHMoQ1BVWDg2U3RhdGUgKmVudikKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0g
ICAgaWYgKCgoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYK
KyAgICBpZiAoKChjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYK
ICAgICAgICAgIChlbnYtPmVmbGFncyAmIElGX01BU0spKSB8fAotICAgICAgICAoZW52LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTk1JKSkgewotICAgICAgICBlbnYtPmhhbHRl
ZCA9IDA7CisgICAgICAgIChjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTk1J
KSkgeworICAgICAgICBjLT5oYWx0ZWQgPSAwOwogICAgIH0KLSAgICBpZiAoZW52LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSU5JVCkgeworICAgIGlmIChjLT5pbnRlcnJ1cHRf
cmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSU5JVCkgewogICAgICAgICBrdm1fY3B1X3N5bmNocm9u
aXplX3N0YXRlKGVudik7CiAgICAgICAgIGRvX2NwdV9pbml0KGNwdSk7CiAgICAgfQotICAgIGlm
IChlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9TSVBJKSB7CisgICAgaWYg
KGMtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9TSVBJKSB7CiAgICAgICAgIGt2
bV9jcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKICAgICAgICAgZG9fY3B1X3NpcGkoY3B1KTsK
ICAgICB9Ci0gICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1RQ
UikgewotICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX1RQ
UjsKKyAgICBpZiAoYy0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1RQUikgewor
ICAgICAgICBjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9UUFI7CiAgICAg
ICAgIGt2bV9jcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKICAgICAgICAgYXBpY19oYW5kbGVf
dHByX2FjY2Vzc19yZXBvcnQoZW52LT5hcGljX3N0YXRlLCBlbnYtPmVpcCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52LT50cHJfYWNjZXNzX3R5cGUpOwogICAgIH0K
IAotICAgIHJldHVybiBlbnYtPmhhbHRlZDsKKyAgICByZXR1cm4gYy0+aGFsdGVkOwogfQogCi1z
dGF0aWMgaW50IGt2bV9oYW5kbGVfaGFsdChYODZDUFUgKmNwdSkKK3N0YXRpYyBpbnQga3ZtX2hh
bmRsZV9oYWx0KFg4NkNQVSAqYykKIHsKLSAgICBDUFVYODZTdGF0ZSAqZW52ID0gJmNwdS0+ZW52
OworICAgIENQVVN0YXRlICpjcHUgPSBDUFUoYyk7CisgICAgQ1BVWDg2U3RhdGUgKmVudiA9ICZj
LT5lbnY7CiAKLSAgICBpZiAoISgoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJV
UFRfSEFSRCkgJiYKKyAgICBpZiAoISgoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRF
UlJVUFRfSEFSRCkgJiYKICAgICAgICAgICAoZW52LT5lZmxhZ3MgJiBJRl9NQVNLKSkgJiYKLSAg
ICAgICAgIShlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9OTUkpKSB7Ci0g
ICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAgIShjcHUtPmludGVycnVwdF9yZXF1ZXN0
ICYgQ1BVX0lOVEVSUlVQVF9OTUkpKSB7CisgICAgICAgIGNwdS0+aGFsdGVkID0gMTsKICAgICAg
ICAgcmV0dXJuIEVYQ1BfSExUOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvdGFyZ2V0LWkzODYvb3Bf
aGVscGVyLmMgYi90YXJnZXQtaTM4Ni9vcF9oZWxwZXIuYwppbmRleCBiYzNiOTRlLi42ZGExNGI5
IDEwMDY0NAotLS0gYS90YXJnZXQtaTM4Ni9vcF9oZWxwZXIuYworKysgYi90YXJnZXQtaTM4Ni9v
cF9oZWxwZXIuYwpAQCAtNDg2Myw4ICs0ODYzLDEwIEBAIHZvaWQgaGVscGVyX2lkaXZxX0VBWCh0
YXJnZXRfdWxvbmcgdDApCiAKIHN0YXRpYyB2b2lkIGRvX2hsdCh2b2lkKQogeworICAgIENQVVN0
YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworCiAgICAgZW52LT5oZmxhZ3MgJj0gfkhGX0lO
SElCSVRfSVJRX01BU0s7IC8qIG5lZWRlZCBpZiBzdGkgaXMganVzdCBiZWZvcmUgKi8KLSAgICBl
bnYtPmhhbHRlZCA9IDE7CisgICAgY3B1LT5oYWx0ZWQgPSAxOwogICAgIGVudi0+ZXhjZXB0aW9u
X2luZGV4ID0gRVhDUF9ITFQ7CiAgICAgY3B1X2xvb3BfZXhpdChlbnYpOwogfQpAQCAtNTEwOSw2
ICs1MTExLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHN2bV9sb2FkX3NlZ19jYWNoZSh0YXJnZXRf
cGh5c19hZGRyX3QgYWRkciwKIAogdm9pZCBoZWxwZXJfdm1ydW4oaW50IGFmbGFnLCBpbnQgbmV4
dF9laXBfYWRkZW5kKQogeworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOwog
ICAgIHRhcmdldF91bG9uZyBhZGRyOwogICAgIHVpbnQzMl90IGV2ZW50X2luajsKICAgICB1aW50
MzJfdCBpbnRfY3RsOwpAQCAtNTIyOSw3ICs1MjMyLDcgQEAgdm9pZCBoZWxwZXJfdm1ydW4oaW50
IGFmbGFnLCBpbnQgbmV4dF9laXBfYWRkZW5kKQogICAgIGVudi0+aGZsYWdzMiB8PSBIRjJfR0lG
X01BU0s7CiAKICAgICBpZiAoaW50X2N0bCAmIFZfSVJRX01BU0spIHsKLSAgICAgICAgZW52LT5p
bnRlcnJ1cHRfcmVxdWVzdCB8PSBDUFVfSU5URVJSVVBUX1ZJUlE7CisgICAgICAgIGNwdS0+aW50
ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9WSVJROwogICAgIH0KIAogICAgIC8qIG1h
eWJlIHdlIG5lZWQgdG8gaW5qZWN0IGFuIGV2ZW50ICovCkBAIC01NDg3LDYgKzU0OTAsNyBAQCB2
b2lkIGhlbHBlcl9zdm1fY2hlY2tfaW8odWludDMyX3QgcG9ydCwgdWludDMyX3QgcGFyYW0sCiAv
KiBOb3RlOiBjdXJyZW50bHkgb25seSAzMiBiaXRzIG9mIGV4aXRfY29kZSBhcmUgdXNlZCAqLwog
dm9pZCBoZWxwZXJfdm1leGl0KHVpbnQzMl90IGV4aXRfY29kZSwgdWludDY0X3QgZXhpdF9pbmZv
XzEpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAgdWludDMy
X3QgaW50X2N0bDsKIAogICAgIHFlbXVfbG9nX21hc2soQ1BVX0xPR19UQl9JTl9BU00sICJ2bWV4
aXQoJTA4eCwgJTAxNiIgUFJJeDY0ICIsICUwMTYiIFBSSXg2NCAiLCAiIFRBUkdFVF9GTVRfbHgg
IikhXG4iLApAQCAtNTUyNiw4ICs1NTMwLDkgQEAgdm9pZCBoZWxwZXJfdm1leGl0KHVpbnQzMl90
IGV4aXRfY29kZSwgdWludDY0X3QgZXhpdF9pbmZvXzEpCiAgICAgaW50X2N0bCA9IGxkbF9waHlz
KGVudi0+dm1fdm1jYiArIG9mZnNldG9mKHN0cnVjdCB2bWNiLCBjb250cm9sLmludF9jdGwpKTsK
ICAgICBpbnRfY3RsICY9IH4oVl9UUFJfTUFTSyB8IFZfSVJRX01BU0spOwogICAgIGludF9jdGwg
fD0gZW52LT52X3RwciAmIFZfVFBSX01BU0s7Ci0gICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVl
c3QgJiBDUFVfSU5URVJSVVBUX1ZJUlEpCisgICAgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX1ZJUlEpIHsKICAgICAgICAgaW50X2N0bCB8PSBWX0lSUV9NQVNLOwor
ICAgIH0KICAgICBzdGxfcGh5cyhlbnYtPnZtX3ZtY2IgKyBvZmZzZXRvZihzdHJ1Y3Qgdm1jYiwg
Y29udHJvbC5pbnRfY3RsKSwgaW50X2N0bCk7CiAKICAgICBzdHFfcGh5cyhlbnYtPnZtX3ZtY2Ig
KyBvZmZzZXRvZihzdHJ1Y3Qgdm1jYiwgc2F2ZS5yZmxhZ3MpLCBjb21wdXRlX2VmbGFncygpKTsK
QEAgLTU1NDMsNyArNTU0OCw3IEBAIHZvaWQgaGVscGVyX3ZtZXhpdCh1aW50MzJfdCBleGl0X2Nv
ZGUsIHVpbnQ2NF90IGV4aXRfaW5mb18xKQogICAgIGVudi0+aGZsYWdzICY9IH5IRl9TVk1JX01B
U0s7CiAgICAgZW52LT5pbnRlcmNlcHQgPSAwOwogICAgIGVudi0+aW50ZXJjZXB0X2V4Y2VwdGlv
bnMgPSAwOwotICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfVklS
UTsKKyAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX1ZJUlE7CiAg
ICAgZW52LT50c2Nfb2Zmc2V0ID0gMDsKIAogICAgIGVudi0+Z2R0LmJhc2UgID0gbGRxX3BoeXMo
ZW52LT52bV9oc2F2ZSArIG9mZnNldG9mKHN0cnVjdCB2bWNiLCBzYXZlLmdkdHIuYmFzZSkpOwpk
aWZmIC0tZ2l0IGEvdGFyZ2V0LWxtMzIvY3B1LmggYi90YXJnZXQtbG0zMi9jcHUuaAppbmRleCA3
MjQzYjRmLi41NTk4OTBiIDEwMDY0NAotLS0gYS90YXJnZXQtbG0zMi9jcHUuaAorKysgYi90YXJn
ZXQtbG0zMi9jcHUuaApAQCAtMjU1LDkgKzI1NSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjcHVf
Z2V0X3RiX2NwdV9zdGF0ZShDUFVMTTMyU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nICpwYywKIAog
c3RhdGljIGlubGluZSBib29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQ
VUxNMzJTdGF0ZSAqZW52ID0gJkxNMzJfQ1BVKGNwdSktPmVudjsKLQotICAgIHJldHVybiBlbnYt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOworICAgIHJldHVybiBjcHUt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOwogfQogCiAjaW5jbHVkZSAi
ZXhlYy1hbGwuaCIKZGlmZiAtLWdpdCBhL3RhcmdldC1sbTMyL29wX2hlbHBlci5jIGIvdGFyZ2V0
LWxtMzIvb3BfaGVscGVyLmMKaW5kZXggNTFlZGMxYS4uN2Y0OWMyYiAxMDA2NDQKLS0tIGEvdGFy
Z2V0LWxtMzIvb3BfaGVscGVyLmMKKysrIGIvdGFyZ2V0LWxtMzIvb3BfaGVscGVyLmMKQEAgLTI2
LDcgKzI2LDkgQEAgdm9pZCBoZWxwZXJfcmFpc2VfZXhjZXB0aW9uKHVpbnQzMl90IGluZGV4KQog
CiB2b2lkIGhlbHBlcl9obHQodm9pZCkKIHsKLSAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgQ1BV
U3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisKKyAgICBjcHUtPmhhbHRlZCA9IDE7CiAg
ICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKICAgICBjcHVfbG9vcF9leGl0KGVu
dik7CiB9CmRpZmYgLS1naXQgYS90YXJnZXQtbTY4ay9jcHUuaCBiL3RhcmdldC1tNjhrL2NwdS5o
CmluZGV4IDc4MGUyYzkuLmQzMzQzNTIgMTAwNjQ0Ci0tLSBhL3RhcmdldC1tNjhrL2NwdS5oCisr
KyBiL3RhcmdldC1tNjhrL2NwdS5oCkBAIC0yNTksOSArMjU5LDcgQEAgc3RhdGljIGlubGluZSB2
b2lkIGNwdV9nZXRfdGJfY3B1X3N0YXRlKENQVU02OEtTdGF0ZSAqZW52LCB0YXJnZXRfdWxvbmcg
KnBjLAogCiBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3JrKENQVVN0YXRlICpjcHUpCiB7
Ci0gICAgQ1BVTTY4S1N0YXRlICplbnYgPSAmTTY4S19DUFUoY3B1KS0+ZW52OwotCi0gICAgcmV0
dXJuIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQ7CisgICAgcmV0
dXJuIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQ7CiB9CiAKICNp
bmNsdWRlICJleGVjLWFsbC5oIgpkaWZmIC0tZ2l0IGEvdGFyZ2V0LW02OGsvb3BfaGVscGVyLmMg
Yi90YXJnZXQtbTY4ay9vcF9oZWxwZXIuYwppbmRleCAxOTcxYTU3Li40NDEzYjNhIDEwMDY0NAot
LS0gYS90YXJnZXQtbTY4ay9vcF9oZWxwZXIuYworKysgYi90YXJnZXQtbTY4ay9vcF9oZWxwZXIu
YwpAQCAtOTYsNiArOTYsNyBAQCBzdGF0aWMgdm9pZCBkb19ydGUodm9pZCkKIAogc3RhdGljIHZv
aWQgZG9faW50ZXJydXB0X2FsbChpbnQgaXNfaHcpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVO
Vl9HRVRfQ1BVKGVudik7CiAgICAgdWludDMyX3Qgc3A7CiAgICAgdWludDMyX3QgZm10OwogICAg
IHVpbnQzMl90IHJldGFkZHI7CkBAIC0xMjAsNyArMTIxLDcgQEAgc3RhdGljIHZvaWQgZG9faW50
ZXJydXB0X2FsbChpbnQgaXNfaHcpCiAgICAgICAgICAgICAgICAgZG9fbTY4a19zZW1paG9zdGlu
ZyhlbnYsIGVudi0+ZHJlZ3NbMF0pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAgICAgIGNwdS0+aGFs
dGVkID0gMTsKICAgICAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gRVhDUF9ITFQ7CiAg
ICAgICAgICAgICBjcHVfbG9vcF9leGl0KGVudik7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS90YXJnZXQtbTY4ay9xcmVncy5kZWYgYi90YXJnZXQtbTY4ay9xcmVncy5kZWYKaW5k
ZXggNDk0MDBjNC4uNDIzNWIwMiAxMDA2NDQKLS0tIGEvdGFyZ2V0LW02OGsvcXJlZ3MuZGVmCisr
KyBiL3RhcmdldC1tNjhrL3FyZWdzLmRlZgpAQCAtOCw2ICs4LDUgQEAgREVGTzMyKENDX1gsIGNj
X3gpCiBERUZPMzIoRElWMSwgZGl2MSkKIERFRk8zMihESVYyLCBkaXYyKQogREVGTzMyKEVYQ0VQ
VElPTiwgZXhjZXB0aW9uX2luZGV4KQotREVGTzMyKEhBTFRFRCwgaGFsdGVkKQogREVGTzMyKE1B
Q1NSLCBtYWNzcikKIERFRk8zMihNQUNfTUFTSywgbWFjX21hc2spCmRpZmYgLS1naXQgYS90YXJn
ZXQtbTY4ay90cmFuc2xhdGUuYyBiL3RhcmdldC1tNjhrL3RyYW5zbGF0ZS5jCmluZGV4IDlmYzFl
MzEuLmZlZjBjNzkgMTAwNjQ0Ci0tLSBhL3RhcmdldC1tNjhrL3RyYW5zbGF0ZS5jCisrKyBiL3Rh
cmdldC1tNjhrL3RyYW5zbGF0ZS5jCkBAIC00Miw2ICs0Miw4IEBACiAjdW5kZWYgREVGTzY0CiAj
dW5kZWYgREVGRjY0CiAKK3N0YXRpYyBUQ0d2IFFSRUdfSEFMVEVEOworCiBzdGF0aWMgVENHdl9w
dHIgY3B1X2VudjsKIAogc3RhdGljIGNoYXIgY3B1X3JlZ19uYW1lc1szKjgqMyArIDUqNF07CkBA
IC03Niw2ICs3OCwxMCBAQCB2b2lkIG02OGtfdGNnX2luaXQodm9pZCkKICN1bmRlZiBERUZPNjQK
ICN1bmRlZiBERUZGNjQKIAorICAgIFFSRUdfSEFMVEVEID0gdGNnX2dsb2JhbF9tZW1fbmV3X2kz
MihUQ0dfQVJFRzAsIG9mZnNldG9mKENQVVN0YXRlLCBoYWx0ZWQpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb2Zmc2V0b2YoTTY4a0NQVSwgZW52
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhBTFRFRCIpOwor
CiAgICAgY3B1X2VudiA9IHRjZ19nbG9iYWxfcmVnX25ld19wdHIoVENHX0FSRUcwLCAiZW52Iik7
CiAKICAgICBwID0gY3B1X3JlZ19uYW1lczsKZGlmZiAtLWdpdCBhL3RhcmdldC1taWNyb2JsYXpl
L2NwdS5oIGIvdGFyZ2V0LW1pY3JvYmxhemUvY3B1LmgKaW5kZXggNjEzMTI4Ny4uZTE3YTBkYiAx
MDA2NDQKLS0tIGEvdGFyZ2V0LW1pY3JvYmxhemUvY3B1LmgKKysrIGIvdGFyZ2V0LW1pY3JvYmxh
emUvY3B1LmgKQEAgLTM3MSw5ICszNzEsNyBAQCB2b2lkIGNwdV91bmFzc2lnbmVkX2FjY2VzcyhD
UFVNQlN0YXRlICplbnYxLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwKIAogc3RhdGljIGlubGlu
ZSBib29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVU1CU3RhdGUgKmVu
diA9ICZNSUNST0JMQVpFX0NQVShjcHUpLT5lbnY7Ci0KLSAgICByZXR1cm4gZW52LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIChDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5URVJSVVBUX05NSSk7Cisg
ICAgcmV0dXJuIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BVX0lOVEVSUlVQVF9IQVJEIHwg
Q1BVX0lOVEVSUlVQVF9OTUkpOwogfQogCiAjaW5jbHVkZSAiZXhlYy1hbGwuaCIKZGlmZiAtLWdp
dCBhL3RhcmdldC1taXBzL2NwdS5oIGIvdGFyZ2V0LW1pcHMvY3B1LmgKaW5kZXggOWNlNTNkYS4u
OWFjNTczMyAxMDA2NDQKLS0tIGEvdGFyZ2V0LW1pcHMvY3B1LmgKKysrIGIvdGFyZ2V0LW1pcHMv
Y3B1LmgKQEAgLTcxNCw3ICs3MTQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3Jr
KENQVVN0YXRlICpjcHUpCiAgICAgLyogSXQgaXMgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50IGlm
IG5vbi1lbmFibGVkIGludGVycnVwdHMKICAgICAgICB3YWtlLXVwIHRoZSBDUFUsIGhvd2V2ZXIg
bW9zdCBvZiB0aGUgaW1wbGVtZW50YXRpb25zIG9ubHkKICAgICAgICBjaGVjayBmb3IgaW50ZXJy
dXB0cyB0aGF0IGNhbiBiZSB0YWtlbi4gKi8KLSAgICBpZiAoKGVudi0+aW50ZXJydXB0X3JlcXVl
c3QgJiBDUFVfSU5URVJSVVBUX0hBUkQpICYmCisgICAgaWYgKChjcHUtPmludGVycnVwdF9yZXF1
ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICBjcHVfbWlwc19od19pbnRlcnJ1
cHRzX3BlbmRpbmcoZW52KSkgewogICAgICAgICBoYXNfd29yayA9IHRydWU7CiAgICAgfQpAQCAt
NzIzLDcgKzcyMyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjcHVfaGFzX3dvcmsoQ1BVU3RhdGUg
KmNwdSkKICAgICBpZiAoZW52LT5DUDBfQ29uZmlnMyAmICgxIDw8IENQMEMzX01UKSkgewogICAg
ICAgICAvKiBUaGUgUUVNVSBtb2RlbCB3aWxsIGlzc3VlIGFuIF9XQUtFIHJlcXVlc3Qgd2hlbmV2
ZXIgdGhlIENQVXMKICAgICAgICAgICAgc2hvdWxkIGJlIHdva2VuIHVwLiAgKi8KLSAgICAgICAg
aWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1dBS0UpIHsKKyAgICAg
ICAgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1dBS0UpIHsKICAg
ICAgICAgICAgIGhhc193b3JrID0gdHJ1ZTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS90YXJn
ZXQtbWlwcy9vcF9oZWxwZXIuYyBiL3RhcmdldC1taXBzL29wX2hlbHBlci5jCmluZGV4IGQyNmM5
ZmIuLmZkNDEyNWUgMTAwNjQ0Ci0tLSBhL3RhcmdldC1taXBzL29wX2hlbHBlci5jCisrKyBiL3Rh
cmdldC1taXBzL29wX2hlbHBlci5jCkBAIC03NDYsMTAgKzc0NiwxMSBAQCB2b2lkIGhlbHBlcl9z
ZG0gKHRhcmdldF91bG9uZyBhZGRyLCB0YXJnZXRfdWxvbmcgcmVnbGlzdCwgdWludDMyX3QgbWVt
X2lkeCkKIHN0YXRpYyBib29sIG1pcHNfdnBlX2lzX3dmaShNSVBTQ1BVICpjKQogewogICAgIENQ
VU1JUFNTdGF0ZSAqZW52ID0gJmMtPmVudjsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gQ1BVKGMpOwog
CiAgICAgLyogSWYgdGhlIFZQRSBpcyBoYWx0ZWQgYnV0IG90aGVyd2lzZSBhY3RpdmUsIGl0IG1l
YW5zIGl0J3Mgd2FpdGluZyBmb3IKICAgICAgICBhbiBpbnRlcnJ1cHQuICAqLwotICAgIHJldHVy
biBlbnYtPmhhbHRlZCAmJiBtaXBzX3ZwZV9hY3RpdmUoZW52KTsKKyAgICByZXR1cm4gY3B1LT5o
YWx0ZWQgJiYgbWlwc192cGVfYWN0aXZlKGVudik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBt
aXBzX3ZwZV93YWtlKENQVU1JUFNTdGF0ZSAqYykKQEAgLTc2Niw3ICs3NjcsNyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgbWlwc192cGVfc2xlZXAoTUlQU0NQVSAqY3B1KQogCiAgICAgLyogVGhlIFZQ
RSB3YXMgc2h1dCBvZmYsIHJlYWxseSBnbyB0byBiZWQuCiAgICAgICAgUmVzZXQgYW55IG9sZCBf
V0FLRSByZXF1ZXN0cy4gICovCi0gICAgYy0+aGFsdGVkID0gMTsKKyAgICBDUFUoY3B1KS0+aGFs
dGVkID0gMTsKICAgICBjcHVfcmVzZXRfaW50ZXJydXB0KGMsIENQVV9JTlRFUlJVUFRfV0FLRSk7
CiB9CiAKQEAgLTIyODYsOSArMjI4NywxMSBAQCB2b2lkIGhlbHBlcl9wbW9uIChpbnQgZnVuY3Rp
b24pCiAgICAgfQogfQogCi12b2lkIGhlbHBlcl93YWl0ICh2b2lkKQordm9pZCBoZWxwZXJfd2Fp
dCh2b2lkKQogewotICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5W
X0dFVF9DUFUoZW52KTsKKworICAgIGNwdS0+aGFsdGVkID0gMTsKICAgICBjcHVfcmVzZXRfaW50
ZXJydXB0KGVudiwgQ1BVX0lOVEVSUlVQVF9XQUtFKTsKICAgICBoZWxwZXJfcmFpc2VfZXhjZXB0
aW9uKEVYQ1BfSExUKTsKIH0KZGlmZiAtLWdpdCBhL3RhcmdldC1taXBzL3RyYW5zbGF0ZS5jIGIv
dGFyZ2V0LW1pcHMvdHJhbnNsYXRlLmMKaW5kZXggNGUxNWVlMy4uNzkzZjcyYiAxMDA2NDQKLS0t
IGEvdGFyZ2V0LW1pcHMvdHJhbnNsYXRlLmMKKysrIGIvdGFyZ2V0LW1pcHMvdHJhbnNsYXRlLmMK
QEAgLTEyNzE2LDYgKzEyNzE2LDEwIEBAIE1JUFNDUFUgKmNwdV9taXBzX2luaXQoY29uc3QgY2hh
ciAqY3B1X21vZGVsKQogCiB2b2lkIGNwdV9zdGF0ZV9yZXNldChDUFVNSVBTU3RhdGUgKmVudikK
IHsKKyNpZm5kZWYgQ09ORklHX1VTRVJfT05MWQorICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VU
X0NQVShlbnYpOworI2VuZGlmCisKICAgICBpZiAocWVtdV9sb2dsZXZlbF9tYXNrKENQVV9MT0df
UkVTRVQpKSB7CiAgICAgICAgIHFlbXVfbG9nKCJDUFUgUmVzZXQgKENQVSAlZClcbiIsIGVudi0+
Y3B1X2luZGV4KTsKICAgICAgICAgbG9nX2NwdV9zdGF0ZShlbnYsIDApOwpAQCAtMTI4MTcsNyAr
MTI4MjEsNyBAQCB2b2lkIGNwdV9zdGF0ZV9yZXNldChDUFVNSVBTU3RhdGUgKmVudikKICAgICAg
ICAgICAgIGVudi0+dGNzW2ldLkNQMF9UQ0hhbHQgPSAxOwogICAgICAgICB9CiAgICAgICAgIGVu
di0+YWN0aXZlX3RjLkNQMF9UQ0hhbHQgPSAxOwotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7Cisg
ICAgICAgIGNwdS0+aGFsdGVkID0gMTsKIAogICAgICAgICBpZiAoIWVudi0+Y3B1X2luZGV4KSB7
CiAgICAgICAgICAgICAvKiBWUEUwIHN0YXJ0cyB1cCBlbmFibGVkLiAgKi8KQEAgLTEyODI1LDcg
KzEyODI5LDcgQEAgdm9pZCBjcHVfc3RhdGVfcmVzZXQoQ1BVTUlQU1N0YXRlICplbnYpCiAgICAg
ICAgICAgICBlbnYtPkNQMF9WUEVDb25mMCB8PSAoMSA8PCBDUDBWUEVDMF9NVlApIHwgKDEgPDwg
Q1AwVlBFQzBfVlBBKTsKIAogICAgICAgICAgICAgLyogVEMwIHN0YXJ0cyB1cCB1bmhhbHRlZC4g
ICovCi0gICAgICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgICAgICBjcHUtPmhhbHRl
ZCA9IDA7CiAgICAgICAgICAgICBlbnYtPmFjdGl2ZV90Yy5DUDBfVENIYWx0ID0gMDsKICAgICAg
ICAgICAgIGVudi0+dGNzWzBdLkNQMF9UQ0hhbHQgPSAwOwogICAgICAgICAgICAgLyogV2l0aCB0
aHJlYWQgMCBhY3RpdmUuICAqLwpkaWZmIC0tZ2l0IGEvdGFyZ2V0LXBwYy9jcHUuaCBiL3Rhcmdl
dC1wcGMvY3B1LmgKaW5kZXggZjE5MjdkNS4uOTM1YzM0NyAxMDA2NDQKLS0tIGEvdGFyZ2V0LXBw
Yy9jcHUuaAorKysgYi90YXJnZXQtcHBjL2NwdS5oCkBAIC0yMTg4LDcgKzIxODgsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3JrKENQVVN0YXRlICpjcHUpCiB7CiAgICAgQ1BVUFBD
U3RhdGUgKmVudiA9ICZQT1dFUlBDX0NQVShjcHUpLT5lbnY7CiAKLSAgICByZXR1cm4gbXNyX2Vl
ICYmIChlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKTsKKyAgICBy
ZXR1cm4gbXNyX2VlICYmIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9I
QVJEKTsKIH0KIAogI2luY2x1ZGUgImV4ZWMtYWxsLmgiCmRpZmYgLS1naXQgYS90YXJnZXQtcHBj
L2hlbHBlci5jIGIvdGFyZ2V0LXBwYy9oZWxwZXIuYwppbmRleCA3NzQ3Njc0Li44MDU5NjU0IDEw
MDY0NAotLS0gYS90YXJnZXQtcHBjL2hlbHBlci5jCisrKyBiL3RhcmdldC1wcGMvaGVscGVyLmMK
QEAgLTI1NzMsOCArMjU3Myw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwb3dlcnBjX2V4Y3AoUG93
ZXJQQ0NQVSAqY3B1LCBpbnQgZXhjcF9tb2RlbCwgaW50IGV4Y3ApCiAgICAgICAgICAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJNYWNoaW5lIGNoZWNrIHdoaWxlIG5vdCBhbGxvd2VkLiAiCiAgICAg
ICAgICAgICAgICAgICAgICAgICAiRW50ZXJpbmcgY2hlY2tzdG9wIHN0YXRlXG4iKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMTsKLSAgICAgICAgICAgIGVudi0+
aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9FWElUVEI7CisgICAgICAgICAgICBD
UFUoY3B1KS0+aGFsdGVkID0gMTsKKyAgICAgICAgICAgIENQVShjcHUpLT5pbnRlcnJ1cHRfcmVx
dWVzdCB8PSBDUFVfSU5URVJSVVBUX0VYSVRUQjsKICAgICAgICAgfQogICAgICAgICBpZiAoMCkg
ewogICAgICAgICAgICAgLyogWFhYOiBmaW5kIGEgc3VpdGFibGUgY29uZGl0aW9uIHRvIGVuYWJs
ZSB0aGUgaHlwZXJ2aXNvciBtb2RlICovCmRpZmYgLS1naXQgYS90YXJnZXQtcHBjL2hlbHBlcl9y
ZWdzLmggYi90YXJnZXQtcHBjL2hlbHBlcl9yZWdzLmgKaW5kZXggM2M5ODg1MC4uMDJhN2Y3OSAx
MDA2NDQKLS0tIGEvdGFyZ2V0LXBwYy9oZWxwZXJfcmVncy5oCisrKyBiL3RhcmdldC1wcGMvaGVs
cGVyX3JlZ3MuaApAQCAtNjcsNiArNjcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaHJlZ19jb21w
dXRlX2hmbGFncyhDUFVQUENTdGF0ZSAqZW52KQogc3RhdGljIGlubGluZSBpbnQgaHJlZ19zdG9y
ZV9tc3IoQ1BVUFBDU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nIHZhbHVlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGFsdGVyX2h2KQogeworI2lmICFkZWZpbmVkKENPTkZJ
R19VU0VSX09OTFkpCisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisjZW5k
aWYKICAgICBpbnQgZXhjcDsKIAogICAgIGV4Y3AgPSAwOwpAQCAtODIsNyArODUsNyBAQCBzdGF0
aWMgaW5saW5lIGludCBocmVnX3N0b3JlX21zcihDUFVQUENTdGF0ZSAqZW52LCB0YXJnZXRfdWxv
bmcgdmFsdWUsCiAgICAgICAgIC8qIEZsdXNoIGFsbCB0bGIgd2hlbiBjaGFuZ2luZyB0cmFuc2xh
dGlvbiBtb2RlICovCiAgICAgICAgIHRsYl9mbHVzaChlbnYsIDEpOwogICAgICAgICBleGNwID0g
UE9XRVJQQ19FWENQX05PTkU7Ci0gICAgICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BV
X0lOVEVSUlVQVF9FWElUVEI7CisgICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BV
X0lOVEVSUlVQVF9FWElUVEI7CiAgICAgfQogICAgIGlmICh1bmxpa2VseSgoZW52LT5mbGFncyAm
IFBPV0VSUENfRkxBR19UR1BSKSAmJgogICAgICAgICAgICAgICAgICAoKHZhbHVlIF4gZW52LT5t
c3IpICYgKDEgPDwgTVNSX1RHUFIpKSkpIHsKQEAgLTk5LDcgKzEwMiw3IEBAIHN0YXRpYyBpbmxp
bmUgaW50IGhyZWdfc3RvcmVfbXNyKENQVVBQQ1N0YXRlICplbnYsIHRhcmdldF91bG9uZyB2YWx1
ZSwKICNpZiAhZGVmaW5lZCAoQ09ORklHX1VTRVJfT05MWSkKICAgICBpZiAodW5saWtlbHkobXNy
X3BvdyA9PSAxKSkgewogICAgICAgICBpZiAoKCplbnYtPmNoZWNrX3BvdykoZW52KSkgewotICAg
ICAgICAgICAgZW52LT5oYWx0ZWQgPSAxOworICAgICAgICAgICAgY3B1LT5oYWx0ZWQgPSAxOwog
ICAgICAgICAgICAgZXhjcCA9IEVYQ1BfSEFMVEVEOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvdGFyZ2V0LXBwYy9rdm0uYyBiL3RhcmdldC1wcGMva3ZtLmMKaW5kZXggMTQ4YzA5NS4u
MTI2YTAxOCAxMDA2NDQKLS0tIGEvdGFyZ2V0LXBwYy9rdm0uYworKysgYi90YXJnZXQtcHBjL2t2
bS5jCkBAIC00NzEsNiArNDcxLDcgQEAgaW50IGt2bXBwY19zZXRfaW50ZXJydXB0KENQVVBQQ1N0
YXRlICplbnYsIGludCBpcnEsIGludCBsZXZlbCkKIAogdm9pZCBrdm1fYXJjaF9wcmVfcnVuKENQ
VVBQQ1N0YXRlICplbnYsIHN0cnVjdCBrdm1fcnVuICpydW4pCiB7CisgICAgQ1BVU3RhdGUgKmNw
dSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAgaW50IHI7CiAgICAgdW5zaWduZWQgaXJxOwogCkBA
IC00NzgsNyArNDc5LDcgQEAgdm9pZCBrdm1fYXJjaF9wcmVfcnVuKENQVVBQQ1N0YXRlICplbnYs
IHN0cnVjdCBrdm1fcnVuICpydW4pCiAgICAgICogaW50ZXJydXB0LCByZXNldCwgZXRjKSBpbiBQ
UEMtc3BlY2lmaWMgZW52LT5pcnFfaW5wdXRfc3RhdGUuICovCiAgICAgaWYgKCFjYXBfaW50ZXJy
dXB0X2xldmVsICYmCiAgICAgICAgIHJ1bi0+cmVhZHlfZm9yX2ludGVycnVwdF9pbmplY3Rpb24g
JiYKLSAgICAgICAgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQp
ICYmCisgICAgICAgIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJE
KSAmJgogICAgICAgICAoZW52LT5pcnFfaW5wdXRfc3RhdGUgJiAoMTw8UFBDX0lOUFVUX0lOVCkp
KQogICAgIHsKICAgICAgICAgLyogRm9yIG5vdyBLVk0gZGlzcmVnYXJkcyB0aGUgJ2lycScgYXJn
dW1lbnQuIEhvd2V2ZXIsIGluIHRoZQpAQCAtNTA4LDEzICs1MDksMTcgQEAgdm9pZCBrdm1fYXJj
aF9wb3N0X3J1bihDUFVQUENTdGF0ZSAqZW52LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogCiBpbnQg
a3ZtX2FyY2hfcHJvY2Vzc19hc3luY19ldmVudHMoQ1BVUFBDU3RhdGUgKmVudikKIHsKLSAgICBy
ZXR1cm4gZW52LT5oYWx0ZWQ7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7
CisKKyAgICByZXR1cm4gY3B1LT5oYWx0ZWQ7CiB9CiAKIHN0YXRpYyBpbnQga3ZtcHBjX2hhbmRs
ZV9oYWx0KENQVVBQQ1N0YXRlICplbnYpCiB7Ci0gICAgaWYgKCEoZW52LT5pbnRlcnJ1cHRfcmVx
dWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYgKG1zcl9lZSkpIHsKLSAgICAgICAgZW52LT5o
YWx0ZWQgPSAxOworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworCisgICAg
aWYgKCEoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYgKG1z
cl9lZSkpIHsKKyAgICAgICAgY3B1LT5oYWx0ZWQgPSAxOwogICAgICAgICBlbnYtPmV4Y2VwdGlv
bl9pbmRleCA9IEVYQ1BfSExUOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvdGFyZ2V0LXBwYy9vcF9o
ZWxwZXIuYyBiL3RhcmdldC1wcGMvb3BfaGVscGVyLmMKaW5kZXggNGVmMjMzMi4uMGY4ZDNmMCAx
MDA2NDQKLS0tIGEvdGFyZ2V0LXBwYy9vcF9oZWxwZXIuYworKysgYi90YXJnZXQtcHBjL29wX2hl
bHBlci5jCkBAIC0xNTk0LDkgKzE1OTQsMTEgQEAgdm9pZCBoZWxwZXJfZmNtcG8gKHVpbnQ2NF90
IGFyZzEsIHVpbnQ2NF90IGFyZzIsIHVpbnQzMl90IGNyZkQpCiAjaWYgIWRlZmluZWQgKENPTkZJ
R19VU0VSX09OTFkpCiB2b2lkIGhlbHBlcl9zdG9yZV9tc3IgKHRhcmdldF91bG9uZyB2YWwpCiB7
CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisKICAgICB2YWwgPSBocmVn
X3N0b3JlX21zcihlbnYsIHZhbCwgMCk7CiAgICAgaWYgKHZhbCAhPSAwKSB7Ci0gICAgICAgIGVu
di0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9FWElUVEI7CisgICAgICAgIGNw
dS0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9FWElUVEI7CiAgICAgICAgIGhl
bHBlcl9yYWlzZV9leGNlcHRpb24odmFsKTsKICAgICB9CiB9CkBAIC0xNjA0LDYgKzE2MDYsOCBA
QCB2b2lkIGhlbHBlcl9zdG9yZV9tc3IgKHRhcmdldF91bG9uZyB2YWwpCiBzdGF0aWMgaW5saW5l
IHZvaWQgZG9fcmZpKHRhcmdldF91bG9uZyBuaXAsIHRhcmdldF91bG9uZyBtc3IsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRhcmdldF91bG9uZyBtc3JtLCBpbnQga2VlcF9tc3JoKQogewor
ICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworCiAjaWYgZGVmaW5lZChUQVJH
RVRfUFBDNjQpCiAgICAgaWYgKG1zciAmICgxVUxMIDw8IE1TUl9TRikpIHsKICAgICAgICAgbmlw
ID0gKHVpbnQ2NF90KW5pcDsKQEAgLTE2MjcsNyArMTYzMSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBkb19yZmkodGFyZ2V0X3Vsb25nIG5pcCwgdGFyZ2V0X3Vsb25nIG1zciwKICAgICAvKiBObyBu
ZWVkIHRvIHJhaXNlIGFuIGV4Y2VwdGlvbiBoZXJlLAogICAgICAqIGFzIHJmaSBpcyBhbHdheXMg
dGhlIGxhc3QgaW5zbiBvZiBhIFRCCiAgICAgICovCi0gICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVz
dCB8PSBDUFVfSU5URVJSVVBUX0VYSVRUQjsKKyAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0IHw9
IENQVV9JTlRFUlJVUFRfRVhJVFRCOwogfQogCiB2b2lkIGhlbHBlcl9yZmkgKHZvaWQpCmRpZmYg
LS1naXQgYS90YXJnZXQtcHBjL3RyYW5zbGF0ZS5jIGIvdGFyZ2V0LXBwYy90cmFuc2xhdGUuYwpp
bmRleCBjZjU5NzY1Li41N2I2M2FjIDEwMDY0NAotLS0gYS90YXJnZXQtcHBjL3RyYW5zbGF0ZS5j
CisrKyBiL3RhcmdldC1wcGMvdHJhbnNsYXRlLmMKQEAgLTMyMTMsNyArMzIxMyw4IEBAIHN0YXRp
YyB2b2lkIGdlbl9zeW5jKERpc2FzQ29udGV4dCAqY3R4KQogc3RhdGljIHZvaWQgZ2VuX3dhaXQo
RGlzYXNDb250ZXh0ICpjdHgpCiB7CiAgICAgVENHdl9pMzIgdDAgPSB0Y2dfdGVtcF9uZXdfaTMy
KCk7Ci0gICAgdGNnX2dlbl9zdF9pMzIodDAsIGNwdV9lbnYsIG9mZnNldG9mKENQVVBQQ1N0YXRl
LCBoYWx0ZWQpKTsKKyAgICB0Y2dfZ2VuX3N0X2kzMih0MCwgY3B1X2Vudiwgb2Zmc2V0b2YoQ1BV
U3RhdGUsIGhhbHRlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb2Zmc2V0b2Yo
UG93ZXJQQ0NQVSwgZW52KSk7CiAgICAgdGNnX3RlbXBfZnJlZV9pMzIodDApOwogICAgIC8qIFN0
b3AgdHJhbnNsYXRpb24sIGFzIHRoZSBDUFUgaXMgc3VwcG9zZWQgdG8gc2xlZXAgZnJvbSBub3cg
Ki8KICAgICBnZW5fZXhjZXB0aW9uX2VycihjdHgsIEVYQ1BfSExULCAxKTsKZGlmZiAtLWdpdCBh
L3RhcmdldC1zMzkweC9jcHUuaCBiL3RhcmdldC1zMzkweC9jcHUuaAppbmRleCBiZTEzMzQ4Li5l
Y2RhOWU2IDEwMDY0NAotLS0gYS90YXJnZXQtczM5MHgvY3B1LmgKKysrIGIvdGFyZ2V0LXMzOTB4
L2NwdS5oCkBAIC05ODksNyArOTg5LDcgQEAgc3RhdGljIGlubGluZSBib29sIGNwdV9oYXNfd29y
ayhDUFVTdGF0ZSAqY3B1KQogewogICAgIENQVVMzOTBYU3RhdGUgKmVudiA9ICZTMzkwX0NQVShj
cHUpLT5lbnY7CiAKLSAgICByZXR1cm4gKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5U
RVJSVVBUX0hBUkQpICYmCisgICAgcmV0dXJuIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BV
X0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICAoZW52LT5wc3cubWFzayAmIFBTV19NQVNLX0VY
VCk7CiB9CiAKZGlmZiAtLWdpdCBhL3RhcmdldC1zMzkweC9oZWxwZXIuYyBiL3RhcmdldC1zMzkw
eC9oZWxwZXIuYwppbmRleCBkMGExMTgwLi43YmY5NTU0IDEwMDY0NAotLS0gYS90YXJnZXQtczM5
MHgvaGVscGVyLmMKKysrIGIvdGFyZ2V0LXMzOTB4L2hlbHBlci5jCkBAIC00MzgsNiArNDM4LDgg
QEAgdGFyZ2V0X3BoeXNfYWRkcl90IGNwdV9nZXRfcGh5c19wYWdlX2RlYnVnKENQVVMzOTBYU3Rh
dGUgKmVudiwgdGFyZ2V0X3Vsb25nIHZhZGQKIAogdm9pZCBsb2FkX3BzdyhDUFVTMzkwWFN0YXRl
ICplbnYsIHVpbnQ2NF90IG1hc2ssIHVpbnQ2NF90IGFkZHIpCiB7CisgICAgQ1BVU3RhdGUgKmNw
dSA9IEVOVl9HRVRfQ1BVKGVudik7CisKICAgICBpZiAobWFzayAmIFBTV19NQVNLX1dBSVQpIHsK
ICAgICAgICAgaWYgKCEobWFzayAmIChQU1dfTUFTS19JTyB8IFBTV19NQVNLX0VYVCB8IFBTV19N
QVNLX01DSEVDSykpKSB7CiAgICAgICAgICAgICBpZiAoczM5MF9kZWxfcnVubmluZ19jcHUoZW52
KSA9PSAwKSB7CkBAIC00NDYsNyArNDQ4LDcgQEAgdm9pZCBsb2FkX3BzdyhDUFVTMzkwWFN0YXRl
ICplbnYsIHVpbnQ2NF90IG1hc2ssIHVpbnQ2NF90IGFkZHIpCiAjZW5kaWYKICAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgICAgIGNwdS0+aGFs
dGVkID0gMTsKICAgICAgICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKICAgICB9
CiAKQEAgLTU3MSw4ICs1NzMsMTAgQEAgc3RhdGljIHZvaWQgZG9fZXh0X2ludGVycnVwdChDUFVT
MzkwWFN0YXRlICplbnYpCiAgICAgbG9hZF9wc3coZW52LCBtYXNrLCBhZGRyKTsKIH0KIAotdm9p
ZCBkb19pbnRlcnJ1cHQgKENQVVMzOTBYU3RhdGUgKmVudikKK3ZvaWQgZG9faW50ZXJydXB0KENQ
VVMzOTBYU3RhdGUgKmVudikKIHsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52
KTsKKwogICAgIHFlbXVfbG9nKCIlczogJWQgYXQgcGM9JSIgUFJJeDY0ICJcbiIsIF9fRlVOQ1RJ
T05fXywgZW52LT5leGNlcHRpb25faW5kZXgsCiAgICAgICAgICAgICAgZW52LT5wc3cuYWRkcik7
CiAKQEAgLTYxMCw3ICs2MTQsNyBAQCB2b2lkIGRvX2ludGVycnVwdCAoQ1BVUzM5MFhTdGF0ZSAq
ZW52KQogICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gLTE7CiAKICAgICBpZiAoIWVudi0+cGVu
ZGluZ19pbnQpIHsKLSAgICAgICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVS
UlVQVF9IQVJEOworICAgICAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJS
VVBUX0hBUkQ7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS90YXJnZXQtczM5MHgva3ZtLmMgYi90
YXJnZXQtczM5MHgva3ZtLmMKaW5kZXggZTA5NzA5ZC4uNzIyNTExZSAxMDA2NDQKLS0tIGEvdGFy
Z2V0LXMzOTB4L2t2bS5jCisrKyBiL3RhcmdldC1zMzkweC9rdm0uYwpAQCAtMTcyLDcgKzE3Miw5
IEBAIHZvaWQga3ZtX2FyY2hfcG9zdF9ydW4oQ1BVUzM5MFhTdGF0ZSAqZW52LCBzdHJ1Y3Qga3Zt
X3J1biAqcnVuKQogCiBpbnQga3ZtX2FyY2hfcHJvY2Vzc19hc3luY19ldmVudHMoQ1BVUzM5MFhT
dGF0ZSAqZW52KQogewotICAgIHJldHVybiBlbnYtPmhhbHRlZDsKKyAgICBDUFVTdGF0ZSAqY3B1
ID0gRU5WX0dFVF9DUFUoZW52KTsKKworICAgIHJldHVybiBjcHUtPmhhbHRlZDsKIH0KIAogdm9p
ZCBrdm1fczM5MF9pbnRlcnJ1cHRfaW50ZXJuYWwoQ1BVUzM5MFhTdGF0ZSAqZW52LCBpbnQgdHlw
ZSwgdWludDMyX3QgcGFybSwKZGlmZiAtLWdpdCBhL3RhcmdldC1zaDQvY3B1LmggYi90YXJnZXQt
c2g0L2NwdS5oCmluZGV4IGZkNmZiODYuLmJhNjY0NzkgMTAwNjQ0Ci0tLSBhL3RhcmdldC1zaDQv
Y3B1LmgKKysrIGIvdGFyZ2V0LXNoNC9jcHUuaApAQCAtMzczLDkgKzM3Myw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBjcHVfZ2V0X3RiX2NwdV9zdGF0ZShDUFVTSDRTdGF0ZSAqZW52LCB0YXJnZXRf
dWxvbmcgKnBjLAogCiBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3JrKENQVVN0YXRlICpj
cHUpCiB7Ci0gICAgQ1BVU0g0U3RhdGUgKmVudiA9ICZTVVBFUkhfQ1BVKGNwdSktPmVudjsKLQot
ICAgIHJldHVybiBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOwor
ICAgIHJldHVybiBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOwog
fQogCiAjaW5jbHVkZSAiZXhlYy1hbGwuaCIKZGlmZiAtLWdpdCBhL3RhcmdldC1zaDQvaGVscGVy
LmMgYi90YXJnZXQtc2g0L2hlbHBlci5jCmluZGV4IDVjNTczODAuLmZlMzA2M2QgMTAwNjQ0Ci0t
LSBhL3RhcmdldC1zaDQvaGVscGVyLmMKKysrIGIvdGFyZ2V0LXNoNC9oZWxwZXIuYwpAQCAtNzgs
OSArNzgsMTAgQEAgaW50IGNwdV9zaDRfaXNfY2FjaGVkKENQVVNINFN0YXRlICogZW52LCB0YXJn
ZXRfdWxvbmcgYWRkcikKICNkZWZpbmUgTU1VX0RBRERSX0VSUk9SX1JFQUQgICAgICgtMTIpCiAj
ZGVmaW5lIE1NVV9EQUREUl9FUlJPUl9XUklURSAgICAoLTEzKQogCi12b2lkIGRvX2ludGVycnVw
dChDUFVTSDRTdGF0ZSAqIGVudikKK3ZvaWQgZG9faW50ZXJydXB0KENQVVNINFN0YXRlICplbnYp
CiB7Ci0gICAgaW50IGRvX2lycSA9IGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJS
VVBUX0hBUkQ7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisgICAgaW50
IGRvX2lycSA9IGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQ7CiAg
ICAgaW50IGRvX2V4cCwgaXJxX3ZlY3RvciA9IGVudi0+ZXhjZXB0aW9uX2luZGV4OwogCiAgICAg
LyogcHJpb3JpdGl6ZSBleGNlcHRpb25zIG92ZXIgaW50ZXJydXB0cyAqLwpkaWZmIC0tZ2l0IGEv
dGFyZ2V0LXNoNC9vcF9oZWxwZXIuYyBiL3RhcmdldC1zaDQvb3BfaGVscGVyLmMKaW5kZXggNDA1
NDc5MS4uNDIyNjY3MSAxMDA2NDQKLS0tIGEvdGFyZ2V0LXNoNC9vcF9oZWxwZXIuYworKysgYi90
YXJnZXQtc2g0L29wX2hlbHBlci5jCkBAIC0xMTcsNyArMTE3LDkgQEAgdm9pZCBoZWxwZXJfZGVi
dWcodm9pZCkKIAogdm9pZCBoZWxwZXJfc2xlZXAodWludDMyX3QgbmV4dF9wYykKIHsKLSAgICBl
bnYtPmhhbHRlZCA9IDE7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisK
KyAgICBjcHUtPmhhbHRlZCA9IDE7CiAgICAgZW52LT5pbl9zbGVlcCA9IDE7CiAgICAgZW52LT5l
eGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKICAgICBlbnYtPnBjID0gbmV4dF9wYzsKZGlmZiAt
LWdpdCBhL3RhcmdldC1zcGFyYy9jcHUuaCBiL3RhcmdldC1zcGFyYy9jcHUuaAppbmRleCBlM2Iz
YjQ0Li4zMWNkOWY2IDEwMDY0NAotLS0gYS90YXJnZXQtc3BhcmMvY3B1LmgKKysrIGIvdGFyZ2V0
LXNwYXJjL2NwdS5oCkBAIC03NjcsNyArNzY3LDcgQEAgc3RhdGljIGlubGluZSBib29sIGNwdV9o
YXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewogICAgIENQVVNQQVJDU3RhdGUgKmVudjEgPSAmU1BB
UkNfQ1BVKGNwdSktPmVudjsKIAotICAgIHJldHVybiAoZW52MS0+aW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX0hBUkQpICYmCisgICAgcmV0dXJuIChjcHUtPmludGVycnVwdF9yZXF1
ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICAgICBjcHVfaW50ZXJydXB0c19l
bmFibGVkKGVudjEpOwogfQogCmRpZmYgLS1naXQgYS90YXJnZXQtdW5pY29yZTMyL2NwdS5oIGIv
dGFyZ2V0LXVuaWNvcmUzMi9jcHUuaAppbmRleCAyODQzYTk3Li40ODQzMWNkIDEwMDY0NAotLS0g
YS90YXJnZXQtdW5pY29yZTMyL2NwdS5oCisrKyBiL3RhcmdldC11bmljb3JlMzIvY3B1LmgKQEAg
LTE4NSw5ICsxODUsNyBAQCB2b2lkIHN3aXRjaF9tb2RlKENQVVVuaUNvcmUzMlN0YXRlICosIGlu
dCk7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBjcHVfaGFzX3dvcmsoQ1BVU3RhdGUgKmNwdSkKIHsK
LSAgICBDUFVVbmlDb3JlMzJTdGF0ZSAqZW52ID0gJlVOSUNPUkUzMl9DUFUoY3B1KS0+ZW52Owot
Ci0gICAgcmV0dXJuIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJgorICAgIHJldHVybiBjcHUtPmlu
dGVycnVwdF9yZXF1ZXN0ICYKICAgICAgICAgKENQVV9JTlRFUlJVUFRfSEFSRCB8IENQVV9JTlRF
UlJVUFRfRVhJVFRCKTsKIH0KIApkaWZmIC0tZ2l0IGEvdGFyZ2V0LXh0ZW5zYS9vcF9oZWxwZXIu
YyBiL3RhcmdldC14dGVuc2Evb3BfaGVscGVyLmMKaW5kZXggMzY0ZGMxOS4uOGViMDJhNSAxMDA2
NDQKLS0tIGEvdGFyZ2V0LXh0ZW5zYS9vcF9oZWxwZXIuYworKysgYi90YXJnZXQteHRlbnNhL29w
X2hlbHBlci5jCkBAIC0zOTAsNiArMzkwLDggQEAgdm9pZCBIRUxQRVIoZHVtcF9zdGF0ZSkodm9p
ZCkKIAogdm9pZCBIRUxQRVIod2FpdGkpKHVpbnQzMl90IHBjLCB1aW50MzJfdCBpbnRsZXZlbCkK
IHsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKKwogICAgIGVudi0+cGMg
PSBwYzsKICAgICBlbnYtPnNyZWdzW1BTXSA9IChlbnYtPnNyZWdzW1BTXSAmIH5QU19JTlRMRVZF
TCkgfAogICAgICAgICAoaW50bGV2ZWwgPDwgUFNfSU5UTEVWRUxfU0hJRlQpOwpAQCAtNDAwLDcg
KzQwMiw3IEBAIHZvaWQgSEVMUEVSKHdhaXRpKSh1aW50MzJfdCBwYywgdWludDMyX3QgaW50bGV2
ZWwpCiAgICAgfQogCiAgICAgZW52LT5oYWx0X2Nsb2NrID0gcWVtdV9nZXRfY2xvY2tfbnModm1f
Y2xvY2spOwotICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICBjcHUtPmhhbHRlZCA9IDE7CiAgICAg
aWYgKHh0ZW5zYV9vcHRpb25fZW5hYmxlZChlbnYtPmNvbmZpZywgWFRFTlNBX09QVElPTl9USU1F
Ul9JTlRFUlJVUFQpKSB7CiAgICAgICAgIHh0ZW5zYV9yZWFybV9jY29tcGFyZV90aW1lcihlbnYp
OwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi1hbGwuYyBiL3hlbi1hbGwuYwppbmRleCBiZGY5YzBm
Li4zM2ViYjcyIDEwMDY0NAotLS0gYS94ZW4tYWxsLmMKKysrIGIveGVuLWFsbC5jCkBAIC01OTAs
OSArNTkwLDkgQEAgc3RhdGljIE1lbW9yeUxpc3RlbmVyIHhlbl9tZW1vcnlfbGlzdGVuZXIgPSB7
CiAKIHN0YXRpYyB2b2lkIHhlbl9yZXNldF92Y3B1KHZvaWQgKm9wYXF1ZSkKIHsKLSAgICBDUFVB
cmNoU3RhdGUgKmVudiA9IG9wYXF1ZTsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gb3BhcXVlOwogCi0g
ICAgZW52LT5oYWx0ZWQgPSAxOworICAgIGNwdS0+aGFsdGVkID0gMTsKIH0KIAogdm9pZCB4ZW5f
dmNwdV9pbml0KHZvaWQpCkBAIC02MDAsOCArNjAwLDEwIEBAIHZvaWQgeGVuX3ZjcHVfaW5pdCh2
b2lkKQogICAgIENQVUFyY2hTdGF0ZSAqZmlyc3RfY3B1OwogCiAgICAgaWYgKChmaXJzdF9jcHUg
PSBxZW11X2dldF9jcHUoMCkpKSB7Ci0gICAgICAgIHFlbXVfcmVnaXN0ZXJfcmVzZXQoeGVuX3Jl
c2V0X3ZjcHUsIGZpcnN0X2NwdSk7Ci0gICAgICAgIHhlbl9yZXNldF92Y3B1KGZpcnN0X2NwdSk7
CisgICAgICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShmaXJzdF9jcHUpOworCisgICAg
ICAgIHFlbXVfcmVnaXN0ZXJfcmVzZXQoeGVuX3Jlc2V0X3ZjcHUsIGNwdSk7CisgICAgICAgIHhl
bl9yZXNldF92Y3B1KGNwdSk7CiAgICAgfQogfQogCi0tIAoxLjcuNwoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK
WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 03:09:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 03:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX1x7-0002Ol-Gi; Wed, 23 May 2012 03:09:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <afaerber@suse.de>) id 1SX1x5-0002Oa-HV
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 03:09:32 +0000
Received: from [193.109.254.147:20940] by server-11.bemta-14.messagelabs.com
	id 5B/A6-05858-AE45CBF4; Wed, 23 May 2012 03:09:30 +0000
X-Env-Sender: afaerber@suse.de
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337742567!3006156!1
X-Originating-IP: [195.135.220.15]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22807 invoked from network); 23 May 2012 03:09:27 -0000
Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 03:09:27 -0000
Received: from relay1.suse.de (unknown [195.135.220.254])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx2.suse.de (Postfix) with ESMTP id DA1BA979ED;
	Wed, 23 May 2012 05:09:26 +0200 (CEST)
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
To: qemu-devel@nongnu.org
Date: Wed, 23 May 2012 05:08:22 +0200
Message-Id: <1337742502-28565-60-git-send-email-afaerber@suse.de>
X-Mailer: git-send-email 1.7.7
In-Reply-To: <1337742502-28565-1-git-send-email-afaerber@suse.de>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
MIME-Version: 1.0
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Anthony Liguori <aliguori@us.ibm.com>,
	"open list:X86" <xen-devel@lists.xensource.com>,
	"open list:Overall" <kvm@vger.kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Paul Brook <paul@codesourcery.com>, Marcelo Tosatti <mtosatti@redhat.com>,
	Alexander Graf <agraf@suse.de>, Blue Swirl <blauwirbel@gmail.com>,
	Max Filippov <jcmvbkbc@gmail.com>, Michael Walle <michael@walle.cc>,
	"open list:PowerPC" <qemu-ppc@nongnu.org>, Avi Kivity <avi@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>,
	=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>,
	Aurelien Jarno <aurelien@aurel32.net>, Richard Henderson <rth@twiddle.net>
Subject: [Xen-devel] [PATCH qom-next 59/59] cpu: Move halted and
	interrupt_request to CPUState
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Rm9yIHRhcmdldC1jcmlzIHVzZSBpMzIgZm9yIGhhbHRlZCBpbnN0ZWFkIG9mIHRsLiBUaGlzIGVm
ZmVjdGl2ZWx5IG1ha2VzCm5vIGRpZmZlcmVuY2Ugc2luY2UgaXQgaXMgMzItYml0LgoKRm9yIFhl
biBwYXNzIENQVVN0YXRlIHRvIHhlbl9yZXNldF92Y3B1KCkuCgpTaWduZWQtb2ZmLWJ5OiBBbmRy
ZWFzIEbDpHJiZXIgPGFmYWVyYmVyQHN1c2UuZGU+Ci0tLQogY3B1LWRlZnMuaCAgICAgICAgICAg
ICAgICB8ICAgIDIgLQogY3B1LWV4ZWMuYyAgICAgICAgICAgICAgICB8ICAgMzIgKysrKysrKysr
KysrKysrLS0tLS0tLS0tLS0tLQogY3B1cy5jICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0K
IGV4ZWMuYyAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrKysrKysrKysrKysrKysrKysrLS0t
LS0tLS0tLS0KIGdkYnN0dWIuYyAgICAgICAgICAgICAgICAgfCAgICA0ICsrLQogaHcvbGVvbjMu
YyAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIGh3L29tYXAxLmMgICAgICAgICAgICAgICAgfCAg
ICA0ICstCiBody9wYy5jICAgICAgICAgICAgICAgICAgIHwgICAgNiArKy0tCiBody9wcGMuYyAg
ICAgICAgICAgICAgICAgIHwgICAxMCArKysrLS0tLQogaHcvcHBjZTUwMF9tcGM4NTQ0ZHMuYyAg
ICB8ICAgIDQgKy0KIGh3L3BwY2U1MDBfc3Bpbi5jICAgICAgICAgfCAgICAyICstCiBody9weGEy
eHhfZ3Bpby5jICAgICAgICAgIHwgICAgMyArLQogaHcvcHhhMnh4X3BpYy5jICAgICAgICAgICB8
ICAgIDIgKy0KIGh3L3MzOTAtdmlydGlvLmMgICAgICAgICAgfCAgIDE0ICsrKysrKysrLS0tLQog
aHcvc3BhcHIuYyAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIGh3L3NwYXByX2hjYWxsLmMgICAg
ICAgICAgfCAgICAyICstCiBody9zcGFwcl9ydGFzLmMgICAgICAgICAgIHwgICAgOCArKysrLS0K
IGh3L3N1bjRtLmMgICAgICAgICAgICAgICAgfCAgIDE4ICsrKysrKystLS0tLS0tLS0KIGh3L3N1
bjR1LmMgICAgICAgICAgICAgICAgfCAgICA5ICsrKystLS0KIGh3L3hlbl9tYWNoaW5lX3B2LmMg
ICAgICAgfCAgICA0ICstLQogaHcveHRlbnNhX3BpYy5jICAgICAgICAgICB8ICAgIDUgKystCiBp
bmNsdWRlL3FlbXUvY3B1LmggICAgICAgIHwgICAgNCArKysKIGt2bS1hbGwuYyAgICAgICAgICAg
ICAgICAgfCAgICAyICstCiBxb20vY3B1LmMgICAgICAgICAgICAgICAgIHwgICAgMiArCiB0YXJn
ZXQtYWxwaGEvY3B1LmggICAgICAgIHwgICAgNCArLS0KIHRhcmdldC1hbHBoYS90cmFuc2xhdGUu
YyAgfCAgICAzICstCiB0YXJnZXQtYXJtL2NwdS5oICAgICAgICAgIHwgICAgNCArLS0KIHRhcmdl
dC1hcm0vaGVscGVyLmMgICAgICAgfCAgICAzICstCiB0YXJnZXQtYXJtL29wX2hlbHBlci5jICAg
IHwgICAgNCArKy0KIHRhcmdldC1jcmlzL2NwdS5oICAgICAgICAgfCAgICA0ICstLQogdGFyZ2V0
LWNyaXMvdHJhbnNsYXRlLmMgICB8ICAgIDQgKystCiB0YXJnZXQtaTM4Ni9jcHUuaCAgICAgICAg
IHwgICAgNiArKy0tCiB0YXJnZXQtaTM4Ni9oZWxwZXIuYyAgICAgIHwgICAxNCArKysrKysrLS0t
LS0KIHRhcmdldC1pMzg2L2t2bS5jICAgICAgICAgfCAgIDQ5ICsrKysrKysrKysrKysrKysrKysr
KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0YXJnZXQtaTM4Ni9vcF9oZWxwZXIuYyAgIHwgICAx
MyArKysrKysrKy0tLQogdGFyZ2V0LWxtMzIvY3B1LmggICAgICAgICB8ICAgIDQgKy0tCiB0YXJn
ZXQtbG0zMi9vcF9oZWxwZXIuYyAgIHwgICAgNCArKy0KIHRhcmdldC1tNjhrL2NwdS5oICAgICAg
ICAgfCAgICA0ICstLQogdGFyZ2V0LW02OGsvb3BfaGVscGVyLmMgICB8ICAgIDMgKy0KIHRhcmdl
dC1tNjhrL3FyZWdzLmRlZiAgICAgfCAgICAxIC0KIHRhcmdldC1tNjhrL3RyYW5zbGF0ZS5jICAg
fCAgICA2ICsrKysrCiB0YXJnZXQtbWljcm9ibGF6ZS9jcHUuaCAgIHwgICAgNCArLS0KIHRhcmdl
dC1taXBzL2NwdS5oICAgICAgICAgfCAgICA0ICstCiB0YXJnZXQtbWlwcy9vcF9oZWxwZXIuYyAg
IHwgICAxMSArKysrKystLS0KIHRhcmdldC1taXBzL3RyYW5zbGF0ZS5jICAgfCAgICA4ICsrKysr
LQogdGFyZ2V0LXBwYy9jcHUuaCAgICAgICAgICB8ICAgIDIgKy0KIHRhcmdldC1wcGMvaGVscGVy
LmMgICAgICAgfCAgICA0ICstCiB0YXJnZXQtcHBjL2hlbHBlcl9yZWdzLmggIHwgICAgNyArKysr
LQogdGFyZ2V0LXBwYy9rdm0uYyAgICAgICAgICB8ICAgMTMgKysrKysrKystLS0KIHRhcmdldC1w
cGMvb3BfaGVscGVyLmMgICAgfCAgICA4ICsrKysrLQogdGFyZ2V0LXBwYy90cmFuc2xhdGUuYyAg
ICB8ICAgIDMgKy0KIHRhcmdldC1zMzkweC9jcHUuaCAgICAgICAgfCAgICAyICstCiB0YXJnZXQt
czM5MHgvaGVscGVyLmMgICAgIHwgICAxMCArKysrKystLQogdGFyZ2V0LXMzOTB4L2t2bS5jICAg
ICAgICB8ICAgIDQgKystCiB0YXJnZXQtc2g0L2NwdS5oICAgICAgICAgIHwgICAgNCArLS0KIHRh
cmdldC1zaDQvaGVscGVyLmMgICAgICAgfCAgICA1ICsrLQogdGFyZ2V0LXNoNC9vcF9oZWxwZXIu
YyAgICB8ICAgIDQgKystCiB0YXJnZXQtc3BhcmMvY3B1LmggICAgICAgIHwgICAgMiArLQogdGFy
Z2V0LXVuaWNvcmUzMi9jcHUuaCAgICB8ICAgIDQgKy0tCiB0YXJnZXQteHRlbnNhL29wX2hlbHBl
ci5jIHwgICAgNCArKy0KIHhlbi1hbGwuYyAgICAgICAgICAgICAgICAgfCAgIDEwICsrKysrLS0t
CiA2MSBmaWxlcyBjaGFuZ2VkLCAyNDQgaW5zZXJ0aW9ucygrKSwgMTgwIGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL2NwdS1kZWZzLmggYi9jcHUtZGVmcy5oCmluZGV4IGQ4NDY2NzQuLmJjODUx
ZmQgMTAwNjQ0Ci0tLSBhL2NwdS1kZWZzLmgKKysrIGIvY3B1LWRlZnMuaApAQCAtMTYyLDggKzE2
Miw2IEBAIHR5cGVkZWYgc3RydWN0IENQVVdhdGNocG9pbnQgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjY2Vzc2VkICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgIHRhcmdldF91bG9uZyBtZW1faW9fdmFkZHI7IC8qIHRhcmdldCB2aXJ0dWFsIGFkZHIgYXQg
d2hpY2ggdGhlICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1l
bW9yeSB3YXMgYWNjZXNzZWQgKi8gICAgICAgICAgICAgXAotICAgIHVpbnQzMl90IGhhbHRlZDsg
LyogTm9uemVybyBpZiB0aGUgQ1BVIGlzIGluIHN1c3BlbmQgc3RhdGUgKi8gICAgICAgXAotICAg
IHVpbnQzMl90IGludGVycnVwdF9yZXF1ZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBleGl0X3JlcXVlc3Q7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIENQVV9DT01NT05fVExCICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHN0
cnVjdCBUcmFuc2xhdGlvbkJsb2NrICp0Yl9qbXBfY2FjaGVbVEJfSk1QX0NBQ0hFX1NJWkVdOyAg
ICAgICAgICAgXApkaWZmIC0tZ2l0IGEvY3B1LWV4ZWMuYyBiL2NwdS1leGVjLmMKaW5kZXggZGEw
YzE3YS4uNTY3NGJhYyAxMDA2NDQKLS0tIGEvY3B1LWV4ZWMuYworKysgYi9jcHUtZXhlYy5jCkBA
IC0xOTAsMTIgKzE5MCwxMiBAQCBpbnQgY3B1X2V4ZWMoQ1BVQXJjaFN0YXRlICplbnYpCiAgICAg
dWludDhfdCAqdGNfcHRyOwogICAgIHRjZ190YXJnZXRfdWxvbmcgbmV4dF90YjsKIAotICAgIGlm
IChlbnYtPmhhbHRlZCkgeworICAgIGlmIChjcHUtPmhhbHRlZCkgewogICAgICAgICBpZiAoIWNw
dV9oYXNfd29yayhjcHUpKSB7CiAgICAgICAgICAgICByZXR1cm4gRVhDUF9IQUxURUQ7CiAgICAg
ICAgIH0KIAotICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgIGNwdS0+aGFsdGVkID0g
MDsKICAgICB9CiAKICAgICBjcHVfc2luZ2xlX2VudiA9IGVudjsKQEAgLTI2NCwxNCArMjY0LDE0
IEBAIGludCBjcHVfZXhlYyhDUFVBcmNoU3RhdGUgKmVudikKIAogICAgICAgICAgICAgbmV4dF90
YiA9IDA7IC8qIGZvcmNlIGxvb2t1cCBvZiBmaXJzdCBUQiAqLwogICAgICAgICAgICAgZm9yKDs7
KSB7Ci0gICAgICAgICAgICAgICAgaW50ZXJydXB0X3JlcXVlc3QgPSBlbnYtPmludGVycnVwdF9y
ZXF1ZXN0OworICAgICAgICAgICAgICAgIGludGVycnVwdF9yZXF1ZXN0ID0gY3B1LT5pbnRlcnJ1
cHRfcmVxdWVzdDsKICAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkoaW50ZXJydXB0X3JlcXVl
c3QpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh1bmxpa2VseShlbnYtPnNpbmdsZXN0ZXBf
ZW5hYmxlZCAmIFNTVEVQX05PSVJRKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgLyogTWFz
ayBvdXQgZXh0ZXJuYWwgaW50ZXJydXB0cyBmb3IgdGhpcyBzdGVwLiAqLwogICAgICAgICAgICAg
ICAgICAgICAgICAgaW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfU1NURVBfTUFT
SzsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJy
dXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0RFQlVHKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX0RFQlVHOworICAg
ICAgICAgICAgICAgICAgICAgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVS
UlVQVF9ERUJVRzsKICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4
ID0gRVhDUF9ERUJVRzsKICAgICAgICAgICAgICAgICAgICAgICAgIGNwdV9sb29wX2V4aXQoZW52
KTsKICAgICAgICAgICAgICAgICAgICAgfQpAQCAtMjc5LDggKzI3OSw4IEBAIGludCBjcHVfZXhl
YyhDUFVBcmNoU3RhdGUgKmVudikKICAgICBkZWZpbmVkKFRBUkdFVF9QUEMpIHx8IGRlZmluZWQo
VEFSR0VUX0FMUEhBKSB8fCBkZWZpbmVkKFRBUkdFVF9DUklTKSB8fCBcCiAgICAgZGVmaW5lZChU
QVJHRVRfTUlDUk9CTEFaRSkgfHwgZGVmaW5lZChUQVJHRVRfTE0zMikgfHwgZGVmaW5lZChUQVJH
RVRfVU5JQ09SRTMyKQogICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX0hBTFQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+aW50
ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFMVDsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNwdS0+aW50
ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFMVDsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNwdS0+aGFsdGVkID0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+ZXhj
ZXB0aW9uX2luZGV4ID0gRVhDUF9ITFQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBjcHVfbG9v
cF9leGl0KGVudik7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTI5NywxNyArMjk3LDE3IEBA
IGludCBjcHVfZXhlYyhDUFVBcmNoU3RhdGUgKmVudikKICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICgoaW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1NNSSkgJiYKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhKGVudi0+aGZsYWdzICYgSEZfU01NX01BU0spKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3ZtX2NoZWNrX2ludGVyY2VwdChlbnYsIFNWTV9FWElU
X1NNSSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVz
dCAmPSB+Q1BVX0lOVEVSUlVQVF9TTUk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1
LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9TTUk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG9fc21tX2VudGVyKGVudik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbmV4dF90YiA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChp
bnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTk1JKSAmJgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhKGVudi0+aGZsYWdzMiAmIEhGMl9OTUlfTUFTSykpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVf
SU5URVJSVVBUX05NSTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHUtPmludGVycnVw
dF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX05NSTsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbnYtPmhmbGFnczIgfD0gSEYyX05NSV9NQVNLOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvX2ludGVycnVwdF94ODZfaGFyZGlycShlbnYsIEVYQ1AwMl9OTUksIDEpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmIChpbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTUNFKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+
Q1BVX0lOVEVSUlVQVF9NQ0U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9NQ0U7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9faW50ZXJydXB0X3g4Nl9oYXJkaXJxKGVudiwgRVhDUDEyX01DSEssIDApOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICgoaW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hB
UkQpICYmCkBAIC0zMTgsNyArMzE4LDggQEAgaW50IGNwdV9leGVjKENQVUFyY2hTdGF0ZSAqZW52
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhKGVudi0+aGZsYWdzICYg
SEZfSU5ISUJJVF9JUlFfTUFTSykpKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaW50bm87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZtX2NoZWNrX2ludGVyY2Vw
dChlbnYsIFNWTV9FWElUX0lOVFIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+
aW50ZXJydXB0X3JlcXVlc3QgJj0gfihDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5URVJSVVBU
X1ZJUlEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVl
c3QgJj0gfihDUFVfSU5URVJSVVBUX0hBUkQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUFVfSU5URVJSVVBUX1ZJUlEpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludG5vID0gY3B1X2dldF9waWNfaW50ZXJydXB0KGVudik7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcWVtdV9sb2dfbWFzayhDUFVfTE9HX1RCX0lO
X0FTTSwgIlNlcnZpY2luZyBoYXJkd2FyZSBJTlQ9MHglMDJ4XG4iLCBpbnRubyk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG9faW50ZXJydXB0X3g4Nl9oYXJkaXJxKGVudiwgaW50bm8s
IDEpOwpAQCAtMzM1LDcgKzMzNiw3IEBAIGludCBjcHVfZXhlYyhDUFVBcmNoU3RhdGUgKmVudikK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRubyA9IGxkbF9waHlzKGVudi0+dm1fdm1j
YiArIG9mZnNldG9mKHN0cnVjdCB2bWNiLCBjb250cm9sLmludF92ZWN0b3IpKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBxZW11X2xvZ19tYXNrKENQVV9MT0dfVEJfSU5fQVNNLCAiU2Vy
dmljaW5nIHZpcnR1YWwgaGFyZHdhcmUgSU5UPTB4JTAyeFxuIiwgaW50bm8pOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvX2ludGVycnVwdF94ODZfaGFyZGlycShlbnYsIGludG5vLCAx
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9
IH5DUFVfSU5URVJSVVBUX1ZJUlE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5p
bnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9WSVJROwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAg
ICB9CkBAIC0zNDYsOCArMzQ3LDkgQEAgaW50IGNwdV9leGVjKENQVUFyY2hTdGF0ZSAqZW52KQog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcnJ1cHRf
cmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgewogICAgICAgICAgICAgICAgICAgICAgICAg
cHBjX2h3X2ludGVycnVwdChlbnYpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudi0+
cGVuZGluZ19pbnRlcnJ1cHRzID09IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52
LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9IQVJEOworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKGVudi0+cGVuZGluZ19pbnRlcnJ1cHRzID09IDApIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJS
VVBUX0hBUkQ7CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
ICAgICBuZXh0X3RiID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogI2VsaWYgZGVmaW5lZChU
QVJHRVRfTE0zMikKQEAgLTQ5OSw4ICs1MDEsOCBAQCBpbnQgY3B1X2V4ZWMoQ1BVQXJjaFN0YXRl
ICplbnYpCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAvKiBEb24ndCB1c2UgdGhlIGNhY2hl
ZCBpbnRlcnJ1cHRfcmVxdWVzdCB2YWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICBkb19pbnRl
cnJ1cHQgbWF5IGhhdmUgdXBkYXRlZCB0aGUgRVhJVFRCIGZsYWcuICovCi0gICAgICAgICAgICAg
ICAgICAgIGlmIChlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9FWElUVEIp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQ
VV9JTlRFUlJVUFRfRVhJVFRCOworICAgICAgICAgICAgICAgICAgICBpZiAoY3B1LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfRVhJVFRCKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX0VYSVRUQjsKICAg
ICAgICAgICAgICAgICAgICAgICAgIC8qIGVuc3VyZSB0aGF0IG5vIFRCIGp1bXAgd2lsbCBiZSBt
b2RpZmllZCBhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHByb2dyYW0gZmxvdyB3
YXMgY2hhbmdlZCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgbmV4dF90YiA9IDA7CmRpZmYg
LS1naXQgYS9jcHVzLmMgYi9jcHVzLmMKaW5kZXggYTQwMzYyOS4uMjI3ZWYyZiAxMDA2NDQKLS0t
IGEvY3B1cy5jCisrKyBiL2NwdXMuYwpAQCAtNDQzLDcgKzQ0Myw3IEBAIHN0YXRpYyBib29sIGNw
dV90aHJlYWRfaXNfaWRsZShDUFVBcmNoU3RhdGUgKmVudikKICAgICBpZiAoY3B1LT5zdG9wcGVk
IHx8ICFydW5zdGF0ZV9pc19ydW5uaW5nKCkpIHsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQotICAgIGlmICghZW52LT5oYWx0ZWQgfHwgcWVtdV9jcHVfaGFzX3dvcmsoY3B1KSB8fCBrdm1f
aXJxY2hpcF9pbl9rZXJuZWwoKSkgeworICAgIGlmICghY3B1LT5oYWx0ZWQgfHwgcWVtdV9jcHVf
aGFzX3dvcmsoY3B1KSB8fCBrdm1faXJxY2hpcF9pbl9rZXJuZWwoKSkgewogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwpAQCAtMTIxNCw3ICsxMjE0LDcgQEAg
Q3B1SW5mb0xpc3QgKnFtcF9xdWVyeV9jcHVzKEVycm9yICoqZXJycCkKICAgICAgICAgaW5mby0+
dmFsdWUgPSBnX21hbGxvYzAoc2l6ZW9mKCppbmZvLT52YWx1ZSkpOwogICAgICAgICBpbmZvLT52
YWx1ZS0+Q1BVID0gZW52LT5jcHVfaW5kZXg7CiAgICAgICAgIGluZm8tPnZhbHVlLT5jdXJyZW50
ID0gKGVudiA9PSBmaXJzdF9jcHUpOwotICAgICAgICBpbmZvLT52YWx1ZS0+aGFsdGVkID0gZW52
LT5oYWx0ZWQ7CisgICAgICAgIGluZm8tPnZhbHVlLT5oYWx0ZWQgPSBjcHUtPmhhbHRlZDsKICAg
ICAgICAgaW5mby0+dmFsdWUtPnRocmVhZF9pZCA9IGNwdS0+dGhyZWFkX2lkOwogI2lmIGRlZmlu
ZWQoVEFSR0VUX0kzODYpCiAgICAgICAgIGluZm8tPnZhbHVlLT5oYXNfcGMgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvZXhlYy5jIGIvZXhlYy5jCmluZGV4IDhkMmZhN2EuLmY2MmU2NDMgMTAwNjQ0Ci0t
LSBhL2V4ZWMuYworKysgYi9leGVjLmMKQEAgLTY1NCwxMiArNjU0LDEyIEBAIHZvaWQgY3B1X2V4
ZWNfaW5pdF9hbGwodm9pZCkKIAogc3RhdGljIGludCBjcHVfY29tbW9uX3Bvc3RfbG9hZCh2b2lk
ICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQogewotICAgIENQVUFyY2hTdGF0ZSAqZW52ID0gb3Bh
cXVlOworICAgIENQVVN0YXRlICpjcHUgPSBvcGFxdWU7CiAKICAgICAvKiAweDAxIHdhcyBDUFVf
SU5URVJSVVBUX0VYSVQuIFRoaXMgbGluZSBjYW4gYmUgcmVtb3ZlZCB3aGVuIHRoZQogICAgICAg
IHZlcnNpb25faWQgaXMgaW5jcmVhc2VkLiAqLwotICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3Qg
Jj0gfjB4MDE7Ci0gICAgdGxiX2ZsdXNoKGVudiwgMSk7CisgICAgY3B1LT5pbnRlcnJ1cHRfcmVx
dWVzdCAmPSB+MHgwMTsKKyAgICBjcHVfdGxiX2ZsdXNoKGNwdSwgdHJ1ZSk7CiAKICAgICByZXR1
cm4gMDsKIH0KQEAgLTY3MSw4ICs2NzEsOCBAQCBzdGF0aWMgY29uc3QgVk1TdGF0ZURlc2NyaXB0
aW9uIHZtc3RhdGVfY3B1X2NvbW1vbiA9IHsKICAgICAubWluaW11bV92ZXJzaW9uX2lkX29sZCA9
IDEsCiAgICAgLnBvc3RfbG9hZCA9IGNwdV9jb21tb25fcG9zdF9sb2FkLAogICAgIC5maWVsZHMg
ICAgICA9IChWTVN0YXRlRmllbGQgW10pIHsKLSAgICAgICAgVk1TVEFURV9VSU5UMzIoaGFsdGVk
LCBDUFVBcmNoU3RhdGUpLAotICAgICAgICBWTVNUQVRFX1VJTlQzMihpbnRlcnJ1cHRfcmVxdWVz
dCwgQ1BVQXJjaFN0YXRlKSwKKyAgICAgICAgVk1TVEFURV9VSU5UMzIoaGFsdGVkLCBDUFVTdGF0
ZSksCisgICAgICAgIFZNU1RBVEVfVUlOVDMyKGludGVycnVwdF9yZXF1ZXN0LCBDUFVTdGF0ZSks
CiAgICAgICAgIFZNU1RBVEVfRU5EX09GX0xJU1QoKQogICAgIH0KIH07CkBAIC03MjEsNyArNzIx
LDcgQEAgdm9pZCBjcHVfZXhlY19pbml0KENQVUFyY2hTdGF0ZSAqZW52KQogICAgIGNwdV9saXN0
X3VubG9jaygpOwogI2VuZGlmCiAjaWYgZGVmaW5lZChDUFVfU0FWRV9WRVJTSU9OKSAmJiAhZGVm
aW5lZChDT05GSUdfVVNFUl9PTkxZKQotICAgIHZtc3RhdGVfcmVnaXN0ZXIoTlVMTCwgY3B1X2lu
ZGV4LCAmdm1zdGF0ZV9jcHVfY29tbW9uLCBlbnYpOworICAgIHZtc3RhdGVfcmVnaXN0ZXIoTlVM
TCwgY3B1X2luZGV4LCAmdm1zdGF0ZV9jcHVfY29tbW9uLCBFTlZfR0VUX0NQVShlbnYpKTsKICAg
ICByZWdpc3Rlcl9zYXZldm0oTlVMTCwgImNwdSIsIGNwdV9pbmRleCwgQ1BVX1NBVkVfVkVSU0lP
TiwKICAgICAgICAgICAgICAgICAgICAgY3B1X3NhdmUsIGNwdV9sb2FkLCBlbnYpOwogI2VuZGlm
CkBAIC0xMTA0LDYgKzExMDQsNyBAQCB2b2lkIHRiX2ludmFsaWRhdGVfcGh5c19wYWdlX3Jhbmdl
KHRiX3BhZ2VfYWRkcl90IHN0YXJ0LCB0Yl9wYWdlX2FkZHJfdCBlbmQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBpc19jcHVfd3JpdGVfYWNjZXNzKQogewogICAgIFRy
YW5zbGF0aW9uQmxvY2sgKnRiLCAqdGJfbmV4dCwgKnNhdmVkX3RiOworICAgIENQVVN0YXRlICpj
cHUgPSBOVUxMOwogICAgIENQVUFyY2hTdGF0ZSAqZW52ID0gY3B1X3NpbmdsZV9lbnY7CiAgICAg
dGJfcGFnZV9hZGRyX3QgdGJfc3RhcnQsIHRiX2VuZDsKICAgICBQYWdlRGVzYyAqcDsKQEAgLTEx
MTcsNiArMTExOCwxMCBAQCB2b2lkIHRiX2ludmFsaWRhdGVfcGh5c19wYWdlX3JhbmdlKHRiX3Bh
Z2VfYWRkcl90IHN0YXJ0LCB0Yl9wYWdlX2FkZHJfdCBlbmQsCiAgICAgaW50IGN1cnJlbnRfZmxh
Z3MgPSAwOwogI2VuZGlmIC8qIFRBUkdFVF9IQVNfUFJFQ0lTRV9TTUMgKi8KIAorICAgIGlmIChl
bnYgIT0gTlVMTCkgeworICAgICAgICBjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworICAgIH0KKwog
ICAgIHAgPSBwYWdlX2ZpbmQoc3RhcnQgPj4gVEFSR0VUX1BBR0VfQklUUyk7CiAgICAgaWYgKCFw
KQogICAgICAgICByZXR1cm47CkBAIC0xMTc4LDggKzExODMsOSBAQCB2b2lkIHRiX2ludmFsaWRh
dGVfcGh5c19wYWdlX3JhbmdlKHRiX3BhZ2VfYWRkcl90IHN0YXJ0LCB0Yl9wYWdlX2FkZHJfdCBl
bmQsCiAgICAgICAgICAgICB0Yl9waHlzX2ludmFsaWRhdGUodGIsIC0xKTsKICAgICAgICAgICAg
IGlmIChlbnYpIHsKICAgICAgICAgICAgICAgICBlbnYtPmN1cnJlbnRfdGIgPSBzYXZlZF90YjsK
LSAgICAgICAgICAgICAgICBpZiAoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmJiBlbnYtPmN1cnJl
bnRfdGIpCi0gICAgICAgICAgICAgICAgICAgIGNwdV9pbnRlcnJ1cHQoZW52LCBlbnYtPmludGVy
cnVwdF9yZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBpZiAoY3B1LT5pbnRlcnJ1cHRfcmVxdWVz
dCAmJiBlbnYtPmN1cnJlbnRfdGIpIHsKKyAgICAgICAgICAgICAgICAgICAgY3B1X2ludGVycnVw
dChlbnYsIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QpOworICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICB0YiA9IHRiX25leHQ7CkBAIC0xNzQwLDggKzE3
NDYsOCBAQCBzdGF0aWMgdm9pZCB0Y2dfaGFuZGxlX2ludGVycnVwdChDUFVBcmNoU3RhdGUgKmVu
diwgaW50IG1hc2spCiAgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAg
aW50IG9sZF9tYXNrOwogCi0gICAgb2xkX21hc2sgPSBlbnYtPmludGVycnVwdF9yZXF1ZXN0Owot
ICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgfD0gbWFzazsKKyAgICBvbGRfbWFzayA9IGNwdS0+
aW50ZXJydXB0X3JlcXVlc3Q7CisgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCB8PSBtYXNrOwog
CiAgICAgLyoKICAgICAgKiBJZiBjYWxsZWQgZnJvbSBpb3RocmVhZCBjb250ZXh0LCB3YWtlIHRo
ZSB0YXJnZXQgY3B1IGluCkBAIC0xNzY5LDE0ICsxNzc1LDE4IEBAIENQVUludGVycnVwdEhhbmRs
ZXIgY3B1X2ludGVycnVwdF9oYW5kbGVyID0gdGNnX2hhbmRsZV9pbnRlcnJ1cHQ7CiAKIHZvaWQg
Y3B1X2ludGVycnVwdChDUFVBcmNoU3RhdGUgKmVudiwgaW50IG1hc2spCiB7Ci0gICAgZW52LT5p
bnRlcnJ1cHRfcmVxdWVzdCB8PSBtYXNrOworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQ
VShlbnYpOworCisgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCB8PSBtYXNrOwogICAgIGNwdV91
bmxpbmtfdGIoZW52KTsKIH0KICNlbmRpZiAvKiBDT05GSUdfVVNFUl9PTkxZICovCiAKIHZvaWQg
Y3B1X3Jlc2V0X2ludGVycnVwdChDUFVBcmNoU3RhdGUgKmVudiwgaW50IG1hc2spCiB7Ci0gICAg
ZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+bWFzazsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5W
X0dFVF9DUFUoZW52KTsKKworICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfm1hc2s7CiB9
CiAKIHZvaWQgY3B1X2V4aXQoQ1BVQXJjaFN0YXRlICplbnYpCmRpZmYgLS1naXQgYS9nZGJzdHVi
LmMgYi9nZGJzdHViLmMKaW5kZXggNmE3N2E2Ni4uNDdjYmZkZCAxMDA2NDQKLS0tIGEvZ2Ric3R1
Yi5jCisrKyBiL2dkYnN0dWIuYwpAQCAtMjI4NCwxMCArMjI4NCwxMiBAQCBzdGF0aWMgaW50IGdk
Yl9oYW5kbGVfcGFja2V0KEdEQlN0YXRlICpzLCBjb25zdCBjaGFyICpsaW5lX2J1ZikKICAgICAg
ICAgICAgIHRocmVhZCA9IHN0cnRvdWxsKHArMTYsIChjaGFyICoqKSZwLCAxNik7CiAgICAgICAg
ICAgICBlbnYgPSBmaW5kX2NwdSh0aHJlYWQpOwogICAgICAgICAgICAgaWYgKGVudiAhPSBOVUxM
KSB7CisgICAgICAgICAgICAgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisK
ICAgICAgICAgICAgICAgICBjcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKICAgICAgICAgICAg
ICAgICBsZW4gPSBzbnByaW50ZigoY2hhciAqKW1lbV9idWYsIHNpemVvZihtZW1fYnVmKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ1BVIyVkIFslc10iLCBlbnYtPmNwdV9pbmRl
eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmhhbHRlZCA/ICJoYWx0ZWQg
IiA6ICJydW5uaW5nIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5oYWx0
ZWQgPyAiaGFsdGVkICIgOiAicnVubmluZyIpOwogICAgICAgICAgICAgICAgIG1lbXRvaGV4KGJ1
ZiwgbWVtX2J1ZiwgbGVuKTsKICAgICAgICAgICAgICAgICBwdXRfcGFja2V0KHMsIGJ1Zik7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9ody9sZW9uMy5jIGIvaHcvbGVvbjMuYwppbmRleCA4
NzhkM2FhLi44ZDQ0ZjgzIDEwMDY0NAotLS0gYS9ody9sZW9uMy5jCisrKyBiL2h3L2xlb24zLmMK
QEAgLTUzLDcgKzUzLDcgQEAgc3RhdGljIHZvaWQgbWFpbl9jcHVfcmVzZXQodm9pZCAqb3BhcXVl
KQogCiAgICAgY3B1X3Jlc2V0KENQVShzLT5jcHUpKTsKIAotICAgIGVudi0+aGFsdGVkID0gMDsK
KyAgICBDUFUocy0+Y3B1KS0+aGFsdGVkID0gMDsKICAgICBlbnYtPnBjICAgICA9IHMtPmVudHJ5
OwogICAgIGVudi0+bnBjICAgID0gcy0+ZW50cnkgKyA0OwogfQpkaWZmIC0tZ2l0IGEvaHcvb21h
cDEuYyBiL2h3L29tYXAxLmMKaW5kZXggYWQ2MGNjNC4uZTkwYWVkNCAxMDA2NDQKLS0tIGEvaHcv
b21hcDEuYworKysgYi9ody9vbWFwMS5jCkBAIC0xNzM1LDcgKzE3MzUsNyBAQCBzdGF0aWMgdWlu
dDY0X3Qgb21hcF9jbGtkc3BfcmVhZCh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBh
ZGRyLAogCiAgICAgY2FzZSAweDE4OgkvKiBEU1BfU1lTU1QgKi8KICAgICAgICAgcmV0dXJuIChz
LT5jbGttLmNsb2NraW5nX3NjaGVtZSA8PCAxMSkgfCBzLT5jbGttLmNvbGRfc3RhcnQgfAotICAg
ICAgICAgICAgICAgIChzLT5jcHUtPmVudi5oYWx0ZWQgPDwgNik7ICAgICAgLyogUXVpdGUgdXNl
bGVzcy4uLiAqLworICAgICAgICAgICAgICAgIChDUFUocy0+Y3B1KS0+aGFsdGVkIDw8IDYpOyAg
ICAgIC8qIFF1aXRlIHVzZWxlc3MuLi4gKi8KICAgICB9CiAKICAgICBPTUFQX0JBRF9SRUcoYWRk
cik7CkBAIC0zNzUyLDcgKzM3NTIsNyBAQCB2b2lkIG9tYXBfbXB1X3dha2V1cCh2b2lkICpvcGFx
dWUsIGludCBpcnEsIGludCByZXEpCiB7CiAgICAgc3RydWN0IG9tYXBfbXB1X3N0YXRlX3MgKm1w
dSA9IChzdHJ1Y3Qgb21hcF9tcHVfc3RhdGVfcyAqKSBvcGFxdWU7CiAKLSAgICBpZiAobXB1LT5j
cHUtPmVudi5oYWx0ZWQpIHsKKyAgICBpZiAoQ1BVKG1wdS0+Y3B1KS0+aGFsdGVkKSB7CiAgICAg
ICAgIGNwdV9pbnRlcnJ1cHQoJm1wdS0+Y3B1LT5lbnYsIENQVV9JTlRFUlJVUFRfRVhJVFRCKTsK
ICAgICB9CiB9CmRpZmYgLS1naXQgYS9ody9wYy5jIGIvaHcvcGMuYwppbmRleCBmMGNiZmVmLi5j
OGNhYWRhIDEwMDY0NAotLS0gYS9ody9wYy5jCisrKyBiL2h3L3BjLmMKQEAgLTk0MiwxMCArOTQy
LDEwIEBAIHZvaWQgcGNfYWNwaV9zbWlfaW50ZXJydXB0KHZvaWQgKm9wYXF1ZSwgaW50IGlycSwg
aW50IGxldmVsKQogc3RhdGljIHZvaWQgcGNfY3B1X3Jlc2V0KHZvaWQgKm9wYXF1ZSkKIHsKICAg
ICBYODZDUFUgKmNwdSA9IG9wYXF1ZTsKLSAgICBDUFVYODZTdGF0ZSAqZW52ID0gJmNwdS0+ZW52
OworICAgIENQVVN0YXRlICpjID0gQ1BVKGNwdSk7CiAKLSAgICBjcHVfcmVzZXQoQ1BVKGNwdSkp
OwotICAgIGVudi0+aGFsdGVkID0gIWNwdV9pc19ic3AoY3B1KTsKKyAgICBjcHVfcmVzZXQoYyk7
CisgICAgYy0+aGFsdGVkID0gIWNwdV9pc19ic3AoY3B1KTsKIH0KIAogc3RhdGljIFg4NkNQVSAq
cGNfbmV3X2NwdShjb25zdCBjaGFyICpjcHVfbW9kZWwpCmRpZmYgLS1naXQgYS9ody9wcGMuYyBi
L2h3L3BwYy5jCmluZGV4IGZhN2FlNzQuLjAyYzVlM2UgMTAwNjQ0Ci0tLSBhL2h3L3BwYy5jCisr
KyBiL2h3L3BwYy5jCkBAIC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIHZvaWQgcHBjNnh4X3NldF9p
cnEodm9pZCAqb3BhcXVlLCBpbnQgcGluLCBpbnQgbGV2ZWwpCiAgICAgICAgICAgICAvKiBYWFg6
IE5vdGUgdGhhdCB0aGUgb25seSB3YXkgdG8gcmVzdGFydCB0aGUgQ1BVIGlzIHRvIHJlc2V0IGl0
ICovCiAgICAgICAgICAgICBpZiAobGV2ZWwpIHsKICAgICAgICAgICAgICAgICBMT0dfSVJRKCIl
czogc3RvcCB0aGUgQ1BVXG4iLCBfX2Z1bmNfXyk7Ci0gICAgICAgICAgICAgICAgZW52LT5oYWx0
ZWQgPSAxOworICAgICAgICAgICAgICAgIENQVShjcHUpLT5oYWx0ZWQgPSAxOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUFBDNnh4X0lOUFVUX0hSRVNF
VDoKQEAgLTIwMiwxMCArMjAyLDEwIEBAIHN0YXRpYyB2b2lkIHBwYzk3MF9zZXRfaXJxKHZvaWQg
Km9wYXF1ZSwgaW50IHBpbiwgaW50IGxldmVsKQogICAgICAgICAgICAgLyogWFhYOiBUT0RPOiBy
ZWxheSB0aGUgc2lnbmFsIHRvIENLU1RQX09VVCBwaW4gKi8KICAgICAgICAgICAgIGlmIChsZXZl
bCkgewogICAgICAgICAgICAgICAgIExPR19JUlEoIiVzOiBzdG9wIHRoZSBDUFVcbiIsIF9fZnVu
Y19fKTsKLSAgICAgICAgICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgICAgICAgICAgICAg
Q1BVKGNwdSktPmhhbHRlZCA9IDE7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIExPR19JUlEoIiVzOiByZXN0YXJ0IHRoZSBDUFVcbiIsIF9fZnVuY19fKTsKLSAgICAgICAg
ICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgICAgICAgICAgQ1BVKGNwdSktPmhhbHRl
ZCA9IDA7CiAgICAgICAgICAgICAgICAgcWVtdV9jcHVfa2ljayhDUFUoY3B1KSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBicmVhazsKQEAgLTMzMSwxMCArMzMxLDEwIEBAIHN0YXRpYyB2
b2lkIHBwYzQweF9zZXRfaXJxKHZvaWQgKm9wYXF1ZSwgaW50IHBpbiwgaW50IGxldmVsKQogICAg
ICAgICAgICAgLyogTGV2ZWwgc2Vuc2l0aXZlIC0gYWN0aXZlIGxvdyAqLwogICAgICAgICAgICAg
aWYgKGxldmVsKSB7CiAgICAgICAgICAgICAgICAgTE9HX0lSUSgiJXM6IHN0b3AgdGhlIENQVVxu
IiwgX19mdW5jX18pOwotICAgICAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAg
ICAgICAgICBDUFUoY3B1KS0+aGFsdGVkID0gMTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgTE9HX0lSUSgiJXM6IHJlc3RhcnQgdGhlIENQVVxuIiwgX19mdW5jX18pOwot
ICAgICAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMDsKKyAgICAgICAgICAgICAgICBDUFUoY3B1
KS0+aGFsdGVkID0gMDsKICAgICAgICAgICAgICAgICBxZW11X2NwdV9raWNrKENQVShjcHUpKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvaHcvcHBjZTUw
MF9tcGM4NTQ0ZHMuYyBiL2h3L3BwY2U1MDBfbXBjODU0NGRzLmMKaW5kZXggM2ViOGEyMy4uYWI4
MjZkZSAxMDA2NDQKLS0tIGEvaHcvcHBjZTUwMF9tcGM4NTQ0ZHMuYworKysgYi9ody9wcGNlNTAw
X21wYzg1NDRkcy5jCkBAIC0yMDMsNyArMjAzLDcgQEAgc3RhdGljIHZvaWQgbXBjODU0NGRzX2Nw
dV9yZXNldF9zZWModm9pZCAqb3BhcXVlKQogCiAgICAgLyogU2Vjb25kYXJ5IENQVSBzdGFydHMg
aW4gaGFsdGVkIHN0YXRlIGZvciBub3cuIE5lZWRzIHRvIGNoYW5nZSB3aGVuCiAgICAgICAgaW1w
bGVtZW50aW5nIG5vbi1rZXJuZWwgYm9vdC4gKi8KLSAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAg
Q1BVKGNwdSktPmhhbHRlZCA9IDE7CiAgICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hM
VDsKIH0KIApAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyB2b2lkIG1wYzg1NDRkc19jcHVfcmVz
ZXQodm9pZCAqb3BhcXVlKQogICAgIGNwdV9yZXNldChDUFUoY3B1KSk7CiAKICAgICAvKiBTZXQg
aW5pdGlhbCBndWVzdCBzdGF0ZS4gKi8KLSAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgQ1BVKGNw
dSktPmhhbHRlZCA9IDA7CiAgICAgZW52LT5ncHJbMV0gPSAoMTY8PDIwKSAtIDg7CiAgICAgZW52
LT5ncHJbM10gPSBiaS0+ZHRfYmFzZTsKICAgICBlbnYtPm5pcCA9IGJpLT5lbnRyeTsKZGlmZiAt
LWdpdCBhL2h3L3BwY2U1MDBfc3Bpbi5jIGIvaHcvcHBjZTUwMF9zcGluLmMKaW5kZXggYTRiNDll
Ni4uNjVmMGI2ZiAxMDA2NDQKLS0tIGEvaHcvcHBjZTUwMF9zcGluLmMKKysrIGIvaHcvcHBjZTUw
MF9zcGluLmMKQEAgLTExMiw3ICsxMTIsNyBAQCBzdGF0aWMgdm9pZCBzcGluX2tpY2sodm9pZCAq
ZGF0YSkKICAgICBtYXBfc3RhcnQgPSBsZHFfcCgmY3Vyc3Bpbi0+YWRkcikgJiB+KG1hcF9zaXpl
IC0gMSk7CiAgICAgbW11Ym9va2VfY3JlYXRlX2luaXRpYWxfbWFwcGluZyhlbnYsIDAsIG1hcF9z
dGFydCwgbWFwX3NpemUpOwogCi0gICAgZW52LT5oYWx0ZWQgPSAwOworICAgIGNwdS0+aGFsdGVk
ID0gMDsKICAgICBlbnYtPmV4Y2VwdGlvbl9pbmRleCA9IC0xOwogICAgIGNwdS0+c3RvcHBlZCA9
IGZhbHNlOwogICAgIHFlbXVfY3B1X2tpY2soY3B1KTsKZGlmZiAtLWdpdCBhL2h3L3B4YTJ4eF9n
cGlvLmMgYi9ody9weGEyeHhfZ3Bpby5jCmluZGV4IDNjOTBjOWMuLjVmY2I5OTIgMTAwNjQ0Ci0t
LSBhL2h3L3B4YTJ4eF9ncGlvLmMKKysrIGIvaHcvcHhhMnh4X2dwaW8uYwpAQCAtMTE4LDcgKzEx
OCw4IEBAIHN0YXRpYyB2b2lkIHB4YTJ4eF9ncGlvX3NldCh2b2lkICpvcGFxdWUsIGludCBsaW5l
LCBpbnQgbGV2ZWwpCiAgICAgICAgIHB4YTJ4eF9ncGlvX2lycV91cGRhdGUocyk7CiAKICAgICAv
KiBXYWtlLXVwIEdQSU9zICovCi0gICAgaWYgKHMtPmNwdS0+ZW52LmhhbHRlZCAmJiAobWFzayAm
IH5zLT5kaXJbYmFua10gJiBweGEyeHhfZ3Bpb193YWtlW2JhbmtdKSkgeworICAgIGlmIChDUFUo
cy0+Y3B1KS0+aGFsdGVkICYmCisgICAgICAgIChtYXNrICYgfnMtPmRpcltiYW5rXSAmIHB4YTJ4
eF9ncGlvX3dha2VbYmFua10pKSB7CiAgICAgICAgIGNwdV9pbnRlcnJ1cHQoJnMtPmNwdS0+ZW52
LCBDUFVfSU5URVJSVVBUX0VYSVRUQik7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvaHcvcHhhMnh4
X3BpYy5jIGIvaHcvcHhhMnh4X3BpYy5jCmluZGV4IGM1NjAxMzMuLmM4ZjAxZTggMTAwNjQ0Ci0t
LSBhL2h3L3B4YTJ4eF9waWMuYworKysgYi9ody9weGEyeHhfcGljLmMKQEAgLTQ3LDcgKzQ3LDcg
QEAgc3RhdGljIHZvaWQgcHhhMnh4X3BpY191cGRhdGUodm9pZCAqb3BhcXVlKQogICAgIHVpbnQz
Ml90IG1hc2tbMl07CiAgICAgUFhBMnh4UElDU3RhdGUgKnMgPSAoUFhBMnh4UElDU3RhdGUgKikg
b3BhcXVlOwogCi0gICAgaWYgKHMtPmNwdS0+ZW52LmhhbHRlZCkgeworICAgIGlmIChDUFUocy0+
Y3B1KS0+aGFsdGVkKSB7CiAgICAgICAgIG1hc2tbMF0gPSBzLT5pbnRfcGVuZGluZ1swXSAmIChz
LT5pbnRfZW5hYmxlZFswXSB8IHMtPmludF9pZGxlKTsKICAgICAgICAgbWFza1sxXSA9IHMtPmlu
dF9wZW5kaW5nWzFdICYgKHMtPmludF9lbmFibGVkWzFdIHwgcy0+aW50X2lkbGUpOwogICAgICAg
ICBpZiAobWFza1swXSB8fCBtYXNrWzFdKSB7CmRpZmYgLS1naXQgYS9ody9zMzkwLXZpcnRpby5j
IGIvaHcvczM5MC12aXJ0aW8uYwppbmRleCA0N2VlZDM1Li41NjY3NjBlIDEwMDY0NAotLS0gYS9o
dy9zMzkwLXZpcnRpby5jCisrKyBiL2h3L3MzOTAtdmlydGlvLmMKQEAgLTEzMiwxOSArMTMyLDIz
IEBAIHN0YXRpYyB1bnNpZ25lZCBzMzkwX3J1bm5pbmdfY3B1czsKIAogdm9pZCBzMzkwX2FkZF9y
dW5uaW5nX2NwdShDUFVTMzkwWFN0YXRlICplbnYpCiB7Ci0gICAgaWYgKGVudi0+aGFsdGVkKSB7
CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisKKyAgICBpZiAoY3B1LT5o
YWx0ZWQpIHsKICAgICAgICAgczM5MF9ydW5uaW5nX2NwdXMrKzsKLSAgICAgICAgZW52LT5oYWx0
ZWQgPSAwOworICAgICAgICBjcHUtPmhhbHRlZCA9IDA7CiAgICAgICAgIGVudi0+ZXhjZXB0aW9u
X2luZGV4ID0gLTE7CiAgICAgfQogfQogCiB1bnNpZ25lZCBzMzkwX2RlbF9ydW5uaW5nX2NwdShD
UFVTMzkwWFN0YXRlICplbnYpCiB7Ci0gICAgaWYgKGVudi0+aGFsdGVkID09IDApIHsKKyAgICBD
UFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKKworICAgIGlmIChjcHUtPmhhbHRlZCA9
PSAwKSB7CiAgICAgICAgIGFzc2VydChzMzkwX3J1bm5pbmdfY3B1cyA+PSAxKTsKICAgICAgICAg
czM5MF9ydW5uaW5nX2NwdXMtLTsKLSAgICAgICAgZW52LT5oYWx0ZWQgPSAxOworICAgICAgICBj
cHUtPmhhbHRlZCA9IDE7CiAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gRVhDUF9ITFQ7
CiAgICAgfQogICAgIHJldHVybiBzMzkwX3J1bm5pbmdfY3B1czsKQEAgLTIxOCw3ICsyMjIsNyBA
QCBzdGF0aWMgdm9pZCBzMzkwX2luaXQocmFtX2FkZHJfdCBteV9yYW1fc2l6ZSwKICAgICAgICAg
ICAgIGVudiA9IHRtcF9lbnY7CiAgICAgICAgIH0KICAgICAgICAgaXBpX3N0YXRlc1tpXSA9IGNw
dTsKLSAgICAgICAgdG1wX2Vudi0+aGFsdGVkID0gMTsKKyAgICAgICAgQ1BVKGNwdSktPmhhbHRl
ZCA9IDE7CiAgICAgICAgIHRtcF9lbnYtPmV4Y2VwdGlvbl9pbmRleCA9IEVYQ1BfSExUOwogICAg
ICAgICB0bXBfZW52LT5zdG9yYWdlX2tleXMgPSBzdG9yYWdlX2tleXM7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvaHcvc3BhcHIuYyBiL2h3L3NwYXByLmMKaW5kZXggZjljMzYzMS4uZDU1Mzk1MSAxMDA2
NDQKLS0tIGEvaHcvc3BhcHIuYworKysgYi9ody9zcGFwci5jCkBAIC01MDAsNyArNTAwLDcgQEAg
c3RhdGljIHZvaWQgc3BhcHJfcmVzZXQodm9pZCAqb3BhcXVlKQogICAgIC8qIFNldCB1cCB0aGUg
ZW50cnkgc3RhdGUgKi8KICAgICBmaXJzdF9jcHUtPmdwclszXSA9IHNwYXByLT5mZHRfYWRkcjsK
ICAgICBmaXJzdF9jcHUtPmdwcls1XSA9IDA7Ci0gICAgZmlyc3RfY3B1LT5oYWx0ZWQgPSAwOwor
ICAgIEVOVl9HRVRfQ1BVKGZpcnN0X2NwdSktPmhhbHRlZCA9IDA7CiAgICAgZmlyc3RfY3B1LT5u
aXAgPSBzcGFwci0+ZW50cnlfcG9pbnQ7CiAKIH0KQEAgLTczMiw3ICs3MzIsNyBAQCBzdGF0aWMg
dm9pZCBwcGNfc3BhcHJfaW5pdChyYW1fYWRkcl90IHJhbV9zaXplLAogCiAgICAgLyogU0xPRiB3
aWxsIHN0YXJ0dXAgdGhlIHNlY29uZGFyeSBDUFVzIHVzaW5nIFJUQVMgKi8KICAgICBmb3IgKGVu
diA9IGZpcnN0X2NwdTsgZW52ICE9IE5VTEw7IGVudiA9IGVudi0+bmV4dF9jcHUpIHsKLSAgICAg
ICAgZW52LT5oYWx0ZWQgPSAxOworICAgICAgICBFTlZfR0VUX0NQVShlbnYpLT5oYWx0ZWQgPSAx
OwogICAgIH0KIAogICAgIC8qIFByZXBhcmUgdGhlIGRldmljZSB0cmVlICovCmRpZmYgLS1naXQg
YS9ody9zcGFwcl9oY2FsbC5jIGIvaHcvc3BhcHJfaGNhbGwuYwppbmRleCBlYmIyNzFjLi43MTY1
Nzk2IDEwMDY0NAotLS0gYS9ody9zcGFwcl9oY2FsbC5jCisrKyBiL2h3L3NwYXByX2hjYWxsLmMK
QEAgLTU1MCw3ICs1NTAsNyBAQCBzdGF0aWMgdGFyZ2V0X3Vsb25nIGhfY2VkZShQb3dlclBDQ1BV
ICpjcHUsIHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogICAgIGVudi0+bXNyIHw9ICgxVUxMIDw8
IE1TUl9FRSk7CiAgICAgaHJlZ19jb21wdXRlX2hmbGFncyhlbnYpOwogICAgIGlmICghY3B1X2hh
c193b3JrKENQVShjcHUpKSkgewotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgICAgIENQ
VShjcHUpLT5oYWx0ZWQgPSAxOwogICAgIH0KICAgICByZXR1cm4gSF9TVUNDRVNTOwogfQpkaWZm
IC0tZ2l0IGEvaHcvc3BhcHJfcnRhcy5jIGIvaHcvc3BhcHJfcnRhcy5jCmluZGV4IGEzNDMwNTUu
LmQzYzUwM2MgMTAwNjQ0Ci0tLSBhL2h3L3NwYXByX3J0YXMuYworKysgYi9ody9zcGFwcl9ydGFz
LmMKQEAgLTEzMSw2ICsxMzEsNyBAQCBzdGF0aWMgdm9pZCBydGFzX3F1ZXJ5X2NwdV9zdG9wcGVk
X3N0YXRlKHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogewogICAgIHRhcmdldF91bG9uZyBpZDsK
ICAgICBDUFVQUENTdGF0ZSAqZW52OworICAgIENQVVN0YXRlICpjcHU7CiAKICAgICBpZiAobmFy
Z3MgIT0gMSB8fCBucmV0ICE9IDIpIHsKICAgICAgICAgcnRhc19zdChyZXRzLCAwLCAtMyk7CkBA
IC0xMzksMTEgKzE0MCwxMiBAQCBzdGF0aWMgdm9pZCBydGFzX3F1ZXJ5X2NwdV9zdG9wcGVkX3N0
YXRlKHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogCiAgICAgaWQgPSBydGFzX2xkKGFyZ3MsIDAp
OwogICAgIGZvciAoZW52ID0gZmlyc3RfY3B1OyBlbnY7IGVudiA9IGVudi0+bmV4dF9jcHUpIHsK
KyAgICAgICAgY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKICAgICAgICAgaWYgKGVudi0+Y3B1X2lu
ZGV4ICE9IGlkKSB7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAg
IGlmIChlbnYtPmhhbHRlZCkgeworICAgICAgICBpZiAoY3B1LT5oYWx0ZWQpIHsKICAgICAgICAg
ICAgIHJ0YXNfc3QocmV0cywgMSwgMCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBy
dGFzX3N0KHJldHMsIDEsIDIpOwpAQCAtMTgyLDcgKzE4NCw3IEBAIHN0YXRpYyB2b2lkIHJ0YXNf
c3RhcnRfY3B1KHNQQVBSRW52aXJvbm1lbnQgKnNwYXByLAogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIWVudi0+aGFsdGVkKSB7CisgICAgICAgIGlmICgh
Y3B1LT5oYWx0ZWQpIHsKICAgICAgICAgICAgIHJ0YXNfc3QocmV0cywgMCwgLTEpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xOTAsNyArMTkyLDcgQEAgc3RhdGljIHZvaWQg
cnRhc19zdGFydF9jcHUoc1BBUFJFbnZpcm9ubWVudCAqc3BhcHIsCiAgICAgICAgIGVudi0+bXNy
ID0gKDFVTEwgPDwgTVNSX1NGKSB8ICgxVUxMIDw8IE1TUl9NRSk7CiAgICAgICAgIGVudi0+bmlw
ID0gc3RhcnQ7CiAgICAgICAgIGVudi0+Z3ByWzNdID0gcjM7Ci0gICAgICAgIGVudi0+aGFsdGVk
ID0gMDsKKyAgICAgICAgY3B1LT5oYWx0ZWQgPSAwOwogCiAgICAgICAgIHFlbXVfY3B1X2tpY2so
Y3B1KTsKIApkaWZmIC0tZ2l0IGEvaHcvc3VuNG0uYyBiL2h3L3N1bjRtLmMKaW5kZXggNDkyOTY3
Ny4uN2JiMGJjZSAxMDA2NDQKLS0tIGEvaHcvc3VuNG0uYworKysgYi9ody9zdW40bS5jCkBAIC0y
NTcsNyArMjU3LDcgQEAgc3RhdGljIHZvaWQgY3B1X2tpY2tfaXJxKFNQQVJDQ1BVICpjcHUpCiB7
CiAgICAgQ1BVU1BBUkNTdGF0ZSAqZW52ID0gJmNwdS0+ZW52OwogCi0gICAgZW52LT5oYWx0ZWQg
PSAwOworICAgIENQVShjcHUpLT5oYWx0ZWQgPSAwOwogICAgIGNwdV9jaGVja19pcnFzKGVudik7
CiAgICAgcWVtdV9jcHVfa2ljayhDUFUoY3B1KSk7CiB9CkBAIC0yODQsMjAgKzI4NCwxOCBAQCBz
dGF0aWMgdm9pZCBkdW1teV9jcHVfc2V0X2lycSh2b2lkICpvcGFxdWUsIGludCBpcnEsIGludCBs
ZXZlbCkKIAogc3RhdGljIHZvaWQgbWFpbl9jcHVfcmVzZXQodm9pZCAqb3BhcXVlKQogewotICAg
IFNQQVJDQ1BVICpjcHUgPSBvcGFxdWU7Ci0gICAgQ1BVU1BBUkNTdGF0ZSAqZW52ID0gJmNwdS0+
ZW52OworICAgIENQVVN0YXRlICpjcHUgPSBDUFUob3BhcXVlKTsKIAotICAgIGNwdV9yZXNldChD
UFUoY3B1KSk7Ci0gICAgZW52LT5oYWx0ZWQgPSAwOworICAgIGNwdV9yZXNldChjcHUpOworICAg
IGNwdS0+aGFsdGVkID0gMDsKIH0KIAogc3RhdGljIHZvaWQgc2Vjb25kYXJ5X2NwdV9yZXNldCh2
b2lkICpvcGFxdWUpCiB7Ci0gICAgU1BBUkNDUFUgKmNwdSA9IG9wYXF1ZTsKLSAgICBDUFVTUEFS
Q1N0YXRlICplbnYgPSAmY3B1LT5lbnY7CisgICAgQ1BVU3RhdGUgKmNwdSA9IENQVShvcGFxdWUp
OwogCi0gICAgY3B1X3Jlc2V0KENQVShjcHUpKTsKLSAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAg
Y3B1X3Jlc2V0KGNwdSk7CisgICAgY3B1LT5oYWx0ZWQgPSAxOwogfQogCiBzdGF0aWMgdm9pZCBj
cHVfaGFsdF9zaWduYWwodm9pZCAqb3BhcXVlLCBpbnQgaXJxLCBpbnQgbGV2ZWwpCkBAIC04Mjks
NyArODI3LDcgQEAgc3RhdGljIHZvaWQgY3B1X2RldmluaXQoY29uc3QgY2hhciAqY3B1X21vZGVs
LCB1bnNpZ25lZCBpbnQgaWQsCiAgICAgICAgIHFlbXVfcmVnaXN0ZXJfcmVzZXQobWFpbl9jcHVf
cmVzZXQsIGNwdSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcWVtdV9yZWdpc3Rlcl9yZXNldChz
ZWNvbmRhcnlfY3B1X3Jlc2V0LCBjcHUpOwotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAg
ICAgIENQVShjcHUpLT5oYWx0ZWQgPSAxOwogICAgIH0KICAgICAqY3B1X2lycXMgPSBxZW11X2Fs
bG9jYXRlX2lycXMoY3B1X3NldF9pcnEsIGNwdSwgTUFYX1BJTFMpOwogICAgIGVudi0+cHJvbV9h
ZGRyID0gcHJvbV9hZGRyOwpkaWZmIC0tZ2l0IGEvaHcvc3VuNHUuYyBiL2h3L3N1bjR1LmMKaW5k
ZXggNTZjM2RkZi4uYWZmZDdiYyAxMDA2NDQKLS0tIGEvaHcvc3VuNHUuYworKysgYi9ody9zdW40
dS5jCkBAIC0yNTMsNiArMjUzLDcgQEAgc3RhdGljIHVpbnQ2NF90IHN1bjR1X2xvYWRfa2VybmVs
KGNvbnN0IGNoYXIgKmtlcm5lbF9maWxlbmFtZSwKIAogdm9pZCBjcHVfY2hlY2tfaXJxcyhDUFVT
UEFSQ1N0YXRlICplbnYpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7
CiAgICAgdWludDMyX3QgcGlsID0gZW52LT5waWxfaW4gfAogICAgICAgICAgICAgICAgICAgKGVu
di0+c29mdGludCAmIH4oU09GVElOVF9USU1FUiB8IFNPRlRJTlRfU1RJTUVSKSk7CiAKQEAgLTI2
OSw3ICsyNzAsNyBAQCB2b2lkIGNwdV9jaGVja19pcnFzKENQVVNQQVJDU3RhdGUgKmVudikKICAg
ICAvKiBUaGUgYml0IGNvcnJlc3BvbmRpbmcgdG8gcHNycGlsIGlzICgxPDwgcHNycGlsKSwgdGhl
IG5leHQgYml0CiAgICAgICAgaXMgKDIgPDwgcHNycGlsKS4gKi8KICAgICBpZiAocGlsIDwgKDIg
PDwgZW52LT5wc3JwaWwpKXsKLSAgICAgICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBD
UFVfSU5URVJSVVBUX0hBUkQpIHsKKyAgICAgICAgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX0hBUkQpIHsKICAgICAgICAgICAgIENQVUlSUV9EUFJJTlRGKCJSZXNl
dCBDUFUgSVJRIChjdXJyZW50IGludGVycnVwdCAleClcbiIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlbnYtPmludGVycnVwdF9pbmRleCk7CiAgICAgICAgICAgICBlbnYtPmludGVycnVw
dF9pbmRleCA9IDA7CkBAIC0zMDEsNyArMzAyLDcgQEAgdm9pZCBjcHVfY2hlY2tfaXJxcyhDUFVT
UEFSQ1N0YXRlICplbnYpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5U
RVJSVVBUX0hBUkQpIHsKKyAgICB9IGVsc2UgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBD
UFVfSU5URVJSVVBUX0hBUkQpIHsKICAgICAgICAgQ1BVSVJRX0RQUklOVEYoIkludGVycnVwdHMg
ZGlzYWJsZWQsIHBpbD0lMDh4IHBpbF9pbj0lMDh4IHNvZnRpbnQ9JTA4eCAiCiAgICAgICAgICAg
ICAgICAgICAgICAgICJjdXJyZW50IGludGVycnVwdCAleFxuIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgcGlsLCBlbnYtPnBpbF9pbiwgZW52LT5zb2Z0aW50LCBlbnYtPmludGVycnVwdF9pbmRl
eCk7CkBAIC0zMTQsNyArMzE1LDcgQEAgc3RhdGljIHZvaWQgY3B1X2tpY2tfaXJxKFNQQVJDQ1BV
ICpjcHUpCiB7CiAgICAgQ1BVU1BBUkNTdGF0ZSAqZW52ID0gJmNwdS0+ZW52OwogCi0gICAgZW52
LT5oYWx0ZWQgPSAwOworICAgIENQVShjcHUpLT5oYWx0ZWQgPSAwOwogICAgIGNwdV9jaGVja19p
cnFzKGVudik7CiAgICAgcWVtdV9jcHVfa2ljayhDUFUoY3B1KSk7CiB9CkBAIC0zMjcsNyArMzI4
LDcgQEAgc3RhdGljIHZvaWQgY3B1X3NldF9pdmVjX2lycSh2b2lkICpvcGFxdWUsIGludCBpcnEs
IGludCBsZXZlbCkKICAgICBpZiAobGV2ZWwpIHsKICAgICAgICAgaWYgKCEoZW52LT5pdmVjX3N0
YXR1cyAmIDB4MjApKSB7CiAgICAgICAgICAgICBDUFVJUlFfRFBSSU5URigiUmFpc2UgSVZFQyBJ
UlEgJWRcbiIsIGlycSk7Ci0gICAgICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgICAg
ICBDUFUoY3B1KS0+aGFsdGVkID0gMDsKICAgICAgICAgICAgIGVudi0+aW50ZXJydXB0X2luZGV4
ID0gVFRfSVZFQzsKICAgICAgICAgICAgIGVudi0+aXZlY19zdGF0dXMgfD0gMHgyMDsKICAgICAg
ICAgICAgIGVudi0+aXZlY19kYXRhWzBdID0gKDB4MWYgPDwgNikgfCBpcnE7CmRpZmYgLS1naXQg
YS9ody94ZW5fbWFjaGluZV9wdi5jIGIvaHcveGVuX21hY2hpbmVfcHYuYwppbmRleCA0YjcyYWE3
Li5jMzg3ZmRmIDEwMDY0NAotLS0gYS9ody94ZW5fbWFjaGluZV9wdi5jCisrKyBiL2h3L3hlbl9t
YWNoaW5lX3B2LmMKQEAgLTM3LDcgKzM3LDYgQEAgc3RhdGljIHZvaWQgeGVuX2luaXRfcHYocmFt
X2FkZHJfdCByYW1fc2l6ZSwKIAkJCWNvbnN0IGNoYXIgKmNwdV9tb2RlbCkKIHsKICAgICBYODZD
UFUgKmNwdTsKLSAgICBDUFVYODZTdGF0ZSAqZW52OwogICAgIERyaXZlSW5mbyAqZGluZm87CiAg
ICAgaW50IGk7CiAKQEAgLTUwLDggKzQ5LDcgQEAgc3RhdGljIHZvaWQgeGVuX2luaXRfcHYocmFt
X2FkZHJfdCByYW1fc2l6ZSwKICNlbmRpZgogICAgIH0KICAgICBjcHUgPSBjcHVfeDg2X2luaXQo
Y3B1X21vZGVsKTsKLSAgICBlbnYgPSAmY3B1LT5lbnY7Ci0gICAgZW52LT5oYWx0ZWQgPSAxOwor
ICAgIENQVShjcHUpLT5oYWx0ZWQgPSAxOwogCiAgICAgLyogSW5pdGlhbGl6ZSBiYWNrZW5kIGNv
cmUgJiBkcml2ZXJzICovCiAgICAgaWYgKHhlbl9iZV9pbml0KCkgIT0gMCkgewpkaWZmIC0tZ2l0
IGEvaHcveHRlbnNhX3BpYy5jIGIvaHcveHRlbnNhX3BpYy5jCmluZGV4IDFlYzcwY2QuLjhhNjVi
OTIgMTAwNjQ0Ci0tLSBhL2h3L3h0ZW5zYV9waWMuYworKysgYi9ody94dGVuc2FfcGljLmMKQEAg
LTQ3LDYgKzQ3LDcgQEAgdm9pZCB4dGVuc2FfYWR2YW5jZV9jY291bnQoQ1BVWHRlbnNhU3RhdGUg
KmVudiwgdWludDMyX3QgZCkKIAogdm9pZCBjaGVja19pbnRlcnJ1cHRzKENQVVh0ZW5zYVN0YXRl
ICplbnYpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAgaW50
IG1pbmxldmVsID0geHRlbnNhX2dldF9jaW50bGV2ZWwoZW52KTsKICAgICB1aW50MzJfdCBpbnRf
c2V0X2VuYWJsZWQgPSBlbnYtPnNyZWdzW0lOVFNFVF0gJiBlbnYtPnNyZWdzW0lOVEVOQUJMRV07
CiAgICAgaW50IGxldmVsOwpAQCAtNTQsNyArNTUsNyBAQCB2b2lkIGNoZWNrX2ludGVycnVwdHMo
Q1BVWHRlbnNhU3RhdGUgKmVudikKICAgICAvKiBJZiB0aGUgQ1BVIGlzIGhhbHRlZCBhZHZhbmNl
IENDT1VOVCBhY2NvcmRpbmcgdG8gdGhlIHZtX2Nsb2NrIHRpbWUKICAgICAgKiBlbGFwc2VkIHNp
bmNlIHRoZSBtb21lbnQgd2hlbiBpdCB3YXMgYWR2YW5jZWQgbGFzdCB0aW1lLgogICAgICAqLwot
ICAgIGlmIChlbnYtPmhhbHRlZCkgeworICAgIGlmIChjcHUtPmhhbHRlZCkgewogICAgICAgICBp
bnQ2NF90IG5vdyA9IHFlbXVfZ2V0X2Nsb2NrX25zKHZtX2Nsb2NrKTsKIAogICAgICAgICB4dGVu
c2FfYWR2YW5jZV9jY291bnQoZW52LApAQCAtMTI4LDcgKzEyOSw3IEBAIHN0YXRpYyB2b2lkIHh0
ZW5zYV9jY29tcGFyZV9jYih2b2lkICpvcGFxdWUpCiAgICAgWHRlbnNhQ1BVICpjcHUgPSBvcGFx
dWU7CiAgICAgQ1BVWHRlbnNhU3RhdGUgKmVudiA9ICZjcHUtPmVudjsKIAotICAgIGlmIChlbnYt
PmhhbHRlZCkgeworICAgIGlmIChDUFUoY3B1KS0+aGFsdGVkKSB7CiAgICAgICAgIGVudi0+aGFs
dF9jbG9jayA9IHFlbXVfZ2V0X2Nsb2NrX25zKHZtX2Nsb2NrKTsKICAgICAgICAgeHRlbnNhX2Fk
dmFuY2VfY2NvdW50KGVudiwgZW52LT53YWtlX2Njb3VudCAtIGVudi0+c3JlZ3NbQ0NPVU5UXSk7
CiAgICAgICAgIGlmICghY3B1X2hhc193b3JrKENQVShjcHUpKSkgewpkaWZmIC0tZ2l0IGEvaW5j
bHVkZS9xZW11L2NwdS5oIGIvaW5jbHVkZS9xZW11L2NwdS5oCmluZGV4IDdkMDMzNjkuLjUzOTk1
OTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcWVtdS9jcHUuaAorKysgYi9pbmNsdWRlL3FlbXUvY3B1
LmgKQEAgLTU4LDYgKzU4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgQ1BVQ2xhc3MgewogLyoqCiAgKiBD
UFVTdGF0ZToKICAqIEBjcmVhdGVkOiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgQ1BVIHRocmVhZCBo
YXMgYmVlbiBzdWNjZXNzZnVsbHkgY3JlYXRlZC4KKyAqIEBpbnRlcnJ1cHRfcmVxdWVzdDogSW5k
aWNhdGVzIGEgcGVuZGluZyBpbnRlcnJ1cHQgcmVxdWVzdC4KKyAqIEBoYWx0ZWQ6IE5vbnplcm8g
aWYgdGhlIENQVSBpcyBpbiBzdXNwZW5kZWQgc3RhdGUuCiAgKiBAc3RvcDogSW5kaWNhdGVzIGEg
cGVuZGluZyBzdG9wIHJlcXVlc3QuCiAgKiBAc3RvcHBlZDogSW5kaWNhdGVzIHRoZSBDUFUgaGFz
IGJlZW4gYXJ0aWZpY2lhbGx5IHN0b3BwZWQuCiAgKgpAQCAtNzcsNiArNzksOCBAQCBzdHJ1Y3Qg
Q1BVU3RhdGUgewogICAgIHN0cnVjdCBxZW11X3dvcmtfaXRlbSAqcXVldWVkX3dvcmtfZmlyc3Qs
ICpxdWV1ZWRfd29ya19sYXN0OwogICAgIGJvb2wgdGhyZWFkX2tpY2tlZDsKICAgICBib29sIGNy
ZWF0ZWQ7CisgICAgdWludDMyX3QgaW50ZXJydXB0X3JlcXVlc3Q7CisgICAgdWludDMyX3QgaGFs
dGVkOwogICAgIGJvb2wgc3RvcDsKICAgICBib29sIHN0b3BwZWQ7CiAKZGlmZiAtLWdpdCBhL2t2
bS1hbGwuYyBiL2t2bS1hbGwuYwppbmRleCBiYmQyMDQ5Li5iNGI4YTE0IDEwMDY0NAotLS0gYS9r
dm0tYWxsLmMKKysrIGIva3ZtLWFsbC5jCkBAIC04MzMsNyArODMzLDcgQEAgc3RhdGljIHZvaWQg
a3ZtX2hhbmRsZV9pbnRlcnJ1cHQoQ1BVQXJjaFN0YXRlICplbnYsIGludCBtYXNrKQogewogICAg
IENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOwogCi0gICAgZW52LT5pbnRlcnJ1cHRf
cmVxdWVzdCB8PSBtYXNrOworICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgfD0gbWFzazsKIAog
ICAgIGlmICghcWVtdV9jcHVfaXNfc2VsZihjcHUpKSB7CiAgICAgICAgIHFlbXVfY3B1X2tpY2so
Y3B1KTsKZGlmZiAtLWdpdCBhL3FvbS9jcHUuYyBiL3FvbS9jcHUuYwppbmRleCA3MjlmNGNmLi45
YWU5YTNjIDEwMDY0NAotLS0gYS9xb20vY3B1LmMKKysrIGIvcW9tL2NwdS5jCkBAIC0zMiw2ICsz
Miw4IEBAIHZvaWQgY3B1X3Jlc2V0KENQVVN0YXRlICpjcHUpCiAKIHN0YXRpYyB2b2lkIGNwdV9j
b21tb25fcmVzZXQoQ1BVU3RhdGUgKmNwdSkKIHsKKyAgICBjcHUtPmhhbHRlZCA9IDA7CisgICAg
Y3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCA9IDA7CiB9CiAKIHZvaWQgY3B1X3RsYl9mbHVzaChDUFVT
dGF0ZSAqY3B1LCBib29sIGZsdXNoX2dsb2JhbCkKZGlmZiAtLWdpdCBhL3RhcmdldC1hbHBoYS9j
cHUuaCBiL3RhcmdldC1hbHBoYS9jcHUuaAppbmRleCBhNDNmYjk0Li4zZjMyMWUyIDEwMDY0NAot
LS0gYS90YXJnZXQtYWxwaGEvY3B1LmgKKysrIGIvdGFyZ2V0LWFscGhhL2NwdS5oCkBAIC01MDEs
OCArNTAxLDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGNwdV9zZXRfdGxzKENQVUFscGhhU3RhdGUg
KmVudiwgdGFyZ2V0X3Vsb25nIG5ld3RscykKIAogc3RhdGljIGlubGluZSBib29sIGNwdV9oYXNf
d29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVUFscGhhU3RhdGUgKmVudiA9ICZBTFBIQV9D
UFUoY3B1KS0+ZW52OwotCiAgICAgLyogSGVyZSB3ZSBhcmUgY2hlY2tpbmcgdG8gc2VlIGlmIHRo
ZSBDUFUgc2hvdWxkIHdha2UgdXAgZnJvbSBIQUxULgogICAgICAgIFdlIHdpbGwgaGF2ZSBnb3R0
ZW4gaW50byB0aGlzIHN0YXRlIG9ubHkgZm9yIFdUSU5UIGZyb20gUEFMbW9kZS4gICovCiAgICAg
LyogPz8/IEknbSBub3Qgc3VyZSBob3cgdGhlIElQTCBzdGF0ZSB3b3JrcyB3aXRoIFdUSU5UIHRv
IGtlZXAgYSBDUFUKQEAgLTUxMCw3ICs1MDgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hh
c193b3JrKENQVVN0YXRlICpjcHUpCiAgICAgICAgYXNzdW1lIHRoYXQgaWYgYSBDUFUgcmVhbGx5
IHdhbnRzIHRvIHN0YXkgYXNsZWVwLCBpdCB3aWxsIG1hc2sKICAgICAgICBpbnRlcnJ1cHRzIGF0
IHRoZSBjaGlwc2V0IGxldmVsLCB3aGljaCB3aWxsIHByZXZlbnQgdGhlc2UgYml0cwogICAgICAg
IGZyb20gYmVpbmcgc2V0IGluIHRoZSBmaXJzdCBwbGFjZS4gICovCi0gICAgcmV0dXJuIGVudi0+
aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BVX0lOVEVSUlVQVF9IQVJECisgICAgcmV0dXJuIGNwdS0+
aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BVX0lOVEVSUlVQVF9IQVJECiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCBDUFVfSU5URVJSVVBUX1RJTUVSCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCBDUFVfSU5URVJSVVBUX1NNUAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ1BVX0lOVEVSUlVQVF9NQ0hLKTsKZGlmZiAtLWdp
dCBhL3RhcmdldC1hbHBoYS90cmFuc2xhdGUuYyBiL3RhcmdldC1hbHBoYS90cmFuc2xhdGUuYwpp
bmRleCAxMmRlNmEzLi40ZWM3YTdkIDEwMDY0NAotLS0gYS90YXJnZXQtYWxwaGEvdHJhbnNsYXRl
LmMKKysrIGIvdGFyZ2V0LWFscGhhL3RyYW5zbGF0ZS5jCkBAIC0xNjkzLDcgKzE2OTMsOCBAQCBz
dGF0aWMgRXhpdFN0YXR1cyBnZW5fbXRwcihEaXNhc0NvbnRleHQgKmN0eCwgaW50IHJiLCBpbnQg
cmVnbm8pCiAgICAgY2FzZSAyNTM6CiAgICAgICAgIC8qIFdBSVQgKi8KICAgICAgICAgdG1wID0g
dGNnX2NvbnN0X2k2NCgxKTsKLSAgICAgICAgdGNnX2dlbl9zdDMyX2k2NCh0bXAsIGNwdV9lbnYs
IG9mZnNldG9mKENQVUFscGhhU3RhdGUsIGhhbHRlZCkpOworICAgICAgICB0Y2dfZ2VuX3N0MzJf
aTY0KHRtcCwgY3B1X2Vudiwgb2Zmc2V0b2YoQ1BVU3RhdGUsIGhhbHRlZCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtIG9mZnNldG9mKEFscGhhQ1BVLCBlbnYpKTsKICAg
ICAgICAgcmV0dXJuIGdlbl9leGNwKGN0eCwgRVhDUF9ITFQsIDApOwogCiAgICAgY2FzZSAyNTI6
CmRpZmYgLS1naXQgYS90YXJnZXQtYXJtL2NwdS5oIGIvdGFyZ2V0LWFybS9jcHUuaAppbmRleCBk
NGExOWJlLi4wY2Y4ODNmIDEwMDY0NAotLS0gYS90YXJnZXQtYXJtL2NwdS5oCisrKyBiL3Rhcmdl
dC1hcm0vY3B1LmgKQEAgLTU1Myw5ICs1NTMsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY3B1X2dl
dF90Yl9jcHVfc3RhdGUoQ1BVQVJNU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nICpwYywKIAogc3Rh
dGljIGlubGluZSBib29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVUFS
TVN0YXRlICplbnYgPSAmQVJNX0NQVShjcHUpLT5lbnY7Ci0KLSAgICByZXR1cm4gZW52LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmCisgICAgcmV0dXJuIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJgogICAg
ICAgICAoQ1BVX0lOVEVSUlVQVF9GSVEgfCBDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5URVJS
VVBUX0VYSVRUQik7CiB9CiAKZGlmZiAtLWdpdCBhL3RhcmdldC1hcm0vaGVscGVyLmMgYi90YXJn
ZXQtYXJtL2hlbHBlci5jCmluZGV4IGJiYjFkMDUuLjM5YTQ1NWQgMTAwNjQ0Ci0tLSBhL3Rhcmdl
dC1hcm0vaGVscGVyLmMKKysrIGIvdGFyZ2V0LWFybS9oZWxwZXIuYwpAQCAtNTI3LDYgKzUyNyw3
IEBAIHN0YXRpYyB2b2lkIGRvX2ludGVycnVwdF92N20oQ1BVQVJNU3RhdGUgKmVudikKIC8qIEhh
bmRsZSBhIENQVSBleGNlcHRpb24uICAqLwogdm9pZCBkb19pbnRlcnJ1cHQoQ1BVQVJNU3RhdGUg
KmVudikKIHsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKICAgICB1aW50
MzJfdCBhZGRyOwogICAgIHVpbnQzMl90IG1hc2s7CiAgICAgaW50IG5ld19tb2RlOwpAQCAtNjMy
LDcgKzYzMyw3IEBAIHZvaWQgZG9faW50ZXJydXB0KENQVUFSTVN0YXRlICplbnYpCiAgICAgfQog
ICAgIGVudi0+cmVnc1sxNF0gPSBlbnYtPnJlZ3NbMTVdICsgb2Zmc2V0OwogICAgIGVudi0+cmVn
c1sxNV0gPSBhZGRyOwotICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQ
VF9FWElUVEI7CisgICAgY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCB8PSBDUFVfSU5URVJSVVBUX0VY
SVRUQjsKIH0KIAogLyogQ2hlY2sgc2VjdGlvbi9wYWdlIGFjY2VzcyBwZXJtaXNzaW9ucy4KZGlm
ZiAtLWdpdCBhL3RhcmdldC1hcm0vb3BfaGVscGVyLmMgYi90YXJnZXQtYXJtL29wX2hlbHBlci5j
CmluZGV4IGI1MzM2OWQuLjI3MTQwMjEgMTAwNjQ0Ci0tLSBhL3RhcmdldC1hcm0vb3BfaGVscGVy
LmMKKysrIGIvdGFyZ2V0LWFybS9vcF9oZWxwZXIuYwpAQCAtMjM0LDggKzIzNCwxMCBAQCB1aW50
MzJfdCBIRUxQRVIodXNhdDE2KSh1aW50MzJfdCB4LCB1aW50MzJfdCBzaGlmdCkKIAogdm9pZCBI
RUxQRVIod2ZpKSh2b2lkKQogeworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYp
OworCiAgICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKLSAgICBlbnYtPmhhbHRl
ZCA9IDE7CisgICAgY3B1LT5oYWx0ZWQgPSAxOwogICAgIGNwdV9sb29wX2V4aXQoZW52KTsKIH0K
IApkaWZmIC0tZ2l0IGEvdGFyZ2V0LWNyaXMvY3B1LmggYi90YXJnZXQtY3Jpcy9jcHUuaAppbmRl
eCAyZjcxZjYzLi41NjYxMjljIDEwMDY0NAotLS0gYS90YXJnZXQtY3Jpcy9jcHUuaAorKysgYi90
YXJnZXQtY3Jpcy9jcHUuaApAQCAtMjg1LDkgKzI4NSw3IEBAIHZvaWQgY3Jpc19jcHVfbGlzdChG
SUxFICpmLCBmcHJpbnRmX2Z1bmN0aW9uIGNwdV9mcHJpbnRmKTsKIAogc3RhdGljIGlubGluZSBi
b29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVUNSSVNTdGF0ZSAqZW52
ID0gJkNSSVNfQ1BVKGNwdSktPmVudjsKLQotICAgIHJldHVybiBlbnYtPmludGVycnVwdF9yZXF1
ZXN0ICYgKENQVV9JTlRFUlJVUFRfSEFSRCB8IENQVV9JTlRFUlJVUFRfTk1JKTsKKyAgICByZXR1
cm4gY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIChDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5U
RVJSVVBUX05NSSk7CiB9CiAKICNpbmNsdWRlICJleGVjLWFsbC5oIgpkaWZmIC0tZ2l0IGEvdGFy
Z2V0LWNyaXMvdHJhbnNsYXRlLmMgYi90YXJnZXQtY3Jpcy90cmFuc2xhdGUuYwppbmRleCAxYWQ5
ZWM3Li4xNGMzNzk1IDEwMDY0NAotLS0gYS90YXJnZXQtY3Jpcy90cmFuc2xhdGUuYworKysgYi90
YXJnZXQtY3Jpcy90cmFuc2xhdGUuYwpAQCAtMjg5NSw3ICsyODk1LDkgQEAgc3RhdGljIGludCBk
ZWNfcmZlX2V0YyhEaXNhc0NvbnRleHQgKmRjKQogCWNyaXNfY2NfbWFzayhkYywgMCk7CiAKIAlp
ZiAoZGMtPm9wMiA9PSAxNSkgewotCQl0X2dlbl9tb3ZfZW52X1ROKGhhbHRlZCwgdGNnX2NvbnN0
X3RsKDEpKTsKKyAgICAgICAgICAgICAgICB0Y2dfZ2VuX3N0X2kzMih0Y2dfY29uc3RfaTMyKDEp
LCBjcHVfZW52LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKENQVVN0
YXRlLCBoYWx0ZWQpIC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihD
UklTQ1BVLCBlbnYpKTsKIAkJdGNnX2dlbl9tb3ZpX3RsKGVudl9wYywgZGMtPnBjICsgMik7CiAJ
CXRfZ2VuX3JhaXNlX2V4Y2VwdGlvbihFWENQX0hMVCk7CiAJCXJldHVybiAyOwpkaWZmIC0tZ2l0
IGEvdGFyZ2V0LWkzODYvY3B1LmggYi90YXJnZXQtaTM4Ni9jcHUuaAppbmRleCAzNmU3OTExLi4x
ZWU2ZTZiIDEwMDY0NAotLS0gYS90YXJnZXQtaTM4Ni9jcHUuaAorKysgYi90YXJnZXQtaTM4Ni9j
cHUuaApAQCAtODY0LDcgKzg2NCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjcHVfeDg2X2xvYWRf
c2VnX2NhY2hlX3NpcGkoWDg2Q1BVICpjcHUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXBpX3ZlY3RvciA8PCAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+c2Vnc1tS
X0NTXS5saW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+c2Vnc1tSX0NTXS5m
bGFncyk7Ci0gICAgZW52LT5oYWx0ZWQgPSAwOworICAgIENQVShjcHUpLT5oYWx0ZWQgPSAwOwog
fQogCiBpbnQgY3B1X3g4Nl9nZXRfZGVzY3JfZGVidWcoQ1BVWDg2U3RhdGUgKmVudiwgdW5zaWdu
ZWQgaW50IHNlbGVjdG9yLApAQCAtMTAzOSw5ICsxMDM5LDkgQEAgc3RhdGljIGlubGluZSBib29s
IGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewogICAgIENQVVg4NlN0YXRlICplbnYgPSAm
WDg2X0NQVShjcHUpLT5lbnY7CiAKLSAgICByZXR1cm4gKChlbnYtPmludGVycnVwdF9yZXF1ZXN0
ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgorICAgIHJldHVybiAoKGNwdS0+aW50ZXJydXB0X3Jl
cXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQpICYmCiAgICAgICAgICAgICAoZW52LT5lZmxhZ3Mg
JiBJRl9NQVNLKSkgfHwKLSAgICAgICAgICAgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BV
X0lOVEVSUlVQVF9OTUkgfAorICAgICAgICAgICAoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIChD
UFVfSU5URVJSVVBUX05NSSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IENQVV9JTlRFUlJVUFRfSU5JVCB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIENQVV9JTlRFUlJVUFRfU0lQSSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENQVV9JTlRFUlJVUFRfTUNFKSk7CmRpZmYgLS1naXQgYS90YXJnZXQtaTM4Ni9oZWxw
ZXIuYyBiL3RhcmdldC1pMzg2L2hlbHBlci5jCmluZGV4IDJkNWNhOGMuLjlmNWIzYWQgMTAwNjQ0
Ci0tLSBhL3RhcmdldC1pMzg2L2hlbHBlci5jCisrKyBiL3RhcmdldC1pMzg2L2hlbHBlci5jCkBA
IC0xNzEsNiArMTcxLDcgQEAgZG9uZToKIHZvaWQgY3B1X2R1bXBfc3RhdGUoQ1BVWDg2U3RhdGUg
KmVudiwgRklMRSAqZiwgZnByaW50Zl9mdW5jdGlvbiBjcHVfZnByaW50ZiwKICAgICAgICAgICAg
ICAgICAgICAgaW50IGZsYWdzKQogeworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShl
bnYpOwogICAgIGludCBlZmxhZ3MsIGksIG5iOwogICAgIGNoYXIgY2Nfb3BfbmFtZVszMl07CiAg
ICAgc3RhdGljIGNvbnN0IGNoYXIgKnNlZ19uYW1lWzZdID0geyAiRVMiLCAiQ1MiLCAiU1MiLCAi
RFMiLCAiRlMiLCAiR1MiIH07CkBAIC0yMTQsNyArMjE1LDcgQEAgdm9pZCBjcHVfZHVtcF9zdGF0
ZShDUFVYODZTdGF0ZSAqZW52LCBGSUxFICpmLCBmcHJpbnRmX2Z1bmN0aW9uIGNwdV9mcHJpbnRm
LAogICAgICAgICAgICAgICAgICAgICAoZW52LT5oZmxhZ3MgPj4gSEZfSU5ISUJJVF9JUlFfU0hJ
RlQpICYgMSwKICAgICAgICAgICAgICAgICAgICAgKGVudi0+YTIwX21hc2sgPj4gMjApICYgMSwK
ICAgICAgICAgICAgICAgICAgICAgKGVudi0+aGZsYWdzID4+IEhGX1NNTV9TSElGVCkgJiAxLAot
ICAgICAgICAgICAgICAgICAgICBlbnYtPmhhbHRlZCk7CisgICAgICAgICAgICAgICAgICAgIGNw
dS0+aGFsdGVkKTsKICAgICB9IGVsc2UKICNlbmRpZgogICAgIHsKQEAgLTI0MSw3ICsyNDIsNyBA
QCB2b2lkIGNwdV9kdW1wX3N0YXRlKENQVVg4NlN0YXRlICplbnYsIEZJTEUgKmYsIGZwcmludGZf
ZnVuY3Rpb24gY3B1X2ZwcmludGYsCiAgICAgICAgICAgICAgICAgICAgIChlbnYtPmhmbGFncyA+
PiBIRl9JTkhJQklUX0lSUV9TSElGVCkgJiAxLAogICAgICAgICAgICAgICAgICAgICAoZW52LT5h
MjBfbWFzayA+PiAyMCkgJiAxLAogICAgICAgICAgICAgICAgICAgICAoZW52LT5oZmxhZ3MgPj4g
SEZfU01NX1NISUZUKSAmIDEsCi0gICAgICAgICAgICAgICAgICAgIGVudi0+aGFsdGVkKTsKKyAg
ICAgICAgICAgICAgICAgICAgY3B1LT5oYWx0ZWQpOwogICAgIH0KIAogICAgIGZvcihpID0gMDsg
aSA8IDY7IGkrKykgewpAQCAtMTE4NSwxNCArMTE4NiwxNSBAQCBYODZDUFUgKmNwdV94ODZfaW5p
dChjb25zdCBjaGFyICpjcHVfbW9kZWwpCiB2b2lkIGRvX2NwdV9pbml0KFg4NkNQVSAqY3B1KQog
ewogICAgIENQVVg4NlN0YXRlICplbnYgPSAmY3B1LT5lbnY7Ci0gICAgaW50IHNpcGkgPSBlbnYt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9TSVBJOworICAgIENQVVN0YXRlICpj
ID0gQ1BVKGNwdSk7CisgICAgaW50IHNpcGkgPSBjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9J
TlRFUlJVUFRfU0lQSTsKICAgICB1aW50NjRfdCBwYXQgPSBlbnYtPnBhdDsKIAotICAgIGNwdV9y
ZXNldChDUFUoY3B1KSk7Ci0gICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCA9IHNpcGk7CisgICAg
Y3B1X3Jlc2V0KGMpOworICAgIGMtPmludGVycnVwdF9yZXF1ZXN0ID0gc2lwaTsKICAgICBlbnYt
PnBhdCA9IHBhdDsKICAgICBhcGljX2luaXRfcmVzZXQoZW52LT5hcGljX3N0YXRlKTsKLSAgICBl
bnYtPmhhbHRlZCA9ICFjcHVfaXNfYnNwKGNwdSk7CisgICAgYy0+aGFsdGVkID0gIWNwdV9pc19i
c3AoY3B1KTsKIH0KIAogdm9pZCBkb19jcHVfc2lwaShYODZDUFUgKmNwdSkKZGlmZiAtLWdpdCBh
L3RhcmdldC1pMzg2L2t2bS5jIGIvdGFyZ2V0LWkzODYva3ZtLmMKaW5kZXggZjc2NTFiZi4uMDg4
ZGFjYSAxMDA2NDQKLS0tIGEvdGFyZ2V0LWkzODYva3ZtLmMKKysrIGIvdGFyZ2V0LWkzODYva3Zt
LmMKQEAgLTEzNTQsNyArMTM1NCw3IEBAIHN0YXRpYyBpbnQga3ZtX2dldF9tcF9zdGF0ZShYODZD
UFUgKmNwdSkKICAgICB9CiAgICAgZW52LT5tcF9zdGF0ZSA9IG1wX3N0YXRlLm1wX3N0YXRlOwog
ICAgIGlmIChrdm1faXJxY2hpcF9pbl9rZXJuZWwoKSkgewotICAgICAgICBlbnYtPmhhbHRlZCA9
IChtcF9zdGF0ZS5tcF9zdGF0ZSA9PSBLVk1fTVBfU1RBVEVfSEFMVEVEKTsKKyAgICAgICAgQ1BV
KGNwdSktPmhhbHRlZCA9IChtcF9zdGF0ZS5tcF9zdGF0ZSA9PSBLVk1fTVBfU1RBVEVfSEFMVEVE
KTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xNjM0LDExICsxNjM0LDEyIEBAIGludCBr
dm1fYXJjaF9nZXRfcmVnaXN0ZXJzKENQVVg4NlN0YXRlICplbnYpCiAKIHZvaWQga3ZtX2FyY2hf
cHJlX3J1bihDUFVYODZTdGF0ZSAqZW52LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogeworICAgIENQ
VVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOwogICAgIGludCByZXQ7CiAKICAgICAvKiBJ
bmplY3QgTk1JICovCi0gICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJS
VVBUX05NSSkgewotICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJS
VVBUX05NSTsKKyAgICBpZiAoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRf
Tk1JKSB7CisgICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRf
Tk1JOwogICAgICAgICBEUFJJTlRGKCJpbmplY3RlZCBOTUlcbiIpOwogICAgICAgICByZXQgPSBr
dm1fdmNwdV9pb2N0bChlbnYsIEtWTV9OTUkpOwogICAgICAgICBpZiAocmV0IDwgMCkgewpAQCAt
MTY1MCwxOCArMTY1MSwxOCBAQCB2b2lkIGt2bV9hcmNoX3ByZV9ydW4oQ1BVWDg2U3RhdGUgKmVu
diwgc3RydWN0IGt2bV9ydW4gKnJ1bikKICAgICBpZiAoIWt2bV9pcnFjaGlwX2luX2tlcm5lbCgp
KSB7CiAgICAgICAgIC8qIEZvcmNlIHRoZSBWQ1BVIG91dCBvZiBpdHMgaW5uZXIgbG9vcCB0byBw
cm9jZXNzIGFueSBJTklUIHJlcXVlc3RzCiAgICAgICAgICAqIG9yIHBlbmRpbmcgVFBSIGFjY2Vz
cyByZXBvcnRzLiAqLwotICAgICAgICBpZiAoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmCisgICAg
ICAgIGlmIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYKICAgICAgICAgICAgIChDUFVfSU5URVJS
VVBUX0lOSVQgfCBDUFVfSU5URVJSVVBUX1RQUikpIHsKICAgICAgICAgICAgIGVudi0+ZXhpdF9y
ZXF1ZXN0ID0gMTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIFRyeSB0byBpbmplY3QgYW4gaW50
ZXJydXB0IGlmIHRoZSBndWVzdCBjYW4gYWNjZXB0IGl0ICovCiAgICAgICAgIGlmIChydW4tPnJl
YWR5X2Zvcl9pbnRlcnJ1cHRfaW5qZWN0aW9uICYmCi0gICAgICAgICAgICAoZW52LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYKKyAgICAgICAgICAgIChjcHUtPmlu
dGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICAgICAgKGVu
di0+ZWZsYWdzICYgSUZfTUFTSykpIHsKICAgICAgICAgICAgIGludCBpcnE7CiAKLSAgICAgICAg
ICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFSRDsKKyAgICAg
ICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfSEFSRDsKICAg
ICAgICAgICAgIGlycSA9IGNwdV9nZXRfcGljX2ludGVycnVwdChlbnYpOwogICAgICAgICAgICAg
aWYgKGlycSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgc3RydWN0IGt2bV9pbnRlcnJ1cHQgaW50
cjsKQEAgLTE2ODEsNyArMTY4Miw3IEBAIHZvaWQga3ZtX2FyY2hfcHJlX3J1bihDUFVYODZTdGF0
ZSAqZW52LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogICAgICAgICAgKiBpbnRlcnJ1cHQsIHJlcXVl
c3QgYW4gaW50ZXJydXB0IHdpbmRvdyBleGl0LiAgVGhpcyB3aWxsCiAgICAgICAgICAqIGNhdXNl
IGEgcmV0dXJuIHRvIHVzZXJzcGFjZSBhcyBzb29uIGFzIHRoZSBndWVzdCBpcyByZWFkeSB0bwog
ICAgICAgICAgKiByZWNlaXZlIGludGVycnVwdHMuICovCi0gICAgICAgIGlmICgoZW52LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkpIHsKKyAgICAgICAgaWYgKChjcHUt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSkgewogICAgICAgICAgICAg
cnVuLT5yZXF1ZXN0X2ludGVycnVwdF93aW5kb3cgPSAxOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgcnVuLT5yZXF1ZXN0X2ludGVycnVwdF93aW5kb3cgPSAwOwpAQCAtMTcwNiwxMiAr
MTcwNywxMyBAQCB2b2lkIGt2bV9hcmNoX3Bvc3RfcnVuKENQVVg4NlN0YXRlICplbnYsIHN0cnVj
dCBrdm1fcnVuICpydW4pCiBpbnQga3ZtX2FyY2hfcHJvY2Vzc19hc3luY19ldmVudHMoQ1BVWDg2
U3RhdGUgKmVudikKIHsKICAgICBYODZDUFUgKmNwdSA9IHg4Nl9lbnZfZ2V0X2NwdShlbnYpOwor
ICAgIENQVVN0YXRlICpjID0gQ1BVKGNwdSk7CiAKLSAgICBpZiAoZW52LT5pbnRlcnJ1cHRfcmVx
dWVzdCAmIENQVV9JTlRFUlJVUFRfTUNFKSB7CisgICAgaWYgKGMtPmludGVycnVwdF9yZXF1ZXN0
ICYgQ1BVX0lOVEVSUlVQVF9NQ0UpIHsKICAgICAgICAgLyogV2UgbXVzdCBub3QgcmFpc2UgQ1BV
X0lOVEVSUlVQVF9NQ0UgaWYgaXQncyBub3Qgc3VwcG9ydGVkLiAqLwogICAgICAgICBhc3NlcnQo
ZW52LT5tY2dfY2FwKTsKIAotICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVf
SU5URVJSVVBUX01DRTsKKyAgICAgICAgYy0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRF
UlJVUFRfTUNFOwogCiAgICAgICAgIGt2bV9jcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKIApA
QCAtMTcyNCw3ICsxNzI2LDcgQEAgaW50IGt2bV9hcmNoX3Byb2Nlc3NfYXN5bmNfZXZlbnRzKENQ
VVg4NlN0YXRlICplbnYpCiAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luamVjdGVkID0gRVhDUDEy
X01DSEs7CiAgICAgICAgIGVudi0+aGFzX2Vycm9yX2NvZGUgPSAwOwogCi0gICAgICAgIGVudi0+
aGFsdGVkID0gMDsKKyAgICAgICAgYy0+aGFsdGVkID0gMDsKICAgICAgICAgaWYgKGt2bV9pcnFj
aGlwX2luX2tlcm5lbCgpICYmIGVudi0+bXBfc3RhdGUgPT0gS1ZNX01QX1NUQVRFX0hBTFRFRCkg
ewogICAgICAgICAgICAgZW52LT5tcF9zdGF0ZSA9IEtWTV9NUF9TVEFURV9SVU5OQUJMRTsKICAg
ICAgICAgfQpAQCAtMTczNCwzNyArMTczNiwzOCBAQCBpbnQga3ZtX2FyY2hfcHJvY2Vzc19hc3lu
Y19ldmVudHMoQ1BVWDg2U3RhdGUgKmVudikKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0g
ICAgaWYgKCgoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYK
KyAgICBpZiAoKChjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYK
ICAgICAgICAgIChlbnYtPmVmbGFncyAmIElGX01BU0spKSB8fAotICAgICAgICAoZW52LT5pbnRl
cnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTk1JKSkgewotICAgICAgICBlbnYtPmhhbHRl
ZCA9IDA7CisgICAgICAgIChjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfTk1J
KSkgeworICAgICAgICBjLT5oYWx0ZWQgPSAwOwogICAgIH0KLSAgICBpZiAoZW52LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSU5JVCkgeworICAgIGlmIChjLT5pbnRlcnJ1cHRf
cmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSU5JVCkgewogICAgICAgICBrdm1fY3B1X3N5bmNocm9u
aXplX3N0YXRlKGVudik7CiAgICAgICAgIGRvX2NwdV9pbml0KGNwdSk7CiAgICAgfQotICAgIGlm
IChlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9TSVBJKSB7CisgICAgaWYg
KGMtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9TSVBJKSB7CiAgICAgICAgIGt2
bV9jcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKICAgICAgICAgZG9fY3B1X3NpcGkoY3B1KTsK
ICAgICB9Ci0gICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1RQ
UikgewotICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX1RQ
UjsKKyAgICBpZiAoYy0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1RQUikgewor
ICAgICAgICBjLT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVSUlVQVF9UUFI7CiAgICAg
ICAgIGt2bV9jcHVfc3luY2hyb25pemVfc3RhdGUoZW52KTsKICAgICAgICAgYXBpY19oYW5kbGVf
dHByX2FjY2Vzc19yZXBvcnQoZW52LT5hcGljX3N0YXRlLCBlbnYtPmVpcCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52LT50cHJfYWNjZXNzX3R5cGUpOwogICAgIH0K
IAotICAgIHJldHVybiBlbnYtPmhhbHRlZDsKKyAgICByZXR1cm4gYy0+aGFsdGVkOwogfQogCi1z
dGF0aWMgaW50IGt2bV9oYW5kbGVfaGFsdChYODZDUFUgKmNwdSkKK3N0YXRpYyBpbnQga3ZtX2hh
bmRsZV9oYWx0KFg4NkNQVSAqYykKIHsKLSAgICBDUFVYODZTdGF0ZSAqZW52ID0gJmNwdS0+ZW52
OworICAgIENQVVN0YXRlICpjcHUgPSBDUFUoYyk7CisgICAgQ1BVWDg2U3RhdGUgKmVudiA9ICZj
LT5lbnY7CiAKLSAgICBpZiAoISgoZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJV
UFRfSEFSRCkgJiYKKyAgICBpZiAoISgoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRF
UlJVUFRfSEFSRCkgJiYKICAgICAgICAgICAoZW52LT5lZmxhZ3MgJiBJRl9NQVNLKSkgJiYKLSAg
ICAgICAgIShlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9OTUkpKSB7Ci0g
ICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAgIShjcHUtPmludGVycnVwdF9yZXF1ZXN0
ICYgQ1BVX0lOVEVSUlVQVF9OTUkpKSB7CisgICAgICAgIGNwdS0+aGFsdGVkID0gMTsKICAgICAg
ICAgcmV0dXJuIEVYQ1BfSExUOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvdGFyZ2V0LWkzODYvb3Bf
aGVscGVyLmMgYi90YXJnZXQtaTM4Ni9vcF9oZWxwZXIuYwppbmRleCBiYzNiOTRlLi42ZGExNGI5
IDEwMDY0NAotLS0gYS90YXJnZXQtaTM4Ni9vcF9oZWxwZXIuYworKysgYi90YXJnZXQtaTM4Ni9v
cF9oZWxwZXIuYwpAQCAtNDg2Myw4ICs0ODYzLDEwIEBAIHZvaWQgaGVscGVyX2lkaXZxX0VBWCh0
YXJnZXRfdWxvbmcgdDApCiAKIHN0YXRpYyB2b2lkIGRvX2hsdCh2b2lkKQogeworICAgIENQVVN0
YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworCiAgICAgZW52LT5oZmxhZ3MgJj0gfkhGX0lO
SElCSVRfSVJRX01BU0s7IC8qIG5lZWRlZCBpZiBzdGkgaXMganVzdCBiZWZvcmUgKi8KLSAgICBl
bnYtPmhhbHRlZCA9IDE7CisgICAgY3B1LT5oYWx0ZWQgPSAxOwogICAgIGVudi0+ZXhjZXB0aW9u
X2luZGV4ID0gRVhDUF9ITFQ7CiAgICAgY3B1X2xvb3BfZXhpdChlbnYpOwogfQpAQCAtNTEwOSw2
ICs1MTExLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHN2bV9sb2FkX3NlZ19jYWNoZSh0YXJnZXRf
cGh5c19hZGRyX3QgYWRkciwKIAogdm9pZCBoZWxwZXJfdm1ydW4oaW50IGFmbGFnLCBpbnQgbmV4
dF9laXBfYWRkZW5kKQogeworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOwog
ICAgIHRhcmdldF91bG9uZyBhZGRyOwogICAgIHVpbnQzMl90IGV2ZW50X2luajsKICAgICB1aW50
MzJfdCBpbnRfY3RsOwpAQCAtNTIyOSw3ICs1MjMyLDcgQEAgdm9pZCBoZWxwZXJfdm1ydW4oaW50
IGFmbGFnLCBpbnQgbmV4dF9laXBfYWRkZW5kKQogICAgIGVudi0+aGZsYWdzMiB8PSBIRjJfR0lG
X01BU0s7CiAKICAgICBpZiAoaW50X2N0bCAmIFZfSVJRX01BU0spIHsKLSAgICAgICAgZW52LT5p
bnRlcnJ1cHRfcmVxdWVzdCB8PSBDUFVfSU5URVJSVVBUX1ZJUlE7CisgICAgICAgIGNwdS0+aW50
ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9WSVJROwogICAgIH0KIAogICAgIC8qIG1h
eWJlIHdlIG5lZWQgdG8gaW5qZWN0IGFuIGV2ZW50ICovCkBAIC01NDg3LDYgKzU0OTAsNyBAQCB2
b2lkIGhlbHBlcl9zdm1fY2hlY2tfaW8odWludDMyX3QgcG9ydCwgdWludDMyX3QgcGFyYW0sCiAv
KiBOb3RlOiBjdXJyZW50bHkgb25seSAzMiBiaXRzIG9mIGV4aXRfY29kZSBhcmUgdXNlZCAqLwog
dm9pZCBoZWxwZXJfdm1leGl0KHVpbnQzMl90IGV4aXRfY29kZSwgdWludDY0X3QgZXhpdF9pbmZv
XzEpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAgdWludDMy
X3QgaW50X2N0bDsKIAogICAgIHFlbXVfbG9nX21hc2soQ1BVX0xPR19UQl9JTl9BU00sICJ2bWV4
aXQoJTA4eCwgJTAxNiIgUFJJeDY0ICIsICUwMTYiIFBSSXg2NCAiLCAiIFRBUkdFVF9GTVRfbHgg
IikhXG4iLApAQCAtNTUyNiw4ICs1NTMwLDkgQEAgdm9pZCBoZWxwZXJfdm1leGl0KHVpbnQzMl90
IGV4aXRfY29kZSwgdWludDY0X3QgZXhpdF9pbmZvXzEpCiAgICAgaW50X2N0bCA9IGxkbF9waHlz
KGVudi0+dm1fdm1jYiArIG9mZnNldG9mKHN0cnVjdCB2bWNiLCBjb250cm9sLmludF9jdGwpKTsK
ICAgICBpbnRfY3RsICY9IH4oVl9UUFJfTUFTSyB8IFZfSVJRX01BU0spOwogICAgIGludF9jdGwg
fD0gZW52LT52X3RwciAmIFZfVFBSX01BU0s7Ci0gICAgaWYgKGVudi0+aW50ZXJydXB0X3JlcXVl
c3QgJiBDUFVfSU5URVJSVVBUX1ZJUlEpCisgICAgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX1ZJUlEpIHsKICAgICAgICAgaW50X2N0bCB8PSBWX0lSUV9NQVNLOwor
ICAgIH0KICAgICBzdGxfcGh5cyhlbnYtPnZtX3ZtY2IgKyBvZmZzZXRvZihzdHJ1Y3Qgdm1jYiwg
Y29udHJvbC5pbnRfY3RsKSwgaW50X2N0bCk7CiAKICAgICBzdHFfcGh5cyhlbnYtPnZtX3ZtY2Ig
KyBvZmZzZXRvZihzdHJ1Y3Qgdm1jYiwgc2F2ZS5yZmxhZ3MpLCBjb21wdXRlX2VmbGFncygpKTsK
QEAgLTU1NDMsNyArNTU0OCw3IEBAIHZvaWQgaGVscGVyX3ZtZXhpdCh1aW50MzJfdCBleGl0X2Nv
ZGUsIHVpbnQ2NF90IGV4aXRfaW5mb18xKQogICAgIGVudi0+aGZsYWdzICY9IH5IRl9TVk1JX01B
U0s7CiAgICAgZW52LT5pbnRlcmNlcHQgPSAwOwogICAgIGVudi0+aW50ZXJjZXB0X2V4Y2VwdGlv
bnMgPSAwOwotICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfVklS
UTsKKyAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX1ZJUlE7CiAg
ICAgZW52LT50c2Nfb2Zmc2V0ID0gMDsKIAogICAgIGVudi0+Z2R0LmJhc2UgID0gbGRxX3BoeXMo
ZW52LT52bV9oc2F2ZSArIG9mZnNldG9mKHN0cnVjdCB2bWNiLCBzYXZlLmdkdHIuYmFzZSkpOwpk
aWZmIC0tZ2l0IGEvdGFyZ2V0LWxtMzIvY3B1LmggYi90YXJnZXQtbG0zMi9jcHUuaAppbmRleCA3
MjQzYjRmLi41NTk4OTBiIDEwMDY0NAotLS0gYS90YXJnZXQtbG0zMi9jcHUuaAorKysgYi90YXJn
ZXQtbG0zMi9jcHUuaApAQCAtMjU1LDkgKzI1NSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjcHVf
Z2V0X3RiX2NwdV9zdGF0ZShDUFVMTTMyU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nICpwYywKIAog
c3RhdGljIGlubGluZSBib29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQ
VUxNMzJTdGF0ZSAqZW52ID0gJkxNMzJfQ1BVKGNwdSktPmVudjsKLQotICAgIHJldHVybiBlbnYt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOworICAgIHJldHVybiBjcHUt
PmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOwogfQogCiAjaW5jbHVkZSAi
ZXhlYy1hbGwuaCIKZGlmZiAtLWdpdCBhL3RhcmdldC1sbTMyL29wX2hlbHBlci5jIGIvdGFyZ2V0
LWxtMzIvb3BfaGVscGVyLmMKaW5kZXggNTFlZGMxYS4uN2Y0OWMyYiAxMDA2NDQKLS0tIGEvdGFy
Z2V0LWxtMzIvb3BfaGVscGVyLmMKKysrIGIvdGFyZ2V0LWxtMzIvb3BfaGVscGVyLmMKQEAgLTI2
LDcgKzI2LDkgQEAgdm9pZCBoZWxwZXJfcmFpc2VfZXhjZXB0aW9uKHVpbnQzMl90IGluZGV4KQog
CiB2b2lkIGhlbHBlcl9obHQodm9pZCkKIHsKLSAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgQ1BV
U3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisKKyAgICBjcHUtPmhhbHRlZCA9IDE7CiAg
ICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKICAgICBjcHVfbG9vcF9leGl0KGVu
dik7CiB9CmRpZmYgLS1naXQgYS90YXJnZXQtbTY4ay9jcHUuaCBiL3RhcmdldC1tNjhrL2NwdS5o
CmluZGV4IDc4MGUyYzkuLmQzMzQzNTIgMTAwNjQ0Ci0tLSBhL3RhcmdldC1tNjhrL2NwdS5oCisr
KyBiL3RhcmdldC1tNjhrL2NwdS5oCkBAIC0yNTksOSArMjU5LDcgQEAgc3RhdGljIGlubGluZSB2
b2lkIGNwdV9nZXRfdGJfY3B1X3N0YXRlKENQVU02OEtTdGF0ZSAqZW52LCB0YXJnZXRfdWxvbmcg
KnBjLAogCiBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3JrKENQVVN0YXRlICpjcHUpCiB7
Ci0gICAgQ1BVTTY4S1N0YXRlICplbnYgPSAmTTY4S19DUFUoY3B1KS0+ZW52OwotCi0gICAgcmV0
dXJuIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQ7CisgICAgcmV0
dXJuIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQ7CiB9CiAKICNp
bmNsdWRlICJleGVjLWFsbC5oIgpkaWZmIC0tZ2l0IGEvdGFyZ2V0LW02OGsvb3BfaGVscGVyLmMg
Yi90YXJnZXQtbTY4ay9vcF9oZWxwZXIuYwppbmRleCAxOTcxYTU3Li40NDEzYjNhIDEwMDY0NAot
LS0gYS90YXJnZXQtbTY4ay9vcF9oZWxwZXIuYworKysgYi90YXJnZXQtbTY4ay9vcF9oZWxwZXIu
YwpAQCAtOTYsNiArOTYsNyBAQCBzdGF0aWMgdm9pZCBkb19ydGUodm9pZCkKIAogc3RhdGljIHZv
aWQgZG9faW50ZXJydXB0X2FsbChpbnQgaXNfaHcpCiB7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVO
Vl9HRVRfQ1BVKGVudik7CiAgICAgdWludDMyX3Qgc3A7CiAgICAgdWludDMyX3QgZm10OwogICAg
IHVpbnQzMl90IHJldGFkZHI7CkBAIC0xMjAsNyArMTIxLDcgQEAgc3RhdGljIHZvaWQgZG9faW50
ZXJydXB0X2FsbChpbnQgaXNfaHcpCiAgICAgICAgICAgICAgICAgZG9fbTY4a19zZW1paG9zdGlu
ZyhlbnYsIGVudi0+ZHJlZ3NbMF0pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICAgICAgICAgIGNwdS0+aGFs
dGVkID0gMTsKICAgICAgICAgICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gRVhDUF9ITFQ7CiAg
ICAgICAgICAgICBjcHVfbG9vcF9leGl0KGVudik7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS90YXJnZXQtbTY4ay9xcmVncy5kZWYgYi90YXJnZXQtbTY4ay9xcmVncy5kZWYKaW5k
ZXggNDk0MDBjNC4uNDIzNWIwMiAxMDA2NDQKLS0tIGEvdGFyZ2V0LW02OGsvcXJlZ3MuZGVmCisr
KyBiL3RhcmdldC1tNjhrL3FyZWdzLmRlZgpAQCAtOCw2ICs4LDUgQEAgREVGTzMyKENDX1gsIGNj
X3gpCiBERUZPMzIoRElWMSwgZGl2MSkKIERFRk8zMihESVYyLCBkaXYyKQogREVGTzMyKEVYQ0VQ
VElPTiwgZXhjZXB0aW9uX2luZGV4KQotREVGTzMyKEhBTFRFRCwgaGFsdGVkKQogREVGTzMyKE1B
Q1NSLCBtYWNzcikKIERFRk8zMihNQUNfTUFTSywgbWFjX21hc2spCmRpZmYgLS1naXQgYS90YXJn
ZXQtbTY4ay90cmFuc2xhdGUuYyBiL3RhcmdldC1tNjhrL3RyYW5zbGF0ZS5jCmluZGV4IDlmYzFl
MzEuLmZlZjBjNzkgMTAwNjQ0Ci0tLSBhL3RhcmdldC1tNjhrL3RyYW5zbGF0ZS5jCisrKyBiL3Rh
cmdldC1tNjhrL3RyYW5zbGF0ZS5jCkBAIC00Miw2ICs0Miw4IEBACiAjdW5kZWYgREVGTzY0CiAj
dW5kZWYgREVGRjY0CiAKK3N0YXRpYyBUQ0d2IFFSRUdfSEFMVEVEOworCiBzdGF0aWMgVENHdl9w
dHIgY3B1X2VudjsKIAogc3RhdGljIGNoYXIgY3B1X3JlZ19uYW1lc1szKjgqMyArIDUqNF07CkBA
IC03Niw2ICs3OCwxMCBAQCB2b2lkIG02OGtfdGNnX2luaXQodm9pZCkKICN1bmRlZiBERUZPNjQK
ICN1bmRlZiBERUZGNjQKIAorICAgIFFSRUdfSEFMVEVEID0gdGNnX2dsb2JhbF9tZW1fbmV3X2kz
MihUQ0dfQVJFRzAsIG9mZnNldG9mKENQVVN0YXRlLCBoYWx0ZWQpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb2Zmc2V0b2YoTTY4a0NQVSwgZW52
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhBTFRFRCIpOwor
CiAgICAgY3B1X2VudiA9IHRjZ19nbG9iYWxfcmVnX25ld19wdHIoVENHX0FSRUcwLCAiZW52Iik7
CiAKICAgICBwID0gY3B1X3JlZ19uYW1lczsKZGlmZiAtLWdpdCBhL3RhcmdldC1taWNyb2JsYXpl
L2NwdS5oIGIvdGFyZ2V0LW1pY3JvYmxhemUvY3B1LmgKaW5kZXggNjEzMTI4Ny4uZTE3YTBkYiAx
MDA2NDQKLS0tIGEvdGFyZ2V0LW1pY3JvYmxhemUvY3B1LmgKKysrIGIvdGFyZ2V0LW1pY3JvYmxh
emUvY3B1LmgKQEAgLTM3MSw5ICszNzEsNyBAQCB2b2lkIGNwdV91bmFzc2lnbmVkX2FjY2VzcyhD
UFVNQlN0YXRlICplbnYxLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwKIAogc3RhdGljIGlubGlu
ZSBib29sIGNwdV9oYXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewotICAgIENQVU1CU3RhdGUgKmVu
diA9ICZNSUNST0JMQVpFX0NQVShjcHUpLT5lbnY7Ci0KLSAgICByZXR1cm4gZW52LT5pbnRlcnJ1
cHRfcmVxdWVzdCAmIChDUFVfSU5URVJSVVBUX0hBUkQgfCBDUFVfSU5URVJSVVBUX05NSSk7Cisg
ICAgcmV0dXJuIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiAoQ1BVX0lOVEVSUlVQVF9IQVJEIHwg
Q1BVX0lOVEVSUlVQVF9OTUkpOwogfQogCiAjaW5jbHVkZSAiZXhlYy1hbGwuaCIKZGlmZiAtLWdp
dCBhL3RhcmdldC1taXBzL2NwdS5oIGIvdGFyZ2V0LW1pcHMvY3B1LmgKaW5kZXggOWNlNTNkYS4u
OWFjNTczMyAxMDA2NDQKLS0tIGEvdGFyZ2V0LW1pcHMvY3B1LmgKKysrIGIvdGFyZ2V0LW1pcHMv
Y3B1LmgKQEAgLTcxNCw3ICs3MTQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3Jr
KENQVVN0YXRlICpjcHUpCiAgICAgLyogSXQgaXMgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50IGlm
IG5vbi1lbmFibGVkIGludGVycnVwdHMKICAgICAgICB3YWtlLXVwIHRoZSBDUFUsIGhvd2V2ZXIg
bW9zdCBvZiB0aGUgaW1wbGVtZW50YXRpb25zIG9ubHkKICAgICAgICBjaGVjayBmb3IgaW50ZXJy
dXB0cyB0aGF0IGNhbiBiZSB0YWtlbi4gKi8KLSAgICBpZiAoKGVudi0+aW50ZXJydXB0X3JlcXVl
c3QgJiBDUFVfSU5URVJSVVBUX0hBUkQpICYmCisgICAgaWYgKChjcHUtPmludGVycnVwdF9yZXF1
ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICBjcHVfbWlwc19od19pbnRlcnJ1
cHRzX3BlbmRpbmcoZW52KSkgewogICAgICAgICBoYXNfd29yayA9IHRydWU7CiAgICAgfQpAQCAt
NzIzLDcgKzcyMyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjcHVfaGFzX3dvcmsoQ1BVU3RhdGUg
KmNwdSkKICAgICBpZiAoZW52LT5DUDBfQ29uZmlnMyAmICgxIDw8IENQMEMzX01UKSkgewogICAg
ICAgICAvKiBUaGUgUUVNVSBtb2RlbCB3aWxsIGlzc3VlIGFuIF9XQUtFIHJlcXVlc3Qgd2hlbmV2
ZXIgdGhlIENQVXMKICAgICAgICAgICAgc2hvdWxkIGJlIHdva2VuIHVwLiAgKi8KLSAgICAgICAg
aWYgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1dBS0UpIHsKKyAgICAg
ICAgaWYgKGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX1dBS0UpIHsKICAg
ICAgICAgICAgIGhhc193b3JrID0gdHJ1ZTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS90YXJn
ZXQtbWlwcy9vcF9oZWxwZXIuYyBiL3RhcmdldC1taXBzL29wX2hlbHBlci5jCmluZGV4IGQyNmM5
ZmIuLmZkNDEyNWUgMTAwNjQ0Ci0tLSBhL3RhcmdldC1taXBzL29wX2hlbHBlci5jCisrKyBiL3Rh
cmdldC1taXBzL29wX2hlbHBlci5jCkBAIC03NDYsMTAgKzc0NiwxMSBAQCB2b2lkIGhlbHBlcl9z
ZG0gKHRhcmdldF91bG9uZyBhZGRyLCB0YXJnZXRfdWxvbmcgcmVnbGlzdCwgdWludDMyX3QgbWVt
X2lkeCkKIHN0YXRpYyBib29sIG1pcHNfdnBlX2lzX3dmaShNSVBTQ1BVICpjKQogewogICAgIENQ
VU1JUFNTdGF0ZSAqZW52ID0gJmMtPmVudjsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gQ1BVKGMpOwog
CiAgICAgLyogSWYgdGhlIFZQRSBpcyBoYWx0ZWQgYnV0IG90aGVyd2lzZSBhY3RpdmUsIGl0IG1l
YW5zIGl0J3Mgd2FpdGluZyBmb3IKICAgICAgICBhbiBpbnRlcnJ1cHQuICAqLwotICAgIHJldHVy
biBlbnYtPmhhbHRlZCAmJiBtaXBzX3ZwZV9hY3RpdmUoZW52KTsKKyAgICByZXR1cm4gY3B1LT5o
YWx0ZWQgJiYgbWlwc192cGVfYWN0aXZlKGVudik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBt
aXBzX3ZwZV93YWtlKENQVU1JUFNTdGF0ZSAqYykKQEAgLTc2Niw3ICs3NjcsNyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgbWlwc192cGVfc2xlZXAoTUlQU0NQVSAqY3B1KQogCiAgICAgLyogVGhlIFZQ
RSB3YXMgc2h1dCBvZmYsIHJlYWxseSBnbyB0byBiZWQuCiAgICAgICAgUmVzZXQgYW55IG9sZCBf
V0FLRSByZXF1ZXN0cy4gICovCi0gICAgYy0+aGFsdGVkID0gMTsKKyAgICBDUFUoY3B1KS0+aGFs
dGVkID0gMTsKICAgICBjcHVfcmVzZXRfaW50ZXJydXB0KGMsIENQVV9JTlRFUlJVUFRfV0FLRSk7
CiB9CiAKQEAgLTIyODYsOSArMjI4NywxMSBAQCB2b2lkIGhlbHBlcl9wbW9uIChpbnQgZnVuY3Rp
b24pCiAgICAgfQogfQogCi12b2lkIGhlbHBlcl93YWl0ICh2b2lkKQordm9pZCBoZWxwZXJfd2Fp
dCh2b2lkKQogewotICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5W
X0dFVF9DUFUoZW52KTsKKworICAgIGNwdS0+aGFsdGVkID0gMTsKICAgICBjcHVfcmVzZXRfaW50
ZXJydXB0KGVudiwgQ1BVX0lOVEVSUlVQVF9XQUtFKTsKICAgICBoZWxwZXJfcmFpc2VfZXhjZXB0
aW9uKEVYQ1BfSExUKTsKIH0KZGlmZiAtLWdpdCBhL3RhcmdldC1taXBzL3RyYW5zbGF0ZS5jIGIv
dGFyZ2V0LW1pcHMvdHJhbnNsYXRlLmMKaW5kZXggNGUxNWVlMy4uNzkzZjcyYiAxMDA2NDQKLS0t
IGEvdGFyZ2V0LW1pcHMvdHJhbnNsYXRlLmMKKysrIGIvdGFyZ2V0LW1pcHMvdHJhbnNsYXRlLmMK
QEAgLTEyNzE2LDYgKzEyNzE2LDEwIEBAIE1JUFNDUFUgKmNwdV9taXBzX2luaXQoY29uc3QgY2hh
ciAqY3B1X21vZGVsKQogCiB2b2lkIGNwdV9zdGF0ZV9yZXNldChDUFVNSVBTU3RhdGUgKmVudikK
IHsKKyNpZm5kZWYgQ09ORklHX1VTRVJfT05MWQorICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VU
X0NQVShlbnYpOworI2VuZGlmCisKICAgICBpZiAocWVtdV9sb2dsZXZlbF9tYXNrKENQVV9MT0df
UkVTRVQpKSB7CiAgICAgICAgIHFlbXVfbG9nKCJDUFUgUmVzZXQgKENQVSAlZClcbiIsIGVudi0+
Y3B1X2luZGV4KTsKICAgICAgICAgbG9nX2NwdV9zdGF0ZShlbnYsIDApOwpAQCAtMTI4MTcsNyAr
MTI4MjEsNyBAQCB2b2lkIGNwdV9zdGF0ZV9yZXNldChDUFVNSVBTU3RhdGUgKmVudikKICAgICAg
ICAgICAgIGVudi0+dGNzW2ldLkNQMF9UQ0hhbHQgPSAxOwogICAgICAgICB9CiAgICAgICAgIGVu
di0+YWN0aXZlX3RjLkNQMF9UQ0hhbHQgPSAxOwotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7Cisg
ICAgICAgIGNwdS0+aGFsdGVkID0gMTsKIAogICAgICAgICBpZiAoIWVudi0+Y3B1X2luZGV4KSB7
CiAgICAgICAgICAgICAvKiBWUEUwIHN0YXJ0cyB1cCBlbmFibGVkLiAgKi8KQEAgLTEyODI1LDcg
KzEyODI5LDcgQEAgdm9pZCBjcHVfc3RhdGVfcmVzZXQoQ1BVTUlQU1N0YXRlICplbnYpCiAgICAg
ICAgICAgICBlbnYtPkNQMF9WUEVDb25mMCB8PSAoMSA8PCBDUDBWUEVDMF9NVlApIHwgKDEgPDwg
Q1AwVlBFQzBfVlBBKTsKIAogICAgICAgICAgICAgLyogVEMwIHN0YXJ0cyB1cCB1bmhhbHRlZC4g
ICovCi0gICAgICAgICAgICBlbnYtPmhhbHRlZCA9IDA7CisgICAgICAgICAgICBjcHUtPmhhbHRl
ZCA9IDA7CiAgICAgICAgICAgICBlbnYtPmFjdGl2ZV90Yy5DUDBfVENIYWx0ID0gMDsKICAgICAg
ICAgICAgIGVudi0+dGNzWzBdLkNQMF9UQ0hhbHQgPSAwOwogICAgICAgICAgICAgLyogV2l0aCB0
aHJlYWQgMCBhY3RpdmUuICAqLwpkaWZmIC0tZ2l0IGEvdGFyZ2V0LXBwYy9jcHUuaCBiL3Rhcmdl
dC1wcGMvY3B1LmgKaW5kZXggZjE5MjdkNS4uOTM1YzM0NyAxMDA2NDQKLS0tIGEvdGFyZ2V0LXBw
Yy9jcHUuaAorKysgYi90YXJnZXQtcHBjL2NwdS5oCkBAIC0yMTg4LDcgKzIxODgsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3JrKENQVVN0YXRlICpjcHUpCiB7CiAgICAgQ1BVUFBD
U3RhdGUgKmVudiA9ICZQT1dFUlBDX0NQVShjcHUpLT5lbnY7CiAKLSAgICByZXR1cm4gbXNyX2Vl
ICYmIChlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKTsKKyAgICBy
ZXR1cm4gbXNyX2VlICYmIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9I
QVJEKTsKIH0KIAogI2luY2x1ZGUgImV4ZWMtYWxsLmgiCmRpZmYgLS1naXQgYS90YXJnZXQtcHBj
L2hlbHBlci5jIGIvdGFyZ2V0LXBwYy9oZWxwZXIuYwppbmRleCA3NzQ3Njc0Li44MDU5NjU0IDEw
MDY0NAotLS0gYS90YXJnZXQtcHBjL2hlbHBlci5jCisrKyBiL3RhcmdldC1wcGMvaGVscGVyLmMK
QEAgLTI1NzMsOCArMjU3Myw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwb3dlcnBjX2V4Y3AoUG93
ZXJQQ0NQVSAqY3B1LCBpbnQgZXhjcF9tb2RlbCwgaW50IGV4Y3ApCiAgICAgICAgICAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJNYWNoaW5lIGNoZWNrIHdoaWxlIG5vdCBhbGxvd2VkLiAiCiAgICAg
ICAgICAgICAgICAgICAgICAgICAiRW50ZXJpbmcgY2hlY2tzdG9wIHN0YXRlXG4iKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGVudi0+aGFsdGVkID0gMTsKLSAgICAgICAgICAgIGVudi0+
aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9FWElUVEI7CisgICAgICAgICAgICBD
UFUoY3B1KS0+aGFsdGVkID0gMTsKKyAgICAgICAgICAgIENQVShjcHUpLT5pbnRlcnJ1cHRfcmVx
dWVzdCB8PSBDUFVfSU5URVJSVVBUX0VYSVRUQjsKICAgICAgICAgfQogICAgICAgICBpZiAoMCkg
ewogICAgICAgICAgICAgLyogWFhYOiBmaW5kIGEgc3VpdGFibGUgY29uZGl0aW9uIHRvIGVuYWJs
ZSB0aGUgaHlwZXJ2aXNvciBtb2RlICovCmRpZmYgLS1naXQgYS90YXJnZXQtcHBjL2hlbHBlcl9y
ZWdzLmggYi90YXJnZXQtcHBjL2hlbHBlcl9yZWdzLmgKaW5kZXggM2M5ODg1MC4uMDJhN2Y3OSAx
MDA2NDQKLS0tIGEvdGFyZ2V0LXBwYy9oZWxwZXJfcmVncy5oCisrKyBiL3RhcmdldC1wcGMvaGVs
cGVyX3JlZ3MuaApAQCAtNjcsNiArNjcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaHJlZ19jb21w
dXRlX2hmbGFncyhDUFVQUENTdGF0ZSAqZW52KQogc3RhdGljIGlubGluZSBpbnQgaHJlZ19zdG9y
ZV9tc3IoQ1BVUFBDU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nIHZhbHVlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGFsdGVyX2h2KQogeworI2lmICFkZWZpbmVkKENPTkZJ
R19VU0VSX09OTFkpCisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisjZW5k
aWYKICAgICBpbnQgZXhjcDsKIAogICAgIGV4Y3AgPSAwOwpAQCAtODIsNyArODUsNyBAQCBzdGF0
aWMgaW5saW5lIGludCBocmVnX3N0b3JlX21zcihDUFVQUENTdGF0ZSAqZW52LCB0YXJnZXRfdWxv
bmcgdmFsdWUsCiAgICAgICAgIC8qIEZsdXNoIGFsbCB0bGIgd2hlbiBjaGFuZ2luZyB0cmFuc2xh
dGlvbiBtb2RlICovCiAgICAgICAgIHRsYl9mbHVzaChlbnYsIDEpOwogICAgICAgICBleGNwID0g
UE9XRVJQQ19FWENQX05PTkU7Ci0gICAgICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BV
X0lOVEVSUlVQVF9FWElUVEI7CisgICAgICAgIGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BV
X0lOVEVSUlVQVF9FWElUVEI7CiAgICAgfQogICAgIGlmICh1bmxpa2VseSgoZW52LT5mbGFncyAm
IFBPV0VSUENfRkxBR19UR1BSKSAmJgogICAgICAgICAgICAgICAgICAoKHZhbHVlIF4gZW52LT5t
c3IpICYgKDEgPDwgTVNSX1RHUFIpKSkpIHsKQEAgLTk5LDcgKzEwMiw3IEBAIHN0YXRpYyBpbmxp
bmUgaW50IGhyZWdfc3RvcmVfbXNyKENQVVBQQ1N0YXRlICplbnYsIHRhcmdldF91bG9uZyB2YWx1
ZSwKICNpZiAhZGVmaW5lZCAoQ09ORklHX1VTRVJfT05MWSkKICAgICBpZiAodW5saWtlbHkobXNy
X3BvdyA9PSAxKSkgewogICAgICAgICBpZiAoKCplbnYtPmNoZWNrX3BvdykoZW52KSkgewotICAg
ICAgICAgICAgZW52LT5oYWx0ZWQgPSAxOworICAgICAgICAgICAgY3B1LT5oYWx0ZWQgPSAxOwog
ICAgICAgICAgICAgZXhjcCA9IEVYQ1BfSEFMVEVEOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvdGFyZ2V0LXBwYy9rdm0uYyBiL3RhcmdldC1wcGMva3ZtLmMKaW5kZXggMTQ4YzA5NS4u
MTI2YTAxOCAxMDA2NDQKLS0tIGEvdGFyZ2V0LXBwYy9rdm0uYworKysgYi90YXJnZXQtcHBjL2t2
bS5jCkBAIC00NzEsNiArNDcxLDcgQEAgaW50IGt2bXBwY19zZXRfaW50ZXJydXB0KENQVVBQQ1N0
YXRlICplbnYsIGludCBpcnEsIGludCBsZXZlbCkKIAogdm9pZCBrdm1fYXJjaF9wcmVfcnVuKENQ
VVBQQ1N0YXRlICplbnYsIHN0cnVjdCBrdm1fcnVuICpydW4pCiB7CisgICAgQ1BVU3RhdGUgKmNw
dSA9IEVOVl9HRVRfQ1BVKGVudik7CiAgICAgaW50IHI7CiAgICAgdW5zaWduZWQgaXJxOwogCkBA
IC00NzgsNyArNDc5LDcgQEAgdm9pZCBrdm1fYXJjaF9wcmVfcnVuKENQVVBQQ1N0YXRlICplbnYs
IHN0cnVjdCBrdm1fcnVuICpydW4pCiAgICAgICogaW50ZXJydXB0LCByZXNldCwgZXRjKSBpbiBQ
UEMtc3BlY2lmaWMgZW52LT5pcnFfaW5wdXRfc3RhdGUuICovCiAgICAgaWYgKCFjYXBfaW50ZXJy
dXB0X2xldmVsICYmCiAgICAgICAgIHJ1bi0+cmVhZHlfZm9yX2ludGVycnVwdF9pbmplY3Rpb24g
JiYKLSAgICAgICAgKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQp
ICYmCisgICAgICAgIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJE
KSAmJgogICAgICAgICAoZW52LT5pcnFfaW5wdXRfc3RhdGUgJiAoMTw8UFBDX0lOUFVUX0lOVCkp
KQogICAgIHsKICAgICAgICAgLyogRm9yIG5vdyBLVk0gZGlzcmVnYXJkcyB0aGUgJ2lycScgYXJn
dW1lbnQuIEhvd2V2ZXIsIGluIHRoZQpAQCAtNTA4LDEzICs1MDksMTcgQEAgdm9pZCBrdm1fYXJj
aF9wb3N0X3J1bihDUFVQUENTdGF0ZSAqZW52LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogCiBpbnQg
a3ZtX2FyY2hfcHJvY2Vzc19hc3luY19ldmVudHMoQ1BVUFBDU3RhdGUgKmVudikKIHsKLSAgICBy
ZXR1cm4gZW52LT5oYWx0ZWQ7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7
CisKKyAgICByZXR1cm4gY3B1LT5oYWx0ZWQ7CiB9CiAKIHN0YXRpYyBpbnQga3ZtcHBjX2hhbmRs
ZV9oYWx0KENQVVBQQ1N0YXRlICplbnYpCiB7Ci0gICAgaWYgKCEoZW52LT5pbnRlcnJ1cHRfcmVx
dWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYgKG1zcl9lZSkpIHsKLSAgICAgICAgZW52LT5o
YWx0ZWQgPSAxOworICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworCisgICAg
aWYgKCEoY3B1LT5pbnRlcnJ1cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYgKG1z
cl9lZSkpIHsKKyAgICAgICAgY3B1LT5oYWx0ZWQgPSAxOwogICAgICAgICBlbnYtPmV4Y2VwdGlv
bl9pbmRleCA9IEVYQ1BfSExUOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvdGFyZ2V0LXBwYy9vcF9o
ZWxwZXIuYyBiL3RhcmdldC1wcGMvb3BfaGVscGVyLmMKaW5kZXggNGVmMjMzMi4uMGY4ZDNmMCAx
MDA2NDQKLS0tIGEvdGFyZ2V0LXBwYy9vcF9oZWxwZXIuYworKysgYi90YXJnZXQtcHBjL29wX2hl
bHBlci5jCkBAIC0xNTk0LDkgKzE1OTQsMTEgQEAgdm9pZCBoZWxwZXJfZmNtcG8gKHVpbnQ2NF90
IGFyZzEsIHVpbnQ2NF90IGFyZzIsIHVpbnQzMl90IGNyZkQpCiAjaWYgIWRlZmluZWQgKENPTkZJ
R19VU0VSX09OTFkpCiB2b2lkIGhlbHBlcl9zdG9yZV9tc3IgKHRhcmdldF91bG9uZyB2YWwpCiB7
CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisKICAgICB2YWwgPSBocmVn
X3N0b3JlX21zcihlbnYsIHZhbCwgMCk7CiAgICAgaWYgKHZhbCAhPSAwKSB7Ci0gICAgICAgIGVu
di0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9FWElUVEI7CisgICAgICAgIGNw
dS0+aW50ZXJydXB0X3JlcXVlc3QgfD0gQ1BVX0lOVEVSUlVQVF9FWElUVEI7CiAgICAgICAgIGhl
bHBlcl9yYWlzZV9leGNlcHRpb24odmFsKTsKICAgICB9CiB9CkBAIC0xNjA0LDYgKzE2MDYsOCBA
QCB2b2lkIGhlbHBlcl9zdG9yZV9tc3IgKHRhcmdldF91bG9uZyB2YWwpCiBzdGF0aWMgaW5saW5l
IHZvaWQgZG9fcmZpKHRhcmdldF91bG9uZyBuaXAsIHRhcmdldF91bG9uZyBtc3IsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRhcmdldF91bG9uZyBtc3JtLCBpbnQga2VlcF9tc3JoKQogewor
ICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShlbnYpOworCiAjaWYgZGVmaW5lZChUQVJH
RVRfUFBDNjQpCiAgICAgaWYgKG1zciAmICgxVUxMIDw8IE1TUl9TRikpIHsKICAgICAgICAgbmlw
ID0gKHVpbnQ2NF90KW5pcDsKQEAgLTE2MjcsNyArMTYzMSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBkb19yZmkodGFyZ2V0X3Vsb25nIG5pcCwgdGFyZ2V0X3Vsb25nIG1zciwKICAgICAvKiBObyBu
ZWVkIHRvIHJhaXNlIGFuIGV4Y2VwdGlvbiBoZXJlLAogICAgICAqIGFzIHJmaSBpcyBhbHdheXMg
dGhlIGxhc3QgaW5zbiBvZiBhIFRCCiAgICAgICovCi0gICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVz
dCB8PSBDUFVfSU5URVJSVVBUX0VYSVRUQjsKKyAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0IHw9
IENQVV9JTlRFUlJVUFRfRVhJVFRCOwogfQogCiB2b2lkIGhlbHBlcl9yZmkgKHZvaWQpCmRpZmYg
LS1naXQgYS90YXJnZXQtcHBjL3RyYW5zbGF0ZS5jIGIvdGFyZ2V0LXBwYy90cmFuc2xhdGUuYwpp
bmRleCBjZjU5NzY1Li41N2I2M2FjIDEwMDY0NAotLS0gYS90YXJnZXQtcHBjL3RyYW5zbGF0ZS5j
CisrKyBiL3RhcmdldC1wcGMvdHJhbnNsYXRlLmMKQEAgLTMyMTMsNyArMzIxMyw4IEBAIHN0YXRp
YyB2b2lkIGdlbl9zeW5jKERpc2FzQ29udGV4dCAqY3R4KQogc3RhdGljIHZvaWQgZ2VuX3dhaXQo
RGlzYXNDb250ZXh0ICpjdHgpCiB7CiAgICAgVENHdl9pMzIgdDAgPSB0Y2dfdGVtcF9uZXdfaTMy
KCk7Ci0gICAgdGNnX2dlbl9zdF9pMzIodDAsIGNwdV9lbnYsIG9mZnNldG9mKENQVVBQQ1N0YXRl
LCBoYWx0ZWQpKTsKKyAgICB0Y2dfZ2VuX3N0X2kzMih0MCwgY3B1X2Vudiwgb2Zmc2V0b2YoQ1BV
U3RhdGUsIGhhbHRlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gb2Zmc2V0b2Yo
UG93ZXJQQ0NQVSwgZW52KSk7CiAgICAgdGNnX3RlbXBfZnJlZV9pMzIodDApOwogICAgIC8qIFN0
b3AgdHJhbnNsYXRpb24sIGFzIHRoZSBDUFUgaXMgc3VwcG9zZWQgdG8gc2xlZXAgZnJvbSBub3cg
Ki8KICAgICBnZW5fZXhjZXB0aW9uX2VycihjdHgsIEVYQ1BfSExULCAxKTsKZGlmZiAtLWdpdCBh
L3RhcmdldC1zMzkweC9jcHUuaCBiL3RhcmdldC1zMzkweC9jcHUuaAppbmRleCBiZTEzMzQ4Li5l
Y2RhOWU2IDEwMDY0NAotLS0gYS90YXJnZXQtczM5MHgvY3B1LmgKKysrIGIvdGFyZ2V0LXMzOTB4
L2NwdS5oCkBAIC05ODksNyArOTg5LDcgQEAgc3RhdGljIGlubGluZSBib29sIGNwdV9oYXNfd29y
ayhDUFVTdGF0ZSAqY3B1KQogewogICAgIENQVVMzOTBYU3RhdGUgKmVudiA9ICZTMzkwX0NQVShj
cHUpLT5lbnY7CiAKLSAgICByZXR1cm4gKGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5U
RVJSVVBUX0hBUkQpICYmCisgICAgcmV0dXJuIChjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BV
X0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICAoZW52LT5wc3cubWFzayAmIFBTV19NQVNLX0VY
VCk7CiB9CiAKZGlmZiAtLWdpdCBhL3RhcmdldC1zMzkweC9oZWxwZXIuYyBiL3RhcmdldC1zMzkw
eC9oZWxwZXIuYwppbmRleCBkMGExMTgwLi43YmY5NTU0IDEwMDY0NAotLS0gYS90YXJnZXQtczM5
MHgvaGVscGVyLmMKKysrIGIvdGFyZ2V0LXMzOTB4L2hlbHBlci5jCkBAIC00MzgsNiArNDM4LDgg
QEAgdGFyZ2V0X3BoeXNfYWRkcl90IGNwdV9nZXRfcGh5c19wYWdlX2RlYnVnKENQVVMzOTBYU3Rh
dGUgKmVudiwgdGFyZ2V0X3Vsb25nIHZhZGQKIAogdm9pZCBsb2FkX3BzdyhDUFVTMzkwWFN0YXRl
ICplbnYsIHVpbnQ2NF90IG1hc2ssIHVpbnQ2NF90IGFkZHIpCiB7CisgICAgQ1BVU3RhdGUgKmNw
dSA9IEVOVl9HRVRfQ1BVKGVudik7CisKICAgICBpZiAobWFzayAmIFBTV19NQVNLX1dBSVQpIHsK
ICAgICAgICAgaWYgKCEobWFzayAmIChQU1dfTUFTS19JTyB8IFBTV19NQVNLX0VYVCB8IFBTV19N
QVNLX01DSEVDSykpKSB7CiAgICAgICAgICAgICBpZiAoczM5MF9kZWxfcnVubmluZ19jcHUoZW52
KSA9PSAwKSB7CkBAIC00NDYsNyArNDQ4LDcgQEAgdm9pZCBsb2FkX3BzdyhDUFVTMzkwWFN0YXRl
ICplbnYsIHVpbnQ2NF90IG1hc2ssIHVpbnQ2NF90IGFkZHIpCiAjZW5kaWYKICAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgICAgICBlbnYtPmhhbHRlZCA9IDE7CisgICAgICAgIGNwdS0+aGFs
dGVkID0gMTsKICAgICAgICAgZW52LT5leGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKICAgICB9
CiAKQEAgLTU3MSw4ICs1NzMsMTAgQEAgc3RhdGljIHZvaWQgZG9fZXh0X2ludGVycnVwdChDUFVT
MzkwWFN0YXRlICplbnYpCiAgICAgbG9hZF9wc3coZW52LCBtYXNrLCBhZGRyKTsKIH0KIAotdm9p
ZCBkb19pbnRlcnJ1cHQgKENQVVMzOTBYU3RhdGUgKmVudikKK3ZvaWQgZG9faW50ZXJydXB0KENQ
VVMzOTBYU3RhdGUgKmVudikKIHsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52
KTsKKwogICAgIHFlbXVfbG9nKCIlczogJWQgYXQgcGM9JSIgUFJJeDY0ICJcbiIsIF9fRlVOQ1RJ
T05fXywgZW52LT5leGNlcHRpb25faW5kZXgsCiAgICAgICAgICAgICAgZW52LT5wc3cuYWRkcik7
CiAKQEAgLTYxMCw3ICs2MTQsNyBAQCB2b2lkIGRvX2ludGVycnVwdCAoQ1BVUzM5MFhTdGF0ZSAq
ZW52KQogICAgIGVudi0+ZXhjZXB0aW9uX2luZGV4ID0gLTE7CiAKICAgICBpZiAoIWVudi0+cGVu
ZGluZ19pbnQpIHsKLSAgICAgICAgZW52LT5pbnRlcnJ1cHRfcmVxdWVzdCAmPSB+Q1BVX0lOVEVS
UlVQVF9IQVJEOworICAgICAgICBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJS
VVBUX0hBUkQ7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS90YXJnZXQtczM5MHgva3ZtLmMgYi90
YXJnZXQtczM5MHgva3ZtLmMKaW5kZXggZTA5NzA5ZC4uNzIyNTExZSAxMDA2NDQKLS0tIGEvdGFy
Z2V0LXMzOTB4L2t2bS5jCisrKyBiL3RhcmdldC1zMzkweC9rdm0uYwpAQCAtMTcyLDcgKzE3Miw5
IEBAIHZvaWQga3ZtX2FyY2hfcG9zdF9ydW4oQ1BVUzM5MFhTdGF0ZSAqZW52LCBzdHJ1Y3Qga3Zt
X3J1biAqcnVuKQogCiBpbnQga3ZtX2FyY2hfcHJvY2Vzc19hc3luY19ldmVudHMoQ1BVUzM5MFhT
dGF0ZSAqZW52KQogewotICAgIHJldHVybiBlbnYtPmhhbHRlZDsKKyAgICBDUFVTdGF0ZSAqY3B1
ID0gRU5WX0dFVF9DUFUoZW52KTsKKworICAgIHJldHVybiBjcHUtPmhhbHRlZDsKIH0KIAogdm9p
ZCBrdm1fczM5MF9pbnRlcnJ1cHRfaW50ZXJuYWwoQ1BVUzM5MFhTdGF0ZSAqZW52LCBpbnQgdHlw
ZSwgdWludDMyX3QgcGFybSwKZGlmZiAtLWdpdCBhL3RhcmdldC1zaDQvY3B1LmggYi90YXJnZXQt
c2g0L2NwdS5oCmluZGV4IGZkNmZiODYuLmJhNjY0NzkgMTAwNjQ0Ci0tLSBhL3RhcmdldC1zaDQv
Y3B1LmgKKysrIGIvdGFyZ2V0LXNoNC9jcHUuaApAQCAtMzczLDkgKzM3Myw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBjcHVfZ2V0X3RiX2NwdV9zdGF0ZShDUFVTSDRTdGF0ZSAqZW52LCB0YXJnZXRf
dWxvbmcgKnBjLAogCiBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hhc193b3JrKENQVVN0YXRlICpj
cHUpCiB7Ci0gICAgQ1BVU0g0U3RhdGUgKmVudiA9ICZTVVBFUkhfQ1BVKGNwdSktPmVudjsKLQot
ICAgIHJldHVybiBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOwor
ICAgIHJldHVybiBjcHUtPmludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEOwog
fQogCiAjaW5jbHVkZSAiZXhlYy1hbGwuaCIKZGlmZiAtLWdpdCBhL3RhcmdldC1zaDQvaGVscGVy
LmMgYi90YXJnZXQtc2g0L2hlbHBlci5jCmluZGV4IDVjNTczODAuLmZlMzA2M2QgMTAwNjQ0Ci0t
LSBhL3RhcmdldC1zaDQvaGVscGVyLmMKKysrIGIvdGFyZ2V0LXNoNC9oZWxwZXIuYwpAQCAtNzgs
OSArNzgsMTAgQEAgaW50IGNwdV9zaDRfaXNfY2FjaGVkKENQVVNINFN0YXRlICogZW52LCB0YXJn
ZXRfdWxvbmcgYWRkcikKICNkZWZpbmUgTU1VX0RBRERSX0VSUk9SX1JFQUQgICAgICgtMTIpCiAj
ZGVmaW5lIE1NVV9EQUREUl9FUlJPUl9XUklURSAgICAoLTEzKQogCi12b2lkIGRvX2ludGVycnVw
dChDUFVTSDRTdGF0ZSAqIGVudikKK3ZvaWQgZG9faW50ZXJydXB0KENQVVNINFN0YXRlICplbnYp
CiB7Ci0gICAgaW50IGRvX2lycSA9IGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJS
VVBUX0hBUkQ7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisgICAgaW50
IGRvX2lycSA9IGNwdS0+aW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQ7CiAg
ICAgaW50IGRvX2V4cCwgaXJxX3ZlY3RvciA9IGVudi0+ZXhjZXB0aW9uX2luZGV4OwogCiAgICAg
LyogcHJpb3JpdGl6ZSBleGNlcHRpb25zIG92ZXIgaW50ZXJydXB0cyAqLwpkaWZmIC0tZ2l0IGEv
dGFyZ2V0LXNoNC9vcF9oZWxwZXIuYyBiL3RhcmdldC1zaDQvb3BfaGVscGVyLmMKaW5kZXggNDA1
NDc5MS4uNDIyNjY3MSAxMDA2NDQKLS0tIGEvdGFyZ2V0LXNoNC9vcF9oZWxwZXIuYworKysgYi90
YXJnZXQtc2g0L29wX2hlbHBlci5jCkBAIC0xMTcsNyArMTE3LDkgQEAgdm9pZCBoZWxwZXJfZGVi
dWcodm9pZCkKIAogdm9pZCBoZWxwZXJfc2xlZXAodWludDMyX3QgbmV4dF9wYykKIHsKLSAgICBl
bnYtPmhhbHRlZCA9IDE7CisgICAgQ1BVU3RhdGUgKmNwdSA9IEVOVl9HRVRfQ1BVKGVudik7CisK
KyAgICBjcHUtPmhhbHRlZCA9IDE7CiAgICAgZW52LT5pbl9zbGVlcCA9IDE7CiAgICAgZW52LT5l
eGNlcHRpb25faW5kZXggPSBFWENQX0hMVDsKICAgICBlbnYtPnBjID0gbmV4dF9wYzsKZGlmZiAt
LWdpdCBhL3RhcmdldC1zcGFyYy9jcHUuaCBiL3RhcmdldC1zcGFyYy9jcHUuaAppbmRleCBlM2Iz
YjQ0Li4zMWNkOWY2IDEwMDY0NAotLS0gYS90YXJnZXQtc3BhcmMvY3B1LmgKKysrIGIvdGFyZ2V0
LXNwYXJjL2NwdS5oCkBAIC03NjcsNyArNzY3LDcgQEAgc3RhdGljIGlubGluZSBib29sIGNwdV9o
YXNfd29yayhDUFVTdGF0ZSAqY3B1KQogewogICAgIENQVVNQQVJDU3RhdGUgKmVudjEgPSAmU1BB
UkNfQ1BVKGNwdSktPmVudjsKIAotICAgIHJldHVybiAoZW52MS0+aW50ZXJydXB0X3JlcXVlc3Qg
JiBDUFVfSU5URVJSVVBUX0hBUkQpICYmCisgICAgcmV0dXJuIChjcHUtPmludGVycnVwdF9yZXF1
ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgogICAgICAgICAgICBjcHVfaW50ZXJydXB0c19l
bmFibGVkKGVudjEpOwogfQogCmRpZmYgLS1naXQgYS90YXJnZXQtdW5pY29yZTMyL2NwdS5oIGIv
dGFyZ2V0LXVuaWNvcmUzMi9jcHUuaAppbmRleCAyODQzYTk3Li40ODQzMWNkIDEwMDY0NAotLS0g
YS90YXJnZXQtdW5pY29yZTMyL2NwdS5oCisrKyBiL3RhcmdldC11bmljb3JlMzIvY3B1LmgKQEAg
LTE4NSw5ICsxODUsNyBAQCB2b2lkIHN3aXRjaF9tb2RlKENQVVVuaUNvcmUzMlN0YXRlICosIGlu
dCk7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBjcHVfaGFzX3dvcmsoQ1BVU3RhdGUgKmNwdSkKIHsK
LSAgICBDUFVVbmlDb3JlMzJTdGF0ZSAqZW52ID0gJlVOSUNPUkUzMl9DUFUoY3B1KS0+ZW52Owot
Ci0gICAgcmV0dXJuIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJgorICAgIHJldHVybiBjcHUtPmlu
dGVycnVwdF9yZXF1ZXN0ICYKICAgICAgICAgKENQVV9JTlRFUlJVUFRfSEFSRCB8IENQVV9JTlRF
UlJVUFRfRVhJVFRCKTsKIH0KIApkaWZmIC0tZ2l0IGEvdGFyZ2V0LXh0ZW5zYS9vcF9oZWxwZXIu
YyBiL3RhcmdldC14dGVuc2Evb3BfaGVscGVyLmMKaW5kZXggMzY0ZGMxOS4uOGViMDJhNSAxMDA2
NDQKLS0tIGEvdGFyZ2V0LXh0ZW5zYS9vcF9oZWxwZXIuYworKysgYi90YXJnZXQteHRlbnNhL29w
X2hlbHBlci5jCkBAIC0zOTAsNiArMzkwLDggQEAgdm9pZCBIRUxQRVIoZHVtcF9zdGF0ZSkodm9p
ZCkKIAogdm9pZCBIRUxQRVIod2FpdGkpKHVpbnQzMl90IHBjLCB1aW50MzJfdCBpbnRsZXZlbCkK
IHsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gRU5WX0dFVF9DUFUoZW52KTsKKwogICAgIGVudi0+cGMg
PSBwYzsKICAgICBlbnYtPnNyZWdzW1BTXSA9IChlbnYtPnNyZWdzW1BTXSAmIH5QU19JTlRMRVZF
TCkgfAogICAgICAgICAoaW50bGV2ZWwgPDwgUFNfSU5UTEVWRUxfU0hJRlQpOwpAQCAtNDAwLDcg
KzQwMiw3IEBAIHZvaWQgSEVMUEVSKHdhaXRpKSh1aW50MzJfdCBwYywgdWludDMyX3QgaW50bGV2
ZWwpCiAgICAgfQogCiAgICAgZW52LT5oYWx0X2Nsb2NrID0gcWVtdV9nZXRfY2xvY2tfbnModm1f
Y2xvY2spOwotICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICBjcHUtPmhhbHRlZCA9IDE7CiAgICAg
aWYgKHh0ZW5zYV9vcHRpb25fZW5hYmxlZChlbnYtPmNvbmZpZywgWFRFTlNBX09QVElPTl9USU1F
Ul9JTlRFUlJVUFQpKSB7CiAgICAgICAgIHh0ZW5zYV9yZWFybV9jY29tcGFyZV90aW1lcihlbnYp
OwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi1hbGwuYyBiL3hlbi1hbGwuYwppbmRleCBiZGY5YzBm
Li4zM2ViYjcyIDEwMDY0NAotLS0gYS94ZW4tYWxsLmMKKysrIGIveGVuLWFsbC5jCkBAIC01OTAs
OSArNTkwLDkgQEAgc3RhdGljIE1lbW9yeUxpc3RlbmVyIHhlbl9tZW1vcnlfbGlzdGVuZXIgPSB7
CiAKIHN0YXRpYyB2b2lkIHhlbl9yZXNldF92Y3B1KHZvaWQgKm9wYXF1ZSkKIHsKLSAgICBDUFVB
cmNoU3RhdGUgKmVudiA9IG9wYXF1ZTsKKyAgICBDUFVTdGF0ZSAqY3B1ID0gb3BhcXVlOwogCi0g
ICAgZW52LT5oYWx0ZWQgPSAxOworICAgIGNwdS0+aGFsdGVkID0gMTsKIH0KIAogdm9pZCB4ZW5f
dmNwdV9pbml0KHZvaWQpCkBAIC02MDAsOCArNjAwLDEwIEBAIHZvaWQgeGVuX3ZjcHVfaW5pdCh2
b2lkKQogICAgIENQVUFyY2hTdGF0ZSAqZmlyc3RfY3B1OwogCiAgICAgaWYgKChmaXJzdF9jcHUg
PSBxZW11X2dldF9jcHUoMCkpKSB7Ci0gICAgICAgIHFlbXVfcmVnaXN0ZXJfcmVzZXQoeGVuX3Jl
c2V0X3ZjcHUsIGZpcnN0X2NwdSk7Ci0gICAgICAgIHhlbl9yZXNldF92Y3B1KGZpcnN0X2NwdSk7
CisgICAgICAgIENQVVN0YXRlICpjcHUgPSBFTlZfR0VUX0NQVShmaXJzdF9jcHUpOworCisgICAg
ICAgIHFlbXVfcmVnaXN0ZXJfcmVzZXQoeGVuX3Jlc2V0X3ZjcHUsIGNwdSk7CisgICAgICAgIHhl
bl9yZXNldF92Y3B1KGNwdSk7CiAgICAgfQogfQogCi0tIAoxLjcuNwoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK
WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 03:09:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 03:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX1x2-0002OQ-44; Wed, 23 May 2012 03:09:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <afaerber@suse.de>) id 1SX1x0-0002OL-SS
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 03:09:26 +0000
Received: from [85.158.143.99:35153] by server-1.bemta-4.messagelabs.com id
	9E/35-00342-6E45CBF4; Wed, 23 May 2012 03:09:26 +0000
X-Env-Sender: afaerber@suse.de
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337742564!29295223!1
X-Originating-IP: [195.135.220.15]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5557 invoked from network); 23 May 2012 03:09:25 -0000
Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 03:09:25 -0000
Received: from relay2.suse.de (unknown [195.135.220.254])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx2.suse.de (Postfix) with ESMTP id 88DC6979ED;
	Wed, 23 May 2012 05:09:24 +0200 (CEST)
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
To: qemu-devel@nongnu.org
Date: Wed, 23 May 2012 05:08:21 +0200
Message-Id: <1337742502-28565-59-git-send-email-afaerber@suse.de>
X-Mailer: git-send-email 1.7.7
In-Reply-To: <1337742502-28565-1-git-send-email-afaerber@suse.de>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
MIME-Version: 1.0
Cc: "open list:X86" <xen-devel@lists.xensource.com>,
	=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH qom-next 58/59] xen_machine_pv: Use
	cpu_x86_init() to obtain X86CPU
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

TmVlZGVkIGZvciBtb3ZpbmcgaGFsdGVkIGZpZWxkIHRvIENQVVN0YXRlLgoKU2lnbmVkLW9mZi1i
eTogQW5kcmVhcyBGw6RyYmVyIDxhZmFlcmJlckBzdXNlLmRlPgotLS0KIGh3L3hlbl9tYWNoaW5l
X3B2LmMgfCAgICA0ICsrKy0KIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3L3hlbl9tYWNoaW5lX3B2LmMgYi9ody94ZW5fbWFj
aGluZV9wdi5jCmluZGV4IDdlZWU3NzAuLjRiNzJhYTcgMTAwNjQ0Ci0tLSBhL2h3L3hlbl9tYWNo
aW5lX3B2LmMKKysrIGIvaHcveGVuX21hY2hpbmVfcHYuYwpAQCAtMzYsNiArMzYsNyBAQCBzdGF0
aWMgdm9pZCB4ZW5faW5pdF9wdihyYW1fYWRkcl90IHJhbV9zaXplLAogCQkJY29uc3QgY2hhciAq
aW5pdHJkX2ZpbGVuYW1lLAogCQkJY29uc3QgY2hhciAqY3B1X21vZGVsKQogeworICAgIFg4NkNQ
VSAqY3B1OwogICAgIENQVVg4NlN0YXRlICplbnY7CiAgICAgRHJpdmVJbmZvICpkaW5mbzsKICAg
ICBpbnQgaTsKQEAgLTQ4LDcgKzQ5LDggQEAgc3RhdGljIHZvaWQgeGVuX2luaXRfcHYocmFtX2Fk
ZHJfdCByYW1fc2l6ZSwKICAgICAgICAgY3B1X21vZGVsID0gInFlbXUzMiI7CiAjZW5kaWYKICAg
ICB9Ci0gICAgZW52ID0gY3B1X2luaXQoY3B1X21vZGVsKTsKKyAgICBjcHUgPSBjcHVfeDg2X2lu
aXQoY3B1X21vZGVsKTsKKyAgICBlbnYgPSAmY3B1LT5lbnY7CiAgICAgZW52LT5oYWx0ZWQgPSAx
OwogCiAgICAgLyogSW5pdGlhbGl6ZSBiYWNrZW5kIGNvcmUgJiBkcml2ZXJzICovCi0tIAoxLjcu
NwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k
ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl
bi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 03:09:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 03:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX1x2-0002OQ-44; Wed, 23 May 2012 03:09:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <afaerber@suse.de>) id 1SX1x0-0002OL-SS
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 03:09:26 +0000
Received: from [85.158.143.99:35153] by server-1.bemta-4.messagelabs.com id
	9E/35-00342-6E45CBF4; Wed, 23 May 2012 03:09:26 +0000
X-Env-Sender: afaerber@suse.de
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337742564!29295223!1
X-Originating-IP: [195.135.220.15]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5557 invoked from network); 23 May 2012 03:09:25 -0000
Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 03:09:25 -0000
Received: from relay2.suse.de (unknown [195.135.220.254])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx2.suse.de (Postfix) with ESMTP id 88DC6979ED;
	Wed, 23 May 2012 05:09:24 +0200 (CEST)
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
To: qemu-devel@nongnu.org
Date: Wed, 23 May 2012 05:08:21 +0200
Message-Id: <1337742502-28565-59-git-send-email-afaerber@suse.de>
X-Mailer: git-send-email 1.7.7
In-Reply-To: <1337742502-28565-1-git-send-email-afaerber@suse.de>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
MIME-Version: 1.0
Cc: "open list:X86" <xen-devel@lists.xensource.com>,
	=?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH qom-next 58/59] xen_machine_pv: Use
	cpu_x86_init() to obtain X86CPU
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

TmVlZGVkIGZvciBtb3ZpbmcgaGFsdGVkIGZpZWxkIHRvIENQVVN0YXRlLgoKU2lnbmVkLW9mZi1i
eTogQW5kcmVhcyBGw6RyYmVyIDxhZmFlcmJlckBzdXNlLmRlPgotLS0KIGh3L3hlbl9tYWNoaW5l
X3B2LmMgfCAgICA0ICsrKy0KIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3L3hlbl9tYWNoaW5lX3B2LmMgYi9ody94ZW5fbWFj
aGluZV9wdi5jCmluZGV4IDdlZWU3NzAuLjRiNzJhYTcgMTAwNjQ0Ci0tLSBhL2h3L3hlbl9tYWNo
aW5lX3B2LmMKKysrIGIvaHcveGVuX21hY2hpbmVfcHYuYwpAQCAtMzYsNiArMzYsNyBAQCBzdGF0
aWMgdm9pZCB4ZW5faW5pdF9wdihyYW1fYWRkcl90IHJhbV9zaXplLAogCQkJY29uc3QgY2hhciAq
aW5pdHJkX2ZpbGVuYW1lLAogCQkJY29uc3QgY2hhciAqY3B1X21vZGVsKQogeworICAgIFg4NkNQ
VSAqY3B1OwogICAgIENQVVg4NlN0YXRlICplbnY7CiAgICAgRHJpdmVJbmZvICpkaW5mbzsKICAg
ICBpbnQgaTsKQEAgLTQ4LDcgKzQ5LDggQEAgc3RhdGljIHZvaWQgeGVuX2luaXRfcHYocmFtX2Fk
ZHJfdCByYW1fc2l6ZSwKICAgICAgICAgY3B1X21vZGVsID0gInFlbXUzMiI7CiAjZW5kaWYKICAg
ICB9Ci0gICAgZW52ID0gY3B1X2luaXQoY3B1X21vZGVsKTsKKyAgICBjcHUgPSBjcHVfeDg2X2lu
aXQoY3B1X21vZGVsKTsKKyAgICBlbnYgPSAmY3B1LT5lbnY7CiAgICAgZW52LT5oYWx0ZWQgPSAx
OwogCiAgICAgLyogSW5pdGlhbGl6ZSBiYWNrZW5kIGNvcmUgJiBkcml2ZXJzICovCi0tIAoxLjcu
NwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k
ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl
bi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 04:39:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 04:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX3Ln-0002x0-LY; Wed, 23 May 2012 04:39:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX3Lm-0002wv-FB
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 04:39:06 +0000
Received: from [85.158.139.83:10083] by server-6.bemta-5.messagelabs.com id
	CD/00-11144-9E96CBF4; Wed, 23 May 2012 04:39:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337747944!25568804!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21137 invoked from network); 23 May 2012 04:39:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 04:39:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,641,1330905600"; d="scan'208";a="12615851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 04:38:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 05:38:50 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SX3LV-0004BP-Sg;
	Wed, 23 May 2012 04:38:49 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SX3LV-0006C2-ON;
	Wed, 23 May 2012 05:38:49 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12958-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 05:38:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12958: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12958 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12958/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12956

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 11 guest-localmigrate        fail REGR. vs. 12956
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12956

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  6dc80df50fa8
baseline version:
 xen                  ab86fc0e2b45

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 04:39:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 04:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX3Ln-0002x0-LY; Wed, 23 May 2012 04:39:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX3Lm-0002wv-FB
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 04:39:06 +0000
Received: from [85.158.139.83:10083] by server-6.bemta-5.messagelabs.com id
	CD/00-11144-9E96CBF4; Wed, 23 May 2012 04:39:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337747944!25568804!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21137 invoked from network); 23 May 2012 04:39:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 04:39:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,641,1330905600"; d="scan'208";a="12615851"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 04:38:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 05:38:50 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SX3LV-0004BP-Sg;
	Wed, 23 May 2012 04:38:49 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SX3LV-0006C2-ON;
	Wed, 23 May 2012 05:38:49 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12958-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 05:38:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12958: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12958 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12958/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install      fail REGR. vs. 12956

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 11 guest-localmigrate        fail REGR. vs. 12956
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12956

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2          fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  6dc80df50fa8
baseline version:
 xen                  ab86fc0e2b45

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 05:35:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 05:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX4DR-0003b7-Iu; Wed, 23 May 2012 05:34:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX4DP-0003b1-D5
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 05:34:31 +0000
Received: from [85.158.143.35:49091] by server-2.bemta-4.messagelabs.com id
	85/81-12211-6E67CBF4; Wed, 23 May 2012 05:34:30 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337751268!14501192!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjMzNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7383 invoked from network); 23 May 2012 05:34:29 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 05:34:29 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=OZHgGSrBqhsLtZsOWAADF7ni0dZI5jnann3jfy0+hky6nqyG/Qv48I9K
	HjAO/rnKlv29p+pNCPLO6Xf+t8+yOfi7VS1FGCMVuh4kncrHBSfFgPBaF
	nX8Zpkoahjzp3Yp3/tEXf6RNvKBXxYGPB8N/JXPhbFfp0AgmaIVN1e+4h
	7V/LSQGndgURE6sRGyuvMQ3QqzP9P5qEM2h0p1+wB8k3GiWF/9R2W0utK
	6/z+ulLYi1eADXb16Q0saoZrmGrUW;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337751269; x=1369287269;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=mnSNJpKbFK/Qjlz+UueWWVILSzj+h53u9AOnV8W/Tzs=;
	b=iQxeThZrvOwmiKm5w9aa0ourYVQ/OXG0czcN8a5M4OUFcnKJYHAbp/3h
	EegQSCc5jm6v/x4zD6CLLDukq3f27gfkYfaJYDc/SHHRLCkqAE6oaXHqY
	k8oTc+JGnuS0l1Pb5gYOIwfRxL2OvCHRh/bloYz8q/fhMX4qbccJ73Hsf
	dBvv7Hcpmc+QuLJCALNmbSP7azqxLCJu2+xrOgsEEpMo5rUpnjo8lq1gW
	c8yhJL9ARxkU26b0Ic2GBSQQ55VeE;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,643,1330902000"; d="scan'208";a="94143691"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate20u.abg.fsc.net with ESMTP; 23 May 2012 07:34:27 +0200
X-IronPort-AV: E=Sophos;i="4.75,641,1330902000"; d="scan'208";a="134546418"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 23 May 2012 07:34:27 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 6D998959A63;
	Wed, 23 May 2012 07:34:27 +0200 (CEST)
Message-ID: <4FBC76E3.5020602@ts.fujitsu.com>
Date: Wed, 23 May 2012 07:34:27 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace>
In-Reply-To: <1337730401.27368.38.camel@Solace>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 01:46 AM, Dario Faggioli wrote:
> On Tue, 2012-05-22 at 15:59 +0100, Ian Campbell wrote:
>> Like the below. Lightly tested with the credit scheduler.
>>
>> I think CAP is the only one for which 0 is a real valid value, but I'm
>> not sure (especially with the SEDF ones which didn't have existing
>> limits checks in the set function I could crib from...).
>>
> Yep, that's because they're mostly time values. xen/common/sched_sedf.c
> hosts some ranges for some of them, but I'm not sure we want to
> propagate those:
>
> #define PERIOD_MAX MILLISECS(10000) /* 10s  */
> #define PERIOD_MIN (MICROSECS(10))  /* 10us */
> #define SLICE_MIN (MICROSECS(5))    /*  5us */

I think this should remain in the hypervisor only.

> Also, extratime is a flag, so I think 0 and 1 are both meaningful
> values, maybe we can go for -1 as for cap (I'll try and let you know).

Why not -1 for all values?

>> I'm pretty sure that libxl__sched_set_params needs to get the correct
>> scheduler for the particular domain, but I've no idea how to get that...
>>
> Again, I was thinking something like what Juergen did here could help
> (go getting the scheduler of the cpupool the domain belongs to)... O am
> I misunderstanding the issue?
>
> +    poolinfo = libxl_list_cpupool(ctx,&n_pools);
> +    if (!poolinfo)
> +        return ERROR_NOMEM;
> +
> +    ret = ERROR_INVAL;
> +    for (p = 0; p<  n_pools; p++) {
> +        if (poolinfo[p].poolid == poolid) {
> +            scparams->sched = poolinfo[p].sched;
> +            ret = 0;
> +        }
> +        libxl_cpupoolinfo_dispose(poolinfo + p);
> +    }
> +

This was exactly the purpose of the sniplet.

>> 8<---------------------------
>>
>> # HG changeset patch
>> # User Ian Campbell<ian.campbell@citrix.com>
>> # Date 1337698727 -3600
>> # Node ID 355030f95eb313605a0e43aa7328e731b28a28b3
>> # Parent  426bbf58cea4559464b6e5d3ff0f65324a5f5926
>> libxl: make it possible to explicitly specify default sched params
>>
>> To do so we define a descriminating value which is never a valid real value for
>> each parameter.
>>
>> While there:
>>
>>   - remove tslice_ms and ratelimit_us from libxl_sched_params and from the xl
>>     domain config parser. These are global scheduler properties, not per-domain
>>     ones (and were never read in any case).
>>   - removed libxl_sched_*_domain in favour of libxl_sched_params.
>>   - rename libxl_sched_params to libxl_sched_domain_params for clarity.
>>   - use this new functionality for the various xl commands which set sched
>>     parameters, which saves an explicit read-modify-write in xl.
>>   - removed call of xc_domain_getinfolist from a few functions which weren't
>>     actually using the result (looks like a cut and paste error)
>>   - fix xl which was setting period for a variety of different config keys.
>>
>> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
>>
>> diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.c
>> --- a/tools/libxl/libxl.c	Tue May 22 14:19:07 2012 +0100
>> +++ b/tools/libxl/libxl.c	Tue May 22 15:58:47 2012 +0100
>> @@ -3168,19 +3168,19 @@ libxl_scheduler libxl_get_scheduler(libx
>>   }
>>
> <snip>
>>
>>   int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
>> -                                libxl_sched_sedf_domain *scinfo)
>> +                                libxl_sched_domain_params *scinfo)
>>   {
>> -    xc_domaininfo_t domaininfo;
>> -    int rc;
>> -
>> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
>> -    if (rc<  0) {
>> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
>> +    uint64_t period;
>> +    uint64_t slice;
>> +    uint64_t latency;
>> +    uint16_t extratime;
>> +    uint16_t weight;
>> +
>> +    int ret;
>> +
>> +    ret = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
>> +&extratime,&weight);
>> +    if (ret != 0) {
>> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
>>           return ERROR_FAIL;
>>       }
>> -    if (rc != 1 || domaininfo.domain != domid)
>> -        return ERROR_INVAL;
>> -
>> -
>> -    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
>> -                            scinfo->slice * 1000000, scinfo->latency * 1000000,
>> -                            scinfo->extratime, scinfo->weight);
>> -    if ( rc<  0 ) {
>> +
>> +    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
>> +        period = scinfo->period * 1000000;
>> +    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
>> +        period = scinfo->slice * 1000000;
>> +    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
>> +        period = scinfo->latency * 1000000;
>> +    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
>> +        period = scinfo->extratime;
>> +    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
>> +        period = scinfo->weight;
>> +
>> +    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
>> +                            extratime, weight);
>> +    if ( ret<  0 ) {
>>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
>>           return ERROR_FAIL;
>>       }
>>
> # xl create vm1.cfg
> Parsing config from vm1.cfg
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
>
> And I'm getting the above independently on what I put in the config file
> (valid params, no params at all, etc.). I also can't change the
> scheduling parameters of a domain on-line anymore:
>
> # xl sched-sedf -d 3 -p 100 -s 50
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> libxl_sched_sedf_domain_set failed.
>
> I'll try digging a bit more into this ASAP.

It's easy: Ian repeated an error he (and I) corrected elsewhere:
He's always setting period, regardless of the changed parameter...

> On more thing, are we ok with the _set command failing and he domain
> being created anyway? Or perhaps the whole process should just abort?

Perhaps a warning might be okay.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 05:35:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 05:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX4DR-0003b7-Iu; Wed, 23 May 2012 05:34:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX4DP-0003b1-D5
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 05:34:31 +0000
Received: from [85.158.143.35:49091] by server-2.bemta-4.messagelabs.com id
	85/81-12211-6E67CBF4; Wed, 23 May 2012 05:34:30 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337751268!14501192!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjMzNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7383 invoked from network); 23 May 2012 05:34:29 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 05:34:29 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=OZHgGSrBqhsLtZsOWAADF7ni0dZI5jnann3jfy0+hky6nqyG/Qv48I9K
	HjAO/rnKlv29p+pNCPLO6Xf+t8+yOfi7VS1FGCMVuh4kncrHBSfFgPBaF
	nX8Zpkoahjzp3Yp3/tEXf6RNvKBXxYGPB8N/JXPhbFfp0AgmaIVN1e+4h
	7V/LSQGndgURE6sRGyuvMQ3QqzP9P5qEM2h0p1+wB8k3GiWF/9R2W0utK
	6/z+ulLYi1eADXb16Q0saoZrmGrUW;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337751269; x=1369287269;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=mnSNJpKbFK/Qjlz+UueWWVILSzj+h53u9AOnV8W/Tzs=;
	b=iQxeThZrvOwmiKm5w9aa0ourYVQ/OXG0czcN8a5M4OUFcnKJYHAbp/3h
	EegQSCc5jm6v/x4zD6CLLDukq3f27gfkYfaJYDc/SHHRLCkqAE6oaXHqY
	k8oTc+JGnuS0l1Pb5gYOIwfRxL2OvCHRh/bloYz8q/fhMX4qbccJ73Hsf
	dBvv7Hcpmc+QuLJCALNmbSP7azqxLCJu2+xrOgsEEpMo5rUpnjo8lq1gW
	c8yhJL9ARxkU26b0Ic2GBSQQ55VeE;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,643,1330902000"; d="scan'208";a="94143691"
Received: from abgdgate30u.abg.fsc.net ([172.25.138.66])
	by dgate20u.abg.fsc.net with ESMTP; 23 May 2012 07:34:27 +0200
X-IronPort-AV: E=Sophos;i="4.75,641,1330902000"; d="scan'208";a="134546418"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate30u.abg.fsc.net with ESMTP; 23 May 2012 07:34:27 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 6D998959A63;
	Wed, 23 May 2012 07:34:27 +0200 (CEST)
Message-ID: <4FBC76E3.5020602@ts.fujitsu.com>
Date: Wed, 23 May 2012 07:34:27 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace>
In-Reply-To: <1337730401.27368.38.camel@Solace>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 01:46 AM, Dario Faggioli wrote:
> On Tue, 2012-05-22 at 15:59 +0100, Ian Campbell wrote:
>> Like the below. Lightly tested with the credit scheduler.
>>
>> I think CAP is the only one for which 0 is a real valid value, but I'm
>> not sure (especially with the SEDF ones which didn't have existing
>> limits checks in the set function I could crib from...).
>>
> Yep, that's because they're mostly time values. xen/common/sched_sedf.c
> hosts some ranges for some of them, but I'm not sure we want to
> propagate those:
>
> #define PERIOD_MAX MILLISECS(10000) /* 10s  */
> #define PERIOD_MIN (MICROSECS(10))  /* 10us */
> #define SLICE_MIN (MICROSECS(5))    /*  5us */

I think this should remain in the hypervisor only.

> Also, extratime is a flag, so I think 0 and 1 are both meaningful
> values, maybe we can go for -1 as for cap (I'll try and let you know).

Why not -1 for all values?

>> I'm pretty sure that libxl__sched_set_params needs to get the correct
>> scheduler for the particular domain, but I've no idea how to get that...
>>
> Again, I was thinking something like what Juergen did here could help
> (go getting the scheduler of the cpupool the domain belongs to)... O am
> I misunderstanding the issue?
>
> +    poolinfo = libxl_list_cpupool(ctx,&n_pools);
> +    if (!poolinfo)
> +        return ERROR_NOMEM;
> +
> +    ret = ERROR_INVAL;
> +    for (p = 0; p<  n_pools; p++) {
> +        if (poolinfo[p].poolid == poolid) {
> +            scparams->sched = poolinfo[p].sched;
> +            ret = 0;
> +        }
> +        libxl_cpupoolinfo_dispose(poolinfo + p);
> +    }
> +

This was exactly the purpose of the sniplet.

>> 8<---------------------------
>>
>> # HG changeset patch
>> # User Ian Campbell<ian.campbell@citrix.com>
>> # Date 1337698727 -3600
>> # Node ID 355030f95eb313605a0e43aa7328e731b28a28b3
>> # Parent  426bbf58cea4559464b6e5d3ff0f65324a5f5926
>> libxl: make it possible to explicitly specify default sched params
>>
>> To do so we define a descriminating value which is never a valid real value for
>> each parameter.
>>
>> While there:
>>
>>   - remove tslice_ms and ratelimit_us from libxl_sched_params and from the xl
>>     domain config parser. These are global scheduler properties, not per-domain
>>     ones (and were never read in any case).
>>   - removed libxl_sched_*_domain in favour of libxl_sched_params.
>>   - rename libxl_sched_params to libxl_sched_domain_params for clarity.
>>   - use this new functionality for the various xl commands which set sched
>>     parameters, which saves an explicit read-modify-write in xl.
>>   - removed call of xc_domain_getinfolist from a few functions which weren't
>>     actually using the result (looks like a cut and paste error)
>>   - fix xl which was setting period for a variety of different config keys.
>>
>> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
>>
>> diff -r 426bbf58cea4 -r 355030f95eb3 tools/libxl/libxl.c
>> --- a/tools/libxl/libxl.c	Tue May 22 14:19:07 2012 +0100
>> +++ b/tools/libxl/libxl.c	Tue May 22 15:58:47 2012 +0100
>> @@ -3168,19 +3168,19 @@ libxl_scheduler libxl_get_scheduler(libx
>>   }
>>
> <snip>
>>
>>   int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
>> -                                libxl_sched_sedf_domain *scinfo)
>> +                                libxl_sched_domain_params *scinfo)
>>   {
>> -    xc_domaininfo_t domaininfo;
>> -    int rc;
>> -
>> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
>> -    if (rc<  0) {
>> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
>> +    uint64_t period;
>> +    uint64_t slice;
>> +    uint64_t latency;
>> +    uint16_t extratime;
>> +    uint16_t weight;
>> +
>> +    int ret;
>> +
>> +    ret = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
>> +&extratime,&weight);
>> +    if (ret != 0) {
>> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
>>           return ERROR_FAIL;
>>       }
>> -    if (rc != 1 || domaininfo.domain != domid)
>> -        return ERROR_INVAL;
>> -
>> -
>> -    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
>> -                            scinfo->slice * 1000000, scinfo->latency * 1000000,
>> -                            scinfo->extratime, scinfo->weight);
>> -    if ( rc<  0 ) {
>> +
>> +    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
>> +        period = scinfo->period * 1000000;
>> +    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
>> +        period = scinfo->slice * 1000000;
>> +    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
>> +        period = scinfo->latency * 1000000;
>> +    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
>> +        period = scinfo->extratime;
>> +    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
>> +        period = scinfo->weight;
>> +
>> +    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
>> +                            extratime, weight);
>> +    if ( ret<  0 ) {
>>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
>>           return ERROR_FAIL;
>>       }
>>
> # xl create vm1.cfg
> Parsing config from vm1.cfg
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
>
> And I'm getting the above independently on what I put in the config file
> (valid params, no params at all, etc.). I also can't change the
> scheduling parameters of a domain on-line anymore:
>
> # xl sched-sedf -d 3 -p 100 -s 50
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> libxl_sched_sedf_domain_set failed.
>
> I'll try digging a bit more into this ASAP.

It's easy: Ian repeated an error he (and I) corrected elsewhere:
He's always setting period, regardless of the changed parameter...

> On more thing, are we ok with the _set command failing and he domain
> being created anyway? Or perhaps the whole process should just abort?

Perhaps a warning might be okay.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 06:02:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 06:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX4dP-00043A-Jw; Wed, 23 May 2012 06:01:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SX4dO-000434-DT
	for xen-devel@lists.xen.org; Wed, 23 May 2012 06:01:22 +0000
Received: from [193.109.254.147:19117] by server-1.bemta-14.messagelabs.com id
	AF/8B-29372-13D7CBF4; Wed, 23 May 2012 06:01:21 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337752878!3876214!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31239 invoked from network); 23 May 2012 06:01:19 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 06:01:19 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 5B92D10218A2C
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 23:01:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id 2o0Htnwc-NiR for <xen-devel@lists.xen.org>;
	Tue, 22 May 2012 23:01:15 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id 7F52710218A2B
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 23:01:15 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
Resent-From: Sam Mulvey <sam@tacomatelematics.com>
Date: Sat, 19 May 2012 13:00:59 -0700
Resent-Date: Tue, 22 May 2012 23:01:15 -0700
Resent-To: xen-devel@lists.xen.org
Message-Id: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
To: Xen User-List <xen-users@lists.xensource.com>
X-Mailer: Apple Mail (2.1084)
Resent-Message-Id: <20120523060117.5B92D10218A2C@mail.tacomatelematics.com>
Subject: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi!

Recently got a Via VE-900 board.   It has a via nano x2 chip on it, and suggests that it has Intel-compatible virtualization extensions.   Has anyone worked with this board yet?   I thought it would be nice to have a lower-powered, nearly silent Xen machine sitting on my desk.

I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not able to load any HVM domains.    I posted this question first on Xen-users, and I was asked if I was able to get KVM or VirtualBox working-- I've tried KVM and managed to get it booting into a Linux livecd and a Windows installer.

Here's the /proc/cpuinfo (of one of the cores):

processor	: 0
vendor_id	: CentaurHauls
cpu family	: 6
model		: 15
model name	: VIA Nano X2 L4050 @ 1.4 GHz
stepping	: 12
cpu MHz		: 1400.052
cache size	: 1024 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc rep_good nopl pni monitor vmx est tm2 ssse3 cx16 xtpr sse4_1 popcnt rng rng_en ace ace_en ace2 phe phe_en pmm pmm_en lahf_lm ida
bogomips	: 2801.77
clflush size	: 64
cache_alignment	: 128
address sizes	: 36 bits physical, 48 bits virtual
power management:


and "xl info":

host                   : helium
release                : 3.3.6-1-ARCH
version                : #1 SMP PREEMPT Sun May 13 10:52:32 CEST 2012
machine                : x86_64
nr_cpus                : 2
nr_nodes               : 1
cores_per_socket       : 1
threads_per_core       : 1
cpu_mhz                : 1400
hw_caps                : bfc9fbff:20100800:00000000:00000000:008863a9:00000000:00000001:00000000
virt_caps              :
total_memory           : 7423
free_memory            : 6315
free_cpus              : 0
xen_major              : 4
xen_minor              : 1
xen_extra              : .2
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p 
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
cc_compiler            : gcc version 4.7.0 20120414 (prerelease) (GCC) 
cc_compile_by          : sam
cc_compile_domain      : localdomain
cc_compile_date        : Wed May  2 19:51:21 PDT 2012
xend_config_format     : 4



and Xen's dmesg:

 __  __            _  _    _   ____  
 \ \/ /___ _ __   | || |  / | |___ \ 
  \  // _ \ '_ \  | || |_ | |   __) |
  /  \  __/ | | | |__   _|| |_ / __/ 
 /_/\_\___|_| |_|    |_|(_)_(_)_____|
                                     
(XEN) Xen version 4.1.2 (sam@localdomain) (gcc version 4.7.0 20120414 (prerelease) (GCC) ) Wed May  2 19:51:21 PDT 2012
(XEN) Latest ChangeSet: unavailable
(XEN) Bootloader: GNU GRUB 0.97
(XEN) Command line: dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f000 (usable)
(XEN)  000000000009f000 - 00000000000a0000 (reserved)
(XEN)  00000000000e0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cffb0000 (usable)
(XEN)  00000000cffb0000 - 00000000cffbe000 (ACPI data)
(XEN)  00000000cffbe000 - 00000000cfff0000 (ACPI NVS)
(XEN)  00000000cfff0000 - 00000000d0000000 (reserved)
(XEN)  00000000fec00000 - 00000000fec01000 (reserved)
(XEN)  00000000fecc0000 - 00000000fecc1000 (reserved)
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000fff00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000200000000 (usable)
(XEN) ACPI: RSDP 000F9EB0, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFFB0100, 0054 (r1 091911 XSDT1512 20110919 MSFT       97)
(XEN) ACPI: FACP CFFB0290, 00F4 (r4 091911 FACP1512 20110919 MSFT       97)
(XEN) ACPI: DSDT CFFB0450, 43EC (r2  1AOOW 1AOOW013       13 INTL 20051117)
(XEN) ACPI: FACS CFFBE000, 0040
(XEN) ACPI: APIC CFFB0390, 0072 (r2 091911 APIC1512 20110919 MSFT       97)
(XEN) ACPI: MCFG CFFB0410, 003C (r1 091911 OEMMCFG  20110919 MSFT       97)
(XEN) ACPI: OEMB CFFBE040, 0082 (r1 091911 OEMB1512 20110919 MSFT       97)
(XEN) ACPI: HPET CFFBA450, 0038 (r1 091911 VIA HPET 20110919 MSFT       97)
(XEN) ACPI: SSDT CFFBE0D0, 0711 (r1    AMI   P001PM        1 INTL 20051117)
(XEN) System RAM: 7423MB (7601468kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000200000000
(XEN) Domain heap initialised
(XEN) CPU: Vendor unknown, using generic init.
(XEN) CPU: Your system may be unstable.
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cffbe00c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 6:15 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) Processor #2 6:15 APIC version 20
(XEN) ACPI: IOAPIC (id[0x03] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 3, version 3, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x04] address[0xfecc0000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 4, version 3, address 0xfecc0000, GSI 24-47
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) ACPI: IRQ10 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x11068201 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 48 GSI, 352 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 1400.060 MHz processor.
(XEN) Initing memory sharing.
(XEN) No machine check initialization
(XEN) I/O virtualisation disabled
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) Brought up 2 CPUs
(XEN) HPET: 3 timers in total, 0 timers will be used for broadcast
(XEN) ACPI sleep modes: S3
(XEN) xenoprof: Initialization failed. Unsupported processor. Unknown vendor 255
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1eb8000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   00000001f4000000->00000001f8000000 (243243 pages to be allocated)
(XEN)  Init. ramdisk: 00000001ff62b000->00000001fffff800
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81eb8000
(XEN)  Init. ramdisk: ffffffff81eb8000->ffffffff8288c800
(XEN)  Phys-Mach map: ffffffff8288d000->ffffffff82a8d000
(XEN)  Start info:    ffffffff82a8d000->ffffffff82a8d4b4
(XEN)  Page tables:   ffffffff82a8e000->ffffffff82aa7000
(XEN)  Boot stack:    ffffffff82aa7000->ffffffff82aa8000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82c00000
(XEN)  ENTRY ADDRESS: ffffffff818b4200
(XEN) Dom0 has maximum 2 VCPUs
(XEN) Scrubbing Free RAM: ...............................................................done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 228kB init memory.
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.1
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:00.3
(XEN) PCI add device 00:00.4
(XEN) PCI add device 00:00.5
(XEN) PCI add device 00:00.6
(XEN) PCI add device 00:00.7
(XEN) PCI add device 00:01.0
(XEN) PCI add device 00:01.1
(XEN) PCI add device 00:03.0
(XEN) PCI add device 00:03.1
(XEN) PCI add device 00:03.2
(XEN) PCI add device 00:03.3
(XEN) PCI add device 00:03.4
(XEN) PCI add device 00:0f.0
(XEN) PCI add device 00:10.0
(XEN) PCI add device 00:10.1
(XEN) PCI add device 00:10.2
(XEN) PCI add device 00:10.3
(XEN) PCI add device 00:10.4
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:11.7
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:14.0
(XEN) PCI add device 05:00.0
(XEN) physdev.c:155: dom0: wrong map_pirq type 3




-Sam
_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org
http://lists.xen.org/xen-users

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 06:02:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 06:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX4dP-00043A-Jw; Wed, 23 May 2012 06:01:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SX4dO-000434-DT
	for xen-devel@lists.xen.org; Wed, 23 May 2012 06:01:22 +0000
Received: from [193.109.254.147:19117] by server-1.bemta-14.messagelabs.com id
	AF/8B-29372-13D7CBF4; Wed, 23 May 2012 06:01:21 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1337752878!3876214!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31239 invoked from network); 23 May 2012 06:01:19 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 06:01:19 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 5B92D10218A2C
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 23:01:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024) with ESMTP id 2o0Htnwc-NiR for <xen-devel@lists.xen.org>;
	Tue, 22 May 2012 23:01:15 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id 7F52710218A2B
	for <xen-devel@lists.xen.org>; Tue, 22 May 2012 23:01:15 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
Resent-From: Sam Mulvey <sam@tacomatelematics.com>
Date: Sat, 19 May 2012 13:00:59 -0700
Resent-Date: Tue, 22 May 2012 23:01:15 -0700
Resent-To: xen-devel@lists.xen.org
Message-Id: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
To: Xen User-List <xen-users@lists.xensource.com>
X-Mailer: Apple Mail (2.1084)
Resent-Message-Id: <20120523060117.5B92D10218A2C@mail.tacomatelematics.com>
Subject: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi!

Recently got a Via VE-900 board.   It has a via nano x2 chip on it, and suggests that it has Intel-compatible virtualization extensions.   Has anyone worked with this board yet?   I thought it would be nice to have a lower-powered, nearly silent Xen machine sitting on my desk.

I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not able to load any HVM domains.    I posted this question first on Xen-users, and I was asked if I was able to get KVM or VirtualBox working-- I've tried KVM and managed to get it booting into a Linux livecd and a Windows installer.

Here's the /proc/cpuinfo (of one of the cores):

processor	: 0
vendor_id	: CentaurHauls
cpu family	: 6
model		: 15
model name	: VIA Nano X2 L4050 @ 1.4 GHz
stepping	: 12
cpu MHz		: 1400.052
cache size	: 1024 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc rep_good nopl pni monitor vmx est tm2 ssse3 cx16 xtpr sse4_1 popcnt rng rng_en ace ace_en ace2 phe phe_en pmm pmm_en lahf_lm ida
bogomips	: 2801.77
clflush size	: 64
cache_alignment	: 128
address sizes	: 36 bits physical, 48 bits virtual
power management:


and "xl info":

host                   : helium
release                : 3.3.6-1-ARCH
version                : #1 SMP PREEMPT Sun May 13 10:52:32 CEST 2012
machine                : x86_64
nr_cpus                : 2
nr_nodes               : 1
cores_per_socket       : 1
threads_per_core       : 1
cpu_mhz                : 1400
hw_caps                : bfc9fbff:20100800:00000000:00000000:008863a9:00000000:00000001:00000000
virt_caps              :
total_memory           : 7423
free_memory            : 6315
free_cpus              : 0
xen_major              : 4
xen_minor              : 1
xen_extra              : .2
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p 
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
cc_compiler            : gcc version 4.7.0 20120414 (prerelease) (GCC) 
cc_compile_by          : sam
cc_compile_domain      : localdomain
cc_compile_date        : Wed May  2 19:51:21 PDT 2012
xend_config_format     : 4



and Xen's dmesg:

 __  __            _  _    _   ____  
 \ \/ /___ _ __   | || |  / | |___ \ 
  \  // _ \ '_ \  | || |_ | |   __) |
  /  \  __/ | | | |__   _|| |_ / __/ 
 /_/\_\___|_| |_|    |_|(_)_(_)_____|
                                     
(XEN) Xen version 4.1.2 (sam@localdomain) (gcc version 4.7.0 20120414 (prerelease) (GCC) ) Wed May  2 19:51:21 PDT 2012
(XEN) Latest ChangeSet: unavailable
(XEN) Bootloader: GNU GRUB 0.97
(XEN) Command line: dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f000 (usable)
(XEN)  000000000009f000 - 00000000000a0000 (reserved)
(XEN)  00000000000e0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cffb0000 (usable)
(XEN)  00000000cffb0000 - 00000000cffbe000 (ACPI data)
(XEN)  00000000cffbe000 - 00000000cfff0000 (ACPI NVS)
(XEN)  00000000cfff0000 - 00000000d0000000 (reserved)
(XEN)  00000000fec00000 - 00000000fec01000 (reserved)
(XEN)  00000000fecc0000 - 00000000fecc1000 (reserved)
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000fff00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000200000000 (usable)
(XEN) ACPI: RSDP 000F9EB0, 0024 (r2 ACPIAM)
(XEN) ACPI: XSDT CFFB0100, 0054 (r1 091911 XSDT1512 20110919 MSFT       97)
(XEN) ACPI: FACP CFFB0290, 00F4 (r4 091911 FACP1512 20110919 MSFT       97)
(XEN) ACPI: DSDT CFFB0450, 43EC (r2  1AOOW 1AOOW013       13 INTL 20051117)
(XEN) ACPI: FACS CFFBE000, 0040
(XEN) ACPI: APIC CFFB0390, 0072 (r2 091911 APIC1512 20110919 MSFT       97)
(XEN) ACPI: MCFG CFFB0410, 003C (r1 091911 OEMMCFG  20110919 MSFT       97)
(XEN) ACPI: OEMB CFFBE040, 0082 (r1 091911 OEMB1512 20110919 MSFT       97)
(XEN) ACPI: HPET CFFBA450, 0038 (r1 091911 VIA HPET 20110919 MSFT       97)
(XEN) ACPI: SSDT CFFBE0D0, 0711 (r1    AMI   P001PM        1 INTL 20051117)
(XEN) System RAM: 7423MB (7601468kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000200000000
(XEN) Domain heap initialised
(XEN) CPU: Vendor unknown, using generic init.
(XEN) CPU: Your system may be unstable.
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cffbe00c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 6:15 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) Processor #2 6:15 APIC version 20
(XEN) ACPI: IOAPIC (id[0x03] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 3, version 3, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x04] address[0xfecc0000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 4, version 3, address 0xfecc0000, GSI 24-47
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) ACPI: IRQ10 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x11068201 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: Not using MMCONFIG.
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 48 GSI, 352 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 1400.060 MHz processor.
(XEN) Initing memory sharing.
(XEN) No machine check initialization
(XEN) I/O virtualisation disabled
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) Brought up 2 CPUs
(XEN) HPET: 3 timers in total, 0 timers will be used for broadcast
(XEN) ACPI sleep modes: S3
(XEN) xenoprof: Initialization failed. Unsupported processor. Unknown vendor 255
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1eb8000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   00000001f4000000->00000001f8000000 (243243 pages to be allocated)
(XEN)  Init. ramdisk: 00000001ff62b000->00000001fffff800
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81eb8000
(XEN)  Init. ramdisk: ffffffff81eb8000->ffffffff8288c800
(XEN)  Phys-Mach map: ffffffff8288d000->ffffffff82a8d000
(XEN)  Start info:    ffffffff82a8d000->ffffffff82a8d4b4
(XEN)  Page tables:   ffffffff82a8e000->ffffffff82aa7000
(XEN)  Boot stack:    ffffffff82aa7000->ffffffff82aa8000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82c00000
(XEN)  ENTRY ADDRESS: ffffffff818b4200
(XEN) Dom0 has maximum 2 VCPUs
(XEN) Scrubbing Free RAM: ...............................................................done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 228kB init memory.
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.1
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:00.3
(XEN) PCI add device 00:00.4
(XEN) PCI add device 00:00.5
(XEN) PCI add device 00:00.6
(XEN) PCI add device 00:00.7
(XEN) PCI add device 00:01.0
(XEN) PCI add device 00:01.1
(XEN) PCI add device 00:03.0
(XEN) PCI add device 00:03.1
(XEN) PCI add device 00:03.2
(XEN) PCI add device 00:03.3
(XEN) PCI add device 00:03.4
(XEN) PCI add device 00:0f.0
(XEN) PCI add device 00:10.0
(XEN) PCI add device 00:10.1
(XEN) PCI add device 00:10.2
(XEN) PCI add device 00:10.3
(XEN) PCI add device 00:10.4
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:11.7
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:14.0
(XEN) PCI add device 05:00.0
(XEN) physdev.c:155: dom0: wrong map_pirq type 3




-Sam
_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org
http://lists.xen.org/xen-users

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 06:36:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 06:36:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5Aq-0004WQ-SD; Wed, 23 May 2012 06:35:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SX5Ap-0004WL-4f
	for xen-devel@lists.xen.org; Wed, 23 May 2012 06:35:55 +0000
Received: from [85.158.143.99:30491] by server-3.bemta-4.messagelabs.com id
	82/F0-05853-A458CBF4; Wed, 23 May 2012 06:35:54 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337754951!22791944!1
X-Originating-IP: [137.65.248.97]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2427 invoked from network); 23 May 2012 06:35:52 -0000
Received: from novprvoes0314.provo.novell.com (HELO mail.novell.com)
	(137.65.248.97) by server-10.tower-216.messagelabs.com with SMTP;
	23 May 2012 06:35:52 -0000
Received: from [127.0.0.1] ([::ffff:147.2.207.143])
	by mail.novell.com with ESMTP; Wed, 23 May 2012 00:35:32 -0600
MIME-Version: 1.0
X-Mercurial-Node: d67ab7c543d5a16bfa5f5de196631d37d58bbfa6
Message-Id: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
User-Agent: Mercurial-patchbomb/1.9.3
Date: Wed, 23 May 2012 14:35:20 +0800
From: Bamvor Jian Zhang <bjzhang@suse.com>
To: xen-devel@lists.xen.org
Cc: jfehlig@suse.com, Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	bjzhang@suse.com
Subject: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain console
	tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>

Changes since v1:
 * Replace function libxl__sprintf with macro GSPRINTF
 * check return value and handle error for libxl__xs_read and libxl__domain_type
 * merge common code for libxl_primary_console_get_tty and
   libxl_primary_console_exec as libxl__primary_console_find
 * Reformat code to be less than 80 characters.

diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
+++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
@@ -1188,7 +1188,8 @@ out:
     return rc;
 }
 
-int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
+int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,
+                       libxl_console_type type)
 {
     GC_INIT(ctx);
     char *p = libxl__sprintf(gc, "%s/xenconsole", libxl__private_bindir_path());
@@ -1214,24 +1215,74 @@ out:
     return ERROR_FAIL;
 }
 
-int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path)
+{
+    GC_INIT(ctx);
+    char *dom_path = 0;
+    char *tty_path = 0;
+    char *tty = 0;
+    int rc = 0;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    switch (type) {
+    case LIBXL_CONSOLE_TYPE_SERIAL:
+        tty_path = GCSPRINTF("%s/serial/0/tty", dom_path);
+        break;
+    case LIBXL_CONSOLE_TYPE_PV:
+        if (cons_num == 0)
+            tty_path = GCSPRINTF("%s/console/tty", dom_path);
+        else
+            tty_path = GCSPRINTF("%s/device/console/%d/tty", dom_path, 
+                                cons_num);
+        break;
+    default:
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
+    if (tty) 
+        *path = strdup(tty);
+    else
+        rc = ERROR_FAIL;
+
+out:
+    GC_FREE;
+    return rc;
+}
+
+static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 
+                                       uint32_t *domid_out, int *cons_num_out, 
+                                       libxl_console_type *type_out)
 {
     GC_INIT(ctx);
     uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
-    int rc;
-    if (stubdomid)
-        rc = libxl_console_exec(ctx, stubdomid,
-                                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV);
-    else {
+    int rc = 0;
+
+    if (stubdomid) {
+        *domid_out = stubdomid;
+        *cons_num_out = STUBDOM_CONSOLE_SERIAL;
+        *type_out = LIBXL_CONSOLE_TYPE_PV;
+    } else {
         switch (libxl__domain_type(gc, domid_vm)) {
         case LIBXL_DOMAIN_TYPE_HVM:
-            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL);
+            *domid_out = domid_vm;
+            *cons_num_out = 0;
+            *type_out = LIBXL_CONSOLE_TYPE_SERIAL;
             break;
         case LIBXL_DOMAIN_TYPE_PV:
-            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
+            *domid_out = domid_vm;
+            *cons_num_out = 0;
+            *type_out = LIBXL_CONSOLE_TYPE_PV;
             break;
         case -1:
-            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
+            LOG(ERROR,"unable to get domain type for domid=%"PRIu32, domid_vm);
             rc = ERROR_FAIL;
             break;
         default:
@@ -1242,6 +1293,33 @@ int libxl_primary_console_exec(libxl_ctx
     return rc;
 }
 
+int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
+{
+    uint32_t domid_out;
+    int cons_num_out;
+    libxl_console_type type_out;
+    int rc;
+
+    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
+                                     &type_out);
+    if ( rc ) return rc;
+    return libxl_console_exec(ctx, domid_out, cons_num_out, type_out);
+}
+
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,
+                                  char **path)
+{
+    uint32_t domid_out;
+    int cons_num_out;
+    libxl_console_type type_out;
+    int rc;
+
+    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
+                                     &type_out);
+    if ( rc ) return rc;
+    return libxl_console_get_tty(ctx, domid_out, cons_num_out, type_out, path);
+}
+
 int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 {
     GC_INIT(ctx);
diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 11:55:02 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 23 14:27:57 2012 +0800
@@ -601,6 +601,16 @@ int libxl_console_exec(libxl_ctx *ctx, u
  * case of HVM guests, and before libxl_run_bootloader in case of PV
  * guests using pygrub. */
 int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
+/* libxl_console_get_tty retrieves the specified domain's console tty path
+ * and stores it in path. Caller is responsible for freeing the memory.
+ */
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path);
+/* libxl_primary_console_get_tty retrieves the specified domain's primary 
+ * console tty path and stores it in path. Caller is responsible for freeing
+ * the memory.
+ */
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
 
 /* May be called with info_r == NULL to check for domain's existance */
 int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 06:36:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 06:36:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5Aq-0004WQ-SD; Wed, 23 May 2012 06:35:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bjzhang@suse.com>) id 1SX5Ap-0004WL-4f
	for xen-devel@lists.xen.org; Wed, 23 May 2012 06:35:55 +0000
Received: from [85.158.143.99:30491] by server-3.bemta-4.messagelabs.com id
	82/F0-05853-A458CBF4; Wed, 23 May 2012 06:35:54 +0000
X-Env-Sender: bjzhang@suse.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337754951!22791944!1
X-Originating-IP: [137.65.248.97]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2427 invoked from network); 23 May 2012 06:35:52 -0000
Received: from novprvoes0314.provo.novell.com (HELO mail.novell.com)
	(137.65.248.97) by server-10.tower-216.messagelabs.com with SMTP;
	23 May 2012 06:35:52 -0000
Received: from [127.0.0.1] ([::ffff:147.2.207.143])
	by mail.novell.com with ESMTP; Wed, 23 May 2012 00:35:32 -0600
MIME-Version: 1.0
X-Mercurial-Node: d67ab7c543d5a16bfa5f5de196631d37d58bbfa6
Message-Id: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
User-Agent: Mercurial-patchbomb/1.9.3
Date: Wed, 23 May 2012 14:35:20 +0800
From: Bamvor Jian Zhang <bjzhang@suse.com>
To: xen-devel@lists.xen.org
Cc: jfehlig@suse.com, Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	bjzhang@suse.com
Subject: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain console
	tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>

Changes since v1:
 * Replace function libxl__sprintf with macro GSPRINTF
 * check return value and handle error for libxl__xs_read and libxl__domain_type
 * merge common code for libxl_primary_console_get_tty and
   libxl_primary_console_exec as libxl__primary_console_find
 * Reformat code to be less than 80 characters.

diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
+++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
@@ -1188,7 +1188,8 @@ out:
     return rc;
 }
 
-int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
+int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,
+                       libxl_console_type type)
 {
     GC_INIT(ctx);
     char *p = libxl__sprintf(gc, "%s/xenconsole", libxl__private_bindir_path());
@@ -1214,24 +1215,74 @@ out:
     return ERROR_FAIL;
 }
 
-int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path)
+{
+    GC_INIT(ctx);
+    char *dom_path = 0;
+    char *tty_path = 0;
+    char *tty = 0;
+    int rc = 0;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    switch (type) {
+    case LIBXL_CONSOLE_TYPE_SERIAL:
+        tty_path = GCSPRINTF("%s/serial/0/tty", dom_path);
+        break;
+    case LIBXL_CONSOLE_TYPE_PV:
+        if (cons_num == 0)
+            tty_path = GCSPRINTF("%s/console/tty", dom_path);
+        else
+            tty_path = GCSPRINTF("%s/device/console/%d/tty", dom_path, 
+                                cons_num);
+        break;
+    default:
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
+    if (tty) 
+        *path = strdup(tty);
+    else
+        rc = ERROR_FAIL;
+
+out:
+    GC_FREE;
+    return rc;
+}
+
+static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 
+                                       uint32_t *domid_out, int *cons_num_out, 
+                                       libxl_console_type *type_out)
 {
     GC_INIT(ctx);
     uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
-    int rc;
-    if (stubdomid)
-        rc = libxl_console_exec(ctx, stubdomid,
-                                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV);
-    else {
+    int rc = 0;
+
+    if (stubdomid) {
+        *domid_out = stubdomid;
+        *cons_num_out = STUBDOM_CONSOLE_SERIAL;
+        *type_out = LIBXL_CONSOLE_TYPE_PV;
+    } else {
         switch (libxl__domain_type(gc, domid_vm)) {
         case LIBXL_DOMAIN_TYPE_HVM:
-            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL);
+            *domid_out = domid_vm;
+            *cons_num_out = 0;
+            *type_out = LIBXL_CONSOLE_TYPE_SERIAL;
             break;
         case LIBXL_DOMAIN_TYPE_PV:
-            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
+            *domid_out = domid_vm;
+            *cons_num_out = 0;
+            *type_out = LIBXL_CONSOLE_TYPE_PV;
             break;
         case -1:
-            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
+            LOG(ERROR,"unable to get domain type for domid=%"PRIu32, domid_vm);
             rc = ERROR_FAIL;
             break;
         default:
@@ -1242,6 +1293,33 @@ int libxl_primary_console_exec(libxl_ctx
     return rc;
 }
 
+int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
+{
+    uint32_t domid_out;
+    int cons_num_out;
+    libxl_console_type type_out;
+    int rc;
+
+    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
+                                     &type_out);
+    if ( rc ) return rc;
+    return libxl_console_exec(ctx, domid_out, cons_num_out, type_out);
+}
+
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,
+                                  char **path)
+{
+    uint32_t domid_out;
+    int cons_num_out;
+    libxl_console_type type_out;
+    int rc;
+
+    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
+                                     &type_out);
+    if ( rc ) return rc;
+    return libxl_console_get_tty(ctx, domid_out, cons_num_out, type_out, path);
+}
+
 int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 {
     GC_INIT(ctx);
diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 11:55:02 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 23 14:27:57 2012 +0800
@@ -601,6 +601,16 @@ int libxl_console_exec(libxl_ctx *ctx, u
  * case of HVM guests, and before libxl_run_bootloader in case of PV
  * guests using pygrub. */
 int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
+/* libxl_console_get_tty retrieves the specified domain's console tty path
+ * and stores it in path. Caller is responsible for freeing the memory.
+ */
+int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
+                          libxl_console_type type, char **path);
+/* libxl_primary_console_get_tty retrieves the specified domain's primary 
+ * console tty path and stores it in path. Caller is responsible for freeing
+ * the memory.
+ */
+int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
 
 /* May be called with info_r == NULL to check for domain's existance */
 int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 06:56:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 06:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5Uk-0004iO-Rn; Wed, 23 May 2012 06:56:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX5Uj-0004iJ-Dq
	for xen-devel@lists.xen.org; Wed, 23 May 2012 06:56:29 +0000
Received: from [85.158.138.51:12433] by server-4.bemta-3.messagelabs.com id
	C8/FC-25780-C1A8CBF4; Wed, 23 May 2012 06:56:28 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337756187!28585258!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24322 invoked from network); 23 May 2012 06:56:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 06:56:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 07:56:27 +0100
Message-Id: <4FBCA65C02000078000855A3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 07:57:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Wei Wang" <wei.wang2@amd.com>
References: <4FBB9B06.1030200@amd.com>
	<4FBBBA870200007800085296@nat28.tlf.novell.com>
	<4FBBB11E.5070709@amd.com>
In-Reply-To: <4FBBB11E.5070709@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 17:30, Wei Wang <wei.wang2@amd.com> wrote:
> Thanks for review it. New version has been attached. It should have 
> fixed issues you mentioned. We don't have a particular number for loop 
> count, so I cut it to 1000, it should be enough. Please have a look.

I adjusted it further to address a few things I noticed while
pulling it into my local tree. Please let me know if any of the
adjustments I did are in error.

I'll also send a half-way related (and dependent in terms of
being able to cleanly apply) follow-on patch in a minute.

Jan

**************************************************

amd iommu: Add workaround for erratum 732 & 733

Signed-off-by: Wei Wang <wei.wang2@amd.com>

Add missing barriers. Fix early return from parse_ppr_log_entry().
Slightly adjust comments. Strip trailing blanks.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -29,6 +29,7 @@
 #include <asm/hvm/svm/amd-iommu-proto.h>
 #include <asm-x86/fixmap.h>
 #include <mach_apic.h>
+#include <xen/delay.h>
 
 static int __initdata nr_amd_iommus;
 
@@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
     u16 domain_id, device_id, bdf, cword;
     u32 code;
     u64 *addr;
+    int count = 0;
     char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
                           "IO_PAGE_FAULT",
                           "DEV_TABLE_HW_ERROR",
@@ -578,6 +580,25 @@ static void parse_event_log_entry(struct
     code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                             IOMMU_EVENT_CODE_SHIFT);
 
+    /*
+     * Workaround for erratum 732:
+     * It can happen that the tail pointer is updated before the actual entry
+     * got written. As suggested by RevGuide, we initialize the event log
+     * buffer to all zeros and clear event log entries after processing them.
+     */
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No event written to log\n");
+            return;
+        }
+        udelay(1);
+        rmb();
+        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
+                                      IOMMU_EVENT_CODE_SHIFT);
+    }
+
     if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
         (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
     {
@@ -615,6 +636,8 @@ static void parse_event_log_entry(struct
         AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
                         entry[1], entry[2], entry[3]);
     }
+
+    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_event_log(struct amd_iommu *iommu)
@@ -646,9 +669,31 @@ void parse_ppr_log_entry(struct amd_iomm
 {
 
     u16 device_id;
-    u8 bus, devfn;
+    u8 bus, devfn, code;
     struct pci_dev *pdev;
-    struct domain *d;
+    int count = 0;
+
+    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                  IOMMU_PPR_LOG_CODE_SHIFT);
+
+    /*
+     * Workaround for erratum 733:
+     * It can happen that the tail pointer is updated before the actual entry
+     * got written. As suggested by RevGuide, we initialize the event log
+     * buffer to all zeros and clear ppr log entries after processing them.
+     */
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to log\n");
+            return;
+        }
+        udelay(1);
+        rmb();
+        code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                      IOMMU_PPR_LOG_CODE_SHIFT);
+    }
 
     /* here device_id is physical value */
     device_id = iommu_get_devid_from_cmd(entry[0]);
@@ -659,12 +704,10 @@ void parse_ppr_log_entry(struct amd_iomm
     pdev = pci_get_pdev(iommu->seg, bus, devfn);
     spin_unlock(&pcidevs_lock);
 
-    if ( pdev == NULL )
-        return;
-
-    d = pdev->domain;
+    if ( pdev )
+        guest_iommu_add_ppr_log(pdev->domain, entry);
 
-    guest_iommu_add_ppr_log(d, entry);
+    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_ppr_log(struct amd_iommu *iommu)
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
@@ -301,6 +301,10 @@
 #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
 #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
 #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
+#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
+#define IOMMU_PPR_LOG_CODE_SHIFT                        28
+
+#define IOMMU_LOG_ENTRY_TIMEOUT                         1000
 
 /* Control Register */
 #define IOMMU_CONTROL_MMIO_OFFSET			0x18



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 06:56:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 06:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5Uk-0004iO-Rn; Wed, 23 May 2012 06:56:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX5Uj-0004iJ-Dq
	for xen-devel@lists.xen.org; Wed, 23 May 2012 06:56:29 +0000
Received: from [85.158.138.51:12433] by server-4.bemta-3.messagelabs.com id
	C8/FC-25780-C1A8CBF4; Wed, 23 May 2012 06:56:28 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337756187!28585258!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24322 invoked from network); 23 May 2012 06:56:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 06:56:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 07:56:27 +0100
Message-Id: <4FBCA65C02000078000855A3@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 07:57:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Wei Wang" <wei.wang2@amd.com>
References: <4FBB9B06.1030200@amd.com>
	<4FBBBA870200007800085296@nat28.tlf.novell.com>
	<4FBBB11E.5070709@amd.com>
In-Reply-To: <4FBBB11E.5070709@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 17:30, Wei Wang <wei.wang2@amd.com> wrote:
> Thanks for review it. New version has been attached. It should have 
> fixed issues you mentioned. We don't have a particular number for loop 
> count, so I cut it to 1000, it should be enough. Please have a look.

I adjusted it further to address a few things I noticed while
pulling it into my local tree. Please let me know if any of the
adjustments I did are in error.

I'll also send a half-way related (and dependent in terms of
being able to cleanly apply) follow-on patch in a minute.

Jan

**************************************************

amd iommu: Add workaround for erratum 732 & 733

Signed-off-by: Wei Wang <wei.wang2@amd.com>

Add missing barriers. Fix early return from parse_ppr_log_entry().
Slightly adjust comments. Strip trailing blanks.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -29,6 +29,7 @@
 #include <asm/hvm/svm/amd-iommu-proto.h>
 #include <asm-x86/fixmap.h>
 #include <mach_apic.h>
+#include <xen/delay.h>
 
 static int __initdata nr_amd_iommus;
 
@@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
     u16 domain_id, device_id, bdf, cword;
     u32 code;
     u64 *addr;
+    int count = 0;
     char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
                           "IO_PAGE_FAULT",
                           "DEV_TABLE_HW_ERROR",
@@ -578,6 +580,25 @@ static void parse_event_log_entry(struct
     code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                             IOMMU_EVENT_CODE_SHIFT);
 
+    /*
+     * Workaround for erratum 732:
+     * It can happen that the tail pointer is updated before the actual entry
+     * got written. As suggested by RevGuide, we initialize the event log
+     * buffer to all zeros and clear event log entries after processing them.
+     */
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No event written to log\n");
+            return;
+        }
+        udelay(1);
+        rmb();
+        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
+                                      IOMMU_EVENT_CODE_SHIFT);
+    }
+
     if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
         (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
     {
@@ -615,6 +636,8 @@ static void parse_event_log_entry(struct
         AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
                         entry[1], entry[2], entry[3]);
     }
+
+    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_event_log(struct amd_iommu *iommu)
@@ -646,9 +669,31 @@ void parse_ppr_log_entry(struct amd_iomm
 {
 
     u16 device_id;
-    u8 bus, devfn;
+    u8 bus, devfn, code;
     struct pci_dev *pdev;
-    struct domain *d;
+    int count = 0;
+
+    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                  IOMMU_PPR_LOG_CODE_SHIFT);
+
+    /*
+     * Workaround for erratum 733:
+     * It can happen that the tail pointer is updated before the actual entry
+     * got written. As suggested by RevGuide, we initialize the event log
+     * buffer to all zeros and clear ppr log entries after processing them.
+     */
+    while ( code == 0 )
+    {
+        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+        {
+            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to log\n");
+            return;
+        }
+        udelay(1);
+        rmb();
+        code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
+                                      IOMMU_PPR_LOG_CODE_SHIFT);
+    }
 
     /* here device_id is physical value */
     device_id = iommu_get_devid_from_cmd(entry[0]);
@@ -659,12 +704,10 @@ void parse_ppr_log_entry(struct amd_iomm
     pdev = pci_get_pdev(iommu->seg, bus, devfn);
     spin_unlock(&pcidevs_lock);
 
-    if ( pdev == NULL )
-        return;
-
-    d = pdev->domain;
+    if ( pdev )
+        guest_iommu_add_ppr_log(pdev->domain, entry);
 
-    guest_iommu_add_ppr_log(d, entry);
+    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
 }
 
 static void iommu_check_ppr_log(struct amd_iommu *iommu)
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
@@ -301,6 +301,10 @@
 #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
 #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
 #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
+#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
+#define IOMMU_PPR_LOG_CODE_SHIFT                        28
+
+#define IOMMU_LOG_ENTRY_TIMEOUT                         1000
 
 /* Control Register */
 #define IOMMU_CONTROL_MMIO_OFFSET			0x18



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 07:02:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5Zt-00051g-6R; Wed, 23 May 2012 07:01:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX5Zq-00051a-U7
	for xen-devel@lists.xen.org; Wed, 23 May 2012 07:01:47 +0000
Received: from [193.109.254.147:57002] by server-4.bemta-14.messagelabs.com id
	27/CD-11570-A5B8CBF4; Wed, 23 May 2012 07:01:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337756500!10367272!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5338 invoked from network); 23 May 2012 07:01:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 07:01:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 08:01:39 +0100
Message-Id: <4FBCA79302000078000855AF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 08:02:11 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part735D8D63.1__="
Cc: Wei Wang <wei.wang2@amd.com>
Subject: [Xen-devel] [PATCH] amd iommu: improve parse_event_log_entry()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part735D8D63.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- message table should be static (no need to set it up each time the
  function gets executed)
- don't bail on out-of-range event code values
- use message table also to print the kind of otherwise unhandled
  event codes

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -568,14 +568,18 @@ static void parse_event_log_entry(struct
     u32 code;
     u64 *addr;
     int count =3D 0;
-    char * event_str[] =3D {"ILLEGAL_DEV_TABLE_ENTRY",
-                          "IO_PAGE_FAULT",
-                          "DEV_TABLE_HW_ERROR",
-                          "PAGE_TABLE_HW_ERROR",
-                          "ILLEGAL_COMMAND_ERROR",
-                          "COMMAND_HW_ERROR",
-                          "IOTLB_INV_TIMEOUT",
-                          "INVALID_DEV_REQUEST"};
+    static const char *const event_str[] =3D {
+#define EVENT_STR(name) [IOMMU_EVENT_##name - 1] =3D #name
+        EVENT_STR(ILLEGAL_DEV_TABLE_ENTRY),
+        EVENT_STR(IO_PAGE_FAULT),
+        EVENT_STR(DEV_TABLE_HW_ERROR),
+        EVENT_STR(PAGE_TABLE_HW_ERROR),
+        EVENT_STR(ILLEGAL_COMMAND_ERROR),
+        EVENT_STR(COMMAND_HW_ERROR),
+        EVENT_STR(IOTLB_INV_TIMEOUT),
+        EVENT_STR(INVALID_DEV_REQUEST)
+#undef EVENT_STR
+    };
=20
     code =3D get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                             IOMMU_EVENT_CODE_SHIFT);
@@ -599,13 +603,6 @@ static void parse_event_log_entry(struct
                                       IOMMU_EVENT_CODE_SHIFT);
     }
=20
-    if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
-        (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
-    {
-        AMD_IOMMU_DEBUG("Invalid event log entry!\n");
-        return;
-    }
-
     if ( code =3D=3D IOMMU_EVENT_IO_PAGE_FAULT )
     {
         device_id =3D iommu_get_devid_from_event(entry[0]);
@@ -633,8 +630,10 @@ static void parse_event_log_entry(struct
     }
     else
     {
-        AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
-                        entry[1], entry[2], entry[3]);
+        AMD_IOMMU_DEBUG("%s %08x %08x %08x %08x\n",
+                        code <=3D ARRAY_SIZE(event_str) ? event_str[code =
- 1]
+                                                      : "event",
+                        entry[0], entry[1], entry[2], entry[3]);
     }
=20
     memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);




--=__Part735D8D63.1__=
Content-Type: text/plain; name="amd-iommu-event-log-strings.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="amd-iommu-event-log-strings.patch"

amd iommu: improve parse_event_log_entry()=0A=0A- message table should be =
static (no need to set it up each time the=0A  function gets executed)=0A- =
don't bail on out-of-range event code values=0A- use message table also to =
print the kind of otherwise unhandled=0A  event codes=0A=0ASigned-off-by: =
Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/drivers/passthrough/amd/iomm=
u_init.c=0A+++ b/xen/drivers/passthrough/amd/iommu_init.c=0A@@ -568,14 =
+568,18 @@ static void parse_event_log_entry(struct=0A     u32 code;=0A    =
 u64 *addr;=0A     int count =3D 0;=0A-    char * event_str[] =3D =
{"ILLEGAL_DEV_TABLE_ENTRY",=0A-                          "IO_PAGE_FAULT",=
=0A-                          "DEV_TABLE_HW_ERROR",=0A-                    =
      "PAGE_TABLE_HW_ERROR",=0A-                          "ILLEGAL_COMMAND_=
ERROR",=0A-                          "COMMAND_HW_ERROR",=0A-               =
           "IOTLB_INV_TIMEOUT",=0A-                          "INVALID_DEV_R=
EQUEST"};=0A+    static const char *const event_str[] =3D {=0A+#define =
EVENT_STR(name) [IOMMU_EVENT_##name - 1] =3D #name=0A+        EVENT_STR(ILL=
EGAL_DEV_TABLE_ENTRY),=0A+        EVENT_STR(IO_PAGE_FAULT),=0A+        =
EVENT_STR(DEV_TABLE_HW_ERROR),=0A+        EVENT_STR(PAGE_TABLE_HW_ERROR),=
=0A+        EVENT_STR(ILLEGAL_COMMAND_ERROR),=0A+        EVENT_STR(COMMAND_=
HW_ERROR),=0A+        EVENT_STR(IOTLB_INV_TIMEOUT),=0A+        EVENT_STR(IN=
VALID_DEV_REQUEST)=0A+#undef EVENT_STR=0A+    };=0A =0A     code =3D =
get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,=0A                 =
                            IOMMU_EVENT_CODE_SHIFT);=0A@@ -599,13 +603,6 =
@@ static void parse_event_log_entry(struct=0A                             =
          IOMMU_EVENT_CODE_SHIFT);=0A     }=0A =0A-    if ( (code > =
IOMMU_EVENT_INVALID_DEV_REQUEST) ||=0A-        (code < IOMMU_EVENT_ILLEGAL_=
DEV_TABLE_ENTRY) )=0A-    {=0A-        AMD_IOMMU_DEBUG("Invalid event log =
entry!\n");=0A-        return;=0A-    }=0A-=0A     if ( code =3D=3D =
IOMMU_EVENT_IO_PAGE_FAULT )=0A     {=0A         device_id =3D iommu_get_dev=
id_from_event(entry[0]);=0A@@ -633,8 +630,10 @@ static void parse_event_log=
_entry(struct=0A     }=0A     else=0A     {=0A-        AMD_IOMMU_DEBUG("eve=
nt 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],=0A-                        =
entry[1], entry[2], entry[3]);=0A+        AMD_IOMMU_DEBUG("%s %08x %08x =
%08x %08x\n",=0A+                        code <=3D ARRAY_SIZE(event_str) ? =
event_str[code - 1]=0A+                                                    =
  : "event",=0A+                        entry[0], entry[1], entry[2], =
entry[3]);=0A     }=0A =0A     memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE)=
;=0A
--=__Part735D8D63.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part735D8D63.1__=--


From xen-devel-bounces@lists.xen.org Wed May 23 07:02:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5Zt-00051g-6R; Wed, 23 May 2012 07:01:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX5Zq-00051a-U7
	for xen-devel@lists.xen.org; Wed, 23 May 2012 07:01:47 +0000
Received: from [193.109.254.147:57002] by server-4.bemta-14.messagelabs.com id
	27/CD-11570-A5B8CBF4; Wed, 23 May 2012 07:01:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337756500!10367272!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5338 invoked from network); 23 May 2012 07:01:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 07:01:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 08:01:39 +0100
Message-Id: <4FBCA79302000078000855AF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 08:02:11 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part735D8D63.1__="
Cc: Wei Wang <wei.wang2@amd.com>
Subject: [Xen-devel] [PATCH] amd iommu: improve parse_event_log_entry()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part735D8D63.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- message table should be static (no need to set it up each time the
  function gets executed)
- don't bail on out-of-range event code values
- use message table also to print the kind of otherwise unhandled
  event codes

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -568,14 +568,18 @@ static void parse_event_log_entry(struct
     u32 code;
     u64 *addr;
     int count =3D 0;
-    char * event_str[] =3D {"ILLEGAL_DEV_TABLE_ENTRY",
-                          "IO_PAGE_FAULT",
-                          "DEV_TABLE_HW_ERROR",
-                          "PAGE_TABLE_HW_ERROR",
-                          "ILLEGAL_COMMAND_ERROR",
-                          "COMMAND_HW_ERROR",
-                          "IOTLB_INV_TIMEOUT",
-                          "INVALID_DEV_REQUEST"};
+    static const char *const event_str[] =3D {
+#define EVENT_STR(name) [IOMMU_EVENT_##name - 1] =3D #name
+        EVENT_STR(ILLEGAL_DEV_TABLE_ENTRY),
+        EVENT_STR(IO_PAGE_FAULT),
+        EVENT_STR(DEV_TABLE_HW_ERROR),
+        EVENT_STR(PAGE_TABLE_HW_ERROR),
+        EVENT_STR(ILLEGAL_COMMAND_ERROR),
+        EVENT_STR(COMMAND_HW_ERROR),
+        EVENT_STR(IOTLB_INV_TIMEOUT),
+        EVENT_STR(INVALID_DEV_REQUEST)
+#undef EVENT_STR
+    };
=20
     code =3D get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
                                             IOMMU_EVENT_CODE_SHIFT);
@@ -599,13 +603,6 @@ static void parse_event_log_entry(struct
                                       IOMMU_EVENT_CODE_SHIFT);
     }
=20
-    if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
-        (code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
-    {
-        AMD_IOMMU_DEBUG("Invalid event log entry!\n");
-        return;
-    }
-
     if ( code =3D=3D IOMMU_EVENT_IO_PAGE_FAULT )
     {
         device_id =3D iommu_get_devid_from_event(entry[0]);
@@ -633,8 +630,10 @@ static void parse_event_log_entry(struct
     }
     else
     {
-        AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
-                        entry[1], entry[2], entry[3]);
+        AMD_IOMMU_DEBUG("%s %08x %08x %08x %08x\n",
+                        code <=3D ARRAY_SIZE(event_str) ? event_str[code =
- 1]
+                                                      : "event",
+                        entry[0], entry[1], entry[2], entry[3]);
     }
=20
     memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);




--=__Part735D8D63.1__=
Content-Type: text/plain; name="amd-iommu-event-log-strings.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="amd-iommu-event-log-strings.patch"

amd iommu: improve parse_event_log_entry()=0A=0A- message table should be =
static (no need to set it up each time the=0A  function gets executed)=0A- =
don't bail on out-of-range event code values=0A- use message table also to =
print the kind of otherwise unhandled=0A  event codes=0A=0ASigned-off-by: =
Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/drivers/passthrough/amd/iomm=
u_init.c=0A+++ b/xen/drivers/passthrough/amd/iommu_init.c=0A@@ -568,14 =
+568,18 @@ static void parse_event_log_entry(struct=0A     u32 code;=0A    =
 u64 *addr;=0A     int count =3D 0;=0A-    char * event_str[] =3D =
{"ILLEGAL_DEV_TABLE_ENTRY",=0A-                          "IO_PAGE_FAULT",=
=0A-                          "DEV_TABLE_HW_ERROR",=0A-                    =
      "PAGE_TABLE_HW_ERROR",=0A-                          "ILLEGAL_COMMAND_=
ERROR",=0A-                          "COMMAND_HW_ERROR",=0A-               =
           "IOTLB_INV_TIMEOUT",=0A-                          "INVALID_DEV_R=
EQUEST"};=0A+    static const char *const event_str[] =3D {=0A+#define =
EVENT_STR(name) [IOMMU_EVENT_##name - 1] =3D #name=0A+        EVENT_STR(ILL=
EGAL_DEV_TABLE_ENTRY),=0A+        EVENT_STR(IO_PAGE_FAULT),=0A+        =
EVENT_STR(DEV_TABLE_HW_ERROR),=0A+        EVENT_STR(PAGE_TABLE_HW_ERROR),=
=0A+        EVENT_STR(ILLEGAL_COMMAND_ERROR),=0A+        EVENT_STR(COMMAND_=
HW_ERROR),=0A+        EVENT_STR(IOTLB_INV_TIMEOUT),=0A+        EVENT_STR(IN=
VALID_DEV_REQUEST)=0A+#undef EVENT_STR=0A+    };=0A =0A     code =3D =
get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,=0A                 =
                            IOMMU_EVENT_CODE_SHIFT);=0A@@ -599,13 +603,6 =
@@ static void parse_event_log_entry(struct=0A                             =
          IOMMU_EVENT_CODE_SHIFT);=0A     }=0A =0A-    if ( (code > =
IOMMU_EVENT_INVALID_DEV_REQUEST) ||=0A-        (code < IOMMU_EVENT_ILLEGAL_=
DEV_TABLE_ENTRY) )=0A-    {=0A-        AMD_IOMMU_DEBUG("Invalid event log =
entry!\n");=0A-        return;=0A-    }=0A-=0A     if ( code =3D=3D =
IOMMU_EVENT_IO_PAGE_FAULT )=0A     {=0A         device_id =3D iommu_get_dev=
id_from_event(entry[0]);=0A@@ -633,8 +630,10 @@ static void parse_event_log=
_entry(struct=0A     }=0A     else=0A     {=0A-        AMD_IOMMU_DEBUG("eve=
nt 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],=0A-                        =
entry[1], entry[2], entry[3]);=0A+        AMD_IOMMU_DEBUG("%s %08x %08x =
%08x %08x\n",=0A+                        code <=3D ARRAY_SIZE(event_str) ? =
event_str[code - 1]=0A+                                                    =
  : "event",=0A+                        entry[0], entry[1], entry[2], =
entry[3]);=0A     }=0A =0A     memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE)=
;=0A
--=__Part735D8D63.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part735D8D63.1__=--


From xen-devel-bounces@lists.xen.org Wed May 23 07:22:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5tc-0005EB-2F; Wed, 23 May 2012 07:22:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX5tb-0005E6-4X
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 07:22:11 +0000
Received: from [85.158.143.99:13448] by server-3.bemta-4.messagelabs.com id
	AC/BE-05853-2209CBF4; Wed, 23 May 2012 07:22:10 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337757728!28790104!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8552 invoked from network); 23 May 2012 07:22:08 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-3.tower-216.messagelabs.com with SMTP;
	23 May 2012 07:22:08 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78090461; Wed, 23 May 2012 09:22:07 +0200
Message-ID: <1337757720.27368.58.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 09:22:00 +0200
In-Reply-To: <4FBC76E3.5020602@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7424550767268220643=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7424550767268220643==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-sI+45926pLNKNJ9nHPzQ"


--=-sI+45926pLNKNJ9nHPzQ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 07:34 +0200, Juergen Gross wrote:
> > #define PERIOD_MAX MILLISECS(10000) /* 10s  */
> > #define PERIOD_MIN (MICROSECS(10))  /* 10us */
> > #define SLICE_MIN (MICROSECS(5))    /*  5us */
>=20
> I think this should remain in the hypervisor only.
>=20
Me too.

> > Also, extratime is a flag, so I think 0 and 1 are both meaningful
> > values, maybe we can go for -1 as for cap (I'll try and let you know).
>=20
> Why not -1 for all values?
>=20
Would work, I guess, unless there's some collision with big weights
represented on short unsigned value (not sure it's like that, and I've
always been bad at this kind of math! :-P).

> >> I'm pretty sure that libxl__sched_set_params needs to get the correct
> >> scheduler for the particular domain, but I've no idea how to get that.=
..
> >>
> > Again, I was thinking something like what Juergen did here could help
> > (go getting the scheduler of the cpupool the domain belongs to)... O am
> > I misunderstanding the issue?
> >
> > +    poolinfo =3D libxl_list_cpupool(ctx,&n_pools);
> > +    if (!poolinfo)
> > +        return ERROR_NOMEM;
> > +
> > +    ret =3D ERROR_INVAL;
> > +    for (p =3D 0; p<  n_pools; p++) {
> > +        if (poolinfo[p].poolid =3D=3D poolid) {
> > +            scparams->sched =3D poolinfo[p].sched;
> > +            ret =3D 0;
> > +        }
> > +        libxl_cpupoolinfo_dispose(poolinfo + p);
> > +    }
> > +
>=20
> This was exactly the purpose of the sniplet.
>=20
Good to hear that. :-)

> > # xl create vm1.cfg
> > Parsing config from vm1.cfg
> > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain =
sched sedf: Invalid argument
> >
> > And I'm getting the above independently on what I put in the config fil=
e
> > (valid params, no params at all, etc.). I also can't change the
> > scheduling parameters of a domain on-line anymore:
> >
> > # xl sched-sedf -d 3 -p 100 -s 50
> > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain =
sched sedf: Invalid argument
> > libxl_sched_sedf_domain_set failed.
> >
> > I'll try digging a bit more into this ASAP.
>=20
> It's easy: Ian repeated an error he (and I) corrected elsewhere:
> He's always setting period, regardless of the changed parameter...
>=20
Not sure, I think Ian's patch fixes that:

--- a/tools/libxl/xl_cmdimpl.c  Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Tue May 22 15:58:47 2012 +0100
@@ -627,23 +627,20 @@ static void parse_config_data(const char
=20
     libxl_domain_build_info_init_type(b_info, c_info->type);
=20
-    /* the following is the actual config parsing with overriding values i=
n the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight =3D l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap =3D l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms =3D l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us =3D l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period =3D l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period =3D l;
+        b_info->sched_params.slice =3D l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period =3D l;
+        b_info->sched_params.latency =3D l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period =3D l;
+        b_info->sched_params.extratime =3D l;
=20

So it has to be something else...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-sI+45926pLNKNJ9nHPzQ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8kBgACgkQk4XaBE3IOsS2LQCdHqAxo0oRh4jv9sQFyFBrHjJZ
2f0AniV0JirgV96ySNYZFehNx8VBVIx3
=Ts4J
-----END PGP SIGNATURE-----

--=-sI+45926pLNKNJ9nHPzQ--



--===============7424550767268220643==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7424550767268220643==--



From xen-devel-bounces@lists.xen.org Wed May 23 07:22:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX5tc-0005EB-2F; Wed, 23 May 2012 07:22:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX5tb-0005E6-4X
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 07:22:11 +0000
Received: from [85.158.143.99:13448] by server-3.bemta-4.messagelabs.com id
	AC/BE-05853-2209CBF4; Wed, 23 May 2012 07:22:10 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337757728!28790104!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8552 invoked from network); 23 May 2012 07:22:08 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-3.tower-216.messagelabs.com with SMTP;
	23 May 2012 07:22:08 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78090461; Wed, 23 May 2012 09:22:07 +0200
Message-ID: <1337757720.27368.58.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 09:22:00 +0200
In-Reply-To: <4FBC76E3.5020602@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7424550767268220643=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7424550767268220643==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-sI+45926pLNKNJ9nHPzQ"


--=-sI+45926pLNKNJ9nHPzQ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 07:34 +0200, Juergen Gross wrote:
> > #define PERIOD_MAX MILLISECS(10000) /* 10s  */
> > #define PERIOD_MIN (MICROSECS(10))  /* 10us */
> > #define SLICE_MIN (MICROSECS(5))    /*  5us */
>=20
> I think this should remain in the hypervisor only.
>=20
Me too.

> > Also, extratime is a flag, so I think 0 and 1 are both meaningful
> > values, maybe we can go for -1 as for cap (I'll try and let you know).
>=20
> Why not -1 for all values?
>=20
Would work, I guess, unless there's some collision with big weights
represented on short unsigned value (not sure it's like that, and I've
always been bad at this kind of math! :-P).

> >> I'm pretty sure that libxl__sched_set_params needs to get the correct
> >> scheduler for the particular domain, but I've no idea how to get that.=
..
> >>
> > Again, I was thinking something like what Juergen did here could help
> > (go getting the scheduler of the cpupool the domain belongs to)... O am
> > I misunderstanding the issue?
> >
> > +    poolinfo =3D libxl_list_cpupool(ctx,&n_pools);
> > +    if (!poolinfo)
> > +        return ERROR_NOMEM;
> > +
> > +    ret =3D ERROR_INVAL;
> > +    for (p =3D 0; p<  n_pools; p++) {
> > +        if (poolinfo[p].poolid =3D=3D poolid) {
> > +            scparams->sched =3D poolinfo[p].sched;
> > +            ret =3D 0;
> > +        }
> > +        libxl_cpupoolinfo_dispose(poolinfo + p);
> > +    }
> > +
>=20
> This was exactly the purpose of the sniplet.
>=20
Good to hear that. :-)

> > # xl create vm1.cfg
> > Parsing config from vm1.cfg
> > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain =
sched sedf: Invalid argument
> >
> > And I'm getting the above independently on what I put in the config fil=
e
> > (valid params, no params at all, etc.). I also can't change the
> > scheduling parameters of a domain on-line anymore:
> >
> > # xl sched-sedf -d 3 -p 100 -s 50
> > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain =
sched sedf: Invalid argument
> > libxl_sched_sedf_domain_set failed.
> >
> > I'll try digging a bit more into this ASAP.
>=20
> It's easy: Ian repeated an error he (and I) corrected elsewhere:
> He's always setting period, regardless of the changed parameter...
>=20
Not sure, I think Ian's patch fixes that:

--- a/tools/libxl/xl_cmdimpl.c  Tue May 22 14:19:07 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Tue May 22 15:58:47 2012 +0100
@@ -627,23 +627,20 @@ static void parse_config_data(const char
=20
     libxl_domain_build_info_init_type(b_info, c_info->type);
=20
-    /* the following is the actual config parsing with overriding values i=
n the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight =3D l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap =3D l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms =3D l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us =3D l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period =3D l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period =3D l;
+        b_info->sched_params.slice =3D l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period =3D l;
+        b_info->sched_params.latency =3D l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period =3D l;
+        b_info->sched_params.extratime =3D l;
=20

So it has to be something else...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-sI+45926pLNKNJ9nHPzQ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8kBgACgkQk4XaBE3IOsS2LQCdHqAxo0oRh4jv9sQFyFBrHjJZ
2f0AniV0JirgV96ySNYZFehNx8VBVIx3
=Ts4J
-----END PGP SIGNATURE-----

--=-sI+45926pLNKNJ9nHPzQ--



--===============7424550767268220643==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7424550767268220643==--



From xen-devel-bounces@lists.xen.org Wed May 23 07:34:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:34:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX64u-0005O9-Bo; Wed, 23 May 2012 07:33:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX64t-0005O4-2i
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 07:33:51 +0000
Received: from [85.158.139.83:7154] by server-7.bemta-5.messagelabs.com id
	00/A0-12065-ED29CBF4; Wed, 23 May 2012 07:33:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337758429!29847054!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21643 invoked from network); 23 May 2012 07:33:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 07:33:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 08:33:47 +0100
Message-Id: <4FBCAF1902000078000855C5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 08:34:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
In-Reply-To: <4FBBB9AF.6020704@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 18:07, Andre Przywara <andre.przywara@amd.com> wrote:
> while testing some APERF/MPERF semantics I discovered that this feature 
> is enabled in Xen Dom0, but is not reliable.
> The Linux kernel's scheduler uses this feature if it sees the CPUID bit, 
> leading to costly RDMSR traps (a few 100,000s during a kernel compile) 
> and bogus values due to VCPU migration during the measurement.
> The attached patch explicitly disables this CPU capability inside the 
> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the 
> patch applied.
> I am not sure if the PVOPS code is the right place to fix this, we could 
> as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not 
> sure if it's worth to do so.
> 
> Awaiting your comments.

First of all I'm of the opinion that this indeed should not be
masked in the hypervisor - there's no reason to disallow the
guest to read these registers (but we should of course deny
writes as long as Xen is controlling P-states, which we do).

Next I'd like to note that in our kernels we simply don't build
arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
suppressed, there's no consumer of the feature flag in our
kernels.

So I would think that your suggested change is appropriate,
but I'm adding Konrad to Cc as these days he's the one to pick
this up.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 07:34:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:34:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX64u-0005O9-Bo; Wed, 23 May 2012 07:33:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX64t-0005O4-2i
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 07:33:51 +0000
Received: from [85.158.139.83:7154] by server-7.bemta-5.messagelabs.com id
	00/A0-12065-ED29CBF4; Wed, 23 May 2012 07:33:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337758429!29847054!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21643 invoked from network); 23 May 2012 07:33:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 07:33:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 08:33:47 +0100
Message-Id: <4FBCAF1902000078000855C5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 08:34:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
In-Reply-To: <4FBBB9AF.6020704@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 18:07, Andre Przywara <andre.przywara@amd.com> wrote:
> while testing some APERF/MPERF semantics I discovered that this feature 
> is enabled in Xen Dom0, but is not reliable.
> The Linux kernel's scheduler uses this feature if it sees the CPUID bit, 
> leading to costly RDMSR traps (a few 100,000s during a kernel compile) 
> and bogus values due to VCPU migration during the measurement.
> The attached patch explicitly disables this CPU capability inside the 
> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the 
> patch applied.
> I am not sure if the PVOPS code is the right place to fix this, we could 
> as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not 
> sure if it's worth to do so.
> 
> Awaiting your comments.

First of all I'm of the opinion that this indeed should not be
masked in the hypervisor - there's no reason to disallow the
guest to read these registers (but we should of course deny
writes as long as Xen is controlling P-states, which we do).

Next I'd like to note that in our kernels we simply don't build
arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
suppressed, there's no consumer of the feature flag in our
kernels.

So I would think that your suggested change is appropriate,
but I'm adding Konrad to Cc as these days he's the one to pick
this up.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 07:41:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6C0-0005aC-HF; Wed, 23 May 2012 07:41:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX6By-0005a7-Rc
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 07:41:11 +0000
Received: from [85.158.138.51:17555] by server-4.bemta-3.messagelabs.com id
	AB/6F-25780-5949CBF4; Wed, 23 May 2012 07:41:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337758868!28620181!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16602 invoked from network); 23 May 2012 07:41:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 07:41:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12618012"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 07:41:08 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 08:41:08 +0100
Message-ID: <1337758867.3991.6.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Wed, 23 May 2012 08:41:07 +0100
In-Reply-To: <1337757720.27368.58.camel@Solace>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	George Dunlap <dunlapg@umich.edu>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 08:22 +0100, Dario Faggioli wrote:
> On Wed, 2012-05-23 at 07:34 +0200, Juergen Gross wrote:
> > > #define PERIOD_MAX MILLISECS(10000) /* 10s  */
> > > #define PERIOD_MIN (MICROSECS(10))  /* 10us */
> > > #define SLICE_MIN (MICROSECS(5))    /*  5us */
> > 
> > I think this should remain in the hypervisor only.
> > 
> Me too.

Agreed.

> > > Also, extratime is a flag, so I think 0 and 1 are both meaningful
> > > values, maybe we can go for -1 as for cap (I'll try and let you know).
> > 
> > Why not -1 for all values?
> > 
> Would work, I guess, unless there's some collision with big weights
> represented on short unsigned value (not sure it's like that, and I've
> always been bad at this kind of math! :-P).

In general in libxl where we can use 0 for the default we do so. It's
not a strong preference though and it's mainly historical from before
the IDL supported init_val.

> > >> I'm pretty sure that libxl__sched_set_params needs to get the correct
> > >> scheduler for the particular domain, but I've no idea how to get that...
> > >>
> > > Again, I was thinking something like what Juergen did here could help
> > > (go getting the scheduler of the cpupool the domain belongs to)... O am
> > > I misunderstanding the issue?
> > >
> > > +    poolinfo = libxl_list_cpupool(ctx,&n_pools);
> > > +    if (!poolinfo)
> > > +        return ERROR_NOMEM;
> > > +
> > > +    ret = ERROR_INVAL;
> > > +    for (p = 0; p<  n_pools; p++) {
> > > +        if (poolinfo[p].poolid == poolid) {
> > > +            scparams->sched = poolinfo[p].sched;
> > > +            ret = 0;
> > > +        }
> > > +        libxl_cpupoolinfo_dispose(poolinfo + p);
> > > +    }
> > > +
> > 
> > This was exactly the purpose of the sniplet.
> > 
> Good to hear that. :-)

Great, I'll make a suitably named function out of it.

> > > # xl create vm1.cfg
> > > Parsing config from vm1.cfg
> > > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> > >
> > > And I'm getting the above independently on what I put in the config file
> > > (valid params, no params at all, etc.). I also can't change the
> > > scheduling parameters of a domain on-line anymore:
> > >
> > > # xl sched-sedf -d 3 -p 100 -s 50
> > > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> > > libxl_sched_sedf_domain_set failed.
> > >
> > > I'll try digging a bit more into this ASAP.
> > 
> > It's easy: Ian repeated an error he (and I) corrected elsewhere:
> > He's always setting period, regardless of the changed parameter...
> > 
> Not sure, I think Ian's patch fixes that:

I thought so to!


> --- a/tools/libxl/xl_cmdimpl.c  Tue May 22 14:19:07 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 22 15:58:47 2012 +0100
> @@ -627,23 +627,20 @@ static void parse_config_data(const char
>  
>      libxl_domain_build_info_init_type(b_info, c_info->type);
>  
> -    /* the following is the actual config parsing with overriding values in the structures */
> +    /* the following is the actual config parsing with overriding
> +     * values in the structures */
>      if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
>          b_info->sched_params.weight = l;
>      if (!xlu_cfg_get_long (config, "cap", &l, 0))
>          b_info->sched_params.cap = l;
> -    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
> -        b_info->sched_params.tslice_ms = l;
> -    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
> -        b_info->sched_params.ratelimit_us = l;
>      if (!xlu_cfg_get_long (config, "period", &l, 0))
>          b_info->sched_params.period = l;
>      if (!xlu_cfg_get_long (config, "slice", &l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.slice = l;
>      if (!xlu_cfg_get_long (config, "latency", &l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.latency = l;
>      if (!xlu_cfg_get_long (config, "extratime", &l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.extratime = l;
>  
> 
> So it has to be something else...
> 
> Thanks and Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 07:41:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 07:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6C0-0005aC-HF; Wed, 23 May 2012 07:41:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX6By-0005a7-Rc
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 07:41:11 +0000
Received: from [85.158.138.51:17555] by server-4.bemta-3.messagelabs.com id
	AB/6F-25780-5949CBF4; Wed, 23 May 2012 07:41:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337758868!28620181!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16602 invoked from network); 23 May 2012 07:41:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 07:41:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12618012"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 07:41:08 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 08:41:08 +0100
Message-ID: <1337758867.3991.6.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Wed, 23 May 2012 08:41:07 +0100
In-Reply-To: <1337757720.27368.58.camel@Solace>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	George Dunlap <dunlapg@umich.edu>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 08:22 +0100, Dario Faggioli wrote:
> On Wed, 2012-05-23 at 07:34 +0200, Juergen Gross wrote:
> > > #define PERIOD_MAX MILLISECS(10000) /* 10s  */
> > > #define PERIOD_MIN (MICROSECS(10))  /* 10us */
> > > #define SLICE_MIN (MICROSECS(5))    /*  5us */
> > 
> > I think this should remain in the hypervisor only.
> > 
> Me too.

Agreed.

> > > Also, extratime is a flag, so I think 0 and 1 are both meaningful
> > > values, maybe we can go for -1 as for cap (I'll try and let you know).
> > 
> > Why not -1 for all values?
> > 
> Would work, I guess, unless there's some collision with big weights
> represented on short unsigned value (not sure it's like that, and I've
> always been bad at this kind of math! :-P).

In general in libxl where we can use 0 for the default we do so. It's
not a strong preference though and it's mainly historical from before
the IDL supported init_val.

> > >> I'm pretty sure that libxl__sched_set_params needs to get the correct
> > >> scheduler for the particular domain, but I've no idea how to get that...
> > >>
> > > Again, I was thinking something like what Juergen did here could help
> > > (go getting the scheduler of the cpupool the domain belongs to)... O am
> > > I misunderstanding the issue?
> > >
> > > +    poolinfo = libxl_list_cpupool(ctx,&n_pools);
> > > +    if (!poolinfo)
> > > +        return ERROR_NOMEM;
> > > +
> > > +    ret = ERROR_INVAL;
> > > +    for (p = 0; p<  n_pools; p++) {
> > > +        if (poolinfo[p].poolid == poolid) {
> > > +            scparams->sched = poolinfo[p].sched;
> > > +            ret = 0;
> > > +        }
> > > +        libxl_cpupoolinfo_dispose(poolinfo + p);
> > > +    }
> > > +
> > 
> > This was exactly the purpose of the sniplet.
> > 
> Good to hear that. :-)

Great, I'll make a suitably named function out of it.

> > > # xl create vm1.cfg
> > > Parsing config from vm1.cfg
> > > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> > >
> > > And I'm getting the above independently on what I put in the config file
> > > (valid params, no params at all, etc.). I also can't change the
> > > scheduling parameters of a domain on-line anymore:
> > >
> > > # xl sched-sedf -d 3 -p 100 -s 50
> > > libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> > > libxl_sched_sedf_domain_set failed.
> > >
> > > I'll try digging a bit more into this ASAP.
> > 
> > It's easy: Ian repeated an error he (and I) corrected elsewhere:
> > He's always setting period, regardless of the changed parameter...
> > 
> Not sure, I think Ian's patch fixes that:

I thought so to!


> --- a/tools/libxl/xl_cmdimpl.c  Tue May 22 14:19:07 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 22 15:58:47 2012 +0100
> @@ -627,23 +627,20 @@ static void parse_config_data(const char
>  
>      libxl_domain_build_info_init_type(b_info, c_info->type);
>  
> -    /* the following is the actual config parsing with overriding values in the structures */
> +    /* the following is the actual config parsing with overriding
> +     * values in the structures */
>      if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
>          b_info->sched_params.weight = l;
>      if (!xlu_cfg_get_long (config, "cap", &l, 0))
>          b_info->sched_params.cap = l;
> -    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
> -        b_info->sched_params.tslice_ms = l;
> -    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
> -        b_info->sched_params.ratelimit_us = l;
>      if (!xlu_cfg_get_long (config, "period", &l, 0))
>          b_info->sched_params.period = l;
>      if (!xlu_cfg_get_long (config, "slice", &l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.slice = l;
>      if (!xlu_cfg_get_long (config, "latency", &l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.latency = l;
>      if (!xlu_cfg_get_long (config, "extratime", &l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.extratime = l;
>  
> 
> So it has to be something else...
> 
> Thanks and Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:10:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:10:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6e2-0006IV-JW; Wed, 23 May 2012 08:10:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX6e1-0006IQ-8c
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:10:09 +0000
Received: from [85.158.143.35:44427] by server-3.bemta-4.messagelabs.com id
	A7/0F-05853-06B9CBF4; Wed, 23 May 2012 08:10:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337760606!5491229!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 704 invoked from network); 23 May 2012 08:10:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 08:10:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 09:10:05 +0100
Message-Id: <4FBCB79D02000078000855F5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 09:10:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Malcolm Crossley" <malcolm.crossley@citrix.com>
References: <4FBBB9AF.6020704@amd.com> <4FBBC44B.9020007@goop.org>
	<4FBBC81E.9040502@citrix.com>
In-Reply-To: <4FBBC81E.9040502@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 19:08, Malcolm Crossley <malcolm.crossley@citrix.com> wrote:
> On 22/05/12 17:52, Jeremy Fitzhardinge wrote:
>> On 05/22/2012 09:07 AM, Andre Przywara wrote:
>>> Hi,
>>>
>>> while testing some APERF/MPERF semantics I discovered that this
>>> feature is enabled in Xen Dom0, but is not reliable.
>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>> compile) and bogus values due to VCPU migration during the measurement.
>>> The attached patch explicitly disables this CPU capability inside the
>>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
>>> the patch applied.
>>> I am not sure if the PVOPS code is the right place to fix this, we
>>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>>> sure if it's worth to do so.
>> Seems reasonable to me.  Do all those RDMSR traps have a measurable
>> performance effect?
>>
>> Also, is there a symbolic constant for that bit?
>>
>>      J
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org 
>> http://lists.xen.org/xen-devel 
> Hi,
> 
> I've attached a patch which masks the matching CPUID leaves in the Xen 
> pv_cpuid function.
> Should the logic in pv_cpuid be changed to only pass through explictly 
> allowed CPUID leaves rather than masking
> them using case statements?
> 
> Malcolm

As said in another reply, I don't think we should mask the feature
in the hypervisor (and certainly not when "cpufreq=dom0-kernel").
Furthermore your patch does this only for Dom0.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:10:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:10:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6e2-0006IV-JW; Wed, 23 May 2012 08:10:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX6e1-0006IQ-8c
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:10:09 +0000
Received: from [85.158.143.35:44427] by server-3.bemta-4.messagelabs.com id
	A7/0F-05853-06B9CBF4; Wed, 23 May 2012 08:10:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337760606!5491229!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 704 invoked from network); 23 May 2012 08:10:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 08:10:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 09:10:05 +0100
Message-Id: <4FBCB79D02000078000855F5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 09:10:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Malcolm Crossley" <malcolm.crossley@citrix.com>
References: <4FBBB9AF.6020704@amd.com> <4FBBC44B.9020007@goop.org>
	<4FBBC81E.9040502@citrix.com>
In-Reply-To: <4FBBC81E.9040502@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 22.05.12 at 19:08, Malcolm Crossley <malcolm.crossley@citrix.com> wrote:
> On 22/05/12 17:52, Jeremy Fitzhardinge wrote:
>> On 05/22/2012 09:07 AM, Andre Przywara wrote:
>>> Hi,
>>>
>>> while testing some APERF/MPERF semantics I discovered that this
>>> feature is enabled in Xen Dom0, but is not reliable.
>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>> compile) and bogus values due to VCPU migration during the measurement.
>>> The attached patch explicitly disables this CPU capability inside the
>>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with
>>> the patch applied.
>>> I am not sure if the PVOPS code is the right place to fix this, we
>>> could as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>>> sure if it's worth to do so.
>> Seems reasonable to me.  Do all those RDMSR traps have a measurable
>> performance effect?
>>
>> Also, is there a symbolic constant for that bit?
>>
>>      J
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org 
>> http://lists.xen.org/xen-devel 
> Hi,
> 
> I've attached a patch which masks the matching CPUID leaves in the Xen 
> pv_cpuid function.
> Should the logic in pv_cpuid be changed to only pass through explictly 
> allowed CPUID leaves rather than masking
> them using case statements?
> 
> Malcolm

As said in another reply, I don't think we should mask the feature
in the hypervisor (and certainly not when "cpufreq=dom0-kernel").
Furthermore your patch does this only for Dom0.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:20:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:20:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6nH-0006Sc-R9; Wed, 23 May 2012 08:19:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX6nF-0006SX-QJ
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:19:42 +0000
Received: from [85.158.143.35:16535] by server-2.bemta-4.messagelabs.com id
	E5/9B-12211-D9D9CBF4; Wed, 23 May 2012 08:19:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337761180!12430452!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29831 invoked from network); 23 May 2012 08:19:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 08:19:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 09:19:39 +0100
Message-Id: <4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 09:20:11 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Daniel Castro" <evil.dani@gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
	<CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
In-Reply-To: <CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: James Harper <james.harper@bendigoit.com.au>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 01:43, Daniel Castro <evil.dani@gmail.com> wrote:
> On Tue, May 22, 2012 at 8:53 AM, James Harper <james.harper@bendigoit.com.au> wrote:
>> Is sizeof() what you expect it to be? That would cause the first request to 
> be (mostly) okay, but subsequent requests to be further and further out of 
> alignment.
> 
> Right on the spot!
> Here is the output of sizeof for the struct and for each member:
> SIZEOF ring_res:12 id:8 operation:1 status:2
> There is seems to be an alignment problem, them sum of members is 11,
> but the whole struct is 12, the question now is, how can I tackle this
> problem?

But sizeof is 12, as expected. There should be no place in your
code where you (directly or indirectly) sum up the individual
members' sizes.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:20:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:20:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6nH-0006Sc-R9; Wed, 23 May 2012 08:19:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX6nF-0006SX-QJ
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:19:42 +0000
Received: from [85.158.143.35:16535] by server-2.bemta-4.messagelabs.com id
	E5/9B-12211-D9D9CBF4; Wed, 23 May 2012 08:19:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337761180!12430452!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29831 invoked from network); 23 May 2012 08:19:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 08:19:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 09:19:39 +0100
Message-Id: <4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 09:20:11 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Daniel Castro" <evil.dani@gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
	<CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
In-Reply-To: <CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: James Harper <james.harper@bendigoit.com.au>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 01:43, Daniel Castro <evil.dani@gmail.com> wrote:
> On Tue, May 22, 2012 at 8:53 AM, James Harper <james.harper@bendigoit.com.au> wrote:
>> Is sizeof() what you expect it to be? That would cause the first request to 
> be (mostly) okay, but subsequent requests to be further and further out of 
> alignment.
> 
> Right on the spot!
> Here is the output of sizeof for the struct and for each member:
> SIZEOF ring_res:12 id:8 operation:1 status:2
> There is seems to be an alignment problem, them sum of members is 11,
> but the whole struct is 12, the question now is, how can I tackle this
> problem?

But sizeof is 12, as expected. There should be no place in your
code where you (directly or indirectly) sum up the individual
members' sizes.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:21:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6p5-0006X5-BH; Wed, 23 May 2012 08:21:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SX6p3-0006Wt-Io
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:21:33 +0000
Received: from [85.158.143.99:22502] by server-3.bemta-4.messagelabs.com id
	DD/67-05853-C0E9CBF4; Wed, 23 May 2012 08:21:32 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337761289!24040660!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgzODUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22622 invoked from network); 23 May 2012 08:21:30 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-216.messagelabs.com with SMTP;
	23 May 2012 08:21:30 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 23 May 2012 01:21:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103235423"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 01:21:27 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 01:21:27 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 16:21:25 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNN2h0qQ57b8BtJkWdmYwPQ9jK8pbVZpGQ//+PTQCAAg4V4A==
Date: Wed, 23 May 2012 08:21:24 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
	<1337675538.10118.15.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337675538.10118.15.camel@zakaz.uk.xensource.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Tuesday, May 22, 2012 4:32 PM
> To: Ren, Yongjie
> Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> 'xen-devel@lists.xen.org'
> Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> 
> On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > > -----Original Message-----
> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > Sent: Monday, May 21, 2012 10:22 PM
> > > To: Wu, GabrielX
> > > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> Dom0:568b445...
> > >
> > > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > > Hi all,
> > > >
> > > > This is the test report of xen-unstable tree.
> > > > There are two issues found and one issue got fixed.
> > > >
> > > > Version Info:
> > > >
> > >
> ============================================================
> > > =====
> > > > xen-changeset:   25334:f8279258e3c9
> > > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > > >
> > >
> ============================================================
> > > =====
> > > >
> > > > New issues(2)
> > > > ==============
> > > > 1. long stop during the guest boot process with qcow image
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > > 2. vcpu-set doesn't take effect on guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > >
> > > Does it work if you (in the guest) do
> > > echo 1 > /sys/../cpu9/online ?
> > >
> > The problem is there's no hot-add vCPU in /sys/devices/system/cpu
> directory.
> > e.g. I start a guest with 2 vCPU,
> 
> Do you mean with maxvcpu=4 vcpus=2 in your config?
> 
> >  then I run command 'xl vcpu-set $domID 4'.
> 
> >     There are only 2 CPUs(cpu0 and cpu1) listed in
> /sys/devices/system/cpu directory.
> 
> The bugzilla says "But it'll effect to dom0.", does this mean that
> 	xl vcpu-set domU 4
> will actually set dom0 to 12 vcpus? Or does it just mean that
> 	xl vcpu-set 0 4
> works where
> 	xl vcpu-set domU 4
> does not?
> 
'xl vcpu-set 0 4' works well for dom0 in some circumstances.
'xl vcpu-set domU 4' doesn't work for dumU at all.

'xl vcpu-set' for dom0 also has a bug. 
You can use 'xl vcpu-set' command to decrease vCPU number for dom0;
but when you try to increase its number you might meet dom0 panic.
Please look at my comment #2 in the following BZ.
http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730

> There's quite a bit of potentially useful info missing from the bug
> report, like guest config details, xenstore content etc,
> http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen has a list of
> various log files which are often useful to help solve bugs, please do
> consider including those which seem relevant on future bug reports.
> 
Thanks for your advice. We'll pay more attention to this.

-Jay

> Ian.
> 
> >
> > > There is a race in the generic hotplug code.
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:21:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX6p5-0006X5-BH; Wed, 23 May 2012 08:21:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SX6p3-0006Wt-Io
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:21:33 +0000
Received: from [85.158.143.99:22502] by server-3.bemta-4.messagelabs.com id
	DD/67-05853-C0E9CBF4; Wed, 23 May 2012 08:21:32 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337761289!24040660!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjgzODUy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22622 invoked from network); 23 May 2012 08:21:30 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-216.messagelabs.com with SMTP;
	23 May 2012 08:21:30 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 23 May 2012 01:21:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103235423"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 01:21:27 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 01:21:27 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.6]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 16:21:25 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNN2h0qQ57b8BtJkWdmYwPQ9jK8pbVZpGQ//+PTQCAAg4V4A==
Date: Wed, 23 May 2012 08:21:24 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
	<1337675538.10118.15.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337675538.10118.15.camel@zakaz.uk.xensource.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>, "Zhou, Chao" <chao.zhou@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Tuesday, May 22, 2012 4:32 PM
> To: Ren, Yongjie
> Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> 'xen-devel@lists.xen.org'
> Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> 
> On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > > -----Original Message-----
> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > Sent: Monday, May 21, 2012 10:22 PM
> > > To: Wu, GabrielX
> > > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> Dom0:568b445...
> > >
> > > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > > Hi all,
> > > >
> > > > This is the test report of xen-unstable tree.
> > > > There are two issues found and one issue got fixed.
> > > >
> > > > Version Info:
> > > >
> > >
> ============================================================
> > > =====
> > > > xen-changeset:   25334:f8279258e3c9
> > > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > > >
> > >
> ============================================================
> > > =====
> > > >
> > > > New issues(2)
> > > > ==============
> > > > 1. long stop during the guest boot process with qcow image
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > > 2. vcpu-set doesn't take effect on guest
> > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > >
> > > Does it work if you (in the guest) do
> > > echo 1 > /sys/../cpu9/online ?
> > >
> > The problem is there's no hot-add vCPU in /sys/devices/system/cpu
> directory.
> > e.g. I start a guest with 2 vCPU,
> 
> Do you mean with maxvcpu=4 vcpus=2 in your config?
> 
> >  then I run command 'xl vcpu-set $domID 4'.
> 
> >     There are only 2 CPUs(cpu0 and cpu1) listed in
> /sys/devices/system/cpu directory.
> 
> The bugzilla says "But it'll effect to dom0.", does this mean that
> 	xl vcpu-set domU 4
> will actually set dom0 to 12 vcpus? Or does it just mean that
> 	xl vcpu-set 0 4
> works where
> 	xl vcpu-set domU 4
> does not?
> 
'xl vcpu-set 0 4' works well for dom0 in some circumstances.
'xl vcpu-set domU 4' doesn't work for dumU at all.

'xl vcpu-set' for dom0 also has a bug. 
You can use 'xl vcpu-set' command to decrease vCPU number for dom0;
but when you try to increase its number you might meet dom0 panic.
Please look at my comment #2 in the following BZ.
http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730

> There's quite a bit of potentially useful info missing from the bug
> report, like guest config details, xenstore content etc,
> http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen has a list of
> various log files which are often useful to help solve bugs, please do
> consider including those which seem relevant on future bug reports.
> 
Thanks for your advice. We'll pay more attention to this.

-Jay

> Ian.
> 
> >
> > > There is a race in the generic hotplug code.
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:45:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7CA-0006nT-EP; Wed, 23 May 2012 08:45:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX7C9-0006nO-GI
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 08:45:25 +0000
Received: from [85.158.143.35:29393] by server-3.bemta-4.messagelabs.com id
	D9/8E-05853-4A3ACBF4; Wed, 23 May 2012 08:45:24 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337762720!13643027!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjMzNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11407 invoked from network); 23 May 2012 08:45:21 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 08:45:21 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=vfZwDCDNNpU3yiFIToyquZUreB3fTvyqZx8SjcexnJKKcn7qsTthbaKI
	Gu9dxAy1kiKdsuWNS2C16W56hKINNROlIdEj7+jpm8jH2oWKpb4ZIfGod
	RkAm0kWedXs6DBMFupAzcxL92MlKOviqIyKc3Plwy0bGT2rQoyPrK1x6f
	JBOlxtaSFDEHx0ZYjr+aCCXROEsmXhe1BaqD1m1qFkPjHnb2zJSUYwDxm
	9muHH7oz6iCZwNAbiHrI41TozyPM7;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337762721; x=1369298721;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=2noBugsH9qH2uEtv4ajdYv3EJPe1baUT1x5dfHOpfxg=;
	b=ZWibhQdgAIsWZN+WO+5I8FJQK+B7PN5lpaQw3COjAoORf809vQmfEkyp
	+AQ3juNybx1USL6cMj1sA9t+Gm2QxEB5YndAnsLm319uHzi2GwlYBkl3P
	/E2SFSygrPrPJup4Ir4pC23jJs59adYdOwtHDmsT6iOfdBK9znYAWWQkA
	qheWq09nk/dXjsp51/8NKsYIVOFz6UpSTxohU6gE3AGaHkhyQho61jDGK
	Dfw7Y6zeb6Xwph4wknPxqGGXYsXXV;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="94168461"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 23 May 2012 10:45:19 +0200
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="134805526"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 23 May 2012 10:45:19 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id A18E5963F6A;
	Wed, 23 May 2012 10:45:19 +0200 (CEST)
Message-ID: <4FBCA39F.4090408@ts.fujitsu.com>
Date: Wed, 23 May 2012 10:45:19 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace>
	<4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
	<1337758867.3991.6.camel@dagon.hellion.org.uk>
In-Reply-To: <1337758867.3991.6.camel@dagon.hellion.org.uk>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 09:41 AM, Ian Campbell wrote:
> # xl create vm1.cfg
> Parsing config from vm1.cfg
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
>
> And I'm getting the above independently on what I put in the config file
> (valid params, no params at all, etc.). I also can't change the
> scheduling parameters of a domain on-line anymore:
>
> # xl sched-sedf -d 3 -p 100 -s 50
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> libxl_sched_sedf_domain_set failed.
>
> I'll try digging a bit more into this ASAP.
>>> It's easy: Ian repeated an error he (and I) corrected elsewhere:
>>> He's always setting period, regardless of the changed parameter...
>>>
>> Not sure, I think Ian's patch fixes that:
> I thought so to!

It fixes the original error.

>> --- a/tools/libxl/xl_cmdimpl.c  Tue May 22 14:19:07 2012 +0100
>> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 22 15:58:47 2012 +0100
>> @@ -627,23 +627,20 @@ static void parse_config_data(const char
>>
>>       libxl_domain_build_info_init_type(b_info, c_info->type);
>>
>> -    /* the following is the actual config parsing with overriding values in the structures */
>> +    /* the following is the actual config parsing with overriding
>> +     * values in the structures */
>>       if (!xlu_cfg_get_long (config, "cpu_weight",&l, 0))
>>           b_info->sched_params.weight = l;
>>       if (!xlu_cfg_get_long (config, "cap",&l, 0))
>>           b_info->sched_params.cap = l;
>> -    if (!xlu_cfg_get_long (config, "tslice_ms",&l, 0))
>> -        b_info->sched_params.tslice_ms = l;
>> -    if (!xlu_cfg_get_long (config, "ratelimit_us",&l, 0))
>> -        b_info->sched_params.ratelimit_us = l;
>>       if (!xlu_cfg_get_long (config, "period",&l, 0))
>>           b_info->sched_params.period = l;
>>       if (!xlu_cfg_get_long (config, "slice",&l, 0))
>> -        b_info->sched_params.period = l;
>> +        b_info->sched_params.slice = l;
>>       if (!xlu_cfg_get_long (config, "latency",&l, 0))
>> -        b_info->sched_params.period = l;
>> +        b_info->sched_params.latency = l;
>>       if (!xlu_cfg_get_long (config, "extratime",&l, 0))
>> -        b_info->sched_params.period = l;
>> +        b_info->sched_params.extratime = l;
>>
>>
>> So it has to be something else...

Oh yes:

+
+    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
+        period = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
+        period = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
+        period = scinfo->extratime;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
+        period = scinfo->weight;

Regardless which parameter was changed, it is always 'period' which is set
to the changed value.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:45:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7CA-0006nT-EP; Wed, 23 May 2012 08:45:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX7C9-0006nO-GI
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 08:45:25 +0000
Received: from [85.158.143.35:29393] by server-3.bemta-4.messagelabs.com id
	D9/8E-05853-4A3ACBF4; Wed, 23 May 2012 08:45:24 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337762720!13643027!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjMzNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11407 invoked from network); 23 May 2012 08:45:21 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 08:45:21 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=vfZwDCDNNpU3yiFIToyquZUreB3fTvyqZx8SjcexnJKKcn7qsTthbaKI
	Gu9dxAy1kiKdsuWNS2C16W56hKINNROlIdEj7+jpm8jH2oWKpb4ZIfGod
	RkAm0kWedXs6DBMFupAzcxL92MlKOviqIyKc3Plwy0bGT2rQoyPrK1x6f
	JBOlxtaSFDEHx0ZYjr+aCCXROEsmXhe1BaqD1m1qFkPjHnb2zJSUYwDxm
	9muHH7oz6iCZwNAbiHrI41TozyPM7;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337762721; x=1369298721;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=2noBugsH9qH2uEtv4ajdYv3EJPe1baUT1x5dfHOpfxg=;
	b=ZWibhQdgAIsWZN+WO+5I8FJQK+B7PN5lpaQw3COjAoORf809vQmfEkyp
	+AQ3juNybx1USL6cMj1sA9t+Gm2QxEB5YndAnsLm319uHzi2GwlYBkl3P
	/E2SFSygrPrPJup4Ir4pC23jJs59adYdOwtHDmsT6iOfdBK9znYAWWQkA
	qheWq09nk/dXjsp51/8NKsYIVOFz6UpSTxohU6gE3AGaHkhyQho61jDGK
	Dfw7Y6zeb6Xwph4wknPxqGGXYsXXV;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="94168461"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 23 May 2012 10:45:19 +0200
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="134805526"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 23 May 2012 10:45:19 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id A18E5963F6A;
	Wed, 23 May 2012 10:45:19 +0200 (CEST)
Message-ID: <4FBCA39F.4090408@ts.fujitsu.com>
Date: Wed, 23 May 2012 10:45:19 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace>
	<4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
	<1337758867.3991.6.camel@dagon.hellion.org.uk>
In-Reply-To: <1337758867.3991.6.camel@dagon.hellion.org.uk>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 09:41 AM, Ian Campbell wrote:
> # xl create vm1.cfg
> Parsing config from vm1.cfg
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
>
> And I'm getting the above independently on what I put in the config file
> (valid params, no params at all, etc.). I also can't change the
> scheduling parameters of a domain on-line anymore:
>
> # xl sched-sedf -d 3 -p 100 -s 50
> libxl: error: libxl.c:3417:libxl_sched_sedf_domain_set: setting domain sched sedf: Invalid argument
> libxl_sched_sedf_domain_set failed.
>
> I'll try digging a bit more into this ASAP.
>>> It's easy: Ian repeated an error he (and I) corrected elsewhere:
>>> He's always setting period, regardless of the changed parameter...
>>>
>> Not sure, I think Ian's patch fixes that:
> I thought so to!

It fixes the original error.

>> --- a/tools/libxl/xl_cmdimpl.c  Tue May 22 14:19:07 2012 +0100
>> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 22 15:58:47 2012 +0100
>> @@ -627,23 +627,20 @@ static void parse_config_data(const char
>>
>>       libxl_domain_build_info_init_type(b_info, c_info->type);
>>
>> -    /* the following is the actual config parsing with overriding values in the structures */
>> +    /* the following is the actual config parsing with overriding
>> +     * values in the structures */
>>       if (!xlu_cfg_get_long (config, "cpu_weight",&l, 0))
>>           b_info->sched_params.weight = l;
>>       if (!xlu_cfg_get_long (config, "cap",&l, 0))
>>           b_info->sched_params.cap = l;
>> -    if (!xlu_cfg_get_long (config, "tslice_ms",&l, 0))
>> -        b_info->sched_params.tslice_ms = l;
>> -    if (!xlu_cfg_get_long (config, "ratelimit_us",&l, 0))
>> -        b_info->sched_params.ratelimit_us = l;
>>       if (!xlu_cfg_get_long (config, "period",&l, 0))
>>           b_info->sched_params.period = l;
>>       if (!xlu_cfg_get_long (config, "slice",&l, 0))
>> -        b_info->sched_params.period = l;
>> +        b_info->sched_params.slice = l;
>>       if (!xlu_cfg_get_long (config, "latency",&l, 0))
>> -        b_info->sched_params.period = l;
>> +        b_info->sched_params.latency = l;
>>       if (!xlu_cfg_get_long (config, "extratime",&l, 0))
>> -        b_info->sched_params.period = l;
>> +        b_info->sched_params.extratime = l;
>>
>>
>> So it has to be something else...

Oh yes:

+
+    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
+        period = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
+        period = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
+        period = scinfo->extratime;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
+        period = scinfo->weight;

Regardless which parameter was changed, it is always 'period' which is set
to the changed value.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:46:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:46:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7Ct-0006pf-S0; Wed, 23 May 2012 08:46:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX7Cr-0006pR-Uu
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:46:10 +0000
Received: from [85.158.143.99:37094] by server-1.bemta-4.messagelabs.com id
	F6/7A-00342-1D3ACBF4; Wed, 23 May 2012 08:46:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337762767!24083515!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2212 invoked from network); 23 May 2012 08:46:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 08:46:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 09:46:06 +0100
Message-Id: <4FBCC00D020000780008561C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 09:46:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Sam Mulvey" <sam@tacomatelematics.com>
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
In-Reply-To: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 19.05.12 at 22:00, Sam Mulvey <sam@tacomatelematics.com> wrote:
> Recently got a Via VE-900 board.   It has a via nano x2 chip on it, and 
> suggests that it has Intel-compatible virtualization extensions.   Has anyone 
> worked with this board yet?   I thought it would be nice to have a 
> lower-powered, nearly silent Xen machine sitting on my desk.

Looking around a little on their website, they don't seem to
publish proper specifications. Without that, and neither having
access to a respective system to actually test eventual changes,
it would be rather presumptuous to try to extend Xen to support
this. (As a side note, we're in feature freeze right now anyway,
so this could only be done for 4.3 anyway.)

I submitted a request for access to full documentation to them,
but based on past experience I'm not having much hope that any
response will show up (not to speak of a positive one).

> I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not able 
> to load any HVM domains.    I posted this question first on Xen-users, and I 
> was asked if I was able to get KVM or VirtualBox working-- I've tried KVM and 
> managed to get it booting into a Linux livecd and a Windows installer.

That can likely be taken as confirmation of above statement about
being (reasonably) compatible with an already existing HVM
implementation.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:46:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:46:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7Ct-0006pf-S0; Wed, 23 May 2012 08:46:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX7Cr-0006pR-Uu
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:46:10 +0000
Received: from [85.158.143.99:37094] by server-1.bemta-4.messagelabs.com id
	F6/7A-00342-1D3ACBF4; Wed, 23 May 2012 08:46:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337762767!24083515!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM2ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2212 invoked from network); 23 May 2012 08:46:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 08:46:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 09:46:06 +0100
Message-Id: <4FBCC00D020000780008561C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 09:46:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Sam Mulvey" <sam@tacomatelematics.com>
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
In-Reply-To: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 19.05.12 at 22:00, Sam Mulvey <sam@tacomatelematics.com> wrote:
> Recently got a Via VE-900 board.   It has a via nano x2 chip on it, and 
> suggests that it has Intel-compatible virtualization extensions.   Has anyone 
> worked with this board yet?   I thought it would be nice to have a 
> lower-powered, nearly silent Xen machine sitting on my desk.

Looking around a little on their website, they don't seem to
publish proper specifications. Without that, and neither having
access to a respective system to actually test eventual changes,
it would be rather presumptuous to try to extend Xen to support
this. (As a side note, we're in feature freeze right now anyway,
so this could only be done for 4.3 anyway.)

I submitted a request for access to full documentation to them,
but based on past experience I'm not having much hope that any
response will show up (not to speak of a positive one).

> I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not able 
> to load any HVM domains.    I posted this question first on Xen-users, and I 
> was asked if I was able to get KVM or VirtualBox working-- I've tried KVM and 
> managed to get it booting into a Linux livecd and a Windows installer.

That can likely be taken as confirmation of above statement about
being (reasonably) compatible with an already existing HVM
implementation.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:48:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7Eo-0006z6-Hh; Wed, 23 May 2012 08:48:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX7Em-0006yx-Be
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 08:48:08 +0000
Received: from [85.158.139.83:30807] by server-11.bemta-5.messagelabs.com id
	99/2F-23372-744ACBF4; Wed, 23 May 2012 08:48:07 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337762886!29863580!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMzI5OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16404 invoked from network); 23 May 2012 08:48:06 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 08:48:06 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=Zr3MfOG0koMkYVl+BuJFH76jhqcxdt4HNKds/hzfv4Q0R+3k8aD2YpC2
	zeg864T/dXT472knTABQST3s+AJ7XuMFSLcmsZR6fz0u7M/boooI2GKJt
	/HL57qyN5Y6zrUymqyIWCzqCRcTuQfohOPuIlnI6fG6MdysNyJE63oFab
	7XuYpI7leUnkglDl4MHTv2A/8c1HF5spuFdy7Gdt8xgsA5uD/LulWh3CS
	EQCYMjhfM+37wAp4wSDaRqVmkS6dI;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337762886; x=1369298886;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=kDyFZJOkfXbVZN73kI7/c0zzzpPxNDxsj7qkQFxUrkE=;
	b=W0Z84ntldZNldLhiQQvhVeAaj77w+ii4Dpb4nTdDK6GgycHISxF8oNid
	SnYUZDMaTC10dP2BCTspaYBJis0zdEhJgg89uFblMSvPHKkHDtEi7lAD9
	BrnbauN3rt5RzqIOlNW8BNRQL6PsD6W3YvKOFCU00F+BuchmZ23UPTIaN
	lrQuGPl1L8i/EF+UbRuroMOmr4lyxrJMj3c2mgUUsAl6Px53xb/Z54qv7
	j+v2DEK6lTXsUTwWidtNcb+XkhtBU;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="111200670"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 23 May 2012 10:48:05 +0200
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="134805803"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 23 May 2012 10:48:05 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 4A01A959A63;
	Wed, 23 May 2012 10:48:05 +0200 (CEST)
Message-ID: <4FBCA444.1080601@ts.fujitsu.com>
Date: Wed, 23 May 2012 10:48:04 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace>
	<4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
In-Reply-To: <1337757720.27368.58.camel@Solace>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 09:22 AM, Dario Faggioli wrote:
> On Wed, 2012-05-23 at 07:34 +0200, Juergen Gross wrote:
>>> #define PERIOD_MAX MILLISECS(10000) /* 10s  */
>>> #define PERIOD_MIN (MICROSECS(10))  /* 10us */
>>> #define SLICE_MIN (MICROSECS(5))    /*  5us */
>> I think this should remain in the hypervisor only.
>>
> Me too.
>
>>> Also, extratime is a flag, so I think 0 and 1 are both meaningful
>>> values, maybe we can go for -1 as for cap (I'll try and let you know).
>> Why not -1 for all values?
>>
> Would work, I guess, unless there's some collision with big weights
> represented on short unsigned value (not sure it's like that, and I've
> always been bad at this kind of math! :-P).

The -1 would be set in scparams only, and there it is an integer. It should
never be written to the "real" scheduler parameters passed to the hypervisor.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:48:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7Eo-0006z6-Hh; Wed, 23 May 2012 08:48:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX7Em-0006yx-Be
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 08:48:08 +0000
Received: from [85.158.139.83:30807] by server-11.bemta-5.messagelabs.com id
	99/2F-23372-744ACBF4; Wed, 23 May 2012 08:48:07 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337762886!29863580!1
X-Originating-IP: [80.70.172.49]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjQ5ID0+IDIyMzI5OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16404 invoked from network); 23 May 2012 08:48:06 -0000
Received: from dgate10.ts.fujitsu.com (HELO dgate10.ts.fujitsu.com)
	(80.70.172.49)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 08:48:06 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=Zr3MfOG0koMkYVl+BuJFH76jhqcxdt4HNKds/hzfv4Q0R+3k8aD2YpC2
	zeg864T/dXT472knTABQST3s+AJ7XuMFSLcmsZR6fz0u7M/boooI2GKJt
	/HL57qyN5Y6zrUymqyIWCzqCRcTuQfohOPuIlnI6fG6MdysNyJE63oFab
	7XuYpI7leUnkglDl4MHTv2A/8c1HF5spuFdy7Gdt8xgsA5uD/LulWh3CS
	EQCYMjhfM+37wAp4wSDaRqVmkS6dI;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337762886; x=1369298886;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=kDyFZJOkfXbVZN73kI7/c0zzzpPxNDxsj7qkQFxUrkE=;
	b=W0Z84ntldZNldLhiQQvhVeAaj77w+ii4Dpb4nTdDK6GgycHISxF8oNid
	SnYUZDMaTC10dP2BCTspaYBJis0zdEhJgg89uFblMSvPHKkHDtEi7lAD9
	BrnbauN3rt5RzqIOlNW8BNRQL6PsD6W3YvKOFCU00F+BuchmZ23UPTIaN
	lrQuGPl1L8i/EF+UbRuroMOmr4lyxrJMj3c2mgUUsAl6Px53xb/Z54qv7
	j+v2DEK6lTXsUTwWidtNcb+XkhtBU;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="111200670"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate10u.abg.fsc.net with ESMTP; 23 May 2012 10:48:05 +0200
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="134805803"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 23 May 2012 10:48:05 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id 4A01A959A63;
	Wed, 23 May 2012 10:48:05 +0200 (CEST)
Message-ID: <4FBCA444.1080601@ts.fujitsu.com>
Date: Wed, 23 May 2012 10:48:04 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace>
	<4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
In-Reply-To: <1337757720.27368.58.camel@Solace>
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 09:22 AM, Dario Faggioli wrote:
> On Wed, 2012-05-23 at 07:34 +0200, Juergen Gross wrote:
>>> #define PERIOD_MAX MILLISECS(10000) /* 10s  */
>>> #define PERIOD_MIN (MICROSECS(10))  /* 10us */
>>> #define SLICE_MIN (MICROSECS(5))    /*  5us */
>> I think this should remain in the hypervisor only.
>>
> Me too.
>
>>> Also, extratime is a flag, so I think 0 and 1 are both meaningful
>>> values, maybe we can go for -1 as for cap (I'll try and let you know).
>> Why not -1 for all values?
>>
> Would work, I guess, unless there's some collision with big weights
> represented on short unsigned value (not sure it's like that, and I've
> always been bad at this kind of math! :-P).

The -1 would be set in scparams only, and there it is an integer. It should
never be written to the "real" scheduler parameters passed to the hypervisor.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:55:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7LN-0007Qg-5M; Wed, 23 May 2012 08:54:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SX7LL-0007QY-A1
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:54:55 +0000
Received: from [85.158.139.83:52977] by server-2.bemta-5.messagelabs.com id
	47/B0-17716-ED5ACBF4; Wed, 23 May 2012 08:54:54 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337763291!29798923!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11943 invoked from network); 23 May 2012 08:54:52 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 08:54:52 -0000
Received: by vbbfn1 with SMTP id fn1so5822178vbb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 01:54:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=LOSdlwGMgFCeuzzj7ccRKtARzn3ic/ERV6A3tQn2j2g=;
	b=IjhFUQy+OLubGUILQdcpcPg/c6LYiegploeLZT71aMhK0UNemZ7O2I+7wEmvrmSaZW
	ONsulLHm0Ox7umogX0vWOrYZ4GDsETUPu3HWNyLrP0bGrgiISZ8JjtHp3vxyKafhfo88
	D9fEHndnWGYLQ1nBHNdyTtp5viZbJuf/js8LRzGq0gPamEovDr1Bd/u7qXmDG1ZFDhGI
	TFNndyO7Ip0l+CnK1wRmx5ZDi7coXJmDhlImQWIdQiBAA//jFZCHOxSCZnlP/18Js97Y
	n/qknlex2NF2DldCYsXmyF9WmB2cmBXUa4ckixvXmQbiP5Fy2v2c0e9WLI69HhbfVwlS
	x92g==
MIME-Version: 1.0
Received: by 10.220.224.68 with SMTP id in4mr2471261vcb.24.1337763291301; Wed,
	23 May 2012 01:54:51 -0700 (PDT)
Received: by 10.220.70.71 with HTTP; Wed, 23 May 2012 01:54:51 -0700 (PDT)
In-Reply-To: <4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
	<CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
	<4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
Date: Wed, 23 May 2012 17:54:51 +0900
Message-ID: <CAP2B859bvru0ABxRo8wqZfs+a7q2_hn==LDnozvCDeRBBdospw@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: James Harper <james.harper@bendigoit.com.au>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 5:20 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 23.05.12 at 01:43, Daniel Castro <evil.dani@gmail.com> wrote:
>> On Tue, May 22, 2012 at 8:53 AM, James Harper <james.harper@bendigoit.co=
m.au> wrote:
>>> Is sizeof() what you expect it to be? That would cause the first reques=
t to
>> be (mostly) okay, but subsequent requests to be further and further out =
of
>> alignment.
>>
>> Right on the spot!
>> Here is the output of sizeof for the struct and for each member:
>> SIZEOF ring_res:12 id:8 operation:1 status:2
>> There is seems to be an alignment problem, them sum of members is 11,
>> but the whole struct is 12, the question now is, how can I tackle this
>> problem?
>
> But sizeof is 12, as expected. There should be no place in your
> code where you (directly or indirectly) sum up the individual
> members' sizes.

But if you add the members it is id:8 + operation:1 + status:2 =3D 11.
Am I missing something?
Jan, the problem is that I am getting id=3D256 and operation=3Dreal_id, so
James suggested to see if there was an alignment problem. In the back
driver there is no place in the code that would assign id=3D

Daniel

>
> Jan
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 08:55:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 08:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7LN-0007Qg-5M; Wed, 23 May 2012 08:54:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evil.dani@gmail.com>) id 1SX7LL-0007QY-A1
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:54:55 +0000
Received: from [85.158.139.83:52977] by server-2.bemta-5.messagelabs.com id
	47/B0-17716-ED5ACBF4; Wed, 23 May 2012 08:54:54 +0000
X-Env-Sender: evil.dani@gmail.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337763291!29798923!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11943 invoked from network); 23 May 2012 08:54:52 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 08:54:52 -0000
Received: by vbbfn1 with SMTP id fn1so5822178vbb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 01:54:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=LOSdlwGMgFCeuzzj7ccRKtARzn3ic/ERV6A3tQn2j2g=;
	b=IjhFUQy+OLubGUILQdcpcPg/c6LYiegploeLZT71aMhK0UNemZ7O2I+7wEmvrmSaZW
	ONsulLHm0Ox7umogX0vWOrYZ4GDsETUPu3HWNyLrP0bGrgiISZ8JjtHp3vxyKafhfo88
	D9fEHndnWGYLQ1nBHNdyTtp5viZbJuf/js8LRzGq0gPamEovDr1Bd/u7qXmDG1ZFDhGI
	TFNndyO7Ip0l+CnK1wRmx5ZDi7coXJmDhlImQWIdQiBAA//jFZCHOxSCZnlP/18Js97Y
	n/qknlex2NF2DldCYsXmyF9WmB2cmBXUa4ckixvXmQbiP5Fy2v2c0e9WLI69HhbfVwlS
	x92g==
MIME-Version: 1.0
Received: by 10.220.224.68 with SMTP id in4mr2471261vcb.24.1337763291301; Wed,
	23 May 2012 01:54:51 -0700 (PDT)
Received: by 10.220.70.71 with HTTP; Wed, 23 May 2012 01:54:51 -0700 (PDT)
In-Reply-To: <4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
	<CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
	<4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
Date: Wed, 23 May 2012 17:54:51 +0900
Message-ID: <CAP2B859bvru0ABxRo8wqZfs+a7q2_hn==LDnozvCDeRBBdospw@mail.gmail.com>
From: Daniel Castro <evil.dani@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: James Harper <james.harper@bendigoit.com.au>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 5:20 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 23.05.12 at 01:43, Daniel Castro <evil.dani@gmail.com> wrote:
>> On Tue, May 22, 2012 at 8:53 AM, James Harper <james.harper@bendigoit.co=
m.au> wrote:
>>> Is sizeof() what you expect it to be? That would cause the first reques=
t to
>> be (mostly) okay, but subsequent requests to be further and further out =
of
>> alignment.
>>
>> Right on the spot!
>> Here is the output of sizeof for the struct and for each member:
>> SIZEOF ring_res:12 id:8 operation:1 status:2
>> There is seems to be an alignment problem, them sum of members is 11,
>> but the whole struct is 12, the question now is, how can I tackle this
>> problem?
>
> But sizeof is 12, as expected. There should be no place in your
> code where you (directly or indirectly) sum up the individual
> members' sizes.

But if you add the members it is id:8 + operation:1 + status:2 =3D 11.
Am I missing something?
Jan, the problem is that I am getting id=3D256 and operation=3Dreal_id, so
James suggested to see if there was an alignment problem. In the back
driver there is no place in the code that would assign id=3D

Daniel

>
> Jan
>



-- =

+-=3D=3D=3D=3D=3D---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |=A0=A0 | Daniel Castro,=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 |
| |=A0=A0 | Consultant/Programmer.|
| |=A0=A0 | U Andes=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 |
+-------------------------------------+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:00:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7QF-0007ow-Gc; Wed, 23 May 2012 08:59:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SX7QD-0007om-Rq
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:59:58 +0000
Received: from [85.158.138.51:58822] by server-9.bemta-3.messagelabs.com id
	12/DF-11033-D07ACBF4; Wed, 23 May 2012 08:59:57 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337763595!24597222!1
X-Originating-IP: [216.32.180.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6223 invoked from network); 23 May 2012 08:59:56 -0000
Received: from va3ehsobe003.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.13)
	by server-10.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 08:59:56 -0000
Received: from mail172-va3-R.bigfish.com (10.7.14.246) by
	VA3EHSOBE008.bigfish.com (10.7.40.28) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 08:59:43 +0000
Received: from mail172-va3 (localhost [127.0.0.1])	by
	mail172-va3-R.bigfish.com (Postfix) with ESMTP id 934F51A01F1;
	Wed, 23 May 2012 08:59:43 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dIc89bh936eK1432N98dKzz1202hzz8275bhz2dh668h839h93fhd25he5bhf0ah)
Received: from mail172-va3 (localhost.localdomain [127.0.0.1]) by mail172-va3
	(MessageSwitch) id 1337763581929965_30327;
	Wed, 23 May 2012 08:59:41 +0000 (UTC)
Received: from VA3EHSMHS001.bigfish.com (unknown [10.7.14.244])	by
	mail172-va3.bigfish.com (Postfix) with ESMTP id DD5A9220048;
	Wed, 23 May 2012 08:59:41 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS001.bigfish.com (10.7.99.11) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 08:59:39 +0000
X-WSS-ID: 0M4GWZQ-01-1UZ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 281B11028075;	Wed, 23 May 2012 03:59:49 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:00:01 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 03:59:49 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	04:59:48 -0400
Message-ID: <4FBCA702.4010009@amd.com>
Date: Wed, 23 May 2012 10:59:46 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
	<1337703493.27368.18.camel@Solace>
In-Reply-To: <1337703493.27368.18.camel@Solace>
X-OriginatorOrg: amd.com
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjIvMTIgMTg6MTgsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgoKPiBPbiBUdWUsIDIwMTIt
MDUtMjIgYXQgMTY6MDcgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4+PiBJIGRpZCwgSSBn
dWVzcyB3ZSBuZWVkIHRvIGNoZWNrIHRoYXQgYWxsIGNhbGxlcnMgY2FuIGNvcGUgd2l0aCB0aGlz
IG5ldwo+Pj4+IHJldHVybiB2YWx1ZSB0aG91Z2g/Cj4+Pj4KPj4+IFN1cmUsIHRoYXQgd2FzIG9u
bHkgdG8gYmUgc3VyZSBJIGdvdCB3aGF0IHlvdSB3ZXJlIHNheWluZy4gOi0pCj4+Pgo+Pj4gV2hh
dCBJJ20gbm90IGdldHRpbmcgcmlnaHQgbm93IGlzIHdoZXRoZXIgb3Igbm90IGEgcHJvcGVyIHBh
dGNoIGRvaW5nCj4+PiBzdWNoIGlzIHN0aWxsIGludGVyZXN0aW5nIG9yIG5vdD8gQWxzbywgaG93
IGNvbWUgYW0gSSBhbG1vc3QgdGhlIG9ubHkKPj4+IG9uZSBzZWVpbmcgdGhhdCBpc3N1ZT8gRG9l
cyBpdCByZWxhdGUgdG8gZ2NjIHZlcnNpb24/IDotTwo+Pgo+PiBUaGVyZSdzIGJlZW4gYSBoYW5k
ZnVsIG9mIG90aGVyIHJlcG9ydHMgdGhpcyB3ZWVrLiBJdCBkb2VzIHNlZW0gdG8gYmUgdG8KPj4g
ZG8gd2l0aCBnY2MgdmVyc2lvbiwgeWVzLgo+Pgo+IE9rIHRoZW4sIEkgZGlkbid0IG5vdGljZSB0
aGF0LiBJIHdlbnQgdGhyb3VnaCB0aGUgY2FsbGVycyBhbmQgdGhleSBzZWVtCj4gdG8gYmUgZmlu
ZSB3aXRoIHRoZSBjaGFuZ2UsIGFzIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZnVuY3Rpb24gaXMg
cHJldHR5Cj4gbXVjaCBhbHdheXMgY29udmVydGVkIHRvIHRoZSBlbnVtIChpLmUuLCBsaWJ4bF9k
b21haW5fdHlwZSkgYW5kIHVzZWQgaW4KPiBhIHN3aXRjaCB3aXRoIGEgcHJvcGVyICdkZWZhdWx0
JyBjbGF1c2UsIGluIGNhc2UgdGhleSBjYXJlIGFib3V0Cj4gc29tZXRoaW5nIGRpZmZlcmVudCBm
cm9tIF9IVk0gb3IgX1BWLgo+IAo+IFNvLCB0aGUgYmVsb3cgaXMgd2hhdCBJJ20gdXNpbmcgdG8g
YnVpbGQgKGFuZCBydW4pIHRoZXNlIGRheXMuLi4gT3Igd2FzCj4gaXQgc29tZXRoaW5nIGRpZmZl
cmVudCB0aGF0IHlvdSBtZWFudCB3aGVuIHNheWluZyAiY2hlY2sgdGhhdCBhbGwKPiBjYWxsZXJz
IGNhbiBjb3BlIHdpdGggdGhpcyIgPwo+IAo+IChJIGNhbiByZXBvc3QgYXMgYSBzZXBhcmF0ZSBt
YWlsIGlmIHdhbnRlZCkKPiAKPiBEYXJpbwo+IAo+IDg8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCj4gCj4gbGlieGw6IG1ha2UgbGlieGxfX2RvbWFpbl90eXBlIHJldHVybiAnaW50Jwo+IAo+
IFRvIGF2b2lkIGdjYyA+IDQuNi4zICBjb21wbGFpbmluZyBhYm91dDoKCgpJIGhhdmUgZ2NjIDQu
NS4zIGFuZCBzZWUgdGhpcy4KQ2hyaXN0b3BoCgo+IAo+IGxpYnhsLmM6IEluIGZ1bmN0aW9uIOKA
mGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5OiBlcnJvcjog
Y2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCYbGli
eGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IENhbGxlcnMgaGF2ZSBiZWVu
IGNoZWNrZWQgYW5kIGFyZSBmaW5lIHdpdGggdGhlIGNoYW5nZS4KPiAKPiBTaWduZWQtb2ZmLWJ5
OiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiAKPiBkaWZmIC1y
IDZkYzgwZGY1MGZhOCB0b29scy9saWJ4bC9saWJ4bF9kb20uYwo+IC0tLSBhL3Rvb2xzL2xpYnhs
L2xpYnhsX2RvbS5jCVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsrKyBiL3Rvb2xz
L2xpYnhsL2xpYnhsX2RvbS5jCVR1ZSBNYXkgMjIgMTg6MDY6NDEgMjAxMiArMDIwMAo+IEBAIC0y
NSw3ICsyNSw3IEBACj4gIAo+ICAjaW5jbHVkZSAibGlieGxfaW50ZXJuYWwuaCIKPiAgCj4gLWxp
YnhsX2RvbWFpbl90eXBlIGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf
dCBkb21pZCkKPiAraW50IGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf
dCBkb21pZCkKPiAgewo+ICAgICAgbGlieGxfY3R4ICpjdHggPSBsaWJ4bF9fZ2Nfb3duZXIoZ2Mp
Owo+ICAgICAgeGNfZG9tYWluaW5mb190IGluZm87Cj4gZGlmZiAtciA2ZGM4MGRmNTBmYTggdG9v
bHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVy
bmFsLmgJVHVlIE1heSAyMiAxNjozMDoxMSAyMDEyICswMjAwCj4gKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfaW50ZXJuYWwuaAlUdWUgTWF5IDIyIDE4OjA2OjQxIDIwMTIgKzAyMDAKPiBAQCAtNzE0
LDcgKzcxNCw3IEBAIGludCBsaWJ4bF9fc2VsZl9waXBlX2VhdGFsbChpbnQgZmQpOyAvKiAKPiAg
Cj4gIAo+ICAvKiBmcm9tIHhsX2RvbSAqLwo+IC1faGlkZGVuIGxpYnhsX2RvbWFpbl90eXBlIGxp
YnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCk7Cj4gK19oaWRk
ZW4gaW50IGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCk7
Cj4gIF9oaWRkZW4gaW50IGxpYnhsX19kb21haW5fc2h1dGRvd25fcmVhc29uKGxpYnhsX19nYyAq
Z2MsIHVpbnQzMl90IGRvbWlkKTsKPiAgX2hpZGRlbiBpbnQgbGlieGxfX3NjaGVkX3NldF9wYXJh
bXMobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsIGxpYnhsX3NjaGVkX3BhcmFtcyAqc2Nw
YXJhbXMpOwo+ICAjZGVmaW5lIExJQlhMX19ET01BSU5fSVNfVFlQRShnYywgZG9taWQsIHR5cGUp
IFwKPiAKPiAKCgoKLS0gCi0tLXRvIHNhdGlzZnkgRXVyb3BlYW4gTGF3IGZvciBidXNpbmVzcyBs
ZXR0ZXJzOgpBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEdtYkgKRWluc3RlaW5yaW5nIDI0LCA4NTY4
OSBEb3JuYWNoIGIuIE11ZW5jaGVuCkdlc2NoYWVmdHNmdWVocmVyOiBBbGJlcnRvIEJvenpvLCBB
bmRyZXcgQm93ZApTaXR6OiBEb3JuYWNoLCBHZW1laW5kZSBBc2NoaGVpbSwgTGFuZGtyZWlzIE11
ZW5jaGVuClJlZ2lzdGVyZ2VyaWNodCBNdWVuY2hlbiwgSFJCIE5yLiA0MzYzMgoKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n
IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRl
dmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 09:00:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7QF-0007ow-Gc; Wed, 23 May 2012 08:59:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SX7QD-0007om-Rq
	for xen-devel@lists.xen.org; Wed, 23 May 2012 08:59:58 +0000
Received: from [85.158.138.51:58822] by server-9.bemta-3.messagelabs.com id
	12/DF-11033-D07ACBF4; Wed, 23 May 2012 08:59:57 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337763595!24597222!1
X-Originating-IP: [216.32.180.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6223 invoked from network); 23 May 2012 08:59:56 -0000
Received: from va3ehsobe003.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.13)
	by server-10.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 08:59:56 -0000
Received: from mail172-va3-R.bigfish.com (10.7.14.246) by
	VA3EHSOBE008.bigfish.com (10.7.40.28) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 08:59:43 +0000
Received: from mail172-va3 (localhost [127.0.0.1])	by
	mail172-va3-R.bigfish.com (Postfix) with ESMTP id 934F51A01F1;
	Wed, 23 May 2012 08:59:43 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dIc89bh936eK1432N98dKzz1202hzz8275bhz2dh668h839h93fhd25he5bhf0ah)
Received: from mail172-va3 (localhost.localdomain [127.0.0.1]) by mail172-va3
	(MessageSwitch) id 1337763581929965_30327;
	Wed, 23 May 2012 08:59:41 +0000 (UTC)
Received: from VA3EHSMHS001.bigfish.com (unknown [10.7.14.244])	by
	mail172-va3.bigfish.com (Postfix) with ESMTP id DD5A9220048;
	Wed, 23 May 2012 08:59:41 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS001.bigfish.com (10.7.99.11) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 08:59:39 +0000
X-WSS-ID: 0M4GWZQ-01-1UZ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 281B11028075;	Wed, 23 May 2012 03:59:49 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:00:01 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 03:59:49 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	04:59:48 -0400
Message-ID: <4FBCA702.4010009@amd.com>
Date: Wed, 23 May 2012 10:59:46 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
	<1337703493.27368.18.camel@Solace>
In-Reply-To: <1337703493.27368.18.camel@Solace>
X-OriginatorOrg: amd.com
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjIvMTIgMTg6MTgsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgoKPiBPbiBUdWUsIDIwMTIt
MDUtMjIgYXQgMTY6MDcgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToKPj4+PiBJIGRpZCwgSSBn
dWVzcyB3ZSBuZWVkIHRvIGNoZWNrIHRoYXQgYWxsIGNhbGxlcnMgY2FuIGNvcGUgd2l0aCB0aGlz
IG5ldwo+Pj4+IHJldHVybiB2YWx1ZSB0aG91Z2g/Cj4+Pj4KPj4+IFN1cmUsIHRoYXQgd2FzIG9u
bHkgdG8gYmUgc3VyZSBJIGdvdCB3aGF0IHlvdSB3ZXJlIHNheWluZy4gOi0pCj4+Pgo+Pj4gV2hh
dCBJJ20gbm90IGdldHRpbmcgcmlnaHQgbm93IGlzIHdoZXRoZXIgb3Igbm90IGEgcHJvcGVyIHBh
dGNoIGRvaW5nCj4+PiBzdWNoIGlzIHN0aWxsIGludGVyZXN0aW5nIG9yIG5vdD8gQWxzbywgaG93
IGNvbWUgYW0gSSBhbG1vc3QgdGhlIG9ubHkKPj4+IG9uZSBzZWVpbmcgdGhhdCBpc3N1ZT8gRG9l
cyBpdCByZWxhdGUgdG8gZ2NjIHZlcnNpb24/IDotTwo+Pgo+PiBUaGVyZSdzIGJlZW4gYSBoYW5k
ZnVsIG9mIG90aGVyIHJlcG9ydHMgdGhpcyB3ZWVrLiBJdCBkb2VzIHNlZW0gdG8gYmUgdG8KPj4g
ZG8gd2l0aCBnY2MgdmVyc2lvbiwgeWVzLgo+Pgo+IE9rIHRoZW4sIEkgZGlkbid0IG5vdGljZSB0
aGF0LiBJIHdlbnQgdGhyb3VnaCB0aGUgY2FsbGVycyBhbmQgdGhleSBzZWVtCj4gdG8gYmUgZmlu
ZSB3aXRoIHRoZSBjaGFuZ2UsIGFzIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZnVuY3Rpb24gaXMg
cHJldHR5Cj4gbXVjaCBhbHdheXMgY29udmVydGVkIHRvIHRoZSBlbnVtIChpLmUuLCBsaWJ4bF9k
b21haW5fdHlwZSkgYW5kIHVzZWQgaW4KPiBhIHN3aXRjaCB3aXRoIGEgcHJvcGVyICdkZWZhdWx0
JyBjbGF1c2UsIGluIGNhc2UgdGhleSBjYXJlIGFib3V0Cj4gc29tZXRoaW5nIGRpZmZlcmVudCBm
cm9tIF9IVk0gb3IgX1BWLgo+IAo+IFNvLCB0aGUgYmVsb3cgaXMgd2hhdCBJJ20gdXNpbmcgdG8g
YnVpbGQgKGFuZCBydW4pIHRoZXNlIGRheXMuLi4gT3Igd2FzCj4gaXQgc29tZXRoaW5nIGRpZmZl
cmVudCB0aGF0IHlvdSBtZWFudCB3aGVuIHNheWluZyAiY2hlY2sgdGhhdCBhbGwKPiBjYWxsZXJz
IGNhbiBjb3BlIHdpdGggdGhpcyIgPwo+IAo+IChJIGNhbiByZXBvc3QgYXMgYSBzZXBhcmF0ZSBt
YWlsIGlmIHdhbnRlZCkKPiAKPiBEYXJpbwo+IAo+IDg8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCj4gCj4gbGlieGw6IG1ha2UgbGlieGxfX2RvbWFpbl90eXBlIHJldHVybiAnaW50Jwo+IAo+
IFRvIGF2b2lkIGdjYyA+IDQuNi4zICBjb21wbGFpbmluZyBhYm91dDoKCgpJIGhhdmUgZ2NjIDQu
NS4zIGFuZCBzZWUgdGhpcy4KQ2hyaXN0b3BoCgo+IAo+IGxpYnhsLmM6IEluIGZ1bmN0aW9uIOKA
mGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5OiBlcnJvcjog
Y2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCYbGli
eGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IENhbGxlcnMgaGF2ZSBiZWVu
IGNoZWNrZWQgYW5kIGFyZSBmaW5lIHdpdGggdGhlIGNoYW5nZS4KPiAKPiBTaWduZWQtb2ZmLWJ5
OiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiAKPiBkaWZmIC1y
IDZkYzgwZGY1MGZhOCB0b29scy9saWJ4bC9saWJ4bF9kb20uYwo+IC0tLSBhL3Rvb2xzL2xpYnhs
L2xpYnhsX2RvbS5jCVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsrKyBiL3Rvb2xz
L2xpYnhsL2xpYnhsX2RvbS5jCVR1ZSBNYXkgMjIgMTg6MDY6NDEgMjAxMiArMDIwMAo+IEBAIC0y
NSw3ICsyNSw3IEBACj4gIAo+ICAjaW5jbHVkZSAibGlieGxfaW50ZXJuYWwuaCIKPiAgCj4gLWxp
YnhsX2RvbWFpbl90eXBlIGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf
dCBkb21pZCkKPiAraW50IGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJf
dCBkb21pZCkKPiAgewo+ICAgICAgbGlieGxfY3R4ICpjdHggPSBsaWJ4bF9fZ2Nfb3duZXIoZ2Mp
Owo+ICAgICAgeGNfZG9tYWluaW5mb190IGluZm87Cj4gZGlmZiAtciA2ZGM4MGRmNTBmYTggdG9v
bHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVy
bmFsLmgJVHVlIE1heSAyMiAxNjozMDoxMSAyMDEyICswMjAwCj4gKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfaW50ZXJuYWwuaAlUdWUgTWF5IDIyIDE4OjA2OjQxIDIwMTIgKzAyMDAKPiBAQCAtNzE0
LDcgKzcxNCw3IEBAIGludCBsaWJ4bF9fc2VsZl9waXBlX2VhdGFsbChpbnQgZmQpOyAvKiAKPiAg
Cj4gIAo+ICAvKiBmcm9tIHhsX2RvbSAqLwo+IC1faGlkZGVuIGxpYnhsX2RvbWFpbl90eXBlIGxp
YnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCk7Cj4gK19oaWRk
ZW4gaW50IGxpYnhsX19kb21haW5fdHlwZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCk7
Cj4gIF9oaWRkZW4gaW50IGxpYnhsX19kb21haW5fc2h1dGRvd25fcmVhc29uKGxpYnhsX19nYyAq
Z2MsIHVpbnQzMl90IGRvbWlkKTsKPiAgX2hpZGRlbiBpbnQgbGlieGxfX3NjaGVkX3NldF9wYXJh
bXMobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsIGxpYnhsX3NjaGVkX3BhcmFtcyAqc2Nw
YXJhbXMpOwo+ICAjZGVmaW5lIExJQlhMX19ET01BSU5fSVNfVFlQRShnYywgZG9taWQsIHR5cGUp
IFwKPiAKPiAKCgoKLS0gCi0tLXRvIHNhdGlzZnkgRXVyb3BlYW4gTGF3IGZvciBidXNpbmVzcyBs
ZXR0ZXJzOgpBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEdtYkgKRWluc3RlaW5yaW5nIDI0LCA4NTY4
OSBEb3JuYWNoIGIuIE11ZW5jaGVuCkdlc2NoYWVmdHNmdWVocmVyOiBBbGJlcnRvIEJvenpvLCBB
bmRyZXcgQm93ZApTaXR6OiBEb3JuYWNoLCBHZW1laW5kZSBBc2NoaGVpbSwgTGFuZGtyZWlzIE11
ZW5jaGVuClJlZ2lzdGVyZ2VyaWNodCBNdWVuY2hlbiwgSFJCIE5yLiA0MzYzMgoKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n
IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRl
dmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 09:05:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7Uw-00084j-7b; Wed, 23 May 2012 09:04:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SX7Uv-00084b-1j
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:04:49 +0000
Received: from [85.158.138.51:6397] by server-4.bemta-3.messagelabs.com id
	41/09-25780-038ACBF4; Wed, 23 May 2012 09:04:48 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337763886!19749333!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5535 invoked from network); 23 May 2012 09:04:47 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-7.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	23 May 2012 09:04:47 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SX7Ur-0001SO-HR
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 02:04:45 -0700
Date: Wed, 23 May 2012 02:04:45 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337763885533-5709086.post@n5.nabble.com>
In-Reply-To: <1337602407165-5709046.post@n5.nabble.com>
References: <1337602407165-5709046.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CkZhbnR1IHdyb3RlCj4gCj4gSSBoYXZlIGJ1aWx0IG9uIGNsZWFuIHN5c3RlbSB3aXRoIHhlbi11
bnN0YWJsZSAyNTM3NCBhbmQgc3RvcHMgd2l0aCB0aGlzCj4gZXJyb3I6Cj4gZ2NjICAtTzEgLWZu
by1vbWl0LWZyYW1lLXBvaW50ZXIgLW02NCAtZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu
dTk5Cj4gLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl
bWVudAo+IC1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgICAtRF9fWEVOX1RPT0xTX18gLU1N
RCAtTUYgLmxpYnhsLm8uZCAKPiAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0xBUkdFRklMRTY0X1NP
VVJDRSAtZm5vLW9wdGltaXplLXNpYmxpbmctY2FsbHMKPiAtV2Vycm9yIC1Xbm8tZm9ybWF0LXpl
cm8tbGVuZ3RoIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMKPiAtV25vLWRlY2xhcmF0aW9uLWFmdGVy
LXN0YXRlbWVudCAtV2Zvcm1hdC1ub25saXRlcmFsIC1JLiAtZlBJQyAtcHRocmVhZAo+IC1JL21u
dC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2xpYnhjCj4g
LUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvaW5j
bHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rv
b2xzL2xpYnhjCj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4v
Li4vdG9vbHMvaW5jbHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xp
YnhsLy4uLy4uL3Rvb2xzL3hlbnN0b3JlCj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcv
dG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3Rh
YmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Jsa3RhcDIvY29udHJvbAo+IC1JL21udC92
bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Jsa3RhcDIvaW5j
bHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rv
b2xzL2luY2x1ZGUgLWluY2x1ZGUKPiAvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMv
bGlieGwvLi4vLi4vdG9vbHMvY29uZmlnLmggIC1jIC1vCj4gbGlieGwubyBsaWJ4bC5jIAo+IGxp
YnhsLmM6IEluIGZ1bmN0aW9uIMOibGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPDojoKPiBsaWJ4
bC5jOjEyMzM6OTogZXJyb3I6IGNhc2UgdmFsdWUgw6I0Mjk0OTY3Mjk1w6Igbm90IGluIGVudW1l
cmF0ZWQgdHlwZQo+IMOibGlieGxfZG9tYWluX3R5cGXDoiBbLVdlcnJvcj1zd2l0Y2hdCj4gY2Mx
OiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPiBtYWtlWzNdOiAqKiogW2xp
YnhsLm9dIEVycm9yIDEKPiBtYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL21udC92bS94ZW4v
eGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsJwo+IG1ha2VbMl06ICoqKiBbc3ViZGlyLWluc3Rh
bGwtbGlieGxdIEVycm9yIDIKPiBtYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL21udC92bS94
ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzJwo+IG1ha2VbMV06ICoqKiBbc3ViZGlycy1pbnN0YWxs
XSBFcnJvciAyCj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0veGVuL3hlbi11
bnN0YWJsZS5oZy90b29scycKPiBtYWtlOiAqKiogW2luc3RhbGwtdG9vbHNdIEVycm9yIDIKPiAK
PiBQcmV2aW91cyBidWlsZCB3aXRoIGNoYW5nZXNldCAyNTMyNiB3YXMgd29ya2luZwo+IApJIGhh
dmUgZm91bmQgdGhlIGJ1ZywgaXMgb24gdGhpcyBwYXRjaDoKaHR0cDovL3hlbmJpdHMueGVuLm9y
Zy9oZy94ZW4tdW5zdGFibGUuaGcvcmV2LzhkY2U3YTQxMjFiOQpJIHRyaWVkIHJlbW92aW5nIHRo
aXMgcGF0Y2ggKGhnIGJhY2tvdXQgLXIgMjUzNjQpIHNvbHZlcyB0aGUgcHJvYmxlbQoKLS0KVmll
dyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogaHR0cDovL3hlbi4xMDQ1NzEyLm41Lm5hYmJsZS5j
b20vQnVpbGQtZXJyb3Itb2YtbGlieGwtaW4teGVuLXVuc3RhYmxlLWNoYW5nZXNldC0yNTM3NC10
cDU3MDkwNDZwNTcwOTA4Ni5odG1sClNlbnQgZnJvbSB0aGUgWGVuIC0gRGV2IG1haWxpbmcgbGlz
dCBhcmNoaXZlIGF0IE5hYmJsZS5jb20uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54
ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 09:05:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7Uw-00084j-7b; Wed, 23 May 2012 09:04:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SX7Uv-00084b-1j
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:04:49 +0000
Received: from [85.158.138.51:6397] by server-4.bemta-3.messagelabs.com id
	41/09-25780-038ACBF4; Wed, 23 May 2012 09:04:48 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337763886!19749333!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5535 invoked from network); 23 May 2012 09:04:47 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-7.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	23 May 2012 09:04:47 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SX7Ur-0001SO-HR
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 02:04:45 -0700
Date: Wed, 23 May 2012 02:04:45 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337763885533-5709086.post@n5.nabble.com>
In-Reply-To: <1337602407165-5709046.post@n5.nabble.com>
References: <1337602407165-5709046.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CkZhbnR1IHdyb3RlCj4gCj4gSSBoYXZlIGJ1aWx0IG9uIGNsZWFuIHN5c3RlbSB3aXRoIHhlbi11
bnN0YWJsZSAyNTM3NCBhbmQgc3RvcHMgd2l0aCB0aGlzCj4gZXJyb3I6Cj4gZ2NjICAtTzEgLWZu
by1vbWl0LWZyYW1lLXBvaW50ZXIgLW02NCAtZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu
dTk5Cj4gLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl
bWVudAo+IC1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgICAtRF9fWEVOX1RPT0xTX18gLU1N
RCAtTUYgLmxpYnhsLm8uZCAKPiAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0xBUkdFRklMRTY0X1NP
VVJDRSAtZm5vLW9wdGltaXplLXNpYmxpbmctY2FsbHMKPiAtV2Vycm9yIC1Xbm8tZm9ybWF0LXpl
cm8tbGVuZ3RoIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMKPiAtV25vLWRlY2xhcmF0aW9uLWFmdGVy
LXN0YXRlbWVudCAtV2Zvcm1hdC1ub25saXRlcmFsIC1JLiAtZlBJQyAtcHRocmVhZAo+IC1JL21u
dC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2xpYnhjCj4g
LUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvaW5j
bHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rv
b2xzL2xpYnhjCj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4v
Li4vdG9vbHMvaW5jbHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xp
YnhsLy4uLy4uL3Rvb2xzL3hlbnN0b3JlCj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcv
dG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3Rh
YmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Jsa3RhcDIvY29udHJvbAo+IC1JL21udC92
bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Jsa3RhcDIvaW5j
bHVkZQo+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rv
b2xzL2luY2x1ZGUgLWluY2x1ZGUKPiAvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMv
bGlieGwvLi4vLi4vdG9vbHMvY29uZmlnLmggIC1jIC1vCj4gbGlieGwubyBsaWJ4bC5jIAo+IGxp
YnhsLmM6IEluIGZ1bmN0aW9uIMOibGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPDojoKPiBsaWJ4
bC5jOjEyMzM6OTogZXJyb3I6IGNhc2UgdmFsdWUgw6I0Mjk0OTY3Mjk1w6Igbm90IGluIGVudW1l
cmF0ZWQgdHlwZQo+IMOibGlieGxfZG9tYWluX3R5cGXDoiBbLVdlcnJvcj1zd2l0Y2hdCj4gY2Mx
OiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPiBtYWtlWzNdOiAqKiogW2xp
YnhsLm9dIEVycm9yIDEKPiBtYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL21udC92bS94ZW4v
eGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsJwo+IG1ha2VbMl06ICoqKiBbc3ViZGlyLWluc3Rh
bGwtbGlieGxdIEVycm9yIDIKPiBtYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL21udC92bS94
ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzJwo+IG1ha2VbMV06ICoqKiBbc3ViZGlycy1pbnN0YWxs
XSBFcnJvciAyCj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0veGVuL3hlbi11
bnN0YWJsZS5oZy90b29scycKPiBtYWtlOiAqKiogW2luc3RhbGwtdG9vbHNdIEVycm9yIDIKPiAK
PiBQcmV2aW91cyBidWlsZCB3aXRoIGNoYW5nZXNldCAyNTMyNiB3YXMgd29ya2luZwo+IApJIGhh
dmUgZm91bmQgdGhlIGJ1ZywgaXMgb24gdGhpcyBwYXRjaDoKaHR0cDovL3hlbmJpdHMueGVuLm9y
Zy9oZy94ZW4tdW5zdGFibGUuaGcvcmV2LzhkY2U3YTQxMjFiOQpJIHRyaWVkIHJlbW92aW5nIHRo
aXMgcGF0Y2ggKGhnIGJhY2tvdXQgLXIgMjUzNjQpIHNvbHZlcyB0aGUgcHJvYmxlbQoKLS0KVmll
dyB0aGlzIG1lc3NhZ2UgaW4gY29udGV4dDogaHR0cDovL3hlbi4xMDQ1NzEyLm41Lm5hYmJsZS5j
b20vQnVpbGQtZXJyb3Itb2YtbGlieGwtaW4teGVuLXVuc3RhYmxlLWNoYW5nZXNldC0yNTM3NC10
cDU3MDkwNDZwNTcwOTA4Ni5odG1sClNlbnQgZnJvbSB0aGUgWGVuIC0gRGV2IG1haWxpbmcgbGlz
dCBhcmNoaXZlIGF0IE5hYmJsZS5jb20uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54
ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 09:14:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:14:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7e9-0008Li-99; Wed, 23 May 2012 09:14:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SX7e8-0008La-FY
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:14:20 +0000
Received: from [85.158.139.83:47089] by server-12.bemta-5.messagelabs.com id
	E4/B8-09223-B6AACBF4; Wed, 23 May 2012 09:14:19 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337764457!29921945!1
X-Originating-IP: [65.55.88.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12738 invoked from network); 23 May 2012 09:14:18 -0000
Received: from tx2ehsobe003.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.13)
	by server-5.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:14:18 -0000
Received: from mail194-tx2-R.bigfish.com (10.9.14.250) by
	TX2EHSOBE007.bigfish.com (10.9.40.27) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:14:05 +0000
Received: from mail194-tx2 (localhost [127.0.0.1])	by
	mail194-tx2-R.bigfish.com (Postfix) with ESMTP id EAAC84203CB;
	Wed, 23 May 2012 09:14:04 +0000 (UTC)
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dIc89bh1432N98dKzz1202hzz8275dhz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail194-tx2 (localhost.localdomain [127.0.0.1]) by mail194-tx2
	(MessageSwitch) id 133776444380787_2734;
	Wed, 23 May 2012 09:14:03 +0000 (UTC)
Received: from TX2EHSMHS015.bigfish.com (unknown [10.9.14.247])	by
	mail194-tx2.bigfish.com (Postfix) with ESMTP id 0503BE00E3;
	Wed, 23 May 2012 09:14:03 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS015.bigfish.com (10.9.99.115) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:14:02 +0000
X-WSS-ID: 0M4GXNP-01-2QJ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2D50A102807A;	Wed, 23 May 2012 04:14:12 -0500 (CDT)
Received: from SAUSEXDAG04.amd.com (163.181.55.4) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:14:24 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag04.amd.com
	(163.181.55.4) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:14:12 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:14:11 -0400
Message-ID: <4FBCAA82.1000100@amd.com>
Date: Wed, 23 May 2012 11:14:42 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Fantu <fantonifabio@tiscali.it>
References: <1337602407165-5709046.post@n5.nabble.com>
	<1337763885533-5709086.post@n5.nabble.com>
In-Reply-To: <1337763885533-5709086.post@n5.nabble.com>
X-OriginatorOrg: amd.com
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjMvMTIgMTE6MDQsIEZhbnR1IHdyb3RlOgoKPiAKPiBGYW50dSB3cm90ZQo+Pgo+PiBJ
IGhhdmUgYnVpbHQgb24gY2xlYW4gc3lzdGVtIHdpdGggeGVuLXVuc3RhYmxlIDI1Mzc0IGFuZCBz
dG9wcyB3aXRoIHRoaXMKPj4gZXJyb3I6Cj4+IGdjYyAgLU8xIC1mbm8tb21pdC1mcmFtZS1wb2lu
dGVyIC1tNjQgLWcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OQo+PiAtV2FsbCAtV3N0
cmljdC1wcm90b3R5cGVzIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50Cj4+IC1Xbm8tdW51
c2VkLWJ1dC1zZXQtdmFyaWFibGUgICAtRF9fWEVOX1RPT0xTX18gLU1NRCAtTUYgLmxpYnhsLm8u
ZCAKPj4gLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLWZuby1vcHRp
bWl6ZS1zaWJsaW5nLWNhbGxzCj4+IC1XZXJyb3IgLVduby1mb3JtYXQtemVyby1sZW5ndGggLVdt
aXNzaW5nLWRlY2xhcmF0aW9ucwo+PiAtV25vLWRlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt
V2Zvcm1hdC1ub25saXRlcmFsIC1JLiAtZlBJQyAtcHRocmVhZAo+PiAtSS9tbnQvdm0veGVuL3hl
bi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9saWJ4Ywo+PiAtSS9tbnQvdm0v
eGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNsdWRlCj4+IC1J
L21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2xpYnhj
Cj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xz
L2luY2x1ZGUKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4v
Li4vdG9vbHMveGVuc3RvcmUKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMv
bGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQo+PiAtSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5o
Zy90b29scy9saWJ4bC8uLi8uLi90b29scy9ibGt0YXAyL2NvbnRyb2wKPj4gLUkvbW50L3ZtL3hl
bi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvYmxrdGFwMi9pbmNsdWRl
Cj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xz
L2luY2x1ZGUgLWluY2x1ZGUKPj4gL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xp
YnhsLy4uLy4uL3Rvb2xzL2NvbmZpZy5oICAtYyAtbwo+PiBsaWJ4bC5vIGxpYnhsLmMgCj4+IGxp
YnhsLmM6IEluIGZ1bmN0aW9uIMOibGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPDojoKPj4gbGli
eGwuYzoxMjMzOjk6IGVycm9yOiBjYXNlIHZhbHVlIMOiNDI5NDk2NzI5NcOiIG5vdCBpbiBlbnVt
ZXJhdGVkIHR5cGUKPj4gw6JsaWJ4bF9kb21haW5fdHlwZcOiIFstV2Vycm9yPXN3aXRjaF0KPj4g
Y2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPj4gbWFrZVszXTogKioq
IFtsaWJ4bC5vXSBFcnJvciAxCj4+IG1ha2VbM106IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3Zt
L3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwnCj4+IG1ha2VbMl06ICoqKiBbc3ViZGly
LWluc3RhbGwtbGlieGxdIEVycm9yIDIKPj4gbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9t
bnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZVsxXTogKioqIFtzdWJkaXJz
LWluc3RhbGxdIEVycm9yIDIKPj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0v
eGVuL3hlbi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZTogKioqIFtpbnN0YWxsLXRvb2xzXSBF
cnJvciAyCj4+Cj4+IFByZXZpb3VzIGJ1aWxkIHdpdGggY2hhbmdlc2V0IDI1MzI2IHdhcyB3b3Jr
aW5nCj4+Cj4gSSBoYXZlIGZvdW5kIHRoZSBidWcsIGlzIG9uIHRoaXMgcGF0Y2g6Cj4gaHR0cDov
L3hlbmJpdHMueGVuLm9yZy9oZy94ZW4tdW5zdGFibGUuaGcvcmV2LzhkY2U3YTQxMjFiOQo+IEkg
dHJpZWQgcmVtb3ZpbmcgdGhpcyBwYXRjaCAoaGcgYmFja291dCAtciAyNTM2NCkgc29sdmVzIHRo
ZSBwcm9ibGVtCgpTZWUgdGhlIHRocmVhZCBzdWJqZWN0ZWQgd2l0aAonbGlieGw6IEludHJvZHVj
ZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEIHRvIG1ha2UgZ2NjIGhhcHB5JwoKQ2hyaXN0b3Bo
CgoKLS0gCi0tLXRvIHNhdGlzZnkgRXVyb3BlYW4gTGF3IGZvciBidXNpbmVzcyBsZXR0ZXJzOgpB
ZHZhbmNlZCBNaWNybyBEZXZpY2VzIEdtYkgKRWluc3RlaW5yaW5nIDI0LCA4NTY4OSBEb3JuYWNo
IGIuIE11ZW5jaGVuCkdlc2NoYWVmdHNmdWVocmVyOiBBbGJlcnRvIEJvenpvLCBBbmRyZXcgQm93
ZApTaXR6OiBEb3JuYWNoLCBHZW1laW5kZSBBc2NoaGVpbSwgTGFuZGtyZWlzIE11ZW5jaGVuClJl
Z2lzdGVyZ2VyaWNodCBNdWVuY2hlbiwgSFJCIE5yLiA0MzYzMgoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu
LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 09:14:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:14:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7e9-0008Li-99; Wed, 23 May 2012 09:14:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SX7e8-0008La-FY
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:14:20 +0000
Received: from [85.158.139.83:47089] by server-12.bemta-5.messagelabs.com id
	E4/B8-09223-B6AACBF4; Wed, 23 May 2012 09:14:19 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337764457!29921945!1
X-Originating-IP: [65.55.88.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12738 invoked from network); 23 May 2012 09:14:18 -0000
Received: from tx2ehsobe003.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.13)
	by server-5.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:14:18 -0000
Received: from mail194-tx2-R.bigfish.com (10.9.14.250) by
	TX2EHSOBE007.bigfish.com (10.9.40.27) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:14:05 +0000
Received: from mail194-tx2 (localhost [127.0.0.1])	by
	mail194-tx2-R.bigfish.com (Postfix) with ESMTP id EAAC84203CB;
	Wed, 23 May 2012 09:14:04 +0000 (UTC)
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dIc89bh1432N98dKzz1202hzz8275dhz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail194-tx2 (localhost.localdomain [127.0.0.1]) by mail194-tx2
	(MessageSwitch) id 133776444380787_2734;
	Wed, 23 May 2012 09:14:03 +0000 (UTC)
Received: from TX2EHSMHS015.bigfish.com (unknown [10.9.14.247])	by
	mail194-tx2.bigfish.com (Postfix) with ESMTP id 0503BE00E3;
	Wed, 23 May 2012 09:14:03 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	TX2EHSMHS015.bigfish.com (10.9.99.115) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:14:02 +0000
X-WSS-ID: 0M4GXNP-01-2QJ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2D50A102807A;	Wed, 23 May 2012 04:14:12 -0500 (CDT)
Received: from SAUSEXDAG04.amd.com (163.181.55.4) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:14:24 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag04.amd.com
	(163.181.55.4) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:14:12 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:14:11 -0400
Message-ID: <4FBCAA82.1000100@amd.com>
Date: Wed, 23 May 2012 11:14:42 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Fantu <fantonifabio@tiscali.it>
References: <1337602407165-5709046.post@n5.nabble.com>
	<1337763885533-5709086.post@n5.nabble.com>
In-Reply-To: <1337763885533-5709086.post@n5.nabble.com>
X-OriginatorOrg: amd.com
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjMvMTIgMTE6MDQsIEZhbnR1IHdyb3RlOgoKPiAKPiBGYW50dSB3cm90ZQo+Pgo+PiBJ
IGhhdmUgYnVpbHQgb24gY2xlYW4gc3lzdGVtIHdpdGggeGVuLXVuc3RhYmxlIDI1Mzc0IGFuZCBz
dG9wcyB3aXRoIHRoaXMKPj4gZXJyb3I6Cj4+IGdjYyAgLU8xIC1mbm8tb21pdC1mcmFtZS1wb2lu
dGVyIC1tNjQgLWcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OQo+PiAtV2FsbCAtV3N0
cmljdC1wcm90b3R5cGVzIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50Cj4+IC1Xbm8tdW51
c2VkLWJ1dC1zZXQtdmFyaWFibGUgICAtRF9fWEVOX1RPT0xTX18gLU1NRCAtTUYgLmxpYnhsLm8u
ZCAKPj4gLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLWZuby1vcHRp
bWl6ZS1zaWJsaW5nLWNhbGxzCj4+IC1XZXJyb3IgLVduby1mb3JtYXQtemVyby1sZW5ndGggLVdt
aXNzaW5nLWRlY2xhcmF0aW9ucwo+PiAtV25vLWRlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt
V2Zvcm1hdC1ub25saXRlcmFsIC1JLiAtZlBJQyAtcHRocmVhZAo+PiAtSS9tbnQvdm0veGVuL3hl
bi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9saWJ4Ywo+PiAtSS9tbnQvdm0v
eGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNsdWRlCj4+IC1J
L21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2xpYnhj
Cj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xz
L2luY2x1ZGUKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4v
Li4vdG9vbHMveGVuc3RvcmUKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMv
bGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQo+PiAtSS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5o
Zy90b29scy9saWJ4bC8uLi8uLi90b29scy9ibGt0YXAyL2NvbnRyb2wKPj4gLUkvbW50L3ZtL3hl
bi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvYmxrdGFwMi9pbmNsdWRl
Cj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xz
L2luY2x1ZGUgLWluY2x1ZGUKPj4gL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xp
YnhsLy4uLy4uL3Rvb2xzL2NvbmZpZy5oICAtYyAtbwo+PiBsaWJ4bC5vIGxpYnhsLmMgCj4+IGxp
YnhsLmM6IEluIGZ1bmN0aW9uIMOibGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPDojoKPj4gbGli
eGwuYzoxMjMzOjk6IGVycm9yOiBjYXNlIHZhbHVlIMOiNDI5NDk2NzI5NcOiIG5vdCBpbiBlbnVt
ZXJhdGVkIHR5cGUKPj4gw6JsaWJ4bF9kb21haW5fdHlwZcOiIFstV2Vycm9yPXN3aXRjaF0KPj4g
Y2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPj4gbWFrZVszXTogKioq
IFtsaWJ4bC5vXSBFcnJvciAxCj4+IG1ha2VbM106IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3Zt
L3hlbi94ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwnCj4+IG1ha2VbMl06ICoqKiBbc3ViZGly
LWluc3RhbGwtbGlieGxdIEVycm9yIDIKPj4gbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9t
bnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZVsxXTogKioqIFtzdWJkaXJz
LWluc3RhbGxdIEVycm9yIDIKPj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0v
eGVuL3hlbi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZTogKioqIFtpbnN0YWxsLXRvb2xzXSBF
cnJvciAyCj4+Cj4+IFByZXZpb3VzIGJ1aWxkIHdpdGggY2hhbmdlc2V0IDI1MzI2IHdhcyB3b3Jr
aW5nCj4+Cj4gSSBoYXZlIGZvdW5kIHRoZSBidWcsIGlzIG9uIHRoaXMgcGF0Y2g6Cj4gaHR0cDov
L3hlbmJpdHMueGVuLm9yZy9oZy94ZW4tdW5zdGFibGUuaGcvcmV2LzhkY2U3YTQxMjFiOQo+IEkg
dHJpZWQgcmVtb3ZpbmcgdGhpcyBwYXRjaCAoaGcgYmFja291dCAtciAyNTM2NCkgc29sdmVzIHRo
ZSBwcm9ibGVtCgpTZWUgdGhlIHRocmVhZCBzdWJqZWN0ZWQgd2l0aAonbGlieGw6IEludHJvZHVj
ZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEIHRvIG1ha2UgZ2NjIGhhcHB5JwoKQ2hyaXN0b3Bo
CgoKLS0gCi0tLXRvIHNhdGlzZnkgRXVyb3BlYW4gTGF3IGZvciBidXNpbmVzcyBsZXR0ZXJzOgpB
ZHZhbmNlZCBNaWNybyBEZXZpY2VzIEdtYkgKRWluc3RlaW5yaW5nIDI0LCA4NTY4OSBEb3JuYWNo
IGIuIE11ZW5jaGVuCkdlc2NoYWVmdHNmdWVocmVyOiBBbGJlcnRvIEJvenpvLCBBbmRyZXcgQm93
ZApTaXR6OiBEb3JuYWNoLCBHZW1laW5kZSBBc2NoaGVpbSwgTGFuZGtyZWlzIE11ZW5jaGVuClJl
Z2lzdGVyZ2VyaWNodCBNdWVuY2hlbiwgSFJCIE5yLiA0MzYzMgoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu
LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 09:16:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:16:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7fd-0008Rj-OX; Wed, 23 May 2012 09:15:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX7fc-0008Rb-7w
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:15:52 +0000
Received: from [85.158.138.51:18491] by server-6.bemta-3.messagelabs.com id
	08/C4-18175-4CAACBF4; Wed, 23 May 2012 09:15:48 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337764547!28677081!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26594 invoked from network); 23 May 2012 09:15:47 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-174.messagelabs.com with SMTP;
	23 May 2012 09:15:47 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78094072; Wed, 23 May 2012 11:15:46 +0200
Message-ID: <1337764540.27368.63.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Fantu <fantonifabio@tiscali.it>
Date: Wed, 23 May 2012 11:15:40 +0200
In-Reply-To: <1337763885533-5709086.post@n5.nabble.com>
References: <1337602407165-5709046.post@n5.nabble.com>
	<1337763885533-5709086.post@n5.nabble.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1704154001299346369=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1704154001299346369==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-H5WjNIwiwuZH9vRe/pr+"


--=-H5WjNIwiwuZH9vRe/pr+
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 02:04 -0700, Fantu wrote:
> Fantu wrote
> ...
> > Previous build with changeset 25326 was working
> >=20
> I have found the bug, is on this patch:
> http://xenbits.xen.org/hg/xen-unstable.hg/rev/8dce7a4121b9
> I tried removing this patch (hg backout -r 25364) solves the problem
>=20
Yep. We're discussing the issue in this thread too:

http://lists.xen.org/archives/html/xen-devel/2012-05/msg01269.html

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-H5WjNIwiwuZH9vRe/pr+
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8qrwACgkQk4XaBE3IOsRcSACdGLJAIBc9pCkNdL4TIqROhnOL
tjEAniGuEK2Lg4GiKAXXHZU1UQr9sM+j
=DMgk
-----END PGP SIGNATURE-----

--=-H5WjNIwiwuZH9vRe/pr+--



--===============1704154001299346369==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1704154001299346369==--



From xen-devel-bounces@lists.xen.org Wed May 23 09:16:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:16:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7fd-0008Rj-OX; Wed, 23 May 2012 09:15:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX7fc-0008Rb-7w
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:15:52 +0000
Received: from [85.158.138.51:18491] by server-6.bemta-3.messagelabs.com id
	08/C4-18175-4CAACBF4; Wed, 23 May 2012 09:15:48 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-174.messagelabs.com!1337764547!28677081!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26594 invoked from network); 23 May 2012 09:15:47 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-174.messagelabs.com with SMTP;
	23 May 2012 09:15:47 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78094072; Wed, 23 May 2012 11:15:46 +0200
Message-ID: <1337764540.27368.63.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Fantu <fantonifabio@tiscali.it>
Date: Wed, 23 May 2012 11:15:40 +0200
In-Reply-To: <1337763885533-5709086.post@n5.nabble.com>
References: <1337602407165-5709046.post@n5.nabble.com>
	<1337763885533-5709086.post@n5.nabble.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1704154001299346369=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1704154001299346369==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-H5WjNIwiwuZH9vRe/pr+"


--=-H5WjNIwiwuZH9vRe/pr+
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 02:04 -0700, Fantu wrote:
> Fantu wrote
> ...
> > Previous build with changeset 25326 was working
> >=20
> I have found the bug, is on this patch:
> http://xenbits.xen.org/hg/xen-unstable.hg/rev/8dce7a4121b9
> I tried removing this patch (hg backout -r 25364) solves the problem
>=20
Yep. We're discussing the issue in this thread too:

http://lists.xen.org/archives/html/xen-devel/2012-05/msg01269.html

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-H5WjNIwiwuZH9vRe/pr+
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8qrwACgkQk4XaBE3IOsRcSACdGLJAIBc9pCkNdL4TIqROhnOL
tjEAniGuEK2Lg4GiKAXXHZU1UQr9sM+j
=DMgk
-----END PGP SIGNATURE-----

--=-H5WjNIwiwuZH9vRe/pr+--



--===============1704154001299346369==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1704154001299346369==--



From xen-devel-bounces@lists.xen.org Wed May 23 09:17:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7hH-00008Y-Gx; Wed, 23 May 2012 09:17:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7hF-00008M-Qm
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:17:34 +0000
Received: from [85.158.143.35:41610] by server-2.bemta-4.messagelabs.com id
	83/1F-12211-D2BACBF4; Wed, 23 May 2012 09:17:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337764652!15576653!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15029 invoked from network); 23 May 2012 09:17:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:17:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12620798"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:17:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 10:17:31 +0100
Message-ID: <1337764650.30233.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 10:17:30 +0100
In-Reply-To: <4FBCA39F.4090408@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
	<1337758867.3991.6.camel@dagon.hellion.org.uk>
	<4FBCA39F.4090408@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 09:45 +0100, Juergen Gross wrote:

> Oh yes:
> 
> +
> +    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> +        period = scinfo->period * 1000000;
> +    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> +        period = scinfo->slice * 1000000;
> +    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
> +        period = scinfo->latency * 1000000;
> +    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
> +        period = scinfo->extratime;
> +    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> +        period = scinfo->weight;
> 
> Regardless which parameter was changed, it is always 'period' which is set
> to the changed value.

Oh balls! Thanks for noticing, I'll fix this and resend...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:17:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7hH-00008Y-Gx; Wed, 23 May 2012 09:17:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7hF-00008M-Qm
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:17:34 +0000
Received: from [85.158.143.35:41610] by server-2.bemta-4.messagelabs.com id
	83/1F-12211-D2BACBF4; Wed, 23 May 2012 09:17:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337764652!15576653!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15029 invoked from network); 23 May 2012 09:17:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:17:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12620798"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:17:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 10:17:31 +0100
Message-ID: <1337764650.30233.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 10:17:30 +0100
In-Reply-To: <4FBCA39F.4090408@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
	<1337758867.3991.6.camel@dagon.hellion.org.uk>
	<4FBCA39F.4090408@ts.fujitsu.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 09:45 +0100, Juergen Gross wrote:

> Oh yes:
> 
> +
> +    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> +        period = scinfo->period * 1000000;
> +    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> +        period = scinfo->slice * 1000000;
> +    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
> +        period = scinfo->latency * 1000000;
> +    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
> +        period = scinfo->extratime;
> +    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> +        period = scinfo->weight;
> 
> Regardless which parameter was changed, it is always 'period' which is set
> to the changed value.

Oh balls! Thanks for noticing, I'll fix this and resend...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:18:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:18:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7hS-00009r-To; Wed, 23 May 2012 09:17:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SX7hS-00009c-31
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:17:46 +0000
Received: from [85.158.143.35:42907] by server-1.bemta-4.messagelabs.com id
	19/94-00342-93BACBF4; Wed, 23 May 2012 09:17:45 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337764664!14293984!1
X-Originating-IP: [213.199.154.209]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5801 invoked from network); 23 May 2012 09:17:44 -0000
Received: from am1ehsobe006.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.209)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:17:44 -0000
Received: from mail9-am1-R.bigfish.com (10.3.201.254) by
	AM1EHSOBE005.bigfish.com (10.3.204.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:17:32 +0000
Received: from mail9-am1 (localhost [127.0.0.1])	by mail9-am1-R.bigfish.com
	(Postfix) with ESMTP id 939D1801BF;
	Wed, 23 May 2012 09:17:28 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I1432N98dK1447Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
Received: from mail9-am1 (localhost.localdomain [127.0.0.1]) by mail9-am1
	(MessageSwitch) id 1337764646236433_9896;
	Wed, 23 May 2012 09:17:26 +0000 (UTC)
Received: from AM1EHSMHS012.bigfish.com (unknown [10.3.201.241])	by
	mail9-am1.bigfish.com (Postfix) with ESMTP id 2DFA4400048;
	Wed, 23 May 2012 09:17:26 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS012.bigfish.com (10.3.207.112) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:17:29 +0000
X-WSS-ID: 0M4GXTC-01-2XA-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2AF2510280FB;	Wed, 23 May 2012 04:17:36 -0500 (CDT)
Received: from SAUSEXDAG04.amd.com (163.181.55.4) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:17:48 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag04.amd.com
	(163.181.55.4) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:17:36 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:17:33 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 90A8649C1FF; Wed, 23 May 2012
	10:17:32 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 696FB5940FF; Wed, 23 May 2012
	11:17:32 +0200 (CEST)
Message-ID: <4FBCAA6F.2060708@amd.com>
Date: Wed, 23 May 2012 11:14:23 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
In-Reply-To: <4FBCAF1902000078000855C5@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 09:34 AM, Jan Beulich wrote:
>>>> On 22.05.12 at 18:07, Andre Przywara<andre.przywara@amd.com>  wrote:
>> while testing some APERF/MPERF semantics I discovered that this feature
>> is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID bit,
>> leading to costly RDMSR traps (a few 100,000s during a kernel compile)
>> and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the
>> patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we could
>> as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>> sure if it's worth to do so.
>>
>> Awaiting your comments.
>
> First of all I'm of the opinion that this indeed should not be
> masked in the hypervisor - there's no reason to disallow the
> guest to read these registers (but we should of course deny
> writes as long as Xen is controlling P-states, which we do).

Ok. Thanks for the acknowledgment.

> Next I'd like to note that in our kernels we simply don't build
> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
> suppressed, there's no consumer of the feature flag in our
> kernels.

With "our kernels" you mean OpenSuSE/SLES kernels? I quickly checked 
upstream as well as the repos on kernel.opensuse.org. In all of them 
sched.o is unconditionally included in the Makefile.
So is there a build patch to exclude this file for builds of distro Xen 
kernels?

Regards,
Andre.


> So I would think that your suggested change is appropriate,
> but I'm adding Konrad to Cc as these days he's the one to pick
> this up.
>
> Jan

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:18:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:18:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7hS-00009r-To; Wed, 23 May 2012 09:17:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SX7hS-00009c-31
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:17:46 +0000
Received: from [85.158.143.35:42907] by server-1.bemta-4.messagelabs.com id
	19/94-00342-93BACBF4; Wed, 23 May 2012 09:17:45 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337764664!14293984!1
X-Originating-IP: [213.199.154.209]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5801 invoked from network); 23 May 2012 09:17:44 -0000
Received: from am1ehsobe006.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.209)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:17:44 -0000
Received: from mail9-am1-R.bigfish.com (10.3.201.254) by
	AM1EHSOBE005.bigfish.com (10.3.204.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:17:32 +0000
Received: from mail9-am1 (localhost [127.0.0.1])	by mail9-am1-R.bigfish.com
	(Postfix) with ESMTP id 939D1801BF;
	Wed, 23 May 2012 09:17:28 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I1432N98dK1447Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
Received: from mail9-am1 (localhost.localdomain [127.0.0.1]) by mail9-am1
	(MessageSwitch) id 1337764646236433_9896;
	Wed, 23 May 2012 09:17:26 +0000 (UTC)
Received: from AM1EHSMHS012.bigfish.com (unknown [10.3.201.241])	by
	mail9-am1.bigfish.com (Postfix) with ESMTP id 2DFA4400048;
	Wed, 23 May 2012 09:17:26 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS012.bigfish.com (10.3.207.112) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:17:29 +0000
X-WSS-ID: 0M4GXTC-01-2XA-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2AF2510280FB;	Wed, 23 May 2012 04:17:36 -0500 (CDT)
Received: from SAUSEXDAG04.amd.com (163.181.55.4) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:17:48 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag04.amd.com
	(163.181.55.4) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:17:36 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:17:33 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 90A8649C1FF; Wed, 23 May 2012
	10:17:32 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 696FB5940FF; Wed, 23 May 2012
	11:17:32 +0200 (CEST)
Message-ID: <4FBCAA6F.2060708@amd.com>
Date: Wed, 23 May 2012 11:14:23 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
In-Reply-To: <4FBCAF1902000078000855C5@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 09:34 AM, Jan Beulich wrote:
>>>> On 22.05.12 at 18:07, Andre Przywara<andre.przywara@amd.com>  wrote:
>> while testing some APERF/MPERF semantics I discovered that this feature
>> is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID bit,
>> leading to costly RDMSR traps (a few 100,000s during a kernel compile)
>> and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the
>> patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we could
>> as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not
>> sure if it's worth to do so.
>>
>> Awaiting your comments.
>
> First of all I'm of the opinion that this indeed should not be
> masked in the hypervisor - there's no reason to disallow the
> guest to read these registers (but we should of course deny
> writes as long as Xen is controlling P-states, which we do).

Ok. Thanks for the acknowledgment.

> Next I'd like to note that in our kernels we simply don't build
> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
> suppressed, there's no consumer of the feature flag in our
> kernels.

With "our kernels" you mean OpenSuSE/SLES kernels? I quickly checked 
upstream as well as the repos on kernel.opensuse.org. In all of them 
sched.o is unconditionally included in the Makefile.
So is there a build patch to exclude this file for builds of distro Xen 
kernels?

Regards,
Andre.


> So I would think that your suggested change is appropriate,
> but I'm adding Konrad to Cc as these days he's the one to pick
> this up.
>
> Jan

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:20:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:20:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7jb-0000P5-H2; Wed, 23 May 2012 09:19:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Wang2@amd.com>) id 1SX7jZ-0000On-Mc
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:19:57 +0000
Received: from [85.158.143.35:59300] by server-2.bemta-4.messagelabs.com id
	54/D3-12211-DBBACBF4; Wed, 23 May 2012 09:19:57 +0000
X-Env-Sender: Wei.Wang2@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337764794!14294496!1
X-Originating-IP: [216.32.181.185]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23281 invoked from network); 23 May 2012 09:19:55 -0000
Received: from ch1ehsobe005.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.185)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:19:55 -0000
Received: from mail164-ch1-R.bigfish.com (10.43.68.226) by
	CH1EHSOBE013.bigfish.com (10.43.70.63) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:19:42 +0000
Received: from mail164-ch1 (localhost [127.0.0.1])	by
	mail164-ch1-R.bigfish.com (Postfix) with ESMTP id B67CA3000B3;
	Wed, 23 May 2012 09:19:42 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I1432N98dK4015Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail164-ch1 (localhost.localdomain [127.0.0.1]) by mail164-ch1
	(MessageSwitch) id 1337764780361000_27802;
	Wed, 23 May 2012 09:19:40 +0000 (UTC)
Received: from CH1EHSMHS018.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.250])	by mail164-ch1.bigfish.com (Postfix) with ESMTP id
	495292C0647;	Wed, 23 May 2012 09:19:40 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS018.bigfish.com (10.43.70.18) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:19:37 +0000
X-WSS-ID: 0M4GXX1-01-31U-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 279521028075;	Wed, 23 May 2012 04:19:49 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:20:01 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:19:49 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:19:47 -0400
Received: from [165.204.15.57] (gran.osrc.amd.com [165.204.15.57])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 9BC8949C1FF; Wed, 23 May 2012
	10:19:46 +0100 (BST)
Message-ID: <4FBCAB97.2000402@amd.com>
Date: Wed, 23 May 2012 11:19:19 +0200
From: Wei Wang <wei.wang2@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBB9B06.1030200@amd.com>
	<4FBBBA870200007800085296@nat28.tlf.novell.com>
	<4FBBB11E.5070709@amd.com>
	<4FBCA65C02000078000855A3@nat28.tlf.novell.com>
In-Reply-To: <4FBCA65C02000078000855A3@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 08:57 AM, Jan Beulich wrote:
>>>> On 22.05.12 at 17:30, Wei Wang<wei.wang2@amd.com>  wrote:
>> Thanks for review it. New version has been attached. It should have
>> fixed issues you mentioned. We don't have a particular number for loop
>> count, so I cut it to 1000, it should be enough. Please have a look.
>
> I adjusted it further to address a few things I noticed while
> pulling it into my local tree. Please let me know if any of the
> adjustments I did are in error.
>
> I'll also send a half-way related (and dependent in terms of
> being able to cleanly apply) follow-on patch in a minute.

Both look great to me. Acked.

Thanks,
Wei

> Jan
>
> **************************************************
>
> amd iommu: Add workaround for erratum 732&  733
>
> Signed-off-by: Wei Wang<wei.wang2@amd.com>
>
> Add missing barriers. Fix early return from parse_ppr_log_entry().
> Slightly adjust comments. Strip trailing blanks.
>
> Signed-off-by: Jan Beulich<jbeulich@suse.com>
>
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -29,6 +29,7 @@
>   #include<asm/hvm/svm/amd-iommu-proto.h>
>   #include<asm-x86/fixmap.h>
>   #include<mach_apic.h>
> +#include<xen/delay.h>
>
>   static int __initdata nr_amd_iommus;
>
> @@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
>       u16 domain_id, device_id, bdf, cword;
>       u32 code;
>       u64 *addr;
> +    int count = 0;
>       char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
>                             "IO_PAGE_FAULT",
>                             "DEV_TABLE_HW_ERROR",
> @@ -578,6 +580,25 @@ static void parse_event_log_entry(struct
>       code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
>                                               IOMMU_EVENT_CODE_SHIFT);
>
> +    /*
> +     * Workaround for erratum 732:
> +     * It can happen that the tail pointer is updated before the actual entry
> +     * got written. As suggested by RevGuide, we initialize the event log
> +     * buffer to all zeros and clear event log entries after processing them.
> +     */
> +    while ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No event written to log\n");
> +            return;
> +        }
> +        udelay(1);
> +        rmb();
> +        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
> +                                      IOMMU_EVENT_CODE_SHIFT);
> +    }
> +
>       if ( (code>  IOMMU_EVENT_INVALID_DEV_REQUEST) ||
>           (code<  IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
>       {
> @@ -615,6 +636,8 @@ static void parse_event_log_entry(struct
>           AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
>                           entry[1], entry[2], entry[3]);
>       }
> +
> +    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
>   }
>
>   static void iommu_check_event_log(struct amd_iommu *iommu)
> @@ -646,9 +669,31 @@ void parse_ppr_log_entry(struct amd_iomm
>   {
>
>       u16 device_id;
> -    u8 bus, devfn;
> +    u8 bus, devfn, code;
>       struct pci_dev *pdev;
> -    struct domain *d;
> +    int count = 0;
> +
> +    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
> +                                  IOMMU_PPR_LOG_CODE_SHIFT);
> +
> +    /*
> +     * Workaround for erratum 733:
> +     * It can happen that the tail pointer is updated before the actual entry
> +     * got written. As suggested by RevGuide, we initialize the event log
> +     * buffer to all zeros and clear ppr log entries after processing them.
> +     */
> +    while ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to log\n");
> +            return;
> +        }
> +        udelay(1);
> +        rmb();
> +        code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
> +                                      IOMMU_PPR_LOG_CODE_SHIFT);
> +    }
>
>       /* here device_id is physical value */
>       device_id = iommu_get_devid_from_cmd(entry[0]);
> @@ -659,12 +704,10 @@ void parse_ppr_log_entry(struct amd_iomm
>       pdev = pci_get_pdev(iommu->seg, bus, devfn);
>       spin_unlock(&pcidevs_lock);
>
> -    if ( pdev == NULL )
> -        return;
> -
> -    d = pdev->domain;
> +    if ( pdev )
> +        guest_iommu_add_ppr_log(pdev->domain, entry);
>
> -    guest_iommu_add_ppr_log(d, entry);
> +    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
>   }
>
>   static void iommu_check_ppr_log(struct amd_iommu *iommu)
> --- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
> +++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
> @@ -301,6 +301,10 @@
>   #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
>   #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
>   #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
> +#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
> +#define IOMMU_PPR_LOG_CODE_SHIFT                        28
> +
> +#define IOMMU_LOG_ENTRY_TIMEOUT                         1000
>
>   /* Control Register */
>   #define IOMMU_CONTROL_MMIO_OFFSET			0x18
>
>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:20:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:20:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7jb-0000P5-H2; Wed, 23 May 2012 09:19:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Wei.Wang2@amd.com>) id 1SX7jZ-0000On-Mc
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:19:57 +0000
Received: from [85.158.143.35:59300] by server-2.bemta-4.messagelabs.com id
	54/D3-12211-DBBACBF4; Wed, 23 May 2012 09:19:57 +0000
X-Env-Sender: Wei.Wang2@amd.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337764794!14294496!1
X-Originating-IP: [216.32.181.185]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23281 invoked from network); 23 May 2012 09:19:55 -0000
Received: from ch1ehsobe005.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.185)
	by server-16.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:19:55 -0000
Received: from mail164-ch1-R.bigfish.com (10.43.68.226) by
	CH1EHSOBE013.bigfish.com (10.43.70.63) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:19:42 +0000
Received: from mail164-ch1 (localhost [127.0.0.1])	by
	mail164-ch1-R.bigfish.com (Postfix) with ESMTP id B67CA3000B3;
	Wed, 23 May 2012 09:19:42 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I1432N98dK4015Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
Received: from mail164-ch1 (localhost.localdomain [127.0.0.1]) by mail164-ch1
	(MessageSwitch) id 1337764780361000_27802;
	Wed, 23 May 2012 09:19:40 +0000 (UTC)
Received: from CH1EHSMHS018.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.250])	by mail164-ch1.bigfish.com (Postfix) with ESMTP id
	495292C0647;	Wed, 23 May 2012 09:19:40 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	CH1EHSMHS018.bigfish.com (10.43.70.18) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:19:37 +0000
X-WSS-ID: 0M4GXX1-01-31U-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 279521028075;	Wed, 23 May 2012 04:19:49 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:20:01 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:19:49 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:19:47 -0400
Received: from [165.204.15.57] (gran.osrc.amd.com [165.204.15.57])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 9BC8949C1FF; Wed, 23 May 2012
	10:19:46 +0100 (BST)
Message-ID: <4FBCAB97.2000402@amd.com>
Date: Wed, 23 May 2012 11:19:19 +0200
From: Wei Wang <wei.wang2@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.2) Gecko/20120215 Thunderbird/10.0.2
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBB9B06.1030200@amd.com>
	<4FBBBA870200007800085296@nat28.tlf.novell.com>
	<4FBBB11E.5070709@amd.com>
	<4FBCA65C02000078000855A3@nat28.tlf.novell.com>
In-Reply-To: <4FBCA65C02000078000855A3@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: Keir Fraser <keir@xen.org>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] amd iommu: Add workaround for erratum 732 &
	733
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 08:57 AM, Jan Beulich wrote:
>>>> On 22.05.12 at 17:30, Wei Wang<wei.wang2@amd.com>  wrote:
>> Thanks for review it. New version has been attached. It should have
>> fixed issues you mentioned. We don't have a particular number for loop
>> count, so I cut it to 1000, it should be enough. Please have a look.
>
> I adjusted it further to address a few things I noticed while
> pulling it into my local tree. Please let me know if any of the
> adjustments I did are in error.
>
> I'll also send a half-way related (and dependent in terms of
> being able to cleanly apply) follow-on patch in a minute.

Both look great to me. Acked.

Thanks,
Wei

> Jan
>
> **************************************************
>
> amd iommu: Add workaround for erratum 732&  733
>
> Signed-off-by: Wei Wang<wei.wang2@amd.com>
>
> Add missing barriers. Fix early return from parse_ppr_log_entry().
> Slightly adjust comments. Strip trailing blanks.
>
> Signed-off-by: Jan Beulich<jbeulich@suse.com>
>
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -29,6 +29,7 @@
>   #include<asm/hvm/svm/amd-iommu-proto.h>
>   #include<asm-x86/fixmap.h>
>   #include<mach_apic.h>
> +#include<xen/delay.h>
>
>   static int __initdata nr_amd_iommus;
>
> @@ -566,6 +567,7 @@ static void parse_event_log_entry(struct
>       u16 domain_id, device_id, bdf, cword;
>       u32 code;
>       u64 *addr;
> +    int count = 0;
>       char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
>                             "IO_PAGE_FAULT",
>                             "DEV_TABLE_HW_ERROR",
> @@ -578,6 +580,25 @@ static void parse_event_log_entry(struct
>       code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
>                                               IOMMU_EVENT_CODE_SHIFT);
>
> +    /*
> +     * Workaround for erratum 732:
> +     * It can happen that the tail pointer is updated before the actual entry
> +     * got written. As suggested by RevGuide, we initialize the event log
> +     * buffer to all zeros and clear event log entries after processing them.
> +     */
> +    while ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No event written to log\n");
> +            return;
> +        }
> +        udelay(1);
> +        rmb();
> +        code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
> +                                      IOMMU_EVENT_CODE_SHIFT);
> +    }
> +
>       if ( (code>  IOMMU_EVENT_INVALID_DEV_REQUEST) ||
>           (code<  IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
>       {
> @@ -615,6 +636,8 @@ static void parse_event_log_entry(struct
>           AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
>                           entry[1], entry[2], entry[3]);
>       }
> +
> +    memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
>   }
>
>   static void iommu_check_event_log(struct amd_iommu *iommu)
> @@ -646,9 +669,31 @@ void parse_ppr_log_entry(struct amd_iomm
>   {
>
>       u16 device_id;
> -    u8 bus, devfn;
> +    u8 bus, devfn, code;
>       struct pci_dev *pdev;
> -    struct domain *d;
> +    int count = 0;
> +
> +    code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
> +                                  IOMMU_PPR_LOG_CODE_SHIFT);
> +
> +    /*
> +     * Workaround for erratum 733:
> +     * It can happen that the tail pointer is updated before the actual entry
> +     * got written. As suggested by RevGuide, we initialize the event log
> +     * buffer to all zeros and clear ppr log entries after processing them.
> +     */
> +    while ( code == 0 )
> +    {
> +        if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
> +        {
> +            AMD_IOMMU_DEBUG("AMD-Vi: No ppr written to log\n");
> +            return;
> +        }
> +        udelay(1);
> +        rmb();
> +        code = get_field_from_reg_u32(entry[1], IOMMU_PPR_LOG_CODE_MASK,
> +                                      IOMMU_PPR_LOG_CODE_SHIFT);
> +    }
>
>       /* here device_id is physical value */
>       device_id = iommu_get_devid_from_cmd(entry[0]);
> @@ -659,12 +704,10 @@ void parse_ppr_log_entry(struct amd_iomm
>       pdev = pci_get_pdev(iommu->seg, bus, devfn);
>       spin_unlock(&pcidevs_lock);
>
> -    if ( pdev == NULL )
> -        return;
> -
> -    d = pdev->domain;
> +    if ( pdev )
> +        guest_iommu_add_ppr_log(pdev->domain, entry);
>
> -    guest_iommu_add_ppr_log(d, entry);
> +    memset(entry, 0, IOMMU_PPR_LOG_ENTRY_SIZE);
>   }
>
>   static void iommu_check_ppr_log(struct amd_iommu *iommu)
> --- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
> +++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
> @@ -301,6 +301,10 @@
>   #define IOMMU_PPR_LOG_TAIL_OFFSET                       0x2038
>   #define IOMMU_PPR_LOG_DEVICE_ID_MASK                    0x0000FFFF
>   #define IOMMU_PPR_LOG_DEVICE_ID_SHIFT                   0
> +#define IOMMU_PPR_LOG_CODE_MASK                         0xF0000000
> +#define IOMMU_PPR_LOG_CODE_SHIFT                        28
> +
> +#define IOMMU_LOG_ENTRY_TIMEOUT                         1000
>
>   /* Control Register */
>   #define IOMMU_CONTROL_MMIO_OFFSET			0x18
>
>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:23:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:23:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7n3-0000dj-5N; Wed, 23 May 2012 09:23:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX7n1-0000db-Cj
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:23:31 +0000
Received: from [193.109.254.147:46290] by server-12.bemta-14.messagelabs.com
	id 13/6D-05898-29CACBF4; Wed, 23 May 2012 09:23:30 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337765009!10058454!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2567 invoked from network); 23 May 2012 09:23:30 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-8.tower-27.messagelabs.com with SMTP;
	23 May 2012 09:23:30 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78094374; Wed, 23 May 2012 11:23:29 +0200
Message-ID: <1337765002.27368.65.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Wed, 23 May 2012 11:23:22 +0200
In-Reply-To: <4FBCA702.4010009@amd.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
	<1337703493.27368.18.camel@Solace> <4FBCA702.4010009@amd.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1151583356020985589=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1151583356020985589==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-g611+bEgXQMh/Idapsaa"


--=-g611+bEgXQMh/Idapsaa
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 10:59 +0200, Christoph Egger wrote:
> > 8<---------------------------
> >=20
> > libxl: make libxl__domain_type return 'int'
> >=20
> > To avoid gcc > 4.6.3  complaining about:
>=20
>=20
> I have gcc 4.5.3 and see this.
> Christoph
>=20
Ups! You said it earlier but I forgot to go and check your gcc version,
and just considered mine. Sorry. :-P

Anyway, let's see what is the fix they want, then we'll decide about a
proper changelog. :-)

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-g611+bEgXQMh/Idapsaa
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8rIoACgkQk4XaBE3IOsQNDACgrhcFtcbIXqxpGZa8fPUZnKKI
C84Anj1/biIJJccYmZQzu/6MR/yR+hjK
=JoGs
-----END PGP SIGNATURE-----

--=-g611+bEgXQMh/Idapsaa--



--===============1151583356020985589==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1151583356020985589==--



From xen-devel-bounces@lists.xen.org Wed May 23 09:23:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:23:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7n3-0000dj-5N; Wed, 23 May 2012 09:23:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX7n1-0000db-Cj
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:23:31 +0000
Received: from [193.109.254.147:46290] by server-12.bemta-14.messagelabs.com
	id 13/6D-05898-29CACBF4; Wed, 23 May 2012 09:23:30 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337765009!10058454!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2567 invoked from network); 23 May 2012 09:23:30 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-8.tower-27.messagelabs.com with SMTP;
	23 May 2012 09:23:30 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78094374; Wed, 23 May 2012 11:23:29 +0200
Message-ID: <1337765002.27368.65.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Christoph Egger <Christoph.Egger@amd.com>
Date: Wed, 23 May 2012 11:23:22 +0200
In-Reply-To: <4FBCA702.4010009@amd.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
	<1337703493.27368.18.camel@Solace> <4FBCA702.4010009@amd.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1151583356020985589=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1151583356020985589==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-g611+bEgXQMh/Idapsaa"


--=-g611+bEgXQMh/Idapsaa
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 10:59 +0200, Christoph Egger wrote:
> > 8<---------------------------
> >=20
> > libxl: make libxl__domain_type return 'int'
> >=20
> > To avoid gcc > 4.6.3  complaining about:
>=20
>=20
> I have gcc 4.5.3 and see this.
> Christoph
>=20
Ups! You said it earlier but I forgot to go and check your gcc version,
and just considered mine. Sorry. :-P

Anyway, let's see what is the fix they want, then we'll decide about a
proper changelog. :-)

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-g611+bEgXQMh/Idapsaa
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8rIoACgkQk4XaBE3IOsQNDACgrhcFtcbIXqxpGZa8fPUZnKKI
C84Anj1/biIJJccYmZQzu/6MR/yR+hjK
=JoGs
-----END PGP SIGNATURE-----

--=-g611+bEgXQMh/Idapsaa--



--===============1151583356020985589==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1151583356020985589==--



From xen-devel-bounces@lists.xen.org Wed May 23 09:27:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qH-0000mm-PB; Wed, 23 May 2012 09:26:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qG-0000md-MH
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:26:53 +0000
Received: from [193.109.254.147:4696] by server-6.bemta-14.messagelabs.com id
	F8/D7-04960-C5DACBF4; Wed, 23 May 2012 09:26:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337765209!6456688!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29882 invoked from network); 23 May 2012 09:26:50 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:26:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="25481416"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-D2;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
X-Mercurial-Node: b6221bcdf9a9045b49a2ddd7877602788f657bad
Message-ID: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1337765207@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:50 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337764865 -3600
# Node ID b6221bcdf9a9045b49a2ddd7877602788f657bad
# Parent  7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
libxl: make it possible to explicitly specify default sched params

To do so we define a descriminating value which is never a valid real value for
each parameter.

While there:

 - removed libxl_sched_*_domain in favour of libxl_sched_params.
 - use this new functionality for the various xl commands which set sched
   parameters, which saves an explicit read-modify-write in xl.
 - removed call of xc_domain_getinfolist from a few functions which weren't
   actually using the result (looks like a cut and paste error)
 - fix xl which was setting period for a variety of different config keys.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl.c	Wed May 23 10:21:05 2012 +0100
@@ -3199,19 +3199,19 @@ libxl_scheduler libxl_get_scheduler(libx
 }
 
 int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    libxl_sched_credit_domain_init(scinfo);
-
     rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
     scinfo->weight = sdom.weight;
     scinfo->cap = sdom.cap;
 
@@ -3219,7 +3219,7 @@ int libxl_sched_credit_domain_get(libxl_
 }
 
 int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
@@ -3233,22 +3233,33 @@ int libxl_sched_credit_domain_set(libxl_
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu weight out of range, valid values are within range from 1 to 65535");
-        return ERROR_INVAL;
+    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        return ERROR_FAIL;
     }
 
-    if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
-            ((domaininfo.max_vcpu_id + 1) * 100));
-        return ERROR_INVAL;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-    sdom.cap = scinfo->cap;
+    if (scinfo->cap != LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT) {
+        if (scinfo->cap < 0
+            || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                "Cpu cap out of range, "
+                "valid range is from 0 to %d for specified number of vcpus",
+                       ((domaininfo.max_vcpu_id + 1) * 100));
+            return ERROR_INVAL;
+        }
+        sdom.cap = scinfo->cap;
+    }
 
     rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
@@ -3321,13 +3332,11 @@ int libxl_sched_credit_params_set(libxl_
 }
 
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    libxl_sched_credit2_domain_init(scinfo);
-
     rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3335,36 +3344,37 @@ int libxl_sched_credit2_domain_get(libxl
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
     scinfo->weight = sdom.weight;
 
     return 0;
 }
 
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
-    xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "getting domain sched credit2");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
-            "Cpu weight out of range, valid values are within range from "
-            "1 to 65535");
-        return ERROR_INVAL;
+
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from "
+                       "1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-
     rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3376,7 +3386,7 @@ int libxl_sched_credit2_domain_set(libxl
 }
 
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3385,8 +3395,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    libxl_sched_sedf_domain_init(scinfo);
-
     rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
@@ -3394,6 +3402,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_SEDF;
     scinfo->period = period / 1000000;
     scinfo->slice = slice / 1000000;
     scinfo->latency = latency / 1000000;
@@ -3404,24 +3414,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
 }
 
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
-    xc_domaininfo_t domaininfo;
-    int rc;
-
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    uint64_t period;
+    uint64_t slice;
+    uint64_t latency;
+    uint16_t extratime;
+    uint16_t weight;
+
+    int ret;
+
+    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+                            &extratime, &weight);
+    if (ret != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
-                            scinfo->slice * 1000000, scinfo->latency * 1000000,
-                            scinfo->extratime, scinfo->weight);
-    if ( rc < 0 ) {
+
+    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
+        slice = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
+        latency = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
+        extratime = scinfo->extratime;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
+        weight = scinfo->weight;
+
+    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+                            extratime, weight);
+    if ( ret < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 23 10:21:05 2012 +0100
@@ -805,23 +805,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
 
 libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
 
-
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
+/* Per-scheduler parameters */
 int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
 int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
+
+/* Scheduler Per-domain parameters */
+
+#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT       -1
+#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT     0
+#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT   0
+#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT -1
+
+int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
+int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Wed May 23 10:21:05 2012 +0100
@@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
 int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
                             libxl_sched_domain_params *scparams)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
-    libxl_sched_sedf_domain sedf_info;
-    libxl_sched_credit_domain credit_info;
-    libxl_sched_credit2_domain credit2_info;
+    libxl_scheduler sched = scparams->sched;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl__domain_scheduler(gc, domid);
+
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
-      ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
-      break;
+        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
-      ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
-      break;
+        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
-      ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
-      break;
+        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        break;
     default:
-      ret=-1;
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
     }
     return ret;
 }
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Wed May 23 10:21:05 2012 +0100
@@ -227,12 +227,13 @@ libxl_domain_create_info = Struct("domai
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_sched_domain_params = Struct("sched_domain_params",[
-    ("weight",       integer),
-    ("cap",          integer),
-    ("period",       integer),
-    ("slice",        integer),
-    ("latency",      integer),
-    ("extratime",    integer),
+    ("sched",        libxl_scheduler),
+    ("weight",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT'}),
+    ("cap",          integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT'}),
+    ("period",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT'}),
+    ("slice",        integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT'}),
+    ("latency",      integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT'}),
+    ("extratime",    integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
 # Instances of libxl_file_reference contained in this struct which
@@ -432,28 +433,11 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
-libxl_sched_credit_domain = Struct("sched_credit_domain", [
-    ("weight", integer),
-    ("cap", integer),
-    ])
-
 libxl_sched_credit_params = Struct("sched_credit_params", [
     ("tslice_ms", integer),
     ("ratelimit_us", integer),
     ], dispose_fn=None)
 
-libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
-    ("weight", integer),
-    ])
-
-libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
-    ("period", integer),
-    ("slice", integer),
-    ("latency", integer),
-    ("extratime", integer),
-    ("weight", integer),
-    ])
-
 libxl_domain_remus_info = Struct("domain_remus_info",[
     ("interval",     integer),
     ("blackhole",    bool),
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 23 10:21:05 2012 +0100
@@ -627,7 +627,8 @@ static void parse_config_data(const char
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
-    /* the following is the actual config parsing with overriding values in the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
@@ -635,11 +636,11 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
@@ -4351,7 +4352,7 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_get(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4362,7 +4363,7 @@ static int sched_credit_domain_get(int d
     return rc;
 }
 
-static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_set(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4398,7 +4399,7 @@ static int sched_credit_params_get(int p
 static int sched_credit_domain_output(int domid)
 {
     char *domname;
-    libxl_sched_credit_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4415,7 +4416,7 @@ static int sched_credit_domain_output(in
         scinfo.weight,
         scinfo.cap);
     free(domname);
-    libxl_sched_credit_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4441,7 +4442,7 @@ static int sched_credit_pool_output(uint
 }
 
 static int sched_credit2_domain_get(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4453,7 +4454,7 @@ static int sched_credit2_domain_get(
 }
 
 static int sched_credit2_domain_set(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4468,7 +4469,7 @@ static int sched_credit2_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_credit2_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4484,12 +4485,12 @@ static int sched_credit2_domain_output(
         domid,
         scinfo.weight);
     free(domname);
-    libxl_sched_credit2_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
 static int sched_sedf_domain_get(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4501,7 +4502,7 @@ static int sched_sedf_domain_get(
 }
 
 static int sched_sedf_domain_set(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4515,7 +4516,7 @@ static int sched_sedf_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_sedf_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4536,7 +4537,7 @@ static int sched_sedf_domain_output(
         scinfo.extratime,
         scinfo.weight);
     free(domname);
-    libxl_sched_sedf_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4617,7 +4618,6 @@ static int sched_domain_output(libxl_sch
  */
 int main_sched_credit(int argc, char **argv)
 {
-    libxl_sched_credit_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
@@ -4692,7 +4692,7 @@ int main_sched_credit(int argc, char **a
     }
 
     if (opt_s) {
-        libxl_sched_credit_params  scparam;
+        libxl_sched_credit_params scparam;
         uint32_t poolid = 0;
 
         if (cpupool) {
@@ -4728,20 +4728,19 @@ int main_sched_credit(int argc, char **a
     } else {
         find_domain(dom);
 
-        rc = sched_credit_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w && !opt_c) { /* output credit scheduler info */
             sched_credit_domain_output(-1);
             return -sched_credit_domain_output(domid);
         } else { /* set credit scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
             if (opt_w)
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
             rc = sched_credit_domain_set(domid, &scinfo);
-            libxl_sched_credit_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4752,7 +4751,6 @@ int main_sched_credit(int argc, char **a
 
 int main_sched_credit2(int argc, char **argv)
 {
-    libxl_sched_credit2_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, opt_w = 0;
@@ -4807,18 +4805,17 @@ int main_sched_credit2(int argc, char **
     } else {
         find_domain(dom);
 
-        rc = sched_credit2_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w) { /* output credit2 scheduler info */
             sched_credit2_domain_output(-1);
             return -sched_credit2_domain_output(domid);
         } else { /* set credit2 scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
             rc = sched_credit2_domain_set(domid, &scinfo);
-            libxl_sched_credit2_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4829,7 +4826,6 @@ int main_sched_credit2(int argc, char **
 
 int main_sched_sedf(int argc, char **argv)
 {
-    libxl_sched_sedf_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int period = 0, opt_p = 0;
@@ -4912,15 +4908,15 @@ int main_sched_sedf(int argc, char **arg
     } else {
         find_domain(dom);
 
-        rc = sched_sedf_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
             /* output sedf scheduler info */
             sched_sedf_domain_output(-1);
             return -sched_sedf_domain_output(domid);
         } else { /* set sedf scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_SEDF;
+
             if (opt_p) {
                 scinfo.period = period;
                 scinfo.weight = 0;
@@ -4939,7 +4935,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.slice = 0;
             }
             rc = sched_sedf_domain_set(domid, &scinfo);
-            libxl_sched_sedf_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:27:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qH-0000mm-PB; Wed, 23 May 2012 09:26:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qG-0000md-MH
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:26:53 +0000
Received: from [193.109.254.147:4696] by server-6.bemta-14.messagelabs.com id
	F8/D7-04960-C5DACBF4; Wed, 23 May 2012 09:26:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337765209!6456688!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29882 invoked from network); 23 May 2012 09:26:50 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:26:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="25481416"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-D2;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
X-Mercurial-Node: b6221bcdf9a9045b49a2ddd7877602788f657bad
Message-ID: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1337765207@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:50 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337764865 -3600
# Node ID b6221bcdf9a9045b49a2ddd7877602788f657bad
# Parent  7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
libxl: make it possible to explicitly specify default sched params

To do so we define a descriminating value which is never a valid real value for
each parameter.

While there:

 - removed libxl_sched_*_domain in favour of libxl_sched_params.
 - use this new functionality for the various xl commands which set sched
   parameters, which saves an explicit read-modify-write in xl.
 - removed call of xc_domain_getinfolist from a few functions which weren't
   actually using the result (looks like a cut and paste error)
 - fix xl which was setting period for a variety of different config keys.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl.c	Wed May 23 10:21:05 2012 +0100
@@ -3199,19 +3199,19 @@ libxl_scheduler libxl_get_scheduler(libx
 }
 
 int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    libxl_sched_credit_domain_init(scinfo);
-
     rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
     scinfo->weight = sdom.weight;
     scinfo->cap = sdom.cap;
 
@@ -3219,7 +3219,7 @@ int libxl_sched_credit_domain_get(libxl_
 }
 
 int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
@@ -3233,22 +3233,33 @@ int libxl_sched_credit_domain_set(libxl_
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu weight out of range, valid values are within range from 1 to 65535");
-        return ERROR_INVAL;
+    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        return ERROR_FAIL;
     }
 
-    if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
-            ((domaininfo.max_vcpu_id + 1) * 100));
-        return ERROR_INVAL;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-    sdom.cap = scinfo->cap;
+    if (scinfo->cap != LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT) {
+        if (scinfo->cap < 0
+            || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                "Cpu cap out of range, "
+                "valid range is from 0 to %d for specified number of vcpus",
+                       ((domaininfo.max_vcpu_id + 1) * 100));
+            return ERROR_INVAL;
+        }
+        sdom.cap = scinfo->cap;
+    }
 
     rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
@@ -3321,13 +3332,11 @@ int libxl_sched_credit_params_set(libxl_
 }
 
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    libxl_sched_credit2_domain_init(scinfo);
-
     rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3335,36 +3344,37 @@ int libxl_sched_credit2_domain_get(libxl
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
     scinfo->weight = sdom.weight;
 
     return 0;
 }
 
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_sched_domain_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
-    xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "getting domain sched credit2");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
-            "Cpu weight out of range, valid values are within range from "
-            "1 to 65535");
-        return ERROR_INVAL;
+
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from "
+                       "1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-
     rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3376,7 +3386,7 @@ int libxl_sched_credit2_domain_set(libxl
 }
 
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3385,8 +3395,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    libxl_sched_sedf_domain_init(scinfo);
-
     rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
@@ -3394,6 +3402,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
         return ERROR_FAIL;
     }
 
+    libxl_sched_domain_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_SEDF;
     scinfo->period = period / 1000000;
     scinfo->slice = slice / 1000000;
     scinfo->latency = latency / 1000000;
@@ -3404,24 +3414,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
 }
 
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_sched_domain_params *scinfo)
 {
-    xc_domaininfo_t domaininfo;
-    int rc;
-
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    uint64_t period;
+    uint64_t slice;
+    uint64_t latency;
+    uint16_t extratime;
+    uint16_t weight;
+
+    int ret;
+
+    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+                            &extratime, &weight);
+    if (ret != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
-                            scinfo->slice * 1000000, scinfo->latency * 1000000,
-                            scinfo->extratime, scinfo->weight);
-    if ( rc < 0 ) {
+
+    if (scinfo->period != LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
+        slice = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
+        latency = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT)
+        extratime = scinfo->extratime;
+    if (scinfo->weight != LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
+        weight = scinfo->weight;
+
+    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+                            extratime, weight);
+    if ( ret < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 23 10:21:05 2012 +0100
@@ -805,23 +805,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
 
 libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
 
-
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
+/* Per-scheduler parameters */
 int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
 int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
+
+/* Scheduler Per-domain parameters */
+
+#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT       -1
+#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT    0
+#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT     0
+#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT   0
+#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT -1
+
+int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
+int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_sched_domain_params *scinfo);
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Wed May 23 10:21:05 2012 +0100
@@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
 int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
                             libxl_sched_domain_params *scparams)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
-    libxl_sched_sedf_domain sedf_info;
-    libxl_sched_credit_domain credit_info;
-    libxl_sched_credit2_domain credit2_info;
+    libxl_scheduler sched = scparams->sched;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl__domain_scheduler(gc, domid);
+
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
-      ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
-      break;
+        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
-      ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
-      break;
+        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
-      ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
-      break;
+        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        break;
     default:
-      ret=-1;
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
     }
     return ret;
 }
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Wed May 23 10:21:05 2012 +0100
@@ -227,12 +227,13 @@ libxl_domain_create_info = Struct("domai
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_sched_domain_params = Struct("sched_domain_params",[
-    ("weight",       integer),
-    ("cap",          integer),
-    ("period",       integer),
-    ("slice",        integer),
-    ("latency",      integer),
-    ("extratime",    integer),
+    ("sched",        libxl_scheduler),
+    ("weight",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT'}),
+    ("cap",          integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT'}),
+    ("period",       integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT'}),
+    ("slice",        integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT'}),
+    ("latency",      integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT'}),
+    ("extratime",    integer, {'init_val': 'LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
 # Instances of libxl_file_reference contained in this struct which
@@ -432,28 +433,11 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
-libxl_sched_credit_domain = Struct("sched_credit_domain", [
-    ("weight", integer),
-    ("cap", integer),
-    ])
-
 libxl_sched_credit_params = Struct("sched_credit_params", [
     ("tslice_ms", integer),
     ("ratelimit_us", integer),
     ], dispose_fn=None)
 
-libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
-    ("weight", integer),
-    ])
-
-libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
-    ("period", integer),
-    ("slice", integer),
-    ("latency", integer),
-    ("extratime", integer),
-    ("weight", integer),
-    ])
-
 libxl_domain_remus_info = Struct("domain_remus_info",[
     ("interval",     integer),
     ("blackhole",    bool),
diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 23 10:11:59 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 23 10:21:05 2012 +0100
@@ -627,7 +627,8 @@ static void parse_config_data(const char
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
-    /* the following is the actual config parsing with overriding values in the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
@@ -635,11 +636,11 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
@@ -4351,7 +4352,7 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_get(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4362,7 +4363,7 @@ static int sched_credit_domain_get(int d
     return rc;
 }
 
-static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_set(int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4398,7 +4399,7 @@ static int sched_credit_params_get(int p
 static int sched_credit_domain_output(int domid)
 {
     char *domname;
-    libxl_sched_credit_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4415,7 +4416,7 @@ static int sched_credit_domain_output(in
         scinfo.weight,
         scinfo.cap);
     free(domname);
-    libxl_sched_credit_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4441,7 +4442,7 @@ static int sched_credit_pool_output(uint
 }
 
 static int sched_credit2_domain_get(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4453,7 +4454,7 @@ static int sched_credit2_domain_get(
 }
 
 static int sched_credit2_domain_set(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4468,7 +4469,7 @@ static int sched_credit2_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_credit2_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4484,12 +4485,12 @@ static int sched_credit2_domain_output(
         domid,
         scinfo.weight);
     free(domname);
-    libxl_sched_credit2_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
 static int sched_sedf_domain_get(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4501,7 +4502,7 @@ static int sched_sedf_domain_get(
 }
 
 static int sched_sedf_domain_set(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_sched_domain_params *scinfo)
 {
     int rc;
 
@@ -4515,7 +4516,7 @@ static int sched_sedf_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_sedf_domain scinfo;
+    libxl_sched_domain_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4536,7 +4537,7 @@ static int sched_sedf_domain_output(
         scinfo.extratime,
         scinfo.weight);
     free(domname);
-    libxl_sched_sedf_domain_dispose(&scinfo);
+    libxl_sched_domain_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4617,7 +4618,6 @@ static int sched_domain_output(libxl_sch
  */
 int main_sched_credit(int argc, char **argv)
 {
-    libxl_sched_credit_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
@@ -4692,7 +4692,7 @@ int main_sched_credit(int argc, char **a
     }
 
     if (opt_s) {
-        libxl_sched_credit_params  scparam;
+        libxl_sched_credit_params scparam;
         uint32_t poolid = 0;
 
         if (cpupool) {
@@ -4728,20 +4728,19 @@ int main_sched_credit(int argc, char **a
     } else {
         find_domain(dom);
 
-        rc = sched_credit_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w && !opt_c) { /* output credit scheduler info */
             sched_credit_domain_output(-1);
             return -sched_credit_domain_output(domid);
         } else { /* set credit scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
             if (opt_w)
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
             rc = sched_credit_domain_set(domid, &scinfo);
-            libxl_sched_credit_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4752,7 +4751,6 @@ int main_sched_credit(int argc, char **a
 
 int main_sched_credit2(int argc, char **argv)
 {
-    libxl_sched_credit2_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, opt_w = 0;
@@ -4807,18 +4805,17 @@ int main_sched_credit2(int argc, char **
     } else {
         find_domain(dom);
 
-        rc = sched_credit2_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w) { /* output credit2 scheduler info */
             sched_credit2_domain_output(-1);
             return -sched_credit2_domain_output(domid);
         } else { /* set credit2 scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
             rc = sched_credit2_domain_set(domid, &scinfo);
-            libxl_sched_credit2_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4829,7 +4826,6 @@ int main_sched_credit2(int argc, char **
 
 int main_sched_sedf(int argc, char **argv)
 {
-    libxl_sched_sedf_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int period = 0, opt_p = 0;
@@ -4912,15 +4908,15 @@ int main_sched_sedf(int argc, char **arg
     } else {
         find_domain(dom);
 
-        rc = sched_sedf_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
             /* output sedf scheduler info */
             sched_sedf_domain_output(-1);
             return -sched_sedf_domain_output(domid);
         } else { /* set sedf scheduler paramaters */
+            libxl_sched_domain_params scinfo;
+            libxl_sched_domain_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_SEDF;
+
             if (opt_p) {
                 scinfo.period = period;
                 scinfo.weight = 0;
@@ -4939,7 +4935,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.slice = 0;
             }
             rc = sched_sedf_domain_set(domid, &scinfo);
-            libxl_sched_sedf_domain_dispose(&scinfo);
+            libxl_sched_domain_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:27:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qW-0000p4-OU; Wed, 23 May 2012 09:27:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qU-0000oW-VJ
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:27:07 +0000
Received: from [85.158.143.35:4560] by server-1.bemta-4.messagelabs.com id
	37/E8-00342-A6DACBF4; Wed, 23 May 2012 09:27:06 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337765222!5905392!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14553 invoked from network); 23 May 2012 09:27:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:27:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196182075"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-AO;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:47 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 0 of 3] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series defines a descriminating value for each scheduler paramter
and uses it to fix a warning when starting a guest:
  "Cpu weight out of range, valid values are within range from 1 to 65535"

It also cleans up a few things and adds some convience interfaces for
cpupools.

I'm slightly reticent about this change during the freeze, but since
it fixes a warning which needs to be fixed for release and makes
(useful, I think) changes to the libxl API I think it is ok.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:27:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qW-0000p4-OU; Wed, 23 May 2012 09:27:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qU-0000oW-VJ
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:27:07 +0000
Received: from [85.158.143.35:4560] by server-1.bemta-4.messagelabs.com id
	37/E8-00342-A6DACBF4; Wed, 23 May 2012 09:27:06 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337765222!5905392!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14553 invoked from network); 23 May 2012 09:27:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:27:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196182075"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-AO;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:47 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 0 of 3] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series defines a descriminating value for each scheduler paramter
and uses it to fix a warning when starting a guest:
  "Cpu weight out of range, valid values are within range from 1 to 65535"

It also cleans up a few things and adds some convience interfaces for
cpupools.

I'm slightly reticent about this change during the freeze, but since
it fixes a warning which needs to be fixed for release and makes
(useful, I think) changes to the libxl API I think it is ok.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:27:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qX-0000pE-5l; Wed, 23 May 2012 09:27:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qV-0000oL-Gh
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:27:07 +0000
Received: from [85.158.143.35:53591] by server-2.bemta-4.messagelabs.com id
	6C/44-12211-B6DACBF4; Wed, 23 May 2012 09:27:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337765222!5905392!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14616 invoked from network); 23 May 2012 09:27:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:27:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196182076"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-BD;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
X-Mercurial-Node: 6533501734be011cb1f7669b7840bfdf5b2eb801
Message-ID: <6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1337765207@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:48 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get a
 domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337764129 -3600
# Node ID 6533501734be011cb1f7669b7840bfdf5b2eb801
# Parent  3c9221c5b82e53d010452d1208a9f9acaf8981cd
libxl: add internal function to get a domain's scheduler.

This takes into account cpupools.

Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool
t use this. While there fix the leaks due to not disposing the partial list on
realloc failure in that function.

Fix the failure of sched_domain_output to free the poolinfo list.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl.c	Wed May 23 10:08:49 2012 +0100
@@ -552,41 +552,72 @@ int libxl_domain_info(libxl_ctx *ctx, li
     return 0;
 }
 
+static int cpupool_info(libxl__gc *gc,
+                        libxl_cpupoolinfo *info,
+                        uint32_t poolid,
+                        bool exact /* exactly poolid or >= poolid */)
+{
+    xc_cpupoolinfo_t *xcinfo;
+    int rc = ERROR_FAIL;
+
+    xcinfo = xc_cpupool_getinfo(CTX->xch, poolid);
+    if (xcinfo == NULL)
+        return ERROR_FAIL;
+
+    if (exact && xcinfo->cpupool_id != poolid)
+        goto out;
+
+    info->poolid = xcinfo->cpupool_id;
+    info->sched = xcinfo->sched_id;
+    info->n_dom = xcinfo->n_dom;
+    if (libxl_cpumap_alloc(CTX, &info->cpumap))
+        goto out;
+    memcpy(info->cpumap.map, xcinfo->cpumap, info->cpumap.size);
+
+    rc = 0;
+out:
+    xc_cpupool_infofree(CTX->xch, xcinfo);
+    return rc;
+}
+
+int libxl_cpupool_info(libxl_ctx *ctx,
+                       libxl_cpupoolinfo *info, uint32_t poolid)
+{
+    GC_INIT(ctx);
+    int rc = cpupool_info(gc, info, poolid, true);
+    GC_FREE;
+    return rc;
+}
+
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool)
 {
-    libxl_cpupoolinfo *ptr, *tmp;
+    GC_INIT(ctx);
+    libxl_cpupoolinfo info, *ptr, *tmp;
     int i;
-    xc_cpupoolinfo_t *info;
     uint32_t poolid;
 
     ptr = NULL;
 
     poolid = 0;
     for (i = 0;; i++) {
-        info = xc_cpupool_getinfo(ctx->xch, poolid);
-        if (info == NULL)
+        if (cpupool_info(gc, &info, poolid, false))
             break;
         tmp = realloc(ptr, (i + 1) * sizeof(libxl_cpupoolinfo));
         if (!tmp) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
+            while(--i>0)
+                libxl_cpupoolinfo_dispose(ptr+i);
             free(ptr);
-            xc_cpupool_infofree(ctx->xch, info);
-            return NULL;
+            goto out;
         }
         ptr = tmp;
-        ptr[i].poolid = info->cpupool_id;
-        ptr[i].sched = info->sched_id;
-        ptr[i].n_dom = info->n_dom;
-        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap)) {
-            xc_cpupool_infofree(ctx->xch, info);
-            break;
-        }
-        memcpy(ptr[i].cpumap.map, info->cpumap, ptr[i].cpumap.size);
-        poolid = info->cpupool_id + 1;
-        xc_cpupool_infofree(ctx->xch, info);
+        ptr[i] = info;
+        poolid = info.poolid + 1;
     }
 
     *nb_pool = i;
+out:
+    GC_FREE;
     return ptr;
 }
 
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 23 10:08:49 2012 +0100
@@ -860,6 +860,7 @@ int libxl_cpupool_cpuadd_node(libxl_ctx 
 int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);
 int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
 int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);
+int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);
 
 int libxl_domid_valid_guest(uint32_t domid);
 
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Wed May 23 10:08:49 2012 +0100
@@ -93,6 +93,41 @@ int libxl__domain_shutdown_reason(libxl_
     return (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
 }
 
+int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid)
+{
+    xc_domaininfo_t info;
+    int ret;
+
+    ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+    if (ret != 1)
+        return ERROR_FAIL;
+    if (info.domain != domid)
+        return ERROR_FAIL;
+
+    return info.cpupool;
+}
+
+libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid)
+{
+    uint32_t cpupool = libxl__domain_cpupool(gc, domid);
+    libxl_cpupoolinfo poolinfo;
+    libxl_scheduler sched = LIBXL_SCHEDULER_UNKNOWN;
+    int rc;
+
+    if (cpupool < 0)
+        return sched;
+
+    rc = libxl_cpupool_info(CTX, &poolinfo, cpupool);
+    if (rc < 0)
+        goto out;
+
+    sched = poolinfo.sched;
+
+out:
+    libxl_cpupoolinfo_dispose(&poolinfo);
+    return sched;
+}
+
 int libxl__build_pre(libxl__gc *gc, uint32_t domid,
               libxl_domain_build_info *info, libxl__domain_build_state *state)
 {
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Wed May 23 10:08:49 2012 +0100
@@ -716,6 +716,8 @@ _hidden int libxl__atfork_init(libxl_ctx
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
+_hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Wed May 23 10:08:49 2012 +0100
@@ -109,7 +109,9 @@ libxl_bios_type = Enumeration("bios_type
     ])
 
 # Consistent with values defined in domctl.h
+# Except unknown which we have made up
 libxl_scheduler = Enumeration("scheduler", [
+    (0, "unknown"),
     (4, "sedf"),
     (5, "credit"),
     (6, "credit2"),
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 23 10:08:49 2012 +0100
@@ -4603,6 +4603,7 @@ static int sched_domain_output(libxl_sch
         for (p = 0; p < n_pools; p++) {
             libxl_cpupoolinfo_dispose(poolinfo + p);
         }
+        free(poolinfo);
     }
     return 0;
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:27:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qX-0000pE-5l; Wed, 23 May 2012 09:27:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qV-0000oL-Gh
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:27:07 +0000
Received: from [85.158.143.35:53591] by server-2.bemta-4.messagelabs.com id
	6C/44-12211-B6DACBF4; Wed, 23 May 2012 09:27:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337765222!5905392!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14616 invoked from network); 23 May 2012 09:27:06 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:27:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196182076"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-BD;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
X-Mercurial-Node: 6533501734be011cb1f7669b7840bfdf5b2eb801
Message-ID: <6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1337765207@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:48 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get a
 domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337764129 -3600
# Node ID 6533501734be011cb1f7669b7840bfdf5b2eb801
# Parent  3c9221c5b82e53d010452d1208a9f9acaf8981cd
libxl: add internal function to get a domain's scheduler.

This takes into account cpupools.

Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool
t use this. While there fix the leaks due to not disposing the partial list on
realloc failure in that function.

Fix the failure of sched_domain_output to free the poolinfo list.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl.c	Wed May 23 10:08:49 2012 +0100
@@ -552,41 +552,72 @@ int libxl_domain_info(libxl_ctx *ctx, li
     return 0;
 }
 
+static int cpupool_info(libxl__gc *gc,
+                        libxl_cpupoolinfo *info,
+                        uint32_t poolid,
+                        bool exact /* exactly poolid or >= poolid */)
+{
+    xc_cpupoolinfo_t *xcinfo;
+    int rc = ERROR_FAIL;
+
+    xcinfo = xc_cpupool_getinfo(CTX->xch, poolid);
+    if (xcinfo == NULL)
+        return ERROR_FAIL;
+
+    if (exact && xcinfo->cpupool_id != poolid)
+        goto out;
+
+    info->poolid = xcinfo->cpupool_id;
+    info->sched = xcinfo->sched_id;
+    info->n_dom = xcinfo->n_dom;
+    if (libxl_cpumap_alloc(CTX, &info->cpumap))
+        goto out;
+    memcpy(info->cpumap.map, xcinfo->cpumap, info->cpumap.size);
+
+    rc = 0;
+out:
+    xc_cpupool_infofree(CTX->xch, xcinfo);
+    return rc;
+}
+
+int libxl_cpupool_info(libxl_ctx *ctx,
+                       libxl_cpupoolinfo *info, uint32_t poolid)
+{
+    GC_INIT(ctx);
+    int rc = cpupool_info(gc, info, poolid, true);
+    GC_FREE;
+    return rc;
+}
+
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool)
 {
-    libxl_cpupoolinfo *ptr, *tmp;
+    GC_INIT(ctx);
+    libxl_cpupoolinfo info, *ptr, *tmp;
     int i;
-    xc_cpupoolinfo_t *info;
     uint32_t poolid;
 
     ptr = NULL;
 
     poolid = 0;
     for (i = 0;; i++) {
-        info = xc_cpupool_getinfo(ctx->xch, poolid);
-        if (info == NULL)
+        if (cpupool_info(gc, &info, poolid, false))
             break;
         tmp = realloc(ptr, (i + 1) * sizeof(libxl_cpupoolinfo));
         if (!tmp) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
+            while(--i>0)
+                libxl_cpupoolinfo_dispose(ptr+i);
             free(ptr);
-            xc_cpupool_infofree(ctx->xch, info);
-            return NULL;
+            goto out;
         }
         ptr = tmp;
-        ptr[i].poolid = info->cpupool_id;
-        ptr[i].sched = info->sched_id;
-        ptr[i].n_dom = info->n_dom;
-        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap)) {
-            xc_cpupool_infofree(ctx->xch, info);
-            break;
-        }
-        memcpy(ptr[i].cpumap.map, info->cpumap, ptr[i].cpumap.size);
-        poolid = info->cpupool_id + 1;
-        xc_cpupool_infofree(ctx->xch, info);
+        ptr[i] = info;
+        poolid = info.poolid + 1;
     }
 
     *nb_pool = i;
+out:
+    GC_FREE;
     return ptr;
 }
 
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl.h	Wed May 23 10:08:49 2012 +0100
@@ -860,6 +860,7 @@ int libxl_cpupool_cpuadd_node(libxl_ctx 
 int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);
 int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
 int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);
+int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);
 
 int libxl_domid_valid_guest(uint32_t domid);
 
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Wed May 23 10:08:49 2012 +0100
@@ -93,6 +93,41 @@ int libxl__domain_shutdown_reason(libxl_
     return (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
 }
 
+int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid)
+{
+    xc_domaininfo_t info;
+    int ret;
+
+    ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+    if (ret != 1)
+        return ERROR_FAIL;
+    if (info.domain != domid)
+        return ERROR_FAIL;
+
+    return info.cpupool;
+}
+
+libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid)
+{
+    uint32_t cpupool = libxl__domain_cpupool(gc, domid);
+    libxl_cpupoolinfo poolinfo;
+    libxl_scheduler sched = LIBXL_SCHEDULER_UNKNOWN;
+    int rc;
+
+    if (cpupool < 0)
+        return sched;
+
+    rc = libxl_cpupool_info(CTX, &poolinfo, cpupool);
+    if (rc < 0)
+        goto out;
+
+    sched = poolinfo.sched;
+
+out:
+    libxl_cpupoolinfo_dispose(&poolinfo);
+    return sched;
+}
+
 int libxl__build_pre(libxl__gc *gc, uint32_t domid,
               libxl_domain_build_info *info, libxl__domain_build_state *state)
 {
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Wed May 23 10:08:49 2012 +0100
@@ -716,6 +716,8 @@ _hidden int libxl__atfork_init(libxl_ctx
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
+_hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Wed May 23 10:08:49 2012 +0100
@@ -109,7 +109,9 @@ libxl_bios_type = Enumeration("bios_type
     ])
 
 # Consistent with values defined in domctl.h
+# Except unknown which we have made up
 libxl_scheduler = Enumeration("scheduler", [
+    (0, "unknown"),
     (4, "sedf"),
     (5, "credit"),
     (6, "credit2"),
diff -r 3c9221c5b82e -r 6533501734be tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 22 16:15:06 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 23 10:08:49 2012 +0100
@@ -4603,6 +4603,7 @@ static int sched_domain_output(libxl_sch
         for (p = 0; p < n_pools; p++) {
             libxl_cpupoolinfo_dispose(poolinfo + p);
         }
+        free(poolinfo);
     }
     return 0;
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:27:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qV-0000oe-By; Wed, 23 May 2012 09:27:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qU-0000oL-4V
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:27:06 +0000
Received: from [85.158.143.35:53450] by server-2.bemta-4.messagelabs.com id
	D9/34-12211-96DACBF4; Wed, 23 May 2012 09:27:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337765222!5905392!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14455 invoked from network); 23 May 2012 09:27:04 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:27:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196182074"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:48 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-Bz;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
X-Mercurial-Node: 7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
Message-ID: <7d8428388b775a0b26cf.1337765209@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1337765207@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:49 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 2 of 3] libxl: rename libxl_sched_params to
 libxl_sched_domain_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337764319 -3600
# Node ID 7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
# Parent  6533501734be011cb1f7669b7840bfdf5b2eb801
libxl: rename libxl_sched_params to libxl_sched_domain_params

Remove credit scheduler global options from the struct, they were never used
anyway.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 6533501734be -r 7d8428388b77 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Wed May 23 10:11:59 2012 +0100
@@ -42,7 +42,8 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_sched_domain_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     libxl_scheduler sched;
diff -r 6533501734be -r 7d8428388b77 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Wed May 23 10:11:59 2012 +0100
@@ -718,7 +718,8 @@ _hidden libxl_domain_type libxl__domain_
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
 _hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
+_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                                    libxl_sched_domain_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
 typedef struct {
diff -r 6533501734be -r 7d8428388b77 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Wed May 23 10:11:59 2012 +0100
@@ -226,11 +226,9 @@ libxl_domain_create_info = Struct("domai
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
-libxl_sched_params = Struct("sched_params",[
+libxl_sched_domain_params = Struct("sched_domain_params",[
     ("weight",       integer),
     ("cap",          integer),
-    ("tslice_ms",    integer),
-    ("ratelimit_us", integer),
     ("period",       integer),
     ("slice",        integer),
     ("latency",      integer),
@@ -269,7 +267,7 @@ libxl_domain_build_info = Struct("domain
     # extra parameters pass directly to qemu for HVM guest, NULL terminated
     ("extra_hvm",        libxl_string_list),
     #  parameters for all type of scheduler
-    ("sched_params",     libxl_sched_params),
+    ("sched_params",     libxl_sched_domain_params),
 
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
diff -r 6533501734be -r 7d8428388b77 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 23 10:11:59 2012 +0100
@@ -632,10 +632,6 @@ static void parse_config_data(const char
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:27:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7qV-0000oe-By; Wed, 23 May 2012 09:27:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX7qU-0000oL-4V
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:27:06 +0000
Received: from [85.158.143.35:53450] by server-2.bemta-4.messagelabs.com id
	D9/34-12211-96DACBF4; Wed, 23 May 2012 09:27:05 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337765222!5905392!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14455 invoked from network); 23 May 2012 09:27:04 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:27:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196182074"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:26:48 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:26:48 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SX7qC-0003Ve-Bz;
	Wed, 23 May 2012 10:26:48 +0100
MIME-Version: 1.0
X-Mercurial-Node: 7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
Message-ID: <7d8428388b775a0b26cf.1337765209@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1337765207@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Wed, 23 May 2012 10:26:49 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 2 of 3] libxl: rename libxl_sched_params to
 libxl_sched_domain_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337764319 -3600
# Node ID 7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
# Parent  6533501734be011cb1f7669b7840bfdf5b2eb801
libxl: rename libxl_sched_params to libxl_sched_domain_params

Remove credit scheduler global options from the struct, they were never used
anyway.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 6533501734be -r 7d8428388b77 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Wed May 23 10:11:59 2012 +0100
@@ -42,7 +42,8 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_sched_domain_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     libxl_scheduler sched;
diff -r 6533501734be -r 7d8428388b77 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Wed May 23 10:11:59 2012 +0100
@@ -718,7 +718,8 @@ _hidden libxl_domain_type libxl__domain_
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
 _hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
+_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                                    libxl_sched_domain_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
 typedef struct {
diff -r 6533501734be -r 7d8428388b77 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Wed May 23 10:11:59 2012 +0100
@@ -226,11 +226,9 @@ libxl_domain_create_info = Struct("domai
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
-libxl_sched_params = Struct("sched_params",[
+libxl_sched_domain_params = Struct("sched_domain_params",[
     ("weight",       integer),
     ("cap",          integer),
-    ("tslice_ms",    integer),
-    ("ratelimit_us", integer),
     ("period",       integer),
     ("slice",        integer),
     ("latency",      integer),
@@ -269,7 +267,7 @@ libxl_domain_build_info = Struct("domain
     # extra parameters pass directly to qemu for HVM guest, NULL terminated
     ("extra_hvm",        libxl_string_list),
     #  parameters for all type of scheduler
-    ("sched_params",     libxl_sched_params),
+    ("sched_params",     libxl_sched_domain_params),
 
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
diff -r 6533501734be -r 7d8428388b77 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Wed May 23 10:08:49 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 23 10:11:59 2012 +0100
@@ -632,10 +632,6 @@ static void parse_config_data(const char
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:30:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:30:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7tX-0001GJ-Pl; Wed, 23 May 2012 09:30:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SX7tW-0001G6-00
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:30:14 +0000
Received: from [85.158.143.99:34011] by server-1.bemta-4.messagelabs.com id
	C6/90-00342-52EACBF4; Wed, 23 May 2012 09:30:13 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337765410!28817772!1
X-Originating-IP: [216.32.180.12]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22679 invoked from network); 23 May 2012 09:30:12 -0000
Received: from va3ehsobe002.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.12)
	by server-3.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:30:12 -0000
Received: from mail28-va3-R.bigfish.com (10.7.14.250) by
	VA3EHSOBE010.bigfish.com (10.7.40.12) with Microsoft SMTP Server id
	14.1.225.22; Wed, 23 May 2012 09:29:59 +0000
Received: from mail28-va3 (localhost [127.0.0.1])	by mail28-va3-R.bigfish.com
	(Postfix) with ESMTP id EF6A344028D;
	Wed, 23 May 2012 09:29:58 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -19
X-BigFish: VPS-19(zzbb2dI936eK146fI154dM1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
Received: from mail28-va3 (localhost.localdomain [127.0.0.1]) by mail28-va3
	(MessageSwitch) id 1337765397475002_16694;
	Wed, 23 May 2012 09:29:57 +0000 (UTC)
Received: from VA3EHSMHS029.bigfish.com (unknown [10.7.14.249])	by
	mail28-va3.bigfish.com (Postfix) with ESMTP id 70C8A400045;
	Wed, 23 May 2012 09:29:57 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS029.bigfish.com (10.7.99.39) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:29:55 +0000
X-WSS-ID: 0M4GYE1-02-5XE-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B338C80AB;	Wed, 23 May 2012 04:30:01 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:30:16 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 23 May 2012 04:30:04 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:30:02 -0400
Message-ID: <4FBCAE18.2030209@amd.com>
Date: Wed, 23 May 2012 11:30:00 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
	<1337703493.27368.18.camel@Solace> <4FBCA702.4010009@amd.com>
	<1337765002.27368.65.camel@Solace>
In-Reply-To: <1337765002.27368.65.camel@Solace>
X-OriginatorOrg: amd.com
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/12 11:23, Dario Faggioli wrote:

> On Wed, 2012-05-23 at 10:59 +0200, Christoph Egger wrote:
>>> 8<---------------------------
>>>
>>> libxl: make libxl__domain_type return 'int'
>>>
>>> To avoid gcc > 4.6.3  complaining about:
>>
>>
>> I have gcc 4.5.3 and see this.
>> Christoph
>>
> Ups! You said it earlier but I forgot to go and check your gcc version,
> and just considered mine. Sorry. :-P


I think, this affects all gcc versions where -Wswitch is on by default.
If we build libxl with passing -Wswitch in the build system then this
should be reproducable with any gcc version.

Christoph

> 
> Anyway, let's see what is the fix they want, then we'll decide about a
> proper changelog. :-)
> 
> Thanks and Regards,
> Dario
> 



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:30:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:30:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX7tX-0001GJ-Pl; Wed, 23 May 2012 09:30:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SX7tW-0001G6-00
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:30:14 +0000
Received: from [85.158.143.99:34011] by server-1.bemta-4.messagelabs.com id
	C6/90-00342-52EACBF4; Wed, 23 May 2012 09:30:13 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337765410!28817772!1
X-Originating-IP: [216.32.180.12]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22679 invoked from network); 23 May 2012 09:30:12 -0000
Received: from va3ehsobe002.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.12)
	by server-3.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:30:12 -0000
Received: from mail28-va3-R.bigfish.com (10.7.14.250) by
	VA3EHSOBE010.bigfish.com (10.7.40.12) with Microsoft SMTP Server id
	14.1.225.22; Wed, 23 May 2012 09:29:59 +0000
Received: from mail28-va3 (localhost [127.0.0.1])	by mail28-va3-R.bigfish.com
	(Postfix) with ESMTP id EF6A344028D;
	Wed, 23 May 2012 09:29:58 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -19
X-BigFish: VPS-19(zzbb2dI936eK146fI154dM1432N98dKzz1202hzzz2dh668h839h93fhd25he5bhf0ah)
Received: from mail28-va3 (localhost.localdomain [127.0.0.1]) by mail28-va3
	(MessageSwitch) id 1337765397475002_16694;
	Wed, 23 May 2012 09:29:57 +0000 (UTC)
Received: from VA3EHSMHS029.bigfish.com (unknown [10.7.14.249])	by
	mail28-va3.bigfish.com (Postfix) with ESMTP id 70C8A400045;
	Wed, 23 May 2012 09:29:57 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS029.bigfish.com (10.7.99.39) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:29:55 +0000
X-WSS-ID: 0M4GYE1-02-5XE-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B338C80AB;	Wed, 23 May 2012 04:30:01 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:30:16 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 23 May 2012 04:30:04 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:30:02 -0400
Message-ID: <4FBCAE18.2030209@amd.com>
Date: Wed, 23 May 2012 11:30:00 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<1337353667.16815.25.camel@Solace>
	<1337681771.10118.69.camel@zakaz.uk.xensource.com>
	<1337698697.20890.5.camel@Abyss>
	<1337699271.10118.140.camel@zakaz.uk.xensource.com>
	<1337703493.27368.18.camel@Solace> <4FBCA702.4010009@amd.com>
	<1337765002.27368.65.camel@Solace>
In-Reply-To: <1337765002.27368.65.camel@Solace>
X-OriginatorOrg: amd.com
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/12 11:23, Dario Faggioli wrote:

> On Wed, 2012-05-23 at 10:59 +0200, Christoph Egger wrote:
>>> 8<---------------------------
>>>
>>> libxl: make libxl__domain_type return 'int'
>>>
>>> To avoid gcc > 4.6.3  complaining about:
>>
>>
>> I have gcc 4.5.3 and see this.
>> Christoph
>>
> Ups! You said it earlier but I forgot to go and check your gcc version,
> and just considered mine. Sorry. :-P


I think, this affects all gcc versions where -Wswitch is on by default.
If we build libxl with passing -Wswitch in the build system then this
should be reproducable with any gcc version.

Christoph

> 
> Anyway, let's see what is the fix they want, then we'll decide about a
> proper changelog. :-)
> 
> Thanks and Regards,
> Dario
> 



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:37:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX80C-0001ZN-N5; Wed, 23 May 2012 09:37:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX809-0001ZI-Py
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:37:07 +0000
Received: from [193.109.254.147:41662] by server-3.bemta-14.messagelabs.com id
	BF/99-23274-0CFACBF4; Wed, 23 May 2012 09:37:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337765824!6459496!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26043 invoked from network); 23 May 2012 09:37:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:37:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12621370"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:37:03 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 10:37:03 +0100
Message-ID: <1337765821.30233.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Wed, 23 May 2012 10:37:01 +0100
In-Reply-To: <CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
	<CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 03:22 +0100, Teck Choon Giam wrote:

> >
> > I think the reason this effects xm and not xl is that libxl uses
> > script=none to disable qemu-ifup while xend does not and instead ends up
> > using qemu-ifup which does some fiddling with the device too, including
> > bringing it up.
> 
> Ok, so default for xend is using script=qemu-ifup if script is not
> set?  Am I right about this?

Yes.

> > The proper fix is probably to change xend, I'm a bit wary of this,
> > especially for a 4.1 backport, but the following looks right and works
> > for me. It's a bit more complex since in libxl we seem to only do this
> > for Linux (i.e. not NetBSD) and I guess we should do the same in xend
> > too.
> 
> Err... if we are going to change default behaviour will we be
> affecting those users who is upgrading from xen-4.1 to xen-4.2?

This was already a deliberate change made in xl, it does not effect the
guest config, only the mechanisms by which that configuration is
achieved. I think extending this to xend in order not to break xend in
4.2 is worthwhile.

I don't think we should be backporting any of this to 4.1 though.

> If your fix patch is going into xen-unstable for sure, I will re-run
> my tests by then.  I hope it doesn't affect current domUs
> configuration (I mean we shouldn't need to change domU configuration)
> especially when users prefer to use xm then xl in xen-4.2.

There should be no guest config change necessary.

Ian.

> 
> Thanks.
> 
> Kindest regards,
> Giam Teck Choon
> 
> 
> >
> > Ian
> >
> > # HG changeset patch
> > # User Ian Campbell <ian.campbell@citrix.com>
> > # Date 1337692747 -3600
> > # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
> > # Parent  72ca5bc4eb6b91fa8dff51d439bd05f5586179df
> > xend: do not run a hotplug script from qemu on Linux
> >
> > The current vif-hotplug-common.sh for renaming the tap device is failing
> > because it is racing with this script and therefore the device is unexpectedly
> > up when we come to rename it.
> >
> > Fix this in the same way as libxl does, by disabling the script (only on
> > Linux).
> >
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >
> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
> > --- a/tools/python/xen/xend/image.py    Tue May 22 11:29:50 2012 +0100
> > +++ b/tools/python/xen/xend/image.py    Tue May 22 14:19:07 2012 +0100
> > @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
> >                        (nics, mac, model))
> >             vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
> >             ret.append("-net")
> > -            ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
> > -                       (nics, vifname, bridge))
> > +            if osdep.tapif_script is not None:
> > +                script=",script=%s,downscript=%s" % \
> > +                        (osdep.tapif_script, osdep.tapif_script)
> > +            else:
> > +                script=""
> > +            ret.append("tap,vlan=%d,ifname=%s,bridge=%s%s" %
> > +                       (nics, vifname, bridge, script))
> >
> >         if nics == 0:
> >             ret.append("-net")
> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
> > --- a/tools/python/xen/xend/osdep.py    Tue May 22 11:29:50 2012 +0100
> > +++ b/tools/python/xen/xend/osdep.py    Tue May 22 14:19:07 2012 +0100
> > @@ -30,6 +30,10 @@ _vif_script = {
> >     "SunOS": "vif-vnic"
> >  }
> >
> > +_tapif_script = {
> > +    "Linux": "no",
> > +}
> > +
> >  PROC_XEN_BALLOON = '/proc/xen/balloon'
> >  SYSFS_XEN_MEMORY = '/sys/devices/system/xen_memory/xen_memory0'
> >
> > @@ -257,6 +261,7 @@ def _get(var, default=None):
> >
> >  xend_autorestart = _get(_xend_autorestart)
> >  vif_script = _get(_vif_script, "vif-bridge")
> > +tapif_script = _get(_tapif_script)
> >  lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat)
> >  get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo)
> >  prefork = _get(_get_prefork, _default_prefork)
> >
> >



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:37:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX80C-0001ZN-N5; Wed, 23 May 2012 09:37:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX809-0001ZI-Py
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:37:07 +0000
Received: from [193.109.254.147:41662] by server-3.bemta-14.messagelabs.com id
	BF/99-23274-0CFACBF4; Wed, 23 May 2012 09:37:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337765824!6459496!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26043 invoked from network); 23 May 2012 09:37:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:37:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12621370"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:37:03 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 10:37:03 +0100
Message-ID: <1337765821.30233.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Teck Choon Giam <giamteckchoon@gmail.com>
Date: Wed, 23 May 2012 10:37:01 +0100
In-Reply-To: <CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
	<CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 03:22 +0100, Teck Choon Giam wrote:

> >
> > I think the reason this effects xm and not xl is that libxl uses
> > script=none to disable qemu-ifup while xend does not and instead ends up
> > using qemu-ifup which does some fiddling with the device too, including
> > bringing it up.
> 
> Ok, so default for xend is using script=qemu-ifup if script is not
> set?  Am I right about this?

Yes.

> > The proper fix is probably to change xend, I'm a bit wary of this,
> > especially for a 4.1 backport, but the following looks right and works
> > for me. It's a bit more complex since in libxl we seem to only do this
> > for Linux (i.e. not NetBSD) and I guess we should do the same in xend
> > too.
> 
> Err... if we are going to change default behaviour will we be
> affecting those users who is upgrading from xen-4.1 to xen-4.2?

This was already a deliberate change made in xl, it does not effect the
guest config, only the mechanisms by which that configuration is
achieved. I think extending this to xend in order not to break xend in
4.2 is worthwhile.

I don't think we should be backporting any of this to 4.1 though.

> If your fix patch is going into xen-unstable for sure, I will re-run
> my tests by then.  I hope it doesn't affect current domUs
> configuration (I mean we shouldn't need to change domU configuration)
> especially when users prefer to use xm then xl in xen-4.2.

There should be no guest config change necessary.

Ian.

> 
> Thanks.
> 
> Kindest regards,
> Giam Teck Choon
> 
> 
> >
> > Ian
> >
> > # HG changeset patch
> > # User Ian Campbell <ian.campbell@citrix.com>
> > # Date 1337692747 -3600
> > # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
> > # Parent  72ca5bc4eb6b91fa8dff51d439bd05f5586179df
> > xend: do not run a hotplug script from qemu on Linux
> >
> > The current vif-hotplug-common.sh for renaming the tap device is failing
> > because it is racing with this script and therefore the device is unexpectedly
> > up when we come to rename it.
> >
> > Fix this in the same way as libxl does, by disabling the script (only on
> > Linux).
> >
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> >
> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
> > --- a/tools/python/xen/xend/image.py    Tue May 22 11:29:50 2012 +0100
> > +++ b/tools/python/xen/xend/image.py    Tue May 22 14:19:07 2012 +0100
> > @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
> >                        (nics, mac, model))
> >             vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
> >             ret.append("-net")
> > -            ret.append("tap,vlan=%d,ifname=%s,bridge=%s" %
> > -                       (nics, vifname, bridge))
> > +            if osdep.tapif_script is not None:
> > +                script=",script=%s,downscript=%s" % \
> > +                        (osdep.tapif_script, osdep.tapif_script)
> > +            else:
> > +                script=""
> > +            ret.append("tap,vlan=%d,ifname=%s,bridge=%s%s" %
> > +                       (nics, vifname, bridge, script))
> >
> >         if nics == 0:
> >             ret.append("-net")
> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
> > --- a/tools/python/xen/xend/osdep.py    Tue May 22 11:29:50 2012 +0100
> > +++ b/tools/python/xen/xend/osdep.py    Tue May 22 14:19:07 2012 +0100
> > @@ -30,6 +30,10 @@ _vif_script = {
> >     "SunOS": "vif-vnic"
> >  }
> >
> > +_tapif_script = {
> > +    "Linux": "no",
> > +}
> > +
> >  PROC_XEN_BALLOON = '/proc/xen/balloon'
> >  SYSFS_XEN_MEMORY = '/sys/devices/system/xen_memory/xen_memory0'
> >
> > @@ -257,6 +261,7 @@ def _get(var, default=None):
> >
> >  xend_autorestart = _get(_xend_autorestart)
> >  vif_script = _get(_vif_script, "vif-bridge")
> > +tapif_script = _get(_tapif_script)
> >  lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat)
> >  get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo)
> >  prefork = _get(_get_prefork, _default_prefork)
> >
> >



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:38:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:38:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX81p-0001fj-At; Wed, 23 May 2012 09:38:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX81o-0001fc-F5
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:38:48 +0000
Received: from [193.109.254.147:7848] by server-11.bemta-14.messagelabs.com id
	14/93-05858-720BCBF4; Wed, 23 May 2012 09:38:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337765926!10728263!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10980 invoked from network); 23 May 2012 09:38:46 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 09:38:46 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 10:38:45 +0100
Message-Id: <4FBCCC650200007800085694@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 10:39:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
In-Reply-To: <CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, keir@xen.org,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Pj4+IE9uIDIyLjA1LjEyIGF0IDIzOjAwLCBCZW4gR3V0aHJvIDxiZW5AZ3V0aHJvLm5ldD4gd3Jv
dGU6Cj4gSSd2ZSBiaXNlY3RlZCB0aGlzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0IGluIHRoZSB4
ZW4tdW5zdGFibGUgZ2l0IHRyZWUuCj4gCj4gSSdsbCBiZSBhYmxlIHRvIGRpdmUgaW4gYSBsaXR0
bGUgZGVlcGVyIHRvbW9ycm93Lgo+IElmIHlvdSBzZWUgYW55dGhpbmcgaGVyZSB0aGF0IGxvb2tz
IHN1c3BpY2lvdXMgdG8gdGhlIGNyYXNoCj4gcmVmZXJlbmNlZC4uLiBsZXQgbWUga25vdy4KCkFz
IHRoZSBjaGFuZ2Ugd2FzIHJlYWxseSBhIHJlLXdyaXRlIG9mIGEgc3VibWlzc2lvbiBieSBKw7xy
Z2VuLApJJ20gYWRkaW5nIGhpbSB0byBDYy4KClVubGVzcyBoZSBoYXMgYW4gaW1tZWRpYXRlIGlk
ZWEsIHdlIGRlZmluaXRlbHkgd2FudCB0bwp1bmRlcnN0YW5kIHdoeSAiY3B1cyIgaXMgZW1wdHkg
LSBoZW5jZSB3ZSdkIHdhbnQgdG8gc2VlCipvbmxpbmUsICp2Yy0+Y3B1X2FmZmluaXR5LCB2Yy0+
Y3B1X2lkLCBhbmQgbWF5YmUKdmMtPnByb2Nlc3Nvci4gKFByaW50aW5nIHRoZW0gaXMgcHJvYmFi
bHkgbm90IGEgZ29vZCBpZGVhCmhlcmUsIHNvIEknZCBpbnN0ZWFkIHN1Z2dlc3QganVzdCBjb3B5
aW5nIHRoZW0gdG8gW2FkZGl0aW9uYWxdCm9uLXN0YWNrIHZhcmlhYmxlcywgbWFraW5nIHN1cmUg
dGhlIGNvbXBpbGVyIGRvZXNuJ3Qgb3B0aW1pemUKdGhlbSBhd2F5LikKClByb2JhYmx5IGl0IHdv
dWxkIGJlIGdvb2QgdG8gYWxzbyBrbm93IHdoYXQgZWFjaCBhY3RpdmUKdkNQVSdzIC0+Y3B1X2Fm
ZmluaXR5IHdhcyByaWdodCBiZWZvcmUgc3VzcGVuZCBhbmQvb3IgcmlnaHQKYWZ0ZXIgcmVzdW1l
IChwZXJoYXBzIGluIGZyZWV6ZV9kb21haW5zKCkgYW5kL29yCnRoYXdfZG9tYWlucygpLiBUaGF0
IHdheSB3ZSdkIGF0IGxlYXN0IGtub3cgd2hldGhlciB0aGUKYWZmaW5pdHkgLSBkZXNwaXRlIHRo
ZSBvZmZlbmRpbmcgY2hhbmdlc2V0J3MgaW52ZXJzZSBpbnRlbnRpb24gLQpkaWQgZ2V0IGNoYW5n
ZWQgZHVyaW5nIHRoZSByZXN1bWUgcHJvY2Vzcy4KCkphbgoKPiBjb21taXQgZTRhMzEyMDU3NjZk
NTE4Mjc2ZDBmYmMxNzgwYmNkNjNkYjFhNTAyZAo+IEF1dGhvcjogS2VpciBGcmFzZXIgPGtlaXJA
eGVuLm9yZz4KPiBEYXRlOiAgIFRodSBNYXIgMjIgMTI6MjA6MTMgMjAxMiArMDAwMAo+IAo+ICAg
ICBJbnRyb2R1Y2Ugc3lzdGVtX3N0YXRlIHZhcmlhYmxlLgo+IAo+ICAgICBVc2UgaXQgdG8gcmVw
bGFjZSB4ODYtc3BlY2lmaWMgZWFybHlfYm9vdCBib29sZWFuIHZhcmlhYmxlLgo+IAo+ICAgICBB
bHNvIHVzZSBpdCB0byBkZXRlY3Qgc3VzcGVuZC9yZXN1bWUgY2FzZSBkdXJpbmcgY3B1IG9mZmxp
bmUvb25saW5lCj4gICAgIHRvIGF2b2lkIHVubmVjZXNzYXJpbHkgYnJlYWtpbmcgdmNwdSBhbmQg
Y3B1cG9vbCBhZmZpbml0aWVzLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBLZWlyIEZyYXNlciA8
a2VpckB4ZW4ub3JnPgo+ICAgICBBY2tlZC1ieTogSnVlcmdlbiBHcm9zcyA8anVlcmdlbi5ncm9z
c0B0cy5mdWppdHN1LmNvbT4KPiAKPiAKPiBodHRwOi8veGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/
cD14ZW4tdW5zdGFibGUuZ2l0O2E9Y29tbWl0O2g9ZTRhMzEyMDU3NjZkNTE4MiAKPiA3NmQwZmJj
MTc4MGJjZDYzZGIxYTUwMmQKPiAKPiBvciwgaWYgeW91IHByZWZlciBtZXJjdXJpYWw6Cj4gaHR0
cDovL3hlbmJpdHMueGVuLm9yZy9oZy9zdGFnaW5nL3hlbi11bnN0YWJsZS5oZy9yZXYvZDVjY2Iy
ZDFkYmQxIAo+IAo+IAo+IAo+IE9uIFR1ZSwgTWF5IDIyLCAyMDEyIGF0IDI6MjYgUE0sIEJlbiBH
dXRocm8gPGJlbkBndXRocm8ubmV0PiB3cm90ZToKPj4gT0ssIEknbGwgY29tcGFyZSB3aGF0IGdv
dCBjb21taXR0ZWQgd2l0aCBvdXIgb2xkIHBhdGNoZXMgYWdhaW5zdCA0LjAgJgo+PiBzZWUgaWYg
dGhlcmUgYXJlIGFueSBvYnZpb3VzIGRpZmZlcmVuY2VzLgo+Pgo+PiBUb20gR29ldHogd3JvdGUg
dGhvc2UsIG9yaWdpbmFsbHkgLSBhbmQgaGUncyBvbiB2YWNhdGlvbiAtIHNvCj4+IHNwZWNpZmlj
cyBhYm91dCB0aGVtIG1heSBoYXZlIHRvIHdhaXQgdW50aWwgaGUgcmV0dXJucy4KPj4KPj4KPj4K
Pj4gT24gVHVlLCBNYXkgMjIsIDIwMTIgYXQgMjowMCBQTSwgS29ucmFkIFJ6ZXN6dXRlayBXaWxr
Cj4+IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPiB3cm90ZToKPj4+IE9uIFR1ZSwgTWF5IDIyLCAy
MDEyIGF0IDAxOjU1OjI1UE0gLTA0MDAsIEJlbiBHdXRocm8gd3JvdGU6Cj4+Pj4gQXJlIHlvdSBy
ZWZlcnJpbmcgdG8ga2VybmVsLCBvciBYZW4gcGF0Y2hlcz8KPj4+Cj4+PiBYZW4uCj4+Pj4KPj4+
PiBJJ20gY3VycmVudGx5IHNlZWluZyB0aGUgaXNzdWUgaW4gcXVlc3Rpb24gd2l0aCB0aGUgeGVu
LXVuc3RhYmxlIHRpcAo+Pj4+IG5vbmUgb2Ygb3VyIHBhdGNoZXMgcHVzaGVkLi4uCj4+Pgo+Pj4g
SSBwdXNoZWQgdGhlIHNlcmlhbCBvbmVzLgo+Pj4KPj4+PiAuLi5vciBhcmUgeW91IHN1Z2dlc3Rp
bmcgdGhhdCB0aGUgcGF0Y2gsIGFzIGNvbW1pdHRlZCBpcyBpbmNvcnJlY3Q/Cj4+Pgo+Pj4gSSBq
dXN0IHRyaWVkIHRvIHN1c3BlbmQgYW5kIHJlc3VtZSBYZW4gNC4xIHdpdGggYW5kIHdpdGhvdXQg
c2VyaWFsIGNvbnNvbGUKPj4+IGFuZCBpdCBvbmx5IHdvcmtzIHdoZW4gdGhlcmUgaXMgbm8gc2Vy
aWFsIGNvbnNvbGUuCj4+Pgo+Pj4gSSB0aGluayBzb21ldGhpbmcgaXMgYnVnZ3kuIE5vdCBzdXJl
IHdoYXQgKHRoaXMgd2FzIHdpdGggYSBub3JtYWwKPj4+IGJ1aWx0LWluIG1vdGhlcmJvYXJkIHNl
cmlhbCBwb3J0KS4KCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw
Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Wed May 23 09:38:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:38:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX81p-0001fj-At; Wed, 23 May 2012 09:38:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX81o-0001fc-F5
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:38:48 +0000
Received: from [193.109.254.147:7848] by server-11.bemta-14.messagelabs.com id
	14/93-05858-720BCBF4; Wed, 23 May 2012 09:38:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337765926!10728263!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10980 invoked from network); 23 May 2012 09:38:46 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 09:38:46 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 10:38:45 +0100
Message-Id: <4FBCCC650200007800085694@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 10:39:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
In-Reply-To: <CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, keir@xen.org,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Pj4+IE9uIDIyLjA1LjEyIGF0IDIzOjAwLCBCZW4gR3V0aHJvIDxiZW5AZ3V0aHJvLm5ldD4gd3Jv
dGU6Cj4gSSd2ZSBiaXNlY3RlZCB0aGlzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0IGluIHRoZSB4
ZW4tdW5zdGFibGUgZ2l0IHRyZWUuCj4gCj4gSSdsbCBiZSBhYmxlIHRvIGRpdmUgaW4gYSBsaXR0
bGUgZGVlcGVyIHRvbW9ycm93Lgo+IElmIHlvdSBzZWUgYW55dGhpbmcgaGVyZSB0aGF0IGxvb2tz
IHN1c3BpY2lvdXMgdG8gdGhlIGNyYXNoCj4gcmVmZXJlbmNlZC4uLiBsZXQgbWUga25vdy4KCkFz
IHRoZSBjaGFuZ2Ugd2FzIHJlYWxseSBhIHJlLXdyaXRlIG9mIGEgc3VibWlzc2lvbiBieSBKw7xy
Z2VuLApJJ20gYWRkaW5nIGhpbSB0byBDYy4KClVubGVzcyBoZSBoYXMgYW4gaW1tZWRpYXRlIGlk
ZWEsIHdlIGRlZmluaXRlbHkgd2FudCB0bwp1bmRlcnN0YW5kIHdoeSAiY3B1cyIgaXMgZW1wdHkg
LSBoZW5jZSB3ZSdkIHdhbnQgdG8gc2VlCipvbmxpbmUsICp2Yy0+Y3B1X2FmZmluaXR5LCB2Yy0+
Y3B1X2lkLCBhbmQgbWF5YmUKdmMtPnByb2Nlc3Nvci4gKFByaW50aW5nIHRoZW0gaXMgcHJvYmFi
bHkgbm90IGEgZ29vZCBpZGVhCmhlcmUsIHNvIEknZCBpbnN0ZWFkIHN1Z2dlc3QganVzdCBjb3B5
aW5nIHRoZW0gdG8gW2FkZGl0aW9uYWxdCm9uLXN0YWNrIHZhcmlhYmxlcywgbWFraW5nIHN1cmUg
dGhlIGNvbXBpbGVyIGRvZXNuJ3Qgb3B0aW1pemUKdGhlbSBhd2F5LikKClByb2JhYmx5IGl0IHdv
dWxkIGJlIGdvb2QgdG8gYWxzbyBrbm93IHdoYXQgZWFjaCBhY3RpdmUKdkNQVSdzIC0+Y3B1X2Fm
ZmluaXR5IHdhcyByaWdodCBiZWZvcmUgc3VzcGVuZCBhbmQvb3IgcmlnaHQKYWZ0ZXIgcmVzdW1l
IChwZXJoYXBzIGluIGZyZWV6ZV9kb21haW5zKCkgYW5kL29yCnRoYXdfZG9tYWlucygpLiBUaGF0
IHdheSB3ZSdkIGF0IGxlYXN0IGtub3cgd2hldGhlciB0aGUKYWZmaW5pdHkgLSBkZXNwaXRlIHRo
ZSBvZmZlbmRpbmcgY2hhbmdlc2V0J3MgaW52ZXJzZSBpbnRlbnRpb24gLQpkaWQgZ2V0IGNoYW5n
ZWQgZHVyaW5nIHRoZSByZXN1bWUgcHJvY2Vzcy4KCkphbgoKPiBjb21taXQgZTRhMzEyMDU3NjZk
NTE4Mjc2ZDBmYmMxNzgwYmNkNjNkYjFhNTAyZAo+IEF1dGhvcjogS2VpciBGcmFzZXIgPGtlaXJA
eGVuLm9yZz4KPiBEYXRlOiAgIFRodSBNYXIgMjIgMTI6MjA6MTMgMjAxMiArMDAwMAo+IAo+ICAg
ICBJbnRyb2R1Y2Ugc3lzdGVtX3N0YXRlIHZhcmlhYmxlLgo+IAo+ICAgICBVc2UgaXQgdG8gcmVw
bGFjZSB4ODYtc3BlY2lmaWMgZWFybHlfYm9vdCBib29sZWFuIHZhcmlhYmxlLgo+IAo+ICAgICBB
bHNvIHVzZSBpdCB0byBkZXRlY3Qgc3VzcGVuZC9yZXN1bWUgY2FzZSBkdXJpbmcgY3B1IG9mZmxp
bmUvb25saW5lCj4gICAgIHRvIGF2b2lkIHVubmVjZXNzYXJpbHkgYnJlYWtpbmcgdmNwdSBhbmQg
Y3B1cG9vbCBhZmZpbml0aWVzLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBLZWlyIEZyYXNlciA8
a2VpckB4ZW4ub3JnPgo+ICAgICBBY2tlZC1ieTogSnVlcmdlbiBHcm9zcyA8anVlcmdlbi5ncm9z
c0B0cy5mdWppdHN1LmNvbT4KPiAKPiAKPiBodHRwOi8veGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/
cD14ZW4tdW5zdGFibGUuZ2l0O2E9Y29tbWl0O2g9ZTRhMzEyMDU3NjZkNTE4MiAKPiA3NmQwZmJj
MTc4MGJjZDYzZGIxYTUwMmQKPiAKPiBvciwgaWYgeW91IHByZWZlciBtZXJjdXJpYWw6Cj4gaHR0
cDovL3hlbmJpdHMueGVuLm9yZy9oZy9zdGFnaW5nL3hlbi11bnN0YWJsZS5oZy9yZXYvZDVjY2Iy
ZDFkYmQxIAo+IAo+IAo+IAo+IE9uIFR1ZSwgTWF5IDIyLCAyMDEyIGF0IDI6MjYgUE0sIEJlbiBH
dXRocm8gPGJlbkBndXRocm8ubmV0PiB3cm90ZToKPj4gT0ssIEknbGwgY29tcGFyZSB3aGF0IGdv
dCBjb21taXR0ZWQgd2l0aCBvdXIgb2xkIHBhdGNoZXMgYWdhaW5zdCA0LjAgJgo+PiBzZWUgaWYg
dGhlcmUgYXJlIGFueSBvYnZpb3VzIGRpZmZlcmVuY2VzLgo+Pgo+PiBUb20gR29ldHogd3JvdGUg
dGhvc2UsIG9yaWdpbmFsbHkgLSBhbmQgaGUncyBvbiB2YWNhdGlvbiAtIHNvCj4+IHNwZWNpZmlj
cyBhYm91dCB0aGVtIG1heSBoYXZlIHRvIHdhaXQgdW50aWwgaGUgcmV0dXJucy4KPj4KPj4KPj4K
Pj4gT24gVHVlLCBNYXkgMjIsIDIwMTIgYXQgMjowMCBQTSwgS29ucmFkIFJ6ZXN6dXRlayBXaWxr
Cj4+IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPiB3cm90ZToKPj4+IE9uIFR1ZSwgTWF5IDIyLCAy
MDEyIGF0IDAxOjU1OjI1UE0gLTA0MDAsIEJlbiBHdXRocm8gd3JvdGU6Cj4+Pj4gQXJlIHlvdSBy
ZWZlcnJpbmcgdG8ga2VybmVsLCBvciBYZW4gcGF0Y2hlcz8KPj4+Cj4+PiBYZW4uCj4+Pj4KPj4+
PiBJJ20gY3VycmVudGx5IHNlZWluZyB0aGUgaXNzdWUgaW4gcXVlc3Rpb24gd2l0aCB0aGUgeGVu
LXVuc3RhYmxlIHRpcAo+Pj4+IG5vbmUgb2Ygb3VyIHBhdGNoZXMgcHVzaGVkLi4uCj4+Pgo+Pj4g
SSBwdXNoZWQgdGhlIHNlcmlhbCBvbmVzLgo+Pj4KPj4+PiAuLi5vciBhcmUgeW91IHN1Z2dlc3Rp
bmcgdGhhdCB0aGUgcGF0Y2gsIGFzIGNvbW1pdHRlZCBpcyBpbmNvcnJlY3Q/Cj4+Pgo+Pj4gSSBq
dXN0IHRyaWVkIHRvIHN1c3BlbmQgYW5kIHJlc3VtZSBYZW4gNC4xIHdpdGggYW5kIHdpdGhvdXQg
c2VyaWFsIGNvbnNvbGUKPj4+IGFuZCBpdCBvbmx5IHdvcmtzIHdoZW4gdGhlcmUgaXMgbm8gc2Vy
aWFsIGNvbnNvbGUuCj4+Pgo+Pj4gSSB0aGluayBzb21ldGhpbmcgaXMgYnVnZ3kuIE5vdCBzdXJl
IHdoYXQgKHRoaXMgd2FzIHdpdGggYSBub3JtYWwKPj4+IGJ1aWx0LWluIG1vdGhlcmJvYXJkIHNl
cmlhbCBwb3J0KS4KCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw
Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Wed May 23 09:39:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX82f-0001kF-P4; Wed, 23 May 2012 09:39:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SX82e-0001k4-Jj
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:39:40 +0000
Received: from [85.158.138.51:60444] by server-10.bemta-3.messagelabs.com id
	A8/50-01101-B50BCBF4; Wed, 23 May 2012 09:39:39 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337765978!9972894!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14658 invoked from network); 23 May 2012 09:39:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:39:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12621433"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:39:38 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Wed, 23 May 2012
	10:39:38 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:39:37 +0100
Thread-Topic: Possible error restoring machine
Thread-Index: Ac04x/hk1aXabUX3SLGp4VFrTjOoQQ==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I noted a possible problem restoring a machine.

In xc_domain_restore (xc_domain_restore.c) if it's not the last
checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
pagebuf_get or just load other pages (see following "goto loadpages;"
line).
Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
(xc_tmem.c) which call read_extract (xc_private.c) on the same non
blocking socket/file but read_extract does not handle EAGAIN/EWOULDBLOCK
(both can be returned on non blocking socket depending on file type and
Unix/Linux version) leading to a failure.
Does this make sense or is it impossible ??

Also note that rdexact (xc_domain_restore.c) handle data timeout but we
can still block in read_exact called by
xc_tmem_restore/xc_tmem_restore_extra.

Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
are network problems?

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:39:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX82f-0001kF-P4; Wed, 23 May 2012 09:39:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SX82e-0001k4-Jj
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:39:40 +0000
Received: from [85.158.138.51:60444] by server-10.bemta-3.messagelabs.com id
	A8/50-01101-B50BCBF4; Wed, 23 May 2012 09:39:39 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337765978!9972894!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14658 invoked from network); 23 May 2012 09:39:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:39:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12621433"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:39:38 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Wed, 23 May 2012
	10:39:38 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:39:37 +0100
Thread-Topic: Possible error restoring machine
Thread-Index: Ac04x/hk1aXabUX3SLGp4VFrTjOoQQ==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I noted a possible problem restoring a machine.

In xc_domain_restore (xc_domain_restore.c) if it's not the last
checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
pagebuf_get or just load other pages (see following "goto loadpages;"
line).
Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
(xc_tmem.c) which call read_extract (xc_private.c) on the same non
blocking socket/file but read_extract does not handle EAGAIN/EWOULDBLOCK
(both can be returned on non blocking socket depending on file type and
Unix/Linux version) leading to a failure.
Does this make sense or is it impossible ??

Also note that rdexact (xc_domain_restore.c) handle data timeout but we
can still block in read_exact called by
xc_tmem_restore/xc_tmem_restore_extra.

Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
are network problems?

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:40:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:40:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX838-0001oS-5O; Wed, 23 May 2012 09:40:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1SX836-0001oH-R0
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:40:08 +0000
Received: from [85.158.143.99:54432] by server-2.bemta-4.messagelabs.com id
	5C/A4-12211-870BCBF4; Wed, 23 May 2012 09:40:08 +0000
X-Env-Sender: k@itoc.dk
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337766005!19593206!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14981 invoked from network); 23 May 2012 09:40:06 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-8.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	23 May 2012 09:40:06 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1SX832-0007Um-HI
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 02:40:04 -0700
Date: Wed, 23 May 2012 02:40:04 -0700 (PDT)
From: Kristoffer Harthing Egefelt <k@itoc.dk>
To: xen-devel@lists.xensource.com
Message-ID: <1337766004380-5709087.post@n5.nabble.com>
In-Reply-To: <1336940666023-5708399.post@n5.nabble.com>
References: <1332880165775-5598838.post@n5.nabble.com>
	<1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
	<1336940666023-5708399.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Any luck?

>Actually after finding out about the pci=nomsi kernel parameter, I have not
had any problems.
>Regarding the firmware upgrade, qlogic and dell need a supported OS to run
their diag tools on, I'm tired of >dealing with them, so I have not gathered
this info yet.
>Didn't try to downgrade the driver either.
>But I'm about to try pci passthrough, to have 10gig directly in the domU.
>I'll let you know if it works.

The pci=nomsi actually seems to create problems for us when using pci
passthrough.
We could not get more than 2.5 Gbit from a domU, using netback/netfront.
It was suggested that we use pci passthrough to get the full 10Gbit.
However dom0 and domU crashes periodically with: 

kernel irq 60: nobody cared (try booting with the "irqpoll" option) 
kernel Pid: 0, comm: swapper Not tainted

Booting with irqpoll has no effect.

So I tried to upgrade the firmware on the qlogic cards to 1.09.22 - no
change.
Qlogic's latest firmware is 1.09.65 - but is not installable on the DELL oem
cards.
I was not able to downgrade the qlogic driver in linux 3.2 to 5.0.24 from
5.0.25 as suggested in this thread, the driver will not compile - struct
dev_mc_list is no longer defined in netdevice.h.

As far as I can tell the pci=nomsi disables the irq handling needed for pci
passthrough.
Could someone confirm this?
Could someone also clarify if this is a qlogic driver issue or a xen issue.

Thanks
Kristoffer


--
View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5709087.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:40:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:40:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX838-0001oS-5O; Wed, 23 May 2012 09:40:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1SX836-0001oH-R0
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:40:08 +0000
Received: from [85.158.143.99:54432] by server-2.bemta-4.messagelabs.com id
	5C/A4-12211-870BCBF4; Wed, 23 May 2012 09:40:08 +0000
X-Env-Sender: k@itoc.dk
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337766005!19593206!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14981 invoked from network); 23 May 2012 09:40:06 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-8.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	23 May 2012 09:40:06 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72) (envelope-from <k@itoc.dk>)
	id 1SX832-0007Um-HI
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 02:40:04 -0700
Date: Wed, 23 May 2012 02:40:04 -0700 (PDT)
From: Kristoffer Harthing Egefelt <k@itoc.dk>
To: xen-devel@lists.xensource.com
Message-ID: <1337766004380-5709087.post@n5.nabble.com>
In-Reply-To: <1336940666023-5708399.post@n5.nabble.com>
References: <1332880165775-5598838.post@n5.nabble.com>
	<1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
	<1336940666023-5708399.post@n5.nabble.com>
MIME-Version: 1.0
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Any luck?

>Actually after finding out about the pci=nomsi kernel parameter, I have not
had any problems.
>Regarding the firmware upgrade, qlogic and dell need a supported OS to run
their diag tools on, I'm tired of >dealing with them, so I have not gathered
this info yet.
>Didn't try to downgrade the driver either.
>But I'm about to try pci passthrough, to have 10gig directly in the domU.
>I'll let you know if it works.

The pci=nomsi actually seems to create problems for us when using pci
passthrough.
We could not get more than 2.5 Gbit from a domU, using netback/netfront.
It was suggested that we use pci passthrough to get the full 10Gbit.
However dom0 and domU crashes periodically with: 

kernel irq 60: nobody cared (try booting with the "irqpoll" option) 
kernel Pid: 0, comm: swapper Not tainted

Booting with irqpoll has no effect.

So I tried to upgrade the firmware on the qlogic cards to 1.09.22 - no
change.
Qlogic's latest firmware is 1.09.65 - but is not installable on the DELL oem
cards.
I was not able to downgrade the qlogic driver in linux 3.2 to 5.0.24 from
5.0.25 as suggested in this thread, the driver will not compile - struct
dev_mc_list is no longer defined in netdevice.h.

As far as I can tell the pci=nomsi disables the irq handling needed for pci
passthrough.
Could someone confirm this?
Could someone also clarify if this is a qlogic driver issue or a xen issue.

Thanks
Kristoffer


--
View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5709087.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:41:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:41:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX84N-0001zK-Kt; Wed, 23 May 2012 09:41:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX84M-0001z8-5Z
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:41:26 +0000
Received: from [193.109.254.147:45108] by server-4.bemta-14.messagelabs.com id
	17/EE-11570-5C0BCBF4; Wed, 23 May 2012 09:41:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337766084!6460445!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13354 invoked from network); 23 May 2012 09:41:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 09:41:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 10:41:23 +0100
Message-Id: <4FBCCD02020000780008569B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 10:41:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Daniel Castro" <evil.dani@gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
	<CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
	<4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
	<CAP2B859bvru0ABxRo8wqZfs+a7q2_hn==LDnozvCDeRBBdospw@mail.gmail.com>
In-Reply-To: <CAP2B859bvru0ABxRo8wqZfs+a7q2_hn==LDnozvCDeRBBdospw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: James Harper <james.harper@bendigoit.com.au>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 10:54, Daniel Castro <evil.dani@gmail.com> wrote:
> On Wed, May 23, 2012 at 5:20 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 23.05.12 at 01:43, Daniel Castro <evil.dani@gmail.com> wrote:
>>> On Tue, May 22, 2012 at 8:53 AM, James Harper <james.harper@bendigoit.com.au> 
> wrote:
>>>> Is sizeof() what you expect it to be? That would cause the first request to
>>> be (mostly) okay, but subsequent requests to be further and further out of
>>> alignment.
>>>
>>> Right on the spot!
>>> Here is the output of sizeof for the struct and for each member:
>>> SIZEOF ring_res:12 id:8 operation:1 status:2
>>> There is seems to be an alignment problem, them sum of members is 11,
>>> but the whole struct is 12, the question now is, how can I tackle this
>>> problem?
>>
>> But sizeof is 12, as expected. There should be no place in your
>> code where you (directly or indirectly) sum up the individual
>> members' sizes.
> 
> But if you add the members it is id:8 + operation:1 + status:2 = 11.
> Am I missing something?

As said - the sum of the members' sizes should not be used
(and hence not matter) in your code. I'm not clear why you're
insisting on this calculation having any relevance.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:41:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:41:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX84N-0001zK-Kt; Wed, 23 May 2012 09:41:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX84M-0001z8-5Z
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:41:26 +0000
Received: from [193.109.254.147:45108] by server-4.bemta-14.messagelabs.com id
	17/EE-11570-5C0BCBF4; Wed, 23 May 2012 09:41:25 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337766084!6460445!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13354 invoked from network); 23 May 2012 09:41:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 09:41:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 10:41:23 +0100
Message-Id: <4FBCCD02020000780008569B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 10:41:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Daniel Castro" <evil.dani@gmail.com>
References: <CAP2B858pfmQG4KpowJ1SF3scVZht_VRFoFLtPj3yxcai7eHTCw@mail.gmail.com>
	<4FA7A2F90200007800081F7F@nat28.tlf.novell.com>
	<6035A0D088A63A46850C3988ED045A4B1AFB73E8@BITCOM1.int.sbss.com.au>
	<6035A0D088A63A46850C3988ED045A4B1AFB7482@BITCOM1.int.sbss.com.au>
	<CAP2B858uDQrTPXESbB_0dChy0-raQU6cysC3yrBZj43wPsr1ZA@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1AFDBE11@BITCOM1.int.sbss.com.au>
	<1336551537.25514.5.camel@zakaz.uk.xensource.com>
	<CAP2B859w4gn3O3iS0LpG0FdY0HNcgxMyx3jvh+SAQcsh+_80zg@mail.gmail.com>
	<1337086856.14297.41.camel@zakaz.uk.xensource.com>
	<CAP2B85_FsmvYwDrhRkbE6jvtn2nEqa=nPP1nja51EamYVfs5gg@mail.gmail.com>
	<6035A0D088A63A46850C3988ED045A4B1B02D814@BITCOM1.int.sbss.com.au>
	<CAP2B859pQqi5=130ik=S3rLt2s=1ViHccvot2OZCLzP3F+HngQ@mail.gmail.com>
	<4FBCB9DB02000078000855FF@nat28.tlf.novell.com>
	<CAP2B859bvru0ABxRo8wqZfs+a7q2_hn==LDnozvCDeRBBdospw@mail.gmail.com>
In-Reply-To: <CAP2B859bvru0ABxRo8wqZfs+a7q2_hn==LDnozvCDeRBBdospw@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: James Harper <james.harper@bendigoit.com.au>,
	Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Little help with blk ring
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 10:54, Daniel Castro <evil.dani@gmail.com> wrote:
> On Wed, May 23, 2012 at 5:20 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 23.05.12 at 01:43, Daniel Castro <evil.dani@gmail.com> wrote:
>>> On Tue, May 22, 2012 at 8:53 AM, James Harper <james.harper@bendigoit.com.au> 
> wrote:
>>>> Is sizeof() what you expect it to be? That would cause the first request to
>>> be (mostly) okay, but subsequent requests to be further and further out of
>>> alignment.
>>>
>>> Right on the spot!
>>> Here is the output of sizeof for the struct and for each member:
>>> SIZEOF ring_res:12 id:8 operation:1 status:2
>>> There is seems to be an alignment problem, them sum of members is 11,
>>> but the whole struct is 12, the question now is, how can I tackle this
>>> problem?
>>
>> But sizeof is 12, as expected. There should be no place in your
>> code where you (directly or indirectly) sum up the individual
>> members' sizes.
> 
> But if you add the members it is id:8 + operation:1 + status:2 = 11.
> Am I missing something?

As said - the sum of the members' sizes should not be used
(and hence not matter) in your code. I'm not clear why you're
insisting on this calculation having any relevance.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:43:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:43:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX86D-0002DU-5h; Wed, 23 May 2012 09:43:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX86B-0002DA-Sy
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:43:19 +0000
Received: from [193.109.254.147:14068] by server-11.bemta-14.messagelabs.com
	id ED/AA-05858-731BCBF4; Wed, 23 May 2012 09:43:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337766198!5590821!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1305 invoked from network); 23 May 2012 09:43:18 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 09:43:18 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 10:43:17 +0100
Message-Id: <4FBCCD76020000780008569E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 10:43:50 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCAA6F.2060708@amd.com>
In-Reply-To: <4FBCAA6F.2060708@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 11:14, Andre Przywara <andre.przywara@amd.com> wrote:
> On 05/23/2012 09:34 AM, Jan Beulich wrote:
>> Next I'd like to note that in our kernels we simply don't build
>> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
>> suppressed, there's no consumer of the feature flag in our
>> kernels.
> 
> With "our kernels" you mean OpenSuSE/SLES kernels? I quickly checked 
> upstream as well as the repos on kernel.opensuse.org. In all of them 
> sched.o is unconditionally included in the Makefile.
> So is there a build patch to exclude this file for builds of distro Xen 
> kernels?

Did you perhaps overlook

disabled-obj-$(CONFIG_XEN) := hypervisor.o mshyperv.o perfctr-watchdog.o \
			      perf_event.o sched.o vmware.o

in that very Makefile?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:43:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:43:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX86D-0002DU-5h; Wed, 23 May 2012 09:43:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX86B-0002DA-Sy
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:43:19 +0000
Received: from [193.109.254.147:14068] by server-11.bemta-14.messagelabs.com
	id ED/AA-05858-731BCBF4; Wed, 23 May 2012 09:43:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337766198!5590821!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1305 invoked from network); 23 May 2012 09:43:18 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 09:43:18 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 10:43:17 +0100
Message-Id: <4FBCCD76020000780008569E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 10:43:50 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCAA6F.2060708@amd.com>
In-Reply-To: <4FBCAA6F.2060708@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 11:14, Andre Przywara <andre.przywara@amd.com> wrote:
> On 05/23/2012 09:34 AM, Jan Beulich wrote:
>> Next I'd like to note that in our kernels we simply don't build
>> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
>> suppressed, there's no consumer of the feature flag in our
>> kernels.
> 
> With "our kernels" you mean OpenSuSE/SLES kernels? I quickly checked 
> upstream as well as the repos on kernel.opensuse.org. In all of them 
> sched.o is unconditionally included in the Makefile.
> So is there a build patch to exclude this file for builds of distro Xen 
> kernels?

Did you perhaps overlook

disabled-obj-$(CONFIG_XEN) := hypervisor.o mshyperv.o perfctr-watchdog.o \
			      perf_event.o sched.o vmware.o

in that very Makefile?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:47:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:47:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8A0-0002Sb-Qg; Wed, 23 May 2012 09:47:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SX89y-0002SV-SF
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:47:15 +0000
Received: from [193.109.254.147:32655] by server-9.bemta-14.messagelabs.com id
	DC/34-05787-222BCBF4; Wed, 23 May 2012 09:47:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337766432!10405629!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12342 invoked from network); 23 May 2012 09:47:13 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:47:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196183409"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:47:11 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:47:11 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SX89u-0003p0-Ur;
	Wed, 23 May 2012 10:47:10 +0100
Message-ID: <4FBCB225.3020507@citrix.com>
Date: Wed, 23 May 2012 10:47:17 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
In-Reply-To: <20411.50812.100404.117424@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index d2c013c..68d076c 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
> ...
>> +_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
>> +                                        libxl__ao_device *list, int num,
>> +                                        int *last);
>> +
>
> This is a good helper but it could do with a doc comment explaining
> what it does.
>
> Just a suggestion: rather than this business with *last it might be
> easier to assign a magic error code, or use +1, for "not all done
> yet".  (+1 would work since all actual libxl error codes are -ve).
> By my reading of the current interface the return value is not
> meaningful if *last==0 on output, which is the opposite of the usual
> way round.

This function currently returns two different things, the return value 
returns the rc code of any operation that has failed, and the parameter 
last marks if all device events are finished. Without the last 
parameter, we won't be able to return the failed error code if all 
devices had finished, since we had to return 0, so the error code would 
be lost.

Since I think this is not really clear, I will split this function into 
two different ones, one that checks if all devices are finished, and 
another one that checks if some devices have reported errors.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:47:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:47:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8A0-0002Sb-Qg; Wed, 23 May 2012 09:47:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SX89y-0002SV-SF
	for xen-devel@lists.xen.org; Wed, 23 May 2012 09:47:15 +0000
Received: from [193.109.254.147:32655] by server-9.bemta-14.messagelabs.com id
	DC/34-05787-222BCBF4; Wed, 23 May 2012 09:47:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337766432!10405629!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12342 invoked from network); 23 May 2012 09:47:13 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:47:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196183409"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 05:47:11 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 05:47:11 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SX89u-0003p0-Ur;
	Wed, 23 May 2012 10:47:10 +0100
Message-ID: <4FBCB225.3020507@citrix.com>
Date: Wed, 23 May 2012 10:47:17 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
In-Reply-To: <20411.50812.100404.117424@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index d2c013c..68d076c 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
> ...
>> +_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
>> +                                        libxl__ao_device *list, int num,
>> +                                        int *last);
>> +
>
> This is a good helper but it could do with a doc comment explaining
> what it does.
>
> Just a suggestion: rather than this business with *last it might be
> easier to assign a magic error code, or use +1, for "not all done
> yet".  (+1 would work since all actual libxl error codes are -ve).
> By my reading of the current interface the return value is not
> meaningful if *last==0 on output, which is the opposite of the usual
> way round.

This function currently returns two different things, the return value 
returns the rc code of any operation that has failed, and the parameter 
last marks if all device events are finished. Without the last 
parameter, we won't be able to return the failed error code if all 
devices had finished, since we had to return 0, so the error code would 
be lost.

Since I think this is not really clear, I will split this function into 
two different ones, one that checks if all devices are finished, and 
another one that checks if some devices have reported errors.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:54:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:54:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8GR-0002cB-LT; Wed, 23 May 2012 09:53:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8GP-0002c6-Fu
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:53:54 +0000
Received: from [85.158.138.51:36061] by server-4.bemta-3.messagelabs.com id
	B0/AA-25780-0B3BCBF4; Wed, 23 May 2012 09:53:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337766831!22305949!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4539 invoked from network); 23 May 2012 09:53:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:53:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12621848"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:50:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 10:50:53 +0100
Message-ID: <1337766652.30233.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Date: Wed, 23 May 2012 10:50:52 +0100
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl: rewrite libxl_cpumap_alloc()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 03:53 +0100, Zhang, Yang Z wrote:
> Allow libxl_cpumap_alloc to allocate memory of specific size. 
> Max_cpus equals to zero means allocate the biggest possibly required map.

Can we get a comment to that effect in the header please.

> -    int max_cpus;
>      int sz;
> 
> -    max_cpus = libxl_get_max_cpus(ctx);
> -    if (max_cpus == 0)
> -        return ERROR_FAIL;
> +    if (max_cpus < 0) {
> +        return ERROR_INVAL;
> +    } else if (max_cpus == 0) {
> +        max_cpus = libxl_get_max_cpus(ctx);
> +        if (max_cpus == 0)
> +            return ERROR_FAIL;
> +    }

I would have written this as

+    if (max_cpus < 0)
+        return ERROR_INVAL;
+    if (max_cpus == 0)
+        max_cpus = libxl_get_max_cpus(ctx);
+    if (max_cpus == 0)
+        return ERROR_FAIL;

and avoided the nested if and ifelse logic.

> 
>      sz = (max_cpus + 7) / 8;
> -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> -    if (!cpumap->map)
> -        return ERROR_NOMEM;
> +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));

You might as well use libxl__calloc here.

Should I be expecting a v3 of "libxl: allow to set more than 31 vcpus"
which uses this patch? If you already sent it then I may have missed it.

Cheers,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:54:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:54:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8GR-0002cB-LT; Wed, 23 May 2012 09:53:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8GP-0002c6-Fu
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:53:54 +0000
Received: from [85.158.138.51:36061] by server-4.bemta-3.messagelabs.com id
	B0/AA-25780-0B3BCBF4; Wed, 23 May 2012 09:53:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337766831!22305949!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4539 invoked from network); 23 May 2012 09:53:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 09:53:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12621848"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:50:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 10:50:53 +0100
Message-ID: <1337766652.30233.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Date: Wed, 23 May 2012 10:50:52 +0100
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl: rewrite libxl_cpumap_alloc()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 03:53 +0100, Zhang, Yang Z wrote:
> Allow libxl_cpumap_alloc to allocate memory of specific size. 
> Max_cpus equals to zero means allocate the biggest possibly required map.

Can we get a comment to that effect in the header please.

> -    int max_cpus;
>      int sz;
> 
> -    max_cpus = libxl_get_max_cpus(ctx);
> -    if (max_cpus == 0)
> -        return ERROR_FAIL;
> +    if (max_cpus < 0) {
> +        return ERROR_INVAL;
> +    } else if (max_cpus == 0) {
> +        max_cpus = libxl_get_max_cpus(ctx);
> +        if (max_cpus == 0)
> +            return ERROR_FAIL;
> +    }

I would have written this as

+    if (max_cpus < 0)
+        return ERROR_INVAL;
+    if (max_cpus == 0)
+        max_cpus = libxl_get_max_cpus(ctx);
+    if (max_cpus == 0)
+        return ERROR_FAIL;

and avoided the nested if and ifelse logic.

> 
>      sz = (max_cpus + 7) / 8;
> -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> -    if (!cpumap->map)
> -        return ERROR_NOMEM;
> +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));

You might as well use libxl__calloc here.

Should I be expecting a v3 of "libxl: allow to set more than 31 vcpus"
which uses this patch? If you already sent it then I may have missed it.

Cheers,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:56:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:56:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8It-0002ht-6u; Wed, 23 May 2012 09:56:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SX8Is-0002hn-GY
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:56:26 +0000
Received: from [193.109.254.147:22472] by server-1.bemta-14.messagelabs.com id
	5F/A7-29372-944BCBF4; Wed, 23 May 2012 09:56:25 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337766981!3910237!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29378 invoked from network); 23 May 2012 09:56:22 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-15.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:56:22 -0000
Received: from mail140-va3-R.bigfish.com (10.7.14.250) by
	VA3EHSOBE003.bigfish.com (10.7.40.23) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:56:10 +0000
Received: from mail140-va3 (localhost [127.0.0.1])	by
	mail140-va3-R.bigfish.com (Postfix) with ESMTP id DF46814039A;
	Wed, 23 May 2012 09:56:09 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I1432N98dK1447Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
Received: from mail140-va3 (localhost.localdomain [127.0.0.1]) by mail140-va3
	(MessageSwitch) id 1337766967839770_934;
	Wed, 23 May 2012 09:56:07 +0000 (UTC)
Received: from VA3EHSMHS031.bigfish.com (unknown [10.7.14.243])	by
	mail140-va3.bigfish.com (Postfix) with ESMTP id B3C474004C;
	Wed, 23 May 2012 09:56:07 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS031.bigfish.com (10.7.99.41) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:56:05 +0000
X-WSS-ID: 0M4GZLR-01-4WT-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2611D1028075;	Wed, 23 May 2012 04:56:15 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:56:27 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:56:15 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:56:12 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id D623C49C1FF; Wed, 23 May 2012
	10:56:11 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id B75F75940FF; Wed, 23 May 2012
	11:56:11 +0200 (CEST)
Message-ID: <4FBCB379.90908@amd.com>
Date: Wed, 23 May 2012 11:52:57 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCAA6F.2060708@amd.com>
	<4FBCCD76020000780008569E@nat28.tlf.novell.com>
In-Reply-To: <4FBCCD76020000780008569E@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 11:43 AM, Jan Beulich wrote:
>>>> On 23.05.12 at 11:14, Andre Przywara<andre.przywara@amd.com>  wrote:
>> On 05/23/2012 09:34 AM, Jan Beulich wrote:
>>> Next I'd like to note that in our kernels we simply don't build
>>> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
>>> suppressed, there's no consumer of the feature flag in our
>>> kernels.
>>
>> With "our kernels" you mean OpenSuSE/SLES kernels? I quickly checked
>> upstream as well as the repos on kernel.opensuse.org. In all of them
>> sched.o is unconditionally included in the Makefile.
>> So is there a build patch to exclude this file for builds of distro Xen
>> kernels?
>
> Did you perhaps overlook
>
> disabled-obj-$(CONFIG_XEN) := hypervisor.o mshyperv.o perfctr-watchdog.o \
> 			      perf_event.o sched.o vmware.o
>
> in that very Makefile?

No, I just utterly ignored it ;-)

Thanks for the hint.
But this works only for SuSE since you build different kernels for Xen 
and without Xen, right?
Starting with 3.x I now have only a single kernel image which I use for 
both native and as Dom0.

So the patch to disable APERFMPERF is still useful, at least for 
upstream, right?

Regards,
Andre.


-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 09:56:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 09:56:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8It-0002ht-6u; Wed, 23 May 2012 09:56:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SX8Is-0002hn-GY
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 09:56:26 +0000
Received: from [193.109.254.147:22472] by server-1.bemta-14.messagelabs.com id
	5F/A7-29372-944BCBF4; Wed, 23 May 2012 09:56:25 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337766981!3910237!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29378 invoked from network); 23 May 2012 09:56:22 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-15.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 09:56:22 -0000
Received: from mail140-va3-R.bigfish.com (10.7.14.250) by
	VA3EHSOBE003.bigfish.com (10.7.40.23) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:56:10 +0000
Received: from mail140-va3 (localhost [127.0.0.1])	by
	mail140-va3-R.bigfish.com (Postfix) with ESMTP id DF46814039A;
	Wed, 23 May 2012 09:56:09 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I1432N98dK1447Izz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
Received: from mail140-va3 (localhost.localdomain [127.0.0.1]) by mail140-va3
	(MessageSwitch) id 1337766967839770_934;
	Wed, 23 May 2012 09:56:07 +0000 (UTC)
Received: from VA3EHSMHS031.bigfish.com (unknown [10.7.14.243])	by
	mail140-va3.bigfish.com (Postfix) with ESMTP id B3C474004C;
	Wed, 23 May 2012 09:56:07 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS031.bigfish.com (10.7.99.41) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 09:56:05 +0000
X-WSS-ID: 0M4GZLR-01-4WT-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2611D1028075;	Wed, 23 May 2012 04:56:15 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 04:56:27 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 04:56:15 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	05:56:12 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id D623C49C1FF; Wed, 23 May 2012
	10:56:11 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id B75F75940FF; Wed, 23 May 2012
	11:56:11 +0200 (CEST)
Message-ID: <4FBCB379.90908@amd.com>
Date: Wed, 23 May 2012 11:52:57 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCAA6F.2060708@amd.com>
	<4FBCCD76020000780008569E@nat28.tlf.novell.com>
In-Reply-To: <4FBCCD76020000780008569E@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
	PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 11:43 AM, Jan Beulich wrote:
>>>> On 23.05.12 at 11:14, Andre Przywara<andre.przywara@amd.com>  wrote:
>> On 05/23/2012 09:34 AM, Jan Beulich wrote:
>>> Next I'd like to note that in our kernels we simply don't build
>>> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
>>> suppressed, there's no consumer of the feature flag in our
>>> kernels.
>>
>> With "our kernels" you mean OpenSuSE/SLES kernels? I quickly checked
>> upstream as well as the repos on kernel.opensuse.org. In all of them
>> sched.o is unconditionally included in the Makefile.
>> So is there a build patch to exclude this file for builds of distro Xen
>> kernels?
>
> Did you perhaps overlook
>
> disabled-obj-$(CONFIG_XEN) := hypervisor.o mshyperv.o perfctr-watchdog.o \
> 			      perf_event.o sched.o vmware.o
>
> in that very Makefile?

No, I just utterly ignored it ;-)

Thanks for the hint.
But this works only for SuSE since you build different kernels for Xen 
and without Xen, right?
Starting with 3.x I now have only a single kernel image which I use for 
both native and as Dom0.

So the patch to disable APERFMPERF is still useful, at least for 
upstream, right?

Regards,
Andre.


-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:01:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8NK-0002z6-3S; Wed, 23 May 2012 10:01:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX8NI-0002z1-HT
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:01:00 +0000
Received: from [85.158.138.51:3647] by server-10.bemta-3.messagelabs.com id
	43/70-01101-B55BCBF4; Wed, 23 May 2012 10:00:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337767258!24612841!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30832 invoked from network); 23 May 2012 10:00:58 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 10:00:58 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 11:00:57 +0100
Message-Id: <4FBCD19A0200007800085702@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 11:01:30 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCAA6F.2060708@amd.com>
	<4FBCCD76020000780008569E@nat28.tlf.novell.com>
	<4FBCB379.90908@amd.com>
In-Reply-To: <4FBCB379.90908@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 11:52, Andre Przywara <andre.przywara@amd.com> wrote:
> But this works only for SuSE since you build different kernels for Xen 
> and without Xen, right?
> Starting with 3.x I now have only a single kernel image which I use for 
> both native and as Dom0.
> 
> So the patch to disable APERFMPERF is still useful, at least for 
> upstream, right?

Oh yes, absolutely. I just wanted to show (not the least to
myself) that we're already taking care of this issue.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:01:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8NK-0002z6-3S; Wed, 23 May 2012 10:01:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SX8NI-0002z1-HT
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:01:00 +0000
Received: from [85.158.138.51:3647] by server-10.bemta-3.messagelabs.com id
	43/70-01101-B55BCBF4; Wed, 23 May 2012 10:00:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337767258!24612841!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30832 invoked from network); 23 May 2012 10:00:58 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 10:00:58 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 11:00:57 +0100
Message-Id: <4FBCD19A0200007800085702@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 11:01:30 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCAA6F.2060708@amd.com>
	<4FBCCD76020000780008569E@nat28.tlf.novell.com>
	<4FBCB379.90908@amd.com>
In-Reply-To: <4FBCB379.90908@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 11:52, Andre Przywara <andre.przywara@amd.com> wrote:
> But this works only for SuSE since you build different kernels for Xen 
> and without Xen, right?
> Starting with 3.x I now have only a single kernel image which I use for 
> both native and as Dom0.
> 
> So the patch to disable APERFMPERF is still useful, at least for 
> upstream, right?

Oh yes, absolutely. I just wanted to show (not the least to
myself) that we're already taking care of this issue.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:07:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8TS-00039A-UF; Wed, 23 May 2012 10:07:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8TR-000394-20
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:07:21 +0000
Received: from [85.158.143.35:59159] by server-2.bemta-4.messagelabs.com id
	35/61-12211-8D6BCBF4; Wed, 23 May 2012 10:07:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337767639!12847925!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20258 invoked from network); 23 May 2012 10:07:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:07:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622398"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:07:19 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:07:19 +0100
Message-ID: <1337767638.30233.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Wed, 23 May 2012 11:07:18 +0100
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/15] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 15:02 +0100, Roger Pau Monne wrote:
> This series have been splitted in several patches, to make them easier 
> to review. Also the amount of changes introduced is quite important, 
> since apart from all the hotplug necessary functions and 
> modifications, libxl_domain_destroy has been converted to an async op. 
> This was necessary in order to have async operations during device 
> removal.
> 
> Also, as an important change, disk and nics are added at different 
> points for HVM and device model based guests, since we need the disk 
> in order to start Qemu, but the nic hotplug scripts should be called 
> at a later point, when Qemu has created the corresponding tap device.
> 
> Acked patches:
> 
> [PATCH v2 01/15] libxl: pass env vars to libxl__exec
> [PATCH v2 02/15] libxl: fix libxl__xs_directory usage of transaction
> 
> Pending:
> 
> [PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
> [PATCH v2 04/15] libxl: reoder libxl_device unplug functions

Ian subsequently acked these two so applied the first four. I didn't go
looking for patches which could be independently applied -- please let
me know if I should...

> [PATCH v2 05/15] libxl: change libxl__ao_device_remove to
> [PATCH v2 06/15] libxl: move device model creation prototypes
> [PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op
> [PATCH v2 08/15] libxl: convert libxl_device_disk_add to an asyn op
> [PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async
> [PATCH v2 10/15] libxl: add option to choose who executes hotplug
> [PATCH v2 11/15] libxl: set nic type to VIF by default
> [PATCH v2 12/15] libxl: call hotplug scripts for disk devices from
> [PATCH v2 13/15] libxl: call hotplug scripts for nic devices from
> [PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on device_destroy
> [PATCH v2 15/15] libxl: add dummy netbsd functions
> 
> 
> Change since v1:
> 
>  * Removed all the unecessary code motion and code cleanup
> 
>  * Split "convert libxl_domain_destroy to an async op" into two 
>    separate patches.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:07:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8TS-00039A-UF; Wed, 23 May 2012 10:07:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8TR-000394-20
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:07:21 +0000
Received: from [85.158.143.35:59159] by server-2.bemta-4.messagelabs.com id
	35/61-12211-8D6BCBF4; Wed, 23 May 2012 10:07:20 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337767639!12847925!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20258 invoked from network); 23 May 2012 10:07:19 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:07:19 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622398"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:07:19 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:07:19 +0100
Message-ID: <1337767638.30233.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Wed, 23 May 2012 11:07:18 +0100
In-Reply-To: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/15] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 15:02 +0100, Roger Pau Monne wrote:
> This series have been splitted in several patches, to make them easier 
> to review. Also the amount of changes introduced is quite important, 
> since apart from all the hotplug necessary functions and 
> modifications, libxl_domain_destroy has been converted to an async op. 
> This was necessary in order to have async operations during device 
> removal.
> 
> Also, as an important change, disk and nics are added at different 
> points for HVM and device model based guests, since we need the disk 
> in order to start Qemu, but the nic hotplug scripts should be called 
> at a later point, when Qemu has created the corresponding tap device.
> 
> Acked patches:
> 
> [PATCH v2 01/15] libxl: pass env vars to libxl__exec
> [PATCH v2 02/15] libxl: fix libxl__xs_directory usage of transaction
> 
> Pending:
> 
> [PATCH v2 03/15] libxl: add libxl__xs_path_cleanup
> [PATCH v2 04/15] libxl: reoder libxl_device unplug functions

Ian subsequently acked these two so applied the first four. I didn't go
looking for patches which could be independently applied -- please let
me know if I should...

> [PATCH v2 05/15] libxl: change libxl__ao_device_remove to
> [PATCH v2 06/15] libxl: move device model creation prototypes
> [PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op
> [PATCH v2 08/15] libxl: convert libxl_device_disk_add to an asyn op
> [PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async
> [PATCH v2 10/15] libxl: add option to choose who executes hotplug
> [PATCH v2 11/15] libxl: set nic type to VIF by default
> [PATCH v2 12/15] libxl: call hotplug scripts for disk devices from
> [PATCH v2 13/15] libxl: call hotplug scripts for nic devices from
> [PATCH v2 14/15] libxl: use libxl__xs_path_cleanup on device_destroy
> [PATCH v2 15/15] libxl: add dummy netbsd functions
> 
> 
> Change since v1:
> 
>  * Removed all the unecessary code motion and code cleanup
> 
>  * Split "convert libxl_domain_destroy to an async op" into two 
>    separate patches.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:11:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8XG-0003Hw-M4; Wed, 23 May 2012 10:11:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8XF-0003Hc-7y
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:11:17 +0000
Received: from [85.158.138.51:59272] by server-1.bemta-3.messagelabs.com id
	CA/8F-18759-3C7BCBF4; Wed, 23 May 2012 10:11:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337767874!19765377!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7091 invoked from network); 23 May 2012 10:11:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:11:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622487"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:11:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:11:14 +0100
Message-ID: <1337767872.30233.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>, Ian Jackson
	<Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 11:11:12 +0100
In-Reply-To: <4FBBB185.8030005@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 16:32 +0100, Christoph Egger wrote:
> On 05/22/12 17:21, Ian Campbell wrote:
> 
> > On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
> >> On 05/22/12 16:20, Ian Campbell wrote:
> >>> All the >= checks on *xcg_handle seem wrong to me. Really they should be
> >>> checking != NULL, since otherwise they don't actually discriminate the
> >>> two cases! Does making that change help?
> >>
> >> Yes, that helps! I can start guests again.
> > 
> > Excellent, I assume you are going to submit the patch (i.e. I don't need
> > to..)
> 
> Yes, patch attached.

I fixed up the commit message as follows. I'll apply if IanJ agrees or
acks it.

8<-----------------------------

>From 6b43ca97f5f8c4fa9bf24101253af21bc66ddf96 Mon Sep 17 00:00:00 2001
From: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 17:32:21 +0200
Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.

Fix pointer checks introduced in changeset 24757:aae516b78fce.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/xenstore/xenstored_domain.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index f8c822f..bf83d58 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -167,7 +167,7 @@ static int readchn(struct connection *conn, void *data, unsigned int len)
 
 static void *map_interface(domid_t domid, unsigned long mfn)
 {
-	if (*xcg_handle >= 0) {
+	if (*xcg_handle != NULL) {
 		/* this is the preferred method */
 		return xc_gnttab_map_grant_ref(*xcg_handle, domid,
 			GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE);
@@ -179,7 +179,7 @@ static void *map_interface(domid_t domid, unsigned long mfn)
 
 static void unmap_interface(void *interface)
 {
-	if (*xcg_handle >= 0)
+	if (*xcg_handle != NULL)
 		xc_gnttab_munmap(*xcg_handle, interface, 1);
 	else
 		munmap(interface, getpagesize());
-- 
1.7.2.5




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:11:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8XG-0003Hw-M4; Wed, 23 May 2012 10:11:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8XF-0003Hc-7y
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:11:17 +0000
Received: from [85.158.138.51:59272] by server-1.bemta-3.messagelabs.com id
	CA/8F-18759-3C7BCBF4; Wed, 23 May 2012 10:11:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1337767874!19765377!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7091 invoked from network); 23 May 2012 10:11:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:11:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622487"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:11:14 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:11:14 +0100
Message-ID: <1337767872.30233.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>, Ian Jackson
	<Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 11:11:12 +0100
In-Reply-To: <4FBBB185.8030005@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 16:32 +0100, Christoph Egger wrote:
> On 05/22/12 17:21, Ian Campbell wrote:
> 
> > On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
> >> On 05/22/12 16:20, Ian Campbell wrote:
> >>> All the >= checks on *xcg_handle seem wrong to me. Really they should be
> >>> checking != NULL, since otherwise they don't actually discriminate the
> >>> two cases! Does making that change help?
> >>
> >> Yes, that helps! I can start guests again.
> > 
> > Excellent, I assume you are going to submit the patch (i.e. I don't need
> > to..)
> 
> Yes, patch attached.

I fixed up the commit message as follows. I'll apply if IanJ agrees or
acks it.

8<-----------------------------

>From 6b43ca97f5f8c4fa9bf24101253af21bc66ddf96 Mon Sep 17 00:00:00 2001
From: Christoph Egger <Christoph.Egger@amd.com>
Date: Tue, 22 May 2012 17:32:21 +0200
Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.

Fix pointer checks introduced in changeset 24757:aae516b78fce.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/xenstore/xenstored_domain.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index f8c822f..bf83d58 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -167,7 +167,7 @@ static int readchn(struct connection *conn, void *data, unsigned int len)
 
 static void *map_interface(domid_t domid, unsigned long mfn)
 {
-	if (*xcg_handle >= 0) {
+	if (*xcg_handle != NULL) {
 		/* this is the preferred method */
 		return xc_gnttab_map_grant_ref(*xcg_handle, domid,
 			GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE);
@@ -179,7 +179,7 @@ static void *map_interface(domid_t domid, unsigned long mfn)
 
 static void unmap_interface(void *interface)
 {
-	if (*xcg_handle >= 0)
+	if (*xcg_handle != NULL)
 		xc_gnttab_munmap(*xcg_handle, interface, 1);
 	else
 		munmap(interface, getpagesize());
-- 
1.7.2.5




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:19:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:19:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8ek-0003TR-Lu; Wed, 23 May 2012 10:19:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX8ei-0003TM-3D
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:19:00 +0000
Received: from [85.158.143.35:19722] by server-3.bemta-4.messagelabs.com id
	B8/2E-05853-399BCBF4; Wed, 23 May 2012 10:18:59 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337768337!15589663!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11835 invoked from network); 23 May 2012 10:18:57 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-21.messagelabs.com with SMTP;
	23 May 2012 10:18:57 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78096467; Wed, 23 May 2012 12:18:56 +0200
Message-ID: <1337768329.27368.66.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 12:18:49 +0200
In-Reply-To: <4FBCA39F.4090408@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
	<1337758867.3991.6.camel@dagon.hellion.org.uk>
	<4FBCA39F.4090408@ts.fujitsu.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3770827227748036578=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3770827227748036578==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-8N4SXkL8xGwlvjZZ+6dW"


--=-8N4SXkL8xGwlvjZZ+6dW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 10:45 +0200, Juergen Gross wrote:
> >> Not sure, I think Ian's patch fixes that:
> > I thought so to!
>=20
> It fixes the original error.
>=20
Yep, that was what I was looking at ...

> >> So it has to be something else...
>=20
> Oh yes:
>=20
> +
> +    if (scinfo->period !=3D LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> +        period =3D scinfo->period * 1000000;
> +    if (scinfo->slice !=3D LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> +        period =3D scinfo->slice * 1000000;
> +    if (scinfo->latency !=3D LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
> +        period =3D scinfo->latency * 1000000;
> +    if (scinfo->extratime !=3D LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAUL=
T)
> +        period =3D scinfo->extratime;
> +    if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> +        period =3D scinfo->weight;
>=20
> Regardless which parameter was changed, it is always 'period' which is se=
t
> to the changed value.
>=20
 ... And completely ignored this! :-P

However, I'm still having some issues (even after fixing this)!

I'll keep looking at this, testing the series Ian just sent and let you
know.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-8N4SXkL8xGwlvjZZ+6dW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8uYkACgkQk4XaBE3IOsQK/gCfR0jD74EgfJCRB6D46Zr0I+fh
XEYAnin2kT9r7gllSyuUMgbiT6WHDDMT
=y+DZ
-----END PGP SIGNATURE-----

--=-8N4SXkL8xGwlvjZZ+6dW--



--===============3770827227748036578==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3770827227748036578==--



From xen-devel-bounces@lists.xen.org Wed May 23 10:19:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:19:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8ek-0003TR-Lu; Wed, 23 May 2012 10:19:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX8ei-0003TM-3D
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:19:00 +0000
Received: from [85.158.143.35:19722] by server-3.bemta-4.messagelabs.com id
	B8/2E-05853-399BCBF4; Wed, 23 May 2012 10:18:59 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337768337!15589663!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11835 invoked from network); 23 May 2012 10:18:57 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-21.messagelabs.com with SMTP;
	23 May 2012 10:18:57 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78096467; Wed, 23 May 2012 12:18:56 +0200
Message-ID: <1337768329.27368.66.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Date: Wed, 23 May 2012 12:18:49 +0200
In-Reply-To: <4FBCA39F.4090408@ts.fujitsu.com>
References: <56c50b3f6cc3eb1de8b8.1337678212@nehalem1>
	<1337689344.10118.92.camel@zakaz.uk.xensource.com>
	<4FBB86AE.7010908@ts.fujitsu.com>
	<1337689975.10118.102.camel@zakaz.uk.xensource.com>
	<4FBB8D92.8050800@ts.fujitsu.com>
	<CAFLBxZYw8uAmKGVnZPDZCsDJpi3xok_YECWzwfppLRLdqfgUvQ@mail.gmail.com>
	<1337694056.10118.128.camel@zakaz.uk.xensource.com>
	<1337698766.10118.139.camel@zakaz.uk.xensource.com>
	<1337730401.27368.38.camel@Solace> <4FBC76E3.5020602@ts.fujitsu.com>
	<1337757720.27368.58.camel@Solace>
	<1337758867.3991.6.camel@dagon.hellion.org.uk>
	<4FBCA39F.4090408@ts.fujitsu.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <dunlapg@umich.edu>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1 of 3] Support of getting scheduler defaults
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3770827227748036578=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3770827227748036578==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-8N4SXkL8xGwlvjZZ+6dW"


--=-8N4SXkL8xGwlvjZZ+6dW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 10:45 +0200, Juergen Gross wrote:
> >> Not sure, I think Ian's patch fixes that:
> > I thought so to!
>=20
> It fixes the original error.
>=20
Yep, that was what I was looking at ...

> >> So it has to be something else...
>=20
> Oh yes:
>=20
> +
> +    if (scinfo->period !=3D LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> +        period =3D scinfo->period * 1000000;
> +    if (scinfo->slice !=3D LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> +        period =3D scinfo->slice * 1000000;
> +    if (scinfo->latency !=3D LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT)
> +        period =3D scinfo->latency * 1000000;
> +    if (scinfo->extratime !=3D LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAUL=
T)
> +        period =3D scinfo->extratime;
> +    if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> +        period =3D scinfo->weight;
>=20
> Regardless which parameter was changed, it is always 'period' which is se=
t
> to the changed value.
>=20
 ... And completely ignored this! :-P

However, I'm still having some issues (even after fixing this)!

I'll keep looking at this, testing the series Ian just sent and let you
know.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-8N4SXkL8xGwlvjZZ+6dW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8uYkACgkQk4XaBE3IOsQK/gCfR0jD74EgfJCRB6D46Zr0I+fh
XEYAnin2kT9r7gllSyuUMgbiT6WHDDMT
=y+DZ
-----END PGP SIGNATURE-----

--=-8N4SXkL8xGwlvjZZ+6dW--



--===============3770827227748036578==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3770827227748036578==--



From xen-devel-bounces@lists.xen.org Wed May 23 10:23:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8iR-0003a1-DN; Wed, 23 May 2012 10:22:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SX8iP-0003Zs-Dt
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:22:49 +0000
Received: from [85.158.143.99:30093] by server-2.bemta-4.messagelabs.com id
	05/94-12211-87ABCBF4; Wed, 23 May 2012 10:22:48 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337768566!28829233!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10972 invoked from network); 23 May 2012 10:22:48 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:22:48 -0000
Received: by obbwd20 with SMTP id wd20so14896690obb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 03:22:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=TdidO9iY4/6mOZYsopGflz4vVKxxC71xh1d3Y6rbE8w=;
	b=VYrFVSAYDqk/UGOvqiY/j8LBniMj2DqcjTh3kJNADFu3Pn74LWJKbxcaJDEEQIDnUZ
	xQUh5ExvkatMeZSZtV7Y/edJbnOghIPfKoNvTFxx5DnMoKcLzTKJ3iEuivfVmIoLxOSi
	3COsLqM/njjc+S0Qqi0tifAm8dL+18+boU/K3az2misWFoxcUMollkPMFirGvIffMC2h
	LhflmipD9cVNMupPkwZe+n0MS/qXD0smS82xtX7iVHvgm1BGYdJgYZqbRTWEkEb6xLzN
	smKZezbEVvVBg3s7vXjw4sO3MuKFKu9E9PedxNObNMOzp/aY9HU6VogBOFZNAw8VVxil
	ZAiA==
Received: by 10.182.12.6 with SMTP id u6mr26528487obb.12.1337768566357; Wed,
	23 May 2012 03:22:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.242.9 with HTTP; Wed, 23 May 2012 03:22:26 -0700 (PDT)
In-Reply-To: <20120521143209.GQ8119@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
From: eva <evammg@gmail.com>
Date: Wed, 23 May 2012 12:22:26 +0200
Message-ID: <CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>
> > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> >
> > and it's a git repository.. And yes, I haven't applied a patch in ages..
> >
> > So to end this issue with my ATI card, how do I apply this patch with git?
> >
> > I haven't done it before, and googling it says maybe with "git clone"
> > or "git apply", but there's no luck with any.. (see attachment)
> >
> > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> > Kernel 3.2.
>
> What is the ATI problem you have? The vga patch is for VGA "text" mode
> not for graphical.
>

Hello, sorry for the delay. I wanted to do a bit more of a research.

I have tried so many things I can't even remember, but I couldn't make
work dom0 with Ubuntu 12.04 on this server.

I reported a bug some time ago on launchpad, and I have just updated it

https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124

Also I have found it's been reported a bug for the ATI card..

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562

It says exactly the same things in the log file of Xorg.

---

I describe the problem: when loading Ubuntu normally the graphical
performance is not very good, but it's ok. But when trying to load
dom0 the GUI completely crashes.

Thanks

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:23:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8iR-0003a1-DN; Wed, 23 May 2012 10:22:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SX8iP-0003Zs-Dt
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:22:49 +0000
Received: from [85.158.143.99:30093] by server-2.bemta-4.messagelabs.com id
	05/94-12211-87ABCBF4; Wed, 23 May 2012 10:22:48 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337768566!28829233!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10972 invoked from network); 23 May 2012 10:22:48 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:22:48 -0000
Received: by obbwd20 with SMTP id wd20so14896690obb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 03:22:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=TdidO9iY4/6mOZYsopGflz4vVKxxC71xh1d3Y6rbE8w=;
	b=VYrFVSAYDqk/UGOvqiY/j8LBniMj2DqcjTh3kJNADFu3Pn74LWJKbxcaJDEEQIDnUZ
	xQUh5ExvkatMeZSZtV7Y/edJbnOghIPfKoNvTFxx5DnMoKcLzTKJ3iEuivfVmIoLxOSi
	3COsLqM/njjc+S0Qqi0tifAm8dL+18+boU/K3az2misWFoxcUMollkPMFirGvIffMC2h
	LhflmipD9cVNMupPkwZe+n0MS/qXD0smS82xtX7iVHvgm1BGYdJgYZqbRTWEkEb6xLzN
	smKZezbEVvVBg3s7vXjw4sO3MuKFKu9E9PedxNObNMOzp/aY9HU6VogBOFZNAw8VVxil
	ZAiA==
Received: by 10.182.12.6 with SMTP id u6mr26528487obb.12.1337768566357; Wed,
	23 May 2012 03:22:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.242.9 with HTTP; Wed, 23 May 2012 03:22:26 -0700 (PDT)
In-Reply-To: <20120521143209.GQ8119@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
From: eva <evammg@gmail.com>
Date: Wed, 23 May 2012 12:22:26 +0200
Message-ID: <CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>
> > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> >
> > and it's a git repository.. And yes, I haven't applied a patch in ages..
> >
> > So to end this issue with my ATI card, how do I apply this patch with git?
> >
> > I haven't done it before, and googling it says maybe with "git clone"
> > or "git apply", but there's no luck with any.. (see attachment)
> >
> > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> > Kernel 3.2.
>
> What is the ATI problem you have? The vga patch is for VGA "text" mode
> not for graphical.
>

Hello, sorry for the delay. I wanted to do a bit more of a research.

I have tried so many things I can't even remember, but I couldn't make
work dom0 with Ubuntu 12.04 on this server.

I reported a bug some time ago on launchpad, and I have just updated it

https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124

Also I have found it's been reported a bug for the ATI card..

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562

It says exactly the same things in the log file of Xorg.

---

I describe the problem: when loading Ubuntu normally the graphical
performance is not very good, but it's ok. But when trying to load
dom0 the GUI completely crashes.

Thanks

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:24:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:24:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8jZ-0003ea-Rz; Wed, 23 May 2012 10:24:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SX8jY-0003eS-QK
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:24:00 +0000
Received: from [85.158.143.35:5351] by server-3.bemta-4.messagelabs.com id
	A9/D9-05853-0CABCBF4; Wed, 23 May 2012 10:24:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337768638!6434468!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16907 invoked from network); 23 May 2012 10:23:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:23:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="25484113"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 06:23:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 06:23:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SX8jS-0004Qh-Qe;
	Wed, 23 May 2012 11:23:54 +0100
Message-ID: <4FBCBAC1.2080005@citrix.com>
Date: Wed, 23 May 2012 11:24:01 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-10-git-send-email-roger.pau@citrix.com>
	<20411.51078.79449.652429@mariner.uk.xensource.com>
In-Reply-To: <20411.51078.79449.652429@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 09/15] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async operation"):
>> This patch converts libxl_device_nic_add to an ao operation that
>> waits for device backend to reach state XenbusStateInitWait and then
>> marks the operation as completed. This is not really useful now, but
>> will be used by latter patches that will launch hotplug scripts after
>> we reached the desired xenbus state.
>
> Isn't this patch very very similar to the previous one, just with
> "nic" instead of "disk" in a lot of places ?
>
> I'm allergic to repetition and these parts of the series seem to be
> adding a lot of near-copies of the same code.

Yes, it's mostly the same, but on different points of domain/stubdomain 
creation.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:24:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:24:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8jZ-0003ea-Rz; Wed, 23 May 2012 10:24:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SX8jY-0003eS-QK
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:24:00 +0000
Received: from [85.158.143.35:5351] by server-3.bemta-4.messagelabs.com id
	A9/D9-05853-0CABCBF4; Wed, 23 May 2012 10:24:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337768638!6434468!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16907 invoked from network); 23 May 2012 10:23:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:23:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="25484113"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 06:23:55 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 06:23:55 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SX8jS-0004Qh-Qe;
	Wed, 23 May 2012 11:23:54 +0100
Message-ID: <4FBCBAC1.2080005@citrix.com>
Date: Wed, 23 May 2012 11:24:01 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-10-git-send-email-roger.pau@citrix.com>
	<20411.51078.79449.652429@mariner.uk.xensource.com>
In-Reply-To: <20411.51078.79449.652429@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 09/15] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 09/15] libxl: convert libxl_device_nic_add to an async operation"):
>> This patch converts libxl_device_nic_add to an ao operation that
>> waits for device backend to reach state XenbusStateInitWait and then
>> marks the operation as completed. This is not really useful now, but
>> will be used by latter patches that will launch hotplug scripts after
>> we reached the desired xenbus state.
>
> Isn't this patch very very similar to the previous one, just with
> "nic" instead of "disk" in a lot of places ?
>
> I'm allergic to repetition and these parts of the series seem to be
> adding a lot of near-copies of the same code.

Yes, it's mostly the same, but on different points of domain/stubdomain 
creation.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:26:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:26:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8lO-0003mk-CJ; Wed, 23 May 2012 10:25:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8lM-0003mN-Sx
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:25:53 +0000
Received: from [85.158.139.83:33429] by server-4.bemta-5.messagelabs.com id
	31/D1-09525-F2BBCBF4; Wed, 23 May 2012 10:25:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337768750!25956137!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28943 invoked from network); 23 May 2012 10:25:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:25:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622848"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:25:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:25:23 +0100
Message-ID: <1337768721.30233.26.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Wed, 23 May 2012 11:25:21 +0100
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CCiong the Remus maintainer since all this non-blocking stuff is for
remus/checkpointing.

On Wed, 2012-05-23 at 10:39 +0100, Frediano Ziglio wrote:
> I noted a possible problem restoring a machine.
> 
> In xc_domain_restore (xc_domain_restore.c) if it's not the last
> checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
> pagebuf_get or just load other pages (see following "goto loadpages;"
> line).
> Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
> (xc_tmem.c) which call read_extract (xc_private.c) on the same non
> blocking socket/file

There's a bunch of such places in that function, the RDEXACT macro is
also == rdexact except on Minios.

>  but read_extract does not handle EAGAIN/EWOULDBLOCK
> (both can be returned on non blocking socket depending on file type and
> Unix/Linux version) leading to a failure.
> Does this make sense or is it impossible ??

Isn't this what the if line:
        len = read(fd, buf + offset, size - offset);
        if ( (len == -1) && ((errno == EINTR) || (errno == EAGAIN)) )
            continue;

is doing?

> Also note that rdexact (xc_domain_restore.c) handle data timeout but we
> can still block in read_exact called by
> xc_tmem_restore/xc_tmem_restore_extra.

Oh, wait! read_exact != rdexact -- ouch! Those are confusingly similar!

I suspect we need to pull the xc_tmem_{save,restore} into the
appropriate file and use the non-blocking capable versions or to export
the non-blocking function, with an improved name, so it can be used from
xc_tmem.c.

Shriram, any thoughts?

> 
> Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
> are network problems?
> 
> Frediano
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:26:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:26:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8lO-0003mk-CJ; Wed, 23 May 2012 10:25:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SX8lM-0003mN-Sx
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:25:53 +0000
Received: from [85.158.139.83:33429] by server-4.bemta-5.messagelabs.com id
	31/D1-09525-F2BBCBF4; Wed, 23 May 2012 10:25:51 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337768750!25956137!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28943 invoked from network); 23 May 2012 10:25:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:25:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622848"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:25:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:25:23 +0100
Message-ID: <1337768721.30233.26.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Date: Wed, 23 May 2012 11:25:21 +0100
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Shriram Rajagopalan <rshriram@cs.ubc.ca>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

CCiong the Remus maintainer since all this non-blocking stuff is for
remus/checkpointing.

On Wed, 2012-05-23 at 10:39 +0100, Frediano Ziglio wrote:
> I noted a possible problem restoring a machine.
> 
> In xc_domain_restore (xc_domain_restore.c) if it's not the last
> checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
> pagebuf_get or just load other pages (see following "goto loadpages;"
> line).
> Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
> (xc_tmem.c) which call read_extract (xc_private.c) on the same non
> blocking socket/file

There's a bunch of such places in that function, the RDEXACT macro is
also == rdexact except on Minios.

>  but read_extract does not handle EAGAIN/EWOULDBLOCK
> (both can be returned on non blocking socket depending on file type and
> Unix/Linux version) leading to a failure.
> Does this make sense or is it impossible ??

Isn't this what the if line:
        len = read(fd, buf + offset, size - offset);
        if ( (len == -1) && ((errno == EINTR) || (errno == EAGAIN)) )
            continue;

is doing?

> Also note that rdexact (xc_domain_restore.c) handle data timeout but we
> can still block in read_exact called by
> xc_tmem_restore/xc_tmem_restore_extra.

Oh, wait! read_exact != rdexact -- ouch! Those are confusingly similar!

I suspect we need to pull the xc_tmem_{save,restore} into the
appropriate file and use the non-blocking capable versions or to export
the non-blocking function, with an improved name, so it can be used from
xc_tmem.c.

Shriram, any thoughts?

> 
> Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
> are network problems?
> 
> Frediano
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:26:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:26:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8lW-0003o1-Os; Wed, 23 May 2012 10:26:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX8lV-0003nh-Ad
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:26:01 +0000
Received: from [85.158.143.99:54733] by server-1.bemta-4.messagelabs.com id
	B0/DF-00342-83BBCBF4; Wed, 23 May 2012 10:26:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337768758!22354413!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16562 invoked from network); 23 May 2012 10:25:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:25:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622861"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:25:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:25:53 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SX8lM-000653-Ph;
	Wed, 23 May 2012 10:25:52 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SX8lM-0004K0-Kf;
	Wed, 23 May 2012 11:25:52 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12960-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 11:25:52 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12960: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12960 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12960/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12956
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12956

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  6dc80df50fa8
baseline version:
 xen                  ab86fc0e2b45

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=6dc80df50fa8
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 6dc80df50fa8
+ branch=xen-unstable
+ revision=6dc80df50fa8
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 6dc80df50fa8 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 5 changes to 5 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:26:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:26:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8lW-0003o1-Os; Wed, 23 May 2012 10:26:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX8lV-0003nh-Ad
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 10:26:01 +0000
Received: from [85.158.143.99:54733] by server-1.bemta-4.messagelabs.com id
	B0/DF-00342-83BBCBF4; Wed, 23 May 2012 10:26:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337768758!22354413!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16562 invoked from network); 23 May 2012 10:25:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:25:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12622861"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:25:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:25:53 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SX8lM-000653-Ph;
	Wed, 23 May 2012 10:25:52 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SX8lM-0004K0-Kf;
	Wed, 23 May 2012 11:25:52 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12960-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 11:25:52 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12960: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12960 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12960/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12956
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail REGR. vs. 12956

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  6dc80df50fa8
baseline version:
 xen                  ab86fc0e2b45

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=6dc80df50fa8
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 6dc80df50fa8
+ branch=xen-unstable
+ revision=6dc80df50fa8
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 6dc80df50fa8 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 5 changes to 5 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:27:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:27:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8mx-00040i-HN; Wed, 23 May 2012 10:27:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SX8mw-00040V-45
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:27:30 +0000
Received: from [85.158.139.83:2375] by server-12.bemta-5.messagelabs.com id
	E5/2F-09223-19BBCBF4; Wed, 23 May 2012 10:27:29 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337768845!28387125!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31414 invoked from network); 23 May 2012 10:27:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:27:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="25484271"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 06:27:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 06:27:24 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SX8mp-0004Ta-SU	for
	xen-devel@lists.xen.org; Wed, 23 May 2012 11:27:23 +0100
Message-ID: <4FBCBB8B.3090900@citrix.com>
Date: Wed, 23 May 2012 11:27:23 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
In-Reply-To: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 19/05/12 21:00, Sam Mulvey wrote:
> Hi!
>
> Recently got a Via VE-900 board.   It has a via nano x2 chip on it, and suggests that it has Intel-compatible virtualization extensions.   Has anyone worked with this board yet?   I thought it would be nice to have a lower-powered, nearly silent Xen machine sitting on my desk.
>
> I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not able to load any HVM domains.    I posted this question first on Xen-users, and I was asked if I was able to get KVM or VirtualBox working-- I've tried KVM and managed to get it booting into a Linux livecd and a Windows installer.
>
> Here's the /proc/cpuinfo (of one of the cores):
>
> processor	: 0
> vendor_id	: CentaurHauls
> cpu family	: 6
> model		: 15
> model name	: VIA Nano X2 L4050 @ 1.4 GHz
> stepping	: 12
> cpu MHz		: 1400.052
> cache size	: 1024 KB
> physical id	: 0
> siblings	: 2
> core id		: 0
> cpu cores	: 1
> apicid		: 0
> initial apicid	: 0
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 10
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc rep_good nopl pni monitor vmx est tm2 ssse3 cx16 xtpr sse4_1 popcnt rng rng_en ace ace_en ace2 phe phe_en pmm pmm_en lahf_lm ida
> bogomips	: 2801.77
> clflush size	: 64
> cache_alignment	: 128
> address sizes	: 36 bits physical, 48 bits virtual
> power management:
>
>
> and "xl info":
>
> host                   : helium
> release                : 3.3.6-1-ARCH
> version                : #1 SMP PREEMPT Sun May 13 10:52:32 CEST 2012
> machine                : x86_64
> nr_cpus                : 2
> nr_nodes               : 1
> cores_per_socket       : 1
> threads_per_core       : 1
> cpu_mhz                : 1400
> hw_caps                : bfc9fbff:20100800:00000000:00000000:008863a9:00000000:00000001:00000000
> virt_caps              :
> total_memory           : 7423
> free_memory            : 6315
> free_cpus              : 0
> xen_major              : 4
> xen_minor              : 1
> xen_extra              : .2
> xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p 
> xen_scheduler          : credit
> xen_pagesize           : 4096
> platform_params        : virt_start=0xffff800000000000
> xen_changeset          : unavailable
> xen_commandline        : dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
> cc_compiler            : gcc version 4.7.0 20120414 (prerelease) (GCC) 
> cc_compile_by          : sam
> cc_compile_domain      : localdomain
> cc_compile_date        : Wed May  2 19:51:21 PDT 2012
> xend_config_format     : 4
>
>
>
> and Xen's dmesg:
>
>  __  __            _  _    _   ____  
>  \ \/ /___ _ __   | || |  / | |___ \ 
>   \  // _ \ '_ \  | || |_ | |   __) |
>   /  \  __/ | | | |__   _|| |_ / __/ 
>  /_/\_\___|_| |_|    |_|(_)_(_)_____|
>                                      
> (XEN) Xen version 4.1.2 (sam@localdomain) (gcc version 4.7.0 20120414 (prerelease) (GCC) ) Wed May  2 19:51:21 PDT 2012
> (XEN) Latest ChangeSet: unavailable
> (XEN) Bootloader: GNU GRUB 0.97
> (XEN) Command line: dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
> (XEN) Video information:
> (XEN)  VGA is text mode 80x25, font 8x16
> (XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
> (XEN) Disc information:
> (XEN)  Found 1 MBR signatures
> (XEN)  Found 1 EDD information structures
> (XEN) Xen-e820 RAM map:
> (XEN)  0000000000000000 - 000000000009f000 (usable)
> (XEN)  000000000009f000 - 00000000000a0000 (reserved)
> (XEN)  00000000000e0000 - 0000000000100000 (reserved)
> (XEN)  0000000000100000 - 00000000cffb0000 (usable)
> (XEN)  00000000cffb0000 - 00000000cffbe000 (ACPI data)
> (XEN)  00000000cffbe000 - 00000000cfff0000 (ACPI NVS)
> (XEN)  00000000cfff0000 - 00000000d0000000 (reserved)
> (XEN)  00000000fec00000 - 00000000fec01000 (reserved)
> (XEN)  00000000fecc0000 - 00000000fecc1000 (reserved)
> (XEN)  00000000fee00000 - 00000000fee01000 (reserved)
> (XEN)  00000000fff00000 - 0000000100000000 (reserved)
> (XEN)  0000000100000000 - 0000000200000000 (usable)
> (XEN) ACPI: RSDP 000F9EB0, 0024 (r2 ACPIAM)
> (XEN) ACPI: XSDT CFFB0100, 0054 (r1 091911 XSDT1512 20110919 MSFT       97)
> (XEN) ACPI: FACP CFFB0290, 00F4 (r4 091911 FACP1512 20110919 MSFT       97)
> (XEN) ACPI: DSDT CFFB0450, 43EC (r2  1AOOW 1AOOW013       13 INTL 20051117)
> (XEN) ACPI: FACS CFFBE000, 0040
> (XEN) ACPI: APIC CFFB0390, 0072 (r2 091911 APIC1512 20110919 MSFT       97)
> (XEN) ACPI: MCFG CFFB0410, 003C (r1 091911 OEMMCFG  20110919 MSFT       97)
> (XEN) ACPI: OEMB CFFBE040, 0082 (r1 091911 OEMB1512 20110919 MSFT       97)
> (XEN) ACPI: HPET CFFBA450, 0038 (r1 091911 VIA HPET 20110919 MSFT       97)
> (XEN) ACPI: SSDT CFFBE0D0, 0711 (r1    AMI   P001PM        1 INTL 20051117)
> (XEN) System RAM: 7423MB (7601468kB)
> (XEN) No NUMA configuration found
> (XEN) Faking a node at 0000000000000000-0000000200000000
> (XEN) Domain heap initialised
> (XEN) CPU: Vendor unknown, using generic init.
> (XEN) CPU: Your system may be unstable.

Unknown CPU

> (XEN) found SMP MP-table at 000ff780
> (XEN) DMI present.
> (XEN) Using APIC driver default
> (XEN) ACPI: PM-Timer IO Port: 0x808
> (XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
> (XEN) ACPI:                  wakeup_vec[cffbe00c], vec_size[20]
> (XEN) ACPI: Local APIC address 0xfee00000
> (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
> (XEN) Processor #0 6:15 APIC version 20
> (XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
> (XEN) Processor #2 6:15 APIC version 20
> (XEN) ACPI: IOAPIC (id[0x03] address[0xfec00000] gsi_base[0])
> (XEN) IOAPIC[0]: apic_id 3, version 3, address 0xfec00000, GSI 0-23
> (XEN) ACPI: IOAPIC (id[0x04] address[0xfecc0000] gsi_base[24])
> (XEN) IOAPIC[1]: apic_id 4, version 3, address 0xfecc0000, GSI 24-47
> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
> (XEN) ACPI: IRQ0 used by override.
> (XEN) ACPI: IRQ2 used by override.
> (XEN) ACPI: IRQ9 used by override.
> (XEN) ACPI: IRQ10 used by override.
> (XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
> (XEN) ACPI: HPET id: 0x11068201 base: 0xfed00000
> (XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
> (XEN) PCI: Not using MMCONFIG.
> (XEN) Table is not found!
> (XEN) Using ACPI (MADT) for SMP configuration information
> (XEN) IRQ limits: 48 GSI, 352 MSI/MSI-X
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Detected 1400.060 MHz processor.
> (XEN) Initing memory sharing.
> (XEN) No machine check initialization
> (XEN) I/O virtualisation disabled

No IOMMU

> (XEN) ENABLING IO-APIC IRQs
> (XEN)  -> Using new ACK method
> (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
> (XEN) Platform timer is 14.318MHz HPET
> (XEN) Allocated console ring of 16 KiB.
> (XEN) Brought up 2 CPUs
> (XEN) HPET: 3 timers in total, 0 timers will be used for broadcast
> (XEN) ACPI sleep modes: S3
> (XEN) xenoprof: Initialization failed. Unsupported processor. Unknown vendor 255
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN)  Xen  kernel: 64-bit, lsb, compat32
> (XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1eb8000
> (XEN) PHYSICAL MEMORY ARRANGEMENT:
> (XEN)  Dom0 alloc.:   00000001f4000000->00000001f8000000 (243243 pages to be allocated)
> (XEN)  Init. ramdisk: 00000001ff62b000->00000001fffff800
> (XEN) VIRTUAL MEMORY ARRANGEMENT:
> (XEN)  Loaded kernel: ffffffff81000000->ffffffff81eb8000
> (XEN)  Init. ramdisk: ffffffff81eb8000->ffffffff8288c800
> (XEN)  Phys-Mach map: ffffffff8288d000->ffffffff82a8d000
> (XEN)  Start info:    ffffffff82a8d000->ffffffff82a8d4b4
> (XEN)  Page tables:   ffffffff82a8e000->ffffffff82aa7000
> (XEN)  Boot stack:    ffffffff82aa7000->ffffffff82aa8000
> (XEN)  TOTAL:         ffffffff80000000->ffffffff82c00000
> (XEN)  ENTRY ADDRESS: ffffffff818b4200
> (XEN) Dom0 has maximum 2 VCPUs
> (XEN) Scrubbing Free RAM: ...............................................................done.
> (XEN) Xen trace buffers: disabled
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
> (XEN) Freed 228kB init memory.
> (XEN) PCI add device 00:00.0
> (XEN) PCI add device 00:00.1
> (XEN) PCI add device 00:00.2
> (XEN) PCI add device 00:00.3
> (XEN) PCI add device 00:00.4
> (XEN) PCI add device 00:00.5
> (XEN) PCI add device 00:00.6
> (XEN) PCI add device 00:00.7
> (XEN) PCI add device 00:01.0
> (XEN) PCI add device 00:01.1
> (XEN) PCI add device 00:03.0
> (XEN) PCI add device 00:03.1
> (XEN) PCI add device 00:03.2
> (XEN) PCI add device 00:03.3
> (XEN) PCI add device 00:03.4
> (XEN) PCI add device 00:0f.0
> (XEN) PCI add device 00:10.0
> (XEN) PCI add device 00:10.1
> (XEN) PCI add device 00:10.2
> (XEN) PCI add device 00:10.3
> (XEN) PCI add device 00:10.4
> (XEN) PCI add device 00:11.0
> (XEN) PCI add device 00:11.7
> (XEN) PCI add device 00:13.0
> (XEN) PCI add device 00:14.0
> (XEN) PCI add device 05:00.0
> (XEN) physdev.c:155: dom0: wrong map_pirq type 3
>
>

I suspect that something is bailing rather early because the CPU is
unrecognized, resulting in no HVM support being found.

But as Jan said, there is fairly little we can do at this point about it.

~Andrew

>
> -Sam
> _______________________________________________
> Xen-users mailing list
> Xen-users@lists.xen.org
> http://lists.xen.org/xen-users
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:27:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:27:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8mx-00040i-HN; Wed, 23 May 2012 10:27:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SX8mw-00040V-45
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:27:30 +0000
Received: from [85.158.139.83:2375] by server-12.bemta-5.messagelabs.com id
	E5/2F-09223-19BBCBF4; Wed, 23 May 2012 10:27:29 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337768845!28387125!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31414 invoked from network); 23 May 2012 10:27:27 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:27:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="25484271"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 06:27:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 06:27:24 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SX8mp-0004Ta-SU	for
	xen-devel@lists.xen.org; Wed, 23 May 2012 11:27:23 +0100
Message-ID: <4FBCBB8B.3090900@citrix.com>
Date: Wed, 23 May 2012 11:27:23 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
In-Reply-To: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 19/05/12 21:00, Sam Mulvey wrote:
> Hi!
>
> Recently got a Via VE-900 board.   It has a via nano x2 chip on it, and suggests that it has Intel-compatible virtualization extensions.   Has anyone worked with this board yet?   I thought it would be nice to have a lower-powered, nearly silent Xen machine sitting on my desk.
>
> I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not able to load any HVM domains.    I posted this question first on Xen-users, and I was asked if I was able to get KVM or VirtualBox working-- I've tried KVM and managed to get it booting into a Linux livecd and a Windows installer.
>
> Here's the /proc/cpuinfo (of one of the cores):
>
> processor	: 0
> vendor_id	: CentaurHauls
> cpu family	: 6
> model		: 15
> model name	: VIA Nano X2 L4050 @ 1.4 GHz
> stepping	: 12
> cpu MHz		: 1400.052
> cache size	: 1024 KB
> physical id	: 0
> siblings	: 2
> core id		: 0
> cpu cores	: 1
> apicid		: 0
> initial apicid	: 0
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 10
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc rep_good nopl pni monitor vmx est tm2 ssse3 cx16 xtpr sse4_1 popcnt rng rng_en ace ace_en ace2 phe phe_en pmm pmm_en lahf_lm ida
> bogomips	: 2801.77
> clflush size	: 64
> cache_alignment	: 128
> address sizes	: 36 bits physical, 48 bits virtual
> power management:
>
>
> and "xl info":
>
> host                   : helium
> release                : 3.3.6-1-ARCH
> version                : #1 SMP PREEMPT Sun May 13 10:52:32 CEST 2012
> machine                : x86_64
> nr_cpus                : 2
> nr_nodes               : 1
> cores_per_socket       : 1
> threads_per_core       : 1
> cpu_mhz                : 1400
> hw_caps                : bfc9fbff:20100800:00000000:00000000:008863a9:00000000:00000001:00000000
> virt_caps              :
> total_memory           : 7423
> free_memory            : 6315
> free_cpus              : 0
> xen_major              : 4
> xen_minor              : 1
> xen_extra              : .2
> xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p 
> xen_scheduler          : credit
> xen_pagesize           : 4096
> platform_params        : virt_start=0xffff800000000000
> xen_changeset          : unavailable
> xen_commandline        : dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
> cc_compiler            : gcc version 4.7.0 20120414 (prerelease) (GCC) 
> cc_compile_by          : sam
> cc_compile_domain      : localdomain
> cc_compile_date        : Wed May  2 19:51:21 PDT 2012
> xend_config_format     : 4
>
>
>
> and Xen's dmesg:
>
>  __  __            _  _    _   ____  
>  \ \/ /___ _ __   | || |  / | |___ \ 
>   \  // _ \ '_ \  | || |_ | |   __) |
>   /  \  __/ | | | |__   _|| |_ / __/ 
>  /_/\_\___|_| |_|    |_|(_)_(_)_____|
>                                      
> (XEN) Xen version 4.1.2 (sam@localdomain) (gcc version 4.7.0 20120414 (prerelease) (GCC) ) Wed May  2 19:51:21 PDT 2012
> (XEN) Latest ChangeSet: unavailable
> (XEN) Bootloader: GNU GRUB 0.97
> (XEN) Command line: dom0_mem=max:1G loglvl=all guest_loglvl=all com1=115200,8n1 console=com1
> (XEN) Video information:
> (XEN)  VGA is text mode 80x25, font 8x16
> (XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
> (XEN) Disc information:
> (XEN)  Found 1 MBR signatures
> (XEN)  Found 1 EDD information structures
> (XEN) Xen-e820 RAM map:
> (XEN)  0000000000000000 - 000000000009f000 (usable)
> (XEN)  000000000009f000 - 00000000000a0000 (reserved)
> (XEN)  00000000000e0000 - 0000000000100000 (reserved)
> (XEN)  0000000000100000 - 00000000cffb0000 (usable)
> (XEN)  00000000cffb0000 - 00000000cffbe000 (ACPI data)
> (XEN)  00000000cffbe000 - 00000000cfff0000 (ACPI NVS)
> (XEN)  00000000cfff0000 - 00000000d0000000 (reserved)
> (XEN)  00000000fec00000 - 00000000fec01000 (reserved)
> (XEN)  00000000fecc0000 - 00000000fecc1000 (reserved)
> (XEN)  00000000fee00000 - 00000000fee01000 (reserved)
> (XEN)  00000000fff00000 - 0000000100000000 (reserved)
> (XEN)  0000000100000000 - 0000000200000000 (usable)
> (XEN) ACPI: RSDP 000F9EB0, 0024 (r2 ACPIAM)
> (XEN) ACPI: XSDT CFFB0100, 0054 (r1 091911 XSDT1512 20110919 MSFT       97)
> (XEN) ACPI: FACP CFFB0290, 00F4 (r4 091911 FACP1512 20110919 MSFT       97)
> (XEN) ACPI: DSDT CFFB0450, 43EC (r2  1AOOW 1AOOW013       13 INTL 20051117)
> (XEN) ACPI: FACS CFFBE000, 0040
> (XEN) ACPI: APIC CFFB0390, 0072 (r2 091911 APIC1512 20110919 MSFT       97)
> (XEN) ACPI: MCFG CFFB0410, 003C (r1 091911 OEMMCFG  20110919 MSFT       97)
> (XEN) ACPI: OEMB CFFBE040, 0082 (r1 091911 OEMB1512 20110919 MSFT       97)
> (XEN) ACPI: HPET CFFBA450, 0038 (r1 091911 VIA HPET 20110919 MSFT       97)
> (XEN) ACPI: SSDT CFFBE0D0, 0711 (r1    AMI   P001PM        1 INTL 20051117)
> (XEN) System RAM: 7423MB (7601468kB)
> (XEN) No NUMA configuration found
> (XEN) Faking a node at 0000000000000000-0000000200000000
> (XEN) Domain heap initialised
> (XEN) CPU: Vendor unknown, using generic init.
> (XEN) CPU: Your system may be unstable.

Unknown CPU

> (XEN) found SMP MP-table at 000ff780
> (XEN) DMI present.
> (XEN) Using APIC driver default
> (XEN) ACPI: PM-Timer IO Port: 0x808
> (XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
> (XEN) ACPI:                  wakeup_vec[cffbe00c], vec_size[20]
> (XEN) ACPI: Local APIC address 0xfee00000
> (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
> (XEN) Processor #0 6:15 APIC version 20
> (XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
> (XEN) Processor #2 6:15 APIC version 20
> (XEN) ACPI: IOAPIC (id[0x03] address[0xfec00000] gsi_base[0])
> (XEN) IOAPIC[0]: apic_id 3, version 3, address 0xfec00000, GSI 0-23
> (XEN) ACPI: IOAPIC (id[0x04] address[0xfecc0000] gsi_base[24])
> (XEN) IOAPIC[1]: apic_id 4, version 3, address 0xfecc0000, GSI 24-47
> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
> (XEN) ACPI: IRQ0 used by override.
> (XEN) ACPI: IRQ2 used by override.
> (XEN) ACPI: IRQ9 used by override.
> (XEN) ACPI: IRQ10 used by override.
> (XEN) Enabling APIC mode:  Flat.  Using 2 I/O APICs
> (XEN) ACPI: HPET id: 0x11068201 base: 0xfed00000
> (XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
> (XEN) PCI: Not using MMCONFIG.
> (XEN) Table is not found!
> (XEN) Using ACPI (MADT) for SMP configuration information
> (XEN) IRQ limits: 48 GSI, 352 MSI/MSI-X
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Detected 1400.060 MHz processor.
> (XEN) Initing memory sharing.
> (XEN) No machine check initialization
> (XEN) I/O virtualisation disabled

No IOMMU

> (XEN) ENABLING IO-APIC IRQs
> (XEN)  -> Using new ACK method
> (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
> (XEN) Platform timer is 14.318MHz HPET
> (XEN) Allocated console ring of 16 KiB.
> (XEN) Brought up 2 CPUs
> (XEN) HPET: 3 timers in total, 0 timers will be used for broadcast
> (XEN) ACPI sleep modes: S3
> (XEN) xenoprof: Initialization failed. Unsupported processor. Unknown vendor 255
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN)  Xen  kernel: 64-bit, lsb, compat32
> (XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1eb8000
> (XEN) PHYSICAL MEMORY ARRANGEMENT:
> (XEN)  Dom0 alloc.:   00000001f4000000->00000001f8000000 (243243 pages to be allocated)
> (XEN)  Init. ramdisk: 00000001ff62b000->00000001fffff800
> (XEN) VIRTUAL MEMORY ARRANGEMENT:
> (XEN)  Loaded kernel: ffffffff81000000->ffffffff81eb8000
> (XEN)  Init. ramdisk: ffffffff81eb8000->ffffffff8288c800
> (XEN)  Phys-Mach map: ffffffff8288d000->ffffffff82a8d000
> (XEN)  Start info:    ffffffff82a8d000->ffffffff82a8d4b4
> (XEN)  Page tables:   ffffffff82a8e000->ffffffff82aa7000
> (XEN)  Boot stack:    ffffffff82aa7000->ffffffff82aa8000
> (XEN)  TOTAL:         ffffffff80000000->ffffffff82c00000
> (XEN)  ENTRY ADDRESS: ffffffff818b4200
> (XEN) Dom0 has maximum 2 VCPUs
> (XEN) Scrubbing Free RAM: ...............................................................done.
> (XEN) Xen trace buffers: disabled
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
> (XEN) Freed 228kB init memory.
> (XEN) PCI add device 00:00.0
> (XEN) PCI add device 00:00.1
> (XEN) PCI add device 00:00.2
> (XEN) PCI add device 00:00.3
> (XEN) PCI add device 00:00.4
> (XEN) PCI add device 00:00.5
> (XEN) PCI add device 00:00.6
> (XEN) PCI add device 00:00.7
> (XEN) PCI add device 00:01.0
> (XEN) PCI add device 00:01.1
> (XEN) PCI add device 00:03.0
> (XEN) PCI add device 00:03.1
> (XEN) PCI add device 00:03.2
> (XEN) PCI add device 00:03.3
> (XEN) PCI add device 00:03.4
> (XEN) PCI add device 00:0f.0
> (XEN) PCI add device 00:10.0
> (XEN) PCI add device 00:10.1
> (XEN) PCI add device 00:10.2
> (XEN) PCI add device 00:10.3
> (XEN) PCI add device 00:10.4
> (XEN) PCI add device 00:11.0
> (XEN) PCI add device 00:11.7
> (XEN) PCI add device 00:13.0
> (XEN) PCI add device 00:14.0
> (XEN) PCI add device 05:00.0
> (XEN) physdev.c:155: dom0: wrong map_pirq type 3
>
>

I suspect that something is bailing rather early because the CPU is
unrecognized, resulting in no HVM support being found.

But as Jan said, there is fairly little we can do at this point about it.

~Andrew

>
> -Sam
> _______________________________________________
> Xen-users mailing list
> Xen-users@lists.xen.org
> http://lists.xen.org/xen-users
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:33:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8ss-0004Oj-Ii; Wed, 23 May 2012 10:33:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SX8sr-0004Od-6q
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:33:37 +0000
Received: from [85.158.139.83:50938] by server-2.bemta-5.messagelabs.com id
	64/95-17716-00DBCBF4; Wed, 23 May 2012 10:33:36 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337769214!25635853!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23131 invoked from network); 23 May 2012 10:33:35 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:33:35 -0000
Received: by qafl39 with SMTP id l39so4229522qaf.16
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 03:33:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=B9HVhuStpjgPnIk8wDnnS9SgPPKYYZGfuFv9i4ejBLY=;
	b=d1cAcXFBdql7/KftK0hzetWqFg4YxvfFYbrZTxGGk8qZhSpoWfQQMrGSH82pm+Dpmd
	jEOxrsEZNukr9M2l95+v+92B9iXvWCz0PchOBo6Kw8Zoif9UYNghuLi3Vknsc2KIqxwX
	/SkmqoJ+UWR7wdtUvkpIGdnkkiRrP/qj2qsAU8JVTOn6GUeFDXXVuQxPEQ4nXjSJsypf
	HzsBiEXlAUJRqxS2UyH6KWAyM4XLmatiPNvAObMMnCus9TO97UZSU4vJGPnRhF93SKEC
	H7h1V2bVPMjVcWYLiC/A5ztLnXC7dw/f5ECh1THbEULRloFGDLOyMyjWvncmZRAWJ2mU
	Oo9w==
MIME-Version: 1.0
Received: by 10.224.181.83 with SMTP id bx19mr2251343qab.79.1337769213640;
	Wed, 23 May 2012 03:33:33 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 03:33:33 -0700 (PDT)
In-Reply-To: <CANdnRvPmBNZUgLsJpxbn-C1azaW4ZiFz-GA+S2hXHqXJgcW9tw@mail.gmail.com>
References: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
	<CAFLBxZZ9fo649=97m=_E=EMkmMShfhkakiroOtd4Q6hPYb5NMQ@mail.gmail.com>
	<CANdnRvMeUMr1Uc50p7F9Tzsumir0=_WXyu7KUa2NJ=T1qXoS0w@mail.gmail.com>
	<CANdnRvPmBNZUgLsJpxbn-C1azaW4ZiFz-GA+S2hXHqXJgcW9tw@mail.gmail.com>
Date: Wed, 23 May 2012 11:33:33 +0100
X-Google-Sender-Auth: K9Tv96jjBhhrUzjzz7ZaxIVieU0
Message-ID: <CAFLBxZYscEE0rV-SGtQx_f_mtGjmJrW+h6YG+6nQSJiOMFRiUA@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: suixiufeng <suixiufeng@gmail.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Fwd: Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 2:13 AM, suixiufeng <suixiufeng@gmail.com> wrote:
> Then I use xenoprof to collect the cycle, instruction number, LLC access
> number and LLC miss number information when running spec cpu 2006
> benchmarks.

Just to be clear: "PM" means you're not running with Xen at all?  (In
which case the numbers were collected using oprofile, not xenoprof)?
Or do you mean you're comparing running it in a dom0 to a domU?

(Also, just FYI: the standard on the xen-devel list is to reply
in-line, or at the bottom, rather than top-posting.)

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:33:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX8ss-0004Oj-Ii; Wed, 23 May 2012 10:33:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SX8sr-0004Od-6q
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:33:37 +0000
Received: from [85.158.139.83:50938] by server-2.bemta-5.messagelabs.com id
	64/95-17716-00DBCBF4; Wed, 23 May 2012 10:33:36 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337769214!25635853!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23131 invoked from network); 23 May 2012 10:33:35 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:33:35 -0000
Received: by qafl39 with SMTP id l39so4229522qaf.16
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 03:33:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=B9HVhuStpjgPnIk8wDnnS9SgPPKYYZGfuFv9i4ejBLY=;
	b=d1cAcXFBdql7/KftK0hzetWqFg4YxvfFYbrZTxGGk8qZhSpoWfQQMrGSH82pm+Dpmd
	jEOxrsEZNukr9M2l95+v+92B9iXvWCz0PchOBo6Kw8Zoif9UYNghuLi3Vknsc2KIqxwX
	/SkmqoJ+UWR7wdtUvkpIGdnkkiRrP/qj2qsAU8JVTOn6GUeFDXXVuQxPEQ4nXjSJsypf
	HzsBiEXlAUJRqxS2UyH6KWAyM4XLmatiPNvAObMMnCus9TO97UZSU4vJGPnRhF93SKEC
	H7h1V2bVPMjVcWYLiC/A5ztLnXC7dw/f5ECh1THbEULRloFGDLOyMyjWvncmZRAWJ2mU
	Oo9w==
MIME-Version: 1.0
Received: by 10.224.181.83 with SMTP id bx19mr2251343qab.79.1337769213640;
	Wed, 23 May 2012 03:33:33 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 03:33:33 -0700 (PDT)
In-Reply-To: <CANdnRvPmBNZUgLsJpxbn-C1azaW4ZiFz-GA+S2hXHqXJgcW9tw@mail.gmail.com>
References: <CANdnRvPYBwednaRxZK3Wne=OuUA4ESFmMCqpQfRi0SCRFoQNig@mail.gmail.com>
	<CAFLBxZZ9fo649=97m=_E=EMkmMShfhkakiroOtd4Q6hPYb5NMQ@mail.gmail.com>
	<CANdnRvMeUMr1Uc50p7F9Tzsumir0=_WXyu7KUa2NJ=T1qXoS0w@mail.gmail.com>
	<CANdnRvPmBNZUgLsJpxbn-C1azaW4ZiFz-GA+S2hXHqXJgcW9tw@mail.gmail.com>
Date: Wed, 23 May 2012 11:33:33 +0100
X-Google-Sender-Auth: K9Tv96jjBhhrUzjzz7ZaxIVieU0
Message-ID: <CAFLBxZYscEE0rV-SGtQx_f_mtGjmJrW+h6YG+6nQSJiOMFRiUA@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: suixiufeng <suixiufeng@gmail.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Fwd: Benchmark in the VM
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 2:13 AM, suixiufeng <suixiufeng@gmail.com> wrote:
> Then I use xenoprof to collect the cycle, instruction number, LLC access
> number and LLC miss number information when running spec cpu 2006
> benchmarks.

Just to be clear: "PM" means you're not running with Xen at all?  (In
which case the numbers were collected using oprofile, not xenoprof)?
Or do you mean you're comparing running it in a dom0 to a domU?

(Also, just FYI: the standard on the xen-devel list is to reply
in-line, or at the bottom, rather than top-posting.)

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:45:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:45:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX940-0004iM-4g; Wed, 23 May 2012 10:45:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX93y-0004iH-JB
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:45:06 +0000
Received: from [85.158.143.35:9867] by server-1.bemta-4.messagelabs.com id
	6C/CA-00342-1BFBCBF4; Wed, 23 May 2012 10:45:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337769901!15594315!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6711 invoked from network); 23 May 2012 10:45:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:45:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12623895"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:45:01 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:45:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SX93t-0006CT-0K; Wed, 23 May 2012 10:45:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SX93s-0008AQ-Tr;
	Wed, 23 May 2012 11:45:00 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.49068.908220.54554@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 11:45:00 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBCB225.3020507@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
	<4FBCB225.3020507@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op"):
> Ian Jackson wrote:
> > Just a suggestion: rather than this business with *last it might be
> > easier to assign a magic error code, or use +1, for "not all done
> > yet".  (+1 would work since all actual libxl error codes are -ve).
> > By my reading of the current interface the return value is not
> > meaningful if *last==0 on output, which is the opposite of the usual
> > way round.
> 
> This function currently returns two different things, the return value 
> returns the rc code of any operation that has failed, and the parameter 
> last marks if all device events are finished. Without the last 
> parameter, we won't be able to return the failed error code if all 
> devices had finished, since we had to return 0, so the error code would 
> be lost.

I was suggesting that it should return:
   rc==0                if all devices completed successfully
   rc==ERROR_SOMETHING  if all devices completed with at least one error
   rc==+1               if something is still going

Or if you prefer
   rc==ERROR_OPERATION_NOT_YET_COMPLETE    if something is still going

> Since I think this is not really clear, I will split this function into 
> two different ones, one that checks if all devices are finished, and 
> another one that checks if some devices have reported errors.

Please don't do that - you'll have to turn it into two loops and it'll
be a lot more fiddly.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:45:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:45:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX940-0004iM-4g; Wed, 23 May 2012 10:45:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX93y-0004iH-JB
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:45:06 +0000
Received: from [85.158.143.35:9867] by server-1.bemta-4.messagelabs.com id
	6C/CA-00342-1BFBCBF4; Wed, 23 May 2012 10:45:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337769901!15594315!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6711 invoked from network); 23 May 2012 10:45:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:45:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12623895"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:45:01 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:45:01 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SX93t-0006CT-0K; Wed, 23 May 2012 10:45:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SX93s-0008AQ-Tr;
	Wed, 23 May 2012 11:45:00 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.49068.908220.54554@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 11:45:00 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBCB225.3020507@citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-8-git-send-email-roger.pau@citrix.com>
	<20411.50812.100404.117424@mariner.uk.xensource.com>
	<4FBCB225.3020507@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 07/15] libxl: convert
 libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v2 07/15] libxl: convert libxl_domain_destroy to an async op"):
> Ian Jackson wrote:
> > Just a suggestion: rather than this business with *last it might be
> > easier to assign a magic error code, or use +1, for "not all done
> > yet".  (+1 would work since all actual libxl error codes are -ve).
> > By my reading of the current interface the return value is not
> > meaningful if *last==0 on output, which is the opposite of the usual
> > way round.
> 
> This function currently returns two different things, the return value 
> returns the rc code of any operation that has failed, and the parameter 
> last marks if all device events are finished. Without the last 
> parameter, we won't be able to return the failed error code if all 
> devices had finished, since we had to return 0, so the error code would 
> be lost.

I was suggesting that it should return:
   rc==0                if all devices completed successfully
   rc==ERROR_SOMETHING  if all devices completed with at least one error
   rc==+1               if something is still going

Or if you prefer
   rc==ERROR_OPERATION_NOT_YET_COMPLETE    if something is still going

> Since I think this is not really clear, I will split this function into 
> two different ones, one that checks if all devices are finished, and 
> another one that checks if some devices have reported errors.

Please don't do that - you'll have to turn it into two loops and it'll
be a lot more fiddly.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:51:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:51:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9AL-0004ur-3x; Wed, 23 May 2012 10:51:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX9AJ-0004uk-In
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:51:39 +0000
Received: from [85.158.143.35:19338] by server-1.bemta-4.messagelabs.com id
	9C/A9-00342-A31CCBF4; Wed, 23 May 2012 10:51:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337770294!12857167!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13191 invoked from network); 23 May 2012 10:51:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:51:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12624087"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:51:31 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:51:31 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SX9AB-0006Fr-Fa; Wed, 23 May 2012 10:51:31 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SX9AB-0008Aq-Ei;
	Wed, 23 May 2012 11:51:31 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.49459.283694.953485@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 11:51:31 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH 3 of 3] libxl: make it possible to explicitly specify default sched params"):
> libxl: make it possible to explicitly specify default sched params

I think this API change is valuable and I would be willing to make a
freeze exception for it.  But I'd like to see George's comments on the
actual code.

> To do so we define a descriminating value which is never a valid
> real value for each parameter.

"Discriminating" would be the correct spelling but I think the word
"distinguished" would be more correct semantically.

> +#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT    0
> +#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT       -1
> +#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT    0
> +#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT     0
> +#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT   0
> +#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT -1

Is there some reason these can't all be -1 ?  The code has now happily
abstracted this away but anyone looking at one of these structs in a
debugger or trace log or something is going to be quite confused.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:51:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:51:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9AL-0004ur-3x; Wed, 23 May 2012 10:51:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX9AJ-0004uk-In
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:51:39 +0000
Received: from [85.158.143.35:19338] by server-1.bemta-4.messagelabs.com id
	9C/A9-00342-A31CCBF4; Wed, 23 May 2012 10:51:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337770294!12857167!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13191 invoked from network); 23 May 2012 10:51:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:51:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12624087"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:51:31 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:51:31 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SX9AB-0006Fr-Fa; Wed, 23 May 2012 10:51:31 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SX9AB-0008Aq-Ei;
	Wed, 23 May 2012 11:51:31 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.49459.283694.953485@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 11:51:31 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH 3 of 3] libxl: make it possible to explicitly specify default sched params"):
> libxl: make it possible to explicitly specify default sched params

I think this API change is valuable and I would be willing to make a
freeze exception for it.  But I'd like to see George's comments on the
actual code.

> To do so we define a descriminating value which is never a valid
> real value for each parameter.

"Discriminating" would be the correct spelling but I think the word
"distinguished" would be more correct semantically.

> +#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT    0
> +#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT       -1
> +#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT    0
> +#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT     0
> +#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT   0
> +#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT -1

Is there some reason these can't all be -1 ?  The code has now happily
abstracted this away but anyone looking at one of these structs in a
debugger or trace log or something is going to be quite confused.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 10:54:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:54:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9CN-000500-Kh; Wed, 23 May 2012 10:53:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX9CM-0004zs-Jz
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:53:46 +0000
Received: from [85.158.143.35:57311] by server-2.bemta-4.messagelabs.com id
	93/76-12211-9B1CCBF4; Wed, 23 May 2012 10:53:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337770425!15596114!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15040 invoked from network); 23 May 2012 10:53:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:53:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12624156"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:53:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:53:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SX9CL-0006Gm-00; Wed, 23 May 2012 10:53:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SX9CK-0008BB-Uv;
	Wed, 23 May 2012 11:53:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.49592.945171.764646@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 11:53:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SWFuIENhbXBiZWxsIHdyaXRlcyAoIlJlOiBbWGVuLWRldmVsXSBbUEFUQ0hdIGxpYnhsOiBJbnRy
b2R1Y2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCB0byBtYWtlIGdjYyBoYXBweSIpOgo+IEkg
d29uZGVyIGlmIGp1c3QgY2hhbmdpbmcgdGhlIHJldHVybiB0eXBlIG9mIGxpYnhsX19kb21haW5f
dHlwZSB0byBpbnQKPiB3b3VsZCBiZSBiZXR0ZXIgdGhhbiB0aGlzPyBJIGd1ZXNzIGl0J2xsIHBy
b2JhYmx5IGJlIG11Y2ggdGhlIHNhbWUuCgpUaGUgdXBzaWRlIG9mIG1ha2luZyBpdCBiZSBhbiBp
bnQgaXMgdGhhdCB3ZSBjb3VsZCBoYXZlCmxpYnhsX2dldF9kb21haW5fdHlwZSB0byByZXR1cm4g
YSBwcm9wZXIgbGlieGwgZXJyb3IgY29kZSBvbiBmYWlsdXJlLApzbyB0aGF0IGl0IGNvdWxkIGV4
cGxhaW4gdGhlIGNhdXNlIG9mIHRoZSBmYWlsdXJlIG1vcmUgY2FyZWZ1bGx5LgpIb3dldmVyLCBJ
IHRoaW5rIHRoaXMgaXMgdGhlb3JldGljYWwuICBBIGZhaWx1cmUgcmV0dXJuIGlzIGFsd2F5cwpn
b2luZyB0byBiZSBtb3JhbGx5IGVxdWl2YWxlbnQgdG8gRVJST1JfUkVUVVJOLgoKQW5kIHRoZSB1
cHNpZGUgb2YgbWFraW5nIGl0IGJlIGFuIGVudW0gaXMgcHJlY2lzZWx5Cgo+IE9uIEZyaSwgMjAx
Mi0wNS0xOCBhdCAxNTo0OCArMDEwMCwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4gPiBfbGlieGxf
dHlwZXMuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWluX2J1aWxkX2luZm9fZGlzcG9zZeKA
mToKPiA+IF9saWJ4bF90eXBlcy5jOjkxOjU6IGVycm9yOiBlbnVtZXJhdGlvbiB2YWx1ZSDigJhM
SUJYTF9ET01BSU5fVFlQRV9JTlZBTElE4oCZIG5vdCBoYW5kbGVkIGluIHN3aXRjaCBbLVdlcnJv
cj1zd2l0Y2hdCgp0aGVzZSB3YXJuaW5ncywgd2hpY2ggYXJlIGFsZXJ0aW5nIHVzIHRvIGNhbGwg
c2l0ZXMgd2l0aCBicm9rZW4gZXJyb3IKaGFuZGxpbmcuCgpJYW4uCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 10:54:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 10:54:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9CN-000500-Kh; Wed, 23 May 2012 10:53:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SX9CM-0004zs-Jz
	for xen-devel@lists.xen.org; Wed, 23 May 2012 10:53:46 +0000
Received: from [85.158.143.35:57311] by server-2.bemta-4.messagelabs.com id
	93/76-12211-9B1CCBF4; Wed, 23 May 2012 10:53:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337770425!15596114!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15040 invoked from network); 23 May 2012 10:53:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 10:53:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12624156"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:53:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 11:53:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SX9CL-0006Gm-00; Wed, 23 May 2012 10:53:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SX9CK-0008BB-Uv;
	Wed, 23 May 2012 11:53:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.49592.945171.764646@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 11:53:44 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <1337352958.22316.126.camel@zakaz.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

SWFuIENhbXBiZWxsIHdyaXRlcyAoIlJlOiBbWGVuLWRldmVsXSBbUEFUQ0hdIGxpYnhsOiBJbnRy
b2R1Y2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCB0byBtYWtlIGdjYyBoYXBweSIpOgo+IEkg
d29uZGVyIGlmIGp1c3QgY2hhbmdpbmcgdGhlIHJldHVybiB0eXBlIG9mIGxpYnhsX19kb21haW5f
dHlwZSB0byBpbnQKPiB3b3VsZCBiZSBiZXR0ZXIgdGhhbiB0aGlzPyBJIGd1ZXNzIGl0J2xsIHBy
b2JhYmx5IGJlIG11Y2ggdGhlIHNhbWUuCgpUaGUgdXBzaWRlIG9mIG1ha2luZyBpdCBiZSBhbiBp
bnQgaXMgdGhhdCB3ZSBjb3VsZCBoYXZlCmxpYnhsX2dldF9kb21haW5fdHlwZSB0byByZXR1cm4g
YSBwcm9wZXIgbGlieGwgZXJyb3IgY29kZSBvbiBmYWlsdXJlLApzbyB0aGF0IGl0IGNvdWxkIGV4
cGxhaW4gdGhlIGNhdXNlIG9mIHRoZSBmYWlsdXJlIG1vcmUgY2FyZWZ1bGx5LgpIb3dldmVyLCBJ
IHRoaW5rIHRoaXMgaXMgdGhlb3JldGljYWwuICBBIGZhaWx1cmUgcmV0dXJuIGlzIGFsd2F5cwpn
b2luZyB0byBiZSBtb3JhbGx5IGVxdWl2YWxlbnQgdG8gRVJST1JfUkVUVVJOLgoKQW5kIHRoZSB1
cHNpZGUgb2YgbWFraW5nIGl0IGJlIGFuIGVudW0gaXMgcHJlY2lzZWx5Cgo+IE9uIEZyaSwgMjAx
Mi0wNS0xOCBhdCAxNTo0OCArMDEwMCwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4gPiBfbGlieGxf
dHlwZXMuYzogSW4gZnVuY3Rpb24g4oCYbGlieGxfZG9tYWluX2J1aWxkX2luZm9fZGlzcG9zZeKA
mToKPiA+IF9saWJ4bF90eXBlcy5jOjkxOjU6IGVycm9yOiBlbnVtZXJhdGlvbiB2YWx1ZSDigJhM
SUJYTF9ET01BSU5fVFlQRV9JTlZBTElE4oCZIG5vdCBoYW5kbGVkIGluIHN3aXRjaCBbLVdlcnJv
cj1zd2l0Y2hdCgp0aGVzZSB3YXJuaW5ncywgd2hpY2ggYXJlIGFsZXJ0aW5nIHVzIHRvIGNhbGwg
c2l0ZXMgd2l0aCBicm9rZW4gZXJyb3IKaGFuZGxpbmcuCgpJYW4uCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 11:01:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:01:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9JY-0005Rn-8d; Wed, 23 May 2012 11:01:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX9JW-0005Re-62
	for xen-devel@lists.xen.org; Wed, 23 May 2012 11:01:10 +0000
Received: from [193.109.254.147:18593] by server-9.bemta-14.messagelabs.com id
	1F/3D-05787-573CCBF4; Wed, 23 May 2012 11:01:09 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337770855!3088200!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjQyOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23871 invoked from network); 23 May 2012 11:00:55 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:00:55 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=mXST0up9yUsPz4J/ZcAJzuDamuiKJoznNCJa+U7kFmKhhGK6su94n9QL
	SJ8cfDBWcDJNV5lEpwqudI8vBGrmJMRNQvLJOXbybUN5fuhQh/SZ0aJrX
	k3IuhvawrxxVjn7ysdU5asPk6d5vqyzqZqU2c4igYusI6Hs8F04dNeuWR
	qyA9BLaMRORUxbgF8pcqIKdx461AqzjNEgzAFSdCCTsC0VsU66OXxfa9P
	tnfcK6Q5q8XNV8udx8EM/ZXZ4QR7v;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337770855; x=1369306855;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=l8VLIk1MNvrHKb1k8rWljVC/dD8jNF5FHmqkZbN8VX8=;
	b=HMchfCvjhW1tvFcXJe/+6Qlvad2u5nROMwSCXkWH/HM8IuKfxmp0r/rR
	byN5/oCXHE8FiVZPqq82Lr7TutHi78YpgR8OdVAAIYRGyyyQvgswzAuVO
	9PikWaZvh7YX6zdNtmmOeSnitBe5ubb0SXWwmnjW2vlTyOBRNHUD3UkU3
	dwHp10VwUfZCwteTQtqsPZlCmxMN+kLwvASskyiPOMadX3jvbW95c3UQT
	F6Xi5OTvP97ABOJ2gQygrjBKuoGK7;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="94188667"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 23 May 2012 13:00:55 +0200
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="134818737"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 23 May 2012 13:00:54 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id DCD35967282;
	Wed, 23 May 2012 13:00:54 +0200 (CEST)
Message-ID: <4FBCC366.1060908@ts.fujitsu.com>
Date: Wed, 23 May 2012 13:00:54 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
In-Reply-To: <4FBCCC650200007800085694@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>, keir@xen.org,
	Ben Guthro <ben@guthro.net>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjMvMjAxMiAxMTozOSBBTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMjIuMDUu
MTIgYXQgMjM6MDAsIEJlbiBHdXRocm88YmVuQGd1dGhyby5uZXQ+ICB3cm90ZToKPj4gSSd2ZSBi
aXNlY3RlZCB0aGlzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0IGluIHRoZSB4ZW4tdW5zdGFibGUg
Z2l0IHRyZWUuCj4+Cj4+IEknbGwgYmUgYWJsZSB0byBkaXZlIGluIGEgbGl0dGxlIGRlZXBlciB0
b21vcnJvdy4KPj4gSWYgeW91IHNlZSBhbnl0aGluZyBoZXJlIHRoYXQgbG9va3Mgc3VzcGljaW91
cyB0byB0aGUgY3Jhc2gKPj4gcmVmZXJlbmNlZC4uLiBsZXQgbWUga25vdy4KPiBBcyB0aGUgY2hh
bmdlIHdhcyByZWFsbHkgYSByZS13cml0ZSBvZiBhIHN1Ym1pc3Npb24gYnkgSsO8cmdlbiwKPiBJ
J20gYWRkaW5nIGhpbSB0byBDYy4KPgo+IFVubGVzcyBoZSBoYXMgYW4gaW1tZWRpYXRlIGlkZWEs
IHdlIGRlZmluaXRlbHkgd2FudCB0bwo+IHVuZGVyc3RhbmQgd2h5ICJjcHVzIiBpcyBlbXB0eSAt
IGhlbmNlIHdlJ2Qgd2FudCB0byBzZWUKPiAqb25saW5lLCAqdmMtPmNwdV9hZmZpbml0eSwgdmMt
PmNwdV9pZCwgYW5kIG1heWJlCj4gdmMtPnByb2Nlc3Nvci4gKFByaW50aW5nIHRoZW0gaXMgcHJv
YmFibHkgbm90IGEgZ29vZCBpZGVhCj4gaGVyZSwgc28gSSdkIGluc3RlYWQgc3VnZ2VzdCBqdXN0
IGNvcHlpbmcgdGhlbSB0byBbYWRkaXRpb25hbF0KPiBvbi1zdGFjayB2YXJpYWJsZXMsIG1ha2lu
ZyBzdXJlIHRoZSBjb21waWxlciBkb2Vzbid0IG9wdGltaXplCj4gdGhlbSBhd2F5LikKPgo+IFBy
b2JhYmx5IGl0IHdvdWxkIGJlIGdvb2QgdG8gYWxzbyBrbm93IHdoYXQgZWFjaCBhY3RpdmUKPiB2
Q1BVJ3MgLT5jcHVfYWZmaW5pdHkgd2FzIHJpZ2h0IGJlZm9yZSBzdXNwZW5kIGFuZC9vciByaWdo
dAo+IGFmdGVyIHJlc3VtZSAocGVyaGFwcyBpbiBmcmVlemVfZG9tYWlucygpIGFuZC9vcgo+IHRo
YXdfZG9tYWlucygpLiBUaGF0IHdheSB3ZSdkIGF0IGxlYXN0IGtub3cgd2hldGhlciB0aGUKPiBh
ZmZpbml0eSAtIGRlc3BpdGUgdGhlIG9mZmVuZGluZyBjaGFuZ2VzZXQncyBpbnZlcnNlIGludGVu
dGlvbiAtCj4gZGlkIGdldCBjaGFuZ2VkIGR1cmluZyB0aGUgcmVzdW1lIHByb2Nlc3MuCgpObyBp
ZGVhLCBzb3JyeS4KSSB0ZXN0ZWQgdGhlIHBhdGNoIG9ubHkgYWdhaW5zdCBhIHByb2JsZW0gd2l0
aCBwb3dlcl9vZmYsIHNvIEkgbmV2ZXIgaGl0IHRoZQpyZXN1bWUgcGF0aC4KCgpKdWVyZ2VuCgot
LSAKSnVlcmdlbiBHcm9zcyAgICAgICAgICAgICAgICAgUHJpbmNpcGFsIERldmVsb3BlciBPcGVy
YXRpbmcgU3lzdGVtcwpQREcgRVMmUyBTV0UgT1M2ICAgICAgICAgICAgICAgICAgICAgICBUZWxl
cGhvbmU6ICs0OSAoMCkgODkgMzIyMiAyOTY3CkZ1aml0c3UgVGVjaG5vbG9neSBTb2x1dGlvbnMg
ICAgICAgICAgICAgIGUtbWFpbDoganVlcmdlbi5ncm9zc0B0cy5mdWppdHN1LmNvbQpEb21hZ2tz
dHIuIDI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuZXQ6IHRzLmZ1aml0c3UuY29t
CkQtODA4MDcgTXVlbmNoZW4gICAgICAgICAgICAgICAgIENvbXBhbnkgZGV0YWlsczogdHMuZnVq
aXRzdS5jb20vaW1wcmludC5odG1sCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu
Lm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Wed May 23 11:01:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:01:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9JY-0005Rn-8d; Wed, 23 May 2012 11:01:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <juergen.gross@ts.fujitsu.com>) id 1SX9JW-0005Re-62
	for xen-devel@lists.xen.org; Wed, 23 May 2012 11:01:10 +0000
Received: from [193.109.254.147:18593] by server-9.bemta-14.messagelabs.com id
	1F/3D-05787-573CCBF4; Wed, 23 May 2012 11:01:09 +0000
X-Env-Sender: juergen.gross@ts.fujitsu.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337770855!3088200!1
X-Originating-IP: [80.70.172.51]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogODAuNzAuMTcyLjUxID0+IDE2MjQyOA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23871 invoked from network); 23 May 2012 11:00:55 -0000
Received: from dgate20.ts.fujitsu.com (HELO dgate20.ts.fujitsu.com)
	(80.70.172.51)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:00:55 -0000
DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns;
	h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV:
	Received:Received:Message-ID:Date:From:Organization:
	User-Agent:MIME-Version:To:CC:Subject:References:
	In-Reply-To:Content-Type:Content-Transfer-Encoding;
	b=mXST0up9yUsPz4J/ZcAJzuDamuiKJoznNCJa+U7kFmKhhGK6su94n9QL
	SJ8cfDBWcDJNV5lEpwqudI8vBGrmJMRNQvLJOXbybUN5fuhQh/SZ0aJrX
	k3IuhvawrxxVjn7ysdU5asPk6d5vqyzqZqU2c4igYusI6Hs8F04dNeuWR
	qyA9BLaMRORUxbgF8pcqIKdx461AqzjNEgzAFSdCCTsC0VsU66OXxfa9P
	tnfcK6Q5q8XNV8udx8EM/ZXZ4QR7v;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
	d=ts.fujitsu.com; i=juergen.gross@ts.fujitsu.com;
	q=dns/txt; s=s1536b; t=1337770855; x=1369306855;
	h=message-id:date:from:mime-version:to:cc:subject:
	references:in-reply-to:content-transfer-encoding;
	bh=l8VLIk1MNvrHKb1k8rWljVC/dD8jNF5FHmqkZbN8VX8=;
	b=HMchfCvjhW1tvFcXJe/+6Qlvad2u5nROMwSCXkWH/HM8IuKfxmp0r/rR
	byN5/oCXHE8FiVZPqq82Lr7TutHi78YpgR8OdVAAIYRGyyyQvgswzAuVO
	9PikWaZvh7YX6zdNtmmOeSnitBe5ubb0SXWwmnjW2vlTyOBRNHUD3UkU3
	dwHp10VwUfZCwteTQtqsPZlCmxMN+kLwvASskyiPOMadX3jvbW95c3UQT
	F6Xi5OTvP97ABOJ2gQygrjBKuoGK7;
X-SBRSScore: None
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="94188667"
Received: from abgdgate40u.abg.fsc.net ([172.25.138.90])
	by dgate20u.abg.fsc.net with ESMTP; 23 May 2012 13:00:55 +0200
X-IronPort-AV: E=Sophos;i="4.75,644,1330902000"; d="scan'208";a="134818737"
Received: from sanpedro.mch.fsc.net ([172.17.20.6])
	by abgdgate40u.abg.fsc.net with ESMTP; 23 May 2012 13:00:54 +0200
Received: from [172.17.21.50] (verdon.osd.mch.fsc.net [172.17.21.50])
	by sanpedro.mch.fsc.net (Postfix) with ESMTP id DCD35967282;
	Wed, 23 May 2012 13:00:54 +0200 (CEST)
Message-ID: <4FBCC366.1060908@ts.fujitsu.com>
Date: Wed, 23 May 2012 13:00:54 +0200
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
Organization: Fujitsu Technology Solutions
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
In-Reply-To: <4FBCCC650200007800085694@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>, keir@xen.org,
	Ben Guthro <ben@guthro.net>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjMvMjAxMiAxMTozOSBBTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4+Pj4gT24gMjIuMDUu
MTIgYXQgMjM6MDAsIEJlbiBHdXRocm88YmVuQGd1dGhyby5uZXQ+ICB3cm90ZToKPj4gSSd2ZSBi
aXNlY3RlZCB0aGlzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0IGluIHRoZSB4ZW4tdW5zdGFibGUg
Z2l0IHRyZWUuCj4+Cj4+IEknbGwgYmUgYWJsZSB0byBkaXZlIGluIGEgbGl0dGxlIGRlZXBlciB0
b21vcnJvdy4KPj4gSWYgeW91IHNlZSBhbnl0aGluZyBoZXJlIHRoYXQgbG9va3Mgc3VzcGljaW91
cyB0byB0aGUgY3Jhc2gKPj4gcmVmZXJlbmNlZC4uLiBsZXQgbWUga25vdy4KPiBBcyB0aGUgY2hh
bmdlIHdhcyByZWFsbHkgYSByZS13cml0ZSBvZiBhIHN1Ym1pc3Npb24gYnkgSsO8cmdlbiwKPiBJ
J20gYWRkaW5nIGhpbSB0byBDYy4KPgo+IFVubGVzcyBoZSBoYXMgYW4gaW1tZWRpYXRlIGlkZWEs
IHdlIGRlZmluaXRlbHkgd2FudCB0bwo+IHVuZGVyc3RhbmQgd2h5ICJjcHVzIiBpcyBlbXB0eSAt
IGhlbmNlIHdlJ2Qgd2FudCB0byBzZWUKPiAqb25saW5lLCAqdmMtPmNwdV9hZmZpbml0eSwgdmMt
PmNwdV9pZCwgYW5kIG1heWJlCj4gdmMtPnByb2Nlc3Nvci4gKFByaW50aW5nIHRoZW0gaXMgcHJv
YmFibHkgbm90IGEgZ29vZCBpZGVhCj4gaGVyZSwgc28gSSdkIGluc3RlYWQgc3VnZ2VzdCBqdXN0
IGNvcHlpbmcgdGhlbSB0byBbYWRkaXRpb25hbF0KPiBvbi1zdGFjayB2YXJpYWJsZXMsIG1ha2lu
ZyBzdXJlIHRoZSBjb21waWxlciBkb2Vzbid0IG9wdGltaXplCj4gdGhlbSBhd2F5LikKPgo+IFBy
b2JhYmx5IGl0IHdvdWxkIGJlIGdvb2QgdG8gYWxzbyBrbm93IHdoYXQgZWFjaCBhY3RpdmUKPiB2
Q1BVJ3MgLT5jcHVfYWZmaW5pdHkgd2FzIHJpZ2h0IGJlZm9yZSBzdXNwZW5kIGFuZC9vciByaWdo
dAo+IGFmdGVyIHJlc3VtZSAocGVyaGFwcyBpbiBmcmVlemVfZG9tYWlucygpIGFuZC9vcgo+IHRo
YXdfZG9tYWlucygpLiBUaGF0IHdheSB3ZSdkIGF0IGxlYXN0IGtub3cgd2hldGhlciB0aGUKPiBh
ZmZpbml0eSAtIGRlc3BpdGUgdGhlIG9mZmVuZGluZyBjaGFuZ2VzZXQncyBpbnZlcnNlIGludGVu
dGlvbiAtCj4gZGlkIGdldCBjaGFuZ2VkIGR1cmluZyB0aGUgcmVzdW1lIHByb2Nlc3MuCgpObyBp
ZGVhLCBzb3JyeS4KSSB0ZXN0ZWQgdGhlIHBhdGNoIG9ubHkgYWdhaW5zdCBhIHByb2JsZW0gd2l0
aCBwb3dlcl9vZmYsIHNvIEkgbmV2ZXIgaGl0IHRoZQpyZXN1bWUgcGF0aC4KCgpKdWVyZ2VuCgot
LSAKSnVlcmdlbiBHcm9zcyAgICAgICAgICAgICAgICAgUHJpbmNpcGFsIERldmVsb3BlciBPcGVy
YXRpbmcgU3lzdGVtcwpQREcgRVMmUyBTV0UgT1M2ICAgICAgICAgICAgICAgICAgICAgICBUZWxl
cGhvbmU6ICs0OSAoMCkgODkgMzIyMiAyOTY3CkZ1aml0c3UgVGVjaG5vbG9neSBTb2x1dGlvbnMg
ICAgICAgICAgICAgIGUtbWFpbDoganVlcmdlbi5ncm9zc0B0cy5mdWppdHN1LmNvbQpEb21hZ2tz
dHIuIDI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuZXQ6IHRzLmZ1aml0c3UuY29t
CkQtODA4MDcgTXVlbmNoZW4gICAgICAgICAgICAgICAgIENvbXBhbnkgZGV0YWlsczogdHMuZnVq
aXRzdS5jb20vaW1wcmludC5odG1sCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu
Lm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Wed May 23 11:12:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9Ts-0005kK-HB; Wed, 23 May 2012 11:11:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SX9Tr-0005kE-4h
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 11:11:51 +0000
Received: from [85.158.139.83:14855] by server-4.bemta-5.messagelabs.com id
	93/D7-09525-6F5CCBF4; Wed, 23 May 2012 11:11:50 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337771508!26037750!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7338 invoked from network); 23 May 2012 11:11:49 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:11:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196188754"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 07:11:47 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 07:11:47 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SX9Tn-00059o-3u;
	Wed, 23 May 2012 12:11:47 +0100
Message-ID: <4FBCC5F3.1080804@citrix.com>
Date: Wed, 23 May 2012 12:11:47 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
In-Reply-To: <4FBCAF1902000078000855C5@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 23/05/12 08:34, Jan Beulich wrote:
>>>> On 22.05.12 at 18:07, Andre Przywara <andre.przywara@amd.com> wrote:
>> while testing some APERF/MPERF semantics I discovered that this feature 
>> is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID bit, 
>> leading to costly RDMSR traps (a few 100,000s during a kernel compile) 
>> and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the 
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the 
>> patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we could 
>> as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not 
>> sure if it's worth to do so.
>>
>> Awaiting your comments.
> First of all I'm of the opinion that this indeed should not be
> masked in the hypervisor - there's no reason to disallow the
> guest to read these registers (but we should of course deny
> writes as long as Xen is controlling P-states, which we do).

I am sorry but I am going to have to disagree with you on this point.

We should not be advertising this feature to any guest at all if we
can't provide an implementation which works as native expects.  Else we
are failing in our job of virtualisation.

There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
prevents update of the affinity masks, and appears to conditionally
allow access to certain MSRs.  I think it would be fine to expose this
feature iff dom0s vcpus are pinned in this fashion.  That way, the
measurement should succeed, even if dom0 only has read access to the MSRs.

The same logic applies to domU guests, although there is currently no
way I can see to get domU domains into a state where advertising it
would be safe.

~Andrew

[1] I am however about to submit a patch (for inclusion after the
feature freeze) which adds more semantics to this command line option. 
There is currently no way ask Xen to pin dom0s vcpus from domain create
time but allow their affinity masks to be updated later.  The XenServer
performance team have been experimenting and have found performance
benefits from being able to do this.

>
> Next I'd like to note that in our kernels we simply don't build
> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
> suppressed, there's no consumer of the feature flag in our
> kernels.
>
> So I would think that your suggested change is appropriate,
> but I'm adding Konrad to Cc as these days he's the one to pick
> this up.
>
> Jan
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 11:12:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9Ts-0005kK-HB; Wed, 23 May 2012 11:11:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SX9Tr-0005kE-4h
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 11:11:51 +0000
Received: from [85.158.139.83:14855] by server-4.bemta-5.messagelabs.com id
	93/D7-09525-6F5CCBF4; Wed, 23 May 2012 11:11:50 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337771508!26037750!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7338 invoked from network); 23 May 2012 11:11:49 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:11:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330923600"; d="scan'208";a="196188754"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 07:11:47 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 07:11:47 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SX9Tn-00059o-3u;
	Wed, 23 May 2012 12:11:47 +0100
Message-ID: <4FBCC5F3.1080804@citrix.com>
Date: Wed, 23 May 2012 12:11:47 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
In-Reply-To: <4FBCAF1902000078000855C5@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 23/05/12 08:34, Jan Beulich wrote:
>>>> On 22.05.12 at 18:07, Andre Przywara <andre.przywara@amd.com> wrote:
>> while testing some APERF/MPERF semantics I discovered that this feature 
>> is enabled in Xen Dom0, but is not reliable.
>> The Linux kernel's scheduler uses this feature if it sees the CPUID bit, 
>> leading to costly RDMSR traps (a few 100,000s during a kernel compile) 
>> and bogus values due to VCPU migration during the measurement.
>> The attached patch explicitly disables this CPU capability inside the 
>> Linux kernel, I couldn't measure any APERF/MPERF reads anymore with the 
>> patch applied.
>> I am not sure if the PVOPS code is the right place to fix this, we could 
>> as well do it in the HV's xen/arch/x86/traps.c:pv_cpuid().
>> Also when the Dom0 VCPUs are pinned, we could allow this, but I am not 
>> sure if it's worth to do so.
>>
>> Awaiting your comments.
> First of all I'm of the opinion that this indeed should not be
> masked in the hypervisor - there's no reason to disallow the
> guest to read these registers (but we should of course deny
> writes as long as Xen is controlling P-states, which we do).

I am sorry but I am going to have to disagree with you on this point.

We should not be advertising this feature to any guest at all if we
can't provide an implementation which works as native expects.  Else we
are failing in our job of virtualisation.

There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
prevents update of the affinity masks, and appears to conditionally
allow access to certain MSRs.  I think it would be fine to expose this
feature iff dom0s vcpus are pinned in this fashion.  That way, the
measurement should succeed, even if dom0 only has read access to the MSRs.

The same logic applies to domU guests, although there is currently no
way I can see to get domU domains into a state where advertising it
would be safe.

~Andrew

[1] I am however about to submit a patch (for inclusion after the
feature freeze) which adds more semantics to this command line option. 
There is currently no way ask Xen to pin dom0s vcpus from domain create
time but allow their affinity masks to be updated later.  The XenServer
performance team have been experimenting and have found performance
benefits from being able to do this.

>
> Next I'd like to note that in our kernels we simply don't build
> arch/x86/kernel/cpu/sched.o. Together with CPU_FREQ being
> suppressed, there's no consumer of the feature flag in our
> kernels.
>
> So I would think that your suggested change is appropriate,
> but I'm adding Konrad to Cc as these days he's the one to pick
> this up.
>
> Jan
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 11:13:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:13:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9Uq-0005o0-Vo; Wed, 23 May 2012 11:12:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX9Up-0005nm-Gc
	for xen-devel@lists.xen.org; Wed, 23 May 2012 11:12:51 +0000
Received: from [85.158.138.51:7214] by server-4.bemta-3.messagelabs.com id
	EC/D3-25780-236CCBF4; Wed, 23 May 2012 11:12:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337771569!28755828!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19932 invoked from network); 23 May 2012 11:12:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-5.tower-174.messagelabs.com with SMTP;
	23 May 2012 11:12:49 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78097942; Wed, 23 May 2012 13:12:48 +0200
Message-ID: <1337771560.27368.69.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <ian.campbell@citrix.com>
Date: Wed, 23 May 2012 13:12:40 +0200
In-Reply-To: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2395295213865740947=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2395295213865740947==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-glEe9mAgoWRtyM+uXCi/"


--=-glEe9mAgoWRtyM+uXCi/
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 10:26 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337764865 -3600
> # Node ID b6221bcdf9a9045b49a2ddd7877602788f657bad
> # Parent  7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
> libxl: make it possible to explicitly specify default sched params
>=20
> To do so we define a descriminating value which is never a valid real val=
ue for
> each parameter.
>=20
> While there:
>=20
>  - removed libxl_sched_*_domain in favour of libxl_sched_params.
>  - use this new functionality for the various xl commands which set sched
>    parameters, which saves an explicit read-modify-write in xl.
>  - removed call of xc_domain_getinfolist from a few functions which weren=
't
>    actually using the result (looks like a cut and paste error)
>  - fix xl which was setting period for a variety of different config keys=
.
>=20
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>=20
Might be my fault, but I can't get this patch to build:

xl_cmdimpl.c:4365:47: error: unknown type name =E2=80=98libxl_sched_credit_=
domain=E2=80=99
xl_cmdimpl.c: In function =E2=80=98sched_credit_domain_output=E2=80=99:
xl_cmdimpl.c:4401:5: error: unknown type name =E2=80=98libxl_sched_credit_d=
omain=E2=80=99
xl_cmdimpl.c:4408:5: error: implicit declaration of function =E2=80=98sched=
_credit_domain_get=E2=80=99 [-Werror=3Dimplicit-function-declaration]
xl_cmdimpl.c:4415:15: error: request for member =E2=80=98weight=E2=80=99 in=
 something not a structure or union
xl_cmdimpl.c:4416:15: error: request for member =E2=80=98cap=E2=80=99 in so=
mething not a structure or union
xl_cmdimpl.c:4418:5: error: implicit declaration of function =E2=80=98libxl=
_sched_credit_domain_dispose=E2=80=99 [-Werror=3Dimplicit-function-declarat=
ion]
xl_cmdimpl.c: At top level:
xl_cmdimpl.c:4444:16: error: unknown type name =E2=80=98libxl_sched_credit2=
_domain=E2=80=99
xl_cmdimpl.c:4456:16: error: unknown type name =E2=80=98libxl_sched_credit2=
_domain=E2=80=99
xl_cmdimpl.c: In function =E2=80=98sched_credit2_domain_output=E2=80=99:
xl_cmdimpl.c:4471:5: error: unknown type name =E2=80=98libxl_sched_credit2_=
domain=E2=80=99
xl_cmdimpl.c:4478:5: error: implicit declaration of function =E2=80=98sched=
_credit2_domain_get=E2=80=99 [-Werror=3Dimplicit-function-declaration]
xl_cmdimpl.c:4485:15: error: request for member =E2=80=98weight=E2=80=99 in=
 something not a structure or union
xl_cmdimpl.c:4487:5: error: implicit declaration of function =E2=80=98libxl=
_sched_credit2_domain_dispose=E2=80=99 [-Werror=3Dimplicit-function-declara=
tion]
xl_cmdimpl.c: At top level:
xl_cmdimpl.c:4492:16: error: unknown type name =E2=80=98libxl_sched_sedf_do=
main=E2=80=99
xl_cmdimpl.c:4504:16: error: unknown type name =E2=80=98libxl_sched_sedf_do=
main=E2=80=99
...
...

It seems like there are some leftovers of the old
libxl_sched_{credit,...}_domain in xl_cmdimpl.c ... Perhaps a missing
add/refresh on our side?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-glEe9mAgoWRtyM+uXCi/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8xigACgkQk4XaBE3IOsQHigCfS4N4GUzocXn8Cy1pPeaEKO07
EHQAoIzUj4HAkPcdOxk7yfQK4BZRev1i
=rHMf
-----END PGP SIGNATURE-----

--=-glEe9mAgoWRtyM+uXCi/--



--===============2395295213865740947==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2395295213865740947==--



From xen-devel-bounces@lists.xen.org Wed May 23 11:13:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:13:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9Uq-0005o0-Vo; Wed, 23 May 2012 11:12:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX9Up-0005nm-Gc
	for xen-devel@lists.xen.org; Wed, 23 May 2012 11:12:51 +0000
Received: from [85.158.138.51:7214] by server-4.bemta-3.messagelabs.com id
	EC/D3-25780-236CCBF4; Wed, 23 May 2012 11:12:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337771569!28755828!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19932 invoked from network); 23 May 2012 11:12:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-5.tower-174.messagelabs.com with SMTP;
	23 May 2012 11:12:49 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78097942; Wed, 23 May 2012 13:12:48 +0200
Message-ID: <1337771560.27368.69.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <ian.campbell@citrix.com>
Date: Wed, 23 May 2012 13:12:40 +0200
In-Reply-To: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2395295213865740947=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============2395295213865740947==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-glEe9mAgoWRtyM+uXCi/"


--=-glEe9mAgoWRtyM+uXCi/
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 10:26 +0100, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337764865 -3600
> # Node ID b6221bcdf9a9045b49a2ddd7877602788f657bad
> # Parent  7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
> libxl: make it possible to explicitly specify default sched params
>=20
> To do so we define a descriminating value which is never a valid real val=
ue for
> each parameter.
>=20
> While there:
>=20
>  - removed libxl_sched_*_domain in favour of libxl_sched_params.
>  - use this new functionality for the various xl commands which set sched
>    parameters, which saves an explicit read-modify-write in xl.
>  - removed call of xc_domain_getinfolist from a few functions which weren=
't
>    actually using the result (looks like a cut and paste error)
>  - fix xl which was setting period for a variety of different config keys=
.
>=20
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>=20
Might be my fault, but I can't get this patch to build:

xl_cmdimpl.c:4365:47: error: unknown type name =E2=80=98libxl_sched_credit_=
domain=E2=80=99
xl_cmdimpl.c: In function =E2=80=98sched_credit_domain_output=E2=80=99:
xl_cmdimpl.c:4401:5: error: unknown type name =E2=80=98libxl_sched_credit_d=
omain=E2=80=99
xl_cmdimpl.c:4408:5: error: implicit declaration of function =E2=80=98sched=
_credit_domain_get=E2=80=99 [-Werror=3Dimplicit-function-declaration]
xl_cmdimpl.c:4415:15: error: request for member =E2=80=98weight=E2=80=99 in=
 something not a structure or union
xl_cmdimpl.c:4416:15: error: request for member =E2=80=98cap=E2=80=99 in so=
mething not a structure or union
xl_cmdimpl.c:4418:5: error: implicit declaration of function =E2=80=98libxl=
_sched_credit_domain_dispose=E2=80=99 [-Werror=3Dimplicit-function-declarat=
ion]
xl_cmdimpl.c: At top level:
xl_cmdimpl.c:4444:16: error: unknown type name =E2=80=98libxl_sched_credit2=
_domain=E2=80=99
xl_cmdimpl.c:4456:16: error: unknown type name =E2=80=98libxl_sched_credit2=
_domain=E2=80=99
xl_cmdimpl.c: In function =E2=80=98sched_credit2_domain_output=E2=80=99:
xl_cmdimpl.c:4471:5: error: unknown type name =E2=80=98libxl_sched_credit2_=
domain=E2=80=99
xl_cmdimpl.c:4478:5: error: implicit declaration of function =E2=80=98sched=
_credit2_domain_get=E2=80=99 [-Werror=3Dimplicit-function-declaration]
xl_cmdimpl.c:4485:15: error: request for member =E2=80=98weight=E2=80=99 in=
 something not a structure or union
xl_cmdimpl.c:4487:5: error: implicit declaration of function =E2=80=98libxl=
_sched_credit2_domain_dispose=E2=80=99 [-Werror=3Dimplicit-function-declara=
tion]
xl_cmdimpl.c: At top level:
xl_cmdimpl.c:4492:16: error: unknown type name =E2=80=98libxl_sched_sedf_do=
main=E2=80=99
xl_cmdimpl.c:4504:16: error: unknown type name =E2=80=98libxl_sched_sedf_do=
main=E2=80=99
...
...

It seems like there are some leftovers of the old
libxl_sched_{credit,...}_domain in xl_cmdimpl.c ... Perhaps a missing
add/refresh on our side?

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-glEe9mAgoWRtyM+uXCi/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8xigACgkQk4XaBE3IOsQHigCfS4N4GUzocXn8Cy1pPeaEKO07
EHQAoIzUj4HAkPcdOxk7yfQK4BZRev1i
=rHMf
-----END PGP SIGNATURE-----

--=-glEe9mAgoWRtyM+uXCi/--



--===============2395295213865740947==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2395295213865740947==--



From xen-devel-bounces@lists.xen.org Wed May 23 11:18:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9Zc-000639-NZ; Wed, 23 May 2012 11:17:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX9Za-00062y-Gi
	for xen-devel@lists.xen.org; Wed, 23 May 2012 11:17:46 +0000
Received: from [193.109.254.147:22523] by server-7.bemta-14.messagelabs.com id
	37/01-01627-957CCBF4; Wed, 23 May 2012 11:17:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337771865!2843196!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21874 invoked from network); 23 May 2012 11:17:45 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-6.tower-27.messagelabs.com with SMTP;
	23 May 2012 11:17:45 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78098089; Wed, 23 May 2012 13:17:44 +0200
Message-ID: <1337771858.27368.72.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 13:17:38 +0200
In-Reply-To: <20412.49592.945171.764646@mariner.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5275636891221188973=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5275636891221188973==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-8MOunInv5B8wVmcmNYDz"


--=-8MOunInv5B8wVmcmNYDz
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 11:53 +0100, Ian Jackson wrote:
> And the upside of making it be an enum is precisely
>=20
> > On Fri, 2012-05-18 at 15:48 +0100, Dario Faggioli wrote:
> > > _libxl_types.c: In function =E2=80=98libxl_domain_build_info_dispose=
=E2=80=99:
> > > _libxl_types.c:91:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_T=
YPE_INVALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
>=20
> these warnings, which are alerting us to call sites with broken error
> handling.
>=20
I agree, and I can sue try looking at those call sites and see what it
takes to add a proper 'case' or 'default' clause in there if you think
that to be the way to go...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-8MOunInv5B8wVmcmNYDz
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8x1IACgkQk4XaBE3IOsT1BACdGgZTwToLB2D+2xcmFJ5ZQ5iv
XkYAoJDTjSzudq0tc0d8qOjqmeQ0zMRj
=dSW1
-----END PGP SIGNATURE-----

--=-8MOunInv5B8wVmcmNYDz--



--===============5275636891221188973==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5275636891221188973==--



From xen-devel-bounces@lists.xen.org Wed May 23 11:18:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9Zc-000639-NZ; Wed, 23 May 2012 11:17:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SX9Za-00062y-Gi
	for xen-devel@lists.xen.org; Wed, 23 May 2012 11:17:46 +0000
Received: from [193.109.254.147:22523] by server-7.bemta-14.messagelabs.com id
	37/01-01627-957CCBF4; Wed, 23 May 2012 11:17:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337771865!2843196!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21874 invoked from network); 23 May 2012 11:17:45 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-6.tower-27.messagelabs.com with SMTP;
	23 May 2012 11:17:45 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78098089; Wed, 23 May 2012 13:17:44 +0200
Message-ID: <1337771858.27368.72.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 13:17:38 +0200
In-Reply-To: <20412.49592.945171.764646@mariner.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5275636891221188973=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5275636891221188973==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-8MOunInv5B8wVmcmNYDz"


--=-8MOunInv5B8wVmcmNYDz
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 11:53 +0100, Ian Jackson wrote:
> And the upside of making it be an enum is precisely
>=20
> > On Fri, 2012-05-18 at 15:48 +0100, Dario Faggioli wrote:
> > > _libxl_types.c: In function =E2=80=98libxl_domain_build_info_dispose=
=E2=80=99:
> > > _libxl_types.c:91:5: error: enumeration value =E2=80=98LIBXL_DOMAIN_T=
YPE_INVALID=E2=80=99 not handled in switch [-Werror=3Dswitch]
>=20
> these warnings, which are alerting us to call sites with broken error
> handling.
>=20
I agree, and I can sue try looking at those call sites and see what it
takes to add a proper 'case' or 'default' clause in there if you think
that to be the way to go...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-8MOunInv5B8wVmcmNYDz
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+8x1IACgkQk4XaBE3IOsT1BACdGgZTwToLB2D+2xcmFJ5ZQ5iv
XkYAoJDTjSzudq0tc0d8qOjqmeQ0zMRj
=dSW1
-----END PGP SIGNATURE-----

--=-8MOunInv5B8wVmcmNYDz--



--===============5275636891221188973==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5275636891221188973==--



From xen-devel-bounces@lists.xen.org Wed May 23 11:38:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:38:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9t7-0006GW-L7; Wed, 23 May 2012 11:37:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SX9t6-0006GR-6I
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 11:37:56 +0000
Received: from [85.158.143.99:52795] by server-3.bemta-4.messagelabs.com id
	F7/A3-05853-31CCCBF4; Wed, 23 May 2012 11:37:55 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337773074!28843640!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18033 invoked from network); 23 May 2012 11:37:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:37:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12625304"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:37:54 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Wed, 23 May 2012
	12:37:54 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 23 May 2012 12:37:53 +0100
Thread-Topic: [Xen-devel] Possible error restoring machine
Thread-Index: Ac042H36EOGK9spJTXWfA7X4yL2M1Q==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431484@LONPMAILBOX01.citrite.net>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
	<1337768721.30233.26.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337768721.30233.26.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 11:25 +0100, Ian Campbell wrote:
> CCiong the Remus maintainer since all this non-blocking stuff is for
> remus/checkpointing.
> 
> On Wed, 2012-05-23 at 10:39 +0100, Frediano Ziglio wrote:
> > I noted a possible problem restoring a machine.
> > 
> > In xc_domain_restore (xc_domain_restore.c) if it's not the last
> > checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
> > pagebuf_get or just load other pages (see following "goto loadpages;"
> > line).
> > Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
> > (xc_tmem.c) which call read_extract (xc_private.c) on the same non
> > blocking socket/file
> 
> There's a bunch of such places in that function, the RDEXACT macro is
> also == rdexact except on Minios.
> 
> >  but read_extract does not handle EAGAIN/EWOULDBLOCK
> > (both can be returned on non blocking socket depending on file type and
> > Unix/Linux version) leading to a failure.
> > Does this make sense or is it impossible ??
> 
> Isn't this what the if line:
>         len = read(fd, buf + offset, size - offset);
>         if ( (len == -1) && ((errno == EINTR) || (errno == EAGAIN)) )
>             continue;
> 
> is doing?
> 
> > Also note that rdexact (xc_domain_restore.c) handle data timeout but we
> > can still block in read_exact called by
> > xc_tmem_restore/xc_tmem_restore_extra.
> 
> Oh, wait! read_exact != rdexact -- ouch! Those are confusingly similar!
> 
> I suspect we need to pull the xc_tmem_{save,restore} into the
> appropriate file and use the non-blocking capable versions or to export
> the non-blocking function, with an improved name, so it can be used from
> xc_tmem.c.
> 

I was working on a patch to try to reduce cpu usage and read calls using
buffering for io_fd.

Currently works but is not still that good to post.

> Shriram, any thoughts?
> 
> > 
> > Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
> > are network problems?
> > 

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 11:38:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 11:38:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SX9t7-0006GW-L7; Wed, 23 May 2012 11:37:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SX9t6-0006GR-6I
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 11:37:56 +0000
Received: from [85.158.143.99:52795] by server-3.bemta-4.messagelabs.com id
	F7/A3-05853-31CCCBF4; Wed, 23 May 2012 11:37:55 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337773074!28843640!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18033 invoked from network); 23 May 2012 11:37:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:37:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12625304"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:37:54 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Wed, 23 May 2012
	12:37:54 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 23 May 2012 12:37:53 +0100
Thread-Topic: [Xen-devel] Possible error restoring machine
Thread-Index: Ac042H36EOGK9spJTXWfA7X4yL2M1Q==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431484@LONPMAILBOX01.citrite.net>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
	<1337768721.30233.26.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337768721.30233.26.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 11:25 +0100, Ian Campbell wrote:
> CCiong the Remus maintainer since all this non-blocking stuff is for
> remus/checkpointing.
> 
> On Wed, 2012-05-23 at 10:39 +0100, Frediano Ziglio wrote:
> > I noted a possible problem restoring a machine.
> > 
> > In xc_domain_restore (xc_domain_restore.c) if it's not the last
> > checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
> > pagebuf_get or just load other pages (see following "goto loadpages;"
> > line).
> > Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
> > (xc_tmem.c) which call read_extract (xc_private.c) on the same non
> > blocking socket/file
> 
> There's a bunch of such places in that function, the RDEXACT macro is
> also == rdexact except on Minios.
> 
> >  but read_extract does not handle EAGAIN/EWOULDBLOCK
> > (both can be returned on non blocking socket depending on file type and
> > Unix/Linux version) leading to a failure.
> > Does this make sense or is it impossible ??
> 
> Isn't this what the if line:
>         len = read(fd, buf + offset, size - offset);
>         if ( (len == -1) && ((errno == EINTR) || (errno == EAGAIN)) )
>             continue;
> 
> is doing?
> 
> > Also note that rdexact (xc_domain_restore.c) handle data timeout but we
> > can still block in read_exact called by
> > xc_tmem_restore/xc_tmem_restore_extra.
> 
> Oh, wait! read_exact != rdexact -- ouch! Those are confusingly similar!
> 
> I suspect we need to pull the xc_tmem_{save,restore} into the
> appropriate file and use the non-blocking capable versions or to export
> the non-blocking function, with an improved name, so it can be used from
> xc_tmem.c.
> 

I was working on a patch to try to reduce cpu usage and read calls using
buffering for io_fd.

Currently works but is not still that good to post.

> Shriram, any thoughts?
> 
> > 
> > Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
> > are network problems?
> > 

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 12:18:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:18:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXAVy-0006nN-5w; Wed, 23 May 2012 12:18:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXAVw-0006nI-H0
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 12:18:04 +0000
Received: from [193.109.254.147:63338] by server-9.bemta-14.messagelabs.com id
	A1/74-05787-B75DCBF4; Wed, 23 May 2012 12:18:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337775482!10730393!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 676 invoked from network); 23 May 2012 12:18:03 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 12:18:03 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 13:18:02 +0100
Message-Id: <4FBCF1B902000078000857D7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 13:18:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCC5F3.1080804@citrix.com>
In-Reply-To: <4FBCC5F3.1080804@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 13:11, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 23/05/12 08:34, Jan Beulich wrote:
>> First of all I'm of the opinion that this indeed should not be
>> masked in the hypervisor - there's no reason to disallow the
>> guest to read these registers (but we should of course deny
>> writes as long as Xen is controlling P-states, which we do).
> 
> I am sorry but I am going to have to disagree with you on this point.
> 
> We should not be advertising this feature to any guest at all if we
> can't provide an implementation which works as native expects.  Else we
> are failing in our job of virtualisation.

That's perhaps a matter of the position you take - for HVM, I
would agree with yours, but there's many more aspects (not
the least related to accessing other MSRs) that we fail to
"properly" virtualize for PV guests - my position is that it is the
nature of PV that guest kernels have to be aware of being
virtualized (and hence stay away from doing certain things
unless [they think] they know what they're doing).

> There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
> prevents update of the affinity masks, and appears to conditionally
> allow access to certain MSRs.  I think it would be fine to expose this
> feature iff dom0s vcpus are pinned in this fashion.  That way, the
> measurement should succeed, even if dom0 only has read access to the MSRs.

Restricting it to this case would be too restrictive - it really
makes sense at any time where the vCPU's affinity has exactly
one bit set (or to be precise, the intersection of it and the set
of online pCPU-s).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 12:18:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:18:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXAVy-0006nN-5w; Wed, 23 May 2012 12:18:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXAVw-0006nI-H0
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 12:18:04 +0000
Received: from [193.109.254.147:63338] by server-9.bemta-14.messagelabs.com id
	A1/74-05787-B75DCBF4; Wed, 23 May 2012 12:18:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337775482!10730393!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 676 invoked from network); 23 May 2012 12:18:03 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 12:18:03 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 13:18:02 +0100
Message-Id: <4FBCF1B902000078000857D7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 13:18:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCC5F3.1080804@citrix.com>
In-Reply-To: <4FBCC5F3.1080804@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 13:11, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> On 23/05/12 08:34, Jan Beulich wrote:
>> First of all I'm of the opinion that this indeed should not be
>> masked in the hypervisor - there's no reason to disallow the
>> guest to read these registers (but we should of course deny
>> writes as long as Xen is controlling P-states, which we do).
> 
> I am sorry but I am going to have to disagree with you on this point.
> 
> We should not be advertising this feature to any guest at all if we
> can't provide an implementation which works as native expects.  Else we
> are failing in our job of virtualisation.

That's perhaps a matter of the position you take - for HVM, I
would agree with yours, but there's many more aspects (not
the least related to accessing other MSRs) that we fail to
"properly" virtualize for PV guests - my position is that it is the
nature of PV that guest kernels have to be aware of being
virtualized (and hence stay away from doing certain things
unless [they think] they know what they're doing).

> There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
> prevents update of the affinity masks, and appears to conditionally
> allow access to certain MSRs.  I think it would be fine to expose this
> feature iff dom0s vcpus are pinned in this fashion.  That way, the
> measurement should succeed, even if dom0 only has read access to the MSRs.

Restricting it to this case would be too restrictive - it really
makes sense at any time where the vCPU's affinity has exactly
one bit set (or to be precise, the intersection of it and the set
of online pCPU-s).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 12:37:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXAod-0006yt-UG; Wed, 23 May 2012 12:37:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXAoc-0006yo-Qa
	for xen-devel@lists.xen.org; Wed, 23 May 2012 12:37:23 +0000
Received: from [85.158.139.83:40115] by server-11.bemta-5.messagelabs.com id
	92/F7-23372-20ADCBF4; Wed, 23 May 2012 12:37:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337776641!25663475!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25421 invoked from network); 23 May 2012 12:37:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 12:37:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12627044"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 12:37:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 13:37:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXAoa-0006wQ-Kz; Wed, 23 May 2012 12:37:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXAoa-0008FU-K3;
	Wed, 23 May 2012 13:37:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.55808.555103.132979@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 13:37:20 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <1337771858.27368.72.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

RGFyaW8gRmFnZ2lvbGkgd3JpdGVzICgiUmU6IFtYZW4tZGV2ZWxdIFtQQVRDSF0gbGlieGw6IElu
dHJvZHVjZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEIHRvIG1ha2UgZ2NjIGhhcHB5Iik6Cj4g
T24gV2VkLCAyMDEyLTA1LTIzIGF0IDExOjUzICswMTAwLCBJYW4gSmFja3NvbiB3cm90ZToKPiA+
IEFuZCB0aGUgdXBzaWRlIG9mIG1ha2luZyBpdCBiZSBhbiBlbnVtIGlzIHByZWNpc2VseQo+ID4g
Cj4gPiA+IE9uIEZyaSwgMjAxMi0wNS0xOCBhdCAxNTo0OCArMDEwMCwgRGFyaW8gRmFnZ2lvbGkg
d3JvdGU6Cj4gPiA+ID4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFp
bl9idWlsZF9pbmZvX2Rpc3Bvc2XigJk6Cj4gPiA+ID4gX2xpYnhsX3R5cGVzLmM6OTE6NTogZXJy
b3I6IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90
IGhhbmRsZWQgaW4gc3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPiA+IAo+ID4gdGhlc2Ugd2Fybmlu
Z3MsIHdoaWNoIGFyZSBhbGVydGluZyB1cyB0byBjYWxsIHNpdGVzIHdpdGggYnJva2VuIGVycm9y
Cj4gPiBoYW5kbGluZy4KPiAKPiBJIGFncmVlLCBhbmQgSSBjYW4gc3VlIHRyeSBsb29raW5nIGF0
IHRob3NlIGNhbGwgc2l0ZXMgYW5kIHNlZSB3aGF0IGl0Cj4gdGFrZXMgdG8gYWRkIGEgcHJvcGVy
ICdjYXNlJyBvciAnZGVmYXVsdCcgY2xhdXNlIGluIHRoZXJlIGlmIHlvdSB0aGluawo+IHRoYXQg
dG8gYmUgdGhlIHdheSB0byBnby4uLgoKSSB0aGluayB0aGF0IHdvdWxkIGJlIGJlc3QsIGlmIHlv
dSdyZSB3aWxsaW5nLCB0aGFua3MuCgpJIHdvdWxkIHJlY29tbWVuZCB0aGUgdXNlIG9mICJjYXNl
IiByYXRoZXIgdGhhbiAiZGVmYXVsdCIgY2xhdXNlcyBpbgp0aGlzIGNhc2UuICBUaGF0IHdheSBp
ZiB3ZSBpbnRyb2R1Y2UgYSBuZXcgZG9tYWluIHR5cGUgdGhlIGNvbXBpbGVyCndpbGwgc3BvdCBh
bGwgdGhlIG1pc3NpbmcgcGxhY2VzIGZvciB1cy4KCklhbi4KCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl
dmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 12:37:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXAod-0006yt-UG; Wed, 23 May 2012 12:37:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXAoc-0006yo-Qa
	for xen-devel@lists.xen.org; Wed, 23 May 2012 12:37:23 +0000
Received: from [85.158.139.83:40115] by server-11.bemta-5.messagelabs.com id
	92/F7-23372-20ADCBF4; Wed, 23 May 2012 12:37:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337776641!25663475!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25421 invoked from network); 23 May 2012 12:37:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 12:37:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12627044"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 12:37:21 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 13:37:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXAoa-0006wQ-Kz; Wed, 23 May 2012 12:37:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXAoa-0008FU-K3;
	Wed, 23 May 2012 13:37:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.55808.555103.132979@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 13:37:20 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <1337771858.27368.72.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

RGFyaW8gRmFnZ2lvbGkgd3JpdGVzICgiUmU6IFtYZW4tZGV2ZWxdIFtQQVRDSF0gbGlieGw6IElu
dHJvZHVjZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEIHRvIG1ha2UgZ2NjIGhhcHB5Iik6Cj4g
T24gV2VkLCAyMDEyLTA1LTIzIGF0IDExOjUzICswMTAwLCBJYW4gSmFja3NvbiB3cm90ZToKPiA+
IEFuZCB0aGUgdXBzaWRlIG9mIG1ha2luZyBpdCBiZSBhbiBlbnVtIGlzIHByZWNpc2VseQo+ID4g
Cj4gPiA+IE9uIEZyaSwgMjAxMi0wNS0xOCBhdCAxNTo0OCArMDEwMCwgRGFyaW8gRmFnZ2lvbGkg
d3JvdGU6Cj4gPiA+ID4gX2xpYnhsX3R5cGVzLmM6IEluIGZ1bmN0aW9uIOKAmGxpYnhsX2RvbWFp
bl9idWlsZF9pbmZvX2Rpc3Bvc2XigJk6Cj4gPiA+ID4gX2xpYnhsX3R5cGVzLmM6OTE6NTogZXJy
b3I6IGVudW1lcmF0aW9uIHZhbHVlIOKAmExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUTigJkgbm90
IGhhbmRsZWQgaW4gc3dpdGNoIFstV2Vycm9yPXN3aXRjaF0KPiA+IAo+ID4gdGhlc2Ugd2Fybmlu
Z3MsIHdoaWNoIGFyZSBhbGVydGluZyB1cyB0byBjYWxsIHNpdGVzIHdpdGggYnJva2VuIGVycm9y
Cj4gPiBoYW5kbGluZy4KPiAKPiBJIGFncmVlLCBhbmQgSSBjYW4gc3VlIHRyeSBsb29raW5nIGF0
IHRob3NlIGNhbGwgc2l0ZXMgYW5kIHNlZSB3aGF0IGl0Cj4gdGFrZXMgdG8gYWRkIGEgcHJvcGVy
ICdjYXNlJyBvciAnZGVmYXVsdCcgY2xhdXNlIGluIHRoZXJlIGlmIHlvdSB0aGluawo+IHRoYXQg
dG8gYmUgdGhlIHdheSB0byBnby4uLgoKSSB0aGluayB0aGF0IHdvdWxkIGJlIGJlc3QsIGlmIHlv
dSdyZSB3aWxsaW5nLCB0aGFua3MuCgpJIHdvdWxkIHJlY29tbWVuZCB0aGUgdXNlIG9mICJjYXNl
IiByYXRoZXIgdGhhbiAiZGVmYXVsdCIgY2xhdXNlcyBpbgp0aGlzIGNhc2UuICBUaGF0IHdheSBp
ZiB3ZSBpbnRyb2R1Y2UgYSBuZXcgZG9tYWluIHR5cGUgdGhlIGNvbXBpbGVyCndpbGwgc3BvdCBh
bGwgdGhlIG1pc3NpbmcgcGxhY2VzIGZvciB1cy4KCklhbi4KCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl
dmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Wed May 23 12:49:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:49:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXB0E-00079S-76; Wed, 23 May 2012 12:49:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXB0C-00079N-A8
	for xen-devel@lists.xen.org; Wed, 23 May 2012 12:49:20 +0000
Received: from [85.158.139.83:52296] by server-5.bemta-5.messagelabs.com id
	B0/73-29701-FCCDCBF4; Wed, 23 May 2012 12:49:19 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337777358!16161189!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25383 invoked from network); 23 May 2012 12:49:18 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-8.tower-182.messagelabs.com with SMTP;
	23 May 2012 12:49:18 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78100777; Wed, 23 May 2012 14:49:17 +0200
Message-ID: <1337777350.27368.82.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 14:49:10 +0200
In-Reply-To: <20412.55808.555103.132979@mariner.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1085524624704369550=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1085524624704369550==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-5vMTP/8D7KfWpXeW8aRZ"


--=-5vMTP/8D7KfWpXeW8aRZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 13:37 +0100, Ian Jackson wrote:
> I think that would be best, if you're willing, thanks.
>=20
Doing it right now.

> I would recommend the use of "case" rather than "default" clauses in
> this case.  That way if we introduce a new domain type the compiler
> will spot all the missing places for us.
>=20
That's what I'm doing for any explicit usage of the enum. Problem arises
with auto-generated code, e.g., in gentypes.py for build_info related
functions. In this case, in fact, the libxl_domain_type enum is the key
of the keyed-union. For those cases, I was thinking at something like
the below:

    if isinstance(ty, idl.KeyedUnion):
        if parent is None:
            raise Exception("KeyedUnion type must have a parent")
        s +=3D "switch (%s) {\n" % (parent + ty.keyvar.name)
        for f in ty.fields:
            (nparent,fexpr) =3D ty.member(v, f, parent is None)
            s +=3D "case %s:\n" % f.enumname
            s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", npa=
rent)
            s +=3D "    break;\n"
+       s +=3D "default:\n    break;\n";
        s +=3D "}\n"

Would it make sense?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-5vMTP/8D7KfWpXeW8aRZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+83MYACgkQk4XaBE3IOsTXwQCfddXbJUtpByXf58Cjkh+8Znma
IJEAn0UdpKftRkWKUFNc+pyZDFY1faUa
=kTNB
-----END PGP SIGNATURE-----

--=-5vMTP/8D7KfWpXeW8aRZ--



--===============1085524624704369550==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1085524624704369550==--



From xen-devel-bounces@lists.xen.org Wed May 23 12:49:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:49:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXB0E-00079S-76; Wed, 23 May 2012 12:49:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXB0C-00079N-A8
	for xen-devel@lists.xen.org; Wed, 23 May 2012 12:49:20 +0000
Received: from [85.158.139.83:52296] by server-5.bemta-5.messagelabs.com id
	B0/73-29701-FCCDCBF4; Wed, 23 May 2012 12:49:19 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337777358!16161189!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25383 invoked from network); 23 May 2012 12:49:18 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-8.tower-182.messagelabs.com with SMTP;
	23 May 2012 12:49:18 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78100777; Wed, 23 May 2012 14:49:17 +0200
Message-ID: <1337777350.27368.82.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 14:49:10 +0200
In-Reply-To: <20412.55808.555103.132979@mariner.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1085524624704369550=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1085524624704369550==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-5vMTP/8D7KfWpXeW8aRZ"


--=-5vMTP/8D7KfWpXeW8aRZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 13:37 +0100, Ian Jackson wrote:
> I think that would be best, if you're willing, thanks.
>=20
Doing it right now.

> I would recommend the use of "case" rather than "default" clauses in
> this case.  That way if we introduce a new domain type the compiler
> will spot all the missing places for us.
>=20
That's what I'm doing for any explicit usage of the enum. Problem arises
with auto-generated code, e.g., in gentypes.py for build_info related
functions. In this case, in fact, the libxl_domain_type enum is the key
of the keyed-union. For those cases, I was thinking at something like
the below:

    if isinstance(ty, idl.KeyedUnion):
        if parent is None:
            raise Exception("KeyedUnion type must have a parent")
        s +=3D "switch (%s) {\n" % (parent + ty.keyvar.name)
        for f in ty.fields:
            (nparent,fexpr) =3D ty.member(v, f, parent is None)
            s +=3D "case %s:\n" % f.enumname
            s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", npa=
rent)
            s +=3D "    break;\n"
+       s +=3D "default:\n    break;\n";
        s +=3D "}\n"

Would it make sense?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-5vMTP/8D7KfWpXeW8aRZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+83MYACgkQk4XaBE3IOsTXwQCfddXbJUtpByXf58Cjkh+8Znma
IJEAn0UdpKftRkWKUFNc+pyZDFY1faUa
=kTNB
-----END PGP SIGNATURE-----

--=-5vMTP/8D7KfWpXeW8aRZ--



--===============1085524624704369550==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1085524624704369550==--



From xen-devel-bounces@lists.xen.org Wed May 23 12:51:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXB1o-0007D9-Mb; Wed, 23 May 2012 12:51:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <devildavidwang@gmail.com>) id 1SXB1m-0007D2-E0
	for xen-devel@lists.xen.org; Wed, 23 May 2012 12:50:58 +0000
Received: from [85.158.143.99:58246] by server-3.bemta-4.messagelabs.com id
	85/AB-05853-13DDCBF4; Wed, 23 May 2012 12:50:57 +0000
X-Env-Sender: devildavidwang@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337777455!21877057!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14348 invoked from network); 23 May 2012 12:50:56 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 12:50:56 -0000
Received: by wibhr14 with SMTP id hr14so3866876wib.14
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 05:50:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=lRR8EpGeBDC6IGhTYeNDv8kGc9KTH2bP2d0dONi7IP0=;
	b=zgyZHNxl6WwZr+xgeGvkSxfRoO60IT/MhDzfI41+5T4IhoV7qNgzw9XHWW2n3Nfnxa
	l0PzTNPJpAAacIybXoWVGFWOuhj4BnmeiAddI2cA5S7gnf+UXXVhEII//hSRLCk3/DM6
	tcZOvC3viK5rWnNbLkq7tI+UbprrNWF/746XTEBOWbh4DKDlq99z1CRVCkx2iCZ+yfu9
	HkWodb/RE8zGLIjSTyFat6Tbw02vUf7vunaTEfxrigngh4qwnemQr56HytZcVh9SENX2
	fykEJiV0FAQbE1+4BXKtvF1/B60IFSPShWoglUwh34KS8+xobjvtBYVUtFcSY8g1ql9d
	1trA==
MIME-Version: 1.0
Received: by 10.180.100.233 with SMTP id fb9mr34778605wib.12.1337777455410;
	Wed, 23 May 2012 05:50:55 -0700 (PDT)
Received: by 10.194.37.106 with HTTP; Wed, 23 May 2012 05:50:55 -0700 (PDT)
Date: Wed, 23 May 2012 20:50:55 +0800
Message-ID: <CAKMyoBX4eYF2Ong1EvHoDzYEa3-ZGfc8MW07yifr3O4OMiHJrg@mail.gmail.com>
From: =?UTF-8?B?546L5Yev5by6?= <devildavidwang@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] A little confusion between "tapdisk" and "tapdisk-ioemu"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1975320784297590973=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1975320784297590973==
Content-Type: multipart/alternative; boundary=f46d043bdcf204adea04c0b39677

--f46d043bdcf204adea04c0b39677
Content-Type: text/plain; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi everyone,

as what I've learned form this link<http://wiki.xensource.com/xenwiki/blkta=
p>,
i know that when i specify tap:aio I=A1=AFm actually using the blktap drive=
r and
finally using "tapdisk" to wirite to raw image file.

but the truth is even when i delete /usr/sbin/tapdisk the domU can still
boot  on my machine with tap:aio protocol

after a deeper look into the scene, i find that when i specify tap:aio the
executable functioning is actually /usr/sbin/tapdisk-ioemu

i don't find enough information about the tapdisk-ioemu, am i mistaken for
something or dose the passage above give me the out of date information?

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
I then look at the "tools/blktap/drivers/blktapctrl.c" file, I find that
the code piece:


    if (!strncmp(path, "tapdisk:", strlen("tapdisk:"))) {
        *use_ioemu =3D 0;
        path +=3D strlen("tapdisk:");
    } else if (!strncmp(path, "ioemu:", strlen("ioemu:"))) {
        *use_ioemu =3D 1;
        path +=3D strlen("ioemu:");
    } else {
        // Use the default for the image type
        *use_ioemu =3D -1;
    }



so when i specify tap:aio the value of use_ioemu is -1 right?
and the the use_ioemu var is used at:



            if (use_ioemu) {
                if (connect_qemu(blkif, blkif->domid))
                    goto fail;
            } else {
                if (connect_tapdisk(blkif, minor))
                    goto fail;
            }


so when i use tap:aio, i finally connect_qemu witch result in the use of
tapdisk-ioemu

since I wish to use the /usr/sbin/tapdisk (because i add my own code here
), i changed my disk protocol to tap:tapdisk:aio, but the domU hang while
booting with following message:

[    0.185031] PCI: Fatal: No config space access function found
[    0.189998] Unable to read sysrq code in control/sysrq
[    0.350220] i8042: No controller found
[    0.452153] /home/abuild/rpmbuild/BUILD/
kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c: unable to open rtc device
(rtc0)

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
so my question is :
1, what on earth is the tapdisk-ioemu? will it replace the tapdisk?(i've
seen someone metioned 'code duplication in ioemu and blktap' when i Google
the word "tapdisk-ioemu")

2,How to make my tapdisk to work,

thanks ahead..



--
=C9=EE=D4=A8=D6=AE=C3=D5=A3=AC=CE=AA=C5=AE=C9=F1=D6=AE=D2=C5=CE=EF=A3=AC=CE=
=E1=B5=C8=CE=AA=C7=F3=B4=CB=CE=EF=A3=AC=D5=F1=B3=E1=B7=C9=CF=E8=A1=A3

--f46d043bdcf204adea04c0b39677
Content-Type: text/html; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi everyone,<br><br>as what I&#39;ve learned form this <a href=3D"http://wi=
ki.xensource.com/xenwiki/blktap" target=3D"_blank">link</a>, i know that wh=
en i specify tap:aio I&rsquo;m actually using the blktap driver and finally=
 using &quot;tapdisk&quot; to wirite to raw image file.<br>

<br>but the truth is even when i delete /usr/sbin/tapdisk the domU can stil=
l boot&nbsp; on my machine with tap:aio protocol<br><br>after a deeper look=
 into the scene, i find that when i specify tap:aio the executable function=
ing is actually /usr/sbin/tapdisk-ioemu <br>

<br>i don&#39;t find enough information about the tapdisk-ioemu, am i mista=
ken for something or dose the passage above give me the out of date informa=
tion?<br><br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D<br>I then look at the &quot;tools/blktap/drivers/blkt=
apctrl.c&quot; file, I find that the code piece:<br>

<br><br>&nbsp;&nbsp;&nbsp; if (!strncmp(path, &quot;tapdisk:&quot;, strlen(=
&quot;tapdisk:&quot;))) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *use_ioe=
mu =3D 0;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; path +=3D strlen(&quot;t=
apdisk:&quot;);<br>&nbsp;&nbsp;&nbsp; } else if (!strncmp(path, &quot;ioemu=
:&quot;, strlen(&quot;ioemu:&quot;))) {<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *use_ioemu =3D 1;<br>&nbsp;&nbsp;&nbs=
p; &nbsp;&nbsp;&nbsp; path +=3D strlen(&quot;ioemu:&quot;);<br>&nbsp;&nbsp;=
&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Use the default=
 for the image type<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *use_ioemu =3D=
 -1;<br>&nbsp;&nbsp;&nbsp; }<br><br><br><br>so when i specify tap:aio the v=
alue of use_ioemu is -1 right?<br>

and the the use_ioemu var is used at:<br><br><br><br>&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (use_ioemu) {<br>&nbsp;&nbsp;&nbsp; &=
nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (connect_qemu(bl=
kif, blkif-&gt;domid))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp=
;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; goto fail;<br>&nbsp;&nbsp;&nb=
sp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &n=
bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (connect_tapdisk(=
blkif, minor))<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;=
 &nbsp;&nbsp;&nbsp; goto fail;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp; }<br><br><br>so when i use tap:aio, i finally connect_qemu =
witch result in the use of tapdisk-ioemu<br><br>since I wish to use the /us=
r/sbin/tapdisk (because i add my own code here ), i changed my disk protoco=
l to tap:tapdisk:aio, but the domU hang while booting with following messag=
e:<br>

<br>[&nbsp;&nbsp;&nbsp; 0.185031] PCI: Fatal: No config space access functi=
on found<br>
[&nbsp;&nbsp;&nbsp; 0.189998] Unable to read sysrq code in control/sysrq<br=
>[&nbsp;&nbsp;&nbsp; 0.350220] i8042: No controller found<br>[&nbsp;&nbsp;&=
nbsp; 0.452153] /home/abuild/rpmbuild/BUILD/<div id=3D":er">kernel-xen-3.1.=
0/linux-3.1/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)<br>
<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>so my qu=
estion is :<br>1, what on earth is the tapdisk-ioemu? will it replace the t=
apdisk?(i&#39;ve seen someone metioned &#39;code duplication in ioemu and b=
lktap&#39; when i Google the word &quot;tapdisk-ioemu&quot;)<br>
<br>2,How to make my tapdisk to work,<br><br>thanks ahead..<br></div><br><b=
r><br>--<br>=C9=EE=D4=A8=D6=AE=C3=D5=A3=AC=CE=AA=C5=AE=C9=F1=D6=AE=D2=C5=CE=
=EF=A3=AC=CE=E1=B5=C8=CE=AA=C7=F3=B4=CB=CE=EF=A3=AC=D5=F1=B3=E1=B7=C9=CF=E8=
=A1=A3

--f46d043bdcf204adea04c0b39677--


--===============1975320784297590973==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1975320784297590973==--


From xen-devel-bounces@lists.xen.org Wed May 23 12:51:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 12:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXB1o-0007D9-Mb; Wed, 23 May 2012 12:51:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <devildavidwang@gmail.com>) id 1SXB1m-0007D2-E0
	for xen-devel@lists.xen.org; Wed, 23 May 2012 12:50:58 +0000
Received: from [85.158.143.99:58246] by server-3.bemta-4.messagelabs.com id
	85/AB-05853-13DDCBF4; Wed, 23 May 2012 12:50:57 +0000
X-Env-Sender: devildavidwang@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337777455!21877057!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14348 invoked from network); 23 May 2012 12:50:56 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 12:50:56 -0000
Received: by wibhr14 with SMTP id hr14so3866876wib.14
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 05:50:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=lRR8EpGeBDC6IGhTYeNDv8kGc9KTH2bP2d0dONi7IP0=;
	b=zgyZHNxl6WwZr+xgeGvkSxfRoO60IT/MhDzfI41+5T4IhoV7qNgzw9XHWW2n3Nfnxa
	l0PzTNPJpAAacIybXoWVGFWOuhj4BnmeiAddI2cA5S7gnf+UXXVhEII//hSRLCk3/DM6
	tcZOvC3viK5rWnNbLkq7tI+UbprrNWF/746XTEBOWbh4DKDlq99z1CRVCkx2iCZ+yfu9
	HkWodb/RE8zGLIjSTyFat6Tbw02vUf7vunaTEfxrigngh4qwnemQr56HytZcVh9SENX2
	fykEJiV0FAQbE1+4BXKtvF1/B60IFSPShWoglUwh34KS8+xobjvtBYVUtFcSY8g1ql9d
	1trA==
MIME-Version: 1.0
Received: by 10.180.100.233 with SMTP id fb9mr34778605wib.12.1337777455410;
	Wed, 23 May 2012 05:50:55 -0700 (PDT)
Received: by 10.194.37.106 with HTTP; Wed, 23 May 2012 05:50:55 -0700 (PDT)
Date: Wed, 23 May 2012 20:50:55 +0800
Message-ID: <CAKMyoBX4eYF2Ong1EvHoDzYEa3-ZGfc8MW07yifr3O4OMiHJrg@mail.gmail.com>
From: =?UTF-8?B?546L5Yev5by6?= <devildavidwang@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] A little confusion between "tapdisk" and "tapdisk-ioemu"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1975320784297590973=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1975320784297590973==
Content-Type: multipart/alternative; boundary=f46d043bdcf204adea04c0b39677

--f46d043bdcf204adea04c0b39677
Content-Type: text/plain; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi everyone,

as what I've learned form this link<http://wiki.xensource.com/xenwiki/blkta=
p>,
i know that when i specify tap:aio I=A1=AFm actually using the blktap drive=
r and
finally using "tapdisk" to wirite to raw image file.

but the truth is even when i delete /usr/sbin/tapdisk the domU can still
boot  on my machine with tap:aio protocol

after a deeper look into the scene, i find that when i specify tap:aio the
executable functioning is actually /usr/sbin/tapdisk-ioemu

i don't find enough information about the tapdisk-ioemu, am i mistaken for
something or dose the passage above give me the out of date information?

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
I then look at the "tools/blktap/drivers/blktapctrl.c" file, I find that
the code piece:


    if (!strncmp(path, "tapdisk:", strlen("tapdisk:"))) {
        *use_ioemu =3D 0;
        path +=3D strlen("tapdisk:");
    } else if (!strncmp(path, "ioemu:", strlen("ioemu:"))) {
        *use_ioemu =3D 1;
        path +=3D strlen("ioemu:");
    } else {
        // Use the default for the image type
        *use_ioemu =3D -1;
    }



so when i specify tap:aio the value of use_ioemu is -1 right?
and the the use_ioemu var is used at:



            if (use_ioemu) {
                if (connect_qemu(blkif, blkif->domid))
                    goto fail;
            } else {
                if (connect_tapdisk(blkif, minor))
                    goto fail;
            }


so when i use tap:aio, i finally connect_qemu witch result in the use of
tapdisk-ioemu

since I wish to use the /usr/sbin/tapdisk (because i add my own code here
), i changed my disk protocol to tap:tapdisk:aio, but the domU hang while
booting with following message:

[    0.185031] PCI: Fatal: No config space access function found
[    0.189998] Unable to read sysrq code in control/sysrq
[    0.350220] i8042: No controller found
[    0.452153] /home/abuild/rpmbuild/BUILD/
kernel-xen-3.1.0/linux-3.1/drivers/rtc/hctosys.c: unable to open rtc device
(rtc0)

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
so my question is :
1, what on earth is the tapdisk-ioemu? will it replace the tapdisk?(i've
seen someone metioned 'code duplication in ioemu and blktap' when i Google
the word "tapdisk-ioemu")

2,How to make my tapdisk to work,

thanks ahead..



--
=C9=EE=D4=A8=D6=AE=C3=D5=A3=AC=CE=AA=C5=AE=C9=F1=D6=AE=D2=C5=CE=EF=A3=AC=CE=
=E1=B5=C8=CE=AA=C7=F3=B4=CB=CE=EF=A3=AC=D5=F1=B3=E1=B7=C9=CF=E8=A1=A3

--f46d043bdcf204adea04c0b39677
Content-Type: text/html; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi everyone,<br><br>as what I&#39;ve learned form this <a href=3D"http://wi=
ki.xensource.com/xenwiki/blktap" target=3D"_blank">link</a>, i know that wh=
en i specify tap:aio I&rsquo;m actually using the blktap driver and finally=
 using &quot;tapdisk&quot; to wirite to raw image file.<br>

<br>but the truth is even when i delete /usr/sbin/tapdisk the domU can stil=
l boot&nbsp; on my machine with tap:aio protocol<br><br>after a deeper look=
 into the scene, i find that when i specify tap:aio the executable function=
ing is actually /usr/sbin/tapdisk-ioemu <br>

<br>i don&#39;t find enough information about the tapdisk-ioemu, am i mista=
ken for something or dose the passage above give me the out of date informa=
tion?<br><br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D<br>I then look at the &quot;tools/blktap/drivers/blkt=
apctrl.c&quot; file, I find that the code piece:<br>

<br><br>&nbsp;&nbsp;&nbsp; if (!strncmp(path, &quot;tapdisk:&quot;, strlen(=
&quot;tapdisk:&quot;))) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *use_ioe=
mu =3D 0;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; path +=3D strlen(&quot;t=
apdisk:&quot;);<br>&nbsp;&nbsp;&nbsp; } else if (!strncmp(path, &quot;ioemu=
:&quot;, strlen(&quot;ioemu:&quot;))) {<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *use_ioemu =3D 1;<br>&nbsp;&nbsp;&nbs=
p; &nbsp;&nbsp;&nbsp; path +=3D strlen(&quot;ioemu:&quot;);<br>&nbsp;&nbsp;=
&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Use the default=
 for the image type<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *use_ioemu =3D=
 -1;<br>&nbsp;&nbsp;&nbsp; }<br><br><br><br>so when i specify tap:aio the v=
alue of use_ioemu is -1 right?<br>

and the the use_ioemu var is used at:<br><br><br><br>&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (use_ioemu) {<br>&nbsp;&nbsp;&nbsp; &=
nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (connect_qemu(bl=
kif, blkif-&gt;domid))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp=
;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; goto fail;<br>&nbsp;&nbsp;&nb=
sp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &n=
bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (connect_tapdisk(=
blkif, minor))<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;=
 &nbsp;&nbsp;&nbsp; goto fail;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp; }<br><br><br>so when i use tap:aio, i finally connect_qemu =
witch result in the use of tapdisk-ioemu<br><br>since I wish to use the /us=
r/sbin/tapdisk (because i add my own code here ), i changed my disk protoco=
l to tap:tapdisk:aio, but the domU hang while booting with following messag=
e:<br>

<br>[&nbsp;&nbsp;&nbsp; 0.185031] PCI: Fatal: No config space access functi=
on found<br>
[&nbsp;&nbsp;&nbsp; 0.189998] Unable to read sysrq code in control/sysrq<br=
>[&nbsp;&nbsp;&nbsp; 0.350220] i8042: No controller found<br>[&nbsp;&nbsp;&=
nbsp; 0.452153] /home/abuild/rpmbuild/BUILD/<div id=3D":er">kernel-xen-3.1.=
0/linux-3.1/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)<br>
<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>so my qu=
estion is :<br>1, what on earth is the tapdisk-ioemu? will it replace the t=
apdisk?(i&#39;ve seen someone metioned &#39;code duplication in ioemu and b=
lktap&#39; when i Google the word &quot;tapdisk-ioemu&quot;)<br>
<br>2,How to make my tapdisk to work,<br><br>thanks ahead..<br></div><br><b=
r><br>--<br>=C9=EE=D4=A8=D6=AE=C3=D5=A3=AC=CE=AA=C5=AE=C9=F1=D6=AE=D2=C5=CE=
=EF=A3=AC=CE=E1=B5=C8=CE=AA=C7=F3=B4=CB=CE=EF=A3=AC=D5=F1=B3=E1=B7=C9=CF=E8=
=A1=A3

--f46d043bdcf204adea04c0b39677--


--===============1975320784297590973==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1975320784297590973==--


From xen-devel-bounces@lists.xen.org Wed May 23 13:05:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:05:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBFk-0007lj-U7; Wed, 23 May 2012 13:05:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SXBFk-0007lc-11
	for xen-devel@lists.xen.org; Wed, 23 May 2012 13:05:24 +0000
Received: from [85.158.139.83:14160] by server-12.bemta-5.messagelabs.com id
	5D/BA-09223-390ECBF4; Wed, 23 May 2012 13:05:23 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337778318!28418209!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19105 invoked from network); 23 May 2012 13:05:20 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 13:05:20 -0000
Received: by pbbro12 with SMTP id ro12so10334207pbb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 06:05:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=bDlEvdIG4WrYyjmPUL6Wd9CVhXE/CwDayWLjt9Q6R3Q=;
	b=Ua8DvWFeqHBBCKPkxZ53SFjwQN42jzh4UsNPEz6GUILbhmSTiGv5FZKGj2tbE12iTa
	RNmVDUgPGcSrlz500HjOMPIPw0TP43TL0R0BfDAFwkAJeMp0YycYjFGClVMUKbsUG6Mv
	2Rj0rm/7jROc7RzP8VoU00zw9Qcvleu3Faj7gfySRgEFqbfVk4fB6XYDuFSf89/GpBWE
	vG9MYCEKtC5MYeSFwTlvHteIDkEI90JNfOWQO49hhw2W7GEQ4IQgVI33ikSTjX9eqlbv
	6wAimVK2FubR6bd/0vP2qgDv8hLytgqil1mFwsD0ye+ANtbB345LO7tsyiQsoOLQywSU
	EDGg==
MIME-Version: 1.0
Received: by 10.68.212.199 with SMTP id nm7mr10664881pbc.1.1337778263722; Wed,
	23 May 2012 06:04:23 -0700 (PDT)
Received: by 10.68.42.41 with HTTP; Wed, 23 May 2012 06:04:23 -0700 (PDT)
In-Reply-To: <1337765821.30233.7.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
	<CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
	<1337765821.30233.7.camel@zakaz.uk.xensource.com>
Date: Wed, 23 May 2012 21:04:23 +0800
Message-ID: <CAEwRVpPu=8h-M30RO0J1OYg0e6ZR9QA_NTOogoh0M6dg_Yj-Zg@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 5:37 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Wed, 2012-05-23 at 03:22 +0100, Teck Choon Giam wrote:
>
>> >
>> > I think the reason this effects xm and not xl is that libxl uses
>> > script=3Dnone to disable qemu-ifup while xend does not and instead end=
s up
>> > using qemu-ifup which does some fiddling with the device too, including
>> > bringing it up.
>>
>> Ok, so default for xend is using script=3Dqemu-ifup if script is not
>> set? =A0Am I right about this?
>
> Yes.

Thanks for clarifying.

>
>> > The proper fix is probably to change xend, I'm a bit wary of this,
>> > especially for a 4.1 backport, but the following looks right and works
>> > for me. It's a bit more complex since in libxl we seem to only do this
>> > for Linux (i.e. not NetBSD) and I guess we should do the same in xend
>> > too.
>>
>> Err... if we are going to change default behaviour will we be
>> affecting those users who is upgrading from xen-4.1 to xen-4.2?
>
> This was already a deliberate change made in xl, it does not effect the
> guest config, only the mechanisms by which that configuration is
> achieved. I think extending this to xend in order not to break xend in
> 4.2 is worthwhile.

Noted.

>
> I don't think we should be backporting any of this to 4.1 though.

You mean your tap to -emu patch series including the latest fix patch
you posted shouldn't be backporting to 4.1?  If this is so, I am fine
since there isn't much difference for me as personally I kept few
custom patches in own xen packages.  Of course whatever get into
upstream is better though :p

>
>> If your fix patch is going into xen-unstable for sure, I will re-run
>> my tests by then. =A0I hope it doesn't affect current domUs
>> configuration (I mean we shouldn't need to change domU configuration)
>> especially when users prefer to use xm then xl in xen-4.2.
>
> There should be no guest config change necessary.

Noted.

>
> Ian.

Thanks for taking time to provide fix and responses.

Kindest regards,
Giam Teck Choon



>
>>
>> Thanks.
>>
>> Kindest regards,
>> Giam Teck Choon
>>
>>
>> >
>> > Ian
>> >
>> > # HG changeset patch
>> > # User Ian Campbell <ian.campbell@citrix.com>
>> > # Date 1337692747 -3600
>> > # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
>> > # Parent =A072ca5bc4eb6b91fa8dff51d439bd05f5586179df
>> > xend: do not run a hotplug script from qemu on Linux
>> >
>> > The current vif-hotplug-common.sh for renaming the tap device is faili=
ng
>> > because it is racing with this script and therefore the device is unex=
pectedly
>> > up when we come to rename it.
>> >
>> > Fix this in the same way as libxl does, by disabling the script (only =
on
>> > Linux).
>> >
>> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>> >
>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
>> > --- a/tools/python/xen/xend/image.py =A0 =A0Tue May 22 11:29:50 2012 +=
0100
>> > +++ b/tools/python/xen/xend/image.py =A0 =A0Tue May 22 14:19:07 2012 +=
0100
>> > @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>> > =A0 =A0 =A0 =A0 =A0 =A0 vifname =3D "vif%d.%d-emu" % (self.vm.getDomid=
(), nics-1)
>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> > - =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>> > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge))
>> > + =A0 =A0 =A0 =A0 =A0 =A0if osdep.tapif_script is not None:
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D",script=3D%s,downscript=3D%=
s" % \
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(osdep.tapif_script, =
osdep.tapif_script)
>> > + =A0 =A0 =A0 =A0 =A0 =A0else:
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D""
>> > + =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s%s" %
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge, =
script))
>> >
>> > =A0 =A0 =A0 =A0 if nics =3D=3D 0:
>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
>> > --- a/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 11:29:50 2012 +=
0100
>> > +++ b/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 14:19:07 2012 +=
0100
>> > @@ -30,6 +30,10 @@ _vif_script =3D {
>> > =A0 =A0 "SunOS": "vif-vnic"
>> > =A0}
>> >
>> > +_tapif_script =3D {
>> > + =A0 =A0"Linux": "no",
>> > +}
>> > +
>> > =A0PROC_XEN_BALLOON =3D '/proc/xen/balloon'
>> > =A0SYSFS_XEN_MEMORY =3D '/sys/devices/system/xen_memory/xen_memory0'
>> >
>> > @@ -257,6 +261,7 @@ def _get(var, default=3DNone):
>> >
>> > =A0xend_autorestart =3D _get(_xend_autorestart)
>> > =A0vif_script =3D _get(_vif_script, "vif-bridge")
>> > +tapif_script =3D _get(_tapif_script)
>> > =A0lookup_balloon_stat =3D _get(_balloon_stat, _linux_balloon_stat)
>> > =A0get_cpuinfo =3D _get(_get_cpuinfo, _linux_get_cpuinfo)
>> > =A0prefork =3D _get(_get_prefork, _default_prefork)
>> >
>> >
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:05:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:05:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBFk-0007lj-U7; Wed, 23 May 2012 13:05:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SXBFk-0007lc-11
	for xen-devel@lists.xen.org; Wed, 23 May 2012 13:05:24 +0000
Received: from [85.158.139.83:14160] by server-12.bemta-5.messagelabs.com id
	5D/BA-09223-390ECBF4; Wed, 23 May 2012 13:05:23 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337778318!28418209!1
X-Originating-IP: [209.85.160.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19105 invoked from network); 23 May 2012 13:05:20 -0000
Received: from mail-pb0-f45.google.com (HELO mail-pb0-f45.google.com)
	(209.85.160.45)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 13:05:20 -0000
Received: by pbbro12 with SMTP id ro12so10334207pbb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 06:05:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=bDlEvdIG4WrYyjmPUL6Wd9CVhXE/CwDayWLjt9Q6R3Q=;
	b=Ua8DvWFeqHBBCKPkxZ53SFjwQN42jzh4UsNPEz6GUILbhmSTiGv5FZKGj2tbE12iTa
	RNmVDUgPGcSrlz500HjOMPIPw0TP43TL0R0BfDAFwkAJeMp0YycYjFGClVMUKbsUG6Mv
	2Rj0rm/7jROc7RzP8VoU00zw9Qcvleu3Faj7gfySRgEFqbfVk4fB6XYDuFSf89/GpBWE
	vG9MYCEKtC5MYeSFwTlvHteIDkEI90JNfOWQO49hhw2W7GEQ4IQgVI33ikSTjX9eqlbv
	6wAimVK2FubR6bd/0vP2qgDv8hLytgqil1mFwsD0ye+ANtbB345LO7tsyiQsoOLQywSU
	EDGg==
MIME-Version: 1.0
Received: by 10.68.212.199 with SMTP id nm7mr10664881pbc.1.1337778263722; Wed,
	23 May 2012 06:04:23 -0700 (PDT)
Received: by 10.68.42.41 with HTTP; Wed, 23 May 2012 06:04:23 -0700 (PDT)
In-Reply-To: <1337765821.30233.7.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
	<CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
	<1337765821.30233.7.camel@zakaz.uk.xensource.com>
Date: Wed, 23 May 2012 21:04:23 +0800
Message-ID: <CAEwRVpPu=8h-M30RO0J1OYg0e6ZR9QA_NTOogoh0M6dg_Yj-Zg@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 5:37 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Wed, 2012-05-23 at 03:22 +0100, Teck Choon Giam wrote:
>
>> >
>> > I think the reason this effects xm and not xl is that libxl uses
>> > script=3Dnone to disable qemu-ifup while xend does not and instead end=
s up
>> > using qemu-ifup which does some fiddling with the device too, including
>> > bringing it up.
>>
>> Ok, so default for xend is using script=3Dqemu-ifup if script is not
>> set? =A0Am I right about this?
>
> Yes.

Thanks for clarifying.

>
>> > The proper fix is probably to change xend, I'm a bit wary of this,
>> > especially for a 4.1 backport, but the following looks right and works
>> > for me. It's a bit more complex since in libxl we seem to only do this
>> > for Linux (i.e. not NetBSD) and I guess we should do the same in xend
>> > too.
>>
>> Err... if we are going to change default behaviour will we be
>> affecting those users who is upgrading from xen-4.1 to xen-4.2?
>
> This was already a deliberate change made in xl, it does not effect the
> guest config, only the mechanisms by which that configuration is
> achieved. I think extending this to xend in order not to break xend in
> 4.2 is worthwhile.

Noted.

>
> I don't think we should be backporting any of this to 4.1 though.

You mean your tap to -emu patch series including the latest fix patch
you posted shouldn't be backporting to 4.1?  If this is so, I am fine
since there isn't much difference for me as personally I kept few
custom patches in own xen packages.  Of course whatever get into
upstream is better though :p

>
>> If your fix patch is going into xen-unstable for sure, I will re-run
>> my tests by then. =A0I hope it doesn't affect current domUs
>> configuration (I mean we shouldn't need to change domU configuration)
>> especially when users prefer to use xm then xl in xen-4.2.
>
> There should be no guest config change necessary.

Noted.

>
> Ian.

Thanks for taking time to provide fix and responses.

Kindest regards,
Giam Teck Choon



>
>>
>> Thanks.
>>
>> Kindest regards,
>> Giam Teck Choon
>>
>>
>> >
>> > Ian
>> >
>> > # HG changeset patch
>> > # User Ian Campbell <ian.campbell@citrix.com>
>> > # Date 1337692747 -3600
>> > # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
>> > # Parent =A072ca5bc4eb6b91fa8dff51d439bd05f5586179df
>> > xend: do not run a hotplug script from qemu on Linux
>> >
>> > The current vif-hotplug-common.sh for renaming the tap device is faili=
ng
>> > because it is racing with this script and therefore the device is unex=
pectedly
>> > up when we come to rename it.
>> >
>> > Fix this in the same way as libxl does, by disabling the script (only =
on
>> > Linux).
>> >
>> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>> >
>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
>> > --- a/tools/python/xen/xend/image.py =A0 =A0Tue May 22 11:29:50 2012 +=
0100
>> > +++ b/tools/python/xen/xend/image.py =A0 =A0Tue May 22 14:19:07 2012 +=
0100
>> > @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>> > =A0 =A0 =A0 =A0 =A0 =A0 vifname =3D "vif%d.%d-emu" % (self.vm.getDomid=
(), nics-1)
>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> > - =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>> > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge))
>> > + =A0 =A0 =A0 =A0 =A0 =A0if osdep.tapif_script is not None:
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D",script=3D%s,downscript=3D%=
s" % \
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(osdep.tapif_script, =
osdep.tapif_script)
>> > + =A0 =A0 =A0 =A0 =A0 =A0else:
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D""
>> > + =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s%s" %
>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge, =
script))
>> >
>> > =A0 =A0 =A0 =A0 if nics =3D=3D 0:
>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
>> > --- a/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 11:29:50 2012 +=
0100
>> > +++ b/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 14:19:07 2012 +=
0100
>> > @@ -30,6 +30,10 @@ _vif_script =3D {
>> > =A0 =A0 "SunOS": "vif-vnic"
>> > =A0}
>> >
>> > +_tapif_script =3D {
>> > + =A0 =A0"Linux": "no",
>> > +}
>> > +
>> > =A0PROC_XEN_BALLOON =3D '/proc/xen/balloon'
>> > =A0SYSFS_XEN_MEMORY =3D '/sys/devices/system/xen_memory/xen_memory0'
>> >
>> > @@ -257,6 +261,7 @@ def _get(var, default=3DNone):
>> >
>> > =A0xend_autorestart =3D _get(_xend_autorestart)
>> > =A0vif_script =3D _get(_vif_script, "vif-bridge")
>> > +tapif_script =3D _get(_tapif_script)
>> > =A0lookup_balloon_stat =3D _get(_balloon_stat, _linux_balloon_stat)
>> > =A0get_cpuinfo =3D _get(_get_cpuinfo, _linux_get_cpuinfo)
>> > =A0prefork =3D _get(_get_prefork, _default_prefork)
>> >
>> >
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:13:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBMq-0007zW-01; Wed, 23 May 2012 13:12:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXBMo-0007zQ-BC
	for xen-devel@lists.xen.org; Wed, 23 May 2012 13:12:42 +0000
Received: from [85.158.143.35:29876] by server-1.bemta-4.messagelabs.com id
	27/E0-00342-942ECBF4; Wed, 23 May 2012 13:12:41 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337778759!12886540!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17468 invoked from network); 23 May 2012 13:12:40 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-21.messagelabs.com with SMTP;
	23 May 2012 13:12:40 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78101496; Wed, 23 May 2012 15:12:39 +0200
Message-ID: <1337778752.27368.90.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 15:12:32 +0200
In-Reply-To: <1337777350.27368.82.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
	<1337777350.27368.82.camel@Solace>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7546928933463869765=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7546928933463869765==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-rE6KcvyEUnG/1qA7AKOG"


--=-rE6KcvyEUnG/1qA7AKOG
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 14:49 +0200, Dario Faggioli wrote:
> Problem arises
> with auto-generated code, e.g., in gentypes.py for build_info related
> functions. In this case, in fact, the libxl_domain_type enum is the key
> of the keyed-union. For those cases, I was thinking at something like
> the below:
>=20
>     if isinstance(ty, idl.KeyedUnion):
>         if parent is None:
>             raise Exception("KeyedUnion type must have a parent")
>         s +=3D "switch (%s) {\n" % (parent + ty.keyvar.name)
>         for f in ty.fields:
>             (nparent,fexpr) =3D ty.member(v, f, parent is None)
>             s +=3D "case %s:\n" % f.enumname
>             s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", n=
parent)
>             s +=3D "    break;\n"
> +       s +=3D "default:\n    break;\n";
>         s +=3D "}\n"
>=20
> Would it make sense?
>=20
Like this thing below.

Christoph, this ended up extending what you sent at the very beginning
of this thread, so I think we should both sign-off-by it (and thus it
took the liberty going ahead and adding yours), do you agree?

<-----------------------

libxl: introduce LIBXL_DOMAIN_TYPE_INVALID

To avoid recent gcc complaining about:
libxl.c: In function =E2=80=98libxl_primary_console_exec=E2=80=99:
libxl.c:1233:9: error: case value =E2=80=984294967295=E2=80=99 not in enume=
rated type =E2=80=98libxl_domain_type=E2=80=99 [-Werror=3Dswitch]

Adjust code pieces where -Wswitch makes it claim that
LIBXL_DOMAIN_TYPE_INVALID is not handled.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>

diff -r 6dc80df50fa8 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/gentest.py	Wed May 23 15:05:20 2012 +0200
@@ -37,6 +37,8 @@ def gen_rand_init(ty, v, indent =3D "    "
             s +=3D "case %s:\n" % f.enumname
             s +=3D gen_rand_init(f.type, fexpr, indent + "    ", nparent)
             s +=3D "    break;\n"
+        s +=3D "default:\n";
+        s +=3D "    break;\n";
         s +=3D "}\n"
     elif isinstance(ty, idl.Struct) \
      and (parent is None or ty.json_fn is None):
diff -r 6dc80df50fa8 tools/libxl/gentypes.py
--- a/tools/libxl/gentypes.py	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/gentypes.py	Wed May 23 15:05:20 2012 +0200
@@ -65,6 +65,8 @@ def libxl_C_type_dispose(ty, v, indent =3D
             s +=3D "case %s:\n" % f.enumname
             s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", np=
arent)
             s +=3D "    break;\n"
+        s +=3D "default:\n";
+        s +=3D "    break;\n";
         s +=3D "}\n"
     elif isinstance(ty, idl.Struct) and (parent is None or ty.dispose_fn i=
s None):
         for f in [f for f in ty.fields if not f.const]:
@@ -98,6 +100,8 @@ def _libxl_C_type_init(ty, v, indent =3D "
                 s +=3D "case %s:\n" % f.enumname
                 s +=3D _libxl_C_type_init(f.type, fexpr, "    ", nparent)
                 s +=3D "    break;\n"
+            s +=3D "default:\n";
+            s +=3D "    break;\n";
             s +=3D "}\n"
         else:
             if ty.keyvar.init_val:
@@ -177,6 +181,8 @@ def libxl_C_type_gen_json(ty, v, indent=20
             s +=3D "case %s:\n" % f.enumname
             s +=3D libxl_C_type_gen_json(f.type, fexpr, indent + "    ", n=
parent)
             s +=3D "    break;\n"
+        s +=3D "default:\n";
+        s +=3D "    break;\n";
         s +=3D "}\n"
     elif isinstance(ty, idl.Struct) and (parent is None or ty.json_fn is N=
one):
         s +=3D "s =3D yajl_gen_map_open(hand);\n"
diff -r 6dc80df50fa8 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl.c	Wed May 23 15:05:20 2012 +0200
@@ -1230,7 +1230,7 @@ int libxl_primary_console_exec(libxl_ctx
         case LIBXL_DOMAIN_TYPE_PV:
             rc =3D libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE=
_PV);
             break;
-        case -1:
+        case LIBXL_DOMAIN_TYPE_INVALID:
             LOG(ERROR,"unable to get domain type for domid=3D%"PRIu32,domi=
d_vm);
             rc =3D ERROR_FAIL;
             break;
diff -r 6dc80df50fa8 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_dm.c	Wed May 23 15:05:20 2012 +0200
@@ -257,6 +257,8 @@ static char ** libxl__build_device_model
         for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D NULL;=
 i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
     flexarray_append(dm_args, NULL);
     return (char **) flexarray_contents(dm_args);
@@ -505,6 +507,8 @@ static char ** libxl__build_device_model
         for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D NULL;=
 i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
=20
     ram_size =3D libxl__sizekb_to_mb(b_info->max_memkb - b_info->video_mem=
kb);
diff -r 6dc80df50fa8 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Wed May 23 15:05:20 2012 +0200
@@ -33,9 +33,9 @@ libxl_domain_type libxl__domain_type(lib
=20
     ret =3D xc_domain_getinfolist(ctx->xch, domid, 1, &info);
     if (ret !=3D 1)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.domain !=3D domid)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.flags & XEN_DOMINF_hvm_guest)
         return LIBXL_DOMAIN_TYPE_HVM;
     else
diff -r 6dc80df50fa8 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_types.idl	Wed May 23 15:05:20 2012 +0200
@@ -30,6 +30,7 @@ MemKB =3D UInt(64, init_val =3D "LIBXL_MEMKB
 #
=20
 libxl_domain_type =3D Enumeration("domain_type", [
+    (-1, "INVALID"),
     (1, "HVM"),
     (2, "PV"),
     ])


--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-rE6KcvyEUnG/1qA7AKOG
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+84kAACgkQk4XaBE3IOsQiegCeMchHOvSEhrNgOB14QkbBoj0B
xWAAoJd/F0TAXjptq2gPw6qbzkMtEn/F
=RABH
-----END PGP SIGNATURE-----

--=-rE6KcvyEUnG/1qA7AKOG--



--===============7546928933463869765==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7546928933463869765==--



From xen-devel-bounces@lists.xen.org Wed May 23 13:13:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBMq-0007zW-01; Wed, 23 May 2012 13:12:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXBMo-0007zQ-BC
	for xen-devel@lists.xen.org; Wed, 23 May 2012 13:12:42 +0000
Received: from [85.158.143.35:29876] by server-1.bemta-4.messagelabs.com id
	27/E0-00342-942ECBF4; Wed, 23 May 2012 13:12:41 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337778759!12886540!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17468 invoked from network); 23 May 2012 13:12:40 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-21.messagelabs.com with SMTP;
	23 May 2012 13:12:40 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78101496; Wed, 23 May 2012 15:12:39 +0200
Message-ID: <1337778752.27368.90.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 15:12:32 +0200
In-Reply-To: <1337777350.27368.82.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
	<1337777350.27368.82.camel@Solace>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7546928933463869765=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7546928933463869765==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-rE6KcvyEUnG/1qA7AKOG"


--=-rE6KcvyEUnG/1qA7AKOG
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 14:49 +0200, Dario Faggioli wrote:
> Problem arises
> with auto-generated code, e.g., in gentypes.py for build_info related
> functions. In this case, in fact, the libxl_domain_type enum is the key
> of the keyed-union. For those cases, I was thinking at something like
> the below:
>=20
>     if isinstance(ty, idl.KeyedUnion):
>         if parent is None:
>             raise Exception("KeyedUnion type must have a parent")
>         s +=3D "switch (%s) {\n" % (parent + ty.keyvar.name)
>         for f in ty.fields:
>             (nparent,fexpr) =3D ty.member(v, f, parent is None)
>             s +=3D "case %s:\n" % f.enumname
>             s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", n=
parent)
>             s +=3D "    break;\n"
> +       s +=3D "default:\n    break;\n";
>         s +=3D "}\n"
>=20
> Would it make sense?
>=20
Like this thing below.

Christoph, this ended up extending what you sent at the very beginning
of this thread, so I think we should both sign-off-by it (and thus it
took the liberty going ahead and adding yours), do you agree?

<-----------------------

libxl: introduce LIBXL_DOMAIN_TYPE_INVALID

To avoid recent gcc complaining about:
libxl.c: In function =E2=80=98libxl_primary_console_exec=E2=80=99:
libxl.c:1233:9: error: case value =E2=80=984294967295=E2=80=99 not in enume=
rated type =E2=80=98libxl_domain_type=E2=80=99 [-Werror=3Dswitch]

Adjust code pieces where -Wswitch makes it claim that
LIBXL_DOMAIN_TYPE_INVALID is not handled.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>

diff -r 6dc80df50fa8 tools/libxl/gentest.py
--- a/tools/libxl/gentest.py	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/gentest.py	Wed May 23 15:05:20 2012 +0200
@@ -37,6 +37,8 @@ def gen_rand_init(ty, v, indent =3D "    "
             s +=3D "case %s:\n" % f.enumname
             s +=3D gen_rand_init(f.type, fexpr, indent + "    ", nparent)
             s +=3D "    break;\n"
+        s +=3D "default:\n";
+        s +=3D "    break;\n";
         s +=3D "}\n"
     elif isinstance(ty, idl.Struct) \
      and (parent is None or ty.json_fn is None):
diff -r 6dc80df50fa8 tools/libxl/gentypes.py
--- a/tools/libxl/gentypes.py	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/gentypes.py	Wed May 23 15:05:20 2012 +0200
@@ -65,6 +65,8 @@ def libxl_C_type_dispose(ty, v, indent =3D
             s +=3D "case %s:\n" % f.enumname
             s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ", np=
arent)
             s +=3D "    break;\n"
+        s +=3D "default:\n";
+        s +=3D "    break;\n";
         s +=3D "}\n"
     elif isinstance(ty, idl.Struct) and (parent is None or ty.dispose_fn i=
s None):
         for f in [f for f in ty.fields if not f.const]:
@@ -98,6 +100,8 @@ def _libxl_C_type_init(ty, v, indent =3D "
                 s +=3D "case %s:\n" % f.enumname
                 s +=3D _libxl_C_type_init(f.type, fexpr, "    ", nparent)
                 s +=3D "    break;\n"
+            s +=3D "default:\n";
+            s +=3D "    break;\n";
             s +=3D "}\n"
         else:
             if ty.keyvar.init_val:
@@ -177,6 +181,8 @@ def libxl_C_type_gen_json(ty, v, indent=20
             s +=3D "case %s:\n" % f.enumname
             s +=3D libxl_C_type_gen_json(f.type, fexpr, indent + "    ", n=
parent)
             s +=3D "    break;\n"
+        s +=3D "default:\n";
+        s +=3D "    break;\n";
         s +=3D "}\n"
     elif isinstance(ty, idl.Struct) and (parent is None or ty.json_fn is N=
one):
         s +=3D "s =3D yajl_gen_map_open(hand);\n"
diff -r 6dc80df50fa8 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl.c	Wed May 23 15:05:20 2012 +0200
@@ -1230,7 +1230,7 @@ int libxl_primary_console_exec(libxl_ctx
         case LIBXL_DOMAIN_TYPE_PV:
             rc =3D libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE=
_PV);
             break;
-        case -1:
+        case LIBXL_DOMAIN_TYPE_INVALID:
             LOG(ERROR,"unable to get domain type for domid=3D%"PRIu32,domi=
d_vm);
             rc =3D ERROR_FAIL;
             break;
diff -r 6dc80df50fa8 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_dm.c	Wed May 23 15:05:20 2012 +0200
@@ -257,6 +257,8 @@ static char ** libxl__build_device_model
         for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D NULL;=
 i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
     flexarray_append(dm_args, NULL);
     return (char **) flexarray_contents(dm_args);
@@ -505,6 +507,8 @@ static char ** libxl__build_device_model
         for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D NULL;=
 i++)
             flexarray_append(dm_args, b_info->extra_hvm[i]);
         break;
+    case LIBXL_DOMAIN_TYPE_INVALID:
+        break;
     }
=20
     ram_size =3D libxl__sizekb_to_mb(b_info->max_memkb - b_info->video_mem=
kb);
diff -r 6dc80df50fa8 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_dom.c	Wed May 23 15:05:20 2012 +0200
@@ -33,9 +33,9 @@ libxl_domain_type libxl__domain_type(lib
=20
     ret =3D xc_domain_getinfolist(ctx->xch, domid, 1, &info);
     if (ret !=3D 1)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.domain !=3D domid)
-        return -1;
+        return LIBXL_DOMAIN_TYPE_INVALID;
     if (info.flags & XEN_DOMINF_hvm_guest)
         return LIBXL_DOMAIN_TYPE_HVM;
     else
diff -r 6dc80df50fa8 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_types.idl	Wed May 23 15:05:20 2012 +0200
@@ -30,6 +30,7 @@ MemKB =3D UInt(64, init_val =3D "LIBXL_MEMKB
 #
=20
 libxl_domain_type =3D Enumeration("domain_type", [
+    (-1, "INVALID"),
     (1, "HVM"),
     (2, "PV"),
     ])


--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-rE6KcvyEUnG/1qA7AKOG
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+84kAACgkQk4XaBE3IOsQiegCeMchHOvSEhrNgOB14QkbBoj0B
xWAAoJd/F0TAXjptq2gPw6qbzkMtEn/F
=RABH
-----END PGP SIGNATURE-----

--=-rE6KcvyEUnG/1qA7AKOG--



--===============7546928933463869765==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7546928933463869765==--



From xen-devel-bounces@lists.xen.org Wed May 23 13:19:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBTH-00089S-RL; Wed, 23 May 2012 13:19:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXBTG-00089L-Iu
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:19:22 +0000
Received: from [85.158.138.51:19264] by server-9.bemta-3.messagelabs.com id
	A3/A5-11033-9D3ECBF4; Wed, 23 May 2012 13:19:21 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337779159!28783468!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15785 invoked from network); 23 May 2012 13:19:20 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 13:19:20 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NDJFjn012908
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 13:19:15 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NDJEHL025084
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 13:19:14 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NDJENO003500; Wed, 23 May 2012 08:19:14 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 06:19:13 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 583CE402FB; Wed, 23 May 2012 09:12:42 -0400 (EDT)
Date: Wed, 23 May 2012 09:12:42 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Simon Graham <simon.graham@citrix.com>
Message-ID: <20120523131242.GA15406@phenom.dumpdata.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
	<20120522180901.GC22488@phenom.dumpdata.com>
	<F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:01:55PM -0400, Simon Graham wrote:
> > >
> > > > >  	int i, copy_off;
> > > > >
> > > > >  	count = DIV_ROUND_UP(
> > > > > -			offset_in_page(skb->data)+skb_headlen(skb),
> > PAGE_SIZE);
> > > > > +			offset_in_page(skb->data + skb_headlen(skb)),
> > PAGE_SIZE);
> > > >
> > > > The new version would be equivalent to:
> > > > 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> > > > which is not right, as netbk_gop_skb() will use one slot per page.
> > >
> > > Just outside the context of this patch we separately count the frag
> > > pages.
> > >
> > > However I think you are right if skb->data covers > 1 page, since the
> > > new version can only ever return 0 or 1. I expect this patch papers
> > over
> > > the underlying issue by not stopping often enough, rather than
> > actually
> > > fixing the underlying issue.
> > 
> > Ah, any thoughts? Have you guys seen this behavior as well?
> 
> We ran into this same problem and the fix we've been running with for a while now (been meaning to submit it!) is:

Where is the patchqueue of the patches? Is it only on the src.rpm or
is it in some nice mercurial tree? Asking b/c if we run into other trouble
it would be also time-saving for us (and I presume other companies
too) to check that. Thanks!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:19:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBTH-00089S-RL; Wed, 23 May 2012 13:19:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXBTG-00089L-Iu
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:19:22 +0000
Received: from [85.158.138.51:19264] by server-9.bemta-3.messagelabs.com id
	A3/A5-11033-9D3ECBF4; Wed, 23 May 2012 13:19:21 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337779159!28783468!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15785 invoked from network); 23 May 2012 13:19:20 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 13:19:20 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NDJFjn012908
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 13:19:15 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NDJEHL025084
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 13:19:14 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NDJENO003500; Wed, 23 May 2012 08:19:14 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 06:19:13 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 583CE402FB; Wed, 23 May 2012 09:12:42 -0400 (EDT)
Date: Wed, 23 May 2012 09:12:42 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Simon Graham <simon.graham@citrix.com>
Message-ID: <20120523131242.GA15406@phenom.dumpdata.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
	<20120522180901.GC22488@phenom.dumpdata.com>
	<F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F02ED76F3FCF8C468AD22A7618C05BBBB18DBFFE61@FTLPMAILBOX01.citrite.net>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Adnan Misherfi <adnan.misherfi@oracle.com>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 22, 2012 at 03:01:55PM -0400, Simon Graham wrote:
> > >
> > > > >  	int i, copy_off;
> > > > >
> > > > >  	count = DIV_ROUND_UP(
> > > > > -			offset_in_page(skb->data)+skb_headlen(skb),
> > PAGE_SIZE);
> > > > > +			offset_in_page(skb->data + skb_headlen(skb)),
> > PAGE_SIZE);
> > > >
> > > > The new version would be equivalent to:
> > > > 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> > > > which is not right, as netbk_gop_skb() will use one slot per page.
> > >
> > > Just outside the context of this patch we separately count the frag
> > > pages.
> > >
> > > However I think you are right if skb->data covers > 1 page, since the
> > > new version can only ever return 0 or 1. I expect this patch papers
> > over
> > > the underlying issue by not stopping often enough, rather than
> > actually
> > > fixing the underlying issue.
> > 
> > Ah, any thoughts? Have you guys seen this behavior as well?
> 
> We ran into this same problem and the fix we've been running with for a while now (been meaning to submit it!) is:

Where is the patchqueue of the patches? Is it only on the src.rpm or
is it in some nice mercurial tree? Asking b/c if we run into other trouble
it would be also time-saving for us (and I presume other companies
too) to check that. Thanks!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:21:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:21:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBVK-0008Dt-CS; Wed, 23 May 2012 13:21:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXBVI-0008Dn-Tu
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:21:29 +0000
Received: from [193.109.254.147:15767] by server-12.bemta-14.messagelabs.com
	id B7/AC-05898-854ECBF4; Wed, 23 May 2012 13:21:28 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337779284!5640652!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5391 invoked from network); 23 May 2012 13:21:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 13:21:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25498877"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:21:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 09:21:24 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXBVE-00073w-2T;
	Wed, 23 May 2012 14:21:24 +0100
Message-ID: <4FBCE453.5080206@citrix.com>
Date: Wed, 23 May 2012 14:21:23 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCC5F3.1080804@citrix.com>
	<4FBCF1B902000078000857D7@nat28.tlf.novell.com>
In-Reply-To: <4FBCF1B902000078000857D7@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 23/05/12 13:18, Jan Beulich wrote:
>>>> On 23.05.12 at 13:11, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 23/05/12 08:34, Jan Beulich wrote:
>>> First of all I'm of the opinion that this indeed should not be
>>> masked in the hypervisor - there's no reason to disallow the
>>> guest to read these registers (but we should of course deny
>>> writes as long as Xen is controlling P-states, which we do).
>> I am sorry but I am going to have to disagree with you on this point.
>>
>> We should not be advertising this feature to any guest at all if we
>> can't provide an implementation which works as native expects.  Else we
>> are failing in our job of virtualisation.
> That's perhaps a matter of the position you take - for HVM, I
> would agree with yours, but there's many more aspects (not
> the least related to accessing other MSRs) that we fail to
> "properly" virtualize for PV guests - my position is that it is the
> nature of PV that guest kernels have to be aware of being
> virtualized (and hence stay away from doing certain things
> unless [they think] they know what they're doing).
>
>> There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
>> prevents update of the affinity masks, and appears to conditionally
>> allow access to certain MSRs.  I think it would be fine to expose this
>> feature iff dom0s vcpus are pinned in this fashion.  That way, the
>> measurement should succeed, even if dom0 only has read access to the MSRs.
> Restricting it to this case would be too restrictive - it really
> makes sense at any time where the vCPU's affinity has exactly
> one bit set (or to be precise, the intersection of it and the set
> of online pCPU-s).
>
> Jan
>

That is unfortunately too lax.  You also need to be able to guarantee
that the affinity mask is not updated (and vcpu rescheduled) while in
the middle of a measurement.  Xen cant sensibly work out if or when a
guest is taking a measurement, nor can dom0.  So the only safe solution
I can see is for Xen to prevent the affinity masks from ever being
updated.  With more thought, this would also preclude migration of a
guest to another host.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:21:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:21:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBVK-0008Dt-CS; Wed, 23 May 2012 13:21:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXBVI-0008Dn-Tu
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:21:29 +0000
Received: from [193.109.254.147:15767] by server-12.bemta-14.messagelabs.com
	id B7/AC-05898-854ECBF4; Wed, 23 May 2012 13:21:28 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337779284!5640652!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5391 invoked from network); 23 May 2012 13:21:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 13:21:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25498877"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 09:21:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 09:21:24 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXBVE-00073w-2T;
	Wed, 23 May 2012 14:21:24 +0100
Message-ID: <4FBCE453.5080206@citrix.com>
Date: Wed, 23 May 2012 14:21:23 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCC5F3.1080804@citrix.com>
	<4FBCF1B902000078000857D7@nat28.tlf.novell.com>
In-Reply-To: <4FBCF1B902000078000857D7@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 23/05/12 13:18, Jan Beulich wrote:
>>>> On 23.05.12 at 13:11, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 23/05/12 08:34, Jan Beulich wrote:
>>> First of all I'm of the opinion that this indeed should not be
>>> masked in the hypervisor - there's no reason to disallow the
>>> guest to read these registers (but we should of course deny
>>> writes as long as Xen is controlling P-states, which we do).
>> I am sorry but I am going to have to disagree with you on this point.
>>
>> We should not be advertising this feature to any guest at all if we
>> can't provide an implementation which works as native expects.  Else we
>> are failing in our job of virtualisation.
> That's perhaps a matter of the position you take - for HVM, I
> would agree with yours, but there's many more aspects (not
> the least related to accessing other MSRs) that we fail to
> "properly" virtualize for PV guests - my position is that it is the
> nature of PV that guest kernels have to be aware of being
> virtualized (and hence stay away from doing certain things
> unless [they think] they know what they're doing).
>
>> There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
>> prevents update of the affinity masks, and appears to conditionally
>> allow access to certain MSRs.  I think it would be fine to expose this
>> feature iff dom0s vcpus are pinned in this fashion.  That way, the
>> measurement should succeed, even if dom0 only has read access to the MSRs.
> Restricting it to this case would be too restrictive - it really
> makes sense at any time where the vCPU's affinity has exactly
> one bit set (or to be precise, the intersection of it and the set
> of online pCPU-s).
>
> Jan
>

That is unfortunately too lax.  You also need to be able to guarantee
that the affinity mask is not updated (and vcpu rescheduled) while in
the middle of a measurement.  Xen cant sensibly work out if or when a
guest is taking a measurement, nor can dom0.  So the only safe solution
I can see is for Xen to prevent the affinity masks from ever being
updated.  With more thought, this would also preclude migration of a
guest to another host.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:31:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:31:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBf2-0008S3-Ma; Wed, 23 May 2012 13:31:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SXBf1-0008Ry-Dg
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:31:31 +0000
Received: from [85.158.143.35:5808] by server-2.bemta-4.messagelabs.com id
	06/C0-12211-2B6ECBF4; Wed, 23 May 2012 13:31:30 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337779886!12890511!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17276 invoked from network); 23 May 2012 13:31:28 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 13:31:28 -0000
Received: from mail-bk0-f43.google.com (mail-bk0-f43.google.com
	[209.85.214.43]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q4NDVN99000461
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xensource.com>; Wed, 23 May 2012 06:31:25 -0700
Received: by bkty5 with SMTP id y5so7070289bkt.30
	for <xen-devel@lists.xensource.com>;
	Wed, 23 May 2012 06:31:22 -0700 (PDT)
Received: by 10.205.119.130 with SMTP id fu2mr5097634bkc.120.1337779882037;
	Wed, 23 May 2012 06:31:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.152.215 with HTTP; Wed, 23 May 2012 06:30:41 -0700 (PDT)
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Wed, 23 May 2012 09:30:41 -0400
Message-ID: <CAP8mzPMxuAw5TgbMfa9crxSr_T-c3Wq+1aK8UUGpZXYKnWZdHg@mail.gmail.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <ian.campbell@citrix.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4564090204801295993=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4564090204801295993==
Content-Type: multipart/alternative; boundary=000e0ce04312a8145204c0b4262e

--000e0ce04312a8145204c0b4262e
Content-Type: text/plain; charset=ISO-8859-1

On Wed, May 23, 2012 at 5:39 AM, Frediano Ziglio <frediano.ziglio@citrix.com>
wrote:
> I noted a possible problem restoring a machine.
>
> In xc_domain_restore (xc_domain_restore.c) if it's not the last
> checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
> pagebuf_get or just load other pages (see following "goto loadpages;"
> line).
> Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
> (xc_tmem.c) which call read_extract (xc_private.c) on the same non
> blocking socket/file but read_extract does not handle EAGAIN/EWOULDBLOCK
> (both can be returned on non blocking socket depending on file type and
> Unix/Linux version) leading to a failure.
> Does this make sense or is it impossible ??
>


It certainly is possible. But again, I have never seen anyone use tmem with
Remus. I dont even know if it would work properly, even if we fix the
read_exact code
to handle non-blocking fds.

For the normal live-migration scenario, the O_NONBLOCK change does not
happen.
So, RDEXACT == rdexact == read_exact, output wise.

> Also note that rdexact (xc_domain_restore.c) handle data timeout but we
> can still block in read_exact called by
> xc_tmem_restore/xc_tmem_restore_extra.
>

Yep. Only in Remus case. As stated above, havent come across anyone
using Remus + tmem and/or dont know if it would work properly. I dont
know the semantics of tmem enough to comment on remus+tmem, whether
it makes sense or not, etc..


> Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
> are network problems?
>

This wont be a problem for live migration. Because that timeout code
is within the if (ctx->completed) { }  block. It only becomes active when
Remus is enabled i.e. ctx->last_checkpoint = 0. Otherwise, the read call is
still blocking.


> Frediano
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

--000e0ce04312a8145204c0b4262e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br>On Wed, May 23, 2012 at 5:39 AM, Frediano Ziglio &lt;<a href=3D"mai=
lto:frediano.ziglio@citrix.com">frediano.ziglio@citrix.com</a>&gt; wrote:<b=
r>&gt; I noted a possible problem restoring a machine.<br>&gt;<br>&gt; In x=
c_domain_restore (xc_domain_restore.c) if it&#39;s not the last<br>

&gt; checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call<=
br>&gt; pagebuf_get or just load other pages (see following &quot;goto load=
pages;&quot;<br>&gt; line).<br>&gt; Now we could ending up calling xc_tmem_=
restore/xc_tmem_restore_extra<br>

&gt; (xc_tmem.c) which call read_extract (xc_private.c) on the same non<br>=
&gt; blocking socket/file but read_extract does not handle EAGAIN/EWOULDBLO=
CK<br>&gt; (both can be returned on non blocking socket depending on file t=
ype and<br>

&gt; Unix/Linux version) leading to a failure.<br>&gt; Does this make sense=
 or is it impossible ??<br>&gt;<div><br></div><div><br></div><div>It certai=
nly is possible. But again, I have never seen anyone use tmem with</div>

<div>Remus. I dont even know if it would work properly, even if we fix the =
read_exact code</div><div>to handle non-blocking fds.</div><div><br></div><=
div>For the normal live-migration scenario, the O_NONBLOCK change does not =
happen.</div>

<div>So, RDEXACT =3D=3D rdexact =3D=3D read_exact, output wise.</div><div><=
br>&gt; Also note that rdexact (xc_domain_restore.c) handle data timeout bu=
t we<br>&gt; can still block in read_exact called by<br>&gt; xc_tmem_restor=
e/xc_tmem_restore_extra.<br>

&gt;</div><div><br></div><div>Yep. Only in Remus case. As stated above, hav=
ent come across anyone</div><div>using Remus + tmem and/or dont know if it =
would work properly. I dont</div><div>know the semantics of tmem enough to =
comment on remus+tmem, whether</div>

<div>it makes sense or not, etc..</div><div><br></div><div><br>&gt; Last no=
te on rdexact, isn&#39;t 1 second (HEARTBEAT_MS) too small if there<br>&gt;=
 are network problems?<br>&gt;</div><div><br></div><div>This wont be a prob=
lem for live migration. Because that timeout code</div>

<div>is within the if (ctx-&gt;completed) { } =A0block. It only becomes act=
ive when</div><div>Remus is enabled i.e. ctx-&gt;last_checkpoint =3D 0. Oth=
erwise, the read call is</div><div>still blocking.</div><div><br></div><div=
>

<br>&gt; Frediano<br>&gt;<br>&gt; _________________________________________=
______<br>&gt; Xen-devel mailing list<br>&gt; <a href=3D"mailto:Xen-devel@l=
ists.xen.org">Xen-devel@lists.xen.org</a><br>&gt; <a href=3D"http://lists.x=
en.org/xen-devel">http://lists.xen.org/xen-devel</a><br>

<br></div>

--000e0ce04312a8145204c0b4262e--


--===============4564090204801295993==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4564090204801295993==--


From xen-devel-bounces@lists.xen.org Wed May 23 13:31:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:31:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBf2-0008S3-Ma; Wed, 23 May 2012 13:31:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SXBf1-0008Ry-Dg
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:31:31 +0000
Received: from [85.158.143.35:5808] by server-2.bemta-4.messagelabs.com id
	06/C0-12211-2B6ECBF4; Wed, 23 May 2012 13:31:30 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337779886!12890511!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17276 invoked from network); 23 May 2012 13:31:28 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 13:31:28 -0000
Received: from mail-bk0-f43.google.com (mail-bk0-f43.google.com
	[209.85.214.43]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q4NDVN99000461
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xensource.com>; Wed, 23 May 2012 06:31:25 -0700
Received: by bkty5 with SMTP id y5so7070289bkt.30
	for <xen-devel@lists.xensource.com>;
	Wed, 23 May 2012 06:31:22 -0700 (PDT)
Received: by 10.205.119.130 with SMTP id fu2mr5097634bkc.120.1337779882037;
	Wed, 23 May 2012 06:31:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.152.215 with HTTP; Wed, 23 May 2012 06:30:41 -0700 (PDT)
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Wed, 23 May 2012 09:30:41 -0400
Message-ID: <CAP8mzPMxuAw5TgbMfa9crxSr_T-c3Wq+1aK8UUGpZXYKnWZdHg@mail.gmail.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <ian.campbell@citrix.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4564090204801295993=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4564090204801295993==
Content-Type: multipart/alternative; boundary=000e0ce04312a8145204c0b4262e

--000e0ce04312a8145204c0b4262e
Content-Type: text/plain; charset=ISO-8859-1

On Wed, May 23, 2012 at 5:39 AM, Frediano Ziglio <frediano.ziglio@citrix.com>
wrote:
> I noted a possible problem restoring a machine.
>
> In xc_domain_restore (xc_domain_restore.c) if it's not the last
> checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call
> pagebuf_get or just load other pages (see following "goto loadpages;"
> line).
> Now we could ending up calling xc_tmem_restore/xc_tmem_restore_extra
> (xc_tmem.c) which call read_extract (xc_private.c) on the same non
> blocking socket/file but read_extract does not handle EAGAIN/EWOULDBLOCK
> (both can be returned on non blocking socket depending on file type and
> Unix/Linux version) leading to a failure.
> Does this make sense or is it impossible ??
>


It certainly is possible. But again, I have never seen anyone use tmem with
Remus. I dont even know if it would work properly, even if we fix the
read_exact code
to handle non-blocking fds.

For the normal live-migration scenario, the O_NONBLOCK change does not
happen.
So, RDEXACT == rdexact == read_exact, output wise.

> Also note that rdexact (xc_domain_restore.c) handle data timeout but we
> can still block in read_exact called by
> xc_tmem_restore/xc_tmem_restore_extra.
>

Yep. Only in Remus case. As stated above, havent come across anyone
using Remus + tmem and/or dont know if it would work properly. I dont
know the semantics of tmem enough to comment on remus+tmem, whether
it makes sense or not, etc..


> Last note on rdexact, isn't 1 second (HEARTBEAT_MS) too small if there
> are network problems?
>

This wont be a problem for live migration. Because that timeout code
is within the if (ctx->completed) { }  block. It only becomes active when
Remus is enabled i.e. ctx->last_checkpoint = 0. Otherwise, the read call is
still blocking.


> Frediano
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

--000e0ce04312a8145204c0b4262e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br>On Wed, May 23, 2012 at 5:39 AM, Frediano Ziglio &lt;<a href=3D"mai=
lto:frediano.ziglio@citrix.com">frediano.ziglio@citrix.com</a>&gt; wrote:<b=
r>&gt; I noted a possible problem restoring a machine.<br>&gt;<br>&gt; In x=
c_domain_restore (xc_domain_restore.c) if it&#39;s not the last<br>

&gt; checkpoint we set O_NONBLOCK flag (search for fcntl) that we can call<=
br>&gt; pagebuf_get or just load other pages (see following &quot;goto load=
pages;&quot;<br>&gt; line).<br>&gt; Now we could ending up calling xc_tmem_=
restore/xc_tmem_restore_extra<br>

&gt; (xc_tmem.c) which call read_extract (xc_private.c) on the same non<br>=
&gt; blocking socket/file but read_extract does not handle EAGAIN/EWOULDBLO=
CK<br>&gt; (both can be returned on non blocking socket depending on file t=
ype and<br>

&gt; Unix/Linux version) leading to a failure.<br>&gt; Does this make sense=
 or is it impossible ??<br>&gt;<div><br></div><div><br></div><div>It certai=
nly is possible. But again, I have never seen anyone use tmem with</div>

<div>Remus. I dont even know if it would work properly, even if we fix the =
read_exact code</div><div>to handle non-blocking fds.</div><div><br></div><=
div>For the normal live-migration scenario, the O_NONBLOCK change does not =
happen.</div>

<div>So, RDEXACT =3D=3D rdexact =3D=3D read_exact, output wise.</div><div><=
br>&gt; Also note that rdexact (xc_domain_restore.c) handle data timeout bu=
t we<br>&gt; can still block in read_exact called by<br>&gt; xc_tmem_restor=
e/xc_tmem_restore_extra.<br>

&gt;</div><div><br></div><div>Yep. Only in Remus case. As stated above, hav=
ent come across anyone</div><div>using Remus + tmem and/or dont know if it =
would work properly. I dont</div><div>know the semantics of tmem enough to =
comment on remus+tmem, whether</div>

<div>it makes sense or not, etc..</div><div><br></div><div><br>&gt; Last no=
te on rdexact, isn&#39;t 1 second (HEARTBEAT_MS) too small if there<br>&gt;=
 are network problems?<br>&gt;</div><div><br></div><div>This wont be a prob=
lem for live migration. Because that timeout code</div>

<div>is within the if (ctx-&gt;completed) { } =A0block. It only becomes act=
ive when</div><div>Remus is enabled i.e. ctx-&gt;last_checkpoint =3D 0. Oth=
erwise, the read call is</div><div>still blocking.</div><div><br></div><div=
>

<br>&gt; Frediano<br>&gt;<br>&gt; _________________________________________=
______<br>&gt; Xen-devel mailing list<br>&gt; <a href=3D"mailto:Xen-devel@l=
ists.xen.org">Xen-devel@lists.xen.org</a><br>&gt; <a href=3D"http://lists.x=
en.org/xen-devel">http://lists.xen.org/xen-devel</a><br>

<br></div>

--000e0ce04312a8145204c0b4262e--


--===============4564090204801295993==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4564090204801295993==--


From xen-devel-bounces@lists.xen.org Wed May 23 13:33:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBgT-0008W7-FO; Wed, 23 May 2012 13:33:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXBgR-0008Vz-Qa
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:33:00 +0000
Received: from [85.158.138.51:64686] by server-6.bemta-3.messagelabs.com id
	77/E1-18175-B07ECBF4; Wed, 23 May 2012 13:32:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337779976!28671216!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10380 invoked from network); 23 May 2012 13:32:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 13:32:58 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NDWmM9029367
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 13:32:49 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NDWmJ0020604
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 13:32:48 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NDWkXE015364; Wed, 23 May 2012 08:32:46 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 06:32:45 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 712E9402FB; Wed, 23 May 2012 09:26:14 -0400 (EDT)
Date: Wed, 23 May 2012 09:26:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120523132614.GA15660@phenom.dumpdata.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
	<4FBC16B7.9080307@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBC16B7.9080307@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 12:44:07AM +0200, Andre Przywara wrote:
> On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
> >On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
> >>On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
> >>>On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
> >>>>Hi,
> >>>>
> >>>>while testing some APERF/MPERF semantics I discovered that this
> >>>>feature is enabled in Xen Dom0, but is not reliable.
> >>>>The Linux kernel's scheduler uses this feature if it sees the CPUID
> >>>>bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> >>>>compile) and bogus values due to VCPU migration during the
> >>>
> >>>Can you point me to the Linux scheduler code that does this? Thanks.
> >>
> >>arch/x86/kernel/cpu/sched.c contains code to read out and compute
> >>APERF/MPERF registers. I added a Xen debug-key to dump a usage
> >>counter added in traps.c and thus could prove that it is actually
> >>the kernel that accesses these registers.
> >>As far as I understood this the idea is to learn about boosting and
> >>down-clocking (P-states) to get a fairer view on the actual
> >>computing time a process consumed.
> >
> >Looks like its looking for this:
> >
> >X86_FEATURE_APERFMPERF
> >
> >Perhaps masking that should do it? Something along this in enlighten.c:
> >
> >          cpuid_leaf1_edx_mask =
> >                  ~((1<<  X86_FEATURE_MCE)  |  /* disable MCE */
> >                    (1<<  X86_FEATURE_MCA)  |  /* disable MCA */
> >                    (1<<  X86_FEATURE_MTRR) |  /* disable MTRR */
> >                    (1<<  X86_FEATURE_ACC));   /* thermal monitoring
> >
> >would be more appropiate?
> >
> >Or is that attribute on a different leaf?
> 
> Right, it is bit 0 on level 6. That's why I couldn't use any of the
> predefined masks and I didn't feel like inventing a new one just for
> this single bit.
> We could as well explicitly use clear_cpu_cap somewhere, but I
> didn't find any code place in the Xen tree already doing this,
> instead it looks like it belongs to where I put it (we handle leaf 5
> in a special way already here)

OK, can you resend the patch please, looking similar to what you sent
earlier, but do use a #define if possible (you can have the #define
in that file) and an comment explaining why this is neccessary -
and point to the Linux source code that uses this.

Thanks!
.. snip..
> >>>>P.S. Of course this doesn't fix pure userland software like
> >>>>cpupower, but I would consider this in the user's responsibility to
> >>>
> >>>Which would not work anymore as the cpufreq support is disabled
> >>>when it boots under Xen.
> >>
> >>Do you mean with "anymore" in a future kernel? I tested this on
> >>3.4.0 and cpupower monitor worked fine. Right, cpufreq is not
> >>enabled, but cpupower uses the /dev/cpu/<n>/msr device file to
> >>directly read the MSRs. So I get this output if run on an idle Dom0:
> >
> >Ahh. Neat. Will have to play with that.
> 
> Bad news is we cannot forbid cpupower querying the feature directly
> using the CPUID instruction in PV guests. Only we could patch it to
> use /proc/cpuinfo readout instead, as this reflects the kernel view
> of available features. With my patch aperfmperf is no longer there.

Looks like a patch to cpupower should be cooked up too?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:33:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBgT-0008W7-FO; Wed, 23 May 2012 13:33:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXBgR-0008Vz-Qa
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:33:00 +0000
Received: from [85.158.138.51:64686] by server-6.bemta-3.messagelabs.com id
	77/E1-18175-B07ECBF4; Wed, 23 May 2012 13:32:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337779976!28671216!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10380 invoked from network); 23 May 2012 13:32:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 13:32:58 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NDWmM9029367
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 13:32:49 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NDWmJ0020604
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 13:32:48 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NDWkXE015364; Wed, 23 May 2012 08:32:46 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 06:32:45 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 712E9402FB; Wed, 23 May 2012 09:26:14 -0400 (EDT)
Date: Wed, 23 May 2012 09:26:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120523132614.GA15660@phenom.dumpdata.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
	<4FBC16B7.9080307@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBC16B7.9080307@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 12:44:07AM +0200, Andre Przywara wrote:
> On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
> >On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
> >>On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
> >>>On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
> >>>>Hi,
> >>>>
> >>>>while testing some APERF/MPERF semantics I discovered that this
> >>>>feature is enabled in Xen Dom0, but is not reliable.
> >>>>The Linux kernel's scheduler uses this feature if it sees the CPUID
> >>>>bit, leading to costly RDMSR traps (a few 100,000s during a kernel
> >>>>compile) and bogus values due to VCPU migration during the
> >>>
> >>>Can you point me to the Linux scheduler code that does this? Thanks.
> >>
> >>arch/x86/kernel/cpu/sched.c contains code to read out and compute
> >>APERF/MPERF registers. I added a Xen debug-key to dump a usage
> >>counter added in traps.c and thus could prove that it is actually
> >>the kernel that accesses these registers.
> >>As far as I understood this the idea is to learn about boosting and
> >>down-clocking (P-states) to get a fairer view on the actual
> >>computing time a process consumed.
> >
> >Looks like its looking for this:
> >
> >X86_FEATURE_APERFMPERF
> >
> >Perhaps masking that should do it? Something along this in enlighten.c:
> >
> >          cpuid_leaf1_edx_mask =
> >                  ~((1<<  X86_FEATURE_MCE)  |  /* disable MCE */
> >                    (1<<  X86_FEATURE_MCA)  |  /* disable MCA */
> >                    (1<<  X86_FEATURE_MTRR) |  /* disable MTRR */
> >                    (1<<  X86_FEATURE_ACC));   /* thermal monitoring
> >
> >would be more appropiate?
> >
> >Or is that attribute on a different leaf?
> 
> Right, it is bit 0 on level 6. That's why I couldn't use any of the
> predefined masks and I didn't feel like inventing a new one just for
> this single bit.
> We could as well explicitly use clear_cpu_cap somewhere, but I
> didn't find any code place in the Xen tree already doing this,
> instead it looks like it belongs to where I put it (we handle leaf 5
> in a special way already here)

OK, can you resend the patch please, looking similar to what you sent
earlier, but do use a #define if possible (you can have the #define
in that file) and an comment explaining why this is neccessary -
and point to the Linux source code that uses this.

Thanks!
.. snip..
> >>>>P.S. Of course this doesn't fix pure userland software like
> >>>>cpupower, but I would consider this in the user's responsibility to
> >>>
> >>>Which would not work anymore as the cpufreq support is disabled
> >>>when it boots under Xen.
> >>
> >>Do you mean with "anymore" in a future kernel? I tested this on
> >>3.4.0 and cpupower monitor worked fine. Right, cpufreq is not
> >>enabled, but cpupower uses the /dev/cpu/<n>/msr device file to
> >>directly read the MSRs. So I get this output if run on an idle Dom0:
> >
> >Ahh. Neat. Will have to play with that.
> 
> Bad news is we cannot forbid cpupower querying the feature directly
> using the CPUID instruction in PV guests. Only we could patch it to
> use /proc/cpuinfo readout instead, as this reflects the kernel view
> of available features. With my patch aperfmperf is no longer there.

Looks like a patch to cpupower should be cooked up too?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBj9-0000HD-6P; Wed, 23 May 2012 13:35:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SXBj7-0000Gz-Os
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:35:45 +0000
Received: from [85.158.138.51:35108] by server-9.bemta-3.messagelabs.com id
	BB/68-11033-1B7ECBF4; Wed, 23 May 2012 13:35:45 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337780142!24658323!1
X-Originating-IP: [216.32.181.184]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12585 invoked from network); 23 May 2012 13:35:44 -0000
Received: from ch1ehsobe004.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.184)
	by server-10.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 13:35:44 -0000
Received: from mail155-ch1-R.bigfish.com (10.43.68.244) by
	CH1EHSOBE008.bigfish.com (10.43.70.58) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:35:32 +0000
Received: from mail155-ch1 (localhost [127.0.0.1])	by
	mail155-ch1-R.bigfish.com (Postfix) with ESMTP id 771744C007D;
	Wed, 23 May 2012 13:35:32 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I146fI1432N98dKzz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail155-ch1 (localhost.localdomain [127.0.0.1]) by mail155-ch1
	(MessageSwitch) id 133778013062340_16502;
	Wed, 23 May 2012 13:35:30 +0000 (UTC)
Received: from CH1EHSMHS029.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.237])	by mail155-ch1.bigfish.com (Postfix) with ESMTP id
	0B23380596;	Wed, 23 May 2012 13:35:30 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS029.bigfish.com (10.43.70.29) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:35:28 +0000
X-WSS-ID: 0M4H9R8-02-3J3-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2919FC80A7;	Wed, 23 May 2012 08:35:31 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 08:35:48 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 08:35:35 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	09:35:34 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 3500149C1FF; Wed, 23 May 2012
	14:35:31 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 0E6D15940FF; Wed, 23 May 2012
	15:35:31 +0200 (CEST)
Message-ID: <4FBCE6BF.20400@amd.com>
Date: Wed, 23 May 2012 15:31:43 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCC5F3.1080804@citrix.com>
	<4FBCF1B902000078000857D7@nat28.tlf.novell.com>
	<4FBCE453.5080206@citrix.com>
In-Reply-To: <4FBCE453.5080206@citrix.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>, Jan Beulich <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 03:21 PM, Andrew Cooper wrote:
> On 23/05/12 13:18, Jan Beulich wrote:
>>>>> On 23.05.12 at 13:11, Andrew Cooper<andrew.cooper3@citrix.com>  wrote:
>>> On 23/05/12 08:34, Jan Beulich wrote:
>>>> First of all I'm of the opinion that this indeed should not be
>>>> masked in the hypervisor - there's no reason to disallow the
>>>> guest to read these registers (but we should of course deny
>>>> writes as long as Xen is controlling P-states, which we do).
>>> I am sorry but I am going to have to disagree with you on this point.
>>>
>>> We should not be advertising this feature to any guest at all if we
>>> can't provide an implementation which works as native expects.  Else we
>>> are failing in our job of virtualisation.
>> That's perhaps a matter of the position you take - for HVM, I
>> would agree with yours, but there's many more aspects (not
>> the least related to accessing other MSRs) that we fail to
>> "properly" virtualize for PV guests - my position is that it is the
>> nature of PV that guest kernels have to be aware of being
>> virtualized (and hence stay away from doing certain things
>> unless [they think] they know what they're doing).
>>
>>> There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
>>> prevents update of the affinity masks, and appears to conditionally
>>> allow access to certain MSRs.  I think it would be fine to expose this
>>> feature iff dom0s vcpus are pinned in this fashion.  That way, the
>>> measurement should succeed, even if dom0 only has read access to the MSRs.
>> Restricting it to this case would be too restrictive - it really
>> makes sense at any time where the vCPU's affinity has exactly
>> one bit set (or to be precise, the intersection of it and the set
>> of online pCPU-s).
>>
>> Jan
>>
>
> That is unfortunately too lax.  You also need to be able to guarantee
> that the affinity mask is not updated (and vcpu rescheduled) while in
> the middle of a measurement.  Xen cant sensibly work out if or when a
> guest is taking a measurement, nor can dom0.  So the only safe solution
> I can see is for Xen to prevent the affinity masks from ever being
> updated.  With more thought, this would also preclude migration of a
> guest to another host.

Iff we really care about this feature, we could as well emulate it:
On every VCPU migration we calculate the difference between the two 
pCPU's values of APERF and MPERF. On the trap this value is added to the 
current MSR value. Similar to what is done with the TSC in HVM.
We trap on every MSR access anyway, so the performance impact is only 
four HV rdmsrs on every VCPU migration.

Only I am not sure if this is really a problem we should solve or if 
wouldn't be easier for us and clearer to the user to just discourage 
those accesses.

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:36:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBj9-0000HD-6P; Wed, 23 May 2012 13:35:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SXBj7-0000Gz-Os
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 13:35:45 +0000
Received: from [85.158.138.51:35108] by server-9.bemta-3.messagelabs.com id
	BB/68-11033-1B7ECBF4; Wed, 23 May 2012 13:35:45 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337780142!24658323!1
X-Originating-IP: [216.32.181.184]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12585 invoked from network); 23 May 2012 13:35:44 -0000
Received: from ch1ehsobe004.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.184)
	by server-10.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 13:35:44 -0000
Received: from mail155-ch1-R.bigfish.com (10.43.68.244) by
	CH1EHSOBE008.bigfish.com (10.43.70.58) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:35:32 +0000
Received: from mail155-ch1 (localhost [127.0.0.1])	by
	mail155-ch1-R.bigfish.com (Postfix) with ESMTP id 771744C007D;
	Wed, 23 May 2012 13:35:32 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I146fI1432N98dKzz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail155-ch1 (localhost.localdomain [127.0.0.1]) by mail155-ch1
	(MessageSwitch) id 133778013062340_16502;
	Wed, 23 May 2012 13:35:30 +0000 (UTC)
Received: from CH1EHSMHS029.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.237])	by mail155-ch1.bigfish.com (Postfix) with ESMTP id
	0B23380596;	Wed, 23 May 2012 13:35:30 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS029.bigfish.com (10.43.70.29) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:35:28 +0000
X-WSS-ID: 0M4H9R8-02-3J3-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2919FC80A7;	Wed, 23 May 2012 08:35:31 -0500 (CDT)
Received: from SAUSEXDAG02.amd.com (163.181.55.2) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 08:35:48 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag02.amd.com
	(163.181.55.2) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 08:35:35 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	09:35:34 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 3500149C1FF; Wed, 23 May 2012
	14:35:31 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 0E6D15940FF; Wed, 23 May 2012
	15:35:31 +0200 (CEST)
Message-ID: <4FBCE6BF.20400@amd.com>
Date: Wed, 23 May 2012 15:31:43 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <4FBBB9AF.6020704@amd.com>
	<4FBCAF1902000078000855C5@nat28.tlf.novell.com>
	<4FBCC5F3.1080804@citrix.com>
	<4FBCF1B902000078000857D7@nat28.tlf.novell.com>
	<4FBCE453.5080206@citrix.com>
In-Reply-To: <4FBCE453.5080206@citrix.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>, Jan Beulich <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 03:21 PM, Andrew Cooper wrote:
> On 23/05/12 13:18, Jan Beulich wrote:
>>>>> On 23.05.12 at 13:11, Andrew Cooper<andrew.cooper3@citrix.com>  wrote:
>>> On 23/05/12 08:34, Jan Beulich wrote:
>>>> First of all I'm of the opinion that this indeed should not be
>>>> masked in the hypervisor - there's no reason to disallow the
>>>> guest to read these registers (but we should of course deny
>>>> writes as long as Xen is controlling P-states, which we do).
>>> I am sorry but I am going to have to disagree with you on this point.
>>>
>>> We should not be advertising this feature to any guest at all if we
>>> can't provide an implementation which works as native expects.  Else we
>>> are failing in our job of virtualisation.
>> That's perhaps a matter of the position you take - for HVM, I
>> would agree with yours, but there's many more aspects (not
>> the least related to accessing other MSRs) that we fail to
>> "properly" virtualize for PV guests - my position is that it is the
>> nature of PV that guest kernels have to be aware of being
>> virtualized (and hence stay away from doing certain things
>> unless [they think] they know what they're doing).
>>
>>> There is 'dom0_vcpus_pin'[1] which identity pins dom0 vcpus, and
>>> prevents update of the affinity masks, and appears to conditionally
>>> allow access to certain MSRs.  I think it would be fine to expose this
>>> feature iff dom0s vcpus are pinned in this fashion.  That way, the
>>> measurement should succeed, even if dom0 only has read access to the MSRs.
>> Restricting it to this case would be too restrictive - it really
>> makes sense at any time where the vCPU's affinity has exactly
>> one bit set (or to be precise, the intersection of it and the set
>> of online pCPU-s).
>>
>> Jan
>>
>
> That is unfortunately too lax.  You also need to be able to guarantee
> that the affinity mask is not updated (and vcpu rescheduled) while in
> the middle of a measurement.  Xen cant sensibly work out if or when a
> guest is taking a measurement, nor can dom0.  So the only safe solution
> I can see is for Xen to prevent the affinity masks from ever being
> updated.  With more thought, this would also preclude migration of a
> guest to another host.

Iff we really care about this feature, we could as well emulate it:
On every VCPU migration we calculate the difference between the two 
pCPU's values of APERF and MPERF. On the trap this value is added to the 
current MSR value. Similar to what is done with the TSC in HVM.
We trap on every MSR access anyway, so the performance impact is only 
four HV rdmsrs on every VCPU migration.

Only I am not sure if this is really a problem we should solve or if 
wouldn't be easier for us and clearer to the user to just discourage 
those accesses.

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 13:47:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:47:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBtx-0000VJ-I0; Wed, 23 May 2012 13:46:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXBtv-0000VE-Ub
	for xen-devel@lists.xen.org; Wed, 23 May 2012 13:46:56 +0000
Received: from [85.158.139.83:20016] by server-4.bemta-5.messagelabs.com id
	BE/AF-09525-F4AECBF4; Wed, 23 May 2012 13:46:55 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337780811!29262109!1
X-Originating-IP: [216.32.181.182]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29024 invoked from network); 23 May 2012 13:46:53 -0000
Received: from ch1ehsobe002.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.182)
	by server-9.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 13:46:53 -0000
Received: from mail58-ch1-R.bigfish.com (10.43.68.231) by
	CH1EHSOBE012.bigfish.com (10.43.70.62) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:46:41 +0000
Received: from mail58-ch1 (localhost [127.0.0.1])	by mail58-ch1-R.bigfish.com
	(Postfix) with ESMTP id DD8A32600A8;
	Wed, 23 May 2012 13:46:35 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dIc89bh936eK1432N98dKzz1202hzz8275bhz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail58-ch1 (localhost.localdomain [127.0.0.1]) by mail58-ch1
	(MessageSwitch) id 1337780793644050_21675;
	Wed, 23 May 2012 13:46:33 +0000 (UTC)
Received: from CH1EHSMHS008.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.231])	by mail58-ch1.bigfish.com (Postfix) with ESMTP id
	94A514C009B;	Wed, 23 May 2012 13:46:33 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS008.bigfish.com (10.43.70.8) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:46:37 +0000
X-WSS-ID: 0M4HA9T-02-4E0-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 245F2C80B3;	Wed, 23 May 2012 08:46:40 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 08:46:57 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 08:46:45 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	09:46:42 -0400
Message-ID: <4FBCEA62.7080704@amd.com>
Date: Wed, 23 May 2012 15:47:14 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com> <20412.49592
In-Reply-To: <1337778752.27368.90.camel@Solace>
X-OriginatorOrg: amd.com
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjMvMTIgMTU6MTIsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgoKPiBPbiBXZWQsIDIwMTIt
MDUtMjMgYXQgMTQ6NDkgKzAyMDAsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgo+PiBQcm9ibGVtIGFy
aXNlcwo+PiB3aXRoIGF1dG8tZ2VuZXJhdGVkIGNvZGUsIGUuZy4sIGluIGdlbnR5cGVzLnB5IGZv
ciBidWlsZF9pbmZvIHJlbGF0ZWQKPj4gZnVuY3Rpb25zLiBJbiB0aGlzIGNhc2UsIGluIGZhY3Qs
IHRoZSBsaWJ4bF9kb21haW5fdHlwZSBlbnVtIGlzIHRoZSBrZXkKPj4gb2YgdGhlIGtleWVkLXVu
aW9uLiBGb3IgdGhvc2UgY2FzZXMsIEkgd2FzIHRoaW5raW5nIGF0IHNvbWV0aGluZyBsaWtlCj4+
IHRoZSBiZWxvdzoKPj4KPj4gICAgIGlmIGlzaW5zdGFuY2UodHksIGlkbC5LZXllZFVuaW9uKToK
Pj4gICAgICAgICBpZiBwYXJlbnQgaXMgTm9uZToKPj4gICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCJLZXllZFVuaW9uIHR5cGUgbXVzdCBoYXZlIGEgcGFyZW50IikKPj4gICAgICAgICBzICs9
ICJzd2l0Y2ggKCVzKSB7XG4iICUgKHBhcmVudCArIHR5LmtleXZhci5uYW1lKQo+PiAgICAgICAg
IGZvciBmIGluIHR5LmZpZWxkczoKPj4gICAgICAgICAgICAgKG5wYXJlbnQsZmV4cHIpID0gdHku
bWVtYmVyKHYsIGYsIHBhcmVudCBpcyBOb25lKQo+PiAgICAgICAgICAgICBzICs9ICJjYXNlICVz
OlxuIiAlIGYuZW51bW5hbWUKPj4gICAgICAgICAgICAgcyArPSBsaWJ4bF9DX3R5cGVfZGlzcG9z
ZShmLnR5cGUsIGZleHByLCBpbmRlbnQgKyAiICAgICIsIG5wYXJlbnQpCj4+ICAgICAgICAgICAg
IHMgKz0gIiAgICBicmVhaztcbiIKPj4gKyAgICAgICBzICs9ICJkZWZhdWx0OlxuICAgIGJyZWFr
O1xuIjsKPj4gICAgICAgICBzICs9ICJ9XG4iCj4+Cj4+IFdvdWxkIGl0IG1ha2Ugc2Vuc2U/Cj4+
Cj4gTGlrZSB0aGlzIHRoaW5nIGJlbG93Lgo+IAo+IENocmlzdG9waCwgdGhpcyBlbmRlZCB1cCBl
eHRlbmRpbmcgd2hhdCB5b3Ugc2VudCBhdCB0aGUgdmVyeSBiZWdpbm5pbmcKPiBvZiB0aGlzIHRo
cmVhZCwgc28gSSB0aGluayB3ZSBzaG91bGQgYm90aCBzaWduLW9mZi1ieSBpdCAoYW5kIHRodXMg
aXQKPiB0b29rIHRoZSBsaWJlcnR5IGdvaW5nIGFoZWFkIGFuZCBhZGRpbmcgeW91cnMpLCBkbyB5
b3UgYWdyZWU/CgoKWWVzLCBJIGFncmVlLgoKQ2hyaXN0b3BoCgoKPiAKPiA8LS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KPiAKPiBsaWJ4bDogaW50cm9kdWNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFM
SUQKPiAKPiBUbyBhdm9pZCByZWNlbnQgZ2NjIGNvbXBsYWluaW5nIGFib3V0Ogo+IGxpYnhsLmM6
IEluIGZ1bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6
MTIzMzo5OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJh
dGVkIHR5cGUg4oCYbGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IEFk
anVzdCBjb2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBjbGFpbSB0aGF0Cj4gTElC
WExfRE9NQUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5
OiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiBTaWduZWQtb2Zm
LWJ5OiBDaHJpc3RvcGggRWdnZXIgPENocmlzdG9waC5FZ2dlckBhbWQuY29tPgo+IAo+IGRpZmYg
LXIgNmRjODBkZjUwZmE4IHRvb2xzL2xpYnhsL2dlbnRlc3QucHkKPiAtLS0gYS90b29scy9saWJ4
bC9nZW50ZXN0LnB5CVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsrKyBiL3Rvb2xz
L2xpYnhsL2dlbnRlc3QucHkJV2VkIE1heSAyMyAxNTowNToyMCAyMDEyICswMjAwCj4gQEAgLTM3
LDYgKzM3LDggQEAgZGVmIGdlbl9yYW5kX2luaXQodHksIHYsIGluZGVudCA9ICIgICAgIgo+ICAg
ICAgICAgICAgICBzICs9ICJjYXNlICVzOlxuIiAlIGYuZW51bW5hbWUKPiAgICAgICAgICAgICAg
cyArPSBnZW5fcmFuZF9pbml0KGYudHlwZSwgZmV4cHIsIGluZGVudCArICIgICAgIiwgbnBhcmVu
dCkKPiAgICAgICAgICAgICAgcyArPSAiICAgIGJyZWFrO1xuIgo+ICsgICAgICAgIHMgKz0gImRl
ZmF1bHQ6XG4iOwo+ICsgICAgICAgIHMgKz0gIiAgICBicmVhaztcbiI7Cj4gICAgICAgICAgcyAr
PSAifVxuIgo+ICAgICAgZWxpZiBpc2luc3RhbmNlKHR5LCBpZGwuU3RydWN0KSBcCj4gICAgICAg
YW5kIChwYXJlbnQgaXMgTm9uZSBvciB0eS5qc29uX2ZuIGlzIE5vbmUpOgo+IGRpZmYgLXIgNmRj
ODBkZjUwZmE4IHRvb2xzL2xpYnhsL2dlbnR5cGVzLnB5Cj4gLS0tIGEvdG9vbHMvbGlieGwvZ2Vu
dHlwZXMucHkJVHVlIE1heSAyMiAxNjozMDoxMSAyMDEyICswMjAwCj4gKysrIGIvdG9vbHMvbGli
eGwvZ2VudHlwZXMucHkJV2VkIE1heSAyMyAxNTowNToyMCAyMDEyICswMjAwCj4gQEAgLTY1LDYg
KzY1LDggQEAgZGVmIGxpYnhsX0NfdHlwZV9kaXNwb3NlKHR5LCB2LCBpbmRlbnQgPQo+ICAgICAg
ICAgICAgICBzICs9ICJjYXNlICVzOlxuIiAlIGYuZW51bW5hbWUKPiAgICAgICAgICAgICAgcyAr
PSBsaWJ4bF9DX3R5cGVfZGlzcG9zZShmLnR5cGUsIGZleHByLCBpbmRlbnQgKyAiICAgICIsIG5w
YXJlbnQpCj4gICAgICAgICAgICAgIHMgKz0gIiAgICBicmVhaztcbiIKPiArICAgICAgICBzICs9
ICJkZWZhdWx0OlxuIjsKPiArICAgICAgICBzICs9ICIgICAgYnJlYWs7XG4iOwo+ICAgICAgICAg
IHMgKz0gIn1cbiIKPiAgICAgIGVsaWYgaXNpbnN0YW5jZSh0eSwgaWRsLlN0cnVjdCkgYW5kIChw
YXJlbnQgaXMgTm9uZSBvciB0eS5kaXNwb3NlX2ZuIGlzIE5vbmUpOgo+ICAgICAgICAgIGZvciBm
IGluIFtmIGZvciBmIGluIHR5LmZpZWxkcyBpZiBub3QgZi5jb25zdF06Cj4gQEAgLTk4LDYgKzEw
MCw4IEBAIGRlZiBfbGlieGxfQ190eXBlX2luaXQodHksIHYsIGluZGVudCA9ICIKPiAgICAgICAg
ICAgICAgICAgIHMgKz0gImNhc2UgJXM6XG4iICUgZi5lbnVtbmFtZQo+ICAgICAgICAgICAgICAg
ICAgcyArPSBfbGlieGxfQ190eXBlX2luaXQoZi50eXBlLCBmZXhwciwgIiAgICAiLCBucGFyZW50
KQo+ICAgICAgICAgICAgICAgICAgcyArPSAiICAgIGJyZWFrO1xuIgo+ICsgICAgICAgICAgICBz
ICs9ICJkZWZhdWx0OlxuIjsKPiArICAgICAgICAgICAgcyArPSAiICAgIGJyZWFrO1xuIjsKPiAg
ICAgICAgICAgICAgcyArPSAifVxuIgo+ICAgICAgICAgIGVsc2U6Cj4gICAgICAgICAgICAgIGlm
IHR5LmtleXZhci5pbml0X3ZhbDoKPiBAQCAtMTc3LDYgKzE4MSw4IEBAIGRlZiBsaWJ4bF9DX3R5
cGVfZ2VuX2pzb24odHksIHYsIGluZGVudCAKPiAgICAgICAgICAgICAgcyArPSAiY2FzZSAlczpc
biIgJSBmLmVudW1uYW1lCj4gICAgICAgICAgICAgIHMgKz0gbGlieGxfQ190eXBlX2dlbl9qc29u
KGYudHlwZSwgZmV4cHIsIGluZGVudCArICIgICAgIiwgbnBhcmVudCkKPiAgICAgICAgICAgICAg
cyArPSAiICAgIGJyZWFrO1xuIgo+ICsgICAgICAgIHMgKz0gImRlZmF1bHQ6XG4iOwo+ICsgICAg
ICAgIHMgKz0gIiAgICBicmVhaztcbiI7Cj4gICAgICAgICAgcyArPSAifVxuIgo+ICAgICAgZWxp
ZiBpc2luc3RhbmNlKHR5LCBpZGwuU3RydWN0KSBhbmQgKHBhcmVudCBpcyBOb25lIG9yIHR5Lmpz
b25fZm4gaXMgTm9uZSk6Cj4gICAgICAgICAgcyArPSAicyA9IHlhamxfZ2VuX21hcF9vcGVuKGhh
bmQpO1xuIgo+IGRpZmYgLXIgNmRjODBkZjUwZmE4IHRvb2xzL2xpYnhsL2xpYnhsLmMKPiAtLS0g
YS90b29scy9saWJ4bC9saWJ4bC5jCVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMJV2VkIE1heSAyMyAxNTowNToyMCAyMDEyICswMjAwCj4g
QEAgLTEyMzAsNyArMTIzMCw3IEBAIGludCBsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhlYyhsaWJ4
bF9jdHgKPiAgICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgo+ICAgICAgICAgICAg
ICByYyA9IGxpYnhsX2NvbnNvbGVfZXhlYyhjdHgsIGRvbWlkX3ZtLCAwLCBMSUJYTF9DT05TT0xF
X1RZUEVfUFYpOwo+ICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICBjYXNlIC0xOgo+ICsg
ICAgICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiAgICAgICAgICAgICAgTE9H
KEVSUk9SLCJ1bmFibGUgdG8gZ2V0IGRvbWFpbiB0eXBlIGZvciBkb21pZD0lIlBSSXUzMixkb21p
ZF92bSk7Cj4gICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKPiAgICAgICAgICAgICAgYnJl
YWs7Cj4gZGlmZiAtciA2ZGM4MGRmNTBmYTggdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+IC0tLSBh
L3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJVHVlIE1heSAyMiAxNjozMDoxMSAyMDEyICswMjAwCj4g
KysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlXZWQgTWF5IDIzIDE1OjA1OjIwIDIwMTIgKzAy
MDAKPiBAQCAtMjU3LDYgKzI1Nyw4IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZp
Y2VfbW9kZWwKPiAgICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBiX2lu
Zm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCj4gICAgICAgICAgICAgIGZsZXhhcnJheV9h
cHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1baV0pOwo+ICAgICAgICAgIGJyZWFrOwo+
ICsgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ICsgICAgICAgIGJyZWFrOwo+
ICAgICAgfQo+ICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKPiAgICAgIHJl
dHVybiAoY2hhciAqKikgZmxleGFycmF5X2NvbnRlbnRzKGRtX2FyZ3MpOwo+IEBAIC01MDUsNiAr
NTA3LDggQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAo+ICAgICAg
ICAgIGZvciAoaSA9IDA7IGJfaW5mby0+ZXh0cmFfaHZtICYmIGJfaW5mby0+ZXh0cmFfaHZtW2ld
ICE9IE5VTEw7IGkrKykKPiAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBi
X2luZm8tPmV4dHJhX2h2bVtpXSk7Cj4gICAgICAgICAgYnJlYWs7Cj4gKyAgICBjYXNlIExJQlhM
X0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gKyAgICAgICAgYnJlYWs7Cj4gICAgICB9Cj4gIAo+ICAg
ICAgcmFtX3NpemUgPSBsaWJ4bF9fc2l6ZWtiX3RvX21iKGJfaW5mby0+bWF4X21lbWtiIC0gYl9p
bmZvLT52aWRlb19tZW1rYik7Cj4gZGlmZiAtciA2ZGM4MGRmNTBmYTggdG9vbHMvbGlieGwvbGli
eGxfZG9tLmMKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb20uYwlUdWUgTWF5IDIyIDE2OjMw
OjExIDIwMTIgKzAyMDAKPiArKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwlXZWQgTWF5IDIz
IDE1OjA1OjIwIDIwMTIgKzAyMDAKPiBAQCAtMzMsOSArMzMsOSBAQCBsaWJ4bF9kb21haW5fdHlw
ZSBsaWJ4bF9fZG9tYWluX3R5cGUobGliCj4gIAo+ICAgICAgcmV0ID0geGNfZG9tYWluX2dldGlu
Zm9saXN0KGN0eC0+eGNoLCBkb21pZCwgMSwgJmluZm8pOwo+ICAgICAgaWYgKHJldCAhPSAxKQo+
IC0gICAgICAgIHJldHVybiAtMTsKPiArICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVf
SU5WQUxJRDsKPiAgICAgIGlmIChpbmZvLmRvbWFpbiAhPSBkb21pZCkKPiAtICAgICAgICByZXR1
cm4gLTE7Cj4gKyAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ7Cj4gICAg
ICBpZiAoaW5mby5mbGFncyAmIFhFTl9ET01JTkZfaHZtX2d1ZXN0KQo+ICAgICAgICAgIHJldHVy
biBMSUJYTF9ET01BSU5fVFlQRV9IVk07Cj4gICAgICBlbHNlCj4gZGlmZiAtciA2ZGM4MGRmNTBm
YTggdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf
dHlwZXMuaWRsCVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsrKyBiL3Rvb2xzL2xp
YnhsL2xpYnhsX3R5cGVzLmlkbAlXZWQgTWF5IDIzIDE1OjA1OjIwIDIwMTIgKzAyMDAKPiBAQCAt
MzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJbnQoNjQsIGluaXRfdmFsID0gIkxJQlhMX01FTUtCCj4g
ICMKPiAgCj4gIGxpYnhsX2RvbWFpbl90eXBlID0gRW51bWVyYXRpb24oImRvbWFpbl90eXBlIiwg
Wwo+ICsgICAgKC0xLCAiSU5WQUxJRCIpLAo+ICAgICAgKDEsICJIVk0iKSwKPiAgICAgICgyLCAi
UFYiKSwKPiAgICAgIF0pCj4gCj4gCgoKCi0tIAotLS10byBzYXRpc2Z5IEV1cm9wZWFuIExhdyBm
b3IgYnVzaW5lc3MgbGV0dGVyczoKQWR2YW5jZWQgTWljcm8gRGV2aWNlcyBHbWJICkVpbnN0ZWlu
cmluZyAyNCwgODU2ODkgRG9ybmFjaCBiLiBNdWVuY2hlbgpHZXNjaGFlZnRzZnVlaHJlcjogQWxi
ZXJ0byBCb3p6bywgQW5kcmV3IEJvd2QKU2l0ejogRG9ybmFjaCwgR2VtZWluZGUgQXNjaGhlaW0s
IExhbmRrcmVpcyBNdWVuY2hlbgpSZWdpc3RlcmdlcmljaHQgTXVlbmNoZW4sIEhSQiBOci4gNDM2
MzIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54
ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 13:47:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 13:47:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXBtx-0000VJ-I0; Wed, 23 May 2012 13:46:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXBtv-0000VE-Ub
	for xen-devel@lists.xen.org; Wed, 23 May 2012 13:46:56 +0000
Received: from [85.158.139.83:20016] by server-4.bemta-5.messagelabs.com id
	BE/AF-09525-F4AECBF4; Wed, 23 May 2012 13:46:55 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337780811!29262109!1
X-Originating-IP: [216.32.181.182]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29024 invoked from network); 23 May 2012 13:46:53 -0000
Received: from ch1ehsobe002.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.182)
	by server-9.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	23 May 2012 13:46:53 -0000
Received: from mail58-ch1-R.bigfish.com (10.43.68.231) by
	CH1EHSOBE012.bigfish.com (10.43.70.62) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:46:41 +0000
Received: from mail58-ch1 (localhost [127.0.0.1])	by mail58-ch1-R.bigfish.com
	(Postfix) with ESMTP id DD8A32600A8;
	Wed, 23 May 2012 13:46:35 +0000 (UTC)
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dIc89bh936eK1432N98dKzz1202hzz8275bhz2dh668h839h93fhd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail58-ch1 (localhost.localdomain [127.0.0.1]) by mail58-ch1
	(MessageSwitch) id 1337780793644050_21675;
	Wed, 23 May 2012 13:46:33 +0000 (UTC)
Received: from CH1EHSMHS008.bigfish.com (snatpool2.int.messaging.microsoft.com
	[10.43.68.231])	by mail58-ch1.bigfish.com (Postfix) with ESMTP id
	94A514C009B;	Wed, 23 May 2012 13:46:33 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS008.bigfish.com (10.43.70.8) with Microsoft SMTP Server id
	14.1.225.23; Wed, 23 May 2012 13:46:37 +0000
X-WSS-ID: 0M4HA9T-02-4E0-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 245F2C80B3;	Wed, 23 May 2012 08:46:40 -0500 (CDT)
Received: from SAUSEXDAG06.amd.com (163.181.55.7) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 23 May 2012 08:46:57 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag06.amd.com
	(163.181.55.7) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 23 May 2012 08:46:45 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	09:46:42 -0400
Message-ID: <4FBCEA62.7080704@amd.com>
Date: Wed, 23 May 2012 15:47:14 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com> <20412.49592
In-Reply-To: <1337778752.27368.90.camel@Solace>
X-OriginatorOrg: amd.com
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gMDUvMjMvMTIgMTU6MTIsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgoKPiBPbiBXZWQsIDIwMTIt
MDUtMjMgYXQgMTQ6NDkgKzAyMDAsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgo+PiBQcm9ibGVtIGFy
aXNlcwo+PiB3aXRoIGF1dG8tZ2VuZXJhdGVkIGNvZGUsIGUuZy4sIGluIGdlbnR5cGVzLnB5IGZv
ciBidWlsZF9pbmZvIHJlbGF0ZWQKPj4gZnVuY3Rpb25zLiBJbiB0aGlzIGNhc2UsIGluIGZhY3Qs
IHRoZSBsaWJ4bF9kb21haW5fdHlwZSBlbnVtIGlzIHRoZSBrZXkKPj4gb2YgdGhlIGtleWVkLXVu
aW9uLiBGb3IgdGhvc2UgY2FzZXMsIEkgd2FzIHRoaW5raW5nIGF0IHNvbWV0aGluZyBsaWtlCj4+
IHRoZSBiZWxvdzoKPj4KPj4gICAgIGlmIGlzaW5zdGFuY2UodHksIGlkbC5LZXllZFVuaW9uKToK
Pj4gICAgICAgICBpZiBwYXJlbnQgaXMgTm9uZToKPj4gICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCJLZXllZFVuaW9uIHR5cGUgbXVzdCBoYXZlIGEgcGFyZW50IikKPj4gICAgICAgICBzICs9
ICJzd2l0Y2ggKCVzKSB7XG4iICUgKHBhcmVudCArIHR5LmtleXZhci5uYW1lKQo+PiAgICAgICAg
IGZvciBmIGluIHR5LmZpZWxkczoKPj4gICAgICAgICAgICAgKG5wYXJlbnQsZmV4cHIpID0gdHku
bWVtYmVyKHYsIGYsIHBhcmVudCBpcyBOb25lKQo+PiAgICAgICAgICAgICBzICs9ICJjYXNlICVz
OlxuIiAlIGYuZW51bW5hbWUKPj4gICAgICAgICAgICAgcyArPSBsaWJ4bF9DX3R5cGVfZGlzcG9z
ZShmLnR5cGUsIGZleHByLCBpbmRlbnQgKyAiICAgICIsIG5wYXJlbnQpCj4+ICAgICAgICAgICAg
IHMgKz0gIiAgICBicmVhaztcbiIKPj4gKyAgICAgICBzICs9ICJkZWZhdWx0OlxuICAgIGJyZWFr
O1xuIjsKPj4gICAgICAgICBzICs9ICJ9XG4iCj4+Cj4+IFdvdWxkIGl0IG1ha2Ugc2Vuc2U/Cj4+
Cj4gTGlrZSB0aGlzIHRoaW5nIGJlbG93Lgo+IAo+IENocmlzdG9waCwgdGhpcyBlbmRlZCB1cCBl
eHRlbmRpbmcgd2hhdCB5b3Ugc2VudCBhdCB0aGUgdmVyeSBiZWdpbm5pbmcKPiBvZiB0aGlzIHRo
cmVhZCwgc28gSSB0aGluayB3ZSBzaG91bGQgYm90aCBzaWduLW9mZi1ieSBpdCAoYW5kIHRodXMg
aXQKPiB0b29rIHRoZSBsaWJlcnR5IGdvaW5nIGFoZWFkIGFuZCBhZGRpbmcgeW91cnMpLCBkbyB5
b3UgYWdyZWU/CgoKWWVzLCBJIGFncmVlLgoKQ2hyaXN0b3BoCgoKPiAKPiA8LS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KPiAKPiBsaWJ4bDogaW50cm9kdWNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFM
SUQKPiAKPiBUbyBhdm9pZCByZWNlbnQgZ2NjIGNvbXBsYWluaW5nIGFib3V0Ogo+IGxpYnhsLmM6
IEluIGZ1bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6
MTIzMzo5OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJh
dGVkIHR5cGUg4oCYbGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IEFk
anVzdCBjb2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBjbGFpbSB0aGF0Cj4gTElC
WExfRE9NQUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5
OiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiBTaWduZWQtb2Zm
LWJ5OiBDaHJpc3RvcGggRWdnZXIgPENocmlzdG9waC5FZ2dlckBhbWQuY29tPgo+IAo+IGRpZmYg
LXIgNmRjODBkZjUwZmE4IHRvb2xzL2xpYnhsL2dlbnRlc3QucHkKPiAtLS0gYS90b29scy9saWJ4
bC9nZW50ZXN0LnB5CVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsrKyBiL3Rvb2xz
L2xpYnhsL2dlbnRlc3QucHkJV2VkIE1heSAyMyAxNTowNToyMCAyMDEyICswMjAwCj4gQEAgLTM3
LDYgKzM3LDggQEAgZGVmIGdlbl9yYW5kX2luaXQodHksIHYsIGluZGVudCA9ICIgICAgIgo+ICAg
ICAgICAgICAgICBzICs9ICJjYXNlICVzOlxuIiAlIGYuZW51bW5hbWUKPiAgICAgICAgICAgICAg
cyArPSBnZW5fcmFuZF9pbml0KGYudHlwZSwgZmV4cHIsIGluZGVudCArICIgICAgIiwgbnBhcmVu
dCkKPiAgICAgICAgICAgICAgcyArPSAiICAgIGJyZWFrO1xuIgo+ICsgICAgICAgIHMgKz0gImRl
ZmF1bHQ6XG4iOwo+ICsgICAgICAgIHMgKz0gIiAgICBicmVhaztcbiI7Cj4gICAgICAgICAgcyAr
PSAifVxuIgo+ICAgICAgZWxpZiBpc2luc3RhbmNlKHR5LCBpZGwuU3RydWN0KSBcCj4gICAgICAg
YW5kIChwYXJlbnQgaXMgTm9uZSBvciB0eS5qc29uX2ZuIGlzIE5vbmUpOgo+IGRpZmYgLXIgNmRj
ODBkZjUwZmE4IHRvb2xzL2xpYnhsL2dlbnR5cGVzLnB5Cj4gLS0tIGEvdG9vbHMvbGlieGwvZ2Vu
dHlwZXMucHkJVHVlIE1heSAyMiAxNjozMDoxMSAyMDEyICswMjAwCj4gKysrIGIvdG9vbHMvbGli
eGwvZ2VudHlwZXMucHkJV2VkIE1heSAyMyAxNTowNToyMCAyMDEyICswMjAwCj4gQEAgLTY1LDYg
KzY1LDggQEAgZGVmIGxpYnhsX0NfdHlwZV9kaXNwb3NlKHR5LCB2LCBpbmRlbnQgPQo+ICAgICAg
ICAgICAgICBzICs9ICJjYXNlICVzOlxuIiAlIGYuZW51bW5hbWUKPiAgICAgICAgICAgICAgcyAr
PSBsaWJ4bF9DX3R5cGVfZGlzcG9zZShmLnR5cGUsIGZleHByLCBpbmRlbnQgKyAiICAgICIsIG5w
YXJlbnQpCj4gICAgICAgICAgICAgIHMgKz0gIiAgICBicmVhaztcbiIKPiArICAgICAgICBzICs9
ICJkZWZhdWx0OlxuIjsKPiArICAgICAgICBzICs9ICIgICAgYnJlYWs7XG4iOwo+ICAgICAgICAg
IHMgKz0gIn1cbiIKPiAgICAgIGVsaWYgaXNpbnN0YW5jZSh0eSwgaWRsLlN0cnVjdCkgYW5kIChw
YXJlbnQgaXMgTm9uZSBvciB0eS5kaXNwb3NlX2ZuIGlzIE5vbmUpOgo+ICAgICAgICAgIGZvciBm
IGluIFtmIGZvciBmIGluIHR5LmZpZWxkcyBpZiBub3QgZi5jb25zdF06Cj4gQEAgLTk4LDYgKzEw
MCw4IEBAIGRlZiBfbGlieGxfQ190eXBlX2luaXQodHksIHYsIGluZGVudCA9ICIKPiAgICAgICAg
ICAgICAgICAgIHMgKz0gImNhc2UgJXM6XG4iICUgZi5lbnVtbmFtZQo+ICAgICAgICAgICAgICAg
ICAgcyArPSBfbGlieGxfQ190eXBlX2luaXQoZi50eXBlLCBmZXhwciwgIiAgICAiLCBucGFyZW50
KQo+ICAgICAgICAgICAgICAgICAgcyArPSAiICAgIGJyZWFrO1xuIgo+ICsgICAgICAgICAgICBz
ICs9ICJkZWZhdWx0OlxuIjsKPiArICAgICAgICAgICAgcyArPSAiICAgIGJyZWFrO1xuIjsKPiAg
ICAgICAgICAgICAgcyArPSAifVxuIgo+ICAgICAgICAgIGVsc2U6Cj4gICAgICAgICAgICAgIGlm
IHR5LmtleXZhci5pbml0X3ZhbDoKPiBAQCAtMTc3LDYgKzE4MSw4IEBAIGRlZiBsaWJ4bF9DX3R5
cGVfZ2VuX2pzb24odHksIHYsIGluZGVudCAKPiAgICAgICAgICAgICAgcyArPSAiY2FzZSAlczpc
biIgJSBmLmVudW1uYW1lCj4gICAgICAgICAgICAgIHMgKz0gbGlieGxfQ190eXBlX2dlbl9qc29u
KGYudHlwZSwgZmV4cHIsIGluZGVudCArICIgICAgIiwgbnBhcmVudCkKPiAgICAgICAgICAgICAg
cyArPSAiICAgIGJyZWFrO1xuIgo+ICsgICAgICAgIHMgKz0gImRlZmF1bHQ6XG4iOwo+ICsgICAg
ICAgIHMgKz0gIiAgICBicmVhaztcbiI7Cj4gICAgICAgICAgcyArPSAifVxuIgo+ICAgICAgZWxp
ZiBpc2luc3RhbmNlKHR5LCBpZGwuU3RydWN0KSBhbmQgKHBhcmVudCBpcyBOb25lIG9yIHR5Lmpz
b25fZm4gaXMgTm9uZSk6Cj4gICAgICAgICAgcyArPSAicyA9IHlhamxfZ2VuX21hcF9vcGVuKGhh
bmQpO1xuIgo+IGRpZmYgLXIgNmRjODBkZjUwZmE4IHRvb2xzL2xpYnhsL2xpYnhsLmMKPiAtLS0g
YS90b29scy9saWJ4bC9saWJ4bC5jCVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMJV2VkIE1heSAyMyAxNTowNToyMCAyMDEyICswMjAwCj4g
QEAgLTEyMzAsNyArMTIzMCw3IEBAIGludCBsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhlYyhsaWJ4
bF9jdHgKPiAgICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgo+ICAgICAgICAgICAg
ICByYyA9IGxpYnhsX2NvbnNvbGVfZXhlYyhjdHgsIGRvbWlkX3ZtLCAwLCBMSUJYTF9DT05TT0xF
X1RZUEVfUFYpOwo+ICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICBjYXNlIC0xOgo+ICsg
ICAgICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiAgICAgICAgICAgICAgTE9H
KEVSUk9SLCJ1bmFibGUgdG8gZ2V0IGRvbWFpbiB0eXBlIGZvciBkb21pZD0lIlBSSXUzMixkb21p
ZF92bSk7Cj4gICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKPiAgICAgICAgICAgICAgYnJl
YWs7Cj4gZGlmZiAtciA2ZGM4MGRmNTBmYTggdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+IC0tLSBh
L3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJVHVlIE1heSAyMiAxNjozMDoxMSAyMDEyICswMjAwCj4g
KysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwlXZWQgTWF5IDIzIDE1OjA1OjIwIDIwMTIgKzAy
MDAKPiBAQCAtMjU3LDYgKzI1Nyw4IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZp
Y2VfbW9kZWwKPiAgICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBiX2lu
Zm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCj4gICAgICAgICAgICAgIGZsZXhhcnJheV9h
cHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1baV0pOwo+ICAgICAgICAgIGJyZWFrOwo+
ICsgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ICsgICAgICAgIGJyZWFrOwo+
ICAgICAgfQo+ICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKPiAgICAgIHJl
dHVybiAoY2hhciAqKikgZmxleGFycmF5X2NvbnRlbnRzKGRtX2FyZ3MpOwo+IEBAIC01MDUsNiAr
NTA3LDggQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAo+ICAgICAg
ICAgIGZvciAoaSA9IDA7IGJfaW5mby0+ZXh0cmFfaHZtICYmIGJfaW5mby0+ZXh0cmFfaHZtW2ld
ICE9IE5VTEw7IGkrKykKPiAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBi
X2luZm8tPmV4dHJhX2h2bVtpXSk7Cj4gICAgICAgICAgYnJlYWs7Cj4gKyAgICBjYXNlIExJQlhM
X0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gKyAgICAgICAgYnJlYWs7Cj4gICAgICB9Cj4gIAo+ICAg
ICAgcmFtX3NpemUgPSBsaWJ4bF9fc2l6ZWtiX3RvX21iKGJfaW5mby0+bWF4X21lbWtiIC0gYl9p
bmZvLT52aWRlb19tZW1rYik7Cj4gZGlmZiAtciA2ZGM4MGRmNTBmYTggdG9vbHMvbGlieGwvbGli
eGxfZG9tLmMKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb20uYwlUdWUgTWF5IDIyIDE2OjMw
OjExIDIwMTIgKzAyMDAKPiArKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwlXZWQgTWF5IDIz
IDE1OjA1OjIwIDIwMTIgKzAyMDAKPiBAQCAtMzMsOSArMzMsOSBAQCBsaWJ4bF9kb21haW5fdHlw
ZSBsaWJ4bF9fZG9tYWluX3R5cGUobGliCj4gIAo+ICAgICAgcmV0ID0geGNfZG9tYWluX2dldGlu
Zm9saXN0KGN0eC0+eGNoLCBkb21pZCwgMSwgJmluZm8pOwo+ICAgICAgaWYgKHJldCAhPSAxKQo+
IC0gICAgICAgIHJldHVybiAtMTsKPiArICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVf
SU5WQUxJRDsKPiAgICAgIGlmIChpbmZvLmRvbWFpbiAhPSBkb21pZCkKPiAtICAgICAgICByZXR1
cm4gLTE7Cj4gKyAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ7Cj4gICAg
ICBpZiAoaW5mby5mbGFncyAmIFhFTl9ET01JTkZfaHZtX2d1ZXN0KQo+ICAgICAgICAgIHJldHVy
biBMSUJYTF9ET01BSU5fVFlQRV9IVk07Cj4gICAgICBlbHNlCj4gZGlmZiAtciA2ZGM4MGRmNTBm
YTggdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf
dHlwZXMuaWRsCVR1ZSBNYXkgMjIgMTY6MzA6MTEgMjAxMiArMDIwMAo+ICsrKyBiL3Rvb2xzL2xp
YnhsL2xpYnhsX3R5cGVzLmlkbAlXZWQgTWF5IDIzIDE1OjA1OjIwIDIwMTIgKzAyMDAKPiBAQCAt
MzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJbnQoNjQsIGluaXRfdmFsID0gIkxJQlhMX01FTUtCCj4g
ICMKPiAgCj4gIGxpYnhsX2RvbWFpbl90eXBlID0gRW51bWVyYXRpb24oImRvbWFpbl90eXBlIiwg
Wwo+ICsgICAgKC0xLCAiSU5WQUxJRCIpLAo+ICAgICAgKDEsICJIVk0iKSwKPiAgICAgICgyLCAi
UFYiKSwKPiAgICAgIF0pCj4gCj4gCgoKCi0tIAotLS10byBzYXRpc2Z5IEV1cm9wZWFuIExhdyBm
b3IgYnVzaW5lc3MgbGV0dGVyczoKQWR2YW5jZWQgTWljcm8gRGV2aWNlcyBHbWJICkVpbnN0ZWlu
cmluZyAyNCwgODU2ODkgRG9ybmFjaCBiLiBNdWVuY2hlbgpHZXNjaGFlZnRzZnVlaHJlcjogQWxi
ZXJ0byBCb3p6bywgQW5kcmV3IEJvd2QKU2l0ejogRG9ybmFjaCwgR2VtZWluZGUgQXNjaGhlaW0s
IExhbmRrcmVpcyBNdWVuY2hlbgpSZWdpc3RlcmdlcmljaHQgTXVlbmNoZW4sIEhSQiBOci4gNDM2
MzIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54
ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 14:15:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:15:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCLe-0000rI-Ry; Wed, 23 May 2012 14:15:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SXCLd-0000rA-5z
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:15:33 +0000
Received: from [85.158.138.51:53413] by server-11.bemta-3.messagelabs.com id
	A5/A0-20431-401FCBF4; Wed, 23 May 2012 14:15:32 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337782530!26959057!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16032 invoked from network); 23 May 2012 14:15:31 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 14:15:31 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NEFP0B019840
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 14:15:26 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NEFOGB014811
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 14:15:25 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NEFORu031317; Wed, 23 May 2012 09:15:24 -0500
MIME-Version: 1.0
Message-ID: <04d92227-79c4-4c33-9665-05cff0f97002@default>
Date: Wed, 23 May 2012 07:15:20 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: rshriram@cs.ubc.ca, Frediano Ziglio <frediano.ziglio@citrix.com>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
	<CAP8mzPMxuAw5TgbMfa9crxSr_T-c3Wq+1aK8UUGpZXYKnWZdHg@mail.gmail.com>
In-Reply-To: <CAP8mzPMxuAw5TgbMfa9crxSr_T-c3Wq+1aK8UUGpZXYKnWZdHg@mail.gmail.com>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com, Ian Campbell <ian.campbell@citrix.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Shriram Rajagopalan [mailto:rshriram@cs.ubc.ca]
> Subject: Re: [Xen-devel] Possible error restoring machine
> 
> Yep. Only in Remus case. As stated above, havent come across anyone
> using Remus + tmem and/or dont know if it would work properly. I dont
> know the semantics of tmem enough to comment on remus+tmem, whether
> it makes sense or not, etc..

An interesting question... from what I remember about Remus
(it's been a few years now since I looked at it), they
can't co-exist I think.  To Remus, tmem is like a hidden
hypervisor-private local disk and the writes to it don't
get captured/replicated by Remus.  I think this is fixable
but I don't think the fix would be easy.

But this is just a few seconds of thought, so I may be
all wrong.

Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:15:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:15:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCLe-0000rI-Ry; Wed, 23 May 2012 14:15:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dan.magenheimer@oracle.com>) id 1SXCLd-0000rA-5z
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:15:33 +0000
Received: from [85.158.138.51:53413] by server-11.bemta-3.messagelabs.com id
	A5/A0-20431-401FCBF4; Wed, 23 May 2012 14:15:32 +0000
X-Env-Sender: dan.magenheimer@oracle.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337782530!26959057!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16032 invoked from network); 23 May 2012 14:15:31 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 14:15:31 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NEFP0B019840
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 14:15:26 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NEFOGB014811
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 14:15:25 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NEFORu031317; Wed, 23 May 2012 09:15:24 -0500
MIME-Version: 1.0
Message-ID: <04d92227-79c4-4c33-9665-05cff0f97002@default>
Date: Wed, 23 May 2012 07:15:20 -0700 (PDT)
From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: rshriram@cs.ubc.ca, Frediano Ziglio <frediano.ziglio@citrix.com>
References: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431483@LONPMAILBOX01.citrite.net>
	<CAP8mzPMxuAw5TgbMfa9crxSr_T-c3Wq+1aK8UUGpZXYKnWZdHg@mail.gmail.com>
In-Reply-To: <CAP8mzPMxuAw5TgbMfa9crxSr_T-c3Wq+1aK8UUGpZXYKnWZdHg@mail.gmail.com>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.6  (510070) [OL
	12.0.6607.1000 (x86)]
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com, Ian Campbell <ian.campbell@citrix.com>
Subject: Re: [Xen-devel] Possible error restoring machine
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> From: Shriram Rajagopalan [mailto:rshriram@cs.ubc.ca]
> Subject: Re: [Xen-devel] Possible error restoring machine
> 
> Yep. Only in Remus case. As stated above, havent come across anyone
> using Remus + tmem and/or dont know if it would work properly. I dont
> know the semantics of tmem enough to comment on remus+tmem, whether
> it makes sense or not, etc..

An interesting question... from what I remember about Remus
(it's been a few years now since I looked at it), they
can't co-exist I think.  To Remus, tmem is like a hidden
hypervisor-private local disk and the writes to it don't
get captured/replicated by Remus.  I think this is fixable
but I don't think the fix would be easy.

But this is just a few seconds of thought, so I may be
all wrong.

Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:27:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCWq-00014X-56; Wed, 23 May 2012 14:27:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXCWo-00014S-Mk
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:27:06 +0000
Received: from [85.158.139.83:36009] by server-9.bemta-5.messagelabs.com id
	15/09-18212-9B3FCBF4; Wed, 23 May 2012 14:27:05 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337783224!29271648!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDQ0MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1360 invoked from network); 23 May 2012 14:27:04 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 14:27:04 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 8BCB926DE;
	Wed, 23 May 2012 17:27:02 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 3F4EF2005D; Wed, 23 May 2012 17:27:02 +0300 (EEST)
Date: Wed, 23 May 2012 17:27:02 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Kristoffer Harthing Egefelt <k@itoc.dk>
Message-ID: <20120523142701.GV2058@reaktio.net>
References: <1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
	<1336940666023-5708399.post@n5.nabble.com>
	<1337766004380-5709087.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337766004380-5709087.post@n5.nabble.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux 3.x
 running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 02:40:04AM -0700, Kristoffer Harthing Egefelt wrote:
> > Any luck?
> 
> >Actually after finding out about the pci=nomsi kernel parameter, I have not
> had any problems.
> >Regarding the firmware upgrade, qlogic and dell need a supported OS to run
> their diag tools on, I'm tired of >dealing with them, so I have not gathered
> this info yet.
> >Didn't try to downgrade the driver either.
> >But I'm about to try pci passthrough, to have 10gig directly in the domU.
> >I'll let you know if it works.
> 
> The pci=nomsi actually seems to create problems for us when using pci
> passthrough.
> We could not get more than 2.5 Gbit from a domU, using netback/netfront.
> It was suggested that we use pci passthrough to get the full 10Gbit.
> However dom0 and domU crashes periodically with: 
> 
> kernel irq 60: nobody cared (try booting with the "irqpoll" option) 
> kernel Pid: 0, comm: swapper Not tainted
> 
> Booting with irqpoll has no effect.
> 
> So I tried to upgrade the firmware on the qlogic cards to 1.09.22 - no
> change.
> Qlogic's latest firmware is 1.09.65 - but is not installable on the DELL oem
> cards.
> I was not able to downgrade the qlogic driver in linux 3.2 to 5.0.24 from
> 5.0.25 as suggested in this thread, the driver will not compile - struct
> dev_mc_list is no longer defined in netdevice.h.
> 
> As far as I can tell the pci=nomsi disables the irq handling needed for pci
> passthrough.
> Could someone confirm this?
> Could someone also clarify if this is a qlogic driver issue or a xen issue.
> 

What Xen hypervisor version are you running? Did you already try Xen 4.1.3-rc1 ? 
(it has irq related fixes compared to 4.1.2).

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:27:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCWq-00014X-56; Wed, 23 May 2012 14:27:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXCWo-00014S-Mk
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:27:06 +0000
Received: from [85.158.139.83:36009] by server-9.bemta-5.messagelabs.com id
	15/09-18212-9B3FCBF4; Wed, 23 May 2012 14:27:05 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337783224!29271648!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDQ0MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1360 invoked from network); 23 May 2012 14:27:04 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 14:27:04 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 8BCB926DE;
	Wed, 23 May 2012 17:27:02 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 3F4EF2005D; Wed, 23 May 2012 17:27:02 +0300 (EEST)
Date: Wed, 23 May 2012 17:27:02 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Kristoffer Harthing Egefelt <k@itoc.dk>
Message-ID: <20120523142701.GV2058@reaktio.net>
References: <1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
	<1336940666023-5708399.post@n5.nabble.com>
	<1337766004380-5709087.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337766004380-5709087.post@n5.nabble.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux 3.x
 running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 02:40:04AM -0700, Kristoffer Harthing Egefelt wrote:
> > Any luck?
> 
> >Actually after finding out about the pci=nomsi kernel parameter, I have not
> had any problems.
> >Regarding the firmware upgrade, qlogic and dell need a supported OS to run
> their diag tools on, I'm tired of >dealing with them, so I have not gathered
> this info yet.
> >Didn't try to downgrade the driver either.
> >But I'm about to try pci passthrough, to have 10gig directly in the domU.
> >I'll let you know if it works.
> 
> The pci=nomsi actually seems to create problems for us when using pci
> passthrough.
> We could not get more than 2.5 Gbit from a domU, using netback/netfront.
> It was suggested that we use pci passthrough to get the full 10Gbit.
> However dom0 and domU crashes periodically with: 
> 
> kernel irq 60: nobody cared (try booting with the "irqpoll" option) 
> kernel Pid: 0, comm: swapper Not tainted
> 
> Booting with irqpoll has no effect.
> 
> So I tried to upgrade the firmware on the qlogic cards to 1.09.22 - no
> change.
> Qlogic's latest firmware is 1.09.65 - but is not installable on the DELL oem
> cards.
> I was not able to downgrade the qlogic driver in linux 3.2 to 5.0.24 from
> 5.0.25 as suggested in this thread, the driver will not compile - struct
> dev_mc_list is no longer defined in netdevice.h.
> 
> As far as I can tell the pci=nomsi disables the irq handling needed for pci
> passthrough.
> Could someone confirm this?
> Could someone also clarify if this is a qlogic driver issue or a xen issue.
> 

What Xen hypervisor version are you running? Did you already try Xen 4.1.3-rc1 ? 
(it has irq related fixes compared to 4.1.2).

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:28:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCXL-00016A-He; Wed, 23 May 2012 14:27:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXCXK-00015z-BJ
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:27:38 +0000
Received: from [85.158.143.99:18157] by server-1.bemta-4.messagelabs.com id
	41/B6-00342-9D3FCBF4; Wed, 23 May 2012 14:27:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337783255!22887375!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17983 invoked from network); 23 May 2012 14:27:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 14:27:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NERUkc002084
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 14:27:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NERT4T019093
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 14:27:30 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NERTT1026780; Wed, 23 May 2012 09:27:29 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 07:27:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 43EF5402FB; Wed, 23 May 2012 10:20:57 -0400 (EDT)
Date: Wed, 23 May 2012 10:20:57 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120523142057.GA7598@phenom.dumpdata.com>
References: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 12:23:07PM +0100, Stefano Stabellini wrote:
> When the frontend and the backend reside on the same domain, even if we
> add pages to the m2p_override, these pages will never be returned by
> mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
> always fail, so the pfn of the frontend will be returned instead
> (resulting in a deadlock because the frontend pages are already locked).
> 
> However m2p_add_override can easily find out whether another pfn
> corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
> in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.
> 
> This allows the backend to perform direct_IO on these pages, but as a
> side effect prevents the frontend from using get_user_pages_fast on
> them while they are being shared with the backend.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  arch/x86/xen/p2m.c |   18 ++++++++++++++++++
>  1 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
> index 7ece122..c62ae5c 100644
> --- a/arch/x86/xen/p2m.c
> +++ b/arch/x86/xen/p2m.c
> @@ -687,6 +687,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
>  	unsigned long uninitialized_var(address);
>  	unsigned level;
>  	pte_t *ptep = NULL;
> +	int ret = 0;
>  
>  	pfn = page_to_pfn(page);
>  	if (!PageHighMem(page)) {
> @@ -722,6 +723,16 @@ int m2p_add_override(unsigned long mfn, struct page *page,
>  	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
>  	spin_unlock_irqrestore(&m2p_override_lock, flags);
>  
> +	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
> +	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other

<nods> In other words, the MFN is local. And you want it to be forced
to be !local - foreign right.

> +	 * pfn so that the following mfn_to_pfn(mfn) calls will return the

.. the other pfn being. So we want to override p2m(m2p(mfn)) == mfn[frontend]
so that it becomes p2m(m2p(mfn)) == mfn[backend]? (nods)

What happens if multiple m2p_add_override are called on the same page?
This would be possible if the xen-blkfront is setup shared for the same
disk, right?

Won't we loose the old frontend PFN -> backend MFN information then as
we would overwrite the old P2M relationship?


> +	 * pfn from the m2p_override (the backend pfn) instead.

Can you explain in the comment why we want to do that. I think
I know, but I am not going to remember it in a month.


> +	 * As a side effect GUPF might not be safe on the frontend pages
> +	 * while they are being shared with the backend. */

How is it not safe?

> +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> +	if (ret >= 0 && get_phys_to_machine(pfn) == mfn)

if (ret == 0)

[get_user only provides -EFAULT or 0]

> +		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
> +
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(m2p_add_override);
> @@ -733,6 +744,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
>  	unsigned long uninitialized_var(address);
>  	unsigned level;
>  	pte_t *ptep = NULL;
> +	int ret = 0;
>  
>  	pfn = page_to_pfn(page);
>  	mfn = get_phys_to_machine(pfn);
> @@ -802,6 +814,12 @@ int m2p_remove_override(struct page *page, bool clear_pte)
>  	} else
>  		set_phys_to_machine(pfn, page->index);
>  

You also need a comment here.

> +	mfn &= ~FOREIGN_FRAME_BIT;
> +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> +	if (ret >= 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&

ret == 0
> +			m2p_find_override(mfn) == NULL)
> +		set_phys_to_machine(pfn, mfn);
> +
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(m2p_remove_override);
> -- 
> 1.7.2.5

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:28:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCXL-00016A-He; Wed, 23 May 2012 14:27:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXCXK-00015z-BJ
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:27:38 +0000
Received: from [85.158.143.99:18157] by server-1.bemta-4.messagelabs.com id
	41/B6-00342-9D3FCBF4; Wed, 23 May 2012 14:27:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337783255!22887375!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17983 invoked from network); 23 May 2012 14:27:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 14:27:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NERUkc002084
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 14:27:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NERT4T019093
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 14:27:30 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NERTT1026780; Wed, 23 May 2012 09:27:29 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 07:27:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 43EF5402FB; Wed, 23 May 2012 10:20:57 -0400 (EDT)
Date: Wed, 23 May 2012 10:20:57 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120523142057.GA7598@phenom.dumpdata.com>
References: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 14, 2012 at 12:23:07PM +0100, Stefano Stabellini wrote:
> When the frontend and the backend reside on the same domain, even if we
> add pages to the m2p_override, these pages will never be returned by
> mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
> always fail, so the pfn of the frontend will be returned instead
> (resulting in a deadlock because the frontend pages are already locked).
> 
> However m2p_add_override can easily find out whether another pfn
> corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
> in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.
> 
> This allows the backend to perform direct_IO on these pages, but as a
> side effect prevents the frontend from using get_user_pages_fast on
> them while they are being shared with the backend.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  arch/x86/xen/p2m.c |   18 ++++++++++++++++++
>  1 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
> index 7ece122..c62ae5c 100644
> --- a/arch/x86/xen/p2m.c
> +++ b/arch/x86/xen/p2m.c
> @@ -687,6 +687,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
>  	unsigned long uninitialized_var(address);
>  	unsigned level;
>  	pte_t *ptep = NULL;
> +	int ret = 0;
>  
>  	pfn = page_to_pfn(page);
>  	if (!PageHighMem(page)) {
> @@ -722,6 +723,16 @@ int m2p_add_override(unsigned long mfn, struct page *page,
>  	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
>  	spin_unlock_irqrestore(&m2p_override_lock, flags);
>  
> +	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
> +	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other

<nods> In other words, the MFN is local. And you want it to be forced
to be !local - foreign right.

> +	 * pfn so that the following mfn_to_pfn(mfn) calls will return the

.. the other pfn being. So we want to override p2m(m2p(mfn)) == mfn[frontend]
so that it becomes p2m(m2p(mfn)) == mfn[backend]? (nods)

What happens if multiple m2p_add_override are called on the same page?
This would be possible if the xen-blkfront is setup shared for the same
disk, right?

Won't we loose the old frontend PFN -> backend MFN information then as
we would overwrite the old P2M relationship?


> +	 * pfn from the m2p_override (the backend pfn) instead.

Can you explain in the comment why we want to do that. I think
I know, but I am not going to remember it in a month.


> +	 * As a side effect GUPF might not be safe on the frontend pages
> +	 * while they are being shared with the backend. */

How is it not safe?

> +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> +	if (ret >= 0 && get_phys_to_machine(pfn) == mfn)

if (ret == 0)

[get_user only provides -EFAULT or 0]

> +		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
> +
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(m2p_add_override);
> @@ -733,6 +744,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
>  	unsigned long uninitialized_var(address);
>  	unsigned level;
>  	pte_t *ptep = NULL;
> +	int ret = 0;
>  
>  	pfn = page_to_pfn(page);
>  	mfn = get_phys_to_machine(pfn);
> @@ -802,6 +814,12 @@ int m2p_remove_override(struct page *page, bool clear_pte)
>  	} else
>  		set_phys_to_machine(pfn, page->index);
>  

You also need a comment here.

> +	mfn &= ~FOREIGN_FRAME_BIT;
> +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> +	if (ret >= 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&

ret == 0
> +			m2p_find_override(mfn) == NULL)
> +		set_phys_to_machine(pfn, mfn);
> +
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(m2p_remove_override);
> -- 
> 1.7.2.5

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:29:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:29:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCZ8-0001Fc-9Q; Wed, 23 May 2012 14:29:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXCZ7-0001FN-9V
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:29:29 +0000
Received: from [85.158.143.99:20523] by server-3.bemta-4.messagelabs.com id
	D0/D4-05853-844FCBF4; Wed, 23 May 2012 14:29:28 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337783366!28541512!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDQ0MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10007 invoked from network); 23 May 2012 14:29:27 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 14:29:27 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 683682790;
	Wed, 23 May 2012 17:29:25 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 21F902005D; Wed, 23 May 2012 17:29:25 +0300 (EEST)
Date: Wed, 23 May 2012 17:29:25 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120523142925.GW2058@reaktio.net>
References: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 01:48:21AM +0000, Ren, Yongjie wrote:
> 
> > > This bug only exists when we use 'pcistub' to hide a device.
> > 
> > Ok, so it looks like upstream Linux can't do this properly on that device.
> > 
> Yes, I think so. To do some fix on 'pcistub' module might fix this issue.
> 

And with xen-pciback it works OK? 

-- Pasi



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:29:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:29:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCZ8-0001Fc-9Q; Wed, 23 May 2012 14:29:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXCZ7-0001FN-9V
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:29:29 +0000
Received: from [85.158.143.99:20523] by server-3.bemta-4.messagelabs.com id
	D0/D4-05853-844FCBF4; Wed, 23 May 2012 14:29:28 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337783366!28541512!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDQ0MTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10007 invoked from network); 23 May 2012 14:29:27 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 14:29:27 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 683682790;
	Wed, 23 May 2012 17:29:25 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 21F902005D; Wed, 23 May 2012 17:29:25 +0300 (EEST)
Date: Wed, 23 May 2012 17:29:25 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120523142925.GW2058@reaktio.net>
References: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 01:48:21AM +0000, Ren, Yongjie wrote:
> 
> > > This bug only exists when we use 'pcistub' to hide a device.
> > 
> > Ok, so it looks like upstream Linux can't do this properly on that device.
> > 
> Yes, I think so. To do some fix on 'pcistub' module might fix this issue.
> 

And with xen-pciback it works OK? 

-- Pasi



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:30:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:30:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCZV-0001IE-MJ; Wed, 23 May 2012 14:29:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SX9iv-0006DW-9k
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 11:27:25 +0000
Received: from [85.158.143.99:31809] by server-2.bemta-4.messagelabs.com id
	95/BF-12211-C99CCBF4; Wed, 23 May 2012 11:27:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337772443!19762329!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9720 invoked from network); 23 May 2012 11:27:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:27:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12625020"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:27:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 12:27:22 +0100
Date: Wed, 23 May 2012 12:27:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: =?UTF-8?Q?Andreas_F=C3=A4rber?= <afaerber@suse.de>
In-Reply-To: <1337742502-28565-1-git-send-email-afaerber@suse.de>
Message-ID: <alpine.DEB.2.00.1205231225510.26786@kaball-desktop>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-230191955-1337772442=:26786"
X-Mailman-Approved-At: Wed, 23 May 2012 14:29:52 +0000
Cc: Peter Maydell <peter.maydell@linaro.org>, Guan Xuetao <gxt@mprc.pku.edu.cn>,
	kvm <kvm@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Jan Kiszka <jan.kiszka@siemens.com>, Marcelo Tosatti <mtosatti@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Alexander Graf <agraf@suse.de>, Blue Swirl <blauwirbel@gmail.com>,
	Max Filippov <jcmvbkbc@gmail.com>, Michael Walle <michael@walle.cc>,
	xen-devel <xen-devel@lists.xensource.com>,
	qemu-ppc <qemu-ppc@nongnu.org>, Avi Kivity <avi@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Igor Mammedov <imammedo@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?Q?Aur=C3=A9lien_Jarno?= <aurelien@aurel32.net>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Xen-devel] [PATCH qom-next 00/59] QOM CPUState,
	part 4: CPU_COMMON
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-230191955-1337772442=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT

On Wed, 23 May 2012, Andreas FÃ¤rber wrote:
> Hello,
> 
> This series, based on qom-next and the two pending ARM cleanup patches, starts
> moving fields from CPUArchState (CPU_COMMON) to QOM CPUState. It stops short
> of moving all easily possible fields (i.e., those not depending on target_ulong
> or target_phys_addr_t) since the series got too long already and is expected to
> spark some controversies due to collisions with several other series.
> 
> The series is structured as preparatory refactorings interwoven with the actual
> touch-all movement of one field ("cpu: Move ... to CPUState"), optionally
> followed by type signature cleanups, culminating in the movement of two fields
> that are tied together by VMState.
> Thus, unlike part 3, this series cannot randomly be cherry-picked to
> <arch>-next trees, only select parts thereof (e.g., use of cpu_s390x_init()).
> 
> Please review and test.
> 
> The use of cpu_index vs. cpuid_apic_id for x86 cpu[n] still needs some thought.
> 
> The question was brought up whether adding the CPUs a child<X86CPU> properties
> should be generalized outside the machine scope - I don't think so, since CPU
> hotplug seems highly architecture-specific and not applicable everywhere (SoCs).
> 
> Blue will likely have a superb idea how to avoid the cpu_tlb_flush() indirection
> that I needed for VMState, but apart from having been a lot of dumb typing, it
> works fine as interim solution. "Blah." wasn't terribly helpful as a comment.
> 
> I have checked this to compile on ...
> * openSUSE 12.1 x86_64 w/KVM,
> * openSUSE Factory ppc w/KVM,
> * SLES 11 SP2 s390x w/KVM,
> * mingw32/64 cross-builds,
> * OpenBSD 5.1 amd64 (not for final version though, master doesn't build).
> Untested: Xen.

I tested it on Xen: it works correctly.

Tested-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
--8323329-230191955-1337772442=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-230191955-1337772442=:26786--


From xen-devel-bounces@lists.xen.org Wed May 23 14:30:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:30:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCZV-0001IE-MJ; Wed, 23 May 2012 14:29:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SX9iv-0006DW-9k
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 11:27:25 +0000
Received: from [85.158.143.99:31809] by server-2.bemta-4.messagelabs.com id
	95/BF-12211-C99CCBF4; Wed, 23 May 2012 11:27:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337772443!19762329!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9720 invoked from network); 23 May 2012 11:27:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 11:27:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,644,1330905600"; d="scan'208";a="12625020"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:27:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 12:27:22 +0100
Date: Wed, 23 May 2012 12:27:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: =?UTF-8?Q?Andreas_F=C3=A4rber?= <afaerber@suse.de>
In-Reply-To: <1337742502-28565-1-git-send-email-afaerber@suse.de>
Message-ID: <alpine.DEB.2.00.1205231225510.26786@kaball-desktop>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-230191955-1337772442=:26786"
X-Mailman-Approved-At: Wed, 23 May 2012 14:29:52 +0000
Cc: Peter Maydell <peter.maydell@linaro.org>, Guan Xuetao <gxt@mprc.pku.edu.cn>,
	kvm <kvm@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Jan Kiszka <jan.kiszka@siemens.com>, Marcelo Tosatti <mtosatti@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Alexander Graf <agraf@suse.de>, Blue Swirl <blauwirbel@gmail.com>,
	Max Filippov <jcmvbkbc@gmail.com>, Michael Walle <michael@walle.cc>,
	xen-devel <xen-devel@lists.xensource.com>,
	qemu-ppc <qemu-ppc@nongnu.org>, Avi Kivity <avi@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Igor Mammedov <imammedo@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?Q?Aur=C3=A9lien_Jarno?= <aurelien@aurel32.net>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Xen-devel] [PATCH qom-next 00/59] QOM CPUState,
	part 4: CPU_COMMON
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-230191955-1337772442=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT

On Wed, 23 May 2012, Andreas FÃ¤rber wrote:
> Hello,
> 
> This series, based on qom-next and the two pending ARM cleanup patches, starts
> moving fields from CPUArchState (CPU_COMMON) to QOM CPUState. It stops short
> of moving all easily possible fields (i.e., those not depending on target_ulong
> or target_phys_addr_t) since the series got too long already and is expected to
> spark some controversies due to collisions with several other series.
> 
> The series is structured as preparatory refactorings interwoven with the actual
> touch-all movement of one field ("cpu: Move ... to CPUState"), optionally
> followed by type signature cleanups, culminating in the movement of two fields
> that are tied together by VMState.
> Thus, unlike part 3, this series cannot randomly be cherry-picked to
> <arch>-next trees, only select parts thereof (e.g., use of cpu_s390x_init()).
> 
> Please review and test.
> 
> The use of cpu_index vs. cpuid_apic_id for x86 cpu[n] still needs some thought.
> 
> The question was brought up whether adding the CPUs a child<X86CPU> properties
> should be generalized outside the machine scope - I don't think so, since CPU
> hotplug seems highly architecture-specific and not applicable everywhere (SoCs).
> 
> Blue will likely have a superb idea how to avoid the cpu_tlb_flush() indirection
> that I needed for VMState, but apart from having been a lot of dumb typing, it
> works fine as interim solution. "Blah." wasn't terribly helpful as a comment.
> 
> I have checked this to compile on ...
> * openSUSE 12.1 x86_64 w/KVM,
> * openSUSE Factory ppc w/KVM,
> * SLES 11 SP2 s390x w/KVM,
> * mingw32/64 cross-builds,
> * OpenBSD 5.1 amd64 (not for final version though, master doesn't build).
> Untested: Xen.

I tested it on Xen: it works correctly.

Tested-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
--8323329-230191955-1337772442=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-230191955-1337772442=:26786--


From xen-devel-bounces@lists.xen.org Wed May 23 14:34:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCdl-0001hL-Jd; Wed, 23 May 2012 14:34:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SXCdj-0001h6-Bl
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:34:16 +0000
Received: from [85.158.138.51:62328] by server-9.bemta-3.messagelabs.com id
	FC/AD-11033-665FCBF4; Wed, 23 May 2012 14:34:14 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337783652!20774454!1
X-Originating-IP: [208.97.132.145]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4xNDUgPT4gMjYxOTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4601 invoked from network); 23 May 2012 14:34:12 -0000
Received: from caiajhbdcbef.dreamhost.com (HELO homiemail-a75.g.dreamhost.com)
	(208.97.132.145) by server-12.tower-174.messagelabs.com with SMTP;
	23 May 2012 14:34:12 -0000
Received: from homiemail-a75.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a75.g.dreamhost.com (Postfix) with ESMTP id E78A15EC082;
	Wed, 23 May 2012 07:34:10 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=MFIG/5Qk8le3TDUrlpP3VOF8qji6/UrLUzxFMcFZkDDs
	ypTxzp0DDxq515qP5mnvuFFub9yENyFBwga+o2uOqc4rO8UVnZ2POcW9wCiAMDGb
	UyNBALQcL5DXaMxZ+P8z3yPatn0ML8gjbU2gNaUDeP/R9II4/zKXWTVlERdZMOg=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=uIz/TLzG5H4yPkLKg+3B69faXIQ=; b=Tc0jnWaR
	xIB0gGeTPIt5TvBksTB27kH+qMK8mP63xJL7sus16Y5SKOP21/5uLusNXzbmFtfe
	d6LgDb5dMRc+ZfAUqw29NajAPYHWhkCmF4vKupvwsuFMulNNlZn1WHmS35tK32Tl
	5j7m+HUK3fYjpSaA33OHIMPTzuAt43g09dw=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a75.g.dreamhost.com (Postfix) with ESMTPA id 2C8325EC072; 
	Wed, 23 May 2012 07:34:09 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Wed, 23 May 2012 07:34:10 -0700
Message-ID: <a63e8a0f5b0a8fe6a61f3eab90be04ce.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <20120518152203.GA40048@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
	<20120518152203.GA40048@ocelot.phlegethon.org>
Date: Wed, 23 May 2012 07:34:10 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: andres@gridcentric.ca, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
>> # HG changeset patch
>> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
>> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
>>
>> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
>
> Applied, thanks.  I gave it a slightly fuller description and fixed some
> whitespace around parentheses on the way past.
>
> I think that empties the queue, at least of things that are wanted for
> 4.2.

Actually, patch 6 of this series posted a while ago
http://lists.xen.org/archives/html/xen-devel/2012-04/msg01364.html
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00962.html

turns on locking p2m queries for shadow mode and seemingly you've acked
it. This is good to go afaict and would be a shame to be left off of 4.2.

Andres
>
> Cheers,
>
> Tim.
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:34:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCdl-0001hL-Jd; Wed, 23 May 2012 14:34:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SXCdj-0001h6-Bl
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:34:16 +0000
Received: from [85.158.138.51:62328] by server-9.bemta-3.messagelabs.com id
	FC/AD-11033-665FCBF4; Wed, 23 May 2012 14:34:14 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337783652!20774454!1
X-Originating-IP: [208.97.132.145]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4xNDUgPT4gMjYxOTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4601 invoked from network); 23 May 2012 14:34:12 -0000
Received: from caiajhbdcbef.dreamhost.com (HELO homiemail-a75.g.dreamhost.com)
	(208.97.132.145) by server-12.tower-174.messagelabs.com with SMTP;
	23 May 2012 14:34:12 -0000
Received: from homiemail-a75.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a75.g.dreamhost.com (Postfix) with ESMTP id E78A15EC082;
	Wed, 23 May 2012 07:34:10 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=MFIG/5Qk8le3TDUrlpP3VOF8qji6/UrLUzxFMcFZkDDs
	ypTxzp0DDxq515qP5mnvuFFub9yENyFBwga+o2uOqc4rO8UVnZ2POcW9wCiAMDGb
	UyNBALQcL5DXaMxZ+P8z3yPatn0ML8gjbU2gNaUDeP/R9II4/zKXWTVlERdZMOg=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=uIz/TLzG5H4yPkLKg+3B69faXIQ=; b=Tc0jnWaR
	xIB0gGeTPIt5TvBksTB27kH+qMK8mP63xJL7sus16Y5SKOP21/5uLusNXzbmFtfe
	d6LgDb5dMRc+ZfAUqw29NajAPYHWhkCmF4vKupvwsuFMulNNlZn1WHmS35tK32Tl
	5j7m+HUK3fYjpSaA33OHIMPTzuAt43g09dw=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a75.g.dreamhost.com (Postfix) with ESMTPA id 2C8325EC072; 
	Wed, 23 May 2012 07:34:09 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Wed, 23 May 2012 07:34:10 -0700
Message-ID: <a63e8a0f5b0a8fe6a61f3eab90be04ce.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <20120518152203.GA40048@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
	<20120518152203.GA40048@ocelot.phlegethon.org>
Date: Wed, 23 May 2012 07:34:10 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Tim Deegan" <tim@xen.org>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: andres@gridcentric.ca, Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
 physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
>> # HG changeset patch
>> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
>> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
>>
>> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
>
> Applied, thanks.  I gave it a slightly fuller description and fixed some
> whitespace around parentheses on the way past.
>
> I think that empties the queue, at least of things that are wanted for
> 4.2.

Actually, patch 6 of this series posted a while ago
http://lists.xen.org/archives/html/xen-devel/2012-04/msg01364.html
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00962.html

turns on locking p2m queries for shadow mode and seemingly you've acked
it. This is good to go afaict and would be a shame to be left off of 4.2.

Andres
>
> Cheers,
>
> Tim.
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCfh-0001nu-3R; Wed, 23 May 2012 14:36:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXCfg-0001nn-62
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:36:16 +0000
Received: from [85.158.143.35:40776] by server-2.bemta-4.messagelabs.com id
	4E/7B-12211-FD5FCBF4; Wed, 23 May 2012 14:36:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337783774!13717351!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14749 invoked from network); 23 May 2012 14:36:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:36:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12630403"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 14:36:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 15:36:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXCfc-0007Zb-Tk; Wed, 23 May 2012 14:36:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXCfc-0008M2-Si;
	Wed, 23 May 2012 15:36:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.62940.872712.975082@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 15:36:12 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <1337777350.27368.82.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
	<1337777350.27368.82.camel@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID to make gcc happy"):
> That's what I'm doing for any explicit usage of the enum. Problem arises
> with auto-generated code, e.g., in gentypes.py for build_info related
> functions. In this case, in fact, the libxl_domain_type enum is the key
> of the keyed-union. For those cases, I was thinking at something like
> the below:
> 
>     if isinstance(ty, idl.KeyedUnion):
>         if parent is None:
>             raise Exception("KeyedUnion type must have a parent")
>         s += "switch (%s) {\n" % (parent + ty.keyvar.name)
>         for f in ty.fields:
>             (nparent,fexpr) = ty.member(v, f, parent is None)
>             s += "case %s:\n" % f.enumname
>             s += libxl_C_type_dispose(f.type, fexpr, indent + "    ", nparent)
>             s += "    break;\n"
> +       s += "default:\n    break;\n";
>         s += "}\n"
> 
> Would it make sense?

No, I don't think so.  Surely the idl should contain an explicitly
empty structure ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCfh-0001nu-3R; Wed, 23 May 2012 14:36:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXCfg-0001nn-62
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:36:16 +0000
Received: from [85.158.143.35:40776] by server-2.bemta-4.messagelabs.com id
	4E/7B-12211-FD5FCBF4; Wed, 23 May 2012 14:36:15 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337783774!13717351!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14749 invoked from network); 23 May 2012 14:36:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:36:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12630403"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 14:36:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 15:36:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXCfc-0007Zb-Tk; Wed, 23 May 2012 14:36:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXCfc-0008M2-Si;
	Wed, 23 May 2012 15:36:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20412.62940.872712.975082@mariner.uk.xensource.com>
Date: Wed, 23 May 2012 15:36:12 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <1337777350.27368.82.camel@Solace>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
	<1337777350.27368.82.camel@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID to make gcc happy"):
> That's what I'm doing for any explicit usage of the enum. Problem arises
> with auto-generated code, e.g., in gentypes.py for build_info related
> functions. In this case, in fact, the libxl_domain_type enum is the key
> of the keyed-union. For those cases, I was thinking at something like
> the below:
> 
>     if isinstance(ty, idl.KeyedUnion):
>         if parent is None:
>             raise Exception("KeyedUnion type must have a parent")
>         s += "switch (%s) {\n" % (parent + ty.keyvar.name)
>         for f in ty.fields:
>             (nparent,fexpr) = ty.member(v, f, parent is None)
>             s += "case %s:\n" % f.enumname
>             s += libxl_C_type_dispose(f.type, fexpr, indent + "    ", nparent)
>             s += "    break;\n"
> +       s += "default:\n    break;\n";
>         s += "}\n"
> 
> Would it make sense?

No, I don't think so.  Surely the idl should contain an explicitly
empty structure ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:37:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:37:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCh1-0001tv-Iv; Wed, 23 May 2012 14:37:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXCh0-0001to-OI
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:38 +0000
Received: from [85.158.138.51:47931] by server-6.bemta-3.messagelabs.com id
	32/05-18175-136FCBF4; Wed, 23 May 2012 14:37:37 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337783855!28777238!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28295 invoked from network); 23 May 2012 14:37:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510647"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:34 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:34 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:34 -0400
Thread-Topic: [Xen-devel] [PATCH v3 00/04] HVM firmware passthrough
Thread-Index: Ac047nYrmWKZeR/hRMql5/pp1EvPbg==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBB@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel]  [PATCH v3 00/04] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series introduces support of loading external blocks of firmware
into a guest. These blocks can currently contain SMBIOS and/or ACPI firmware
information that is used by HVMLOADER to modify a guests virtual firmware at
startup. These modules are only used by HVMLOADER.

The domain building code in libxenguest is passed these firmware blocks
in the xc_hvm_build_args structure and loads them into the new guest,
returning the load address. The loading is done in what will become the guests
low RAM area just behind to load location for HVMLOADER. After their use by
HVMLOADER they are effectively discarded. It is the caller's job to load the
base address and length values in xenstore using the paths defined in the new
hvm_defs.h header so HVMLOADER can located the blocks.

Currently two types of firmware information are recognized and processed
in the HVMLOADER though this could be extended.

1. SMBIOS: The SMBIOS table building code will attempt to retrieve (for
predefined set of structure types) any passed in structures. If a match is
found the passed in table will be used overriding the default values. In
addition, the SMBIOS code will also enumerate and load any vendor defined
structures (in the range of types 128 - 255) that as are passed in. See the
hvm_defs.h header for information on the format of this block.
2. ACPI: Static and secondary descriptor tables can be added to the set of
ACPI table built by HVMLOADER. The ACPI builder code will enumerate passed in
tables and add them at the end of the secondary table list. See the hvm_defs.h
header for information on the format of this block.

There are 4 patches in the series:
01 - Add HVM definitions header for firmware passthrough support.
02 - Xen control tools support for loading the firmware blocks.
03 - Passthrough support for SMBIOS.
04 - Passthrough support for ACPI.

Note this is version 3 of this patch set. Some of the differences:
 - Generic module support removed, overall functionality was simplified.
 - Use of xenstore to supply firmware passthrough information to HVMLOADER.
 - Fixed issues pointed out in the SMBIOS processing code.
 - Created defines for the SMBIOS handles in use and switched to using
   the xenstore values in the new hvm_defs.h file.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:37:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:37:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCh1-0001tv-Iv; Wed, 23 May 2012 14:37:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXCh0-0001to-OI
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:38 +0000
Received: from [85.158.138.51:47931] by server-6.bemta-3.messagelabs.com id
	32/05-18175-136FCBF4; Wed, 23 May 2012 14:37:37 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337783855!28777238!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28295 invoked from network); 23 May 2012 14:37:36 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510647"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:34 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:34 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:34 -0400
Thread-Topic: [Xen-devel] [PATCH v3 00/04] HVM firmware passthrough
Thread-Index: Ac047nYrmWKZeR/hRMql5/pp1EvPbg==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBB@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel]  [PATCH v3 00/04] HVM firmware passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series introduces support of loading external blocks of firmware
into a guest. These blocks can currently contain SMBIOS and/or ACPI firmware
information that is used by HVMLOADER to modify a guests virtual firmware at
startup. These modules are only used by HVMLOADER.

The domain building code in libxenguest is passed these firmware blocks
in the xc_hvm_build_args structure and loads them into the new guest,
returning the load address. The loading is done in what will become the guests
low RAM area just behind to load location for HVMLOADER. After their use by
HVMLOADER they are effectively discarded. It is the caller's job to load the
base address and length values in xenstore using the paths defined in the new
hvm_defs.h header so HVMLOADER can located the blocks.

Currently two types of firmware information are recognized and processed
in the HVMLOADER though this could be extended.

1. SMBIOS: The SMBIOS table building code will attempt to retrieve (for
predefined set of structure types) any passed in structures. If a match is
found the passed in table will be used overriding the default values. In
addition, the SMBIOS code will also enumerate and load any vendor defined
structures (in the range of types 128 - 255) that as are passed in. See the
hvm_defs.h header for information on the format of this block.
2. ACPI: Static and secondary descriptor tables can be added to the set of
ACPI table built by HVMLOADER. The ACPI builder code will enumerate passed in
tables and add them at the end of the secondary table list. See the hvm_defs.h
header for information on the format of this block.

There are 4 patches in the series:
01 - Add HVM definitions header for firmware passthrough support.
02 - Xen control tools support for loading the firmware blocks.
03 - Passthrough support for SMBIOS.
04 - Passthrough support for ACPI.

Note this is version 3 of this patch set. Some of the differences:
 - Generic module support removed, overall functionality was simplified.
 - Use of xenstore to supply firmware passthrough information to HVMLOADER.
 - Fixed issues pointed out in the SMBIOS processing code.
 - Created defines for the SMBIOS handles in use and switched to using
   the xenstore values in the new hvm_defs.h file.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:37:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:37:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCh6-0001ue-V4; Wed, 23 May 2012 14:37:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXCh5-0001uK-4Y
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:43 +0000
Received: from [85.158.138.51:56300] by server-5.bemta-3.messagelabs.com id
	55/80-25552-636FCBF4; Wed, 23 May 2012 14:37:42 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337783855!28777238!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28462 invoked from network); 23 May 2012 14:37:41 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510656"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:40 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:40 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:40 -0400
Thread-Topic: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
	header
Thread-Index: Ac047qwS3gNMAaLbT+WCMC50AIoBZw==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
 header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Add public HVM definitions header for firmware passthrough support (includi=
ng
comment describing the feature's use). In addition this header is used to
collect the various xenstore string values that are used in HVMLOADER.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>



--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-01.patch"
Content-Description: hvm-firmware-passthrough-v3-01.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-01.patch"; size=4513;
	creation-date="Wed, 23 May 2012 13:25:58 GMT";
	modification-date="Wed, 23 May 2012 13:46:03 GMT"
Content-Transfer-Encoding: base64

QWRkIHB1YmxpYyBIVk0gZGVmaW5pdGlvbnMgaGVhZGVyIGZvciBmaXJtd2FyZSBwYXNzdGhyb3Vn
aCBzdXBwb3J0IChpbmNsdWRpbmcKY29tbWVudCBkZXNjcmliaW5nIHRoZSBmZWF0dXJlJ3MgdXNl
KS4gSW4gYWRkaXRpb24gdGhpcyBoZWFkZXIgaXMgdXNlZCB0bwpjb2xsZWN0IHRoZSB2YXJpb3Vz
IHhlbnN0b3JlIHN0cmluZyB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBpbiBIVk1MT0FERVIuCgpTaWdu
ZWQtb2ZmLWJ5OiBSb3NzIFBoaWxpcHNvbiA8cm9zcy5waGlsaXBzb25AY2l0cml4LmNvbT4KCmRp
ZmYgLS1naXQgYS90b29scy9pbmNsdWRlL3hlbi10b29scy9odm1fZGVmcy5oIGIvdG9vbHMvaW5j
bHVkZS94ZW4tdG9vbHMvaHZtX2RlZnMuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQotLS0gL2Rldi9u
dWxsCisrKyBiL3Rvb2xzL2luY2x1ZGUveGVuLXRvb2xzL2h2bV9kZWZzLmgKQEAgLTAsMCArMSw4
NSBAQAorLyoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5k
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICog
ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMg
b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdh
cmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT
IE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElO
IFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIF9YRU5fVE9PTFNfSFZNX0RFRlNfSF9fCisj
ZGVmaW5lIF9YRU5fVE9PTFNfSFZNX0RFRlNfSF9fCisKKyNkZWZpbmUgSFZNX1hTX0hWTUxPQURF
UiAgICAgICAgICAgICAgICJodm1sb2FkZXIiCisjZGVmaW5lIEhWTV9YU19CSU9TICAgICAgICAg
ICAgICAgICAgICAiaHZtbG9hZGVyL2Jpb3MiCisjZGVmaW5lIEhWTV9YU19HRU5FUkFUSU9OX0lE
X0FERFJFU1MgICAiaHZtbG9hZGVyL2dlbmVyYXRpb24taWQtYWRkcmVzcyIKKworLyogVGhlIGZv
bGxvd2luZyB2YWx1ZXMgYWxsb3cgYWRkaXRpb25hbCBBQ1BJIHRhYmxlcyB0byBiZSBhZGRlZCB0
byB0aGUKKyAqIHZpcnR1YWwgQUNQSSBCSU9TIHRoYXQgaHZtbG9hZGVyIGNvbnN0cnVjdHMuIFRo
ZSB2YWx1ZXMgc3BlY2lmeSB0aGUgZ3Vlc3QKKyAqIHBoeXNpY2FsIGFkZHJlc3MgYW5kIGxlbmd0
aCBvZiBhIGJsb2NrIG9mIEFDUEkgdGFibGVzIHRvIGFkZC4gVGhlIGZvcm1hdCBvZgorICogdGhl
IGJsb2NrIGlzIHNpbXBseSBjb25jYXRlbmF0ZWQgcmF3IHRhYmxlcyAod2hpY2ggc3BlY2lmeSB0
aGVpciBvd24gbGVuZ3RoCisgKiBpbiB0aGUgQUNQSSBoZWFkZXIpLgorICovCisjZGVmaW5lIEhW
TV9YU19BQ1BJX1BUX0FERFJFU1MgICAgICAgICAiaHZtbG9hZGVyL2FjcGkvYWRkcmVzcyIKKyNk
ZWZpbmUgSFZNX1hTX0FDUElfUFRfTEVOR1RIICAgICAgICAgICJodm1sb2FkZXIvYWNwaS9sZW5n
dGgiCisKKy8qIEFueSBudW1iZXIgb2YgU01CSU9TIHR5cGVzIGNhbiBiZSBwYXNzZWQgdGhyb3Vn
aCB0byBhbiBIVk0gZ3Vlc3QgdXNpbmcKKyAqIHRoZSBmb2xsb3dpbmcgeGVuc3RvcmUgdmFsdWVz
LiBUaGUgdmFsdWVzIHNwZWNpZnkgdGhlIGd1ZXN0IHBoeXNpY2FsCisgKiBhZGRyZXNzIGFuZCBs
ZW5ndGggb2YgYSBibG9jayBvZiBTTUJJT1Mgc3RydWN0dXJlcyBmb3IgaHZtbG9hZGVyIHRvIHVz
ZS4KKyAqIFRoZSBibG9jayBpcyBmb3JtYXR0ZWQgaW4gdGhlIGZvbGxvd2luZyB3YXk6CisgKgor
ICogPGxlbmd0aD48c3RydWN0PjxsZW5ndGg+PHN0cnVjdD4uLi4KKyAqCisgKiBFYWNoIGxlbmd0
aCBzZXBhcmF0b3IgaXMgYSAzMmIgaW50ZWdlciBpbmRpY2F0aW5nIHRoZSBsZW5ndGggb2YgdGhl
IG5leHQKKyAqIFNNQklPUyBzdHJ1Y3R1cmUuIEZvciBETVRGIGRlZmluZWQgdHlwZXMgKDAgLSAx
MjEpLCB0aGUgcGFzc2VkIGluIHN0cnVjdAorICogd2lsbCByZXBsYWNlIHRoZSBkZWZhdWx0IHN0
cnVjdHVyZSBpbiBodm1sb2FkZXIuIEluIGFkZGl0aW9uLCBhbnkKKyAqIE9FTS92ZW5kb3J0eXBl
cyAoMTI4IC0gMjU1KSB3aWxsIGFsbCBiZSBhZGRlZC4KKyAqLworI2RlZmluZSBIVk1fWFNfU01C
SU9TX1BUX0FERFJFU1MgICAgICAgImh2bWxvYWRlci9zbWJpb3MvYWRkcmVzcyIKKyNkZWZpbmUg
SFZNX1hTX1NNQklPU19QVF9MRU5HVEggICAgICAgICJodm1sb2FkZXIvc21iaW9zL2xlbmd0aCIK
KworLyogU2V0IHRvIDEgdG8gZW5hYmxlIFNNQklPUyBkZWZhdWx0IHBvcnRhYmxlIGJhdHRlcnkg
KHR5cGUgMjIpIHZhbHVlcy4gKi8KKyNkZWZpbmUgSFZNX1hTX1NNQklPU19ERUZBVUxUX0JBVFRF
UlkgICJodm1sb2FkZXIvc21iaW9zL2RlZmF1bHRfYmF0dGVyeSIKKworLyogVGhlIGZvbGxvd2lu
ZyB4ZW5zdG9yZSB2YWx1ZXMgYXJlIHVzZWQgdG8gb3ZlcnJpZGUgc29tZSBvZiB0aGUgZGVmYXVs
dAorICogc3RyaW5nIHZhbHVlcyBpbiB0aGUgU01CSU9TIHRhYmxlIGNvbnN0cnVjdGVkIGluIGh2
bWxvYWRlci4KKyAqLworI2RlZmluZSBIVk1fWFNfQklPU19TVFJJTkdTICAgICAgICAgICAgImJp
b3Mtc3RyaW5ncyIKKyNkZWZpbmUgSFZNX1hTX0JJT1NfVkVORE9SICAgICAgICAgICAgICJiaW9z
LXN0cmluZ3MvYmlvcy12ZW5kb3IiCisjZGVmaW5lIEhWTV9YU19CSU9TX1ZFUlNJT04gICAgICAg
ICAgICAiYmlvcy1zdHJpbmdzL2Jpb3MtdmVyc2lvbiIKKyNkZWZpbmUgSFZNX1hTX1NZU1RFTV9N
QU5VRkFDVFVSRVIgICAgICJiaW9zLXN0cmluZ3Mvc3lzdGVtLW1hbnVmYWN0dXJlciIKKyNkZWZp
bmUgSFZNX1hTX1NZU1RFTV9QUk9EVUNUX05BTUUgICAgICJiaW9zLXN0cmluZ3Mvc3lzdGVtLXBy
b2R1Y3QtbmFtZSIKKyNkZWZpbmUgSFZNX1hTX1NZU1RFTV9WRVJTSU9OICAgICAgICAgICJiaW9z
LXN0cmluZ3Mvc3lzdGVtLXZlcnNpb24iCisjZGVmaW5lIEhWTV9YU19TWVNURU1fU0VSSUFMX05V
TUJFUiAgICAiYmlvcy1zdHJpbmdzL3N5c3RlbS1zZXJpYWwtbnVtYmVyIgorI2RlZmluZSBIVk1f
WFNfRU5DTE9TVVJFX01BTlVGQUNUVVJFUiAgImJpb3Mtc3RyaW5ncy9lbmNsb3N1cmUtbWFudWZh
Y3R1cmVyIgorI2RlZmluZSBIVk1fWFNfRU5DTE9TVVJFX1NFUklBTF9OVU1CRVIgImJpb3Mtc3Ry
aW5ncy9lbmNsb3N1cmUtc2VyaWFsLW51bWJlciIKKyNkZWZpbmUgSFZNX1hTX0JBVFRFUllfTUFO
VUZBQ1RVUkVSICAgICJiaW9zLXN0cmluZ3MvYmF0dGVyeS1tYW51ZmFjdHVyZXIiCisjZGVmaW5l
IEhWTV9YU19CQVRURVJZX0RFVklDRV9OQU1FICAgICAiYmlvcy1zdHJpbmdzL2JhdHRlcnktZGV2
aWNlLW5hbWUiCisKKy8qIFVwIHRvIDEwMCBPRU0gc3RyaW5ncyBjYW4gYmUgc2V0IGluIHhlbnN0
b3JlIHVzaW5nIHZhbHVlcyBvZiB0aGUgZm9ybQorICogYmVsb3cuIFRoZXNlIHN0cmluZ3Mgd2ls
bCBiZSBsb2FkZWQgaW50byB0aGUgU01CSU9TIHR5cGUgMTEgc3RydWN0dXJlLgorICovCisjZGVm
aW5lIEhWTV9YU19PRU1fU1RSSU5HUyAgICAgICAgICAgICAiYmlvcy1zdHJpbmdzL29lbS1YWCIK
KworI2VuZGlmIC8qIF9YRU5fVE9PTFNfSFZNX0RFRlNfSF9fICovCisKKy8qCisgKiBMb2NhbCB2
YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLXNldC1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMt
b2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICog
RW5kOgorICovCg==

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:37:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:37:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCh6-0001ue-V4; Wed, 23 May 2012 14:37:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXCh5-0001uK-4Y
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:43 +0000
Received: from [85.158.138.51:56300] by server-5.bemta-3.messagelabs.com id
	55/80-25552-636FCBF4; Wed, 23 May 2012 14:37:42 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337783855!28777238!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28462 invoked from network); 23 May 2012 14:37:41 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510656"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:40 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:40 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:40 -0400
Thread-Topic: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
	header
Thread-Index: Ac047qwS3gNMAaLbT+WCMC50AIoBZw==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
 header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Add public HVM definitions header for firmware passthrough support (includi=
ng
comment describing the feature's use). In addition this header is used to
collect the various xenstore string values that are used in HVMLOADER.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>



--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-01.patch"
Content-Description: hvm-firmware-passthrough-v3-01.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-01.patch"; size=4513;
	creation-date="Wed, 23 May 2012 13:25:58 GMT";
	modification-date="Wed, 23 May 2012 13:46:03 GMT"
Content-Transfer-Encoding: base64

QWRkIHB1YmxpYyBIVk0gZGVmaW5pdGlvbnMgaGVhZGVyIGZvciBmaXJtd2FyZSBwYXNzdGhyb3Vn
aCBzdXBwb3J0IChpbmNsdWRpbmcKY29tbWVudCBkZXNjcmliaW5nIHRoZSBmZWF0dXJlJ3MgdXNl
KS4gSW4gYWRkaXRpb24gdGhpcyBoZWFkZXIgaXMgdXNlZCB0bwpjb2xsZWN0IHRoZSB2YXJpb3Vz
IHhlbnN0b3JlIHN0cmluZyB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBpbiBIVk1MT0FERVIuCgpTaWdu
ZWQtb2ZmLWJ5OiBSb3NzIFBoaWxpcHNvbiA8cm9zcy5waGlsaXBzb25AY2l0cml4LmNvbT4KCmRp
ZmYgLS1naXQgYS90b29scy9pbmNsdWRlL3hlbi10b29scy9odm1fZGVmcy5oIGIvdG9vbHMvaW5j
bHVkZS94ZW4tdG9vbHMvaHZtX2RlZnMuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQotLS0gL2Rldi9u
dWxsCisrKyBiL3Rvb2xzL2luY2x1ZGUveGVuLXRvb2xzL2h2bV9kZWZzLmgKQEAgLTAsMCArMSw4
NSBAQAorLyoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5k
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICog
ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMg
b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdh
cmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT
IE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElO
IFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIF9YRU5fVE9PTFNfSFZNX0RFRlNfSF9fCisj
ZGVmaW5lIF9YRU5fVE9PTFNfSFZNX0RFRlNfSF9fCisKKyNkZWZpbmUgSFZNX1hTX0hWTUxPQURF
UiAgICAgICAgICAgICAgICJodm1sb2FkZXIiCisjZGVmaW5lIEhWTV9YU19CSU9TICAgICAgICAg
ICAgICAgICAgICAiaHZtbG9hZGVyL2Jpb3MiCisjZGVmaW5lIEhWTV9YU19HRU5FUkFUSU9OX0lE
X0FERFJFU1MgICAiaHZtbG9hZGVyL2dlbmVyYXRpb24taWQtYWRkcmVzcyIKKworLyogVGhlIGZv
bGxvd2luZyB2YWx1ZXMgYWxsb3cgYWRkaXRpb25hbCBBQ1BJIHRhYmxlcyB0byBiZSBhZGRlZCB0
byB0aGUKKyAqIHZpcnR1YWwgQUNQSSBCSU9TIHRoYXQgaHZtbG9hZGVyIGNvbnN0cnVjdHMuIFRo
ZSB2YWx1ZXMgc3BlY2lmeSB0aGUgZ3Vlc3QKKyAqIHBoeXNpY2FsIGFkZHJlc3MgYW5kIGxlbmd0
aCBvZiBhIGJsb2NrIG9mIEFDUEkgdGFibGVzIHRvIGFkZC4gVGhlIGZvcm1hdCBvZgorICogdGhl
IGJsb2NrIGlzIHNpbXBseSBjb25jYXRlbmF0ZWQgcmF3IHRhYmxlcyAod2hpY2ggc3BlY2lmeSB0
aGVpciBvd24gbGVuZ3RoCisgKiBpbiB0aGUgQUNQSSBoZWFkZXIpLgorICovCisjZGVmaW5lIEhW
TV9YU19BQ1BJX1BUX0FERFJFU1MgICAgICAgICAiaHZtbG9hZGVyL2FjcGkvYWRkcmVzcyIKKyNk
ZWZpbmUgSFZNX1hTX0FDUElfUFRfTEVOR1RIICAgICAgICAgICJodm1sb2FkZXIvYWNwaS9sZW5n
dGgiCisKKy8qIEFueSBudW1iZXIgb2YgU01CSU9TIHR5cGVzIGNhbiBiZSBwYXNzZWQgdGhyb3Vn
aCB0byBhbiBIVk0gZ3Vlc3QgdXNpbmcKKyAqIHRoZSBmb2xsb3dpbmcgeGVuc3RvcmUgdmFsdWVz
LiBUaGUgdmFsdWVzIHNwZWNpZnkgdGhlIGd1ZXN0IHBoeXNpY2FsCisgKiBhZGRyZXNzIGFuZCBs
ZW5ndGggb2YgYSBibG9jayBvZiBTTUJJT1Mgc3RydWN0dXJlcyBmb3IgaHZtbG9hZGVyIHRvIHVz
ZS4KKyAqIFRoZSBibG9jayBpcyBmb3JtYXR0ZWQgaW4gdGhlIGZvbGxvd2luZyB3YXk6CisgKgor
ICogPGxlbmd0aD48c3RydWN0PjxsZW5ndGg+PHN0cnVjdD4uLi4KKyAqCisgKiBFYWNoIGxlbmd0
aCBzZXBhcmF0b3IgaXMgYSAzMmIgaW50ZWdlciBpbmRpY2F0aW5nIHRoZSBsZW5ndGggb2YgdGhl
IG5leHQKKyAqIFNNQklPUyBzdHJ1Y3R1cmUuIEZvciBETVRGIGRlZmluZWQgdHlwZXMgKDAgLSAx
MjEpLCB0aGUgcGFzc2VkIGluIHN0cnVjdAorICogd2lsbCByZXBsYWNlIHRoZSBkZWZhdWx0IHN0
cnVjdHVyZSBpbiBodm1sb2FkZXIuIEluIGFkZGl0aW9uLCBhbnkKKyAqIE9FTS92ZW5kb3J0eXBl
cyAoMTI4IC0gMjU1KSB3aWxsIGFsbCBiZSBhZGRlZC4KKyAqLworI2RlZmluZSBIVk1fWFNfU01C
SU9TX1BUX0FERFJFU1MgICAgICAgImh2bWxvYWRlci9zbWJpb3MvYWRkcmVzcyIKKyNkZWZpbmUg
SFZNX1hTX1NNQklPU19QVF9MRU5HVEggICAgICAgICJodm1sb2FkZXIvc21iaW9zL2xlbmd0aCIK
KworLyogU2V0IHRvIDEgdG8gZW5hYmxlIFNNQklPUyBkZWZhdWx0IHBvcnRhYmxlIGJhdHRlcnkg
KHR5cGUgMjIpIHZhbHVlcy4gKi8KKyNkZWZpbmUgSFZNX1hTX1NNQklPU19ERUZBVUxUX0JBVFRF
UlkgICJodm1sb2FkZXIvc21iaW9zL2RlZmF1bHRfYmF0dGVyeSIKKworLyogVGhlIGZvbGxvd2lu
ZyB4ZW5zdG9yZSB2YWx1ZXMgYXJlIHVzZWQgdG8gb3ZlcnJpZGUgc29tZSBvZiB0aGUgZGVmYXVs
dAorICogc3RyaW5nIHZhbHVlcyBpbiB0aGUgU01CSU9TIHRhYmxlIGNvbnN0cnVjdGVkIGluIGh2
bWxvYWRlci4KKyAqLworI2RlZmluZSBIVk1fWFNfQklPU19TVFJJTkdTICAgICAgICAgICAgImJp
b3Mtc3RyaW5ncyIKKyNkZWZpbmUgSFZNX1hTX0JJT1NfVkVORE9SICAgICAgICAgICAgICJiaW9z
LXN0cmluZ3MvYmlvcy12ZW5kb3IiCisjZGVmaW5lIEhWTV9YU19CSU9TX1ZFUlNJT04gICAgICAg
ICAgICAiYmlvcy1zdHJpbmdzL2Jpb3MtdmVyc2lvbiIKKyNkZWZpbmUgSFZNX1hTX1NZU1RFTV9N
QU5VRkFDVFVSRVIgICAgICJiaW9zLXN0cmluZ3Mvc3lzdGVtLW1hbnVmYWN0dXJlciIKKyNkZWZp
bmUgSFZNX1hTX1NZU1RFTV9QUk9EVUNUX05BTUUgICAgICJiaW9zLXN0cmluZ3Mvc3lzdGVtLXBy
b2R1Y3QtbmFtZSIKKyNkZWZpbmUgSFZNX1hTX1NZU1RFTV9WRVJTSU9OICAgICAgICAgICJiaW9z
LXN0cmluZ3Mvc3lzdGVtLXZlcnNpb24iCisjZGVmaW5lIEhWTV9YU19TWVNURU1fU0VSSUFMX05V
TUJFUiAgICAiYmlvcy1zdHJpbmdzL3N5c3RlbS1zZXJpYWwtbnVtYmVyIgorI2RlZmluZSBIVk1f
WFNfRU5DTE9TVVJFX01BTlVGQUNUVVJFUiAgImJpb3Mtc3RyaW5ncy9lbmNsb3N1cmUtbWFudWZh
Y3R1cmVyIgorI2RlZmluZSBIVk1fWFNfRU5DTE9TVVJFX1NFUklBTF9OVU1CRVIgImJpb3Mtc3Ry
aW5ncy9lbmNsb3N1cmUtc2VyaWFsLW51bWJlciIKKyNkZWZpbmUgSFZNX1hTX0JBVFRFUllfTUFO
VUZBQ1RVUkVSICAgICJiaW9zLXN0cmluZ3MvYmF0dGVyeS1tYW51ZmFjdHVyZXIiCisjZGVmaW5l
IEhWTV9YU19CQVRURVJZX0RFVklDRV9OQU1FICAgICAiYmlvcy1zdHJpbmdzL2JhdHRlcnktZGV2
aWNlLW5hbWUiCisKKy8qIFVwIHRvIDEwMCBPRU0gc3RyaW5ncyBjYW4gYmUgc2V0IGluIHhlbnN0
b3JlIHVzaW5nIHZhbHVlcyBvZiB0aGUgZm9ybQorICogYmVsb3cuIFRoZXNlIHN0cmluZ3Mgd2ls
bCBiZSBsb2FkZWQgaW50byB0aGUgU01CSU9TIHR5cGUgMTEgc3RydWN0dXJlLgorICovCisjZGVm
aW5lIEhWTV9YU19PRU1fU1RSSU5HUyAgICAgICAgICAgICAiYmlvcy1zdHJpbmdzL29lbS1YWCIK
KworI2VuZGlmIC8qIF9YRU5fVE9PTFNfSFZNX0RFRlNfSF9fICovCisKKy8qCisgKiBMb2NhbCB2
YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLXNldC1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMt
b2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICog
RW5kOgorICovCg==

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBCFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:38:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:38:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXChG-0001ww-Hd; Wed, 23 May 2012 14:37:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXChF-0001wV-Lk
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:54 +0000
Received: from [85.158.138.51:49540] by server-6.bemta-3.messagelabs.com id
	35/75-18175-046FCBF4; Wed, 23 May 2012 14:37:52 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337783869!28800556!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11028 invoked from network); 23 May 2012 14:37:51 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510670"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:48 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:48 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:48 -0400
Thread-Topic: [Xen-devel] [PATCH v3 03/04] HVM firmware passthrough SMBIOS
	processing
Thread-Index: Ac047v3NDXPibqhWSHS5f0PqvzbKOA==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBE@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 03/04] HVM firmware passthrough SMBIOS
 processing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Passthrough support for the SMBIOS structures including three new DMTF defi=
ned
types and support for OEM defined tables. Passed in SMBIOS types override t=
he
default internal values. Default values can be enabled for the new type 22
portable battery using a xenstore flag. All other new DMTF defined and OEM
structures will only be added to the SMBIOS table if passthrough values are
present.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>


--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-03.patch"
Content-Description: hvm-firmware-passthrough-v3-03.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-03.patch"; size=18813;
	creation-date="Wed, 23 May 2012 13:25:59 GMT";
	modification-date="Wed, 23 May 2012 14:10:57 GMT"
Content-Transfer-Encoding: base64

UGFzc3Rocm91Z2ggc3VwcG9ydCBmb3IgdGhlIFNNQklPUyBzdHJ1Y3R1cmVzIGluY2x1ZGluZyB0
aHJlZSBuZXcgRE1URiBkZWZpbmVkCnR5cGVzIGFuZCBzdXBwb3J0IGZvciBPRU0gZGVmaW5lZCB0
YWJsZXMuIFBhc3NlZCBpbiBTTUJJT1MgdHlwZXMgb3ZlcnJpZGUgdGhlCmRlZmF1bHQgaW50ZXJu
YWwgdmFsdWVzLiBEZWZhdWx0IHZhbHVlcyBjYW4gYmUgZW5hYmxlZCBmb3IgdGhlIG5ldyB0eXBl
IDIyCnBvcnRhYmxlIGJhdHRlcnkgdXNpbmcgYSB4ZW5zdG9yZSBmbGFnLiBBbGwgb3RoZXIgbmV3
IERNVEYgZGVmaW5lZCBhbmQgT0VNCnN0cnVjdHVyZXMgd2lsbCBvbmx5IGJlIGFkZGVkIHRvIHRo
ZSBTTUJJT1MgdGFibGUgaWYgcGFzc3Rocm91Z2ggdmFsdWVzIGFyZQpwcmVzZW50LgoKU2lnbmVk
LW9mZi1ieTogUm9zcyBQaGlsaXBzb24gPHJvc3MucGhpbGlwc29uQGNpdHJpeC5jb20+CgpkaWZm
IC1yIDYxN2QyMDk0MDM0ZCB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvc21iaW9zLmMKLS0tIGEv
dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3NtYmlvcy5jCVR1ZSBNYXkgMjIgMjE6MDc6MjcgMjAx
MiAtMDQwMAorKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvc21iaW9zLmMJVHVlIE1heSAy
MiAyMTowOTowMyAyMDEyIC0wNDAwCkBAIC0yNiwxNiArMjYsMzggQEAKICNpbmNsdWRlICJzbWJp
b3NfdHlwZXMuaCIKICNpbmNsdWRlICJ1dGlsLmgiCiAjaW5jbHVkZSAiaHlwZXJjYWxsLmgiCisj
aW5jbHVkZSAieGVuLXRvb2xzL2h2bV9kZWZzLmgiCiAKKy8qIFNCTUlPUyBoYW5kbGUgYmFzZSB2
YWx1ZXMgKi8KKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMCAgIDB4MDAwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUxICAgMHgwMTAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTIg
ICAweDAyMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMyAgIDB4MDMwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEU0ICAgMHgwNDAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTEx
ICAweDBCMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMTYgIDB4MTAwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUxNyAgMHgxMTAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTE5
ICAweDEzMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMjAgIDB4MTQwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUyMiAgMHgxNjAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTMy
ICAweDIwMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMzkgIDB4MjcwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUxMjcgMHg3ZjAwCisKK3N0YXRpYyB2b2lkCitzbWJpb3NfcHRfaW5p
dCh2b2lkKTsKK3N0YXRpYyB2b2lkKgorZ2V0X3NtYmlvc19wdF9zdHJ1Y3QodWludDhfdCB0eXBl
LCB1aW50MzJfdCAqbGVuZ3RoX291dCk7CitzdGF0aWMgdm9pZAorZ2V0X2NwdV9tYW51ZmFjdHVy
ZXIoY2hhciAqYnVmLCBpbnQgbGVuKTsKIHN0YXRpYyBpbnQKIHdyaXRlX3NtYmlvc190YWJsZXMo
dm9pZCAqZXAsIHZvaWQgKnN0YXJ0LAogICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2Y3B1
cywgdWludDY0X3QgbWVtc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgdWludDhfdCB1dWlkWzE2
XSwgY2hhciAqeGVuX3ZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHhlbl9t
YWpvcl92ZXJzaW9uLCB1aW50MzJfdCB4ZW5fbWlub3JfdmVyc2lvbiwKICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgKm5yX3N0cnVjdHMsIHVuc2lnbmVkICptYXhfc3RydWN0X3NpemUpOwot
Ci1zdGF0aWMgdm9pZAotZ2V0X2NwdV9tYW51ZmFjdHVyZXIoY2hhciAqYnVmLCBpbnQgbGVuKTsK
K3N0YXRpYyB1aW50NjRfdAorZ2V0X21lbXNpemUodm9pZCk7CiBzdGF0aWMgdm9pZAogc21iaW9z
X2VudHJ5X3BvaW50X2luaXQodm9pZCAqc3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MTZfdCBtYXhfc3RydWN0dXJlX3NpemUsCkBAIC00OSw2ICs3MSw4IEBAIHN0YXRpYyB2b2lk
ICoKIHNtYmlvc190eXBlXzFfaW5pdCh2b2lkICpzdGFydCwgY29uc3QgY2hhciAqeGVuX3ZlcnNp
b24sIAogICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgdXVpZFsxNl0pOwogc3RhdGljIHZvaWQg
Kgorc21iaW9zX3R5cGVfMl9pbml0KHZvaWQgKnN0YXJ0KTsKK3N0YXRpYyB2b2lkICoKIHNtYmlv
c190eXBlXzNfaW5pdCh2b2lkICpzdGFydCk7CiBzdGF0aWMgdm9pZCAqCiBzbWJpb3NfdHlwZV80
X2luaXQodm9pZCAqc3RhcnQsIHVuc2lnbmVkIGludCBjcHVfbnVtYmVyLApAQCAtNjQsMTAgKzg4
LDczIEBAIHNtYmlvc190eXBlXzE5X2luaXQodm9pZCAqc3RhcnQsIHVpbnQzMl8KIHN0YXRpYyB2
b2lkICoKIHNtYmlvc190eXBlXzIwX2luaXQodm9pZCAqc3RhcnQsIHVpbnQzMl90IG1lbW9yeV9z
aXplX21iLCBpbnQgaW5zdGFuY2UpOwogc3RhdGljIHZvaWQgKgorc21iaW9zX3R5cGVfMjJfaW5p
dCh2b2lkICpzdGFydCk7CitzdGF0aWMgdm9pZCAqCiBzbWJpb3NfdHlwZV8zMl9pbml0KHZvaWQg
KnN0YXJ0KTsKIHN0YXRpYyB2b2lkICoKK3NtYmlvc190eXBlXzM5X2luaXQodm9pZCAqc3RhcnQp
Oworc3RhdGljIHZvaWQgKgorc21iaW9zX3R5cGVfdmVuZG9yX29lbV9pbml0KHZvaWQgKnN0YXJ0
KTsKK3N0YXRpYyB2b2lkICoKIHNtYmlvc190eXBlXzEyN19pbml0KHZvaWQgKnN0YXJ0KTsKIAor
c3RhdGljIHVpbnQzMl90ICpzbWJpb3NfcHRfYWRkciA9IE5VTEw7CitzdGF0aWMgdWludDMyX3Qg
c21iaW9zX3B0X2xlbmd0aCA9IDA7CisKK3N0YXRpYyB2b2lkCitzbWJpb3NfcHRfaW5pdCh2b2lk
KQoreworICAgIGNvbnN0IGNoYXIgKnM7CisKKyAgICBzID0geGVuc3RvcmVfcmVhZChIVk1fWFNf
U01CSU9TX1BUX0FERFJFU1MsIE5VTEwpOworICAgIGlmICggcyA9PSBOVUxMICkKKyAgICAgICAg
Z290byByZXNldDsKKworICAgIHNtYmlvc19wdF9hZGRyID0gKHVpbnQzMl90KikodWludDMyX3Qp
c3RydG9sbChzLCBOVUxMLCAwKTsKKyAgICBpZiAoIHNtYmlvc19wdF9hZGRyID09IE5VTEwgKQor
ICAgICAgICBnb3RvIHJlc2V0OworCisgICAgcyA9IHhlbnN0b3JlX3JlYWQoSFZNX1hTX1NNQklP
U19QVF9MRU5HVEgsIE5VTEwpOworICAgIGlmICggcyA9PSBOVUxMICkKKyAgICAgICAgZ290byBy
ZXNldDsKKworICAgIHNtYmlvc19wdF9sZW5ndGggPSAodWludDMyX3Qpc3RydG9sbChzLCBOVUxM
LCAwKTsKKyAgICBpZiAoIHNtYmlvc19wdF9sZW5ndGggPT0gMCApCisgICAgICAgIGdvdG8gcmVz
ZXQ7CisKKyAgICByZXR1cm47CisKK3Jlc2V0OgorICAgIHNtYmlvc19wdF9hZGRyID0gTlVMTDsK
KyAgICBzbWJpb3NfcHRfbGVuZ3RoID0gMDsKK30KKworc3RhdGljIHZvaWQqCitnZXRfc21iaW9z
X3B0X3N0cnVjdCh1aW50OF90IHR5cGUsIHVpbnQzMl90ICpsZW5ndGhfb3V0KQoreworICAgIHVp
bnQzMl90ICpzZXAgPSBzbWJpb3NfcHRfYWRkcjsKKyAgICB1aW50MzJfdCB0b3RhbCA9IDA7Cisg
ICAgdWludDhfdCAqcHRyOworCisgICAgaWYgKCBzZXAgPT0gTlVMTCApCisgICAgICAgIHJldHVy
biBOVUxMOworCisgICAgd2hpbGUgKCB0b3RhbCA8IHNtYmlvc19wdF9sZW5ndGggKQorICAgIHsK
KyAgICAgICAgcHRyID0gKHVpbnQ4X3QqKShzZXAgKyAxKTsKKyAgICAgICAgaWYgKCBwdHJbMF0g
PT0gdHlwZSApCisgICAgICAgIHsKKyAgICAgICAgICAgICpsZW5ndGhfb3V0ID0gKnNlcDsKKyAg
ICAgICAgICAgIHJldHVybiBwdHI7CisgICAgICAgIH0KKworICAgICAgICB0b3RhbCArPSAoKnNl
cCArIHNpemVvZih1aW50MzJfdCkpOworICAgICAgICBzZXAgPSAodWludDMyX3QqKShwdHIgKyAq
c2VwKTsKKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKK30KKwogc3RhdGljIHZvaWQKIGdldF9j
cHVfbWFudWZhY3R1cmVyKGNoYXIgKmJ1ZiwgaW50IGxlbikKIHsKQEAgLTk3LDYgKzE4NCw4IEBA
IHdyaXRlX3NtYmlvc190YWJsZXModm9pZCAqZXAsIHZvaWQgKnN0YXIKICAgICBjaGFyIGNwdV9t
YW51ZmFjdHVyZXJbMTVdOwogICAgIGludCBpLCBucl9tZW1fZGV2czsKIAorICAgIHNtYmlvc19w
dF9pbml0KCk7CisKICAgICBnZXRfY3B1X21hbnVmYWN0dXJlcihjcHVfbWFudWZhY3R1cmVyLCAx
NSk7CiAKICAgICBwID0gKGNoYXIgKilzdGFydDsKQEAgLTExMiw2ICsyMDEsNyBAQCB3cml0ZV9z
bWJpb3NfdGFibGVzKHZvaWQgKmVwLCB2b2lkICpzdGFyCiAgICAgZG9fc3RydWN0KHNtYmlvc190
eXBlXzBfaW5pdChwLCB4ZW5fdmVyc2lvbiwgeGVuX21ham9yX3ZlcnNpb24sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB4ZW5fbWlub3JfdmVyc2lvbikpOwogICAgIGRvX3N0cnVj
dChzbWJpb3NfdHlwZV8xX2luaXQocCwgeGVuX3ZlcnNpb24sIHV1aWQpKTsKKyAgICBkb19zdHJ1
Y3Qoc21iaW9zX3R5cGVfMl9pbml0KHApKTsKICAgICBkb19zdHJ1Y3Qoc21iaW9zX3R5cGVfM19p
bml0KHApKTsKICAgICBmb3IgKCBjcHVfbnVtID0gMTsgY3B1X251bSA8PSB2Y3B1czsgY3B1X251
bSsrICkKICAgICAgICAgZG9fc3RydWN0KHNtYmlvc190eXBlXzRfaW5pdChwLCBjcHVfbnVtLCBj
cHVfbWFudWZhY3R1cmVyKSk7CkBAIC0xMzAsNyArMjIwLDEwIEBAIHdyaXRlX3NtYmlvc190YWJs
ZXModm9pZCAqZXAsIHZvaWQgKnN0YXIKICAgICAgICAgZG9fc3RydWN0KHNtYmlvc190eXBlXzIw
X2luaXQocCwgZGV2X21lbXNpemUsIGkpKTsKICAgICB9CiAKKyAgICBkb19zdHJ1Y3Qoc21iaW9z
X3R5cGVfMjJfaW5pdChwKSk7CiAgICAgZG9fc3RydWN0KHNtYmlvc190eXBlXzMyX2luaXQocCkp
OworICAgIGRvX3N0cnVjdChzbWJpb3NfdHlwZV8zOV9pbml0KHApKTsKKyAgICBkb19zdHJ1Y3Qo
c21iaW9zX3R5cGVfdmVuZG9yX29lbV9pbml0KHApKTsKICAgICBkb19zdHJ1Y3Qoc21iaW9zX3R5
cGVfMTI3X2luaXQocCkpOwogCiAjdW5kZWYgZG9fc3RydWN0CkBAIC0yODksMTIgKzM4MiwyMiBA
QCBzbWJpb3NfdHlwZV8wX2luaXQodm9pZCAqc3RhcnQsIGNvbnN0IGNoCiAgICAgc3RydWN0IHNt
Ymlvc190eXBlXzAgKnAgPSAoc3RydWN0IHNtYmlvc190eXBlXzAgKilzdGFydDsKICAgICBzdGF0
aWMgY29uc3QgY2hhciAqc21iaW9zX3JlbGVhc2VfZGF0ZSA9IF9fU01CSU9TX0RBVEVfXzsKICAg
ICBjb25zdCBjaGFyICpzOworICAgIHZvaWQgKnB0czsKKyAgICB1aW50MzJfdCBsZW5ndGg7CisK
KyAgICBwdHMgPSBnZXRfc21iaW9zX3B0X3N0cnVjdCgwLCAmbGVuZ3RoKTsKKyAgICBpZiAoIChw
dHMgIT0gTlVMTCkmJihsZW5ndGggPiAwKSApCisgICAgeworICAgICAgICBtZW1jcHkoc3RhcnQs
IHB0cywgbGVuZ3RoKTsKKyAgICAgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVf
VFlQRTA7CisgICAgICAgIHJldHVybiAoc3RhcnQgKyBsZW5ndGgpOworICAgIH0KIAogICAgIG1l
bXNldChwLCAwLCBzaXplb2YoKnApKTsKIAogICAgIHAtPmhlYWRlci50eXBlID0gMDsKICAgICBw
LT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8wKTsKLSAgICBwLT5o
ZWFkZXIuaGFuZGxlID0gMDsKKyAgICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9U
WVBFMDsKIAogICAgIHAtPnZlbmRvcl9zdHIgPSAxOwogICAgIHAtPnZlcnNpb25fc3RyID0gMjsK
QEAgLTMxNSwxMSArNDE4LDExIEBAIHNtYmlvc190eXBlXzBfaW5pdCh2b2lkICpzdGFydCwgY29u
c3QgY2gKICAgICBwLT5lbWJlZGRlZF9jb250cm9sbGVyX21pbm9yID0gMHhmZjsKIAogICAgIHN0
YXJ0ICs9IHNpemVvZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMCk7Ci0gICAgcyA9IHhlbnN0b3JlX3Jl
YWQoImJpb3Mtc3RyaW5ncy9iaW9zLXZlbmRvciIsICJYZW4iKTsKKyAgICBzID0geGVuc3RvcmVf
cmVhZChIVk1fWFNfQklPU19WRU5ET1IsICJYZW4iKTsKICAgICBzdHJjcHkoKGNoYXIgKilzdGFy
dCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKIAotICAgIHMgPSB4ZW5zdG9yZV9y
ZWFkKCJiaW9zLXN0cmluZ3MvYmlvcy12ZXJzaW9uIiwgeGVuX3ZlcnNpb24pOworICAgIHMgPSB4
ZW5zdG9yZV9yZWFkKEhWTV9YU19CSU9TX1ZFUlNJT04sIHhlbl92ZXJzaW9uKTsKICAgICBzdHJj
cHkoKGNoYXIgKilzdGFydCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKIApAQCAt
MzM4LDEyICs0NDEsMjIgQEAgc21iaW9zX3R5cGVfMV9pbml0KHZvaWQgKnN0YXJ0LCBjb25zdCBj
aAogICAgIGNoYXIgdXVpZF9zdHJbMzddOwogICAgIHN0cnVjdCBzbWJpb3NfdHlwZV8xICpwID0g
KHN0cnVjdCBzbWJpb3NfdHlwZV8xICopc3RhcnQ7CiAgICAgY29uc3QgY2hhciAqczsKKyAgICB2
b2lkICpwdHM7CisgICAgdWludDMyX3QgbGVuZ3RoOworCisgICAgcHRzID0gZ2V0X3NtYmlvc19w
dF9zdHJ1Y3QoMSwgJmxlbmd0aCk7CisgICAgaWYgKCAocHRzICE9IE5VTEwpJiYobGVuZ3RoID4g
MCkgKQorICAgIHsKKyAgICAgICAgbWVtY3B5KHN0YXJ0LCBwdHMsIGxlbmd0aCk7CisgICAgICAg
IHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxOworICAgICAgICByZXR1cm4g
KHN0YXJ0ICsgbGVuZ3RoKTsKKyAgICB9CiAKICAgICBtZW1zZXQocCwgMCwgc2l6ZW9mKCpwKSk7
CiAKICAgICBwLT5oZWFkZXIudHlwZSA9IDE7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNpemVv
ZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMSk7Ci0gICAgcC0+aGVhZGVyLmhhbmRsZSA9IDB4MTAwOwor
ICAgIHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxOwogCiAgICAgcC0+bWFu
dWZhY3R1cmVyX3N0ciA9IDE7CiAgICAgcC0+cHJvZHVjdF9uYW1lX3N0ciA9IDI7CkBAIC0zNTgs
MjAgKzQ3MSwyMCBAQCBzbWJpb3NfdHlwZV8xX2luaXQodm9pZCAqc3RhcnQsIGNvbnN0IGNoCiAK
ICAgICBzdGFydCArPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzEpOwogICAgIAotICAgIHMg
PSB4ZW5zdG9yZV9yZWFkKCJiaW9zLXN0cmluZ3Mvc3lzdGVtLW1hbnVmYWN0dXJlciIsICJYZW4i
KTsKKyAgICBzID0geGVuc3RvcmVfcmVhZChIVk1fWFNfU1lTVEVNX01BTlVGQUNUVVJFUiwgIlhl
biIpOwogICAgIHN0cmNweSgoY2hhciAqKXN0YXJ0LCBzKTsKICAgICBzdGFydCArPSBzdHJsZW4o
cykgKyAxOwogCi0gICAgcyA9IHhlbnN0b3JlX3JlYWQoImJpb3Mtc3RyaW5ncy9zeXN0ZW0tcHJv
ZHVjdC1uYW1lIiwgIkhWTSBkb21VIik7CisgICAgcyA9IHhlbnN0b3JlX3JlYWQoSFZNX1hTX1NZ
U1RFTV9QUk9EVUNUX05BTUUsICJIVk0gZG9tVSIpOwogICAgIHN0cmNweSgoY2hhciAqKXN0YXJ0
LCBzKTsKICAgICBzdGFydCArPSBzdHJsZW4ocykgKyAxOwogCi0gICAgcyA9IHhlbnN0b3JlX3Jl
YWQoImJpb3Mtc3RyaW5ncy9zeXN0ZW0tdmVyc2lvbiIsIHhlbl92ZXJzaW9uKTsKKyAgICBzID0g
eGVuc3RvcmVfcmVhZChIVk1fWFNfU1lTVEVNX1ZFUlNJT04sIHhlbl92ZXJzaW9uKTsKICAgICBz
dHJjcHkoKGNoYXIgKilzdGFydCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKIAog
ICAgIHV1aWRfdG9fc3RyaW5nKHV1aWRfc3RyLCB1dWlkKTsgCi0gICAgcyA9IHhlbnN0b3JlX3Jl
YWQoImJpb3Mtc3RyaW5ncy9zeXN0ZW0tc2VyaWFsLW51bWJlciIsIHV1aWRfc3RyKTsKKyAgICBz
ID0geGVuc3RvcmVfcmVhZChIVk1fWFNfU1lTVEVNX1NFUklBTF9OVU1CRVIsIHV1aWRfc3RyKTsK
ICAgICBzdHJjcHkoKGNoYXIgKilzdGFydCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsg
MTsKIApAQCAtMzgwLDE3ICs0OTMsNTggQEAgc21iaW9zX3R5cGVfMV9pbml0KHZvaWQgKnN0YXJ0
LCBjb25zdCBjaAogICAgIHJldHVybiBzdGFydCsxOyAKIH0KIAorLyogVHlwZSAyIC0tIFN5c3Rl
bSBCb2FyZCAqLworc3RhdGljIHZvaWQgKgorc21iaW9zX3R5cGVfMl9pbml0KHZvaWQgKnN0YXJ0
KQoreworICAgIHN0cnVjdCBzbWJpb3NfdHlwZV8yICpwID0gKHN0cnVjdCBzbWJpb3NfdHlwZV8y
ICopc3RhcnQ7CisgICAgdWludDhfdCAqcHRyOworICAgIHZvaWQgKnB0czsKKyAgICB1aW50MzJf
dCBsZW5ndGg7CisKKyAgICBwdHMgPSBnZXRfc21iaW9zX3B0X3N0cnVjdCgyLCAmbGVuZ3RoKTsK
KyAgICBpZiAoIChwdHMgIT0gTlVMTCkmJihsZW5ndGggPiAwKSApCisgICAgeworICAgICAgICBt
ZW1jcHkoc3RhcnQsIHB0cywgbGVuZ3RoKTsKKyAgICAgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNN
QklPU19IQU5ETEVfVFlQRTI7CisKKyAgICAgICAgLyogU2V0IGN1cnJlbnQgY2hhc3NpcyBoYW5k
bGUgaWYgcHJlc2VudCAqLworICAgICAgICBpZiAoIHAtPmhlYWRlci5sZW5ndGggPiAxMyApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHB0ciA9ICgodWludDhfdCopc3RhcnQpICsgMTE7ICAgICAg
ICAgICAgCisgICAgICAgICAgICBpZiAoICooKHVpbnQxNl90KilwdHIpICE9IDAgKQorICAgICAg
ICAgICAgICAgICooKHVpbnQxNl90KilwdHIpID0gU01CSU9TX0hBTkRMRV9UWVBFMzsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiAoc3RhcnQgKyBsZW5ndGgpOworICAgIH0KKworICAgIC8q
IE9ubHkgcHJlc2VudCB3aGVuIHBhc3NlZCBpbiAqLworICAgIHJldHVybiBzdGFydDsKK30KKwog
LyogVHlwZSAzIC0tIFN5c3RlbSBFbmNsb3N1cmUgKi8KIHN0YXRpYyB2b2lkICoKIHNtYmlvc190
eXBlXzNfaW5pdCh2b2lkICpzdGFydCkKIHsKICAgICBzdHJ1Y3Qgc21iaW9zX3R5cGVfMyAqcCA9
IChzdHJ1Y3Qgc21iaW9zX3R5cGVfMyAqKXN0YXJ0OworICAgIGNvbnN0IGNoYXIgKnM7CisgICAg
dm9pZCAqcHRzOworICAgIHVpbnQzMl90IGxlbmd0aDsKKworICAgIHB0cyA9IGdldF9zbWJpb3Nf
cHRfc3RydWN0KDMsICZsZW5ndGgpOworICAgIGlmICggKHB0cyAhPSBOVUxMKSYmKGxlbmd0aCA+
IDApICkKKyAgICB7CisgICAgICAgIG1lbWNweShzdGFydCwgcHRzLCBsZW5ndGgpOworICAgICAg
ICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9UWVBFMzsKKyAgICAgICAgcmV0dXJu
IChzdGFydCArIGxlbmd0aCk7CisgICAgfQogICAgIAogICAgIG1lbXNldChwLCAwLCBzaXplb2Yo
KnApKTsKIAogICAgIHAtPmhlYWRlci50eXBlID0gMzsKICAgICBwLT5oZWFkZXIubGVuZ3RoID0g
c2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8zKTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHgz
MDA7CisgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTM7CiAKICAgICBw
LT5tYW51ZmFjdHVyZXJfc3RyID0gMTsKICAgICBwLT50eXBlID0gMHgwMTsgLyogb3RoZXIgKi8K
QEAgLTQwNCw4ICs1NTgsMTkgQEAgc21iaW9zX3R5cGVfM19pbml0KHZvaWQgKnN0YXJ0KQogCiAg
ICAgc3RhcnQgKz0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8zKTsKICAgICAKLSAgICBzdHJj
cHkoKGNoYXIgKilzdGFydCwgIlhlbiIpOwotICAgIHN0YXJ0ICs9IHN0cmxlbigiWGVuIikgKyAx
OworICAgIHMgPSB4ZW5zdG9yZV9yZWFkKEhWTV9YU19FTkNMT1NVUkVfTUFOVUZBQ1RVUkVSLCAi
WGVuIik7CisgICAgc3RyY3B5KChjaGFyICopc3RhcnQsIHMpOworICAgIHN0YXJ0ICs9IHN0cmxl
bihzKSArIDE7CisKKyAgICAvKiBObyBpbnRlcm5hbCBkZWZhdWx0cyBmb3IgdGhpcyBpZiB0aGUg
dmFsdWUgaXMgbm90IHNldCAqLworICAgIHMgPSB4ZW5zdG9yZV9yZWFkKEhWTV9YU19FTkNMT1NV
UkVfU0VSSUFMX05VTUJFUiwgTlVMTCk7CisgICAgaWYgKCAocyAhPSBOVUxMKSYmKCpzICE9ICdc
MCcpICkKKyAgICB7CisgICAgICAgIHN0cmNweSgoY2hhciAqKXN0YXJ0LCBzKTsKKyAgICAgICAg
c3RhcnQgKz0gc3RybGVuKHMpICsgMTsKKyAgICAgICAgcC0+c2VyaWFsX251bWJlcl9zdHIgPSAy
OworICAgIH0KKwogICAgICooKHVpbnQ4X3QgKilzdGFydCkgPSAwOwogICAgIHJldHVybiBzdGFy
dCsxOwogfQpAQCAtNDIzLDcgKzU4OCw3IEBAIHNtYmlvc190eXBlXzRfaW5pdCgKIAogICAgIHAt
PmhlYWRlci50eXBlID0gNDsKICAgICBwLT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBz
bWJpb3NfdHlwZV80KTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHg0MDAgKyBjcHVfbnVtYmVy
OworICAgIHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEU0ICsgY3B1X251bWJl
cjsKIAogICAgIHAtPnNvY2tldF9kZXNpZ25hdGlvbl9zdHIgPSAxOwogICAgIHAtPnByb2Nlc3Nv
cl90eXBlID0gMHgwMzsgLyogQ1BVICovCkBAIC00NjUsMTMgKzYzMCwyMyBAQCBzdGF0aWMgdm9p
ZCAqCiBzbWJpb3NfdHlwZV8xMV9pbml0KHZvaWQgKnN0YXJ0KSAKIHsKICAgICBzdHJ1Y3Qgc21i
aW9zX3R5cGVfMTEgKnAgPSAoc3RydWN0IHNtYmlvc190eXBlXzExICopc3RhcnQ7Ci0gICAgY2hh
ciBwYXRoWzIwXSA9ICJiaW9zLXN0cmluZ3Mvb2VtLVhYIjsKKyAgICBjaGFyIHBhdGhbMjBdID0g
SFZNX1hTX09FTV9TVFJJTkdTOwogICAgIGNvbnN0IGNoYXIgKnM7CiAgICAgaW50IGk7CisgICAg
dm9pZCAqcHRzOworICAgIHVpbnQzMl90IGxlbmd0aDsKKworICAgIHB0cyA9IGdldF9zbWJpb3Nf
cHRfc3RydWN0KDExLCAmbGVuZ3RoKTsKKyAgICBpZiAoIChwdHMgIT0gTlVMTCkmJihsZW5ndGgg
PiAwKSApCisgICAgeworICAgICAgICBtZW1jcHkoc3RhcnQsIHB0cywgbGVuZ3RoKTsKKyAgICAg
ICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTExOworICAgICAgICByZXR1
cm4gKHN0YXJ0ICsgbGVuZ3RoKTsKKyAgICB9CiAKICAgICBwLT5oZWFkZXIudHlwZSA9IDExOwog
ICAgIHAtPmhlYWRlci5sZW5ndGggPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzExKTsKLSAg
ICBwLT5oZWFkZXIuaGFuZGxlID0gMHhCMDA7CisgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklP
U19IQU5ETEVfVFlQRTExOwogCiAgICAgcC0+Y291bnQgPSAwOwogCkBAIC01MTAsNyArNjg1LDcg
QEAgc21iaW9zX3R5cGVfMTZfaW5pdCh2b2lkICpzdGFydCwgdWludDMyXwogICAgIG1lbXNldChw
LCAwLCBzaXplb2YoKnApKTsKIAogICAgIHAtPmhlYWRlci50eXBlID0gMTY7Ci0gICAgcC0+aGVh
ZGVyLmhhbmRsZSA9IDB4MTAwMDsKKyAgICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRM
RV9UWVBFMTY7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNpemVvZihzdHJ1Y3Qgc21iaW9zX3R5
cGVfMTYpOwogICAgIAogICAgIHAtPmxvY2F0aW9uID0gMHgwMTsgLyogb3RoZXIgKi8KQEAgLTUz
Niw3ICs3MTEsNyBAQCBzbWJpb3NfdHlwZV8xN19pbml0KHZvaWQgKnN0YXJ0LCB1aW50MzJfCiAK
ICAgICBwLT5oZWFkZXIudHlwZSA9IDE3OwogICAgIHAtPmhlYWRlci5sZW5ndGggPSBzaXplb2Yo
c3RydWN0IHNtYmlvc190eXBlXzE3KTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHgxMTAwICsg
aW5zdGFuY2U7CisgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTE3ICsg
aW5zdGFuY2U7CiAKICAgICBwLT5waHlzaWNhbF9tZW1vcnlfYXJyYXlfaGFuZGxlID0gMHgxMDAw
OwogICAgIHAtPnRvdGFsX3dpZHRoID0gNjQ7CkBAIC01NzEsNyArNzQ2LDcgQEAgc21iaW9zX3R5
cGVfMTlfaW5pdCh2b2lkICpzdGFydCwgdWludDMyXwogCiAgICAgcC0+aGVhZGVyLnR5cGUgPSAx
OTsKICAgICBwLT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8xOSk7
Ci0gICAgcC0+aGVhZGVyLmhhbmRsZSA9IDB4MTMwMCArIGluc3RhbmNlOworICAgIHAtPmhlYWRl
ci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxOSArIGluc3RhbmNlOwogCiAgICAgcC0+c3Rh
cnRpbmdfYWRkcmVzcyA9IGluc3RhbmNlIDw8IDI0OwogICAgIHAtPmVuZGluZ19hZGRyZXNzID0g
cC0+c3RhcnRpbmdfYWRkcmVzcyArIChtZW1vcnlfc2l6ZV9tYiA8PCAxMCkgLSAxOwpAQCAtNTkz
LDcgKzc2OCw3IEBAIHNtYmlvc190eXBlXzIwX2luaXQodm9pZCAqc3RhcnQsIHVpbnQzMl8KIAog
ICAgIHAtPmhlYWRlci50eXBlID0gMjA7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNpemVvZihz
dHJ1Y3Qgc21iaW9zX3R5cGVfMjApOwotICAgIHAtPmhlYWRlci5oYW5kbGUgPSAweDE0MDAgKyBp
bnN0YW5jZTsKKyAgICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9UWVBFMjAgKyBp
bnN0YW5jZTsKIAogICAgIHAtPnN0YXJ0aW5nX2FkZHJlc3MgPSBpbnN0YW5jZSA8PCAyNDsKICAg
ICBwLT5lbmRpbmdfYWRkcmVzcyA9IHAtPnN0YXJ0aW5nX2FkZHJlc3MgKyAobWVtb3J5X3NpemVf
bWIgPDwgMTApIC0gMTsKQEAgLTYwOSw2ICs3ODQsNzEgQEAgc21iaW9zX3R5cGVfMjBfaW5pdCh2
b2lkICpzdGFydCwgdWludDMyXwogICAgIHJldHVybiBzdGFydCsyOwogfQogCisvKiBUeXBlIDIy
IC0tIFBvcnRhYmxlIEJhdHRlcnkgKi8KK3N0YXRpYyB2b2lkICoKK3NtYmlvc190eXBlXzIyX2lu
aXQodm9pZCAqc3RhcnQpCit7CisgICAgc3RydWN0IHNtYmlvc190eXBlXzIyICpwID0gKHN0cnVj
dCBzbWJpb3NfdHlwZV8yMiAqKXN0YXJ0OworICAgIHN0YXRpYyBjb25zdCBjaGFyICpzbWJpb3Nf
cmVsZWFzZV9kYXRlID0gX19TTUJJT1NfREFURV9fOworICAgIGNvbnN0IGNoYXIgKnM7CisgICAg
dm9pZCAqcHRzOworICAgIHVpbnQzMl90IGxlbmd0aDsKKworICAgIHB0cyA9IGdldF9zbWJpb3Nf
cHRfc3RydWN0KDIyLCAmbGVuZ3RoKTsKKyAgICBpZiAoIChwdHMgIT0gTlVMTCkmJihsZW5ndGgg
PiAwKSApCisgICAgeworICAgICAgICBtZW1jcHkoc3RhcnQsIHB0cywgbGVuZ3RoKTsKKyAgICAg
ICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTIyOworICAgICAgICByZXR1
cm4gKHN0YXJ0ICsgbGVuZ3RoKTsKKyAgICB9CisKKyAgICBzID0geGVuc3RvcmVfcmVhZChIVk1f
WFNfU01CSU9TX0RFRkFVTFRfQkFUVEVSWSwgIjAiKTsKKyAgICBpZiAoIHN0cm5jbXAocywgIjEi
LCAxKSAhPSAwICkKKyAgICAgICAgcmV0dXJuIHN0YXJ0OworCisgICAgbWVtc2V0KHAsIDAsIHNp
emVvZigqcCkpOworCisgICAgcC0+aGVhZGVyLnR5cGUgPSAyMjsKKyAgICBwLT5oZWFkZXIubGVu
Z3RoID0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8yMik7CisgICAgcC0+aGVhZGVyLmhhbmRs
ZSA9IFNNQklPU19IQU5ETEVfVFlQRTIyOworCisgICAgcC0+bG9jYXRpb25fc3RyID0gMTsKKyAg
ICBwLT5tYW51ZmFjdHVyZXJfc3RyID0gMjsKKyAgICBwLT5tYW51ZmFjdHVyZXJfZGF0ZV9zdHIg
PSAzOworICAgIHAtPnNlcmlhbF9udW1iZXJfc3RyID0gMDsKKyAgICBwLT5kZXZpY2VfbmFtZV9z
dHIgPSA0OworICAgIHAtPmRldmljZV9jaGVtaXN0cnkgPSAweDI7IC8qIHVua25vd24gKi8KKyAg
ICBwLT5kZXZpY2VfY2FwYWNpdHkgPSAwOyAvKiB1bmtub3duICovCisgICAgcC0+ZGV2aWNlX3Zv
bHRhZ2UgPSAwOyAvKiB1bmtub3duICovCisgICAgcC0+c2Jkc192ZXJzaW9uX251bWJlciA9IDA7
CisgICAgcC0+bWF4X2Vycm9yID0gMHhmZjsgLyogdW5rbm93biAqLworICAgIHAtPnNiZHNfc2Vy
aWFsX251bWJlciA9IDA7CisgICAgcC0+c2Jkc19tYW51ZmFjdHVyZXJfZGF0ZSA9IDA7CisgICAg
cC0+c2Jkc19kZXZpY2VfY2hlbWlzdHJ5ID0gMDsKKyAgICBwLT5kZXNpZ25fY2FwYWNpdHlfbXVs
dGlwbGllciA9IDA7CisgICAgcC0+b2VtX3NwZWNpZmljID0gMDsKKworICAgIHN0YXJ0ICs9IHNp
emVvZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMjIpOworCisgICAgc3RyY3B5KChjaGFyICopc3RhcnQs
ICJQcmltYXJ5Iik7CisgICAgc3RhcnQgKz0gc3RybGVuKCJQcmltYXJ5IikgKyAxOworCisgICAg
cyA9IHhlbnN0b3JlX3JlYWQoSFZNX1hTX0JBVFRFUllfTUFOVUZBQ1RVUkVSLCAiWGVuIik7Cisg
ICAgc3RyY3B5KChjaGFyICopc3RhcnQsIHMpOworICAgIHN0YXJ0ICs9IHN0cmxlbihzKSArIDE7
CisKKyAgICBzdHJjcHkoKGNoYXIgKilzdGFydCwgc21iaW9zX3JlbGVhc2VfZGF0ZSk7CisgICAg
c3RhcnQgKz0gc3RybGVuKHNtYmlvc19yZWxlYXNlX2RhdGUpICsgMTsKKworICAgIHMgPSB4ZW5z
dG9yZV9yZWFkKEhWTV9YU19CQVRURVJZX0RFVklDRV9OQU1FLCAiWEVOLVZCQVQiKTsKKyAgICBz
dHJjcHkoKGNoYXIgKilzdGFydCwgcyk7CisgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKKwor
ICAgICooKHVpbnQ4X3QgKilzdGFydCkgPSAwOworCisgICAgcmV0dXJuIHN0YXJ0KzE7IAorfQor
CiAvKiBUeXBlIDMyIC0tIFN5c3RlbSBCb290IEluZm9ybWF0aW9uICovCiBzdGF0aWMgdm9pZCAq
CiBzbWJpb3NfdHlwZV8zMl9pbml0KHZvaWQgKnN0YXJ0KQpAQCAtNjE5LDcgKzg1OSw3IEBAIHNt
Ymlvc190eXBlXzMyX2luaXQodm9pZCAqc3RhcnQpCiAKICAgICBwLT5oZWFkZXIudHlwZSA9IDMy
OwogICAgIHAtPmhlYWRlci5sZW5ndGggPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzMyKTsK
LSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHgyMDAwOworICAgIHAtPmhlYWRlci5oYW5kbGUgPSBT
TUJJT1NfSEFORExFX1RZUEUzMjsKICAgICBtZW1zZXQocC0+cmVzZXJ2ZWQsIDAsIDYpOwogICAg
IHAtPmJvb3Rfc3RhdHVzID0gMDsgLyogbm8gZXJyb3JzIGRldGVjdGVkICovCiAgICAgCkBAIC02
MjgsNiArODY4LDU4IEBAIHNtYmlvc190eXBlXzMyX2luaXQodm9pZCAqc3RhcnQpCiAgICAgcmV0
dXJuIHN0YXJ0KzI7CiB9CiAKKy8qIFR5cGUgMzkgLS0gUG93ZXIgU3VwcGx5ICovCitzdGF0aWMg
dm9pZCAqCitzbWJpb3NfdHlwZV8zOV9pbml0KHZvaWQgKnN0YXJ0KQoreworICAgIHN0cnVjdCBz
bWJpb3NfdHlwZV8zOSAqcCA9IChzdHJ1Y3Qgc21iaW9zX3R5cGVfMzkgKilzdGFydDsKKyAgICB2
b2lkICpwdHM7CisgICAgdWludDMyX3QgbGVuZ3RoOworCisgICAgcHRzID0gZ2V0X3NtYmlvc19w
dF9zdHJ1Y3QoMzksICZsZW5ndGgpOworICAgIGlmICggKHB0cyAhPSBOVUxMKSYmKGxlbmd0aCA+
IDApICkKKyAgICB7CisgICAgICAgIG1lbWNweShzdGFydCwgcHRzLCBsZW5ndGgpOworICAgICAg
ICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9UWVBFMzk7CisgICAgICAgIHJldHVy
biAoc3RhcnQgKyBsZW5ndGgpOworICAgIH0KKworICAgIC8qIE9ubHkgcHJlc2VudCB3aGVuIHBh
c3NlZCBpbiAqLworICAgIHJldHVybiBzdGFydDsKK30KKworc3RhdGljIHZvaWQgKgorc21iaW9z
X3R5cGVfdmVuZG9yX29lbV9pbml0KHZvaWQgKnN0YXJ0KQoreworICAgIHVpbnQzMl90ICpzZXAg
PSBzbWJpb3NfcHRfYWRkcjsKKyAgICB1aW50MzJfdCB0b3RhbCA9IDA7CisgICAgdWludDhfdCAq
cHRyOworCisgICAgaWYgKCBzZXAgPT0gTlVMTCApCisgICAgICAgIHJldHVybiBzdGFydDsKKwor
ICAgIHdoaWxlICggdG90YWwgPCBzbWJpb3NfcHRfbGVuZ3RoICkKKyAgICB7CisgICAgICAgIHB0
ciA9ICh1aW50OF90Kikoc2VwICsgMSk7CisgICAgICAgIGlmICggcHRyWzBdID49IDEyOCApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIC8qIFZlbmRvci9PRU0gdGFibGUsIGNvcHkgaXQgaW4uIE5v
dGUgdGhlIGhhbmRsZSB2YWx1ZXMgY2Fubm90CisgICAgICAgICAgICAgKiBiZSBjaGFuZ2VkIHNp
bmNlIGl0IGlzIHVua25vd24gd2hhdCBpcyBpbiBlYWNoIG9mIHRoZXNlIHRhYmxlcworICAgICAg
ICAgICAgICogYnV0IHRoZXkgY291bGQgY29udGFpbiBoYW5kbGUgcmVmZXJlbmNlcyB0byBvdGhl
ciB0YWJsZXMuIFRoaXMKKyAgICAgICAgICAgICAqIG1lYW5zIGEgc2xpZ2h0IHJpc2sgb2YgY29s
bGlzaW9uIHdpdGggdGhlIHRhYmxlcyBhYm92ZSBidXQgdGhhdAorICAgICAgICAgICAgICogd291
bGQgaGF2ZSB0byBiZSBkZWFsdCB3aXRoIG9uIGEgY2FzZSBieSBjYXNlIGJhc2lzLgorICAgICAg
ICAgICAgICovCisgICAgICAgICAgICBtZW1jcHkoc3RhcnQsIHB0ciwgKnNlcCk7CisgICAgICAg
ICAgICBzdGFydCArPSAqc2VwOworICAgICAgICB9CisKKyAgICAgICAgdG90YWwgKz0gKCpzZXAg
KyBzaXplb2YodWludDMyX3QpKTsKKyAgICAgICAgc2VwID0gKHVpbnQzMl90KikocHRyICsgKnNl
cCk7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXJ0OworfQorCiAvKiBUeXBlIDEyNyAtLSBFbmQg
b2YgVGFibGUgKi8KIHN0YXRpYyB2b2lkICoKIHNtYmlvc190eXBlXzEyN19pbml0KHZvaWQgKnN0
YXJ0KQpAQCAtNjM4LDcgKzkzMCw3IEBAIHNtYmlvc190eXBlXzEyN19pbml0KHZvaWQgKnN0YXJ0
KQogCiAgICAgcC0+aGVhZGVyLnR5cGUgPSAxMjc7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNp
emVvZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMTI3KTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHg3
ZjAwOworICAgIHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxMjc7CiAKICAg
ICBzdGFydCArPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzEyNyk7CiAgICAgKigodWludDE2
X3QgKilzdGFydCkgPSAwOwpkaWZmIC1yIDYxN2QyMDk0MDM0ZCB0b29scy9maXJtd2FyZS9odm1s
b2FkZXIvc21iaW9zX3R5cGVzLmgKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3NtYmlv
c190eXBlcy5oCVR1ZSBNYXkgMjIgMjE6MDc6MjcgMjAxMiAtMDQwMAorKysgYi90b29scy9maXJt
d2FyZS9odm1sb2FkZXIvc21iaW9zX3R5cGVzLmgJVHVlIE1heSAyMiAyMTowOTowMyAyMDEyIC0w
NDAwCkBAIC04NCw2ICs4NCwxNSBAQCBzdHJ1Y3Qgc21iaW9zX3R5cGVfMSB7CiAgICAgdWludDhf
dCBmYW1pbHlfc3RyOwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKKy8qIFNNQklPUyB0
eXBlIDIgLSBCYXNlIEJvYXJkIEluZm9ybWF0aW9uICovCitzdHJ1Y3Qgc21iaW9zX3R5cGVfMiB7
CisgICAgc3RydWN0IHNtYmlvc19zdHJ1Y3R1cmVfaGVhZGVyIGhlYWRlcjsKKyAgICB1aW50OF90
IG1hbnVmYWN0dXJlcl9zdHI7CisgICAgdWludDhfdCBwcm9kdWN0X25hbWVfc3RyOworICAgIHVp
bnQ4X3QgdmVyc2lvbl9zdHI7CisgICAgdWludDhfdCBzZXJpYWxfbnVtYmVyX3N0cjsKK30gX19h
dHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCiAvKiBTTUJJT1MgdHlwZSAzIC0gU3lzdGVtIEVuY2xv
c3VyZSAqLwogc3RydWN0IHNtYmlvc190eXBlXzMgewogICAgIHN0cnVjdCBzbWJpb3Nfc3RydWN0
dXJlX2hlYWRlciBoZWFkZXI7CkBAIC0xNzMsNiArMTgyLDI2IEBAIHN0cnVjdCBzbWJpb3NfdHlw
ZV8yMCB7CiAgICAgdWludDhfdCBpbnRlcmxlYXZlZF9kYXRhX2RlcHRoOwogfSBfX2F0dHJpYnV0
ZV9fICgocGFja2VkKSk7CiAKKy8qIFNNQklPUyB0eXBlIDIyIC0gUG9ydGFibGUgYmF0dGVyeSAq
Lworc3RydWN0IHNtYmlvc190eXBlXzIyIHsKKyAgICBzdHJ1Y3Qgc21iaW9zX3N0cnVjdHVyZV9o
ZWFkZXIgaGVhZGVyOworICAgIHVpbnQ4X3QgbG9jYXRpb25fc3RyOworICAgIHVpbnQ4X3QgbWFu
dWZhY3R1cmVyX3N0cjsKKyAgICB1aW50OF90IG1hbnVmYWN0dXJlcl9kYXRlX3N0cjsKKyAgICB1
aW50OF90IHNlcmlhbF9udW1iZXJfc3RyOworICAgIHVpbnQ4X3QgZGV2aWNlX25hbWVfc3RyOwor
ICAgIHVpbnQ4X3QgZGV2aWNlX2NoZW1pc3RyeTsKKyAgICB1aW50MTZfdCBkZXZpY2VfY2FwYWNp
dHk7CisgICAgdWludDE2X3QgZGV2aWNlX3ZvbHRhZ2U7CisgICAgdWludDhfdCBzYmRzX3ZlcnNp
b25fbnVtYmVyOworICAgIHVpbnQ4X3QgbWF4X2Vycm9yOworICAgIHVpbnQxNl90IHNiZHNfc2Vy
aWFsX251bWJlcjsKKyAgICB1aW50MTZfdCBzYmRzX21hbnVmYWN0dXJlcl9kYXRlOworICAgIHVp
bnQ4X3Qgc2Jkc19kZXZpY2VfY2hlbWlzdHJ5OworICAgIHVpbnQ4X3QgZGVzaWduX2NhcGFjaXR5
X211bHRpcGxpZXI7CisgICAgdWludDMyX3Qgb2VtX3NwZWNpZmljOworfSBfX2F0dHJpYnV0ZV9f
ICgocGFja2VkKSk7CisKIC8qIFNNQklPUyB0eXBlIDMyIC0gU3lzdGVtIEJvb3QgSW5mb3JtYXRp
b24gKi8KIHN0cnVjdCBzbWJpb3NfdHlwZV8zMiB7CiAgICAgc3RydWN0IHNtYmlvc19zdHJ1Y3R1
cmVfaGVhZGVyIGhlYWRlcjsKQEAgLTE4MCw2ICsyMDksMjQgQEAgc3RydWN0IHNtYmlvc190eXBl
XzMyIHsKICAgICB1aW50OF90IGJvb3Rfc3RhdHVzOwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2Vk
KSk7CiAKKy8qIFNNQklPUyB0eXBlIDM5IC0gUG93ZXIgU3VwcGx5ICovCitzdHJ1Y3Qgc21iaW9z
X3R5cGVfMzkgeworICAgIHN0cnVjdCBzbWJpb3Nfc3RydWN0dXJlX2hlYWRlciBoZWFkZXI7Cisg
ICAgdWludDhfdCBwb3dlcl91bml0X2dyb3VwOworICAgIHVpbnQ4X3QgbG9jYXRpb25fc3RyOwor
ICAgIHVpbnQ4X3QgZGV2aWNlX25hbWVfc3RyOworICAgIHVpbnQ4X3QgbWFudWZhY3R1cmVyX3N0
cjsKKyAgICB1aW50OF90IHNlcmlhbF9udW1iZXJfc3RyOworICAgIHVpbnQ4X3QgYXNzZXRfdGFn
X251bWJlcl9zdHI7CisgICAgdWludDhfdCBtb2RlbF9wYXJ0X251bWJlcl9zdHI7CisgICAgdWlu
dDhfdCByZXZpc2lvbl9sZXZlbF9zdHI7CisgICAgdWludDE2X3QgbWF4X2NhcGFjaXR5OworICAg
IHVpbnQxNl90IGNoYXJhY3RlcmlzdGljczsKKyAgICB1aW50MTZfdCBpbnB1dF92b2x0YWdlX3By
b2JlX2hhbmRsZTsKKyAgICB1aW50MTZfdCBjb29saW5nX2RldmljZV9oYW5kbGU7CisgICAgdWlu
dDE2X3QgaW5wdXRfY3VycmVudF9wcm9iZV9oYW5kbGU7Cit9IF9fYXR0cmlidXRlX18gKChwYWNr
ZWQpKTsKKwogLyogU01CSU9TIHR5cGUgMTI3IC0tIEVuZC1vZi10YWJsZSAqLwogc3RydWN0IHNt
Ymlvc190eXBlXzEyNyB7CiAgICAgc3RydWN0IHNtYmlvc19zdHJ1Y3R1cmVfaGVhZGVyIGhlYWRl
cjsK

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:38:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:38:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXChG-0001ww-Hd; Wed, 23 May 2012 14:37:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXChF-0001wV-Lk
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:54 +0000
Received: from [85.158.138.51:49540] by server-6.bemta-3.messagelabs.com id
	35/75-18175-046FCBF4; Wed, 23 May 2012 14:37:52 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337783869!28800556!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11028 invoked from network); 23 May 2012 14:37:51 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510670"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:48 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:48 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:48 -0400
Thread-Topic: [Xen-devel] [PATCH v3 03/04] HVM firmware passthrough SMBIOS
	processing
Thread-Index: Ac047v3NDXPibqhWSHS5f0PqvzbKOA==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBE@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 03/04] HVM firmware passthrough SMBIOS
 processing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Passthrough support for the SMBIOS structures including three new DMTF defi=
ned
types and support for OEM defined tables. Passed in SMBIOS types override t=
he
default internal values. Default values can be enabled for the new type 22
portable battery using a xenstore flag. All other new DMTF defined and OEM
structures will only be added to the SMBIOS table if passthrough values are
present.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>


--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-03.patch"
Content-Description: hvm-firmware-passthrough-v3-03.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-03.patch"; size=18813;
	creation-date="Wed, 23 May 2012 13:25:59 GMT";
	modification-date="Wed, 23 May 2012 14:10:57 GMT"
Content-Transfer-Encoding: base64

UGFzc3Rocm91Z2ggc3VwcG9ydCBmb3IgdGhlIFNNQklPUyBzdHJ1Y3R1cmVzIGluY2x1ZGluZyB0
aHJlZSBuZXcgRE1URiBkZWZpbmVkCnR5cGVzIGFuZCBzdXBwb3J0IGZvciBPRU0gZGVmaW5lZCB0
YWJsZXMuIFBhc3NlZCBpbiBTTUJJT1MgdHlwZXMgb3ZlcnJpZGUgdGhlCmRlZmF1bHQgaW50ZXJu
YWwgdmFsdWVzLiBEZWZhdWx0IHZhbHVlcyBjYW4gYmUgZW5hYmxlZCBmb3IgdGhlIG5ldyB0eXBl
IDIyCnBvcnRhYmxlIGJhdHRlcnkgdXNpbmcgYSB4ZW5zdG9yZSBmbGFnLiBBbGwgb3RoZXIgbmV3
IERNVEYgZGVmaW5lZCBhbmQgT0VNCnN0cnVjdHVyZXMgd2lsbCBvbmx5IGJlIGFkZGVkIHRvIHRo
ZSBTTUJJT1MgdGFibGUgaWYgcGFzc3Rocm91Z2ggdmFsdWVzIGFyZQpwcmVzZW50LgoKU2lnbmVk
LW9mZi1ieTogUm9zcyBQaGlsaXBzb24gPHJvc3MucGhpbGlwc29uQGNpdHJpeC5jb20+CgpkaWZm
IC1yIDYxN2QyMDk0MDM0ZCB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvc21iaW9zLmMKLS0tIGEv
dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3NtYmlvcy5jCVR1ZSBNYXkgMjIgMjE6MDc6MjcgMjAx
MiAtMDQwMAorKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvc21iaW9zLmMJVHVlIE1heSAy
MiAyMTowOTowMyAyMDEyIC0wNDAwCkBAIC0yNiwxNiArMjYsMzggQEAKICNpbmNsdWRlICJzbWJp
b3NfdHlwZXMuaCIKICNpbmNsdWRlICJ1dGlsLmgiCiAjaW5jbHVkZSAiaHlwZXJjYWxsLmgiCisj
aW5jbHVkZSAieGVuLXRvb2xzL2h2bV9kZWZzLmgiCiAKKy8qIFNCTUlPUyBoYW5kbGUgYmFzZSB2
YWx1ZXMgKi8KKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMCAgIDB4MDAwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUxICAgMHgwMTAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTIg
ICAweDAyMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMyAgIDB4MDMwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEU0ICAgMHgwNDAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTEx
ICAweDBCMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMTYgIDB4MTAwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUxNyAgMHgxMTAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTE5
ICAweDEzMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMjAgIDB4MTQwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUyMiAgMHgxNjAwCisjZGVmaW5lIFNNQklPU19IQU5ETEVfVFlQRTMy
ICAweDIwMDAKKyNkZWZpbmUgU01CSU9TX0hBTkRMRV9UWVBFMzkgIDB4MjcwMAorI2RlZmluZSBT
TUJJT1NfSEFORExFX1RZUEUxMjcgMHg3ZjAwCisKK3N0YXRpYyB2b2lkCitzbWJpb3NfcHRfaW5p
dCh2b2lkKTsKK3N0YXRpYyB2b2lkKgorZ2V0X3NtYmlvc19wdF9zdHJ1Y3QodWludDhfdCB0eXBl
LCB1aW50MzJfdCAqbGVuZ3RoX291dCk7CitzdGF0aWMgdm9pZAorZ2V0X2NwdV9tYW51ZmFjdHVy
ZXIoY2hhciAqYnVmLCBpbnQgbGVuKTsKIHN0YXRpYyBpbnQKIHdyaXRlX3NtYmlvc190YWJsZXMo
dm9pZCAqZXAsIHZvaWQgKnN0YXJ0LAogICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2Y3B1
cywgdWludDY0X3QgbWVtc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgdWludDhfdCB1dWlkWzE2
XSwgY2hhciAqeGVuX3ZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHhlbl9t
YWpvcl92ZXJzaW9uLCB1aW50MzJfdCB4ZW5fbWlub3JfdmVyc2lvbiwKICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgKm5yX3N0cnVjdHMsIHVuc2lnbmVkICptYXhfc3RydWN0X3NpemUpOwot
Ci1zdGF0aWMgdm9pZAotZ2V0X2NwdV9tYW51ZmFjdHVyZXIoY2hhciAqYnVmLCBpbnQgbGVuKTsK
K3N0YXRpYyB1aW50NjRfdAorZ2V0X21lbXNpemUodm9pZCk7CiBzdGF0aWMgdm9pZAogc21iaW9z
X2VudHJ5X3BvaW50X2luaXQodm9pZCAqc3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MTZfdCBtYXhfc3RydWN0dXJlX3NpemUsCkBAIC00OSw2ICs3MSw4IEBAIHN0YXRpYyB2b2lk
ICoKIHNtYmlvc190eXBlXzFfaW5pdCh2b2lkICpzdGFydCwgY29uc3QgY2hhciAqeGVuX3ZlcnNp
b24sIAogICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgdXVpZFsxNl0pOwogc3RhdGljIHZvaWQg
Kgorc21iaW9zX3R5cGVfMl9pbml0KHZvaWQgKnN0YXJ0KTsKK3N0YXRpYyB2b2lkICoKIHNtYmlv
c190eXBlXzNfaW5pdCh2b2lkICpzdGFydCk7CiBzdGF0aWMgdm9pZCAqCiBzbWJpb3NfdHlwZV80
X2luaXQodm9pZCAqc3RhcnQsIHVuc2lnbmVkIGludCBjcHVfbnVtYmVyLApAQCAtNjQsMTAgKzg4
LDczIEBAIHNtYmlvc190eXBlXzE5X2luaXQodm9pZCAqc3RhcnQsIHVpbnQzMl8KIHN0YXRpYyB2
b2lkICoKIHNtYmlvc190eXBlXzIwX2luaXQodm9pZCAqc3RhcnQsIHVpbnQzMl90IG1lbW9yeV9z
aXplX21iLCBpbnQgaW5zdGFuY2UpOwogc3RhdGljIHZvaWQgKgorc21iaW9zX3R5cGVfMjJfaW5p
dCh2b2lkICpzdGFydCk7CitzdGF0aWMgdm9pZCAqCiBzbWJpb3NfdHlwZV8zMl9pbml0KHZvaWQg
KnN0YXJ0KTsKIHN0YXRpYyB2b2lkICoKK3NtYmlvc190eXBlXzM5X2luaXQodm9pZCAqc3RhcnQp
Oworc3RhdGljIHZvaWQgKgorc21iaW9zX3R5cGVfdmVuZG9yX29lbV9pbml0KHZvaWQgKnN0YXJ0
KTsKK3N0YXRpYyB2b2lkICoKIHNtYmlvc190eXBlXzEyN19pbml0KHZvaWQgKnN0YXJ0KTsKIAor
c3RhdGljIHVpbnQzMl90ICpzbWJpb3NfcHRfYWRkciA9IE5VTEw7CitzdGF0aWMgdWludDMyX3Qg
c21iaW9zX3B0X2xlbmd0aCA9IDA7CisKK3N0YXRpYyB2b2lkCitzbWJpb3NfcHRfaW5pdCh2b2lk
KQoreworICAgIGNvbnN0IGNoYXIgKnM7CisKKyAgICBzID0geGVuc3RvcmVfcmVhZChIVk1fWFNf
U01CSU9TX1BUX0FERFJFU1MsIE5VTEwpOworICAgIGlmICggcyA9PSBOVUxMICkKKyAgICAgICAg
Z290byByZXNldDsKKworICAgIHNtYmlvc19wdF9hZGRyID0gKHVpbnQzMl90KikodWludDMyX3Qp
c3RydG9sbChzLCBOVUxMLCAwKTsKKyAgICBpZiAoIHNtYmlvc19wdF9hZGRyID09IE5VTEwgKQor
ICAgICAgICBnb3RvIHJlc2V0OworCisgICAgcyA9IHhlbnN0b3JlX3JlYWQoSFZNX1hTX1NNQklP
U19QVF9MRU5HVEgsIE5VTEwpOworICAgIGlmICggcyA9PSBOVUxMICkKKyAgICAgICAgZ290byBy
ZXNldDsKKworICAgIHNtYmlvc19wdF9sZW5ndGggPSAodWludDMyX3Qpc3RydG9sbChzLCBOVUxM
LCAwKTsKKyAgICBpZiAoIHNtYmlvc19wdF9sZW5ndGggPT0gMCApCisgICAgICAgIGdvdG8gcmVz
ZXQ7CisKKyAgICByZXR1cm47CisKK3Jlc2V0OgorICAgIHNtYmlvc19wdF9hZGRyID0gTlVMTDsK
KyAgICBzbWJpb3NfcHRfbGVuZ3RoID0gMDsKK30KKworc3RhdGljIHZvaWQqCitnZXRfc21iaW9z
X3B0X3N0cnVjdCh1aW50OF90IHR5cGUsIHVpbnQzMl90ICpsZW5ndGhfb3V0KQoreworICAgIHVp
bnQzMl90ICpzZXAgPSBzbWJpb3NfcHRfYWRkcjsKKyAgICB1aW50MzJfdCB0b3RhbCA9IDA7Cisg
ICAgdWludDhfdCAqcHRyOworCisgICAgaWYgKCBzZXAgPT0gTlVMTCApCisgICAgICAgIHJldHVy
biBOVUxMOworCisgICAgd2hpbGUgKCB0b3RhbCA8IHNtYmlvc19wdF9sZW5ndGggKQorICAgIHsK
KyAgICAgICAgcHRyID0gKHVpbnQ4X3QqKShzZXAgKyAxKTsKKyAgICAgICAgaWYgKCBwdHJbMF0g
PT0gdHlwZSApCisgICAgICAgIHsKKyAgICAgICAgICAgICpsZW5ndGhfb3V0ID0gKnNlcDsKKyAg
ICAgICAgICAgIHJldHVybiBwdHI7CisgICAgICAgIH0KKworICAgICAgICB0b3RhbCArPSAoKnNl
cCArIHNpemVvZih1aW50MzJfdCkpOworICAgICAgICBzZXAgPSAodWludDMyX3QqKShwdHIgKyAq
c2VwKTsKKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKK30KKwogc3RhdGljIHZvaWQKIGdldF9j
cHVfbWFudWZhY3R1cmVyKGNoYXIgKmJ1ZiwgaW50IGxlbikKIHsKQEAgLTk3LDYgKzE4NCw4IEBA
IHdyaXRlX3NtYmlvc190YWJsZXModm9pZCAqZXAsIHZvaWQgKnN0YXIKICAgICBjaGFyIGNwdV9t
YW51ZmFjdHVyZXJbMTVdOwogICAgIGludCBpLCBucl9tZW1fZGV2czsKIAorICAgIHNtYmlvc19w
dF9pbml0KCk7CisKICAgICBnZXRfY3B1X21hbnVmYWN0dXJlcihjcHVfbWFudWZhY3R1cmVyLCAx
NSk7CiAKICAgICBwID0gKGNoYXIgKilzdGFydDsKQEAgLTExMiw2ICsyMDEsNyBAQCB3cml0ZV9z
bWJpb3NfdGFibGVzKHZvaWQgKmVwLCB2b2lkICpzdGFyCiAgICAgZG9fc3RydWN0KHNtYmlvc190
eXBlXzBfaW5pdChwLCB4ZW5fdmVyc2lvbiwgeGVuX21ham9yX3ZlcnNpb24sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB4ZW5fbWlub3JfdmVyc2lvbikpOwogICAgIGRvX3N0cnVj
dChzbWJpb3NfdHlwZV8xX2luaXQocCwgeGVuX3ZlcnNpb24sIHV1aWQpKTsKKyAgICBkb19zdHJ1
Y3Qoc21iaW9zX3R5cGVfMl9pbml0KHApKTsKICAgICBkb19zdHJ1Y3Qoc21iaW9zX3R5cGVfM19p
bml0KHApKTsKICAgICBmb3IgKCBjcHVfbnVtID0gMTsgY3B1X251bSA8PSB2Y3B1czsgY3B1X251
bSsrICkKICAgICAgICAgZG9fc3RydWN0KHNtYmlvc190eXBlXzRfaW5pdChwLCBjcHVfbnVtLCBj
cHVfbWFudWZhY3R1cmVyKSk7CkBAIC0xMzAsNyArMjIwLDEwIEBAIHdyaXRlX3NtYmlvc190YWJs
ZXModm9pZCAqZXAsIHZvaWQgKnN0YXIKICAgICAgICAgZG9fc3RydWN0KHNtYmlvc190eXBlXzIw
X2luaXQocCwgZGV2X21lbXNpemUsIGkpKTsKICAgICB9CiAKKyAgICBkb19zdHJ1Y3Qoc21iaW9z
X3R5cGVfMjJfaW5pdChwKSk7CiAgICAgZG9fc3RydWN0KHNtYmlvc190eXBlXzMyX2luaXQocCkp
OworICAgIGRvX3N0cnVjdChzbWJpb3NfdHlwZV8zOV9pbml0KHApKTsKKyAgICBkb19zdHJ1Y3Qo
c21iaW9zX3R5cGVfdmVuZG9yX29lbV9pbml0KHApKTsKICAgICBkb19zdHJ1Y3Qoc21iaW9zX3R5
cGVfMTI3X2luaXQocCkpOwogCiAjdW5kZWYgZG9fc3RydWN0CkBAIC0yODksMTIgKzM4MiwyMiBA
QCBzbWJpb3NfdHlwZV8wX2luaXQodm9pZCAqc3RhcnQsIGNvbnN0IGNoCiAgICAgc3RydWN0IHNt
Ymlvc190eXBlXzAgKnAgPSAoc3RydWN0IHNtYmlvc190eXBlXzAgKilzdGFydDsKICAgICBzdGF0
aWMgY29uc3QgY2hhciAqc21iaW9zX3JlbGVhc2VfZGF0ZSA9IF9fU01CSU9TX0RBVEVfXzsKICAg
ICBjb25zdCBjaGFyICpzOworICAgIHZvaWQgKnB0czsKKyAgICB1aW50MzJfdCBsZW5ndGg7CisK
KyAgICBwdHMgPSBnZXRfc21iaW9zX3B0X3N0cnVjdCgwLCAmbGVuZ3RoKTsKKyAgICBpZiAoIChw
dHMgIT0gTlVMTCkmJihsZW5ndGggPiAwKSApCisgICAgeworICAgICAgICBtZW1jcHkoc3RhcnQs
IHB0cywgbGVuZ3RoKTsKKyAgICAgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVf
VFlQRTA7CisgICAgICAgIHJldHVybiAoc3RhcnQgKyBsZW5ndGgpOworICAgIH0KIAogICAgIG1l
bXNldChwLCAwLCBzaXplb2YoKnApKTsKIAogICAgIHAtPmhlYWRlci50eXBlID0gMDsKICAgICBw
LT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8wKTsKLSAgICBwLT5o
ZWFkZXIuaGFuZGxlID0gMDsKKyAgICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9U
WVBFMDsKIAogICAgIHAtPnZlbmRvcl9zdHIgPSAxOwogICAgIHAtPnZlcnNpb25fc3RyID0gMjsK
QEAgLTMxNSwxMSArNDE4LDExIEBAIHNtYmlvc190eXBlXzBfaW5pdCh2b2lkICpzdGFydCwgY29u
c3QgY2gKICAgICBwLT5lbWJlZGRlZF9jb250cm9sbGVyX21pbm9yID0gMHhmZjsKIAogICAgIHN0
YXJ0ICs9IHNpemVvZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMCk7Ci0gICAgcyA9IHhlbnN0b3JlX3Jl
YWQoImJpb3Mtc3RyaW5ncy9iaW9zLXZlbmRvciIsICJYZW4iKTsKKyAgICBzID0geGVuc3RvcmVf
cmVhZChIVk1fWFNfQklPU19WRU5ET1IsICJYZW4iKTsKICAgICBzdHJjcHkoKGNoYXIgKilzdGFy
dCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKIAotICAgIHMgPSB4ZW5zdG9yZV9y
ZWFkKCJiaW9zLXN0cmluZ3MvYmlvcy12ZXJzaW9uIiwgeGVuX3ZlcnNpb24pOworICAgIHMgPSB4
ZW5zdG9yZV9yZWFkKEhWTV9YU19CSU9TX1ZFUlNJT04sIHhlbl92ZXJzaW9uKTsKICAgICBzdHJj
cHkoKGNoYXIgKilzdGFydCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKIApAQCAt
MzM4LDEyICs0NDEsMjIgQEAgc21iaW9zX3R5cGVfMV9pbml0KHZvaWQgKnN0YXJ0LCBjb25zdCBj
aAogICAgIGNoYXIgdXVpZF9zdHJbMzddOwogICAgIHN0cnVjdCBzbWJpb3NfdHlwZV8xICpwID0g
KHN0cnVjdCBzbWJpb3NfdHlwZV8xICopc3RhcnQ7CiAgICAgY29uc3QgY2hhciAqczsKKyAgICB2
b2lkICpwdHM7CisgICAgdWludDMyX3QgbGVuZ3RoOworCisgICAgcHRzID0gZ2V0X3NtYmlvc19w
dF9zdHJ1Y3QoMSwgJmxlbmd0aCk7CisgICAgaWYgKCAocHRzICE9IE5VTEwpJiYobGVuZ3RoID4g
MCkgKQorICAgIHsKKyAgICAgICAgbWVtY3B5KHN0YXJ0LCBwdHMsIGxlbmd0aCk7CisgICAgICAg
IHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxOworICAgICAgICByZXR1cm4g
KHN0YXJ0ICsgbGVuZ3RoKTsKKyAgICB9CiAKICAgICBtZW1zZXQocCwgMCwgc2l6ZW9mKCpwKSk7
CiAKICAgICBwLT5oZWFkZXIudHlwZSA9IDE7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNpemVv
ZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMSk7Ci0gICAgcC0+aGVhZGVyLmhhbmRsZSA9IDB4MTAwOwor
ICAgIHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxOwogCiAgICAgcC0+bWFu
dWZhY3R1cmVyX3N0ciA9IDE7CiAgICAgcC0+cHJvZHVjdF9uYW1lX3N0ciA9IDI7CkBAIC0zNTgs
MjAgKzQ3MSwyMCBAQCBzbWJpb3NfdHlwZV8xX2luaXQodm9pZCAqc3RhcnQsIGNvbnN0IGNoCiAK
ICAgICBzdGFydCArPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzEpOwogICAgIAotICAgIHMg
PSB4ZW5zdG9yZV9yZWFkKCJiaW9zLXN0cmluZ3Mvc3lzdGVtLW1hbnVmYWN0dXJlciIsICJYZW4i
KTsKKyAgICBzID0geGVuc3RvcmVfcmVhZChIVk1fWFNfU1lTVEVNX01BTlVGQUNUVVJFUiwgIlhl
biIpOwogICAgIHN0cmNweSgoY2hhciAqKXN0YXJ0LCBzKTsKICAgICBzdGFydCArPSBzdHJsZW4o
cykgKyAxOwogCi0gICAgcyA9IHhlbnN0b3JlX3JlYWQoImJpb3Mtc3RyaW5ncy9zeXN0ZW0tcHJv
ZHVjdC1uYW1lIiwgIkhWTSBkb21VIik7CisgICAgcyA9IHhlbnN0b3JlX3JlYWQoSFZNX1hTX1NZ
U1RFTV9QUk9EVUNUX05BTUUsICJIVk0gZG9tVSIpOwogICAgIHN0cmNweSgoY2hhciAqKXN0YXJ0
LCBzKTsKICAgICBzdGFydCArPSBzdHJsZW4ocykgKyAxOwogCi0gICAgcyA9IHhlbnN0b3JlX3Jl
YWQoImJpb3Mtc3RyaW5ncy9zeXN0ZW0tdmVyc2lvbiIsIHhlbl92ZXJzaW9uKTsKKyAgICBzID0g
eGVuc3RvcmVfcmVhZChIVk1fWFNfU1lTVEVNX1ZFUlNJT04sIHhlbl92ZXJzaW9uKTsKICAgICBz
dHJjcHkoKGNoYXIgKilzdGFydCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKIAog
ICAgIHV1aWRfdG9fc3RyaW5nKHV1aWRfc3RyLCB1dWlkKTsgCi0gICAgcyA9IHhlbnN0b3JlX3Jl
YWQoImJpb3Mtc3RyaW5ncy9zeXN0ZW0tc2VyaWFsLW51bWJlciIsIHV1aWRfc3RyKTsKKyAgICBz
ID0geGVuc3RvcmVfcmVhZChIVk1fWFNfU1lTVEVNX1NFUklBTF9OVU1CRVIsIHV1aWRfc3RyKTsK
ICAgICBzdHJjcHkoKGNoYXIgKilzdGFydCwgcyk7CiAgICAgc3RhcnQgKz0gc3RybGVuKHMpICsg
MTsKIApAQCAtMzgwLDE3ICs0OTMsNTggQEAgc21iaW9zX3R5cGVfMV9pbml0KHZvaWQgKnN0YXJ0
LCBjb25zdCBjaAogICAgIHJldHVybiBzdGFydCsxOyAKIH0KIAorLyogVHlwZSAyIC0tIFN5c3Rl
bSBCb2FyZCAqLworc3RhdGljIHZvaWQgKgorc21iaW9zX3R5cGVfMl9pbml0KHZvaWQgKnN0YXJ0
KQoreworICAgIHN0cnVjdCBzbWJpb3NfdHlwZV8yICpwID0gKHN0cnVjdCBzbWJpb3NfdHlwZV8y
ICopc3RhcnQ7CisgICAgdWludDhfdCAqcHRyOworICAgIHZvaWQgKnB0czsKKyAgICB1aW50MzJf
dCBsZW5ndGg7CisKKyAgICBwdHMgPSBnZXRfc21iaW9zX3B0X3N0cnVjdCgyLCAmbGVuZ3RoKTsK
KyAgICBpZiAoIChwdHMgIT0gTlVMTCkmJihsZW5ndGggPiAwKSApCisgICAgeworICAgICAgICBt
ZW1jcHkoc3RhcnQsIHB0cywgbGVuZ3RoKTsKKyAgICAgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNN
QklPU19IQU5ETEVfVFlQRTI7CisKKyAgICAgICAgLyogU2V0IGN1cnJlbnQgY2hhc3NpcyBoYW5k
bGUgaWYgcHJlc2VudCAqLworICAgICAgICBpZiAoIHAtPmhlYWRlci5sZW5ndGggPiAxMyApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHB0ciA9ICgodWludDhfdCopc3RhcnQpICsgMTE7ICAgICAg
ICAgICAgCisgICAgICAgICAgICBpZiAoICooKHVpbnQxNl90KilwdHIpICE9IDAgKQorICAgICAg
ICAgICAgICAgICooKHVpbnQxNl90KilwdHIpID0gU01CSU9TX0hBTkRMRV9UWVBFMzsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiAoc3RhcnQgKyBsZW5ndGgpOworICAgIH0KKworICAgIC8q
IE9ubHkgcHJlc2VudCB3aGVuIHBhc3NlZCBpbiAqLworICAgIHJldHVybiBzdGFydDsKK30KKwog
LyogVHlwZSAzIC0tIFN5c3RlbSBFbmNsb3N1cmUgKi8KIHN0YXRpYyB2b2lkICoKIHNtYmlvc190
eXBlXzNfaW5pdCh2b2lkICpzdGFydCkKIHsKICAgICBzdHJ1Y3Qgc21iaW9zX3R5cGVfMyAqcCA9
IChzdHJ1Y3Qgc21iaW9zX3R5cGVfMyAqKXN0YXJ0OworICAgIGNvbnN0IGNoYXIgKnM7CisgICAg
dm9pZCAqcHRzOworICAgIHVpbnQzMl90IGxlbmd0aDsKKworICAgIHB0cyA9IGdldF9zbWJpb3Nf
cHRfc3RydWN0KDMsICZsZW5ndGgpOworICAgIGlmICggKHB0cyAhPSBOVUxMKSYmKGxlbmd0aCA+
IDApICkKKyAgICB7CisgICAgICAgIG1lbWNweShzdGFydCwgcHRzLCBsZW5ndGgpOworICAgICAg
ICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9UWVBFMzsKKyAgICAgICAgcmV0dXJu
IChzdGFydCArIGxlbmd0aCk7CisgICAgfQogICAgIAogICAgIG1lbXNldChwLCAwLCBzaXplb2Yo
KnApKTsKIAogICAgIHAtPmhlYWRlci50eXBlID0gMzsKICAgICBwLT5oZWFkZXIubGVuZ3RoID0g
c2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8zKTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHgz
MDA7CisgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTM7CiAKICAgICBw
LT5tYW51ZmFjdHVyZXJfc3RyID0gMTsKICAgICBwLT50eXBlID0gMHgwMTsgLyogb3RoZXIgKi8K
QEAgLTQwNCw4ICs1NTgsMTkgQEAgc21iaW9zX3R5cGVfM19pbml0KHZvaWQgKnN0YXJ0KQogCiAg
ICAgc3RhcnQgKz0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8zKTsKICAgICAKLSAgICBzdHJj
cHkoKGNoYXIgKilzdGFydCwgIlhlbiIpOwotICAgIHN0YXJ0ICs9IHN0cmxlbigiWGVuIikgKyAx
OworICAgIHMgPSB4ZW5zdG9yZV9yZWFkKEhWTV9YU19FTkNMT1NVUkVfTUFOVUZBQ1RVUkVSLCAi
WGVuIik7CisgICAgc3RyY3B5KChjaGFyICopc3RhcnQsIHMpOworICAgIHN0YXJ0ICs9IHN0cmxl
bihzKSArIDE7CisKKyAgICAvKiBObyBpbnRlcm5hbCBkZWZhdWx0cyBmb3IgdGhpcyBpZiB0aGUg
dmFsdWUgaXMgbm90IHNldCAqLworICAgIHMgPSB4ZW5zdG9yZV9yZWFkKEhWTV9YU19FTkNMT1NV
UkVfU0VSSUFMX05VTUJFUiwgTlVMTCk7CisgICAgaWYgKCAocyAhPSBOVUxMKSYmKCpzICE9ICdc
MCcpICkKKyAgICB7CisgICAgICAgIHN0cmNweSgoY2hhciAqKXN0YXJ0LCBzKTsKKyAgICAgICAg
c3RhcnQgKz0gc3RybGVuKHMpICsgMTsKKyAgICAgICAgcC0+c2VyaWFsX251bWJlcl9zdHIgPSAy
OworICAgIH0KKwogICAgICooKHVpbnQ4X3QgKilzdGFydCkgPSAwOwogICAgIHJldHVybiBzdGFy
dCsxOwogfQpAQCAtNDIzLDcgKzU4OCw3IEBAIHNtYmlvc190eXBlXzRfaW5pdCgKIAogICAgIHAt
PmhlYWRlci50eXBlID0gNDsKICAgICBwLT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBz
bWJpb3NfdHlwZV80KTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHg0MDAgKyBjcHVfbnVtYmVy
OworICAgIHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEU0ICsgY3B1X251bWJl
cjsKIAogICAgIHAtPnNvY2tldF9kZXNpZ25hdGlvbl9zdHIgPSAxOwogICAgIHAtPnByb2Nlc3Nv
cl90eXBlID0gMHgwMzsgLyogQ1BVICovCkBAIC00NjUsMTMgKzYzMCwyMyBAQCBzdGF0aWMgdm9p
ZCAqCiBzbWJpb3NfdHlwZV8xMV9pbml0KHZvaWQgKnN0YXJ0KSAKIHsKICAgICBzdHJ1Y3Qgc21i
aW9zX3R5cGVfMTEgKnAgPSAoc3RydWN0IHNtYmlvc190eXBlXzExICopc3RhcnQ7Ci0gICAgY2hh
ciBwYXRoWzIwXSA9ICJiaW9zLXN0cmluZ3Mvb2VtLVhYIjsKKyAgICBjaGFyIHBhdGhbMjBdID0g
SFZNX1hTX09FTV9TVFJJTkdTOwogICAgIGNvbnN0IGNoYXIgKnM7CiAgICAgaW50IGk7CisgICAg
dm9pZCAqcHRzOworICAgIHVpbnQzMl90IGxlbmd0aDsKKworICAgIHB0cyA9IGdldF9zbWJpb3Nf
cHRfc3RydWN0KDExLCAmbGVuZ3RoKTsKKyAgICBpZiAoIChwdHMgIT0gTlVMTCkmJihsZW5ndGgg
PiAwKSApCisgICAgeworICAgICAgICBtZW1jcHkoc3RhcnQsIHB0cywgbGVuZ3RoKTsKKyAgICAg
ICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTExOworICAgICAgICByZXR1
cm4gKHN0YXJ0ICsgbGVuZ3RoKTsKKyAgICB9CiAKICAgICBwLT5oZWFkZXIudHlwZSA9IDExOwog
ICAgIHAtPmhlYWRlci5sZW5ndGggPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzExKTsKLSAg
ICBwLT5oZWFkZXIuaGFuZGxlID0gMHhCMDA7CisgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklP
U19IQU5ETEVfVFlQRTExOwogCiAgICAgcC0+Y291bnQgPSAwOwogCkBAIC01MTAsNyArNjg1LDcg
QEAgc21iaW9zX3R5cGVfMTZfaW5pdCh2b2lkICpzdGFydCwgdWludDMyXwogICAgIG1lbXNldChw
LCAwLCBzaXplb2YoKnApKTsKIAogICAgIHAtPmhlYWRlci50eXBlID0gMTY7Ci0gICAgcC0+aGVh
ZGVyLmhhbmRsZSA9IDB4MTAwMDsKKyAgICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRM
RV9UWVBFMTY7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNpemVvZihzdHJ1Y3Qgc21iaW9zX3R5
cGVfMTYpOwogICAgIAogICAgIHAtPmxvY2F0aW9uID0gMHgwMTsgLyogb3RoZXIgKi8KQEAgLTUz
Niw3ICs3MTEsNyBAQCBzbWJpb3NfdHlwZV8xN19pbml0KHZvaWQgKnN0YXJ0LCB1aW50MzJfCiAK
ICAgICBwLT5oZWFkZXIudHlwZSA9IDE3OwogICAgIHAtPmhlYWRlci5sZW5ndGggPSBzaXplb2Yo
c3RydWN0IHNtYmlvc190eXBlXzE3KTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHgxMTAwICsg
aW5zdGFuY2U7CisgICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTE3ICsg
aW5zdGFuY2U7CiAKICAgICBwLT5waHlzaWNhbF9tZW1vcnlfYXJyYXlfaGFuZGxlID0gMHgxMDAw
OwogICAgIHAtPnRvdGFsX3dpZHRoID0gNjQ7CkBAIC01NzEsNyArNzQ2LDcgQEAgc21iaW9zX3R5
cGVfMTlfaW5pdCh2b2lkICpzdGFydCwgdWludDMyXwogCiAgICAgcC0+aGVhZGVyLnR5cGUgPSAx
OTsKICAgICBwLT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8xOSk7
Ci0gICAgcC0+aGVhZGVyLmhhbmRsZSA9IDB4MTMwMCArIGluc3RhbmNlOworICAgIHAtPmhlYWRl
ci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxOSArIGluc3RhbmNlOwogCiAgICAgcC0+c3Rh
cnRpbmdfYWRkcmVzcyA9IGluc3RhbmNlIDw8IDI0OwogICAgIHAtPmVuZGluZ19hZGRyZXNzID0g
cC0+c3RhcnRpbmdfYWRkcmVzcyArIChtZW1vcnlfc2l6ZV9tYiA8PCAxMCkgLSAxOwpAQCAtNTkz
LDcgKzc2OCw3IEBAIHNtYmlvc190eXBlXzIwX2luaXQodm9pZCAqc3RhcnQsIHVpbnQzMl8KIAog
ICAgIHAtPmhlYWRlci50eXBlID0gMjA7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNpemVvZihz
dHJ1Y3Qgc21iaW9zX3R5cGVfMjApOwotICAgIHAtPmhlYWRlci5oYW5kbGUgPSAweDE0MDAgKyBp
bnN0YW5jZTsKKyAgICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9UWVBFMjAgKyBp
bnN0YW5jZTsKIAogICAgIHAtPnN0YXJ0aW5nX2FkZHJlc3MgPSBpbnN0YW5jZSA8PCAyNDsKICAg
ICBwLT5lbmRpbmdfYWRkcmVzcyA9IHAtPnN0YXJ0aW5nX2FkZHJlc3MgKyAobWVtb3J5X3NpemVf
bWIgPDwgMTApIC0gMTsKQEAgLTYwOSw2ICs3ODQsNzEgQEAgc21iaW9zX3R5cGVfMjBfaW5pdCh2
b2lkICpzdGFydCwgdWludDMyXwogICAgIHJldHVybiBzdGFydCsyOwogfQogCisvKiBUeXBlIDIy
IC0tIFBvcnRhYmxlIEJhdHRlcnkgKi8KK3N0YXRpYyB2b2lkICoKK3NtYmlvc190eXBlXzIyX2lu
aXQodm9pZCAqc3RhcnQpCit7CisgICAgc3RydWN0IHNtYmlvc190eXBlXzIyICpwID0gKHN0cnVj
dCBzbWJpb3NfdHlwZV8yMiAqKXN0YXJ0OworICAgIHN0YXRpYyBjb25zdCBjaGFyICpzbWJpb3Nf
cmVsZWFzZV9kYXRlID0gX19TTUJJT1NfREFURV9fOworICAgIGNvbnN0IGNoYXIgKnM7CisgICAg
dm9pZCAqcHRzOworICAgIHVpbnQzMl90IGxlbmd0aDsKKworICAgIHB0cyA9IGdldF9zbWJpb3Nf
cHRfc3RydWN0KDIyLCAmbGVuZ3RoKTsKKyAgICBpZiAoIChwdHMgIT0gTlVMTCkmJihsZW5ndGgg
PiAwKSApCisgICAgeworICAgICAgICBtZW1jcHkoc3RhcnQsIHB0cywgbGVuZ3RoKTsKKyAgICAg
ICAgcC0+aGVhZGVyLmhhbmRsZSA9IFNNQklPU19IQU5ETEVfVFlQRTIyOworICAgICAgICByZXR1
cm4gKHN0YXJ0ICsgbGVuZ3RoKTsKKyAgICB9CisKKyAgICBzID0geGVuc3RvcmVfcmVhZChIVk1f
WFNfU01CSU9TX0RFRkFVTFRfQkFUVEVSWSwgIjAiKTsKKyAgICBpZiAoIHN0cm5jbXAocywgIjEi
LCAxKSAhPSAwICkKKyAgICAgICAgcmV0dXJuIHN0YXJ0OworCisgICAgbWVtc2V0KHAsIDAsIHNp
emVvZigqcCkpOworCisgICAgcC0+aGVhZGVyLnR5cGUgPSAyMjsKKyAgICBwLT5oZWFkZXIubGVu
Z3RoID0gc2l6ZW9mKHN0cnVjdCBzbWJpb3NfdHlwZV8yMik7CisgICAgcC0+aGVhZGVyLmhhbmRs
ZSA9IFNNQklPU19IQU5ETEVfVFlQRTIyOworCisgICAgcC0+bG9jYXRpb25fc3RyID0gMTsKKyAg
ICBwLT5tYW51ZmFjdHVyZXJfc3RyID0gMjsKKyAgICBwLT5tYW51ZmFjdHVyZXJfZGF0ZV9zdHIg
PSAzOworICAgIHAtPnNlcmlhbF9udW1iZXJfc3RyID0gMDsKKyAgICBwLT5kZXZpY2VfbmFtZV9z
dHIgPSA0OworICAgIHAtPmRldmljZV9jaGVtaXN0cnkgPSAweDI7IC8qIHVua25vd24gKi8KKyAg
ICBwLT5kZXZpY2VfY2FwYWNpdHkgPSAwOyAvKiB1bmtub3duICovCisgICAgcC0+ZGV2aWNlX3Zv
bHRhZ2UgPSAwOyAvKiB1bmtub3duICovCisgICAgcC0+c2Jkc192ZXJzaW9uX251bWJlciA9IDA7
CisgICAgcC0+bWF4X2Vycm9yID0gMHhmZjsgLyogdW5rbm93biAqLworICAgIHAtPnNiZHNfc2Vy
aWFsX251bWJlciA9IDA7CisgICAgcC0+c2Jkc19tYW51ZmFjdHVyZXJfZGF0ZSA9IDA7CisgICAg
cC0+c2Jkc19kZXZpY2VfY2hlbWlzdHJ5ID0gMDsKKyAgICBwLT5kZXNpZ25fY2FwYWNpdHlfbXVs
dGlwbGllciA9IDA7CisgICAgcC0+b2VtX3NwZWNpZmljID0gMDsKKworICAgIHN0YXJ0ICs9IHNp
emVvZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMjIpOworCisgICAgc3RyY3B5KChjaGFyICopc3RhcnQs
ICJQcmltYXJ5Iik7CisgICAgc3RhcnQgKz0gc3RybGVuKCJQcmltYXJ5IikgKyAxOworCisgICAg
cyA9IHhlbnN0b3JlX3JlYWQoSFZNX1hTX0JBVFRFUllfTUFOVUZBQ1RVUkVSLCAiWGVuIik7Cisg
ICAgc3RyY3B5KChjaGFyICopc3RhcnQsIHMpOworICAgIHN0YXJ0ICs9IHN0cmxlbihzKSArIDE7
CisKKyAgICBzdHJjcHkoKGNoYXIgKilzdGFydCwgc21iaW9zX3JlbGVhc2VfZGF0ZSk7CisgICAg
c3RhcnQgKz0gc3RybGVuKHNtYmlvc19yZWxlYXNlX2RhdGUpICsgMTsKKworICAgIHMgPSB4ZW5z
dG9yZV9yZWFkKEhWTV9YU19CQVRURVJZX0RFVklDRV9OQU1FLCAiWEVOLVZCQVQiKTsKKyAgICBz
dHJjcHkoKGNoYXIgKilzdGFydCwgcyk7CisgICAgc3RhcnQgKz0gc3RybGVuKHMpICsgMTsKKwor
ICAgICooKHVpbnQ4X3QgKilzdGFydCkgPSAwOworCisgICAgcmV0dXJuIHN0YXJ0KzE7IAorfQor
CiAvKiBUeXBlIDMyIC0tIFN5c3RlbSBCb290IEluZm9ybWF0aW9uICovCiBzdGF0aWMgdm9pZCAq
CiBzbWJpb3NfdHlwZV8zMl9pbml0KHZvaWQgKnN0YXJ0KQpAQCAtNjE5LDcgKzg1OSw3IEBAIHNt
Ymlvc190eXBlXzMyX2luaXQodm9pZCAqc3RhcnQpCiAKICAgICBwLT5oZWFkZXIudHlwZSA9IDMy
OwogICAgIHAtPmhlYWRlci5sZW5ndGggPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzMyKTsK
LSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHgyMDAwOworICAgIHAtPmhlYWRlci5oYW5kbGUgPSBT
TUJJT1NfSEFORExFX1RZUEUzMjsKICAgICBtZW1zZXQocC0+cmVzZXJ2ZWQsIDAsIDYpOwogICAg
IHAtPmJvb3Rfc3RhdHVzID0gMDsgLyogbm8gZXJyb3JzIGRldGVjdGVkICovCiAgICAgCkBAIC02
MjgsNiArODY4LDU4IEBAIHNtYmlvc190eXBlXzMyX2luaXQodm9pZCAqc3RhcnQpCiAgICAgcmV0
dXJuIHN0YXJ0KzI7CiB9CiAKKy8qIFR5cGUgMzkgLS0gUG93ZXIgU3VwcGx5ICovCitzdGF0aWMg
dm9pZCAqCitzbWJpb3NfdHlwZV8zOV9pbml0KHZvaWQgKnN0YXJ0KQoreworICAgIHN0cnVjdCBz
bWJpb3NfdHlwZV8zOSAqcCA9IChzdHJ1Y3Qgc21iaW9zX3R5cGVfMzkgKilzdGFydDsKKyAgICB2
b2lkICpwdHM7CisgICAgdWludDMyX3QgbGVuZ3RoOworCisgICAgcHRzID0gZ2V0X3NtYmlvc19w
dF9zdHJ1Y3QoMzksICZsZW5ndGgpOworICAgIGlmICggKHB0cyAhPSBOVUxMKSYmKGxlbmd0aCA+
IDApICkKKyAgICB7CisgICAgICAgIG1lbWNweShzdGFydCwgcHRzLCBsZW5ndGgpOworICAgICAg
ICBwLT5oZWFkZXIuaGFuZGxlID0gU01CSU9TX0hBTkRMRV9UWVBFMzk7CisgICAgICAgIHJldHVy
biAoc3RhcnQgKyBsZW5ndGgpOworICAgIH0KKworICAgIC8qIE9ubHkgcHJlc2VudCB3aGVuIHBh
c3NlZCBpbiAqLworICAgIHJldHVybiBzdGFydDsKK30KKworc3RhdGljIHZvaWQgKgorc21iaW9z
X3R5cGVfdmVuZG9yX29lbV9pbml0KHZvaWQgKnN0YXJ0KQoreworICAgIHVpbnQzMl90ICpzZXAg
PSBzbWJpb3NfcHRfYWRkcjsKKyAgICB1aW50MzJfdCB0b3RhbCA9IDA7CisgICAgdWludDhfdCAq
cHRyOworCisgICAgaWYgKCBzZXAgPT0gTlVMTCApCisgICAgICAgIHJldHVybiBzdGFydDsKKwor
ICAgIHdoaWxlICggdG90YWwgPCBzbWJpb3NfcHRfbGVuZ3RoICkKKyAgICB7CisgICAgICAgIHB0
ciA9ICh1aW50OF90Kikoc2VwICsgMSk7CisgICAgICAgIGlmICggcHRyWzBdID49IDEyOCApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIC8qIFZlbmRvci9PRU0gdGFibGUsIGNvcHkgaXQgaW4uIE5v
dGUgdGhlIGhhbmRsZSB2YWx1ZXMgY2Fubm90CisgICAgICAgICAgICAgKiBiZSBjaGFuZ2VkIHNp
bmNlIGl0IGlzIHVua25vd24gd2hhdCBpcyBpbiBlYWNoIG9mIHRoZXNlIHRhYmxlcworICAgICAg
ICAgICAgICogYnV0IHRoZXkgY291bGQgY29udGFpbiBoYW5kbGUgcmVmZXJlbmNlcyB0byBvdGhl
ciB0YWJsZXMuIFRoaXMKKyAgICAgICAgICAgICAqIG1lYW5zIGEgc2xpZ2h0IHJpc2sgb2YgY29s
bGlzaW9uIHdpdGggdGhlIHRhYmxlcyBhYm92ZSBidXQgdGhhdAorICAgICAgICAgICAgICogd291
bGQgaGF2ZSB0byBiZSBkZWFsdCB3aXRoIG9uIGEgY2FzZSBieSBjYXNlIGJhc2lzLgorICAgICAg
ICAgICAgICovCisgICAgICAgICAgICBtZW1jcHkoc3RhcnQsIHB0ciwgKnNlcCk7CisgICAgICAg
ICAgICBzdGFydCArPSAqc2VwOworICAgICAgICB9CisKKyAgICAgICAgdG90YWwgKz0gKCpzZXAg
KyBzaXplb2YodWludDMyX3QpKTsKKyAgICAgICAgc2VwID0gKHVpbnQzMl90KikocHRyICsgKnNl
cCk7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXJ0OworfQorCiAvKiBUeXBlIDEyNyAtLSBFbmQg
b2YgVGFibGUgKi8KIHN0YXRpYyB2b2lkICoKIHNtYmlvc190eXBlXzEyN19pbml0KHZvaWQgKnN0
YXJ0KQpAQCAtNjM4LDcgKzkzMCw3IEBAIHNtYmlvc190eXBlXzEyN19pbml0KHZvaWQgKnN0YXJ0
KQogCiAgICAgcC0+aGVhZGVyLnR5cGUgPSAxMjc7CiAgICAgcC0+aGVhZGVyLmxlbmd0aCA9IHNp
emVvZihzdHJ1Y3Qgc21iaW9zX3R5cGVfMTI3KTsKLSAgICBwLT5oZWFkZXIuaGFuZGxlID0gMHg3
ZjAwOworICAgIHAtPmhlYWRlci5oYW5kbGUgPSBTTUJJT1NfSEFORExFX1RZUEUxMjc7CiAKICAg
ICBzdGFydCArPSBzaXplb2Yoc3RydWN0IHNtYmlvc190eXBlXzEyNyk7CiAgICAgKigodWludDE2
X3QgKilzdGFydCkgPSAwOwpkaWZmIC1yIDYxN2QyMDk0MDM0ZCB0b29scy9maXJtd2FyZS9odm1s
b2FkZXIvc21iaW9zX3R5cGVzLmgKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3NtYmlv
c190eXBlcy5oCVR1ZSBNYXkgMjIgMjE6MDc6MjcgMjAxMiAtMDQwMAorKysgYi90b29scy9maXJt
d2FyZS9odm1sb2FkZXIvc21iaW9zX3R5cGVzLmgJVHVlIE1heSAyMiAyMTowOTowMyAyMDEyIC0w
NDAwCkBAIC04NCw2ICs4NCwxNSBAQCBzdHJ1Y3Qgc21iaW9zX3R5cGVfMSB7CiAgICAgdWludDhf
dCBmYW1pbHlfc3RyOwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKKy8qIFNNQklPUyB0
eXBlIDIgLSBCYXNlIEJvYXJkIEluZm9ybWF0aW9uICovCitzdHJ1Y3Qgc21iaW9zX3R5cGVfMiB7
CisgICAgc3RydWN0IHNtYmlvc19zdHJ1Y3R1cmVfaGVhZGVyIGhlYWRlcjsKKyAgICB1aW50OF90
IG1hbnVmYWN0dXJlcl9zdHI7CisgICAgdWludDhfdCBwcm9kdWN0X25hbWVfc3RyOworICAgIHVp
bnQ4X3QgdmVyc2lvbl9zdHI7CisgICAgdWludDhfdCBzZXJpYWxfbnVtYmVyX3N0cjsKK30gX19h
dHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCiAvKiBTTUJJT1MgdHlwZSAzIC0gU3lzdGVtIEVuY2xv
c3VyZSAqLwogc3RydWN0IHNtYmlvc190eXBlXzMgewogICAgIHN0cnVjdCBzbWJpb3Nfc3RydWN0
dXJlX2hlYWRlciBoZWFkZXI7CkBAIC0xNzMsNiArMTgyLDI2IEBAIHN0cnVjdCBzbWJpb3NfdHlw
ZV8yMCB7CiAgICAgdWludDhfdCBpbnRlcmxlYXZlZF9kYXRhX2RlcHRoOwogfSBfX2F0dHJpYnV0
ZV9fICgocGFja2VkKSk7CiAKKy8qIFNNQklPUyB0eXBlIDIyIC0gUG9ydGFibGUgYmF0dGVyeSAq
Lworc3RydWN0IHNtYmlvc190eXBlXzIyIHsKKyAgICBzdHJ1Y3Qgc21iaW9zX3N0cnVjdHVyZV9o
ZWFkZXIgaGVhZGVyOworICAgIHVpbnQ4X3QgbG9jYXRpb25fc3RyOworICAgIHVpbnQ4X3QgbWFu
dWZhY3R1cmVyX3N0cjsKKyAgICB1aW50OF90IG1hbnVmYWN0dXJlcl9kYXRlX3N0cjsKKyAgICB1
aW50OF90IHNlcmlhbF9udW1iZXJfc3RyOworICAgIHVpbnQ4X3QgZGV2aWNlX25hbWVfc3RyOwor
ICAgIHVpbnQ4X3QgZGV2aWNlX2NoZW1pc3RyeTsKKyAgICB1aW50MTZfdCBkZXZpY2VfY2FwYWNp
dHk7CisgICAgdWludDE2X3QgZGV2aWNlX3ZvbHRhZ2U7CisgICAgdWludDhfdCBzYmRzX3ZlcnNp
b25fbnVtYmVyOworICAgIHVpbnQ4X3QgbWF4X2Vycm9yOworICAgIHVpbnQxNl90IHNiZHNfc2Vy
aWFsX251bWJlcjsKKyAgICB1aW50MTZfdCBzYmRzX21hbnVmYWN0dXJlcl9kYXRlOworICAgIHVp
bnQ4X3Qgc2Jkc19kZXZpY2VfY2hlbWlzdHJ5OworICAgIHVpbnQ4X3QgZGVzaWduX2NhcGFjaXR5
X211bHRpcGxpZXI7CisgICAgdWludDMyX3Qgb2VtX3NwZWNpZmljOworfSBfX2F0dHJpYnV0ZV9f
ICgocGFja2VkKSk7CisKIC8qIFNNQklPUyB0eXBlIDMyIC0gU3lzdGVtIEJvb3QgSW5mb3JtYXRp
b24gKi8KIHN0cnVjdCBzbWJpb3NfdHlwZV8zMiB7CiAgICAgc3RydWN0IHNtYmlvc19zdHJ1Y3R1
cmVfaGVhZGVyIGhlYWRlcjsKQEAgLTE4MCw2ICsyMDksMjQgQEAgc3RydWN0IHNtYmlvc190eXBl
XzMyIHsKICAgICB1aW50OF90IGJvb3Rfc3RhdHVzOwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2Vk
KSk7CiAKKy8qIFNNQklPUyB0eXBlIDM5IC0gUG93ZXIgU3VwcGx5ICovCitzdHJ1Y3Qgc21iaW9z
X3R5cGVfMzkgeworICAgIHN0cnVjdCBzbWJpb3Nfc3RydWN0dXJlX2hlYWRlciBoZWFkZXI7Cisg
ICAgdWludDhfdCBwb3dlcl91bml0X2dyb3VwOworICAgIHVpbnQ4X3QgbG9jYXRpb25fc3RyOwor
ICAgIHVpbnQ4X3QgZGV2aWNlX25hbWVfc3RyOworICAgIHVpbnQ4X3QgbWFudWZhY3R1cmVyX3N0
cjsKKyAgICB1aW50OF90IHNlcmlhbF9udW1iZXJfc3RyOworICAgIHVpbnQ4X3QgYXNzZXRfdGFn
X251bWJlcl9zdHI7CisgICAgdWludDhfdCBtb2RlbF9wYXJ0X251bWJlcl9zdHI7CisgICAgdWlu
dDhfdCByZXZpc2lvbl9sZXZlbF9zdHI7CisgICAgdWludDE2X3QgbWF4X2NhcGFjaXR5OworICAg
IHVpbnQxNl90IGNoYXJhY3RlcmlzdGljczsKKyAgICB1aW50MTZfdCBpbnB1dF92b2x0YWdlX3By
b2JlX2hhbmRsZTsKKyAgICB1aW50MTZfdCBjb29saW5nX2RldmljZV9oYW5kbGU7CisgICAgdWlu
dDE2X3QgaW5wdXRfY3VycmVudF9wcm9iZV9oYW5kbGU7Cit9IF9fYXR0cmlidXRlX18gKChwYWNr
ZWQpKTsKKwogLyogU01CSU9TIHR5cGUgMTI3IC0tIEVuZC1vZi10YWJsZSAqLwogc3RydWN0IHNt
Ymlvc190eXBlXzEyNyB7CiAgICAgc3RydWN0IHNtYmlvc19zdHJ1Y3R1cmVfaGVhZGVyIGhlYWRl
cjsK

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBEFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:38:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:38:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXChH-0001xk-W7; Wed, 23 May 2012 14:37:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXChG-0001wV-IA
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:54 +0000
Received: from [85.158.138.51:61570] by server-6.bemta-3.messagelabs.com id
	9C/75-18175-146FCBF4; Wed, 23 May 2012 14:37:53 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337783869!28800556!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11117 invoked from network); 23 May 2012 14:37:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510677"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:51 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:51 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:51 -0400
Thread-Topic: [Xen-devel] [PATCH v3 04/04] HVM firmware passthrough ACPI
	processing
Thread-Index: Ac048GkyqAPMR36HQoKTJ4fb9toH/Q==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBF@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 04/04] HVM firmware passthrough ACPI
 processing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

ACPI table passthrough support allowing additional static tables and
SSDTs (AML code) to be loaded. These additional tables are added at the end
of the secondary table list in the RSDT/XSDT tables.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>


--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-04.patch"
Content-Description: hvm-firmware-passthrough-v3-04.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-04.patch"; size=2856;
	creation-date="Wed, 23 May 2012 13:25:59 GMT";
	modification-date="Wed, 23 May 2012 13:35:20 GMT"
Content-Transfer-Encoding: base64

QUNQSSB0YWJsZSBwYXNzdGhyb3VnaCBzdXBwb3J0IGFsbG93aW5nIGFkZGl0aW9uYWwgc3RhdGlj
IHRhYmxlcyBhbmQKU1NEVHMgKEFNTCBjb2RlKSB0byBiZSBsb2FkZWQuIFRoZXNlIGFkZGl0aW9u
YWwgdGFibGVzIGFyZSBhZGRlZCBhdCB0aGUgZW5kCm9mIHRoZSBzZWNvbmRhcnkgdGFibGUgbGlz
dCBpbiB0aGUgUlNEVC9YU0RUIHRhYmxlcy4KClNpZ25lZC1vZmYtYnk6IFJvc3MgUGhpbGlwc29u
IDxyb3NzLnBoaWxpcHNvbkBjaXRyaXguY29tPgoKZGlmZiAtciBlNDNhODJmMmVlZmYgdG9vbHMv
ZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvYnVpbGQuYwotLS0gYS90b29scy9maXJtd2FyZS9odm1s
b2FkZXIvYWNwaS9idWlsZC5jCVR1ZSBNYXkgMjIgMjE6MDk6MDQgMjAxMiAtMDQwMAorKysgYi90
b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jCVR1ZSBNYXkgMjIgMjE6MTA6MjQg
MjAxMiAtMDQwMApAQCAtMjMsNiArMjMsOSBAQAogI2luY2x1ZGUgInNzZHRfcG0uaCIKICNpbmNs
dWRlICIuLi9jb25maWcuaCIKICNpbmNsdWRlICIuLi91dGlsLmgiCisjaW5jbHVkZSAieGVuLXRv
b2xzL2h2bV9kZWZzLmgiCisKKyNkZWZpbmUgQUNQSV9NQVhfU0VDT05EQVJZX1RBQkxFUyAxNgog
CiAjZGVmaW5lIGFsaWduMTYoc3opICAgICAgICAoKChzeikgKyAxNSkgJiB+MTUpCiAjZGVmaW5l
IGZpeGVkX3N0cmNweShkLCBzKSBzdHJuY3B5KChkKSwgKHMpLCBzaXplb2YoZCkpCkBAIC0xOTgs
NiArMjAxLDUyIEBAIHN0YXRpYyBzdHJ1Y3QgYWNwaV8yMF93YWV0ICpjb25zdHJ1Y3Rfd2EKICAg
ICByZXR1cm4gd2FldDsKIH0KIAorc3RhdGljIGludCBjb25zdHJ1Y3RfcGFzc3Rocm91Z2hfdGFi
bGVzKHVuc2lnbmVkIGxvbmcgKnRhYmxlX3B0cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IG5yX3RhYmxlcykKK3sKKyAgICBjb25zdCBjaGFyICpzOworICAg
IHVpbnQ4X3QgKmFjcGlfcHRfYWRkcjsKKyAgICB1aW50MzJfdCBhY3BpX3B0X2xlbmd0aDsKKyAg
ICBzdHJ1Y3QgYWNwaV9oZWFkZXIgKmhlYWRlcjsKKyAgICBpbnQgbnJfYWRkZWQ7CisgICAgaW50
IG5yX21heCA9IChBQ1BJX01BWF9TRUNPTkRBUllfVEFCTEVTIC0gbnJfdGFibGVzIC0gMSk7Cisg
ICAgdWludDMyX3QgdG90YWwgPSAwOworICAgIHVpbnQ4X3QgKmJ1ZmZlcjsKKworICAgIHMgPSB4
ZW5zdG9yZV9yZWFkKEhWTV9YU19BQ1BJX1BUX0FERFJFU1MsIE5VTEwpOworICAgIGlmICggcyA9
PSBOVUxMICkKKyAgICAgICAgcmV0dXJuIDA7ICAgIAorCisgICAgYWNwaV9wdF9hZGRyID0gKHVp
bnQ4X3QqKSh1aW50MzJfdClzdHJ0b2xsKHMsIE5VTEwsIDApOworICAgIGlmICggYWNwaV9wdF9h
ZGRyID09IE5VTEwgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHMgPSB4ZW5zdG9yZV9yZWFk
KEhWTV9YU19BQ1BJX1BUX0xFTkdUSCwgTlVMTCk7CisgICAgaWYgKCBzID09IE5VTEwgKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIGFjcGlfcHRfbGVuZ3RoID0gKHVpbnQzMl90KXN0cnRvbGwo
cywgTlVMTCwgMCk7CisKKyAgICBmb3IgKCBucl9hZGRlZCA9IDA7IG5yX2FkZGVkIDwgbnJfbWF4
OyBucl9hZGRlZCsrICkKKyAgICB7ICAgICAgICAKKyAgICAgICAgaWYgKCAoYWNwaV9wdF9sZW5n
dGggLSB0b3RhbCkgPCBzaXplb2Yoc3RydWN0IGFjcGlfaGVhZGVyKSApCisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICBoZWFkZXIgPSAoc3RydWN0IGFjcGlfaGVhZGVyKilhY3BpX3B0X2Fk
ZHI7CisKKyAgICAgICAgYnVmZmVyID0gbWVtX2FsbG9jKGhlYWRlci0+bGVuZ3RoLCAxNik7Cisg
ICAgICAgIGlmICggYnVmZmVyID09IE5VTEwgKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IG1lbWNweShidWZmZXIsIGhlYWRlciwgaGVhZGVyLT5sZW5ndGgpOworCisgICAgICAgIHRhYmxl
X3B0cnNbbnJfdGFibGVzKytdID0gKHVuc2lnbmVkIGxvbmcpYnVmZmVyOworICAgICAgICB0b3Rh
bCArPSBoZWFkZXItPmxlbmd0aDsKKyAgICAgICAgYWNwaV9wdF9hZGRyICs9IGhlYWRlci0+bGVu
Z3RoOworICAgIH0KKworICAgIHJldHVybiBucl9hZGRlZDsKK30KKwogc3RhdGljIGludCBjb25z
dHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyh1bnNpZ25lZCBsb25nICp0YWJsZV9wdHJzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9pbmZvICppbmZvKQog
ewpAQCAtMjkzLDYgKzM0Miw5IEBAIHN0YXRpYyBpbnQgY29uc3RydWN0X3NlY29uZGFyeV90YWJs
ZXModW4KICAgICAgICAgfQogICAgIH0KIAorICAgIC8qIExvYWQgYW55IGFkZGl0aW9uYWwgdGFi
bGVzIHBhc3NlZCB0aHJvdWdoLiAqLworICAgIG5yX3RhYmxlcyArPSBjb25zdHJ1Y3RfcGFzc3Ro
cm91Z2hfdGFibGVzKHRhYmxlX3B0cnMsIG5yX3RhYmxlcyk7CisKICAgICB0YWJsZV9wdHJzW25y
X3RhYmxlc10gPSAwOwogICAgIHJldHVybiBucl90YWJsZXM7CiB9CkBAIC0zMjcsNyArMzc5LDcg
QEAgdm9pZCBhY3BpX2J1aWxkX3RhYmxlcyhzdHJ1Y3QgYWNwaV9jb25maQogICAgIHN0cnVjdCBh
Y3BpXzEwX2ZhZHQgKmZhZHRfMTA7CiAgICAgc3RydWN0IGFjcGlfMjBfZmFjcyAqZmFjczsKICAg
ICB1bnNpZ25lZCBjaGFyICAgICAgICpkc2R0OwotICAgIHVuc2lnbmVkIGxvbmcgICAgICAgIHNl
Y29uZGFyeV90YWJsZXNbMTZdOworICAgIHVuc2lnbmVkIGxvbmcgICAgICAgIHNlY29uZGFyeV90
YWJsZXNbQUNQSV9NQVhfU0VDT05EQVJZX1RBQkxFU107CiAgICAgaW50ICAgICAgICAgICAgICAg
ICAgbnJfc2Vjb25kYXJpZXMsIGk7CiAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgdm1fZ2lkX2Fk
ZHI7CiAK

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:38:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:38:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXChH-0001xk-W7; Wed, 23 May 2012 14:37:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXChG-0001wV-IA
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:37:54 +0000
Received: from [85.158.138.51:61570] by server-6.bemta-3.messagelabs.com id
	9C/75-18175-146FCBF4; Wed, 23 May 2012 14:37:53 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337783869!28800556!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11117 invoked from network); 23 May 2012 14:37:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:37:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25510677"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:51 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:51 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:51 -0400
Thread-Topic: [Xen-devel] [PATCH v3 04/04] HVM firmware passthrough ACPI
	processing
Thread-Index: Ac048GkyqAPMR36HQoKTJ4fb9toH/Q==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBF@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 04/04] HVM firmware passthrough ACPI
 processing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

ACPI table passthrough support allowing additional static tables and
SSDTs (AML code) to be loaded. These additional tables are added at the end
of the secondary table list in the RSDT/XSDT tables.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>


--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-04.patch"
Content-Description: hvm-firmware-passthrough-v3-04.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-04.patch"; size=2856;
	creation-date="Wed, 23 May 2012 13:25:59 GMT";
	modification-date="Wed, 23 May 2012 13:35:20 GMT"
Content-Transfer-Encoding: base64

QUNQSSB0YWJsZSBwYXNzdGhyb3VnaCBzdXBwb3J0IGFsbG93aW5nIGFkZGl0aW9uYWwgc3RhdGlj
IHRhYmxlcyBhbmQKU1NEVHMgKEFNTCBjb2RlKSB0byBiZSBsb2FkZWQuIFRoZXNlIGFkZGl0aW9u
YWwgdGFibGVzIGFyZSBhZGRlZCBhdCB0aGUgZW5kCm9mIHRoZSBzZWNvbmRhcnkgdGFibGUgbGlz
dCBpbiB0aGUgUlNEVC9YU0RUIHRhYmxlcy4KClNpZ25lZC1vZmYtYnk6IFJvc3MgUGhpbGlwc29u
IDxyb3NzLnBoaWxpcHNvbkBjaXRyaXguY29tPgoKZGlmZiAtciBlNDNhODJmMmVlZmYgdG9vbHMv
ZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvYnVpbGQuYwotLS0gYS90b29scy9maXJtd2FyZS9odm1s
b2FkZXIvYWNwaS9idWlsZC5jCVR1ZSBNYXkgMjIgMjE6MDk6MDQgMjAxMiAtMDQwMAorKysgYi90
b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jCVR1ZSBNYXkgMjIgMjE6MTA6MjQg
MjAxMiAtMDQwMApAQCAtMjMsNiArMjMsOSBAQAogI2luY2x1ZGUgInNzZHRfcG0uaCIKICNpbmNs
dWRlICIuLi9jb25maWcuaCIKICNpbmNsdWRlICIuLi91dGlsLmgiCisjaW5jbHVkZSAieGVuLXRv
b2xzL2h2bV9kZWZzLmgiCisKKyNkZWZpbmUgQUNQSV9NQVhfU0VDT05EQVJZX1RBQkxFUyAxNgog
CiAjZGVmaW5lIGFsaWduMTYoc3opICAgICAgICAoKChzeikgKyAxNSkgJiB+MTUpCiAjZGVmaW5l
IGZpeGVkX3N0cmNweShkLCBzKSBzdHJuY3B5KChkKSwgKHMpLCBzaXplb2YoZCkpCkBAIC0xOTgs
NiArMjAxLDUyIEBAIHN0YXRpYyBzdHJ1Y3QgYWNwaV8yMF93YWV0ICpjb25zdHJ1Y3Rfd2EKICAg
ICByZXR1cm4gd2FldDsKIH0KIAorc3RhdGljIGludCBjb25zdHJ1Y3RfcGFzc3Rocm91Z2hfdGFi
bGVzKHVuc2lnbmVkIGxvbmcgKnRhYmxlX3B0cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IG5yX3RhYmxlcykKK3sKKyAgICBjb25zdCBjaGFyICpzOworICAg
IHVpbnQ4X3QgKmFjcGlfcHRfYWRkcjsKKyAgICB1aW50MzJfdCBhY3BpX3B0X2xlbmd0aDsKKyAg
ICBzdHJ1Y3QgYWNwaV9oZWFkZXIgKmhlYWRlcjsKKyAgICBpbnQgbnJfYWRkZWQ7CisgICAgaW50
IG5yX21heCA9IChBQ1BJX01BWF9TRUNPTkRBUllfVEFCTEVTIC0gbnJfdGFibGVzIC0gMSk7Cisg
ICAgdWludDMyX3QgdG90YWwgPSAwOworICAgIHVpbnQ4X3QgKmJ1ZmZlcjsKKworICAgIHMgPSB4
ZW5zdG9yZV9yZWFkKEhWTV9YU19BQ1BJX1BUX0FERFJFU1MsIE5VTEwpOworICAgIGlmICggcyA9
PSBOVUxMICkKKyAgICAgICAgcmV0dXJuIDA7ICAgIAorCisgICAgYWNwaV9wdF9hZGRyID0gKHVp
bnQ4X3QqKSh1aW50MzJfdClzdHJ0b2xsKHMsIE5VTEwsIDApOworICAgIGlmICggYWNwaV9wdF9h
ZGRyID09IE5VTEwgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHMgPSB4ZW5zdG9yZV9yZWFk
KEhWTV9YU19BQ1BJX1BUX0xFTkdUSCwgTlVMTCk7CisgICAgaWYgKCBzID09IE5VTEwgKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIGFjcGlfcHRfbGVuZ3RoID0gKHVpbnQzMl90KXN0cnRvbGwo
cywgTlVMTCwgMCk7CisKKyAgICBmb3IgKCBucl9hZGRlZCA9IDA7IG5yX2FkZGVkIDwgbnJfbWF4
OyBucl9hZGRlZCsrICkKKyAgICB7ICAgICAgICAKKyAgICAgICAgaWYgKCAoYWNwaV9wdF9sZW5n
dGggLSB0b3RhbCkgPCBzaXplb2Yoc3RydWN0IGFjcGlfaGVhZGVyKSApCisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICBoZWFkZXIgPSAoc3RydWN0IGFjcGlfaGVhZGVyKilhY3BpX3B0X2Fk
ZHI7CisKKyAgICAgICAgYnVmZmVyID0gbWVtX2FsbG9jKGhlYWRlci0+bGVuZ3RoLCAxNik7Cisg
ICAgICAgIGlmICggYnVmZmVyID09IE5VTEwgKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IG1lbWNweShidWZmZXIsIGhlYWRlciwgaGVhZGVyLT5sZW5ndGgpOworCisgICAgICAgIHRhYmxl
X3B0cnNbbnJfdGFibGVzKytdID0gKHVuc2lnbmVkIGxvbmcpYnVmZmVyOworICAgICAgICB0b3Rh
bCArPSBoZWFkZXItPmxlbmd0aDsKKyAgICAgICAgYWNwaV9wdF9hZGRyICs9IGhlYWRlci0+bGVu
Z3RoOworICAgIH0KKworICAgIHJldHVybiBucl9hZGRlZDsKK30KKwogc3RhdGljIGludCBjb25z
dHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyh1bnNpZ25lZCBsb25nICp0YWJsZV9wdHJzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9pbmZvICppbmZvKQog
ewpAQCAtMjkzLDYgKzM0Miw5IEBAIHN0YXRpYyBpbnQgY29uc3RydWN0X3NlY29uZGFyeV90YWJs
ZXModW4KICAgICAgICAgfQogICAgIH0KIAorICAgIC8qIExvYWQgYW55IGFkZGl0aW9uYWwgdGFi
bGVzIHBhc3NlZCB0aHJvdWdoLiAqLworICAgIG5yX3RhYmxlcyArPSBjb25zdHJ1Y3RfcGFzc3Ro
cm91Z2hfdGFibGVzKHRhYmxlX3B0cnMsIG5yX3RhYmxlcyk7CisKICAgICB0YWJsZV9wdHJzW25y
X3RhYmxlc10gPSAwOwogICAgIHJldHVybiBucl90YWJsZXM7CiB9CkBAIC0zMjcsNyArMzc5LDcg
QEAgdm9pZCBhY3BpX2J1aWxkX3RhYmxlcyhzdHJ1Y3QgYWNwaV9jb25maQogICAgIHN0cnVjdCBh
Y3BpXzEwX2ZhZHQgKmZhZHRfMTA7CiAgICAgc3RydWN0IGFjcGlfMjBfZmFjcyAqZmFjczsKICAg
ICB1bnNpZ25lZCBjaGFyICAgICAgICpkc2R0OwotICAgIHVuc2lnbmVkIGxvbmcgICAgICAgIHNl
Y29uZGFyeV90YWJsZXNbMTZdOworICAgIHVuc2lnbmVkIGxvbmcgICAgICAgIHNlY29uZGFyeV90
YWJsZXNbQUNQSV9NQVhfU0VDT05EQVJZX1RBQkxFU107CiAgICAgaW50ICAgICAgICAgICAgICAg
ICAgbnJfc2Vjb25kYXJpZXMsIGk7CiAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgdm1fZ2lkX2Fk
ZHI7CiAK

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBFFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:38:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:38:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXChm-00027t-PP; Wed, 23 May 2012 14:38:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXChl-00027S-57
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:38:25 +0000
Received: from [85.158.143.35:53646] by server-1.bemta-4.messagelabs.com id
	FC/6E-00342-066FCBF4; Wed, 23 May 2012 14:38:24 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337783901!12904385!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25709 invoked from network); 23 May 2012 14:38:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:38:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="196212269"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:45 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:45 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:45 -0400
Thread-Topic: [Xen-devel] [PATCH v3 02/04] HVM firmware passthrough control
	tools support
Thread-Index: Ac047t/lRcYPxMSoQWipHSHdXrtZqw==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBD@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 02/04] HVM firmware passthrough control tools
 support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Xen control tools support for loading the firmware passthrough blocks durin=
g
domain construction. SMBIOS and ACPI blocks are passed in using the new
xc_hvm_build_args structure. Each block is read and loaded into the new dom=
ain
address space behind the HVMLOADER image. The base address for the two bloc=
ks
is returned as an out parameter to the caller via the args structure.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>


--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-02.patch"
Content-Description: hvm-firmware-passthrough-v3-02.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-02.patch"; size=9640;
	creation-date="Wed, 23 May 2012 13:25:58 GMT";
	modification-date="Wed, 23 May 2012 13:46:03 GMT"
Content-Transfer-Encoding: base64

WGVuIGNvbnRyb2wgdG9vbHMgc3VwcG9ydCBmb3IgbG9hZGluZyB0aGUgZmlybXdhcmUgcGFzc3Ro
cm91Z2ggYmxvY2tzIGR1cmluZwpkb21haW4gY29uc3RydWN0aW9uLiBTTUJJT1MgYW5kIEFDUEkg
YmxvY2tzIGFyZSBwYXNzZWQgaW4gdXNpbmcgdGhlIG5ldwp4Y19odm1fYnVpbGRfYXJncyBzdHJ1
Y3R1cmUuIEVhY2ggYmxvY2sgaXMgcmVhZCBhbmQgbG9hZGVkIGludG8gdGhlIG5ldyBkb21haW4K
YWRkcmVzcyBzcGFjZSBiZWhpbmQgdGhlIEhWTUxPQURFUiBpbWFnZS4gVGhlIGJhc2UgYWRkcmVz
cyBmb3IgdGhlIHR3byBibG9ja3MKaXMgcmV0dXJuZWQgYXMgYW4gb3V0IHBhcmFtZXRlciB0byB0
aGUgY2FsbGVyIHZpYSB0aGUgYXJncyBzdHJ1Y3R1cmUuCgpTaWduZWQtb2ZmLWJ5OiBSb3NzIFBo
aWxpcHNvbiA8cm9zcy5waGlsaXBzb25AY2l0cml4LmNvbT4KCmRpZmYgLXIgOTRlNzAyNzZiOTRk
IHRvb2xzL2xpYnhjL2lhNjQveGNfaWE2NF9odm1fYnVpbGQuYwotLS0gYS90b29scy9saWJ4Yy9p
YTY0L3hjX2lhNjRfaHZtX2J1aWxkLmMJVHVlIE1heSAyMiAyMTowNDoyNSAyMDEyIC0wNDAwCisr
KyBiL3Rvb2xzL2xpYnhjL2lhNjQveGNfaWE2NF9odm1fYnVpbGQuYwlUdWUgTWF5IDIyIDIxOjA3
OjI3IDIwMTIgLTA0MDAKQEAgLTEwNzIsNyArMTA3Miw3IEBAIGVycm9yX291dDoKIH0KIAogaW50
Ci14Y19odm1fYnVpbGQoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBjb25zdCBz
dHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MpCit4Y19odm1fYnVpbGQoeGNfaW50ZXJmYWNl
ICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBzdHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MpCiB7
CiAgICAgdmNwdV9ndWVzdF9jb250ZXh0X2FueV90IHN0X2N0eHRfYW55OwogICAgIHZjcHVfZ3Vl
c3RfY29udGV4dF90ICpjdHh0ID0gJnN0X2N0eHRfYW55LmM7CmRpZmYgLXIgOTRlNzAyNzZiOTRk
IHRvb2xzL2xpYnhjL3hjX2h2bV9idWlsZC5jCi0tLSBhL3Rvb2xzL2xpYnhjL3hjX2h2bV9idWls
ZC5jCVR1ZSBNYXkgMjIgMjE6MDQ6MjUgMjAxMiAtMDQwMAorKysgYi90b29scy9saWJ4Yy94Y19o
dm1fYnVpbGQuYwlUdWUgTWF5IDIyIDIxOjA3OjI3IDIwMTIgLTA0MDAKQEAgLTQ5LDYgKzQ5LDQw
IEBACiAjZGVmaW5lIE5SX1NQRUNJQUxfUEFHRVMgICAgIDgKICNkZWZpbmUgc3BlY2lhbF9wZm4o
eCkgKDB4ZmYwMDB1IC0gTlJfU1BFQ0lBTF9QQUdFUyArICh4KSkKIAorc3RhdGljIGludCBtb2R1
bGVzX2luaXQoc3RydWN0IHhjX2h2bV9idWlsZF9hcmdzICphcmdzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDY0X3QgdmVuZCwgc3RydWN0IGVsZl9iaW5hcnkgKmVsZiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ2NF90ICptc3RhcnRfb3V0LCB1aW50NjRfdCAqbWVuZF9vdXQp
Cit7CisjZGVmaW5lIE1PRFVMRV9BTElHTiAxVUwgPDwgNworI2RlZmluZSBNQl9BTElHTiAgICAg
MVVMIDw8IDIwCisjZGVmaW5lIE1LQUxJR04oeCwgYSkgKCgodWludDY0X3QpKHgpICsgKGEpIC0g
MSkgJiB+KHVpbnQ2NF90KSgoYSkgLSAxKSkKKyAgICB1aW50NjRfdCB0b3RhbF9sZW4gPSAwLCBv
ZmZzZXQxID0gMDsKKworICAgIGlmICggKGFyZ3MtPmFjcGlfbW9kdWxlLmxlbmd0aCA9PSAwKSYm
KGFyZ3MtPnNtYmlvc19tb2R1bGUubGVuZ3RoID09IDApICkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICAvKiBGaW5kIHRoZSB0b3RhbCBsZW5ndGggZm9yIHRoZSBmaXJtd2FyZSBtb2R1bGVzIHdp
dGggYSByZWFzb25hYmxlIGxhcmdlCisgICAgICogYWxpZ25tZW50IHNpemUgdG8gYWxpZ24gZWFj
aCB0aGUgbW9kdWxlcy4KKyAgICAgKi8KKyAgICB0b3RhbF9sZW4gPSBNS0FMSUdOKGFyZ3MtPmFj
cGlfbW9kdWxlLmxlbmd0aCwgTU9EVUxFX0FMSUdOKTsKKyAgICBvZmZzZXQxID0gdG90YWxfbGVu
OworICAgIHRvdGFsX2xlbiArPSBNS0FMSUdOKGFyZ3MtPnNtYmlvc19tb2R1bGUubGVuZ3RoLCBN
T0RVTEVfQUxJR04pOworCisgICAgLyogV2FudCB0byBwbGFjZSB0aGUgbW9kdWxlcyAxTWIrY2hh
bmdlIGJlaGluZCB0aGUgbG9hZGVyIGltYWdlLiAqLworICAgICptc3RhcnRfb3V0ID0gTUtBTElH
TihlbGYtPnBlbmQsIE1CX0FMSUdOKSArIChNQl9BTElHTik7CisgICAgKm1lbmRfb3V0ID0gKm1z
dGFydF9vdXQgKyB0b3RhbF9sZW47CisKKyAgICBpZiAoICptZW5kX291dCA+IHZlbmQgKSAgICAK
KyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKCBhcmdzLT5hY3BpX21vZHVsZS5sZW5ndGgg
IT0gMCApCisgICAgICAgIGFyZ3MtPmFjcGlfbW9kdWxlLmd1ZXN0X2FkZHJfb3V0ID0gKm1zdGFy
dF9vdXQ7CisgICAgaWYgKCBhcmdzLT5zbWJpb3NfbW9kdWxlLmxlbmd0aCAhPSAwICkKKyAgICAg
ICAgYXJncy0+c21iaW9zX21vZHVsZS5ndWVzdF9hZGRyX291dCA9ICptc3RhcnRfb3V0ICsgb2Zm
c2V0MTsKKworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZCBidWlsZF9odm1faW5mbyh2
b2lkICpodm1faW5mb19wYWdlLCB1aW50NjRfdCBtZW1fc2l6ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ2NF90IG1taW9fc3RhcnQsIHVpbnQ2NF90IG1taW9fc2l6ZSkKIHsKQEAg
LTg2LDkgKzEyMCw4IEBAIHN0YXRpYyB2b2lkIGJ1aWxkX2h2bV9pbmZvKHZvaWQgKmh2bV9pbmYK
ICAgICBodm1faW5mby0+Y2hlY2tzdW0gPSAtc3VtOwogfQogCi1zdGF0aWMgaW50IGxvYWRlbGZp
bWFnZSgKLSAgICB4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICBzdHJ1Y3QgZWxmX2JpbmFyeSAqZWxm
LCB1aW50MzJfdCBkb20sIHVuc2lnbmVkIGxvbmcgKnBhcnJheSkKK3N0YXRpYyBpbnQgbG9hZGVs
ZmltYWdlKHhjX2ludGVyZmFjZSAqeGNoLCBzdHJ1Y3QgZWxmX2JpbmFyeSAqZWxmLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9tLCB1bnNpZ25lZCBsb25nICpwYXJyYXkpCiB7
CiAgICAgcHJpdmNtZF9tbWFwX2VudHJ5X3QgKmVudHJpZXMgPSBOVUxMOwogICAgIHVuc2lnbmVk
IGxvbmcgcGZuX3N0YXJ0ID0gZWxmLT5wc3RhcnQgPj4gUEFHRV9TSElGVDsKQEAgLTEyNiw2ICsx
NTksNjYgQEAgc3RhdGljIGludCBsb2FkZWxmaW1hZ2UoCiAgICAgcmV0dXJuIHJjOwogfQogCitz
dGF0aWMgaW50IGxvYWRtb2R1bGVzKHhjX2ludGVyZmFjZSAqeGNoLAorICAgICAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MsCisgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ2NF90IG1zdGFydCwgdWludDY0X3QgbWVuZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QgZG9tLCB1bnNpZ25lZCBsb25nICpwYXJyYXkpCit7CisgICAgcHJpdmNt
ZF9tbWFwX2VudHJ5X3QgKmVudHJpZXMgPSBOVUxMOworICAgIHVuc2lnbmVkIGxvbmcgcGZuX3N0
YXJ0OworICAgIHVuc2lnbmVkIGxvbmcgcGZuX2VuZDsKKyAgICBzaXplX3QgcGFnZXM7CisgICAg
dWludDMyX3QgaTsKKyAgICB1aW50OF90ICpkZXN0OworICAgIGludCByYyA9IC0xOworCisgICAg
aWYgKCAobXN0YXJ0ID09IDApfHwobWVuZCA9PSAwKSApCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcGZuX3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpKG1zdGFydCA+PiBQQUdFX1NISUZUKTsKKyAg
ICBwZm5fZW5kID0gKHVuc2lnbmVkIGxvbmcpKChtZW5kICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFH
RV9TSElGVCk7CisgICAgcGFnZXMgPSBwZm5fZW5kIC0gcGZuX3N0YXJ0OworCisgICAgLyogTWFw
IGFkZHJlc3Mgc3BhY2UgZm9yIG1vZHVsZSBsaXN0LiAqLworICAgIGVudHJpZXMgPSBjYWxsb2Mo
cGFnZXMsIHNpemVvZihwcml2Y21kX21tYXBfZW50cnlfdCkpOworICAgIGlmICggZW50cmllcyA9
PSBOVUxMICkKKyAgICAgICAgZ290byBlcnJvcl9vdXQ7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8
IHBhZ2VzOyBpKysgKQorICAgICAgICBlbnRyaWVzW2ldLm1mbiA9IHBhcnJheVsobXN0YXJ0ID4+
IFBBR0VfU0hJRlQpICsgaV07CisKKyAgICBkZXN0ID0geGNfbWFwX2ZvcmVpZ25fcmFuZ2VzKAor
ICAgICAgICB4Y2gsIGRvbSwgcGFnZXMgPDwgUEFHRV9TSElGVCwgUFJPVF9SRUFEIHwgUFJPVF9X
UklURSwgMSA8PCBQQUdFX1NISUZULAorICAgICAgICBlbnRyaWVzLCBwYWdlcyk7CisgICAgaWYg
KCBkZXN0ID09IE5VTEwgKQorICAgICAgICBnb3RvIGVycm9yX291dDsKKworICAgIC8qIFplcm8g
dGhlIHJhbmdlIHNvIHBhZGRpbmcgaXMgY2xlYXIgYmV0d2VlbiBtb2R1bGVzICovCisgICAgbWVt
c2V0KGRlc3QsIDAsIHBhZ2VzIDw8IFBBR0VfU0hJRlQpOworCisgICAgLyogTG9hZCBtb2R1bGVz
IGludG8gcmFuZ2UgKi8gICAgCisgICAgaWYgKCBhcmdzLT5hY3BpX21vZHVsZS5sZW5ndGggIT0g
MCApCisgICAgeworICAgICAgICBtZW1jcHkoZGVzdCwKKyAgICAgICAgICAgICAgIGFyZ3MtPmFj
cGlfbW9kdWxlLmRhdGEsCisgICAgICAgICAgICAgICBhcmdzLT5hY3BpX21vZHVsZS5sZW5ndGgp
OworICAgIH0KKyAgICBpZiAoIGFyZ3MtPnNtYmlvc19tb2R1bGUubGVuZ3RoICE9IDAgKQorICAg
IHsKKyAgICAgICAgbWVtY3B5KGRlc3QgKyAoYXJncy0+c21iaW9zX21vZHVsZS5ndWVzdF9hZGRy
X291dCAtIG1zdGFydCksCisgICAgICAgICAgICAgICBhcmdzLT5zbWJpb3NfbW9kdWxlLmRhdGEs
CisgICAgICAgICAgICAgICBhcmdzLT5zbWJpb3NfbW9kdWxlLmxlbmd0aCk7CisgICAgfQorCisg
ICAgbXVubWFwKGRlc3QsIHBhZ2VzIDw8IFBBR0VfU0hJRlQpOworICAgIHJjID0gMDsKKworIGVy
cm9yX291dDoKKyAgICBmcmVlKGVudHJpZXMpOworCisgICAgcmV0dXJuIHJjOworfQorCiAvKgog
ICogQ2hlY2sgd2hldGhlciB0aGVyZSBleGlzdHMgbW1pbyBob2xlIGluIHRoZSBzcGVjaWZpZWQg
bWVtb3J5IHJhbmdlLgogICogUmV0dXJucyAxIGlmIGV4aXN0cywgZWxzZSByZXR1cm5zIDAuCkBA
IC0xNDAsNyArMjMzLDcgQEAgc3RhdGljIGludCBjaGVja19tbWlvX2hvbGUodWludDY0X3Qgc3Rh
cgogfQogCiBzdGF0aWMgaW50IHNldHVwX2d1ZXN0KHhjX2ludGVyZmFjZSAqeGNoLAotICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb20sIGNvbnN0IHN0cnVjdCB4Y19odm1fYnVpbGRf
YXJncyAqYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9tLCBzdHJ1Y3Qg
eGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmlt
YWdlLCB1bnNpZ25lZCBsb25nIGltYWdlX3NpemUpCiB7CiAgICAgeGVuX3Bmbl90ICpwYWdlX2Fy
cmF5ID0gTlVMTDsKQEAgLTE1Myw2ICsyNDYsNyBAQCBzdGF0aWMgaW50IHNldHVwX2d1ZXN0KHhj
X2ludGVyZmFjZSAqeGNoCiAgICAgdWludDMyX3QgKmlkZW50X3B0OwogICAgIHN0cnVjdCBlbGZf
YmluYXJ5IGVsZjsKICAgICB1aW50NjRfdCB2X3N0YXJ0LCB2X2VuZDsKKyAgICB1aW50NjRfdCBt
X3N0YXJ0ID0gMCwgbV9lbmQgPSAwOwogICAgIGludCByYzsKICAgICB4ZW5fY2FwYWJpbGl0aWVz
X2luZm9fdCBjYXBzOwogICAgIHVuc2lnbmVkIGxvbmcgc3RhdF9ub3JtYWxfcGFnZXMgPSAwLCBz
dGF0XzJtYl9wYWdlcyA9IDAsIApAQCAtMTc3LDEyICsyNzEsMjAgQEAgc3RhdGljIGludCBzZXR1
cF9ndWVzdCh4Y19pbnRlcmZhY2UgKnhjaAogICAgICAgICBQRVJST1IoIkNvdWxkIG5vdCBnZXQg
WGVuIGNhcGFiaWxpdGllcyIpOwogICAgICAgICBnb3RvIGVycm9yX291dDsKICAgICB9CisgICAg
CisgICAgaWYgKCBtb2R1bGVzX2luaXQoYXJncywgdl9lbmQsICZlbGYsICZtX3N0YXJ0LCAmbV9l
bmQpICE9IDAgKQorICAgIHsKKyAgICAgICAgRVJST1IoIkluc3VmZmljaWVudCBzcGFjZSB0byBs
b2FkIG1vZHVsZXMuIik7CisgICAgICAgIGdvdG8gZXJyb3Jfb3V0OworICAgIH0KIAogICAgIElQ
UklOVEYoIlZJUlRVQUwgTUVNT1JZIEFSUkFOR0VNRU5UOlxuIgogICAgICAgICAgICAgIiAgTG9h
ZGVyOiAgICAgICAgJTAxNiJQUkl4NjQiLT4lMDE2IlBSSXg2NCJcbiIKKyAgICAgICAgICAgICIg
IE1vZHVsZXM6ICAgICAgICUwMTYiUFJJeDY0Ii0+JTAxNiJQUkl4NjQiXG4iCiAgICAgICAgICAg
ICAiICBUT1RBTDogICAgICAgICAlMDE2IlBSSXg2NCItPiUwMTYiUFJJeDY0IlxuIgogICAgICAg
ICAgICAgIiAgRU5UUlkgQUREUkVTUzogJTAxNiJQUkl4NjQiXG4iLAogICAgICAgICAgICAgZWxm
LnBzdGFydCwgZWxmLnBlbmQsCisgICAgICAgICAgICBtX3N0YXJ0LCBtX2VuZCwKICAgICAgICAg
ICAgIHZfc3RhcnQsIHZfZW5kLAogICAgICAgICAgICAgZWxmX3V2YWwoJmVsZiwgZWxmLmVoZHIs
IGVfZW50cnkpKTsKIApAQCAtMzMwLDYgKzQzMiw5IEBAIHN0YXRpYyBpbnQgc2V0dXBfZ3Vlc3Qo
eGNfaW50ZXJmYWNlICp4Y2gKICAgICBpZiAoIGxvYWRlbGZpbWFnZSh4Y2gsICZlbGYsIGRvbSwg
cGFnZV9hcnJheSkgIT0gMCApCiAgICAgICAgIGdvdG8gZXJyb3Jfb3V0OwogCisgICAgaWYgKCBs
b2FkbW9kdWxlcyh4Y2gsIGFyZ3MsIG1fc3RhcnQsIG1fZW5kLCBkb20sIHBhZ2VfYXJyYXkpICE9
IDAgKQorICAgICAgICBnb3RvIGVycm9yX291dDsgICAgCisKICAgICBpZiAoIChodm1faW5mb19w
YWdlID0geGNfbWFwX2ZvcmVpZ25fcmFuZ2UoCiAgICAgICAgICAgICAgIHhjaCwgZG9tLCBQQUdF
X1NJWkUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCiAgICAgICAgICAgICAgIEhWTV9JTkZPX1BG
TikpID09IE5VTEwgKQpAQCAtNDA2LDcgKzUxMSw3IEBAIHN0YXRpYyBpbnQgc2V0dXBfZ3Vlc3Qo
eGNfaW50ZXJmYWNlICp4Y2gKICAqIENyZWF0ZSBhIGRvbWFpbiBmb3IgYSB2aXJ0dWFsaXplZCBM
aW51eCwgdXNpbmcgZmlsZXMvZmlsZW5hbWVzLgogICovCiBpbnQgeGNfaHZtX2J1aWxkKHhjX2lu
dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IHhjX2h2bV9idWlsZF9hcmdzICpodm1fYXJncykKKyAgICAgICAgICAgICAgICAgc3RydWN0
IHhjX2h2bV9idWlsZF9hcmdzICpodm1fYXJncykKIHsKICAgICBzdHJ1Y3QgeGNfaHZtX2J1aWxk
X2FyZ3MgYXJncyA9ICpodm1fYXJnczsKICAgICB2b2lkICppbWFnZTsKQEAgLTQzNCw2ICs1Mzks
MTUgQEAgaW50IHhjX2h2bV9idWlsZCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludAogCiAgICAgc3Rz
ID0gc2V0dXBfZ3Vlc3QoeGNoLCBkb21pZCwgJmFyZ3MsIGltYWdlLCBpbWFnZV9zaXplKTsKIAor
ICAgIGlmICghc3RzKQorICAgIHsKKyAgICAgICAgLyogUmV0dXJuIG1vZHVsZSBsb2FkIGFkZHJl
c3NlcyB0byBjYWxsZXIgKi8KKyAgICAgICAgaHZtX2FyZ3MtPmFjcGlfbW9kdWxlLmd1ZXN0X2Fk
ZHJfb3V0ID0gCisgICAgICAgICAgICBhcmdzLmFjcGlfbW9kdWxlLmd1ZXN0X2FkZHJfb3V0Owor
ICAgICAgICBodm1fYXJncy0+c21iaW9zX21vZHVsZS5ndWVzdF9hZGRyX291dCA9IAorICAgICAg
ICAgICAgYXJncy5zbWJpb3NfbW9kdWxlLmd1ZXN0X2FkZHJfb3V0OworICAgIH0KKwogICAgIGZy
ZWUoaW1hZ2UpOwogCiAgICAgcmV0dXJuIHN0czsKQEAgLTQ1NCw2ICs1NjgsNyBAQCBpbnQgeGNf
aHZtX2J1aWxkX3RhcmdldF9tZW0oeGNfaW50ZXJmYWNlCiB7CiAgICAgc3RydWN0IHhjX2h2bV9i
dWlsZF9hcmdzIGFyZ3MgPSB7fTsKIAorICAgIG1lbXNldCgmYXJncywgMCwgc2l6ZW9mKHN0cnVj
dCB4Y19odm1fYnVpbGRfYXJncykpOwogICAgIGFyZ3MubWVtX3NpemUgPSAodWludDY0X3QpbWVt
c2l6ZSA8PCAyMDsKICAgICBhcmdzLm1lbV90YXJnZXQgPSAodWludDY0X3QpdGFyZ2V0IDw8IDIw
OwogICAgIGFyZ3MuaW1hZ2VfZmlsZV9uYW1lID0gaW1hZ2VfbmFtZTsKZGlmZiAtciA5NGU3MDI3
NmI5NGQgdG9vbHMvbGlieGMveGVuZ3Vlc3QuaAotLS0gYS90b29scy9saWJ4Yy94ZW5ndWVzdC5o
CVR1ZSBNYXkgMjIgMjE6MDQ6MjUgMjAxMiAtMDQwMAorKysgYi90b29scy9saWJ4Yy94ZW5ndWVz
dC5oCVR1ZSBNYXkgMjIgMjE6MDc6MjcgMjAxMiAtMDQwMApAQCAtMjExLDExICsyMTEsMjMgQEAg
aW50IHhjX2xpbnV4X2J1aWxkX21lbSh4Y19pbnRlcmZhY2UgKnhjaAogICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgY29uc29sZV9ldnRjaG4sCiAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgKmNvbnNvbGVfbWZuKTsKIAorc3RydWN0IHhjX2h2bV9maXJtd2Fy
ZV9tb2R1bGUgeworICAgIHVpbnQ4X3QgICpkYXRhOworICAgIHVpbnQzMl90ICBsZW5ndGg7Cisg
ICAgdWludDY0X3QgIGd1ZXN0X2FkZHJfb3V0OworfTsKKwogc3RydWN0IHhjX2h2bV9idWlsZF9h
cmdzIHsKICAgICB1aW50NjRfdCBtZW1fc2l6ZTsgICAgICAgICAgIC8qIE1lbW9yeSBzaXplIGlu
IGJ5dGVzLiAqLwogICAgIHVpbnQ2NF90IG1lbV90YXJnZXQ7ICAgICAgICAgLyogTWVtb3J5IHRh
cmdldCBpbiBieXRlcy4gKi8KICAgICB1aW50NjRfdCBtbWlvX3NpemU7ICAgICAgICAgIC8qIFNp
emUgb2YgdGhlIE1NSU8gaG9sZSBpbiBieXRlcy4gKi8KICAgICBjb25zdCBjaGFyICppbWFnZV9m
aWxlX25hbWU7IC8qIEZpbGUgbmFtZSBvZiB0aGUgaW1hZ2UgdG8gbG9hZC4gKi8KKworICAgIC8q
IEV4dHJhIEFDUEkgdGFibGVzIHBhc3NlZCB0byBIVk1MT0FERVIgKi8KKyAgICBzdHJ1Y3QgeGNf
aHZtX2Zpcm13YXJlX21vZHVsZSBhY3BpX21vZHVsZTsKKworICAgIC8qIEV4dHJhIFNNQklPUyBz
dHJ1Y3R1cmVzIHBhc3NlZCB0byBIVk1MT0FERVIgKi8KKyAgICBzdHJ1Y3QgeGNfaHZtX2Zpcm13
YXJlX21vZHVsZSBzbWJpb3NfbW9kdWxlOwogfTsKIAogLyoqCkBAIC0yMjgsNyArMjQwLDcgQEAg
c3RydWN0IHhjX2h2bV9idWlsZF9hcmdzIHsKICAqIGFyZSBvcHRpb25hbC4KICAqLwogaW50IHhj
X2h2bV9idWlsZCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCi0gICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCB4Y19odm1fYnVpbGRfYXJncyAqaHZtX2FyZ3MpOworICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmh2bV9hcmdzKTsKIAogaW50IHhj
X2h2bV9idWlsZF90YXJnZXRfbWVtKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLApkaWZmIC1yIDk0ZTcwMjc2Yjk0ZCB0b29scy9s
aWJ4Yy94Z19wcml2YXRlLmMKLS0tIGEvdG9vbHMvbGlieGMveGdfcHJpdmF0ZS5jCVR1ZSBNYXkg
MjIgMjE6MDQ6MjUgMjAxMiAtMDQwMAorKysgYi90b29scy9saWJ4Yy94Z19wcml2YXRlLmMJVHVl
IE1heSAyMiAyMTowNzoyNyAyMDEyIC0wNDAwCkBAIC0xOTIsNyArMTkyLDcgQEAgdW5zaWduZWQg
bG9uZyBjc3VtX3BhZ2Uodm9pZCAqcGFnZSkKIF9fYXR0cmlidXRlX18oKHdlYWspKSAKICAgICBp
bnQgeGNfaHZtX2J1aWxkKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgeGNfaHZt
X2J1aWxkX2FyZ3MgKmh2bV9hcmdzKQorICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2h2
bV9idWlsZF9hcmdzICpodm1fYXJncykKIHsKICAgICBlcnJubyA9IEVOT1NZUzsKICAgICByZXR1
cm4gLTE7Cg==

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:38:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:38:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXChm-00027t-PP; Wed, 23 May 2012 14:38:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXChl-00027S-57
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 14:38:25 +0000
Received: from [85.158.143.35:53646] by server-1.bemta-4.messagelabs.com id
	FC/6E-00342-066FCBF4; Wed, 23 May 2012 14:38:24 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1337783901!12904385!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25709 invoked from network); 23 May 2012 14:38:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:38:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="196212269"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 10:37:45 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Wed, 23 May 2012
	10:37:45 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Wed, 23 May 2012 10:37:45 -0400
Thread-Topic: [Xen-devel] [PATCH v3 02/04] HVM firmware passthrough control
	tools support
Thread-Index: Ac047t/lRcYPxMSoQWipHSHdXrtZqw==
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBD@FTLPMAILBOX02.citrite.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_"
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 02/04] HVM firmware passthrough control tools
 support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Xen control tools support for loading the firmware passthrough blocks durin=
g
domain construction. SMBIOS and ACPI blocks are passed in using the new
xc_hvm_build_args structure. Each block is read and loaded into the new dom=
ain
address space behind the HVMLOADER image. The base address for the two bloc=
ks
is returned as an out parameter to the caller via the args structure.

Signed-off-by: Ross Philipson <ross.philipson@citrix.com>


--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_
Content-Type: application/octet-stream;
	name="hvm-firmware-passthrough-v3-02.patch"
Content-Description: hvm-firmware-passthrough-v3-02.patch
Content-Disposition: attachment;
	filename="hvm-firmware-passthrough-v3-02.patch"; size=9640;
	creation-date="Wed, 23 May 2012 13:25:58 GMT";
	modification-date="Wed, 23 May 2012 13:46:03 GMT"
Content-Transfer-Encoding: base64

WGVuIGNvbnRyb2wgdG9vbHMgc3VwcG9ydCBmb3IgbG9hZGluZyB0aGUgZmlybXdhcmUgcGFzc3Ro
cm91Z2ggYmxvY2tzIGR1cmluZwpkb21haW4gY29uc3RydWN0aW9uLiBTTUJJT1MgYW5kIEFDUEkg
YmxvY2tzIGFyZSBwYXNzZWQgaW4gdXNpbmcgdGhlIG5ldwp4Y19odm1fYnVpbGRfYXJncyBzdHJ1
Y3R1cmUuIEVhY2ggYmxvY2sgaXMgcmVhZCBhbmQgbG9hZGVkIGludG8gdGhlIG5ldyBkb21haW4K
YWRkcmVzcyBzcGFjZSBiZWhpbmQgdGhlIEhWTUxPQURFUiBpbWFnZS4gVGhlIGJhc2UgYWRkcmVz
cyBmb3IgdGhlIHR3byBibG9ja3MKaXMgcmV0dXJuZWQgYXMgYW4gb3V0IHBhcmFtZXRlciB0byB0
aGUgY2FsbGVyIHZpYSB0aGUgYXJncyBzdHJ1Y3R1cmUuCgpTaWduZWQtb2ZmLWJ5OiBSb3NzIFBo
aWxpcHNvbiA8cm9zcy5waGlsaXBzb25AY2l0cml4LmNvbT4KCmRpZmYgLXIgOTRlNzAyNzZiOTRk
IHRvb2xzL2xpYnhjL2lhNjQveGNfaWE2NF9odm1fYnVpbGQuYwotLS0gYS90b29scy9saWJ4Yy9p
YTY0L3hjX2lhNjRfaHZtX2J1aWxkLmMJVHVlIE1heSAyMiAyMTowNDoyNSAyMDEyIC0wNDAwCisr
KyBiL3Rvb2xzL2xpYnhjL2lhNjQveGNfaWE2NF9odm1fYnVpbGQuYwlUdWUgTWF5IDIyIDIxOjA3
OjI3IDIwMTIgLTA0MDAKQEAgLTEwNzIsNyArMTA3Miw3IEBAIGVycm9yX291dDoKIH0KIAogaW50
Ci14Y19odm1fYnVpbGQoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBjb25zdCBz
dHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MpCit4Y19odm1fYnVpbGQoeGNfaW50ZXJmYWNl
ICp4Y2gsIHVpbnQzMl90IGRvbWlkLCBzdHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MpCiB7
CiAgICAgdmNwdV9ndWVzdF9jb250ZXh0X2FueV90IHN0X2N0eHRfYW55OwogICAgIHZjcHVfZ3Vl
c3RfY29udGV4dF90ICpjdHh0ID0gJnN0X2N0eHRfYW55LmM7CmRpZmYgLXIgOTRlNzAyNzZiOTRk
IHRvb2xzL2xpYnhjL3hjX2h2bV9idWlsZC5jCi0tLSBhL3Rvb2xzL2xpYnhjL3hjX2h2bV9idWls
ZC5jCVR1ZSBNYXkgMjIgMjE6MDQ6MjUgMjAxMiAtMDQwMAorKysgYi90b29scy9saWJ4Yy94Y19o
dm1fYnVpbGQuYwlUdWUgTWF5IDIyIDIxOjA3OjI3IDIwMTIgLTA0MDAKQEAgLTQ5LDYgKzQ5LDQw
IEBACiAjZGVmaW5lIE5SX1NQRUNJQUxfUEFHRVMgICAgIDgKICNkZWZpbmUgc3BlY2lhbF9wZm4o
eCkgKDB4ZmYwMDB1IC0gTlJfU1BFQ0lBTF9QQUdFUyArICh4KSkKIAorc3RhdGljIGludCBtb2R1
bGVzX2luaXQoc3RydWN0IHhjX2h2bV9idWlsZF9hcmdzICphcmdzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDY0X3QgdmVuZCwgc3RydWN0IGVsZl9iaW5hcnkgKmVsZiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ2NF90ICptc3RhcnRfb3V0LCB1aW50NjRfdCAqbWVuZF9vdXQp
Cit7CisjZGVmaW5lIE1PRFVMRV9BTElHTiAxVUwgPDwgNworI2RlZmluZSBNQl9BTElHTiAgICAg
MVVMIDw8IDIwCisjZGVmaW5lIE1LQUxJR04oeCwgYSkgKCgodWludDY0X3QpKHgpICsgKGEpIC0g
MSkgJiB+KHVpbnQ2NF90KSgoYSkgLSAxKSkKKyAgICB1aW50NjRfdCB0b3RhbF9sZW4gPSAwLCBv
ZmZzZXQxID0gMDsKKworICAgIGlmICggKGFyZ3MtPmFjcGlfbW9kdWxlLmxlbmd0aCA9PSAwKSYm
KGFyZ3MtPnNtYmlvc19tb2R1bGUubGVuZ3RoID09IDApICkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICAvKiBGaW5kIHRoZSB0b3RhbCBsZW5ndGggZm9yIHRoZSBmaXJtd2FyZSBtb2R1bGVzIHdp
dGggYSByZWFzb25hYmxlIGxhcmdlCisgICAgICogYWxpZ25tZW50IHNpemUgdG8gYWxpZ24gZWFj
aCB0aGUgbW9kdWxlcy4KKyAgICAgKi8KKyAgICB0b3RhbF9sZW4gPSBNS0FMSUdOKGFyZ3MtPmFj
cGlfbW9kdWxlLmxlbmd0aCwgTU9EVUxFX0FMSUdOKTsKKyAgICBvZmZzZXQxID0gdG90YWxfbGVu
OworICAgIHRvdGFsX2xlbiArPSBNS0FMSUdOKGFyZ3MtPnNtYmlvc19tb2R1bGUubGVuZ3RoLCBN
T0RVTEVfQUxJR04pOworCisgICAgLyogV2FudCB0byBwbGFjZSB0aGUgbW9kdWxlcyAxTWIrY2hh
bmdlIGJlaGluZCB0aGUgbG9hZGVyIGltYWdlLiAqLworICAgICptc3RhcnRfb3V0ID0gTUtBTElH
TihlbGYtPnBlbmQsIE1CX0FMSUdOKSArIChNQl9BTElHTik7CisgICAgKm1lbmRfb3V0ID0gKm1z
dGFydF9vdXQgKyB0b3RhbF9sZW47CisKKyAgICBpZiAoICptZW5kX291dCA+IHZlbmQgKSAgICAK
KyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKCBhcmdzLT5hY3BpX21vZHVsZS5sZW5ndGgg
IT0gMCApCisgICAgICAgIGFyZ3MtPmFjcGlfbW9kdWxlLmd1ZXN0X2FkZHJfb3V0ID0gKm1zdGFy
dF9vdXQ7CisgICAgaWYgKCBhcmdzLT5zbWJpb3NfbW9kdWxlLmxlbmd0aCAhPSAwICkKKyAgICAg
ICAgYXJncy0+c21iaW9zX21vZHVsZS5ndWVzdF9hZGRyX291dCA9ICptc3RhcnRfb3V0ICsgb2Zm
c2V0MTsKKworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZCBidWlsZF9odm1faW5mbyh2
b2lkICpodm1faW5mb19wYWdlLCB1aW50NjRfdCBtZW1fc2l6ZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ2NF90IG1taW9fc3RhcnQsIHVpbnQ2NF90IG1taW9fc2l6ZSkKIHsKQEAg
LTg2LDkgKzEyMCw4IEBAIHN0YXRpYyB2b2lkIGJ1aWxkX2h2bV9pbmZvKHZvaWQgKmh2bV9pbmYK
ICAgICBodm1faW5mby0+Y2hlY2tzdW0gPSAtc3VtOwogfQogCi1zdGF0aWMgaW50IGxvYWRlbGZp
bWFnZSgKLSAgICB4Y19pbnRlcmZhY2UgKnhjaCwKLSAgICBzdHJ1Y3QgZWxmX2JpbmFyeSAqZWxm
LCB1aW50MzJfdCBkb20sIHVuc2lnbmVkIGxvbmcgKnBhcnJheSkKK3N0YXRpYyBpbnQgbG9hZGVs
ZmltYWdlKHhjX2ludGVyZmFjZSAqeGNoLCBzdHJ1Y3QgZWxmX2JpbmFyeSAqZWxmLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9tLCB1bnNpZ25lZCBsb25nICpwYXJyYXkpCiB7
CiAgICAgcHJpdmNtZF9tbWFwX2VudHJ5X3QgKmVudHJpZXMgPSBOVUxMOwogICAgIHVuc2lnbmVk
IGxvbmcgcGZuX3N0YXJ0ID0gZWxmLT5wc3RhcnQgPj4gUEFHRV9TSElGVDsKQEAgLTEyNiw2ICsx
NTksNjYgQEAgc3RhdGljIGludCBsb2FkZWxmaW1hZ2UoCiAgICAgcmV0dXJuIHJjOwogfQogCitz
dGF0aWMgaW50IGxvYWRtb2R1bGVzKHhjX2ludGVyZmFjZSAqeGNoLAorICAgICAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MsCisgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ2NF90IG1zdGFydCwgdWludDY0X3QgbWVuZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QgZG9tLCB1bnNpZ25lZCBsb25nICpwYXJyYXkpCit7CisgICAgcHJpdmNt
ZF9tbWFwX2VudHJ5X3QgKmVudHJpZXMgPSBOVUxMOworICAgIHVuc2lnbmVkIGxvbmcgcGZuX3N0
YXJ0OworICAgIHVuc2lnbmVkIGxvbmcgcGZuX2VuZDsKKyAgICBzaXplX3QgcGFnZXM7CisgICAg
dWludDMyX3QgaTsKKyAgICB1aW50OF90ICpkZXN0OworICAgIGludCByYyA9IC0xOworCisgICAg
aWYgKCAobXN0YXJ0ID09IDApfHwobWVuZCA9PSAwKSApCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcGZuX3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpKG1zdGFydCA+PiBQQUdFX1NISUZUKTsKKyAg
ICBwZm5fZW5kID0gKHVuc2lnbmVkIGxvbmcpKChtZW5kICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFH
RV9TSElGVCk7CisgICAgcGFnZXMgPSBwZm5fZW5kIC0gcGZuX3N0YXJ0OworCisgICAgLyogTWFw
IGFkZHJlc3Mgc3BhY2UgZm9yIG1vZHVsZSBsaXN0LiAqLworICAgIGVudHJpZXMgPSBjYWxsb2Mo
cGFnZXMsIHNpemVvZihwcml2Y21kX21tYXBfZW50cnlfdCkpOworICAgIGlmICggZW50cmllcyA9
PSBOVUxMICkKKyAgICAgICAgZ290byBlcnJvcl9vdXQ7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8
IHBhZ2VzOyBpKysgKQorICAgICAgICBlbnRyaWVzW2ldLm1mbiA9IHBhcnJheVsobXN0YXJ0ID4+
IFBBR0VfU0hJRlQpICsgaV07CisKKyAgICBkZXN0ID0geGNfbWFwX2ZvcmVpZ25fcmFuZ2VzKAor
ICAgICAgICB4Y2gsIGRvbSwgcGFnZXMgPDwgUEFHRV9TSElGVCwgUFJPVF9SRUFEIHwgUFJPVF9X
UklURSwgMSA8PCBQQUdFX1NISUZULAorICAgICAgICBlbnRyaWVzLCBwYWdlcyk7CisgICAgaWYg
KCBkZXN0ID09IE5VTEwgKQorICAgICAgICBnb3RvIGVycm9yX291dDsKKworICAgIC8qIFplcm8g
dGhlIHJhbmdlIHNvIHBhZGRpbmcgaXMgY2xlYXIgYmV0d2VlbiBtb2R1bGVzICovCisgICAgbWVt
c2V0KGRlc3QsIDAsIHBhZ2VzIDw8IFBBR0VfU0hJRlQpOworCisgICAgLyogTG9hZCBtb2R1bGVz
IGludG8gcmFuZ2UgKi8gICAgCisgICAgaWYgKCBhcmdzLT5hY3BpX21vZHVsZS5sZW5ndGggIT0g
MCApCisgICAgeworICAgICAgICBtZW1jcHkoZGVzdCwKKyAgICAgICAgICAgICAgIGFyZ3MtPmFj
cGlfbW9kdWxlLmRhdGEsCisgICAgICAgICAgICAgICBhcmdzLT5hY3BpX21vZHVsZS5sZW5ndGgp
OworICAgIH0KKyAgICBpZiAoIGFyZ3MtPnNtYmlvc19tb2R1bGUubGVuZ3RoICE9IDAgKQorICAg
IHsKKyAgICAgICAgbWVtY3B5KGRlc3QgKyAoYXJncy0+c21iaW9zX21vZHVsZS5ndWVzdF9hZGRy
X291dCAtIG1zdGFydCksCisgICAgICAgICAgICAgICBhcmdzLT5zbWJpb3NfbW9kdWxlLmRhdGEs
CisgICAgICAgICAgICAgICBhcmdzLT5zbWJpb3NfbW9kdWxlLmxlbmd0aCk7CisgICAgfQorCisg
ICAgbXVubWFwKGRlc3QsIHBhZ2VzIDw8IFBBR0VfU0hJRlQpOworICAgIHJjID0gMDsKKworIGVy
cm9yX291dDoKKyAgICBmcmVlKGVudHJpZXMpOworCisgICAgcmV0dXJuIHJjOworfQorCiAvKgog
ICogQ2hlY2sgd2hldGhlciB0aGVyZSBleGlzdHMgbW1pbyBob2xlIGluIHRoZSBzcGVjaWZpZWQg
bWVtb3J5IHJhbmdlLgogICogUmV0dXJucyAxIGlmIGV4aXN0cywgZWxzZSByZXR1cm5zIDAuCkBA
IC0xNDAsNyArMjMzLDcgQEAgc3RhdGljIGludCBjaGVja19tbWlvX2hvbGUodWludDY0X3Qgc3Rh
cgogfQogCiBzdGF0aWMgaW50IHNldHVwX2d1ZXN0KHhjX2ludGVyZmFjZSAqeGNoLAotICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb20sIGNvbnN0IHN0cnVjdCB4Y19odm1fYnVpbGRf
YXJncyAqYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9tLCBzdHJ1Y3Qg
eGNfaHZtX2J1aWxkX2FyZ3MgKmFyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmlt
YWdlLCB1bnNpZ25lZCBsb25nIGltYWdlX3NpemUpCiB7CiAgICAgeGVuX3Bmbl90ICpwYWdlX2Fy
cmF5ID0gTlVMTDsKQEAgLTE1Myw2ICsyNDYsNyBAQCBzdGF0aWMgaW50IHNldHVwX2d1ZXN0KHhj
X2ludGVyZmFjZSAqeGNoCiAgICAgdWludDMyX3QgKmlkZW50X3B0OwogICAgIHN0cnVjdCBlbGZf
YmluYXJ5IGVsZjsKICAgICB1aW50NjRfdCB2X3N0YXJ0LCB2X2VuZDsKKyAgICB1aW50NjRfdCBt
X3N0YXJ0ID0gMCwgbV9lbmQgPSAwOwogICAgIGludCByYzsKICAgICB4ZW5fY2FwYWJpbGl0aWVz
X2luZm9fdCBjYXBzOwogICAgIHVuc2lnbmVkIGxvbmcgc3RhdF9ub3JtYWxfcGFnZXMgPSAwLCBz
dGF0XzJtYl9wYWdlcyA9IDAsIApAQCAtMTc3LDEyICsyNzEsMjAgQEAgc3RhdGljIGludCBzZXR1
cF9ndWVzdCh4Y19pbnRlcmZhY2UgKnhjaAogICAgICAgICBQRVJST1IoIkNvdWxkIG5vdCBnZXQg
WGVuIGNhcGFiaWxpdGllcyIpOwogICAgICAgICBnb3RvIGVycm9yX291dDsKICAgICB9CisgICAg
CisgICAgaWYgKCBtb2R1bGVzX2luaXQoYXJncywgdl9lbmQsICZlbGYsICZtX3N0YXJ0LCAmbV9l
bmQpICE9IDAgKQorICAgIHsKKyAgICAgICAgRVJST1IoIkluc3VmZmljaWVudCBzcGFjZSB0byBs
b2FkIG1vZHVsZXMuIik7CisgICAgICAgIGdvdG8gZXJyb3Jfb3V0OworICAgIH0KIAogICAgIElQ
UklOVEYoIlZJUlRVQUwgTUVNT1JZIEFSUkFOR0VNRU5UOlxuIgogICAgICAgICAgICAgIiAgTG9h
ZGVyOiAgICAgICAgJTAxNiJQUkl4NjQiLT4lMDE2IlBSSXg2NCJcbiIKKyAgICAgICAgICAgICIg
IE1vZHVsZXM6ICAgICAgICUwMTYiUFJJeDY0Ii0+JTAxNiJQUkl4NjQiXG4iCiAgICAgICAgICAg
ICAiICBUT1RBTDogICAgICAgICAlMDE2IlBSSXg2NCItPiUwMTYiUFJJeDY0IlxuIgogICAgICAg
ICAgICAgIiAgRU5UUlkgQUREUkVTUzogJTAxNiJQUkl4NjQiXG4iLAogICAgICAgICAgICAgZWxm
LnBzdGFydCwgZWxmLnBlbmQsCisgICAgICAgICAgICBtX3N0YXJ0LCBtX2VuZCwKICAgICAgICAg
ICAgIHZfc3RhcnQsIHZfZW5kLAogICAgICAgICAgICAgZWxmX3V2YWwoJmVsZiwgZWxmLmVoZHIs
IGVfZW50cnkpKTsKIApAQCAtMzMwLDYgKzQzMiw5IEBAIHN0YXRpYyBpbnQgc2V0dXBfZ3Vlc3Qo
eGNfaW50ZXJmYWNlICp4Y2gKICAgICBpZiAoIGxvYWRlbGZpbWFnZSh4Y2gsICZlbGYsIGRvbSwg
cGFnZV9hcnJheSkgIT0gMCApCiAgICAgICAgIGdvdG8gZXJyb3Jfb3V0OwogCisgICAgaWYgKCBs
b2FkbW9kdWxlcyh4Y2gsIGFyZ3MsIG1fc3RhcnQsIG1fZW5kLCBkb20sIHBhZ2VfYXJyYXkpICE9
IDAgKQorICAgICAgICBnb3RvIGVycm9yX291dDsgICAgCisKICAgICBpZiAoIChodm1faW5mb19w
YWdlID0geGNfbWFwX2ZvcmVpZ25fcmFuZ2UoCiAgICAgICAgICAgICAgIHhjaCwgZG9tLCBQQUdF
X1NJWkUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCiAgICAgICAgICAgICAgIEhWTV9JTkZPX1BG
TikpID09IE5VTEwgKQpAQCAtNDA2LDcgKzUxMSw3IEBAIHN0YXRpYyBpbnQgc2V0dXBfZ3Vlc3Qo
eGNfaW50ZXJmYWNlICp4Y2gKICAqIENyZWF0ZSBhIGRvbWFpbiBmb3IgYSB2aXJ0dWFsaXplZCBM
aW51eCwgdXNpbmcgZmlsZXMvZmlsZW5hbWVzLgogICovCiBpbnQgeGNfaHZtX2J1aWxkKHhjX2lu
dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IHhjX2h2bV9idWlsZF9hcmdzICpodm1fYXJncykKKyAgICAgICAgICAgICAgICAgc3RydWN0
IHhjX2h2bV9idWlsZF9hcmdzICpodm1fYXJncykKIHsKICAgICBzdHJ1Y3QgeGNfaHZtX2J1aWxk
X2FyZ3MgYXJncyA9ICpodm1fYXJnczsKICAgICB2b2lkICppbWFnZTsKQEAgLTQzNCw2ICs1Mzks
MTUgQEAgaW50IHhjX2h2bV9idWlsZCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludAogCiAgICAgc3Rz
ID0gc2V0dXBfZ3Vlc3QoeGNoLCBkb21pZCwgJmFyZ3MsIGltYWdlLCBpbWFnZV9zaXplKTsKIAor
ICAgIGlmICghc3RzKQorICAgIHsKKyAgICAgICAgLyogUmV0dXJuIG1vZHVsZSBsb2FkIGFkZHJl
c3NlcyB0byBjYWxsZXIgKi8KKyAgICAgICAgaHZtX2FyZ3MtPmFjcGlfbW9kdWxlLmd1ZXN0X2Fk
ZHJfb3V0ID0gCisgICAgICAgICAgICBhcmdzLmFjcGlfbW9kdWxlLmd1ZXN0X2FkZHJfb3V0Owor
ICAgICAgICBodm1fYXJncy0+c21iaW9zX21vZHVsZS5ndWVzdF9hZGRyX291dCA9IAorICAgICAg
ICAgICAgYXJncy5zbWJpb3NfbW9kdWxlLmd1ZXN0X2FkZHJfb3V0OworICAgIH0KKwogICAgIGZy
ZWUoaW1hZ2UpOwogCiAgICAgcmV0dXJuIHN0czsKQEAgLTQ1NCw2ICs1NjgsNyBAQCBpbnQgeGNf
aHZtX2J1aWxkX3RhcmdldF9tZW0oeGNfaW50ZXJmYWNlCiB7CiAgICAgc3RydWN0IHhjX2h2bV9i
dWlsZF9hcmdzIGFyZ3MgPSB7fTsKIAorICAgIG1lbXNldCgmYXJncywgMCwgc2l6ZW9mKHN0cnVj
dCB4Y19odm1fYnVpbGRfYXJncykpOwogICAgIGFyZ3MubWVtX3NpemUgPSAodWludDY0X3QpbWVt
c2l6ZSA8PCAyMDsKICAgICBhcmdzLm1lbV90YXJnZXQgPSAodWludDY0X3QpdGFyZ2V0IDw8IDIw
OwogICAgIGFyZ3MuaW1hZ2VfZmlsZV9uYW1lID0gaW1hZ2VfbmFtZTsKZGlmZiAtciA5NGU3MDI3
NmI5NGQgdG9vbHMvbGlieGMveGVuZ3Vlc3QuaAotLS0gYS90b29scy9saWJ4Yy94ZW5ndWVzdC5o
CVR1ZSBNYXkgMjIgMjE6MDQ6MjUgMjAxMiAtMDQwMAorKysgYi90b29scy9saWJ4Yy94ZW5ndWVz
dC5oCVR1ZSBNYXkgMjIgMjE6MDc6MjcgMjAxMiAtMDQwMApAQCAtMjExLDExICsyMTEsMjMgQEAg
aW50IHhjX2xpbnV4X2J1aWxkX21lbSh4Y19pbnRlcmZhY2UgKnhjaAogICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgY29uc29sZV9ldnRjaG4sCiAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgKmNvbnNvbGVfbWZuKTsKIAorc3RydWN0IHhjX2h2bV9maXJtd2Fy
ZV9tb2R1bGUgeworICAgIHVpbnQ4X3QgICpkYXRhOworICAgIHVpbnQzMl90ICBsZW5ndGg7Cisg
ICAgdWludDY0X3QgIGd1ZXN0X2FkZHJfb3V0OworfTsKKwogc3RydWN0IHhjX2h2bV9idWlsZF9h
cmdzIHsKICAgICB1aW50NjRfdCBtZW1fc2l6ZTsgICAgICAgICAgIC8qIE1lbW9yeSBzaXplIGlu
IGJ5dGVzLiAqLwogICAgIHVpbnQ2NF90IG1lbV90YXJnZXQ7ICAgICAgICAgLyogTWVtb3J5IHRh
cmdldCBpbiBieXRlcy4gKi8KICAgICB1aW50NjRfdCBtbWlvX3NpemU7ICAgICAgICAgIC8qIFNp
emUgb2YgdGhlIE1NSU8gaG9sZSBpbiBieXRlcy4gKi8KICAgICBjb25zdCBjaGFyICppbWFnZV9m
aWxlX25hbWU7IC8qIEZpbGUgbmFtZSBvZiB0aGUgaW1hZ2UgdG8gbG9hZC4gKi8KKworICAgIC8q
IEV4dHJhIEFDUEkgdGFibGVzIHBhc3NlZCB0byBIVk1MT0FERVIgKi8KKyAgICBzdHJ1Y3QgeGNf
aHZtX2Zpcm13YXJlX21vZHVsZSBhY3BpX21vZHVsZTsKKworICAgIC8qIEV4dHJhIFNNQklPUyBz
dHJ1Y3R1cmVzIHBhc3NlZCB0byBIVk1MT0FERVIgKi8KKyAgICBzdHJ1Y3QgeGNfaHZtX2Zpcm13
YXJlX21vZHVsZSBzbWJpb3NfbW9kdWxlOwogfTsKIAogLyoqCkBAIC0yMjgsNyArMjQwLDcgQEAg
c3RydWN0IHhjX2h2bV9idWlsZF9hcmdzIHsKICAqIGFyZSBvcHRpb25hbC4KICAqLwogaW50IHhj
X2h2bV9idWlsZCh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCi0gICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCB4Y19odm1fYnVpbGRfYXJncyAqaHZtX2FyZ3MpOworICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgeGNfaHZtX2J1aWxkX2FyZ3MgKmh2bV9hcmdzKTsKIAogaW50IHhj
X2h2bV9idWlsZF90YXJnZXRfbWVtKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLApkaWZmIC1yIDk0ZTcwMjc2Yjk0ZCB0b29scy9s
aWJ4Yy94Z19wcml2YXRlLmMKLS0tIGEvdG9vbHMvbGlieGMveGdfcHJpdmF0ZS5jCVR1ZSBNYXkg
MjIgMjE6MDQ6MjUgMjAxMiAtMDQwMAorKysgYi90b29scy9saWJ4Yy94Z19wcml2YXRlLmMJVHVl
IE1heSAyMiAyMTowNzoyNyAyMDEyIC0wNDAwCkBAIC0xOTIsNyArMTkyLDcgQEAgdW5zaWduZWQg
bG9uZyBjc3VtX3BhZ2Uodm9pZCAqcGFnZSkKIF9fYXR0cmlidXRlX18oKHdlYWspKSAKICAgICBp
bnQgeGNfaHZtX2J1aWxkKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAgICAg
dWludDMyX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgeGNfaHZt
X2J1aWxkX2FyZ3MgKmh2bV9hcmdzKQorICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2h2
bV9idWlsZF9hcmdzICpodm1fYXJncykKIHsKICAgICBlcnJubyA9IEVOT1NZUzsKICAgICByZXR1
cm4gLTE7Cg==

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_831D55AF5A11D64C9B4B43F59EEBF720A10E639BBDFTLPMAILBOX02_--


From xen-devel-bounces@lists.xen.org Wed May 23 14:42:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:42:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXClE-0002gX-EG; Wed, 23 May 2012 14:42:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXClD-0002gO-F5
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:41:59 +0000
Received: from [85.158.143.35:17623] by server-2.bemta-4.messagelabs.com id
	CA/26-12211-637FCBF4; Wed, 23 May 2012 14:41:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337784116!6489055!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 836 invoked from network); 23 May 2012 14:41:57 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 14:41:57 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NEfrIA019792
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 14:41:53 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NEfq2l020374
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 14:41:52 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NEfqBe006046; Wed, 23 May 2012 09:41:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 07:41:52 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1D12F402FB; Wed, 23 May 2012 10:35:21 -0400 (EDT)
Date: Wed, 23 May 2012 10:35:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: eva <evammg@gmail.com>
Message-ID: <20120523143521.GA25529@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
	<CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 12:22:26PM +0200, eva wrote:
> On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> >
> > > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> > >
> > > and it's a git repository.. And yes, I haven't applied a patch in ages..
> > >
> > > So to end this issue with my ATI card, how do I apply this patch with git?
> > >
> > > I haven't done it before, and googling it says maybe with "git clone"
> > > or "git apply", but there's no luck with any.. (see attachment)
> > >
> > > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> > > Kernel 3.2.
> >
> > What is the ATI problem you have? The vga patch is for VGA "text" mode
> > not for graphical.
> >
> 
> Hello, sorry for the delay. I wanted to do a bit more of a research.
> 
> I have tried so many things I can't even remember, but I couldn't make
> work dom0 with Ubuntu 12.04 on this server.
> 
> I reported a bug some time ago on launchpad, and I have just updated it
> 
> https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124

You need to attach the full serial console. Here are some
links to help you get that information:

http://wiki.xen.org/wiki/XenParavirtOps#I_have_graphics_card_.28DRM.2FTTM.2FKMS.2FXorg.29_related_problems_with_the_pv_ops_dom0_kernel..

http://wiki.xen.org/wiki/XenSerialConsole
> 
> Also I have found it's been reported a bug for the ATI card..
> 
> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562

Which talks about not doing 3D rendering. That is expected
on ATI ES1000 which can't do 3D rendering. It can only do 2D.

But that is not the problem you are describing? In your case the machine
crashes, right?

> 
> It says exactly the same things in the log file of Xorg.
> 
> ---
> 
> I describe the problem: when loading Ubuntu normally the graphical
> performance is not very good, but it's ok. But when trying to load
> dom0 the GUI completely crashes.

crashes.. In what way? What do you see on the screen? What is in your
serial console? Is the machine still running? Can you SSH in it?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:42:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:42:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXClE-0002gX-EG; Wed, 23 May 2012 14:42:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXClD-0002gO-F5
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:41:59 +0000
Received: from [85.158.143.35:17623] by server-2.bemta-4.messagelabs.com id
	CA/26-12211-637FCBF4; Wed, 23 May 2012 14:41:58 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1337784116!6489055!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 836 invoked from network); 23 May 2012 14:41:57 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 14:41:57 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NEfrIA019792
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 14:41:53 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NEfq2l020374
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 14:41:52 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NEfqBe006046; Wed, 23 May 2012 09:41:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 07:41:52 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1D12F402FB; Wed, 23 May 2012 10:35:21 -0400 (EDT)
Date: Wed, 23 May 2012 10:35:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: eva <evammg@gmail.com>
Message-ID: <20120523143521.GA25529@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
	<CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 12:22:26PM +0200, eva wrote:
> On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> >
> > > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> > >
> > > and it's a git repository.. And yes, I haven't applied a patch in ages..
> > >
> > > So to end this issue with my ATI card, how do I apply this patch with git?
> > >
> > > I haven't done it before, and googling it says maybe with "git clone"
> > > or "git apply", but there's no luck with any.. (see attachment)
> > >
> > > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> > > Kernel 3.2.
> >
> > What is the ATI problem you have? The vga patch is for VGA "text" mode
> > not for graphical.
> >
> 
> Hello, sorry for the delay. I wanted to do a bit more of a research.
> 
> I have tried so many things I can't even remember, but I couldn't make
> work dom0 with Ubuntu 12.04 on this server.
> 
> I reported a bug some time ago on launchpad, and I have just updated it
> 
> https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124

You need to attach the full serial console. Here are some
links to help you get that information:

http://wiki.xen.org/wiki/XenParavirtOps#I_have_graphics_card_.28DRM.2FTTM.2FKMS.2FXorg.29_related_problems_with_the_pv_ops_dom0_kernel..

http://wiki.xen.org/wiki/XenSerialConsole
> 
> Also I have found it's been reported a bug for the ATI card..
> 
> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562

Which talks about not doing 3D rendering. That is expected
on ATI ES1000 which can't do 3D rendering. It can only do 2D.

But that is not the problem you are describing? In your case the machine
crashes, right?

> 
> It says exactly the same things in the log file of Xorg.
> 
> ---
> 
> I describe the problem: when loading Ubuntu normally the graphical
> performance is not very good, but it's ok. But when trying to load
> dom0 the GUI completely crashes.

crashes.. In what way? What do you see on the screen? What is in your
serial console? Is the machine still running? Can you SSH in it?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:46:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:46:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCp2-0002s1-B6; Wed, 23 May 2012 14:45:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SXCp0-0002ru-Jm
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:45:54 +0000
Received: from [193.109.254.147:25290] by server-9.bemta-14.messagelabs.com id
	79/99-05787-128FCBF4; Wed, 23 May 2012 14:45:53 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337784326!9938854!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxMzc3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5143 invoked from network); 23 May 2012 14:45:27 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-13.tower-27.messagelabs.com with SMTP;
	23 May 2012 14:45:27 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 23 May 2012 07:45:26 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103341137"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 07:45:25 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 07:45:25 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 22:45:23 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "Hao, Xudong" <xudong.hao@intel.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q/9BrE4D/nkf9wA==
Date: Wed, 23 May 2012 14:45:23 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<4FBB5A8D0200007800085003@nat28.tlf.novell.com>
In-Reply-To: <4FBB5A8D0200007800085003@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Jan 
Okay,  I understand your concern about this implementation, and you think ltr/obff should be enabled by guest instead of host.   AS we know, LTR/OBFF is a special PCI-e feature for optimizing the whole system's  PM, and to enable it, the whole system(including root port and all upstream bridges or ports) should have these two capabilities. If anyone in this chain doesn't have or enable  these two capabilities, the whole system would fail to benefit from this optimized PM.   In addition, since Qemu doesn't have PCI-e support, and also hasn't such  LTR/OBFF capabilities supported,  guest shouldn't be able to enable this feature for its any device. 
Certainly, we can change linux's pci interface and para-virtualize this two features, in this way, guest can ask host to enable this feature, but how to handle Windows guest's case ?  We can't change or para-virtualize Windows's PCI interface, I think. Do you have good suggestion or proposals?  Thanks!
Xiantao




> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Tuesday, May 22, 2012 3:21 PM
> To: Zhang, Xiantao; Hao, Xudong
> Cc: xen-devel; Konrad Rzeszutek Wilk
> Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> >>> On 22.05.12 at 03:57, "Zhang, Xiantao" <xiantao.zhang@intel.com>
> wrote:
> >    Do you have further comments about this patch ?   Thanks!
> 
> I don't have anything beyond the reservations I have already expressed (and
> which remain in place).
> 
> Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:46:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:46:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCp2-0002s1-B6; Wed, 23 May 2012 14:45:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SXCp0-0002ru-Jm
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:45:54 +0000
Received: from [193.109.254.147:25290] by server-9.bemta-14.messagelabs.com id
	79/99-05787-128FCBF4; Wed, 23 May 2012 14:45:53 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337784326!9938854!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxMzc3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5143 invoked from network); 23 May 2012 14:45:27 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-13.tower-27.messagelabs.com with SMTP;
	23 May 2012 14:45:27 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 23 May 2012 07:45:26 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103341137"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 07:45:25 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 07:45:25 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 22:45:23 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "Hao, Xudong" <xudong.hao@intel.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q/9BrE4D/nkf9wA==
Date: Wed, 23 May 2012 14:45:23 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<4FBB5A8D0200007800085003@nat28.tlf.novell.com>
In-Reply-To: <4FBB5A8D0200007800085003@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Jan 
Okay,  I understand your concern about this implementation, and you think ltr/obff should be enabled by guest instead of host.   AS we know, LTR/OBFF is a special PCI-e feature for optimizing the whole system's  PM, and to enable it, the whole system(including root port and all upstream bridges or ports) should have these two capabilities. If anyone in this chain doesn't have or enable  these two capabilities, the whole system would fail to benefit from this optimized PM.   In addition, since Qemu doesn't have PCI-e support, and also hasn't such  LTR/OBFF capabilities supported,  guest shouldn't be able to enable this feature for its any device. 
Certainly, we can change linux's pci interface and para-virtualize this two features, in this way, guest can ask host to enable this feature, but how to handle Windows guest's case ?  We can't change or para-virtualize Windows's PCI interface, I think. Do you have good suggestion or proposals?  Thanks!
Xiantao




> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Tuesday, May 22, 2012 3:21 PM
> To: Zhang, Xiantao; Hao, Xudong
> Cc: xen-devel; Konrad Rzeszutek Wilk
> Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> >>> On 22.05.12 at 03:57, "Zhang, Xiantao" <xiantao.zhang@intel.com>
> wrote:
> >    Do you have further comments about this patch ?   Thanks!
> 
> I don't have anything beyond the reservations I have already expressed (and
> which remain in place).
> 
> Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:50:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCtj-00031D-25; Wed, 23 May 2012 14:50:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SXCth-000317-0M
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:50:45 +0000
Received: from [85.158.138.51:6641] by server-9.bemta-3.messagelabs.com id
	C6/AB-11033-449FCBF4; Wed, 23 May 2012 14:50:44 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337784642!28687399!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxMzc3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12470 invoked from network); 23 May 2012 14:50:43 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-174.messagelabs.com with SMTP;
	23 May 2012 14:50:43 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 23 May 2012 07:50:42 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103342877"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 07:50:42 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 07:50:41 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 22:50:40 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q/8+NhwD/nWPxIA==
Date: Wed, 23 May 2012 14:50:39 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A48345644156A0E@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<20120522203414.GA18877@phenom.dumpdata.com>
In-Reply-To: <20120522203414.GA18877@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Hao, Xudong" <xudong.hao@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 4:34 AM
> To: Zhang, Xiantao
> Cc: Hao, Xudong; Jan Beulich; xen-devel
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> On Tue, May 22, 2012 at 01:57:44AM +0000, Zhang, Xiantao wrote:
> > Hi, Jan/Konrad
> >    Do you have further comments about this patch ?   Thanks!
> 
> Well .. What about making this be in the generic code? That way both KVM
> and Xen can benefit? And also then the default values don't have to show up
> in two places.

Good point! Maybe we can merge the implementations for Xen and KVM, and pci-stub driver maybe the proper place for accommodating such logic, I think.  Thanks!  
Xiantao



> > Xiantao
> >
> > > -----Original Message-----
> > > From: Hao, Xudong
> > > Sent: Wednesday, May 09, 2012 2:26 PM
> > > To: Jan Beulich; Konrad Rzeszutek Wilk
> > > Cc: xen-devel; Zhang, Xiantao
> > > Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device
> > > is owned by pciback
> > >
> > > > -----Original Message-----
> > > > From: Jan Beulich [mailto:JBeulich@suse.com]
> > > > Sent: Tuesday, May 08, 2012 5:42 PM
> > > > To: Hao, Xudong; Konrad Rzeszutek Wilk
> > > > Cc: xen-devel
> > > > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device
> > > > is owned by pciback
> > > >
> > > > >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com>
> wrote:
> > > > >>  -----Original Message-----
> > > > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] On
> > > > >> Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> > > > >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > > >> > > Don't you need to disable this when the device is
> > > > >> > > un-assigned from the
> > > > >> guest?
> > > > >> > >
> > > > >> >
> > > > >> > I don't think this need to be disabled when device is
> > > > >> > un-assigned from
> > > > > guest.
> > > > >> If host want to use device again, the host device driver need
> > > > >> re-load, so whether disabling ltr/obff is up to host device driver.
> > > > >>
> > > > >> What if the driver isn't doing that?
> > > > >
> > > > > Make it clear, here host side do not be considered, host has its
> > > > > own
> > > driver.
> > > > > The only thing is to make sure ltr/obff is enabled before
> > > > > assigning guest, so that benefit on power.
> > > > >
> > > > > Since device is owned by pciback again when it un-assigned from
> > > > > guest, we need not disable explicitly.
> > > >
> > > > As you didn't answer my respective earlier question - _if_ this is
> > > > a feature needing enabling (and parameter tweaking), I'd imply
> > > > there are possible incompatibilities (i.e. reasons for not
> > > > enabling this always), and hence this shouldn't be done
> > > > universally (and with fixed values for the parameters) _and_ should be
> properly reset.
> > > >
> > > Only Xen administrator can hide a device by pciback, and can assign
> > > a device to guest. These power feature such as ltr and obff should
> > > be enabled by a sys-admin, I do not know which situation is a
> > > possible disabling these features, and why sys-admin want to disable
> them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:50:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCtj-00031D-25; Wed, 23 May 2012 14:50:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SXCth-000317-0M
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:50:45 +0000
Received: from [85.158.138.51:6641] by server-9.bemta-3.messagelabs.com id
	C6/AB-11033-449FCBF4; Wed, 23 May 2012 14:50:44 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337784642!28687399!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxMzc3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12470 invoked from network); 23 May 2012 14:50:43 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-174.messagelabs.com with SMTP;
	23 May 2012 14:50:43 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 23 May 2012 07:50:42 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103342877"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 07:50:42 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 07:50:41 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 23 May 2012 22:50:40 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q/8+NhwD/nWPxIA==
Date: Wed, 23 May 2012 14:50:39 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A48345644156A0E@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<20120522203414.GA18877@phenom.dumpdata.com>
In-Reply-To: <20120522203414.GA18877@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Hao, Xudong" <xudong.hao@intel.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 4:34 AM
> To: Zhang, Xiantao
> Cc: Hao, Xudong; Jan Beulich; xen-devel
> Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> On Tue, May 22, 2012 at 01:57:44AM +0000, Zhang, Xiantao wrote:
> > Hi, Jan/Konrad
> >    Do you have further comments about this patch ?   Thanks!
> 
> Well .. What about making this be in the generic code? That way both KVM
> and Xen can benefit? And also then the default values don't have to show up
> in two places.

Good point! Maybe we can merge the implementations for Xen and KVM, and pci-stub driver maybe the proper place for accommodating such logic, I think.  Thanks!  
Xiantao



> > Xiantao
> >
> > > -----Original Message-----
> > > From: Hao, Xudong
> > > Sent: Wednesday, May 09, 2012 2:26 PM
> > > To: Jan Beulich; Konrad Rzeszutek Wilk
> > > Cc: xen-devel; Zhang, Xiantao
> > > Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device
> > > is owned by pciback
> > >
> > > > -----Original Message-----
> > > > From: Jan Beulich [mailto:JBeulich@suse.com]
> > > > Sent: Tuesday, May 08, 2012 5:42 PM
> > > > To: Hao, Xudong; Konrad Rzeszutek Wilk
> > > > Cc: xen-devel
> > > > Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device
> > > > is owned by pciback
> > > >
> > > > >>> On 08.05.12 at 11:05, "Hao, Xudong" <xudong.hao@intel.com>
> wrote:
> > > > >>  -----Original Message-----
> > > > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] On
> > > > >> Sun, May 06, 2012 at 07:35:47AM +0000, Hao, Xudong wrote:
> > > > >> > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > > >> > > Don't you need to disable this when the device is
> > > > >> > > un-assigned from the
> > > > >> guest?
> > > > >> > >
> > > > >> >
> > > > >> > I don't think this need to be disabled when device is
> > > > >> > un-assigned from
> > > > > guest.
> > > > >> If host want to use device again, the host device driver need
> > > > >> re-load, so whether disabling ltr/obff is up to host device driver.
> > > > >>
> > > > >> What if the driver isn't doing that?
> > > > >
> > > > > Make it clear, here host side do not be considered, host has its
> > > > > own
> > > driver.
> > > > > The only thing is to make sure ltr/obff is enabled before
> > > > > assigning guest, so that benefit on power.
> > > > >
> > > > > Since device is owned by pciback again when it un-assigned from
> > > > > guest, we need not disable explicitly.
> > > >
> > > > As you didn't answer my respective earlier question - _if_ this is
> > > > a feature needing enabling (and parameter tweaking), I'd imply
> > > > there are possible incompatibilities (i.e. reasons for not
> > > > enabling this always), and hence this shouldn't be done
> > > > universally (and with fixed values for the parameters) _and_ should be
> properly reset.
> > > >
> > > Only Xen administrator can hide a device by pciback, and can assign
> > > a device to guest. These power feature such as ltr and obff should
> > > be enabled by a sys-admin, I do not know which situation is a
> > > possible disabling these features, and why sys-admin want to disable
> them?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:54:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCxa-0003Bd-SK; Wed, 23 May 2012 14:54:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SXCxZ-0003BY-Ms
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:54:46 +0000
Received: from [85.158.143.99:35981] by server-3.bemta-4.messagelabs.com id
	40/4A-05853-53AFCBF4; Wed, 23 May 2012 14:54:45 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337784881!24160217!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4035 invoked from network); 23 May 2012 14:54:43 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:54:43 -0000
Received: by dadv2 with SMTP id v2so10365439dad.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 07:54:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=0E+83TdH+2AkQ4cE12WKtdabE60ITszna/f8towC0Vw=;
	b=WVdJY6lNxYu0pwiPEtx1itc4xScr5hzPQEZH4s3YEX5hd3c8uZakkLGA14E1UK5yYg
	8qku6h9GeHtjmx/PPJaFpR/J42cIOxxFpprZ2U0vZVnzMFrfLazkxFyLIE68xEgf8PvK
	RRz+sybdW/btVYlo37XjOPm8+F6xX087VW3YQhnNyryXIx9aXRiVubWvIJj20toyEnbr
	A9tdLcp9C+3CHcXOnrLkpqbm+34IA1uz2Rrwuw8QmnaLFYeZXXUQQ2An3iwdyuQ1BJmB
	fV+ZobD6oaQCSX9R27RIgCqYMNiWLOz0H4XnzKMU2LLN2FP5q/b7Lv93hA7W3VZFPlye
	/abg==
MIME-Version: 1.0
Received: by 10.68.212.229 with SMTP id nn5mr11133552pbc.29.1337784880474;
	Wed, 23 May 2012 07:54:40 -0700 (PDT)
Received: by 10.68.42.41 with HTTP; Wed, 23 May 2012 07:54:40 -0700 (PDT)
In-Reply-To: <CAEwRVpPu=8h-M30RO0J1OYg0e6ZR9QA_NTOogoh0M6dg_Yj-Zg@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
	<CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
	<1337765821.30233.7.camel@zakaz.uk.xensource.com>
	<CAEwRVpPu=8h-M30RO0J1OYg0e6ZR9QA_NTOogoh0M6dg_Yj-Zg@mail.gmail.com>
Date: Wed, 23 May 2012 22:54:40 +0800
Message-ID: <CAEwRVpO-Vs3QTV8x04EN14=ZyAnjbchxyu=mP-qENNN+e2-utg@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 9:04 PM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Wed, May 23, 2012 at 5:37 PM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> On Wed, 2012-05-23 at 03:22 +0100, Teck Choon Giam wrote:
>>
>>> >
>>> > I think the reason this effects xm and not xl is that libxl uses
>>> > script=3Dnone to disable qemu-ifup while xend does not and instead en=
ds up
>>> > using qemu-ifup which does some fiddling with the device too, includi=
ng
>>> > bringing it up.
>>>
>>> Ok, so default for xend is using script=3Dqemu-ifup if script is not
>>> set? =A0Am I right about this?
>>
>> Yes.
>
> Thanks for clarifying.
>
>>
>>> > The proper fix is probably to change xend, I'm a bit wary of this,
>>> > especially for a 4.1 backport, but the following looks right and works
>>> > for me. It's a bit more complex since in libxl we seem to only do this
>>> > for Linux (i.e. not NetBSD) and I guess we should do the same in xend
>>> > too.
>>>
>>> Err... if we are going to change default behaviour will we be
>>> affecting those users who is upgrading from xen-4.1 to xen-4.2?
>>
>> This was already a deliberate change made in xl, it does not effect the
>> guest config, only the mechanisms by which that configuration is
>> achieved. I think extending this to xend in order not to break xend in
>> 4.2 is worthwhile.
>
> Noted.
>
>>
>> I don't think we should be backporting any of this to 4.1 though.
>
> You mean your tap to -emu patch series including the latest fix patch
> you posted shouldn't be backporting to 4.1? =A0If this is so, I am fine
> since there isn't much difference for me as personally I kept few
> custom patches in own xen packages. =A0Of course whatever get into
> upstream is better though :p

Just an update.  I have run my tests with your fix patch in
xen-unstable changeset 25386:340062faf298 and all are working fine.

Thanks again.

Kindest regards,
Giam Teck Choon


>
>>
>>> If your fix patch is going into xen-unstable for sure, I will re-run
>>> my tests by then. =A0I hope it doesn't affect current domUs
>>> configuration (I mean we shouldn't need to change domU configuration)
>>> especially when users prefer to use xm then xl in xen-4.2.
>>
>> There should be no guest config change necessary.
>
> Noted.
>
>>
>> Ian.
>
> Thanks for taking time to provide fix and responses.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>
>>>
>>> Thanks.
>>>
>>> Kindest regards,
>>> Giam Teck Choon
>>>
>>>
>>> >
>>> > Ian
>>> >
>>> > # HG changeset patch
>>> > # User Ian Campbell <ian.campbell@citrix.com>
>>> > # Date 1337692747 -3600
>>> > # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
>>> > # Parent =A072ca5bc4eb6b91fa8dff51d439bd05f5586179df
>>> > xend: do not run a hotplug script from qemu on Linux
>>> >
>>> > The current vif-hotplug-common.sh for renaming the tap device is fail=
ing
>>> > because it is racing with this script and therefore the device is une=
xpectedly
>>> > up when we come to rename it.
>>> >
>>> > Fix this in the same way as libxl does, by disabling the script (only=
 on
>>> > Linux).
>>> >
>>> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>>> >
>>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
>>> > --- a/tools/python/xen/xend/image.py =A0 =A0Tue May 22 11:29:50 2012 =
+0100
>>> > +++ b/tools/python/xen/xend/image.py =A0 =A0Tue May 22 14:19:07 2012 =
+0100
>>> > @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
>>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>>> > =A0 =A0 =A0 =A0 =A0 =A0 vifname =3D "vif%d.%d-emu" % (self.vm.getDomi=
d(), nics-1)
>>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> > - =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>>> > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge))
>>> > + =A0 =A0 =A0 =A0 =A0 =A0if osdep.tapif_script is not None:
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D",script=3D%s,downscript=3D=
%s" % \
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(osdep.tapif_script,=
 osdep.tapif_script)
>>> > + =A0 =A0 =A0 =A0 =A0 =A0else:
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D""
>>> > + =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s%s" %
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge,=
 script))
>>> >
>>> > =A0 =A0 =A0 =A0 if nics =3D=3D 0:
>>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
>>> > --- a/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 11:29:50 2012 =
+0100
>>> > +++ b/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 14:19:07 2012 =
+0100
>>> > @@ -30,6 +30,10 @@ _vif_script =3D {
>>> > =A0 =A0 "SunOS": "vif-vnic"
>>> > =A0}
>>> >
>>> > +_tapif_script =3D {
>>> > + =A0 =A0"Linux": "no",
>>> > +}
>>> > +
>>> > =A0PROC_XEN_BALLOON =3D '/proc/xen/balloon'
>>> > =A0SYSFS_XEN_MEMORY =3D '/sys/devices/system/xen_memory/xen_memory0'
>>> >
>>> > @@ -257,6 +261,7 @@ def _get(var, default=3DNone):
>>> >
>>> > =A0xend_autorestart =3D _get(_xend_autorestart)
>>> > =A0vif_script =3D _get(_vif_script, "vif-bridge")
>>> > +tapif_script =3D _get(_tapif_script)
>>> > =A0lookup_balloon_stat =3D _get(_balloon_stat, _linux_balloon_stat)
>>> > =A0get_cpuinfo =3D _get(_get_cpuinfo, _linux_get_cpuinfo)
>>> > =A0prefork =3D _get(_get_prefork, _default_prefork)
>>> >
>>> >
>>
>>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 14:54:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 14:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXCxa-0003Bd-SK; Wed, 23 May 2012 14:54:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <giamteckchoon@gmail.com>) id 1SXCxZ-0003BY-Ms
	for xen-devel@lists.xen.org; Wed, 23 May 2012 14:54:46 +0000
Received: from [85.158.143.99:35981] by server-3.bemta-4.messagelabs.com id
	40/4A-05853-53AFCBF4; Wed, 23 May 2012 14:54:45 +0000
X-Env-Sender: giamteckchoon@gmail.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337784881!24160217!1
X-Originating-IP: [209.85.210.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4035 invoked from network); 23 May 2012 14:54:43 -0000
Received: from mail-pz0-f45.google.com (HELO mail-pz0-f45.google.com)
	(209.85.210.45)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 14:54:43 -0000
Received: by dadv2 with SMTP id v2so10365439dad.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 07:54:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=0E+83TdH+2AkQ4cE12WKtdabE60ITszna/f8towC0Vw=;
	b=WVdJY6lNxYu0pwiPEtx1itc4xScr5hzPQEZH4s3YEX5hd3c8uZakkLGA14E1UK5yYg
	8qku6h9GeHtjmx/PPJaFpR/J42cIOxxFpprZ2U0vZVnzMFrfLazkxFyLIE68xEgf8PvK
	RRz+sybdW/btVYlo37XjOPm8+F6xX087VW3YQhnNyryXIx9aXRiVubWvIJj20toyEnbr
	A9tdLcp9C+3CHcXOnrLkpqbm+34IA1uz2Rrwuw8QmnaLFYeZXXUQQ2An3iwdyuQ1BJmB
	fV+ZobD6oaQCSX9R27RIgCqYMNiWLOz0H4XnzKMU2LLN2FP5q/b7Lv93hA7W3VZFPlye
	/abg==
MIME-Version: 1.0
Received: by 10.68.212.229 with SMTP id nn5mr11133552pbc.29.1337784880474;
	Wed, 23 May 2012 07:54:40 -0700 (PDT)
Received: by 10.68.42.41 with HTTP; Wed, 23 May 2012 07:54:40 -0700 (PDT)
In-Reply-To: <CAEwRVpPu=8h-M30RO0J1OYg0e6ZR9QA_NTOogoh0M6dg_Yj-Zg@mail.gmail.com>
References: <alpine.DEB.2.00.1204141534100.30192@vega-b.dur.ac.uk>
	<1334658395.23948.6.camel@zakaz.uk.xensource.com>
	<CAEwRVpP47=mKrcZ_5ATZga4wvkMaSysPh-BEfRorcxrCJ7W6pg@mail.gmail.com>
	<1334817587.11493.44.camel@dagon.hellion.org.uk>
	<1334912603.28331.2.camel@zakaz.uk.xensource.com>
	<20369.15528.270106.567037@mariner.uk.xensource.com>
	<1334918900.28331.47.camel@zakaz.uk.xensource.com>
	<20369.16555.46229.798603@mariner.uk.xensource.com>
	<1334919613.28331.53.camel@zakaz.uk.xensource.com>
	<20369.17085.330843.561841@mariner.uk.xensource.com>
	<1335347949.28015.19.camel@zakaz.uk.xensource.com>
	<20375.52677.287182.934829@mariner.uk.xensource.com>
	<1335348880.28015.24.camel@zakaz.uk.xensource.com>
	<1335358736.28015.41.camel@zakaz.uk.xensource.com>
	<20397.10224.96552.711065@mariner.uk.xensource.com>
	<CAEwRVpNjEBmaWcov5CJp16bN0zyFEXtTZTneR95rT9LVegAEXw@mail.gmail.com>
	<CAEwRVpM+BDJi-MgX2ZJoB38RHxz4c6D0ZuDOaaz6N=Lo1xKzXQ@mail.gmail.com>
	<CAEwRVpMZ1yN1wXkUxEVXjUm9ihQWMZJEn6XpDpxkH0mJ4nTwow@mail.gmail.com>
	<1336861837.3891.29.camel@dagon.hellion.org.uk>
	<CAEwRVpM_G-eTbYQyC0Hq0uasivopmgFtDK-FaM+JVDvQ=YsQAw@mail.gmail.com>
	<CAEwRVpPxx8EXE9hTrGiouqZcmkMo41McFa3gqWgUgpVhdeaeiw@mail.gmail.com>
	<1337603519.24660.116.camel@zakaz.uk.xensource.com>
	<CAEwRVpO8kU-XMF2j6De49XbK5FxnQmqShRX7+qYWTnBo7QE7yw@mail.gmail.com>
	<1337605458.24660.122.camel@zakaz.uk.xensource.com>
	<CAEwRVpP_E_PUwybTo85uBQrDSnH4_DOmf6NE1UZLsQ+hM843jA@mail.gmail.com>
	<1337692779.10118.126.camel@zakaz.uk.xensource.com>
	<CAEwRVpMMnr8XbO+R5tyBKrm1pn_M5vG8NFrmvVd148UG3FmC2w@mail.gmail.com>
	<1337765821.30233.7.camel@zakaz.uk.xensource.com>
	<CAEwRVpPu=8h-M30RO0J1OYg0e6ZR9QA_NTOogoh0M6dg_Yj-Zg@mail.gmail.com>
Date: Wed, 23 May 2012 22:54:40 +0800
Message-ID: <CAEwRVpO-Vs3QTV8x04EN14=ZyAnjbchxyu=mP-qENNN+e2-utg@mail.gmail.com>
From: Teck Choon Giam <giamteckchoon@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 9:04 PM, Teck Choon Giam
<giamteckchoon@gmail.com> wrote:
> On Wed, May 23, 2012 at 5:37 PM, Ian Campbell <Ian.Campbell@citrix.com> w=
rote:
>> On Wed, 2012-05-23 at 03:22 +0100, Teck Choon Giam wrote:
>>
>>> >
>>> > I think the reason this effects xm and not xl is that libxl uses
>>> > script=3Dnone to disable qemu-ifup while xend does not and instead en=
ds up
>>> > using qemu-ifup which does some fiddling with the device too, includi=
ng
>>> > bringing it up.
>>>
>>> Ok, so default for xend is using script=3Dqemu-ifup if script is not
>>> set? =A0Am I right about this?
>>
>> Yes.
>
> Thanks for clarifying.
>
>>
>>> > The proper fix is probably to change xend, I'm a bit wary of this,
>>> > especially for a 4.1 backport, but the following looks right and works
>>> > for me. It's a bit more complex since in libxl we seem to only do this
>>> > for Linux (i.e. not NetBSD) and I guess we should do the same in xend
>>> > too.
>>>
>>> Err... if we are going to change default behaviour will we be
>>> affecting those users who is upgrading from xen-4.1 to xen-4.2?
>>
>> This was already a deliberate change made in xl, it does not effect the
>> guest config, only the mechanisms by which that configuration is
>> achieved. I think extending this to xend in order not to break xend in
>> 4.2 is worthwhile.
>
> Noted.
>
>>
>> I don't think we should be backporting any of this to 4.1 though.
>
> You mean your tap to -emu patch series including the latest fix patch
> you posted shouldn't be backporting to 4.1? =A0If this is so, I am fine
> since there isn't much difference for me as personally I kept few
> custom patches in own xen packages. =A0Of course whatever get into
> upstream is better though :p

Just an update.  I have run my tests with your fix patch in
xen-unstable changeset 25386:340062faf298 and all are working fine.

Thanks again.

Kindest regards,
Giam Teck Choon


>
>>
>>> If your fix patch is going into xen-unstable for sure, I will re-run
>>> my tests by then. =A0I hope it doesn't affect current domUs
>>> configuration (I mean we shouldn't need to change domU configuration)
>>> especially when users prefer to use xm then xl in xen-4.2.
>>
>> There should be no guest config change necessary.
>
> Noted.
>
>>
>> Ian.
>
> Thanks for taking time to provide fix and responses.
>
> Kindest regards,
> Giam Teck Choon
>
>
>
>>
>>>
>>> Thanks.
>>>
>>> Kindest regards,
>>> Giam Teck Choon
>>>
>>>
>>> >
>>> > Ian
>>> >
>>> > # HG changeset patch
>>> > # User Ian Campbell <ian.campbell@citrix.com>
>>> > # Date 1337692747 -3600
>>> > # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926
>>> > # Parent =A072ca5bc4eb6b91fa8dff51d439bd05f5586179df
>>> > xend: do not run a hotplug script from qemu on Linux
>>> >
>>> > The current vif-hotplug-common.sh for renaming the tap device is fail=
ing
>>> > because it is racing with this script and therefore the device is une=
xpectedly
>>> > up when we come to rename it.
>>> >
>>> > Fix this in the same way as libxl does, by disabling the script (only=
 on
>>> > Linux).
>>> >
>>> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>>> >
>>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py
>>> > --- a/tools/python/xen/xend/image.py =A0 =A0Tue May 22 11:29:50 2012 =
+0100
>>> > +++ b/tools/python/xen/xend/image.py =A0 =A0Tue May 22 14:19:07 2012 =
+0100
>>> > @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler):
>>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(nics, mac, model))
>>> > =A0 =A0 =A0 =A0 =A0 =A0 vifname =3D "vif%d.%d-emu" % (self.vm.getDomi=
d(), nics-1)
>>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> > - =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s" %
>>> > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge))
>>> > + =A0 =A0 =A0 =A0 =A0 =A0if osdep.tapif_script is not None:
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D",script=3D%s,downscript=3D=
%s" % \
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(osdep.tapif_script,=
 osdep.tapif_script)
>>> > + =A0 =A0 =A0 =A0 =A0 =A0else:
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0script=3D""
>>> > + =A0 =A0 =A0 =A0 =A0 =A0ret.append("tap,vlan=3D%d,ifname=3D%s,bridge=
=3D%s%s" %
>>> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (nics, vifname, bridge,=
 script))
>>> >
>>> > =A0 =A0 =A0 =A0 if nics =3D=3D 0:
>>> > =A0 =A0 =A0 =A0 =A0 =A0 ret.append("-net")
>>> > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py
>>> > --- a/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 11:29:50 2012 =
+0100
>>> > +++ b/tools/python/xen/xend/osdep.py =A0 =A0Tue May 22 14:19:07 2012 =
+0100
>>> > @@ -30,6 +30,10 @@ _vif_script =3D {
>>> > =A0 =A0 "SunOS": "vif-vnic"
>>> > =A0}
>>> >
>>> > +_tapif_script =3D {
>>> > + =A0 =A0"Linux": "no",
>>> > +}
>>> > +
>>> > =A0PROC_XEN_BALLOON =3D '/proc/xen/balloon'
>>> > =A0SYSFS_XEN_MEMORY =3D '/sys/devices/system/xen_memory/xen_memory0'
>>> >
>>> > @@ -257,6 +261,7 @@ def _get(var, default=3DNone):
>>> >
>>> > =A0xend_autorestart =3D _get(_xend_autorestart)
>>> > =A0vif_script =3D _get(_vif_script, "vif-bridge")
>>> > +tapif_script =3D _get(_tapif_script)
>>> > =A0lookup_balloon_stat =3D _get(_balloon_stat, _linux_balloon_stat)
>>> > =A0get_cpuinfo =3D _get(_get_cpuinfo, _linux_get_cpuinfo)
>>> > =A0prefork =3D _get(_get_prefork, _default_prefork)
>>> >
>>> >
>>
>>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:06:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:06:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXD8O-0003Pu-6i; Wed, 23 May 2012 15:05:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXD8M-0003Pp-5t
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:05:54 +0000
Received: from [193.109.254.147:15216] by server-6.bemta-14.messagelabs.com id
	FC/E4-04960-1DCFCBF4; Wed, 23 May 2012 15:05:53 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337785551!10800537!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12157 invoked from network); 23 May 2012 15:05:52 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:05:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="196216062"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:05:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:05:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXD82-0000BB-Fj;
	Wed, 23 May 2012 16:05:34 +0100
Message-ID: <4FBCFCC5.3030100@citrix.com>
Date: Wed, 23 May 2012 16:05:41 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-16-git-send-email-roger.pau@citrix.com>
	<20411.53561.168162.456591@mariner.uk.xensource.com>
In-Reply-To: <20411.53561.168162.456591@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 15/15] libxl: add dummy netbsd functions"):
>> Add dummy NetBSD functions related to hotplug scripts, so compilation
>> doesn't fail. This functions will be filled in a following series.
>
> Actually I just acked this but it should actually be done in the
> previous patch, where the Linux version is added, so that the build
> works at every changeset.

Yes, I've merged this one with "libxl: call hotplug scripts for disk 
devices from libxl".


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:06:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:06:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXD8O-0003Pu-6i; Wed, 23 May 2012 15:05:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXD8M-0003Pp-5t
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:05:54 +0000
Received: from [193.109.254.147:15216] by server-6.bemta-14.messagelabs.com id
	FC/E4-04960-1DCFCBF4; Wed, 23 May 2012 15:05:53 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337785551!10800537!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ2MTA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12157 invoked from network); 23 May 2012 15:05:52 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:05:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="196216062"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:05:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:05:34 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXD82-0000BB-Fj;
	Wed, 23 May 2012 16:05:34 +0100
Message-ID: <4FBCFCC5.3030100@citrix.com>
Date: Wed, 23 May 2012 16:05:41 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-16-git-send-email-roger.pau@citrix.com>
	<20411.53561.168162.456591@mariner.uk.xensource.com>
In-Reply-To: <20411.53561.168162.456591@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 15/15] libxl: add dummy netbsd functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v2 15/15] libxl: add dummy netbsd functions"):
>> Add dummy NetBSD functions related to hotplug scripts, so compilation
>> doesn't fail. This functions will be filled in a following series.
>
> Actually I just acked this but it should actually be done in the
> previous patch, where the Linux version is added, so that the build
> works at every changeset.

Yes, I've merged this one with "libxl: call hotplug scripts for disk 
devices from libxl".


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:07:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXD9g-0003Ty-QI; Wed, 23 May 2012 15:07:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXD9f-0003Tp-Pe
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:07:15 +0000
Received: from [85.158.139.83:12672] by server-8.bemta-5.messagelabs.com id
	43/F2-30118-32DFCBF4; Wed, 23 May 2012 15:07:15 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337785633!16193901!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12983 invoked from network); 23 May 2012 15:07:14 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 15:07:14 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 16:07:13 +0100
Message-Id: <4FBD19600200007800085978@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 16:07:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xiantao Zhang" <xiantao.zhang@intel.com>,
	"Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<4FBB5A8D0200007800085003@nat28.tlf.novell.com>
	<B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 16:45, "Zhang, Xiantao" <xiantao.zhang@intel.com> wrote:
> Okay,  I understand your concern about this implementation, and you think 
> ltr/obff should be enabled by guest instead of host.   AS we know, LTR/OBFF 
> is a special PCI-e feature for optimizing the whole system's  PM, and to 
> enable it, the whole system(including root port and all upstream bridges or 
> ports) should have these two capabilities. If anyone in this chain doesn't 
> have or enable  these two capabilities, the whole system would fail to 
> benefit from this optimized PM.   In addition, since Qemu doesn't have PCI-e 
> support, and also hasn't such  LTR/OBFF capabilities supported,  guest 
> shouldn't be able to enable this feature for its any device. 
> Certainly, we can change linux's pci interface and para-virtualize this two 
> features, in this way, guest can ask host to enable this feature, but how to 
> handle Windows guest's case ?  We can't change or para-virtualize Windows's 
> PCI interface, I think. Do you have good suggestion or proposals?  Thanks!

Fix qemu to support PCI-e (and then make use of the to be added
PV interface).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:07:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXD9g-0003Ty-QI; Wed, 23 May 2012 15:07:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXD9f-0003Tp-Pe
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:07:15 +0000
Received: from [85.158.139.83:12672] by server-8.bemta-5.messagelabs.com id
	43/F2-30118-32DFCBF4; Wed, 23 May 2012 15:07:15 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337785633!16193901!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12983 invoked from network); 23 May 2012 15:07:14 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 15:07:14 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 23 May 2012 16:07:13 +0100
Message-Id: <4FBD19600200007800085978@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 23 May 2012 16:07:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xiantao Zhang" <xiantao.zhang@intel.com>,
	"Xudong Hao" <xudong.hao@intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<4FBB5A8D0200007800085003@nat28.tlf.novell.com>
	<B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 23.05.12 at 16:45, "Zhang, Xiantao" <xiantao.zhang@intel.com> wrote:
> Okay,  I understand your concern about this implementation, and you think 
> ltr/obff should be enabled by guest instead of host.   AS we know, LTR/OBFF 
> is a special PCI-e feature for optimizing the whole system's  PM, and to 
> enable it, the whole system(including root port and all upstream bridges or 
> ports) should have these two capabilities. If anyone in this chain doesn't 
> have or enable  these two capabilities, the whole system would fail to 
> benefit from this optimized PM.   In addition, since Qemu doesn't have PCI-e 
> support, and also hasn't such  LTR/OBFF capabilities supported,  guest 
> shouldn't be able to enable this feature for its any device. 
> Certainly, we can change linux's pci interface and para-virtualize this two 
> features, in this way, guest can ask host to enable this feature, but how to 
> handle Windows guest's case ?  We can't change or para-virtualize Windows's 
> PCI interface, I think. Do you have good suggestion or proposals?  Thanks!

Fix qemu to support PCI-e (and then make use of the to be added
PV interface).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:15:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:15:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDH6-0003md-Py; Wed, 23 May 2012 15:14:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SXDH5-0003mS-14
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 15:14:55 +0000
Received: from [193.109.254.147:24118] by server-8.bemta-14.messagelabs.com id
	A1/FB-23244-EEEFCBF4; Wed, 23 May 2012 15:14:54 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337786092!3981505!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3538 invoked from network); 23 May 2012 15:14:53 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 May 2012 15:14:53 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SXDH2-0002U0-2T
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 08:14:52 -0700
Date: Wed, 23 May 2012 08:14:52 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337786092062-5709092.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Test result of xen-unstable changeset 25380
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.17-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25380:ab86fc0e2b45)
hg backout -r 25364 #
http://xen.1045712.n5.nabble.com/Build-error-of-libxl-in-xen-unstable-changeset-25374-td5709046.html
vi config/StdGNU.mk # Workaround for Wheezy with multiarch support, there
are parts that use LIBDIR set here instead of the one in configure (libdir)
LIBLEAFDIR_x86_64 ?= lib
vi Config.mk # test seabios unstable
PYTHON_PREFIX_ARG =
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
- libxc: do not "panic" if a kernel is not a bzImage.
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb


-------------------------
Old issue:
-------------
- Network not working after save/restore on W7 64 bit domU with qemu
upstream
-------------
- HVM domU continue booting even if qemu-xen not start correctly:
xl create /etc/xen/PRECISEHVM.cfg
Parsing config from /etc/xen/PRECISEHVM.cfg
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019dc88
  TOTAL:         0000000000000000->000000003f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000001fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl_exec.c:371:spawn_timeout: domain 26 device model:
startup timed out
libxl: error: libxl_dm.c:1066:device_model_spawn_outcome: domain 26 device
model: spawn failed (rc=-3)
libxl: error: libxl_qmp.c:641:libxl__qmp_initialize: Connection error:
Connection refused
Daemon running with PID 9137
root@vfarm:/mnt/vm/xen/xen-unstable.hg# xl list
Name                                        ID   Mem VCPUs      State  
Time(s)
Domain-0                                     0  2047     8     r-----   
1791.8
PRECISEHVM                                  26  1015     1     ------      
0.0
-------------------------

-------------------------
Fixed issue:
-------------
- Double network card with pv driver qemu-xen
-------------------------

-------------------------
Old regression:
-------------
- CRITICAL - PV domU unable to start:
With pygrub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: error: libxl_bootloader.c:517:bootloader_finished: bootloader failed
- consult logfile /var/log/xen/bootloader.14.log
libxl: error: libxl_exec.c:108:libxl_report_child_exitstatus: bootloader
[6196] exited with error status 1
--------------
Traceback (most recent call last):
  File "/usr/bin/pygrub", line 822, in <module>
    raise RuntimeError, "Unable to find partition containing kernel"
RuntimeError: Unable to find partition containing kernel
--------------
With pv-grub:
Starts but arrive at grubdom (see with xl console)

Tried also with xen-unstable old commit and old kernel package, same
problem, cause unknown.
------------------------- 

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25380-tp5709092.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:15:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:15:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDH6-0003md-Py; Wed, 23 May 2012 15:14:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SXDH5-0003mS-14
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 15:14:55 +0000
Received: from [193.109.254.147:24118] by server-8.bemta-14.messagelabs.com id
	A1/FB-23244-EEEFCBF4; Wed, 23 May 2012 15:14:54 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337786092!3981505!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3538 invoked from network); 23 May 2012 15:14:53 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 May 2012 15:14:53 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SXDH2-0002U0-2T
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 08:14:52 -0700
Date: Wed, 23 May 2012 08:14:52 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1337786092062-5709092.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Test result of xen-unstable changeset 25380
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dom0:
Wheezy 64 bit with kernel from package linux-image-3.2.0-2-amd64 version
3.2.17-1, package blktap-dkms and all dependency packages for xen, spice and
usb redirection.
-------------------------
/etc/modules
------------
loop max_loop=64
xenfs
xen-evtchn
blktap
-------------------------
hg clone http://xenbits.xen.org/xen-unstable.hg (in this build changeset is
25380:ab86fc0e2b45)
hg backout -r 25364 #
http://xen.1045712.n5.nabble.com/Build-error-of-libxl-in-xen-unstable-changeset-25374-td5709046.html
vi config/StdGNU.mk # Workaround for Wheezy with multiarch support, there
are parts that use LIBDIR set here instead of the one in configure (libdir)
LIBLEAFDIR_x86_64 ?= lib
vi Config.mk # test seabios unstable
PYTHON_PREFIX_ARG =
-------------------------
Added some patches:
- autoconf: add variable for pass arbitrary options to qemu upstream v3
- tools: Improve make deb
- libxc: do not "panic" if a kernel is not a bzImage.
-------------------------
./configure --enable-qemuu-spice --enable-qemuu-usbredir
--enable-qemuu-debug
-------------------------
make deb


-------------------------
Old issue:
-------------
- Network not working after save/restore on W7 64 bit domU with qemu
upstream
-------------
- HVM domU continue booting even if qemu-xen not start correctly:
xl create /etc/xen/PRECISEHVM.cfg
Parsing config from /etc/xen/PRECISEHVM.cfg
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019dc88
  TOTAL:         0000000000000000->000000003f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000001fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl_exec.c:371:spawn_timeout: domain 26 device model:
startup timed out
libxl: error: libxl_dm.c:1066:device_model_spawn_outcome: domain 26 device
model: spawn failed (rc=-3)
libxl: error: libxl_qmp.c:641:libxl__qmp_initialize: Connection error:
Connection refused
Daemon running with PID 9137
root@vfarm:/mnt/vm/xen/xen-unstable.hg# xl list
Name                                        ID   Mem VCPUs      State  
Time(s)
Domain-0                                     0  2047     8     r-----   
1791.8
PRECISEHVM                                  26  1015     1     ------      
0.0
-------------------------

-------------------------
Fixed issue:
-------------
- Double network card with pv driver qemu-xen
-------------------------

-------------------------
Old regression:
-------------
- CRITICAL - PV domU unable to start:
With pygrub:
xl create /etc/xen/lucid.cfg
Parsing config file /etc/xen/lucid.cfg
libxl: error: libxl_bootloader.c:517:bootloader_finished: bootloader failed
- consult logfile /var/log/xen/bootloader.14.log
libxl: error: libxl_exec.c:108:libxl_report_child_exitstatus: bootloader
[6196] exited with error status 1
--------------
Traceback (most recent call last):
  File "/usr/bin/pygrub", line 822, in <module>
    raise RuntimeError, "Unable to find partition containing kernel"
RuntimeError: Unable to find partition containing kernel
--------------
With pv-grub:
Starts but arrive at grubdom (see with xl console)

Tried also with xen-unstable old commit and old kernel package, same
problem, cause unknown.
------------------------- 

--
View this message in context: http://xen.1045712.n5.nabble.com/Test-result-of-xen-unstable-changeset-25380-tp5709092.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:15:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:15:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDHD-0003n4-5b; Wed, 23 May 2012 15:15:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXDHB-0003mw-Gf
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:15:01 +0000
Received: from [85.158.143.99:54883] by server-1.bemta-4.messagelabs.com id
	0A/B5-00342-4FEFCBF4; Wed, 23 May 2012 15:15:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337786098!19662575!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18663 invoked from network); 23 May 2012 15:14:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:14:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25515509"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:14:32 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXDGh-0000Kr-Qb;
	Wed, 23 May 2012 16:14:31 +0100
Message-ID: <4FBCFEDF.3040706@citrix.com>
Date: Wed, 23 May 2012 16:14:39 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-14-git-send-email-roger.pau@citrix.com>
	<20411.53450.122270.834784@mariner.uk.xensource.com>
In-Reply-To: <20411.53450.122270.834784@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 13/15] libxl: call hotplug scripts for
 nic devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
>> +        !aodev->vif_executed) {
>> +        aodev->vif_executed = 1;
>> +        device_hotplug(egc, aodev);
>> +        return;
>> +    }
>
> This logic surrounding vif_executed is rather opaque.  Are you trying
> to run this whole lot twice so that you can run two lots of scripts ?
>
> If so then perhaps the hotplug helper should simply take a counter, so
> that we don't expose this vif abstraction thing ?  And it would be
> applicable to everything, not just vifs.

Yes, it's kind of a counter, but first and second calls have different 
arguments/env. The fact is that from my point of view they should be two 
different devices (vif and tap), but that will require major changes in 
libxl.

I could change vif_executed to something like exec_num, but it won't 
make much sense anyway I think, and we will have to pass it to the 
hotplug helper the same way we are passing vif_executed.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:15:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:15:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDHD-0003n4-5b; Wed, 23 May 2012 15:15:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXDHB-0003mw-Gf
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:15:01 +0000
Received: from [85.158.143.99:54883] by server-1.bemta-4.messagelabs.com id
	0A/B5-00342-4FEFCBF4; Wed, 23 May 2012 15:15:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337786098!19662575!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18663 invoked from network); 23 May 2012 15:14:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:14:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25515509"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 11:14:32 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 11:14:32 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXDGh-0000Kr-Qb;
	Wed, 23 May 2012 16:14:31 +0100
Message-ID: <4FBCFEDF.3040706@citrix.com>
Date: Wed, 23 May 2012 16:14:39 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337695365-5142-1-git-send-email-roger.pau@citrix.com>
	<1337695365-5142-14-git-send-email-roger.pau@citrix.com>
	<20411.53450.122270.834784@mariner.uk.xensource.com>
In-Reply-To: <20411.53450.122270.834784@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 13/15] libxl: call hotplug scripts for
 nic devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
>> +        !aodev->vif_executed) {
>> +        aodev->vif_executed = 1;
>> +        device_hotplug(egc, aodev);
>> +        return;
>> +    }
>
> This logic surrounding vif_executed is rather opaque.  Are you trying
> to run this whole lot twice so that you can run two lots of scripts ?
>
> If so then perhaps the hotplug helper should simply take a counter, so
> that we don't expose this vif abstraction thing ?  And it would be
> applicable to everything, not just vifs.

Yes, it's kind of a counter, but first and second calls have different 
arguments/env. The fact is that from my point of view they should be two 
different devices (vif and tap), but that will require major changes in 
libxl.

I could change vif_executed to something like exec_num, but it won't 
make much sense anyway I think, and we will have to pass it to the 
hotplug helper the same way we are passing vif_executed.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:21:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:21:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDNT-0004CY-Dj; Wed, 23 May 2012 15:21:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXDNS-0004CL-4P
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:21:30 +0000
Received: from [85.158.143.99:40067] by server-2.bemta-4.messagelabs.com id
	BB/44-12211-9700DBF4; Wed, 23 May 2012 15:21:29 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337786488!24130512!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1261 invoked from network); 23 May 2012 15:21:28 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	23 May 2012 15:21:28 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78105782; Wed, 23 May 2012 17:21:28 +0200
Message-ID: <1337786481.27368.96.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 17:21:21 +0200
In-Reply-To: <20412.62940.872712.975082@mariner.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
	<1337777350.27368.82.camel@Solace>
	<20412.62940.872712.975082@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5563905717985977639=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5563905717985977639==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-A/CBC/SdnUMT9NDZj/WI"


--=-A/CBC/SdnUMT9NDZj/WI
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 15:36 +0100, Ian Jackson wrote:
> >     if isinstance(ty, idl.KeyedUnion):
> >         if parent is None:
> >             raise Exception("KeyedUnion type must have a parent")
> >         s +=3D "switch (%s) {\n" % (parent + ty.keyvar.name)
> >         for f in ty.fields:
> >             (nparent,fexpr) =3D ty.member(v, f, parent is None)
> >             s +=3D "case %s:\n" % f.enumname
> >             s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ",=
 nparent)
> >             s +=3D "    break;\n"
> > +       s +=3D "default:\n    break;\n";
> >         s +=3D "}\n"
> >=20
> > Would it make sense?
>=20
> No, I don't think so.  Surely the idl should contain an explicitly
> empty structure ?
>=20
Well, that would work either, of course. :-)

Here's what I did, and it builds cleanly:

diff -r 6dc80df50fa8 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_types.idl       Wed May 23 17:19:52 2012 +0200
@@ -315,6 +316,7 @@ libxl_domain_build_info =3D Struct("domain
                                       # Use host's E820 for PCI passthroug=
h.
                                       ("e820_host", libxl_defbool),
                                       ])),
+                 ("invalid", Struct(None, [])),
                  ], keyvar_init_val =3D "-1")),

New patch coming in a separate thread.

Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-A/CBC/SdnUMT9NDZj/WI
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9AHEACgkQk4XaBE3IOsRw0gCfQBYPrCwz5OlR1LW2TNUJ7/rn
XvoAoJVO7sUYW3PpBr30GSRUmLNt5565
=7Hvc
-----END PGP SIGNATURE-----

--=-A/CBC/SdnUMT9NDZj/WI--



--===============5563905717985977639==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5563905717985977639==--



From xen-devel-bounces@lists.xen.org Wed May 23 15:21:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:21:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDNT-0004CY-Dj; Wed, 23 May 2012 15:21:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXDNS-0004CL-4P
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:21:30 +0000
Received: from [85.158.143.99:40067] by server-2.bemta-4.messagelabs.com id
	BB/44-12211-9700DBF4; Wed, 23 May 2012 15:21:29 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1337786488!24130512!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1261 invoked from network); 23 May 2012 15:21:28 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	23 May 2012 15:21:28 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78105782; Wed, 23 May 2012 17:21:28 +0200
Message-ID: <1337786481.27368.96.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 23 May 2012 17:21:21 +0200
In-Reply-To: <20412.62940.872712.975082@mariner.uk.xensource.com>
References: <4FB63171.3020102@amd.com> <4FB63EB6.10803@amd.com>
	<1337351445.16815.19.camel@Solace>
	<1337351979.22316.123.camel@zakaz.uk.xensource.com>
	<1337352492.16815.22.camel@Solace>
	<1337352958.22316.126.camel@zakaz.uk.xensource.com>
	<20412.49592.945171.764646@mariner.uk.xensource.com>
	<1337771858.27368.72.camel@Solace>
	<20412.55808.555103.132979@mariner.uk.xensource.com>
	<1337777350.27368.82.camel@Solace>
	<20412.62940.872712.975082@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Introduce LIBXL_DOMAIN_TYPE_INVALID
 to make gcc happy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5563905717985977639=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5563905717985977639==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-A/CBC/SdnUMT9NDZj/WI"


--=-A/CBC/SdnUMT9NDZj/WI
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 15:36 +0100, Ian Jackson wrote:
> >     if isinstance(ty, idl.KeyedUnion):
> >         if parent is None:
> >             raise Exception("KeyedUnion type must have a parent")
> >         s +=3D "switch (%s) {\n" % (parent + ty.keyvar.name)
> >         for f in ty.fields:
> >             (nparent,fexpr) =3D ty.member(v, f, parent is None)
> >             s +=3D "case %s:\n" % f.enumname
> >             s +=3D libxl_C_type_dispose(f.type, fexpr, indent + "    ",=
 nparent)
> >             s +=3D "    break;\n"
> > +       s +=3D "default:\n    break;\n";
> >         s +=3D "}\n"
> >=20
> > Would it make sense?
>=20
> No, I don't think so.  Surely the idl should contain an explicitly
> empty structure ?
>=20
Well, that would work either, of course. :-)

Here's what I did, and it builds cleanly:

diff -r 6dc80df50fa8 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl       Tue May 22 16:30:11 2012 +0200
+++ b/tools/libxl/libxl_types.idl       Wed May 23 17:19:52 2012 +0200
@@ -315,6 +316,7 @@ libxl_domain_build_info =3D Struct("domain
                                       # Use host's E820 for PCI passthroug=
h.
                                       ("e820_host", libxl_defbool),
                                       ])),
+                 ("invalid", Struct(None, [])),
                  ], keyvar_init_val =3D "-1")),

New patch coming in a separate thread.

Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-A/CBC/SdnUMT9NDZj/WI
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9AHEACgkQk4XaBE3IOsRw0gCfQBYPrCwz5OlR1LW2TNUJ7/rn
XvoAoJVO7sUYW3PpBr30GSRUmLNt5565
=7Hvc
-----END PGP SIGNATURE-----

--=-A/CBC/SdnUMT9NDZj/WI--



--===============5563905717985977639==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5563905717985977639==--



From xen-devel-bounces@lists.xen.org Wed May 23 15:28:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDTn-0004Tc-R8; Wed, 23 May 2012 15:28:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXDTm-0004TX-LQ
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:28:02 +0000
Received: from [193.109.254.147:39975] by server-4.bemta-14.messagelabs.com id
	C5/73-11570-1020DBF4; Wed, 23 May 2012 15:28:01 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337786881!9947680!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20287 invoked from network); 23 May 2012 15:28:01 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:28:01 -0000
Received: by werf3 with SMTP id f3so6077864wer.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 08:28:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=I8jusXOexrGG49+DIHqX1T+C/1aCEk9YAXP56XspAFo=;
	b=M080haxzM/0+4RJArip9TR1E6njdJXhekryq8HtyHUchNBcR0XjFvIdRjxZhJ7ndeQ
	jgBwY1OO6I/UfKxnauRzqUCj9rGnQjTKJuOCAMorf1S7QncURz/It2GeadBtzZxOuY5P
	6McPwaqU7twXzvZAvSbwS95T7PtJ4UHe+1nfdVwr7dVYRB9+QK7u1x+UtuHBhDxlbd87
	/S8k1tdahSZHypXUqtDPskBo6A01pqcLGrPRtutwcpqGNAu/uSiwPSgjZueIUaEpcgwb
	DaMQrXfR0XGiIB4R9cNjr58m7qiExitH/rgnZWiqff8TqDzGbibHLuUUZYp1aJga0ANV
	Pb/Q==
Received: by 10.180.94.163 with SMTP id dd3mr15073394wib.22.1337786880847;
	Wed, 23 May 2012 08:28:00 -0700 (PDT)
Received: from [127.0.1.1] (ip-142-63.sn3.eutelia.it. [213.136.142.63])
	by mx.google.com with ESMTPS id j4sm40687270wiz.1.2012.05.23.08.27.58
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 23 May 2012 08:27:59 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: a3a8dd4938dd4b0e51b3a615a334f271f8bc3663
Message-Id: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Wed, 23 May 2012 17:27:55 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v2] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBhYm91dDoKbGlieGwuYzogSW4gZnVuY3Rp
b24g4oCYbGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPigJk6CmxpYnhsLmM6MTIzMzo5OiBlcnJv
cjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCY
bGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQoKQWRqdXN0IGNvZGUgcGllY2Vz
IHdoZXJlIC1Xc3dpdGNoIG1ha2VzIGl0IGNsYWltIHRoYXQKTElCWExfRE9NQUlOX1RZUEVfSU5W
QUxJRCBpcyBub3QgaGFuZGxlZC4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpIDxkYXJp
by5mYWdnaW9saUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggRWdnZXIgPENo
cmlzdG9waC5FZ2dlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMg
Yi90b29scy9saWJ4bC9saWJ4bC5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtMTIzMCw3ICsxMjMwLDcgQEAgaW50IGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVjKGxpYnhsX2N0eAogICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BW
OgogICAgICAgICAgICAgcmMgPSBsaWJ4bF9jb25zb2xlX2V4ZWMoY3R4LCBkb21pZF92bSwgMCwg
TElCWExfQ09OU09MRV9UWVBFX1BWKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IC0xOgorICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6CiAgICAgICAgICAg
ICBMT0coRVJST1IsInVuYWJsZSB0byBnZXQgZG9tYWluIHR5cGUgZm9yIGRvbWlkPSUiUFJJdTMy
LGRvbWlkX3ZtKTsKICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s
aWJ4bF9kbS5jCkBAIC0yNTcsNiArMjU3LDggQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxk
X2RldmljZV9tb2RlbAogICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBi
X2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCiAgICAgICAgICAgICBmbGV4YXJyYXlf
YXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgorICAgICAgICBicmVhazsKICAgICB9
CiAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKICAgICByZXR1cm4gKGNoYXIg
KiopIGZsZXhhcnJheV9jb250ZW50cyhkbV9hcmdzKTsKQEAgLTUwNSw2ICs1MDcsOCBAQCBzdGF0
aWMgY2hhciAqKiBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsCiAgICAgICAgIGZvciAoaSA9IDA7
IGJfaW5mby0+ZXh0cmFfaHZtICYmIGJfaW5mby0+ZXh0cmFfaHZtW2ldICE9IE5VTEw7IGkrKykK
ICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1b
aV0pOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6
CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIHJhbV9zaXplID0gbGlieGxfX3NpemVrYl90
b19tYihiX2luZm8tPm1heF9tZW1rYiAtIGJfaW5mby0+dmlkZW9fbWVta2IpOwpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwotLS0g
YS90b29scy9saWJ4bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpA
QCAtMzMsOSArMzMsOSBAQCBsaWJ4bF9kb21haW5fdHlwZSBsaWJ4bF9fZG9tYWluX3R5cGUobGli
CiAKICAgICByZXQgPSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoY3R4LT54Y2gsIGRvbWlkLCAxLCAm
aW5mbyk7CiAgICAgaWYgKHJldCAhPSAxKQotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJl
dHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwogICAgIGlmIChpbmZvLmRvbWFpbiAhPSBk
b21pZCkKLSAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZ
UEVfSU5WQUxJRDsKICAgICBpZiAoaW5mby5mbGFncyAmIFhFTl9ET01JTkZfaHZtX2d1ZXN0KQog
ICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSFZNOwogICAgIGVsc2UKZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVz
LmlkbAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfdHlwZXMuaWRsCkBAIC0zMCw2ICszMCw3IEBAIE1lbUtCID0gVUludCg2NCwgaW5pdF92
YWwgPSAiTElCWExfTUVNS0IKICMKIAogbGlieGxfZG9tYWluX3R5cGUgPSBFbnVtZXJhdGlvbigi
ZG9tYWluX3R5cGUiLCBbCisgICAgKC0xLCAiSU5WQUxJRCIpLAogICAgICgxLCAiSFZNIiksCiAg
ICAgKDIsICJQViIpLAogICAgIF0pCkBAIC0zMTUsNiArMzE2LDcgQEAgbGlieGxfZG9tYWluX2J1
aWxkX2luZm8gPSBTdHJ1Y3QoImRvbWFpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjIFVzZSBob3N0J3MgRTgyMCBmb3IgUENJIHBhc3N0aHJvdWdoLgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImU4MjBfaG9zdCIsIGxpYnhsX2RlZmJvb2wp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSksCisgICAgICAgICAg
ICAgICAgICgiaW52YWxpZCIsIFN0cnVjdChOb25lLCBbXSkpLAogICAgICAgICAgICAgICAgICBd
LCBrZXl2YXJfaW5pdF92YWwgPSAiLTEiKSksCiAgICAgXSwgZGlyPURJUl9JTgogKQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu
ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k
ZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 15:28:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDTn-0004Tc-R8; Wed, 23 May 2012 15:28:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXDTm-0004TX-LQ
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:28:02 +0000
Received: from [193.109.254.147:39975] by server-4.bemta-14.messagelabs.com id
	C5/73-11570-1020DBF4; Wed, 23 May 2012 15:28:01 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337786881!9947680!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20287 invoked from network); 23 May 2012 15:28:01 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:28:01 -0000
Received: by werf3 with SMTP id f3so6077864wer.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 08:28:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=I8jusXOexrGG49+DIHqX1T+C/1aCEk9YAXP56XspAFo=;
	b=M080haxzM/0+4RJArip9TR1E6njdJXhekryq8HtyHUchNBcR0XjFvIdRjxZhJ7ndeQ
	jgBwY1OO6I/UfKxnauRzqUCj9rGnQjTKJuOCAMorf1S7QncURz/It2GeadBtzZxOuY5P
	6McPwaqU7twXzvZAvSbwS95T7PtJ4UHe+1nfdVwr7dVYRB9+QK7u1x+UtuHBhDxlbd87
	/S8k1tdahSZHypXUqtDPskBo6A01pqcLGrPRtutwcpqGNAu/uSiwPSgjZueIUaEpcgwb
	DaMQrXfR0XGiIB4R9cNjr58m7qiExitH/rgnZWiqff8TqDzGbibHLuUUZYp1aJga0ANV
	Pb/Q==
Received: by 10.180.94.163 with SMTP id dd3mr15073394wib.22.1337786880847;
	Wed, 23 May 2012 08:28:00 -0700 (PDT)
Received: from [127.0.1.1] (ip-142-63.sn3.eutelia.it. [213.136.142.63])
	by mx.google.com with ESMTPS id j4sm40687270wiz.1.2012.05.23.08.27.58
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 23 May 2012 08:27:59 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: a3a8dd4938dd4b0e51b3a615a334f271f8bc3663
Message-Id: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Wed, 23 May 2012 17:27:55 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH v2] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBhYm91dDoKbGlieGwuYzogSW4gZnVuY3Rp
b24g4oCYbGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPigJk6CmxpYnhsLmM6MTIzMzo5OiBlcnJv
cjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCY
bGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQoKQWRqdXN0IGNvZGUgcGllY2Vz
IHdoZXJlIC1Xc3dpdGNoIG1ha2VzIGl0IGNsYWltIHRoYXQKTElCWExfRE9NQUlOX1RZUEVfSU5W
QUxJRCBpcyBub3QgaGFuZGxlZC4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpIDxkYXJp
by5mYWdnaW9saUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggRWdnZXIgPENo
cmlzdG9waC5FZ2dlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMg
Yi90b29scy9saWJ4bC9saWJ4bC5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtMTIzMCw3ICsxMjMwLDcgQEAgaW50IGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVjKGxpYnhsX2N0eAogICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BW
OgogICAgICAgICAgICAgcmMgPSBsaWJ4bF9jb25zb2xlX2V4ZWMoY3R4LCBkb21pZF92bSwgMCwg
TElCWExfQ09OU09MRV9UWVBFX1BWKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IC0xOgorICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6CiAgICAgICAgICAg
ICBMT0coRVJST1IsInVuYWJsZSB0byBnZXQgZG9tYWluIHR5cGUgZm9yIGRvbWlkPSUiUFJJdTMy
LGRvbWlkX3ZtKTsKICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s
aWJ4bF9kbS5jCkBAIC0yNTcsNiArMjU3LDggQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxk
X2RldmljZV9tb2RlbAogICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBi
X2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCiAgICAgICAgICAgICBmbGV4YXJyYXlf
YXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgorICAgICAgICBicmVhazsKICAgICB9
CiAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKICAgICByZXR1cm4gKGNoYXIg
KiopIGZsZXhhcnJheV9jb250ZW50cyhkbV9hcmdzKTsKQEAgLTUwNSw2ICs1MDcsOCBAQCBzdGF0
aWMgY2hhciAqKiBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsCiAgICAgICAgIGZvciAoaSA9IDA7
IGJfaW5mby0+ZXh0cmFfaHZtICYmIGJfaW5mby0+ZXh0cmFfaHZtW2ldICE9IE5VTEw7IGkrKykK
ICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1b
aV0pOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6
CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIHJhbV9zaXplID0gbGlieGxfX3NpemVrYl90
b19tYihiX2luZm8tPm1heF9tZW1rYiAtIGJfaW5mby0+dmlkZW9fbWVta2IpOwpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwotLS0g
YS90b29scy9saWJ4bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpA
QCAtMzMsOSArMzMsOSBAQCBsaWJ4bF9kb21haW5fdHlwZSBsaWJ4bF9fZG9tYWluX3R5cGUobGli
CiAKICAgICByZXQgPSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoY3R4LT54Y2gsIGRvbWlkLCAxLCAm
aW5mbyk7CiAgICAgaWYgKHJldCAhPSAxKQotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJl
dHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwogICAgIGlmIChpbmZvLmRvbWFpbiAhPSBk
b21pZCkKLSAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZ
UEVfSU5WQUxJRDsKICAgICBpZiAoaW5mby5mbGFncyAmIFhFTl9ET01JTkZfaHZtX2d1ZXN0KQog
ICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSFZNOwogICAgIGVsc2UKZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVz
LmlkbAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfdHlwZXMuaWRsCkBAIC0zMCw2ICszMCw3IEBAIE1lbUtCID0gVUludCg2NCwgaW5pdF92
YWwgPSAiTElCWExfTUVNS0IKICMKIAogbGlieGxfZG9tYWluX3R5cGUgPSBFbnVtZXJhdGlvbigi
ZG9tYWluX3R5cGUiLCBbCisgICAgKC0xLCAiSU5WQUxJRCIpLAogICAgICgxLCAiSFZNIiksCiAg
ICAgKDIsICJQViIpLAogICAgIF0pCkBAIC0zMTUsNiArMzE2LDcgQEAgbGlieGxfZG9tYWluX2J1
aWxkX2luZm8gPSBTdHJ1Y3QoImRvbWFpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjIFVzZSBob3N0J3MgRTgyMCBmb3IgUENJIHBhc3N0aHJvdWdoLgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImU4MjBfaG9zdCIsIGxpYnhsX2RlZmJvb2wp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSksCisgICAgICAgICAg
ICAgICAgICgiaW52YWxpZCIsIFN0cnVjdChOb25lLCBbXSkpLAogICAgICAgICAgICAgICAgICBd
LCBrZXl2YXJfaW5pdF92YWwgPSAiLTEiKSksCiAgICAgXSwgZGlyPURJUl9JTgogKQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu
ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k
ZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 15:33:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDZG-0004i5-W6; Wed, 23 May 2012 15:33:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXDZF-0004hv-C7
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 15:33:41 +0000
Received: from [85.158.143.99:57498] by server-1.bemta-4.messagelabs.com id
	86/D8-00342-4530DBF4; Wed, 23 May 2012 15:33:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337787216!18249176!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17061 invoked from network); 23 May 2012 15:33:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:33:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12631994"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 15:33:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 16:33:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXDZ9-0007s7-Q4;
	Wed, 23 May 2012 15:33:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXDZ9-0000Mq-CZ;
	Wed, 23 May 2012 16:33:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12964-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 16:33:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12964: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12964 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12964/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12960
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12960

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  340062faf298
baseline version:
 xen                  6dc80df50fa8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=340062faf298
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 340062faf298
+ branch=xen-unstable
+ revision=340062faf298
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 340062faf298 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 4 changesets with 9 changes to 7 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:33:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDZG-0004i5-W6; Wed, 23 May 2012 15:33:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXDZF-0004hv-C7
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 15:33:41 +0000
Received: from [85.158.143.99:57498] by server-1.bemta-4.messagelabs.com id
	86/D8-00342-4530DBF4; Wed, 23 May 2012 15:33:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337787216!18249176!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17061 invoked from network); 23 May 2012 15:33:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 15:33:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12631994"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 15:33:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 16:33:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXDZ9-0007s7-Q4;
	Wed, 23 May 2012 15:33:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXDZ9-0000Mq-CZ;
	Wed, 23 May 2012 16:33:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12964-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 16:33:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12964: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12964 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12964/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10       fail   like 12960
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12960

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  340062faf298
baseline version:
 xen                  6dc80df50fa8

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=340062faf298
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 340062faf298
+ branch=xen-unstable
+ revision=340062faf298
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 340062faf298 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 4 changesets with 9 changes to 7 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:37:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:37:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDcC-0004s0-Mn; Wed, 23 May 2012 15:36:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <afaerber@suse.de>) id 1SXDcB-0004rt-88
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 15:36:43 +0000
Received: from [193.109.254.147:3345] by server-4.bemta-14.messagelabs.com id
	37/9B-11570-A040DBF4; Wed, 23 May 2012 15:36:42 +0000
X-Env-Sender: afaerber@suse.de
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337787401!2899734!1
X-Originating-IP: [195.135.220.15]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32492 invoked from network); 23 May 2012 15:36:41 -0000
Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 15:36:41 -0000
Received: from relay1.suse.de (unknown [195.135.220.254])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx2.suse.de (Postfix) with ESMTP id 1AF20965C0;
	Wed, 23 May 2012 17:36:40 +0200 (CEST)
Message-ID: <4FBD0400.90101@suse.de>
Date: Wed, 23 May 2012 17:36:32 +0200
From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= <afaerber@suse.de>
Organization: SUSE LINUX Products GmbH
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120421 Thunderbird/12.0
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
	<alpine.DEB.2.00.1205231225510.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205231225510.26786@kaball-desktop>
X-Enigmail-Version: 1.5pre
Cc: xen-devel <xen-devel@lists.xensource.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Xen-devel] [PATCH qom-next 00/59] QOM CPUState,
	part 4: CPU_COMMON
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

QW0gMjMuMDUuMjAxMiAxMzoyNywgc2NocmllYiBTdGVmYW5vIFN0YWJlbGxpbmk6Cj4gT24gV2Vk
LCAyMyBNYXkgMjAxMiwgQW5kcmVhcyBGw6RyYmVyIHdyb3RlOgo+PiBUaGlzIHNlcmllcywgYmFz
ZWQgb24gcW9tLW5leHQgYW5kIHRoZSB0d28gcGVuZGluZyBBUk0gY2xlYW51cCBwYXRjaGVzLCBz
dGFydHMKPj4gbW92aW5nIGZpZWxkcyBmcm9tIENQVUFyY2hTdGF0ZSAoQ1BVX0NPTU1PTikgdG8g
UU9NIENQVVN0YXRlLiBJdCBzdG9wcyBzaG9ydAo+PiBvZiBtb3ZpbmcgYWxsIGVhc2lseSBwb3Nz
aWJsZSBmaWVsZHMgKGkuZS4sIHRob3NlIG5vdCBkZXBlbmRpbmcgb24gdGFyZ2V0X3Vsb25nCj4+
IG9yIHRhcmdldF9waHlzX2FkZHJfdCkgc2luY2UgdGhlIHNlcmllcyBnb3QgdG9vIGxvbmcgYWxy
ZWFkeSBhbmQgaXMgZXhwZWN0ZWQgdG8KPj4gc3Bhcmsgc29tZSBjb250cm92ZXJzaWVzIGR1ZSB0
byBjb2xsaXNpb25zIHdpdGggc2V2ZXJhbCBvdGhlciBzZXJpZXMuCj4+Cj4+IFRoZSBzZXJpZXMg
aXMgc3RydWN0dXJlZCBhcyBwcmVwYXJhdG9yeSByZWZhY3RvcmluZ3MgaW50ZXJ3b3ZlbiB3aXRo
IHRoZSBhY3R1YWwKPj4gdG91Y2gtYWxsIG1vdmVtZW50IG9mIG9uZSBmaWVsZCAoImNwdTogTW92
ZSAuLi4gdG8gQ1BVU3RhdGUiKSwgb3B0aW9uYWxseQo+PiBmb2xsb3dlZCBieSB0eXBlIHNpZ25h
dHVyZSBjbGVhbnVwcywgY3VsbWluYXRpbmcgaW4gdGhlIG1vdmVtZW50IG9mIHR3byBmaWVsZHMK
Pj4gdGhhdCBhcmUgdGllZCB0b2dldGhlciBieSBWTVN0YXRlLgo+PiBUaHVzLCB1bmxpa2UgcGFy
dCAzLCB0aGlzIHNlcmllcyBjYW5ub3QgcmFuZG9tbHkgYmUgY2hlcnJ5LXBpY2tlZCB0bwo+PiA8
YXJjaD4tbmV4dCB0cmVlcywgb25seSBzZWxlY3QgcGFydHMgdGhlcmVvZiAoZS5nLiwgdXNlIG9m
IGNwdV9zMzkweF9pbml0KCkpLgo+Pgo+PiBQbGVhc2UgcmV2aWV3IGFuZCB0ZXN0LgpbLi4uXQo+
PiBJIGhhdmUgY2hlY2tlZCB0aGlzIHRvIGNvbXBpbGUgb24gLi4uCj4+ICogb3BlblNVU0UgMTIu
MSB4ODZfNjQgdy9LVk0sCj4+ICogb3BlblNVU0UgRmFjdG9yeSBwcGMgdy9LVk0sCj4+ICogU0xF
UyAxMSBTUDIgczM5MHggdy9LVk0sCj4+ICogbWluZ3czMi82NCBjcm9zcy1idWlsZHMsCj4+ICog
T3BlbkJTRCA1LjEgYW1kNjQgKG5vdCBmb3IgZmluYWwgdmVyc2lvbiB0aG91Z2gsIG1hc3RlciBk
b2Vzbid0IGJ1aWxkKS4KPj4gVW50ZXN0ZWQ6IFhlbi4KPiAKPiBJIHRlc3RlZCBpdCBvbiBYZW46
IGl0IHdvcmtzIGNvcnJlY3RseS4KPiAKPiBUZXN0ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8
c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+CgpUaGFua3MgZm9yIHRoZSBxdWljayBy
ZXNwb25zZSEgSSd2ZSBjaGVycnktcGlja2VkIHRoZSBwcmVwYXJhdG9yeSBwYXRjaAp0byBxb20t
bmV4dDoKaHR0cDovL3JlcG8ub3IuY3ovdy9xZW11L2FmYWVyYmVyLmdpdC9zaG9ydGxvZy9yZWZz
L2hlYWRzL3FvbS1uZXh0CgovLUYKCi0tIApTVVNFIExJTlVYIFByb2R1Y3RzIEdtYkgsIE1heGZl
bGRzdHIuIDUsIDkwNDA5IE7DvHJuYmVyZywgR2VybWFueQpHRjogSmVmZiBIYXduLCBKZW5uaWZl
ciBHdWlsZCwgRmVsaXggSW1lbmTDtnJmZmVyOyBIUkIgMTY3NDYgQUcgTsO8cm5iZXJnCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp
bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hl
bi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 15:37:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:37:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDcC-0004s0-Mn; Wed, 23 May 2012 15:36:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <afaerber@suse.de>) id 1SXDcB-0004rt-88
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 15:36:43 +0000
Received: from [193.109.254.147:3345] by server-4.bemta-14.messagelabs.com id
	37/9B-11570-A040DBF4; Wed, 23 May 2012 15:36:42 +0000
X-Env-Sender: afaerber@suse.de
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337787401!2899734!1
X-Originating-IP: [195.135.220.15]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32492 invoked from network); 23 May 2012 15:36:41 -0000
Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 15:36:41 -0000
Received: from relay1.suse.de (unknown [195.135.220.254])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx2.suse.de (Postfix) with ESMTP id 1AF20965C0;
	Wed, 23 May 2012 17:36:40 +0200 (CEST)
Message-ID: <4FBD0400.90101@suse.de>
Date: Wed, 23 May 2012 17:36:32 +0200
From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= <afaerber@suse.de>
Organization: SUSE LINUX Products GmbH
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120421 Thunderbird/12.0
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <1337742502-28565-1-git-send-email-afaerber@suse.de>
	<alpine.DEB.2.00.1205231225510.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205231225510.26786@kaball-desktop>
X-Enigmail-Version: 1.5pre
Cc: xen-devel <xen-devel@lists.xensource.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Xen-devel] [PATCH qom-next 00/59] QOM CPUState,
	part 4: CPU_COMMON
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

QW0gMjMuMDUuMjAxMiAxMzoyNywgc2NocmllYiBTdGVmYW5vIFN0YWJlbGxpbmk6Cj4gT24gV2Vk
LCAyMyBNYXkgMjAxMiwgQW5kcmVhcyBGw6RyYmVyIHdyb3RlOgo+PiBUaGlzIHNlcmllcywgYmFz
ZWQgb24gcW9tLW5leHQgYW5kIHRoZSB0d28gcGVuZGluZyBBUk0gY2xlYW51cCBwYXRjaGVzLCBz
dGFydHMKPj4gbW92aW5nIGZpZWxkcyBmcm9tIENQVUFyY2hTdGF0ZSAoQ1BVX0NPTU1PTikgdG8g
UU9NIENQVVN0YXRlLiBJdCBzdG9wcyBzaG9ydAo+PiBvZiBtb3ZpbmcgYWxsIGVhc2lseSBwb3Nz
aWJsZSBmaWVsZHMgKGkuZS4sIHRob3NlIG5vdCBkZXBlbmRpbmcgb24gdGFyZ2V0X3Vsb25nCj4+
IG9yIHRhcmdldF9waHlzX2FkZHJfdCkgc2luY2UgdGhlIHNlcmllcyBnb3QgdG9vIGxvbmcgYWxy
ZWFkeSBhbmQgaXMgZXhwZWN0ZWQgdG8KPj4gc3Bhcmsgc29tZSBjb250cm92ZXJzaWVzIGR1ZSB0
byBjb2xsaXNpb25zIHdpdGggc2V2ZXJhbCBvdGhlciBzZXJpZXMuCj4+Cj4+IFRoZSBzZXJpZXMg
aXMgc3RydWN0dXJlZCBhcyBwcmVwYXJhdG9yeSByZWZhY3RvcmluZ3MgaW50ZXJ3b3ZlbiB3aXRo
IHRoZSBhY3R1YWwKPj4gdG91Y2gtYWxsIG1vdmVtZW50IG9mIG9uZSBmaWVsZCAoImNwdTogTW92
ZSAuLi4gdG8gQ1BVU3RhdGUiKSwgb3B0aW9uYWxseQo+PiBmb2xsb3dlZCBieSB0eXBlIHNpZ25h
dHVyZSBjbGVhbnVwcywgY3VsbWluYXRpbmcgaW4gdGhlIG1vdmVtZW50IG9mIHR3byBmaWVsZHMK
Pj4gdGhhdCBhcmUgdGllZCB0b2dldGhlciBieSBWTVN0YXRlLgo+PiBUaHVzLCB1bmxpa2UgcGFy
dCAzLCB0aGlzIHNlcmllcyBjYW5ub3QgcmFuZG9tbHkgYmUgY2hlcnJ5LXBpY2tlZCB0bwo+PiA8
YXJjaD4tbmV4dCB0cmVlcywgb25seSBzZWxlY3QgcGFydHMgdGhlcmVvZiAoZS5nLiwgdXNlIG9m
IGNwdV9zMzkweF9pbml0KCkpLgo+Pgo+PiBQbGVhc2UgcmV2aWV3IGFuZCB0ZXN0LgpbLi4uXQo+
PiBJIGhhdmUgY2hlY2tlZCB0aGlzIHRvIGNvbXBpbGUgb24gLi4uCj4+ICogb3BlblNVU0UgMTIu
MSB4ODZfNjQgdy9LVk0sCj4+ICogb3BlblNVU0UgRmFjdG9yeSBwcGMgdy9LVk0sCj4+ICogU0xF
UyAxMSBTUDIgczM5MHggdy9LVk0sCj4+ICogbWluZ3czMi82NCBjcm9zcy1idWlsZHMsCj4+ICog
T3BlbkJTRCA1LjEgYW1kNjQgKG5vdCBmb3IgZmluYWwgdmVyc2lvbiB0aG91Z2gsIG1hc3RlciBk
b2Vzbid0IGJ1aWxkKS4KPj4gVW50ZXN0ZWQ6IFhlbi4KPiAKPiBJIHRlc3RlZCBpdCBvbiBYZW46
IGl0IHdvcmtzIGNvcnJlY3RseS4KPiAKPiBUZXN0ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8
c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+CgpUaGFua3MgZm9yIHRoZSBxdWljayBy
ZXNwb25zZSEgSSd2ZSBjaGVycnktcGlja2VkIHRoZSBwcmVwYXJhdG9yeSBwYXRjaAp0byBxb20t
bmV4dDoKaHR0cDovL3JlcG8ub3IuY3ovdy9xZW11L2FmYWVyYmVyLmdpdC9zaG9ydGxvZy9yZWZz
L2hlYWRzL3FvbS1uZXh0CgovLUYKCi0tIApTVVNFIExJTlVYIFByb2R1Y3RzIEdtYkgsIE1heGZl
bGRzdHIuIDUsIDkwNDA5IE7DvHJuYmVyZywgR2VybWFueQpHRjogSmVmZiBIYXduLCBKZW5uaWZl
ciBHdWlsZCwgRmVsaXggSW1lbmTDtnJmZmVyOyBIUkIgMTY3NDYgQUcgTsO8cm5iZXJnCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp
bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hl
bi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Wed May 23 15:51:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:51:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDq1-00059c-Br; Wed, 23 May 2012 15:51:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXDq0-00059X-EY
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:51:00 +0000
Received: from [85.158.143.35:51350] by server-1.bemta-4.messagelabs.com id
	61/C5-00342-3670DBF4; Wed, 23 May 2012 15:50:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337788246!11109653!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7523 invoked from network); 23 May 2012 15:50:57 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 15:50:57 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NFohIQ008703
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 15:50:44 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NFog1U026625
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 15:50:43 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NFogtY030340; Wed, 23 May 2012 10:50:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 08:50:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DFC16402FB; Wed, 23 May 2012 11:44:10 -0400 (EDT)
Date: Wed, 23 May 2012 11:44:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120523154410.GA20284@phenom.dumpdata.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
	<1337675538.10118.15.camel@zakaz.uk.xensource.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, "Zhou, Chao" <chao.zhou@intel.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 08:21:24AM +0000, Ren, Yongjie wrote:
> > -----Original Message-----
> > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > Sent: Tuesday, May 22, 2012 4:32 PM
> > To: Ren, Yongjie
> > Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> > 'xen-devel@lists.xen.org'
> > Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> > 
> > On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > > > -----Original Message-----
> > > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > > Sent: Monday, May 21, 2012 10:22 PM
> > > > To: Wu, GabrielX
> > > > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> > > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> > Dom0:568b445...
> > > >
> > > > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > > > Hi all,
> > > > >
> > > > > This is the test report of xen-unstable tree.
> > > > > There are two issues found and one issue got fixed.
> > > > >
> > > > > Version Info:
> > > > >
> > > >
> > ============================================================
> > > > =====
> > > > > xen-changeset:   25334:f8279258e3c9
> > > > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > > > >
> > > >
> > ============================================================
> > > > =====
> > > > >
> > > > > New issues(2)
> > > > > ==============
> > > > > 1. long stop during the guest boot process with qcow image
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > > > 2. vcpu-set doesn't take effect on guest
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > > >
> > > > Does it work if you (in the guest) do
> > > > echo 1 > /sys/../cpu9/online ?
> > > >
> > > The problem is there's no hot-add vCPU in /sys/devices/system/cpu
> > directory.
> > > e.g. I start a guest with 2 vCPU,
> > 
> > Do you mean with maxvcpu=4 vcpus=2 in your config?
> > 
> > >  then I run command 'xl vcpu-set $domID 4'.
> > 
> > >     There are only 2 CPUs(cpu0 and cpu1) listed in
> > /sys/devices/system/cpu directory.
> > 
> > The bugzilla says "But it'll effect to dom0.", does this mean that
> > 	xl vcpu-set domU 4
> > will actually set dom0 to 12 vcpus? Or does it just mean that
> > 	xl vcpu-set 0 4
> > works where
> > 	xl vcpu-set domU 4
> > does not?
> > 
> 'xl vcpu-set 0 4' works well for dom0 in some circumstances.
> 'xl vcpu-set domU 4' doesn't work for dumU at all.
> 
> 'xl vcpu-set' for dom0 also has a bug. 
> You can use 'xl vcpu-set' command to decrease vCPU number for dom0;
> but when you try to increase its number you might meet dom0 panic.
> Please look at my comment #2 in the following BZ.
> http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730

That should have been fixed in 3.4 by cf405ae612b0f7e2358db7ff594c0e94846137aa
"xen/smp: Fix crash when booting with ACPI hotplug CPUs."

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 15:51:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 15:51:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXDq1-00059c-Br; Wed, 23 May 2012 15:51:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXDq0-00059X-EY
	for xen-devel@lists.xen.org; Wed, 23 May 2012 15:51:00 +0000
Received: from [85.158.143.35:51350] by server-1.bemta-4.messagelabs.com id
	61/C5-00342-3670DBF4; Wed, 23 May 2012 15:50:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337788246!11109653!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7523 invoked from network); 23 May 2012 15:50:57 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 15:50:57 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NFohIQ008703
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 15:50:44 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NFog1U026625
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 15:50:43 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NFogtY030340; Wed, 23 May 2012 10:50:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 08:50:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DFC16402FB; Wed, 23 May 2012 11:44:10 -0400 (EDT)
Date: Wed, 23 May 2012 11:44:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120523154410.GA20284@phenom.dumpdata.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
	<1337675538.10118.15.camel@zakaz.uk.xensource.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, "Zhou, Chao" <chao.zhou@intel.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 08:21:24AM +0000, Ren, Yongjie wrote:
> > -----Original Message-----
> > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > Sent: Tuesday, May 22, 2012 4:32 PM
> > To: Ren, Yongjie
> > Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> > 'xen-devel@lists.xen.org'
> > Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> > 
> > On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > > > -----Original Message-----
> > > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > > Sent: Monday, May 21, 2012 10:22 PM
> > > > To: Wu, GabrielX
> > > > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou, Chao
> > > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> > Dom0:568b445...
> > > >
> > > > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > > > Hi all,
> > > > >
> > > > > This is the test report of xen-unstable tree.
> > > > > There are two issues found and one issue got fixed.
> > > > >
> > > > > Version Info:
> > > > >
> > > >
> > ============================================================
> > > > =====
> > > > > xen-changeset:   25334:f8279258e3c9
> > > > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > > > >
> > > >
> > ============================================================
> > > > =====
> > > > >
> > > > > New issues(2)
> > > > > ==============
> > > > > 1. long stop during the guest boot process with qcow image
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > > > 2. vcpu-set doesn't take effect on guest
> > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > > >
> > > > Does it work if you (in the guest) do
> > > > echo 1 > /sys/../cpu9/online ?
> > > >
> > > The problem is there's no hot-add vCPU in /sys/devices/system/cpu
> > directory.
> > > e.g. I start a guest with 2 vCPU,
> > 
> > Do you mean with maxvcpu=4 vcpus=2 in your config?
> > 
> > >  then I run command 'xl vcpu-set $domID 4'.
> > 
> > >     There are only 2 CPUs(cpu0 and cpu1) listed in
> > /sys/devices/system/cpu directory.
> > 
> > The bugzilla says "But it'll effect to dom0.", does this mean that
> > 	xl vcpu-set domU 4
> > will actually set dom0 to 12 vcpus? Or does it just mean that
> > 	xl vcpu-set 0 4
> > works where
> > 	xl vcpu-set domU 4
> > does not?
> > 
> 'xl vcpu-set 0 4' works well for dom0 in some circumstances.
> 'xl vcpu-set domU 4' doesn't work for dumU at all.
> 
> 'xl vcpu-set' for dom0 also has a bug. 
> You can use 'xl vcpu-set' command to decrease vCPU number for dom0;
> but when you try to increase its number you might meet dom0 panic.
> Please look at my comment #2 in the following BZ.
> http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730

That should have been fixed in 3.4 by cf405ae612b0f7e2358db7ff594c0e94846137aa
"xen/smp: Fix crash when booting with ACPI hotplug CPUs."

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 16:03:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 16:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXE1I-0005kU-Iv; Wed, 23 May 2012 16:02:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXE1H-0005k5-1I
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 16:02:39 +0000
Received: from [85.158.143.99:38476] by server-2.bemta-4.messagelabs.com id
	74/1C-12211-E1A0DBF4; Wed, 23 May 2012 16:02:38 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337788956!28557602!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23817 invoked from network); 23 May 2012 16:02:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 16:02:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25522098"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 12:02:35 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	12:02:34 -0400
Message-ID: <4FBD0A19.30701@citrix.com>
Date: Wed, 23 May 2012 17:02:33 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH] fixes to stable/for-linus-3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21/05/12 22:42, Konrad Rzeszutek Wilk wrote:
> 
> The autoballoon one would try to balloon up to E820_MAX when
> there were no dom0_mem=.. argument.

I don't see this behaviour and looking at the code I don't see how it
could.  The autoballoon code only populates pages that were released so
it won't go above xen_start_info->nr_pages.

Do you have any logs showing the problem behaviour?

> The patch fixes it, and
> is also makes the dom0_mem=1G case work better (I think?). The
> other solution would be to use the current_reservation patch
> I posted a while back to work-around when no dom0_mem= argument
> is used.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 16:03:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 16:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXE1I-0005kU-Iv; Wed, 23 May 2012 16:02:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXE1H-0005k5-1I
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 16:02:39 +0000
Received: from [85.158.143.99:38476] by server-2.bemta-4.messagelabs.com id
	74/1C-12211-E1A0DBF4; Wed, 23 May 2012 16:02:38 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337788956!28557602!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23817 invoked from network); 23 May 2012 16:02:37 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 16:02:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25522098"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 12:02:35 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Wed, 23 May 2012
	12:02:34 -0400
Message-ID: <4FBD0A19.30701@citrix.com>
Date: Wed, 23 May 2012 17:02:33 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	david.vrabel@citrix.com
Subject: Re: [Xen-devel] [PATCH] fixes to stable/for-linus-3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 21/05/12 22:42, Konrad Rzeszutek Wilk wrote:
> 
> The autoballoon one would try to balloon up to E820_MAX when
> there were no dom0_mem=.. argument.

I don't see this behaviour and looking at the code I don't see how it
could.  The autoballoon code only populates pages that were released so
it won't go above xen_start_info->nr_pages.

Do you have any logs showing the problem behaviour?

> The patch fixes it, and
> is also makes the dom0_mem=1G case work better (I think?). The
> other solution would be to use the current_reservation patch
> I posted a while back to work-around when no dom0_mem= argument
> is used.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 16:17:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 16:17:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXEFi-0005yw-4i; Wed, 23 May 2012 16:17:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SXEFg-0005yr-7D
	for xen-devel@lists.xen.org; Wed, 23 May 2012 16:17:32 +0000
Received: from [85.158.143.99:29482] by server-2.bemta-4.messagelabs.com id
	D5/43-12211-B9D0DBF4; Wed, 23 May 2012 16:17:31 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337789850!18256107!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25020 invoked from network); 23 May 2012 16:17:30 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 16:17:30 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SXEFb-000E2P-Id; Wed, 23 May 2012 16:17:27 +0000
Date: Wed, 23 May 2012 17:17:27 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120523161727.GA48125@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
	<20120518152203.GA40048@ocelot.phlegethon.org>
	<a63e8a0f5b0a8fe6a61f3eab90be04ce.squirrel@webmail.lagarcavilla.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <a63e8a0f5b0a8fe6a61f3eab90be04ce.squirrel@webmail.lagarcavilla.org>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 07:34 -0700 on 23 May (1337758450), Andres Lagar-Cavilla wrote:
> > At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
> >> # HG changeset patch
> >> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
> >> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
> >>
> >> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> >
> > Applied, thanks.  I gave it a slightly fuller description and fixed some
> > whitespace around parentheses on the way past.
> >
> > I think that empties the queue, at least of things that are wanted for
> > 4.2.
> 
> Actually, patch 6 of this series posted a while ago
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg01364.html
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00962.html
> 
> turns on locking p2m queries for shadow mode and seemingly you've acked
> it. This is good to go afaict and would be a shame to be left off of 4.2.

I think I'll leave it out for now.  Shadow doesn't coexist with
paging/sharing/memattr and already has its own interlocks against
everything else so it's not a bugfix.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 16:17:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 16:17:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXEFi-0005yw-4i; Wed, 23 May 2012 16:17:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1SXEFg-0005yr-7D
	for xen-devel@lists.xen.org; Wed, 23 May 2012 16:17:32 +0000
Received: from [85.158.143.99:29482] by server-2.bemta-4.messagelabs.com id
	D5/43-12211-B9D0DBF4; Wed, 23 May 2012 16:17:31 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337789850!18256107!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25020 invoked from network); 23 May 2012 16:17:30 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 16:17:30 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1SXEFb-000E2P-Id; Wed, 23 May 2012 16:17:27 +0000
Date: Wed, 23 May 2012 17:17:27 +0100
From: Tim Deegan <tim@xen.org>
To: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Message-ID: <20120523161727.GA48125@ocelot.phlegethon.org>
References: <3169fba29613241b69ac.1337177132@xdev.gridcentric.ca>
	<20120517094033.GA57529@ocelot.phlegethon.org>
	<7b80441999d6300fa6b8380bd96a22a5.squirrel@webmail.lagarcavilla.org>
	<20120517120249.GE57529@ocelot.phlegethon.org>
	<f05c4edad7608212b02476e7d389e47d.squirrel@webmail.lagarcavilla.org>
	<20120518152203.GA40048@ocelot.phlegethon.org>
	<a63e8a0f5b0a8fe6a61f3eab90be04ce.squirrel@webmail.lagarcavilla.org>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <a63e8a0f5b0a8fe6a61f3eab90be04ce.squirrel@webmail.lagarcavilla.org>
User-Agent: Mutt/1.4.2.1i
Cc: andres@gridcentric.ca, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] x86/mem_sharing: Rectify test for "empty"
	physmap entry in sharing_add_to_physmap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

At 07:34 -0700 on 23 May (1337758450), Andres Lagar-Cavilla wrote:
> > At 08:55 -0700 on 17 May (1337244911), Andres Lagar-Cavilla wrote:
> >> # HG changeset patch
> >> # Parent 485cd11f131da88b286b3b64e8f095508b67ab0b
> >> x86/mem_sharing: Re-rectify sharing add to physmap hole test.
> >>
> >> Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
> >
> > Applied, thanks.  I gave it a slightly fuller description and fixed some
> > whitespace around parentheses on the way past.
> >
> > I think that empties the queue, at least of things that are wanted for
> > 4.2.
> 
> Actually, patch 6 of this series posted a while ago
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg01364.html
> http://lists.xen.org/archives/html/xen-devel/2012-04/msg00962.html
> 
> turns on locking p2m queries for shadow mode and seemingly you've acked
> it. This is good to go afaict and would be a shame to be left off of 4.2.

I think I'll leave it out for now.  Shadow doesn't coexist with
paging/sharing/memattr and already has its own interlocks against
everything else so it's not a bugfix.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:38:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:38:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFVg-0007LM-BW; Wed, 23 May 2012 17:38:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXFVf-0007LH-7c
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:38:07 +0000
Received: from [85.158.143.35:17376] by server-1.bemta-4.messagelabs.com id
	A0/07-00342-E702DBF4; Wed, 23 May 2012 17:38:06 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337794685!13744826!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15446 invoked from network); 23 May 2012 17:38:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:38:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12634301"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 17:37:31 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 18:37:31 +0100
Date: Wed, 23 May 2012 18:37:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120523142057.GA7598@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205231551360.26786@kaball-desktop>
References: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120523142057.GA7598@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> On Mon, May 14, 2012 at 12:23:07PM +0100, Stefano Stabellini wrote:
> > When the frontend and the backend reside on the same domain, even if we
> > add pages to the m2p_override, these pages will never be returned by
> > mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
> > always fail, so the pfn of the frontend will be returned instead
> > (resulting in a deadlock because the frontend pages are already locked).
> > 
> > However m2p_add_override can easily find out whether another pfn
> > corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
> > in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.
> > 
> > This allows the backend to perform direct_IO on these pages, but as a
> > side effect prevents the frontend from using get_user_pages_fast on
> > them while they are being shared with the backend.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > ---
> >  arch/x86/xen/p2m.c |   18 ++++++++++++++++++
> >  1 files changed, 18 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
> > index 7ece122..c62ae5c 100644
> > --- a/arch/x86/xen/p2m.c
> > +++ b/arch/x86/xen/p2m.c
> > @@ -687,6 +687,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
> >  	unsigned long uninitialized_var(address);
> >  	unsigned level;
> >  	pte_t *ptep = NULL;
> > +	int ret = 0;
> >  
> >  	pfn = page_to_pfn(page);
> >  	if (!PageHighMem(page)) {
> > @@ -722,6 +723,16 @@ int m2p_add_override(unsigned long mfn, struct page *page,
> >  	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
> >  	spin_unlock_irqrestore(&m2p_override_lock, flags);
> >  
> > +	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
> > +	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other
> 
> <nods> In other words, the MFN is local. And you want it to be forced
> to be !local - foreign right.

Yes


> > +	 * pfn so that the following mfn_to_pfn(mfn) calls will return the
> 
> .. the other pfn being. So we want to override p2m(m2p(mfn)) == mfn[frontend]
> so that it becomes p2m(m2p(mfn)) == mfn[backend]? (nods)

Exactly


> What happens if multiple m2p_add_override are called on the same page?
> This would be possible if the xen-blkfront is setup shared for the same
> disk, right?

It is possible even with a single disk, I can see the frontend sharing
three times the same page, before the first request has completed, when
mounting an ext4 partition.

But it is completely safe: m2p_add_override is going to set the page as
FOREIGN the first time and m2p_remove_override is going to remove the
bit only when the last page is unshared (it does so by checking
m2p_find_override(mfn) == NULL).


> Won't we loose the old frontend PFN -> backend MFN information then as
> we would overwrite the old P2M relationship?

No, we are just changing it to be:

old frontend PFN -> (backend MFN | FOREIGN_FRAME_BIT)


> > +	 * pfn from the m2p_override (the backend pfn) instead.
> 
> Can you explain in the comment why we want to do that. I think
> I know, but I am not going to remember it in a month.

Good point.
The reason is that the pages that have been shared by xen-blkfront
are locked (lock_page, called by do_read_cache_page).
When the userspace backend tries to use them with direct_IO, mfn_to_pfn
returns the pfn of the frontend, so do_blockdev_direct_IO is going to
try to lock the same pages again.
I'll add this comment to the commit message.


> > +	 * As a side effect GUPF might not be safe on the frontend pages
> > +	 * while they are being shared with the backend. */
> 
> How is it not safe?

Because get_user_pages_fast ends up calling mfn_to_pfn that would now
return the backend pfn rather than the frontend pfn.


> > +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> > +	if (ret >= 0 && get_phys_to_machine(pfn) == mfn)
> 
> if (ret == 0)
> 
> [get_user only provides -EFAULT or 0]

OK, I'll change the check.


> > +		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
> > +
> >  	return 0;
> >  }
> >  EXPORT_SYMBOL_GPL(m2p_add_override);
> > @@ -733,6 +744,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
> >  	unsigned long uninitialized_var(address);
> >  	unsigned level;
> >  	pte_t *ptep = NULL;
> > +	int ret = 0;
> >  
> >  	pfn = page_to_pfn(page);
> >  	mfn = get_phys_to_machine(pfn);
> > @@ -802,6 +814,12 @@ int m2p_remove_override(struct page *page, bool clear_pte)
> >  	} else
> >  		set_phys_to_machine(pfn, page->index);
> >  
> 
> You also need a comment here.

OK, I'll add one.


> > +	mfn &= ~FOREIGN_FRAME_BIT;
> > +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> > +	if (ret >= 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&
> 
> ret == 0

OK

> > +			m2p_find_override(mfn) == NULL)
> > +		set_phys_to_machine(pfn, mfn);
> > +
> >  	return 0;
> >  }
> >  EXPORT_SYMBOL_GPL(m2p_remove_override);
> > -- 
> > 1.7.2.5
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:38:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:38:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFVg-0007LM-BW; Wed, 23 May 2012 17:38:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXFVf-0007LH-7c
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:38:07 +0000
Received: from [85.158.143.35:17376] by server-1.bemta-4.messagelabs.com id
	A0/07-00342-E702DBF4; Wed, 23 May 2012 17:38:06 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337794685!13744826!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15446 invoked from network); 23 May 2012 17:38:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:38:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12634301"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 17:37:31 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 18:37:31 +0100
Date: Wed, 23 May 2012 18:37:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120523142057.GA7598@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205231551360.26786@kaball-desktop>
References: <1336994587-10203-1-git-send-email-stefano.stabellini@eu.citrix.com>
	<20120523142057.GA7598@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> On Mon, May 14, 2012 at 12:23:07PM +0100, Stefano Stabellini wrote:
> > When the frontend and the backend reside on the same domain, even if we
> > add pages to the m2p_override, these pages will never be returned by
> > mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
> > always fail, so the pfn of the frontend will be returned instead
> > (resulting in a deadlock because the frontend pages are already locked).
> > 
> > However m2p_add_override can easily find out whether another pfn
> > corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
> > in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.
> > 
> > This allows the backend to perform direct_IO on these pages, but as a
> > side effect prevents the frontend from using get_user_pages_fast on
> > them while they are being shared with the backend.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > ---
> >  arch/x86/xen/p2m.c |   18 ++++++++++++++++++
> >  1 files changed, 18 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
> > index 7ece122..c62ae5c 100644
> > --- a/arch/x86/xen/p2m.c
> > +++ b/arch/x86/xen/p2m.c
> > @@ -687,6 +687,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
> >  	unsigned long uninitialized_var(address);
> >  	unsigned level;
> >  	pte_t *ptep = NULL;
> > +	int ret = 0;
> >  
> >  	pfn = page_to_pfn(page);
> >  	if (!PageHighMem(page)) {
> > @@ -722,6 +723,16 @@ int m2p_add_override(unsigned long mfn, struct page *page,
> >  	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
> >  	spin_unlock_irqrestore(&m2p_override_lock, flags);
> >  
> > +	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
> > +	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other
> 
> <nods> In other words, the MFN is local. And you want it to be forced
> to be !local - foreign right.

Yes


> > +	 * pfn so that the following mfn_to_pfn(mfn) calls will return the
> 
> .. the other pfn being. So we want to override p2m(m2p(mfn)) == mfn[frontend]
> so that it becomes p2m(m2p(mfn)) == mfn[backend]? (nods)

Exactly


> What happens if multiple m2p_add_override are called on the same page?
> This would be possible if the xen-blkfront is setup shared for the same
> disk, right?

It is possible even with a single disk, I can see the frontend sharing
three times the same page, before the first request has completed, when
mounting an ext4 partition.

But it is completely safe: m2p_add_override is going to set the page as
FOREIGN the first time and m2p_remove_override is going to remove the
bit only when the last page is unshared (it does so by checking
m2p_find_override(mfn) == NULL).


> Won't we loose the old frontend PFN -> backend MFN information then as
> we would overwrite the old P2M relationship?

No, we are just changing it to be:

old frontend PFN -> (backend MFN | FOREIGN_FRAME_BIT)


> > +	 * pfn from the m2p_override (the backend pfn) instead.
> 
> Can you explain in the comment why we want to do that. I think
> I know, but I am not going to remember it in a month.

Good point.
The reason is that the pages that have been shared by xen-blkfront
are locked (lock_page, called by do_read_cache_page).
When the userspace backend tries to use them with direct_IO, mfn_to_pfn
returns the pfn of the frontend, so do_blockdev_direct_IO is going to
try to lock the same pages again.
I'll add this comment to the commit message.


> > +	 * As a side effect GUPF might not be safe on the frontend pages
> > +	 * while they are being shared with the backend. */
> 
> How is it not safe?

Because get_user_pages_fast ends up calling mfn_to_pfn that would now
return the backend pfn rather than the frontend pfn.


> > +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> > +	if (ret >= 0 && get_phys_to_machine(pfn) == mfn)
> 
> if (ret == 0)
> 
> [get_user only provides -EFAULT or 0]

OK, I'll change the check.


> > +		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
> > +
> >  	return 0;
> >  }
> >  EXPORT_SYMBOL_GPL(m2p_add_override);
> > @@ -733,6 +744,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
> >  	unsigned long uninitialized_var(address);
> >  	unsigned level;
> >  	pte_t *ptep = NULL;
> > +	int ret = 0;
> >  
> >  	pfn = page_to_pfn(page);
> >  	mfn = get_phys_to_machine(pfn);
> > @@ -802,6 +814,12 @@ int m2p_remove_override(struct page *page, bool clear_pte)
> >  	} else
> >  		set_phys_to_machine(pfn, page->index);
> >  
> 
> You also need a comment here.

OK, I'll add one.


> > +	mfn &= ~FOREIGN_FRAME_BIT;
> > +	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
> > +	if (ret >= 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&
> 
> ret == 0

OK

> > +			m2p_find_override(mfn) == NULL)
> > +		set_phys_to_machine(pfn, mfn);
> > +
> >  	return 0;
> >  }
> >  EXPORT_SYMBOL_GPL(m2p_remove_override);
> > -- 
> > 1.7.2.5
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:39:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:39:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFWi-0007Nq-Pj; Wed, 23 May 2012 17:39:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFWh-0007Nj-Nt
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:39:11 +0000
Received: from [85.158.138.51:60134] by server-11.bemta-3.messagelabs.com id
	08/3B-20431-EB02DBF4; Wed, 23 May 2012 17:39:10 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337794747!28830632!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14182 invoked from network); 23 May 2012 17:39:08 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:39:08 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHd4d0029540
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:39:05 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHd4u3001230
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:39:04 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHd4jF009017; Wed, 23 May 2012 12:39:04 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:39:03 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 84E2C402FB; Wed, 23 May 2012 13:32:32 -0400 (EDT)
Date: Wed, 23 May 2012 13:32:32 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Message-ID: <20120523173232.GA25974@phenom.dumpdata.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
	<4FBD0A19.30701@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBD0A19.30701@citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] fixes to stable/for-linus-3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 05:02:33PM +0100, David Vrabel wrote:
> On 21/05/12 22:42, Konrad Rzeszutek Wilk wrote:
> > 
> > The autoballoon one would try to balloon up to E820_MAX when
> > there were no dom0_mem=.. argument.
> 
> I don't see this behaviour and looking at the code I don't see how it
> could.  The autoballoon code only populates pages that were released so
> it won't go above xen_start_info->nr_pages.

You are right. The ballooning up seems to be done by some other piece
of code.
> 
> Do you have any logs showing the problem behaviour?

I did. Let me re-run it and send it along.

> 
> > The patch fixes it, and
> > is also makes the dom0_mem=1G case work better (I think?). The
> > other solution would be to use the current_reservation patch
> > I posted a while back to work-around when no dom0_mem= argument
> > is used.
> 
> David
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:39:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:39:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFWi-0007Nq-Pj; Wed, 23 May 2012 17:39:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFWh-0007Nj-Nt
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:39:11 +0000
Received: from [85.158.138.51:60134] by server-11.bemta-3.messagelabs.com id
	08/3B-20431-EB02DBF4; Wed, 23 May 2012 17:39:10 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337794747!28830632!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14182 invoked from network); 23 May 2012 17:39:08 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:39:08 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHd4d0029540
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:39:05 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHd4u3001230
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:39:04 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHd4jF009017; Wed, 23 May 2012 12:39:04 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:39:03 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 84E2C402FB; Wed, 23 May 2012 13:32:32 -0400 (EDT)
Date: Wed, 23 May 2012 13:32:32 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Message-ID: <20120523173232.GA25974@phenom.dumpdata.com>
References: <1337636562-9579-1-git-send-email-konrad.wilk@oracle.com>
	<4FBD0A19.30701@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBD0A19.30701@citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: Re: [Xen-devel] [PATCH] fixes to stable/for-linus-3.5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 05:02:33PM +0100, David Vrabel wrote:
> On 21/05/12 22:42, Konrad Rzeszutek Wilk wrote:
> > 
> > The autoballoon one would try to balloon up to E820_MAX when
> > there were no dom0_mem=.. argument.
> 
> I don't see this behaviour and looking at the code I don't see how it
> could.  The autoballoon code only populates pages that were released so
> it won't go above xen_start_info->nr_pages.

You are right. The ballooning up seems to be done by some other piece
of code.
> 
> Do you have any logs showing the problem behaviour?

I did. Let me re-run it and send it along.

> 
> > The patch fixes it, and
> > is also makes the dom0_mem=1G case work better (I think?). The
> > other solution would be to use the current_reservation patch
> > I posted a while back to work-around when no dom0_mem= argument
> > is used.
> 
> David
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkn-0007f2-04; Wed, 23 May 2012 17:53:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkl-0007db-8k
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:43 +0000
Received: from [85.158.138.51:63073] by server-6.bemta-3.messagelabs.com id
	28/C9-18175-6242DBF4; Wed, 23 May 2012 17:53:42 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337795620!28744128!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0OTQ2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6925 invoked from network); 23 May 2012 17:53:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 17:53:41 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrbcD011354
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:38 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHraCA027248
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHra7S018611; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4E59C40290; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:46:59 -0400
Message-Id: <1337795222-29946-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Subject: [Xen-devel] [PATCH 1/4] xen/hvc: Collapse error logic.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

All of the error paths are doing the same logic. In which
case we might as well collapse them in one path.

CC: stable@kernel.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index d3d91da..afc7fc2 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -216,22 +216,16 @@ static int xen_hvm_console_init(void)
 		return 0;
 
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
-	if (r < 0) {
-		kfree(info);
-		return -ENODEV;
-	}
+	if (r < 0)
+		goto err;
 	info->evtchn = v;
 	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
-	if (r < 0) {
-		kfree(info);
-		return -ENODEV;
-	}
+	if (r < 0)
+		goto err;
 	mfn = v;
 	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
-	if (info->intf == NULL) {
-		kfree(info);
-		return -ENODEV;
-	}
+	if (info->intf == NULL)
+		goto err;
 	info->vtermno = HVC_COOKIE;
 
 	spin_lock(&xencons_lock);
@@ -239,6 +233,9 @@ static int xen_hvm_console_init(void)
 	spin_unlock(&xencons_lock);
 
 	return 0;
+err:
+	kfree(info);
+	return -ENODEV;
 }
 
 static int xen_pv_console_init(void)
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkn-0007f2-04; Wed, 23 May 2012 17:53:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkl-0007db-8k
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:43 +0000
Received: from [85.158.138.51:63073] by server-6.bemta-3.messagelabs.com id
	28/C9-18175-6242DBF4; Wed, 23 May 2012 17:53:42 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337795620!28744128!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0OTQ2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6925 invoked from network); 23 May 2012 17:53:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 17:53:41 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrbcD011354
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:38 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHraCA027248
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHra7S018611; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4E59C40290; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:46:59 -0400
Message-Id: <1337795222-29946-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Subject: [Xen-devel] [PATCH 1/4] xen/hvc: Collapse error logic.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

All of the error paths are doing the same logic. In which
case we might as well collapse them in one path.

CC: stable@kernel.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index d3d91da..afc7fc2 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -216,22 +216,16 @@ static int xen_hvm_console_init(void)
 		return 0;
 
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
-	if (r < 0) {
-		kfree(info);
-		return -ENODEV;
-	}
+	if (r < 0)
+		goto err;
 	info->evtchn = v;
 	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
-	if (r < 0) {
-		kfree(info);
-		return -ENODEV;
-	}
+	if (r < 0)
+		goto err;
 	mfn = v;
 	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
-	if (info->intf == NULL) {
-		kfree(info);
-		return -ENODEV;
-	}
+	if (info->intf == NULL)
+		goto err;
 	info->vtermno = HVC_COOKIE;
 
 	spin_lock(&xencons_lock);
@@ -239,6 +233,9 @@ static int xen_hvm_console_init(void)
 	spin_unlock(&xencons_lock);
 
 	return 0;
+err:
+	kfree(info);
+	return -ENODEV;
 }
 
 static int xen_pv_console_init(void)
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkl-0007eh-Jz; Wed, 23 May 2012 17:53:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkk-0007dS-Ah
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:42 +0000
Received: from [85.158.143.35:16846] by server-1.bemta-4.messagelabs.com id
	9E/E5-00342-5242DBF4; Wed, 23 May 2012 17:53:41 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337795619!12541440!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0OTQ2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16634 invoked from network); 23 May 2012 17:53:40 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:53:40 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrbtF011346
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:37 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHravA011191
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHrae0000821; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5AC774032D; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:47:00 -0400
Message-Id: <1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
	HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We weren't resetting the parameter to be passed in to a
known default. Nor were we checking the return value of
hvm_get_parameter.

CC: stable@kernel.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index afc7fc2..3277f0e 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
 	if (r < 0)
 		goto err;
 	info->evtchn = v;
-	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
+	v = 0;
+	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
 	if (r < 0)
 		goto err;
 	mfn = v;
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkl-0007dc-6g; Wed, 23 May 2012 17:53:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkj-0007dR-LX
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:41 +0000
Received: from [85.158.143.35:16819] by server-3.bemta-4.messagelabs.com id
	CC/7D-05853-4242DBF4; Wed, 23 May 2012 17:53:40 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337795618!13752677!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15083 invoked from network); 23 May 2012 17:53:40 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:53:40 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrblu011158
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:38 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHravJ019860
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHraAp019621; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 63F3340357; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:47:01 -0400
Message-Id: <1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Subject: [Xen-devel] [PATCH 3/4] xen/hvc: Check
	HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We need to make sure that those parameters are setup to be correct.
As such the value of 0 is deemed invalid and we find that we
bail out. The hypervisor sets by default all of them to be zero
and when the hypercall is done does a simple:

 a.value = d->arch.hvm_domain.params[a.index];

Which means that if the Xen toolstack forgot to setup the proper
HVM_PARAM_CONSOLE_EVTCHN, we would get the default value of 0
and use that.

CC: stable@kernel.org
Fixes-Oracle-Bug: 14091238
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index 3277f0e..5fb1cb9 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -216,12 +216,12 @@ static int xen_hvm_console_init(void)
 		return 0;
 
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	info->evtchn = v;
 	v = 0;
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	mfn = v;
 	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkl-0007eh-Jz; Wed, 23 May 2012 17:53:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkk-0007dS-Ah
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:42 +0000
Received: from [85.158.143.35:16846] by server-1.bemta-4.messagelabs.com id
	9E/E5-00342-5242DBF4; Wed, 23 May 2012 17:53:41 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337795619!12541440!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0OTQ2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16634 invoked from network); 23 May 2012 17:53:40 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:53:40 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrbtF011346
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:37 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHravA011191
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHrae0000821; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5AC774032D; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:47:00 -0400
Message-Id: <1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
	HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We weren't resetting the parameter to be passed in to a
known default. Nor were we checking the return value of
hvm_get_parameter.

CC: stable@kernel.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index afc7fc2..3277f0e 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
 	if (r < 0)
 		goto err;
 	info->evtchn = v;
-	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
+	v = 0;
+	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
 	if (r < 0)
 		goto err;
 	mfn = v;
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkl-0007dc-6g; Wed, 23 May 2012 17:53:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkj-0007dR-LX
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:41 +0000
Received: from [85.158.143.35:16819] by server-3.bemta-4.messagelabs.com id
	CC/7D-05853-4242DBF4; Wed, 23 May 2012 17:53:40 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337795618!13752677!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15083 invoked from network); 23 May 2012 17:53:40 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:53:40 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrblu011158
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:38 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHravJ019860
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHraAp019621; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 63F3340357; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:47:01 -0400
Message-Id: <1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Subject: [Xen-devel] [PATCH 3/4] xen/hvc: Check
	HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We need to make sure that those parameters are setup to be correct.
As such the value of 0 is deemed invalid and we find that we
bail out. The hypervisor sets by default all of them to be zero
and when the hypercall is done does a simple:

 a.value = d->arch.hvm_domain.params[a.index];

Which means that if the Xen toolstack forgot to setup the proper
HVM_PARAM_CONSOLE_EVTCHN, we would get the default value of 0
and use that.

CC: stable@kernel.org
Fixes-Oracle-Bug: 14091238
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index 3277f0e..5fb1cb9 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -216,12 +216,12 @@ static int xen_hvm_console_init(void)
 		return 0;
 
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	info->evtchn = v;
 	v = 0;
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	mfn = v;
 	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkn-0007fK-OU; Wed, 23 May 2012 17:53:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkl-0007dk-TQ
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:44 +0000
Received: from [85.158.143.99:11688] by server-2.bemta-4.messagelabs.com id
	27/07-12211-7242DBF4; Wed, 23 May 2012 17:53:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337795619!19829976!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10059 invoked from network); 23 May 2012 17:53:41 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 17:53:41 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrb54011159
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:38 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHraEd027246
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHraBb000822; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6E01540366; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:47:02 -0400
Message-Id: <1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Subject: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick lookup
	found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

All of the bind_XYZ_to_irq do a quick lookup to see if the
event exists. And if they that value is returned instead of
initialized. This patch adds an extra logic to check that the
type returned is the proper one and we can use it to find
drivers that are doing something naught.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/xen/events.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index faae2f9..093851b 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
 					      handle_edge_irq, "event");
 
 		xen_irq_info_evtchn_init(irq, evtchn);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_EVTCHN);
 	}
 
 out:
@@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
 		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_IPI);
 	}
-
  out:
 	mutex_unlock(&irq_mapping_update_lock);
 	return irq;
@@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
 		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_VIRQ);
 	}
-
 out:
 	mutex_unlock(&irq_mapping_update_lock);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkn-0007fK-OU; Wed, 23 May 2012 17:53:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkl-0007dk-TQ
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:44 +0000
Received: from [85.158.143.99:11688] by server-2.bemta-4.messagelabs.com id
	27/07-12211-7242DBF4; Wed, 23 May 2012 17:53:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337795619!19829976!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ3NTE4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10059 invoked from network); 23 May 2012 17:53:41 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 23 May 2012 17:53:41 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrb54011159
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:38 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHraEd027246
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHraBb000822; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6E01540366; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:47:02 -0400
Message-Id: <1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
In-Reply-To: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Subject: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick lookup
	found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

All of the bind_XYZ_to_irq do a quick lookup to see if the
event exists. And if they that value is returned instead of
initialized. This patch adds an extra logic to check that the
type returned is the proper one and we can use it to find
drivers that are doing something naught.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/xen/events.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index faae2f9..093851b 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
 					      handle_edge_irq, "event");
 
 		xen_irq_info_evtchn_init(irq, evtchn);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_EVTCHN);
 	}
 
 out:
@@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
 		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_IPI);
 	}
-
  out:
 	mutex_unlock(&irq_mapping_update_lock);
 	return irq;
@@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
 		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info && info->type != IRQT_VIRQ);
 	}
-
 out:
 	mutex_unlock(&irq_mapping_update_lock);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkn-0007f9-CU; Wed, 23 May 2012 17:53:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkl-0007dR-GT
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:43 +0000
Received: from [85.158.143.99:11689] by server-3.bemta-4.messagelabs.com id
	F8/8D-05853-7242DBF4; Wed, 23 May 2012 17:53:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337795620!19684143!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0OTQ2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8521 invoked from network); 23 May 2012 17:53:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:53:41 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrbvT011348
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:37 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHra8H011193
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHraB1018610; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 47B6E402FB; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:46:58 -0400
Message-Id: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH] bug-fixes to hvc-xen driver in v3.4 (and
	earlier).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Three of the patches could be squashed in one, but it makes more sense
to review them as three. These patches fix the case of an PVHVM
guest not being able to resume propely b/c of hitting:

 142         BUG_ON(info->type != IRQT_UNBOUND && info->type != type);

(in events.c) and also adds a WARN to catch situations like these.

The reason for this is that the Xen python toolstack does not
setup HVM_PARAM_CONSOLE_EVTCHN parameter, so we would use the
default value (0).. and ended up using the same IRQ line as the
xen-platform-pci driver. Huh? Note: the 'xl' toolstack _does_
set it.

The reason is that the when the xen-platform-pci starts, it requests
an PIRQ, and the info structure in events.c is filled as such:

 info->type = IRQT_PIRQ
 info->events = 0
 info->irq = 28
 evtchn_to_irq[0] = 28

And when xen_hvc_init is called during bootup, it figures out the
event from HVM_PARAM_CONSOLE_EVTCHN as zero, and plugs them in:

 532                 info->irq = bind_evtchn_to_irq(info->evtchn);

getting IRQ 28 as bind_evtchn_to_irq does a quick lookup:

 818         irq = evtchn_to_irq[evtchn];

and gives an already used IRQ line.

When we suspend the guest (xm save), then try to resume, we call
xen_console_resume, which does:

301         if (info != NULL && info->irq)
302                 rebind_evtchn_irq(info->evtchn, info->irq);

and that triggers the BUG_ON mentioned above (b/c the type
we want is IRQT_EVTCHN and the type info->type is IRQT_PIRQ).

 drivers/tty/hvc/hvc_xen.c |   24 +++++++++++-------------
 drivers/xen/events.c      |   11 +++++++++--
 2 files changed, 20 insertions(+), 15 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:54:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFkn-0007f9-CU; Wed, 23 May 2012 17:53:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXFkl-0007dR-GT
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:53:43 +0000
Received: from [85.158.143.99:11689] by server-3.bemta-4.messagelabs.com id
	F8/8D-05853-7242DBF4; Wed, 23 May 2012 17:53:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337795620!19684143!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU0OTQ2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8521 invoked from network); 23 May 2012 17:53:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 17:53:41 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4NHrbvT011348
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 23 May 2012 17:53:37 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4NHra8H011193
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 23 May 2012 17:53:37 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4NHraB1018610; Wed, 23 May 2012 12:53:36 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 10:53:36 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 47B6E402FB; Wed, 23 May 2012 13:47:05 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Date: Wed, 23 May 2012 13:46:58 -0400
Message-Id: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.5
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH] bug-fixes to hvc-xen driver in v3.4 (and
	earlier).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Three of the patches could be squashed in one, but it makes more sense
to review them as three. These patches fix the case of an PVHVM
guest not being able to resume propely b/c of hitting:

 142         BUG_ON(info->type != IRQT_UNBOUND && info->type != type);

(in events.c) and also adds a WARN to catch situations like these.

The reason for this is that the Xen python toolstack does not
setup HVM_PARAM_CONSOLE_EVTCHN parameter, so we would use the
default value (0).. and ended up using the same IRQ line as the
xen-platform-pci driver. Huh? Note: the 'xl' toolstack _does_
set it.

The reason is that the when the xen-platform-pci starts, it requests
an PIRQ, and the info structure in events.c is filled as such:

 info->type = IRQT_PIRQ
 info->events = 0
 info->irq = 28
 evtchn_to_irq[0] = 28

And when xen_hvc_init is called during bootup, it figures out the
event from HVM_PARAM_CONSOLE_EVTCHN as zero, and plugs them in:

 532                 info->irq = bind_evtchn_to_irq(info->evtchn);

getting IRQ 28 as bind_evtchn_to_irq does a quick lookup:

 818         irq = evtchn_to_irq[evtchn];

and gives an already used IRQ line.

When we suspend the guest (xm save), then try to resume, we call
xen_console_resume, which does:

301         if (info != NULL && info->irq)
302                 rebind_evtchn_irq(info->evtchn, info->irq);

and that triggers the BUG_ON mentioned above (b/c the type
we want is IRQT_EVTCHN and the type info->type is IRQT_PIRQ).

 drivers/tty/hvc/hvc_xen.c |   24 +++++++++++-------------
 drivers/xen/events.c      |   11 +++++++++--
 2 files changed, 20 insertions(+), 15 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:55:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFmZ-00081o-FJ; Wed, 23 May 2012 17:55:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXFmY-00081a-37
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:55:34 +0000
Received: from [193.109.254.147:54467] by server-3.bemta-14.messagelabs.com id
	89/4F-23274-5942DBF4; Wed, 23 May 2012 17:55:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337795732!10654232!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14718 invoked from network); 23 May 2012 17:55:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:55:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12634482"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 17:55:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 18:55:31 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXFmV-0000AZ-P3;
	Wed, 23 May 2012 17:55:31 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXFmV-0001Vk-GN;
	Wed, 23 May 2012 18:55:31 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12965-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 18:55:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12965: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12965 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12965/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pair        16 guest-start                 fail pass in 12954
 test-amd64-amd64-xl-sedf      9 guest-start                 fail pass in 12954
 test-amd64-amd64-win     12 guest-localmigrate/x10 fail in 12954 pass in 12965

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2   fail in 12954 like 12826
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12954 like 12826

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 12 guest-localmigrate/x10   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                091ce3d38e5e57cf7dd44d66335725910e928f59
baseline version:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=linux-3.0
+ revision=091ce3d38e5e57cf7dd44d66335725910e928f59
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push linux-3.0 091ce3d38e5e57cf7dd44d66335725910e928f59
+ branch=linux-3.0
+ revision=091ce3d38e5e57cf7dd44d66335725910e928f59
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=linux
+ xenbranch=xen-unstable
+ '[' xlinux = xlinux ']'
+ linuxbranch=linux-3.0
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.linux-3.0
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.linux-3.0
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree linux-3.0
+ case $1 in
+ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+ : linux-3.0.y
+ : linux-3.0.y
+ : git
+ : git
+ : git://xenbits.xen.org/linux-pvops.git
+ : xen@xenbits.xensource.com:git/linux-pvops.git
+ : tested/linux-3.0
+ : tested/linux-3.0
+ return 0
+ cd /export/home/osstest/repos/linux
+ git push xen@xenbits.xensource.com:git/linux-pvops.git 091ce3d38e5e57cf7dd44d66335725910e928f59:tested/linux-3.0
Counting objects: 1   
Counting objects: 424, done.
Compressing objects:   1% (1/55)   
Compressing objects:   3% (2/55)   
Compressing objects:   5% (3/55)   
Compressing objects:   7% (4/55)   
Compressing objects:   9% (5/55)   
Compressing objects:  10% (6/55)   
Compressing objects:  12% (7/55)   
Compressing objects:  14% (8/55)   
Compressing objects:  16% (9/55)   
Compressing objects:  18% (10/55)   
Compressing objects:  20% (11/55)   
Compressing objects:  21% (12/55)   
Compressing objects:  23% (13/55)   
Compressing objects:  25% (14/55)   
Compressing objects:  27% (15/55)   
Compressing objects:  29% (16/55)   
Compressing objects:  30% (17/55)   
Compressing objects:  32% (18/55)   
Compressing objects:  34% (19/55)   
Compressing objects:  36% (20/55)   
Compressing objects:  38% (21/55)   
Compressing objects:  40% (22/55)   
Compressing objects:  41% (23/55)   
Compressing objects:  43% (24/55)   
Compressing objects:  45% (25/55)   
Compressing objects:  47% (26/55)   
Compressing objects:  49% (27/55)   
Compressing objects:  50% (28/55)   
Compressing objects:  52% (29/55)   
Compressing objects:  54% (30/55)   
Compressing objects:  56% (31/55)   
Compressing objects:  58% (32/55)   
Compressing objects:  60% (33/55)   
Compressing objects:  61% (34/55)   
Compressing objects:  63% (35/55)   
Compressing objects:  65% (36/55)   
Compressing objects:  67% (37/55)   
Compressing objects:  69% (38/55)   
Compressing objects:  70% (39/55)   
Compressing objects:  72% (40/55)   
Compressing objects:  74% (41/55)   
Compressing objects:  76% (42/55)   
Compressing objects:  78% (43/55)   
Compressing objects:  80% (44/55)   
Compressing objects:  81% (45/55)   
Compressing objects:  83% (46/55)   
Compressing objects:  85% (47/55)   
Compressing objects:  87% (48/55)   
Compressing objects:  89% (49/55)   
Compressing objects:  90% (50/55)   
Compressing objects:  92% (51/55)   
Compressing objects:  94% (52/55)   
Compressing objects:  96% (53/55)   
Compressing objects:  98% (54/55)   
Compressing objects: 100% (55/55)   
Compressing objects: 100% (55/55), done.
Writing objects:   0% (1/309)   
Writing objects:   1% (4/309)   
Writing objects:   2% (7/309)   
Writing objects:   3% (10/309)   
Writing objects:   4% (13/309)   
Writing objects:   5% (16/309)   
Writing objects:   6% (19/309)   
Writing objects:   7% (22/309)   
Writing objects:   8% (25/309)   
Writing objects:   9% (28/309)   
Writing objects:  10% (31/309)   
Writing objects:  11% (34/309)   
Writing objects:  12% (38/309)   
Writing objects:  13% (41/309)   
Writing objects:  14% (44/309)   
Writing objects:  15% (47/309)   
Writing objects:  16% (50/309)   
Writing objects:  17% (53/309)   
Writing objects:  18% (56/309)   
Writing objects:  19% (59/309)   
Writing objects:  20% (62/309)   
Writing objects:  21% (65/309)   
Writing objects:  22% (68/309)   
Writing objects:  23% (72/309)   
Writing objects:  24% (75/309)   
Writing objects:  25% (78/309)   
Writing objects:  26% (81/309)   
Writing objects:  27% (84/309)   
Writing objects:  28% (87/309)   
Writing objects:  29% (90/309)   
Writing objects:  30% (93/309)   
Writing objects:  31% (96/309)   
Writing objects:  32% (99/309)   
Writing objects:  33% (102/309)   
Writing objects:  34% (106/309)   
Writing objects:  35% (109/309)   
Writing objects:  36% (112/309)   
Writing objects:  37% (115/309)   
Writing objects:  38% (118/309)   
Writing objects:  39% (121/309)   
Writing objects:  40% (124/309)   
Writing objects:  41% (127/309)   
Writing objects:  42% (130/309)   
Writing objects:  43% (133/309)   
Writing objects:  44% (136/309)   
Writing objects:  45% (140/309)   
Writing objects:  46% (143/309)   
Writing objects:  47% (146/309)   
Writing objects:  48% (149/309)   
Writing objects:  49% (152/309)   
Writing objects:  50% (155/309)   
Writing objects:  51% (158/309)   
Writing objects:  52% (161/309)   
Writing objects:  53% (164/309)   
Writing objects:  54% (167/309)   
Writing objects:  55% (170/309)   
Writing objects:  56% (174/309)   
Writing objects:  57% (177/309)   
Writing objects:  58% (180/309)   
Writing objects:  59% (183/309)   
Writing objects:  60% (186/309)   
Writing objects:  61% (189/309)   
Writing objects:  62% (192/309)   
Writing objects:  63% (195/309)   
Writing objects:  64% (198/309)   
Writing objects:  65% (201/309)   
Writing objects:  66% (204/309)   
Writing objects:  67% (208/309)   
Writing objects:  68% (211/309)   
Writing objects:  69% (214/309)   
Writing objects:  70% (217/309)   
Writing objects:  71% (220/309)   
Writing objects:  72% (223/309)   
Writing objects:  73% (226/309)   
Writing objects:  74% (229/309)   
Writing objects:  75% (232/309)   
Writing objects:  76% (235/309)   
Writing objects:  77% (238/309)   
Writing objects:  78% (242/309)   
Writing objects:  79% (245/309)   
Writing objects:  80% (248/309)   
Writing objects:  81% (251/309)   
Writing objects:  82% (254/309)   
Writing objects:  83% (257/309)   
Writing objects:  84% (260/309)   
Writing objects:  85% (263/309)   
Writing objects:  86% (266/309)   
Writing objects:  87% (269/309)   
Writing objects:  88% (272/309)   
Writing objects:  89% (276/309)   
Writing objects:  90% (279/309)   
Writing objects:  91% (282/309)   
Writing objects:  92% (285/309)   
Writing objects:  93% (288/309)   
Writing objects:  94% (291/309)   
Writing objects:  95% (294/309)   
Writing objects:  96% (297/309)   
Writing objects:  97% (300/309)   
Writing objects:  98% (303/309)   
Writing objects:  99% (306/309)   
Writing objects: 100% (309/309)   
Writing objects: 100% (309/309), 81.85 KiB, done.
Total 309 (delta 253), reused 309 (delta 253)
To xen@xenbits.xensource.com:git/linux-pvops.git
   bea3738..091ce3d  091ce3d38e5e57cf7dd44d66335725910e928f59 -> tested/linux-3.0
+ exit 0

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:55:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFmZ-00081o-FJ; Wed, 23 May 2012 17:55:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXFmY-00081a-37
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:55:34 +0000
Received: from [193.109.254.147:54467] by server-3.bemta-14.messagelabs.com id
	89/4F-23274-5942DBF4; Wed, 23 May 2012 17:55:33 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337795732!10654232!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAwMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14718 invoked from network); 23 May 2012 17:55:32 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:55:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330905600"; d="scan'208";a="12634482"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 17:55:32 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 18:55:31 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXFmV-0000AZ-P3;
	Wed, 23 May 2012 17:55:31 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXFmV-0001Vk-GN;
	Wed, 23 May 2012 18:55:31 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12965-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 18:55:31 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [linux-3.0 test] 12965: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12965 linux-3.0 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12965/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pair        16 guest-start                 fail pass in 12954
 test-amd64-amd64-xl-sedf      9 guest-start                 fail pass in 12954
 test-amd64-amd64-win     12 guest-localmigrate/x10 fail in 12954 pass in 12965

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  9 guest-start.2   fail in 12954 like 12826
 test-amd64-i386-qemuu-rhel6hvm-intel  9 guest-start.2 fail in 12954 like 12826

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup                fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 12 guest-localmigrate/x10   fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 linux                091ce3d38e5e57cf7dd44d66335725910e928f59
baseline version:
 linux                bea37381fd9a34c6660e5195d31beea86aa3dda3

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=linux-3.0
+ revision=091ce3d38e5e57cf7dd44d66335725910e928f59
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push linux-3.0 091ce3d38e5e57cf7dd44d66335725910e928f59
+ branch=linux-3.0
+ revision=091ce3d38e5e57cf7dd44d66335725910e928f59
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=linux
+ xenbranch=xen-unstable
+ '[' xlinux = xlinux ']'
+ linuxbranch=linux-3.0
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.linux-3.0
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.linux-3.0
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree linux-3.0
+ case $1 in
+ : git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+ : linux-3.0.y
+ : linux-3.0.y
+ : git
+ : git
+ : git://xenbits.xen.org/linux-pvops.git
+ : xen@xenbits.xensource.com:git/linux-pvops.git
+ : tested/linux-3.0
+ : tested/linux-3.0
+ return 0
+ cd /export/home/osstest/repos/linux
+ git push xen@xenbits.xensource.com:git/linux-pvops.git 091ce3d38e5e57cf7dd44d66335725910e928f59:tested/linux-3.0
Counting objects: 1   
Counting objects: 424, done.
Compressing objects:   1% (1/55)   
Compressing objects:   3% (2/55)   
Compressing objects:   5% (3/55)   
Compressing objects:   7% (4/55)   
Compressing objects:   9% (5/55)   
Compressing objects:  10% (6/55)   
Compressing objects:  12% (7/55)   
Compressing objects:  14% (8/55)   
Compressing objects:  16% (9/55)   
Compressing objects:  18% (10/55)   
Compressing objects:  20% (11/55)   
Compressing objects:  21% (12/55)   
Compressing objects:  23% (13/55)   
Compressing objects:  25% (14/55)   
Compressing objects:  27% (15/55)   
Compressing objects:  29% (16/55)   
Compressing objects:  30% (17/55)   
Compressing objects:  32% (18/55)   
Compressing objects:  34% (19/55)   
Compressing objects:  36% (20/55)   
Compressing objects:  38% (21/55)   
Compressing objects:  40% (22/55)   
Compressing objects:  41% (23/55)   
Compressing objects:  43% (24/55)   
Compressing objects:  45% (25/55)   
Compressing objects:  47% (26/55)   
Compressing objects:  49% (27/55)   
Compressing objects:  50% (28/55)   
Compressing objects:  52% (29/55)   
Compressing objects:  54% (30/55)   
Compressing objects:  56% (31/55)   
Compressing objects:  58% (32/55)   
Compressing objects:  60% (33/55)   
Compressing objects:  61% (34/55)   
Compressing objects:  63% (35/55)   
Compressing objects:  65% (36/55)   
Compressing objects:  67% (37/55)   
Compressing objects:  69% (38/55)   
Compressing objects:  70% (39/55)   
Compressing objects:  72% (40/55)   
Compressing objects:  74% (41/55)   
Compressing objects:  76% (42/55)   
Compressing objects:  78% (43/55)   
Compressing objects:  80% (44/55)   
Compressing objects:  81% (45/55)   
Compressing objects:  83% (46/55)   
Compressing objects:  85% (47/55)   
Compressing objects:  87% (48/55)   
Compressing objects:  89% (49/55)   
Compressing objects:  90% (50/55)   
Compressing objects:  92% (51/55)   
Compressing objects:  94% (52/55)   
Compressing objects:  96% (53/55)   
Compressing objects:  98% (54/55)   
Compressing objects: 100% (55/55)   
Compressing objects: 100% (55/55), done.
Writing objects:   0% (1/309)   
Writing objects:   1% (4/309)   
Writing objects:   2% (7/309)   
Writing objects:   3% (10/309)   
Writing objects:   4% (13/309)   
Writing objects:   5% (16/309)   
Writing objects:   6% (19/309)   
Writing objects:   7% (22/309)   
Writing objects:   8% (25/309)   
Writing objects:   9% (28/309)   
Writing objects:  10% (31/309)   
Writing objects:  11% (34/309)   
Writing objects:  12% (38/309)   
Writing objects:  13% (41/309)   
Writing objects:  14% (44/309)   
Writing objects:  15% (47/309)   
Writing objects:  16% (50/309)   
Writing objects:  17% (53/309)   
Writing objects:  18% (56/309)   
Writing objects:  19% (59/309)   
Writing objects:  20% (62/309)   
Writing objects:  21% (65/309)   
Writing objects:  22% (68/309)   
Writing objects:  23% (72/309)   
Writing objects:  24% (75/309)   
Writing objects:  25% (78/309)   
Writing objects:  26% (81/309)   
Writing objects:  27% (84/309)   
Writing objects:  28% (87/309)   
Writing objects:  29% (90/309)   
Writing objects:  30% (93/309)   
Writing objects:  31% (96/309)   
Writing objects:  32% (99/309)   
Writing objects:  33% (102/309)   
Writing objects:  34% (106/309)   
Writing objects:  35% (109/309)   
Writing objects:  36% (112/309)   
Writing objects:  37% (115/309)   
Writing objects:  38% (118/309)   
Writing objects:  39% (121/309)   
Writing objects:  40% (124/309)   
Writing objects:  41% (127/309)   
Writing objects:  42% (130/309)   
Writing objects:  43% (133/309)   
Writing objects:  44% (136/309)   
Writing objects:  45% (140/309)   
Writing objects:  46% (143/309)   
Writing objects:  47% (146/309)   
Writing objects:  48% (149/309)   
Writing objects:  49% (152/309)   
Writing objects:  50% (155/309)   
Writing objects:  51% (158/309)   
Writing objects:  52% (161/309)   
Writing objects:  53% (164/309)   
Writing objects:  54% (167/309)   
Writing objects:  55% (170/309)   
Writing objects:  56% (174/309)   
Writing objects:  57% (177/309)   
Writing objects:  58% (180/309)   
Writing objects:  59% (183/309)   
Writing objects:  60% (186/309)   
Writing objects:  61% (189/309)   
Writing objects:  62% (192/309)   
Writing objects:  63% (195/309)   
Writing objects:  64% (198/309)   
Writing objects:  65% (201/309)   
Writing objects:  66% (204/309)   
Writing objects:  67% (208/309)   
Writing objects:  68% (211/309)   
Writing objects:  69% (214/309)   
Writing objects:  70% (217/309)   
Writing objects:  71% (220/309)   
Writing objects:  72% (223/309)   
Writing objects:  73% (226/309)   
Writing objects:  74% (229/309)   
Writing objects:  75% (232/309)   
Writing objects:  76% (235/309)   
Writing objects:  77% (238/309)   
Writing objects:  78% (242/309)   
Writing objects:  79% (245/309)   
Writing objects:  80% (248/309)   
Writing objects:  81% (251/309)   
Writing objects:  82% (254/309)   
Writing objects:  83% (257/309)   
Writing objects:  84% (260/309)   
Writing objects:  85% (263/309)   
Writing objects:  86% (266/309)   
Writing objects:  87% (269/309)   
Writing objects:  88% (272/309)   
Writing objects:  89% (276/309)   
Writing objects:  90% (279/309)   
Writing objects:  91% (282/309)   
Writing objects:  92% (285/309)   
Writing objects:  93% (288/309)   
Writing objects:  94% (291/309)   
Writing objects:  95% (294/309)   
Writing objects:  96% (297/309)   
Writing objects:  97% (300/309)   
Writing objects:  98% (303/309)   
Writing objects:  99% (306/309)   
Writing objects: 100% (309/309)   
Writing objects: 100% (309/309), 81.85 KiB, done.
Total 309 (delta 253), reused 309 (delta 253)
To xen@xenbits.xensource.com:git/linux-pvops.git
   bea3738..091ce3d  091ce3d38e5e57cf7dd44d66335725910e928f59 -> tested/linux-3.0
+ exit 0

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:57:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:57:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFoS-0008Iy-WB; Wed, 23 May 2012 17:57:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXFoR-0008IY-MD
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:57:31 +0000
Received: from [193.109.254.147:63878] by server-5.bemta-14.messagelabs.com id
	18/75-30733-A052DBF4; Wed, 23 May 2012 17:57:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337795848!10654422!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25487 invoked from network); 23 May 2012 17:57:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:57:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25537232"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 13:57:27 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 13:57:27 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXFoH-0002sB-Qj; Wed, 23 May 2012 18:57:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: konrad.wilk@oracle.com
Date: Wed, 23 May 2012 18:57:20 +0100
Message-ID: <1337795840-10061-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v2] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When the frontend and the backend reside on the same domain, even if we
add pages to the m2p_override, these pages will never be returned by
mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
always fail, so the pfn of the frontend will be returned instead
(resulting in a deadlock because the frontend pages are already locked).

However m2p_add_override can easily find out whether another pfn
corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.

This allows the backend to perform direct_IO on these pages, but as a
side effect prevents the frontend from using get_user_pages_fast on
them while they are being shared with the backend.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 arch/x86/xen/p2m.c |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 1b267e7..00a0385 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -686,6 +686,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	if (!PageHighMem(page)) {
@@ -721,6 +722,24 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
 	spin_unlock_irqrestore(&m2p_override_lock, flags);
 
+	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
+	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other
+	 * pfn so that the following mfn_to_pfn(mfn) calls will return the
+	 * pfn from the m2p_override (the backend pfn) instead.
+	 * We need to do this because the pages shared by the frontend
+	 * (xen-blkfront) can be already locked (lock_page, called by
+	 * do_read_cache_page); when the userspace backend tries to use them
+	 * with direct_IO, mfn_to_pfn returns the pfn of the frontend, so
+	 * do_blockdev_direct_IO is going to try to lock the same pages
+	 * again resulting in a deadlock.
+	 * As a side effect get_user_pages_fast might not be safe on the
+	 * frontend pages while they are being shared with the backend,
+	 * because mfn_to_pfn (that ends up being called by GUPF) will
+	 * return the backend pfn rather than the frontend pfn. */
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret == 0 && get_phys_to_machine(pfn) == mfn)
+		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_add_override);
@@ -732,6 +751,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	mfn = get_phys_to_machine(pfn);
@@ -801,6 +821,22 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	} else
 		set_phys_to_machine(pfn, page->index);
 
+	/* p2m(m2p(mfn)) == FOREIGN_FRAME(mfn): the mfn is already present
+	 * somewhere in this domain, even before being added to the
+	 * m2p_override (see comment above in m2p_add_override).
+	 * If there are no other entries in the m2p_override corresponding
+	 * to this mfn, then remove the FOREIGN_FRAME_BIT from the p2m for
+	 * the original pfn (the one shared by the frontend): the backend
+	 * cannot do any IO on this page anymore because it has been
+	 * unshared. Removing the FOREIGN_FRAME_BIT from the p2m entry of
+	 * the original pfn causes mfn_to_pfn(mfn) to return the frontend
+	 * pfn again. */
+	mfn &= ~FOREIGN_FRAME_BIT;
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret == 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&
+			m2p_find_override(mfn) == NULL)
+		set_phys_to_machine(pfn, mfn);
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_remove_override);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 17:57:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 17:57:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXFoS-0008Iy-WB; Wed, 23 May 2012 17:57:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXFoR-0008IY-MD
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 17:57:31 +0000
Received: from [193.109.254.147:63878] by server-5.bemta-14.messagelabs.com id
	18/75-30733-A052DBF4; Wed, 23 May 2012 17:57:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337795848!10654422!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDUyMzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25487 invoked from network); 23 May 2012 17:57:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:57:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,645,1330923600"; d="scan'208";a="25537232"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 13:57:27 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 23 May 2012 13:57:27 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXFoH-0002sB-Qj; Wed, 23 May 2012 18:57:21 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: konrad.wilk@oracle.com
Date: Wed, 23 May 2012 18:57:20 +0100
Message-ID: <1337795840-10061-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
MIME-Version: 1.0
Cc: xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v2] xen: mark local pages as FOREIGN in the
	m2p_override
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When the frontend and the backend reside on the same domain, even if we
add pages to the m2p_override, these pages will never be returned by
mfn_to_pfn because the check "get_phys_to_machine(pfn) != mfn" will
always fail, so the pfn of the frontend will be returned instead
(resulting in a deadlock because the frontend pages are already locked).

However m2p_add_override can easily find out whether another pfn
corresponding to the mfn exists in the m2p, and can set the FOREIGN bit
in the p2m, making sure that mfn_to_pfn returns the pfn of the backend.

This allows the backend to perform direct_IO on these pages, but as a
side effect prevents the frontend from using get_user_pages_fast on
them while they are being shared with the backend.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 arch/x86/xen/p2m.c |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 1b267e7..00a0385 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -686,6 +686,7 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	if (!PageHighMem(page)) {
@@ -721,6 +722,24 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
 	spin_unlock_irqrestore(&m2p_override_lock, flags);
 
+	/* p2m(m2p(mfn)) == mfn: the mfn is already present somewhere in
+	 * this domain. Set the FOREIGN_FRAME_BIT in the p2m for the other
+	 * pfn so that the following mfn_to_pfn(mfn) calls will return the
+	 * pfn from the m2p_override (the backend pfn) instead.
+	 * We need to do this because the pages shared by the frontend
+	 * (xen-blkfront) can be already locked (lock_page, called by
+	 * do_read_cache_page); when the userspace backend tries to use them
+	 * with direct_IO, mfn_to_pfn returns the pfn of the frontend, so
+	 * do_blockdev_direct_IO is going to try to lock the same pages
+	 * again resulting in a deadlock.
+	 * As a side effect get_user_pages_fast might not be safe on the
+	 * frontend pages while they are being shared with the backend,
+	 * because mfn_to_pfn (that ends up being called by GUPF) will
+	 * return the backend pfn rather than the frontend pfn. */
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret == 0 && get_phys_to_machine(pfn) == mfn)
+		set_phys_to_machine(pfn, FOREIGN_FRAME(mfn));
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_add_override);
@@ -732,6 +751,7 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	unsigned long uninitialized_var(address);
 	unsigned level;
 	pte_t *ptep = NULL;
+	int ret = 0;
 
 	pfn = page_to_pfn(page);
 	mfn = get_phys_to_machine(pfn);
@@ -801,6 +821,22 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	} else
 		set_phys_to_machine(pfn, page->index);
 
+	/* p2m(m2p(mfn)) == FOREIGN_FRAME(mfn): the mfn is already present
+	 * somewhere in this domain, even before being added to the
+	 * m2p_override (see comment above in m2p_add_override).
+	 * If there are no other entries in the m2p_override corresponding
+	 * to this mfn, then remove the FOREIGN_FRAME_BIT from the p2m for
+	 * the original pfn (the one shared by the frontend): the backend
+	 * cannot do any IO on this page anymore because it has been
+	 * unshared. Removing the FOREIGN_FRAME_BIT from the p2m entry of
+	 * the original pfn causes mfn_to_pfn(mfn) to return the frontend
+	 * pfn again. */
+	mfn &= ~FOREIGN_FRAME_BIT;
+	ret = __get_user(pfn, &machine_to_phys_mapping[mfn]);
+	if (ret == 0 && get_phys_to_machine(pfn) == FOREIGN_FRAME(mfn) &&
+			m2p_find_override(mfn) == NULL)
+		set_phys_to_machine(pfn, mfn);
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_remove_override);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 18:19:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 18:19:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXG9G-0000PS-8X; Wed, 23 May 2012 18:19:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jocelyn.falempe@free.fr>) id 1SXG9F-0000PN-0a
	for xen-devel@lists.xen.org; Wed, 23 May 2012 18:19:01 +0000
Received: from [85.158.143.99:27350] by server-2.bemta-4.messagelabs.com id
	05/C1-12211-41A2DBF4; Wed, 23 May 2012 18:19:00 +0000
X-Env-Sender: jocelyn.falempe@free.fr
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337797137!24189972!1
X-Originating-IP: [212.27.42.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjEyLjI3LjQyLjMgPT4gODQzODU=\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10773 invoked from network); 23 May 2012 18:18:59 -0000
Received: from smtp3-g21.free.fr (HELO smtp3-g21.free.fr) (212.27.42.3)
	by server-12.tower-216.messagelabs.com with SMTP;
	23 May 2012 18:18:59 -0000
Received: from zimbra4-e1.priv.proxad.net (unknown [172.20.243.154])
	by smtp3-g21.free.fr (Postfix) with ESMTP id 3ED34A62AC
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 20:18:54 +0200 (CEST)
Date: Wed, 23 May 2012 20:18:53 +0200 (CEST)
From: jocelyn.falempe@free.fr
To: xen-devel@lists.xen.org
Message-ID: <1733777228.133546021.1337797133128.JavaMail.root@zimbra4-e1.priv.proxad.net>
In-Reply-To: <922105613.133527893.1337796341773.JavaMail.root@zimbra4-e1.priv.proxad.net>
MIME-Version: 1.0
X-Originating-IP: [2a01:e35:2eb9:310:b4df:5c8c:5c0d:9350]
X-Mailer: Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Linux)/7.2.0-GA2598)
X-Authenticated-User: jocelyn.falempe@free.fr
Subject: [Xen-devel] Some questions about VGA passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

I'm trying get the following configuration working with Xen VGA passthrough (no more dual-boot for gaming !):

Core i7 3770 (with Vt-d)
ASRock z77 Pro4-M
Sapphire Radeon HD 7950

my goal is to have a Linux Dom0 using the intel HD 3000 gfx integrated in the CPU, connected to 1 display, and a Win7 DomU, using the Radeon 7950, connected to another display.

I installed Ubuntu 12.04, and xen 4.1.2 from the packages.

- Do I need VGA passthrough, or PCI passthrough might be enough in my case ? (Dom0 doesn't use the Radeon, and I saw some reports with 3D graphics with PCI passthrough).

- Do I need to extract the VGA Bios ? I think it is only required for NVIDA cards, but I didn't find a clear statement.

- Do I need to add vga passthrough patches ? which version to use for xen 4.1.2 ?

my xen is able to boot a HVM 64bit win8 consumer preview (but there are no driver for 7950, so I will go back to win7).

also I added this in grub :

GRUB_CMDLINE_LINUX="quiet splash xen-pciback.permissive xen-pciback.hide=(01:00.0)(01:00.1) pci=resource_alignment=01:00.0;01:00.1"

~# xm pci-list-assignable-device
0000:01:00.0
0000:01:00.1

so normally I should be able to pass the graphic cards to the HVM.

Any help greatly appreciated,

Regards,

-- 

Joc


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 18:19:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 18:19:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXG9G-0000PS-8X; Wed, 23 May 2012 18:19:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jocelyn.falempe@free.fr>) id 1SXG9F-0000PN-0a
	for xen-devel@lists.xen.org; Wed, 23 May 2012 18:19:01 +0000
Received: from [85.158.143.99:27350] by server-2.bemta-4.messagelabs.com id
	05/C1-12211-41A2DBF4; Wed, 23 May 2012 18:19:00 +0000
X-Env-Sender: jocelyn.falempe@free.fr
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337797137!24189972!1
X-Originating-IP: [212.27.42.3]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjEyLjI3LjQyLjMgPT4gODQzODU=\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10773 invoked from network); 23 May 2012 18:18:59 -0000
Received: from smtp3-g21.free.fr (HELO smtp3-g21.free.fr) (212.27.42.3)
	by server-12.tower-216.messagelabs.com with SMTP;
	23 May 2012 18:18:59 -0000
Received: from zimbra4-e1.priv.proxad.net (unknown [172.20.243.154])
	by smtp3-g21.free.fr (Postfix) with ESMTP id 3ED34A62AC
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 20:18:54 +0200 (CEST)
Date: Wed, 23 May 2012 20:18:53 +0200 (CEST)
From: jocelyn.falempe@free.fr
To: xen-devel@lists.xen.org
Message-ID: <1733777228.133546021.1337797133128.JavaMail.root@zimbra4-e1.priv.proxad.net>
In-Reply-To: <922105613.133527893.1337796341773.JavaMail.root@zimbra4-e1.priv.proxad.net>
MIME-Version: 1.0
X-Originating-IP: [2a01:e35:2eb9:310:b4df:5c8c:5c0d:9350]
X-Mailer: Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Linux)/7.2.0-GA2598)
X-Authenticated-User: jocelyn.falempe@free.fr
Subject: [Xen-devel] Some questions about VGA passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

I'm trying get the following configuration working with Xen VGA passthrough (no more dual-boot for gaming !):

Core i7 3770 (with Vt-d)
ASRock z77 Pro4-M
Sapphire Radeon HD 7950

my goal is to have a Linux Dom0 using the intel HD 3000 gfx integrated in the CPU, connected to 1 display, and a Win7 DomU, using the Radeon 7950, connected to another display.

I installed Ubuntu 12.04, and xen 4.1.2 from the packages.

- Do I need VGA passthrough, or PCI passthrough might be enough in my case ? (Dom0 doesn't use the Radeon, and I saw some reports with 3D graphics with PCI passthrough).

- Do I need to extract the VGA Bios ? I think it is only required for NVIDA cards, but I didn't find a clear statement.

- Do I need to add vga passthrough patches ? which version to use for xen 4.1.2 ?

my xen is able to boot a HVM 64bit win8 consumer preview (but there are no driver for 7950, so I will go back to win7).

also I added this in grub :

GRUB_CMDLINE_LINUX="quiet splash xen-pciback.permissive xen-pciback.hide=(01:00.0)(01:00.1) pci=resource_alignment=01:00.0;01:00.1"

~# xm pci-list-assignable-device
0000:01:00.0
0000:01:00.1

so normally I should be able to pass the graphic cards to the HVM.

Any help greatly appreciated,

Regards,

-- 

Joc


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 18:29:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 18:29:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXGJW-0000b0-I8; Wed, 23 May 2012 18:29:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXGJU-0000av-Gw
	for xen-devel@lists.xen.org; Wed, 23 May 2012 18:29:36 +0000
Received: from [85.158.139.83:8026] by server-10.bemta-5.messagelabs.com id
	BD/32-22179-F8C2DBF4; Wed, 23 May 2012 18:29:35 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337797773!22662971!1
X-Originating-IP: [209.85.220.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32006 invoked from network); 23 May 2012 18:29:34 -0000
Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com)
	(209.85.220.173)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 18:29:34 -0000
Received: by vcbfo13 with SMTP id fo13so1427501vcb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 11:29:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=VvbXtlflWwkCGJF2ojrhrYUsFH9omH018p4QGgFvZpE=;
	b=Lug7P/gb2dQFaTd4yKqItp3ZCG2ZxA4J33Oyd50DrILwcVRALDZMl6b/XJtvXoAnwx
	1QnNU6NDYJNXS+zYoajQ40QxM9Qz00jA4haTKnPzCrpbFbpjrcjaq758J6Gh2IUMp8dh
	X4qzDMWO7gPnam+/vsBWKuVBeOeB52Xde1Pgz31mWdYegjARCdLRVtI1SYzmXYxipggN
	F4koNHQAObtnXl5T3Q95v6zzyOjJXSTYP0XQlb607s2hIA5gsbZmC43V3z8TmQWmX6eH
	OJ/LdUAK8wa8IyuvCWDRaptLLDUoazlvY/e5tkaiucI1FrNWX5x4JriwMnmYxwlG07+q
	sJgg==
Received: by 10.52.97.41 with SMTP id dx9mr12855540vdb.89.1337797773531; Wed,
	23 May 2012 11:29:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Wed, 23 May 2012 11:29:13 -0700 (PDT)
In-Reply-To: <1733777228.133546021.1337797133128.JavaMail.root@zimbra4-e1.priv.proxad.net>
References: <922105613.133527893.1337796341773.JavaMail.root@zimbra4-e1.priv.proxad.net>
	<1733777228.133546021.1337797133128.JavaMail.root@zimbra4-e1.priv.proxad.net>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Wed, 23 May 2012 19:29:13 +0100
Message-ID: <CAEBdQ929Anh_9t7vrr3S7eAT7+YqnKcsP-cLWHVAaaUwHfCpKg@mail.gmail.com>
To: jocelyn.falempe@free.fr
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Some questions about VGA passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4051670791094140114=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4051670791094140114==
Content-Type: multipart/alternative; boundary=20cf307f3806129b7904c0b851e7

--20cf307f3806129b7904c0b851e7
Content-Type: text/plain; charset=ISO-8859-1

On 23 May 2012 19:18, <jocelyn.falempe@free.fr> wrote:

> Hi,
>
> I'm trying get the following configuration working with Xen VGA
> passthrough (no more dual-boot for gaming !):
>
> Core i7 3770 (with Vt-d)
> ASRock z77 Pro4-M
> Sapphire Radeon HD 7950
>
> my goal is to have a Linux Dom0 using the intel HD 3000 gfx integrated in
> the CPU, connected to 1 display, and a Win7 DomU, using the Radeon 7950,
> connected to another display.
>
> I installed Ubuntu 12.04, and xen 4.1.2 from the packages.
>
> - Do I need VGA passthrough, or PCI passthrough might be enough in my case
> ? (Dom0 doesn't use the Radeon, and I saw some reports with 3D graphics
> with PCI passthrough).
>
> - Do I need to extract the VGA Bios ? I think it is only required for
> NVIDA cards, but I didn't find a clear statement.
>
> - Do I need to add vga passthrough patches ? which version to use for xen
> 4.1.2 ?
>
> my xen is able to boot a HVM 64bit win8 consumer preview (but there are no
> driver for 7950, so I will go back to win7).
>
> also I added this in grub :
>
> GRUB_CMDLINE_LINUX="quiet splash xen-pciback.permissive
> xen-pciback.hide=(01:00.0)(01:00.1) pci=resource_alignment=01:00.0;01:00.1"
>
> ~# xm pci-list-assignable-device
> 0000:01:00.0
> 0000:01:00.1
>
> so normally I should be able to pass the graphic cards to the HVM.
>
> Any help greatly appreciated,
>
> Regards,


PCI passthrough will be enough. VGA passthrough is used when you want to
pass through a primary display adapter and have VGA/VESA working in the
guest.

Jean

--20cf307f3806129b7904c0b851e7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On 23 May 2012 19:18,  <span dir=3D"ltr">&lt;<a =
href=3D"mailto:jocelyn.falempe@free.fr" target=3D"_blank">jocelyn.falempe@f=
ree.fr</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi,<br>
<br>
I&#39;m trying get the following configuration working with Xen VGA passthr=
ough (no more dual-boot for gaming !):<br>
<br>
Core i7 3770 (with Vt-d)<br>
ASRock z77 Pro4-M<br>
Sapphire Radeon HD 7950<br>
<br>
my goal is to have a Linux Dom0 using the intel HD 3000 gfx integrated in t=
he CPU, connected to 1 display, and a Win7 DomU, using the Radeon 7950, con=
nected to another display.<br>
<br>
I installed Ubuntu 12.04, and xen 4.1.2 from the packages.<br>
<br>
- Do I need VGA passthrough, or PCI passthrough might be enough in my case =
? (Dom0 doesn&#39;t use the Radeon, and I saw some reports with 3D graphics=
 with PCI passthrough).<br>
<br>
- Do I need to extract the VGA Bios ? I think it is only required for NVIDA=
 cards, but I didn&#39;t find a clear statement.<br>
<br>
- Do I need to add vga passthrough patches ? which version to use for xen 4=
.1.2 ?<br>
<br>
my xen is able to boot a HVM 64bit win8 consumer preview (but there are no =
driver for 7950, so I will go back to win7).<br>
<br>
also I added this in grub :<br>
<br>
GRUB_CMDLINE_LINUX=3D&quot;quiet splash xen-pciback.permissive xen-pciback.=
hide=3D(01:00.0)(01:00.1) pci=3Dresource_alignment=3D01:00.0;01:00.1&quot;<=
br>
<br>
~# xm pci-list-assignable-device<br>
0000:01:00.0<br>
0000:01:00.1<br>
<br>
so normally I should be able to pass the graphic cards to the HVM.<br>
<br>
Any help greatly appreciated,<br>
<br>
Regards,</blockquote><div><br></div><div>PCI passthrough will be enough. VG=
A passthrough is used when you want to pass through a primary display adapt=
er and have VGA/VESA working in the guest.</div><div><br></div><div>Jean=A0=
</div>

</div>

--20cf307f3806129b7904c0b851e7--


--===============4051670791094140114==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4051670791094140114==--


From xen-devel-bounces@lists.xen.org Wed May 23 18:29:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 18:29:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXGJW-0000b0-I8; Wed, 23 May 2012 18:29:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXGJU-0000av-Gw
	for xen-devel@lists.xen.org; Wed, 23 May 2012 18:29:36 +0000
Received: from [85.158.139.83:8026] by server-10.bemta-5.messagelabs.com id
	BD/32-22179-F8C2DBF4; Wed, 23 May 2012 18:29:35 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337797773!22662971!1
X-Originating-IP: [209.85.220.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32006 invoked from network); 23 May 2012 18:29:34 -0000
Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com)
	(209.85.220.173)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 18:29:34 -0000
Received: by vcbfo13 with SMTP id fo13so1427501vcb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 11:29:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=VvbXtlflWwkCGJF2ojrhrYUsFH9omH018p4QGgFvZpE=;
	b=Lug7P/gb2dQFaTd4yKqItp3ZCG2ZxA4J33Oyd50DrILwcVRALDZMl6b/XJtvXoAnwx
	1QnNU6NDYJNXS+zYoajQ40QxM9Qz00jA4haTKnPzCrpbFbpjrcjaq758J6Gh2IUMp8dh
	X4qzDMWO7gPnam+/vsBWKuVBeOeB52Xde1Pgz31mWdYegjARCdLRVtI1SYzmXYxipggN
	F4koNHQAObtnXl5T3Q95v6zzyOjJXSTYP0XQlb607s2hIA5gsbZmC43V3z8TmQWmX6eH
	OJ/LdUAK8wa8IyuvCWDRaptLLDUoazlvY/e5tkaiucI1FrNWX5x4JriwMnmYxwlG07+q
	sJgg==
Received: by 10.52.97.41 with SMTP id dx9mr12855540vdb.89.1337797773531; Wed,
	23 May 2012 11:29:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Wed, 23 May 2012 11:29:13 -0700 (PDT)
In-Reply-To: <1733777228.133546021.1337797133128.JavaMail.root@zimbra4-e1.priv.proxad.net>
References: <922105613.133527893.1337796341773.JavaMail.root@zimbra4-e1.priv.proxad.net>
	<1733777228.133546021.1337797133128.JavaMail.root@zimbra4-e1.priv.proxad.net>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Wed, 23 May 2012 19:29:13 +0100
Message-ID: <CAEBdQ929Anh_9t7vrr3S7eAT7+YqnKcsP-cLWHVAaaUwHfCpKg@mail.gmail.com>
To: jocelyn.falempe@free.fr
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Some questions about VGA passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4051670791094140114=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4051670791094140114==
Content-Type: multipart/alternative; boundary=20cf307f3806129b7904c0b851e7

--20cf307f3806129b7904c0b851e7
Content-Type: text/plain; charset=ISO-8859-1

On 23 May 2012 19:18, <jocelyn.falempe@free.fr> wrote:

> Hi,
>
> I'm trying get the following configuration working with Xen VGA
> passthrough (no more dual-boot for gaming !):
>
> Core i7 3770 (with Vt-d)
> ASRock z77 Pro4-M
> Sapphire Radeon HD 7950
>
> my goal is to have a Linux Dom0 using the intel HD 3000 gfx integrated in
> the CPU, connected to 1 display, and a Win7 DomU, using the Radeon 7950,
> connected to another display.
>
> I installed Ubuntu 12.04, and xen 4.1.2 from the packages.
>
> - Do I need VGA passthrough, or PCI passthrough might be enough in my case
> ? (Dom0 doesn't use the Radeon, and I saw some reports with 3D graphics
> with PCI passthrough).
>
> - Do I need to extract the VGA Bios ? I think it is only required for
> NVIDA cards, but I didn't find a clear statement.
>
> - Do I need to add vga passthrough patches ? which version to use for xen
> 4.1.2 ?
>
> my xen is able to boot a HVM 64bit win8 consumer preview (but there are no
> driver for 7950, so I will go back to win7).
>
> also I added this in grub :
>
> GRUB_CMDLINE_LINUX="quiet splash xen-pciback.permissive
> xen-pciback.hide=(01:00.0)(01:00.1) pci=resource_alignment=01:00.0;01:00.1"
>
> ~# xm pci-list-assignable-device
> 0000:01:00.0
> 0000:01:00.1
>
> so normally I should be able to pass the graphic cards to the HVM.
>
> Any help greatly appreciated,
>
> Regards,


PCI passthrough will be enough. VGA passthrough is used when you want to
pass through a primary display adapter and have VGA/VESA working in the
guest.

Jean

--20cf307f3806129b7904c0b851e7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On 23 May 2012 19:18,  <span dir=3D"ltr">&lt;<a =
href=3D"mailto:jocelyn.falempe@free.fr" target=3D"_blank">jocelyn.falempe@f=
ree.fr</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi,<br>
<br>
I&#39;m trying get the following configuration working with Xen VGA passthr=
ough (no more dual-boot for gaming !):<br>
<br>
Core i7 3770 (with Vt-d)<br>
ASRock z77 Pro4-M<br>
Sapphire Radeon HD 7950<br>
<br>
my goal is to have a Linux Dom0 using the intel HD 3000 gfx integrated in t=
he CPU, connected to 1 display, and a Win7 DomU, using the Radeon 7950, con=
nected to another display.<br>
<br>
I installed Ubuntu 12.04, and xen 4.1.2 from the packages.<br>
<br>
- Do I need VGA passthrough, or PCI passthrough might be enough in my case =
? (Dom0 doesn&#39;t use the Radeon, and I saw some reports with 3D graphics=
 with PCI passthrough).<br>
<br>
- Do I need to extract the VGA Bios ? I think it is only required for NVIDA=
 cards, but I didn&#39;t find a clear statement.<br>
<br>
- Do I need to add vga passthrough patches ? which version to use for xen 4=
.1.2 ?<br>
<br>
my xen is able to boot a HVM 64bit win8 consumer preview (but there are no =
driver for 7950, so I will go back to win7).<br>
<br>
also I added this in grub :<br>
<br>
GRUB_CMDLINE_LINUX=3D&quot;quiet splash xen-pciback.permissive xen-pciback.=
hide=3D(01:00.0)(01:00.1) pci=3Dresource_alignment=3D01:00.0;01:00.1&quot;<=
br>
<br>
~# xm pci-list-assignable-device<br>
0000:01:00.0<br>
0000:01:00.1<br>
<br>
so normally I should be able to pass the graphic cards to the HVM.<br>
<br>
Any help greatly appreciated,<br>
<br>
Regards,</blockquote><div><br></div><div>PCI passthrough will be enough. VG=
A passthrough is used when you want to pass through a primary display adapt=
er and have VGA/VESA working in the guest.</div><div><br></div><div>Jean=A0=
</div>

</div>

--20cf307f3806129b7904c0b851e7--


--===============4051670791094140114==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4051670791094140114==--


From xen-devel-bounces@lists.xen.org Wed May 23 19:23:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:23:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXH8Z-0000yu-Uk; Wed, 23 May 2012 19:22:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joseph.glanville@orionvm.com.au>) id 1SXH8Z-0000yp-5t
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:22:23 +0000
Received: from [85.158.143.99:11917] by server-2.bemta-4.messagelabs.com id
	B4/21-12211-EE83DBF4; Wed, 23 May 2012 19:22:22 +0000
X-Env-Sender: joseph.glanville@orionvm.com.au
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337800939!18276327!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21056 invoked from network); 23 May 2012 19:22:20 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:22:20 -0000
Received: by obbwd20 with SMTP id wd20so15634577obb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:22:18 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=Ti7+TiRW/2WSH/jm8J0uIzNAfpU81oC6aMLa8f1er1k=;
	b=Qg71hGRce9wHX+8qhOFa/ORnBJaYWWfjQ8u8PjGuxtzyYnd4tAfKLcuqxOUvOM19oN
	Llabcrheu3XCwCWPdu6GcVYtxR++b6UoUgeLRC89XmRcQdBYX5gBBdCLZlh+dnklzfao
	WAnsLGb4aZ1nJOqRF2mSCRvdkhxxhAuvrYoJulwDAB9IPwgRU8MfRiFzGzfgVWswuA08
	bOd7RCU9aDh9J29THi8129+U7vxu8Unq9X5meplMDXulGUx4XbsbOUjupVZhTq6iAToP
	QNWORZQSF4KeIG8Z1VLogXoYQwj4wz6JruYMV0GCmlI1TaghtofqsEqMur8amu9T/rQ2
	YuaQ==
MIME-Version: 1.0
Received: by 10.182.8.99 with SMTP id q3mr27597139oba.63.1337800938509; Wed,
	23 May 2012 12:22:18 -0700 (PDT)
Received: by 10.182.29.41 with HTTP; Wed, 23 May 2012 12:22:18 -0700 (PDT)
X-Originating-IP: [59.167.234.130]
In-Reply-To: <64FB1554ABC9B44FAA773FBD6CB889C2F93A9CE854@BANPMAILBOX01.citrite.net>
References: <64FB1554ABC9B44FAA773FBD6CB889C2F93A9CE854@BANPMAILBOX01.citrite.net>
Date: Thu, 24 May 2012 05:22:18 +1000
Message-ID: <CAOzFzEjjdxQ4Yf9KiqwsCgw2hud_g3KytS92n8Qvx=6DapEBxQ@mail.gmail.com>
From: Joseph Glanville <joseph.glanville@orionvm.com.au>
To: Abhinandan Prateek <Abhinandan.Prateek@citrix.com>
X-Gm-Message-State: ALoCoQmor31IbuLMRwa7bx9KZmPU+oTnOrtGPrTuqXkYk+bfdv72DtFOHfNPd2hTZIWy5nu3iiHV
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Dynamic resource scaling
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 22 May 2012 16:35, Abhinandan Prateek <Abhinandan.Prateek@citrix.com> wr=
ote:
> Does Xenserver support dynamic scaling of CPU, memory and disk for guest =
VMs?
>
> -abhi
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

Yes.

Xen can hotplug CPUs, memory and disk devices. The PV disk
infrastructure also support dynamically resizing the volumes exposed
to the guest.

These sorts of questions are usually best leveled at the xen-users
list as there are more people there that can give more indepth (and
useful!) answers. :)

Joseph.

-- =

CTO | Orion Virtualisation Solutions=A0|=A0www.orionvm.com.au
Phone: 1300 56 99 52 | Mobile: 0428 754 846

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:23:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:23:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXH8Z-0000yu-Uk; Wed, 23 May 2012 19:22:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joseph.glanville@orionvm.com.au>) id 1SXH8Z-0000yp-5t
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:22:23 +0000
Received: from [85.158.143.99:11917] by server-2.bemta-4.messagelabs.com id
	B4/21-12211-EE83DBF4; Wed, 23 May 2012 19:22:22 +0000
X-Env-Sender: joseph.glanville@orionvm.com.au
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337800939!18276327!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21056 invoked from network); 23 May 2012 19:22:20 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:22:20 -0000
Received: by obbwd20 with SMTP id wd20so15634577obb.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:22:18 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=Ti7+TiRW/2WSH/jm8J0uIzNAfpU81oC6aMLa8f1er1k=;
	b=Qg71hGRce9wHX+8qhOFa/ORnBJaYWWfjQ8u8PjGuxtzyYnd4tAfKLcuqxOUvOM19oN
	Llabcrheu3XCwCWPdu6GcVYtxR++b6UoUgeLRC89XmRcQdBYX5gBBdCLZlh+dnklzfao
	WAnsLGb4aZ1nJOqRF2mSCRvdkhxxhAuvrYoJulwDAB9IPwgRU8MfRiFzGzfgVWswuA08
	bOd7RCU9aDh9J29THi8129+U7vxu8Unq9X5meplMDXulGUx4XbsbOUjupVZhTq6iAToP
	QNWORZQSF4KeIG8Z1VLogXoYQwj4wz6JruYMV0GCmlI1TaghtofqsEqMur8amu9T/rQ2
	YuaQ==
MIME-Version: 1.0
Received: by 10.182.8.99 with SMTP id q3mr27597139oba.63.1337800938509; Wed,
	23 May 2012 12:22:18 -0700 (PDT)
Received: by 10.182.29.41 with HTTP; Wed, 23 May 2012 12:22:18 -0700 (PDT)
X-Originating-IP: [59.167.234.130]
In-Reply-To: <64FB1554ABC9B44FAA773FBD6CB889C2F93A9CE854@BANPMAILBOX01.citrite.net>
References: <64FB1554ABC9B44FAA773FBD6CB889C2F93A9CE854@BANPMAILBOX01.citrite.net>
Date: Thu, 24 May 2012 05:22:18 +1000
Message-ID: <CAOzFzEjjdxQ4Yf9KiqwsCgw2hud_g3KytS92n8Qvx=6DapEBxQ@mail.gmail.com>
From: Joseph Glanville <joseph.glanville@orionvm.com.au>
To: Abhinandan Prateek <Abhinandan.Prateek@citrix.com>
X-Gm-Message-State: ALoCoQmor31IbuLMRwa7bx9KZmPU+oTnOrtGPrTuqXkYk+bfdv72DtFOHfNPd2hTZIWy5nu3iiHV
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Dynamic resource scaling
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 22 May 2012 16:35, Abhinandan Prateek <Abhinandan.Prateek@citrix.com> wr=
ote:
> Does Xenserver support dynamic scaling of CPU, memory and disk for guest =
VMs?
>
> -abhi
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

Yes.

Xen can hotplug CPUs, memory and disk devices. The PV disk
infrastructure also support dynamically resizing the volumes exposed
to the guest.

These sorts of questions are usually best leveled at the xen-users
list as there are more people there that can give more indepth (and
useful!) answers. :)

Joseph.

-- =

CTO | Orion Virtualisation Solutions=A0|=A0www.orionvm.com.au
Phone: 1300 56 99 52 | Mobile: 0428 754 846

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:26:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:26:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHBr-0001EK-9p; Wed, 23 May 2012 19:25:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joseph.glanville@orionvm.com.au>) id 1SXHBq-0001Dy-Jb
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:25:46 +0000
Received: from [193.109.254.147:39018] by server-10.bemta-14.messagelabs.com
	id 3E/B2-05847-9B93DBF4; Wed, 23 May 2012 19:25:45 +0000
X-Env-Sender: joseph.glanville@orionvm.com.au
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337801143!10664436!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10522 invoked from network); 23 May 2012 19:25:44 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:25:44 -0000
Received: by ggnp1 with SMTP id p1so8425142ggn.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:25:43 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=sV4u940bxnDuXTDi7Rfn3xGFltX6i0/JYOW4cYyS60Q=;
	b=Ywj53MgIk83w+pt5T/vUzJx+RUM8pIg04DqQ1P+c+hPdG6NMVdfa5wtsaj/z7wQGyg
	0PJgf3LwLQ8R04XPwCaVhgl8A2pnOK9guR1uRaAKxb5Y3e5LSbUnhBkGrl0hVVO1ic7X
	bsB7aGaPfaXjqzkHQnFabJvrJ5rOD2VepiMtUBlhetKWcMlIAoretKiD6gLQOBAUtKxW
	shkPQuhlHMV5njT5pXZ3IImRx1mnYjhYvScBgqr7TIMYxTb0CyS6U9uX5r4UgLcdwRHm
	FVJXYiu7LA+cTaxJjY+eRKP8i5TnbonCy3wiBplpUkuCTG1SIH351dNVrS/8ZpN4+mgm
	HNBw==
MIME-Version: 1.0
Received: by 10.60.28.162 with SMTP id c2mr5056130oeh.3.1337801143103; Wed, 23
	May 2012 12:25:43 -0700 (PDT)
Received: by 10.182.29.41 with HTTP; Wed, 23 May 2012 12:25:43 -0700 (PDT)
X-Originating-IP: [59.167.234.130]
In-Reply-To: <4FB6256E.8070501@citrix.com>
References: <4FB6256E.8070501@citrix.com>
Date: Thu, 24 May 2012 05:25:43 +1000
Message-ID: <CAOzFzEjrsR6EVFMQ_wHqN2F3RdauTAXFT4t=Y3ijiPd=aSbttw@mail.gmail.com>
From: Joseph Glanville <joseph.glanville@orionvm.com.au>
To: Roger Pau Monne <roger.pau@citrix.com>
X-Gm-Message-State: ALoCoQkpam9VeuTslzh/fdGrsSd3ixBbFHGbnCjR1CmYT4qnpI0TG1EyJwSh0PysCUJ9zY6PZnVm
Cc: xen-users@lists.xen.org,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] Alpine Linux Xen Dom0 LiveCD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 18 May 2012 20:33, Roger Pau Monne <roger.pau@citrix.com> wrote:
> Hello,
>
> Alpine Linux has just released a Xen Dom0 LiveCD that contains a Linux
> Kernel 3.3.6 with PaX and grsec patches and Xen 4.1.2 with the CVE fixes.
> This LiveCD doesn't include any kind of X11 desktop, as it is intended for
> server use only.
>
> The LiveCD is part of the Alpine Linux distribution, and will be updated
> every time there is an Alpine Linux release, ensuring that the users alwa=
ys
> get the latest versions of the software.
>
> For those of you that don't know what Alpine Linux has to offer, here's a
> little extract from the Alpine Linux webpage:
>
> Alpine Linux was designed with security in mind. It has proactive security
> features, such as PaX and SSP, that prevent security holes from being
> exploited.
>
> Alpine Linux uses the uClibc C library and all of the base tools from
> BusyBox. These are normally found on embedded systems and are smaller than
> the tools found on GNU/Linux systems.
>
> The traditional GNU/Linux base system is over 100MB in size (excluding the
> kernel), while the base system in Alpine Linux is only 4-5MB in size
> (excluding the kernel).
>
> It's great for experimenting: Since the system configuration can be backed
> up to a single file, you will be able to test configurations before
> deploying them to production systems.
>
> (You can find much more information on the Alpine Linux web page:
> http://alpinelinux.org/about)
>
> Also, Alpine Linux has the option to run from RAM, even when installed to=
 a
> HDD or USB, allowing the user to save it's changes on a USB, floppy or ot=
her
> medium which then gets read at boot to leave the system as it was before =
the
> reboot. This is specially interesting for Xen Dom0, since it allows to ha=
ve
> the whole system on RAM, which is immune to HDD crashes (you could have
> access to your Dom0 even after and HDD crash) and doesn't consume I/O
> resources.
>
> This is still the first and experimental release of this LiveCD, so I wou=
ld
> like to encourage Xen users to test it, and report back with the results.
>
> The LiveCD can be found at: http://alpinelinux.org/downloads
>
> Regards, Roger.
>
> _______________________________________________
> Xen-users mailing list
> Xen-users@lists.xen.org
> http://lists.xen.org/xen-users

Awesome! Alpine Linux is great for lightweight systems. :)

I am in the final stages of preparing a Ubuntu Linux based Dom0 LiveCD/USB.
I should have it ready sometime this week hopefully, $dayjob has been
getting in the way.

Joseph.

-- =

CTO | Orion Virtualisation Solutions=A0|=A0www.orionvm.com.au
Phone: 1300 56 99 52 | Mobile: 0428 754 846

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:26:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:26:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHBr-0001EK-9p; Wed, 23 May 2012 19:25:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joseph.glanville@orionvm.com.au>) id 1SXHBq-0001Dy-Jb
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:25:46 +0000
Received: from [193.109.254.147:39018] by server-10.bemta-14.messagelabs.com
	id 3E/B2-05847-9B93DBF4; Wed, 23 May 2012 19:25:45 +0000
X-Env-Sender: joseph.glanville@orionvm.com.au
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337801143!10664436!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10522 invoked from network); 23 May 2012 19:25:44 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:25:44 -0000
Received: by ggnp1 with SMTP id p1so8425142ggn.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:25:43 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=sV4u940bxnDuXTDi7Rfn3xGFltX6i0/JYOW4cYyS60Q=;
	b=Ywj53MgIk83w+pt5T/vUzJx+RUM8pIg04DqQ1P+c+hPdG6NMVdfa5wtsaj/z7wQGyg
	0PJgf3LwLQ8R04XPwCaVhgl8A2pnOK9guR1uRaAKxb5Y3e5LSbUnhBkGrl0hVVO1ic7X
	bsB7aGaPfaXjqzkHQnFabJvrJ5rOD2VepiMtUBlhetKWcMlIAoretKiD6gLQOBAUtKxW
	shkPQuhlHMV5njT5pXZ3IImRx1mnYjhYvScBgqr7TIMYxTb0CyS6U9uX5r4UgLcdwRHm
	FVJXYiu7LA+cTaxJjY+eRKP8i5TnbonCy3wiBplpUkuCTG1SIH351dNVrS/8ZpN4+mgm
	HNBw==
MIME-Version: 1.0
Received: by 10.60.28.162 with SMTP id c2mr5056130oeh.3.1337801143103; Wed, 23
	May 2012 12:25:43 -0700 (PDT)
Received: by 10.182.29.41 with HTTP; Wed, 23 May 2012 12:25:43 -0700 (PDT)
X-Originating-IP: [59.167.234.130]
In-Reply-To: <4FB6256E.8070501@citrix.com>
References: <4FB6256E.8070501@citrix.com>
Date: Thu, 24 May 2012 05:25:43 +1000
Message-ID: <CAOzFzEjrsR6EVFMQ_wHqN2F3RdauTAXFT4t=Y3ijiPd=aSbttw@mail.gmail.com>
From: Joseph Glanville <joseph.glanville@orionvm.com.au>
To: Roger Pau Monne <roger.pau@citrix.com>
X-Gm-Message-State: ALoCoQkpam9VeuTslzh/fdGrsSd3ixBbFHGbnCjR1CmYT4qnpI0TG1EyJwSh0PysCUJ9zY6PZnVm
Cc: xen-users@lists.xen.org,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] Alpine Linux Xen Dom0 LiveCD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 18 May 2012 20:33, Roger Pau Monne <roger.pau@citrix.com> wrote:
> Hello,
>
> Alpine Linux has just released a Xen Dom0 LiveCD that contains a Linux
> Kernel 3.3.6 with PaX and grsec patches and Xen 4.1.2 with the CVE fixes.
> This LiveCD doesn't include any kind of X11 desktop, as it is intended for
> server use only.
>
> The LiveCD is part of the Alpine Linux distribution, and will be updated
> every time there is an Alpine Linux release, ensuring that the users alwa=
ys
> get the latest versions of the software.
>
> For those of you that don't know what Alpine Linux has to offer, here's a
> little extract from the Alpine Linux webpage:
>
> Alpine Linux was designed with security in mind. It has proactive security
> features, such as PaX and SSP, that prevent security holes from being
> exploited.
>
> Alpine Linux uses the uClibc C library and all of the base tools from
> BusyBox. These are normally found on embedded systems and are smaller than
> the tools found on GNU/Linux systems.
>
> The traditional GNU/Linux base system is over 100MB in size (excluding the
> kernel), while the base system in Alpine Linux is only 4-5MB in size
> (excluding the kernel).
>
> It's great for experimenting: Since the system configuration can be backed
> up to a single file, you will be able to test configurations before
> deploying them to production systems.
>
> (You can find much more information on the Alpine Linux web page:
> http://alpinelinux.org/about)
>
> Also, Alpine Linux has the option to run from RAM, even when installed to=
 a
> HDD or USB, allowing the user to save it's changes on a USB, floppy or ot=
her
> medium which then gets read at boot to leave the system as it was before =
the
> reboot. This is specially interesting for Xen Dom0, since it allows to ha=
ve
> the whole system on RAM, which is immune to HDD crashes (you could have
> access to your Dom0 even after and HDD crash) and doesn't consume I/O
> resources.
>
> This is still the first and experimental release of this LiveCD, so I wou=
ld
> like to encourage Xen users to test it, and report back with the results.
>
> The LiveCD can be found at: http://alpinelinux.org/downloads
>
> Regards, Roger.
>
> _______________________________________________
> Xen-users mailing list
> Xen-users@lists.xen.org
> http://lists.xen.org/xen-users

Awesome! Alpine Linux is great for lightweight systems. :)

I am in the final stages of preparing a Ubuntu Linux based Dom0 LiveCD/USB.
I should have it ready sometime this week hopefully, $dayjob has been
getting in the way.

Joseph.

-- =

CTO | Orion Virtualisation Solutions=A0|=A0www.orionvm.com.au
Phone: 1300 56 99 52 | Mobile: 0428 754 846

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:26:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:26:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHC9-0001Gn-BT; Wed, 23 May 2012 19:26:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jocelyn.falempe@free.fr>) id 1SXHC7-0001GT-Rh
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:26:03 +0000
Received: from [85.158.138.51:55336] by server-11.bemta-3.messagelabs.com id
	7E/44-20431-AC93DBF4; Wed, 23 May 2012 19:26:02 +0000
X-Env-Sender: jocelyn.falempe@free.fr
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337801161!28666916!1
X-Originating-IP: [212.27.42.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjEyLjI3LjQyLjIgPT4gMTA0MzE3\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28657 invoked from network); 23 May 2012 19:26:02 -0000
Received: from smtp2-g21.free.fr (HELO smtp2-g21.free.fr) (212.27.42.2)
	by server-16.tower-174.messagelabs.com with SMTP;
	23 May 2012 19:26:02 -0000
Received: from zimbra4-e1.priv.proxad.net (unknown [172.20.243.154])
	by smtp2-g21.free.fr (Postfix) with ESMTP id 03E184B01BA;
	Wed, 23 May 2012 21:25:57 +0200 (CEST)
Date: Wed, 23 May 2012 21:25:56 +0200 (CEST)
From: jocelyn.falempe@free.fr
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <1677015155.133620662.1337801156870.JavaMail.root@zimbra4-e1.priv.proxad.net>
In-Reply-To: <CAEBdQ929Anh_9t7vrr3S7eAT7+YqnKcsP-cLWHVAaaUwHfCpKg@mail.gmail.com>
MIME-Version: 1.0
X-Originating-IP: [2a01:e35:2eb9:310:b4df:5c8c:5c0d:9350]
X-Mailer: Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Linux)/7.2.0-GA2598)
X-Authenticated-User: jocelyn.falempe@free.fr
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Some questions about VGA passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks for the clarification.
PCI passthrough should be easier to setup.

Regards,

-- 

Joc

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:26:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:26:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHC9-0001Gn-BT; Wed, 23 May 2012 19:26:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jocelyn.falempe@free.fr>) id 1SXHC7-0001GT-Rh
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:26:03 +0000
Received: from [85.158.138.51:55336] by server-11.bemta-3.messagelabs.com id
	7E/44-20431-AC93DBF4; Wed, 23 May 2012 19:26:02 +0000
X-Env-Sender: jocelyn.falempe@free.fr
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337801161!28666916!1
X-Originating-IP: [212.27.42.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjEyLjI3LjQyLjIgPT4gMTA0MzE3\n, ML_RADAR_SPEW_LINKS_14, 
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28657 invoked from network); 23 May 2012 19:26:02 -0000
Received: from smtp2-g21.free.fr (HELO smtp2-g21.free.fr) (212.27.42.2)
	by server-16.tower-174.messagelabs.com with SMTP;
	23 May 2012 19:26:02 -0000
Received: from zimbra4-e1.priv.proxad.net (unknown [172.20.243.154])
	by smtp2-g21.free.fr (Postfix) with ESMTP id 03E184B01BA;
	Wed, 23 May 2012 21:25:57 +0200 (CEST)
Date: Wed, 23 May 2012 21:25:56 +0200 (CEST)
From: jocelyn.falempe@free.fr
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <1677015155.133620662.1337801156870.JavaMail.root@zimbra4-e1.priv.proxad.net>
In-Reply-To: <CAEBdQ929Anh_9t7vrr3S7eAT7+YqnKcsP-cLWHVAaaUwHfCpKg@mail.gmail.com>
MIME-Version: 1.0
X-Originating-IP: [2a01:e35:2eb9:310:b4df:5c8c:5c0d:9350]
X-Mailer: Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Linux)/7.2.0-GA2598)
X-Authenticated-User: jocelyn.falempe@free.fr
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Some questions about VGA passthrough
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks for the clarification.
PCI passthrough should be easier to setup.

Regards,

-- 

Joc

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:28:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHEb-0001hE-Uk; Wed, 23 May 2012 19:28:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHEa-0001gv-Pj
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:28:37 +0000
Received: from [85.158.139.83:38933] by server-5.bemta-5.messagelabs.com id
	CB/88-16141-46A3DBF4; Wed, 23 May 2012 19:28:36 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337801312!26055582!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=1.4 required=7.0 tests=BODY_RANDOM_LONG,DIET_1,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2481 invoked from network); 23 May 2012 19:28:33 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:28:33 -0000
Received: by qafl39 with SMTP id l39so4951478qaf.16
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:28:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=Owzr1ZinD872bScDBeBZ2QDLQuWzzWrBGOq49DQgtc8=;
	b=k/lvnqFPORnY/fAz65nlyzBHfNANy4hKEoiFun7V+pIBmZncZ649y/u0uJLVHmDJaN
	rjAsxrWg9X5h+8xy7nrC5Fz5qOgBhigDElC6rL7tjyZoA4RKy7MqfrxUoPtHiBzV2l8h
	EDPcFbbfONCXar9+AdWfAZYM+KH0pivmml2zAN5f4OoWQ7dO+ZEYYF95NnboPgDiT7bO
	kNxF5nDbJeVWjLkmRaUDO09UmiO1ciicuq9tKleeZ7H35EL5gWuwrbSB9EP3amFGWmQZ
	buh0pj1boLhlyWatG/h0JTEcbp3ZSCvaQAxj8VqSNYLxCV+EQDxgHnVMxBINpUh7FWqz
	sovg==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr7896924qab.1.1337801311887; Wed,
	23 May 2012 12:28:31 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:28:31 -0700 (PDT)
In-Reply-To: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
Date: Wed, 23 May 2012 20:28:31 +0100
X-Google-Sender-Auth: qOITCPJN5omPZjLpaKMXjQ2NBSM
Message-ID: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wr=
ote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337764865 -3600
> # Node ID b6221bcdf9a9045b49a2ddd7877602788f657bad
> # Parent =A07d8428388b775a0b26cf88f89ec8f99f5fc8ce25
> libxl: make it possible to explicitly specify default sched params
>
> To do so we define a descriminating value which is never a valid real val=
ue for
> each parameter.
>
> While there:
>
> =A0- removed libxl_sched_*_domain in favour of libxl_sched_params.
> =A0- use this new functionality for the various xl commands which set sch=
ed
> =A0 parameters, which saves an explicit read-modify-write in xl.
> =A0- removed call of xc_domain_getinfolist from a few functions which wer=
en't
> =A0 actually using the result (looks like a cut and paste error)
> =A0- fix xl which was setting period for a variety of different config ke=
ys.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Overall the idea of the patch looks good.  There's just the thing
about shoving all the various schedulers' parameters into one struct.
One fall-out from it is that if you specify weight in your config file
(or during domain creation), it will set the weight for credit or
credit2, but use the defaults for sedf.  This might be nice; but we're
implicitly baking in an assumption that parameters with the same name
have to have roughly similar meanings across all schedulers.
Furthermore, if someone sets a "cap" in the config file, for example,
but starts the VM in a pool running credit2, should we really just
silently ignore it, or should we alert the user in some way?

In any case, this patch only takes things half-way.  If we're really
going to have One Struct to Rule Them All, we don't need different
domain_set/domain_get functions for the different schedulers -- we
just need a libxl_sched_domain_get(), which will both figure out what
scheduler the domain is running, and fill in the appropriate
parameters, and a libxl_sched_domain_set(), which will check to see
that you've asked for the right scheduler (or marked "unknown" if you
aren't afraid), and set what it can set.  We could also have a unified
"xl sched" command that would set various parameters without the user
having to know what scheduler was currently running (perhaps throwing
a warning if you're trying to set a parameter that doesn't exist for
that scheduler).

I'm not really sure which way I think is best.  I can see the
advantage of not having to know which scheduler is actually running,
but I'm a bit wary of baking in assumptions about the equivalence of
parameters; it seems like it could lead to some nasty surprises.

But I think whichever way we choose, we should take it to its logical
conclusion.  Which in the "One Struct" way, would mean having a single
domain_get/domain_set function, and in the "separate struct" way would
probably mean specifying the scheduler -- i.e., "credit_weight",
"credit2_weight" or something like that.  (Obviously we need xm
compatibility, but we can throw a warning to encourage people to
change their config files.)

 -George

>
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c =A0 =A0 =A0 Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/libxl.c =A0 =A0 =A0 Wed May 23 10:21:05 2012 +0100
> @@ -3199,19 +3199,19 @@ libxl_scheduler libxl_get_scheduler(libx
> =A0}
>
> =A0int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit sdom;
> =A0 =A0 int rc;
>
> - =A0 =A0libxl_sched_credit_domain_init(scinfo);
> -
> =A0 =A0 rc =3D xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
> =A0 =A0 if (rc !=3D 0) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain s=
ched credit");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
>
> + =A0 =A0libxl_sched_domain_params_init(scinfo);
> + =A0 =A0scinfo->sched =3D LIBXL_SCHEDULER_CREDIT;
> =A0 =A0 scinfo->weight =3D sdom.weight;
> =A0 =A0 scinfo->cap =3D sdom.cap;
>
> @@ -3219,7 +3219,7 @@ int libxl_sched_credit_domain_get(libxl_
> =A0}
>
> =A0int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit sdom;
> =A0 =A0 xc_domaininfo_t domaininfo;
> @@ -3233,22 +3233,33 @@ int libxl_sched_credit_domain_set(libxl_
> =A0 =A0 if (rc !=3D 1 || domaininfo.domain !=3D domid)
> =A0 =A0 =A0 =A0 return ERROR_INVAL;
>
> -
> - =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> - =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> - =A0 =A0 =A0 =A0 =A0 =A0"Cpu weight out of range, valid values are withi=
n range from 1 to 65535");
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0rc =3D xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
> + =A0 =A0if (rc !=3D 0) {
> + =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
sched credit");
> + =A0 =A0 =A0 =A0return ERROR_FAIL;
> =A0 =A0 }
>
> - =A0 =A0if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1=
) * 100) {
> - =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> - =A0 =A0 =A0 =A0 =A0 =A0"Cpu cap out of range, valid range is from 0 to =
%d for specified number of vcpus",
> - =A0 =A0 =A0 =A0 =A0 =A0((domaininfo.max_vcpu_id + 1) * 100));
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)=
 {
> + =A0 =A0 =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> + =A0 =A0 =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "Cpu weight out of range, "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "valid values are within ra=
nge from 1 to 65535");
> + =A0 =A0 =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0sdom.weight =3D scinfo->weight;
> =A0 =A0 }
>
> - =A0 =A0sdom.weight =3D scinfo->weight;
> - =A0 =A0sdom.cap =3D scinfo->cap;
> + =A0 =A0if (scinfo->cap !=3D LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT) {
> + =A0 =A0 =A0 =A0if (scinfo->cap < 0
> + =A0 =A0 =A0 =A0 =A0 =A0|| scinfo->cap > (domaininfo.max_vcpu_id + 1) * =
100) {
> + =A0 =A0 =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"Cpu cap out of range, "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"valid range is from 0 to %d for specifi=
ed number of vcpus",
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ((domaininfo.max_vcpu_id + =
1) * 100));
> + =A0 =A0 =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0sdom.cap =3D scinfo->cap;
> + =A0 =A0}
>
> =A0 =A0 rc =3D xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
> =A0 =A0 if ( rc < 0 ) {
> @@ -3321,13 +3332,11 @@ int libxl_sched_credit_params_set(libxl_
> =A0}
>
> =A0int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit2 sdom;
> =A0 =A0 int rc;
>
> - =A0 =A0libxl_sched_credit2_domain_init(scinfo);
> -
> =A0 =A0 rc =3D xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
> =A0 =A0 if (rc !=3D 0) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3335,36 +3344,37 @@ int libxl_sched_credit2_domain_get(libxl
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
>
> + =A0 =A0libxl_sched_domain_params_init(scinfo);
> + =A0 =A0scinfo->sched =3D LIBXL_SCHEDULER_CREDIT2;
> =A0 =A0 scinfo->weight =3D sdom.weight;
>
> =A0 =A0 return 0;
> =A0}
>
> =A0int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit2 sdom;
> - =A0 =A0xc_domaininfo_t domaininfo;
> =A0 =A0 int rc;
>
> - =A0 =A0rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> - =A0 =A0if (rc < 0) {
> - =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
info list");
> + =A0 =A0rc =3D xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
> + =A0 =A0if (rc !=3D 0) {
> + =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "getting domain sched c=
redit2");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
> - =A0 =A0if (rc !=3D 1 || domaininfo.domain !=3D domid)
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> -
> -
> - =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> - =A0 =A0 =A0 =A0LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
> - =A0 =A0 =A0 =A0 =A0 =A0"Cpu weight out of range, valid values are withi=
n range from "
> - =A0 =A0 =A0 =A0 =A0 =A0"1 to 65535");
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> +
> + =A0 =A0if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)=
 {
> + =A0 =A0 =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> + =A0 =A0 =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "Cpu weight out of range, "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "valid values are within ra=
nge from "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "1 to 65535");
> + =A0 =A0 =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0sdom.weight =3D scinfo->weight;
> =A0 =A0 }
>
> - =A0 =A0sdom.weight =3D scinfo->weight;
> -
> =A0 =A0 rc =3D xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
> =A0 =A0 if ( rc < 0 ) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3376,7 +3386,7 @@ int libxl_sched_credit2_domain_set(libxl
> =A0}
>
> =A0int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo)
> =A0{
> =A0 =A0 uint64_t period;
> =A0 =A0 uint64_t slice;
> @@ -3385,8 +3395,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
> =A0 =A0 uint16_t weight;
> =A0 =A0 int rc;
>
> - =A0 =A0libxl_sched_sedf_domain_init(scinfo);
> -
> =A0 =A0 rc =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &late=
ncy,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 &extratime, &weig=
ht);
> =A0 =A0 if (rc !=3D 0) {
> @@ -3394,6 +3402,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
>
> + =A0 =A0libxl_sched_domain_params_init(scinfo);
> + =A0 =A0scinfo->sched =3D LIBXL_SCHEDULER_SEDF;
> =A0 =A0 scinfo->period =3D period / 1000000;
> =A0 =A0 scinfo->slice =3D slice / 1000000;
> =A0 =A0 scinfo->latency =3D latency / 1000000;
> @@ -3404,24 +3414,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
> =A0}
>
> =A0int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo)
> =A0{
> - =A0 =A0xc_domaininfo_t domaininfo;
> - =A0 =A0int rc;
> -
> - =A0 =A0rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> - =A0 =A0if (rc < 0) {
> - =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
info list");
> + =A0 =A0uint64_t period;
> + =A0 =A0uint64_t slice;
> + =A0 =A0uint64_t latency;
> + =A0 =A0uint16_t extratime;
> + =A0 =A0uint16_t weight;
> +
> + =A0 =A0int ret;
> +
> + =A0 =A0ret =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &la=
tency,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&extratime, &wei=
ght);
> + =A0 =A0if (ret !=3D 0) {
> + =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
sched sedf");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
> - =A0 =A0if (rc !=3D 1 || domaininfo.domain !=3D domid)
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> -
> -
> - =A0 =A0rc =3D xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000=
000,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0scinfo->slice * =
1000000, scinfo->latency * 1000000,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0scinfo->extratim=
e, scinfo->weight);
> - =A0 =A0if ( rc < 0 ) {
> +
> + =A0 =A0if (scinfo->period !=3D LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> + =A0 =A0 =A0 =A0period =3D scinfo->period * 1000000;
> + =A0 =A0if (scinfo->slice !=3D LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> + =A0 =A0 =A0 =A0slice =3D scinfo->slice * 1000000;
> + =A0 =A0if (scinfo->latency !=3D LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAUL=
T)
> + =A0 =A0 =A0 =A0latency =3D scinfo->latency * 1000000;
> + =A0 =A0if (scinfo->extratime !=3D LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DE=
FAULT)
> + =A0 =A0 =A0 =A0extratime =3D scinfo->extratime;
> + =A0 =A0if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> + =A0 =A0 =A0 =A0weight =3D scinfo->weight;
> +
> + =A0 =A0ret =3D xc_sedf_domain_set(ctx->xch, domid, period, slice, laten=
cy,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0extratime, weigh=
t);
> + =A0 =A0if ( ret < 0 ) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain s=
ched sedf");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h =A0 =A0 =A0 Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/libxl.h =A0 =A0 =A0 Wed May 23 10:21:05 2012 +0100
> @@ -805,23 +805,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
>
> =A0libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
>
> -
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo);
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo);
> +/* Per-scheduler parameters */
> =A0int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl=
_sched_credit_params *scinfo);
> =A0int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl=
_sched_credit_params *scinfo);
> +
> +/* Scheduler Per-domain parameters */
> +
> +#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT =A0 =A00
> +#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT =A0 =A0 =A0 -1
> +#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT =A0 =A00
> +#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT =A0 =A0 0
> +#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT =A0 0
> +#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT -1
> +
> +int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo);
> +int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo);
> =A0int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo);
> =A0int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo);
> =A0int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo);
> =A0int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo);
> =A0int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_trigger trigger, uin=
t32_t vcpuid);
> =A0int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c =A0 Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/libxl_dom.c =A0 Wed May 23 10:21:05 2012 +0100
> @@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
> =A0int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_sched_domai=
n_params *scparams)
> =A0{
> - =A0 =A0libxl_ctx *ctx =3D libxl__gc_owner(gc);
> - =A0 =A0libxl_scheduler sched;
> - =A0 =A0libxl_sched_sedf_domain sedf_info;
> - =A0 =A0libxl_sched_credit_domain credit_info;
> - =A0 =A0libxl_sched_credit2_domain credit2_info;
> + =A0 =A0libxl_scheduler sched =3D scparams->sched;
> =A0 =A0 int ret;
>
> - =A0 =A0sched =3D libxl_get_scheduler (ctx);
> + =A0 =A0if (sched =3D=3D LIBXL_SCHEDULER_UNKNOWN)
> + =A0 =A0 =A0 =A0sched =3D libxl__domain_scheduler(gc, domid);
> +
> =A0 =A0 switch (sched) {
> =A0 =A0 case LIBXL_SCHEDULER_SEDF:
> - =A0 =A0 =A0sedf_info.period =3D scparams->period;
> - =A0 =A0 =A0sedf_info.slice =3D scparams->slice;
> - =A0 =A0 =A0sedf_info.latency =3D scparams->latency;
> - =A0 =A0 =A0sedf_info.extratime =3D scparams->extratime;
> - =A0 =A0 =A0sedf_info.weight =3D scparams->weight;
> - =A0 =A0 =A0ret=3Dlibxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
> - =A0 =A0 =A0break;
> + =A0 =A0 =A0 =A0ret=3Dlibxl_sched_sedf_domain_set(CTX, domid, scparams);
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 case LIBXL_SCHEDULER_CREDIT:
> - =A0 =A0 =A0credit_info.weight =3D scparams->weight;
> - =A0 =A0 =A0credit_info.cap =3D scparams->cap;
> - =A0 =A0 =A0ret=3Dlibxl_sched_credit_domain_set(ctx, domid, &credit_info=
);
> - =A0 =A0 =A0break;
> + =A0 =A0 =A0 =A0ret=3Dlibxl_sched_credit_domain_set(CTX, domid, scparams=
);
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 case LIBXL_SCHEDULER_CREDIT2:
> - =A0 =A0 =A0credit2_info.weight =3D scparams->weight;
> - =A0 =A0 =A0ret=3Dlibxl_sched_credit2_domain_set(ctx, domid, &credit2_in=
fo);
> - =A0 =A0 =A0break;
> + =A0 =A0 =A0 =A0ret=3Dlibxl_sched_credit2_domain_set(CTX, domid, scparam=
s);
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 default:
> - =A0 =A0 =A0ret=3D-1;
> + =A0 =A0 =A0 =A0LOG(ERROR, "Unknown scheduler");
> + =A0 =A0 =A0 =A0ret=3DERROR_INVAL;
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 }
> =A0 =A0 return ret;
> =A0}
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl =A0 =A0 =A0 Wed May 23 10:11:59 2012 +0=
100
> +++ b/tools/libxl/libxl_types.idl =A0 =A0 =A0 Wed May 23 10:21:05 2012 +0=
100
> @@ -227,12 +227,13 @@ libxl_domain_create_info =3D Struct("domai
> =A0MemKB =3D UInt(64, init_val =3D "LIBXL_MEMKB_DEFAULT")
>
> =A0libxl_sched_domain_params =3D Struct("sched_domain_params",[
> - =A0 =A0("weight", =A0 =A0 =A0 integer),
> - =A0 =A0("cap", =A0 =A0 =A0 =A0 =A0integer),
> - =A0 =A0("period", =A0 =A0 =A0 integer),
> - =A0 =A0("slice", =A0 =A0 =A0 =A0integer),
> - =A0 =A0("latency", =A0 =A0 =A0integer),
> - =A0 =A0("extratime", =A0 =A0integer),
> + =A0 =A0("sched", =A0 =A0 =A0 =A0libxl_scheduler),
> + =A0 =A0("weight", =A0 =A0 =A0 integer, {'init_val': 'LIBXL_SCHED_DOMAIN=
_PARAM_WEIGHT_DEFAULT'}),
> + =A0 =A0("cap", =A0 =A0 =A0 =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DO=
MAIN_PARAM_CAP_DEFAULT'}),
> + =A0 =A0("period", =A0 =A0 =A0 integer, {'init_val': 'LIBXL_SCHED_DOMAIN=
_PARAM_PERIOD_DEFAULT'}),
> + =A0 =A0("slice", =A0 =A0 =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DOMA=
IN_PARAM_SLICE_DEFAULT'}),
> + =A0 =A0("latency", =A0 =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DOMAIN=
_PARAM_LATENCY_DEFAULT'}),
> + =A0 =A0("extratime", =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DOMAIN_P=
ARAM_EXTRATIME_DEFAULT'}),
> =A0 =A0 ], dir=3DDIR_IN)
>
> =A0# Instances of libxl_file_reference contained in this struct which
> @@ -432,28 +433,11 @@ libxl_cputopology =3D Struct("cputopology"
> =A0 =A0 ("node", uint32),
> =A0 =A0 ], dir=3DDIR_OUT)
>
> -libxl_sched_credit_domain =3D Struct("sched_credit_domain", [
> - =A0 =A0("weight", integer),
> - =A0 =A0("cap", integer),
> - =A0 =A0])
> -
> =A0libxl_sched_credit_params =3D Struct("sched_credit_params", [
> =A0 =A0 ("tslice_ms", integer),
> =A0 =A0 ("ratelimit_us", integer),
> =A0 =A0 ], dispose_fn=3DNone)
>
> -libxl_sched_credit2_domain =3D Struct("sched_credit2_domain", [
> - =A0 =A0("weight", integer),
> - =A0 =A0])
> -
> -libxl_sched_sedf_domain =3D Struct("sched_sedf_domain", [
> - =A0 =A0("period", integer),
> - =A0 =A0("slice", integer),
> - =A0 =A0("latency", integer),
> - =A0 =A0("extratime", integer),
> - =A0 =A0("weight", integer),
> - =A0 =A0])
> -
> =A0libxl_domain_remus_info =3D Struct("domain_remus_info",[
> =A0 =A0 ("interval", =A0 =A0 integer),
> =A0 =A0 ("blackhole", =A0 =A0bool),
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c =A0Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c =A0Wed May 23 10:21:05 2012 +0100
> @@ -627,7 +627,8 @@ static void parse_config_data(const char
>
> =A0 =A0 libxl_domain_build_info_init_type(b_info, c_info->type);
>
> - =A0 =A0/* the following is the actual config parsing with overriding va=
lues in the structures */
> + =A0 =A0/* the following is the actual config parsing with overriding
> + =A0 =A0 * values in the structures */
> =A0 =A0 if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
> =A0 =A0 =A0 =A0 b_info->sched_params.weight =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "cap", &l, 0))
> @@ -635,11 +636,11 @@ static void parse_config_data(const char
> =A0 =A0 if (!xlu_cfg_get_long (config, "period", &l, 0))
> =A0 =A0 =A0 =A0 b_info->sched_params.period =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "slice", &l, 0))
> - =A0 =A0 =A0 =A0b_info->sched_params.period =3D l;
> + =A0 =A0 =A0 =A0b_info->sched_params.slice =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "latency", &l, 0))
> - =A0 =A0 =A0 =A0b_info->sched_params.period =3D l;
> + =A0 =A0 =A0 =A0b_info->sched_params.latency =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "extratime", &l, 0))
> - =A0 =A0 =A0 =A0b_info->sched_params.period =3D l;
> + =A0 =A0 =A0 =A0b_info->sched_params.extratime =3D l;
>
> =A0 =A0 if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
> =A0 =A0 =A0 =A0 b_info->max_vcpus =3D l;
> @@ -4351,7 +4352,7 @@ int main_sharing(int argc, char **argv)
> =A0 =A0 return 0;
> =A0}
>
> -static int sched_credit_domain_get(int domid, libxl_sched_credit_domain =
*scinfo)
> +static int sched_credit_domain_get(int domid, libxl_sched_domain_params =
*scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4362,7 +4363,7 @@ static int sched_credit_domain_get(int d
> =A0 =A0 return rc;
> =A0}
>
> -static int sched_credit_domain_set(int domid, libxl_sched_credit_domain =
*scinfo)
> +static int sched_credit_domain_set(int domid, libxl_sched_domain_params =
*scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4398,7 +4399,7 @@ static int sched_credit_params_get(int p
> =A0static int sched_credit_domain_output(int domid)
> =A0{
> =A0 =A0 char *domname;
> - =A0 =A0libxl_sched_credit_domain scinfo;
> + =A0 =A0libxl_sched_domain_params scinfo;
> =A0 =A0 int rc;
>
> =A0 =A0 if (domid < 0) {
> @@ -4415,7 +4416,7 @@ static int sched_credit_domain_output(in
> =A0 =A0 =A0 =A0 scinfo.weight,
> =A0 =A0 =A0 =A0 scinfo.cap);
> =A0 =A0 free(domname);
> - =A0 =A0libxl_sched_credit_domain_dispose(&scinfo);
> + =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 return 0;
> =A0}
>
> @@ -4441,7 +4442,7 @@ static int sched_credit_pool_output(uint
> =A0}
>
> =A0static int sched_credit2_domain_get(
> - =A0 =A0int domid, libxl_sched_credit2_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4453,7 +4454,7 @@ static int sched_credit2_domain_get(
> =A0}
>
> =A0static int sched_credit2_domain_set(
> - =A0 =A0int domid, libxl_sched_credit2_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4468,7 +4469,7 @@ static int sched_credit2_domain_output(
> =A0 =A0 int domid)
> =A0{
> =A0 =A0 char *domname;
> - =A0 =A0libxl_sched_credit2_domain scinfo;
> + =A0 =A0libxl_sched_domain_params scinfo;
> =A0 =A0 int rc;
>
> =A0 =A0 if (domid < 0) {
> @@ -4484,12 +4485,12 @@ static int sched_credit2_domain_output(
> =A0 =A0 =A0 =A0 domid,
> =A0 =A0 =A0 =A0 scinfo.weight);
> =A0 =A0 free(domname);
> - =A0 =A0libxl_sched_credit2_domain_dispose(&scinfo);
> + =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 return 0;
> =A0}
>
> =A0static int sched_sedf_domain_get(
> - =A0 =A0int domid, libxl_sched_sedf_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4501,7 +4502,7 @@ static int sched_sedf_domain_get(
> =A0}
>
> =A0static int sched_sedf_domain_set(
> - =A0 =A0int domid, libxl_sched_sedf_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4515,7 +4516,7 @@ static int sched_sedf_domain_output(
> =A0 =A0 int domid)
> =A0{
> =A0 =A0 char *domname;
> - =A0 =A0libxl_sched_sedf_domain scinfo;
> + =A0 =A0libxl_sched_domain_params scinfo;
> =A0 =A0 int rc;
>
> =A0 =A0 if (domid < 0) {
> @@ -4536,7 +4537,7 @@ static int sched_sedf_domain_output(
> =A0 =A0 =A0 =A0 scinfo.extratime,
> =A0 =A0 =A0 =A0 scinfo.weight);
> =A0 =A0 free(domname);
> - =A0 =A0libxl_sched_sedf_domain_dispose(&scinfo);
> + =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 return 0;
> =A0}
>
> @@ -4617,7 +4618,6 @@ static int sched_domain_output(libxl_sch
> =A0*/
> =A0int main_sched_credit(int argc, char **argv)
> =A0{
> - =A0 =A0libxl_sched_credit_domain scinfo;
> =A0 =A0 const char *dom =3D NULL;
> =A0 =A0 const char *cpupool =3D NULL;
> =A0 =A0 int weight =3D 256, cap =3D 0, opt_w =3D 0, opt_c =3D 0;
> @@ -4692,7 +4692,7 @@ int main_sched_credit(int argc, char **a
> =A0 =A0 }
>
> =A0 =A0 if (opt_s) {
> - =A0 =A0 =A0 =A0libxl_sched_credit_params =A0scparam;
> + =A0 =A0 =A0 =A0libxl_sched_credit_params scparam;
> =A0 =A0 =A0 =A0 uint32_t poolid =3D 0;
>
> =A0 =A0 =A0 =A0 if (cpupool) {
> @@ -4728,20 +4728,19 @@ int main_sched_credit(int argc, char **a
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 find_domain(dom);
>
> - =A0 =A0 =A0 =A0rc =3D sched_credit_domain_get(domid, &scinfo);
> - =A0 =A0 =A0 =A0if (rc)
> - =A0 =A0 =A0 =A0 =A0 =A0return -rc;
> -
> =A0 =A0 =A0 =A0 if (!opt_w && !opt_c) { /* output credit scheduler info */
> =A0 =A0 =A0 =A0 =A0 =A0 sched_credit_domain_output(-1);
> =A0 =A0 =A0 =A0 =A0 =A0 return -sched_credit_domain_output(domid);
> =A0 =A0 =A0 =A0 } else { /* set credit scheduler paramaters */
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params scinfo;
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_init(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0scinfo.sched =3D LIBXL_SCHEDULER_CREDIT;
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_w)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.weight =3D weight;
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_c)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.cap =3D cap;
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D sched_credit_domain_set(domid, &scinfo);
> - =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_credit_domain_dispose(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -rc;
> =A0 =A0 =A0 =A0 }
> @@ -4752,7 +4751,6 @@ int main_sched_credit(int argc, char **a
>
> =A0int main_sched_credit2(int argc, char **argv)
> =A0{
> - =A0 =A0libxl_sched_credit2_domain scinfo;
> =A0 =A0 const char *dom =3D NULL;
> =A0 =A0 const char *cpupool =3D NULL;
> =A0 =A0 int weight =3D 256, opt_w =3D 0;
> @@ -4807,18 +4805,17 @@ int main_sched_credit2(int argc, char **
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 find_domain(dom);
>
> - =A0 =A0 =A0 =A0rc =3D sched_credit2_domain_get(domid, &scinfo);
> - =A0 =A0 =A0 =A0if (rc)
> - =A0 =A0 =A0 =A0 =A0 =A0return -rc;
> -
> =A0 =A0 =A0 =A0 if (!opt_w) { /* output credit2 scheduler info */
> =A0 =A0 =A0 =A0 =A0 =A0 sched_credit2_domain_output(-1);
> =A0 =A0 =A0 =A0 =A0 =A0 return -sched_credit2_domain_output(domid);
> =A0 =A0 =A0 =A0 } else { /* set credit2 scheduler paramaters */
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params scinfo;
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_init(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0scinfo.sched =3D LIBXL_SCHEDULER_CREDIT2;
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_w)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.weight =3D weight;
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D sched_credit2_domain_set(domid, &scinfo);
> - =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_credit2_domain_dispose(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -rc;
> =A0 =A0 =A0 =A0 }
> @@ -4829,7 +4826,6 @@ int main_sched_credit2(int argc, char **
>
> =A0int main_sched_sedf(int argc, char **argv)
> =A0{
> - =A0 =A0libxl_sched_sedf_domain scinfo;
> =A0 =A0 const char *dom =3D NULL;
> =A0 =A0 const char *cpupool =3D NULL;
> =A0 =A0 int period =3D 0, opt_p =3D 0;
> @@ -4912,15 +4908,15 @@ int main_sched_sedf(int argc, char **arg
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 find_domain(dom);
>
> - =A0 =A0 =A0 =A0rc =3D sched_sedf_domain_get(domid, &scinfo);
> - =A0 =A0 =A0 =A0if (rc)
> - =A0 =A0 =A0 =A0 =A0 =A0return -rc;
> -
> =A0 =A0 =A0 =A0 if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
> =A0 =A0 =A0 =A0 =A0 =A0 /* output sedf scheduler info */
> =A0 =A0 =A0 =A0 =A0 =A0 sched_sedf_domain_output(-1);
> =A0 =A0 =A0 =A0 =A0 =A0 return -sched_sedf_domain_output(domid);
> =A0 =A0 =A0 =A0 } else { /* set sedf scheduler paramaters */
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params scinfo;
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_init(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0scinfo.sched =3D LIBXL_SCHEDULER_SEDF;
> +
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_p) {
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.period =3D period;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.weight =3D 0;
> @@ -4939,7 +4935,7 @@ int main_sched_sedf(int argc, char **arg
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.slice =3D 0;
> =A0 =A0 =A0 =A0 =A0 =A0 }
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D sched_sedf_domain_set(domid, &scinfo);
> - =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_sedf_domain_dispose(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -rc;
> =A0 =A0 =A0 =A0 }
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:28:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHEb-0001hE-Uk; Wed, 23 May 2012 19:28:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHEa-0001gv-Pj
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:28:37 +0000
Received: from [85.158.139.83:38933] by server-5.bemta-5.messagelabs.com id
	CB/88-16141-46A3DBF4; Wed, 23 May 2012 19:28:36 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337801312!26055582!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=1.4 required=7.0 tests=BODY_RANDOM_LONG,DIET_1,
	RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2481 invoked from network); 23 May 2012 19:28:33 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:28:33 -0000
Received: by qafl39 with SMTP id l39so4951478qaf.16
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:28:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=Owzr1ZinD872bScDBeBZ2QDLQuWzzWrBGOq49DQgtc8=;
	b=k/lvnqFPORnY/fAz65nlyzBHfNANy4hKEoiFun7V+pIBmZncZ649y/u0uJLVHmDJaN
	rjAsxrWg9X5h+8xy7nrC5Fz5qOgBhigDElC6rL7tjyZoA4RKy7MqfrxUoPtHiBzV2l8h
	EDPcFbbfONCXar9+AdWfAZYM+KH0pivmml2zAN5f4OoWQ7dO+ZEYYF95NnboPgDiT7bO
	kNxF5nDbJeVWjLkmRaUDO09UmiO1ciicuq9tKleeZ7H35EL5gWuwrbSB9EP3amFGWmQZ
	buh0pj1boLhlyWatG/h0JTEcbp3ZSCvaQAxj8VqSNYLxCV+EQDxgHnVMxBINpUh7FWqz
	sovg==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr7896924qab.1.1337801311887; Wed,
	23 May 2012 12:28:31 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:28:31 -0700 (PDT)
In-Reply-To: <b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
Date: Wed, 23 May 2012 20:28:31 +0100
X-Google-Sender-Auth: qOITCPJN5omPZjLpaKMXjQ2NBSM
Message-ID: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wr=
ote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337764865 -3600
> # Node ID b6221bcdf9a9045b49a2ddd7877602788f657bad
> # Parent =A07d8428388b775a0b26cf88f89ec8f99f5fc8ce25
> libxl: make it possible to explicitly specify default sched params
>
> To do so we define a descriminating value which is never a valid real val=
ue for
> each parameter.
>
> While there:
>
> =A0- removed libxl_sched_*_domain in favour of libxl_sched_params.
> =A0- use this new functionality for the various xl commands which set sch=
ed
> =A0 parameters, which saves an explicit read-modify-write in xl.
> =A0- removed call of xc_domain_getinfolist from a few functions which wer=
en't
> =A0 actually using the result (looks like a cut and paste error)
> =A0- fix xl which was setting period for a variety of different config ke=
ys.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Overall the idea of the patch looks good.  There's just the thing
about shoving all the various schedulers' parameters into one struct.
One fall-out from it is that if you specify weight in your config file
(or during domain creation), it will set the weight for credit or
credit2, but use the defaults for sedf.  This might be nice; but we're
implicitly baking in an assumption that parameters with the same name
have to have roughly similar meanings across all schedulers.
Furthermore, if someone sets a "cap" in the config file, for example,
but starts the VM in a pool running credit2, should we really just
silently ignore it, or should we alert the user in some way?

In any case, this patch only takes things half-way.  If we're really
going to have One Struct to Rule Them All, we don't need different
domain_set/domain_get functions for the different schedulers -- we
just need a libxl_sched_domain_get(), which will both figure out what
scheduler the domain is running, and fill in the appropriate
parameters, and a libxl_sched_domain_set(), which will check to see
that you've asked for the right scheduler (or marked "unknown" if you
aren't afraid), and set what it can set.  We could also have a unified
"xl sched" command that would set various parameters without the user
having to know what scheduler was currently running (perhaps throwing
a warning if you're trying to set a parameter that doesn't exist for
that scheduler).

I'm not really sure which way I think is best.  I can see the
advantage of not having to know which scheduler is actually running,
but I'm a bit wary of baking in assumptions about the equivalence of
parameters; it seems like it could lead to some nasty surprises.

But I think whichever way we choose, we should take it to its logical
conclusion.  Which in the "One Struct" way, would mean having a single
domain_get/domain_set function, and in the "separate struct" way would
probably mean specifying the scheduler -- i.e., "credit_weight",
"credit2_weight" or something like that.  (Obviously we need xm
compatibility, but we can throw a warning to encourage people to
change their config files.)

 -George

>
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c =A0 =A0 =A0 Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/libxl.c =A0 =A0 =A0 Wed May 23 10:21:05 2012 +0100
> @@ -3199,19 +3199,19 @@ libxl_scheduler libxl_get_scheduler(libx
> =A0}
>
> =A0int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit sdom;
> =A0 =A0 int rc;
>
> - =A0 =A0libxl_sched_credit_domain_init(scinfo);
> -
> =A0 =A0 rc =3D xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
> =A0 =A0 if (rc !=3D 0) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain s=
ched credit");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
>
> + =A0 =A0libxl_sched_domain_params_init(scinfo);
> + =A0 =A0scinfo->sched =3D LIBXL_SCHEDULER_CREDIT;
> =A0 =A0 scinfo->weight =3D sdom.weight;
> =A0 =A0 scinfo->cap =3D sdom.cap;
>
> @@ -3219,7 +3219,7 @@ int libxl_sched_credit_domain_get(libxl_
> =A0}
>
> =A0int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit sdom;
> =A0 =A0 xc_domaininfo_t domaininfo;
> @@ -3233,22 +3233,33 @@ int libxl_sched_credit_domain_set(libxl_
> =A0 =A0 if (rc !=3D 1 || domaininfo.domain !=3D domid)
> =A0 =A0 =A0 =A0 return ERROR_INVAL;
>
> -
> - =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> - =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> - =A0 =A0 =A0 =A0 =A0 =A0"Cpu weight out of range, valid values are withi=
n range from 1 to 65535");
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0rc =3D xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
> + =A0 =A0if (rc !=3D 0) {
> + =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
sched credit");
> + =A0 =A0 =A0 =A0return ERROR_FAIL;
> =A0 =A0 }
>
> - =A0 =A0if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1=
) * 100) {
> - =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> - =A0 =A0 =A0 =A0 =A0 =A0"Cpu cap out of range, valid range is from 0 to =
%d for specified number of vcpus",
> - =A0 =A0 =A0 =A0 =A0 =A0((domaininfo.max_vcpu_id + 1) * 100));
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)=
 {
> + =A0 =A0 =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> + =A0 =A0 =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "Cpu weight out of range, "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "valid values are within ra=
nge from 1 to 65535");
> + =A0 =A0 =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0sdom.weight =3D scinfo->weight;
> =A0 =A0 }
>
> - =A0 =A0sdom.weight =3D scinfo->weight;
> - =A0 =A0sdom.cap =3D scinfo->cap;
> + =A0 =A0if (scinfo->cap !=3D LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT) {
> + =A0 =A0 =A0 =A0if (scinfo->cap < 0
> + =A0 =A0 =A0 =A0 =A0 =A0|| scinfo->cap > (domaininfo.max_vcpu_id + 1) * =
100) {
> + =A0 =A0 =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"Cpu cap out of range, "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"valid range is from 0 to %d for specifi=
ed number of vcpus",
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ((domaininfo.max_vcpu_id + =
1) * 100));
> + =A0 =A0 =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0sdom.cap =3D scinfo->cap;
> + =A0 =A0}
>
> =A0 =A0 rc =3D xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
> =A0 =A0 if ( rc < 0 ) {
> @@ -3321,13 +3332,11 @@ int libxl_sched_credit_params_set(libxl_
> =A0}
>
> =A0int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit2 sdom;
> =A0 =A0 int rc;
>
> - =A0 =A0libxl_sched_credit2_domain_init(scinfo);
> -
> =A0 =A0 rc =3D xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
> =A0 =A0 if (rc !=3D 0) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3335,36 +3344,37 @@ int libxl_sched_credit2_domain_get(libxl
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
>
> + =A0 =A0libxl_sched_domain_params_init(scinfo);
> + =A0 =A0scinfo->sched =3D LIBXL_SCHEDULER_CREDIT2;
> =A0 =A0 scinfo->weight =3D sdom.weight;
>
> =A0 =A0 return 0;
> =A0}
>
> =A0int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 struct xen_domctl_sched_credit2 sdom;
> - =A0 =A0xc_domaininfo_t domaininfo;
> =A0 =A0 int rc;
>
> - =A0 =A0rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> - =A0 =A0if (rc < 0) {
> - =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
info list");
> + =A0 =A0rc =3D xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
> + =A0 =A0if (rc !=3D 0) {
> + =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "getting domain sched c=
redit2");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
> - =A0 =A0if (rc !=3D 1 || domaininfo.domain !=3D domid)
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> -
> -
> - =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> - =A0 =A0 =A0 =A0LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
> - =A0 =A0 =A0 =A0 =A0 =A0"Cpu weight out of range, valid values are withi=
n range from "
> - =A0 =A0 =A0 =A0 =A0 =A0"1 to 65535");
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> +
> + =A0 =A0if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)=
 {
> + =A0 =A0 =A0 =A0if (scinfo->weight < 1 || scinfo->weight > 65535) {
> + =A0 =A0 =A0 =A0 =A0 =A0LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "Cpu weight out of range, "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "valid values are within ra=
nge from "
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "1 to 65535");
> + =A0 =A0 =A0 =A0 =A0 =A0return ERROR_INVAL;
> + =A0 =A0 =A0 =A0}
> + =A0 =A0 =A0 =A0sdom.weight =3D scinfo->weight;
> =A0 =A0 }
>
> - =A0 =A0sdom.weight =3D scinfo->weight;
> -
> =A0 =A0 rc =3D xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
> =A0 =A0 if ( rc < 0 ) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3376,7 +3386,7 @@ int libxl_sched_credit2_domain_set(libxl
> =A0}
>
> =A0int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo)
> =A0{
> =A0 =A0 uint64_t period;
> =A0 =A0 uint64_t slice;
> @@ -3385,8 +3395,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
> =A0 =A0 uint16_t weight;
> =A0 =A0 int rc;
>
> - =A0 =A0libxl_sched_sedf_domain_init(scinfo);
> -
> =A0 =A0 rc =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &late=
ncy,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 &extratime, &weig=
ht);
> =A0 =A0 if (rc !=3D 0) {
> @@ -3394,6 +3402,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
>
> + =A0 =A0libxl_sched_domain_params_init(scinfo);
> + =A0 =A0scinfo->sched =3D LIBXL_SCHEDULER_SEDF;
> =A0 =A0 scinfo->period =3D period / 1000000;
> =A0 =A0 scinfo->slice =3D slice / 1000000;
> =A0 =A0 scinfo->latency =3D latency / 1000000;
> @@ -3404,24 +3414,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
> =A0}
>
> =A0int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo)
> =A0{
> - =A0 =A0xc_domaininfo_t domaininfo;
> - =A0 =A0int rc;
> -
> - =A0 =A0rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> - =A0 =A0if (rc < 0) {
> - =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
info list");
> + =A0 =A0uint64_t period;
> + =A0 =A0uint64_t slice;
> + =A0 =A0uint64_t latency;
> + =A0 =A0uint16_t extratime;
> + =A0 =A0uint16_t weight;
> +
> + =A0 =A0int ret;
> +
> + =A0 =A0ret =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &la=
tency,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&extratime, &wei=
ght);
> + =A0 =A0if (ret !=3D 0) {
> + =A0 =A0 =A0 =A0LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain =
sched sedf");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
> - =A0 =A0if (rc !=3D 1 || domaininfo.domain !=3D domid)
> - =A0 =A0 =A0 =A0return ERROR_INVAL;
> -
> -
> - =A0 =A0rc =3D xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000=
000,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0scinfo->slice * =
1000000, scinfo->latency * 1000000,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0scinfo->extratim=
e, scinfo->weight);
> - =A0 =A0if ( rc < 0 ) {
> +
> + =A0 =A0if (scinfo->period !=3D LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT)
> + =A0 =A0 =A0 =A0period =3D scinfo->period * 1000000;
> + =A0 =A0if (scinfo->slice !=3D LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT)
> + =A0 =A0 =A0 =A0slice =3D scinfo->slice * 1000000;
> + =A0 =A0if (scinfo->latency !=3D LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAUL=
T)
> + =A0 =A0 =A0 =A0latency =3D scinfo->latency * 1000000;
> + =A0 =A0if (scinfo->extratime !=3D LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DE=
FAULT)
> + =A0 =A0 =A0 =A0extratime =3D scinfo->extratime;
> + =A0 =A0if (scinfo->weight !=3D LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT)
> + =A0 =A0 =A0 =A0weight =3D scinfo->weight;
> +
> + =A0 =A0ret =3D xc_sedf_domain_set(ctx->xch, domid, period, slice, laten=
cy,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0extratime, weigh=
t);
> + =A0 =A0if ( ret < 0 ) {
> =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain s=
ched sedf");
> =A0 =A0 =A0 =A0 return ERROR_FAIL;
> =A0 =A0 }
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h =A0 =A0 =A0 Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/libxl.h =A0 =A0 =A0 Wed May 23 10:21:05 2012 +0100
> @@ -805,23 +805,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
>
> =A0libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
>
> -
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo);
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_credit_domain *scinfo);
> +/* Per-scheduler parameters */
> =A0int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl=
_sched_credit_params *scinfo);
> =A0int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl=
_sched_credit_params *scinfo);
> +
> +/* Scheduler Per-domain parameters */
> +
> +#define LIBXL_SCHED_DOMAIN_PARAM_WEIGHT_DEFAULT =A0 =A00
> +#define LIBXL_SCHED_DOMAIN_PARAM_CAP_DEFAULT =A0 =A0 =A0 -1
> +#define LIBXL_SCHED_DOMAIN_PARAM_PERIOD_DEFAULT =A0 =A00
> +#define LIBXL_SCHED_DOMAIN_PARAM_SLICE_DEFAULT =A0 =A0 0
> +#define LIBXL_SCHED_DOMAIN_PARAM_LATENCY_DEFAULT =A0 0
> +#define LIBXL_SCHED_DOMAIN_PARAM_EXTRATIME_DEFAULT -1
> +
> +int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo);
> +int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libx=
l_sched_domain_params *scinfo);
> =A0int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo);
> =A0int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_credit2_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 lib=
xl_sched_domain_params *scinfo);
> =A0int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo);
> =A0int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_sedf_domain *scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_sc=
hed_domain_params *scinfo);
> =A0int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_trigger trigger, uin=
t32_t vcpuid);
> =A0int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c =A0 Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/libxl_dom.c =A0 Wed May 23 10:21:05 2012 +0100
> @@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
> =A0int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_sched_domai=
n_params *scparams)
> =A0{
> - =A0 =A0libxl_ctx *ctx =3D libxl__gc_owner(gc);
> - =A0 =A0libxl_scheduler sched;
> - =A0 =A0libxl_sched_sedf_domain sedf_info;
> - =A0 =A0libxl_sched_credit_domain credit_info;
> - =A0 =A0libxl_sched_credit2_domain credit2_info;
> + =A0 =A0libxl_scheduler sched =3D scparams->sched;
> =A0 =A0 int ret;
>
> - =A0 =A0sched =3D libxl_get_scheduler (ctx);
> + =A0 =A0if (sched =3D=3D LIBXL_SCHEDULER_UNKNOWN)
> + =A0 =A0 =A0 =A0sched =3D libxl__domain_scheduler(gc, domid);
> +
> =A0 =A0 switch (sched) {
> =A0 =A0 case LIBXL_SCHEDULER_SEDF:
> - =A0 =A0 =A0sedf_info.period =3D scparams->period;
> - =A0 =A0 =A0sedf_info.slice =3D scparams->slice;
> - =A0 =A0 =A0sedf_info.latency =3D scparams->latency;
> - =A0 =A0 =A0sedf_info.extratime =3D scparams->extratime;
> - =A0 =A0 =A0sedf_info.weight =3D scparams->weight;
> - =A0 =A0 =A0ret=3Dlibxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
> - =A0 =A0 =A0break;
> + =A0 =A0 =A0 =A0ret=3Dlibxl_sched_sedf_domain_set(CTX, domid, scparams);
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 case LIBXL_SCHEDULER_CREDIT:
> - =A0 =A0 =A0credit_info.weight =3D scparams->weight;
> - =A0 =A0 =A0credit_info.cap =3D scparams->cap;
> - =A0 =A0 =A0ret=3Dlibxl_sched_credit_domain_set(ctx, domid, &credit_info=
);
> - =A0 =A0 =A0break;
> + =A0 =A0 =A0 =A0ret=3Dlibxl_sched_credit_domain_set(CTX, domid, scparams=
);
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 case LIBXL_SCHEDULER_CREDIT2:
> - =A0 =A0 =A0credit2_info.weight =3D scparams->weight;
> - =A0 =A0 =A0ret=3Dlibxl_sched_credit2_domain_set(ctx, domid, &credit2_in=
fo);
> - =A0 =A0 =A0break;
> + =A0 =A0 =A0 =A0ret=3Dlibxl_sched_credit2_domain_set(CTX, domid, scparam=
s);
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 default:
> - =A0 =A0 =A0ret=3D-1;
> + =A0 =A0 =A0 =A0LOG(ERROR, "Unknown scheduler");
> + =A0 =A0 =A0 =A0ret=3DERROR_INVAL;
> + =A0 =A0 =A0 =A0break;
> =A0 =A0 }
> =A0 =A0 return ret;
> =A0}
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl =A0 =A0 =A0 Wed May 23 10:11:59 2012 +0=
100
> +++ b/tools/libxl/libxl_types.idl =A0 =A0 =A0 Wed May 23 10:21:05 2012 +0=
100
> @@ -227,12 +227,13 @@ libxl_domain_create_info =3D Struct("domai
> =A0MemKB =3D UInt(64, init_val =3D "LIBXL_MEMKB_DEFAULT")
>
> =A0libxl_sched_domain_params =3D Struct("sched_domain_params",[
> - =A0 =A0("weight", =A0 =A0 =A0 integer),
> - =A0 =A0("cap", =A0 =A0 =A0 =A0 =A0integer),
> - =A0 =A0("period", =A0 =A0 =A0 integer),
> - =A0 =A0("slice", =A0 =A0 =A0 =A0integer),
> - =A0 =A0("latency", =A0 =A0 =A0integer),
> - =A0 =A0("extratime", =A0 =A0integer),
> + =A0 =A0("sched", =A0 =A0 =A0 =A0libxl_scheduler),
> + =A0 =A0("weight", =A0 =A0 =A0 integer, {'init_val': 'LIBXL_SCHED_DOMAIN=
_PARAM_WEIGHT_DEFAULT'}),
> + =A0 =A0("cap", =A0 =A0 =A0 =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DO=
MAIN_PARAM_CAP_DEFAULT'}),
> + =A0 =A0("period", =A0 =A0 =A0 integer, {'init_val': 'LIBXL_SCHED_DOMAIN=
_PARAM_PERIOD_DEFAULT'}),
> + =A0 =A0("slice", =A0 =A0 =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DOMA=
IN_PARAM_SLICE_DEFAULT'}),
> + =A0 =A0("latency", =A0 =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DOMAIN=
_PARAM_LATENCY_DEFAULT'}),
> + =A0 =A0("extratime", =A0 =A0integer, {'init_val': 'LIBXL_SCHED_DOMAIN_P=
ARAM_EXTRATIME_DEFAULT'}),
> =A0 =A0 ], dir=3DDIR_IN)
>
> =A0# Instances of libxl_file_reference contained in this struct which
> @@ -432,28 +433,11 @@ libxl_cputopology =3D Struct("cputopology"
> =A0 =A0 ("node", uint32),
> =A0 =A0 ], dir=3DDIR_OUT)
>
> -libxl_sched_credit_domain =3D Struct("sched_credit_domain", [
> - =A0 =A0("weight", integer),
> - =A0 =A0("cap", integer),
> - =A0 =A0])
> -
> =A0libxl_sched_credit_params =3D Struct("sched_credit_params", [
> =A0 =A0 ("tslice_ms", integer),
> =A0 =A0 ("ratelimit_us", integer),
> =A0 =A0 ], dispose_fn=3DNone)
>
> -libxl_sched_credit2_domain =3D Struct("sched_credit2_domain", [
> - =A0 =A0("weight", integer),
> - =A0 =A0])
> -
> -libxl_sched_sedf_domain =3D Struct("sched_sedf_domain", [
> - =A0 =A0("period", integer),
> - =A0 =A0("slice", integer),
> - =A0 =A0("latency", integer),
> - =A0 =A0("extratime", integer),
> - =A0 =A0("weight", integer),
> - =A0 =A0])
> -
> =A0libxl_domain_remus_info =3D Struct("domain_remus_info",[
> =A0 =A0 ("interval", =A0 =A0 integer),
> =A0 =A0 ("blackhole", =A0 =A0bool),
> diff -r 7d8428388b77 -r b6221bcdf9a9 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c =A0Wed May 23 10:11:59 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c =A0Wed May 23 10:21:05 2012 +0100
> @@ -627,7 +627,8 @@ static void parse_config_data(const char
>
> =A0 =A0 libxl_domain_build_info_init_type(b_info, c_info->type);
>
> - =A0 =A0/* the following is the actual config parsing with overriding va=
lues in the structures */
> + =A0 =A0/* the following is the actual config parsing with overriding
> + =A0 =A0 * values in the structures */
> =A0 =A0 if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
> =A0 =A0 =A0 =A0 b_info->sched_params.weight =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "cap", &l, 0))
> @@ -635,11 +636,11 @@ static void parse_config_data(const char
> =A0 =A0 if (!xlu_cfg_get_long (config, "period", &l, 0))
> =A0 =A0 =A0 =A0 b_info->sched_params.period =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "slice", &l, 0))
> - =A0 =A0 =A0 =A0b_info->sched_params.period =3D l;
> + =A0 =A0 =A0 =A0b_info->sched_params.slice =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "latency", &l, 0))
> - =A0 =A0 =A0 =A0b_info->sched_params.period =3D l;
> + =A0 =A0 =A0 =A0b_info->sched_params.latency =3D l;
> =A0 =A0 if (!xlu_cfg_get_long (config, "extratime", &l, 0))
> - =A0 =A0 =A0 =A0b_info->sched_params.period =3D l;
> + =A0 =A0 =A0 =A0b_info->sched_params.extratime =3D l;
>
> =A0 =A0 if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
> =A0 =A0 =A0 =A0 b_info->max_vcpus =3D l;
> @@ -4351,7 +4352,7 @@ int main_sharing(int argc, char **argv)
> =A0 =A0 return 0;
> =A0}
>
> -static int sched_credit_domain_get(int domid, libxl_sched_credit_domain =
*scinfo)
> +static int sched_credit_domain_get(int domid, libxl_sched_domain_params =
*scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4362,7 +4363,7 @@ static int sched_credit_domain_get(int d
> =A0 =A0 return rc;
> =A0}
>
> -static int sched_credit_domain_set(int domid, libxl_sched_credit_domain =
*scinfo)
> +static int sched_credit_domain_set(int domid, libxl_sched_domain_params =
*scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4398,7 +4399,7 @@ static int sched_credit_params_get(int p
> =A0static int sched_credit_domain_output(int domid)
> =A0{
> =A0 =A0 char *domname;
> - =A0 =A0libxl_sched_credit_domain scinfo;
> + =A0 =A0libxl_sched_domain_params scinfo;
> =A0 =A0 int rc;
>
> =A0 =A0 if (domid < 0) {
> @@ -4415,7 +4416,7 @@ static int sched_credit_domain_output(in
> =A0 =A0 =A0 =A0 scinfo.weight,
> =A0 =A0 =A0 =A0 scinfo.cap);
> =A0 =A0 free(domname);
> - =A0 =A0libxl_sched_credit_domain_dispose(&scinfo);
> + =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 return 0;
> =A0}
>
> @@ -4441,7 +4442,7 @@ static int sched_credit_pool_output(uint
> =A0}
>
> =A0static int sched_credit2_domain_get(
> - =A0 =A0int domid, libxl_sched_credit2_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4453,7 +4454,7 @@ static int sched_credit2_domain_get(
> =A0}
>
> =A0static int sched_credit2_domain_set(
> - =A0 =A0int domid, libxl_sched_credit2_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4468,7 +4469,7 @@ static int sched_credit2_domain_output(
> =A0 =A0 int domid)
> =A0{
> =A0 =A0 char *domname;
> - =A0 =A0libxl_sched_credit2_domain scinfo;
> + =A0 =A0libxl_sched_domain_params scinfo;
> =A0 =A0 int rc;
>
> =A0 =A0 if (domid < 0) {
> @@ -4484,12 +4485,12 @@ static int sched_credit2_domain_output(
> =A0 =A0 =A0 =A0 domid,
> =A0 =A0 =A0 =A0 scinfo.weight);
> =A0 =A0 free(domname);
> - =A0 =A0libxl_sched_credit2_domain_dispose(&scinfo);
> + =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 return 0;
> =A0}
>
> =A0static int sched_sedf_domain_get(
> - =A0 =A0int domid, libxl_sched_sedf_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4501,7 +4502,7 @@ static int sched_sedf_domain_get(
> =A0}
>
> =A0static int sched_sedf_domain_set(
> - =A0 =A0int domid, libxl_sched_sedf_domain *scinfo)
> + =A0 =A0int domid, libxl_sched_domain_params *scinfo)
> =A0{
> =A0 =A0 int rc;
>
> @@ -4515,7 +4516,7 @@ static int sched_sedf_domain_output(
> =A0 =A0 int domid)
> =A0{
> =A0 =A0 char *domname;
> - =A0 =A0libxl_sched_sedf_domain scinfo;
> + =A0 =A0libxl_sched_domain_params scinfo;
> =A0 =A0 int rc;
>
> =A0 =A0 if (domid < 0) {
> @@ -4536,7 +4537,7 @@ static int sched_sedf_domain_output(
> =A0 =A0 =A0 =A0 scinfo.extratime,
> =A0 =A0 =A0 =A0 scinfo.weight);
> =A0 =A0 free(domname);
> - =A0 =A0libxl_sched_sedf_domain_dispose(&scinfo);
> + =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 return 0;
> =A0}
>
> @@ -4617,7 +4618,6 @@ static int sched_domain_output(libxl_sch
> =A0*/
> =A0int main_sched_credit(int argc, char **argv)
> =A0{
> - =A0 =A0libxl_sched_credit_domain scinfo;
> =A0 =A0 const char *dom =3D NULL;
> =A0 =A0 const char *cpupool =3D NULL;
> =A0 =A0 int weight =3D 256, cap =3D 0, opt_w =3D 0, opt_c =3D 0;
> @@ -4692,7 +4692,7 @@ int main_sched_credit(int argc, char **a
> =A0 =A0 }
>
> =A0 =A0 if (opt_s) {
> - =A0 =A0 =A0 =A0libxl_sched_credit_params =A0scparam;
> + =A0 =A0 =A0 =A0libxl_sched_credit_params scparam;
> =A0 =A0 =A0 =A0 uint32_t poolid =3D 0;
>
> =A0 =A0 =A0 =A0 if (cpupool) {
> @@ -4728,20 +4728,19 @@ int main_sched_credit(int argc, char **a
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 find_domain(dom);
>
> - =A0 =A0 =A0 =A0rc =3D sched_credit_domain_get(domid, &scinfo);
> - =A0 =A0 =A0 =A0if (rc)
> - =A0 =A0 =A0 =A0 =A0 =A0return -rc;
> -
> =A0 =A0 =A0 =A0 if (!opt_w && !opt_c) { /* output credit scheduler info */
> =A0 =A0 =A0 =A0 =A0 =A0 sched_credit_domain_output(-1);
> =A0 =A0 =A0 =A0 =A0 =A0 return -sched_credit_domain_output(domid);
> =A0 =A0 =A0 =A0 } else { /* set credit scheduler paramaters */
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params scinfo;
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_init(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0scinfo.sched =3D LIBXL_SCHEDULER_CREDIT;
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_w)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.weight =3D weight;
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_c)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.cap =3D cap;
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D sched_credit_domain_set(domid, &scinfo);
> - =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_credit_domain_dispose(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -rc;
> =A0 =A0 =A0 =A0 }
> @@ -4752,7 +4751,6 @@ int main_sched_credit(int argc, char **a
>
> =A0int main_sched_credit2(int argc, char **argv)
> =A0{
> - =A0 =A0libxl_sched_credit2_domain scinfo;
> =A0 =A0 const char *dom =3D NULL;
> =A0 =A0 const char *cpupool =3D NULL;
> =A0 =A0 int weight =3D 256, opt_w =3D 0;
> @@ -4807,18 +4805,17 @@ int main_sched_credit2(int argc, char **
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 find_domain(dom);
>
> - =A0 =A0 =A0 =A0rc =3D sched_credit2_domain_get(domid, &scinfo);
> - =A0 =A0 =A0 =A0if (rc)
> - =A0 =A0 =A0 =A0 =A0 =A0return -rc;
> -
> =A0 =A0 =A0 =A0 if (!opt_w) { /* output credit2 scheduler info */
> =A0 =A0 =A0 =A0 =A0 =A0 sched_credit2_domain_output(-1);
> =A0 =A0 =A0 =A0 =A0 =A0 return -sched_credit2_domain_output(domid);
> =A0 =A0 =A0 =A0 } else { /* set credit2 scheduler paramaters */
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params scinfo;
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_init(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0scinfo.sched =3D LIBXL_SCHEDULER_CREDIT2;
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_w)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.weight =3D weight;
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D sched_credit2_domain_set(domid, &scinfo);
> - =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_credit2_domain_dispose(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -rc;
> =A0 =A0 =A0 =A0 }
> @@ -4829,7 +4826,6 @@ int main_sched_credit2(int argc, char **
>
> =A0int main_sched_sedf(int argc, char **argv)
> =A0{
> - =A0 =A0libxl_sched_sedf_domain scinfo;
> =A0 =A0 const char *dom =3D NULL;
> =A0 =A0 const char *cpupool =3D NULL;
> =A0 =A0 int period =3D 0, opt_p =3D 0;
> @@ -4912,15 +4908,15 @@ int main_sched_sedf(int argc, char **arg
> =A0 =A0 } else {
> =A0 =A0 =A0 =A0 find_domain(dom);
>
> - =A0 =A0 =A0 =A0rc =3D sched_sedf_domain_get(domid, &scinfo);
> - =A0 =A0 =A0 =A0if (rc)
> - =A0 =A0 =A0 =A0 =A0 =A0return -rc;
> -
> =A0 =A0 =A0 =A0 if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
> =A0 =A0 =A0 =A0 =A0 =A0 /* output sedf scheduler info */
> =A0 =A0 =A0 =A0 =A0 =A0 sched_sedf_domain_output(-1);
> =A0 =A0 =A0 =A0 =A0 =A0 return -sched_sedf_domain_output(domid);
> =A0 =A0 =A0 =A0 } else { /* set sedf scheduler paramaters */
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params scinfo;
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_init(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0scinfo.sched =3D LIBXL_SCHEDULER_SEDF;
> +
> =A0 =A0 =A0 =A0 =A0 =A0 if (opt_p) {
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.period =3D period;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.weight =3D 0;
> @@ -4939,7 +4935,7 @@ int main_sched_sedf(int argc, char **arg
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 scinfo.slice =3D 0;
> =A0 =A0 =A0 =A0 =A0 =A0 }
> =A0 =A0 =A0 =A0 =A0 =A0 rc =3D sched_sedf_domain_set(domid, &scinfo);
> - =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_sedf_domain_dispose(&scinfo);
> + =A0 =A0 =A0 =A0 =A0 =A0libxl_sched_domain_params_dispose(&scinfo);
> =A0 =A0 =A0 =A0 =A0 =A0 if (rc)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -rc;
> =A0 =A0 =A0 =A0 }
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:34:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:34:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHKD-00029z-UT; Wed, 23 May 2012 19:34:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHKC-00029p-1h
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:34:24 +0000
Received: from [193.109.254.147:12211] by server-10.bemta-14.messagelabs.com
	id 6E/B7-05847-FBB3DBF4; Wed, 23 May 2012 19:34:23 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337801661!10171750!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18921 invoked from network); 23 May 2012 19:34:22 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:34:22 -0000
Received: by qaeb19 with SMTP id b19so4193177qae.11
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:34:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=c+502zpSV/92zdGqBnZ8vHpf9freyhrHMrWXuy6srhM=;
	b=cjrcKDrKc/kpYlM/WIpyqzHUPA5i4FHdckxeXOK1wdBoCsiQIA0VG7joCNYmvOeVQ/
	2K+LVgzzxQnQGfAqHjlEmGScSKbhheIuPjvEyqoYkYw8hEw0T4bWRvqWd11FVqySw4TG
	mH2THvGpopICug6ClUJ6VJq5+1hmmHjEPoQCE4EFM/XpzrqKDMx6fp4LCL1NRXrIRXbG
	Zbio4LaG+DJ2jbGfa1gR5fQj85CKkN5eQyoHYpJWKTT+PggppaXb/Egr/24W95agsQ//
	bd07UqqT8stCIXStENjH+DPuLCuKSc38jVYlfVA3KkIVFDgeQ+/5TQPPgNSUG/x3ih2F
	7SVg==
MIME-Version: 1.0
Received: by 10.224.185.204 with SMTP id cp12mr7708899qab.42.1337801661295;
	Wed, 23 May 2012 12:34:21 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:34:21 -0700 (PDT)
In-Reply-To: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
Date: Wed, 23 May 2012 20:34:21 +0100
X-Google-Sender-Auth: ozDL8sM2rfxnmoBINf-upbXSkBE
Message-ID: <CAFLBxZYdkh70==1NCTY1TW7Cj0c+gyj8QqSkvsxFVBZnOd3MAg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 8:28 PM, George Dunlap
<George.Dunlap@eu.citrix.com> wrote:
> But I think whichever way we choose, we should take it to its logical
> conclusion. =A0Which in the "One Struct" way, would mean having a single
> domain_get/domain_set function, and in the "separate struct" way would
> probably mean specifying the scheduler -- i.e., "credit_weight",
> "credit2_weight" or something like that. =A0(Obviously we need xm
> compatibility, but we can throw a warning to encourage people to
> change their config files.)

Er, in case this wasn't clear, I meant specifying the scheduler with
the parameter in the config file.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:34:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:34:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHKD-00029z-UT; Wed, 23 May 2012 19:34:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHKC-00029p-1h
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:34:24 +0000
Received: from [193.109.254.147:12211] by server-10.bemta-14.messagelabs.com
	id 6E/B7-05847-FBB3DBF4; Wed, 23 May 2012 19:34:23 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337801661!10171750!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18921 invoked from network); 23 May 2012 19:34:22 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:34:22 -0000
Received: by qaeb19 with SMTP id b19so4193177qae.11
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:34:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=c+502zpSV/92zdGqBnZ8vHpf9freyhrHMrWXuy6srhM=;
	b=cjrcKDrKc/kpYlM/WIpyqzHUPA5i4FHdckxeXOK1wdBoCsiQIA0VG7joCNYmvOeVQ/
	2K+LVgzzxQnQGfAqHjlEmGScSKbhheIuPjvEyqoYkYw8hEw0T4bWRvqWd11FVqySw4TG
	mH2THvGpopICug6ClUJ6VJq5+1hmmHjEPoQCE4EFM/XpzrqKDMx6fp4LCL1NRXrIRXbG
	Zbio4LaG+DJ2jbGfa1gR5fQj85CKkN5eQyoHYpJWKTT+PggppaXb/Egr/24W95agsQ//
	bd07UqqT8stCIXStENjH+DPuLCuKSc38jVYlfVA3KkIVFDgeQ+/5TQPPgNSUG/x3ih2F
	7SVg==
MIME-Version: 1.0
Received: by 10.224.185.204 with SMTP id cp12mr7708899qab.42.1337801661295;
	Wed, 23 May 2012 12:34:21 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:34:21 -0700 (PDT)
In-Reply-To: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
Date: Wed, 23 May 2012 20:34:21 +0100
X-Google-Sender-Auth: ozDL8sM2rfxnmoBINf-upbXSkBE
Message-ID: <CAFLBxZYdkh70==1NCTY1TW7Cj0c+gyj8QqSkvsxFVBZnOd3MAg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 8:28 PM, George Dunlap
<George.Dunlap@eu.citrix.com> wrote:
> But I think whichever way we choose, we should take it to its logical
> conclusion. =A0Which in the "One Struct" way, would mean having a single
> domain_get/domain_set function, and in the "separate struct" way would
> probably mean specifying the scheduler -- i.e., "credit_weight",
> "credit2_weight" or something like that. =A0(Obviously we need xm
> compatibility, but we can throw a warning to encourage people to
> change their config files.)

Er, in case this wasn't clear, I meant specifying the scheduler with
the parameter in the config file.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:47:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:47:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHWT-0002RA-76; Wed, 23 May 2012 19:47:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHWR-0002R5-BI
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:47:03 +0000
Received: from [85.158.138.51:46502] by server-4.bemta-3.messagelabs.com id
	CC/E7-25780-6BE3DBF4; Wed, 23 May 2012 19:47:02 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337802420!28728633!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4646 invoked from network); 23 May 2012 19:47:01 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:47:01 -0000
Received: by qaeb19 with SMTP id b19so4206157qae.11
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:47:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=EmP5ujtyAh3WMSGqMxKbmrlx4zmWOkjcVtnpPj89M7o=;
	b=YgSNpwg2p5j047JDTt/a2Xmo5bkIzc9AtHdt2onCrO052jalaYAR9VACKLuJbXDMYn
	a88grryltYILYN2mKqMn8KsuFUd6s+Rd3QMKX843Zx1JOAWHdOd1y6g/WQnSWPmc1r3H
	6HQJGLX8D0Q2boxKF9aUrZfZGo60KB7cS+t+Wl+A0Is/ac0f8+W90+QZCfxC4qMp1l5z
	neDIYE+Bp1wwbtoc07o0GEXYEmRNmSs6KcY+UXAtfHB2rzQveMuiubjtlllG+Mhf6bl1
	khT2W3xEiZkOsJ4J4B9pM+e/7rNAUSt7QPMnqcS05C42HJWLvYutjbl6nbgToCwRmZwr
	mIzQ==
MIME-Version: 1.0
Received: by 10.224.206.198 with SMTP id fv6mr7860379qab.6.1337802420414; Wed,
	23 May 2012 12:47:00 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:47:00 -0700 (PDT)
In-Reply-To: <6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
Date: Wed, 23 May 2012 20:47:00 +0100
X-Google-Sender-Auth: B1h5m6ohFt02qsw7M1zBFOdNem8
Message-ID: <CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get
 a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wr=
ote:
> =A0 =A0 =A0 =A0 if (!tmp) {
> =A0 =A0 =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocati=
ng cpupool info");
> + =A0 =A0 =A0 =A0 =A0 =A0while(--i>0)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_cpupoolinfo_dispose(ptr+i);

I'm not a fan of putting state-changes and conditionals in the same
expression and relying on prefix/postifx precedence to sort things
out.  It seems like it's laying a trap for some poor tired programmer
in the future to make a thinko.  Would it really be that bad to just
write "for(i--; i>0; i--)"? :-)

Actually -- walk me through this one.  Won't this fail to call
libxl_cpupoolinfo_dispose() on element 0?

 -G

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:47:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:47:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHWT-0002RA-76; Wed, 23 May 2012 19:47:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHWR-0002R5-BI
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:47:03 +0000
Received: from [85.158.138.51:46502] by server-4.bemta-3.messagelabs.com id
	CC/E7-25780-6BE3DBF4; Wed, 23 May 2012 19:47:02 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337802420!28728633!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4646 invoked from network); 23 May 2012 19:47:01 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:47:01 -0000
Received: by qaeb19 with SMTP id b19so4206157qae.11
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:47:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=EmP5ujtyAh3WMSGqMxKbmrlx4zmWOkjcVtnpPj89M7o=;
	b=YgSNpwg2p5j047JDTt/a2Xmo5bkIzc9AtHdt2onCrO052jalaYAR9VACKLuJbXDMYn
	a88grryltYILYN2mKqMn8KsuFUd6s+Rd3QMKX843Zx1JOAWHdOd1y6g/WQnSWPmc1r3H
	6HQJGLX8D0Q2boxKF9aUrZfZGo60KB7cS+t+Wl+A0Is/ac0f8+W90+QZCfxC4qMp1l5z
	neDIYE+Bp1wwbtoc07o0GEXYEmRNmSs6KcY+UXAtfHB2rzQveMuiubjtlllG+Mhf6bl1
	khT2W3xEiZkOsJ4J4B9pM+e/7rNAUSt7QPMnqcS05C42HJWLvYutjbl6nbgToCwRmZwr
	mIzQ==
MIME-Version: 1.0
Received: by 10.224.206.198 with SMTP id fv6mr7860379qab.6.1337802420414; Wed,
	23 May 2012 12:47:00 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:47:00 -0700 (PDT)
In-Reply-To: <6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
Date: Wed, 23 May 2012 20:47:00 +0100
X-Google-Sender-Auth: B1h5m6ohFt02qsw7M1zBFOdNem8
Message-ID: <CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get
 a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wr=
ote:
> =A0 =A0 =A0 =A0 if (!tmp) {
> =A0 =A0 =A0 =A0 =A0 =A0 LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocati=
ng cpupool info");
> + =A0 =A0 =A0 =A0 =A0 =A0while(--i>0)
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_cpupoolinfo_dispose(ptr+i);

I'm not a fan of putting state-changes and conditionals in the same
expression and relying on prefix/postifx precedence to sort things
out.  It seems like it's laying a trap for some poor tired programmer
in the future to make a thinko.  Would it really be that bad to just
write "for(i--; i>0; i--)"? :-)

Actually -- walk me through this one.  Won't this fail to call
libxl_cpupoolinfo_dispose() on element 0?

 -G

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHYu-0002WW-OS; Wed, 23 May 2012 19:49:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHYt-0002WQ-8x
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:49:35 +0000
Received: from [85.158.139.83:17627] by server-10.bemta-5.messagelabs.com id
	09/47-22179-E4F3DBF4; Wed, 23 May 2012 19:49:34 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337802572!29466142!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26020 invoked from network); 23 May 2012 19:49:34 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:49:34 -0000
Received: by qcsc20 with SMTP id c20so6605927qcs.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:49:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=kA6SLygBFiPKR1kUMP7HZ20j43EsdlPKlgJy3aiwRi4=;
	b=HPRqSMiHnw8UgzBZ+YceJMvIwH7uBbE5joYavK8WsIb7ILIZu0LkYgu6MaStThKa0+
	iIAmGvQrzvdVc9VZzx/3JDGMUEDHZhbWMaexps2hiIfiLCQOtxnqIqZYpSIRYqoUVmi4
	q6/4H6RFD0IRHXs59t3RfgjAMMKXfvMdMqu+USW0fc3KRLooydRu5u/qAvDtwDAtVzRk
	wZUv/2/LVQNBxe8Ivt1+xFNU9z+3AbKWAoMtuBn/4xQd3PAmM5ziqXj5oWtFi8yxlSWv
	ryBlPst0hP9UN/bLlIe5yiN+rY3CRPhgCVsz4E3BB69zd5hMBOVgpC8hV8eGhbgLPn9G
	Wd1w==
MIME-Version: 1.0
Received: by 10.224.33.8 with SMTP id f8mr7884934qad.11.1337802572657; Wed, 23
	May 2012 12:49:32 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:49:32 -0700 (PDT)
In-Reply-To: <7d8428388b775a0b26cf.1337765209@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<7d8428388b775a0b26cf.1337765209@cosworth.uk.xensource.com>
Date: Wed, 23 May 2012 20:49:32 +0100
X-Google-Sender-Auth: aqXz9j_Rymv0no2TAP6UN05JBfk
Message-ID: <CAFLBxZb0wOODPZf6NRpbHMmK5zONcU54OT=h9UVHD+5E0zY75A@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2 of 3] libxl: rename libxl_sched_params to
	libxl_sched_domain_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wr=
ote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337764319 -3600
> # Node ID 7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
> # Parent =A06533501734be011cb1f7669b7840bfdf5b2eb801
> libxl: rename libxl_sched_params to libxl_sched_domain_params
>
> Remove credit scheduler global options from the struct, they were never u=
sed
> anyway.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 19:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 19:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXHYu-0002WW-OS; Wed, 23 May 2012 19:49:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXHYt-0002WQ-8x
	for xen-devel@lists.xen.org; Wed, 23 May 2012 19:49:35 +0000
Received: from [85.158.139.83:17627] by server-10.bemta-5.messagelabs.com id
	09/47-22179-E4F3DBF4; Wed, 23 May 2012 19:49:34 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1337802572!29466142!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26020 invoked from network); 23 May 2012 19:49:34 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 19:49:34 -0000
Received: by qcsc20 with SMTP id c20so6605927qcs.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 12:49:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=kA6SLygBFiPKR1kUMP7HZ20j43EsdlPKlgJy3aiwRi4=;
	b=HPRqSMiHnw8UgzBZ+YceJMvIwH7uBbE5joYavK8WsIb7ILIZu0LkYgu6MaStThKa0+
	iIAmGvQrzvdVc9VZzx/3JDGMUEDHZhbWMaexps2hiIfiLCQOtxnqIqZYpSIRYqoUVmi4
	q6/4H6RFD0IRHXs59t3RfgjAMMKXfvMdMqu+USW0fc3KRLooydRu5u/qAvDtwDAtVzRk
	wZUv/2/LVQNBxe8Ivt1+xFNU9z+3AbKWAoMtuBn/4xQd3PAmM5ziqXj5oWtFi8yxlSWv
	ryBlPst0hP9UN/bLlIe5yiN+rY3CRPhgCVsz4E3BB69zd5hMBOVgpC8hV8eGhbgLPn9G
	Wd1w==
MIME-Version: 1.0
Received: by 10.224.33.8 with SMTP id f8mr7884934qad.11.1337802572657; Wed, 23
	May 2012 12:49:32 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Wed, 23 May 2012 12:49:32 -0700 (PDT)
In-Reply-To: <7d8428388b775a0b26cf.1337765209@cosworth.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<7d8428388b775a0b26cf.1337765209@cosworth.uk.xensource.com>
Date: Wed, 23 May 2012 20:49:32 +0100
X-Google-Sender-Auth: aqXz9j_Rymv0no2TAP6UN05JBfk
Message-ID: <CAFLBxZb0wOODPZf6NRpbHMmK5zONcU54OT=h9UVHD+5E0zY75A@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian.Jackson@citrix.com, Dario.Faggioli@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2 of 3] libxl: rename libxl_sched_params to
	libxl_sched_domain_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wr=
ote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@citrix.com>
> # Date 1337764319 -3600
> # Node ID 7d8428388b775a0b26cf88f89ec8f99f5fc8ce25
> # Parent =A06533501734be011cb1f7669b7840bfdf5b2eb801
> libxl: rename libxl_sched_params to libxl_sched_domain_params
>
> Remove credit scheduler global options from the struct, they were never u=
sed
> anyway.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 21:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 21:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXIyG-00032L-KT; Wed, 23 May 2012 21:19:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXIyF-00032G-0o
	for xen-devel@lists.xen.org; Wed, 23 May 2012 21:19:51 +0000
Received: from [193.109.254.147:3685] by server-6.bemta-14.messagelabs.com id
	D3/ED-04960-6745DBF4; Wed, 23 May 2012 21:19:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337807989!10521392!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32404 invoked from network); 23 May 2012 21:19:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-27.messagelabs.com with SMTP;
	23 May 2012 21:19:49 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78112974; Wed, 23 May 2012 23:19:48 +0200
Message-ID: <1337807975.25349.9.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Wed, 23 May 2012 23:19:35 +0200
In-Reply-To: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian.Jackson@citrix.com, Juergen Gross <juergen.gross@ts.fujitsu.com>,
	xen-devel@lists.xen.org, Ian Campbell <ian.campbell@citrix.com>,
	George.Dunlap@citrix.com
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1223401612688068231=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1223401612688068231==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-UIosw9EP3qoSitp5S17F"


--=-UIosw9EP3qoSitp5S17F
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 20:28 +0100, George Dunlap wrote:=20
> Overall the idea of the patch looks good.  There's just the thing
> about shoving all the various schedulers' parameters into one struct.
>
Yep, I really don't like that either.

> One fall-out from it is that if you specify weight in your config file
> (or during domain creation), it will set the weight for credit or
> credit2, but use the defaults for sedf.  This might be nice; but we're
> implicitly baking in an assumption that parameters with the same name
> have to have roughly similar meanings across all schedulers.
> Furthermore, if someone sets a "cap" in the config file, for example,
> but starts the VM in a pool running credit2, should we really just
> silently ignore it, or should we alert the user in some way?
>=20
I agree... Some mechanism for providing the user at least with a warning
would be useful.

> In any case, this patch only takes things half-way.  If we're really
> going to have One Struct to Rule Them All, we don't need different
> domain_set/domain_get functions for the different schedulers -- we
> just need a libxl_sched_domain_get(), which will both figure out what
> scheduler the domain is running, and fill in the appropriate
> parameters, and a libxl_sched_domain_set(), which will check to see
> that you've asked for the right scheduler (or marked "unknown" if you
> aren't afraid), and set what it can set. =20
>
According to my personal taste, that would be quite ugly, not to mention
that every time we might be adding/removing/modifying a scheduler, we
would need to update this Frankenstein-struct, potentially affecting all
the other ones... :-(

> I'm not really sure which way I think is best.  I can see the
> advantage of not having to know which scheduler is actually running,
> but I'm a bit wary of baking in assumptions about the equivalence of
> parameters; it seems like it could lead to some nasty surprises.
>=20
I agree again: the fact that, right now, _almost_ all the existing
schedulers have a parameter called weight with _almost_ the same meaning
shouldn't allow us to assume that to be true now and forever.

> But I think whichever way we choose, we should take it to its logical
> conclusion.  Which in the "One Struct" way, would mean having a single
> domain_get/domain_set function, and in the "separate struct" way would
> probably mean specifying the scheduler -- i.e., "credit_weight",
> "credit2_weight" or something like that.  (Obviously we need xm
> compatibility, but we can throw a warning to encourage people to
> change their config files.)=09
>=20
For what it counts, I'm all for option #2, i.e., each scheduler with its
own struct, set of helper functions, xl sub-command, etc. Something like
'credit.cap =3D XX', 'credit2.weight =3D XX' or 'sedf.period =3D XXX' would=
 be
nice, for discriminating them in the config file. It'd remain to decide
what to do with things like 'weight =3D XX', which we need to support for
backward compatibility, but I guess almost anything is fine, provided we
warn the user about what's happening and ask him to update the syntax.

Just my 2 cents. :-)

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-UIosw9EP3qoSitp5S17F
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9VGcACgkQk4XaBE3IOsTMZwCghlRuIQoxNkMnPKhWMrFL8ICq
Y1UAoKpJ8FjMcvqxrRWoKiLXkxYAIZkg
=8Kkt
-----END PGP SIGNATURE-----

--=-UIosw9EP3qoSitp5S17F--



--===============1223401612688068231==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1223401612688068231==--



From xen-devel-bounces@lists.xen.org Wed May 23 21:20:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 21:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXIyG-00032L-KT; Wed, 23 May 2012 21:19:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXIyF-00032G-0o
	for xen-devel@lists.xen.org; Wed, 23 May 2012 21:19:51 +0000
Received: from [193.109.254.147:3685] by server-6.bemta-14.messagelabs.com id
	D3/ED-04960-6745DBF4; Wed, 23 May 2012 21:19:50 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337807989!10521392!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32404 invoked from network); 23 May 2012 21:19:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-27.messagelabs.com with SMTP;
	23 May 2012 21:19:49 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78112974; Wed, 23 May 2012 23:19:48 +0200
Message-ID: <1337807975.25349.9.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Wed, 23 May 2012 23:19:35 +0200
In-Reply-To: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian.Jackson@citrix.com, Juergen Gross <juergen.gross@ts.fujitsu.com>,
	xen-devel@lists.xen.org, Ian Campbell <ian.campbell@citrix.com>,
	George.Dunlap@citrix.com
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1223401612688068231=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1223401612688068231==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-UIosw9EP3qoSitp5S17F"


--=-UIosw9EP3qoSitp5S17F
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-23 at 20:28 +0100, George Dunlap wrote:=20
> Overall the idea of the patch looks good.  There's just the thing
> about shoving all the various schedulers' parameters into one struct.
>
Yep, I really don't like that either.

> One fall-out from it is that if you specify weight in your config file
> (or during domain creation), it will set the weight for credit or
> credit2, but use the defaults for sedf.  This might be nice; but we're
> implicitly baking in an assumption that parameters with the same name
> have to have roughly similar meanings across all schedulers.
> Furthermore, if someone sets a "cap" in the config file, for example,
> but starts the VM in a pool running credit2, should we really just
> silently ignore it, or should we alert the user in some way?
>=20
I agree... Some mechanism for providing the user at least with a warning
would be useful.

> In any case, this patch only takes things half-way.  If we're really
> going to have One Struct to Rule Them All, we don't need different
> domain_set/domain_get functions for the different schedulers -- we
> just need a libxl_sched_domain_get(), which will both figure out what
> scheduler the domain is running, and fill in the appropriate
> parameters, and a libxl_sched_domain_set(), which will check to see
> that you've asked for the right scheduler (or marked "unknown" if you
> aren't afraid), and set what it can set. =20
>
According to my personal taste, that would be quite ugly, not to mention
that every time we might be adding/removing/modifying a scheduler, we
would need to update this Frankenstein-struct, potentially affecting all
the other ones... :-(

> I'm not really sure which way I think is best.  I can see the
> advantage of not having to know which scheduler is actually running,
> but I'm a bit wary of baking in assumptions about the equivalence of
> parameters; it seems like it could lead to some nasty surprises.
>=20
I agree again: the fact that, right now, _almost_ all the existing
schedulers have a parameter called weight with _almost_ the same meaning
shouldn't allow us to assume that to be true now and forever.

> But I think whichever way we choose, we should take it to its logical
> conclusion.  Which in the "One Struct" way, would mean having a single
> domain_get/domain_set function, and in the "separate struct" way would
> probably mean specifying the scheduler -- i.e., "credit_weight",
> "credit2_weight" or something like that.  (Obviously we need xm
> compatibility, but we can throw a warning to encourage people to
> change their config files.)=09
>=20
For what it counts, I'm all for option #2, i.e., each scheduler with its
own struct, set of helper functions, xl sub-command, etc. Something like
'credit.cap =3D XX', 'credit2.weight =3D XX' or 'sedf.period =3D XXX' would=
 be
nice, for discriminating them in the config file. It'd remain to decide
what to do with things like 'weight =3D XX', which we need to support for
backward compatibility, but I guess almost anything is fine, provided we
warn the user about what's happening and ask him to update the syntax.

Just my 2 cents. :-)

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-UIosw9EP3qoSitp5S17F
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9VGcACgkQk4XaBE3IOsTMZwCghlRuIQoxNkMnPKhWMrFL8ICq
Y1UAoKpJ8FjMcvqxrRWoKiLXkxYAIZkg
=8Kkt
-----END PGP SIGNATURE-----

--=-UIosw9EP3qoSitp5S17F--



--===============1223401612688068231==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1223401612688068231==--



From xen-devel-bounces@lists.xen.org Wed May 23 22:06:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 22:06:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXJgJ-0003KL-Dy; Wed, 23 May 2012 22:05:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXJgH-0003KG-Ue
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 22:05:22 +0000
Received: from [85.158.143.99:36147] by server-2.bemta-4.messagelabs.com id
	34/4D-12211-12F5DBF4; Wed, 23 May 2012 22:05:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337810719!24210149!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyNzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29577 invoked from network); 23 May 2012 22:05:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 22:05:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,647,1330905600"; d="scan'208";a="12637131"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 22:05:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 23:05:19 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXJgE-0001aV-Me;
	Wed, 23 May 2012 22:05:18 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXJgE-00055a-FB;
	Wed, 23 May 2012 23:05:18 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12967-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 23:05:18 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12967: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12967 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12967/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  69c3ae25bb1d
baseline version:
 xen                  340062faf298

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=69c3ae25bb1d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 69c3ae25bb1d
+ branch=xen-unstable
+ revision=69c3ae25bb1d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 69c3ae25bb1d ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 2 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 22:06:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 22:06:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXJgJ-0003KL-Dy; Wed, 23 May 2012 22:05:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXJgH-0003KG-Ue
	for xen-devel@lists.xensource.com; Wed, 23 May 2012 22:05:22 +0000
Received: from [85.158.143.99:36147] by server-2.bemta-4.messagelabs.com id
	34/4D-12211-12F5DBF4; Wed, 23 May 2012 22:05:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1337810719!24210149!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyNzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29577 invoked from network); 23 May 2012 22:05:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 22:05:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,647,1330905600"; d="scan'208";a="12637131"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	23 May 2012 22:05:18 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 23 May 2012 23:05:19 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXJgE-0001aV-Me;
	Wed, 23 May 2012 22:05:18 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXJgE-00055a-FB;
	Wed, 23 May 2012 23:05:18 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12967-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 23 May 2012 23:05:18 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12967: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12967 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12967/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  69c3ae25bb1d
baseline version:
 xen                  340062faf298

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=69c3ae25bb1d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 69c3ae25bb1d
+ branch=xen-unstable
+ revision=69c3ae25bb1d
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 69c3ae25bb1d ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 2 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 23 23:45:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 23:45:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXLEM-0004AX-OH; Wed, 23 May 2012 23:44:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXLEK-0004AR-TR
	for xen-devel@lists.xen.org; Wed, 23 May 2012 23:44:37 +0000
Received: from [85.158.138.51:49330] by server-3.bemta-3.messagelabs.com id
	2F/54-08380-3667DBF4; Wed, 23 May 2012 23:44:35 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337816671!20749449!1
X-Originating-IP: [74.125.149.240]
X-SpamReason: No, hits=1.6 required=7.0 tests=HTML_MESSAGE,
  RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2491 invoked from network); 23 May 2012 23:44:34 -0000
Received: from na3sys009aog116.obsmtp.com (HELO na3sys009aog116.obsmtp.com)
	(74.125.149.240)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 23:44:34 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob116.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT712Xz+h1cuvclpg0nNMIisnu7uIuw4n@postini.com;
	Wed, 23 May 2012 16:44:33 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Wed, 23 May 2012 16:43:56 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Wed, 23 May 2012 16:43:55 -0700
Thread-Topic: Loading PCIe Device Driver at Dom0
Thread-Index: Ac05PWOLdUDHBp99R1+dOk4Gtppm8wAAHOkg
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5621195902476831981=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5621195902476831981==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_"

--_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Dear all,

I have a PCIe device driver that I have been using on various Linux distrib=
utions and Kernel versions (2.6.x - 3.x.y) successfully all along.

I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4=
.1.  When I boot to Linux Mint, my driver still load (via insmod manually) =
successfully at Dom0 without any issue.  I can do reads and write to the ha=
rdware device.  But once booted to Xen, the driver failed to complete the d=
river load (via insmod manually) at Dom 0 and the console just hangs.

>From my debug messages, it appears it hangs because the driver doesn't rece=
ive any interrupt after a command is sent to the hardware device by writing=
 a parameter to the mapped register.  Once that register is written, the de=
vice is expected to DMA the command from the buffer allocated by the driver=
.

The things that I can only think of that might have caused the problem are =
1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.


What the driver does:

Set up a command buffer:
Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
unsigned long buf_addr =3D __pa(buf);
unsigned int buf_addr_low =3D (unsigned int)buf_addr;

Tell device about the buffer:
iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);

Set up IRQ:
    if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
        (!pci_enable_msi(dev)))
    {
        if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_N=
AME, my_dev))
        {
            return  -ENODEV;
        }
        my_dev->intr_mode =3D INTERRUPT_MSI;
    }

Ask device to fetch command from buffer (Expect interrupt after this after =
device fetched the command from buf.  But interrupt did not happen.):
iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);


>From dmesg, it looks like IRQ initialization is complete.
[  241.743769] My_driver initialization
[  241.743787] xen: registering gsi 16 triggering 0 polarity 1
[  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
[  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[  241.743801] Already setup the GSI :16
[  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> =
IRQ 16
[  241.743815] my-driver 0000:02:00.0: setting latency timer to 64

/proc/interrupts:
            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5    =
   CPU6       CPU7
......
......
339:          0          0          0          0          0          0     =
     0          0  xen-pirq-msi       my-driver
......
......

Any idea what might cause the problem?

Is there anything we have to be enable/disable, use different functions, or=
 do differently in drivers written for Xen Dom0 environment regarding the f=
ollowing?
1)       Allocating a DMA buffer in driver to allow the device to DMA stuff=
s.
2)       Requesting MSI irq.

Please advise!

Thanks a lot in advance!!

Kenneth

--_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:Arial;
	color:windowtext;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1752506910;
	mso-list-type:hybrid;
	mso-list-template-ids:1367405010 67698705 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Dear all,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>I have a PCIe device driver that I have been using on
various Linux distributions and Kernel versions (2.6.x &#8211; 3.x.y)
successfully all along.&nbsp; <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>I recently set up a Xen environment with Linux Mint 12 a=
nd
Xen Hypervisor 4.1.&nbsp; When I boot to Linux Mint, my driver still load (=
via
insmod manually) successfully at Dom0 without any issue.&nbsp; I can do rea=
ds
and write to the hardware device.&nbsp; But once booted to Xen, the driver
failed to complete the driver load (via insmod manually) at Dom 0 and the
console just hangs.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>From my debug messages, it appears it hangs because the
driver doesn&#8217;t receive any interrupt after a command is sent to the
hardware device by writing a parameter to the mapped register.&nbsp; Once t=
hat
register is written, the device is expected to DMA the command from the buf=
fer
allocated by the driver.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>The things that I can only think of that might have caus=
ed
the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am n=
ot
sure.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>What the driver does:<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Set up a command buffer:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>Buf_t *buf =3D
kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>unsigned long buf_addr =3D __p=
a(buf);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>unsigned int buf_addr_low =3D
(unsigned int)buf_addr;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font=
></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Tell device about the buffer:<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>iowrite32(buf_addr_low,
dev-&gt;pci_reg_map + BUF_ADR__LOW);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font=
></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Set up IRQ:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp; if
(pci_find_capability(dev, PCI_CAP_ID_MSI) &amp;&amp;<o:p></o:p></span></fon=
t></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
(!pci_enable_msi(dev)))<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp; {<o:p></o:p=
></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
if (request_irq(dev-&gt;irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME,
my_dev))<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
{<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return&nbsp; -ENODEV;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
}<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
my_dev-&gt;intr_mode =3D INTERRUPT_MSI;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp; }<o:p></o:p=
></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Ask device to fetch command from buffer (Expect interrup=
t
after this after device fetched the command from buf.&nbsp; But interrupt d=
id
not happen.):<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>iowrite32(buf_offset,
dev-&gt;pci_reg_map + FETCH_CMD_REG);<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>From dmesg, it looks like IRQ initialization is complete=
.<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743769] My_driver initialization <o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743787] xen: registering gsi 16 triggering 0 polarity 1<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16<o:p></o:p></span>=
</font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743795] xen: --&gt; pirq=3D16 -&gt; irq=3D16 (gsi=3D16)<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743801] Already setup the GSI :16<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743805] my-driver 0000:02:00.0: PCI INT A -&gt; GSI 16 (level, low) -&g=
t;
IRQ 16<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743815] my-driver 0000:02:00.0: setting latency timer to 64<o:p></o:p><=
/span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>/proc/interrupts:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;
CPU2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU7<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>339:&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;
xen-pirq-msi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my-driver<o:p></o:p></span=
></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Any idea what might cause the problem?<o:p></o:p></span>=
</font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Is there anything we have to be enable/disable, use
different functions, or do differently in drivers written for Xen Dom0
environment regarding the following?<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in;text-indent:-.25in;mso-list:=
l0 level1 lfo2'><![if !supportLists]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'><s=
pan
style=3D'mso-list:Ignore'>1)<font size=3D1 face=3D"Times New Roman"><span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 </span></font></span></span></font><![endif]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>Al=
locating a
DMA buffer in driver to allow the device to DMA stuffs.<o:p></o:p></span></=
font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in;text-indent:-.25in;mso-list:=
l0 level1 lfo2'><![if !supportLists]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'><s=
pan
style=3D'mso-list:Ignore'>2)<font size=3D1 face=3D"Times New Roman"><span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 </span></font></span></span></font><![endif]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>Re=
questing
MSI irq.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Please advise!<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Thanks a lot in advance!!<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Kenneth<o:p></o:p></span></font></p>

</div>

</body>

</html>

--_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_--


--===============5621195902476831981==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5621195902476831981==--


From xen-devel-bounces@lists.xen.org Wed May 23 23:45:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 23 May 2012 23:45:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXLEM-0004AX-OH; Wed, 23 May 2012 23:44:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXLEK-0004AR-TR
	for xen-devel@lists.xen.org; Wed, 23 May 2012 23:44:37 +0000
Received: from [85.158.138.51:49330] by server-3.bemta-3.messagelabs.com id
	2F/54-08380-3667DBF4; Wed, 23 May 2012 23:44:35 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337816671!20749449!1
X-Originating-IP: [74.125.149.240]
X-SpamReason: No, hits=1.6 required=7.0 tests=HTML_MESSAGE,
  RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2491 invoked from network); 23 May 2012 23:44:34 -0000
Received: from na3sys009aog116.obsmtp.com (HELO na3sys009aog116.obsmtp.com)
	(74.125.149.240)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 23 May 2012 23:44:34 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob116.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT712Xz+h1cuvclpg0nNMIisnu7uIuw4n@postini.com;
	Wed, 23 May 2012 16:44:33 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Wed, 23 May 2012 16:43:56 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Wed, 23 May 2012 16:43:55 -0700
Thread-Topic: Loading PCIe Device Driver at Dom0
Thread-Index: Ac05PWOLdUDHBp99R1+dOk4Gtppm8wAAHOkg
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5621195902476831981=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5621195902476831981==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_"

--_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Dear all,

I have a PCIe device driver that I have been using on various Linux distrib=
utions and Kernel versions (2.6.x - 3.x.y) successfully all along.

I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4=
.1.  When I boot to Linux Mint, my driver still load (via insmod manually) =
successfully at Dom0 without any issue.  I can do reads and write to the ha=
rdware device.  But once booted to Xen, the driver failed to complete the d=
river load (via insmod manually) at Dom 0 and the console just hangs.

>From my debug messages, it appears it hangs because the driver doesn't rece=
ive any interrupt after a command is sent to the hardware device by writing=
 a parameter to the mapped register.  Once that register is written, the de=
vice is expected to DMA the command from the buffer allocated by the driver=
.

The things that I can only think of that might have caused the problem are =
1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.


What the driver does:

Set up a command buffer:
Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
unsigned long buf_addr =3D __pa(buf);
unsigned int buf_addr_low =3D (unsigned int)buf_addr;

Tell device about the buffer:
iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);

Set up IRQ:
    if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
        (!pci_enable_msi(dev)))
    {
        if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_N=
AME, my_dev))
        {
            return  -ENODEV;
        }
        my_dev->intr_mode =3D INTERRUPT_MSI;
    }

Ask device to fetch command from buffer (Expect interrupt after this after =
device fetched the command from buf.  But interrupt did not happen.):
iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);


>From dmesg, it looks like IRQ initialization is complete.
[  241.743769] My_driver initialization
[  241.743787] xen: registering gsi 16 triggering 0 polarity 1
[  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
[  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[  241.743801] Already setup the GSI :16
[  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> =
IRQ 16
[  241.743815] my-driver 0000:02:00.0: setting latency timer to 64

/proc/interrupts:
            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5    =
   CPU6       CPU7
......
......
339:          0          0          0          0          0          0     =
     0          0  xen-pirq-msi       my-driver
......
......

Any idea what might cause the problem?

Is there anything we have to be enable/disable, use different functions, or=
 do differently in drivers written for Xen Dom0 environment regarding the f=
ollowing?
1)       Allocating a DMA buffer in driver to allow the device to DMA stuff=
s.
2)       Requesting MSI irq.

Please advise!

Thanks a lot in advance!!

Kenneth

--_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:Arial;
	color:windowtext;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1752506910;
	mso-list-type:hybrid;
	mso-list-template-ids:1367405010 67698705 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Dear all,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>I have a PCIe device driver that I have been using on
various Linux distributions and Kernel versions (2.6.x &#8211; 3.x.y)
successfully all along.&nbsp; <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>I recently set up a Xen environment with Linux Mint 12 a=
nd
Xen Hypervisor 4.1.&nbsp; When I boot to Linux Mint, my driver still load (=
via
insmod manually) successfully at Dom0 without any issue.&nbsp; I can do rea=
ds
and write to the hardware device.&nbsp; But once booted to Xen, the driver
failed to complete the driver load (via insmod manually) at Dom 0 and the
console just hangs.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>From my debug messages, it appears it hangs because the
driver doesn&#8217;t receive any interrupt after a command is sent to the
hardware device by writing a parameter to the mapped register.&nbsp; Once t=
hat
register is written, the device is expected to DMA the command from the buf=
fer
allocated by the driver.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>The things that I can only think of that might have caus=
ed
the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am n=
ot
sure.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>What the driver does:<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Set up a command buffer:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>Buf_t *buf =3D
kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>unsigned long buf_addr =3D __p=
a(buf);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>unsigned int buf_addr_low =3D
(unsigned int)buf_addr;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font=
></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Tell device about the buffer:<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>iowrite32(buf_addr_low,
dev-&gt;pci_reg_map + BUF_ADR__LOW);<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font=
></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Set up IRQ:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp; if
(pci_find_capability(dev, PCI_CAP_ID_MSI) &amp;&amp;<o:p></o:p></span></fon=
t></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
(!pci_enable_msi(dev)))<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp; {<o:p></o:p=
></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
if (request_irq(dev-&gt;irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME,
my_dev))<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
{<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return&nbsp; -ENODEV;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
}<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
my_dev-&gt;intr_mode =3D INTERRUPT_MSI;<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp; }<o:p></o:p=
></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Ask device to fetch command from buffer (Expect interrup=
t
after this after device fetched the command from buf.&nbsp; But interrupt d=
id
not happen.):<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-indent:.5in'><font size=3D2 face=3DArial=
><span
style=3D'font-size:10.0pt;font-family:Arial'>iowrite32(buf_offset,
dev-&gt;pci_reg_map + FETCH_CMD_REG);<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>From dmesg, it looks like IRQ initialization is complete=
.<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743769] My_driver initialization <o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743787] xen: registering gsi 16 triggering 0 polarity 1<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16<o:p></o:p></span>=
</font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743795] xen: --&gt; pirq=3D16 -&gt; irq=3D16 (gsi=3D16)<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743801] Already setup the GSI :16<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743805] my-driver 0000:02:00.0: PCI INT A -&gt; GSI 16 (level, low) -&g=
t;
IRQ 16<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dmaro=
on
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial;color:maroon=
'>[&nbsp;
241.743815] my-driver 0000:02:00.0: setting latency timer to 64<o:p></o:p><=
/span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>/proc/interrupts:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;
CPU2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CPU6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU7<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>339:&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;
xen-pirq-msi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my-driver<o:p></o:p></span=
></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D2 color=3Dblue=
 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;color:blue'>&#8230;&#8230;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Any idea what might cause the problem?<o:p></o:p></span>=
</font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Is there anything we have to be enable/disable, use
different functions, or do differently in drivers written for Xen Dom0
environment regarding the following?<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in;text-indent:-.25in;mso-list:=
l0 level1 lfo2'><![if !supportLists]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'><s=
pan
style=3D'mso-list:Ignore'>1)<font size=3D1 face=3D"Times New Roman"><span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 </span></font></span></span></font><![endif]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>Al=
locating a
DMA buffer in driver to allow the device to DMA stuffs.<o:p></o:p></span></=
font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in;text-indent:-.25in;mso-list:=
l0 level1 lfo2'><![if !supportLists]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'><s=
pan
style=3D'mso-list:Ignore'>2)<font size=3D1 face=3D"Times New Roman"><span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 </span></font></span></span></font><![endif]><font
size=3D2 face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>Re=
questing
MSI irq.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Please advise!<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Thanks a lot in advance!!<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'>Kenneth<o:p></o:p></span></font></p>

</div>

</body>

</html>

--_000_F766E4F80769BD478052FB6533FA745D1A2FB28892SCVEXCH4marve_--


--===============5621195902476831981==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5621195902476831981==--


From xen-devel-bounces@lists.xen.org Thu May 24 00:24:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 00:24:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXLqI-0005FV-Nz; Thu, 24 May 2012 00:23:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXLqH-0005FQ-G6
	for xen-devel@lists.xen.org; Thu, 24 May 2012 00:23:49 +0000
Received: from [193.109.254.147:50577] by server-8.bemta-14.messagelabs.com id
	A3/35-23244-49F7DBF4; Thu, 24 May 2012 00:23:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337819026!10864107!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ4ODQz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10604 invoked from network); 24 May 2012 00:23:47 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 00:23:47 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4O0NjrF017420
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 00:23:45 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4O0NiHh021169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 00:23:44 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4O0Nhj9029469; Wed, 23 May 2012 19:23:43 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 17:23:43 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E4015402FB; Wed, 23 May 2012 20:17:12 -0400 (EDT)
Date: Wed, 23 May 2012 20:17:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120524001712.GA6285@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> Dear all,
> 
> I have a PCIe device driver that I have been using on various Linux distributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> 
> I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manually) successfully at Dom0 without any issue.  I can do reads and write to the hardware device.  But once booted to Xen, the driver failed to complete the driver load (via insmod manually) at Dom 0 and the console just hangs.
> 
> >From my debug messages, it appears it hangs because the driver doesn't receive any interrupt after a command is sent to the hardware device by writing a parameter to the mapped register.  Once that register is written, the device is expected to DMA the command from the buffer allocated by the driver.
> 
> The things that I can only think of that might have caused the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.

The 2).
> 
> 
> What the driver does:

You do need to use the PCI API (or the DMA API).

> 
> Set up a command buffer:
> Buf_t *buf = kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> unsigned long buf_addr = __pa(buf);
> unsigned int buf_addr_low = (unsigned int)buf_addr;
> 
> Tell device about the buffer:
> iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);

> 
> Set up IRQ:
>     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
>         (!pci_enable_msi(dev)))
>     {
>         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME, my_dev))
>         {
>             return  -ENODEV;
>         }
>         my_dev->intr_mode = INTERRUPT_MSI;
>     }
> 
> Ask device to fetch command from buffer (Expect interrupt after this after device fetched the command from buf.  But interrupt did not happen.):
> iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> 
> 
> >From dmesg, it looks like IRQ initialization is complete.
> [  241.743769] My_driver initialization
> [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> [  241.743795] xen: --> pirq=16 -> irq=16 (gsi=16)
> [  241.743801] Already setup the GSI :16
> [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> 
> /proc/interrupts:
>             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
> ......
> ......
> 339:          0          0          0          0          0          0          0          0  xen-pirq-msi       my-driver
> ......
> ......
> 
> Any idea what might cause the problem?
> 
> Is there anything we have to be enable/disable, use different functions, or do differently in drivers written for Xen Dom0 environment regarding the following?
> 1)       Allocating a DMA buffer in driver to allow the device to DMA stuffs.
> 2)       Requesting MSI irq.
> 
> Please advise!
> 
> Thanks a lot in advance!!
> 
> Kenneth

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 00:24:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 00:24:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXLqI-0005FV-Nz; Thu, 24 May 2012 00:23:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXLqH-0005FQ-G6
	for xen-devel@lists.xen.org; Thu, 24 May 2012 00:23:49 +0000
Received: from [193.109.254.147:50577] by server-8.bemta-14.messagelabs.com id
	A3/35-23244-49F7DBF4; Thu, 24 May 2012 00:23:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337819026!10864107!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTQ4ODQz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10604 invoked from network); 24 May 2012 00:23:47 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 00:23:47 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4O0NjrF017420
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 00:23:45 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4O0NiHh021169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 00:23:44 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4O0Nhj9029469; Wed, 23 May 2012 19:23:43 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 23 May 2012 17:23:43 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E4015402FB; Wed, 23 May 2012 20:17:12 -0400 (EDT)
Date: Wed, 23 May 2012 20:17:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120524001712.GA6285@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> Dear all,
> 
> I have a PCIe device driver that I have been using on various Linux distributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> 
> I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manually) successfully at Dom0 without any issue.  I can do reads and write to the hardware device.  But once booted to Xen, the driver failed to complete the driver load (via insmod manually) at Dom 0 and the console just hangs.
> 
> >From my debug messages, it appears it hangs because the driver doesn't receive any interrupt after a command is sent to the hardware device by writing a parameter to the mapped register.  Once that register is written, the device is expected to DMA the command from the buffer allocated by the driver.
> 
> The things that I can only think of that might have caused the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.

The 2).
> 
> 
> What the driver does:

You do need to use the PCI API (or the DMA API).

> 
> Set up a command buffer:
> Buf_t *buf = kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> unsigned long buf_addr = __pa(buf);
> unsigned int buf_addr_low = (unsigned int)buf_addr;
> 
> Tell device about the buffer:
> iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);

> 
> Set up IRQ:
>     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
>         (!pci_enable_msi(dev)))
>     {
>         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME, my_dev))
>         {
>             return  -ENODEV;
>         }
>         my_dev->intr_mode = INTERRUPT_MSI;
>     }
> 
> Ask device to fetch command from buffer (Expect interrupt after this after device fetched the command from buf.  But interrupt did not happen.):
> iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> 
> 
> >From dmesg, it looks like IRQ initialization is complete.
> [  241.743769] My_driver initialization
> [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> [  241.743795] xen: --> pirq=16 -> irq=16 (gsi=16)
> [  241.743801] Already setup the GSI :16
> [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> 
> /proc/interrupts:
>             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
> ......
> ......
> 339:          0          0          0          0          0          0          0          0  xen-pirq-msi       my-driver
> ......
> ......
> 
> Any idea what might cause the problem?
> 
> Is there anything we have to be enable/disable, use different functions, or do differently in drivers written for Xen Dom0 environment regarding the following?
> 1)       Allocating a DMA buffer in driver to allow the device to DMA stuffs.
> 2)       Requesting MSI irq.
> 
> Please advise!
> 
> Thanks a lot in advance!!
> 
> Kenneth

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 01:51:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 01:51:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXND0-0000zp-Id; Thu, 24 May 2012 01:51:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SXNCz-0000zk-8p
	for xen-devel@lists.xen.org; Thu, 24 May 2012 01:51:21 +0000
Received: from [193.109.254.147:22591] by server-5.bemta-14.messagelabs.com id
	1F/4A-30733-8149DBF4; Thu, 24 May 2012 01:51:20 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337824279!10545817!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxODQ1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3426 invoked from network); 24 May 2012 01:51:19 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-27.messagelabs.com with SMTP;
	24 May 2012 01:51:19 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 23 May 2012 18:51:18 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103576363"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 18:51:18 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 18:51:17 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 24 May 2012 09:51:17 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Pasi K?rkk?inen <pasik@iki.fi>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: Ac04hh0qltLHiUmXQE+t+qAqhPkCLQAJ0iCAAChGgTA=
Date: Thu, 24 May 2012 01:51:15 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D2AAA@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
	<20120523142925.GW2058@reaktio.net>
In-Reply-To: <20120523142925.GW2058@reaktio.net>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Pasi K=E4rkk=E4inen [mailto:pasik@iki.fi]
> Sent: Wednesday, May 23, 2012 10:29 PM
> To: Ren, Yongjie
> Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> =

> On Wed, May 23, 2012 at 01:48:21AM +0000, Ren, Yongjie wrote:
> >
> > > > This bug only exists when we use 'pcistub' to hide a device.
> > >
> > > Ok, so it looks like upstream Linux can't do this properly on that de=
vice.
> > >
> > Yes, I think so. To do some fix on 'pcistub' module might fix this issu=
e.
> >
> =

> And with xen-pciback it works OK?
> =

Yes. We are using xen-pciback recently, and it works fine.
If Xen will not to support 'pci-stub' in future, we can close that bug.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 01:51:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 01:51:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXND0-0000zp-Id; Thu, 24 May 2012 01:51:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SXNCz-0000zk-8p
	for xen-devel@lists.xen.org; Thu, 24 May 2012 01:51:21 +0000
Received: from [193.109.254.147:22591] by server-5.bemta-14.messagelabs.com id
	1F/4A-30733-8149DBF4; Thu, 24 May 2012 01:51:20 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337824279!10545817!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxODQ1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3426 invoked from network); 24 May 2012 01:51:19 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-27.messagelabs.com with SMTP;
	24 May 2012 01:51:19 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 23 May 2012 18:51:18 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103576363"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 23 May 2012 18:51:18 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 23 May 2012 18:51:17 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 24 May 2012 09:51:17 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Pasi K?rkk?inen <pasik@iki.fi>
Thread-Topic: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
Thread-Index: Ac04hh0qltLHiUmXQE+t+qAqhPkCLQAJ0iCAAChGgTA=
Date: Thu, 24 May 2012 01:51:15 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D2AAA@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100C4606@SHSMSX101.ccr.corp.intel.com>
	<20120523142925.GW2058@reaktio.net>
In-Reply-To: <20120523142925.GW2058@reaktio.net>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Pasi K=E4rkk=E4inen [mailto:pasik@iki.fi]
> Sent: Wednesday, May 23, 2012 10:29 PM
> To: Ren, Yongjie
> Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] VMX status report. Xen:25256 & Dom0:d93dc5c...
> =

> On Wed, May 23, 2012 at 01:48:21AM +0000, Ren, Yongjie wrote:
> >
> > > > This bug only exists when we use 'pcistub' to hide a device.
> > >
> > > Ok, so it looks like upstream Linux can't do this properly on that de=
vice.
> > >
> > Yes, I think so. To do some fix on 'pcistub' module might fix this issu=
e.
> >
> =

> And with xen-pciback it works OK?
> =

Yes. We are using xen-pciback recently, and it works fine.
If Xen will not to support 'pci-stub' in future, we can close that bug.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 02:45:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 02:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXO3F-0001as-Vr; Thu, 24 May 2012 02:45:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXO3F-0001an-44
	for xen-devel@lists.xen.org; Thu, 24 May 2012 02:45:21 +0000
Received: from [85.158.143.35:51041] by server-2.bemta-4.messagelabs.com id
	6D/65-12211-0C0ADBF4; Thu, 24 May 2012 02:45:20 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337827517!15714150!1
X-Originating-IP: [74.125.149.240]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22930 invoked from network); 24 May 2012 02:45:19 -0000
Received: from na3sys009aog116.obsmtp.com (HELO na3sys009aog116.obsmtp.com)
	(74.125.149.240)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 02:45:19 -0000
Received: from SC-OWA01.marvell.com ([65.219.4.129]) (using TLSv1) by
	na3sys009aob116.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT72guzxB0GsIlyZCcjY/l0UngP+jHCEQ@postini.com;
	Wed, 23 May 2012 19:45:19 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by SC-OWA01.marvell.com ([10.93.76.21]) with mapi;
	Wed, 23 May 2012 19:44:40 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Wed, 23 May 2012 19:41:34 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05Q332b21/LValR3yACMgVK2NGRgAEz28f
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>,
	<20120524001712.GA6285@phenom.dumpdata.com>
In-Reply-To: <20120524001712.GA6285@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad and others,

Oh, there are Xen/dom0 specific APIs for PCI and DMA?  

May I ask the names and where can I can more info on the APIs?

Many thanks!

Kenneth

________________________________________
From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
Sent: Wednesday, May 23, 2012 5:17 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> Dear all,
>
> I have a PCIe device driver that I have been using on various Linux distributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
>
> I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manually) successfully at Dom0 without any issue.  I can do reads and write to the hardware device.  But once booted to Xen, the driver failed to complete the driver load (via insmod manually) at Dom 0 and the console just hangs.
>
> >From my debug messages, it appears it hangs because the driver doesn't receive any interrupt after a command is sent to the hardware device by writing a parameter to the mapped register.  Once that register is written, the device is expected to DMA the command from the buffer allocated by the driver.
>
> The things that I can only think of that might have caused the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.

The 2).
>
>
> What the driver does:

You do need to use the PCI API (or the DMA API).

>
> Set up a command buffer:
> Buf_t *buf = kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> unsigned long buf_addr = __pa(buf);
> unsigned int buf_addr_low = (unsigned int)buf_addr;
>
> Tell device about the buffer:
> iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);

>
> Set up IRQ:
>     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
>         (!pci_enable_msi(dev)))
>     {
>         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME, my_dev))
>         {
>             return  -ENODEV;
>         }
>         my_dev->intr_mode = INTERRUPT_MSI;
>     }
>
> Ask device to fetch command from buffer (Expect interrupt after this after device fetched the command from buf.  But interrupt did not happen.):
> iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
>
>
> >From dmesg, it looks like IRQ initialization is complete.
> [  241.743769] My_driver initialization
> [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> [  241.743795] xen: --> pirq=16 -> irq=16 (gsi=16)
> [  241.743801] Already setup the GSI :16
> [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
>
> /proc/interrupts:
>             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
> ......
> ......
> 339:          0          0          0          0          0          0          0          0  xen-pirq-msi       my-driver
> ......
> ......
>
> Any idea what might cause the problem?
>
> Is there anything we have to be enable/disable, use different functions, or do differently in drivers written for Xen Dom0 environment regarding the following?
> 1)       Allocating a DMA buffer in driver to allow the device to DMA stuffs.
> 2)       Requesting MSI irq.
>
> Please advise!
>
> Thanks a lot in advance!!
>
> Kenneth

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 02:45:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 02:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXO3F-0001as-Vr; Thu, 24 May 2012 02:45:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXO3F-0001an-44
	for xen-devel@lists.xen.org; Thu, 24 May 2012 02:45:21 +0000
Received: from [85.158.143.35:51041] by server-2.bemta-4.messagelabs.com id
	6D/65-12211-0C0ADBF4; Thu, 24 May 2012 02:45:20 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337827517!15714150!1
X-Originating-IP: [74.125.149.240]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22930 invoked from network); 24 May 2012 02:45:19 -0000
Received: from na3sys009aog116.obsmtp.com (HELO na3sys009aog116.obsmtp.com)
	(74.125.149.240)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 02:45:19 -0000
Received: from SC-OWA01.marvell.com ([65.219.4.129]) (using TLSv1) by
	na3sys009aob116.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT72guzxB0GsIlyZCcjY/l0UngP+jHCEQ@postini.com;
	Wed, 23 May 2012 19:45:19 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by SC-OWA01.marvell.com ([10.93.76.21]) with mapi;
	Wed, 23 May 2012 19:44:40 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Wed, 23 May 2012 19:41:34 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05Q332b21/LValR3yACMgVK2NGRgAEz28f
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>,
	<20120524001712.GA6285@phenom.dumpdata.com>
In-Reply-To: <20120524001712.GA6285@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad and others,

Oh, there are Xen/dom0 specific APIs for PCI and DMA?  

May I ask the names and where can I can more info on the APIs?

Many thanks!

Kenneth

________________________________________
From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
Sent: Wednesday, May 23, 2012 5:17 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> Dear all,
>
> I have a PCIe device driver that I have been using on various Linux distributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
>
> I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manually) successfully at Dom0 without any issue.  I can do reads and write to the hardware device.  But once booted to Xen, the driver failed to complete the driver load (via insmod manually) at Dom 0 and the console just hangs.
>
> >From my debug messages, it appears it hangs because the driver doesn't receive any interrupt after a command is sent to the hardware device by writing a parameter to the mapped register.  Once that register is written, the device is expected to DMA the command from the buffer allocated by the driver.
>
> The things that I can only think of that might have caused the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.

The 2).
>
>
> What the driver does:

You do need to use the PCI API (or the DMA API).

>
> Set up a command buffer:
> Buf_t *buf = kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> unsigned long buf_addr = __pa(buf);
> unsigned int buf_addr_low = (unsigned int)buf_addr;
>
> Tell device about the buffer:
> iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);

>
> Set up IRQ:
>     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
>         (!pci_enable_msi(dev)))
>     {
>         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME, my_dev))
>         {
>             return  -ENODEV;
>         }
>         my_dev->intr_mode = INTERRUPT_MSI;
>     }
>
> Ask device to fetch command from buffer (Expect interrupt after this after device fetched the command from buf.  But interrupt did not happen.):
> iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
>
>
> >From dmesg, it looks like IRQ initialization is complete.
> [  241.743769] My_driver initialization
> [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> [  241.743795] xen: --> pirq=16 -> irq=16 (gsi=16)
> [  241.743801] Already setup the GSI :16
> [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
>
> /proc/interrupts:
>             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
> ......
> ......
> 339:          0          0          0          0          0          0          0          0  xen-pirq-msi       my-driver
> ......
> ......
>
> Any idea what might cause the problem?
>
> Is there anything we have to be enable/disable, use different functions, or do differently in drivers written for Xen Dom0 environment regarding the following?
> 1)       Allocating a DMA buffer in driver to allow the device to DMA stuffs.
> 2)       Requesting MSI irq.
>
> Please advise!
>
> Thanks a lot in advance!!
>
> Kenneth

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 03:14:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 03:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXOU8-0001pN-BR; Thu, 24 May 2012 03:13:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SXOU6-0001pI-FH
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 03:13:06 +0000
Received: from [85.158.139.83:6587] by server-10.bemta-5.messagelabs.com id
	95/E4-22179-147ADBF4; Thu, 24 May 2012 03:13:05 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337829182!26088947!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28875 invoked from network); 24 May 2012 03:13:04 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 03:13:04 -0000
Received: by obfk16 with SMTP id k16so16183812obf.30
	for <xen-devel@lists.xensource.com>;
	Wed, 23 May 2012 20:13:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=3aXKZub8Rgu1OZw5ZXytJz7KBObdcdBdJ5UE1lfhEZs=;
	b=Su4SrZ8AYz2QO3jFWWYAlU/iHjtImgsFRviFf9RUbHPnzdCKWqdKLH5GtZd04x1UD9
	339by8HMqY0yyhhKi04swCAL4XfkMypIsK++/tqB+Z7+Yk2S+u2ntbTd+1sH6v+dyuLx
	3R1Sfn1CStZG05Hi06zVmqk5B87I/5JBzAzLqczdUc4SNy6ICHrDrS3WSoXIOB/5yGyA
	CK7JqhN+OfbkxqaoH6PNp00IzieITqmeiW6mNS9JTAHX05eYr9C4E83l2rUImZMhFMhz
	AGelmMFII9trd2EDnoMaz+e+5Iy0XBAigIpIVMrdnCjry61sFh6AM4FxbX9C2p7m+bHV
	cJ3A==
MIME-Version: 1.0
Received: by 10.182.167.39 with SMTP id zl7mr28653381obb.10.1337829181712;
	Wed, 23 May 2012 20:13:01 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 23 May 2012 20:13:01 -0700 (PDT)
In-Reply-To: <1336120233.26385.10.camel@dagon.hellion.org.uk>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
	<1336120233.26385.10.camel@dagon.hellion.org.uk>
Date: Thu, 24 May 2012 11:13:01 +0800
Message-ID: <CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Fantu <fantonifabio@tiscali.it>, Keir Fraser <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Sorry for late reply, I am not on this mail these days because of my work.

I further test qxl-vga and I think I figure out the problem in some extend.

If using qxl device, the default memory size of vga is 64M.
Which will cause xen_ram_alloc(qemu/xen-all.c) fails.

The exact reason is xc_domain_populate_physmap_exact fails, because
xen-hypervisor
fail,
it's because of   alloc_domheap_pages(d, a->extent_order, a->memflags)
fails in hypervisor.

I am not very familiar with xen's memory management, Does 64M exceed
xen's heap space in this context?

xl dmesg:

(XEN) page_alloc.c:1284:d0 Over-allocation for domain 22: 98561 > 98560
(XEN) memory.c:131:d0 Could not allocate order=0 extent: id=22
memflags=0 (2328 of 16384)
(XEN) HVM22: HVM Loader
(XEN) HVM22: Detected Xen v4.2-unstable
(XEN) HVM22: Xenbus rings @0xfeffc000, event channel 3
(XEN) HVM22: System requested SeaBIOS
(XEN) HVM22: CPU speed is 2660 MHz


Qemu log appended:

char device redirected to /dev/pts/9
do_spice_init: starting 0.7.1
spice_server_add_interface: SPICE_INTERFACE_KEYBOARD
spice_server_add_interface: SPICE_INTERFACE_MOUSE
ram_size: 67108864  // 64M for qxl
qemu: hardware error: xen: failed to populate ram at 17800000 // by
xen_ram_alloc
CPU #0:
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000633
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=0000fff0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =f000 ffff0000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

On Fri, May 4, 2012 at 4:30 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Fri, 2012-05-04 at 02:15 +0100, ZhouPeng wrote:
>> On Thu, May 3, 2012 at 9:56 PM, Stefano Stabellini
>> <stefano.stabellini@eu.citrix.com> wrote:
>> > On Thu, 3 May 2012, ZhouPeng wrote:
>> >> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
>> >> >> > card?
>> >> >> No, not disable the vga card.
>> >> >> But booting in Text mode.
>> >> >
>> >> > Then you are manually starting X11 with the spice driver?
>> >> Always in text mode.
>> >> Never start X11.
>> >> Using stdard vga but not qxl-vga.
>> >
>> > so you didn't actually test qxl at all, did you?
>> Didn't test qxl but only spice.
>
> So to return to my question at the start of this thread -- is qxl
> something you would be interested in supporting? (I think you said yes,
> but we've been somewhat sidetracked on the distinction between SPICE
> support and QXL support).
>
> In any case this is definitely 4.3 material IMHO since we are now
> feature frozen for 4.2.
>
> Ian.
>



-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 03:14:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 03:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXOU8-0001pN-BR; Thu, 24 May 2012 03:13:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SXOU6-0001pI-FH
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 03:13:06 +0000
Received: from [85.158.139.83:6587] by server-10.bemta-5.messagelabs.com id
	95/E4-22179-147ADBF4; Thu, 24 May 2012 03:13:05 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337829182!26088947!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28875 invoked from network); 24 May 2012 03:13:04 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 03:13:04 -0000
Received: by obfk16 with SMTP id k16so16183812obf.30
	for <xen-devel@lists.xensource.com>;
	Wed, 23 May 2012 20:13:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=3aXKZub8Rgu1OZw5ZXytJz7KBObdcdBdJ5UE1lfhEZs=;
	b=Su4SrZ8AYz2QO3jFWWYAlU/iHjtImgsFRviFf9RUbHPnzdCKWqdKLH5GtZd04x1UD9
	339by8HMqY0yyhhKi04swCAL4XfkMypIsK++/tqB+Z7+Yk2S+u2ntbTd+1sH6v+dyuLx
	3R1Sfn1CStZG05Hi06zVmqk5B87I/5JBzAzLqczdUc4SNy6ICHrDrS3WSoXIOB/5yGyA
	CK7JqhN+OfbkxqaoH6PNp00IzieITqmeiW6mNS9JTAHX05eYr9C4E83l2rUImZMhFMhz
	AGelmMFII9trd2EDnoMaz+e+5Iy0XBAigIpIVMrdnCjry61sFh6AM4FxbX9C2p7m+bHV
	cJ3A==
MIME-Version: 1.0
Received: by 10.182.167.39 with SMTP id zl7mr28653381obb.10.1337829181712;
	Wed, 23 May 2012 20:13:01 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 23 May 2012 20:13:01 -0700 (PDT)
In-Reply-To: <1336120233.26385.10.camel@dagon.hellion.org.uk>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
	<1336120233.26385.10.camel@dagon.hellion.org.uk>
Date: Thu, 24 May 2012 11:13:01 +0800
Message-ID: <CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Fantu <fantonifabio@tiscali.it>, Keir Fraser <keir@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Sorry for late reply, I am not on this mail these days because of my work.

I further test qxl-vga and I think I figure out the problem in some extend.

If using qxl device, the default memory size of vga is 64M.
Which will cause xen_ram_alloc(qemu/xen-all.c) fails.

The exact reason is xc_domain_populate_physmap_exact fails, because
xen-hypervisor
fail,
it's because of   alloc_domheap_pages(d, a->extent_order, a->memflags)
fails in hypervisor.

I am not very familiar with xen's memory management, Does 64M exceed
xen's heap space in this context?

xl dmesg:

(XEN) page_alloc.c:1284:d0 Over-allocation for domain 22: 98561 > 98560
(XEN) memory.c:131:d0 Could not allocate order=0 extent: id=22
memflags=0 (2328 of 16384)
(XEN) HVM22: HVM Loader
(XEN) HVM22: Detected Xen v4.2-unstable
(XEN) HVM22: Xenbus rings @0xfeffc000, event channel 3
(XEN) HVM22: System requested SeaBIOS
(XEN) HVM22: CPU speed is 2660 MHz


Qemu log appended:

char device redirected to /dev/pts/9
do_spice_init: starting 0.7.1
spice_server_add_interface: SPICE_INTERFACE_KEYBOARD
spice_server_add_interface: SPICE_INTERFACE_MOUSE
ram_size: 67108864  // 64M for qxl
qemu: hardware error: xen: failed to populate ram at 17800000 // by
xen_ram_alloc
CPU #0:
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000633
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=0000fff0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =f000 ffff0000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

On Fri, May 4, 2012 at 4:30 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Fri, 2012-05-04 at 02:15 +0100, ZhouPeng wrote:
>> On Thu, May 3, 2012 at 9:56 PM, Stefano Stabellini
>> <stefano.stabellini@eu.citrix.com> wrote:
>> > On Thu, 3 May 2012, ZhouPeng wrote:
>> >> >> > What do you mean by "disabling graphic"? Do you mean disabling the vga
>> >> >> > card?
>> >> >> No, not disable the vga card.
>> >> >> But booting in Text mode.
>> >> >
>> >> > Then you are manually starting X11 with the spice driver?
>> >> Always in text mode.
>> >> Never start X11.
>> >> Using stdard vga but not qxl-vga.
>> >
>> > so you didn't actually test qxl at all, did you?
>> Didn't test qxl but only spice.
>
> So to return to my question at the start of this thread -- is qxl
> something you would be interested in supporting? (I think you said yes,
> but we've been somewhat sidetracked on the distinction between SPICE
> support and QXL support).
>
> In any case this is definitely 4.3 material IMHO since we are now
> feature frozen for 4.2.
>
> Ian.
>



-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 06:14:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 06:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXRIe-0002jy-1o; Thu, 24 May 2012 06:13:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXRIc-0002jt-Ie
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 06:13:26 +0000
Received: from [193.109.254.147:62919] by server-6.bemta-14.messagelabs.com id
	C3/C9-04960-581DDBF4; Thu, 24 May 2012 06:13:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337840005!10895177!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyNzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26691 invoked from network); 24 May 2012 06:13:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 06:13:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12639935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:13:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 07:13:24 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXRIa-0004H7-8o;
	Thu, 24 May 2012 06:13:24 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXRIZ-0007ya-Oi;
	Thu, 24 May 2012 07:13:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12968-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 24 May 2012 07:13:23 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12968: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12968 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12968/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf     10 guest-saverestore           fail pass in 12967
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail pass in 12967

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12967 never pass

version targeted for testing:
 xen                  69c3ae25bb1d
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 06:14:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 06:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXRIe-0002jy-1o; Thu, 24 May 2012 06:13:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXRIc-0002jt-Ie
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 06:13:26 +0000
Received: from [193.109.254.147:62919] by server-6.bemta-14.messagelabs.com id
	C3/C9-04960-581DDBF4; Thu, 24 May 2012 06:13:25 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337840005!10895177!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyNzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26691 invoked from network); 24 May 2012 06:13:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 06:13:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12639935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:13:24 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 07:13:24 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXRIa-0004H7-8o;
	Thu, 24 May 2012 06:13:24 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXRIZ-0007ya-Oi;
	Thu, 24 May 2012 07:13:24 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12968-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 24 May 2012 07:13:23 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12968: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12968 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12968/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-sedf     10 guest-saverestore           fail pass in 12967
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail pass in 12967

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12967 never pass

version targeted for testing:
 xen                  69c3ae25bb1d
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 06:18:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 06:18:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXRND-0002sx-UT; Thu, 24 May 2012 06:18:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXRNC-0002sq-L2
	for xen-devel@lists.xen.org; Thu, 24 May 2012 06:18:10 +0000
Received: from [85.158.143.99:48928] by server-3.bemta-4.messagelabs.com id
	7C/54-05853-1A2DDBF4; Thu, 24 May 2012 06:18:09 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337840287!19891331!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDUyNTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30040 invoked from network); 24 May 2012 06:18:08 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 06:18:08 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 2E430145E;
	Thu, 24 May 2012 09:18:07 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 0E4FA2005D; Thu, 24 May 2012 09:18:07 +0300 (EEST)
Date: Thu, 24 May 2012 09:18:06 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120524061806.GX2058@reaktio.net>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
> 
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?  
> 

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
> 

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
> 
> Kenneth
> 
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> 
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux distributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manually) successfully at Dom0 without any issue.  I can do reads and write to the hardware device.  But once booted to Xen, the driver failed to complete the driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't receive any interrupt after a command is sent to the hardware device by writing a parameter to the mapped register.  Once that register is written, the device is expected to DMA the command from the buffer allocated by the driver.
> >
> > The things that I can only think of that might have caused the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
> 
> The 2).
> >
> >
> > What the driver does:
> 
> You do need to use the PCI API (or the DMA API).
> 
> >
> > Set up a command buffer:
> > Buf_t *buf = kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr = __pa(buf);
> > unsigned int buf_addr_low = (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
> 
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode = INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this after device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=16 -> irq=16 (gsi=16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0          0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions, or do differently in drivers written for Xen Dom0 environment regarding the following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA stuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
> 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 06:18:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 06:18:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXRND-0002sx-UT; Thu, 24 May 2012 06:18:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXRNC-0002sq-L2
	for xen-devel@lists.xen.org; Thu, 24 May 2012 06:18:10 +0000
Received: from [85.158.143.99:48928] by server-3.bemta-4.messagelabs.com id
	7C/54-05853-1A2DDBF4; Thu, 24 May 2012 06:18:09 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337840287!19891331!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDUyNTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30040 invoked from network); 24 May 2012 06:18:08 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 06:18:08 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 2E430145E;
	Thu, 24 May 2012 09:18:07 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 0E4FA2005D; Thu, 24 May 2012 09:18:07 +0300 (EEST)
Date: Thu, 24 May 2012 09:18:06 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120524061806.GX2058@reaktio.net>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
> 
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?  
> 

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
> 

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
> 
> Kenneth
> 
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> 
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux distributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervisor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manually) successfully at Dom0 without any issue.  I can do reads and write to the hardware device.  But once booted to Xen, the driver failed to complete the driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't receive any interrupt after a command is sent to the hardware device by writing a parameter to the mapped register.  Once that register is written, the device is expected to DMA the command from the buffer allocated by the driver.
> >
> > The things that I can only think of that might have caused the problem are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
> 
> The 2).
> >
> >
> > What the driver does:
> 
> You do need to use the PCI API (or the DMA API).
> 
> >
> > Set up a command buffer:
> > Buf_t *buf = kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr = __pa(buf);
> > unsigned int buf_addr_low = (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
> 
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIVER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode = INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this after device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=16 -> irq=16 (gsi=16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0          0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions, or do differently in drivers written for Xen Dom0 environment regarding the following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA stuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
> 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 07:11:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 07:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXSCb-0003Mr-CL; Thu, 24 May 2012 07:11:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SXSCZ-0003Mm-KB
	for xen-devel@lists.xen.org; Thu, 24 May 2012 07:11:15 +0000
Received: from [85.158.138.51:21776] by server-8.bemta-3.messagelabs.com id
	28/3A-24402-21FDDBF4; Thu, 24 May 2012 07:11:14 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337843472!28888756!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16604 invoked from network); 24 May 2012 07:11:13 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 07:11:13 -0000
Received: by obbwd20 with SMTP id wd20so16597599obb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 00:11:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=cMeV3/uGwh8GbZec2emWGNF0xiHsX+hWRfC0wTcd8Cs=;
	b=yWoxKbtnsg8HTTRmQk202/LZU9oqY1TTC46V8oaRe6joceqfkXwG2Jzwh4vFQo41d3
	ufkDmshv7sniYaK13pI8UjP9hMKnbbCxzh4rkKxSVFyKbBJUuIdmQ9tMdUUvbR4fCBuL
	oZN1ch5Zt3cbH2sKW2USTdINW+tCEbYu1MEiMZR9MIGJbM2slIOSlCdQ+D2fsF6XyW8y
	uHtB/t354dqKeUtK11QtLpP+bXv6skv2g55SIcE7EnoGoPZYh5cQo9gbgv9e8CbNLChQ
	r0Nkve+xWiNfgfcAbJ+lKnoOfoMcu8uzA+RGIOlcHhLGgjxN7AK1Eg0XVhXHpm3vV01p
	d/JQ==
Received: by 10.60.14.9 with SMTP id l9mr29149091oec.17.1337843472265; Thu, 24
	May 2012 00:11:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.242.9 with HTTP; Thu, 24 May 2012 00:10:51 -0700 (PDT)
In-Reply-To: <20120523143521.GA25529@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
	<CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
	<20120523143521.GA25529@phenom.dumpdata.com>
From: eva <evammg@gmail.com>
Date: Thu, 24 May 2012 09:10:51 +0200
Message-ID: <CAN-hevnjCHDsBrN3hFe2RKuKjLU8C-7xBqhOat+k+Ut6XkLUnw@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 23 May 2012 16:35, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> On Wed, May 23, 2012 at 12:22:26PM +0200, eva wrote:
>> On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>> >
>> > > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
>> > >
>> > > and it's a git repository.. And yes, I haven't applied a patch in ages..
>> > >
>> > > So to end this issue with my ATI card, how do I apply this patch with git?
>> > >
>> > > I haven't done it before, and googling it says maybe with "git clone"
>> > > or "git apply", but there's no luck with any.. (see attachment)
>> > >
>> > > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
>> > > Kernel 3.2.
>> >
>> > What is the ATI problem you have? The vga patch is for VGA "text" mode
>> > not for graphical.
>> >
>>
>> Hello, sorry for the delay. I wanted to do a bit more of a research.
>>
>> I have tried so many things I can't even remember, but I couldn't make
>> work dom0 with Ubuntu 12.04 on this server.
>>
>> I reported a bug some time ago on launchpad, and I have just updated it
>>
>> https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124
>
> You need to attach the full serial console. Here are some
> links to help you get that information:
>
> http://wiki.xen.org/wiki/XenParavirtOps#I_have_graphics_card_.28DRM.2FTTM.2FKMS.2FXorg.29_related_problems_with_the_pv_ops_dom0_kernel..
>
> http://wiki.xen.org/wiki/XenSerialConsole
>>
>> Also I have found it's been reported a bug for the ATI card..
>>
>> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562
>
> Which talks about not doing 3D rendering. That is expected
> on ATI ES1000 which can't do 3D rendering. It can only do 2D.
>
> But that is not the problem you are describing? In your case the machine
> crashes, right?
>
>>
>> It says exactly the same things in the log file of Xorg.
>>
>> ---
>>
>> I describe the problem: when loading Ubuntu normally the graphical
>> performance is not very good, but it's ok. But when trying to load
>> dom0 the GUI completely crashes.
>
> crashes.. In what way? What do you see on the screen? What is in your
> serial console? Is the machine still running? Can you SSH in it?

Sorry for the misunderstanding, I mean the GUI doesn't work when dom0
is loaded. That is, at the login screen it freezes so I can't go on.

dom0 works fine without the GUI. I tried to start X manually and the
GUI loads but it's frozen so there's no possible use of it.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 07:11:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 07:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXSCb-0003Mr-CL; Thu, 24 May 2012 07:11:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <evammg@gmail.com>) id 1SXSCZ-0003Mm-KB
	for xen-devel@lists.xen.org; Thu, 24 May 2012 07:11:15 +0000
Received: from [85.158.138.51:21776] by server-8.bemta-3.messagelabs.com id
	28/3A-24402-21FDDBF4; Thu, 24 May 2012 07:11:14 +0000
X-Env-Sender: evammg@gmail.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337843472!28888756!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16604 invoked from network); 24 May 2012 07:11:13 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 07:11:13 -0000
Received: by obbwd20 with SMTP id wd20so16597599obb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 00:11:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=cMeV3/uGwh8GbZec2emWGNF0xiHsX+hWRfC0wTcd8Cs=;
	b=yWoxKbtnsg8HTTRmQk202/LZU9oqY1TTC46V8oaRe6joceqfkXwG2Jzwh4vFQo41d3
	ufkDmshv7sniYaK13pI8UjP9hMKnbbCxzh4rkKxSVFyKbBJUuIdmQ9tMdUUvbR4fCBuL
	oZN1ch5Zt3cbH2sKW2USTdINW+tCEbYu1MEiMZR9MIGJbM2slIOSlCdQ+D2fsF6XyW8y
	uHtB/t354dqKeUtK11QtLpP+bXv6skv2g55SIcE7EnoGoPZYh5cQo9gbgv9e8CbNLChQ
	r0Nkve+xWiNfgfcAbJ+lKnoOfoMcu8uzA+RGIOlcHhLGgjxN7AK1Eg0XVhXHpm3vV01p
	d/JQ==
Received: by 10.60.14.9 with SMTP id l9mr29149091oec.17.1337843472265; Thu, 24
	May 2012 00:11:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.242.9 with HTTP; Thu, 24 May 2012 00:10:51 -0700 (PDT)
In-Reply-To: <20120523143521.GA25529@phenom.dumpdata.com>
References: <CAN-hevkNf-2Aqt-onTzT-FWZ4C=wk8Nt0GkC9THB7wJ4WQZSFg@mail.gmail.com>
	<1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
	<CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
	<20120523143521.GA25529@phenom.dumpdata.com>
From: eva <evammg@gmail.com>
Date: Thu, 24 May 2012 09:10:51 +0200
Message-ID: <CAN-hevnjCHDsBrN3hFe2RKuKjLU8C-7xBqhOat+k+Ut6XkLUnw@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 23 May 2012 16:35, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> On Wed, May 23, 2012 at 12:22:26PM +0200, eva wrote:
>> On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>> >
>> > > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
>> > >
>> > > and it's a git repository.. And yes, I haven't applied a patch in ages..
>> > >
>> > > So to end this issue with my ATI card, how do I apply this patch with git?
>> > >
>> > > I haven't done it before, and googling it says maybe with "git clone"
>> > > or "git apply", but there's no luck with any.. (see attachment)
>> > >
>> > > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
>> > > Kernel 3.2.
>> >
>> > What is the ATI problem you have? The vga patch is for VGA "text" mode
>> > not for graphical.
>> >
>>
>> Hello, sorry for the delay. I wanted to do a bit more of a research.
>>
>> I have tried so many things I can't even remember, but I couldn't make
>> work dom0 with Ubuntu 12.04 on this server.
>>
>> I reported a bug some time ago on launchpad, and I have just updated it
>>
>> https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124
>
> You need to attach the full serial console. Here are some
> links to help you get that information:
>
> http://wiki.xen.org/wiki/XenParavirtOps#I_have_graphics_card_.28DRM.2FTTM.2FKMS.2FXorg.29_related_problems_with_the_pv_ops_dom0_kernel..
>
> http://wiki.xen.org/wiki/XenSerialConsole
>>
>> Also I have found it's been reported a bug for the ATI card..
>>
>> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562
>
> Which talks about not doing 3D rendering. That is expected
> on ATI ES1000 which can't do 3D rendering. It can only do 2D.
>
> But that is not the problem you are describing? In your case the machine
> crashes, right?
>
>>
>> It says exactly the same things in the log file of Xorg.
>>
>> ---
>>
>> I describe the problem: when loading Ubuntu normally the graphical
>> performance is not very good, but it's ok. But when trying to load
>> dom0 the GUI completely crashes.
>
> crashes.. In what way? What do you see on the screen? What is in your
> serial console? Is the machine still running? Can you SSH in it?

Sorry for the misunderstanding, I mean the GUI doesn't work when dom0
is loaded. That is, at the login screen it freezes so I can't go on.

dom0 works fine without the GUI. I tried to start X manually and the
GUI loads but it's frozen so there's no possible use of it.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 07:16:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 07:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXSH5-0003U2-2p; Thu, 24 May 2012 07:15:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXSH3-0003Tu-DJ
	for xen-devel@lists.xen.org; Thu, 24 May 2012 07:15:53 +0000
Received: from [85.158.143.99:24000] by server-1.bemta-4.messagelabs.com id
	C4/43-00342-820EDBF4; Thu, 24 May 2012 07:15:52 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337843743!24256031!1
X-Originating-IP: [74.125.149.151]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21006 invoked from network); 24 May 2012 07:15:49 -0000
Received: from na3sys009aog124.obsmtp.com (HELO na3sys009aog124.obsmtp.com)
	(74.125.149.151)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 07:15:49 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob124.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT73gHkcmR7I6PcAUdQQFDEo2cBMnFtET@postini.com;
	Thu, 24 May 2012 00:15:49 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Thu, 24 May 2012 00:13:55 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 00:10:57 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05dP6aqdU2R3vXRRmVwpzRew46dAAB162f
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C38@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>,
	<20120524061806.GX2058@reaktio.net>
In-Reply-To: <20120524061806.GX2058@reaktio.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Pasi,

Thanks a lot for the info!  I will try it.

Kenneth
________________________________________
From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
Sent: Wednesday, May 23, 2012 11:18 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
>
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?
>

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
>

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
>
> Kenneth
>
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux dis=
tributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervis=
or 4.1.  When I boot to Linux Mint, my driver still load (via insmod manual=
ly) successfully at Dom0 without any issue.  I can do reads and write to th=
e hardware device.  But once booted to Xen, the driver failed to complete t=
he driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't=
 receive any interrupt after a command is sent to the hardware device by wr=
iting a parameter to the mapped register.  Once that register is written, t=
he device is expected to DMA the command from the buffer allocated by the d=
river.
> >
> > The things that I can only think of that might have caused the problem =
are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
>
> The 2).
> >
> >
> > What the driver does:
>
> You do need to use the PCI API (or the DMA API).
>
> >
> > Set up a command buffer:
> > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr =3D __pa(buf);
> > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
>
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIV=
ER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode =3D INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this af=
ter device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low)=
 -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5=
       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0 =
         0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions=
, or do differently in drivers written for Xen Dom0 environment regarding t=
he following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA s=
tuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 07:16:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 07:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXSH5-0003U2-2p; Thu, 24 May 2012 07:15:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXSH3-0003Tu-DJ
	for xen-devel@lists.xen.org; Thu, 24 May 2012 07:15:53 +0000
Received: from [85.158.143.99:24000] by server-1.bemta-4.messagelabs.com id
	C4/43-00342-820EDBF4; Thu, 24 May 2012 07:15:52 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1337843743!24256031!1
X-Originating-IP: [74.125.149.151]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21006 invoked from network); 24 May 2012 07:15:49 -0000
Received: from na3sys009aog124.obsmtp.com (HELO na3sys009aog124.obsmtp.com)
	(74.125.149.151)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 07:15:49 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob124.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT73gHkcmR7I6PcAUdQQFDEo2cBMnFtET@postini.com;
	Thu, 24 May 2012 00:15:49 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Thu, 24 May 2012 00:13:55 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 00:10:57 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05dP6aqdU2R3vXRRmVwpzRew46dAAB162f
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C38@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>,
	<20120524061806.GX2058@reaktio.net>
In-Reply-To: <20120524061806.GX2058@reaktio.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Pasi,

Thanks a lot for the info!  I will try it.

Kenneth
________________________________________
From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
Sent: Wednesday, May 23, 2012 11:18 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
>
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?
>

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
>

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
>
> Kenneth
>
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux dis=
tributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervis=
or 4.1.  When I boot to Linux Mint, my driver still load (via insmod manual=
ly) successfully at Dom0 without any issue.  I can do reads and write to th=
e hardware device.  But once booted to Xen, the driver failed to complete t=
he driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't=
 receive any interrupt after a command is sent to the hardware device by wr=
iting a parameter to the mapped register.  Once that register is written, t=
he device is expected to DMA the command from the buffer allocated by the d=
river.
> >
> > The things that I can only think of that might have caused the problem =
are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
>
> The 2).
> >
> >
> > What the driver does:
>
> You do need to use the PCI API (or the DMA API).
>
> >
> > Set up a command buffer:
> > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr =3D __pa(buf);
> > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
>
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIV=
ER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode =3D INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this af=
ter device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low)=
 -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5=
       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0 =
         0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions=
, or do differently in drivers written for Xen Dom0 environment regarding t=
he following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA s=
tuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 07:36:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 07:36:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXSaB-0003hg-UC; Thu, 24 May 2012 07:35:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SXSaB-0003hb-2L
	for xen-devel@lists.xen.org; Thu, 24 May 2012 07:35:39 +0000
Received: from [85.158.139.83:22509] by server-3.bemta-5.messagelabs.com id
	8A/36-29112-AC4EDBF4; Thu, 24 May 2012 07:35:38 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337844936!16298572!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxODQ1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18656 invoked from network); 24 May 2012 07:35:36 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-182.messagelabs.com with SMTP;
	24 May 2012 07:35:36 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 00:35:35 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147162246"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 00:35:34 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 00:35:33 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 24 May 2012 15:35:31 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNN2h0qQ57b8BtJkWdmYwPQ9jK8pbVZpGQ//+PTQCAAg4V4P///OkAgAGN/fA=
Date: Thu, 24 May 2012 07:35:31 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D2E95@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
	<1337675538.10118.15.camel@zakaz.uk.xensource.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
	<20120523154410.GA20284@phenom.dumpdata.com>
In-Reply-To: <20120523154410.GA20284@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, "Zhou, Chao" <chao.zhou@intel.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 11:44 PM
> To: Ren, Yongjie
> Cc: Ian Campbell; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> 'xen-devel@lists.xen.org'
> Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> 
> On Wed, May 23, 2012 at 08:21:24AM +0000, Ren, Yongjie wrote:
> > > -----Original Message-----
> > > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > > Sent: Tuesday, May 22, 2012 4:32 PM
> > > To: Ren, Yongjie
> > > Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> > > 'xen-devel@lists.xen.org'
> > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> Dom0:568b445...
> > >
> > > On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > > > > -----Original Message-----
> > > > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > > > Sent: Monday, May 21, 2012 10:22 PM
> > > > > To: Wu, GabrielX
> > > > > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou,
> Chao
> > > > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> > > Dom0:568b445...
> > > > >
> > > > > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > > > > Hi all,
> > > > > >
> > > > > > This is the test report of xen-unstable tree.
> > > > > > There are two issues found and one issue got fixed.
> > > > > >
> > > > > > Version Info:
> > > > > >
> > > > >
> > >
> ============================================================
> > > > > =====
> > > > > > xen-changeset:   25334:f8279258e3c9
> > > > > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > > > > >
> > > > >
> > >
> ============================================================
> > > > > =====
> > > > > >
> > > > > > New issues(2)
> > > > > > ==============
> > > > > > 1. long stop during the guest boot process with qcow image
> > > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > > > > 2. vcpu-set doesn't take effect on guest
> > > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > > > >
> > > > > Does it work if you (in the guest) do
> > > > > echo 1 > /sys/../cpu9/online ?
> > > > >
> > > > The problem is there's no hot-add vCPU in /sys/devices/system/cpu
> > > directory.
> > > > e.g. I start a guest with 2 vCPU,
> > >
> > > Do you mean with maxvcpu=4 vcpus=2 in your config?
> > >
> > > >  then I run command 'xl vcpu-set $domID 4'.
> > >
> > > >     There are only 2 CPUs(cpu0 and cpu1) listed in
> > > /sys/devices/system/cpu directory.
> > >
> > > The bugzilla says "But it'll effect to dom0.", does this mean that
> > > 	xl vcpu-set domU 4
> > > will actually set dom0 to 12 vcpus? Or does it just mean that
> > > 	xl vcpu-set 0 4
> > > works where
> > > 	xl vcpu-set domU 4
> > > does not?
> > >
> > 'xl vcpu-set 0 4' works well for dom0 in some circumstances.
> > 'xl vcpu-set domU 4' doesn't work for dumU at all.
> >
> > 'xl vcpu-set' for dom0 also has a bug.
> > You can use 'xl vcpu-set' command to decrease vCPU number for dom0;
> > but when you try to increase its number you might meet dom0 panic.
> > Please look at my comment #2 in the following BZ.
> > http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> 
> That should have been fixed in 3.4 by
> cf405ae612b0f7e2358db7ff594c0e94846137aa
> "xen/smp: Fix crash when booting with ACPI hotplug CPUs."
No, not yet. We tested against latest linux.git (already including that commit) as dom0, 
but found that bug #1730 still exist.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 07:36:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 07:36:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXSaB-0003hg-UC; Thu, 24 May 2012 07:35:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SXSaB-0003hb-2L
	for xen-devel@lists.xen.org; Thu, 24 May 2012 07:35:39 +0000
Received: from [85.158.139.83:22509] by server-3.bemta-5.messagelabs.com id
	8A/36-29112-AC4EDBF4; Thu, 24 May 2012 07:35:38 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337844936!16298572!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQxODQ1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18656 invoked from network); 24 May 2012 07:35:36 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-182.messagelabs.com with SMTP;
	24 May 2012 07:35:36 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 00:35:35 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147162246"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 00:35:34 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 00:35:33 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 24 May 2012 15:35:31 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
Thread-Index: AQHNN2h0qQ57b8BtJkWdmYwPQ9jK8pbVZpGQ//+PTQCAAg4V4P///OkAgAGN/fA=
Date: Thu, 24 May 2012 07:35:31 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D2E95@SHSMSX101.ccr.corp.intel.com>
References: <E4558C0C96688748837EB1B05BEED75A0FD0A51B@SHSMSX102.ccr.corp.intel.com>
	<20120521142131.GL8119@phenom.dumpdata.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C3A50@SHSMSX101.ccr.corp.intel.com>
	<1337675538.10118.15.camel@zakaz.uk.xensource.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100C4978@SHSMSX101.ccr.corp.intel.com>
	<20120523154410.GA20284@phenom.dumpdata.com>
In-Reply-To: <20120523154410.GA20284@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Liu, SongtaoX" <songtaox.liu@intel.com>,
	"'xen-devel@lists.xen.org'" <xen-devel@lists.xen.org>, "Wu,
	GabrielX" <gabrielx.wu@intel.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, "Zhou, Chao" <chao.zhou@intel.com>
Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 11:44 PM
> To: Ren, Yongjie
> Cc: Ian Campbell; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> 'xen-devel@lists.xen.org'
> Subject: Re: [Xen-devel] VMX status report. Xen:25334 & Dom0:568b445...
> 
> On Wed, May 23, 2012 at 08:21:24AM +0000, Ren, Yongjie wrote:
> > > -----Original Message-----
> > > From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> > > Sent: Tuesday, May 22, 2012 4:32 PM
> > > To: Ren, Yongjie
> > > Cc: Konrad Rzeszutek Wilk; Wu, GabrielX; Liu, SongtaoX; Zhou, Chao;
> > > 'xen-devel@lists.xen.org'
> > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> Dom0:568b445...
> > >
> > > On Tue, 2012-05-22 at 08:19 +0100, Ren, Yongjie wrote:
> > > > > -----Original Message-----
> > > > > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> > > > > Sent: Monday, May 21, 2012 10:22 PM
> > > > > To: Wu, GabrielX
> > > > > Cc: 'xen-devel@lists.xen.org'; Ren, Yongjie; Liu, SongtaoX; Zhou,
> Chao
> > > > > Subject: Re: [Xen-devel] VMX status report. Xen:25334 &
> > > Dom0:568b445...
> > > > >
> > > > > On Mon, May 21, 2012 at 03:05:28AM +0000, Wu, GabrielX wrote:
> > > > > > Hi all,
> > > > > >
> > > > > > This is the test report of xen-unstable tree.
> > > > > > There are two issues found and one issue got fixed.
> > > > > >
> > > > > > Version Info:
> > > > > >
> > > > >
> > >
> ============================================================
> > > > > =====
> > > > > > xen-changeset:   25334:f8279258e3c9
> > > > > > Dom0:          linux.git  3.4.0-rc7+ (commit: 568b445...)
> > > > > >
> > > > >
> > >
> ============================================================
> > > > > =====
> > > > > >
> > > > > > New issues(2)
> > > > > > ==============
> > > > > > 1. long stop during the guest boot process with qcow image
> > > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1821
> > > > > > 2. vcpu-set doesn't take effect on guest
> > > > > >   http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1822
> > > > >
> > > > > Does it work if you (in the guest) do
> > > > > echo 1 > /sys/../cpu9/online ?
> > > > >
> > > > The problem is there's no hot-add vCPU in /sys/devices/system/cpu
> > > directory.
> > > > e.g. I start a guest with 2 vCPU,
> > >
> > > Do you mean with maxvcpu=4 vcpus=2 in your config?
> > >
> > > >  then I run command 'xl vcpu-set $domID 4'.
> > >
> > > >     There are only 2 CPUs(cpu0 and cpu1) listed in
> > > /sys/devices/system/cpu directory.
> > >
> > > The bugzilla says "But it'll effect to dom0.", does this mean that
> > > 	xl vcpu-set domU 4
> > > will actually set dom0 to 12 vcpus? Or does it just mean that
> > > 	xl vcpu-set 0 4
> > > works where
> > > 	xl vcpu-set domU 4
> > > does not?
> > >
> > 'xl vcpu-set 0 4' works well for dom0 in some circumstances.
> > 'xl vcpu-set domU 4' doesn't work for dumU at all.
> >
> > 'xl vcpu-set' for dom0 also has a bug.
> > You can use 'xl vcpu-set' command to decrease vCPU number for dom0;
> > but when you try to increase its number you might meet dom0 panic.
> > Please look at my comment #2 in the following BZ.
> > http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1730
> 
> That should have been fixed in 3.4 by
> cf405ae612b0f7e2358db7ff594c0e94846137aa
> "xen/smp: Fix crash when booting with ACPI hotplug CPUs."
No, not yet. We tested against latest linux.git (already including that commit) as dom0, 
but found that bug #1730 still exist.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:34:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTUP-0004kt-HR; Thu, 24 May 2012 08:33:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXTUN-0004km-9Z
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:33:43 +0000
Received: from [85.158.143.35:27416] by server-2.bemta-4.messagelabs.com id
	C6/EF-12211-662FDBF4; Thu, 24 May 2012 08:33:42 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337848414!11210886!1
X-Originating-IP: [209.85.220.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17535 invoked from network); 24 May 2012 08:33:40 -0000
Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com)
	(209.85.220.173)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:33:40 -0000
Received: by vcbfo13 with SMTP id fo13so1751853vcb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 01:33:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=mtj9OQ6K5890++pAqmqRNRPCbe/mv0Q1KQhzL9f1xaY=;
	b=Uzk/rgkruMOzWuAnhTWk9evQ7mZA6bPfrF83h7OoHrHHO1pC48XXE+Ke2i+obSle2F
	MNMGPSAkcuBdPaQz2wiWDqMNNxtKwmXMbjG354zGgcApEyEwAVdhDb9wZ3sKQURvNl3U
	+cW0BoR6pDN6XhjpUxwhA6o/Ri1wj6r3SpwV5WMV067p1tVPnF1uEdWsKrLQSEEif1S4
	wk4wfDHpO6U15D+mb8ws4C1QjRizZzZhEEoyriW6UE+d0sYqhgsjh+/uJDj+PLde2/gk
	AZLZjaG+Zeeqc6GEKHXI5a86DUESZNVbRyZx6hKPlycC0kgMxFUUGAwLQe01WcLk50N6
	UX1g==
Received: by 10.52.70.242 with SMTP id p18mr8703639vdu.97.1337848411243; Thu,
	24 May 2012 01:33:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Thu, 24 May 2012 01:33:10 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 24 May 2012 09:33:10 +0100
Message-ID: <CAEBdQ90uE_J7mnSVAOGpyazkSL6D08a43QVyEFhqeDzEp8UORA@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=bcaec501c52c50c5a504c0c41bbf
Subject: [Xen-devel] [xenconsoled] Add syslog (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--bcaec501c52c50c5a504c0c41bbf
Content-Type: multipart/alternative; boundary=bcaec501c52c50c59804c0c41bbd

--bcaec501c52c50c59804c0c41bbd
Content-Type: text/plain; charset=ISO-8859-1

Changes in v2:
  - Create a new function to clear \r\n and write to syslog
  - Remove tmp buffer

Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
The default behaviour remains the same (log into plain files)

From: Eric Chanudet <eric.chanudet@citrix.com>
Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--bcaec501c52c50c59804c0c41bbd
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Changes in v2:<br>=A0 - Create a new function to clear \r\n and write to sy=
slog<br>=A0 - Remove tmp buffer<br><br>Introduce a new option (-s/--<span c=
lass=3D"il">syslog</span>) to make <span class=3D"il">xenconsoled</span> lo=
g into <span class=3D"il">syslog</span>.<br>


The default behaviour remains the same (log into plain files)<br>
<br>
From: Eric Chanudet &lt;<a href=3D"mailto:eric.chanudet@citrix.com">eric.ch=
anudet@citrix.com</a>&gt;<br>
Signed-off-by: Jean Guyader &lt;<a href=3D"mailto:jean.guyader@gmail.com">j=
ean.guyader@gmail.com</a>&gt;

--bcaec501c52c50c59804c0c41bbd--
--bcaec501c52c50c5a504c0c41bbf
Content-Type: text/x-patch; charset=US-ASCII; name="xenconsoled-syslog.patch"
Content-Disposition: attachment; filename="xenconsoled-syslog.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2lkghzp0

ZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgYi90b29scy9jb25zb2xlL2Rh
ZW1vbi9pby5jCmluZGV4IGI2ZDQxZGUuLjgyYWQyYmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbnNv
bGUvZGFlbW9uL2lvLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYwpAQCAtNjIsNiAr
NjIsNyBAQCBleHRlcm4gaW50IGxvZ190aW1lX2h2OwogZXh0ZXJuIGludCBsb2dfdGltZV9ndWVz
dDsKIGV4dGVybiBjaGFyICpsb2dfZGlyOwogZXh0ZXJuIGludCBkaXNjYXJkX292ZXJmbG93ZWRf
ZGF0YTsKK2V4dGVybiBpbnQgdXNlX3N5c2xvZzsKIAogc3RhdGljIGludCBsb2dfdGltZV9odl9u
ZWVkdHMgPSAxOwogc3RhdGljIGludCBsb2dfdGltZV9ndWVzdF9uZWVkdHMgPSAxOwpAQCAtODAs
NiArODEsNyBAQCBzdHJ1Y3QgYnVmZmVyIHsKIAogc3RydWN0IGRvbWFpbiB7CiAJaW50IGRvbWlk
OworCWNoYXIgKm5hbWU7CiAJaW50IG1hc3Rlcl9mZDsKIAlpbnQgc2xhdmVfZmQ7CiAJaW50IGxv
Z19mZDsKQEAgLTExMyw2ICsxMTUsMzYgQEAgc3RhdGljIGludCB3cml0ZV9hbGwoaW50IGZkLCBj
b25zdCBjaGFyKiBidWYsIHNpemVfdCBsZW4pCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lk
IHdyaXRlX3N5c2xvZyhzdHJ1Y3QgZG9tYWluICpkb20sIGNvbnN0IGNoYXIgKmRhdGEsIHNpemVf
dCBzeikKK3sKKwljaGFyICpidWZmID0gTlVMTDsKKyAgICAgICAgY29uc3QgY2hhciAqc3RhcnQs
ICpwOworICAgICAgICBpbnQgaSA9IDA7CisKKwlzdGFydCA9IHAgPSBkYXRhOworICAgICAgICBm
b3IgKGkgPSAwOyBpIDwgc3o7IGkrKywgcCsrKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
KnAgPT0gJ1xyJyB8fCAqcCA9PSAnXG4nKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IGJ1ZmYgPSByZWFsbG9jKGJ1ZmYsIHAgLSBzdGFydCArIDEpOworCisgICAgICAgICAgICAgICAg
bWVtY3B5KGJ1ZmYsIHN0YXJ0LCBwIC0gc3RhcnQpOworICAgICAgICAgICAgICAgIGJ1ZmZbcCAt
IHN0YXJ0XSA9IDA7CisKKyAgICAgICAgICAgICAgICBpZiAoYnVmZlswXSA9PSAwIHx8IGJ1ZmZb
MF0gPT0gJ1xuJykKKyAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0OworCisgICAgICAgICAg
ICAgICAgaWYgKGRvbSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHN5c2xvZyhMT0df
SU5GTywgImh5cGVydmlzb3I6ICVzIiwgYnVmZik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgc3lzbG9nKExPR19JTkZPLCAiZ3Vlc3QtJXMgKCVpKTogJXMi
LCBkb20tPm5hbWUsIGRvbS0+ZG9taWQsIGJ1ZmYpOworICAgICAgICAgICAgICAgIH0KK25leHQ6
CisgICAgICAgICAgICAgICAgc3RhcnQgPSBwICsgMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorfQorCiBzdGF0aWMgaW50IHdyaXRlX3dpdGhfdGltZXN0YW1wKGludCBmZCwgY29uc3QgY2hh
ciAqZGF0YSwgc2l6ZV90IHN6LAogCQkJCWludCAqbmVlZHRzKQogewpAQCAtMTUyLDggKzE4NCw4
IEBAIHN0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGRvbWFpbiAqZG9tKQogCiAJY29u
cyA9IGludGYtPm91dF9jb25zOwogCXByb2QgPSBpbnRmLT5vdXRfcHJvZDsKLQl4ZW5fbWIoKTsK
IAorCXhlbl9tYigpOwogCXNpemUgPSBwcm9kIC0gY29uczsKIAlpZiAoKHNpemUgPT0gMCkgfHwg
KHNpemUgPiBzaXplb2YoaW50Zi0+b3V0KSkpCiAJCXJldHVybjsKQEAgLTE5Niw2ICsyMjgsOCBA
QCBzdGF0aWMgdm9pZCBidWZmZXJfYXBwZW5kKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJCWRvbG9n
KExPR19FUlIsICJXcml0ZSB0byBsb2cgZmFpbGVkICIKIAkJCSAgICAgICJvbiBkb21haW4gJWQ6
ICVkICglcylcbiIsCiAJCQkgICAgICBkb20tPmRvbWlkLCBlcnJubywgc3RyZXJyb3IoZXJybm8p
KTsKKwl9IGVsc2UgaWYgKHVzZV9zeXNsb2cpIHsKKwkJd3JpdGVfc3lzbG9nKGRvbSwgYnVmZmVy
LT5kYXRhICsgYnVmZmVyLT5zaXplIC0gc2l6ZSwgc2l6ZSk7CiAJfQogCiAJaWYgKGRpc2NhcmRf
b3ZlcmZsb3dlZF9kYXRhICYmIGJ1ZmZlci0+bWF4X2NhcGFjaXR5ICYmCkBAIC0yOTMsMTQgKzMy
NywxNCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9kb21haW5fbG9nKHN0cnVjdCBkb21haW4gKmRvbSkK
IAlkYXRhID0geHNfcmVhZCh4cywgWEJUX05VTEwsIG5hbWVwYXRoLCAmbGVuKTsKIAlmcmVlKG5h
bWVwYXRoKTsKIAlpZiAoIWRhdGEpCi0JCXJldHVybiAtMTsKKwkJZ290byBvdXQ7CiAJaWYgKCFs
ZW4pIHsKIAkJZnJlZShkYXRhKTsKLQkJcmV0dXJuIC0xOworCQlnb3RvIG91dDsKIAl9CiAKKwlk
b20tPm5hbWUgPSBkYXRhOwogCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFYLTEsICIlcy9ndWVz
dC0lcy5sb2ciLCBsb2dfZGlyLCBkYXRhKTsKLQlmcmVlKGRhdGEpOwogCWxvZ2ZpbGVbUEFUSF9N
QVgtMV0gPSAnXDAnOwogCiAJZmQgPSBvcGVuKGxvZ2ZpbGUsIE9fV1JPTkxZfE9fQ1JFQVR8T19B
UFBFTkQsIDA2NDQpOwpAQCAtMzE4LDYgKzM1Miw5IEBAIHN0YXRpYyBpbnQgY3JlYXRlX2RvbWFp
bl9sb2coc3RydWN0IGRvbWFpbiAqZG9tKQogCQl9CiAJfQogCXJldHVybiBmZDsKK291dDoKKyAg
ICAgICAgZG9tLT5uYW1lID0gc3RyZHVwKCJ1bmFtZWQiKTsKKyAgICAgICAgcmV0dXJuIC0xOwog
fQogCiBzdGF0aWMgdm9pZCBkb21haW5fY2xvc2VfdHR5KHN0cnVjdCBkb21haW4gKmRvbSkKQEAg
LTY1Niw2ICs2OTMsNyBAQCBzdGF0aWMgc3RydWN0IGRvbWFpbiAqY3JlYXRlX2RvbWFpbihpbnQg
ZG9taWQpCiAJZG9tLT5yZW1vdGVfcG9ydCA9IC0xOwogCWRvbS0+aW50ZXJmYWNlID0gTlVMTDsK
IAlkb20tPnhjZV9oYW5kbGUgPSBOVUxMOworCWRvbS0+bmFtZSA9IE5VTEw7CiAKIAlpZiAoIXdh
dGNoX2RvbWFpbihkb20sIHRydWUpKQogCQlnb3RvIG91dDsKQEAgLTcxMiw2ICs3NTAsMTEgQEAg
c3RhdGljIHZvaWQgY2xlYW51cF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkKIAlmcmVlKGQtPmNv
bnNwYXRoKTsKIAlkLT5jb25zcGF0aCA9IE5VTEw7CiAKKyAgICAgICAgaWYgKGQtPm5hbWUpIHsK
KwkgICAgZnJlZShkLT5uYW1lKTsKKwkgICAgZC0+bmFtZSA9IE5VTEw7CisgICAgICAgIH0KKwog
CXJlbW92ZV9kb21haW4oZCk7CiB9CiAKQEAgLTg4OCwxNyArOTMxLDIzIEBAIHN0YXRpYyB2b2lk
IGhhbmRsZV9odl9sb2dzKHZvaWQpCiAJCXJldHVybjsKIAogCWlmICh4Y19yZWFkY29uc29sZXJp
bmcoeGNoLCBidWZwdHIsICZzaXplLCAwLCAxLCAmaW5kZXgpID09IDAgJiYgc2l6ZSA+IDApIHsK
LQkJaW50IGxvZ3JldDsKLQkJaWYgKGxvZ190aW1lX2h2KQotCQkJbG9ncmV0ID0gd3JpdGVfd2l0
aF90aW1lc3RhbXAobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUsCi0JCQkJCQkgICAgICAmbG9nX3Rp
bWVfaHZfbmVlZHRzKTsKLQkJZWxzZQotCQkJbG9ncmV0ID0gd3JpdGVfYWxsKGxvZ19odl9mZCwg
YnVmZmVyLCBzaXplKTsKKwkJaWYgKGxvZ19odl9mZCAhPSAtMSkgeworCQkJaW50IGxvZ3JldDsK
KwkJCWlmIChsb2dfdGltZV9odikKKwkJCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChs
b2dfaHZfZmQsIGJ1ZmZlciwgc2l6ZSwKKwkJCQkJCQkgICAgICAmbG9nX3RpbWVfaHZfbmVlZHRz
KTsKKwkJCWVsc2UKKwkJCQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNp
emUpOworCisJCQlpZiAobG9ncmV0IDwgMCkKKwkJCQlkb2xvZyhMT0dfRVJSLCAiRmFpbGVkIHRv
IHdyaXRlIGh5cGVydmlzb3IgbG9nOiAiCisJCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBz
dHJlcnJvcihlcnJubykpOworCQl9CiAKLQkJaWYgKGxvZ3JldCA8IDApCi0JCQlkb2xvZyhMT0df
RVJSLCAiRmFpbGVkIHRvIHdyaXRlIGh5cGVydmlzb3IgbG9nOiAiCi0JCQkJICAgICAgICIlZCAo
JXMpIiwgZXJybm8sIHN0cmVycm9yKGVycm5vKSk7Ci0JfQorCQlpZiAodXNlX3N5c2xvZykKKwkJ
CXdyaXRlX3N5c2xvZyhOVUxMLCBidWZmZXIsIHNpemUpOworCisgICAgICAgIH0KIAogCSh2b2lk
KXhjX2V2dGNobl91bm1hc2soeGNlX2hhbmRsZSwgcG9ydCk7CiB9CkBAIC05NDAsOCArOTg5LDYg
QEAgdm9pZCBoYW5kbGVfaW8odm9pZCkKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWxvZ19odl9mZCA9
IGNyZWF0ZV9odl9sb2coKTsKLQkJaWYgKGxvZ19odl9mZCA9PSAtMSkKLQkJCWdvdG8gb3V0Owog
CQlsb2dfaHZfZXZ0Y2huID0geGNfZXZ0Y2huX2JpbmRfdmlycSh4Y2VfaGFuZGxlLCBWSVJRX0NP
Tl9SSU5HKTsKIAkJaWYgKGxvZ19odl9ldnRjaG4gPT0gLTEpIHsKIAkJCWRvbG9nKExPR19FUlIs
ICJGYWlsZWQgdG8gYmluZCB0byBWSVJRX0NPTl9SSU5HOiAiCmRpZmYgLS1naXQgYS90b29scy9j
b25zb2xlL2RhZW1vbi9tYWluLmMgYi90b29scy9jb25zb2xlL2RhZW1vbi9tYWluLmMKaW5kZXgg
Nzg5YmFhNi4uMmM3ZTI2NyAxMDA2NDQKLS0tIGEvdG9vbHMvY29uc29sZS9kYWVtb24vbWFpbi5j
CisrKyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYwpAQCAtMzksNiArMzksNyBAQCBpbnQg
bG9nX3RpbWVfaHYgPSAwOwogaW50IGxvZ190aW1lX2d1ZXN0ID0gMDsKIGNoYXIgKmxvZ19kaXIg
PSBOVUxMOwogaW50IGRpc2NhcmRfb3ZlcmZsb3dlZF9kYXRhID0gMTsKK2ludCB1c2Vfc3lzbG9n
ID0gMDsKIAogc3RhdGljIHZvaWQgaGFuZGxlX2h1cChpbnQgc2lnKQogewpAQCAtNDcsNyArNDgs
NyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfaHVwKGludCBzaWcpCiAKIHN0YXRpYyB2b2lkIHVzYWdl
KGNoYXIgKm5hbWUpCiB7Ci0JcHJpbnRmKCJVc2FnZTogJXMgWy1oXSBbLVZdIFstdl0gWy1pXSBb
LS1sb2c9bm9uZXxndWVzdHxodnxhbGxdIFstLWxvZy1kaXI9RElSXSBbLS1waWQtZmlsZT1QQVRI
XSBbLXQsIC0tdGltZXN0YW1wPW5vbmV8Z3Vlc3R8aHZ8YWxsXSBbLW8sIC0tb3ZlcmZsb3ctZGF0
YT1kaXNjYXJkfGtlZXBdXG4iLCBuYW1lKTsKKwlwcmludGYoIlVzYWdlOiAlcyBbLWhdIFstVl0g
Wy12XSBbLWldIFstLWxvZz1ub25lfGd1ZXN0fGh2fGFsbF0gWy0tc3lzbG9nXSBbLS1sb2ctZGly
PURJUl0gWy0tcGlkLWZpbGU9UEFUSF0gWy10LCAtLXRpbWVzdGFtcD1ub25lfGd1ZXN0fGh2fGFs
bF0gWy1vLCAtLW92ZXJmbG93LWRhdGE9ZGlzY2FyZHxrZWVwXVxuIiwgbmFtZSk7CiB9CiAKIHN0
YXRpYyB2b2lkIHZlcnNpb24oY2hhciAqbmFtZSkKQEAgLTY4LDYgKzY5LDcgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQl7ICJwaWQtZmlsZSIsIDEsIDAsICdwJyB9LAogCQl7
ICJ0aW1lc3RhbXAiLCAxLCAwLCAndCcgfSwKIAkJeyAib3ZlcmZsb3ctZGF0YSIsIDEsIDAsICdv
J30sCisJCXsgInN5c2xvZyIsIDAsIDAsICdzJyB9LAogCQl7IDAgfSwKIAl9OwogCWJvb2wgaXNf
aW50ZXJhY3RpdmUgPSBmYWxzZTsKQEAgLTEwNiw2ICsxMDgsOSBAQCBpbnQgbWFpbihpbnQgYXJn
YywgY2hhciAqKmFyZ3YpCiAJCQkgICAgICBsb2dfZ3Vlc3QgPSAxOwogCQkJfQogCQkJYnJlYWs7
CisJCWNhc2UgJ3MnOgorICAgICAgICAgICAgICAgICAgICAgICAgdXNlX3N5c2xvZyA9IDE7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKIAkJY2FzZSAncic6CiAJCSAgICAgICAgbG9n
X2RpciA9IHN0cmR1cChvcHRhcmcpOwogCQkJYnJlYWs7Cg==
--bcaec501c52c50c5a504c0c41bbf
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--bcaec501c52c50c5a504c0c41bbf--


From xen-devel-bounces@lists.xen.org Thu May 24 08:34:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTUP-0004kt-HR; Thu, 24 May 2012 08:33:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXTUN-0004km-9Z
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:33:43 +0000
Received: from [85.158.143.35:27416] by server-2.bemta-4.messagelabs.com id
	C6/EF-12211-662FDBF4; Thu, 24 May 2012 08:33:42 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337848414!11210886!1
X-Originating-IP: [209.85.220.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17535 invoked from network); 24 May 2012 08:33:40 -0000
Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com)
	(209.85.220.173)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:33:40 -0000
Received: by vcbfo13 with SMTP id fo13so1751853vcb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 01:33:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:content-type;
	bh=mtj9OQ6K5890++pAqmqRNRPCbe/mv0Q1KQhzL9f1xaY=;
	b=Uzk/rgkruMOzWuAnhTWk9evQ7mZA6bPfrF83h7OoHrHHO1pC48XXE+Ke2i+obSle2F
	MNMGPSAkcuBdPaQz2wiWDqMNNxtKwmXMbjG354zGgcApEyEwAVdhDb9wZ3sKQURvNl3U
	+cW0BoR6pDN6XhjpUxwhA6o/Ri1wj6r3SpwV5WMV067p1tVPnF1uEdWsKrLQSEEif1S4
	wk4wfDHpO6U15D+mb8ws4C1QjRizZzZhEEoyriW6UE+d0sYqhgsjh+/uJDj+PLde2/gk
	AZLZjaG+Zeeqc6GEKHXI5a86DUESZNVbRyZx6hKPlycC0kgMxFUUGAwLQe01WcLk50N6
	UX1g==
Received: by 10.52.70.242 with SMTP id p18mr8703639vdu.97.1337848411243; Thu,
	24 May 2012 01:33:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Thu, 24 May 2012 01:33:10 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 24 May 2012 09:33:10 +0100
Message-ID: <CAEBdQ90uE_J7mnSVAOGpyazkSL6D08a43QVyEFhqeDzEp8UORA@mail.gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=bcaec501c52c50c5a504c0c41bbf
Subject: [Xen-devel] [xenconsoled] Add syslog (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--bcaec501c52c50c5a504c0c41bbf
Content-Type: multipart/alternative; boundary=bcaec501c52c50c59804c0c41bbd

--bcaec501c52c50c59804c0c41bbd
Content-Type: text/plain; charset=ISO-8859-1

Changes in v2:
  - Create a new function to clear \r\n and write to syslog
  - Remove tmp buffer

Introduce a new option (-s/--syslog) to make xenconsoled log into syslog.
The default behaviour remains the same (log into plain files)

From: Eric Chanudet <eric.chanudet@citrix.com>
Signed-off-by: Jean Guyader <jean.guyader@gmail.com>

--bcaec501c52c50c59804c0c41bbd
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Changes in v2:<br>=A0 - Create a new function to clear \r\n and write to sy=
slog<br>=A0 - Remove tmp buffer<br><br>Introduce a new option (-s/--<span c=
lass=3D"il">syslog</span>) to make <span class=3D"il">xenconsoled</span> lo=
g into <span class=3D"il">syslog</span>.<br>


The default behaviour remains the same (log into plain files)<br>
<br>
From: Eric Chanudet &lt;<a href=3D"mailto:eric.chanudet@citrix.com">eric.ch=
anudet@citrix.com</a>&gt;<br>
Signed-off-by: Jean Guyader &lt;<a href=3D"mailto:jean.guyader@gmail.com">j=
ean.guyader@gmail.com</a>&gt;

--bcaec501c52c50c59804c0c41bbd--
--bcaec501c52c50c5a504c0c41bbf
Content-Type: text/x-patch; charset=US-ASCII; name="xenconsoled-syslog.patch"
Content-Disposition: attachment; filename="xenconsoled-syslog.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2lkghzp0

ZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgYi90b29scy9jb25zb2xlL2Rh
ZW1vbi9pby5jCmluZGV4IGI2ZDQxZGUuLjgyYWQyYmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2NvbnNv
bGUvZGFlbW9uL2lvLmMKKysrIGIvdG9vbHMvY29uc29sZS9kYWVtb24vaW8uYwpAQCAtNjIsNiAr
NjIsNyBAQCBleHRlcm4gaW50IGxvZ190aW1lX2h2OwogZXh0ZXJuIGludCBsb2dfdGltZV9ndWVz
dDsKIGV4dGVybiBjaGFyICpsb2dfZGlyOwogZXh0ZXJuIGludCBkaXNjYXJkX292ZXJmbG93ZWRf
ZGF0YTsKK2V4dGVybiBpbnQgdXNlX3N5c2xvZzsKIAogc3RhdGljIGludCBsb2dfdGltZV9odl9u
ZWVkdHMgPSAxOwogc3RhdGljIGludCBsb2dfdGltZV9ndWVzdF9uZWVkdHMgPSAxOwpAQCAtODAs
NiArODEsNyBAQCBzdHJ1Y3QgYnVmZmVyIHsKIAogc3RydWN0IGRvbWFpbiB7CiAJaW50IGRvbWlk
OworCWNoYXIgKm5hbWU7CiAJaW50IG1hc3Rlcl9mZDsKIAlpbnQgc2xhdmVfZmQ7CiAJaW50IGxv
Z19mZDsKQEAgLTExMyw2ICsxMTUsMzYgQEAgc3RhdGljIGludCB3cml0ZV9hbGwoaW50IGZkLCBj
b25zdCBjaGFyKiBidWYsIHNpemVfdCBsZW4pCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lk
IHdyaXRlX3N5c2xvZyhzdHJ1Y3QgZG9tYWluICpkb20sIGNvbnN0IGNoYXIgKmRhdGEsIHNpemVf
dCBzeikKK3sKKwljaGFyICpidWZmID0gTlVMTDsKKyAgICAgICAgY29uc3QgY2hhciAqc3RhcnQs
ICpwOworICAgICAgICBpbnQgaSA9IDA7CisKKwlzdGFydCA9IHAgPSBkYXRhOworICAgICAgICBm
b3IgKGkgPSAwOyBpIDwgc3o7IGkrKywgcCsrKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
KnAgPT0gJ1xyJyB8fCAqcCA9PSAnXG4nKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IGJ1ZmYgPSByZWFsbG9jKGJ1ZmYsIHAgLSBzdGFydCArIDEpOworCisgICAgICAgICAgICAgICAg
bWVtY3B5KGJ1ZmYsIHN0YXJ0LCBwIC0gc3RhcnQpOworICAgICAgICAgICAgICAgIGJ1ZmZbcCAt
IHN0YXJ0XSA9IDA7CisKKyAgICAgICAgICAgICAgICBpZiAoYnVmZlswXSA9PSAwIHx8IGJ1ZmZb
MF0gPT0gJ1xuJykKKyAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0OworCisgICAgICAgICAg
ICAgICAgaWYgKGRvbSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHN5c2xvZyhMT0df
SU5GTywgImh5cGVydmlzb3I6ICVzIiwgYnVmZik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgc3lzbG9nKExPR19JTkZPLCAiZ3Vlc3QtJXMgKCVpKTogJXMi
LCBkb20tPm5hbWUsIGRvbS0+ZG9taWQsIGJ1ZmYpOworICAgICAgICAgICAgICAgIH0KK25leHQ6
CisgICAgICAgICAgICAgICAgc3RhcnQgPSBwICsgMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorfQorCiBzdGF0aWMgaW50IHdyaXRlX3dpdGhfdGltZXN0YW1wKGludCBmZCwgY29uc3QgY2hh
ciAqZGF0YSwgc2l6ZV90IHN6LAogCQkJCWludCAqbmVlZHRzKQogewpAQCAtMTUyLDggKzE4NCw4
IEBAIHN0YXRpYyB2b2lkIGJ1ZmZlcl9hcHBlbmQoc3RydWN0IGRvbWFpbiAqZG9tKQogCiAJY29u
cyA9IGludGYtPm91dF9jb25zOwogCXByb2QgPSBpbnRmLT5vdXRfcHJvZDsKLQl4ZW5fbWIoKTsK
IAorCXhlbl9tYigpOwogCXNpemUgPSBwcm9kIC0gY29uczsKIAlpZiAoKHNpemUgPT0gMCkgfHwg
KHNpemUgPiBzaXplb2YoaW50Zi0+b3V0KSkpCiAJCXJldHVybjsKQEAgLTE5Niw2ICsyMjgsOCBA
QCBzdGF0aWMgdm9pZCBidWZmZXJfYXBwZW5kKHN0cnVjdCBkb21haW4gKmRvbSkKIAkJCWRvbG9n
KExPR19FUlIsICJXcml0ZSB0byBsb2cgZmFpbGVkICIKIAkJCSAgICAgICJvbiBkb21haW4gJWQ6
ICVkICglcylcbiIsCiAJCQkgICAgICBkb20tPmRvbWlkLCBlcnJubywgc3RyZXJyb3IoZXJybm8p
KTsKKwl9IGVsc2UgaWYgKHVzZV9zeXNsb2cpIHsKKwkJd3JpdGVfc3lzbG9nKGRvbSwgYnVmZmVy
LT5kYXRhICsgYnVmZmVyLT5zaXplIC0gc2l6ZSwgc2l6ZSk7CiAJfQogCiAJaWYgKGRpc2NhcmRf
b3ZlcmZsb3dlZF9kYXRhICYmIGJ1ZmZlci0+bWF4X2NhcGFjaXR5ICYmCkBAIC0yOTMsMTQgKzMy
NywxNCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9kb21haW5fbG9nKHN0cnVjdCBkb21haW4gKmRvbSkK
IAlkYXRhID0geHNfcmVhZCh4cywgWEJUX05VTEwsIG5hbWVwYXRoLCAmbGVuKTsKIAlmcmVlKG5h
bWVwYXRoKTsKIAlpZiAoIWRhdGEpCi0JCXJldHVybiAtMTsKKwkJZ290byBvdXQ7CiAJaWYgKCFs
ZW4pIHsKIAkJZnJlZShkYXRhKTsKLQkJcmV0dXJuIC0xOworCQlnb3RvIG91dDsKIAl9CiAKKwlk
b20tPm5hbWUgPSBkYXRhOwogCXNucHJpbnRmKGxvZ2ZpbGUsIFBBVEhfTUFYLTEsICIlcy9ndWVz
dC0lcy5sb2ciLCBsb2dfZGlyLCBkYXRhKTsKLQlmcmVlKGRhdGEpOwogCWxvZ2ZpbGVbUEFUSF9N
QVgtMV0gPSAnXDAnOwogCiAJZmQgPSBvcGVuKGxvZ2ZpbGUsIE9fV1JPTkxZfE9fQ1JFQVR8T19B
UFBFTkQsIDA2NDQpOwpAQCAtMzE4LDYgKzM1Miw5IEBAIHN0YXRpYyBpbnQgY3JlYXRlX2RvbWFp
bl9sb2coc3RydWN0IGRvbWFpbiAqZG9tKQogCQl9CiAJfQogCXJldHVybiBmZDsKK291dDoKKyAg
ICAgICAgZG9tLT5uYW1lID0gc3RyZHVwKCJ1bmFtZWQiKTsKKyAgICAgICAgcmV0dXJuIC0xOwog
fQogCiBzdGF0aWMgdm9pZCBkb21haW5fY2xvc2VfdHR5KHN0cnVjdCBkb21haW4gKmRvbSkKQEAg
LTY1Niw2ICs2OTMsNyBAQCBzdGF0aWMgc3RydWN0IGRvbWFpbiAqY3JlYXRlX2RvbWFpbihpbnQg
ZG9taWQpCiAJZG9tLT5yZW1vdGVfcG9ydCA9IC0xOwogCWRvbS0+aW50ZXJmYWNlID0gTlVMTDsK
IAlkb20tPnhjZV9oYW5kbGUgPSBOVUxMOworCWRvbS0+bmFtZSA9IE5VTEw7CiAKIAlpZiAoIXdh
dGNoX2RvbWFpbihkb20sIHRydWUpKQogCQlnb3RvIG91dDsKQEAgLTcxMiw2ICs3NTAsMTEgQEAg
c3RhdGljIHZvaWQgY2xlYW51cF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkKIAlmcmVlKGQtPmNv
bnNwYXRoKTsKIAlkLT5jb25zcGF0aCA9IE5VTEw7CiAKKyAgICAgICAgaWYgKGQtPm5hbWUpIHsK
KwkgICAgZnJlZShkLT5uYW1lKTsKKwkgICAgZC0+bmFtZSA9IE5VTEw7CisgICAgICAgIH0KKwog
CXJlbW92ZV9kb21haW4oZCk7CiB9CiAKQEAgLTg4OCwxNyArOTMxLDIzIEBAIHN0YXRpYyB2b2lk
IGhhbmRsZV9odl9sb2dzKHZvaWQpCiAJCXJldHVybjsKIAogCWlmICh4Y19yZWFkY29uc29sZXJp
bmcoeGNoLCBidWZwdHIsICZzaXplLCAwLCAxLCAmaW5kZXgpID09IDAgJiYgc2l6ZSA+IDApIHsK
LQkJaW50IGxvZ3JldDsKLQkJaWYgKGxvZ190aW1lX2h2KQotCQkJbG9ncmV0ID0gd3JpdGVfd2l0
aF90aW1lc3RhbXAobG9nX2h2X2ZkLCBidWZmZXIsIHNpemUsCi0JCQkJCQkgICAgICAmbG9nX3Rp
bWVfaHZfbmVlZHRzKTsKLQkJZWxzZQotCQkJbG9ncmV0ID0gd3JpdGVfYWxsKGxvZ19odl9mZCwg
YnVmZmVyLCBzaXplKTsKKwkJaWYgKGxvZ19odl9mZCAhPSAtMSkgeworCQkJaW50IGxvZ3JldDsK
KwkJCWlmIChsb2dfdGltZV9odikKKwkJCQlsb2dyZXQgPSB3cml0ZV93aXRoX3RpbWVzdGFtcChs
b2dfaHZfZmQsIGJ1ZmZlciwgc2l6ZSwKKwkJCQkJCQkgICAgICAmbG9nX3RpbWVfaHZfbmVlZHRz
KTsKKwkJCWVsc2UKKwkJCQlsb2dyZXQgPSB3cml0ZV9hbGwobG9nX2h2X2ZkLCBidWZmZXIsIHNp
emUpOworCisJCQlpZiAobG9ncmV0IDwgMCkKKwkJCQlkb2xvZyhMT0dfRVJSLCAiRmFpbGVkIHRv
IHdyaXRlIGh5cGVydmlzb3IgbG9nOiAiCisJCQkJCSAgICAgICAiJWQgKCVzKSIsIGVycm5vLCBz
dHJlcnJvcihlcnJubykpOworCQl9CiAKLQkJaWYgKGxvZ3JldCA8IDApCi0JCQlkb2xvZyhMT0df
RVJSLCAiRmFpbGVkIHRvIHdyaXRlIGh5cGVydmlzb3IgbG9nOiAiCi0JCQkJICAgICAgICIlZCAo
JXMpIiwgZXJybm8sIHN0cmVycm9yKGVycm5vKSk7Ci0JfQorCQlpZiAodXNlX3N5c2xvZykKKwkJ
CXdyaXRlX3N5c2xvZyhOVUxMLCBidWZmZXIsIHNpemUpOworCisgICAgICAgIH0KIAogCSh2b2lk
KXhjX2V2dGNobl91bm1hc2soeGNlX2hhbmRsZSwgcG9ydCk7CiB9CkBAIC05NDAsOCArOTg5LDYg
QEAgdm9pZCBoYW5kbGVfaW8odm9pZCkKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWxvZ19odl9mZCA9
IGNyZWF0ZV9odl9sb2coKTsKLQkJaWYgKGxvZ19odl9mZCA9PSAtMSkKLQkJCWdvdG8gb3V0Owog
CQlsb2dfaHZfZXZ0Y2huID0geGNfZXZ0Y2huX2JpbmRfdmlycSh4Y2VfaGFuZGxlLCBWSVJRX0NP
Tl9SSU5HKTsKIAkJaWYgKGxvZ19odl9ldnRjaG4gPT0gLTEpIHsKIAkJCWRvbG9nKExPR19FUlIs
ICJGYWlsZWQgdG8gYmluZCB0byBWSVJRX0NPTl9SSU5HOiAiCmRpZmYgLS1naXQgYS90b29scy9j
b25zb2xlL2RhZW1vbi9tYWluLmMgYi90b29scy9jb25zb2xlL2RhZW1vbi9tYWluLmMKaW5kZXgg
Nzg5YmFhNi4uMmM3ZTI2NyAxMDA2NDQKLS0tIGEvdG9vbHMvY29uc29sZS9kYWVtb24vbWFpbi5j
CisrKyBiL3Rvb2xzL2NvbnNvbGUvZGFlbW9uL21haW4uYwpAQCAtMzksNiArMzksNyBAQCBpbnQg
bG9nX3RpbWVfaHYgPSAwOwogaW50IGxvZ190aW1lX2d1ZXN0ID0gMDsKIGNoYXIgKmxvZ19kaXIg
PSBOVUxMOwogaW50IGRpc2NhcmRfb3ZlcmZsb3dlZF9kYXRhID0gMTsKK2ludCB1c2Vfc3lzbG9n
ID0gMDsKIAogc3RhdGljIHZvaWQgaGFuZGxlX2h1cChpbnQgc2lnKQogewpAQCAtNDcsNyArNDgs
NyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfaHVwKGludCBzaWcpCiAKIHN0YXRpYyB2b2lkIHVzYWdl
KGNoYXIgKm5hbWUpCiB7Ci0JcHJpbnRmKCJVc2FnZTogJXMgWy1oXSBbLVZdIFstdl0gWy1pXSBb
LS1sb2c9bm9uZXxndWVzdHxodnxhbGxdIFstLWxvZy1kaXI9RElSXSBbLS1waWQtZmlsZT1QQVRI
XSBbLXQsIC0tdGltZXN0YW1wPW5vbmV8Z3Vlc3R8aHZ8YWxsXSBbLW8sIC0tb3ZlcmZsb3ctZGF0
YT1kaXNjYXJkfGtlZXBdXG4iLCBuYW1lKTsKKwlwcmludGYoIlVzYWdlOiAlcyBbLWhdIFstVl0g
Wy12XSBbLWldIFstLWxvZz1ub25lfGd1ZXN0fGh2fGFsbF0gWy0tc3lzbG9nXSBbLS1sb2ctZGly
PURJUl0gWy0tcGlkLWZpbGU9UEFUSF0gWy10LCAtLXRpbWVzdGFtcD1ub25lfGd1ZXN0fGh2fGFs
bF0gWy1vLCAtLW92ZXJmbG93LWRhdGE9ZGlzY2FyZHxrZWVwXVxuIiwgbmFtZSk7CiB9CiAKIHN0
YXRpYyB2b2lkIHZlcnNpb24oY2hhciAqbmFtZSkKQEAgLTY4LDYgKzY5LDcgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQl7ICJwaWQtZmlsZSIsIDEsIDAsICdwJyB9LAogCQl7
ICJ0aW1lc3RhbXAiLCAxLCAwLCAndCcgfSwKIAkJeyAib3ZlcmZsb3ctZGF0YSIsIDEsIDAsICdv
J30sCisJCXsgInN5c2xvZyIsIDAsIDAsICdzJyB9LAogCQl7IDAgfSwKIAl9OwogCWJvb2wgaXNf
aW50ZXJhY3RpdmUgPSBmYWxzZTsKQEAgLTEwNiw2ICsxMDgsOSBAQCBpbnQgbWFpbihpbnQgYXJn
YywgY2hhciAqKmFyZ3YpCiAJCQkgICAgICBsb2dfZ3Vlc3QgPSAxOwogCQkJfQogCQkJYnJlYWs7
CisJCWNhc2UgJ3MnOgorICAgICAgICAgICAgICAgICAgICAgICAgdXNlX3N5c2xvZyA9IDE7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKIAkJY2FzZSAncic6CiAJCSAgICAgICAgbG9n
X2RpciA9IHN0cmR1cChvcHRhcmcpOwogCQkJYnJlYWs7Cg==
--bcaec501c52c50c5a504c0c41bbf
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--bcaec501c52c50c5a504c0c41bbf--


From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmJ-0005KK-81; Thu, 24 May 2012 08:52:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmI-0005JR-ED
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:14 +0000
Received: from [85.158.139.83:46694] by server-11.bemta-5.messagelabs.com id
	D5/0D-12711-DB6FDBF4; Thu, 24 May 2012 08:52:13 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337849531!26213280!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30614 invoked from network); 24 May 2012 08:52:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598322"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-Dt;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:05 +0100
Message-ID: <1337849526-8987-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 09/10] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Changes since v2:

 * Change libxl__nic_type to return the value in a parameter passed by
   the caller.

 * Rename vif_execute to num_exec, to represent the number of times
   hotplug scripts have been called for that device.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   46 ++++++++++++++++-
 tools/libxl/libxl_internal.h          |    6 ++-
 tools/libxl/libxl_linux.c             |   92 +++++++++++++++++++++++++++++++-
 4 files changed, 142 insertions(+), 8 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 8e1ec0f..5c840f8 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,29 @@ out:
     return numdevs;
 }
 
+int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype)
+{
+    char *snictype, *be_path;
+    int rc = 0;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = libxl_nic_type_from_string(snictype, nictype);
+    if (rc) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        goto out;
+    }
+
+out:
+    return rc;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -723,7 +746,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->num_exec);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -789,6 +813,8 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
 {
     libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
     STATE_AO_GC(aodev->ao);
+    libxl_nic_type nictype;
+    int rc;
 
     libxl__ev_time_deregister(gc, &aodev->ev);
 
@@ -797,7 +823,25 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        aodev->num_exec == 0) {
+        rc = libxl__nic_type(gc, aodev->dev, &nictype);
+        if (rc) {
+            LOG(ERROR, "unable to get type of nic device");
+            aodev->rc = rc;
+            goto out;
+        }
+        if (nictype == LIBXL_NIC_TYPE_IOEMU) {
+            aodev->num_exec++;
+            device_hotplug(egc, aodev);
+            return;
+        }
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 7ef6b4b..84a85bf 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -800,6 +800,8 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden int libxl__nic_type(libxl__gc *gc, libxl__device *dev,
+                            libxl_nic_type *nictype);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1806,6 +1808,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int num_exec;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1848,7 +1851,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int num_exec);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 98cd25f..e1e2abe 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -34,7 +34,8 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     char *script;
     const char *type = libxl__device_kind_to_string(dev->backend_kind);
     char **env;
-    int nr = 0, arraysize = 9;
+    int nr = 0, arraysize = 13;
+    libxl_nic_type nictype;
 
     script = libxl__xs_read(gc, XBT_NULL,
                             GCSPRINTF("%s/%s", be_path, "script"));
@@ -52,14 +53,94 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        if (libxl__nic_type(gc, dev, &nictype)) {
+            LOG(ERROR, "unable to get nictype");
+            return NULL;
+        }
+        switch (nictype) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
-    assert(nr == arraysize);
+    assert(nr <= arraysize);
 
     return env;
 }
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int num_exec)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 4;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl__nic_type(gc, dev, &nictype);
+    if (rc) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (num_exec == 0) goto execute_vif;
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+        break;
+    default:
+        /* Unknown network type */
+        LOG(ERROR, "unknown network card type %s", be_path);
+        return 0;
+    }
+    assert(nr == arraysize);
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -96,7 +177,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -112,6 +194,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, num_exec);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmL-0005Le-KO; Thu, 24 May 2012 08:52:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmJ-0005KL-P5
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:16 +0000
Received: from [85.158.139.83:46907] by server-7.bemta-5.messagelabs.com id
	62/F0-15932-FB6FDBF4; Thu, 24 May 2012 08:52:15 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337849531!26213280!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30677 invoked from network); 24 May 2012 08:52:13 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598324"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-6L;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:59 +0100
Message-ID: <1337849526-8987-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 03/10] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Changes since v2:

 * Remove printfs.

 * Replace aorm with aodev.

 * Define an auxiliary libxl__ao_device *aodev to avoid using the long
   expression: drs->aorm[numdev]...

 * Added a common callback for both domain and stubdomain destruction
   that checks if both domains are finished and handles errors
   correctly.

 * Change libxl__ao_device_check_last logic a bit and add a comment
   describing how does it work.

 * Fixed spelling mistakes.

 * Use a do-while for xs transaction in device_remove_callback.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  258 ++++++++++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   29 ++++-
 tools/libxl/libxl_device.c   |  149 ++++++++++++++++++++++---
 tools/libxl/libxl_dm.c       |   85 +++++++-------
 tools/libxl/libxl_internal.h |   95 +++++++++++++++-
 tools/libxl/xl_cmdimpl.c     |   12 +-
 7 files changed, 512 insertions(+), 119 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 43fe276..75622c2 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1070,11 +1070,133 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        dds->stubdom.force = 1;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    dds->domain.force = 1;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    destroy_finish_check(egc, dds);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->domain_finished = 1;
+    destroy_finish_check(egc, dds);
+}
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds)
+{
+    if (!(dds->domain_finished && dds->stubdom_finished))
+        return;
+
+    dds->callback(egc, dds, dds->rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1085,7 +1207,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1118,7 +1240,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = dis->force;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1141,9 +1293,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1291,36 +1444,6 @@ out:
 
 /******************************************************************************/
 
-/* Macro for defining device remove/destroy functions in a compact way */
-#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
-    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
-        uint32_t domid, libxl_device_##type *type,                      \
-        const libxl_asyncop_how *ao_how)                                \
-    {                                                                   \
-        AO_CREATE(ctx, domid, ao_how);                                  \
-        libxl__device *device;                                          \
-        libxl__ao_device *aodev;                                        \
-        int rc;                                                         \
-                                                                        \
-        GCNEW(device);                                                  \
-        rc = libxl__device_from_##type(gc, domid, type, device);        \
-        if (rc != 0) goto out;                                          \
-                                                                        \
-        GCNEW(aodev);                                                   \
-        libxl__prepare_ao_device(aodev, ao, NULL);                      \
-        aodev->action = DEVICE_DISCONNECT;                              \
-        aodev->dev = device;                                            \
-        aodev->callback = device_addrm_aocomplete;                      \
-        aodev->force = f;                                               \
-        libxl__initiate_device_remove(egc, aodev);                      \
-                                                                        \
-    out:                                                                \
-        if (rc) return AO_ABORT(rc);                                    \
-        return AO_INPROGRESS;                                           \
-    }
-
-/******************************************************************************/
-
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1490,10 +1613,6 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(disk, remove, 0)
-
-DEFINE_DEVICE_REMOVE(disk, destroy, 1)
-
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
                                           libxl_device_disk *disk)
@@ -1936,10 +2055,6 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(nic, remove, 0)
-
-DEFINE_DEVICE_REMOVE(nic, destroy, 1)
-
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
                                          libxl_device_nic *nic)
@@ -2266,10 +2381,6 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(vkb, remove, 0)
-
-DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
-
 /******************************************************************************/
 
 int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
@@ -2367,10 +2478,57 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(vfb, remove, 0)
+/******************************************************************************/
 
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/* Define all remove/destroy functions and undef the macro */
+
+/* disk */
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
+
+/* nic */
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
+
+/* vkb */
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
+
+/* vfb */
+
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
 DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
 
+#undef DEFINE_DEVICE_REMOVE
+
 /******************************************************************************/
 
 int libxl_domain_setmaxmem(libxl_ctx *ctx, uint32_t domid, uint32_t max_memkb)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c3115a9..39a8c58 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..4e88551 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +854,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, ERROR_FAIL, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 48f05f9..413b98f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
     aodev->base = base;
 }
 
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num)
+{
+    int i, pending = 0, error = 0;
+
+    device->active = 0;
+    for (i = 0; i < num; i++) {
+        if (list[i].active)
+            pending++;
+
+        if (list[i].rc)
+            error = list[i].rc;
+    }
+
+    return pending == 0 ? error : 1;
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -381,16 +440,35 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
+    libxl__ao_device *aodev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aodev, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__prepare_ao_device(&drs->aodev[i], drs->ao, &drs->aodev);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -413,12 +491,18 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                aodev = &drs->aodev[numdev];
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                aodev->action = DEVICE_DISCONNECT;
+                aodev->dev = dev;
+                aodev->callback = device_remove_callback;
+                aodev->force = drs->force;
+                libxl__initiate_device_remove(egc, aodev);
+                numdev++;
             }
         }
     }
@@ -426,17 +510,19 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -549,6 +635,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aodev->base, *drs, aodev);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aodev->dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
+
+    if (aodev->action == DEVICE_DISCONNECT) {
+        do {
+            t = xs_transaction_start(CTX->xsh);
+            libxl__xs_path_cleanup(gc, t, fe_path);
+            libxl__xs_path_cleanup(gc, t, be_path);
+            rc = !xs_transaction_end(CTX->xsh, t, 0);
+        } while (rc && errno == EAGAIN);
+
+        if (rc) {
+            LOGE(ERROR, "unable to finish transaction");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aodev, drs->aodev,
+                                     drs->num_devices);
+    if (rc > 0) return;
+
+    drs->callback(egc, drs, rc);
+    return;
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 95fd0ac..6604549 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -891,12 +895,32 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.force = 1;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1089,48 +1113,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e97d53f..4ac79d3 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -796,7 +796,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1776,6 +1775,16 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                                       libxl__ao_device **base);
 
+/* Check if there are devices that have pending events in the array
+ * pointed to by the "list" parameter. Return values can be:
+ * < 0: All done, but error(s) found.
+ * 0: All done
+ * > 0: Not all done
+ * The passed libxl__ao_device struct in "device" is marked as finished.
+ */
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1799,6 +1808,87 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been split into two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, which detects
+ * stubdoms and calls libxl__destroy_domid on the domain and its
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private */
+    libxl__ao_device *aodev;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    int rc;
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1832,6 +1922,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1858,6 +1949,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..3c02b69 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1333,7 +1333,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1899,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2390,7 +2390,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2664,7 +2664,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2896,7 +2896,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3014,7 +3014,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmL-0005Le-KO; Thu, 24 May 2012 08:52:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmJ-0005KL-P5
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:16 +0000
Received: from [85.158.139.83:46907] by server-7.bemta-5.messagelabs.com id
	62/F0-15932-FB6FDBF4; Thu, 24 May 2012 08:52:15 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337849531!26213280!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30677 invoked from network); 24 May 2012 08:52:13 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598324"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-6L;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:59 +0100
Message-ID: <1337849526-8987-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 03/10] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Changes since v2:

 * Remove printfs.

 * Replace aorm with aodev.

 * Define an auxiliary libxl__ao_device *aodev to avoid using the long
   expression: drs->aorm[numdev]...

 * Added a common callback for both domain and stubdomain destruction
   that checks if both domains are finished and handles errors
   correctly.

 * Change libxl__ao_device_check_last logic a bit and add a comment
   describing how does it work.

 * Fixed spelling mistakes.

 * Use a do-while for xs transaction in device_remove_callback.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  258 ++++++++++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   29 ++++-
 tools/libxl/libxl_device.c   |  149 ++++++++++++++++++++++---
 tools/libxl/libxl_dm.c       |   85 +++++++-------
 tools/libxl/libxl_internal.h |   95 +++++++++++++++-
 tools/libxl/xl_cmdimpl.c     |   12 +-
 7 files changed, 512 insertions(+), 119 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 43fe276..75622c2 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1070,11 +1070,133 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        dds->stubdom.force = 1;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    dds->domain.force = 1;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    destroy_finish_check(egc, dds);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->domain_finished = 1;
+    destroy_finish_check(egc, dds);
+}
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds)
+{
+    if (!(dds->domain_finished && dds->stubdom_finished))
+        return;
+
+    dds->callback(egc, dds, dds->rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1085,7 +1207,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1118,7 +1240,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = dis->force;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1141,9 +1293,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
@@ -1291,36 +1444,6 @@ out:
 
 /******************************************************************************/
 
-/* Macro for defining device remove/destroy functions in a compact way */
-#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
-    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
-        uint32_t domid, libxl_device_##type *type,                      \
-        const libxl_asyncop_how *ao_how)                                \
-    {                                                                   \
-        AO_CREATE(ctx, domid, ao_how);                                  \
-        libxl__device *device;                                          \
-        libxl__ao_device *aodev;                                        \
-        int rc;                                                         \
-                                                                        \
-        GCNEW(device);                                                  \
-        rc = libxl__device_from_##type(gc, domid, type, device);        \
-        if (rc != 0) goto out;                                          \
-                                                                        \
-        GCNEW(aodev);                                                   \
-        libxl__prepare_ao_device(aodev, ao, NULL);                      \
-        aodev->action = DEVICE_DISCONNECT;                              \
-        aodev->dev = device;                                            \
-        aodev->callback = device_addrm_aocomplete;                      \
-        aodev->force = f;                                               \
-        libxl__initiate_device_remove(egc, aodev);                      \
-                                                                        \
-    out:                                                                \
-        if (rc) return AO_ABORT(rc);                                    \
-        return AO_INPROGRESS;                                           \
-    }
-
-/******************************************************************************/
-
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1490,10 +1613,6 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(disk, remove, 0)
-
-DEFINE_DEVICE_REMOVE(disk, destroy, 1)
-
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
                                           libxl_device_disk *disk)
@@ -1936,10 +2055,6 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(nic, remove, 0)
-
-DEFINE_DEVICE_REMOVE(nic, destroy, 1)
-
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
                                          libxl_device_nic *nic)
@@ -2266,10 +2381,6 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(vkb, remove, 0)
-
-DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
-
 /******************************************************************************/
 
 int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
@@ -2367,10 +2478,57 @@ out:
     return rc;
 }
 
-DEFINE_DEVICE_REMOVE(vfb, remove, 0)
+/******************************************************************************/
 
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/* Define all remove/destroy functions and undef the macro */
+
+/* disk */
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
+
+/* nic */
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
+
+/* vkb */
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
+
+/* vfb */
+
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
 DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
 
+#undef DEFINE_DEVICE_REMOVE
+
 /******************************************************************************/
 
 int libxl_domain_setmaxmem(libxl_ctx *ctx, uint32_t domid, uint32_t max_memkb)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c3115a9..39a8c58 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -530,7 +530,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..4e88551 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +854,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, ERROR_FAIL, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 48f05f9..413b98f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
     aodev->base = base;
 }
 
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num)
+{
+    int i, pending = 0, error = 0;
+
+    device->active = 0;
+    for (i = 0; i < num; i++) {
+        if (list[i].active)
+            pending++;
+
+        if (list[i].rc)
+            error = list[i].rc;
+    }
+
+    return pending == 0 ? error : 1;
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -381,16 +440,35 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
+    libxl__ao_device *aodev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aodev, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__prepare_ao_device(&drs->aodev[i], drs->ao, &drs->aodev);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -413,12 +491,18 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                aodev = &drs->aodev[numdev];
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                aodev->action = DEVICE_DISCONNECT;
+                aodev->dev = dev;
+                aodev->callback = device_remove_callback;
+                aodev->force = drs->force;
+                libxl__initiate_device_remove(egc, aodev);
+                numdev++;
             }
         }
     }
@@ -426,17 +510,19 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -549,6 +635,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aodev->base, *drs, aodev);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aodev->dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
+
+    if (aodev->action == DEVICE_DISCONNECT) {
+        do {
+            t = xs_transaction_start(CTX->xsh);
+            libxl__xs_path_cleanup(gc, t, fe_path);
+            libxl__xs_path_cleanup(gc, t, be_path);
+            rc = !xs_transaction_end(CTX->xsh, t, 0);
+        } while (rc && errno == EAGAIN);
+
+        if (rc) {
+            LOGE(ERROR, "unable to finish transaction");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aodev, drs->aodev,
+                                     drs->num_devices);
+    if (rc > 0) return;
+
+    drs->callback(egc, drs, rc);
+    return;
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 95fd0ac..6604549 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -891,12 +895,32 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.force = 1;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1089,48 +1113,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e97d53f..4ac79d3 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -796,7 +796,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1776,6 +1775,16 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                                       libxl__ao_device **base);
 
+/* Check if there are devices that have pending events in the array
+ * pointed to by the "list" parameter. Return values can be:
+ * < 0: All done, but error(s) found.
+ * 0: All done
+ * > 0: Not all done
+ * The passed libxl__ao_device struct in "device" is marked as finished.
+ */
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1799,6 +1808,87 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been split into two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, which detects
+ * stubdoms and calls libxl__destroy_domid on the domain and its
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private */
+    libxl__ao_device *aodev;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    int rc;
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1832,6 +1922,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1858,6 +1949,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index efaf3de..3c02b69 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1333,7 +1333,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1899,7 +1899,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2390,7 +2390,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2664,7 +2664,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -2896,7 +2896,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3014,7 +3014,7 @@ static void migrate_receive(int debug, int daemonize, int monitor)
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmJ-0005KK-81; Thu, 24 May 2012 08:52:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmI-0005JR-ED
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:14 +0000
Received: from [85.158.139.83:46694] by server-11.bemta-5.messagelabs.com id
	D5/0D-12711-DB6FDBF4; Thu, 24 May 2012 08:52:13 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337849531!26213280!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU0MzU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30614 invoked from network); 24 May 2012 08:52:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598322"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-Dt;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:05 +0100
Message-ID: <1337849526-8987-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 09/10] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Changes since v2:

 * Change libxl__nic_type to return the value in a parameter passed by
   the caller.

 * Rename vif_execute to num_exec, to represent the number of times
   hotplug scripts have been called for that device.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   46 ++++++++++++++++-
 tools/libxl/libxl_internal.h          |    6 ++-
 tools/libxl/libxl_linux.c             |   92 +++++++++++++++++++++++++++++++-
 4 files changed, 142 insertions(+), 8 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 8e1ec0f..5c840f8 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,29 @@ out:
     return numdevs;
 }
 
+int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype)
+{
+    char *snictype, *be_path;
+    int rc = 0;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = libxl_nic_type_from_string(snictype, nictype);
+    if (rc) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        goto out;
+    }
+
+out:
+    return rc;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -723,7 +746,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->num_exec);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -789,6 +813,8 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
 {
     libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
     STATE_AO_GC(aodev->ao);
+    libxl_nic_type nictype;
+    int rc;
 
     libxl__ev_time_deregister(gc, &aodev->ev);
 
@@ -797,7 +823,25 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        aodev->num_exec == 0) {
+        rc = libxl__nic_type(gc, aodev->dev, &nictype);
+        if (rc) {
+            LOG(ERROR, "unable to get type of nic device");
+            aodev->rc = rc;
+            goto out;
+        }
+        if (nictype == LIBXL_NIC_TYPE_IOEMU) {
+            aodev->num_exec++;
+            device_hotplug(egc, aodev);
+            return;
+        }
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 7ef6b4b..84a85bf 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -800,6 +800,8 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden int libxl__nic_type(libxl__gc *gc, libxl__device *dev,
+                            libxl_nic_type *nictype);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1806,6 +1808,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int num_exec;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1848,7 +1851,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int num_exec);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 98cd25f..e1e2abe 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -34,7 +34,8 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     char *script;
     const char *type = libxl__device_kind_to_string(dev->backend_kind);
     char **env;
-    int nr = 0, arraysize = 9;
+    int nr = 0, arraysize = 13;
+    libxl_nic_type nictype;
 
     script = libxl__xs_read(gc, XBT_NULL,
                             GCSPRINTF("%s/%s", be_path, "script"));
@@ -52,14 +53,94 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        if (libxl__nic_type(gc, dev, &nictype)) {
+            LOG(ERROR, "unable to get nictype");
+            return NULL;
+        }
+        switch (nictype) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
-    assert(nr == arraysize);
+    assert(nr <= arraysize);
 
     return env;
 }
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int num_exec)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 4;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl__nic_type(gc, dev, &nictype);
+    if (rc) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (num_exec == 0) goto execute_vif;
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+        break;
+    default:
+        /* Unknown network type */
+        LOG(ERROR, "unknown network card type %s", be_path);
+        return 0;
+    }
+    assert(nr == arraysize);
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -96,7 +177,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -112,6 +194,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, num_exec);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmI-0005Jp-JW; Thu, 24 May 2012 08:52:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmG-0005Iz-Le
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:13 +0000
Received: from [85.158.138.51:25863] by server-5.bemta-3.messagelabs.com id
	F2/E6-25552-BB6FDBF4; Thu, 24 May 2012 08:52:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337849529!28934256!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31532 invoked from network); 24 May 2012 08:52:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302279"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-58;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:57 +0100
Message-ID: <1337849526-8987-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 01/10] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Changes since v2:

 * Remove unnecessary comments in libxl__ao_device.

 * Change libxl__device_cb to device_addrm_aocomplete.

 * Rename aorm parameter in device_addrm_aocomplete to aodev.

 * Use a macro to define {nic,disk,vkb,vfb}_{remove,destroy}
   functions.

 * Rename libxl__init_ao_device to libxl__prepare_ao_device and add a
   comment explaining why we need to set active to 1.

 * Replace al uses of aorm with aodev.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  194 +++++++++++++-----------------------------
 tools/libxl/libxl.h          |   15 +++-
 tools/libxl/libxl_device.c   |  113 ++++++++++++++++--------
 tools/libxl/libxl_internal.h |   49 +++++++++--
 4 files changed, 186 insertions(+), 185 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2a09192..43fe276 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1271,6 +1271,56 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void device_addrm_aocomplete(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+
+    if (aodev->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aodev->rc);
+    return;
+}
+
+/******************************************************************************/
+
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1440,41 +1490,9 @@ out:
     return rc;
 }
 
-int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
-                             libxl_device_disk *disk,
-                             const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
 
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
@@ -1918,41 +1936,9 @@ out:
     return rc;
 }
 
-int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_nic *nic,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
 
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
@@ -2280,41 +2266,9 @@ out:
     return rc;
 }
 
-int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vkb *vkb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
 
 /******************************************************************************/
 
@@ -2413,41 +2367,9 @@ out:
     return rc;
 }
 
-int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vfb *vfb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
 
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
 
 /******************************************************************************/
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..c3115a9 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -667,7 +667,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -691,7 +692,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -702,14 +705,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..48f05f9 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                              libxl__ao_device **base)
+{
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,35 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aodev);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aodev)
 {
-    AO_GC;
+    STATE_AO_GC(aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aodev->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aodev->dev));
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,42 +480,73 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
+    libxl__ev_devstate_init(&aodev->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
+
+    device_backend_cleanup(gc, aodev);
+
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aodev->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    }
+
+out:
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
+{
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae5527b..aa439f2 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -827,13 +827,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1802,6 +1795,48 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+/* This functions sets the necessary libxl__ao_device struct values to use
+ * safely inside functions. It marks the operation as "active"
+ * since we need to be sure that all device status structs are set
+ * to active before start queueing events, or we might call
+ * ao_complete before all devices had finished */
+_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                                      libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aodev);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmI-0005Jp-JW; Thu, 24 May 2012 08:52:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmG-0005Iz-Le
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:13 +0000
Received: from [85.158.138.51:25863] by server-5.bemta-3.messagelabs.com id
	F2/E6-25552-BB6FDBF4; Thu, 24 May 2012 08:52:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337849529!28934256!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31532 invoked from network); 24 May 2012 08:52:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302279"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-58;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:57 +0100
Message-ID: <1337849526-8987-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 01/10] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Changes since v2:

 * Remove unnecessary comments in libxl__ao_device.

 * Change libxl__device_cb to device_addrm_aocomplete.

 * Rename aorm parameter in device_addrm_aocomplete to aodev.

 * Use a macro to define {nic,disk,vkb,vfb}_{remove,destroy}
   functions.

 * Rename libxl__init_ao_device to libxl__prepare_ao_device and add a
   comment explaining why we need to set active to 1.

 * Replace al uses of aorm with aodev.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  194 +++++++++++++-----------------------------
 tools/libxl/libxl.h          |   15 +++-
 tools/libxl/libxl_device.c   |  113 ++++++++++++++++--------
 tools/libxl/libxl_internal.h |   49 +++++++++--
 4 files changed, 186 insertions(+), 185 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2a09192..43fe276 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1271,6 +1271,56 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void device_addrm_aocomplete(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+
+    if (aodev->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aodev->rc);
+    return;
+}
+
+/******************************************************************************/
+
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1440,41 +1490,9 @@ out:
     return rc;
 }
 
-int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
-                             libxl_device_disk *disk,
-                             const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
 
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
@@ -1918,41 +1936,9 @@ out:
     return rc;
 }
 
-int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_nic *nic,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
 
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
@@ -2280,41 +2266,9 @@ out:
     return rc;
 }
 
-int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vkb *vkb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
 
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
 
 /******************************************************************************/
 
@@ -2413,41 +2367,9 @@ out:
     return rc;
 }
 
-int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vfb *vfb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
 
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
 
 /******************************************************************************/
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 979940a..c3115a9 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -667,7 +667,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -691,7 +692,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -702,14 +705,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..48f05f9 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                              libxl__ao_device **base)
+{
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,35 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aodev);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aodev)
 {
-    AO_GC;
+    STATE_AO_GC(aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aodev->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aodev->dev));
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,42 +480,73 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
+    libxl__ev_devstate_init(&aodev->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
+
+    device_backend_cleanup(gc, aodev);
+
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aodev->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    }
+
+out:
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
+{
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae5527b..aa439f2 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -827,13 +827,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1802,6 +1795,48 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+/* This functions sets the necessary libxl__ao_device struct values to use
+ * safely inside functions. It marks the operation as "active"
+ * since we need to be sure that all device status structs are set
+ * to active before start queueing events, or we might call
+ * ao_complete before all devices had finished */
+_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                                      libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aodev);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmL-0005LJ-7E; Thu, 24 May 2012 08:52:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmJ-0005J3-AU
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:15 +0000
Received: from [85.158.143.35:36867] by server-3.bemta-4.messagelabs.com id
	00/8C-05853-EB6FDBF4; Thu, 24 May 2012 08:52:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337849527!14479340!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14170 invoked from network); 24 May 2012 08:52:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598323"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-Bs;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:04 +0100
Message-ID: <1337849526-8987-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 08/10] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v2:

 * Added array size check with assert.

 * Added NetBSD code (so compilation is not broken).

 * Removed a check for null in device_hotplug_timeout_cb.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  121 ++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h              |   20 +++++
 tools/libxl/libxl_linux.c                 |   98 +++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c                |    9 ++
 7 files changed, 266 insertions(+), 4 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1f6c221..91f9b54 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1561,6 +1561,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1576,6 +1581,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 9933cc2..8e1ec0f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
@@ -657,7 +665,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aodev->callback(egc, aodev);
+    device_hotplug(egc, aodev);
     return;
 }
 
@@ -689,6 +697,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -701,6 +712,114 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args, **env;
+    int rc = 0;
+    int hotplug;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
+                                      device_hotplug_fork_cb);
+    if (aodev->pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!aodev->pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    if (!libxl__ev_child_inuse(&aodev->child)) {
+        /* hotplug launch failed */
+        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    if (libxl__ev_child_inuse(&aodev->child)) {
+        if (kill(aodev->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aodev->what, (unsigned long)aodev->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49d4198..7ef6b4b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1802,6 +1803,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1830,6 +1836,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been split into two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..98cd25f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0, arraysize = 9;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, arraysize);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+    assert(nr == arraysize);
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 3;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+    assert(nr == arraysize);
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..0f2cdaa 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    return 0;
+}
\ No newline at end of file
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmL-0005LJ-7E; Thu, 24 May 2012 08:52:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmJ-0005J3-AU
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:15 +0000
Received: from [85.158.143.35:36867] by server-3.bemta-4.messagelabs.com id
	00/8C-05853-EB6FDBF4; Thu, 24 May 2012 08:52:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337849527!14479340!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14170 invoked from network); 24 May 2012 08:52:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598323"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-Bs;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:04 +0100
Message-ID: <1337849526-8987-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 08/10] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v2:

 * Added array size check with assert.

 * Added NetBSD code (so compilation is not broken).

 * Removed a check for null in device_hotplug_timeout_cb.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  121 ++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h              |   20 +++++
 tools/libxl/libxl_linux.c                 |   98 +++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c                |    9 ++
 7 files changed, 266 insertions(+), 4 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1f6c221..91f9b54 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1561,6 +1561,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1576,6 +1581,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 9933cc2..8e1ec0f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
@@ -657,7 +665,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aodev->callback(egc, aodev);
+    device_hotplug(egc, aodev);
     return;
 }
 
@@ -689,6 +697,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -701,6 +712,114 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args, **env;
+    int rc = 0;
+    int hotplug;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
+                                      device_hotplug_fork_cb);
+    if (aodev->pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!aodev->pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    if (!libxl__ev_child_inuse(&aodev->child)) {
+        /* hotplug launch failed */
+        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    if (libxl__ev_child_inuse(&aodev->child)) {
+        if (kill(aodev->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aodev->what, (unsigned long)aodev->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49d4198..7ef6b4b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1802,6 +1803,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1830,6 +1836,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been split into two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..98cd25f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0, arraysize = 9;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, arraysize);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+    assert(nr == arraysize);
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 3;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+    assert(nr == arraysize);
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..0f2cdaa 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    return 0;
+}
\ No newline at end of file
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmI-0005Jc-6F; Thu, 24 May 2012 08:52:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmG-0005J3-Sc
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:13 +0000
Received: from [85.158.143.35:8161] by server-3.bemta-4.messagelabs.com id
	4C/6C-05853-CB6FDBF4; Thu, 24 May 2012 08:52:12 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337849527!14479340!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13894 invoked from network); 24 May 2012 08:52:08 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598320"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-4T	for xen-devel@lists.xen.org;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:56 +0100
Message-ID: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 0/10] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Patches 1-4 from the previous series are already commited, so they are 
removed from v3.

Pending:

[PATCH v3 01/10] libxl: change libxl__ao_device_remove to
[PATCH v3 02/10] libxl: move device model creation prototypes
[PATCH v3 03/10] libxl: convert libxl_domain_destroy to an async op
[PATCH v3 04/10] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v3 05/10] libxl: convert libxl_device_nic_add to an async
[PATCH v3 06/10] libxl: add option to choose who executes hotplug
[PATCH v3 07/10] libxl: set nic type to VIF by default
[PATCH v3 08/10] libxl: call hotplug scripts for disk devices from
[PATCH v3 09/10] libxl: call hotplug scripts for nic devices from
[PATCH v3 10/10] libxl: use libxl__xs_path_cleanup on device_destroy

Changes since v2:

 * Fixed IanJ comments.

Changes since v1:

 * Removed all the unecessary code motion and code cleanup

 * Split "convert libxl_domain_destroy to an async op" into two 
   separate patches.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmI-0005Jc-6F; Thu, 24 May 2012 08:52:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmG-0005J3-Sc
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:13 +0000
Received: from [85.158.143.35:8161] by server-3.bemta-4.messagelabs.com id
	4C/6C-05853-CB6FDBF4; Thu, 24 May 2012 08:52:12 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337849527!14479340!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13894 invoked from network); 24 May 2012 08:52:08 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598320"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-4T	for xen-devel@lists.xen.org;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:56 +0100
Message-ID: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v3 0/10] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Patches 1-4 from the previous series are already commited, so they are 
removed from v3.

Pending:

[PATCH v3 01/10] libxl: change libxl__ao_device_remove to
[PATCH v3 02/10] libxl: move device model creation prototypes
[PATCH v3 03/10] libxl: convert libxl_domain_destroy to an async op
[PATCH v3 04/10] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v3 05/10] libxl: convert libxl_device_nic_add to an async
[PATCH v3 06/10] libxl: add option to choose who executes hotplug
[PATCH v3 07/10] libxl: set nic type to VIF by default
[PATCH v3 08/10] libxl: call hotplug scripts for disk devices from
[PATCH v3 09/10] libxl: call hotplug scripts for nic devices from
[PATCH v3 10/10] libxl: use libxl__xs_path_cleanup on device_destroy

Changes since v2:

 * Fixed IanJ comments.

Changes since v1:

 * Removed all the unecessary code motion and code cleanup

 * Split "convert libxl_domain_destroy to an async op" into two 
   separate patches.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmK-0005L1-Qo; Thu, 24 May 2012 08:52:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmI-0005J3-Ql
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:15 +0000
Received: from [85.158.143.35:36861] by server-3.bemta-4.messagelabs.com id
	4F/7C-05853-EB6FDBF4; Thu, 24 May 2012 08:52:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337849527!14479340!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14069 invoked from network); 24 May 2012 08:52:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598321"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-5m;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:58 +0100
Message-ID: <1337849526-8987-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 02/10] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index aa439f2..e97d53f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1067,44 +1067,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1837,6 +1799,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmK-0005L1-Qo; Thu, 24 May 2012 08:52:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmI-0005J3-Ql
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:15 +0000
Received: from [85.158.143.35:36861] by server-3.bemta-4.messagelabs.com id
	4F/7C-05853-EB6FDBF4; Thu, 24 May 2012 08:52:14 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337849527!14479340!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14069 invoked from network); 24 May 2012 08:52:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25598321"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-5m;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:51:58 +0100
Message-ID: <1337849526-8987-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 02/10] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index aa439f2..e97d53f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1067,44 +1067,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1837,6 +1799,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmG-0005Iv-1q; Thu, 24 May 2012 08:52:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmE-0005IX-JB
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:10 +0000
Received: from [193.109.254.147:58077] by server-12.bemta-14.messagelabs.com
	id 7C/A3-05898-9B6FDBF4; Thu, 24 May 2012 08:52:09 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16085 invoked from network); 24 May 2012 08:52:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302277"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-9Q;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:02 +0100
Message-ID: <1337849526-8987-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 06/10] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v2:

 * Change atoi(...) to !!atoi(...) to prevent returning negative
   values from xenstore (which will be handled as errors).

 * Check for errors on the return value of libxl__hotplug_settings.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   36 +++++++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 77 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7466498..2f92252 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,40 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (hotplug_setting < 0) {
+        LOG(ERROR, "unable to get current hotplug scripts execution setting");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..5525575 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = !!atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 1b81bfc..49d4198 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1386,6 +1387,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 46af9fb..c13c48b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmG-0005Iv-1q; Thu, 24 May 2012 08:52:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmE-0005IX-JB
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:10 +0000
Received: from [193.109.254.147:58077] by server-12.bemta-14.messagelabs.com
	id 7C/A3-05898-9B6FDBF4; Thu, 24 May 2012 08:52:09 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16085 invoked from network); 24 May 2012 08:52:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302277"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-9Q;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:02 +0100
Message-ID: <1337849526-8987-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 06/10] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v2:

 * Change atoi(...) to !!atoi(...) to prevent returning negative
   values from xenstore (which will be handled as errors).

 * Check for errors on the return value of libxl__hotplug_settings.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   36 +++++++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 77 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7466498..2f92252 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,40 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (hotplug_setting < 0) {
+        LOG(ERROR, "unable to get current hotplug scripts execution setting");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..5525575 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = !!atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 1b81bfc..49d4198 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1386,6 +1387,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 551e367..b1351de 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index d4db1f8..d992c32 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -35,6 +35,7 @@
 xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -66,6 +67,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2b6714a..43d727a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -109,6 +109,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 46af9fb..c13c48b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -562,6 +562,7 @@ static void parse_config_data(const char *configfile_filename_report,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmH-0005JJ-EJ; Thu, 24 May 2012 08:52:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmF-0005Im-F8
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:11 +0000
Received: from [193.109.254.147:20964] by server-11.bemta-14.messagelabs.com
	id 2B/8D-05858-AB6FDBF4; Thu, 24 May 2012 08:52:10 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16171 invoked from network); 24 May 2012 08:52:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302278"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-7b;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:01 +0100
Message-ID: <1337849526-8987-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 05/10] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++-----
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   70 +++++++++++++++++++++++++++++++++++++-----
 tools/libxl/libxl_device.c   |   18 +++++++++++
 tools/libxl/libxl_dm.c       |   54 ++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   11 ++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 176 insertions(+), 21 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 82af9a9..011a7fd 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1980,12 +1980,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2016,7 +2031,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2057,6 +2073,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2067,18 +2086,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c14e832..0b15586 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -691,7 +691,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index d1a4016..7466498 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -737,13 +742,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -816,7 +819,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -836,6 +838,58 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                          dcs->num_devices);
+
+    if (rc > 0) return;
+    if (rc) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(rc);
+    domcreate_complete(egc, dcs, rc);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6c9bbc2..9933cc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
     }
 }
 
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_vifs);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_vifs; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 546b185..cfc4051 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -840,9 +846,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -918,9 +926,49 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(aodev->base, *sdss, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                     sdss->num_devices);
+
+    if (rc > 0) return;
+    if (rc)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, rc);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index c4f97a4..1b81bfc 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1806,6 +1806,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aodev);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aodev);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1909,6 +1914,12 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback callback);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 69ce45a..46af9fb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4970,7 +4970,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmE-0005IZ-LW; Thu, 24 May 2012 08:52:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmD-0005IS-KH
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:09 +0000
Received: from [193.109.254.147:20772] by server-9.bemta-14.messagelabs.com id
	11/06-05787-8B6FDBF4; Thu, 24 May 2012 08:52:08 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16033 invoked from network); 24 May 2012 08:52:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302276"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-A3;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:03 +0100
Message-ID: <1337849526-8987-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 07/10] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 011a7fd..1f6c221 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1962,7 +1962,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmN-0005Mw-9c; Thu, 24 May 2012 08:52:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXTmL-0005LC-FS
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:17 +0000
Received: from [193.109.254.147:58973] by server-6.bemta-14.messagelabs.com id
	AF/D7-04960-0C6FDBF4; Thu, 24 May 2012 08:52:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337849536!3018342!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyNzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11410 invoked from network); 24 May 2012 08:52:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12643065"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 08:52:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 09:52:16 +0100
Message-ID: <1337849534.7229.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 24 May 2012 09:52:14 +0100
In-Reply-To: <1337771560.27368.69.camel@Solace>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<1337771560.27368.69.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gV2VkLCAyMDEyLTA1LTIzIGF0IDEyOjEyICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBPbiBXZWQsIDIwMTItMDUtMjMgYXQgMTA6MjYgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToK
PiA+ICMgSEcgY2hhbmdlc2V0IHBhdGNoCj4gPiAjIFVzZXIgSWFuIENhbXBiZWxsIDxpYW4uY2Ft
cGJlbGxAY2l0cml4LmNvbT4KPiA+ICMgRGF0ZSAxMzM3NzY0ODY1IC0zNjAwCj4gPiAjIE5vZGUg
SUQgYjYyMjFiY2RmOWE5MDQ1YjQ5YTJkZGQ3ODc3NjAyNzg4ZjY1N2JhZAo+ID4gIyBQYXJlbnQg
IDdkODQyODM4OGI3NzVhMGIyNmNmODhmODllYzhmOTlmNWZjOGNlMjUKPiA+IGxpYnhsOiBtYWtl
IGl0IHBvc3NpYmxlIHRvIGV4cGxpY2l0bHkgc3BlY2lmeSBkZWZhdWx0IHNjaGVkIHBhcmFtcwo+
ID4gCj4gPiBUbyBkbyBzbyB3ZSBkZWZpbmUgYSBkZXNjcmltaW5hdGluZyB2YWx1ZSB3aGljaCBp
cyBuZXZlciBhIHZhbGlkIHJlYWwgdmFsdWUgZm9yCj4gPiBlYWNoIHBhcmFtZXRlci4KPiA+IAo+
ID4gV2hpbGUgdGhlcmU6Cj4gPiAKPiA+ICAtIHJlbW92ZWQgbGlieGxfc2NoZWRfKl9kb21haW4g
aW4gZmF2b3VyIG9mIGxpYnhsX3NjaGVkX3BhcmFtcy4KPiA+ICAtIHVzZSB0aGlzIG5ldyBmdW5j
dGlvbmFsaXR5IGZvciB0aGUgdmFyaW91cyB4bCBjb21tYW5kcyB3aGljaCBzZXQgc2NoZWQKPiA+
ICAgIHBhcmFtZXRlcnMsIHdoaWNoIHNhdmVzIGFuIGV4cGxpY2l0IHJlYWQtbW9kaWZ5LXdyaXRl
IGluIHhsLgo+ID4gIC0gcmVtb3ZlZCBjYWxsIG9mIHhjX2RvbWFpbl9nZXRpbmZvbGlzdCBmcm9t
IGEgZmV3IGZ1bmN0aW9ucyB3aGljaCB3ZXJlbid0Cj4gPiAgICBhY3R1YWxseSB1c2luZyB0aGUg
cmVzdWx0IChsb29rcyBsaWtlIGEgY3V0IGFuZCBwYXN0ZSBlcnJvcikKPiA+ICAtIGZpeCB4bCB3
aGljaCB3YXMgc2V0dGluZyBwZXJpb2QgZm9yIGEgdmFyaWV0eSBvZiBkaWZmZXJlbnQgY29uZmln
IGtleXMuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxs
QGNpdHJpeC5jb20+Cj4gPiAKPiBNaWdodCBiZSBteSBmYXVsdCwgYnV0IEkgY2FuJ3QgZ2V0IHRo
aXMgcGF0Y2ggdG8gYnVpbGQ6Cj4gCj4geGxfY21kaW1wbC5jOjQzNjU6NDc6IGVycm9yOiB1bmtu
b3duIHR5cGUgbmFtZSDigJhsaWJ4bF9zY2hlZF9jcmVkaXRfZG9tYWlu4oCZCj4geGxfY21kaW1w
bC5jOiBJbiBmdW5jdGlvbiDigJhzY2hlZF9jcmVkaXRfZG9tYWluX291dHB1dOKAmToKPiB4bF9j
bWRpbXBsLmM6NDQwMTo1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2NoZWRf
Y3JlZGl0X2RvbWFpbuKAmQoKTXkgbG9jYWwgdmVyc2lvbiBkZWZpbml0ZWx5IGRvZXNuJ3QgdXNl
IHRoaXMgdHlwZSBuYW1lIGFueSBtb3JlIGFuZCBJCmNhbiBzZWUgdGhlIGh1bmsgaW4gdGhlIHBh
dGNoIHdoaWNoIHJlbmFtZWQgdGhlIHVzZSBpbiB0aGF0IGZ1bmN0aW9uIHRvCmxpYnhsX3NjaGVk
X2RvbWFpbl9wYXJhbXMuIERpZCB5b3UgZ2V0IHJlamVjdHMgd2hlbiB5b3UgYXBwbGllZCBwZXJo
YXBzPwoKPiB4bF9jbWRpbXBsLmM6NDQwODo1OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g
b2YgZnVuY3Rpb24g4oCYc2NoZWRfY3JlZGl0X2RvbWFpbl9nZXTigJkgWy1XZXJyb3I9aW1wbGlj
aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4geGxfY21kaW1wbC5jOjQ0MTU6MTU6IGVycm9yOiBy
ZXF1ZXN0IGZvciBtZW1iZXIg4oCYd2VpZ2h04oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1
cmUgb3IgdW5pb24KPiB4bF9jbWRpbXBsLmM6NDQxNjoxNTogZXJyb3I6IHJlcXVlc3QgZm9yIG1l
bWJlciDigJhjYXDigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgo+IHhs
X2NtZGltcGwuYzo0NDE4OjU6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv
biDigJhsaWJ4bF9zY2hlZF9jcmVkaXRfZG9tYWluX2Rpc3Bvc2XigJkgWy1XZXJyb3I9aW1wbGlj
aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4geGxfY21kaW1wbC5jOiBBdCB0b3AgbGV2ZWw6Cj4g
eGxfY21kaW1wbC5jOjQ0NDQ6MTY6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhsaWJ4bF9z
Y2hlZF9jcmVkaXQyX2RvbWFpbuKAmQo+IHhsX2NtZGltcGwuYzo0NDU2OjE2OiBlcnJvcjogdW5r
bm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2NoZWRfY3JlZGl0Ml9kb21haW7igJkKPiB4bF9jbWRp
bXBsLmM6IEluIGZ1bmN0aW9uIOKAmHNjaGVkX2NyZWRpdDJfZG9tYWluX291dHB1dOKAmToKPiB4
bF9jbWRpbXBsLmM6NDQ3MTo1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2No
ZWRfY3JlZGl0Ml9kb21haW7igJkKPiB4bF9jbWRpbXBsLmM6NDQ3ODo1OiBlcnJvcjogaW1wbGlj
aXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYc2NoZWRfY3JlZGl0Ml9kb21haW5fZ2V04oCZ
IFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+IHhsX2NtZGltcGwuYzo0
NDg1OjE1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmHdlaWdodOKAmSBpbiBzb21ldGhp
bmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCj4geGxfY21kaW1wbC5jOjQ0ODc6NTogZXJyb3I6
IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGxpYnhsX3NjaGVkX2NyZWRpdDJf
ZG9tYWluX2Rpc3Bvc2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25d
Cj4geGxfY21kaW1wbC5jOiBBdCB0b3AgbGV2ZWw6Cj4geGxfY21kaW1wbC5jOjQ0OTI6MTY6IGVy
cm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhsaWJ4bF9zY2hlZF9zZWRmX2RvbWFpbuKAmQo+IHhs
X2NtZGltcGwuYzo0NTA0OjE2OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2No
ZWRfc2VkZl9kb21haW7igJkKPiAuLi4KPiAuLi4KPiAKPiBJdCBzZWVtcyBsaWtlIHRoZXJlIGFy
ZSBzb21lIGxlZnRvdmVycyBvZiB0aGUgb2xkCj4gbGlieGxfc2NoZWRfe2NyZWRpdCwuLi59X2Rv
bWFpbiBpbiB4bF9jbWRpbXBsLmMgLi4uIFBlcmhhcHMgYSBtaXNzaW5nCj4gYWRkL3JlZnJlc2gg
b24gb3VyIHNpZGU/Cj4gCj4gUmVnYXJkcywKPiBEYXJpbwo+IAoKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmH-0005JJ-EJ; Thu, 24 May 2012 08:52:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmF-0005Im-F8
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:11 +0000
Received: from [193.109.254.147:20964] by server-11.bemta-14.messagelabs.com
	id 2B/8D-05858-AB6FDBF4; Thu, 24 May 2012 08:52:10 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16171 invoked from network); 24 May 2012 08:52:09 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302278"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-7b;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:01 +0100
Message-ID: <1337849526-8987-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 05/10] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++-----
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   70 +++++++++++++++++++++++++++++++++++++-----
 tools/libxl/libxl_device.c   |   18 +++++++++++
 tools/libxl/libxl_dm.c       |   54 ++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   11 ++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 176 insertions(+), 21 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 82af9a9..011a7fd 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1980,12 +1980,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2016,7 +2031,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2057,6 +2073,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2067,18 +2086,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index c14e832..0b15586 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -691,7 +691,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index d1a4016..7466498 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -737,13 +742,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -816,7 +819,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -836,6 +838,58 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                          dcs->num_devices);
+
+    if (rc > 0) return;
+    if (rc) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(rc);
+    domcreate_complete(egc, dcs, rc);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6c9bbc2..9933cc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
     }
 }
 
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_vifs);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_vifs; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 546b185..cfc4051 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -840,9 +846,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -918,9 +926,49 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(aodev->base, *sdss, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                     sdss->num_devices);
+
+    if (rc > 0) return;
+    if (rc)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, rc);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index c4f97a4..1b81bfc 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1806,6 +1806,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aodev);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aodev);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1909,6 +1914,12 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback callback);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 69ce45a..46af9fb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4970,7 +4970,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmN-0005Mw-9c; Thu, 24 May 2012 08:52:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXTmL-0005LC-FS
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:17 +0000
Received: from [193.109.254.147:58973] by server-6.bemta-14.messagelabs.com id
	AF/D7-04960-0C6FDBF4; Thu, 24 May 2012 08:52:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337849536!3018342!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyNzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11410 invoked from network); 24 May 2012 08:52:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12643065"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 08:52:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 09:52:16 +0100
Message-ID: <1337849534.7229.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 24 May 2012 09:52:14 +0100
In-Reply-To: <1337771560.27368.69.camel@Solace>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<1337771560.27368.69.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gV2VkLCAyMDEyLTA1LTIzIGF0IDEyOjEyICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBPbiBXZWQsIDIwMTItMDUtMjMgYXQgMTA6MjYgKzAxMDAsIElhbiBDYW1wYmVsbCB3cm90ZToK
PiA+ICMgSEcgY2hhbmdlc2V0IHBhdGNoCj4gPiAjIFVzZXIgSWFuIENhbXBiZWxsIDxpYW4uY2Ft
cGJlbGxAY2l0cml4LmNvbT4KPiA+ICMgRGF0ZSAxMzM3NzY0ODY1IC0zNjAwCj4gPiAjIE5vZGUg
SUQgYjYyMjFiY2RmOWE5MDQ1YjQ5YTJkZGQ3ODc3NjAyNzg4ZjY1N2JhZAo+ID4gIyBQYXJlbnQg
IDdkODQyODM4OGI3NzVhMGIyNmNmODhmODllYzhmOTlmNWZjOGNlMjUKPiA+IGxpYnhsOiBtYWtl
IGl0IHBvc3NpYmxlIHRvIGV4cGxpY2l0bHkgc3BlY2lmeSBkZWZhdWx0IHNjaGVkIHBhcmFtcwo+
ID4gCj4gPiBUbyBkbyBzbyB3ZSBkZWZpbmUgYSBkZXNjcmltaW5hdGluZyB2YWx1ZSB3aGljaCBp
cyBuZXZlciBhIHZhbGlkIHJlYWwgdmFsdWUgZm9yCj4gPiBlYWNoIHBhcmFtZXRlci4KPiA+IAo+
ID4gV2hpbGUgdGhlcmU6Cj4gPiAKPiA+ICAtIHJlbW92ZWQgbGlieGxfc2NoZWRfKl9kb21haW4g
aW4gZmF2b3VyIG9mIGxpYnhsX3NjaGVkX3BhcmFtcy4KPiA+ICAtIHVzZSB0aGlzIG5ldyBmdW5j
dGlvbmFsaXR5IGZvciB0aGUgdmFyaW91cyB4bCBjb21tYW5kcyB3aGljaCBzZXQgc2NoZWQKPiA+
ICAgIHBhcmFtZXRlcnMsIHdoaWNoIHNhdmVzIGFuIGV4cGxpY2l0IHJlYWQtbW9kaWZ5LXdyaXRl
IGluIHhsLgo+ID4gIC0gcmVtb3ZlZCBjYWxsIG9mIHhjX2RvbWFpbl9nZXRpbmZvbGlzdCBmcm9t
IGEgZmV3IGZ1bmN0aW9ucyB3aGljaCB3ZXJlbid0Cj4gPiAgICBhY3R1YWxseSB1c2luZyB0aGUg
cmVzdWx0IChsb29rcyBsaWtlIGEgY3V0IGFuZCBwYXN0ZSBlcnJvcikKPiA+ICAtIGZpeCB4bCB3
aGljaCB3YXMgc2V0dGluZyBwZXJpb2QgZm9yIGEgdmFyaWV0eSBvZiBkaWZmZXJlbnQgY29uZmln
IGtleXMuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxs
QGNpdHJpeC5jb20+Cj4gPiAKPiBNaWdodCBiZSBteSBmYXVsdCwgYnV0IEkgY2FuJ3QgZ2V0IHRo
aXMgcGF0Y2ggdG8gYnVpbGQ6Cj4gCj4geGxfY21kaW1wbC5jOjQzNjU6NDc6IGVycm9yOiB1bmtu
b3duIHR5cGUgbmFtZSDigJhsaWJ4bF9zY2hlZF9jcmVkaXRfZG9tYWlu4oCZCj4geGxfY21kaW1w
bC5jOiBJbiBmdW5jdGlvbiDigJhzY2hlZF9jcmVkaXRfZG9tYWluX291dHB1dOKAmToKPiB4bF9j
bWRpbXBsLmM6NDQwMTo1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2NoZWRf
Y3JlZGl0X2RvbWFpbuKAmQoKTXkgbG9jYWwgdmVyc2lvbiBkZWZpbml0ZWx5IGRvZXNuJ3QgdXNl
IHRoaXMgdHlwZSBuYW1lIGFueSBtb3JlIGFuZCBJCmNhbiBzZWUgdGhlIGh1bmsgaW4gdGhlIHBh
dGNoIHdoaWNoIHJlbmFtZWQgdGhlIHVzZSBpbiB0aGF0IGZ1bmN0aW9uIHRvCmxpYnhsX3NjaGVk
X2RvbWFpbl9wYXJhbXMuIERpZCB5b3UgZ2V0IHJlamVjdHMgd2hlbiB5b3UgYXBwbGllZCBwZXJo
YXBzPwoKPiB4bF9jbWRpbXBsLmM6NDQwODo1OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g
b2YgZnVuY3Rpb24g4oCYc2NoZWRfY3JlZGl0X2RvbWFpbl9nZXTigJkgWy1XZXJyb3I9aW1wbGlj
aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4geGxfY21kaW1wbC5jOjQ0MTU6MTU6IGVycm9yOiBy
ZXF1ZXN0IGZvciBtZW1iZXIg4oCYd2VpZ2h04oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1
cmUgb3IgdW5pb24KPiB4bF9jbWRpbXBsLmM6NDQxNjoxNTogZXJyb3I6IHJlcXVlc3QgZm9yIG1l
bWJlciDigJhjYXDigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgo+IHhs
X2NtZGltcGwuYzo0NDE4OjU6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv
biDigJhsaWJ4bF9zY2hlZF9jcmVkaXRfZG9tYWluX2Rpc3Bvc2XigJkgWy1XZXJyb3I9aW1wbGlj
aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4geGxfY21kaW1wbC5jOiBBdCB0b3AgbGV2ZWw6Cj4g
eGxfY21kaW1wbC5jOjQ0NDQ6MTY6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhsaWJ4bF9z
Y2hlZF9jcmVkaXQyX2RvbWFpbuKAmQo+IHhsX2NtZGltcGwuYzo0NDU2OjE2OiBlcnJvcjogdW5r
bm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2NoZWRfY3JlZGl0Ml9kb21haW7igJkKPiB4bF9jbWRp
bXBsLmM6IEluIGZ1bmN0aW9uIOKAmHNjaGVkX2NyZWRpdDJfZG9tYWluX291dHB1dOKAmToKPiB4
bF9jbWRpbXBsLmM6NDQ3MTo1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2No
ZWRfY3JlZGl0Ml9kb21haW7igJkKPiB4bF9jbWRpbXBsLmM6NDQ3ODo1OiBlcnJvcjogaW1wbGlj
aXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYc2NoZWRfY3JlZGl0Ml9kb21haW5fZ2V04oCZ
IFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+IHhsX2NtZGltcGwuYzo0
NDg1OjE1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmHdlaWdodOKAmSBpbiBzb21ldGhp
bmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCj4geGxfY21kaW1wbC5jOjQ0ODc6NTogZXJyb3I6
IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGxpYnhsX3NjaGVkX2NyZWRpdDJf
ZG9tYWluX2Rpc3Bvc2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25d
Cj4geGxfY21kaW1wbC5jOiBBdCB0b3AgbGV2ZWw6Cj4geGxfY21kaW1wbC5jOjQ0OTI6MTY6IGVy
cm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhsaWJ4bF9zY2hlZF9zZWRmX2RvbWFpbuKAmQo+IHhs
X2NtZGltcGwuYzo0NTA0OjE2OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYbGlieGxfc2No
ZWRfc2VkZl9kb21haW7igJkKPiAuLi4KPiAuLi4KPiAKPiBJdCBzZWVtcyBsaWtlIHRoZXJlIGFy
ZSBzb21lIGxlZnRvdmVycyBvZiB0aGUgb2xkCj4gbGlieGxfc2NoZWRfe2NyZWRpdCwuLi59X2Rv
bWFpbiBpbiB4bF9jbWRpbXBsLmMgLi4uIFBlcmhhcHMgYSBtaXNzaW5nCj4gYWRkL3JlZnJlc2gg
b24gb3VyIHNpZGU/Cj4gCj4gUmVnYXJkcywKPiBEYXJpbwo+IAoKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl
bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmE-0005IZ-LW; Thu, 24 May 2012 08:52:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmD-0005IS-KH
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:09 +0000
Received: from [193.109.254.147:20772] by server-9.bemta-14.messagelabs.com id
	11/06-05787-8B6FDBF4; Thu, 24 May 2012 08:52:08 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16033 invoked from network); 24 May 2012 08:52:08 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302276"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-A3;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:03 +0100
Message-ID: <1337849526-8987-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 07/10] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 011a7fd..1f6c221 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1962,7 +1962,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmH-0005JS-QS; Thu, 24 May 2012 08:52:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmG-0005Iu-FI
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:12 +0000
Received: from [193.109.254.147:40082] by server-2.bemta-14.messagelabs.com id
	1D/A9-19409-BB6FDBF4; Thu, 24 May 2012 08:52:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16248 invoked from network); 24 May 2012 08:52:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302280"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-6y;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:00 +0100
Message-ID: <1337849526-8987-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 04/10] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v2:

 * Remove state read from libxl__initiate_device_add

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/Makefile         |    2 +-
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   41 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   48 +++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   61 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |   26 ++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 8 files changed, 195 insertions(+), 39 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..81b467e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -13,7 +13,7 @@ XLUMINOR = 0
 
 CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
-CFLAGS += -I. -fPIC
+CFLAGS += -I. -fPIC -O0
 
 ifeq ($(CONFIG_Linux),y)
 LIBUUID_LIBS += -luuid
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 75622c2..82af9a9 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1494,13 +1494,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1524,7 +1542,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1542,7 +1561,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1563,7 +1582,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1595,22 +1614,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1813,11 +1837,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 39a8c58..c14e832 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -663,7 +663,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4e88551..d1a4016 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -670,7 +672,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -704,15 +705,37 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int i, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                      dcs->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 413b98f..6c9bbc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,24 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return pending == 0 ? error : 1;
 }
 
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_disks);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_disks; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -533,6 +551,36 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    int rc = 0;
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aodev->callback(egc, aodev);
+        return;
+    }
+
+    libxl__ev_devstate_init(&aodev->ds);
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aodev)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 6604549..546b185 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,55 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aodev->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                      sdss->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +857,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +893,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -869,11 +903,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 4ac79d3..c4f97a4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1800,6 +1801,19 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aodev);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1889,6 +1903,12 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1923,6 +1943,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1951,6 +1974,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c02b69..69ce45a 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5081,7 +5081,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:52:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:52:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTmH-0005JS-QS; Thu, 24 May 2012 08:52:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXTmG-0005Iu-FI
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:52:12 +0000
Received: from [193.109.254.147:40082] by server-2.bemta-14.messagelabs.com id
	1D/A9-19409-BB6FDBF4; Thu, 24 May 2012 08:52:11 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337849527!6660033!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ4MTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16248 invoked from network); 24 May 2012 08:52:10 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:52:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196302280"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 04:52:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 04:52:06 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-6y;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:00 +0100
Message-ID: <1337849526-8987-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 04/10] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v2:

 * Remove state read from libxl__initiate_device_add

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/Makefile         |    2 +-
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   41 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   48 +++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   61 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |   26 ++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 8 files changed, 195 insertions(+), 39 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..81b467e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -13,7 +13,7 @@ XLUMINOR = 0
 
 CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
-CFLAGS += -I. -fPIC
+CFLAGS += -I. -fPIC -O0
 
 ifeq ($(CONFIG_Linux),y)
 LIBUUID_LIBS += -luuid
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 75622c2..82af9a9 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1494,13 +1494,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1524,7 +1542,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1542,7 +1561,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1563,7 +1582,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1595,22 +1614,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1813,11 +1837,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 39a8c58..c14e832 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -663,7 +663,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4e88551..d1a4016 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -670,7 +672,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -704,15 +705,37 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int i, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                      dcs->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 413b98f..6c9bbc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,24 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return pending == 0 ? error : 1;
 }
 
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_disks);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_disks; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -533,6 +551,36 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    int rc = 0;
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aodev->callback(egc, aodev);
+        return;
+    }
+
+    libxl__ev_devstate_init(&aodev->ds);
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aodev)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 6604549..546b185 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,55 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aodev->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                      sdss->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +857,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +893,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.guest_domid = dm_domid;
@@ -869,11 +903,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 4ac79d3..c4f97a4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1800,6 +1801,19 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aodev);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1889,6 +1903,12 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1923,6 +1943,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1951,6 +1974,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c02b69..69ce45a 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5081,7 +5081,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:55:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTp7-0006LC-Tc; Thu, 24 May 2012 08:55:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXTp6-0006Ki-Ep
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:55:08 +0000
Received: from [85.158.138.51:15414] by server-9.bemta-3.messagelabs.com id
	0E/41-11033-B67FDBF4; Thu, 24 May 2012 08:55:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337849707!28935091!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15588 invoked from network); 24 May 2012 08:55:07 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:55:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12643171"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 08:55:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 09:55:07 +0100
Message-ID: <1337849705.7229.10.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Thu, 24 May 2012 09:55:05 +0100
In-Reply-To: <CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
	<CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get
 a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 20:47 +0100, George Dunlap wrote:
> On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wrote:
> >         if (!tmp) {
> >             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
> > +            while(--i>0)
> > +                libxl_cpupoolinfo_dispose(ptr+i);
> 
> I'm not a fan of putting state-changes and conditionals in the same
> expression and relying on prefix/postifx precedence to sort things
> out.  It seems like it's laying a trap for some poor tired programmer
> in the future to make a thinko.  Would it really be that bad to just
> write "for(i--; i>0; i--)"? :-)
> 
> Actually -- walk me through this one.  Won't this fail to call
> libxl_cpupoolinfo_dispose() on element 0?

That's certainly not impossible! I'll double check as I rewrite it along
the lines you suggest.

> 
>  -G



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 08:55:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 08:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXTp7-0006LC-Tc; Thu, 24 May 2012 08:55:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXTp6-0006Ki-Ep
	for xen-devel@lists.xen.org; Thu, 24 May 2012 08:55:08 +0000
Received: from [85.158.138.51:15414] by server-9.bemta-3.messagelabs.com id
	0E/41-11033-B67FDBF4; Thu, 24 May 2012 08:55:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337849707!28935091!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15588 invoked from network); 24 May 2012 08:55:07 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 08:55:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12643171"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 08:55:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 09:55:07 +0100
Message-ID: <1337849705.7229.10.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Thu, 24 May 2012 09:55:05 +0100
In-Reply-To: <CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
	<CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get
 a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 20:47 +0100, George Dunlap wrote:
> On Wed, May 23, 2012 at 10:26 AM, Ian Campbell <ian.campbell@citrix.com> wrote:
> >         if (!tmp) {
> >             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
> > +            while(--i>0)
> > +                libxl_cpupoolinfo_dispose(ptr+i);
> 
> I'm not a fan of putting state-changes and conditionals in the same
> expression and relying on prefix/postifx precedence to sort things
> out.  It seems like it's laying a trap for some poor tired programmer
> in the future to make a thinko.  Would it really be that bad to just
> write "for(i--; i>0; i--)"? :-)
> 
> Actually -- walk me through this one.  Won't this fail to call
> libxl_cpupoolinfo_dispose() on element 0?

That's certainly not impossible! I'll double check as I rewrite it along
the lines you suggest.

> 
>  -G



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 09:13:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:13:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXU6z-0007B5-Jq; Thu, 24 May 2012 09:13:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXU6x-0007B0-Rg
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:13:36 +0000
Received: from [85.158.143.35:38945] by server-1.bemta-4.messagelabs.com id
	FA/99-00342-FBBFDBF4; Thu, 24 May 2012 09:13:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337850814!13841575!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2745 invoked from network); 24 May 2012 09:13:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 09:13:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12643749"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 09:13:34 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 10:13:34 +0100
Message-ID: <1337850812.7229.18.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 24 May 2012 10:13:32 +0100
In-Reply-To: <1337807975.25349.9.camel@Abyss>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
	<1337807975.25349.9.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 22:19 +0100, Dario Faggioli wrote:
> On Wed, 2012-05-23 at 20:28 +0100, George Dunlap wrote: 
> > Overall the idea of the patch looks good.  There's just the thing
> > about shoving all the various schedulers' parameters into one struct.
> >
> Yep, I really don't like that either.

I think we reached to opposite conclusion when Deiter implemented the
sched params support, but I don't really mind either way. I'm happy to
go with whichever you guys think is best (which seems to be leaning
toward separate structs?).

> > One fall-out from it is that if you specify weight in your config file
> > (or during domain creation), it will set the weight for credit or
> > credit2, but use the defaults for sedf.  This might be nice; but we're
> > implicitly baking in an assumption that parameters with the same name
> > have to have roughly similar meanings across all schedulers.
> > Furthermore, if someone sets a "cap" in the config file, for example,
> > but starts the VM in a pool running credit2, should we really just
> > silently ignore it, or should we alert the user in some way?
> > 
> I agree... Some mechanism for providing the user at least with a warning
> would be useful.

So xl should query the scheduler for the pool which has been specified
in the config and parse the appropriate options? That seems doable.

At the libxl level I think this would end up being a KeyedUnion in the
build info, selecting the appropriate per-sched params struct. Does that
sound reasonable?

> > But I think whichever way we choose, we should take it to its logical
> > conclusion.  Which in the "One Struct" way, would mean having a single
> > domain_get/domain_set function, and in the "separate struct" way would
> > probably mean specifying the scheduler -- i.e., "credit_weight",
> > "credit2_weight" or something like that.  (Obviously we need xm
> > compatibility, but we can throw a warning to encourage people to
> > change their config files.)	
> > 
> For what it counts, I'm all for option #2, i.e., each scheduler with its
> own struct, set of helper functions, xl sub-command, etc. Something like
> 'credit.cap = XX', 'credit2.weight = XX' or 'sedf.period = XXX' would be
> nice, for discriminating them in the config file. It'd remain to decide
> what to do with things like 'weight = XX', which we need to support for
> backward compatibility, but I guess almost anything is fine, provided we
> warn the user about what's happening and ask him to update the syntax.

That all sounds fine, but not for 4.2 IMHO.

Ian.

> 
> Just my 2 cents. :-)
> 
> Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 09:13:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:13:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXU6z-0007B5-Jq; Thu, 24 May 2012 09:13:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXU6x-0007B0-Rg
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:13:36 +0000
Received: from [85.158.143.35:38945] by server-1.bemta-4.messagelabs.com id
	FA/99-00342-FBBFDBF4; Thu, 24 May 2012 09:13:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337850814!13841575!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2745 invoked from network); 24 May 2012 09:13:34 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 09:13:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12643749"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 09:13:34 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 10:13:34 +0100
Message-ID: <1337850812.7229.18.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 24 May 2012 10:13:32 +0100
In-Reply-To: <1337807975.25349.9.camel@Abyss>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
	<1337807975.25349.9.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 22:19 +0100, Dario Faggioli wrote:
> On Wed, 2012-05-23 at 20:28 +0100, George Dunlap wrote: 
> > Overall the idea of the patch looks good.  There's just the thing
> > about shoving all the various schedulers' parameters into one struct.
> >
> Yep, I really don't like that either.

I think we reached to opposite conclusion when Deiter implemented the
sched params support, but I don't really mind either way. I'm happy to
go with whichever you guys think is best (which seems to be leaning
toward separate structs?).

> > One fall-out from it is that if you specify weight in your config file
> > (or during domain creation), it will set the weight for credit or
> > credit2, but use the defaults for sedf.  This might be nice; but we're
> > implicitly baking in an assumption that parameters with the same name
> > have to have roughly similar meanings across all schedulers.
> > Furthermore, if someone sets a "cap" in the config file, for example,
> > but starts the VM in a pool running credit2, should we really just
> > silently ignore it, or should we alert the user in some way?
> > 
> I agree... Some mechanism for providing the user at least with a warning
> would be useful.

So xl should query the scheduler for the pool which has been specified
in the config and parse the appropriate options? That seems doable.

At the libxl level I think this would end up being a KeyedUnion in the
build info, selecting the appropriate per-sched params struct. Does that
sound reasonable?

> > But I think whichever way we choose, we should take it to its logical
> > conclusion.  Which in the "One Struct" way, would mean having a single
> > domain_get/domain_set function, and in the "separate struct" way would
> > probably mean specifying the scheduler -- i.e., "credit_weight",
> > "credit2_weight" or something like that.  (Obviously we need xm
> > compatibility, but we can throw a warning to encourage people to
> > change their config files.)	
> > 
> For what it counts, I'm all for option #2, i.e., each scheduler with its
> own struct, set of helper functions, xl sub-command, etc. Something like
> 'credit.cap = XX', 'credit2.weight = XX' or 'sedf.period = XXX' would be
> nice, for discriminating them in the config file. It'd remain to decide
> what to do with things like 'weight = XX', which we need to support for
> backward compatibility, but I guess almost anything is fine, provided we
> warn the user about what's happening and ask him to update the syntax.

That all sounds fine, but not for 4.2 IMHO.

Ian.

> 
> Just my 2 cents. :-)
> 
> Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 09:15:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXU8h-0007Gp-3Q; Thu, 24 May 2012 09:15:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXU8f-0007Gg-EX
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:15:21 +0000
Received: from [85.158.138.51:60046] by server-1.bemta-3.messagelabs.com id
	96/03-18759-82CFDBF4; Thu, 24 May 2012 09:15:20 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337850919!10177045!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24236 invoked from network); 24 May 2012 09:15:19 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-174.messagelabs.com with SMTP;
	24 May 2012 09:15:19 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78122693; Thu, 24 May 2012 11:15:18 +0200
Message-ID: <1337850904.13601.2.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 11:15:04 +0200
In-Reply-To: <1337849534.7229.8.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<1337771560.27368.69.camel@Solace>
	<1337849534.7229.8.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8236966394257242283=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============8236966394257242283==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-kd6AIFrLyBjB3PoIW9HU"


--=-kd6AIFrLyBjB3PoIW9HU
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 09:52 +0100, Ian Campbell wrote:
> > Might be my fault, but I can't get this patch to build:
> >=20
> > xl_cmdimpl.c:4365:47: error: unknown type name =E2=80=98libxl_sched_cre=
dit_domain=E2=80=99
> > xl_cmdimpl.c: In function =E2=80=98sched_credit_domain_output=E2=80=99:
> > xl_cmdimpl.c:4401:5: error: unknown type name =E2=80=98libxl_sched_cred=
it_domain=E2=80=99
>=20
> My local version definitely doesn't use this type name any more and I
> can see the hunk in the patch which renamed the use in that function to
> libxl_sched_domain_params.
>
Mmm... You're ight, looking at the patch here in the message, the
xl_cmdimpl.c hunks are there. This is not the case of my `hg mimport'-ed
version. Strange. :-/

>  Did you get rejects when you applied perhaps?
>=20
Nope, but the imported patch has some garbage at the end... Not sue
whether that is normal o not with `hg mimport'. :-O

Anyway, sorry for bothering, I'll give it another try!
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-kd6AIFrLyBjB3PoIW9HU
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9/BgACgkQk4XaBE3IOsQQ3wCfSQp/LO2lC+v1h7EC9dHyCtQx
Ki0AnR5IFA8Wztutj0UzX0sq1z5RtlmB
=4ETn
-----END PGP SIGNATURE-----

--=-kd6AIFrLyBjB3PoIW9HU--



--===============8236966394257242283==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8236966394257242283==--



From xen-devel-bounces@lists.xen.org Thu May 24 09:15:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXU8h-0007Gp-3Q; Thu, 24 May 2012 09:15:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXU8f-0007Gg-EX
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:15:21 +0000
Received: from [85.158.138.51:60046] by server-1.bemta-3.messagelabs.com id
	96/03-18759-82CFDBF4; Thu, 24 May 2012 09:15:20 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337850919!10177045!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24236 invoked from network); 24 May 2012 09:15:19 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-174.messagelabs.com with SMTP;
	24 May 2012 09:15:19 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78122693; Thu, 24 May 2012 11:15:18 +0200
Message-ID: <1337850904.13601.2.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 11:15:04 +0200
In-Reply-To: <1337849534.7229.8.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<1337771560.27368.69.camel@Solace>
	<1337849534.7229.8.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8236966394257242283=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============8236966394257242283==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-kd6AIFrLyBjB3PoIW9HU"


--=-kd6AIFrLyBjB3PoIW9HU
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 09:52 +0100, Ian Campbell wrote:
> > Might be my fault, but I can't get this patch to build:
> >=20
> > xl_cmdimpl.c:4365:47: error: unknown type name =E2=80=98libxl_sched_cre=
dit_domain=E2=80=99
> > xl_cmdimpl.c: In function =E2=80=98sched_credit_domain_output=E2=80=99:
> > xl_cmdimpl.c:4401:5: error: unknown type name =E2=80=98libxl_sched_cred=
it_domain=E2=80=99
>=20
> My local version definitely doesn't use this type name any more and I
> can see the hunk in the patch which renamed the use in that function to
> libxl_sched_domain_params.
>
Mmm... You're ight, looking at the patch here in the message, the
xl_cmdimpl.c hunks are there. This is not the case of my `hg mimport'-ed
version. Strange. :-/

>  Did you get rejects when you applied perhaps?
>=20
Nope, but the imported patch has some garbage at the end... Not sue
whether that is normal o not with `hg mimport'. :-O

Anyway, sorry for bothering, I'll give it another try!
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-kd6AIFrLyBjB3PoIW9HU
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9/BgACgkQk4XaBE3IOsQQ3wCfSQp/LO2lC+v1h7EC9dHyCtQx
Ki0AnR5IFA8Wztutj0UzX0sq1z5RtlmB
=4ETn
-----END PGP SIGNATURE-----

--=-kd6AIFrLyBjB3PoIW9HU--



--===============8236966394257242283==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8236966394257242283==--



From xen-devel-bounces@lists.xen.org Thu May 24 09:17:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUAW-0007O7-JL; Thu, 24 May 2012 09:17:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXUAU-0007Ns-AY
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:17:14 +0000
Received: from [193.109.254.147:52144] by server-12.bemta-14.messagelabs.com
	id 8C/BF-05898-99CFDBF4; Thu, 24 May 2012 09:17:13 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337851008!10967424!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22630 invoked from network); 24 May 2012 09:16:48 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-12.tower-27.messagelabs.com with SMTP;
	24 May 2012 09:16:48 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78122737; Thu, 24 May 2012 11:16:47 +0200
Message-ID: <1337851000.13601.5.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 11:16:40 +0200
In-Reply-To: <1337849705.7229.10.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
	<CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
	<1337849705.7229.10.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get
 a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5435588800777125588=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5435588800777125588==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-hYiygO0JCrvgZyOQziTs"


--=-hYiygO0JCrvgZyOQziTs
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 09:55 +0100, Ian Campbell wrote:
> That's certainly not impossible! I'll double check as I rewrite it along
> the lines you suggest.
>=20
And which one of the two ways George outlined are you considering for
such a rewrite (just curious :-P) ?

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-hYiygO0JCrvgZyOQziTs
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9/HgACgkQk4XaBE3IOsTIGQCdE8IOnH7Pz38VhIBjZjrYo0BT
DGIAoJWRFC+IUtzGrjIaWa9iSc3LPBBx
=/IYN
-----END PGP SIGNATURE-----

--=-hYiygO0JCrvgZyOQziTs--



--===============5435588800777125588==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5435588800777125588==--



From xen-devel-bounces@lists.xen.org Thu May 24 09:17:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUAW-0007O7-JL; Thu, 24 May 2012 09:17:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXUAU-0007Ns-AY
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:17:14 +0000
Received: from [193.109.254.147:52144] by server-12.bemta-14.messagelabs.com
	id 8C/BF-05898-99CFDBF4; Thu, 24 May 2012 09:17:13 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337851008!10967424!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22630 invoked from network); 24 May 2012 09:16:48 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-12.tower-27.messagelabs.com with SMTP;
	24 May 2012 09:16:48 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78122737; Thu, 24 May 2012 11:16:47 +0200
Message-ID: <1337851000.13601.5.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 11:16:40 +0200
In-Reply-To: <1337849705.7229.10.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<6533501734be011cb1f7.1337765208@cosworth.uk.xensource.com>
	<CAFLBxZYymhMwp-PgU=Og0iBxKHFaCReJ2q_GK+Uc5z_ZMWrsaw@mail.gmail.com>
	<1337849705.7229.10.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 3] libxl: add internal function to get
 a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5435588800777125588=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5435588800777125588==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-hYiygO0JCrvgZyOQziTs"


--=-hYiygO0JCrvgZyOQziTs
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 09:55 +0100, Ian Campbell wrote:
> That's certainly not impossible! I'll double check as I rewrite it along
> the lines you suggest.
>=20
And which one of the two ways George outlined are you considering for
such a rewrite (just curious :-P) ?

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-hYiygO0JCrvgZyOQziTs
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+9/HgACgkQk4XaBE3IOsTIGQCdE8IOnH7Pz38VhIBjZjrYo0BT
DGIAoJWRFC+IUtzGrjIaWa9iSc3LPBBx
=/IYN
-----END PGP SIGNATURE-----

--=-hYiygO0JCrvgZyOQziTs--



--===============5435588800777125588==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5435588800777125588==--



From xen-devel-bounces@lists.xen.org Thu May 24 09:19:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:19:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUCo-0007Yj-4M; Thu, 24 May 2012 09:19:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXUCm-0007YY-L6
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:19:36 +0000
Received: from [193.109.254.147:29544] by server-5.bemta-14.messagelabs.com id
	78/54-30733-72DFDBF4; Thu, 24 May 2012 09:19:35 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337851173!10762818!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12157 invoked from network); 24 May 2012 09:19:35 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 09:19:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196304151"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 05:19:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 05:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-Fi;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:06 +0100
Message-ID: <1337849526-8987-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 10/10] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Changes sinve v2:

 * Changed the goto construction to a do-while loop.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 5c840f8..0f0465a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -487,16 +487,26 @@ void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+    do {
+        t = xs_transaction_start(CTX->xsh);
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+        rc = !xs_transaction_end(CTX->xsh, t, 0);
+    } while (rc && errno == EAGAIN);
+    if (rc) {
+        LOGE(ERROR, "unable to finish transaction");
+        goto out;
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 09:19:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:19:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUCo-0007Yj-4M; Thu, 24 May 2012 09:19:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXUCm-0007YY-L6
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:19:36 +0000
Received: from [193.109.254.147:29544] by server-5.bemta-14.messagelabs.com id
	78/54-30733-72DFDBF4; Thu, 24 May 2012 09:19:35 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337851173!10762818!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12157 invoked from network); 24 May 2012 09:19:35 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 09:19:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196304151"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 05:19:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 05:19:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXTmA-00078b-Fi;
	Thu, 24 May 2012 09:52:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 09:52:06 +0100
Message-ID: <1337849526-8987-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
References: <1337849526-8987-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3 10/10] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Changes sinve v2:

 * Changed the goto construction to a do-while loop.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 5c840f8..0f0465a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -487,16 +487,26 @@ void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+    do {
+        t = xs_transaction_start(CTX->xsh);
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+        rc = !xs_transaction_end(CTX->xsh, t, 0);
+    } while (rc && errno == EAGAIN);
+    if (rc) {
+        LOGE(ERROR, "unable to finish transaction");
+        goto out;
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 09:36:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUT2-0007pj-Ua; Thu, 24 May 2012 09:36:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXUT1-0007pe-5g
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:36:23 +0000
Received: from [85.158.143.99:32172] by server-2.bemta-4.messagelabs.com id
	0B/76-12211-6110EBF4; Thu, 24 May 2012 09:36:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337852181!29542568!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17522 invoked from network); 24 May 2012 09:36:21 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-216.messagelabs.com with SMTP;
	24 May 2012 09:36:21 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78123439; Thu, 24 May 2012 11:36:17 +0200
Message-ID: <1337852166.13601.13.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 11:36:06 +0200
In-Reply-To: <1337850812.7229.18.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
	<1337807975.25349.9.camel@Abyss>
	<1337850812.7229.18.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1214648047316160455=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1214648047316160455==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-/dKOkYpDrM88Sw+Dh9XW"


--=-/dKOkYpDrM88Sw+Dh9XW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 10:13 +0100, Ian Campbell wrote:
> On Wed, 2012-05-23 at 22:19 +0100, Dario Faggioli wrote:
> > On Wed, 2012-05-23 at 20:28 +0100, George Dunlap wrote:=20
> > > Overall the idea of the patch looks good.  There's just the thing
> > > about shoving all the various schedulers' parameters into one struct.
> > >
> > Yep, I really don't like that either.
>=20
> I think we reached to opposite conclusion when Deiter implemented the
> sched params support, but I don't really mind either way.=20
>
Yes, you're thinking right. Unfortunately, besides starting to
participate to that thread, I was off when consensus on that particular
aspect was reached. After that, I decided it is no such a big deal that
would worth a rewrite of the whole thing per-se, but if we are rewriting
it anyway, well... :-)

> I'm happy to
> go with whichever you guys think is best (which seems to be leaning
> toward separate structs?).
>=20
I am definitely leaning toward that, but of course it's George's opinion
the one that we should care most.

> > > One fall-out from it is that if you specify weight in your config fil=
e
> > > (or during domain creation), it will set the weight for credit or
> > > credit2, but use the defaults for sedf.  This might be nice; but we'r=
e
> > > implicitly baking in an assumption that parameters with the same name
> > > have to have roughly similar meanings across all schedulers.
> > > Furthermore, if someone sets a "cap" in the config file, for example,
> > > but starts the VM in a pool running credit2, should we really just
> > > silently ignore it, or should we alert the user in some way?
> > >=20
> > I agree... Some mechanism for providing the user at least with a warnin=
g
> > would be useful.
>=20
> So xl should query the scheduler for the pool which has been specified
> in the config and parse the appropriate options? That seems doable.
>=20
That appears right to me, yes.

> At the libxl level I think this would end up being a KeyedUnion in the
> build info, selecting the appropriate per-sched params struct. Does that
> sound reasonable?
>=20
To me, definitely.

> > For what it counts, I'm all for option #2, i.e., each scheduler with it=
s
> > own struct, set of helper functions, xl sub-command, etc. Something lik=
e
> > 'credit.cap =3D XX', 'credit2.weight =3D XX' or 'sedf.period =3D XXX' w=
ould be
> > nice, for discriminating them in the config file. It'd remain to decide
> > what to do with things like 'weight =3D XX', which we need to support f=
or
> > backward compatibility, but I guess almost anything is fine, provided w=
e
> > warn the user about what's happening and ask him to update the syntax.
>=20
> That all sounds fine, but not for 4.2 IMHO.
>=20
Yes, let's just put what xm has together for now, we can add all the
other stuff later.

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-/dKOkYpDrM88Sw+Dh9XW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk++AQYACgkQk4XaBE3IOsRzngCfSrf7rZj5OWT/aSF6qyl66YWh
NQUAoJGTsRF6V63NDYBgOxx+QhJgq83k
=Z1pT
-----END PGP SIGNATURE-----

--=-/dKOkYpDrM88Sw+Dh9XW--



--===============1214648047316160455==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1214648047316160455==--



From xen-devel-bounces@lists.xen.org Thu May 24 09:36:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUT2-0007pj-Ua; Thu, 24 May 2012 09:36:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXUT1-0007pe-5g
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:36:23 +0000
Received: from [85.158.143.99:32172] by server-2.bemta-4.messagelabs.com id
	0B/76-12211-6110EBF4; Thu, 24 May 2012 09:36:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337852181!29542568!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17522 invoked from network); 24 May 2012 09:36:21 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-216.messagelabs.com with SMTP;
	24 May 2012 09:36:21 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78123439; Thu, 24 May 2012 11:36:17 +0200
Message-ID: <1337852166.13601.13.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 11:36:06 +0200
In-Reply-To: <1337850812.7229.18.camel@zakaz.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
	<1337807975.25349.9.camel@Abyss>
	<1337850812.7229.18.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1214648047316160455=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1214648047316160455==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-/dKOkYpDrM88Sw+Dh9XW"


--=-/dKOkYpDrM88Sw+Dh9XW
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 10:13 +0100, Ian Campbell wrote:
> On Wed, 2012-05-23 at 22:19 +0100, Dario Faggioli wrote:
> > On Wed, 2012-05-23 at 20:28 +0100, George Dunlap wrote:=20
> > > Overall the idea of the patch looks good.  There's just the thing
> > > about shoving all the various schedulers' parameters into one struct.
> > >
> > Yep, I really don't like that either.
>=20
> I think we reached to opposite conclusion when Deiter implemented the
> sched params support, but I don't really mind either way.=20
>
Yes, you're thinking right. Unfortunately, besides starting to
participate to that thread, I was off when consensus on that particular
aspect was reached. After that, I decided it is no such a big deal that
would worth a rewrite of the whole thing per-se, but if we are rewriting
it anyway, well... :-)

> I'm happy to
> go with whichever you guys think is best (which seems to be leaning
> toward separate structs?).
>=20
I am definitely leaning toward that, but of course it's George's opinion
the one that we should care most.

> > > One fall-out from it is that if you specify weight in your config fil=
e
> > > (or during domain creation), it will set the weight for credit or
> > > credit2, but use the defaults for sedf.  This might be nice; but we'r=
e
> > > implicitly baking in an assumption that parameters with the same name
> > > have to have roughly similar meanings across all schedulers.
> > > Furthermore, if someone sets a "cap" in the config file, for example,
> > > but starts the VM in a pool running credit2, should we really just
> > > silently ignore it, or should we alert the user in some way?
> > >=20
> > I agree... Some mechanism for providing the user at least with a warnin=
g
> > would be useful.
>=20
> So xl should query the scheduler for the pool which has been specified
> in the config and parse the appropriate options? That seems doable.
>=20
That appears right to me, yes.

> At the libxl level I think this would end up being a KeyedUnion in the
> build info, selecting the appropriate per-sched params struct. Does that
> sound reasonable?
>=20
To me, definitely.

> > For what it counts, I'm all for option #2, i.e., each scheduler with it=
s
> > own struct, set of helper functions, xl sub-command, etc. Something lik=
e
> > 'credit.cap =3D XX', 'credit2.weight =3D XX' or 'sedf.period =3D XXX' w=
ould be
> > nice, for discriminating them in the config file. It'd remain to decide
> > what to do with things like 'weight =3D XX', which we need to support f=
or
> > backward compatibility, but I guess almost anything is fine, provided w=
e
> > warn the user about what's happening and ask him to update the syntax.
>=20
> That all sounds fine, but not for 4.2 IMHO.
>=20
Yes, let's just put what xm has together for now, we can add all the
other stuff later.

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-/dKOkYpDrM88Sw+Dh9XW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk++AQYACgkQk4XaBE3IOsRzngCfSrf7rZj5OWT/aSF6qyl66YWh
NQUAoJGTsRF6V63NDYBgOxx+QhJgq83k
=Z1pT
-----END PGP SIGNATURE-----

--=-/dKOkYpDrM88Sw+Dh9XW--



--===============1214648047316160455==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1214648047316160455==--



From xen-devel-bounces@lists.xen.org Thu May 24 09:44:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUa7-00081Z-1f; Thu, 24 May 2012 09:43:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXUa4-00081U-TX
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:43:41 +0000
Received: from [85.158.138.51:34705] by server-10.bemta-3.messagelabs.com id
	04/F7-01101-CC20EBF4; Thu, 24 May 2012 09:43:40 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337852618!20923533!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16833 invoked from network); 24 May 2012 09:43:39 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-12.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 09:43:39 -0000
Received: from mail49-va3-R.bigfish.com (10.7.14.248) by
	VA3EHSOBE009.bigfish.com (10.7.40.29) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 09:43:29 +0000
Received: from mail49-va3 (localhost [127.0.0.1])	by mail49-va3-R.bigfish.com
	(Postfix) with ESMTP id A6BF7340127;
	Thu, 24 May 2012 09:43:20 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzz8275bhz2dh668h839h93fhd25he5bhf0ah)
Received: from mail49-va3 (localhost.localdomain [127.0.0.1]) by mail49-va3
	(MessageSwitch) id 1337852598781675_26613;
	Thu, 24 May 2012 09:43:18 +0000 (UTC)
Received: from VA3EHSMHS007.bigfish.com (unknown [10.7.14.245])	by
	mail49-va3.bigfish.com (Postfix) with ESMTP id BB7EC4C004B;
	Thu, 24 May 2012 09:43:18 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS007.bigfish.com (10.7.99.17) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 09:43:25 +0000
X-WSS-ID: 0M4ITOG-02-26S-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 228C4C80B1;	Thu, 24 May 2012 04:43:28 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 04:43:47 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 04:43:31 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	05:43:29 -0400
Message-ID: <4FBE02E6.2050807@amd.com>
Date: Thu, 24 May 2012 11:44:06 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337767872.30233.20.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/12 12:11, Ian Campbell wrote:

> On Tue, 2012-05-22 at 16:32 +0100, Christoph Egger wrote:
>> On 05/22/12 17:21, Ian Campbell wrote:
>>
>>> On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
>>>> On 05/22/12 16:20, Ian Campbell wrote:
>>>>> All the >= checks on *xcg_handle seem wrong to me. Really they should be
>>>>> checking != NULL, since otherwise they don't actually discriminate the
>>>>> two cases! Does making that change help?
>>>>
>>>> Yes, that helps! I can start guests again.
>>>
>>> Excellent, I assume you are going to submit the patch (i.e. I don't need
>>> to..)
>>
>> Yes, patch attached.
> 
> I fixed up the commit message as follows. I'll apply if IanJ agrees or
> acks it.

Thank you. Ian J. what do you say?

Christoph


> 8<-----------------------------
> 
> From 6b43ca97f5f8c4fa9bf24101253af21bc66ddf96 Mon Sep 17 00:00:00 2001
> From: Christoph Egger <Christoph.Egger@amd.com>
> Date: Tue, 22 May 2012 17:32:21 +0200
> Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
> 
> Fix pointer checks introduced in changeset 24757:aae516b78fce.
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> ---
>  tools/xenstore/xenstored_domain.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index f8c822f..bf83d58 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -167,7 +167,7 @@ static int readchn(struct connection *conn, void *data, unsigned int len)
>  
>  static void *map_interface(domid_t domid, unsigned long mfn)
>  {
> -	if (*xcg_handle >= 0) {
> +	if (*xcg_handle != NULL) {
>  		/* this is the preferred method */
>  		return xc_gnttab_map_grant_ref(*xcg_handle, domid,
>  			GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE);
> @@ -179,7 +179,7 @@ static void *map_interface(domid_t domid, unsigned long mfn)
>  
>  static void unmap_interface(void *interface)
>  {
> -	if (*xcg_handle >= 0)
> +	if (*xcg_handle != NULL)
>  		xc_gnttab_munmap(*xcg_handle, interface, 1);
>  	else
>  		munmap(interface, getpagesize());



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 09:44:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUa7-00081Z-1f; Thu, 24 May 2012 09:43:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXUa4-00081U-TX
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:43:41 +0000
Received: from [85.158.138.51:34705] by server-10.bemta-3.messagelabs.com id
	04/F7-01101-CC20EBF4; Thu, 24 May 2012 09:43:40 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337852618!20923533!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16833 invoked from network); 24 May 2012 09:43:39 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-12.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 09:43:39 -0000
Received: from mail49-va3-R.bigfish.com (10.7.14.248) by
	VA3EHSOBE009.bigfish.com (10.7.40.29) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 09:43:29 +0000
Received: from mail49-va3 (localhost [127.0.0.1])	by mail49-va3-R.bigfish.com
	(Postfix) with ESMTP id A6BF7340127;
	Thu, 24 May 2012 09:43:20 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -13
X-BigFish: VPS-13(zzbb2dI936eK1432N98dKzz1202hzz8275bhz2dh668h839h93fhd25he5bhf0ah)
Received: from mail49-va3 (localhost.localdomain [127.0.0.1]) by mail49-va3
	(MessageSwitch) id 1337852598781675_26613;
	Thu, 24 May 2012 09:43:18 +0000 (UTC)
Received: from VA3EHSMHS007.bigfish.com (unknown [10.7.14.245])	by
	mail49-va3.bigfish.com (Postfix) with ESMTP id BB7EC4C004B;
	Thu, 24 May 2012 09:43:18 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS007.bigfish.com (10.7.99.17) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 09:43:25 +0000
X-WSS-ID: 0M4ITOG-02-26S-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 228C4C80B1;	Thu, 24 May 2012 04:43:28 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 04:43:47 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 04:43:31 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	05:43:29 -0400
Message-ID: <4FBE02E6.2050807@amd.com>
Date: Thu, 24 May 2012 11:44:06 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337767872.30233.20.camel@zakaz.uk.xensource.com>
X-OriginatorOrg: amd.com
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/12 12:11, Ian Campbell wrote:

> On Tue, 2012-05-22 at 16:32 +0100, Christoph Egger wrote:
>> On 05/22/12 17:21, Ian Campbell wrote:
>>
>>> On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
>>>> On 05/22/12 16:20, Ian Campbell wrote:
>>>>> All the >= checks on *xcg_handle seem wrong to me. Really they should be
>>>>> checking != NULL, since otherwise they don't actually discriminate the
>>>>> two cases! Does making that change help?
>>>>
>>>> Yes, that helps! I can start guests again.
>>>
>>> Excellent, I assume you are going to submit the patch (i.e. I don't need
>>> to..)
>>
>> Yes, patch attached.
> 
> I fixed up the commit message as follows. I'll apply if IanJ agrees or
> acks it.

Thank you. Ian J. what do you say?

Christoph


> 8<-----------------------------
> 
> From 6b43ca97f5f8c4fa9bf24101253af21bc66ddf96 Mon Sep 17 00:00:00 2001
> From: Christoph Egger <Christoph.Egger@amd.com>
> Date: Tue, 22 May 2012 17:32:21 +0200
> Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
> 
> Fix pointer checks introduced in changeset 24757:aae516b78fce.
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> ---
>  tools/xenstore/xenstored_domain.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index f8c822f..bf83d58 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -167,7 +167,7 @@ static int readchn(struct connection *conn, void *data, unsigned int len)
>  
>  static void *map_interface(domid_t domid, unsigned long mfn)
>  {
> -	if (*xcg_handle >= 0) {
> +	if (*xcg_handle != NULL) {
>  		/* this is the preferred method */
>  		return xc_gnttab_map_grant_ref(*xcg_handle, domid,
>  			GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE);
> @@ -179,7 +179,7 @@ static void *map_interface(domid_t domid, unsigned long mfn)
>  
>  static void unmap_interface(void *interface)
>  {
> -	if (*xcg_handle >= 0)
> +	if (*xcg_handle != NULL)
>  		xc_gnttab_munmap(*xcg_handle, interface, 1);
>  	else
>  		munmap(interface, getpagesize());



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 09:45:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:45:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUbH-00086q-Kn; Thu, 24 May 2012 09:44:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXUbG-00086d-MA
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:44:55 +0000
Received: from [85.158.139.83:52493] by server-1.bemta-5.messagelabs.com id
	91/B3-21549-5130EBF4; Thu, 24 May 2012 09:44:53 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337852691!27391610!1
X-Originating-IP: [209.85.220.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30379 invoked from network); 24 May 2012 09:44:52 -0000
Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com)
	(209.85.220.173)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 09:44:52 -0000
Received: by vcbfo13 with SMTP id fo13so1778529vcb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 02:44:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=UZ7Kl08vaoTQASFHIG+Odkd6bq8StfdGh64iLBoBdiU=;
	b=i7gmS9uAca2VN2WXpINCJOyj9f0uCs5LTMrkModXUmo6JBbsFmf8XO+tZqHWHUxj0q
	PEl1lP8AE44En9BJS0G+eWg/z03aS8SN7TqgFmUHVU6su8csrmvmSLDBoIQOng5PjHjk
	dvmCGCUnlGYm3e9UpTwUSf28o4NmNDwdwDDFgr8uKX6vfgGd7cdQLmAhNhejDclHJer2
	Hag73FtWecAXuX8Wx6LBdh75mEXqD+J+x6sDt9B30k0jHatzWddUxuJbUG096OUcwfxS
	e095kdGOKd+WNOrRhVjZrBSNItUEVi6ePdsGKtPUYOMSoDaFXsQOizQehoozrgBwBgi9
	b3IQ==
Received: by 10.52.70.242 with SMTP id p18mr8869215vdu.97.1337852691538; Thu,
	24 May 2012 02:44:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Thu, 24 May 2012 02:44:31 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205111703571.26786@kaball-desktop>
References: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
	<alpine.DEB.2.00.1205111703571.26786@kaball-desktop>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 24 May 2012 10:44:31 +0100
Message-ID: <CAEBdQ92VCMuqjjzDcnyb7k7pwO_0fSemaWeA99jnEu0qBgAmug@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1912854383881489163=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1912854383881489163==
Content-Type: multipart/alternative; boundary=bcaec501c52c70e37304c0c51ad3

--bcaec501c52c70e37304c0c51ad3
Content-Type: text/plain; charset=ISO-8859-1

On 11 May 2012 17:06, Stefano Stabellini
<stefano.stabellini@eu.citrix.com>wrote:

> On Thu, 10 May 2012, Jean Guyader wrote:
> > After a host sleep MSI will be off on the host but qemu still thinks
> > it's on because of some state that have been set previously.
> >
> > If qemu thinks that the device has been configure already
> > and the host MSI are disabled tell Xen to reconfigure the MSI.
> >
> > Signed-off-by: Jean Guyader <jean.guyader@gmail.com>
> >
> > diff --git a/hw/pass-through.c b/hw/pass-through.c
> > index f832c5a..a6a9b7a 100644
> > --- a/hw/pass-through.c
> > +++ b/hw/pass-through.c
> > @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev
> *ptdev,
> >      return 0;
> >  }
> >
> > +static int msi_is_enable(struct pt_dev *dev)
> > +{
> > +    uint16_t val = 0;
> > +    uint32_t address = 0;
> > +    if (!dev->msi)
> > +        return 0;
> > +
> > +    address = dev->msi->ctrl_offset;
> > +    if (!address)
> > +        return 0;
> > +
> > +    val = pci_read_word(dev->pci_dev, address);
> > +    return val & PCI_MSI_FLAGS_ENABLE;
> > +}
> > +
> >  /* write Message Control register */
> >  static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
> >      struct pt_reg_tbl *cfg_entry,
> > @@ -3803,8 +3818,7 @@ static int pt_msgctrl_reg_write(struct pt_dev
> *ptdev,
> >      /* update MSI */
> >      if (val & PCI_MSI_FLAGS_ENABLE)
> >      {
> > -        /* setup MSI pirq for the first time */
> > -        if (ptdev->msi->flags & MSI_FLAG_UNINIT)
> > +        if (!msi_is_enable(ptdev))
> >          {
> >              if (ptdev->msi_trans_en) {
> >                  PT_LOG("guest enabling MSI, disable MSI-INTx
> translation\n");
> > diff --git a/hw/pt-msi.c b/hw/pt-msi.c
> > index 70c4023..99f9afd 100644
> > --- a/hw/pt-msi.c
> > +++ b/hw/pt-msi.c
> > @@ -67,12 +67,6 @@ int pt_msi_setup(struct pt_dev *dev)
> >      int pirq = -1;
> >      uint8_t gvec = 0;
> >
> > -    if ( !(dev->msi->flags & MSI_FLAG_UNINIT) )
> > -    {
> > -        PT_LOG("Error: setup physical after initialized?? \n");
> > -        return -1;
> > -    }
> > -
> >      gvec = dev->msi->data & 0xFF;
> >      if (!gvec) {
> >          /* if gvec is 0, the guest is asking for a particular pirq that
>
> The patch makes sense.
> Only one last comment, sorry for not having noticed this before, but
> there might be another (flags & MSI_FLAG_UNINIT) check that should
> probably be changed into msi_is_enable in pt_msi_disable.
>

Also I think that we should always call pt_msi_setup (the first time) even
if the MSI are set in the config space.
It should maybe look like my first patch.

Jean

--bcaec501c52c70e37304c0c51ad3
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On 11 May 2012 17:06, Stefano Stabellini <span d=
ir=3D"ltr">&lt;<a href=3D"mailto:stefano.stabellini@eu.citrix.com" target=
=3D"_blank">stefano.stabellini@eu.citrix.com</a>&gt;</span> wrote:<br><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex">

<div class=3D"HOEnZb"><div class=3D"h5">On Thu, 10 May 2012, Jean Guyader w=
rote:<br>
&gt; After a host sleep MSI will be off on the host but qemu still thinks<b=
r>
&gt; it&#39;s on because of some state that have been set previously.<br>
&gt;<br>
&gt; If qemu thinks that the device has been configure already<br>
&gt; and the host MSI are disabled tell Xen to reconfigure the MSI.<br>
&gt;<br>
&gt; Signed-off-by: Jean Guyader &lt;<a href=3D"mailto:jean.guyader@gmail.c=
om">jean.guyader@gmail.com</a>&gt;<br>
&gt;<br>
</div></div>&gt; diff --git a/hw/pass-through.c b/hw/pass-through.c<br>
&gt; index f832c5a..a6a9b7a 100644<br>
&gt; --- a/hw/pass-through.c<br>
&gt; +++ b/hw/pass-through.c<br>
&gt; @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev *pt=
dev,<br>
&gt; =A0 =A0 =A0return 0;<br>
&gt; =A0}<br>
&gt;<br>
&gt; +static int msi_is_enable(struct pt_dev *dev)<br>
&gt; +{<br>
&gt; + =A0 =A0uint16_t val =3D 0;<br>
&gt; + =A0 =A0uint32_t address =3D 0;<br>
&gt; + =A0 =A0if (!dev-&gt;msi)<br>
&gt; + =A0 =A0 =A0 =A0return 0;<br>
&gt; +<br>
&gt; + =A0 =A0address =3D dev-&gt;msi-&gt;ctrl_offset;<br>
&gt; + =A0 =A0if (!address)<br>
&gt; + =A0 =A0 =A0 =A0return 0;<br>
&gt; +<br>
&gt; + =A0 =A0val =3D pci_read_word(dev-&gt;pci_dev, address);<br>
&gt; + =A0 =A0return val &amp; PCI_MSI_FLAGS_ENABLE;<br>
&gt; +}<br>
&gt; +<br>
&gt; =A0/* write Message Control register */<br>
&gt; =A0static int pt_msgctrl_reg_write(struct pt_dev *ptdev,<br>
&gt; =A0 =A0 =A0struct pt_reg_tbl *cfg_entry,<br>
&gt; @@ -3803,8 +3818,7 @@ static int pt_msgctrl_reg_write(struct pt_dev *p=
tdev,<br>
&gt; =A0 =A0 =A0/* update MSI */<br>
&gt; =A0 =A0 =A0if (val &amp; PCI_MSI_FLAGS_ENABLE)<br>
&gt; =A0 =A0 =A0{<br>
&gt; - =A0 =A0 =A0 =A0/* setup MSI pirq for the first time */<br>
&gt; - =A0 =A0 =A0 =A0if (ptdev-&gt;msi-&gt;flags &amp; MSI_FLAG_UNINIT)<br=
>
&gt; + =A0 =A0 =A0 =A0if (!msi_is_enable(ptdev))<br>
&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0if (ptdev-&gt;msi_trans_en) {<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PT_LOG(&quot;guest enabling MSI, di=
sable MSI-INTx translation\n&quot;);<br>
&gt; diff --git a/hw/pt-msi.c b/hw/pt-msi.c<br>
&gt; index 70c4023..99f9afd 100644<br>
&gt; --- a/hw/pt-msi.c<br>
&gt; +++ b/hw/pt-msi.c<br>
&gt; @@ -67,12 +67,6 @@ int pt_msi_setup(struct pt_dev *dev)<br>
&gt; =A0 =A0 =A0int pirq =3D -1;<br>
&gt; =A0 =A0 =A0uint8_t gvec =3D 0;<br>
&gt;<br>
&gt; - =A0 =A0if ( !(dev-&gt;msi-&gt;flags &amp; MSI_FLAG_UNINIT) )<br>
&gt; - =A0 =A0{<br>
&gt; - =A0 =A0 =A0 =A0PT_LOG(&quot;Error: setup physical after initialized?=
? \n&quot;);<br>
&gt; - =A0 =A0 =A0 =A0return -1;<br>
&gt; - =A0 =A0}<br>
&gt; -<br>
&gt; =A0 =A0 =A0gvec =3D dev-&gt;msi-&gt;data &amp; 0xFF;<br>
&gt; =A0 =A0 =A0if (!gvec) {<br>
&gt; =A0 =A0 =A0 =A0 =A0/* if gvec is 0, the guest is asking for a particul=
ar pirq that<br>
<br>
The patch makes sense.<br>
Only one last comment, sorry for not having noticed this before, but<br>
there might be another (flags &amp; MSI_FLAG_UNINIT) check that should<br>
probably be changed into msi_is_enable in pt_msi_disable.<br>
</blockquote></div><br>Also I think that we should always call pt_msi_setup=
 (the first time) even if the MSI are set in the config space.<br>It should=
 maybe look like my first patch.<br><br>Jean<br><br>

--bcaec501c52c70e37304c0c51ad3--


--===============1912854383881489163==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1912854383881489163==--


From xen-devel-bounces@lists.xen.org Thu May 24 09:45:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 09:45:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXUbH-00086q-Kn; Thu, 24 May 2012 09:44:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXUbG-00086d-MA
	for xen-devel@lists.xen.org; Thu, 24 May 2012 09:44:55 +0000
Received: from [85.158.139.83:52493] by server-1.bemta-5.messagelabs.com id
	91/B3-21549-5130EBF4; Thu, 24 May 2012 09:44:53 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337852691!27391610!1
X-Originating-IP: [209.85.220.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_30_40,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30379 invoked from network); 24 May 2012 09:44:52 -0000
Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com)
	(209.85.220.173)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 09:44:52 -0000
Received: by vcbfo13 with SMTP id fo13so1778529vcb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 02:44:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=UZ7Kl08vaoTQASFHIG+Odkd6bq8StfdGh64iLBoBdiU=;
	b=i7gmS9uAca2VN2WXpINCJOyj9f0uCs5LTMrkModXUmo6JBbsFmf8XO+tZqHWHUxj0q
	PEl1lP8AE44En9BJS0G+eWg/z03aS8SN7TqgFmUHVU6su8csrmvmSLDBoIQOng5PjHjk
	dvmCGCUnlGYm3e9UpTwUSf28o4NmNDwdwDDFgr8uKX6vfgGd7cdQLmAhNhejDclHJer2
	Hag73FtWecAXuX8Wx6LBdh75mEXqD+J+x6sDt9B30k0jHatzWddUxuJbUG096OUcwfxS
	e095kdGOKd+WNOrRhVjZrBSNItUEVi6ePdsGKtPUYOMSoDaFXsQOizQehoozrgBwBgi9
	b3IQ==
Received: by 10.52.70.242 with SMTP id p18mr8869215vdu.97.1337852691538; Thu,
	24 May 2012 02:44:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Thu, 24 May 2012 02:44:31 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205111703571.26786@kaball-desktop>
References: <CAEBdQ90RhbfBSYg0fyvaHL54mdYKFSfFCGKqvFK_65C2ftB-bw@mail.gmail.com>
	<alpine.DEB.2.00.1205111703571.26786@kaball-desktop>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 24 May 2012 10:44:31 +0100
Message-ID: <CAEBdQ92VCMuqjjzDcnyb7k7pwO_0fSemaWeA99jnEu0qBgAmug@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-traditional: Enable MSI after host
	sleep (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1912854383881489163=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============1912854383881489163==
Content-Type: multipart/alternative; boundary=bcaec501c52c70e37304c0c51ad3

--bcaec501c52c70e37304c0c51ad3
Content-Type: text/plain; charset=ISO-8859-1

On 11 May 2012 17:06, Stefano Stabellini
<stefano.stabellini@eu.citrix.com>wrote:

> On Thu, 10 May 2012, Jean Guyader wrote:
> > After a host sleep MSI will be off on the host but qemu still thinks
> > it's on because of some state that have been set previously.
> >
> > If qemu thinks that the device has been configure already
> > and the host MSI are disabled tell Xen to reconfigure the MSI.
> >
> > Signed-off-by: Jean Guyader <jean.guyader@gmail.com>
> >
> > diff --git a/hw/pass-through.c b/hw/pass-through.c
> > index f832c5a..a6a9b7a 100644
> > --- a/hw/pass-through.c
> > +++ b/hw/pass-through.c
> > @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev
> *ptdev,
> >      return 0;
> >  }
> >
> > +static int msi_is_enable(struct pt_dev *dev)
> > +{
> > +    uint16_t val = 0;
> > +    uint32_t address = 0;
> > +    if (!dev->msi)
> > +        return 0;
> > +
> > +    address = dev->msi->ctrl_offset;
> > +    if (!address)
> > +        return 0;
> > +
> > +    val = pci_read_word(dev->pci_dev, address);
> > +    return val & PCI_MSI_FLAGS_ENABLE;
> > +}
> > +
> >  /* write Message Control register */
> >  static int pt_msgctrl_reg_write(struct pt_dev *ptdev,
> >      struct pt_reg_tbl *cfg_entry,
> > @@ -3803,8 +3818,7 @@ static int pt_msgctrl_reg_write(struct pt_dev
> *ptdev,
> >      /* update MSI */
> >      if (val & PCI_MSI_FLAGS_ENABLE)
> >      {
> > -        /* setup MSI pirq for the first time */
> > -        if (ptdev->msi->flags & MSI_FLAG_UNINIT)
> > +        if (!msi_is_enable(ptdev))
> >          {
> >              if (ptdev->msi_trans_en) {
> >                  PT_LOG("guest enabling MSI, disable MSI-INTx
> translation\n");
> > diff --git a/hw/pt-msi.c b/hw/pt-msi.c
> > index 70c4023..99f9afd 100644
> > --- a/hw/pt-msi.c
> > +++ b/hw/pt-msi.c
> > @@ -67,12 +67,6 @@ int pt_msi_setup(struct pt_dev *dev)
> >      int pirq = -1;
> >      uint8_t gvec = 0;
> >
> > -    if ( !(dev->msi->flags & MSI_FLAG_UNINIT) )
> > -    {
> > -        PT_LOG("Error: setup physical after initialized?? \n");
> > -        return -1;
> > -    }
> > -
> >      gvec = dev->msi->data & 0xFF;
> >      if (!gvec) {
> >          /* if gvec is 0, the guest is asking for a particular pirq that
>
> The patch makes sense.
> Only one last comment, sorry for not having noticed this before, but
> there might be another (flags & MSI_FLAG_UNINIT) check that should
> probably be changed into msi_is_enable in pt_msi_disable.
>

Also I think that we should always call pt_msi_setup (the first time) even
if the MSI are set in the config space.
It should maybe look like my first patch.

Jean

--bcaec501c52c70e37304c0c51ad3
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On 11 May 2012 17:06, Stefano Stabellini <span d=
ir=3D"ltr">&lt;<a href=3D"mailto:stefano.stabellini@eu.citrix.com" target=
=3D"_blank">stefano.stabellini@eu.citrix.com</a>&gt;</span> wrote:<br><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex">

<div class=3D"HOEnZb"><div class=3D"h5">On Thu, 10 May 2012, Jean Guyader w=
rote:<br>
&gt; After a host sleep MSI will be off on the host but qemu still thinks<b=
r>
&gt; it&#39;s on because of some state that have been set previously.<br>
&gt;<br>
&gt; If qemu thinks that the device has been configure already<br>
&gt; and the host MSI are disabled tell Xen to reconfigure the MSI.<br>
&gt;<br>
&gt; Signed-off-by: Jean Guyader &lt;<a href=3D"mailto:jean.guyader@gmail.c=
om">jean.guyader@gmail.com</a>&gt;<br>
&gt;<br>
</div></div>&gt; diff --git a/hw/pass-through.c b/hw/pass-through.c<br>
&gt; index f832c5a..a6a9b7a 100644<br>
&gt; --- a/hw/pass-through.c<br>
&gt; +++ b/hw/pass-through.c<br>
&gt; @@ -3772,6 +3772,21 @@ static int pt_pmcsr_reg_write(struct pt_dev *pt=
dev,<br>
&gt; =A0 =A0 =A0return 0;<br>
&gt; =A0}<br>
&gt;<br>
&gt; +static int msi_is_enable(struct pt_dev *dev)<br>
&gt; +{<br>
&gt; + =A0 =A0uint16_t val =3D 0;<br>
&gt; + =A0 =A0uint32_t address =3D 0;<br>
&gt; + =A0 =A0if (!dev-&gt;msi)<br>
&gt; + =A0 =A0 =A0 =A0return 0;<br>
&gt; +<br>
&gt; + =A0 =A0address =3D dev-&gt;msi-&gt;ctrl_offset;<br>
&gt; + =A0 =A0if (!address)<br>
&gt; + =A0 =A0 =A0 =A0return 0;<br>
&gt; +<br>
&gt; + =A0 =A0val =3D pci_read_word(dev-&gt;pci_dev, address);<br>
&gt; + =A0 =A0return val &amp; PCI_MSI_FLAGS_ENABLE;<br>
&gt; +}<br>
&gt; +<br>
&gt; =A0/* write Message Control register */<br>
&gt; =A0static int pt_msgctrl_reg_write(struct pt_dev *ptdev,<br>
&gt; =A0 =A0 =A0struct pt_reg_tbl *cfg_entry,<br>
&gt; @@ -3803,8 +3818,7 @@ static int pt_msgctrl_reg_write(struct pt_dev *p=
tdev,<br>
&gt; =A0 =A0 =A0/* update MSI */<br>
&gt; =A0 =A0 =A0if (val &amp; PCI_MSI_FLAGS_ENABLE)<br>
&gt; =A0 =A0 =A0{<br>
&gt; - =A0 =A0 =A0 =A0/* setup MSI pirq for the first time */<br>
&gt; - =A0 =A0 =A0 =A0if (ptdev-&gt;msi-&gt;flags &amp; MSI_FLAG_UNINIT)<br=
>
&gt; + =A0 =A0 =A0 =A0if (!msi_is_enable(ptdev))<br>
&gt; =A0 =A0 =A0 =A0 =A0{<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0if (ptdev-&gt;msi_trans_en) {<br>
&gt; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0PT_LOG(&quot;guest enabling MSI, di=
sable MSI-INTx translation\n&quot;);<br>
&gt; diff --git a/hw/pt-msi.c b/hw/pt-msi.c<br>
&gt; index 70c4023..99f9afd 100644<br>
&gt; --- a/hw/pt-msi.c<br>
&gt; +++ b/hw/pt-msi.c<br>
&gt; @@ -67,12 +67,6 @@ int pt_msi_setup(struct pt_dev *dev)<br>
&gt; =A0 =A0 =A0int pirq =3D -1;<br>
&gt; =A0 =A0 =A0uint8_t gvec =3D 0;<br>
&gt;<br>
&gt; - =A0 =A0if ( !(dev-&gt;msi-&gt;flags &amp; MSI_FLAG_UNINIT) )<br>
&gt; - =A0 =A0{<br>
&gt; - =A0 =A0 =A0 =A0PT_LOG(&quot;Error: setup physical after initialized?=
? \n&quot;);<br>
&gt; - =A0 =A0 =A0 =A0return -1;<br>
&gt; - =A0 =A0}<br>
&gt; -<br>
&gt; =A0 =A0 =A0gvec =3D dev-&gt;msi-&gt;data &amp; 0xFF;<br>
&gt; =A0 =A0 =A0if (!gvec) {<br>
&gt; =A0 =A0 =A0 =A0 =A0/* if gvec is 0, the guest is asking for a particul=
ar pirq that<br>
<br>
The patch makes sense.<br>
Only one last comment, sorry for not having noticed this before, but<br>
there might be another (flags &amp; MSI_FLAG_UNINIT) check that should<br>
probably be changed into msi_is_enable in pt_msi_disable.<br>
</blockquote></div><br>Also I think that we should always call pt_msi_setup=
 (the first time) even if the MSI are set in the config space.<br>It should=
 maybe look like my first patch.<br><br>Jean<br><br>

--bcaec501c52c70e37304c0c51ad3--


--===============1912854383881489163==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1912854383881489163==--


From xen-devel-bounces@lists.xen.org Thu May 24 10:11:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXV0E-0000NF-GP; Thu, 24 May 2012 10:10:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXV0D-0000NA-K0
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:10:41 +0000
Received: from [85.158.143.35:20481] by server-1.bemta-4.messagelabs.com id
	0A/E3-00342-0290EBF4; Thu, 24 May 2012 10:10:40 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337854238!15779458!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyMjcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20603 invoked from network); 24 May 2012 10:10:39 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-13.tower-21.messagelabs.com with SMTP;
	24 May 2012 10:10:39 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 03:10:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147220751"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 03:10:37 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 03:10:37 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 24 May 2012 18:10:35 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <borislav.petkov@amd.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: AQHNN/ybbJSbBggbSyWVZxOOOr38ZpbYtUrg
Date: Thu, 24 May 2012 10:10:34 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
In-Reply-To: <20120522092354.GB18578@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Tue, May 22, 2012 at 05:45:04AM +0000, Liu, Jinsong wrote:
>> From 4df7496eea9e92a3e267ffb0a4b8f5e6e0c29c36 Mon Sep 17 00:00:00
>> 2001 
>> From: Liu, Jinsong <jinsong.liu@intel.com>
>> Date: Mon, 21 May 2012 05:07:47 +0800
>> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
>> 
>> When MCA error occurs, it would be handled by Xen hypervisor first,
>> and then the error information would be sent to initial domain for
>> logging. 
>> 
>> This patch gets error information from Xen hypervisor and convert
>> Xen format error into Linux format mcelog. This logic is basically
>> self-contained, not touching other kernel components.
>> 
>> By using tools like mcelog tool users could read specific error
>> information, 
>> like what they did under native Linux.
>> 
>> To test follow directions outlined in
>> Documentation/acpi/apei/einj.txt 
>> 
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>> Signed-off-by: Ke, Liping <liping.ke@intel.com>
>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> 
> If you're sending the patch, you need to be the last on the SOB-chain
> and the SOB-chain has to show the proper path the patch took. See
> <Documentation/SubmittingPatches>.

Thanks! I will update it.
But I'm not quite clear 'the SOB-chain has to show the proper path the patch took', would you elaborate more?

> 
>> ---
>>  arch/x86/include/asm/xen/hypercall.h |    8 +
>>  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
>>  arch/x86/xen/enlighten.c             |    9 +-
>>  drivers/xen/Kconfig                  |    8 +
>>  drivers/xen/Makefile                 |    1 +
>>  drivers/xen/mcelog.c                 |  395
>>  ++++++++++++++++++++++++++++++++++ include/linux/miscdevice.h      
>>  |    1 + include/xen/interface/xen-mca.h      |  389
>>  +++++++++++++++++++++++++++++++++ 8 files changed, 809
>>  insertions(+), 6 deletions(-) create mode 100644
>>  drivers/xen/mcelog.c create mode 100644
>> include/xen/interface/xen-mca.h 
>> 
>> diff --git a/arch/x86/include/asm/xen/hypercall.h
>> b/arch/x86/include/asm/xen/hypercall.h index 5728852..59c226d 100644
>> --- a/arch/x86/include/asm/xen/hypercall.h +++
>> b/arch/x86/include/asm/xen/hypercall.h @@ -48,6 +48,7 @@
>>  #include <xen/interface/sched.h>
>>  #include <xen/interface/physdev.h>
>>  #include <xen/interface/platform.h>
>> +#include <xen/interface/xen-mca.h>
>> 
>>  /*
>>   * The hypercall asms have to meet several constraints:
>> @@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)  }
>> 
>>  static inline int
>> +HYPERVISOR_mca(struct xen_mc *mc_op)
>> +{
>> +	mc_op->interface_version = XEN_MCA_INTERFACE_VERSION;
>> +	return _hypercall1(int, mca, mc_op);
>> +}
>> +
>> +static inline int
>>  HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)  {
>>  	platform_op->interface_version = XENPF_INTERFACE_VERSION;
>> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c
>> b/arch/x86/kernel/cpu/mcheck/mce.c 
>> index d086a09..24b2e86 100644
>> --- a/arch/x86/kernel/cpu/mcheck/mce.c
>> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
>> @@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
>> 
>>  int mce_disabled __read_mostly;
>> 
>> -#define MISC_MCELOG_MINOR	227
>> -
>>  #define SPINUNIT 100	/* 100ns */
>> 
>>  atomic_t mce_entry;
>> @@ -1791,7 +1789,7 @@ static const struct file_operations
>>  mce_chrdev_ops = {  	.llseek			= no_llseek, };
>> 
>> -static struct miscdevice mce_chrdev_device = {
>> +struct miscdevice mce_chrdev_device = {
>>  	MISC_MCELOG_MINOR,
>>  	"mcelog",
>>  	&mce_chrdev_ops,
> 
> You're still reusing those - pls, define your own 'struct miscdevice
> mce_chrdev_device' in drivers/xen/ or somewhere convenient and
> your own mce_chrdev_ops. The only thing you should be touching in
> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> 
> Thanks.

I'm *not* reuse native code.
I have defined 'struct miscdevice xen_mce_chrdev_device' in drivers/xen, and I also implement xen_mce_chrdev_ops, they are all xen-self-contained.

The patch just redirect native mce_chrdev_device to xen_mce_chrdev_device when running under xen environment.
It didn't change any native code (except just cancel mce_chrdev_device 'static'), and will not break native logic.

The benefit is, userspace tools like mcelog can use the unified interface (/dev/mcelog) to get mcelog, no matter it running under bare metal or xen virtual platform.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:11:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXV0E-0000NF-GP; Thu, 24 May 2012 10:10:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXV0D-0000NA-K0
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:10:41 +0000
Received: from [85.158.143.35:20481] by server-1.bemta-4.messagelabs.com id
	0A/E3-00342-0290EBF4; Thu, 24 May 2012 10:10:40 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337854238!15779458!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyMjcw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20603 invoked from network); 24 May 2012 10:10:39 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-13.tower-21.messagelabs.com with SMTP;
	24 May 2012 10:10:39 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 03:10:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147220751"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 03:10:37 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 03:10:37 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 24 May 2012 18:10:35 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <borislav.petkov@amd.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: AQHNN/ybbJSbBggbSyWVZxOOOr38ZpbYtUrg
Date: Thu, 24 May 2012 10:10:34 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
In-Reply-To: <20120522092354.GB18578@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Tue, May 22, 2012 at 05:45:04AM +0000, Liu, Jinsong wrote:
>> From 4df7496eea9e92a3e267ffb0a4b8f5e6e0c29c36 Mon Sep 17 00:00:00
>> 2001 
>> From: Liu, Jinsong <jinsong.liu@intel.com>
>> Date: Mon, 21 May 2012 05:07:47 +0800
>> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
>> 
>> When MCA error occurs, it would be handled by Xen hypervisor first,
>> and then the error information would be sent to initial domain for
>> logging. 
>> 
>> This patch gets error information from Xen hypervisor and convert
>> Xen format error into Linux format mcelog. This logic is basically
>> self-contained, not touching other kernel components.
>> 
>> By using tools like mcelog tool users could read specific error
>> information, 
>> like what they did under native Linux.
>> 
>> To test follow directions outlined in
>> Documentation/acpi/apei/einj.txt 
>> 
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>> Signed-off-by: Ke, Liping <liping.ke@intel.com>
>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> 
> If you're sending the patch, you need to be the last on the SOB-chain
> and the SOB-chain has to show the proper path the patch took. See
> <Documentation/SubmittingPatches>.

Thanks! I will update it.
But I'm not quite clear 'the SOB-chain has to show the proper path the patch took', would you elaborate more?

> 
>> ---
>>  arch/x86/include/asm/xen/hypercall.h |    8 +
>>  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
>>  arch/x86/xen/enlighten.c             |    9 +-
>>  drivers/xen/Kconfig                  |    8 +
>>  drivers/xen/Makefile                 |    1 +
>>  drivers/xen/mcelog.c                 |  395
>>  ++++++++++++++++++++++++++++++++++ include/linux/miscdevice.h      
>>  |    1 + include/xen/interface/xen-mca.h      |  389
>>  +++++++++++++++++++++++++++++++++ 8 files changed, 809
>>  insertions(+), 6 deletions(-) create mode 100644
>>  drivers/xen/mcelog.c create mode 100644
>> include/xen/interface/xen-mca.h 
>> 
>> diff --git a/arch/x86/include/asm/xen/hypercall.h
>> b/arch/x86/include/asm/xen/hypercall.h index 5728852..59c226d 100644
>> --- a/arch/x86/include/asm/xen/hypercall.h +++
>> b/arch/x86/include/asm/xen/hypercall.h @@ -48,6 +48,7 @@
>>  #include <xen/interface/sched.h>
>>  #include <xen/interface/physdev.h>
>>  #include <xen/interface/platform.h>
>> +#include <xen/interface/xen-mca.h>
>> 
>>  /*
>>   * The hypercall asms have to meet several constraints:
>> @@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)  }
>> 
>>  static inline int
>> +HYPERVISOR_mca(struct xen_mc *mc_op)
>> +{
>> +	mc_op->interface_version = XEN_MCA_INTERFACE_VERSION;
>> +	return _hypercall1(int, mca, mc_op);
>> +}
>> +
>> +static inline int
>>  HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)  {
>>  	platform_op->interface_version = XENPF_INTERFACE_VERSION;
>> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c
>> b/arch/x86/kernel/cpu/mcheck/mce.c 
>> index d086a09..24b2e86 100644
>> --- a/arch/x86/kernel/cpu/mcheck/mce.c
>> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
>> @@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
>> 
>>  int mce_disabled __read_mostly;
>> 
>> -#define MISC_MCELOG_MINOR	227
>> -
>>  #define SPINUNIT 100	/* 100ns */
>> 
>>  atomic_t mce_entry;
>> @@ -1791,7 +1789,7 @@ static const struct file_operations
>>  mce_chrdev_ops = {  	.llseek			= no_llseek, };
>> 
>> -static struct miscdevice mce_chrdev_device = {
>> +struct miscdevice mce_chrdev_device = {
>>  	MISC_MCELOG_MINOR,
>>  	"mcelog",
>>  	&mce_chrdev_ops,
> 
> You're still reusing those - pls, define your own 'struct miscdevice
> mce_chrdev_device' in drivers/xen/ or somewhere convenient and
> your own mce_chrdev_ops. The only thing you should be touching in
> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> 
> Thanks.

I'm *not* reuse native code.
I have defined 'struct miscdevice xen_mce_chrdev_device' in drivers/xen, and I also implement xen_mce_chrdev_ops, they are all xen-self-contained.

The patch just redirect native mce_chrdev_device to xen_mce_chrdev_device when running under xen environment.
It didn't change any native code (except just cancel mce_chrdev_device 'static'), and will not break native logic.

The benefit is, userspace tools like mcelog can use the unified interface (/dev/mcelog) to get mcelog, no matter it running under bare metal or xen virtual platform.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:14:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXV3G-0000Si-3h; Thu, 24 May 2012 10:13:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXV3E-0000Sd-Rx
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:13:49 +0000
Received: from [85.158.139.83:15904] by server-11.bemta-5.messagelabs.com id
	B5/6B-12711-CD90EBF4; Thu, 24 May 2012 10:13:48 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337854427!16337921!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 778 invoked from network); 24 May 2012 10:13:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:13:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12645392"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:13:46 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:13:47 +0100
Date: Thu, 24 May 2012 11:13:31 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205241108560.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
	<1336120233.26385.10.camel@dagon.hellion.org.uk>
	<CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>, "Keir
	\(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 24 May 2012, ZhouPeng wrote:
> Sorry for late reply, I am not on this mail these days because of my work.
> 
> I further test qxl-vga and I think I figure out the problem in some extend.
> 
> If using qxl device, the default memory size of vga is 64M.
> Which will cause xen_ram_alloc(qemu/xen-all.c) fails.
> 
> The exact reason is xc_domain_populate_physmap_exact fails, because
> xen-hypervisor
> fail,
> it's because of   alloc_domheap_pages(d, a->extent_order, a->memflags)
> fails in hypervisor.
> 
> I am not very familiar with xen's memory management, Does 64M exceed
> xen's heap space in this context?

XL sets an upper bound of memory that can be allocated to the VM in
libxl__build_pre, calling xc_domain_setmaxmem.
My guess is that a 64MB allocation would go over that limit.
You could try increasing the limit manually changing the
xc_domain_setmaxmem call in libxl__build_pre, or you could try setting
videoram=64 in the VM config file.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:14:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXV3G-0000Si-3h; Thu, 24 May 2012 10:13:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXV3E-0000Sd-Rx
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:13:49 +0000
Received: from [85.158.139.83:15904] by server-11.bemta-5.messagelabs.com id
	B5/6B-12711-CD90EBF4; Thu, 24 May 2012 10:13:48 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337854427!16337921!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 778 invoked from network); 24 May 2012 10:13:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:13:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12645392"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:13:46 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:13:47 +0100
Date: Thu, 24 May 2012 11:13:31 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: ZhouPeng <zpengxen@gmail.com>
In-Reply-To: <CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205241108560.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
	<1336120233.26385.10.camel@dagon.hellion.org.uk>
	<CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Fantu <fantonifabio@tiscali.it>, "Keir
	\(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 24 May 2012, ZhouPeng wrote:
> Sorry for late reply, I am not on this mail these days because of my work.
> 
> I further test qxl-vga and I think I figure out the problem in some extend.
> 
> If using qxl device, the default memory size of vga is 64M.
> Which will cause xen_ram_alloc(qemu/xen-all.c) fails.
> 
> The exact reason is xc_domain_populate_physmap_exact fails, because
> xen-hypervisor
> fail,
> it's because of   alloc_domheap_pages(d, a->extent_order, a->memflags)
> fails in hypervisor.
> 
> I am not very familiar with xen's memory management, Does 64M exceed
> xen's heap space in this context?

XL sets an upper bound of memory that can be allocated to the VM in
libxl__build_pre, calling xc_domain_setmaxmem.
My guess is that a 64MB allocation would go over that limit.
You could try increasing the limit manually changing the
xc_domain_setmaxmem call in libxl__build_pre, or you could try setting
videoram=64 in the VM config file.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVD9-0000fh-Vx; Thu, 24 May 2012 10:24:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD8-0000f6-LM
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:02 +0000
Received: from [85.158.143.35:37160] by server-3.bemta-4.messagelabs.com id
	E5/D1-05853-24C0EBF4; Thu, 24 May 2012 10:24:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16326 invoked from network); 24 May 2012 10:24:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307692"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-51;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:57 +0100
Message-ID: <1337855045-10428-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 02/10] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 670a17b..bd71844 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1070,44 +1070,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1849,6 +1811,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVD9-0000fh-Vx; Thu, 24 May 2012 10:24:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD8-0000f6-LM
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:02 +0000
Received: from [85.158.143.35:37160] by server-3.bemta-4.messagelabs.com id
	E5/D1-05853-24C0EBF4; Thu, 24 May 2012 10:24:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16326 invoked from network); 24 May 2012 10:24:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307692"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-51;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:57 +0100
Message-ID: <1337855045-10428-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 02/10] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 670a17b..bd71844 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1070,44 +1070,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1849,6 +1811,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDB-0000gc-4Q; Thu, 24 May 2012 10:24:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD9-0000fS-Ng
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:04 +0000
Received: from [193.109.254.147:36795] by server-6.bemta-14.messagelabs.com id
	1F/F9-04960-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10159 invoked from network); 24 May 2012 10:24:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603898"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-71;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:00 +0100
Message-ID: <1337855045-10428-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 05/10] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++-----
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   70 +++++++++++++++++++++++++++++++++++++-----
 tools/libxl/libxl_device.c   |   18 +++++++++++
 tools/libxl/libxl_dm.c       |   54 ++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   11 ++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 176 insertions(+), 21 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7147869..a5fc42d 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2026,12 +2026,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2062,7 +2077,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2103,6 +2119,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2113,18 +2132,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 44c3949..35aa03f 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -698,7 +698,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index d1a4016..7466498 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -737,13 +742,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -816,7 +819,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -836,6 +838,58 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                          dcs->num_devices);
+
+    if (rc > 0) return;
+    if (rc) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(rc);
+    domcreate_complete(egc, dcs, rc);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6c9bbc2..9933cc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
     }
 }
 
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_vifs);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_vifs; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 9903fb7..72483ce 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -840,9 +846,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -919,9 +927,49 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(aodev->base, *sdss, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                     sdss->num_devices);
+
+    if (rc > 0) return;
+    if (rc)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, rc);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 963e734..44c7c66 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1818,6 +1818,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aodev);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aodev);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1921,6 +1926,12 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback callback);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5f15b4c..a1883b5 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5223,7 +5223,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDB-0000gc-4Q; Thu, 24 May 2012 10:24:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD9-0000fS-Ng
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:04 +0000
Received: from [193.109.254.147:36795] by server-6.bemta-14.messagelabs.com id
	1F/F9-04960-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10159 invoked from network); 24 May 2012 10:24:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603898"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-71;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:00 +0100
Message-ID: <1337855045-10428-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 05/10] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++-----
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   70 +++++++++++++++++++++++++++++++++++++-----
 tools/libxl/libxl_device.c   |   18 +++++++++++
 tools/libxl/libxl_dm.c       |   54 ++++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   11 ++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 176 insertions(+), 21 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7147869..a5fc42d 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2026,12 +2026,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2062,7 +2077,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2103,6 +2119,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2113,18 +2132,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 44c3949..35aa03f 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -698,7 +698,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index d1a4016..7466498 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
 static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -737,13 +742,11 @@ static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -816,7 +819,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -836,6 +838,58 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_nic_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                          dcs->num_devices);
+
+    if (rc > 0) return;
+    if (rc) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto error_out;
+    }
+
+    domcreate_attach_pci(egc, dcs);
+    return;
+
+error_out:
+    assert(rc);
+    domcreate_complete(egc, dcs, rc);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 6c9bbc2..9933cc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
     }
 }
 
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_vifs);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_vifs; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 9903fb7..72483ce 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -675,6 +675,12 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
 static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
 
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -840,9 +846,11 @@ static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -919,9 +927,49 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, stubdom_dmss, rc);
+}
+
+static void stubdom_nics_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(aodev->base, *sdss, devices);
+    int rc = 0;
+
+    rc = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                     sdss->num_devices);
+
+    if (rc > 0) return;
+    if (rc)
+        LOGE(ERROR, "error connecting nics devices");
+
+    stubdom_pvqemu_cb(egc, &sdss->pvqemu, rc);
+    return;
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__dm_spawn_state *stubdom_dmss,
+                              int rc)
+{
+    libxl__stub_dm_spawn_state *sdss =
+        CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 963e734..44c7c66 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1818,6 +1818,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aodev);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aodev);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1921,6 +1926,12 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback callback);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5f15b4c..a1883b5 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5223,7 +5223,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVD9-0000fX-Je; Thu, 24 May 2012 10:24:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD8-0000f6-1k
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:02 +0000
Received: from [85.158.143.35:37037] by server-3.bemta-4.messagelabs.com id
	86/C1-05853-14C0EBF4; Thu, 24 May 2012 10:24:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16209 invoked from network); 24 May 2012 10:24:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307691"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-2S	for xen-devel@lists.xen.org;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:55 +0100
Message-ID: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v4 0/10] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Patches 1-4 from the previous series are already commited, so they are 
removed from v4.

Pending:

[PATCH v3 01/10] libxl: change libxl__ao_device_remove to
[PATCH v3 02/10] libxl: move device model creation prototypes
[PATCH v3 03/10] libxl: convert libxl_domain_destroy to an async op
[PATCH v3 04/10] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v3 05/10] libxl: convert libxl_device_nic_add to an async
[PATCH v3 06/10] libxl: add option to choose who executes hotplug
[PATCH v3 07/10] libxl: set nic type to VIF by default
[PATCH v3 08/10] libxl: call hotplug scripts for disk devices from
[PATCH v3 09/10] libxl: call hotplug scripts for nic devices from
[PATCH v3 10/10] libxl: use libxl__xs_path_cleanup on device_destroy

Changes since v3:

 * Fixed Python bindings.

 * Fixed a mess in macro declaration DEFINE_DEVICE_REMOVE.

 * Updated to upstream.

Changes since v2:

 * Fixed IanJ comments.

Changes since v1:

 * Removed all the unecessary code motion and code cleanup

 * Split "convert libxl_domain_destroy to an async op" into two 
   separate patches.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVD9-0000fX-Je; Thu, 24 May 2012 10:24:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD8-0000f6-1k
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:02 +0000
Received: from [85.158.143.35:37037] by server-3.bemta-4.messagelabs.com id
	86/C1-05853-14C0EBF4; Thu, 24 May 2012 10:24:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16209 invoked from network); 24 May 2012 10:24:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307691"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-2S	for xen-devel@lists.xen.org;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:55 +0100
Message-ID: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v4 0/10] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Patches 1-4 from the previous series are already commited, so they are 
removed from v4.

Pending:

[PATCH v3 01/10] libxl: change libxl__ao_device_remove to
[PATCH v3 02/10] libxl: move device model creation prototypes
[PATCH v3 03/10] libxl: convert libxl_domain_destroy to an async op
[PATCH v3 04/10] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v3 05/10] libxl: convert libxl_device_nic_add to an async
[PATCH v3 06/10] libxl: add option to choose who executes hotplug
[PATCH v3 07/10] libxl: set nic type to VIF by default
[PATCH v3 08/10] libxl: call hotplug scripts for disk devices from
[PATCH v3 09/10] libxl: call hotplug scripts for nic devices from
[PATCH v3 10/10] libxl: use libxl__xs_path_cleanup on device_destroy

Changes since v3:

 * Fixed Python bindings.

 * Fixed a mess in macro declaration DEFINE_DEVICE_REMOVE.

 * Updated to upstream.

Changes since v2:

 * Fixed IanJ comments.

Changes since v1:

 * Removed all the unecessary code motion and code cleanup

 * Split "convert libxl_domain_destroy to an async op" into two 
   separate patches.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDB-0000h2-V1; Thu, 24 May 2012 10:24:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDA-0000fe-Bw
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:04 +0000
Received: from [85.158.138.51:24168] by server-6.bemta-3.messagelabs.com id
	03/02-18175-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337855041!28838434!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18189 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603899"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-E4;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:04 +0100
Message-ID: <1337855045-10428-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 09/10] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Changes since v2:

 * Change libxl__nic_type to return the value in a parameter passed by
   the caller.

 * Rename vif_execute to num_exec, to represent the number of times
   hotplug scripts have been called for that device.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   46 ++++++++++++++++-
 tools/libxl/libxl_internal.h          |    6 ++-
 tools/libxl/libxl_linux.c             |   92 +++++++++++++++++++++++++++++++-
 4 files changed, 142 insertions(+), 8 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 8e1ec0f..5c840f8 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,29 @@ out:
     return numdevs;
 }
 
+int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype)
+{
+    char *snictype, *be_path;
+    int rc = 0;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = libxl_nic_type_from_string(snictype, nictype);
+    if (rc) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        goto out;
+    }
+
+out:
+    return rc;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -723,7 +746,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->num_exec);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -789,6 +813,8 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
 {
     libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
     STATE_AO_GC(aodev->ao);
+    libxl_nic_type nictype;
+    int rc;
 
     libxl__ev_time_deregister(gc, &aodev->ev);
 
@@ -797,7 +823,25 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        aodev->num_exec == 0) {
+        rc = libxl__nic_type(gc, aodev->dev, &nictype);
+        if (rc) {
+            LOG(ERROR, "unable to get type of nic device");
+            aodev->rc = rc;
+            goto out;
+        }
+        if (nictype == LIBXL_NIC_TYPE_IOEMU) {
+            aodev->num_exec++;
+            device_hotplug(egc, aodev);
+            return;
+        }
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index da5b02b..766f1f3 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -803,6 +803,8 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden int libxl__nic_type(libxl__gc *gc, libxl__device *dev,
+                            libxl_nic_type *nictype);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1818,6 +1820,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int num_exec;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1860,7 +1863,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int num_exec);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 98cd25f..e1e2abe 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -34,7 +34,8 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     char *script;
     const char *type = libxl__device_kind_to_string(dev->backend_kind);
     char **env;
-    int nr = 0, arraysize = 9;
+    int nr = 0, arraysize = 13;
+    libxl_nic_type nictype;
 
     script = libxl__xs_read(gc, XBT_NULL,
                             GCSPRINTF("%s/%s", be_path, "script"));
@@ -52,14 +53,94 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        if (libxl__nic_type(gc, dev, &nictype)) {
+            LOG(ERROR, "unable to get nictype");
+            return NULL;
+        }
+        switch (nictype) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
-    assert(nr == arraysize);
+    assert(nr <= arraysize);
 
     return env;
 }
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int num_exec)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 4;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl__nic_type(gc, dev, &nictype);
+    if (rc) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (num_exec == 0) goto execute_vif;
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+        break;
+    default:
+        /* Unknown network type */
+        LOG(ERROR, "unknown network card type %s", be_path);
+        return 0;
+    }
+    assert(nr == arraysize);
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -96,7 +177,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -112,6 +194,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, num_exec);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDA-0000fv-C8; Thu, 24 May 2012 10:24:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD8-0000fB-Ny
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:03 +0000
Received: from [193.109.254.147:36652] by server-5.bemta-14.messagelabs.com id
	83/73-30733-24C0EBF4; Thu, 24 May 2012 10:24:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10084 invoked from network); 24 May 2012 10:24:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603897"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-4N;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:56 +0100
Message-ID: <1337855045-10428-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 01/10] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Changes since v2:

 * Remove unnecessary comments in libxl__ao_device.

 * Change libxl__device_cb to device_addrm_aocomplete.

 * Rename aorm parameter in device_addrm_aocomplete to aodev.

 * Use a macro to define {nic,disk,vkb,vfb}_{remove,destroy}
   functions.

 * Rename libxl__init_ao_device to libxl__prepare_ao_device and add a
   comment explaining why we need to set active to 1.

 * Replace al uses of aorm with aodev.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  211 ++++++++++++++----------------------------
 tools/libxl/libxl.h          |   15 ++-
 tools/libxl/libxl_device.c   |  113 +++++++++++++++--------
 tools/libxl/libxl_internal.h |   49 +++++++++--
 4 files changed, 197 insertions(+), 191 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index e3d05c2..7fdecf1 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1317,6 +1317,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void device_addrm_aocomplete(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+
+    if (aodev->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aodev->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1486,42 +1506,6 @@ out:
     return rc;
 }
 
-int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
-                             libxl_device_disk *disk,
-                             const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
                                           libxl_device_disk *disk)
@@ -1964,42 +1948,6 @@ out:
     return rc;
 }
 
-int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_nic *nic,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
                                          libxl_device_nic *nic)
@@ -2326,42 +2274,6 @@ out:
     return rc;
 }
 
-int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vkb *vkb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 /******************************************************************************/
 
 int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
@@ -2459,41 +2371,56 @@ out:
     return rc;
 }
 
-int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vfb *vfb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
+/******************************************************************************/
 
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/* Define all remove/destroy functions and undef the macro */
+
+/* disk */
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
+
+/* nic */
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
+
+/* vkb */
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
+
+/* vfb */
+
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
+DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
+
+#undef DEFINE_DEVICE_REMOVE
 
 /******************************************************************************/
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 316d290..24e4f43 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -674,7 +674,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -698,7 +699,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -709,14 +712,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..48f05f9 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                              libxl__ao_device **base)
+{
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,35 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aodev);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aodev)
 {
-    AO_GC;
+    STATE_AO_GC(aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aodev->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aodev->dev));
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,42 +480,73 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
+    libxl__ev_devstate_init(&aodev->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
+
+    device_backend_cleanup(gc, aodev);
+
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aodev->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    }
+
+out:
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
+{
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 52f5435..670a17b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -830,13 +830,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1814,6 +1807,48 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+/* This functions sets the necessary libxl__ao_device struct values to use
+ * safely inside functions. It marks the operation as "active"
+ * since we need to be sure that all device status structs are set
+ * to active before start queueing events, or we might call
+ * ao_complete before all devices had finished */
+_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                                      libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aodev);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDA-0000fv-C8; Thu, 24 May 2012 10:24:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD8-0000fB-Ny
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:03 +0000
Received: from [193.109.254.147:36652] by server-5.bemta-14.messagelabs.com id
	83/73-30733-24C0EBF4; Thu, 24 May 2012 10:24:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10084 invoked from network); 24 May 2012 10:24:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603897"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-4N;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:56 +0100
Message-ID: <1337855045-10428-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 01/10] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Changes since v2:

 * Remove unnecessary comments in libxl__ao_device.

 * Change libxl__device_cb to device_addrm_aocomplete.

 * Rename aorm parameter in device_addrm_aocomplete to aodev.

 * Use a macro to define {nic,disk,vkb,vfb}_{remove,destroy}
   functions.

 * Rename libxl__init_ao_device to libxl__prepare_ao_device and add a
   comment explaining why we need to set active to 1.

 * Replace al uses of aorm with aodev.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  211 ++++++++++++++----------------------------
 tools/libxl/libxl.h          |   15 ++-
 tools/libxl/libxl_device.c   |  113 +++++++++++++++--------
 tools/libxl/libxl_internal.h |   49 +++++++++--
 4 files changed, 197 insertions(+), 191 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index e3d05c2..7fdecf1 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1317,6 +1317,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void device_addrm_aocomplete(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+
+    if (aodev->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aodev->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1486,42 +1506,6 @@ out:
     return rc;
 }
 
-int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
-                             libxl_device_disk *disk,
-                             const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
                                           libxl_device_disk *disk)
@@ -1964,42 +1948,6 @@ out:
     return rc;
 }
 
-int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_nic *nic,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
                                          libxl_device_nic *nic)
@@ -2326,42 +2274,6 @@ out:
     return rc;
 }
 
-int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vkb *vkb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 /******************************************************************************/
 
 int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
@@ -2459,41 +2371,56 @@ out:
     return rc;
 }
 
-int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vfb *vfb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
+/******************************************************************************/
 
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/* Define all remove/destroy functions and undef the macro */
+
+/* disk */
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
+
+/* nic */
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
+
+/* vkb */
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
+
+/* vfb */
+
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
+DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
+
+#undef DEFINE_DEVICE_REMOVE
 
 /******************************************************************************/
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 316d290..24e4f43 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -674,7 +674,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -698,7 +699,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -709,14 +712,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..48f05f9 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                              libxl__ao_device **base)
+{
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,35 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aodev);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aodev)
 {
-    AO_GC;
+    STATE_AO_GC(aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
+    char *state;
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
 
+retry_transaction:
+    t = xs_transaction_start(ctx->xsh);
+    if (aodev->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aodev->dev));
+    state = libxl__xs_read(gc, t, state_path);
     if (!state)
         goto out_ok;
-    if (atoi(state) != 4) {
+    if (atoi(state) == XenbusStateClosed) {
         libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
         goto out_ok;
     }
-
-retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,42 +480,73 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
+    libxl__ev_devstate_init(&aodev->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 
  out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    if (t) xs_transaction_end(ctx->xsh, t, 0);
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
+
+    device_backend_cleanup(gc, aodev);
+
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aodev->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    } else if(rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    }
+
+out:
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
+{
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 52f5435..670a17b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -830,13 +830,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1814,6 +1807,48 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+/* This functions sets the necessary libxl__ao_device struct values to use
+ * safely inside functions. It marks the operation as "active"
+ * since we need to be sure that all device status structs are set
+ * to active before start queueing events, or we might call
+ * ao_complete before all devices had finished */
+_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                                      libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aodev);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDB-0000h2-V1; Thu, 24 May 2012 10:24:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDA-0000fe-Bw
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:04 +0000
Received: from [85.158.138.51:24168] by server-6.bemta-3.messagelabs.com id
	03/02-18175-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337855041!28838434!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18189 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603899"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-E4;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:04 +0100
Message-ID: <1337855045-10428-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 09/10] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Changes since v2:

 * Change libxl__nic_type to return the value in a parameter passed by
   the caller.

 * Rename vif_execute to num_exec, to represent the number of times
   hotplug scripts have been called for that device.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   46 ++++++++++++++++-
 tools/libxl/libxl_internal.h          |    6 ++-
 tools/libxl/libxl_linux.c             |   92 +++++++++++++++++++++++++++++++-
 4 files changed, 142 insertions(+), 8 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 8e1ec0f..5c840f8 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,29 @@ out:
     return numdevs;
 }
 
+int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype)
+{
+    char *snictype, *be_path;
+    int rc = 0;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = libxl_nic_type_from_string(snictype, nictype);
+    if (rc) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        goto out;
+    }
+
+out:
+    return rc;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -723,7 +746,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->num_exec);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -789,6 +813,8 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
 {
     libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
     STATE_AO_GC(aodev->ao);
+    libxl_nic_type nictype;
+    int rc;
 
     libxl__ev_time_deregister(gc, &aodev->ev);
 
@@ -797,7 +823,25 @@ static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        aodev->num_exec == 0) {
+        rc = libxl__nic_type(gc, aodev->dev, &nictype);
+        if (rc) {
+            LOG(ERROR, "unable to get type of nic device");
+            aodev->rc = rc;
+            goto out;
+        }
+        if (nictype == LIBXL_NIC_TYPE_IOEMU) {
+            aodev->num_exec++;
+            device_hotplug(egc, aodev);
+            return;
+        }
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index da5b02b..766f1f3 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -803,6 +803,8 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden int libxl__nic_type(libxl__gc *gc, libxl__device *dev,
+                            libxl_nic_type *nictype);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1818,6 +1820,7 @@ struct libxl__ao_device {
     /* device hotplug execution */
     pid_t pid;
     char *what;
+    int num_exec;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1860,7 +1863,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int num_exec);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 98cd25f..e1e2abe 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -34,7 +34,8 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     char *script;
     const char *type = libxl__device_kind_to_string(dev->backend_kind);
     char **env;
-    int nr = 0, arraysize = 9;
+    int nr = 0, arraysize = 13;
+    libxl_nic_type nictype;
 
     script = libxl__xs_read(gc, XBT_NULL,
                             GCSPRINTF("%s/%s", be_path, "script"));
@@ -52,14 +53,94 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        if (libxl__nic_type(gc, dev, &nictype)) {
+            LOG(ERROR, "unable to get nictype");
+            return NULL;
+        }
+        switch (nictype) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
-    assert(nr == arraysize);
+    assert(nr <= arraysize);
 
     return env;
 }
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int num_exec)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 4;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl__nic_type(gc, dev, &nictype);
+    if (rc) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+
+    switch (nictype) {
+    case LIBXL_NIC_TYPE_IOEMU:
+        if (num_exec == 0) goto execute_vif;
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+        break;
+    case LIBXL_NIC_TYPE_VIF:
+execute_vif:
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+        break;
+    default:
+        /* Unknown network type */
+        LOG(ERROR, "unknown network card type %s", be_path);
+        return 0;
+    }
+    assert(nr == arraysize);
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -96,7 +177,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -112,6 +194,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, num_exec);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDG-0000k3-Hp; Thu, 24 May 2012 10:24:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDE-0000iW-2Y
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:08 +0000
Received: from [193.109.254.147:8534] by server-12.bemta-14.messagelabs.com id
	7F/53-05898-74C0EBF4; Thu, 24 May 2012 10:24:07 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10287 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603900"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-BL;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:03 +0100
Message-ID: <1337855045-10428-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v2:

 * Added array size check with assert.

 * Added NetBSD code (so compilation is not broken).

 * Removed a check for null in device_hotplug_timeout_cb.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  121 ++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h              |   20 +++++
 tools/libxl/libxl_linux.c                 |   98 +++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c                |    9 ++
 7 files changed, 266 insertions(+), 4 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2f27fd5..ccb5bdc 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1607,6 +1607,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1622,6 +1627,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 9933cc2..8e1ec0f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
@@ -657,7 +665,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aodev->callback(egc, aodev);
+    device_hotplug(egc, aodev);
     return;
 }
 
@@ -689,6 +697,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -701,6 +712,114 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args, **env;
+    int rc = 0;
+    int hotplug;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
+                                      device_hotplug_fork_cb);
+    if (aodev->pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!aodev->pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    if (!libxl__ev_child_inuse(&aodev->child)) {
+        /* hotplug launch failed */
+        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    if (libxl__ev_child_inuse(&aodev->child)) {
+        if (kill(aodev->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aodev->what, (unsigned long)aodev->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 45b776c..da5b02b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1814,6 +1815,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1842,6 +1848,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been split into two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..98cd25f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0, arraysize = 9;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, arraysize);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+    assert(nr == arraysize);
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 3;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+    assert(nr == arraysize);
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..0f2cdaa 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    return 0;
+}
\ No newline at end of file
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDG-0000k3-Hp; Thu, 24 May 2012 10:24:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDE-0000iW-2Y
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:08 +0000
Received: from [193.109.254.147:8534] by server-12.bemta-14.messagelabs.com id
	7F/53-05898-74C0EBF4; Thu, 24 May 2012 10:24:07 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10287 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603900"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-BL;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:03 +0100
Message-ID: <1337855045-10428-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v2:

 * Added array size check with assert.

 * Added NetBSD code (so compilation is not broken).

 * Removed a check for null in device_hotplug_timeout_cb.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  121 ++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.h              |   20 +++++
 tools/libxl/libxl_linux.c                 |   98 +++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c                |    9 ++
 7 files changed, 266 insertions(+), 4 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 2f27fd5..ccb5bdc 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1607,6 +1607,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1622,6 +1627,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 9933cc2..8e1ec0f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
@@ -657,7 +665,7 @@ retry_transaction:
 
  out_ok:
     if (t) xs_transaction_end(ctx->xsh, t, 0);
-    aodev->callback(egc, aodev);
+    device_hotplug(egc, aodev);
     return;
 }
 
@@ -689,6 +697,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -701,6 +712,114 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args, **env;
+    int rc = 0;
+    int hotplug;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
+                                      device_hotplug_fork_cb);
+    if (aodev->pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!aodev->pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    if (!libxl__ev_child_inuse(&aodev->child)) {
+        /* hotplug launch failed */
+        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
+                                   pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    if (libxl__ev_child_inuse(&aodev->child)) {
+        if (kill(aodev->pid, SIGKILL)) {
+            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                                aodev->what, (unsigned long)aodev->pid);
+            goto out;
+        }
+    }
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 45b776c..da5b02b 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1814,6 +1815,11 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    pid_t pid;
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device */
@@ -1842,6 +1848,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been split into two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..98cd25f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0, arraysize = 9;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    GCNEW_ARRAY(env, arraysize);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+    assert(nr == arraysize);
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0, arraysize = 3;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+    assert(nr == arraysize);
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..0f2cdaa 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    return 0;
+}
\ No newline at end of file
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDC-0000hS-AH; Thu, 24 May 2012 10:24:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDA-0000fi-Is
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:05 +0000
Received: from [85.158.138.51:43728] by server-9.bemta-3.messagelabs.com id
	1B/0C-11033-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337855041!28957339!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11818 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307694"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-6S;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:59 +0100
Message-ID: <1337855045-10428-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 04/10] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v2:

 * Remove state read from libxl__initiate_device_add

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/Makefile         |    2 +-
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   41 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   48 +++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   61 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |   26 ++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 8 files changed, 195 insertions(+), 39 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..81b467e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -13,7 +13,7 @@ XLUMINOR = 0
 
 CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
-CFLAGS += -I. -fPIC
+CFLAGS += -I. -fPIC -O0
 
 ifeq ($(CONFIG_Linux),y)
 LIBUUID_LIBS += -luuid
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 0b3eb48..7147869 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1540,13 +1540,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1570,7 +1588,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1588,7 +1607,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1609,7 +1628,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1641,22 +1660,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 7933809..44c3949 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -670,7 +670,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4e88551..d1a4016 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -670,7 +672,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -704,15 +705,37 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int i, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                      dcs->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 413b98f..6c9bbc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,24 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return pending == 0 ? error : 1;
 }
 
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_disks);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_disks; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -533,6 +551,36 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    int rc = 0;
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aodev->callback(egc, aodev);
+        return;
+    }
+
+    libxl__ev_devstate_init(&aodev->ds);
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aodev)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index a403b4c..9903fb7 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,55 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aodev->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                      sdss->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +857,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +893,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.spawn.ao = ao;
@@ -870,11 +904,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9003583..963e734 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1812,6 +1813,19 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aodev);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1901,6 +1915,12 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1935,6 +1955,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1963,6 +1986,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ecd7222..5f15b4c 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5334,7 +5334,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDC-0000hS-AH; Thu, 24 May 2012 10:24:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDA-0000fi-Is
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:05 +0000
Received: from [85.158.138.51:43728] by server-9.bemta-3.messagelabs.com id
	1B/0C-11033-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337855041!28957339!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11818 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307694"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-6S;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:59 +0100
Message-ID: <1337855045-10428-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 04/10] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v2:

 * Remove state read from libxl__initiate_device_add

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/Makefile         |    2 +-
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   41 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   48 +++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   61 +++++++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h |   26 ++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 8 files changed, 195 insertions(+), 39 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..81b467e 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -13,7 +13,7 @@ XLUMINOR = 0
 
 CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
 	-Wno-declaration-after-statement -Wformat-nonliteral
-CFLAGS += -I. -fPIC
+CFLAGS += -I. -fPIC -O0
 
 ifeq ($(CONFIG_Linux),y)
 LIBUUID_LIBS += -luuid
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 0b3eb48..7147869 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1540,13 +1540,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1570,7 +1588,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1588,7 +1607,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1609,7 +1628,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1641,22 +1660,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 7933809..44c3949 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -670,7 +670,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4e88551..d1a4016 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -575,6 +575,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -670,7 +672,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -704,15 +705,37 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(aodev->base, *dcs, devices);
+    int i, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    ret = libxl__ao_device_check_last(gc, aodev, dcs->devices,
+                                      dcs->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 413b98f..6c9bbc2 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,24 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return pending == 0 ? error : 1;
 }
 
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback)
+{
+    AO_GC;
+    GCNEW_ARRAY(*devices, d_config->num_disks);
+    libxl__ao_device *aodev = *devices;
+    int i;
+
+    for (i = 0; i < d_config->num_disks; i++) {
+        libxl__prepare_ao_device(&aodev[i], ao, devices);
+        aodev[i].callback = callback;
+        libxl__device_disk_add(egc, domid, &d_config->disks[i],
+                               &aodev[i]);
+    }
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -533,6 +551,36 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    int rc = 0;
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aodev->callback(egc, aodev);
+        return;
+    }
+
+    libxl__ev_devstate_init(&aodev->ds);
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aodev)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index a403b4c..9903fb7 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,8 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev);
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +683,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -800,22 +801,55 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_disk_connected(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(aodev->base, *sdss, devices);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    ret = libxl__ao_device_check_last(gc, aodev, sdss->devices,
+                                      sdss->num_devices);
+    if (ret > 0) return;
+    if (ret) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -823,7 +857,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -859,7 +893,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.spawn.ao = ao;
@@ -870,11 +904,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9003583..963e734 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1812,6 +1813,19 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aodev);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1901,6 +1915,12 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback callback);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1935,6 +1955,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1963,6 +1986,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ecd7222..5f15b4c 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5334,7 +5334,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDD-0000id-UG; Thu, 24 May 2012 10:24:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDB-0000fV-Sg
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:06 +0000
Received: from [85.158.143.35:62923] by server-1.bemta-4.messagelabs.com id
	60/F2-00342-54C0EBF4; Thu, 24 May 2012 10:24:05 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16746 invoked from network); 24 May 2012 10:24:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307695"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-5Z;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:58 +0100
Message-ID: <1337855045-10428-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 03/10] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Changes since v3:

 * Fixed python bindings.

Changes since v2:

 * Remove printfs.

 * Replace aorm with aodev.

 * Define an auxiliary libxl__ao_device *aodev to avoid using the long
   expression: drs->aorm[numdev]...

 * Added a common callback for both domain and stubdomain destruction
   that checks if both domains are finished and handles errors
   correctly.

 * Change libxl__ao_device_check_last logic a bit and add a comment
   describing how does it work.

 * Fixed spelling mistakes.

 * Use a do-while for xs transaction in device_remove_callback.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c               |  167 +++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl.h               |    3 +-
 tools/libxl/libxl_create.c        |   29 ++++++-
 tools/libxl/libxl_device.c        |  149 +++++++++++++++++++++++++++++----
 tools/libxl/libxl_dm.c            |   85 ++++++++++---------
 tools/libxl/libxl_internal.h      |   95 +++++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c          |   12 ++--
 tools/python/xen/lowlevel/xl/xl.c |    2 +-
 8 files changed, 465 insertions(+), 77 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7fdecf1..0b3eb48 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1112,11 +1112,133 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        dds->stubdom.force = 1;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    dds->domain.force = 1;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    destroy_finish_check(egc, dds);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->domain_finished = 1;
+    destroy_finish_check(egc, dds);
+}
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds)
+{
+    if (!(dds->domain_finished && dds->stubdom_finished))
+        return;
+
+    dds->callback(egc, dds, dds->rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1127,7 +1249,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1160,7 +1282,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = dis->force;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1183,9 +1335,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 24e4f43..7933809 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -537,7 +537,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..4e88551 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +854,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, ERROR_FAIL, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 48f05f9..413b98f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
     aodev->base = base;
 }
 
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num)
+{
+    int i, pending = 0, error = 0;
+
+    device->active = 0;
+    for (i = 0; i < num; i++) {
+        if (list[i].active)
+            pending++;
+
+        if (list[i].rc)
+            error = list[i].rc;
+    }
+
+    return pending == 0 ? error : 1;
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -381,16 +440,35 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
+    libxl__ao_device *aodev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aodev, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__prepare_ao_device(&drs->aodev[i], drs->ao, &drs->aodev);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -413,12 +491,18 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                aodev = &drs->aodev[numdev];
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                aodev->action = DEVICE_DISCONNECT;
+                aodev->dev = dev;
+                aodev->callback = device_remove_callback;
+                aodev->force = drs->force;
+                libxl__initiate_device_remove(egc, aodev);
+                numdev++;
             }
         }
     }
@@ -426,17 +510,19 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -549,6 +635,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aodev->base, *drs, aodev);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aodev->dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
+
+    if (aodev->action == DEVICE_DISCONNECT) {
+        do {
+            t = xs_transaction_start(CTX->xsh);
+            libxl__xs_path_cleanup(gc, t, fe_path);
+            libxl__xs_path_cleanup(gc, t, be_path);
+            rc = !xs_transaction_end(CTX->xsh, t, 0);
+        } while (rc && errno == EAGAIN);
+
+        if (rc) {
+            LOGE(ERROR, "unable to finish transaction");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aodev, drs->aodev,
+                                     drs->num_devices);
+    if (rc > 0) return;
+
+    drs->callback(egc, drs, rc);
+    return;
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 5bf9a0b..a403b4c 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -892,12 +896,32 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.force = 1;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1090,48 +1114,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index bd71844..9003583 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -799,7 +799,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1788,6 +1787,16 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                                       libxl__ao_device **base);
 
+/* Check if there are devices that have pending events in the array
+ * pointed to by the "list" parameter. Return values can be:
+ * < 0: All done, but error(s) found.
+ * 0: All done
+ * > 0: Not all done
+ * The passed libxl__ao_device struct in "device" is marked as finished.
+ */
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1811,6 +1820,87 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been split into two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, which detects
+ * stubdoms and calls libxl__destroy_domid on the domain and its
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private */
+    libxl__ao_device *aodev;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    int rc;
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1844,6 +1934,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1870,6 +1961,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..ecd7222 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1388,7 +1388,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1976,7 +1976,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2542,7 +2542,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2816,7 +2816,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_resume(ctx, domid, 1);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -3077,7 +3077,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3230,7 +3230,7 @@ static void migrate_receive(int debug, int daemonize, int monitor,
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index a729e04..2c21d70 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -447,7 +447,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, 0) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDD-0000id-UG; Thu, 24 May 2012 10:24:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDB-0000fV-Sg
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:06 +0000
Received: from [85.158.143.35:62923] by server-1.bemta-4.messagelabs.com id
	60/F2-00342-54C0EBF4; Thu, 24 May 2012 10:24:05 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16746 invoked from network); 24 May 2012 10:24:03 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307695"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-5Z;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:23:58 +0100
Message-ID: <1337855045-10428-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 03/10] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Changes since v3:

 * Fixed python bindings.

Changes since v2:

 * Remove printfs.

 * Replace aorm with aodev.

 * Define an auxiliary libxl__ao_device *aodev to avoid using the long
   expression: drs->aorm[numdev]...

 * Added a common callback for both domain and stubdomain destruction
   that checks if both domains are finished and handles errors
   correctly.

 * Change libxl__ao_device_check_last logic a bit and add a comment
   describing how does it work.

 * Fixed spelling mistakes.

 * Use a do-while for xs transaction in device_remove_callback.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c               |  167 +++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl.h               |    3 +-
 tools/libxl/libxl_create.c        |   29 ++++++-
 tools/libxl/libxl_device.c        |  149 +++++++++++++++++++++++++++++----
 tools/libxl/libxl_dm.c            |   85 ++++++++++---------
 tools/libxl/libxl_internal.h      |   95 +++++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c          |   12 ++--
 tools/python/xen/lowlevel/xl/xl.c |    2 +-
 8 files changed, 465 insertions(+), 77 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 7fdecf1..0b3eb48 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1112,11 +1112,133 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc);
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                            int rc);
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_callback;
+        dds->stubdom.force = 1;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_callback;
+    dds->domain.force = 1;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = unlink(savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc && errno == ENOENT) rc = 0;
+    if (rc) {
+        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
+                            savefile);
+    }
+
+    destroy_finish_check(egc, dds);
+}
+
+static void domain_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
+                             int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->domain_finished = 1;
+    destroy_finish_check(egc, dds);
+}
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds)
+{
+    if (!(dds->domain_finished && dds->stubdom_finished))
+        return;
+
+    dds->callback(egc, dds, dds->rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1127,7 +1249,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1160,7 +1282,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = dis->force;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1183,9 +1335,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 24e4f43..7933809 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -537,7 +537,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..4e88551 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -584,6 +584,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -848,16 +854,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, ERROR_FAIL, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 48f05f9..413b98f 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
     aodev->base = base;
 }
 
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num)
+{
+    int i, pending = 0, error = 0;
+
+    device->active = 0;
+    for (i = 0; i < num; i++) {
+        if (list[i].active)
+            pending++;
+
+        if (list[i].rc)
+            error = list[i].rc;
+    }
+
+    return pending == 0 ? error : 1;
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -381,16 +440,35 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
     unsigned int num_kinds, num_devs;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
+    libxl__ao_device *aodev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aodev, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__prepare_ao_device(&drs->aodev[i], drs->ao, &drs->aodev);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -413,12 +491,18 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                aodev = &drs->aodev[numdev];
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                aodev->action = DEVICE_DISCONNECT;
+                aodev->dev = dev;
+                aodev->callback = device_remove_callback;
+                aodev->force = drs->force;
+                libxl__initiate_device_remove(egc, aodev);
+                numdev++;
             }
         }
     }
@@ -426,17 +510,19 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
 
-        libxl__device_destroy(gc, &dev);
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -549,6 +635,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aodev->base, *drs, aodev);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aodev->dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
+
+    if (aodev->action == DEVICE_DISCONNECT) {
+        do {
+            t = xs_transaction_start(CTX->xsh);
+            libxl__xs_path_cleanup(gc, t, fe_path);
+            libxl__xs_path_cleanup(gc, t, be_path);
+            rc = !xs_transaction_end(CTX->xsh, t, 0);
+        } while (rc && errno == EAGAIN);
+
+        if (rc) {
+            LOGE(ERROR, "unable to finish transaction");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aodev, drs->aodev,
+                                     drs->num_devices);
+    if (rc > 0) return;
+
+    drs->callback(egc, drs, rc);
+    return;
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 5bf9a0b..a403b4c 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -892,12 +896,32 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.force = 1;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1090,48 +1114,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
+                atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index bd71844..9003583 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -799,7 +799,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1788,6 +1787,16 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                                       libxl__ao_device **base);
 
+/* Check if there are devices that have pending events in the array
+ * pointed to by the "list" parameter. Return values can be:
+ * < 0: All done, but error(s) found.
+ * 0: All done
+ * > 0: Not all done
+ * The passed libxl__ao_device struct in "device" is marked as finished.
+ */
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1811,6 +1820,87 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been split into two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, which detects
+ * stubdoms and calls libxl__destroy_domid on the domain and its
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private */
+    libxl__ao_device *aodev;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    int rc;
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and it's stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1844,6 +1934,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1870,6 +1961,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..ecd7222 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1388,7 +1388,7 @@ static int handle_domain_death(libxl_ctx *ctx, uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1976,7 +1976,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2542,7 +2542,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2816,7 +2816,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_resume(ctx, domid, 1);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -3077,7 +3077,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3230,7 +3230,7 @@ static void migrate_receive(int debug, int daemonize, int monitor,
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index a729e04..2c21d70 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -447,7 +447,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, 0) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVD9-0000fL-6u; Thu, 24 May 2012 10:24:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD7-0000f5-Gr
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:01 +0000
Received: from [193.109.254.147:36464] by server-1.bemta-14.messagelabs.com id
	AB/C5-29372-04C0EBF4; Thu, 24 May 2012 10:24:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10023 invoked from network); 24 May 2012 10:24:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603896"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-9T;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:02 +0100
Message-ID: <1337855045-10428-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 07/10] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index a5fc42d..2f27fd5 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2008,7 +2008,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVD9-0000fL-6u; Thu, 24 May 2012 10:24:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVD7-0000f5-Gr
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:01 +0000
Received: from [193.109.254.147:36464] by server-1.bemta-14.messagelabs.com id
	AB/C5-29372-04C0EBF4; Thu, 24 May 2012 10:24:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337855039!10284311!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10023 invoked from network); 24 May 2012 10:24:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="25603896"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-9T;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:02 +0100
Message-ID: <1337855045-10428-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 07/10] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index a5fc42d..2f27fd5 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2008,7 +2008,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDB-0000gn-Ix; Thu, 24 May 2012 10:24:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDA-0000fV-1k
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:04 +0000
Received: from [85.158.143.35:37244] by server-1.bemta-4.messagelabs.com id
	80/E2-00342-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16446 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307693"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-8s;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:01 +0100
Message-ID: <1337855045-10428-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 06/10] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v2:

 * Change atoi(...) to !!atoi(...) to prevent returning negative
   values from xenstore (which will be handled as errors).

 * Check for errors on the return value of libxl__hotplug_settings.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   36 +++++++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 77 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7466498..2f92252 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,40 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (hotplug_setting < 0) {
+        LOG(ERROR, "unable to get current hotplug scripts execution setting");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..5525575 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = !!atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 44c7c66..45b776c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1393,6 +1394,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index a21bd85..a82bdb9 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..28b3218 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -69,6 +70,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..c597d24 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -113,6 +113,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index a1883b5..ea9a267 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -593,6 +593,7 @@ static void parse_config_data(const char *config_source,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:24:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVDB-0000gn-Ix; Thu, 24 May 2012 10:24:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVDA-0000fV-1k
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:24:04 +0000
Received: from [85.158.143.35:37244] by server-1.bemta-4.messagelabs.com id
	80/E2-00342-34C0EBF4; Thu, 24 May 2012 10:24:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1337855039!13865144!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16446 invoked from network); 24 May 2012 10:24:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:24:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196307693"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:23:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:23:58 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-8s;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:01 +0100
Message-ID: <1337855045-10428-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 06/10] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v2:

 * Change atoi(...) to !!atoi(...) to prevent returning negative
   values from xenstore (which will be handled as errors).

 * Check for errors on the return value of libxl__hotplug_settings.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   36 +++++++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 77 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 7466498..2f92252 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -398,7 +398,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -519,6 +519,40 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (hotplug_setting < 0) {
+        LOG(ERROR, "unable to get current hotplug scripts execution setting");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index b89aef7..5525575 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = !!atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 44c7c66..45b776c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1393,6 +1394,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index a21bd85..a82bdb9 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -220,6 +220,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..28b3218 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -69,6 +70,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..c597d24 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -113,6 +113,7 @@ void postfork(void);
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index a1883b5..ea9a267 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -593,6 +593,7 @@ static void parse_config_data(const char *config_source,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:30:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:30:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVIo-0002B8-MG; Thu, 24 May 2012 10:29:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SXVIn-0002At-4h
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:29:53 +0000
Received: from [85.158.139.83:17839] by server-1.bemta-5.messagelabs.com id
	DD/50-21549-0AD0EBF4; Thu, 24 May 2012 10:29:52 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337855391!22781053!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27226 invoked from network); 24 May 2012 10:29:51 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-16.tower-182.messagelabs.com with SMTP;
	24 May 2012 10:29:51 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id E103FC00690;
	Thu, 24 May 2012 12:29:50 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id FCiKN2B4SB3I; Thu, 24 May 2012 12:29:50 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 24 May 2012 12:29:50 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id AB8AA49C58B;
	Thu, 24 May 2012 11:29:50 +0100 (BST)
Date: Thu, 24 May 2012 12:30:23 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524103023.GA27063@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 10:10:34AM +0000, Liu, Jinsong wrote:
> >> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> >> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> >> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> >> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> > 
> > If you're sending the patch, you need to be the last on the SOB-chain
> > and the SOB-chain has to show the proper path the patch took. See
> > <Documentation/SubmittingPatches>.

> Thanks! I will update it. But I'm not quite clear 'the SOB-chain has
> to show the proper path the patch took', would you elaborate more?

Section 12 in the SubmittingPatches readme has more or less an example
about it, here's what I mean:

Signed-off-by: Initial Patch Author <ipa@example.com>
Signed-off-by: Second Patch Author <spa@example.com>
Signed-off-by: Third Patch Author <tpa@example.com>
...
Signed-off-by: Patch Submitter <ps@example.com>

Some of the lines above may or may not be present depending on your
case. If you're sending the patch, you're the last in chain so your SOB
should be last.

That's what I mean with "proper path" the patch took, i.e. the SOB chain
should show how exactly this patch was created and who handled it on its
way upstream.


> >> -static struct miscdevice mce_chrdev_device = {
> >> +struct miscdevice mce_chrdev_device = {
> >>  	MISC_MCELOG_MINOR,
> >>  	"mcelog",
> >>  	&mce_chrdev_ops,
> > 
> > You're still reusing those - pls, define your own 'struct miscdevice
> > mce_chrdev_device' in drivers/xen/ or somewhere convenient and
> > your own mce_chrdev_ops. The only thing you should be touching in
> > arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> > 
> > Thanks.
> 
> I'm *not* reuse native code.
> I have defined 'struct miscdevice xen_mce_chrdev_device' in drivers/xen, and I also implement xen_mce_chrdev_ops, they are all xen-self-contained.
> 
> The patch just redirect native mce_chrdev_device to xen_mce_chrdev_device when running under xen environment.
> It didn't change any native code (except just cancel mce_chrdev_device 'static'), and will not break native logic.

Why are you doing that?

Why don't you do

	misc_register(&xen_mce_chrdev_device);

in xen_early_init_mcelog() ?

This way there'll be no arch/x86/ dependencies at all.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:30:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:30:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVIo-0002B8-MG; Thu, 24 May 2012 10:29:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SXVIn-0002At-4h
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:29:53 +0000
Received: from [85.158.139.83:17839] by server-1.bemta-5.messagelabs.com id
	DD/50-21549-0AD0EBF4; Thu, 24 May 2012 10:29:52 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337855391!22781053!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27226 invoked from network); 24 May 2012 10:29:51 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-16.tower-182.messagelabs.com with SMTP;
	24 May 2012 10:29:51 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id E103FC00690;
	Thu, 24 May 2012 12:29:50 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id FCiKN2B4SB3I; Thu, 24 May 2012 12:29:50 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 24 May 2012 12:29:50 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id AB8AA49C58B;
	Thu, 24 May 2012 11:29:50 +0100 (BST)
Date: Thu, 24 May 2012 12:30:23 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524103023.GA27063@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 10:10:34AM +0000, Liu, Jinsong wrote:
> >> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> >> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> >> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> >> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> > 
> > If you're sending the patch, you need to be the last on the SOB-chain
> > and the SOB-chain has to show the proper path the patch took. See
> > <Documentation/SubmittingPatches>.

> Thanks! I will update it. But I'm not quite clear 'the SOB-chain has
> to show the proper path the patch took', would you elaborate more?

Section 12 in the SubmittingPatches readme has more or less an example
about it, here's what I mean:

Signed-off-by: Initial Patch Author <ipa@example.com>
Signed-off-by: Second Patch Author <spa@example.com>
Signed-off-by: Third Patch Author <tpa@example.com>
...
Signed-off-by: Patch Submitter <ps@example.com>

Some of the lines above may or may not be present depending on your
case. If you're sending the patch, you're the last in chain so your SOB
should be last.

That's what I mean with "proper path" the patch took, i.e. the SOB chain
should show how exactly this patch was created and who handled it on its
way upstream.


> >> -static struct miscdevice mce_chrdev_device = {
> >> +struct miscdevice mce_chrdev_device = {
> >>  	MISC_MCELOG_MINOR,
> >>  	"mcelog",
> >>  	&mce_chrdev_ops,
> > 
> > You're still reusing those - pls, define your own 'struct miscdevice
> > mce_chrdev_device' in drivers/xen/ or somewhere convenient and
> > your own mce_chrdev_ops. The only thing you should be touching in
> > arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> > 
> > Thanks.
> 
> I'm *not* reuse native code.
> I have defined 'struct miscdevice xen_mce_chrdev_device' in drivers/xen, and I also implement xen_mce_chrdev_ops, they are all xen-self-contained.
> 
> The patch just redirect native mce_chrdev_device to xen_mce_chrdev_device when running under xen environment.
> It didn't change any native code (except just cancel mce_chrdev_device 'static'), and will not break native logic.

Why are you doing that?

Why don't you do

	misc_register(&xen_mce_chrdev_device);

in xen_early_init_mcelog() ?

This way there'll be no arch/x86/ dependencies at all.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:33:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:33:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVMY-0002MJ-Ar; Thu, 24 May 2012 10:33:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVMW-0002MB-Jr
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:33:44 +0000
Received: from [85.158.139.83:64910] by server-9.bemta-5.messagelabs.com id
	5E/71-27779-78E0EBF4; Thu, 24 May 2012 10:33:43 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337855622!30100113!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23345 invoked from network); 24 May 2012 10:33:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:33:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646027"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:33:42 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:33:42 +0100
Date: Thu, 24 May 2012 11:33:27 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-2-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241133011.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-2-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/4] xen/hvc: Collapse error logic.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> All of the error paths are doing the same logic. In which
> case we might as well collapse them in one path.
> 
> CC: stable@kernel.org
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>


Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:33:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:33:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVMY-0002MJ-Ar; Thu, 24 May 2012 10:33:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVMW-0002MB-Jr
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:33:44 +0000
Received: from [85.158.139.83:64910] by server-9.bemta-5.messagelabs.com id
	5E/71-27779-78E0EBF4; Thu, 24 May 2012 10:33:43 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337855622!30100113!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23345 invoked from network); 24 May 2012 10:33:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:33:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646027"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:33:42 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:33:42 +0100
Date: Thu, 24 May 2012 11:33:27 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-2-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241133011.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-2-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/4] xen/hvc: Collapse error logic.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> All of the error paths are doing the same logic. In which
> case we might as well collapse them in one path.
> 
> CC: stable@kernel.org
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>


Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:38:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVQi-0002ai-KY; Thu, 24 May 2012 10:38:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXVQg-0002aH-WD
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:38:03 +0000
Received: from [193.109.254.147:20612] by server-7.bemta-14.messagelabs.com id
	63/6E-01627-A8F0EBF4; Thu, 24 May 2012 10:38:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337855878!3057706!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3294 invoked from network); 24 May 2012 10:38:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:38:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646158"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:37:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:37:57 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SXVQb-0005nl-Cc;
	Thu, 24 May 2012 10:37:57 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Thu, 24 May 2012 11:37:09 +0100
Message-ID: <1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Add a trace record for every hypercall inside a multicall.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/common/multicall.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/xen/common/multicall.c b/xen/common/multicall.c
index 6c1a9d7..1da53bb 100644
--- a/xen/common/multicall.c
+++ b/xen/common/multicall.c
@@ -11,6 +11,7 @@
 #include <xen/multicall.h>
 #include <xen/guest_access.h>
 #include <xen/perfc.h>
+#include <xen/trace.h>
 #include <asm/current.h>
 #include <asm/hardirq.h>
 
@@ -19,6 +20,32 @@ typedef long ret_t;
 #define xlat_multicall_entry(mcs)
 #endif
 
+#ifdef COMPAT
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    unsigned long args[5];
+    int i;
+
+    for (i = 0; i < ARRAY_SIZE(args); i++)
+        args[i] = call->args[i];
+
+    __trace_hypercall(call->op, args);
+}
+#else
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    __trace_hypercall(call->op, call->args);
+}
+#endif
+
+static void trace_multicall_call(multicall_entry_t *call)
+{
+    if ( !tb_init_done )
+        return;
+
+    __trace_multicall_call(call);
+}
+
 ret_t
 do_multicall(
     XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
@@ -47,6 +74,8 @@ do_multicall(
             break;
         }
 
+        trace_multicall_call(&mcs->call);
+
         do_multicall_call(&mcs->call);
 
 #ifndef NDEBUG
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:38:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVQi-0002ai-KY; Thu, 24 May 2012 10:38:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXVQg-0002aH-WD
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:38:03 +0000
Received: from [193.109.254.147:20612] by server-7.bemta-14.messagelabs.com id
	63/6E-01627-A8F0EBF4; Thu, 24 May 2012 10:38:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337855878!3057706!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3294 invoked from network); 24 May 2012 10:38:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:38:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646158"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:37:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:37:57 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SXVQb-0005nl-Cc;
	Thu, 24 May 2012 10:37:57 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Thu, 24 May 2012 11:37:09 +0100
Message-ID: <1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Add a trace record for every hypercall inside a multicall.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/common/multicall.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/xen/common/multicall.c b/xen/common/multicall.c
index 6c1a9d7..1da53bb 100644
--- a/xen/common/multicall.c
+++ b/xen/common/multicall.c
@@ -11,6 +11,7 @@
 #include <xen/multicall.h>
 #include <xen/guest_access.h>
 #include <xen/perfc.h>
+#include <xen/trace.h>
 #include <asm/current.h>
 #include <asm/hardirq.h>
 
@@ -19,6 +20,32 @@ typedef long ret_t;
 #define xlat_multicall_entry(mcs)
 #endif
 
+#ifdef COMPAT
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    unsigned long args[5];
+    int i;
+
+    for (i = 0; i < ARRAY_SIZE(args); i++)
+        args[i] = call->args[i];
+
+    __trace_hypercall(call->op, args);
+}
+#else
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    __trace_hypercall(call->op, call->args);
+}
+#endif
+
+static void trace_multicall_call(multicall_entry_t *call)
+{
+    if ( !tb_init_done )
+        return;
+
+    __trace_multicall_call(call);
+}
+
 ret_t
 do_multicall(
     XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
@@ -47,6 +74,8 @@ do_multicall(
             break;
         }
 
+        trace_multicall_call(&mcs->call);
+
         do_multicall_call(&mcs->call);
 
 #ifndef NDEBUG
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:38:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVQj-0002at-1a; Thu, 24 May 2012 10:38:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXVQh-0002aW-QP
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:38:04 +0000
Received: from [193.109.254.147:9618] by server-3.bemta-14.messagelabs.com id
	95/0F-23274-B8F0EBF4; Thu, 24 May 2012 10:38:03 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337855878!3057706!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3263 invoked from network); 24 May 2012 10:38:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:38:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646157"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:37:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:37:57 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SXVQb-0005nl-9y;
	Thu, 24 May 2012 10:37:57 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Thu, 24 May 2012 11:37:08 +0100
Message-ID: <1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
	trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Trace hypercalls using a more useful trace record format.

The EIP field is removed (it was always somewhere in the hypercall
page) and include selected hypercall arguments (the number of calls in
a multicall, and the number of PTE updates in an mmu_update).

To allow tracing tools to distinguish between the two formats, the new
format uses a new event ID (TRC_PV_HYPERCALL_V2).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/arch/x86/trace.c       |   33 +++++++++++++--------------------
 xen/common/trace.c         |   23 +++++++++++++++++++++++
 xen/include/public/trace.h |    1 +
 xen/include/xen/trace.h    |    2 ++
 4 files changed, 39 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
index 404f293..2b59017 100644
--- a/xen/arch/x86/trace.c
+++ b/xen/arch/x86/trace.c
@@ -14,35 +14,28 @@
 void trace_hypercall(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
+    unsigned long args[5];
 
 #ifdef __x86_64__
     if ( is_pv_32on64_vcpu(current) )
     {
-        struct {
-            u32 eip,eax;
-        } __attribute__((packed)) d;
-            
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d), &d);
+        args[0] = regs->ebx;
+        args[1] = regs->ecx;
+        args[2] = regs->edx;
+        args[3] = regs->esi;
+        args[4] = regs->edi;
     }
     else
 #endif
     {
-        struct {
-            unsigned long eip;
-            u32 eax;
-        } __attribute__((packed)) d;
-        u32 event;
-
-        event = TRC_PV_HYPERCALL;
-        event |= TRC_64_FLAG;
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(event, 1/*tsc*/, sizeof(d), &d);
+        args[0] = regs->rdi;
+        args[1] = regs->rsi;
+        args[2] = regs->rdx;
+        args[3] = regs->r10;
+        args[4] = regs->r11;
     }
+
+    __trace_hypercall(regs->eax, args);
 }
 
 void __trace_pv_trap(int trapnr, unsigned long eip,
diff --git a/xen/common/trace.c b/xen/common/trace.c
index cacaeb2..47c9a6a 100644
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -816,6 +816,29 @@ unlock:
         tasklet_schedule(&trace_notify_dom0_tasklet);
 }
 
+void __trace_hypercall(unsigned long op, const unsigned long *args)
+{
+    struct {
+        uint32_t op;
+        uint32_t args[5];
+    } __attribute__((packed)) d;
+    uint32_t *a = d.args;
+
+    d.op = op;
+
+    switch (op) {
+    case __HYPERVISOR_multicall:
+        *a++ = args[1]; /* count */
+        break;
+    case __HYPERVISOR_mmu_update:
+        *a++ = args[1]; /* count */
+        break;
+    }
+
+    __trace_var(TRC_PV_HYPERCALL_V2, 1,
+                sizeof(uint32_t) * (1 + (a - d.args)), &d);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 0dfabe9..38a3f83 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -106,6 +106,7 @@
 #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
 #define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
 #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
+#define TRC_PV_HYPERCALL_V2          (TRC_PV + 14)
   /* Indicates that addresses in trace record are 64 bits */
 #define TRC_64_FLAG               (0x100) 
 
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index b32f6c5..f601aeb 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
         __trace_var(event, cycles, extra, extra_data);
 }
 
+void __trace_hypercall(unsigned long call, const unsigned long *args);
+
 /* Convenience macros for calling the trace function. */
 #define TRACE_0D(_e)                            \
     do {                                        \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:38:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVQj-0002at-1a; Thu, 24 May 2012 10:38:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXVQh-0002aW-QP
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:38:04 +0000
Received: from [193.109.254.147:9618] by server-3.bemta-14.messagelabs.com id
	95/0F-23274-B8F0EBF4; Thu, 24 May 2012 10:38:03 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337855878!3057706!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3263 invoked from network); 24 May 2012 10:38:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:38:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646157"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:37:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:37:57 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SXVQb-0005nl-9y;
	Thu, 24 May 2012 10:37:57 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Thu, 24 May 2012 11:37:08 +0100
Message-ID: <1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
	trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Trace hypercalls using a more useful trace record format.

The EIP field is removed (it was always somewhere in the hypercall
page) and include selected hypercall arguments (the number of calls in
a multicall, and the number of PTE updates in an mmu_update).

To allow tracing tools to distinguish between the two formats, the new
format uses a new event ID (TRC_PV_HYPERCALL_V2).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/arch/x86/trace.c       |   33 +++++++++++++--------------------
 xen/common/trace.c         |   23 +++++++++++++++++++++++
 xen/include/public/trace.h |    1 +
 xen/include/xen/trace.h    |    2 ++
 4 files changed, 39 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
index 404f293..2b59017 100644
--- a/xen/arch/x86/trace.c
+++ b/xen/arch/x86/trace.c
@@ -14,35 +14,28 @@
 void trace_hypercall(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
+    unsigned long args[5];
 
 #ifdef __x86_64__
     if ( is_pv_32on64_vcpu(current) )
     {
-        struct {
-            u32 eip,eax;
-        } __attribute__((packed)) d;
-            
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d), &d);
+        args[0] = regs->ebx;
+        args[1] = regs->ecx;
+        args[2] = regs->edx;
+        args[3] = regs->esi;
+        args[4] = regs->edi;
     }
     else
 #endif
     {
-        struct {
-            unsigned long eip;
-            u32 eax;
-        } __attribute__((packed)) d;
-        u32 event;
-
-        event = TRC_PV_HYPERCALL;
-        event |= TRC_64_FLAG;
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(event, 1/*tsc*/, sizeof(d), &d);
+        args[0] = regs->rdi;
+        args[1] = regs->rsi;
+        args[2] = regs->rdx;
+        args[3] = regs->r10;
+        args[4] = regs->r11;
     }
+
+    __trace_hypercall(regs->eax, args);
 }
 
 void __trace_pv_trap(int trapnr, unsigned long eip,
diff --git a/xen/common/trace.c b/xen/common/trace.c
index cacaeb2..47c9a6a 100644
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -816,6 +816,29 @@ unlock:
         tasklet_schedule(&trace_notify_dom0_tasklet);
 }
 
+void __trace_hypercall(unsigned long op, const unsigned long *args)
+{
+    struct {
+        uint32_t op;
+        uint32_t args[5];
+    } __attribute__((packed)) d;
+    uint32_t *a = d.args;
+
+    d.op = op;
+
+    switch (op) {
+    case __HYPERVISOR_multicall:
+        *a++ = args[1]; /* count */
+        break;
+    case __HYPERVISOR_mmu_update:
+        *a++ = args[1]; /* count */
+        break;
+    }
+
+    __trace_var(TRC_PV_HYPERCALL_V2, 1,
+                sizeof(uint32_t) * (1 + (a - d.args)), &d);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 0dfabe9..38a3f83 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -106,6 +106,7 @@
 #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
 #define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
 #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
+#define TRC_PV_HYPERCALL_V2          (TRC_PV + 14)
   /* Indicates that addresses in trace record are 64 bits */
 #define TRC_64_FLAG               (0x100) 
 
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index b32f6c5..f601aeb 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
         __trace_var(event, cycles, extra, extra_data);
 }
 
+void __trace_hypercall(unsigned long call, const unsigned long *args);
+
 /* Convenience macros for calling the trace function. */
 #define TRACE_0D(_e)                            \
     do {                                        \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:38:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:38:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVQh-0002aS-8J; Thu, 24 May 2012 10:38:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXVQg-0002aH-Jt
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:38:02 +0000
Received: from [193.109.254.147:20568] by server-7.bemta-14.messagelabs.com id
	E0/6E-01627-98F0EBF4; Thu, 24 May 2012 10:38:01 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337855878!3057706!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3252 invoked from network); 24 May 2012 10:38:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:38:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646156"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:37:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:37:57 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SXVQb-0005nl-65;
	Thu, 24 May 2012 10:37:57 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Thu, 24 May 2012 11:37:07 +0100
Message-ID: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 0/2] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These patches improve the tracing of hypercalls to make xentrace more
useful for looking at what guests are doing with hypercalls.  Selected
hypercall arguments are included in the trace records and the calls
within a multicall are traced.

These are probably for 4.3.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:38:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:38:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVQh-0002aS-8J; Thu, 24 May 2012 10:38:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXVQg-0002aH-Jt
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:38:02 +0000
Received: from [193.109.254.147:20568] by server-7.bemta-14.messagelabs.com id
	E0/6E-01627-98F0EBF4; Thu, 24 May 2012 10:38:01 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337855878!3057706!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3252 invoked from network); 24 May 2012 10:38:00 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:38:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646156"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:37:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:37:57 +0100
Received: from spare.cam.xci-test.com ([10.80.2.76]
	helo=qabil.uk.xensource.com)	by norwich.cam.xci-test.com with esmtp
	(Exim
	4.72)	(envelope-from <david.vrabel@citrix.com>)	id 1SXVQb-0005nl-65;
	Thu, 24 May 2012 10:37:57 +0000
From: David Vrabel <david.vrabel@citrix.com>
To: <xen-devel@lists.xensource.com>
Date: Thu, 24 May 2012 11:37:07 +0100
Message-ID: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 0/2] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These patches improve the tracing of hypercalls to make xentrace more
useful for looking at what guests are doing with hypercalls.  Selected
hypercall arguments are included in the trace records and the calls
within a multicall are traced.

These are probably for 4.3.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:48:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:48:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVaI-00033Y-DS; Thu, 24 May 2012 10:47:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVaH-00033T-Ep
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:47:57 +0000
Received: from [85.158.143.99:29347] by server-3.bemta-4.messagelabs.com id
	AC/C8-05853-CD11EBF4; Thu, 24 May 2012 10:47:56 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337856471!19946059!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21128 invoked from network); 24 May 2012 10:47:52 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:47:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646403"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:47:28 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:47:27 +0100
Date: Thu, 24 May 2012 11:47:12 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
 HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> We weren't resetting the parameter to be passed in to a
> known default. Nor were we checking the return value of
> hvm_get_parameter.
> 
> CC: stable@kernel.org
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>
>  drivers/tty/hvc/hvc_xen.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index afc7fc2..3277f0e 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
>  	if (r < 0)
>  		goto err;
>  	info->evtchn = v;
> -	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> +	v = 0;
> +	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
>  	if (r < 0)
>  		goto err;
>  	mfn = v;

Is 0 the right default here?
Maybe something invalid like (~0UL) would be better?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:48:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:48:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVaI-00033Y-DS; Thu, 24 May 2012 10:47:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVaH-00033T-Ep
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:47:57 +0000
Received: from [85.158.143.99:29347] by server-3.bemta-4.messagelabs.com id
	AC/C8-05853-CD11EBF4; Thu, 24 May 2012 10:47:56 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337856471!19946059!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21128 invoked from network); 24 May 2012 10:47:52 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:47:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646403"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:47:28 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:47:27 +0100
Date: Thu, 24 May 2012 11:47:12 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
 HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> We weren't resetting the parameter to be passed in to a
> known default. Nor were we checking the return value of
> hvm_get_parameter.
> 
> CC: stable@kernel.org
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>
>  drivers/tty/hvc/hvc_xen.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index afc7fc2..3277f0e 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
>  	if (r < 0)
>  		goto err;
>  	info->evtchn = v;
> -	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> +	v = 0;
> +	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
>  	if (r < 0)
>  		goto err;
>  	mfn = v;

Is 0 the right default here?
Maybe something invalid like (~0UL) would be better?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:49:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVbw-0003Ak-TD; Thu, 24 May 2012 10:49:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVbv-0003Ab-IV
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:49:39 +0000
Received: from [85.158.143.99:41719] by server-1.bemta-4.messagelabs.com id
	52/C9-00342-2421EBF4; Thu, 24 May 2012 10:49:38 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337856574!19946446!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31401 invoked from network); 24 May 2012 10:49:36 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:49:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196309047"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:49:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:49:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-Fy;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:05 +0100
Message-ID: <1337855045-10428-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 10/10] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Changes sinve v2:

 * Changed the goto construction to a do-while loop.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 5c840f8..0f0465a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -487,16 +487,26 @@ void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+    do {
+        t = xs_transaction_start(CTX->xsh);
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+        rc = !xs_transaction_end(CTX->xsh, t, 0);
+    } while (rc && errno == EAGAIN);
+    if (rc) {
+        LOGE(ERROR, "unable to finish transaction");
+        goto out;
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:49:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVbw-0003Ak-TD; Thu, 24 May 2012 10:49:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXVbv-0003Ab-IV
	for xen-devel@lists.xen.org; Thu, 24 May 2012 10:49:39 +0000
Received: from [85.158.143.99:41719] by server-1.bemta-4.messagelabs.com id
	52/C9-00342-2421EBF4; Thu, 24 May 2012 10:49:38 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337856574!19946446!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31401 invoked from network); 24 May 2012 10:49:36 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:49:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196309047"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 06:49:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 06:49:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXVD4-0008Vo-Fy;
	Thu, 24 May 2012 11:23:58 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 24 May 2012 11:24:05 +0100
Message-ID: <1337855045-10428-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4 10/10] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Changes sinve v2:

 * Changed the goto construction to a do-while loop.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 5c840f8..0f0465a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -487,16 +487,26 @@ void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+    do {
+        t = xs_transaction_start(CTX->xsh);
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+        rc = !xs_transaction_end(CTX->xsh, t, 0);
+    } while (rc && errno == EAGAIN);
+    if (rc) {
+        LOGE(ERROR, "unable to finish transaction");
+        goto out;
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:51:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVdp-0003JA-D1; Thu, 24 May 2012 10:51:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVdm-0003Iu-TV
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:51:35 +0000
Received: from [193.109.254.147:54906] by server-8.bemta-14.messagelabs.com id
	06/9A-23244-6B21EBF4; Thu, 24 May 2012 10:51:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337856690!6689345!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23139 invoked from network); 24 May 2012 10:51:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:51:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646484"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:51:30 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:51:29 +0100
Date: Thu, 24 May 2012 11:51:14 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/4] xen/hvc: Check
 HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> We need to make sure that those parameters are setup to be correct.
> As such the value of 0 is deemed invalid and we find that we
> bail out. The hypervisor sets by default all of them to be zero
> and when the hypercall is done does a simple:
> 
>  a.value = d->arch.hvm_domain.params[a.index];
> 
> Which means that if the Xen toolstack forgot to setup the proper
> HVM_PARAM_CONSOLE_EVTCHN, we would get the default value of 0
> and use that.

I see, so the default value for v needs to be 0, because it's what the
hypervisor would return anyway if the parameter hasn't been set.


> CC: stable@kernel.org
> Fixes-Oracle-Bug: 14091238
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/tty/hvc/hvc_xen.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index 3277f0e..5fb1cb9 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -216,12 +216,12 @@ static int xen_hvm_console_init(void)
>  		return 0;
>  
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	info->evtchn = v;
>  	v = 0;
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	mfn = v;
>  	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);

I think that we should add a comment stating that even though mfn = 0
and evtchn = 0 are theoretically correct values, in practice they never
are and they mean that a legacy toolstack hasn't initialized the pv
console correctly.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:51:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVdp-0003JA-D1; Thu, 24 May 2012 10:51:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVdm-0003Iu-TV
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:51:35 +0000
Received: from [193.109.254.147:54906] by server-8.bemta-14.messagelabs.com id
	06/9A-23244-6B21EBF4; Thu, 24 May 2012 10:51:34 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337856690!6689345!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23139 invoked from network); 24 May 2012 10:51:33 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:51:33 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646484"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:51:30 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:51:29 +0100
Date: Thu, 24 May 2012 11:51:14 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/4] xen/hvc: Check
 HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> We need to make sure that those parameters are setup to be correct.
> As such the value of 0 is deemed invalid and we find that we
> bail out. The hypervisor sets by default all of them to be zero
> and when the hypercall is done does a simple:
> 
>  a.value = d->arch.hvm_domain.params[a.index];
> 
> Which means that if the Xen toolstack forgot to setup the proper
> HVM_PARAM_CONSOLE_EVTCHN, we would get the default value of 0
> and use that.

I see, so the default value for v needs to be 0, because it's what the
hypervisor would return anyway if the parameter hasn't been set.


> CC: stable@kernel.org
> Fixes-Oracle-Bug: 14091238
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/tty/hvc/hvc_xen.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index 3277f0e..5fb1cb9 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -216,12 +216,12 @@ static int xen_hvm_console_init(void)
>  		return 0;
>  
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	info->evtchn = v;
>  	v = 0;
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	mfn = v;
>  	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);

I think that we should add a comment stating that even though mfn = 0
and evtchn = 0 are theoretically correct values, in practice they never
are and they mean that a legacy toolstack hasn't initialized the pv
console correctly.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:58:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVkV-0003X2-8q; Thu, 24 May 2012 10:58:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVkT-0003Wx-Mu
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:58:29 +0000
Received: from [85.158.139.83:52205] by server-11.bemta-5.messagelabs.com id
	26/C2-12711-4541EBF4; Thu, 24 May 2012 10:58:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337857107!26170050!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1560 invoked from network); 24 May 2012 10:58:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:58:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646621"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:58:27 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:58:26 +0100
Date: Thu, 24 May 2012 11:58:11 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> All of the bind_XYZ_to_irq do a quick lookup to see if the
> event exists. And if they that value is returned instead of

                           ^

> initialized. This patch adds an extra logic to check that the
> type returned is the proper one and we can use it to find
> drivers that are doing something naught.
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/xen/events.c |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index faae2f9..093851b 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
>  					      handle_edge_irq, "event");
>  
>  		xen_irq_info_evtchn_init(irq, evtchn);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info && info->type != IRQT_EVTCHN);
>  	}

considering that when evtchn_to_irq[evtchn] is != -1, a corresponding
struct irq_info is always supposed to exists, shouldn't this be:

WARN_ON(info == NULL || info->type != IRQT_EVTCHN);

?


>  out:
> @@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
>  		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info && info->type != IRQT_IPI);
>  	}
> -
>   out:
>  	mutex_unlock(&irq_mapping_update_lock);
>  	return irq;
> @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
>  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info && info->type != IRQT_VIRQ);
>  	}
> -
>  out:
>  	mutex_unlock(&irq_mapping_update_lock);

same here

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 10:58:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 10:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVkV-0003X2-8q; Thu, 24 May 2012 10:58:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXVkT-0003Wx-Mu
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 10:58:29 +0000
Received: from [85.158.139.83:52205] by server-11.bemta-5.messagelabs.com id
	26/C2-12711-4541EBF4; Thu, 24 May 2012 10:58:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337857107!26170050!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1560 invoked from network); 24 May 2012 10:58:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 10:58:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646621"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:58:27 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 11:58:26 +0100
Date: Thu, 24 May 2012 11:58:11 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> All of the bind_XYZ_to_irq do a quick lookup to see if the
> event exists. And if they that value is returned instead of

                           ^

> initialized. This patch adds an extra logic to check that the
> type returned is the proper one and we can use it to find
> drivers that are doing something naught.
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/xen/events.c |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index faae2f9..093851b 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
>  					      handle_edge_irq, "event");
>  
>  		xen_irq_info_evtchn_init(irq, evtchn);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info && info->type != IRQT_EVTCHN);
>  	}

considering that when evtchn_to_irq[evtchn] is != -1, a corresponding
struct irq_info is always supposed to exists, shouldn't this be:

WARN_ON(info == NULL || info->type != IRQT_EVTCHN);

?


>  out:
> @@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
>  		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info && info->type != IRQT_IPI);
>  	}
> -
>   out:
>  	mutex_unlock(&irq_mapping_update_lock);
>  	return irq;
> @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
>  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info && info->type != IRQT_VIRQ);
>  	}
> -
>  out:
>  	mutex_unlock(&irq_mapping_update_lock);

same here

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 11:13:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 11:13:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVyc-0003oS-Mk; Thu, 24 May 2012 11:13:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXVyb-0003oN-3h
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 11:13:05 +0000
Received: from [193.109.254.147:48139] by server-1.bemta-14.messagelabs.com id
	AF/F2-29372-0C71EBF4; Thu, 24 May 2012 11:13:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337857979!4141165!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2565 invoked from network); 24 May 2012 11:12:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 11:12:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646992"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 11:12:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 12:12:59 +0100
Message-ID: <1337857978.7229.27.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Adnan Misherfi <adnan.misherfi@oracle.com>
Date: Thu, 24 May 2012 12:12:58 +0100
In-Reply-To: <4FBBE7D2.9040105@oracle.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
	<20120522180901.GC22488@phenom.dumpdata.com>
	<4FBBE7D2.9040105@oracle.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 20:24 +0100, Adnan Misherfi wrote:
> 
> Konrad Rzeszutek Wilk wrote:
> >>>> wrong, which caused the RX ring to be erroneously declared full,
> >>>> and the receive queue to be stopped. The problem shows up when two
> >>>> guest running on the same server tries to communicates using large
> >>>>         
> > .. snip..
> >   
> >>> The function name is xen_netbk_count_skb_slots() in net-next.  This
> >>> appears to depend on the series in
> >>> <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.
> >>>       
> >> Yes, I don't think that patchset was intended for prime time just yet.
> >> Can this issue be reproduced without it?
> >>     
> >
> > It was based on 3.4, but the bug and work to fix this was  done on top of
> > a 3.4 version of netback backported in a 3.0 kernel. Let me double check
> > whether there were some missing patches.
> >
> >   
> >>>>  	int i, copy_off;
> >>>>  
> >>>>  	count = DIV_ROUND_UP(
> >>>> -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> >>>> +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> >>>>         
> >>> The new version would be equivalent to:
> >>> 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> >>> which is not right, as netbk_gop_skb() will use one slot per page.
> >>>       
> >> Just outside the context of this patch we separately count the frag
> >> pages.
> >>
> >> However I think you are right if skb->data covers > 1 page, since the
> >> new version can only ever return 0 or 1. I expect this patch papers over
> >> the underlying issue by not stopping often enough, rather than actually
> >> fixing the underlying issue.
> >>     
> >
> > Ah, any thoughts? Have you guys seen this behavior as well?
> >   
> >>> The real problem is likely that you're not using the same condition to
> >>> stop and wake the queue.
> >>>       
> >> Agreed, it would be useful to see the argument for this patch presented
> >> in that light. In particular the relationship between
> >> xenvif_rx_schedulable() (used to wake queue) and
> >> xen_netbk_must_stop_queue() (used to stop queue).
> >>     
> >
> > Do you have any debug patches to ... do open-heart surgery on the
> > rings of netback as its hitting the issues Adnan has found?
> >
> >   
> >> As it stands the description describes a setup which can repro the
> >> problem but doesn't really analyse what actually happens, nor justify
> >> the correctness of the fix.
> >>     
> >
> > Hm, Adnan - you dug in to this and you got tons of notes. Could you
> > describe what you saw that caused this?
> >   
> The problem is that the function xen_netbk_count_skb_slots() returns two 
> different counts for same type packets of same size (ICMP,3991). At the 
> start of the test
> the count is one, later on the count changes to two, soon after the 
> counts becomes two, the condition ring full becomes true, and queue get 
> stopped, and never gets
> started again.There are few point to make here:
> 1- It takes less that 128 ping packets to reproduce this
> 2- What is interesting here is that it works correct for many packet 
> sizes including 1500,400,500 9000, (3990, but not 3991)
> 3- The inconsistent count for the same packet size and type
> 4- I do not believe the ring was actually full when it was declared 
> full, I think the consumer pointer was wrong. (vif->rx_req_cons_peek in 
> function xenvif_start_xmit())
> 5- After changing the code the count returned from 
> xen_netbk_count_skb_slots() was always consistent, and worked just fine, 
> I let it runs for at least 12 hours.

That doesn't really explain why you think your fix is correct though,
which is what I was asking for.

In any case, does Simon's patch also fix things for you? As far as I can
tell that is the right fix.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 11:13:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 11:13:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXVyc-0003oS-Mk; Thu, 24 May 2012 11:13:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXVyb-0003oN-3h
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 11:13:05 +0000
Received: from [193.109.254.147:48139] by server-1.bemta-14.messagelabs.com id
	AF/F2-29372-0C71EBF4; Thu, 24 May 2012 11:13:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337857979!4141165!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2565 invoked from network); 24 May 2012 11:12:59 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 11:12:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330905600"; d="scan'208";a="12646992"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 11:12:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 12:12:59 +0100
Message-ID: <1337857978.7229.27.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Adnan Misherfi <adnan.misherfi@oracle.com>
Date: Thu, 24 May 2012 12:12:58 +0100
In-Reply-To: <4FBBE7D2.9040105@oracle.com>
References: <1337621793-12486-1-git-send-email-konrad.wilk@oracle.com>
	<1337627640.2979.33.camel@bwh-desktop.uk.solarflarecom.com>
	<1337678512.10118.40.camel@zakaz.uk.xensource.com>
	<20120522180901.GC22488@phenom.dumpdata.com>
	<4FBBE7D2.9040105@oracle.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [Xen-devel] [PATCH] xen/netback: calculate correctly the SKB
	slots.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 20:24 +0100, Adnan Misherfi wrote:
> 
> Konrad Rzeszutek Wilk wrote:
> >>>> wrong, which caused the RX ring to be erroneously declared full,
> >>>> and the receive queue to be stopped. The problem shows up when two
> >>>> guest running on the same server tries to communicates using large
> >>>>         
> > .. snip..
> >   
> >>> The function name is xen_netbk_count_skb_slots() in net-next.  This
> >>> appears to depend on the series in
> >>> <http://lists.xen.org/archives/html/xen-devel/2012-01/msg00982.html>.
> >>>       
> >> Yes, I don't think that patchset was intended for prime time just yet.
> >> Can this issue be reproduced without it?
> >>     
> >
> > It was based on 3.4, but the bug and work to fix this was  done on top of
> > a 3.4 version of netback backported in a 3.0 kernel. Let me double check
> > whether there were some missing patches.
> >
> >   
> >>>>  	int i, copy_off;
> >>>>  
> >>>>  	count = DIV_ROUND_UP(
> >>>> -			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
> >>>> +			offset_in_page(skb->data + skb_headlen(skb)), PAGE_SIZE);
> >>>>         
> >>> The new version would be equivalent to:
> >>> 	count = offset_in_page(skb->data + skb_headlen(skb)) != 0;
> >>> which is not right, as netbk_gop_skb() will use one slot per page.
> >>>       
> >> Just outside the context of this patch we separately count the frag
> >> pages.
> >>
> >> However I think you are right if skb->data covers > 1 page, since the
> >> new version can only ever return 0 or 1. I expect this patch papers over
> >> the underlying issue by not stopping often enough, rather than actually
> >> fixing the underlying issue.
> >>     
> >
> > Ah, any thoughts? Have you guys seen this behavior as well?
> >   
> >>> The real problem is likely that you're not using the same condition to
> >>> stop and wake the queue.
> >>>       
> >> Agreed, it would be useful to see the argument for this patch presented
> >> in that light. In particular the relationship between
> >> xenvif_rx_schedulable() (used to wake queue) and
> >> xen_netbk_must_stop_queue() (used to stop queue).
> >>     
> >
> > Do you have any debug patches to ... do open-heart surgery on the
> > rings of netback as its hitting the issues Adnan has found?
> >
> >   
> >> As it stands the description describes a setup which can repro the
> >> problem but doesn't really analyse what actually happens, nor justify
> >> the correctness of the fix.
> >>     
> >
> > Hm, Adnan - you dug in to this and you got tons of notes. Could you
> > describe what you saw that caused this?
> >   
> The problem is that the function xen_netbk_count_skb_slots() returns two 
> different counts for same type packets of same size (ICMP,3991). At the 
> start of the test
> the count is one, later on the count changes to two, soon after the 
> counts becomes two, the condition ring full becomes true, and queue get 
> stopped, and never gets
> started again.There are few point to make here:
> 1- It takes less that 128 ping packets to reproduce this
> 2- What is interesting here is that it works correct for many packet 
> sizes including 1500,400,500 9000, (3990, but not 3991)
> 3- The inconsistent count for the same packet size and type
> 4- I do not believe the ring was actually full when it was declared 
> full, I think the consumer pointer was wrong. (vif->rx_req_cons_peek in 
> function xenvif_start_xmit())
> 5- After changing the code the count returned from 
> xen_netbk_count_skb_slots() was always consistent, and worked just fine, 
> I let it runs for at least 12 hours.

That doesn't really explain why you think your fix is correct though,
which is what I was asking for.

In any case, does Simon's patch also fix things for you? As far as I can
tell that is the right fix.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 11:27:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 11:27:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXWBr-0003yJ-2A; Thu, 24 May 2012 11:26:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXWBp-0003yC-DP
	for xen-devel@lists.xen.org; Thu, 24 May 2012 11:26:45 +0000
Received: from [85.158.138.51:33398] by server-3.bemta-3.messagelabs.com id
	93/F0-08380-4FA1EBF4; Thu, 24 May 2012 11:26:44 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337858802!20946620!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8387 invoked from network); 24 May 2012 11:26:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 11:26:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196311686"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 07:26:29 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 07:26:28 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXWBY-00018P-9Y;
	Thu, 24 May 2012 12:26:28 +0100
Message-ID: <4FBE1AEE.8000003@citrix.com>
Date: Thu, 24 May 2012 12:26:38 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
In-Reply-To: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

RGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4gVG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBh
Ym91dDoKPiBsaWJ4bC5jOiBJbiBmdW5jdGlvbiDigJhsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhl
Y+KAmToKPiBsaWJ4bC5jOjEyMzM6OTogZXJyb3I6IGNhc2UgdmFsdWUg4oCYNDI5NDk2NzI5NeKA
mSBub3QgaW4gZW51bWVyYXRlZCB0eXBlIOKAmGxpYnhsX2RvbWFpbl90eXBl4oCZIFstV2Vycm9y
PXN3aXRjaF0KPgo+IEFkanVzdCBjb2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBj
bGFpbSB0aGF0Cj4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KClRo
YW5rcyBmb3IgdGhlIHBhdGNoIEkndmUgdHJpZWQgaXQgYW5kIHdvcmtzIG9rLCBzbyB0aGUgYmVs
b3cgY29tbWVudCBpcyAKanVzdCBhIHN1Z2dlc3Rpb24gYWJvdXQgZXJyb3IgaGFuZGxpbmcuCgo+
IFNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+
Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEVnZ2VyPENocmlzdG9waC5FZ2dlckBhbWQuY29t
Pgo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4
bF9kbS5jCj4gQEAgLTI1Nyw2ICsyNTcsOCBAQCBzdGF0aWMgY2hhciAqKiBsaWJ4bF9fYnVpbGRf
ZGV2aWNlX21vZGVsCj4gICAgICAgICAgIGZvciAoaSA9IDA7IGJfaW5mby0+ZXh0cmFfaHZtJiYg
IGJfaW5mby0+ZXh0cmFfaHZtW2ldICE9IE5VTEw7IGkrKykKPiAgICAgICAgICAgICAgIGZsZXhh
cnJheV9hcHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1baV0pOwo+ICAgICAgICAgICBi
cmVhazsKPiArICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiArICAgICAgICBi
cmVhazsKPiAgICAgICB9Cj4gICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsK
PiAgICAgICByZXR1cm4gKGNoYXIgKiopIGZsZXhhcnJheV9jb250ZW50cyhkbV9hcmdzKTsKPiBA
QCAtNTA1LDYgKzUwNyw4IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9k
ZWwKPiAgICAgICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0mJiAgYl9pbmZvLT5l
eHRyYV9odm1baV0gIT0gTlVMTDsgaSsrKQo+ICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVu
ZChkbV9hcmdzLCBiX2luZm8tPmV4dHJhX2h2bVtpXSk7Cj4gICAgICAgICAgIGJyZWFrOwo+ICsg
ICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ICsgICAgICAgIGJyZWFrOwo+ICAg
ICAgIH0KCkkgdGhpbmsgd2Ugc2hvdWxkIHVzZSAiZGVmYXVsdCIgaGVyZSAoYW5kIG9uIHRoZSBw
cmV2aW91cyBvbmUpLCBwcmludCBhbiAKZXJyb3IgbWVzc2FnZSwgYW5kIHByb2JhYmx5IHJldHVy
biBOVUxMLiBJIGd1ZXNzIHdlIGFyZSBnb2luZyB0byBnZXQgYW4gCmVycm9yIGF0IHNvbWUgcG9p
bnQgbGF0ZXIsIHNvIEkgdGhpbmsgaXQncyBiZXR0ZXIgdG8gY2F0Y2ggaXQgaGVyZS4KCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls
aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu
LWRldmVsCg==

From xen-devel-bounces@lists.xen.org Thu May 24 11:27:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 11:27:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXWBr-0003yJ-2A; Thu, 24 May 2012 11:26:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXWBp-0003yC-DP
	for xen-devel@lists.xen.org; Thu, 24 May 2012 11:26:45 +0000
Received: from [85.158.138.51:33398] by server-3.bemta-3.messagelabs.com id
	93/F0-08380-4FA1EBF4; Thu, 24 May 2012 11:26:44 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337858802!20946620!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8387 invoked from network); 24 May 2012 11:26:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 11:26:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,649,1330923600"; d="scan'208";a="196311686"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 07:26:29 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 07:26:28 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXWBY-00018P-9Y;
	Thu, 24 May 2012 12:26:28 +0100
Message-ID: <4FBE1AEE.8000003@citrix.com>
Date: Thu, 24 May 2012 12:26:38 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
In-Reply-To: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

RGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4gVG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBh
Ym91dDoKPiBsaWJ4bC5jOiBJbiBmdW5jdGlvbiDigJhsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhl
Y+KAmToKPiBsaWJ4bC5jOjEyMzM6OTogZXJyb3I6IGNhc2UgdmFsdWUg4oCYNDI5NDk2NzI5NeKA
mSBub3QgaW4gZW51bWVyYXRlZCB0eXBlIOKAmGxpYnhsX2RvbWFpbl90eXBl4oCZIFstV2Vycm9y
PXN3aXRjaF0KPgo+IEFkanVzdCBjb2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBj
bGFpbSB0aGF0Cj4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KClRo
YW5rcyBmb3IgdGhlIHBhdGNoIEkndmUgdHJpZWQgaXQgYW5kIHdvcmtzIG9rLCBzbyB0aGUgYmVs
b3cgY29tbWVudCBpcyAKanVzdCBhIHN1Z2dlc3Rpb24gYWJvdXQgZXJyb3IgaGFuZGxpbmcuCgo+
IFNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+
Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEVnZ2VyPENocmlzdG9waC5FZ2dlckBhbWQuY29t
Pgo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4
bF9kbS5jCj4gQEAgLTI1Nyw2ICsyNTcsOCBAQCBzdGF0aWMgY2hhciAqKiBsaWJ4bF9fYnVpbGRf
ZGV2aWNlX21vZGVsCj4gICAgICAgICAgIGZvciAoaSA9IDA7IGJfaW5mby0+ZXh0cmFfaHZtJiYg
IGJfaW5mby0+ZXh0cmFfaHZtW2ldICE9IE5VTEw7IGkrKykKPiAgICAgICAgICAgICAgIGZsZXhh
cnJheV9hcHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1baV0pOwo+ICAgICAgICAgICBi
cmVhazsKPiArICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiArICAgICAgICBi
cmVhazsKPiAgICAgICB9Cj4gICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsK
PiAgICAgICByZXR1cm4gKGNoYXIgKiopIGZsZXhhcnJheV9jb250ZW50cyhkbV9hcmdzKTsKPiBA
QCAtNTA1LDYgKzUwNyw4IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9k
ZWwKPiAgICAgICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0mJiAgYl9pbmZvLT5l
eHRyYV9odm1baV0gIT0gTlVMTDsgaSsrKQo+ICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVu
ZChkbV9hcmdzLCBiX2luZm8tPmV4dHJhX2h2bVtpXSk7Cj4gICAgICAgICAgIGJyZWFrOwo+ICsg
ICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ICsgICAgICAgIGJyZWFrOwo+ICAg
ICAgIH0KCkkgdGhpbmsgd2Ugc2hvdWxkIHVzZSAiZGVmYXVsdCIgaGVyZSAoYW5kIG9uIHRoZSBw
cmV2aW91cyBvbmUpLCBwcmludCBhbiAKZXJyb3IgbWVzc2FnZSwgYW5kIHByb2JhYmx5IHJldHVy
biBOVUxMLiBJIGd1ZXNzIHdlIGFyZSBnb2luZyB0byBnZXQgYW4gCmVycm9yIGF0IHNvbWUgcG9p
bnQgbGF0ZXIsIHNvIEkgdGhpbmsgaXQncyBiZXR0ZXIgdG8gY2F0Y2ggaXQgaGVyZS4KCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls
aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu
LWRldmVsCg==

From xen-devel-bounces@lists.xen.org Thu May 24 11:29:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 11:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXWDh-00044I-NP; Thu, 24 May 2012 11:28:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SXWDg-00044D-NV
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 11:28:40 +0000
Received: from [193.109.254.147:21892] by server-7.bemta-14.messagelabs.com id
	5C/29-01627-76B1EBF4; Thu, 24 May 2012 11:28:39 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337858901!10794984!1
X-Originating-IP: [209.85.161.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6706 invoked from network); 24 May 2012 11:28:22 -0000
Received: from mail-gg0-f171.google.com (HELO mail-gg0-f171.google.com)
	(209.85.161.171)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 11:28:22 -0000
Received: by ggmi1 with SMTP id i1so9810714ggm.30
	for <xen-devel@lists.xensource.com>;
	Thu, 24 May 2012 04:28:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=T3xVNrG7g+zkYI3pVXdPaI3KVjdgYK0nvjrpe+cAHxk=;
	b=BSqI4+0KpnuMQKI0ZQNGKb2p0SAWZIzIFwicC3n6WrZBQM19CT14z9xrn6TiIgoVna
	QxAFRJJfq39aaExtcF1/iy1IHXp4tDy3aYYOLQoP0zFEXjONx7XHidaDbXDVG/Rrgcbu
	6CE3jb3l47q+SNi1KmhwYQQ0qHkKwNvTlX0dWXQJbhx8GdhuWfi8R8YF+wfa0jItvEQP
	hV9CKvwrQ+Krt5Jh1KsYHzJaT1bv8XME7W0QnLtvyyG5inhl+3FZYGBxbHw1lO4kHNK1
	JmG0VtLMOkoYGPYMtXj3h79T8gpzktHiVDa2MsaaVVG8FWoJ97PMvSYde2YE1u0yG+pN
	5kyQ==
MIME-Version: 1.0
Received: by 10.60.170.38 with SMTP id aj6mr22198730oec.51.1337858900535; Thu,
	24 May 2012 04:28:20 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Thu, 24 May 2012 04:28:20 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205241108560.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
	<1336120233.26385.10.camel@dagon.hellion.org.uk>
	<CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
	<alpine.DEB.2.00.1205241108560.26786@kaball-desktop>
Date: Thu, 24 May 2012 19:28:20 +0800
Message-ID: <CAAh7U5O3HMmRbUVEY1iUUt3wvU=a1ZyoAC5vzYg5su9+Y_ALwg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 6:13 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 24 May 2012, ZhouPeng wrote:
>> Sorry for late reply, I am not on this mail these days because of my wor=
k.
>>
>> I further test qxl-vga and I think I figure out the problem in some exte=
nd.
>>
>> If using qxl device, the default memory size of vga is 64M.
>> Which will cause xen_ram_alloc(qemu/xen-all.c) fails.
>>
>> The exact reason is xc_domain_populate_physmap_exact fails, because
>> xen-hypervisor
>> fail,
>> it's because of =A0 alloc_domheap_pages(d, a->extent_order, a->memflags)
>> fails in hypervisor.
>>
>> I am not very familiar with xen's memory management, Does 64M exceed
>> xen's heap space in this context?
>
> XL sets an upper bound of memory that can be allocated to the VM in
> libxl__build_pre, calling xc_domain_setmaxmem.
> My guess is that a 64MB allocation would go over that limit.
> You could try increasing the limit manually changing the
> xc_domain_setmaxmem call in libxl__build_pre, or you could try setting
> videoram=3D64 in the VM config file.

Your guess is absolutely right!

But set videoram=3D128 or
xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb +
LIBXL_MAXMEM_CONSTANT + 2 * 64 * 1024);

Then I successfuly install qxl driver in win-hvm and QXL can work properly.

I will send some patch to add qxl support to libxl.
-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 11:29:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 11:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXWDh-00044I-NP; Thu, 24 May 2012 11:28:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SXWDg-00044D-NV
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 11:28:40 +0000
Received: from [193.109.254.147:21892] by server-7.bemta-14.messagelabs.com id
	5C/29-01627-76B1EBF4; Thu, 24 May 2012 11:28:39 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337858901!10794984!1
X-Originating-IP: [209.85.161.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6706 invoked from network); 24 May 2012 11:28:22 -0000
Received: from mail-gg0-f171.google.com (HELO mail-gg0-f171.google.com)
	(209.85.161.171)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 11:28:22 -0000
Received: by ggmi1 with SMTP id i1so9810714ggm.30
	for <xen-devel@lists.xensource.com>;
	Thu, 24 May 2012 04:28:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=T3xVNrG7g+zkYI3pVXdPaI3KVjdgYK0nvjrpe+cAHxk=;
	b=BSqI4+0KpnuMQKI0ZQNGKb2p0SAWZIzIFwicC3n6WrZBQM19CT14z9xrn6TiIgoVna
	QxAFRJJfq39aaExtcF1/iy1IHXp4tDy3aYYOLQoP0zFEXjONx7XHidaDbXDVG/Rrgcbu
	6CE3jb3l47q+SNi1KmhwYQQ0qHkKwNvTlX0dWXQJbhx8GdhuWfi8R8YF+wfa0jItvEQP
	hV9CKvwrQ+Krt5Jh1KsYHzJaT1bv8XME7W0QnLtvyyG5inhl+3FZYGBxbHw1lO4kHNK1
	JmG0VtLMOkoYGPYMtXj3h79T8gpzktHiVDa2MsaaVVG8FWoJ97PMvSYde2YE1u0yG+pN
	5kyQ==
MIME-Version: 1.0
Received: by 10.60.170.38 with SMTP id aj6mr22198730oec.51.1337858900535; Thu,
	24 May 2012 04:28:20 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Thu, 24 May 2012 04:28:20 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205241108560.26786@kaball-desktop>
References: <1335453835300-5667919.post@n5.nabble.com>
	<1335454757.28015.160.camel@zakaz.uk.xensource.com>
	<CAAh7U5Op9Lb3tsgaZHqSLyP_F6zWw09oeArAO+eo1-DMRDf0xw@mail.gmail.com>
	<1335946863612-5679908.post@n5.nabble.com>
	<CAAh7U5PTDDmebJaNwNvcDr86hWdnJ-=5j0gYAN1Q9hAL=mrfkA@mail.gmail.com>
	<alpine.DEB.2.00.1205031343410.26786@kaball-desktop>
	<CAAh7U5PB5AeniU38J2f_bWPUOkdiyCJYnxNb4+nJPUV1iQ=czg@mail.gmail.com>
	<alpine.DEB.2.00.1205031404550.26786@kaball-desktop>
	<CAAh7U5MD-whxLu7YoCx7LQgP3wH8Un3mstC9210959nP781U8w@mail.gmail.com>
	<alpine.DEB.2.00.1205031456120.26786@kaball-desktop>
	<CAAh7U5Mh24DcQAH2ae4Z3_u39es-Nv8E02A8m3nxT1U1pv9Bwg@mail.gmail.com>
	<1336120233.26385.10.camel@dagon.hellion.org.uk>
	<CAAh7U5NMuzk77mHw936p+hGiH9=84Ouq8_Y-6dizZNbT9yUp-Q@mail.gmail.com>
	<alpine.DEB.2.00.1205241108560.26786@kaball-desktop>
Date: Thu, 24 May 2012 19:28:20 +0800
Message-ID: <CAAh7U5O3HMmRbUVEY1iUUt3wvU=a1ZyoAC5vzYg5su9+Y_ALwg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Fantu <fantonifabio@tiscali.it>
Subject: Re: [Xen-devel] Unable to get QXL vga working
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 6:13 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 24 May 2012, ZhouPeng wrote:
>> Sorry for late reply, I am not on this mail these days because of my wor=
k.
>>
>> I further test qxl-vga and I think I figure out the problem in some exte=
nd.
>>
>> If using qxl device, the default memory size of vga is 64M.
>> Which will cause xen_ram_alloc(qemu/xen-all.c) fails.
>>
>> The exact reason is xc_domain_populate_physmap_exact fails, because
>> xen-hypervisor
>> fail,
>> it's because of =A0 alloc_domheap_pages(d, a->extent_order, a->memflags)
>> fails in hypervisor.
>>
>> I am not very familiar with xen's memory management, Does 64M exceed
>> xen's heap space in this context?
>
> XL sets an upper bound of memory that can be allocated to the VM in
> libxl__build_pre, calling xc_domain_setmaxmem.
> My guess is that a 64MB allocation would go over that limit.
> You could try increasing the limit manually changing the
> xc_domain_setmaxmem call in libxl__build_pre, or you could try setting
> videoram=3D64 in the VM config file.

Your guess is absolutely right!

But set videoram=3D128 or
xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb +
LIBXL_MAXMEM_CONSTANT + 2 * 64 * 1024);

Then I successfuly install qxl driver in win-hvm and QXL can work properly.

I will send some patch to add qxl support to libxl.
-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 12:14:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:14:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXWve-0004YS-9Z; Thu, 24 May 2012 12:14:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXWvc-0004YM-9Q
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:14:04 +0000
Received: from [85.158.143.35:58801] by server-3.bemta-4.messagelabs.com id
	57/1B-05853-B062EBF4; Thu, 24 May 2012 12:14:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337861641!5738813!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18724 invoked from network); 24 May 2012 12:14:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 12:14:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 13:14:00 +0100
Message-Id: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 13:14:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part85AB793A.0__="
Subject: [Xen-devel] [PATCH] x86: fix nested HVM initialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part85AB793A.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- no need for calling nestedhvm_setup() explicitly (can be a normal
  init-call, and can be __init)
- calling _xmalloc() for multi-page, page-aligned memory regions is
  inefficient - use alloc_xenheap_pages() instead
- albeit an allocation error is unlikely here, add error handling
  nevertheless (and have nestedhvm_vcpu_initialise() bail if an error
  occurred during setup)
- nestedhvm_enabled() must no access d->arch.hvm_domain without first
  checking that 'd' actually represents a HVM domain

Signed-off-by: Jan Beulich <JBeulich@suse.com>

--- a/xen/arch/x86/hvm/nestedhvm.c
+++ b/xen/arch/x86/hvm/nestedhvm.c
@@ -25,16 +25,14 @@
 #include <asm/event.h>  /* for local_event_delivery_(en|dis)able */
 #include <asm/paging.h> /* for paging_mode_hap() */
=20
+static unsigned long *shadow_io_bitmap[3];
+
 /* Nested HVM on/off per domain */
 bool_t
 nestedhvm_enabled(struct domain *d)
 {
-    bool_t enabled;
-
-    enabled =3D !!(d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM]);
-    BUG_ON(enabled && !is_hvm_domain(d));
-   =20
-    return enabled;
+    return is_hvm_domain(d) &&
+           d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM];
 }
=20
 /* Nested VCPU */
@@ -76,6 +74,9 @@ nestedhvm_vcpu_initialise(struct vcpu *v
 {
     int rc =3D -EOPNOTSUPP;
=20
+    if ( !shadow_io_bitmap[0] )
+        return -ENOMEM;
+
     if ( !hvm_funcs.nhvm_vcpu_initialise ||
          ((rc =3D hvm_funcs.nhvm_vcpu_initialise(v)) !=3D 0) )
          return rc;
@@ -147,15 +148,15 @@ nestedhvm_is_n2(struct vcpu *v)
  * iomap[2]      set        set
  */
=20
-static unsigned long *shadow_io_bitmap[3];
-
-void
+static int __init
 nestedhvm_setup(void)
 {
     /* Same format and size as hvm_io_bitmap (Intel needs only 2 pages). =
*/
-    unsigned int sz =3D (boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL)=

-        ? 2*PAGE_SIZE : 3*PAGE_SIZE;
-    unsigned int i;
+    unsigned int nr =3D (boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL)=
 ? 2 : 3;
+    unsigned int i, order =3D get_order_from_pages(nr);
+
+    if ( !hvm_funcs.name )
+        return 0;
=20
     /* shadow_io_bitmaps can't be declared static because
      *   they must fulfill hw requirements (page aligned section)
@@ -169,13 +170,25 @@ nestedhvm_setup(void)
=20
     for ( i =3D 0; i < ARRAY_SIZE(shadow_io_bitmap); i++ )
     {
-        shadow_io_bitmap[i] =3D _xmalloc(sz, PAGE_SIZE);
-        memset(shadow_io_bitmap[i], ~0U, sz);
+        shadow_io_bitmap[i] =3D alloc_xenheap_pages(order, 0);
+        if ( !shadow_io_bitmap[i] )
+        {
+            while ( i-- )
+            {
+                free_xenheap_pages(shadow_io_bitmap[i], order);
+                shadow_io_bitmap[i] =3D NULL;
+            }
+            return -ENOMEM;
+        }
+        memset(shadow_io_bitmap[i], ~0U, nr << PAGE_SHIFT);
     }
=20
     __clear_bit(0x80, shadow_io_bitmap[0]);
     __clear_bit(0xed, shadow_io_bitmap[1]);
+
+    return 0;
 }
+__initcall(nestedhvm_setup);
=20
 unsigned long *
 nestedhvm_vcpu_iomap_get(bool_t port_80, bool_t port_ed)
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1312,8 +1312,6 @@ void __init __start_xen(unsigned long mb
     if ( opt_watchdog )=20
         watchdog_setup();
=20
-    nestedhvm_setup();
-   =20
     if ( !tboot_protect_mem_regions() )
         panic("Could not protect TXT memory regions\n");
=20
--- a/xen/include/asm-x86/setup.h
+++ b/xen/include/asm-x86/setup.h
@@ -21,7 +21,6 @@ void set_nr_cpu_ids(unsigned int max_cpu
 void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
 void arch_init_memory(void);
 void subarch_init_memory(void);
-void nestedhvm_setup(void);
=20
 void init_IRQ(void);
 void vesa_init(void);




--=__Part85AB793A.0__=
Content-Type: text/plain; name="x86-nestedhvm-setup.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-nestedhvm-setup.patch"

x86: fix nested HVM initialization=0A=0A- no need for calling nestedhvm_set=
up() explicitly (can be a normal=0A  init-call, and can be __init)=0A- =
calling _xmalloc() for multi-page, page-aligned memory regions is=0A  =
inefficient - use alloc_xenheap_pages() instead=0A- albeit an allocation =
error is unlikely here, add error handling=0A  nevertheless (and have =
nestedhvm_vcpu_initialise() bail if an error=0A  occurred during setup)=0A-=
 nestedhvm_enabled() must no access d->arch.hvm_domain without first=0A  =
checking that 'd' actually represents a HVM domain=0A=0ASigned-off-by: Jan =
Beulich <JBeulich@suse.com>=0A=0A--- a/xen/arch/x86/hvm/nestedhvm.c=0A+++ =
b/xen/arch/x86/hvm/nestedhvm.c=0A@@ -25,16 +25,14 @@=0A #include <asm/event=
.h>  /* for local_event_delivery_(en|dis)able */=0A #include <asm/paging.h>=
 /* for paging_mode_hap() */=0A =0A+static unsigned long *shadow_io_bitmap[=
3];=0A+=0A /* Nested HVM on/off per domain */=0A bool_t=0A nestedhvm_enable=
d(struct domain *d)=0A {=0A-    bool_t enabled;=0A-=0A-    enabled =3D =
!!(d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM]);=0A-    BUG_ON(enabled =
&& !is_hvm_domain(d));=0A-    =0A-    return enabled;=0A+    return =
is_hvm_domain(d) &&=0A+           d->arch.hvm_domain.params[HVM_PARAM_NESTE=
DHVM];=0A }=0A =0A /* Nested VCPU */=0A@@ -76,6 +74,9 @@ nestedhvm_vcpu_ini=
tialise(struct vcpu *v=0A {=0A     int rc =3D -EOPNOTSUPP;=0A =0A+    if ( =
!shadow_io_bitmap[0] )=0A+        return -ENOMEM;=0A+=0A     if ( =
!hvm_funcs.nhvm_vcpu_initialise ||=0A          ((rc =3D hvm_funcs.nhvm_vcpu=
_initialise(v)) !=3D 0) )=0A          return rc;=0A@@ -147,15 +148,15 @@ =
nestedhvm_is_n2(struct vcpu *v)=0A  * iomap[2]      set        set=0A  =
*/=0A =0A-static unsigned long *shadow_io_bitmap[3];=0A-=0A-void=0A+static =
int __init=0A nestedhvm_setup(void)=0A {=0A     /* Same format and size as =
hvm_io_bitmap (Intel needs only 2 pages). */=0A-    unsigned int sz =3D =
(boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL)=0A-        ? 2*PAGE_SIZE=
 : 3*PAGE_SIZE;=0A-    unsigned int i;=0A+    unsigned int nr =3D =
(boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL) ? 2 : 3;=0A+    =
unsigned int i, order =3D get_order_from_pages(nr);=0A+=0A+    if ( =
!hvm_funcs.name )=0A+        return 0;=0A =0A     /* shadow_io_bitmaps =
can't be declared static because=0A      *   they must fulfill hw =
requirements (page aligned section)=0A@@ -169,13 +170,25 @@ nestedhvm_setup=
(void)=0A =0A     for ( i =3D 0; i < ARRAY_SIZE(shadow_io_bitmap); i++ =
)=0A     {=0A-        shadow_io_bitmap[i] =3D _xmalloc(sz, PAGE_SIZE);=0A- =
       memset(shadow_io_bitmap[i], ~0U, sz);=0A+        shadow_io_bitmap[i]=
 =3D alloc_xenheap_pages(order, 0);=0A+        if ( !shadow_io_bitmap[i] =
)=0A+        {=0A+            while ( i-- )=0A+            {=0A+           =
     free_xenheap_pages(shadow_io_bitmap[i], order);=0A+                =
shadow_io_bitmap[i] =3D NULL;=0A+            }=0A+            return =
-ENOMEM;=0A+        }=0A+        memset(shadow_io_bitmap[i], ~0U, nr << =
PAGE_SHIFT);=0A     }=0A =0A     __clear_bit(0x80, shadow_io_bitmap[0]);=0A=
     __clear_bit(0xed, shadow_io_bitmap[1]);=0A+=0A+    return 0;=0A =
}=0A+__initcall(nestedhvm_setup);=0A =0A unsigned long *=0A nestedhvm_vcpu_=
iomap_get(bool_t port_80, bool_t port_ed)=0A--- a/xen/arch/x86/setup.c=0A++=
+ b/xen/arch/x86/setup.c=0A@@ -1312,8 +1312,6 @@ void __init __start_xen(un=
signed long mb=0A     if ( opt_watchdog ) =0A         watchdog_setup();=0A =
=0A-    nestedhvm_setup();=0A-    =0A     if ( !tboot_protect_mem_regions()=
 )=0A         panic("Could not protect TXT memory regions\n");=0A =0A--- =
a/xen/include/asm-x86/setup.h=0A+++ b/xen/include/asm-x86/setup.h=0A@@ =
-21,7 +21,6 @@ void set_nr_cpu_ids(unsigned int max_cpu=0A void numa_initme=
m_init(unsigned long start_pfn, unsigned long end_pfn);=0A void arch_init_m=
emory(void);=0A void subarch_init_memory(void);=0A-void nestedhvm_setup(voi=
d);=0A =0A void init_IRQ(void);=0A void vesa_init(void);=0A
--=__Part85AB793A.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part85AB793A.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 12:14:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:14:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXWve-0004YS-9Z; Thu, 24 May 2012 12:14:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXWvc-0004YM-9Q
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:14:04 +0000
Received: from [85.158.143.35:58801] by server-3.bemta-4.messagelabs.com id
	57/1B-05853-B062EBF4; Thu, 24 May 2012 12:14:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337861641!5738813!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18724 invoked from network); 24 May 2012 12:14:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 12:14:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 13:14:00 +0100
Message-Id: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 13:14:34 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part85AB793A.0__="
Subject: [Xen-devel] [PATCH] x86: fix nested HVM initialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part85AB793A.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- no need for calling nestedhvm_setup() explicitly (can be a normal
  init-call, and can be __init)
- calling _xmalloc() for multi-page, page-aligned memory regions is
  inefficient - use alloc_xenheap_pages() instead
- albeit an allocation error is unlikely here, add error handling
  nevertheless (and have nestedhvm_vcpu_initialise() bail if an error
  occurred during setup)
- nestedhvm_enabled() must no access d->arch.hvm_domain without first
  checking that 'd' actually represents a HVM domain

Signed-off-by: Jan Beulich <JBeulich@suse.com>

--- a/xen/arch/x86/hvm/nestedhvm.c
+++ b/xen/arch/x86/hvm/nestedhvm.c
@@ -25,16 +25,14 @@
 #include <asm/event.h>  /* for local_event_delivery_(en|dis)able */
 #include <asm/paging.h> /* for paging_mode_hap() */
=20
+static unsigned long *shadow_io_bitmap[3];
+
 /* Nested HVM on/off per domain */
 bool_t
 nestedhvm_enabled(struct domain *d)
 {
-    bool_t enabled;
-
-    enabled =3D !!(d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM]);
-    BUG_ON(enabled && !is_hvm_domain(d));
-   =20
-    return enabled;
+    return is_hvm_domain(d) &&
+           d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM];
 }
=20
 /* Nested VCPU */
@@ -76,6 +74,9 @@ nestedhvm_vcpu_initialise(struct vcpu *v
 {
     int rc =3D -EOPNOTSUPP;
=20
+    if ( !shadow_io_bitmap[0] )
+        return -ENOMEM;
+
     if ( !hvm_funcs.nhvm_vcpu_initialise ||
          ((rc =3D hvm_funcs.nhvm_vcpu_initialise(v)) !=3D 0) )
          return rc;
@@ -147,15 +148,15 @@ nestedhvm_is_n2(struct vcpu *v)
  * iomap[2]      set        set
  */
=20
-static unsigned long *shadow_io_bitmap[3];
-
-void
+static int __init
 nestedhvm_setup(void)
 {
     /* Same format and size as hvm_io_bitmap (Intel needs only 2 pages). =
*/
-    unsigned int sz =3D (boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL)=

-        ? 2*PAGE_SIZE : 3*PAGE_SIZE;
-    unsigned int i;
+    unsigned int nr =3D (boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL)=
 ? 2 : 3;
+    unsigned int i, order =3D get_order_from_pages(nr);
+
+    if ( !hvm_funcs.name )
+        return 0;
=20
     /* shadow_io_bitmaps can't be declared static because
      *   they must fulfill hw requirements (page aligned section)
@@ -169,13 +170,25 @@ nestedhvm_setup(void)
=20
     for ( i =3D 0; i < ARRAY_SIZE(shadow_io_bitmap); i++ )
     {
-        shadow_io_bitmap[i] =3D _xmalloc(sz, PAGE_SIZE);
-        memset(shadow_io_bitmap[i], ~0U, sz);
+        shadow_io_bitmap[i] =3D alloc_xenheap_pages(order, 0);
+        if ( !shadow_io_bitmap[i] )
+        {
+            while ( i-- )
+            {
+                free_xenheap_pages(shadow_io_bitmap[i], order);
+                shadow_io_bitmap[i] =3D NULL;
+            }
+            return -ENOMEM;
+        }
+        memset(shadow_io_bitmap[i], ~0U, nr << PAGE_SHIFT);
     }
=20
     __clear_bit(0x80, shadow_io_bitmap[0]);
     __clear_bit(0xed, shadow_io_bitmap[1]);
+
+    return 0;
 }
+__initcall(nestedhvm_setup);
=20
 unsigned long *
 nestedhvm_vcpu_iomap_get(bool_t port_80, bool_t port_ed)
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1312,8 +1312,6 @@ void __init __start_xen(unsigned long mb
     if ( opt_watchdog )=20
         watchdog_setup();
=20
-    nestedhvm_setup();
-   =20
     if ( !tboot_protect_mem_regions() )
         panic("Could not protect TXT memory regions\n");
=20
--- a/xen/include/asm-x86/setup.h
+++ b/xen/include/asm-x86/setup.h
@@ -21,7 +21,6 @@ void set_nr_cpu_ids(unsigned int max_cpu
 void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
 void arch_init_memory(void);
 void subarch_init_memory(void);
-void nestedhvm_setup(void);
=20
 void init_IRQ(void);
 void vesa_init(void);




--=__Part85AB793A.0__=
Content-Type: text/plain; name="x86-nestedhvm-setup.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-nestedhvm-setup.patch"

x86: fix nested HVM initialization=0A=0A- no need for calling nestedhvm_set=
up() explicitly (can be a normal=0A  init-call, and can be __init)=0A- =
calling _xmalloc() for multi-page, page-aligned memory regions is=0A  =
inefficient - use alloc_xenheap_pages() instead=0A- albeit an allocation =
error is unlikely here, add error handling=0A  nevertheless (and have =
nestedhvm_vcpu_initialise() bail if an error=0A  occurred during setup)=0A-=
 nestedhvm_enabled() must no access d->arch.hvm_domain without first=0A  =
checking that 'd' actually represents a HVM domain=0A=0ASigned-off-by: Jan =
Beulich <JBeulich@suse.com>=0A=0A--- a/xen/arch/x86/hvm/nestedhvm.c=0A+++ =
b/xen/arch/x86/hvm/nestedhvm.c=0A@@ -25,16 +25,14 @@=0A #include <asm/event=
.h>  /* for local_event_delivery_(en|dis)able */=0A #include <asm/paging.h>=
 /* for paging_mode_hap() */=0A =0A+static unsigned long *shadow_io_bitmap[=
3];=0A+=0A /* Nested HVM on/off per domain */=0A bool_t=0A nestedhvm_enable=
d(struct domain *d)=0A {=0A-    bool_t enabled;=0A-=0A-    enabled =3D =
!!(d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM]);=0A-    BUG_ON(enabled =
&& !is_hvm_domain(d));=0A-    =0A-    return enabled;=0A+    return =
is_hvm_domain(d) &&=0A+           d->arch.hvm_domain.params[HVM_PARAM_NESTE=
DHVM];=0A }=0A =0A /* Nested VCPU */=0A@@ -76,6 +74,9 @@ nestedhvm_vcpu_ini=
tialise(struct vcpu *v=0A {=0A     int rc =3D -EOPNOTSUPP;=0A =0A+    if ( =
!shadow_io_bitmap[0] )=0A+        return -ENOMEM;=0A+=0A     if ( =
!hvm_funcs.nhvm_vcpu_initialise ||=0A          ((rc =3D hvm_funcs.nhvm_vcpu=
_initialise(v)) !=3D 0) )=0A          return rc;=0A@@ -147,15 +148,15 @@ =
nestedhvm_is_n2(struct vcpu *v)=0A  * iomap[2]      set        set=0A  =
*/=0A =0A-static unsigned long *shadow_io_bitmap[3];=0A-=0A-void=0A+static =
int __init=0A nestedhvm_setup(void)=0A {=0A     /* Same format and size as =
hvm_io_bitmap (Intel needs only 2 pages). */=0A-    unsigned int sz =3D =
(boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL)=0A-        ? 2*PAGE_SIZE=
 : 3*PAGE_SIZE;=0A-    unsigned int i;=0A+    unsigned int nr =3D =
(boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL) ? 2 : 3;=0A+    =
unsigned int i, order =3D get_order_from_pages(nr);=0A+=0A+    if ( =
!hvm_funcs.name )=0A+        return 0;=0A =0A     /* shadow_io_bitmaps =
can't be declared static because=0A      *   they must fulfill hw =
requirements (page aligned section)=0A@@ -169,13 +170,25 @@ nestedhvm_setup=
(void)=0A =0A     for ( i =3D 0; i < ARRAY_SIZE(shadow_io_bitmap); i++ =
)=0A     {=0A-        shadow_io_bitmap[i] =3D _xmalloc(sz, PAGE_SIZE);=0A- =
       memset(shadow_io_bitmap[i], ~0U, sz);=0A+        shadow_io_bitmap[i]=
 =3D alloc_xenheap_pages(order, 0);=0A+        if ( !shadow_io_bitmap[i] =
)=0A+        {=0A+            while ( i-- )=0A+            {=0A+           =
     free_xenheap_pages(shadow_io_bitmap[i], order);=0A+                =
shadow_io_bitmap[i] =3D NULL;=0A+            }=0A+            return =
-ENOMEM;=0A+        }=0A+        memset(shadow_io_bitmap[i], ~0U, nr << =
PAGE_SHIFT);=0A     }=0A =0A     __clear_bit(0x80, shadow_io_bitmap[0]);=0A=
     __clear_bit(0xed, shadow_io_bitmap[1]);=0A+=0A+    return 0;=0A =
}=0A+__initcall(nestedhvm_setup);=0A =0A unsigned long *=0A nestedhvm_vcpu_=
iomap_get(bool_t port_80, bool_t port_ed)=0A--- a/xen/arch/x86/setup.c=0A++=
+ b/xen/arch/x86/setup.c=0A@@ -1312,8 +1312,6 @@ void __init __start_xen(un=
signed long mb=0A     if ( opt_watchdog ) =0A         watchdog_setup();=0A =
=0A-    nestedhvm_setup();=0A-    =0A     if ( !tboot_protect_mem_regions()=
 )=0A         panic("Could not protect TXT memory regions\n");=0A =0A--- =
a/xen/include/asm-x86/setup.h=0A+++ b/xen/include/asm-x86/setup.h=0A@@ =
-21,7 +21,6 @@ void set_nr_cpu_ids(unsigned int max_cpu=0A void numa_initme=
m_init(unsigned long start_pfn, unsigned long end_pfn);=0A void arch_init_m=
emory(void);=0A void subarch_init_memory(void);=0A-void nestedhvm_setup(voi=
d);=0A =0A void init_IRQ(void);=0A void vesa_init(void);=0A
--=__Part85AB793A.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part85AB793A.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 12:23:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:23:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXX4p-0004i3-BQ; Thu, 24 May 2012 12:23:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXX4n-0004hy-Gh
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:23:33 +0000
Received: from [85.158.139.83:63032] by server-9.bemta-5.messagelabs.com id
	3C/8D-27779-4482EBF4; Thu, 24 May 2012 12:23:32 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337862207!29450908!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18044 invoked from network); 24 May 2012 12:23:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 12:23:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 13:23:26 +0100
Message-Id: <4FBE44800200007800085DEA@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 13:24:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Sam Mulvey" <sam@tacomatelematics.com>
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
	<4FBCC00D020000780008561C@nat28.tlf.novell.com>
In-Reply-To: <4FBCC00D020000780008561C@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartC1EF3D70.0__="
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartC1EF3D70.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

>>> On 23.05.12 at 10:46, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>> On 19.05.12 at 22:00, Sam Mulvey <sam@tacomatelematics.com> wrote:
>> Recently got a Via VE-900 board.   It has a via nano x2 chip on it, =
and=20
>> suggests that it has Intel-compatible virtualization extensions.   Has =
anyone=20
>=20
>> worked with this board yet?   I thought it would be nice to have a=20
>> lower-powered, nearly silent Xen machine sitting on my desk.
>=20
> Looking around a little on their website, they don't seem to
> publish proper specifications. Without that, and neither having
> access to a respective system to actually test eventual changes,
> it would be rather presumptuous to try to extend Xen to support
> this. (As a side note, we're in feature freeze right now anyway,
> so this could only be done for 4.3 anyway.)
>=20
> I submitted a request for access to full documentation to them,
> but based on past experience I'm not having much hope that any
> response will show up (not to speak of a positive one).

They responded quite quickly, but won't get full information out
without requiring an NDA for the moment (but they indicated to
work on lifting that restriction).

>> I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not =
able=20
>> to load any HVM domains.    I posted this question first on Xen-users, =
and I=20
>> was asked if I was able to get KVM or VirtualBox working-- I've tried =
KVM and=20
>> managed to get it booting into a Linux livecd and a Windows installer.
>=20
> That can likely be taken as confirmation of above statement about
> being (reasonably) compatible with an already existing HVM
> implementation.

They did confirm that part, by quoting the relevant pieces from
their doc. This together with the Linux bits to enable 64-bit
support on those CPUs result in the attached patch (on top of
current -unstable, and requiring to either drop the hunk changing
xen/arch/x86/hvm/nestedhvm.c, or to apply the patch at
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html
upfront. Would you be willing/able to give this a try?

Jan


--=__PartC1EF3D70.0__=
Content-Type: text/plain; name="x86-centaur-64bit-hvm.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-centaur-64bit-hvm.patch"

--- a/xen/arch/x86/acpi/suspend.c=0A+++ b/xen/arch/x86/acpi/suspend.c=0A@@ =
-35,7 +35,8 @@ void save_rest_processor_state(void)=0A     rdmsrl(MSR_SHADO=
W_GS_BASE, saved_kernel_gs_base);=0A     rdmsrl(MSR_CSTAR, saved_cstar);=0A=
     rdmsrl(MSR_LSTAR, saved_lstar);=0A-    if ( boot_cpu_data.x86_vendor =
=3D=3D X86_VENDOR_INTEL )=0A+    if ( boot_cpu_data.x86_vendor =3D=3D =
X86_VENDOR_INTEL ||=0A+         boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_=
CENTAUR )=0A     {=0A         rdmsrl(MSR_IA32_SYSENTER_ESP, saved_sysenter_=
esp);=0A         rdmsrl(MSR_IA32_SYSENTER_EIP, saved_sysenter_eip);=0A@@ =
-64,7 +65,8 @@ void restore_rest_processor_state(void)=0A     wrmsrl(MSR_GS=
_BASE, saved_gs_base);=0A     wrmsrl(MSR_SHADOW_GS_BASE, saved_kernel_gs_ba=
se);=0A =0A-    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL =
)=0A+    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL ||=0A+      =
   boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_CENTAUR )=0A     {=0A        =
 /* Recover sysenter MSRs */=0A         wrmsrl(MSR_IA32_SYSENTER_ESP, =
saved_sysenter_esp);=0A--- a/xen/arch/x86/cpu/Makefile=0A+++ b/xen/arch/x86=
/cpu/Makefile=0A@@ -2,10 +2,10 @@ subdir-y +=3D mcheck=0A subdir-y +=3D =
mtrr=0A =0A obj-y +=3D amd.o=0A+obj-y +=3D centaur.o=0A obj-y +=3D =
common.o=0A obj-y +=3D intel.o=0A obj-y +=3D intel_cacheinfo.o=0A =
=0A-obj-$(x86_32) +=3D centaur.o=0A obj-$(x86_32) +=3D cyrix.o=0A =
obj-$(x86_32) +=3D transmeta.o=0A--- a/xen/arch/x86/cpu/centaur.c=0A+++ =
b/xen/arch/x86/cpu/centaur.c=0A@@ -45,8 +45,9 @@ static void __init =
init_c3(struct cpuinf=0A 		c->x86_capability[5] =3D cpuid_edx(=
0xC0000001);=0A 	}=0A =0A+#ifdef __i386__=0A 	/* Cyrix III =
family needs CX8 & PGE explicity enabled. */=0A-	if (c->x86_model =
>=3D6 && c->x86_model <=3D 9) {=0A+	if (c->x86_model >=3D 6 && =
c->x86_model <=3D 13) {=0A 		rdmsrl(MSR_VIA_FCR, msr_content);=
=0A 		wrmsrl(MSR_VIA_FCR, msr_content | (1ULL << 1 | 1ULL << =
7));=0A 		set_bit(X86_FEATURE_CX8, c->x86_capability);=0A@@ =
-55,6 +56,12 @@ static void __init init_c3(struct cpuinf=0A 	/* Before =
Nehemiah, the C3's had 3dNOW! */=0A 	if (c->x86_model >=3D6 && =
c->x86_model <9)=0A 		set_bit(X86_FEATURE_3DNOW, c->x86_capabilit=
y);=0A+#endif=0A+=0A+	if (c->x86 =3D=3D 0x6 && c->x86_model >=3D 0xf) =
{=0A+		c->x86_cache_alignment =3D c->x86_clflush_size * 2;=0A+		=
set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);=0A+	}=0A =0A 	=
get_model_name(c);=0A 	display_cacheinfo(c);=0A@@ -62,14 +69,17 @@ static =
void __init init_c3(struct cpuinf=0A =0A static void __init init_centaur(st=
ruct cpuinfo_x86 *c)=0A {=0A+#ifdef __i386__=0A 	/* Bit 31 in =
normal CPUID used for nonstandard 3DNow ID;=0A 	   3DNow is IDd by bit 31 =
in extended CPUID (1*32+31) anyway */=0A 	clear_bit(0*32+31, =
c->x86_capability);=0A+#endif=0A =0A 	if (c->x86 =3D=3D 6)=0A 		=
init_c3(c);=0A }=0A =0A+#ifdef __i386__=0A static unsigned int centaur_size=
_cache(struct cpuinfo_x86 * c, unsigned int size)=0A {=0A 	/* VIA C3 =
CPUs (670-68F) need further shifting. */=0A@@ -84,12 +94,15 @@ static =
unsigned int centaur_size_cache(s=0A =0A 	return size;=0A }=0A+#endif=
=0A =0A static struct cpu_dev centaur_cpu_dev __cpuinitdata =3D {=0A 	=
.c_vendor	=3D "Centaur",=0A 	.c_ident	=3D { "CentaurHauls=
" },=0A 	.c_init		=3D init_centaur,=0A+#ifdef __i386__=0A 	=
.c_size_cache	=3D centaur_size_cache,=0A+#endif=0A };=0A =0A int __init =
centaur_init_cpu(void)=0A@@ -97,5 +110,3 @@ int __init centaur_init_cpu(voi=
d)=0A 	cpu_devs[X86_VENDOR_CENTAUR] =3D &centaur_cpu_dev;=0A 	return =
0;=0A }=0A-=0A-//early_arch_initcall(centaur_init_cpu);=0A--- a/xen/arch/x8=
6/hvm/hvm.c=0A+++ b/xen/arch/x86/hvm/hvm.c=0A@@ -114,6 +114,7 @@ static =
int __init hvm_enable(void)=0A     switch ( boot_cpu_data.x86_vendor )=0A  =
   {=0A     case X86_VENDOR_INTEL:=0A+    case X86_VENDOR_CENTAUR:=0A      =
   fns =3D start_vmx();=0A         break;=0A     case X86_VENDOR_AMD:=0A---=
 a/xen/arch/x86/hvm/nestedhvm.c=0A+++ b/xen/arch/x86/hvm/nestedhvm.c=0A@@ =
-151,13 +151,15 @@ nestedhvm_is_n2(struct vcpu *v)=0A static int __init=0A =
nestedhvm_setup(void)=0A {=0A-    /* Same format and size as hvm_io_bitmap =
(Intel needs only 2 pages). */=0A-    unsigned int nr =3D (boot_cpu_data.x8=
6_vendor =3D=3D X86_VENDOR_INTEL) ? 2 : 3;=0A-    unsigned int i, order =
=3D get_order_from_pages(nr);=0A+    unsigned int i, nr, order;=0A =0A     =
if ( !hvm_funcs.name )=0A         return 0;=0A =0A+    /* Same format and =
size as hvm_io_bitmap (VMX needs only 2 pages). */=0A+    nr =3D !strcmp(hv=
m_funcs.name, "VMX") ? 2 : 3;=0A+    order =3D get_order_from_pages(nr);=0A=
+=0A     /* shadow_io_bitmaps can't be declared static because=0A      *   =
they must fulfill hw requirements (page aligned section)=0A      *   and =
doing so triggers the ASSERT(va >=3D XEN_VIRT_START)=0A--- a/xen/arch/x86/h=
vm/viridian.c=0A+++ b/xen/arch/x86/hvm/viridian.c=0A@@ -156,8 +156,7 @@ =
static void enable_hypercall_page(struct=0A     *(u32 *)(p + 1) =3D =
0x80000000;=0A     *(u8  *)(p + 5) =3D 0x0f; /* vmcall/vmmcall */=0A     =
*(u8  *)(p + 6) =3D 0x01;=0A-    *(u8  *)(p + 7) =3D ((boot_cpu_data.x86_ve=
ndor =3D=3D X86_VENDOR_INTEL)=0A-                       ? 0xc1 : 0xd9);=0A+=
    *(u8  *)(p + 7) =3D (!strcmp(hvm_funcs.name, "VMX") ? 0xc1 : 0xd9);=0A =
    *(u8  *)(p + 8) =3D 0xc3; /* ret */=0A     memset(p + 9, 0xcc, =
PAGE_SIZE - 9); /* int3, int3, ... */=0A =0A--- a/xen/arch/x86/hvm/vlapic.c=
=0A+++ b/xen/arch/x86/hvm/vlapic.c=0A@@ -1186,7 +1186,7 @@ int vlapic_init(=
struct vcpu *v)=0A =0A #ifdef __i386__=0A     /* 32-bit VMX may be limited =
to 32-bit physical addresses. */=0A-    if ( boot_cpu_data.x86_vendor =
=3D=3D X86_VENDOR_INTEL )=0A+    if ( !strcmp(hvm_funcs.name, "VMX") )=0A  =
       memflags |=3D MEMF_bits(32);=0A #endif=0A     if (vlapic->regs_page =
=3D=3D NULL)=0A--- a/xen/arch/x86/mm/mem_event.c=0A+++ b/xen/arch/x86/mm/me=
m_event.c=0A@@ -608,7 +608,7 @@ int mem_event_domctl(struct domain *d, =
x=0A                 break;=0A =0A             /* Currently only EPT is =
supported */=0A-            if ( boot_cpu_data.x86_vendor !=3D X86_VENDOR_I=
NTEL )=0A+            if ( strcmp(hvm_funcs.name, "VMX") )=0A              =
   break;=0A =0A             rc =3D mem_event_enable(d, mec, med, =
_VPF_mem_access, =0A--- a/xen/arch/x86/mm/p2m.c=0A+++ b/xen/arch/x86/mm/p2m=
.c=0A@@ -83,7 +83,7 @@ static void p2m_initialise(struct domain=0A =0A     =
p2m->cr3 =3D CR3_EADDR;=0A =0A-    if ( hap_enabled(d) && (boot_cpu_data.x8=
6_vendor =3D=3D X86_VENDOR_INTEL) )=0A+    if ( hap_enabled(d) && =
!strcmp(hvm_funcs.name, "VMX") )=0A         ept_p2m_init(p2m);=0A     =
else=0A         p2m_pt_init(p2m);=0A--- a/xen/arch/x86/x86_64/traps.c=0A+++=
 b/xen/arch/x86/x86_64/traps.c=0A@@ -399,7 +399,8 @@ void __devinit =
subarch_percpu_traps_init=0A     wrmsrl(MSR_LSTAR, (unsigned long)stack);=
=0A     stack +=3D write_stack_trampoline(stack, stack_bottom, FLAT_KERNEL_=
CS64);=0A =0A-    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL =
)=0A+    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL ||=0A+      =
   boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_CENTAUR )=0A     {=0A        =
 /* SYSENTER entry. */=0A         wrmsrl(MSR_IA32_SYSENTER_ESP, (unsigned =
long)stack_bottom);=0A
--=__PartC1EF3D70.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartC1EF3D70.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 12:23:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:23:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXX4p-0004i3-BQ; Thu, 24 May 2012 12:23:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXX4n-0004hy-Gh
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:23:33 +0000
Received: from [85.158.139.83:63032] by server-9.bemta-5.messagelabs.com id
	3C/8D-27779-4482EBF4; Thu, 24 May 2012 12:23:32 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337862207!29450908!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18044 invoked from network); 24 May 2012 12:23:28 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 12:23:28 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 13:23:26 +0100
Message-Id: <4FBE44800200007800085DEA@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 13:24:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Sam Mulvey" <sam@tacomatelematics.com>
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
	<4FBCC00D020000780008561C@nat28.tlf.novell.com>
In-Reply-To: <4FBCC00D020000780008561C@nat28.tlf.novell.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartC1EF3D70.0__="
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartC1EF3D70.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

>>> On 23.05.12 at 10:46, "Jan Beulich" <JBeulich@suse.com> wrote:
>>>> On 19.05.12 at 22:00, Sam Mulvey <sam@tacomatelematics.com> wrote:
>> Recently got a Via VE-900 board.   It has a via nano x2 chip on it, =
and=20
>> suggests that it has Intel-compatible virtualization extensions.   Has =
anyone=20
>=20
>> worked with this board yet?   I thought it would be nice to have a=20
>> lower-powered, nearly silent Xen machine sitting on my desk.
>=20
> Looking around a little on their website, they don't seem to
> publish proper specifications. Without that, and neither having
> access to a respective system to actually test eventual changes,
> it would be rather presumptuous to try to extend Xen to support
> this. (As a side note, we're in feature freeze right now anyway,
> so this could only be done for 4.3 anyway.)
>=20
> I submitted a request for access to full documentation to them,
> but based on past experience I'm not having much hope that any
> response will show up (not to speak of a positive one).

They responded quite quickly, but won't get full information out
without requiring an NDA for the moment (but they indicated to
work on lifting that restriction).

>> I've got it booting into Xen 4.1.2 and running PV dom0's, but I'm not =
able=20
>> to load any HVM domains.    I posted this question first on Xen-users, =
and I=20
>> was asked if I was able to get KVM or VirtualBox working-- I've tried =
KVM and=20
>> managed to get it booting into a Linux livecd and a Windows installer.
>=20
> That can likely be taken as confirmation of above statement about
> being (reasonably) compatible with an already existing HVM
> implementation.

They did confirm that part, by quoting the relevant pieces from
their doc. This together with the Linux bits to enable 64-bit
support on those CPUs result in the attached patch (on top of
current -unstable, and requiring to either drop the hunk changing
xen/arch/x86/hvm/nestedhvm.c, or to apply the patch at
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html
upfront. Would you be willing/able to give this a try?

Jan


--=__PartC1EF3D70.0__=
Content-Type: text/plain; name="x86-centaur-64bit-hvm.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-centaur-64bit-hvm.patch"

--- a/xen/arch/x86/acpi/suspend.c=0A+++ b/xen/arch/x86/acpi/suspend.c=0A@@ =
-35,7 +35,8 @@ void save_rest_processor_state(void)=0A     rdmsrl(MSR_SHADO=
W_GS_BASE, saved_kernel_gs_base);=0A     rdmsrl(MSR_CSTAR, saved_cstar);=0A=
     rdmsrl(MSR_LSTAR, saved_lstar);=0A-    if ( boot_cpu_data.x86_vendor =
=3D=3D X86_VENDOR_INTEL )=0A+    if ( boot_cpu_data.x86_vendor =3D=3D =
X86_VENDOR_INTEL ||=0A+         boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_=
CENTAUR )=0A     {=0A         rdmsrl(MSR_IA32_SYSENTER_ESP, saved_sysenter_=
esp);=0A         rdmsrl(MSR_IA32_SYSENTER_EIP, saved_sysenter_eip);=0A@@ =
-64,7 +65,8 @@ void restore_rest_processor_state(void)=0A     wrmsrl(MSR_GS=
_BASE, saved_gs_base);=0A     wrmsrl(MSR_SHADOW_GS_BASE, saved_kernel_gs_ba=
se);=0A =0A-    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL =
)=0A+    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL ||=0A+      =
   boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_CENTAUR )=0A     {=0A        =
 /* Recover sysenter MSRs */=0A         wrmsrl(MSR_IA32_SYSENTER_ESP, =
saved_sysenter_esp);=0A--- a/xen/arch/x86/cpu/Makefile=0A+++ b/xen/arch/x86=
/cpu/Makefile=0A@@ -2,10 +2,10 @@ subdir-y +=3D mcheck=0A subdir-y +=3D =
mtrr=0A =0A obj-y +=3D amd.o=0A+obj-y +=3D centaur.o=0A obj-y +=3D =
common.o=0A obj-y +=3D intel.o=0A obj-y +=3D intel_cacheinfo.o=0A =
=0A-obj-$(x86_32) +=3D centaur.o=0A obj-$(x86_32) +=3D cyrix.o=0A =
obj-$(x86_32) +=3D transmeta.o=0A--- a/xen/arch/x86/cpu/centaur.c=0A+++ =
b/xen/arch/x86/cpu/centaur.c=0A@@ -45,8 +45,9 @@ static void __init =
init_c3(struct cpuinf=0A 		c->x86_capability[5] =3D cpuid_edx(=
0xC0000001);=0A 	}=0A =0A+#ifdef __i386__=0A 	/* Cyrix III =
family needs CX8 & PGE explicity enabled. */=0A-	if (c->x86_model =
>=3D6 && c->x86_model <=3D 9) {=0A+	if (c->x86_model >=3D 6 && =
c->x86_model <=3D 13) {=0A 		rdmsrl(MSR_VIA_FCR, msr_content);=
=0A 		wrmsrl(MSR_VIA_FCR, msr_content | (1ULL << 1 | 1ULL << =
7));=0A 		set_bit(X86_FEATURE_CX8, c->x86_capability);=0A@@ =
-55,6 +56,12 @@ static void __init init_c3(struct cpuinf=0A 	/* Before =
Nehemiah, the C3's had 3dNOW! */=0A 	if (c->x86_model >=3D6 && =
c->x86_model <9)=0A 		set_bit(X86_FEATURE_3DNOW, c->x86_capabilit=
y);=0A+#endif=0A+=0A+	if (c->x86 =3D=3D 0x6 && c->x86_model >=3D 0xf) =
{=0A+		c->x86_cache_alignment =3D c->x86_clflush_size * 2;=0A+		=
set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);=0A+	}=0A =0A 	=
get_model_name(c);=0A 	display_cacheinfo(c);=0A@@ -62,14 +69,17 @@ static =
void __init init_c3(struct cpuinf=0A =0A static void __init init_centaur(st=
ruct cpuinfo_x86 *c)=0A {=0A+#ifdef __i386__=0A 	/* Bit 31 in =
normal CPUID used for nonstandard 3DNow ID;=0A 	   3DNow is IDd by bit 31 =
in extended CPUID (1*32+31) anyway */=0A 	clear_bit(0*32+31, =
c->x86_capability);=0A+#endif=0A =0A 	if (c->x86 =3D=3D 6)=0A 		=
init_c3(c);=0A }=0A =0A+#ifdef __i386__=0A static unsigned int centaur_size=
_cache(struct cpuinfo_x86 * c, unsigned int size)=0A {=0A 	/* VIA C3 =
CPUs (670-68F) need further shifting. */=0A@@ -84,12 +94,15 @@ static =
unsigned int centaur_size_cache(s=0A =0A 	return size;=0A }=0A+#endif=
=0A =0A static struct cpu_dev centaur_cpu_dev __cpuinitdata =3D {=0A 	=
.c_vendor	=3D "Centaur",=0A 	.c_ident	=3D { "CentaurHauls=
" },=0A 	.c_init		=3D init_centaur,=0A+#ifdef __i386__=0A 	=
.c_size_cache	=3D centaur_size_cache,=0A+#endif=0A };=0A =0A int __init =
centaur_init_cpu(void)=0A@@ -97,5 +110,3 @@ int __init centaur_init_cpu(voi=
d)=0A 	cpu_devs[X86_VENDOR_CENTAUR] =3D &centaur_cpu_dev;=0A 	return =
0;=0A }=0A-=0A-//early_arch_initcall(centaur_init_cpu);=0A--- a/xen/arch/x8=
6/hvm/hvm.c=0A+++ b/xen/arch/x86/hvm/hvm.c=0A@@ -114,6 +114,7 @@ static =
int __init hvm_enable(void)=0A     switch ( boot_cpu_data.x86_vendor )=0A  =
   {=0A     case X86_VENDOR_INTEL:=0A+    case X86_VENDOR_CENTAUR:=0A      =
   fns =3D start_vmx();=0A         break;=0A     case X86_VENDOR_AMD:=0A---=
 a/xen/arch/x86/hvm/nestedhvm.c=0A+++ b/xen/arch/x86/hvm/nestedhvm.c=0A@@ =
-151,13 +151,15 @@ nestedhvm_is_n2(struct vcpu *v)=0A static int __init=0A =
nestedhvm_setup(void)=0A {=0A-    /* Same format and size as hvm_io_bitmap =
(Intel needs only 2 pages). */=0A-    unsigned int nr =3D (boot_cpu_data.x8=
6_vendor =3D=3D X86_VENDOR_INTEL) ? 2 : 3;=0A-    unsigned int i, order =
=3D get_order_from_pages(nr);=0A+    unsigned int i, nr, order;=0A =0A     =
if ( !hvm_funcs.name )=0A         return 0;=0A =0A+    /* Same format and =
size as hvm_io_bitmap (VMX needs only 2 pages). */=0A+    nr =3D !strcmp(hv=
m_funcs.name, "VMX") ? 2 : 3;=0A+    order =3D get_order_from_pages(nr);=0A=
+=0A     /* shadow_io_bitmaps can't be declared static because=0A      *   =
they must fulfill hw requirements (page aligned section)=0A      *   and =
doing so triggers the ASSERT(va >=3D XEN_VIRT_START)=0A--- a/xen/arch/x86/h=
vm/viridian.c=0A+++ b/xen/arch/x86/hvm/viridian.c=0A@@ -156,8 +156,7 @@ =
static void enable_hypercall_page(struct=0A     *(u32 *)(p + 1) =3D =
0x80000000;=0A     *(u8  *)(p + 5) =3D 0x0f; /* vmcall/vmmcall */=0A     =
*(u8  *)(p + 6) =3D 0x01;=0A-    *(u8  *)(p + 7) =3D ((boot_cpu_data.x86_ve=
ndor =3D=3D X86_VENDOR_INTEL)=0A-                       ? 0xc1 : 0xd9);=0A+=
    *(u8  *)(p + 7) =3D (!strcmp(hvm_funcs.name, "VMX") ? 0xc1 : 0xd9);=0A =
    *(u8  *)(p + 8) =3D 0xc3; /* ret */=0A     memset(p + 9, 0xcc, =
PAGE_SIZE - 9); /* int3, int3, ... */=0A =0A--- a/xen/arch/x86/hvm/vlapic.c=
=0A+++ b/xen/arch/x86/hvm/vlapic.c=0A@@ -1186,7 +1186,7 @@ int vlapic_init(=
struct vcpu *v)=0A =0A #ifdef __i386__=0A     /* 32-bit VMX may be limited =
to 32-bit physical addresses. */=0A-    if ( boot_cpu_data.x86_vendor =
=3D=3D X86_VENDOR_INTEL )=0A+    if ( !strcmp(hvm_funcs.name, "VMX") )=0A  =
       memflags |=3D MEMF_bits(32);=0A #endif=0A     if (vlapic->regs_page =
=3D=3D NULL)=0A--- a/xen/arch/x86/mm/mem_event.c=0A+++ b/xen/arch/x86/mm/me=
m_event.c=0A@@ -608,7 +608,7 @@ int mem_event_domctl(struct domain *d, =
x=0A                 break;=0A =0A             /* Currently only EPT is =
supported */=0A-            if ( boot_cpu_data.x86_vendor !=3D X86_VENDOR_I=
NTEL )=0A+            if ( strcmp(hvm_funcs.name, "VMX") )=0A              =
   break;=0A =0A             rc =3D mem_event_enable(d, mec, med, =
_VPF_mem_access, =0A--- a/xen/arch/x86/mm/p2m.c=0A+++ b/xen/arch/x86/mm/p2m=
.c=0A@@ -83,7 +83,7 @@ static void p2m_initialise(struct domain=0A =0A     =
p2m->cr3 =3D CR3_EADDR;=0A =0A-    if ( hap_enabled(d) && (boot_cpu_data.x8=
6_vendor =3D=3D X86_VENDOR_INTEL) )=0A+    if ( hap_enabled(d) && =
!strcmp(hvm_funcs.name, "VMX") )=0A         ept_p2m_init(p2m);=0A     =
else=0A         p2m_pt_init(p2m);=0A--- a/xen/arch/x86/x86_64/traps.c=0A+++=
 b/xen/arch/x86/x86_64/traps.c=0A@@ -399,7 +399,8 @@ void __devinit =
subarch_percpu_traps_init=0A     wrmsrl(MSR_LSTAR, (unsigned long)stack);=
=0A     stack +=3D write_stack_trampoline(stack, stack_bottom, FLAT_KERNEL_=
CS64);=0A =0A-    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL =
)=0A+    if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL ||=0A+      =
   boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_CENTAUR )=0A     {=0A        =
 /* SYSENTER entry. */=0A         wrmsrl(MSR_IA32_SYSENTER_ESP, (unsigned =
long)stack_bottom);=0A
--=__PartC1EF3D70.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartC1EF3D70.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 12:44:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXOg-0004tz-7k; Thu, 24 May 2012 12:44:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXXOf-0004tu-3u
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:44:05 +0000
Received: from [85.158.139.83:51253] by server-8.bemta-5.messagelabs.com id
	B2/F1-25689-41D2EBF4; Thu, 24 May 2012 12:44:04 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337863443!30132134!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17334 invoked from network); 24 May 2012 12:44:03 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-2.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 12:44:03 -0000
Received: from mail82-db3-R.bigfish.com (10.3.81.248) by
	DB3EHSOBE006.bigfish.com (10.3.84.26) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 12:43:54 +0000
Received: from mail82-db3 (localhost [127.0.0.1])	by mail82-db3-R.bigfish.com
	(Postfix) with ESMTP id 818D11A0300;
	Thu, 24 May 2012 12:43:46 +0000 (UTC)
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzz8275bh84d07hz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail82-db3 (localhost.localdomain [127.0.0.1]) by mail82-db3
	(MessageSwitch) id 1337863423666801_25510;
	Thu, 24 May 2012 12:43:43 +0000 (UTC)
Received: from DB3EHSMHS009.bigfish.com (unknown [10.3.81.232])	by
	mail82-db3.bigfish.com (Postfix) with ESMTP id 9C6B63C0271;
	Thu, 24 May 2012 12:43:43 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS009.bigfish.com (10.3.87.109) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 12:43:48 +0000
X-WSS-ID: 0M4J212-02-62N-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 231B0C80B6;	Thu, 24 May 2012 07:43:50 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 07:44:10 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 07:43:53 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	08:43:52 -0400
Message-ID: <4FBE2D2C.7060704@amd.com>
Date: Thu, 24 May 2012 14:44:28 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
In-Reply-To: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: fix nested HVM initialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/24/12 14:14, Jan Beulich wrote:

> - no need for calling nestedhvm_setup() explicitly (can be a normal
>   init-call, and can be __init)
> - calling _xmalloc() for multi-page, page-aligned memory regions is
>   inefficient - use alloc_xenheap_pages() instead
> - albeit an allocation error is unlikely here, add error handling
>   nevertheless (and have nestedhvm_vcpu_initialise() bail if an error
>   occurred during setup)
> - nestedhvm_enabled() must no access d->arch.hvm_domain without first
>   checking that 'd' actually represents a HVM domain
> 
> Signed-off-by: Jan Beulich <JBeulich@suse.com>


Looks ok to me. How did you test it?

Christoph

> 
> --- a/xen/arch/x86/hvm/nestedhvm.c
> +++ b/xen/arch/x86/hvm/nestedhvm.c
> @@ -25,16 +25,14 @@
>  #include <asm/event.h>  /* for local_event_delivery_(en|dis)able */
>  #include <asm/paging.h> /* for paging_mode_hap() */
>  
> +static unsigned long *shadow_io_bitmap[3];
> +
>  /* Nested HVM on/off per domain */
>  bool_t
>  nestedhvm_enabled(struct domain *d)
>  {
> -    bool_t enabled;
> -
> -    enabled = !!(d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM]);
> -    BUG_ON(enabled && !is_hvm_domain(d));
> -    
> -    return enabled;
> +    return is_hvm_domain(d) &&
> +           d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM];
>  }
>  
>  /* Nested VCPU */
> @@ -76,6 +74,9 @@ nestedhvm_vcpu_initialise(struct vcpu *v
>  {
>      int rc = -EOPNOTSUPP;
>  
> +    if ( !shadow_io_bitmap[0] )
> +        return -ENOMEM;
> +
>      if ( !hvm_funcs.nhvm_vcpu_initialise ||
>           ((rc = hvm_funcs.nhvm_vcpu_initialise(v)) != 0) )
>           return rc;
> @@ -147,15 +148,15 @@ nestedhvm_is_n2(struct vcpu *v)
>   * iomap[2]      set        set
>   */
>  
> -static unsigned long *shadow_io_bitmap[3];
> -
> -void
> +static int __init
>  nestedhvm_setup(void)
>  {
>      /* Same format and size as hvm_io_bitmap (Intel needs only 2 pages). */
> -    unsigned int sz = (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
> -        ? 2*PAGE_SIZE : 3*PAGE_SIZE;
> -    unsigned int i;
> +    unsigned int nr = (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) ? 2 : 3;
> +    unsigned int i, order = get_order_from_pages(nr);
> +
> +    if ( !hvm_funcs.name )
> +        return 0;
>  
>      /* shadow_io_bitmaps can't be declared static because
>       *   they must fulfill hw requirements (page aligned section)
> @@ -169,13 +170,25 @@ nestedhvm_setup(void)
>  
>      for ( i = 0; i < ARRAY_SIZE(shadow_io_bitmap); i++ )
>      {
> -        shadow_io_bitmap[i] = _xmalloc(sz, PAGE_SIZE);
> -        memset(shadow_io_bitmap[i], ~0U, sz);
> +        shadow_io_bitmap[i] = alloc_xenheap_pages(order, 0);
> +        if ( !shadow_io_bitmap[i] )
> +        {
> +            while ( i-- )
> +            {
> +                free_xenheap_pages(shadow_io_bitmap[i], order);
> +                shadow_io_bitmap[i] = NULL;
> +            }
> +            return -ENOMEM;
> +        }
> +        memset(shadow_io_bitmap[i], ~0U, nr << PAGE_SHIFT);
>      }
>  
>      __clear_bit(0x80, shadow_io_bitmap[0]);
>      __clear_bit(0xed, shadow_io_bitmap[1]);
> +
> +    return 0;
>  }
> +__initcall(nestedhvm_setup);
>  
>  unsigned long *
>  nestedhvm_vcpu_iomap_get(bool_t port_80, bool_t port_ed)
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1312,8 +1312,6 @@ void __init __start_xen(unsigned long mb
>      if ( opt_watchdog ) 
>          watchdog_setup();
>  
> -    nestedhvm_setup();
> -    
>      if ( !tboot_protect_mem_regions() )
>          panic("Could not protect TXT memory regions\n");
>  
> --- a/xen/include/asm-x86/setup.h
> +++ b/xen/include/asm-x86/setup.h
> @@ -21,7 +21,6 @@ void set_nr_cpu_ids(unsigned int max_cpu
>  void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
>  void arch_init_memory(void);
>  void subarch_init_memory(void);
> -void nestedhvm_setup(void);
>  
>  void init_IRQ(void);
>  void vesa_init(void);
> 
> 
> 



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 12:44:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXOg-0004tz-7k; Thu, 24 May 2012 12:44:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXXOf-0004tu-3u
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:44:05 +0000
Received: from [85.158.139.83:51253] by server-8.bemta-5.messagelabs.com id
	B2/F1-25689-41D2EBF4; Thu, 24 May 2012 12:44:04 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337863443!30132134!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17334 invoked from network); 24 May 2012 12:44:03 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-2.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 12:44:03 -0000
Received: from mail82-db3-R.bigfish.com (10.3.81.248) by
	DB3EHSOBE006.bigfish.com (10.3.84.26) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 12:43:54 +0000
Received: from mail82-db3 (localhost [127.0.0.1])	by mail82-db3-R.bigfish.com
	(Postfix) with ESMTP id 818D11A0300;
	Thu, 24 May 2012 12:43:46 +0000 (UTC)
X-SpamScore: -10
X-BigFish: VPS-10(zzbb2dI1432N98dKzz1202hzz8275bh84d07hz2dh668h839hd25he5bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail82-db3 (localhost.localdomain [127.0.0.1]) by mail82-db3
	(MessageSwitch) id 1337863423666801_25510;
	Thu, 24 May 2012 12:43:43 +0000 (UTC)
Received: from DB3EHSMHS009.bigfish.com (unknown [10.3.81.232])	by
	mail82-db3.bigfish.com (Postfix) with ESMTP id 9C6B63C0271;
	Thu, 24 May 2012 12:43:43 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS009.bigfish.com (10.3.87.109) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 12:43:48 +0000
X-WSS-ID: 0M4J212-02-62N-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 231B0C80B6;	Thu, 24 May 2012 07:43:50 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 07:44:10 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 07:43:53 -0500
Received: from donner.osrc.amd.com (165.204.15.15) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	08:43:52 -0400
Message-ID: <4FBE2D2C.7060704@amd.com>
Date: Thu, 24 May 2012 14:44:28 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
In-Reply-To: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: fix nested HVM initialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/24/12 14:14, Jan Beulich wrote:

> - no need for calling nestedhvm_setup() explicitly (can be a normal
>   init-call, and can be __init)
> - calling _xmalloc() for multi-page, page-aligned memory regions is
>   inefficient - use alloc_xenheap_pages() instead
> - albeit an allocation error is unlikely here, add error handling
>   nevertheless (and have nestedhvm_vcpu_initialise() bail if an error
>   occurred during setup)
> - nestedhvm_enabled() must no access d->arch.hvm_domain without first
>   checking that 'd' actually represents a HVM domain
> 
> Signed-off-by: Jan Beulich <JBeulich@suse.com>


Looks ok to me. How did you test it?

Christoph

> 
> --- a/xen/arch/x86/hvm/nestedhvm.c
> +++ b/xen/arch/x86/hvm/nestedhvm.c
> @@ -25,16 +25,14 @@
>  #include <asm/event.h>  /* for local_event_delivery_(en|dis)able */
>  #include <asm/paging.h> /* for paging_mode_hap() */
>  
> +static unsigned long *shadow_io_bitmap[3];
> +
>  /* Nested HVM on/off per domain */
>  bool_t
>  nestedhvm_enabled(struct domain *d)
>  {
> -    bool_t enabled;
> -
> -    enabled = !!(d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM]);
> -    BUG_ON(enabled && !is_hvm_domain(d));
> -    
> -    return enabled;
> +    return is_hvm_domain(d) &&
> +           d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM];
>  }
>  
>  /* Nested VCPU */
> @@ -76,6 +74,9 @@ nestedhvm_vcpu_initialise(struct vcpu *v
>  {
>      int rc = -EOPNOTSUPP;
>  
> +    if ( !shadow_io_bitmap[0] )
> +        return -ENOMEM;
> +
>      if ( !hvm_funcs.nhvm_vcpu_initialise ||
>           ((rc = hvm_funcs.nhvm_vcpu_initialise(v)) != 0) )
>           return rc;
> @@ -147,15 +148,15 @@ nestedhvm_is_n2(struct vcpu *v)
>   * iomap[2]      set        set
>   */
>  
> -static unsigned long *shadow_io_bitmap[3];
> -
> -void
> +static int __init
>  nestedhvm_setup(void)
>  {
>      /* Same format and size as hvm_io_bitmap (Intel needs only 2 pages). */
> -    unsigned int sz = (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
> -        ? 2*PAGE_SIZE : 3*PAGE_SIZE;
> -    unsigned int i;
> +    unsigned int nr = (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) ? 2 : 3;
> +    unsigned int i, order = get_order_from_pages(nr);
> +
> +    if ( !hvm_funcs.name )
> +        return 0;
>  
>      /* shadow_io_bitmaps can't be declared static because
>       *   they must fulfill hw requirements (page aligned section)
> @@ -169,13 +170,25 @@ nestedhvm_setup(void)
>  
>      for ( i = 0; i < ARRAY_SIZE(shadow_io_bitmap); i++ )
>      {
> -        shadow_io_bitmap[i] = _xmalloc(sz, PAGE_SIZE);
> -        memset(shadow_io_bitmap[i], ~0U, sz);
> +        shadow_io_bitmap[i] = alloc_xenheap_pages(order, 0);
> +        if ( !shadow_io_bitmap[i] )
> +        {
> +            while ( i-- )
> +            {
> +                free_xenheap_pages(shadow_io_bitmap[i], order);
> +                shadow_io_bitmap[i] = NULL;
> +            }
> +            return -ENOMEM;
> +        }
> +        memset(shadow_io_bitmap[i], ~0U, nr << PAGE_SHIFT);
>      }
>  
>      __clear_bit(0x80, shadow_io_bitmap[0]);
>      __clear_bit(0xed, shadow_io_bitmap[1]);
> +
> +    return 0;
>  }
> +__initcall(nestedhvm_setup);
>  
>  unsigned long *
>  nestedhvm_vcpu_iomap_get(bool_t port_80, bool_t port_ed)
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1312,8 +1312,6 @@ void __init __start_xen(unsigned long mb
>      if ( opt_watchdog ) 
>          watchdog_setup();
>  
> -    nestedhvm_setup();
> -    
>      if ( !tboot_protect_mem_regions() )
>          panic("Could not protect TXT memory regions\n");
>  
> --- a/xen/include/asm-x86/setup.h
> +++ b/xen/include/asm-x86/setup.h
> @@ -21,7 +21,6 @@ void set_nr_cpu_ids(unsigned int max_cpu
>  void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
>  void arch_init_memory(void);
>  void subarch_init_memory(void);
> -void nestedhvm_setup(void);
>  
>  void init_IRQ(void);
>  void vesa_init(void);
> 
> 
> 



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 12:52:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:52:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXVy-00053E-7z; Thu, 24 May 2012 12:51:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXXVw-000538-EL
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:51:36 +0000
Received: from [85.158.143.35:51147] by server-2.bemta-4.messagelabs.com id
	CD/CA-12211-7DE2EBF4; Thu, 24 May 2012 12:51:35 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337863890!14780330!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17818 invoked from network); 24 May 2012 12:51:30 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-21.messagelabs.com with SMTP;
	24 May 2012 12:51:30 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78129439; Thu, 24 May 2012 14:51:29 +0200
Message-ID: <1337863881.13601.27.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 24 May 2012 14:51:21 +0200
In-Reply-To: <4FBE1AEE.8000003@citrix.com>
References: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
	<4FBE1AEE.8000003@citrix.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: introduce
 LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3278559395621535417=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3278559395621535417==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-k6v92rS9QdiOZBmLBiXZ"


--=-k6v92rS9QdiOZBmLBiXZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 12:26 +0100, Roger Pau Monne wrote:
> Thanks for the patch I've tried it and works ok, so the below comment is=
=20
> just a suggestion about error handling.
>=20
Cool. :-)

> > Signed-off-by: Dario Faggioli<dario.faggioli@citrix.com>
> > Signed-off-by: Christoph Egger<Christoph.Egger@amd.com>
> > --- a/tools/libxl/libxl_dm.c
> > +++ b/tools/libxl/libxl_dm.c
> > @@ -257,6 +257,8 @@ static char ** libxl__build_device_model
> >           for (i =3D 0; b_info->extra_hvm&&  b_info->extra_hvm[i] !=3D =
NULL; i++)
> >               flexarray_append(dm_args, b_info->extra_hvm[i]);
> >           break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        break;
> >       }
> >       flexarray_append(dm_args, NULL);
> >       return (char **) flexarray_contents(dm_args);
> > @@ -505,6 +507,8 @@ static char ** libxl__build_device_model
> >           for (i =3D 0; b_info->extra_hvm&&  b_info->extra_hvm[i] !=3D =
NULL; i++)
> >               flexarray_append(dm_args, b_info->extra_hvm[i]);
> >           break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        break;
> >       }
>=20
> I think we should use "default" here (and on the previous one), print an=
=20
> error message, and probably return NULL. I guess we are going to get an=
=20
> error at some point later, so I think it's better to catch it here.
>
I agree and, as it was the first time I saw that file/code, so I totally
you on this! :-P

Will repost right now.

Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-k6v92rS9QdiOZBmLBiXZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk++LsoACgkQk4XaBE3IOsTJvwCdEWW2pWEPRMRwJkvt807PqRYv
ZZUAn3z39eeAOktUoAWbl0Hf81KX3XwR
=ZCRA
-----END PGP SIGNATURE-----

--=-k6v92rS9QdiOZBmLBiXZ--



--===============3278559395621535417==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3278559395621535417==--



From xen-devel-bounces@lists.xen.org Thu May 24 12:52:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 12:52:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXVy-00053E-7z; Thu, 24 May 2012 12:51:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXXVw-000538-EL
	for xen-devel@lists.xen.org; Thu, 24 May 2012 12:51:36 +0000
Received: from [85.158.143.35:51147] by server-2.bemta-4.messagelabs.com id
	CD/CA-12211-7DE2EBF4; Thu, 24 May 2012 12:51:35 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337863890!14780330!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17818 invoked from network); 24 May 2012 12:51:30 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-21.messagelabs.com with SMTP;
	24 May 2012 12:51:30 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78129439; Thu, 24 May 2012 14:51:29 +0200
Message-ID: <1337863881.13601.27.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Thu, 24 May 2012 14:51:21 +0200
In-Reply-To: <4FBE1AEE.8000003@citrix.com>
References: <a3a8dd4938dd4b0e51b3.1337786875@Solace>
	<4FBE1AEE.8000003@citrix.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] libxl: introduce
 LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3278559395621535417=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============3278559395621535417==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-k6v92rS9QdiOZBmLBiXZ"


--=-k6v92rS9QdiOZBmLBiXZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 12:26 +0100, Roger Pau Monne wrote:
> Thanks for the patch I've tried it and works ok, so the below comment is=
=20
> just a suggestion about error handling.
>=20
Cool. :-)

> > Signed-off-by: Dario Faggioli<dario.faggioli@citrix.com>
> > Signed-off-by: Christoph Egger<Christoph.Egger@amd.com>
> > --- a/tools/libxl/libxl_dm.c
> > +++ b/tools/libxl/libxl_dm.c
> > @@ -257,6 +257,8 @@ static char ** libxl__build_device_model
> >           for (i =3D 0; b_info->extra_hvm&&  b_info->extra_hvm[i] !=3D =
NULL; i++)
> >               flexarray_append(dm_args, b_info->extra_hvm[i]);
> >           break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        break;
> >       }
> >       flexarray_append(dm_args, NULL);
> >       return (char **) flexarray_contents(dm_args);
> > @@ -505,6 +507,8 @@ static char ** libxl__build_device_model
> >           for (i =3D 0; b_info->extra_hvm&&  b_info->extra_hvm[i] !=3D =
NULL; i++)
> >               flexarray_append(dm_args, b_info->extra_hvm[i]);
> >           break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        break;
> >       }
>=20
> I think we should use "default" here (and on the previous one), print an=
=20
> error message, and probably return NULL. I guess we are going to get an=
=20
> error at some point later, so I think it's better to catch it here.
>
I agree and, as it was the first time I saw that file/code, so I totally
you on this! :-P

Will repost right now.

Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-k6v92rS9QdiOZBmLBiXZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk++LsoACgkQk4XaBE3IOsTJvwCdEWW2pWEPRMRwJkvt807PqRYv
ZZUAn3z39eeAOktUoAWbl0Hf81KX3XwR
=ZCRA
-----END PGP SIGNATURE-----

--=-k6v92rS9QdiOZBmLBiXZ--



--===============3278559395621535417==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============3278559395621535417==--



From xen-devel-bounces@lists.xen.org Thu May 24 13:00:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXeT-0005G9-G2; Thu, 24 May 2012 13:00:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXeS-0005G4-Hf
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:00:24 +0000
Received: from [85.158.139.83:9799] by server-6.bemta-5.messagelabs.com id
	1B/6D-31790-7E03EBF4; Thu, 24 May 2012 13:00:23 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337864422!27437616!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27554 invoked from network); 24 May 2012 13:00:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:00:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:00:20 +0100
Message-Id: <4FBE4D260200007800085E0A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:00:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] [PATCH RFC 0/9] console improvements
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series adds support for an EHCI debug port based console, and
does some other improvements and cleanup noticed to be desirable
during the implementation of the former as follow-up.

1: x86: allow early use of fixmaps
2: console: prepare for non-COMn port support
3: console: add EHCI debug port based serial console
4: serial: avoid fully initializing unused consoles
5: ns16550: MMIO adjustments
6: ns16550: PCI initialization adjustments
7: ns16550: command line parsing adjustments
8: PCI: bus scan adjustments
9: x86: construct static part of 1:1 mapping at build time

Note that this also requires a Dom0 kernel side enhancement,
which I'm reproducing below for reference (intending to submit
this only when the public interface change on the hypervisor
side is approved, which in turn will take its time due to the
current feature freeze).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/usb/early/ehci-dbgp.c
+++ b/drivers/usb/early/ehci-dbgp.c
@@ -491,7 +491,7 @@ static int ehci_wait_for_port(int port);
  * Return -ENODEV for any general failure
  * Return -EIO if wait for port fails
  */
-int dbgp_external_startup(void)
+static int _dbgp_external_startup(void)
 {
 	int devnum;
 	struct usb_debug_descriptor dbgp_desc;
@@ -613,6 +613,11 @@ err:
 		goto try_again;
 	return -ENODEV;
 }
+
+int dbgp_external_startup(struct usb_hcd *hcd)
+{
+	return xen_dbgp_external_startup(hcd) ?: _dbgp_external_startup();
+}
 EXPORT_SYMBOL_GPL(dbgp_external_startup);
 
 static int ehci_reset_port(int port)
@@ -804,7 +809,7 @@ try_next_port:
 		dbgp_ehci_status("ehci skip - already configured");
 	}
 
-	ret = dbgp_external_startup();
+	ret = _dbgp_external_startup();
 	if (ret == -EIO)
 		goto next_debug_port;
 
@@ -934,7 +939,7 @@ static void early_dbgp_write(struct cons
 		ctrl = readl(&ehci_debug->control);
 		if (!(ctrl & DBGP_ENABLED)) {
 			dbgp_not_safe = 1;
-			dbgp_external_startup();
+			_dbgp_external_startup();
 		} else {
 			cmd |= CMD_RUN;
 			writel(cmd, &ehci_regs->command);
@@ -974,10 +979,14 @@ struct console early_dbgp_console = {
 	.index =	-1,
 };
 
-int dbgp_reset_prep(void)
+int dbgp_reset_prep(struct usb_hcd *hcd)
 {
+	int ret = xen_dbgp_reset_prep(hcd);
 	u32 ctrl;
 
+	if (ret)
+		return ret;
+
 	dbgp_not_safe = 1;
 	if (!ehci_debug)
 		return 0;
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -321,7 +321,7 @@ static int ehci_reset (struct ehci_hcd *
 
 	/* If the EHCI debug controller is active, special care must be
 	 * taken before and after a host controller reset */
-	if (ehci->debug && !dbgp_reset_prep())
+	if (ehci->debug && !dbgp_reset_prep(ehci_to_hcd(ehci)))
 		ehci->debug = NULL;
 
 	command |= CMD_RESET;
@@ -345,7 +345,7 @@ static int ehci_reset (struct ehci_hcd *
 		tdi_reset (ehci);
 
 	if (ehci->debug)
-		dbgp_external_startup();
+		dbgp_external_startup(ehci_to_hcd(ehci));
 
 	ehci->port_c_suspend = ehci->suspended_ports =
 			ehci->resuming_ports = 0;
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -347,10 +347,10 @@ static int ehci_bus_resume (struct usb_h
 	}
 
 	if (unlikely(ehci->debug)) {
-		if (!dbgp_reset_prep())
+		if (!dbgp_reset_prep(hcd))
 			ehci->debug = NULL;
 		else
-			dbgp_external_startup();
+			dbgp_external_startup(hcd);
 	}
 
 	/* Ideally and we've got a real resume here, and no port's power
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -21,6 +21,7 @@ CFLAGS_features.o			:= $(nostackp)
 endif
 
 priv-$(CONFIG_PCI)			:= pci.o
+priv-$(CONFIG_USB_SUPPORT)		+= dbgp.o
 
 obj-$(CONFIG_XEN)			+= features.o $(xen-backend-y) $(xen-backend-m)
 obj-$(CONFIG_XEN_PRIVILEGED_GUEST)	+= $(priv-y)
@@ -37,7 +38,7 @@ obj-$(CONFIG_XEN_SYS_HYPERVISOR)	+= sys-
 obj-$(CONFIG_XEN_PVHVM)			+= platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+= tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+= swiotlb-xen.o
-obj-$(CONFIG_XEN_DOM0)			+= pci.o
+obj-$(CONFIG_XEN_DOM0)			+= pci.o dbgp.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+= xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+= $(xen-privcmd_y)
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+= xen-acpi-processor.o
--- /dev/null
+++ b/drivers/xen/dbgp.c
@@ -0,0 +1,48 @@
+#include <linux/pci.h>
+#include <linux/usb.h>
+#include <linux/usb/ehci_def.h>
+#include <linux/usb/hcd.h>
+#include <asm/xen/hypercall.h>
+#include <xen/interface/physdev.h>
+#include <xen/xen.h>
+
+static int xen_dbgp_op(struct usb_hcd *hcd, int op)
+{
+	const struct device *ctrlr = hcd_to_bus(hcd)->controller;
+	struct physdev_dbgp_op dbgp;
+
+	if (!xen_initial_domain())
+		return 0;
+
+	dbgp.op = op;
+
+#ifdef CONFIG_PCI
+	if (ctrlr->bus == &pci_bus_type) {
+		const struct pci_dev *pdev = to_pci_dev(ctrlr);
+
+		dbgp.u.pci.seg = pci_domain_nr(pdev->bus);
+		dbgp.u.pci.bus = pdev->bus->number;
+		dbgp.u.pci.devfn = pdev->devfn;
+		dbgp.bus = PHYSDEVOP_DBGP_BUS_PCI;
+	} else
+#endif
+		dbgp.bus = PHYSDEVOP_DBGP_BUS_UNKNOWN;
+
+	return HYPERVISOR_physdev_op(PHYSDEVOP_dbgp_op, &dbgp);
+}
+
+int xen_dbgp_reset_prep(struct usb_hcd *hcd)
+{
+	return xen_dbgp_op(hcd, PHYSDEVOP_DBGP_RESET_PREPARE);
+}
+
+int xen_dbgp_external_startup(struct usb_hcd *hcd)
+{
+	return xen_dbgp_op(hcd, PHYSDEVOP_DBGP_RESET_DONE);
+}
+
+#ifndef CONFIG_EARLY_PRINTK_DBGP
+#include <linux/export.h>
+EXPORT_SYMBOL_GPL(xen_dbgp_reset_prep);
+EXPORT_SYMBOL_GPL(xen_dbgp_external_startup);
+#endif
--- a/include/linux/usb/ehci_def.h
+++ b/include/linux/usb/ehci_def.h
@@ -207,18 +207,35 @@ extern int __init early_dbgp_init(char *
 extern struct console early_dbgp_console;
 #endif /* CONFIG_EARLY_PRINTK_DBGP */
 
+struct usb_hcd;
+
+#if defined(CONFIG_XEN_PRIVILEGED_GUEST) || defined(CONFIG_XEN_DOM0)
+extern int xen_dbgp_reset_prep(struct usb_hcd *);
+extern int xen_dbgp_external_startup(struct usb_hcd *);
+#else
+static inline int xen_dbgp_reset_prep(struct usb_hcd *hcd)
+{
+	return 1; /* Shouldn't this be 0? */
+}
+
+static inline int xen_dbgp_external_startup(struct usb_hcd *hcd)
+{
+	return -1;
+}
+#endif
+
 #ifdef CONFIG_EARLY_PRINTK_DBGP
 /* Call backs from ehci host driver to ehci debug driver */
-extern int dbgp_external_startup(void);
-extern int dbgp_reset_prep(void);
+extern int dbgp_external_startup(struct usb_hcd *);
+extern int dbgp_reset_prep(struct usb_hcd *hcd);
 #else
-static inline int dbgp_reset_prep(void)
+static inline int dbgp_reset_prep(struct usb_hcd *hcd)
 {
-	return 1;
+	return xen_dbgp_reset_prep(hcd);
 }
-static inline int dbgp_external_startup(void)
+static inline int dbgp_external_startup(struct usb_hcd *hcd)
 {
-	return -1;
+	return xen_dbgp_external_startup(hcd);
 }
 #endif
 
--- a/include/xen/interface/physdev.h
+++ b/include/xen/interface/physdev.h
@@ -307,6 +307,24 @@ struct physdev_pci_device {
 typedef struct physdev_pci_device physdev_pci_device_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_t);
 
+#define PHYSDEVOP_DBGP_RESET_PREPARE    1
+#define PHYSDEVOP_DBGP_RESET_DONE       2
+
+#define PHYSDEVOP_DBGP_BUS_UNKNOWN      0
+#define PHYSDEVOP_DBGP_BUS_PCI          1
+
+#define PHYSDEVOP_dbgp_op               29
+struct physdev_dbgp_op {
+    /* IN */
+    uint8_t op;
+    uint8_t bus;
+    union {
+        struct physdev_pci_device pci;
+    } u;
+};
+typedef struct physdev_dbgp_op physdev_dbgp_op_t;
+DEFINE_XEN_GUEST_HANDLE(physdev_dbgp_op_t);
+
 /*
  * Notify that some PIRQ-bound event channels have been unmasked.
  * ** This command is obsolete since interface version 0x00030202 and is **


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 13:00:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXeT-0005G9-G2; Thu, 24 May 2012 13:00:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXeS-0005G4-Hf
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:00:24 +0000
Received: from [85.158.139.83:9799] by server-6.bemta-5.messagelabs.com id
	1B/6D-31790-7E03EBF4; Thu, 24 May 2012 13:00:23 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337864422!27437616!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27554 invoked from network); 24 May 2012 13:00:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:00:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:00:20 +0100
Message-Id: <4FBE4D260200007800085E0A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:00:54 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Subject: [Xen-devel] [PATCH RFC 0/9] console improvements
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series adds support for an EHCI debug port based console, and
does some other improvements and cleanup noticed to be desirable
during the implementation of the former as follow-up.

1: x86: allow early use of fixmaps
2: console: prepare for non-COMn port support
3: console: add EHCI debug port based serial console
4: serial: avoid fully initializing unused consoles
5: ns16550: MMIO adjustments
6: ns16550: PCI initialization adjustments
7: ns16550: command line parsing adjustments
8: PCI: bus scan adjustments
9: x86: construct static part of 1:1 mapping at build time

Note that this also requires a Dom0 kernel side enhancement,
which I'm reproducing below for reference (intending to submit
this only when the public interface change on the hypervisor
side is approved, which in turn will take its time due to the
current feature freeze).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/usb/early/ehci-dbgp.c
+++ b/drivers/usb/early/ehci-dbgp.c
@@ -491,7 +491,7 @@ static int ehci_wait_for_port(int port);
  * Return -ENODEV for any general failure
  * Return -EIO if wait for port fails
  */
-int dbgp_external_startup(void)
+static int _dbgp_external_startup(void)
 {
 	int devnum;
 	struct usb_debug_descriptor dbgp_desc;
@@ -613,6 +613,11 @@ err:
 		goto try_again;
 	return -ENODEV;
 }
+
+int dbgp_external_startup(struct usb_hcd *hcd)
+{
+	return xen_dbgp_external_startup(hcd) ?: _dbgp_external_startup();
+}
 EXPORT_SYMBOL_GPL(dbgp_external_startup);
 
 static int ehci_reset_port(int port)
@@ -804,7 +809,7 @@ try_next_port:
 		dbgp_ehci_status("ehci skip - already configured");
 	}
 
-	ret = dbgp_external_startup();
+	ret = _dbgp_external_startup();
 	if (ret == -EIO)
 		goto next_debug_port;
 
@@ -934,7 +939,7 @@ static void early_dbgp_write(struct cons
 		ctrl = readl(&ehci_debug->control);
 		if (!(ctrl & DBGP_ENABLED)) {
 			dbgp_not_safe = 1;
-			dbgp_external_startup();
+			_dbgp_external_startup();
 		} else {
 			cmd |= CMD_RUN;
 			writel(cmd, &ehci_regs->command);
@@ -974,10 +979,14 @@ struct console early_dbgp_console = {
 	.index =	-1,
 };
 
-int dbgp_reset_prep(void)
+int dbgp_reset_prep(struct usb_hcd *hcd)
 {
+	int ret = xen_dbgp_reset_prep(hcd);
 	u32 ctrl;
 
+	if (ret)
+		return ret;
+
 	dbgp_not_safe = 1;
 	if (!ehci_debug)
 		return 0;
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -321,7 +321,7 @@ static int ehci_reset (struct ehci_hcd *
 
 	/* If the EHCI debug controller is active, special care must be
 	 * taken before and after a host controller reset */
-	if (ehci->debug && !dbgp_reset_prep())
+	if (ehci->debug && !dbgp_reset_prep(ehci_to_hcd(ehci)))
 		ehci->debug = NULL;
 
 	command |= CMD_RESET;
@@ -345,7 +345,7 @@ static int ehci_reset (struct ehci_hcd *
 		tdi_reset (ehci);
 
 	if (ehci->debug)
-		dbgp_external_startup();
+		dbgp_external_startup(ehci_to_hcd(ehci));
 
 	ehci->port_c_suspend = ehci->suspended_ports =
 			ehci->resuming_ports = 0;
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -347,10 +347,10 @@ static int ehci_bus_resume (struct usb_h
 	}
 
 	if (unlikely(ehci->debug)) {
-		if (!dbgp_reset_prep())
+		if (!dbgp_reset_prep(hcd))
 			ehci->debug = NULL;
 		else
-			dbgp_external_startup();
+			dbgp_external_startup(hcd);
 	}
 
 	/* Ideally and we've got a real resume here, and no port's power
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -21,6 +21,7 @@ CFLAGS_features.o			:= $(nostackp)
 endif
 
 priv-$(CONFIG_PCI)			:= pci.o
+priv-$(CONFIG_USB_SUPPORT)		+= dbgp.o
 
 obj-$(CONFIG_XEN)			+= features.o $(xen-backend-y) $(xen-backend-m)
 obj-$(CONFIG_XEN_PRIVILEGED_GUEST)	+= $(priv-y)
@@ -37,7 +38,7 @@ obj-$(CONFIG_XEN_SYS_HYPERVISOR)	+= sys-
 obj-$(CONFIG_XEN_PVHVM)			+= platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+= tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+= swiotlb-xen.o
-obj-$(CONFIG_XEN_DOM0)			+= pci.o
+obj-$(CONFIG_XEN_DOM0)			+= pci.o dbgp.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+= xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+= $(xen-privcmd_y)
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+= xen-acpi-processor.o
--- /dev/null
+++ b/drivers/xen/dbgp.c
@@ -0,0 +1,48 @@
+#include <linux/pci.h>
+#include <linux/usb.h>
+#include <linux/usb/ehci_def.h>
+#include <linux/usb/hcd.h>
+#include <asm/xen/hypercall.h>
+#include <xen/interface/physdev.h>
+#include <xen/xen.h>
+
+static int xen_dbgp_op(struct usb_hcd *hcd, int op)
+{
+	const struct device *ctrlr = hcd_to_bus(hcd)->controller;
+	struct physdev_dbgp_op dbgp;
+
+	if (!xen_initial_domain())
+		return 0;
+
+	dbgp.op = op;
+
+#ifdef CONFIG_PCI
+	if (ctrlr->bus == &pci_bus_type) {
+		const struct pci_dev *pdev = to_pci_dev(ctrlr);
+
+		dbgp.u.pci.seg = pci_domain_nr(pdev->bus);
+		dbgp.u.pci.bus = pdev->bus->number;
+		dbgp.u.pci.devfn = pdev->devfn;
+		dbgp.bus = PHYSDEVOP_DBGP_BUS_PCI;
+	} else
+#endif
+		dbgp.bus = PHYSDEVOP_DBGP_BUS_UNKNOWN;
+
+	return HYPERVISOR_physdev_op(PHYSDEVOP_dbgp_op, &dbgp);
+}
+
+int xen_dbgp_reset_prep(struct usb_hcd *hcd)
+{
+	return xen_dbgp_op(hcd, PHYSDEVOP_DBGP_RESET_PREPARE);
+}
+
+int xen_dbgp_external_startup(struct usb_hcd *hcd)
+{
+	return xen_dbgp_op(hcd, PHYSDEVOP_DBGP_RESET_DONE);
+}
+
+#ifndef CONFIG_EARLY_PRINTK_DBGP
+#include <linux/export.h>
+EXPORT_SYMBOL_GPL(xen_dbgp_reset_prep);
+EXPORT_SYMBOL_GPL(xen_dbgp_external_startup);
+#endif
--- a/include/linux/usb/ehci_def.h
+++ b/include/linux/usb/ehci_def.h
@@ -207,18 +207,35 @@ extern int __init early_dbgp_init(char *
 extern struct console early_dbgp_console;
 #endif /* CONFIG_EARLY_PRINTK_DBGP */
 
+struct usb_hcd;
+
+#if defined(CONFIG_XEN_PRIVILEGED_GUEST) || defined(CONFIG_XEN_DOM0)
+extern int xen_dbgp_reset_prep(struct usb_hcd *);
+extern int xen_dbgp_external_startup(struct usb_hcd *);
+#else
+static inline int xen_dbgp_reset_prep(struct usb_hcd *hcd)
+{
+	return 1; /* Shouldn't this be 0? */
+}
+
+static inline int xen_dbgp_external_startup(struct usb_hcd *hcd)
+{
+	return -1;
+}
+#endif
+
 #ifdef CONFIG_EARLY_PRINTK_DBGP
 /* Call backs from ehci host driver to ehci debug driver */
-extern int dbgp_external_startup(void);
-extern int dbgp_reset_prep(void);
+extern int dbgp_external_startup(struct usb_hcd *);
+extern int dbgp_reset_prep(struct usb_hcd *hcd);
 #else
-static inline int dbgp_reset_prep(void)
+static inline int dbgp_reset_prep(struct usb_hcd *hcd)
 {
-	return 1;
+	return xen_dbgp_reset_prep(hcd);
 }
-static inline int dbgp_external_startup(void)
+static inline int dbgp_external_startup(struct usb_hcd *hcd)
 {
-	return -1;
+	return xen_dbgp_external_startup(hcd);
 }
 #endif
 
--- a/include/xen/interface/physdev.h
+++ b/include/xen/interface/physdev.h
@@ -307,6 +307,24 @@ struct physdev_pci_device {
 typedef struct physdev_pci_device physdev_pci_device_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_t);
 
+#define PHYSDEVOP_DBGP_RESET_PREPARE    1
+#define PHYSDEVOP_DBGP_RESET_DONE       2
+
+#define PHYSDEVOP_DBGP_BUS_UNKNOWN      0
+#define PHYSDEVOP_DBGP_BUS_PCI          1
+
+#define PHYSDEVOP_dbgp_op               29
+struct physdev_dbgp_op {
+    /* IN */
+    uint8_t op;
+    uint8_t bus;
+    union {
+        struct physdev_pci_device pci;
+    } u;
+};
+typedef struct physdev_dbgp_op physdev_dbgp_op_t;
+DEFINE_XEN_GUEST_HANDLE(physdev_dbgp_op_t);
+
 /*
  * Notify that some PIRQ-bound event channels have been unmasked.
  * ** This command is obsolete since interface version 0x00030202 and is **


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 13:01:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:01:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXfG-0005Ib-Tb; Thu, 24 May 2012 13:01:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXfE-0005IS-UQ
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:01:13 +0000
Received: from [85.158.139.83:31057] by server-11.bemta-5.messagelabs.com id
	4F/9E-12711-8113EBF4; Thu, 24 May 2012 13:01:12 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337864470!22814153!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1450 invoked from network); 24 May 2012 13:01:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:01:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:01:10 +0100
Message-Id: <4FBE4D580200007800085E0E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:01:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part80AE7C28.0__="
Subject: [Xen-devel] [PATCH RFC 1/9] x86: allow early use of fixmaps
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part80AE7C28.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

x86: allow early use of fixmaps

As a prerequisite for adding an EHCI debug port based console
implementation, set up the page tables needed for (a sub-portion of)
the fixmaps together with other boot time page table construction.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -3,6 +3,7 @@
 #include <public/xen.h>
 #include <asm/asm_defns.h>
 #include <asm/desc.h>
+#include <asm/fixmap.h>
 #include <asm/page.h>
 #include <asm/msr.h>
=20
@@ -121,6 +122,9 @@ __start:
         add     $8,%edx
         add     $(1<<L2_PAGETABLE_SHIFT),%eax
         loop    1b
+        /* Initialise L2 fixmap page directory entry. */
+        mov     $(sym_phys(l1_fixmap)+7),%eax
+        mov     %eax,sym_phys(l2_fixmap) + l2_table_offset(FIXADDR_TOP-1)*=
8
         /* Initialise L3 identity-map page directory entries. */
         mov     $sym_phys(l3_identmap),%edi
         mov     $(sym_phys(l2_identmap)+7),%eax
@@ -129,9 +133,11 @@ __start:
         add     $8,%edi
         add     $PAGE_SIZE,%eax
         loop    1b
-        /* Initialise L3 xen-map page directory entry. */
+        /* Initialise L3 xen-map and fixmap page directory entries. */
         mov     $(sym_phys(l2_xenmap)+7),%eax
         mov     %eax,sym_phys(l3_xenmap) + l3_table_offset(XEN_VIRT_START)=
*8
+        mov     $(sym_phys(l2_fixmap)+7),%eax
+        mov     %eax,sym_phys(l3_xenmap) + l3_table_offset(FIXADDR_TOP-1)*=
8
         /* Initialise L3 boot-map page directory entry. */
         mov     $(sym_phys(l2_bootmap)+7),%eax
         mov     %eax,sym_phys(l3_bootmap) + 0*8
@@ -157,6 +163,9 @@ __start:
         add     $(1<<L2_PAGETABLE_SHIFT),%eax
         cmp     $(16<<20)+0xe3,%eax
         jne     1b
+        /* Initialise L2 fixmap page directory entry. */
+        mov     $(sym_phys(l1_fixmap)+7),%eax
+        mov     %eax,sym_phys(idle_pg_table_l2) + l2_table_offset(FIXADDR_=
TOP-1)*8
 #endif
=20
         /* Initialize 4kB mappings of first 2MB or 4MB of memory. */
--- a/xen/arch/x86/efi/boot.c
+++ b/xen/arch/x86/efi/boot.c
@@ -17,6 +17,9 @@
 #include <xen/vga.h>
 #include <asm/e820.h>
 #include <asm/edd.h>
+#define __ASSEMBLY__ /* avoid pulling in ACPI stuff (conflicts with EFI) =
*/
+#include <asm/fixmap.h>
+#undef __ASSEMBLY__
 #include <asm/mm.h>
 #include <asm/msr.h>
 #include <asm/processor.h>
@@ -1123,14 +1126,19 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY
         slot &=3D L2_PAGETABLE_ENTRIES - 1;
         l2_bootmap[slot] =3D l2e_from_paddr(addr, __PAGE_HYPERVISOR|_PAGE_=
PSE);
     }
+    /* Initialise L2 fixmap page directory entry. */
+    l2_fixmap[l2_table_offset(FIXADDR_TOP - 1)] =3D
+        l2e_from_paddr((UINTN)l1_fixmap, __PAGE_HYPERVISOR);
     /* Initialise L3 identity-map page directory entries. */
     for ( i =3D 0; i < ARRAY_SIZE(l2_identmap) / L2_PAGETABLE_ENTRIES; =
++i )
         l3_identmap[i] =3D l3e_from_paddr((UINTN)(l2_identmap +
                                                 i * L2_PAGETABLE_ENTRIES),=

                                         __PAGE_HYPERVISOR);
-    /* Initialise L3 xen-map page directory entry. */
+    /* Initialise L3 xen-map and fixmap page directory entries. */
     l3_xenmap[l3_table_offset(XEN_VIRT_START)] =3D
         l3e_from_paddr((UINTN)l2_xenmap, __PAGE_HYPERVISOR);
+    l3_xenmap[l3_table_offset(FIXADDR_TOP - 1)] =3D
+        l3e_from_paddr((UINTN)l2_fixmap, __PAGE_HYPERVISOR);
     /* Initialise L3 boot-map page directory entries. */
     l3_bootmap[l3_table_offset(xen_phys_start)] =3D
         l3e_from_paddr((UINTN)l2_bootmap, __PAGE_HYPERVISOR);
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -130,6 +130,10 @@
 l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l1_identmap[L1_PAGETABLE_ENTRIES];
=20
+/* Mapping of the fixmap space needed early. */
+l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
+    l1_fixmap[L1_PAGETABLE_ENTRIES];
+
 #define MEM_LOG(_f, _a...) gdprintk(XENLOG_WARNING , _f "\n" , ## _a)
=20
 /*
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -65,6 +65,10 @@ l3_pgentry_t __attribute__ ((__section__
 l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l2_xenmap[L2_PAGETABLE_ENTRIES];
=20
+/* Enough page directories to map the early fixmap space. */
+l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
+    l2_fixmap[L2_PAGETABLE_ENTRIES];
+
 /* Enough page directories to map into the bottom 1GB. */
 l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l3_bootmap[L3_PAGETABLE_ENTRIES];
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -315,7 +315,11 @@ extern unsigned char boot_edid_info[128]
 #define MACHPHYS_MBYTES         16 /* 1 MB needed per 1 GB memory */
 #define FRAMETABLE_MBYTES       (MACHPHYS_MBYTES * 6)
=20
+#ifndef __ASSEMBLY__
 #define IOREMAP_VIRT_END	0UL
+#else
+#define IOREMAP_VIRT_END	0
+#endif
 #define IOREMAP_VIRT_START	(IOREMAP_VIRT_END - (IOREMAP_MBYTES<<20))
 #define DIRECTMAP_VIRT_END	IOREMAP_VIRT_START
 #define DIRECTMAP_VIRT_START	(DIRECTMAP_VIRT_END - (DIRECTMAP_MBYTES<<20=
))
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -13,12 +13,17 @@
 #define _ASM_FIXMAP_H
=20
 #include <xen/config.h>
+#include <asm/page.h>
+
+#define FIXADDR_TOP (IOREMAP_VIRT_END - PAGE_SIZE)
+
+#ifndef __ASSEMBLY__
+
 #include <xen/pfn.h>
 #include <xen/kexec.h>
 #include <xen/iommu.h>
 #include <asm/apicdef.h>
 #include <asm/acpi.h>
-#include <asm/page.h>
 #include <asm/amd-iommu.h>
 #include <asm/msi.h>
 #include <acpi/apei.h>
@@ -66,7 +71,6 @@ enum fixed_addresses {
     __end_of_fixed_addresses
 };
=20
-#define FIXADDR_TOP   (IOREMAP_VIRT_END - PAGE_SIZE)
 #define FIXADDR_SIZE  (__end_of_fixed_addresses << PAGE_SHIFT)
 #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)
=20
@@ -90,4 +94,6 @@ static inline unsigned long virt_to_fix(
     return __virt_to_fix(vaddr);
 }
=20
+#endif /* __ASSEMBLY__ */
+
 #endif
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -306,13 +306,15 @@ extern l2_pgentry_t   idle_pg_table_l2[
 extern l2_pgentry_t  *compat_idle_pg_table_l2;
 extern unsigned int   m2p_compat_vstart;
 extern l2_pgentry_t l2_xenmap[L2_PAGETABLE_ENTRIES],
+    l2_fixmap[L2_PAGETABLE_ENTRIES],
     l2_bootmap[L2_PAGETABLE_ENTRIES];
 extern l3_pgentry_t l3_xenmap[L3_PAGETABLE_ENTRIES],
     l3_identmap[L3_PAGETABLE_ENTRIES],
     l3_bootmap[L3_PAGETABLE_ENTRIES];
 #endif
 extern l2_pgentry_t l2_identmap[4*L2_PAGETABLE_ENTRIES];
-extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES];
+extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES],
+    l1_fixmap[L1_PAGETABLE_ENTRIES];
 void paging_init(void);
 void setup_idle_pagetable(void);
 #endif /* !defined(__ASSEMBLY__) */



--=__Part80AE7C28.0__=
Content-Type: text/plain; name="x86-early-fixmap.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-early-fixmap.patch"

x86: allow early use of fixmaps=0A=0AAs a prerequisite for adding an EHCI =
debug port based console=0Aimplementation, set up the page tables needed =
for (a sub-portion of)=0Athe fixmaps together with other boot time page =
table construction.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/xen/arch/x86/boot/head.S=0A+++ b/xen/arch/x86/boot/head.S=0A@@ =
-3,6 +3,7 @@=0A #include <public/xen.h>=0A #include <asm/asm_defns.h>=0A =
#include <asm/desc.h>=0A+#include <asm/fixmap.h>=0A #include <asm/page.h>=
=0A #include <asm/msr.h>=0A =0A@@ -121,6 +122,9 @@ __start:=0A         add =
    $8,%edx=0A         add     $(1<<L2_PAGETABLE_SHIFT),%eax=0A         =
loop    1b=0A+        /* Initialise L2 fixmap page directory entry. */=0A+ =
       mov     $(sym_phys(l1_fixmap)+7),%eax=0A+        mov     %eax,sym_ph=
ys(l2_fixmap) + l2_table_offset(FIXADDR_TOP-1)*8=0A         /* Initialise =
L3 identity-map page directory entries. */=0A         mov     $sym_phys(l3_=
identmap),%edi=0A         mov     $(sym_phys(l2_identmap)+7),%eax=0A@@ =
-129,9 +133,11 @@ __start:=0A         add     $8,%edi=0A         add     =
$PAGE_SIZE,%eax=0A         loop    1b=0A-        /* Initialise L3 xen-map =
page directory entry. */=0A+        /* Initialise L3 xen-map and fixmap =
page directory entries. */=0A         mov     $(sym_phys(l2_xenmap)+7),%eax=
=0A         mov     %eax,sym_phys(l3_xenmap) + l3_table_offset(XEN_VIRT_STA=
RT)*8=0A+        mov     $(sym_phys(l2_fixmap)+7),%eax=0A+        mov     =
%eax,sym_phys(l3_xenmap) + l3_table_offset(FIXADDR_TOP-1)*8=0A         /* =
Initialise L3 boot-map page directory entry. */=0A         mov     =
$(sym_phys(l2_bootmap)+7),%eax=0A         mov     %eax,sym_phys(l3_bootmap)=
 + 0*8=0A@@ -157,6 +163,9 @@ __start:=0A         add     $(1<<L2_PAGETABLE_=
SHIFT),%eax=0A         cmp     $(16<<20)+0xe3,%eax=0A         jne     =
1b=0A+        /* Initialise L2 fixmap page directory entry. */=0A+        =
mov     $(sym_phys(l1_fixmap)+7),%eax=0A+        mov     %eax,sym_phys(idle=
_pg_table_l2) + l2_table_offset(FIXADDR_TOP-1)*8=0A #endif=0A =0A         =
/* Initialize 4kB mappings of first 2MB or 4MB of memory. */=0A--- =
a/xen/arch/x86/efi/boot.c=0A+++ b/xen/arch/x86/efi/boot.c=0A@@ -17,6 +17,9 =
@@=0A #include <xen/vga.h>=0A #include <asm/e820.h>=0A #include <asm/edd.h>=
=0A+#define __ASSEMBLY__ /* avoid pulling in ACPI stuff (conflicts with =
EFI) */=0A+#include <asm/fixmap.h>=0A+#undef __ASSEMBLY__=0A #include =
<asm/mm.h>=0A #include <asm/msr.h>=0A #include <asm/processor.h>=0A@@ =
-1123,14 +1126,19 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY=0A         =
slot &=3D L2_PAGETABLE_ENTRIES - 1;=0A         l2_bootmap[slot] =3D =
l2e_from_paddr(addr, __PAGE_HYPERVISOR|_PAGE_PSE);=0A     }=0A+    /* =
Initialise L2 fixmap page directory entry. */=0A+    l2_fixmap[l2_table_off=
set(FIXADDR_TOP - 1)] =3D=0A+        l2e_from_paddr((UINTN)l1_fixmap, =
__PAGE_HYPERVISOR);=0A     /* Initialise L3 identity-map page directory =
entries. */=0A     for ( i =3D 0; i < ARRAY_SIZE(l2_identmap) / L2_PAGETABL=
E_ENTRIES; ++i )=0A         l3_identmap[i] =3D l3e_from_paddr((UINTN)(l2_id=
entmap +=0A                                                 i * L2_PAGETABL=
E_ENTRIES),=0A                                         __PAGE_HYPERVISOR);=
=0A-    /* Initialise L3 xen-map page directory entry. */=0A+    /* =
Initialise L3 xen-map and fixmap page directory entries. */=0A     =
l3_xenmap[l3_table_offset(XEN_VIRT_START)] =3D=0A         l3e_from_paddr((U=
INTN)l2_xenmap, __PAGE_HYPERVISOR);=0A+    l3_xenmap[l3_table_offset(FIXADD=
R_TOP - 1)] =3D=0A+        l3e_from_paddr((UINTN)l2_fixmap, __PAGE_HYPERVIS=
OR);=0A     /* Initialise L3 boot-map page directory entries. */=0A     =
l3_bootmap[l3_table_offset(xen_phys_start)] =3D=0A         l3e_from_paddr((=
UINTN)l2_bootmap, __PAGE_HYPERVISOR);=0A--- a/xen/arch/x86/mm.c=0A+++ =
b/xen/arch/x86/mm.c=0A@@ -130,6 +130,10 @@=0A l1_pgentry_t __attribute__ =
((__section__ (".bss.page_aligned")))=0A     l1_identmap[L1_PAGETABLE_ENTRI=
ES];=0A =0A+/* Mapping of the fixmap space needed early. */=0A+l1_pgentry_t=
 __attribute__ ((__section__ (".bss.page_aligned")))=0A+    l1_fixmap[L1_PA=
GETABLE_ENTRIES];=0A+=0A #define MEM_LOG(_f, _a...) gdprintk(XENLOG_WARNING=
 , _f "\n" , ## _a)=0A =0A /*=0A--- a/xen/arch/x86/x86_64/mm.c=0A+++ =
b/xen/arch/x86/x86_64/mm.c=0A@@ -65,6 +65,10 @@ l3_pgentry_t __attribute__ =
((__section__=0A l2_pgentry_t __attribute__ ((__section__ (".bss.page_align=
ed")))=0A     l2_xenmap[L2_PAGETABLE_ENTRIES];=0A =0A+/* Enough page =
directories to map the early fixmap space. */=0A+l2_pgentry_t __attribute__=
 ((__section__ (".bss.page_aligned")))=0A+    l2_fixmap[L2_PAGETABLE_ENTRIE=
S];=0A+=0A /* Enough page directories to map into the bottom 1GB. */=0A =
l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))=0A     =
l3_bootmap[L3_PAGETABLE_ENTRIES];=0A--- a/xen/include/asm-x86/config.h=0A++=
+ b/xen/include/asm-x86/config.h=0A@@ -315,7 +315,11 @@ extern unsigned =
char boot_edid_info[128]=0A #define MACHPHYS_MBYTES         16 /* 1 MB =
needed per 1 GB memory */=0A #define FRAMETABLE_MBYTES       (MACHPHYS_MBYT=
ES * 6)=0A =0A+#ifndef __ASSEMBLY__=0A #define IOREMAP_VIRT_END	0UL=0A+#els=
e=0A+#define IOREMAP_VIRT_END	0=0A+#endif=0A #define IOREMAP_VIRT_START	=
(IOREMAP_VIRT_END - (IOREMAP_MBYTES<<20))=0A #define DIRECTMAP_VIRT_END	=
IOREMAP_VIRT_START=0A #define DIRECTMAP_VIRT_START	(DIRECTMAP_VIRT_END=
 - (DIRECTMAP_MBYTES<<20))=0A--- a/xen/include/asm-x86/fixmap.h=0A+++ =
b/xen/include/asm-x86/fixmap.h=0A@@ -13,12 +13,17 @@=0A #define _ASM_FIXMAP=
_H=0A =0A #include <xen/config.h>=0A+#include <asm/page.h>=0A+=0A+#define =
FIXADDR_TOP (IOREMAP_VIRT_END - PAGE_SIZE)=0A+=0A+#ifndef __ASSEMBLY__=0A+=
=0A #include <xen/pfn.h>=0A #include <xen/kexec.h>=0A #include <xen/iommu.h=
>=0A #include <asm/apicdef.h>=0A #include <asm/acpi.h>=0A-#include =
<asm/page.h>=0A #include <asm/amd-iommu.h>=0A #include <asm/msi.h>=0A =
#include <acpi/apei.h>=0A@@ -66,7 +71,6 @@ enum fixed_addresses {=0A     =
__end_of_fixed_addresses=0A };=0A =0A-#define FIXADDR_TOP   (IOREMAP_VIRT_E=
ND - PAGE_SIZE)=0A #define FIXADDR_SIZE  (__end_of_fixed_addresses << =
PAGE_SHIFT)=0A #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)=0A =0A@@ =
-90,4 +94,6 @@ static inline unsigned long virt_to_fix(=0A     return =
__virt_to_fix(vaddr);=0A }=0A =0A+#endif /* __ASSEMBLY__ */=0A+=0A =
#endif=0A--- a/xen/include/asm-x86/page.h=0A+++ b/xen/include/asm-x86/page.=
h=0A@@ -306,13 +306,15 @@ extern l2_pgentry_t   idle_pg_table_l2[=0A =
extern l2_pgentry_t  *compat_idle_pg_table_l2;=0A extern unsigned int   =
m2p_compat_vstart;=0A extern l2_pgentry_t l2_xenmap[L2_PAGETABLE_ENTRIES],=
=0A+    l2_fixmap[L2_PAGETABLE_ENTRIES],=0A     l2_bootmap[L2_PAGETABLE_ENT=
RIES];=0A extern l3_pgentry_t l3_xenmap[L3_PAGETABLE_ENTRIES],=0A     =
l3_identmap[L3_PAGETABLE_ENTRIES],=0A     l3_bootmap[L3_PAGETABLE_ENTRIES];=
=0A #endif=0A extern l2_pgentry_t l2_identmap[4*L2_PAGETABLE_ENTRIES];=0A-e=
xtern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES];=0A+extern l1_pgentry_=
t l1_identmap[L1_PAGETABLE_ENTRIES],=0A+    l1_fixmap[L1_PAGETABLE_ENTRIES]=
;=0A void paging_init(void);=0A void setup_idle_pagetable(void);=0A #endif =
/* !defined(__ASSEMBLY__) */=0A
--=__Part80AE7C28.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part80AE7C28.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:01:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:01:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXfG-0005Ib-Tb; Thu, 24 May 2012 13:01:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXfE-0005IS-UQ
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:01:13 +0000
Received: from [85.158.139.83:31057] by server-11.bemta-5.messagelabs.com id
	4F/9E-12711-8113EBF4; Thu, 24 May 2012 13:01:12 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337864470!22814153!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1450 invoked from network); 24 May 2012 13:01:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:01:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:01:10 +0100
Message-Id: <4FBE4D580200007800085E0E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:01:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part80AE7C28.0__="
Subject: [Xen-devel] [PATCH RFC 1/9] x86: allow early use of fixmaps
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part80AE7C28.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

x86: allow early use of fixmaps

As a prerequisite for adding an EHCI debug port based console
implementation, set up the page tables needed for (a sub-portion of)
the fixmaps together with other boot time page table construction.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -3,6 +3,7 @@
 #include <public/xen.h>
 #include <asm/asm_defns.h>
 #include <asm/desc.h>
+#include <asm/fixmap.h>
 #include <asm/page.h>
 #include <asm/msr.h>
=20
@@ -121,6 +122,9 @@ __start:
         add     $8,%edx
         add     $(1<<L2_PAGETABLE_SHIFT),%eax
         loop    1b
+        /* Initialise L2 fixmap page directory entry. */
+        mov     $(sym_phys(l1_fixmap)+7),%eax
+        mov     %eax,sym_phys(l2_fixmap) + l2_table_offset(FIXADDR_TOP-1)*=
8
         /* Initialise L3 identity-map page directory entries. */
         mov     $sym_phys(l3_identmap),%edi
         mov     $(sym_phys(l2_identmap)+7),%eax
@@ -129,9 +133,11 @@ __start:
         add     $8,%edi
         add     $PAGE_SIZE,%eax
         loop    1b
-        /* Initialise L3 xen-map page directory entry. */
+        /* Initialise L3 xen-map and fixmap page directory entries. */
         mov     $(sym_phys(l2_xenmap)+7),%eax
         mov     %eax,sym_phys(l3_xenmap) + l3_table_offset(XEN_VIRT_START)=
*8
+        mov     $(sym_phys(l2_fixmap)+7),%eax
+        mov     %eax,sym_phys(l3_xenmap) + l3_table_offset(FIXADDR_TOP-1)*=
8
         /* Initialise L3 boot-map page directory entry. */
         mov     $(sym_phys(l2_bootmap)+7),%eax
         mov     %eax,sym_phys(l3_bootmap) + 0*8
@@ -157,6 +163,9 @@ __start:
         add     $(1<<L2_PAGETABLE_SHIFT),%eax
         cmp     $(16<<20)+0xe3,%eax
         jne     1b
+        /* Initialise L2 fixmap page directory entry. */
+        mov     $(sym_phys(l1_fixmap)+7),%eax
+        mov     %eax,sym_phys(idle_pg_table_l2) + l2_table_offset(FIXADDR_=
TOP-1)*8
 #endif
=20
         /* Initialize 4kB mappings of first 2MB or 4MB of memory. */
--- a/xen/arch/x86/efi/boot.c
+++ b/xen/arch/x86/efi/boot.c
@@ -17,6 +17,9 @@
 #include <xen/vga.h>
 #include <asm/e820.h>
 #include <asm/edd.h>
+#define __ASSEMBLY__ /* avoid pulling in ACPI stuff (conflicts with EFI) =
*/
+#include <asm/fixmap.h>
+#undef __ASSEMBLY__
 #include <asm/mm.h>
 #include <asm/msr.h>
 #include <asm/processor.h>
@@ -1123,14 +1126,19 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY
         slot &=3D L2_PAGETABLE_ENTRIES - 1;
         l2_bootmap[slot] =3D l2e_from_paddr(addr, __PAGE_HYPERVISOR|_PAGE_=
PSE);
     }
+    /* Initialise L2 fixmap page directory entry. */
+    l2_fixmap[l2_table_offset(FIXADDR_TOP - 1)] =3D
+        l2e_from_paddr((UINTN)l1_fixmap, __PAGE_HYPERVISOR);
     /* Initialise L3 identity-map page directory entries. */
     for ( i =3D 0; i < ARRAY_SIZE(l2_identmap) / L2_PAGETABLE_ENTRIES; =
++i )
         l3_identmap[i] =3D l3e_from_paddr((UINTN)(l2_identmap +
                                                 i * L2_PAGETABLE_ENTRIES),=

                                         __PAGE_HYPERVISOR);
-    /* Initialise L3 xen-map page directory entry. */
+    /* Initialise L3 xen-map and fixmap page directory entries. */
     l3_xenmap[l3_table_offset(XEN_VIRT_START)] =3D
         l3e_from_paddr((UINTN)l2_xenmap, __PAGE_HYPERVISOR);
+    l3_xenmap[l3_table_offset(FIXADDR_TOP - 1)] =3D
+        l3e_from_paddr((UINTN)l2_fixmap, __PAGE_HYPERVISOR);
     /* Initialise L3 boot-map page directory entries. */
     l3_bootmap[l3_table_offset(xen_phys_start)] =3D
         l3e_from_paddr((UINTN)l2_bootmap, __PAGE_HYPERVISOR);
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -130,6 +130,10 @@
 l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l1_identmap[L1_PAGETABLE_ENTRIES];
=20
+/* Mapping of the fixmap space needed early. */
+l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
+    l1_fixmap[L1_PAGETABLE_ENTRIES];
+
 #define MEM_LOG(_f, _a...) gdprintk(XENLOG_WARNING , _f "\n" , ## _a)
=20
 /*
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -65,6 +65,10 @@ l3_pgentry_t __attribute__ ((__section__
 l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l2_xenmap[L2_PAGETABLE_ENTRIES];
=20
+/* Enough page directories to map the early fixmap space. */
+l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
+    l2_fixmap[L2_PAGETABLE_ENTRIES];
+
 /* Enough page directories to map into the bottom 1GB. */
 l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l3_bootmap[L3_PAGETABLE_ENTRIES];
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -315,7 +315,11 @@ extern unsigned char boot_edid_info[128]
 #define MACHPHYS_MBYTES         16 /* 1 MB needed per 1 GB memory */
 #define FRAMETABLE_MBYTES       (MACHPHYS_MBYTES * 6)
=20
+#ifndef __ASSEMBLY__
 #define IOREMAP_VIRT_END	0UL
+#else
+#define IOREMAP_VIRT_END	0
+#endif
 #define IOREMAP_VIRT_START	(IOREMAP_VIRT_END - (IOREMAP_MBYTES<<20))
 #define DIRECTMAP_VIRT_END	IOREMAP_VIRT_START
 #define DIRECTMAP_VIRT_START	(DIRECTMAP_VIRT_END - (DIRECTMAP_MBYTES<<20=
))
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -13,12 +13,17 @@
 #define _ASM_FIXMAP_H
=20
 #include <xen/config.h>
+#include <asm/page.h>
+
+#define FIXADDR_TOP (IOREMAP_VIRT_END - PAGE_SIZE)
+
+#ifndef __ASSEMBLY__
+
 #include <xen/pfn.h>
 #include <xen/kexec.h>
 #include <xen/iommu.h>
 #include <asm/apicdef.h>
 #include <asm/acpi.h>
-#include <asm/page.h>
 #include <asm/amd-iommu.h>
 #include <asm/msi.h>
 #include <acpi/apei.h>
@@ -66,7 +71,6 @@ enum fixed_addresses {
     __end_of_fixed_addresses
 };
=20
-#define FIXADDR_TOP   (IOREMAP_VIRT_END - PAGE_SIZE)
 #define FIXADDR_SIZE  (__end_of_fixed_addresses << PAGE_SHIFT)
 #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)
=20
@@ -90,4 +94,6 @@ static inline unsigned long virt_to_fix(
     return __virt_to_fix(vaddr);
 }
=20
+#endif /* __ASSEMBLY__ */
+
 #endif
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -306,13 +306,15 @@ extern l2_pgentry_t   idle_pg_table_l2[
 extern l2_pgentry_t  *compat_idle_pg_table_l2;
 extern unsigned int   m2p_compat_vstart;
 extern l2_pgentry_t l2_xenmap[L2_PAGETABLE_ENTRIES],
+    l2_fixmap[L2_PAGETABLE_ENTRIES],
     l2_bootmap[L2_PAGETABLE_ENTRIES];
 extern l3_pgentry_t l3_xenmap[L3_PAGETABLE_ENTRIES],
     l3_identmap[L3_PAGETABLE_ENTRIES],
     l3_bootmap[L3_PAGETABLE_ENTRIES];
 #endif
 extern l2_pgentry_t l2_identmap[4*L2_PAGETABLE_ENTRIES];
-extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES];
+extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES],
+    l1_fixmap[L1_PAGETABLE_ENTRIES];
 void paging_init(void);
 void setup_idle_pagetable(void);
 #endif /* !defined(__ASSEMBLY__) */



--=__Part80AE7C28.0__=
Content-Type: text/plain; name="x86-early-fixmap.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-early-fixmap.patch"

x86: allow early use of fixmaps=0A=0AAs a prerequisite for adding an EHCI =
debug port based console=0Aimplementation, set up the page tables needed =
for (a sub-portion of)=0Athe fixmaps together with other boot time page =
table construction.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/xen/arch/x86/boot/head.S=0A+++ b/xen/arch/x86/boot/head.S=0A@@ =
-3,6 +3,7 @@=0A #include <public/xen.h>=0A #include <asm/asm_defns.h>=0A =
#include <asm/desc.h>=0A+#include <asm/fixmap.h>=0A #include <asm/page.h>=
=0A #include <asm/msr.h>=0A =0A@@ -121,6 +122,9 @@ __start:=0A         add =
    $8,%edx=0A         add     $(1<<L2_PAGETABLE_SHIFT),%eax=0A         =
loop    1b=0A+        /* Initialise L2 fixmap page directory entry. */=0A+ =
       mov     $(sym_phys(l1_fixmap)+7),%eax=0A+        mov     %eax,sym_ph=
ys(l2_fixmap) + l2_table_offset(FIXADDR_TOP-1)*8=0A         /* Initialise =
L3 identity-map page directory entries. */=0A         mov     $sym_phys(l3_=
identmap),%edi=0A         mov     $(sym_phys(l2_identmap)+7),%eax=0A@@ =
-129,9 +133,11 @@ __start:=0A         add     $8,%edi=0A         add     =
$PAGE_SIZE,%eax=0A         loop    1b=0A-        /* Initialise L3 xen-map =
page directory entry. */=0A+        /* Initialise L3 xen-map and fixmap =
page directory entries. */=0A         mov     $(sym_phys(l2_xenmap)+7),%eax=
=0A         mov     %eax,sym_phys(l3_xenmap) + l3_table_offset(XEN_VIRT_STA=
RT)*8=0A+        mov     $(sym_phys(l2_fixmap)+7),%eax=0A+        mov     =
%eax,sym_phys(l3_xenmap) + l3_table_offset(FIXADDR_TOP-1)*8=0A         /* =
Initialise L3 boot-map page directory entry. */=0A         mov     =
$(sym_phys(l2_bootmap)+7),%eax=0A         mov     %eax,sym_phys(l3_bootmap)=
 + 0*8=0A@@ -157,6 +163,9 @@ __start:=0A         add     $(1<<L2_PAGETABLE_=
SHIFT),%eax=0A         cmp     $(16<<20)+0xe3,%eax=0A         jne     =
1b=0A+        /* Initialise L2 fixmap page directory entry. */=0A+        =
mov     $(sym_phys(l1_fixmap)+7),%eax=0A+        mov     %eax,sym_phys(idle=
_pg_table_l2) + l2_table_offset(FIXADDR_TOP-1)*8=0A #endif=0A =0A         =
/* Initialize 4kB mappings of first 2MB or 4MB of memory. */=0A--- =
a/xen/arch/x86/efi/boot.c=0A+++ b/xen/arch/x86/efi/boot.c=0A@@ -17,6 +17,9 =
@@=0A #include <xen/vga.h>=0A #include <asm/e820.h>=0A #include <asm/edd.h>=
=0A+#define __ASSEMBLY__ /* avoid pulling in ACPI stuff (conflicts with =
EFI) */=0A+#include <asm/fixmap.h>=0A+#undef __ASSEMBLY__=0A #include =
<asm/mm.h>=0A #include <asm/msr.h>=0A #include <asm/processor.h>=0A@@ =
-1123,14 +1126,19 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY=0A         =
slot &=3D L2_PAGETABLE_ENTRIES - 1;=0A         l2_bootmap[slot] =3D =
l2e_from_paddr(addr, __PAGE_HYPERVISOR|_PAGE_PSE);=0A     }=0A+    /* =
Initialise L2 fixmap page directory entry. */=0A+    l2_fixmap[l2_table_off=
set(FIXADDR_TOP - 1)] =3D=0A+        l2e_from_paddr((UINTN)l1_fixmap, =
__PAGE_HYPERVISOR);=0A     /* Initialise L3 identity-map page directory =
entries. */=0A     for ( i =3D 0; i < ARRAY_SIZE(l2_identmap) / L2_PAGETABL=
E_ENTRIES; ++i )=0A         l3_identmap[i] =3D l3e_from_paddr((UINTN)(l2_id=
entmap +=0A                                                 i * L2_PAGETABL=
E_ENTRIES),=0A                                         __PAGE_HYPERVISOR);=
=0A-    /* Initialise L3 xen-map page directory entry. */=0A+    /* =
Initialise L3 xen-map and fixmap page directory entries. */=0A     =
l3_xenmap[l3_table_offset(XEN_VIRT_START)] =3D=0A         l3e_from_paddr((U=
INTN)l2_xenmap, __PAGE_HYPERVISOR);=0A+    l3_xenmap[l3_table_offset(FIXADD=
R_TOP - 1)] =3D=0A+        l3e_from_paddr((UINTN)l2_fixmap, __PAGE_HYPERVIS=
OR);=0A     /* Initialise L3 boot-map page directory entries. */=0A     =
l3_bootmap[l3_table_offset(xen_phys_start)] =3D=0A         l3e_from_paddr((=
UINTN)l2_bootmap, __PAGE_HYPERVISOR);=0A--- a/xen/arch/x86/mm.c=0A+++ =
b/xen/arch/x86/mm.c=0A@@ -130,6 +130,10 @@=0A l1_pgentry_t __attribute__ =
((__section__ (".bss.page_aligned")))=0A     l1_identmap[L1_PAGETABLE_ENTRI=
ES];=0A =0A+/* Mapping of the fixmap space needed early. */=0A+l1_pgentry_t=
 __attribute__ ((__section__ (".bss.page_aligned")))=0A+    l1_fixmap[L1_PA=
GETABLE_ENTRIES];=0A+=0A #define MEM_LOG(_f, _a...) gdprintk(XENLOG_WARNING=
 , _f "\n" , ## _a)=0A =0A /*=0A--- a/xen/arch/x86/x86_64/mm.c=0A+++ =
b/xen/arch/x86/x86_64/mm.c=0A@@ -65,6 +65,10 @@ l3_pgentry_t __attribute__ =
((__section__=0A l2_pgentry_t __attribute__ ((__section__ (".bss.page_align=
ed")))=0A     l2_xenmap[L2_PAGETABLE_ENTRIES];=0A =0A+/* Enough page =
directories to map the early fixmap space. */=0A+l2_pgentry_t __attribute__=
 ((__section__ (".bss.page_aligned")))=0A+    l2_fixmap[L2_PAGETABLE_ENTRIE=
S];=0A+=0A /* Enough page directories to map into the bottom 1GB. */=0A =
l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))=0A     =
l3_bootmap[L3_PAGETABLE_ENTRIES];=0A--- a/xen/include/asm-x86/config.h=0A++=
+ b/xen/include/asm-x86/config.h=0A@@ -315,7 +315,11 @@ extern unsigned =
char boot_edid_info[128]=0A #define MACHPHYS_MBYTES         16 /* 1 MB =
needed per 1 GB memory */=0A #define FRAMETABLE_MBYTES       (MACHPHYS_MBYT=
ES * 6)=0A =0A+#ifndef __ASSEMBLY__=0A #define IOREMAP_VIRT_END	0UL=0A+#els=
e=0A+#define IOREMAP_VIRT_END	0=0A+#endif=0A #define IOREMAP_VIRT_START	=
(IOREMAP_VIRT_END - (IOREMAP_MBYTES<<20))=0A #define DIRECTMAP_VIRT_END	=
IOREMAP_VIRT_START=0A #define DIRECTMAP_VIRT_START	(DIRECTMAP_VIRT_END=
 - (DIRECTMAP_MBYTES<<20))=0A--- a/xen/include/asm-x86/fixmap.h=0A+++ =
b/xen/include/asm-x86/fixmap.h=0A@@ -13,12 +13,17 @@=0A #define _ASM_FIXMAP=
_H=0A =0A #include <xen/config.h>=0A+#include <asm/page.h>=0A+=0A+#define =
FIXADDR_TOP (IOREMAP_VIRT_END - PAGE_SIZE)=0A+=0A+#ifndef __ASSEMBLY__=0A+=
=0A #include <xen/pfn.h>=0A #include <xen/kexec.h>=0A #include <xen/iommu.h=
>=0A #include <asm/apicdef.h>=0A #include <asm/acpi.h>=0A-#include =
<asm/page.h>=0A #include <asm/amd-iommu.h>=0A #include <asm/msi.h>=0A =
#include <acpi/apei.h>=0A@@ -66,7 +71,6 @@ enum fixed_addresses {=0A     =
__end_of_fixed_addresses=0A };=0A =0A-#define FIXADDR_TOP   (IOREMAP_VIRT_E=
ND - PAGE_SIZE)=0A #define FIXADDR_SIZE  (__end_of_fixed_addresses << =
PAGE_SHIFT)=0A #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)=0A =0A@@ =
-90,4 +94,6 @@ static inline unsigned long virt_to_fix(=0A     return =
__virt_to_fix(vaddr);=0A }=0A =0A+#endif /* __ASSEMBLY__ */=0A+=0A =
#endif=0A--- a/xen/include/asm-x86/page.h=0A+++ b/xen/include/asm-x86/page.=
h=0A@@ -306,13 +306,15 @@ extern l2_pgentry_t   idle_pg_table_l2[=0A =
extern l2_pgentry_t  *compat_idle_pg_table_l2;=0A extern unsigned int   =
m2p_compat_vstart;=0A extern l2_pgentry_t l2_xenmap[L2_PAGETABLE_ENTRIES],=
=0A+    l2_fixmap[L2_PAGETABLE_ENTRIES],=0A     l2_bootmap[L2_PAGETABLE_ENT=
RIES];=0A extern l3_pgentry_t l3_xenmap[L3_PAGETABLE_ENTRIES],=0A     =
l3_identmap[L3_PAGETABLE_ENTRIES],=0A     l3_bootmap[L3_PAGETABLE_ENTRIES];=
=0A #endif=0A extern l2_pgentry_t l2_identmap[4*L2_PAGETABLE_ENTRIES];=0A-e=
xtern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES];=0A+extern l1_pgentry_=
t l1_identmap[L1_PAGETABLE_ENTRIES],=0A+    l1_fixmap[L1_PAGETABLE_ENTRIES]=
;=0A void paging_init(void);=0A void setup_idle_pagetable(void);=0A #endif =
/* !defined(__ASSEMBLY__) */=0A
--=__Part80AE7C28.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part80AE7C28.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:02:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:02:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXfy-0005MF-BA; Thu, 24 May 2012 13:01:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXfw-0005M4-Sq
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:01:57 +0000
Received: from [85.158.139.83:42578] by server-7.bemta-5.messagelabs.com id
	7F/28-15932-4413EBF4; Thu, 24 May 2012 13:01:56 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337864514!30464598!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17319 invoked from network); 24 May 2012 13:01:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:01:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:01:54 +0100
Message-Id: <4FBE4D840200007800085E12@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:02:28 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartDCF22074.0__="
Subject: [Xen-devel] [PATCH RFC 2/9] console: prepare for non-COMn port
	support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartDCF22074.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Widen SERHND_IDX (and use it where needed), introduce a flush low level
driver method, and remove unnecessary peeking of the common code at the
(driver specific) serial port identification string in the "console=3D"
command line option value.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1017,7 +1017,7 @@ void __init smp_intr_init(void)
      * Also ensure serial interrupts are high priority. We do not
      * want them to be blocked by unacknowledged guest-bound interrupts.
      */
-    for ( seridx =3D 0; seridx < 2; seridx++ )
+    for ( seridx =3D 0; seridx <=3D SERHND_IDX; seridx++ )
     {
         if ( (irq =3D serial_irq(seridx)) < 0 )
             continue;
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -539,6 +539,7 @@ void printk(const char *fmt, ...)
 void __init console_init_preirq(void)
 {
     char *p;
+    int sh;
=20
     serial_init_preirq();
=20
@@ -551,8 +552,9 @@ void __init console_init_preirq(void)
             vga_init();
         else if ( !strncmp(p, "none", 4) )
             continue;
-        else if ( strncmp(p, "com", 3) ||
-                  (sercon_handle =3D serial_parse_handle(p)) =3D=3D -1 )
+        else if ( (sh =3D serial_parse_handle(p)) >=3D 0 )
+            sercon_handle =3D sh;
+        else
         {
             char *q =3D strchr(p, ',');
             if ( q !=3D NULL )
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -22,9 +22,11 @@ size_param("serial_tx_buffer", serial_tx
 #define mask_serial_rxbuf_idx(_i) ((_i)&(serial_rxbufsz-1))
 #define mask_serial_txbuf_idx(_i) ((_i)&(serial_txbufsz-1))
=20
-static struct serial_port com[2] =3D {
-    { .rx_lock =3D SPIN_LOCK_UNLOCKED, .tx_lock =3D SPIN_LOCK_UNLOCKED =
},=20
-    { .rx_lock =3D SPIN_LOCK_UNLOCKED, .tx_lock =3D SPIN_LOCK_UNLOCKED }
+static struct serial_port com[SERHND_IDX + 1] =3D {
+    [0 ... SERHND_IDX] =3D {
+        .rx_lock =3D SPIN_LOCK_UNLOCKED,
+        .tx_lock =3D SPIN_LOCK_UNLOCKED
+    }
 };
=20
 void serial_rx_interrupt(struct serial_port *port, struct cpu_user_regs =
*regs)
@@ -81,6 +83,8 @@ void serial_tx_interrupt(struct serial_p
             port->driver->putc(
                 port, port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=

         }
+        if ( i && port->driver->flush )
+            port->driver->flush(port);
     }
=20
     spin_unlock(&port->tx_lock);
@@ -175,6 +179,9 @@ void serial_putc(int handle, char c)
=20
     __serial_putc(port, c);
=20
+    if ( port->driver->flush )
+        port->driver->flush(port);
+
     spin_unlock_irqrestore(&port->tx_lock, flags);
 }
=20
@@ -206,6 +213,9 @@ void serial_puts(int handle, const char=20
         __serial_putc(port, c);
     }
=20
+    if ( port->driver->flush )
+        port->driver->flush(port);
+
     spin_unlock_irqrestore(&port->tx_lock, flags);
 }
=20
@@ -261,10 +271,10 @@ int __init serial_parse_handle(char *con
     switch ( conf[3] )
     {
     case '1':
-        handle =3D 0;
+        handle =3D SERHND_COM1;
         break;
     case '2':
-        handle =3D 1;
+        handle =3D SERHND_COM2;
         break;
     default:
         goto fail;
@@ -365,6 +375,8 @@ void serial_start_sync(int handle)
             port->driver->putc(
                 port, port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=

         }
+        if ( port->driver->flush )
+            port->driver->flush(port);
     }
=20
     spin_unlock_irqrestore(&port->tx_lock, flags);
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -60,6 +60,8 @@ struct uart_driver {
     int  (*tx_empty)(struct serial_port *);
     /* Put a character onto the serial line. */
     void (*putc)(struct serial_port *, char);
+    /* Flush accumulated characters. */
+    void (*flush)(struct serial_port *);
     /* Get a character from the serial line: returns 0 if none available. =
*/
     int  (*getc)(struct serial_port *, char *);
     /* Get IRQ number for this port's serial line: returns -1 if none. */
@@ -67,10 +69,12 @@ struct uart_driver {
 };
=20
 /* 'Serial handles' are composed from the following fields. */
-#define SERHND_IDX      (1<<0) /* COM1 or COM2?                           =
*/
-#define SERHND_HI       (1<<1) /* Mux/demux each transferred char by MSB. =
*/
-#define SERHND_LO       (1<<2) /* Ditto, except that the MSB is cleared.  =
*/
-#define SERHND_COOKED   (1<<3) /* Newline/carriage-return translation?    =
*/
+#define SERHND_IDX      (3<<0) /* COM1 or COM2?                           =
*/
+# define SERHND_COM1    (0<<0)
+# define SERHND_COM2    (1<<0)
+#define SERHND_HI       (1<<2) /* Mux/demux each transferred char by MSB. =
*/
+#define SERHND_LO       (1<<3) /* Ditto, except that the MSB is cleared.  =
*/
+#define SERHND_COOKED   (1<<4) /* Newline/carriage-return translation?    =
*/
=20
 /* Two-stage initialisation (before/after IRQ-subsystem initialisation). =
*/
 void serial_init_preirq(void);



--=__PartDCF22074.0__=
Content-Type: text/plain; name="sercon-non-com.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-non-com.patch"

console: prepare for non-COMn port support=0A=0AWiden SERHND_IDX (and use =
it where needed), introduce a flush low level=0Adriver method, and remove =
unnecessary peeking of the common code at the=0A(driver specific) serial =
port identification string in the "console=3D"=0Acommand line option =
value.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/smpboot.c=0A+++ b/xen/arch/x86/smpboot.c=0A@@ -1017,7 =
+1017,7 @@ void __init smp_intr_init(void)=0A      * Also ensure serial =
interrupts are high priority. We do not=0A      * want them to be blocked =
by unacknowledged guest-bound interrupts.=0A      */=0A-    for ( seridx =
=3D 0; seridx < 2; seridx++ )=0A+    for ( seridx =3D 0; seridx <=3D =
SERHND_IDX; seridx++ )=0A     {=0A         if ( (irq =3D serial_irq(seridx)=
) < 0 )=0A             continue;=0A--- a/xen/drivers/char/console.c=0A+++ =
b/xen/drivers/char/console.c=0A@@ -539,6 +539,7 @@ void printk(const char =
*fmt, ...)=0A void __init console_init_preirq(void)=0A {=0A     char =
*p;=0A+    int sh;=0A =0A     serial_init_preirq();=0A =0A@@ -551,8 +552,9 =
@@ void __init console_init_preirq(void)=0A             vga_init();=0A     =
    else if ( !strncmp(p, "none", 4) )=0A             continue;=0A-        =
else if ( strncmp(p, "com", 3) ||=0A-                  (sercon_handle =3D =
serial_parse_handle(p)) =3D=3D -1 )=0A+        else if ( (sh =3D serial_par=
se_handle(p)) >=3D 0 )=0A+            sercon_handle =3D sh;=0A+        =
else=0A         {=0A             char *q =3D strchr(p, ',');=0A            =
 if ( q !=3D NULL )=0A--- a/xen/drivers/char/serial.c=0A+++ b/xen/drivers/c=
har/serial.c=0A@@ -22,9 +22,11 @@ size_param("serial_tx_buffer", =
serial_tx=0A #define mask_serial_rxbuf_idx(_i) ((_i)&(serial_rxbufsz-1))=0A=
 #define mask_serial_txbuf_idx(_i) ((_i)&(serial_txbufsz-1))=0A =0A-static =
struct serial_port com[2] =3D {=0A-    { .rx_lock =3D SPIN_LOCK_UNLOCKED, =
.tx_lock =3D SPIN_LOCK_UNLOCKED }, =0A-    { .rx_lock =3D SPIN_LOCK_UNLOCKE=
D, .tx_lock =3D SPIN_LOCK_UNLOCKED }=0A+static struct serial_port =
com[SERHND_IDX + 1] =3D {=0A+    [0 ... SERHND_IDX] =3D {=0A+        =
.rx_lock =3D SPIN_LOCK_UNLOCKED,=0A+        .tx_lock =3D SPIN_LOCK_UNLOCKED=
=0A+    }=0A };=0A =0A void serial_rx_interrupt(struct serial_port *port, =
struct cpu_user_regs *regs)=0A@@ -81,6 +83,8 @@ void serial_tx_interrupt(st=
ruct serial_p=0A             port->driver->putc(=0A                 port, =
port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=0A         }=0A+      =
  if ( i && port->driver->flush )=0A+            port->driver->flush(port);=
=0A     }=0A =0A     spin_unlock(&port->tx_lock);=0A@@ -175,6 +179,9 @@ =
void serial_putc(int handle, char c)=0A =0A     __serial_putc(port, c);=0A =
=0A+    if ( port->driver->flush )=0A+        port->driver->flush(port);=0A=
+=0A     spin_unlock_irqrestore(&port->tx_lock, flags);=0A }=0A =0A@@ =
-206,6 +213,9 @@ void serial_puts(int handle, const char =0A         =
__serial_putc(port, c);=0A     }=0A =0A+    if ( port->driver->flush )=0A+ =
       port->driver->flush(port);=0A+=0A     spin_unlock_irqrestore(&port->=
tx_lock, flags);=0A }=0A =0A@@ -261,10 +271,10 @@ int __init serial_parse_h=
andle(char *con=0A     switch ( conf[3] )=0A     {=0A     case '1':=0A-    =
    handle =3D 0;=0A+        handle =3D SERHND_COM1;=0A         break;=0A  =
   case '2':=0A-        handle =3D 1;=0A+        handle =3D SERHND_COM2;=0A=
         break;=0A     default:=0A         goto fail;=0A@@ -365,6 +375,8 =
@@ void serial_start_sync(int handle)=0A             port->driver->putc(=0A=
                 port, port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=
=0A         }=0A+        if ( port->driver->flush )=0A+            =
port->driver->flush(port);=0A     }=0A =0A     spin_unlock_irqrestore(&port=
->tx_lock, flags);=0A--- a/xen/include/xen/serial.h=0A+++ b/xen/include/xen=
/serial.h=0A@@ -60,6 +60,8 @@ struct uart_driver {=0A     int  (*tx_empty)(=
struct serial_port *);=0A     /* Put a character onto the serial line. =
*/=0A     void (*putc)(struct serial_port *, char);=0A+    /* Flush =
accumulated characters. */=0A+    void (*flush)(struct serial_port *);=0A  =
   /* Get a character from the serial line: returns 0 if none available. =
*/=0A     int  (*getc)(struct serial_port *, char *);=0A     /* Get IRQ =
number for this port's serial line: returns -1 if none. */=0A@@ -67,10 =
+69,12 @@ struct uart_driver {=0A };=0A =0A /* 'Serial handles' are =
composed from the following fields. */=0A-#define SERHND_IDX      (1<<0) =
/* COM1 or COM2?                           */=0A-#define SERHND_HI       =
(1<<1) /* Mux/demux each transferred char by MSB. */=0A-#define SERHND_LO  =
     (1<<2) /* Ditto, except that the MSB is cleared.  */=0A-#define =
SERHND_COOKED   (1<<3) /* Newline/carriage-return translation?    =
*/=0A+#define SERHND_IDX      (3<<0) /* COM1 or COM2?                      =
     */=0A+# define SERHND_COM1    (0<<0)=0A+# define SERHND_COM2    =
(1<<0)=0A+#define SERHND_HI       (1<<2) /* Mux/demux each transferred =
char by MSB. */=0A+#define SERHND_LO       (1<<3) /* Ditto, except that =
the MSB is cleared.  */=0A+#define SERHND_COOKED   (1<<4) /* Newline/carria=
ge-return translation?    */=0A =0A /* Two-stage initialisation (before/aft=
er IRQ-subsystem initialisation). */=0A void serial_init_preirq(void);=0A
--=__PartDCF22074.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartDCF22074.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:02:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:02:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXfy-0005MF-BA; Thu, 24 May 2012 13:01:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXfw-0005M4-Sq
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:01:57 +0000
Received: from [85.158.139.83:42578] by server-7.bemta-5.messagelabs.com id
	7F/28-15932-4413EBF4; Thu, 24 May 2012 13:01:56 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337864514!30464598!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17319 invoked from network); 24 May 2012 13:01:55 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:01:55 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:01:54 +0100
Message-Id: <4FBE4D840200007800085E12@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:02:28 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartDCF22074.0__="
Subject: [Xen-devel] [PATCH RFC 2/9] console: prepare for non-COMn port
	support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartDCF22074.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Widen SERHND_IDX (and use it where needed), introduce a flush low level
driver method, and remove unnecessary peeking of the common code at the
(driver specific) serial port identification string in the "console=3D"
command line option value.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1017,7 +1017,7 @@ void __init smp_intr_init(void)
      * Also ensure serial interrupts are high priority. We do not
      * want them to be blocked by unacknowledged guest-bound interrupts.
      */
-    for ( seridx =3D 0; seridx < 2; seridx++ )
+    for ( seridx =3D 0; seridx <=3D SERHND_IDX; seridx++ )
     {
         if ( (irq =3D serial_irq(seridx)) < 0 )
             continue;
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -539,6 +539,7 @@ void printk(const char *fmt, ...)
 void __init console_init_preirq(void)
 {
     char *p;
+    int sh;
=20
     serial_init_preirq();
=20
@@ -551,8 +552,9 @@ void __init console_init_preirq(void)
             vga_init();
         else if ( !strncmp(p, "none", 4) )
             continue;
-        else if ( strncmp(p, "com", 3) ||
-                  (sercon_handle =3D serial_parse_handle(p)) =3D=3D -1 )
+        else if ( (sh =3D serial_parse_handle(p)) >=3D 0 )
+            sercon_handle =3D sh;
+        else
         {
             char *q =3D strchr(p, ',');
             if ( q !=3D NULL )
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -22,9 +22,11 @@ size_param("serial_tx_buffer", serial_tx
 #define mask_serial_rxbuf_idx(_i) ((_i)&(serial_rxbufsz-1))
 #define mask_serial_txbuf_idx(_i) ((_i)&(serial_txbufsz-1))
=20
-static struct serial_port com[2] =3D {
-    { .rx_lock =3D SPIN_LOCK_UNLOCKED, .tx_lock =3D SPIN_LOCK_UNLOCKED =
},=20
-    { .rx_lock =3D SPIN_LOCK_UNLOCKED, .tx_lock =3D SPIN_LOCK_UNLOCKED }
+static struct serial_port com[SERHND_IDX + 1] =3D {
+    [0 ... SERHND_IDX] =3D {
+        .rx_lock =3D SPIN_LOCK_UNLOCKED,
+        .tx_lock =3D SPIN_LOCK_UNLOCKED
+    }
 };
=20
 void serial_rx_interrupt(struct serial_port *port, struct cpu_user_regs =
*regs)
@@ -81,6 +83,8 @@ void serial_tx_interrupt(struct serial_p
             port->driver->putc(
                 port, port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=

         }
+        if ( i && port->driver->flush )
+            port->driver->flush(port);
     }
=20
     spin_unlock(&port->tx_lock);
@@ -175,6 +179,9 @@ void serial_putc(int handle, char c)
=20
     __serial_putc(port, c);
=20
+    if ( port->driver->flush )
+        port->driver->flush(port);
+
     spin_unlock_irqrestore(&port->tx_lock, flags);
 }
=20
@@ -206,6 +213,9 @@ void serial_puts(int handle, const char=20
         __serial_putc(port, c);
     }
=20
+    if ( port->driver->flush )
+        port->driver->flush(port);
+
     spin_unlock_irqrestore(&port->tx_lock, flags);
 }
=20
@@ -261,10 +271,10 @@ int __init serial_parse_handle(char *con
     switch ( conf[3] )
     {
     case '1':
-        handle =3D 0;
+        handle =3D SERHND_COM1;
         break;
     case '2':
-        handle =3D 1;
+        handle =3D SERHND_COM2;
         break;
     default:
         goto fail;
@@ -365,6 +375,8 @@ void serial_start_sync(int handle)
             port->driver->putc(
                 port, port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=

         }
+        if ( port->driver->flush )
+            port->driver->flush(port);
     }
=20
     spin_unlock_irqrestore(&port->tx_lock, flags);
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -60,6 +60,8 @@ struct uart_driver {
     int  (*tx_empty)(struct serial_port *);
     /* Put a character onto the serial line. */
     void (*putc)(struct serial_port *, char);
+    /* Flush accumulated characters. */
+    void (*flush)(struct serial_port *);
     /* Get a character from the serial line: returns 0 if none available. =
*/
     int  (*getc)(struct serial_port *, char *);
     /* Get IRQ number for this port's serial line: returns -1 if none. */
@@ -67,10 +69,12 @@ struct uart_driver {
 };
=20
 /* 'Serial handles' are composed from the following fields. */
-#define SERHND_IDX      (1<<0) /* COM1 or COM2?                           =
*/
-#define SERHND_HI       (1<<1) /* Mux/demux each transferred char by MSB. =
*/
-#define SERHND_LO       (1<<2) /* Ditto, except that the MSB is cleared.  =
*/
-#define SERHND_COOKED   (1<<3) /* Newline/carriage-return translation?    =
*/
+#define SERHND_IDX      (3<<0) /* COM1 or COM2?                           =
*/
+# define SERHND_COM1    (0<<0)
+# define SERHND_COM2    (1<<0)
+#define SERHND_HI       (1<<2) /* Mux/demux each transferred char by MSB. =
*/
+#define SERHND_LO       (1<<3) /* Ditto, except that the MSB is cleared.  =
*/
+#define SERHND_COOKED   (1<<4) /* Newline/carriage-return translation?    =
*/
=20
 /* Two-stage initialisation (before/after IRQ-subsystem initialisation). =
*/
 void serial_init_preirq(void);



--=__PartDCF22074.0__=
Content-Type: text/plain; name="sercon-non-com.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-non-com.patch"

console: prepare for non-COMn port support=0A=0AWiden SERHND_IDX (and use =
it where needed), introduce a flush low level=0Adriver method, and remove =
unnecessary peeking of the common code at the=0A(driver specific) serial =
port identification string in the "console=3D"=0Acommand line option =
value.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/arch/x86/smpboot.c=0A+++ b/xen/arch/x86/smpboot.c=0A@@ -1017,7 =
+1017,7 @@ void __init smp_intr_init(void)=0A      * Also ensure serial =
interrupts are high priority. We do not=0A      * want them to be blocked =
by unacknowledged guest-bound interrupts.=0A      */=0A-    for ( seridx =
=3D 0; seridx < 2; seridx++ )=0A+    for ( seridx =3D 0; seridx <=3D =
SERHND_IDX; seridx++ )=0A     {=0A         if ( (irq =3D serial_irq(seridx)=
) < 0 )=0A             continue;=0A--- a/xen/drivers/char/console.c=0A+++ =
b/xen/drivers/char/console.c=0A@@ -539,6 +539,7 @@ void printk(const char =
*fmt, ...)=0A void __init console_init_preirq(void)=0A {=0A     char =
*p;=0A+    int sh;=0A =0A     serial_init_preirq();=0A =0A@@ -551,8 +552,9 =
@@ void __init console_init_preirq(void)=0A             vga_init();=0A     =
    else if ( !strncmp(p, "none", 4) )=0A             continue;=0A-        =
else if ( strncmp(p, "com", 3) ||=0A-                  (sercon_handle =3D =
serial_parse_handle(p)) =3D=3D -1 )=0A+        else if ( (sh =3D serial_par=
se_handle(p)) >=3D 0 )=0A+            sercon_handle =3D sh;=0A+        =
else=0A         {=0A             char *q =3D strchr(p, ',');=0A            =
 if ( q !=3D NULL )=0A--- a/xen/drivers/char/serial.c=0A+++ b/xen/drivers/c=
har/serial.c=0A@@ -22,9 +22,11 @@ size_param("serial_tx_buffer", =
serial_tx=0A #define mask_serial_rxbuf_idx(_i) ((_i)&(serial_rxbufsz-1))=0A=
 #define mask_serial_txbuf_idx(_i) ((_i)&(serial_txbufsz-1))=0A =0A-static =
struct serial_port com[2] =3D {=0A-    { .rx_lock =3D SPIN_LOCK_UNLOCKED, =
.tx_lock =3D SPIN_LOCK_UNLOCKED }, =0A-    { .rx_lock =3D SPIN_LOCK_UNLOCKE=
D, .tx_lock =3D SPIN_LOCK_UNLOCKED }=0A+static struct serial_port =
com[SERHND_IDX + 1] =3D {=0A+    [0 ... SERHND_IDX] =3D {=0A+        =
.rx_lock =3D SPIN_LOCK_UNLOCKED,=0A+        .tx_lock =3D SPIN_LOCK_UNLOCKED=
=0A+    }=0A };=0A =0A void serial_rx_interrupt(struct serial_port *port, =
struct cpu_user_regs *regs)=0A@@ -81,6 +83,8 @@ void serial_tx_interrupt(st=
ruct serial_p=0A             port->driver->putc(=0A                 port, =
port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=0A         }=0A+      =
  if ( i && port->driver->flush )=0A+            port->driver->flush(port);=
=0A     }=0A =0A     spin_unlock(&port->tx_lock);=0A@@ -175,6 +179,9 @@ =
void serial_putc(int handle, char c)=0A =0A     __serial_putc(port, c);=0A =
=0A+    if ( port->driver->flush )=0A+        port->driver->flush(port);=0A=
+=0A     spin_unlock_irqrestore(&port->tx_lock, flags);=0A }=0A =0A@@ =
-206,6 +213,9 @@ void serial_puts(int handle, const char =0A         =
__serial_putc(port, c);=0A     }=0A =0A+    if ( port->driver->flush )=0A+ =
       port->driver->flush(port);=0A+=0A     spin_unlock_irqrestore(&port->=
tx_lock, flags);=0A }=0A =0A@@ -261,10 +271,10 @@ int __init serial_parse_h=
andle(char *con=0A     switch ( conf[3] )=0A     {=0A     case '1':=0A-    =
    handle =3D 0;=0A+        handle =3D SERHND_COM1;=0A         break;=0A  =
   case '2':=0A-        handle =3D 1;=0A+        handle =3D SERHND_COM2;=0A=
         break;=0A     default:=0A         goto fail;=0A@@ -365,6 +375,8 =
@@ void serial_start_sync(int handle)=0A             port->driver->putc(=0A=
                 port, port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);=
=0A         }=0A+        if ( port->driver->flush )=0A+            =
port->driver->flush(port);=0A     }=0A =0A     spin_unlock_irqrestore(&port=
->tx_lock, flags);=0A--- a/xen/include/xen/serial.h=0A+++ b/xen/include/xen=
/serial.h=0A@@ -60,6 +60,8 @@ struct uart_driver {=0A     int  (*tx_empty)(=
struct serial_port *);=0A     /* Put a character onto the serial line. =
*/=0A     void (*putc)(struct serial_port *, char);=0A+    /* Flush =
accumulated characters. */=0A+    void (*flush)(struct serial_port *);=0A  =
   /* Get a character from the serial line: returns 0 if none available. =
*/=0A     int  (*getc)(struct serial_port *, char *);=0A     /* Get IRQ =
number for this port's serial line: returns -1 if none. */=0A@@ -67,10 =
+69,12 @@ struct uart_driver {=0A };=0A =0A /* 'Serial handles' are =
composed from the following fields. */=0A-#define SERHND_IDX      (1<<0) =
/* COM1 or COM2?                           */=0A-#define SERHND_HI       =
(1<<1) /* Mux/demux each transferred char by MSB. */=0A-#define SERHND_LO  =
     (1<<2) /* Ditto, except that the MSB is cleared.  */=0A-#define =
SERHND_COOKED   (1<<3) /* Newline/carriage-return translation?    =
*/=0A+#define SERHND_IDX      (3<<0) /* COM1 or COM2?                      =
     */=0A+# define SERHND_COM1    (0<<0)=0A+# define SERHND_COM2    =
(1<<0)=0A+#define SERHND_HI       (1<<2) /* Mux/demux each transferred =
char by MSB. */=0A+#define SERHND_LO       (1<<3) /* Ditto, except that =
the MSB is cleared.  */=0A+#define SERHND_COOKED   (1<<4) /* Newline/carria=
ge-return translation?    */=0A =0A /* Two-stage initialisation (before/aft=
er IRQ-subsystem initialisation). */=0A void serial_init_preirq(void);=0A
--=__PartDCF22074.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartDCF22074.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:02:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXgb-0005Rw-VO; Thu, 24 May 2012 13:02:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXgZ-0005Ri-8q
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:02:36 +0000
Received: from [85.158.139.83:51968] by server-10.bemta-5.messagelabs.com id
	86/92-22179-A613EBF4; Thu, 24 May 2012 13:02:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337864549!26272524!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6363 invoked from network); 24 May 2012 13:02:29 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:02:29 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:02:29 +0100
Message-Id: <4FBE4DA50200007800085E16@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:03:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part3C12C094.0__="
Subject: [Xen-devel] [PATCH RFC 3/9] console: add EHCI debug port based
 serial console
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part3C12C094.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Low level hardware interface pieces adapted from Linux.

For setup information, see Linux'es Documentation/x86/earlyprintk.txt
and/or http://www.coreboot.org/EHCI_Debug_Port.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -201,7 +201,7 @@ A typical setup for most situations migh
 Specify the size of the console ring buffer.
=20
 ### console
-> `=3D List of [ vga | com1[H,L] | com2[H,L] | none ]`
+> `=3D List of [ vga | com1[H,L] | com2[H,L] | dbgp | none ]`
=20
 > Default: `console=3Dcom1,vga`
=20
@@ -217,6 +217,8 @@ the converse; transmitted and received c
 cleared.  This allows a single port to be shared by two subsystems
 (e.g. console and debugger).
=20
+`dbgp` indicates that Xen should use a USB debug port.
+
 `none` indicates that Xen should not use a console.  This option only
 makes sense on its own.
=20
@@ -272,6 +274,12 @@ combination with the `low_crashinfo` com
 ### credit2\_balance\_over
 ### credit2\_balance\_under
 ### credit2\_load\_window\_shift
+### dbgp
+> `=3D ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
+
+Specify the USB controller to use, either by instance number (when going
+over the PCI busses sequentially) or by PCI device (must be on segment =
0).
+
 ### debug\_stack\_lines
 ### debug\_stack\_lines
 ### debugtrace
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -7,6 +7,7 @@ HAS_CPUFREQ :=3D y
 HAS_PCI :=3D y
 HAS_PASSTHROUGH :=3D y
 HAS_NS16550 :=3D y
+HAS_EHCI :=3D y
 HAS_KEXEC :=3D y
 xenoprof :=3D y
=20
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -8,6 +8,7 @@
 #include <xen/event.h>
 #include <xen/guest_access.h>
 #include <xen/iocap.h>
+#include <xen/serial.h>
 #include <asm/current.h>
 #include <asm/io_apic.h>
 #include <asm/msi.h>
@@ -719,6 +720,19 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
         rcu_unlock_domain(d);
         break;
     }
+
+    case PHYSDEVOP_dbgp_op: {
+        struct physdev_dbgp_op op;
+
+        if ( !IS_PRIV(v->domain) )
+            ret =3D -EPERM;
+        else if ( copy_from_guest(&op, arg, 1) )
+            ret =3D -EFAULT;
+        else
+            ret =3D dbgp_op(&op);
+        break;
+    }
+
     default:
         ret =3D -ENOSYS;
         break;
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -603,6 +603,7 @@ void __init __start_xen(unsigned long mb
     ns16550.io_base =3D 0x2f8;
     ns16550.irq     =3D 3;
     ns16550_init(1, &ns16550);
+    ehci_dbgp_init();
     console_init_preirq();
=20
     printk("Bootloader: %s\n", loader);
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -1,4 +1,5 @@
 obj-y +=3D console.o
 obj-$(HAS_NS16550) +=3D ns16550.o
 obj-$(HAS_PL011) +=3D pl011.o
+obj-$(HAS_EHCI) +=3D ehci-dbgp.o
 obj-y +=3D serial.o
--- /dev/null
+++ b/xen/drivers/char/ehci-dbgp.c
@@ -0,0 +1,1577 @@
+/*
+ * Standalone EHCI USB debug driver
+ *
+ * Hardware interface code based on the respective early console driver =
in
+ * Linux; see the Linux source for authorship and copyrights.
+ */
+
+#include <xen/config.h>
+#include <xen/console.h>
+#include <xen/delay.h>
+#include <xen/errno.h>
+#include <xen/pci.h>
+#include <xen/serial.h>
+#include <asm/byteorder.h>
+#include <asm/io.h>
+#include <asm/fixmap.h>
+#include <public/physdev.h>
+
+/* #define DBGP_DEBUG */
+
+/* EHCI register interface, corresponds to EHCI Revision 0.95 specificatio=
n */
+
+/* Section 2.2 Host Controller Capability Registers */
+struct ehci_caps {
+    /*
+     * These fields are specified as 8 and 16 bit registers,
+     * but some hosts can't perform 8 or 16 bit PCI accesses.
+     * some hosts treat caplength and hciversion as parts of a 32-bit
+     * register, others treat them as two separate registers, this
+     * affects the memory map for big endian controllers.
+     */
+    u32 hc_capbase;
+#define HC_LENGTH(p)      (0x00ff & (p)) /* bits 7:0 / offset 0x00 */
+#define HC_VERSION(p)     (0xffff & ((p) >> 16)) /* bits 31:16 / offset =
0x02 */
+
+    u32 hcs_params;       /* HCSPARAMS - offset 0x04 */
+#define HCS_DEBUG_PORT(p) (((p) >> 20) & 0xf) /* bits 23:20, debug port? =
*/
+#define HCS_INDICATOR(p)  ((p) & (1 << 16))   /* true: has port indicators=
 */
+#define HCS_N_CC(p)       (((p) >> 12) & 0xf) /* bits 15:12, #companion =
HCs */
+#define HCS_N_PCC(p)      (((p) >> 8) & 0xf)  /* bits 11:8, ports per CC =
*/
+#define HCS_PORTROUTED(p) ((p) & (1 << 7))    /* true: port routing */
+#define HCS_PPC(p)        ((p) & (1 << 4))    /* true: port power control =
*/
+#define HCS_N_PORTS(p)    (((p) >> 0) & 0xf)  /* bits 3:0, ports on HC */
+
+    u32 hcc_params;       /* HCCPARAMS - offset 0x08 */
+/* EHCI 1.1 addendum */
+#define HCC_32FRAME_PERIODIC_LIST(p) ((p) & (1 << 19))
+#define HCC_PER_PORT_CHANGE_EVENT(p) ((p) & (1 << 18))
+#define HCC_LPM(p)        ((p) & (1 << 17))
+#define HCC_HW_PREFETCH(p) ((p) & (1 << 16))
+#define HCC_EXT_CAPS(p)   (((p) >> 8) & 0xff) /* for pci extended caps */
+#define HCC_ISOC_CACHE(p) ((p) & (1 << 7))    /* true: can cache isoc =
frame */
+#define HCC_ISOC_THRES(p) (((p) >> 4) & 0x7)  /* bits 6:4, uframes cached =
*/
+#define HCC_CANPARK(p)    ((p) & (1 << 2))    /* true: can park on async =
qh */
+#define HCC_PGM_FRAMELISTLEN(p) ((p) & (1 << 1)) /* true: periodic_size =
changes */
+#define HCC_64BIT_ADDR(p) ((p) & 1)           /* true: can use 64-bit =
addr */
+
+    u8  portroute[8];     /* nibbles for routing - offset 0x0C */
+};
+
+/* Section 2.3 Host Controller Operational Registers */
+struct ehci_regs {
+    /* USBCMD: offset 0x00 */
+    u32 command;
+
+/* EHCI 1.1 addendum */
+#define CMD_HIRD        (0xf << 24) /* host initiated resume duration */
+#define CMD_PPCEE       (1 << 15)   /* per port change event enable */
+#define CMD_FSP         (1 << 14)   /* fully synchronized prefetch */
+#define CMD_ASPE        (1 << 13)   /* async schedule prefetch enable */
+#define CMD_PSPE        (1 << 12)   /* periodic schedule prefetch enable =
*/
+/* 23:16 is r/w intr rate, in microframes; default "8" =3D=3D 1/msec */
+#define CMD_PARK        (1 << 11)   /* enable "park" on async qh */
+#define CMD_PARK_CNT(c) (((c) >> 8) & 3) /* how many transfers to park =
for */
+#define CMD_LRESET      (1 << 7)    /* partial reset (no ports, etc) */
+#define CMD_IAAD        (1 << 6)    /* "doorbell" interrupt async advance =
*/
+#define CMD_ASE         (1 << 5)    /* async schedule enable */
+#define CMD_PSE         (1 << 4)    /* periodic schedule enable */
+/* 3:2 is periodic frame list size */
+#define CMD_RESET       (1 << 1)    /* reset HC not bus */
+#define CMD_RUN         (1 << 0)    /* start/stop HC */
+
+    /* USBSTS: offset 0x04 */
+    u32 status;
+#define STS_PPCE_MASK   (0xff << 16) /* Per-Port change event 1-16 */
+#define STS_ASS         (1 << 15)   /* Async Schedule Status */
+#define STS_PSS         (1 << 14)   /* Periodic Schedule Status */
+#define STS_RECL        (1 << 13)   /* Reclamation */
+#define STS_HALT        (1 << 12)   /* Not running (any reason) */
+/* some bits reserved */
+    /* these STS_* flags are also intr_enable bits (USBINTR) */
+#define STS_IAA         (1 << 5)    /* Interrupted on async advance */
+#define STS_FATAL       (1 << 4)    /* such as some PCI access errors */
+#define STS_FLR         (1 << 3)    /* frame list rolled over */
+#define STS_PCD         (1 << 2)    /* port change detect */
+#define STS_ERR         (1 << 1)    /* "error" completion (overflow, ...) =
*/
+#define STS_INT         (1 << 0)    /* "normal" completion (short, ...) =
*/
+
+    /* USBINTR: offset 0x08 */
+    u32 intr_enable;
+
+    /* FRINDEX: offset 0x0C */
+    u32 frame_index;    /* current microframe number */
+    /* CTRLDSSEGMENT: offset 0x10 */
+    u32 segment;    /* address bits 63:32 if needed */
+    /* PERIODICLISTBASE: offset 0x14 */
+    u32 frame_list;    /* points to periodic list */
+    /* ASYNCLISTADDR: offset 0x18 */
+    u32 async_next;    /* address of next async queue head */
+
+    u32 reserved[9];
+
+    /* CONFIGFLAG: offset 0x40 */
+    u32 configured_flag;
+#define FLAG_CF         (1 << 0)    /* true: we'll support "high speed" =
*/
+
+    /* PORTSC: offset 0x44 */
+    u32 port_status[0];    /* up to N_PORTS */
+/* EHCI 1.1 addendum */
+#define PORTSC_SUSPEND_STS_ACK   0
+#define PORTSC_SUSPEND_STS_NYET  1
+#define PORTSC_SUSPEND_STS_STALL 2
+#define PORTSC_SUSPEND_STS_ERR   3
+
+#define PORT_DEV_ADDR   (0x7f << 25) /* device address */
+#define PORT_SSTS       (0x3 << 23)  /* suspend status */
+/* 31:23 reserved */
+#define PORT_WKOC_E     (1 << 22)    /* wake on overcurrent (enable) */
+#define PORT_WKDISC_E   (1 << 21)    /* wake on disconnect (enable) */
+#define PORT_WKCONN_E   (1 << 20)    /* wake on connect (enable) */
+/* 19:16 for port testing */
+#define PORT_TEST(x)    (((x) & 0xf) << 16) /* Port Test Control */
+#define PORT_TEST_PKT   PORT_TEST(0x4) /* Port Test Control - packet test =
*/
+#define PORT_TEST_FORCE PORT_TEST(0x5) /* Port Test Control - force =
enable */
+#define PORT_LED_OFF    (0 << 14)
+#define PORT_LED_AMBER  (1 << 14)
+#define PORT_LED_GREEN  (2 << 14)
+#define PORT_LED_MASK   (3 << 14)
+#define PORT_OWNER      (1 << 13)    /* true: companion hc owns this port =
*/
+#define PORT_POWER      (1 << 12)    /* true: has power (see PPC) */
+#define PORT_USB11(x)   (((x) & (3 << 10)) =3D=3D (1 << 10)) /* USB 1.1 =
device */
+/* 11:10 for detecting lowspeed devices (reset vs release ownership) */
+/* 9 reserved */
+#define PORT_LPM        (1 << 9)     /* LPM transaction */
+#define PORT_RESET      (1 << 8)     /* reset port */
+#define PORT_SUSPEND    (1 << 7)     /* suspend port */
+#define PORT_RESUME     (1 << 6)     /* resume it */
+#define PORT_OCC        (1 << 5)     /* over current change */
+#define PORT_OC         (1 << 4)     /* over current active */
+#define PORT_PEC        (1 << 3)     /* port enable change */
+#define PORT_PE         (1 << 2)     /* port enable */
+#define PORT_CSC        (1 << 1)     /* connect status change */
+#define PORT_CONNECT    (1 << 0)     /* device connected */
+#define PORT_RWC_BITS   (PORT_CSC | PORT_PEC | PORT_OCC)
+};
+
+/*
+ * Appendix C, Debug port ... intended for use with special "debug =
devices"
+ * that can help if there's no serial console.  (nonstandard enumeration.)=

+ */
+struct ehci_dbg_port {
+    u32 control;
+#define DBGP_OWNER      (1 << 30)
+#define DBGP_ENABLED    (1 << 28)
+#define DBGP_DONE       (1 << 16)
+#define DBGP_INUSE      (1 << 10)
+#define DBGP_ERRCODE(x) (((x) >> 7) & 0x07)
+# define DBGP_ERR_BAD    1
+# define DBGP_ERR_SIGNAL 2
+#define DBGP_ERROR      (1 << 6)
+#define DBGP_GO         (1 << 5)
+#define DBGP_OUT        (1 << 4)
+#define DBGP_LEN        (0xf << 0)
+#define DBGP_CLAIM      (DBGP_OWNER | DBGP_ENABLED | DBGP_INUSE)
+    u32 pids;
+#define DBGP_PID_GET(x)         (((x) >> 16) & 0xff)
+#define DBGP_PID_SET(data, tok) (((data) << 8) | (tok))
+    u32 data03;
+    u32 data47;
+    u32 address;
+#define DBGP_EPADDR(dev, ep) (((dev) << 8) | (ep))
+};
+
+/* CONTROL REQUEST SUPPORT */
+
+/*
+ * USB directions
+ *
+ * This bit flag is used in endpoint descriptors' bEndpointAddress field.
+ * It's also one of three fields in control requests bRequestType.
+ */
+#define USB_DIR_OUT 0           /* to device */
+#define USB_DIR_IN  0x80        /* to host */
+
+/*
+ * USB types, the second of three bRequestType fields
+ */
+#define USB_TYPE_MASK     (0x03 << 5)
+#define USB_TYPE_STANDARD (0x00 << 5)
+#define USB_TYPE_CLASS    (0x01 << 5)
+#define USB_TYPE_VENDOR   (0x02 << 5)
+#define USB_TYPE_RESERVED (0x03 << 5)
+
+/*
+ * USB recipients, the third of three bRequestType fields
+ */
+#define USB_RECIP_MASK      0x1f
+#define USB_RECIP_DEVICE    0x00
+#define USB_RECIP_INTERFACE 0x01
+#define USB_RECIP_ENDPOINT  0x02
+#define USB_RECIP_OTHER     0x03
+/* From Wireless USB 1.0 */
+#define USB_RECIP_PORT      0x04
+#define USB_RECIP_RPIPE     0x05
+
+/*
+ * Standard requests, for the bRequest field of a SETUP packet.
+ *
+ * These are qualified by the bRequestType field, so that for example
+ * TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved
+ * by a GET_STATUS request.
+ */
+#define USB_REQ_GET_STATUS        0x00
+#define USB_REQ_CLEAR_FEATURE     0x01
+#define USB_REQ_SET_FEATURE       0x03
+#define USB_REQ_SET_ADDRESS       0x05
+#define USB_REQ_GET_DESCRIPTOR    0x06
+#define USB_REQ_SET_DESCRIPTOR    0x07
+#define USB_REQ_GET_CONFIGURATION 0x08
+#define USB_REQ_SET_CONFIGURATION 0x09
+#define USB_REQ_GET_INTERFACE     0x0A
+#define USB_REQ_SET_INTERFACE     0x0B
+#define USB_REQ_SYNCH_FRAME       0x0C
+
+#define USB_DEVICE_DEBUG_MODE        6    /* (special devices only) */
+
+/**
+ * struct usb_ctrlrequest - SETUP data for a USB device control request
+ * @bRequestType: matches the USB bmRequestType field
+ * @bRequest: matches the USB bRequest field
+ * @wValue: matches the USB wValue field (le16 byte order)
+ * @wIndex: matches the USB wIndex field (le16 byte order)
+ * @wLength: matches the USB wLength field (le16 byte order)
+ *
+ * This structure is used to send control requests to a USB device.  It =
matches
+ * the different fields of the USB 2.0 Spec section 9.3, table 9-2.  See =
the
+ * USB spec for a fuller description of the different fields, and what =
they are
+ * used for.
+ *
+ * Note that the driver for any interface can issue control requests.
+ * For most devices, interfaces don't coordinate with each other, so
+ * such requests may be made at any time.
+ */
+struct usb_ctrlrequest {
+    u8 bRequestType;
+    u8 bRequest;
+    __le16 wValue;
+    __le16 wIndex;
+    __le16 wLength;
+} __attribute__ ((packed));
+
+/* USB_DT_DEBUG: for special highspeed devices, replacing serial console =
*/
+
+#define USB_DT_DEBUG    0x0a
+
+struct usb_debug_descriptor {
+    u8 bLength;
+    u8 bDescriptorType;
+    /* bulk endpoints with 8 byte maxpacket */
+    u8 bDebugInEndpoint;
+    u8 bDebugOutEndpoint;
+} __attribute__((packed));
+
+#define USB_DEBUG_DEVNUM 127
+
+/*
+ * USB Packet IDs (PIDs)
+ */
+
+/* token */
+#define USB_PID_OUT           0xe1
+#define USB_PID_IN            0x69
+#define USB_PID_SOF           0xa5
+#define USB_PID_SETUP         0x2d
+/* handshake */
+#define USB_PID_ACK           0xd2
+#define USB_PID_NAK           0x5a
+#define USB_PID_STALL         0x1e
+#define USB_PID_NYET          0x96
+/* data */
+#define USB_PID_DATA0         0xc3
+#define USB_PID_DATA1         0x4b
+#define USB_PID_DATA2         0x87
+#define USB_PID_MDATA         0x0f
+/* Special */
+#define USB_PID_PREAMBLE      0x3c
+#define USB_PID_ERR           0x3c
+#define USB_PID_SPLIT         0x78
+#define USB_PID_PING          0xb4
+#define USB_PID_UNDEF_0       0xf0
+
+#define PCI_CLASS_SERIAL_USB_EHCI 0x0c0320
+#define PCI_CAP_ID_EHCI_DEBUG     0x0a
+
+#define HUB_ROOT_RESET_TIME   50    /* times are in msec */
+#define HUB_SHORT_RESET_TIME  10
+#define HUB_LONG_RESET_TIME   200
+#define HUB_RESET_TIMEOUT     500
+
+#define DBGP_MAX_PACKET       8
+#define DBGP_LOOPS            1000
+#define DBGP_TIMEOUT          (250 * 1000) /* us */
+#define DBGP_CHECK_INTERVAL   100 /* us */
+/* This one can be set arbitrarily - only affects input responsiveness: =
*/
+#define DBGP_IDLE_INTERVAL    100 /* ms */
+
+struct ehci_dbgp {
+    struct ehci_dbg_port __iomem *ehci_debug;
+    enum dbgp_state {
+        dbgp_idle,
+        dbgp_out,
+        dbgp_in,
+        dbgp_ctrl,
+        dbgp_unsafe /* cannot use debug device during EHCI reset */
+    } state;
+    unsigned int phys_port;
+    struct {
+        unsigned int endpoint;
+        unsigned int chunk;
+        char buf[DBGP_MAX_PACKET];
+    } out, in;
+    unsigned long timeout;
+    struct timer timer;
+    spinlock_t *lock;
+    bool_t reset_run;
+    u8 bus, slot, func, bar;
+    u16 pci_cr;
+    u32 bar_val;
+    unsigned int cap;
+    struct ehci_regs __iomem *ehci_regs;
+    struct ehci_caps __iomem *ehci_caps;
+};
+
+static int ehci_dbgp_external_startup(struct ehci_dbgp *);
+
+static void ehci_dbgp_status(struct ehci_dbgp *dbgp, const char *str)
+{
+#ifdef DBGP_DEBUG
+#define dbgp_printk printk
+    if ( !dbgp->ehci_debug )
+        return;
+    dbgp_printk("dbgp: %s\n", str);
+    dbgp_printk("  debug control: %08x\n", readl(&dbgp->ehci_debug->contro=
l));
+    dbgp_printk("  EHCI cmd     : %08x\n", readl(&dbgp->ehci_regs->command=
));
+    dbgp_printk("  EHCI conf flg: %08x\n",
+                readl(&dbgp->ehci_regs->configured_flag));
+    dbgp_printk("  EHCI status  : %08x\n", readl(&dbgp->ehci_regs->status)=
);
+    dbgp_printk("  EHCI portsc  : %08x\n",
+                readl(&dbgp->ehci_regs->port_status[dbgp->phys_port - =
1]));
+#endif
+}
+
+#ifndef DBGP_DEBUG
+static inline __attribute__ ((format (printf, 1, 2))) void
+dbgp_printk(const char *fmt, ...) { }
+#endif
+
+static inline u32 dbgp_len_update(u32 x, u32 len)
+{
+    return (x & ~DBGP_LEN) | (len & DBGP_LEN) | DBGP_OUT;
+}
+
+static inline u32 dbgp_pid_write_update(u32 x, u32 tok)
+{
+    static u8 data0 =3D USB_PID_DATA1;
+
+    data0 ^=3D USB_PID_DATA0 ^ USB_PID_DATA1;
+    return (x & 0xffff0000) | (data0 << 8) | (tok & 0xff);
+}
+
+static inline u32 dbgp_pid_read_update(u32 x, u32 tok)
+{
+    return (x & 0xffffff00) | (tok & 0xff);
+}
+
+static inline void dbgp_set_data(struct ehci_dbg_port __iomem *ehci_debug,=

+                                 const void *buf, unsigned int size)
+{
+    const unsigned char *bytes =3D buf;
+    u32 lo =3D 0, hi =3D 0;
+    unsigned int i;
+
+    for ( i =3D 0; i < 4 && i < size; i++ )
+        lo |=3D bytes[i] << (8 * i);
+    for ( ; i < 8 && i < size; i++ )
+        hi |=3D bytes[i] << (8 * (i - 4));
+    writel(lo, &ehci_debug->data03);
+    writel(hi, &ehci_debug->data47);
+}
+
+static inline void dbgp_get_data(struct ehci_dbg_port __iomem *ehci_debug,=

+                                 void *buf, int size)
+{
+    unsigned char *bytes =3D buf;
+    u32 lo =3D readl(&ehci_debug->data03);
+    u32 hi =3D readl(&ehci_debug->data47);
+    unsigned int i;
+
+    for ( i =3D 0; i < 4 && i < size; i++ )
+        bytes[i] =3D (lo >> (8 * i)) & 0xff;
+    for ( ; i < 8 && i < size; i++ )
+        bytes[i] =3D (hi >> (8 * (i - 4))) & 0xff;
+}
+
+static void dbgp_issue_command(struct ehci_dbgp *dbgp, u32 ctrl,
+                               enum dbgp_state state)
+{
+    u32 cmd =3D readl(&dbgp->ehci_regs->command);
+
+    if ( unlikely(!(cmd & CMD_RUN)) )
+    {
+        /*
+         * If the EHCI controller is not in the run state do extended
+         * checks to see if ACPI or some other initialization also
+         * reset the EHCI debug port.
+         */
+        u32 ctrl =3D readl(&dbgp->ehci_debug->control);
+
+        if ( ctrl & DBGP_ENABLED )
+        {
+            cmd |=3D CMD_RUN;
+            writel(cmd, &dbgp->ehci_regs->command);
+            dbgp->reset_run =3D 1;
+        }
+        else if ( dbgp->state !=3D dbgp_unsafe )
+        {
+            dbgp->state =3D dbgp_unsafe;
+            ehci_dbgp_external_startup(dbgp);
+        }
+    }
+
+    writel(ctrl | DBGP_GO, &dbgp->ehci_debug->control);
+    dbgp->timeout =3D DBGP_TIMEOUT;
+    if ( dbgp->state !=3D dbgp_unsafe )
+        dbgp->state =3D state;
+}
+
+static int dbgp_check_for_completion(struct ehci_dbgp *dbgp,
+                                     unsigned int interval, u8 *ppid)
+{
+    u32 ctrl;
+    int ret;
+
+    if ( dbgp->state =3D=3D dbgp_idle )
+        return 0;
+
+    ctrl =3D readl(&dbgp->ehci_debug->control) & ~DBGP_GO;
+    if ( !(ctrl & DBGP_DONE) )
+    {
+        if ( dbgp->timeout > interval )
+            dbgp->timeout -=3D interval;
+        else if ( interval )
+        {
+            /* See the timeout related comment in dbgp_wait_until_done(). =
*/
+            dbgp->state =3D dbgp_unsafe;
+            dbgp->timeout =3D 0;
+        }
+        return -DBGP_TIMEOUT;
+    }
+
+    if ( ctrl & DBGP_ERROR )
+    {
+        ret =3D -DBGP_ERRCODE(ctrl);
+        if ( ret =3D=3D -DBGP_ERR_BAD && dbgp->timeout > interval )
+            ctrl |=3D DBGP_GO;
+    }
+    else
+    {
+        u8 pid =3D DBGP_PID_GET(readl(&dbgp->ehci_debug->pids));
+
+        ret =3D ctrl & DBGP_LEN;
+        if ( ppid )
+            *ppid =3D pid;
+        else if ( dbgp->state =3D=3D dbgp_in )
+        {
+            dbgp_get_data(dbgp->ehci_debug, dbgp->in.buf, ret);
+            dbgp->in.chunk =3D ret;
+        }
+        else if ( pid =3D=3D USB_PID_NAK && dbgp->timeout > interval )
+            ctrl |=3D DBGP_GO;
+    }
+
+    writel(ctrl, &dbgp->ehci_debug->control);
+    if ( ctrl & DBGP_GO )
+    {
+        dbgp->timeout -=3D interval;
+        return -DBGP_TIMEOUT;
+    }
+
+    if ( unlikely(dbgp->reset_run) )
+    {
+        writel(readl(&dbgp->ehci_regs->command) & ~CMD_RUN,
+               &dbgp->ehci_regs->command);
+        dbgp->reset_run =3D 0;
+    }
+
+    if ( dbgp->state !=3D dbgp_unsafe )
+        dbgp->state =3D dbgp_idle;
+
+    return ret;
+}
+
+static int dbgp_wait_until_complete(struct ehci_dbgp *dbgp, u8 *ppid)
+{
+    unsigned int loop =3D DBGP_TIMEOUT;
+    int ret;
+
+    do {
+        ret =3D dbgp_check_for_completion(dbgp, 0, ppid);
+        if ( ret !=3D -DBGP_TIMEOUT )
+            break;
+        udelay(1);
+    } while ( --loop );
+
+    if ( !ppid && !loop )
+        dbgp->state =3D dbgp_unsafe;
+
+    return ret;
+}
+
+static inline void dbgp_mdelay(unsigned int ms)
+{
+    while ( ms-- )
+    {
+        unsigned int i;
+
+        for ( i =3D 0; i < 1000; i++ )
+            outb(0x1, 0x80);
+    }
+}
+
+static void dbgp_breathe(void)
+{
+    /* Sleep to give the debug port a chance to breathe. */
+    dbgp_mdelay(1);
+}
+
+static int dbgp_wait_until_done(struct ehci_dbgp *dbgp, u32 ctrl,
+                                unsigned int loop)
+{
+    int ret;
+
+    dbgp->timeout =3D 0;
+
+    for ( ; ; writel(ctrl | DBGP_GO, &dbgp->ehci_debug->control) )
+    {
+        u8 pid;
+
+        ret =3D dbgp_wait_until_complete(dbgp, &pid);
+        if ( ret < 0 )
+        {
+            /*
+             * A -DBGP_TIMEOUT failure here means the device has failed,
+             * perhaps because it was unplugged, in which case we do not
+             * want to hang the system so the dbgp will be marked as =
unsafe
+             * to use. EHCI reset is the only way to recover if you =
unplug
+             * the dbgp device.
+             */
+            if ( ret =3D=3D -DBGP_TIMEOUT )
+                dbgp->state =3D dbgp_unsafe;
+            if ( ret !=3D -DBGP_ERR_BAD || !--loop )
+                break;
+        }
+        else
+        {
+            /*
+             * If the port is getting full or it has dropped data
+             * start pacing ourselves, not necessary but it's friendly.
+             */
+            if ( pid =3D=3D USB_PID_NAK || pid =3D=3D USB_PID_NYET )
+                dbgp_breathe();
+
+            /* If we got a NACK, reissue the transmission. */
+            if ( pid !=3D USB_PID_NAK || !--loop )
+                break;
+        }
+    }
+
+    return ret;
+}
+
+static int dbgp_bulk_write(struct ehci_dbgp *dbgp,
+                           unsigned int devnum, unsigned int endpoint,
+                           const void *bytes, unsigned int size, u32 =
*pctrl)
+{
+    u32 addr, pids, ctrl;
+
+    if ( size > DBGP_MAX_PACKET )
+        return -EINVAL;
+
+    addr =3D DBGP_EPADDR(devnum, endpoint);
+    pids =3D dbgp_pid_write_update(readl(&dbgp->ehci_debug->pids), =
USB_PID_OUT);
+    ctrl =3D dbgp_len_update(readl(&dbgp->ehci_debug->control), size);
+    if ( pctrl )
+        *pctrl =3D ctrl;
+
+    dbgp_set_data(dbgp->ehci_debug, bytes, size);
+    writel(addr, &dbgp->ehci_debug->address);
+    writel(pids, &dbgp->ehci_debug->pids);
+    dbgp_issue_command(dbgp, ctrl, dbgp_out);
+
+    return 0;
+}
+
+static int dbgp_bulk_read(struct ehci_dbgp *dbgp,
+                          unsigned int devnum, unsigned int endpoint,
+                          unsigned int size, u32 *pctrl)
+{
+    u32 addr, pids, ctrl;
+
+    if ( size > DBGP_MAX_PACKET )
+        return -EINVAL;
+
+    addr =3D DBGP_EPADDR(devnum, endpoint);
+    pids =3D dbgp_pid_read_update(readl(&dbgp->ehci_debug->pids), =
USB_PID_IN);
+    ctrl =3D readl(&dbgp->ehci_debug->control) & ~DBGP_OUT;
+
+    writel(addr, &dbgp->ehci_debug->address);
+    writel(pids, &dbgp->ehci_debug->pids);
+    if ( likely(!pctrl) )
+        dbgp_issue_command(dbgp, ctrl, dbgp_in);
+    else
+        dbgp_issue_command(dbgp, *pctrl =3D ctrl, dbgp_ctrl);
+
+    return 0;
+}
+
+static int dbgp_control_msg(struct ehci_dbgp *dbgp, unsigned int devnum,
+                            int requesttype, int request, int value,
+                            int index, void *data, unsigned int size)
+{
+    u32 addr, pids, ctrl;
+    struct usb_ctrlrequest req;
+    bool_t read =3D (requesttype & USB_DIR_IN) !=3D 0;
+    int ret;
+
+    if ( size > (read ? DBGP_MAX_PACKET : 0) )
+        return -EINVAL;
+
+    /* Compute the control message */
+    req.bRequestType =3D requesttype;
+    req.bRequest =3D request;
+    req.wValue =3D cpu_to_le16(value);
+    req.wIndex =3D cpu_to_le16(index);
+    req.wLength =3D cpu_to_le16(size);
+
+    pids =3D DBGP_PID_SET(USB_PID_DATA0, USB_PID_SETUP);
+    addr =3D DBGP_EPADDR(devnum, 0);
+    ctrl =3D dbgp_len_update(readl(&dbgp->ehci_debug->control), sizeof(req=
));
+
+    /* Send the setup message */
+    dbgp_set_data(dbgp->ehci_debug, &req, sizeof(req));
+    writel(addr, &dbgp->ehci_debug->address);
+    writel(pids, &dbgp->ehci_debug->pids);
+    dbgp_issue_command(dbgp, ctrl, dbgp_ctrl);
+    ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);
+    if ( ret < 0 )
+        return ret;
+
+    /* Read the result */
+    ret =3D dbgp_bulk_read(dbgp, devnum, 0, size, &ctrl);
+    if ( !ret )
+        ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);
+    if ( ret > 0 )
+    {
+        if ( size > ret )
+            size =3D ret;
+        dbgp_get_data(dbgp->ehci_debug, data, size);
+    }
+
+    return ret;
+}
+
+static unsigned int __init __find_dbgp(u8 bus, u8 slot, u8 func)
+{
+    u32 class =3D pci_conf_read32(0, bus, slot, func, PCI_CLASS_REVISION);=

+
+    if ( (class >> 8) !=3D PCI_CLASS_SERIAL_USB_EHCI )
+        return 0;
+
+    return pci_find_cap_offset(0, bus, slot, func, PCI_CAP_ID_EHCI_DEBUG);=

+}
+
+static unsigned int __init find_dbgp(struct ehci_dbgp *dbgp,
+                                     unsigned int ehci_num)
+{
+    unsigned int bus, slot, func;
+
+    for ( bus =3D 0; bus < 256; bus++ )
+    {
+        for ( slot =3D 0; slot < 32; slot++ )
+        {
+            for ( func =3D 0; func < 8; func++ )
+            {
+                unsigned int cap;
+
+                if ( !pci_device_detect(0, bus, slot, func) )
+                {
+                    if ( !func )
+                        break;
+                    continue;
+                }
+
+                cap =3D __find_dbgp(bus, slot, func);
+                if ( !cap || ehci_num-- )
+                {
+                    if ( !func && !(pci_conf_read8(0, bus, slot, func,
+                                                   PCI_HEADER_TYPE) & =
0x80) )
+                        break;
+                    continue;
+                }
+
+                dbgp->bus =3D bus;
+                dbgp->slot =3D slot;
+                dbgp->func =3D func;
+                return cap;
+            }
+        }
+    }
+
+    return 0;
+}
+
+static int ehci_dbgp_startup(struct ehci_dbgp *dbgp)
+{
+    u32 ctrl, cmd, status;
+    unsigned int loop;
+
+    /* Claim ownership, but do not enable yet */
+    ctrl =3D readl(&dbgp->ehci_debug->control);
+    ctrl |=3D DBGP_OWNER;
+    ctrl &=3D ~(DBGP_ENABLED | DBGP_INUSE);
+    writel(ctrl, &dbgp->ehci_debug->control);
+    udelay(1);
+
+    ehci_dbgp_status(dbgp, "EHCI startup");
+    /* Start the EHCI. */
+    cmd =3D readl(&dbgp->ehci_regs->command);
+    cmd &=3D ~(CMD_LRESET | CMD_IAAD | CMD_PSE | CMD_ASE | CMD_RESET);
+    cmd |=3D CMD_RUN;
+    writel(cmd, &dbgp->ehci_regs->command);
+
+    /* Ensure everything is routed to the EHCI */
+    writel(FLAG_CF, &dbgp->ehci_regs->configured_flag);
+
+    /* Wait until the controller is no longer halted */
+    loop =3D 10;
+    do {
+        status =3D readl(&dbgp->ehci_regs->status);
+        if ( !(status & STS_HALT) )
+            break;
+        udelay(1);
+    } while ( --loop );
+
+    if ( !loop )
+    {
+        dbgp_printk("EHCI cannot be started\n");
+        return -ENODEV;
+    }
+    dbgp_printk("EHCI started\n");
+
+    return 0;
+}
+
+static int ehci_dbgp_controller_reset(struct ehci_dbgp *dbgp)
+{
+    unsigned int loop =3D 250 * 1000;
+    u32 cmd;
+
+    /* Reset the EHCI controller */
+    cmd =3D readl(&dbgp->ehci_regs->command);
+    cmd |=3D CMD_RESET;
+    writel(cmd, &dbgp->ehci_regs->command);
+    do {
+        cmd =3D readl(&dbgp->ehci_regs->command);
+    } while ( (cmd & CMD_RESET) && --loop );
+
+    if ( !loop )
+    {
+        dbgp_printk("cannot reset EHCI\n");
+        return -1;
+    }
+    ehci_dbgp_status(dbgp, "ehci reset done");
+
+    return 0;
+}
+
+static int ehci_reset_port(struct ehci_dbgp *dbgp, unsigned int port)
+{
+    u32 portsc, delay_time, delay;
+
+    ehci_dbgp_status(dbgp, "reset port");
+    /* Reset the USB debug port. */
+    portsc =3D readl(&dbgp->ehci_regs->port_status[port - 1]);
+    portsc &=3D ~PORT_PE;
+    portsc |=3D PORT_RESET;
+    writel(portsc, &dbgp->ehci_regs->port_status[port - 1]);
+
+    delay =3D HUB_ROOT_RESET_TIME;
+    for ( delay_time =3D 0; delay_time < HUB_RESET_TIMEOUT;
+          delay_time +=3D delay )
+    {
+        dbgp_mdelay(delay);
+        portsc =3D readl(&dbgp->ehci_regs->port_status[port - 1]);
+        if (!(portsc & PORT_RESET))
+            break;
+    }
+
+    if ( portsc & PORT_RESET )
+    {
+        /* force reset to complete */
+        unsigned int loop =3D 100 * 1000;
+
+        writel(portsc & ~(PORT_RWC_BITS | PORT_RESET),
+               &dbgp->ehci_regs->port_status[port - 1]);
+        do {
+            udelay(1);
+            portsc =3D readl(&dbgp->ehci_regs->port_status[port-1]);
+        } while ( (portsc & PORT_RESET) && --loop );
+    }
+
+    /* Device went away? */
+    if ( !(portsc & PORT_CONNECT) )
+        return -ENOTCONN;
+
+    /* bomb out completely if something weird happened */
+    if ( portsc & PORT_CSC )
+        return -EINVAL;
+
+    /* If we've finished resetting, then break out of the loop */
+    if ( !(portsc & PORT_RESET) && (portsc & PORT_PE) )
+        return 0;
+
+    return -EBUSY;
+}
+
+static int ehci_wait_for_port(struct ehci_dbgp *dbgp, unsigned int port)
+{
+    u32 status;
+    unsigned int reps;
+
+    for ( reps =3D 0; reps < 300; reps++ )
+    {
+        status =3D readl(&dbgp->ehci_regs->status);
+        if ( status & STS_PCD )
+            break;
+        dbgp_mdelay(1);
+    }
+
+    return ehci_reset_port(dbgp, port) =3D=3D 0 ? 0 : -ENOTCONN;
+}
+
+/* Return 0 on success
+ * Return -ENODEV for any general failure
+ * Return -EIO if wait for port fails
+ */
+static int ehci_dbgp_external_startup(struct ehci_dbgp *dbgp)
+{
+    unsigned int devnum;
+    struct usb_debug_descriptor dbgp_desc;
+    int ret;
+    u32 ctrl, portsc, cmd;
+    unsigned int dbg_port =3D dbgp->phys_port;
+    unsigned int tries =3D 3;
+    unsigned int reset_port_tries =3D 1;
+    bool_t try_hard_once =3D 1;
+
+try_port_reset_again:
+    ret =3D ehci_dbgp_startup(dbgp);
+    if ( ret )
+        return ret;
+
+    /* Wait for a device to show up in the debug port */
+    ret =3D ehci_wait_for_port(dbgp, dbg_port);
+    if ( ret < 0 )
+    {
+        portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - 1]);
+        if ( !(portsc & PORT_CONNECT) && try_hard_once )
+        {
+            /*
+             * Last ditch effort to try to force enable the debug device =
by
+             * using the packet test EHCI command to try and wake it up.
+             */
+            try_hard_once =3D 0;
+            cmd =3D readl(&dbgp->ehci_regs->command);
+            cmd &=3D ~CMD_RUN;
+            writel(cmd, &dbgp->ehci_regs->command);
+            portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - =
1]);
+            portsc |=3D PORT_TEST_PKT;
+            writel(portsc, &dbgp->ehci_regs->port_status[dbg_port - 1]);
+            ehci_dbgp_status(dbgp, "Trying to force debug port online");
+            mdelay(50);
+            ehci_dbgp_controller_reset(dbgp);
+            goto try_port_reset_again;
+        }
+        else if ( reset_port_tries-- )
+            goto try_port_reset_again;
+        dbgp_printk("no device found in debug port\n");
+        return -EIO;
+    }
+    ehci_dbgp_status(dbgp, "wait for port done");
+
+    /* Enable the debug port */
+    ctrl =3D readl(&dbgp->ehci_debug->control);
+    ctrl |=3D DBGP_CLAIM;
+    writel(ctrl, &dbgp->ehci_debug->control);
+    ctrl =3D readl(&dbgp->ehci_debug->control);
+    if ( (ctrl & DBGP_CLAIM) !=3D DBGP_CLAIM )
+    {
+        dbgp_printk("no device in debug port\n");
+        writel(ctrl & ~DBGP_CLAIM, &dbgp->ehci_debug->control);
+        return -ENODEV;
+    }
+    ehci_dbgp_status(dbgp, "debug port enabled");
+
+    /* Completely transfer the debug device to the debug controller */
+    portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - 1]);
+    portsc &=3D ~PORT_PE;
+    writel(portsc, &dbgp->ehci_regs->port_status[dbg_port - 1]);
+
+    dbgp_mdelay(100);
+
+try_again:
+    /* Find the debug device and make it device number 127 */
+    for ( devnum =3D 0; devnum <=3D 127; devnum++ )
+    {
+        ret =3D dbgp_control_msg(dbgp, devnum,
+                               USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_=
DEVICE,
+                               USB_REQ_GET_DESCRIPTOR, (USB_DT_DEBUG << =
8), 0,
+                               &dbgp_desc, sizeof(dbgp_desc));
+        if ( ret > 0 )
+            break;
+    }
+    if ( devnum > 127 )
+    {
+        dbgp_printk("could not find attached debug device\n");
+        goto err;
+    }
+    if ( ret < 0 )
+    {
+        dbgp_printk("attached device is not a debug device\n");
+        goto err;
+    }
+    dbgp->out.endpoint =3D dbgp_desc.bDebugOutEndpoint;
+    dbgp->in.endpoint =3D dbgp_desc.bDebugInEndpoint;
+
+    /* Move the device to 127 if it isn't already there. */
+    if ( devnum !=3D USB_DEBUG_DEVNUM )
+    {
+        ret =3D dbgp_control_msg(dbgp, devnum,
+                               USB_DIR_OUT | USB_TYPE_STANDARD | =
USB_RECIP_DEVICE,
+                               USB_REQ_SET_ADDRESS, USB_DEBUG_DEVNUM, 0, =
NULL, 0);
+        if ( ret < 0 )
+        {
+            dbgp_printk("could not move attached device to %d\n",
+                        USB_DEBUG_DEVNUM);
+            goto err;
+        }
+        devnum =3D USB_DEBUG_DEVNUM;
+        dbgp_printk("debug device renamed to 127\n");
+    }
+
+    /* Enable the debug interface */
+    ret =3D dbgp_control_msg(dbgp, USB_DEBUG_DEVNUM,
+                           USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEV=
ICE,
+                           USB_REQ_SET_FEATURE, USB_DEVICE_DEBUG_MODE,
+                           0, NULL, 0);
+    if ( ret < 0 )
+    {
+        dbgp_printk("could not enable the debug device\n");
+        goto err;
+    }
+    dbgp_printk("debug interface enabled\n");
+
+    /* Perform a small write to get the even/odd data state in sync. */
+    ret =3D dbgp_bulk_write(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoint,
+                          "\n", 1, &ctrl);
+    if ( !ret )
+        ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);
+    if ( ret < 0 )
+    {
+        dbgp_printk("dbgp_bulk_write failed: %d\n", ret);
+        goto err;
+    }
+    dbgp_printk("small write done\n");
+    dbgp->state =3D dbgp_idle;
+
+    return 0;
+err:
+    if ( tries-- )
+        goto try_again;
+    return -ENODEV;
+}
+
+typedef void (*set_debug_port_t)(struct ehci_dbgp *, unsigned int);
+
+static void default_set_debug_port(struct ehci_dbgp *dbgp, unsigned int =
port)
+{
+}
+
+static set_debug_port_t __read_mostly set_debug_port =3D default_set_debug=
_port;
+
+static void nvidia_set_debug_port(struct ehci_dbgp *dbgp, unsigned int =
port)
+{
+    u32 dword =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, =
0x74);
+
+    dword &=3D ~(0x0f << 12);
+    dword |=3D (port & 0x0f) << 12;
+    pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, 0x74, dword);
+    dbgp_printk("set debug port to %u\n", port);
+}
+
+static void __init detect_set_debug_port(struct ehci_dbgp *dbgp)
+{
+    if ( pci_conf_read16(0, dbgp->bus, dbgp->slot, dbgp->func,
+                         PCI_VENDOR_ID) =3D=3D 0x10de )
+    {
+        dbgp_printk("using nvidia set_debug_port\n");
+        set_debug_port =3D nvidia_set_debug_port;
+    }
+}
+
+/*
+ * The code in ehci_dbgp_bios_handoff() is derived from the USB PCI
+ * quirk initialization in Linux.
+ */
+#define EHCI_USBLEGSUP_BIOS    (1 << 16) /* BIOS semaphore */
+#define EHCI_USBLEGCTLSTS      4        /* legacy control/status */
+static void ehci_dbgp_bios_handoff(struct ehci_dbgp *dbgp, u32 hcc_params)=

+{
+    u32 cap;
+    unsigned int offset =3D HCC_EXT_CAPS(hcc_params);
+    int msec;
+
+    if ( !offset )
+        return;
+
+    cap =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, =
offset);
+    dbgp_printk("dbgp: EHCI BIOS state %08x\n", cap);
+
+    if ( (cap & 0xff) =3D=3D 1 && (cap & EHCI_USBLEGSUP_BIOS) )
+    {
+        dbgp_printk("dbgp: BIOS handoff\n");
+        pci_conf_write8(0, dbgp->bus, dbgp->slot, dbgp->func, offset + 3, =
1);
+    }
+
+    /* if boot firmware now owns EHCI, spin till it hands it over. */
+    msec =3D 1000;
+    while ( (cap & EHCI_USBLEGSUP_BIOS) && (msec > 0) )
+    {
+        mdelay(10);
+        msec -=3D 10;
+        cap =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, =
offset);
+    }
+
+    if ( cap & EHCI_USBLEGSUP_BIOS )
+    {
+        /* well, possibly buggy BIOS... try to shut it down,
+         * and hope nothing goes too wrong */
+        dbgp_printk("dbgp: BIOS handoff failed: %08x\n", cap);
+        pci_conf_write8(0, dbgp->bus, dbgp->slot, dbgp->func, offset + 2, =
0);
+    }
+
+    /* just in case, always disable EHCI SMIs */
+    pci_conf_write8(0, dbgp->bus, dbgp->slot, dbgp->func,
+                    offset + EHCI_USBLEGCTLSTS, 0);
+}
+
+static int ehci_dbgp_setup(struct ehci_dbgp *dbgp)
+{
+    u32 ctrl, portsc, hcs_params;
+    unsigned int i, debug_port, new_debug_port =3D 0, n_ports;
+    unsigned int port_map_tried, playtimes =3D 3;
+    int ret;
+
+    ehci_dbgp_bios_handoff(dbgp, readl(&dbgp->ehci_caps->hcc_params));
+
+try_next_time:
+    port_map_tried =3D 0;
+
+try_next_port:
+
+    hcs_params =3D readl(&dbgp->ehci_caps->hcs_params);
+    debug_port =3D HCS_DEBUG_PORT(hcs_params);
+    dbgp->phys_port =3D debug_port;
+    n_ports =3D HCS_N_PORTS(hcs_params);
+
+    dbgp_printk("debug_port: %u\n", debug_port);
+    dbgp_printk("n_ports:    %u\n", n_ports);
+    ehci_dbgp_status(dbgp, "");
+
+    for ( i =3D 1; i <=3D n_ports; i++ )
+    {
+        portsc =3D readl(&dbgp->ehci_regs->port_status[i-1]);
+        dbgp_printk("portstatus%d: %08x\n", i, portsc);
+    }
+
+    if ( port_map_tried && (new_debug_port !=3D debug_port) )
+    {
+        if ( --playtimes )
+        {
+            set_debug_port(dbgp, new_debug_port);
+            goto try_next_time;
+        }
+        return -1;
+    }
+
+    /* Only reset the controller if it is not already in the
+     * configured state */
+    if ( readl(&dbgp->ehci_regs->configured_flag) & FLAG_CF )
+        ehci_dbgp_status(dbgp, "ehci skip - already configured");
+    else if ( ehci_dbgp_controller_reset(dbgp) !=3D 0 )
+        return -1;
+
+    ret =3D ehci_dbgp_external_startup(dbgp);
+    if (ret =3D=3D -EIO)
+        goto next_debug_port;
+
+    if ( ret < 0 )
+    {
+        /* Things didn't work so remove my claim */
+        ctrl =3D readl(&dbgp->ehci_debug->control);
+        ctrl &=3D ~(DBGP_CLAIM | DBGP_OUT);
+        writel(ctrl, &dbgp->ehci_debug->control);
+        return -1;
+    }
+
+    return 0;
+
+next_debug_port:
+    port_map_tried |=3D 1 << (debug_port - 1);
+    new_debug_port =3D (debug_port % n_ports) + 1;
+    if ( port_map_tried !=3D ((1 << n_ports) - 1) )
+    {
+        set_debug_port(dbgp, new_debug_port);
+        goto try_next_port;
+    }
+    if ( --playtimes )
+    {
+        set_debug_port(dbgp, new_debug_port);
+        goto try_next_time;
+    }
+
+    return -1;
+}
+
+static inline void _ehci_dbgp_flush(struct ehci_dbgp *dbgp)
+{
+    if ( dbgp_bulk_write(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoint,
+                         dbgp->out.buf, dbgp->out.chunk, NULL) )
+        BUG();
+    dbgp->out.chunk =3D 0;
+}
+
+static void ehci_dbgp_flush(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+    s_time_t goal;
+
+    if ( !dbgp->out.chunk || !dbgp->ehci_debug || dbgp->state =3D=3D =
dbgp_unsafe )
+        return;
+
+    if ( dbgp->state =3D=3D dbgp_idle || !port->sync )
+        dbgp_check_for_completion(dbgp, 1, NULL);
+    else
+        dbgp_wait_until_complete(dbgp, NULL);
+
+    if ( dbgp->state =3D=3D dbgp_idle )
+    {
+        _ehci_dbgp_flush(dbgp);
+
+        if ( port->sync )
+        {
+            dbgp_wait_until_complete(dbgp, NULL);
+            return;
+        }
+    }
+
+    goal =3D NOW() + MICROSECS(DBGP_CHECK_INTERVAL);
+    if ( dbgp->timer.expires > goal )
+       set_timer(&dbgp->timer, goal);
+}
+
+static void ehci_dbgp_putc(struct serial_port *port, char c)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( unlikely(dbgp->out.chunk >=3D DBGP_MAX_PACKET) )
+        return;
+
+    dbgp->out.buf[dbgp->out.chunk++] =3D c;
+
+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )
+        ehci_dbgp_flush(port);
+}
+
+static int ehci_dbgp_tx_empty(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( unlikely(!dbgp->ehci_debug) || unlikely(dbgp->state =3D=3D =
dbgp_unsafe) )
+        return port->sync || port->tx_log_everything || !port->txbuf;
+
+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )
+        ehci_dbgp_flush(port);
+    else
+        dbgp_check_for_completion(dbgp, 1, NULL);
+
+    if ( dbgp->state !=3D dbgp_idle && dbgp->out.chunk >=3D DBGP_MAX_PACKE=
T )
+        return 0;
+
+    port->tx_fifo_size =3D DBGP_MAX_PACKET - dbgp->out.chunk;
+    if ( dbgp->state =3D=3D dbgp_idle )
+        port->tx_fifo_size +=3D DBGP_MAX_PACKET;
+
+    return 1;
+}
+
+static int ehci_dbgp_getc(struct serial_port *port, char *pc)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->in.chunk )
+        return 0;
+
+    *pc =3D *dbgp->in.buf;
+    if ( --dbgp->in.chunk )
+        memmove(dbgp->in.buf, dbgp->in.buf + 1, dbgp->in.chunk);
+
+    return 1;
+}
+
+/* Safe: ehci_dbgp_poll() runs as timer handler, so not reentrant. */
+static struct serial_port *poll_port;
+
+static void _ehci_dbgp_poll(struct cpu_user_regs *regs)
+{
+    struct serial_port *port =3D poll_port;
+    struct ehci_dbgp *dbgp =3D port->uart;
+    unsigned long flags;
+    unsigned int timeout =3D MICROSECS(DBGP_CHECK_INTERVAL);
+    bool_t empty =3D 0;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    if ( spin_trylock_irqsave(&port->tx_lock, flags) )
+    {
+        if ( dbgp->state !=3D dbgp_unsafe )
+            dbgp_check_for_completion(dbgp, DBGP_CHECK_INTERVAL, NULL);
+        if ( dbgp->state =3D=3D dbgp_idle && dbgp->out.chunk )
+            _ehci_dbgp_flush(dbgp);
+        if ( dbgp->state =3D=3D dbgp_idle || dbgp->out.chunk < DBGP_MAX_PA=
CKET )
+            empty =3D 1;
+        spin_unlock_irqrestore(&port->tx_lock, flags);
+    }
+
+    if ( dbgp->in.chunk )
+        serial_rx_interrupt(port, regs);
+
+    if ( empty )
+        serial_tx_interrupt(port, regs);
+
+    if ( spin_trylock_irqsave(&port->tx_lock, flags) )
+    {
+        if ( dbgp->state =3D=3D dbgp_idle && !dbgp->in.chunk &&
+             !dbgp->out.chunk && port->txbufp =3D=3D port->txbufc )
+        {
+            if ( dbgp_bulk_read(dbgp, USB_DEBUG_DEVNUM, dbgp->in.endpoint,=

+                                DBGP_MAX_PACKET, NULL) )
+                BUG();
+            timeout =3D MILLISECS(DBGP_IDLE_INTERVAL);
+        }
+        spin_unlock_irqrestore(&port->tx_lock, flags);
+    }
+
+    set_timer(&dbgp->timer, NOW() + timeout);
+}
+
+static void ehci_dbgp_poll(void *data)
+{
+    poll_port =3D data;
+#ifdef run_in_exception_handler
+    run_in_exception_handler(_ehci_dbgp_poll);
+#else
+    _ehci_dbgp_poll(guest_cpu_user_regs());
+#endif
+}
+
+static bool_t ehci_dbgp_setup_preirq(struct ehci_dbgp *dbgp)
+{
+    if ( !ehci_dbgp_setup(dbgp) )
+        return 1;
+
+    dbgp_printk("ehci_dbgp_setup failed\n");
+    dbgp->ehci_debug =3D NULL;
+    return 0;
+}
+
+static void __init ehci_dbgp_init_preirq(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+    u32 debug_port, offset;
+    void __iomem *ehci_bar;
+
+    debug_port =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,
+                                 dbgp->cap);
+    offset =3D (debug_port >> 16) & 0xfff;
+
+    /* double check if the mem space is enabled */
+    dbgp->pci_cr =3D pci_conf_read8(0, dbgp->bus, dbgp->slot, dbgp->func,
+                                  PCI_COMMAND);
+    if ( !(dbgp->pci_cr & PCI_COMMAND_MEMORY) )
+    {
+        dbgp->pci_cr |=3D PCI_COMMAND_MEMORY;
+        pci_conf_write16(0, dbgp->bus, dbgp->slot, dbgp->func, PCI_COMMAND=
,
+                         dbgp->pci_cr);
+        dbgp_printk("MMIO for EHCI enabled\n");
+    }
+
+    /*
+     * FIXME I don't have the bar size so just guess PAGE_SIZE is more
+     * than enough.  1k is the biggest that was seen.
+     */
+    set_fixmap_nocache(FIX_EHCI_DBGP, dbgp->bar_val);
+    ehci_bar =3D (void __iomem *)fix_to_virt(FIX_EHCI_DBGP);
+    ehci_bar +=3D dbgp->bar_val & ~PAGE_MASK;
+    dbgp_printk("ehci_bar: %p\n", ehci_bar);
+
+    dbgp->ehci_caps =3D ehci_bar;
+    dbgp->ehci_regs =3D ehci_bar +
+                      HC_LENGTH(readl(&dbgp->ehci_caps->hc_capbase));
+    dbgp->ehci_debug =3D ehci_bar + offset;
+
+    detect_set_debug_port(dbgp);
+
+    if ( ehci_dbgp_setup_preirq(dbgp) )
+        ehci_dbgp_status(dbgp, "ehci_dbgp_init_preirq complete");
+
+    port->tx_fifo_size =3D DBGP_MAX_PACKET;
+    dbgp->lock =3D &port->tx_lock;
+}
+
+static void ehci_dbgp_setup_postirq(struct ehci_dbgp *dbgp)
+{
+    set_timer(&dbgp->timer, NOW() + MILLISECS(1));
+}
+
+static void __init ehci_dbgp_init_postirq(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    serial_async_transmit(port);
+
+    init_timer(&dbgp->timer, ehci_dbgp_poll, port, 0);
+
+    ehci_dbgp_setup_postirq(dbgp);
+}
+
+static int ehci_dbgp_check_release(struct ehci_dbgp *dbgp)
+{
+    struct ehci_dbg_port __iomem *ehci_debug =3D dbgp->ehci_debug;
+    u32 ctrl;
+    unsigned int i;
+
+    if ( !ehci_debug )
+        return 0;
+
+    for ( i =3D 0; i < DBGP_MAX_PACKET; ++i )
+        if ( dbgp->out.buf[i] )
+            return 1;
+
+    /*
+     * This means the console is not initialized, or should get shutdown
+     * so as to allow for reuse of the USB device, which means it is time
+     * to shutdown the USB debug port.
+     */
+    printk(XENLOG_INFO "Releasing EHCI debug port at %02x:%02x.%u\n",
+           dbgp->bus, dbgp->slot, dbgp->func);
+
+    kill_timer(&dbgp->timer);
+    dbgp->ehci_debug =3D NULL;
+
+    ctrl =3D readl(&ehci_debug->control);
+    if ( ctrl & DBGP_ENABLED )
+    {
+        ctrl &=3D ~DBGP_CLAIM;
+        writel(ctrl, &ehci_debug->control);
+    }
+
+    return 0;
+}
+
+static void __init ehci_dbgp_endboot(struct serial_port *port)
+{
+    ehci_dbgp_check_release(port->uart);
+}
+
+static void ehci_dbgp_suspend(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    stop_timer(&dbgp->timer);
+    dbgp->timer.expires =3D 0;
+
+    dbgp->pci_cr =3D pci_conf_read16(0, dbgp->bus, dbgp->slot, dbgp->func,=

+                                   PCI_COMMAND);
+
+    dbgp->state =3D dbgp_unsafe;
+}
+
+static void ehci_dbgp_resume(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, dbgp->bar,
+                     dbgp->bar_val);
+    pci_conf_write16(0, dbgp->bus, dbgp->slot, dbgp->func,
+                     PCI_COMMAND, dbgp->pci_cr);
+
+    ehci_dbgp_setup_preirq(dbgp);
+    ehci_dbgp_setup_postirq(dbgp);
+}
+
+static struct uart_driver __read_mostly ehci_dbgp_driver =3D {
+    .init_preirq  =3D ehci_dbgp_init_preirq,
+    .init_postirq =3D ehci_dbgp_init_postirq,
+    .endboot      =3D ehci_dbgp_endboot,
+    .suspend      =3D ehci_dbgp_suspend,
+    .resume       =3D ehci_dbgp_resume,
+    .tx_empty     =3D ehci_dbgp_tx_empty,
+    .putc         =3D ehci_dbgp_putc,
+    .flush        =3D ehci_dbgp_flush,
+    .getc         =3D ehci_dbgp_getc
+};
+
+static struct ehci_dbgp ehci_dbgp =3D { .state =3D dbgp_unsafe, .phys_port=
 =3D 1 };
+
+static char __initdata opt_dbgp[30];
+string_param("dbgp", opt_dbgp);
+
+void __init ehci_dbgp_init(void)
+{
+    struct ehci_dbgp *dbgp =3D &ehci_dbgp;
+    u32 debug_port, offset, bar_val;
+    const char *e;
+
+    if ( strncmp(opt_dbgp, "ehci", 4) )
+        return;
+
+    if ( isdigit(opt_dbgp[4]) || !opt_dbgp[4] )
+    {
+        unsigned int num =3D 0;
+
+        if ( opt_dbgp[4] )
+            simple_strtoul(opt_dbgp + 4, &e, 10);
+
+        dbgp->cap =3D find_dbgp(dbgp, num);
+        if ( !dbgp->cap )
+            return;
+
+        dbgp_printk("Found EHCI debug port on %02x:%02x.%u\n",
+                    dbgp->bus, dbgp->slot, dbgp->func);
+    }
+    else if ( strncmp(opt_dbgp + 4, "@pci", 4) =3D=3D 0 )
+    {
+        unsigned long val =3D simple_strtoul(opt_dbgp + 8, &e, 16);
+
+        dbgp->bus =3D val;
+        if ( dbgp->bus !=3D val || *e !=3D ':' )
+            return;
+
+        val =3D simple_strtoul(e + 1, &e, 16);
+        if ( PCI_SLOT(PCI_DEVFN(val, 0)) !=3D val || *e !=3D '.' )
+            return;
+        dbgp->slot =3D val;
+
+        val =3D simple_strtoul(e + 1, &e, 16);
+        if ( PCI_FUNC(PCI_DEVFN(0, val)) !=3D val || *e )
+            return;
+        dbgp->func =3D val;
+
+        if ( !pci_device_detect(0, dbgp->bus, dbgp->slot, dbgp->func) )
+            return;
+
+        dbgp->cap =3D __find_dbgp(dbgp->bus, dbgp->slot, dbgp->func);
+        if ( !dbgp->cap )
+            return;
+
+        dbgp_printk("Using EHCI debug port on %02x:%02x.%u\n",
+                    dbgp->bus, dbgp->slot, dbgp->func);
+    }
+    else
+        return;
+
+    debug_port =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,
+                                 dbgp->cap);
+    dbgp->bar =3D (debug_port >> 29) & 0x7;
+    dbgp->bar =3D ((dbgp->bar - 1) * 4) + PCI_BASE_ADDRESS_0;
+    offset =3D (debug_port >> 16) & 0xfff;
+    dbgp_printk("bar: %02x offset: %03x\n", dbgp->bar, offset);
+    if ( dbgp->bar < PCI_BASE_ADDRESS_0 || dbgp->bar > PCI_BASE_ADDRESS_5 =
)
+    {
+        dbgp_printk("unsupported/invalid bar\n");
+        return;
+    }
+
+    dbgp->bar_val =3D bar_val =3D pci_conf_read32(0, dbgp->bus, dbgp->slot=
,
+                                              dbgp->func, dbgp->bar);
+    dbgp_printk("bar_val: %08x\n", bar_val);
+    if ( bar_val & ~PCI_BASE_ADDRESS_MEM_MASK )
+    {
+        dbgp_printk("only simple 32-bit MMIO BARs supported\n");
+        return;
+    }
+    bar_val &=3D PCI_BASE_ADDRESS_MEM_MASK;
+    if ( !bar_val || !(bar_val + (bar_val & -bar_val)) )
+    {
+        dbgp_printk("firmware initialization of MMIO BAR required\n");
+        return;
+    }
+
+    serial_register_uart(SERHND_DBGP, &ehci_dbgp_driver, dbgp);
+}
+
+int dbgp_op(const struct physdev_dbgp_op *op)
+{
+    if ( !ehci_dbgp.ehci_debug )
+        return 0;
+
+    switch ( op->bus )
+    {
+    case PHYSDEVOP_DBGP_BUS_UNKNOWN:
+        break;
+    case PHYSDEVOP_DBGP_BUS_PCI:
+        if ( op->u.pci.seg || ehci_dbgp.bus !=3D op->u.pci.bus ||
+            PCI_DEVFN(ehci_dbgp.slot, ehci_dbgp.func) !=3D op->u.pci.devfn=
 )
+    default:
+            return 0;
+        break;
+    }
+
+    switch ( op->op )
+    {
+    case PHYSDEVOP_DBGP_RESET_PREPARE:
+        spin_lock_irq(ehci_dbgp.lock);
+        ehci_dbgp.state =3D dbgp_unsafe;
+        dbgp_wait_until_complete(&ehci_dbgp, NULL);
+        spin_unlock_irq(ehci_dbgp.lock);
+
+        return ehci_dbgp_check_release(&ehci_dbgp);
+
+    case PHYSDEVOP_DBGP_RESET_DONE:
+        return ehci_dbgp_external_startup(&ehci_dbgp) ?: 1;
+    }
+
+    return -ENOSYS;
+}
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -265,6 +265,14 @@ int __init serial_parse_handle(char *con
 {
     int handle;
=20
+    if ( !strncmp(conf, "dbgp", 4) && (!conf[4] || conf[4] =3D=3D ',') )
+    {
+        if ( !com[SERHND_DBGP].driver )
+            goto fail;
+
+        return SERHND_DBGP | SERHND_COOKED;
+    }
+
     if ( strncmp(conf, "com", 3) )
         goto fail;
=20
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -36,7 +36,15 @@
  * from the end of virtual memory backwards.
  */
 enum fixed_addresses {
-    FIX_RESERVED, /* Index 0 is reserved since fix_to_virt(0) > FIXADDR_TO=
P. */
+    /* Index 0 is reserved since fix_to_virt(0) =3D=3D FIXADDR_TOP. */
+    FIX_RESERVED,
+    /*
+     * Indexes using the page tables set up before entering __start_xen()
+     * must be among the first (L1_PAGETABLE_ENTRIES - 1) entries.
+     * These are generally those needed by the various console drivers.
+     */
+    FIX_EHCI_DBGP,
+    /* Everything else should go further down. */
 #ifdef __i386__
     FIX_PAE_HIGHMEM_0,
     FIX_PAE_HIGHMEM_END =3D FIX_PAE_HIGHMEM_0 + NR_CPUS-1,
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -312,6 +312,24 @@ struct physdev_pci_device {
 typedef struct physdev_pci_device physdev_pci_device_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_t);
=20
+#define PHYSDEVOP_DBGP_RESET_PREPARE    1
+#define PHYSDEVOP_DBGP_RESET_DONE       2
+
+#define PHYSDEVOP_DBGP_BUS_UNKNOWN      0
+#define PHYSDEVOP_DBGP_BUS_PCI          1
+
+#define PHYSDEVOP_dbgp_op               29
+struct physdev_dbgp_op {
+    /* IN */
+    uint8_t op;
+    uint8_t bus;
+    union {
+        struct physdev_pci_device pci;
+    } u;
+};
+typedef struct physdev_dbgp_op physdev_dbgp_op_t;
+DEFINE_XEN_GUEST_HANDLE(physdev_dbgp_op_t);
+
 /*
  * Notify that some PIRQ-bound event channels have been unmasked.
  * ** This command is obsolete since interface version 0x00030202 and is =
**
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -69,9 +69,10 @@ struct uart_driver {
 };
=20
 /* 'Serial handles' are composed from the following fields. */
-#define SERHND_IDX      (3<<0) /* COM1 or COM2?                           =
*/
+#define SERHND_IDX      (3<<0) /* COM1, COM2, or DBGP?                    =
*/
 # define SERHND_COM1    (0<<0)
 # define SERHND_COM2    (1<<0)
+# define SERHND_DBGP    (2<<0)
 #define SERHND_HI       (1<<2) /* Mux/demux each transferred char by MSB. =
*/
 #define SERHND_LO       (1<<3) /* Ditto, except that the MSB is cleared.  =
*/
 #define SERHND_COOKED   (1<<4) /* Newline/carriage-return translation?    =
*/
@@ -142,9 +143,13 @@ struct ns16550_defaults {
     unsigned long io_base; /* default io_base address */
 };
 void ns16550_init(int index, struct ns16550_defaults *defaults);
+void ehci_dbgp_init(void);
=20
 void pl011_init(int index, unsigned long register_base_address);
=20
+struct physdev_dbgp_op;
+int dbgp_op(const struct physdev_dbgp_op *);
+
 /* Baud rate was pre-configured before invoking the UART driver. */
 #define BAUD_AUTO (-1)
=20



--=__Part3C12C094.0__=
Content-Type: text/plain; name="sercon-ehci-dbgp.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ehci-dbgp.patch"

console: add EHCI debug port based serial console=0A=0ALow level hardware =
interface pieces adapted from Linux.=0A=0AFor setup information, see =
Linux'es Documentation/x86/earlyprintk.txt=0Aand/or http://www.coreboot.org=
/EHCI_Debug_Port.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/docs/misc/xen-command-line.markdown=0A+++ b/docs/misc/xen-command-lin=
e.markdown=0A@@ -201,7 +201,7 @@ A typical setup for most situations =
migh=0A Specify the size of the console ring buffer.=0A =0A ### console=0A-=
> `=3D List of [ vga | com1[H,L] | com2[H,L] | none ]`=0A+> `=3D List of [ =
vga | com1[H,L] | com2[H,L] | dbgp | none ]`=0A =0A > Default: `console=3Dc=
om1,vga`=0A =0A@@ -217,6 +217,8 @@ the converse; transmitted and received =
c=0A cleared.  This allows a single port to be shared by two subsystems=0A =
(e.g. console and debugger).=0A =0A+`dbgp` indicates that Xen should use a =
USB debug port.=0A+=0A `none` indicates that Xen should not use a console. =
 This option only=0A makes sense on its own.=0A =0A@@ -272,6 +274,12 @@ =
combination with the `low_crashinfo` com=0A ### credit2\_balance\_over=0A =
### credit2\_balance\_under=0A ### credit2\_load\_window\_shift=0A+### =
dbgp=0A+> `=3D ehci[ <integer> | @pci<bus>:<slot>.<func> ]`=0A+=0A+Specify =
the USB controller to use, either by instance number (when going=0A+over =
the PCI busses sequentially) or by PCI device (must be on segment =
0).=0A+=0A ### debug\_stack\_lines=0A ### debug\_stack\_lines=0A ### =
debugtrace=0A--- a/xen/arch/x86/Rules.mk=0A+++ b/xen/arch/x86/Rules.mk=0A@@=
 -7,6 +7,7 @@ HAS_CPUFREQ :=3D y=0A HAS_PCI :=3D y=0A HAS_PASSTHROUGH :=3D =
y=0A HAS_NS16550 :=3D y=0A+HAS_EHCI :=3D y=0A HAS_KEXEC :=3D y=0A xenoprof =
:=3D y=0A =0A--- a/xen/arch/x86/physdev.c=0A+++ b/xen/arch/x86/physdev.c=0A=
@@ -8,6 +8,7 @@=0A #include <xen/event.h>=0A #include <xen/guest_access.h>=
=0A #include <xen/iocap.h>=0A+#include <xen/serial.h>=0A #include =
<asm/current.h>=0A #include <asm/io_apic.h>=0A #include <asm/msi.h>=0A@@ =
-719,6 +720,19 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H=0A         =
rcu_unlock_domain(d);=0A         break;=0A     }=0A+=0A+    case PHYSDEVOP_=
dbgp_op: {=0A+        struct physdev_dbgp_op op;=0A+=0A+        if ( =
!IS_PRIV(v->domain) )=0A+            ret =3D -EPERM;=0A+        else if ( =
copy_from_guest(&op, arg, 1) )=0A+            ret =3D -EFAULT;=0A+        =
else=0A+            ret =3D dbgp_op(&op);=0A+        break;=0A+    =
}=0A+=0A     default:=0A         ret =3D -ENOSYS;=0A         break;=0A--- =
a/xen/arch/x86/setup.c=0A+++ b/xen/arch/x86/setup.c=0A@@ -603,6 +603,7 @@ =
void __init __start_xen(unsigned long mb=0A     ns16550.io_base =3D =
0x2f8;=0A     ns16550.irq     =3D 3;=0A     ns16550_init(1, &ns16550);=0A+ =
   ehci_dbgp_init();=0A     console_init_preirq();=0A =0A     printk("Bootl=
oader: %s\n", loader);=0A--- a/xen/drivers/char/Makefile=0A+++ b/xen/driver=
s/char/Makefile=0A@@ -1,4 +1,5 @@=0A obj-y +=3D console.o=0A obj-$(HAS_NS16=
550) +=3D ns16550.o=0A obj-$(HAS_PL011) +=3D pl011.o=0A+obj-$(HAS_EHCI) =
+=3D ehci-dbgp.o=0A obj-y +=3D serial.o=0A--- /dev/null=0A+++ b/xen/drivers=
/char/ehci-dbgp.c=0A@@ -0,0 +1,1577 @@=0A+/*=0A+ * Standalone EHCI USB =
debug driver=0A+ *=0A+ * Hardware interface code based on the respective =
early console driver in=0A+ * Linux; see the Linux source for authorship =
and copyrights.=0A+ */=0A+=0A+#include <xen/config.h>=0A+#include =
<xen/console.h>=0A+#include <xen/delay.h>=0A+#include <xen/errno.h>=0A+#inc=
lude <xen/pci.h>=0A+#include <xen/serial.h>=0A+#include <asm/byteorder.h>=
=0A+#include <asm/io.h>=0A+#include <asm/fixmap.h>=0A+#include <public/phys=
dev.h>=0A+=0A+/* #define DBGP_DEBUG */=0A+=0A+/* EHCI register interface, =
corresponds to EHCI Revision 0.95 specification */=0A+=0A+/* Section 2.2 =
Host Controller Capability Registers */=0A+struct ehci_caps {=0A+    =
/*=0A+     * These fields are specified as 8 and 16 bit registers,=0A+     =
* but some hosts can't perform 8 or 16 bit PCI accesses.=0A+     * some =
hosts treat caplength and hciversion as parts of a 32-bit=0A+     * =
register, others treat them as two separate registers, this=0A+     * =
affects the memory map for big endian controllers.=0A+     */=0A+    u32 =
hc_capbase;=0A+#define HC_LENGTH(p)      (0x00ff & (p)) /* bits 7:0 / =
offset 0x00 */=0A+#define HC_VERSION(p)     (0xffff & ((p) >> 16)) /* bits =
31:16 / offset 0x02 */=0A+=0A+    u32 hcs_params;       /* HCSPARAMS - =
offset 0x04 */=0A+#define HCS_DEBUG_PORT(p) (((p) >> 20) & 0xf) /* bits =
23:20, debug port? */=0A+#define HCS_INDICATOR(p)  ((p) & (1 << 16))   /* =
true: has port indicators */=0A+#define HCS_N_CC(p)       (((p) >> 12) & =
0xf) /* bits 15:12, #companion HCs */=0A+#define HCS_N_PCC(p)      (((p) =
>> 8) & 0xf)  /* bits 11:8, ports per CC */=0A+#define HCS_PORTROUTED(p) =
((p) & (1 << 7))    /* true: port routing */=0A+#define HCS_PPC(p)        =
((p) & (1 << 4))    /* true: port power control */=0A+#define HCS_N_PORTS(p=
)    (((p) >> 0) & 0xf)  /* bits 3:0, ports on HC */=0A+=0A+    u32 =
hcc_params;       /* HCCPARAMS - offset 0x08 */=0A+/* EHCI 1.1 addendum =
*/=0A+#define HCC_32FRAME_PERIODIC_LIST(p) ((p) & (1 << 19))=0A+#define =
HCC_PER_PORT_CHANGE_EVENT(p) ((p) & (1 << 18))=0A+#define HCC_LPM(p)       =
 ((p) & (1 << 17))=0A+#define HCC_HW_PREFETCH(p) ((p) & (1 << 16))=0A+#defi=
ne HCC_EXT_CAPS(p)   (((p) >> 8) & 0xff) /* for pci extended caps =
*/=0A+#define HCC_ISOC_CACHE(p) ((p) & (1 << 7))    /* true: can cache =
isoc frame */=0A+#define HCC_ISOC_THRES(p) (((p) >> 4) & 0x7)  /* bits =
6:4, uframes cached */=0A+#define HCC_CANPARK(p)    ((p) & (1 << 2))    /* =
true: can park on async qh */=0A+#define HCC_PGM_FRAMELISTLEN(p) ((p) & (1 =
<< 1)) /* true: periodic_size changes */=0A+#define HCC_64BIT_ADDR(p) ((p) =
& 1)           /* true: can use 64-bit addr */=0A+=0A+    u8  portroute[8];=
     /* nibbles for routing - offset 0x0C */=0A+};=0A+=0A+/* Section 2.3 =
Host Controller Operational Registers */=0A+struct ehci_regs {=0A+    /* =
USBCMD: offset 0x00 */=0A+    u32 command;=0A+=0A+/* EHCI 1.1 addendum =
*/=0A+#define CMD_HIRD        (0xf << 24) /* host initiated resume =
duration */=0A+#define CMD_PPCEE       (1 << 15)   /* per port change =
event enable */=0A+#define CMD_FSP         (1 << 14)   /* fully synchronize=
d prefetch */=0A+#define CMD_ASPE        (1 << 13)   /* async schedule =
prefetch enable */=0A+#define CMD_PSPE        (1 << 12)   /* periodic =
schedule prefetch enable */=0A+/* 23:16 is r/w intr rate, in microframes; =
default "8" =3D=3D 1/msec */=0A+#define CMD_PARK        (1 << 11)   /* =
enable "park" on async qh */=0A+#define CMD_PARK_CNT(c) (((c) >> 8) & 3) =
/* how many transfers to park for */=0A+#define CMD_LRESET      (1 << 7)   =
 /* partial reset (no ports, etc) */=0A+#define CMD_IAAD        (1 << 6)   =
 /* "doorbell" interrupt async advance */=0A+#define CMD_ASE         (1 << =
5)    /* async schedule enable */=0A+#define CMD_PSE         (1 << 4)    =
/* periodic schedule enable */=0A+/* 3:2 is periodic frame list size =
*/=0A+#define CMD_RESET       (1 << 1)    /* reset HC not bus */=0A+#define=
 CMD_RUN         (1 << 0)    /* start/stop HC */=0A+=0A+    /* USBSTS: =
offset 0x04 */=0A+    u32 status;=0A+#define STS_PPCE_MASK   (0xff << 16) =
/* Per-Port change event 1-16 */=0A+#define STS_ASS         (1 << 15)   /* =
Async Schedule Status */=0A+#define STS_PSS         (1 << 14)   /* =
Periodic Schedule Status */=0A+#define STS_RECL        (1 << 13)   /* =
Reclamation */=0A+#define STS_HALT        (1 << 12)   /* Not running (any =
reason) */=0A+/* some bits reserved */=0A+    /* these STS_* flags are =
also intr_enable bits (USBINTR) */=0A+#define STS_IAA         (1 << 5)    =
/* Interrupted on async advance */=0A+#define STS_FATAL       (1 << 4)    =
/* such as some PCI access errors */=0A+#define STS_FLR         (1 << 3)   =
 /* frame list rolled over */=0A+#define STS_PCD         (1 << 2)    /* =
port change detect */=0A+#define STS_ERR         (1 << 1)    /* "error" =
completion (overflow, ...) */=0A+#define STS_INT         (1 << 0)    /* =
"normal" completion (short, ...) */=0A+=0A+    /* USBINTR: offset 0x08 =
*/=0A+    u32 intr_enable;=0A+=0A+    /* FRINDEX: offset 0x0C */=0A+    =
u32 frame_index;    /* current microframe number */=0A+    /* CTRLDSSEGMENT=
: offset 0x10 */=0A+    u32 segment;    /* address bits 63:32 if needed =
*/=0A+    /* PERIODICLISTBASE: offset 0x14 */=0A+    u32 frame_list;    /* =
points to periodic list */=0A+    /* ASYNCLISTADDR: offset 0x18 */=0A+    =
u32 async_next;    /* address of next async queue head */=0A+=0A+    u32 =
reserved[9];=0A+=0A+    /* CONFIGFLAG: offset 0x40 */=0A+    u32 configured=
_flag;=0A+#define FLAG_CF         (1 << 0)    /* true: we'll support "high =
speed" */=0A+=0A+    /* PORTSC: offset 0x44 */=0A+    u32 port_status[0];  =
  /* up to N_PORTS */=0A+/* EHCI 1.1 addendum */=0A+#define PORTSC_SUSPEND_=
STS_ACK   0=0A+#define PORTSC_SUSPEND_STS_NYET  1=0A+#define PORTSC_SUSPEND=
_STS_STALL 2=0A+#define PORTSC_SUSPEND_STS_ERR   3=0A+=0A+#define =
PORT_DEV_ADDR   (0x7f << 25) /* device address */=0A+#define PORT_SSTS     =
  (0x3 << 23)  /* suspend status */=0A+/* 31:23 reserved */=0A+#define =
PORT_WKOC_E     (1 << 22)    /* wake on overcurrent (enable) */=0A+#define =
PORT_WKDISC_E   (1 << 21)    /* wake on disconnect (enable) */=0A+#define =
PORT_WKCONN_E   (1 << 20)    /* wake on connect (enable) */=0A+/* 19:16 =
for port testing */=0A+#define PORT_TEST(x)    (((x) & 0xf) << 16) /* Port =
Test Control */=0A+#define PORT_TEST_PKT   PORT_TEST(0x4) /* Port Test =
Control - packet test */=0A+#define PORT_TEST_FORCE PORT_TEST(0x5) /* Port =
Test Control - force enable */=0A+#define PORT_LED_OFF    (0 << 14)=0A+#def=
ine PORT_LED_AMBER  (1 << 14)=0A+#define PORT_LED_GREEN  (2 << 14)=0A+#defi=
ne PORT_LED_MASK   (3 << 14)=0A+#define PORT_OWNER      (1 << 13)    /* =
true: companion hc owns this port */=0A+#define PORT_POWER      (1 << 12)  =
  /* true: has power (see PPC) */=0A+#define PORT_USB11(x)   (((x) & (3 << =
10)) =3D=3D (1 << 10)) /* USB 1.1 device */=0A+/* 11:10 for detecting =
lowspeed devices (reset vs release ownership) */=0A+/* 9 reserved =
*/=0A+#define PORT_LPM        (1 << 9)     /* LPM transaction */=0A+#define=
 PORT_RESET      (1 << 8)     /* reset port */=0A+#define PORT_SUSPEND    =
(1 << 7)     /* suspend port */=0A+#define PORT_RESUME     (1 << 6)     /* =
resume it */=0A+#define PORT_OCC        (1 << 5)     /* over current =
change */=0A+#define PORT_OC         (1 << 4)     /* over current active =
*/=0A+#define PORT_PEC        (1 << 3)     /* port enable change */=0A+#def=
ine PORT_PE         (1 << 2)     /* port enable */=0A+#define PORT_CSC     =
   (1 << 1)     /* connect status change */=0A+#define PORT_CONNECT    (1 =
<< 0)     /* device connected */=0A+#define PORT_RWC_BITS   (PORT_CSC | =
PORT_PEC | PORT_OCC)=0A+};=0A+=0A+/*=0A+ * Appendix C, Debug port ... =
intended for use with special "debug devices"=0A+ * that can help if =
there's no serial console.  (nonstandard enumeration.)=0A+ */=0A+struct =
ehci_dbg_port {=0A+    u32 control;=0A+#define DBGP_OWNER      (1 << =
30)=0A+#define DBGP_ENABLED    (1 << 28)=0A+#define DBGP_DONE       (1 << =
16)=0A+#define DBGP_INUSE      (1 << 10)=0A+#define DBGP_ERRCODE(x) (((x) =
>> 7) & 0x07)=0A+# define DBGP_ERR_BAD    1=0A+# define DBGP_ERR_SIGNAL =
2=0A+#define DBGP_ERROR      (1 << 6)=0A+#define DBGP_GO         (1 << =
5)=0A+#define DBGP_OUT        (1 << 4)=0A+#define DBGP_LEN        (0xf << =
0)=0A+#define DBGP_CLAIM      (DBGP_OWNER | DBGP_ENABLED | DBGP_INUSE)=0A+ =
   u32 pids;=0A+#define DBGP_PID_GET(x)         (((x) >> 16) & 0xff)=0A+#de=
fine DBGP_PID_SET(data, tok) (((data) << 8) | (tok))=0A+    u32 data03;=0A+=
    u32 data47;=0A+    u32 address;=0A+#define DBGP_EPADDR(dev, ep) =
(((dev) << 8) | (ep))=0A+};=0A+=0A+/* CONTROL REQUEST SUPPORT */=0A+=0A+/*=
=0A+ * USB directions=0A+ *=0A+ * This bit flag is used in endpoint =
descriptors' bEndpointAddress field.=0A+ * It's also one of three fields =
in control requests bRequestType.=0A+ */=0A+#define USB_DIR_OUT 0          =
 /* to device */=0A+#define USB_DIR_IN  0x80        /* to host */=0A+=0A+/*=
=0A+ * USB types, the second of three bRequestType fields=0A+ */=0A+#define=
 USB_TYPE_MASK     (0x03 << 5)=0A+#define USB_TYPE_STANDARD (0x00 << =
5)=0A+#define USB_TYPE_CLASS    (0x01 << 5)=0A+#define USB_TYPE_VENDOR   =
(0x02 << 5)=0A+#define USB_TYPE_RESERVED (0x03 << 5)=0A+=0A+/*=0A+ * USB =
recipients, the third of three bRequestType fields=0A+ */=0A+#define =
USB_RECIP_MASK      0x1f=0A+#define USB_RECIP_DEVICE    0x00=0A+#define =
USB_RECIP_INTERFACE 0x01=0A+#define USB_RECIP_ENDPOINT  0x02=0A+#define =
USB_RECIP_OTHER     0x03=0A+/* From Wireless USB 1.0 */=0A+#define =
USB_RECIP_PORT      0x04=0A+#define USB_RECIP_RPIPE     0x05=0A+=0A+/*=0A+ =
* Standard requests, for the bRequest field of a SETUP packet.=0A+ *=0A+ * =
These are qualified by the bRequestType field, so that for example=0A+ * =
TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved=0A+ * =
by a GET_STATUS request.=0A+ */=0A+#define USB_REQ_GET_STATUS        =
0x00=0A+#define USB_REQ_CLEAR_FEATURE     0x01=0A+#define USB_REQ_SET_FEATU=
RE       0x03=0A+#define USB_REQ_SET_ADDRESS       0x05=0A+#define =
USB_REQ_GET_DESCRIPTOR    0x06=0A+#define USB_REQ_SET_DESCRIPTOR    =
0x07=0A+#define USB_REQ_GET_CONFIGURATION 0x08=0A+#define USB_REQ_SET_CONFI=
GURATION 0x09=0A+#define USB_REQ_GET_INTERFACE     0x0A=0A+#define =
USB_REQ_SET_INTERFACE     0x0B=0A+#define USB_REQ_SYNCH_FRAME       =
0x0C=0A+=0A+#define USB_DEVICE_DEBUG_MODE        6    /* (special devices =
only) */=0A+=0A+/**=0A+ * struct usb_ctrlrequest - SETUP data for a USB =
device control request=0A+ * @bRequestType: matches the USB bmRequestType =
field=0A+ * @bRequest: matches the USB bRequest field=0A+ * @wValue: =
matches the USB wValue field (le16 byte order)=0A+ * @wIndex: matches the =
USB wIndex field (le16 byte order)=0A+ * @wLength: matches the USB wLength =
field (le16 byte order)=0A+ *=0A+ * This structure is used to send control =
requests to a USB device.  It matches=0A+ * the different fields of the =
USB 2.0 Spec section 9.3, table 9-2.  See the=0A+ * USB spec for a fuller =
description of the different fields, and what they are=0A+ * used for.=0A+ =
*=0A+ * Note that the driver for any interface can issue control =
requests.=0A+ * For most devices, interfaces don't coordinate with each =
other, so=0A+ * such requests may be made at any time.=0A+ */=0A+struct =
usb_ctrlrequest {=0A+    u8 bRequestType;=0A+    u8 bRequest;=0A+    =
__le16 wValue;=0A+    __le16 wIndex;=0A+    __le16 wLength;=0A+} __attribut=
e__ ((packed));=0A+=0A+/* USB_DT_DEBUG: for special highspeed devices, =
replacing serial console */=0A+=0A+#define USB_DT_DEBUG    0x0a=0A+=0A+stru=
ct usb_debug_descriptor {=0A+    u8 bLength;=0A+    u8 bDescriptorType;=0A+=
    /* bulk endpoints with 8 byte maxpacket */=0A+    u8 bDebugInEndpoint;=
=0A+    u8 bDebugOutEndpoint;=0A+} __attribute__((packed));=0A+=0A+#define =
USB_DEBUG_DEVNUM 127=0A+=0A+/*=0A+ * USB Packet IDs (PIDs)=0A+ */=0A+=0A+/*=
 token */=0A+#define USB_PID_OUT           0xe1=0A+#define USB_PID_IN      =
      0x69=0A+#define USB_PID_SOF           0xa5=0A+#define USB_PID_SETUP  =
       0x2d=0A+/* handshake */=0A+#define USB_PID_ACK           0xd2=0A+#de=
fine USB_PID_NAK           0x5a=0A+#define USB_PID_STALL         0x1e=0A+#d=
efine USB_PID_NYET          0x96=0A+/* data */=0A+#define USB_PID_DATA0    =
     0xc3=0A+#define USB_PID_DATA1         0x4b=0A+#define USB_PID_DATA2   =
      0x87=0A+#define USB_PID_MDATA         0x0f=0A+/* Special */=0A+#defin=
e USB_PID_PREAMBLE      0x3c=0A+#define USB_PID_ERR           0x3c=0A+#defi=
ne USB_PID_SPLIT         0x78=0A+#define USB_PID_PING          0xb4=0A+#def=
ine USB_PID_UNDEF_0       0xf0=0A+=0A+#define PCI_CLASS_SERIAL_USB_EHCI =
0x0c0320=0A+#define PCI_CAP_ID_EHCI_DEBUG     0x0a=0A+=0A+#define =
HUB_ROOT_RESET_TIME   50    /* times are in msec */=0A+#define HUB_SHORT_RE=
SET_TIME  10=0A+#define HUB_LONG_RESET_TIME   200=0A+#define HUB_RESET_TIME=
OUT     500=0A+=0A+#define DBGP_MAX_PACKET       8=0A+#define DBGP_LOOPS   =
         1000=0A+#define DBGP_TIMEOUT          (250 * 1000) /* us =
*/=0A+#define DBGP_CHECK_INTERVAL   100 /* us */=0A+/* This one can be set =
arbitrarily - only affects input responsiveness: */=0A+#define DBGP_IDLE_IN=
TERVAL    100 /* ms */=0A+=0A+struct ehci_dbgp {=0A+    struct ehci_dbg_por=
t __iomem *ehci_debug;=0A+    enum dbgp_state {=0A+        dbgp_idle,=0A+  =
      dbgp_out,=0A+        dbgp_in,=0A+        dbgp_ctrl,=0A+        =
dbgp_unsafe /* cannot use debug device during EHCI reset */=0A+    } =
state;=0A+    unsigned int phys_port;=0A+    struct {=0A+        unsigned =
int endpoint;=0A+        unsigned int chunk;=0A+        char buf[DBGP_MAX_P=
ACKET];=0A+    } out, in;=0A+    unsigned long timeout;=0A+    struct =
timer timer;=0A+    spinlock_t *lock;=0A+    bool_t reset_run;=0A+    u8 =
bus, slot, func, bar;=0A+    u16 pci_cr;=0A+    u32 bar_val;=0A+    =
unsigned int cap;=0A+    struct ehci_regs __iomem *ehci_regs;=0A+    =
struct ehci_caps __iomem *ehci_caps;=0A+};=0A+=0A+static int ehci_dbgp_exte=
rnal_startup(struct ehci_dbgp *);=0A+=0A+static void ehci_dbgp_status(struc=
t ehci_dbgp *dbgp, const char *str)=0A+{=0A+#ifdef DBGP_DEBUG=0A+#define =
dbgp_printk printk=0A+    if ( !dbgp->ehci_debug )=0A+        return;=0A+  =
  dbgp_printk("dbgp: %s\n", str);=0A+    dbgp_printk("  debug control: =
%08x\n", readl(&dbgp->ehci_debug->control));=0A+    dbgp_printk("  EHCI =
cmd     : %08x\n", readl(&dbgp->ehci_regs->command));=0A+    dbgp_printk(" =
 EHCI conf flg: %08x\n",=0A+                readl(&dbgp->ehci_regs->configu=
red_flag));=0A+    dbgp_printk("  EHCI status  : %08x\n", readl(&dbgp->ehci=
_regs->status));=0A+    dbgp_printk("  EHCI portsc  : %08x\n",=0A+         =
       readl(&dbgp->ehci_regs->port_status[dbgp->phys_port - 1]));=0A+#endi=
f=0A+}=0A+=0A+#ifndef DBGP_DEBUG=0A+static inline __attribute__ ((format =
(printf, 1, 2))) void=0A+dbgp_printk(const char *fmt, ...) { }=0A+#endif=0A=
+=0A+static inline u32 dbgp_len_update(u32 x, u32 len)=0A+{=0A+    return =
(x & ~DBGP_LEN) | (len & DBGP_LEN) | DBGP_OUT;=0A+}=0A+=0A+static inline =
u32 dbgp_pid_write_update(u32 x, u32 tok)=0A+{=0A+    static u8 data0 =3D =
USB_PID_DATA1;=0A+=0A+    data0 ^=3D USB_PID_DATA0 ^ USB_PID_DATA1;=0A+    =
return (x & 0xffff0000) | (data0 << 8) | (tok & 0xff);=0A+}=0A+=0A+static =
inline u32 dbgp_pid_read_update(u32 x, u32 tok)=0A+{=0A+    return (x & =
0xffffff00) | (tok & 0xff);=0A+}=0A+=0A+static inline void dbgp_set_data(st=
ruct ehci_dbg_port __iomem *ehci_debug,=0A+                                =
 const void *buf, unsigned int size)=0A+{=0A+    const unsigned char =
*bytes =3D buf;=0A+    u32 lo =3D 0, hi =3D 0;=0A+    unsigned int =
i;=0A+=0A+    for ( i =3D 0; i < 4 && i < size; i++ )=0A+        lo |=3D =
bytes[i] << (8 * i);=0A+    for ( ; i < 8 && i < size; i++ )=0A+        hi =
|=3D bytes[i] << (8 * (i - 4));=0A+    writel(lo, &ehci_debug->data03);=0A+=
    writel(hi, &ehci_debug->data47);=0A+}=0A+=0A+static inline void =
dbgp_get_data(struct ehci_dbg_port __iomem *ehci_debug,=0A+                =
                 void *buf, int size)=0A+{=0A+    unsigned char *bytes =3D =
buf;=0A+    u32 lo =3D readl(&ehci_debug->data03);=0A+    u32 hi =3D =
readl(&ehci_debug->data47);=0A+    unsigned int i;=0A+=0A+    for ( i =3D =
0; i < 4 && i < size; i++ )=0A+        bytes[i] =3D (lo >> (8 * i)) & =
0xff;=0A+    for ( ; i < 8 && i < size; i++ )=0A+        bytes[i] =3D (hi =
>> (8 * (i - 4))) & 0xff;=0A+}=0A+=0A+static void dbgp_issue_command(struct=
 ehci_dbgp *dbgp, u32 ctrl,=0A+                               enum =
dbgp_state state)=0A+{=0A+    u32 cmd =3D readl(&dbgp->ehci_regs->command);=
=0A+=0A+    if ( unlikely(!(cmd & CMD_RUN)) )=0A+    {=0A+        /*=0A+   =
      * If the EHCI controller is not in the run state do extended=0A+     =
    * checks to see if ACPI or some other initialization also=0A+         =
* reset the EHCI debug port.=0A+         */=0A+        u32 ctrl =3D =
readl(&dbgp->ehci_debug->control);=0A+=0A+        if ( ctrl & DBGP_ENABLED =
)=0A+        {=0A+            cmd |=3D CMD_RUN;=0A+            writel(cmd, =
&dbgp->ehci_regs->command);=0A+            dbgp->reset_run =3D 1;=0A+      =
  }=0A+        else if ( dbgp->state !=3D dbgp_unsafe )=0A+        {=0A+   =
         dbgp->state =3D dbgp_unsafe;=0A+            ehci_dbgp_external_sta=
rtup(dbgp);=0A+        }=0A+    }=0A+=0A+    writel(ctrl | DBGP_GO, =
&dbgp->ehci_debug->control);=0A+    dbgp->timeout =3D DBGP_TIMEOUT;=0A+    =
if ( dbgp->state !=3D dbgp_unsafe )=0A+        dbgp->state =3D state;=0A+}=
=0A+=0A+static int dbgp_check_for_completion(struct ehci_dbgp *dbgp,=0A+   =
                                  unsigned int interval, u8 *ppid)=0A+{=0A+=
    u32 ctrl;=0A+    int ret;=0A+=0A+    if ( dbgp->state =3D=3D dbgp_idle =
)=0A+        return 0;=0A+=0A+    ctrl =3D readl(&dbgp->ehci_debug->control=
) & ~DBGP_GO;=0A+    if ( !(ctrl & DBGP_DONE) )=0A+    {=0A+        if ( =
dbgp->timeout > interval )=0A+            dbgp->timeout -=3D interval;=0A+ =
       else if ( interval )=0A+        {=0A+            /* See the timeout =
related comment in dbgp_wait_until_done(). */=0A+            dbgp->state =
=3D dbgp_unsafe;=0A+            dbgp->timeout =3D 0;=0A+        }=0A+      =
  return -DBGP_TIMEOUT;=0A+    }=0A+=0A+    if ( ctrl & DBGP_ERROR )=0A+   =
 {=0A+        ret =3D -DBGP_ERRCODE(ctrl);=0A+        if ( ret =3D=3D =
-DBGP_ERR_BAD && dbgp->timeout > interval )=0A+            ctrl |=3D =
DBGP_GO;=0A+    }=0A+    else=0A+    {=0A+        u8 pid =3D DBGP_PID_GET(r=
eadl(&dbgp->ehci_debug->pids));=0A+=0A+        ret =3D ctrl & DBGP_LEN;=0A+=
        if ( ppid )=0A+            *ppid =3D pid;=0A+        else if ( =
dbgp->state =3D=3D dbgp_in )=0A+        {=0A+            dbgp_get_data(dbgp=
->ehci_debug, dbgp->in.buf, ret);=0A+            dbgp->in.chunk =3D =
ret;=0A+        }=0A+        else if ( pid =3D=3D USB_PID_NAK && dbgp->time=
out > interval )=0A+            ctrl |=3D DBGP_GO;=0A+    }=0A+=0A+    =
writel(ctrl, &dbgp->ehci_debug->control);=0A+    if ( ctrl & DBGP_GO )=0A+ =
   {=0A+        dbgp->timeout -=3D interval;=0A+        return -DBGP_TIMEOU=
T;=0A+    }=0A+=0A+    if ( unlikely(dbgp->reset_run) )=0A+    {=0A+       =
 writel(readl(&dbgp->ehci_regs->command) & ~CMD_RUN,=0A+               =
&dbgp->ehci_regs->command);=0A+        dbgp->reset_run =3D 0;=0A+    =
}=0A+=0A+    if ( dbgp->state !=3D dbgp_unsafe )=0A+        dbgp->state =
=3D dbgp_idle;=0A+=0A+    return ret;=0A+}=0A+=0A+static int dbgp_wait_unti=
l_complete(struct ehci_dbgp *dbgp, u8 *ppid)=0A+{=0A+    unsigned int loop =
=3D DBGP_TIMEOUT;=0A+    int ret;=0A+=0A+    do {=0A+        ret =3D =
dbgp_check_for_completion(dbgp, 0, ppid);=0A+        if ( ret !=3D =
-DBGP_TIMEOUT )=0A+            break;=0A+        udelay(1);=0A+    } while =
( --loop );=0A+=0A+    if ( !ppid && !loop )=0A+        dbgp->state =3D =
dbgp_unsafe;=0A+=0A+    return ret;=0A+}=0A+=0A+static inline void =
dbgp_mdelay(unsigned int ms)=0A+{=0A+    while ( ms-- )=0A+    {=0A+       =
 unsigned int i;=0A+=0A+        for ( i =3D 0; i < 1000; i++ )=0A+         =
   outb(0x1, 0x80);=0A+    }=0A+}=0A+=0A+static void dbgp_breathe(void)=0A+=
{=0A+    /* Sleep to give the debug port a chance to breathe. */=0A+    =
dbgp_mdelay(1);=0A+}=0A+=0A+static int dbgp_wait_until_done(struct =
ehci_dbgp *dbgp, u32 ctrl,=0A+                                unsigned int =
loop)=0A+{=0A+    int ret;=0A+=0A+    dbgp->timeout =3D 0;=0A+=0A+    for =
( ; ; writel(ctrl | DBGP_GO, &dbgp->ehci_debug->control) )=0A+    {=0A+    =
    u8 pid;=0A+=0A+        ret =3D dbgp_wait_until_complete(dbgp, =
&pid);=0A+        if ( ret < 0 )=0A+        {=0A+            /*=0A+        =
     * A -DBGP_TIMEOUT failure here means the device has failed,=0A+       =
      * perhaps because it was unplugged, in which case we do not=0A+      =
       * want to hang the system so the dbgp will be marked as unsafe=0A+  =
           * to use. EHCI reset is the only way to recover if you =
unplug=0A+             * the dbgp device.=0A+             */=0A+           =
 if ( ret =3D=3D -DBGP_TIMEOUT )=0A+                dbgp->state =3D =
dbgp_unsafe;=0A+            if ( ret !=3D -DBGP_ERR_BAD || !--loop )=0A+   =
             break;=0A+        }=0A+        else=0A+        {=0A+          =
  /*=0A+             * If the port is getting full or it has dropped =
data=0A+             * start pacing ourselves, not necessary but it's =
friendly.=0A+             */=0A+            if ( pid =3D=3D USB_PID_NAK || =
pid =3D=3D USB_PID_NYET )=0A+                dbgp_breathe();=0A+=0A+       =
     /* If we got a NACK, reissue the transmission. */=0A+            if ( =
pid !=3D USB_PID_NAK || !--loop )=0A+                break;=0A+        =
}=0A+    }=0A+=0A+    return ret;=0A+}=0A+=0A+static int dbgp_bulk_write(st=
ruct ehci_dbgp *dbgp,=0A+                           unsigned int devnum, =
unsigned int endpoint,=0A+                           const void *bytes, =
unsigned int size, u32 *pctrl)=0A+{=0A+    u32 addr, pids, ctrl;=0A+=0A+   =
 if ( size > DBGP_MAX_PACKET )=0A+        return -EINVAL;=0A+=0A+    addr =
=3D DBGP_EPADDR(devnum, endpoint);=0A+    pids =3D dbgp_pid_write_update(re=
adl(&dbgp->ehci_debug->pids), USB_PID_OUT);=0A+    ctrl =3D dbgp_len_update=
(readl(&dbgp->ehci_debug->control), size);=0A+    if ( pctrl )=0A+        =
*pctrl =3D ctrl;=0A+=0A+    dbgp_set_data(dbgp->ehci_debug, bytes, =
size);=0A+    writel(addr, &dbgp->ehci_debug->address);=0A+    writel(pids,=
 &dbgp->ehci_debug->pids);=0A+    dbgp_issue_command(dbgp, ctrl, dbgp_out);=
=0A+=0A+    return 0;=0A+}=0A+=0A+static int dbgp_bulk_read(struct =
ehci_dbgp *dbgp,=0A+                          unsigned int devnum, =
unsigned int endpoint,=0A+                          unsigned int size, u32 =
*pctrl)=0A+{=0A+    u32 addr, pids, ctrl;=0A+=0A+    if ( size > DBGP_MAX_P=
ACKET )=0A+        return -EINVAL;=0A+=0A+    addr =3D DBGP_EPADDR(devnum, =
endpoint);=0A+    pids =3D dbgp_pid_read_update(readl(&dbgp->ehci_debug->pi=
ds), USB_PID_IN);=0A+    ctrl =3D readl(&dbgp->ehci_debug->control) & =
~DBGP_OUT;=0A+=0A+    writel(addr, &dbgp->ehci_debug->address);=0A+    =
writel(pids, &dbgp->ehci_debug->pids);=0A+    if ( likely(!pctrl) )=0A+    =
    dbgp_issue_command(dbgp, ctrl, dbgp_in);=0A+    else=0A+        =
dbgp_issue_command(dbgp, *pctrl =3D ctrl, dbgp_ctrl);=0A+=0A+    return =
0;=0A+}=0A+=0A+static int dbgp_control_msg(struct ehci_dbgp *dbgp, =
unsigned int devnum,=0A+                            int requesttype, int =
request, int value,=0A+                            int index, void *data, =
unsigned int size)=0A+{=0A+    u32 addr, pids, ctrl;=0A+    struct =
usb_ctrlrequest req;=0A+    bool_t read =3D (requesttype & USB_DIR_IN) =
!=3D 0;=0A+    int ret;=0A+=0A+    if ( size > (read ? DBGP_MAX_PACKET : =
0) )=0A+        return -EINVAL;=0A+=0A+    /* Compute the control message =
*/=0A+    req.bRequestType =3D requesttype;=0A+    req.bRequest =3D =
request;=0A+    req.wValue =3D cpu_to_le16(value);=0A+    req.wIndex =3D =
cpu_to_le16(index);=0A+    req.wLength =3D cpu_to_le16(size);=0A+=0A+    =
pids =3D DBGP_PID_SET(USB_PID_DATA0, USB_PID_SETUP);=0A+    addr =3D =
DBGP_EPADDR(devnum, 0);=0A+    ctrl =3D dbgp_len_update(readl(&dbgp->ehci_d=
ebug->control), sizeof(req));=0A+=0A+    /* Send the setup message */=0A+  =
  dbgp_set_data(dbgp->ehci_debug, &req, sizeof(req));=0A+    writel(addr, =
&dbgp->ehci_debug->address);=0A+    writel(pids, &dbgp->ehci_debug->pids);=
=0A+    dbgp_issue_command(dbgp, ctrl, dbgp_ctrl);=0A+    ret =3D =
dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);=0A+    if ( ret < 0 )=0A+    =
    return ret;=0A+=0A+    /* Read the result */=0A+    ret =3D dbgp_bulk_r=
ead(dbgp, devnum, 0, size, &ctrl);=0A+    if ( !ret )=0A+        ret =3D =
dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);=0A+    if ( ret > 0 )=0A+    =
{=0A+        if ( size > ret )=0A+            size =3D ret;=0A+        =
dbgp_get_data(dbgp->ehci_debug, data, size);=0A+    }=0A+=0A+    return =
ret;=0A+}=0A+=0A+static unsigned int __init __find_dbgp(u8 bus, u8 slot, =
u8 func)=0A+{=0A+    u32 class =3D pci_conf_read32(0, bus, slot, func, =
PCI_CLASS_REVISION);=0A+=0A+    if ( (class >> 8) !=3D PCI_CLASS_SERIAL_USB=
_EHCI )=0A+        return 0;=0A+=0A+    return pci_find_cap_offset(0, bus, =
slot, func, PCI_CAP_ID_EHCI_DEBUG);=0A+}=0A+=0A+static unsigned int __init =
find_dbgp(struct ehci_dbgp *dbgp,=0A+                                     =
unsigned int ehci_num)=0A+{=0A+    unsigned int bus, slot, func;=0A+=0A+   =
 for ( bus =3D 0; bus < 256; bus++ )=0A+    {=0A+        for ( slot =3D 0; =
slot < 32; slot++ )=0A+        {=0A+            for ( func =3D 0; func < =
8; func++ )=0A+            {=0A+                unsigned int cap;=0A+=0A+  =
              if ( !pci_device_detect(0, bus, slot, func) )=0A+            =
    {=0A+                    if ( !func )=0A+                        =
break;=0A+                    continue;=0A+                }=0A+=0A+       =
         cap =3D __find_dbgp(bus, slot, func);=0A+                if ( =
!cap || ehci_num-- )=0A+                {=0A+                    if ( =
!func && !(pci_conf_read8(0, bus, slot, func,=0A+                          =
                         PCI_HEADER_TYPE) & 0x80) )=0A+                    =
    break;=0A+                    continue;=0A+                }=0A+=0A+   =
             dbgp->bus =3D bus;=0A+                dbgp->slot =3D =
slot;=0A+                dbgp->func =3D func;=0A+                return =
cap;=0A+            }=0A+        }=0A+    }=0A+=0A+    return 0;=0A+}=0A+=
=0A+static int ehci_dbgp_startup(struct ehci_dbgp *dbgp)=0A+{=0A+    u32 =
ctrl, cmd, status;=0A+    unsigned int loop;=0A+=0A+    /* Claim ownership,=
 but do not enable yet */=0A+    ctrl =3D readl(&dbgp->ehci_debug->control)=
;=0A+    ctrl |=3D DBGP_OWNER;=0A+    ctrl &=3D ~(DBGP_ENABLED | DBGP_INUSE=
);=0A+    writel(ctrl, &dbgp->ehci_debug->control);=0A+    udelay(1);=0A+=
=0A+    ehci_dbgp_status(dbgp, "EHCI startup");=0A+    /* Start the EHCI. =
*/=0A+    cmd =3D readl(&dbgp->ehci_regs->command);=0A+    cmd &=3D =
~(CMD_LRESET | CMD_IAAD | CMD_PSE | CMD_ASE | CMD_RESET);=0A+    cmd |=3D =
CMD_RUN;=0A+    writel(cmd, &dbgp->ehci_regs->command);=0A+=0A+    /* =
Ensure everything is routed to the EHCI */=0A+    writel(FLAG_CF, =
&dbgp->ehci_regs->configured_flag);=0A+=0A+    /* Wait until the controller=
 is no longer halted */=0A+    loop =3D 10;=0A+    do {=0A+        status =
=3D readl(&dbgp->ehci_regs->status);=0A+        if ( !(status & STS_HALT) =
)=0A+            break;=0A+        udelay(1);=0A+    } while ( --loop =
);=0A+=0A+    if ( !loop )=0A+    {=0A+        dbgp_printk("EHCI cannot be =
started\n");=0A+        return -ENODEV;=0A+    }=0A+    dbgp_printk("EHCI =
started\n");=0A+=0A+    return 0;=0A+}=0A+=0A+static int ehci_dbgp_controll=
er_reset(struct ehci_dbgp *dbgp)=0A+{=0A+    unsigned int loop =3D 250 * =
1000;=0A+    u32 cmd;=0A+=0A+    /* Reset the EHCI controller */=0A+    =
cmd =3D readl(&dbgp->ehci_regs->command);=0A+    cmd |=3D CMD_RESET;=0A+   =
 writel(cmd, &dbgp->ehci_regs->command);=0A+    do {=0A+        cmd =3D =
readl(&dbgp->ehci_regs->command);=0A+    } while ( (cmd & CMD_RESET) && =
--loop );=0A+=0A+    if ( !loop )=0A+    {=0A+        dbgp_printk("cannot =
reset EHCI\n");=0A+        return -1;=0A+    }=0A+    ehci_dbgp_status(dbgp=
, "ehci reset done");=0A+=0A+    return 0;=0A+}=0A+=0A+static int =
ehci_reset_port(struct ehci_dbgp *dbgp, unsigned int port)=0A+{=0A+    u32 =
portsc, delay_time, delay;=0A+=0A+    ehci_dbgp_status(dbgp, "reset =
port");=0A+    /* Reset the USB debug port. */=0A+    portsc =3D readl(&dbg=
p->ehci_regs->port_status[port - 1]);=0A+    portsc &=3D ~PORT_PE;=0A+    =
portsc |=3D PORT_RESET;=0A+    writel(portsc, &dbgp->ehci_regs->port_status=
[port - 1]);=0A+=0A+    delay =3D HUB_ROOT_RESET_TIME;=0A+    for ( =
delay_time =3D 0; delay_time < HUB_RESET_TIMEOUT;=0A+          delay_time =
+=3D delay )=0A+    {=0A+        dbgp_mdelay(delay);=0A+        portsc =3D =
readl(&dbgp->ehci_regs->port_status[port - 1]);=0A+        if (!(portsc & =
PORT_RESET))=0A+            break;=0A+    }=0A+=0A+    if ( portsc & =
PORT_RESET )=0A+    {=0A+        /* force reset to complete */=0A+        =
unsigned int loop =3D 100 * 1000;=0A+=0A+        writel(portsc & ~(PORT_RWC=
_BITS | PORT_RESET),=0A+               &dbgp->ehci_regs->port_status[port =
- 1]);=0A+        do {=0A+            udelay(1);=0A+            portsc =3D =
readl(&dbgp->ehci_regs->port_status[port-1]);=0A+        } while ( (portsc =
& PORT_RESET) && --loop );=0A+    }=0A+=0A+    /* Device went away? */=0A+ =
   if ( !(portsc & PORT_CONNECT) )=0A+        return -ENOTCONN;=0A+=0A+    =
/* bomb out completely if something weird happened */=0A+    if ( portsc & =
PORT_CSC )=0A+        return -EINVAL;=0A+=0A+    /* If we've finished =
resetting, then break out of the loop */=0A+    if ( !(portsc & PORT_RESET)=
 && (portsc & PORT_PE) )=0A+        return 0;=0A+=0A+    return -EBUSY;=0A+=
}=0A+=0A+static int ehci_wait_for_port(struct ehci_dbgp *dbgp, unsigned =
int port)=0A+{=0A+    u32 status;=0A+    unsigned int reps;=0A+=0A+    for =
( reps =3D 0; reps < 300; reps++ )=0A+    {=0A+        status =3D =
readl(&dbgp->ehci_regs->status);=0A+        if ( status & STS_PCD )=0A+    =
        break;=0A+        dbgp_mdelay(1);=0A+    }=0A+=0A+    return =
ehci_reset_port(dbgp, port) =3D=3D 0 ? 0 : -ENOTCONN;=0A+}=0A+=0A+/* =
Return 0 on success=0A+ * Return -ENODEV for any general failure=0A+ * =
Return -EIO if wait for port fails=0A+ */=0A+static int ehci_dbgp_external_=
startup(struct ehci_dbgp *dbgp)=0A+{=0A+    unsigned int devnum;=0A+    =
struct usb_debug_descriptor dbgp_desc;=0A+    int ret;=0A+    u32 ctrl, =
portsc, cmd;=0A+    unsigned int dbg_port =3D dbgp->phys_port;=0A+    =
unsigned int tries =3D 3;=0A+    unsigned int reset_port_tries =3D 1;=0A+  =
  bool_t try_hard_once =3D 1;=0A+=0A+try_port_reset_again:=0A+    ret =3D =
ehci_dbgp_startup(dbgp);=0A+    if ( ret )=0A+        return ret;=0A+=0A+  =
  /* Wait for a device to show up in the debug port */=0A+    ret =3D =
ehci_wait_for_port(dbgp, dbg_port);=0A+    if ( ret < 0 )=0A+    {=0A+     =
   portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - 1]);=0A+      =
  if ( !(portsc & PORT_CONNECT) && try_hard_once )=0A+        {=0A+        =
    /*=0A+             * Last ditch effort to try to force enable the =
debug device by=0A+             * using the packet test EHCI command to =
try and wake it up.=0A+             */=0A+            try_hard_once =3D =
0;=0A+            cmd =3D readl(&dbgp->ehci_regs->command);=0A+            =
cmd &=3D ~CMD_RUN;=0A+            writel(cmd, &dbgp->ehci_regs->command);=
=0A+            portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - =
1]);=0A+            portsc |=3D PORT_TEST_PKT;=0A+            writel(portsc=
, &dbgp->ehci_regs->port_status[dbg_port - 1]);=0A+            ehci_dbgp_st=
atus(dbgp, "Trying to force debug port online");=0A+            mdelay(50);=
=0A+            ehci_dbgp_controller_reset(dbgp);=0A+            goto =
try_port_reset_again;=0A+        }=0A+        else if ( reset_port_tries-- =
)=0A+            goto try_port_reset_again;=0A+        dbgp_printk("no =
device found in debug port\n");=0A+        return -EIO;=0A+    }=0A+    =
ehci_dbgp_status(dbgp, "wait for port done");=0A+=0A+    /* Enable the =
debug port */=0A+    ctrl =3D readl(&dbgp->ehci_debug->control);=0A+    =
ctrl |=3D DBGP_CLAIM;=0A+    writel(ctrl, &dbgp->ehci_debug->control);=0A+ =
   ctrl =3D readl(&dbgp->ehci_debug->control);=0A+    if ( (ctrl & =
DBGP_CLAIM) !=3D DBGP_CLAIM )=0A+    {=0A+        dbgp_printk("no device =
in debug port\n");=0A+        writel(ctrl & ~DBGP_CLAIM, &dbgp->ehci_debug-=
>control);=0A+        return -ENODEV;=0A+    }=0A+    ehci_dbgp_status(dbgp=
, "debug port enabled");=0A+=0A+    /* Completely transfer the debug =
device to the debug controller */=0A+    portsc =3D readl(&dbgp->ehci_regs-=
>port_status[dbg_port - 1]);=0A+    portsc &=3D ~PORT_PE;=0A+    writel(por=
tsc, &dbgp->ehci_regs->port_status[dbg_port - 1]);=0A+=0A+    dbgp_mdelay(1=
00);=0A+=0A+try_again:=0A+    /* Find the debug device and make it device =
number 127 */=0A+    for ( devnum =3D 0; devnum <=3D 127; devnum++ )=0A+   =
 {=0A+        ret =3D dbgp_control_msg(dbgp, devnum,=0A+                   =
            USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE,=0A+         =
                      USB_REQ_GET_DESCRIPTOR, (USB_DT_DEBUG << 8), 0,=0A+  =
                             &dbgp_desc, sizeof(dbgp_desc));=0A+        if =
( ret > 0 )=0A+            break;=0A+    }=0A+    if ( devnum > 127 )=0A+  =
  {=0A+        dbgp_printk("could not find attached debug device\n");=0A+  =
      goto err;=0A+    }=0A+    if ( ret < 0 )=0A+    {=0A+        =
dbgp_printk("attached device is not a debug device\n");=0A+        goto =
err;=0A+    }=0A+    dbgp->out.endpoint =3D dbgp_desc.bDebugOutEndpoint;=0A=
+    dbgp->in.endpoint =3D dbgp_desc.bDebugInEndpoint;=0A+=0A+    /* Move =
the device to 127 if it isn't already there. */=0A+    if ( devnum !=3D =
USB_DEBUG_DEVNUM )=0A+    {=0A+        ret =3D dbgp_control_msg(dbgp, =
devnum,=0A+                               USB_DIR_OUT | USB_TYPE_STANDARD =
| USB_RECIP_DEVICE,=0A+                               USB_REQ_SET_ADDRESS, =
USB_DEBUG_DEVNUM, 0, NULL, 0);=0A+        if ( ret < 0 )=0A+        {=0A+  =
          dbgp_printk("could not move attached device to %d\n",=0A+        =
                USB_DEBUG_DEVNUM);=0A+            goto err;=0A+        =
}=0A+        devnum =3D USB_DEBUG_DEVNUM;=0A+        dbgp_printk("debug =
device renamed to 127\n");=0A+    }=0A+=0A+    /* Enable the debug =
interface */=0A+    ret =3D dbgp_control_msg(dbgp, USB_DEBUG_DEVNUM,=0A+   =
                        USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,=
=0A+                           USB_REQ_SET_FEATURE, USB_DEVICE_DEBUG_MODE,=
=0A+                           0, NULL, 0);=0A+    if ( ret < 0 )=0A+    =
{=0A+        dbgp_printk("could not enable the debug device\n");=0A+       =
 goto err;=0A+    }=0A+    dbgp_printk("debug interface enabled\n");=0A+=0A=
+    /* Perform a small write to get the even/odd data state in sync. =
*/=0A+    ret =3D dbgp_bulk_write(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoin=
t,=0A+                          "\n", 1, &ctrl);=0A+    if ( !ret )=0A+    =
    ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);=0A+    if ( ret =
< 0 )=0A+    {=0A+        dbgp_printk("dbgp_bulk_write failed: %d\n", =
ret);=0A+        goto err;=0A+    }=0A+    dbgp_printk("small write =
done\n");=0A+    dbgp->state =3D dbgp_idle;=0A+=0A+    return 0;=0A+err:=0A=
+    if ( tries-- )=0A+        goto try_again;=0A+    return -ENODEV;=0A+}=
=0A+=0A+typedef void (*set_debug_port_t)(struct ehci_dbgp *, unsigned =
int);=0A+=0A+static void default_set_debug_port(struct ehci_dbgp *dbgp, =
unsigned int port)=0A+{=0A+}=0A+=0A+static set_debug_port_t __read_mostly =
set_debug_port =3D default_set_debug_port;=0A+=0A+static void nvidia_set_de=
bug_port(struct ehci_dbgp *dbgp, unsigned int port)=0A+{=0A+    u32 dword =
=3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, 0x74);=0A+=0A+   =
 dword &=3D ~(0x0f << 12);=0A+    dword |=3D (port & 0x0f) << 12;=0A+    =
pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, 0x74, dword);=0A+   =
 dbgp_printk("set debug port to %u\n", port);=0A+}=0A+=0A+static void =
__init detect_set_debug_port(struct ehci_dbgp *dbgp)=0A+{=0A+    if ( =
pci_conf_read16(0, dbgp->bus, dbgp->slot, dbgp->func,=0A+                  =
       PCI_VENDOR_ID) =3D=3D 0x10de )=0A+    {=0A+        dbgp_printk("usin=
g nvidia set_debug_port\n");=0A+        set_debug_port =3D nvidia_set_debug=
_port;=0A+    }=0A+}=0A+=0A+/*=0A+ * The code in ehci_dbgp_bios_handoff() =
is derived from the USB PCI=0A+ * quirk initialization in Linux.=0A+ =
*/=0A+#define EHCI_USBLEGSUP_BIOS    (1 << 16) /* BIOS semaphore */=0A+#def=
ine EHCI_USBLEGCTLSTS      4        /* legacy control/status */=0A+static =
void ehci_dbgp_bios_handoff(struct ehci_dbgp *dbgp, u32 hcc_params)=0A+{=0A=
+    u32 cap;=0A+    unsigned int offset =3D HCC_EXT_CAPS(hcc_params);=0A+ =
   int msec;=0A+=0A+    if ( !offset )=0A+        return;=0A+=0A+    cap =
=3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, offset);=0A+    =
dbgp_printk("dbgp: EHCI BIOS state %08x\n", cap);=0A+=0A+    if ( (cap & =
0xff) =3D=3D 1 && (cap & EHCI_USBLEGSUP_BIOS) )=0A+    {=0A+        =
dbgp_printk("dbgp: BIOS handoff\n");=0A+        pci_conf_write8(0, =
dbgp->bus, dbgp->slot, dbgp->func, offset + 3, 1);=0A+    }=0A+=0A+    /* =
if boot firmware now owns EHCI, spin till it hands it over. */=0A+    msec =
=3D 1000;=0A+    while ( (cap & EHCI_USBLEGSUP_BIOS) && (msec > 0) )=0A+   =
 {=0A+        mdelay(10);=0A+        msec -=3D 10;=0A+        cap =3D =
pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, offset);=0A+    =
}=0A+=0A+    if ( cap & EHCI_USBLEGSUP_BIOS )=0A+    {=0A+        /* well, =
possibly buggy BIOS... try to shut it down,=0A+         * and hope nothing =
goes too wrong */=0A+        dbgp_printk("dbgp: BIOS handoff failed: =
%08x\n", cap);=0A+        pci_conf_write8(0, dbgp->bus, dbgp->slot, =
dbgp->func, offset + 2, 0);=0A+    }=0A+=0A+    /* just in case, always =
disable EHCI SMIs */=0A+    pci_conf_write8(0, dbgp->bus, dbgp->slot, =
dbgp->func,=0A+                    offset + EHCI_USBLEGCTLSTS, 0);=0A+}=0A+=
=0A+static int ehci_dbgp_setup(struct ehci_dbgp *dbgp)=0A+{=0A+    u32 =
ctrl, portsc, hcs_params;=0A+    unsigned int i, debug_port, new_debug_port=
 =3D 0, n_ports;=0A+    unsigned int port_map_tried, playtimes =3D 3;=0A+  =
  int ret;=0A+=0A+    ehci_dbgp_bios_handoff(dbgp, readl(&dbgp->ehci_caps->=
hcc_params));=0A+=0A+try_next_time:=0A+    port_map_tried =3D 0;=0A+=0A+try=
_next_port:=0A+=0A+    hcs_params =3D readl(&dbgp->ehci_caps->hcs_params);=
=0A+    debug_port =3D HCS_DEBUG_PORT(hcs_params);=0A+    dbgp->phys_port =
=3D debug_port;=0A+    n_ports =3D HCS_N_PORTS(hcs_params);=0A+=0A+    =
dbgp_printk("debug_port: %u\n", debug_port);=0A+    dbgp_printk("n_ports:  =
  %u\n", n_ports);=0A+    ehci_dbgp_status(dbgp, "");=0A+=0A+    for ( i =
=3D 1; i <=3D n_ports; i++ )=0A+    {=0A+        portsc =3D readl(&dbgp->eh=
ci_regs->port_status[i-1]);=0A+        dbgp_printk("portstatus%d: %08x\n", =
i, portsc);=0A+    }=0A+=0A+    if ( port_map_tried && (new_debug_port =
!=3D debug_port) )=0A+    {=0A+        if ( --playtimes )=0A+        {=0A+ =
           set_debug_port(dbgp, new_debug_port);=0A+            goto =
try_next_time;=0A+        }=0A+        return -1;=0A+    }=0A+=0A+    /* =
Only reset the controller if it is not already in the=0A+     * configured =
state */=0A+    if ( readl(&dbgp->ehci_regs->configured_flag) & FLAG_CF =
)=0A+        ehci_dbgp_status(dbgp, "ehci skip - already configured");=0A+ =
   else if ( ehci_dbgp_controller_reset(dbgp) !=3D 0 )=0A+        return =
-1;=0A+=0A+    ret =3D ehci_dbgp_external_startup(dbgp);=0A+    if (ret =
=3D=3D -EIO)=0A+        goto next_debug_port;=0A+=0A+    if ( ret < 0 =
)=0A+    {=0A+        /* Things didn't work so remove my claim */=0A+      =
  ctrl =3D readl(&dbgp->ehci_debug->control);=0A+        ctrl &=3D =
~(DBGP_CLAIM | DBGP_OUT);=0A+        writel(ctrl, &dbgp->ehci_debug->contro=
l);=0A+        return -1;=0A+    }=0A+=0A+    return 0;=0A+=0A+next_debug_p=
ort:=0A+    port_map_tried |=3D 1 << (debug_port - 1);=0A+    new_debug_por=
t =3D (debug_port % n_ports) + 1;=0A+    if ( port_map_tried !=3D ((1 << =
n_ports) - 1) )=0A+    {=0A+        set_debug_port(dbgp, new_debug_port);=
=0A+        goto try_next_port;=0A+    }=0A+    if ( --playtimes )=0A+    =
{=0A+        set_debug_port(dbgp, new_debug_port);=0A+        goto =
try_next_time;=0A+    }=0A+=0A+    return -1;=0A+}=0A+=0A+static inline =
void _ehci_dbgp_flush(struct ehci_dbgp *dbgp)=0A+{=0A+    if ( dbgp_bulk_wr=
ite(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoint,=0A+                        =
 dbgp->out.buf, dbgp->out.chunk, NULL) )=0A+        BUG();=0A+    =
dbgp->out.chunk =3D 0;=0A+}=0A+=0A+static void ehci_dbgp_flush(struct =
serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D port->uart;=0A+  =
  s_time_t goal;=0A+=0A+    if ( !dbgp->out.chunk || !dbgp->ehci_debug || =
dbgp->state =3D=3D dbgp_unsafe )=0A+        return;=0A+=0A+    if ( =
dbgp->state =3D=3D dbgp_idle || !port->sync )=0A+        dbgp_check_for_com=
pletion(dbgp, 1, NULL);=0A+    else=0A+        dbgp_wait_until_complete(dbg=
p, NULL);=0A+=0A+    if ( dbgp->state =3D=3D dbgp_idle )=0A+    {=0A+      =
  _ehci_dbgp_flush(dbgp);=0A+=0A+        if ( port->sync )=0A+        =
{=0A+            dbgp_wait_until_complete(dbgp, NULL);=0A+            =
return;=0A+        }=0A+    }=0A+=0A+    goal =3D NOW() + MICROSECS(DBGP_CH=
ECK_INTERVAL);=0A+    if ( dbgp->timer.expires > goal )=0A+       =
set_timer(&dbgp->timer, goal);=0A+}=0A+=0A+static void ehci_dbgp_putc(struc=
t serial_port *port, char c)=0A+{=0A+    struct ehci_dbgp *dbgp =3D =
port->uart;=0A+=0A+    if ( unlikely(dbgp->out.chunk >=3D DBGP_MAX_PACKET) =
)=0A+        return;=0A+=0A+    dbgp->out.buf[dbgp->out.chunk++] =3D =
c;=0A+=0A+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )=0A+        =
ehci_dbgp_flush(port);=0A+}=0A+=0A+static int ehci_dbgp_tx_empty(struct =
serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D port->uart;=0A+=
=0A+    if ( unlikely(!dbgp->ehci_debug) || unlikely(dbgp->state =3D=3D =
dbgp_unsafe) )=0A+        return port->sync || port->tx_log_everything || =
!port->txbuf;=0A+=0A+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )=0A+ =
       ehci_dbgp_flush(port);=0A+    else=0A+        dbgp_check_for_complet=
ion(dbgp, 1, NULL);=0A+=0A+    if ( dbgp->state !=3D dbgp_idle && =
dbgp->out.chunk >=3D DBGP_MAX_PACKET )=0A+        return 0;=0A+=0A+    =
port->tx_fifo_size =3D DBGP_MAX_PACKET - dbgp->out.chunk;=0A+    if ( =
dbgp->state =3D=3D dbgp_idle )=0A+        port->tx_fifo_size +=3D =
DBGP_MAX_PACKET;=0A+=0A+    return 1;=0A+}=0A+=0A+static int ehci_dbgp_getc=
(struct serial_port *port, char *pc)=0A+{=0A+    struct ehci_dbgp *dbgp =
=3D port->uart;=0A+=0A+    if ( !dbgp->in.chunk )=0A+        return =
0;=0A+=0A+    *pc =3D *dbgp->in.buf;=0A+    if ( --dbgp->in.chunk )=0A+    =
    memmove(dbgp->in.buf, dbgp->in.buf + 1, dbgp->in.chunk);=0A+=0A+    =
return 1;=0A+}=0A+=0A+/* Safe: ehci_dbgp_poll() runs as timer handler, so =
not reentrant. */=0A+static struct serial_port *poll_port;=0A+=0A+static =
void _ehci_dbgp_poll(struct cpu_user_regs *regs)=0A+{=0A+    struct =
serial_port *port =3D poll_port;=0A+    struct ehci_dbgp *dbgp =3D =
port->uart;=0A+    unsigned long flags;=0A+    unsigned int timeout =3D =
MICROSECS(DBGP_CHECK_INTERVAL);=0A+    bool_t empty =3D 0;=0A+=0A+    if ( =
!dbgp->ehci_debug )=0A+        return;=0A+=0A+    if ( spin_trylock_irqsave=
(&port->tx_lock, flags) )=0A+    {=0A+        if ( dbgp->state !=3D =
dbgp_unsafe )=0A+            dbgp_check_for_completion(dbgp, DBGP_CHECK_INT=
ERVAL, NULL);=0A+        if ( dbgp->state =3D=3D dbgp_idle && dbgp->out.chu=
nk )=0A+            _ehci_dbgp_flush(dbgp);=0A+        if ( dbgp->state =
=3D=3D dbgp_idle || dbgp->out.chunk < DBGP_MAX_PACKET )=0A+            =
empty =3D 1;=0A+        spin_unlock_irqrestore(&port->tx_lock, flags);=0A+ =
   }=0A+=0A+    if ( dbgp->in.chunk )=0A+        serial_rx_interrupt(port, =
regs);=0A+=0A+    if ( empty )=0A+        serial_tx_interrupt(port, =
regs);=0A+=0A+    if ( spin_trylock_irqsave(&port->tx_lock, flags) )=0A+   =
 {=0A+        if ( dbgp->state =3D=3D dbgp_idle && !dbgp->in.chunk &&=0A+  =
           !dbgp->out.chunk && port->txbufp =3D=3D port->txbufc )=0A+      =
  {=0A+            if ( dbgp_bulk_read(dbgp, USB_DEBUG_DEVNUM, dbgp->in.end=
point,=0A+                                DBGP_MAX_PACKET, NULL) )=0A+     =
           BUG();=0A+            timeout =3D MILLISECS(DBGP_IDLE_INTERVAL);=
=0A+        }=0A+        spin_unlock_irqrestore(&port->tx_lock, flags);=0A+=
    }=0A+=0A+    set_timer(&dbgp->timer, NOW() + timeout);=0A+}=0A+=0A+stat=
ic void ehci_dbgp_poll(void *data)=0A+{=0A+    poll_port =3D data;=0A+#ifde=
f run_in_exception_handler=0A+    run_in_exception_handler(_ehci_dbgp_poll)=
;=0A+#else=0A+    _ehci_dbgp_poll(guest_cpu_user_regs());=0A+#endif=0A+}=0A=
+=0A+static bool_t ehci_dbgp_setup_preirq(struct ehci_dbgp *dbgp)=0A+{=0A+ =
   if ( !ehci_dbgp_setup(dbgp) )=0A+        return 1;=0A+=0A+    dbgp_print=
k("ehci_dbgp_setup failed\n");=0A+    dbgp->ehci_debug =3D NULL;=0A+    =
return 0;=0A+}=0A+=0A+static void __init ehci_dbgp_init_preirq(struct =
serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D port->uart;=0A+  =
  u32 debug_port, offset;=0A+    void __iomem *ehci_bar;=0A+=0A+    =
debug_port =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,=0A+   =
                              dbgp->cap);=0A+    offset =3D (debug_port >> =
16) & 0xfff;=0A+=0A+    /* double check if the mem space is enabled */=0A+ =
   dbgp->pci_cr =3D pci_conf_read8(0, dbgp->bus, dbgp->slot, dbgp->func,=0A=
+                                  PCI_COMMAND);=0A+    if ( !(dbgp->pci_cr=
 & PCI_COMMAND_MEMORY) )=0A+    {=0A+        dbgp->pci_cr |=3D PCI_COMMAND_=
MEMORY;=0A+        pci_conf_write16(0, dbgp->bus, dbgp->slot, dbgp->func, =
PCI_COMMAND,=0A+                         dbgp->pci_cr);=0A+        =
dbgp_printk("MMIO for EHCI enabled\n");=0A+    }=0A+=0A+    /*=0A+     * =
FIXME I don't have the bar size so just guess PAGE_SIZE is more=0A+     * =
than enough.  1k is the biggest that was seen.=0A+     */=0A+    set_fixmap=
_nocache(FIX_EHCI_DBGP, dbgp->bar_val);=0A+    ehci_bar =3D (void __iomem =
*)fix_to_virt(FIX_EHCI_DBGP);=0A+    ehci_bar +=3D dbgp->bar_val & =
~PAGE_MASK;=0A+    dbgp_printk("ehci_bar: %p\n", ehci_bar);=0A+=0A+    =
dbgp->ehci_caps =3D ehci_bar;=0A+    dbgp->ehci_regs =3D ehci_bar +=0A+    =
                  HC_LENGTH(readl(&dbgp->ehci_caps->hc_capbase));=0A+    =
dbgp->ehci_debug =3D ehci_bar + offset;=0A+=0A+    detect_set_debug_port(db=
gp);=0A+=0A+    if ( ehci_dbgp_setup_preirq(dbgp) )=0A+        ehci_dbgp_st=
atus(dbgp, "ehci_dbgp_init_preirq complete");=0A+=0A+    port->tx_fifo_size=
 =3D DBGP_MAX_PACKET;=0A+    dbgp->lock =3D &port->tx_lock;=0A+}=0A+=0A+sta=
tic void ehci_dbgp_setup_postirq(struct ehci_dbgp *dbgp)=0A+{=0A+    =
set_timer(&dbgp->timer, NOW() + MILLISECS(1));=0A+}=0A+=0A+static void =
__init ehci_dbgp_init_postirq(struct serial_port *port)=0A+{=0A+    struct =
ehci_dbgp *dbgp =3D port->uart;=0A+=0A+    if ( !dbgp->ehci_debug )=0A+    =
    return;=0A+=0A+    serial_async_transmit(port);=0A+=0A+    init_timer(&=
dbgp->timer, ehci_dbgp_poll, port, 0);=0A+=0A+    ehci_dbgp_setup_postirq(d=
bgp);=0A+}=0A+=0A+static int ehci_dbgp_check_release(struct ehci_dbgp =
*dbgp)=0A+{=0A+    struct ehci_dbg_port __iomem *ehci_debug =3D dbgp->ehci_=
debug;=0A+    u32 ctrl;=0A+    unsigned int i;=0A+=0A+    if ( !ehci_debug =
)=0A+        return 0;=0A+=0A+    for ( i =3D 0; i < DBGP_MAX_PACKET; ++i =
)=0A+        if ( dbgp->out.buf[i] )=0A+            return 1;=0A+=0A+    =
/*=0A+     * This means the console is not initialized, or should get =
shutdown=0A+     * so as to allow for reuse of the USB device, which means =
it is time=0A+     * to shutdown the USB debug port.=0A+     */=0A+    =
printk(XENLOG_INFO "Releasing EHCI debug port at %02x:%02x.%u\n",=0A+      =
     dbgp->bus, dbgp->slot, dbgp->func);=0A+=0A+    kill_timer(&dbgp->timer=
);=0A+    dbgp->ehci_debug =3D NULL;=0A+=0A+    ctrl =3D readl(&ehci_debug-=
>control);=0A+    if ( ctrl & DBGP_ENABLED )=0A+    {=0A+        ctrl &=3D =
~DBGP_CLAIM;=0A+        writel(ctrl, &ehci_debug->control);=0A+    =
}=0A+=0A+    return 0;=0A+}=0A+=0A+static void __init ehci_dbgp_endboot(str=
uct serial_port *port)=0A+{=0A+    ehci_dbgp_check_release(port->uart);=0A+=
}=0A+=0A+static void ehci_dbgp_suspend(struct serial_port *port)=0A+{=0A+  =
  struct ehci_dbgp *dbgp =3D port->uart;=0A+=0A+    if ( !dbgp->ehci_debug =
)=0A+        return;=0A+=0A+    stop_timer(&dbgp->timer);=0A+    dbgp->time=
r.expires =3D 0;=0A+=0A+    dbgp->pci_cr =3D pci_conf_read16(0, dbgp->bus, =
dbgp->slot, dbgp->func,=0A+                                   PCI_COMMAND);=
=0A+=0A+    dbgp->state =3D dbgp_unsafe;=0A+}=0A+=0A+static void ehci_dbgp_=
resume(struct serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D =
port->uart;=0A+=0A+    if ( !dbgp->ehci_debug )=0A+        return;=0A+=0A+ =
   pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, dbgp->bar,=0A+   =
                  dbgp->bar_val);=0A+    pci_conf_write16(0, dbgp->bus, =
dbgp->slot, dbgp->func,=0A+                     PCI_COMMAND, dbgp->pci_cr);=
=0A+=0A+    ehci_dbgp_setup_preirq(dbgp);=0A+    ehci_dbgp_setup_postirq(db=
gp);=0A+}=0A+=0A+static struct uart_driver __read_mostly ehci_dbgp_driver =
=3D {=0A+    .init_preirq  =3D ehci_dbgp_init_preirq,=0A+    .init_postirq =
=3D ehci_dbgp_init_postirq,=0A+    .endboot      =3D ehci_dbgp_endboot,=0A+=
    .suspend      =3D ehci_dbgp_suspend,=0A+    .resume       =3D =
ehci_dbgp_resume,=0A+    .tx_empty     =3D ehci_dbgp_tx_empty,=0A+    =
.putc         =3D ehci_dbgp_putc,=0A+    .flush        =3D ehci_dbgp_flush,=
=0A+    .getc         =3D ehci_dbgp_getc=0A+};=0A+=0A+static struct =
ehci_dbgp ehci_dbgp =3D { .state =3D dbgp_unsafe, .phys_port =3D 1 =
};=0A+=0A+static char __initdata opt_dbgp[30];=0A+string_param("dbgp", =
opt_dbgp);=0A+=0A+void __init ehci_dbgp_init(void)=0A+{=0A+    struct =
ehci_dbgp *dbgp =3D &ehci_dbgp;=0A+    u32 debug_port, offset, bar_val;=0A+=
    const char *e;=0A+=0A+    if ( strncmp(opt_dbgp, "ehci", 4) )=0A+      =
  return;=0A+=0A+    if ( isdigit(opt_dbgp[4]) || !opt_dbgp[4] )=0A+    =
{=0A+        unsigned int num =3D 0;=0A+=0A+        if ( opt_dbgp[4] )=0A+ =
           simple_strtoul(opt_dbgp + 4, &e, 10);=0A+=0A+        dbgp->cap =
=3D find_dbgp(dbgp, num);=0A+        if ( !dbgp->cap )=0A+            =
return;=0A+=0A+        dbgp_printk("Found EHCI debug port on %02x:%02x.%u\n=
",=0A+                    dbgp->bus, dbgp->slot, dbgp->func);=0A+    }=0A+ =
   else if ( strncmp(opt_dbgp + 4, "@pci", 4) =3D=3D 0 )=0A+    {=0A+      =
  unsigned long val =3D simple_strtoul(opt_dbgp + 8, &e, 16);=0A+=0A+      =
  dbgp->bus =3D val;=0A+        if ( dbgp->bus !=3D val || *e !=3D ':' =
)=0A+            return;=0A+=0A+        val =3D simple_strtoul(e + 1, &e, =
16);=0A+        if ( PCI_SLOT(PCI_DEVFN(val, 0)) !=3D val || *e !=3D '.' =
)=0A+            return;=0A+        dbgp->slot =3D val;=0A+=0A+        val =
=3D simple_strtoul(e + 1, &e, 16);=0A+        if ( PCI_FUNC(PCI_DEVFN(0, =
val)) !=3D val || *e )=0A+            return;=0A+        dbgp->func =3D =
val;=0A+=0A+        if ( !pci_device_detect(0, dbgp->bus, dbgp->slot, =
dbgp->func) )=0A+            return;=0A+=0A+        dbgp->cap =3D =
__find_dbgp(dbgp->bus, dbgp->slot, dbgp->func);=0A+        if ( !dbgp->cap =
)=0A+            return;=0A+=0A+        dbgp_printk("Using EHCI debug port =
on %02x:%02x.%u\n",=0A+                    dbgp->bus, dbgp->slot, =
dbgp->func);=0A+    }=0A+    else=0A+        return;=0A+=0A+    debug_port =
=3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,=0A+              =
                   dbgp->cap);=0A+    dbgp->bar =3D (debug_port >> 29) & =
0x7;=0A+    dbgp->bar =3D ((dbgp->bar - 1) * 4) + PCI_BASE_ADDRESS_0;=0A+  =
  offset =3D (debug_port >> 16) & 0xfff;=0A+    dbgp_printk("bar: %02x =
offset: %03x\n", dbgp->bar, offset);=0A+    if ( dbgp->bar < PCI_BASE_ADDRE=
SS_0 || dbgp->bar > PCI_BASE_ADDRESS_5 )=0A+    {=0A+        dbgp_printk("u=
nsupported/invalid bar\n");=0A+        return;=0A+    }=0A+=0A+    =
dbgp->bar_val =3D bar_val =3D pci_conf_read32(0, dbgp->bus, dbgp->slot,=0A+=
                                              dbgp->func, dbgp->bar);=0A+  =
  dbgp_printk("bar_val: %08x\n", bar_val);=0A+    if ( bar_val & ~PCI_BASE_=
ADDRESS_MEM_MASK )=0A+    {=0A+        dbgp_printk("only simple 32-bit =
MMIO BARs supported\n");=0A+        return;=0A+    }=0A+    bar_val &=3D =
PCI_BASE_ADDRESS_MEM_MASK;=0A+    if ( !bar_val || !(bar_val + (bar_val & =
-bar_val)) )=0A+    {=0A+        dbgp_printk("firmware initialization of =
MMIO BAR required\n");=0A+        return;=0A+    }=0A+=0A+    serial_regist=
er_uart(SERHND_DBGP, &ehci_dbgp_driver, dbgp);=0A+}=0A+=0A+int dbgp_op(cons=
t struct physdev_dbgp_op *op)=0A+{=0A+    if ( !ehci_dbgp.ehci_debug )=0A+ =
       return 0;=0A+=0A+    switch ( op->bus )=0A+    {=0A+    case =
PHYSDEVOP_DBGP_BUS_UNKNOWN:=0A+        break;=0A+    case PHYSDEVOP_DBGP_BU=
S_PCI:=0A+        if ( op->u.pci.seg || ehci_dbgp.bus !=3D op->u.pci.bus =
||=0A+            PCI_DEVFN(ehci_dbgp.slot, ehci_dbgp.func) !=3D op->u.pci.=
devfn )=0A+    default:=0A+            return 0;=0A+        break;=0A+    =
}=0A+=0A+    switch ( op->op )=0A+    {=0A+    case PHYSDEVOP_DBGP_RESET_PR=
EPARE:=0A+        spin_lock_irq(ehci_dbgp.lock);=0A+        ehci_dbgp.state=
 =3D dbgp_unsafe;=0A+        dbgp_wait_until_complete(&ehci_dbgp, =
NULL);=0A+        spin_unlock_irq(ehci_dbgp.lock);=0A+=0A+        return =
ehci_dbgp_check_release(&ehci_dbgp);=0A+=0A+    case PHYSDEVOP_DBGP_RESET_D=
ONE:=0A+        return ehci_dbgp_external_startup(&ehci_dbgp) ?: 1;=0A+    =
}=0A+=0A+    return -ENOSYS;=0A+}=0A--- a/xen/drivers/char/serial.c=0A+++ =
b/xen/drivers/char/serial.c=0A@@ -265,6 +265,14 @@ int __init serial_parse_=
handle(char *con=0A {=0A     int handle;=0A =0A+    if ( !strncmp(conf, =
"dbgp", 4) && (!conf[4] || conf[4] =3D=3D ',') )=0A+    {=0A+        if ( =
!com[SERHND_DBGP].driver )=0A+            goto fail;=0A+=0A+        return =
SERHND_DBGP | SERHND_COOKED;=0A+    }=0A+=0A     if ( strncmp(conf, "com", =
3) )=0A         goto fail;=0A =0A--- a/xen/include/asm-x86/fixmap.h=0A+++ =
b/xen/include/asm-x86/fixmap.h=0A@@ -36,7 +36,15 @@=0A  * from the end of =
virtual memory backwards.=0A  */=0A enum fixed_addresses {=0A-    =
FIX_RESERVED, /* Index 0 is reserved since fix_to_virt(0) > FIXADDR_TOP. =
*/=0A+    /* Index 0 is reserved since fix_to_virt(0) =3D=3D FIXADDR_TOP. =
*/=0A+    FIX_RESERVED,=0A+    /*=0A+     * Indexes using the page tables =
set up before entering __start_xen()=0A+     * must be among the first =
(L1_PAGETABLE_ENTRIES - 1) entries.=0A+     * These are generally those =
needed by the various console drivers.=0A+     */=0A+    FIX_EHCI_DBGP,=0A+=
    /* Everything else should go further down. */=0A #ifdef __i386__=0A    =
 FIX_PAE_HIGHMEM_0,=0A     FIX_PAE_HIGHMEM_END =3D FIX_PAE_HIGHMEM_0 + =
NR_CPUS-1,=0A--- a/xen/include/public/physdev.h=0A+++ b/xen/include/public/=
physdev.h=0A@@ -312,6 +312,24 @@ struct physdev_pci_device {=0A typedef =
struct physdev_pci_device physdev_pci_device_t;=0A DEFINE_XEN_GUEST_HANDLE(=
physdev_pci_device_t);=0A =0A+#define PHYSDEVOP_DBGP_RESET_PREPARE    =
1=0A+#define PHYSDEVOP_DBGP_RESET_DONE       2=0A+=0A+#define PHYSDEVOP_DBG=
P_BUS_UNKNOWN      0=0A+#define PHYSDEVOP_DBGP_BUS_PCI          1=0A+=0A+#d=
efine PHYSDEVOP_dbgp_op               29=0A+struct physdev_dbgp_op {=0A+   =
 /* IN */=0A+    uint8_t op;=0A+    uint8_t bus;=0A+    union {=0A+        =
struct physdev_pci_device pci;=0A+    } u;=0A+};=0A+typedef struct =
physdev_dbgp_op physdev_dbgp_op_t;=0A+DEFINE_XEN_GUEST_HANDLE(physdev_dbgp_=
op_t);=0A+=0A /*=0A  * Notify that some PIRQ-bound event channels have =
been unmasked.=0A  * ** This command is obsolete since interface version =
0x00030202 and is **=0A--- a/xen/include/xen/serial.h=0A+++ b/xen/include/x=
en/serial.h=0A@@ -69,9 +69,10 @@ struct uart_driver {=0A };=0A =0A /* =
'Serial handles' are composed from the following fields. */=0A-#define =
SERHND_IDX      (3<<0) /* COM1 or COM2?                           =
*/=0A+#define SERHND_IDX      (3<<0) /* COM1, COM2, or DBGP?               =
     */=0A # define SERHND_COM1    (0<<0)=0A # define SERHND_COM2    =
(1<<0)=0A+# define SERHND_DBGP    (2<<0)=0A #define SERHND_HI       (1<<2) =
/* Mux/demux each transferred char by MSB. */=0A #define SERHND_LO       =
(1<<3) /* Ditto, except that the MSB is cleared.  */=0A #define SERHND_COOK=
ED   (1<<4) /* Newline/carriage-return translation?    */=0A@@ -142,9 =
+143,13 @@ struct ns16550_defaults {=0A     unsigned long io_base; /* =
default io_base address */=0A };=0A void ns16550_init(int index, struct =
ns16550_defaults *defaults);=0A+void ehci_dbgp_init(void);=0A =0A void =
pl011_init(int index, unsigned long register_base_address);=0A =0A+struct =
physdev_dbgp_op;=0A+int dbgp_op(const struct physdev_dbgp_op *);=0A+=0A /* =
Baud rate was pre-configured before invoking the UART driver. */=0A =
#define BAUD_AUTO (-1)=0A =0A
--=__Part3C12C094.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part3C12C094.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:02:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXgb-0005Rw-VO; Thu, 24 May 2012 13:02:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXgZ-0005Ri-8q
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:02:36 +0000
Received: from [85.158.139.83:51968] by server-10.bemta-5.messagelabs.com id
	86/92-22179-A613EBF4; Thu, 24 May 2012 13:02:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1337864549!26272524!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6363 invoked from network); 24 May 2012 13:02:29 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:02:29 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:02:29 +0100
Message-Id: <4FBE4DA50200007800085E16@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:03:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part3C12C094.0__="
Subject: [Xen-devel] [PATCH RFC 3/9] console: add EHCI debug port based
 serial console
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part3C12C094.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Low level hardware interface pieces adapted from Linux.

For setup information, see Linux'es Documentation/x86/earlyprintk.txt
and/or http://www.coreboot.org/EHCI_Debug_Port.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -201,7 +201,7 @@ A typical setup for most situations migh
 Specify the size of the console ring buffer.
=20
 ### console
-> `=3D List of [ vga | com1[H,L] | com2[H,L] | none ]`
+> `=3D List of [ vga | com1[H,L] | com2[H,L] | dbgp | none ]`
=20
 > Default: `console=3Dcom1,vga`
=20
@@ -217,6 +217,8 @@ the converse; transmitted and received c
 cleared.  This allows a single port to be shared by two subsystems
 (e.g. console and debugger).
=20
+`dbgp` indicates that Xen should use a USB debug port.
+
 `none` indicates that Xen should not use a console.  This option only
 makes sense on its own.
=20
@@ -272,6 +274,12 @@ combination with the `low_crashinfo` com
 ### credit2\_balance\_over
 ### credit2\_balance\_under
 ### credit2\_load\_window\_shift
+### dbgp
+> `=3D ehci[ <integer> | @pci<bus>:<slot>.<func> ]`
+
+Specify the USB controller to use, either by instance number (when going
+over the PCI busses sequentially) or by PCI device (must be on segment =
0).
+
 ### debug\_stack\_lines
 ### debug\_stack\_lines
 ### debugtrace
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -7,6 +7,7 @@ HAS_CPUFREQ :=3D y
 HAS_PCI :=3D y
 HAS_PASSTHROUGH :=3D y
 HAS_NS16550 :=3D y
+HAS_EHCI :=3D y
 HAS_KEXEC :=3D y
 xenoprof :=3D y
=20
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -8,6 +8,7 @@
 #include <xen/event.h>
 #include <xen/guest_access.h>
 #include <xen/iocap.h>
+#include <xen/serial.h>
 #include <asm/current.h>
 #include <asm/io_apic.h>
 #include <asm/msi.h>
@@ -719,6 +720,19 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
         rcu_unlock_domain(d);
         break;
     }
+
+    case PHYSDEVOP_dbgp_op: {
+        struct physdev_dbgp_op op;
+
+        if ( !IS_PRIV(v->domain) )
+            ret =3D -EPERM;
+        else if ( copy_from_guest(&op, arg, 1) )
+            ret =3D -EFAULT;
+        else
+            ret =3D dbgp_op(&op);
+        break;
+    }
+
     default:
         ret =3D -ENOSYS;
         break;
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -603,6 +603,7 @@ void __init __start_xen(unsigned long mb
     ns16550.io_base =3D 0x2f8;
     ns16550.irq     =3D 3;
     ns16550_init(1, &ns16550);
+    ehci_dbgp_init();
     console_init_preirq();
=20
     printk("Bootloader: %s\n", loader);
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -1,4 +1,5 @@
 obj-y +=3D console.o
 obj-$(HAS_NS16550) +=3D ns16550.o
 obj-$(HAS_PL011) +=3D pl011.o
+obj-$(HAS_EHCI) +=3D ehci-dbgp.o
 obj-y +=3D serial.o
--- /dev/null
+++ b/xen/drivers/char/ehci-dbgp.c
@@ -0,0 +1,1577 @@
+/*
+ * Standalone EHCI USB debug driver
+ *
+ * Hardware interface code based on the respective early console driver =
in
+ * Linux; see the Linux source for authorship and copyrights.
+ */
+
+#include <xen/config.h>
+#include <xen/console.h>
+#include <xen/delay.h>
+#include <xen/errno.h>
+#include <xen/pci.h>
+#include <xen/serial.h>
+#include <asm/byteorder.h>
+#include <asm/io.h>
+#include <asm/fixmap.h>
+#include <public/physdev.h>
+
+/* #define DBGP_DEBUG */
+
+/* EHCI register interface, corresponds to EHCI Revision 0.95 specificatio=
n */
+
+/* Section 2.2 Host Controller Capability Registers */
+struct ehci_caps {
+    /*
+     * These fields are specified as 8 and 16 bit registers,
+     * but some hosts can't perform 8 or 16 bit PCI accesses.
+     * some hosts treat caplength and hciversion as parts of a 32-bit
+     * register, others treat them as two separate registers, this
+     * affects the memory map for big endian controllers.
+     */
+    u32 hc_capbase;
+#define HC_LENGTH(p)      (0x00ff & (p)) /* bits 7:0 / offset 0x00 */
+#define HC_VERSION(p)     (0xffff & ((p) >> 16)) /* bits 31:16 / offset =
0x02 */
+
+    u32 hcs_params;       /* HCSPARAMS - offset 0x04 */
+#define HCS_DEBUG_PORT(p) (((p) >> 20) & 0xf) /* bits 23:20, debug port? =
*/
+#define HCS_INDICATOR(p)  ((p) & (1 << 16))   /* true: has port indicators=
 */
+#define HCS_N_CC(p)       (((p) >> 12) & 0xf) /* bits 15:12, #companion =
HCs */
+#define HCS_N_PCC(p)      (((p) >> 8) & 0xf)  /* bits 11:8, ports per CC =
*/
+#define HCS_PORTROUTED(p) ((p) & (1 << 7))    /* true: port routing */
+#define HCS_PPC(p)        ((p) & (1 << 4))    /* true: port power control =
*/
+#define HCS_N_PORTS(p)    (((p) >> 0) & 0xf)  /* bits 3:0, ports on HC */
+
+    u32 hcc_params;       /* HCCPARAMS - offset 0x08 */
+/* EHCI 1.1 addendum */
+#define HCC_32FRAME_PERIODIC_LIST(p) ((p) & (1 << 19))
+#define HCC_PER_PORT_CHANGE_EVENT(p) ((p) & (1 << 18))
+#define HCC_LPM(p)        ((p) & (1 << 17))
+#define HCC_HW_PREFETCH(p) ((p) & (1 << 16))
+#define HCC_EXT_CAPS(p)   (((p) >> 8) & 0xff) /* for pci extended caps */
+#define HCC_ISOC_CACHE(p) ((p) & (1 << 7))    /* true: can cache isoc =
frame */
+#define HCC_ISOC_THRES(p) (((p) >> 4) & 0x7)  /* bits 6:4, uframes cached =
*/
+#define HCC_CANPARK(p)    ((p) & (1 << 2))    /* true: can park on async =
qh */
+#define HCC_PGM_FRAMELISTLEN(p) ((p) & (1 << 1)) /* true: periodic_size =
changes */
+#define HCC_64BIT_ADDR(p) ((p) & 1)           /* true: can use 64-bit =
addr */
+
+    u8  portroute[8];     /* nibbles for routing - offset 0x0C */
+};
+
+/* Section 2.3 Host Controller Operational Registers */
+struct ehci_regs {
+    /* USBCMD: offset 0x00 */
+    u32 command;
+
+/* EHCI 1.1 addendum */
+#define CMD_HIRD        (0xf << 24) /* host initiated resume duration */
+#define CMD_PPCEE       (1 << 15)   /* per port change event enable */
+#define CMD_FSP         (1 << 14)   /* fully synchronized prefetch */
+#define CMD_ASPE        (1 << 13)   /* async schedule prefetch enable */
+#define CMD_PSPE        (1 << 12)   /* periodic schedule prefetch enable =
*/
+/* 23:16 is r/w intr rate, in microframes; default "8" =3D=3D 1/msec */
+#define CMD_PARK        (1 << 11)   /* enable "park" on async qh */
+#define CMD_PARK_CNT(c) (((c) >> 8) & 3) /* how many transfers to park =
for */
+#define CMD_LRESET      (1 << 7)    /* partial reset (no ports, etc) */
+#define CMD_IAAD        (1 << 6)    /* "doorbell" interrupt async advance =
*/
+#define CMD_ASE         (1 << 5)    /* async schedule enable */
+#define CMD_PSE         (1 << 4)    /* periodic schedule enable */
+/* 3:2 is periodic frame list size */
+#define CMD_RESET       (1 << 1)    /* reset HC not bus */
+#define CMD_RUN         (1 << 0)    /* start/stop HC */
+
+    /* USBSTS: offset 0x04 */
+    u32 status;
+#define STS_PPCE_MASK   (0xff << 16) /* Per-Port change event 1-16 */
+#define STS_ASS         (1 << 15)   /* Async Schedule Status */
+#define STS_PSS         (1 << 14)   /* Periodic Schedule Status */
+#define STS_RECL        (1 << 13)   /* Reclamation */
+#define STS_HALT        (1 << 12)   /* Not running (any reason) */
+/* some bits reserved */
+    /* these STS_* flags are also intr_enable bits (USBINTR) */
+#define STS_IAA         (1 << 5)    /* Interrupted on async advance */
+#define STS_FATAL       (1 << 4)    /* such as some PCI access errors */
+#define STS_FLR         (1 << 3)    /* frame list rolled over */
+#define STS_PCD         (1 << 2)    /* port change detect */
+#define STS_ERR         (1 << 1)    /* "error" completion (overflow, ...) =
*/
+#define STS_INT         (1 << 0)    /* "normal" completion (short, ...) =
*/
+
+    /* USBINTR: offset 0x08 */
+    u32 intr_enable;
+
+    /* FRINDEX: offset 0x0C */
+    u32 frame_index;    /* current microframe number */
+    /* CTRLDSSEGMENT: offset 0x10 */
+    u32 segment;    /* address bits 63:32 if needed */
+    /* PERIODICLISTBASE: offset 0x14 */
+    u32 frame_list;    /* points to periodic list */
+    /* ASYNCLISTADDR: offset 0x18 */
+    u32 async_next;    /* address of next async queue head */
+
+    u32 reserved[9];
+
+    /* CONFIGFLAG: offset 0x40 */
+    u32 configured_flag;
+#define FLAG_CF         (1 << 0)    /* true: we'll support "high speed" =
*/
+
+    /* PORTSC: offset 0x44 */
+    u32 port_status[0];    /* up to N_PORTS */
+/* EHCI 1.1 addendum */
+#define PORTSC_SUSPEND_STS_ACK   0
+#define PORTSC_SUSPEND_STS_NYET  1
+#define PORTSC_SUSPEND_STS_STALL 2
+#define PORTSC_SUSPEND_STS_ERR   3
+
+#define PORT_DEV_ADDR   (0x7f << 25) /* device address */
+#define PORT_SSTS       (0x3 << 23)  /* suspend status */
+/* 31:23 reserved */
+#define PORT_WKOC_E     (1 << 22)    /* wake on overcurrent (enable) */
+#define PORT_WKDISC_E   (1 << 21)    /* wake on disconnect (enable) */
+#define PORT_WKCONN_E   (1 << 20)    /* wake on connect (enable) */
+/* 19:16 for port testing */
+#define PORT_TEST(x)    (((x) & 0xf) << 16) /* Port Test Control */
+#define PORT_TEST_PKT   PORT_TEST(0x4) /* Port Test Control - packet test =
*/
+#define PORT_TEST_FORCE PORT_TEST(0x5) /* Port Test Control - force =
enable */
+#define PORT_LED_OFF    (0 << 14)
+#define PORT_LED_AMBER  (1 << 14)
+#define PORT_LED_GREEN  (2 << 14)
+#define PORT_LED_MASK   (3 << 14)
+#define PORT_OWNER      (1 << 13)    /* true: companion hc owns this port =
*/
+#define PORT_POWER      (1 << 12)    /* true: has power (see PPC) */
+#define PORT_USB11(x)   (((x) & (3 << 10)) =3D=3D (1 << 10)) /* USB 1.1 =
device */
+/* 11:10 for detecting lowspeed devices (reset vs release ownership) */
+/* 9 reserved */
+#define PORT_LPM        (1 << 9)     /* LPM transaction */
+#define PORT_RESET      (1 << 8)     /* reset port */
+#define PORT_SUSPEND    (1 << 7)     /* suspend port */
+#define PORT_RESUME     (1 << 6)     /* resume it */
+#define PORT_OCC        (1 << 5)     /* over current change */
+#define PORT_OC         (1 << 4)     /* over current active */
+#define PORT_PEC        (1 << 3)     /* port enable change */
+#define PORT_PE         (1 << 2)     /* port enable */
+#define PORT_CSC        (1 << 1)     /* connect status change */
+#define PORT_CONNECT    (1 << 0)     /* device connected */
+#define PORT_RWC_BITS   (PORT_CSC | PORT_PEC | PORT_OCC)
+};
+
+/*
+ * Appendix C, Debug port ... intended for use with special "debug =
devices"
+ * that can help if there's no serial console.  (nonstandard enumeration.)=

+ */
+struct ehci_dbg_port {
+    u32 control;
+#define DBGP_OWNER      (1 << 30)
+#define DBGP_ENABLED    (1 << 28)
+#define DBGP_DONE       (1 << 16)
+#define DBGP_INUSE      (1 << 10)
+#define DBGP_ERRCODE(x) (((x) >> 7) & 0x07)
+# define DBGP_ERR_BAD    1
+# define DBGP_ERR_SIGNAL 2
+#define DBGP_ERROR      (1 << 6)
+#define DBGP_GO         (1 << 5)
+#define DBGP_OUT        (1 << 4)
+#define DBGP_LEN        (0xf << 0)
+#define DBGP_CLAIM      (DBGP_OWNER | DBGP_ENABLED | DBGP_INUSE)
+    u32 pids;
+#define DBGP_PID_GET(x)         (((x) >> 16) & 0xff)
+#define DBGP_PID_SET(data, tok) (((data) << 8) | (tok))
+    u32 data03;
+    u32 data47;
+    u32 address;
+#define DBGP_EPADDR(dev, ep) (((dev) << 8) | (ep))
+};
+
+/* CONTROL REQUEST SUPPORT */
+
+/*
+ * USB directions
+ *
+ * This bit flag is used in endpoint descriptors' bEndpointAddress field.
+ * It's also one of three fields in control requests bRequestType.
+ */
+#define USB_DIR_OUT 0           /* to device */
+#define USB_DIR_IN  0x80        /* to host */
+
+/*
+ * USB types, the second of three bRequestType fields
+ */
+#define USB_TYPE_MASK     (0x03 << 5)
+#define USB_TYPE_STANDARD (0x00 << 5)
+#define USB_TYPE_CLASS    (0x01 << 5)
+#define USB_TYPE_VENDOR   (0x02 << 5)
+#define USB_TYPE_RESERVED (0x03 << 5)
+
+/*
+ * USB recipients, the third of three bRequestType fields
+ */
+#define USB_RECIP_MASK      0x1f
+#define USB_RECIP_DEVICE    0x00
+#define USB_RECIP_INTERFACE 0x01
+#define USB_RECIP_ENDPOINT  0x02
+#define USB_RECIP_OTHER     0x03
+/* From Wireless USB 1.0 */
+#define USB_RECIP_PORT      0x04
+#define USB_RECIP_RPIPE     0x05
+
+/*
+ * Standard requests, for the bRequest field of a SETUP packet.
+ *
+ * These are qualified by the bRequestType field, so that for example
+ * TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved
+ * by a GET_STATUS request.
+ */
+#define USB_REQ_GET_STATUS        0x00
+#define USB_REQ_CLEAR_FEATURE     0x01
+#define USB_REQ_SET_FEATURE       0x03
+#define USB_REQ_SET_ADDRESS       0x05
+#define USB_REQ_GET_DESCRIPTOR    0x06
+#define USB_REQ_SET_DESCRIPTOR    0x07
+#define USB_REQ_GET_CONFIGURATION 0x08
+#define USB_REQ_SET_CONFIGURATION 0x09
+#define USB_REQ_GET_INTERFACE     0x0A
+#define USB_REQ_SET_INTERFACE     0x0B
+#define USB_REQ_SYNCH_FRAME       0x0C
+
+#define USB_DEVICE_DEBUG_MODE        6    /* (special devices only) */
+
+/**
+ * struct usb_ctrlrequest - SETUP data for a USB device control request
+ * @bRequestType: matches the USB bmRequestType field
+ * @bRequest: matches the USB bRequest field
+ * @wValue: matches the USB wValue field (le16 byte order)
+ * @wIndex: matches the USB wIndex field (le16 byte order)
+ * @wLength: matches the USB wLength field (le16 byte order)
+ *
+ * This structure is used to send control requests to a USB device.  It =
matches
+ * the different fields of the USB 2.0 Spec section 9.3, table 9-2.  See =
the
+ * USB spec for a fuller description of the different fields, and what =
they are
+ * used for.
+ *
+ * Note that the driver for any interface can issue control requests.
+ * For most devices, interfaces don't coordinate with each other, so
+ * such requests may be made at any time.
+ */
+struct usb_ctrlrequest {
+    u8 bRequestType;
+    u8 bRequest;
+    __le16 wValue;
+    __le16 wIndex;
+    __le16 wLength;
+} __attribute__ ((packed));
+
+/* USB_DT_DEBUG: for special highspeed devices, replacing serial console =
*/
+
+#define USB_DT_DEBUG    0x0a
+
+struct usb_debug_descriptor {
+    u8 bLength;
+    u8 bDescriptorType;
+    /* bulk endpoints with 8 byte maxpacket */
+    u8 bDebugInEndpoint;
+    u8 bDebugOutEndpoint;
+} __attribute__((packed));
+
+#define USB_DEBUG_DEVNUM 127
+
+/*
+ * USB Packet IDs (PIDs)
+ */
+
+/* token */
+#define USB_PID_OUT           0xe1
+#define USB_PID_IN            0x69
+#define USB_PID_SOF           0xa5
+#define USB_PID_SETUP         0x2d
+/* handshake */
+#define USB_PID_ACK           0xd2
+#define USB_PID_NAK           0x5a
+#define USB_PID_STALL         0x1e
+#define USB_PID_NYET          0x96
+/* data */
+#define USB_PID_DATA0         0xc3
+#define USB_PID_DATA1         0x4b
+#define USB_PID_DATA2         0x87
+#define USB_PID_MDATA         0x0f
+/* Special */
+#define USB_PID_PREAMBLE      0x3c
+#define USB_PID_ERR           0x3c
+#define USB_PID_SPLIT         0x78
+#define USB_PID_PING          0xb4
+#define USB_PID_UNDEF_0       0xf0
+
+#define PCI_CLASS_SERIAL_USB_EHCI 0x0c0320
+#define PCI_CAP_ID_EHCI_DEBUG     0x0a
+
+#define HUB_ROOT_RESET_TIME   50    /* times are in msec */
+#define HUB_SHORT_RESET_TIME  10
+#define HUB_LONG_RESET_TIME   200
+#define HUB_RESET_TIMEOUT     500
+
+#define DBGP_MAX_PACKET       8
+#define DBGP_LOOPS            1000
+#define DBGP_TIMEOUT          (250 * 1000) /* us */
+#define DBGP_CHECK_INTERVAL   100 /* us */
+/* This one can be set arbitrarily - only affects input responsiveness: =
*/
+#define DBGP_IDLE_INTERVAL    100 /* ms */
+
+struct ehci_dbgp {
+    struct ehci_dbg_port __iomem *ehci_debug;
+    enum dbgp_state {
+        dbgp_idle,
+        dbgp_out,
+        dbgp_in,
+        dbgp_ctrl,
+        dbgp_unsafe /* cannot use debug device during EHCI reset */
+    } state;
+    unsigned int phys_port;
+    struct {
+        unsigned int endpoint;
+        unsigned int chunk;
+        char buf[DBGP_MAX_PACKET];
+    } out, in;
+    unsigned long timeout;
+    struct timer timer;
+    spinlock_t *lock;
+    bool_t reset_run;
+    u8 bus, slot, func, bar;
+    u16 pci_cr;
+    u32 bar_val;
+    unsigned int cap;
+    struct ehci_regs __iomem *ehci_regs;
+    struct ehci_caps __iomem *ehci_caps;
+};
+
+static int ehci_dbgp_external_startup(struct ehci_dbgp *);
+
+static void ehci_dbgp_status(struct ehci_dbgp *dbgp, const char *str)
+{
+#ifdef DBGP_DEBUG
+#define dbgp_printk printk
+    if ( !dbgp->ehci_debug )
+        return;
+    dbgp_printk("dbgp: %s\n", str);
+    dbgp_printk("  debug control: %08x\n", readl(&dbgp->ehci_debug->contro=
l));
+    dbgp_printk("  EHCI cmd     : %08x\n", readl(&dbgp->ehci_regs->command=
));
+    dbgp_printk("  EHCI conf flg: %08x\n",
+                readl(&dbgp->ehci_regs->configured_flag));
+    dbgp_printk("  EHCI status  : %08x\n", readl(&dbgp->ehci_regs->status)=
);
+    dbgp_printk("  EHCI portsc  : %08x\n",
+                readl(&dbgp->ehci_regs->port_status[dbgp->phys_port - =
1]));
+#endif
+}
+
+#ifndef DBGP_DEBUG
+static inline __attribute__ ((format (printf, 1, 2))) void
+dbgp_printk(const char *fmt, ...) { }
+#endif
+
+static inline u32 dbgp_len_update(u32 x, u32 len)
+{
+    return (x & ~DBGP_LEN) | (len & DBGP_LEN) | DBGP_OUT;
+}
+
+static inline u32 dbgp_pid_write_update(u32 x, u32 tok)
+{
+    static u8 data0 =3D USB_PID_DATA1;
+
+    data0 ^=3D USB_PID_DATA0 ^ USB_PID_DATA1;
+    return (x & 0xffff0000) | (data0 << 8) | (tok & 0xff);
+}
+
+static inline u32 dbgp_pid_read_update(u32 x, u32 tok)
+{
+    return (x & 0xffffff00) | (tok & 0xff);
+}
+
+static inline void dbgp_set_data(struct ehci_dbg_port __iomem *ehci_debug,=

+                                 const void *buf, unsigned int size)
+{
+    const unsigned char *bytes =3D buf;
+    u32 lo =3D 0, hi =3D 0;
+    unsigned int i;
+
+    for ( i =3D 0; i < 4 && i < size; i++ )
+        lo |=3D bytes[i] << (8 * i);
+    for ( ; i < 8 && i < size; i++ )
+        hi |=3D bytes[i] << (8 * (i - 4));
+    writel(lo, &ehci_debug->data03);
+    writel(hi, &ehci_debug->data47);
+}
+
+static inline void dbgp_get_data(struct ehci_dbg_port __iomem *ehci_debug,=

+                                 void *buf, int size)
+{
+    unsigned char *bytes =3D buf;
+    u32 lo =3D readl(&ehci_debug->data03);
+    u32 hi =3D readl(&ehci_debug->data47);
+    unsigned int i;
+
+    for ( i =3D 0; i < 4 && i < size; i++ )
+        bytes[i] =3D (lo >> (8 * i)) & 0xff;
+    for ( ; i < 8 && i < size; i++ )
+        bytes[i] =3D (hi >> (8 * (i - 4))) & 0xff;
+}
+
+static void dbgp_issue_command(struct ehci_dbgp *dbgp, u32 ctrl,
+                               enum dbgp_state state)
+{
+    u32 cmd =3D readl(&dbgp->ehci_regs->command);
+
+    if ( unlikely(!(cmd & CMD_RUN)) )
+    {
+        /*
+         * If the EHCI controller is not in the run state do extended
+         * checks to see if ACPI or some other initialization also
+         * reset the EHCI debug port.
+         */
+        u32 ctrl =3D readl(&dbgp->ehci_debug->control);
+
+        if ( ctrl & DBGP_ENABLED )
+        {
+            cmd |=3D CMD_RUN;
+            writel(cmd, &dbgp->ehci_regs->command);
+            dbgp->reset_run =3D 1;
+        }
+        else if ( dbgp->state !=3D dbgp_unsafe )
+        {
+            dbgp->state =3D dbgp_unsafe;
+            ehci_dbgp_external_startup(dbgp);
+        }
+    }
+
+    writel(ctrl | DBGP_GO, &dbgp->ehci_debug->control);
+    dbgp->timeout =3D DBGP_TIMEOUT;
+    if ( dbgp->state !=3D dbgp_unsafe )
+        dbgp->state =3D state;
+}
+
+static int dbgp_check_for_completion(struct ehci_dbgp *dbgp,
+                                     unsigned int interval, u8 *ppid)
+{
+    u32 ctrl;
+    int ret;
+
+    if ( dbgp->state =3D=3D dbgp_idle )
+        return 0;
+
+    ctrl =3D readl(&dbgp->ehci_debug->control) & ~DBGP_GO;
+    if ( !(ctrl & DBGP_DONE) )
+    {
+        if ( dbgp->timeout > interval )
+            dbgp->timeout -=3D interval;
+        else if ( interval )
+        {
+            /* See the timeout related comment in dbgp_wait_until_done(). =
*/
+            dbgp->state =3D dbgp_unsafe;
+            dbgp->timeout =3D 0;
+        }
+        return -DBGP_TIMEOUT;
+    }
+
+    if ( ctrl & DBGP_ERROR )
+    {
+        ret =3D -DBGP_ERRCODE(ctrl);
+        if ( ret =3D=3D -DBGP_ERR_BAD && dbgp->timeout > interval )
+            ctrl |=3D DBGP_GO;
+    }
+    else
+    {
+        u8 pid =3D DBGP_PID_GET(readl(&dbgp->ehci_debug->pids));
+
+        ret =3D ctrl & DBGP_LEN;
+        if ( ppid )
+            *ppid =3D pid;
+        else if ( dbgp->state =3D=3D dbgp_in )
+        {
+            dbgp_get_data(dbgp->ehci_debug, dbgp->in.buf, ret);
+            dbgp->in.chunk =3D ret;
+        }
+        else if ( pid =3D=3D USB_PID_NAK && dbgp->timeout > interval )
+            ctrl |=3D DBGP_GO;
+    }
+
+    writel(ctrl, &dbgp->ehci_debug->control);
+    if ( ctrl & DBGP_GO )
+    {
+        dbgp->timeout -=3D interval;
+        return -DBGP_TIMEOUT;
+    }
+
+    if ( unlikely(dbgp->reset_run) )
+    {
+        writel(readl(&dbgp->ehci_regs->command) & ~CMD_RUN,
+               &dbgp->ehci_regs->command);
+        dbgp->reset_run =3D 0;
+    }
+
+    if ( dbgp->state !=3D dbgp_unsafe )
+        dbgp->state =3D dbgp_idle;
+
+    return ret;
+}
+
+static int dbgp_wait_until_complete(struct ehci_dbgp *dbgp, u8 *ppid)
+{
+    unsigned int loop =3D DBGP_TIMEOUT;
+    int ret;
+
+    do {
+        ret =3D dbgp_check_for_completion(dbgp, 0, ppid);
+        if ( ret !=3D -DBGP_TIMEOUT )
+            break;
+        udelay(1);
+    } while ( --loop );
+
+    if ( !ppid && !loop )
+        dbgp->state =3D dbgp_unsafe;
+
+    return ret;
+}
+
+static inline void dbgp_mdelay(unsigned int ms)
+{
+    while ( ms-- )
+    {
+        unsigned int i;
+
+        for ( i =3D 0; i < 1000; i++ )
+            outb(0x1, 0x80);
+    }
+}
+
+static void dbgp_breathe(void)
+{
+    /* Sleep to give the debug port a chance to breathe. */
+    dbgp_mdelay(1);
+}
+
+static int dbgp_wait_until_done(struct ehci_dbgp *dbgp, u32 ctrl,
+                                unsigned int loop)
+{
+    int ret;
+
+    dbgp->timeout =3D 0;
+
+    for ( ; ; writel(ctrl | DBGP_GO, &dbgp->ehci_debug->control) )
+    {
+        u8 pid;
+
+        ret =3D dbgp_wait_until_complete(dbgp, &pid);
+        if ( ret < 0 )
+        {
+            /*
+             * A -DBGP_TIMEOUT failure here means the device has failed,
+             * perhaps because it was unplugged, in which case we do not
+             * want to hang the system so the dbgp will be marked as =
unsafe
+             * to use. EHCI reset is the only way to recover if you =
unplug
+             * the dbgp device.
+             */
+            if ( ret =3D=3D -DBGP_TIMEOUT )
+                dbgp->state =3D dbgp_unsafe;
+            if ( ret !=3D -DBGP_ERR_BAD || !--loop )
+                break;
+        }
+        else
+        {
+            /*
+             * If the port is getting full or it has dropped data
+             * start pacing ourselves, not necessary but it's friendly.
+             */
+            if ( pid =3D=3D USB_PID_NAK || pid =3D=3D USB_PID_NYET )
+                dbgp_breathe();
+
+            /* If we got a NACK, reissue the transmission. */
+            if ( pid !=3D USB_PID_NAK || !--loop )
+                break;
+        }
+    }
+
+    return ret;
+}
+
+static int dbgp_bulk_write(struct ehci_dbgp *dbgp,
+                           unsigned int devnum, unsigned int endpoint,
+                           const void *bytes, unsigned int size, u32 =
*pctrl)
+{
+    u32 addr, pids, ctrl;
+
+    if ( size > DBGP_MAX_PACKET )
+        return -EINVAL;
+
+    addr =3D DBGP_EPADDR(devnum, endpoint);
+    pids =3D dbgp_pid_write_update(readl(&dbgp->ehci_debug->pids), =
USB_PID_OUT);
+    ctrl =3D dbgp_len_update(readl(&dbgp->ehci_debug->control), size);
+    if ( pctrl )
+        *pctrl =3D ctrl;
+
+    dbgp_set_data(dbgp->ehci_debug, bytes, size);
+    writel(addr, &dbgp->ehci_debug->address);
+    writel(pids, &dbgp->ehci_debug->pids);
+    dbgp_issue_command(dbgp, ctrl, dbgp_out);
+
+    return 0;
+}
+
+static int dbgp_bulk_read(struct ehci_dbgp *dbgp,
+                          unsigned int devnum, unsigned int endpoint,
+                          unsigned int size, u32 *pctrl)
+{
+    u32 addr, pids, ctrl;
+
+    if ( size > DBGP_MAX_PACKET )
+        return -EINVAL;
+
+    addr =3D DBGP_EPADDR(devnum, endpoint);
+    pids =3D dbgp_pid_read_update(readl(&dbgp->ehci_debug->pids), =
USB_PID_IN);
+    ctrl =3D readl(&dbgp->ehci_debug->control) & ~DBGP_OUT;
+
+    writel(addr, &dbgp->ehci_debug->address);
+    writel(pids, &dbgp->ehci_debug->pids);
+    if ( likely(!pctrl) )
+        dbgp_issue_command(dbgp, ctrl, dbgp_in);
+    else
+        dbgp_issue_command(dbgp, *pctrl =3D ctrl, dbgp_ctrl);
+
+    return 0;
+}
+
+static int dbgp_control_msg(struct ehci_dbgp *dbgp, unsigned int devnum,
+                            int requesttype, int request, int value,
+                            int index, void *data, unsigned int size)
+{
+    u32 addr, pids, ctrl;
+    struct usb_ctrlrequest req;
+    bool_t read =3D (requesttype & USB_DIR_IN) !=3D 0;
+    int ret;
+
+    if ( size > (read ? DBGP_MAX_PACKET : 0) )
+        return -EINVAL;
+
+    /* Compute the control message */
+    req.bRequestType =3D requesttype;
+    req.bRequest =3D request;
+    req.wValue =3D cpu_to_le16(value);
+    req.wIndex =3D cpu_to_le16(index);
+    req.wLength =3D cpu_to_le16(size);
+
+    pids =3D DBGP_PID_SET(USB_PID_DATA0, USB_PID_SETUP);
+    addr =3D DBGP_EPADDR(devnum, 0);
+    ctrl =3D dbgp_len_update(readl(&dbgp->ehci_debug->control), sizeof(req=
));
+
+    /* Send the setup message */
+    dbgp_set_data(dbgp->ehci_debug, &req, sizeof(req));
+    writel(addr, &dbgp->ehci_debug->address);
+    writel(pids, &dbgp->ehci_debug->pids);
+    dbgp_issue_command(dbgp, ctrl, dbgp_ctrl);
+    ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);
+    if ( ret < 0 )
+        return ret;
+
+    /* Read the result */
+    ret =3D dbgp_bulk_read(dbgp, devnum, 0, size, &ctrl);
+    if ( !ret )
+        ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);
+    if ( ret > 0 )
+    {
+        if ( size > ret )
+            size =3D ret;
+        dbgp_get_data(dbgp->ehci_debug, data, size);
+    }
+
+    return ret;
+}
+
+static unsigned int __init __find_dbgp(u8 bus, u8 slot, u8 func)
+{
+    u32 class =3D pci_conf_read32(0, bus, slot, func, PCI_CLASS_REVISION);=

+
+    if ( (class >> 8) !=3D PCI_CLASS_SERIAL_USB_EHCI )
+        return 0;
+
+    return pci_find_cap_offset(0, bus, slot, func, PCI_CAP_ID_EHCI_DEBUG);=

+}
+
+static unsigned int __init find_dbgp(struct ehci_dbgp *dbgp,
+                                     unsigned int ehci_num)
+{
+    unsigned int bus, slot, func;
+
+    for ( bus =3D 0; bus < 256; bus++ )
+    {
+        for ( slot =3D 0; slot < 32; slot++ )
+        {
+            for ( func =3D 0; func < 8; func++ )
+            {
+                unsigned int cap;
+
+                if ( !pci_device_detect(0, bus, slot, func) )
+                {
+                    if ( !func )
+                        break;
+                    continue;
+                }
+
+                cap =3D __find_dbgp(bus, slot, func);
+                if ( !cap || ehci_num-- )
+                {
+                    if ( !func && !(pci_conf_read8(0, bus, slot, func,
+                                                   PCI_HEADER_TYPE) & =
0x80) )
+                        break;
+                    continue;
+                }
+
+                dbgp->bus =3D bus;
+                dbgp->slot =3D slot;
+                dbgp->func =3D func;
+                return cap;
+            }
+        }
+    }
+
+    return 0;
+}
+
+static int ehci_dbgp_startup(struct ehci_dbgp *dbgp)
+{
+    u32 ctrl, cmd, status;
+    unsigned int loop;
+
+    /* Claim ownership, but do not enable yet */
+    ctrl =3D readl(&dbgp->ehci_debug->control);
+    ctrl |=3D DBGP_OWNER;
+    ctrl &=3D ~(DBGP_ENABLED | DBGP_INUSE);
+    writel(ctrl, &dbgp->ehci_debug->control);
+    udelay(1);
+
+    ehci_dbgp_status(dbgp, "EHCI startup");
+    /* Start the EHCI. */
+    cmd =3D readl(&dbgp->ehci_regs->command);
+    cmd &=3D ~(CMD_LRESET | CMD_IAAD | CMD_PSE | CMD_ASE | CMD_RESET);
+    cmd |=3D CMD_RUN;
+    writel(cmd, &dbgp->ehci_regs->command);
+
+    /* Ensure everything is routed to the EHCI */
+    writel(FLAG_CF, &dbgp->ehci_regs->configured_flag);
+
+    /* Wait until the controller is no longer halted */
+    loop =3D 10;
+    do {
+        status =3D readl(&dbgp->ehci_regs->status);
+        if ( !(status & STS_HALT) )
+            break;
+        udelay(1);
+    } while ( --loop );
+
+    if ( !loop )
+    {
+        dbgp_printk("EHCI cannot be started\n");
+        return -ENODEV;
+    }
+    dbgp_printk("EHCI started\n");
+
+    return 0;
+}
+
+static int ehci_dbgp_controller_reset(struct ehci_dbgp *dbgp)
+{
+    unsigned int loop =3D 250 * 1000;
+    u32 cmd;
+
+    /* Reset the EHCI controller */
+    cmd =3D readl(&dbgp->ehci_regs->command);
+    cmd |=3D CMD_RESET;
+    writel(cmd, &dbgp->ehci_regs->command);
+    do {
+        cmd =3D readl(&dbgp->ehci_regs->command);
+    } while ( (cmd & CMD_RESET) && --loop );
+
+    if ( !loop )
+    {
+        dbgp_printk("cannot reset EHCI\n");
+        return -1;
+    }
+    ehci_dbgp_status(dbgp, "ehci reset done");
+
+    return 0;
+}
+
+static int ehci_reset_port(struct ehci_dbgp *dbgp, unsigned int port)
+{
+    u32 portsc, delay_time, delay;
+
+    ehci_dbgp_status(dbgp, "reset port");
+    /* Reset the USB debug port. */
+    portsc =3D readl(&dbgp->ehci_regs->port_status[port - 1]);
+    portsc &=3D ~PORT_PE;
+    portsc |=3D PORT_RESET;
+    writel(portsc, &dbgp->ehci_regs->port_status[port - 1]);
+
+    delay =3D HUB_ROOT_RESET_TIME;
+    for ( delay_time =3D 0; delay_time < HUB_RESET_TIMEOUT;
+          delay_time +=3D delay )
+    {
+        dbgp_mdelay(delay);
+        portsc =3D readl(&dbgp->ehci_regs->port_status[port - 1]);
+        if (!(portsc & PORT_RESET))
+            break;
+    }
+
+    if ( portsc & PORT_RESET )
+    {
+        /* force reset to complete */
+        unsigned int loop =3D 100 * 1000;
+
+        writel(portsc & ~(PORT_RWC_BITS | PORT_RESET),
+               &dbgp->ehci_regs->port_status[port - 1]);
+        do {
+            udelay(1);
+            portsc =3D readl(&dbgp->ehci_regs->port_status[port-1]);
+        } while ( (portsc & PORT_RESET) && --loop );
+    }
+
+    /* Device went away? */
+    if ( !(portsc & PORT_CONNECT) )
+        return -ENOTCONN;
+
+    /* bomb out completely if something weird happened */
+    if ( portsc & PORT_CSC )
+        return -EINVAL;
+
+    /* If we've finished resetting, then break out of the loop */
+    if ( !(portsc & PORT_RESET) && (portsc & PORT_PE) )
+        return 0;
+
+    return -EBUSY;
+}
+
+static int ehci_wait_for_port(struct ehci_dbgp *dbgp, unsigned int port)
+{
+    u32 status;
+    unsigned int reps;
+
+    for ( reps =3D 0; reps < 300; reps++ )
+    {
+        status =3D readl(&dbgp->ehci_regs->status);
+        if ( status & STS_PCD )
+            break;
+        dbgp_mdelay(1);
+    }
+
+    return ehci_reset_port(dbgp, port) =3D=3D 0 ? 0 : -ENOTCONN;
+}
+
+/* Return 0 on success
+ * Return -ENODEV for any general failure
+ * Return -EIO if wait for port fails
+ */
+static int ehci_dbgp_external_startup(struct ehci_dbgp *dbgp)
+{
+    unsigned int devnum;
+    struct usb_debug_descriptor dbgp_desc;
+    int ret;
+    u32 ctrl, portsc, cmd;
+    unsigned int dbg_port =3D dbgp->phys_port;
+    unsigned int tries =3D 3;
+    unsigned int reset_port_tries =3D 1;
+    bool_t try_hard_once =3D 1;
+
+try_port_reset_again:
+    ret =3D ehci_dbgp_startup(dbgp);
+    if ( ret )
+        return ret;
+
+    /* Wait for a device to show up in the debug port */
+    ret =3D ehci_wait_for_port(dbgp, dbg_port);
+    if ( ret < 0 )
+    {
+        portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - 1]);
+        if ( !(portsc & PORT_CONNECT) && try_hard_once )
+        {
+            /*
+             * Last ditch effort to try to force enable the debug device =
by
+             * using the packet test EHCI command to try and wake it up.
+             */
+            try_hard_once =3D 0;
+            cmd =3D readl(&dbgp->ehci_regs->command);
+            cmd &=3D ~CMD_RUN;
+            writel(cmd, &dbgp->ehci_regs->command);
+            portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - =
1]);
+            portsc |=3D PORT_TEST_PKT;
+            writel(portsc, &dbgp->ehci_regs->port_status[dbg_port - 1]);
+            ehci_dbgp_status(dbgp, "Trying to force debug port online");
+            mdelay(50);
+            ehci_dbgp_controller_reset(dbgp);
+            goto try_port_reset_again;
+        }
+        else if ( reset_port_tries-- )
+            goto try_port_reset_again;
+        dbgp_printk("no device found in debug port\n");
+        return -EIO;
+    }
+    ehci_dbgp_status(dbgp, "wait for port done");
+
+    /* Enable the debug port */
+    ctrl =3D readl(&dbgp->ehci_debug->control);
+    ctrl |=3D DBGP_CLAIM;
+    writel(ctrl, &dbgp->ehci_debug->control);
+    ctrl =3D readl(&dbgp->ehci_debug->control);
+    if ( (ctrl & DBGP_CLAIM) !=3D DBGP_CLAIM )
+    {
+        dbgp_printk("no device in debug port\n");
+        writel(ctrl & ~DBGP_CLAIM, &dbgp->ehci_debug->control);
+        return -ENODEV;
+    }
+    ehci_dbgp_status(dbgp, "debug port enabled");
+
+    /* Completely transfer the debug device to the debug controller */
+    portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - 1]);
+    portsc &=3D ~PORT_PE;
+    writel(portsc, &dbgp->ehci_regs->port_status[dbg_port - 1]);
+
+    dbgp_mdelay(100);
+
+try_again:
+    /* Find the debug device and make it device number 127 */
+    for ( devnum =3D 0; devnum <=3D 127; devnum++ )
+    {
+        ret =3D dbgp_control_msg(dbgp, devnum,
+                               USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_=
DEVICE,
+                               USB_REQ_GET_DESCRIPTOR, (USB_DT_DEBUG << =
8), 0,
+                               &dbgp_desc, sizeof(dbgp_desc));
+        if ( ret > 0 )
+            break;
+    }
+    if ( devnum > 127 )
+    {
+        dbgp_printk("could not find attached debug device\n");
+        goto err;
+    }
+    if ( ret < 0 )
+    {
+        dbgp_printk("attached device is not a debug device\n");
+        goto err;
+    }
+    dbgp->out.endpoint =3D dbgp_desc.bDebugOutEndpoint;
+    dbgp->in.endpoint =3D dbgp_desc.bDebugInEndpoint;
+
+    /* Move the device to 127 if it isn't already there. */
+    if ( devnum !=3D USB_DEBUG_DEVNUM )
+    {
+        ret =3D dbgp_control_msg(dbgp, devnum,
+                               USB_DIR_OUT | USB_TYPE_STANDARD | =
USB_RECIP_DEVICE,
+                               USB_REQ_SET_ADDRESS, USB_DEBUG_DEVNUM, 0, =
NULL, 0);
+        if ( ret < 0 )
+        {
+            dbgp_printk("could not move attached device to %d\n",
+                        USB_DEBUG_DEVNUM);
+            goto err;
+        }
+        devnum =3D USB_DEBUG_DEVNUM;
+        dbgp_printk("debug device renamed to 127\n");
+    }
+
+    /* Enable the debug interface */
+    ret =3D dbgp_control_msg(dbgp, USB_DEBUG_DEVNUM,
+                           USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEV=
ICE,
+                           USB_REQ_SET_FEATURE, USB_DEVICE_DEBUG_MODE,
+                           0, NULL, 0);
+    if ( ret < 0 )
+    {
+        dbgp_printk("could not enable the debug device\n");
+        goto err;
+    }
+    dbgp_printk("debug interface enabled\n");
+
+    /* Perform a small write to get the even/odd data state in sync. */
+    ret =3D dbgp_bulk_write(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoint,
+                          "\n", 1, &ctrl);
+    if ( !ret )
+        ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);
+    if ( ret < 0 )
+    {
+        dbgp_printk("dbgp_bulk_write failed: %d\n", ret);
+        goto err;
+    }
+    dbgp_printk("small write done\n");
+    dbgp->state =3D dbgp_idle;
+
+    return 0;
+err:
+    if ( tries-- )
+        goto try_again;
+    return -ENODEV;
+}
+
+typedef void (*set_debug_port_t)(struct ehci_dbgp *, unsigned int);
+
+static void default_set_debug_port(struct ehci_dbgp *dbgp, unsigned int =
port)
+{
+}
+
+static set_debug_port_t __read_mostly set_debug_port =3D default_set_debug=
_port;
+
+static void nvidia_set_debug_port(struct ehci_dbgp *dbgp, unsigned int =
port)
+{
+    u32 dword =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, =
0x74);
+
+    dword &=3D ~(0x0f << 12);
+    dword |=3D (port & 0x0f) << 12;
+    pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, 0x74, dword);
+    dbgp_printk("set debug port to %u\n", port);
+}
+
+static void __init detect_set_debug_port(struct ehci_dbgp *dbgp)
+{
+    if ( pci_conf_read16(0, dbgp->bus, dbgp->slot, dbgp->func,
+                         PCI_VENDOR_ID) =3D=3D 0x10de )
+    {
+        dbgp_printk("using nvidia set_debug_port\n");
+        set_debug_port =3D nvidia_set_debug_port;
+    }
+}
+
+/*
+ * The code in ehci_dbgp_bios_handoff() is derived from the USB PCI
+ * quirk initialization in Linux.
+ */
+#define EHCI_USBLEGSUP_BIOS    (1 << 16) /* BIOS semaphore */
+#define EHCI_USBLEGCTLSTS      4        /* legacy control/status */
+static void ehci_dbgp_bios_handoff(struct ehci_dbgp *dbgp, u32 hcc_params)=

+{
+    u32 cap;
+    unsigned int offset =3D HCC_EXT_CAPS(hcc_params);
+    int msec;
+
+    if ( !offset )
+        return;
+
+    cap =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, =
offset);
+    dbgp_printk("dbgp: EHCI BIOS state %08x\n", cap);
+
+    if ( (cap & 0xff) =3D=3D 1 && (cap & EHCI_USBLEGSUP_BIOS) )
+    {
+        dbgp_printk("dbgp: BIOS handoff\n");
+        pci_conf_write8(0, dbgp->bus, dbgp->slot, dbgp->func, offset + 3, =
1);
+    }
+
+    /* if boot firmware now owns EHCI, spin till it hands it over. */
+    msec =3D 1000;
+    while ( (cap & EHCI_USBLEGSUP_BIOS) && (msec > 0) )
+    {
+        mdelay(10);
+        msec -=3D 10;
+        cap =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, =
offset);
+    }
+
+    if ( cap & EHCI_USBLEGSUP_BIOS )
+    {
+        /* well, possibly buggy BIOS... try to shut it down,
+         * and hope nothing goes too wrong */
+        dbgp_printk("dbgp: BIOS handoff failed: %08x\n", cap);
+        pci_conf_write8(0, dbgp->bus, dbgp->slot, dbgp->func, offset + 2, =
0);
+    }
+
+    /* just in case, always disable EHCI SMIs */
+    pci_conf_write8(0, dbgp->bus, dbgp->slot, dbgp->func,
+                    offset + EHCI_USBLEGCTLSTS, 0);
+}
+
+static int ehci_dbgp_setup(struct ehci_dbgp *dbgp)
+{
+    u32 ctrl, portsc, hcs_params;
+    unsigned int i, debug_port, new_debug_port =3D 0, n_ports;
+    unsigned int port_map_tried, playtimes =3D 3;
+    int ret;
+
+    ehci_dbgp_bios_handoff(dbgp, readl(&dbgp->ehci_caps->hcc_params));
+
+try_next_time:
+    port_map_tried =3D 0;
+
+try_next_port:
+
+    hcs_params =3D readl(&dbgp->ehci_caps->hcs_params);
+    debug_port =3D HCS_DEBUG_PORT(hcs_params);
+    dbgp->phys_port =3D debug_port;
+    n_ports =3D HCS_N_PORTS(hcs_params);
+
+    dbgp_printk("debug_port: %u\n", debug_port);
+    dbgp_printk("n_ports:    %u\n", n_ports);
+    ehci_dbgp_status(dbgp, "");
+
+    for ( i =3D 1; i <=3D n_ports; i++ )
+    {
+        portsc =3D readl(&dbgp->ehci_regs->port_status[i-1]);
+        dbgp_printk("portstatus%d: %08x\n", i, portsc);
+    }
+
+    if ( port_map_tried && (new_debug_port !=3D debug_port) )
+    {
+        if ( --playtimes )
+        {
+            set_debug_port(dbgp, new_debug_port);
+            goto try_next_time;
+        }
+        return -1;
+    }
+
+    /* Only reset the controller if it is not already in the
+     * configured state */
+    if ( readl(&dbgp->ehci_regs->configured_flag) & FLAG_CF )
+        ehci_dbgp_status(dbgp, "ehci skip - already configured");
+    else if ( ehci_dbgp_controller_reset(dbgp) !=3D 0 )
+        return -1;
+
+    ret =3D ehci_dbgp_external_startup(dbgp);
+    if (ret =3D=3D -EIO)
+        goto next_debug_port;
+
+    if ( ret < 0 )
+    {
+        /* Things didn't work so remove my claim */
+        ctrl =3D readl(&dbgp->ehci_debug->control);
+        ctrl &=3D ~(DBGP_CLAIM | DBGP_OUT);
+        writel(ctrl, &dbgp->ehci_debug->control);
+        return -1;
+    }
+
+    return 0;
+
+next_debug_port:
+    port_map_tried |=3D 1 << (debug_port - 1);
+    new_debug_port =3D (debug_port % n_ports) + 1;
+    if ( port_map_tried !=3D ((1 << n_ports) - 1) )
+    {
+        set_debug_port(dbgp, new_debug_port);
+        goto try_next_port;
+    }
+    if ( --playtimes )
+    {
+        set_debug_port(dbgp, new_debug_port);
+        goto try_next_time;
+    }
+
+    return -1;
+}
+
+static inline void _ehci_dbgp_flush(struct ehci_dbgp *dbgp)
+{
+    if ( dbgp_bulk_write(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoint,
+                         dbgp->out.buf, dbgp->out.chunk, NULL) )
+        BUG();
+    dbgp->out.chunk =3D 0;
+}
+
+static void ehci_dbgp_flush(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+    s_time_t goal;
+
+    if ( !dbgp->out.chunk || !dbgp->ehci_debug || dbgp->state =3D=3D =
dbgp_unsafe )
+        return;
+
+    if ( dbgp->state =3D=3D dbgp_idle || !port->sync )
+        dbgp_check_for_completion(dbgp, 1, NULL);
+    else
+        dbgp_wait_until_complete(dbgp, NULL);
+
+    if ( dbgp->state =3D=3D dbgp_idle )
+    {
+        _ehci_dbgp_flush(dbgp);
+
+        if ( port->sync )
+        {
+            dbgp_wait_until_complete(dbgp, NULL);
+            return;
+        }
+    }
+
+    goal =3D NOW() + MICROSECS(DBGP_CHECK_INTERVAL);
+    if ( dbgp->timer.expires > goal )
+       set_timer(&dbgp->timer, goal);
+}
+
+static void ehci_dbgp_putc(struct serial_port *port, char c)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( unlikely(dbgp->out.chunk >=3D DBGP_MAX_PACKET) )
+        return;
+
+    dbgp->out.buf[dbgp->out.chunk++] =3D c;
+
+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )
+        ehci_dbgp_flush(port);
+}
+
+static int ehci_dbgp_tx_empty(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( unlikely(!dbgp->ehci_debug) || unlikely(dbgp->state =3D=3D =
dbgp_unsafe) )
+        return port->sync || port->tx_log_everything || !port->txbuf;
+
+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )
+        ehci_dbgp_flush(port);
+    else
+        dbgp_check_for_completion(dbgp, 1, NULL);
+
+    if ( dbgp->state !=3D dbgp_idle && dbgp->out.chunk >=3D DBGP_MAX_PACKE=
T )
+        return 0;
+
+    port->tx_fifo_size =3D DBGP_MAX_PACKET - dbgp->out.chunk;
+    if ( dbgp->state =3D=3D dbgp_idle )
+        port->tx_fifo_size +=3D DBGP_MAX_PACKET;
+
+    return 1;
+}
+
+static int ehci_dbgp_getc(struct serial_port *port, char *pc)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->in.chunk )
+        return 0;
+
+    *pc =3D *dbgp->in.buf;
+    if ( --dbgp->in.chunk )
+        memmove(dbgp->in.buf, dbgp->in.buf + 1, dbgp->in.chunk);
+
+    return 1;
+}
+
+/* Safe: ehci_dbgp_poll() runs as timer handler, so not reentrant. */
+static struct serial_port *poll_port;
+
+static void _ehci_dbgp_poll(struct cpu_user_regs *regs)
+{
+    struct serial_port *port =3D poll_port;
+    struct ehci_dbgp *dbgp =3D port->uart;
+    unsigned long flags;
+    unsigned int timeout =3D MICROSECS(DBGP_CHECK_INTERVAL);
+    bool_t empty =3D 0;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    if ( spin_trylock_irqsave(&port->tx_lock, flags) )
+    {
+        if ( dbgp->state !=3D dbgp_unsafe )
+            dbgp_check_for_completion(dbgp, DBGP_CHECK_INTERVAL, NULL);
+        if ( dbgp->state =3D=3D dbgp_idle && dbgp->out.chunk )
+            _ehci_dbgp_flush(dbgp);
+        if ( dbgp->state =3D=3D dbgp_idle || dbgp->out.chunk < DBGP_MAX_PA=
CKET )
+            empty =3D 1;
+        spin_unlock_irqrestore(&port->tx_lock, flags);
+    }
+
+    if ( dbgp->in.chunk )
+        serial_rx_interrupt(port, regs);
+
+    if ( empty )
+        serial_tx_interrupt(port, regs);
+
+    if ( spin_trylock_irqsave(&port->tx_lock, flags) )
+    {
+        if ( dbgp->state =3D=3D dbgp_idle && !dbgp->in.chunk &&
+             !dbgp->out.chunk && port->txbufp =3D=3D port->txbufc )
+        {
+            if ( dbgp_bulk_read(dbgp, USB_DEBUG_DEVNUM, dbgp->in.endpoint,=

+                                DBGP_MAX_PACKET, NULL) )
+                BUG();
+            timeout =3D MILLISECS(DBGP_IDLE_INTERVAL);
+        }
+        spin_unlock_irqrestore(&port->tx_lock, flags);
+    }
+
+    set_timer(&dbgp->timer, NOW() + timeout);
+}
+
+static void ehci_dbgp_poll(void *data)
+{
+    poll_port =3D data;
+#ifdef run_in_exception_handler
+    run_in_exception_handler(_ehci_dbgp_poll);
+#else
+    _ehci_dbgp_poll(guest_cpu_user_regs());
+#endif
+}
+
+static bool_t ehci_dbgp_setup_preirq(struct ehci_dbgp *dbgp)
+{
+    if ( !ehci_dbgp_setup(dbgp) )
+        return 1;
+
+    dbgp_printk("ehci_dbgp_setup failed\n");
+    dbgp->ehci_debug =3D NULL;
+    return 0;
+}
+
+static void __init ehci_dbgp_init_preirq(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+    u32 debug_port, offset;
+    void __iomem *ehci_bar;
+
+    debug_port =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,
+                                 dbgp->cap);
+    offset =3D (debug_port >> 16) & 0xfff;
+
+    /* double check if the mem space is enabled */
+    dbgp->pci_cr =3D pci_conf_read8(0, dbgp->bus, dbgp->slot, dbgp->func,
+                                  PCI_COMMAND);
+    if ( !(dbgp->pci_cr & PCI_COMMAND_MEMORY) )
+    {
+        dbgp->pci_cr |=3D PCI_COMMAND_MEMORY;
+        pci_conf_write16(0, dbgp->bus, dbgp->slot, dbgp->func, PCI_COMMAND=
,
+                         dbgp->pci_cr);
+        dbgp_printk("MMIO for EHCI enabled\n");
+    }
+
+    /*
+     * FIXME I don't have the bar size so just guess PAGE_SIZE is more
+     * than enough.  1k is the biggest that was seen.
+     */
+    set_fixmap_nocache(FIX_EHCI_DBGP, dbgp->bar_val);
+    ehci_bar =3D (void __iomem *)fix_to_virt(FIX_EHCI_DBGP);
+    ehci_bar +=3D dbgp->bar_val & ~PAGE_MASK;
+    dbgp_printk("ehci_bar: %p\n", ehci_bar);
+
+    dbgp->ehci_caps =3D ehci_bar;
+    dbgp->ehci_regs =3D ehci_bar +
+                      HC_LENGTH(readl(&dbgp->ehci_caps->hc_capbase));
+    dbgp->ehci_debug =3D ehci_bar + offset;
+
+    detect_set_debug_port(dbgp);
+
+    if ( ehci_dbgp_setup_preirq(dbgp) )
+        ehci_dbgp_status(dbgp, "ehci_dbgp_init_preirq complete");
+
+    port->tx_fifo_size =3D DBGP_MAX_PACKET;
+    dbgp->lock =3D &port->tx_lock;
+}
+
+static void ehci_dbgp_setup_postirq(struct ehci_dbgp *dbgp)
+{
+    set_timer(&dbgp->timer, NOW() + MILLISECS(1));
+}
+
+static void __init ehci_dbgp_init_postirq(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    serial_async_transmit(port);
+
+    init_timer(&dbgp->timer, ehci_dbgp_poll, port, 0);
+
+    ehci_dbgp_setup_postirq(dbgp);
+}
+
+static int ehci_dbgp_check_release(struct ehci_dbgp *dbgp)
+{
+    struct ehci_dbg_port __iomem *ehci_debug =3D dbgp->ehci_debug;
+    u32 ctrl;
+    unsigned int i;
+
+    if ( !ehci_debug )
+        return 0;
+
+    for ( i =3D 0; i < DBGP_MAX_PACKET; ++i )
+        if ( dbgp->out.buf[i] )
+            return 1;
+
+    /*
+     * This means the console is not initialized, or should get shutdown
+     * so as to allow for reuse of the USB device, which means it is time
+     * to shutdown the USB debug port.
+     */
+    printk(XENLOG_INFO "Releasing EHCI debug port at %02x:%02x.%u\n",
+           dbgp->bus, dbgp->slot, dbgp->func);
+
+    kill_timer(&dbgp->timer);
+    dbgp->ehci_debug =3D NULL;
+
+    ctrl =3D readl(&ehci_debug->control);
+    if ( ctrl & DBGP_ENABLED )
+    {
+        ctrl &=3D ~DBGP_CLAIM;
+        writel(ctrl, &ehci_debug->control);
+    }
+
+    return 0;
+}
+
+static void __init ehci_dbgp_endboot(struct serial_port *port)
+{
+    ehci_dbgp_check_release(port->uart);
+}
+
+static void ehci_dbgp_suspend(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    stop_timer(&dbgp->timer);
+    dbgp->timer.expires =3D 0;
+
+    dbgp->pci_cr =3D pci_conf_read16(0, dbgp->bus, dbgp->slot, dbgp->func,=

+                                   PCI_COMMAND);
+
+    dbgp->state =3D dbgp_unsafe;
+}
+
+static void ehci_dbgp_resume(struct serial_port *port)
+{
+    struct ehci_dbgp *dbgp =3D port->uart;
+
+    if ( !dbgp->ehci_debug )
+        return;
+
+    pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, dbgp->bar,
+                     dbgp->bar_val);
+    pci_conf_write16(0, dbgp->bus, dbgp->slot, dbgp->func,
+                     PCI_COMMAND, dbgp->pci_cr);
+
+    ehci_dbgp_setup_preirq(dbgp);
+    ehci_dbgp_setup_postirq(dbgp);
+}
+
+static struct uart_driver __read_mostly ehci_dbgp_driver =3D {
+    .init_preirq  =3D ehci_dbgp_init_preirq,
+    .init_postirq =3D ehci_dbgp_init_postirq,
+    .endboot      =3D ehci_dbgp_endboot,
+    .suspend      =3D ehci_dbgp_suspend,
+    .resume       =3D ehci_dbgp_resume,
+    .tx_empty     =3D ehci_dbgp_tx_empty,
+    .putc         =3D ehci_dbgp_putc,
+    .flush        =3D ehci_dbgp_flush,
+    .getc         =3D ehci_dbgp_getc
+};
+
+static struct ehci_dbgp ehci_dbgp =3D { .state =3D dbgp_unsafe, .phys_port=
 =3D 1 };
+
+static char __initdata opt_dbgp[30];
+string_param("dbgp", opt_dbgp);
+
+void __init ehci_dbgp_init(void)
+{
+    struct ehci_dbgp *dbgp =3D &ehci_dbgp;
+    u32 debug_port, offset, bar_val;
+    const char *e;
+
+    if ( strncmp(opt_dbgp, "ehci", 4) )
+        return;
+
+    if ( isdigit(opt_dbgp[4]) || !opt_dbgp[4] )
+    {
+        unsigned int num =3D 0;
+
+        if ( opt_dbgp[4] )
+            simple_strtoul(opt_dbgp + 4, &e, 10);
+
+        dbgp->cap =3D find_dbgp(dbgp, num);
+        if ( !dbgp->cap )
+            return;
+
+        dbgp_printk("Found EHCI debug port on %02x:%02x.%u\n",
+                    dbgp->bus, dbgp->slot, dbgp->func);
+    }
+    else if ( strncmp(opt_dbgp + 4, "@pci", 4) =3D=3D 0 )
+    {
+        unsigned long val =3D simple_strtoul(opt_dbgp + 8, &e, 16);
+
+        dbgp->bus =3D val;
+        if ( dbgp->bus !=3D val || *e !=3D ':' )
+            return;
+
+        val =3D simple_strtoul(e + 1, &e, 16);
+        if ( PCI_SLOT(PCI_DEVFN(val, 0)) !=3D val || *e !=3D '.' )
+            return;
+        dbgp->slot =3D val;
+
+        val =3D simple_strtoul(e + 1, &e, 16);
+        if ( PCI_FUNC(PCI_DEVFN(0, val)) !=3D val || *e )
+            return;
+        dbgp->func =3D val;
+
+        if ( !pci_device_detect(0, dbgp->bus, dbgp->slot, dbgp->func) )
+            return;
+
+        dbgp->cap =3D __find_dbgp(dbgp->bus, dbgp->slot, dbgp->func);
+        if ( !dbgp->cap )
+            return;
+
+        dbgp_printk("Using EHCI debug port on %02x:%02x.%u\n",
+                    dbgp->bus, dbgp->slot, dbgp->func);
+    }
+    else
+        return;
+
+    debug_port =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,
+                                 dbgp->cap);
+    dbgp->bar =3D (debug_port >> 29) & 0x7;
+    dbgp->bar =3D ((dbgp->bar - 1) * 4) + PCI_BASE_ADDRESS_0;
+    offset =3D (debug_port >> 16) & 0xfff;
+    dbgp_printk("bar: %02x offset: %03x\n", dbgp->bar, offset);
+    if ( dbgp->bar < PCI_BASE_ADDRESS_0 || dbgp->bar > PCI_BASE_ADDRESS_5 =
)
+    {
+        dbgp_printk("unsupported/invalid bar\n");
+        return;
+    }
+
+    dbgp->bar_val =3D bar_val =3D pci_conf_read32(0, dbgp->bus, dbgp->slot=
,
+                                              dbgp->func, dbgp->bar);
+    dbgp_printk("bar_val: %08x\n", bar_val);
+    if ( bar_val & ~PCI_BASE_ADDRESS_MEM_MASK )
+    {
+        dbgp_printk("only simple 32-bit MMIO BARs supported\n");
+        return;
+    }
+    bar_val &=3D PCI_BASE_ADDRESS_MEM_MASK;
+    if ( !bar_val || !(bar_val + (bar_val & -bar_val)) )
+    {
+        dbgp_printk("firmware initialization of MMIO BAR required\n");
+        return;
+    }
+
+    serial_register_uart(SERHND_DBGP, &ehci_dbgp_driver, dbgp);
+}
+
+int dbgp_op(const struct physdev_dbgp_op *op)
+{
+    if ( !ehci_dbgp.ehci_debug )
+        return 0;
+
+    switch ( op->bus )
+    {
+    case PHYSDEVOP_DBGP_BUS_UNKNOWN:
+        break;
+    case PHYSDEVOP_DBGP_BUS_PCI:
+        if ( op->u.pci.seg || ehci_dbgp.bus !=3D op->u.pci.bus ||
+            PCI_DEVFN(ehci_dbgp.slot, ehci_dbgp.func) !=3D op->u.pci.devfn=
 )
+    default:
+            return 0;
+        break;
+    }
+
+    switch ( op->op )
+    {
+    case PHYSDEVOP_DBGP_RESET_PREPARE:
+        spin_lock_irq(ehci_dbgp.lock);
+        ehci_dbgp.state =3D dbgp_unsafe;
+        dbgp_wait_until_complete(&ehci_dbgp, NULL);
+        spin_unlock_irq(ehci_dbgp.lock);
+
+        return ehci_dbgp_check_release(&ehci_dbgp);
+
+    case PHYSDEVOP_DBGP_RESET_DONE:
+        return ehci_dbgp_external_startup(&ehci_dbgp) ?: 1;
+    }
+
+    return -ENOSYS;
+}
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -265,6 +265,14 @@ int __init serial_parse_handle(char *con
 {
     int handle;
=20
+    if ( !strncmp(conf, "dbgp", 4) && (!conf[4] || conf[4] =3D=3D ',') )
+    {
+        if ( !com[SERHND_DBGP].driver )
+            goto fail;
+
+        return SERHND_DBGP | SERHND_COOKED;
+    }
+
     if ( strncmp(conf, "com", 3) )
         goto fail;
=20
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -36,7 +36,15 @@
  * from the end of virtual memory backwards.
  */
 enum fixed_addresses {
-    FIX_RESERVED, /* Index 0 is reserved since fix_to_virt(0) > FIXADDR_TO=
P. */
+    /* Index 0 is reserved since fix_to_virt(0) =3D=3D FIXADDR_TOP. */
+    FIX_RESERVED,
+    /*
+     * Indexes using the page tables set up before entering __start_xen()
+     * must be among the first (L1_PAGETABLE_ENTRIES - 1) entries.
+     * These are generally those needed by the various console drivers.
+     */
+    FIX_EHCI_DBGP,
+    /* Everything else should go further down. */
 #ifdef __i386__
     FIX_PAE_HIGHMEM_0,
     FIX_PAE_HIGHMEM_END =3D FIX_PAE_HIGHMEM_0 + NR_CPUS-1,
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -312,6 +312,24 @@ struct physdev_pci_device {
 typedef struct physdev_pci_device physdev_pci_device_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_t);
=20
+#define PHYSDEVOP_DBGP_RESET_PREPARE    1
+#define PHYSDEVOP_DBGP_RESET_DONE       2
+
+#define PHYSDEVOP_DBGP_BUS_UNKNOWN      0
+#define PHYSDEVOP_DBGP_BUS_PCI          1
+
+#define PHYSDEVOP_dbgp_op               29
+struct physdev_dbgp_op {
+    /* IN */
+    uint8_t op;
+    uint8_t bus;
+    union {
+        struct physdev_pci_device pci;
+    } u;
+};
+typedef struct physdev_dbgp_op physdev_dbgp_op_t;
+DEFINE_XEN_GUEST_HANDLE(physdev_dbgp_op_t);
+
 /*
  * Notify that some PIRQ-bound event channels have been unmasked.
  * ** This command is obsolete since interface version 0x00030202 and is =
**
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -69,9 +69,10 @@ struct uart_driver {
 };
=20
 /* 'Serial handles' are composed from the following fields. */
-#define SERHND_IDX      (3<<0) /* COM1 or COM2?                           =
*/
+#define SERHND_IDX      (3<<0) /* COM1, COM2, or DBGP?                    =
*/
 # define SERHND_COM1    (0<<0)
 # define SERHND_COM2    (1<<0)
+# define SERHND_DBGP    (2<<0)
 #define SERHND_HI       (1<<2) /* Mux/demux each transferred char by MSB. =
*/
 #define SERHND_LO       (1<<3) /* Ditto, except that the MSB is cleared.  =
*/
 #define SERHND_COOKED   (1<<4) /* Newline/carriage-return translation?    =
*/
@@ -142,9 +143,13 @@ struct ns16550_defaults {
     unsigned long io_base; /* default io_base address */
 };
 void ns16550_init(int index, struct ns16550_defaults *defaults);
+void ehci_dbgp_init(void);
=20
 void pl011_init(int index, unsigned long register_base_address);
=20
+struct physdev_dbgp_op;
+int dbgp_op(const struct physdev_dbgp_op *);
+
 /* Baud rate was pre-configured before invoking the UART driver. */
 #define BAUD_AUTO (-1)
=20



--=__Part3C12C094.0__=
Content-Type: text/plain; name="sercon-ehci-dbgp.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ehci-dbgp.patch"

console: add EHCI debug port based serial console=0A=0ALow level hardware =
interface pieces adapted from Linux.=0A=0AFor setup information, see =
Linux'es Documentation/x86/earlyprintk.txt=0Aand/or http://www.coreboot.org=
/EHCI_Debug_Port.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/docs/misc/xen-command-line.markdown=0A+++ b/docs/misc/xen-command-lin=
e.markdown=0A@@ -201,7 +201,7 @@ A typical setup for most situations =
migh=0A Specify the size of the console ring buffer.=0A =0A ### console=0A-=
> `=3D List of [ vga | com1[H,L] | com2[H,L] | none ]`=0A+> `=3D List of [ =
vga | com1[H,L] | com2[H,L] | dbgp | none ]`=0A =0A > Default: `console=3Dc=
om1,vga`=0A =0A@@ -217,6 +217,8 @@ the converse; transmitted and received =
c=0A cleared.  This allows a single port to be shared by two subsystems=0A =
(e.g. console and debugger).=0A =0A+`dbgp` indicates that Xen should use a =
USB debug port.=0A+=0A `none` indicates that Xen should not use a console. =
 This option only=0A makes sense on its own.=0A =0A@@ -272,6 +274,12 @@ =
combination with the `low_crashinfo` com=0A ### credit2\_balance\_over=0A =
### credit2\_balance\_under=0A ### credit2\_load\_window\_shift=0A+### =
dbgp=0A+> `=3D ehci[ <integer> | @pci<bus>:<slot>.<func> ]`=0A+=0A+Specify =
the USB controller to use, either by instance number (when going=0A+over =
the PCI busses sequentially) or by PCI device (must be on segment =
0).=0A+=0A ### debug\_stack\_lines=0A ### debug\_stack\_lines=0A ### =
debugtrace=0A--- a/xen/arch/x86/Rules.mk=0A+++ b/xen/arch/x86/Rules.mk=0A@@=
 -7,6 +7,7 @@ HAS_CPUFREQ :=3D y=0A HAS_PCI :=3D y=0A HAS_PASSTHROUGH :=3D =
y=0A HAS_NS16550 :=3D y=0A+HAS_EHCI :=3D y=0A HAS_KEXEC :=3D y=0A xenoprof =
:=3D y=0A =0A--- a/xen/arch/x86/physdev.c=0A+++ b/xen/arch/x86/physdev.c=0A=
@@ -8,6 +8,7 @@=0A #include <xen/event.h>=0A #include <xen/guest_access.h>=
=0A #include <xen/iocap.h>=0A+#include <xen/serial.h>=0A #include =
<asm/current.h>=0A #include <asm/io_apic.h>=0A #include <asm/msi.h>=0A@@ =
-719,6 +720,19 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H=0A         =
rcu_unlock_domain(d);=0A         break;=0A     }=0A+=0A+    case PHYSDEVOP_=
dbgp_op: {=0A+        struct physdev_dbgp_op op;=0A+=0A+        if ( =
!IS_PRIV(v->domain) )=0A+            ret =3D -EPERM;=0A+        else if ( =
copy_from_guest(&op, arg, 1) )=0A+            ret =3D -EFAULT;=0A+        =
else=0A+            ret =3D dbgp_op(&op);=0A+        break;=0A+    =
}=0A+=0A     default:=0A         ret =3D -ENOSYS;=0A         break;=0A--- =
a/xen/arch/x86/setup.c=0A+++ b/xen/arch/x86/setup.c=0A@@ -603,6 +603,7 @@ =
void __init __start_xen(unsigned long mb=0A     ns16550.io_base =3D =
0x2f8;=0A     ns16550.irq     =3D 3;=0A     ns16550_init(1, &ns16550);=0A+ =
   ehci_dbgp_init();=0A     console_init_preirq();=0A =0A     printk("Bootl=
oader: %s\n", loader);=0A--- a/xen/drivers/char/Makefile=0A+++ b/xen/driver=
s/char/Makefile=0A@@ -1,4 +1,5 @@=0A obj-y +=3D console.o=0A obj-$(HAS_NS16=
550) +=3D ns16550.o=0A obj-$(HAS_PL011) +=3D pl011.o=0A+obj-$(HAS_EHCI) =
+=3D ehci-dbgp.o=0A obj-y +=3D serial.o=0A--- /dev/null=0A+++ b/xen/drivers=
/char/ehci-dbgp.c=0A@@ -0,0 +1,1577 @@=0A+/*=0A+ * Standalone EHCI USB =
debug driver=0A+ *=0A+ * Hardware interface code based on the respective =
early console driver in=0A+ * Linux; see the Linux source for authorship =
and copyrights.=0A+ */=0A+=0A+#include <xen/config.h>=0A+#include =
<xen/console.h>=0A+#include <xen/delay.h>=0A+#include <xen/errno.h>=0A+#inc=
lude <xen/pci.h>=0A+#include <xen/serial.h>=0A+#include <asm/byteorder.h>=
=0A+#include <asm/io.h>=0A+#include <asm/fixmap.h>=0A+#include <public/phys=
dev.h>=0A+=0A+/* #define DBGP_DEBUG */=0A+=0A+/* EHCI register interface, =
corresponds to EHCI Revision 0.95 specification */=0A+=0A+/* Section 2.2 =
Host Controller Capability Registers */=0A+struct ehci_caps {=0A+    =
/*=0A+     * These fields are specified as 8 and 16 bit registers,=0A+     =
* but some hosts can't perform 8 or 16 bit PCI accesses.=0A+     * some =
hosts treat caplength and hciversion as parts of a 32-bit=0A+     * =
register, others treat them as two separate registers, this=0A+     * =
affects the memory map for big endian controllers.=0A+     */=0A+    u32 =
hc_capbase;=0A+#define HC_LENGTH(p)      (0x00ff & (p)) /* bits 7:0 / =
offset 0x00 */=0A+#define HC_VERSION(p)     (0xffff & ((p) >> 16)) /* bits =
31:16 / offset 0x02 */=0A+=0A+    u32 hcs_params;       /* HCSPARAMS - =
offset 0x04 */=0A+#define HCS_DEBUG_PORT(p) (((p) >> 20) & 0xf) /* bits =
23:20, debug port? */=0A+#define HCS_INDICATOR(p)  ((p) & (1 << 16))   /* =
true: has port indicators */=0A+#define HCS_N_CC(p)       (((p) >> 12) & =
0xf) /* bits 15:12, #companion HCs */=0A+#define HCS_N_PCC(p)      (((p) =
>> 8) & 0xf)  /* bits 11:8, ports per CC */=0A+#define HCS_PORTROUTED(p) =
((p) & (1 << 7))    /* true: port routing */=0A+#define HCS_PPC(p)        =
((p) & (1 << 4))    /* true: port power control */=0A+#define HCS_N_PORTS(p=
)    (((p) >> 0) & 0xf)  /* bits 3:0, ports on HC */=0A+=0A+    u32 =
hcc_params;       /* HCCPARAMS - offset 0x08 */=0A+/* EHCI 1.1 addendum =
*/=0A+#define HCC_32FRAME_PERIODIC_LIST(p) ((p) & (1 << 19))=0A+#define =
HCC_PER_PORT_CHANGE_EVENT(p) ((p) & (1 << 18))=0A+#define HCC_LPM(p)       =
 ((p) & (1 << 17))=0A+#define HCC_HW_PREFETCH(p) ((p) & (1 << 16))=0A+#defi=
ne HCC_EXT_CAPS(p)   (((p) >> 8) & 0xff) /* for pci extended caps =
*/=0A+#define HCC_ISOC_CACHE(p) ((p) & (1 << 7))    /* true: can cache =
isoc frame */=0A+#define HCC_ISOC_THRES(p) (((p) >> 4) & 0x7)  /* bits =
6:4, uframes cached */=0A+#define HCC_CANPARK(p)    ((p) & (1 << 2))    /* =
true: can park on async qh */=0A+#define HCC_PGM_FRAMELISTLEN(p) ((p) & (1 =
<< 1)) /* true: periodic_size changes */=0A+#define HCC_64BIT_ADDR(p) ((p) =
& 1)           /* true: can use 64-bit addr */=0A+=0A+    u8  portroute[8];=
     /* nibbles for routing - offset 0x0C */=0A+};=0A+=0A+/* Section 2.3 =
Host Controller Operational Registers */=0A+struct ehci_regs {=0A+    /* =
USBCMD: offset 0x00 */=0A+    u32 command;=0A+=0A+/* EHCI 1.1 addendum =
*/=0A+#define CMD_HIRD        (0xf << 24) /* host initiated resume =
duration */=0A+#define CMD_PPCEE       (1 << 15)   /* per port change =
event enable */=0A+#define CMD_FSP         (1 << 14)   /* fully synchronize=
d prefetch */=0A+#define CMD_ASPE        (1 << 13)   /* async schedule =
prefetch enable */=0A+#define CMD_PSPE        (1 << 12)   /* periodic =
schedule prefetch enable */=0A+/* 23:16 is r/w intr rate, in microframes; =
default "8" =3D=3D 1/msec */=0A+#define CMD_PARK        (1 << 11)   /* =
enable "park" on async qh */=0A+#define CMD_PARK_CNT(c) (((c) >> 8) & 3) =
/* how many transfers to park for */=0A+#define CMD_LRESET      (1 << 7)   =
 /* partial reset (no ports, etc) */=0A+#define CMD_IAAD        (1 << 6)   =
 /* "doorbell" interrupt async advance */=0A+#define CMD_ASE         (1 << =
5)    /* async schedule enable */=0A+#define CMD_PSE         (1 << 4)    =
/* periodic schedule enable */=0A+/* 3:2 is periodic frame list size =
*/=0A+#define CMD_RESET       (1 << 1)    /* reset HC not bus */=0A+#define=
 CMD_RUN         (1 << 0)    /* start/stop HC */=0A+=0A+    /* USBSTS: =
offset 0x04 */=0A+    u32 status;=0A+#define STS_PPCE_MASK   (0xff << 16) =
/* Per-Port change event 1-16 */=0A+#define STS_ASS         (1 << 15)   /* =
Async Schedule Status */=0A+#define STS_PSS         (1 << 14)   /* =
Periodic Schedule Status */=0A+#define STS_RECL        (1 << 13)   /* =
Reclamation */=0A+#define STS_HALT        (1 << 12)   /* Not running (any =
reason) */=0A+/* some bits reserved */=0A+    /* these STS_* flags are =
also intr_enable bits (USBINTR) */=0A+#define STS_IAA         (1 << 5)    =
/* Interrupted on async advance */=0A+#define STS_FATAL       (1 << 4)    =
/* such as some PCI access errors */=0A+#define STS_FLR         (1 << 3)   =
 /* frame list rolled over */=0A+#define STS_PCD         (1 << 2)    /* =
port change detect */=0A+#define STS_ERR         (1 << 1)    /* "error" =
completion (overflow, ...) */=0A+#define STS_INT         (1 << 0)    /* =
"normal" completion (short, ...) */=0A+=0A+    /* USBINTR: offset 0x08 =
*/=0A+    u32 intr_enable;=0A+=0A+    /* FRINDEX: offset 0x0C */=0A+    =
u32 frame_index;    /* current microframe number */=0A+    /* CTRLDSSEGMENT=
: offset 0x10 */=0A+    u32 segment;    /* address bits 63:32 if needed =
*/=0A+    /* PERIODICLISTBASE: offset 0x14 */=0A+    u32 frame_list;    /* =
points to periodic list */=0A+    /* ASYNCLISTADDR: offset 0x18 */=0A+    =
u32 async_next;    /* address of next async queue head */=0A+=0A+    u32 =
reserved[9];=0A+=0A+    /* CONFIGFLAG: offset 0x40 */=0A+    u32 configured=
_flag;=0A+#define FLAG_CF         (1 << 0)    /* true: we'll support "high =
speed" */=0A+=0A+    /* PORTSC: offset 0x44 */=0A+    u32 port_status[0];  =
  /* up to N_PORTS */=0A+/* EHCI 1.1 addendum */=0A+#define PORTSC_SUSPEND_=
STS_ACK   0=0A+#define PORTSC_SUSPEND_STS_NYET  1=0A+#define PORTSC_SUSPEND=
_STS_STALL 2=0A+#define PORTSC_SUSPEND_STS_ERR   3=0A+=0A+#define =
PORT_DEV_ADDR   (0x7f << 25) /* device address */=0A+#define PORT_SSTS     =
  (0x3 << 23)  /* suspend status */=0A+/* 31:23 reserved */=0A+#define =
PORT_WKOC_E     (1 << 22)    /* wake on overcurrent (enable) */=0A+#define =
PORT_WKDISC_E   (1 << 21)    /* wake on disconnect (enable) */=0A+#define =
PORT_WKCONN_E   (1 << 20)    /* wake on connect (enable) */=0A+/* 19:16 =
for port testing */=0A+#define PORT_TEST(x)    (((x) & 0xf) << 16) /* Port =
Test Control */=0A+#define PORT_TEST_PKT   PORT_TEST(0x4) /* Port Test =
Control - packet test */=0A+#define PORT_TEST_FORCE PORT_TEST(0x5) /* Port =
Test Control - force enable */=0A+#define PORT_LED_OFF    (0 << 14)=0A+#def=
ine PORT_LED_AMBER  (1 << 14)=0A+#define PORT_LED_GREEN  (2 << 14)=0A+#defi=
ne PORT_LED_MASK   (3 << 14)=0A+#define PORT_OWNER      (1 << 13)    /* =
true: companion hc owns this port */=0A+#define PORT_POWER      (1 << 12)  =
  /* true: has power (see PPC) */=0A+#define PORT_USB11(x)   (((x) & (3 << =
10)) =3D=3D (1 << 10)) /* USB 1.1 device */=0A+/* 11:10 for detecting =
lowspeed devices (reset vs release ownership) */=0A+/* 9 reserved =
*/=0A+#define PORT_LPM        (1 << 9)     /* LPM transaction */=0A+#define=
 PORT_RESET      (1 << 8)     /* reset port */=0A+#define PORT_SUSPEND    =
(1 << 7)     /* suspend port */=0A+#define PORT_RESUME     (1 << 6)     /* =
resume it */=0A+#define PORT_OCC        (1 << 5)     /* over current =
change */=0A+#define PORT_OC         (1 << 4)     /* over current active =
*/=0A+#define PORT_PEC        (1 << 3)     /* port enable change */=0A+#def=
ine PORT_PE         (1 << 2)     /* port enable */=0A+#define PORT_CSC     =
   (1 << 1)     /* connect status change */=0A+#define PORT_CONNECT    (1 =
<< 0)     /* device connected */=0A+#define PORT_RWC_BITS   (PORT_CSC | =
PORT_PEC | PORT_OCC)=0A+};=0A+=0A+/*=0A+ * Appendix C, Debug port ... =
intended for use with special "debug devices"=0A+ * that can help if =
there's no serial console.  (nonstandard enumeration.)=0A+ */=0A+struct =
ehci_dbg_port {=0A+    u32 control;=0A+#define DBGP_OWNER      (1 << =
30)=0A+#define DBGP_ENABLED    (1 << 28)=0A+#define DBGP_DONE       (1 << =
16)=0A+#define DBGP_INUSE      (1 << 10)=0A+#define DBGP_ERRCODE(x) (((x) =
>> 7) & 0x07)=0A+# define DBGP_ERR_BAD    1=0A+# define DBGP_ERR_SIGNAL =
2=0A+#define DBGP_ERROR      (1 << 6)=0A+#define DBGP_GO         (1 << =
5)=0A+#define DBGP_OUT        (1 << 4)=0A+#define DBGP_LEN        (0xf << =
0)=0A+#define DBGP_CLAIM      (DBGP_OWNER | DBGP_ENABLED | DBGP_INUSE)=0A+ =
   u32 pids;=0A+#define DBGP_PID_GET(x)         (((x) >> 16) & 0xff)=0A+#de=
fine DBGP_PID_SET(data, tok) (((data) << 8) | (tok))=0A+    u32 data03;=0A+=
    u32 data47;=0A+    u32 address;=0A+#define DBGP_EPADDR(dev, ep) =
(((dev) << 8) | (ep))=0A+};=0A+=0A+/* CONTROL REQUEST SUPPORT */=0A+=0A+/*=
=0A+ * USB directions=0A+ *=0A+ * This bit flag is used in endpoint =
descriptors' bEndpointAddress field.=0A+ * It's also one of three fields =
in control requests bRequestType.=0A+ */=0A+#define USB_DIR_OUT 0          =
 /* to device */=0A+#define USB_DIR_IN  0x80        /* to host */=0A+=0A+/*=
=0A+ * USB types, the second of three bRequestType fields=0A+ */=0A+#define=
 USB_TYPE_MASK     (0x03 << 5)=0A+#define USB_TYPE_STANDARD (0x00 << =
5)=0A+#define USB_TYPE_CLASS    (0x01 << 5)=0A+#define USB_TYPE_VENDOR   =
(0x02 << 5)=0A+#define USB_TYPE_RESERVED (0x03 << 5)=0A+=0A+/*=0A+ * USB =
recipients, the third of three bRequestType fields=0A+ */=0A+#define =
USB_RECIP_MASK      0x1f=0A+#define USB_RECIP_DEVICE    0x00=0A+#define =
USB_RECIP_INTERFACE 0x01=0A+#define USB_RECIP_ENDPOINT  0x02=0A+#define =
USB_RECIP_OTHER     0x03=0A+/* From Wireless USB 1.0 */=0A+#define =
USB_RECIP_PORT      0x04=0A+#define USB_RECIP_RPIPE     0x05=0A+=0A+/*=0A+ =
* Standard requests, for the bRequest field of a SETUP packet.=0A+ *=0A+ * =
These are qualified by the bRequestType field, so that for example=0A+ * =
TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved=0A+ * =
by a GET_STATUS request.=0A+ */=0A+#define USB_REQ_GET_STATUS        =
0x00=0A+#define USB_REQ_CLEAR_FEATURE     0x01=0A+#define USB_REQ_SET_FEATU=
RE       0x03=0A+#define USB_REQ_SET_ADDRESS       0x05=0A+#define =
USB_REQ_GET_DESCRIPTOR    0x06=0A+#define USB_REQ_SET_DESCRIPTOR    =
0x07=0A+#define USB_REQ_GET_CONFIGURATION 0x08=0A+#define USB_REQ_SET_CONFI=
GURATION 0x09=0A+#define USB_REQ_GET_INTERFACE     0x0A=0A+#define =
USB_REQ_SET_INTERFACE     0x0B=0A+#define USB_REQ_SYNCH_FRAME       =
0x0C=0A+=0A+#define USB_DEVICE_DEBUG_MODE        6    /* (special devices =
only) */=0A+=0A+/**=0A+ * struct usb_ctrlrequest - SETUP data for a USB =
device control request=0A+ * @bRequestType: matches the USB bmRequestType =
field=0A+ * @bRequest: matches the USB bRequest field=0A+ * @wValue: =
matches the USB wValue field (le16 byte order)=0A+ * @wIndex: matches the =
USB wIndex field (le16 byte order)=0A+ * @wLength: matches the USB wLength =
field (le16 byte order)=0A+ *=0A+ * This structure is used to send control =
requests to a USB device.  It matches=0A+ * the different fields of the =
USB 2.0 Spec section 9.3, table 9-2.  See the=0A+ * USB spec for a fuller =
description of the different fields, and what they are=0A+ * used for.=0A+ =
*=0A+ * Note that the driver for any interface can issue control =
requests.=0A+ * For most devices, interfaces don't coordinate with each =
other, so=0A+ * such requests may be made at any time.=0A+ */=0A+struct =
usb_ctrlrequest {=0A+    u8 bRequestType;=0A+    u8 bRequest;=0A+    =
__le16 wValue;=0A+    __le16 wIndex;=0A+    __le16 wLength;=0A+} __attribut=
e__ ((packed));=0A+=0A+/* USB_DT_DEBUG: for special highspeed devices, =
replacing serial console */=0A+=0A+#define USB_DT_DEBUG    0x0a=0A+=0A+stru=
ct usb_debug_descriptor {=0A+    u8 bLength;=0A+    u8 bDescriptorType;=0A+=
    /* bulk endpoints with 8 byte maxpacket */=0A+    u8 bDebugInEndpoint;=
=0A+    u8 bDebugOutEndpoint;=0A+} __attribute__((packed));=0A+=0A+#define =
USB_DEBUG_DEVNUM 127=0A+=0A+/*=0A+ * USB Packet IDs (PIDs)=0A+ */=0A+=0A+/*=
 token */=0A+#define USB_PID_OUT           0xe1=0A+#define USB_PID_IN      =
      0x69=0A+#define USB_PID_SOF           0xa5=0A+#define USB_PID_SETUP  =
       0x2d=0A+/* handshake */=0A+#define USB_PID_ACK           0xd2=0A+#de=
fine USB_PID_NAK           0x5a=0A+#define USB_PID_STALL         0x1e=0A+#d=
efine USB_PID_NYET          0x96=0A+/* data */=0A+#define USB_PID_DATA0    =
     0xc3=0A+#define USB_PID_DATA1         0x4b=0A+#define USB_PID_DATA2   =
      0x87=0A+#define USB_PID_MDATA         0x0f=0A+/* Special */=0A+#defin=
e USB_PID_PREAMBLE      0x3c=0A+#define USB_PID_ERR           0x3c=0A+#defi=
ne USB_PID_SPLIT         0x78=0A+#define USB_PID_PING          0xb4=0A+#def=
ine USB_PID_UNDEF_0       0xf0=0A+=0A+#define PCI_CLASS_SERIAL_USB_EHCI =
0x0c0320=0A+#define PCI_CAP_ID_EHCI_DEBUG     0x0a=0A+=0A+#define =
HUB_ROOT_RESET_TIME   50    /* times are in msec */=0A+#define HUB_SHORT_RE=
SET_TIME  10=0A+#define HUB_LONG_RESET_TIME   200=0A+#define HUB_RESET_TIME=
OUT     500=0A+=0A+#define DBGP_MAX_PACKET       8=0A+#define DBGP_LOOPS   =
         1000=0A+#define DBGP_TIMEOUT          (250 * 1000) /* us =
*/=0A+#define DBGP_CHECK_INTERVAL   100 /* us */=0A+/* This one can be set =
arbitrarily - only affects input responsiveness: */=0A+#define DBGP_IDLE_IN=
TERVAL    100 /* ms */=0A+=0A+struct ehci_dbgp {=0A+    struct ehci_dbg_por=
t __iomem *ehci_debug;=0A+    enum dbgp_state {=0A+        dbgp_idle,=0A+  =
      dbgp_out,=0A+        dbgp_in,=0A+        dbgp_ctrl,=0A+        =
dbgp_unsafe /* cannot use debug device during EHCI reset */=0A+    } =
state;=0A+    unsigned int phys_port;=0A+    struct {=0A+        unsigned =
int endpoint;=0A+        unsigned int chunk;=0A+        char buf[DBGP_MAX_P=
ACKET];=0A+    } out, in;=0A+    unsigned long timeout;=0A+    struct =
timer timer;=0A+    spinlock_t *lock;=0A+    bool_t reset_run;=0A+    u8 =
bus, slot, func, bar;=0A+    u16 pci_cr;=0A+    u32 bar_val;=0A+    =
unsigned int cap;=0A+    struct ehci_regs __iomem *ehci_regs;=0A+    =
struct ehci_caps __iomem *ehci_caps;=0A+};=0A+=0A+static int ehci_dbgp_exte=
rnal_startup(struct ehci_dbgp *);=0A+=0A+static void ehci_dbgp_status(struc=
t ehci_dbgp *dbgp, const char *str)=0A+{=0A+#ifdef DBGP_DEBUG=0A+#define =
dbgp_printk printk=0A+    if ( !dbgp->ehci_debug )=0A+        return;=0A+  =
  dbgp_printk("dbgp: %s\n", str);=0A+    dbgp_printk("  debug control: =
%08x\n", readl(&dbgp->ehci_debug->control));=0A+    dbgp_printk("  EHCI =
cmd     : %08x\n", readl(&dbgp->ehci_regs->command));=0A+    dbgp_printk(" =
 EHCI conf flg: %08x\n",=0A+                readl(&dbgp->ehci_regs->configu=
red_flag));=0A+    dbgp_printk("  EHCI status  : %08x\n", readl(&dbgp->ehci=
_regs->status));=0A+    dbgp_printk("  EHCI portsc  : %08x\n",=0A+         =
       readl(&dbgp->ehci_regs->port_status[dbgp->phys_port - 1]));=0A+#endi=
f=0A+}=0A+=0A+#ifndef DBGP_DEBUG=0A+static inline __attribute__ ((format =
(printf, 1, 2))) void=0A+dbgp_printk(const char *fmt, ...) { }=0A+#endif=0A=
+=0A+static inline u32 dbgp_len_update(u32 x, u32 len)=0A+{=0A+    return =
(x & ~DBGP_LEN) | (len & DBGP_LEN) | DBGP_OUT;=0A+}=0A+=0A+static inline =
u32 dbgp_pid_write_update(u32 x, u32 tok)=0A+{=0A+    static u8 data0 =3D =
USB_PID_DATA1;=0A+=0A+    data0 ^=3D USB_PID_DATA0 ^ USB_PID_DATA1;=0A+    =
return (x & 0xffff0000) | (data0 << 8) | (tok & 0xff);=0A+}=0A+=0A+static =
inline u32 dbgp_pid_read_update(u32 x, u32 tok)=0A+{=0A+    return (x & =
0xffffff00) | (tok & 0xff);=0A+}=0A+=0A+static inline void dbgp_set_data(st=
ruct ehci_dbg_port __iomem *ehci_debug,=0A+                                =
 const void *buf, unsigned int size)=0A+{=0A+    const unsigned char =
*bytes =3D buf;=0A+    u32 lo =3D 0, hi =3D 0;=0A+    unsigned int =
i;=0A+=0A+    for ( i =3D 0; i < 4 && i < size; i++ )=0A+        lo |=3D =
bytes[i] << (8 * i);=0A+    for ( ; i < 8 && i < size; i++ )=0A+        hi =
|=3D bytes[i] << (8 * (i - 4));=0A+    writel(lo, &ehci_debug->data03);=0A+=
    writel(hi, &ehci_debug->data47);=0A+}=0A+=0A+static inline void =
dbgp_get_data(struct ehci_dbg_port __iomem *ehci_debug,=0A+                =
                 void *buf, int size)=0A+{=0A+    unsigned char *bytes =3D =
buf;=0A+    u32 lo =3D readl(&ehci_debug->data03);=0A+    u32 hi =3D =
readl(&ehci_debug->data47);=0A+    unsigned int i;=0A+=0A+    for ( i =3D =
0; i < 4 && i < size; i++ )=0A+        bytes[i] =3D (lo >> (8 * i)) & =
0xff;=0A+    for ( ; i < 8 && i < size; i++ )=0A+        bytes[i] =3D (hi =
>> (8 * (i - 4))) & 0xff;=0A+}=0A+=0A+static void dbgp_issue_command(struct=
 ehci_dbgp *dbgp, u32 ctrl,=0A+                               enum =
dbgp_state state)=0A+{=0A+    u32 cmd =3D readl(&dbgp->ehci_regs->command);=
=0A+=0A+    if ( unlikely(!(cmd & CMD_RUN)) )=0A+    {=0A+        /*=0A+   =
      * If the EHCI controller is not in the run state do extended=0A+     =
    * checks to see if ACPI or some other initialization also=0A+         =
* reset the EHCI debug port.=0A+         */=0A+        u32 ctrl =3D =
readl(&dbgp->ehci_debug->control);=0A+=0A+        if ( ctrl & DBGP_ENABLED =
)=0A+        {=0A+            cmd |=3D CMD_RUN;=0A+            writel(cmd, =
&dbgp->ehci_regs->command);=0A+            dbgp->reset_run =3D 1;=0A+      =
  }=0A+        else if ( dbgp->state !=3D dbgp_unsafe )=0A+        {=0A+   =
         dbgp->state =3D dbgp_unsafe;=0A+            ehci_dbgp_external_sta=
rtup(dbgp);=0A+        }=0A+    }=0A+=0A+    writel(ctrl | DBGP_GO, =
&dbgp->ehci_debug->control);=0A+    dbgp->timeout =3D DBGP_TIMEOUT;=0A+    =
if ( dbgp->state !=3D dbgp_unsafe )=0A+        dbgp->state =3D state;=0A+}=
=0A+=0A+static int dbgp_check_for_completion(struct ehci_dbgp *dbgp,=0A+   =
                                  unsigned int interval, u8 *ppid)=0A+{=0A+=
    u32 ctrl;=0A+    int ret;=0A+=0A+    if ( dbgp->state =3D=3D dbgp_idle =
)=0A+        return 0;=0A+=0A+    ctrl =3D readl(&dbgp->ehci_debug->control=
) & ~DBGP_GO;=0A+    if ( !(ctrl & DBGP_DONE) )=0A+    {=0A+        if ( =
dbgp->timeout > interval )=0A+            dbgp->timeout -=3D interval;=0A+ =
       else if ( interval )=0A+        {=0A+            /* See the timeout =
related comment in dbgp_wait_until_done(). */=0A+            dbgp->state =
=3D dbgp_unsafe;=0A+            dbgp->timeout =3D 0;=0A+        }=0A+      =
  return -DBGP_TIMEOUT;=0A+    }=0A+=0A+    if ( ctrl & DBGP_ERROR )=0A+   =
 {=0A+        ret =3D -DBGP_ERRCODE(ctrl);=0A+        if ( ret =3D=3D =
-DBGP_ERR_BAD && dbgp->timeout > interval )=0A+            ctrl |=3D =
DBGP_GO;=0A+    }=0A+    else=0A+    {=0A+        u8 pid =3D DBGP_PID_GET(r=
eadl(&dbgp->ehci_debug->pids));=0A+=0A+        ret =3D ctrl & DBGP_LEN;=0A+=
        if ( ppid )=0A+            *ppid =3D pid;=0A+        else if ( =
dbgp->state =3D=3D dbgp_in )=0A+        {=0A+            dbgp_get_data(dbgp=
->ehci_debug, dbgp->in.buf, ret);=0A+            dbgp->in.chunk =3D =
ret;=0A+        }=0A+        else if ( pid =3D=3D USB_PID_NAK && dbgp->time=
out > interval )=0A+            ctrl |=3D DBGP_GO;=0A+    }=0A+=0A+    =
writel(ctrl, &dbgp->ehci_debug->control);=0A+    if ( ctrl & DBGP_GO )=0A+ =
   {=0A+        dbgp->timeout -=3D interval;=0A+        return -DBGP_TIMEOU=
T;=0A+    }=0A+=0A+    if ( unlikely(dbgp->reset_run) )=0A+    {=0A+       =
 writel(readl(&dbgp->ehci_regs->command) & ~CMD_RUN,=0A+               =
&dbgp->ehci_regs->command);=0A+        dbgp->reset_run =3D 0;=0A+    =
}=0A+=0A+    if ( dbgp->state !=3D dbgp_unsafe )=0A+        dbgp->state =
=3D dbgp_idle;=0A+=0A+    return ret;=0A+}=0A+=0A+static int dbgp_wait_unti=
l_complete(struct ehci_dbgp *dbgp, u8 *ppid)=0A+{=0A+    unsigned int loop =
=3D DBGP_TIMEOUT;=0A+    int ret;=0A+=0A+    do {=0A+        ret =3D =
dbgp_check_for_completion(dbgp, 0, ppid);=0A+        if ( ret !=3D =
-DBGP_TIMEOUT )=0A+            break;=0A+        udelay(1);=0A+    } while =
( --loop );=0A+=0A+    if ( !ppid && !loop )=0A+        dbgp->state =3D =
dbgp_unsafe;=0A+=0A+    return ret;=0A+}=0A+=0A+static inline void =
dbgp_mdelay(unsigned int ms)=0A+{=0A+    while ( ms-- )=0A+    {=0A+       =
 unsigned int i;=0A+=0A+        for ( i =3D 0; i < 1000; i++ )=0A+         =
   outb(0x1, 0x80);=0A+    }=0A+}=0A+=0A+static void dbgp_breathe(void)=0A+=
{=0A+    /* Sleep to give the debug port a chance to breathe. */=0A+    =
dbgp_mdelay(1);=0A+}=0A+=0A+static int dbgp_wait_until_done(struct =
ehci_dbgp *dbgp, u32 ctrl,=0A+                                unsigned int =
loop)=0A+{=0A+    int ret;=0A+=0A+    dbgp->timeout =3D 0;=0A+=0A+    for =
( ; ; writel(ctrl | DBGP_GO, &dbgp->ehci_debug->control) )=0A+    {=0A+    =
    u8 pid;=0A+=0A+        ret =3D dbgp_wait_until_complete(dbgp, =
&pid);=0A+        if ( ret < 0 )=0A+        {=0A+            /*=0A+        =
     * A -DBGP_TIMEOUT failure here means the device has failed,=0A+       =
      * perhaps because it was unplugged, in which case we do not=0A+      =
       * want to hang the system so the dbgp will be marked as unsafe=0A+  =
           * to use. EHCI reset is the only way to recover if you =
unplug=0A+             * the dbgp device.=0A+             */=0A+           =
 if ( ret =3D=3D -DBGP_TIMEOUT )=0A+                dbgp->state =3D =
dbgp_unsafe;=0A+            if ( ret !=3D -DBGP_ERR_BAD || !--loop )=0A+   =
             break;=0A+        }=0A+        else=0A+        {=0A+          =
  /*=0A+             * If the port is getting full or it has dropped =
data=0A+             * start pacing ourselves, not necessary but it's =
friendly.=0A+             */=0A+            if ( pid =3D=3D USB_PID_NAK || =
pid =3D=3D USB_PID_NYET )=0A+                dbgp_breathe();=0A+=0A+       =
     /* If we got a NACK, reissue the transmission. */=0A+            if ( =
pid !=3D USB_PID_NAK || !--loop )=0A+                break;=0A+        =
}=0A+    }=0A+=0A+    return ret;=0A+}=0A+=0A+static int dbgp_bulk_write(st=
ruct ehci_dbgp *dbgp,=0A+                           unsigned int devnum, =
unsigned int endpoint,=0A+                           const void *bytes, =
unsigned int size, u32 *pctrl)=0A+{=0A+    u32 addr, pids, ctrl;=0A+=0A+   =
 if ( size > DBGP_MAX_PACKET )=0A+        return -EINVAL;=0A+=0A+    addr =
=3D DBGP_EPADDR(devnum, endpoint);=0A+    pids =3D dbgp_pid_write_update(re=
adl(&dbgp->ehci_debug->pids), USB_PID_OUT);=0A+    ctrl =3D dbgp_len_update=
(readl(&dbgp->ehci_debug->control), size);=0A+    if ( pctrl )=0A+        =
*pctrl =3D ctrl;=0A+=0A+    dbgp_set_data(dbgp->ehci_debug, bytes, =
size);=0A+    writel(addr, &dbgp->ehci_debug->address);=0A+    writel(pids,=
 &dbgp->ehci_debug->pids);=0A+    dbgp_issue_command(dbgp, ctrl, dbgp_out);=
=0A+=0A+    return 0;=0A+}=0A+=0A+static int dbgp_bulk_read(struct =
ehci_dbgp *dbgp,=0A+                          unsigned int devnum, =
unsigned int endpoint,=0A+                          unsigned int size, u32 =
*pctrl)=0A+{=0A+    u32 addr, pids, ctrl;=0A+=0A+    if ( size > DBGP_MAX_P=
ACKET )=0A+        return -EINVAL;=0A+=0A+    addr =3D DBGP_EPADDR(devnum, =
endpoint);=0A+    pids =3D dbgp_pid_read_update(readl(&dbgp->ehci_debug->pi=
ds), USB_PID_IN);=0A+    ctrl =3D readl(&dbgp->ehci_debug->control) & =
~DBGP_OUT;=0A+=0A+    writel(addr, &dbgp->ehci_debug->address);=0A+    =
writel(pids, &dbgp->ehci_debug->pids);=0A+    if ( likely(!pctrl) )=0A+    =
    dbgp_issue_command(dbgp, ctrl, dbgp_in);=0A+    else=0A+        =
dbgp_issue_command(dbgp, *pctrl =3D ctrl, dbgp_ctrl);=0A+=0A+    return =
0;=0A+}=0A+=0A+static int dbgp_control_msg(struct ehci_dbgp *dbgp, =
unsigned int devnum,=0A+                            int requesttype, int =
request, int value,=0A+                            int index, void *data, =
unsigned int size)=0A+{=0A+    u32 addr, pids, ctrl;=0A+    struct =
usb_ctrlrequest req;=0A+    bool_t read =3D (requesttype & USB_DIR_IN) =
!=3D 0;=0A+    int ret;=0A+=0A+    if ( size > (read ? DBGP_MAX_PACKET : =
0) )=0A+        return -EINVAL;=0A+=0A+    /* Compute the control message =
*/=0A+    req.bRequestType =3D requesttype;=0A+    req.bRequest =3D =
request;=0A+    req.wValue =3D cpu_to_le16(value);=0A+    req.wIndex =3D =
cpu_to_le16(index);=0A+    req.wLength =3D cpu_to_le16(size);=0A+=0A+    =
pids =3D DBGP_PID_SET(USB_PID_DATA0, USB_PID_SETUP);=0A+    addr =3D =
DBGP_EPADDR(devnum, 0);=0A+    ctrl =3D dbgp_len_update(readl(&dbgp->ehci_d=
ebug->control), sizeof(req));=0A+=0A+    /* Send the setup message */=0A+  =
  dbgp_set_data(dbgp->ehci_debug, &req, sizeof(req));=0A+    writel(addr, =
&dbgp->ehci_debug->address);=0A+    writel(pids, &dbgp->ehci_debug->pids);=
=0A+    dbgp_issue_command(dbgp, ctrl, dbgp_ctrl);=0A+    ret =3D =
dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);=0A+    if ( ret < 0 )=0A+    =
    return ret;=0A+=0A+    /* Read the result */=0A+    ret =3D dbgp_bulk_r=
ead(dbgp, devnum, 0, size, &ctrl);=0A+    if ( !ret )=0A+        ret =3D =
dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);=0A+    if ( ret > 0 )=0A+    =
{=0A+        if ( size > ret )=0A+            size =3D ret;=0A+        =
dbgp_get_data(dbgp->ehci_debug, data, size);=0A+    }=0A+=0A+    return =
ret;=0A+}=0A+=0A+static unsigned int __init __find_dbgp(u8 bus, u8 slot, =
u8 func)=0A+{=0A+    u32 class =3D pci_conf_read32(0, bus, slot, func, =
PCI_CLASS_REVISION);=0A+=0A+    if ( (class >> 8) !=3D PCI_CLASS_SERIAL_USB=
_EHCI )=0A+        return 0;=0A+=0A+    return pci_find_cap_offset(0, bus, =
slot, func, PCI_CAP_ID_EHCI_DEBUG);=0A+}=0A+=0A+static unsigned int __init =
find_dbgp(struct ehci_dbgp *dbgp,=0A+                                     =
unsigned int ehci_num)=0A+{=0A+    unsigned int bus, slot, func;=0A+=0A+   =
 for ( bus =3D 0; bus < 256; bus++ )=0A+    {=0A+        for ( slot =3D 0; =
slot < 32; slot++ )=0A+        {=0A+            for ( func =3D 0; func < =
8; func++ )=0A+            {=0A+                unsigned int cap;=0A+=0A+  =
              if ( !pci_device_detect(0, bus, slot, func) )=0A+            =
    {=0A+                    if ( !func )=0A+                        =
break;=0A+                    continue;=0A+                }=0A+=0A+       =
         cap =3D __find_dbgp(bus, slot, func);=0A+                if ( =
!cap || ehci_num-- )=0A+                {=0A+                    if ( =
!func && !(pci_conf_read8(0, bus, slot, func,=0A+                          =
                         PCI_HEADER_TYPE) & 0x80) )=0A+                    =
    break;=0A+                    continue;=0A+                }=0A+=0A+   =
             dbgp->bus =3D bus;=0A+                dbgp->slot =3D =
slot;=0A+                dbgp->func =3D func;=0A+                return =
cap;=0A+            }=0A+        }=0A+    }=0A+=0A+    return 0;=0A+}=0A+=
=0A+static int ehci_dbgp_startup(struct ehci_dbgp *dbgp)=0A+{=0A+    u32 =
ctrl, cmd, status;=0A+    unsigned int loop;=0A+=0A+    /* Claim ownership,=
 but do not enable yet */=0A+    ctrl =3D readl(&dbgp->ehci_debug->control)=
;=0A+    ctrl |=3D DBGP_OWNER;=0A+    ctrl &=3D ~(DBGP_ENABLED | DBGP_INUSE=
);=0A+    writel(ctrl, &dbgp->ehci_debug->control);=0A+    udelay(1);=0A+=
=0A+    ehci_dbgp_status(dbgp, "EHCI startup");=0A+    /* Start the EHCI. =
*/=0A+    cmd =3D readl(&dbgp->ehci_regs->command);=0A+    cmd &=3D =
~(CMD_LRESET | CMD_IAAD | CMD_PSE | CMD_ASE | CMD_RESET);=0A+    cmd |=3D =
CMD_RUN;=0A+    writel(cmd, &dbgp->ehci_regs->command);=0A+=0A+    /* =
Ensure everything is routed to the EHCI */=0A+    writel(FLAG_CF, =
&dbgp->ehci_regs->configured_flag);=0A+=0A+    /* Wait until the controller=
 is no longer halted */=0A+    loop =3D 10;=0A+    do {=0A+        status =
=3D readl(&dbgp->ehci_regs->status);=0A+        if ( !(status & STS_HALT) =
)=0A+            break;=0A+        udelay(1);=0A+    } while ( --loop =
);=0A+=0A+    if ( !loop )=0A+    {=0A+        dbgp_printk("EHCI cannot be =
started\n");=0A+        return -ENODEV;=0A+    }=0A+    dbgp_printk("EHCI =
started\n");=0A+=0A+    return 0;=0A+}=0A+=0A+static int ehci_dbgp_controll=
er_reset(struct ehci_dbgp *dbgp)=0A+{=0A+    unsigned int loop =3D 250 * =
1000;=0A+    u32 cmd;=0A+=0A+    /* Reset the EHCI controller */=0A+    =
cmd =3D readl(&dbgp->ehci_regs->command);=0A+    cmd |=3D CMD_RESET;=0A+   =
 writel(cmd, &dbgp->ehci_regs->command);=0A+    do {=0A+        cmd =3D =
readl(&dbgp->ehci_regs->command);=0A+    } while ( (cmd & CMD_RESET) && =
--loop );=0A+=0A+    if ( !loop )=0A+    {=0A+        dbgp_printk("cannot =
reset EHCI\n");=0A+        return -1;=0A+    }=0A+    ehci_dbgp_status(dbgp=
, "ehci reset done");=0A+=0A+    return 0;=0A+}=0A+=0A+static int =
ehci_reset_port(struct ehci_dbgp *dbgp, unsigned int port)=0A+{=0A+    u32 =
portsc, delay_time, delay;=0A+=0A+    ehci_dbgp_status(dbgp, "reset =
port");=0A+    /* Reset the USB debug port. */=0A+    portsc =3D readl(&dbg=
p->ehci_regs->port_status[port - 1]);=0A+    portsc &=3D ~PORT_PE;=0A+    =
portsc |=3D PORT_RESET;=0A+    writel(portsc, &dbgp->ehci_regs->port_status=
[port - 1]);=0A+=0A+    delay =3D HUB_ROOT_RESET_TIME;=0A+    for ( =
delay_time =3D 0; delay_time < HUB_RESET_TIMEOUT;=0A+          delay_time =
+=3D delay )=0A+    {=0A+        dbgp_mdelay(delay);=0A+        portsc =3D =
readl(&dbgp->ehci_regs->port_status[port - 1]);=0A+        if (!(portsc & =
PORT_RESET))=0A+            break;=0A+    }=0A+=0A+    if ( portsc & =
PORT_RESET )=0A+    {=0A+        /* force reset to complete */=0A+        =
unsigned int loop =3D 100 * 1000;=0A+=0A+        writel(portsc & ~(PORT_RWC=
_BITS | PORT_RESET),=0A+               &dbgp->ehci_regs->port_status[port =
- 1]);=0A+        do {=0A+            udelay(1);=0A+            portsc =3D =
readl(&dbgp->ehci_regs->port_status[port-1]);=0A+        } while ( (portsc =
& PORT_RESET) && --loop );=0A+    }=0A+=0A+    /* Device went away? */=0A+ =
   if ( !(portsc & PORT_CONNECT) )=0A+        return -ENOTCONN;=0A+=0A+    =
/* bomb out completely if something weird happened */=0A+    if ( portsc & =
PORT_CSC )=0A+        return -EINVAL;=0A+=0A+    /* If we've finished =
resetting, then break out of the loop */=0A+    if ( !(portsc & PORT_RESET)=
 && (portsc & PORT_PE) )=0A+        return 0;=0A+=0A+    return -EBUSY;=0A+=
}=0A+=0A+static int ehci_wait_for_port(struct ehci_dbgp *dbgp, unsigned =
int port)=0A+{=0A+    u32 status;=0A+    unsigned int reps;=0A+=0A+    for =
( reps =3D 0; reps < 300; reps++ )=0A+    {=0A+        status =3D =
readl(&dbgp->ehci_regs->status);=0A+        if ( status & STS_PCD )=0A+    =
        break;=0A+        dbgp_mdelay(1);=0A+    }=0A+=0A+    return =
ehci_reset_port(dbgp, port) =3D=3D 0 ? 0 : -ENOTCONN;=0A+}=0A+=0A+/* =
Return 0 on success=0A+ * Return -ENODEV for any general failure=0A+ * =
Return -EIO if wait for port fails=0A+ */=0A+static int ehci_dbgp_external_=
startup(struct ehci_dbgp *dbgp)=0A+{=0A+    unsigned int devnum;=0A+    =
struct usb_debug_descriptor dbgp_desc;=0A+    int ret;=0A+    u32 ctrl, =
portsc, cmd;=0A+    unsigned int dbg_port =3D dbgp->phys_port;=0A+    =
unsigned int tries =3D 3;=0A+    unsigned int reset_port_tries =3D 1;=0A+  =
  bool_t try_hard_once =3D 1;=0A+=0A+try_port_reset_again:=0A+    ret =3D =
ehci_dbgp_startup(dbgp);=0A+    if ( ret )=0A+        return ret;=0A+=0A+  =
  /* Wait for a device to show up in the debug port */=0A+    ret =3D =
ehci_wait_for_port(dbgp, dbg_port);=0A+    if ( ret < 0 )=0A+    {=0A+     =
   portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - 1]);=0A+      =
  if ( !(portsc & PORT_CONNECT) && try_hard_once )=0A+        {=0A+        =
    /*=0A+             * Last ditch effort to try to force enable the =
debug device by=0A+             * using the packet test EHCI command to =
try and wake it up.=0A+             */=0A+            try_hard_once =3D =
0;=0A+            cmd =3D readl(&dbgp->ehci_regs->command);=0A+            =
cmd &=3D ~CMD_RUN;=0A+            writel(cmd, &dbgp->ehci_regs->command);=
=0A+            portsc =3D readl(&dbgp->ehci_regs->port_status[dbg_port - =
1]);=0A+            portsc |=3D PORT_TEST_PKT;=0A+            writel(portsc=
, &dbgp->ehci_regs->port_status[dbg_port - 1]);=0A+            ehci_dbgp_st=
atus(dbgp, "Trying to force debug port online");=0A+            mdelay(50);=
=0A+            ehci_dbgp_controller_reset(dbgp);=0A+            goto =
try_port_reset_again;=0A+        }=0A+        else if ( reset_port_tries-- =
)=0A+            goto try_port_reset_again;=0A+        dbgp_printk("no =
device found in debug port\n");=0A+        return -EIO;=0A+    }=0A+    =
ehci_dbgp_status(dbgp, "wait for port done");=0A+=0A+    /* Enable the =
debug port */=0A+    ctrl =3D readl(&dbgp->ehci_debug->control);=0A+    =
ctrl |=3D DBGP_CLAIM;=0A+    writel(ctrl, &dbgp->ehci_debug->control);=0A+ =
   ctrl =3D readl(&dbgp->ehci_debug->control);=0A+    if ( (ctrl & =
DBGP_CLAIM) !=3D DBGP_CLAIM )=0A+    {=0A+        dbgp_printk("no device =
in debug port\n");=0A+        writel(ctrl & ~DBGP_CLAIM, &dbgp->ehci_debug-=
>control);=0A+        return -ENODEV;=0A+    }=0A+    ehci_dbgp_status(dbgp=
, "debug port enabled");=0A+=0A+    /* Completely transfer the debug =
device to the debug controller */=0A+    portsc =3D readl(&dbgp->ehci_regs-=
>port_status[dbg_port - 1]);=0A+    portsc &=3D ~PORT_PE;=0A+    writel(por=
tsc, &dbgp->ehci_regs->port_status[dbg_port - 1]);=0A+=0A+    dbgp_mdelay(1=
00);=0A+=0A+try_again:=0A+    /* Find the debug device and make it device =
number 127 */=0A+    for ( devnum =3D 0; devnum <=3D 127; devnum++ )=0A+   =
 {=0A+        ret =3D dbgp_control_msg(dbgp, devnum,=0A+                   =
            USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE,=0A+         =
                      USB_REQ_GET_DESCRIPTOR, (USB_DT_DEBUG << 8), 0,=0A+  =
                             &dbgp_desc, sizeof(dbgp_desc));=0A+        if =
( ret > 0 )=0A+            break;=0A+    }=0A+    if ( devnum > 127 )=0A+  =
  {=0A+        dbgp_printk("could not find attached debug device\n");=0A+  =
      goto err;=0A+    }=0A+    if ( ret < 0 )=0A+    {=0A+        =
dbgp_printk("attached device is not a debug device\n");=0A+        goto =
err;=0A+    }=0A+    dbgp->out.endpoint =3D dbgp_desc.bDebugOutEndpoint;=0A=
+    dbgp->in.endpoint =3D dbgp_desc.bDebugInEndpoint;=0A+=0A+    /* Move =
the device to 127 if it isn't already there. */=0A+    if ( devnum !=3D =
USB_DEBUG_DEVNUM )=0A+    {=0A+        ret =3D dbgp_control_msg(dbgp, =
devnum,=0A+                               USB_DIR_OUT | USB_TYPE_STANDARD =
| USB_RECIP_DEVICE,=0A+                               USB_REQ_SET_ADDRESS, =
USB_DEBUG_DEVNUM, 0, NULL, 0);=0A+        if ( ret < 0 )=0A+        {=0A+  =
          dbgp_printk("could not move attached device to %d\n",=0A+        =
                USB_DEBUG_DEVNUM);=0A+            goto err;=0A+        =
}=0A+        devnum =3D USB_DEBUG_DEVNUM;=0A+        dbgp_printk("debug =
device renamed to 127\n");=0A+    }=0A+=0A+    /* Enable the debug =
interface */=0A+    ret =3D dbgp_control_msg(dbgp, USB_DEBUG_DEVNUM,=0A+   =
                        USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,=
=0A+                           USB_REQ_SET_FEATURE, USB_DEVICE_DEBUG_MODE,=
=0A+                           0, NULL, 0);=0A+    if ( ret < 0 )=0A+    =
{=0A+        dbgp_printk("could not enable the debug device\n");=0A+       =
 goto err;=0A+    }=0A+    dbgp_printk("debug interface enabled\n");=0A+=0A=
+    /* Perform a small write to get the even/odd data state in sync. =
*/=0A+    ret =3D dbgp_bulk_write(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoin=
t,=0A+                          "\n", 1, &ctrl);=0A+    if ( !ret )=0A+    =
    ret =3D dbgp_wait_until_done(dbgp, ctrl, DBGP_LOOPS);=0A+    if ( ret =
< 0 )=0A+    {=0A+        dbgp_printk("dbgp_bulk_write failed: %d\n", =
ret);=0A+        goto err;=0A+    }=0A+    dbgp_printk("small write =
done\n");=0A+    dbgp->state =3D dbgp_idle;=0A+=0A+    return 0;=0A+err:=0A=
+    if ( tries-- )=0A+        goto try_again;=0A+    return -ENODEV;=0A+}=
=0A+=0A+typedef void (*set_debug_port_t)(struct ehci_dbgp *, unsigned =
int);=0A+=0A+static void default_set_debug_port(struct ehci_dbgp *dbgp, =
unsigned int port)=0A+{=0A+}=0A+=0A+static set_debug_port_t __read_mostly =
set_debug_port =3D default_set_debug_port;=0A+=0A+static void nvidia_set_de=
bug_port(struct ehci_dbgp *dbgp, unsigned int port)=0A+{=0A+    u32 dword =
=3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, 0x74);=0A+=0A+   =
 dword &=3D ~(0x0f << 12);=0A+    dword |=3D (port & 0x0f) << 12;=0A+    =
pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, 0x74, dword);=0A+   =
 dbgp_printk("set debug port to %u\n", port);=0A+}=0A+=0A+static void =
__init detect_set_debug_port(struct ehci_dbgp *dbgp)=0A+{=0A+    if ( =
pci_conf_read16(0, dbgp->bus, dbgp->slot, dbgp->func,=0A+                  =
       PCI_VENDOR_ID) =3D=3D 0x10de )=0A+    {=0A+        dbgp_printk("usin=
g nvidia set_debug_port\n");=0A+        set_debug_port =3D nvidia_set_debug=
_port;=0A+    }=0A+}=0A+=0A+/*=0A+ * The code in ehci_dbgp_bios_handoff() =
is derived from the USB PCI=0A+ * quirk initialization in Linux.=0A+ =
*/=0A+#define EHCI_USBLEGSUP_BIOS    (1 << 16) /* BIOS semaphore */=0A+#def=
ine EHCI_USBLEGCTLSTS      4        /* legacy control/status */=0A+static =
void ehci_dbgp_bios_handoff(struct ehci_dbgp *dbgp, u32 hcc_params)=0A+{=0A=
+    u32 cap;=0A+    unsigned int offset =3D HCC_EXT_CAPS(hcc_params);=0A+ =
   int msec;=0A+=0A+    if ( !offset )=0A+        return;=0A+=0A+    cap =
=3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, offset);=0A+    =
dbgp_printk("dbgp: EHCI BIOS state %08x\n", cap);=0A+=0A+    if ( (cap & =
0xff) =3D=3D 1 && (cap & EHCI_USBLEGSUP_BIOS) )=0A+    {=0A+        =
dbgp_printk("dbgp: BIOS handoff\n");=0A+        pci_conf_write8(0, =
dbgp->bus, dbgp->slot, dbgp->func, offset + 3, 1);=0A+    }=0A+=0A+    /* =
if boot firmware now owns EHCI, spin till it hands it over. */=0A+    msec =
=3D 1000;=0A+    while ( (cap & EHCI_USBLEGSUP_BIOS) && (msec > 0) )=0A+   =
 {=0A+        mdelay(10);=0A+        msec -=3D 10;=0A+        cap =3D =
pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func, offset);=0A+    =
}=0A+=0A+    if ( cap & EHCI_USBLEGSUP_BIOS )=0A+    {=0A+        /* well, =
possibly buggy BIOS... try to shut it down,=0A+         * and hope nothing =
goes too wrong */=0A+        dbgp_printk("dbgp: BIOS handoff failed: =
%08x\n", cap);=0A+        pci_conf_write8(0, dbgp->bus, dbgp->slot, =
dbgp->func, offset + 2, 0);=0A+    }=0A+=0A+    /* just in case, always =
disable EHCI SMIs */=0A+    pci_conf_write8(0, dbgp->bus, dbgp->slot, =
dbgp->func,=0A+                    offset + EHCI_USBLEGCTLSTS, 0);=0A+}=0A+=
=0A+static int ehci_dbgp_setup(struct ehci_dbgp *dbgp)=0A+{=0A+    u32 =
ctrl, portsc, hcs_params;=0A+    unsigned int i, debug_port, new_debug_port=
 =3D 0, n_ports;=0A+    unsigned int port_map_tried, playtimes =3D 3;=0A+  =
  int ret;=0A+=0A+    ehci_dbgp_bios_handoff(dbgp, readl(&dbgp->ehci_caps->=
hcc_params));=0A+=0A+try_next_time:=0A+    port_map_tried =3D 0;=0A+=0A+try=
_next_port:=0A+=0A+    hcs_params =3D readl(&dbgp->ehci_caps->hcs_params);=
=0A+    debug_port =3D HCS_DEBUG_PORT(hcs_params);=0A+    dbgp->phys_port =
=3D debug_port;=0A+    n_ports =3D HCS_N_PORTS(hcs_params);=0A+=0A+    =
dbgp_printk("debug_port: %u\n", debug_port);=0A+    dbgp_printk("n_ports:  =
  %u\n", n_ports);=0A+    ehci_dbgp_status(dbgp, "");=0A+=0A+    for ( i =
=3D 1; i <=3D n_ports; i++ )=0A+    {=0A+        portsc =3D readl(&dbgp->eh=
ci_regs->port_status[i-1]);=0A+        dbgp_printk("portstatus%d: %08x\n", =
i, portsc);=0A+    }=0A+=0A+    if ( port_map_tried && (new_debug_port =
!=3D debug_port) )=0A+    {=0A+        if ( --playtimes )=0A+        {=0A+ =
           set_debug_port(dbgp, new_debug_port);=0A+            goto =
try_next_time;=0A+        }=0A+        return -1;=0A+    }=0A+=0A+    /* =
Only reset the controller if it is not already in the=0A+     * configured =
state */=0A+    if ( readl(&dbgp->ehci_regs->configured_flag) & FLAG_CF =
)=0A+        ehci_dbgp_status(dbgp, "ehci skip - already configured");=0A+ =
   else if ( ehci_dbgp_controller_reset(dbgp) !=3D 0 )=0A+        return =
-1;=0A+=0A+    ret =3D ehci_dbgp_external_startup(dbgp);=0A+    if (ret =
=3D=3D -EIO)=0A+        goto next_debug_port;=0A+=0A+    if ( ret < 0 =
)=0A+    {=0A+        /* Things didn't work so remove my claim */=0A+      =
  ctrl =3D readl(&dbgp->ehci_debug->control);=0A+        ctrl &=3D =
~(DBGP_CLAIM | DBGP_OUT);=0A+        writel(ctrl, &dbgp->ehci_debug->contro=
l);=0A+        return -1;=0A+    }=0A+=0A+    return 0;=0A+=0A+next_debug_p=
ort:=0A+    port_map_tried |=3D 1 << (debug_port - 1);=0A+    new_debug_por=
t =3D (debug_port % n_ports) + 1;=0A+    if ( port_map_tried !=3D ((1 << =
n_ports) - 1) )=0A+    {=0A+        set_debug_port(dbgp, new_debug_port);=
=0A+        goto try_next_port;=0A+    }=0A+    if ( --playtimes )=0A+    =
{=0A+        set_debug_port(dbgp, new_debug_port);=0A+        goto =
try_next_time;=0A+    }=0A+=0A+    return -1;=0A+}=0A+=0A+static inline =
void _ehci_dbgp_flush(struct ehci_dbgp *dbgp)=0A+{=0A+    if ( dbgp_bulk_wr=
ite(dbgp, USB_DEBUG_DEVNUM, dbgp->out.endpoint,=0A+                        =
 dbgp->out.buf, dbgp->out.chunk, NULL) )=0A+        BUG();=0A+    =
dbgp->out.chunk =3D 0;=0A+}=0A+=0A+static void ehci_dbgp_flush(struct =
serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D port->uart;=0A+  =
  s_time_t goal;=0A+=0A+    if ( !dbgp->out.chunk || !dbgp->ehci_debug || =
dbgp->state =3D=3D dbgp_unsafe )=0A+        return;=0A+=0A+    if ( =
dbgp->state =3D=3D dbgp_idle || !port->sync )=0A+        dbgp_check_for_com=
pletion(dbgp, 1, NULL);=0A+    else=0A+        dbgp_wait_until_complete(dbg=
p, NULL);=0A+=0A+    if ( dbgp->state =3D=3D dbgp_idle )=0A+    {=0A+      =
  _ehci_dbgp_flush(dbgp);=0A+=0A+        if ( port->sync )=0A+        =
{=0A+            dbgp_wait_until_complete(dbgp, NULL);=0A+            =
return;=0A+        }=0A+    }=0A+=0A+    goal =3D NOW() + MICROSECS(DBGP_CH=
ECK_INTERVAL);=0A+    if ( dbgp->timer.expires > goal )=0A+       =
set_timer(&dbgp->timer, goal);=0A+}=0A+=0A+static void ehci_dbgp_putc(struc=
t serial_port *port, char c)=0A+{=0A+    struct ehci_dbgp *dbgp =3D =
port->uart;=0A+=0A+    if ( unlikely(dbgp->out.chunk >=3D DBGP_MAX_PACKET) =
)=0A+        return;=0A+=0A+    dbgp->out.buf[dbgp->out.chunk++] =3D =
c;=0A+=0A+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )=0A+        =
ehci_dbgp_flush(port);=0A+}=0A+=0A+static int ehci_dbgp_tx_empty(struct =
serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D port->uart;=0A+=
=0A+    if ( unlikely(!dbgp->ehci_debug) || unlikely(dbgp->state =3D=3D =
dbgp_unsafe) )=0A+        return port->sync || port->tx_log_everything || =
!port->txbuf;=0A+=0A+    if ( dbgp->out.chunk =3D=3D DBGP_MAX_PACKET )=0A+ =
       ehci_dbgp_flush(port);=0A+    else=0A+        dbgp_check_for_complet=
ion(dbgp, 1, NULL);=0A+=0A+    if ( dbgp->state !=3D dbgp_idle && =
dbgp->out.chunk >=3D DBGP_MAX_PACKET )=0A+        return 0;=0A+=0A+    =
port->tx_fifo_size =3D DBGP_MAX_PACKET - dbgp->out.chunk;=0A+    if ( =
dbgp->state =3D=3D dbgp_idle )=0A+        port->tx_fifo_size +=3D =
DBGP_MAX_PACKET;=0A+=0A+    return 1;=0A+}=0A+=0A+static int ehci_dbgp_getc=
(struct serial_port *port, char *pc)=0A+{=0A+    struct ehci_dbgp *dbgp =
=3D port->uart;=0A+=0A+    if ( !dbgp->in.chunk )=0A+        return =
0;=0A+=0A+    *pc =3D *dbgp->in.buf;=0A+    if ( --dbgp->in.chunk )=0A+    =
    memmove(dbgp->in.buf, dbgp->in.buf + 1, dbgp->in.chunk);=0A+=0A+    =
return 1;=0A+}=0A+=0A+/* Safe: ehci_dbgp_poll() runs as timer handler, so =
not reentrant. */=0A+static struct serial_port *poll_port;=0A+=0A+static =
void _ehci_dbgp_poll(struct cpu_user_regs *regs)=0A+{=0A+    struct =
serial_port *port =3D poll_port;=0A+    struct ehci_dbgp *dbgp =3D =
port->uart;=0A+    unsigned long flags;=0A+    unsigned int timeout =3D =
MICROSECS(DBGP_CHECK_INTERVAL);=0A+    bool_t empty =3D 0;=0A+=0A+    if ( =
!dbgp->ehci_debug )=0A+        return;=0A+=0A+    if ( spin_trylock_irqsave=
(&port->tx_lock, flags) )=0A+    {=0A+        if ( dbgp->state !=3D =
dbgp_unsafe )=0A+            dbgp_check_for_completion(dbgp, DBGP_CHECK_INT=
ERVAL, NULL);=0A+        if ( dbgp->state =3D=3D dbgp_idle && dbgp->out.chu=
nk )=0A+            _ehci_dbgp_flush(dbgp);=0A+        if ( dbgp->state =
=3D=3D dbgp_idle || dbgp->out.chunk < DBGP_MAX_PACKET )=0A+            =
empty =3D 1;=0A+        spin_unlock_irqrestore(&port->tx_lock, flags);=0A+ =
   }=0A+=0A+    if ( dbgp->in.chunk )=0A+        serial_rx_interrupt(port, =
regs);=0A+=0A+    if ( empty )=0A+        serial_tx_interrupt(port, =
regs);=0A+=0A+    if ( spin_trylock_irqsave(&port->tx_lock, flags) )=0A+   =
 {=0A+        if ( dbgp->state =3D=3D dbgp_idle && !dbgp->in.chunk &&=0A+  =
           !dbgp->out.chunk && port->txbufp =3D=3D port->txbufc )=0A+      =
  {=0A+            if ( dbgp_bulk_read(dbgp, USB_DEBUG_DEVNUM, dbgp->in.end=
point,=0A+                                DBGP_MAX_PACKET, NULL) )=0A+     =
           BUG();=0A+            timeout =3D MILLISECS(DBGP_IDLE_INTERVAL);=
=0A+        }=0A+        spin_unlock_irqrestore(&port->tx_lock, flags);=0A+=
    }=0A+=0A+    set_timer(&dbgp->timer, NOW() + timeout);=0A+}=0A+=0A+stat=
ic void ehci_dbgp_poll(void *data)=0A+{=0A+    poll_port =3D data;=0A+#ifde=
f run_in_exception_handler=0A+    run_in_exception_handler(_ehci_dbgp_poll)=
;=0A+#else=0A+    _ehci_dbgp_poll(guest_cpu_user_regs());=0A+#endif=0A+}=0A=
+=0A+static bool_t ehci_dbgp_setup_preirq(struct ehci_dbgp *dbgp)=0A+{=0A+ =
   if ( !ehci_dbgp_setup(dbgp) )=0A+        return 1;=0A+=0A+    dbgp_print=
k("ehci_dbgp_setup failed\n");=0A+    dbgp->ehci_debug =3D NULL;=0A+    =
return 0;=0A+}=0A+=0A+static void __init ehci_dbgp_init_preirq(struct =
serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D port->uart;=0A+  =
  u32 debug_port, offset;=0A+    void __iomem *ehci_bar;=0A+=0A+    =
debug_port =3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,=0A+   =
                              dbgp->cap);=0A+    offset =3D (debug_port >> =
16) & 0xfff;=0A+=0A+    /* double check if the mem space is enabled */=0A+ =
   dbgp->pci_cr =3D pci_conf_read8(0, dbgp->bus, dbgp->slot, dbgp->func,=0A=
+                                  PCI_COMMAND);=0A+    if ( !(dbgp->pci_cr=
 & PCI_COMMAND_MEMORY) )=0A+    {=0A+        dbgp->pci_cr |=3D PCI_COMMAND_=
MEMORY;=0A+        pci_conf_write16(0, dbgp->bus, dbgp->slot, dbgp->func, =
PCI_COMMAND,=0A+                         dbgp->pci_cr);=0A+        =
dbgp_printk("MMIO for EHCI enabled\n");=0A+    }=0A+=0A+    /*=0A+     * =
FIXME I don't have the bar size so just guess PAGE_SIZE is more=0A+     * =
than enough.  1k is the biggest that was seen.=0A+     */=0A+    set_fixmap=
_nocache(FIX_EHCI_DBGP, dbgp->bar_val);=0A+    ehci_bar =3D (void __iomem =
*)fix_to_virt(FIX_EHCI_DBGP);=0A+    ehci_bar +=3D dbgp->bar_val & =
~PAGE_MASK;=0A+    dbgp_printk("ehci_bar: %p\n", ehci_bar);=0A+=0A+    =
dbgp->ehci_caps =3D ehci_bar;=0A+    dbgp->ehci_regs =3D ehci_bar +=0A+    =
                  HC_LENGTH(readl(&dbgp->ehci_caps->hc_capbase));=0A+    =
dbgp->ehci_debug =3D ehci_bar + offset;=0A+=0A+    detect_set_debug_port(db=
gp);=0A+=0A+    if ( ehci_dbgp_setup_preirq(dbgp) )=0A+        ehci_dbgp_st=
atus(dbgp, "ehci_dbgp_init_preirq complete");=0A+=0A+    port->tx_fifo_size=
 =3D DBGP_MAX_PACKET;=0A+    dbgp->lock =3D &port->tx_lock;=0A+}=0A+=0A+sta=
tic void ehci_dbgp_setup_postirq(struct ehci_dbgp *dbgp)=0A+{=0A+    =
set_timer(&dbgp->timer, NOW() + MILLISECS(1));=0A+}=0A+=0A+static void =
__init ehci_dbgp_init_postirq(struct serial_port *port)=0A+{=0A+    struct =
ehci_dbgp *dbgp =3D port->uart;=0A+=0A+    if ( !dbgp->ehci_debug )=0A+    =
    return;=0A+=0A+    serial_async_transmit(port);=0A+=0A+    init_timer(&=
dbgp->timer, ehci_dbgp_poll, port, 0);=0A+=0A+    ehci_dbgp_setup_postirq(d=
bgp);=0A+}=0A+=0A+static int ehci_dbgp_check_release(struct ehci_dbgp =
*dbgp)=0A+{=0A+    struct ehci_dbg_port __iomem *ehci_debug =3D dbgp->ehci_=
debug;=0A+    u32 ctrl;=0A+    unsigned int i;=0A+=0A+    if ( !ehci_debug =
)=0A+        return 0;=0A+=0A+    for ( i =3D 0; i < DBGP_MAX_PACKET; ++i =
)=0A+        if ( dbgp->out.buf[i] )=0A+            return 1;=0A+=0A+    =
/*=0A+     * This means the console is not initialized, or should get =
shutdown=0A+     * so as to allow for reuse of the USB device, which means =
it is time=0A+     * to shutdown the USB debug port.=0A+     */=0A+    =
printk(XENLOG_INFO "Releasing EHCI debug port at %02x:%02x.%u\n",=0A+      =
     dbgp->bus, dbgp->slot, dbgp->func);=0A+=0A+    kill_timer(&dbgp->timer=
);=0A+    dbgp->ehci_debug =3D NULL;=0A+=0A+    ctrl =3D readl(&ehci_debug-=
>control);=0A+    if ( ctrl & DBGP_ENABLED )=0A+    {=0A+        ctrl &=3D =
~DBGP_CLAIM;=0A+        writel(ctrl, &ehci_debug->control);=0A+    =
}=0A+=0A+    return 0;=0A+}=0A+=0A+static void __init ehci_dbgp_endboot(str=
uct serial_port *port)=0A+{=0A+    ehci_dbgp_check_release(port->uart);=0A+=
}=0A+=0A+static void ehci_dbgp_suspend(struct serial_port *port)=0A+{=0A+  =
  struct ehci_dbgp *dbgp =3D port->uart;=0A+=0A+    if ( !dbgp->ehci_debug =
)=0A+        return;=0A+=0A+    stop_timer(&dbgp->timer);=0A+    dbgp->time=
r.expires =3D 0;=0A+=0A+    dbgp->pci_cr =3D pci_conf_read16(0, dbgp->bus, =
dbgp->slot, dbgp->func,=0A+                                   PCI_COMMAND);=
=0A+=0A+    dbgp->state =3D dbgp_unsafe;=0A+}=0A+=0A+static void ehci_dbgp_=
resume(struct serial_port *port)=0A+{=0A+    struct ehci_dbgp *dbgp =3D =
port->uart;=0A+=0A+    if ( !dbgp->ehci_debug )=0A+        return;=0A+=0A+ =
   pci_conf_write32(0, dbgp->bus, dbgp->slot, dbgp->func, dbgp->bar,=0A+   =
                  dbgp->bar_val);=0A+    pci_conf_write16(0, dbgp->bus, =
dbgp->slot, dbgp->func,=0A+                     PCI_COMMAND, dbgp->pci_cr);=
=0A+=0A+    ehci_dbgp_setup_preirq(dbgp);=0A+    ehci_dbgp_setup_postirq(db=
gp);=0A+}=0A+=0A+static struct uart_driver __read_mostly ehci_dbgp_driver =
=3D {=0A+    .init_preirq  =3D ehci_dbgp_init_preirq,=0A+    .init_postirq =
=3D ehci_dbgp_init_postirq,=0A+    .endboot      =3D ehci_dbgp_endboot,=0A+=
    .suspend      =3D ehci_dbgp_suspend,=0A+    .resume       =3D =
ehci_dbgp_resume,=0A+    .tx_empty     =3D ehci_dbgp_tx_empty,=0A+    =
.putc         =3D ehci_dbgp_putc,=0A+    .flush        =3D ehci_dbgp_flush,=
=0A+    .getc         =3D ehci_dbgp_getc=0A+};=0A+=0A+static struct =
ehci_dbgp ehci_dbgp =3D { .state =3D dbgp_unsafe, .phys_port =3D 1 =
};=0A+=0A+static char __initdata opt_dbgp[30];=0A+string_param("dbgp", =
opt_dbgp);=0A+=0A+void __init ehci_dbgp_init(void)=0A+{=0A+    struct =
ehci_dbgp *dbgp =3D &ehci_dbgp;=0A+    u32 debug_port, offset, bar_val;=0A+=
    const char *e;=0A+=0A+    if ( strncmp(opt_dbgp, "ehci", 4) )=0A+      =
  return;=0A+=0A+    if ( isdigit(opt_dbgp[4]) || !opt_dbgp[4] )=0A+    =
{=0A+        unsigned int num =3D 0;=0A+=0A+        if ( opt_dbgp[4] )=0A+ =
           simple_strtoul(opt_dbgp + 4, &e, 10);=0A+=0A+        dbgp->cap =
=3D find_dbgp(dbgp, num);=0A+        if ( !dbgp->cap )=0A+            =
return;=0A+=0A+        dbgp_printk("Found EHCI debug port on %02x:%02x.%u\n=
",=0A+                    dbgp->bus, dbgp->slot, dbgp->func);=0A+    }=0A+ =
   else if ( strncmp(opt_dbgp + 4, "@pci", 4) =3D=3D 0 )=0A+    {=0A+      =
  unsigned long val =3D simple_strtoul(opt_dbgp + 8, &e, 16);=0A+=0A+      =
  dbgp->bus =3D val;=0A+        if ( dbgp->bus !=3D val || *e !=3D ':' =
)=0A+            return;=0A+=0A+        val =3D simple_strtoul(e + 1, &e, =
16);=0A+        if ( PCI_SLOT(PCI_DEVFN(val, 0)) !=3D val || *e !=3D '.' =
)=0A+            return;=0A+        dbgp->slot =3D val;=0A+=0A+        val =
=3D simple_strtoul(e + 1, &e, 16);=0A+        if ( PCI_FUNC(PCI_DEVFN(0, =
val)) !=3D val || *e )=0A+            return;=0A+        dbgp->func =3D =
val;=0A+=0A+        if ( !pci_device_detect(0, dbgp->bus, dbgp->slot, =
dbgp->func) )=0A+            return;=0A+=0A+        dbgp->cap =3D =
__find_dbgp(dbgp->bus, dbgp->slot, dbgp->func);=0A+        if ( !dbgp->cap =
)=0A+            return;=0A+=0A+        dbgp_printk("Using EHCI debug port =
on %02x:%02x.%u\n",=0A+                    dbgp->bus, dbgp->slot, =
dbgp->func);=0A+    }=0A+    else=0A+        return;=0A+=0A+    debug_port =
=3D pci_conf_read32(0, dbgp->bus, dbgp->slot, dbgp->func,=0A+              =
                   dbgp->cap);=0A+    dbgp->bar =3D (debug_port >> 29) & =
0x7;=0A+    dbgp->bar =3D ((dbgp->bar - 1) * 4) + PCI_BASE_ADDRESS_0;=0A+  =
  offset =3D (debug_port >> 16) & 0xfff;=0A+    dbgp_printk("bar: %02x =
offset: %03x\n", dbgp->bar, offset);=0A+    if ( dbgp->bar < PCI_BASE_ADDRE=
SS_0 || dbgp->bar > PCI_BASE_ADDRESS_5 )=0A+    {=0A+        dbgp_printk("u=
nsupported/invalid bar\n");=0A+        return;=0A+    }=0A+=0A+    =
dbgp->bar_val =3D bar_val =3D pci_conf_read32(0, dbgp->bus, dbgp->slot,=0A+=
                                              dbgp->func, dbgp->bar);=0A+  =
  dbgp_printk("bar_val: %08x\n", bar_val);=0A+    if ( bar_val & ~PCI_BASE_=
ADDRESS_MEM_MASK )=0A+    {=0A+        dbgp_printk("only simple 32-bit =
MMIO BARs supported\n");=0A+        return;=0A+    }=0A+    bar_val &=3D =
PCI_BASE_ADDRESS_MEM_MASK;=0A+    if ( !bar_val || !(bar_val + (bar_val & =
-bar_val)) )=0A+    {=0A+        dbgp_printk("firmware initialization of =
MMIO BAR required\n");=0A+        return;=0A+    }=0A+=0A+    serial_regist=
er_uart(SERHND_DBGP, &ehci_dbgp_driver, dbgp);=0A+}=0A+=0A+int dbgp_op(cons=
t struct physdev_dbgp_op *op)=0A+{=0A+    if ( !ehci_dbgp.ehci_debug )=0A+ =
       return 0;=0A+=0A+    switch ( op->bus )=0A+    {=0A+    case =
PHYSDEVOP_DBGP_BUS_UNKNOWN:=0A+        break;=0A+    case PHYSDEVOP_DBGP_BU=
S_PCI:=0A+        if ( op->u.pci.seg || ehci_dbgp.bus !=3D op->u.pci.bus =
||=0A+            PCI_DEVFN(ehci_dbgp.slot, ehci_dbgp.func) !=3D op->u.pci.=
devfn )=0A+    default:=0A+            return 0;=0A+        break;=0A+    =
}=0A+=0A+    switch ( op->op )=0A+    {=0A+    case PHYSDEVOP_DBGP_RESET_PR=
EPARE:=0A+        spin_lock_irq(ehci_dbgp.lock);=0A+        ehci_dbgp.state=
 =3D dbgp_unsafe;=0A+        dbgp_wait_until_complete(&ehci_dbgp, =
NULL);=0A+        spin_unlock_irq(ehci_dbgp.lock);=0A+=0A+        return =
ehci_dbgp_check_release(&ehci_dbgp);=0A+=0A+    case PHYSDEVOP_DBGP_RESET_D=
ONE:=0A+        return ehci_dbgp_external_startup(&ehci_dbgp) ?: 1;=0A+    =
}=0A+=0A+    return -ENOSYS;=0A+}=0A--- a/xen/drivers/char/serial.c=0A+++ =
b/xen/drivers/char/serial.c=0A@@ -265,6 +265,14 @@ int __init serial_parse_=
handle(char *con=0A {=0A     int handle;=0A =0A+    if ( !strncmp(conf, =
"dbgp", 4) && (!conf[4] || conf[4] =3D=3D ',') )=0A+    {=0A+        if ( =
!com[SERHND_DBGP].driver )=0A+            goto fail;=0A+=0A+        return =
SERHND_DBGP | SERHND_COOKED;=0A+    }=0A+=0A     if ( strncmp(conf, "com", =
3) )=0A         goto fail;=0A =0A--- a/xen/include/asm-x86/fixmap.h=0A+++ =
b/xen/include/asm-x86/fixmap.h=0A@@ -36,7 +36,15 @@=0A  * from the end of =
virtual memory backwards.=0A  */=0A enum fixed_addresses {=0A-    =
FIX_RESERVED, /* Index 0 is reserved since fix_to_virt(0) > FIXADDR_TOP. =
*/=0A+    /* Index 0 is reserved since fix_to_virt(0) =3D=3D FIXADDR_TOP. =
*/=0A+    FIX_RESERVED,=0A+    /*=0A+     * Indexes using the page tables =
set up before entering __start_xen()=0A+     * must be among the first =
(L1_PAGETABLE_ENTRIES - 1) entries.=0A+     * These are generally those =
needed by the various console drivers.=0A+     */=0A+    FIX_EHCI_DBGP,=0A+=
    /* Everything else should go further down. */=0A #ifdef __i386__=0A    =
 FIX_PAE_HIGHMEM_0,=0A     FIX_PAE_HIGHMEM_END =3D FIX_PAE_HIGHMEM_0 + =
NR_CPUS-1,=0A--- a/xen/include/public/physdev.h=0A+++ b/xen/include/public/=
physdev.h=0A@@ -312,6 +312,24 @@ struct physdev_pci_device {=0A typedef =
struct physdev_pci_device physdev_pci_device_t;=0A DEFINE_XEN_GUEST_HANDLE(=
physdev_pci_device_t);=0A =0A+#define PHYSDEVOP_DBGP_RESET_PREPARE    =
1=0A+#define PHYSDEVOP_DBGP_RESET_DONE       2=0A+=0A+#define PHYSDEVOP_DBG=
P_BUS_UNKNOWN      0=0A+#define PHYSDEVOP_DBGP_BUS_PCI          1=0A+=0A+#d=
efine PHYSDEVOP_dbgp_op               29=0A+struct physdev_dbgp_op {=0A+   =
 /* IN */=0A+    uint8_t op;=0A+    uint8_t bus;=0A+    union {=0A+        =
struct physdev_pci_device pci;=0A+    } u;=0A+};=0A+typedef struct =
physdev_dbgp_op physdev_dbgp_op_t;=0A+DEFINE_XEN_GUEST_HANDLE(physdev_dbgp_=
op_t);=0A+=0A /*=0A  * Notify that some PIRQ-bound event channels have =
been unmasked.=0A  * ** This command is obsolete since interface version =
0x00030202 and is **=0A--- a/xen/include/xen/serial.h=0A+++ b/xen/include/x=
en/serial.h=0A@@ -69,9 +69,10 @@ struct uart_driver {=0A };=0A =0A /* =
'Serial handles' are composed from the following fields. */=0A-#define =
SERHND_IDX      (3<<0) /* COM1 or COM2?                           =
*/=0A+#define SERHND_IDX      (3<<0) /* COM1, COM2, or DBGP?               =
     */=0A # define SERHND_COM1    (0<<0)=0A # define SERHND_COM2    =
(1<<0)=0A+# define SERHND_DBGP    (2<<0)=0A #define SERHND_HI       (1<<2) =
/* Mux/demux each transferred char by MSB. */=0A #define SERHND_LO       =
(1<<3) /* Ditto, except that the MSB is cleared.  */=0A #define SERHND_COOK=
ED   (1<<4) /* Newline/carriage-return translation?    */=0A@@ -142,9 =
+143,13 @@ struct ns16550_defaults {=0A     unsigned long io_base; /* =
default io_base address */=0A };=0A void ns16550_init(int index, struct =
ns16550_defaults *defaults);=0A+void ehci_dbgp_init(void);=0A =0A void =
pl011_init(int index, unsigned long register_base_address);=0A =0A+struct =
physdev_dbgp_op;=0A+int dbgp_op(const struct physdev_dbgp_op *);=0A+=0A /* =
Baud rate was pre-configured before invoking the UART driver. */=0A =
#define BAUD_AUTO (-1)=0A =0A
--=__Part3C12C094.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part3C12C094.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:03:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:03:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXhC-0005Yc-MD; Thu, 24 May 2012 13:03:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXhA-0005YD-Up
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:03:13 +0000
Received: from [85.158.139.83:59270] by server-8.bemta-5.messagelabs.com id
	0E/DD-25689-0913EBF4; Thu, 24 May 2012 13:03:12 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337864589!16378535!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27621 invoked from network); 24 May 2012 13:03:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:03:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:03:09 +0100
Message-Id: <4FBE4DCD0200007800085E1A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:03:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part153BE9BD.0__="
Subject: [Xen-devel] [PATCH RFC 4/9] serial: avoid fully initializing unused
 consoles
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part153BE9BD.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Defer calling the drivers' post-IRQ initialization functions (generally
doing allocation of transmit buffers) until it is known that the
respective console is actually going to be used.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -29,6 +29,8 @@ static struct serial_port com[SERHND_IDX
     }
 };
=20
+static bool_t __read_mostly post_irq;
+
 void serial_rx_interrupt(struct serial_port *port, struct cpu_user_regs =
*regs)
 {
     char c;
@@ -263,14 +265,12 @@ char serial_getc(int handle)
=20
 int __init serial_parse_handle(char *conf)
 {
-    int handle;
+    int handle, flags =3D 0;
=20
     if ( !strncmp(conf, "dbgp", 4) && (!conf[4] || conf[4] =3D=3D ',') )
     {
-        if ( !com[SERHND_DBGP].driver )
-            goto fail;
-
-        return SERHND_DBGP | SERHND_COOKED;
+        handle =3D SERHND_DBGP;
+        goto common;
     }
=20
     if ( strncmp(conf, "com", 3) )
@@ -288,17 +288,25 @@ int __init serial_parse_handle(char *con
         goto fail;
     }
=20
-    if ( !com[handle].driver )
-        goto fail;
-
     if ( conf[4] =3D=3D 'H' )
-        handle |=3D SERHND_HI;
+        flags |=3D SERHND_HI;
     else if ( conf[4] =3D=3D 'L' )
-        handle |=3D SERHND_LO;
+        flags |=3D SERHND_LO;
=20
-    handle |=3D SERHND_COOKED;
+ common:
+    if ( !com[handle].driver )
+        goto fail;
+
+    if ( !post_irq )
+        com[handle].state =3D serial_parsed;
+    else if ( com[handle].state !=3D serial_initialized )
+    {
+        if ( com[handle].driver->init_postirq )
+            com[handle].driver->init_postirq(&com[handle]);
+        com[handle].state =3D serial_initialized;
+    }
=20
-    return handle;
+    return handle | flags | SERHND_COOKED;
=20
  fail:
     return -1;
@@ -450,8 +458,13 @@ void __init serial_init_postirq(void)
 {
     int i;
     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )
-        if ( com[i].driver && com[i].driver->init_postirq )
-            com[i].driver->init_postirq(&com[i]);
+        if ( com[i].state =3D=3D serial_parsed )
+        {
+            if ( com[i].driver->init_postirq )
+                com[i].driver->init_postirq(&com[i]);
+            com[i].state =3D serial_initialized;
+        }
+    post_irq =3D 1;
 }
=20
 void __init serial_endboot(void)
@@ -475,7 +488,7 @@ void serial_suspend(void)
 {
     int i;
     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )
-        if ( com[i].driver && com[i].driver->suspend )
+        if ( com[i].state =3D=3D serial_initialized && com[i].driver->susp=
end )
             com[i].driver->suspend(&com[i]);
 }
=20
@@ -483,7 +496,7 @@ void serial_resume(void)
 {
     int i;
     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )
-        if ( com[i].driver && com[i].driver->resume )
+        if ( com[i].state =3D=3D serial_initialized && com[i].driver->resu=
me )
             com[i].driver->resume(&com[i]);
 }
=20
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -25,10 +25,17 @@ extern unsigned int serial_txbufsz;
=20
 struct uart_driver;
=20
+enum serial_port_state {
+    serial_unused,
+    serial_parsed,
+    serial_initialized
+};
+
 struct serial_port {
     /* Uart-driver parameters. */
     struct uart_driver *driver;
     void               *uart;
+    enum serial_port_state state;
     /* Number of characters the port can hold for transmit. */
     int                 tx_fifo_size;
     /* Transmit data buffer (interrupt-driven uart). */




--=__Part153BE9BD.0__=
Content-Type: text/plain; name="sercon-unused.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-unused.patch"

serial: avoid fully initializing unused consoles=0A=0ADefer calling the =
drivers' post-IRQ initialization functions (generally=0Adoing allocation =
of transmit buffers) until it is known that the=0Arespective console is =
actually going to be used.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.c=
om>=0A=0A--- a/xen/drivers/char/serial.c=0A+++ b/xen/drivers/char/serial.c=
=0A@@ -29,6 +29,8 @@ static struct serial_port com[SERHND_IDX=0A     }=0A =
};=0A =0A+static bool_t __read_mostly post_irq;=0A+=0A void serial_rx_inter=
rupt(struct serial_port *port, struct cpu_user_regs *regs)=0A {=0A     =
char c;=0A@@ -263,14 +265,12 @@ char serial_getc(int handle)=0A =0A int =
__init serial_parse_handle(char *conf)=0A {=0A-    int handle;=0A+    int =
handle, flags =3D 0;=0A =0A     if ( !strncmp(conf, "dbgp", 4) && =
(!conf[4] || conf[4] =3D=3D ',') )=0A     {=0A-        if ( !com[SERHND_DBG=
P].driver )=0A-            goto fail;=0A-=0A-        return SERHND_DBGP | =
SERHND_COOKED;=0A+        handle =3D SERHND_DBGP;=0A+        goto =
common;=0A     }=0A =0A     if ( strncmp(conf, "com", 3) )=0A@@ -288,17 =
+288,25 @@ int __init serial_parse_handle(char *con=0A         goto =
fail;=0A     }=0A =0A-    if ( !com[handle].driver )=0A-        goto =
fail;=0A-=0A     if ( conf[4] =3D=3D 'H' )=0A-        handle |=3D =
SERHND_HI;=0A+        flags |=3D SERHND_HI;=0A     else if ( conf[4] =
=3D=3D 'L' )=0A-        handle |=3D SERHND_LO;=0A+        flags |=3D =
SERHND_LO;=0A =0A-    handle |=3D SERHND_COOKED;=0A+ common:=0A+    if ( =
!com[handle].driver )=0A+        goto fail;=0A+=0A+    if ( !post_irq =
)=0A+        com[handle].state =3D serial_parsed;=0A+    else if ( =
com[handle].state !=3D serial_initialized )=0A+    {=0A+        if ( =
com[handle].driver->init_postirq )=0A+            com[handle].driver->init_=
postirq(&com[handle]);=0A+        com[handle].state =3D serial_initialized;=
=0A+    }=0A =0A-    return handle;=0A+    return handle | flags | =
SERHND_COOKED;=0A =0A  fail:=0A     return -1;=0A@@ -450,8 +458,13 @@ void =
__init serial_init_postirq(void)=0A {=0A     int i;=0A     for ( i =3D 0; =
i < ARRAY_SIZE(com); i++ )=0A-        if ( com[i].driver && com[i].driver->=
init_postirq )=0A-            com[i].driver->init_postirq(&com[i]);=0A+    =
    if ( com[i].state =3D=3D serial_parsed )=0A+        {=0A+            =
if ( com[i].driver->init_postirq )=0A+                com[i].driver->init_p=
ostirq(&com[i]);=0A+            com[i].state =3D serial_initialized;=0A+   =
     }=0A+    post_irq =3D 1;=0A }=0A =0A void __init serial_endboot(void)=
=0A@@ -475,7 +488,7 @@ void serial_suspend(void)=0A {=0A     int i;=0A     =
for ( i =3D 0; i < ARRAY_SIZE(com); i++ )=0A-        if ( com[i].driver && =
com[i].driver->suspend )=0A+        if ( com[i].state =3D=3D serial_initial=
ized && com[i].driver->suspend )=0A             com[i].driver->suspend(&com=
[i]);=0A }=0A =0A@@ -483,7 +496,7 @@ void serial_resume(void)=0A {=0A     =
int i;=0A     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )=0A-        if ( =
com[i].driver && com[i].driver->resume )=0A+        if ( com[i].state =
=3D=3D serial_initialized && com[i].driver->resume )=0A             =
com[i].driver->resume(&com[i]);=0A }=0A =0A--- a/xen/include/xen/serial.h=
=0A+++ b/xen/include/xen/serial.h=0A@@ -25,10 +25,17 @@ extern unsigned =
int serial_txbufsz;=0A =0A struct uart_driver;=0A =0A+enum serial_port_stat=
e {=0A+    serial_unused,=0A+    serial_parsed,=0A+    serial_initialized=
=0A+};=0A+=0A struct serial_port {=0A     /* Uart-driver parameters. */=0A =
    struct uart_driver *driver;=0A     void               *uart;=0A+    =
enum serial_port_state state;=0A     /* Number of characters the port can =
hold for transmit. */=0A     int                 tx_fifo_size;=0A     /* =
Transmit data buffer (interrupt-driven uart). */=0A
--=__Part153BE9BD.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part153BE9BD.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:03:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:03:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXhC-0005Yc-MD; Thu, 24 May 2012 13:03:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXhA-0005YD-Up
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:03:13 +0000
Received: from [85.158.139.83:59270] by server-8.bemta-5.messagelabs.com id
	0E/DD-25689-0913EBF4; Thu, 24 May 2012 13:03:12 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337864589!16378535!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27621 invoked from network); 24 May 2012 13:03:10 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:03:10 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:03:09 +0100
Message-Id: <4FBE4DCD0200007800085E1A@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:03:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part153BE9BD.0__="
Subject: [Xen-devel] [PATCH RFC 4/9] serial: avoid fully initializing unused
 consoles
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part153BE9BD.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Defer calling the drivers' post-IRQ initialization functions (generally
doing allocation of transmit buffers) until it is known that the
respective console is actually going to be used.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -29,6 +29,8 @@ static struct serial_port com[SERHND_IDX
     }
 };
=20
+static bool_t __read_mostly post_irq;
+
 void serial_rx_interrupt(struct serial_port *port, struct cpu_user_regs =
*regs)
 {
     char c;
@@ -263,14 +265,12 @@ char serial_getc(int handle)
=20
 int __init serial_parse_handle(char *conf)
 {
-    int handle;
+    int handle, flags =3D 0;
=20
     if ( !strncmp(conf, "dbgp", 4) && (!conf[4] || conf[4] =3D=3D ',') )
     {
-        if ( !com[SERHND_DBGP].driver )
-            goto fail;
-
-        return SERHND_DBGP | SERHND_COOKED;
+        handle =3D SERHND_DBGP;
+        goto common;
     }
=20
     if ( strncmp(conf, "com", 3) )
@@ -288,17 +288,25 @@ int __init serial_parse_handle(char *con
         goto fail;
     }
=20
-    if ( !com[handle].driver )
-        goto fail;
-
     if ( conf[4] =3D=3D 'H' )
-        handle |=3D SERHND_HI;
+        flags |=3D SERHND_HI;
     else if ( conf[4] =3D=3D 'L' )
-        handle |=3D SERHND_LO;
+        flags |=3D SERHND_LO;
=20
-    handle |=3D SERHND_COOKED;
+ common:
+    if ( !com[handle].driver )
+        goto fail;
+
+    if ( !post_irq )
+        com[handle].state =3D serial_parsed;
+    else if ( com[handle].state !=3D serial_initialized )
+    {
+        if ( com[handle].driver->init_postirq )
+            com[handle].driver->init_postirq(&com[handle]);
+        com[handle].state =3D serial_initialized;
+    }
=20
-    return handle;
+    return handle | flags | SERHND_COOKED;
=20
  fail:
     return -1;
@@ -450,8 +458,13 @@ void __init serial_init_postirq(void)
 {
     int i;
     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )
-        if ( com[i].driver && com[i].driver->init_postirq )
-            com[i].driver->init_postirq(&com[i]);
+        if ( com[i].state =3D=3D serial_parsed )
+        {
+            if ( com[i].driver->init_postirq )
+                com[i].driver->init_postirq(&com[i]);
+            com[i].state =3D serial_initialized;
+        }
+    post_irq =3D 1;
 }
=20
 void __init serial_endboot(void)
@@ -475,7 +488,7 @@ void serial_suspend(void)
 {
     int i;
     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )
-        if ( com[i].driver && com[i].driver->suspend )
+        if ( com[i].state =3D=3D serial_initialized && com[i].driver->susp=
end )
             com[i].driver->suspend(&com[i]);
 }
=20
@@ -483,7 +496,7 @@ void serial_resume(void)
 {
     int i;
     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )
-        if ( com[i].driver && com[i].driver->resume )
+        if ( com[i].state =3D=3D serial_initialized && com[i].driver->resu=
me )
             com[i].driver->resume(&com[i]);
 }
=20
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -25,10 +25,17 @@ extern unsigned int serial_txbufsz;
=20
 struct uart_driver;
=20
+enum serial_port_state {
+    serial_unused,
+    serial_parsed,
+    serial_initialized
+};
+
 struct serial_port {
     /* Uart-driver parameters. */
     struct uart_driver *driver;
     void               *uart;
+    enum serial_port_state state;
     /* Number of characters the port can hold for transmit. */
     int                 tx_fifo_size;
     /* Transmit data buffer (interrupt-driven uart). */




--=__Part153BE9BD.0__=
Content-Type: text/plain; name="sercon-unused.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-unused.patch"

serial: avoid fully initializing unused consoles=0A=0ADefer calling the =
drivers' post-IRQ initialization functions (generally=0Adoing allocation =
of transmit buffers) until it is known that the=0Arespective console is =
actually going to be used.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.c=
om>=0A=0A--- a/xen/drivers/char/serial.c=0A+++ b/xen/drivers/char/serial.c=
=0A@@ -29,6 +29,8 @@ static struct serial_port com[SERHND_IDX=0A     }=0A =
};=0A =0A+static bool_t __read_mostly post_irq;=0A+=0A void serial_rx_inter=
rupt(struct serial_port *port, struct cpu_user_regs *regs)=0A {=0A     =
char c;=0A@@ -263,14 +265,12 @@ char serial_getc(int handle)=0A =0A int =
__init serial_parse_handle(char *conf)=0A {=0A-    int handle;=0A+    int =
handle, flags =3D 0;=0A =0A     if ( !strncmp(conf, "dbgp", 4) && =
(!conf[4] || conf[4] =3D=3D ',') )=0A     {=0A-        if ( !com[SERHND_DBG=
P].driver )=0A-            goto fail;=0A-=0A-        return SERHND_DBGP | =
SERHND_COOKED;=0A+        handle =3D SERHND_DBGP;=0A+        goto =
common;=0A     }=0A =0A     if ( strncmp(conf, "com", 3) )=0A@@ -288,17 =
+288,25 @@ int __init serial_parse_handle(char *con=0A         goto =
fail;=0A     }=0A =0A-    if ( !com[handle].driver )=0A-        goto =
fail;=0A-=0A     if ( conf[4] =3D=3D 'H' )=0A-        handle |=3D =
SERHND_HI;=0A+        flags |=3D SERHND_HI;=0A     else if ( conf[4] =
=3D=3D 'L' )=0A-        handle |=3D SERHND_LO;=0A+        flags |=3D =
SERHND_LO;=0A =0A-    handle |=3D SERHND_COOKED;=0A+ common:=0A+    if ( =
!com[handle].driver )=0A+        goto fail;=0A+=0A+    if ( !post_irq =
)=0A+        com[handle].state =3D serial_parsed;=0A+    else if ( =
com[handle].state !=3D serial_initialized )=0A+    {=0A+        if ( =
com[handle].driver->init_postirq )=0A+            com[handle].driver->init_=
postirq(&com[handle]);=0A+        com[handle].state =3D serial_initialized;=
=0A+    }=0A =0A-    return handle;=0A+    return handle | flags | =
SERHND_COOKED;=0A =0A  fail:=0A     return -1;=0A@@ -450,8 +458,13 @@ void =
__init serial_init_postirq(void)=0A {=0A     int i;=0A     for ( i =3D 0; =
i < ARRAY_SIZE(com); i++ )=0A-        if ( com[i].driver && com[i].driver->=
init_postirq )=0A-            com[i].driver->init_postirq(&com[i]);=0A+    =
    if ( com[i].state =3D=3D serial_parsed )=0A+        {=0A+            =
if ( com[i].driver->init_postirq )=0A+                com[i].driver->init_p=
ostirq(&com[i]);=0A+            com[i].state =3D serial_initialized;=0A+   =
     }=0A+    post_irq =3D 1;=0A }=0A =0A void __init serial_endboot(void)=
=0A@@ -475,7 +488,7 @@ void serial_suspend(void)=0A {=0A     int i;=0A     =
for ( i =3D 0; i < ARRAY_SIZE(com); i++ )=0A-        if ( com[i].driver && =
com[i].driver->suspend )=0A+        if ( com[i].state =3D=3D serial_initial=
ized && com[i].driver->suspend )=0A             com[i].driver->suspend(&com=
[i]);=0A }=0A =0A@@ -483,7 +496,7 @@ void serial_resume(void)=0A {=0A     =
int i;=0A     for ( i =3D 0; i < ARRAY_SIZE(com); i++ )=0A-        if ( =
com[i].driver && com[i].driver->resume )=0A+        if ( com[i].state =
=3D=3D serial_initialized && com[i].driver->resume )=0A             =
com[i].driver->resume(&com[i]);=0A }=0A =0A--- a/xen/include/xen/serial.h=
=0A+++ b/xen/include/xen/serial.h=0A@@ -25,10 +25,17 @@ extern unsigned =
int serial_txbufsz;=0A =0A struct uart_driver;=0A =0A+enum serial_port_stat=
e {=0A+    serial_unused,=0A+    serial_parsed,=0A+    serial_initialized=
=0A+};=0A+=0A struct serial_port {=0A     /* Uart-driver parameters. */=0A =
    struct uart_driver *driver;=0A     void               *uart;=0A+    =
enum serial_port_state state;=0A     /* Number of characters the port can =
hold for transmit. */=0A     int                 tx_fifo_size;=0A     /* =
Transmit data buffer (interrupt-driven uart). */=0A
--=__Part153BE9BD.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part153BE9BD.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:04:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:04:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXi2-0005i5-4M; Thu, 24 May 2012 13:04:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXi0-0005h0-3Y
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:04:04 +0000
Received: from [85.158.139.83:10445] by server-9.bemta-5.messagelabs.com id
	D6/93-27779-3C13EBF4; Thu, 24 May 2012 13:04:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337864641!30136488!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3275 invoked from network); 24 May 2012 13:04:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:04:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:04:01 +0100
Message-Id: <4FBE4E030200007800085E3B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:04:35 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5B75A7F3.0__="
Subject: [Xen-devel] [PATCH RFC 5/9] ns16550: MMIO adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5B75A7F3.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On x86 ioremap() is not suitable here, set_fixmap() must be used
instead.

Also replace some literal numbers by their proper symbolic constants,
making the code easier to understand.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -20,6 +20,9 @@
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
 #include <asm/io.h>
+#ifdef CONFIG_X86
+#include <asm/fixmap.h>
+#endif
=20
 /*
  * Configure serial port with a string:
@@ -37,7 +40,7 @@ string_param("com2", opt_com2);
 static struct ns16550 {
     int baud, clock_hz, data_bits, parity, stop_bits, irq;
     unsigned long io_base;   /* I/O port or memory-mapped I/O address. */
-    char *remapped_io_base;  /* Remapped virtual address of mmap I/O.  =
*/=20
+    char __iomem *remapped_io_base;  /* Remapped virtual address of MMIO. =
*/
     /* UART with IRQ line: interrupt-driven I/O. */
     struct irqaction irqaction;
     /* UART with no IRQ line: periodically-polled I/O. */
@@ -207,17 +210,20 @@ static int ns16550_getc(struct serial_po
=20
 static void pci_serial_early_init(struct ns16550 *uart)
 {
-    if ( !uart->ps_bdf_enable )
+    if ( !uart->ps_bdf_enable || uart->io_base >=3D 0x10000 )
         return;
    =20
     if ( uart->pb_bdf_enable )
         pci_conf_write16(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf=
[2],
-            0x1c, (uart->io_base & 0xF000) | ((uart->io_base & 0xF000) >> =
8));
+                         PCI_IO_BASE,
+                         (uart->io_base & 0xF000) |
+                         ((uart->io_base & 0xF000) >> 8));
=20
     pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],=

-        0x10, uart->io_base | 0x1);
+                     PCI_BASE_ADDRESS_0,
+                     uart->io_base | PCI_BASE_ADDRESS_SPACE_IO);
     pci_conf_write16(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],=

-        0x4, 0x1);
+                     PCI_COMMAND, PCI_COMMAND_IO);
 }
=20
 static void ns16550_setup_preirq(struct ns16550 *uart)
@@ -265,7 +271,17 @@ static void __init ns16550_init_preirq(s
=20
     /* I/O ports are distinguished by their size (16 bits). */
     if ( uart->io_base >=3D 0x10000 )
+    {
+#ifdef CONFIG_X86
+        enum fixed_addresses idx =3D FIX_COM_BEGIN + (uart - ns16550_com);=

+
+        set_fixmap_nocache(idx, uart->io_base);
+        uart->remapped_io_base =3D (void __iomem *)fix_to_virt(idx);
+        uart->remapped_io_base +=3D uart->io_base & ~PAGE_MASK;
+#else
         uart->remapped_io_base =3D (char *)ioremap(uart->io_base, 8);
+#endif
+    }
=20
     ns16550_setup_preirq(uart);
=20
@@ -350,6 +366,9 @@ static void ns16550_resume(struct serial
 static void __init ns16550_endboot(struct serial_port *port)
 {
     struct ns16550 *uart =3D port->uart;
+
+    if ( uart->remapped_io_base )
+        return;
     if ( ioports_deny_access(dom0, uart->io_base, uart->io_base + 7) !=3D =
0 )
         BUG();
 }
@@ -453,7 +472,7 @@ pci_uart_config (struct ns16550 *uart, i
     uint32_t bar, len;
     int b, d, f;
=20
-    /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus =
1. */
+    /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus =
0. */
     for ( b =3D skip_amt ? 1 : 0; b < 0x100; b++ )
     {
         for ( d =3D 0; d < 0x20; d++ )
@@ -468,7 +487,7 @@ pci_uart_config (struct ns16550 *uart, i
                                       PCI_BASE_ADDRESS_0 + bar_idx*4);
=20
                 /* Not IO */
-                if ( !(bar & 1) )
+                if ( !(bar & PCI_BASE_ADDRESS_SPACE_IO) )
                     continue;
=20
                 pci_conf_write32(0, b, d, f, PCI_BASE_ADDRESS_0, ~0u);
@@ -484,7 +503,7 @@ pci_uart_config (struct ns16550 *uart, i
                 uart->ps_bdf[2] =3D f;
                 uart->bar =3D bar;
                 uart->bar_idx =3D bar_idx;
-                uart->io_base =3D bar & 0xfffe;
+                uart->io_base =3D bar & ~PCI_BASE_ADDRESS_SPACE_IO;
                 uart->irq =3D 0;
=20
                 return 0;
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -43,6 +43,8 @@ enum fixed_addresses {
      * must be among the first (L1_PAGETABLE_ENTRIES - 1) entries.
      * These are generally those needed by the various console drivers.
      */
+    FIX_COM_BEGIN,
+    FIX_COM_END,
     FIX_EHCI_DBGP,
     /* Everything else should go further down. */
 #ifdef __i386__



--=__Part5B75A7F3.0__=
Content-Type: text/plain; name="sercon-ns16550-mmio.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ns16550-mmio.patch"

ns16550: MMIO adjustments=0A=0AOn x86 ioremap() is not suitable here, =
set_fixmap() must be used=0Ainstead.=0A=0AAlso replace some literal =
numbers by their proper symbolic constants,=0Amaking the code easier to =
understand.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/drivers/char/ns16550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@ -20,6 =
+20,9 @@=0A #include <xen/pci.h>=0A #include <xen/pci_regs.h>=0A #include =
<asm/io.h>=0A+#ifdef CONFIG_X86=0A+#include <asm/fixmap.h>=0A+#endif=0A =
=0A /*=0A  * Configure serial port with a string:=0A@@ -37,7 +40,7 @@ =
string_param("com2", opt_com2);=0A static struct ns16550 {=0A     int =
baud, clock_hz, data_bits, parity, stop_bits, irq;=0A     unsigned long =
io_base;   /* I/O port or memory-mapped I/O address. */=0A-    char =
*remapped_io_base;  /* Remapped virtual address of mmap I/O.  */ =0A+    =
char __iomem *remapped_io_base;  /* Remapped virtual address of MMIO. =
*/=0A     /* UART with IRQ line: interrupt-driven I/O. */=0A     struct =
irqaction irqaction;=0A     /* UART with no IRQ line: periodically-polled =
I/O. */=0A@@ -207,17 +210,20 @@ static int ns16550_getc(struct serial_po=0A=
 =0A static void pci_serial_early_init(struct ns16550 *uart)=0A {=0A-    =
if ( !uart->ps_bdf_enable )=0A+    if ( !uart->ps_bdf_enable || uart->io_ba=
se >=3D 0x10000 )=0A         return;=0A     =0A     if ( uart->pb_bdf_enabl=
e )=0A         pci_conf_write16(0, uart->pb_bdf[0], uart->pb_bdf[1], =
uart->pb_bdf[2],=0A-            0x1c, (uart->io_base & 0xF000) | ((uart->io=
_base & 0xF000) >> 8));=0A+                         PCI_IO_BASE,=0A+       =
                  (uart->io_base & 0xF000) |=0A+                         =
((uart->io_base & 0xF000) >> 8));=0A =0A     pci_conf_write32(0, uart->ps_b=
df[0], uart->ps_bdf[1], uart->ps_bdf[2],=0A-        0x10, uart->io_base | =
0x1);=0A+                     PCI_BASE_ADDRESS_0,=0A+                     =
uart->io_base | PCI_BASE_ADDRESS_SPACE_IO);=0A     pci_conf_write16(0, =
uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],=0A-        0x4, =
0x1);=0A+                     PCI_COMMAND, PCI_COMMAND_IO);=0A }=0A =0A =
static void ns16550_setup_preirq(struct ns16550 *uart)=0A@@ -265,7 +271,17 =
@@ static void __init ns16550_init_preirq(s=0A =0A     /* I/O ports are =
distinguished by their size (16 bits). */=0A     if ( uart->io_base >=3D =
0x10000 )=0A+    {=0A+#ifdef CONFIG_X86=0A+        enum fixed_addresses =
idx =3D FIX_COM_BEGIN + (uart - ns16550_com);=0A+=0A+        set_fixmap_noc=
ache(idx, uart->io_base);=0A+        uart->remapped_io_base =3D (void =
__iomem *)fix_to_virt(idx);=0A+        uart->remapped_io_base +=3D =
uart->io_base & ~PAGE_MASK;=0A+#else=0A         uart->remapped_io_base =3D =
(char *)ioremap(uart->io_base, 8);=0A+#endif=0A+    }=0A =0A     ns16550_se=
tup_preirq(uart);=0A =0A@@ -350,6 +366,9 @@ static void ns16550_resume(stru=
ct serial=0A static void __init ns16550_endboot(struct serial_port =
*port)=0A {=0A     struct ns16550 *uart =3D port->uart;=0A+=0A+    if ( =
uart->remapped_io_base )=0A+        return;=0A     if ( ioports_deny_access=
(dom0, uart->io_base, uart->io_base + 7) !=3D 0 )=0A         BUG();=0A =
}=0A@@ -453,7 +472,7 @@ pci_uart_config (struct ns16550 *uart, i=0A     =
uint32_t bar, len;=0A     int b, d, f;=0A =0A-    /* NB. Start at bus 1 to =
avoid AMT: a plug-in card cannot be on bus 1. */=0A+    /* NB. Start at =
bus 1 to avoid AMT: a plug-in card cannot be on bus 0. */=0A     for ( b =
=3D skip_amt ? 1 : 0; b < 0x100; b++ )=0A     {=0A         for ( d =3D 0; =
d < 0x20; d++ )=0A@@ -468,7 +487,7 @@ pci_uart_config (struct ns16550 =
*uart, i=0A                                       PCI_BASE_ADDRESS_0 + =
bar_idx*4);=0A =0A                 /* Not IO */=0A-                if ( =
!(bar & 1) )=0A+                if ( !(bar & PCI_BASE_ADDRESS_SPACE_IO) =
)=0A                     continue;=0A =0A                 pci_conf_write32(=
0, b, d, f, PCI_BASE_ADDRESS_0, ~0u);=0A@@ -484,7 +503,7 @@ pci_uart_config=
 (struct ns16550 *uart, i=0A                 uart->ps_bdf[2] =3D f;=0A     =
            uart->bar =3D bar;=0A                 uart->bar_idx =3D =
bar_idx;=0A-                uart->io_base =3D bar & 0xfffe;=0A+            =
    uart->io_base =3D bar & ~PCI_BASE_ADDRESS_SPACE_IO;=0A                 =
uart->irq =3D 0;=0A =0A                 return 0;=0A--- a/xen/include/asm-x=
86/fixmap.h=0A+++ b/xen/include/asm-x86/fixmap.h=0A@@ -43,6 +43,8 @@ enum =
fixed_addresses {=0A      * must be among the first (L1_PAGETABLE_ENTRIES =
- 1) entries.=0A      * These are generally those needed by the various =
console drivers.=0A      */=0A+    FIX_COM_BEGIN,=0A+    FIX_COM_END,=0A   =
  FIX_EHCI_DBGP,=0A     /* Everything else should go further down. */=0A =
#ifdef __i386__=0A
--=__Part5B75A7F3.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5B75A7F3.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:04:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:04:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXi2-0005i5-4M; Thu, 24 May 2012 13:04:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXi0-0005h0-3Y
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:04:04 +0000
Received: from [85.158.139.83:10445] by server-9.bemta-5.messagelabs.com id
	D6/93-27779-3C13EBF4; Thu, 24 May 2012 13:04:03 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337864641!30136488!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3275 invoked from network); 24 May 2012 13:04:02 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-2.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:04:02 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:04:01 +0100
Message-Id: <4FBE4E030200007800085E3B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:04:35 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5B75A7F3.0__="
Subject: [Xen-devel] [PATCH RFC 5/9] ns16550: MMIO adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5B75A7F3.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On x86 ioremap() is not suitable here, set_fixmap() must be used
instead.

Also replace some literal numbers by their proper symbolic constants,
making the code easier to understand.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -20,6 +20,9 @@
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
 #include <asm/io.h>
+#ifdef CONFIG_X86
+#include <asm/fixmap.h>
+#endif
=20
 /*
  * Configure serial port with a string:
@@ -37,7 +40,7 @@ string_param("com2", opt_com2);
 static struct ns16550 {
     int baud, clock_hz, data_bits, parity, stop_bits, irq;
     unsigned long io_base;   /* I/O port or memory-mapped I/O address. */
-    char *remapped_io_base;  /* Remapped virtual address of mmap I/O.  =
*/=20
+    char __iomem *remapped_io_base;  /* Remapped virtual address of MMIO. =
*/
     /* UART with IRQ line: interrupt-driven I/O. */
     struct irqaction irqaction;
     /* UART with no IRQ line: periodically-polled I/O. */
@@ -207,17 +210,20 @@ static int ns16550_getc(struct serial_po
=20
 static void pci_serial_early_init(struct ns16550 *uart)
 {
-    if ( !uart->ps_bdf_enable )
+    if ( !uart->ps_bdf_enable || uart->io_base >=3D 0x10000 )
         return;
    =20
     if ( uart->pb_bdf_enable )
         pci_conf_write16(0, uart->pb_bdf[0], uart->pb_bdf[1], uart->pb_bdf=
[2],
-            0x1c, (uart->io_base & 0xF000) | ((uart->io_base & 0xF000) >> =
8));
+                         PCI_IO_BASE,
+                         (uart->io_base & 0xF000) |
+                         ((uart->io_base & 0xF000) >> 8));
=20
     pci_conf_write32(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],=

-        0x10, uart->io_base | 0x1);
+                     PCI_BASE_ADDRESS_0,
+                     uart->io_base | PCI_BASE_ADDRESS_SPACE_IO);
     pci_conf_write16(0, uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],=

-        0x4, 0x1);
+                     PCI_COMMAND, PCI_COMMAND_IO);
 }
=20
 static void ns16550_setup_preirq(struct ns16550 *uart)
@@ -265,7 +271,17 @@ static void __init ns16550_init_preirq(s
=20
     /* I/O ports are distinguished by their size (16 bits). */
     if ( uart->io_base >=3D 0x10000 )
+    {
+#ifdef CONFIG_X86
+        enum fixed_addresses idx =3D FIX_COM_BEGIN + (uart - ns16550_com);=

+
+        set_fixmap_nocache(idx, uart->io_base);
+        uart->remapped_io_base =3D (void __iomem *)fix_to_virt(idx);
+        uart->remapped_io_base +=3D uart->io_base & ~PAGE_MASK;
+#else
         uart->remapped_io_base =3D (char *)ioremap(uart->io_base, 8);
+#endif
+    }
=20
     ns16550_setup_preirq(uart);
=20
@@ -350,6 +366,9 @@ static void ns16550_resume(struct serial
 static void __init ns16550_endboot(struct serial_port *port)
 {
     struct ns16550 *uart =3D port->uart;
+
+    if ( uart->remapped_io_base )
+        return;
     if ( ioports_deny_access(dom0, uart->io_base, uart->io_base + 7) !=3D =
0 )
         BUG();
 }
@@ -453,7 +472,7 @@ pci_uart_config (struct ns16550 *uart, i
     uint32_t bar, len;
     int b, d, f;
=20
-    /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus =
1. */
+    /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus =
0. */
     for ( b =3D skip_amt ? 1 : 0; b < 0x100; b++ )
     {
         for ( d =3D 0; d < 0x20; d++ )
@@ -468,7 +487,7 @@ pci_uart_config (struct ns16550 *uart, i
                                       PCI_BASE_ADDRESS_0 + bar_idx*4);
=20
                 /* Not IO */
-                if ( !(bar & 1) )
+                if ( !(bar & PCI_BASE_ADDRESS_SPACE_IO) )
                     continue;
=20
                 pci_conf_write32(0, b, d, f, PCI_BASE_ADDRESS_0, ~0u);
@@ -484,7 +503,7 @@ pci_uart_config (struct ns16550 *uart, i
                 uart->ps_bdf[2] =3D f;
                 uart->bar =3D bar;
                 uart->bar_idx =3D bar_idx;
-                uart->io_base =3D bar & 0xfffe;
+                uart->io_base =3D bar & ~PCI_BASE_ADDRESS_SPACE_IO;
                 uart->irq =3D 0;
=20
                 return 0;
--- a/xen/include/asm-x86/fixmap.h
+++ b/xen/include/asm-x86/fixmap.h
@@ -43,6 +43,8 @@ enum fixed_addresses {
      * must be among the first (L1_PAGETABLE_ENTRIES - 1) entries.
      * These are generally those needed by the various console drivers.
      */
+    FIX_COM_BEGIN,
+    FIX_COM_END,
     FIX_EHCI_DBGP,
     /* Everything else should go further down. */
 #ifdef __i386__



--=__Part5B75A7F3.0__=
Content-Type: text/plain; name="sercon-ns16550-mmio.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ns16550-mmio.patch"

ns16550: MMIO adjustments=0A=0AOn x86 ioremap() is not suitable here, =
set_fixmap() must be used=0Ainstead.=0A=0AAlso replace some literal =
numbers by their proper symbolic constants,=0Amaking the code easier to =
understand.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/drivers/char/ns16550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@ -20,6 =
+20,9 @@=0A #include <xen/pci.h>=0A #include <xen/pci_regs.h>=0A #include =
<asm/io.h>=0A+#ifdef CONFIG_X86=0A+#include <asm/fixmap.h>=0A+#endif=0A =
=0A /*=0A  * Configure serial port with a string:=0A@@ -37,7 +40,7 @@ =
string_param("com2", opt_com2);=0A static struct ns16550 {=0A     int =
baud, clock_hz, data_bits, parity, stop_bits, irq;=0A     unsigned long =
io_base;   /* I/O port or memory-mapped I/O address. */=0A-    char =
*remapped_io_base;  /* Remapped virtual address of mmap I/O.  */ =0A+    =
char __iomem *remapped_io_base;  /* Remapped virtual address of MMIO. =
*/=0A     /* UART with IRQ line: interrupt-driven I/O. */=0A     struct =
irqaction irqaction;=0A     /* UART with no IRQ line: periodically-polled =
I/O. */=0A@@ -207,17 +210,20 @@ static int ns16550_getc(struct serial_po=0A=
 =0A static void pci_serial_early_init(struct ns16550 *uart)=0A {=0A-    =
if ( !uart->ps_bdf_enable )=0A+    if ( !uart->ps_bdf_enable || uart->io_ba=
se >=3D 0x10000 )=0A         return;=0A     =0A     if ( uart->pb_bdf_enabl=
e )=0A         pci_conf_write16(0, uart->pb_bdf[0], uart->pb_bdf[1], =
uart->pb_bdf[2],=0A-            0x1c, (uart->io_base & 0xF000) | ((uart->io=
_base & 0xF000) >> 8));=0A+                         PCI_IO_BASE,=0A+       =
                  (uart->io_base & 0xF000) |=0A+                         =
((uart->io_base & 0xF000) >> 8));=0A =0A     pci_conf_write32(0, uart->ps_b=
df[0], uart->ps_bdf[1], uart->ps_bdf[2],=0A-        0x10, uart->io_base | =
0x1);=0A+                     PCI_BASE_ADDRESS_0,=0A+                     =
uart->io_base | PCI_BASE_ADDRESS_SPACE_IO);=0A     pci_conf_write16(0, =
uart->ps_bdf[0], uart->ps_bdf[1], uart->ps_bdf[2],=0A-        0x4, =
0x1);=0A+                     PCI_COMMAND, PCI_COMMAND_IO);=0A }=0A =0A =
static void ns16550_setup_preirq(struct ns16550 *uart)=0A@@ -265,7 +271,17 =
@@ static void __init ns16550_init_preirq(s=0A =0A     /* I/O ports are =
distinguished by their size (16 bits). */=0A     if ( uart->io_base >=3D =
0x10000 )=0A+    {=0A+#ifdef CONFIG_X86=0A+        enum fixed_addresses =
idx =3D FIX_COM_BEGIN + (uart - ns16550_com);=0A+=0A+        set_fixmap_noc=
ache(idx, uart->io_base);=0A+        uart->remapped_io_base =3D (void =
__iomem *)fix_to_virt(idx);=0A+        uart->remapped_io_base +=3D =
uart->io_base & ~PAGE_MASK;=0A+#else=0A         uart->remapped_io_base =3D =
(char *)ioremap(uart->io_base, 8);=0A+#endif=0A+    }=0A =0A     ns16550_se=
tup_preirq(uart);=0A =0A@@ -350,6 +366,9 @@ static void ns16550_resume(stru=
ct serial=0A static void __init ns16550_endboot(struct serial_port =
*port)=0A {=0A     struct ns16550 *uart =3D port->uart;=0A+=0A+    if ( =
uart->remapped_io_base )=0A+        return;=0A     if ( ioports_deny_access=
(dom0, uart->io_base, uart->io_base + 7) !=3D 0 )=0A         BUG();=0A =
}=0A@@ -453,7 +472,7 @@ pci_uart_config (struct ns16550 *uart, i=0A     =
uint32_t bar, len;=0A     int b, d, f;=0A =0A-    /* NB. Start at bus 1 to =
avoid AMT: a plug-in card cannot be on bus 1. */=0A+    /* NB. Start at =
bus 1 to avoid AMT: a plug-in card cannot be on bus 0. */=0A     for ( b =
=3D skip_amt ? 1 : 0; b < 0x100; b++ )=0A     {=0A         for ( d =3D 0; =
d < 0x20; d++ )=0A@@ -468,7 +487,7 @@ pci_uart_config (struct ns16550 =
*uart, i=0A                                       PCI_BASE_ADDRESS_0 + =
bar_idx*4);=0A =0A                 /* Not IO */=0A-                if ( =
!(bar & 1) )=0A+                if ( !(bar & PCI_BASE_ADDRESS_SPACE_IO) =
)=0A                     continue;=0A =0A                 pci_conf_write32(=
0, b, d, f, PCI_BASE_ADDRESS_0, ~0u);=0A@@ -484,7 +503,7 @@ pci_uart_config=
 (struct ns16550 *uart, i=0A                 uart->ps_bdf[2] =3D f;=0A     =
            uart->bar =3D bar;=0A                 uart->bar_idx =3D =
bar_idx;=0A-                uart->io_base =3D bar & 0xfffe;=0A+            =
    uart->io_base =3D bar & ~PCI_BASE_ADDRESS_SPACE_IO;=0A                 =
uart->irq =3D 0;=0A =0A                 return 0;=0A--- a/xen/include/asm-x=
86/fixmap.h=0A+++ b/xen/include/asm-x86/fixmap.h=0A@@ -43,6 +43,8 @@ enum =
fixed_addresses {=0A      * must be among the first (L1_PAGETABLE_ENTRIES =
- 1) entries.=0A      * These are generally those needed by the various =
console drivers.=0A      */=0A+    FIX_COM_BEGIN,=0A+    FIX_COM_END,=0A   =
  FIX_EHCI_DBGP,=0A     /* Everything else should go further down. */=0A =
#ifdef __i386__=0A
--=__Part5B75A7F3.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5B75A7F3.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:05:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:05:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXin-0005qo-JL; Thu, 24 May 2012 13:04:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXim-0005qP-2X
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:04:52 +0000
Received: from [85.158.139.83:19749] by server-6.bemta-5.messagelabs.com id
	DB/79-31790-3F13EBF4; Thu, 24 May 2012 13:04:51 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337864690!29459959!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1969 invoked from network); 24 May 2012 13:04:50 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:04:50 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:04:50 +0100
Message-Id: <4FBE4E320200007800085E3F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:05:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartA9875502.0__="
Subject: [Xen-devel] [PATCH RFC 6/9] ns16550: PCI initialization adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartA9875502.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Besides single-port serial cards, also accept multi-port ones and such
providing mixed functionality (e.g. also having a parallel port).

Reading PCI_INTERRUPT_PIN before ACPI gets enabled generally produces
an incorrect IRQ (below 16, whereas after enabling ACPI it frequently
would end up at a higher one), so this is useful (almost) only when a
system already boots in ACPI mode.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -468,7 +468,6 @@ static int __init check_existence(struct
 static int
 pci_uart_config (struct ns16550 *uart, int skip_amt, int bar_idx)
 {
-    uint16_t class;
     uint32_t bar, len;
     int b, d, f;
=20
@@ -479,9 +478,15 @@ pci_uart_config (struct ns16550 *uart, i
         {
             for ( f =3D 0; f < 0x8; f++ )
             {
-                class =3D pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE);
-                if ( class !=3D 0x700 )
+                switch ( pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE) )
+                {
+                case 0x0700: /* single port serial */
+                case 0x0702: /* multi port serial */
+                case 0x0780: /* other (e.g serial+parallel) */
+                    break;
+                default:
                     continue;
+                }
=20
                 bar =3D pci_conf_read32(0, b, d, f,
                                       PCI_BASE_ADDRESS_0 + bar_idx*4);
@@ -504,7 +509,8 @@ pci_uart_config (struct ns16550 *uart, i
                 uart->bar =3D bar;
                 uart->bar_idx =3D bar_idx;
                 uart->io_base =3D bar & ~PCI_BASE_ADDRESS_SPACE_IO;
-                uart->irq =3D 0;
+                uart->irq =3D pci_conf_read8(0, b, d, f, PCI_INTERRUPT_PIN=
) ?
+                    pci_conf_read8(0, b, d, f, PCI_INTERRUPT_LINE) : 0;
=20
                 return 0;
             }




--=__PartA9875502.0__=
Content-Type: application/octet-stream; name="sercon-ns16550-pci-irq.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sercon-ns16550-pci-irq.c"

bnMxNjU1MDogUENJIGluaXRpYWxpemF0aW9uIGFkanVzdG1lbnRzCgpCZXNpZGVzIHNpbmdsZS1w
b3J0IHNlcmlhbCBjYXJkcywgYWxzbyBhY2NlcHQgbXVsdGktcG9ydCBvbmVzIGFuZCBzdWNoCnBy
b3ZpZGluZyBtaXhlZCBmdW5jdGlvbmFsaXR5IChlLmcuIGFsc28gaGF2aW5nIGEgcGFyYWxsZWwg
cG9ydCkuCgpSZWFkaW5nIFBDSV9JTlRFUlJVUFRfUElOIGJlZm9yZSBBQ1BJIGdldHMgZW5hYmxl
ZCBnZW5lcmFsbHkgcHJvZHVjZXMKYW4gaW5jb3JyZWN0IElSUSAoYmVsb3cgMTYsIHdoZXJlYXMg
YWZ0ZXIgZW5hYmxpbmcgQUNQSSBpdCBmcmVxdWVudGx5CndvdWxkIGVuZCB1cCBhdCBhIGhpZ2hl
ciBvbmUpLCBzbyB0aGlzIGlzIHVzZWZ1bCAoYWxtb3N0KSBvbmx5IHdoZW4gYQpzeXN0ZW0gYWxy
ZWFkeSBib290cyBpbiBBQ1BJIG1vZGUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9jaGFyL25zMTY1NTAuYworKysgYi94
ZW4vZHJpdmVycy9jaGFyL25zMTY1NTAuYwpAQCAtNDY4LDcgKzQ2OCw2IEBAIHN0YXRpYyBpbnQg
X19pbml0IGNoZWNrX2V4aXN0ZW5jZShzdHJ1Y3QKIHN0YXRpYyBpbnQKIHBjaV91YXJ0X2NvbmZp
ZyAoc3RydWN0IG5zMTY1NTAgKnVhcnQsIGludCBza2lwX2FtdCwgaW50IGJhcl9pZHgpCiB7Ci0g
ICAgdWludDE2X3QgY2xhc3M7CiAgICAgdWludDMyX3QgYmFyLCBsZW47CiAgICAgaW50IGIsIGQs
IGY7CiAKQEAgLTQ3OSw5ICs0NzgsMTUgQEAgcGNpX3VhcnRfY29uZmlnIChzdHJ1Y3QgbnMxNjU1
MCAqdWFydCwgaQogICAgICAgICB7CiAgICAgICAgICAgICBmb3IgKCBmID0gMDsgZiA8IDB4ODsg
ZisrICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjbGFzcyA9IHBjaV9jb25mX3Jl
YWQxNigwLCBiLCBkLCBmLCBQQ0lfQ0xBU1NfREVWSUNFKTsKLSAgICAgICAgICAgICAgICBpZiAo
IGNsYXNzICE9IDB4NzAwICkKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKCBwY2lfY29uZl9yZWFk
MTYoMCwgYiwgZCwgZiwgUENJX0NMQVNTX0RFVklDRSkgKQorICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBjYXNlIDB4MDcwMDogLyogc2luZ2xlIHBvcnQgc2VyaWFsICovCisgICAg
ICAgICAgICAgICAgY2FzZSAweDA3MDI6IC8qIG11bHRpIHBvcnQgc2VyaWFsICovCisgICAgICAg
ICAgICAgICAgY2FzZSAweDA3ODA6IC8qIG90aGVyIChlLmcgc2VyaWFsK3BhcmFsbGVsKSAqLwor
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgICAgICBiYXIgPSBwY2lfY29uZl9yZWFkMzIoMCwgYiwgZCwgZiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUENJX0JBU0VfQUREUkVTU18wICsgYmFyX2lkeCo0KTsK
QEAgLTUwNCw3ICs1MDksOCBAQCBwY2lfdWFydF9jb25maWcgKHN0cnVjdCBuczE2NTUwICp1YXJ0
LCBpCiAgICAgICAgICAgICAgICAgdWFydC0+YmFyID0gYmFyOwogICAgICAgICAgICAgICAgIHVh
cnQtPmJhcl9pZHggPSBiYXJfaWR4OwogICAgICAgICAgICAgICAgIHVhcnQtPmlvX2Jhc2UgPSBi
YXIgJiB+UENJX0JBU0VfQUREUkVTU19TUEFDRV9JTzsKLSAgICAgICAgICAgICAgICB1YXJ0LT5p
cnEgPSAwOworICAgICAgICAgICAgICAgIHVhcnQtPmlycSA9IHBjaV9jb25mX3JlYWQ4KDAsIGIs
IGQsIGYsIFBDSV9JTlRFUlJVUFRfUElOKSA/CisgICAgICAgICAgICAgICAgICAgIHBjaV9jb25m
X3JlYWQ4KDAsIGIsIGQsIGYsIFBDSV9JTlRFUlJVUFRfTElORSkgOiAwOwogCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9Cg==

--=__PartA9875502.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartA9875502.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:05:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:05:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXin-0005qo-JL; Thu, 24 May 2012 13:04:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXim-0005qP-2X
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:04:52 +0000
Received: from [85.158.139.83:19749] by server-6.bemta-5.messagelabs.com id
	DB/79-31790-3F13EBF4; Thu, 24 May 2012 13:04:51 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1337864690!29459959!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1969 invoked from network); 24 May 2012 13:04:50 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:04:50 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:04:50 +0100
Message-Id: <4FBE4E320200007800085E3F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:05:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartA9875502.0__="
Subject: [Xen-devel] [PATCH RFC 6/9] ns16550: PCI initialization adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartA9875502.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Besides single-port serial cards, also accept multi-port ones and such
providing mixed functionality (e.g. also having a parallel port).

Reading PCI_INTERRUPT_PIN before ACPI gets enabled generally produces
an incorrect IRQ (below 16, whereas after enabling ACPI it frequently
would end up at a higher one), so this is useful (almost) only when a
system already boots in ACPI mode.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -468,7 +468,6 @@ static int __init check_existence(struct
 static int
 pci_uart_config (struct ns16550 *uart, int skip_amt, int bar_idx)
 {
-    uint16_t class;
     uint32_t bar, len;
     int b, d, f;
=20
@@ -479,9 +478,15 @@ pci_uart_config (struct ns16550 *uart, i
         {
             for ( f =3D 0; f < 0x8; f++ )
             {
-                class =3D pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE);
-                if ( class !=3D 0x700 )
+                switch ( pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE) )
+                {
+                case 0x0700: /* single port serial */
+                case 0x0702: /* multi port serial */
+                case 0x0780: /* other (e.g serial+parallel) */
+                    break;
+                default:
                     continue;
+                }
=20
                 bar =3D pci_conf_read32(0, b, d, f,
                                       PCI_BASE_ADDRESS_0 + bar_idx*4);
@@ -504,7 +509,8 @@ pci_uart_config (struct ns16550 *uart, i
                 uart->bar =3D bar;
                 uart->bar_idx =3D bar_idx;
                 uart->io_base =3D bar & ~PCI_BASE_ADDRESS_SPACE_IO;
-                uart->irq =3D 0;
+                uart->irq =3D pci_conf_read8(0, b, d, f, PCI_INTERRUPT_PIN=
) ?
+                    pci_conf_read8(0, b, d, f, PCI_INTERRUPT_LINE) : 0;
=20
                 return 0;
             }




--=__PartA9875502.0__=
Content-Type: application/octet-stream; name="sercon-ns16550-pci-irq.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sercon-ns16550-pci-irq.c"

bnMxNjU1MDogUENJIGluaXRpYWxpemF0aW9uIGFkanVzdG1lbnRzCgpCZXNpZGVzIHNpbmdsZS1w
b3J0IHNlcmlhbCBjYXJkcywgYWxzbyBhY2NlcHQgbXVsdGktcG9ydCBvbmVzIGFuZCBzdWNoCnBy
b3ZpZGluZyBtaXhlZCBmdW5jdGlvbmFsaXR5IChlLmcuIGFsc28gaGF2aW5nIGEgcGFyYWxsZWwg
cG9ydCkuCgpSZWFkaW5nIFBDSV9JTlRFUlJVUFRfUElOIGJlZm9yZSBBQ1BJIGdldHMgZW5hYmxl
ZCBnZW5lcmFsbHkgcHJvZHVjZXMKYW4gaW5jb3JyZWN0IElSUSAoYmVsb3cgMTYsIHdoZXJlYXMg
YWZ0ZXIgZW5hYmxpbmcgQUNQSSBpdCBmcmVxdWVudGx5CndvdWxkIGVuZCB1cCBhdCBhIGhpZ2hl
ciBvbmUpLCBzbyB0aGlzIGlzIHVzZWZ1bCAoYWxtb3N0KSBvbmx5IHdoZW4gYQpzeXN0ZW0gYWxy
ZWFkeSBib290cyBpbiBBQ1BJIG1vZGUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9jaGFyL25zMTY1NTAuYworKysgYi94
ZW4vZHJpdmVycy9jaGFyL25zMTY1NTAuYwpAQCAtNDY4LDcgKzQ2OCw2IEBAIHN0YXRpYyBpbnQg
X19pbml0IGNoZWNrX2V4aXN0ZW5jZShzdHJ1Y3QKIHN0YXRpYyBpbnQKIHBjaV91YXJ0X2NvbmZp
ZyAoc3RydWN0IG5zMTY1NTAgKnVhcnQsIGludCBza2lwX2FtdCwgaW50IGJhcl9pZHgpCiB7Ci0g
ICAgdWludDE2X3QgY2xhc3M7CiAgICAgdWludDMyX3QgYmFyLCBsZW47CiAgICAgaW50IGIsIGQs
IGY7CiAKQEAgLTQ3OSw5ICs0NzgsMTUgQEAgcGNpX3VhcnRfY29uZmlnIChzdHJ1Y3QgbnMxNjU1
MCAqdWFydCwgaQogICAgICAgICB7CiAgICAgICAgICAgICBmb3IgKCBmID0gMDsgZiA8IDB4ODsg
ZisrICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjbGFzcyA9IHBjaV9jb25mX3Jl
YWQxNigwLCBiLCBkLCBmLCBQQ0lfQ0xBU1NfREVWSUNFKTsKLSAgICAgICAgICAgICAgICBpZiAo
IGNsYXNzICE9IDB4NzAwICkKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKCBwY2lfY29uZl9yZWFk
MTYoMCwgYiwgZCwgZiwgUENJX0NMQVNTX0RFVklDRSkgKQorICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBjYXNlIDB4MDcwMDogLyogc2luZ2xlIHBvcnQgc2VyaWFsICovCisgICAg
ICAgICAgICAgICAgY2FzZSAweDA3MDI6IC8qIG11bHRpIHBvcnQgc2VyaWFsICovCisgICAgICAg
ICAgICAgICAgY2FzZSAweDA3ODA6IC8qIG90aGVyIChlLmcgc2VyaWFsK3BhcmFsbGVsKSAqLwor
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgICAgICBiYXIgPSBwY2lfY29uZl9yZWFkMzIoMCwgYiwgZCwgZiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUENJX0JBU0VfQUREUkVTU18wICsgYmFyX2lkeCo0KTsK
QEAgLTUwNCw3ICs1MDksOCBAQCBwY2lfdWFydF9jb25maWcgKHN0cnVjdCBuczE2NTUwICp1YXJ0
LCBpCiAgICAgICAgICAgICAgICAgdWFydC0+YmFyID0gYmFyOwogICAgICAgICAgICAgICAgIHVh
cnQtPmJhcl9pZHggPSBiYXJfaWR4OwogICAgICAgICAgICAgICAgIHVhcnQtPmlvX2Jhc2UgPSBi
YXIgJiB+UENJX0JBU0VfQUREUkVTU19TUEFDRV9JTzsKLSAgICAgICAgICAgICAgICB1YXJ0LT5p
cnEgPSAwOworICAgICAgICAgICAgICAgIHVhcnQtPmlycSA9IHBjaV9jb25mX3JlYWQ4KDAsIGIs
IGQsIGYsIFBDSV9JTlRFUlJVUFRfUElOKSA/CisgICAgICAgICAgICAgICAgICAgIHBjaV9jb25m
X3JlYWQ4KDAsIGIsIGQsIGYsIFBDSV9JTlRFUlJVUFRfTElORSkgOiAwOwogCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9Cg==

--=__PartA9875502.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartA9875502.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:05:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:05:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXjW-0005y8-1a; Thu, 24 May 2012 13:05:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXjU-0005xr-Q3
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:05:37 +0000
Received: from [85.158.139.83:4514] by server-1.bemta-5.messagelabs.com id
	DB/6E-21549-F123EBF4; Thu, 24 May 2012 13:05:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337864734!27439090!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24597 invoked from network); 24 May 2012 13:05:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:05:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:05:34 +0100
Message-Id: <4FBE4E5E0200007800085E43@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:06:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part85AB792E.0__="
Subject: [Xen-devel] [PATCH RFC 7/9] ns16550: command line parsing
	adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part85AB792E.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Allow intermediate parts of the command line options to be absent
(expressed by two immediately succeeding commas).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -556,26 +556,23 @@ static void __init ns16550_parse_port_co
     else if ( (baud =3D simple_strtoul(conf, &conf, 10)) !=3D 0 )
         uart->baud =3D baud;
=20
-    if ( *conf =3D=3D '/')
+    if ( *conf =3D=3D '/' )
     {
         conf++;
         uart->clock_hz =3D simple_strtoul(conf, &conf, 0) << 4;
     }
=20
-    if ( *conf !=3D ',' )
-        goto config_parsed;
-    conf++;
-
-    uart->data_bits =3D simple_strtoul(conf, &conf, 10);
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+    {
+        uart->data_bits =3D simple_strtoul(conf, &conf, 10);
=20
-    uart->parity =3D parse_parity_char(*conf);
-    conf++;
+        uart->parity =3D parse_parity_char(*conf);
=20
-    uart->stop_bits =3D simple_strtoul(conf, &conf, 10);
+        uart->stop_bits =3D simple_strtoul(conf + 1, &conf, 10);
+    }
=20
-    if ( *conf =3D=3D ',' )
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
     {
-        conf++;
         if ( strncmp(conf, "pci", 3) =3D=3D 0 )
         {
             if ( pci_uart_config(uart, 1/* skip AMT */, uart - ns16550_com=
) )
@@ -592,24 +589,21 @@ static void __init ns16550_parse_port_co
         {
             uart->io_base =3D simple_strtoul(conf, &conf, 0);
         }
+    }
=20
-        if ( *conf =3D=3D ',' )
-        {
-            conf++;
-            uart->irq =3D simple_strtoul(conf, &conf, 10);
-            if ( *conf =3D=3D ',' )
-            {
-                conf++;
-                uart->ps_bdf_enable =3D 1;
-                parse_pci_bdf(&conf, &uart->ps_bdf[0]);
-                if ( *conf =3D=3D ',' )
-                {
-                    conf++;
-                    uart->pb_bdf_enable =3D 1;
-                    parse_pci_bdf(&conf, &uart->pb_bdf[0]);
-                }
-            }
-        }
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+        uart->irq =3D simple_strtol(conf, &conf, 10);
+
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+    {
+        uart->ps_bdf_enable =3D 1;
+        parse_pci_bdf(&conf, &uart->ps_bdf[0]);
+    }
+
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+    {
+        uart->pb_bdf_enable =3D 1;
+        parse_pci_bdf(&conf, &uart->pb_bdf[0]);
     }
=20
  config_parsed:




--=__Part85AB792E.0__=
Content-Type: text/plain; name="sercon-ns16550-parse.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ns16550-parse.patch"

ns16550: command line parsing adjustments=0A=0AAllow intermediate parts of =
the command line options to be absent=0A(expressed by two immediately =
succeeding commas).=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/xen/drivers/char/ns16550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@=
 -556,26 +556,23 @@ static void __init ns16550_parse_port_co=0A     else =
if ( (baud =3D simple_strtoul(conf, &conf, 10)) !=3D 0 )=0A         =
uart->baud =3D baud;=0A =0A-    if ( *conf =3D=3D '/')=0A+    if ( *conf =
=3D=3D '/' )=0A     {=0A         conf++;=0A         uart->clock_hz =3D =
simple_strtoul(conf, &conf, 0) << 4;=0A     }=0A =0A-    if ( *conf !=3D =
',' )=0A-        goto config_parsed;=0A-    conf++;=0A-=0A-    uart->data_b=
its =3D simple_strtoul(conf, &conf, 10);=0A+    if ( *conf =3D=3D ',' && =
*++conf !=3D ',' )=0A+    {=0A+        uart->data_bits =3D simple_strtoul(c=
onf, &conf, 10);=0A =0A-    uart->parity =3D parse_parity_char(*conf);=0A- =
   conf++;=0A+        uart->parity =3D parse_parity_char(*conf);=0A =0A-   =
 uart->stop_bits =3D simple_strtoul(conf, &conf, 10);=0A+        uart->stop=
_bits =3D simple_strtoul(conf + 1, &conf, 10);=0A+    }=0A =0A-    if ( =
*conf =3D=3D ',' )=0A+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )=0A   =
  {=0A-        conf++;=0A         if ( strncmp(conf, "pci", 3) =3D=3D 0 =
)=0A         {=0A             if ( pci_uart_config(uart, 1/* skip AMT */, =
uart - ns16550_com) )=0A@@ -592,24 +589,21 @@ static void __init ns16550_pa=
rse_port_co=0A         {=0A             uart->io_base =3D simple_strtoul(co=
nf, &conf, 0);=0A         }=0A+    }=0A =0A-        if ( *conf =3D=3D ',' =
)=0A-        {=0A-            conf++;=0A-            uart->irq =3D =
simple_strtoul(conf, &conf, 10);=0A-            if ( *conf =3D=3D ',' =
)=0A-            {=0A-                conf++;=0A-                uart->ps_b=
df_enable =3D 1;=0A-                parse_pci_bdf(&conf, &uart->ps_bdf[0]);=
=0A-                if ( *conf =3D=3D ',' )=0A-                {=0A-       =
             conf++;=0A-                    uart->pb_bdf_enable =3D 1;=0A- =
                   parse_pci_bdf(&conf, &uart->pb_bdf[0]);=0A-             =
   }=0A-            }=0A-        }=0A+    if ( *conf =3D=3D ',' && *++conf =
!=3D ',' )=0A+        uart->irq =3D simple_strtol(conf, &conf, 10);=0A+=0A+=
    if ( *conf =3D=3D ',' && *++conf !=3D ',' )=0A+    {=0A+        =
uart->ps_bdf_enable =3D 1;=0A+        parse_pci_bdf(&conf, &uart->ps_bdf[0]=
);=0A+    }=0A+=0A+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )=0A+    =
{=0A+        uart->pb_bdf_enable =3D 1;=0A+        parse_pci_bdf(&conf, =
&uart->pb_bdf[0]);=0A     }=0A =0A  config_parsed:=0A
--=__Part85AB792E.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part85AB792E.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:05:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:05:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXjW-0005y8-1a; Thu, 24 May 2012 13:05:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXjU-0005xr-Q3
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:05:37 +0000
Received: from [85.158.139.83:4514] by server-1.bemta-5.messagelabs.com id
	DB/6E-21549-F123EBF4; Thu, 24 May 2012 13:05:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337864734!27439090!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24597 invoked from network); 24 May 2012 13:05:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:05:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:05:34 +0100
Message-Id: <4FBE4E5E0200007800085E43@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:06:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part85AB792E.0__="
Subject: [Xen-devel] [PATCH RFC 7/9] ns16550: command line parsing
	adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part85AB792E.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Allow intermediate parts of the command line options to be absent
(expressed by two immediately succeeding commas).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -556,26 +556,23 @@ static void __init ns16550_parse_port_co
     else if ( (baud =3D simple_strtoul(conf, &conf, 10)) !=3D 0 )
         uart->baud =3D baud;
=20
-    if ( *conf =3D=3D '/')
+    if ( *conf =3D=3D '/' )
     {
         conf++;
         uart->clock_hz =3D simple_strtoul(conf, &conf, 0) << 4;
     }
=20
-    if ( *conf !=3D ',' )
-        goto config_parsed;
-    conf++;
-
-    uart->data_bits =3D simple_strtoul(conf, &conf, 10);
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+    {
+        uart->data_bits =3D simple_strtoul(conf, &conf, 10);
=20
-    uart->parity =3D parse_parity_char(*conf);
-    conf++;
+        uart->parity =3D parse_parity_char(*conf);
=20
-    uart->stop_bits =3D simple_strtoul(conf, &conf, 10);
+        uart->stop_bits =3D simple_strtoul(conf + 1, &conf, 10);
+    }
=20
-    if ( *conf =3D=3D ',' )
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
     {
-        conf++;
         if ( strncmp(conf, "pci", 3) =3D=3D 0 )
         {
             if ( pci_uart_config(uart, 1/* skip AMT */, uart - ns16550_com=
) )
@@ -592,24 +589,21 @@ static void __init ns16550_parse_port_co
         {
             uart->io_base =3D simple_strtoul(conf, &conf, 0);
         }
+    }
=20
-        if ( *conf =3D=3D ',' )
-        {
-            conf++;
-            uart->irq =3D simple_strtoul(conf, &conf, 10);
-            if ( *conf =3D=3D ',' )
-            {
-                conf++;
-                uart->ps_bdf_enable =3D 1;
-                parse_pci_bdf(&conf, &uart->ps_bdf[0]);
-                if ( *conf =3D=3D ',' )
-                {
-                    conf++;
-                    uart->pb_bdf_enable =3D 1;
-                    parse_pci_bdf(&conf, &uart->pb_bdf[0]);
-                }
-            }
-        }
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+        uart->irq =3D simple_strtol(conf, &conf, 10);
+
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+    {
+        uart->ps_bdf_enable =3D 1;
+        parse_pci_bdf(&conf, &uart->ps_bdf[0]);
+    }
+
+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )
+    {
+        uart->pb_bdf_enable =3D 1;
+        parse_pci_bdf(&conf, &uart->pb_bdf[0]);
     }
=20
  config_parsed:




--=__Part85AB792E.0__=
Content-Type: text/plain; name="sercon-ns16550-parse.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="sercon-ns16550-parse.patch"

ns16550: command line parsing adjustments=0A=0AAllow intermediate parts of =
the command line options to be absent=0A(expressed by two immediately =
succeeding commas).=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/xen/drivers/char/ns16550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@=
 -556,26 +556,23 @@ static void __init ns16550_parse_port_co=0A     else =
if ( (baud =3D simple_strtoul(conf, &conf, 10)) !=3D 0 )=0A         =
uart->baud =3D baud;=0A =0A-    if ( *conf =3D=3D '/')=0A+    if ( *conf =
=3D=3D '/' )=0A     {=0A         conf++;=0A         uart->clock_hz =3D =
simple_strtoul(conf, &conf, 0) << 4;=0A     }=0A =0A-    if ( *conf !=3D =
',' )=0A-        goto config_parsed;=0A-    conf++;=0A-=0A-    uart->data_b=
its =3D simple_strtoul(conf, &conf, 10);=0A+    if ( *conf =3D=3D ',' && =
*++conf !=3D ',' )=0A+    {=0A+        uart->data_bits =3D simple_strtoul(c=
onf, &conf, 10);=0A =0A-    uart->parity =3D parse_parity_char(*conf);=0A- =
   conf++;=0A+        uart->parity =3D parse_parity_char(*conf);=0A =0A-   =
 uart->stop_bits =3D simple_strtoul(conf, &conf, 10);=0A+        uart->stop=
_bits =3D simple_strtoul(conf + 1, &conf, 10);=0A+    }=0A =0A-    if ( =
*conf =3D=3D ',' )=0A+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )=0A   =
  {=0A-        conf++;=0A         if ( strncmp(conf, "pci", 3) =3D=3D 0 =
)=0A         {=0A             if ( pci_uart_config(uart, 1/* skip AMT */, =
uart - ns16550_com) )=0A@@ -592,24 +589,21 @@ static void __init ns16550_pa=
rse_port_co=0A         {=0A             uart->io_base =3D simple_strtoul(co=
nf, &conf, 0);=0A         }=0A+    }=0A =0A-        if ( *conf =3D=3D ',' =
)=0A-        {=0A-            conf++;=0A-            uart->irq =3D =
simple_strtoul(conf, &conf, 10);=0A-            if ( *conf =3D=3D ',' =
)=0A-            {=0A-                conf++;=0A-                uart->ps_b=
df_enable =3D 1;=0A-                parse_pci_bdf(&conf, &uart->ps_bdf[0]);=
=0A-                if ( *conf =3D=3D ',' )=0A-                {=0A-       =
             conf++;=0A-                    uart->pb_bdf_enable =3D 1;=0A- =
                   parse_pci_bdf(&conf, &uart->pb_bdf[0]);=0A-             =
   }=0A-            }=0A-        }=0A+    if ( *conf =3D=3D ',' && *++conf =
!=3D ',' )=0A+        uart->irq =3D simple_strtol(conf, &conf, 10);=0A+=0A+=
    if ( *conf =3D=3D ',' && *++conf !=3D ',' )=0A+    {=0A+        =
uart->ps_bdf_enable =3D 1;=0A+        parse_pci_bdf(&conf, &uart->ps_bdf[0]=
);=0A+    }=0A+=0A+    if ( *conf =3D=3D ',' && *++conf !=3D ',' )=0A+    =
{=0A+        uart->pb_bdf_enable =3D 1;=0A+        parse_pci_bdf(&conf, =
&uart->pb_bdf[0]);=0A     }=0A =0A  config_parsed:=0A
--=__Part85AB792E.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part85AB792E.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:06:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:06:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXjx-00065D-Ka; Thu, 24 May 2012 13:06:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXjv-00064a-Jt
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:06:03 +0000
Received: from [85.158.139.83:9516] by server-12.bemta-5.messagelabs.com id
	88/7D-20635-A323EBF4; Thu, 24 May 2012 13:06:02 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337864761!22925939!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28454 invoked from network); 24 May 2012 13:06:01 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:06:01 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:06:00 +0100
Message-Id: <4FBE4E790200007800085E47@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:06:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartE2CC1E49.0__="
Subject: [Xen-devel] [PATCH RFC 8/9] PCI: bus scan adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartE2CC1E49.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

As done elsewhere, the ns16550 code shouldn't look at non-zero
functions of a device if that isn't multi-function.

Also both there and in pass-through's _scan_pci_devices() skip looking
at non-zero functions when the device at function zero doesn't exist.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -469,21 +469,28 @@ static int
 pci_uart_config (struct ns16550 *uart, int skip_amt, int bar_idx)
 {
     uint32_t bar, len;
-    int b, d, f;
+    int b, d, f, nextf;
=20
     /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus =
0. */
     for ( b =3D skip_amt ? 1 : 0; b < 0x100; b++ )
     {
         for ( d =3D 0; d < 0x20; d++ )
         {
-            for ( f =3D 0; f < 0x8; f++ )
+            for ( f =3D 0; f < 8; f =3D nextf )
             {
+                nextf =3D (f || (pci_conf_read16(0, b, d, f, PCI_HEADER_TY=
PE) &
+                               0x80)) ? f + 1 : 8;
+
                 switch ( pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE) )
                 {
                 case 0x0700: /* single port serial */
                 case 0x0702: /* multi port serial */
                 case 0x0780: /* other (e.g serial+parallel) */
                     break;
+                case 0xffff:
+                    if ( !f )
+                        nextf =3D 8;
+                    /* fall through */
                 default:
                     continue;
                 }
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -628,7 +628,11 @@ static int __init _scan_pci_devices(stru
             for ( func =3D 0; func < 8; func++ )
             {
                 if ( pci_device_detect(pseg->nr, bus, dev, func) =3D=3D 0 =
)
+                {
+                    if ( !func )
+                        break;
                     continue;
+                }
=20
                 pdev =3D alloc_pdev(pseg, bus, PCI_DEVFN(dev, func));
                 if ( !pdev )




--=__PartE2CC1E49.0__=
Content-Type: text/plain; name="pci-scan-adjust.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="pci-scan-adjust.patch"

PCI: bus scan adjustments=0A=0AAs done elsewhere, the ns16550 code =
shouldn't look at non-zero=0Afunctions of a device if that isn't multi-func=
tion.=0A=0AAlso both there and in pass-through's _scan_pci_devices() skip =
looking=0Aat non-zero functions when the device at function zero doesn't =
exist.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/drivers/char/ns16550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@ =
-469,21 +469,28 @@ static int=0A pci_uart_config (struct ns16550 *uart, =
int skip_amt, int bar_idx)=0A {=0A     uint32_t bar, len;=0A-    int b, d, =
f;=0A+    int b, d, f, nextf;=0A =0A     /* NB. Start at bus 1 to avoid =
AMT: a plug-in card cannot be on bus 0. */=0A     for ( b =3D skip_amt ? 1 =
: 0; b < 0x100; b++ )=0A     {=0A         for ( d =3D 0; d < 0x20; d++ =
)=0A         {=0A-            for ( f =3D 0; f < 0x8; f++ )=0A+            =
for ( f =3D 0; f < 8; f =3D nextf )=0A             {=0A+                =
nextf =3D (f || (pci_conf_read16(0, b, d, f, PCI_HEADER_TYPE) &=0A+        =
                       0x80)) ? f + 1 : 8;=0A+=0A                 switch ( =
pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE) )=0A                 {=0A    =
             case 0x0700: /* single port serial */=0A                 case =
0x0702: /* multi port serial */=0A                 case 0x0780: /* other =
(e.g serial+parallel) */=0A                     break;=0A+                =
case 0xffff:=0A+                    if ( !f )=0A+                        =
nextf =3D 8;=0A+                    /* fall through */=0A                 =
default:=0A                     continue;=0A                 }=0A--- =
a/xen/drivers/passthrough/pci.c=0A+++ b/xen/drivers/passthrough/pci.c=0A@@ =
-628,7 +628,11 @@ static int __init _scan_pci_devices(stru=0A             =
for ( func =3D 0; func < 8; func++ )=0A             {=0A                 =
if ( pci_device_detect(pseg->nr, bus, dev, func) =3D=3D 0 )=0A+            =
    {=0A+                    if ( !func )=0A+                        =
break;=0A                     continue;=0A+                }=0A =0A        =
         pdev =3D alloc_pdev(pseg, bus, PCI_DEVFN(dev, func));=0A          =
       if ( !pdev )=0A
--=__PartE2CC1E49.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartE2CC1E49.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:06:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:06:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXjx-00065D-Ka; Thu, 24 May 2012 13:06:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXjv-00064a-Jt
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:06:03 +0000
Received: from [85.158.139.83:9516] by server-12.bemta-5.messagelabs.com id
	88/7D-20635-A323EBF4; Thu, 24 May 2012 13:06:02 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337864761!22925939!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28454 invoked from network); 24 May 2012 13:06:01 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:06:01 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:06:00 +0100
Message-Id: <4FBE4E790200007800085E47@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:06:33 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartE2CC1E49.0__="
Subject: [Xen-devel] [PATCH RFC 8/9] PCI: bus scan adjustments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartE2CC1E49.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

As done elsewhere, the ns16550 code shouldn't look at non-zero
functions of a device if that isn't multi-function.

Also both there and in pass-through's _scan_pci_devices() skip looking
at non-zero functions when the device at function zero doesn't exist.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -469,21 +469,28 @@ static int
 pci_uart_config (struct ns16550 *uart, int skip_amt, int bar_idx)
 {
     uint32_t bar, len;
-    int b, d, f;
+    int b, d, f, nextf;
=20
     /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus =
0. */
     for ( b =3D skip_amt ? 1 : 0; b < 0x100; b++ )
     {
         for ( d =3D 0; d < 0x20; d++ )
         {
-            for ( f =3D 0; f < 0x8; f++ )
+            for ( f =3D 0; f < 8; f =3D nextf )
             {
+                nextf =3D (f || (pci_conf_read16(0, b, d, f, PCI_HEADER_TY=
PE) &
+                               0x80)) ? f + 1 : 8;
+
                 switch ( pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE) )
                 {
                 case 0x0700: /* single port serial */
                 case 0x0702: /* multi port serial */
                 case 0x0780: /* other (e.g serial+parallel) */
                     break;
+                case 0xffff:
+                    if ( !f )
+                        nextf =3D 8;
+                    /* fall through */
                 default:
                     continue;
                 }
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -628,7 +628,11 @@ static int __init _scan_pci_devices(stru
             for ( func =3D 0; func < 8; func++ )
             {
                 if ( pci_device_detect(pseg->nr, bus, dev, func) =3D=3D 0 =
)
+                {
+                    if ( !func )
+                        break;
                     continue;
+                }
=20
                 pdev =3D alloc_pdev(pseg, bus, PCI_DEVFN(dev, func));
                 if ( !pdev )




--=__PartE2CC1E49.0__=
Content-Type: text/plain; name="pci-scan-adjust.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="pci-scan-adjust.patch"

PCI: bus scan adjustments=0A=0AAs done elsewhere, the ns16550 code =
shouldn't look at non-zero=0Afunctions of a device if that isn't multi-func=
tion.=0A=0AAlso both there and in pass-through's _scan_pci_devices() skip =
looking=0Aat non-zero functions when the device at function zero doesn't =
exist.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- =
a/xen/drivers/char/ns16550.c=0A+++ b/xen/drivers/char/ns16550.c=0A@@ =
-469,21 +469,28 @@ static int=0A pci_uart_config (struct ns16550 *uart, =
int skip_amt, int bar_idx)=0A {=0A     uint32_t bar, len;=0A-    int b, d, =
f;=0A+    int b, d, f, nextf;=0A =0A     /* NB. Start at bus 1 to avoid =
AMT: a plug-in card cannot be on bus 0. */=0A     for ( b =3D skip_amt ? 1 =
: 0; b < 0x100; b++ )=0A     {=0A         for ( d =3D 0; d < 0x20; d++ =
)=0A         {=0A-            for ( f =3D 0; f < 0x8; f++ )=0A+            =
for ( f =3D 0; f < 8; f =3D nextf )=0A             {=0A+                =
nextf =3D (f || (pci_conf_read16(0, b, d, f, PCI_HEADER_TYPE) &=0A+        =
                       0x80)) ? f + 1 : 8;=0A+=0A                 switch ( =
pci_conf_read16(0, b, d, f, PCI_CLASS_DEVICE) )=0A                 {=0A    =
             case 0x0700: /* single port serial */=0A                 case =
0x0702: /* multi port serial */=0A                 case 0x0780: /* other =
(e.g serial+parallel) */=0A                     break;=0A+                =
case 0xffff:=0A+                    if ( !f )=0A+                        =
nextf =3D 8;=0A+                    /* fall through */=0A                 =
default:=0A                     continue;=0A                 }=0A--- =
a/xen/drivers/passthrough/pci.c=0A+++ b/xen/drivers/passthrough/pci.c=0A@@ =
-628,7 +628,11 @@ static int __init _scan_pci_devices(stru=0A             =
for ( func =3D 0; func < 8; func++ )=0A             {=0A                 =
if ( pci_device_detect(pseg->nr, bus, dev, func) =3D=3D 0 )=0A+            =
    {=0A+                    if ( !func )=0A+                        =
break;=0A                     continue;=0A+                }=0A =0A        =
         pdev =3D alloc_pdev(pseg, bus, PCI_DEVFN(dev, func));=0A          =
       if ( !pdev )=0A
--=__PartE2CC1E49.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartE2CC1E49.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:07:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXkp-0006GU-Or; Thu, 24 May 2012 13:06:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXkn-0006G9-BP
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:06:57 +0000
Received: from [85.158.139.83:32472] by server-10.bemta-5.messagelabs.com id
	5B/64-22179-0723EBF4; Thu, 24 May 2012 13:06:56 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337864813!26200379!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4368 invoked from network); 24 May 2012 13:06:54 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:06:54 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:06:53 +0100
Message-Id: <4FBE4EAD0200007800085E4B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:07:25 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part3618CA9D.0__="
Subject: [Xen-devel] [PATCH RFC 9/9] x86: construct static part of 1:1
 mapping at build time
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part3618CA9D.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... rather than at boot time, removing unnecessary redundancy between
EFI and legacy boot code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -109,14 +109,11 @@ __start:
         bt      $29,%edx
         jnc     bad_cpu
         /* Initialise L2 identity-map and xen page table entries (16MB). =
*/
-        mov     $sym_phys(l2_identmap),%edi
         mov     $sym_phys(l2_xenmap),%esi
         mov     $sym_phys(l2_bootmap),%edx
         mov     $0x1e3,%eax                  /* PRESENT+RW+A+D+2MB+GLOBAL =
*/
         mov     $8,%ecx
-1:      mov     %eax,(%edi)
-        add     $8,%edi
-        mov     %eax,(%esi)
+1:      mov     %eax,(%esi)
         add     $8,%esi
         mov     %eax,(%edx)
         add     $8,%edx
@@ -148,54 +145,11 @@ __start:
         mov     %eax,sym_phys(idle_pg_table) + l4_table_offset(DIRECTMAP_V=
IRT_START)*8
         mov     $(sym_phys(l3_xenmap)+7),%eax
         mov     %eax,sym_phys(idle_pg_table) + l4_table_offset(XEN_VIRT_ST=
ART)*8
-#else
-        /* Initialize low and high mappings of memory with 2MB pages */
-        mov     $sym_phys(idle_pg_table_l2),%edi
-        mov     $0xe3,%eax                   /* PRESENT+RW+A+D+2MB */
-1:      mov     %eax,__PAGE_OFFSET>>18(%edi) /* high mapping */
-        stosl                                /* low mapping */
-        add     $4,%edi
-        add     $(1<<L2_PAGETABLE_SHIFT),%eax
-        cmp     $DIRECTMAP_PHYS_END+0xe3,%eax
-        jne     1b
-1:      stosl   /* low mappings cover up to 16MB */
-        add     $4,%edi
-        add     $(1<<L2_PAGETABLE_SHIFT),%eax
-        cmp     $(16<<20)+0xe3,%eax
-        jne     1b
-        /* Initialise L2 fixmap page directory entry. */
-        mov     $(sym_phys(l1_fixmap)+7),%eax
-        mov     %eax,sym_phys(idle_pg_table_l2) + l2_table_offset(FIXADDR_=
TOP-1)*8
-#endif
-
-        /* Initialize 4kB mappings of first 2MB or 4MB of memory. */
-        mov     $sym_phys(l1_identmap),%edi
-        mov     $0x263,%eax                  /* PRESENT+RW+A+D+SMALL_PAGES=
 */
-#if defined(__x86_64__)
-        or      $0x100,%eax                  /* GLOBAL */
-#endif
-        xor     %ecx,%ecx
-1:      stosl
-        add     $4,%edi
-        add     $PAGE_SIZE,%eax
-        inc     %ecx
-        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */
-        cmp     $0xa0,%ecx
-        jne     2f
-        or      $0x10,%eax                   /* +PCD */
-2:      cmp     $0xc0,%ecx
-        jne     2f
-        and     $~0x10,%eax                  /* -PCD */
-2:      cmp     $L1_PAGETABLE_ENTRIES,%ecx
-        jne     1b
-        sub     $(PAGE_SIZE-0x63),%edi
-#if defined(__x86_64__)
+        /* Hook 4kB mappings of first 2MB of memory into L2. */
+        mov     $sym_phys(l1_identmap)+__PAGE_HYPERVISOR,%edi
         mov     %edi,sym_phys(l2_identmap)
         mov     %edi,sym_phys(l2_xenmap)
         mov     %edi,sym_phys(l2_bootmap)
-#else
-        mov     %edi,sym_phys(idle_pg_table_l2)
-        mov     %edi,sym_phys(idle_pg_table_l2) + (__PAGE_OFFSET>>18)
 #endif
=20
         /* Apply relocations to bootstrap trampoline. */
@@ -241,3 +195,25 @@ __high_start:
 #else
 #include "x86_32.S"
 #endif
+
+        .section .data.page_aligned, "aw", @progbits
+        .p2align PAGE_SHIFT
+/*
+ * Mapping of first 2 megabytes of memory. This is mapped with 4kB =
mappings
+ * to avoid type conflicts with fixed-range MTRRs covering the lowest =
megabyte
+ * of physical memory. In any case the VGA hole should be mapped with =
type UC.
+ */
+        .globl l1_identmap
+l1_identmap:
+        pfn =3D 0
+        .rept L1_PAGETABLE_ENTRIES
+        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */
+        .if pfn >=3D 0xa0 && pfn < 0xc0
+        .long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR_NOCACHE | MAP_SMALL_PA=
GES
+        .else
+        .long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | MAP_SMALL_PAGES
+        .endif
+        .long 0
+        pfn =3D pfn + 1
+        .endr
+        .size l1_identmap, . - l1_identmap
--- a/xen/arch/x86/boot/x86_32.S
+++ b/xen/arch/x86/boot/x86_32.S
@@ -108,3 +108,24 @@ ENTRY(boot_cpu_gdt_table)
         .fill (PER_CPU_GDT_ENTRY - FLAT_RING3_DS / 8 - 1), 8, 0
         .quad 0x0000910000000000     /* per-CPU entry (limit =3D=3D cpu) =
*/
         .align PAGE_SIZE,0
+
+#define PAGE_HYPERVISOR         __PAGE_HYPERVISOR
+#define PAGE_HYPERVISOR_NOCACHE __PAGE_HYPERVISOR_NOCACHE
+
+/* Mapping of first 16 megabytes of memory. */
+        .globl idle_pg_table_l2
+idle_pg_table_l2:
+        range =3D 8
+        .irp count, l2_linear_offset(__PAGE_OFFSET), \
+                    (4 * L2_PAGETABLE_ENTRIES - l2_linear_offset(__PAGE_OF=
FSET) - 1)
+        .long sym_phys(l1_identmap) + PAGE_HYPERVISOR, 0
+        pfn =3D 1 << PAGETABLE_ORDER
+        .rept range - 1
+        .long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE, 0
+        pfn =3D pfn + (1 << PAGETABLE_ORDER)
+        .endr
+        .fill \count - range, 8, 0
+        range =3D DIRECTMAP_MBYTES / 2
+        .endr
+        .long sym_phys(l1_fixmap) + PAGE_HYPERVISOR, 0
+        .size idle_pg_table_l2, . - idle_pg_table_l2
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -127,3 +127,15 @@ ENTRY(boot_cpu_compat_gdt_table)
         .fill (PER_CPU_GDT_ENTRY - __HYPERVISOR_CS32 / 8 - 1), 8, 0
         .quad 0x0000910000000000     /* per-CPU entry (limit =3D=3D cpu)  =
    */
         .align PAGE_SIZE, 0
+
+/* Mapping of first 16 megabytes of memory. */
+        .globl l2_identmap
+l2_identmap:
+        .quad 0
+        pfn =3D 1 << PAGETABLE_ORDER
+        .rept 7
+        .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE
+        pfn =3D pfn + (1 << PAGETABLE_ORDER)
+        .endr
+        .fill 4 * L2_PAGETABLE_ENTRIES - 8, 8, 0
+        .size l2_identmap, . - l2_identmap
--- a/xen/arch/x86/efi/boot.c
+++ b/xen/arch/x86/efi/boot.c
@@ -1119,8 +1119,6 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY
         unsigned int slot =3D (xen_phys_start >> L2_PAGETABLE_SHIFT) + i;
         paddr_t addr =3D slot << L2_PAGETABLE_SHIFT;
=20
-        l2_identmap[i] =3D l2e_from_paddr(i << L2_PAGETABLE_SHIFT,
-                                        PAGE_HYPERVISOR|_PAGE_PSE);
         l2_identmap[slot] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_PAGE_P=
SE);
         l2_xenmap[i] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_PAGE_PSE);
         slot &=3D L2_PAGETABLE_ENTRIES - 1;
@@ -1150,16 +1148,7 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY
         l4e_from_paddr((UINTN)l3_identmap, __PAGE_HYPERVISOR);
     idle_pg_table[l4_table_offset(XEN_VIRT_START)] =3D
         l4e_from_paddr((UINTN)l3_xenmap, __PAGE_HYPERVISOR);
-    /* Initialize 4kB mappings of first 2MB of memory. */
-    for ( i =3D 0; i < L1_PAGETABLE_ENTRIES; ++i )
-    {
-        unsigned int attr =3D PAGE_HYPERVISOR|MAP_SMALL_PAGES;
-
-        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */
-        if ( i >=3D 0xa0 && i < 0xc0 )
-            attr |=3D _PAGE_PCD;
-        l1_identmap[i] =3D l1e_from_pfn(i, attr);
-    }
+    /* Hook 4kB mappings of first 2MB of memory into L2. */
     l2_identmap[0] =3D l2e_from_paddr((UINTN)l1_identmap, __PAGE_HYPERVISO=
R);
=20
     if ( gop )
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -121,15 +121,6 @@
 #include <asm/setup.h>
 #include <asm/fixmap.h>
=20
-/*
- * Mapping of first 2 or 4 megabytes of memory. This is mapped with 4kB
- * mappings to avoid type conflicts with fixed-range MTRRs covering the
- * lowest megabyte of physical memory. In any case the VGA hole should be
- * mapped with type UC.
- */
-l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
-    l1_identmap[L1_PAGETABLE_ENTRIES];
-
 /* Mapping of the fixmap space needed early. */
 l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l1_fixmap[L1_PAGETABLE_ENTRIES];
--- a/xen/arch/x86/x86_32/mm.c
+++ b/xen/arch/x86/x86_32/mm.c
@@ -31,9 +31,6 @@
 #include <asm/setup.h>
 #include <public/memory.h>
=20
-l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
-    idle_pg_table_l2[4 * L2_PAGETABLE_ENTRIES];
-
 unsigned int __read_mostly PAGE_HYPERVISOR         =3D __PAGE_HYPERVISOR;
 unsigned int __read_mostly PAGE_HYPERVISOR_NOCACHE =3D __PAGE_HYPERVISOR_N=
OCACHE;
=20
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -56,8 +56,6 @@ l4_pgentry_t __attribute__ ((__section__
 /* Enough page directories to map bottom 4GB of the memory map. */
 l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l3_identmap[L3_PAGETABLE_ENTRIES];
-l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
-    l2_identmap[4*L2_PAGETABLE_ENTRIES];
=20
 /* Enough page directories to map the Xen text and static data. */
 l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -1,15 +1,13 @@
 #ifndef __X86_PAGE_H__
 #define __X86_PAGE_H__
=20
+#include <xen/const.h>
+
 /*
  * It is important that the masks are signed quantities. This ensures =
that
  * the compiler sign-extends a 32-bit mask to 64 bits if that is =
required.
  */
-#ifndef __ASSEMBLY__
-#define PAGE_SIZE           (1L << PAGE_SHIFT)
-#else
-#define PAGE_SIZE           (1 << PAGE_SHIFT)
-#endif
+#define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
 #define PAGE_MASK           (~(PAGE_SIZE-1))
 #define PAGE_FLAG_MASK      (~0)
=20
@@ -319,21 +317,22 @@ void paging_init(void);
 void setup_idle_pagetable(void);
 #endif /* !defined(__ASSEMBLY__) */
=20
-#define _PAGE_PRESENT  0x001U
-#define _PAGE_RW       0x002U
-#define _PAGE_USER     0x004U
-#define _PAGE_PWT      0x008U
-#define _PAGE_PCD      0x010U
-#define _PAGE_ACCESSED 0x020U
-#define _PAGE_DIRTY    0x040U
-#define _PAGE_PAT      0x080U
-#define _PAGE_PSE      0x080U
-#define _PAGE_GLOBAL   0x100U
-#define _PAGE_AVAIL0   0x200U
-#define _PAGE_AVAIL1   0x400U
-#define _PAGE_AVAIL2   0x800U
-#define _PAGE_AVAIL    0xE00U
-#define _PAGE_PSE_PAT 0x1000U
+#define _PAGE_PRESENT  _AC(0x001,U)
+#define _PAGE_RW       _AC(0x002,U)
+#define _PAGE_USER     _AC(0x004,U)
+#define _PAGE_PWT      _AC(0x008,U)
+#define _PAGE_PCD      _AC(0x010,U)
+#define _PAGE_ACCESSED _AC(0x020,U)
+#define _PAGE_DIRTY    _AC(0x040,U)
+#define _PAGE_PAT      _AC(0x080,U)
+#define _PAGE_PSE      _AC(0x080,U)
+#define _PAGE_GLOBAL   _AC(0x100,U)
+#define _PAGE_AVAIL0   _AC(0x200,U)
+#define _PAGE_AVAIL1   _AC(0x400,U)
+#define _PAGE_AVAIL2   _AC(0x800,U)
+#define _PAGE_AVAIL    _AC(0xE00,U)
+#define _PAGE_PSE_PAT _AC(0x1000,U)
+/* non-architectural flags */
 #define _PAGE_PAGED   0x2000U
 #define _PAGE_SHARED  0x4000U
=20
@@ -354,6 +353,8 @@ void setup_idle_pagetable(void);
 #define __PAGE_HYPERVISOR_NOCACHE \
     (_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_PCD | _PAGE_ACCESSED)
=20
+#define MAP_SMALL_PAGES _PAGE_AVAIL0 /* don't use superpages mappings */
+
 #ifndef __ASSEMBLY__
=20
 /* Allocator functions for Xen pagetables. */
@@ -367,7 +368,6 @@ l3_pgentry_t *virt_to_xen_l3e(unsigned l
 extern void set_pdx_range(unsigned long smfn, unsigned long emfn);
=20
 /* Map machine page range in Xen virtual address space. */
-#define MAP_SMALL_PAGES _PAGE_AVAIL0 /* don't use superpages for the =
mapping */
 int map_pages_to_xen(
     unsigned long virt,
     unsigned long mfn,
--- /dev/null
+++ b/xen/include/xen/const.h
@@ -0,0 +1,24 @@
+/* const.h: Macros for dealing with constants.  */
+
+#ifndef __XEN_CONST_H__
+#define __XEN_CONST_H__
+
+/* Some constant macros are used in both assembler and
+ * C code.  Therefore we cannot annotate them always with
+ * 'UL' and other type specifiers unilaterally.  We
+ * use the following macros to deal with this.
+ *
+ * Similarly, _AT() will cast an expression with a type in C, but
+ * leave it unchanged in asm.
+ */
+
+#ifdef __ASSEMBLY__
+#define _AC(X,Y)	X
+#define _AT(T,X)	X
+#else
+#define __AC(X,Y)	(X##Y)
+#define _AC(X,Y)	__AC(X,Y)
+#define _AT(T,X)	((T)(X))
+#endif
+
+#endif /* __XEN_CONST_H__ */



--=__Part3618CA9D.0__=
Content-Type: text/plain; name="x86-build-ident-map.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-build-ident-map.patch"

x86: construct static part of 1:1 mapping at build time=0A=0A... rather =
than at boot time, removing unnecessary redundancy between=0AEFI and =
legacy boot code.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/xen/arch/x86/boot/head.S=0A+++ b/xen/arch/x86/boot/head.S=0A@@ =
-109,14 +109,11 @@ __start:=0A         bt      $29,%edx=0A         jnc     =
bad_cpu=0A         /* Initialise L2 identity-map and xen page table =
entries (16MB). */=0A-        mov     $sym_phys(l2_identmap),%edi=0A       =
  mov     $sym_phys(l2_xenmap),%esi=0A         mov     $sym_phys(l2_bootmap=
),%edx=0A         mov     $0x1e3,%eax                  /* PRESENT+RW+A+D+2M=
B+GLOBAL */=0A         mov     $8,%ecx=0A-1:      mov     %eax,(%edi)=0A-  =
      add     $8,%edi=0A-        mov     %eax,(%esi)=0A+1:      mov     =
%eax,(%esi)=0A         add     $8,%esi=0A         mov     %eax,(%edx)=0A   =
      add     $8,%edx=0A@@ -148,54 +145,11 @@ __start:=0A         mov     =
%eax,sym_phys(idle_pg_table) + l4_table_offset(DIRECTMAP_VIRT_START)*8=0A  =
       mov     $(sym_phys(l3_xenmap)+7),%eax=0A         mov     %eax,sym_ph=
ys(idle_pg_table) + l4_table_offset(XEN_VIRT_START)*8=0A-#else=0A-        =
/* Initialize low and high mappings of memory with 2MB pages */=0A-        =
mov     $sym_phys(idle_pg_table_l2),%edi=0A-        mov     $0xe3,%eax     =
              /* PRESENT+RW+A+D+2MB */=0A-1:      mov     %eax,__PAGE_OFFSE=
T>>18(%edi) /* high mapping */=0A-        stosl                            =
    /* low mapping */=0A-        add     $4,%edi=0A-        add     =
$(1<<L2_PAGETABLE_SHIFT),%eax=0A-        cmp     $DIRECTMAP_PHYS_END+0xe3,%=
eax=0A-        jne     1b=0A-1:      stosl   /* low mappings cover up to =
16MB */=0A-        add     $4,%edi=0A-        add     $(1<<L2_PAGETABLE_SHI=
FT),%eax=0A-        cmp     $(16<<20)+0xe3,%eax=0A-        jne     1b=0A-  =
      /* Initialise L2 fixmap page directory entry. */=0A-        mov     =
$(sym_phys(l1_fixmap)+7),%eax=0A-        mov     %eax,sym_phys(idle_pg_tabl=
e_l2) + l2_table_offset(FIXADDR_TOP-1)*8=0A-#endif=0A-=0A-        /* =
Initialize 4kB mappings of first 2MB or 4MB of memory. */=0A-        mov   =
  $sym_phys(l1_identmap),%edi=0A-        mov     $0x263,%eax               =
   /* PRESENT+RW+A+D+SMALL_PAGES */=0A-#if defined(__x86_64__)=0A-        =
or      $0x100,%eax                  /* GLOBAL */=0A-#endif=0A-        xor =
    %ecx,%ecx=0A-1:      stosl=0A-        add     $4,%edi=0A-        add   =
  $PAGE_SIZE,%eax=0A-        inc     %ecx=0A-        /* VGA hole (0xa0000-0=
xc0000) should be mapped UC. */=0A-        cmp     $0xa0,%ecx=0A-        =
jne     2f=0A-        or      $0x10,%eax                   /* +PCD =
*/=0A-2:      cmp     $0xc0,%ecx=0A-        jne     2f=0A-        and     =
$~0x10,%eax                  /* -PCD */=0A-2:      cmp     $L1_PAGETABLE_EN=
TRIES,%ecx=0A-        jne     1b=0A-        sub     $(PAGE_SIZE-0x63),%edi=
=0A-#if defined(__x86_64__)=0A+        /* Hook 4kB mappings of first 2MB =
of memory into L2. */=0A+        mov     $sym_phys(l1_identmap)+__PAGE_HYPE=
RVISOR,%edi=0A         mov     %edi,sym_phys(l2_identmap)=0A         mov   =
  %edi,sym_phys(l2_xenmap)=0A         mov     %edi,sym_phys(l2_bootmap)=0A-=
#else=0A-        mov     %edi,sym_phys(idle_pg_table_l2)=0A-        mov    =
 %edi,sym_phys(idle_pg_table_l2) + (__PAGE_OFFSET>>18)=0A #endif=0A =0A    =
     /* Apply relocations to bootstrap trampoline. */=0A@@ -241,3 +195,25 =
@@ __high_start:=0A #else=0A #include "x86_32.S"=0A #endif=0A+=0A+        =
.section .data.page_aligned, "aw", @progbits=0A+        .p2align PAGE_SHIFT=
=0A+/*=0A+ * Mapping of first 2 megabytes of memory. This is mapped with =
4kB mappings=0A+ * to avoid type conflicts with fixed-range MTRRs covering =
the lowest megabyte=0A+ * of physical memory. In any case the VGA hole =
should be mapped with type UC.=0A+ */=0A+        .globl l1_identmap=0A+l1_i=
dentmap:=0A+        pfn =3D 0=0A+        .rept L1_PAGETABLE_ENTRIES=0A+    =
    /* VGA hole (0xa0000-0xc0000) should be mapped UC. */=0A+        .if =
pfn >=3D 0xa0 && pfn < 0xc0=0A+        .long (pfn << PAGE_SHIFT) | =
PAGE_HYPERVISOR_NOCACHE | MAP_SMALL_PAGES=0A+        .else=0A+        =
.long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | MAP_SMALL_PAGES=0A+        =
.endif=0A+        .long 0=0A+        pfn =3D pfn + 1=0A+        .endr=0A+  =
      .size l1_identmap, . - l1_identmap=0A--- a/xen/arch/x86/boot/x86_32.S=
=0A+++ b/xen/arch/x86/boot/x86_32.S=0A@@ -108,3 +108,24 @@ ENTRY(boot_cpu_g=
dt_table)=0A         .fill (PER_CPU_GDT_ENTRY - FLAT_RING3_DS / 8 - 1), 8, =
0=0A         .quad 0x0000910000000000     /* per-CPU entry (limit =3D=3D =
cpu) */=0A         .align PAGE_SIZE,0=0A+=0A+#define PAGE_HYPERVISOR       =
  __PAGE_HYPERVISOR=0A+#define PAGE_HYPERVISOR_NOCACHE __PAGE_HYPERVISOR_NO=
CACHE=0A+=0A+/* Mapping of first 16 megabytes of memory. */=0A+        =
.globl idle_pg_table_l2=0A+idle_pg_table_l2:=0A+        range =3D 8=0A+    =
    .irp count, l2_linear_offset(__PAGE_OFFSET), \=0A+                    =
(4 * L2_PAGETABLE_ENTRIES - l2_linear_offset(__PAGE_OFFSET) - 1)=0A+       =
 .long sym_phys(l1_identmap) + PAGE_HYPERVISOR, 0=0A+        pfn =3D 1 << =
PAGETABLE_ORDER=0A+        .rept range - 1=0A+        .long (pfn << =
PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE, 0=0A+        pfn =3D pfn + (1 =
<< PAGETABLE_ORDER)=0A+        .endr=0A+        .fill \count - range, 8, =
0=0A+        range =3D DIRECTMAP_MBYTES / 2=0A+        .endr=0A+        =
.long sym_phys(l1_fixmap) + PAGE_HYPERVISOR, 0=0A+        .size idle_pg_tab=
le_l2, . - idle_pg_table_l2=0A--- a/xen/arch/x86/boot/x86_64.S=0A+++ =
b/xen/arch/x86/boot/x86_64.S=0A@@ -127,3 +127,15 @@ ENTRY(boot_cpu_compat_g=
dt_table)=0A         .fill (PER_CPU_GDT_ENTRY - __HYPERVISOR_CS32 / 8 - =
1), 8, 0=0A         .quad 0x0000910000000000     /* per-CPU entry (limit =
=3D=3D cpu)      */=0A         .align PAGE_SIZE, 0=0A+=0A+/* Mapping of =
first 16 megabytes of memory. */=0A+        .globl l2_identmap=0A+l2_identm=
ap:=0A+        .quad 0=0A+        pfn =3D 1 << PAGETABLE_ORDER=0A+        =
.rept 7=0A+        .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | =
_PAGE_PSE=0A+        pfn =3D pfn + (1 << PAGETABLE_ORDER)=0A+        =
.endr=0A+        .fill 4 * L2_PAGETABLE_ENTRIES - 8, 8, 0=0A+        .size =
l2_identmap, . - l2_identmap=0A--- a/xen/arch/x86/efi/boot.c=0A+++ =
b/xen/arch/x86/efi/boot.c=0A@@ -1119,8 +1119,6 @@ efi_start(EFI_HANDLE =
ImageHandle, EFI_SY=0A         unsigned int slot =3D (xen_phys_start >> =
L2_PAGETABLE_SHIFT) + i;=0A         paddr_t addr =3D slot << L2_PAGETABLE_S=
HIFT;=0A =0A-        l2_identmap[i] =3D l2e_from_paddr(i << L2_PAGETABLE_SH=
IFT,=0A-                                        PAGE_HYPERVISOR|_PAGE_PSE);=
=0A         l2_identmap[slot] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_PAG=
E_PSE);=0A         l2_xenmap[i] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_P=
AGE_PSE);=0A         slot &=3D L2_PAGETABLE_ENTRIES - 1;=0A@@ -1150,16 =
+1148,7 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY=0A         l4e_from_pad=
dr((UINTN)l3_identmap, __PAGE_HYPERVISOR);=0A     idle_pg_table[l4_table_of=
fset(XEN_VIRT_START)] =3D=0A         l4e_from_paddr((UINTN)l3_xenmap, =
__PAGE_HYPERVISOR);=0A-    /* Initialize 4kB mappings of first 2MB of =
memory. */=0A-    for ( i =3D 0; i < L1_PAGETABLE_ENTRIES; ++i )=0A-    =
{=0A-        unsigned int attr =3D PAGE_HYPERVISOR|MAP_SMALL_PAGES;=0A-=0A-=
        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */=0A-        =
if ( i >=3D 0xa0 && i < 0xc0 )=0A-            attr |=3D _PAGE_PCD;=0A-     =
   l1_identmap[i] =3D l1e_from_pfn(i, attr);=0A-    }=0A+    /* Hook 4kB =
mappings of first 2MB of memory into L2. */=0A     l2_identmap[0] =3D =
l2e_from_paddr((UINTN)l1_identmap, __PAGE_HYPERVISOR);=0A =0A     if ( gop =
)=0A--- a/xen/arch/x86/mm.c=0A+++ b/xen/arch/x86/mm.c=0A@@ -121,15 +121,6 =
@@=0A #include <asm/setup.h>=0A #include <asm/fixmap.h>=0A =0A-/*=0A- * =
Mapping of first 2 or 4 megabytes of memory. This is mapped with 4kB=0A- * =
mappings to avoid type conflicts with fixed-range MTRRs covering the=0A- * =
lowest megabyte of physical memory. In any case the VGA hole should be=0A- =
* mapped with type UC.=0A- */=0A-l1_pgentry_t __attribute__ ((__section__ =
(".bss.page_aligned")))=0A-    l1_identmap[L1_PAGETABLE_ENTRIES];=0A-=0A =
/* Mapping of the fixmap space needed early. */=0A l1_pgentry_t __attribute=
__ ((__section__ (".bss.page_aligned")))=0A     l1_fixmap[L1_PAGETABLE_ENTR=
IES];=0A--- a/xen/arch/x86/x86_32/mm.c=0A+++ b/xen/arch/x86/x86_32/mm.c=0A@=
@ -31,9 +31,6 @@=0A #include <asm/setup.h>=0A #include <public/memory.h>=0A=
 =0A-l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))=0A-  =
  idle_pg_table_l2[4 * L2_PAGETABLE_ENTRIES];=0A-=0A unsigned int =
__read_mostly PAGE_HYPERVISOR         =3D __PAGE_HYPERVISOR;=0A unsigned =
int __read_mostly PAGE_HYPERVISOR_NOCACHE =3D __PAGE_HYPERVISOR_NOCACHE;=0A=
 =0A--- a/xen/arch/x86/x86_64/mm.c=0A+++ b/xen/arch/x86/x86_64/mm.c=0A@@ =
-56,8 +56,6 @@ l4_pgentry_t __attribute__ ((__section__=0A /* Enough page =
directories to map bottom 4GB of the memory map. */=0A l3_pgentry_t =
__attribute__ ((__section__ (".bss.page_aligned")))=0A     l3_identmap[L3_P=
AGETABLE_ENTRIES];=0A-l2_pgentry_t __attribute__ ((__section__ (".bss.page_=
aligned")))=0A-    l2_identmap[4*L2_PAGETABLE_ENTRIES];=0A =0A /* Enough =
page directories to map the Xen text and static data. */=0A l3_pgentry_t =
__attribute__ ((__section__ (".bss.page_aligned")))=0A--- a/xen/include/asm=
-x86/page.h=0A+++ b/xen/include/asm-x86/page.h=0A@@ -1,15 +1,13 @@=0A =
#ifndef __X86_PAGE_H__=0A #define __X86_PAGE_H__=0A =0A+#include <xen/const=
.h>=0A+=0A /*=0A  * It is important that the masks are signed quantities. =
This ensures that=0A  * the compiler sign-extends a 32-bit mask to 64 bits =
if that is required.=0A  */=0A-#ifndef __ASSEMBLY__=0A-#define PAGE_SIZE   =
        (1L << PAGE_SHIFT)=0A-#else=0A-#define PAGE_SIZE           (1 << =
PAGE_SHIFT)=0A-#endif=0A+#define PAGE_SIZE           (_AC(1,L) << =
PAGE_SHIFT)=0A #define PAGE_MASK           (~(PAGE_SIZE-1))=0A #define =
PAGE_FLAG_MASK      (~0)=0A =0A@@ -319,21 +317,22 @@ void paging_init(void)=
;=0A void setup_idle_pagetable(void);=0A #endif /* !defined(__ASSEMBLY__) =
*/=0A =0A-#define _PAGE_PRESENT  0x001U=0A-#define _PAGE_RW       =
0x002U=0A-#define _PAGE_USER     0x004U=0A-#define _PAGE_PWT      =
0x008U=0A-#define _PAGE_PCD      0x010U=0A-#define _PAGE_ACCESSED =
0x020U=0A-#define _PAGE_DIRTY    0x040U=0A-#define _PAGE_PAT      =
0x080U=0A-#define _PAGE_PSE      0x080U=0A-#define _PAGE_GLOBAL   =
0x100U=0A-#define _PAGE_AVAIL0   0x200U=0A-#define _PAGE_AVAIL1   =
0x400U=0A-#define _PAGE_AVAIL2   0x800U=0A-#define _PAGE_AVAIL    =
0xE00U=0A-#define _PAGE_PSE_PAT 0x1000U=0A+#define _PAGE_PRESENT  =
_AC(0x001,U)=0A+#define _PAGE_RW       _AC(0x002,U)=0A+#define _PAGE_USER  =
   _AC(0x004,U)=0A+#define _PAGE_PWT      _AC(0x008,U)=0A+#define =
_PAGE_PCD      _AC(0x010,U)=0A+#define _PAGE_ACCESSED _AC(0x020,U)=0A+#defi=
ne _PAGE_DIRTY    _AC(0x040,U)=0A+#define _PAGE_PAT      _AC(0x080,U)=0A+#d=
efine _PAGE_PSE      _AC(0x080,U)=0A+#define _PAGE_GLOBAL   _AC(0x100,U)=0A=
+#define _PAGE_AVAIL0   _AC(0x200,U)=0A+#define _PAGE_AVAIL1   _AC(0x400,U)=
=0A+#define _PAGE_AVAIL2   _AC(0x800,U)=0A+#define _PAGE_AVAIL    =
_AC(0xE00,U)=0A+#define _PAGE_PSE_PAT _AC(0x1000,U)=0A+/* non-architectural=
 flags */=0A #define _PAGE_PAGED   0x2000U=0A #define _PAGE_SHARED  =
0x4000U=0A =0A@@ -354,6 +353,8 @@ void setup_idle_pagetable(void);=0A =
#define __PAGE_HYPERVISOR_NOCACHE \=0A     (_PAGE_PRESENT | _PAGE_RW | =
_PAGE_DIRTY | _PAGE_PCD | _PAGE_ACCESSED)=0A =0A+#define MAP_SMALL_PAGES =
_PAGE_AVAIL0 /* don't use superpages mappings */=0A+=0A #ifndef __ASSEMBLY_=
_=0A =0A /* Allocator functions for Xen pagetables. */=0A@@ -367,7 +368,6 =
@@ l3_pgentry_t *virt_to_xen_l3e(unsigned l=0A extern void set_pdx_range(un=
signed long smfn, unsigned long emfn);=0A =0A /* Map machine page range in =
Xen virtual address space. */=0A-#define MAP_SMALL_PAGES _PAGE_AVAIL0 /* =
don't use superpages for the mapping */=0A int map_pages_to_xen(=0A     =
unsigned long virt,=0A     unsigned long mfn,=0A--- /dev/null=0A+++ =
b/xen/include/xen/const.h=0A@@ -0,0 +1,24 @@=0A+/* const.h: Macros for =
dealing with constants.  */=0A+=0A+#ifndef __XEN_CONST_H__=0A+#define =
__XEN_CONST_H__=0A+=0A+/* Some constant macros are used in both assembler =
and=0A+ * C code.  Therefore we cannot annotate them always with=0A+ * =
'UL' and other type specifiers unilaterally.  We=0A+ * use the following =
macros to deal with this.=0A+ *=0A+ * Similarly, _AT() will cast an =
expression with a type in C, but=0A+ * leave it unchanged in asm.=0A+ =
*/=0A+=0A+#ifdef __ASSEMBLY__=0A+#define _AC(X,Y)	X=0A+#define =
_AT(T,X)	X=0A+#else=0A+#define __AC(X,Y)	(X##Y)=0A+#define _AC(X,Y)	=
__AC(X,Y)=0A+#define _AT(T,X)	((T)(X))=0A+#endif=0A+=0A+#endif /* =
__XEN_CONST_H__ */=0A
--=__Part3618CA9D.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part3618CA9D.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:07:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXkp-0006GU-Or; Thu, 24 May 2012 13:06:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXkn-0006G9-BP
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:06:57 +0000
Received: from [85.158.139.83:32472] by server-10.bemta-5.messagelabs.com id
	5B/64-22179-0723EBF4; Thu, 24 May 2012 13:06:56 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337864813!26200379!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4368 invoked from network); 24 May 2012 13:06:54 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:06:54 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:06:53 +0100
Message-Id: <4FBE4EAD0200007800085E4B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:07:25 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part3618CA9D.0__="
Subject: [Xen-devel] [PATCH RFC 9/9] x86: construct static part of 1:1
 mapping at build time
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part3618CA9D.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... rather than at boot time, removing unnecessary redundancy between
EFI and legacy boot code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -109,14 +109,11 @@ __start:
         bt      $29,%edx
         jnc     bad_cpu
         /* Initialise L2 identity-map and xen page table entries (16MB). =
*/
-        mov     $sym_phys(l2_identmap),%edi
         mov     $sym_phys(l2_xenmap),%esi
         mov     $sym_phys(l2_bootmap),%edx
         mov     $0x1e3,%eax                  /* PRESENT+RW+A+D+2MB+GLOBAL =
*/
         mov     $8,%ecx
-1:      mov     %eax,(%edi)
-        add     $8,%edi
-        mov     %eax,(%esi)
+1:      mov     %eax,(%esi)
         add     $8,%esi
         mov     %eax,(%edx)
         add     $8,%edx
@@ -148,54 +145,11 @@ __start:
         mov     %eax,sym_phys(idle_pg_table) + l4_table_offset(DIRECTMAP_V=
IRT_START)*8
         mov     $(sym_phys(l3_xenmap)+7),%eax
         mov     %eax,sym_phys(idle_pg_table) + l4_table_offset(XEN_VIRT_ST=
ART)*8
-#else
-        /* Initialize low and high mappings of memory with 2MB pages */
-        mov     $sym_phys(idle_pg_table_l2),%edi
-        mov     $0xe3,%eax                   /* PRESENT+RW+A+D+2MB */
-1:      mov     %eax,__PAGE_OFFSET>>18(%edi) /* high mapping */
-        stosl                                /* low mapping */
-        add     $4,%edi
-        add     $(1<<L2_PAGETABLE_SHIFT),%eax
-        cmp     $DIRECTMAP_PHYS_END+0xe3,%eax
-        jne     1b
-1:      stosl   /* low mappings cover up to 16MB */
-        add     $4,%edi
-        add     $(1<<L2_PAGETABLE_SHIFT),%eax
-        cmp     $(16<<20)+0xe3,%eax
-        jne     1b
-        /* Initialise L2 fixmap page directory entry. */
-        mov     $(sym_phys(l1_fixmap)+7),%eax
-        mov     %eax,sym_phys(idle_pg_table_l2) + l2_table_offset(FIXADDR_=
TOP-1)*8
-#endif
-
-        /* Initialize 4kB mappings of first 2MB or 4MB of memory. */
-        mov     $sym_phys(l1_identmap),%edi
-        mov     $0x263,%eax                  /* PRESENT+RW+A+D+SMALL_PAGES=
 */
-#if defined(__x86_64__)
-        or      $0x100,%eax                  /* GLOBAL */
-#endif
-        xor     %ecx,%ecx
-1:      stosl
-        add     $4,%edi
-        add     $PAGE_SIZE,%eax
-        inc     %ecx
-        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */
-        cmp     $0xa0,%ecx
-        jne     2f
-        or      $0x10,%eax                   /* +PCD */
-2:      cmp     $0xc0,%ecx
-        jne     2f
-        and     $~0x10,%eax                  /* -PCD */
-2:      cmp     $L1_PAGETABLE_ENTRIES,%ecx
-        jne     1b
-        sub     $(PAGE_SIZE-0x63),%edi
-#if defined(__x86_64__)
+        /* Hook 4kB mappings of first 2MB of memory into L2. */
+        mov     $sym_phys(l1_identmap)+__PAGE_HYPERVISOR,%edi
         mov     %edi,sym_phys(l2_identmap)
         mov     %edi,sym_phys(l2_xenmap)
         mov     %edi,sym_phys(l2_bootmap)
-#else
-        mov     %edi,sym_phys(idle_pg_table_l2)
-        mov     %edi,sym_phys(idle_pg_table_l2) + (__PAGE_OFFSET>>18)
 #endif
=20
         /* Apply relocations to bootstrap trampoline. */
@@ -241,3 +195,25 @@ __high_start:
 #else
 #include "x86_32.S"
 #endif
+
+        .section .data.page_aligned, "aw", @progbits
+        .p2align PAGE_SHIFT
+/*
+ * Mapping of first 2 megabytes of memory. This is mapped with 4kB =
mappings
+ * to avoid type conflicts with fixed-range MTRRs covering the lowest =
megabyte
+ * of physical memory. In any case the VGA hole should be mapped with =
type UC.
+ */
+        .globl l1_identmap
+l1_identmap:
+        pfn =3D 0
+        .rept L1_PAGETABLE_ENTRIES
+        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */
+        .if pfn >=3D 0xa0 && pfn < 0xc0
+        .long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR_NOCACHE | MAP_SMALL_PA=
GES
+        .else
+        .long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | MAP_SMALL_PAGES
+        .endif
+        .long 0
+        pfn =3D pfn + 1
+        .endr
+        .size l1_identmap, . - l1_identmap
--- a/xen/arch/x86/boot/x86_32.S
+++ b/xen/arch/x86/boot/x86_32.S
@@ -108,3 +108,24 @@ ENTRY(boot_cpu_gdt_table)
         .fill (PER_CPU_GDT_ENTRY - FLAT_RING3_DS / 8 - 1), 8, 0
         .quad 0x0000910000000000     /* per-CPU entry (limit =3D=3D cpu) =
*/
         .align PAGE_SIZE,0
+
+#define PAGE_HYPERVISOR         __PAGE_HYPERVISOR
+#define PAGE_HYPERVISOR_NOCACHE __PAGE_HYPERVISOR_NOCACHE
+
+/* Mapping of first 16 megabytes of memory. */
+        .globl idle_pg_table_l2
+idle_pg_table_l2:
+        range =3D 8
+        .irp count, l2_linear_offset(__PAGE_OFFSET), \
+                    (4 * L2_PAGETABLE_ENTRIES - l2_linear_offset(__PAGE_OF=
FSET) - 1)
+        .long sym_phys(l1_identmap) + PAGE_HYPERVISOR, 0
+        pfn =3D 1 << PAGETABLE_ORDER
+        .rept range - 1
+        .long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE, 0
+        pfn =3D pfn + (1 << PAGETABLE_ORDER)
+        .endr
+        .fill \count - range, 8, 0
+        range =3D DIRECTMAP_MBYTES / 2
+        .endr
+        .long sym_phys(l1_fixmap) + PAGE_HYPERVISOR, 0
+        .size idle_pg_table_l2, . - idle_pg_table_l2
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -127,3 +127,15 @@ ENTRY(boot_cpu_compat_gdt_table)
         .fill (PER_CPU_GDT_ENTRY - __HYPERVISOR_CS32 / 8 - 1), 8, 0
         .quad 0x0000910000000000     /* per-CPU entry (limit =3D=3D cpu)  =
    */
         .align PAGE_SIZE, 0
+
+/* Mapping of first 16 megabytes of memory. */
+        .globl l2_identmap
+l2_identmap:
+        .quad 0
+        pfn =3D 1 << PAGETABLE_ORDER
+        .rept 7
+        .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE
+        pfn =3D pfn + (1 << PAGETABLE_ORDER)
+        .endr
+        .fill 4 * L2_PAGETABLE_ENTRIES - 8, 8, 0
+        .size l2_identmap, . - l2_identmap
--- a/xen/arch/x86/efi/boot.c
+++ b/xen/arch/x86/efi/boot.c
@@ -1119,8 +1119,6 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY
         unsigned int slot =3D (xen_phys_start >> L2_PAGETABLE_SHIFT) + i;
         paddr_t addr =3D slot << L2_PAGETABLE_SHIFT;
=20
-        l2_identmap[i] =3D l2e_from_paddr(i << L2_PAGETABLE_SHIFT,
-                                        PAGE_HYPERVISOR|_PAGE_PSE);
         l2_identmap[slot] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_PAGE_P=
SE);
         l2_xenmap[i] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_PAGE_PSE);
         slot &=3D L2_PAGETABLE_ENTRIES - 1;
@@ -1150,16 +1148,7 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY
         l4e_from_paddr((UINTN)l3_identmap, __PAGE_HYPERVISOR);
     idle_pg_table[l4_table_offset(XEN_VIRT_START)] =3D
         l4e_from_paddr((UINTN)l3_xenmap, __PAGE_HYPERVISOR);
-    /* Initialize 4kB mappings of first 2MB of memory. */
-    for ( i =3D 0; i < L1_PAGETABLE_ENTRIES; ++i )
-    {
-        unsigned int attr =3D PAGE_HYPERVISOR|MAP_SMALL_PAGES;
-
-        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */
-        if ( i >=3D 0xa0 && i < 0xc0 )
-            attr |=3D _PAGE_PCD;
-        l1_identmap[i] =3D l1e_from_pfn(i, attr);
-    }
+    /* Hook 4kB mappings of first 2MB of memory into L2. */
     l2_identmap[0] =3D l2e_from_paddr((UINTN)l1_identmap, __PAGE_HYPERVISO=
R);
=20
     if ( gop )
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -121,15 +121,6 @@
 #include <asm/setup.h>
 #include <asm/fixmap.h>
=20
-/*
- * Mapping of first 2 or 4 megabytes of memory. This is mapped with 4kB
- * mappings to avoid type conflicts with fixed-range MTRRs covering the
- * lowest megabyte of physical memory. In any case the VGA hole should be
- * mapped with type UC.
- */
-l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
-    l1_identmap[L1_PAGETABLE_ENTRIES];
-
 /* Mapping of the fixmap space needed early. */
 l1_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l1_fixmap[L1_PAGETABLE_ENTRIES];
--- a/xen/arch/x86/x86_32/mm.c
+++ b/xen/arch/x86/x86_32/mm.c
@@ -31,9 +31,6 @@
 #include <asm/setup.h>
 #include <public/memory.h>
=20
-l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
-    idle_pg_table_l2[4 * L2_PAGETABLE_ENTRIES];
-
 unsigned int __read_mostly PAGE_HYPERVISOR         =3D __PAGE_HYPERVISOR;
 unsigned int __read_mostly PAGE_HYPERVISOR_NOCACHE =3D __PAGE_HYPERVISOR_N=
OCACHE;
=20
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -56,8 +56,6 @@ l4_pgentry_t __attribute__ ((__section__
 /* Enough page directories to map bottom 4GB of the memory map. */
 l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
     l3_identmap[L3_PAGETABLE_ENTRIES];
-l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
-    l2_identmap[4*L2_PAGETABLE_ENTRIES];
=20
 /* Enough page directories to map the Xen text and static data. */
 l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -1,15 +1,13 @@
 #ifndef __X86_PAGE_H__
 #define __X86_PAGE_H__
=20
+#include <xen/const.h>
+
 /*
  * It is important that the masks are signed quantities. This ensures =
that
  * the compiler sign-extends a 32-bit mask to 64 bits if that is =
required.
  */
-#ifndef __ASSEMBLY__
-#define PAGE_SIZE           (1L << PAGE_SHIFT)
-#else
-#define PAGE_SIZE           (1 << PAGE_SHIFT)
-#endif
+#define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
 #define PAGE_MASK           (~(PAGE_SIZE-1))
 #define PAGE_FLAG_MASK      (~0)
=20
@@ -319,21 +317,22 @@ void paging_init(void);
 void setup_idle_pagetable(void);
 #endif /* !defined(__ASSEMBLY__) */
=20
-#define _PAGE_PRESENT  0x001U
-#define _PAGE_RW       0x002U
-#define _PAGE_USER     0x004U
-#define _PAGE_PWT      0x008U
-#define _PAGE_PCD      0x010U
-#define _PAGE_ACCESSED 0x020U
-#define _PAGE_DIRTY    0x040U
-#define _PAGE_PAT      0x080U
-#define _PAGE_PSE      0x080U
-#define _PAGE_GLOBAL   0x100U
-#define _PAGE_AVAIL0   0x200U
-#define _PAGE_AVAIL1   0x400U
-#define _PAGE_AVAIL2   0x800U
-#define _PAGE_AVAIL    0xE00U
-#define _PAGE_PSE_PAT 0x1000U
+#define _PAGE_PRESENT  _AC(0x001,U)
+#define _PAGE_RW       _AC(0x002,U)
+#define _PAGE_USER     _AC(0x004,U)
+#define _PAGE_PWT      _AC(0x008,U)
+#define _PAGE_PCD      _AC(0x010,U)
+#define _PAGE_ACCESSED _AC(0x020,U)
+#define _PAGE_DIRTY    _AC(0x040,U)
+#define _PAGE_PAT      _AC(0x080,U)
+#define _PAGE_PSE      _AC(0x080,U)
+#define _PAGE_GLOBAL   _AC(0x100,U)
+#define _PAGE_AVAIL0   _AC(0x200,U)
+#define _PAGE_AVAIL1   _AC(0x400,U)
+#define _PAGE_AVAIL2   _AC(0x800,U)
+#define _PAGE_AVAIL    _AC(0xE00,U)
+#define _PAGE_PSE_PAT _AC(0x1000,U)
+/* non-architectural flags */
 #define _PAGE_PAGED   0x2000U
 #define _PAGE_SHARED  0x4000U
=20
@@ -354,6 +353,8 @@ void setup_idle_pagetable(void);
 #define __PAGE_HYPERVISOR_NOCACHE \
     (_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_PCD | _PAGE_ACCESSED)
=20
+#define MAP_SMALL_PAGES _PAGE_AVAIL0 /* don't use superpages mappings */
+
 #ifndef __ASSEMBLY__
=20
 /* Allocator functions for Xen pagetables. */
@@ -367,7 +368,6 @@ l3_pgentry_t *virt_to_xen_l3e(unsigned l
 extern void set_pdx_range(unsigned long smfn, unsigned long emfn);
=20
 /* Map machine page range in Xen virtual address space. */
-#define MAP_SMALL_PAGES _PAGE_AVAIL0 /* don't use superpages for the =
mapping */
 int map_pages_to_xen(
     unsigned long virt,
     unsigned long mfn,
--- /dev/null
+++ b/xen/include/xen/const.h
@@ -0,0 +1,24 @@
+/* const.h: Macros for dealing with constants.  */
+
+#ifndef __XEN_CONST_H__
+#define __XEN_CONST_H__
+
+/* Some constant macros are used in both assembler and
+ * C code.  Therefore we cannot annotate them always with
+ * 'UL' and other type specifiers unilaterally.  We
+ * use the following macros to deal with this.
+ *
+ * Similarly, _AT() will cast an expression with a type in C, but
+ * leave it unchanged in asm.
+ */
+
+#ifdef __ASSEMBLY__
+#define _AC(X,Y)	X
+#define _AT(T,X)	X
+#else
+#define __AC(X,Y)	(X##Y)
+#define _AC(X,Y)	__AC(X,Y)
+#define _AT(T,X)	((T)(X))
+#endif
+
+#endif /* __XEN_CONST_H__ */



--=__Part3618CA9D.0__=
Content-Type: text/plain; name="x86-build-ident-map.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-build-ident-map.patch"

x86: construct static part of 1:1 mapping at build time=0A=0A... rather =
than at boot time, removing unnecessary redundancy between=0AEFI and =
legacy boot code.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=0A=
--- a/xen/arch/x86/boot/head.S=0A+++ b/xen/arch/x86/boot/head.S=0A@@ =
-109,14 +109,11 @@ __start:=0A         bt      $29,%edx=0A         jnc     =
bad_cpu=0A         /* Initialise L2 identity-map and xen page table =
entries (16MB). */=0A-        mov     $sym_phys(l2_identmap),%edi=0A       =
  mov     $sym_phys(l2_xenmap),%esi=0A         mov     $sym_phys(l2_bootmap=
),%edx=0A         mov     $0x1e3,%eax                  /* PRESENT+RW+A+D+2M=
B+GLOBAL */=0A         mov     $8,%ecx=0A-1:      mov     %eax,(%edi)=0A-  =
      add     $8,%edi=0A-        mov     %eax,(%esi)=0A+1:      mov     =
%eax,(%esi)=0A         add     $8,%esi=0A         mov     %eax,(%edx)=0A   =
      add     $8,%edx=0A@@ -148,54 +145,11 @@ __start:=0A         mov     =
%eax,sym_phys(idle_pg_table) + l4_table_offset(DIRECTMAP_VIRT_START)*8=0A  =
       mov     $(sym_phys(l3_xenmap)+7),%eax=0A         mov     %eax,sym_ph=
ys(idle_pg_table) + l4_table_offset(XEN_VIRT_START)*8=0A-#else=0A-        =
/* Initialize low and high mappings of memory with 2MB pages */=0A-        =
mov     $sym_phys(idle_pg_table_l2),%edi=0A-        mov     $0xe3,%eax     =
              /* PRESENT+RW+A+D+2MB */=0A-1:      mov     %eax,__PAGE_OFFSE=
T>>18(%edi) /* high mapping */=0A-        stosl                            =
    /* low mapping */=0A-        add     $4,%edi=0A-        add     =
$(1<<L2_PAGETABLE_SHIFT),%eax=0A-        cmp     $DIRECTMAP_PHYS_END+0xe3,%=
eax=0A-        jne     1b=0A-1:      stosl   /* low mappings cover up to =
16MB */=0A-        add     $4,%edi=0A-        add     $(1<<L2_PAGETABLE_SHI=
FT),%eax=0A-        cmp     $(16<<20)+0xe3,%eax=0A-        jne     1b=0A-  =
      /* Initialise L2 fixmap page directory entry. */=0A-        mov     =
$(sym_phys(l1_fixmap)+7),%eax=0A-        mov     %eax,sym_phys(idle_pg_tabl=
e_l2) + l2_table_offset(FIXADDR_TOP-1)*8=0A-#endif=0A-=0A-        /* =
Initialize 4kB mappings of first 2MB or 4MB of memory. */=0A-        mov   =
  $sym_phys(l1_identmap),%edi=0A-        mov     $0x263,%eax               =
   /* PRESENT+RW+A+D+SMALL_PAGES */=0A-#if defined(__x86_64__)=0A-        =
or      $0x100,%eax                  /* GLOBAL */=0A-#endif=0A-        xor =
    %ecx,%ecx=0A-1:      stosl=0A-        add     $4,%edi=0A-        add   =
  $PAGE_SIZE,%eax=0A-        inc     %ecx=0A-        /* VGA hole (0xa0000-0=
xc0000) should be mapped UC. */=0A-        cmp     $0xa0,%ecx=0A-        =
jne     2f=0A-        or      $0x10,%eax                   /* +PCD =
*/=0A-2:      cmp     $0xc0,%ecx=0A-        jne     2f=0A-        and     =
$~0x10,%eax                  /* -PCD */=0A-2:      cmp     $L1_PAGETABLE_EN=
TRIES,%ecx=0A-        jne     1b=0A-        sub     $(PAGE_SIZE-0x63),%edi=
=0A-#if defined(__x86_64__)=0A+        /* Hook 4kB mappings of first 2MB =
of memory into L2. */=0A+        mov     $sym_phys(l1_identmap)+__PAGE_HYPE=
RVISOR,%edi=0A         mov     %edi,sym_phys(l2_identmap)=0A         mov   =
  %edi,sym_phys(l2_xenmap)=0A         mov     %edi,sym_phys(l2_bootmap)=0A-=
#else=0A-        mov     %edi,sym_phys(idle_pg_table_l2)=0A-        mov    =
 %edi,sym_phys(idle_pg_table_l2) + (__PAGE_OFFSET>>18)=0A #endif=0A =0A    =
     /* Apply relocations to bootstrap trampoline. */=0A@@ -241,3 +195,25 =
@@ __high_start:=0A #else=0A #include "x86_32.S"=0A #endif=0A+=0A+        =
.section .data.page_aligned, "aw", @progbits=0A+        .p2align PAGE_SHIFT=
=0A+/*=0A+ * Mapping of first 2 megabytes of memory. This is mapped with =
4kB mappings=0A+ * to avoid type conflicts with fixed-range MTRRs covering =
the lowest megabyte=0A+ * of physical memory. In any case the VGA hole =
should be mapped with type UC.=0A+ */=0A+        .globl l1_identmap=0A+l1_i=
dentmap:=0A+        pfn =3D 0=0A+        .rept L1_PAGETABLE_ENTRIES=0A+    =
    /* VGA hole (0xa0000-0xc0000) should be mapped UC. */=0A+        .if =
pfn >=3D 0xa0 && pfn < 0xc0=0A+        .long (pfn << PAGE_SHIFT) | =
PAGE_HYPERVISOR_NOCACHE | MAP_SMALL_PAGES=0A+        .else=0A+        =
.long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | MAP_SMALL_PAGES=0A+        =
.endif=0A+        .long 0=0A+        pfn =3D pfn + 1=0A+        .endr=0A+  =
      .size l1_identmap, . - l1_identmap=0A--- a/xen/arch/x86/boot/x86_32.S=
=0A+++ b/xen/arch/x86/boot/x86_32.S=0A@@ -108,3 +108,24 @@ ENTRY(boot_cpu_g=
dt_table)=0A         .fill (PER_CPU_GDT_ENTRY - FLAT_RING3_DS / 8 - 1), 8, =
0=0A         .quad 0x0000910000000000     /* per-CPU entry (limit =3D=3D =
cpu) */=0A         .align PAGE_SIZE,0=0A+=0A+#define PAGE_HYPERVISOR       =
  __PAGE_HYPERVISOR=0A+#define PAGE_HYPERVISOR_NOCACHE __PAGE_HYPERVISOR_NO=
CACHE=0A+=0A+/* Mapping of first 16 megabytes of memory. */=0A+        =
.globl idle_pg_table_l2=0A+idle_pg_table_l2:=0A+        range =3D 8=0A+    =
    .irp count, l2_linear_offset(__PAGE_OFFSET), \=0A+                    =
(4 * L2_PAGETABLE_ENTRIES - l2_linear_offset(__PAGE_OFFSET) - 1)=0A+       =
 .long sym_phys(l1_identmap) + PAGE_HYPERVISOR, 0=0A+        pfn =3D 1 << =
PAGETABLE_ORDER=0A+        .rept range - 1=0A+        .long (pfn << =
PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE, 0=0A+        pfn =3D pfn + (1 =
<< PAGETABLE_ORDER)=0A+        .endr=0A+        .fill \count - range, 8, =
0=0A+        range =3D DIRECTMAP_MBYTES / 2=0A+        .endr=0A+        =
.long sym_phys(l1_fixmap) + PAGE_HYPERVISOR, 0=0A+        .size idle_pg_tab=
le_l2, . - idle_pg_table_l2=0A--- a/xen/arch/x86/boot/x86_64.S=0A+++ =
b/xen/arch/x86/boot/x86_64.S=0A@@ -127,3 +127,15 @@ ENTRY(boot_cpu_compat_g=
dt_table)=0A         .fill (PER_CPU_GDT_ENTRY - __HYPERVISOR_CS32 / 8 - =
1), 8, 0=0A         .quad 0x0000910000000000     /* per-CPU entry (limit =
=3D=3D cpu)      */=0A         .align PAGE_SIZE, 0=0A+=0A+/* Mapping of =
first 16 megabytes of memory. */=0A+        .globl l2_identmap=0A+l2_identm=
ap:=0A+        .quad 0=0A+        pfn =3D 1 << PAGETABLE_ORDER=0A+        =
.rept 7=0A+        .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | =
_PAGE_PSE=0A+        pfn =3D pfn + (1 << PAGETABLE_ORDER)=0A+        =
.endr=0A+        .fill 4 * L2_PAGETABLE_ENTRIES - 8, 8, 0=0A+        .size =
l2_identmap, . - l2_identmap=0A--- a/xen/arch/x86/efi/boot.c=0A+++ =
b/xen/arch/x86/efi/boot.c=0A@@ -1119,8 +1119,6 @@ efi_start(EFI_HANDLE =
ImageHandle, EFI_SY=0A         unsigned int slot =3D (xen_phys_start >> =
L2_PAGETABLE_SHIFT) + i;=0A         paddr_t addr =3D slot << L2_PAGETABLE_S=
HIFT;=0A =0A-        l2_identmap[i] =3D l2e_from_paddr(i << L2_PAGETABLE_SH=
IFT,=0A-                                        PAGE_HYPERVISOR|_PAGE_PSE);=
=0A         l2_identmap[slot] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_PAG=
E_PSE);=0A         l2_xenmap[i] =3D l2e_from_paddr(addr, PAGE_HYPERVISOR|_P=
AGE_PSE);=0A         slot &=3D L2_PAGETABLE_ENTRIES - 1;=0A@@ -1150,16 =
+1148,7 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY=0A         l4e_from_pad=
dr((UINTN)l3_identmap, __PAGE_HYPERVISOR);=0A     idle_pg_table[l4_table_of=
fset(XEN_VIRT_START)] =3D=0A         l4e_from_paddr((UINTN)l3_xenmap, =
__PAGE_HYPERVISOR);=0A-    /* Initialize 4kB mappings of first 2MB of =
memory. */=0A-    for ( i =3D 0; i < L1_PAGETABLE_ENTRIES; ++i )=0A-    =
{=0A-        unsigned int attr =3D PAGE_HYPERVISOR|MAP_SMALL_PAGES;=0A-=0A-=
        /* VGA hole (0xa0000-0xc0000) should be mapped UC. */=0A-        =
if ( i >=3D 0xa0 && i < 0xc0 )=0A-            attr |=3D _PAGE_PCD;=0A-     =
   l1_identmap[i] =3D l1e_from_pfn(i, attr);=0A-    }=0A+    /* Hook 4kB =
mappings of first 2MB of memory into L2. */=0A     l2_identmap[0] =3D =
l2e_from_paddr((UINTN)l1_identmap, __PAGE_HYPERVISOR);=0A =0A     if ( gop =
)=0A--- a/xen/arch/x86/mm.c=0A+++ b/xen/arch/x86/mm.c=0A@@ -121,15 +121,6 =
@@=0A #include <asm/setup.h>=0A #include <asm/fixmap.h>=0A =0A-/*=0A- * =
Mapping of first 2 or 4 megabytes of memory. This is mapped with 4kB=0A- * =
mappings to avoid type conflicts with fixed-range MTRRs covering the=0A- * =
lowest megabyte of physical memory. In any case the VGA hole should be=0A- =
* mapped with type UC.=0A- */=0A-l1_pgentry_t __attribute__ ((__section__ =
(".bss.page_aligned")))=0A-    l1_identmap[L1_PAGETABLE_ENTRIES];=0A-=0A =
/* Mapping of the fixmap space needed early. */=0A l1_pgentry_t __attribute=
__ ((__section__ (".bss.page_aligned")))=0A     l1_fixmap[L1_PAGETABLE_ENTR=
IES];=0A--- a/xen/arch/x86/x86_32/mm.c=0A+++ b/xen/arch/x86/x86_32/mm.c=0A@=
@ -31,9 +31,6 @@=0A #include <asm/setup.h>=0A #include <public/memory.h>=0A=
 =0A-l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))=0A-  =
  idle_pg_table_l2[4 * L2_PAGETABLE_ENTRIES];=0A-=0A unsigned int =
__read_mostly PAGE_HYPERVISOR         =3D __PAGE_HYPERVISOR;=0A unsigned =
int __read_mostly PAGE_HYPERVISOR_NOCACHE =3D __PAGE_HYPERVISOR_NOCACHE;=0A=
 =0A--- a/xen/arch/x86/x86_64/mm.c=0A+++ b/xen/arch/x86/x86_64/mm.c=0A@@ =
-56,8 +56,6 @@ l4_pgentry_t __attribute__ ((__section__=0A /* Enough page =
directories to map bottom 4GB of the memory map. */=0A l3_pgentry_t =
__attribute__ ((__section__ (".bss.page_aligned")))=0A     l3_identmap[L3_P=
AGETABLE_ENTRIES];=0A-l2_pgentry_t __attribute__ ((__section__ (".bss.page_=
aligned")))=0A-    l2_identmap[4*L2_PAGETABLE_ENTRIES];=0A =0A /* Enough =
page directories to map the Xen text and static data. */=0A l3_pgentry_t =
__attribute__ ((__section__ (".bss.page_aligned")))=0A--- a/xen/include/asm=
-x86/page.h=0A+++ b/xen/include/asm-x86/page.h=0A@@ -1,15 +1,13 @@=0A =
#ifndef __X86_PAGE_H__=0A #define __X86_PAGE_H__=0A =0A+#include <xen/const=
.h>=0A+=0A /*=0A  * It is important that the masks are signed quantities. =
This ensures that=0A  * the compiler sign-extends a 32-bit mask to 64 bits =
if that is required.=0A  */=0A-#ifndef __ASSEMBLY__=0A-#define PAGE_SIZE   =
        (1L << PAGE_SHIFT)=0A-#else=0A-#define PAGE_SIZE           (1 << =
PAGE_SHIFT)=0A-#endif=0A+#define PAGE_SIZE           (_AC(1,L) << =
PAGE_SHIFT)=0A #define PAGE_MASK           (~(PAGE_SIZE-1))=0A #define =
PAGE_FLAG_MASK      (~0)=0A =0A@@ -319,21 +317,22 @@ void paging_init(void)=
;=0A void setup_idle_pagetable(void);=0A #endif /* !defined(__ASSEMBLY__) =
*/=0A =0A-#define _PAGE_PRESENT  0x001U=0A-#define _PAGE_RW       =
0x002U=0A-#define _PAGE_USER     0x004U=0A-#define _PAGE_PWT      =
0x008U=0A-#define _PAGE_PCD      0x010U=0A-#define _PAGE_ACCESSED =
0x020U=0A-#define _PAGE_DIRTY    0x040U=0A-#define _PAGE_PAT      =
0x080U=0A-#define _PAGE_PSE      0x080U=0A-#define _PAGE_GLOBAL   =
0x100U=0A-#define _PAGE_AVAIL0   0x200U=0A-#define _PAGE_AVAIL1   =
0x400U=0A-#define _PAGE_AVAIL2   0x800U=0A-#define _PAGE_AVAIL    =
0xE00U=0A-#define _PAGE_PSE_PAT 0x1000U=0A+#define _PAGE_PRESENT  =
_AC(0x001,U)=0A+#define _PAGE_RW       _AC(0x002,U)=0A+#define _PAGE_USER  =
   _AC(0x004,U)=0A+#define _PAGE_PWT      _AC(0x008,U)=0A+#define =
_PAGE_PCD      _AC(0x010,U)=0A+#define _PAGE_ACCESSED _AC(0x020,U)=0A+#defi=
ne _PAGE_DIRTY    _AC(0x040,U)=0A+#define _PAGE_PAT      _AC(0x080,U)=0A+#d=
efine _PAGE_PSE      _AC(0x080,U)=0A+#define _PAGE_GLOBAL   _AC(0x100,U)=0A=
+#define _PAGE_AVAIL0   _AC(0x200,U)=0A+#define _PAGE_AVAIL1   _AC(0x400,U)=
=0A+#define _PAGE_AVAIL2   _AC(0x800,U)=0A+#define _PAGE_AVAIL    =
_AC(0xE00,U)=0A+#define _PAGE_PSE_PAT _AC(0x1000,U)=0A+/* non-architectural=
 flags */=0A #define _PAGE_PAGED   0x2000U=0A #define _PAGE_SHARED  =
0x4000U=0A =0A@@ -354,6 +353,8 @@ void setup_idle_pagetable(void);=0A =
#define __PAGE_HYPERVISOR_NOCACHE \=0A     (_PAGE_PRESENT | _PAGE_RW | =
_PAGE_DIRTY | _PAGE_PCD | _PAGE_ACCESSED)=0A =0A+#define MAP_SMALL_PAGES =
_PAGE_AVAIL0 /* don't use superpages mappings */=0A+=0A #ifndef __ASSEMBLY_=
_=0A =0A /* Allocator functions for Xen pagetables. */=0A@@ -367,7 +368,6 =
@@ l3_pgentry_t *virt_to_xen_l3e(unsigned l=0A extern void set_pdx_range(un=
signed long smfn, unsigned long emfn);=0A =0A /* Map machine page range in =
Xen virtual address space. */=0A-#define MAP_SMALL_PAGES _PAGE_AVAIL0 /* =
don't use superpages for the mapping */=0A int map_pages_to_xen(=0A     =
unsigned long virt,=0A     unsigned long mfn,=0A--- /dev/null=0A+++ =
b/xen/include/xen/const.h=0A@@ -0,0 +1,24 @@=0A+/* const.h: Macros for =
dealing with constants.  */=0A+=0A+#ifndef __XEN_CONST_H__=0A+#define =
__XEN_CONST_H__=0A+=0A+/* Some constant macros are used in both assembler =
and=0A+ * C code.  Therefore we cannot annotate them always with=0A+ * =
'UL' and other type specifiers unilaterally.  We=0A+ * use the following =
macros to deal with this.=0A+ *=0A+ * Similarly, _AT() will cast an =
expression with a type in C, but=0A+ * leave it unchanged in asm.=0A+ =
*/=0A+=0A+#ifdef __ASSEMBLY__=0A+#define _AC(X,Y)	X=0A+#define =
_AT(T,X)	X=0A+#else=0A+#define __AC(X,Y)	(X##Y)=0A+#define _AC(X,Y)	=
__AC(X,Y)=0A+#define _AT(T,X)	((T)(X))=0A+#endif=0A+=0A+#endif /* =
__XEN_CONST_H__ */=0A
--=__Part3618CA9D.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part3618CA9D.0__=--


From xen-devel-bounces@lists.xen.org Thu May 24 13:09:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:09:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXmu-0006cq-Gd; Thu, 24 May 2012 13:09:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXmt-0006cc-2c
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:09:07 +0000
Received: from [85.158.139.83:9264] by server-6.bemta-5.messagelabs.com id
	B6/D3-31790-2F23EBF4; Thu, 24 May 2012 13:09:06 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337864944!27440074!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18899 invoked from network); 24 May 2012 13:09:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:09:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:09:04 +0100
Message-Id: <4FBE4F320200007800085E84@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:09:38 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Christoph Egger" <Christoph.Egger@amd.com>
References: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
	<4FBE2D2C.7060704@amd.com>
In-Reply-To: <4FBE2D2C.7060704@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: fix nested HVM initialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 14:44, Christoph Egger <Christoph.Egger@amd.com> wrote:
> On 05/24/12 14:14, Jan Beulich wrote:
> 
>> - no need for calling nestedhvm_setup() explicitly (can be a normal
>>   init-call, and can be __init)
>> - calling _xmalloc() for multi-page, page-aligned memory regions is
>>   inefficient - use alloc_xenheap_pages() instead
>> - albeit an allocation error is unlikely here, add error handling
>>   nevertheless (and have nestedhvm_vcpu_initialise() bail if an error
>>   occurred during setup)
>> - nestedhvm_enabled() must no access d->arch.hvm_domain without first
>>   checking that 'd' actually represents a HVM domain
>> 
>> Signed-off-by: Jan Beulich <JBeulich@suse.com>
> 
> 
> Looks ok to me. How did you test it?

Sorry, no, I did not test it at all. Should probably have said so...
I just noticed the brokenness while putting together the VIA
enabling patch sent soon afterwards.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 13:09:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:09:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXXmu-0006cq-Gd; Thu, 24 May 2012 13:09:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXXmt-0006cc-2c
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:09:07 +0000
Received: from [85.158.139.83:9264] by server-6.bemta-5.messagelabs.com id
	B6/D3-31790-2F23EBF4; Thu, 24 May 2012 13:09:06 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337864944!27440074!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18899 invoked from network); 24 May 2012 13:09:05 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 13:09:05 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 14:09:04 +0100
Message-Id: <4FBE4F320200007800085E84@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 14:09:38 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Christoph Egger" <Christoph.Egger@amd.com>
References: <4FBE424A0200007800085DDE@nat28.tlf.novell.com>
	<4FBE2D2C.7060704@amd.com>
In-Reply-To: <4FBE2D2C.7060704@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86: fix nested HVM initialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 14:44, Christoph Egger <Christoph.Egger@amd.com> wrote:
> On 05/24/12 14:14, Jan Beulich wrote:
> 
>> - no need for calling nestedhvm_setup() explicitly (can be a normal
>>   init-call, and can be __init)
>> - calling _xmalloc() for multi-page, page-aligned memory regions is
>>   inefficient - use alloc_xenheap_pages() instead
>> - albeit an allocation error is unlikely here, add error handling
>>   nevertheless (and have nestedhvm_vcpu_initialise() bail if an error
>>   occurred during setup)
>> - nestedhvm_enabled() must no access d->arch.hvm_domain without first
>>   checking that 'd' actually represents a HVM domain
>> 
>> Signed-off-by: Jan Beulich <JBeulich@suse.com>
> 
> 
> Looks ok to me. How did you test it?

Sorry, no, I did not test it at all. Should probably have said so...
I just noticed the brokenness while putting together the VIA
enabling patch sent soon afterwards.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 13:30:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:30:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXY75-0006w8-F9; Thu, 24 May 2012 13:29:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SXY73-0006w3-Mj
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 13:29:57 +0000
Received: from [85.158.139.83:56587] by server-9.bemta-5.messagelabs.com id
	31/52-27779-4D73EBF4; Thu, 24 May 2012 13:29:56 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337866195!22931380!1
X-Originating-IP: [216.32.180.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23324 invoked from network); 24 May 2012 13:29:56 -0000
Received: from va3ehsobe003.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.13)
	by server-11.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 13:29:56 -0000
Received: from mail240-va3-R.bigfish.com (10.7.14.237) by
	VA3EHSOBE008.bigfish.com (10.7.40.28) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 13:29:46 +0000
Received: from mail240-va3 (localhost [127.0.0.1])	by
	mail240-va3-R.bigfish.com (Postfix) with ESMTP id 7792510016F;
	Thu, 24 May 2012 13:29:38 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail240-va3 (localhost.localdomain [127.0.0.1]) by mail240-va3
	(MessageSwitch) id 1337866177810692_16391;
	Thu, 24 May 2012 13:29:37 +0000 (UTC)
Received: from VA3EHSMHS008.bigfish.com (unknown [10.7.14.244])	by
	mail240-va3.bigfish.com (Postfix) with ESMTP id C3F5F180048;
	Thu, 24 May 2012 13:29:37 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS008.bigfish.com (10.7.99.18) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 13:29:44 +0000
X-WSS-ID: 0M4J45R-01-1BA-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B1C71028144;	Thu, 24 May 2012 08:29:51 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 08:30:08 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 08:29:51 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	09:29:50 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id AD88649C58B; Thu, 24 May 2012
	14:29:49 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 886C25940FF; Thu, 24 May 2012
	15:29:49 +0200 (CEST)
Message-ID: <4FBE36AA.3070903@amd.com>
Date: Thu, 24 May 2012 15:24:58 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
	<4FBC16B7.9080307@amd.com>
	<20120523132614.GA15660@phenom.dumpdata.com>
In-Reply-To: <20120523132614.GA15660@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 03:26 PM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 23, 2012 at 12:44:07AM +0200, Andre Przywara wrote:
>> On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
>>> On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
>>>> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
>>>>> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>>>>>> Hi,
>>>>>>
>>>>>> while testing some APERF/MPERF semantics I discovered that this
>>>>>> feature is enabled in Xen Dom0, but is not reliable.
>>>>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>>>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>>>>> compile) and bogus values due to VCPU migration during the
>>>>>
>>>>> Can you point me to the Linux scheduler code that does this? Thanks.
>>>>
>>>> arch/x86/kernel/cpu/sched.c contains code to read out and compute
>>>> APERF/MPERF registers. I added a Xen debug-key to dump a usage
>>>> counter added in traps.c and thus could prove that it is actually
>>>> the kernel that accesses these registers.
>>>> As far as I understood this the idea is to learn about boosting and
>>>> down-clocking (P-states) to get a fairer view on the actual
>>>> computing time a process consumed.
>>>
>>> Looks like its looking for this:
>>>
>>> X86_FEATURE_APERFMPERF
>>>
>>> Perhaps masking that should do it? Something along this in enlighten.c:
>>>
>>>           cpuid_leaf1_edx_mask =
>>>                   ~((1<<   X86_FEATURE_MCE)  |  /* disable MCE */
>>>                     (1<<   X86_FEATURE_MCA)  |  /* disable MCA */
>>>                     (1<<   X86_FEATURE_MTRR) |  /* disable MTRR */
>>>                     (1<<   X86_FEATURE_ACC));   /* thermal monitoring
>>>
>>> would be more appropiate?
>>>
>>> Or is that attribute on a different leaf?
>>
>> Right, it is bit 0 on level 6. That's why I couldn't use any of the
>> predefined masks and I didn't feel like inventing a new one just for
>> this single bit.
>> We could as well explicitly use clear_cpu_cap somewhere, but I
>> didn't find any code place in the Xen tree already doing this,
>> instead it looks like it belongs to where I put it (we handle leaf 5
>> in a special way already here)
>
> OK, can you resend the patch please, looking similar to what you sent
> earlier, but do use a #define if possible (you can have the #define
> in that file) and an comment explaining why this is neccessary -
> and point to the Linux source code that uses this.

Well, I was about to do this and wanted to see if this has any 
performance impact - only to discover that 3.4 does not trigger it 
anymore. After some debugging it turns out the guy reading APERF/MPERF 
was not arch/x86/kernel/cpu/sched.c, but drivers/cpufreq/mperf.c. So 
with disabling cpufreq the only real user is gone already.
So the patch is kind of pointless as it on 3.4 with cpufreq already 
disabled. Remains to be investigated why sched.c is not called (I added 
a usage counter, it stays at zero).
To avoid future mis-uses of APERF/MPERF by the kernel, I'd like to add 
the patch anyway. I will send it again when I have a clearer picture of 
this.

.. snip..
> Looks like a patch to cpupower should be cooked up too?

I will contact the author.

Regards,
Andre.

-- 
Andre Przywara
AMD-OSRC (Dresden)
Tel: x29712


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 13:30:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:30:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXY75-0006w8-F9; Thu, 24 May 2012 13:29:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SXY73-0006w3-Mj
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 13:29:57 +0000
Received: from [85.158.139.83:56587] by server-9.bemta-5.messagelabs.com id
	31/52-27779-4D73EBF4; Thu, 24 May 2012 13:29:56 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337866195!22931380!1
X-Originating-IP: [216.32.180.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23324 invoked from network); 24 May 2012 13:29:56 -0000
Received: from va3ehsobe003.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.13)
	by server-11.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 13:29:56 -0000
Received: from mail240-va3-R.bigfish.com (10.7.14.237) by
	VA3EHSOBE008.bigfish.com (10.7.40.28) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 13:29:46 +0000
Received: from mail240-va3 (localhost [127.0.0.1])	by
	mail240-va3-R.bigfish.com (Postfix) with ESMTP id 7792510016F;
	Thu, 24 May 2012 13:29:38 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail240-va3 (localhost.localdomain [127.0.0.1]) by mail240-va3
	(MessageSwitch) id 1337866177810692_16391;
	Thu, 24 May 2012 13:29:37 +0000 (UTC)
Received: from VA3EHSMHS008.bigfish.com (unknown [10.7.14.244])	by
	mail240-va3.bigfish.com (Postfix) with ESMTP id C3F5F180048;
	Thu, 24 May 2012 13:29:37 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS008.bigfish.com (10.7.99.18) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 13:29:44 +0000
X-WSS-ID: 0M4J45R-01-1BA-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B1C71028144;	Thu, 24 May 2012 08:29:51 -0500 (CDT)
Received: from SAUSEXDAG01.amd.com (163.181.55.1) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 08:30:08 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag01.amd.com
	(163.181.55.1) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 08:29:51 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	09:29:50 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id AD88649C58B; Thu, 24 May 2012
	14:29:49 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 886C25940FF; Thu, 24 May 2012
	15:29:49 +0200 (CEST)
Message-ID: <4FBE36AA.3070903@amd.com>
Date: Thu, 24 May 2012 15:24:58 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
	<4FBC16B7.9080307@amd.com>
	<20120523132614.GA15660@phenom.dumpdata.com>
In-Reply-To: <20120523132614.GA15660@phenom.dumpdata.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/23/2012 03:26 PM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 23, 2012 at 12:44:07AM +0200, Andre Przywara wrote:
>> On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
>>> On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
>>>> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
>>>>> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>>>>>> Hi,
>>>>>>
>>>>>> while testing some APERF/MPERF semantics I discovered that this
>>>>>> feature is enabled in Xen Dom0, but is not reliable.
>>>>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>>>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>>>>> compile) and bogus values due to VCPU migration during the
>>>>>
>>>>> Can you point me to the Linux scheduler code that does this? Thanks.
>>>>
>>>> arch/x86/kernel/cpu/sched.c contains code to read out and compute
>>>> APERF/MPERF registers. I added a Xen debug-key to dump a usage
>>>> counter added in traps.c and thus could prove that it is actually
>>>> the kernel that accesses these registers.
>>>> As far as I understood this the idea is to learn about boosting and
>>>> down-clocking (P-states) to get a fairer view on the actual
>>>> computing time a process consumed.
>>>
>>> Looks like its looking for this:
>>>
>>> X86_FEATURE_APERFMPERF
>>>
>>> Perhaps masking that should do it? Something along this in enlighten.c:
>>>
>>>           cpuid_leaf1_edx_mask =
>>>                   ~((1<<   X86_FEATURE_MCE)  |  /* disable MCE */
>>>                     (1<<   X86_FEATURE_MCA)  |  /* disable MCA */
>>>                     (1<<   X86_FEATURE_MTRR) |  /* disable MTRR */
>>>                     (1<<   X86_FEATURE_ACC));   /* thermal monitoring
>>>
>>> would be more appropiate?
>>>
>>> Or is that attribute on a different leaf?
>>
>> Right, it is bit 0 on level 6. That's why I couldn't use any of the
>> predefined masks and I didn't feel like inventing a new one just for
>> this single bit.
>> We could as well explicitly use clear_cpu_cap somewhere, but I
>> didn't find any code place in the Xen tree already doing this,
>> instead it looks like it belongs to where I put it (we handle leaf 5
>> in a special way already here)
>
> OK, can you resend the patch please, looking similar to what you sent
> earlier, but do use a #define if possible (you can have the #define
> in that file) and an comment explaining why this is neccessary -
> and point to the Linux source code that uses this.

Well, I was about to do this and wanted to see if this has any 
performance impact - only to discover that 3.4 does not trigger it 
anymore. After some debugging it turns out the guy reading APERF/MPERF 
was not arch/x86/kernel/cpu/sched.c, but drivers/cpufreq/mperf.c. So 
with disabling cpufreq the only real user is gone already.
So the patch is kind of pointless as it on 3.4 with cpufreq already 
disabled. Remains to be investigated why sched.c is not called (I added 
a usage counter, it stays at zero).
To avoid future mis-uses of APERF/MPERF by the kernel, I'd like to add 
the patch anyway. I will send it again when I have a clearer picture of 
this.

.. snip..
> Looks like a patch to cpupower should be cooked up too?

I will contact the author.

Regards,
Andre.

-- 
Andre Przywara
AMD-OSRC (Dresden)
Tel: x29712


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 13:59:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:59:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXYYo-0007A6-EN; Thu, 24 May 2012 13:58:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXYYn-0007A0-8f
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:58:37 +0000
Received: from [85.158.143.35:57035] by server-1.bemta-4.messagelabs.com id
	28/B8-00342-C8E3EBF4; Thu, 24 May 2012 13:58:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337867914!11283348!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21620 invoked from network); 24 May 2012 13:58:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 13:58:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330905600"; d="scan'208";a="12651741"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 13:57:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 14:57:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXYY4-00079a-Bc; Thu, 24 May 2012 13:57:52 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXYY4-0002Ve-AZ;
	Thu, 24 May 2012 14:57:52 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20414.15968.245190.939822@mariner.uk.xensource.com>
Date: Thu, 24 May 2012 14:57:52 +0100
To: George Dunlap <George.Dunlap@eu.citrix.com>
In-Reply-To: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to explicitly specify default sched params"):
>    This might be nice; but we're
> implicitly baking in an assumption that parameters with the same name
> have to have roughly similar meanings across all schedulers.

We can make this assumption true in the libxl API even if it's false
at the Xen level, simply by renaming parameters which have
"sufficiently" divergent semantics.

> Furthermore, if someone sets a "cap" in the config file, for example,
> but starts the VM in a pool running credit2, should we really just
> silently ignore it, or should we alert the user in some way?

We don't currently have any way to warn anyone about unused parameter
settings in xl config files.

> But I think whichever way we choose, we should take it to its logical
> conclusion.  Which in the "One Struct" way, would mean having a single
> domain_get/domain_set function, and in the "separate struct" way would
> probably mean specifying the scheduler -- i.e., "credit_weight",
> "credit2_weight" or something like that.  (Obviously we need xm
> compatibility, but we can throw a warning to encourage people to
> change their config files.)

Yes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 13:59:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 13:59:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXYYo-0007A6-EN; Thu, 24 May 2012 13:58:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXYYn-0007A0-8f
	for xen-devel@lists.xen.org; Thu, 24 May 2012 13:58:37 +0000
Received: from [85.158.143.35:57035] by server-1.bemta-4.messagelabs.com id
	28/B8-00342-C8E3EBF4; Thu, 24 May 2012 13:58:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1337867914!11283348!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21620 invoked from network); 24 May 2012 13:58:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 13:58:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330905600"; d="scan'208";a="12651741"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 13:57:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 24 May 2012 14:57:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXYY4-00079a-Bc; Thu, 24 May 2012 13:57:52 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXYY4-0002Ve-AZ;
	Thu, 24 May 2012 14:57:52 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20414.15968.245190.939822@mariner.uk.xensource.com>
Date: Thu, 24 May 2012 14:57:52 +0100
To: George Dunlap <George.Dunlap@eu.citrix.com>
In-Reply-To: <CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to explicitly specify default sched params"):
>    This might be nice; but we're
> implicitly baking in an assumption that parameters with the same name
> have to have roughly similar meanings across all schedulers.

We can make this assumption true in the libxl API even if it's false
at the Xen level, simply by renaming parameters which have
"sufficiently" divergent semantics.

> Furthermore, if someone sets a "cap" in the config file, for example,
> but starts the VM in a pool running credit2, should we really just
> silently ignore it, or should we alert the user in some way?

We don't currently have any way to warn anyone about unused parameter
settings in xl config files.

> But I think whichever way we choose, we should take it to its logical
> conclusion.  Which in the "One Struct" way, would mean having a single
> domain_get/domain_set function, and in the "separate struct" way would
> probably mean specifying the scheduler -- i.e., "credit_weight",
> "credit2_weight" or something like that.  (Obviously we need xm
> compatibility, but we can throw a warning to encourage people to
> change their config files.)

Yes.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 14:02:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXYcW-0007Kf-2q; Thu, 24 May 2012 14:02:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXYcU-0007KZ-A2
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:02:26 +0000
Received: from [85.158.138.51:32331] by server-11.bemta-3.messagelabs.com id
	5D/42-20431-17F3EBF4; Thu, 24 May 2012 14:02:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337868143!28981866!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8552 invoked from network); 24 May 2012 14:02:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:02:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330905600"; d="scan'208";a="12651941"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 14:02:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 15:02:23 +0100
Message-ID: <1337868141.7229.32.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 24 May 2012 15:02:21 +0100
In-Reply-To: <20414.15968.245190.939822@mariner.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
	<20414.15968.245190.939822@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 14:57 +0100, Ian Jackson wrote:
> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to explicitly specify default sched params"):
> >    This might be nice; but we're
> > implicitly baking in an assumption that parameters with the same name
> > have to have roughly similar meanings across all schedulers.
> 
> We can make this assumption true in the libxl API even if it's false
> at the Xen level, simply by renaming parameters which have
> "sufficiently" divergent semantics.
> 
> > Furthermore, if someone sets a "cap" in the config file, for example,
> > but starts the VM in a pool running credit2, should we really just
> > silently ignore it, or should we alert the user in some way?
> 
> We don't currently have any way to warn anyone about unused parameter
> settings in xl config files.

Warning about known parameters which don't effect the current scheduler
should be pretty easy to do though.

> 
> > But I think whichever way we choose, we should take it to its logical
> > conclusion.  Which in the "One Struct" way, would mean having a single
> > domain_get/domain_set function, and in the "separate struct" way would
> > probably mean specifying the scheduler -- i.e., "credit_weight",
> > "credit2_weight" or something like that.  (Obviously we need xm
> > compatibility, but we can throw a warning to encourage people to
> > change their config files.)
> 
> Yes.
> 
> Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 14:02:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXYcW-0007Kf-2q; Thu, 24 May 2012 14:02:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXYcU-0007KZ-A2
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:02:26 +0000
Received: from [85.158.138.51:32331] by server-11.bemta-3.messagelabs.com id
	5D/42-20431-17F3EBF4; Thu, 24 May 2012 14:02:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337868143!28981866!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8552 invoked from network); 24 May 2012 14:02:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:02:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330905600"; d="scan'208";a="12651941"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 14:02:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 15:02:23 +0100
Message-ID: <1337868141.7229.32.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 24 May 2012 15:02:21 +0100
In-Reply-To: <20414.15968.245190.939822@mariner.uk.xensource.com>
References: <patchbomb.1337765207@cosworth.uk.xensource.com>
	<b6221bcdf9a9045b49a2.1337765210@cosworth.uk.xensource.com>
	<CAFLBxZZ0mZGTLUr0ONCR3hLQc+6FDN5L6vB4q0kiAn_YosT4CA@mail.gmail.com>
	<20414.15968.245190.939822@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 14:57 +0100, Ian Jackson wrote:
> George Dunlap writes ("Re: [Xen-devel] [PATCH 3 of 3] libxl: make it possible to explicitly specify default sched params"):
> >    This might be nice; but we're
> > implicitly baking in an assumption that parameters with the same name
> > have to have roughly similar meanings across all schedulers.
> 
> We can make this assumption true in the libxl API even if it's false
> at the Xen level, simply by renaming parameters which have
> "sufficiently" divergent semantics.
> 
> > Furthermore, if someone sets a "cap" in the config file, for example,
> > but starts the VM in a pool running credit2, should we really just
> > silently ignore it, or should we alert the user in some way?
> 
> We don't currently have any way to warn anyone about unused parameter
> settings in xl config files.

Warning about known parameters which don't effect the current scheduler
should be pretty easy to do though.

> 
> > But I think whichever way we choose, we should take it to its logical
> > conclusion.  Which in the "One Struct" way, would mean having a single
> > domain_get/domain_set function, and in the "separate struct" way would
> > probably mean specifying the scheduler -- i.e., "credit_weight",
> > "credit2_weight" or something like that.  (Obviously we need xm
> > compatibility, but we can throw a warning to encourage people to
> > change their config files.)
> 
> Yes.
> 
> Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 14:05:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXYem-0007T8-Lk; Thu, 24 May 2012 14:04:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SXYel-0007Sy-6O
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:04:47 +0000
Received: from [85.158.143.35:35270] by server-3.bemta-4.messagelabs.com id
	20/8B-05853-EFF3EBF4; Thu, 24 May 2012 14:04:46 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337868280!15828774!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24592 invoked from network); 24 May 2012 14:04:42 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 14:04:42 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 1ECAB10218E90;
	Thu, 24 May 2012 07:04:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.899
X-Spam-Level: 
X-Spam-Status: No, score=-2.899 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, HTML_MESSAGE=0.001]
	autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id uVhJOhe4ZsGR; Thu, 24 May 2012 07:04:37 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id CE64310218E8C;
	Thu, 24 May 2012 07:04:37 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <4FBE44800200007800085DEA@nat28.tlf.novell.com>
Date: Thu, 24 May 2012 07:04:37 -0700
Message-Id: <FFC24E60-8D63-43BA-94D6-C4EA7B685D47@tacomatelematics.com>
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
	<4FBCC00D020000780008561C@nat28.tlf.novell.com>
	<4FBE44800200007800085DEA@nat28.tlf.novell.com>
To: Jan Beulich <JBeulich@suse.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4387120290413965762=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4387120290413965762==
Content-Type: multipart/alternative; boundary=Apple-Mail-7-931308420


--Apple-Mail-7-931308420
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On May 24, 2012, at 5:24 AM, Jan Beulich wrote:

>=20
> They did confirm that part, by quoting the relevant pieces from
> their doc. This together with the Linux bits to enable 64-bit
> support on those CPUs result in the attached patch (on top of
> current -unstable, and requiring to either drop the hunk changing
> xen/arch/x86/hvm/nestedhvm.c, or to apply the patch at
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html
> upfront. Would you be willing/able to give this a try?
>=20
> Jan
>=20
> <x86-centaur-64bit-hvm.patch>



Sure!   The board itself isn't doing much right now, and I could put it =
on the network if it comes to that.

I'll start in on it tonight.

 -Sam




--Apple-Mail-7-931308420
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><br><div><div>On May 24, 2012, at 5:24 AM, Jan Beulich wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Helvetica; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: =
none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; font-size: medium; "><br>They did =
confirm that part, by quoting the relevant pieces from<br>their doc. =
This together with the Linux bits to enable 64-bit<br>support on those =
CPUs result in the attached patch (on top of<br>current -unstable, and =
requiring to either drop the hunk =
changing<br>xen/arch/x86/hvm/nestedhvm.c, or to apply the patch at<br><a =
href=3D"http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html=
">http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html</a><b=
r>upfront. Would you be willing/able to give this a =
try?<br><br>Jan<br><br><span>&lt;x86-centaur-64bit-hvm.patch&gt;</span></s=
pan></blockquote></div><div><br></div><div><br></div><div>Sure! &nbsp; =
The board itself isn't doing much right now, and I could put it on the =
network if it comes to that.</div><div><br></div><div>I'll start in on =
it tonight.</div><div><br =
class=3D"webkit-block-placeholder"></div><div><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: =
normal; font-variant: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; orphans: 2; text-align: auto; text-indent: =
0px; text-transform: none; white-space: normal; widows: 2; word-spacing: =
0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><div><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; =
"><div>&nbsp;-Sam</div></span></div></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></body></html>=

--Apple-Mail-7-931308420--


--===============4387120290413965762==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4387120290413965762==--


From xen-devel-bounces@lists.xen.org Thu May 24 14:05:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXYem-0007T8-Lk; Thu, 24 May 2012 14:04:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <sam@tacomatelematics.com>) id 1SXYel-0007Sy-6O
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:04:47 +0000
Received: from [85.158.143.35:35270] by server-3.bemta-4.messagelabs.com id
	20/8B-05853-EFF3EBF4; Thu, 24 May 2012 14:04:46 +0000
X-Env-Sender: sam@tacomatelematics.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1337868280!15828774!1
X-Originating-IP: [173.160.255.210]
X-SpamReason: No, hits=0.0 required=7.0 tests=HTML_MESSAGE
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24592 invoked from network); 24 May 2012 14:04:42 -0000
Received: from tacomatelematics.com (HELO mail.tacomatelematics.com)
	(173.160.255.210)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 14:04:42 -0000
Received: from localhost (vac [127.0.0.1])
	by mail.tacomatelematics.com (Postfix) with ESMTP id 1ECAB10218E90;
	Thu, 24 May 2012 07:04:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at tacomatelematics.com
X-Spam-Flag: NO
X-Spam-Score: -2.899
X-Spam-Level: 
X-Spam-Status: No, score=-2.899 tagged_above=-500 required=2
	tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, HTML_MESSAGE=0.001]
	autolearn=ham
Received: from mail.tacomatelematics.com ([127.0.0.1])
	by localhost (mail.tacomatelematics.com [127.0.0.1]) (amavisd-new,
	port 10024)
	with ESMTP id uVhJOhe4ZsGR; Thu, 24 May 2012 07:04:37 -0700 (PDT)
Received: from smokescreen.nat.tact
	(173-160-255-209-Washington.hfc.comcastbusiness.net
	[173.160.255.209])
	(using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: sam@tacomatelematics.com)
	by mail.tacomatelematics.com (Postfix) with ESMTPSA id CE64310218E8C;
	Thu, 24 May 2012 07:04:37 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1084)
From: Sam Mulvey <sam@tacomatelematics.com>
In-Reply-To: <4FBE44800200007800085DEA@nat28.tlf.novell.com>
Date: Thu, 24 May 2012 07:04:37 -0700
Message-Id: <FFC24E60-8D63-43BA-94D6-C4EA7B685D47@tacomatelematics.com>
References: <7AD42B9B-BE2C-43C7-9084-F204668E0945@tacomatelematics.com>
	<4FBCC00D020000780008561C@nat28.tlf.novell.com>
	<4FBE44800200007800085DEA@nat28.tlf.novell.com>
To: Jan Beulich <JBeulich@suse.com>
X-Mailer: Apple Mail (2.1084)
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Via Nano X2 Support, cont'd?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4387120290413965762=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4387120290413965762==
Content-Type: multipart/alternative; boundary=Apple-Mail-7-931308420


--Apple-Mail-7-931308420
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On May 24, 2012, at 5:24 AM, Jan Beulich wrote:

>=20
> They did confirm that part, by quoting the relevant pieces from
> their doc. This together with the Linux bits to enable 64-bit
> support on those CPUs result in the attached patch (on top of
> current -unstable, and requiring to either drop the hunk changing
> xen/arch/x86/hvm/nestedhvm.c, or to apply the patch at
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html
> upfront. Would you be willing/able to give this a try?
>=20
> Jan
>=20
> <x86-centaur-64bit-hvm.patch>



Sure!   The board itself isn't doing much right now, and I could put it =
on the network if it comes to that.

I'll start in on it tonight.

 -Sam




--Apple-Mail-7-931308420
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><br><div><div>On May 24, 2012, at 5:24 AM, Jan Beulich wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
font-family: Helvetica; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: =
none; white-space: normal; widows: 2; word-spacing: 0px; =
-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: =
0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; font-size: medium; "><br>They did =
confirm that part, by quoting the relevant pieces from<br>their doc. =
This together with the Linux bits to enable 64-bit<br>support on those =
CPUs result in the attached patch (on top of<br>current -unstable, and =
requiring to either drop the hunk =
changing<br>xen/arch/x86/hvm/nestedhvm.c, or to apply the patch at<br><a =
href=3D"http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html=
">http://lists.xen.org/archives/html/xen-devel/2012-05/msg01830.html</a><b=
r>upfront. Would you be willing/able to give this a =
try?<br><br>Jan<br><br><span>&lt;x86-centaur-64bit-hvm.patch&gt;</span></s=
pan></blockquote></div><div><br></div><div><br></div><div>Sure! &nbsp; =
The board itself isn't doing much right now, and I could put it on the =
network if it comes to that.</div><div><br></div><div>I'll start in on =
it tonight.</div><div><br =
class=3D"webkit-block-placeholder"></div><div><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: =
normal; font-variant: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; orphans: 2; text-align: auto; text-indent: =
0px; text-transform: none; white-space: normal; widows: 2; word-spacing: =
0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><div><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; =
"><div>&nbsp;-Sam</div></span></div></div></div></span><br =
class=3D"Apple-interchange-newline"></span><br =
class=3D"Apple-interchange-newline">
</div>
<br></body></html>=

--Apple-Mail-7-931308420--


--===============4387120290413965762==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4387120290413965762==--


From xen-devel-bounces@lists.xen.org Thu May 24 14:30:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:30:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZ3l-0007oG-BS; Thu, 24 May 2012 14:30:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXZ3j-0007oB-8o
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:30:35 +0000
Received: from [85.158.138.51:36525] by server-4.bemta-3.messagelabs.com id
	28/65-25780-A064EBF4; Thu, 24 May 2012 14:30:34 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337869833!10248203!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2284 invoked from network); 24 May 2012 14:30:33 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:30:33 -0000
Received: by wgbed3 with SMTP id ed3so6495630wgb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 07:30:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=mCqacHkgFXMwMTq32PDOIW8vwDdUe2wDT/a2YVlWnz0=;
	b=Va05LZK09TgqfdEK8ZMVnCguBcsffuxo5Avb5IlpGORxp7oLZM9a0ccYsaasgjlA5K
	8PGjx42YivXkdmqp07umlYdR7Aj7CXFrnD4p9O/5nOBPtmBkZWpZjzeSNauw8TwiwQhE
	E/6j6yxce2CMwCphr2TByB2LgYrp+CZiMw9sxOBHEDECOHCNeAoWZS0IaHtBk5+3gOqq
	EdVz1zRx9rDnVF6dvV+vFqvsBTMN/tmAln9FP8/rhmrlkIYt/SMEEIPwwjumnJic38ni
	Nwc3Qsl6O49cWl547MJbAs2jJ6J2Q8XbbVMLqRu0jl7LVsWLPEwRFj0T6YYPb6yD8OeP
	OcSQ==
Received: by 10.216.142.200 with SMTP id i50mr17554284wej.47.1337869833150;
	Thu, 24 May 2012 07:30:33 -0700 (PDT)
Received: from [127.0.1.1] (ip-142-63.sn3.eutelia.it. [213.136.142.63])
	by mx.google.com with ESMTPS id j4sm47749018wiz.1.2012.05.24.07.30.30
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 24 May 2012 07:30:31 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 79827edfe2950b8c6839a96c6974d435d07e74fa
Message-Id: <79827edfe2950b8c6839.1337869827@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 24 May 2012 16:30:27 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBhYm91dDoKbGlieGwuYzogSW4gZnVuY3Rp
b24g4oCYbGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPigJk6CmxpYnhsLmM6MTIzMzo5OiBlcnJv
cjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCY
bGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQoKQWRqdXN0IGNvZGUgcGllY2Vz
IHdoZXJlIC1Xc3dpdGNoIG1ha2VzIGl0IGNsYWltIHRoYXQKTElCWExfRE9NQUlOX1RZUEVfSU5W
QUxJRCBpcyBub3QgaGFuZGxlZC4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpIDxkYXJp
by5mYWdnaW9saUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggRWdnZXIgPENo
cmlzdG9waC5FZ2dlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMg
Yi90b29scy9saWJ4bC9saWJ4bC5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtMTIzMCw3ICsxMjMwLDcgQEAgaW50IGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVjKGxpYnhsX2N0eAogICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BW
OgogICAgICAgICAgICAgcmMgPSBsaWJ4bF9jb25zb2xlX2V4ZWMoY3R4LCBkb21pZF92bSwgMCwg
TElCWExfQ09OU09MRV9UWVBFX1BWKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IC0xOgorICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6CiAgICAgICAgICAg
ICBMT0coRVJST1IsInVuYWJsZSB0byBnZXQgZG9tYWluIHR5cGUgZm9yIGRvbWlkPSUiUFJJdTMy
LGRvbWlkX3ZtKTsKICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s
aWJ4bF9kbS5jCkBAIC0yNTcsNiArMjU3LDkgQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxk
X2RldmljZV9tb2RlbAogICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBi
X2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCiAgICAgICAgICAgICBmbGV4YXJyYXlf
YXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgorICAgICAgICBMSUJYTF9fTE9HKENU
WCwgTElCWExfX0xPR19FUlJPUiwgImludmFsaWQgZG9tYWluIHR5cGUiKTsKKyAgICAgICAgcmV0
dXJuIE5VTEw7CiAgICAgfQogICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgTlVMTCk7CiAg
ICAgcmV0dXJuIChjaGFyICoqKSBmbGV4YXJyYXlfY29udGVudHMoZG1fYXJncyk7CkBAIC01MDUs
NiArNTA4LDEwIEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAg
ICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0gJiYgYl9pbmZvLT5leHRyYV9odm1b
aV0gIT0gTlVMTDsgaSsrKQogICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBi
X2luZm8tPmV4dHJhX2h2bVtpXSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRDoKKyAgICAgICAgTElCWExfX0xPRyhDVFgsIExJQlhMX19MT0dfRVJS
T1IsICJpbnZhbGlkIGRvbWFpbiB0eXBlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgICAg
ICBicmVhazsKICAgICB9CiAKICAgICByYW1fc2l6ZSA9IGxpYnhsX19zaXpla2JfdG9fbWIoYl9p
bmZvLT5tYXhfbWVta2IgLSBiX2luZm8tPnZpZGVvX21lbWtiKTsKZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTMzLDkg
KzMzLDkgQEAgbGlieGxfZG9tYWluX3R5cGUgbGlieGxfX2RvbWFpbl90eXBlKGxpYgogCiAgICAg
cmV0ID0geGNfZG9tYWluX2dldGluZm9saXN0KGN0eC0+eGNoLCBkb21pZCwgMSwgJmluZm8pOwog
ICAgIGlmIChyZXQgIT0gMSkKLSAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gTElC
WExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKICAgICBpZiAoaW5mby5kb21haW4gIT0gZG9taWQpCi0g
ICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFM
SUQ7CiAgICAgaWYgKGluZm8uZmxhZ3MgJiBYRU5fRE9NSU5GX2h2bV9ndWVzdCkKICAgICAgICAg
cmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0hWTTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS90b29s
cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKLS0t
IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5
cGVzLmlkbApAQCAtMzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJbnQoNjQsIGluaXRfdmFsID0gIkxJ
QlhMX01FTUtCCiAjCiAKIGxpYnhsX2RvbWFpbl90eXBlID0gRW51bWVyYXRpb24oImRvbWFpbl90
eXBlIiwgWworICAgICgtMSwgIklOVkFMSUQiKSwKICAgICAoMSwgIkhWTSIpLAogICAgICgyLCAi
UFYiKSwKICAgICBdKQpAQCAtMzE1LDYgKzMxNiw3IEBAIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZv
ID0gU3RydWN0KCJkb21haW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyBVc2UgaG9zdCdzIEU4MjAgZm9yIFBDSSBwYXNzdGhyb3VnaC4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKCJlODIwX2hvc3QiLCBsaWJ4bF9kZWZib29sKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkpLAorICAgICAgICAgICAgICAgICAo
ImludmFsaWQiLCBTdHJ1Y3QoTm9uZSwgW10pKSwKICAgICAgICAgICAgICAgICAgXSwga2V5dmFy
X2luaXRfdmFsID0gIi0xIikpLAogICAgIF0sIGRpcj1ESVJfSU4KICkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY
ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 24 14:30:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:30:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZ3l-0007oG-BS; Thu, 24 May 2012 14:30:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXZ3j-0007oB-8o
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:30:35 +0000
Received: from [85.158.138.51:36525] by server-4.bemta-3.messagelabs.com id
	28/65-25780-A064EBF4; Thu, 24 May 2012 14:30:34 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1337869833!10248203!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2284 invoked from network); 24 May 2012 14:30:33 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:30:33 -0000
Received: by wgbed3 with SMTP id ed3so6495630wgb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 07:30:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=mCqacHkgFXMwMTq32PDOIW8vwDdUe2wDT/a2YVlWnz0=;
	b=Va05LZK09TgqfdEK8ZMVnCguBcsffuxo5Avb5IlpGORxp7oLZM9a0ccYsaasgjlA5K
	8PGjx42YivXkdmqp07umlYdR7Aj7CXFrnD4p9O/5nOBPtmBkZWpZjzeSNauw8TwiwQhE
	E/6j6yxce2CMwCphr2TByB2LgYrp+CZiMw9sxOBHEDECOHCNeAoWZS0IaHtBk5+3gOqq
	EdVz1zRx9rDnVF6dvV+vFqvsBTMN/tmAln9FP8/rhmrlkIYt/SMEEIPwwjumnJic38ni
	Nwc3Qsl6O49cWl547MJbAs2jJ6J2Q8XbbVMLqRu0jl7LVsWLPEwRFj0T6YYPb6yD8OeP
	OcSQ==
Received: by 10.216.142.200 with SMTP id i50mr17554284wej.47.1337869833150;
	Thu, 24 May 2012 07:30:33 -0700 (PDT)
Received: from [127.0.1.1] (ip-142-63.sn3.eutelia.it. [213.136.142.63])
	by mx.google.com with ESMTPS id j4sm47749018wiz.1.2012.05.24.07.30.30
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 24 May 2012 07:30:31 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 79827edfe2950b8c6839a96c6974d435d07e74fa
Message-Id: <79827edfe2950b8c6839.1337869827@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 24 May 2012 16:30:27 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v3] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBhYm91dDoKbGlieGwuYzogSW4gZnVuY3Rp
b24g4oCYbGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPigJk6CmxpYnhsLmM6MTIzMzo5OiBlcnJv
cjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCY
bGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQoKQWRqdXN0IGNvZGUgcGllY2Vz
IHdoZXJlIC1Xc3dpdGNoIG1ha2VzIGl0IGNsYWltIHRoYXQKTElCWExfRE9NQUlOX1RZUEVfSU5W
QUxJRCBpcyBub3QgaGFuZGxlZC4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpIDxkYXJp
by5mYWdnaW9saUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggRWdnZXIgPENo
cmlzdG9waC5FZ2dlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMg
Yi90b29scy9saWJ4bC9saWJ4bC5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtMTIzMCw3ICsxMjMwLDcgQEAgaW50IGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVjKGxpYnhsX2N0eAogICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BW
OgogICAgICAgICAgICAgcmMgPSBsaWJ4bF9jb25zb2xlX2V4ZWMoY3R4LCBkb21pZF92bSwgMCwg
TElCWExfQ09OU09MRV9UWVBFX1BWKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IC0xOgorICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6CiAgICAgICAgICAg
ICBMT0coRVJST1IsInVuYWJsZSB0byBnZXQgZG9tYWluIHR5cGUgZm9yIGRvbWlkPSUiUFJJdTMy
LGRvbWlkX3ZtKTsKICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s
aWJ4bF9kbS5jCkBAIC0yNTcsNiArMjU3LDkgQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxk
X2RldmljZV9tb2RlbAogICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBi
X2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCiAgICAgICAgICAgICBmbGV4YXJyYXlf
YXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgorICAgICAgICBMSUJYTF9fTE9HKENU
WCwgTElCWExfX0xPR19FUlJPUiwgImludmFsaWQgZG9tYWluIHR5cGUiKTsKKyAgICAgICAgcmV0
dXJuIE5VTEw7CiAgICAgfQogICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgTlVMTCk7CiAg
ICAgcmV0dXJuIChjaGFyICoqKSBmbGV4YXJyYXlfY29udGVudHMoZG1fYXJncyk7CkBAIC01MDUs
NiArNTA4LDEwIEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAg
ICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0gJiYgYl9pbmZvLT5leHRyYV9odm1b
aV0gIT0gTlVMTDsgaSsrKQogICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBi
X2luZm8tPmV4dHJhX2h2bVtpXSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRDoKKyAgICAgICAgTElCWExfX0xPRyhDVFgsIExJQlhMX19MT0dfRVJS
T1IsICJpbnZhbGlkIGRvbWFpbiB0eXBlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgICAg
ICBicmVhazsKICAgICB9CiAKICAgICByYW1fc2l6ZSA9IGxpYnhsX19zaXpla2JfdG9fbWIoYl9p
bmZvLT5tYXhfbWVta2IgLSBiX2luZm8tPnZpZGVvX21lbWtiKTsKZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTMzLDkg
KzMzLDkgQEAgbGlieGxfZG9tYWluX3R5cGUgbGlieGxfX2RvbWFpbl90eXBlKGxpYgogCiAgICAg
cmV0ID0geGNfZG9tYWluX2dldGluZm9saXN0KGN0eC0+eGNoLCBkb21pZCwgMSwgJmluZm8pOwog
ICAgIGlmIChyZXQgIT0gMSkKLSAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gTElC
WExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKICAgICBpZiAoaW5mby5kb21haW4gIT0gZG9taWQpCi0g
ICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFM
SUQ7CiAgICAgaWYgKGluZm8uZmxhZ3MgJiBYRU5fRE9NSU5GX2h2bV9ndWVzdCkKICAgICAgICAg
cmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0hWTTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS90b29s
cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKLS0t
IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5
cGVzLmlkbApAQCAtMzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJbnQoNjQsIGluaXRfdmFsID0gIkxJ
QlhMX01FTUtCCiAjCiAKIGxpYnhsX2RvbWFpbl90eXBlID0gRW51bWVyYXRpb24oImRvbWFpbl90
eXBlIiwgWworICAgICgtMSwgIklOVkFMSUQiKSwKICAgICAoMSwgIkhWTSIpLAogICAgICgyLCAi
UFYiKSwKICAgICBdKQpAQCAtMzE1LDYgKzMxNiw3IEBAIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZv
ID0gU3RydWN0KCJkb21haW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyBVc2UgaG9zdCdzIEU4MjAgZm9yIFBDSSBwYXNzdGhyb3VnaC4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKCJlODIwX2hvc3QiLCBsaWJ4bF9kZWZib29sKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkpLAorICAgICAgICAgICAgICAgICAo
ImludmFsaWQiLCBTdHJ1Y3QoTm9uZSwgW10pKSwKICAgICAgICAgICAgICAgICAgXSwga2V5dmFy
X2luaXRfdmFsID0gIi0xIikpLAogICAgIF0sIGRpcj1ESVJfSU4KICkKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY
ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Thu May 24 14:36:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:36:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZ8u-0007zV-8E; Thu, 24 May 2012 14:35:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXZ8t-0007zP-8m
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:35:55 +0000
Received: from [85.158.138.51:5451] by server-10.bemta-3.messagelabs.com id
	1C/DB-01101-A474EBF4; Thu, 24 May 2012 14:35:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337870153!28922807!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26854 invoked from network); 24 May 2012 14:35:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:35:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330905600"; d="scan'208";a="12652943"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 14:35:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 15:35:53 +0100
Message-ID: <1337870152.7229.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 24 May 2012 15:35:52 +0100
In-Reply-To: <79827edfe2950b8c6839.1337869827@Solace>
References: <79827edfe2950b8c6839.1337869827@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCAyMDEyLTA1LTI0IGF0IDE1OjMwICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBUbyBhdm9pZCByZWNlbnQgZ2NjIGNvbXBsYWluaW5nIGFib3V0Ogo+IGxpYnhsLmM6IEluIGZ1
bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5
OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5
cGUg4oCYbGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IEFkanVzdCBj
b2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBjbGFpbSB0aGF0Cj4gTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYXJp
byBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBD
aHJpc3RvcGggRWdnZXIgPENocmlzdG9waC5FZ2dlckBhbWQuY29tPgo+IAo+IGRpZmYgLS1naXQg
YS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYwo+IC0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4bC5jCj4gQEAgLTEyMzAsNyAr
MTIzMCw3IEBAIGludCBsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhlYyhsaWJ4bF9jdHgKPiAgICAg
ICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgo+ICAgICAgICAgICAgICByYyA9IGxpYnhs
X2NvbnNvbGVfZXhlYyhjdHgsIGRvbWlkX3ZtLCAwLCBMSUJYTF9DT05TT0xFX1RZUEVfUFYpOwo+
ICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICBjYXNlIC0xOgo+ICsgICAgICAgIGNhc2Ug
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiAgICAgICAgICAgICAgTE9HKEVSUk9SLCJ1bmFi
bGUgdG8gZ2V0IGRvbWFpbiB0eXBlIGZvciBkb21pZD0lIlBSSXUzMixkb21pZF92bSk7Cj4gICAg
ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKPiAgICAgICAgICAgICAgYnJlYWs7Cj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCj4g
LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt
LmMKPiBAQCAtMjU3LDYgKzI1Nyw5IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZp
Y2VfbW9kZWwKPiAgICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBiX2lu
Zm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCj4gICAgICAgICAgICAgIGZsZXhhcnJheV9h
cHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1baV0pOwo+ICAgICAgICAgIGJyZWFrOwo+
ICsgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ICsgICAgICAgIExJQlhMX19M
T0coQ1RYLCBMSUJYTF9fTE9HX0VSUk9SLCAiaW52YWxpZCBkb21haW4gdHlwZSIpOwoKSSB0aGlu
ayB5b3UgbmVlZCBhIGZsZXhhcnJheV9mcmVlIGhlcmUuLi4KCj4gKyAgICAgICAgcmV0dXJuIE5V
TEw7Cj4gICAgICB9Cj4gICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIE5VTEwpOwo+ICAg
ICAgcmV0dXJuIChjaGFyICoqKSBmbGV4YXJyYXlfY29udGVudHMoZG1fYXJncyk7Cj4gQEAgLTUw
NSw2ICs1MDgsMTAgQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAo+
ICAgICAgICAgIGZvciAoaSA9IDA7IGJfaW5mby0+ZXh0cmFfaHZtICYmIGJfaW5mby0+ZXh0cmFf
aHZtW2ldICE9IE5VTEw7IGkrKykKPiAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9h
cmdzLCBiX2luZm8tPmV4dHJhX2h2bVtpXSk7Cj4gICAgICAgICAgYnJlYWs7Cj4gKyAgICBjYXNl
IExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gKyAgICAgICAgTElCWExfX0xPRyhDVFgsIExJ
QlhMX19MT0dfRVJST1IsICJpbnZhbGlkIGRvbWFpbiB0eXBlIik7CgouLi4gYW5kIGhlcmUuCgo+
ICsgICAgICAgIHJldHVybiBOVUxMOwo+ICsgICAgICAgIGJyZWFrOwoKVGhlIGJyZWFrIGlzIG5v
dyByZWR1bmRhbnQuCgo+ICAgICAgfQo+ICAKPiAgICAgIHJhbV9zaXplID0gbGlieGxfX3NpemVr
Yl90b19tYihiX2luZm8tPm1heF9tZW1rYiAtIGJfaW5mby0+dmlkZW9fbWVta2IpOwo+IGRpZmYg
LS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5j
Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4
bF9kb20uYwo+IEBAIC0zMyw5ICszMyw5IEBAIGxpYnhsX2RvbWFpbl90eXBlIGxpYnhsX19kb21h
aW5fdHlwZShsaWIKPiAgCj4gICAgICByZXQgPSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoY3R4LT54
Y2gsIGRvbWlkLCAxLCAmaW5mbyk7Cj4gICAgICBpZiAocmV0ICE9IDEpCj4gLSAgICAgICAgcmV0
dXJuIC0xOwo+ICsgICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwo+ICAg
ICAgaWYgKGluZm8uZG9tYWluICE9IGRvbWlkKQo+IC0gICAgICAgIHJldHVybiAtMTsKPiArICAg
ICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKPiAgICAgIGlmIChpbmZvLmZs
YWdzICYgWEVOX0RPTUlORl9odm1fZ3Vlc3QpCj4gICAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJ
Tl9UWVBFX0hWTTsKPiAgICAgIGVsc2UKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf
dHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gLS0tIGEvdG9vbHMvbGli
eGwvbGlieGxfdHlwZXMuaWRsCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4g
QEAgLTMwLDYgKzMwLDcgQEAgTWVtS0IgPSBVSW50KDY0LCBpbml0X3ZhbCA9ICJMSUJYTF9NRU1L
Qgo+ICAjCj4gIAo+ICBsaWJ4bF9kb21haW5fdHlwZSA9IEVudW1lcmF0aW9uKCJkb21haW5fdHlw
ZSIsIFsKPiArICAgICgtMSwgIklOVkFMSUQiKSwKPiAgICAgICgxLCAiSFZNIiksCj4gICAgICAo
MiwgIlBWIiksCj4gICAgICBdKQo+IEBAIC0zMTUsNiArMzE2LDcgQEAgbGlieGxfZG9tYWluX2J1
aWxkX2luZm8gPSBTdHJ1Y3QoImRvbWFpbgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICMgVXNlIGhvc3QncyBFODIwIGZvciBQQ0kgcGFzc3Rocm91Z2guCj4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJlODIwX2hvc3QiLCBsaWJ4bF9kZWZi
b29sKSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSksCj4gKyAg
ICAgICAgICAgICAgICAgKCJpbnZhbGlkIiwgU3RydWN0KE5vbmUsIFtdKSksCj4gICAgICAgICAg
ICAgICAgICAgXSwga2V5dmFyX2luaXRfdmFsID0gIi0xIikpLAo+ICAgICAgXSwgZGlyPURJUl9J
Tgo+ICApCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp
c3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Thu May 24 14:36:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:36:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZ8u-0007zV-8E; Thu, 24 May 2012 14:35:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXZ8t-0007zP-8m
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:35:55 +0000
Received: from [85.158.138.51:5451] by server-10.bemta-3.messagelabs.com id
	1C/DB-01101-A474EBF4; Thu, 24 May 2012 14:35:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337870153!28922807!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNjE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26854 invoked from network); 24 May 2012 14:35:53 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:35:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330905600"; d="scan'208";a="12652943"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 14:35:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 15:35:53 +0100
Message-ID: <1337870152.7229.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 24 May 2012 15:35:52 +0100
In-Reply-To: <79827edfe2950b8c6839.1337869827@Solace>
References: <79827edfe2950b8c6839.1337869827@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCAyMDEyLTA1LTI0IGF0IDE1OjMwICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBUbyBhdm9pZCByZWNlbnQgZ2NjIGNvbXBsYWluaW5nIGFib3V0Ogo+IGxpYnhsLmM6IEluIGZ1
bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5
OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5
cGUg4oCYbGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IEFkanVzdCBj
b2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBjbGFpbSB0aGF0Cj4gTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYXJp
byBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBD
aHJpc3RvcGggRWdnZXIgPENocmlzdG9waC5FZ2dlckBhbWQuY29tPgo+IAo+IGRpZmYgLS1naXQg
YS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYwo+IC0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4bC5jCj4gQEAgLTEyMzAsNyAr
MTIzMCw3IEBAIGludCBsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhlYyhsaWJ4bF9jdHgKPiAgICAg
ICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgo+ICAgICAgICAgICAgICByYyA9IGxpYnhs
X2NvbnNvbGVfZXhlYyhjdHgsIGRvbWlkX3ZtLCAwLCBMSUJYTF9DT05TT0xFX1RZUEVfUFYpOwo+
ICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICBjYXNlIC0xOgo+ICsgICAgICAgIGNhc2Ug
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiAgICAgICAgICAgICAgTE9HKEVSUk9SLCJ1bmFi
bGUgdG8gZ2V0IGRvbWFpbiB0eXBlIGZvciBkb21pZD0lIlBSSXUzMixkb21pZF92bSk7Cj4gICAg
ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKPiAgICAgICAgICAgICAgYnJlYWs7Cj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCj4g
LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt
LmMKPiBAQCAtMjU3LDYgKzI1Nyw5IEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZp
Y2VfbW9kZWwKPiAgICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBiX2lu
Zm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCj4gICAgICAgICAgICAgIGZsZXhhcnJheV9h
cHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9odm1baV0pOwo+ICAgICAgICAgIGJyZWFrOwo+
ICsgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgo+ICsgICAgICAgIExJQlhMX19M
T0coQ1RYLCBMSUJYTF9fTE9HX0VSUk9SLCAiaW52YWxpZCBkb21haW4gdHlwZSIpOwoKSSB0aGlu
ayB5b3UgbmVlZCBhIGZsZXhhcnJheV9mcmVlIGhlcmUuLi4KCj4gKyAgICAgICAgcmV0dXJuIE5V
TEw7Cj4gICAgICB9Cj4gICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIE5VTEwpOwo+ICAg
ICAgcmV0dXJuIChjaGFyICoqKSBmbGV4YXJyYXlfY29udGVudHMoZG1fYXJncyk7Cj4gQEAgLTUw
NSw2ICs1MDgsMTAgQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAo+
ICAgICAgICAgIGZvciAoaSA9IDA7IGJfaW5mby0+ZXh0cmFfaHZtICYmIGJfaW5mby0+ZXh0cmFf
aHZtW2ldICE9IE5VTEw7IGkrKykKPiAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9h
cmdzLCBiX2luZm8tPmV4dHJhX2h2bVtpXSk7Cj4gICAgICAgICAgYnJlYWs7Cj4gKyAgICBjYXNl
IExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6Cj4gKyAgICAgICAgTElCWExfX0xPRyhDVFgsIExJ
QlhMX19MT0dfRVJST1IsICJpbnZhbGlkIGRvbWFpbiB0eXBlIik7CgouLi4gYW5kIGhlcmUuCgo+
ICsgICAgICAgIHJldHVybiBOVUxMOwo+ICsgICAgICAgIGJyZWFrOwoKVGhlIGJyZWFrIGlzIG5v
dyByZWR1bmRhbnQuCgo+ICAgICAgfQo+ICAKPiAgICAgIHJhbV9zaXplID0gbGlieGxfX3NpemVr
Yl90b19tYihiX2luZm8tPm1heF9tZW1rYiAtIGJfaW5mby0+dmlkZW9fbWVta2IpOwo+IGRpZmYg
LS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5j
Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4
bF9kb20uYwo+IEBAIC0zMyw5ICszMyw5IEBAIGxpYnhsX2RvbWFpbl90eXBlIGxpYnhsX19kb21h
aW5fdHlwZShsaWIKPiAgCj4gICAgICByZXQgPSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoY3R4LT54
Y2gsIGRvbWlkLCAxLCAmaW5mbyk7Cj4gICAgICBpZiAocmV0ICE9IDEpCj4gLSAgICAgICAgcmV0
dXJuIC0xOwo+ICsgICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOwo+ICAg
ICAgaWYgKGluZm8uZG9tYWluICE9IGRvbWlkKQo+IC0gICAgICAgIHJldHVybiAtMTsKPiArICAg
ICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsKPiAgICAgIGlmIChpbmZvLmZs
YWdzICYgWEVOX0RPTUlORl9odm1fZ3Vlc3QpCj4gICAgICAgICAgcmV0dXJuIExJQlhMX0RPTUFJ
Tl9UWVBFX0hWTTsKPiAgICAgIGVsc2UKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf
dHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gLS0tIGEvdG9vbHMvbGli
eGwvbGlieGxfdHlwZXMuaWRsCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4g
QEAgLTMwLDYgKzMwLDcgQEAgTWVtS0IgPSBVSW50KDY0LCBpbml0X3ZhbCA9ICJMSUJYTF9NRU1L
Qgo+ICAjCj4gIAo+ICBsaWJ4bF9kb21haW5fdHlwZSA9IEVudW1lcmF0aW9uKCJkb21haW5fdHlw
ZSIsIFsKPiArICAgICgtMSwgIklOVkFMSUQiKSwKPiAgICAgICgxLCAiSFZNIiksCj4gICAgICAo
MiwgIlBWIiksCj4gICAgICBdKQo+IEBAIC0zMTUsNiArMzE2LDcgQEAgbGlieGxfZG9tYWluX2J1
aWxkX2luZm8gPSBTdHJ1Y3QoImRvbWFpbgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICMgVXNlIGhvc3QncyBFODIwIGZvciBQQ0kgcGFzc3Rocm91Z2guCj4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJlODIwX2hvc3QiLCBsaWJ4bF9kZWZi
b29sKSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSksCj4gKyAg
ICAgICAgICAgICAgICAgKCJpbnZhbGlkIiwgU3RydWN0KE5vbmUsIFtdKSksCj4gICAgICAgICAg
ICAgICAgICAgXSwga2V5dmFyX2luaXRfdmFsID0gIi0xIikpLAo+ICAgICAgXSwgZGlyPURJUl9J
Tgo+ICApCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp
c3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Thu May 24 14:52:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:52:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZOa-0008ET-VP; Thu, 24 May 2012 14:52:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXZOZ-0008EO-Er
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:52:07 +0000
Received: from [85.158.143.35:53596] by server-1.bemta-4.messagelabs.com id
	31/BA-00342-61B4EBF4; Thu, 24 May 2012 14:52:06 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337871123!14806653!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11110 invoked from network); 24 May 2012 14:52:03 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-21.messagelabs.com with SMTP;
	24 May 2012 14:52:03 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78133428; Thu, 24 May 2012 16:52:02 +0200
Message-ID: <1337871115.13601.31.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 16:51:55 +0200
In-Reply-To: <1337870152.7229.35.camel@zakaz.uk.xensource.com>
References: <79827edfe2950b8c6839.1337869827@Solace>
	<1337870152.7229.35.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0995961392971583443=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0995961392971583443==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-v5mclLR83g/tFj5qlzmO"


--=-v5mclLR83g/tFj5qlzmO
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 15:35 +0100, Ian Campbell wrote:
> > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> > --- a/tools/libxl/libxl_dm.c
> > +++ b/tools/libxl/libxl_dm.c
> > @@ -257,6 +257,9 @@ static char ** libxl__build_device_model
> >          for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D N=
ULL; i++)
> >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> >          break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
>=20
> I think you need a flexarray_free here...
>=20
Ok. I tried to figure out whether or not I'd need some fee logic, and
apparently I failed. :-P

> > +        return NULL;
> >      }
> >      flexarray_append(dm_args, NULL);
> >      return (char **) flexarray_contents(dm_args);
> > @@ -505,6 +508,10 @@ static char ** libxl__build_device_model
> >          for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D N=
ULL; i++)
> >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> >          break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
>=20
> ... and here.
>=20
> > +        return NULL;
> > +        break;
>=20
> The break is now redundant.
>=20
Yep, result of a missing qpop/qpush.

v4 coming ...

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-v5mclLR83g/tFj5qlzmO
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk++SwsACgkQk4XaBE3IOsQdlACgiVTtMZ7D/Y0z9Mss/WwvrIyd
+LEAnjsnwVlmoueUqW8Gv09pQaujsrt0
=0Srp
-----END PGP SIGNATURE-----

--=-v5mclLR83g/tFj5qlzmO--



--===============0995961392971583443==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0995961392971583443==--



From xen-devel-bounces@lists.xen.org Thu May 24 14:52:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:52:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZOa-0008ET-VP; Thu, 24 May 2012 14:52:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXZOZ-0008EO-Er
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:52:07 +0000
Received: from [85.158.143.35:53596] by server-1.bemta-4.messagelabs.com id
	31/BA-00342-61B4EBF4; Thu, 24 May 2012 14:52:06 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337871123!14806653!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11110 invoked from network); 24 May 2012 14:52:03 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-21.messagelabs.com with SMTP;
	24 May 2012 14:52:03 -0000
Received: from [213.136.142.63] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78133428; Thu, 24 May 2012 16:52:02 +0200
Message-ID: <1337871115.13601.31.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 24 May 2012 16:51:55 +0200
In-Reply-To: <1337870152.7229.35.camel@zakaz.uk.xensource.com>
References: <79827edfe2950b8c6839.1337869827@Solace>
	<1337870152.7229.35.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v3] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0995961392971583443=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0995961392971583443==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-v5mclLR83g/tFj5qlzmO"


--=-v5mclLR83g/tFj5qlzmO
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-24 at 15:35 +0100, Ian Campbell wrote:
> > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> > --- a/tools/libxl/libxl_dm.c
> > +++ b/tools/libxl/libxl_dm.c
> > @@ -257,6 +257,9 @@ static char ** libxl__build_device_model
> >          for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D N=
ULL; i++)
> >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> >          break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
>=20
> I think you need a flexarray_free here...
>=20
Ok. I tried to figure out whether or not I'd need some fee logic, and
apparently I failed. :-P

> > +        return NULL;
> >      }
> >      flexarray_append(dm_args, NULL);
> >      return (char **) flexarray_contents(dm_args);
> > @@ -505,6 +508,10 @@ static char ** libxl__build_device_model
> >          for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D N=
ULL; i++)
> >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> >          break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
>=20
> ... and here.
>=20
> > +        return NULL;
> > +        break;
>=20
> The break is now redundant.
>=20
Yep, result of a missing qpop/qpush.

v4 coming ...

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-v5mclLR83g/tFj5qlzmO
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk++SwsACgkQk4XaBE3IOsQdlACgiVTtMZ7D/Y0z9Mss/WwvrIyd
+LEAnjsnwVlmoueUqW8Gv09pQaujsrt0
=0Srp
-----END PGP SIGNATURE-----

--=-v5mclLR83g/tFj5qlzmO--



--===============0995961392971583443==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0995961392971583443==--



From xen-devel-bounces@lists.xen.org Thu May 24 14:59:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZVY-0008No-S0; Thu, 24 May 2012 14:59:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXZVW-0008Nj-UX
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:59:19 +0000
Received: from [85.158.143.99:56624] by server-2.bemta-4.messagelabs.com id
	33/9B-12211-6CC4EBF4; Thu, 24 May 2012 14:59:18 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337871556!26262868!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19245 invoked from network); 24 May 2012 14:59:17 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:59:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="25637848"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:59:15 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 10:59:15 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXZVS-00077G-Sx;
	Thu, 24 May 2012 15:59:14 +0100
Message-ID: <4FBE4CC2.2090606@citrix.com>
Date: Thu, 24 May 2012 15:59:14 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Jan Beulich
	<JBeulich@suse.com>, Keir Fraser <keir@xen.org>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------060402000805090102030703"
Subject: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------060402000805090102030703
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

x86_64: Fix double fault stack setup.

Dont forget to push error_code and entry_vector onto the stack for a double
fault.  If it is missed, the register information printed looks like

(XEN) CPU:    0
(XEN) RIP:    0246:[<000000000000e008>] ???
(XEN) RFLAGS: ffff82c480287eb8
(XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
(XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
(XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
(XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
(XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
(XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000

which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
information when trying to identify the cause of a double fault.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
         jmp   handle_exception
 
 ENTRY(double_fault)
+        pushq $0
+        movl $TRAP_double_fault,4(%rsp)
         SAVE_ALL
         movq  %rsp,%rdi
         call  do_double_fault

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------060402000805090102030703
Content-Type: text/x-patch; name="x86_64-double-fault-stack.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="x86_64-double-fault-stack.patch"

# HG changeset patch
# Parent 69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
x86_64: Fix double fault stack setup.

Dont forget to push error_code and entry_vector onto the stack for a double
fault.  If it is missed, the register information printed looks like

(XEN) CPU:    0
(XEN) RIP:    0246:[<000000000000e008>] ???
(XEN) RFLAGS: ffff82c480287eb8
(XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
(XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
(XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
(XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
(XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
(XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000

which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
information when trying to identify the cause of a double fault.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
         jmp   handle_exception
 
 ENTRY(double_fault)
+        pushq $0
+        movl $TRAP_double_fault,4(%rsp)
         SAVE_ALL
         movq  %rsp,%rdi
         call  do_double_fault

--------------060402000805090102030703
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------060402000805090102030703--


From xen-devel-bounces@lists.xen.org Thu May 24 14:59:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 14:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZVY-0008No-S0; Thu, 24 May 2012 14:59:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXZVW-0008Nj-UX
	for xen-devel@lists.xen.org; Thu, 24 May 2012 14:59:19 +0000
Received: from [85.158.143.99:56624] by server-2.bemta-4.messagelabs.com id
	33/9B-12211-6CC4EBF4; Thu, 24 May 2012 14:59:18 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1337871556!26262868!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19245 invoked from network); 24 May 2012 14:59:17 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 14:59:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="25637848"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 10:59:15 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 10:59:15 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXZVS-00077G-Sx;
	Thu, 24 May 2012 15:59:14 +0100
Message-ID: <4FBE4CC2.2090606@citrix.com>
Date: Thu, 24 May 2012 15:59:14 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Jan Beulich
	<JBeulich@suse.com>, Keir Fraser <keir@xen.org>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------060402000805090102030703"
Subject: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------060402000805090102030703
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

x86_64: Fix double fault stack setup.

Dont forget to push error_code and entry_vector onto the stack for a double
fault.  If it is missed, the register information printed looks like

(XEN) CPU:    0
(XEN) RIP:    0246:[<000000000000e008>] ???
(XEN) RFLAGS: ffff82c480287eb8
(XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
(XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
(XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
(XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
(XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
(XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000

which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
information when trying to identify the cause of a double fault.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
         jmp   handle_exception
 
 ENTRY(double_fault)
+        pushq $0
+        movl $TRAP_double_fault,4(%rsp)
         SAVE_ALL
         movq  %rsp,%rdi
         call  do_double_fault

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------060402000805090102030703
Content-Type: text/x-patch; name="x86_64-double-fault-stack.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="x86_64-double-fault-stack.patch"

# HG changeset patch
# Parent 69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
x86_64: Fix double fault stack setup.

Dont forget to push error_code and entry_vector onto the stack for a double
fault.  If it is missed, the register information printed looks like

(XEN) CPU:    0
(XEN) RIP:    0246:[<000000000000e008>] ???
(XEN) RFLAGS: ffff82c480287eb8
(XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
(XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
(XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
(XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
(XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
(XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000

which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
information when trying to identify the cause of a double fault.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
         jmp   handle_exception
 
 ENTRY(double_fault)
+        pushq $0
+        movl $TRAP_double_fault,4(%rsp)
         SAVE_ALL
         movq  %rsp,%rdi
         call  do_double_fault

--------------060402000805090102030703
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------060402000805090102030703--


From xen-devel-bounces@lists.xen.org Thu May 24 15:14:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:14:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZjN-00009m-9o; Thu, 24 May 2012 15:13:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXZjL-00009h-Tx
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:13:36 +0000
Received: from [85.158.138.51:17901] by server-9.bemta-3.messagelabs.com id
	D4/30-11033-F105EBF4; Thu, 24 May 2012 15:13:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337872414!28841985!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23407 invoked from network); 24 May 2012 15:13:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 15:13:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 16:13:35 +0100
Message-Id: <4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 16:14:07 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBE4CC2.2090606@citrix.com>
In-Reply-To: <4FBE4CC2.2090606@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 16:59, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> x86_64: Fix double fault stack setup.
> 
> Dont forget to push error_code and entry_vector onto the stack for a double
> fault.  If it is missed, the register information printed looks like
> 
> (XEN) CPU:    0
> (XEN) RIP:    0246:[<000000000000e008>] ???
> (XEN) RFLAGS: ffff82c480287eb8
> (XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
> (XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
> (XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
> (XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
> (XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
> (XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000
> 
> which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
> information when trying to identify the cause of a double fault.

Is this from an actual double fault, or from one of your INT 08
attempts to simulate one? An actual exception pushes an error
code, so I'm afraid the change below is wrong.

Jan

> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
>          jmp   handle_exception
>  
>  ENTRY(double_fault)
> +        pushq $0
> +        movl $TRAP_double_fault,4(%rsp)
>          SAVE_ALL
>          movq  %rsp,%rdi
>          call  do_double_fault
> 
> -- 
> Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
> T: +44 (0)1223 225 900, http://www.citrix.com 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 15:14:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:14:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZjN-00009m-9o; Thu, 24 May 2012 15:13:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXZjL-00009h-Tx
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:13:36 +0000
Received: from [85.158.138.51:17901] by server-9.bemta-3.messagelabs.com id
	D4/30-11033-F105EBF4; Thu, 24 May 2012 15:13:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337872414!28841985!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23407 invoked from network); 24 May 2012 15:13:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 15:13:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 16:13:35 +0100
Message-Id: <4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 16:14:07 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBE4CC2.2090606@citrix.com>
In-Reply-To: <4FBE4CC2.2090606@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Keir Fraser <keir@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 16:59, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> x86_64: Fix double fault stack setup.
> 
> Dont forget to push error_code and entry_vector onto the stack for a double
> fault.  If it is missed, the register information printed looks like
> 
> (XEN) CPU:    0
> (XEN) RIP:    0246:[<000000000000e008>] ???
> (XEN) RFLAGS: ffff82c480287eb8
> (XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
> (XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
> (XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
> (XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
> (XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
> (XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000
> 
> which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
> information when trying to identify the cause of a double fault.

Is this from an actual double fault, or from one of your INT 08
attempts to simulate one? An actual exception pushes an error
code, so I'm afraid the change below is wrong.

Jan

> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
>          jmp   handle_exception
>  
>  ENTRY(double_fault)
> +        pushq $0
> +        movl $TRAP_double_fault,4(%rsp)
>          SAVE_ALL
>          movq  %rsp,%rdi
>          call  do_double_fault
> 
> -- 
> Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
> T: +44 (0)1223 225 900, http://www.citrix.com 




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 15:16:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZmD-0000F4-Rw; Thu, 24 May 2012 15:16:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXZmC-0000Eo-J8
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:16:32 +0000
Received: from [85.158.143.99:48419] by server-1.bemta-4.messagelabs.com id
	70/FC-00342-0D05EBF4; Thu, 24 May 2012 15:16:32 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337872590!23088870!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24687 invoked from network); 24 May 2012 15:16:31 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-10.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 15:16:31 -0000
Received: from mail64-am1-R.bigfish.com (10.3.201.242) by
	AM1EHSOBE003.bigfish.com (10.3.204.23) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 15:16:21 +0000
Received: from mail64-am1 (localhost [127.0.0.1])	by mail64-am1-R.bigfish.com
	(Postfix) with ESMTP id 97B85E02C0	for <xen-devel@lists.xen.org>;
	Thu, 24 May 2012 15:16:21 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzc85fhc85dhzz1202hzz8275bhz2dh668h839hd25he5bhf0ah34h)
Received: from mail64-am1 (localhost.localdomain [127.0.0.1]) by mail64-am1
	(MessageSwitch) id 1337872579908881_26761;
	Thu, 24 May 2012 15:16:19 +0000 (UTC)
Received: from AM1EHSMHS018.bigfish.com (unknown [10.3.201.245])	by
	mail64-am1.bigfish.com (Postfix) with ESMTP id DB9B0460047	for
	<xen-devel@lists.xen.org>; Thu, 24 May 2012 15:16:19 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS018.bigfish.com (10.3.206.21) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 15:16:18 +0000
X-WSS-ID: 0M4J93D-01-BKL-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1) with ESMTP id 237371028140	for <xen-devel@lists.xen.org>;
	Thu, 24 May 2012 10:16:24 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 10:16:40 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 10:16:23 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	11:16:22 -0400
Message-ID: <4FBE50C5.50609@amd.com>
Date: Thu, 24 May 2012 17:16:21 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Content-Type: multipart/mixed; boundary="------------010201020106090605020702"
X-OriginatorOrg: amd.com
Subject: [Xen-devel] [PATCH] tools: use PREFIX to install qemu-upstream
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------010201020106090605020702
Content-Type: text/plain; charset="ISO-8859-15"
Content-Transfer-Encoding: 7bit


Use PREFIX to install qemu-upstream.
This installs docs and config files with same PREFIX
as we do for the binary and firmware.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------010201020106090605020702
Content-Type: text/plain; charset="us-ascii"; name="xen_qemu_prefix.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xen_qemu_prefix.diff"
Content-Description: xen_qemu_prefix.diff

diff -r 88df118150e4 tools/Makefile
--- a/tools/Makefile	Thu May 24 11:20:47 2012 +0200
+++ b/tools/Makefile	Thu May 24 17:08:17 2012 +0200
@@ -149,6 +149,7 @@ subdir-all-qemu-xen-dir subdir-install-q
 	fi; \
 	cd qemu-xen-dir; \
 	$$source/configure --enable-xen --target-list=i386-softmmu \
+		--prefix=$(PREFIX) \
 		--source-path=$$source \
 		--extra-cflags="-I$(XEN_ROOT)/tools/include \
 		-I$(XEN_ROOT)/tools/libxc \

--------------010201020106090605020702
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------010201020106090605020702--


From xen-devel-bounces@lists.xen.org Thu May 24 15:16:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZmD-0000F4-Rw; Thu, 24 May 2012 15:16:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Christoph.Egger@amd.com>) id 1SXZmC-0000Eo-J8
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:16:32 +0000
Received: from [85.158.143.99:48419] by server-1.bemta-4.messagelabs.com id
	70/FC-00342-0D05EBF4; Thu, 24 May 2012 15:16:32 +0000
X-Env-Sender: Christoph.Egger@amd.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1337872590!23088870!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24687 invoked from network); 24 May 2012 15:16:31 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-10.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	24 May 2012 15:16:31 -0000
Received: from mail64-am1-R.bigfish.com (10.3.201.242) by
	AM1EHSOBE003.bigfish.com (10.3.204.23) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 15:16:21 +0000
Received: from mail64-am1 (localhost [127.0.0.1])	by mail64-am1-R.bigfish.com
	(Postfix) with ESMTP id 97B85E02C0	for <xen-devel@lists.xen.org>;
	Thu, 24 May 2012 15:16:21 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzc85fhc85dhzz1202hzz8275bhz2dh668h839hd25he5bhf0ah34h)
Received: from mail64-am1 (localhost.localdomain [127.0.0.1]) by mail64-am1
	(MessageSwitch) id 1337872579908881_26761;
	Thu, 24 May 2012 15:16:19 +0000 (UTC)
Received: from AM1EHSMHS018.bigfish.com (unknown [10.3.201.245])	by
	mail64-am1.bigfish.com (Postfix) with ESMTP id DB9B0460047	for
	<xen-devel@lists.xen.org>; Thu, 24 May 2012 15:16:19 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS018.bigfish.com (10.3.206.21) with Microsoft SMTP Server id
	14.1.225.23; Thu, 24 May 2012 15:16:18 +0000
X-WSS-ID: 0M4J93D-01-BKL-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1) with ESMTP id 237371028140	for <xen-devel@lists.xen.org>;
	Thu, 24 May 2012 10:16:24 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 24 May 2012 10:16:40 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Thu, 24 May 2012 10:16:23 -0500
Received: from rhodium.osrc.amd.com (165.204.15.173) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	11:16:22 -0400
Message-ID: <4FBE50C5.50609@amd.com>
Date: Thu, 24 May 2012 17:16:21 +0200
From: Christoph Egger <Christoph.Egger@amd.com>
User-Agent: Mozilla/5.0 (X11; NetBSD amd64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Content-Type: multipart/mixed; boundary="------------010201020106090605020702"
X-OriginatorOrg: amd.com
Subject: [Xen-devel] [PATCH] tools: use PREFIX to install qemu-upstream
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------010201020106090605020702
Content-Type: text/plain; charset="ISO-8859-15"
Content-Transfer-Encoding: 7bit


Use PREFIX to install qemu-upstream.
This installs docs and config files with same PREFIX
as we do for the binary and firmware.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--------------010201020106090605020702
Content-Type: text/plain; charset="us-ascii"; name="xen_qemu_prefix.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="xen_qemu_prefix.diff"
Content-Description: xen_qemu_prefix.diff

diff -r 88df118150e4 tools/Makefile
--- a/tools/Makefile	Thu May 24 11:20:47 2012 +0200
+++ b/tools/Makefile	Thu May 24 17:08:17 2012 +0200
@@ -149,6 +149,7 @@ subdir-all-qemu-xen-dir subdir-install-q
 	fi; \
 	cd qemu-xen-dir; \
 	$$source/configure --enable-xen --target-list=i386-softmmu \
+		--prefix=$(PREFIX) \
 		--source-path=$$source \
 		--extra-cflags="-I$(XEN_ROOT)/tools/include \
 		-I$(XEN_ROOT)/tools/libxc \

--------------010201020106090605020702
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------010201020106090605020702--


From xen-devel-bounces@lists.xen.org Thu May 24 15:29:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZyI-0000Si-5Q; Thu, 24 May 2012 15:29:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXZyG-0000Sd-GI
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:29:00 +0000
Received: from [85.158.143.99:7781] by server-2.bemta-4.messagelabs.com id
	BB/B3-12211-BB35EBF4; Thu, 24 May 2012 15:28:59 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337873337!29308720!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20316 invoked from network); 24 May 2012 15:28:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 15:28:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="25643862"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 11:28:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 11:28:56 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXZyB-0007qI-UY	for
	xen-devel@lists.xen.org; Thu, 24 May 2012 16:28:55 +0100
Message-ID: <4FBE53B7.2080703@citrix.com>
Date: Thu, 24 May 2012 16:28:55 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
In-Reply-To: <4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/12 16:14, Jan Beulich wrote:
>>>> On 24.05.12 at 16:59, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> x86_64: Fix double fault stack setup.
>>
>> Dont forget to push error_code and entry_vector onto the stack for a double
>> fault.  If it is missed, the register information printed looks like
>>
>> (XEN) CPU:    0
>> (XEN) RIP:    0246:[<000000000000e008>] ???
>> (XEN) RFLAGS: ffff82c480287eb8
>> (XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
>> (XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
>> (XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
>> (XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
>> (XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
>> (XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000
>>
>> which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
>> information when trying to identify the cause of a double fault.
> Is this from an actual double fault, or from one of your INT 08
> attempts to simulate one? An actual exception pushes an error
> code, so I'm afraid the change below is wrong.
>
> Jan

Ah yes - how silly of me.  I misread the manual when checking that fact,
but this was an INT 08 experiment.  I really should have checked with a
ud2 as well.

That is a bit awkward.

Do we actually care about this error from an INT 08?  I suppose we could
check under rip for 0xcd 0x08, but then the same argument would apply to
all other exceptions which may push an error onto the stack.

Do we care however that entry_vector is not being set correctly?  I cant
see anything on the current codepath which uses it, but it doesn't
preclude someone adding code in the future.

~Andrew

>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
>> --- a/xen/arch/x86/x86_64/entry.S
>> +++ b/xen/arch/x86/x86_64/entry.S
>> @@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
>>          jmp   handle_exception
>>  
>>  ENTRY(double_fault)
>> +        pushq $0
>> +        movl $TRAP_double_fault,4(%rsp)
>>          SAVE_ALL
>>          movq  %rsp,%rdi
>>          call  do_double_fault
>>
>> -- 
>> Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
>> T: +44 (0)1223 225 900, http://www.citrix.com 
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 15:29:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXZyI-0000Si-5Q; Thu, 24 May 2012 15:29:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXZyG-0000Sd-GI
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:29:00 +0000
Received: from [85.158.143.99:7781] by server-2.bemta-4.messagelabs.com id
	BB/B3-12211-BB35EBF4; Thu, 24 May 2012 15:28:59 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337873337!29308720!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20316 invoked from network); 24 May 2012 15:28:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 15:28:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="25643862"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 11:28:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 11:28:56 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXZyB-0007qI-UY	for
	xen-devel@lists.xen.org; Thu, 24 May 2012 16:28:55 +0100
Message-ID: <4FBE53B7.2080703@citrix.com>
Date: Thu, 24 May 2012 16:28:55 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
In-Reply-To: <4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/12 16:14, Jan Beulich wrote:
>>>> On 24.05.12 at 16:59, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> x86_64: Fix double fault stack setup.
>>
>> Dont forget to push error_code and entry_vector onto the stack for a double
>> fault.  If it is missed, the register information printed looks like
>>
>> (XEN) CPU:    0
>> (XEN) RIP:    0246:[<000000000000e008>] ???
>> (XEN) RFLAGS: ffff82c480287eb8
>> (XEN) rax: 0000000000000282   rbx: ffff82c480242dd0   rcx: 0000000000000282
>> (XEN) rdx: 0000000000000000   rsi: 0000000000000282   rdi: 0000000000000031
>> (XEN) rbp: 0000000000000031   rsp: 0000000000000000   r8:  ffff83007ee52488
>> (XEN) r9:  ffff83007ee61088   r10: 0000000000000007   r11: ffff82c480116460
>> (XEN) r12: 0000000000000000   r13: ffff82c4802c37e0   r14: 00026501a9ced0b8
>> (XEN) r15: ffff82c4802c37c0    cs: 0000000000000246    ss: 0000000000000000
>>
>> which incorrectly displays cs, rip, rflags and rsp; the useful pieces of
>> information when trying to identify the cause of a double fault.
> Is this from an actual double fault, or from one of your INT 08
> attempts to simulate one? An actual exception pushes an error
> code, so I'm afraid the change below is wrong.
>
> Jan

Ah yes - how silly of me.  I misread the manual when checking that fact,
but this was an INT 08 experiment.  I really should have checked with a
ud2 as well.

That is a bit awkward.

Do we actually care about this error from an INT 08?  I suppose we could
check under rip for 0xcd 0x08, but then the same argument would apply to
all other exceptions which may push an error onto the stack.

Do we care however that entry_vector is not being set correctly?  I cant
see anything on the current codepath which uses it, but it doesn't
preclude someone adding code in the future.

~Andrew

>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
>> --- a/xen/arch/x86/x86_64/entry.S
>> +++ b/xen/arch/x86/x86_64/entry.S
>> @@ -595,6 +595,8 @@ ENTRY(spurious_interrupt_bug)
>>          jmp   handle_exception
>>  
>>  ENTRY(double_fault)
>> +        pushq $0
>> +        movl $TRAP_double_fault,4(%rsp)
>>          SAVE_ALL
>>          movq  %rsp,%rdi
>>          call  do_double_fault
>>
>> -- 
>> Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
>> T: +44 (0)1223 225 900, http://www.citrix.com 
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 15:38:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXa74-0000df-6J; Thu, 24 May 2012 15:38:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXa72-0000da-Tz
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:38:05 +0000
Received: from [193.109.254.147:48922] by server-10.bemta-14.messagelabs.com
	id DD/F3-05847-CD55EBF4; Thu, 24 May 2012 15:38:04 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337873882!11117408!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17512 invoked from network); 24 May 2012 15:38:03 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 15:38:03 -0000
Received: by werf3 with SMTP id f3so7079661wer.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 08:38:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=yTuDI5vTlYixWGVSyxQUXcCgdN06LjLTEcxKwg1+s74=;
	b=H4TaIZBCV0QSrDi1eyrRabcDuJ06CvxsweC9Z4XsgmC8kuRCEpDYkuHnRk1ukHqBvN
	rIud5BjuLFT3Hdfvi+SIkUe6gT/ZlzAQsPZw3b1+hK6qBFCICspEudOAgYmKU0WlU8bD
	RWKGzS3Ov2vqQBJ06PGDdkMySVssKJhBDQCrbzdr8Fsb64bVcwJ+5qmqFzWSlTYgyKwu
	ymNTFv+PhwrGb9uYrmH0n6KiReGty4URuRka8vbRfE3800ohHqciXKAHXZBbaGff/us/
	+tvvzkHA+H8tvSlUkT9gu+O8aAXwP690U6qym2Fv7bwB02m7vl+56BB4wKxrPDr5kQev
	40rg==
Received: by 10.180.102.101 with SMTP id fn5mr37791834wib.6.1337873882503;
	Thu, 24 May 2012 08:38:02 -0700 (PDT)
Received: from [127.0.1.1] (ip-142-63.sn3.eutelia.it. [213.136.142.63])
	by mx.google.com with ESMTPS id r2sm9287896wif.7.2012.05.24.08.37.59
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 24 May 2012 08:38:00 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 0a338fd74bab9eaeea74d3aede44fc7eebf1a2f4
Message-Id: <0a338fd74bab9eaeea74.1337873876@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 24 May 2012 17:37:56 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBhYm91dDoKbGlieGwuYzogSW4gZnVuY3Rp
b24g4oCYbGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPigJk6CmxpYnhsLmM6MTIzMzo5OiBlcnJv
cjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCY
bGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQoKQWRqdXN0IGNvZGUgcGllY2Vz
IHdoZXJlIC1Xc3dpdGNoIG1ha2VzIGl0IGNsYWltIHRoYXQKTElCWExfRE9NQUlOX1RZUEVfSU5W
QUxJRCBpcyBub3QgaGFuZGxlZC4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpIDxkYXJp
by5mYWdnaW9saUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggRWdnZXIgPENo
cmlzdG9waC5FZ2dlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMg
Yi90b29scy9saWJ4bC9saWJ4bC5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtMTIzMCw3ICsxMjMwLDcgQEAgaW50IGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVjKGxpYnhsX2N0eAogICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BW
OgogICAgICAgICAgICAgcmMgPSBsaWJ4bF9jb25zb2xlX2V4ZWMoY3R4LCBkb21pZF92bSwgMCwg
TElCWExfQ09OU09MRV9UWVBFX1BWKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IC0xOgorICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6CiAgICAgICAgICAg
ICBMT0coRVJST1IsInVuYWJsZSB0byBnZXQgZG9tYWluIHR5cGUgZm9yIGRvbWlkPSUiUFJJdTMy
LGRvbWlkX3ZtKTsKICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s
aWJ4bF9kbS5jCkBAIC0yNTcsNiArMjU3LDEwIEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWls
ZF9kZXZpY2VfbW9kZWwKICAgICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0gJiYg
Yl9pbmZvLT5leHRyYV9odm1baV0gIT0gTlVMTDsgaSsrKQogICAgICAgICAgICAgZmxleGFycmF5
X2FwcGVuZChkbV9hcmdzLCBiX2luZm8tPmV4dHJhX2h2bVtpXSk7CiAgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKKyAgICAgICAgTElCWExfX0xPRyhD
VFgsIExJQlhMX19MT0dfRVJST1IsICJpbnZhbGlkIGRvbWFpbiB0eXBlIik7CisgICAgICAgIGZs
ZXhhcnJheV9mcmVlKGRtX2FyZ3MpOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAg
ZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKICAgICByZXR1cm4gKGNoYXIgKiopIGZs
ZXhhcnJheV9jb250ZW50cyhkbV9hcmdzKTsKQEAgLTUwNSw2ICs1MDksMTAgQEAgc3RhdGljIGNo
YXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAogICAgICAgICBmb3IgKGkgPSAwOyBiX2lu
Zm8tPmV4dHJhX2h2bSAmJiBiX2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCiAgICAg
ICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsK
ICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgorICAg
ICAgICBMSUJYTF9fTE9HKENUWCwgTElCWExfX0xPR19FUlJPUiwgImludmFsaWQgZG9tYWluIHR5
cGUiKTsKKyAgICAgICAgZmxleGFycmF5X2ZyZWUoZG1fYXJncyk7CisgICAgICAgIHJldHVybiBO
VUxMOwogICAgIH0KIAogICAgIHJhbV9zaXplID0gbGlieGxfX3NpemVrYl90b19tYihiX2luZm8t
Pm1heF9tZW1rYiAtIGJfaW5mby0+dmlkZW9fbWVta2IpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwotLS0gYS90b29scy9saWJ4
bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtMzMsOSArMzMs
OSBAQCBsaWJ4bF9kb21haW5fdHlwZSBsaWJ4bF9fZG9tYWluX3R5cGUobGliCiAKICAgICByZXQg
PSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoY3R4LT54Y2gsIGRvbWlkLCAxLCAmaW5mbyk7CiAgICAg
aWYgKHJldCAhPSAxKQotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJldHVybiBMSUJYTF9E
T01BSU5fVFlQRV9JTlZBTElEOwogICAgIGlmIChpbmZvLmRvbWFpbiAhPSBkb21pZCkKLSAgICAg
ICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsK
ICAgICBpZiAoaW5mby5mbGFncyAmIFhFTl9ET01JTkZfaHZtX2d1ZXN0KQogICAgICAgICByZXR1
cm4gTElCWExfRE9NQUlOX1RZUEVfSFZNOwogICAgIGVsc2UKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAotLS0gYS90
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu
aWRsCkBAIC0zMCw2ICszMCw3IEBAIE1lbUtCID0gVUludCg2NCwgaW5pdF92YWwgPSAiTElCWExf
TUVNS0IKICMKIAogbGlieGxfZG9tYWluX3R5cGUgPSBFbnVtZXJhdGlvbigiZG9tYWluX3R5cGUi
LCBbCisgICAgKC0xLCAiSU5WQUxJRCIpLAogICAgICgxLCAiSFZNIiksCiAgICAgKDIsICJQViIp
LAogICAgIF0pCkBAIC0zMTUsNiArMzE2LDcgQEAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gPSBT
dHJ1Y3QoImRvbWFpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFVz
ZSBob3N0J3MgRTgyMCBmb3IgUENJIHBhc3N0aHJvdWdoLgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoImU4MjBfaG9zdCIsIGxpYnhsX2RlZmJvb2wpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSksCisgICAgICAgICAgICAgICAgICgiaW52
YWxpZCIsIFN0cnVjdChOb25lLCBbXSkpLAogICAgICAgICAgICAgICAgICBdLCBrZXl2YXJfaW5p
dF92YWwgPSAiLTEiKSksCiAgICAgXSwgZGlyPURJUl9JTgogKQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k
ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Thu May 24 15:38:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXa74-0000df-6J; Thu, 24 May 2012 15:38:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXa72-0000da-Tz
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:38:05 +0000
Received: from [193.109.254.147:48922] by server-10.bemta-14.messagelabs.com
	id DD/F3-05847-CD55EBF4; Thu, 24 May 2012 15:38:04 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1337873882!11117408!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17512 invoked from network); 24 May 2012 15:38:03 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 15:38:03 -0000
Received: by werf3 with SMTP id f3so7079661wer.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 08:38:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=yTuDI5vTlYixWGVSyxQUXcCgdN06LjLTEcxKwg1+s74=;
	b=H4TaIZBCV0QSrDi1eyrRabcDuJ06CvxsweC9Z4XsgmC8kuRCEpDYkuHnRk1ukHqBvN
	rIud5BjuLFT3Hdfvi+SIkUe6gT/ZlzAQsPZw3b1+hK6qBFCICspEudOAgYmKU0WlU8bD
	RWKGzS3Ov2vqQBJ06PGDdkMySVssKJhBDQCrbzdr8Fsb64bVcwJ+5qmqFzWSlTYgyKwu
	ymNTFv+PhwrGb9uYrmH0n6KiReGty4URuRka8vbRfE3800ohHqciXKAHXZBbaGff/us/
	+tvvzkHA+H8tvSlUkT9gu+O8aAXwP690U6qym2Fv7bwB02m7vl+56BB4wKxrPDr5kQev
	40rg==
Received: by 10.180.102.101 with SMTP id fn5mr37791834wib.6.1337873882503;
	Thu, 24 May 2012 08:38:02 -0700 (PDT)
Received: from [127.0.1.1] (ip-142-63.sn3.eutelia.it. [213.136.142.63])
	by mx.google.com with ESMTPS id r2sm9287896wif.7.2012.05.24.08.37.59
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 24 May 2012 08:38:00 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 0a338fd74bab9eaeea74d3aede44fc7eebf1a2f4
Message-Id: <0a338fd74bab9eaeea74.1337873876@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 24 May 2012 17:37:56 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VG8gYXZvaWQgcmVjZW50IGdjYyBjb21wbGFpbmluZyBhYm91dDoKbGlieGwuYzogSW4gZnVuY3Rp
b24g4oCYbGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPigJk6CmxpYnhsLmM6MTIzMzo5OiBlcnJv
cjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5cGUg4oCY
bGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQoKQWRqdXN0IGNvZGUgcGllY2Vz
IHdoZXJlIC1Xc3dpdGNoIG1ha2VzIGl0IGNsYWltIHRoYXQKTElCWExfRE9NQUlOX1RZUEVfSU5W
QUxJRCBpcyBub3QgaGFuZGxlZC4KClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpIDxkYXJp
by5mYWdnaW9saUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggRWdnZXIgPENo
cmlzdG9waC5FZ2dlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMg
Yi90b29scy9saWJ4bC9saWJ4bC5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtMTIzMCw3ICsxMjMwLDcgQEAgaW50IGxpYnhsX3ByaW1hcnlf
Y29uc29sZV9leGVjKGxpYnhsX2N0eAogICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BW
OgogICAgICAgICAgICAgcmMgPSBsaWJ4bF9jb25zb2xlX2V4ZWMoY3R4LCBkb21pZF92bSwgMCwg
TElCWExfQ09OU09MRV9UWVBFX1BWKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IC0xOgorICAgICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ6CiAgICAgICAgICAg
ICBMT0coRVJST1IsInVuYWJsZSB0byBnZXQgZG9tYWluIHR5cGUgZm9yIGRvbWlkPSUiUFJJdTMy
LGRvbWlkX3ZtKTsKICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RtLmMKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s
aWJ4bF9kbS5jCkBAIC0yNTcsNiArMjU3LDEwIEBAIHN0YXRpYyBjaGFyICoqIGxpYnhsX19idWls
ZF9kZXZpY2VfbW9kZWwKICAgICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0gJiYg
Yl9pbmZvLT5leHRyYV9odm1baV0gIT0gTlVMTDsgaSsrKQogICAgICAgICAgICAgZmxleGFycmF5
X2FwcGVuZChkbV9hcmdzLCBiX2luZm8tPmV4dHJhX2h2bVtpXSk7CiAgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKKyAgICAgICAgTElCWExfX0xPRyhD
VFgsIExJQlhMX19MT0dfRVJST1IsICJpbnZhbGlkIGRvbWFpbiB0eXBlIik7CisgICAgICAgIGZs
ZXhhcnJheV9mcmVlKGRtX2FyZ3MpOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAg
ZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKICAgICByZXR1cm4gKGNoYXIgKiopIGZs
ZXhhcnJheV9jb250ZW50cyhkbV9hcmdzKTsKQEAgLTUwNSw2ICs1MDksMTAgQEAgc3RhdGljIGNo
YXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbAogICAgICAgICBmb3IgKGkgPSAwOyBiX2lu
Zm8tPmV4dHJhX2h2bSAmJiBiX2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKyspCiAgICAg
ICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsK
ICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEOgorICAg
ICAgICBMSUJYTF9fTE9HKENUWCwgTElCWExfX0xPR19FUlJPUiwgImludmFsaWQgZG9tYWluIHR5
cGUiKTsKKyAgICAgICAgZmxleGFycmF5X2ZyZWUoZG1fYXJncyk7CisgICAgICAgIHJldHVybiBO
VUxMOwogICAgIH0KIAogICAgIHJhbV9zaXplID0gbGlieGxfX3NpemVrYl90b19tYihiX2luZm8t
Pm1heF9tZW1rYiAtIGJfaW5mby0+dmlkZW9fbWVta2IpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwotLS0gYS90b29scy9saWJ4
bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtMzMsOSArMzMs
OSBAQCBsaWJ4bF9kb21haW5fdHlwZSBsaWJ4bF9fZG9tYWluX3R5cGUobGliCiAKICAgICByZXQg
PSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoY3R4LT54Y2gsIGRvbWlkLCAxLCAmaW5mbyk7CiAgICAg
aWYgKHJldCAhPSAxKQotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJldHVybiBMSUJYTF9E
T01BSU5fVFlQRV9JTlZBTElEOwogICAgIGlmIChpbmZvLmRvbWFpbiAhPSBkb21pZCkKLSAgICAg
ICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDsK
ICAgICBpZiAoaW5mby5mbGFncyAmIFhFTl9ET01JTkZfaHZtX2d1ZXN0KQogICAgICAgICByZXR1
cm4gTElCWExfRE9NQUlOX1RZUEVfSFZNOwogICAgIGVsc2UKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAotLS0gYS90
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu
aWRsCkBAIC0zMCw2ICszMCw3IEBAIE1lbUtCID0gVUludCg2NCwgaW5pdF92YWwgPSAiTElCWExf
TUVNS0IKICMKIAogbGlieGxfZG9tYWluX3R5cGUgPSBFbnVtZXJhdGlvbigiZG9tYWluX3R5cGUi
LCBbCisgICAgKC0xLCAiSU5WQUxJRCIpLAogICAgICgxLCAiSFZNIiksCiAgICAgKDIsICJQViIp
LAogICAgIF0pCkBAIC0zMTUsNiArMzE2LDcgQEAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gPSBT
dHJ1Y3QoImRvbWFpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFVz
ZSBob3N0J3MgRTgyMCBmb3IgUENJIHBhc3N0aHJvdWdoLgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoImU4MjBfaG9zdCIsIGxpYnhsX2RlZmJvb2wpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSksCisgICAgICAgICAgICAgICAgICgiaW52
YWxpZCIsIFN0cnVjdChOb25lLCBbXSkpLAogICAgICAgICAgICAgICAgICBdLCBrZXl2YXJfaW5p
dF92YWwgPSAiLTEiKSksCiAgICAgXSwgZGlyPURJUl9JTgogKQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k
ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Thu May 24 15:45:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:45:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaEL-0000pY-Mg; Thu, 24 May 2012 15:45:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXaEJ-0000pT-GD
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:45:35 +0000
Received: from [85.158.143.35:8961] by server-2.bemta-4.messagelabs.com id
	CE/D1-12211-E975EBF4; Thu, 24 May 2012 15:45:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337874330!17081309!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9201 invoked from network); 24 May 2012 15:45:31 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 15:45:31 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 16:45:31 +0100
Message-Id: <4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 16:46:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
	<4FBE53B7.2080703@citrix.com>
In-Reply-To: <4FBE53B7.2080703@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 17:28, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> Do we actually care about this error from an INT 08?

Definitely not - the hypervisor doesn't (except in your debugging)
ever use INT nn, and nothing else can access those gates.

> I suppose we could check under rip for 0xcd 0x08,

That's (from my pov) an absolute no-go for the double fault
handler, even if the above didn't hold.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 15:45:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 15:45:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaEL-0000pY-Mg; Thu, 24 May 2012 15:45:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXaEJ-0000pT-GD
	for xen-devel@lists.xen.org; Thu, 24 May 2012 15:45:35 +0000
Received: from [85.158.143.35:8961] by server-2.bemta-4.messagelabs.com id
	CE/D1-12211-E975EBF4; Thu, 24 May 2012 15:45:34 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337874330!17081309!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9201 invoked from network); 24 May 2012 15:45:31 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 15:45:31 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 24 May 2012 16:45:31 +0100
Message-Id: <4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 24 May 2012 16:46:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
	<4FBE53B7.2080703@citrix.com>
In-Reply-To: <4FBE53B7.2080703@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 17:28, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> Do we actually care about this error from an INT 08?

Definitely not - the hypervisor doesn't (except in your debugging)
ever use INT nn, and nothing else can access those gates.

> I suppose we could check under rip for 0xcd 0x08,

That's (from my pov) an absolute no-go for the double fault
handler, even if the above didn't hold.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:11:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:11:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXadB-0001Rj-Ry; Thu, 24 May 2012 16:11:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXadA-0001Re-KA
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:11:16 +0000
Received: from [85.158.138.51:29051] by server-2.bemta-3.messagelabs.com id
	69/16-27819-3AD5EBF4; Thu, 24 May 2012 16:11:15 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337875874!21007227!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22788 invoked from network); 24 May 2012 16:11:15 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:11:15 -0000
Received: by qcsp15 with SMTP id p15so7451226qcs.30
	for <xen-devel@lists.xensource.com>;
	Thu, 24 May 2012 09:11:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=oorObD2KXVrgN98SAkabr6hR1tILWCyEp/WF5s49AM4=;
	b=OlOOlUdiLsR5tlXxNVYdiNNIYYJCDJmsTyOmCXkIKrRnaQ6W23IDy5qpEAHz4VvS64
	79K4GQZ1M8VU2uCYnAGESJWd9SH8xiF4xT9ICa4k+Mb6H43qZjfmGlc8BMh8Fj5v6tKN
	8rB6hClATU21JXKiig7mL8HRhF/6U0fjAZu4tm854rxSN+xyz5Fy45G3NFNBHCsITgfq
	VL1uaWugXavHZVVZvdHaElNR34A41OQO8xGNnPhH8GctEaFAy5d6bFgiNZIF+Ub90cHt
	oe+Zd+mZa3DXZCGRr343SRl6eaV6yKs41fFCIqb0+/qbF5PyglWLO6zEW4CULoOV6Ntw
	z7SA==
MIME-Version: 1.0
Received: by 10.224.183.135 with SMTP id cg7mr11094548qab.25.1337875873907;
	Thu, 24 May 2012 09:11:13 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 24 May 2012 09:11:13 -0700 (PDT)
In-Reply-To: <1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
Date: Thu, 24 May 2012 17:11:13 +0100
X-Google-Sender-Auth: iJYpojbp2_U3mpO33C3TqSSekO4
Message-ID: <CAFLBxZY8aKAaUagDfktXR9KOZV1AHDgjVdYOAtV9HCt-5LyPVQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xensource.com, George Dunlap <george.dunlap@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:37 AM, David Vrabel <david.vrabel@citrix.com> wrote:
> From: David Vrabel <david.vrabel@citrix.com>
>
> Trace hypercalls using a more useful trace record format.
>
> The EIP field is removed (it was always somewhere in the hypercall
> page) and include selected hypercall arguments (the number of calls in
> a multicall, and the number of PTE updates in an mmu_update).
>
> To allow tracing tools to distinguish between the two formats, the new
> format uses a new event ID (TRC_PV_HYPERCALL_V2).
>
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

The problem with tracing all the hypercall arguments is that it will
significantly increase the size of traces.  How many arguments to most
hypercalls actually use -- and how many of those are actually just
pointers to guest memory, and useless in a trace record anyway?

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:11:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:11:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXadB-0001Rj-Ry; Thu, 24 May 2012 16:11:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1SXadA-0001Re-KA
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:11:16 +0000
Received: from [85.158.138.51:29051] by server-2.bemta-3.messagelabs.com id
	69/16-27819-3AD5EBF4; Thu, 24 May 2012 16:11:15 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337875874!21007227!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22788 invoked from network); 24 May 2012 16:11:15 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:11:15 -0000
Received: by qcsp15 with SMTP id p15so7451226qcs.30
	for <xen-devel@lists.xensource.com>;
	Thu, 24 May 2012 09:11:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=oorObD2KXVrgN98SAkabr6hR1tILWCyEp/WF5s49AM4=;
	b=OlOOlUdiLsR5tlXxNVYdiNNIYYJCDJmsTyOmCXkIKrRnaQ6W23IDy5qpEAHz4VvS64
	79K4GQZ1M8VU2uCYnAGESJWd9SH8xiF4xT9ICa4k+Mb6H43qZjfmGlc8BMh8Fj5v6tKN
	8rB6hClATU21JXKiig7mL8HRhF/6U0fjAZu4tm854rxSN+xyz5Fy45G3NFNBHCsITgfq
	VL1uaWugXavHZVVZvdHaElNR34A41OQO8xGNnPhH8GctEaFAy5d6bFgiNZIF+Ub90cHt
	oe+Zd+mZa3DXZCGRr343SRl6eaV6yKs41fFCIqb0+/qbF5PyglWLO6zEW4CULoOV6Ntw
	z7SA==
MIME-Version: 1.0
Received: by 10.224.183.135 with SMTP id cg7mr11094548qab.25.1337875873907;
	Thu, 24 May 2012 09:11:13 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 24 May 2012 09:11:13 -0700 (PDT)
In-Reply-To: <1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
Date: Thu, 24 May 2012 17:11:13 +0100
X-Google-Sender-Auth: iJYpojbp2_U3mpO33C3TqSSekO4
Message-ID: <CAFLBxZY8aKAaUagDfktXR9KOZV1AHDgjVdYOAtV9HCt-5LyPVQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xensource.com, George Dunlap <george.dunlap@citrix.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:37 AM, David Vrabel <david.vrabel@citrix.com> wrote:
> From: David Vrabel <david.vrabel@citrix.com>
>
> Trace hypercalls using a more useful trace record format.
>
> The EIP field is removed (it was always somewhere in the hypercall
> page) and include selected hypercall arguments (the number of calls in
> a multicall, and the number of PTE updates in an mmu_update).
>
> To allow tracing tools to distinguish between the two formats, the new
> format uses a new event ID (TRC_PV_HYPERCALL_V2).
>
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

The problem with tracing all the hypercall arguments is that it will
significantly increase the size of traces.  How many arguments to most
hypercalls actually use -- and how many of those are actually just
pointers to guest memory, and useless in a trace record anyway?

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:13:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaem-0001VG-Bm; Thu, 24 May 2012 16:12:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXael-0001VB-7a
	for xen-devel@lists.xen.org; Thu, 24 May 2012 16:12:55 +0000
Received: from [85.158.138.51:42189] by server-3.bemta-3.messagelabs.com id
	7C/F6-08380-60E5EBF4; Thu, 24 May 2012 16:12:54 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337875972!21007518!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4309 invoked from network); 24 May 2012 16:12:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:12:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="196354137"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 12:12:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 12:12:51 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXaeh-0000uc-0v;
	Thu, 24 May 2012 17:12:51 +0100
Message-ID: <4FBE5E02.1000400@citrix.com>
Date: Thu, 24 May 2012 17:12:50 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
	<4FBE53B7.2080703@citrix.com>
	<4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
In-Reply-To: <4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/12 16:46, Jan Beulich wrote:
>>>> On 24.05.12 at 17:28, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> Do we actually care about this error from an INT 08?
> Definitely not - the hypervisor doesn't (except in your debugging)
> ever use INT nn, and nothing else can access those gates.

Ok - I will avoid debugging in this fashion in the future.

>
>> I suppose we could check under rip for 0xcd 0x08,
> That's (from my pov) an absolute no-go for the double fault
> handler, even if the above didn't hold.
>
> Jan

Yes.  After further considering, this adds an extra fault in that the
#DF handler would not successfully return, which was being hidden in my
tests by the crash kernel.

What about the entry vector?  It would be safe to do in the case of a
real #DF, and wont really break the int08 case much more than it already is.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:13:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaem-0001VG-Bm; Thu, 24 May 2012 16:12:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXael-0001VB-7a
	for xen-devel@lists.xen.org; Thu, 24 May 2012 16:12:55 +0000
Received: from [85.158.138.51:42189] by server-3.bemta-3.messagelabs.com id
	7C/F6-08380-60E5EBF4; Thu, 24 May 2012 16:12:54 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337875972!21007518!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4309 invoked from network); 24 May 2012 16:12:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:12:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="196354137"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 12:12:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 12:12:51 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXaeh-0000uc-0v;
	Thu, 24 May 2012 17:12:51 +0100
Message-ID: <4FBE5E02.1000400@citrix.com>
Date: Thu, 24 May 2012 17:12:50 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
	<4FBE53B7.2080703@citrix.com>
	<4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
In-Reply-To: <4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/12 16:46, Jan Beulich wrote:
>>>> On 24.05.12 at 17:28, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> Do we actually care about this error from an INT 08?
> Definitely not - the hypervisor doesn't (except in your debugging)
> ever use INT nn, and nothing else can access those gates.

Ok - I will avoid debugging in this fashion in the future.

>
>> I suppose we could check under rip for 0xcd 0x08,
> That's (from my pov) an absolute no-go for the double fault
> handler, even if the above didn't hold.
>
> Jan

Yes.  After further considering, this adds an extra fault in that the
#DF handler would not successfully return, which was being hidden in my
tests by the crash kernel.

What about the entry vector?  It would be safe to do in the case of a
real #DF, and wont really break the int08 case much more than it already is.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:14:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:14:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXagF-0001aq-RL; Thu, 24 May 2012 16:14:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXagE-0001ah-Cx
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:14:26 +0000
Received: from [193.109.254.147:6651] by server-2.bemta-14.messagelabs.com id
	10/E2-19409-16E5EBF4; Thu, 24 May 2012 16:14:25 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337876063!4205324!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28322 invoked from network); 24 May 2012 16:14:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:14:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="196354406"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 12:14:23 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	12:14:23 -0400
Message-ID: <4FBE5E5D.6040407@citrix.com>
Date: Thu, 24 May 2012 17:14:21 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: George Dunlap <George.Dunlap@eu.citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
	<CAFLBxZY8aKAaUagDfktXR9KOZV1AHDgjVdYOAtV9HCt-5LyPVQ@mail.gmail.com>
In-Reply-To: <CAFLBxZY8aKAaUagDfktXR9KOZV1AHDgjVdYOAtV9HCt-5LyPVQ@mail.gmail.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/12 17:11, George Dunlap wrote:
> On Thu, May 24, 2012 at 11:37 AM, David Vrabel <david.vrabel@citrix.com> wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> Trace hypercalls using a more useful trace record format.
>>
>> The EIP field is removed (it was always somewhere in the hypercall
>> page) and include selected hypercall arguments (the number of calls in
>> a multicall, and the number of PTE updates in an mmu_update).
>>
>> To allow tracing tools to distinguish between the two formats, the new
>> format uses a new event ID (TRC_PV_HYPERCALL_V2).
>>
>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> 
> The problem with tracing all the hypercall arguments is that it will
> significantly increase the size of traces.  How many arguments to most
> hypercalls actually use -- and how many of those are actually just
> pointers to guest memory, and useless in a trace record anyway?

This patch only adds selected arguments to the trace record.

See __trace_hypercall() where we have:

+    switch (op) {
+    case __HYPERVISOR_multicall:
+        *a++ = args[1]; /* count */
+        break;
+    case __HYPERVISOR_mmu_update:
+        *a++ = args[1]; /* count */
+        break;
+    }
+
+    __trace_var(TRC_PV_HYPERCALL_V2, 1,
+                sizeof(uint32_t) * (1 + (a - d.args)), &d);

So, for these calls only one 32-bit argument is added to the trace record.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:14:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:14:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXagF-0001aq-RL; Thu, 24 May 2012 16:14:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SXagE-0001ah-Cx
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:14:26 +0000
Received: from [193.109.254.147:6651] by server-2.bemta-14.messagelabs.com id
	10/E2-19409-16E5EBF4; Thu, 24 May 2012 16:14:25 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337876063!4205324!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTQ5OTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28322 invoked from network); 24 May 2012 16:14:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:14:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="196354406"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 12:14:23 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Thu, 24 May 2012
	12:14:23 -0400
Message-ID: <4FBE5E5D.6040407@citrix.com>
Date: Thu, 24 May 2012 17:14:21 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: George Dunlap <George.Dunlap@eu.citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
	<CAFLBxZY8aKAaUagDfktXR9KOZV1AHDgjVdYOAtV9HCt-5LyPVQ@mail.gmail.com>
In-Reply-To: <CAFLBxZY8aKAaUagDfktXR9KOZV1AHDgjVdYOAtV9HCt-5LyPVQ@mail.gmail.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/12 17:11, George Dunlap wrote:
> On Thu, May 24, 2012 at 11:37 AM, David Vrabel <david.vrabel@citrix.com> wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> Trace hypercalls using a more useful trace record format.
>>
>> The EIP field is removed (it was always somewhere in the hypercall
>> page) and include selected hypercall arguments (the number of calls in
>> a multicall, and the number of PTE updates in an mmu_update).
>>
>> To allow tracing tools to distinguish between the two formats, the new
>> format uses a new event ID (TRC_PV_HYPERCALL_V2).
>>
>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> 
> The problem with tracing all the hypercall arguments is that it will
> significantly increase the size of traces.  How many arguments to most
> hypercalls actually use -- and how many of those are actually just
> pointers to guest memory, and useless in a trace record anyway?

This patch only adds selected arguments to the trace record.

See __trace_hypercall() where we have:

+    switch (op) {
+    case __HYPERVISOR_multicall:
+        *a++ = args[1]; /* count */
+        break;
+    case __HYPERVISOR_mmu_update:
+        *a++ = args[1]; /* count */
+        break;
+    }
+
+    __trace_var(TRC_PV_HYPERCALL_V2, 1,
+                sizeof(uint32_t) * (1 + (a - d.args)), &d);

So, for these calls only one 32-bit argument is added to the trace record.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:16:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaiD-0001l5-CC; Thu, 24 May 2012 16:16:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXaiC-0001ks-7k
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:16:28 +0000
Received: from [193.109.254.147:46138] by server-5.bemta-14.messagelabs.com id
	7F/53-30733-BDE5EBF4; Thu, 24 May 2012 16:16:27 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337876172!11025529!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg1Mjcz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17648 invoked from network); 24 May 2012 16:16:13 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-4.tower-27.messagelabs.com with SMTP;
	24 May 2012 16:16:13 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 24 May 2012 09:15:05 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147369952"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 09:15:05 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 09:15:05 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 00:15:03 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: AQHNOZg5bJSbBggbSyWVZxOOOr38ZpbZF9pg
Date: Thu, 24 May 2012 16:15:02 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
In-Reply-To: <20120524103023.GA27063@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Thu, May 24, 2012 at 10:10:34AM +0000, Liu, Jinsong wrote:
>>>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>>>> Signed-off-by: Ke, Liping <liping.ke@intel.com>
>>>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
>>>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>>> 
>>> If you're sending the patch, you need to be the last on the
>>> SOB-chain and the SOB-chain has to show the proper path the patch
>>> took. See <Documentation/SubmittingPatches>.
> 
>> Thanks! I will update it. But I'm not quite clear 'the SOB-chain has
>> to show the proper path the patch took', would you elaborate more?
> 
> Section 12 in the SubmittingPatches readme has more or less an example
> about it, here's what I mean:
> 
> Signed-off-by: Initial Patch Author <ipa@example.com>
> Signed-off-by: Second Patch Author <spa@example.com>
> Signed-off-by: Third Patch Author <tpa@example.com>
> ...
> Signed-off-by: Patch Submitter <ps@example.com>
> 
> Some of the lines above may or may not be present depending on your
> case. If you're sending the patch, you're the last in chain so your
> SOB should be last.
> 
> That's what I mean with "proper path" the patch took, i.e. the SOB
> chain should show how exactly this patch was created and who handled
> it on its way upstream.
> 

Oh, I see your meaning now. Thanks for telling me kernel habit / culture about SOB. I will update accordingly.

> 
>>>> -static struct miscdevice mce_chrdev_device = {
>>>> +struct miscdevice mce_chrdev_device = {
>>>>  	MISC_MCELOG_MINOR,
>>>>  	"mcelog",
>>>>  	&mce_chrdev_ops,
>>> 
>>> You're still reusing those - pls, define your own 'struct miscdevice
>>> mce_chrdev_device' in drivers/xen/ or somewhere convenient and
>>> your own mce_chrdev_ops. The only thing you should be touching in
>>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
>>> 
>>> Thanks.
>> 
>> I'm *not* reuse native code.
>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
>> xen-self-contained.  
>> 
>> The patch just redirect native mce_chrdev_device to
>> xen_mce_chrdev_device when running under xen environment. 
>> It didn't change any native code (except just cancel
>> mce_chrdev_device 'static'), and will not break native logic. 
> 
> Why are you doing that?
> 
> Why don't you do
> 
> 	misc_register(&xen_mce_chrdev_device);
> 
> in xen_early_init_mcelog() ?
> 
> This way there'll be no arch/x86/ dependencies at all.

The reason is, if we do so, it would be covered by native misc_register(&mce_chrdev_device) later when native kernel init (xen init first and then start native kernel).
Under such case, if linux running under xen platform, /dev/mcelog point to vcpu, that's pointless since it cannot get any mcelog from physical cpu (which owned by xen).

Yes, we can use another misc device like /dev/xen-mcelog, w/ another device minor like 226, but that's not good for userspace mcelog tools. As far as I know, Novell mcelog use unified /dev/mcelog interface for linux running under either bare metal or xen platform.

This patch just do redirection at xen code path, and that would not hurt anything to native kernel.

Thanks,
Jinsong



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:16:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaiD-0001l5-CC; Thu, 24 May 2012 16:16:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXaiC-0001ks-7k
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:16:28 +0000
Received: from [193.109.254.147:46138] by server-5.bemta-14.messagelabs.com id
	7F/53-30733-BDE5EBF4; Thu, 24 May 2012 16:16:27 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337876172!11025529!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg1Mjcz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17648 invoked from network); 24 May 2012 16:16:13 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-4.tower-27.messagelabs.com with SMTP;
	24 May 2012 16:16:13 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 24 May 2012 09:15:05 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147369952"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 09:15:05 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 09:15:05 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 00:15:03 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: AQHNOZg5bJSbBggbSyWVZxOOOr38ZpbZF9pg
Date: Thu, 24 May 2012 16:15:02 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
In-Reply-To: <20120524103023.GA27063@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Thu, May 24, 2012 at 10:10:34AM +0000, Liu, Jinsong wrote:
>>>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>>>> Signed-off-by: Ke, Liping <liping.ke@intel.com>
>>>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
>>>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>>> 
>>> If you're sending the patch, you need to be the last on the
>>> SOB-chain and the SOB-chain has to show the proper path the patch
>>> took. See <Documentation/SubmittingPatches>.
> 
>> Thanks! I will update it. But I'm not quite clear 'the SOB-chain has
>> to show the proper path the patch took', would you elaborate more?
> 
> Section 12 in the SubmittingPatches readme has more or less an example
> about it, here's what I mean:
> 
> Signed-off-by: Initial Patch Author <ipa@example.com>
> Signed-off-by: Second Patch Author <spa@example.com>
> Signed-off-by: Third Patch Author <tpa@example.com>
> ...
> Signed-off-by: Patch Submitter <ps@example.com>
> 
> Some of the lines above may or may not be present depending on your
> case. If you're sending the patch, you're the last in chain so your
> SOB should be last.
> 
> That's what I mean with "proper path" the patch took, i.e. the SOB
> chain should show how exactly this patch was created and who handled
> it on its way upstream.
> 

Oh, I see your meaning now. Thanks for telling me kernel habit / culture about SOB. I will update accordingly.

> 
>>>> -static struct miscdevice mce_chrdev_device = {
>>>> +struct miscdevice mce_chrdev_device = {
>>>>  	MISC_MCELOG_MINOR,
>>>>  	"mcelog",
>>>>  	&mce_chrdev_ops,
>>> 
>>> You're still reusing those - pls, define your own 'struct miscdevice
>>> mce_chrdev_device' in drivers/xen/ or somewhere convenient and
>>> your own mce_chrdev_ops. The only thing you should be touching in
>>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
>>> 
>>> Thanks.
>> 
>> I'm *not* reuse native code.
>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
>> xen-self-contained.  
>> 
>> The patch just redirect native mce_chrdev_device to
>> xen_mce_chrdev_device when running under xen environment. 
>> It didn't change any native code (except just cancel
>> mce_chrdev_device 'static'), and will not break native logic. 
> 
> Why are you doing that?
> 
> Why don't you do
> 
> 	misc_register(&xen_mce_chrdev_device);
> 
> in xen_early_init_mcelog() ?
> 
> This way there'll be no arch/x86/ dependencies at all.

The reason is, if we do so, it would be covered by native misc_register(&mce_chrdev_device) later when native kernel init (xen init first and then start native kernel).
Under such case, if linux running under xen platform, /dev/mcelog point to vcpu, that's pointless since it cannot get any mcelog from physical cpu (which owned by xen).

Yes, we can use another misc device like /dev/xen-mcelog, w/ another device minor like 226, but that's not good for userspace mcelog tools. As far as I know, Novell mcelog use unified /dev/mcelog interface for linux running under either bare metal or xen platform.

This patch just do redirection at xen code path, and that would not hurt anything to native kernel.

Thanks,
Jinsong



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:25:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaqV-00020h-Bq; Thu, 24 May 2012 16:25:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXaqT-00020c-MP
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:25:01 +0000
Received: from [85.158.139.83:13117] by server-12.bemta-5.messagelabs.com id
	BA/08-20635-CD06EBF4; Thu, 24 May 2012 16:25:00 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337876699!16419150!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDU4NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23614 invoked from network); 24 May 2012 16:25:00 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 16:25:00 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 52AAB198A;
	Thu, 24 May 2012 19:24:58 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 12C9D2005D; Thu, 24 May 2012 19:24:58 +0300 (EEST)
Date: Thu, 24 May 2012 19:24:57 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120524162457.GY2058@reaktio.net>
References: <patchbomb.1306418688@localhost6.localdomain6>
	<19934.27536.842661.458794@mariner.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <19934.27536.842661.458794@mariner.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com, Ian.Campbell@citrix.com,
	stefano.stabellini@eu.citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Patches for PCI passthrough with
 modified E820 (v4.2).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 26, 2011 at 04:02:40PM +0100, Ian Jackson wrote:
> Konrad Rzeszutek Wilk writes ("[Xen-devel] [PATCH 0 of 4] Patches for PCI passthrough with modified E820 (v4.2)."):
> > This set of v4.2 patches allows a PV domain to see the machine's
> > E820 and figure out where the PCI I/O gap is and match it with the reality.
> 
> Thanks.  I have applied 2-4; 1 was applied earlier.
> 

Hello,

I've seen people asking for e820_host= option for Xen 4.1.x. 

Are these patches something that could/should be backported to xen-4.1-testing.hg ?

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:25:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXaqV-00020h-Bq; Thu, 24 May 2012 16:25:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXaqT-00020c-MP
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:25:01 +0000
Received: from [85.158.139.83:13117] by server-12.bemta-5.messagelabs.com id
	BA/08-20635-CD06EBF4; Thu, 24 May 2012 16:25:00 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337876699!16419150!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDU4NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23614 invoked from network); 24 May 2012 16:25:00 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 16:25:00 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 52AAB198A;
	Thu, 24 May 2012 19:24:58 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 12C9D2005D; Thu, 24 May 2012 19:24:58 +0300 (EEST)
Date: Thu, 24 May 2012 19:24:57 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Message-ID: <20120524162457.GY2058@reaktio.net>
References: <patchbomb.1306418688@localhost6.localdomain6>
	<19934.27536.842661.458794@mariner.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <19934.27536.842661.458794@mariner.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: xen-devel@lists.xensource.com, Ian.Campbell@citrix.com,
	stefano.stabellini@eu.citrix.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 0 of 4] Patches for PCI passthrough with
 modified E820 (v4.2).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 26, 2011 at 04:02:40PM +0100, Ian Jackson wrote:
> Konrad Rzeszutek Wilk writes ("[Xen-devel] [PATCH 0 of 4] Patches for PCI passthrough with modified E820 (v4.2)."):
> > This set of v4.2 patches allows a PV domain to see the machine's
> > E820 and figure out where the PCI I/O gap is and match it with the reality.
> 
> Thanks.  I have applied 2-4; 1 was applied earlier.
> 

Hello,

I've seen people asking for e820_host= option for Xen 4.1.x. 

Are these patches something that could/should be backported to xen-4.1-testing.hg ?

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:25:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXar2-00022I-PB; Thu, 24 May 2012 16:25:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SXar1-000229-Fi
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:25:35 +0000
Received: from [85.158.139.83:17645] by server-2.bemta-5.messagelabs.com id
	50/5B-09957-EF06EBF4; Thu, 24 May 2012 16:25:34 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337876733!30507299!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4451 invoked from network); 24 May 2012 16:25:34 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-10.tower-182.messagelabs.com with SMTP;
	24 May 2012 16:25:34 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 70EE6C00690;
	Thu, 24 May 2012 18:25:33 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id eOxT1dxsY4IO; Thu, 24 May 2012 18:25:33 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 24 May 2012 18:25:33 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 1F93E49C58B;
	Thu, 24 May 2012 17:25:33 +0100 (BST)
Date: Thu, 24 May 2012 18:26:05 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524162605.GK27063@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 04:15:02PM +0000, Liu, Jinsong wrote:
> The reason is, if we do so, it would be covered by native misc_register(&mce_chrdev_device) later when native kernel init (xen init first and then start native kernel).
> Under such case, if linux running under xen platform, /dev/mcelog point to vcpu, that's pointless since it cannot get any mcelog from physical cpu (which owned by xen).
> 
> Yes, we can use another misc device like /dev/xen-mcelog, w/ another device minor like 226, but that's not good for userspace mcelog tools. As far as I know, Novell mcelog use unified /dev/mcelog interface for linux running under either bare metal or xen platform.

Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?

That should solve it.

> This patch just do redirection at xen code path, and that would not
> hurt anything to native kernel.

My concern is that if we remove /dev/mcelog one day, xen people will
cry.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:25:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXar2-00022I-PB; Thu, 24 May 2012 16:25:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SXar1-000229-Fi
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:25:35 +0000
Received: from [85.158.139.83:17645] by server-2.bemta-5.messagelabs.com id
	50/5B-09957-EF06EBF4; Thu, 24 May 2012 16:25:34 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337876733!30507299!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4451 invoked from network); 24 May 2012 16:25:34 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-10.tower-182.messagelabs.com with SMTP;
	24 May 2012 16:25:34 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 70EE6C00690;
	Thu, 24 May 2012 18:25:33 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id eOxT1dxsY4IO; Thu, 24 May 2012 18:25:33 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 24 May 2012 18:25:33 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 1F93E49C58B;
	Thu, 24 May 2012 17:25:33 +0100 (BST)
Date: Thu, 24 May 2012 18:26:05 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524162605.GK27063@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 04:15:02PM +0000, Liu, Jinsong wrote:
> The reason is, if we do so, it would be covered by native misc_register(&mce_chrdev_device) later when native kernel init (xen init first and then start native kernel).
> Under such case, if linux running under xen platform, /dev/mcelog point to vcpu, that's pointless since it cannot get any mcelog from physical cpu (which owned by xen).
> 
> Yes, we can use another misc device like /dev/xen-mcelog, w/ another device minor like 226, but that's not good for userspace mcelog tools. As far as I know, Novell mcelog use unified /dev/mcelog interface for linux running under either bare metal or xen platform.

Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?

That should solve it.

> This patch just do redirection at xen code path, and that would not
> hurt anything to native kernel.

My concern is that if we remove /dev/mcelog one day, xen people will
cry.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:27:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXasR-00029G-8U; Thu, 24 May 2012 16:27:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <simon.graham@citrix.com>) id 1SXasP-000295-D6
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:27:01 +0000
Received: from [85.158.139.83:27641] by server-12.bemta-5.messagelabs.com id
	F2/BC-20635-4516EBF4; Thu, 24 May 2012 16:27:00 +0000
X-Env-Sender: simon.graham@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337876818!30178250!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1699 invoked from network); 24 May 2012 16:26:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:26:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="25652325"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 12:26:58 -0400
Received: from FTLPMAILBOX01.citrite.net ([10.13.98.203]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Thu, 24 May 2012
	12:26:58 -0400
From: Simon Graham <simon.graham@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, "konrad.wilk@oracle.com"
	<konrad.wilk@oracle.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>, "netdev@vger.kernel.org"
	<netdev@vger.kernel.org>
Date: Thu, 24 May 2012 12:26:07 -0400
Thread-Topic: [PATCH] xen/netback: Calculate the number of SKB slots
	required correctly
Thread-Index: Ac05ygnioCiFh43iQpa4jUl+qG9HsA==
Message-ID: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "bhutchings@solarflare.com" <bhutchings@solarflare.com>,
	Simon Graham <simon.graham@citrix.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"adnan.misherfi@oracle.com" <adnan.misherfi@oracle.com>
Subject: [Xen-devel] [PATCH] xen/netback: Calculate the number of SKB slots
 required correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When calculating the number of slots required for a packet header, the code
was reserving too many slots if the header crossed a page boundary. Since
netbk_gop_skb copies the header to the start of the page, the count of
slots required for the header should be based solely on the header size.

This problem is easy to reproduce if a VIF is bridged to a USB 3G modem
device as the skb->data value always starts near the end of the first page.

Signed-off-by: Simon Graham <simon.graham@citrix.com>
---
 drivers/net/xen-netback/netback.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 2596401..f4a6fca 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -325,8 +325,7 @@ unsigned int xen_netbk_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
 	unsigned int count;
 	int i, copy_off;
 
-	count = DIV_ROUND_UP(
-			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
+	count = DIV_ROUND_UP(skb_headlen(skb), PAGE_SIZE);
 
 	copy_off = skb_headlen(skb) % PAGE_SIZE;
 
-- 
1.7.9.1

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:27:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXasR-00029G-8U; Thu, 24 May 2012 16:27:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <simon.graham@citrix.com>) id 1SXasP-000295-D6
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:27:01 +0000
Received: from [85.158.139.83:27641] by server-12.bemta-5.messagelabs.com id
	F2/BC-20635-4516EBF4; Thu, 24 May 2012 16:27:00 +0000
X-Env-Sender: simon.graham@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1337876818!30178250!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1699 invoked from network); 24 May 2012 16:26:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 16:26:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,651,1330923600"; d="scan'208";a="25652325"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 12:26:58 -0400
Received: from FTLPMAILBOX01.citrite.net ([10.13.98.203]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Thu, 24 May 2012
	12:26:58 -0400
From: Simon Graham <simon.graham@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, "konrad.wilk@oracle.com"
	<konrad.wilk@oracle.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>, "netdev@vger.kernel.org"
	<netdev@vger.kernel.org>
Date: Thu, 24 May 2012 12:26:07 -0400
Thread-Topic: [PATCH] xen/netback: Calculate the number of SKB slots
	required correctly
Thread-Index: Ac05ygnioCiFh43iQpa4jUl+qG9HsA==
Message-ID: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "bhutchings@solarflare.com" <bhutchings@solarflare.com>,
	Simon Graham <simon.graham@citrix.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"adnan.misherfi@oracle.com" <adnan.misherfi@oracle.com>
Subject: [Xen-devel] [PATCH] xen/netback: Calculate the number of SKB slots
 required correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

When calculating the number of slots required for a packet header, the code
was reserving too many slots if the header crossed a page boundary. Since
netbk_gop_skb copies the header to the start of the page, the count of
slots required for the header should be based solely on the header size.

This problem is easy to reproduce if a VIF is bridged to a USB 3G modem
device as the skb->data value always starts near the end of the first page.

Signed-off-by: Simon Graham <simon.graham@citrix.com>
---
 drivers/net/xen-netback/netback.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 2596401..f4a6fca 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -325,8 +325,7 @@ unsigned int xen_netbk_count_skb_slots(struct xenvif *vif, struct sk_buff *skb)
 	unsigned int count;
 	int i, copy_off;
 
-	count = DIV_ROUND_UP(
-			offset_in_page(skb->data)+skb_headlen(skb), PAGE_SIZE);
+	count = DIV_ROUND_UP(skb_headlen(skb), PAGE_SIZE);
 
 	copy_off = skb_headlen(skb) % PAGE_SIZE;
 
-- 
1.7.9.1

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:53:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:53:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXbHK-0002WJ-Ur; Thu, 24 May 2012 16:52:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXbHJ-0002WC-62
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:52:45 +0000
Received: from [85.158.138.51:42083] by server-12.bemta-3.messagelabs.com id
	DD/88-18957-C576EBF4; Thu, 24 May 2012 16:52:44 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337878363!29038031!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg1Mjcz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1657 invoked from network); 24 May 2012 16:52:43 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-5.tower-174.messagelabs.com with SMTP;
	24 May 2012 16:52:43 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 24 May 2012 09:52:42 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103885793"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 24 May 2012 09:52:38 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 09:52:38 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 00:52:36 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: AQHNOcnqbJSbBggbSyWVZxOOOr38ZpbZJL/Q
Date: Thu, 24 May 2012 16:52:35 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
In-Reply-To: <20120524162605.GK27063@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Thu, May 24, 2012 at 04:15:02PM +0000, Liu, Jinsong wrote:
>> The reason is, if we do so, it would be covered by native
>> misc_register(&mce_chrdev_device) later when native kernel init (xen
>> init first and then start native kernel).  
>> Under such case, if linux running under xen platform, /dev/mcelog
>> point to vcpu, that's pointless since it cannot get any mcelog from
>> physical cpu (which owned by xen).  
>> 
>> Yes, we can use another misc device like /dev/xen-mcelog, w/ another
>> device minor like 226, but that's not good for userspace mcelog
>> tools. As far as I know, Novell mcelog use unified /dev/mcelog
>> interface for linux running under either bare metal or xen platform.
> 
> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
> 
> That should solve it.

Kernel has created a file /dev/mcelog no matter running at native or xen platform.
If xen try to mask kernel creating /dev/mcelog, that would be harmful to native kernel.

> 
>> This patch just do redirection at xen code path, and that would not
>> hurt anything to native kernel.
> 
> My concern is that if we remove /dev/mcelog one day, xen people will
> cry.

Don't worry :) 
Xen people would handle that case (that's not trouble for xen), just notify us is enough.
If kernel really remove /dev/mcelog some day, xen just need simply add 1 line misc_register(&xen_mce_chrdev_device), since currently all other code are xen-self-contained.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 16:53:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 16:53:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXbHK-0002WJ-Ur; Thu, 24 May 2012 16:52:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXbHJ-0002WC-62
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 16:52:45 +0000
Received: from [85.158.138.51:42083] by server-12.bemta-3.messagelabs.com id
	DD/88-18957-C576EBF4; Thu, 24 May 2012 16:52:44 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337878363!29038031!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg1Mjcz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1657 invoked from network); 24 May 2012 16:52:43 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-5.tower-174.messagelabs.com with SMTP;
	24 May 2012 16:52:43 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 24 May 2012 09:52:42 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="103885793"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 24 May 2012 09:52:38 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 09:52:38 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 00:52:36 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2)
Thread-Index: AQHNOcnqbJSbBggbSyWVZxOOOr38ZpbZJL/Q
Date: Thu, 24 May 2012 16:52:35 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
In-Reply-To: <20120524162605.GK27063@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Thu, May 24, 2012 at 04:15:02PM +0000, Liu, Jinsong wrote:
>> The reason is, if we do so, it would be covered by native
>> misc_register(&mce_chrdev_device) later when native kernel init (xen
>> init first and then start native kernel).  
>> Under such case, if linux running under xen platform, /dev/mcelog
>> point to vcpu, that's pointless since it cannot get any mcelog from
>> physical cpu (which owned by xen).  
>> 
>> Yes, we can use another misc device like /dev/xen-mcelog, w/ another
>> device minor like 226, but that's not good for userspace mcelog
>> tools. As far as I know, Novell mcelog use unified /dev/mcelog
>> interface for linux running under either bare metal or xen platform.
> 
> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
> 
> That should solve it.

Kernel has created a file /dev/mcelog no matter running at native or xen platform.
If xen try to mask kernel creating /dev/mcelog, that would be harmful to native kernel.

> 
>> This patch just do redirection at xen code path, and that would not
>> hurt anything to native kernel.
> 
> My concern is that if we remove /dev/mcelog one day, xen people will
> cry.

Don't worry :) 
Xen people would handle that case (that's not trouble for xen), just notify us is enough.
If kernel really remove /dev/mcelog some day, xen just need simply add 1 line misc_register(&xen_mce_chrdev_device), since currently all other code are xen-self-contained.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 17:24:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:24:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXblK-00035U-EO; Thu, 24 May 2012 17:23:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXblI-00035P-FH
	for xen-devel@lists.xen.org; Thu, 24 May 2012 17:23:44 +0000
Received: from [85.158.138.51:11109] by server-4.bemta-3.messagelabs.com id
	AF/7A-25780-F9E6EBF4; Thu, 24 May 2012 17:23:43 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337880220!22612570!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26814 invoked from network); 24 May 2012 17:23:41 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 17:23:41 -0000
Received: by vbbfn1 with SMTP id fn1so15534vbb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 10:23:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=imApPI31D2O6/UEAJkE83Js4TwVoKSB3c3KwE003Kmw=;
	b=sZ3L/Gka1G8IlP1gO/mIMzNbIJzQodLTbnVdf6zVF/i8+DhT3lehYkJf6gb82LUBtX
	ADUuH505b4fsBsQ4QRUzs97OIuFBKZJgyZjs6ODRdC+rrEhUFPAJOEJ/LSVOhh9lEv94
	u7x6BxSNCjWHsFypkWvGQ8fJ1Ah8xrDArCsYrIdHEywYZFRdS30KRJ+hoHuSW3TcOzri
	yAOGvLvyZjckPVXeWVZkxleC3SNY9xdZ9KNDBBVDvbTtzBs7aQo0OsD2/9UIBUhXkltX
	ujAH8zMc//c7UhZ9RZYQJycLHzX3Lmi/DyWZLh2mU9bFAokxNHqgTnbWM4u/f/0Yu9Xg
	mdcA==
Received: by 10.52.21.51 with SMTP id s19mr222415vde.35.1337880219989; Thu, 24
	May 2012 10:23:39 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Thu, 24 May 2012 10:23:19 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 24 May 2012 18:23:19 +0100
Message-ID: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
To: xen-devel@lists.xen.org
Cc: Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	James McKenzie <James.McKenzie@citrix.com>
Subject: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4192999363960447244=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4192999363960447244==
Content-Type: multipart/alternative; boundary=20cf307abe2543b89004c0cb83e4

--20cf307abe2543b89004c0cb83e4
Content-Type: text/plain; charset=ISO-8859-1

As I'm going through the code to clean-up XenClient's inter VM
communication
(V4V), I thought it would be a good idea to start a thread to talk about
the
fundamental differences between V4V and libvchan. I believe the two system
are
not clones of eachother and they serve different
purposes.


Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
about libvchan it coming from my reading of the code. If some of the facts
are wrong it's only due to my ignorance about the subject.

1. Why V4V?

About the time when we started XenClient (3 year ago) we were looking for a
lightweight inter VM communication scheme. We started working on a system
based on netchannel2 at the time called V2V (VM to VM). The system
was very similar to what libvchan is today, and we started to hit some
roadblocks:

    - The setup relied on a broker in dom0 to prepare the xenstore node
      permissions when a guest wanted to create a new connection. The code
      to do this setup was a single point of failure. If the
      broker was down you could create any more connections.
    - Symmetric communications were a nightmare. Take the case where A is a
      backend for B and B is a backend for A. If one of the domain crash the
      other one couldn't be destroyed because it has some paged mapped from
      the dead domain. This specific issue is probably fixed today.

Some of the downsides to using the shared memory grant method:
    - This method imposes an implicit ordering on domain destruction.
      When this ordering is not honored the grantor domain cannot shutdown
      while the grantee still holds references. In the extreme case where
      the grantee domain hangs or crashes without releasing it granted
      pages, both domains can end up hung and unstoppable (the DEADBEEF
      issue).
    - You can't trust any ring structures because the entire set of pages
      that are granted are available to be written by the either guest.
    - The PV connect/disconnect state-machine is poorly implemented.
      There's no trivial mechanism to synchronize disconnecting/reconnecting
      and dom0 must also allow the two domains to see parts of xenstore
      belonging to the other domain in the process.
    - Using the grant-ref model and having to map grant pages on each
      transfer cause updates to V->P memory mappings and thus leads to
      TLB misses and flushes (TLB flushes being expensive operations).

After a lot time spent trying to make the V2V solution work the way we
wanted,  we decided that we should look at a new design that wouldn't have
the issues mentioned above. At this point we started to work on V4V (V2V
version 2).

2. What is V4V?

One of the fundamental problem about V2V was that it didn't implement a
connection mechanism. If one end of the ring disappeared you had to hope
that you would received the xenstore watch that will sort everything out.

V4V is a inter-domain communication that supports 1 to many connections.
All the communications from a domain (even dom0) to another domain goes
through Xen and Xen forward the packet with a memory copies.

Here are some of the reasons why we think v4v is a good solution for
inter-domain communication.

Reasons why the V4V method is quite good even though it does memory copies:
    - Memory transfer speeds through the FSB in modern chipsets is quite
      fast. Speeds on the order of 10-12 Gb/s (over say 2 DRAM channels)
      can be realized.
    - Transfers on a single clock cycle using SSE(2)(3) instructions allow
      moving up to 128 bits at a time.
    - Locality of reference arguments with respect to processor caches
      imply even more speed-up due to likely cache hits (this may in fact
      make the most difference in mem copy speed).
    - V4V provides much better domain isolation since one domain's memory
      is never seen by another and the hypervisor (a trusted component)
      brokers all interactions. This also implies that the structure of
      the ring can be trusted.
    - Use of V4V obviates the event channel depletion issue since
      it doesn't consume individual channel bits when using VIRQs.
    - The projected overhead of VMEXITs (that was originally cited as a
      majorly limiting factor) did not manifest itself as an issue. In
      fact, it can be seen that in the worst case V4V is not causing
      many more VMEXITs than the shared memory grant method and in
      general is at parity with the existing method.
    - The implementation specifics of V4V make its use in both a Windows
      and a Unix/Linux type OS's very simple and natural (ReadFile/WriteFile
      and sockets respectively). In addition, V4V uses TCP/IP protocol
      semantics which are widely understood and it does not introduce an
      entire new protocol set that must be learned.
    - V4V comes with a userspace library that can be use to interpose
      the standard userspace socket layer. That mean that *any* network
      program can be "V4Ved" *without* behing recompiled.
      In fact we tried it on many program suchs as ssh, midori,
      dbus (TCP-IP), X11.
      This is possible because the underlying V4V protocol implement
      a V4V sementic and supports connection. Suchs feature will be
      really really hard to implement over the top of the current
      libvchan implementation.

3. V4V compared to libvchan

I've done some benchmarks on V4V and libchan and the results were
pretty close between the the two if you use the same buffer size in both
cases.


In conclusion, this is not an attempt to demonstrate that V4V is superior to
libvchan. Rather it is an attempt to illustrate that they can coexist in the
Xen ecosystem, helping to solve different sets of problems.

Thanks,
Jean

--20cf307abe2543b89004c0cb83e4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

As I&#39;m going through the code to clean-up XenClient&#39;s inter VM comm=
unication=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 <br>(V4V), I thought it would be a good idea to start a thread to=
 talk about the=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 <br>

fundamental differences between V4V and libvchan. I believe the two system =
are=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <b=
r>not clones of eachother and they serve different purposes.=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

<br>Disclaimer: I&#39;m not an expert in libvchan; most of the assertion I&=
#39;m doing<br>about libvchan it coming from my reading of the code. If som=
e of the facts<br>are wrong it&#39;s only due to my ignorance about the sub=
ject.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

<br>1. Why V4V?<br><br>About the time when we started XenClient (3 year ago=
) we were looking for a<br>lightweight inter VM communication scheme. We st=
arted working on a system=A0 <br>based on netchannel2 at the time called V2=
V (VM to VM). The system=A0=A0=A0=A0=A0=A0=A0=A0 <br>

was very similar to what libvchan is today, and we started to hit some=A0=
=A0=A0=A0 <br>roadblocks:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - The setup relied on a broker in dom0 to prepare the xenstore no=
de=A0=A0=A0 <br>=A0=A0=A0=A0=A0 permissions when a guest wanted to create a=
 new connection. The code <br>=A0=A0=A0=A0=A0 to do this setup was a single=
 point of failure. If the=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0=A0=A0 broker was down you could create any more connections.=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>=A0=A0=A0 - Symmetric communica=
tions were a nightmare. Take the case where A is a<br>=A0=A0=A0=A0=A0 backe=
nd for B and B is a backend for A. If one of the domain crash the<br>

=A0=A0=A0=A0=A0 other one couldn&#39;t be destroyed because it has some pag=
ed mapped from <br>=A0=A0=A0=A0=A0 the dead domain. This specific issue is =
probably fixed today.=A0=A0=A0=A0=A0=A0=A0=A0 <br><br>Some of the downsides=
 to using the shared memory grant method:<br>

=A0=A0=A0 - This method imposes an implicit ordering on domain destruction.=
<br>=A0=A0=A0=A0=A0 When this ordering is not honored the grantor domain ca=
nnot shutdown<br>=A0=A0=A0=A0=A0 while the grantee still holds references. =
In the extreme case where <br>

=A0=A0=A0=A0=A0 the grantee domain hangs or crashes without releasing it gr=
anted=A0=A0=A0 <br>=A0=A0=A0=A0=A0 pages, both domains can end up hung and =
unstoppable (the DEADBEEF=A0=A0 <br>=A0=A0=A0=A0=A0 issue).=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - You can&#39;t trust any ring structures because the entire set =
of pages <br>=A0=A0=A0=A0=A0 that are granted are available to be written b=
y the either guest.=A0=A0 <br>=A0=A0=A0 - The PV connect/disconnect state-m=
achine is poorly implemented.=A0=A0=A0=A0=A0 <br>

=A0=A0=A0=A0=A0 There&#39;s no trivial mechanism to synchronize disconnecti=
ng/reconnecting<br>=A0=A0=A0=A0=A0 and dom0 must also allow the two domains=
 to see parts of xenstore=A0=A0=A0=A0 <br>=A0=A0=A0=A0=A0 belonging to the =
other domain in the process.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - Using the grant-ref model and having to map grant pages on each=
=A0=A0=A0=A0=A0=A0 <br>=A0=A0=A0=A0=A0 transfer cause updates to V-&gt;P me=
mory mappings and thus leads to=A0=A0=A0=A0=A0 <br>=A0=A0=A0=A0=A0 TLB miss=
es and flushes (TLB flushes being expensive operations).=A0=A0=A0=A0=A0 <br=
>

<br>After a lot time spent trying to make the V2V solution work the way we<=
br>wanted,=A0 we decided that we should look at a new design that wouldn&#3=
9;t have<br>the issues mentioned above. At this point we started to work on=
 V4V (V2V version 2).<br>

<br>2. What is V4V?<br><br>One of the fundamental problem about V2V was tha=
t it didn&#39;t implement a<br>connection mechanism. If one end of the ring=
 disappeared you had to hope<br>that you would received the xenstore watch =
that will sort everything out.<br>

<br>V4V is a inter-domain communication that supports 1 to many connections=
.<br>All the communications from a domain (even dom0) to another domain goe=
s <br>through Xen and Xen forward the packet with a memory copies.=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 <br>

<br>Here are some of the reasons why we think v4v is a good solution for<br=
>inter-domain communication.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
 <br><br>Reasons why the V4V method is quite good even though it does memor=
y copies:<br>

=A0=A0=A0 - Memory transfer speeds through the FSB in modern chipsets is qu=
ite=A0=A0 <br>=A0=A0=A0=A0=A0 fast. Speeds on the order of 10-12 Gb/s (over=
 say 2 DRAM channels)=A0=A0 <br>=A0=A0=A0=A0=A0 can be realized.=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <b=
r>

=A0=A0=A0 - Transfers on a single clock cycle using SSE(2)(3) instructions =
allow <br>=A0=A0=A0=A0=A0 moving up to 128 bits at a time.=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 <br>=A0=A0=A0 - Locality of reference arguments with res=
pect to processor caches=A0=A0=A0=A0 <br>

=A0=A0=A0=A0=A0 imply even more speed-up due to likely cache hits (this may=
 in fact=A0 <br>=A0=A0=A0=A0=A0 make the most difference in mem copy speed)=
.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <=
br>=A0=A0=A0 - V4V provides much better domain isolation since one domain&#=
39;s memory=A0 <br>

=A0=A0=A0=A0=A0 is never seen by another and the hypervisor (a trusted comp=
onent)=A0=A0=A0 <br>=A0=A0=A0=A0=A0 brokers all interactions. This also imp=
lies that the structure of=A0=A0=A0 <br>=A0=A0=A0=A0=A0 the ring can be tru=
sted.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - Use of V4V obviates the event channel depletion issue since<br>=
=A0=A0=A0=A0=A0 it doesn&#39;t consume individual channel bits when using V=
IRQs.<br>=A0=A0=A0 - The projected overhead of VMEXITs (that was originally=
 cited as a<br>=A0=A0=A0=A0=A0 majorly limiting factor) did not manifest it=
self as an issue. In<br>

=A0=A0=A0=A0=A0 fact, it can be seen that in the worst case V4V is not caus=
ing<br>=A0=A0=A0=A0=A0 many more VMEXITs than the shared memory grant metho=
d and in<br>=A0=A0=A0=A0=A0 general is at parity with the existing method.<=
br>=A0=A0=A0 - The implementation specifics of V4V make its use in both a W=
indows<br>

=A0=A0=A0=A0=A0 and a Unix/Linux type OS&#39;s very simple and natural (Rea=
dFile/WriteFile<br>=A0=A0=A0=A0=A0 and sockets respectively). In addition, =
V4V uses TCP/IP protocol<br>=A0=A0=A0=A0=A0 semantics which are widely unde=
rstood and it does not introduce an<br>

=A0=A0=A0=A0=A0 entire new protocol set that must be learned.<br>=A0=A0=A0 =
- V4V comes with a userspace library that can be use to interpose<br>=A0=A0=
=A0=A0=A0 the standard userspace socket layer. That mean that *any* network=
<br>=A0=A0=A0=A0=A0 program can be &quot;V4Ved&quot; *without* behing recom=
piled.<br>

=A0=A0=A0=A0=A0 In fact we tried it on many program suchs as ssh, midori,<b=
r>=A0=A0=A0=A0=A0 dbus (TCP-IP), X11.<br>=A0=A0=A0=A0=A0 This is possible b=
ecause the underlying V4V protocol implement<br>=A0=A0=A0=A0=A0 a V4V semen=
tic and supports connection. Suchs feature will be<br>

=A0=A0=A0=A0=A0 really really hard to implement over the top of the current=
<br>=A0=A0=A0=A0=A0 libvchan implementation.<br><br>3. V4V compared to libv=
chan<br><br>I&#39;ve done some benchmarks on V4V and libchan and the result=
s were<br>pretty close between the the two if you use the same buffer size =
in both cases.<br>

<br><br>In conclusion, this is not an attempt to demonstrate that V4V is su=
perior to<br>libvchan. Rather it is an attempt to illustrate that they can =
coexist in the<br>Xen ecosystem, helping to solve different sets of problem=
s.<br>

<br>Thanks,<br>Jean<br>

--20cf307abe2543b89004c0cb83e4--


--===============4192999363960447244==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4192999363960447244==--


From xen-devel-bounces@lists.xen.org Thu May 24 17:24:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:24:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXblK-00035U-EO; Thu, 24 May 2012 17:23:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXblI-00035P-FH
	for xen-devel@lists.xen.org; Thu, 24 May 2012 17:23:44 +0000
Received: from [85.158.138.51:11109] by server-4.bemta-3.messagelabs.com id
	AF/7A-25780-F9E6EBF4; Thu, 24 May 2012 17:23:43 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337880220!22612570!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26814 invoked from network); 24 May 2012 17:23:41 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 17:23:41 -0000
Received: by vbbfn1 with SMTP id fn1so15534vbb.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 10:23:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:from:date:message-id:subject:to:cc:content-type;
	bh=imApPI31D2O6/UEAJkE83Js4TwVoKSB3c3KwE003Kmw=;
	b=sZ3L/Gka1G8IlP1gO/mIMzNbIJzQodLTbnVdf6zVF/i8+DhT3lehYkJf6gb82LUBtX
	ADUuH505b4fsBsQ4QRUzs97OIuFBKZJgyZjs6ODRdC+rrEhUFPAJOEJ/LSVOhh9lEv94
	u7x6BxSNCjWHsFypkWvGQ8fJ1Ah8xrDArCsYrIdHEywYZFRdS30KRJ+hoHuSW3TcOzri
	yAOGvLvyZjckPVXeWVZkxleC3SNY9xdZ9KNDBBVDvbTtzBs7aQo0OsD2/9UIBUhXkltX
	ujAH8zMc//c7UhZ9RZYQJycLHzX3Lmi/DyWZLh2mU9bFAokxNHqgTnbWM4u/f/0Yu9Xg
	mdcA==
Received: by 10.52.21.51 with SMTP id s19mr222415vde.35.1337880219989; Thu, 24
	May 2012 10:23:39 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Thu, 24 May 2012 10:23:19 -0700 (PDT)
From: Jean Guyader <jean.guyader@gmail.com>
Date: Thu, 24 May 2012 18:23:19 +0100
Message-ID: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
To: xen-devel@lists.xen.org
Cc: Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	James McKenzie <James.McKenzie@citrix.com>
Subject: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4192999363960447244=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4192999363960447244==
Content-Type: multipart/alternative; boundary=20cf307abe2543b89004c0cb83e4

--20cf307abe2543b89004c0cb83e4
Content-Type: text/plain; charset=ISO-8859-1

As I'm going through the code to clean-up XenClient's inter VM
communication
(V4V), I thought it would be a good idea to start a thread to talk about
the
fundamental differences between V4V and libvchan. I believe the two system
are
not clones of eachother and they serve different
purposes.


Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
about libvchan it coming from my reading of the code. If some of the facts
are wrong it's only due to my ignorance about the subject.

1. Why V4V?

About the time when we started XenClient (3 year ago) we were looking for a
lightweight inter VM communication scheme. We started working on a system
based on netchannel2 at the time called V2V (VM to VM). The system
was very similar to what libvchan is today, and we started to hit some
roadblocks:

    - The setup relied on a broker in dom0 to prepare the xenstore node
      permissions when a guest wanted to create a new connection. The code
      to do this setup was a single point of failure. If the
      broker was down you could create any more connections.
    - Symmetric communications were a nightmare. Take the case where A is a
      backend for B and B is a backend for A. If one of the domain crash the
      other one couldn't be destroyed because it has some paged mapped from
      the dead domain. This specific issue is probably fixed today.

Some of the downsides to using the shared memory grant method:
    - This method imposes an implicit ordering on domain destruction.
      When this ordering is not honored the grantor domain cannot shutdown
      while the grantee still holds references. In the extreme case where
      the grantee domain hangs or crashes without releasing it granted
      pages, both domains can end up hung and unstoppable (the DEADBEEF
      issue).
    - You can't trust any ring structures because the entire set of pages
      that are granted are available to be written by the either guest.
    - The PV connect/disconnect state-machine is poorly implemented.
      There's no trivial mechanism to synchronize disconnecting/reconnecting
      and dom0 must also allow the two domains to see parts of xenstore
      belonging to the other domain in the process.
    - Using the grant-ref model and having to map grant pages on each
      transfer cause updates to V->P memory mappings and thus leads to
      TLB misses and flushes (TLB flushes being expensive operations).

After a lot time spent trying to make the V2V solution work the way we
wanted,  we decided that we should look at a new design that wouldn't have
the issues mentioned above. At this point we started to work on V4V (V2V
version 2).

2. What is V4V?

One of the fundamental problem about V2V was that it didn't implement a
connection mechanism. If one end of the ring disappeared you had to hope
that you would received the xenstore watch that will sort everything out.

V4V is a inter-domain communication that supports 1 to many connections.
All the communications from a domain (even dom0) to another domain goes
through Xen and Xen forward the packet with a memory copies.

Here are some of the reasons why we think v4v is a good solution for
inter-domain communication.

Reasons why the V4V method is quite good even though it does memory copies:
    - Memory transfer speeds through the FSB in modern chipsets is quite
      fast. Speeds on the order of 10-12 Gb/s (over say 2 DRAM channels)
      can be realized.
    - Transfers on a single clock cycle using SSE(2)(3) instructions allow
      moving up to 128 bits at a time.
    - Locality of reference arguments with respect to processor caches
      imply even more speed-up due to likely cache hits (this may in fact
      make the most difference in mem copy speed).
    - V4V provides much better domain isolation since one domain's memory
      is never seen by another and the hypervisor (a trusted component)
      brokers all interactions. This also implies that the structure of
      the ring can be trusted.
    - Use of V4V obviates the event channel depletion issue since
      it doesn't consume individual channel bits when using VIRQs.
    - The projected overhead of VMEXITs (that was originally cited as a
      majorly limiting factor) did not manifest itself as an issue. In
      fact, it can be seen that in the worst case V4V is not causing
      many more VMEXITs than the shared memory grant method and in
      general is at parity with the existing method.
    - The implementation specifics of V4V make its use in both a Windows
      and a Unix/Linux type OS's very simple and natural (ReadFile/WriteFile
      and sockets respectively). In addition, V4V uses TCP/IP protocol
      semantics which are widely understood and it does not introduce an
      entire new protocol set that must be learned.
    - V4V comes with a userspace library that can be use to interpose
      the standard userspace socket layer. That mean that *any* network
      program can be "V4Ved" *without* behing recompiled.
      In fact we tried it on many program suchs as ssh, midori,
      dbus (TCP-IP), X11.
      This is possible because the underlying V4V protocol implement
      a V4V sementic and supports connection. Suchs feature will be
      really really hard to implement over the top of the current
      libvchan implementation.

3. V4V compared to libvchan

I've done some benchmarks on V4V and libchan and the results were
pretty close between the the two if you use the same buffer size in both
cases.


In conclusion, this is not an attempt to demonstrate that V4V is superior to
libvchan. Rather it is an attempt to illustrate that they can coexist in the
Xen ecosystem, helping to solve different sets of problems.

Thanks,
Jean

--20cf307abe2543b89004c0cb83e4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

As I&#39;m going through the code to clean-up XenClient&#39;s inter VM comm=
unication=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0 <br>(V4V), I thought it would be a good idea to start a thread to=
 talk about the=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 <br>

fundamental differences between V4V and libvchan. I believe the two system =
are=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <b=
r>not clones of eachother and they serve different purposes.=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

<br>Disclaimer: I&#39;m not an expert in libvchan; most of the assertion I&=
#39;m doing<br>about libvchan it coming from my reading of the code. If som=
e of the facts<br>are wrong it&#39;s only due to my ignorance about the sub=
ject.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

<br>1. Why V4V?<br><br>About the time when we started XenClient (3 year ago=
) we were looking for a<br>lightweight inter VM communication scheme. We st=
arted working on a system=A0 <br>based on netchannel2 at the time called V2=
V (VM to VM). The system=A0=A0=A0=A0=A0=A0=A0=A0 <br>

was very similar to what libvchan is today, and we started to hit some=A0=
=A0=A0=A0 <br>roadblocks:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - The setup relied on a broker in dom0 to prepare the xenstore no=
de=A0=A0=A0 <br>=A0=A0=A0=A0=A0 permissions when a guest wanted to create a=
 new connection. The code <br>=A0=A0=A0=A0=A0 to do this setup was a single=
 point of failure. If the=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0=A0=A0 broker was down you could create any more connections.=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>=A0=A0=A0 - Symmetric communica=
tions were a nightmare. Take the case where A is a<br>=A0=A0=A0=A0=A0 backe=
nd for B and B is a backend for A. If one of the domain crash the<br>

=A0=A0=A0=A0=A0 other one couldn&#39;t be destroyed because it has some pag=
ed mapped from <br>=A0=A0=A0=A0=A0 the dead domain. This specific issue is =
probably fixed today.=A0=A0=A0=A0=A0=A0=A0=A0 <br><br>Some of the downsides=
 to using the shared memory grant method:<br>

=A0=A0=A0 - This method imposes an implicit ordering on domain destruction.=
<br>=A0=A0=A0=A0=A0 When this ordering is not honored the grantor domain ca=
nnot shutdown<br>=A0=A0=A0=A0=A0 while the grantee still holds references. =
In the extreme case where <br>

=A0=A0=A0=A0=A0 the grantee domain hangs or crashes without releasing it gr=
anted=A0=A0=A0 <br>=A0=A0=A0=A0=A0 pages, both domains can end up hung and =
unstoppable (the DEADBEEF=A0=A0 <br>=A0=A0=A0=A0=A0 issue).=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - You can&#39;t trust any ring structures because the entire set =
of pages <br>=A0=A0=A0=A0=A0 that are granted are available to be written b=
y the either guest.=A0=A0 <br>=A0=A0=A0 - The PV connect/disconnect state-m=
achine is poorly implemented.=A0=A0=A0=A0=A0 <br>

=A0=A0=A0=A0=A0 There&#39;s no trivial mechanism to synchronize disconnecti=
ng/reconnecting<br>=A0=A0=A0=A0=A0 and dom0 must also allow the two domains=
 to see parts of xenstore=A0=A0=A0=A0 <br>=A0=A0=A0=A0=A0 belonging to the =
other domain in the process.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - Using the grant-ref model and having to map grant pages on each=
=A0=A0=A0=A0=A0=A0 <br>=A0=A0=A0=A0=A0 transfer cause updates to V-&gt;P me=
mory mappings and thus leads to=A0=A0=A0=A0=A0 <br>=A0=A0=A0=A0=A0 TLB miss=
es and flushes (TLB flushes being expensive operations).=A0=A0=A0=A0=A0 <br=
>

<br>After a lot time spent trying to make the V2V solution work the way we<=
br>wanted,=A0 we decided that we should look at a new design that wouldn&#3=
9;t have<br>the issues mentioned above. At this point we started to work on=
 V4V (V2V version 2).<br>

<br>2. What is V4V?<br><br>One of the fundamental problem about V2V was tha=
t it didn&#39;t implement a<br>connection mechanism. If one end of the ring=
 disappeared you had to hope<br>that you would received the xenstore watch =
that will sort everything out.<br>

<br>V4V is a inter-domain communication that supports 1 to many connections=
.<br>All the communications from a domain (even dom0) to another domain goe=
s <br>through Xen and Xen forward the packet with a memory copies.=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 <br>

<br>Here are some of the reasons why we think v4v is a good solution for<br=
>inter-domain communication.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
 <br><br>Reasons why the V4V method is quite good even though it does memor=
y copies:<br>

=A0=A0=A0 - Memory transfer speeds through the FSB in modern chipsets is qu=
ite=A0=A0 <br>=A0=A0=A0=A0=A0 fast. Speeds on the order of 10-12 Gb/s (over=
 say 2 DRAM channels)=A0=A0 <br>=A0=A0=A0=A0=A0 can be realized.=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <b=
r>

=A0=A0=A0 - Transfers on a single clock cycle using SSE(2)(3) instructions =
allow <br>=A0=A0=A0=A0=A0 moving up to 128 bits at a time.=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0 <br>=A0=A0=A0 - Locality of reference arguments with res=
pect to processor caches=A0=A0=A0=A0 <br>

=A0=A0=A0=A0=A0 imply even more speed-up due to likely cache hits (this may=
 in fact=A0 <br>=A0=A0=A0=A0=A0 make the most difference in mem copy speed)=
.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <=
br>=A0=A0=A0 - V4V provides much better domain isolation since one domain&#=
39;s memory=A0 <br>

=A0=A0=A0=A0=A0 is never seen by another and the hypervisor (a trusted comp=
onent)=A0=A0=A0 <br>=A0=A0=A0=A0=A0 brokers all interactions. This also imp=
lies that the structure of=A0=A0=A0 <br>=A0=A0=A0=A0=A0 the ring can be tru=
sted.=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>

=A0=A0=A0 - Use of V4V obviates the event channel depletion issue since<br>=
=A0=A0=A0=A0=A0 it doesn&#39;t consume individual channel bits when using V=
IRQs.<br>=A0=A0=A0 - The projected overhead of VMEXITs (that was originally=
 cited as a<br>=A0=A0=A0=A0=A0 majorly limiting factor) did not manifest it=
self as an issue. In<br>

=A0=A0=A0=A0=A0 fact, it can be seen that in the worst case V4V is not caus=
ing<br>=A0=A0=A0=A0=A0 many more VMEXITs than the shared memory grant metho=
d and in<br>=A0=A0=A0=A0=A0 general is at parity with the existing method.<=
br>=A0=A0=A0 - The implementation specifics of V4V make its use in both a W=
indows<br>

=A0=A0=A0=A0=A0 and a Unix/Linux type OS&#39;s very simple and natural (Rea=
dFile/WriteFile<br>=A0=A0=A0=A0=A0 and sockets respectively). In addition, =
V4V uses TCP/IP protocol<br>=A0=A0=A0=A0=A0 semantics which are widely unde=
rstood and it does not introduce an<br>

=A0=A0=A0=A0=A0 entire new protocol set that must be learned.<br>=A0=A0=A0 =
- V4V comes with a userspace library that can be use to interpose<br>=A0=A0=
=A0=A0=A0 the standard userspace socket layer. That mean that *any* network=
<br>=A0=A0=A0=A0=A0 program can be &quot;V4Ved&quot; *without* behing recom=
piled.<br>

=A0=A0=A0=A0=A0 In fact we tried it on many program suchs as ssh, midori,<b=
r>=A0=A0=A0=A0=A0 dbus (TCP-IP), X11.<br>=A0=A0=A0=A0=A0 This is possible b=
ecause the underlying V4V protocol implement<br>=A0=A0=A0=A0=A0 a V4V semen=
tic and supports connection. Suchs feature will be<br>

=A0=A0=A0=A0=A0 really really hard to implement over the top of the current=
<br>=A0=A0=A0=A0=A0 libvchan implementation.<br><br>3. V4V compared to libv=
chan<br><br>I&#39;ve done some benchmarks on V4V and libchan and the result=
s were<br>pretty close between the the two if you use the same buffer size =
in both cases.<br>

<br><br>In conclusion, this is not an attempt to demonstrate that V4V is su=
perior to<br>libvchan. Rather it is an attempt to illustrate that they can =
coexist in the<br>Xen ecosystem, helping to solve different sets of problem=
s.<br>

<br>Thanks,<br>Jean<br>

--20cf307abe2543b89004c0cb83e4--


--===============4192999363960447244==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4192999363960447244==--


From xen-devel-bounces@lists.xen.org Thu May 24 17:36:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXbxB-0003NE-6e; Thu, 24 May 2012 17:36:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXbxA-0003Mx-Gg
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 17:36:00 +0000
Received: from [193.109.254.147:56398] by server-11.bemta-14.messagelabs.com
	id 05/54-05858-F717EBF4; Thu, 24 May 2012 17:35:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337880957!3368536!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26166 invoked from network); 24 May 2012 17:35:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 17:35:58 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OHZq6a022680
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 17:35:53 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OHZpZt026848
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 17:35:52 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OHZp8X021332; Thu, 24 May 2012 12:35:51 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 10:35:51 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 58027402FB; Thu, 24 May 2012 13:29:21 -0400 (EDT)
Date: Thu, 24 May 2012 13:29:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524172921.GD24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:58:11AM +0100, Stefano Stabellini wrote:
> On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > All of the bind_XYZ_to_irq do a quick lookup to see if the
> > event exists. And if they that value is returned instead of
> 
>                            ^

Lack of filters for coffee caused that :-)

> 
> > initialized. This patch adds an extra logic to check that the
> > type returned is the proper one and we can use it to find
> > drivers that are doing something naught.
> > 
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  drivers/xen/events.c |   11 +++++++++--
> >  1 files changed, 9 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> > index faae2f9..093851b 100644
> > --- a/drivers/xen/events.c
> > +++ b/drivers/xen/events.c
> > @@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
> >  					      handle_edge_irq, "event");
> >  
> >  		xen_irq_info_evtchn_init(irq, evtchn);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info && info->type != IRQT_EVTCHN);
> >  	}
> 
> considering that when evtchn_to_irq[evtchn] is != -1, a corresponding
> struct irq_info is always supposed to exists, shouldn't this be:
> 
> WARN_ON(info == NULL || info->type != IRQT_EVTCHN);

<nods> Much better. Will do that.

> 
> ?
> 
> 
> >  out:
> > @@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
> >  		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
> >  
> >  		bind_evtchn_to_cpu(evtchn, cpu);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info && info->type != IRQT_IPI);
> >  	}
> > -
> >   out:
> >  	mutex_unlock(&irq_mapping_update_lock);
> >  	return irq;
> > @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
> >  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
> >  
> >  		bind_evtchn_to_cpu(evtchn, cpu);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info && info->type != IRQT_VIRQ);
> >  	}
> > -
> >  out:
> >  	mutex_unlock(&irq_mapping_update_lock);
> 
> same here
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 17:36:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXbxB-0003NE-6e; Thu, 24 May 2012 17:36:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXbxA-0003Mx-Gg
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 17:36:00 +0000
Received: from [193.109.254.147:56398] by server-11.bemta-14.messagelabs.com
	id 05/54-05858-F717EBF4; Thu, 24 May 2012 17:35:59 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337880957!3368536!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26166 invoked from network); 24 May 2012 17:35:58 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 17:35:58 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OHZq6a022680
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 17:35:53 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OHZpZt026848
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 17:35:52 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OHZp8X021332; Thu, 24 May 2012 12:35:51 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 10:35:51 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 58027402FB; Thu, 24 May 2012 13:29:21 -0400 (EDT)
Date: Thu, 24 May 2012 13:29:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524172921.GD24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:58:11AM +0100, Stefano Stabellini wrote:
> On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > All of the bind_XYZ_to_irq do a quick lookup to see if the
> > event exists. And if they that value is returned instead of
> 
>                            ^

Lack of filters for coffee caused that :-)

> 
> > initialized. This patch adds an extra logic to check that the
> > type returned is the proper one and we can use it to find
> > drivers that are doing something naught.
> > 
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  drivers/xen/events.c |   11 +++++++++--
> >  1 files changed, 9 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> > index faae2f9..093851b 100644
> > --- a/drivers/xen/events.c
> > +++ b/drivers/xen/events.c
> > @@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
> >  					      handle_edge_irq, "event");
> >  
> >  		xen_irq_info_evtchn_init(irq, evtchn);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info && info->type != IRQT_EVTCHN);
> >  	}
> 
> considering that when evtchn_to_irq[evtchn] is != -1, a corresponding
> struct irq_info is always supposed to exists, shouldn't this be:
> 
> WARN_ON(info == NULL || info->type != IRQT_EVTCHN);

<nods> Much better. Will do that.

> 
> ?
> 
> 
> >  out:
> > @@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
> >  		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
> >  
> >  		bind_evtchn_to_cpu(evtchn, cpu);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info && info->type != IRQT_IPI);
> >  	}
> > -
> >   out:
> >  	mutex_unlock(&irq_mapping_update_lock);
> >  	return irq;
> > @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
> >  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
> >  
> >  		bind_evtchn_to_cpu(evtchn, cpu);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info && info->type != IRQT_VIRQ);
> >  	}
> > -
> >  out:
> >  	mutex_unlock(&irq_mapping_update_lock);
> 
> same here
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 17:38:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXbyx-0003bk-Ra; Thu, 24 May 2012 17:37:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXbyw-0003bP-2F
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 17:37:50 +0000
Received: from [85.158.139.83:31284] by server-4.bemta-5.messagelabs.com id
	0F/B4-16506-DE17EBF4; Thu, 24 May 2012 17:37:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337881066!16428449!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1MjMxNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29623 invoked from network); 24 May 2012 17:37:48 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 17:37:48 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OHbfFD014252
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 17:37:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OHbeZl003302
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 17:37:41 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OHbeFe007512; Thu, 24 May 2012 12:37:40 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 10:37:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 93AA1402FB; Thu, 24 May 2012 13:31:10 -0400 (EDT)
Date: Thu, 24 May 2012 13:31:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524173110.GE24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
 HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:47:12AM +0100, Stefano Stabellini wrote:
> On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > We weren't resetting the parameter to be passed in to a
> > known default. Nor were we checking the return value of
> > hvm_get_parameter.
> > 
> > CC: stable@kernel.org
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >
> >  drivers/tty/hvc/hvc_xen.c |    3 ++-
> >  1 files changed, 2 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> > index afc7fc2..3277f0e 100644
> > --- a/drivers/tty/hvc/hvc_xen.c
> > +++ b/drivers/tty/hvc/hvc_xen.c
> > @@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
> >  	if (r < 0)
> >  		goto err;
> >  	info->evtchn = v;
> > -	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> > +	v = 0;
> > +	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> >  	if (r < 0)
> >  		goto err;
> >  	mfn = v;
> 
> Is 0 the right default here?
> Maybe something invalid like (~0UL) would be better?

Perhaps both? The zero is the default non-initialized value. But
-0UL is also a good check value.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 17:38:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXbyx-0003bk-Ra; Thu, 24 May 2012 17:37:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXbyw-0003bP-2F
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 17:37:50 +0000
Received: from [85.158.139.83:31284] by server-4.bemta-5.messagelabs.com id
	0F/B4-16506-DE17EBF4; Thu, 24 May 2012 17:37:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337881066!16428449!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1MjMxNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29623 invoked from network); 24 May 2012 17:37:48 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 17:37:48 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OHbfFD014252
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 17:37:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OHbeZl003302
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 17:37:41 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OHbeFe007512; Thu, 24 May 2012 12:37:40 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 10:37:40 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 93AA1402FB; Thu, 24 May 2012 13:31:10 -0400 (EDT)
Date: Thu, 24 May 2012 13:31:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524173110.GE24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
 HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:47:12AM +0100, Stefano Stabellini wrote:
> On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > We weren't resetting the parameter to be passed in to a
> > known default. Nor were we checking the return value of
> > hvm_get_parameter.
> > 
> > CC: stable@kernel.org
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >
> >  drivers/tty/hvc/hvc_xen.c |    3 ++-
> >  1 files changed, 2 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> > index afc7fc2..3277f0e 100644
> > --- a/drivers/tty/hvc/hvc_xen.c
> > +++ b/drivers/tty/hvc/hvc_xen.c
> > @@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
> >  	if (r < 0)
> >  		goto err;
> >  	info->evtchn = v;
> > -	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> > +	v = 0;
> > +	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> >  	if (r < 0)
> >  		goto err;
> >  	mfn = v;
> 
> Is 0 the right default here?
> Maybe something invalid like (~0UL) would be better?

Perhaps both? The zero is the default non-initialized value. But
-0UL is also a good check value.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 17:57:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcHJ-0004EW-TF; Thu, 24 May 2012 17:56:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SXcHI-0004ER-VA
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 17:56:49 +0000
Received: from [85.158.143.35:10912] by server-2.bemta-4.messagelabs.com id
	3C/9C-12211-0667EBF4; Thu, 24 May 2012 17:56:48 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337882206!14585146!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15012 invoked from network); 24 May 2012 17:56:46 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-16.tower-21.messagelabs.com with SMTP;
	24 May 2012 17:56:46 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q4OHuiMg021781;
	Thu, 24 May 2012 13:56:44 -0400
Message-ID: <4FBE765B.5090906@theshore.net>
Date: Thu, 24 May 2012 13:56:43 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen devel <xen-devel@lists.xensource.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120511183012.GB21486@phenom.dumpdata.com>
	<9B6030CC-6E1F-469E-8C97-8331222BF9CC@theshore.net>
In-Reply-To: <9B6030CC-6E1F-469E-8C97-8331222BF9CC@theshore.net>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Same Xen, but now with a 64 bit dom0 and 64 bit userspace we were able 
to trigger this across about 15 machines within 48 hours (which is an 
improvement):

BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
IP: [<ffffffff8134cbc2>] inode_has_perm+0x12/0x40
PGD 27248067 PUD 5390067 PMD 0
Oops: 0000 [#1] SMP
CPU 6
Modules linked in: ebtable_nat xen_gntdev e1000e
Pid: 3550, comm: lvremove Not tainted 3.3.6-1-x86_64 #1 Supermicro 
X8DT6/X8DT6
RIP: e030:[<ffffffff8134cbc2>]  [<ffffffff8134cbc2>] 
inode_has_perm+0x12/0x40
RSP: e02b:ffff880023219bc8  EFLAGS: 00010246
RAX: 0000000000800002 RBX: ffff88000fedae90 RCX: ffff880023219bd8
RDX: 0000000000800000 RSI: 0000000000000000 RDI: ffff8800270c51e0
RBP: ffff880023219bc8 R08: 0000000000000080 R09: ffff88000fedae90
R10: ffff8800273f1b40 R11: ffff880023219bd8 R12: 0000000000000081
R13: ffff88000fedae90 R14: ffff880025ad8009 R15: ffff880025ad8008
FS:  00007f5a9af837a0(0000) GS:ffff88003fd80000(0063) 
knlGS:0000000000000000
CS:  e033 DS: 002b ES: 002b CR0: 000000008005003b
CR2: 0000000000000020 CR3: 000000000aa15000 CR4: 0000000000002660
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process lvremove (pid: 3550, threadinfo ffff880023218000, task 
ffff88000e371d40)
Stack:
  ffff880023219c68 ffffffff8134d109 0000000000000009 0000000000000000
  ffff88000fedae90 0000000000000000 0000000000000000 0000000000000000
  0000000000000000 0000000000000000 0000000000000000 0000000000000000
Call Trace:
  [<ffffffff8134d109>] selinux_inode_permission+0xa9/0x100
  [<ffffffff8134ad37>] security_inode_permission+0x17/0x20
  [<ffffffff8113244c>] inode_permission+0x3c/0xd0
  [<ffffffff81134b21>] link_path_walk+0x91/0x800
  [<ffffffff81135903>] path_lookupat+0x53/0x690
  [<ffffffff8134d01d>] ? path_has_perm+0x4d/0x50
  [<ffffffff81135f6c>] do_path_lookup+0x2c/0xc0
  [<ffffffff81136717>] user_path_parent+0x47/0x80
  [<ffffffff81136a0e>] do_unlinkat+0x2e/0x1d0
  [<ffffffff8112bd09>] ? vfs_lstat+0x19/0x20
  [<ffffffff810431fe>] ? sys32_lstat64+0x2e/0x40
  [<ffffffff81136bc1>] sys_unlink+0x11/0x20
  [<ffffffff81731416>] sysenter_dispatch+0x7/0x21
  [<ffffffff8100961d>] ? xen_force_evtchn_callback+0xd/0x10
  [<ffffffff81009de2>] ? check_events+0x12/0x20
Code: 00 e8 b3 44 dd ff c9 c3 48 81 ff ff 0f 00 00 77 e8 0f 0b eb fe 0f 
1f 40 00 55 48 89 e5 f6 46 0d 02 75 23 48 8b 76 38 48 8b 7f 68 <0f> b7 
46 20 45 89 c1 8b 76 1c 49 89 c8 8b 7f 04 89 d1 89 c2 e8
RIP  [<ffffffff8134cbc2>] inode_has_perm+0x12/0x40
  RSP <ffff880023219bc8>
CR2: 0000000000000020
---[ end trace 9f021822c5071694 ]---

A different trace, but curious that it was triggered by lvm userspace still.

Have disabled SELinux and we've reset the test across about 25 machines.

-Chris


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 17:57:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 17:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcHJ-0004EW-TF; Thu, 24 May 2012 17:56:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <caker@theshore.net>) id 1SXcHI-0004ER-VA
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 17:56:49 +0000
Received: from [85.158.143.35:10912] by server-2.bemta-4.messagelabs.com id
	3C/9C-12211-0667EBF4; Thu, 24 May 2012 17:56:48 +0000
X-Env-Sender: caker@theshore.net
X-Msg-Ref: server-16.tower-21.messagelabs.com!1337882206!14585146!1
X-Originating-IP: [67.18.92.50]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15012 invoked from network); 24 May 2012 17:56:46 -0000
Received: from ns.theshore.net (HELO www.theshore.net) (67.18.92.50)
	by server-16.tower-21.messagelabs.com with SMTP;
	24 May 2012 17:56:46 -0000
Received: from beefcake.linlan
	(173-161-199-49-Philadelphia.hfc.comcastbusiness.net
	[173.161.199.49])
	by www.theshore.net (8.13.6/8.9.1) with ESMTP id q4OHuiMg021781;
	Thu, 24 May 2012 13:56:44 -0400
Message-ID: <4FBE765B.5090906@theshore.net>
Date: Thu, 24 May 2012 13:56:43 -0400
From: "Christopher S. Aker" <caker@theshore.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen devel <xen-devel@lists.xensource.com>
References: <4FA7EBF6.6040204@theshore.net>
	<20120511183012.GB21486@phenom.dumpdata.com>
	<9B6030CC-6E1F-469E-8C97-8331222BF9CC@theshore.net>
In-Reply-To: <9B6030CC-6E1F-469E-8C97-8331222BF9CC@theshore.net>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] LVM userspace causing dom0 crash
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Same Xen, but now with a 64 bit dom0 and 64 bit userspace we were able 
to trigger this across about 15 machines within 48 hours (which is an 
improvement):

BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
IP: [<ffffffff8134cbc2>] inode_has_perm+0x12/0x40
PGD 27248067 PUD 5390067 PMD 0
Oops: 0000 [#1] SMP
CPU 6
Modules linked in: ebtable_nat xen_gntdev e1000e
Pid: 3550, comm: lvremove Not tainted 3.3.6-1-x86_64 #1 Supermicro 
X8DT6/X8DT6
RIP: e030:[<ffffffff8134cbc2>]  [<ffffffff8134cbc2>] 
inode_has_perm+0x12/0x40
RSP: e02b:ffff880023219bc8  EFLAGS: 00010246
RAX: 0000000000800002 RBX: ffff88000fedae90 RCX: ffff880023219bd8
RDX: 0000000000800000 RSI: 0000000000000000 RDI: ffff8800270c51e0
RBP: ffff880023219bc8 R08: 0000000000000080 R09: ffff88000fedae90
R10: ffff8800273f1b40 R11: ffff880023219bd8 R12: 0000000000000081
R13: ffff88000fedae90 R14: ffff880025ad8009 R15: ffff880025ad8008
FS:  00007f5a9af837a0(0000) GS:ffff88003fd80000(0063) 
knlGS:0000000000000000
CS:  e033 DS: 002b ES: 002b CR0: 000000008005003b
CR2: 0000000000000020 CR3: 000000000aa15000 CR4: 0000000000002660
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process lvremove (pid: 3550, threadinfo ffff880023218000, task 
ffff88000e371d40)
Stack:
  ffff880023219c68 ffffffff8134d109 0000000000000009 0000000000000000
  ffff88000fedae90 0000000000000000 0000000000000000 0000000000000000
  0000000000000000 0000000000000000 0000000000000000 0000000000000000
Call Trace:
  [<ffffffff8134d109>] selinux_inode_permission+0xa9/0x100
  [<ffffffff8134ad37>] security_inode_permission+0x17/0x20
  [<ffffffff8113244c>] inode_permission+0x3c/0xd0
  [<ffffffff81134b21>] link_path_walk+0x91/0x800
  [<ffffffff81135903>] path_lookupat+0x53/0x690
  [<ffffffff8134d01d>] ? path_has_perm+0x4d/0x50
  [<ffffffff81135f6c>] do_path_lookup+0x2c/0xc0
  [<ffffffff81136717>] user_path_parent+0x47/0x80
  [<ffffffff81136a0e>] do_unlinkat+0x2e/0x1d0
  [<ffffffff8112bd09>] ? vfs_lstat+0x19/0x20
  [<ffffffff810431fe>] ? sys32_lstat64+0x2e/0x40
  [<ffffffff81136bc1>] sys_unlink+0x11/0x20
  [<ffffffff81731416>] sysenter_dispatch+0x7/0x21
  [<ffffffff8100961d>] ? xen_force_evtchn_callback+0xd/0x10
  [<ffffffff81009de2>] ? check_events+0x12/0x20
Code: 00 e8 b3 44 dd ff c9 c3 48 81 ff ff 0f 00 00 77 e8 0f 0b eb fe 0f 
1f 40 00 55 48 89 e5 f6 46 0d 02 75 23 48 8b 76 38 48 8b 7f 68 <0f> b7 
46 20 45 89 c1 8b 76 1c 49 89 c8 8b 7f 04 89 d1 89 c2 e8
RIP  [<ffffffff8134cbc2>] inode_has_perm+0x12/0x40
  RSP <ffff880023219bc8>
CR2: 0000000000000020
---[ end trace 9f021822c5071694 ]---

A different trace, but curious that it was triggered by lvm userspace still.

Have disabled SELinux and we've reset the test across about 25 machines.

-Chris


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:05:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:05:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcPJ-0004Tc-Re; Thu, 24 May 2012 18:05:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SXcPI-0004TX-9M
	for xen-devel@lists.xen.org; Thu, 24 May 2012 18:05:04 +0000
Received: from [85.158.143.99:19524] by server-3.bemta-4.messagelabs.com id
	C9/CA-05853-F487EBF4; Thu, 24 May 2012 18:05:03 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337882702!22627613!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15390 invoked from network); 24 May 2012 18:05:02 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 18:05:02 -0000
Received: by eaak12 with SMTP id k12so16704eaa.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 11:05:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=kdgXhO9KIl/ZBS5OOq3hs13u4XSG5r7hNjaqhnivCMM=;
	b=Cbow7ZsbvY/h0xDjzFtvjeyEp9O8t0yAXjBcSTc9O2fw4nExNhpFmx41E6a/wPX2FX
	aNnUWL2uFCO05xcu6LXIudqdTkjR/o7DBYxuWIHoZ8hI0mNoEny/d+4ipIbrqwhPEF83
	8i5vF3GCQkJBuULWB1k39ramgVpvbPNtgipNpN1YkNHEqW16DIF9FICrkM0cxGyjMMwV
	CcE9XtYh0mM9meQlh75T897PRbVkQpws53W1VWZkhyVEse22BCzO7ml1kgIgrw+6cjv5
	54/ENXdb0cNQvrrtNyRrbu1jePhlthQ3ZllLrXM/tBbDrR7DKjU4DX2pNbMqPn8WQwXr
	NnZw==
Received: by 10.14.45.3 with SMTP id o3mr87796eeb.24.1337882701960;
	Thu, 24 May 2012 11:05:01 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id g51sm3475907eea.14.2012.05.24.11.04.59
	(version=SSLv3 cipher=OTHER); Thu, 24 May 2012 11:05:01 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Thu, 24 May 2012 19:04:51 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xen.org>
Message-ID: <CBE436D3.342EC%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] x86_64: Fix double fault stack setup
Thread-Index: Ac0517a5X7YTRyIvLEuC9+iaUMhqFQ==
In-Reply-To: <4FBE53B7.2080703@citrix.com>
Mime-version: 1.0
Cc: Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/2012 16:28, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:

> Ah yes - how silly of me.  I misread the manual when checking that fact,
> but this was an INT 08 experiment.  I really should have checked with a
> ud2 as well.
> 
> That is a bit awkward.
> 
> Do we actually care about this error from an INT 08?  I suppose we could
> check under rip for 0xcd 0x08, but then the same argument would apply to
> all other exceptions which may push an error onto the stack.
> 
> Do we care however that entry_vector is not being set correctly?  I cant
> see anything on the current codepath which uses it, but it doesn't
> preclude someone adding code in the future.

It would be a simple one-line patch and make that entry point consistent
with all other exception-handling entry points. So I'm in favour of it.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:05:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:05:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcPJ-0004Tc-Re; Thu, 24 May 2012 18:05:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SXcPI-0004TX-9M
	for xen-devel@lists.xen.org; Thu, 24 May 2012 18:05:04 +0000
Received: from [85.158.143.99:19524] by server-3.bemta-4.messagelabs.com id
	C9/CA-05853-F487EBF4; Thu, 24 May 2012 18:05:03 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337882702!22627613!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15390 invoked from network); 24 May 2012 18:05:02 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 18:05:02 -0000
Received: by eaak12 with SMTP id k12so16704eaa.32
	for <xen-devel@lists.xen.org>; Thu, 24 May 2012 11:05:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=kdgXhO9KIl/ZBS5OOq3hs13u4XSG5r7hNjaqhnivCMM=;
	b=Cbow7ZsbvY/h0xDjzFtvjeyEp9O8t0yAXjBcSTc9O2fw4nExNhpFmx41E6a/wPX2FX
	aNnUWL2uFCO05xcu6LXIudqdTkjR/o7DBYxuWIHoZ8hI0mNoEny/d+4ipIbrqwhPEF83
	8i5vF3GCQkJBuULWB1k39ramgVpvbPNtgipNpN1YkNHEqW16DIF9FICrkM0cxGyjMMwV
	CcE9XtYh0mM9meQlh75T897PRbVkQpws53W1VWZkhyVEse22BCzO7ml1kgIgrw+6cjv5
	54/ENXdb0cNQvrrtNyRrbu1jePhlthQ3ZllLrXM/tBbDrR7DKjU4DX2pNbMqPn8WQwXr
	NnZw==
Received: by 10.14.45.3 with SMTP id o3mr87796eeb.24.1337882701960;
	Thu, 24 May 2012 11:05:01 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id g51sm3475907eea.14.2012.05.24.11.04.59
	(version=SSLv3 cipher=OTHER); Thu, 24 May 2012 11:05:01 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Thu, 24 May 2012 19:04:51 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xen.org>
Message-ID: <CBE436D3.342EC%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] x86_64: Fix double fault stack setup
Thread-Index: Ac0517a5X7YTRyIvLEuC9+iaUMhqFQ==
In-Reply-To: <4FBE53B7.2080703@citrix.com>
Mime-version: 1.0
Cc: Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 24/05/2012 16:28, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:

> Ah yes - how silly of me.  I misread the manual when checking that fact,
> but this was an INT 08 experiment.  I really should have checked with a
> ud2 as well.
> 
> That is a bit awkward.
> 
> Do we actually care about this error from an INT 08?  I suppose we could
> check under rip for 0xcd 0x08, but then the same argument would apply to
> all other exceptions which may push an error onto the stack.
> 
> Do we care however that entry_vector is not being set correctly?  I cant
> see anything on the current codepath which uses it, but it doesn't
> preclude someone adding code in the future.

It would be a simple one-line patch and make that entry point consistent
with all other exception-handling entry points. So I'm in favour of it.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:15:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:15:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcZF-0004dN-3P; Thu, 24 May 2012 18:15:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXcZD-0004dI-9l
	for xen-devel@lists.xen.org; Thu, 24 May 2012 18:15:19 +0000
Received: from [85.158.143.35:24621] by server-1.bemta-4.messagelabs.com id
	3D/9A-00342-6BA7EBF4; Thu, 24 May 2012 18:15:18 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337883315!17190861!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18279 invoked from network); 24 May 2012 18:15:17 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 18:15:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,652,1330923600"; d="scan'208";a="25667159"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 14:15:14 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 14:15:14 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXcZ8-0004Hi-BI;
	Thu, 24 May 2012 19:15:14 +0100
Message-ID: <4FBE7AB2.3070408@citrix.com>
Date: Thu, 24 May 2012 19:15:14 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Keir Fraser <keir.xen@gmail.com>
References: <CBE436D3.342EC%keir.xen@gmail.com>
In-Reply-To: <CBE436D3.342EC%keir.xen@gmail.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------060905030304020701050103"
Cc: Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------060905030304020701050103
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

On 24/05/12 19:04, Keir Fraser wrote:
> On 24/05/2012 16:28, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:
>
>> Ah yes - how silly of me.  I misread the manual when checking that fact,
>> but this was an INT 08 experiment.  I really should have checked with a
>> ud2 as well.
>>
>> That is a bit awkward.
>>
>> Do we actually care about this error from an INT 08?  I suppose we could
>> check under rip for 0xcd 0x08, but then the same argument would apply to
>> all other exceptions which may push an error onto the stack.
>>
>> Do we care however that entry_vector is not being set correctly?  I cant
>> see anything on the current codepath which uses it, but it doesn't
>> preclude someone adding code in the future.
> It would be a simple one-line patch and make that entry point consistent
> with all other exception-handling entry points. So I'm in favour of it.
>
>  -- Keir

Ok - attached.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------060905030304020701050103
Content-Type: text/x-patch; name="x86_64-double-fault-entry-vector.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="x86_64-double-fault-entry-vector.patch"

# HG changeset patch
# Parent 69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
x86_64: Record entry vector for double faults.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -595,6 +595,7 @@ ENTRY(spurious_interrupt_bug)
         jmp   handle_exception
 
 ENTRY(double_fault)
+        movl $TRAP_double_fault,4(%rsp)
         SAVE_ALL
         movq  %rsp,%rdi
         call  do_double_fault

--------------060905030304020701050103
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------060905030304020701050103--


From xen-devel-bounces@lists.xen.org Thu May 24 18:15:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:15:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcZF-0004dN-3P; Thu, 24 May 2012 18:15:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andrew.Cooper3@citrix.com>) id 1SXcZD-0004dI-9l
	for xen-devel@lists.xen.org; Thu, 24 May 2012 18:15:19 +0000
Received: from [85.158.143.35:24621] by server-1.bemta-4.messagelabs.com id
	3D/9A-00342-6BA7EBF4; Thu, 24 May 2012 18:15:18 +0000
X-Env-Sender: Andrew.Cooper3@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337883315!17190861!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDU2NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18279 invoked from network); 24 May 2012 18:15:17 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 18:15:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,652,1330923600"; d="scan'208";a="25667159"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	24 May 2012 14:15:14 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 24 May 2012 14:15:14 -0400
Received: from andrewcoop.uk.xensource.com ([10.80.2.18])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<andrew.cooper3@citrix.com>)	id 1SXcZ8-0004Hi-BI;
	Thu, 24 May 2012 19:15:14 +0100
Message-ID: <4FBE7AB2.3070408@citrix.com>
Date: Thu, 24 May 2012 19:15:14 +0100
From: Andrew Cooper <andrew.cooper3@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Keir Fraser <keir.xen@gmail.com>
References: <CBE436D3.342EC%keir.xen@gmail.com>
In-Reply-To: <CBE436D3.342EC%keir.xen@gmail.com>
X-Enigmail-Version: 1.4.1
Content-Type: multipart/mixed; boundary="------------060905030304020701050103"
Cc: Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------060905030304020701050103
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

On 24/05/12 19:04, Keir Fraser wrote:
> On 24/05/2012 16:28, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:
>
>> Ah yes - how silly of me.  I misread the manual when checking that fact,
>> but this was an INT 08 experiment.  I really should have checked with a
>> ud2 as well.
>>
>> That is a bit awkward.
>>
>> Do we actually care about this error from an INT 08?  I suppose we could
>> check under rip for 0xcd 0x08, but then the same argument would apply to
>> all other exceptions which may push an error onto the stack.
>>
>> Do we care however that entry_vector is not being set correctly?  I cant
>> see anything on the current codepath which uses it, but it doesn't
>> preclude someone adding code in the future.
> It would be a simple one-line patch and make that entry point consistent
> with all other exception-handling entry points. So I'm in favour of it.
>
>  -- Keir

Ok - attached.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


--------------060905030304020701050103
Content-Type: text/x-patch; name="x86_64-double-fault-entry-vector.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="x86_64-double-fault-entry-vector.patch"

# HG changeset patch
# Parent 69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
x86_64: Record entry vector for double faults.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r 69c3ae25bb1d xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -595,6 +595,7 @@ ENTRY(spurious_interrupt_bug)
         jmp   handle_exception
 
 ENTRY(double_fault)
+        movl $TRAP_double_fault,4(%rsp)
         SAVE_ALL
         movq  %rsp,%rdi
         call  do_double_fault

--------------060905030304020701050103
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------060905030304020701050103--


From xen-devel-bounces@lists.xen.org Thu May 24 18:26:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:26:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcjE-0004mj-76; Thu, 24 May 2012 18:25:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXcjC-0004me-FE
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:25:38 +0000
Received: from [85.158.138.51:21200] by server-2.bemta-3.messagelabs.com id
	BF/8E-27819-12D7EBF4; Thu, 24 May 2012 18:25:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337883935!22620065!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18531 invoked from network); 24 May 2012 18:25:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:25:36 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIPUL4006169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:25:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIPT6Q008039
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:25:30 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIPTbV022612; Thu, 24 May 2012 13:25:29 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:25:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3B999402FB; Thu, 24 May 2012 14:18:59 -0400 (EDT)
Date: Thu, 24 May 2012 14:18:59 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524181859.GK24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
	<20120524173110.GE24934@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120524173110.GE24934@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
 HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 01:31:10PM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, May 24, 2012 at 11:47:12AM +0100, Stefano Stabellini wrote:
> > On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > > We weren't resetting the parameter to be passed in to a
> > > known default. Nor were we checking the return value of
> > > hvm_get_parameter.
> > > 
> > > CC: stable@kernel.org
> > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > >
> > >  drivers/tty/hvc/hvc_xen.c |    3 ++-
> > >  1 files changed, 2 insertions(+), 1 deletions(-)
> > > 
> > > diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> > > index afc7fc2..3277f0e 100644
> > > --- a/drivers/tty/hvc/hvc_xen.c
> > > +++ b/drivers/tty/hvc/hvc_xen.c
> > > @@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
> > >  	if (r < 0)
> > >  		goto err;
> > >  	info->evtchn = v;
> > > -	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> > > +	v = 0;
> > > +	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> > >  	if (r < 0)
> > >  		goto err;
> > >  	mfn = v;
> > 
> > Is 0 the right default here?
> > Maybe something invalid like (~0UL) would be better?
> 
> Perhaps both? The zero is the default non-initialized value. But
> -0UL is also a good check value.

Somehow I misread your comment as checking the return value, not the
default value.

I think zero is the right choice as that is the default non-initialized
value.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:26:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:26:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcjE-0004mj-76; Thu, 24 May 2012 18:25:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXcjC-0004me-FE
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:25:38 +0000
Received: from [85.158.138.51:21200] by server-2.bemta-3.messagelabs.com id
	BF/8E-27819-12D7EBF4; Thu, 24 May 2012 18:25:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337883935!22620065!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18531 invoked from network); 24 May 2012 18:25:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:25:36 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIPUL4006169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:25:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIPT6Q008039
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:25:30 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIPTbV022612; Thu, 24 May 2012 13:25:29 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:25:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3B999402FB; Thu, 24 May 2012 14:18:59 -0400 (EDT)
Date: Thu, 24 May 2012 14:18:59 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524181859.GK24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241145200.26786@kaball-desktop>
	<20120524173110.GE24934@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120524173110.GE24934@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/4] xen/hvc: Fix error cases around
 HVM_PARAM_CONSOLE_PFN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 01:31:10PM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, May 24, 2012 at 11:47:12AM +0100, Stefano Stabellini wrote:
> > On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > > We weren't resetting the parameter to be passed in to a
> > > known default. Nor were we checking the return value of
> > > hvm_get_parameter.
> > > 
> > > CC: stable@kernel.org
> > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > >
> > >  drivers/tty/hvc/hvc_xen.c |    3 ++-
> > >  1 files changed, 2 insertions(+), 1 deletions(-)
> > > 
> > > diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> > > index afc7fc2..3277f0e 100644
> > > --- a/drivers/tty/hvc/hvc_xen.c
> > > +++ b/drivers/tty/hvc/hvc_xen.c
> > > @@ -219,7 +219,8 @@ static int xen_hvm_console_init(void)
> > >  	if (r < 0)
> > >  		goto err;
> > >  	info->evtchn = v;
> > > -	hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> > > +	v = 0;
> > > +	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> > >  	if (r < 0)
> > >  		goto err;
> > >  	mfn = v;
> > 
> > Is 0 the right default here?
> > Maybe something invalid like (~0UL) would be better?
> 
> Perhaps both? The zero is the default non-initialized value. But
> -0UL is also a good check value.

Somehow I misread your comment as checking the return value, not the
default value.

I think zero is the right choice as that is the default non-initialized
value.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:31:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXco5-0004v6-Ur; Thu, 24 May 2012 18:30:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXco5-0004uz-Ex
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:30:41 +0000
Received: from [85.158.138.51:54587] by server-5.bemta-3.messagelabs.com id
	1F/28-25552-05E7EBF4; Thu, 24 May 2012 18:30:40 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337884238!28869711!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13761 invoked from network); 24 May 2012 18:30:39 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:30:39 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIUYeJ010947
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:30:35 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIUYng015568
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:30:34 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIUXRw011083; Thu, 24 May 2012 13:30:33 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:30:33 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D28D3402FB; Thu, 24 May 2012 14:24:03 -0400 (EDT)
Date: Thu, 24 May 2012 14:24:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524182403.GL24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/4] xen/hvc: Check
 HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> I think that we should add a comment stating that even though mfn = 0
> and evtchn = 0 are theoretically correct values, in practice they never
> are and they mean that a legacy toolstack hasn't initialized the pv
> console correctly.

Like this?

>From 5842f5768599094758931b74190cdf93641a8e35 Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 23 May 2012 12:56:59 -0400
Subject: [PATCH] xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for
 correctness.

We need to make sure that those parameters are setup to be correct.
As such the value of 0 is deemed invalid and we find that we
bail out. The hypervisor sets by default all of them to be zero
and when the hypercall is done does a simple:

 a.value = d->arch.hvm_domain.params[a.index];

Which means that if the Xen toolstack forgot to setup the proper
HVM_PARAM_CONSOLE_EVTCHN (or the PFN one), we would get the
default value of 0 and use that.

CC: stable@kernel.org
Fixes-Oracle-Bug: 14091238
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index 3277f0e..944eaeb 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -214,14 +214,19 @@ static int xen_hvm_console_init(void)
 	/* already configured */
 	if (info->intf != NULL)
 		return 0;
-
+	/*
+	 * If the toolstack (or the hypervisor) hasn't set these values, the
+	 * default value is 0. Even though mfn = 0 and evtchn = 0 are
+	 * theoretically correct values, in practice they never are and they
+	 * mean that a legacy toolstack hasn't initialized the pv console correctly.
+	 */
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	info->evtchn = v;
 	v = 0;
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	mfn = v;
 	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:31:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXco5-0004v6-Ur; Thu, 24 May 2012 18:30:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXco5-0004uz-Ex
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:30:41 +0000
Received: from [85.158.138.51:54587] by server-5.bemta-3.messagelabs.com id
	1F/28-25552-05E7EBF4; Thu, 24 May 2012 18:30:40 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337884238!28869711!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13761 invoked from network); 24 May 2012 18:30:39 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:30:39 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIUYeJ010947
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:30:35 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIUYng015568
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:30:34 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIUXRw011083; Thu, 24 May 2012 13:30:33 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:30:33 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D28D3402FB; Thu, 24 May 2012 14:24:03 -0400 (EDT)
Date: Thu, 24 May 2012 14:24:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524182403.GL24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/4] xen/hvc: Check
 HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> I think that we should add a comment stating that even though mfn = 0
> and evtchn = 0 are theoretically correct values, in practice they never
> are and they mean that a legacy toolstack hasn't initialized the pv
> console correctly.

Like this?

>From 5842f5768599094758931b74190cdf93641a8e35 Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 23 May 2012 12:56:59 -0400
Subject: [PATCH] xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for
 correctness.

We need to make sure that those parameters are setup to be correct.
As such the value of 0 is deemed invalid and we find that we
bail out. The hypervisor sets by default all of them to be zero
and when the hypercall is done does a simple:

 a.value = d->arch.hvm_domain.params[a.index];

Which means that if the Xen toolstack forgot to setup the proper
HVM_PARAM_CONSOLE_EVTCHN (or the PFN one), we would get the
default value of 0 and use that.

CC: stable@kernel.org
Fixes-Oracle-Bug: 14091238
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/tty/hvc/hvc_xen.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index 3277f0e..944eaeb 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -214,14 +214,19 @@ static int xen_hvm_console_init(void)
 	/* already configured */
 	if (info->intf != NULL)
 		return 0;
-
+	/*
+	 * If the toolstack (or the hypervisor) hasn't set these values, the
+	 * default value is 0. Even though mfn = 0 and evtchn = 0 are
+	 * theoretically correct values, in practice they never are and they
+	 * mean that a legacy toolstack hasn't initialized the pv console correctly.
+	 */
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	info->evtchn = v;
 	v = 0;
 	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
-	if (r < 0)
+	if (r < 0 || v == 0)
 		goto err;
 	mfn = v;
 	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:35:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:35:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcsC-00055G-KB; Thu, 24 May 2012 18:34:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXcsB-00055A-Rf
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:34:56 +0000
Received: from [85.158.143.99:32720] by server-3.bemta-4.messagelabs.com id
	33/A8-05853-F4F7EBF4; Thu, 24 May 2012 18:34:55 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337884492!22127396!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3781 invoked from network); 24 May 2012 18:34:53 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:34:53 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIYmND014733
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:34:49 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIYmat002560
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:34:48 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIYlIT013973; Thu, 24 May 2012 13:34:47 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:34:47 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DCBEB402FB; Thu, 24 May 2012 14:28:17 -0400 (EDT)
Date: Thu, 24 May 2012 14:28:17 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524182817.GM24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:58:11AM +0100, Stefano Stabellini wrote:
> On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > All of the bind_XYZ_to_irq do a quick lookup to see if the
> > event exists. And if they that value is returned instead of
> 
>                            ^

... snip. How about this:

>From 5963cc2699db7b2893e7925bd2e68ada9d97e8ef Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 23 May 2012 13:28:44 -0400
Subject: [PATCH] xen/events: Add WARN_ON when quick lookup found invalid
 type.

All of the bind_XYZ_to_irq do a quick lookup to see if the
event exists. And if it does, then the initialized IRQ number
is returned instead of initializing a new IRQ number.

This patch adds an extra logic to check that the type returned
is proper one and that there is an IRQ handler setup for it.

This patch has the benefit of being able to find drivers that
are doing something naught.

[v1: Enhanced based on Stefano's review]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/xen/events.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index faae2f9..81f338a 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
 					      handle_edge_irq, "event");
 
 		xen_irq_info_evtchn_init(irq, evtchn);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info == NULL || info->type != IRQT_EVTCHN);
 	}
 
 out:
@@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
 		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info == NULL || info->type != IRQT_IPI);
 	}
-
  out:
 	mutex_unlock(&irq_mapping_update_lock);
 	return irq;
@@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
 		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
 	}
-
 out:
 	mutex_unlock(&irq_mapping_update_lock);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:35:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:35:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXcsC-00055G-KB; Thu, 24 May 2012 18:34:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXcsB-00055A-Rf
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:34:56 +0000
Received: from [85.158.143.99:32720] by server-3.bemta-4.messagelabs.com id
	33/A8-05853-F4F7EBF4; Thu, 24 May 2012 18:34:55 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337884492!22127396!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3781 invoked from network); 24 May 2012 18:34:53 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:34:53 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIYmND014733
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:34:49 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIYmat002560
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:34:48 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIYlIT013973; Thu, 24 May 2012 13:34:47 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:34:47 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DCBEB402FB; Thu, 24 May 2012 14:28:17 -0400 (EDT)
Date: Thu, 24 May 2012 14:28:17 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120524182817.GM24934@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 11:58:11AM +0100, Stefano Stabellini wrote:
> On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > All of the bind_XYZ_to_irq do a quick lookup to see if the
> > event exists. And if they that value is returned instead of
> 
>                            ^

... snip. How about this:

>From 5963cc2699db7b2893e7925bd2e68ada9d97e8ef Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 23 May 2012 13:28:44 -0400
Subject: [PATCH] xen/events: Add WARN_ON when quick lookup found invalid
 type.

All of the bind_XYZ_to_irq do a quick lookup to see if the
event exists. And if it does, then the initialized IRQ number
is returned instead of initializing a new IRQ number.

This patch adds an extra logic to check that the type returned
is proper one and that there is an IRQ handler setup for it.

This patch has the benefit of being able to find drivers that
are doing something naught.

[v1: Enhanced based on Stefano's review]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/xen/events.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index faae2f9..81f338a 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
 					      handle_edge_irq, "event");
 
 		xen_irq_info_evtchn_init(irq, evtchn);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info == NULL || info->type != IRQT_EVTCHN);
 	}
 
 out:
@@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
 		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info == NULL || info->type != IRQT_IPI);
 	}
-
  out:
 	mutex_unlock(&irq_mapping_update_lock);
 	return irq;
@@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
 		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
 
 		bind_evtchn_to_cpu(evtchn, cpu);
+	} else {
+		struct irq_info *info = info_for_irq(irq);
+		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
 	}
-
 out:
 	mutex_unlock(&irq_mapping_update_lock);
 
-- 
1.7.7.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:57:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:57:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXdD8-0005Gm-HZ; Thu, 24 May 2012 18:56:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXdD6-0005Gh-J3
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:56:32 +0000
Received: from [85.158.143.99:40200] by server-3.bemta-4.messagelabs.com id
	9E/8E-05853-F548EBF4; Thu, 24 May 2012 18:56:31 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337885789!18468277!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15509 invoked from network); 24 May 2012 18:56:31 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:56:31 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIuJl0003153
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:56:20 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIuIv6024996
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:56:19 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIuHxj010837; Thu, 24 May 2012 13:56:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:56:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D7A78402FB; Thu, 24 May 2012 14:49:47 -0400 (EDT)
Date: Thu, 24 May 2012 14:49:47 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524184947.GA28338@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >>>> -static struct miscdevice mce_chrdev_device = {
> >>>> +struct miscdevice mce_chrdev_device = {
> >>>>  	MISC_MCELOG_MINOR,
> >>>>  	"mcelog",
> >>>>  	&mce_chrdev_ops,
> >>> 
> >>> You're still reusing those - pls, define your own 'struct miscdevice
> >>> mce_chrdev_device' in drivers/xen/ or somewhere convenient and
> >>> your own mce_chrdev_ops. The only thing you should be touching in
> >>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> >>> 
> >>> Thanks.
> >> 
> >> I'm *not* reuse native code.
> >> I have defined 'struct miscdevice xen_mce_chrdev_device' in
> >> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
> >> xen-self-contained.  
> >> 
> >> The patch just redirect native mce_chrdev_device to
> >> xen_mce_chrdev_device when running under xen environment. 
> >> It didn't change any native code (except just cancel
> >> mce_chrdev_device 'static'), and will not break native logic. 
> > 
> > Why are you doing that?
> > 
> > Why don't you do
> > 
> > 	misc_register(&xen_mce_chrdev_device);
> > 
> > in xen_early_init_mcelog() ?
> > 
> > This way there'll be no arch/x86/ dependencies at all.
> 
> The reason is, if we do so, it would be covered by native misc_register(&mce_chrdev_device) later when native kernel init (xen init first and then start native kernel).

Won't the second registration (so the original one) of the major fail? So the mce_log
would just error out since somebody already registered?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 18:57:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 18:57:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXdD8-0005Gm-HZ; Thu, 24 May 2012 18:56:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXdD6-0005Gh-J3
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 18:56:32 +0000
Received: from [85.158.143.99:40200] by server-3.bemta-4.messagelabs.com id
	9E/8E-05853-F548EBF4; Thu, 24 May 2012 18:56:31 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337885789!18468277!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15509 invoked from network); 24 May 2012 18:56:31 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 18:56:31 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OIuJl0003153
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 18:56:20 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OIuIv6024996
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 18:56:19 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OIuHxj010837; Thu, 24 May 2012 13:56:18 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 11:56:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D7A78402FB; Thu, 24 May 2012 14:49:47 -0400 (EDT)
Date: Thu, 24 May 2012 14:49:47 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524184947.GA28338@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >>>> -static struct miscdevice mce_chrdev_device = {
> >>>> +struct miscdevice mce_chrdev_device = {
> >>>>  	MISC_MCELOG_MINOR,
> >>>>  	"mcelog",
> >>>>  	&mce_chrdev_ops,
> >>> 
> >>> You're still reusing those - pls, define your own 'struct miscdevice
> >>> mce_chrdev_device' in drivers/xen/ or somewhere convenient and
> >>> your own mce_chrdev_ops. The only thing you should be touching in
> >>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> >>> 
> >>> Thanks.
> >> 
> >> I'm *not* reuse native code.
> >> I have defined 'struct miscdevice xen_mce_chrdev_device' in
> >> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
> >> xen-self-contained.  
> >> 
> >> The patch just redirect native mce_chrdev_device to
> >> xen_mce_chrdev_device when running under xen environment. 
> >> It didn't change any native code (except just cancel
> >> mce_chrdev_device 'static'), and will not break native logic. 
> > 
> > Why are you doing that?
> > 
> > Why don't you do
> > 
> > 	misc_register(&xen_mce_chrdev_device);
> > 
> > in xen_early_init_mcelog() ?
> > 
> > This way there'll be no arch/x86/ dependencies at all.
> 
> The reason is, if we do so, it would be covered by native misc_register(&mce_chrdev_device) later when native kernel init (xen init first and then start native kernel).

Won't the second registration (so the original one) of the major fail? So the mce_log
would just error out since somebody already registered?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 19:17:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 19:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXdXL-0005Wd-Iz; Thu, 24 May 2012 19:17:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXdXJ-0005WY-US
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 19:17:26 +0000
Received: from [85.158.143.35:41795] by server-2.bemta-4.messagelabs.com id
	0B/7C-12211-4498EBF4; Thu, 24 May 2012 19:17:24 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337887042!17196939!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1MjMxNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22592 invoked from network); 24 May 2012 19:17:23 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 19:17:23 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OJHABf013253
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 19:17:11 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OJH9GF002784
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 19:17:10 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OJH90o010069; Thu, 24 May 2012 14:17:09 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 12:17:09 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7A632402FB; Thu, 24 May 2012 15:10:39 -0400 (EDT)
Date: Thu, 24 May 2012 15:10:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524191039.GB28338@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> The reason is, if we do so, it would be covered by native
> >> misc_register(&mce_chrdev_device) later when native kernel init (xen
> >> init first and then start native kernel).  
> >> Under such case, if linux running under xen platform, /dev/mcelog
> >> point to vcpu, that's pointless since it cannot get any mcelog from
> >> physical cpu (which owned by xen).  
> >> 
> >> Yes, we can use another misc device like /dev/xen-mcelog, w/ another
> >> device minor like 226, but that's not good for userspace mcelog
> >> tools. As far as I know, Novell mcelog use unified /dev/mcelog
> >> interface for linux running under either bare metal or xen platform.
> > 
> > Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
> > 
> > That should solve it.
> 
> Kernel has created a file /dev/mcelog no matter running at native or xen platform.
> If xen try to mask kernel creating /dev/mcelog, that would be harmful to native kernel.

Huh? The Xen code won't run under native kernel so how will it mask it?
> 
> > 
> >> This patch just do redirection at xen code path, and that would not
> >> hurt anything to native kernel.
> > 
> > My concern is that if we remove /dev/mcelog one day, xen people will
> > cry.

Hehe.

The goal here is to serve the distros so to say. So if the distros
stop using /dev/mcelog and the /dev/mcelog goes away we won't cry b/c
well, the user of it has gone away!

So the moment you remove that, pls CC us so we can remove it too
and retool to use the MCElogv2.

> 
> Don't worry :) 
> Xen people would handle that case (that's not trouble for xen), just notify us is enough.
> If kernel really remove /dev/mcelog some day, xen just need simply add 1 line misc_register(&xen_mce_chrdev_device), since currently all other code are xen-self-contained.

Well, I will delete it. My customer is distro (Fedora, Debian, Oracle
and SuSE)- and if the distro is not using it there is not point
of keeping it.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 19:17:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 19:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXdXL-0005Wd-Iz; Thu, 24 May 2012 19:17:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXdXJ-0005WY-US
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 19:17:26 +0000
Received: from [85.158.143.35:41795] by server-2.bemta-4.messagelabs.com id
	0B/7C-12211-4498EBF4; Thu, 24 May 2012 19:17:24 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337887042!17196939!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1MjMxNA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22592 invoked from network); 24 May 2012 19:17:23 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 19:17:23 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OJHABf013253
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 19:17:11 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OJH9GF002784
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 19:17:10 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OJH90o010069; Thu, 24 May 2012 14:17:09 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 12:17:09 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 7A632402FB; Thu, 24 May 2012 15:10:39 -0400 (EDT)
Date: Thu, 24 May 2012 15:10:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120524191039.GB28338@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> The reason is, if we do so, it would be covered by native
> >> misc_register(&mce_chrdev_device) later when native kernel init (xen
> >> init first and then start native kernel).  
> >> Under such case, if linux running under xen platform, /dev/mcelog
> >> point to vcpu, that's pointless since it cannot get any mcelog from
> >> physical cpu (which owned by xen).  
> >> 
> >> Yes, we can use another misc device like /dev/xen-mcelog, w/ another
> >> device minor like 226, but that's not good for userspace mcelog
> >> tools. As far as I know, Novell mcelog use unified /dev/mcelog
> >> interface for linux running under either bare metal or xen platform.
> > 
> > Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
> > 
> > That should solve it.
> 
> Kernel has created a file /dev/mcelog no matter running at native or xen platform.
> If xen try to mask kernel creating /dev/mcelog, that would be harmful to native kernel.

Huh? The Xen code won't run under native kernel so how will it mask it?
> 
> > 
> >> This patch just do redirection at xen code path, and that would not
> >> hurt anything to native kernel.
> > 
> > My concern is that if we remove /dev/mcelog one day, xen people will
> > cry.

Hehe.

The goal here is to serve the distros so to say. So if the distros
stop using /dev/mcelog and the /dev/mcelog goes away we won't cry b/c
well, the user of it has gone away!

So the moment you remove that, pls CC us so we can remove it too
and retool to use the MCElogv2.

> 
> Don't worry :) 
> Xen people would handle that case (that's not trouble for xen), just notify us is enough.
> If kernel really remove /dev/mcelog some day, xen just need simply add 1 line misc_register(&xen_mce_chrdev_device), since currently all other code are xen-self-contained.

Well, I will delete it. My customer is distro (Fedora, Debian, Oracle
and SuSE)- and if the distro is not using it there is not point
of keeping it.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 19:44:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 19:44:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXdwx-0005jD-Ro; Thu, 24 May 2012 19:43:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXdww-0005j8-OI
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 19:43:54 +0000
Received: from [85.158.139.83:38869] by server-7.bemta-5.messagelabs.com id
	07/F8-15932-A7F8EBF4; Thu, 24 May 2012 19:43:54 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337888630!26256350!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29423 invoked from network); 24 May 2012 19:43:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 19:43:52 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OJhkTo015402
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 19:43:47 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OJhjKP028319
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 19:43:46 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OJhjq4027299; Thu, 24 May 2012 14:43:45 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 12:43:45 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A135442112; Thu, 24 May 2012 15:37:14 -0400 (EDT)
Date: Thu, 24 May 2012 15:37:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>
Message-ID: <20120524193714.GA29726@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Subject: [Xen-devel] PV multiconsole bug during resume.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

So .. we used to have in the event.c a spin_lock to protect the
irq_mapping_update_lock, but with git commit  773659483685d652970583384a0294948e57f8b3
"xen/irq: Alter the locking to use a mutex instead of a spinlock."
I changed it to a mutex b/c we keept on getting WARNs.

But now I get this when I resume a PVHVM guest:

Grant tables using version 2 layout.
BUG: sleeping function called from invalid context at /home/konrad/ssd/linux/kernel/mutex.c:85
in_atomic(): 1, irqs_disabled(): 1, pid: 6, name: migration/0
Pid: 6, comm: migration/0 Tainted: G           O 3.4.0upstream-00113-g598ff45-dirty #1
Call Trace:
 [<ffffffff8109830a>] __might_sleep+0xda/0x100
 [<ffffffff815a47f7>] mutex_lock+0x27/0x50
 [<ffffffff81311ea6>] rebind_evtchn_irq+0x36/0x90
 [<ffffffff81341bfc>] xen_console_resume+0x5c/0x60
 [<ffffffff81313fea>] xen_suspend+0x8a/0xb0
 [<ffffffff810d42f3>] stop_machine_cpu_stop+0xa3/0xf0
 [<ffffffff810d4250>] ? stop_one_cpu_nowait+0x50/0x50
 [<ffffffff810d3f81>] cpu_stopper_thread+0xf1/0x1c0
 [<ffffffff815a5be6>] ? __schedule+0x3c6/0x760
 [<ffffffff815a6bb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
 [<ffffffff810d3e90>] ? res_counter_charge+0x150/0x150
 [<ffffffff8108e636>] kthread+0x96/0xa0
 [<ffffffff815aeb24>] kernel_thread_helper+0x4/0x10
 [<ffffffff815a7138>] ? retint_restore_args+0x5/0x6
 [<ffffffff815aeb20>] ? gs_change+0x13/0x13
PM: noirq restore of devices complete after 0.163 msecs


Any ideas?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 19:44:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 19:44:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXdwx-0005jD-Ro; Thu, 24 May 2012 19:43:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXdww-0005j8-OI
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 19:43:54 +0000
Received: from [85.158.139.83:38869] by server-7.bemta-5.messagelabs.com id
	07/F8-15932-A7F8EBF4; Thu, 24 May 2012 19:43:54 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337888630!26256350!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUwMjgw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29423 invoked from network); 24 May 2012 19:43:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 24 May 2012 19:43:52 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4OJhkTo015402
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 24 May 2012 19:43:47 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4OJhjKP028319
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 24 May 2012 19:43:46 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4OJhjq4027299; Thu, 24 May 2012 14:43:45 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 12:43:45 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id A135442112; Thu, 24 May 2012 15:37:14 -0400 (EDT)
Date: Thu, 24 May 2012 15:37:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>
Message-ID: <20120524193714.GA29726@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Subject: [Xen-devel] PV multiconsole bug during resume.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

So .. we used to have in the event.c a spin_lock to protect the
irq_mapping_update_lock, but with git commit  773659483685d652970583384a0294948e57f8b3
"xen/irq: Alter the locking to use a mutex instead of a spinlock."
I changed it to a mutex b/c we keept on getting WARNs.

But now I get this when I resume a PVHVM guest:

Grant tables using version 2 layout.
BUG: sleeping function called from invalid context at /home/konrad/ssd/linux/kernel/mutex.c:85
in_atomic(): 1, irqs_disabled(): 1, pid: 6, name: migration/0
Pid: 6, comm: migration/0 Tainted: G           O 3.4.0upstream-00113-g598ff45-dirty #1
Call Trace:
 [<ffffffff8109830a>] __might_sleep+0xda/0x100
 [<ffffffff815a47f7>] mutex_lock+0x27/0x50
 [<ffffffff81311ea6>] rebind_evtchn_irq+0x36/0x90
 [<ffffffff81341bfc>] xen_console_resume+0x5c/0x60
 [<ffffffff81313fea>] xen_suspend+0x8a/0xb0
 [<ffffffff810d42f3>] stop_machine_cpu_stop+0xa3/0xf0
 [<ffffffff810d4250>] ? stop_one_cpu_nowait+0x50/0x50
 [<ffffffff810d3f81>] cpu_stopper_thread+0xf1/0x1c0
 [<ffffffff815a5be6>] ? __schedule+0x3c6/0x760
 [<ffffffff815a6bb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
 [<ffffffff810d3e90>] ? res_counter_charge+0x150/0x150
 [<ffffffff8108e636>] kthread+0x96/0xa0
 [<ffffffff815aeb24>] kernel_thread_helper+0x4/0x10
 [<ffffffff815a7138>] ? retint_restore_args+0x5/0x6
 [<ffffffff815aeb20>] ? gs_change+0x13/0x13
PM: noirq restore of devices complete after 0.163 msecs


Any ideas?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 20:22:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 20:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXeXH-00060d-VQ; Thu, 24 May 2012 20:21:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SXeXG-00060Y-If
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 20:21:26 +0000
Received: from [85.158.143.99:23473] by server-1.bemta-4.messagelabs.com id
	76/90-00342-5489EBF4; Thu, 24 May 2012 20:21:25 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337890883!20036570!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13487 invoked from network); 24 May 2012 20:21:25 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 20:21:25 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4OKLH0V000859
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Thu, 24 May 2012 13:21:18 -0700
Date: Thu, 24 May 2012 16:21:17 -0400 (EDT)
Message-Id: <20120524.162117.2167559109226305167.davem@davemloft.net>
To: simon.graham@citrix.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
References: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Thu, 24 May 2012 13:21:19 -0700 (PDT)
Cc: xen-devel@lists.xensource.com, Ian.Campbell@citrix.com,
	konrad.wilk@oracle.com, netdev@vger.kernel.org,
	adnan.misherfi@oracle.com, bhutchings@solarflare.com
Subject: Re: [Xen-devel] [PATCH] xen/netback: Calculate the number of SKB
 slots required correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Simon Graham <simon.graham@citrix.com>
Date: Thu, 24 May 2012 12:26:07 -0400

> When calculating the number of slots required for a packet header, the code
> was reserving too many slots if the header crossed a page boundary. Since
> netbk_gop_skb copies the header to the start of the page, the count of
> slots required for the header should be based solely on the header size.
> 
> This problem is easy to reproduce if a VIF is bridged to a USB 3G modem
> device as the skb->data value always starts near the end of the first page.
> 
> Signed-off-by: Simon Graham <simon.graham@citrix.com>

Applied.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 20:22:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 20:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXeXH-00060d-VQ; Thu, 24 May 2012 20:21:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <davem@davemloft.net>) id 1SXeXG-00060Y-If
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 20:21:26 +0000
Received: from [85.158.143.99:23473] by server-1.bemta-4.messagelabs.com id
	76/90-00342-5489EBF4; Thu, 24 May 2012 20:21:25 +0000
X-Env-Sender: davem@davemloft.net
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337890883!20036570!1
X-Originating-IP: [198.137.202.13]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13487 invoked from network); 24 May 2012 20:21:25 -0000
Received: from shards.monkeyblade.net (HELO shards.monkeyblade.net)
	(198.137.202.13)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 20:21:25 -0000
Received: from localhost (cpe-66-108-119-99.nyc.res.rr.com [66.108.119.99])
	(authenticated bits=0)
	by shards.monkeyblade.net (8.14.4/8.14.4) with ESMTP id q4OKLH0V000859
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO);
	Thu, 24 May 2012 13:21:18 -0700
Date: Thu, 24 May 2012 16:21:17 -0400 (EDT)
Message-Id: <20120524.162117.2167559109226305167.davem@davemloft.net>
To: simon.graham@citrix.com
From: David Miller <davem@davemloft.net>
In-Reply-To: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
References: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
X-Mailer: Mew version 6.5 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6
	(shards.monkeyblade.net [198.137.202.13]);
	Thu, 24 May 2012 13:21:19 -0700 (PDT)
Cc: xen-devel@lists.xensource.com, Ian.Campbell@citrix.com,
	konrad.wilk@oracle.com, netdev@vger.kernel.org,
	adnan.misherfi@oracle.com, bhutchings@solarflare.com
Subject: Re: [Xen-devel] [PATCH] xen/netback: Calculate the number of SKB
 slots required correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Simon Graham <simon.graham@citrix.com>
Date: Thu, 24 May 2012 12:26:07 -0400

> When calculating the number of slots required for a packet header, the code
> was reserving too many slots if the header crossed a page boundary. Since
> netbk_gop_skb copies the header to the start of the page, the count of
> slots required for the header should be based solely on the header size.
> 
> This problem is easy to reproduce if a VIF is bridged to a USB 3G modem
> device as the skb->data value always starts near the end of the first page.
> 
> Signed-off-by: Simon Graham <simon.graham@citrix.com>

Applied.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 23:29:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 23:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXhSS-0000O5-O7; Thu, 24 May 2012 23:28:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXhSR-0000Nx-GC
	for xen-devel@lists.xen.org; Thu, 24 May 2012 23:28:39 +0000
Received: from [85.158.138.51:22793] by server-8.bemta-3.messagelabs.com id
	A3/69-24402-624CEBF4; Thu, 24 May 2012 23:28:38 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337902111!21055531!1
X-Originating-IP: [74.125.149.240]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13448 invoked from network); 24 May 2012 23:28:37 -0000
Received: from na3sys009aog116.obsmtp.com (HELO na3sys009aog116.obsmtp.com)
	(74.125.149.240)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 23:28:37 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob116.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT77EHhPbvzHZd7ewIIBXvJp7zckT6pRc@postini.com;
	Thu, 24 May 2012 16:28:37 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Thu, 24 May 2012 16:25:44 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 16:21:16 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05dP6aqdU2R3vXRRmVwpzRew46dAAjuxx/
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>,
	<20120524061806.GX2058@reaktio.net>
In-Reply-To: <20120524061806.GX2058@reaktio.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,

I am now using dma_alloc_coherent().

However, the first parameter, pdev->dev required, which is "struct device",=
 does not seem to have initialized.  =


When and who is suppose to initialize it?

In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.  =


Sometimes insmod pass, sometimes hangs the system.

Please advise!

Kenneth
________________________________________
From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
Sent: Wednesday, May 23, 2012 11:18 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
>
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?
>

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
>

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
>
> Kenneth
>
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux dis=
tributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervis=
or 4.1.  When I boot to Linux Mint, my driver still load (via insmod manual=
ly) successfully at Dom0 without any issue.  I can do reads and write to th=
e hardware device.  But once booted to Xen, the driver failed to complete t=
he driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't=
 receive any interrupt after a command is sent to the hardware device by wr=
iting a parameter to the mapped register.  Once that register is written, t=
he device is expected to DMA the command from the buffer allocated by the d=
river.
> >
> > The things that I can only think of that might have caused the problem =
are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
>
> The 2).
> >
> >
> > What the driver does:
>
> You do need to use the PCI API (or the DMA API).
>
> >
> > Set up a command buffer:
> > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr =3D __pa(buf);
> > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
>
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIV=
ER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode =3D INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this af=
ter device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low)=
 -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5=
       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0 =
         0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions=
, or do differently in drivers written for Xen Dom0 environment regarding t=
he following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA s=
tuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 24 23:29:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 24 May 2012 23:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXhSS-0000O5-O7; Thu, 24 May 2012 23:28:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXhSR-0000Nx-GC
	for xen-devel@lists.xen.org; Thu, 24 May 2012 23:28:39 +0000
Received: from [85.158.138.51:22793] by server-8.bemta-3.messagelabs.com id
	A3/69-24402-624CEBF4; Thu, 24 May 2012 23:28:38 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337902111!21055531!1
X-Originating-IP: [74.125.149.240]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13448 invoked from network); 24 May 2012 23:28:37 -0000
Received: from na3sys009aog116.obsmtp.com (HELO na3sys009aog116.obsmtp.com)
	(74.125.149.240)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 24 May 2012 23:28:37 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob116.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT77EHhPbvzHZd7ewIIBXvJp7zckT6pRc@postini.com;
	Thu, 24 May 2012 16:28:37 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Thu, 24 May 2012 16:25:44 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 16:21:16 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05dP6aqdU2R3vXRRmVwpzRew46dAAjuxx/
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>,
	<20120524061806.GX2058@reaktio.net>
In-Reply-To: <20120524061806.GX2058@reaktio.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,

I am now using dma_alloc_coherent().

However, the first parameter, pdev->dev required, which is "struct device",=
 does not seem to have initialized.  =


When and who is suppose to initialize it?

In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.  =


Sometimes insmod pass, sometimes hangs the system.

Please advise!

Kenneth
________________________________________
From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
Sent: Wednesday, May 23, 2012 11:18 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
>
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?
>

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
>

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
>
> Kenneth
>
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux dis=
tributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervis=
or 4.1.  When I boot to Linux Mint, my driver still load (via insmod manual=
ly) successfully at Dom0 without any issue.  I can do reads and write to th=
e hardware device.  But once booted to Xen, the driver failed to complete t=
he driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't=
 receive any interrupt after a command is sent to the hardware device by wr=
iting a parameter to the mapped register.  Once that register is written, t=
he device is expected to DMA the command from the buffer allocated by the d=
river.
> >
> > The things that I can only think of that might have caused the problem =
are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
>
> The 2).
> >
> >
> > What the driver does:
>
> You do need to use the PCI API (or the DMA API).
>
> >
> > Set up a command buffer:
> > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr =3D __pa(buf);
> > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
>
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIV=
ER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode =3D INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this af=
ter device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low)=
 -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5=
       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0 =
         0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions=
, or do differently in drivers written for Xen Dom0 environment regarding t=
he following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA s=
tuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 00:12:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 00:12:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXi8U-0001Bv-9c; Fri, 25 May 2012 00:12:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXi8T-0001Bq-7H
	for xen-devel@lists.xen.org; Fri, 25 May 2012 00:12:05 +0000
Received: from [85.158.143.99:54769] by server-2.bemta-4.messagelabs.com id
	4E/F3-12211-35ECEBF4; Fri, 25 May 2012 00:12:03 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337904716!20055525!1
X-Originating-IP: [74.125.149.82]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22495 invoked from network); 25 May 2012 00:12:01 -0000
Received: from na3sys009aog133.obsmtp.com (HELO na3sys009aog133.obsmtp.com)
	(74.125.149.82)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 00:12:01 -0000
Received: from SC-OWA01.marvell.com ([65.219.4.129]) (using TLSv1) by
	na3sys009aob133.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT77OTFbErgQlKpaGZOaT2n8cAJSqgvvl@postini.com;
	Thu, 24 May 2012 17:12:01 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by SC-OWA01.marvell.com ([10.93.76.21]) with mapi;
	Thu, 24 May 2012 17:11:22 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 17:07:53 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05dP6aqdU2R3vXRRmVwpzRew46dAAjuxx/AAGguF8=
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3C@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>,
	<20120524061806.GX2058@reaktio.net>,
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dear all,

The driver now loaded.  But got the following exception after a few command=
s:

May 24 17:05:27 marvell-desktop kernel: [   84.804412] Xorg[1234]: segfault=
 at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d400=
0]
May 24 17:05:29 marvell-desktop kernel: [   86.721658] rtkit-daemon[1708]: =
segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error =
4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]

What IRQF flags  I should use when setting up MSI IRQ, etc?

What did I do wrong??  Please help!

Kenneth


________________________________________
From: Kenneth Wong
Sent: Thursday, May 24, 2012 4:21 PM
To: xen-devel@lists.xen.org
Subject: RE: [Xen-devel] Loading PCIe Device Driver at Dom0

Hi all,

I am now using dma_alloc_coherent().

However, the first parameter, pdev->dev required, which is "struct device",=
 does not seem to have initialized.

When and who is suppose to initialize it?

In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.

Sometimes insmod pass, sometimes hangs the system.

Please advise!

Kenneth
________________________________________
From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
Sent: Wednesday, May 23, 2012 11:18 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
>
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?
>

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
>

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
>
> Kenneth
>
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux dis=
tributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervis=
or 4.1.  When I boot to Linux Mint, my driver still load (via insmod manual=
ly) successfully at Dom0 without any issue.  I can do reads and write to th=
e hardware device.  But once booted to Xen, the driver failed to complete t=
he driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't=
 receive any interrupt after a command is sent to the hardware device by wr=
iting a parameter to the mapped register.  Once that register is written, t=
he device is expected to DMA the command from the buffer allocated by the d=
river.
> >
> > The things that I can only think of that might have caused the problem =
are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
>
> The 2).
> >
> >
> > What the driver does:
>
> You do need to use the PCI API (or the DMA API).
>
> >
> > Set up a command buffer:
> > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr =3D __pa(buf);
> > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
>
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIV=
ER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode =3D INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this af=
ter device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low)=
 -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5=
       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0 =
         0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions=
, or do differently in drivers written for Xen Dom0 environment regarding t=
he following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA s=
tuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 00:12:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 00:12:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXi8U-0001Bv-9c; Fri, 25 May 2012 00:12:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXi8T-0001Bq-7H
	for xen-devel@lists.xen.org; Fri, 25 May 2012 00:12:05 +0000
Received: from [85.158.143.99:54769] by server-2.bemta-4.messagelabs.com id
	4E/F3-12211-35ECEBF4; Fri, 25 May 2012 00:12:03 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1337904716!20055525!1
X-Originating-IP: [74.125.149.82]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22495 invoked from network); 25 May 2012 00:12:01 -0000
Received: from na3sys009aog133.obsmtp.com (HELO na3sys009aog133.obsmtp.com)
	(74.125.149.82)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 00:12:01 -0000
Received: from SC-OWA01.marvell.com ([65.219.4.129]) (using TLSv1) by
	na3sys009aob133.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT77OTFbErgQlKpaGZOaT2n8cAJSqgvvl@postini.com;
	Thu, 24 May 2012 17:12:01 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by SC-OWA01.marvell.com ([10.93.76.21]) with mapi;
	Thu, 24 May 2012 17:11:22 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 17:07:53 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac05dP6aqdU2R3vXRRmVwpzRew46dAAjuxx/AAGguF8=
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3C@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>,
	<20120524061806.GX2058@reaktio.net>,
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dear all,

The driver now loaded.  But got the following exception after a few command=
s:

May 24 17:05:27 marvell-desktop kernel: [   84.804412] Xorg[1234]: segfault=
 at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d400=
0]
May 24 17:05:29 marvell-desktop kernel: [   86.721658] rtkit-daemon[1708]: =
segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error =
4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]

What IRQF flags  I should use when setting up MSI IRQ, etc?

What did I do wrong??  Please help!

Kenneth


________________________________________
From: Kenneth Wong
Sent: Thursday, May 24, 2012 4:21 PM
To: xen-devel@lists.xen.org
Subject: RE: [Xen-devel] Loading PCIe Device Driver at Dom0

Hi all,

I am now using dma_alloc_coherent().

However, the first parameter, pdev->dev required, which is "struct device",=
 does not seem to have initialized.

When and who is suppose to initialize it?

In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.

Sometimes insmod pass, sometimes hangs the system.

Please advise!

Kenneth
________________________________________
From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
Sent: Wednesday, May 23, 2012 11:18 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> Hi Konrad and others,
>
> Oh, there are Xen/dom0 specific APIs for PCI and DMA?
>

PCI/DMA APIs are the Linux kernel APIs, not Xen specific.


> May I ask the names and where can I can more info on the APIs?
>

Quick googling reveals:

http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt


-- Pasi

> Many thanks!
>
> Kenneth
>
> ________________________________________
> From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Sent: Wednesday, May 23, 2012 5:17 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > Dear all,
> >
> > I have a PCIe device driver that I have been using on various Linux dis=
tributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> >
> > I recently set up a Xen environment with Linux Mint 12 and Xen Hypervis=
or 4.1.  When I boot to Linux Mint, my driver still load (via insmod manual=
ly) successfully at Dom0 without any issue.  I can do reads and write to th=
e hardware device.  But once booted to Xen, the driver failed to complete t=
he driver load (via insmod manually) at Dom 0 and the console just hangs.
> >
> > >From my debug messages, it appears it hangs because the driver doesn't=
 receive any interrupt after a command is sent to the hardware device by wr=
iting a parameter to the mapped register.  Once that register is written, t=
he device is expected to DMA the command from the buffer allocated by the d=
river.
> >
> > The things that I can only think of that might have caused the problem =
are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
>
> The 2).
> >
> >
> > What the driver does:
>
> You do need to use the PCI API (or the DMA API).
>
> >
> > Set up a command buffer:
> > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > unsigned long buf_addr =3D __pa(buf);
> > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> >
> > Tell device about the buffer:
> > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
>
> >
> > Set up IRQ:
> >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> >         (!pci_enable_msi(dev)))
> >     {
> >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DRIV=
ER_NAME, my_dev))
> >         {
> >             return  -ENODEV;
> >         }
> >         my_dev->intr_mode =3D INTERRUPT_MSI;
> >     }
> >
> > Ask device to fetch command from buffer (Expect interrupt after this af=
ter device fetched the command from buf.  But interrupt did not happen.):
> > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> >
> >
> > >From dmesg, it looks like IRQ initialization is complete.
> > [  241.743769] My_driver initialization
> > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > [  241.743801] Already setup the GSI :16
> > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, low)=
 -> IRQ 16
> > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> >
> > /proc/interrupts:
> >             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5=
       CPU6       CPU7
> > ......
> > ......
> > 339:          0          0          0          0          0          0 =
         0          0  xen-pirq-msi       my-driver
> > ......
> > ......
> >
> > Any idea what might cause the problem?
> >
> > Is there anything we have to be enable/disable, use different functions=
, or do differently in drivers written for Xen Dom0 environment regarding t=
he following?
> > 1)       Allocating a DMA buffer in driver to allow the device to DMA s=
tuffs.
> > 2)       Requesting MSI irq.
> >
> > Please advise!
> >
> > Thanks a lot in advance!!
> >
> > Kenneth
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 01:41:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 01:41:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXjWV-0005in-Ub; Fri, 25 May 2012 01:40:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXjWU-0005ii-4D
	for xen-devel@lists.xen.org; Fri, 25 May 2012 01:40:58 +0000
Received: from [85.158.143.35:10619] by server-1.bemta-4.messagelabs.com id
	7D/B8-00342-923EEBF4; Fri, 25 May 2012 01:40:57 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337910054!5453650!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUxNjcx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31802 invoked from network); 25 May 2012 01:40:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 01:40:55 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4P1eqQa022572
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 01:40:53 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4P1eqq5018190
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 01:40:52 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4P1epLG026076; Thu, 24 May 2012 20:40:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 18:40:51 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 00243401B6; Thu, 24 May 2012 21:34:21 -0400 (EDT)
Date: Thu, 24 May 2012 21:34:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120525013421.GC20947@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 04:21:16PM -0700, Kenneth Wong wrote:
> Hi all,
> =

> I am now using dma_alloc_coherent().
> =

> However, the first parameter, pdev->dev required, which is "struct device=
", does not seem to have initialized.  =

> =

> When and who is suppose to initialize it?

Um, does your driver have a PCI vendor and model? It would
do it from the struct pci_driver->probe function.

> =

> In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.  =


NULL in that case is incorrect.
> =

> Sometimes insmod pass, sometimes hangs the system.
> =

> Please advise!

Look at how other drivers do it. You might also want to
pick up an Linux Device Drivers book and read the chapter
about PCI devices.

> =

> Kenneth
> ________________________________________
> From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
> Sent: Wednesday, May 23, 2012 11:18 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> =

> On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> > Hi Konrad and others,
> >
> > Oh, there are Xen/dom0 specific APIs for PCI and DMA?
> >
> =

> PCI/DMA APIs are the Linux kernel APIs, not Xen specific.
> =

> =

> > May I ask the names and where can I can more info on the APIs?
> >
> =

> Quick googling reveals:
> =

> http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
> http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt
> =

> =

> -- Pasi
> =

> > Many thanks!
> >
> > Kenneth
> >
> > ________________________________________
> > From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> > Sent: Wednesday, May 23, 2012 5:17 PM
> > To: Kenneth Wong
> > Cc: xen-devel@lists.xen.org
> > Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> >
> > On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > > Dear all,
> > >
> > > I have a PCIe device driver that I have been using on various Linux d=
istributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> > >
> > > I recently set up a Xen environment with Linux Mint 12 and Xen Hyperv=
isor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manu=
ally) successfully at Dom0 without any issue.  I can do reads and write to =
the hardware device.  But once booted to Xen, the driver failed to complete=
 the driver load (via insmod manually) at Dom 0 and the console just hangs.
> > >
> > > >From my debug messages, it appears it hangs because the driver doesn=
't receive any interrupt after a command is sent to the hardware device by =
writing a parameter to the mapped register.  Once that register is written,=
 the device is expected to DMA the command from the buffer allocated by the=
 driver.
> > >
> > > The things that I can only think of that might have caused the proble=
m are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
> >
> > The 2).
> > >
> > >
> > > What the driver does:
> >
> > You do need to use the PCI API (or the DMA API).
> >
> > >
> > > Set up a command buffer:
> > > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > > unsigned long buf_addr =3D __pa(buf);
> > > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> > >
> > > Tell device about the buffer:
> > > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
> >
> > >
> > > Set up IRQ:
> > >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> > >         (!pci_enable_msi(dev)))
> > >     {
> > >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DR=
IVER_NAME, my_dev))
> > >         {
> > >             return  -ENODEV;
> > >         }
> > >         my_dev->intr_mode =3D INTERRUPT_MSI;
> > >     }
> > >
> > > Ask device to fetch command from buffer (Expect interrupt after this =
after device fetched the command from buf.  But interrupt did not happen.):
> > > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> > >
> > >
> > > >From dmesg, it looks like IRQ initialization is complete.
> > > [  241.743769] My_driver initialization
> > > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > > [  241.743801] Already setup the GSI :16
> > > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, lo=
w) -> IRQ 16
> > > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> > >
> > > /proc/interrupts:
> > >             CPU0       CPU1       CPU2       CPU3       CPU4       CP=
U5       CPU6       CPU7
> > > ......
> > > ......
> > > 339:          0          0          0          0          0          =
0          0          0  xen-pirq-msi       my-driver
> > > ......
> > > ......
> > >
> > > Any idea what might cause the problem?
> > >
> > > Is there anything we have to be enable/disable, use different functio=
ns, or do differently in drivers written for Xen Dom0 environment regarding=
 the following?
> > > 1)       Allocating a DMA buffer in driver to allow the device to DMA=
 stuffs.
> > > 2)       Requesting MSI irq.
> > >
> > > Please advise!
> > >
> > > Thanks a lot in advance!!
> > >
> > > Kenneth
> >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 01:41:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 01:41:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXjWV-0005in-Ub; Fri, 25 May 2012 01:40:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXjWU-0005ii-4D
	for xen-devel@lists.xen.org; Fri, 25 May 2012 01:40:58 +0000
Received: from [85.158.143.35:10619] by server-1.bemta-4.messagelabs.com id
	7D/B8-00342-923EEBF4; Fri, 25 May 2012 01:40:57 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337910054!5453650!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUxNjcx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31802 invoked from network); 25 May 2012 01:40:55 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 01:40:55 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4P1eqQa022572
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 01:40:53 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4P1eqq5018190
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 01:40:52 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4P1epLG026076; Thu, 24 May 2012 20:40:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 18:40:51 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 00243401B6; Thu, 24 May 2012 21:34:21 -0400 (EDT)
Date: Thu, 24 May 2012 21:34:21 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120525013421.GC20947@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 04:21:16PM -0700, Kenneth Wong wrote:
> Hi all,
> =

> I am now using dma_alloc_coherent().
> =

> However, the first parameter, pdev->dev required, which is "struct device=
", does not seem to have initialized.  =

> =

> When and who is suppose to initialize it?

Um, does your driver have a PCI vendor and model? It would
do it from the struct pci_driver->probe function.

> =

> In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.  =


NULL in that case is incorrect.
> =

> Sometimes insmod pass, sometimes hangs the system.
> =

> Please advise!

Look at how other drivers do it. You might also want to
pick up an Linux Device Drivers book and read the chapter
about PCI devices.

> =

> Kenneth
> ________________________________________
> From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
> Sent: Wednesday, May 23, 2012 11:18 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> =

> On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> > Hi Konrad and others,
> >
> > Oh, there are Xen/dom0 specific APIs for PCI and DMA?
> >
> =

> PCI/DMA APIs are the Linux kernel APIs, not Xen specific.
> =

> =

> > May I ask the names and where can I can more info on the APIs?
> >
> =

> Quick googling reveals:
> =

> http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
> http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt
> =

> =

> -- Pasi
> =

> > Many thanks!
> >
> > Kenneth
> >
> > ________________________________________
> > From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> > Sent: Wednesday, May 23, 2012 5:17 PM
> > To: Kenneth Wong
> > Cc: xen-devel@lists.xen.org
> > Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> >
> > On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > > Dear all,
> > >
> > > I have a PCIe device driver that I have been using on various Linux d=
istributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> > >
> > > I recently set up a Xen environment with Linux Mint 12 and Xen Hyperv=
isor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manu=
ally) successfully at Dom0 without any issue.  I can do reads and write to =
the hardware device.  But once booted to Xen, the driver failed to complete=
 the driver load (via insmod manually) at Dom 0 and the console just hangs.
> > >
> > > >From my debug messages, it appears it hangs because the driver doesn=
't receive any interrupt after a command is sent to the hardware device by =
writing a parameter to the mapped register.  Once that register is written,=
 the device is expected to DMA the command from the buffer allocated by the=
 driver.
> > >
> > > The things that I can only think of that might have caused the proble=
m are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
> >
> > The 2).
> > >
> > >
> > > What the driver does:
> >
> > You do need to use the PCI API (or the DMA API).
> >
> > >
> > > Set up a command buffer:
> > > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > > unsigned long buf_addr =3D __pa(buf);
> > > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> > >
> > > Tell device about the buffer:
> > > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
> >
> > >
> > > Set up IRQ:
> > >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> > >         (!pci_enable_msi(dev)))
> > >     {
> > >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DR=
IVER_NAME, my_dev))
> > >         {
> > >             return  -ENODEV;
> > >         }
> > >         my_dev->intr_mode =3D INTERRUPT_MSI;
> > >     }
> > >
> > > Ask device to fetch command from buffer (Expect interrupt after this =
after device fetched the command from buf.  But interrupt did not happen.):
> > > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> > >
> > >
> > > >From dmesg, it looks like IRQ initialization is complete.
> > > [  241.743769] My_driver initialization
> > > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > > [  241.743801] Already setup the GSI :16
> > > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, lo=
w) -> IRQ 16
> > > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> > >
> > > /proc/interrupts:
> > >             CPU0       CPU1       CPU2       CPU3       CPU4       CP=
U5       CPU6       CPU7
> > > ......
> > > ......
> > > 339:          0          0          0          0          0          =
0          0          0  xen-pirq-msi       my-driver
> > > ......
> > > ......
> > >
> > > Any idea what might cause the problem?
> > >
> > > Is there anything we have to be enable/disable, use different functio=
ns, or do differently in drivers written for Xen Dom0 environment regarding=
 the following?
> > > 1)       Allocating a DMA buffer in driver to allow the device to DMA=
 stuffs.
> > > 2)       Requesting MSI irq.
> > >
> > > Please advise!
> > >
> > > Thanks a lot in advance!!
> > >
> > > Kenneth
> >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> =

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 02:05:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 02:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXjuA-0006GI-AW; Fri, 25 May 2012 02:05:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SXju8-0006GD-CU
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 02:05:24 +0000
Received: from [85.158.143.35:26234] by server-3.bemta-4.messagelabs.com id
	6A/FF-05853-3E8EEBF4; Fri, 25 May 2012 02:05:23 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337911521!17138960!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNzY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31480 invoked from network); 25 May 2012 02:05:21 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-21.messagelabs.com with SMTP;
	25 May 2012 02:05:21 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 19:05:20 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104088227"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 24 May 2012 19:05:20 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 19:05:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 10:05:18 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] xen: add bridge check
Thread-Index: Ac039oMXbeq/Do9VR960RvM7oFGB+ACJEBFw
Date: Fri, 25 May 2012 02:05:17 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E15587E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xen: add bridge check
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi konrad,
Any comments with this patch?

best regards
yang

> -----Original Message-----
> From: Zhang, Yang Z
> Sent: Tuesday, May 22, 2012 4:40 PM
> To: xen-devel@lists.xensource.com
> Cc: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Subject: [PATCH] xen: add bridge check
> 
> Some SR-IOV devices may use more than one bus number, but there is no real
> bridges
> because that have internal routing mechanism. So need to check whether the
> bridge is
> existing before using it.
> 
> Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
> ---
>  drivers/xen/pci.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> index b84bf0b..18fff88 100644
> --- a/drivers/xen/pci.c
> +++ b/drivers/xen/pci.c
> @@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev)
> 
>  #ifdef CONFIG_ACPI
>         handle = DEVICE_ACPI_HANDLE(&pci_dev->dev);
> -       if (!handle)
> +       if (!handle && pci_dev->bus->bridge)
>             handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge);
>  #ifdef CONFIG_PCI_IOV
>         if (!handle && pci_dev->is_virtfn)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 02:05:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 02:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXjuA-0006GI-AW; Fri, 25 May 2012 02:05:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SXju8-0006GD-CU
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 02:05:24 +0000
Received: from [85.158.143.35:26234] by server-3.bemta-4.messagelabs.com id
	6A/FF-05853-3E8EEBF4; Fri, 25 May 2012 02:05:23 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337911521!17138960!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNzY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31480 invoked from network); 25 May 2012 02:05:21 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-21.messagelabs.com with SMTP;
	25 May 2012 02:05:21 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 19:05:20 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104088227"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 24 May 2012 19:05:20 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 19:05:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 10:05:18 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>, "xen-devel@lists.xensource.com"
	<xen-devel@lists.xensource.com>
Thread-Topic: [PATCH] xen: add bridge check
Thread-Index: Ac039oMXbeq/Do9VR960RvM7oFGB+ACJEBFw
Date: Fri, 25 May 2012 02:05:17 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E15587E@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH] xen: add bridge check
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi konrad,
Any comments with this patch?

best regards
yang

> -----Original Message-----
> From: Zhang, Yang Z
> Sent: Tuesday, May 22, 2012 4:40 PM
> To: xen-devel@lists.xensource.com
> Cc: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> Subject: [PATCH] xen: add bridge check
> 
> Some SR-IOV devices may use more than one bus number, but there is no real
> bridges
> because that have internal routing mechanism. So need to check whether the
> bridge is
> existing before using it.
> 
> Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
> ---
>  drivers/xen/pci.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> index b84bf0b..18fff88 100644
> --- a/drivers/xen/pci.c
> +++ b/drivers/xen/pci.c
> @@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev)
> 
>  #ifdef CONFIG_ACPI
>         handle = DEVICE_ACPI_HANDLE(&pci_dev->dev);
> -       if (!handle)
> +       if (!handle && pci_dev->bus->bridge)
>             handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge);
>  #ifdef CONFIG_PCI_IOV
>         if (!handle && pci_dev->is_virtfn)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 02:35:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 02:35:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkMk-0006S3-Re; Fri, 25 May 2012 02:34:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXkMj-0006Ry-EO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 02:34:57 +0000
Received: from [85.158.139.83:37913] by server-12.bemta-5.messagelabs.com id
	AD/B1-20635-0DFEEBF4; Fri, 25 May 2012 02:34:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337913294!28730083!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1MzcwMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9692 invoked from network); 25 May 2012 02:34:55 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 02:34:55 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4P2YoV2008562
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 02:34:51 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4P2YnNL021571
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 02:34:50 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4P2YnjY032026; Thu, 24 May 2012 21:34:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 19:34:49 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4E412401B6; Thu, 24 May 2012 22:28:18 -0400 (EDT)
Date: Thu, 24 May 2012 22:28:18 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Message-ID: <20120525022818.GB27126@phenom.dumpdata.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E15587E@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E15587E@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xen: add bridge check
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 02:05:17AM +0000, Zhang, Yang Z wrote:
> Hi konrad,
> Any comments with this patch?

Looks good. applied.

> 
> best regards
> yang
> 
> > -----Original Message-----
> > From: Zhang, Yang Z
> > Sent: Tuesday, May 22, 2012 4:40 PM
> > To: xen-devel@lists.xensource.com
> > Cc: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> > Subject: [PATCH] xen: add bridge check
> > 
> > Some SR-IOV devices may use more than one bus number, but there is no real
> > bridges
> > because that have internal routing mechanism. So need to check whether the
> > bridge is
> > existing before using it.
> > 
> > Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
> > ---
> >  drivers/xen/pci.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> > index b84bf0b..18fff88 100644
> > --- a/drivers/xen/pci.c
> > +++ b/drivers/xen/pci.c
> > @@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev)
> > 
> >  #ifdef CONFIG_ACPI
> >         handle = DEVICE_ACPI_HANDLE(&pci_dev->dev);
> > -       if (!handle)
> > +       if (!handle && pci_dev->bus->bridge)
> >             handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge);
> >  #ifdef CONFIG_PCI_IOV
> >         if (!handle && pci_dev->is_virtfn)
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 02:35:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 02:35:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkMk-0006S3-Re; Fri, 25 May 2012 02:34:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXkMj-0006Ry-EO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 02:34:57 +0000
Received: from [85.158.139.83:37913] by server-12.bemta-5.messagelabs.com id
	AD/B1-20635-0DFEEBF4; Fri, 25 May 2012 02:34:56 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1337913294!28730083!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1MzcwMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9692 invoked from network); 25 May 2012 02:34:55 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 02:34:55 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4P2YoV2008562
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 02:34:51 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4P2YnNL021571
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 02:34:50 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4P2YnjY032026; Thu, 24 May 2012 21:34:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 24 May 2012 19:34:49 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4E412401B6; Thu, 24 May 2012 22:28:18 -0400 (EDT)
Date: Thu, 24 May 2012 22:28:18 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Zhang, Yang Z" <yang.z.zhang@intel.com>
Message-ID: <20120525022818.GB27126@phenom.dumpdata.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E15587E@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E15587E@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xen: add bridge check
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 02:05:17AM +0000, Zhang, Yang Z wrote:
> Hi konrad,
> Any comments with this patch?

Looks good. applied.

> 
> best regards
> yang
> 
> > -----Original Message-----
> > From: Zhang, Yang Z
> > Sent: Tuesday, May 22, 2012 4:40 PM
> > To: xen-devel@lists.xensource.com
> > Cc: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> > Subject: [PATCH] xen: add bridge check
> > 
> > Some SR-IOV devices may use more than one bus number, but there is no real
> > bridges
> > because that have internal routing mechanism. So need to check whether the
> > bridge is
> > existing before using it.
> > 
> > Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
> > ---
> >  drivers/xen/pci.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> > index b84bf0b..18fff88 100644
> > --- a/drivers/xen/pci.c
> > +++ b/drivers/xen/pci.c
> > @@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev)
> > 
> >  #ifdef CONFIG_ACPI
> >         handle = DEVICE_ACPI_HANDLE(&pci_dev->dev);
> > -       if (!handle)
> > +       if (!handle && pci_dev->bus->bridge)
> >             handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge);
> >  #ifdef CONFIG_PCI_IOV
> >         if (!handle && pci_dev->is_virtfn)
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 02:40:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 02:40:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkRM-0006Zh-Qf; Fri, 25 May 2012 02:39:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXkRL-0006Zb-MR
	for xen-devel@lists.xen.org; Fri, 25 May 2012 02:39:43 +0000
Received: from [85.158.143.35:34115] by server-3.bemta-4.messagelabs.com id
	C3/1A-05853-FE0FEBF4; Fri, 25 May 2012 02:39:43 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337913578!6236466!1
X-Originating-IP: [74.125.149.76]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3274 invoked from network); 25 May 2012 02:39:41 -0000
Received: from na3sys009aob106.obsmtp.com (HELO na3sys009aog106.obsmtp.com)
	(74.125.149.76)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 02:39:41 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob106.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT77w6dyuQM7DvaYqACufLCBTKNG06eUq@postini.com;
	Thu, 24 May 2012 19:39:40 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Thu, 24 May 2012 19:37:45 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 19:37:44 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac06F28ff/j/mLSLQuiy3N9IqVHI7gABwT//
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>,
	<20120525013421.GC20947@phenom.dumpdata.com>
In-Reply-To: <20120525013421.GC20947@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

> Um, does your driver have a PCI vendor and model? It would
> do it from the struct pci_driver->probe function.

Yeah, it has all that.  It has been running fine on regular Linux, just tha=
t problems start coming up when porting to Xen env.  I think because it is =
now less forgiving due to the virtualization layer.

Any idea on the following messages?

        Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 =
error 4 in Xorg[400000+1d4000]
        rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61=
a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]

I think this might be cause by some other things in the driver.


Thanks,
Kenneth
________________________________________
From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
Sent: Thursday, May 24, 2012 6:34 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Thu, May 24, 2012 at 04:21:16PM -0700, Kenneth Wong wrote:
> Hi all,
>
> I am now using dma_alloc_coherent().
>
> However, the first parameter, pdev->dev required, which is "struct device=
", does not seem to have initialized.
>
> When and who is suppose to initialize it?

Um, does your driver have a PCI vendor and model? It would
do it from the struct pci_driver->probe function.

>
> In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.

NULL in that case is incorrect.
>
> Sometimes insmod pass, sometimes hangs the system.
>
> Please advise!

Look at how other drivers do it. You might also want to
pick up an Linux Device Drivers book and read the chapter
about PCI devices.

>
> Kenneth
> ________________________________________
> From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
> Sent: Wednesday, May 23, 2012 11:18 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> > Hi Konrad and others,
> >
> > Oh, there are Xen/dom0 specific APIs for PCI and DMA?
> >
>
> PCI/DMA APIs are the Linux kernel APIs, not Xen specific.
>
>
> > May I ask the names and where can I can more info on the APIs?
> >
>
> Quick googling reveals:
>
> http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
> http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt
>
>
> -- Pasi
>
> > Many thanks!
> >
> > Kenneth
> >
> > ________________________________________
> > From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> > Sent: Wednesday, May 23, 2012 5:17 PM
> > To: Kenneth Wong
> > Cc: xen-devel@lists.xen.org
> > Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> >
> > On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > > Dear all,
> > >
> > > I have a PCIe device driver that I have been using on various Linux d=
istributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> > >
> > > I recently set up a Xen environment with Linux Mint 12 and Xen Hyperv=
isor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manu=
ally) successfully at Dom0 without any issue.  I can do reads and write to =
the hardware device.  But once booted to Xen, the driver failed to complete=
 the driver load (via insmod manually) at Dom 0 and the console just hangs.
> > >
> > > >From my debug messages, it appears it hangs because the driver doesn=
't receive any interrupt after a command is sent to the hardware device by =
writing a parameter to the mapped register.  Once that register is written,=
 the device is expected to DMA the command from the buffer allocated by the=
 driver.
> > >
> > > The things that I can only think of that might have caused the proble=
m are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
> >
> > The 2).
> > >
> > >
> > > What the driver does:
> >
> > You do need to use the PCI API (or the DMA API).
> >
> > >
> > > Set up a command buffer:
> > > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > > unsigned long buf_addr =3D __pa(buf);
> > > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> > >
> > > Tell device about the buffer:
> > > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
> >
> > >
> > > Set up IRQ:
> > >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> > >         (!pci_enable_msi(dev)))
> > >     {
> > >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DR=
IVER_NAME, my_dev))
> > >         {
> > >             return  -ENODEV;
> > >         }
> > >         my_dev->intr_mode =3D INTERRUPT_MSI;
> > >     }
> > >
> > > Ask device to fetch command from buffer (Expect interrupt after this =
after device fetched the command from buf.  But interrupt did not happen.):
> > > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> > >
> > >
> > > >From dmesg, it looks like IRQ initialization is complete.
> > > [  241.743769] My_driver initialization
> > > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > > [  241.743801] Already setup the GSI :16
> > > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, lo=
w) -> IRQ 16
> > > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> > >
> > > /proc/interrupts:
> > >             CPU0       CPU1       CPU2       CPU3       CPU4       CP=
U5       CPU6       CPU7
> > > ......
> > > ......
> > > 339:          0          0          0          0          0          =
0          0          0  xen-pirq-msi       my-driver
> > > ......
> > > ......
> > >
> > > Any idea what might cause the problem?
> > >
> > > Is there anything we have to be enable/disable, use different functio=
ns, or do differently in drivers written for Xen Dom0 environment regarding=
 the following?
> > > 1)       Allocating a DMA buffer in driver to allow the device to DMA=
 stuffs.
> > > 2)       Requesting MSI irq.
> > >
> > > Please advise!
> > >
> > > Thanks a lot in advance!!
> > >
> > > Kenneth
> >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 02:40:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 02:40:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkRM-0006Zh-Qf; Fri, 25 May 2012 02:39:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SXkRL-0006Zb-MR
	for xen-devel@lists.xen.org; Fri, 25 May 2012 02:39:43 +0000
Received: from [85.158.143.35:34115] by server-3.bemta-4.messagelabs.com id
	C3/1A-05853-FE0FEBF4; Fri, 25 May 2012 02:39:43 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337913578!6236466!1
X-Originating-IP: [74.125.149.76]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3274 invoked from network); 25 May 2012 02:39:41 -0000
Received: from na3sys009aob106.obsmtp.com (HELO na3sys009aog106.obsmtp.com)
	(74.125.149.76)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 02:39:41 -0000
Received: from sc-owa02.marvell.com ([65.219.4.130]) (using TLSv1) by
	na3sys009aob106.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT77w6dyuQM7DvaYqACufLCBTKNG06eUq@postini.com;
	Thu, 24 May 2012 19:39:40 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by sc-owa02.marvell.com ([10.93.76.22]) with mapi;
	Thu, 24 May 2012 19:37:45 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Thu, 24 May 2012 19:37:44 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac06F28ff/j/mLSLQuiy3N9IqVHI7gABwT//
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>,
	<20120525013421.GC20947@phenom.dumpdata.com>
In-Reply-To: <20120525013421.GC20947@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

> Um, does your driver have a PCI vendor and model? It would
> do it from the struct pci_driver->probe function.

Yeah, it has all that.  It has been running fine on regular Linux, just tha=
t problems start coming up when porting to Xen env.  I think because it is =
now less forgiving due to the virtualization layer.

Any idea on the following messages?

        Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 =
error 4 in Xorg[400000+1d4000]
        rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61=
a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]

I think this might be cause by some other things in the driver.


Thanks,
Kenneth
________________________________________
From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
Sent: Thursday, May 24, 2012 6:34 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Thu, May 24, 2012 at 04:21:16PM -0700, Kenneth Wong wrote:
> Hi all,
>
> I am now using dma_alloc_coherent().
>
> However, the first parameter, pdev->dev required, which is "struct device=
", does not seem to have initialized.
>
> When and who is suppose to initialize it?

Um, does your driver have a PCI vendor and model? It would
do it from the struct pci_driver->probe function.

>
> In Linux, I can pass "NULL" and it just works.  In Xen, it crashes.

NULL in that case is incorrect.
>
> Sometimes insmod pass, sometimes hangs the system.
>
> Please advise!

Look at how other drivers do it. You might also want to
pick up an Linux Device Drivers book and read the chapter
about PCI devices.

>
> Kenneth
> ________________________________________
> From: Pasi K=E4rkk=E4inen [pasik@iki.fi]
> Sent: Wednesday, May 23, 2012 11:18 PM
> To: Kenneth Wong
> Cc: xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
>
> On Wed, May 23, 2012 at 07:41:34PM -0700, Kenneth Wong wrote:
> > Hi Konrad and others,
> >
> > Oh, there are Xen/dom0 specific APIs for PCI and DMA?
> >
>
> PCI/DMA APIs are the Linux kernel APIs, not Xen specific.
>
>
> > May I ask the names and where can I can more info on the APIs?
> >
>
> Quick googling reveals:
>
> http://www.mjmwired.net/kernel/Documentation/DMA-API.txt
> http://www.mjmwired.net/kernel/Documentation/DMA-API-HOWTO.txt
>
>
> -- Pasi
>
> > Many thanks!
> >
> > Kenneth
> >
> > ________________________________________
> > From: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com]
> > Sent: Wednesday, May 23, 2012 5:17 PM
> > To: Kenneth Wong
> > Cc: xen-devel@lists.xen.org
> > Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
> >
> > On Wed, May 23, 2012 at 04:43:55PM -0700, Kenneth Wong wrote:
> > > Dear all,
> > >
> > > I have a PCIe device driver that I have been using on various Linux d=
istributions and Kernel versions (2.6.x - 3.x.y) successfully all along.
> > >
> > > I recently set up a Xen environment with Linux Mint 12 and Xen Hyperv=
isor 4.1.  When I boot to Linux Mint, my driver still load (via insmod manu=
ally) successfully at Dom0 without any issue.  I can do reads and write to =
the hardware device.  But once booted to Xen, the driver failed to complete=
 the driver load (via insmod manually) at Dom 0 and the console just hangs.
> > >
> > > >From my debug messages, it appears it hangs because the driver doesn=
't receive any interrupt after a command is sent to the hardware device by =
writing a parameter to the mapped register.  Once that register is written,=
 the device is expected to DMA the command from the buffer allocated by the=
 driver.
> > >
> > > The things that I can only think of that might have caused the proble=
m are 1) IRQ mapping issue, or 2) DMA mapping issue, which I am not sure.
> >
> > The 2).
> > >
> > >
> > > What the driver does:
> >
> > You do need to use the PCI API (or the DMA API).
> >
> > >
> > > Set up a command buffer:
> > > Buf_t *buf =3D kmalloc(BUF_SIZE*sizeof(buf_t), GFP_KERNEL);
> > > unsigned long buf_addr =3D __pa(buf);
> > > unsigned int buf_addr_low =3D (unsigned int)buf_addr;
> > >
> > > Tell device about the buffer:
> > > iowrite32(buf_addr_low, dev->pci_reg_map + BUF_ADR__LOW);
> >
> > >
> > > Set up IRQ:
> > >     if (pci_find_capability(dev, PCI_CAP_ID_MSI) &&
> > >         (!pci_enable_msi(dev)))
> > >     {
> > >         if (request_irq(dev->irq, func_msi_interrupt, IRQF_SHARED, DR=
IVER_NAME, my_dev))
> > >         {
> > >             return  -ENODEV;
> > >         }
> > >         my_dev->intr_mode =3D INTERRUPT_MSI;
> > >     }
> > >
> > > Ask device to fetch command from buffer (Expect interrupt after this =
after device fetched the command from buf.  But interrupt did not happen.):
> > > iowrite32(buf_offset, dev->pci_reg_map + FETCH_CMD_REG);
> > >
> > >
> > > >From dmesg, it looks like IRQ initialization is complete.
> > > [  241.743769] My_driver initialization
> > > [  241.743787] xen: registering gsi 16 triggering 0 polarity 1
> > > [  241.743793] xen_map_pirq_gsi: returning irq 16 for gsi 16
> > > [  241.743795] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
> > > [  241.743801] Already setup the GSI :16
> > > [  241.743805] my-driver 0000:02:00.0: PCI INT A -> GSI 16 (level, lo=
w) -> IRQ 16
> > > [  241.743815] my-driver 0000:02:00.0: setting latency timer to 64
> > >
> > > /proc/interrupts:
> > >             CPU0       CPU1       CPU2       CPU3       CPU4       CP=
U5       CPU6       CPU7
> > > ......
> > > ......
> > > 339:          0          0          0          0          0          =
0          0          0  xen-pirq-msi       my-driver
> > > ......
> > > ......
> > >
> > > Any idea what might cause the problem?
> > >
> > > Is there anything we have to be enable/disable, use different functio=
ns, or do differently in drivers written for Xen Dom0 environment regarding=
 the following?
> > > 1)       Allocating a DMA buffer in driver to allow the device to DMA=
 stuffs.
> > > 2)       Requesting MSI irq.
> > >
> > > Please advise!
> > >
> > > Thanks a lot in advance!!
> > >
> > > Kenneth
> >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:06:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:06:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkqx-0006oa-4N; Fri, 25 May 2012 03:06:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkqv-0006oS-Bt
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:06:09 +0000
Received: from [85.158.143.99:47977] by server-3.bemta-4.messagelabs.com id
	CB/70-05853-027FEBF4; Fri, 25 May 2012 03:06:08 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337915166!29148193!1
X-Originating-IP: [192.55.52.88]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjU1LjUyLjg4ID0+IDMyMDMzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23618 invoked from network); 25 May 2012 03:06:07 -0000
Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88)
	by server-3.tower-216.messagelabs.com with SMTP;
	25 May 2012 03:06:07 -0000
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
	by fmsmga101.fm.intel.com with ESMTP; 24 May 2012 20:05:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="171155531"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by fmsmga002.fm.intel.com with ESMTP; 24 May 2012 20:05:57 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com
Date: Fri, 25 May 2012 03:06:23 +0800
Message-Id: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: aravindh@virtuata.com, keir.xen@gmail.com, eddie.dong@intel.com,
	Ian.Jackson@eu.citrix.com, xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH 0/3] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series of patches fix the mistake for debug exception(#DB), overflow
exception(#OF) and INT3(#BP), INTn instruction emulation. 

Introduce new function vmx_inject_sw_exception() which deliver the software
excetion, software interrupt and privileged software exception. Split hardware
exception as a seperate function(old function vmx_inject_hw_exception()).

Also Passed down intruction length to exception emulation handler function.

And supply a interface for userspace to inject trap.


PATCH 1: Pass the instruction length field down to exception emulation,
  by changing hypercall parameter and adding a parameter in fucntion
  hvm_inject_exception(), so that exception emulation can set correct
  instruction length.

PATCH 2: Fix the mistake for debug exception(#DB), overflow exception(#OF) and
  INT3(#BP), INTn instruction emulation.

  Introduce new function vmx_inject_sw_exception() which deliver the software
  excetion, software interrupt and privileged software exception. Split hardware
  exception as a seperate function(old function vmx_inject_hw_exception()).

PATCH 3: Add a parameter to represent instruction length in function
  xc_hvm_inject_trap(), user should set this value when this
  function is called.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:06:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:06:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkqx-0006oa-4N; Fri, 25 May 2012 03:06:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkqv-0006oS-Bt
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:06:09 +0000
Received: from [85.158.143.99:47977] by server-3.bemta-4.messagelabs.com id
	CB/70-05853-027FEBF4; Fri, 25 May 2012 03:06:08 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337915166!29148193!1
X-Originating-IP: [192.55.52.88]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjU1LjUyLjg4ID0+IDMyMDMzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23618 invoked from network); 25 May 2012 03:06:07 -0000
Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88)
	by server-3.tower-216.messagelabs.com with SMTP;
	25 May 2012 03:06:07 -0000
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
	by fmsmga101.fm.intel.com with ESMTP; 24 May 2012 20:05:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="171155531"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by fmsmga002.fm.intel.com with ESMTP; 24 May 2012 20:05:57 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com
Date: Fri, 25 May 2012 03:06:23 +0800
Message-Id: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: aravindh@virtuata.com, keir.xen@gmail.com, eddie.dong@intel.com,
	Ian.Jackson@eu.citrix.com, xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH 0/3] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series of patches fix the mistake for debug exception(#DB), overflow
exception(#OF) and INT3(#BP), INTn instruction emulation. 

Introduce new function vmx_inject_sw_exception() which deliver the software
excetion, software interrupt and privileged software exception. Split hardware
exception as a seperate function(old function vmx_inject_hw_exception()).

Also Passed down intruction length to exception emulation handler function.

And supply a interface for userspace to inject trap.


PATCH 1: Pass the instruction length field down to exception emulation,
  by changing hypercall parameter and adding a parameter in fucntion
  hvm_inject_exception(), so that exception emulation can set correct
  instruction length.

PATCH 2: Fix the mistake for debug exception(#DB), overflow exception(#OF) and
  INT3(#BP), INTn instruction emulation.

  Introduce new function vmx_inject_sw_exception() which deliver the software
  excetion, software interrupt and privileged software exception. Split hardware
  exception as a seperate function(old function vmx_inject_hw_exception()).

PATCH 3: Add a parameter to represent instruction length in function
  xc_hvm_inject_trap(), user should set this value when this
  function is called.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:06:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:06:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkr0-0006p9-2Y; Fri, 25 May 2012 03:06:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkqy-0006ob-8p
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:06:12 +0000
Received: from [85.158.143.99:48123] by server-2.bemta-4.messagelabs.com id
	9C/50-12211-327FEBF4; Fri, 25 May 2012 03:06:11 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337915166!29148193!3
X-Originating-IP: [192.55.52.88]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjU1LjUyLjg4ID0+IDMyMDMzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24154 invoked from network); 25 May 2012 03:06:09 -0000
Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88)
	by server-3.tower-216.messagelabs.com with SMTP;
	25 May 2012 03:06:09 -0000
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
	by fmsmga101.fm.intel.com with ESMTP; 24 May 2012 20:06:02 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="171155587"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by fmsmga002.fm.intel.com with ESMTP; 24 May 2012 20:06:00 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com
Date: Fri, 25 May 2012 03:06:25 +0800
Message-Id: <1337886385-2374-3-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
References: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Xudong Hao <xudong.hao@intel.com>,
	Ian.Jackson@eu.citrix.com, Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH 2/3] VMX: Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB), overflow exception(#OF) and
INT3(#BP), INTn instruction emulation.

Introduce new function vmx_inject_sw_exception() which deliver the software
excetion, software interrupt and privileged software exception. Split hardware
exception as a seperate function(old function vmx_inject_hw_exception()).

According to instruction length, to distinguish INT3 is generated by opcode
'CC' or 'CD ib =3', so do INTO and #DB(debug exception).

Note:
 * For INTn (CD ib), it should use type 4 (software interrupt).

 * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
   it should use type 6 (software exception).

 * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF,
   #AC, #MC, and #XM), it should use type 3 (hardware exception).

 * In the unlikely event that you are emulating the undocumented opcode F1
   (informally called INT1 or ICEBP), it would use type 5 (privileged software
   exception).

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c        |  141 +++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/hvm.h     |    1 +
 xen/include/asm-x86/hvm/vmx/vmx.h |    1 +
 3 files changed, 122 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e15b7a4..8d78ffa 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1344,12 +1344,27 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_hw_exception(int trap, int error_code)
+/*
+ * Generate the virtual event to guest.
+ * NOTE:
+ *    This is for processor execution generated exceptions,
+ * and handle all software exception/interrupt, which include:
+ *  - INT 3(CC), INTO (CE) instruction emulation, which should
+ *    use X86_EVENTTYPE_SW_EXCEPTION;
+ *  - INT nn (CD nn) instruction emulation, which should use
+ *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
+ *  - opcode 0xf1 generated #DB should use privileged software
+ *    exception.
+ *
+ *    The caller of this function should set correct instruction
+ * length.
+ */
+void vmx_inject_sw_exception(int trap, int inslen, int error_code)
 {
     unsigned long intr_info;
     struct vcpu *curr = current;
 
-    int type = X86_EVENTTYPE_HW_EXCEPTION;
+    int type = X86_EVENTTYPE_SW_EXCEPTION;
 
     if ( nestedhvm_vcpu_in_guestmode(curr) )
         intr_info = vcpu_2_nvmx(curr).intr.intr_info;
@@ -1358,17 +1373,6 @@ void vmx_inject_hw_exception(int trap, int error_code)
 
     switch ( trap )
     {
-    case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
-        {
-            __restore_debug_registers(curr);
-            write_debugreg(6, read_debugreg(6) | 0x4000);
-        }
-        if ( cpu_has_monitor_trap_flag )
-            break;
-        /* fall through */
-
     case TRAP_int3:
         if ( curr->domain->debugger_attached )
         {
@@ -1377,16 +1381,75 @@ void vmx_inject_hw_exception(int trap, int error_code)
             return;
         }
 
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
+        if ( inslen == 2 )
+            type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=3 */
+        break;
+
+    case TRAP_overflow:
+        if ( inslen == 2 )
+            type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=4 */
+        break;
+
+    case TRAP_debug:
+        /* Handle DB generated by 0xf1 */
+        type = X86_EVENTTYPE_PRI_SW_EXCEPTION;
         break;
 
     default:
-        if ( trap > TRAP_last_reserved )
+        if ( trap > TRAP_last_reserved ) /* int imm8 */
+        {
+            type = X86_EVENTTYPE_SW_INTERRUPT;
+        }
+        break;
+
+    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, inslen);
+
+    }
+
+    if ( nestedhvm_vcpu_in_guestmode(curr) &&
+         nvmx_intercepts_exception(curr, trap, error_code) )
+    {
+        nvmx_enqueue_n2_exceptions (curr, 
+            INTR_INFO_VALID_MASK | (type<<8) | trap,
+            error_code); 
+        return;
+    }
+    else
+        __vmx_inject_exception(trap, type, error_code);
+
+    HVMTRACE_2D(INJ_EXC, trap, error_code);
+}
+
+/*
+ * Generate the virtual event to guest.
+ * NOTE:
+ *    This is only for hardware exceptions type delivery.
+ */
+void vmx_inject_hw_exception(int trap, int error_code)
+{
+    unsigned long intr_info;
+    struct vcpu *curr = current;
+
+    int type = X86_EVENTTYPE_HW_EXCEPTION;
+
+    if ( nestedhvm_vcpu_in_guestmode(curr) )
+        intr_info = vcpu_2_nvmx(curr).intr.intr_info;
+    else
+        intr_info = __vmread(VM_ENTRY_INTR_INFO);
+
+    switch ( trap )
+    {
+    case TRAP_debug:
+        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
-            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
+            __restore_debug_registers(curr);
+            write_debugreg(6, read_debugreg(6) | 0x4000);
         }
+        if ( cpu_has_monitor_trap_flag )
+            break;
+        /* fall through */
+
+    default:
         break;
     }
 
@@ -1455,12 +1518,47 @@ void vmx_inject_nmi(void)
 }
 
 static void vmx_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
+    unsigned int trapnr, int inslen, int errcode, unsigned long cr2)
 {
     if ( trapnr == TRAP_page_fault )
         current->arch.hvm_vcpu.guest_cr[2] = cr2;
 
-    vmx_inject_hw_exception(trapnr, errcode);
+    switch(trapnr)
+    {
+        case TRAP_divide_error:
+        case TRAP_bounds:
+        case TRAP_invalid_op:
+        case TRAP_no_device:
+        case TRAP_invalid_tss:
+        case TRAP_no_segment:
+        case TRAP_stack_error:
+        case TRAP_gp_fault:
+        case TRAP_page_fault:
+        case TRAP_copro_error:
+        case TRAP_alignment_check:
+        case TRAP_machine_check:
+        case TRAP_simd_error:
+            vmx_inject_hw_exception(trapnr, errcode);
+            break;
+
+        case TRAP_debug:
+            if ( inslen != 0 )
+                /* icebp: opcode 0xf1 generate #DB, should be a privileged
+                 * software exception */
+                vmx_inject_sw_exception(trapnr, inslen, errcode);
+            else
+                vmx_inject_hw_exception(trapnr, errcode);
+            break;
+
+        case TRAP_int3:
+        case TRAP_overflow:
+            vmx_inject_sw_exception(trapnr, inslen, errcode);
+            break;
+    
+        default:
+            vmx_inject_sw_exception(trapnr, inslen, errcode);
+            break;
+    }
 }
 
 static int vmx_event_pending(struct vcpu *v)
@@ -2440,7 +2538,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 
                 if ( handled < 0 ) 
                 {
-                    vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
+                    vmx_inject_exception(TRAP_int3,
+                       __vmread(VM_EXIT_INSTRUCTION_LEN), HVM_DELIVER_NO_ERROR_CODE, 0);
                     break;
                 }
                 else if ( handled )
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 3ba1615..c65ad09 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -370,6 +370,7 @@ static inline int hvm_do_pmu_interrupt(struct cpu_user_regs *regs)
 #define X86_EVENTTYPE_NMI                   2    /* NMI                */
 #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware exception */
 #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software interrupt */
+#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged software exception */
 #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software exception */
 
 int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index f003f84..61078a6 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -387,6 +387,7 @@ static inline int __vmxon(u64 addr)
     return rc;
 }
 
+void vmx_inject_sw_exception(int trap, int inslen, int error_code);
 void vmx_inject_hw_exception(int trap, int error_code);
 void vmx_inject_extint(int trap);
 void vmx_inject_nmi(void);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:06:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:06:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkr0-0006p9-2Y; Fri, 25 May 2012 03:06:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkqy-0006ob-8p
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:06:12 +0000
Received: from [85.158.143.99:48123] by server-2.bemta-4.messagelabs.com id
	9C/50-12211-327FEBF4; Fri, 25 May 2012 03:06:11 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337915166!29148193!3
X-Originating-IP: [192.55.52.88]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjU1LjUyLjg4ID0+IDMyMDMzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24154 invoked from network); 25 May 2012 03:06:09 -0000
Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88)
	by server-3.tower-216.messagelabs.com with SMTP;
	25 May 2012 03:06:09 -0000
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
	by fmsmga101.fm.intel.com with ESMTP; 24 May 2012 20:06:02 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="171155587"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by fmsmga002.fm.intel.com with ESMTP; 24 May 2012 20:06:00 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com
Date: Fri, 25 May 2012 03:06:25 +0800
Message-Id: <1337886385-2374-3-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
References: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Xudong Hao <xudong.hao@intel.com>,
	Ian.Jackson@eu.citrix.com, Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH 2/3] VMX: Fix the mistake of exception execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB), overflow exception(#OF) and
INT3(#BP), INTn instruction emulation.

Introduce new function vmx_inject_sw_exception() which deliver the software
excetion, software interrupt and privileged software exception. Split hardware
exception as a seperate function(old function vmx_inject_hw_exception()).

According to instruction length, to distinguish INT3 is generated by opcode
'CC' or 'CD ib =3', so do INTO and #DB(debug exception).

Note:
 * For INTn (CD ib), it should use type 4 (software interrupt).

 * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
   it should use type 6 (software exception).

 * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF,
   #AC, #MC, and #XM), it should use type 3 (hardware exception).

 * In the unlikely event that you are emulating the undocumented opcode F1
   (informally called INT1 or ICEBP), it would use type 5 (privileged software
   exception).

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c        |  141 +++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/hvm.h     |    1 +
 xen/include/asm-x86/hvm/vmx/vmx.h |    1 +
 3 files changed, 122 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e15b7a4..8d78ffa 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1344,12 +1344,27 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_hw_exception(int trap, int error_code)
+/*
+ * Generate the virtual event to guest.
+ * NOTE:
+ *    This is for processor execution generated exceptions,
+ * and handle all software exception/interrupt, which include:
+ *  - INT 3(CC), INTO (CE) instruction emulation, which should
+ *    use X86_EVENTTYPE_SW_EXCEPTION;
+ *  - INT nn (CD nn) instruction emulation, which should use
+ *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
+ *  - opcode 0xf1 generated #DB should use privileged software
+ *    exception.
+ *
+ *    The caller of this function should set correct instruction
+ * length.
+ */
+void vmx_inject_sw_exception(int trap, int inslen, int error_code)
 {
     unsigned long intr_info;
     struct vcpu *curr = current;
 
-    int type = X86_EVENTTYPE_HW_EXCEPTION;
+    int type = X86_EVENTTYPE_SW_EXCEPTION;
 
     if ( nestedhvm_vcpu_in_guestmode(curr) )
         intr_info = vcpu_2_nvmx(curr).intr.intr_info;
@@ -1358,17 +1373,6 @@ void vmx_inject_hw_exception(int trap, int error_code)
 
     switch ( trap )
     {
-    case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
-        {
-            __restore_debug_registers(curr);
-            write_debugreg(6, read_debugreg(6) | 0x4000);
-        }
-        if ( cpu_has_monitor_trap_flag )
-            break;
-        /* fall through */
-
     case TRAP_int3:
         if ( curr->domain->debugger_attached )
         {
@@ -1377,16 +1381,75 @@ void vmx_inject_hw_exception(int trap, int error_code)
             return;
         }
 
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
+        if ( inslen == 2 )
+            type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=3 */
+        break;
+
+    case TRAP_overflow:
+        if ( inslen == 2 )
+            type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=4 */
+        break;
+
+    case TRAP_debug:
+        /* Handle DB generated by 0xf1 */
+        type = X86_EVENTTYPE_PRI_SW_EXCEPTION;
         break;
 
     default:
-        if ( trap > TRAP_last_reserved )
+        if ( trap > TRAP_last_reserved ) /* int imm8 */
+        {
+            type = X86_EVENTTYPE_SW_INTERRUPT;
+        }
+        break;
+
+    __vmwrite(VM_ENTRY_INSTRUCTION_LEN, inslen);
+
+    }
+
+    if ( nestedhvm_vcpu_in_guestmode(curr) &&
+         nvmx_intercepts_exception(curr, trap, error_code) )
+    {
+        nvmx_enqueue_n2_exceptions (curr, 
+            INTR_INFO_VALID_MASK | (type<<8) | trap,
+            error_code); 
+        return;
+    }
+    else
+        __vmx_inject_exception(trap, type, error_code);
+
+    HVMTRACE_2D(INJ_EXC, trap, error_code);
+}
+
+/*
+ * Generate the virtual event to guest.
+ * NOTE:
+ *    This is only for hardware exceptions type delivery.
+ */
+void vmx_inject_hw_exception(int trap, int error_code)
+{
+    unsigned long intr_info;
+    struct vcpu *curr = current;
+
+    int type = X86_EVENTTYPE_HW_EXCEPTION;
+
+    if ( nestedhvm_vcpu_in_guestmode(curr) )
+        intr_info = vcpu_2_nvmx(curr).intr.intr_info;
+    else
+        intr_info = __vmread(VM_ENTRY_INTR_INFO);
+
+    switch ( trap )
+    {
+    case TRAP_debug:
+        if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
-            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
+            __restore_debug_registers(curr);
+            write_debugreg(6, read_debugreg(6) | 0x4000);
         }
+        if ( cpu_has_monitor_trap_flag )
+            break;
+        /* fall through */
+
+    default:
         break;
     }
 
@@ -1455,12 +1518,47 @@ void vmx_inject_nmi(void)
 }
 
 static void vmx_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
+    unsigned int trapnr, int inslen, int errcode, unsigned long cr2)
 {
     if ( trapnr == TRAP_page_fault )
         current->arch.hvm_vcpu.guest_cr[2] = cr2;
 
-    vmx_inject_hw_exception(trapnr, errcode);
+    switch(trapnr)
+    {
+        case TRAP_divide_error:
+        case TRAP_bounds:
+        case TRAP_invalid_op:
+        case TRAP_no_device:
+        case TRAP_invalid_tss:
+        case TRAP_no_segment:
+        case TRAP_stack_error:
+        case TRAP_gp_fault:
+        case TRAP_page_fault:
+        case TRAP_copro_error:
+        case TRAP_alignment_check:
+        case TRAP_machine_check:
+        case TRAP_simd_error:
+            vmx_inject_hw_exception(trapnr, errcode);
+            break;
+
+        case TRAP_debug:
+            if ( inslen != 0 )
+                /* icebp: opcode 0xf1 generate #DB, should be a privileged
+                 * software exception */
+                vmx_inject_sw_exception(trapnr, inslen, errcode);
+            else
+                vmx_inject_hw_exception(trapnr, errcode);
+            break;
+
+        case TRAP_int3:
+        case TRAP_overflow:
+            vmx_inject_sw_exception(trapnr, inslen, errcode);
+            break;
+    
+        default:
+            vmx_inject_sw_exception(trapnr, inslen, errcode);
+            break;
+    }
 }
 
 static int vmx_event_pending(struct vcpu *v)
@@ -2440,7 +2538,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 
                 if ( handled < 0 ) 
                 {
-                    vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
+                    vmx_inject_exception(TRAP_int3,
+                       __vmread(VM_EXIT_INSTRUCTION_LEN), HVM_DELIVER_NO_ERROR_CODE, 0);
                     break;
                 }
                 else if ( handled )
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 3ba1615..c65ad09 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -370,6 +370,7 @@ static inline int hvm_do_pmu_interrupt(struct cpu_user_regs *regs)
 #define X86_EVENTTYPE_NMI                   2    /* NMI                */
 #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware exception */
 #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software interrupt */
+#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged software exception */
 #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software exception */
 
 int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index f003f84..61078a6 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -387,6 +387,7 @@ static inline int __vmxon(u64 addr)
     return rc;
 }
 
+void vmx_inject_sw_exception(int trap, int inslen, int error_code);
 void vmx_inject_hw_exception(int trap, int error_code);
 void vmx_inject_extint(int trap);
 void vmx_inject_nmi(void);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:06:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:06:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkqy-0006oq-G9; Fri, 25 May 2012 03:06:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkqx-0006ob-II
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:06:11 +0000
Received: from [85.158.143.99:48081] by server-2.bemta-4.messagelabs.com id
	5B/50-12211-227FEBF4; Fri, 25 May 2012 03:06:10 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337915166!29148193!2
X-Originating-IP: [192.55.52.88]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjU1LjUyLjg4ID0+IDMyMDMzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23817 invoked from network); 25 May 2012 03:06:08 -0000
Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88)
	by server-3.tower-216.messagelabs.com with SMTP;
	25 May 2012 03:06:08 -0000
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
	by fmsmga101.fm.intel.com with ESMTP; 24 May 2012 20:06:00 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="171155561"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by fmsmga002.fm.intel.com with ESMTP; 24 May 2012 20:05:59 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com
Date: Fri, 25 May 2012 03:06:24 +0800
Message-Id: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
References: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Xudong Hao <xudong.hao@intel.com>,
	Ian.Jackson@eu.citrix.com, Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter in
	function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VMX exception: Pass the instruction length field down to exception emulation,
by changing hypercall parameter and adding a parameter in fucntion
hvm_inject_exception(), so that exception emulation can set correct
instruction length.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/emulate.c       |    4 +-
 xen/arch/x86/hvm/hvm.c           |   40 +++++++++++++++++++------------------
 xen/arch/x86/hvm/io.c            |    2 +-
 xen/arch/x86/hvm/svm/emulate.c   |    4 +-
 xen/arch/x86/hvm/svm/nestedsvm.c |    6 ++--
 xen/arch/x86/hvm/svm/svm.c       |   34 ++++++++++++++++----------------
 xen/arch/x86/hvm/vmx/vmx.c       |    2 +-
 xen/arch/x86/hvm/vmx/vvmx.c      |    6 ++--
 xen/arch/x86/mm/shadow/common.c  |    2 +-
 xen/arch/x86/mm/shadow/multi.c   |    2 +-
 xen/include/asm-x86/hvm/hvm.h    |    4 +-
 xen/include/asm-x86/hvm/vcpu.h   |    1 +
 xen/include/public/hvm/hvm_op.h  |    2 +
 13 files changed, 57 insertions(+), 52 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 2b50670..b6d1984 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -326,7 +326,7 @@ static int hvmemul_linear_to_phys(
     {
         if ( pfec == PFEC_page_paged || pfec == PFEC_page_shared )
             return X86EMUL_RETRY;
-        hvm_inject_exception(TRAP_page_fault, pfec, addr);
+        hvm_inject_exception(TRAP_page_fault, 0, pfec, addr);
         return X86EMUL_EXCEPTION;
     }
 
@@ -349,7 +349,7 @@ static int hvmemul_linear_to_phys(
                 ASSERT(!reverse);
                 if ( npfn != INVALID_GFN )
                     return X86EMUL_UNHANDLEABLE;
-                hvm_inject_exception(TRAP_page_fault, pfec, addr & PAGE_MASK);
+                hvm_inject_exception(TRAP_page_fault, 0, pfec, addr & PAGE_MASK);
                 return X86EMUL_EXCEPTION;
             }
             *reps = done;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index efd5587..fa8b220 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -350,6 +350,7 @@ void hvm_do_resume(struct vcpu *v)
     if (v->arch.hvm_vcpu.inject_trap != -1) 
     {
         hvm_inject_exception(v->arch.hvm_vcpu.inject_trap, 
+                             v->arch.hvm_vcpu.instruction_len, 
                              v->arch.hvm_vcpu.inject_error_code, 
                              v->arch.hvm_vcpu.inject_cr2);
         v->arch.hvm_vcpu.inject_trap = -1;
@@ -1194,7 +1195,7 @@ void hvm_triple_fault(void)
     domain_shutdown(v->domain, SHUTDOWN_reboot);
 }
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
+void hvm_inject_exception(unsigned int trapnr, int inslen, int errcode, unsigned long cr2)
 {
     struct vcpu *curr = current;
 
@@ -1221,7 +1222,7 @@ void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
         }
     }
 
-    hvm_funcs.inject_exception(trapnr, errcode, cr2);
+    hvm_funcs.inject_exception(trapnr, inslen, errcode, cr2);
 }
 
 int hvm_hap_nested_page_fault(unsigned long gpa,
@@ -1270,7 +1271,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
             return -1;
         case NESTEDHVM_PAGEFAULT_MMIO:
             if ( !handle_mmio() )
-                hvm_inject_exception(TRAP_gp_fault, 0, 0);
+                hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
             return 1;
         }
     }
@@ -1337,7 +1338,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         put_gfn(p2m->domain, gfn);
         if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         rc = 1;
         goto out;
     }
@@ -1380,7 +1381,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         gdprintk(XENLOG_WARNING,
                  "trying to write to read-only grant mapping\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         rc = 1;
         goto out_put_gfn;
     }
@@ -1441,7 +1442,7 @@ int hvm_handle_xsetbv(u64 new_bv)
 
     return 0;
 err:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return -1;
 }
 
@@ -1457,7 +1458,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING, "Trying to set reserved bit in "
                  "EFER: 0x%"PRIx64"\n", value);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1466,7 +1467,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING,
                  "Trying to change EFER.LME with paging enabled\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1722,7 +1723,7 @@ int hvm_set_cr0(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1808,7 +1809,7 @@ int hvm_set_cr4(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2104,7 +2105,7 @@ static int hvm_load_segment_selector(
  unmap_and_fail:
     hvm_unmap_entry(pdesc);
  fail:
-    hvm_inject_exception(fault_type, sel & 0xfffc, 0);
+    hvm_inject_exception(fault_type, 0, sel & 0xfffc, 0);
  hvm_map_fail:
     return 1;
 }
@@ -2139,7 +2140,7 @@ void hvm_task_switch(
     {
         hvm_inject_exception((taskswitch_reason == TSW_iret) ?
                              TRAP_invalid_tss : TRAP_gp_fault,
-                             tss_sel & 0xfff8, 0);
+                             0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
@@ -2164,7 +2165,7 @@ void hvm_task_switch(
 
     if ( !tr.attr.fields.p )
     {
-        hvm_inject_exception(TRAP_no_segment, tss_sel & 0xfff8, 0);
+        hvm_inject_exception(TRAP_no_segment, 0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
@@ -2172,13 +2173,13 @@ void hvm_task_switch(
     {
         hvm_inject_exception(
             (taskswitch_reason == TSW_iret) ? TRAP_invalid_tss : TRAP_gp_fault,
-            tss_sel & 0xfff8, 0);
+            0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
     if ( tr.limit < (sizeof(tss)-1) )
     {
-        hvm_inject_exception(TRAP_invalid_tss, tss_sel & 0xfff8, 0);
+        hvm_inject_exception(TRAP_invalid_tss, 0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
@@ -2283,7 +2284,7 @@ void hvm_task_switch(
         goto out;
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_exception(TRAP_debug, tss_sel & 0xfff8, 0);
+        hvm_inject_exception(TRAP_debug, 0, tss_sel & 0xfff8, 0);
 
     tr.attr.fields.type = 0xb; /* busy 32-bit tss */
     hvm_set_segment_register(v, x86_seg_tr, &tr);
@@ -2362,7 +2363,7 @@ static enum hvm_copy_result __hvm_copy(
                 if ( pfec == PFEC_page_shared )
                     return HVMCOPY_gfn_shared;
                 if ( flags & HVMCOPY_fault )
-                    hvm_inject_exception(TRAP_page_fault, pfec, addr);
+                    hvm_inject_exception(TRAP_page_fault, 0, pfec, addr);
                 return HVMCOPY_bad_gva_to_gfn;
             }
         }
@@ -2849,7 +2850,7 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return ret;
 
  gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     ret = X86EMUL_EXCEPTION;
     *msr_content = -1ull;
     goto out;
@@ -2962,7 +2963,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return ret;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -4272,6 +4273,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
         else 
         {
             v->arch.hvm_vcpu.inject_trap       = tr.trap;
+            v->arch.hvm_vcpu.instruction_len   = tr.inslen;
             v->arch.hvm_vcpu.inject_error_code = tr.error_code;
             v->arch.hvm_vcpu.inject_cr2        = tr.cr2;
         }
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 41a2ede..bd856fd 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -200,7 +200,7 @@ int handle_mmio(void)
         return 0;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_insn_len, ctxt.exn_error_code, 0);
         break;
     default:
         break;
diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
index 6000bff..8b67f2f 100644
--- a/xen/arch/x86/hvm/svm/emulate.c
+++ b/xen/arch/x86/hvm/svm/emulate.c
@@ -147,7 +147,7 @@ static int fetch(struct vcpu *v, u8 *buf, unsigned long addr, int len)
         /* Not OK: fetches from non-RAM pages are not supportable. */
         gdprintk(XENLOG_WARNING, "Bad instruction fetch at %#lx (%#lx)\n",
                  (unsigned long) guest_cpu_user_regs()->eip, addr);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return 0;
     }
     return 1;
@@ -216,7 +216,7 @@ int __get_instruction_length_from_list(struct vcpu *v,
     gdprintk(XENLOG_WARNING,
              "%s: Mismatch between expected and actual instruction bytes: "
              "eip = %lx\n",  __func__, (unsigned long)vmcb->rip);
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return 0;
 
  done:
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 8714bb0..ac04f3b 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -735,7 +735,7 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct cpu_user_regs *regs)
     default:
         gdprintk(XENLOG_ERR,
             "nsvm_vcpu_vmentry failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         /* Must happen after hvm_inject_exception or it doesn't work right. */
         nv->nv_vmswitch_in_progress = 0;
         return 1;
@@ -1509,7 +1509,7 @@ void svm_vmexit_do_stgi(struct cpu_user_regs *regs, struct vcpu *v)
     unsigned int inst_len;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
@@ -1529,7 +1529,7 @@ void svm_vmexit_do_clgi(struct cpu_user_regs *regs, struct vcpu *v)
     vintr_t intr;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index e717dda..87fb8a1 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -109,7 +109,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
     curr->arch.hvm_svm.vmcb->interrupt_shadow = 0;
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_debug, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
 }
 
 static void svm_cpu_down(void)
@@ -1067,7 +1067,7 @@ static void svm_vcpu_destroy(struct vcpu *v)
 }
 
 static void svm_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
+    unsigned int trapnr, int inslen, int errcode, unsigned long cr2)
 {
     struct vcpu *curr = current;
     struct vmcb_struct *vmcb = curr->arch.hvm_svm.vmcb;
@@ -1361,7 +1361,7 @@ static void svm_fpu_dirty_intercept(void)
     {
        /* Check if l1 guest must make FPU ready for the l2 guest */
        if ( v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS )
-           hvm_inject_exception(TRAP_no_device, HVM_DELIVER_NO_ERROR_CODE, 0);
+           hvm_inject_exception(TRAP_no_device, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
        else
            vmcb_set_cr0(n1vmcb, vmcb_get_cr0(n1vmcb) & ~X86_CR0_TS);
        return;
@@ -1579,7 +1579,7 @@ static int svm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1708,7 +1708,7 @@ static int svm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1784,13 +1784,13 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
 {
     if (!nestedhvm_enabled(v->domain)) {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
     if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
         gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
@@ -1830,7 +1830,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_exception(ret, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
     return;
 }
 
@@ -1864,7 +1864,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_exception(ret, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
     return;
 }
 
@@ -1880,11 +1880,11 @@ static void svm_vmexit_ud_intercept(struct cpu_user_regs *regs)
     switch ( rc )
     {
     case X86EMUL_UNHANDLEABLE:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_insn_len, ctxt.exn_error_code, 0);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
@@ -2212,7 +2212,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             break;
         }
 
-        hvm_inject_exception(TRAP_page_fault, regs->error_code, va);
+        hvm_inject_exception(TRAP_page_fault, 0, regs->error_code, va);
         break;
     }
 
@@ -2285,7 +2285,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
                 __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         break;
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
@@ -2293,7 +2293,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         if ( cpu_has_svm_decode && (vmcb->exitinfo1 & (1ULL << 63)) )
             svm_vmexit_do_cr_access(vmcb, regs);
         else if ( !handle_mmio() ) 
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         break;
 
     case VMEXIT_INVLPG:
@@ -2303,7 +2303,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             __update_guest_eip(regs, vmcb->nextrip - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         break;
 
     case VMEXIT_INVLPGA:
@@ -2349,7 +2349,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
 
     case VMEXIT_MONITOR:
     case VMEXIT_MWAIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         break;
 
     case VMEXIT_VMRUN:
@@ -2368,7 +2368,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         svm_vmexit_do_clgi(regs, v);
         break;
     case VMEXIT_SKINIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         break;
 
     case VMEXIT_XSETBV:
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d5cb279..e15b7a4 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2226,7 +2226,7 @@ static void vmx_vmexit_ud_intercept(struct cpu_user_regs *regs)
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_insn_len, ctxt.exn_error_code, 0);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index b0ae0ee..6a55edb 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -304,12 +304,12 @@ vmexit:
     
 invalid_op:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: invalid_op\n");
-    hvm_inject_exception(TRAP_invalid_op, 0, 0);
+    hvm_inject_exception(TRAP_invalid_op, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 
 gp_fault:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: gp_fault\n");
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -386,7 +386,7 @@ static int decode_vmx_inst(struct cpu_user_regs *regs,
     return X86EMUL_OKAY;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 59be993..8b864d2 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -135,7 +135,7 @@ static int hvm_translate_linear_addr(
 
     if ( !okay )
     {
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return X86EMUL_EXCEPTION;
     }
 
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 9368385..199bd85 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -4825,7 +4825,7 @@ static mfn_t emulate_gva_to_mfn(struct vcpu *v,
     if ( gfn == INVALID_GFN ) 
     {
         if ( is_hvm_vcpu(v) )
-            hvm_inject_exception(TRAP_page_fault, pfec, vaddr);
+            hvm_inject_exception(TRAP_page_fault, 0, pfec, vaddr);
         else
             propagate_page_fault(vaddr, pfec);
         return _mfn(BAD_GVA_TO_GFN);
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 22f9451..3ba1615 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -124,7 +124,7 @@ struct hvm_function_table {
 
     void (*set_tsc_offset)(struct vcpu *v, u64 offset);
 
-    void (*inject_exception)(unsigned int trapnr, int errcode,
+    void (*inject_exception)(unsigned int trapnr, int inslen, int errcode,
                              unsigned long cr2);
 
     void (*init_hypercall_page)(struct domain *d, void *hypercall_page);
@@ -320,7 +320,7 @@ void hvm_migrate_timers(struct vcpu *v);
 void hvm_do_resume(struct vcpu *v);
 void hvm_migrate_pirqs(struct vcpu *v);
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2);
+void hvm_inject_exception(unsigned int trapnr, int inslen, int errcode, unsigned long cr2);
 
 static inline int hvm_event_pending(struct vcpu *v)
 {
diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/include/asm-x86/hvm/vcpu.h
index 537da96..c325fd1 100644
--- a/xen/include/asm-x86/hvm/vcpu.h
+++ b/xen/include/asm-x86/hvm/vcpu.h
@@ -166,6 +166,7 @@ struct hvm_vcpu {
     void *fpu_exception_callback_arg;
     /* Pending hw/sw interrupt */
     int           inject_trap;       /* -1 for nothing to inject */
+    int           instruction_len;
     int           inject_error_code;
     unsigned long inject_cr2;
 
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index 6a78f75..4bafd88 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -219,6 +219,8 @@ struct xen_hvm_inject_trap {
     uint32_t vcpuid;
     /* Trap number */
     uint32_t trap;
+    /* Intruction length */
+    uint32_t inslen;
     /* Error code, or -1 to skip */
     uint32_t error_code;
     /* CR2 for page faults */
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:06:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:06:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkqy-0006oq-G9; Fri, 25 May 2012 03:06:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkqx-0006ob-II
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:06:11 +0000
Received: from [85.158.143.99:48081] by server-2.bemta-4.messagelabs.com id
	5B/50-12211-227FEBF4; Fri, 25 May 2012 03:06:10 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337915166!29148193!2
X-Originating-IP: [192.55.52.88]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjU1LjUyLjg4ID0+IDMyMDMzMQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23817 invoked from network); 25 May 2012 03:06:08 -0000
Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88)
	by server-3.tower-216.messagelabs.com with SMTP;
	25 May 2012 03:06:08 -0000
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
	by fmsmga101.fm.intel.com with ESMTP; 24 May 2012 20:06:00 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="171155561"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by fmsmga002.fm.intel.com with ESMTP; 24 May 2012 20:05:59 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com
Date: Fri, 25 May 2012 03:06:24 +0800
Message-Id: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
References: <1337886385-2374-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Xudong Hao <xudong.hao@intel.com>,
	Ian.Jackson@eu.citrix.com, Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter in
	function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

VMX exception: Pass the instruction length field down to exception emulation,
by changing hypercall parameter and adding a parameter in fucntion
hvm_inject_exception(), so that exception emulation can set correct
instruction length.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/emulate.c       |    4 +-
 xen/arch/x86/hvm/hvm.c           |   40 +++++++++++++++++++------------------
 xen/arch/x86/hvm/io.c            |    2 +-
 xen/arch/x86/hvm/svm/emulate.c   |    4 +-
 xen/arch/x86/hvm/svm/nestedsvm.c |    6 ++--
 xen/arch/x86/hvm/svm/svm.c       |   34 ++++++++++++++++----------------
 xen/arch/x86/hvm/vmx/vmx.c       |    2 +-
 xen/arch/x86/hvm/vmx/vvmx.c      |    6 ++--
 xen/arch/x86/mm/shadow/common.c  |    2 +-
 xen/arch/x86/mm/shadow/multi.c   |    2 +-
 xen/include/asm-x86/hvm/hvm.h    |    4 +-
 xen/include/asm-x86/hvm/vcpu.h   |    1 +
 xen/include/public/hvm/hvm_op.h  |    2 +
 13 files changed, 57 insertions(+), 52 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 2b50670..b6d1984 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -326,7 +326,7 @@ static int hvmemul_linear_to_phys(
     {
         if ( pfec == PFEC_page_paged || pfec == PFEC_page_shared )
             return X86EMUL_RETRY;
-        hvm_inject_exception(TRAP_page_fault, pfec, addr);
+        hvm_inject_exception(TRAP_page_fault, 0, pfec, addr);
         return X86EMUL_EXCEPTION;
     }
 
@@ -349,7 +349,7 @@ static int hvmemul_linear_to_phys(
                 ASSERT(!reverse);
                 if ( npfn != INVALID_GFN )
                     return X86EMUL_UNHANDLEABLE;
-                hvm_inject_exception(TRAP_page_fault, pfec, addr & PAGE_MASK);
+                hvm_inject_exception(TRAP_page_fault, 0, pfec, addr & PAGE_MASK);
                 return X86EMUL_EXCEPTION;
             }
             *reps = done;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index efd5587..fa8b220 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -350,6 +350,7 @@ void hvm_do_resume(struct vcpu *v)
     if (v->arch.hvm_vcpu.inject_trap != -1) 
     {
         hvm_inject_exception(v->arch.hvm_vcpu.inject_trap, 
+                             v->arch.hvm_vcpu.instruction_len, 
                              v->arch.hvm_vcpu.inject_error_code, 
                              v->arch.hvm_vcpu.inject_cr2);
         v->arch.hvm_vcpu.inject_trap = -1;
@@ -1194,7 +1195,7 @@ void hvm_triple_fault(void)
     domain_shutdown(v->domain, SHUTDOWN_reboot);
 }
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
+void hvm_inject_exception(unsigned int trapnr, int inslen, int errcode, unsigned long cr2)
 {
     struct vcpu *curr = current;
 
@@ -1221,7 +1222,7 @@ void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
         }
     }
 
-    hvm_funcs.inject_exception(trapnr, errcode, cr2);
+    hvm_funcs.inject_exception(trapnr, inslen, errcode, cr2);
 }
 
 int hvm_hap_nested_page_fault(unsigned long gpa,
@@ -1270,7 +1271,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
             return -1;
         case NESTEDHVM_PAGEFAULT_MMIO:
             if ( !handle_mmio() )
-                hvm_inject_exception(TRAP_gp_fault, 0, 0);
+                hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
             return 1;
         }
     }
@@ -1337,7 +1338,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         put_gfn(p2m->domain, gfn);
         if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         rc = 1;
         goto out;
     }
@@ -1380,7 +1381,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         gdprintk(XENLOG_WARNING,
                  "trying to write to read-only grant mapping\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         rc = 1;
         goto out_put_gfn;
     }
@@ -1441,7 +1442,7 @@ int hvm_handle_xsetbv(u64 new_bv)
 
     return 0;
 err:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return -1;
 }
 
@@ -1457,7 +1458,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING, "Trying to set reserved bit in "
                  "EFER: 0x%"PRIx64"\n", value);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1466,7 +1467,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING,
                  "Trying to change EFER.LME with paging enabled\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1722,7 +1723,7 @@ int hvm_set_cr0(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1808,7 +1809,7 @@ int hvm_set_cr4(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2104,7 +2105,7 @@ static int hvm_load_segment_selector(
  unmap_and_fail:
     hvm_unmap_entry(pdesc);
  fail:
-    hvm_inject_exception(fault_type, sel & 0xfffc, 0);
+    hvm_inject_exception(fault_type, 0, sel & 0xfffc, 0);
  hvm_map_fail:
     return 1;
 }
@@ -2139,7 +2140,7 @@ void hvm_task_switch(
     {
         hvm_inject_exception((taskswitch_reason == TSW_iret) ?
                              TRAP_invalid_tss : TRAP_gp_fault,
-                             tss_sel & 0xfff8, 0);
+                             0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
@@ -2164,7 +2165,7 @@ void hvm_task_switch(
 
     if ( !tr.attr.fields.p )
     {
-        hvm_inject_exception(TRAP_no_segment, tss_sel & 0xfff8, 0);
+        hvm_inject_exception(TRAP_no_segment, 0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
@@ -2172,13 +2173,13 @@ void hvm_task_switch(
     {
         hvm_inject_exception(
             (taskswitch_reason == TSW_iret) ? TRAP_invalid_tss : TRAP_gp_fault,
-            tss_sel & 0xfff8, 0);
+            0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
     if ( tr.limit < (sizeof(tss)-1) )
     {
-        hvm_inject_exception(TRAP_invalid_tss, tss_sel & 0xfff8, 0);
+        hvm_inject_exception(TRAP_invalid_tss, 0, tss_sel & 0xfff8, 0);
         goto out;
     }
 
@@ -2283,7 +2284,7 @@ void hvm_task_switch(
         goto out;
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_exception(TRAP_debug, tss_sel & 0xfff8, 0);
+        hvm_inject_exception(TRAP_debug, 0, tss_sel & 0xfff8, 0);
 
     tr.attr.fields.type = 0xb; /* busy 32-bit tss */
     hvm_set_segment_register(v, x86_seg_tr, &tr);
@@ -2362,7 +2363,7 @@ static enum hvm_copy_result __hvm_copy(
                 if ( pfec == PFEC_page_shared )
                     return HVMCOPY_gfn_shared;
                 if ( flags & HVMCOPY_fault )
-                    hvm_inject_exception(TRAP_page_fault, pfec, addr);
+                    hvm_inject_exception(TRAP_page_fault, 0, pfec, addr);
                 return HVMCOPY_bad_gva_to_gfn;
             }
         }
@@ -2849,7 +2850,7 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return ret;
 
  gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     ret = X86EMUL_EXCEPTION;
     *msr_content = -1ull;
     goto out;
@@ -2962,7 +2963,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return ret;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -4272,6 +4273,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
         else 
         {
             v->arch.hvm_vcpu.inject_trap       = tr.trap;
+            v->arch.hvm_vcpu.instruction_len   = tr.inslen;
             v->arch.hvm_vcpu.inject_error_code = tr.error_code;
             v->arch.hvm_vcpu.inject_cr2        = tr.cr2;
         }
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 41a2ede..bd856fd 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -200,7 +200,7 @@ int handle_mmio(void)
         return 0;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_insn_len, ctxt.exn_error_code, 0);
         break;
     default:
         break;
diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
index 6000bff..8b67f2f 100644
--- a/xen/arch/x86/hvm/svm/emulate.c
+++ b/xen/arch/x86/hvm/svm/emulate.c
@@ -147,7 +147,7 @@ static int fetch(struct vcpu *v, u8 *buf, unsigned long addr, int len)
         /* Not OK: fetches from non-RAM pages are not supportable. */
         gdprintk(XENLOG_WARNING, "Bad instruction fetch at %#lx (%#lx)\n",
                  (unsigned long) guest_cpu_user_regs()->eip, addr);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return 0;
     }
     return 1;
@@ -216,7 +216,7 @@ int __get_instruction_length_from_list(struct vcpu *v,
     gdprintk(XENLOG_WARNING,
              "%s: Mismatch between expected and actual instruction bytes: "
              "eip = %lx\n",  __func__, (unsigned long)vmcb->rip);
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return 0;
 
  done:
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 8714bb0..ac04f3b 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -735,7 +735,7 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct cpu_user_regs *regs)
     default:
         gdprintk(XENLOG_ERR,
             "nsvm_vcpu_vmentry failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         /* Must happen after hvm_inject_exception or it doesn't work right. */
         nv->nv_vmswitch_in_progress = 0;
         return 1;
@@ -1509,7 +1509,7 @@ void svm_vmexit_do_stgi(struct cpu_user_regs *regs, struct vcpu *v)
     unsigned int inst_len;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
@@ -1529,7 +1529,7 @@ void svm_vmexit_do_clgi(struct cpu_user_regs *regs, struct vcpu *v)
     vintr_t intr;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index e717dda..87fb8a1 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -109,7 +109,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
     curr->arch.hvm_svm.vmcb->interrupt_shadow = 0;
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_debug, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
 }
 
 static void svm_cpu_down(void)
@@ -1067,7 +1067,7 @@ static void svm_vcpu_destroy(struct vcpu *v)
 }
 
 static void svm_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
+    unsigned int trapnr, int inslen, int errcode, unsigned long cr2)
 {
     struct vcpu *curr = current;
     struct vmcb_struct *vmcb = curr->arch.hvm_svm.vmcb;
@@ -1361,7 +1361,7 @@ static void svm_fpu_dirty_intercept(void)
     {
        /* Check if l1 guest must make FPU ready for the l2 guest */
        if ( v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS )
-           hvm_inject_exception(TRAP_no_device, HVM_DELIVER_NO_ERROR_CODE, 0);
+           hvm_inject_exception(TRAP_no_device, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
        else
            vmcb_set_cr0(n1vmcb, vmcb_get_cr0(n1vmcb) & ~X86_CR0_TS);
        return;
@@ -1579,7 +1579,7 @@ static int svm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1708,7 +1708,7 @@ static int svm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1784,13 +1784,13 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
 {
     if (!nestedhvm_enabled(v->domain)) {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
     if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
         gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         return;
     }
 
@@ -1830,7 +1830,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_exception(ret, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
     return;
 }
 
@@ -1864,7 +1864,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_exception(ret, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
     return;
 }
 
@@ -1880,11 +1880,11 @@ static void svm_vmexit_ud_intercept(struct cpu_user_regs *regs)
     switch ( rc )
     {
     case X86EMUL_UNHANDLEABLE:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_insn_len, ctxt.exn_error_code, 0);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
@@ -2212,7 +2212,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             break;
         }
 
-        hvm_inject_exception(TRAP_page_fault, regs->error_code, va);
+        hvm_inject_exception(TRAP_page_fault, 0, regs->error_code, va);
         break;
     }
 
@@ -2285,7 +2285,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
                 __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         break;
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
@@ -2293,7 +2293,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         if ( cpu_has_svm_decode && (vmcb->exitinfo1 & (1ULL << 63)) )
             svm_vmexit_do_cr_access(vmcb, regs);
         else if ( !handle_mmio() ) 
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         break;
 
     case VMEXIT_INVLPG:
@@ -2303,7 +2303,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             __update_guest_eip(regs, vmcb->nextrip - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         break;
 
     case VMEXIT_INVLPGA:
@@ -2349,7 +2349,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
 
     case VMEXIT_MONITOR:
     case VMEXIT_MWAIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         break;
 
     case VMEXIT_VMRUN:
@@ -2368,7 +2368,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         svm_vmexit_do_clgi(regs, v);
         break;
     case VMEXIT_SKINIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_exception(TRAP_invalid_op, 0, HVM_DELIVER_NO_ERROR_CODE, 0);
         break;
 
     case VMEXIT_XSETBV:
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d5cb279..e15b7a4 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2226,7 +2226,7 @@ static void vmx_vmexit_ud_intercept(struct cpu_user_regs *regs)
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_insn_len, ctxt.exn_error_code, 0);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index b0ae0ee..6a55edb 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -304,12 +304,12 @@ vmexit:
     
 invalid_op:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: invalid_op\n");
-    hvm_inject_exception(TRAP_invalid_op, 0, 0);
+    hvm_inject_exception(TRAP_invalid_op, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 
 gp_fault:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: gp_fault\n");
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -386,7 +386,7 @@ static int decode_vmx_inst(struct cpu_user_regs *regs,
     return X86EMUL_OKAY;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
     return X86EMUL_EXCEPTION;
 }
 
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 59be993..8b864d2 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -135,7 +135,7 @@ static int hvm_translate_linear_addr(
 
     if ( !okay )
     {
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_exception(TRAP_gp_fault, 0, 0, 0);
         return X86EMUL_EXCEPTION;
     }
 
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 9368385..199bd85 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -4825,7 +4825,7 @@ static mfn_t emulate_gva_to_mfn(struct vcpu *v,
     if ( gfn == INVALID_GFN ) 
     {
         if ( is_hvm_vcpu(v) )
-            hvm_inject_exception(TRAP_page_fault, pfec, vaddr);
+            hvm_inject_exception(TRAP_page_fault, 0, pfec, vaddr);
         else
             propagate_page_fault(vaddr, pfec);
         return _mfn(BAD_GVA_TO_GFN);
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 22f9451..3ba1615 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -124,7 +124,7 @@ struct hvm_function_table {
 
     void (*set_tsc_offset)(struct vcpu *v, u64 offset);
 
-    void (*inject_exception)(unsigned int trapnr, int errcode,
+    void (*inject_exception)(unsigned int trapnr, int inslen, int errcode,
                              unsigned long cr2);
 
     void (*init_hypercall_page)(struct domain *d, void *hypercall_page);
@@ -320,7 +320,7 @@ void hvm_migrate_timers(struct vcpu *v);
 void hvm_do_resume(struct vcpu *v);
 void hvm_migrate_pirqs(struct vcpu *v);
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2);
+void hvm_inject_exception(unsigned int trapnr, int inslen, int errcode, unsigned long cr2);
 
 static inline int hvm_event_pending(struct vcpu *v)
 {
diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/include/asm-x86/hvm/vcpu.h
index 537da96..c325fd1 100644
--- a/xen/include/asm-x86/hvm/vcpu.h
+++ b/xen/include/asm-x86/hvm/vcpu.h
@@ -166,6 +166,7 @@ struct hvm_vcpu {
     void *fpu_exception_callback_arg;
     /* Pending hw/sw interrupt */
     int           inject_trap;       /* -1 for nothing to inject */
+    int           instruction_len;
     int           inject_error_code;
     unsigned long inject_cr2;
 
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index 6a78f75..4bafd88 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -219,6 +219,8 @@ struct xen_hvm_inject_trap {
     uint32_t vcpuid;
     /* Trap number */
     uint32_t trap;
+    /* Intruction length */
+    uint32_t inslen;
     /* Error code, or -1 to skip */
     uint32_t error_code;
     /* CR2 for page faults */
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:07:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:07:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkrx-0006xa-Hz; Fri, 25 May 2012 03:07:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkrw-0006xH-6P
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:07:12 +0000
Received: from [85.158.143.35:32730] by server-1.bemta-4.messagelabs.com id
	5A/EB-00342-F57FEBF4; Fri, 25 May 2012 03:07:11 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337915229!5844936!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNzY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8638 invoked from network); 25 May 2012 03:07:10 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-21.messagelabs.com with SMTP;
	25 May 2012 03:07:10 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 20:07:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147609269"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 20:07:06 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: Ian.Jackson@eu.citrix.com
Date: Fri, 25 May 2012 03:07:34 +0800
Message-Id: <1337886454-2400-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: eddie.dong@intel.com, aravindh@virtuata.com,
	Xudong Hao <xudong.hao@intel.com>, xen-devel@lists.xen.org,
	keir.xen@gmail.com, JBeulich@suse.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH 3/3] libxc: add instruction length for inject
	trap in userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a parameter to represent instruction length in function
xc_hvm_inject_trap(), user should set this value when this
function is called.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 tools/libxc/xc_misc.c               |    5 +++--
 tools/libxc/xenctrl.h               |    4 ++--
 tools/tests/xen-access/xen-access.c |    2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
index a029d79..2989a62 100644
--- a/tools/libxc/xc_misc.c
+++ b/tools/libxc/xc_misc.c
@@ -602,8 +602,8 @@ int xc_hvm_get_mem_access(
 }
 
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2)
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2)
 {
     DECLARE_HYPERCALL;
     DECLARE_HYPERCALL_BUFFER(struct xen_hvm_inject_trap, arg);
@@ -619,6 +619,7 @@ int xc_hvm_inject_trap(
     arg->domid       = dom;
     arg->vcpuid      = vcpu;
     arg->trap        = trap;
+    arg->inslen      = inslen;
     arg->error_code  = error_code;
     arg->cr2         = cr2;
 
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 3bbc827..7ed4c64 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -1578,8 +1578,8 @@ int xc_hvm_get_mem_access(
  * resumes. 
  */
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2);
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2);
 
 /*
  *  LOGGING AND ERROR REPORTING
diff --git a/tools/tests/xen-access/xen-access.c b/tools/tests/xen-access/xen-access.c
index 906f46f..98332b0 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -662,7 +662,7 @@ int main(int argc, char *argv[])
                        req.vcpu_id);
 
                 /* Reinject */
-                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, -1, 0);
+                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, 1, -1, 0);
                 if (rc < 0)
                 {
                     ERROR("Error %d injecting int3\n", rc);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:07:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:07:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXkrx-0006xa-Hz; Fri, 25 May 2012 03:07:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SXkrw-0006xH-6P
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:07:12 +0000
Received: from [85.158.143.35:32730] by server-1.bemta-4.messagelabs.com id
	5A/EB-00342-F57FEBF4; Fri, 25 May 2012 03:07:11 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337915229!5844936!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNzY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8638 invoked from network); 25 May 2012 03:07:10 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-21.messagelabs.com with SMTP;
	25 May 2012 03:07:10 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 20:07:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147609269"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 20:07:06 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: Ian.Jackson@eu.citrix.com
Date: Fri, 25 May 2012 03:07:34 +0800
Message-Id: <1337886454-2400-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: eddie.dong@intel.com, aravindh@virtuata.com,
	Xudong Hao <xudong.hao@intel.com>, xen-devel@lists.xen.org,
	keir.xen@gmail.com, JBeulich@suse.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH 3/3] libxc: add instruction length for inject
	trap in userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a parameter to represent instruction length in function
xc_hvm_inject_trap(), user should set this value when this
function is called.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 tools/libxc/xc_misc.c               |    5 +++--
 tools/libxc/xenctrl.h               |    4 ++--
 tools/tests/xen-access/xen-access.c |    2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
index a029d79..2989a62 100644
--- a/tools/libxc/xc_misc.c
+++ b/tools/libxc/xc_misc.c
@@ -602,8 +602,8 @@ int xc_hvm_get_mem_access(
 }
 
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2)
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2)
 {
     DECLARE_HYPERCALL;
     DECLARE_HYPERCALL_BUFFER(struct xen_hvm_inject_trap, arg);
@@ -619,6 +619,7 @@ int xc_hvm_inject_trap(
     arg->domid       = dom;
     arg->vcpuid      = vcpu;
     arg->trap        = trap;
+    arg->inslen      = inslen;
     arg->error_code  = error_code;
     arg->cr2         = cr2;
 
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 3bbc827..7ed4c64 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -1578,8 +1578,8 @@ int xc_hvm_get_mem_access(
  * resumes. 
  */
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2);
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2);
 
 /*
  *  LOGGING AND ERROR REPORTING
diff --git a/tools/tests/xen-access/xen-access.c b/tools/tests/xen-access/xen-access.c
index 906f46f..98332b0 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -662,7 +662,7 @@ int main(int argc, char *argv[])
                        req.vcpu_id);
 
                 /* Reinject */
-                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, -1, 0);
+                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, 1, -1, 0);
                 if (rc < 0)
                 {
                     ERROR("Error %d injecting int3\n", rc);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXlQ6-0007TD-UG; Fri, 25 May 2012 03:42:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SXlQ6-0007T8-0K
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:42:30 +0000
Received: from [85.158.138.51:14426] by server-7.bemta-3.messagelabs.com id
	9A/CF-17379-5AFFEBF4; Fri, 25 May 2012 03:42:29 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337917347!29012927!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNzY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27102 invoked from network); 25 May 2012 03:42:28 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-174.messagelabs.com with SMTP;
	25 May 2012 03:42:28 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 20:42:26 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147618660"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 20:42:24 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 20:42:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 11:42:18 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "Hao, Xudong" <xudong.hao@intel.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q/9BrE4D/nkf9wP89CXsA/ncrEHA=
Date: Fri, 25 May 2012 03:42:18 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A4834564415D4C8@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<4FBB5A8D0200007800085003@nat28.tlf.novell.com>
	<B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
	<4FBD19600200007800085978@nat28.tlf.novell.com>
In-Reply-To: <4FBD19600200007800085978@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Jan
It is over-engineering to add PCI-e support to Qemu  for enabling this feature.  Basically, LTR/OBFF is a host PM feature,  and this patch only make this feature still work after the device is assigned to one guest.   Our goal is not to enable guest's LTR/OBFF support, and just let host not lose this advanced PM feature. Maybe we can move the logic to hypervisor like today's ATS feature does,  and once hypervisor finds the assigned device has this feature,  it can determine whether needs to enable it or not.   Thanks!
Xiantao

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Wednesday, May 23, 2012 11:08 PM
> To: Zhang, Xiantao; Hao, Xudong
> Cc: xen-devel; Konrad Rzeszutek Wilk
> Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> >>> On 23.05.12 at 16:45, "Zhang, Xiantao" <xiantao.zhang@intel.com>
> wrote:
> > Okay,  I understand your concern about this implementation, and you think
> > ltr/obff should be enabled by guest instead of host.   AS we know,
> LTR/OBFF
> > is a special PCI-e feature for optimizing the whole system's  PM, and
> > to enable it, the whole system(including root port and all upstream
> > bridges or
> > ports) should have these two capabilities. If anyone in this chain
> > doesn't have or enable  these two capabilities, the whole system would fail
> to
> > benefit from this optimized PM.   In addition, since Qemu doesn't have PCI-
> e
> > support, and also hasn't such  LTR/OBFF capabilities supported,  guest
> > shouldn't be able to enable this feature for its any device.
> > Certainly, we can change linux's pci interface and para-virtualize
> > this two features, in this way, guest can ask host to enable this
> > feature, but how to handle Windows guest's case ?  We can't change or
> > para-virtualize Windows's PCI interface, I think. Do you have good
> suggestion or proposals?  Thanks!
> 
> Fix qemu to support PCI-e (and then make use of the to be added PV
> interface).
> 
> Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 03:42:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 03:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXlQ6-0007TD-UG; Fri, 25 May 2012 03:42:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xiantao.zhang@intel.com>) id 1SXlQ6-0007T8-0K
	for xen-devel@lists.xen.org; Fri, 25 May 2012 03:42:30 +0000
Received: from [85.158.138.51:14426] by server-7.bemta-3.messagelabs.com id
	9A/CF-17379-5AFFEBF4; Fri, 25 May 2012 03:42:29 +0000
X-Env-Sender: xiantao.zhang@intel.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337917347!29012927!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNzY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27102 invoked from network); 25 May 2012 03:42:28 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-174.messagelabs.com with SMTP;
	25 May 2012 03:42:28 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 24 May 2012 20:42:26 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147618660"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 24 May 2012 20:42:24 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 24 May 2012 20:42:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 25 May 2012 11:42:18 +0800
From: "Zhang, Xiantao" <xiantao.zhang@intel.com>
To: Jan Beulich <JBeulich@suse.com>, "Hao, Xudong" <xudong.hao@intel.com>
Thread-Topic: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
	by pciback
Thread-Index: Ac0pyagkwt+FJVzZS0ux0suhpxgVSf//2AEA//y3FnCACAk9AP/+QLfwgAMLFgD//iScoP/oH97Q/9BrE4D/nkf9wP89CXsA/ncrEHA=
Date: Fri, 25 May 2012 03:42:18 +0000
Message-ID: <B6C2EB9186482D47BD0C5A9A4834564415D4C8@SHSMSX101.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDAD88C@SHSMSX102.ccr.corp.intel.com>
	<20120504132046.GD26418@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDADF10@SHSMSX102.ccr.corp.intel.com>
	<20120507135410.GD361@phenom.dumpdata.com>
	<403610A45A2B5242BD291EDAE8B37D300FDBDA79@SHSMSX102.ccr.corp.intel.com>
	<4FA906780200007800082364@nat28.tlf.novell.com>
	<403610A45A2B5242BD291EDAE8B37D300FDC005B@SHSMSX102.ccr.corp.intel.com>
	<B6C2EB9186482D47BD0C5A9A48345644146613@SHSMSX101.ccr.corp.intel.com>
	<4FBB5A8D0200007800085003@nat28.tlf.novell.com>
	<B6C2EB9186482D47BD0C5A9A483456441569CF@SHSMSX101.ccr.corp.intel.com>
	<4FBD19600200007800085978@nat28.tlf.novell.com>
In-Reply-To: <4FBD19600200007800085978@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is owned
 by pciback
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Jan
It is over-engineering to add PCI-e support to Qemu  for enabling this feature.  Basically, LTR/OBFF is a host PM feature,  and this patch only make this feature still work after the device is assigned to one guest.   Our goal is not to enable guest's LTR/OBFF support, and just let host not lose this advanced PM feature. Maybe we can move the logic to hypervisor like today's ATS feature does,  and once hypervisor finds the assigned device has this feature,  it can determine whether needs to enable it or not.   Thanks!
Xiantao

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Wednesday, May 23, 2012 11:08 PM
> To: Zhang, Xiantao; Hao, Xudong
> Cc: xen-devel; Konrad Rzeszutek Wilk
> Subject: RE: [Xen-devel] [PATCH v2] Re-enable LTR/OBFF when device is
> owned by pciback
> 
> >>> On 23.05.12 at 16:45, "Zhang, Xiantao" <xiantao.zhang@intel.com>
> wrote:
> > Okay,  I understand your concern about this implementation, and you think
> > ltr/obff should be enabled by guest instead of host.   AS we know,
> LTR/OBFF
> > is a special PCI-e feature for optimizing the whole system's  PM, and
> > to enable it, the whole system(including root port and all upstream
> > bridges or
> > ports) should have these two capabilities. If anyone in this chain
> > doesn't have or enable  these two capabilities, the whole system would fail
> to
> > benefit from this optimized PM.   In addition, since Qemu doesn't have PCI-
> e
> > support, and also hasn't such  LTR/OBFF capabilities supported,  guest
> > shouldn't be able to enable this feature for its any device.
> > Certainly, we can change linux's pci interface and para-virtualize
> > this two features, in this way, guest can ask host to enable this
> > feature, but how to handle Windows guest's case ?  We can't change or
> > para-virtualize Windows's PCI interface, I think. Do you have good
> suggestion or proposals?  Thanks!
> 
> Fix qemu to support PCI-e (and then make use of the to be added PV
> interface).
> 
> Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 06:31:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 06:31:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXo3O-0008I4-7K; Fri, 25 May 2012 06:31:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXo3M-0008Hw-DO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 06:31:12 +0000
Received: from [85.158.139.83:8954] by server-9.bemta-5.messagelabs.com id
	B0/E8-27779-F272FBF4; Fri, 25 May 2012 06:31:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337927470!30189127!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28577 invoked from network); 25 May 2012 06:31:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 06:31:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12662096"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 06:31:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 07:31:09 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXo3J-0004Dy-Mo;
	Fri, 25 May 2012 06:31:09 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXo3J-0002uO-DD;
	Fri, 25 May 2012 07:31:09 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12969-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 25 May 2012 07:31:09 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12969: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12969 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12969/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64  7 windows-install     fail pass in 12968
 test-amd64-amd64-xl-sedf     10 guest-saverestore  fail in 12968 pass in 12969
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12968 pass in 12967

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12967 never pass

version targeted for testing:
 xen                  69c3ae25bb1d
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 06:31:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 06:31:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXo3O-0008I4-7K; Fri, 25 May 2012 06:31:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXo3M-0008Hw-DO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 06:31:12 +0000
Received: from [85.158.139.83:8954] by server-9.bemta-5.messagelabs.com id
	B0/E8-27779-F272FBF4; Fri, 25 May 2012 06:31:11 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337927470!30189127!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28577 invoked from network); 25 May 2012 06:31:11 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 06:31:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12662096"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 06:31:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 07:31:09 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXo3J-0004Dy-Mo;
	Fri, 25 May 2012 06:31:09 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXo3J-0002uO-DD;
	Fri, 25 May 2012 07:31:09 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12969-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 25 May 2012 07:31:09 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12969: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12969 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12969/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64  7 windows-install     fail pass in 12968
 test-amd64-amd64-xl-sedf     10 guest-saverestore  fail in 12968 pass in 12969
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12968 pass in 12967

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12967 never pass

version targeted for testing:
 xen                  69c3ae25bb1d
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 08:53:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 08:53:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqGp-0001Fr-M1; Fri, 25 May 2012 08:53:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SXqGn-0001Fm-8S
	for xen-devel@lists.xen.org; Fri, 25 May 2012 08:53:13 +0000
Received: from [85.158.139.83:44447] by server-6.bemta-5.messagelabs.com id
	8F/DB-31790-8784FBF4; Fri, 25 May 2012 08:53:12 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337935991!22967574!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20051 invoked from network); 25 May 2012 08:53:11 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 08:53:11 -0000
Received: by eaak12 with SMTP id k12so162325eaa.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 01:53:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type;
	bh=dx8fA7oA4VyXU5l2BSBahafb1IHmU+n4WAU09VC0Yns=;
	b=SvUrbQg6IG/0rCSpm4yhuXcFNRHMD4/8e6S8/SKSoqN/pyMBW8klmmwMPPRJIiTQTl
	fIQlOq+setJnWDKXLRNJ4ujlqfF1WxDuZaFf2EQ2i3GHHRKioAKcBcatJ7pEgHwGXE9s
	FzhMeYA6UbxCN3190sj9AuNw90YxbKUhdv3F/NQr6LbbWDxtttUM4s6mpMwkpYpdbfwv
	TdfMyeWfH1K/IFrCUd5Ry9u1T4wLqU4KMdia3rmgWP6FZjg9rbLaXaAa9/igij95bPo6
	/F/zhVAuCe+sVQDMwg1jC5q/PWswkN2VSsFivUjmal/ssF32ZDMt2sx6+qOoCxcHQP6m
	R1/Q==
Received: by 10.14.100.142 with SMTP id z14mr495370eef.91.1337935990622;
	Fri, 25 May 2012 01:53:10 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id q53sm4727451eef.8.2012.05.25.01.53.06
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 01:53:09 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Fri, 25 May 2012 09:53:01 +0100
From: Keir Fraser <keir@xen.org>
To: Xudong Hao <xudong.hao@intel.com>,
	<JBeulich@suse.com>
Message-ID: <CBE506FF.40DAC%keir@xen.org>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: Ac06U8oKmdA/vxn7iUaPCY4Fi6toXw==
In-Reply-To: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
Mime-version: 1.0
Content-type: multipart/mixed;
	boundary="B_3420784386_192024370"
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, eddie.dong@intel.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3420784386_192024370
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

On 24/05/2012 20:06, "Xudong Hao" <xudong.hao@intel.com> wrote:

> VMX exception: Pass the instruction length field down to exception emulation,
> by changing hypercall parameter and adding a parameter in fucntion
> hvm_inject_exception(), so that exception emulation can set correct
> instruction length.
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>

I don't like adding yet another parameter for all callers, especially as we
should also be passing down the event type (sw interrupt, hw exception, ...)
and that would bloat the parameter list further.

I attach a cleanup patch which packs everything into a new struct and
renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
wrappers around that function for existing callers, so that their parameter
lists actually *shrink*.

Let me know what you think. If it looks acceptable I can check it in and we
can build on top of this restructuring. The aim being to keep
hvm/vmx_inject_trap dumb, and push down the knowledge from the callers into
it.

 -- Keir


--B_3420784386_192024370
Content-type: application/octet-stream; name="00-inject-cleanup"
Content-disposition: attachment;
	filename="00-inject-cleanup"
Content-transfer-encoding: base64

ZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKLS0tIGEv
eGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICsw
MTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCUZyaSBNYXkgMjUgMDk6NDU6
MDAgMjAxMiArMDEwMApAQCAtMzI2LDcgKzMyNiw3IEBAIHN0YXRpYyBpbnQgaHZtZW11bF9s
aW5lYXJfdG9fcGh5cygKICAgICB7CiAgICAgICAgIGlmICggcGZlYyA9PSBQRkVDX3BhZ2Vf
cGFnZWQgfHwgcGZlYyA9PSBQRkVDX3BhZ2Vfc2hhcmVkICkKICAgICAgICAgICAgIHJldHVy
biBYODZFTVVMX1JFVFJZOwotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX3Bh
Z2VfZmF1bHQsIHBmZWMsIGFkZHIpOworICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQo
cGZlYywgYWRkcik7CiAgICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKICAgICB9
CiAKQEAgLTM0OSw3ICszNDksNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfbGluZWFyX3RvX3Bo
eXMoCiAgICAgICAgICAgICAgICAgQVNTRVJUKCFyZXZlcnNlKTsKICAgICAgICAgICAgICAg
ICBpZiAoIG5wZm4gIT0gSU5WQUxJRF9HRk4gKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7Ci0gICAgICAgICAgICAgICAgaHZtX2luamVjdF9l
eGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0LCBwZmVjLCBhZGRyICYgUEFHRV9NQVNLKTsKKyAg
ICAgICAgICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQocGZlYywgYWRkciAmIFBBR0Vf
TUFTSyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgKnJlcHMgPSBkb25lOwpkaWZmIC1yIDUzZTA1NzFm
OTRlNCB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZt
LmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9o
dm0vaHZtLmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAwCkBAIC0zNDcsMTIgKzM0
NywxMCBAQCB2b2lkIGh2bV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgfQogCiAg
ICAgLyogSW5qZWN0IHBlbmRpbmcgaHcvc3cgdHJhcCAqLwotICAgIGlmICh2LT5hcmNoLmh2
bV92Y3B1LmluamVjdF90cmFwICE9IC0xKSAKKyAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUu
aW5qZWN0X3RyYXAudmVjdG9yICE9IC0xICkgCiAgICAgewotICAgICAgICBodm1faW5qZWN0
X2V4Y2VwdGlvbih2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfZXJyb3JfY29kZSwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0
X2NyMik7Ci0gICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X3RyYXAgPSAtMTsKKyAg
ICAgICAgaHZtX2luamVjdF90cmFwKCZ2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwKTsK
KyAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcC52ZWN0b3IgPSAtMTsKICAg
ICB9CiB9CiAKQEAgLTEwNDcsNyArMTA0NSw3IEBAIGludCBodm1fdmNwdV9pbml0aWFsaXNl
KHN0cnVjdCB2Y3B1ICp2KQogICAgIHNwaW5fbG9ja19pbml0KCZ2LT5hcmNoLmh2bV92Y3B1
LnRtX2xvY2spOwogICAgIElOSVRfTElTVF9IRUFEKCZ2LT5hcmNoLmh2bV92Y3B1LnRtX2xp
c3QpOwogCi0gICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcCA9IC0xOworICAgIHYt
PmFyY2guaHZtX3ZjcHUuaW5qZWN0X3RyYXAudmVjdG9yID0gLTE7CiAKICNpZmRlZiBDT05G
SUdfQ09NUEFUCiAgICAgcmMgPSBzZXR1cF9jb21wYXRfYXJnX3hsYXQodik7CkBAIC0xMTk0
LDE4ICsxMTkyLDE5IEBAIHZvaWQgaHZtX3RyaXBsZV9mYXVsdCh2b2lkKQogICAgIGRvbWFp
bl9zaHV0ZG93bih2LT5kb21haW4sIFNIVVRET1dOX3JlYm9vdCk7CiB9CiAKLXZvaWQgaHZt
X2luamVjdF9leGNlcHRpb24odW5zaWduZWQgaW50IHRyYXBuciwgaW50IGVycmNvZGUsIHVu
c2lnbmVkIGxvbmcgY3IyKQordm9pZCBodm1faW5qZWN0X3RyYXAoc3RydWN0IGh2bV90cmFw
ICp0cmFwKQogewogICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKIAogICAgIGlm
ICggbmVzdGVkaHZtX2VuYWJsZWQoY3Vyci0+ZG9tYWluKSAmJgogICAgICAgICAgIW5lc3Rl
ZGh2bV92bXN3aXRjaF9pbl9wcm9ncmVzcyhjdXJyKSAmJgogICAgICAgICAgbmVzdGVkaHZt
X3ZjcHVfaW5fZ3Vlc3Rtb2RlKGN1cnIpICYmCi0gICAgICAgICBuaHZtX3ZtY3hfZ3Vlc3Rf
aW50ZXJjZXB0c190cmFwKGN1cnIsIHRyYXBuciwgZXJyY29kZSkgKQorICAgICAgICAgbmh2
bV92bWN4X2d1ZXN0X2ludGVyY2VwdHNfdHJhcCgKKyAgICAgICAgICAgICBjdXJyLCB0cmFw
LT52ZWN0b3IsIHRyYXAtPmVycm9yX2NvZGUpICkKICAgICB7CiAgICAgICAgIGVudW0gbmVz
dGVkaHZtX3ZtZXhpdHMgbnNyZXQ7CiAKLSAgICAgICAgbnNyZXQgPSBuaHZtX3ZjcHVfdm1l
eGl0X3RyYXAoY3VyciwgdHJhcG5yLCBlcnJjb2RlLCBjcjIpOworICAgICAgICBuc3JldCA9
IG5odm1fdmNwdV92bWV4aXRfdHJhcChjdXJyLCB0cmFwKTsKIAogICAgICAgICBzd2l0Y2gg
KCBuc3JldCApCiAgICAgICAgIHsKQEAgLTEyMjEsNyArMTIyMCwyNiBAQCB2b2lkIGh2bV9p
bmplY3RfZXhjZXB0aW9uKHVuc2lnbmVkIGludCB0CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBodm1fZnVuY3MuaW5qZWN0X2V4Y2VwdGlvbih0cmFwbnIsIGVycmNvZGUsIGNyMik7Cisg
ICAgaHZtX2Z1bmNzLmluamVjdF90cmFwKHRyYXApOworfQorCit2b2lkIGh2bV9pbmplY3Rf
aHdfZXhjZXB0aW9uKHVuc2lnbmVkIGludCB0cmFwbnIsIGludCBlcnJjb2RlKQoreworICAg
IHN0cnVjdCBodm1fdHJhcCB0cmFwID0geworICAgICAgICAudmVjdG9yID0gdHJhcG5yLAor
ICAgICAgICAudHlwZSA9IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OLAorICAgICAgICAu
ZXJyb3JfY29kZSA9IGVycmNvZGUgfTsKKyAgICBodm1faW5qZWN0X3RyYXAoJnRyYXApOwor
fQorCit2b2lkIGh2bV9pbmplY3RfcGFnZV9mYXVsdChpbnQgZXJyY29kZSwgdW5zaWduZWQg
bG9uZyBjcjIpCit7CisgICAgc3RydWN0IGh2bV90cmFwIHRyYXAgPSB7CisgICAgICAgIC52
ZWN0b3IgPSBUUkFQX3BhZ2VfZmF1bHQsCisgICAgICAgIC50eXBlID0gWDg2X0VWRU5UVFlQ
RV9IV19FWENFUFRJT04sCisgICAgICAgIC5lcnJvcl9jb2RlID0gZXJyY29kZSwKKyAgICAg
ICAgLmNyMiA9IGNyMiB9OworICAgIGh2bV9pbmplY3RfdHJhcCgmdHJhcCk7CiB9CiAKIGlu
dCBodm1faGFwX25lc3RlZF9wYWdlX2ZhdWx0KHVuc2lnbmVkIGxvbmcgZ3BhLApAQCAtMTI3
MCw3ICsxMjg4LDcgQEAgaW50IGh2bV9oYXBfbmVzdGVkX3BhZ2VfZmF1bHQodW5zaWduZWQg
bAogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICBjYXNlIE5FU1RFREhWTV9QQUdF
RkFVTFRfTU1JTzoKICAgICAgICAgICAgIGlmICggIWhhbmRsZV9tbWlvKCkgKQotICAgICAg
ICAgICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOwor
ICAgICAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQs
IDApOwogICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KICAgICB9CkBAIC0xMzM3
LDcgKzEzNTUsNyBAQCBpbnQgaHZtX2hhcF9uZXN0ZWRfcGFnZV9mYXVsdCh1bnNpZ25lZCBs
CiAgICAgewogICAgICAgICBwdXRfZ2ZuKHAybS0+ZG9tYWluLCBnZm4pOwogICAgICAgICBp
ZiAoICFoYW5kbGVfbW1pbygpICkKLSAgICAgICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9u
KFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAgICAgICAgICAgaHZtX2luamVjdF9od19leGNl
cHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgICAgIHJjID0gMTsKICAgICAgICAgZ290
byBvdXQ7CiAgICAgfQpAQCAtMTM4MCw3ICsxMzk4LDcgQEAgaW50IGh2bV9oYXBfbmVzdGVk
X3BhZ2VfZmF1bHQodW5zaWduZWQgbAogICAgIHsKICAgICAgICAgZ2RwcmludGsoWEVOTE9H
X1dBUk5JTkcsCiAgICAgICAgICAgICAgICAgICJ0cnlpbmcgdG8gd3JpdGUgdG8gcmVhZC1v
bmx5IGdyYW50IG1hcHBpbmdcbiIpOwotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24o
VFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgICAgIHJjID0gMTsKICAgICAgICAgZ290byBvdXRf
cHV0X2dmbjsKICAgICB9CkBAIC0xNDQxLDcgKzE0NTksNyBAQCBpbnQgaHZtX2hhbmRsZV94
c2V0YnYodTY0IG5ld19idikKIAogICAgIHJldHVybiAwOwogZXJyOgotICAgIGh2bV9pbmpl
Y3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAgIGh2bV9pbmplY3RfaHdf
ZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgIHJldHVybiAtMTsKIH0KIApAQCAt
MTQ1Nyw3ICsxNDc1LDcgQEAgaW50IGh2bV9zZXRfZWZlcih1aW50NjRfdCB2YWx1ZSkKICAg
ICB7CiAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLCAiVHJ5aW5nIHRvIHNldCBy
ZXNlcnZlZCBiaXQgaW4gIgogICAgICAgICAgICAgICAgICAiRUZFUjogMHglIlBSSXg2NCJc
biIsIHZhbHVlKTsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9ncF9mYXVs
dCwgMCwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1
bHQsIDApOwogICAgICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiAgICAgfQogCkBA
IC0xNDY2LDcgKzE0ODQsNyBAQCBpbnQgaHZtX3NldF9lZmVyKHVpbnQ2NF90IHZhbHVlKQog
ICAgIHsKICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsCiAgICAgICAgICAgICAg
ICAgICJUcnlpbmcgdG8gY2hhbmdlIEVGRVIuTE1FIHdpdGggcGFnaW5nIGVuYWJsZWRcbiIp
OwotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsK
KyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAg
ICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKICAgICB9CiAKQEAgLTE3MjIsNyAr
MTc0MCw3IEBAIGludCBodm1fc2V0X2NyMCh1bnNpZ25lZCBsb25nIHZhbHVlKQogICAgIHJl
dHVybiBYODZFTVVMX09LQVk7CiAKICBncGY6Ci0gICAgaHZtX2luamVjdF9leGNlcHRpb24o
VFJBUF9ncF9mYXVsdCwgMCwgMCk7CisgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJB
UF9ncF9mYXVsdCwgMCk7CiAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwogfQogCkBA
IC0xODA4LDcgKzE4MjYsNyBAQCBpbnQgaHZtX3NldF9jcjQodW5zaWduZWQgbG9uZyB2YWx1
ZSkKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogCiAgZ3BmOgotICAgIGh2bV9pbmplY3Rf
ZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAgIGh2bV9pbmplY3RfaHdfZXhj
ZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElP
TjsKIH0KIApAQCAtMjEwNCw3ICsyMTIyLDcgQEAgc3RhdGljIGludCBodm1fbG9hZF9zZWdt
ZW50X3NlbGVjdG9yKAogIHVubWFwX2FuZF9mYWlsOgogICAgIGh2bV91bm1hcF9lbnRyeShw
ZGVzYyk7CiAgZmFpbDoKLSAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihmYXVsdF90eXBlLCBz
ZWwgJiAweGZmZmMsIDApOworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKGZhdWx0X3R5
cGUsIHNlbCAmIDB4ZmZmYyk7CiAgaHZtX21hcF9mYWlsOgogICAgIHJldHVybiAxOwogfQpA
QCAtMjEzNyw5ICsyMTU1LDkgQEAgdm9pZCBodm1fdGFza19zd2l0Y2goCiAKICAgICBpZiAo
ICgodHNzX3NlbCAmIDB4ZmZmOCkgKyA3KSA+IGdkdC5saW1pdCApCiAgICAgewotICAgICAg
ICBodm1faW5qZWN0X2V4Y2VwdGlvbigodGFza3N3aXRjaF9yZWFzb24gPT0gVFNXX2lyZXQp
ID8KKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oKHRhc2tzd2l0Y2hfcmVhc29u
ID09IFRTV19pcmV0KSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQVBfaW52
YWxpZF90c3MgOiBUUkFQX2dwX2ZhdWx0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0c3Nfc2VsICYgMHhmZmY4LCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHNzX3NlbCAmIDB4ZmZmOCk7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIApAQCAtMjE2
NCwyMSArMjE4MiwyMSBAQCB2b2lkIGh2bV90YXNrX3N3aXRjaCgKIAogICAgIGlmICggIXRy
LmF0dHIuZmllbGRzLnAgKQogICAgIHsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24o
VFJBUF9ub19zZWdtZW50LCB0c3Nfc2VsICYgMHhmZmY4LCAwKTsKKyAgICAgICAgaHZtX2lu
amVjdF9od19leGNlcHRpb24oVFJBUF9ub19zZWdtZW50LCB0c3Nfc2VsICYgMHhmZmY4KTsK
ICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCiAgICAgaWYgKCB0ci5hdHRyLmZpZWxkcy50
eXBlICE9ICgodGFza3N3aXRjaF9yZWFzb24gPT0gVFNXX2lyZXQpID8gMHhiIDogMHg5KSAp
CiAgICAgewotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbigKKyAgICAgICAgaHZtX2lu
amVjdF9od19leGNlcHRpb24oCiAgICAgICAgICAgICAodGFza3N3aXRjaF9yZWFzb24gPT0g
VFNXX2lyZXQpID8gVFJBUF9pbnZhbGlkX3RzcyA6IFRSQVBfZ3BfZmF1bHQsCi0gICAgICAg
ICAgICB0c3Nfc2VsICYgMHhmZmY4LCAwKTsKKyAgICAgICAgICAgIHRzc19zZWwgJiAweGZm
ZjgpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKICAgICBpZiAoIHRyLmxpbWl0IDwg
KHNpemVvZih0c3MpLTEpICkKICAgICB7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9u
KFRSQVBfaW52YWxpZF90c3MsIHRzc19zZWwgJiAweGZmZjgsIDApOworICAgICAgICBodm1f
aW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfdHNzLCB0c3Nfc2VsICYgMHhmZmY4
KTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCkBAIC0yMjgzLDcgKzIzMDEsNyBAQCB2
b2lkIGh2bV90YXNrX3N3aXRjaCgKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBpZiAoICh0
c3MudHJhY2UgJiAxKSAmJiAhZXhuX3JhaXNlZCApCi0gICAgICAgIGh2bV9pbmplY3RfZXhj
ZXB0aW9uKFRSQVBfZGVidWcsIHRzc19zZWwgJiAweGZmZjgsIDApOworICAgICAgICBodm1f
aW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCB0c3Nfc2VsICYgMHhmZmY4KTsKIAog
ICAgIHRyLmF0dHIuZmllbGRzLnR5cGUgPSAweGI7IC8qIGJ1c3kgMzItYml0IHRzcyAqLwog
ICAgIGh2bV9zZXRfc2VnbWVudF9yZWdpc3Rlcih2LCB4ODZfc2VnX3RyLCAmdHIpOwpAQCAt
MjM2Miw3ICsyMzgwLDcgQEAgc3RhdGljIGVudW0gaHZtX2NvcHlfcmVzdWx0IF9faHZtX2Nv
cHkoCiAgICAgICAgICAgICAgICAgaWYgKCBwZmVjID09IFBGRUNfcGFnZV9zaGFyZWQgKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gSFZNQ09QWV9nZm5fc2hhcmVkOwogICAgICAg
ICAgICAgICAgIGlmICggZmxhZ3MgJiBIVk1DT1BZX2ZhdWx0ICkKLSAgICAgICAgICAgICAg
ICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0LCBwZmVjLCBhZGRy
KTsKKyAgICAgICAgICAgICAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmZWMsIGFk
ZHIpOwogICAgICAgICAgICAgICAgIHJldHVybiBIVk1DT1BZX2JhZF9ndmFfdG9fZ2ZuOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0yODQ5LDcgKzI4NjcsNyBAQCBpbnQgaHZt
X21zcl9yZWFkX2ludGVyY2VwdCh1bnNpZ25lZCBpbnQgCiAgICAgcmV0dXJuIHJldDsKIAog
IGdwX2ZhdWx0OgotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAs
IDApOworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwog
ICAgIHJldCA9IFg4NkVNVUxfRVhDRVBUSU9OOwogICAgICptc3JfY29udGVudCA9IC0xdWxs
OwogICAgIGdvdG8gb3V0OwpAQCAtMjk2Miw3ICsyOTgwLDcgQEAgaW50IGh2bV9tc3Jfd3Jp
dGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludAogICAgIHJldHVybiByZXQ7CiAKIGdwX2ZhdWx0
OgotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAg
IGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgIHJldHVy
biBYODZFTVVMX0VYQ0VQVElPTjsKIH0KIApAQCAtNDI2NywxMyArNDI4NSwxMyBAQCBsb25n
IGRvX2h2bV9vcCh1bnNpZ25lZCBsb25nIG9wLCBYRU5fR1VFCiAgICAgICAgIGlmICggdHIu
dmNwdWlkID49IGQtPm1heF92Y3B1cyB8fCAodiA9IGQtPnZjcHVbdHIudmNwdWlkXSkgPT0g
TlVMTCApCiAgICAgICAgICAgICBnb3RvIHBhcmFtX2ZhaWw4OwogICAgICAgICAKLSAgICAg
ICAgaWYgKCB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwICE9IC0xICkKKyAgICAgICAg
aWYgKCB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwLnZlY3RvciAhPSAtMSApCiAgICAg
ICAgICAgICByYyA9IC1FQlVTWTsKICAgICAgICAgZWxzZSAKICAgICAgICAgewotICAgICAg
ICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcCAgICAgICA9IHRyLnRyYXA7Ci0g
ICAgICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF9lcnJvcl9jb2RlID0gdHIuZXJy
b3JfY29kZTsKLSAgICAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2NyMiAgICAg
ICAgPSB0ci5jcjI7CisgICAgICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFw
LnZlY3RvciA9IHRyLnRyYXA7CisgICAgICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVj
dF90cmFwLmVycm9yX2NvZGUgPSB0ci5lcnJvcl9jb2RlOworICAgICAgICAgICAgdi0+YXJj
aC5odm1fdmNwdS5pbmplY3RfdHJhcC5jcjIgPSB0ci5jcjI7CiAgICAgICAgIH0KIAogICAg
IHBhcmFtX2ZhaWw4OgpAQCAtNDQzMSwxMSArNDQ0OSw5IEBAIGludCBuaHZtX3ZjcHVfdm1l
eGl0KHN0cnVjdCB2Y3B1ICp2LCBzdHIKICAgICByZXR1cm4gLUVPUE5PVFNVUFA7CiB9CiAK
LWludAotbmh2bV92Y3B1X3ZtZXhpdF90cmFwKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBp
bnQgdHJhcG5yLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXJyY29kZSwgdW5zaWdu
ZWQgbG9uZyBjcjIpCitpbnQgbmh2bV92Y3B1X3ZtZXhpdF90cmFwKHN0cnVjdCB2Y3B1ICp2
LCBzdHJ1Y3QgaHZtX3RyYXAgKnRyYXApCiB7Ci0gICAgcmV0dXJuIGh2bV9mdW5jcy5uaHZt
X3ZjcHVfdm1leGl0X3RyYXAodiwgdHJhcG5yLCBlcnJjb2RlLCBjcjIpOworICAgIHJldHVy
biBodm1fZnVuY3Mubmh2bV92Y3B1X3ZtZXhpdF90cmFwKHYsIHRyYXApOwogfQogCiB1aW50
NjRfdCBuaHZtX3ZjcHVfZ3Vlc3RjcjMoc3RydWN0IHZjcHUgKnYpCmRpZmYgLXIgNTNlMDU3
MWY5NGU0IHhlbi9hcmNoL3g4Ni9odm0vaW8uYwotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2lv
LmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9o
dm0vaW8uYwlGcmkgTWF5IDI1IDA5OjQ1OjAwIDIwMTIgKzAxMDAKQEAgLTIwMCw3ICsyMDAs
NyBAQCBpbnQgaGFuZGxlX21taW8odm9pZCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2Fz
ZSBYODZFTVVMX0VYQ0VQVElPTjoKICAgICAgICAgaWYgKCBjdHh0LmV4bl9wZW5kaW5nICkK
LSAgICAgICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKGN0eHQuZXhuX3ZlY3RvciwgY3R4
dC5leG5fZXJyb3JfY29kZSwgMCk7CisgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2Vw
dGlvbihjdHh0LmV4bl92ZWN0b3IsIGN0eHQuZXhuX2Vycm9yX2NvZGUpOwogICAgICAgICBi
cmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKZGlmZiAtciA1M2UwNTcxZjk0
ZTQgeGVuL2FyY2gveDg2L2h2bS9zdm0vZW11bGF0ZS5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9o
dm0vc3ZtL2VtdWxhdGUuYwlGcmkgTWF5IDI1IDA4OjIxOjI1IDIwMTIgKzAxMDAKKysrIGIv
eGVuL2FyY2gveDg2L2h2bS9zdm0vZW11bGF0ZS5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAx
MiArMDEwMApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHN0YXRpYyBpbnQgZmV0Y2goc3RydWN0IHZj
cHUgKnYsIHU4ICpidWYKICAgICAgICAgLyogTm90IE9LOiBmZXRjaGVzIGZyb20gbm9uLVJB
TSBwYWdlcyBhcmUgbm90IHN1cHBvcnRhYmxlLiAqLwogICAgICAgICBnZHByaW50ayhYRU5M
T0dfV0FSTklORywgIkJhZCBpbnN0cnVjdGlvbiBmZXRjaCBhdCAlI2x4ICglI2x4KVxuIiwK
ICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpIGd1ZXN0X2NwdV91c2VyX3JlZ3Mo
KS0+ZWlwLCBhZGRyKTsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9ncF9m
YXVsdCwgMCwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3Bf
ZmF1bHQsIDApOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgcmV0dXJuIDE7CkBA
IC0yMTYsNyArMjE2LDcgQEAgaW50IF9fZ2V0X2luc3RydWN0aW9uX2xlbmd0aF9mcm9tX2xp
c3QocwogICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLAogICAgICAgICAgICAgICIlczog
TWlzbWF0Y2ggYmV0d2VlbiBleHBlY3RlZCBhbmQgYWN0dWFsIGluc3RydWN0aW9uIGJ5dGVz
OiAiCiAgICAgICAgICAgICAgImVpcCA9ICVseFxuIiwgIF9fZnVuY19fLCAodW5zaWduZWQg
bG9uZyl2bWNiLT5yaXApOwotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1
bHQsIDAsIDApOworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQs
IDApOwogICAgIHJldHVybiAwOwogCiAgZG9uZToKZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVu
L2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9z
dm0vbmVzdGVkc3ZtLmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hl
bi9hcmNoL3g4Ni9odm0vc3ZtL25lc3RlZHN2bS5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAx
MiArMDEwMApAQCAtNzM1LDcgKzczNSw3IEBAIG5zdm1fdmNwdV92bXJ1bihzdHJ1Y3QgdmNw
dSAqdiwgc3RydWN0IGMKICAgICBkZWZhdWx0OgogICAgICAgICBnZHByaW50ayhYRU5MT0df
RVJSLAogICAgICAgICAgICAgIm5zdm1fdmNwdV92bWVudHJ5IGZhaWxlZCwgaW5qZWN0aW5n
ICNVRFxuIik7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9v
cCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSwgMCk7CisgICAgICAgIGh2bV9pbmplY3Rf
aHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09E
RSk7CiAgICAgICAgIC8qIE11c3QgaGFwcGVuIGFmdGVyIGh2bV9pbmplY3RfZXhjZXB0aW9u
IG9yIGl0IGRvZXNuJ3Qgd29yayByaWdodC4gKi8KICAgICAgICAgbnYtPm52X3Ztc3dpdGNo
X2luX3Byb2dyZXNzID0gMDsKICAgICAgICAgcmV0dXJuIDE7CkBAIC03OTYsMTIgKzc5Niwx
MiBAQCBuc3ZtX3ZjcHVfdm1leGl0X2luamVjdChzdHJ1Y3QgdmNwdSAqdiwgCiB9CiAKIGlu
dAotbnN2bV92Y3B1X3ZtZXhpdF90cmFwKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQg
dHJhcG5yLAotICAgICAgICAgICAgICAgICAgICAgIGludCBlcnJjb2RlLCB1bnNpZ25lZCBs
b25nIGNyMikKK25zdm1fdmNwdV92bWV4aXRfdHJhcChzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0
IGh2bV90cmFwICp0cmFwKQogewogICAgIEFTU0VSVCh2Y3B1X25lc3RlZGh2bSh2KS5udl92
dm1jeCAhPSBOVUxMKTsKIAotICAgIG5lc3RlZHN2bV92bWV4aXRfZGVmZXIodiwgVk1FWElU
X0VYQ0VQVElPTl9ERSArIHRyYXBuciwgZXJyY29kZSwgY3IyKTsKKyAgICBuZXN0ZWRzdm1f
dm1leGl0X2RlZmVyKHYsIFZNRVhJVF9FWENFUFRJT05fREUgKyB0cmFwLT52ZWN0b3IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFwLT5lcnJvcl9jb2RlLCB0cmFwLT5jcjIp
OwogICAgIHJldHVybiBORVNURURIVk1fVk1FWElUX0RPTkU7CiB9CiAKQEAgLTExNzYsNyAr
MTE3Niw3IEBAIGVudW0gaHZtX2ludGJsayBuc3ZtX2ludHJfYmxvY2tlZChzdHJ1Y3QKICAg
ICB9CiAKICAgICBpZiAoIG52LT5udl92bWV4aXRfcGVuZGluZyApIHsKLSAgICAgICAgLyog
aHZtX2luamVjdF9leGNlcHRpb24oKSBtdXN0IGhhdmUgcnVuIGJlZm9yZS4KKyAgICAgICAg
LyogaHZtX2luamVjdF9od19leGNlcHRpb24oKSBtdXN0IGhhdmUgcnVuIGJlZm9yZS4KICAg
ICAgICAgICogZXhjZXB0aW9ucyBoYXZlIGhpZ2hlciBwcmlvcml0eSB0aGFuIGludGVycnVw
dHMuCiAgICAgICAgICAqLwogICAgICAgICByZXR1cm4gaHZtX2ludGJsa19yZmxhZ3NfaWU7
CkBAIC0xNTA5LDcgKzE1MDksNyBAQCB2b2lkIHN2bV92bWV4aXRfZG9fc3RnaShzdHJ1Y3Qg
Y3B1X3VzZXJfCiAgICAgdW5zaWduZWQgaW50IGluc3RfbGVuOwogCiAgICAgaWYgKCAhbmVz
dGVkaHZtX2VuYWJsZWQodi0+ZG9tYWluKSApIHsKLSAgICAgICAgaHZtX2luamVjdF9leGNl
cHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFLCAwKTsK
KyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1f
REVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
MTUyOSw3ICsxNTI5LDcgQEAgdm9pZCBzdm1fdm1leGl0X2RvX2NsZ2koc3RydWN0IGNwdV91
c2VyXwogICAgIHZpbnRyX3QgaW50cjsKIAogICAgIGlmICggIW5lc3RlZGh2bV9lbmFibGVk
KHYtPmRvbWFpbikgKSB7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfaW52
YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSwgMCk7CisgICAgICAgIGh2bV9p
bmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJS
T1JfQ09ERSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtciA1M2UwNTcxZjk0
ZTQgeGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9z
dm0vc3ZtLmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNo
L3g4Ni9odm0vc3ZtL3N2bS5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAt
MTA5LDcgKzEwOSw3IEBAIHZvaWQgX191cGRhdGVfZ3Vlc3RfZWlwKHN0cnVjdCBjcHVfdXNl
cl8KICAgICBjdXJyLT5hcmNoLmh2bV9zdm0udm1jYi0+aW50ZXJydXB0X3NoYWRvdyA9IDA7
CiAKICAgICBpZiAoIHJlZ3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfVEYgKQotICAgICAgICBo
dm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCBIVk1fREVMSVZFUl9OT19FUlJPUl9D
T0RFLCAwKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1Zywg
SFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CiB9CiAKIHN0YXRpYyB2b2lkIHN2bV9jcHVf
ZG93bih2b2lkKQpAQCAtMTA2NiwxNCArMTA2NiwxNCBAQCBzdGF0aWMgdm9pZCBzdm1fdmNw
dV9kZXN0cm95KHN0cnVjdCB2Y3B1CiAgICAgcGFzc2l2ZV9kb21haW5fZGVzdHJveSh2KTsK
IH0KIAotc3RhdGljIHZvaWQgc3ZtX2luamVjdF9leGNlcHRpb24oCi0gICAgdW5zaWduZWQg
aW50IHRyYXBuciwgaW50IGVycmNvZGUsIHVuc2lnbmVkIGxvbmcgY3IyKQorc3RhdGljIHZv
aWQgc3ZtX2luamVjdF90cmFwKHN0cnVjdCBodm1fdHJhcCAqdHJhcCkKIHsKICAgICBzdHJ1
Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IHZtY2Jfc3RydWN0ICp2bWNi
ID0gY3Vyci0+YXJjaC5odm1fc3ZtLnZtY2I7CiAgICAgZXZlbnRpbmpfdCBldmVudCA9IHZt
Y2ItPmV2ZW50aW5qOworICAgIHN0cnVjdCBodm1fdHJhcCBfdHJhcCA9ICp0cmFwOwogCi0g
ICAgc3dpdGNoICggdHJhcG5yICkKKyAgICBzd2l0Y2ggKCBfdHJhcC52ZWN0b3IgKQogICAg
IHsKICAgICBjYXNlIFRSQVBfZGVidWc6CiAgICAgICAgIGlmICggZ3Vlc3RfY3B1X3VzZXJf
cmVncygpLT5lZmxhZ3MgJiBYODZfRUZMQUdTX1RGICkKQEAgLTEwODEsNiArMTA4MSw5IEBA
IHN0YXRpYyB2b2lkIHN2bV9pbmplY3RfZXhjZXB0aW9uKAogICAgICAgICAgICAgX19yZXN0
b3JlX2RlYnVnX3JlZ2lzdGVycyhjdXJyKTsKICAgICAgICAgICAgIHZtY2Jfc2V0X2RyNih2
bWNiLCB2bWNiX2dldF9kcjYodm1jYikgfCAweDQwMDApOwogICAgICAgICB9CisgICAgICAg
IGlmICggY3B1X2hhc19tb25pdG9yX3RyYXBfZmxhZyApCisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCiAgICAgY2FzZSBUUkFQX2ludDM6CiAgICAg
ICAgIGlmICggY3Vyci0+ZG9tYWluLT5kZWJ1Z2dlcl9hdHRhY2hlZCApCiAgICAgICAgIHsK
QEAgLTEwOTMsMjkgKzEwOTYsMzAgQEAgc3RhdGljIHZvaWQgc3ZtX2luamVjdF9leGNlcHRp
b24oCiAgICAgaWYgKCB1bmxpa2VseShldmVudC5maWVsZHMudikgJiYKICAgICAgICAgIChl
dmVudC5maWVsZHMudHlwZSA9PSBYODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTikgKQogICAg
IHsKLSAgICAgICAgdHJhcG5yID0gaHZtX2NvbWJpbmVfaHdfZXhjZXB0aW9ucyhldmVudC5m
aWVsZHMudmVjdG9yLCB0cmFwbnIpOwotICAgICAgICBpZiAoIHRyYXBuciA9PSBUUkFQX2Rv
dWJsZV9mYXVsdCApCi0gICAgICAgICAgICBlcnJjb2RlID0gMDsKKyAgICAgICAgX3RyYXAu
dmVjdG9yID0gaHZtX2NvbWJpbmVfaHdfZXhjZXB0aW9ucygKKyAgICAgICAgICAgIGV2ZW50
LmZpZWxkcy52ZWN0b3IsIF90cmFwLnZlY3Rvcik7CisgICAgICAgIGlmICggX3RyYXAudmVj
dG9yID09IFRSQVBfZG91YmxlX2ZhdWx0ICkKKyAgICAgICAgICAgIF90cmFwLmVycm9yX2Nv
ZGUgPSAwOwogICAgIH0KIAogICAgIGV2ZW50LmJ5dGVzID0gMDsKICAgICBldmVudC5maWVs
ZHMudiA9IDE7CiAgICAgZXZlbnQuZmllbGRzLnR5cGUgPSBYODZfRVZFTlRUWVBFX0hXX0VY
Q0VQVElPTjsKLSAgICBldmVudC5maWVsZHMudmVjdG9yID0gdHJhcG5yOwotICAgIGV2ZW50
LmZpZWxkcy5ldiA9IChlcnJjb2RlICE9IEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwot
ICAgIGV2ZW50LmZpZWxkcy5lcnJvcmNvZGUgPSBlcnJjb2RlOworICAgIGV2ZW50LmZpZWxk
cy52ZWN0b3IgPSBfdHJhcC52ZWN0b3I7CisgICAgZXZlbnQuZmllbGRzLmV2ID0gKF90cmFw
LmVycm9yX2NvZGUgIT0gSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgZXZlbnQu
ZmllbGRzLmVycm9yY29kZSA9IF90cmFwLmVycm9yX2NvZGU7CiAKICAgICB2bWNiLT5ldmVu
dGluaiA9IGV2ZW50OwogCi0gICAgaWYgKCB0cmFwbnIgPT0gVFJBUF9wYWdlX2ZhdWx0ICkK
KyAgICBpZiAoIF90cmFwLnZlY3RvciA9PSBUUkFQX3BhZ2VfZmF1bHQgKQogICAgIHsKLSAg
ICAgICAgY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclsyXSA9IGNyMjsKLSAgICAgICAg
dm1jYl9zZXRfY3IyKHZtY2IsIGNyMik7Ci0gICAgICAgIEhWTVRSQUNFX0xPTkdfMkQoUEZf
SU5KRUNULCBlcnJjb2RlLCBUUkNfUEFSX0xPTkcoY3IyKSk7CisgICAgICAgIGN1cnItPmFy
Y2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMl0gPSBfdHJhcC5jcjI7CisgICAgICAgIHZtY2Jfc2V0
X2NyMih2bWNiLCBfdHJhcC5jcjIpOworICAgICAgICBIVk1UUkFDRV9MT05HXzJEKFBGX0lO
SkVDVCwgX3RyYXAuZXJyb3JfY29kZSwgVFJDX1BBUl9MT05HKF90cmFwLmNyMikpOwogICAg
IH0KICAgICBlbHNlCiAgICAgewotICAgICAgICBIVk1UUkFDRV8yRChJTkpfRVhDLCB0cmFw
bnIsIGVycmNvZGUpOworICAgICAgICBIVk1UUkFDRV8yRChJTkpfRVhDLCBfdHJhcC52ZWN0
b3IsIF90cmFwLmVycm9yX2NvZGUpOwogICAgIH0KIH0KIApAQCAtMTM2MSw3ICsxMzY1LDcg
QEAgc3RhdGljIHZvaWQgc3ZtX2ZwdV9kaXJ0eV9pbnRlcmNlcHQodm9pZAogICAgIHsKICAg
ICAgICAvKiBDaGVjayBpZiBsMSBndWVzdCBtdXN0IG1ha2UgRlBVIHJlYWR5IGZvciB0aGUg
bDIgZ3Vlc3QgKi8KICAgICAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMF0g
JiBYODZfQ1IwX1RTICkKLSAgICAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9u
b19kZXZpY2UsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUsIDApOworICAgICAgICAgICBo
dm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX25vX2RldmljZSwgSFZNX0RFTElWRVJfTk9f
RVJST1JfQ09ERSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICB2bWNiX3NldF9jcjAobjF2
bWNiLCB2bWNiX2dldF9jcjAobjF2bWNiKSAmIH5YODZfQ1IwX1RTKTsKICAgICAgICByZXR1
cm47CkBAIC0xNTc5LDcgKzE1ODMsNyBAQCBzdGF0aWMgaW50IHN2bV9tc3JfcmVhZF9pbnRl
cmNlcHQodW5zaWduCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIAogIGdwZjoKLSAgICBo
dm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAgICBodm1faW5q
ZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1V
TF9FWENFUFRJT047CiB9CiAKQEAgLTE3MDgsNyArMTcxMiw3IEBAIHN0YXRpYyBpbnQgc3Zt
X21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWcKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwog
CiAgZ3BmOgotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDAp
OworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAg
IHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKIH0KIApAQCAtMTc4NCwxMyArMTc4OCwxMyBA
QCBzdm1fdm1leGl0X2RvX3ZtcnVuKHN0cnVjdCBjcHVfdXNlcl9yZWdzCiB7CiAgICAgaWYg
KCFuZXN0ZWRodm1fZW5hYmxlZCh2LT5kb21haW4pKSB7CiAgICAgICAgIGdkcHJpbnRrKFhF
TkxPR19FUlIsICJWTVJVTjogbmVzdGVkaHZtIGRpc2FibGVkLCBpbmplY3RpbmcgI1VEXG4i
KTsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1f
REVMSVZFUl9OT19FUlJPUl9DT0RFLCAwKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNl
cHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmICghbmVzdGVkc3ZtX3ZtY2JfbWFwKHYs
IHZtY2JhZGRyKSkgewogICAgICAgICBnZHByaW50ayhYRU5MT0dfRVJSLCAiVk1SVU46IG1h
cHBpbmcgdm1jYiBmYWlsZWQsIGluamVjdGluZyAjVURcbiIpOwotICAgICAgICBodm1faW5q
ZWN0X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NP
REUsIDApOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRf
b3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xODMwLDcgKzE4MzQsNyBAQCBzdm1fdm1leGl0X2RvX3ZtbG9hZChzdHJ1Y3Qg
dm1jYl9zdHJ1Y3QgCiAgICAgcmV0dXJuOwogCiAgaW5qZWN0OgotICAgIGh2bV9pbmplY3Rf
ZXhjZXB0aW9uKHJldCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSwgMCk7CisgICAgaHZt
X2luamVjdF9od19leGNlcHRpb24ocmV0LCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsK
ICAgICByZXR1cm47CiB9CiAKQEAgLTE4NjQsNyArMTg2OCw3IEBAIHN2bV92bWV4aXRfZG9f
dm1zYXZlKHN0cnVjdCB2bWNiX3N0cnVjdCAKICAgICByZXR1cm47CiAKICBpbmplY3Q6Ci0g
ICAgaHZtX2luamVjdF9leGNlcHRpb24ocmV0LCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RF
LCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihyZXQsIEhWTV9ERUxJVkVSX05P
X0VSUk9SX0NPREUpOwogICAgIHJldHVybjsKIH0KIApAQCAtMTg4MCwxMSArMTg4NCwxMSBA
QCBzdGF0aWMgdm9pZCBzdm1fdm1leGl0X3VkX2ludGVyY2VwdChzdHJ1CiAgICAgc3dpdGNo
ICggcmMgKQogICAgIHsKICAgICBjYXNlIFg4NkVNVUxfVU5IQU5ETEVBQkxFOgotICAgICAg
ICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05P
X0VSUk9SX0NPREUsIDApOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQ
X2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFg4NkVNVUxfRVhDRVBUSU9OOgogICAgICAgICBpZiAoIGN0eHQuZXhu
X3BlbmRpbmcgKQotICAgICAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oY3R4dC5leG5f
dmVjdG9yLCBjdHh0LmV4bl9lcnJvcl9jb2RlLCAwKTsKKyAgICAgICAgICAgIGh2bV9pbmpl
Y3RfaHdfZXhjZXB0aW9uKGN0eHQuZXhuX3ZlY3RvciwgY3R4dC5leG5fZXJyb3JfY29kZSk7
CiAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGh2
bV9lbXVsYXRlX3dyaXRlYmFjaygmY3R4dCk7CkBAIC0xOTk4LDcgKzIwMDIsNyBAQCBzdGF0
aWMgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSBfX3JlYWRfCiAgICAgLnNldF9ndWVzdF9w
YXQgICAgICAgID0gc3ZtX3NldF9ndWVzdF9wYXQsCiAgICAgLmdldF9ndWVzdF9wYXQgICAg
ICAgID0gc3ZtX2dldF9ndWVzdF9wYXQsCiAgICAgLnNldF90c2Nfb2Zmc2V0ICAgICAgID0g
c3ZtX3NldF90c2Nfb2Zmc2V0LAotICAgIC5pbmplY3RfZXhjZXB0aW9uICAgICA9IHN2bV9p
bmplY3RfZXhjZXB0aW9uLAorICAgIC5pbmplY3RfdHJhcCAgICAgICAgICA9IHN2bV9pbmpl
Y3RfdHJhcCwKICAgICAuaW5pdF9oeXBlcmNhbGxfcGFnZSAgPSBzdm1faW5pdF9oeXBlcmNh
bGxfcGFnZSwKICAgICAuZXZlbnRfcGVuZGluZyAgICAgICAgPSBzdm1fZXZlbnRfcGVuZGlu
ZywKICAgICAuZG9fcG11X2ludGVycnVwdCAgICAgPSBzdm1fZG9fcG11X2ludGVycnVwdCwK
QEAgLTIyMTIsNyArMjIxNiw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBj
cHVfdXNlcl8KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgaHZt
X2luamVjdF9leGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0LCByZWdzLT5lcnJvcl9jb2RlLCB2
YSk7CisgICAgICAgIGh2bV9pbmplY3RfcGFnZV9mYXVsdChyZWdzLT5lcnJvcl9jb2RlLCB2
YSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMjI4NSw3ICsyMjg5LDcgQEAgdm9p
ZCBzdm1fdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyXwogICAgICAgICAgICAgICAg
IF9fdXBkYXRlX2d1ZXN0X2VpcChyZWdzLCB2bWNiLT5leGl0aW5mbzIgLSB2bWNiLT5yaXAp
OwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCAhaGFuZGxlX21taW8oKSApCi0gICAg
ICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAg
ICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwog
ICAgICAgICBicmVhazsKIAogICAgIGNhc2UgVk1FWElUX0NSMF9SRUFEIC4uLiBWTUVYSVRf
Q1IxNV9SRUFEOgpAQCAtMjI5Myw3ICsyMjk3LDcgQEAgdm9pZCBzdm1fdm1leGl0X2hhbmRs
ZXIoc3RydWN0IGNwdV91c2VyXwogICAgICAgICBpZiAoIGNwdV9oYXNfc3ZtX2RlY29kZSAm
JiAodm1jYi0+ZXhpdGluZm8xICYgKDFVTEwgPDwgNjMpKSApCiAgICAgICAgICAgICBzdm1f
dm1leGl0X2RvX2NyX2FjY2Vzcyh2bWNiLCByZWdzKTsKICAgICAgICAgZWxzZSBpZiAoICFo
YW5kbGVfbW1pbygpICkgCi0gICAgICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQ
X2dwX2ZhdWx0LCAwLCAwKTsKKyAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9u
KFRSQVBfZ3BfZmF1bHQsIDApOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgVk1FWElU
X0lOVkxQRzoKQEAgLTIzMDMsNyArMjMwNyw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVy
KHN0cnVjdCBjcHVfdXNlcl8KICAgICAgICAgICAgIF9fdXBkYXRlX2d1ZXN0X2VpcChyZWdz
LCB2bWNiLT5uZXh0cmlwIC0gdm1jYi0+cmlwKTsKICAgICAgICAgfQogICAgICAgICBlbHNl
IGlmICggIWhhbmRsZV9tbWlvKCkgKQotICAgICAgICAgICAgaHZtX2luamVjdF9leGNlcHRp
b24oVFJBUF9ncF9mYXVsdCwgMCwgMCk7CisgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4
Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl
IFZNRVhJVF9JTlZMUEdBOgpAQCAtMjM0OSw3ICsyMzUzLDcgQEAgdm9pZCBzdm1fdm1leGl0
X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyXwogCiAgICAgY2FzZSBWTUVYSVRfTU9OSVRPUjoK
ICAgICBjYXNlIFZNRVhJVF9NV0FJVDoKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24o
VFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFLCAwKTsKKyAgICAg
ICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZF
Ul9OT19FUlJPUl9DT0RFKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFZNRVhJVF9W
TVJVTjoKQEAgLTIzNjgsNyArMjM3Miw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0
cnVjdCBjcHVfdXNlcl8KICAgICAgICAgc3ZtX3ZtZXhpdF9kb19jbGdpKHJlZ3MsIHYpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFZNRVhJVF9TS0lOSVQ6Ci0gICAgICAgIGh2bV9p
bmplY3RfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1Jf
Q09ERSwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxp
ZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CiAgICAgICAgIGJyZWFrOwogCiAg
ICAgY2FzZSBWTUVYSVRfWFNFVEJWOgpkaWZmIC1yIDUzZTA1NzFmOTRlNCB4ZW4vYXJjaC94
ODYvaHZtL3ZteC9pbnRyLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5jCUZy
aSBNYXkgMjUgMDg6MjE6MjUgMjAxMiArMDEwMAorKysgYi94ZW4vYXJjaC94ODYvaHZtL3Zt
eC9pbnRyLmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAwCkBAIC0yNTEsNyArMjUx
LDcgQEAgdm9pZCB2bXhfaW50cl9hc3Npc3Qodm9pZCkKICAgICB9CiAgICAgZWxzZSBpZiAo
IGludGFjay5zb3VyY2UgPT0gaHZtX2ludHNyY19tY2UgKQogICAgIHsKLSAgICAgICAgdm14
X2luamVjdF9od19leGNlcHRpb24oVFJBUF9tYWNoaW5lX2NoZWNrLCBIVk1fREVMSVZFUl9O
T19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9t
YWNoaW5lX2NoZWNrLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICB9CiAgICAg
ZWxzZQogICAgIHsKZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2FyY2gveDg2L2h2bS92bXgv
dm14LmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMJRnJpIE1heSAyNSAwODoy
MToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCUZyaSBN
YXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAtMjY4LDcgKzI2OCw3IEBAIGxvbmdfbW9k
ZV9kb19tc3Jfd3JpdGUodW5zaWduZWQgaW50IG1zciwKIAogIHVuY2Fub25pY2FsX2FkZHJl
c3M6CiAgICAgSFZNX0RCR19MT0coREJHX0xFVkVMXzAsICJOb3QgY2FubyBhZGRyZXNzIG9m
IG1zciB3cml0ZSAleCIsIG1zcik7Ci0gICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJB
UF9ncF9mYXVsdCwgMCk7CisgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9m
YXVsdCwgMCk7CiAgICAgcmV0dXJuIEhORExfZXhjZXB0aW9uX3JhaXNlZDsKIH0KIApAQCAt
MTMxMCwxMCArMTMxMCw5IEBAIHZvaWQgbnZteF9lbnF1ZXVlX24yX2V4Y2VwdGlvbnMoc3Ry
dWN0IHYKICAgICAgICAgICAgICAgICAgbnZteC0+aW50ci5pbnRyX2luZm8sIG52bXgtPmlu
dHIuZXJyb3JfY29kZSk7CiB9CiAKLXN0YXRpYyBpbnQgbnZteF92bWV4aXRfZXhjZXB0aW9u
cyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHRyYXBuciwKLSAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZXJyY29kZSwgdW5zaWduZWQgbG9uZyBjcjIpCitzdGF0aWMgaW50IG52
bXhfdm1leGl0X3RyYXAoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBodm1fdHJhcCAqdHJhcCkK
IHsKLSAgICBudm14X2VucXVldWVfbjJfZXhjZXB0aW9ucyh2LCB0cmFwbnIsIGVycmNvZGUp
OworICAgIG52bXhfZW5xdWV1ZV9uMl9leGNlcHRpb25zKHYsIHRyYXAtPnZlY3RvciwgdHJh
cC0+ZXJyb3JfY29kZSk7CiAgICAgcmV0dXJuIE5FU1RFREhWTV9WTUVYSVRfRE9ORTsKIH0K
IApAQCAtMTM0NCw3OCArMTM0Myw2IEBAIHN0YXRpYyB2b2lkIF9fdm14X2luamVjdF9leGNl
cHRpb24oaW50IHQKICAgICAgICAgY3Vyci0+YXJjaC5odm1fdm14LnZteF9lbXVsYXRlID0g
MTsKIH0KIAotdm9pZCB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihpbnQgdHJhcCwgaW50IGVy
cm9yX2NvZGUpCi17Ci0gICAgdW5zaWduZWQgbG9uZyBpbnRyX2luZm87Ci0gICAgc3RydWN0
IHZjcHUgKmN1cnIgPSBjdXJyZW50OwotCi0gICAgaW50IHR5cGUgPSBYODZfRVZFTlRUWVBF
X0hXX0VYQ0VQVElPTjsKLQotICAgIGlmICggbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vlc3Rtb2Rl
KGN1cnIpICkKLSAgICAgICAgaW50cl9pbmZvID0gdmNwdV8yX252bXgoY3VycikuaW50ci5p
bnRyX2luZm87Ci0gICAgZWxzZQotICAgICAgICBpbnRyX2luZm8gPSBfX3ZtcmVhZChWTV9F
TlRSWV9JTlRSX0lORk8pOwotCi0gICAgc3dpdGNoICggdHJhcCApCi0gICAgewotICAgIGNh
c2UgVFJBUF9kZWJ1ZzoKLSAgICAgICAgdHlwZSA9IFg4Nl9FVkVOVFRZUEVfU1dfRVhDRVBU
SU9OOwotICAgICAgICBpZiAoIGd1ZXN0X2NwdV91c2VyX3JlZ3MoKS0+ZWZsYWdzICYgWDg2
X0VGTEFHU19URiApCi0gICAgICAgIHsKLSAgICAgICAgICAgIF9fcmVzdG9yZV9kZWJ1Z19y
ZWdpc3RlcnMoY3Vycik7Ci0gICAgICAgICAgICB3cml0ZV9kZWJ1Z3JlZyg2LCByZWFkX2Rl
YnVncmVnKDYpIHwgMHg0MDAwKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIGNwdV9oYXNf
bW9uaXRvcl90cmFwX2ZsYWcgKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8qIGZh
bGwgdGhyb3VnaCAqLwotCi0gICAgY2FzZSBUUkFQX2ludDM6Ci0gICAgICAgIGlmICggY3Vy
ci0+ZG9tYWluLT5kZWJ1Z2dlcl9hdHRhY2hlZCApCi0gICAgICAgIHsKLSAgICAgICAgICAg
IC8qIERlYnVnL0ludDM6IFRyYXAgdG8gZGVidWdnZXIuICovCi0gICAgICAgICAgICBkb21h
aW5fcGF1c2VfZm9yX2RlYnVnZ2VyKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICB0eXBlID0gWDg2X0VWRU5UVFlQRV9TV19FWENFUFRJT047Ci0gICAg
ICAgIF9fdm13cml0ZShWTV9FTlRSWV9JTlNUUlVDVElPTl9MRU4sIDEpOyAvKiBpbnQzICov
Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgaWYgKCB0cmFwID4g
VFJBUF9sYXN0X3Jlc2VydmVkICkKLSAgICAgICAgewotICAgICAgICAgICAgdHlwZSA9IFg4
Nl9FVkVOVFRZUEVfU1dfRVhDRVBUSU9OOwotICAgICAgICAgICAgX192bXdyaXRlKFZNX0VO
VFJZX0lOU1RSVUNUSU9OX0xFTiwgMik7IC8qIGludCBpbW04ICovCi0gICAgICAgIH0KLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgaWYgKCB1bmxpa2VseShpbnRyX2luZm8gJiBJ
TlRSX0lORk9fVkFMSURfTUFTSykgJiYKLSAgICAgICAgICgoKGludHJfaW5mbyA+PiA4KSAm
IDcpID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OKSApCi0gICAgewotICAgICAgICB0
cmFwID0gaHZtX2NvbWJpbmVfaHdfZXhjZXB0aW9ucygodWludDhfdClpbnRyX2luZm8sIHRy
YXApOwotICAgICAgICBpZiAoIHRyYXAgPT0gVFJBUF9kb3VibGVfZmF1bHQgKQotICAgICAg
ICAgICAgZXJyb3JfY29kZSA9IDA7Ci0gICAgfQotCi0gICAgaWYgKCBuZXN0ZWRodm1fdmNw
dV9pbl9ndWVzdG1vZGUoY3VycikgJiYKLSAgICAgICAgIG52bXhfaW50ZXJjZXB0c19leGNl
cHRpb24oY3VyciwgdHJhcCwgZXJyb3JfY29kZSkgKQotICAgIHsKLSAgICAgICAgbnZteF9l
bnF1ZXVlX24yX2V4Y2VwdGlvbnMgKGN1cnIsIAotICAgICAgICAgICAgSU5UUl9JTkZPX1ZB
TElEX01BU0sgfCAodHlwZTw8OCkgfCB0cmFwLAotICAgICAgICAgICAgZXJyb3JfY29kZSk7
IAotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGVsc2UKLSAgICAgICAgX192bXhfaW5q
ZWN0X2V4Y2VwdGlvbih0cmFwLCB0eXBlLCBlcnJvcl9jb2RlKTsKLQotICAgIGlmICggdHJh
cCA9PSBUUkFQX3BhZ2VfZmF1bHQgKQotICAgICAgICBIVk1UUkFDRV9MT05HXzJEKFBGX0lO
SkVDVCwgZXJyb3JfY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBUUkNfUEFSX0xP
TkcoY3VycmVudC0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclsyXSkpOwotICAgIGVsc2UKLSAg
ICAgICAgSFZNVFJBQ0VfMkQoSU5KX0VYQywgdHJhcCwgZXJyb3JfY29kZSk7Ci19Ci0KIHZv
aWQgdm14X2luamVjdF9leHRpbnQoaW50IHRyYXApCiB7CiAgICAgc3RydWN0IHZjcHUgKnYg
PSBjdXJyZW50OwpAQCAtMTQ1NCwxMyArMTM4MSw2NyBAQCB2b2lkIHZteF9pbmplY3Rfbm1p
KHZvaWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVk1fREVMSVZFUl9OT19FUlJP
Ul9DT0RFKTsKIH0KIAotc3RhdGljIHZvaWQgdm14X2luamVjdF9leGNlcHRpb24oCi0gICAg
dW5zaWduZWQgaW50IHRyYXBuciwgaW50IGVycmNvZGUsIHVuc2lnbmVkIGxvbmcgY3IyKQor
c3RhdGljIHZvaWQgdm14X2luamVjdF90cmFwKHN0cnVjdCBodm1fdHJhcCAqdHJhcCkKIHsK
LSAgICBpZiAoIHRyYXBuciA9PSBUUkFQX3BhZ2VfZmF1bHQgKQotICAgICAgICBjdXJyZW50
LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2NyWzJdID0gY3IyOwotCi0gICAgdm14X2luamVjdF9o
d19leGNlcHRpb24odHJhcG5yLCBlcnJjb2RlKTsKKyAgICB1bnNpZ25lZCBsb25nIGludHJf
aW5mbzsKKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CisgICAgc3RydWN0IGh2
bV90cmFwIF90cmFwID0gKnRyYXA7CisKKyAgICBpZiAoIChfdHJhcC52ZWN0b3IgPT0gVFJB
UF9wYWdlX2ZhdWx0KSAmJgorICAgICAgICAgKF90cmFwLnR5cGUgPT0gWDg2X0VWRU5UVFlQ
RV9IV19FWENFUFRJT04pICkKKyAgICAgICAgY3VycmVudC0+YXJjaC5odm1fdmNwdS5ndWVz
dF9jclsyXSA9IF90cmFwLmNyMjsKKworICAgIGlmICggbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vl
c3Rtb2RlKGN1cnIpICkKKyAgICAgICAgaW50cl9pbmZvID0gdmNwdV8yX252bXgoY3Vyciku
aW50ci5pbnRyX2luZm87CisgICAgZWxzZQorICAgICAgICBpbnRyX2luZm8gPSBfX3ZtcmVh
ZChWTV9FTlRSWV9JTlRSX0lORk8pOworCisgICAgc3dpdGNoICggX3RyYXAudmVjdG9yICkK
KyAgICB7CisgICAgY2FzZSBUUkFQX2RlYnVnOgorICAgICAgICBpZiAoIGd1ZXN0X2NwdV91
c2VyX3JlZ3MoKS0+ZWZsYWdzICYgWDg2X0VGTEFHU19URiApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIF9fcmVzdG9yZV9kZWJ1Z19yZWdpc3RlcnMoY3Vycik7CisgICAgICAgICAgICB3
cml0ZV9kZWJ1Z3JlZyg2LCByZWFkX2RlYnVncmVnKDYpIHwgMHg0MDAwKTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoIGNwdV9oYXNfbW9uaXRvcl90cmFwX2ZsYWcgKQorICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2UgVFJBUF9p
bnQzOgorICAgICAgICBpZiAoIGN1cnItPmRvbWFpbi0+ZGVidWdnZXJfYXR0YWNoZWQgKQor
ICAgICAgICB7CisgICAgICAgICAgICAvKiBEZWJ1Zy9JbnQzOiBUcmFwIHRvIGRlYnVnZ2Vy
LiAqLworICAgICAgICAgICAgZG9tYWluX3BhdXNlX2Zvcl9kZWJ1Z2dlcigpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCB1bmxpa2VseShp
bnRyX2luZm8gJiBJTlRSX0lORk9fVkFMSURfTUFTSykgJiYKKyAgICAgICAgICgoKGludHJf
aW5mbyA+PiA4KSAmIDcpID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OKSApCisgICAg
eworICAgICAgICBfdHJhcC52ZWN0b3IgPSBodm1fY29tYmluZV9od19leGNlcHRpb25zKAor
ICAgICAgICAgICAgKHVpbnQ4X3QpaW50cl9pbmZvLCBfdHJhcC52ZWN0b3IpOworICAgICAg
ICBpZiAoIF90cmFwLnZlY3RvciA9PSBUUkFQX2RvdWJsZV9mYXVsdCApCisgICAgICAgICAg
ICBfdHJhcC5lcnJvcl9jb2RlID0gMDsKKyAgICB9CisKKyAgICBpZiAoIG5lc3RlZGh2bV92
Y3B1X2luX2d1ZXN0bW9kZShjdXJyKSAmJgorICAgICAgICAgbnZteF9pbnRlcmNlcHRzX2V4
Y2VwdGlvbihjdXJyLCBfdHJhcC52ZWN0b3IsIF90cmFwLmVycm9yX2NvZGUpICkKKyAgICB7
CisgICAgICAgIG52bXhfZW5xdWV1ZV9uMl9leGNlcHRpb25zIChjdXJyLCAKKyAgICAgICAg
ICAgIElOVFJfSU5GT19WQUxJRF9NQVNLIHwgKF90cmFwLnR5cGU8PDgpIHwgX3RyYXAudmVj
dG9yLAorICAgICAgICAgICAgX3RyYXAuZXJyb3JfY29kZSk7IAorICAgICAgICByZXR1cm47
CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgX192bXhfaW5qZWN0X2V4Y2VwdGlvbihfdHJh
cC52ZWN0b3IsIF90cmFwLnR5cGUsIF90cmFwLmVycm9yX2NvZGUpOworCisgICAgaWYgKCAo
X3RyYXAudmVjdG9yID09IFRSQVBfcGFnZV9mYXVsdCkgJiYKKyAgICAgICAgIChfdHJhcC50
eXBlID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OKSApCisgICAgICAgIEhWTVRSQUNF
X0xPTkdfMkQoUEZfSU5KRUNULCBfdHJhcC5lcnJvcl9jb2RlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIFRSQ19QQVJfTE9ORyhjdXJyZW50LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2Ny
WzJdKSk7CisgICAgZWxzZQorICAgICAgICBIVk1UUkFDRV8yRChJTkpfRVhDLCBfdHJhcC52
ZWN0b3IsIF90cmFwLmVycm9yX2NvZGUpOwogfQogCiBzdGF0aWMgaW50IHZteF9ldmVudF9w
ZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KQpAQCAtMTUzMiw3ICsxNTEzLDcgQEAgc3RhdGljIHN0
cnVjdCBodm1fZnVuY3Rpb25fdGFibGUgX19yZWFkXwogICAgIC5zZXRfZ3Vlc3RfcGF0ICAg
ICAgICA9IHZteF9zZXRfZ3Vlc3RfcGF0LAogICAgIC5nZXRfZ3Vlc3RfcGF0ICAgICAgICA9
IHZteF9nZXRfZ3Vlc3RfcGF0LAogICAgIC5zZXRfdHNjX29mZnNldCAgICAgICA9IHZteF9z
ZXRfdHNjX29mZnNldCwKLSAgICAuaW5qZWN0X2V4Y2VwdGlvbiAgICAgPSB2bXhfaW5qZWN0
X2V4Y2VwdGlvbiwKKyAgICAuaW5qZWN0X3RyYXAgICAgICAgICAgPSB2bXhfaW5qZWN0X3Ry
YXAsCiAgICAgLmluaXRfaHlwZXJjYWxsX3BhZ2UgID0gdm14X2luaXRfaHlwZXJjYWxsX3Bh
Z2UsCiAgICAgLmV2ZW50X3BlbmRpbmcgICAgICAgID0gdm14X2V2ZW50X3BlbmRpbmcsCiAg
ICAgLmRvX3BtdV9pbnRlcnJ1cHQgICAgID0gdm14X2RvX3BtdV9pbnRlcnJ1cHQsCkBAIC0x
NTU0LDcgKzE1MzUsNyBAQCBzdGF0aWMgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSBfX3Jl
YWRfCiAgICAgLm5odm1fdmNwdV9ob3N0Y3IzICAgID0gbnZteF92Y3B1X2hvc3RjcjMsCiAg
ICAgLm5odm1fdmNwdV9hc2lkICAgICAgID0gbnZteF92Y3B1X2FzaWQsCiAgICAgLm5odm1f
dm1jeF9ndWVzdF9pbnRlcmNlcHRzX3RyYXAgPSBudm14X2ludGVyY2VwdHNfZXhjZXB0aW9u
LAotICAgIC5uaHZtX3ZjcHVfdm1leGl0X3RyYXAgPSBudm14X3ZtZXhpdF9leGNlcHRpb25z
LAorICAgIC5uaHZtX3ZjcHVfdm1leGl0X3RyYXAgPSBudm14X3ZtZXhpdF90cmFwLAogICAg
IC5uaHZtX2ludHJfYmxvY2tlZCAgICA9IG52bXhfaW50cl9ibG9ja2VkCiB9OwogCkBAIC0x
NjE4LDcgKzE1OTksNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfZ3Vlc3RfZWlwKHZvaWQpCiAg
ICAgfQogCiAgICAgaWYgKCByZWdzLT5lZmxhZ3MgJiBYODZfRUZMQUdTX1RGICkKLSAgICAg
ICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgSFZNX0RFTElWRVJfTk9f
RVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVi
dWcsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwogfQogCiBzdGF0aWMgdm9pZCB2bXhf
ZnB1X2RpcnR5X2ludGVyY2VwdCh2b2lkKQpAQCAtMTkyMiw3ICsxOTAzLDcgQEAgZG9uZToK
ICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogCiBncF9mYXVsdDoKLSAgICB2bXhfaW5qZWN0
X2h3X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4
Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJ
T047CiB9CiAKQEAgLTIwMzAsNyArMjAxMSw3IEBAIHN0YXRpYyBpbnQgdm14X21zcl93cml0
ZV9pbnRlcmNlcHQodW5zaWcKIAogICAgICAgICBpZiAoIChyYyA8IDApIHx8CiAgICAgICAg
ICAgICAgKHZteF9hZGRfaG9zdF9sb2FkX21zcihtc3IpIDwgMCkgKQotICAgICAgICAgICAg
dm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9tYWNoaW5lX2NoZWNrLCAwKTsKKyAgICAg
ICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfbWFjaGluZV9jaGVjaywgMCk7
CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgICAgX192bXdyaXRlKEdVRVNU
X0lBMzJfREVCVUdDVEwsIG1zcl9jb250ZW50KTsKQEAgLTIwNzMsNyArMjA1NCw3IEBAIHN0
YXRpYyBpbnQgdm14X21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWcKICAgICByZXR1cm4gWDg2
RU1VTF9PS0FZOwogCiBncF9mYXVsdDoKLSAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dw
X2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiB9CiAKQEAgLTIy
MjIsMTEgKzIyMDMsMTEgQEAgc3RhdGljIHZvaWQgdm14X3ZtZXhpdF91ZF9pbnRlcmNlcHQo
c3RydQogICAgIHN3aXRjaCAoIHJjICkKICAgICB7CiAgICAgY2FzZSBYODZFTVVMX1VOSEFO
RExFQUJMRToKLSAgICAgICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlk
X29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9o
d19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RF
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYODZFTVVMX0VYQ0VQVElPTjoKICAgICAg
ICAgaWYgKCBjdHh0LmV4bl9wZW5kaW5nICkKLSAgICAgICAgICAgIGh2bV9pbmplY3RfZXhj
ZXB0aW9uKGN0eHQuZXhuX3ZlY3RvciwgY3R4dC5leG5fZXJyb3JfY29kZSwgMCk7CisgICAg
ICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihjdHh0LmV4bl92ZWN0b3IsIGN0eHQu
ZXhuX2Vycm9yX2NvZGUpOwogICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KICAgICBkZWZh
dWx0OgogICAgICAgICBodm1fZW11bGF0ZV93cml0ZWJhY2soJmN0eHQpOwpAQCAtMjQ0MCw3
ICsyNDIxLDEyIEBAIHZvaWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8K
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoIGhhbmRsZWQgPCAwICkg
CiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB2bXhfaW5qZWN0X2V4
Y2VwdGlvbihUUkFQX2ludDMsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUsIDApOworICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgaHZtX3RyYXAgdHJhcCA9IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC52ZWN0b3IgPSBUUkFQX2ludDMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAudHlwZSA9IFg4Nl9FVkVOVFRZUEVfU1dfRVhDRVBUSU9OLAorICAgICAgICAgICAg
ICAgICAgICAgICAgLmVycm9yX2NvZGUgPSBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFCisg
ICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgIGh2bV9pbmplY3Rf
dHJhcCgmdHJhcCk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBlbHNlIGlmICggaGFuZGxlZCApCkBAIC0yNDc2LDgg
KzI0NjIsNyBAQCB2b2lkIHZteF92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfCiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHYt
PmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMl0gPSBleGl0X3F1YWxpZmljYXRpb247Ci0gICAg
ICAgICAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX3BhZ2VfZmF1bHQsIHJlZ3Mt
PmVycm9yX2NvZGUpOworICAgICAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHJlZ3Mt
PmVycm9yX2NvZGUsIGV4aXRfcXVhbGlmaWNhdGlvbik7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBUUkFQX25taToKICAgICAgICAgICAgIGlmICggKGludHJfaW5mbyAm
IElOVFJfSU5GT19JTlRSX1RZUEVfTUFTSykgIT0KQEAgLTI2NTgsNyArMjY0Myw3IEBAIHZv
aWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8KICAgICAgICAgICogYXMg
ZmFyIGFzIHZtZXhpdC4KICAgICAgICAgICovCiAgICAgICAgIFdBUk5fT04oZXhpdF9yZWFz
b24gPT0gRVhJVF9SRUFTT05fR0VUU0VDKTsKLSAgICAgICAgdm14X2luamVjdF9od19leGNl
cHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAg
ICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVM
SVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEVYSVRf
UkVBU09OX1RQUl9CRUxPV19USFJFU0hPTEQ6CkBAIC0yNjY2LDcgKzI2NTEsNyBAQCB2b2lk
IHZteF92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfCiAKICAgICBjYXNlIEVYSVRf
UkVBU09OX0FQSUNfQUNDRVNTOgogICAgICAgICBpZiAoICF2bXhfaGFuZGxlX2VvaV93cml0
ZSgpICYmICFoYW5kbGVfbW1pbygpICkKLSAgICAgICAgICAgIHZteF9pbmplY3RfaHdfZXhj
ZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOworICAgICAgICAgICAgaHZtX2luamVjdF9od19l
eGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz
ZSBFWElUX1JFQVNPTl9JT19JTlNUUlVDVElPTjoKQEAgLTI2NzUsNyArMjY2MCw3IEBAIHZv
aWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8KICAgICAgICAgewogICAg
ICAgICAgICAgLyogSU5TLCBPVVRTICovCiAgICAgICAgICAgICBpZiAoICFoYW5kbGVfbW1p
bygpICkKLSAgICAgICAgICAgICAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dw
X2ZhdWx0LCAwKTsKKyAgICAgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsK
ZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2FyY2gveDg2L2h2bS92bXgvdnBtdV9jb3JlMi5j
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZwbXVfY29yZTIuYwlGcmkgTWF5IDI1IDA4
OjIxOjI1IDIwMTIgKzAxMDAKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnBtdV9jb3Jl
Mi5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAtNDIxLDcgKzQyMSw3IEBA
IHN0YXRpYyBpbnQgY29yZTJfdnBtdV9kb193cm1zcih1bnNpZ25lZCAKICAgICAgICAgICAg
ICAgICBpZiAoIHZwbXVfaXNfc2V0KHZwbXUsIFZQTVVfQ1BVX0hBU19CVFMpICkKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgZ2RwcmludGsoWEVO
TE9HX1dBUk5JTkcsICJEZWJ1ZyBTdG9yZSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgY3B1
XG4iKTsKLSAgICAgICAgICAgICAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dw
X2ZhdWx0LCAwKTsKKyAgICAgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpAQCAtNDM3LDcgKzQzNyw3IEBAIHN0YXRpYyBpbnQgY29yZTJf
dnBtdV9kb193cm1zcih1bnNpZ25lZCAKICAgICBjYXNlIE1TUl9DT1JFX1BFUkZfR0xPQkFM
X1NUQVRVUzoKICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0lORk8sICJDYW4gbm90IHdyaXRl
IHJlYWRvbmx5IE1TUjogIgogICAgICAgICAgICAgICAgICAiTVNSX1BFUkZfR0xPQkFMX1NU
QVRVUygweDM4RSkhXG4iKTsKLSAgICAgICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJB
UF9ncF9mYXVsdCwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBf
Z3BfZmF1bHQsIDApOwogICAgICAgICByZXR1cm4gMTsKICAgICBjYXNlIE1TUl9JQTMyX1BF
QlNfRU5BQkxFOgogICAgICAgICBpZiAoIG1zcl9jb250ZW50ICYgMSApCkBAIC00NTIsNyAr
NDUyLDcgQEAgc3RhdGljIGludCBjb3JlMl92cG11X2RvX3dybXNyKHVuc2lnbmVkIAogICAg
ICAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICJJbGxlZ2FsIGFkZHJlc3MgZm9yIElBMzJfRFNfQVJFQTogJSMiIFBSSXg2
NCAieFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBtc3JfY29udGVudCk7Ci0gICAg
ICAgICAgICAgICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7
CisgICAgICAgICAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVs
dCwgMCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBjb3JlMl92cG11X2N4dC0+cG11X2VuYWJsZS0+ZHNfYXJlYV9lbmFibGUgPSBt
c3JfY29udGVudCA/IDEgOiAwOwpAQCAtNTQ0LDcgKzU0NCw3IEBAIHN0YXRpYyBpbnQgY29y
ZTJfdnBtdV9kb193cm1zcih1bnNpZ25lZCAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAgICAgICAgIGlmIChpbmplY3RfZ3ApCi0gICAgICAgICAgICB2bXhfaW5qZWN0X2h3
X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKKyAgICAgICAgICAgIGh2bV9pbmplY3Rf
aHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICB3cm1zcmwobXNyLCBtc3JfY29udGVudCk7CiAgICAgfQpkaWZmIC1yIDUzZTA1NzFm
OTRlNCB4ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKLS0tIGEveGVuL2FyY2gveDg2L2h2
bS92bXgvdnZteC5jCUZyaSBNYXkgMjUgMDg6MjE6MjUgMjAxMiArMDEwMAorKysgYi94ZW4v
YXJjaC94ODYvaHZtL3ZteC92dm14LmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAw
CkBAIC0zMDQsMTIgKzMwNCwxMiBAQCB2bWV4aXQ6CiAgICAgCiBpbnZhbGlkX29wOgogICAg
IGdkcHJpbnRrKFhFTkxPR19FUlIsICJ2bXhfaW5zdF9jaGVja19wcml2aWxlZ2U6IGludmFs
aWRfb3BcbiIpOwotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwg
MCwgMCk7CisgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBI
Vk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJ
T047CiAKIGdwX2ZhdWx0OgogICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ2bXhfaW5zdF9j
aGVja19wcml2aWxlZ2U6IGdwX2ZhdWx0XG4iKTsKLSAgICBodm1faW5qZWN0X2V4Y2VwdGlv
bihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiB9CiAK
QEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IGRlY29kZV92bXhfaW5zdChzdHJ1Y3Qg
Y3B1X3VzCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIAogZ3BfZmF1bHQ6Ci0gICAgaHZt
X2luamVjdF9leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCwgMCk7CisgICAgaHZtX2luamVj
dF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgcmV0dXJuIFg4NkVNVUxf
RVhDRVBUSU9OOwogfQogCmRpZmYgLXIgNTNlMDU3MWY5NGU0IHhlbi9hcmNoL3g4Ni9tbS9z
aGFkb3cvY29tbW9uLmMKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwlG
cmkgTWF5IDI1IDA4OjIxOjI1IDIwMTIgKzAxMDAKKysrIGIveGVuL2FyY2gveDg2L21tL3No
YWRvdy9jb21tb24uYwlGcmkgTWF5IDI1IDA5OjQ1OjAwIDIwMTIgKzAxMDAKQEAgLTEzNSw3
ICsxMzUsNyBAQCBzdGF0aWMgaW50IGh2bV90cmFuc2xhdGVfbGluZWFyX2FkZHIoCiAKICAg
ICBpZiAoICFva2F5ICkKICAgICB7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRS
QVBfZ3BfZmF1bHQsIDAsIDApOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwog
ICAgIH0KIApkaWZmIC1yIDUzZTA1NzFmOTRlNCB4ZW4vYXJjaC94ODYvbW0vc2hhZG93L211
bHRpLmMKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCUZyaSBNYXkgMjUg
MDg6MjE6MjUgMjAxMiArMDEwMAorKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRp
LmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAwCkBAIC00ODI1LDcgKzQ4MjUsNyBA
QCBzdGF0aWMgbWZuX3QgZW11bGF0ZV9ndmFfdG9fbWZuKHN0cnVjdCB2CiAgICAgaWYgKCBn
Zm4gPT0gSU5WQUxJRF9HRk4gKSAKICAgICB7CiAgICAgICAgIGlmICggaXNfaHZtX3ZjcHUo
dikgKQotICAgICAgICAgICAgaHZtX2luamVj
dF9leGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0
LCBwZmVjLCB2YWRkcik7CisgICAgICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQocGZl
YywgdmFkZHIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBwcm9wYWdhdGVfcGFnZV9m
YXVsdCh2YWRkciwgcGZlYyk7CiAgICAgICAgIHJldHVybiBfbWZuKEJBRF9HVkFfVE9fR0ZO
KTsKZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgK
LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgJRnJpIE1heSAyNSAwODoyMToy
NSAyMDEyICswMTAwCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCUZyaSBN
YXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAtNzEsNiArNzEsMTMgQEAgZW51bSBodm1f
aW50YmxrIHsKICNkZWZpbmUgSFZNX0hBUF9TVVBFUlBBR0VfMk1CICAgMHgwMDAwMDAwMQog
I2RlZmluZSBIVk1fSEFQX1NVUEVSUEFHRV8xR0IgICAweDAwMDAwMDAyCiAKK3N0cnVjdCBo
dm1fdHJhcCB7CisgICAgaW50ICAgICAgICAgICB2ZWN0b3I7CisgICAgdW5zaWduZWQgaW50
ICB0eXBlOyAgICAgICAgIC8qIFg4Nl9FVkVOVFRZUEVfKiAqLworICAgIGludCAgICAgICAg
ICAgZXJyb3JfY29kZTsgICAvKiBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFIGlmIG4vYSAq
LworICAgIHVuc2lnbmVkIGxvbmcgY3IyOyAgICAgICAgICAvKiBPbmx5IGZvciBUUkFQX3Bh
Z2VfZmF1bHQgaC93IGV4Y2VwdGlvbiAqLworfTsKKwogLyoKICAqIFRoZSBoYXJkd2FyZSB2
aXJ0dWFsIG1hY2hpbmUgKEhWTSkgaW50ZXJmYWNlIGFic3RyYWN0cyBhd2F5IGZyb20gdGhl
CiAgKiB4ODYveDg2XzY0IENQVSB2aXJ0dWFsaXphdGlvbiBhc3Npc3Qgc3BlY2lmaWNzLiBD
dXJyZW50bHkgdGhpcyBpbnRlcmZhY2UKQEAgLTEyNCw4ICsxMzEsNyBAQCBzdHJ1Y3QgaHZt
X2Z1bmN0aW9uX3RhYmxlIHsKIAogICAgIHZvaWQgKCpzZXRfdHNjX29mZnNldCkoc3RydWN0
IHZjcHUgKnYsIHU2NCBvZmZzZXQpOwogCi0gICAgdm9pZCAoKmluamVjdF9leGNlcHRpb24p
KHVuc2lnbmVkIGludCB0cmFwbnIsIGludCBlcnJjb2RlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNyMik7CisgICAgdm9pZCAoKmluamVjdF90cmFw
KShzdHJ1Y3QgaHZtX3RyYXAgKnRyYXApOwogCiAgICAgdm9pZCAoKmluaXRfaHlwZXJjYWxs
X3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHZvaWQgKmh5cGVyY2FsbF9wYWdlKTsKIApAQCAt
MTYyLDEwICsxNjgsNyBAQCBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOwog
ICAgIGludCAoKm5odm1fdmNwdV92bWV4aXQpKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgY3B1
X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDY0X3QgZXhpdGNvZGUpOwotICAgIGludCAoKm5odm1fdmNwdV92bWV4aXRfdHJhcCkoc3Ry
dWN0IHZjcHUgKnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCB0cmFwbnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBlcnJj
b2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNy
Mik7CisgICAgaW50ICgqbmh2bV92Y3B1X3ZtZXhpdF90cmFwKShzdHJ1Y3QgdmNwdSAqdiwg
c3RydWN0IGh2bV90cmFwICp0cmFwKTsKICAgICB1aW50NjRfdCAoKm5odm1fdmNwdV9ndWVz
dGNyMykoc3RydWN0IHZjcHUgKnYpOwogICAgIHVpbnQ2NF90ICgqbmh2bV92Y3B1X2hvc3Rj
cjMpKHN0cnVjdCB2Y3B1ICp2KTsKICAgICB1aW50MzJfdCAoKm5odm1fdmNwdV9hc2lkKShz
dHJ1Y3QgdmNwdSAqdik7CkBAIC0zMjAsNyArMzIzLDkgQEAgdm9pZCBodm1fbWlncmF0ZV90
aW1lcnMoc3RydWN0IHZjcHUgKnYpOwogdm9pZCBodm1fZG9fcmVzdW1lKHN0cnVjdCB2Y3B1
ICp2KTsKIHZvaWQgaHZtX21pZ3JhdGVfcGlycXMoc3RydWN0IHZjcHUgKnYpOwogCi12b2lk
IGh2bV9pbmplY3RfZXhjZXB0aW9uKHVuc2lnbmVkIGludCB0cmFwbnIsIGludCBlcnJjb2Rl
LCB1bnNpZ25lZCBsb25nIGNyMik7Cit2b2lkIGh2bV9pbmplY3RfdHJhcChzdHJ1Y3QgaHZt
X3RyYXAgKnRyYXApOwordm9pZCBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbih1bnNpZ25lZCBp
bnQgdHJhcG5yLCBpbnQgZXJyY29kZSk7Cit2b2lkIGh2bV9pbmplY3RfcGFnZV9mYXVsdChp
bnQgZXJyY29kZSwgdW5zaWduZWQgbG9uZyBjcjIpOwogCiBzdGF0aWMgaW5saW5lIGludCBo
dm1fZXZlbnRfcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdikKIHsKQEAgLTQ3OSw4ICs0ODQsNyBA
QCBpbnQgbmh2bV92Y3B1X3ZtZXhpdChzdHJ1Y3QgdmNwdSAqdiwgc3RyCiAvKiBpbmplY3Qg
dm1leGl0IGludG8gbDEgZ3Vlc3QuIGwxIGd1ZXN0IHdpbGwgc2VlIGEgVk1FWElUIGR1ZSB0
bwogICogJ3RyYXBucicgZXhjZXB0aW9uLgogICovIAotaW50IG5odm1fdmNwdV92bWV4aXRf
dHJhcChzdHJ1Y3QgdmNwdSAqdiwKLSAgICB1bnNpZ25lZCBpbnQgdHJhcG5yLCBpbnQgZXJy
Y29kZSwgdW5zaWduZWQgbG9uZyBjcjIpOworaW50IG5odm1fdmNwdV92bWV4aXRfdHJhcChz
dHJ1Y3QgdmNwdSAqdiwgc3RydWN0IGh2bV90cmFwICp0cmFwKTsKIAogLyogcmV0dXJucyBs
MiBndWVzdCBjcjMgaW4gbDIgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZS4gKi8KIHVp
bnQ2NF90IG5odm1fdmNwdV9ndWVzdGNyMyhzdHJ1Y3QgdmNwdSAqdik7CmRpZmYgLXIgNTNl
MDU3MWY5NGU0IHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9uZXN0ZWRzdm0uaAotLS0g
YS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmgJRnJpIE1heSAyNSAw
ODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9u
ZXN0ZWRzdm0uaAlGcmkgTWF5IDI1IDA5OjQ1OjAwIDIwMTIgKzAxMDAKQEAgLTExNCw4ICsx
MTQsNyBAQCBpbnQgbnN2bV92Y3B1X2hvc3RyZXN0b3JlKHN0cnVjdCB2Y3B1ICp2CiBpbnQg
bnN2bV92Y3B1X3ZtcnVuKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq
cmVncyk7CiBpbnQgbnN2bV92Y3B1X3ZtZXhpdF9pbmplY3Qoc3RydWN0IHZjcHUgKnYsIHN0
cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgIHVpbnQ2NF90IGV4aXRjb2RlKTsKLWlu
dCBuc3ZtX3ZjcHVfdm1leGl0X3RyYXAoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB0
cmFwbnIsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IGVycmNvZGUsIHVuc2lnbmVkIGxv
bmcgY3IyKTsKK2ludCBuc3ZtX3ZjcHVfdm1leGl0X3RyYXAoc3RydWN0IHZjcHUgKnYsIHN0
cnVjdCBodm1fdHJhcCAqdHJhcCk7CiB1aW50NjRfdCBuc3ZtX3ZjcHVfZ3Vlc3RjcjMoc3Ry
dWN0IHZjcHUgKnYpOwogdWludDY0X3QgbnN2bV92Y3B1X2hvc3RjcjMoc3RydWN0IHZjcHUg
KnYpOwogdWludDMyX3QgbnN2bV92Y3B1X2FzaWQoc3RydWN0IHZjcHUgKnYpOwpkaWZmIC1y
IDUzZTA1NzFmOTRlNCB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92Y3B1LmgKLS0tIGEveGVu
L2luY2x1ZGUvYXNtLXg4Ni9odm0vdmNwdS5oCUZyaSBNYXkgMjUgMDg6MjE6MjUgMjAxMiAr
MDEwMAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92Y3B1LmgJRnJpIE1heSAyNSAw
OTo0NTowMCAyMDEyICswMTAwCkBAIC0xNjQsMTAgKzE2NCw5IEBAIHN0cnVjdCBodm1fdmNw
dSB7CiAgICAgLyogQ2FsbGJhY2sgaW50byB4ODZfZW11bGF0ZSB3aGVuIGVtdWxhdGluZyBG
UFUvTU1YL1hNTSBpbnN0cnVjdGlvbnMuICovCiAgICAgdm9pZCAoKmZwdV9leGNlcHRpb25f
Y2FsbGJhY2spKHZvaWQgKiwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKik7CiAgICAgdm9pZCAq
ZnB1X2V4Y2VwdGlvbl9jYWxsYmFja19hcmc7Ci0gICAgLyogUGVuZGluZyBody9zdyBpbnRl
cnJ1cHQgKi8KLSAgICBpbnQgICAgICAgICAgIGluamVjdF90cmFwOyAgICAgICAvKiAtMSBm
b3Igbm90aGluZyB0byBpbmplY3QgKi8KLSAgICBpbnQgICAgICAgICAgIGluamVjdF9lcnJv
cl9jb2RlOwotICAgIHVuc2lnbmVkIGxvbmcgaW5qZWN0X2NyMjsKKworICAgIC8qIFBlbmRp
bmcgaHcvc3cgaW50ZXJydXB0ICgudmVjdG9yID0gLTEgbWVhbnMgbm90aGluZyBwZW5kaW5n
KS4gKi8KKyAgICBzdHJ1Y3QgaHZtX3RyYXAgICAgIGluamVjdF90cmFwOwogCiAgICAgc3Ry
dWN0IHZpcmlkaWFuX3ZjcHUgdmlyaWRpYW47CiB9OwpkaWZmIC1yIDUzZTA1NzFmOTRlNCB4
ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKLS0tIGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9odm0vdm14L3ZteC5oCUZyaSBNYXkgMjUgMDg6MjE6MjUgMjAxMiArMDEwMAorKysg
Yi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgJRnJpIE1heSAyNSAwOTo0NTow
MCAyMDEyICswMTAwCkBAIC0zODcsNyArMzg3LDYgQEAgc3RhdGljIGlubGluZSBpbnQgX192
bXhvbih1NjQgYWRkcikKICAgICByZXR1cm4gcmM7CiB9CiAKLXZvaWQgdm14X2luamVjdF9o
d19leGNlcHRpb24oaW50IHRyYXAsIGludCBlcnJvcl9jb2RlKTsKIHZvaWQgdm14X2luamVj
dF9leHRpbnQoaW50IHRyYXApOwogdm9pZCB2bXhfaW5qZWN0X25taSh2b2lkKTsKIAo=
--B_3420784386_192024370
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--B_3420784386_192024370--




From xen-devel-bounces@lists.xen.org Fri May 25 08:53:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 08:53:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqGp-0001Fr-M1; Fri, 25 May 2012 08:53:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SXqGn-0001Fm-8S
	for xen-devel@lists.xen.org; Fri, 25 May 2012 08:53:13 +0000
Received: from [85.158.139.83:44447] by server-6.bemta-5.messagelabs.com id
	8F/DB-31790-8784FBF4; Fri, 25 May 2012 08:53:12 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337935991!22967574!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20051 invoked from network); 25 May 2012 08:53:11 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 08:53:11 -0000
Received: by eaak12 with SMTP id k12so162325eaa.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 01:53:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type;
	bh=dx8fA7oA4VyXU5l2BSBahafb1IHmU+n4WAU09VC0Yns=;
	b=SvUrbQg6IG/0rCSpm4yhuXcFNRHMD4/8e6S8/SKSoqN/pyMBW8klmmwMPPRJIiTQTl
	fIQlOq+setJnWDKXLRNJ4ujlqfF1WxDuZaFf2EQ2i3GHHRKioAKcBcatJ7pEgHwGXE9s
	FzhMeYA6UbxCN3190sj9AuNw90YxbKUhdv3F/NQr6LbbWDxtttUM4s6mpMwkpYpdbfwv
	TdfMyeWfH1K/IFrCUd5Ry9u1T4wLqU4KMdia3rmgWP6FZjg9rbLaXaAa9/igij95bPo6
	/F/zhVAuCe+sVQDMwg1jC5q/PWswkN2VSsFivUjmal/ssF32ZDMt2sx6+qOoCxcHQP6m
	R1/Q==
Received: by 10.14.100.142 with SMTP id z14mr495370eef.91.1337935990622;
	Fri, 25 May 2012 01:53:10 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id q53sm4727451eef.8.2012.05.25.01.53.06
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 01:53:09 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Fri, 25 May 2012 09:53:01 +0100
From: Keir Fraser <keir@xen.org>
To: Xudong Hao <xudong.hao@intel.com>,
	<JBeulich@suse.com>
Message-ID: <CBE506FF.40DAC%keir@xen.org>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: Ac06U8oKmdA/vxn7iUaPCY4Fi6toXw==
In-Reply-To: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
Mime-version: 1.0
Content-type: multipart/mixed;
	boundary="B_3420784386_192024370"
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, eddie.dong@intel.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3420784386_192024370
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit

On 24/05/2012 20:06, "Xudong Hao" <xudong.hao@intel.com> wrote:

> VMX exception: Pass the instruction length field down to exception emulation,
> by changing hypercall parameter and adding a parameter in fucntion
> hvm_inject_exception(), so that exception emulation can set correct
> instruction length.
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>

I don't like adding yet another parameter for all callers, especially as we
should also be passing down the event type (sw interrupt, hw exception, ...)
and that would bloat the parameter list further.

I attach a cleanup patch which packs everything into a new struct and
renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
wrappers around that function for existing callers, so that their parameter
lists actually *shrink*.

Let me know what you think. If it looks acceptable I can check it in and we
can build on top of this restructuring. The aim being to keep
hvm/vmx_inject_trap dumb, and push down the knowledge from the callers into
it.

 -- Keir


--B_3420784386_192024370
Content-type: application/octet-stream; name="00-inject-cleanup"
Content-disposition: attachment;
	filename="00-inject-cleanup"
Content-transfer-encoding: base64

ZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKLS0tIGEv
eGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICsw
MTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCUZyaSBNYXkgMjUgMDk6NDU6
MDAgMjAxMiArMDEwMApAQCAtMzI2LDcgKzMyNiw3IEBAIHN0YXRpYyBpbnQgaHZtZW11bF9s
aW5lYXJfdG9fcGh5cygKICAgICB7CiAgICAgICAgIGlmICggcGZlYyA9PSBQRkVDX3BhZ2Vf
cGFnZWQgfHwgcGZlYyA9PSBQRkVDX3BhZ2Vfc2hhcmVkICkKICAgICAgICAgICAgIHJldHVy
biBYODZFTVVMX1JFVFJZOwotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX3Bh
Z2VfZmF1bHQsIHBmZWMsIGFkZHIpOworICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQo
cGZlYywgYWRkcik7CiAgICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKICAgICB9
CiAKQEAgLTM0OSw3ICszNDksNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfbGluZWFyX3RvX3Bo
eXMoCiAgICAgICAgICAgICAgICAgQVNTRVJUKCFyZXZlcnNlKTsKICAgICAgICAgICAgICAg
ICBpZiAoIG5wZm4gIT0gSU5WQUxJRF9HRk4gKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7Ci0gICAgICAgICAgICAgICAgaHZtX2luamVjdF9l
eGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0LCBwZmVjLCBhZGRyICYgUEFHRV9NQVNLKTsKKyAg
ICAgICAgICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQocGZlYywgYWRkciAmIFBBR0Vf
TUFTSyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgKnJlcHMgPSBkb25lOwpkaWZmIC1yIDUzZTA1NzFm
OTRlNCB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZt
LmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9o
dm0vaHZtLmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAwCkBAIC0zNDcsMTIgKzM0
NywxMCBAQCB2b2lkIGh2bV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgfQogCiAg
ICAgLyogSW5qZWN0IHBlbmRpbmcgaHcvc3cgdHJhcCAqLwotICAgIGlmICh2LT5hcmNoLmh2
bV92Y3B1LmluamVjdF90cmFwICE9IC0xKSAKKyAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUu
aW5qZWN0X3RyYXAudmVjdG9yICE9IC0xICkgCiAgICAgewotICAgICAgICBodm1faW5qZWN0
X2V4Y2VwdGlvbih2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfZXJyb3JfY29kZSwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0
X2NyMik7Ci0gICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X3RyYXAgPSAtMTsKKyAg
ICAgICAgaHZtX2luamVjdF90cmFwKCZ2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwKTsK
KyAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcC52ZWN0b3IgPSAtMTsKICAg
ICB9CiB9CiAKQEAgLTEwNDcsNyArMTA0NSw3IEBAIGludCBodm1fdmNwdV9pbml0aWFsaXNl
KHN0cnVjdCB2Y3B1ICp2KQogICAgIHNwaW5fbG9ja19pbml0KCZ2LT5hcmNoLmh2bV92Y3B1
LnRtX2xvY2spOwogICAgIElOSVRfTElTVF9IRUFEKCZ2LT5hcmNoLmh2bV92Y3B1LnRtX2xp
c3QpOwogCi0gICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcCA9IC0xOworICAgIHYt
PmFyY2guaHZtX3ZjcHUuaW5qZWN0X3RyYXAudmVjdG9yID0gLTE7CiAKICNpZmRlZiBDT05G
SUdfQ09NUEFUCiAgICAgcmMgPSBzZXR1cF9jb21wYXRfYXJnX3hsYXQodik7CkBAIC0xMTk0
LDE4ICsxMTkyLDE5IEBAIHZvaWQgaHZtX3RyaXBsZV9mYXVsdCh2b2lkKQogICAgIGRvbWFp
bl9zaHV0ZG93bih2LT5kb21haW4sIFNIVVRET1dOX3JlYm9vdCk7CiB9CiAKLXZvaWQgaHZt
X2luamVjdF9leGNlcHRpb24odW5zaWduZWQgaW50IHRyYXBuciwgaW50IGVycmNvZGUsIHVu
c2lnbmVkIGxvbmcgY3IyKQordm9pZCBodm1faW5qZWN0X3RyYXAoc3RydWN0IGh2bV90cmFw
ICp0cmFwKQogewogICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKIAogICAgIGlm
ICggbmVzdGVkaHZtX2VuYWJsZWQoY3Vyci0+ZG9tYWluKSAmJgogICAgICAgICAgIW5lc3Rl
ZGh2bV92bXN3aXRjaF9pbl9wcm9ncmVzcyhjdXJyKSAmJgogICAgICAgICAgbmVzdGVkaHZt
X3ZjcHVfaW5fZ3Vlc3Rtb2RlKGN1cnIpICYmCi0gICAgICAgICBuaHZtX3ZtY3hfZ3Vlc3Rf
aW50ZXJjZXB0c190cmFwKGN1cnIsIHRyYXBuciwgZXJyY29kZSkgKQorICAgICAgICAgbmh2
bV92bWN4X2d1ZXN0X2ludGVyY2VwdHNfdHJhcCgKKyAgICAgICAgICAgICBjdXJyLCB0cmFw
LT52ZWN0b3IsIHRyYXAtPmVycm9yX2NvZGUpICkKICAgICB7CiAgICAgICAgIGVudW0gbmVz
dGVkaHZtX3ZtZXhpdHMgbnNyZXQ7CiAKLSAgICAgICAgbnNyZXQgPSBuaHZtX3ZjcHVfdm1l
eGl0X3RyYXAoY3VyciwgdHJhcG5yLCBlcnJjb2RlLCBjcjIpOworICAgICAgICBuc3JldCA9
IG5odm1fdmNwdV92bWV4aXRfdHJhcChjdXJyLCB0cmFwKTsKIAogICAgICAgICBzd2l0Y2gg
KCBuc3JldCApCiAgICAgICAgIHsKQEAgLTEyMjEsNyArMTIyMCwyNiBAQCB2b2lkIGh2bV9p
bmplY3RfZXhjZXB0aW9uKHVuc2lnbmVkIGludCB0CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBodm1fZnVuY3MuaW5qZWN0X2V4Y2VwdGlvbih0cmFwbnIsIGVycmNvZGUsIGNyMik7Cisg
ICAgaHZtX2Z1bmNzLmluamVjdF90cmFwKHRyYXApOworfQorCit2b2lkIGh2bV9pbmplY3Rf
aHdfZXhjZXB0aW9uKHVuc2lnbmVkIGludCB0cmFwbnIsIGludCBlcnJjb2RlKQoreworICAg
IHN0cnVjdCBodm1fdHJhcCB0cmFwID0geworICAgICAgICAudmVjdG9yID0gdHJhcG5yLAor
ICAgICAgICAudHlwZSA9IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OLAorICAgICAgICAu
ZXJyb3JfY29kZSA9IGVycmNvZGUgfTsKKyAgICBodm1faW5qZWN0X3RyYXAoJnRyYXApOwor
fQorCit2b2lkIGh2bV9pbmplY3RfcGFnZV9mYXVsdChpbnQgZXJyY29kZSwgdW5zaWduZWQg
bG9uZyBjcjIpCit7CisgICAgc3RydWN0IGh2bV90cmFwIHRyYXAgPSB7CisgICAgICAgIC52
ZWN0b3IgPSBUUkFQX3BhZ2VfZmF1bHQsCisgICAgICAgIC50eXBlID0gWDg2X0VWRU5UVFlQ
RV9IV19FWENFUFRJT04sCisgICAgICAgIC5lcnJvcl9jb2RlID0gZXJyY29kZSwKKyAgICAg
ICAgLmNyMiA9IGNyMiB9OworICAgIGh2bV9pbmplY3RfdHJhcCgmdHJhcCk7CiB9CiAKIGlu
dCBodm1faGFwX25lc3RlZF9wYWdlX2ZhdWx0KHVuc2lnbmVkIGxvbmcgZ3BhLApAQCAtMTI3
MCw3ICsxMjg4LDcgQEAgaW50IGh2bV9oYXBfbmVzdGVkX3BhZ2VfZmF1bHQodW5zaWduZWQg
bAogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICBjYXNlIE5FU1RFREhWTV9QQUdF
RkFVTFRfTU1JTzoKICAgICAgICAgICAgIGlmICggIWhhbmRsZV9tbWlvKCkgKQotICAgICAg
ICAgICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOwor
ICAgICAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQs
IDApOwogICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KICAgICB9CkBAIC0xMzM3
LDcgKzEzNTUsNyBAQCBpbnQgaHZtX2hhcF9uZXN0ZWRfcGFnZV9mYXVsdCh1bnNpZ25lZCBs
CiAgICAgewogICAgICAgICBwdXRfZ2ZuKHAybS0+ZG9tYWluLCBnZm4pOwogICAgICAgICBp
ZiAoICFoYW5kbGVfbW1pbygpICkKLSAgICAgICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9u
KFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAgICAgICAgICAgaHZtX2luamVjdF9od19leGNl
cHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgICAgIHJjID0gMTsKICAgICAgICAgZ290
byBvdXQ7CiAgICAgfQpAQCAtMTM4MCw3ICsxMzk4LDcgQEAgaW50IGh2bV9oYXBfbmVzdGVk
X3BhZ2VfZmF1bHQodW5zaWduZWQgbAogICAgIHsKICAgICAgICAgZ2RwcmludGsoWEVOTE9H
X1dBUk5JTkcsCiAgICAgICAgICAgICAgICAgICJ0cnlpbmcgdG8gd3JpdGUgdG8gcmVhZC1v
bmx5IGdyYW50IG1hcHBpbmdcbiIpOwotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24o
VFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgICAgIHJjID0gMTsKICAgICAgICAgZ290byBvdXRf
cHV0X2dmbjsKICAgICB9CkBAIC0xNDQxLDcgKzE0NTksNyBAQCBpbnQgaHZtX2hhbmRsZV94
c2V0YnYodTY0IG5ld19idikKIAogICAgIHJldHVybiAwOwogZXJyOgotICAgIGh2bV9pbmpl
Y3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAgIGh2bV9pbmplY3RfaHdf
ZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgIHJldHVybiAtMTsKIH0KIApAQCAt
MTQ1Nyw3ICsxNDc1LDcgQEAgaW50IGh2bV9zZXRfZWZlcih1aW50NjRfdCB2YWx1ZSkKICAg
ICB7CiAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLCAiVHJ5aW5nIHRvIHNldCBy
ZXNlcnZlZCBiaXQgaW4gIgogICAgICAgICAgICAgICAgICAiRUZFUjogMHglIlBSSXg2NCJc
biIsIHZhbHVlKTsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9ncF9mYXVs
dCwgMCwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1
bHQsIDApOwogICAgICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiAgICAgfQogCkBA
IC0xNDY2LDcgKzE0ODQsNyBAQCBpbnQgaHZtX3NldF9lZmVyKHVpbnQ2NF90IHZhbHVlKQog
ICAgIHsKICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsCiAgICAgICAgICAgICAg
ICAgICJUcnlpbmcgdG8gY2hhbmdlIEVGRVIuTE1FIHdpdGggcGFnaW5nIGVuYWJsZWRcbiIp
OwotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsK
KyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAg
ICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKICAgICB9CiAKQEAgLTE3MjIsNyAr
MTc0MCw3IEBAIGludCBodm1fc2V0X2NyMCh1bnNpZ25lZCBsb25nIHZhbHVlKQogICAgIHJl
dHVybiBYODZFTVVMX09LQVk7CiAKICBncGY6Ci0gICAgaHZtX2luamVjdF9leGNlcHRpb24o
VFJBUF9ncF9mYXVsdCwgMCwgMCk7CisgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJB
UF9ncF9mYXVsdCwgMCk7CiAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwogfQogCkBA
IC0xODA4LDcgKzE4MjYsNyBAQCBpbnQgaHZtX3NldF9jcjQodW5zaWduZWQgbG9uZyB2YWx1
ZSkKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogCiAgZ3BmOgotICAgIGh2bV9pbmplY3Rf
ZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAgIGh2bV9pbmplY3RfaHdfZXhj
ZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElP
TjsKIH0KIApAQCAtMjEwNCw3ICsyMTIyLDcgQEAgc3RhdGljIGludCBodm1fbG9hZF9zZWdt
ZW50X3NlbGVjdG9yKAogIHVubWFwX2FuZF9mYWlsOgogICAgIGh2bV91bm1hcF9lbnRyeShw
ZGVzYyk7CiAgZmFpbDoKLSAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihmYXVsdF90eXBlLCBz
ZWwgJiAweGZmZmMsIDApOworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKGZhdWx0X3R5
cGUsIHNlbCAmIDB4ZmZmYyk7CiAgaHZtX21hcF9mYWlsOgogICAgIHJldHVybiAxOwogfQpA
QCAtMjEzNyw5ICsyMTU1LDkgQEAgdm9pZCBodm1fdGFza19zd2l0Y2goCiAKICAgICBpZiAo
ICgodHNzX3NlbCAmIDB4ZmZmOCkgKyA3KSA+IGdkdC5saW1pdCApCiAgICAgewotICAgICAg
ICBodm1faW5qZWN0X2V4Y2VwdGlvbigodGFza3N3aXRjaF9yZWFzb24gPT0gVFNXX2lyZXQp
ID8KKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oKHRhc2tzd2l0Y2hfcmVhc29u
ID09IFRTV19pcmV0KSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQVBfaW52
YWxpZF90c3MgOiBUUkFQX2dwX2ZhdWx0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0c3Nfc2VsICYgMHhmZmY4LCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dHNzX3NlbCAmIDB4ZmZmOCk7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIApAQCAtMjE2
NCwyMSArMjE4MiwyMSBAQCB2b2lkIGh2bV90YXNrX3N3aXRjaCgKIAogICAgIGlmICggIXRy
LmF0dHIuZmllbGRzLnAgKQogICAgIHsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24o
VFJBUF9ub19zZWdtZW50LCB0c3Nfc2VsICYgMHhmZmY4LCAwKTsKKyAgICAgICAgaHZtX2lu
amVjdF9od19leGNlcHRpb24oVFJBUF9ub19zZWdtZW50LCB0c3Nfc2VsICYgMHhmZmY4KTsK
ICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCiAgICAgaWYgKCB0ci5hdHRyLmZpZWxkcy50
eXBlICE9ICgodGFza3N3aXRjaF9yZWFzb24gPT0gVFNXX2lyZXQpID8gMHhiIDogMHg5KSAp
CiAgICAgewotICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbigKKyAgICAgICAgaHZtX2lu
amVjdF9od19leGNlcHRpb24oCiAgICAgICAgICAgICAodGFza3N3aXRjaF9yZWFzb24gPT0g
VFNXX2lyZXQpID8gVFJBUF9pbnZhbGlkX3RzcyA6IFRSQVBfZ3BfZmF1bHQsCi0gICAgICAg
ICAgICB0c3Nfc2VsICYgMHhmZmY4LCAwKTsKKyAgICAgICAgICAgIHRzc19zZWwgJiAweGZm
ZjgpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKICAgICBpZiAoIHRyLmxpbWl0IDwg
KHNpemVvZih0c3MpLTEpICkKICAgICB7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9u
KFRSQVBfaW52YWxpZF90c3MsIHRzc19zZWwgJiAweGZmZjgsIDApOworICAgICAgICBodm1f
aW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfdHNzLCB0c3Nfc2VsICYgMHhmZmY4
KTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCkBAIC0yMjgzLDcgKzIzMDEsNyBAQCB2
b2lkIGh2bV90YXNrX3N3aXRjaCgKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBpZiAoICh0
c3MudHJhY2UgJiAxKSAmJiAhZXhuX3JhaXNlZCApCi0gICAgICAgIGh2bV9pbmplY3RfZXhj
ZXB0aW9uKFRSQVBfZGVidWcsIHRzc19zZWwgJiAweGZmZjgsIDApOworICAgICAgICBodm1f
aW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCB0c3Nfc2VsICYgMHhmZmY4KTsKIAog
ICAgIHRyLmF0dHIuZmllbGRzLnR5cGUgPSAweGI7IC8qIGJ1c3kgMzItYml0IHRzcyAqLwog
ICAgIGh2bV9zZXRfc2VnbWVudF9yZWdpc3Rlcih2LCB4ODZfc2VnX3RyLCAmdHIpOwpAQCAt
MjM2Miw3ICsyMzgwLDcgQEAgc3RhdGljIGVudW0gaHZtX2NvcHlfcmVzdWx0IF9faHZtX2Nv
cHkoCiAgICAgICAgICAgICAgICAgaWYgKCBwZmVjID09IFBGRUNfcGFnZV9zaGFyZWQgKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gSFZNQ09QWV9nZm5fc2hhcmVkOwogICAgICAg
ICAgICAgICAgIGlmICggZmxhZ3MgJiBIVk1DT1BZX2ZhdWx0ICkKLSAgICAgICAgICAgICAg
ICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0LCBwZmVjLCBhZGRy
KTsKKyAgICAgICAgICAgICAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmZWMsIGFk
ZHIpOwogICAgICAgICAgICAgICAgIHJldHVybiBIVk1DT1BZX2JhZF9ndmFfdG9fZ2ZuOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0yODQ5LDcgKzI4NjcsNyBAQCBpbnQgaHZt
X21zcl9yZWFkX2ludGVyY2VwdCh1bnNpZ25lZCBpbnQgCiAgICAgcmV0dXJuIHJldDsKIAog
IGdwX2ZhdWx0OgotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAs
IDApOworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwog
ICAgIHJldCA9IFg4NkVNVUxfRVhDRVBUSU9OOwogICAgICptc3JfY29udGVudCA9IC0xdWxs
OwogICAgIGdvdG8gb3V0OwpAQCAtMjk2Miw3ICsyOTgwLDcgQEAgaW50IGh2bV9tc3Jfd3Jp
dGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludAogICAgIHJldHVybiByZXQ7CiAKIGdwX2ZhdWx0
OgotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDApOworICAg
IGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgIHJldHVy
biBYODZFTVVMX0VYQ0VQVElPTjsKIH0KIApAQCAtNDI2NywxMyArNDI4NSwxMyBAQCBsb25n
IGRvX2h2bV9vcCh1bnNpZ25lZCBsb25nIG9wLCBYRU5fR1VFCiAgICAgICAgIGlmICggdHIu
dmNwdWlkID49IGQtPm1heF92Y3B1cyB8fCAodiA9IGQtPnZjcHVbdHIudmNwdWlkXSkgPT0g
TlVMTCApCiAgICAgICAgICAgICBnb3RvIHBhcmFtX2ZhaWw4OwogICAgICAgICAKLSAgICAg
ICAgaWYgKCB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwICE9IC0xICkKKyAgICAgICAg
aWYgKCB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFwLnZlY3RvciAhPSAtMSApCiAgICAg
ICAgICAgICByYyA9IC1FQlVTWTsKICAgICAgICAgZWxzZSAKICAgICAgICAgewotICAgICAg
ICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcCAgICAgICA9IHRyLnRyYXA7Ci0g
ICAgICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF9lcnJvcl9jb2RlID0gdHIuZXJy
b3JfY29kZTsKLSAgICAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2NyMiAgICAg
ICAgPSB0ci5jcjI7CisgICAgICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90cmFw
LnZlY3RvciA9IHRyLnRyYXA7CisgICAgICAgICAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVj
dF90cmFwLmVycm9yX2NvZGUgPSB0ci5lcnJvcl9jb2RlOworICAgICAgICAgICAgdi0+YXJj
aC5odm1fdmNwdS5pbmplY3RfdHJhcC5jcjIgPSB0ci5jcjI7CiAgICAgICAgIH0KIAogICAg
IHBhcmFtX2ZhaWw4OgpAQCAtNDQzMSwxMSArNDQ0OSw5IEBAIGludCBuaHZtX3ZjcHVfdm1l
eGl0KHN0cnVjdCB2Y3B1ICp2LCBzdHIKICAgICByZXR1cm4gLUVPUE5PVFNVUFA7CiB9CiAK
LWludAotbmh2bV92Y3B1X3ZtZXhpdF90cmFwKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBp
bnQgdHJhcG5yLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXJyY29kZSwgdW5zaWdu
ZWQgbG9uZyBjcjIpCitpbnQgbmh2bV92Y3B1X3ZtZXhpdF90cmFwKHN0cnVjdCB2Y3B1ICp2
LCBzdHJ1Y3QgaHZtX3RyYXAgKnRyYXApCiB7Ci0gICAgcmV0dXJuIGh2bV9mdW5jcy5uaHZt
X3ZjcHVfdm1leGl0X3RyYXAodiwgdHJhcG5yLCBlcnJjb2RlLCBjcjIpOworICAgIHJldHVy
biBodm1fZnVuY3Mubmh2bV92Y3B1X3ZtZXhpdF90cmFwKHYsIHRyYXApOwogfQogCiB1aW50
NjRfdCBuaHZtX3ZjcHVfZ3Vlc3RjcjMoc3RydWN0IHZjcHUgKnYpCmRpZmYgLXIgNTNlMDU3
MWY5NGU0IHhlbi9hcmNoL3g4Ni9odm0vaW8uYwotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2lv
LmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9o
dm0vaW8uYwlGcmkgTWF5IDI1IDA5OjQ1OjAwIDIwMTIgKzAxMDAKQEAgLTIwMCw3ICsyMDAs
NyBAQCBpbnQgaGFuZGxlX21taW8odm9pZCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2Fz
ZSBYODZFTVVMX0VYQ0VQVElPTjoKICAgICAgICAgaWYgKCBjdHh0LmV4bl9wZW5kaW5nICkK
LSAgICAgICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKGN0eHQuZXhuX3ZlY3RvciwgY3R4
dC5leG5fZXJyb3JfY29kZSwgMCk7CisgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2Vw
dGlvbihjdHh0LmV4bl92ZWN0b3IsIGN0eHQuZXhuX2Vycm9yX2NvZGUpOwogICAgICAgICBi
cmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKZGlmZiAtciA1M2UwNTcxZjk0
ZTQgeGVuL2FyY2gveDg2L2h2bS9zdm0vZW11bGF0ZS5jCi0tLSBhL3hlbi9hcmNoL3g4Ni9o
dm0vc3ZtL2VtdWxhdGUuYwlGcmkgTWF5IDI1IDA4OjIxOjI1IDIwMTIgKzAxMDAKKysrIGIv
eGVuL2FyY2gveDg2L2h2bS9zdm0vZW11bGF0ZS5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAx
MiArMDEwMApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHN0YXRpYyBpbnQgZmV0Y2goc3RydWN0IHZj
cHUgKnYsIHU4ICpidWYKICAgICAgICAgLyogTm90IE9LOiBmZXRjaGVzIGZyb20gbm9uLVJB
TSBwYWdlcyBhcmUgbm90IHN1cHBvcnRhYmxlLiAqLwogICAgICAgICBnZHByaW50ayhYRU5M
T0dfV0FSTklORywgIkJhZCBpbnN0cnVjdGlvbiBmZXRjaCBhdCAlI2x4ICglI2x4KVxuIiwK
ICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpIGd1ZXN0X2NwdV91c2VyX3JlZ3Mo
KS0+ZWlwLCBhZGRyKTsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9ncF9m
YXVsdCwgMCwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3Bf
ZmF1bHQsIDApOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgcmV0dXJuIDE7CkBA
IC0yMTYsNyArMjE2LDcgQEAgaW50IF9fZ2V0X2luc3RydWN0aW9uX2xlbmd0aF9mcm9tX2xp
c3QocwogICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLAogICAgICAgICAgICAgICIlczog
TWlzbWF0Y2ggYmV0d2VlbiBleHBlY3RlZCBhbmQgYWN0dWFsIGluc3RydWN0aW9uIGJ5dGVz
OiAiCiAgICAgICAgICAgICAgImVpcCA9ICVseFxuIiwgIF9fZnVuY19fLCAodW5zaWduZWQg
bG9uZyl2bWNiLT5yaXApOwotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1
bHQsIDAsIDApOworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQs
IDApOwogICAgIHJldHVybiAwOwogCiAgZG9uZToKZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVu
L2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9z
dm0vbmVzdGVkc3ZtLmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hl
bi9hcmNoL3g4Ni9odm0vc3ZtL25lc3RlZHN2bS5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAx
MiArMDEwMApAQCAtNzM1LDcgKzczNSw3IEBAIG5zdm1fdmNwdV92bXJ1bihzdHJ1Y3QgdmNw
dSAqdiwgc3RydWN0IGMKICAgICBkZWZhdWx0OgogICAgICAgICBnZHByaW50ayhYRU5MT0df
RVJSLAogICAgICAgICAgICAgIm5zdm1fdmNwdV92bWVudHJ5IGZhaWxlZCwgaW5qZWN0aW5n
ICNVRFxuIik7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9v
cCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSwgMCk7CisgICAgICAgIGh2bV9pbmplY3Rf
aHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09E
RSk7CiAgICAgICAgIC8qIE11c3QgaGFwcGVuIGFmdGVyIGh2bV9pbmplY3RfZXhjZXB0aW9u
IG9yIGl0IGRvZXNuJ3Qgd29yayByaWdodC4gKi8KICAgICAgICAgbnYtPm52X3Ztc3dpdGNo
X2luX3Byb2dyZXNzID0gMDsKICAgICAgICAgcmV0dXJuIDE7CkBAIC03OTYsMTIgKzc5Niwx
MiBAQCBuc3ZtX3ZjcHVfdm1leGl0X2luamVjdChzdHJ1Y3QgdmNwdSAqdiwgCiB9CiAKIGlu
dAotbnN2bV92Y3B1X3ZtZXhpdF90cmFwKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQg
dHJhcG5yLAotICAgICAgICAgICAgICAgICAgICAgIGludCBlcnJjb2RlLCB1bnNpZ25lZCBs
b25nIGNyMikKK25zdm1fdmNwdV92bWV4aXRfdHJhcChzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0
IGh2bV90cmFwICp0cmFwKQogewogICAgIEFTU0VSVCh2Y3B1X25lc3RlZGh2bSh2KS5udl92
dm1jeCAhPSBOVUxMKTsKIAotICAgIG5lc3RlZHN2bV92bWV4aXRfZGVmZXIodiwgVk1FWElU
X0VYQ0VQVElPTl9ERSArIHRyYXBuciwgZXJyY29kZSwgY3IyKTsKKyAgICBuZXN0ZWRzdm1f
dm1leGl0X2RlZmVyKHYsIFZNRVhJVF9FWENFUFRJT05fREUgKyB0cmFwLT52ZWN0b3IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFwLT5lcnJvcl9jb2RlLCB0cmFwLT5jcjIp
OwogICAgIHJldHVybiBORVNURURIVk1fVk1FWElUX0RPTkU7CiB9CiAKQEAgLTExNzYsNyAr
MTE3Niw3IEBAIGVudW0gaHZtX2ludGJsayBuc3ZtX2ludHJfYmxvY2tlZChzdHJ1Y3QKICAg
ICB9CiAKICAgICBpZiAoIG52LT5udl92bWV4aXRfcGVuZGluZyApIHsKLSAgICAgICAgLyog
aHZtX2luamVjdF9leGNlcHRpb24oKSBtdXN0IGhhdmUgcnVuIGJlZm9yZS4KKyAgICAgICAg
LyogaHZtX2luamVjdF9od19leGNlcHRpb24oKSBtdXN0IGhhdmUgcnVuIGJlZm9yZS4KICAg
ICAgICAgICogZXhjZXB0aW9ucyBoYXZlIGhpZ2hlciBwcmlvcml0eSB0aGFuIGludGVycnVw
dHMuCiAgICAgICAgICAqLwogICAgICAgICByZXR1cm4gaHZtX2ludGJsa19yZmxhZ3NfaWU7
CkBAIC0xNTA5LDcgKzE1MDksNyBAQCB2b2lkIHN2bV92bWV4aXRfZG9fc3RnaShzdHJ1Y3Qg
Y3B1X3VzZXJfCiAgICAgdW5zaWduZWQgaW50IGluc3RfbGVuOwogCiAgICAgaWYgKCAhbmVz
dGVkaHZtX2VuYWJsZWQodi0+ZG9tYWluKSApIHsKLSAgICAgICAgaHZtX2luamVjdF9leGNl
cHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFLCAwKTsK
KyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1f
REVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
MTUyOSw3ICsxNTI5LDcgQEAgdm9pZCBzdm1fdm1leGl0X2RvX2NsZ2koc3RydWN0IGNwdV91
c2VyXwogICAgIHZpbnRyX3QgaW50cjsKIAogICAgIGlmICggIW5lc3RlZGh2bV9lbmFibGVk
KHYtPmRvbWFpbikgKSB7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfaW52
YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSwgMCk7CisgICAgICAgIGh2bV9p
bmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJS
T1JfQ09ERSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtciA1M2UwNTcxZjk0
ZTQgeGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9z
dm0vc3ZtLmMJRnJpIE1heSAyNSAwODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNo
L3g4Ni9odm0vc3ZtL3N2bS5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAt
MTA5LDcgKzEwOSw3IEBAIHZvaWQgX191cGRhdGVfZ3Vlc3RfZWlwKHN0cnVjdCBjcHVfdXNl
cl8KICAgICBjdXJyLT5hcmNoLmh2bV9zdm0udm1jYi0+aW50ZXJydXB0X3NoYWRvdyA9IDA7
CiAKICAgICBpZiAoIHJlZ3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfVEYgKQotICAgICAgICBo
dm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCBIVk1fREVMSVZFUl9OT19FUlJPUl9D
T0RFLCAwKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1Zywg
SFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CiB9CiAKIHN0YXRpYyB2b2lkIHN2bV9jcHVf
ZG93bih2b2lkKQpAQCAtMTA2NiwxNCArMTA2NiwxNCBAQCBzdGF0aWMgdm9pZCBzdm1fdmNw
dV9kZXN0cm95KHN0cnVjdCB2Y3B1CiAgICAgcGFzc2l2ZV9kb21haW5fZGVzdHJveSh2KTsK
IH0KIAotc3RhdGljIHZvaWQgc3ZtX2luamVjdF9leGNlcHRpb24oCi0gICAgdW5zaWduZWQg
aW50IHRyYXBuciwgaW50IGVycmNvZGUsIHVuc2lnbmVkIGxvbmcgY3IyKQorc3RhdGljIHZv
aWQgc3ZtX2luamVjdF90cmFwKHN0cnVjdCBodm1fdHJhcCAqdHJhcCkKIHsKICAgICBzdHJ1
Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IHZtY2Jfc3RydWN0ICp2bWNi
ID0gY3Vyci0+YXJjaC5odm1fc3ZtLnZtY2I7CiAgICAgZXZlbnRpbmpfdCBldmVudCA9IHZt
Y2ItPmV2ZW50aW5qOworICAgIHN0cnVjdCBodm1fdHJhcCBfdHJhcCA9ICp0cmFwOwogCi0g
ICAgc3dpdGNoICggdHJhcG5yICkKKyAgICBzd2l0Y2ggKCBfdHJhcC52ZWN0b3IgKQogICAg
IHsKICAgICBjYXNlIFRSQVBfZGVidWc6CiAgICAgICAgIGlmICggZ3Vlc3RfY3B1X3VzZXJf
cmVncygpLT5lZmxhZ3MgJiBYODZfRUZMQUdTX1RGICkKQEAgLTEwODEsNiArMTA4MSw5IEBA
IHN0YXRpYyB2b2lkIHN2bV9pbmplY3RfZXhjZXB0aW9uKAogICAgICAgICAgICAgX19yZXN0
b3JlX2RlYnVnX3JlZ2lzdGVycyhjdXJyKTsKICAgICAgICAgICAgIHZtY2Jfc2V0X2RyNih2
bWNiLCB2bWNiX2dldF9kcjYodm1jYikgfCAweDQwMDApOwogICAgICAgICB9CisgICAgICAg
IGlmICggY3B1X2hhc19tb25pdG9yX3RyYXBfZmxhZyApCisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCiAgICAgY2FzZSBUUkFQX2ludDM6CiAgICAg
ICAgIGlmICggY3Vyci0+ZG9tYWluLT5kZWJ1Z2dlcl9hdHRhY2hlZCApCiAgICAgICAgIHsK
QEAgLTEwOTMsMjkgKzEwOTYsMzAgQEAgc3RhdGljIHZvaWQgc3ZtX2luamVjdF9leGNlcHRp
b24oCiAgICAgaWYgKCB1bmxpa2VseShldmVudC5maWVsZHMudikgJiYKICAgICAgICAgIChl
dmVudC5maWVsZHMudHlwZSA9PSBYODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTikgKQogICAg
IHsKLSAgICAgICAgdHJhcG5yID0gaHZtX2NvbWJpbmVfaHdfZXhjZXB0aW9ucyhldmVudC5m
aWVsZHMudmVjdG9yLCB0cmFwbnIpOwotICAgICAgICBpZiAoIHRyYXBuciA9PSBUUkFQX2Rv
dWJsZV9mYXVsdCApCi0gICAgICAgICAgICBlcnJjb2RlID0gMDsKKyAgICAgICAgX3RyYXAu
dmVjdG9yID0gaHZtX2NvbWJpbmVfaHdfZXhjZXB0aW9ucygKKyAgICAgICAgICAgIGV2ZW50
LmZpZWxkcy52ZWN0b3IsIF90cmFwLnZlY3Rvcik7CisgICAgICAgIGlmICggX3RyYXAudmVj
dG9yID09IFRSQVBfZG91YmxlX2ZhdWx0ICkKKyAgICAgICAgICAgIF90cmFwLmVycm9yX2Nv
ZGUgPSAwOwogICAgIH0KIAogICAgIGV2ZW50LmJ5dGVzID0gMDsKICAgICBldmVudC5maWVs
ZHMudiA9IDE7CiAgICAgZXZlbnQuZmllbGRzLnR5cGUgPSBYODZfRVZFTlRUWVBFX0hXX0VY
Q0VQVElPTjsKLSAgICBldmVudC5maWVsZHMudmVjdG9yID0gdHJhcG5yOwotICAgIGV2ZW50
LmZpZWxkcy5ldiA9IChlcnJjb2RlICE9IEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwot
ICAgIGV2ZW50LmZpZWxkcy5lcnJvcmNvZGUgPSBlcnJjb2RlOworICAgIGV2ZW50LmZpZWxk
cy52ZWN0b3IgPSBfdHJhcC52ZWN0b3I7CisgICAgZXZlbnQuZmllbGRzLmV2ID0gKF90cmFw
LmVycm9yX2NvZGUgIT0gSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgZXZlbnQu
ZmllbGRzLmVycm9yY29kZSA9IF90cmFwLmVycm9yX2NvZGU7CiAKICAgICB2bWNiLT5ldmVu
dGluaiA9IGV2ZW50OwogCi0gICAgaWYgKCB0cmFwbnIgPT0gVFJBUF9wYWdlX2ZhdWx0ICkK
KyAgICBpZiAoIF90cmFwLnZlY3RvciA9PSBUUkFQX3BhZ2VfZmF1bHQgKQogICAgIHsKLSAg
ICAgICAgY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclsyXSA9IGNyMjsKLSAgICAgICAg
dm1jYl9zZXRfY3IyKHZtY2IsIGNyMik7Ci0gICAgICAgIEhWTVRSQUNFX0xPTkdfMkQoUEZf
SU5KRUNULCBlcnJjb2RlLCBUUkNfUEFSX0xPTkcoY3IyKSk7CisgICAgICAgIGN1cnItPmFy
Y2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMl0gPSBfdHJhcC5jcjI7CisgICAgICAgIHZtY2Jfc2V0
X2NyMih2bWNiLCBfdHJhcC5jcjIpOworICAgICAgICBIVk1UUkFDRV9MT05HXzJEKFBGX0lO
SkVDVCwgX3RyYXAuZXJyb3JfY29kZSwgVFJDX1BBUl9MT05HKF90cmFwLmNyMikpOwogICAg
IH0KICAgICBlbHNlCiAgICAgewotICAgICAgICBIVk1UUkFDRV8yRChJTkpfRVhDLCB0cmFw
bnIsIGVycmNvZGUpOworICAgICAgICBIVk1UUkFDRV8yRChJTkpfRVhDLCBfdHJhcC52ZWN0
b3IsIF90cmFwLmVycm9yX2NvZGUpOwogICAgIH0KIH0KIApAQCAtMTM2MSw3ICsxMzY1LDcg
QEAgc3RhdGljIHZvaWQgc3ZtX2ZwdV9kaXJ0eV9pbnRlcmNlcHQodm9pZAogICAgIHsKICAg
ICAgICAvKiBDaGVjayBpZiBsMSBndWVzdCBtdXN0IG1ha2UgRlBVIHJlYWR5IGZvciB0aGUg
bDIgZ3Vlc3QgKi8KICAgICAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMF0g
JiBYODZfQ1IwX1RTICkKLSAgICAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9u
b19kZXZpY2UsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUsIDApOworICAgICAgICAgICBo
dm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX25vX2RldmljZSwgSFZNX0RFTElWRVJfTk9f
RVJST1JfQ09ERSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICB2bWNiX3NldF9jcjAobjF2
bWNiLCB2bWNiX2dldF9jcjAobjF2bWNiKSAmIH5YODZfQ1IwX1RTKTsKICAgICAgICByZXR1
cm47CkBAIC0xNTc5LDcgKzE1ODMsNyBAQCBzdGF0aWMgaW50IHN2bV9tc3JfcmVhZF9pbnRl
cmNlcHQodW5zaWduCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIAogIGdwZjoKLSAgICBo
dm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAgICBodm1faW5q
ZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1V
TF9FWENFUFRJT047CiB9CiAKQEAgLTE3MDgsNyArMTcxMiw3IEBAIHN0YXRpYyBpbnQgc3Zt
X21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWcKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwog
CiAgZ3BmOgotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDAsIDAp
OworICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAg
IHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKIH0KIApAQCAtMTc4NCwxMyArMTc4OCwxMyBA
QCBzdm1fdm1leGl0X2RvX3ZtcnVuKHN0cnVjdCBjcHVfdXNlcl9yZWdzCiB7CiAgICAgaWYg
KCFuZXN0ZWRodm1fZW5hYmxlZCh2LT5kb21haW4pKSB7CiAgICAgICAgIGdkcHJpbnRrKFhF
TkxPR19FUlIsICJWTVJVTjogbmVzdGVkaHZtIGRpc2FibGVkLCBpbmplY3RpbmcgI1VEXG4i
KTsKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1f
REVMSVZFUl9OT19FUlJPUl9DT0RFLCAwKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNl
cHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmICghbmVzdGVkc3ZtX3ZtY2JfbWFwKHYs
IHZtY2JhZGRyKSkgewogICAgICAgICBnZHByaW50ayhYRU5MT0dfRVJSLCAiVk1SVU46IG1h
cHBpbmcgdm1jYiBmYWlsZWQsIGluamVjdGluZyAjVURcbiIpOwotICAgICAgICBodm1faW5q
ZWN0X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NP
REUsIDApOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRf
b3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xODMwLDcgKzE4MzQsNyBAQCBzdm1fdm1leGl0X2RvX3ZtbG9hZChzdHJ1Y3Qg
dm1jYl9zdHJ1Y3QgCiAgICAgcmV0dXJuOwogCiAgaW5qZWN0OgotICAgIGh2bV9pbmplY3Rf
ZXhjZXB0aW9uKHJldCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSwgMCk7CisgICAgaHZt
X2luamVjdF9od19leGNlcHRpb24ocmV0LCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsK
ICAgICByZXR1cm47CiB9CiAKQEAgLTE4NjQsNyArMTg2OCw3IEBAIHN2bV92bWV4aXRfZG9f
dm1zYXZlKHN0cnVjdCB2bWNiX3N0cnVjdCAKICAgICByZXR1cm47CiAKICBpbmplY3Q6Ci0g
ICAgaHZtX2luamVjdF9leGNlcHRpb24ocmV0LCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RF
LCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihyZXQsIEhWTV9ERUxJVkVSX05P
X0VSUk9SX0NPREUpOwogICAgIHJldHVybjsKIH0KIApAQCAtMTg4MCwxMSArMTg4NCwxMSBA
QCBzdGF0aWMgdm9pZCBzdm1fdm1leGl0X3VkX2ludGVyY2VwdChzdHJ1CiAgICAgc3dpdGNo
ICggcmMgKQogICAgIHsKICAgICBjYXNlIFg4NkVNVUxfVU5IQU5ETEVBQkxFOgotICAgICAg
ICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05P
X0VSUk9SX0NPREUsIDApOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQ
X2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIFg4NkVNVUxfRVhDRVBUSU9OOgogICAgICAgICBpZiAoIGN0eHQuZXhu
X3BlbmRpbmcgKQotICAgICAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24oY3R4dC5leG5f
dmVjdG9yLCBjdHh0LmV4bl9lcnJvcl9jb2RlLCAwKTsKKyAgICAgICAgICAgIGh2bV9pbmpl
Y3RfaHdfZXhjZXB0aW9uKGN0eHQuZXhuX3ZlY3RvciwgY3R4dC5leG5fZXJyb3JfY29kZSk7
CiAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGh2
bV9lbXVsYXRlX3dyaXRlYmFjaygmY3R4dCk7CkBAIC0xOTk4LDcgKzIwMDIsNyBAQCBzdGF0
aWMgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSBfX3JlYWRfCiAgICAgLnNldF9ndWVzdF9w
YXQgICAgICAgID0gc3ZtX3NldF9ndWVzdF9wYXQsCiAgICAgLmdldF9ndWVzdF9wYXQgICAg
ICAgID0gc3ZtX2dldF9ndWVzdF9wYXQsCiAgICAgLnNldF90c2Nfb2Zmc2V0ICAgICAgID0g
c3ZtX3NldF90c2Nfb2Zmc2V0LAotICAgIC5pbmplY3RfZXhjZXB0aW9uICAgICA9IHN2bV9p
bmplY3RfZXhjZXB0aW9uLAorICAgIC5pbmplY3RfdHJhcCAgICAgICAgICA9IHN2bV9pbmpl
Y3RfdHJhcCwKICAgICAuaW5pdF9oeXBlcmNhbGxfcGFnZSAgPSBzdm1faW5pdF9oeXBlcmNh
bGxfcGFnZSwKICAgICAuZXZlbnRfcGVuZGluZyAgICAgICAgPSBzdm1fZXZlbnRfcGVuZGlu
ZywKICAgICAuZG9fcG11X2ludGVycnVwdCAgICAgPSBzdm1fZG9fcG11X2ludGVycnVwdCwK
QEAgLTIyMTIsNyArMjIxNiw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBj
cHVfdXNlcl8KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgaHZt
X2luamVjdF9leGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0LCByZWdzLT5lcnJvcl9jb2RlLCB2
YSk7CisgICAgICAgIGh2bV9pbmplY3RfcGFnZV9mYXVsdChyZWdzLT5lcnJvcl9jb2RlLCB2
YSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMjI4NSw3ICsyMjg5LDcgQEAgdm9p
ZCBzdm1fdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyXwogICAgICAgICAgICAgICAg
IF9fdXBkYXRlX2d1ZXN0X2VpcChyZWdzLCB2bWNiLT5leGl0aW5mbzIgLSB2bWNiLT5yaXAp
OwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCAhaGFuZGxlX21taW8oKSApCi0gICAg
ICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAg
ICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwog
ICAgICAgICBicmVhazsKIAogICAgIGNhc2UgVk1FWElUX0NSMF9SRUFEIC4uLiBWTUVYSVRf
Q1IxNV9SRUFEOgpAQCAtMjI5Myw3ICsyMjk3LDcgQEAgdm9pZCBzdm1fdm1leGl0X2hhbmRs
ZXIoc3RydWN0IGNwdV91c2VyXwogICAgICAgICBpZiAoIGNwdV9oYXNfc3ZtX2RlY29kZSAm
JiAodm1jYi0+ZXhpdGluZm8xICYgKDFVTEwgPDwgNjMpKSApCiAgICAgICAgICAgICBzdm1f
dm1leGl0X2RvX2NyX2FjY2Vzcyh2bWNiLCByZWdzKTsKICAgICAgICAgZWxzZSBpZiAoICFo
YW5kbGVfbW1pbygpICkgCi0gICAgICAgICAgICBodm1faW5qZWN0X2V4Y2VwdGlvbihUUkFQ
X2dwX2ZhdWx0LCAwLCAwKTsKKyAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9u
KFRSQVBfZ3BfZmF1bHQsIDApOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgVk1FWElU
X0lOVkxQRzoKQEAgLTIzMDMsNyArMjMwNyw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVy
KHN0cnVjdCBjcHVfdXNlcl8KICAgICAgICAgICAgIF9fdXBkYXRlX2d1ZXN0X2VpcChyZWdz
LCB2bWNiLT5uZXh0cmlwIC0gdm1jYi0+cmlwKTsKICAgICAgICAgfQogICAgICAgICBlbHNl
IGlmICggIWhhbmRsZV9tbWlvKCkgKQotICAgICAgICAgICAgaHZtX2luamVjdF9leGNlcHRp
b24oVFJBUF9ncF9mYXVsdCwgMCwgMCk7CisgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4
Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl
IFZNRVhJVF9JTlZMUEdBOgpAQCAtMjM0OSw3ICsyMzUzLDcgQEAgdm9pZCBzdm1fdm1leGl0
X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyXwogCiAgICAgY2FzZSBWTUVYSVRfTU9OSVRPUjoK
ICAgICBjYXNlIFZNRVhJVF9NV0FJVDoKLSAgICAgICAgaHZtX2luamVjdF9leGNlcHRpb24o
VFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFLCAwKTsKKyAgICAg
ICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZF
Ul9OT19FUlJPUl9DT0RFKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFZNRVhJVF9W
TVJVTjoKQEAgLTIzNjgsNyArMjM3Miw3IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0
cnVjdCBjcHVfdXNlcl8KICAgICAgICAgc3ZtX3ZtZXhpdF9kb19jbGdpKHJlZ3MsIHYpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFZNRVhJVF9TS0lOSVQ6Ci0gICAgICAgIGh2bV9p
bmplY3RfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1Jf
Q09ERSwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxp
ZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CiAgICAgICAgIGJyZWFrOwogCiAg
ICAgY2FzZSBWTUVYSVRfWFNFVEJWOgpkaWZmIC1yIDUzZTA1NzFmOTRlNCB4ZW4vYXJjaC94
ODYvaHZtL3ZteC9pbnRyLmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5jCUZy
aSBNYXkgMjUgMDg6MjE6MjUgMjAxMiArMDEwMAorKysgYi94ZW4vYXJjaC94ODYvaHZtL3Zt
eC9pbnRyLmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAwCkBAIC0yNTEsNyArMjUx
LDcgQEAgdm9pZCB2bXhfaW50cl9hc3Npc3Qodm9pZCkKICAgICB9CiAgICAgZWxzZSBpZiAo
IGludGFjay5zb3VyY2UgPT0gaHZtX2ludHNyY19tY2UgKQogICAgIHsKLSAgICAgICAgdm14
X2luamVjdF9od19leGNlcHRpb24oVFJBUF9tYWNoaW5lX2NoZWNrLCBIVk1fREVMSVZFUl9O
T19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9t
YWNoaW5lX2NoZWNrLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICB9CiAgICAg
ZWxzZQogICAgIHsKZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2FyY2gveDg2L2h2bS92bXgv
dm14LmMKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMJRnJpIE1heSAyNSAwODoy
MToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCUZyaSBN
YXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAtMjY4LDcgKzI2OCw3IEBAIGxvbmdfbW9k
ZV9kb19tc3Jfd3JpdGUodW5zaWduZWQgaW50IG1zciwKIAogIHVuY2Fub25pY2FsX2FkZHJl
c3M6CiAgICAgSFZNX0RCR19MT0coREJHX0xFVkVMXzAsICJOb3QgY2FubyBhZGRyZXNzIG9m
IG1zciB3cml0ZSAleCIsIG1zcik7Ci0gICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJB
UF9ncF9mYXVsdCwgMCk7CisgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9m
YXVsdCwgMCk7CiAgICAgcmV0dXJuIEhORExfZXhjZXB0aW9uX3JhaXNlZDsKIH0KIApAQCAt
MTMxMCwxMCArMTMxMCw5IEBAIHZvaWQgbnZteF9lbnF1ZXVlX24yX2V4Y2VwdGlvbnMoc3Ry
dWN0IHYKICAgICAgICAgICAgICAgICAgbnZteC0+aW50ci5pbnRyX2luZm8sIG52bXgtPmlu
dHIuZXJyb3JfY29kZSk7CiB9CiAKLXN0YXRpYyBpbnQgbnZteF92bWV4aXRfZXhjZXB0aW9u
cyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHRyYXBuciwKLSAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZXJyY29kZSwgdW5zaWduZWQgbG9uZyBjcjIpCitzdGF0aWMgaW50IG52
bXhfdm1leGl0X3RyYXAoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBodm1fdHJhcCAqdHJhcCkK
IHsKLSAgICBudm14X2VucXVldWVfbjJfZXhjZXB0aW9ucyh2LCB0cmFwbnIsIGVycmNvZGUp
OworICAgIG52bXhfZW5xdWV1ZV9uMl9leGNlcHRpb25zKHYsIHRyYXAtPnZlY3RvciwgdHJh
cC0+ZXJyb3JfY29kZSk7CiAgICAgcmV0dXJuIE5FU1RFREhWTV9WTUVYSVRfRE9ORTsKIH0K
IApAQCAtMTM0NCw3OCArMTM0Myw2IEBAIHN0YXRpYyB2b2lkIF9fdm14X2luamVjdF9leGNl
cHRpb24oaW50IHQKICAgICAgICAgY3Vyci0+YXJjaC5odm1fdm14LnZteF9lbXVsYXRlID0g
MTsKIH0KIAotdm9pZCB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihpbnQgdHJhcCwgaW50IGVy
cm9yX2NvZGUpCi17Ci0gICAgdW5zaWduZWQgbG9uZyBpbnRyX2luZm87Ci0gICAgc3RydWN0
IHZjcHUgKmN1cnIgPSBjdXJyZW50OwotCi0gICAgaW50IHR5cGUgPSBYODZfRVZFTlRUWVBF
X0hXX0VYQ0VQVElPTjsKLQotICAgIGlmICggbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vlc3Rtb2Rl
KGN1cnIpICkKLSAgICAgICAgaW50cl9pbmZvID0gdmNwdV8yX252bXgoY3VycikuaW50ci5p
bnRyX2luZm87Ci0gICAgZWxzZQotICAgICAgICBpbnRyX2luZm8gPSBfX3ZtcmVhZChWTV9F
TlRSWV9JTlRSX0lORk8pOwotCi0gICAgc3dpdGNoICggdHJhcCApCi0gICAgewotICAgIGNh
c2UgVFJBUF9kZWJ1ZzoKLSAgICAgICAgdHlwZSA9IFg4Nl9FVkVOVFRZUEVfU1dfRVhDRVBU
SU9OOwotICAgICAgICBpZiAoIGd1ZXN0X2NwdV91c2VyX3JlZ3MoKS0+ZWZsYWdzICYgWDg2
X0VGTEFHU19URiApCi0gICAgICAgIHsKLSAgICAgICAgICAgIF9fcmVzdG9yZV9kZWJ1Z19y
ZWdpc3RlcnMoY3Vycik7Ci0gICAgICAgICAgICB3cml0ZV9kZWJ1Z3JlZyg2LCByZWFkX2Rl
YnVncmVnKDYpIHwgMHg0MDAwKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIGNwdV9oYXNf
bW9uaXRvcl90cmFwX2ZsYWcgKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8qIGZh
bGwgdGhyb3VnaCAqLwotCi0gICAgY2FzZSBUUkFQX2ludDM6Ci0gICAgICAgIGlmICggY3Vy
ci0+ZG9tYWluLT5kZWJ1Z2dlcl9hdHRhY2hlZCApCi0gICAgICAgIHsKLSAgICAgICAgICAg
IC8qIERlYnVnL0ludDM6IFRyYXAgdG8gZGVidWdnZXIuICovCi0gICAgICAgICAgICBkb21h
aW5fcGF1c2VfZm9yX2RlYnVnZ2VyKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICB0eXBlID0gWDg2X0VWRU5UVFlQRV9TV19FWENFUFRJT047Ci0gICAg
ICAgIF9fdm13cml0ZShWTV9FTlRSWV9JTlNUUlVDVElPTl9MRU4sIDEpOyAvKiBpbnQzICov
Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgaWYgKCB0cmFwID4g
VFJBUF9sYXN0X3Jlc2VydmVkICkKLSAgICAgICAgewotICAgICAgICAgICAgdHlwZSA9IFg4
Nl9FVkVOVFRZUEVfU1dfRVhDRVBUSU9OOwotICAgICAgICAgICAgX192bXdyaXRlKFZNX0VO
VFJZX0lOU1RSVUNUSU9OX0xFTiwgMik7IC8qIGludCBpbW04ICovCi0gICAgICAgIH0KLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgaWYgKCB1bmxpa2VseShpbnRyX2luZm8gJiBJ
TlRSX0lORk9fVkFMSURfTUFTSykgJiYKLSAgICAgICAgICgoKGludHJfaW5mbyA+PiA4KSAm
IDcpID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OKSApCi0gICAgewotICAgICAgICB0
cmFwID0gaHZtX2NvbWJpbmVfaHdfZXhjZXB0aW9ucygodWludDhfdClpbnRyX2luZm8sIHRy
YXApOwotICAgICAgICBpZiAoIHRyYXAgPT0gVFJBUF9kb3VibGVfZmF1bHQgKQotICAgICAg
ICAgICAgZXJyb3JfY29kZSA9IDA7Ci0gICAgfQotCi0gICAgaWYgKCBuZXN0ZWRodm1fdmNw
dV9pbl9ndWVzdG1vZGUoY3VycikgJiYKLSAgICAgICAgIG52bXhfaW50ZXJjZXB0c19leGNl
cHRpb24oY3VyciwgdHJhcCwgZXJyb3JfY29kZSkgKQotICAgIHsKLSAgICAgICAgbnZteF9l
bnF1ZXVlX24yX2V4Y2VwdGlvbnMgKGN1cnIsIAotICAgICAgICAgICAgSU5UUl9JTkZPX1ZB
TElEX01BU0sgfCAodHlwZTw8OCkgfCB0cmFwLAotICAgICAgICAgICAgZXJyb3JfY29kZSk7
IAotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGVsc2UKLSAgICAgICAgX192bXhfaW5q
ZWN0X2V4Y2VwdGlvbih0cmFwLCB0eXBlLCBlcnJvcl9jb2RlKTsKLQotICAgIGlmICggdHJh
cCA9PSBUUkFQX3BhZ2VfZmF1bHQgKQotICAgICAgICBIVk1UUkFDRV9MT05HXzJEKFBGX0lO
SkVDVCwgZXJyb3JfY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBUUkNfUEFSX0xP
TkcoY3VycmVudC0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclsyXSkpOwotICAgIGVsc2UKLSAg
ICAgICAgSFZNVFJBQ0VfMkQoSU5KX0VYQywgdHJhcCwgZXJyb3JfY29kZSk7Ci19Ci0KIHZv
aWQgdm14X2luamVjdF9leHRpbnQoaW50IHRyYXApCiB7CiAgICAgc3RydWN0IHZjcHUgKnYg
PSBjdXJyZW50OwpAQCAtMTQ1NCwxMyArMTM4MSw2NyBAQCB2b2lkIHZteF9pbmplY3Rfbm1p
KHZvaWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVk1fREVMSVZFUl9OT19FUlJP
Ul9DT0RFKTsKIH0KIAotc3RhdGljIHZvaWQgdm14X2luamVjdF9leGNlcHRpb24oCi0gICAg
dW5zaWduZWQgaW50IHRyYXBuciwgaW50IGVycmNvZGUsIHVuc2lnbmVkIGxvbmcgY3IyKQor
c3RhdGljIHZvaWQgdm14X2luamVjdF90cmFwKHN0cnVjdCBodm1fdHJhcCAqdHJhcCkKIHsK
LSAgICBpZiAoIHRyYXBuciA9PSBUUkFQX3BhZ2VfZmF1bHQgKQotICAgICAgICBjdXJyZW50
LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2NyWzJdID0gY3IyOwotCi0gICAgdm14X2luamVjdF9o
d19leGNlcHRpb24odHJhcG5yLCBlcnJjb2RlKTsKKyAgICB1bnNpZ25lZCBsb25nIGludHJf
aW5mbzsKKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CisgICAgc3RydWN0IGh2
bV90cmFwIF90cmFwID0gKnRyYXA7CisKKyAgICBpZiAoIChfdHJhcC52ZWN0b3IgPT0gVFJB
UF9wYWdlX2ZhdWx0KSAmJgorICAgICAgICAgKF90cmFwLnR5cGUgPT0gWDg2X0VWRU5UVFlQ
RV9IV19FWENFUFRJT04pICkKKyAgICAgICAgY3VycmVudC0+YXJjaC5odm1fdmNwdS5ndWVz
dF9jclsyXSA9IF90cmFwLmNyMjsKKworICAgIGlmICggbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vl
c3Rtb2RlKGN1cnIpICkKKyAgICAgICAgaW50cl9pbmZvID0gdmNwdV8yX252bXgoY3Vyciku
aW50ci5pbnRyX2luZm87CisgICAgZWxzZQorICAgICAgICBpbnRyX2luZm8gPSBfX3ZtcmVh
ZChWTV9FTlRSWV9JTlRSX0lORk8pOworCisgICAgc3dpdGNoICggX3RyYXAudmVjdG9yICkK
KyAgICB7CisgICAgY2FzZSBUUkFQX2RlYnVnOgorICAgICAgICBpZiAoIGd1ZXN0X2NwdV91
c2VyX3JlZ3MoKS0+ZWZsYWdzICYgWDg2X0VGTEFHU19URiApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIF9fcmVzdG9yZV9kZWJ1Z19yZWdpc3RlcnMoY3Vycik7CisgICAgICAgICAgICB3
cml0ZV9kZWJ1Z3JlZyg2LCByZWFkX2RlYnVncmVnKDYpIHwgMHg0MDAwKTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoIGNwdV9oYXNfbW9uaXRvcl90cmFwX2ZsYWcgKQorICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2UgVFJBUF9p
bnQzOgorICAgICAgICBpZiAoIGN1cnItPmRvbWFpbi0+ZGVidWdnZXJfYXR0YWNoZWQgKQor
ICAgICAgICB7CisgICAgICAgICAgICAvKiBEZWJ1Zy9JbnQzOiBUcmFwIHRvIGRlYnVnZ2Vy
LiAqLworICAgICAgICAgICAgZG9tYWluX3BhdXNlX2Zvcl9kZWJ1Z2dlcigpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCB1bmxpa2VseShp
bnRyX2luZm8gJiBJTlRSX0lORk9fVkFMSURfTUFTSykgJiYKKyAgICAgICAgICgoKGludHJf
aW5mbyA+PiA4KSAmIDcpID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OKSApCisgICAg
eworICAgICAgICBfdHJhcC52ZWN0b3IgPSBodm1fY29tYmluZV9od19leGNlcHRpb25zKAor
ICAgICAgICAgICAgKHVpbnQ4X3QpaW50cl9pbmZvLCBfdHJhcC52ZWN0b3IpOworICAgICAg
ICBpZiAoIF90cmFwLnZlY3RvciA9PSBUUkFQX2RvdWJsZV9mYXVsdCApCisgICAgICAgICAg
ICBfdHJhcC5lcnJvcl9jb2RlID0gMDsKKyAgICB9CisKKyAgICBpZiAoIG5lc3RlZGh2bV92
Y3B1X2luX2d1ZXN0bW9kZShjdXJyKSAmJgorICAgICAgICAgbnZteF9pbnRlcmNlcHRzX2V4
Y2VwdGlvbihjdXJyLCBfdHJhcC52ZWN0b3IsIF90cmFwLmVycm9yX2NvZGUpICkKKyAgICB7
CisgICAgICAgIG52bXhfZW5xdWV1ZV9uMl9leGNlcHRpb25zIChjdXJyLCAKKyAgICAgICAg
ICAgIElOVFJfSU5GT19WQUxJRF9NQVNLIHwgKF90cmFwLnR5cGU8PDgpIHwgX3RyYXAudmVj
dG9yLAorICAgICAgICAgICAgX3RyYXAuZXJyb3JfY29kZSk7IAorICAgICAgICByZXR1cm47
CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgX192bXhfaW5qZWN0X2V4Y2VwdGlvbihfdHJh
cC52ZWN0b3IsIF90cmFwLnR5cGUsIF90cmFwLmVycm9yX2NvZGUpOworCisgICAgaWYgKCAo
X3RyYXAudmVjdG9yID09IFRSQVBfcGFnZV9mYXVsdCkgJiYKKyAgICAgICAgIChfdHJhcC50
eXBlID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OKSApCisgICAgICAgIEhWTVRSQUNF
X0xPTkdfMkQoUEZfSU5KRUNULCBfdHJhcC5lcnJvcl9jb2RlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIFRSQ19QQVJfTE9ORyhjdXJyZW50LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2Ny
WzJdKSk7CisgICAgZWxzZQorICAgICAgICBIVk1UUkFDRV8yRChJTkpfRVhDLCBfdHJhcC52
ZWN0b3IsIF90cmFwLmVycm9yX2NvZGUpOwogfQogCiBzdGF0aWMgaW50IHZteF9ldmVudF9w
ZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KQpAQCAtMTUzMiw3ICsxNTEzLDcgQEAgc3RhdGljIHN0
cnVjdCBodm1fZnVuY3Rpb25fdGFibGUgX19yZWFkXwogICAgIC5zZXRfZ3Vlc3RfcGF0ICAg
ICAgICA9IHZteF9zZXRfZ3Vlc3RfcGF0LAogICAgIC5nZXRfZ3Vlc3RfcGF0ICAgICAgICA9
IHZteF9nZXRfZ3Vlc3RfcGF0LAogICAgIC5zZXRfdHNjX29mZnNldCAgICAgICA9IHZteF9z
ZXRfdHNjX29mZnNldCwKLSAgICAuaW5qZWN0X2V4Y2VwdGlvbiAgICAgPSB2bXhfaW5qZWN0
X2V4Y2VwdGlvbiwKKyAgICAuaW5qZWN0X3RyYXAgICAgICAgICAgPSB2bXhfaW5qZWN0X3Ry
YXAsCiAgICAgLmluaXRfaHlwZXJjYWxsX3BhZ2UgID0gdm14X2luaXRfaHlwZXJjYWxsX3Bh
Z2UsCiAgICAgLmV2ZW50X3BlbmRpbmcgICAgICAgID0gdm14X2V2ZW50X3BlbmRpbmcsCiAg
ICAgLmRvX3BtdV9pbnRlcnJ1cHQgICAgID0gdm14X2RvX3BtdV9pbnRlcnJ1cHQsCkBAIC0x
NTU0LDcgKzE1MzUsNyBAQCBzdGF0aWMgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSBfX3Jl
YWRfCiAgICAgLm5odm1fdmNwdV9ob3N0Y3IzICAgID0gbnZteF92Y3B1X2hvc3RjcjMsCiAg
ICAgLm5odm1fdmNwdV9hc2lkICAgICAgID0gbnZteF92Y3B1X2FzaWQsCiAgICAgLm5odm1f
dm1jeF9ndWVzdF9pbnRlcmNlcHRzX3RyYXAgPSBudm14X2ludGVyY2VwdHNfZXhjZXB0aW9u
LAotICAgIC5uaHZtX3ZjcHVfdm1leGl0X3RyYXAgPSBudm14X3ZtZXhpdF9leGNlcHRpb25z
LAorICAgIC5uaHZtX3ZjcHVfdm1leGl0X3RyYXAgPSBudm14X3ZtZXhpdF90cmFwLAogICAg
IC5uaHZtX2ludHJfYmxvY2tlZCAgICA9IG52bXhfaW50cl9ibG9ja2VkCiB9OwogCkBAIC0x
NjE4LDcgKzE1OTksNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfZ3Vlc3RfZWlwKHZvaWQpCiAg
ICAgfQogCiAgICAgaWYgKCByZWdzLT5lZmxhZ3MgJiBYODZfRUZMQUdTX1RGICkKLSAgICAg
ICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgSFZNX0RFTElWRVJfTk9f
RVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVi
dWcsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwogfQogCiBzdGF0aWMgdm9pZCB2bXhf
ZnB1X2RpcnR5X2ludGVyY2VwdCh2b2lkKQpAQCAtMTkyMiw3ICsxOTAzLDcgQEAgZG9uZToK
ICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwogCiBncF9mYXVsdDoKLSAgICB2bXhfaW5qZWN0
X2h3X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4
Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJ
T047CiB9CiAKQEAgLTIwMzAsNyArMjAxMSw3IEBAIHN0YXRpYyBpbnQgdm14X21zcl93cml0
ZV9pbnRlcmNlcHQodW5zaWcKIAogICAgICAgICBpZiAoIChyYyA8IDApIHx8CiAgICAgICAg
ICAgICAgKHZteF9hZGRfaG9zdF9sb2FkX21zcihtc3IpIDwgMCkgKQotICAgICAgICAgICAg
dm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9tYWNoaW5lX2NoZWNrLCAwKTsKKyAgICAg
ICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfbWFjaGluZV9jaGVjaywgMCk7
CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgICAgX192bXdyaXRlKEdVRVNU
X0lBMzJfREVCVUdDVEwsIG1zcl9jb250ZW50KTsKQEAgLTIwNzMsNyArMjA1NCw3IEBAIHN0
YXRpYyBpbnQgdm14X21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWcKICAgICByZXR1cm4gWDg2
RU1VTF9PS0FZOwogCiBncF9mYXVsdDoKLSAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dw
X2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiB9CiAKQEAgLTIy
MjIsMTEgKzIyMDMsMTEgQEAgc3RhdGljIHZvaWQgdm14X3ZtZXhpdF91ZF9pbnRlcmNlcHQo
c3RydQogICAgIHN3aXRjaCAoIHJjICkKICAgICB7CiAgICAgY2FzZSBYODZFTVVMX1VOSEFO
RExFQUJMRToKLSAgICAgICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlk
X29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9o
d19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RF
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYODZFTVVMX0VYQ0VQVElPTjoKICAgICAg
ICAgaWYgKCBjdHh0LmV4bl9wZW5kaW5nICkKLSAgICAgICAgICAgIGh2bV9pbmplY3RfZXhj
ZXB0aW9uKGN0eHQuZXhuX3ZlY3RvciwgY3R4dC5leG5fZXJyb3JfY29kZSwgMCk7CisgICAg
ICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihjdHh0LmV4bl92ZWN0b3IsIGN0eHQu
ZXhuX2Vycm9yX2NvZGUpOwogICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KICAgICBkZWZh
dWx0OgogICAgICAgICBodm1fZW11bGF0ZV93cml0ZWJhY2soJmN0eHQpOwpAQCAtMjQ0MCw3
ICsyNDIxLDEyIEBAIHZvaWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8K
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoIGhhbmRsZWQgPCAwICkg
CiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB2bXhfaW5qZWN0X2V4
Y2VwdGlvbihUUkFQX2ludDMsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUsIDApOworICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgaHZtX3RyYXAgdHJhcCA9IHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC52ZWN0b3IgPSBUUkFQX2ludDMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAudHlwZSA9IFg4Nl9FVkVOVFRZUEVfU1dfRVhDRVBUSU9OLAorICAgICAgICAgICAg
ICAgICAgICAgICAgLmVycm9yX2NvZGUgPSBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFCisg
ICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgIGh2bV9pbmplY3Rf
dHJhcCgmdHJhcCk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBlbHNlIGlmICggaGFuZGxlZCApCkBAIC0yNDc2LDgg
KzI0NjIsNyBAQCB2b2lkIHZteF92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfCiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHYt
PmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMl0gPSBleGl0X3F1YWxpZmljYXRpb247Ci0gICAg
ICAgICAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX3BhZ2VfZmF1bHQsIHJlZ3Mt
PmVycm9yX2NvZGUpOworICAgICAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHJlZ3Mt
PmVycm9yX2NvZGUsIGV4aXRfcXVhbGlmaWNhdGlvbik7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBUUkFQX25taToKICAgICAgICAgICAgIGlmICggKGludHJfaW5mbyAm
IElOVFJfSU5GT19JTlRSX1RZUEVfTUFTSykgIT0KQEAgLTI2NTgsNyArMjY0Myw3IEBAIHZv
aWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8KICAgICAgICAgICogYXMg
ZmFyIGFzIHZtZXhpdC4KICAgICAgICAgICovCiAgICAgICAgIFdBUk5fT04oZXhpdF9yZWFz
b24gPT0gRVhJVF9SRUFTT05fR0VUU0VDKTsKLSAgICAgICAgdm14X2luamVjdF9od19leGNl
cHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAg
ICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVM
SVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEVYSVRf
UkVBU09OX1RQUl9CRUxPV19USFJFU0hPTEQ6CkBAIC0yNjY2LDcgKzI2NTEsNyBAQCB2b2lk
IHZteF92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfCiAKICAgICBjYXNlIEVYSVRf
UkVBU09OX0FQSUNfQUNDRVNTOgogICAgICAgICBpZiAoICF2bXhfaGFuZGxlX2VvaV93cml0
ZSgpICYmICFoYW5kbGVfbW1pbygpICkKLSAgICAgICAgICAgIHZteF9pbmplY3RfaHdfZXhj
ZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOworICAgICAgICAgICAgaHZtX2luamVjdF9od19l
eGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz
ZSBFWElUX1JFQVNPTl9JT19JTlNUUlVDVElPTjoKQEAgLTI2NzUsNyArMjY2MCw3IEBAIHZv
aWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8KICAgICAgICAgewogICAg
ICAgICAgICAgLyogSU5TLCBPVVRTICovCiAgICAgICAgICAgICBpZiAoICFoYW5kbGVfbW1p
bygpICkKLSAgICAgICAgICAgICAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dw
X2ZhdWx0LCAwKTsKKyAgICAgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsK
ZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2FyY2gveDg2L2h2bS92bXgvdnBtdV9jb3JlMi5j
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZwbXVfY29yZTIuYwlGcmkgTWF5IDI1IDA4
OjIxOjI1IDIwMTIgKzAxMDAKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnBtdV9jb3Jl
Mi5jCUZyaSBNYXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAtNDIxLDcgKzQyMSw3IEBA
IHN0YXRpYyBpbnQgY29yZTJfdnBtdV9kb193cm1zcih1bnNpZ25lZCAKICAgICAgICAgICAg
ICAgICBpZiAoIHZwbXVfaXNfc2V0KHZwbXUsIFZQTVVfQ1BVX0hBU19CVFMpICkKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgZ2RwcmludGsoWEVO
TE9HX1dBUk5JTkcsICJEZWJ1ZyBTdG9yZSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgY3B1
XG4iKTsKLSAgICAgICAgICAgICAgICB2bXhfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dw
X2ZhdWx0LCAwKTsKKyAgICAgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpAQCAtNDM3LDcgKzQzNyw3IEBAIHN0YXRpYyBpbnQgY29yZTJf
dnBtdV9kb193cm1zcih1bnNpZ25lZCAKICAgICBjYXNlIE1TUl9DT1JFX1BFUkZfR0xPQkFM
X1NUQVRVUzoKICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0lORk8sICJDYW4gbm90IHdyaXRl
IHJlYWRvbmx5IE1TUjogIgogICAgICAgICAgICAgICAgICAiTVNSX1BFUkZfR0xPQkFMX1NU
QVRVUygweDM4RSkhXG4iKTsKLSAgICAgICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJB
UF9ncF9mYXVsdCwgMCk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBf
Z3BfZmF1bHQsIDApOwogICAgICAgICByZXR1cm4gMTsKICAgICBjYXNlIE1TUl9JQTMyX1BF
QlNfRU5BQkxFOgogICAgICAgICBpZiAoIG1zcl9jb250ZW50ICYgMSApCkBAIC00NTIsNyAr
NDUyLDcgQEAgc3RhdGljIGludCBjb3JlMl92cG11X2RvX3dybXNyKHVuc2lnbmVkIAogICAg
ICAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICJJbGxlZ2FsIGFkZHJlc3MgZm9yIElBMzJfRFNfQVJFQTogJSMiIFBSSXg2
NCAieFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBtc3JfY29udGVudCk7Ci0gICAg
ICAgICAgICAgICAgdm14X2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7
CisgICAgICAgICAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVs
dCwgMCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBjb3JlMl92cG11X2N4dC0+cG11X2VuYWJsZS0+ZHNfYXJlYV9lbmFibGUgPSBt
c3JfY29udGVudCA/IDEgOiAwOwpAQCAtNTQ0LDcgKzU0NCw3IEBAIHN0YXRpYyBpbnQgY29y
ZTJfdnBtdV9kb193cm1zcih1bnNpZ25lZCAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAgICAgICAgIGlmIChpbmplY3RfZ3ApCi0gICAgICAgICAgICB2bXhfaW5qZWN0X2h3
X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKKyAgICAgICAgICAgIGh2bV9pbmplY3Rf
aHdfZXhjZXB0aW9uKFRSQVBfZ3BfZmF1bHQsIDApOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICB3cm1zcmwobXNyLCBtc3JfY29udGVudCk7CiAgICAgfQpkaWZmIC1yIDUzZTA1NzFm
OTRlNCB4ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKLS0tIGEveGVuL2FyY2gveDg2L2h2
bS92bXgvdnZteC5jCUZyaSBNYXkgMjUgMDg6MjE6MjUgMjAxMiArMDEwMAorKysgYi94ZW4v
YXJjaC94ODYvaHZtL3ZteC92dm14LmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAw
CkBAIC0zMDQsMTIgKzMwNCwxMiBAQCB2bWV4aXQ6CiAgICAgCiBpbnZhbGlkX29wOgogICAg
IGdkcHJpbnRrKFhFTkxPR19FUlIsICJ2bXhfaW5zdF9jaGVja19wcml2aWxlZ2U6IGludmFs
aWRfb3BcbiIpOwotICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwg
MCwgMCk7CisgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBI
Vk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJ
T047CiAKIGdwX2ZhdWx0OgogICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ2bXhfaW5zdF9j
aGVja19wcml2aWxlZ2U6IGdwX2ZhdWx0XG4iKTsKLSAgICBodm1faW5qZWN0X2V4Y2VwdGlv
bihUUkFQX2dwX2ZhdWx0LCAwLCAwKTsKKyAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CiB9CiAK
QEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IGRlY29kZV92bXhfaW5zdChzdHJ1Y3Qg
Y3B1X3VzCiAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIAogZ3BfZmF1bHQ6Ci0gICAgaHZt
X2luamVjdF9leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCwgMCk7CisgICAgaHZtX2luamVj
dF9od19leGNlcHRpb24oVFJBUF9ncF9mYXVsdCwgMCk7CiAgICAgcmV0dXJuIFg4NkVNVUxf
RVhDRVBUSU9OOwogfQogCmRpZmYgLXIgNTNlMDU3MWY5NGU0IHhlbi9hcmNoL3g4Ni9tbS9z
aGFkb3cvY29tbW9uLmMKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwlG
cmkgTWF5IDI1IDA4OjIxOjI1IDIwMTIgKzAxMDAKKysrIGIveGVuL2FyY2gveDg2L21tL3No
YWRvdy9jb21tb24uYwlGcmkgTWF5IDI1IDA5OjQ1OjAwIDIwMTIgKzAxMDAKQEAgLTEzNSw3
ICsxMzUsNyBAQCBzdGF0aWMgaW50IGh2bV90cmFuc2xhdGVfbGluZWFyX2FkZHIoCiAKICAg
ICBpZiAoICFva2F5ICkKICAgICB7Ci0gICAgICAgIGh2bV9pbmplY3RfZXhjZXB0aW9uKFRS
QVBfZ3BfZmF1bHQsIDAsIDApOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU
UkFQX2dwX2ZhdWx0LCAwKTsKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwog
ICAgIH0KIApkaWZmIC1yIDUzZTA1NzFmOTRlNCB4ZW4vYXJjaC94ODYvbW0vc2hhZG93L211
bHRpLmMKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCUZyaSBNYXkgMjUg
MDg6MjE6MjUgMjAxMiArMDEwMAorKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRp
LmMJRnJpIE1heSAyNSAwOTo0NTowMCAyMDEyICswMTAwCkBAIC00ODI1LDcgKzQ4MjUsNyBA
QCBzdGF0aWMgbWZuX3QgZW11bGF0ZV9ndmFfdG9fbWZuKHN0cnVjdCB2CiAgICAgaWYgKCBn
Zm4gPT0gSU5WQUxJRF9HRk4gKSAKICAgICB7CiAgICAgICAgIGlmICggaXNfaHZtX3ZjcHUo
dikgKQotICAgICAgICAgICAgaHZtX2luamVj
dF9leGNlcHRpb24oVFJBUF9wYWdlX2ZhdWx0
LCBwZmVjLCB2YWRkcik7CisgICAgICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQocGZl
YywgdmFkZHIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBwcm9wYWdhdGVfcGFnZV9m
YXVsdCh2YWRkciwgcGZlYyk7CiAgICAgICAgIHJldHVybiBfbWZuKEJBRF9HVkFfVE9fR0ZO
KTsKZGlmZiAtciA1M2UwNTcxZjk0ZTQgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgK
LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgJRnJpIE1heSAyNSAwODoyMToy
NSAyMDEyICswMTAwCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCUZyaSBN
YXkgMjUgMDk6NDU6MDAgMjAxMiArMDEwMApAQCAtNzEsNiArNzEsMTMgQEAgZW51bSBodm1f
aW50YmxrIHsKICNkZWZpbmUgSFZNX0hBUF9TVVBFUlBBR0VfMk1CICAgMHgwMDAwMDAwMQog
I2RlZmluZSBIVk1fSEFQX1NVUEVSUEFHRV8xR0IgICAweDAwMDAwMDAyCiAKK3N0cnVjdCBo
dm1fdHJhcCB7CisgICAgaW50ICAgICAgICAgICB2ZWN0b3I7CisgICAgdW5zaWduZWQgaW50
ICB0eXBlOyAgICAgICAgIC8qIFg4Nl9FVkVOVFRZUEVfKiAqLworICAgIGludCAgICAgICAg
ICAgZXJyb3JfY29kZTsgICAvKiBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFIGlmIG4vYSAq
LworICAgIHVuc2lnbmVkIGxvbmcgY3IyOyAgICAgICAgICAvKiBPbmx5IGZvciBUUkFQX3Bh
Z2VfZmF1bHQgaC93IGV4Y2VwdGlvbiAqLworfTsKKwogLyoKICAqIFRoZSBoYXJkd2FyZSB2
aXJ0dWFsIG1hY2hpbmUgKEhWTSkgaW50ZXJmYWNlIGFic3RyYWN0cyBhd2F5IGZyb20gdGhl
CiAgKiB4ODYveDg2XzY0IENQVSB2aXJ0dWFsaXphdGlvbiBhc3Npc3Qgc3BlY2lmaWNzLiBD
dXJyZW50bHkgdGhpcyBpbnRlcmZhY2UKQEAgLTEyNCw4ICsxMzEsNyBAQCBzdHJ1Y3QgaHZt
X2Z1bmN0aW9uX3RhYmxlIHsKIAogICAgIHZvaWQgKCpzZXRfdHNjX29mZnNldCkoc3RydWN0
IHZjcHUgKnYsIHU2NCBvZmZzZXQpOwogCi0gICAgdm9pZCAoKmluamVjdF9leGNlcHRpb24p
KHVuc2lnbmVkIGludCB0cmFwbnIsIGludCBlcnJjb2RlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNyMik7CisgICAgdm9pZCAoKmluamVjdF90cmFw
KShzdHJ1Y3QgaHZtX3RyYXAgKnRyYXApOwogCiAgICAgdm9pZCAoKmluaXRfaHlwZXJjYWxs
X3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHZvaWQgKmh5cGVyY2FsbF9wYWdlKTsKIApAQCAt
MTYyLDEwICsxNjgsNyBAQCBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOwog
ICAgIGludCAoKm5odm1fdmNwdV92bWV4aXQpKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgY3B1
X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDY0X3QgZXhpdGNvZGUpOwotICAgIGludCAoKm5odm1fdmNwdV92bWV4aXRfdHJhcCkoc3Ry
dWN0IHZjcHUgKnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCB0cmFwbnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBlcnJj
b2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNy
Mik7CisgICAgaW50ICgqbmh2bV92Y3B1X3ZtZXhpdF90cmFwKShzdHJ1Y3QgdmNwdSAqdiwg
c3RydWN0IGh2bV90cmFwICp0cmFwKTsKICAgICB1aW50NjRfdCAoKm5odm1fdmNwdV9ndWVz
dGNyMykoc3RydWN0IHZjcHUgKnYpOwogICAgIHVpbnQ2NF90ICgqbmh2bV92Y3B1X2hvc3Rj
cjMpKHN0cnVjdCB2Y3B1ICp2KTsKICAgICB1aW50MzJfdCAoKm5odm1fdmNwdV9hc2lkKShz
dHJ1Y3QgdmNwdSAqdik7CkBAIC0zMjAsNyArMzIzLDkgQEAgdm9pZCBodm1fbWlncmF0ZV90
aW1lcnMoc3RydWN0IHZjcHUgKnYpOwogdm9pZCBodm1fZG9fcmVzdW1lKHN0cnVjdCB2Y3B1
ICp2KTsKIHZvaWQgaHZtX21pZ3JhdGVfcGlycXMoc3RydWN0IHZjcHUgKnYpOwogCi12b2lk
IGh2bV9pbmplY3RfZXhjZXB0aW9uKHVuc2lnbmVkIGludCB0cmFwbnIsIGludCBlcnJjb2Rl
LCB1bnNpZ25lZCBsb25nIGNyMik7Cit2b2lkIGh2bV9pbmplY3RfdHJhcChzdHJ1Y3QgaHZt
X3RyYXAgKnRyYXApOwordm9pZCBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbih1bnNpZ25lZCBp
bnQgdHJhcG5yLCBpbnQgZXJyY29kZSk7Cit2b2lkIGh2bV9pbmplY3RfcGFnZV9mYXVsdChp
bnQgZXJyY29kZSwgdW5zaWduZWQgbG9uZyBjcjIpOwogCiBzdGF0aWMgaW5saW5lIGludCBo
dm1fZXZlbnRfcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdikKIHsKQEAgLTQ3OSw4ICs0ODQsNyBA
QCBpbnQgbmh2bV92Y3B1X3ZtZXhpdChzdHJ1Y3QgdmNwdSAqdiwgc3RyCiAvKiBpbmplY3Qg
dm1leGl0IGludG8gbDEgZ3Vlc3QuIGwxIGd1ZXN0IHdpbGwgc2VlIGEgVk1FWElUIGR1ZSB0
bwogICogJ3RyYXBucicgZXhjZXB0aW9uLgogICovIAotaW50IG5odm1fdmNwdV92bWV4aXRf
dHJhcChzdHJ1Y3QgdmNwdSAqdiwKLSAgICB1bnNpZ25lZCBpbnQgdHJhcG5yLCBpbnQgZXJy
Y29kZSwgdW5zaWduZWQgbG9uZyBjcjIpOworaW50IG5odm1fdmNwdV92bWV4aXRfdHJhcChz
dHJ1Y3QgdmNwdSAqdiwgc3RydWN0IGh2bV90cmFwICp0cmFwKTsKIAogLyogcmV0dXJucyBs
MiBndWVzdCBjcjMgaW4gbDIgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZS4gKi8KIHVp
bnQ2NF90IG5odm1fdmNwdV9ndWVzdGNyMyhzdHJ1Y3QgdmNwdSAqdik7CmRpZmYgLXIgNTNl
MDU3MWY5NGU0IHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9uZXN0ZWRzdm0uaAotLS0g
YS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmgJRnJpIE1heSAyNSAw
ODoyMToyNSAyMDEyICswMTAwCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9u
ZXN0ZWRzdm0uaAlGcmkgTWF5IDI1IDA5OjQ1OjAwIDIwMTIgKzAxMDAKQEAgLTExNCw4ICsx
MTQsNyBAQCBpbnQgbnN2bV92Y3B1X2hvc3RyZXN0b3JlKHN0cnVjdCB2Y3B1ICp2CiBpbnQg
bnN2bV92Y3B1X3ZtcnVuKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq
cmVncyk7CiBpbnQgbnN2bV92Y3B1X3ZtZXhpdF9pbmplY3Qoc3RydWN0IHZjcHUgKnYsIHN0
cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgIHVpbnQ2NF90IGV4aXRjb2RlKTsKLWlu
dCBuc3ZtX3ZjcHVfdm1leGl0X3RyYXAoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB0
cmFwbnIsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IGVycmNvZGUsIHVuc2lnbmVkIGxv
bmcgY3IyKTsKK2ludCBuc3ZtX3ZjcHVfdm1leGl0X3RyYXAoc3RydWN0IHZjcHUgKnYsIHN0
cnVjdCBodm1fdHJhcCAqdHJhcCk7CiB1aW50NjRfdCBuc3ZtX3ZjcHVfZ3Vlc3RjcjMoc3Ry
dWN0IHZjcHUgKnYpOwogdWludDY0X3QgbnN2bV92Y3B1X2hvc3RjcjMoc3RydWN0IHZjcHUg
KnYpOwogdWludDMyX3QgbnN2bV92Y3B1X2FzaWQoc3RydWN0IHZjcHUgKnYpOwpkaWZmIC1y
IDUzZTA1NzFmOTRlNCB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92Y3B1LmgKLS0tIGEveGVu
L2luY2x1ZGUvYXNtLXg4Ni9odm0vdmNwdS5oCUZyaSBNYXkgMjUgMDg6MjE6MjUgMjAxMiAr
MDEwMAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92Y3B1LmgJRnJpIE1heSAyNSAw
OTo0NTowMCAyMDEyICswMTAwCkBAIC0xNjQsMTAgKzE2NCw5IEBAIHN0cnVjdCBodm1fdmNw
dSB7CiAgICAgLyogQ2FsbGJhY2sgaW50byB4ODZfZW11bGF0ZSB3aGVuIGVtdWxhdGluZyBG
UFUvTU1YL1hNTSBpbnN0cnVjdGlvbnMuICovCiAgICAgdm9pZCAoKmZwdV9leGNlcHRpb25f
Y2FsbGJhY2spKHZvaWQgKiwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKik7CiAgICAgdm9pZCAq
ZnB1X2V4Y2VwdGlvbl9jYWxsYmFja19hcmc7Ci0gICAgLyogUGVuZGluZyBody9zdyBpbnRl
cnJ1cHQgKi8KLSAgICBpbnQgICAgICAgICAgIGluamVjdF90cmFwOyAgICAgICAvKiAtMSBm
b3Igbm90aGluZyB0byBpbmplY3QgKi8KLSAgICBpbnQgICAgICAgICAgIGluamVjdF9lcnJv
cl9jb2RlOwotICAgIHVuc2lnbmVkIGxvbmcgaW5qZWN0X2NyMjsKKworICAgIC8qIFBlbmRp
bmcgaHcvc3cgaW50ZXJydXB0ICgudmVjdG9yID0gLTEgbWVhbnMgbm90aGluZyBwZW5kaW5n
KS4gKi8KKyAgICBzdHJ1Y3QgaHZtX3RyYXAgICAgIGluamVjdF90cmFwOwogCiAgICAgc3Ry
dWN0IHZpcmlkaWFuX3ZjcHUgdmlyaWRpYW47CiB9OwpkaWZmIC1yIDUzZTA1NzFmOTRlNCB4
ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKLS0tIGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9odm0vdm14L3ZteC5oCUZyaSBNYXkgMjUgMDg6MjE6MjUgMjAxMiArMDEwMAorKysg
Yi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgJRnJpIE1heSAyNSAwOTo0NTow
MCAyMDEyICswMTAwCkBAIC0zODcsNyArMzg3LDYgQEAgc3RhdGljIGlubGluZSBpbnQgX192
bXhvbih1NjQgYWRkcikKICAgICByZXR1cm4gcmM7CiB9CiAKLXZvaWQgdm14X2luamVjdF9o
d19leGNlcHRpb24oaW50IHRyYXAsIGludCBlcnJvcl9jb2RlKTsKIHZvaWQgdm14X2luamVj
dF9leHRpbnQoaW50IHRyYXApOwogdm9pZCB2bXhfaW5qZWN0X25taSh2b2lkKTsKIAo=
--B_3420784386_192024370
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--B_3420784386_192024370--




From xen-devel-bounces@lists.xen.org Fri May 25 08:58:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 08:58:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqKz-0001Nx-Ht; Fri, 25 May 2012 08:57:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqKx-0001Np-LH
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 08:57:32 +0000
Received: from [193.109.254.147:15740] by server-5.bemta-14.messagelabs.com id
	4B/AA-30733-A794FBF4; Fri, 25 May 2012 08:57:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337936249!3237433!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4991 invoked from network); 25 May 2012 08:57:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 08:57:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665105"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 08:56:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 09:56:56 +0100
Message-ID: <1337936214.22311.12.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Fri, 25 May 2012 09:56:54 +0100
In-Reply-To: <20120524193714.GA29726@phenom.dumpdata.com>
References: <20120524193714.GA29726@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] PV multiconsole bug during resume.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 20:37 +0100, Konrad Rzeszutek Wilk wrote:
> So .. we used to have in the event.c a spin_lock to protect the
> irq_mapping_update_lock, but with git commit  773659483685d652970583384a0294948e57f8b3
> "xen/irq: Alter the locking to use a mutex instead of a spinlock."
> I changed it to a mutex b/c we keept on getting WARNs.
> 
> But now I get this when I resume a PVHVM guest:
> 
> Grant tables using version 2 layout.
> BUG: sleeping function called from invalid context at /home/konrad/ssd/linux/kernel/mutex.c:85
> in_atomic(): 1, irqs_disabled(): 1, pid: 6, name: migration/0
> Pid: 6, comm: migration/0 Tainted: G           O 3.4.0upstream-00113-g598ff45-dirty #1
> Call Trace:
>  [<ffffffff8109830a>] __might_sleep+0xda/0x100
>  [<ffffffff815a47f7>] mutex_lock+0x27/0x50
>  [<ffffffff81311ea6>] rebind_evtchn_irq+0x36/0x90
>  [<ffffffff81341bfc>] xen_console_resume+0x5c/0x60
>  [<ffffffff81313fea>] xen_suspend+0x8a/0xb0
>  [<ffffffff810d42f3>] stop_machine_cpu_stop+0xa3/0xf0
>  [<ffffffff810d4250>] ? stop_one_cpu_nowait+0x50/0x50
>  [<ffffffff810d3f81>] cpu_stopper_thread+0xf1/0x1c0
>  [<ffffffff815a5be6>] ? __schedule+0x3c6/0x760
>  [<ffffffff815a6bb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
>  [<ffffffff810d3e90>] ? res_counter_charge+0x150/0x150
>  [<ffffffff8108e636>] kthread+0x96/0xa0
>  [<ffffffff815aeb24>] kernel_thread_helper+0x4/0x10
>  [<ffffffff815a7138>] ? retint_restore_args+0x5/0x6
>  [<ffffffff815aeb20>] ? gs_change+0x13/0x13
> PM: noirq restore of devices complete after 0.163 msecs
> 
> 
> Any ideas?

xen_console_resume is called from stop_machine context, which has irqs
disabled etc and so cannot sleep.

One option might be to hoist the call of xen_console_resume out of the
stop machine section, e.g. to the same place as xs_resume (which is the
only over caller of rebind_evtchn_irq).

I'm a bit worried about not getting debug output during resume though,
or worse poking the evtchn before it is actually setup again.

The alternative is to consider whether irq_mapping_update_lock is even
needed in rebind_evtchn_irq. I have a feeling that the lock is a bit
pessimistic in the general case (i.e. it covers more than it needs to).
Lots of stuff which it might once has covered is actually locked
elsewhere these days -- i.e. picking an irq number is handled in the
core -- and the old array no longer exists (we use desc->handler_data
instead). Once you have picked an irq and an evtchn I'm not sure that
the lock when updating the info is even useful any more, so long as the
irq/evtchn in question is masked. Anyhow, might be worth having a good
look at the use of that lock -- if we can't get rid of it entirely
perhaps its scope can be greatly reduced?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 08:58:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 08:58:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqKz-0001Nx-Ht; Fri, 25 May 2012 08:57:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqKx-0001Np-LH
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 08:57:32 +0000
Received: from [193.109.254.147:15740] by server-5.bemta-14.messagelabs.com id
	4B/AA-30733-A794FBF4; Fri, 25 May 2012 08:57:30 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337936249!3237433!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4991 invoked from network); 25 May 2012 08:57:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 08:57:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665105"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 08:56:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 09:56:56 +0100
Message-ID: <1337936214.22311.12.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Fri, 25 May 2012 09:56:54 +0100
In-Reply-To: <20120524193714.GA29726@phenom.dumpdata.com>
References: <20120524193714.GA29726@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] PV multiconsole bug during resume.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 20:37 +0100, Konrad Rzeszutek Wilk wrote:
> So .. we used to have in the event.c a spin_lock to protect the
> irq_mapping_update_lock, but with git commit  773659483685d652970583384a0294948e57f8b3
> "xen/irq: Alter the locking to use a mutex instead of a spinlock."
> I changed it to a mutex b/c we keept on getting WARNs.
> 
> But now I get this when I resume a PVHVM guest:
> 
> Grant tables using version 2 layout.
> BUG: sleeping function called from invalid context at /home/konrad/ssd/linux/kernel/mutex.c:85
> in_atomic(): 1, irqs_disabled(): 1, pid: 6, name: migration/0
> Pid: 6, comm: migration/0 Tainted: G           O 3.4.0upstream-00113-g598ff45-dirty #1
> Call Trace:
>  [<ffffffff8109830a>] __might_sleep+0xda/0x100
>  [<ffffffff815a47f7>] mutex_lock+0x27/0x50
>  [<ffffffff81311ea6>] rebind_evtchn_irq+0x36/0x90
>  [<ffffffff81341bfc>] xen_console_resume+0x5c/0x60
>  [<ffffffff81313fea>] xen_suspend+0x8a/0xb0
>  [<ffffffff810d42f3>] stop_machine_cpu_stop+0xa3/0xf0
>  [<ffffffff810d4250>] ? stop_one_cpu_nowait+0x50/0x50
>  [<ffffffff810d3f81>] cpu_stopper_thread+0xf1/0x1c0
>  [<ffffffff815a5be6>] ? __schedule+0x3c6/0x760
>  [<ffffffff815a6bb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
>  [<ffffffff810d3e90>] ? res_counter_charge+0x150/0x150
>  [<ffffffff8108e636>] kthread+0x96/0xa0
>  [<ffffffff815aeb24>] kernel_thread_helper+0x4/0x10
>  [<ffffffff815a7138>] ? retint_restore_args+0x5/0x6
>  [<ffffffff815aeb20>] ? gs_change+0x13/0x13
> PM: noirq restore of devices complete after 0.163 msecs
> 
> 
> Any ideas?

xen_console_resume is called from stop_machine context, which has irqs
disabled etc and so cannot sleep.

One option might be to hoist the call of xen_console_resume out of the
stop machine section, e.g. to the same place as xs_resume (which is the
only over caller of rebind_evtchn_irq).

I'm a bit worried about not getting debug output during resume though,
or worse poking the evtchn before it is actually setup again.

The alternative is to consider whether irq_mapping_update_lock is even
needed in rebind_evtchn_irq. I have a feeling that the lock is a bit
pessimistic in the general case (i.e. it covers more than it needs to).
Lots of stuff which it might once has covered is actually locked
elsewhere these days -- i.e. picking an irq number is handled in the
core -- and the old array no longer exists (we use desc->handler_data
instead). Once you have picked an irq and an evtchn I'm not sure that
the lock when updating the info is even useful any more, so long as the
irq/evtchn in question is masked. Anyhow, might be worth having a good
look at the use of that lock -- if we can't get rid of it entirely
perhaps its scope can be greatly reduced?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:04:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:04:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqRC-0001bC-LX; Fri, 25 May 2012 09:03:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqRB-0001b4-GB
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:03:57 +0000
Received: from [85.158.138.51:2081] by server-2.bemta-3.messagelabs.com id
	07/91-27819-AFA4FBF4; Fri, 25 May 2012 09:03:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337936633!29061011!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17669 invoked from network); 25 May 2012 09:03:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:03:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665294"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:03:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 10:03:53 +0100
Message-ID: <1337936632.22311.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ross Philipson <Ross.Philipson@citrix.com>
Date: Fri, 25 May 2012 10:03:52 +0100
In-Reply-To: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
 header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 15:37 +0100, Ross Philipson wrote:
> 
> +/* Up to 100 OEM strings can be set in xenstore using values of the
> form
> + * below. These strings will be loaded into the SMBIOS type 11
> structure.
> + */
> +#define HVM_XS_OEM_STRINGS             "bios-strings/oem-XX" 

I think this is actually pre-existing but we have snprintf in hvmloader
now so this could probably become "bios-strings/oem-%02d" (or whichever
format is really correct) and replace the manual munging in the code.
It's not important right now though.

I wouldn't say I've done a full review but I skimmed the rest and it
looked good.

We've been feature frozen for 4.2 for a while now, are you proposing
this for 4.3 rather than asking for a freeze exception?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:04:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:04:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqRC-0001bC-LX; Fri, 25 May 2012 09:03:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqRB-0001b4-GB
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:03:57 +0000
Received: from [85.158.138.51:2081] by server-2.bemta-3.messagelabs.com id
	07/91-27819-AFA4FBF4; Fri, 25 May 2012 09:03:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1337936633!29061011!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17669 invoked from network); 25 May 2012 09:03:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:03:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665294"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:03:53 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 10:03:53 +0100
Message-ID: <1337936632.22311.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ross Philipson <Ross.Philipson@citrix.com>
Date: Fri, 25 May 2012 10:03:52 +0100
In-Reply-To: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
 header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 15:37 +0100, Ross Philipson wrote:
> 
> +/* Up to 100 OEM strings can be set in xenstore using values of the
> form
> + * below. These strings will be loaded into the SMBIOS type 11
> structure.
> + */
> +#define HVM_XS_OEM_STRINGS             "bios-strings/oem-XX" 

I think this is actually pre-existing but we have snprintf in hvmloader
now so this could probably become "bios-strings/oem-%02d" (or whichever
format is really correct) and replace the manual munging in the code.
It's not important right now though.

I wouldn't say I've done a full review but I skimmed the rest and it
looked good.

We've been feature frozen for 4.2 for a while now, are you proposing
this for 4.3 rather than asking for a freeze exception?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:14:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqb0-0001l0-P1; Fri, 25 May 2012 09:14:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqaz-0001kv-22
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:14:05 +0000
Received: from [85.158.138.51:4193] by server-5.bemta-3.messagelabs.com id
	D5/84-25552-C5D4FBF4; Fri, 25 May 2012 09:14:04 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337937243!28975886!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10046 invoked from network); 25 May 2012 09:14:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:14:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665535"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:14:02 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:14:02 +0100
Date: Fri, 25 May 2012 10:13:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120524182403.GL24934@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205251013250.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
	<20120524182403.GL24934@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 3/4] xen/hvc: Check
 HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 24 May 2012, Konrad Rzeszutek Wilk wrote:
> > I think that we should add a comment stating that even though mfn = 0
> > and evtchn = 0 are theoretically correct values, in practice they never
> > are and they mean that a legacy toolstack hasn't initialized the pv
> > console correctly.
> 
> Like this?

Yep

> >From 5842f5768599094758931b74190cdf93641a8e35 Mon Sep 17 00:00:00 2001
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date: Wed, 23 May 2012 12:56:59 -0400
> Subject: [PATCH] xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for
>  correctness.
> 
> We need to make sure that those parameters are setup to be correct.
> As such the value of 0 is deemed invalid and we find that we
> bail out. The hypervisor sets by default all of them to be zero
> and when the hypercall is done does a simple:
> 
>  a.value = d->arch.hvm_domain.params[a.index];
> 
> Which means that if the Xen toolstack forgot to setup the proper
> HVM_PARAM_CONSOLE_EVTCHN (or the PFN one), we would get the
> default value of 0 and use that.
> 
> CC: stable@kernel.org
> Fixes-Oracle-Bug: 14091238
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

> ---
>  drivers/tty/hvc/hvc_xen.c |   11 ++++++++---
>  1 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index 3277f0e..944eaeb 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -214,14 +214,19 @@ static int xen_hvm_console_init(void)
>  	/* already configured */
>  	if (info->intf != NULL)
>  		return 0;
> -
> +	/*
> +	 * If the toolstack (or the hypervisor) hasn't set these values, the
> +	 * default value is 0. Even though mfn = 0 and evtchn = 0 are
> +	 * theoretically correct values, in practice they never are and they
> +	 * mean that a legacy toolstack hasn't initialized the pv console correctly.
> +	 */
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	info->evtchn = v;
>  	v = 0;
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	mfn = v;
>  	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
> -- 
> 1.7.7.5
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:14:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqb0-0001l0-P1; Fri, 25 May 2012 09:14:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqaz-0001kv-22
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:14:05 +0000
Received: from [85.158.138.51:4193] by server-5.bemta-3.messagelabs.com id
	D5/84-25552-C5D4FBF4; Fri, 25 May 2012 09:14:04 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337937243!28975886!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1MjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10046 invoked from network); 25 May 2012 09:14:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:14:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665535"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:14:02 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:14:02 +0100
Date: Fri, 25 May 2012 10:13:47 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120524182403.GL24934@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205251013250.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-4-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241148080.26786@kaball-desktop>
	<20120524182403.GL24934@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 3/4] xen/hvc: Check
 HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 24 May 2012, Konrad Rzeszutek Wilk wrote:
> > I think that we should add a comment stating that even though mfn = 0
> > and evtchn = 0 are theoretically correct values, in practice they never
> > are and they mean that a legacy toolstack hasn't initialized the pv
> > console correctly.
> 
> Like this?

Yep

> >From 5842f5768599094758931b74190cdf93641a8e35 Mon Sep 17 00:00:00 2001
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date: Wed, 23 May 2012 12:56:59 -0400
> Subject: [PATCH] xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for
>  correctness.
> 
> We need to make sure that those parameters are setup to be correct.
> As such the value of 0 is deemed invalid and we find that we
> bail out. The hypervisor sets by default all of them to be zero
> and when the hypercall is done does a simple:
> 
>  a.value = d->arch.hvm_domain.params[a.index];
> 
> Which means that if the Xen toolstack forgot to setup the proper
> HVM_PARAM_CONSOLE_EVTCHN (or the PFN one), we would get the
> default value of 0 and use that.
> 
> CC: stable@kernel.org
> Fixes-Oracle-Bug: 14091238
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

> ---
>  drivers/tty/hvc/hvc_xen.c |   11 ++++++++---
>  1 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index 3277f0e..944eaeb 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -214,14 +214,19 @@ static int xen_hvm_console_init(void)
>  	/* already configured */
>  	if (info->intf != NULL)
>  		return 0;
> -
> +	/*
> +	 * If the toolstack (or the hypervisor) hasn't set these values, the
> +	 * default value is 0. Even though mfn = 0 and evtchn = 0 are
> +	 * theoretically correct values, in practice they never are and they
> +	 * mean that a legacy toolstack hasn't initialized the pv console correctly.
> +	 */
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	info->evtchn = v;
>  	v = 0;
>  	r = hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
> -	if (r < 0)
> +	if (r < 0 || v == 0)
>  		goto err;
>  	mfn = v;
>  	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
> -- 
> 1.7.7.5
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:18:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:18:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqfG-0001rn-Ef; Fri, 25 May 2012 09:18:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqfF-0001rh-Or
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:18:29 +0000
Received: from [85.158.143.35:12092] by server-2.bemta-4.messagelabs.com id
	24/0A-12211-46E4FBF4; Fri, 25 May 2012 09:18:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337937500!5895054!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11571 invoked from network); 25 May 2012 09:18:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:18:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665656"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:18:20 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:18:20 +0100
Date: Fri, 25 May 2012 10:18:05 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120524182817.GM24934@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
	<20120524182817.GM24934@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 24 May 2012, Konrad Rzeszutek Wilk wrote:
> On Thu, May 24, 2012 at 11:58:11AM +0100, Stefano Stabellini wrote:
> > On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > > All of the bind_XYZ_to_irq do a quick lookup to see if the
> > > event exists. And if they that value is returned instead of
> > 
> >                            ^
> 
> ... snip. How about this:
> 
> >From 5963cc2699db7b2893e7925bd2e68ada9d97e8ef Mon Sep 17 00:00:00 2001
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date: Wed, 23 May 2012 13:28:44 -0400
> Subject: [PATCH] xen/events: Add WARN_ON when quick lookup found invalid
>  type.
> 
> All of the bind_XYZ_to_irq do a quick lookup to see if the
> event exists. And if it does, then the initialized IRQ number
> is returned instead of initializing a new IRQ number.
> 
> This patch adds an extra logic to check that the type returned
> is proper one and that there is an IRQ handler setup for it.
> 
> This patch has the benefit of being able to find drivers that
> are doing something naught.
> 
> [v1: Enhanced based on Stefano's review]
>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>  drivers/xen/events.c |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index faae2f9..81f338a 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
>  					      handle_edge_irq, "event");
>  
>  		xen_irq_info_evtchn_init(irq, evtchn);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info == NULL || info->type != IRQT_EVTCHN);
>  	}
>  
>  out:
> @@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
>  		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info == NULL || info->type != IRQT_IPI);
>  	}
> -
>   out:
>  	mutex_unlock(&irq_mapping_update_lock);
>  	return irq;
> @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
>  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
>  	}
> -
>  out:
>  	mutex_unlock(&irq_mapping_update_lock);
>  

I don't want to nitpick but you removed 2 out of 3 spaced before the out
label.
In any case:

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:18:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:18:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqfG-0001rn-Ef; Fri, 25 May 2012 09:18:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqfF-0001rh-Or
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:18:29 +0000
Received: from [85.158.143.35:12092] by server-2.bemta-4.messagelabs.com id
	24/0A-12211-46E4FBF4; Fri, 25 May 2012 09:18:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1337937500!5895054!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11571 invoked from network); 25 May 2012 09:18:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:18:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665656"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:18:20 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:18:20 +0100
Date: Fri, 25 May 2012 10:18:05 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <20120524182817.GM24934@phenom.dumpdata.com>
Message-ID: <alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
	<20120524182817.GM24934@phenom.dumpdata.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 24 May 2012, Konrad Rzeszutek Wilk wrote:
> On Thu, May 24, 2012 at 11:58:11AM +0100, Stefano Stabellini wrote:
> > On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote:
> > > All of the bind_XYZ_to_irq do a quick lookup to see if the
> > > event exists. And if they that value is returned instead of
> > 
> >                            ^
> 
> ... snip. How about this:
> 
> >From 5963cc2699db7b2893e7925bd2e68ada9d97e8ef Mon Sep 17 00:00:00 2001
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date: Wed, 23 May 2012 13:28:44 -0400
> Subject: [PATCH] xen/events: Add WARN_ON when quick lookup found invalid
>  type.
> 
> All of the bind_XYZ_to_irq do a quick lookup to see if the
> event exists. And if it does, then the initialized IRQ number
> is returned instead of initializing a new IRQ number.
> 
> This patch adds an extra logic to check that the type returned
> is proper one and that there is an IRQ handler setup for it.
> 
> This patch has the benefit of being able to find drivers that
> are doing something naught.
> 
> [v1: Enhanced based on Stefano's review]
>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>  drivers/xen/events.c |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index faae2f9..81f338a 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
>  					      handle_edge_irq, "event");
>  
>  		xen_irq_info_evtchn_init(irq, evtchn);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info == NULL || info->type != IRQT_EVTCHN);
>  	}
>  
>  out:
> @@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
>  		xen_irq_info_ipi_init(cpu, irq, evtchn, ipi);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info == NULL || info->type != IRQT_IPI);
>  	}
> -
>   out:
>  	mutex_unlock(&irq_mapping_update_lock);
>  	return irq;
> @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
>  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
>  
>  		bind_evtchn_to_cpu(evtchn, cpu);
> +	} else {
> +		struct irq_info *info = info_for_irq(irq);
> +		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
>  	}
> -
>  out:
>  	mutex_unlock(&irq_mapping_update_lock);
>  

I don't want to nitpick but you removed 2 out of 3 spaced before the out
label.
In any case:

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:19:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqgF-0001vN-Se; Fri, 25 May 2012 09:19:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqgE-0001v8-27
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:19:30 +0000
Received: from [85.158.143.35:63414] by server-1.bemta-4.messagelabs.com id
	62/28-00342-1AE4FBF4; Fri, 25 May 2012 09:19:29 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337937567!14929267!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28712 invoked from network); 25 May 2012 09:19:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:19:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665677"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:19:26 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:19:26 +0100
Date: Fri, 25 May 2012 10:19:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205251018550.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
	<20120524182817.GM24934@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Stefano Stabellini wrote:
> > @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
> >  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
> >  
> >  		bind_evtchn_to_cpu(evtchn, cpu);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
> >  	}
> > -
> >  out:
> >  	mutex_unlock(&irq_mapping_update_lock);
> >  
> 
> I don't want to nitpick but you removed 2 out of 3 spaced before the out
> label.

I meant newlines.

> In any case:
> 
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:19:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqgF-0001vN-Se; Fri, 25 May 2012 09:19:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqgE-0001v8-27
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:19:30 +0000
Received: from [85.158.143.35:63414] by server-1.bemta-4.messagelabs.com id
	62/28-00342-1AE4FBF4; Fri, 25 May 2012 09:19:29 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1337937567!14929267!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28712 invoked from network); 25 May 2012 09:19:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:19:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12665677"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:19:26 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:19:26 +0100
Date: Fri, 25 May 2012 10:19:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205251018550.26786@kaball-desktop>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
	<20120524182817.GM24934@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Stefano Stabellini wrote:
> > @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
> >  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
> >  
> >  		bind_evtchn_to_cpu(evtchn, cpu);
> > +	} else {
> > +		struct irq_info *info = info_for_irq(irq);
> > +		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
> >  	}
> > -
> >  out:
> >  	mutex_unlock(&irq_mapping_update_lock);
> >  
> 
> I don't want to nitpick but you removed 2 out of 3 spaced before the out
> label.

I meant newlines.

> In any case:
> 
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:25:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:25:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqlY-0002A2-KT; Fri, 25 May 2012 09:25:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqlW-00029t-Jv
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:24:58 +0000
Received: from [85.158.143.99:23050] by server-1.bemta-4.messagelabs.com id
	AA/E4-00342-9EF4FBF4; Fri, 25 May 2012 09:24:57 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337937895!18563786!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23923 invoked from network); 25 May 2012 09:24:56 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:24:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330923600"; d="scan'208";a="25733296"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 05:24:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 05:24:53 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SXqlR-00017k-0r;
	Fri, 25 May 2012 10:24:53 +0100
MIME-Version: 1.0
X-Mercurial-Node: 42b4ca522057ecf3bf48250bf964d12e1a9e865c
Message-ID: <42b4ca522057ecf3bf48.1337937892@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 25 May 2012 10:24:52 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxc: do not "panic" if a kernel is not a
	bzImage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337937866 -3600
# Node ID 42b4ca522057ecf3bf48250bf964d12e1a9e865c
# Parent  b68bb5eb0503bcec053de4422212a33fa6be9698
libxc: do not "panic" if a kernel is not a bzImage.

Up until the point where we think this is a bzImage there is no point in
printing panicy messages -- some other loader will have a go (probably the
compressed ELF one)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r b68bb5eb0503 -r 42b4ca522057 tools/libxc/xc_dom_bzimageloader.c
--- a/tools/libxc/xc_dom_bzimageloader.c	Fri May 25 10:19:45 2012 +0100
+++ b/tools/libxc/xc_dom_bzimageloader.c	Fri May 25 10:24:26 2012 +0100
@@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( dom->kernel_size < sizeof(struct setup_header) )
     {
-        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
-                     "%s: kernel image too small", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel image too small", __FUNCTION__);
         return -EINVAL;
     }
 
@@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
     {
-        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
-                     "%s: kernel is not a bzImage", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage", __FUNCTION__);
         return -EINVAL;
     }
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:25:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:25:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqlY-0002A2-KT; Fri, 25 May 2012 09:25:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqlW-00029t-Jv
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:24:58 +0000
Received: from [85.158.143.99:23050] by server-1.bemta-4.messagelabs.com id
	AA/E4-00342-9EF4FBF4; Fri, 25 May 2012 09:24:57 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337937895!18563786!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23923 invoked from network); 25 May 2012 09:24:56 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:24:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330923600"; d="scan'208";a="25733296"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 05:24:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 05:24:53 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SXqlR-00017k-0r;
	Fri, 25 May 2012 10:24:53 +0100
MIME-Version: 1.0
X-Mercurial-Node: 42b4ca522057ecf3bf48250bf964d12e1a9e865c
Message-ID: <42b4ca522057ecf3bf48.1337937892@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 25 May 2012 10:24:52 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxc: do not "panic" if a kernel is not a
	bzImage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1337937866 -3600
# Node ID 42b4ca522057ecf3bf48250bf964d12e1a9e865c
# Parent  b68bb5eb0503bcec053de4422212a33fa6be9698
libxc: do not "panic" if a kernel is not a bzImage.

Up until the point where we think this is a bzImage there is no point in
printing panicy messages -- some other loader will have a go (probably the
compressed ELF one)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r b68bb5eb0503 -r 42b4ca522057 tools/libxc/xc_dom_bzimageloader.c
--- a/tools/libxc/xc_dom_bzimageloader.c	Fri May 25 10:19:45 2012 +0100
+++ b/tools/libxc/xc_dom_bzimageloader.c	Fri May 25 10:24:26 2012 +0100
@@ -575,8 +575,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( dom->kernel_size < sizeof(struct setup_header) )
     {
-        xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
-                     "%s: kernel image too small", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel image too small", __FUNCTION__);
         return -EINVAL;
     }
 
@@ -584,8 +583,7 @@ static int xc_dom_probe_bzimage_kernel(s
 
     if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) != 0 )
     {
-        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
-                     "%s: kernel is not a bzImage", __FUNCTION__);
+        xc_dom_printf(dom->xch, "%s: kernel is not a bzImage", __FUNCTION__);
         return -EINVAL;
     }
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:32:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:32:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqsO-0002JO-GL; Fri, 25 May 2012 09:32:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqsN-0002JJ-KU
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:32:03 +0000
Received: from [85.158.139.83:37585] by server-7.bemta-5.messagelabs.com id
	61/72-15932-2915FBF4; Fri, 25 May 2012 09:32:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337938301!30225790!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31453 invoked from network); 25 May 2012 09:31:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:31:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666020"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:31:40 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:31:40 +0100
Date: Fri, 25 May 2012 10:31:25 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337936214.22311.12.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251026510.26786@kaball-desktop>
References: <20120524193714.GA29726@phenom.dumpdata.com>
	<1337936214.22311.12.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] PV multiconsole bug during resume.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Ian Campbell wrote:
> On Thu, 2012-05-24 at 20:37 +0100, Konrad Rzeszutek Wilk wrote:
> > So .. we used to have in the event.c a spin_lock to protect the
> > irq_mapping_update_lock, but with git commit  773659483685d652970583384a0294948e57f8b3
> > "xen/irq: Alter the locking to use a mutex instead of a spinlock."
> > I changed it to a mutex b/c we keept on getting WARNs.
> > 
> > But now I get this when I resume a PVHVM guest:
> > 
> > Grant tables using version 2 layout.
> > BUG: sleeping function called from invalid context at /home/konrad/ssd/linux/kernel/mutex.c:85
> > in_atomic(): 1, irqs_disabled(): 1, pid: 6, name: migration/0
> > Pid: 6, comm: migration/0 Tainted: G           O 3.4.0upstream-00113-g598ff45-dirty #1
> > Call Trace:
> >  [<ffffffff8109830a>] __might_sleep+0xda/0x100
> >  [<ffffffff815a47f7>] mutex_lock+0x27/0x50
> >  [<ffffffff81311ea6>] rebind_evtchn_irq+0x36/0x90
> >  [<ffffffff81341bfc>] xen_console_resume+0x5c/0x60
> >  [<ffffffff81313fea>] xen_suspend+0x8a/0xb0
> >  [<ffffffff810d42f3>] stop_machine_cpu_stop+0xa3/0xf0
> >  [<ffffffff810d4250>] ? stop_one_cpu_nowait+0x50/0x50
> >  [<ffffffff810d3f81>] cpu_stopper_thread+0xf1/0x1c0
> >  [<ffffffff815a5be6>] ? __schedule+0x3c6/0x760
> >  [<ffffffff815a6bb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
> >  [<ffffffff810d3e90>] ? res_counter_charge+0x150/0x150
> >  [<ffffffff8108e636>] kthread+0x96/0xa0
> >  [<ffffffff815aeb24>] kernel_thread_helper+0x4/0x10
> >  [<ffffffff815a7138>] ? retint_restore_args+0x5/0x6
> >  [<ffffffff815aeb20>] ? gs_change+0x13/0x13
> > PM: noirq restore of devices complete after 0.163 msecs
> > 
> > 
> > Any ideas?
> 
> xen_console_resume is called from stop_machine context, which has irqs
> disabled etc and so cannot sleep.
> 
> One option might be to hoist the call of xen_console_resume out of the
> stop machine section, e.g. to the same place as xs_resume (which is the
> only over caller of rebind_evtchn_irq).
> 
> I'm a bit worried about not getting debug output during resume though,
> or worse poking the evtchn before it is actually setup again.
> 
> The alternative is to consider whether irq_mapping_update_lock is even
> needed in rebind_evtchn_irq. I have a feeling that the lock is a bit
> pessimistic in the general case (i.e. it covers more than it needs to).
> Lots of stuff which it might once has covered is actually locked
> elsewhere these days -- i.e. picking an irq number is handled in the
> core -- and the old array no longer exists (we use desc->handler_data
> instead). Once you have picked an irq and an evtchn I'm not sure that
> the lock when updating the info is even useful any more, so long as the
> irq/evtchn in question is masked. Anyhow, might be worth having a good
> look at the use of that lock -- if we can't get rid of it entirely
> perhaps its scope can be greatly reduced?

Considering that xen_console_resume is called by stop_machine, there is
certainly no need to protect rebind_evtchn_irq with a mutex at that
point.
However rebind_evtchn_irq is also called by xs_resume (xb_init_comms),
outside of stop_machine, so we might actually need a mutex there.

Maybe we need a rebind_evtchn_irqsafe function that doesn't take the
mutex and can be called from irq context.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:32:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:32:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqsO-0002JO-GL; Fri, 25 May 2012 09:32:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXqsN-0002JJ-KU
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 09:32:03 +0000
Received: from [85.158.139.83:37585] by server-7.bemta-5.messagelabs.com id
	61/72-15932-2915FBF4; Fri, 25 May 2012 09:32:02 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1337938301!30225790!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31453 invoked from network); 25 May 2012 09:31:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:31:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666020"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:31:40 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:31:40 +0100
Date: Fri, 25 May 2012 10:31:25 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337936214.22311.12.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251026510.26786@kaball-desktop>
References: <20120524193714.GA29726@phenom.dumpdata.com>
	<1337936214.22311.12.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] PV multiconsole bug during resume.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Ian Campbell wrote:
> On Thu, 2012-05-24 at 20:37 +0100, Konrad Rzeszutek Wilk wrote:
> > So .. we used to have in the event.c a spin_lock to protect the
> > irq_mapping_update_lock, but with git commit  773659483685d652970583384a0294948e57f8b3
> > "xen/irq: Alter the locking to use a mutex instead of a spinlock."
> > I changed it to a mutex b/c we keept on getting WARNs.
> > 
> > But now I get this when I resume a PVHVM guest:
> > 
> > Grant tables using version 2 layout.
> > BUG: sleeping function called from invalid context at /home/konrad/ssd/linux/kernel/mutex.c:85
> > in_atomic(): 1, irqs_disabled(): 1, pid: 6, name: migration/0
> > Pid: 6, comm: migration/0 Tainted: G           O 3.4.0upstream-00113-g598ff45-dirty #1
> > Call Trace:
> >  [<ffffffff8109830a>] __might_sleep+0xda/0x100
> >  [<ffffffff815a47f7>] mutex_lock+0x27/0x50
> >  [<ffffffff81311ea6>] rebind_evtchn_irq+0x36/0x90
> >  [<ffffffff81341bfc>] xen_console_resume+0x5c/0x60
> >  [<ffffffff81313fea>] xen_suspend+0x8a/0xb0
> >  [<ffffffff810d42f3>] stop_machine_cpu_stop+0xa3/0xf0
> >  [<ffffffff810d4250>] ? stop_one_cpu_nowait+0x50/0x50
> >  [<ffffffff810d3f81>] cpu_stopper_thread+0xf1/0x1c0
> >  [<ffffffff815a5be6>] ? __schedule+0x3c6/0x760
> >  [<ffffffff815a6bb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
> >  [<ffffffff810d3e90>] ? res_counter_charge+0x150/0x150
> >  [<ffffffff8108e636>] kthread+0x96/0xa0
> >  [<ffffffff815aeb24>] kernel_thread_helper+0x4/0x10
> >  [<ffffffff815a7138>] ? retint_restore_args+0x5/0x6
> >  [<ffffffff815aeb20>] ? gs_change+0x13/0x13
> > PM: noirq restore of devices complete after 0.163 msecs
> > 
> > 
> > Any ideas?
> 
> xen_console_resume is called from stop_machine context, which has irqs
> disabled etc and so cannot sleep.
> 
> One option might be to hoist the call of xen_console_resume out of the
> stop machine section, e.g. to the same place as xs_resume (which is the
> only over caller of rebind_evtchn_irq).
> 
> I'm a bit worried about not getting debug output during resume though,
> or worse poking the evtchn before it is actually setup again.
> 
> The alternative is to consider whether irq_mapping_update_lock is even
> needed in rebind_evtchn_irq. I have a feeling that the lock is a bit
> pessimistic in the general case (i.e. it covers more than it needs to).
> Lots of stuff which it might once has covered is actually locked
> elsewhere these days -- i.e. picking an irq number is handled in the
> core -- and the old array no longer exists (we use desc->handler_data
> instead). Once you have picked an irq and an evtchn I'm not sure that
> the lock when updating the info is even useful any more, so long as the
> irq/evtchn in question is masked. Anyhow, might be worth having a good
> look at the use of that lock -- if we can't get rid of it entirely
> perhaps its scope can be greatly reduced?

Considering that xen_console_resume is called by stop_machine, there is
certainly no need to protect rebind_evtchn_irq with a mutex at that
point.
However rebind_evtchn_irq is also called by xs_resume (xb_init_comms),
outside of stop_machine, so we might actually need a mutex there.

Maybe we need a rebind_evtchn_irqsafe function that doesn't take the
mutex and can be called from irq context.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:38:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:38:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqy4-0002UX-F2; Fri, 25 May 2012 09:37:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqy2-0002UR-Ue
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:37:55 +0000
Received: from [85.158.138.51:36224] by server-12.bemta-3.messagelabs.com id
	6D/1D-18957-2F25FBF4; Fri, 25 May 2012 09:37:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337938672!29043420!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1238 invoked from network); 25 May 2012 09:37:53 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:37:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666173"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:37:52 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 10:37:52 +0100
Message-ID: <1337938671.22311.19.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 25 May 2012 10:37:51 +0100
In-Reply-To: <20406.37918.733921.594303@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> Each time xl forks, it needs to record the pid, so that its exit

I was just about to apply this but testing with pygrub gives me:

libxl: critical: libxl_fork.c:314:libxl__fork_selfpipe_woken: DISASTER in event loop:  reported by libxl_childproc_hooks->reaped_callback (for pid=7023, status=0; error code 1): Success
libxl: critical: libxl_event.c:1005:libxl__event_disaster: DISASTER in event loop not handled by libxl application
libxl: fatal error, exiting program: DISASTER in event loop not handled by libxl application

I think the return codes of xl_reaped_callback are just bogus, according
to the comment it should return 0 if it knows the child,
ERROR_UNKNOWN_CHILD if not and anything else is a disaster. Incremental
fix is:

diff -r a5ff801ed897 tools/libxl/xl.c
--- a/tools/libxl/xl.c	Fri May 25 10:32:06 2012 +0100
+++ b/tools/libxl/xl.c	Fri May 25 10:37:37 2012 +0100
@@ -163,10 +163,10 @@ static int xl_reaped_callback(pid_t got,
         if (ch->pid == got) {
             ch->reaped = 1;
             ch->status = status;
-            return 1;
+            return 0;
         }
     }
-    return 0;
+    return ERROR_UNKNOWN_CHILD;
 }
 
 static const libxl_childproc_hooks childproc_hooks = {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:38:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:38:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXqy4-0002UX-F2; Fri, 25 May 2012 09:37:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXqy2-0002UR-Ue
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:37:55 +0000
Received: from [85.158.138.51:36224] by server-12.bemta-3.messagelabs.com id
	6D/1D-18957-2F25FBF4; Fri, 25 May 2012 09:37:54 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1337938672!29043420!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1238 invoked from network); 25 May 2012 09:37:53 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:37:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666173"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:37:52 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 10:37:52 +0100
Message-ID: <1337938671.22311.19.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 25 May 2012 10:37:51 +0100
In-Reply-To: <20406.37918.733921.594303@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> Each time xl forks, it needs to record the pid, so that its exit

I was just about to apply this but testing with pygrub gives me:

libxl: critical: libxl_fork.c:314:libxl__fork_selfpipe_woken: DISASTER in event loop:  reported by libxl_childproc_hooks->reaped_callback (for pid=7023, status=0; error code 1): Success
libxl: critical: libxl_event.c:1005:libxl__event_disaster: DISASTER in event loop not handled by libxl application
libxl: fatal error, exiting program: DISASTER in event loop not handled by libxl application

I think the return codes of xl_reaped_callback are just bogus, according
to the comment it should return 0 if it knows the child,
ERROR_UNKNOWN_CHILD if not and anything else is a disaster. Incremental
fix is:

diff -r a5ff801ed897 tools/libxl/xl.c
--- a/tools/libxl/xl.c	Fri May 25 10:32:06 2012 +0100
+++ b/tools/libxl/xl.c	Fri May 25 10:37:37 2012 +0100
@@ -163,10 +163,10 @@ static int xl_reaped_callback(pid_t got,
         if (ch->pid == got) {
             ch->reaped = 1;
             ch->status = status;
-            return 1;
+            return 0;
         }
     }
-    return 0;
+    return ERROR_UNKNOWN_CHILD;
 }
 
 static const libxl_childproc_hooks childproc_hooks = {



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:44:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:44:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXr4X-0002du-8u; Fri, 25 May 2012 09:44:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXr4V-0002dp-UO
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:44:36 +0000
Received: from [85.158.138.51:51786] by server-9.bemta-3.messagelabs.com id
	F1/96-11033-3845FBF4; Fri, 25 May 2012 09:44:35 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337939073!20992434!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25246 invoked from network); 25 May 2012 09:44:33 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:44:33 -0000
Received: by wibhr14 with SMTP id hr14so586059wib.14
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 02:44:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=a4/oJAKhzLTd6/W4voD8qYt6OOjGqqXv34p3Lf9VrTE=;
	b=GHvgLRGB0BkwuWvc+fZfOu8n8HnSc0YULe/+QbaANf/15agOMfUlBVY8JqfqgPuaTd
	Tef2UxPC8zEMV8uCP2286k0eSpdbvtDe45Kb5Tz39QaqXcWehRBgkXS+uLM73A3wQhkU
	wUTuJfn86OpcDzaMjlKKHISpw4pGq/2DZ/2FJW1H8YQWHeUufZlm9SpWoVBFOho56M7U
	cRA12TpeaG3WmfgN/1hgFcfgYaV/EMA3ujaFE58uwQatQj43o/DKEXidrDaRHs+SGOzU
	YtQJkQ4zE+i5Yi9p621vS78fXOUswQpuOpVuNzK1spveVxaxuUh0zq//dxVqvf2wL8bO
	DO1w==
Received: by 10.180.95.100 with SMTP id dj4mr5635238wib.17.1337939073483;
	Fri, 25 May 2012 02:44:33 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id du4sm18498636wib.10.2012.05.25.02.44.30
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 25 May 2012 02:44:32 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 23fd2eb129fde750e16a236acf4c1568a7dda774
Message-Id: <23fd2eb129fde750e16a.1337939069@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Fri, 25 May 2012 11:44:29 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: introduce libxl_vcpuinfo_list_free
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

And fix a leak due to it being missing.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -797,6 +797,7 @@ libxl_cputopology *libxl_get_cpu_topolog
 void libxl_cputopology_list_free(libxl_cputopology *, int nr);
 libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
                                        int *nb_vcpu, int *nrcpus);
+void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr);
 int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
                            libxl_cpumap *cpumap);
 int libxl_set_vcpuaffinity_all(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -558,6 +558,14 @@ void libxl_cputopology_list_free(libxl_c
     free(list);
 }
 
+void libxl_vcpuinfo_list_free(libxl_vcpuinfo *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_vcpuinfo_dispose(&list[i]);
+    free(list);
+}
+
 int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
                        const void *data, size_t datalen,
                        int nfds, const int fds[], const char *what) {
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -3972,10 +3972,9 @@ static void print_domain_vcpuinfo(uint32
 
     for (i = 0; i < nb_vcpu; i++) {
         print_vcpuinfo(domid, &vcpuinfo[i], nr_cpus);
-        libxl_vcpuinfo_dispose(&vcpuinfo[i]);
-    }
-
-    free(vcpuinfo);
+    }
+
+    libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
 }
 
 static void vcpulist(int argc, char **argv)
@@ -4063,11 +4062,14 @@ static void vcpupin(const char *d, const
             fprintf(stderr, "libxl_list_vcpu failed.\n");
             goto vcpupin_out1;
         }
-        for (; nb_vcpu > 0; --nb_vcpu, ++vcpuinfo) {
-            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo->vcpuid, &cpumap) == -1) {
-                fprintf(stderr, "libxl_set_vcpuaffinity failed on vcpu `%u'.\n", vcpuinfo->vcpuid);
+        for (i = 0; i < nb_vcpu; i++) {
+            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo[i].vcpuid,
+                                       &cpumap) == -1) {
+                fprintf(stderr, "libxl_set_vcpuaffinity failed"
+                                " on vcpu `%u'.\n", vcpuinfo[i].vcpuid);
             }
         }
+        libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
     }
   vcpupin_out1:
     libxl_cpumap_dispose(&cpumap);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:44:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:44:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXr4X-0002du-8u; Fri, 25 May 2012 09:44:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1SXr4V-0002dp-UO
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:44:36 +0000
Received: from [85.158.138.51:51786] by server-9.bemta-3.messagelabs.com id
	F1/96-11033-3845FBF4; Fri, 25 May 2012 09:44:35 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337939073!20992434!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25246 invoked from network); 25 May 2012 09:44:33 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:44:33 -0000
Received: by wibhr14 with SMTP id hr14so586059wib.14
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 02:44:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:user-agent:date:from:to:cc;
	bh=a4/oJAKhzLTd6/W4voD8qYt6OOjGqqXv34p3Lf9VrTE=;
	b=GHvgLRGB0BkwuWvc+fZfOu8n8HnSc0YULe/+QbaANf/15agOMfUlBVY8JqfqgPuaTd
	Tef2UxPC8zEMV8uCP2286k0eSpdbvtDe45Kb5Tz39QaqXcWehRBgkXS+uLM73A3wQhkU
	wUTuJfn86OpcDzaMjlKKHISpw4pGq/2DZ/2FJW1H8YQWHeUufZlm9SpWoVBFOho56M7U
	cRA12TpeaG3WmfgN/1hgFcfgYaV/EMA3ujaFE58uwQatQj43o/DKEXidrDaRHs+SGOzU
	YtQJkQ4zE+i5Yi9p621vS78fXOUswQpuOpVuNzK1spveVxaxuUh0zq//dxVqvf2wL8bO
	DO1w==
Received: by 10.180.95.100 with SMTP id dj4mr5635238wib.17.1337939073483;
	Fri, 25 May 2012 02:44:33 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id du4sm18498636wib.10.2012.05.25.02.44.30
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 25 May 2012 02:44:32 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 23fd2eb129fde750e16a236acf4c1568a7dda774
Message-Id: <23fd2eb129fde750e16a.1337939069@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Fri, 25 May 2012 11:44:29 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org, xen-devel@lists.xen.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] [PATCH] libxl: introduce libxl_vcpuinfo_list_free
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

And fix a leak due to it being missing.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -797,6 +797,7 @@ libxl_cputopology *libxl_get_cpu_topolog
 void libxl_cputopology_list_free(libxl_cputopology *, int nr);
 libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
                                        int *nb_vcpu, int *nrcpus);
+void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr);
 int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
                            libxl_cpumap *cpumap);
 int libxl_set_vcpuaffinity_all(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -558,6 +558,14 @@ void libxl_cputopology_list_free(libxl_c
     free(list);
 }
 
+void libxl_vcpuinfo_list_free(libxl_vcpuinfo *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_vcpuinfo_dispose(&list[i]);
+    free(list);
+}
+
 int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
                        const void *data, size_t datalen,
                        int nfds, const int fds[], const char *what) {
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -3972,10 +3972,9 @@ static void print_domain_vcpuinfo(uint32
 
     for (i = 0; i < nb_vcpu; i++) {
         print_vcpuinfo(domid, &vcpuinfo[i], nr_cpus);
-        libxl_vcpuinfo_dispose(&vcpuinfo[i]);
-    }
-
-    free(vcpuinfo);
+    }
+
+    libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
 }
 
 static void vcpulist(int argc, char **argv)
@@ -4063,11 +4062,14 @@ static void vcpupin(const char *d, const
             fprintf(stderr, "libxl_list_vcpu failed.\n");
             goto vcpupin_out1;
         }
-        for (; nb_vcpu > 0; --nb_vcpu, ++vcpuinfo) {
-            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo->vcpuid, &cpumap) == -1) {
-                fprintf(stderr, "libxl_set_vcpuaffinity failed on vcpu `%u'.\n", vcpuinfo->vcpuid);
+        for (i = 0; i < nb_vcpu; i++) {
+            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo[i].vcpuid,
+                                       &cpumap) == -1) {
+                fprintf(stderr, "libxl_set_vcpuaffinity failed"
+                                " on vcpu `%u'.\n", vcpuinfo[i].vcpuid);
             }
         }
+        libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
     }
   vcpupin_out1:
     libxl_cpumap_dispose(&cpumap);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 09:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXr4o-0002f5-LB; Fri, 25 May 2012 09:44:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXr4o-0002eu-19
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:44:54 +0000
Received: from [85.158.143.99:52379] by server-3.bemta-4.messagelabs.com id
	EC/48-05853-5945FBF4; Fri, 25 May 2012 09:44:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337939092!22730127!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18310 invoked from network); 25 May 2012 09:44:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:44:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666483"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:44:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 10:44:51 +0100
Message-ID: <1337939090.22311.22.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 25 May 2012 10:44:50 +0100
In-Reply-To: <0a338fd74bab9eaeea74.1337873876@Solace>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCAyMDEyLTA1LTI0IGF0IDE2OjM3ICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBUbyBhdm9pZCByZWNlbnQgZ2NjIGNvbXBsYWluaW5nIGFib3V0Ogo+IGxpYnhsLmM6IEluIGZ1
bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5
OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5
cGUg4oCYbGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IEFkanVzdCBj
b2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBjbGFpbSB0aGF0Cj4gTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYXJp
byBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBD
aHJpc3RvcGggRWdnZXIgPENocmlzdG9waC5FZ2dlckBhbWQuY29tPgo+IAo+IGRpZmYgLS1naXQg
YS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYwo+IC0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4bC5jCj4gQEAgLTEyMzAsNyAr
MTIzMCw3IEBAIGludCBsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhlYyhsaWJ4bF9jdHgKPiAgICAg
ICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgo+ICAgICAgICAgICAgICByYyA9IGxpYnhs
X2NvbnNvbGVfZXhlYyhjdHgsIGRvbWlkX3ZtLCAwLCBMSUJYTF9DT05TT0xFX1RZUEVfUFYpOwo+
ICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICBjYXNlIC0xOgo+ICsgICAgICAgIGNhc2Ug
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiAgICAgICAgICAgICAgTE9HKEVSUk9SLCJ1bmFi
bGUgdG8gZ2V0IGRvbWFpbiB0eXBlIGZvciBkb21pZD0lIlBSSXUzMixkb21pZF92bSk7Cj4gICAg
ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKPiAgICAgICAgICAgICAgYnJlYWs7Cj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCj4g
LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt
LmMKPiBAQCAtMjU3LDYgKzI1NywxMCBAQCBzdGF0aWMgY2hhciAqKiBsaWJ4bF9fYnVpbGRfZGV2
aWNlX21vZGVsCj4gICAgICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0gJiYgYl9p
bmZvLT5leHRyYV9odm1baV0gIT0gTlVMTDsgaSsrKQo+ICAgICAgICAgICAgICBmbGV4YXJyYXlf
YXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsKPiAgICAgICAgICBicmVhazsK
PiArICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiArICAgICAgICBMSUJYTF9f
TE9HKENUWCwgTElCWExfX0xPR19FUlJPUiwgImludmFsaWQgZG9tYWluIHR5cGUiKTsKPiArICAg
ICAgICBmbGV4YXJyYXlfZnJlZShkbV9hcmdzKTsKPiArICAgICAgICByZXR1cm4gTlVMTDsKCklu
IHNvbWUgY2FzZXMsIGxpa2UgaGVyZSwgdGhlIGNvZGUgaXMgZW50aXRsZWQgdG8gYXNzdW1lIHRo
YXQgdHlwZSBpcwplaXRoZXIgUFYgb3IgSFZNLCBkdWUgdG8gdGhlIGNoZWNrcyBpbgpsaWJ4bF9f
ZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdC4gSSB0aGluayBpZiB3ZSBzZWUgYW4gaW52YWxp
ZCBoZXJlCnRoZW4gdGhhdCBpcyBhbiBhYm9ydCgpIHdvcnRoeSBldmVudC4KClRoZXJlIGFyZSBh
IGJ1bmNoIG9mIHBsYWNlcyB3aGVyZSB3ZSBsb29rIGEgYl9pbmZvLT50eXBlIHdpdGggaWYKc3Rh
dGVtZW50cyBpbnN0ZWFkIG9mIHN3aXRjaC4gUGxhaW4gaWZzIGFyZSBvaywgYnV0IGl0IG1pZ2h0
IGJlIHdvcnRoCmNoZWNraW5nIHRoZSBvbmVzIHdpdGggYW4gZWxzZSBjbGF1c2UgKG5vdCBlbHNl
IGlmKSB0b28/IEkgc3VzcGVjdCBpbgptYW55IGNhc2VzIHRoZXkgYXJlIGVudGl0bGVkIHRoYXQg
IUhWTSA9PSBQViBkdWUgdG8gdGhlIHNldGRlZmF1bHQKdGhpbmcuCgo+ICAgICAgfQo+ICAgICAg
ZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKPiAgICAgIHJldHVybiAoY2hhciAqKikg
ZmxleGFycmF5X2NvbnRlbnRzKGRtX2FyZ3MpOwo+IEBAIC01MDUsNiArNTA5LDEwIEBAIHN0YXRp
YyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKPiAgICAgICAgICBmb3IgKGkgPSAw
OyBiX2luZm8tPmV4dHJhX2h2bSAmJiBiX2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKysp
Cj4gICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9o
dm1baV0pOwo+ICAgICAgICAgIGJyZWFrOwo+ICsgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9J
TlZBTElEOgo+ICsgICAgICAgIExJQlhMX19MT0coQ1RYLCBMSUJYTF9fTE9HX0VSUk9SLCAiaW52
YWxpZCBkb21haW4gdHlwZSIpOwo+ICsgICAgICAgIGZsZXhhcnJheV9mcmVlKGRtX2FyZ3MpOwo+
ICsgICAgICAgIHJldHVybiBOVUxMOwoKYWJvcnQoKSBoZXJlIHRvby4KCj4gICAgICB9Cj4gIAo+
ICAgICAgcmFtX3NpemUgPSBsaWJ4bF9fc2l6ZWtiX3RvX21iKGJfaW5mby0+bWF4X21lbWtiIC0g
Yl9pbmZvLT52aWRlb19tZW1rYik7Cj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rv
bS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF9k
b20uYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4gQEAgLTMzLDkgKzMzLDkgQEAg
bGlieGxfZG9tYWluX3R5cGUgbGlieGxfX2RvbWFpbl90eXBlKGxpYgo+ICAKPiAgICAgIHJldCA9
IHhjX2RvbWFpbl9nZXRpbmZvbGlzdChjdHgtPnhjaCwgZG9taWQsIDEsICZpbmZvKTsKPiAgICAg
IGlmIChyZXQgIT0gMSkKPiAtICAgICAgICByZXR1cm4gLTE7Cj4gKyAgICAgICAgcmV0dXJuIExJ
QlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ7Cj4gICAgICBpZiAoaW5mby5kb21haW4gIT0gZG9taWQp
Cj4gLSAgICAgICAgcmV0dXJuIC0xOwo+ICsgICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5fVFlQ
RV9JTlZBTElEOwo+ICAgICAgaWYgKGluZm8uZmxhZ3MgJiBYRU5fRE9NSU5GX2h2bV9ndWVzdCkK
PiAgICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSFZNOwo+ICAgICAgZWxzZQo+IGRp
ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4
bF90eXBlcy5pZGwKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiArKysgYi90
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiBAQCAtMzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJ
bnQoNjQsIGluaXRfdmFsID0gIkxJQlhMX01FTUtCCj4gICMKPiAgCj4gIGxpYnhsX2RvbWFpbl90
eXBlID0gRW51bWVyYXRpb24oImRvbWFpbl90eXBlIiwgWwo+ICsgICAgKC0xLCAiSU5WQUxJRCIp
LAo+ICAgICAgKDEsICJIVk0iKSwKPiAgICAgICgyLCAiUFYiKSwKPiAgICAgIF0pCj4gQEAgLTMx
NSw2ICszMTYsNyBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWluCj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBVc2UgaG9zdCdzIEU4MjAg
Zm9yIFBDSSBwYXNzdGhyb3VnaC4KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoImU4MjBfaG9zdCIsIGxpYnhsX2RlZmJvb2wpLAo+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF0pKSwKPiArICAgICAgICAgICAgICAgICAoImludmFsaWQiLCBT
dHJ1Y3QoTm9uZSwgW10pKSwKPiAgICAgICAgICAgICAgICAgICBdLCBrZXl2YXJfaW5pdF92YWwg
PSAiLTEiKSksCj4gICAgICBdLCBkaXI9RElSX0lOCj4gICkKCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t
ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Fri May 25 09:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXr4o-0002f5-LB; Fri, 25 May 2012 09:44:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXr4o-0002eu-19
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:44:54 +0000
Received: from [85.158.143.99:52379] by server-3.bemta-4.messagelabs.com id
	EC/48-05853-5945FBF4; Fri, 25 May 2012 09:44:53 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337939092!22730127!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18310 invoked from network); 25 May 2012 09:44:52 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:44:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666483"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:44:51 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 10:44:51 +0100
Message-ID: <1337939090.22311.22.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 25 May 2012 10:44:50 +0100
In-Reply-To: <0a338fd74bab9eaeea74.1337873876@Solace>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVGh1LCAyMDEyLTA1LTI0IGF0IDE2OjM3ICswMTAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBUbyBhdm9pZCByZWNlbnQgZ2NjIGNvbXBsYWluaW5nIGFib3V0Ogo+IGxpYnhsLmM6IEluIGZ1
bmN0aW9uIOKAmGxpYnhsX3ByaW1hcnlfY29uc29sZV9leGVj4oCZOgo+IGxpYnhsLmM6MTIzMzo5
OiBlcnJvcjogY2FzZSB2YWx1ZSDigJg0Mjk0OTY3Mjk14oCZIG5vdCBpbiBlbnVtZXJhdGVkIHR5
cGUg4oCYbGlieGxfZG9tYWluX3R5cGXigJkgWy1XZXJyb3I9c3dpdGNoXQo+IAo+IEFkanVzdCBj
b2RlIHBpZWNlcyB3aGVyZSAtV3N3aXRjaCBtYWtlcyBpdCBjbGFpbSB0aGF0Cj4gTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRCBpcyBub3QgaGFuZGxlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYXJp
byBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBD
aHJpc3RvcGggRWdnZXIgPENocmlzdG9waC5FZ2dlckBhbWQuY29tPgo+IAo+IGRpZmYgLS1naXQg
YS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYwo+IC0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsLmMKPiArKysgYi90b29scy9saWJ4bC9saWJ4bC5jCj4gQEAgLTEyMzAsNyAr
MTIzMCw3IEBAIGludCBsaWJ4bF9wcmltYXJ5X2NvbnNvbGVfZXhlYyhsaWJ4bF9jdHgKPiAgICAg
ICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgo+ICAgICAgICAgICAgICByYyA9IGxpYnhs
X2NvbnNvbGVfZXhlYyhjdHgsIGRvbWlkX3ZtLCAwLCBMSUJYTF9DT05TT0xFX1RZUEVfUFYpOwo+
ICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICBjYXNlIC0xOgo+ICsgICAgICAgIGNhc2Ug
TElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiAgICAgICAgICAgICAgTE9HKEVSUk9SLCJ1bmFi
bGUgdG8gZ2V0IGRvbWFpbiB0eXBlIGZvciBkb21pZD0lIlBSSXUzMixkb21pZF92bSk7Cj4gICAg
ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKPiAgICAgICAgICAgICAgYnJlYWs7Cj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCj4g
LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt
LmMKPiBAQCAtMjU3LDYgKzI1NywxMCBAQCBzdGF0aWMgY2hhciAqKiBsaWJ4bF9fYnVpbGRfZGV2
aWNlX21vZGVsCj4gICAgICAgICAgZm9yIChpID0gMDsgYl9pbmZvLT5leHRyYV9odm0gJiYgYl9p
bmZvLT5leHRyYV9odm1baV0gIT0gTlVMTDsgaSsrKQo+ICAgICAgICAgICAgICBmbGV4YXJyYXlf
YXBwZW5kKGRtX2FyZ3MsIGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsKPiAgICAgICAgICBicmVhazsK
PiArICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSU5WQUxJRDoKPiArICAgICAgICBMSUJYTF9f
TE9HKENUWCwgTElCWExfX0xPR19FUlJPUiwgImludmFsaWQgZG9tYWluIHR5cGUiKTsKPiArICAg
ICAgICBmbGV4YXJyYXlfZnJlZShkbV9hcmdzKTsKPiArICAgICAgICByZXR1cm4gTlVMTDsKCklu
IHNvbWUgY2FzZXMsIGxpa2UgaGVyZSwgdGhlIGNvZGUgaXMgZW50aXRsZWQgdG8gYXNzdW1lIHRo
YXQgdHlwZSBpcwplaXRoZXIgUFYgb3IgSFZNLCBkdWUgdG8gdGhlIGNoZWNrcyBpbgpsaWJ4bF9f
ZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdC4gSSB0aGluayBpZiB3ZSBzZWUgYW4gaW52YWxp
ZCBoZXJlCnRoZW4gdGhhdCBpcyBhbiBhYm9ydCgpIHdvcnRoeSBldmVudC4KClRoZXJlIGFyZSBh
IGJ1bmNoIG9mIHBsYWNlcyB3aGVyZSB3ZSBsb29rIGEgYl9pbmZvLT50eXBlIHdpdGggaWYKc3Rh
dGVtZW50cyBpbnN0ZWFkIG9mIHN3aXRjaC4gUGxhaW4gaWZzIGFyZSBvaywgYnV0IGl0IG1pZ2h0
IGJlIHdvcnRoCmNoZWNraW5nIHRoZSBvbmVzIHdpdGggYW4gZWxzZSBjbGF1c2UgKG5vdCBlbHNl
IGlmKSB0b28/IEkgc3VzcGVjdCBpbgptYW55IGNhc2VzIHRoZXkgYXJlIGVudGl0bGVkIHRoYXQg
IUhWTSA9PSBQViBkdWUgdG8gdGhlIHNldGRlZmF1bHQKdGhpbmcuCgo+ICAgICAgfQo+ICAgICAg
ZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBOVUxMKTsKPiAgICAgIHJldHVybiAoY2hhciAqKikg
ZmxleGFycmF5X2NvbnRlbnRzKGRtX2FyZ3MpOwo+IEBAIC01MDUsNiArNTA5LDEwIEBAIHN0YXRp
YyBjaGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKPiAgICAgICAgICBmb3IgKGkgPSAw
OyBiX2luZm8tPmV4dHJhX2h2bSAmJiBiX2luZm8tPmV4dHJhX2h2bVtpXSAhPSBOVUxMOyBpKysp
Cj4gICAgICAgICAgICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgYl9pbmZvLT5leHRyYV9o
dm1baV0pOwo+ICAgICAgICAgIGJyZWFrOwo+ICsgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9J
TlZBTElEOgo+ICsgICAgICAgIExJQlhMX19MT0coQ1RYLCBMSUJYTF9fTE9HX0VSUk9SLCAiaW52
YWxpZCBkb21haW4gdHlwZSIpOwo+ICsgICAgICAgIGZsZXhhcnJheV9mcmVlKGRtX2FyZ3MpOwo+
ICsgICAgICAgIHJldHVybiBOVUxMOwoKYWJvcnQoKSBoZXJlIHRvby4KCj4gICAgICB9Cj4gIAo+
ICAgICAgcmFtX3NpemUgPSBsaWJ4bF9fc2l6ZWtiX3RvX21iKGJfaW5mby0+bWF4X21lbWtiIC0g
Yl9pbmZvLT52aWRlb19tZW1rYik7Cj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rv
bS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF9k
b20uYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCj4gQEAgLTMzLDkgKzMzLDkgQEAg
bGlieGxfZG9tYWluX3R5cGUgbGlieGxfX2RvbWFpbl90eXBlKGxpYgo+ICAKPiAgICAgIHJldCA9
IHhjX2RvbWFpbl9nZXRpbmZvbGlzdChjdHgtPnhjaCwgZG9taWQsIDEsICZpbmZvKTsKPiAgICAg
IGlmIChyZXQgIT0gMSkKPiAtICAgICAgICByZXR1cm4gLTE7Cj4gKyAgICAgICAgcmV0dXJuIExJ
QlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ7Cj4gICAgICBpZiAoaW5mby5kb21haW4gIT0gZG9taWQp
Cj4gLSAgICAgICAgcmV0dXJuIC0xOwo+ICsgICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5fVFlQ
RV9JTlZBTElEOwo+ICAgICAgaWYgKGluZm8uZmxhZ3MgJiBYRU5fRE9NSU5GX2h2bV9ndWVzdCkK
PiAgICAgICAgICByZXR1cm4gTElCWExfRE9NQUlOX1RZUEVfSFZNOwo+ICAgICAgZWxzZQo+IGRp
ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4
bF90eXBlcy5pZGwKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiArKysgYi90
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiBAQCAtMzAsNiArMzAsNyBAQCBNZW1LQiA9IFVJ
bnQoNjQsIGluaXRfdmFsID0gIkxJQlhMX01FTUtCCj4gICMKPiAgCj4gIGxpYnhsX2RvbWFpbl90
eXBlID0gRW51bWVyYXRpb24oImRvbWFpbl90eXBlIiwgWwo+ICsgICAgKC0xLCAiSU5WQUxJRCIp
LAo+ICAgICAgKDEsICJIVk0iKSwKPiAgICAgICgyLCAiUFYiKSwKPiAgICAgIF0pCj4gQEAgLTMx
NSw2ICszMTYsNyBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWluCj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBVc2UgaG9zdCdzIEU4MjAg
Zm9yIFBDSSBwYXNzdGhyb3VnaC4KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoImU4MjBfaG9zdCIsIGxpYnhsX2RlZmJvb2wpLAo+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF0pKSwKPiArICAgICAgICAgICAgICAgICAoImludmFsaWQiLCBT
dHJ1Y3QoTm9uZSwgW10pKSwKPiAgICAgICAgICAgICAgICAgICBdLCBrZXl2YXJfaW5pdF92YWwg
PSAiLTEiKSksCj4gICAgICBdLCBkaXI9RElSX0lOCj4gICkKCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t
ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK

From xen-devel-bounces@lists.xen.org Fri May 25 09:48:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:48:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXr8H-0002sV-8k; Fri, 25 May 2012 09:48:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXr8F-0002sM-Mz
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:48:27 +0000
Received: from [85.158.139.83:61803] by server-1.bemta-5.messagelabs.com id
	49/74-21549-A655FBF4; Fri, 25 May 2012 09:48:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337939305!27602785!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15964 invoked from network); 25 May 2012 09:48:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:48:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666577"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:48:24 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:48:24 +0100
Date: Fri, 25 May 2012 10:48:09 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-420898798-1337939304=:26786"
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-420898798-1337939304=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT

On Thu, 24 May 2012, Jean Guyader wrote:
> Some of the downsides to using the shared memory grant method:
> Â Â Â  - This method imposes an implicit ordering on domain destruction.
> Â Â Â Â Â  When this ordering is not honored the grantor domain cannot shutdown
> Â Â Â Â Â  while the grantee still holds references. In the extreme case where
> Â Â Â Â Â  the grantee domain hangs or crashes without releasing it grantedÂ Â Â 
> Â Â Â Â Â  pages, both domains can end up hung and unstoppable (the DEADBEEFÂ Â 
> Â Â Â Â Â  issue).Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 

Is it still true? This looks like a serious issue.


> Â Â Â  - You can't trust any ring structures because the entire set of pages
> Â Â Â Â Â  that are granted are available to be written by the either guest.Â Â 
> Â Â Â  - The PV connect/disconnect state-machine is poorly implemented.Â Â Â Â Â 
> Â Â Â Â Â  There's no trivial mechanism to synchronize disconnecting/reconnecting
> Â Â Â Â Â  and dom0 must also allow the two domains to see parts of xenstoreÂ Â Â Â 
> Â Â Â Â Â  belonging to the other domain in the process.Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 

We are starting to see this problem, trying to setup driver domains with
libxl.


> Â Â Â  - Using the grant-ref model and having to map grant pages on eachÂ Â Â Â Â Â 
> Â Â Â Â Â  transfer cause updates to V->P memory mappings and thus leads toÂ Â Â Â Â 
> Â Â Â Â Â  TLB misses and flushes (TLB flushes being expensive operations).Â Â Â Â Â 

[snip]

> I've done some benchmarks on V4V and libchan and the results were
> pretty close between the the two if you use the same buffer size in both cases.

It is strange that you cannot see any performance advantages using v4v. I
was expecting quite a difference, especially on new numa machines.
--8323329-420898798-1337939304=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-420898798-1337939304=:26786--


From xen-devel-bounces@lists.xen.org Fri May 25 09:48:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 09:48:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXr8H-0002sV-8k; Fri, 25 May 2012 09:48:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXr8F-0002sM-Mz
	for xen-devel@lists.xen.org; Fri, 25 May 2012 09:48:27 +0000
Received: from [85.158.139.83:61803] by server-1.bemta-5.messagelabs.com id
	49/74-21549-A655FBF4; Fri, 25 May 2012 09:48:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1337939305!27602785!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15964 invoked from network); 25 May 2012 09:48:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 09:48:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12666577"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:48:24 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 10:48:24 +0100
Date: Fri, 25 May 2012 10:48:09 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-420898798-1337939304=:26786"
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-420898798-1337939304=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT

On Thu, 24 May 2012, Jean Guyader wrote:
> Some of the downsides to using the shared memory grant method:
> Â Â Â  - This method imposes an implicit ordering on domain destruction.
> Â Â Â Â Â  When this ordering is not honored the grantor domain cannot shutdown
> Â Â Â Â Â  while the grantee still holds references. In the extreme case where
> Â Â Â Â Â  the grantee domain hangs or crashes without releasing it grantedÂ Â Â 
> Â Â Â Â Â  pages, both domains can end up hung and unstoppable (the DEADBEEFÂ Â 
> Â Â Â Â Â  issue).Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 

Is it still true? This looks like a serious issue.


> Â Â Â  - You can't trust any ring structures because the entire set of pages
> Â Â Â Â Â  that are granted are available to be written by the either guest.Â Â 
> Â Â Â  - The PV connect/disconnect state-machine is poorly implemented.Â Â Â Â Â 
> Â Â Â Â Â  There's no trivial mechanism to synchronize disconnecting/reconnecting
> Â Â Â Â Â  and dom0 must also allow the two domains to see parts of xenstoreÂ Â Â Â 
> Â Â Â Â Â  belonging to the other domain in the process.Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 

We are starting to see this problem, trying to setup driver domains with
libxl.


> Â Â Â  - Using the grant-ref model and having to map grant pages on eachÂ Â Â Â Â Â 
> Â Â Â Â Â  transfer cause updates to V->P memory mappings and thus leads toÂ Â Â Â Â 
> Â Â Â Â Â  TLB misses and flushes (TLB flushes being expensive operations).Â Â Â Â Â 

[snip]

> I've done some benchmarks on V4V and libchan and the results were
> pretty close between the the two if you use the same buffer size in both cases.

It is strange that you cannot see any performance advantages using v4v. I
was expecting quite a difference, especially on new numa machines.
--8323329-420898798-1337939304=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-420898798-1337939304=:26786--


From xen-devel-bounces@lists.xen.org Fri May 25 10:12:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:12:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrUy-0003B7-Ap; Fri, 25 May 2012 10:11:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXrUw-0003B2-O3
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:11:54 +0000
Received: from [193.109.254.147:46682] by server-9.bemta-14.messagelabs.com id
	D1/BF-05787-AEA5FBF4; Fri, 25 May 2012 10:11:54 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337940712!10994091!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12728 invoked from network); 25 May 2012 10:11:53 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:11:53 -0000
Received: by vbbfn1 with SMTP id fn1so660645vbb.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 03:11:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=L73VG+GpfkBoi7Ea5kUhPZvQEZfBqXO55tmK4PTHX3c=;
	b=mpJr1w5oKrQhaYr9yl+klwsNAhk6vXCONtqurdvkhN4WV0iykjEWF2BBucUczM2zWQ
	cuIdEEQV19c6vvzkMPpovsXoyHVZhPHrTa9zriFXYp35kfO7u15RDvTBCxC10xYkK0Hw
	MaQ06wi2X6zd717uCUdtJafeY0XmfvfbOjg3b96Oyj8bQUf1jeExBy3KmYCHKSvtIDfC
	5KeouWzghUyrR+oMZcUrsBep53/yslXxTqHNeo3WXaoNJT34QkKwtR92xdOkEFXsPcdC
	o6v2L3H8RIOiFfHldapJf/nbfHo2YXF82WVIsLzmZk6KNgYs95oTPXJ4Kmx7RNWAwatm
	zJcA==
Received: by 10.220.240.7 with SMTP id ky7mr2836324vcb.46.1337940711423; Fri,
	25 May 2012 03:11:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Fri, 25 May 2012 03:11:31 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Fri, 25 May 2012 11:11:31 +0100
Message-ID: <CAEBdQ93XMnrqQx7wc1gzSdZO+oA6auQmijU2yo2e9-KgSoOcbw@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25 May 2012 10:48, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
>
> On Thu, 24 May 2012, Jean Guyader wrote:
> > Some of the downsides to using the shared memory grant method:
> > =A0=A0=A0 - This method imposes an implicit ordering on domain destruct=
ion.
> > =A0=A0=A0=A0=A0 When this ordering is not honored the grantor domain ca=
nnot shutdown
> > =A0=A0=A0=A0=A0 while the grantee still holds references. In the extrem=
e case where
> > =A0=A0=A0=A0=A0 the grantee domain hangs or crashes without releasing i=
t granted
> > =A0=A0=A0=A0=A0 pages, both domains can end up hung and unstoppable (th=
e DEADBEEF
> > =A0=A0=A0=A0=A0 issue).
>
> Is it still true? This looks like a serious issue.
>

I have tried to repro this issue the order day with libvchan but I
couldn't so it's probably fixed.
I suspect it has something to do with grant-ref and I don't think
libvchan uses grant refs.

>
> > =A0=A0=A0 - You can't trust any ring structures because the entire set =
of pages
> > =A0=A0=A0=A0=A0 that are granted are available to be written by the eit=
her guest.
> > =A0=A0=A0 - The PV connect/disconnect state-machine is poorly implement=
ed.
> > =A0=A0=A0=A0=A0 There's no trivial mechanism to synchronize disconnecti=
ng/reconnecting
> > =A0=A0=A0=A0=A0 and dom0 must also allow the two domains to see parts o=
f xenstore
> > =A0=A0=A0=A0=A0 belonging to the other domain in the process.
>
> We are starting to see this problem, trying to setup driver domains with
> libxl.
>
>
> > =A0=A0=A0 - Using the grant-ref model and having to map grant pages on =
each
> > =A0=A0=A0=A0=A0 transfer cause updates to V->P memory mappings and thus=
 leads to
> > =A0=A0=A0=A0=A0 TLB misses and flushes (TLB flushes being expensive ope=
rations).
>
> [snip]
>
> > I've done some benchmarks on V4V and libchan and the results were
> > pretty close between the the two if you use the same buffer size in bot=
h cases.
>
> It is strange that you cannot see any performance advantages using v4v. I
> was expecting quite a difference, especially on new numa machines.

The numbers for both system were in the 50MB/s 60MB/s ranges from domU to d=
omU.
That was on a out of the box testing on a desktop type machine I
didn't look at making
any kind of tricks or adjustment to make it go faster.

Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:12:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:12:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrUy-0003B7-Ap; Fri, 25 May 2012 10:11:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@gmail.com>) id 1SXrUw-0003B2-O3
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:11:54 +0000
Received: from [193.109.254.147:46682] by server-9.bemta-14.messagelabs.com id
	D1/BF-05787-AEA5FBF4; Fri, 25 May 2012 10:11:54 +0000
X-Env-Sender: jean.guyader@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1337940712!10994091!1
X-Originating-IP: [209.85.212.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12728 invoked from network); 25 May 2012 10:11:53 -0000
Received: from mail-vb0-f45.google.com (HELO mail-vb0-f45.google.com)
	(209.85.212.45)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:11:53 -0000
Received: by vbbfn1 with SMTP id fn1so660645vbb.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 03:11:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=L73VG+GpfkBoi7Ea5kUhPZvQEZfBqXO55tmK4PTHX3c=;
	b=mpJr1w5oKrQhaYr9yl+klwsNAhk6vXCONtqurdvkhN4WV0iykjEWF2BBucUczM2zWQ
	cuIdEEQV19c6vvzkMPpovsXoyHVZhPHrTa9zriFXYp35kfO7u15RDvTBCxC10xYkK0Hw
	MaQ06wi2X6zd717uCUdtJafeY0XmfvfbOjg3b96Oyj8bQUf1jeExBy3KmYCHKSvtIDfC
	5KeouWzghUyrR+oMZcUrsBep53/yslXxTqHNeo3WXaoNJT34QkKwtR92xdOkEFXsPcdC
	o6v2L3H8RIOiFfHldapJf/nbfHo2YXF82WVIsLzmZk6KNgYs95oTPXJ4Kmx7RNWAwatm
	zJcA==
Received: by 10.220.240.7 with SMTP id ky7mr2836324vcb.46.1337940711423; Fri,
	25 May 2012 03:11:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.1.2 with HTTP; Fri, 25 May 2012 03:11:31 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
From: Jean Guyader <jean.guyader@gmail.com>
Date: Fri, 25 May 2012 11:11:31 +0100
Message-ID: <CAEBdQ93XMnrqQx7wc1gzSdZO+oA6auQmijU2yo2e9-KgSoOcbw@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25 May 2012 10:48, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
>
> On Thu, 24 May 2012, Jean Guyader wrote:
> > Some of the downsides to using the shared memory grant method:
> > =A0=A0=A0 - This method imposes an implicit ordering on domain destruct=
ion.
> > =A0=A0=A0=A0=A0 When this ordering is not honored the grantor domain ca=
nnot shutdown
> > =A0=A0=A0=A0=A0 while the grantee still holds references. In the extrem=
e case where
> > =A0=A0=A0=A0=A0 the grantee domain hangs or crashes without releasing i=
t granted
> > =A0=A0=A0=A0=A0 pages, both domains can end up hung and unstoppable (th=
e DEADBEEF
> > =A0=A0=A0=A0=A0 issue).
>
> Is it still true? This looks like a serious issue.
>

I have tried to repro this issue the order day with libvchan but I
couldn't so it's probably fixed.
I suspect it has something to do with grant-ref and I don't think
libvchan uses grant refs.

>
> > =A0=A0=A0 - You can't trust any ring structures because the entire set =
of pages
> > =A0=A0=A0=A0=A0 that are granted are available to be written by the eit=
her guest.
> > =A0=A0=A0 - The PV connect/disconnect state-machine is poorly implement=
ed.
> > =A0=A0=A0=A0=A0 There's no trivial mechanism to synchronize disconnecti=
ng/reconnecting
> > =A0=A0=A0=A0=A0 and dom0 must also allow the two domains to see parts o=
f xenstore
> > =A0=A0=A0=A0=A0 belonging to the other domain in the process.
>
> We are starting to see this problem, trying to setup driver domains with
> libxl.
>
>
> > =A0=A0=A0 - Using the grant-ref model and having to map grant pages on =
each
> > =A0=A0=A0=A0=A0 transfer cause updates to V->P memory mappings and thus=
 leads to
> > =A0=A0=A0=A0=A0 TLB misses and flushes (TLB flushes being expensive ope=
rations).
>
> [snip]
>
> > I've done some benchmarks on V4V and libchan and the results were
> > pretty close between the the two if you use the same buffer size in bot=
h cases.
>
> It is strange that you cannot see any performance advantages using v4v. I
> was expecting quite a difference, especially on new numa machines.

The numbers for both system were in the 50MB/s 60MB/s ranges from domU to d=
omU.
That was on a out of the box testing on a desktop type machine I
didn't look at making
any kind of tricks or adjustment to make it go faster.

Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:16:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:16:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrZN-0003IU-0q; Fri, 25 May 2012 10:16:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXrZL-0003IM-Am
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:16:27 +0000
Received: from [85.158.139.83:29300] by server-2.bemta-5.messagelabs.com id
	62/A2-09957-AFB5FBF4; Fri, 25 May 2012 10:16:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337940984!30298645!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26621 invoked from network); 25 May 2012 10:16:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:16:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12667251"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:16:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 11:16:23 +0100
Date: Fri, 25 May 2012 11:16:08 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ93XMnrqQx7wc1gzSdZO+oA6auQmijU2yo2e9-KgSoOcbw@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205251115100.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
	<CAEBdQ93XMnrqQx7wc1gzSdZO+oA6auQmijU2yo2e9-KgSoOcbw@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1347086136-1337940920=:26786"
Content-ID: <alpine.DEB.2.00.1205251115350.26786@kaball-desktop>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-1347086136-1337940920=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.00.1205251115351.26786@kaball-desktop>

On Fri, 25 May 2012, Jean Guyader wrote:
> On 25 May 2012 10:48, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> >
> > On Thu, 24 May 2012, Jean Guyader wrote:
> > > Some of the downsides to using the shared memory grant method:
> > > Â Â Â  - This method imposes an implicit ordering on domain destruction.
> > > Â Â Â Â Â  When this ordering is not honored the grantor domain cannot shutdown
> > > Â Â Â Â Â  while the grantee still holds references. In the extreme case where
> > > Â Â Â Â Â  the grantee domain hangs or crashes without releasing it granted
> > > Â Â Â Â Â  pages, both domains can end up hung and unstoppable (the DEADBEEF
> > > Â Â Â Â Â  issue).
> >
> > Is it still true? This looks like a serious issue.
> >
> 
> I have tried to repro this issue the order day with libvchan but I
> couldn't so it's probably fixed.
> I suspect it has something to do with grant-ref and I don't think
> libvchan uses grant refs.
> 
> >
> > > Â Â Â  - You can't trust any ring structures because the entire set of pages
> > > Â Â Â Â Â  that are granted are available to be written by the either guest.
> > > Â Â Â  - The PV connect/disconnect state-machine is poorly implemented.
> > > Â Â Â Â Â  There's no trivial mechanism to synchronize disconnecting/reconnecting
> > > Â Â Â Â Â  and dom0 must also allow the two domains to see parts of xenstore
> > > Â Â Â Â Â  belonging to the other domain in the process.
> >
> > We are starting to see this problem, trying to setup driver domains with
> > libxl.
> >
> >
> > > Â Â Â  - Using the grant-ref model and having to map grant pages on each
> > > Â Â Â Â Â  transfer cause updates to V->P memory mappings and thus leads to
> > > Â Â Â Â Â  TLB misses and flushes (TLB flushes being expensive operations).
> >
> > [snip]
> >
> > > I've done some benchmarks on V4V and libchan and the results were
> > > pretty close between the the two if you use the same buffer size in both cases.
> >
> > It is strange that you cannot see any performance advantages using v4v. I
> > was expecting quite a difference, especially on new numa machines.
> 
> The numbers for both system were in the 50MB/s 60MB/s ranges from domU to domU.
> That was on a out of the box testing on a desktop type machine I
> didn't look at making
> any kind of tricks or adjustment to make it go faster.

I suspect that the same test on a machine with 32 cpus and 4-8 numa
nodes would have given different results.
--8323329-1347086136-1337940920=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-1347086136-1337940920=:26786--


From xen-devel-bounces@lists.xen.org Fri May 25 10:16:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:16:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrZN-0003IU-0q; Fri, 25 May 2012 10:16:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXrZL-0003IM-Am
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:16:27 +0000
Received: from [85.158.139.83:29300] by server-2.bemta-5.messagelabs.com id
	62/A2-09957-AFB5FBF4; Fri, 25 May 2012 10:16:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1337940984!30298645!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26621 invoked from network); 25 May 2012 10:16:24 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:16:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12667251"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:16:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 11:16:23 +0100
Date: Fri, 25 May 2012 11:16:08 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jean Guyader <jean.guyader@gmail.com>
In-Reply-To: <CAEBdQ93XMnrqQx7wc1gzSdZO+oA6auQmijU2yo2e9-KgSoOcbw@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1205251115100.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<alpine.DEB.2.00.1205251044140.26786@kaball-desktop>
	<CAEBdQ93XMnrqQx7wc1gzSdZO+oA6auQmijU2yo2e9-KgSoOcbw@mail.gmail.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1347086136-1337940920=:26786"
Content-ID: <alpine.DEB.2.00.1205251115350.26786@kaball-desktop>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--8323329-1347086136-1337940920=:26786
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.00.1205251115351.26786@kaball-desktop>

On Fri, 25 May 2012, Jean Guyader wrote:
> On 25 May 2012 10:48, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> >
> > On Thu, 24 May 2012, Jean Guyader wrote:
> > > Some of the downsides to using the shared memory grant method:
> > > Â Â Â  - This method imposes an implicit ordering on domain destruction.
> > > Â Â Â Â Â  When this ordering is not honored the grantor domain cannot shutdown
> > > Â Â Â Â Â  while the grantee still holds references. In the extreme case where
> > > Â Â Â Â Â  the grantee domain hangs or crashes without releasing it granted
> > > Â Â Â Â Â  pages, both domains can end up hung and unstoppable (the DEADBEEF
> > > Â Â Â Â Â  issue).
> >
> > Is it still true? This looks like a serious issue.
> >
> 
> I have tried to repro this issue the order day with libvchan but I
> couldn't so it's probably fixed.
> I suspect it has something to do with grant-ref and I don't think
> libvchan uses grant refs.
> 
> >
> > > Â Â Â  - You can't trust any ring structures because the entire set of pages
> > > Â Â Â Â Â  that are granted are available to be written by the either guest.
> > > Â Â Â  - The PV connect/disconnect state-machine is poorly implemented.
> > > Â Â Â Â Â  There's no trivial mechanism to synchronize disconnecting/reconnecting
> > > Â Â Â Â Â  and dom0 must also allow the two domains to see parts of xenstore
> > > Â Â Â Â Â  belonging to the other domain in the process.
> >
> > We are starting to see this problem, trying to setup driver domains with
> > libxl.
> >
> >
> > > Â Â Â  - Using the grant-ref model and having to map grant pages on each
> > > Â Â Â Â Â  transfer cause updates to V->P memory mappings and thus leads to
> > > Â Â Â Â Â  TLB misses and flushes (TLB flushes being expensive operations).
> >
> > [snip]
> >
> > > I've done some benchmarks on V4V and libchan and the results were
> > > pretty close between the the two if you use the same buffer size in both cases.
> >
> > It is strange that you cannot see any performance advantages using v4v. I
> > was expecting quite a difference, especially on new numa machines.
> 
> The numbers for both system were in the 50MB/s 60MB/s ranges from domU to domU.
> That was on a out of the box testing on a desktop type machine I
> didn't look at making
> any kind of tricks or adjustment to make it go faster.

I suspect that the same test on a machine with 32 cpus and 4-8 numa
nodes would have given different results.
--8323329-1347086136-1337940920=:26786
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--8323329-1347086136-1337940920=:26786--


From xen-devel-bounces@lists.xen.org Fri May 25 10:20:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrcm-0003SY-Oj; Fri, 25 May 2012 10:20:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXrcl-0003SQ-Vs
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:20:00 +0000
Received: from [85.158.139.83:32885] by server-7.bemta-5.messagelabs.com id
	D2/5B-15932-FCC5FBF4; Fri, 25 May 2012 10:19:59 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337941197!30637801!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDc1MTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14218 invoked from network); 25 May 2012 10:19:58 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 10:19:58 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 03F1914FD;
	Fri, 25 May 2012 13:19:56 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id C3EA92005D; Fri, 25 May 2012 13:19:56 +0300 (EEST)
Date: Fri, 25 May 2012 13:19:56 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <20120525101956.GA2058@reaktio.net>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 06:23:19PM +0100, Jean Guyader wrote:
> 
>    Reasons why the V4V method is quite good even though it does memory
>    copies:
>        - Memory transfer speeds through the FSB in modern chipsets is quite
>          fast. Speeds on the order of 10-12 Gb/s (over say 2 DRAM channels)
>          can be realized.
>

Hello,

I just wanted to ask for clarification..
Did you mean 10-12 Gbit/sec or 10-12 GB (GigaBytes) per second? 

Thanks,

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:20:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrcm-0003SY-Oj; Fri, 25 May 2012 10:20:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SXrcl-0003SQ-Vs
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:20:00 +0000
Received: from [85.158.139.83:32885] by server-7.bemta-5.messagelabs.com id
	D2/5B-15932-FCC5FBF4; Fri, 25 May 2012 10:19:59 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-10.tower-182.messagelabs.com!1337941197!30637801!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NDc1MTg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14218 invoked from network); 25 May 2012 10:19:58 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 10:19:58 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 03F1914FD;
	Fri, 25 May 2012 13:19:56 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id C3EA92005D; Fri, 25 May 2012 13:19:56 +0300 (EEST)
Date: Fri, 25 May 2012 13:19:56 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Jean Guyader <jean.guyader@gmail.com>
Message-ID: <20120525101956.GA2058@reaktio.net>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 06:23:19PM +0100, Jean Guyader wrote:
> 
>    Reasons why the V4V method is quite good even though it does memory
>    copies:
>        - Memory transfer speeds through the FSB in modern chipsets is quite
>          fast. Speeds on the order of 10-12 Gb/s (over say 2 DRAM channels)
>          can be realized.
>

Hello,

I just wanted to ask for clarification..
Did you mean 10-12 Gbit/sec or 10-12 GB (GigaBytes) per second? 

Thanks,

-- Pasi


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:27:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrjp-0003d5-LS; Fri, 25 May 2012 10:27:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXrjo-0003d0-7B
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:27:16 +0000
Received: from [85.158.143.99:31864] by server-2.bemta-4.messagelabs.com id
	62/2A-12211-38E5FBF4; Fri, 25 May 2012 10:27:15 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337941632!29744453!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19968 invoked from network); 25 May 2012 10:27:13 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-216.messagelabs.com with SMTP;
	25 May 2012 10:27:13 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78153237; Fri, 25 May 2012 12:27:11 +0200
Message-ID: <1337941600.5761.19.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 25 May 2012 12:26:40 +0200
In-Reply-To: <1337939090.22311.22.camel@zakaz.uk.xensource.com>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5990162498898032920=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5990162498898032920==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-XN94Y1th1CK8CpHku0EQ"


--=-XN94Y1th1CK8CpHku0EQ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-25 at 10:44 +0100, Ian Campbell wrote:
> > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> > --- a/tools/libxl/libxl_dm.c
> > +++ b/tools/libxl/libxl_dm.c
> > @@ -257,6 +257,10 @@ static char ** libxl__build_device_model
> >          for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D N=
ULL; i++)
> >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> >          break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
> > +        flexarray_free(dm_args);
> > +        return NULL;
>=20
> In some cases, like here, the code is entitled to assume that type is
> either PV or HVM, due to the checks in
> libxl__domain_build_info_setdefault. I think if we see an invalid here
> then that is an abort() worthy event.
>=20
As you wish, although it seems to me that this case above is the only
possible situation where we are returning NULL from that function.
Nevertheless, a NULL return value is handled and considered (and
propagated) as error by the caller. That's why, when Roger suggested
going this way (i.e., retuning NULL), I liked the idea very much and
went for it.

That being said, I'm very very very few confident with these code paths,
so I'm just thought it might worth pointing the above out, but I'll
definitely cope with your request if you really thing this is they
correct thing o do.

> There are a bunch of places where we look a b_info->type with if
> statements instead of switch. Plain ifs are ok, but it might be worth
> checking the ones with an else clause (not else if) too? I suspect in
> many cases they are entitled that !HVM =3D=3D PV due to the setdefault
> thing.
>=20

Right, and many of them I can take care of. Perhaps the problem is there
are some places where the event of libxl__domain_type "failing" (i.e.,
returning something different from HVM or PV) is somewhat considered
impossible, or at least neglected, like this one here:

int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                         uint32_t domid, int fd)
{
    GC_INIT(ctx);
    libxl_domain_type type =3D libxl__domain_type(gc, domid);
    int live =3D info !=3D NULL && info->flags & XL_SUSPEND_LIVE;
    int debug =3D info !=3D NULL && info->flags & XL_SUSPEND_DEBUG;
    int rc =3D 0;

    rc =3D libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
                                      /* No Remus */ NULL);

    if (!rc && type =3D=3D LIBXL_DOMAIN_TYPE_HVM)
        rc =3D libxl__domain_save_device_model(gc, domid, fd);
    GC_FREE;
    return rc;
}


Of course that can be right because of your argument about _sefdefault,
but I'm not sure how to make sure of that and what to do about them...
Thoughts?


On a related note, re what we where discussing yesterday on IRC about
putting a 'default' clause on those switches, there already is some
heterogeneity here. For example:


int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
{
    ...
    switch (libxl__domain_type(gc, domid)) {
    case LIBXL_DOMAIN_TYPE_HVM:
        ...
        break;
    case LIBXL_DOMAIN_TYPE_PV:
        ...
        break;
    default:
        abort();
    }
    ...
}

or:

int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
{
    ...
    else {
        switch (libxl__domain_type(gc, domid_vm)) {
        case LIBXL_DOMAIN_TYPE_HVM:
            ...
            break;
        case LIBXL_DOMAIN_TYPE_PV:
            ...
            break;
        case LIBXL_DOMAIN_TYPE_INVALID:
            ...
            break;
        default:
            abort();
        }
    ...
}

Should we leave it like this? Is it worth/reasonable to convert all the
'default:' into 'case LIBXL_DOMAIN_TYPE_INVALID:' (if yes, what do we do
with the places that have both? :O) ? Or perhaps vice versa?

If we can gather consensus on an alternative, I can go ahead and put it
down all over the places...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-XN94Y1th1CK8CpHku0EQ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+/XmAACgkQk4XaBE3IOsRYXACeMaldMKsSXfdJLz+oXkgzM872
Um8AniN6Di0iaum+pVqKWzgPe4i2lI3C
=uHou
-----END PGP SIGNATURE-----

--=-XN94Y1th1CK8CpHku0EQ--



--===============5990162498898032920==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5990162498898032920==--



From xen-devel-bounces@lists.xen.org Fri May 25 10:27:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrjp-0003d5-LS; Fri, 25 May 2012 10:27:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXrjo-0003d0-7B
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:27:16 +0000
Received: from [85.158.143.99:31864] by server-2.bemta-4.messagelabs.com id
	62/2A-12211-38E5FBF4; Fri, 25 May 2012 10:27:15 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-216.messagelabs.com!1337941632!29744453!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19968 invoked from network); 25 May 2012 10:27:13 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-216.messagelabs.com with SMTP;
	25 May 2012 10:27:13 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78153237; Fri, 25 May 2012 12:27:11 +0200
Message-ID: <1337941600.5761.19.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 25 May 2012 12:26:40 +0200
In-Reply-To: <1337939090.22311.22.camel@zakaz.uk.xensource.com>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5990162498898032920=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5990162498898032920==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-XN94Y1th1CK8CpHku0EQ"


--=-XN94Y1th1CK8CpHku0EQ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-25 at 10:44 +0100, Ian Campbell wrote:
> > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> > --- a/tools/libxl/libxl_dm.c
> > +++ b/tools/libxl/libxl_dm.c
> > @@ -257,6 +257,10 @@ static char ** libxl__build_device_model
> >          for (i =3D 0; b_info->extra_hvm && b_info->extra_hvm[i] !=3D N=
ULL; i++)
> >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> >          break;
> > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
> > +        flexarray_free(dm_args);
> > +        return NULL;
>=20
> In some cases, like here, the code is entitled to assume that type is
> either PV or HVM, due to the checks in
> libxl__domain_build_info_setdefault. I think if we see an invalid here
> then that is an abort() worthy event.
>=20
As you wish, although it seems to me that this case above is the only
possible situation where we are returning NULL from that function.
Nevertheless, a NULL return value is handled and considered (and
propagated) as error by the caller. That's why, when Roger suggested
going this way (i.e., retuning NULL), I liked the idea very much and
went for it.

That being said, I'm very very very few confident with these code paths,
so I'm just thought it might worth pointing the above out, but I'll
definitely cope with your request if you really thing this is they
correct thing o do.

> There are a bunch of places where we look a b_info->type with if
> statements instead of switch. Plain ifs are ok, but it might be worth
> checking the ones with an else clause (not else if) too? I suspect in
> many cases they are entitled that !HVM =3D=3D PV due to the setdefault
> thing.
>=20

Right, and many of them I can take care of. Perhaps the problem is there
are some places where the event of libxl__domain_type "failing" (i.e.,
returning something different from HVM or PV) is somewhat considered
impossible, or at least neglected, like this one here:

int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
                         uint32_t domid, int fd)
{
    GC_INIT(ctx);
    libxl_domain_type type =3D libxl__domain_type(gc, domid);
    int live =3D info !=3D NULL && info->flags & XL_SUSPEND_LIVE;
    int debug =3D info !=3D NULL && info->flags & XL_SUSPEND_DEBUG;
    int rc =3D 0;

    rc =3D libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
                                      /* No Remus */ NULL);

    if (!rc && type =3D=3D LIBXL_DOMAIN_TYPE_HVM)
        rc =3D libxl__domain_save_device_model(gc, domid, fd);
    GC_FREE;
    return rc;
}


Of course that can be right because of your argument about _sefdefault,
but I'm not sure how to make sure of that and what to do about them...
Thoughts?


On a related note, re what we where discussing yesterday on IRC about
putting a 'default' clause on those switches, there already is some
heterogeneity here. For example:


int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
{
    ...
    switch (libxl__domain_type(gc, domid)) {
    case LIBXL_DOMAIN_TYPE_HVM:
        ...
        break;
    case LIBXL_DOMAIN_TYPE_PV:
        ...
        break;
    default:
        abort();
    }
    ...
}

or:

int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
{
    ...
    else {
        switch (libxl__domain_type(gc, domid_vm)) {
        case LIBXL_DOMAIN_TYPE_HVM:
            ...
            break;
        case LIBXL_DOMAIN_TYPE_PV:
            ...
            break;
        case LIBXL_DOMAIN_TYPE_INVALID:
            ...
            break;
        default:
            abort();
        }
    ...
}

Should we leave it like this? Is it worth/reasonable to convert all the
'default:' into 'case LIBXL_DOMAIN_TYPE_INVALID:' (if yes, what do we do
with the places that have both? :O) ? Or perhaps vice versa?

If we can gather consensus on an alternative, I can go ahead and put it
down all over the places...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-XN94Y1th1CK8CpHku0EQ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+/XmAACgkQk4XaBE3IOsRYXACeMaldMKsSXfdJLz+oXkgzM872
Um8AniN6Di0iaum+pVqKWzgPe4i2lI3C
=uHou
-----END PGP SIGNATURE-----

--=-XN94Y1th1CK8CpHku0EQ--



--===============5990162498898032920==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5990162498898032920==--



From xen-devel-bounces@lists.xen.org Fri May 25 10:35:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:35:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrrC-0003mj-Ir; Fri, 25 May 2012 10:34:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXrrA-0003me-Vd
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:34:53 +0000
Received: from [85.158.143.35:11473] by server-3.bemta-4.messagelabs.com id
	03/71-05853-C406FBF4; Fri, 25 May 2012 10:34:52 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337942091!17210168!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8019 invoked from network); 25 May 2012 10:34:51 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 10:34:51 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 11:34:50 +0100
Message-Id: <4FBF7C8A02000078000861DB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 11:35:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
	<4FBE53B7.2080703@citrix.com>
	<4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
	<4FBE5E02.1000400@citrix.com>
In-Reply-To: <4FBE5E02.1000400@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 18:12, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> What about the entry vector?  It would be safe to do in the case of a
> real #DF, and wont really break the int08 case much more than it already is.

That could be done for completeness, perhaps also in
early_page_fault.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:35:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:35:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrrC-0003mj-Ir; Fri, 25 May 2012 10:34:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXrrA-0003me-Vd
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:34:53 +0000
Received: from [85.158.143.35:11473] by server-3.bemta-4.messagelabs.com id
	03/71-05853-C406FBF4; Fri, 25 May 2012 10:34:52 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1337942091!17210168!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8019 invoked from network); 25 May 2012 10:34:51 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 10:34:51 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 11:34:50 +0100
Message-Id: <4FBF7C8A02000078000861DB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 11:35:22 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <4FBE4CC2.2090606@citrix.com>
	<4FBE6C5F0200007800085F7B@nat28.tlf.novell.com>
	<4FBE53B7.2080703@citrix.com>
	<4FBE73DB0200007800085FB7@nat28.tlf.novell.com>
	<4FBE5E02.1000400@citrix.com>
In-Reply-To: <4FBE5E02.1000400@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 24.05.12 at 18:12, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> What about the entry vector?  It would be safe to do in the case of a
> real #DF, and wont really break the int08 case much more than it already is.

That could be done for completeness, perhaps also in
early_page_fault.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:36:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:36:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrsP-0003qC-1D; Fri, 25 May 2012 10:36:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXrsO-0003q5-Bv
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:36:08 +0000
Received: from [193.109.254.147:36328] by server-11.bemta-14.messagelabs.com
	id AC/30-05858-7906FBF4; Fri, 25 May 2012 10:36:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337942165!11199225!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14736 invoked from network); 25 May 2012 10:36:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:36:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12667721"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:36:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 11:36:05 +0100
Message-ID: <1337942163.22311.27.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 25 May 2012 11:36:03 +0100
In-Reply-To: <1337941600.5761.19.camel@Solace>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 11:26 +0100, Dario Faggioli wrote:
> On Fri, 2012-05-25 at 10:44 +0100, Ian Campbell wrote:
> > > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> > > --- a/tools/libxl/libxl_dm.c
> > > +++ b/tools/libxl/libxl_dm.c
> > > @@ -257,6 +257,10 @@ static char ** libxl__build_device_model
> > >          for (i = 0; b_info->extra_hvm && b_info->extra_hvm[i] != NULL; i++)
> > >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> > >          break;
> > > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
> > > +        flexarray_free(dm_args);
> > > +        return NULL;
> > 
> > In some cases, like here, the code is entitled to assume that type is
> > either PV or HVM, due to the checks in
> > libxl__domain_build_info_setdefault. I think if we see an invalid here
> > then that is an abort() worthy event.
> > 
> As you wish, although it seems to me that this case above is the only
> possible situation where we are returning NULL from that function.
> Nevertheless, a NULL return value is handled and considered (and
> propagated) as error by the caller. That's why, when Roger suggested
> going this way (i.e., retuning NULL), I liked the idea very much and
> went for it.
> 
> That being said, I'm very very very few confident with these code paths,
> so I'm just thought it might worth pointing the above out, but I'll
> definitely cope with your request if you really thing this is they
> correct thing o do.

It would be a bug, similar to an assertion failure, to get to this point
with b_info->type not equal to either PV or HVM.  This comment about
setdefault in libxl_internal.h explains why:
 *     Idempotently sets any members of "p" which is currently set to
 *     a special value indicating that the defaults should be used
 *     (per libxl_<type>_init) to a specific value.
 *
 *     All libxl API functions are expected to have arranged for this
 *     to be called before using any values within these structures.

so having arranged to call that function at the right time we can assume
that type is a sensible value, and indeed setdefault makes this the
case.

> > There are a bunch of places where we look a b_info->type with if
> > statements instead of switch. Plain ifs are ok, but it might be worth
> > checking the ones with an else clause (not else if) too? I suspect in
> > many cases they are entitled that !HVM == PV due to the setdefault
> > thing.
> > 
> 
> Right, and many of them I can take care of. Perhaps the problem is there
> are some places where the event of libxl__domain_type "failing" (i.e.,
> returning something different from HVM or PV) is somewhat considered
> impossible, or at least neglected, like this one here:
> 
> int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
>                          uint32_t domid, int fd)
> {
>     GC_INIT(ctx);
>     libxl_domain_type type = libxl__domain_type(gc, domid);
>     int live = info != NULL && info->flags & XL_SUSPEND_LIVE;
>     int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
>     int rc = 0;
> 
>     rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
>                                       /* No Remus */ NULL);
> 
>     if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
>         rc = libxl__domain_save_device_model(gc, domid, fd);
>     GC_FREE;
>     return rc;
> }
> 
> 
> Of course that can be right because of your argument about _sefdefault,
> but I'm not sure how to make sure of that and what to do about them...
> Thoughts?

This one is OK, it doesn't have an else case...

> 
> 
> On a related note, re what we where discussing yesterday on IRC about
> putting a 'default' clause on those switches, there already is some
> heterogeneity here. For example:
> 
> 
> int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
> {
>     ...
>     switch (libxl__domain_type(gc, domid)) {
>     case LIBXL_DOMAIN_TYPE_HVM:
>         ...
>         break;
>     case LIBXL_DOMAIN_TYPE_PV:
>         ...
>         break;
>     default:
>         abort();

This seems like it needs a TYPE_INVALID, since libxl__domain_type could
legitimately return it.

>     }
>     ...
> }
> 
> or:
> 
> int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> {
>     ...
>     else {
>         switch (libxl__domain_type(gc, domid_vm)) {
>         case LIBXL_DOMAIN_TYPE_HVM:
>             ...
>             break;
>         case LIBXL_DOMAIN_TYPE_PV:
>             ...
>             break;
>         case LIBXL_DOMAIN_TYPE_INVALID:
>             ...
>             break;
>         default:
>             abort();
>         }
>     ...
> }
> 
> Should we leave it like this? Is it worth/reasonable to convert all the
> 'default:' into 'case LIBXL_DOMAIN_TYPE_INVALID:' (if yes, what do we do
> with the places that have both? :O) ? Or perhaps vice versa?
> 
> If we can gather consensus on an alternative, I can go ahead and put it
> down all over the places...


> 
> Thanks and Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:36:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:36:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXrsP-0003qC-1D; Fri, 25 May 2012 10:36:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXrsO-0003q5-Bv
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:36:08 +0000
Received: from [193.109.254.147:36328] by server-11.bemta-14.messagelabs.com
	id AC/30-05858-7906FBF4; Fri, 25 May 2012 10:36:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337942165!11199225!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14736 invoked from network); 25 May 2012 10:36:06 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:36:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12667721"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:36:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 11:36:05 +0100
Message-ID: <1337942163.22311.27.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 25 May 2012 11:36:03 +0100
In-Reply-To: <1337941600.5761.19.camel@Solace>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 11:26 +0100, Dario Faggioli wrote:
> On Fri, 2012-05-25 at 10:44 +0100, Ian Campbell wrote:
> > > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> > > --- a/tools/libxl/libxl_dm.c
> > > +++ b/tools/libxl/libxl_dm.c
> > > @@ -257,6 +257,10 @@ static char ** libxl__build_device_model
> > >          for (i = 0; b_info->extra_hvm && b_info->extra_hvm[i] != NULL; i++)
> > >              flexarray_append(dm_args, b_info->extra_hvm[i]);
> > >          break;
> > > +    case LIBXL_DOMAIN_TYPE_INVALID:
> > > +        LIBXL__LOG(CTX, LIBXL__LOG_ERROR, "invalid domain type");
> > > +        flexarray_free(dm_args);
> > > +        return NULL;
> > 
> > In some cases, like here, the code is entitled to assume that type is
> > either PV or HVM, due to the checks in
> > libxl__domain_build_info_setdefault. I think if we see an invalid here
> > then that is an abort() worthy event.
> > 
> As you wish, although it seems to me that this case above is the only
> possible situation where we are returning NULL from that function.
> Nevertheless, a NULL return value is handled and considered (and
> propagated) as error by the caller. That's why, when Roger suggested
> going this way (i.e., retuning NULL), I liked the idea very much and
> went for it.
> 
> That being said, I'm very very very few confident with these code paths,
> so I'm just thought it might worth pointing the above out, but I'll
> definitely cope with your request if you really thing this is they
> correct thing o do.

It would be a bug, similar to an assertion failure, to get to this point
with b_info->type not equal to either PV or HVM.  This comment about
setdefault in libxl_internal.h explains why:
 *     Idempotently sets any members of "p" which is currently set to
 *     a special value indicating that the defaults should be used
 *     (per libxl_<type>_init) to a specific value.
 *
 *     All libxl API functions are expected to have arranged for this
 *     to be called before using any values within these structures.

so having arranged to call that function at the right time we can assume
that type is a sensible value, and indeed setdefault makes this the
case.

> > There are a bunch of places where we look a b_info->type with if
> > statements instead of switch. Plain ifs are ok, but it might be worth
> > checking the ones with an else clause (not else if) too? I suspect in
> > many cases they are entitled that !HVM == PV due to the setdefault
> > thing.
> > 
> 
> Right, and many of them I can take care of. Perhaps the problem is there
> are some places where the event of libxl__domain_type "failing" (i.e.,
> returning something different from HVM or PV) is somewhat considered
> impossible, or at least neglected, like this one here:
> 
> int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
>                          uint32_t domid, int fd)
> {
>     GC_INIT(ctx);
>     libxl_domain_type type = libxl__domain_type(gc, domid);
>     int live = info != NULL && info->flags & XL_SUSPEND_LIVE;
>     int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
>     int rc = 0;
> 
>     rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
>                                       /* No Remus */ NULL);
> 
>     if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
>         rc = libxl__domain_save_device_model(gc, domid, fd);
>     GC_FREE;
>     return rc;
> }
> 
> 
> Of course that can be right because of your argument about _sefdefault,
> but I'm not sure how to make sure of that and what to do about them...
> Thoughts?

This one is OK, it doesn't have an else case...

> 
> 
> On a related note, re what we where discussing yesterday on IRC about
> putting a 'default' clause on those switches, there already is some
> heterogeneity here. For example:
> 
> 
> int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
> {
>     ...
>     switch (libxl__domain_type(gc, domid)) {
>     case LIBXL_DOMAIN_TYPE_HVM:
>         ...
>         break;
>     case LIBXL_DOMAIN_TYPE_PV:
>         ...
>         break;
>     default:
>         abort();

This seems like it needs a TYPE_INVALID, since libxl__domain_type could
legitimately return it.

>     }
>     ...
> }
> 
> or:
> 
> int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> {
>     ...
>     else {
>         switch (libxl__domain_type(gc, domid_vm)) {
>         case LIBXL_DOMAIN_TYPE_HVM:
>             ...
>             break;
>         case LIBXL_DOMAIN_TYPE_PV:
>             ...
>             break;
>         case LIBXL_DOMAIN_TYPE_INVALID:
>             ...
>             break;
>         default:
>             abort();
>         }
>     ...
> }
> 
> Should we leave it like this? Is it worth/reasonable to convert all the
> 'default:' into 'case LIBXL_DOMAIN_TYPE_INVALID:' (if yes, what do we do
> with the places that have both? :O) ? Or perhaps vice versa?
> 
> If we can gather consensus on an alternative, I can go ahead and put it
> down all over the places...


> 
> Thanks and Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:58:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:58:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsDg-00045U-0s; Fri, 25 May 2012 10:58:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXsDe-00045P-Lp
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:58:06 +0000
Received: from [193.109.254.147:61016] by server-7.bemta-14.messagelabs.com id
	49/A2-01627-DB56FBF4; Fri, 25 May 2012 10:58:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337943485!3503024!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11990 invoked from network); 25 May 2012 10:58:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:58:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12668176"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:57:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 11:57:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXsDC-0005ga-4V; Fri, 25 May 2012 10:57:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXsDC-0003TF-3k;
	Fri, 25 May 2012 11:57:38 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20415.26017.916720.373727@mariner.uk.xensource.com>
Date: Fri, 25 May 2012 11:57:37 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <42b4ca522057ecf3bf48.1337937892@cosworth.uk.xensource.com>
References: <42b4ca522057ecf3bf48.1337937892@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxc: do not "panic" if a kernel is not a
	bzImage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] libxc: do not "panic" if a kernel is not a bzImage"):
> libxc: do not "panic" if a kernel is not a bzImage.
> 
> Up until the point where we think this is a bzImage there is no point in
> printing panicy messages -- some other loader will have a go (probably the
> compressed ELF one)
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:58:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:58:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsDg-00045U-0s; Fri, 25 May 2012 10:58:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXsDe-00045P-Lp
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:58:06 +0000
Received: from [193.109.254.147:61016] by server-7.bemta-14.messagelabs.com id
	49/A2-01627-DB56FBF4; Fri, 25 May 2012 10:58:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337943485!3503024!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11990 invoked from network); 25 May 2012 10:58:05 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:58:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12668176"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:57:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 11:57:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXsDC-0005ga-4V; Fri, 25 May 2012 10:57:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXsDC-0003TF-3k;
	Fri, 25 May 2012 11:57:38 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20415.26017.916720.373727@mariner.uk.xensource.com>
Date: Fri, 25 May 2012 11:57:37 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <42b4ca522057ecf3bf48.1337937892@cosworth.uk.xensource.com>
References: <42b4ca522057ecf3bf48.1337937892@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxc: do not "panic" if a kernel is not a
	bzImage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] libxc: do not "panic" if a kernel is not a bzImage"):
> libxc: do not "panic" if a kernel is not a bzImage.
> 
> Up until the point where we think this is a bzImage there is no point in
> printing panicy messages -- some other loader will have a go (probably the
> compressed ELF one)
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:58:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsE3-00046l-E0; Fri, 25 May 2012 10:58:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXsE1-00046b-K4
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:58:29 +0000
Received: from [85.158.138.51:47951] by server-2.bemta-3.messagelabs.com id
	8D/4B-27819-4D56FBF4; Fri, 25 May 2012 10:58:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337943507!21065767!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21315 invoked from network); 25 May 2012 10:58:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:58:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12668190"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:58:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 11:58:27 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXsDz-0005gr-4f; Fri, 25 May 2012 10:58:27 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXsDz-0003TM-3w;
	Fri, 25 May 2012 11:58:27 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20415.26067.107790.804355@mariner.uk.xensource.com>
Date: Fri, 25 May 2012 11:58:27 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337938671.22311.19.camel@zakaz.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337938671.22311.19.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > Each time xl forks, it needs to record the pid, so that its exit
> 
> I was just about to apply this but testing with pygrub gives me:
...
> I think the return codes of xl_reaped_callback are just bogus, according
> to the comment it should return 0 if it knows the child,
> ERROR_UNKNOWN_CHILD if not and anything else is a disaster. Incremental
> fix is:

Ooops, I'm sorry.  I broke this when I removed the CHILD_LIST macro
stuff.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 10:58:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 10:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsE3-00046l-E0; Fri, 25 May 2012 10:58:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXsE1-00046b-K4
	for xen-devel@lists.xen.org; Fri, 25 May 2012 10:58:29 +0000
Received: from [85.158.138.51:47951] by server-2.bemta-3.messagelabs.com id
	8D/4B-27819-4D56FBF4; Fri, 25 May 2012 10:58:28 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337943507!21065767!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21315 invoked from network); 25 May 2012 10:58:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 10:58:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12668190"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:58:27 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 11:58:27 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXsDz-0005gr-4f; Fri, 25 May 2012 10:58:27 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXsDz-0003TM-3w;
	Fri, 25 May 2012 11:58:27 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20415.26067.107790.804355@mariner.uk.xensource.com>
Date: Fri, 25 May 2012 11:58:27 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337938671.22311.19.camel@zakaz.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337938671.22311.19.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > Each time xl forks, it needs to record the pid, so that its exit
> 
> I was just about to apply this but testing with pygrub gives me:
...
> I think the return codes of xl_reaped_callback are just bogus, according
> to the comment it should return 0 if it knows the child,
> ERROR_UNKNOWN_CHILD if not and anything else is a disaster. Incremental
> fix is:

Ooops, I'm sorry.  I broke this when I removed the CHILD_LIST macro
stuff.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 11:04:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 11:04:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsJJ-0004Od-6E; Fri, 25 May 2012 11:03:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXsJH-0004OU-ND
	for xen-devel@lists.xen.org; Fri, 25 May 2012 11:03:55 +0000
Received: from [85.158.139.83:13480] by server-11.bemta-5.messagelabs.com id
	73/92-12711-A176FBF4; Fri, 25 May 2012 11:03:54 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337943833!22995785!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5749 invoked from network); 25 May 2012 11:03:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 11:03:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12668299"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:03:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 12:03:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXsJF-0005ik-Au; Fri, 25 May 2012 11:03:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXsJF-0003Tq-9t;
	Fri, 25 May 2012 12:03:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20415.26393.141418.446541@mariner.uk.xensource.com>
Date: Fri, 25 May 2012 12:03:53 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337942163.22311.27.camel@zakaz.uk.xensource.com>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
	<1337942163.22311.27.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID"):
> so having arranged to call that function at the right time we can assume
> that type is a sensible value, and indeed setdefault makes this the
> case.

Right.

The other situation where we can get _INVALID is if libxl__domain_type
fails, which it can do.

I think this should be handled by having places which call
libxl__domain_type abandon operation and return an error if the
libxl__domain_type fails.

If this is done, then general variables, parameters, etc. within libxl
which are supposed to contain a libxl_domain_type will never contain
_INVALID.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 11:04:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 11:04:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsJJ-0004Od-6E; Fri, 25 May 2012 11:03:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXsJH-0004OU-ND
	for xen-devel@lists.xen.org; Fri, 25 May 2012 11:03:55 +0000
Received: from [85.158.139.83:13480] by server-11.bemta-5.messagelabs.com id
	73/92-12711-A176FBF4; Fri, 25 May 2012 11:03:54 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337943833!22995785!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5749 invoked from network); 25 May 2012 11:03:54 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 11:03:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,655,1330905600"; d="scan'208";a="12668299"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:03:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 12:03:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SXsJF-0005ik-Au; Fri, 25 May 2012 11:03:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SXsJF-0003Tq-9t;
	Fri, 25 May 2012 12:03:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20415.26393.141418.446541@mariner.uk.xensource.com>
Date: Fri, 25 May 2012 12:03:53 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337942163.22311.27.camel@zakaz.uk.xensource.com>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
	<1337942163.22311.27.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Dario Faggioli <raistlin@linux.it>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID"):
> so having arranged to call that function at the right time we can assume
> that type is a sensible value, and indeed setdefault makes this the
> case.

Right.

The other situation where we can get _INVALID is if libxl__domain_type
fails, which it can do.

I think this should be handled by having places which call
libxl__domain_type abandon operation and return an error if the
libxl__domain_type fails.

If this is done, then general variables, parameters, etc. within libxl
which are supposed to contain a libxl_domain_type will never contain
_INVALID.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 11:05:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 11:05:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsKM-0004Tp-Qb; Fri, 25 May 2012 11:05:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SXsKL-0004Td-Mw
	for xen-devel@lists.xen.org; Fri, 25 May 2012 11:05:01 +0000
Received: from [193.109.254.147:42053] by server-11.bemta-14.messagelabs.com
	id 96/30-05858-D576FBF4; Fri, 25 May 2012 11:05:01 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337943890!11135671!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1454 invoked from network); 25 May 2012 11:04:53 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 11:04:53 -0000
Received: by eaak12 with SMTP id k12so210241eaa.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 04:04:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=g7IvoW1m7uMPxOQSVWalTn0yobOWa5NqNwZuJrPKkiM=;
	b=qYc22DgWffGrPKS7nuY3DkWmmVuxdIMofmBpvElU7nfEW3bOT3xgsMP+PR+FVrDqu1
	cqGbK/mhDTZn71Tk53iW2/Y34NZpzj7U6w4A3cTw9YBzElbjV/W85FRtdlxSDExs3opV
	dLkjKfqQ3la4u9QpfysS1b7Sq6ZISen6Vo+3an8nH0eVGPw4Fw52qRzBKvych3SeG/BC
	jbcstN95bhJ1uhw7ubnk6Vyb3COY8/PP+qCrhTYkvPQLcx1Dsnk6yt4ZfUb48XAGFel9
	jW/V4pgvm0JDzNiT+4Q9OzOkTlxmtvBWR66lcvnJlAFXPKvFDAYEfQjmeHfNB2yZaOps
	vBnQ==
Received: by 10.14.53.6 with SMTP id f6mr535021eec.214.1337943890023;
	Fri, 25 May 2012 04:04:50 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id n52sm5964498eeh.9.2012.05.25.04.04.44
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 04:04:49 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 25 May 2012 12:04:40 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <CBE525D8.343C4%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] x86_64: Fix double fault stack setup
Thread-Index: Ac06Zi42jXiOmwM0B0i8VaNzdRwOKg==
In-Reply-To: <4FBF7C8A02000078000861DB@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25/05/2012 11:35, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 24.05.12 at 18:12, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> What about the entry vector?  It would be safe to do in the case of a
>> real #DF, and wont really break the int08 case much more than it already is.
> 
> That could be done for completeness, perhaps also in
> early_page_fault.

Because it's obviously a special-case boot-time handler, I'm not so
bothered. But I'm happy for you to make the change, if you like.

 -- Keir

> Jan
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 11:05:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 11:05:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXsKM-0004Tp-Qb; Fri, 25 May 2012 11:05:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SXsKL-0004Td-Mw
	for xen-devel@lists.xen.org; Fri, 25 May 2012 11:05:01 +0000
Received: from [193.109.254.147:42053] by server-11.bemta-14.messagelabs.com
	id 96/30-05858-D576FBF4; Fri, 25 May 2012 11:05:01 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337943890!11135671!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1454 invoked from network); 25 May 2012 11:04:53 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 11:04:53 -0000
Received: by eaak12 with SMTP id k12so210241eaa.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 04:04:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=g7IvoW1m7uMPxOQSVWalTn0yobOWa5NqNwZuJrPKkiM=;
	b=qYc22DgWffGrPKS7nuY3DkWmmVuxdIMofmBpvElU7nfEW3bOT3xgsMP+PR+FVrDqu1
	cqGbK/mhDTZn71Tk53iW2/Y34NZpzj7U6w4A3cTw9YBzElbjV/W85FRtdlxSDExs3opV
	dLkjKfqQ3la4u9QpfysS1b7Sq6ZISen6Vo+3an8nH0eVGPw4Fw52qRzBKvych3SeG/BC
	jbcstN95bhJ1uhw7ubnk6Vyb3COY8/PP+qCrhTYkvPQLcx1Dsnk6yt4ZfUb48XAGFel9
	jW/V4pgvm0JDzNiT+4Q9OzOkTlxmtvBWR66lcvnJlAFXPKvFDAYEfQjmeHfNB2yZaOps
	vBnQ==
Received: by 10.14.53.6 with SMTP id f6mr535021eec.214.1337943890023;
	Fri, 25 May 2012 04:04:50 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id n52sm5964498eeh.9.2012.05.25.04.04.44
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 04:04:49 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Fri, 25 May 2012 12:04:40 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <CBE525D8.343C4%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] x86_64: Fix double fault stack setup
Thread-Index: Ac06Zi42jXiOmwM0B0i8VaNzdRwOKg==
In-Reply-To: <4FBF7C8A02000078000861DB@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] x86_64: Fix double fault stack setup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25/05/2012 11:35, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 24.05.12 at 18:12, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> What about the entry vector?  It would be safe to do in the case of a
>> real #DF, and wont really break the int08 case much more than it already is.
> 
> That could be done for completeness, perhaps also in
> early_page_fault.

Because it's obviously a special-case boot-time handler, I'm not so
bothered. But I'm happy for you to make the change, if you like.

 -- Keir

> Jan
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 11:33:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 11:33:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXslb-00053l-RF; Fri, 25 May 2012 11:33:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXsla-00053d-I5
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 11:33:10 +0000
Received: from [85.158.138.51:52285] by server-11.bemta-3.messagelabs.com id
	D7/AD-20431-5FD6FBF4; Fri, 25 May 2012 11:33:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337945588!21161140!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28831 invoked from network); 25 May 2012 11:33:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 11:33:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12668907"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:32:28 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 12:32:28 +0100
Date: Fri, 25 May 2012 12:32:22 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211607400.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205251232160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211607400.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xen: domain_pirq_to_emuirq return
 IRQ_UNBOUND by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Stefano Stabellini wrote:
> xen: domain_pirq_to_emuirq return IRQ_UNBOUND by default
> 
> domain_pirq_to_emuirq should return IRQ_UNBOUND rather than 0 on
> missing entries.
> Add a default parameter to pirq_field, so that callers can set any
> default return value they want; use IRQ_UNBOUND in
> domain_pirq_to_emuirq.
> 
> This patch fixes a regression introduced by 23573: save/restore failing
> on upstream QEMU with PV on HVM guests.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

ping?


> diff -r f1bb3decd2db xen/include/asm-x86/irq.h
> --- a/xen/include/asm-x86/irq.h	Fri May 18 13:50:01 2012 +0000
> +++ b/xen/include/asm-x86/irq.h	Mon May 21 15:07:28 2012 +0000
> @@ -173,13 +173,14 @@ void irq_set_affinity(struct irq_desc *,
>  int init_domain_irq_mapping(struct domain *);
>  void cleanup_domain_irq_mapping(struct domain *);
>  
> -#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq)
> +#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq, 0)
>  #define domain_irq_to_pirq(d, irq) ({                           \
>      void *__ret = radix_tree_lookup(&(d)->arch.irq_pirq, irq);  \
>      __ret ? radix_tree_ptr_to_int(__ret) : 0;                   \
>  })
>  #define PIRQ_ALLOCATED -1
> -#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq, arch.hvm.emuirq)
> +#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq,              \
> +    arch.hvm.emuirq, IRQ_UNBOUND)
>  #define domain_emuirq_to_pirq(d, emuirq) ({                             \
>      void *__ret = radix_tree_lookup(&(d)->arch.hvm_domain.emuirq_pirq,  \
>                                      emuirq);                            \
> diff -r f1bb3decd2db xen/include/xen/irq.h
> --- a/xen/include/xen/irq.h	Fri May 18 13:50:01 2012 +0000
> +++ b/xen/include/xen/irq.h	Mon May 21 15:07:28 2012 +0000
> @@ -133,12 +133,12 @@ struct pirq {
>  /* Use this instead of pirq_info() if the structure may need allocating. */
>  extern struct pirq *pirq_get_info(struct domain *, int pirq);
>  
> -#define pirq_field(d, p, f) ({ \
> +#define pirq_field(d, p, f, def) ({ \
>      const struct pirq *__pi = pirq_info(d, p); \
> -    __pi ? __pi->f : 0; \
> +    __pi ? __pi->f : def; \
>  })
> -#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn)
> -#define pirq_masked(d, pirq) pirq_field(d, pirq, masked)
> +#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn, 0)
> +#define pirq_masked(d, pirq) pirq_field(d, pirq, masked, 0)
>  
>  void pirq_cleanup_check(struct pirq *, struct domain *);
>  
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 11:33:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 11:33:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXslb-00053l-RF; Fri, 25 May 2012 11:33:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXsla-00053d-I5
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 11:33:10 +0000
Received: from [85.158.138.51:52285] by server-11.bemta-3.messagelabs.com id
	D7/AD-20431-5FD6FBF4; Fri, 25 May 2012 11:33:09 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337945588!21161140!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28831 invoked from network); 25 May 2012 11:33:09 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 11:33:09 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12668907"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:32:28 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 12:32:28 +0100
Date: Fri, 25 May 2012 12:32:22 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205211607400.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205251232160.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211607400.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] xen: domain_pirq_to_emuirq return
 IRQ_UNBOUND by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 21 May 2012, Stefano Stabellini wrote:
> xen: domain_pirq_to_emuirq return IRQ_UNBOUND by default
> 
> domain_pirq_to_emuirq should return IRQ_UNBOUND rather than 0 on
> missing entries.
> Add a default parameter to pirq_field, so that callers can set any
> default return value they want; use IRQ_UNBOUND in
> domain_pirq_to_emuirq.
> 
> This patch fixes a regression introduced by 23573: save/restore failing
> on upstream QEMU with PV on HVM guests.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

ping?


> diff -r f1bb3decd2db xen/include/asm-x86/irq.h
> --- a/xen/include/asm-x86/irq.h	Fri May 18 13:50:01 2012 +0000
> +++ b/xen/include/asm-x86/irq.h	Mon May 21 15:07:28 2012 +0000
> @@ -173,13 +173,14 @@ void irq_set_affinity(struct irq_desc *,
>  int init_domain_irq_mapping(struct domain *);
>  void cleanup_domain_irq_mapping(struct domain *);
>  
> -#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq)
> +#define domain_pirq_to_irq(d, pirq) pirq_field(d, pirq, arch.irq, 0)
>  #define domain_irq_to_pirq(d, irq) ({                           \
>      void *__ret = radix_tree_lookup(&(d)->arch.irq_pirq, irq);  \
>      __ret ? radix_tree_ptr_to_int(__ret) : 0;                   \
>  })
>  #define PIRQ_ALLOCATED -1
> -#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq, arch.hvm.emuirq)
> +#define domain_pirq_to_emuirq(d, pirq) pirq_field(d, pirq,              \
> +    arch.hvm.emuirq, IRQ_UNBOUND)
>  #define domain_emuirq_to_pirq(d, emuirq) ({                             \
>      void *__ret = radix_tree_lookup(&(d)->arch.hvm_domain.emuirq_pirq,  \
>                                      emuirq);                            \
> diff -r f1bb3decd2db xen/include/xen/irq.h
> --- a/xen/include/xen/irq.h	Fri May 18 13:50:01 2012 +0000
> +++ b/xen/include/xen/irq.h	Mon May 21 15:07:28 2012 +0000
> @@ -133,12 +133,12 @@ struct pirq {
>  /* Use this instead of pirq_info() if the structure may need allocating. */
>  extern struct pirq *pirq_get_info(struct domain *, int pirq);
>  
> -#define pirq_field(d, p, f) ({ \
> +#define pirq_field(d, p, f, def) ({ \
>      const struct pirq *__pi = pirq_info(d, p); \
> -    __pi ? __pi->f : 0; \
> +    __pi ? __pi->f : def; \
>  })
> -#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn)
> -#define pirq_masked(d, pirq) pirq_field(d, pirq, masked)
> +#define pirq_to_evtchn(d, pirq) pirq_field(d, pirq, evtchn, 0)
> +#define pirq_masked(d, pirq) pirq_field(d, pirq, masked, 0)
>  
>  void pirq_cleanup_check(struct pirq *, struct domain *);
>  
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 12:43:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtqw-0005a4-0v; Fri, 25 May 2012 12:42:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXtqu-0005Zz-45
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 12:42:44 +0000
Received: from [85.158.138.51:28618] by server-10.bemta-3.messagelabs.com id
	7A/16-01101-34E7FBF4; Fri, 25 May 2012 12:42:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337949761!21086914!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3196 invoked from network); 25 May 2012 12:42:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 12:42:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12670618"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:42:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 13:42:41 +0100
Message-ID: <1337949759.22311.33.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Fri, 25 May 2012 13:42:39 +0100
In-Reply-To: <E1STyDY-0007RL-8b@xenbits.xen.org>
References: <E1STyDY-0007RL-8b@xenbits.xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [Xen-staging] [xen-unstable] autoconf: check for
 dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 17:33 +0100, Xen patchbot-unstable wrote:
> # HG changeset patch
> # User Roger Pau Monne <roger.pau@citrix.com>
> # Date 1337008959 -3600
> # Node ID dfe39bd65137a97d18f0ee7d155d3755ae5530b4
> # Parent  49ce39c88aeeb0ba58e4f0e2bf865f6981f6e99d
> autoconf: check for dev86 and iasl on x86* only
> 
> Check for this tools on x86 systems only.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
> 
> 
> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure
> --- a/tools/configure	Mon May 14 16:20:33 2012 +0100
> +++ b/tools/configure	Mon May 14 16:22:39 2012 +0100
> @@ -2622,9 +2622,14 @@ LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPE
>  
> 
> 
> -
> -
> -
> +case "$host_cpu" in
> +i[3456]86|x86_64)
> +
> +
> +
> +
> +    ;;
> +esac

This seems like a strange result from the change below, or is XC_ARG_VAR
weird in some way? On ARM I still see the configure option:
        ianc@army:xen-unstable$ ./configure --help | grep iasl
          IASL        Path to iasl tool
        ianc@army:xen-unstable$ uname -m
        armv7l

The thing I actually noticed was that we still have 
        AX_PATH_PROG_OR_FAIL([AS86], [as86])
        AX_PATH_PROG_OR_FAIL([LD86], [ld86])
        AX_PATH_PROG_OR_FAIL([BCC], [bcc])
        AX_PATH_PROG_OR_FAIL([IASL], [iasl])

Is that expected? I don't think it is... Should these not be the ones
which are conditional?

>  
>  # Checks for programs.
>  ac_ext=c
> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure.ac
> --- a/tools/configure.ac	Mon May 14 16:20:33 2012 +0100
> +++ b/tools/configure.ac	Mon May 14 16:22:39 2012 +0100
> @@ -67,10 +67,16 @@ AC_ARG_VAR([CURL], [Path to curl-config 
>  AC_ARG_VAR([XML], [Path to xml2-config tool])
>  AC_ARG_VAR([BASH], [Path to bash shell])
>  AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
> -AC_ARG_VAR([AS86], [Path to as86 tool])
> -AC_ARG_VAR([LD86], [Path to ld86 tool])
> -AC_ARG_VAR([BCC], [Path to bcc tool])
> -AC_ARG_VAR([IASL], [Path to iasl tool])
> +
> +dnl as86, ld86, bcc and iasl are only present in x86* systems
> +case "$host_cpu" in
> +i[[3456]]86|x86_64)
> +    AC_ARG_VAR([AS86], [Path to as86 tool])
> +    AC_ARG_VAR([LD86], [Path to ld86 tool])
> +    AC_ARG_VAR([BCC], [Path to bcc tool])
> +    AC_ARG_VAR([IASL], [Path to iasl tool])
> +    ;;
> +esac
>  
>  # Checks for programs.
>  AC_PROG_CC
> 
> _______________________________________________
> Xen-staging mailing list
> Xen-staging@lists.xen.org
> http://lists.xensource.com/xen-staging



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 12:43:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtqw-0005a4-0v; Fri, 25 May 2012 12:42:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXtqu-0005Zz-45
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 12:42:44 +0000
Received: from [85.158.138.51:28618] by server-10.bemta-3.messagelabs.com id
	7A/16-01101-34E7FBF4; Fri, 25 May 2012 12:42:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337949761!21086914!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3196 invoked from network); 25 May 2012 12:42:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 12:42:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12670618"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:42:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 13:42:41 +0100
Message-ID: <1337949759.22311.33.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Date: Fri, 25 May 2012 13:42:39 +0100
In-Reply-To: <E1STyDY-0007RL-8b@xenbits.xen.org>
References: <E1STyDY-0007RL-8b@xenbits.xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [Xen-staging] [xen-unstable] autoconf: check for
 dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 17:33 +0100, Xen patchbot-unstable wrote:
> # HG changeset patch
> # User Roger Pau Monne <roger.pau@citrix.com>
> # Date 1337008959 -3600
> # Node ID dfe39bd65137a97d18f0ee7d155d3755ae5530b4
> # Parent  49ce39c88aeeb0ba58e4f0e2bf865f6981f6e99d
> autoconf: check for dev86 and iasl on x86* only
> 
> Check for this tools on x86 systems only.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
> 
> 
> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure
> --- a/tools/configure	Mon May 14 16:20:33 2012 +0100
> +++ b/tools/configure	Mon May 14 16:22:39 2012 +0100
> @@ -2622,9 +2622,14 @@ LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPE
>  
> 
> 
> -
> -
> -
> +case "$host_cpu" in
> +i[3456]86|x86_64)
> +
> +
> +
> +
> +    ;;
> +esac

This seems like a strange result from the change below, or is XC_ARG_VAR
weird in some way? On ARM I still see the configure option:
        ianc@army:xen-unstable$ ./configure --help | grep iasl
          IASL        Path to iasl tool
        ianc@army:xen-unstable$ uname -m
        armv7l

The thing I actually noticed was that we still have 
        AX_PATH_PROG_OR_FAIL([AS86], [as86])
        AX_PATH_PROG_OR_FAIL([LD86], [ld86])
        AX_PATH_PROG_OR_FAIL([BCC], [bcc])
        AX_PATH_PROG_OR_FAIL([IASL], [iasl])

Is that expected? I don't think it is... Should these not be the ones
which are conditional?

>  
>  # Checks for programs.
>  ac_ext=c
> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure.ac
> --- a/tools/configure.ac	Mon May 14 16:20:33 2012 +0100
> +++ b/tools/configure.ac	Mon May 14 16:22:39 2012 +0100
> @@ -67,10 +67,16 @@ AC_ARG_VAR([CURL], [Path to curl-config 
>  AC_ARG_VAR([XML], [Path to xml2-config tool])
>  AC_ARG_VAR([BASH], [Path to bash shell])
>  AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
> -AC_ARG_VAR([AS86], [Path to as86 tool])
> -AC_ARG_VAR([LD86], [Path to ld86 tool])
> -AC_ARG_VAR([BCC], [Path to bcc tool])
> -AC_ARG_VAR([IASL], [Path to iasl tool])
> +
> +dnl as86, ld86, bcc and iasl are only present in x86* systems
> +case "$host_cpu" in
> +i[[3456]]86|x86_64)
> +    AC_ARG_VAR([AS86], [Path to as86 tool])
> +    AC_ARG_VAR([LD86], [Path to ld86 tool])
> +    AC_ARG_VAR([BCC], [Path to bcc tool])
> +    AC_ARG_VAR([IASL], [Path to iasl tool])
> +    ;;
> +esac
>  
>  # Checks for programs.
>  AC_PROG_CC
> 
> _______________________________________________
> Xen-staging mailing list
> Xen-staging@lists.xen.org
> http://lists.xensource.com/xen-staging



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 12:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtxO-0005i9-Sd; Fri, 25 May 2012 12:49:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXtxN-0005i4-IJ
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:49:25 +0000
Received: from [85.158.138.51:30148] by server-3.bemta-3.messagelabs.com id
	D5/F2-08380-4DF7FBF4; Fri, 25 May 2012 12:49:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337950163!29172953!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9048 invoked from network); 25 May 2012 12:49:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:49:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:49:22 +0100
Message-Id: <4FBF9C130200007800086267@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:49:55 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 0/3] gnttab: drop use of domain lock and cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These three patches aren't really related to one another, but need
to be applied in order.

1: gnttab: don't use domain lock for serialization
2: gnttab: mark maptrack free list tail with an explicit terminator
3: gnttab: cleanup

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 12:49:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtxO-0005i9-Sd; Fri, 25 May 2012 12:49:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXtxN-0005i4-IJ
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:49:25 +0000
Received: from [85.158.138.51:30148] by server-3.bemta-3.messagelabs.com id
	D5/F2-08380-4DF7FBF4; Fri, 25 May 2012 12:49:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1337950163!29172953!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9048 invoked from network); 25 May 2012 12:49:24 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:49:24 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:49:22 +0100
Message-Id: <4FBF9C130200007800086267@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:49:55 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Disposition: inline
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 0/3] gnttab: drop use of domain lock and cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These three patches aren't really related to one another, but need
to be applied in order.

1: gnttab: don't use domain lock for serialization
2: gnttab: mark maptrack free list tail with an explicit terminator
3: gnttab: cleanup

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 12:50:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:50:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtyA-0005ko-9k; Fri, 25 May 2012 12:50:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXty8-0005kd-Fz
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:50:12 +0000
Received: from [85.158.138.51:37234] by server-9.bemta-3.messagelabs.com id
	85/2D-11033-3008FBF4; Fri, 25 May 2012 12:50:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337950209!21088209!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 352 invoked from network); 25 May 2012 12:50:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:50:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:50:08 +0100
Message-Id: <4FBF9C41020000780008626B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:50:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2907D431.0__="
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 1/3] gnttab: don't use domain lock for
	serialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2907D431.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Instead use the affected domain's grant table lock, at once reducing
the scopes during which locks are being held and hence allowing
significantly better parallelism.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>

--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3727,8 +3727,6 @@ static int create_grant_pte_mapping(
     l1_pgentry_t ol1e;
     struct domain *d =3D v->domain;
=20
-    ASSERT(domain_is_locked(d));
-
     adjust_guest_l1e(nl1e, d);
=20
     gmfn =3D pte_addr >> PAGE_SHIFT;
@@ -3855,8 +3853,6 @@ static int create_grant_va_mapping(
     struct page_info *l1pg;
     int okay;
    =20
-    ASSERT(domain_is_locked(d));
-
     adjust_guest_l1e(nl1e, d);
=20
     pl1e =3D guest_map_l1e(v, va, &gl1mfn);
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -169,6 +169,30 @@ static int __get_paged_frame(unsigned lo
     return rc;
 }
=20
+static inline void
+double_gt_lock(struct grant_table *lgt, struct grant_table *rgt)
+{
+    if ( lgt < rgt )
+    {
+        spin_lock(&lgt->lock);
+        spin_lock(&rgt->lock);
+    }
+    else
+    {
+        if ( lgt !=3D rgt )
+            spin_lock(&rgt->lock);
+        spin_lock(&lgt->lock);
+    }
+}
+
+static inline void
+double_gt_unlock(struct grant_table *lgt, struct grant_table *rgt)
+{
+    spin_unlock(&lgt->lock);
+    if ( lgt !=3D rgt )
+        spin_unlock(&rgt->lock);
+}
+
 static inline int
 __get_maptrack_handle(
     struct grant_table *t)
@@ -184,8 +208,10 @@ static inline void
 put_maptrack_handle(
     struct grant_table *t, int handle)
 {
+    spin_lock(&t->lock);
     maptrack_entry(t, handle).ref =3D t->maptrack_head;
     t->maptrack_head =3D handle;
+    spin_unlock(&t->lock);
 }
=20
 static inline int
@@ -197,46 +223,35 @@ get_maptrack_handle(
     struct grant_mapping *new_mt;
     unsigned int          new_mt_limit, nr_frames;
=20
-    if ( unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )
+    spin_lock(&lgt->lock);
+
+    while ( unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )
     {
-        spin_lock(&lgt->lock);
+        nr_frames =3D nr_maptrack_frames(lgt);
+        if ( nr_frames >=3D max_nr_maptrack_frames() )
+            break;
=20
-        if ( unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) =
)
-        {
-            nr_frames =3D nr_maptrack_frames(lgt);
-            if ( nr_frames >=3D max_nr_maptrack_frames() )
-            {
-                spin_unlock(&lgt->lock);
-                return -1;
-            }
+        new_mt =3D alloc_xenheap_page();
+        if ( !new_mt )
+            break;
=20
-            new_mt =3D alloc_xenheap_page();
-            if ( new_mt =3D=3D NULL )
-            {
-                spin_unlock(&lgt->lock);
-                return -1;
-            }
+        clear_page(new_mt);
=20
-            clear_page(new_mt);
+        new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;
=20
-            new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;
+        for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )
+            new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;
=20
-            for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )
-            {
-                new_mt[i % MAPTRACK_PER_PAGE].ref =3D i+1;
-                new_mt[i % MAPTRACK_PER_PAGE].flags =3D 0;
-            }
+        lgt->maptrack[nr_frames] =3D new_mt;
+        smp_wmb();
+        lgt->maptrack_limit      =3D new_mt_limit;
=20
-            lgt->maptrack[nr_frames] =3D new_mt;
-            lgt->maptrack_limit      =3D new_mt_limit;
+        gdprintk(XENLOG_INFO, "Increased maptrack size to %u frames\n",
+                 nr_frames + 1);
+    }
=20
-            gdprintk(XENLOG_INFO,
-                    "Increased maptrack size to %u frames.\n", nr_frames =
+ 1);
-            handle =3D __get_maptrack_handle(lgt);
-        }
+    spin_unlock(&lgt->lock);
=20
-        spin_unlock(&lgt->lock);
-    }
     return handle;
 }
=20
@@ -425,25 +440,23 @@ static int _set_status(unsigned gt_versi
 }
=20
 static void mapcount(
-    struct domain *ld, unsigned long mfn,
+    struct domain *ld, struct domain *rd, unsigned long mfn,
     unsigned int *wrc, unsigned int *rdc)
 {
     struct grant_table *gt =3D ld->grant_table;
     struct grant_mapping *map;
     grant_handle_t handle;
-    struct domain *rd;
=20
     *wrc =3D *rdc =3D 0;
=20
     for ( handle =3D 0; handle < gt->maptrack_limit; handle++ )
     {
         map =3D &maptrack_entry(gt, handle);
-        if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) )
+        if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) ||
+             map->domid !=3D rd->domain_id )
             continue;
-        rd =3D rcu_lock_domain_by_id(map->domid);
         if ( active_entry(rd->grant_table, map->ref).frame =3D=3D mfn )
             (map->flags & GNTMAP_readonly) ? (*rdc)++ : (*wrc)++;
-        rcu_unlock_domain(rd);
     }
 }
=20
@@ -662,6 +675,8 @@ __gnttab_map_grant_ref(
         goto undo_out;
     }
=20
+    double_gt_lock(ld->grant_table, rd->grant_table);
+
     if ( !is_hvm_domain(ld) && need_iommu(ld) )
     {
         unsigned int wrc, rdc;
@@ -670,7 +685,7 @@ __gnttab_map_grant_ref(
         BUG_ON(paging_mode_translate(ld));
         /* We're not translated, so we know that gmfns and mfns are
            the same things, so the IOMMU entry is always 1-to-1. */
-        mapcount(ld, frame, &wrc, &rdc);
+        mapcount(ld, rd, frame, &wrc, &rdc);
         if ( (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) &&
              !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )
         {
@@ -685,6 +700,7 @@ __gnttab_map_grant_ref(
         }
         if ( err )
         {
+            double_gt_unlock(ld->grant_table, rd->grant_table);
             rc =3D GNTST_general_error;
             goto undo_out;
         }
@@ -697,6 +713,8 @@ __gnttab_map_grant_ref(
     mt->ref   =3D op->ref;
     mt->flags =3D op->flags;
=20
+    double_gt_unlock(ld->grant_table, rd->grant_table);
+
     op->dev_bus_addr =3D (u64)frame << PAGE_SHIFT;
     op->handle       =3D handle;
     op->status       =3D GNTST_okay;
@@ -787,18 +805,20 @@ __gnttab_unmap_common(
     }
=20
     op->map =3D &maptrack_entry(ld->grant_table, op->handle);
+    spin_lock(&ld->grant_table->lock);
=20
     if ( unlikely(!op->map->flags) )
     {
+        spin_unlock(&ld->grant_table->lock);
         gdprintk(XENLOG_INFO, "Zero flags for handle (%d).\n", op->handle)=
;
         op->status =3D GNTST_bad_handle;
         return;
     }
=20
-    dom   =3D op->map->domid;
-    op->flags =3D op->map->flags;
+    dom =3D op->map->domid;
+    spin_unlock(&ld->grant_table->lock);
=20
-    if ( unlikely((op->rd =3D rd =3D rcu_lock_domain_by_id(dom)) =3D=3D =
NULL) )
+    if ( unlikely((rd =3D rcu_lock_domain_by_id(dom)) =3D=3D NULL) )
     {
         /* This can happen when a grant is implicitly unmapped. */
         gdprintk(XENLOG_INFO, "Could not find domain %d\n", dom);
@@ -816,8 +836,17 @@ __gnttab_unmap_common(
=20
     TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);
=20
-    spin_lock(&rd->grant_table->lock);
+    double_gt_lock(ld->grant_table, rd->grant_table);
+
+    op->flags =3D op->map->flags;
+    if ( unlikely(!op->flags) || unlikely(op->map->domid !=3D dom) )
+    {
+        gdprintk(XENLOG_WARNING, "Unstable handle %u\n", op->handle);
+        rc =3D GNTST_bad_handle;
+        goto unmap_out;
+    }
=20
+    op->rd =3D rd;
     act =3D &active_entry(rd->grant_table, op->map->ref);
=20
     if ( op->frame =3D=3D 0 )
@@ -861,7 +890,7 @@ __gnttab_unmap_common(
         unsigned int wrc, rdc;
         int err =3D 0;
         BUG_ON(paging_mode_translate(ld));
-        mapcount(ld, op->frame, &wrc, &rdc);
+        mapcount(ld, rd, op->frame, &wrc, &rdc);
         if ( (wrc + rdc) =3D=3D 0 )
             err =3D iommu_unmap_page(ld, op->frame);
         else if ( wrc =3D=3D 0 )
@@ -878,8 +907,8 @@ __gnttab_unmap_common(
          gnttab_mark_dirty(rd, op->frame);
=20
  unmap_out:
+    double_gt_unlock(ld->grant_table, rd->grant_table);
     op->status =3D rc;
-    spin_unlock(&rd->grant_table->lock);
     rcu_unlock_domain(rd);
 }
=20
@@ -891,6 +920,7 @@ __gnttab_unmap_common_complete(struct gn
     grant_entry_header_t *sha;
     struct page_info *pg;
     uint16_t *status;
+    bool_t put_handle =3D 0;
=20
     rd =3D op->rd;
=20
@@ -962,10 +992,7 @@ __gnttab_unmap_common_complete(struct gn
     }
=20
     if ( (op->map->flags & (GNTMAP_device_map|GNTMAP_host_map)) =3D=3D 0 =
)
-    {
-        op->map->flags =3D 0;
-        put_maptrack_handle(ld->grant_table, op->handle);
-    }
+        put_handle =3D 1;
=20
     if ( ((act->pin & (GNTPIN_devw_mask|GNTPIN_hstw_mask)) =3D=3D 0) &&
          !(op->flags & GNTMAP_readonly) )
@@ -976,6 +1003,11 @@ __gnttab_unmap_common_complete(struct gn
=20
  unmap_out:
     spin_unlock(&rd->grant_table->lock);
+    if ( put_handle )
+    {
+        op->map->flags =3D 0;
+        put_maptrack_handle(ld->grant_table, op->handle);
+    }
     rcu_unlock_domain(rd);
 }
=20
@@ -2361,13 +2393,10 @@ do_grant_table_op(
     unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int count)
 {
     long rc;
-    struct domain *d =3D current->domain;
    =20
     if ( (int)count < 0 )
         return -EINVAL;
    =20
-    domain_lock(d);
-   =20
     rc =3D -EFAULT;
     switch ( cmd )
     {
@@ -2494,8 +2523,6 @@ do_grant_table_op(
     }
    =20
   out:
-    domain_unlock(d);
-
     if ( rc > 0 )
     {
         ASSERT(rc < count);



--=__Part2907D431.0__=
Content-Type: text/plain; name="gnttab-domain-lock.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="gnttab-domain-lock.patch"

gnttab: don't use domain lock for serialization=0A=0AInstead use the =
affected domain's grant table lock, at once reducing=0Athe scopes during =
which locks are being held and hence allowing=0Asignificantly better =
parallelism.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0ATested-b=
y: Andrew Thomas <andrew.thomas@oracle.com>=0A=0A--- a/xen/arch/x86/mm.c=0A=
+++ b/xen/arch/x86/mm.c=0A@@ -3727,8 +3727,6 @@ static int create_grant_pte=
_mapping(=0A     l1_pgentry_t ol1e;=0A     struct domain *d =3D v->domain;=
=0A =0A-    ASSERT(domain_is_locked(d));=0A-=0A     adjust_guest_l1e(nl1e, =
d);=0A =0A     gmfn =3D pte_addr >> PAGE_SHIFT;=0A@@ -3855,8 +3853,6 @@ =
static int create_grant_va_mapping(=0A     struct page_info *l1pg;=0A     =
int okay;=0A     =0A-    ASSERT(domain_is_locked(d));=0A-=0A     adjust_gue=
st_l1e(nl1e, d);=0A =0A     pl1e =3D guest_map_l1e(v, va, &gl1mfn);=0A--- =
a/xen/common/grant_table.c=0A+++ b/xen/common/grant_table.c=0A@@ -169,6 =
+169,30 @@ static int __get_paged_frame(unsigned lo=0A     return rc;=0A =
}=0A =0A+static inline void=0A+double_gt_lock(struct grant_table *lgt, =
struct grant_table *rgt)=0A+{=0A+    if ( lgt < rgt )=0A+    {=0A+        =
spin_lock(&lgt->lock);=0A+        spin_lock(&rgt->lock);=0A+    }=0A+    =
else=0A+    {=0A+        if ( lgt !=3D rgt )=0A+            spin_lock(&rgt-=
>lock);=0A+        spin_lock(&lgt->lock);=0A+    }=0A+}=0A+=0A+static =
inline void=0A+double_gt_unlock(struct grant_table *lgt, struct grant_table=
 *rgt)=0A+{=0A+    spin_unlock(&lgt->lock);=0A+    if ( lgt !=3D rgt )=0A+ =
       spin_unlock(&rgt->lock);=0A+}=0A+=0A static inline int=0A __get_mapt=
rack_handle(=0A     struct grant_table *t)=0A@@ -184,8 +208,10 @@ static =
inline void=0A put_maptrack_handle(=0A     struct grant_table *t, int =
handle)=0A {=0A+    spin_lock(&t->lock);=0A     maptrack_entry(t, =
handle).ref =3D t->maptrack_head;=0A     t->maptrack_head =3D handle;=0A+  =
  spin_unlock(&t->lock);=0A }=0A =0A static inline int=0A@@ -197,46 =
+223,35 @@ get_maptrack_handle(=0A     struct grant_mapping *new_mt;=0A    =
 unsigned int          new_mt_limit, nr_frames;=0A =0A-    if ( unlikely((h=
andle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )=0A+    spin_lock(&lgt->l=
ock);=0A+=0A+    while ( unlikely((handle =3D __get_maptrack_handle(lgt)) =
=3D=3D -1) )=0A     {=0A-        spin_lock(&lgt->lock);=0A+        =
nr_frames =3D nr_maptrack_frames(lgt);=0A+        if ( nr_frames >=3D =
max_nr_maptrack_frames() )=0A+            break;=0A =0A-        if ( =
unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )=0A-        =
{=0A-            nr_frames =3D nr_maptrack_frames(lgt);=0A-            if =
( nr_frames >=3D max_nr_maptrack_frames() )=0A-            {=0A-           =
     spin_unlock(&lgt->lock);=0A-                return -1;=0A-            =
}=0A+        new_mt =3D alloc_xenheap_page();=0A+        if ( !new_mt =
)=0A+            break;=0A =0A-            new_mt =3D alloc_xenheap_page();=
=0A-            if ( new_mt =3D=3D NULL )=0A-            {=0A-             =
   spin_unlock(&lgt->lock);=0A-                return -1;=0A-            =
}=0A+        clear_page(new_mt);=0A =0A-            clear_page(new_mt);=0A+=
        new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;=0A =0A-  =
          new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;=0A+    =
    for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )=0A+           =
 new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;=0A =0A-            for ( i =
=3D lgt->maptrack_limit; i < new_mt_limit; i++ )=0A-            {=0A-      =
          new_mt[i % MAPTRACK_PER_PAGE].ref =3D i+1;=0A-                =
new_mt[i % MAPTRACK_PER_PAGE].flags =3D 0;=0A-            }=0A+        =
lgt->maptrack[nr_frames] =3D new_mt;=0A+        smp_wmb();=0A+        =
lgt->maptrack_limit      =3D new_mt_limit;=0A =0A-            lgt->maptrack=
[nr_frames] =3D new_mt;=0A-            lgt->maptrack_limit      =3D =
new_mt_limit;=0A+        gdprintk(XENLOG_INFO, "Increased maptrack size to =
%u frames\n",=0A+                 nr_frames + 1);=0A+    }=0A =0A-         =
   gdprintk(XENLOG_INFO,=0A-                    "Increased maptrack size =
to %u frames.\n", nr_frames + 1);=0A-            handle =3D __get_maptrack_=
handle(lgt);=0A-        }=0A+    spin_unlock(&lgt->lock);=0A =0A-        =
spin_unlock(&lgt->lock);=0A-    }=0A     return handle;=0A }=0A =0A@@ =
-425,25 +440,23 @@ static int _set_status(unsigned gt_versi=0A }=0A =0A =
static void mapcount(=0A-    struct domain *ld, unsigned long mfn,=0A+    =
struct domain *ld, struct domain *rd, unsigned long mfn,=0A     unsigned =
int *wrc, unsigned int *rdc)=0A {=0A     struct grant_table *gt =3D =
ld->grant_table;=0A     struct grant_mapping *map;=0A     grant_handle_t =
handle;=0A-    struct domain *rd;=0A =0A     *wrc =3D *rdc =3D 0;=0A =0A   =
  for ( handle =3D 0; handle < gt->maptrack_limit; handle++ )=0A     {=0A  =
       map =3D &maptrack_entry(gt, handle);=0A-        if ( !(map->flags & =
(GNTMAP_device_map|GNTMAP_host_map)) )=0A+        if ( !(map->flags & =
(GNTMAP_device_map|GNTMAP_host_map)) ||=0A+             map->domid !=3D =
rd->domain_id )=0A             continue;=0A-        rd =3D rcu_lock_domain_=
by_id(map->domid);=0A         if ( active_entry(rd->grant_table, map->ref).=
frame =3D=3D mfn )=0A             (map->flags & GNTMAP_readonly) ? =
(*rdc)++ : (*wrc)++;=0A-        rcu_unlock_domain(rd);=0A     }=0A }=0A =
=0A@@ -662,6 +675,8 @@ __gnttab_map_grant_ref(=0A         goto undo_out;=0A=
     }=0A =0A+    double_gt_lock(ld->grant_table, rd->grant_table);=0A+=0A =
    if ( !is_hvm_domain(ld) && need_iommu(ld) )=0A     {=0A         =
unsigned int wrc, rdc;=0A@@ -670,7 +685,7 @@ __gnttab_map_grant_ref(=0A    =
     BUG_ON(paging_mode_translate(ld));=0A         /* We're not translated,=
 so we know that gmfns and mfns are=0A            the same things, so the =
IOMMU entry is always 1-to-1. */=0A-        mapcount(ld, frame, &wrc, =
&rdc);=0A+        mapcount(ld, rd, frame, &wrc, &rdc);=0A         if ( =
(act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) &&=0A              =
!(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )=0A         {=0A@@ =
-685,6 +700,7 @@ __gnttab_map_grant_ref(=0A         }=0A         if ( err =
)=0A         {=0A+            double_gt_unlock(ld->grant_table, rd->grant_t=
able);=0A             rc =3D GNTST_general_error;=0A             goto =
undo_out;=0A         }=0A@@ -697,6 +713,8 @@ __gnttab_map_grant_ref(=0A    =
 mt->ref   =3D op->ref;=0A     mt->flags =3D op->flags;=0A =0A+    =
double_gt_unlock(ld->grant_table, rd->grant_table);=0A+=0A     op->dev_bus_=
addr =3D (u64)frame << PAGE_SHIFT;=0A     op->handle       =3D handle;=0A  =
   op->status       =3D GNTST_okay;=0A@@ -787,18 +805,20 @@ __gnttab_unmap_=
common(=0A     }=0A =0A     op->map =3D &maptrack_entry(ld->grant_table, =
op->handle);=0A+    spin_lock(&ld->grant_table->lock);=0A =0A     if ( =
unlikely(!op->map->flags) )=0A     {=0A+        spin_unlock(&ld->grant_tabl=
e->lock);=0A         gdprintk(XENLOG_INFO, "Zero flags for handle =
(%d).\n", op->handle);=0A         op->status =3D GNTST_bad_handle;=0A      =
   return;=0A     }=0A =0A-    dom   =3D op->map->domid;=0A-    op->flags =
=3D op->map->flags;=0A+    dom =3D op->map->domid;=0A+    spin_unlock(&ld->=
grant_table->lock);=0A =0A-    if ( unlikely((op->rd =3D rd =3D rcu_lock_do=
main_by_id(dom)) =3D=3D NULL) )=0A+    if ( unlikely((rd =3D rcu_lock_domai=
n_by_id(dom)) =3D=3D NULL) )=0A     {=0A         /* This can happen when a =
grant is implicitly unmapped. */=0A         gdprintk(XENLOG_INFO, "Could =
not find domain %d\n", dom);=0A@@ -816,8 +836,17 @@ __gnttab_unmap_common(=
=0A =0A     TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);=0A =0A-    spin_lock(&=
rd->grant_table->lock);=0A+    double_gt_lock(ld->grant_table, rd->grant_ta=
ble);=0A+=0A+    op->flags =3D op->map->flags;=0A+    if ( unlikely(!op->fl=
ags) || unlikely(op->map->domid !=3D dom) )=0A+    {=0A+        gdprintk(XE=
NLOG_WARNING, "Unstable handle %u\n", op->handle);=0A+        rc =3D =
GNTST_bad_handle;=0A+        goto unmap_out;=0A+    }=0A =0A+    op->rd =
=3D rd;=0A     act =3D &active_entry(rd->grant_table, op->map->ref);=0A =
=0A     if ( op->frame =3D=3D 0 )=0A@@ -861,7 +890,7 @@ __gnttab_unmap_comm=
on(=0A         unsigned int wrc, rdc;=0A         int err =3D 0;=0A         =
BUG_ON(paging_mode_translate(ld));=0A-        mapcount(ld, op->frame, =
&wrc, &rdc);=0A+        mapcount(ld, rd, op->frame, &wrc, &rdc);=0A        =
 if ( (wrc + rdc) =3D=3D 0 )=0A             err =3D iommu_unmap_page(ld, =
op->frame);=0A         else if ( wrc =3D=3D 0 )=0A@@ -878,8 +907,8 @@ =
__gnttab_unmap_common(=0A          gnttab_mark_dirty(rd, op->frame);=0A =
=0A  unmap_out:=0A+    double_gt_unlock(ld->grant_table, rd->grant_table);=
=0A     op->status =3D rc;=0A-    spin_unlock(&rd->grant_table->lock);=0A  =
   rcu_unlock_domain(rd);=0A }=0A =0A@@ -891,6 +920,7 @@ __gnttab_unmap_com=
mon_complete(struct gn=0A     grant_entry_header_t *sha;=0A     struct =
page_info *pg;=0A     uint16_t *status;=0A+    bool_t put_handle =3D 0;=0A =
=0A     rd =3D op->rd;=0A =0A@@ -962,10 +992,7 @@ __gnttab_unmap_common_com=
plete(struct gn=0A     }=0A =0A     if ( (op->map->flags & (GNTMAP_device_m=
ap|GNTMAP_host_map)) =3D=3D 0 )=0A-    {=0A-        op->map->flags =3D =
0;=0A-        put_maptrack_handle(ld->grant_table, op->handle);=0A-    =
}=0A+        put_handle =3D 1;=0A =0A     if ( ((act->pin & (GNTPIN_devw_ma=
sk|GNTPIN_hstw_mask)) =3D=3D 0) &&=0A          !(op->flags & GNTMAP_readonl=
y) )=0A@@ -976,6 +1003,11 @@ __gnttab_unmap_common_complete(struct gn=0A =
=0A  unmap_out:=0A     spin_unlock(&rd->grant_table->lock);=0A+    if ( =
put_handle )=0A+    {=0A+        op->map->flags =3D 0;=0A+        =
put_maptrack_handle(ld->grant_table, op->handle);=0A+    }=0A     =
rcu_unlock_domain(rd);=0A }=0A =0A@@ -2361,13 +2393,10 @@ do_grant_table_op=
(=0A     unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int =
count)=0A {=0A     long rc;=0A-    struct domain *d =3D current->domain;=0A=
     =0A     if ( (int)count < 0 )=0A         return -EINVAL;=0A     =0A-  =
  domain_lock(d);=0A-    =0A     rc =3D -EFAULT;=0A     switch ( cmd )=0A  =
   {=0A@@ -2494,8 +2523,6 @@ do_grant_table_op(=0A     }=0A     =0A   =
out:=0A-    domain_unlock(d);=0A-=0A     if ( rc > 0 )=0A     {=0A         =
ASSERT(rc < count);=0A
--=__Part2907D431.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2907D431.0__=--


From xen-devel-bounces@lists.xen.org Fri May 25 12:50:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:50:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtyA-0005ko-9k; Fri, 25 May 2012 12:50:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXty8-0005kd-Fz
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:50:12 +0000
Received: from [85.158.138.51:37234] by server-9.bemta-3.messagelabs.com id
	85/2D-11033-3008FBF4; Fri, 25 May 2012 12:50:11 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337950209!21088209!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 352 invoked from network); 25 May 2012 12:50:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:50:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:50:08 +0100
Message-Id: <4FBF9C41020000780008626B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:50:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2907D431.0__="
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 1/3] gnttab: don't use domain lock for
	serialization
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2907D431.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Instead use the affected domain's grant table lock, at once reducing
the scopes during which locks are being held and hence allowing
significantly better parallelism.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>

--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3727,8 +3727,6 @@ static int create_grant_pte_mapping(
     l1_pgentry_t ol1e;
     struct domain *d =3D v->domain;
=20
-    ASSERT(domain_is_locked(d));
-
     adjust_guest_l1e(nl1e, d);
=20
     gmfn =3D pte_addr >> PAGE_SHIFT;
@@ -3855,8 +3853,6 @@ static int create_grant_va_mapping(
     struct page_info *l1pg;
     int okay;
    =20
-    ASSERT(domain_is_locked(d));
-
     adjust_guest_l1e(nl1e, d);
=20
     pl1e =3D guest_map_l1e(v, va, &gl1mfn);
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -169,6 +169,30 @@ static int __get_paged_frame(unsigned lo
     return rc;
 }
=20
+static inline void
+double_gt_lock(struct grant_table *lgt, struct grant_table *rgt)
+{
+    if ( lgt < rgt )
+    {
+        spin_lock(&lgt->lock);
+        spin_lock(&rgt->lock);
+    }
+    else
+    {
+        if ( lgt !=3D rgt )
+            spin_lock(&rgt->lock);
+        spin_lock(&lgt->lock);
+    }
+}
+
+static inline void
+double_gt_unlock(struct grant_table *lgt, struct grant_table *rgt)
+{
+    spin_unlock(&lgt->lock);
+    if ( lgt !=3D rgt )
+        spin_unlock(&rgt->lock);
+}
+
 static inline int
 __get_maptrack_handle(
     struct grant_table *t)
@@ -184,8 +208,10 @@ static inline void
 put_maptrack_handle(
     struct grant_table *t, int handle)
 {
+    spin_lock(&t->lock);
     maptrack_entry(t, handle).ref =3D t->maptrack_head;
     t->maptrack_head =3D handle;
+    spin_unlock(&t->lock);
 }
=20
 static inline int
@@ -197,46 +223,35 @@ get_maptrack_handle(
     struct grant_mapping *new_mt;
     unsigned int          new_mt_limit, nr_frames;
=20
-    if ( unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )
+    spin_lock(&lgt->lock);
+
+    while ( unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )
     {
-        spin_lock(&lgt->lock);
+        nr_frames =3D nr_maptrack_frames(lgt);
+        if ( nr_frames >=3D max_nr_maptrack_frames() )
+            break;
=20
-        if ( unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) =
)
-        {
-            nr_frames =3D nr_maptrack_frames(lgt);
-            if ( nr_frames >=3D max_nr_maptrack_frames() )
-            {
-                spin_unlock(&lgt->lock);
-                return -1;
-            }
+        new_mt =3D alloc_xenheap_page();
+        if ( !new_mt )
+            break;
=20
-            new_mt =3D alloc_xenheap_page();
-            if ( new_mt =3D=3D NULL )
-            {
-                spin_unlock(&lgt->lock);
-                return -1;
-            }
+        clear_page(new_mt);
=20
-            clear_page(new_mt);
+        new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;
=20
-            new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;
+        for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )
+            new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;
=20
-            for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )
-            {
-                new_mt[i % MAPTRACK_PER_PAGE].ref =3D i+1;
-                new_mt[i % MAPTRACK_PER_PAGE].flags =3D 0;
-            }
+        lgt->maptrack[nr_frames] =3D new_mt;
+        smp_wmb();
+        lgt->maptrack_limit      =3D new_mt_limit;
=20
-            lgt->maptrack[nr_frames] =3D new_mt;
-            lgt->maptrack_limit      =3D new_mt_limit;
+        gdprintk(XENLOG_INFO, "Increased maptrack size to %u frames\n",
+                 nr_frames + 1);
+    }
=20
-            gdprintk(XENLOG_INFO,
-                    "Increased maptrack size to %u frames.\n", nr_frames =
+ 1);
-            handle =3D __get_maptrack_handle(lgt);
-        }
+    spin_unlock(&lgt->lock);
=20
-        spin_unlock(&lgt->lock);
-    }
     return handle;
 }
=20
@@ -425,25 +440,23 @@ static int _set_status(unsigned gt_versi
 }
=20
 static void mapcount(
-    struct domain *ld, unsigned long mfn,
+    struct domain *ld, struct domain *rd, unsigned long mfn,
     unsigned int *wrc, unsigned int *rdc)
 {
     struct grant_table *gt =3D ld->grant_table;
     struct grant_mapping *map;
     grant_handle_t handle;
-    struct domain *rd;
=20
     *wrc =3D *rdc =3D 0;
=20
     for ( handle =3D 0; handle < gt->maptrack_limit; handle++ )
     {
         map =3D &maptrack_entry(gt, handle);
-        if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) )
+        if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) ||
+             map->domid !=3D rd->domain_id )
             continue;
-        rd =3D rcu_lock_domain_by_id(map->domid);
         if ( active_entry(rd->grant_table, map->ref).frame =3D=3D mfn )
             (map->flags & GNTMAP_readonly) ? (*rdc)++ : (*wrc)++;
-        rcu_unlock_domain(rd);
     }
 }
=20
@@ -662,6 +675,8 @@ __gnttab_map_grant_ref(
         goto undo_out;
     }
=20
+    double_gt_lock(ld->grant_table, rd->grant_table);
+
     if ( !is_hvm_domain(ld) && need_iommu(ld) )
     {
         unsigned int wrc, rdc;
@@ -670,7 +685,7 @@ __gnttab_map_grant_ref(
         BUG_ON(paging_mode_translate(ld));
         /* We're not translated, so we know that gmfns and mfns are
            the same things, so the IOMMU entry is always 1-to-1. */
-        mapcount(ld, frame, &wrc, &rdc);
+        mapcount(ld, rd, frame, &wrc, &rdc);
         if ( (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) &&
              !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )
         {
@@ -685,6 +700,7 @@ __gnttab_map_grant_ref(
         }
         if ( err )
         {
+            double_gt_unlock(ld->grant_table, rd->grant_table);
             rc =3D GNTST_general_error;
             goto undo_out;
         }
@@ -697,6 +713,8 @@ __gnttab_map_grant_ref(
     mt->ref   =3D op->ref;
     mt->flags =3D op->flags;
=20
+    double_gt_unlock(ld->grant_table, rd->grant_table);
+
     op->dev_bus_addr =3D (u64)frame << PAGE_SHIFT;
     op->handle       =3D handle;
     op->status       =3D GNTST_okay;
@@ -787,18 +805,20 @@ __gnttab_unmap_common(
     }
=20
     op->map =3D &maptrack_entry(ld->grant_table, op->handle);
+    spin_lock(&ld->grant_table->lock);
=20
     if ( unlikely(!op->map->flags) )
     {
+        spin_unlock(&ld->grant_table->lock);
         gdprintk(XENLOG_INFO, "Zero flags for handle (%d).\n", op->handle)=
;
         op->status =3D GNTST_bad_handle;
         return;
     }
=20
-    dom   =3D op->map->domid;
-    op->flags =3D op->map->flags;
+    dom =3D op->map->domid;
+    spin_unlock(&ld->grant_table->lock);
=20
-    if ( unlikely((op->rd =3D rd =3D rcu_lock_domain_by_id(dom)) =3D=3D =
NULL) )
+    if ( unlikely((rd =3D rcu_lock_domain_by_id(dom)) =3D=3D NULL) )
     {
         /* This can happen when a grant is implicitly unmapped. */
         gdprintk(XENLOG_INFO, "Could not find domain %d\n", dom);
@@ -816,8 +836,17 @@ __gnttab_unmap_common(
=20
     TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);
=20
-    spin_lock(&rd->grant_table->lock);
+    double_gt_lock(ld->grant_table, rd->grant_table);
+
+    op->flags =3D op->map->flags;
+    if ( unlikely(!op->flags) || unlikely(op->map->domid !=3D dom) )
+    {
+        gdprintk(XENLOG_WARNING, "Unstable handle %u\n", op->handle);
+        rc =3D GNTST_bad_handle;
+        goto unmap_out;
+    }
=20
+    op->rd =3D rd;
     act =3D &active_entry(rd->grant_table, op->map->ref);
=20
     if ( op->frame =3D=3D 0 )
@@ -861,7 +890,7 @@ __gnttab_unmap_common(
         unsigned int wrc, rdc;
         int err =3D 0;
         BUG_ON(paging_mode_translate(ld));
-        mapcount(ld, op->frame, &wrc, &rdc);
+        mapcount(ld, rd, op->frame, &wrc, &rdc);
         if ( (wrc + rdc) =3D=3D 0 )
             err =3D iommu_unmap_page(ld, op->frame);
         else if ( wrc =3D=3D 0 )
@@ -878,8 +907,8 @@ __gnttab_unmap_common(
          gnttab_mark_dirty(rd, op->frame);
=20
  unmap_out:
+    double_gt_unlock(ld->grant_table, rd->grant_table);
     op->status =3D rc;
-    spin_unlock(&rd->grant_table->lock);
     rcu_unlock_domain(rd);
 }
=20
@@ -891,6 +920,7 @@ __gnttab_unmap_common_complete(struct gn
     grant_entry_header_t *sha;
     struct page_info *pg;
     uint16_t *status;
+    bool_t put_handle =3D 0;
=20
     rd =3D op->rd;
=20
@@ -962,10 +992,7 @@ __gnttab_unmap_common_complete(struct gn
     }
=20
     if ( (op->map->flags & (GNTMAP_device_map|GNTMAP_host_map)) =3D=3D 0 =
)
-    {
-        op->map->flags =3D 0;
-        put_maptrack_handle(ld->grant_table, op->handle);
-    }
+        put_handle =3D 1;
=20
     if ( ((act->pin & (GNTPIN_devw_mask|GNTPIN_hstw_mask)) =3D=3D 0) &&
          !(op->flags & GNTMAP_readonly) )
@@ -976,6 +1003,11 @@ __gnttab_unmap_common_complete(struct gn
=20
  unmap_out:
     spin_unlock(&rd->grant_table->lock);
+    if ( put_handle )
+    {
+        op->map->flags =3D 0;
+        put_maptrack_handle(ld->grant_table, op->handle);
+    }
     rcu_unlock_domain(rd);
 }
=20
@@ -2361,13 +2393,10 @@ do_grant_table_op(
     unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int count)
 {
     long rc;
-    struct domain *d =3D current->domain;
    =20
     if ( (int)count < 0 )
         return -EINVAL;
    =20
-    domain_lock(d);
-   =20
     rc =3D -EFAULT;
     switch ( cmd )
     {
@@ -2494,8 +2523,6 @@ do_grant_table_op(
     }
    =20
   out:
-    domain_unlock(d);
-
     if ( rc > 0 )
     {
         ASSERT(rc < count);



--=__Part2907D431.0__=
Content-Type: text/plain; name="gnttab-domain-lock.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="gnttab-domain-lock.patch"

gnttab: don't use domain lock for serialization=0A=0AInstead use the =
affected domain's grant table lock, at once reducing=0Athe scopes during =
which locks are being held and hence allowing=0Asignificantly better =
parallelism.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0ATested-b=
y: Andrew Thomas <andrew.thomas@oracle.com>=0A=0A--- a/xen/arch/x86/mm.c=0A=
+++ b/xen/arch/x86/mm.c=0A@@ -3727,8 +3727,6 @@ static int create_grant_pte=
_mapping(=0A     l1_pgentry_t ol1e;=0A     struct domain *d =3D v->domain;=
=0A =0A-    ASSERT(domain_is_locked(d));=0A-=0A     adjust_guest_l1e(nl1e, =
d);=0A =0A     gmfn =3D pte_addr >> PAGE_SHIFT;=0A@@ -3855,8 +3853,6 @@ =
static int create_grant_va_mapping(=0A     struct page_info *l1pg;=0A     =
int okay;=0A     =0A-    ASSERT(domain_is_locked(d));=0A-=0A     adjust_gue=
st_l1e(nl1e, d);=0A =0A     pl1e =3D guest_map_l1e(v, va, &gl1mfn);=0A--- =
a/xen/common/grant_table.c=0A+++ b/xen/common/grant_table.c=0A@@ -169,6 =
+169,30 @@ static int __get_paged_frame(unsigned lo=0A     return rc;=0A =
}=0A =0A+static inline void=0A+double_gt_lock(struct grant_table *lgt, =
struct grant_table *rgt)=0A+{=0A+    if ( lgt < rgt )=0A+    {=0A+        =
spin_lock(&lgt->lock);=0A+        spin_lock(&rgt->lock);=0A+    }=0A+    =
else=0A+    {=0A+        if ( lgt !=3D rgt )=0A+            spin_lock(&rgt-=
>lock);=0A+        spin_lock(&lgt->lock);=0A+    }=0A+}=0A+=0A+static =
inline void=0A+double_gt_unlock(struct grant_table *lgt, struct grant_table=
 *rgt)=0A+{=0A+    spin_unlock(&lgt->lock);=0A+    if ( lgt !=3D rgt )=0A+ =
       spin_unlock(&rgt->lock);=0A+}=0A+=0A static inline int=0A __get_mapt=
rack_handle(=0A     struct grant_table *t)=0A@@ -184,8 +208,10 @@ static =
inline void=0A put_maptrack_handle(=0A     struct grant_table *t, int =
handle)=0A {=0A+    spin_lock(&t->lock);=0A     maptrack_entry(t, =
handle).ref =3D t->maptrack_head;=0A     t->maptrack_head =3D handle;=0A+  =
  spin_unlock(&t->lock);=0A }=0A =0A static inline int=0A@@ -197,46 =
+223,35 @@ get_maptrack_handle(=0A     struct grant_mapping *new_mt;=0A    =
 unsigned int          new_mt_limit, nr_frames;=0A =0A-    if ( unlikely((h=
andle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )=0A+    spin_lock(&lgt->l=
ock);=0A+=0A+    while ( unlikely((handle =3D __get_maptrack_handle(lgt)) =
=3D=3D -1) )=0A     {=0A-        spin_lock(&lgt->lock);=0A+        =
nr_frames =3D nr_maptrack_frames(lgt);=0A+        if ( nr_frames >=3D =
max_nr_maptrack_frames() )=0A+            break;=0A =0A-        if ( =
unlikely((handle =3D __get_maptrack_handle(lgt)) =3D=3D -1) )=0A-        =
{=0A-            nr_frames =3D nr_maptrack_frames(lgt);=0A-            if =
( nr_frames >=3D max_nr_maptrack_frames() )=0A-            {=0A-           =
     spin_unlock(&lgt->lock);=0A-                return -1;=0A-            =
}=0A+        new_mt =3D alloc_xenheap_page();=0A+        if ( !new_mt =
)=0A+            break;=0A =0A-            new_mt =3D alloc_xenheap_page();=
=0A-            if ( new_mt =3D=3D NULL )=0A-            {=0A-             =
   spin_unlock(&lgt->lock);=0A-                return -1;=0A-            =
}=0A+        clear_page(new_mt);=0A =0A-            clear_page(new_mt);=0A+=
        new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;=0A =0A-  =
          new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;=0A+    =
    for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )=0A+           =
 new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;=0A =0A-            for ( i =
=3D lgt->maptrack_limit; i < new_mt_limit; i++ )=0A-            {=0A-      =
          new_mt[i % MAPTRACK_PER_PAGE].ref =3D i+1;=0A-                =
new_mt[i % MAPTRACK_PER_PAGE].flags =3D 0;=0A-            }=0A+        =
lgt->maptrack[nr_frames] =3D new_mt;=0A+        smp_wmb();=0A+        =
lgt->maptrack_limit      =3D new_mt_limit;=0A =0A-            lgt->maptrack=
[nr_frames] =3D new_mt;=0A-            lgt->maptrack_limit      =3D =
new_mt_limit;=0A+        gdprintk(XENLOG_INFO, "Increased maptrack size to =
%u frames\n",=0A+                 nr_frames + 1);=0A+    }=0A =0A-         =
   gdprintk(XENLOG_INFO,=0A-                    "Increased maptrack size =
to %u frames.\n", nr_frames + 1);=0A-            handle =3D __get_maptrack_=
handle(lgt);=0A-        }=0A+    spin_unlock(&lgt->lock);=0A =0A-        =
spin_unlock(&lgt->lock);=0A-    }=0A     return handle;=0A }=0A =0A@@ =
-425,25 +440,23 @@ static int _set_status(unsigned gt_versi=0A }=0A =0A =
static void mapcount(=0A-    struct domain *ld, unsigned long mfn,=0A+    =
struct domain *ld, struct domain *rd, unsigned long mfn,=0A     unsigned =
int *wrc, unsigned int *rdc)=0A {=0A     struct grant_table *gt =3D =
ld->grant_table;=0A     struct grant_mapping *map;=0A     grant_handle_t =
handle;=0A-    struct domain *rd;=0A =0A     *wrc =3D *rdc =3D 0;=0A =0A   =
  for ( handle =3D 0; handle < gt->maptrack_limit; handle++ )=0A     {=0A  =
       map =3D &maptrack_entry(gt, handle);=0A-        if ( !(map->flags & =
(GNTMAP_device_map|GNTMAP_host_map)) )=0A+        if ( !(map->flags & =
(GNTMAP_device_map|GNTMAP_host_map)) ||=0A+             map->domid !=3D =
rd->domain_id )=0A             continue;=0A-        rd =3D rcu_lock_domain_=
by_id(map->domid);=0A         if ( active_entry(rd->grant_table, map->ref).=
frame =3D=3D mfn )=0A             (map->flags & GNTMAP_readonly) ? =
(*rdc)++ : (*wrc)++;=0A-        rcu_unlock_domain(rd);=0A     }=0A }=0A =
=0A@@ -662,6 +675,8 @@ __gnttab_map_grant_ref(=0A         goto undo_out;=0A=
     }=0A =0A+    double_gt_lock(ld->grant_table, rd->grant_table);=0A+=0A =
    if ( !is_hvm_domain(ld) && need_iommu(ld) )=0A     {=0A         =
unsigned int wrc, rdc;=0A@@ -670,7 +685,7 @@ __gnttab_map_grant_ref(=0A    =
     BUG_ON(paging_mode_translate(ld));=0A         /* We're not translated,=
 so we know that gmfns and mfns are=0A            the same things, so the =
IOMMU entry is always 1-to-1. */=0A-        mapcount(ld, frame, &wrc, =
&rdc);=0A+        mapcount(ld, rd, frame, &wrc, &rdc);=0A         if ( =
(act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) &&=0A              =
!(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )=0A         {=0A@@ =
-685,6 +700,7 @@ __gnttab_map_grant_ref(=0A         }=0A         if ( err =
)=0A         {=0A+            double_gt_unlock(ld->grant_table, rd->grant_t=
able);=0A             rc =3D GNTST_general_error;=0A             goto =
undo_out;=0A         }=0A@@ -697,6 +713,8 @@ __gnttab_map_grant_ref(=0A    =
 mt->ref   =3D op->ref;=0A     mt->flags =3D op->flags;=0A =0A+    =
double_gt_unlock(ld->grant_table, rd->grant_table);=0A+=0A     op->dev_bus_=
addr =3D (u64)frame << PAGE_SHIFT;=0A     op->handle       =3D handle;=0A  =
   op->status       =3D GNTST_okay;=0A@@ -787,18 +805,20 @@ __gnttab_unmap_=
common(=0A     }=0A =0A     op->map =3D &maptrack_entry(ld->grant_table, =
op->handle);=0A+    spin_lock(&ld->grant_table->lock);=0A =0A     if ( =
unlikely(!op->map->flags) )=0A     {=0A+        spin_unlock(&ld->grant_tabl=
e->lock);=0A         gdprintk(XENLOG_INFO, "Zero flags for handle =
(%d).\n", op->handle);=0A         op->status =3D GNTST_bad_handle;=0A      =
   return;=0A     }=0A =0A-    dom   =3D op->map->domid;=0A-    op->flags =
=3D op->map->flags;=0A+    dom =3D op->map->domid;=0A+    spin_unlock(&ld->=
grant_table->lock);=0A =0A-    if ( unlikely((op->rd =3D rd =3D rcu_lock_do=
main_by_id(dom)) =3D=3D NULL) )=0A+    if ( unlikely((rd =3D rcu_lock_domai=
n_by_id(dom)) =3D=3D NULL) )=0A     {=0A         /* This can happen when a =
grant is implicitly unmapped. */=0A         gdprintk(XENLOG_INFO, "Could =
not find domain %d\n", dom);=0A@@ -816,8 +836,17 @@ __gnttab_unmap_common(=
=0A =0A     TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);=0A =0A-    spin_lock(&=
rd->grant_table->lock);=0A+    double_gt_lock(ld->grant_table, rd->grant_ta=
ble);=0A+=0A+    op->flags =3D op->map->flags;=0A+    if ( unlikely(!op->fl=
ags) || unlikely(op->map->domid !=3D dom) )=0A+    {=0A+        gdprintk(XE=
NLOG_WARNING, "Unstable handle %u\n", op->handle);=0A+        rc =3D =
GNTST_bad_handle;=0A+        goto unmap_out;=0A+    }=0A =0A+    op->rd =
=3D rd;=0A     act =3D &active_entry(rd->grant_table, op->map->ref);=0A =
=0A     if ( op->frame =3D=3D 0 )=0A@@ -861,7 +890,7 @@ __gnttab_unmap_comm=
on(=0A         unsigned int wrc, rdc;=0A         int err =3D 0;=0A         =
BUG_ON(paging_mode_translate(ld));=0A-        mapcount(ld, op->frame, =
&wrc, &rdc);=0A+        mapcount(ld, rd, op->frame, &wrc, &rdc);=0A        =
 if ( (wrc + rdc) =3D=3D 0 )=0A             err =3D iommu_unmap_page(ld, =
op->frame);=0A         else if ( wrc =3D=3D 0 )=0A@@ -878,8 +907,8 @@ =
__gnttab_unmap_common(=0A          gnttab_mark_dirty(rd, op->frame);=0A =
=0A  unmap_out:=0A+    double_gt_unlock(ld->grant_table, rd->grant_table);=
=0A     op->status =3D rc;=0A-    spin_unlock(&rd->grant_table->lock);=0A  =
   rcu_unlock_domain(rd);=0A }=0A =0A@@ -891,6 +920,7 @@ __gnttab_unmap_com=
mon_complete(struct gn=0A     grant_entry_header_t *sha;=0A     struct =
page_info *pg;=0A     uint16_t *status;=0A+    bool_t put_handle =3D 0;=0A =
=0A     rd =3D op->rd;=0A =0A@@ -962,10 +992,7 @@ __gnttab_unmap_common_com=
plete(struct gn=0A     }=0A =0A     if ( (op->map->flags & (GNTMAP_device_m=
ap|GNTMAP_host_map)) =3D=3D 0 )=0A-    {=0A-        op->map->flags =3D =
0;=0A-        put_maptrack_handle(ld->grant_table, op->handle);=0A-    =
}=0A+        put_handle =3D 1;=0A =0A     if ( ((act->pin & (GNTPIN_devw_ma=
sk|GNTPIN_hstw_mask)) =3D=3D 0) &&=0A          !(op->flags & GNTMAP_readonl=
y) )=0A@@ -976,6 +1003,11 @@ __gnttab_unmap_common_complete(struct gn=0A =
=0A  unmap_out:=0A     spin_unlock(&rd->grant_table->lock);=0A+    if ( =
put_handle )=0A+    {=0A+        op->map->flags =3D 0;=0A+        =
put_maptrack_handle(ld->grant_table, op->handle);=0A+    }=0A     =
rcu_unlock_domain(rd);=0A }=0A =0A@@ -2361,13 +2393,10 @@ do_grant_table_op=
(=0A     unsigned int cmd, XEN_GUEST_HANDLE(void) uop, unsigned int =
count)=0A {=0A     long rc;=0A-    struct domain *d =3D current->domain;=0A=
     =0A     if ( (int)count < 0 )=0A         return -EINVAL;=0A     =0A-  =
  domain_lock(d);=0A-    =0A     rc =3D -EFAULT;=0A     switch ( cmd )=0A  =
   {=0A@@ -2494,8 +2523,6 @@ do_grant_table_op(=0A     }=0A     =0A   =
out:=0A-    domain_unlock(d);=0A-=0A     if ( rc > 0 )=0A     {=0A         =
ASSERT(rc < count);=0A
--=__Part2907D431.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2907D431.0__=--


From xen-devel-bounces@lists.xen.org Fri May 25 12:51:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:51:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtyu-0005p4-Nw; Fri, 25 May 2012 12:51:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXtyt-0005os-UT
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:51:00 +0000
Received: from [85.158.138.51:47187] by server-6.bemta-3.messagelabs.com id
	3E/82-18175-3308FBF4; Fri, 25 May 2012 12:50:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337950257!27366534!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9152 invoked from network); 25 May 2012 12:50:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:50:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:50:57 +0100
Message-Id: <4FBF9C72020000780008627E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:51:30 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5A74A742.0__="
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 2/3] gnttab: mark maptrack free list tail with
 an explicit terminator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5A74A742.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... instead of using the mutable current limit.

This also addresses an apparent off-by-one mistake when checking for
exhaustion of the maptrack table.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -107,6 +107,8 @@ static unsigned inline int max_nr_maptra
     return (max_nr_grant_frames * MAX_MAPTRACK_TO_GRANTS_RATIO);
 }
=20
+#define MAPTRACK_TAIL (~0u)
+
 #define SHGNT_PER_PAGE_V1 (PAGE_SIZE / sizeof(grant_entry_v1_t))
 #define shared_entry_v1(t, e) \
     ((t)->shared_v1[(e)/SHGNT_PER_PAGE_V1][(e)%SHGNT_PER_PAGE_V1])
@@ -198,7 +200,7 @@ __get_maptrack_handle(
     struct grant_table *t)
 {
     unsigned int h;
-    if ( unlikely((h =3D t->maptrack_head) =3D=3D (t->maptrack_limit - =
1)) )
+    if ( unlikely((h =3D t->maptrack_head) =3D=3D MAPTRACK_TAIL) )
         return -1;
     t->maptrack_head =3D maptrack_entry(t, h).ref;
     return h;
@@ -239,8 +241,10 @@ get_maptrack_handle(
=20
         new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;
=20
-        for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )
-            new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;
+        for ( i =3D 1; i < MAPTRACK_PER_PAGE; i++ )
+            new_mt[i - 1].ref =3D lgt->maptrack_limit + i;
+        new_mt[i - 1].ref =3D lgt->maptrack_head;
+        lgt->maptrack_head =3D lgt->maptrack_limit;
=20
         lgt->maptrack[nr_frames] =3D new_mt;
         smp_wmb();
@@ -2577,9 +2581,10 @@ grant_table_create(
     if ( (t->maptrack[0] =3D alloc_xenheap_page()) =3D=3D NULL )
         goto no_mem_3;
     clear_page(t->maptrack[0]);
-    t->maptrack_limit =3D PAGE_SIZE / sizeof(struct grant_mapping);
-    for ( i =3D 0; i < t->maptrack_limit; i++ )
-        t->maptrack[0][i].ref =3D i+1;
+    t->maptrack_limit =3D MAPTRACK_PER_PAGE;
+    for ( i =3D 1; i < MAPTRACK_PER_PAGE; i++ )
+        t->maptrack[0][i - 1].ref =3D i;
+    t->maptrack[0][i - 1].ref =3D MAPTRACK_TAIL;
=20
     /* Shared grant table. */
     if ( (t->shared_raw =3D xzalloc_array(void *, max_nr_grant_frames)) =
=3D=3D NULL )




--=__Part5A74A742.0__=
Content-Type: text/plain; name="gnttab-maptrack-terminator.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="gnttab-maptrack-terminator.patch"

gnttab: mark maptrack free list tail with an explicit terminator=0A=0A... =
instead of using the mutable current limit.=0A=0AThis also addresses an =
apparent off-by-one mistake when checking for=0Aexhaustion of the maptrack =
table.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0ATested-by: =
Andrew Thomas <andrew.thomas@oracle.com>=0A=0A--- a/xen/common/grant_table.=
c=0A+++ b/xen/common/grant_table.c=0A@@ -107,6 +107,8 @@ static unsigned =
inline int max_nr_maptra=0A     return (max_nr_grant_frames * MAX_MAPTRACK_=
TO_GRANTS_RATIO);=0A }=0A =0A+#define MAPTRACK_TAIL (~0u)=0A+=0A #define =
SHGNT_PER_PAGE_V1 (PAGE_SIZE / sizeof(grant_entry_v1_t))=0A #define =
shared_entry_v1(t, e) \=0A     ((t)->shared_v1[(e)/SHGNT_PER_PAGE_V1][(e)%S=
HGNT_PER_PAGE_V1])=0A@@ -198,7 +200,7 @@ __get_maptrack_handle(=0A     =
struct grant_table *t)=0A {=0A     unsigned int h;=0A-    if ( unlikely((h =
=3D t->maptrack_head) =3D=3D (t->maptrack_limit - 1)) )=0A+    if ( =
unlikely((h =3D t->maptrack_head) =3D=3D MAPTRACK_TAIL) )=0A         =
return -1;=0A     t->maptrack_head =3D maptrack_entry(t, h).ref;=0A     =
return h;=0A@@ -239,8 +241,10 @@ get_maptrack_handle(=0A =0A         =
new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;=0A =0A-        =
for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )=0A-            =
new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;=0A+        for ( i =3D 1; i < =
MAPTRACK_PER_PAGE; i++ )=0A+            new_mt[i - 1].ref =3D lgt->maptrack=
_limit + i;=0A+        new_mt[i - 1].ref =3D lgt->maptrack_head;=0A+       =
 lgt->maptrack_head =3D lgt->maptrack_limit;=0A =0A         lgt->maptrack[n=
r_frames] =3D new_mt;=0A         smp_wmb();=0A@@ -2577,9 +2581,10 @@ =
grant_table_create(=0A     if ( (t->maptrack[0] =3D alloc_xenheap_page()) =
=3D=3D NULL )=0A         goto no_mem_3;=0A     clear_page(t->maptrack[0]);=
=0A-    t->maptrack_limit =3D PAGE_SIZE / sizeof(struct grant_mapping);=0A-=
    for ( i =3D 0; i < t->maptrack_limit; i++ )=0A-        t->maptrack[0][i=
].ref =3D i+1;=0A+    t->maptrack_limit =3D MAPTRACK_PER_PAGE;=0A+    for =
( i =3D 1; i < MAPTRACK_PER_PAGE; i++ )=0A+        t->maptrack[0][i - =
1].ref =3D i;=0A+    t->maptrack[0][i - 1].ref =3D MAPTRACK_TAIL;=0A =0A   =
  /* Shared grant table. */=0A     if ( (t->shared_raw =3D xzalloc_array(vo=
id *, max_nr_grant_frames)) =3D=3D NULL )=0A
--=__Part5A74A742.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5A74A742.0__=--


From xen-devel-bounces@lists.xen.org Fri May 25 12:51:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:51:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtyu-0005p4-Nw; Fri, 25 May 2012 12:51:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXtyt-0005os-UT
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:51:00 +0000
Received: from [85.158.138.51:47187] by server-6.bemta-3.messagelabs.com id
	3E/82-18175-3308FBF4; Fri, 25 May 2012 12:50:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337950257!27366534!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9152 invoked from network); 25 May 2012 12:50:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-15.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:50:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:50:57 +0100
Message-Id: <4FBF9C72020000780008627E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:51:30 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part5A74A742.0__="
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 2/3] gnttab: mark maptrack free list tail with
 an explicit terminator
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part5A74A742.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

... instead of using the mutable current limit.

This also addresses an apparent off-by-one mistake when checking for
exhaustion of the maptrack table.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -107,6 +107,8 @@ static unsigned inline int max_nr_maptra
     return (max_nr_grant_frames * MAX_MAPTRACK_TO_GRANTS_RATIO);
 }
=20
+#define MAPTRACK_TAIL (~0u)
+
 #define SHGNT_PER_PAGE_V1 (PAGE_SIZE / sizeof(grant_entry_v1_t))
 #define shared_entry_v1(t, e) \
     ((t)->shared_v1[(e)/SHGNT_PER_PAGE_V1][(e)%SHGNT_PER_PAGE_V1])
@@ -198,7 +200,7 @@ __get_maptrack_handle(
     struct grant_table *t)
 {
     unsigned int h;
-    if ( unlikely((h =3D t->maptrack_head) =3D=3D (t->maptrack_limit - =
1)) )
+    if ( unlikely((h =3D t->maptrack_head) =3D=3D MAPTRACK_TAIL) )
         return -1;
     t->maptrack_head =3D maptrack_entry(t, h).ref;
     return h;
@@ -239,8 +241,10 @@ get_maptrack_handle(
=20
         new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;
=20
-        for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )
-            new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;
+        for ( i =3D 1; i < MAPTRACK_PER_PAGE; i++ )
+            new_mt[i - 1].ref =3D lgt->maptrack_limit + i;
+        new_mt[i - 1].ref =3D lgt->maptrack_head;
+        lgt->maptrack_head =3D lgt->maptrack_limit;
=20
         lgt->maptrack[nr_frames] =3D new_mt;
         smp_wmb();
@@ -2577,9 +2581,10 @@ grant_table_create(
     if ( (t->maptrack[0] =3D alloc_xenheap_page()) =3D=3D NULL )
         goto no_mem_3;
     clear_page(t->maptrack[0]);
-    t->maptrack_limit =3D PAGE_SIZE / sizeof(struct grant_mapping);
-    for ( i =3D 0; i < t->maptrack_limit; i++ )
-        t->maptrack[0][i].ref =3D i+1;
+    t->maptrack_limit =3D MAPTRACK_PER_PAGE;
+    for ( i =3D 1; i < MAPTRACK_PER_PAGE; i++ )
+        t->maptrack[0][i - 1].ref =3D i;
+    t->maptrack[0][i - 1].ref =3D MAPTRACK_TAIL;
=20
     /* Shared grant table. */
     if ( (t->shared_raw =3D xzalloc_array(void *, max_nr_grant_frames)) =
=3D=3D NULL )




--=__Part5A74A742.0__=
Content-Type: text/plain; name="gnttab-maptrack-terminator.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="gnttab-maptrack-terminator.patch"

gnttab: mark maptrack free list tail with an explicit terminator=0A=0A... =
instead of using the mutable current limit.=0A=0AThis also addresses an =
apparent off-by-one mistake when checking for=0Aexhaustion of the maptrack =
table.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0ATested-by: =
Andrew Thomas <andrew.thomas@oracle.com>=0A=0A--- a/xen/common/grant_table.=
c=0A+++ b/xen/common/grant_table.c=0A@@ -107,6 +107,8 @@ static unsigned =
inline int max_nr_maptra=0A     return (max_nr_grant_frames * MAX_MAPTRACK_=
TO_GRANTS_RATIO);=0A }=0A =0A+#define MAPTRACK_TAIL (~0u)=0A+=0A #define =
SHGNT_PER_PAGE_V1 (PAGE_SIZE / sizeof(grant_entry_v1_t))=0A #define =
shared_entry_v1(t, e) \=0A     ((t)->shared_v1[(e)/SHGNT_PER_PAGE_V1][(e)%S=
HGNT_PER_PAGE_V1])=0A@@ -198,7 +200,7 @@ __get_maptrack_handle(=0A     =
struct grant_table *t)=0A {=0A     unsigned int h;=0A-    if ( unlikely((h =
=3D t->maptrack_head) =3D=3D (t->maptrack_limit - 1)) )=0A+    if ( =
unlikely((h =3D t->maptrack_head) =3D=3D MAPTRACK_TAIL) )=0A         =
return -1;=0A     t->maptrack_head =3D maptrack_entry(t, h).ref;=0A     =
return h;=0A@@ -239,8 +241,10 @@ get_maptrack_handle(=0A =0A         =
new_mt_limit =3D lgt->maptrack_limit + MAPTRACK_PER_PAGE;=0A =0A-        =
for ( i =3D lgt->maptrack_limit; i < new_mt_limit; i++ )=0A-            =
new_mt[i % MAPTRACK_PER_PAGE].ref =3D i + 1;=0A+        for ( i =3D 1; i < =
MAPTRACK_PER_PAGE; i++ )=0A+            new_mt[i - 1].ref =3D lgt->maptrack=
_limit + i;=0A+        new_mt[i - 1].ref =3D lgt->maptrack_head;=0A+       =
 lgt->maptrack_head =3D lgt->maptrack_limit;=0A =0A         lgt->maptrack[n=
r_frames] =3D new_mt;=0A         smp_wmb();=0A@@ -2577,9 +2581,10 @@ =
grant_table_create(=0A     if ( (t->maptrack[0] =3D alloc_xenheap_page()) =
=3D=3D NULL )=0A         goto no_mem_3;=0A     clear_page(t->maptrack[0]);=
=0A-    t->maptrack_limit =3D PAGE_SIZE / sizeof(struct grant_mapping);=0A-=
    for ( i =3D 0; i < t->maptrack_limit; i++ )=0A-        t->maptrack[0][i=
].ref =3D i+1;=0A+    t->maptrack_limit =3D MAPTRACK_PER_PAGE;=0A+    for =
( i =3D 1; i < MAPTRACK_PER_PAGE; i++ )=0A+        t->maptrack[0][i - =
1].ref =3D i;=0A+    t->maptrack[0][i - 1].ref =3D MAPTRACK_TAIL;=0A =0A   =
  /* Shared grant table. */=0A     if ( (t->shared_raw =3D xzalloc_array(vo=
id *, max_nr_grant_frames)) =3D=3D NULL )=0A
--=__Part5A74A742.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part5A74A742.0__=--


From xen-devel-bounces@lists.xen.org Fri May 25 12:52:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:52:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtzi-0005vF-Eq; Fri, 25 May 2012 12:51:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXtzg-0005us-0N
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:51:48 +0000
Received: from [85.158.138.51:56619] by server-10.bemta-3.messagelabs.com id
	A7/3B-01101-3608FBF4; Fri, 25 May 2012 12:51:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337950304!29081004!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29673 invoked from network); 25 May 2012 12:51:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:51:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:51:44 +0100
Message-Id: <4FBF9CA10200007800086282@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:52:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part89A77491.0__="
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 3/3] gnttab: cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part89A77491.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- introduce local variables (shortcuts for frequently used <dom>->grant_tab=
le)
- adjust first parameter of mapcount()
- drop lock acquisition from gnttab_get_version()
- remove hard tabs and adjust formatting

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -444,18 +444,17 @@ static int _set_status(unsigned gt_versi
 }
=20
 static void mapcount(
-    struct domain *ld, struct domain *rd, unsigned long mfn,
+    struct grant_table *lgt, struct domain *rd, unsigned long mfn,
     unsigned int *wrc, unsigned int *rdc)
 {
-    struct grant_table *gt =3D ld->grant_table;
     struct grant_mapping *map;
     grant_handle_t handle;
=20
     *wrc =3D *rdc =3D 0;
=20
-    for ( handle =3D 0; handle < gt->maptrack_limit; handle++ )
+    for ( handle =3D 0; handle < lgt->maptrack_limit; handle++ )
     {
-        map =3D &maptrack_entry(gt, handle);
+        map =3D &maptrack_entry(lgt, handle);
         if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) ||
              map->domid !=3D rd->domain_id )
             continue;
@@ -476,6 +475,7 @@ __gnttab_map_grant_ref(
     struct gnttab_map_grant_ref *op)
 {
     struct domain *ld, *rd, *owner =3D NULL;
+    struct grant_table *lgt, *rgt;
     struct vcpu   *led;
     int            handle;
     unsigned long  frame =3D 0, nr_gets =3D 0;
@@ -525,7 +525,8 @@ __gnttab_map_grant_ref(
         return;
     }
=20
-    if ( unlikely((handle =3D get_maptrack_handle(ld->grant_table)) =
=3D=3D -1) )
+    lgt =3D ld->grant_table;
+    if ( unlikely((handle =3D get_maptrack_handle(lgt)) =3D=3D -1) )
     {
         rcu_unlock_domain(rd);
         gdprintk(XENLOG_INFO, "Failed to obtain maptrack handle.\n");
@@ -533,26 +534,27 @@ __gnttab_map_grant_ref(
         return;
     }
=20
-    spin_lock(&rd->grant_table->lock);
+    rgt =3D rd->grant_table;
+    spin_lock(&rgt->lock);
=20
-    if ( rd->grant_table->gt_version =3D=3D 0 )
+    if ( rgt->gt_version =3D=3D 0 )
         PIN_FAIL(unlock_out, GNTST_general_error,
                  "remote grant table not yet set up");
=20
     /* Bounds check on the grant ref */
-    if ( unlikely(op->ref >=3D nr_grant_entries(rd->grant_table)))
+    if ( unlikely(op->ref >=3D nr_grant_entries(rgt)))
         PIN_FAIL(unlock_out, GNTST_bad_gntref, "Bad ref (%d).\n", =
op->ref);
=20
-    act =3D &active_entry(rd->grant_table, op->ref);
-    shah =3D shared_entry_header(rd->grant_table, op->ref);
-    if (rd->grant_table->gt_version =3D=3D 1) {
-        sha1 =3D &shared_entry_v1(rd->grant_table, op->ref);
+    act =3D &active_entry(rgt, op->ref);
+    shah =3D shared_entry_header(rgt, op->ref);
+    if (rgt->gt_version =3D=3D 1) {
+        sha1 =3D &shared_entry_v1(rgt, op->ref);
         sha2 =3D NULL;
         status =3D &shah->flags;
     } else {
-        sha2 =3D &shared_entry_v2(rd->grant_table, op->ref);
+        sha2 =3D &shared_entry_v2(rgt, op->ref);
         sha1 =3D NULL;
-        status =3D &status_entry(rd->grant_table, op->ref);
+        status =3D &status_entry(rgt, op->ref);
     }
=20
     /* If already pinned, check the active domid and avoid refcnt =
overflow. */
@@ -568,8 +570,8 @@ __gnttab_map_grant_ref(
          (!(op->flags & GNTMAP_readonly) &&
           !(act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask))) )
     {
-        if ( (rc =3D _set_status(rd->grant_table->gt_version,
-                               ld->domain_id, op->flags & GNTMAP_readonly,=

+        if ( (rc =3D _set_status(rgt->gt_version, ld->domain_id,
+                               op->flags & GNTMAP_readonly,
                                1, shah, act, status) ) !=3D GNTST_okay )
              goto unlock_out;
=20
@@ -606,7 +608,7 @@ __gnttab_map_grant_ref(
=20
     cache_flags =3D (shah->flags & (GTF_PAT | GTF_PWT | GTF_PCD) );
=20
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
=20
     /* pg may be set, with a refcount included, from __get_paged_frame */
     if ( !pg )
@@ -679,7 +681,7 @@ __gnttab_map_grant_ref(
         goto undo_out;
     }
=20
-    double_gt_lock(ld->grant_table, rd->grant_table);
+    double_gt_lock(lgt, rgt);
=20
     if ( !is_hvm_domain(ld) && need_iommu(ld) )
     {
@@ -689,7 +691,7 @@ __gnttab_map_grant_ref(
         BUG_ON(paging_mode_translate(ld));
         /* We're not translated, so we know that gmfns and mfns are
            the same things, so the IOMMU entry is always 1-to-1. */
-        mapcount(ld, rd, frame, &wrc, &rdc);
+        mapcount(lgt, rd, frame, &wrc, &rdc);
         if ( (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) &&
              !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )
         {
@@ -704,7 +706,7 @@ __gnttab_map_grant_ref(
         }
         if ( err )
         {
-            double_gt_unlock(ld->grant_table, rd->grant_table);
+            double_gt_unlock(lgt, rgt);
             rc =3D GNTST_general_error;
             goto undo_out;
         }
@@ -712,12 +714,12 @@ __gnttab_map_grant_ref(
=20
     TRACE_1D(TRC_MEM_PAGE_GRANT_MAP, op->dom);
=20
-    mt =3D &maptrack_entry(ld->grant_table, handle);
+    mt =3D &maptrack_entry(lgt, handle);
     mt->domid =3D op->dom;
     mt->ref   =3D op->ref;
     mt->flags =3D op->flags;
=20
-    double_gt_unlock(ld->grant_table, rd->grant_table);
+    double_gt_unlock(lgt, rgt);
=20
     op->dev_bus_addr =3D (u64)frame << PAGE_SHIFT;
     op->handle       =3D handle;
@@ -740,10 +742,10 @@ __gnttab_map_grant_ref(
         put_page(pg);
     }
=20
-    spin_lock(&rd->grant_table->lock);
+    spin_lock(&rgt->lock);
=20
-    act =3D &active_entry(rd->grant_table, op->ref);
-    shah =3D shared_entry_header(rd->grant_table, op->ref);
+    act =3D &active_entry(rgt, op->ref);
+    shah =3D shared_entry_header(rgt, op->ref);
=20
     if ( op->flags & GNTMAP_device_map )
         act->pin -=3D (op->flags & GNTMAP_readonly) ?
@@ -761,9 +763,9 @@ __gnttab_map_grant_ref(
         gnttab_clear_flag(_GTF_reading, status);
=20
  unlock_out:
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
     op->status =3D rc;
-    put_maptrack_handle(ld->grant_table, handle);
+    put_maptrack_handle(lgt, handle);
     rcu_unlock_domain(rd);
 }
=20
@@ -794,33 +796,35 @@ __gnttab_unmap_common(
 {
     domid_t          dom;
     struct domain   *ld, *rd;
+    struct grant_table *lgt, *rgt;
     struct active_grant_entry *act;
     s16              rc =3D 0;
=20
     ld =3D current->domain;
+    lgt =3D ld->grant_table;
=20
     op->frame =3D (unsigned long)(op->dev_bus_addr >> PAGE_SHIFT);
=20
-    if ( unlikely(op->handle >=3D ld->grant_table->maptrack_limit) )
+    if ( unlikely(op->handle >=3D lgt->maptrack_limit) )
     {
         gdprintk(XENLOG_INFO, "Bad handle (%d).\n", op->handle);
         op->status =3D GNTST_bad_handle;
         return;
     }
=20
-    op->map =3D &maptrack_entry(ld->grant_table, op->handle);
-    spin_lock(&ld->grant_table->lock);
+    op->map =3D &maptrack_entry(lgt, op->handle);
+    spin_lock(&lgt->lock);
=20
     if ( unlikely(!op->map->flags) )
     {
-        spin_unlock(&ld->grant_table->lock);
+        spin_unlock(&lgt->lock);
         gdprintk(XENLOG_INFO, "Zero flags for handle (%d).\n", op->handle)=
;
         op->status =3D GNTST_bad_handle;
         return;
     }
=20
     dom =3D op->map->domid;
-    spin_unlock(&ld->grant_table->lock);
+    spin_unlock(&lgt->lock);
=20
     if ( unlikely((rd =3D rcu_lock_domain_by_id(dom)) =3D=3D NULL) )
     {
@@ -840,7 +844,8 @@ __gnttab_unmap_common(
=20
     TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);
=20
-    double_gt_lock(ld->grant_table, rd->grant_table);
+    rgt =3D rd->grant_table;
+    double_gt_lock(lgt, rgt);
=20
     op->flags =3D op->map->flags;
     if ( unlikely(!op->flags) || unlikely(op->map->domid !=3D dom) )
@@ -851,7 +856,7 @@ __gnttab_unmap_common(
     }
=20
     op->rd =3D rd;
-    act =3D &active_entry(rd->grant_table, op->map->ref);
+    act =3D &active_entry(rgt, op->map->ref);
=20
     if ( op->frame =3D=3D 0 )
     {
@@ -894,7 +899,7 @@ __gnttab_unmap_common(
         unsigned int wrc, rdc;
         int err =3D 0;
         BUG_ON(paging_mode_translate(ld));
-        mapcount(ld, rd, op->frame, &wrc, &rdc);
+        mapcount(lgt, rd, op->frame, &wrc, &rdc);
         if ( (wrc + rdc) =3D=3D 0 )
             err =3D iommu_unmap_page(ld, op->frame);
         else if ( wrc =3D=3D 0 )
@@ -911,7 +916,7 @@ __gnttab_unmap_common(
          gnttab_mark_dirty(rd, op->frame);
=20
  unmap_out:
-    double_gt_unlock(ld->grant_table, rd->grant_table);
+    double_gt_unlock(lgt, rgt);
     op->status =3D rc;
     rcu_unlock_domain(rd);
 }
@@ -919,15 +924,14 @@ __gnttab_unmap_common(
 static void
 __gnttab_unmap_common_complete(struct gnttab_unmap_common *op)
 {
-    struct domain   *ld, *rd;
+    struct domain *ld, *rd =3D op->rd;
+    struct grant_table *rgt;
     struct active_grant_entry *act;
     grant_entry_header_t *sha;
     struct page_info *pg;
     uint16_t *status;
     bool_t put_handle =3D 0;
=20
-    rd =3D op->rd;
-
     if ( rd =3D=3D NULL )
     {=20
         /*
@@ -941,18 +945,19 @@ __gnttab_unmap_common_complete(struct gn
     ld =3D current->domain;
=20
     rcu_lock_domain(rd);
-    spin_lock(&rd->grant_table->lock);
+    rgt =3D rd->grant_table;
+    spin_lock(&rgt->lock);
=20
-    if ( rd->grant_table->gt_version =3D=3D 0 )
+    if ( rgt->gt_version =3D=3D 0 )
         goto unmap_out;
=20
-    act =3D &active_entry(rd->grant_table, op->map->ref);
-    sha =3D shared_entry_header(rd->grant_table, op->map->ref);
+    act =3D &active_entry(rgt, op->map->ref);
+    sha =3D shared_entry_header(rgt, op->map->ref);
=20
-    if ( rd->grant_table->gt_version =3D=3D 1 )
+    if ( rgt->gt_version =3D=3D 1 )
         status =3D &sha->flags;
     else
-        status =3D &status_entry(rd->grant_table, op->map->ref);
+        status =3D &status_entry(rgt, op->map->ref);
=20
     if ( unlikely(op->frame !=3D act->frame) )=20
     {
@@ -1006,7 +1011,7 @@ __gnttab_unmap_common_complete(struct gn
         gnttab_clear_flag(_GTF_reading, status);
=20
  unmap_out:
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
     if ( put_handle )
     {
         op->map->flags =3D 0;
@@ -1020,7 +1025,7 @@ __gnttab_unmap_grant_ref(
     struct gnttab_unmap_grant_ref *op,
     struct gnttab_unmap_common *common)
 {
-	common->host_addr =3D op->host_addr;
+    common->host_addr =3D op->host_addr;
     common->dev_bus_addr =3D op->dev_bus_addr;
     common->handle =3D op->handle;
=20
@@ -1083,9 +1088,9 @@ __gnttab_unmap_and_replace(
     struct gnttab_unmap_and_replace *op,
     struct gnttab_unmap_common *common)
 {
-	common->host_addr =3D op->host_addr;
-	common->new_addr =3D op->new_addr;
-	common->handle =3D op->handle;
+    common->host_addr =3D op->host_addr;
+    common->new_addr =3D op->new_addr;
+    common->handle =3D op->handle;
    =20
     /* Intialise these in case common contains old state */
     common->dev_bus_addr =3D 0;
@@ -1253,6 +1258,7 @@ gnttab_setup_table(
 {
     struct gnttab_setup_table op;
     struct domain *d;
+    struct grant_table *gt;
     int            i;
     unsigned long  gmfn;
     domid_t        dom;
@@ -1302,22 +1308,20 @@ gnttab_setup_table(
         goto out2;
     }
=20
-    spin_lock(&d->grant_table->lock);
+    gt =3D d->grant_table;
+    spin_lock(&gt->lock);
=20
-    if ( d->grant_table->gt_version =3D=3D 0 )
-        d->grant_table->gt_version =3D 1;
+    if ( gt->gt_version =3D=3D 0 )
+        gt->gt_version =3D 1;
=20
-    if ( (op.nr_frames > nr_grant_frames(d->grant_table) ||
-          ( (d->grant_table->gt_version > 1 ) &&
-            (grant_to_status_frames(op.nr_frames) >
-             nr_status_frames(d->grant_table))  )  ) &&
+    if ( (op.nr_frames > nr_grant_frames(gt) ||
+          ((gt->gt_version > 1) &&
+           (grant_to_status_frames(op.nr_frames) > nr_status_frames(gt))))=
 &&
          !gnttab_grow_table(d, op.nr_frames) )
     {
         gdprintk(XENLOG_INFO,
-                "Expand grant table to %d failed. Current: %d Max: =
%d.\n",
-                op.nr_frames,
-                nr_grant_frames(d->grant_table),
-                max_nr_grant_frames);
+                 "Expand grant table to %u failed. Current: %u Max: =
%u\n",
+                 op.nr_frames, nr_grant_frames(gt), max_nr_grant_frames);
         op.status =3D GNTST_general_error;
         goto out3;
     }
@@ -1325,14 +1329,14 @@ gnttab_setup_table(
     op.status =3D GNTST_okay;
     for ( i =3D 0; i < op.nr_frames; i++ )
     {
-        gmfn =3D gnttab_shared_gmfn(d, d->grant_table, i);
+        gmfn =3D gnttab_shared_gmfn(d, gt, i);
         /* Grant tables cannot be shared */
         BUG_ON(SHARED_M2P(gmfn));
         (void)copy_to_guest_offset(op.frame_list, i, &gmfn, 1);
     }
=20
  out3:
-    spin_unlock(&d->grant_table->lock);
+    spin_unlock(&gt->lock);
  out2:
     rcu_unlock_domain(d);
  out1:
@@ -1430,7 +1434,7 @@ gnttab_prepare_for_transfer(
         goto fail;
     }
=20
-    if ( unlikely(ref >=3D nr_grant_entries(rd->grant_table)) )
+    if ( unlikely(ref >=3D nr_grant_entries(rgt)) )
     {
         gdprintk(XENLOG_INFO,
                 "Bad grant reference (%d) for transfer to domain(%d).\n",
@@ -1673,6 +1677,7 @@ static void
 __release_grant_for_copy(
     struct domain *rd, unsigned long gref, int readonly)
 {
+    struct grant_table *rgt =3D rd->grant_table;
     grant_entry_header_t *sha;
     struct active_grant_entry *act;
     unsigned long r_frame;
@@ -1685,13 +1690,13 @@ __release_grant_for_copy(
     released_read =3D 0;
     released_write =3D 0;
=20
-    spin_lock(&rd->grant_table->lock);
+    spin_lock(&rgt->lock);
=20
-    act =3D &active_entry(rd->grant_table, gref);
-    sha =3D shared_entry_header(rd->grant_table, gref);
+    act =3D &active_entry(rgt, gref);
+    sha =3D shared_entry_header(rgt, gref);
     r_frame =3D act->frame;
=20
-    if (rd->grant_table->gt_version =3D=3D 1)
+    if (rgt->gt_version =3D=3D 1)
     {
         status =3D &sha->flags;
         td =3D rd;
@@ -1699,7 +1704,7 @@ __release_grant_for_copy(
     }
     else
     {
-        status =3D &status_entry(rd->grant_table, gref);
+        status =3D &status_entry(rgt, gref);
         td =3D act->trans_domain;
         trans_gref =3D act->trans_gref;
     }
@@ -1726,7 +1731,7 @@ __release_grant_for_copy(
         released_read =3D 1;
     }
=20
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
=20
     if ( td !=3D rd )
     {
@@ -1737,7 +1742,7 @@ __release_grant_for_copy(
         else if ( released_read )
             __release_grant_for_copy(td, trans_gref, 1);
=20
-	rcu_unlock_domain(td);
+        rcu_unlock_domain(td);
     }
 }
=20
@@ -1762,10 +1767,11 @@ static void __fixup_status_for_pin(const
    If there is any error, *page =3D NULL, no ref taken. */
 static int
 __acquire_grant_for_copy(
-    struct domain *rd, unsigned long gref, struct domain *ld, int =
readonly,
+    struct domain *rd, unsigned long gref, domid_t ldom, int readonly,
     unsigned long *frame, struct page_info **page,=20
     unsigned *page_off, unsigned *length, unsigned allow_transitive)
 {
+    struct grant_table *rgt =3D rd->grant_table;
     grant_entry_v1_t *sha1;
     grant_entry_v2_t *sha2;
     grant_entry_header_t *shah;
@@ -1783,45 +1789,42 @@ __acquire_grant_for_copy(
=20
     *page =3D NULL;
=20
-    spin_lock(&rd->grant_table->lock);
+    spin_lock(&rgt->lock);
=20
-    if ( rd->grant_table->gt_version =3D=3D 0 )
+    if ( rgt->gt_version =3D=3D 0 )
         PIN_FAIL(unlock_out, GNTST_general_error,
                  "remote grant table not ready\n");
=20
-    if ( unlikely(gref >=3D nr_grant_entries(rd->grant_table)) )
+    if ( unlikely(gref >=3D nr_grant_entries(rgt)) )
         PIN_FAIL(unlock_out, GNTST_bad_gntref,
                  "Bad grant reference %ld\n", gref);
=20
-    act =3D &active_entry(rd->grant_table, gref);
-    shah =3D shared_entry_header(rd->grant_table, gref);
-    if ( rd->grant_table->gt_version =3D=3D 1 )
+    act =3D &active_entry(rgt, gref);
+    shah =3D shared_entry_header(rgt, gref);
+    if ( rgt->gt_version =3D=3D 1 )
     {
-        sha1 =3D &shared_entry_v1(rd->grant_table, gref);
+        sha1 =3D &shared_entry_v1(rgt, gref);
         sha2 =3D NULL;
         status =3D &shah->flags;
     }
     else
     {
         sha1 =3D NULL;
-        sha2 =3D &shared_entry_v2(rd->grant_table, gref);
-        status =3D &status_entry(rd->grant_table, gref);
+        sha2 =3D &shared_entry_v2(rgt, gref);
+        status =3D &status_entry(rgt, gref);
     }
=20
     /* If already pinned, check the active domid and avoid refcnt =
overflow. */
-    if ( act->pin &&
-         ((act->domid !=3D ld->domain_id) ||
-          (act->pin & 0x80808080U) !=3D 0) )
+    if ( act->pin && ((act->domid !=3D ldom) || (act->pin & 0x80808080U) =
!=3D 0) )
         PIN_FAIL(unlock_out, GNTST_general_error,
                  "Bad domain (%d !=3D %d), or risk of counter overflow =
%08x\n",
-                 act->domid, ld->domain_id, act->pin);
+                 act->domid, ldom, act->pin);
=20
     old_pin =3D act->pin;
     if ( !act->pin ||
          (!readonly && !(act->pin & (GNTPIN_devw_mask|GNTPIN_hstw_mask))) =
)
     {
-        if ( (rc =3D _set_status(rd->grant_table->gt_version,
-                               ld->domain_id,
+        if ( (rc =3D _set_status(rgt->gt_version, ldom,
                                readonly, 0, shah, act,
                                status) ) !=3D GNTST_okay )
              goto unlock_out;
@@ -1842,7 +1845,7 @@ __acquire_grant_for_copy(
                 PIN_FAIL(unlock_out, GNTST_general_error,
                          "transitive grants cannot be self-referential\n")=
;
=20
-            /* We allow the trans_domid =3D=3D ld->domain_id case, which
+            /* We allow the trans_domid =3D=3D ldom case, which
                corresponds to a grant being issued by one domain, sent
                to another one, and then transitively granted back to
                the original domain.  Allowing it is easy, and means
@@ -1855,17 +1858,17 @@ __acquire_grant_for_copy(
                 PIN_FAIL(unlock_out, GNTST_general_error,
                          "transitive grant referenced bad domain %d\n",
                          trans_domid);
-            spin_unlock(&rd->grant_table->lock);
+            spin_unlock(&rgt->lock);
=20
-            rc =3D __acquire_grant_for_copy(td, trans_gref, rd,
+            rc =3D __acquire_grant_for_copy(td, trans_gref, rd->domain_id,=

                                           readonly, &grant_frame, page,
                                           &trans_page_off, &trans_length, =
0);
=20
-            spin_lock(&rd->grant_table->lock);
+            spin_lock(&rgt->lock);
             if ( rc !=3D GNTST_okay ) {
                 __fixup_status_for_pin(act, status);
                 rcu_unlock_domain(td);
-                spin_unlock(&rd->grant_table->lock);
+                spin_unlock(&rgt->lock);
                 return rc;
             }
=20
@@ -1877,9 +1880,9 @@ __acquire_grant_for_copy(
             {
                 __fixup_status_for_pin(act, status);
                 rcu_unlock_domain(td);
-                spin_unlock(&rd->grant_table->lock);
+                spin_unlock(&rgt->lock);
                 put_page(*page);
-                return __acquire_grant_for_copy(rd, gref, ld, readonly,
+                return __acquire_grant_for_copy(rd, gref, ldom, readonly,
                                                 frame, page, page_off, =
length,
                                                 allow_transitive);
             }
@@ -1923,7 +1926,7 @@ __acquire_grant_for_copy(
=20
         if ( !act->pin )
         {
-            act->domid =3D ld->domain_id;
+            act->domid =3D ldom;
             act->is_sub_page =3D is_sub_page;
             act->start =3D trans_page_off;
             act->length =3D trans_length;
@@ -1946,7 +1949,7 @@ __acquire_grant_for_copy(
     *frame =3D act->frame;
=20
  unlock_out:
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
     return rc;
 }
=20
@@ -1996,8 +1999,10 @@ __gnttab_copy(
     if ( src_is_gref )
     {
         unsigned source_off, source_len;
-        rc =3D __acquire_grant_for_copy(sd, op->source.u.ref, current->dom=
ain, 1,
-                                      &s_frame, &s_pg, &source_off, =
&source_len, 1);
+        rc =3D __acquire_grant_for_copy(sd, op->source.u.ref,
+                                      current->domain->domain_id, 1,
+                                      &s_frame, &s_pg,
+                                      &source_off, &source_len, 1);
         if ( rc !=3D GNTST_okay )
             goto error_out;
         have_s_grant =3D 1;
@@ -2019,7 +2024,8 @@ __gnttab_copy(
     if ( dest_is_gref )
     {
         unsigned dest_off, dest_len;
-        rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref, current->domai=
n, 0,
+        rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref,
+                                      current->domain->domain_id, 0,
                                       &d_frame, &d_pg, &dest_off, =
&dest_len, 1);
         if ( rc !=3D GNTST_okay )
             goto error_out;
@@ -2267,11 +2273,8 @@ gnttab_get_status_frames(XEN_GUEST_HANDL
=20
     for ( i =3D 0; i < op.nr_frames; i++ )
     {
-        gmfn =3D gnttab_status_gmfn(d, d->grant_table, i);
-        if (copy_to_guest_offset(op.frame_list,
-                                 i,
-                                 &gmfn,
-                                 1))
+        gmfn =3D gnttab_status_gmfn(d, gt, i);
+        if (copy_to_guest_offset(op.frame_list, i, &gmfn, 1))
             op.status =3D GNTST_bad_virt_addr;
     }
=20
@@ -2305,9 +2308,7 @@ gnttab_get_version(XEN_GUEST_HANDLE(gntt
         return -EPERM;
     }
=20
-    spin_lock(&d->grant_table->lock);
     op.version =3D d->grant_table->gt_version;
-    spin_unlock(&d->grant_table->lock);
=20
     rcu_unlock_domain(d);
=20
@@ -2320,52 +2321,46 @@ gnttab_get_version(XEN_GUEST_HANDLE(gntt
 static s16
 __gnttab_swap_grant_ref(grant_ref_t ref_a, grant_ref_t ref_b)
 {
-    struct domain *d;
+    struct domain *d =3D rcu_lock_current_domain();
+    struct grant_table *gt =3D d->grant_table;
     struct active_grant_entry *act;
     s16 rc =3D GNTST_okay;
=20
-    d =3D rcu_lock_current_domain();
-
-    spin_lock(&d->grant_table->lock);
+    spin_lock(&gt->lock);
=20
-    act =3D &active_entry(d->grant_table, ref_a);
+    act =3D &active_entry(gt, ref_a);
     if ( act->pin )
         PIN_FAIL(out, GNTST_eagain, "ref a %ld busy\n", (long)ref_a);
=20
-    act =3D &active_entry(d->grant_table, ref_b);
+    act =3D &active_entry(gt, ref_b);
     if ( act->pin )
         PIN_FAIL(out, GNTST_eagain, "ref b %ld busy\n", (long)ref_b);
=20
-    if ( d->grant_table->gt_version =3D=3D 1 )
+    if ( gt->gt_version =3D=3D 1 )
     {
         grant_entry_v1_t shared;
=20
-        shared =3D shared_entry_v1(d->grant_table, ref_a);
-
-        shared_entry_v1(d->grant_table, ref_a) =3D
-            shared_entry_v1(d->grant_table, ref_b);
-
-        shared_entry_v1(d->grant_table, ref_b) =3D shared;
+        shared =3D shared_entry_v1(gt, ref_a);
+        shared_entry_v1(gt, ref_a) =3D shared_entry_v1(gt, ref_b);
+        shared_entry_v1(gt, ref_b) =3D shared;
     }
     else
     {
         grant_entry_v2_t shared;
         grant_status_t status;
=20
-        shared =3D shared_entry_v2(d->grant_table, ref_a);
-        status =3D status_entry(d->grant_table, ref_a);
+        shared =3D shared_entry_v2(gt, ref_a);
+        status =3D status_entry(gt, ref_a);
=20
-        shared_entry_v2(d->grant_table, ref_a) =3D
-            shared_entry_v2(d->grant_table, ref_b);
-        status_entry(d->grant_table, ref_a) =3D
-            status_entry(d->grant_table, ref_b);
+        shared_entry_v2(gt, ref_a) =3D shared_entry_v2(gt, ref_b);
+        status_entry(gt, ref_a) =3D status_entry(gt, ref_b);
=20
-        shared_entry_v2(d->grant_table, ref_b) =3D shared;
-        status_entry(d->grant_table, ref_b) =3D status;
+        shared_entry_v2(gt, ref_b) =3D shared;
+        status_entry(gt, ref_b) =3D status;
     }
=20
 out:
-    spin_unlock(&d->grant_table->lock);
+    spin_unlock(&gt->lock);
=20
     rcu_unlock_domain(d);
=20
@@ -2632,7 +2627,7 @@ void
 gnttab_release_mappings(
     struct domain *d)
 {
-    struct grant_table   *gt =3D d->grant_table;
+    struct grant_table   *gt =3D d->grant_table, *rgt;
     struct grant_mapping *map;
     grant_ref_t           ref;
     grant_handle_t        handle;
@@ -2664,14 +2659,15 @@ gnttab_release_mappings(
             continue;
         }
=20
-        spin_lock(&rd->grant_table->lock);
+        rgt =3D rd->grant_table;
+        spin_lock(&rgt->lock);
=20
-        act =3D &active_entry(rd->grant_table, ref);
-        sha =3D shared_entry_header(rd->grant_table, ref);
-        if (rd->grant_table->gt_version =3D=3D 1)
+        act =3D &active_entry(rgt, ref);
+        sha =3D shared_entry_header(rgt, ref);
+        if (rgt->gt_version =3D=3D 1)
             status =3D &sha->flags;
         else
-            status =3D &status_entry(rd->grant_table, ref);
+            status =3D &status_entry(rgt, ref);
=20
         pg =3D mfn_to_page(act->frame);
=20
@@ -2724,7 +2720,7 @@ gnttab_release_mappings(
         if ( act->pin =3D=3D 0 )
             gnttab_clear_flag(_GTF_reading, status);
=20
-        spin_unlock(&rd->grant_table->lock);
+        spin_unlock(&rgt->lock);
=20
         rcu_unlock_domain(rd);
=20



--=__Part89A77491.0__=
Content-Type: text/plain; name="gnttab-cleanup.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="gnttab-cleanup.patch"

gnttab: cleanup=0A=0A- introduce local variables (shortcuts for frequently =
used <dom>->grant_table)=0A- adjust first parameter of mapcount()=0A- drop =
lock acquisition from gnttab_get_version()=0A- remove hard tabs and adjust =
formatting=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0ATested-by:=
 Andrew Thomas <andrew.thomas@oracle.com>=0A=0A--- a/xen/common/grant_table=
.c=0A+++ b/xen/common/grant_table.c=0A@@ -444,18 +444,17 @@ static int =
_set_status(unsigned gt_versi=0A }=0A =0A static void mapcount(=0A-    =
struct domain *ld, struct domain *rd, unsigned long mfn,=0A+    struct =
grant_table *lgt, struct domain *rd, unsigned long mfn,=0A     unsigned =
int *wrc, unsigned int *rdc)=0A {=0A-    struct grant_table *gt =3D =
ld->grant_table;=0A     struct grant_mapping *map;=0A     grant_handle_t =
handle;=0A =0A     *wrc =3D *rdc =3D 0;=0A =0A-    for ( handle =3D 0; =
handle < gt->maptrack_limit; handle++ )=0A+    for ( handle =3D 0; handle =
< lgt->maptrack_limit; handle++ )=0A     {=0A-        map =3D &maptrack_ent=
ry(gt, handle);=0A+        map =3D &maptrack_entry(lgt, handle);=0A        =
 if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) ||=0A            =
  map->domid !=3D rd->domain_id )=0A             continue;=0A@@ -476,6 =
+475,7 @@ __gnttab_map_grant_ref(=0A     struct gnttab_map_grant_ref =
*op)=0A {=0A     struct domain *ld, *rd, *owner =3D NULL;=0A+    struct =
grant_table *lgt, *rgt;=0A     struct vcpu   *led;=0A     int            =
handle;=0A     unsigned long  frame =3D 0, nr_gets =3D 0;=0A@@ -525,7 =
+525,8 @@ __gnttab_map_grant_ref(=0A         return;=0A     }=0A =0A-    =
if ( unlikely((handle =3D get_maptrack_handle(ld->grant_table)) =3D=3D -1) =
)=0A+    lgt =3D ld->grant_table;=0A+    if ( unlikely((handle =3D =
get_maptrack_handle(lgt)) =3D=3D -1) )=0A     {=0A         rcu_unlock_domai=
n(rd);=0A         gdprintk(XENLOG_INFO, "Failed to obtain maptrack =
handle.\n");=0A@@ -533,26 +534,27 @@ __gnttab_map_grant_ref(=0A         =
return;=0A     }=0A =0A-    spin_lock(&rd->grant_table->lock);=0A+    rgt =
=3D rd->grant_table;=0A+    spin_lock(&rgt->lock);=0A =0A-    if ( =
rd->grant_table->gt_version =3D=3D 0 )=0A+    if ( rgt->gt_version =3D=3D =
0 )=0A         PIN_FAIL(unlock_out, GNTST_general_error,=0A                =
  "remote grant table not yet set up");=0A =0A     /* Bounds check on the =
grant ref */=0A-    if ( unlikely(op->ref >=3D nr_grant_entries(rd->grant_t=
able)))=0A+    if ( unlikely(op->ref >=3D nr_grant_entries(rgt)))=0A       =
  PIN_FAIL(unlock_out, GNTST_bad_gntref, "Bad ref (%d).\n", op->ref);=0A =
=0A-    act =3D &active_entry(rd->grant_table, op->ref);=0A-    shah =3D =
shared_entry_header(rd->grant_table, op->ref);=0A-    if (rd->grant_table->=
gt_version =3D=3D 1) {=0A-        sha1 =3D &shared_entry_v1(rd->grant_table=
, op->ref);=0A+    act =3D &active_entry(rgt, op->ref);=0A+    shah =3D =
shared_entry_header(rgt, op->ref);=0A+    if (rgt->gt_version =3D=3D 1) =
{=0A+        sha1 =3D &shared_entry_v1(rgt, op->ref);=0A         sha2 =3D =
NULL;=0A         status =3D &shah->flags;=0A     } else {=0A-        sha2 =
=3D &shared_entry_v2(rd->grant_table, op->ref);=0A+        sha2 =3D =
&shared_entry_v2(rgt, op->ref);=0A         sha1 =3D NULL;=0A-        =
status =3D &status_entry(rd->grant_table, op->ref);=0A+        status =3D =
&status_entry(rgt, op->ref);=0A     }=0A =0A     /* If already pinned, =
check the active domid and avoid refcnt overflow. */=0A@@ -568,8 +570,8 @@ =
__gnttab_map_grant_ref(=0A          (!(op->flags & GNTMAP_readonly) &&=0A  =
         !(act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask))) )=0A     {=0A- =
       if ( (rc =3D _set_status(rd->grant_table->gt_version,=0A-           =
                    ld->domain_id, op->flags & GNTMAP_readonly,=0A+        =
if ( (rc =3D _set_status(rgt->gt_version, ld->domain_id,=0A+               =
                op->flags & GNTMAP_readonly,=0A                            =
    1, shah, act, status) ) !=3D GNTST_okay )=0A              goto =
unlock_out;=0A =0A@@ -606,7 +608,7 @@ __gnttab_map_grant_ref(=0A =0A     =
cache_flags =3D (shah->flags & (GTF_PAT | GTF_PWT | GTF_PCD) );=0A =0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A =
=0A     /* pg may be set, with a refcount included, from __get_paged_frame =
*/=0A     if ( !pg )=0A@@ -679,7 +681,7 @@ __gnttab_map_grant_ref(=0A      =
   goto undo_out;=0A     }=0A =0A-    double_gt_lock(ld->grant_table, =
rd->grant_table);=0A+    double_gt_lock(lgt, rgt);=0A =0A     if ( =
!is_hvm_domain(ld) && need_iommu(ld) )=0A     {=0A@@ -689,7 +691,7 @@ =
__gnttab_map_grant_ref(=0A         BUG_ON(paging_mode_translate(ld));=0A   =
      /* We're not translated, so we know that gmfns and mfns are=0A       =
     the same things, so the IOMMU entry is always 1-to-1. */=0A-        =
mapcount(ld, rd, frame, &wrc, &rdc);=0A+        mapcount(lgt, rd, frame, =
&wrc, &rdc);=0A         if ( (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)=
) &&=0A              !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )=0A =
        {=0A@@ -704,7 +706,7 @@ __gnttab_map_grant_ref(=0A         }=0A    =
     if ( err )=0A         {=0A-            double_gt_unlock(ld->grant_tabl=
e, rd->grant_table);=0A+            double_gt_unlock(lgt, rgt);=0A         =
    rc =3D GNTST_general_error;=0A             goto undo_out;=0A         =
}=0A@@ -712,12 +714,12 @@ __gnttab_map_grant_ref(=0A =0A     TRACE_1D(TRC_M=
EM_PAGE_GRANT_MAP, op->dom);=0A =0A-    mt =3D &maptrack_entry(ld->grant_ta=
ble, handle);=0A+    mt =3D &maptrack_entry(lgt, handle);=0A     mt->domid =
=3D op->dom;=0A     mt->ref   =3D op->ref;=0A     mt->flags =3D op->flags;=
=0A =0A-    double_gt_unlock(ld->grant_table, rd->grant_table);=0A+    =
double_gt_unlock(lgt, rgt);=0A =0A     op->dev_bus_addr =3D (u64)frame << =
PAGE_SHIFT;=0A     op->handle       =3D handle;=0A@@ -740,10 +742,10 @@ =
__gnttab_map_grant_ref(=0A         put_page(pg);=0A     }=0A =0A-    =
spin_lock(&rd->grant_table->lock);=0A+    spin_lock(&rgt->lock);=0A =0A-   =
 act =3D &active_entry(rd->grant_table, op->ref);=0A-    shah =3D =
shared_entry_header(rd->grant_table, op->ref);=0A+    act =3D &active_entry=
(rgt, op->ref);=0A+    shah =3D shared_entry_header(rgt, op->ref);=0A =0A  =
   if ( op->flags & GNTMAP_device_map )=0A         act->pin -=3D (op->flags=
 & GNTMAP_readonly) ?=0A@@ -761,9 +763,9 @@ __gnttab_map_grant_ref(=0A     =
    gnttab_clear_flag(_GTF_reading, status);=0A =0A  unlock_out:=0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A    =
 op->status =3D rc;=0A-    put_maptrack_handle(ld->grant_table, handle);=0A=
+    put_maptrack_handle(lgt, handle);=0A     rcu_unlock_domain(rd);=0A =
}=0A =0A@@ -794,33 +796,35 @@ __gnttab_unmap_common(=0A {=0A     domid_t   =
       dom;=0A     struct domain   *ld, *rd;=0A+    struct grant_table =
*lgt, *rgt;=0A     struct active_grant_entry *act;=0A     s16              =
rc =3D 0;=0A =0A     ld =3D current->domain;=0A+    lgt =3D ld->grant_table=
;=0A =0A     op->frame =3D (unsigned long)(op->dev_bus_addr >> PAGE_SHIFT);=
=0A =0A-    if ( unlikely(op->handle >=3D ld->grant_table->maptrack_limit) =
)=0A+    if ( unlikely(op->handle >=3D lgt->maptrack_limit) )=0A     {=0A  =
       gdprintk(XENLOG_INFO, "Bad handle (%d).\n", op->handle);=0A         =
op->status =3D GNTST_bad_handle;=0A         return;=0A     }=0A =0A-    =
op->map =3D &maptrack_entry(ld->grant_table, op->handle);=0A-    spin_lock(=
&ld->grant_table->lock);=0A+    op->map =3D &maptrack_entry(lgt, op->handle=
);=0A+    spin_lock(&lgt->lock);=0A =0A     if ( unlikely(!op->map->flags) =
)=0A     {=0A-        spin_unlock(&ld->grant_table->lock);=0A+        =
spin_unlock(&lgt->lock);=0A         gdprintk(XENLOG_INFO, "Zero flags for =
handle (%d).\n", op->handle);=0A         op->status =3D GNTST_bad_handle;=
=0A         return;=0A     }=0A =0A     dom =3D op->map->domid;=0A-    =
spin_unlock(&ld->grant_table->lock);=0A+    spin_unlock(&lgt->lock);=0A =
=0A     if ( unlikely((rd =3D rcu_lock_domain_by_id(dom)) =3D=3D NULL) =
)=0A     {=0A@@ -840,7 +844,8 @@ __gnttab_unmap_common(=0A =0A     =
TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);=0A =0A-    double_gt_lock(ld->gran=
t_table, rd->grant_table);=0A+    rgt =3D rd->grant_table;=0A+    =
double_gt_lock(lgt, rgt);=0A =0A     op->flags =3D op->map->flags;=0A     =
if ( unlikely(!op->flags) || unlikely(op->map->domid !=3D dom) )=0A@@ =
-851,7 +856,7 @@ __gnttab_unmap_common(=0A     }=0A =0A     op->rd =3D =
rd;=0A-    act =3D &active_entry(rd->grant_table, op->map->ref);=0A+    =
act =3D &active_entry(rgt, op->map->ref);=0A =0A     if ( op->frame =3D=3D =
0 )=0A     {=0A@@ -894,7 +899,7 @@ __gnttab_unmap_common(=0A         =
unsigned int wrc, rdc;=0A         int err =3D 0;=0A         BUG_ON(paging_m=
ode_translate(ld));=0A-        mapcount(ld, rd, op->frame, &wrc, &rdc);=0A+=
        mapcount(lgt, rd, op->frame, &wrc, &rdc);=0A         if ( (wrc + =
rdc) =3D=3D 0 )=0A             err =3D iommu_unmap_page(ld, op->frame);=0A =
        else if ( wrc =3D=3D 0 )=0A@@ -911,7 +916,7 @@ __gnttab_unmap_commo=
n(=0A          gnttab_mark_dirty(rd, op->frame);=0A =0A  unmap_out:=0A-    =
double_gt_unlock(ld->grant_table, rd->grant_table);=0A+    double_gt_unlock=
(lgt, rgt);=0A     op->status =3D rc;=0A     rcu_unlock_domain(rd);=0A =
}=0A@@ -919,15 +924,14 @@ __gnttab_unmap_common(=0A static void=0A =
__gnttab_unmap_common_complete(struct gnttab_unmap_common *op)=0A {=0A-    =
struct domain   *ld, *rd;=0A+    struct domain *ld, *rd =3D op->rd;=0A+    =
struct grant_table *rgt;=0A     struct active_grant_entry *act;=0A     =
grant_entry_header_t *sha;=0A     struct page_info *pg;=0A     uint16_t =
*status;=0A     bool_t put_handle =3D 0;=0A =0A-    rd =3D op->rd;=0A-=0A  =
   if ( rd =3D=3D NULL )=0A     { =0A         /*=0A@@ -941,18 +945,19 @@ =
__gnttab_unmap_common_complete(struct gn=0A     ld =3D current->domain;=0A =
=0A     rcu_lock_domain(rd);=0A-    spin_lock(&rd->grant_table->lock);=0A+ =
   rgt =3D rd->grant_table;=0A+    spin_lock(&rgt->lock);=0A =0A-    if ( =
rd->grant_table->gt_version =3D=3D 0 )=0A+    if ( rgt->gt_version =3D=3D =
0 )=0A         goto unmap_out;=0A =0A-    act =3D &active_entry(rd->grant_t=
able, op->map->ref);=0A-    sha =3D shared_entry_header(rd->grant_table, =
op->map->ref);=0A+    act =3D &active_entry(rgt, op->map->ref);=0A+    sha =
=3D shared_entry_header(rgt, op->map->ref);=0A =0A-    if ( rd->grant_table=
->gt_version =3D=3D 1 )=0A+    if ( rgt->gt_version =3D=3D 1 )=0A         =
status =3D &sha->flags;=0A     else=0A-        status =3D &status_entry(rd-=
>grant_table, op->map->ref);=0A+        status =3D &status_entry(rgt, =
op->map->ref);=0A =0A     if ( unlikely(op->frame !=3D act->frame) ) =0A   =
  {=0A@@ -1006,7 +1011,7 @@ __gnttab_unmap_common_complete(struct gn=0A    =
     gnttab_clear_flag(_GTF_reading, status);=0A =0A  unmap_out:=0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A    =
 if ( put_handle )=0A     {=0A         op->map->flags =3D 0;=0A@@ -1020,7 =
+1025,7 @@ __gnttab_unmap_grant_ref(=0A     struct gnttab_unmap_grant_ref =
*op,=0A     struct gnttab_unmap_common *common)=0A {=0A-	common->hos=
t_addr =3D op->host_addr;=0A+    common->host_addr =3D op->host_addr;=0A   =
  common->dev_bus_addr =3D op->dev_bus_addr;=0A     common->handle =3D =
op->handle;=0A =0A@@ -1083,9 +1088,9 @@ __gnttab_unmap_and_replace(=0A     =
struct gnttab_unmap_and_replace *op,=0A     struct gnttab_unmap_common =
*common)=0A {=0A-	common->host_addr =3D op->host_addr;=0A-	=
common->new_addr =3D op->new_addr;=0A-	common->handle =3D op->handle;=0A+ =
   common->host_addr =3D op->host_addr;=0A+    common->new_addr =3D =
op->new_addr;=0A+    common->handle =3D op->handle;=0A     =0A     /* =
Intialise these in case common contains old state */=0A     common->dev_bus=
_addr =3D 0;=0A@@ -1253,6 +1258,7 @@ gnttab_setup_table(=0A {=0A     =
struct gnttab_setup_table op;=0A     struct domain *d;=0A+    struct =
grant_table *gt;=0A     int            i;=0A     unsigned long  gmfn;=0A   =
  domid_t        dom;=0A@@ -1302,22 +1308,20 @@ gnttab_setup_table(=0A     =
    goto out2;=0A     }=0A =0A-    spin_lock(&d->grant_table->lock);=0A+   =
 gt =3D d->grant_table;=0A+    spin_lock(&gt->lock);=0A =0A-    if ( =
d->grant_table->gt_version =3D=3D 0 )=0A-        d->grant_table->gt_version=
 =3D 1;=0A+    if ( gt->gt_version =3D=3D 0 )=0A+        gt->gt_version =
=3D 1;=0A =0A-    if ( (op.nr_frames > nr_grant_frames(d->grant_table) =
||=0A-          ( (d->grant_table->gt_version > 1 ) &&=0A-            =
(grant_to_status_frames(op.nr_frames) >=0A-             nr_status_frames(d-=
>grant_table))  )  ) &&=0A+    if ( (op.nr_frames > nr_grant_frames(gt) =
||=0A+          ((gt->gt_version > 1) &&=0A+           (grant_to_status_fra=
mes(op.nr_frames) > nr_status_frames(gt)))) &&=0A          !gnttab_grow_tab=
le(d, op.nr_frames) )=0A     {=0A         gdprintk(XENLOG_INFO,=0A-        =
        "Expand grant table to %d failed. Current: %d Max: %d.\n",=0A-     =
           op.nr_frames,=0A-                nr_grant_frames(d->grant_table)=
,=0A-                max_nr_grant_frames);=0A+                 "Expand =
grant table to %u failed. Current: %u Max: %u\n",=0A+                 =
op.nr_frames, nr_grant_frames(gt), max_nr_grant_frames);=0A         =
op.status =3D GNTST_general_error;=0A         goto out3;=0A     }=0A@@ =
-1325,14 +1329,14 @@ gnttab_setup_table(=0A     op.status =3D GNTST_okay;=
=0A     for ( i =3D 0; i < op.nr_frames; i++ )=0A     {=0A-        gmfn =
=3D gnttab_shared_gmfn(d, d->grant_table, i);=0A+        gmfn =3D =
gnttab_shared_gmfn(d, gt, i);=0A         /* Grant tables cannot be shared =
*/=0A         BUG_ON(SHARED_M2P(gmfn));=0A         (void)copy_to_guest_offs=
et(op.frame_list, i, &gmfn, 1);=0A     }=0A =0A  out3:=0A-    spin_unlock(&=
d->grant_table->lock);=0A+    spin_unlock(&gt->lock);=0A  out2:=0A     =
rcu_unlock_domain(d);=0A  out1:=0A@@ -1430,7 +1434,7 @@ gnttab_prepare_for_=
transfer(=0A         goto fail;=0A     }=0A =0A-    if ( unlikely(ref >=3D =
nr_grant_entries(rd->grant_table)) )=0A+    if ( unlikely(ref >=3D =
nr_grant_entries(rgt)) )=0A     {=0A         gdprintk(XENLOG_INFO,=0A      =
           "Bad grant reference (%d) for transfer to domain(%d).\n",=0A@@ =
-1673,6 +1677,7 @@ static void=0A __release_grant_for_copy(=0A     struct =
domain *rd, unsigned long gref, int readonly)=0A {=0A+    struct grant_tabl=
e *rgt =3D rd->grant_table;=0A     grant_entry_header_t *sha;=0A     =
struct active_grant_entry *act;=0A     unsigned long r_frame;=0A@@ =
-1685,13 +1690,13 @@ __release_grant_for_copy(=0A     released_read =3D =
0;=0A     released_write =3D 0;=0A =0A-    spin_lock(&rd->grant_table->lock=
);=0A+    spin_lock(&rgt->lock);=0A =0A-    act =3D &active_entry(rd->grant=
_table, gref);=0A-    sha =3D shared_entry_header(rd->grant_table, =
gref);=0A+    act =3D &active_entry(rgt, gref);=0A+    sha =3D shared_entry=
_header(rgt, gref);=0A     r_frame =3D act->frame;=0A =0A-    if (rd->grant=
_table->gt_version =3D=3D 1)=0A+    if (rgt->gt_version =3D=3D 1)=0A     =
{=0A         status =3D &sha->flags;=0A         td =3D rd;=0A@@ -1699,7 =
+1704,7 @@ __release_grant_for_copy(=0A     }=0A     else=0A     {=0A-     =
   status =3D &status_entry(rd->grant_table, gref);=0A+        status =3D =
&status_entry(rgt, gref);=0A         td =3D act->trans_domain;=0A         =
trans_gref =3D act->trans_gref;=0A     }=0A@@ -1726,7 +1731,7 @@ __release_=
grant_for_copy(=0A         released_read =3D 1;=0A     }=0A =0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A =
=0A     if ( td !=3D rd )=0A     {=0A@@ -1737,7 +1742,7 @@ __release_grant_=
for_copy(=0A         else if ( released_read )=0A             __release_gra=
nt_for_copy(td, trans_gref, 1);=0A =0A-	rcu_unlock_domain(td);=0A+        =
rcu_unlock_domain(td);=0A     }=0A }=0A =0A@@ -1762,10 +1767,11 @@ static =
void __fixup_status_for_pin(const=0A    If there is any error, *page =3D =
NULL, no ref taken. */=0A static int=0A __acquire_grant_for_copy(=0A-    =
struct domain *rd, unsigned long gref, struct domain *ld, int readonly,=0A+=
    struct domain *rd, unsigned long gref, domid_t ldom, int readonly,=0A  =
   unsigned long *frame, struct page_info **page, =0A     unsigned =
*page_off, unsigned *length, unsigned allow_transitive)=0A {=0A+    struct =
grant_table *rgt =3D rd->grant_table;=0A     grant_entry_v1_t *sha1;=0A    =
 grant_entry_v2_t *sha2;=0A     grant_entry_header_t *shah;=0A@@ -1783,45 =
+1789,42 @@ __acquire_grant_for_copy(=0A =0A     *page =3D NULL;=0A =0A-   =
 spin_lock(&rd->grant_table->lock);=0A+    spin_lock(&rgt->lock);=0A =0A-  =
  if ( rd->grant_table->gt_version =3D=3D 0 )=0A+    if ( rgt->gt_version =
=3D=3D 0 )=0A         PIN_FAIL(unlock_out, GNTST_general_error,=0A         =
         "remote grant table not ready\n");=0A =0A-    if ( unlikely(gref =
>=3D nr_grant_entries(rd->grant_table)) )=0A+    if ( unlikely(gref >=3D =
nr_grant_entries(rgt)) )=0A         PIN_FAIL(unlock_out, GNTST_bad_gntref,=
=0A                  "Bad grant reference %ld\n", gref);=0A =0A-    act =
=3D &active_entry(rd->grant_table, gref);=0A-    shah =3D shared_entry_head=
er(rd->grant_table, gref);=0A-    if ( rd->grant_table->gt_version =3D=3D =
1 )=0A+    act =3D &active_entry(rgt, gref);=0A+    shah =3D shared_entry_h=
eader(rgt, gref);=0A+    if ( rgt->gt_version =3D=3D 1 )=0A     {=0A-      =
  sha1 =3D &shared_entry_v1(rd->grant_table, gref);=0A+        sha1 =3D =
&shared_entry_v1(rgt, gref);=0A         sha2 =3D NULL;=0A         status =
=3D &shah->flags;=0A     }=0A     else=0A     {=0A         sha1 =3D =
NULL;=0A-        sha2 =3D &shared_entry_v2(rd->grant_table, gref);=0A-     =
   status =3D &status_entry(rd->grant_table, gref);=0A+        sha2 =3D =
&shared_entry_v2(rgt, gref);=0A+        status =3D &status_entry(rgt, =
gref);=0A     }=0A =0A     /* If already pinned, check the active domid =
and avoid refcnt overflow. */=0A-    if ( act->pin &&=0A-         =
((act->domid !=3D ld->domain_id) ||=0A-          (act->pin & 0x80808080U) =
!=3D 0) )=0A+    if ( act->pin && ((act->domid !=3D ldom) || (act->pin & =
0x80808080U) !=3D 0) )=0A         PIN_FAIL(unlock_out, GNTST_general_error,=
=0A                  "Bad domain (%d !=3D %d), or risk of counter overflow =
%08x\n",=0A-                 act->domid, ld->domain_id, act->pin);=0A+     =
            act->domid, ldom, act->pin);=0A =0A     old_pin =3D =
act->pin;=0A     if ( !act->pin ||=0A          (!readonly && !(act->pin & =
(GNTPIN_devw_mask|GNTPIN_hstw_mask))) )=0A     {=0A-        if ( (rc =3D =
_set_status(rd->grant_table->gt_version,=0A-                               =
ld->domain_id,=0A+        if ( (rc =3D _set_status(rgt->gt_version, =
ldom,=0A                                readonly, 0, shah, act,=0A         =
                       status) ) !=3D GNTST_okay )=0A              goto =
unlock_out;=0A@@ -1842,7 +1845,7 @@ __acquire_grant_for_copy(=0A           =
      PIN_FAIL(unlock_out, GNTST_general_error,=0A                         =
 "transitive grants cannot be self-referential\n");=0A =0A-            /* =
We allow the trans_domid =3D=3D ld->domain_id case, which=0A+            =
/* We allow the trans_domid =3D=3D ldom case, which=0A                =
corresponds to a grant being issued by one domain, sent=0A                =
to another one, and then transitively granted back to=0A                =
the original domain.  Allowing it is easy, and means=0A@@ -1855,17 =
+1858,17 @@ __acquire_grant_for_copy(=0A                 PIN_FAIL(unlock_ou=
t, GNTST_general_error,=0A                          "transitive grant =
referenced bad domain %d\n",=0A                          trans_domid);=0A- =
           spin_unlock(&rd->grant_table->lock);=0A+            spin_unlock(=
&rgt->lock);=0A =0A-            rc =3D __acquire_grant_for_copy(td, =
trans_gref, rd,=0A+            rc =3D __acquire_grant_for_copy(td, =
trans_gref, rd->domain_id,=0A                                           =
readonly, &grant_frame, page,=0A                                           =
&trans_page_off, &trans_length, 0);=0A =0A-            spin_lock(&rd->grant=
_table->lock);=0A+            spin_lock(&rgt->lock);=0A             if ( =
rc !=3D GNTST_okay ) {=0A                 __fixup_status_for_pin(act, =
status);=0A                 rcu_unlock_domain(td);=0A-                =
spin_unlock(&rd->grant_table->lock);=0A+                spin_unlock(&rgt->l=
ock);=0A                 return rc;=0A             }=0A =0A@@ -1877,9 =
+1880,9 @@ __acquire_grant_for_copy(=0A             {=0A                 =
__fixup_status_for_pin(act, status);=0A                 rcu_unlock_domain(t=
d);=0A-                spin_unlock(&rd->grant_table->lock);=0A+            =
    spin_unlock(&rgt->lock);=0A                 put_page(*page);=0A-       =
         return __acquire_grant_for_copy(rd, gref, ld, readonly,=0A+       =
         return __acquire_grant_for_copy(rd, gref, ldom, readonly,=0A      =
                                           frame, page, page_off, =
length,=0A                                                 allow_transitive=
);=0A             }=0A@@ -1923,7 +1926,7 @@ __acquire_grant_for_copy(=0A =
=0A         if ( !act->pin )=0A         {=0A-            act->domid =3D =
ld->domain_id;=0A+            act->domid =3D ldom;=0A             =
act->is_sub_page =3D is_sub_page;=0A             act->start =3D trans_page_=
off;=0A             act->length =3D trans_length;=0A@@ -1946,7 +1949,7 @@ =
__acquire_grant_for_copy(=0A     *frame =3D act->frame;=0A =0A  unlock_out:=
=0A-    spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock)=
;=0A     return rc;=0A }=0A =0A@@ -1996,8 +1999,10 @@ __gnttab_copy(=0A    =
 if ( src_is_gref )=0A     {=0A         unsigned source_off, source_len;=0A=
-        rc =3D __acquire_grant_for_copy(sd, op->source.u.ref, current->dom=
ain, 1,=0A-                                      &s_frame, &s_pg, =
&source_off, &source_len, 1);=0A+        rc =3D __acquire_grant_for_copy(sd=
, op->source.u.ref,=0A+                                      current->domai=
n->domain_id, 1,=0A+                                      &s_frame, =
&s_pg,=0A+                                      &source_off, &source_len, =
1);=0A         if ( rc !=3D GNTST_okay )=0A             goto error_out;=0A =
        have_s_grant =3D 1;=0A@@ -2019,7 +2024,8 @@ __gnttab_copy(=0A     =
if ( dest_is_gref )=0A     {=0A         unsigned dest_off, dest_len;=0A-   =
     rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref, current->domain, =
0,=0A+        rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref,=0A+      =
                                current->domain->domain_id, 0,=0A          =
                             &d_frame, &d_pg, &dest_off, &dest_len, 1);=0A =
        if ( rc !=3D GNTST_okay )=0A             goto error_out;=0A@@ =
-2267,11 +2273,8 @@ gnttab_get_status_frames(XEN_GUEST_HANDL=0A =0A     =
for ( i =3D 0; i < op.nr_frames; i++ )=0A     {=0A-        gmfn =3D =
gnttab_status_gmfn(d, d->grant_table, i);=0A-        if (copy_to_guest_offs=
et(op.frame_list,=0A-                                 i,=0A-               =
                  &gmfn,=0A-                                 1))=0A+       =
 gmfn =3D gnttab_status_gmfn(d, gt, i);=0A+        if (copy_to_guest_offset=
(op.frame_list, i, &gmfn, 1))=0A             op.status =3D GNTST_bad_virt_a=
ddr;=0A     }=0A =0A@@ -2305,9 +2308,7 @@ gnttab_get_version(XEN_GUEST_HAND=
LE(gntt=0A         return -EPERM;=0A     }=0A =0A-    spin_lock(&d->grant_t=
able->lock);=0A     op.version =3D d->grant_table->gt_version;=0A-    =
spin_unlock(&d->grant_table->lock);=0A =0A     rcu_unlock_domain(d);=0A =
=0A@@ -2320,52 +2321,46 @@ gnttab_get_version(XEN_GUEST_HANDLE(gntt=0A =
static s16=0A __gnttab_swap_grant_ref(grant_ref_t ref_a, grant_ref_t =
ref_b)=0A {=0A-    struct domain *d;=0A+    struct domain *d =3D rcu_lock_c=
urrent_domain();=0A+    struct grant_table *gt =3D d->grant_table;=0A     =
struct active_grant_entry *act;=0A     s16 rc =3D GNTST_okay;=0A =0A-    d =
=3D rcu_lock_current_domain();=0A-=0A-    spin_lock(&d->grant_table->lock);=
=0A+    spin_lock(&gt->lock);=0A =0A-    act =3D &active_entry(d->grant_tab=
le, ref_a);=0A+    act =3D &active_entry(gt, ref_a);=0A     if ( act->pin =
)=0A         PIN_FAIL(out, GNTST_eagain, "ref a %ld busy\n", (long)ref_a);=
=0A =0A-    act =3D &active_entry(d->grant_table, ref_b);=0A+    act =3D =
&active_entry(gt, ref_b);=0A     if ( act->pin )=0A         PIN_FAIL(out, =
GNTST_eagain, "ref b %ld busy\n", (long)ref_b);=0A =0A-    if ( d->grant_ta=
ble->gt_version =3D=3D 1 )=0A+    if ( gt->gt_version =3D=3D 1 )=0A     =
{=0A         grant_entry_v1_t shared;=0A =0A-        shared =3D shared_entr=
y_v1(d->grant_table, ref_a);=0A-=0A-        shared_entry_v1(d->grant_table,=
 ref_a) =3D=0A-            shared_entry_v1(d->grant_table, ref_b);=0A-=0A- =
       shared_entry_v1(d->grant_table, ref_b) =3D shared;=0A+        =
shared =3D shared_entry_v1(gt, ref_a);=0A+        shared_entry_v1(gt, =
ref_a) =3D shared_entry_v1(gt, ref_b);=0A+        shared_entry_v1(gt, =
ref_b) =3D shared;=0A     }=0A     else=0A     {=0A         grant_entry_v2_=
t shared;=0A         grant_status_t status;=0A =0A-        shared =3D =
shared_entry_v2(d->grant_table, ref_a);=0A-        status =3D status_entry(=
d->grant_table, ref_a);=0A+        shared =3D shared_entry_v2(gt, =
ref_a);=0A+        status =3D status_entry(gt, ref_a);=0A =0A-        =
shared_entry_v2(d->grant_table, ref_a) =3D=0A-            shared_entry_v2(d=
->grant_table, ref_b);=0A-        status_entry(d->grant_table, ref_a) =
=3D=0A-            status_entry(d->grant_table, ref_b);=0A+        =
shared_entry_v2(gt, ref_a) =3D shared_entry_v2(gt, ref_b);=0A+        =
status_entry(gt, ref_a) =3D status_entry(gt, ref_b);=0A =0A-        =
shared_entry_v2(d->grant_table, ref_b) =3D shared;=0A-        status_entry(=
d->grant_table, ref_b) =3D status;=0A+        shared_entry_v2(gt, ref_b) =
=3D shared;=0A+        status_entry(gt, ref_b) =3D status;=0A     }=0A =0A =
out:=0A-    spin_unlock(&d->grant_table->lock);=0A+    spin_unlock(&gt->loc=
k);=0A =0A     rcu_unlock_domain(d);=0A =0A@@ -2632,7 +2627,7 @@ void=0A =
gnttab_release_mappings(=0A     struct domain *d)=0A {=0A-    struct =
grant_table   *gt =3D d->grant_table;=0A+    struct grant_table   *gt =3D =
d->grant_table, *rgt;=0A     struct grant_mapping *map;=0A     grant_ref_t =
          ref;=0A     grant_handle_t        handle;=0A@@ -2664,14 +2659,15 =
@@ gnttab_release_mappings(=0A             continue;=0A         }=0A =0A-  =
      spin_lock(&rd->grant_table->lock);=0A+        rgt =3D rd->grant_table=
;=0A+        spin_lock(&rgt->lock);=0A =0A-        act =3D &active_entry(rd=
->grant_table, ref);=0A-        sha =3D shared_entry_header(rd->grant_table=
, ref);=0A-        if (rd->grant_table->gt_version =3D=3D 1)=0A+        =
act =3D &active_entry(rgt, ref);=0A+        sha =3D shared_entry_header(rgt=
, ref);=0A+        if (rgt->gt_version =3D=3D 1)=0A             status =3D =
&sha->flags;=0A         else=0A-            status =3D &status_entry(rd->gr=
ant_table, ref);=0A+            status =3D &status_entry(rgt, ref);=0A =0A =
        pg =3D mfn_to_page(act->frame);=0A =0A@@ -2724,7 +2720,7 @@ =
gnttab_release_mappings(=0A         if ( act->pin =3D=3D 0 )=0A            =
 gnttab_clear_flag(_GTF_reading, status);=0A =0A-        spin_unlock(&rd->g=
rant_table->lock);=0A+        spin_unlock(&rgt->lock);=0A =0A         =
rcu_unlock_domain(rd);=0A =0A
--=__Part89A77491.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part89A77491.0__=--


From xen-devel-bounces@lists.xen.org Fri May 25 12:52:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 12:52:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXtzi-0005vF-Eq; Fri, 25 May 2012 12:51:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SXtzg-0005us-0N
	for xen-devel@lists.xen.org; Fri, 25 May 2012 12:51:48 +0000
Received: from [85.158.138.51:56619] by server-10.bemta-3.messagelabs.com id
	A7/3B-01101-3608FBF4; Fri, 25 May 2012 12:51:47 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-174.messagelabs.com!1337950304!29081004!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29673 invoked from network); 25 May 2012 12:51:44 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 12:51:44 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Fri, 25 May 2012 13:51:44 +0100
Message-Id: <4FBF9CA10200007800086282@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Fri, 25 May 2012 13:52:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part89A77491.0__="
Cc: andrew.thomas@oracle.com
Subject: [Xen-devel] [PATCH 3/3] gnttab: cleanup
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part89A77491.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

- introduce local variables (shortcuts for frequently used <dom>->grant_tab=
le)
- adjust first parameter of mapcount()
- drop lock acquisition from gnttab_get_version()
- remove hard tabs and adjust formatting

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andrew Thomas <andrew.thomas@oracle.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -444,18 +444,17 @@ static int _set_status(unsigned gt_versi
 }
=20
 static void mapcount(
-    struct domain *ld, struct domain *rd, unsigned long mfn,
+    struct grant_table *lgt, struct domain *rd, unsigned long mfn,
     unsigned int *wrc, unsigned int *rdc)
 {
-    struct grant_table *gt =3D ld->grant_table;
     struct grant_mapping *map;
     grant_handle_t handle;
=20
     *wrc =3D *rdc =3D 0;
=20
-    for ( handle =3D 0; handle < gt->maptrack_limit; handle++ )
+    for ( handle =3D 0; handle < lgt->maptrack_limit; handle++ )
     {
-        map =3D &maptrack_entry(gt, handle);
+        map =3D &maptrack_entry(lgt, handle);
         if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) ||
              map->domid !=3D rd->domain_id )
             continue;
@@ -476,6 +475,7 @@ __gnttab_map_grant_ref(
     struct gnttab_map_grant_ref *op)
 {
     struct domain *ld, *rd, *owner =3D NULL;
+    struct grant_table *lgt, *rgt;
     struct vcpu   *led;
     int            handle;
     unsigned long  frame =3D 0, nr_gets =3D 0;
@@ -525,7 +525,8 @@ __gnttab_map_grant_ref(
         return;
     }
=20
-    if ( unlikely((handle =3D get_maptrack_handle(ld->grant_table)) =
=3D=3D -1) )
+    lgt =3D ld->grant_table;
+    if ( unlikely((handle =3D get_maptrack_handle(lgt)) =3D=3D -1) )
     {
         rcu_unlock_domain(rd);
         gdprintk(XENLOG_INFO, "Failed to obtain maptrack handle.\n");
@@ -533,26 +534,27 @@ __gnttab_map_grant_ref(
         return;
     }
=20
-    spin_lock(&rd->grant_table->lock);
+    rgt =3D rd->grant_table;
+    spin_lock(&rgt->lock);
=20
-    if ( rd->grant_table->gt_version =3D=3D 0 )
+    if ( rgt->gt_version =3D=3D 0 )
         PIN_FAIL(unlock_out, GNTST_general_error,
                  "remote grant table not yet set up");
=20
     /* Bounds check on the grant ref */
-    if ( unlikely(op->ref >=3D nr_grant_entries(rd->grant_table)))
+    if ( unlikely(op->ref >=3D nr_grant_entries(rgt)))
         PIN_FAIL(unlock_out, GNTST_bad_gntref, "Bad ref (%d).\n", =
op->ref);
=20
-    act =3D &active_entry(rd->grant_table, op->ref);
-    shah =3D shared_entry_header(rd->grant_table, op->ref);
-    if (rd->grant_table->gt_version =3D=3D 1) {
-        sha1 =3D &shared_entry_v1(rd->grant_table, op->ref);
+    act =3D &active_entry(rgt, op->ref);
+    shah =3D shared_entry_header(rgt, op->ref);
+    if (rgt->gt_version =3D=3D 1) {
+        sha1 =3D &shared_entry_v1(rgt, op->ref);
         sha2 =3D NULL;
         status =3D &shah->flags;
     } else {
-        sha2 =3D &shared_entry_v2(rd->grant_table, op->ref);
+        sha2 =3D &shared_entry_v2(rgt, op->ref);
         sha1 =3D NULL;
-        status =3D &status_entry(rd->grant_table, op->ref);
+        status =3D &status_entry(rgt, op->ref);
     }
=20
     /* If already pinned, check the active domid and avoid refcnt =
overflow. */
@@ -568,8 +570,8 @@ __gnttab_map_grant_ref(
          (!(op->flags & GNTMAP_readonly) &&
           !(act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask))) )
     {
-        if ( (rc =3D _set_status(rd->grant_table->gt_version,
-                               ld->domain_id, op->flags & GNTMAP_readonly,=

+        if ( (rc =3D _set_status(rgt->gt_version, ld->domain_id,
+                               op->flags & GNTMAP_readonly,
                                1, shah, act, status) ) !=3D GNTST_okay )
              goto unlock_out;
=20
@@ -606,7 +608,7 @@ __gnttab_map_grant_ref(
=20
     cache_flags =3D (shah->flags & (GTF_PAT | GTF_PWT | GTF_PCD) );
=20
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
=20
     /* pg may be set, with a refcount included, from __get_paged_frame */
     if ( !pg )
@@ -679,7 +681,7 @@ __gnttab_map_grant_ref(
         goto undo_out;
     }
=20
-    double_gt_lock(ld->grant_table, rd->grant_table);
+    double_gt_lock(lgt, rgt);
=20
     if ( !is_hvm_domain(ld) && need_iommu(ld) )
     {
@@ -689,7 +691,7 @@ __gnttab_map_grant_ref(
         BUG_ON(paging_mode_translate(ld));
         /* We're not translated, so we know that gmfns and mfns are
            the same things, so the IOMMU entry is always 1-to-1. */
-        mapcount(ld, rd, frame, &wrc, &rdc);
+        mapcount(lgt, rd, frame, &wrc, &rdc);
         if ( (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) &&
              !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )
         {
@@ -704,7 +706,7 @@ __gnttab_map_grant_ref(
         }
         if ( err )
         {
-            double_gt_unlock(ld->grant_table, rd->grant_table);
+            double_gt_unlock(lgt, rgt);
             rc =3D GNTST_general_error;
             goto undo_out;
         }
@@ -712,12 +714,12 @@ __gnttab_map_grant_ref(
=20
     TRACE_1D(TRC_MEM_PAGE_GRANT_MAP, op->dom);
=20
-    mt =3D &maptrack_entry(ld->grant_table, handle);
+    mt =3D &maptrack_entry(lgt, handle);
     mt->domid =3D op->dom;
     mt->ref   =3D op->ref;
     mt->flags =3D op->flags;
=20
-    double_gt_unlock(ld->grant_table, rd->grant_table);
+    double_gt_unlock(lgt, rgt);
=20
     op->dev_bus_addr =3D (u64)frame << PAGE_SHIFT;
     op->handle       =3D handle;
@@ -740,10 +742,10 @@ __gnttab_map_grant_ref(
         put_page(pg);
     }
=20
-    spin_lock(&rd->grant_table->lock);
+    spin_lock(&rgt->lock);
=20
-    act =3D &active_entry(rd->grant_table, op->ref);
-    shah =3D shared_entry_header(rd->grant_table, op->ref);
+    act =3D &active_entry(rgt, op->ref);
+    shah =3D shared_entry_header(rgt, op->ref);
=20
     if ( op->flags & GNTMAP_device_map )
         act->pin -=3D (op->flags & GNTMAP_readonly) ?
@@ -761,9 +763,9 @@ __gnttab_map_grant_ref(
         gnttab_clear_flag(_GTF_reading, status);
=20
  unlock_out:
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
     op->status =3D rc;
-    put_maptrack_handle(ld->grant_table, handle);
+    put_maptrack_handle(lgt, handle);
     rcu_unlock_domain(rd);
 }
=20
@@ -794,33 +796,35 @@ __gnttab_unmap_common(
 {
     domid_t          dom;
     struct domain   *ld, *rd;
+    struct grant_table *lgt, *rgt;
     struct active_grant_entry *act;
     s16              rc =3D 0;
=20
     ld =3D current->domain;
+    lgt =3D ld->grant_table;
=20
     op->frame =3D (unsigned long)(op->dev_bus_addr >> PAGE_SHIFT);
=20
-    if ( unlikely(op->handle >=3D ld->grant_table->maptrack_limit) )
+    if ( unlikely(op->handle >=3D lgt->maptrack_limit) )
     {
         gdprintk(XENLOG_INFO, "Bad handle (%d).\n", op->handle);
         op->status =3D GNTST_bad_handle;
         return;
     }
=20
-    op->map =3D &maptrack_entry(ld->grant_table, op->handle);
-    spin_lock(&ld->grant_table->lock);
+    op->map =3D &maptrack_entry(lgt, op->handle);
+    spin_lock(&lgt->lock);
=20
     if ( unlikely(!op->map->flags) )
     {
-        spin_unlock(&ld->grant_table->lock);
+        spin_unlock(&lgt->lock);
         gdprintk(XENLOG_INFO, "Zero flags for handle (%d).\n", op->handle)=
;
         op->status =3D GNTST_bad_handle;
         return;
     }
=20
     dom =3D op->map->domid;
-    spin_unlock(&ld->grant_table->lock);
+    spin_unlock(&lgt->lock);
=20
     if ( unlikely((rd =3D rcu_lock_domain_by_id(dom)) =3D=3D NULL) )
     {
@@ -840,7 +844,8 @@ __gnttab_unmap_common(
=20
     TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);
=20
-    double_gt_lock(ld->grant_table, rd->grant_table);
+    rgt =3D rd->grant_table;
+    double_gt_lock(lgt, rgt);
=20
     op->flags =3D op->map->flags;
     if ( unlikely(!op->flags) || unlikely(op->map->domid !=3D dom) )
@@ -851,7 +856,7 @@ __gnttab_unmap_common(
     }
=20
     op->rd =3D rd;
-    act =3D &active_entry(rd->grant_table, op->map->ref);
+    act =3D &active_entry(rgt, op->map->ref);
=20
     if ( op->frame =3D=3D 0 )
     {
@@ -894,7 +899,7 @@ __gnttab_unmap_common(
         unsigned int wrc, rdc;
         int err =3D 0;
         BUG_ON(paging_mode_translate(ld));
-        mapcount(ld, rd, op->frame, &wrc, &rdc);
+        mapcount(lgt, rd, op->frame, &wrc, &rdc);
         if ( (wrc + rdc) =3D=3D 0 )
             err =3D iommu_unmap_page(ld, op->frame);
         else if ( wrc =3D=3D 0 )
@@ -911,7 +916,7 @@ __gnttab_unmap_common(
          gnttab_mark_dirty(rd, op->frame);
=20
  unmap_out:
-    double_gt_unlock(ld->grant_table, rd->grant_table);
+    double_gt_unlock(lgt, rgt);
     op->status =3D rc;
     rcu_unlock_domain(rd);
 }
@@ -919,15 +924,14 @@ __gnttab_unmap_common(
 static void
 __gnttab_unmap_common_complete(struct gnttab_unmap_common *op)
 {
-    struct domain   *ld, *rd;
+    struct domain *ld, *rd =3D op->rd;
+    struct grant_table *rgt;
     struct active_grant_entry *act;
     grant_entry_header_t *sha;
     struct page_info *pg;
     uint16_t *status;
     bool_t put_handle =3D 0;
=20
-    rd =3D op->rd;
-
     if ( rd =3D=3D NULL )
     {=20
         /*
@@ -941,18 +945,19 @@ __gnttab_unmap_common_complete(struct gn
     ld =3D current->domain;
=20
     rcu_lock_domain(rd);
-    spin_lock(&rd->grant_table->lock);
+    rgt =3D rd->grant_table;
+    spin_lock(&rgt->lock);
=20
-    if ( rd->grant_table->gt_version =3D=3D 0 )
+    if ( rgt->gt_version =3D=3D 0 )
         goto unmap_out;
=20
-    act =3D &active_entry(rd->grant_table, op->map->ref);
-    sha =3D shared_entry_header(rd->grant_table, op->map->ref);
+    act =3D &active_entry(rgt, op->map->ref);
+    sha =3D shared_entry_header(rgt, op->map->ref);
=20
-    if ( rd->grant_table->gt_version =3D=3D 1 )
+    if ( rgt->gt_version =3D=3D 1 )
         status =3D &sha->flags;
     else
-        status =3D &status_entry(rd->grant_table, op->map->ref);
+        status =3D &status_entry(rgt, op->map->ref);
=20
     if ( unlikely(op->frame !=3D act->frame) )=20
     {
@@ -1006,7 +1011,7 @@ __gnttab_unmap_common_complete(struct gn
         gnttab_clear_flag(_GTF_reading, status);
=20
  unmap_out:
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
     if ( put_handle )
     {
         op->map->flags =3D 0;
@@ -1020,7 +1025,7 @@ __gnttab_unmap_grant_ref(
     struct gnttab_unmap_grant_ref *op,
     struct gnttab_unmap_common *common)
 {
-	common->host_addr =3D op->host_addr;
+    common->host_addr =3D op->host_addr;
     common->dev_bus_addr =3D op->dev_bus_addr;
     common->handle =3D op->handle;
=20
@@ -1083,9 +1088,9 @@ __gnttab_unmap_and_replace(
     struct gnttab_unmap_and_replace *op,
     struct gnttab_unmap_common *common)
 {
-	common->host_addr =3D op->host_addr;
-	common->new_addr =3D op->new_addr;
-	common->handle =3D op->handle;
+    common->host_addr =3D op->host_addr;
+    common->new_addr =3D op->new_addr;
+    common->handle =3D op->handle;
    =20
     /* Intialise these in case common contains old state */
     common->dev_bus_addr =3D 0;
@@ -1253,6 +1258,7 @@ gnttab_setup_table(
 {
     struct gnttab_setup_table op;
     struct domain *d;
+    struct grant_table *gt;
     int            i;
     unsigned long  gmfn;
     domid_t        dom;
@@ -1302,22 +1308,20 @@ gnttab_setup_table(
         goto out2;
     }
=20
-    spin_lock(&d->grant_table->lock);
+    gt =3D d->grant_table;
+    spin_lock(&gt->lock);
=20
-    if ( d->grant_table->gt_version =3D=3D 0 )
-        d->grant_table->gt_version =3D 1;
+    if ( gt->gt_version =3D=3D 0 )
+        gt->gt_version =3D 1;
=20
-    if ( (op.nr_frames > nr_grant_frames(d->grant_table) ||
-          ( (d->grant_table->gt_version > 1 ) &&
-            (grant_to_status_frames(op.nr_frames) >
-             nr_status_frames(d->grant_table))  )  ) &&
+    if ( (op.nr_frames > nr_grant_frames(gt) ||
+          ((gt->gt_version > 1) &&
+           (grant_to_status_frames(op.nr_frames) > nr_status_frames(gt))))=
 &&
          !gnttab_grow_table(d, op.nr_frames) )
     {
         gdprintk(XENLOG_INFO,
-                "Expand grant table to %d failed. Current: %d Max: =
%d.\n",
-                op.nr_frames,
-                nr_grant_frames(d->grant_table),
-                max_nr_grant_frames);
+                 "Expand grant table to %u failed. Current: %u Max: =
%u\n",
+                 op.nr_frames, nr_grant_frames(gt), max_nr_grant_frames);
         op.status =3D GNTST_general_error;
         goto out3;
     }
@@ -1325,14 +1329,14 @@ gnttab_setup_table(
     op.status =3D GNTST_okay;
     for ( i =3D 0; i < op.nr_frames; i++ )
     {
-        gmfn =3D gnttab_shared_gmfn(d, d->grant_table, i);
+        gmfn =3D gnttab_shared_gmfn(d, gt, i);
         /* Grant tables cannot be shared */
         BUG_ON(SHARED_M2P(gmfn));
         (void)copy_to_guest_offset(op.frame_list, i, &gmfn, 1);
     }
=20
  out3:
-    spin_unlock(&d->grant_table->lock);
+    spin_unlock(&gt->lock);
  out2:
     rcu_unlock_domain(d);
  out1:
@@ -1430,7 +1434,7 @@ gnttab_prepare_for_transfer(
         goto fail;
     }
=20
-    if ( unlikely(ref >=3D nr_grant_entries(rd->grant_table)) )
+    if ( unlikely(ref >=3D nr_grant_entries(rgt)) )
     {
         gdprintk(XENLOG_INFO,
                 "Bad grant reference (%d) for transfer to domain(%d).\n",
@@ -1673,6 +1677,7 @@ static void
 __release_grant_for_copy(
     struct domain *rd, unsigned long gref, int readonly)
 {
+    struct grant_table *rgt =3D rd->grant_table;
     grant_entry_header_t *sha;
     struct active_grant_entry *act;
     unsigned long r_frame;
@@ -1685,13 +1690,13 @@ __release_grant_for_copy(
     released_read =3D 0;
     released_write =3D 0;
=20
-    spin_lock(&rd->grant_table->lock);
+    spin_lock(&rgt->lock);
=20
-    act =3D &active_entry(rd->grant_table, gref);
-    sha =3D shared_entry_header(rd->grant_table, gref);
+    act =3D &active_entry(rgt, gref);
+    sha =3D shared_entry_header(rgt, gref);
     r_frame =3D act->frame;
=20
-    if (rd->grant_table->gt_version =3D=3D 1)
+    if (rgt->gt_version =3D=3D 1)
     {
         status =3D &sha->flags;
         td =3D rd;
@@ -1699,7 +1704,7 @@ __release_grant_for_copy(
     }
     else
     {
-        status =3D &status_entry(rd->grant_table, gref);
+        status =3D &status_entry(rgt, gref);
         td =3D act->trans_domain;
         trans_gref =3D act->trans_gref;
     }
@@ -1726,7 +1731,7 @@ __release_grant_for_copy(
         released_read =3D 1;
     }
=20
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
=20
     if ( td !=3D rd )
     {
@@ -1737,7 +1742,7 @@ __release_grant_for_copy(
         else if ( released_read )
             __release_grant_for_copy(td, trans_gref, 1);
=20
-	rcu_unlock_domain(td);
+        rcu_unlock_domain(td);
     }
 }
=20
@@ -1762,10 +1767,11 @@ static void __fixup_status_for_pin(const
    If there is any error, *page =3D NULL, no ref taken. */
 static int
 __acquire_grant_for_copy(
-    struct domain *rd, unsigned long gref, struct domain *ld, int =
readonly,
+    struct domain *rd, unsigned long gref, domid_t ldom, int readonly,
     unsigned long *frame, struct page_info **page,=20
     unsigned *page_off, unsigned *length, unsigned allow_transitive)
 {
+    struct grant_table *rgt =3D rd->grant_table;
     grant_entry_v1_t *sha1;
     grant_entry_v2_t *sha2;
     grant_entry_header_t *shah;
@@ -1783,45 +1789,42 @@ __acquire_grant_for_copy(
=20
     *page =3D NULL;
=20
-    spin_lock(&rd->grant_table->lock);
+    spin_lock(&rgt->lock);
=20
-    if ( rd->grant_table->gt_version =3D=3D 0 )
+    if ( rgt->gt_version =3D=3D 0 )
         PIN_FAIL(unlock_out, GNTST_general_error,
                  "remote grant table not ready\n");
=20
-    if ( unlikely(gref >=3D nr_grant_entries(rd->grant_table)) )
+    if ( unlikely(gref >=3D nr_grant_entries(rgt)) )
         PIN_FAIL(unlock_out, GNTST_bad_gntref,
                  "Bad grant reference %ld\n", gref);
=20
-    act =3D &active_entry(rd->grant_table, gref);
-    shah =3D shared_entry_header(rd->grant_table, gref);
-    if ( rd->grant_table->gt_version =3D=3D 1 )
+    act =3D &active_entry(rgt, gref);
+    shah =3D shared_entry_header(rgt, gref);
+    if ( rgt->gt_version =3D=3D 1 )
     {
-        sha1 =3D &shared_entry_v1(rd->grant_table, gref);
+        sha1 =3D &shared_entry_v1(rgt, gref);
         sha2 =3D NULL;
         status =3D &shah->flags;
     }
     else
     {
         sha1 =3D NULL;
-        sha2 =3D &shared_entry_v2(rd->grant_table, gref);
-        status =3D &status_entry(rd->grant_table, gref);
+        sha2 =3D &shared_entry_v2(rgt, gref);
+        status =3D &status_entry(rgt, gref);
     }
=20
     /* If already pinned, check the active domid and avoid refcnt =
overflow. */
-    if ( act->pin &&
-         ((act->domid !=3D ld->domain_id) ||
-          (act->pin & 0x80808080U) !=3D 0) )
+    if ( act->pin && ((act->domid !=3D ldom) || (act->pin & 0x80808080U) =
!=3D 0) )
         PIN_FAIL(unlock_out, GNTST_general_error,
                  "Bad domain (%d !=3D %d), or risk of counter overflow =
%08x\n",
-                 act->domid, ld->domain_id, act->pin);
+                 act->domid, ldom, act->pin);
=20
     old_pin =3D act->pin;
     if ( !act->pin ||
          (!readonly && !(act->pin & (GNTPIN_devw_mask|GNTPIN_hstw_mask))) =
)
     {
-        if ( (rc =3D _set_status(rd->grant_table->gt_version,
-                               ld->domain_id,
+        if ( (rc =3D _set_status(rgt->gt_version, ldom,
                                readonly, 0, shah, act,
                                status) ) !=3D GNTST_okay )
              goto unlock_out;
@@ -1842,7 +1845,7 @@ __acquire_grant_for_copy(
                 PIN_FAIL(unlock_out, GNTST_general_error,
                          "transitive grants cannot be self-referential\n")=
;
=20
-            /* We allow the trans_domid =3D=3D ld->domain_id case, which
+            /* We allow the trans_domid =3D=3D ldom case, which
                corresponds to a grant being issued by one domain, sent
                to another one, and then transitively granted back to
                the original domain.  Allowing it is easy, and means
@@ -1855,17 +1858,17 @@ __acquire_grant_for_copy(
                 PIN_FAIL(unlock_out, GNTST_general_error,
                          "transitive grant referenced bad domain %d\n",
                          trans_domid);
-            spin_unlock(&rd->grant_table->lock);
+            spin_unlock(&rgt->lock);
=20
-            rc =3D __acquire_grant_for_copy(td, trans_gref, rd,
+            rc =3D __acquire_grant_for_copy(td, trans_gref, rd->domain_id,=

                                           readonly, &grant_frame, page,
                                           &trans_page_off, &trans_length, =
0);
=20
-            spin_lock(&rd->grant_table->lock);
+            spin_lock(&rgt->lock);
             if ( rc !=3D GNTST_okay ) {
                 __fixup_status_for_pin(act, status);
                 rcu_unlock_domain(td);
-                spin_unlock(&rd->grant_table->lock);
+                spin_unlock(&rgt->lock);
                 return rc;
             }
=20
@@ -1877,9 +1880,9 @@ __acquire_grant_for_copy(
             {
                 __fixup_status_for_pin(act, status);
                 rcu_unlock_domain(td);
-                spin_unlock(&rd->grant_table->lock);
+                spin_unlock(&rgt->lock);
                 put_page(*page);
-                return __acquire_grant_for_copy(rd, gref, ld, readonly,
+                return __acquire_grant_for_copy(rd, gref, ldom, readonly,
                                                 frame, page, page_off, =
length,
                                                 allow_transitive);
             }
@@ -1923,7 +1926,7 @@ __acquire_grant_for_copy(
=20
         if ( !act->pin )
         {
-            act->domid =3D ld->domain_id;
+            act->domid =3D ldom;
             act->is_sub_page =3D is_sub_page;
             act->start =3D trans_page_off;
             act->length =3D trans_length;
@@ -1946,7 +1949,7 @@ __acquire_grant_for_copy(
     *frame =3D act->frame;
=20
  unlock_out:
-    spin_unlock(&rd->grant_table->lock);
+    spin_unlock(&rgt->lock);
     return rc;
 }
=20
@@ -1996,8 +1999,10 @@ __gnttab_copy(
     if ( src_is_gref )
     {
         unsigned source_off, source_len;
-        rc =3D __acquire_grant_for_copy(sd, op->source.u.ref, current->dom=
ain, 1,
-                                      &s_frame, &s_pg, &source_off, =
&source_len, 1);
+        rc =3D __acquire_grant_for_copy(sd, op->source.u.ref,
+                                      current->domain->domain_id, 1,
+                                      &s_frame, &s_pg,
+                                      &source_off, &source_len, 1);
         if ( rc !=3D GNTST_okay )
             goto error_out;
         have_s_grant =3D 1;
@@ -2019,7 +2024,8 @@ __gnttab_copy(
     if ( dest_is_gref )
     {
         unsigned dest_off, dest_len;
-        rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref, current->domai=
n, 0,
+        rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref,
+                                      current->domain->domain_id, 0,
                                       &d_frame, &d_pg, &dest_off, =
&dest_len, 1);
         if ( rc !=3D GNTST_okay )
             goto error_out;
@@ -2267,11 +2273,8 @@ gnttab_get_status_frames(XEN_GUEST_HANDL
=20
     for ( i =3D 0; i < op.nr_frames; i++ )
     {
-        gmfn =3D gnttab_status_gmfn(d, d->grant_table, i);
-        if (copy_to_guest_offset(op.frame_list,
-                                 i,
-                                 &gmfn,
-                                 1))
+        gmfn =3D gnttab_status_gmfn(d, gt, i);
+        if (copy_to_guest_offset(op.frame_list, i, &gmfn, 1))
             op.status =3D GNTST_bad_virt_addr;
     }
=20
@@ -2305,9 +2308,7 @@ gnttab_get_version(XEN_GUEST_HANDLE(gntt
         return -EPERM;
     }
=20
-    spin_lock(&d->grant_table->lock);
     op.version =3D d->grant_table->gt_version;
-    spin_unlock(&d->grant_table->lock);
=20
     rcu_unlock_domain(d);
=20
@@ -2320,52 +2321,46 @@ gnttab_get_version(XEN_GUEST_HANDLE(gntt
 static s16
 __gnttab_swap_grant_ref(grant_ref_t ref_a, grant_ref_t ref_b)
 {
-    struct domain *d;
+    struct domain *d =3D rcu_lock_current_domain();
+    struct grant_table *gt =3D d->grant_table;
     struct active_grant_entry *act;
     s16 rc =3D GNTST_okay;
=20
-    d =3D rcu_lock_current_domain();
-
-    spin_lock(&d->grant_table->lock);
+    spin_lock(&gt->lock);
=20
-    act =3D &active_entry(d->grant_table, ref_a);
+    act =3D &active_entry(gt, ref_a);
     if ( act->pin )
         PIN_FAIL(out, GNTST_eagain, "ref a %ld busy\n", (long)ref_a);
=20
-    act =3D &active_entry(d->grant_table, ref_b);
+    act =3D &active_entry(gt, ref_b);
     if ( act->pin )
         PIN_FAIL(out, GNTST_eagain, "ref b %ld busy\n", (long)ref_b);
=20
-    if ( d->grant_table->gt_version =3D=3D 1 )
+    if ( gt->gt_version =3D=3D 1 )
     {
         grant_entry_v1_t shared;
=20
-        shared =3D shared_entry_v1(d->grant_table, ref_a);
-
-        shared_entry_v1(d->grant_table, ref_a) =3D
-            shared_entry_v1(d->grant_table, ref_b);
-
-        shared_entry_v1(d->grant_table, ref_b) =3D shared;
+        shared =3D shared_entry_v1(gt, ref_a);
+        shared_entry_v1(gt, ref_a) =3D shared_entry_v1(gt, ref_b);
+        shared_entry_v1(gt, ref_b) =3D shared;
     }
     else
     {
         grant_entry_v2_t shared;
         grant_status_t status;
=20
-        shared =3D shared_entry_v2(d->grant_table, ref_a);
-        status =3D status_entry(d->grant_table, ref_a);
+        shared =3D shared_entry_v2(gt, ref_a);
+        status =3D status_entry(gt, ref_a);
=20
-        shared_entry_v2(d->grant_table, ref_a) =3D
-            shared_entry_v2(d->grant_table, ref_b);
-        status_entry(d->grant_table, ref_a) =3D
-            status_entry(d->grant_table, ref_b);
+        shared_entry_v2(gt, ref_a) =3D shared_entry_v2(gt, ref_b);
+        status_entry(gt, ref_a) =3D status_entry(gt, ref_b);
=20
-        shared_entry_v2(d->grant_table, ref_b) =3D shared;
-        status_entry(d->grant_table, ref_b) =3D status;
+        shared_entry_v2(gt, ref_b) =3D shared;
+        status_entry(gt, ref_b) =3D status;
     }
=20
 out:
-    spin_unlock(&d->grant_table->lock);
+    spin_unlock(&gt->lock);
=20
     rcu_unlock_domain(d);
=20
@@ -2632,7 +2627,7 @@ void
 gnttab_release_mappings(
     struct domain *d)
 {
-    struct grant_table   *gt =3D d->grant_table;
+    struct grant_table   *gt =3D d->grant_table, *rgt;
     struct grant_mapping *map;
     grant_ref_t           ref;
     grant_handle_t        handle;
@@ -2664,14 +2659,15 @@ gnttab_release_mappings(
             continue;
         }
=20
-        spin_lock(&rd->grant_table->lock);
+        rgt =3D rd->grant_table;
+        spin_lock(&rgt->lock);
=20
-        act =3D &active_entry(rd->grant_table, ref);
-        sha =3D shared_entry_header(rd->grant_table, ref);
-        if (rd->grant_table->gt_version =3D=3D 1)
+        act =3D &active_entry(rgt, ref);
+        sha =3D shared_entry_header(rgt, ref);
+        if (rgt->gt_version =3D=3D 1)
             status =3D &sha->flags;
         else
-            status =3D &status_entry(rd->grant_table, ref);
+            status =3D &status_entry(rgt, ref);
=20
         pg =3D mfn_to_page(act->frame);
=20
@@ -2724,7 +2720,7 @@ gnttab_release_mappings(
         if ( act->pin =3D=3D 0 )
             gnttab_clear_flag(_GTF_reading, status);
=20
-        spin_unlock(&rd->grant_table->lock);
+        spin_unlock(&rgt->lock);
=20
         rcu_unlock_domain(rd);
=20



--=__Part89A77491.0__=
Content-Type: text/plain; name="gnttab-cleanup.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="gnttab-cleanup.patch"

gnttab: cleanup=0A=0A- introduce local variables (shortcuts for frequently =
used <dom>->grant_table)=0A- adjust first parameter of mapcount()=0A- drop =
lock acquisition from gnttab_get_version()=0A- remove hard tabs and adjust =
formatting=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0ATested-by:=
 Andrew Thomas <andrew.thomas@oracle.com>=0A=0A--- a/xen/common/grant_table=
.c=0A+++ b/xen/common/grant_table.c=0A@@ -444,18 +444,17 @@ static int =
_set_status(unsigned gt_versi=0A }=0A =0A static void mapcount(=0A-    =
struct domain *ld, struct domain *rd, unsigned long mfn,=0A+    struct =
grant_table *lgt, struct domain *rd, unsigned long mfn,=0A     unsigned =
int *wrc, unsigned int *rdc)=0A {=0A-    struct grant_table *gt =3D =
ld->grant_table;=0A     struct grant_mapping *map;=0A     grant_handle_t =
handle;=0A =0A     *wrc =3D *rdc =3D 0;=0A =0A-    for ( handle =3D 0; =
handle < gt->maptrack_limit; handle++ )=0A+    for ( handle =3D 0; handle =
< lgt->maptrack_limit; handle++ )=0A     {=0A-        map =3D &maptrack_ent=
ry(gt, handle);=0A+        map =3D &maptrack_entry(lgt, handle);=0A        =
 if ( !(map->flags & (GNTMAP_device_map|GNTMAP_host_map)) ||=0A            =
  map->domid !=3D rd->domain_id )=0A             continue;=0A@@ -476,6 =
+475,7 @@ __gnttab_map_grant_ref(=0A     struct gnttab_map_grant_ref =
*op)=0A {=0A     struct domain *ld, *rd, *owner =3D NULL;=0A+    struct =
grant_table *lgt, *rgt;=0A     struct vcpu   *led;=0A     int            =
handle;=0A     unsigned long  frame =3D 0, nr_gets =3D 0;=0A@@ -525,7 =
+525,8 @@ __gnttab_map_grant_ref(=0A         return;=0A     }=0A =0A-    =
if ( unlikely((handle =3D get_maptrack_handle(ld->grant_table)) =3D=3D -1) =
)=0A+    lgt =3D ld->grant_table;=0A+    if ( unlikely((handle =3D =
get_maptrack_handle(lgt)) =3D=3D -1) )=0A     {=0A         rcu_unlock_domai=
n(rd);=0A         gdprintk(XENLOG_INFO, "Failed to obtain maptrack =
handle.\n");=0A@@ -533,26 +534,27 @@ __gnttab_map_grant_ref(=0A         =
return;=0A     }=0A =0A-    spin_lock(&rd->grant_table->lock);=0A+    rgt =
=3D rd->grant_table;=0A+    spin_lock(&rgt->lock);=0A =0A-    if ( =
rd->grant_table->gt_version =3D=3D 0 )=0A+    if ( rgt->gt_version =3D=3D =
0 )=0A         PIN_FAIL(unlock_out, GNTST_general_error,=0A                =
  "remote grant table not yet set up");=0A =0A     /* Bounds check on the =
grant ref */=0A-    if ( unlikely(op->ref >=3D nr_grant_entries(rd->grant_t=
able)))=0A+    if ( unlikely(op->ref >=3D nr_grant_entries(rgt)))=0A       =
  PIN_FAIL(unlock_out, GNTST_bad_gntref, "Bad ref (%d).\n", op->ref);=0A =
=0A-    act =3D &active_entry(rd->grant_table, op->ref);=0A-    shah =3D =
shared_entry_header(rd->grant_table, op->ref);=0A-    if (rd->grant_table->=
gt_version =3D=3D 1) {=0A-        sha1 =3D &shared_entry_v1(rd->grant_table=
, op->ref);=0A+    act =3D &active_entry(rgt, op->ref);=0A+    shah =3D =
shared_entry_header(rgt, op->ref);=0A+    if (rgt->gt_version =3D=3D 1) =
{=0A+        sha1 =3D &shared_entry_v1(rgt, op->ref);=0A         sha2 =3D =
NULL;=0A         status =3D &shah->flags;=0A     } else {=0A-        sha2 =
=3D &shared_entry_v2(rd->grant_table, op->ref);=0A+        sha2 =3D =
&shared_entry_v2(rgt, op->ref);=0A         sha1 =3D NULL;=0A-        =
status =3D &status_entry(rd->grant_table, op->ref);=0A+        status =3D =
&status_entry(rgt, op->ref);=0A     }=0A =0A     /* If already pinned, =
check the active domid and avoid refcnt overflow. */=0A@@ -568,8 +570,8 @@ =
__gnttab_map_grant_ref(=0A          (!(op->flags & GNTMAP_readonly) &&=0A  =
         !(act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask))) )=0A     {=0A- =
       if ( (rc =3D _set_status(rd->grant_table->gt_version,=0A-           =
                    ld->domain_id, op->flags & GNTMAP_readonly,=0A+        =
if ( (rc =3D _set_status(rgt->gt_version, ld->domain_id,=0A+               =
                op->flags & GNTMAP_readonly,=0A                            =
    1, shah, act, status) ) !=3D GNTST_okay )=0A              goto =
unlock_out;=0A =0A@@ -606,7 +608,7 @@ __gnttab_map_grant_ref(=0A =0A     =
cache_flags =3D (shah->flags & (GTF_PAT | GTF_PWT | GTF_PCD) );=0A =0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A =
=0A     /* pg may be set, with a refcount included, from __get_paged_frame =
*/=0A     if ( !pg )=0A@@ -679,7 +681,7 @@ __gnttab_map_grant_ref(=0A      =
   goto undo_out;=0A     }=0A =0A-    double_gt_lock(ld->grant_table, =
rd->grant_table);=0A+    double_gt_lock(lgt, rgt);=0A =0A     if ( =
!is_hvm_domain(ld) && need_iommu(ld) )=0A     {=0A@@ -689,7 +691,7 @@ =
__gnttab_map_grant_ref(=0A         BUG_ON(paging_mode_translate(ld));=0A   =
      /* We're not translated, so we know that gmfns and mfns are=0A       =
     the same things, so the IOMMU entry is always 1-to-1. */=0A-        =
mapcount(ld, rd, frame, &wrc, &rdc);=0A+        mapcount(lgt, rd, frame, =
&wrc, &rdc);=0A         if ( (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)=
) &&=0A              !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) )=0A =
        {=0A@@ -704,7 +706,7 @@ __gnttab_map_grant_ref(=0A         }=0A    =
     if ( err )=0A         {=0A-            double_gt_unlock(ld->grant_tabl=
e, rd->grant_table);=0A+            double_gt_unlock(lgt, rgt);=0A         =
    rc =3D GNTST_general_error;=0A             goto undo_out;=0A         =
}=0A@@ -712,12 +714,12 @@ __gnttab_map_grant_ref(=0A =0A     TRACE_1D(TRC_M=
EM_PAGE_GRANT_MAP, op->dom);=0A =0A-    mt =3D &maptrack_entry(ld->grant_ta=
ble, handle);=0A+    mt =3D &maptrack_entry(lgt, handle);=0A     mt->domid =
=3D op->dom;=0A     mt->ref   =3D op->ref;=0A     mt->flags =3D op->flags;=
=0A =0A-    double_gt_unlock(ld->grant_table, rd->grant_table);=0A+    =
double_gt_unlock(lgt, rgt);=0A =0A     op->dev_bus_addr =3D (u64)frame << =
PAGE_SHIFT;=0A     op->handle       =3D handle;=0A@@ -740,10 +742,10 @@ =
__gnttab_map_grant_ref(=0A         put_page(pg);=0A     }=0A =0A-    =
spin_lock(&rd->grant_table->lock);=0A+    spin_lock(&rgt->lock);=0A =0A-   =
 act =3D &active_entry(rd->grant_table, op->ref);=0A-    shah =3D =
shared_entry_header(rd->grant_table, op->ref);=0A+    act =3D &active_entry=
(rgt, op->ref);=0A+    shah =3D shared_entry_header(rgt, op->ref);=0A =0A  =
   if ( op->flags & GNTMAP_device_map )=0A         act->pin -=3D (op->flags=
 & GNTMAP_readonly) ?=0A@@ -761,9 +763,9 @@ __gnttab_map_grant_ref(=0A     =
    gnttab_clear_flag(_GTF_reading, status);=0A =0A  unlock_out:=0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A    =
 op->status =3D rc;=0A-    put_maptrack_handle(ld->grant_table, handle);=0A=
+    put_maptrack_handle(lgt, handle);=0A     rcu_unlock_domain(rd);=0A =
}=0A =0A@@ -794,33 +796,35 @@ __gnttab_unmap_common(=0A {=0A     domid_t   =
       dom;=0A     struct domain   *ld, *rd;=0A+    struct grant_table =
*lgt, *rgt;=0A     struct active_grant_entry *act;=0A     s16              =
rc =3D 0;=0A =0A     ld =3D current->domain;=0A+    lgt =3D ld->grant_table=
;=0A =0A     op->frame =3D (unsigned long)(op->dev_bus_addr >> PAGE_SHIFT);=
=0A =0A-    if ( unlikely(op->handle >=3D ld->grant_table->maptrack_limit) =
)=0A+    if ( unlikely(op->handle >=3D lgt->maptrack_limit) )=0A     {=0A  =
       gdprintk(XENLOG_INFO, "Bad handle (%d).\n", op->handle);=0A         =
op->status =3D GNTST_bad_handle;=0A         return;=0A     }=0A =0A-    =
op->map =3D &maptrack_entry(ld->grant_table, op->handle);=0A-    spin_lock(=
&ld->grant_table->lock);=0A+    op->map =3D &maptrack_entry(lgt, op->handle=
);=0A+    spin_lock(&lgt->lock);=0A =0A     if ( unlikely(!op->map->flags) =
)=0A     {=0A-        spin_unlock(&ld->grant_table->lock);=0A+        =
spin_unlock(&lgt->lock);=0A         gdprintk(XENLOG_INFO, "Zero flags for =
handle (%d).\n", op->handle);=0A         op->status =3D GNTST_bad_handle;=
=0A         return;=0A     }=0A =0A     dom =3D op->map->domid;=0A-    =
spin_unlock(&ld->grant_table->lock);=0A+    spin_unlock(&lgt->lock);=0A =
=0A     if ( unlikely((rd =3D rcu_lock_domain_by_id(dom)) =3D=3D NULL) =
)=0A     {=0A@@ -840,7 +844,8 @@ __gnttab_unmap_common(=0A =0A     =
TRACE_1D(TRC_MEM_PAGE_GRANT_UNMAP, dom);=0A =0A-    double_gt_lock(ld->gran=
t_table, rd->grant_table);=0A+    rgt =3D rd->grant_table;=0A+    =
double_gt_lock(lgt, rgt);=0A =0A     op->flags =3D op->map->flags;=0A     =
if ( unlikely(!op->flags) || unlikely(op->map->domid !=3D dom) )=0A@@ =
-851,7 +856,7 @@ __gnttab_unmap_common(=0A     }=0A =0A     op->rd =3D =
rd;=0A-    act =3D &active_entry(rd->grant_table, op->map->ref);=0A+    =
act =3D &active_entry(rgt, op->map->ref);=0A =0A     if ( op->frame =3D=3D =
0 )=0A     {=0A@@ -894,7 +899,7 @@ __gnttab_unmap_common(=0A         =
unsigned int wrc, rdc;=0A         int err =3D 0;=0A         BUG_ON(paging_m=
ode_translate(ld));=0A-        mapcount(ld, rd, op->frame, &wrc, &rdc);=0A+=
        mapcount(lgt, rd, op->frame, &wrc, &rdc);=0A         if ( (wrc + =
rdc) =3D=3D 0 )=0A             err =3D iommu_unmap_page(ld, op->frame);=0A =
        else if ( wrc =3D=3D 0 )=0A@@ -911,7 +916,7 @@ __gnttab_unmap_commo=
n(=0A          gnttab_mark_dirty(rd, op->frame);=0A =0A  unmap_out:=0A-    =
double_gt_unlock(ld->grant_table, rd->grant_table);=0A+    double_gt_unlock=
(lgt, rgt);=0A     op->status =3D rc;=0A     rcu_unlock_domain(rd);=0A =
}=0A@@ -919,15 +924,14 @@ __gnttab_unmap_common(=0A static void=0A =
__gnttab_unmap_common_complete(struct gnttab_unmap_common *op)=0A {=0A-    =
struct domain   *ld, *rd;=0A+    struct domain *ld, *rd =3D op->rd;=0A+    =
struct grant_table *rgt;=0A     struct active_grant_entry *act;=0A     =
grant_entry_header_t *sha;=0A     struct page_info *pg;=0A     uint16_t =
*status;=0A     bool_t put_handle =3D 0;=0A =0A-    rd =3D op->rd;=0A-=0A  =
   if ( rd =3D=3D NULL )=0A     { =0A         /*=0A@@ -941,18 +945,19 @@ =
__gnttab_unmap_common_complete(struct gn=0A     ld =3D current->domain;=0A =
=0A     rcu_lock_domain(rd);=0A-    spin_lock(&rd->grant_table->lock);=0A+ =
   rgt =3D rd->grant_table;=0A+    spin_lock(&rgt->lock);=0A =0A-    if ( =
rd->grant_table->gt_version =3D=3D 0 )=0A+    if ( rgt->gt_version =3D=3D =
0 )=0A         goto unmap_out;=0A =0A-    act =3D &active_entry(rd->grant_t=
able, op->map->ref);=0A-    sha =3D shared_entry_header(rd->grant_table, =
op->map->ref);=0A+    act =3D &active_entry(rgt, op->map->ref);=0A+    sha =
=3D shared_entry_header(rgt, op->map->ref);=0A =0A-    if ( rd->grant_table=
->gt_version =3D=3D 1 )=0A+    if ( rgt->gt_version =3D=3D 1 )=0A         =
status =3D &sha->flags;=0A     else=0A-        status =3D &status_entry(rd-=
>grant_table, op->map->ref);=0A+        status =3D &status_entry(rgt, =
op->map->ref);=0A =0A     if ( unlikely(op->frame !=3D act->frame) ) =0A   =
  {=0A@@ -1006,7 +1011,7 @@ __gnttab_unmap_common_complete(struct gn=0A    =
     gnttab_clear_flag(_GTF_reading, status);=0A =0A  unmap_out:=0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A    =
 if ( put_handle )=0A     {=0A         op->map->flags =3D 0;=0A@@ -1020,7 =
+1025,7 @@ __gnttab_unmap_grant_ref(=0A     struct gnttab_unmap_grant_ref =
*op,=0A     struct gnttab_unmap_common *common)=0A {=0A-	common->hos=
t_addr =3D op->host_addr;=0A+    common->host_addr =3D op->host_addr;=0A   =
  common->dev_bus_addr =3D op->dev_bus_addr;=0A     common->handle =3D =
op->handle;=0A =0A@@ -1083,9 +1088,9 @@ __gnttab_unmap_and_replace(=0A     =
struct gnttab_unmap_and_replace *op,=0A     struct gnttab_unmap_common =
*common)=0A {=0A-	common->host_addr =3D op->host_addr;=0A-	=
common->new_addr =3D op->new_addr;=0A-	common->handle =3D op->handle;=0A+ =
   common->host_addr =3D op->host_addr;=0A+    common->new_addr =3D =
op->new_addr;=0A+    common->handle =3D op->handle;=0A     =0A     /* =
Intialise these in case common contains old state */=0A     common->dev_bus=
_addr =3D 0;=0A@@ -1253,6 +1258,7 @@ gnttab_setup_table(=0A {=0A     =
struct gnttab_setup_table op;=0A     struct domain *d;=0A+    struct =
grant_table *gt;=0A     int            i;=0A     unsigned long  gmfn;=0A   =
  domid_t        dom;=0A@@ -1302,22 +1308,20 @@ gnttab_setup_table(=0A     =
    goto out2;=0A     }=0A =0A-    spin_lock(&d->grant_table->lock);=0A+   =
 gt =3D d->grant_table;=0A+    spin_lock(&gt->lock);=0A =0A-    if ( =
d->grant_table->gt_version =3D=3D 0 )=0A-        d->grant_table->gt_version=
 =3D 1;=0A+    if ( gt->gt_version =3D=3D 0 )=0A+        gt->gt_version =
=3D 1;=0A =0A-    if ( (op.nr_frames > nr_grant_frames(d->grant_table) =
||=0A-          ( (d->grant_table->gt_version > 1 ) &&=0A-            =
(grant_to_status_frames(op.nr_frames) >=0A-             nr_status_frames(d-=
>grant_table))  )  ) &&=0A+    if ( (op.nr_frames > nr_grant_frames(gt) =
||=0A+          ((gt->gt_version > 1) &&=0A+           (grant_to_status_fra=
mes(op.nr_frames) > nr_status_frames(gt)))) &&=0A          !gnttab_grow_tab=
le(d, op.nr_frames) )=0A     {=0A         gdprintk(XENLOG_INFO,=0A-        =
        "Expand grant table to %d failed. Current: %d Max: %d.\n",=0A-     =
           op.nr_frames,=0A-                nr_grant_frames(d->grant_table)=
,=0A-                max_nr_grant_frames);=0A+                 "Expand =
grant table to %u failed. Current: %u Max: %u\n",=0A+                 =
op.nr_frames, nr_grant_frames(gt), max_nr_grant_frames);=0A         =
op.status =3D GNTST_general_error;=0A         goto out3;=0A     }=0A@@ =
-1325,14 +1329,14 @@ gnttab_setup_table(=0A     op.status =3D GNTST_okay;=
=0A     for ( i =3D 0; i < op.nr_frames; i++ )=0A     {=0A-        gmfn =
=3D gnttab_shared_gmfn(d, d->grant_table, i);=0A+        gmfn =3D =
gnttab_shared_gmfn(d, gt, i);=0A         /* Grant tables cannot be shared =
*/=0A         BUG_ON(SHARED_M2P(gmfn));=0A         (void)copy_to_guest_offs=
et(op.frame_list, i, &gmfn, 1);=0A     }=0A =0A  out3:=0A-    spin_unlock(&=
d->grant_table->lock);=0A+    spin_unlock(&gt->lock);=0A  out2:=0A     =
rcu_unlock_domain(d);=0A  out1:=0A@@ -1430,7 +1434,7 @@ gnttab_prepare_for_=
transfer(=0A         goto fail;=0A     }=0A =0A-    if ( unlikely(ref >=3D =
nr_grant_entries(rd->grant_table)) )=0A+    if ( unlikely(ref >=3D =
nr_grant_entries(rgt)) )=0A     {=0A         gdprintk(XENLOG_INFO,=0A      =
           "Bad grant reference (%d) for transfer to domain(%d).\n",=0A@@ =
-1673,6 +1677,7 @@ static void=0A __release_grant_for_copy(=0A     struct =
domain *rd, unsigned long gref, int readonly)=0A {=0A+    struct grant_tabl=
e *rgt =3D rd->grant_table;=0A     grant_entry_header_t *sha;=0A     =
struct active_grant_entry *act;=0A     unsigned long r_frame;=0A@@ =
-1685,13 +1690,13 @@ __release_grant_for_copy(=0A     released_read =3D =
0;=0A     released_write =3D 0;=0A =0A-    spin_lock(&rd->grant_table->lock=
);=0A+    spin_lock(&rgt->lock);=0A =0A-    act =3D &active_entry(rd->grant=
_table, gref);=0A-    sha =3D shared_entry_header(rd->grant_table, =
gref);=0A+    act =3D &active_entry(rgt, gref);=0A+    sha =3D shared_entry=
_header(rgt, gref);=0A     r_frame =3D act->frame;=0A =0A-    if (rd->grant=
_table->gt_version =3D=3D 1)=0A+    if (rgt->gt_version =3D=3D 1)=0A     =
{=0A         status =3D &sha->flags;=0A         td =3D rd;=0A@@ -1699,7 =
+1704,7 @@ __release_grant_for_copy(=0A     }=0A     else=0A     {=0A-     =
   status =3D &status_entry(rd->grant_table, gref);=0A+        status =3D =
&status_entry(rgt, gref);=0A         td =3D act->trans_domain;=0A         =
trans_gref =3D act->trans_gref;=0A     }=0A@@ -1726,7 +1731,7 @@ __release_=
grant_for_copy(=0A         released_read =3D 1;=0A     }=0A =0A-    =
spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock);=0A =
=0A     if ( td !=3D rd )=0A     {=0A@@ -1737,7 +1742,7 @@ __release_grant_=
for_copy(=0A         else if ( released_read )=0A             __release_gra=
nt_for_copy(td, trans_gref, 1);=0A =0A-	rcu_unlock_domain(td);=0A+        =
rcu_unlock_domain(td);=0A     }=0A }=0A =0A@@ -1762,10 +1767,11 @@ static =
void __fixup_status_for_pin(const=0A    If there is any error, *page =3D =
NULL, no ref taken. */=0A static int=0A __acquire_grant_for_copy(=0A-    =
struct domain *rd, unsigned long gref, struct domain *ld, int readonly,=0A+=
    struct domain *rd, unsigned long gref, domid_t ldom, int readonly,=0A  =
   unsigned long *frame, struct page_info **page, =0A     unsigned =
*page_off, unsigned *length, unsigned allow_transitive)=0A {=0A+    struct =
grant_table *rgt =3D rd->grant_table;=0A     grant_entry_v1_t *sha1;=0A    =
 grant_entry_v2_t *sha2;=0A     grant_entry_header_t *shah;=0A@@ -1783,45 =
+1789,42 @@ __acquire_grant_for_copy(=0A =0A     *page =3D NULL;=0A =0A-   =
 spin_lock(&rd->grant_table->lock);=0A+    spin_lock(&rgt->lock);=0A =0A-  =
  if ( rd->grant_table->gt_version =3D=3D 0 )=0A+    if ( rgt->gt_version =
=3D=3D 0 )=0A         PIN_FAIL(unlock_out, GNTST_general_error,=0A         =
         "remote grant table not ready\n");=0A =0A-    if ( unlikely(gref =
>=3D nr_grant_entries(rd->grant_table)) )=0A+    if ( unlikely(gref >=3D =
nr_grant_entries(rgt)) )=0A         PIN_FAIL(unlock_out, GNTST_bad_gntref,=
=0A                  "Bad grant reference %ld\n", gref);=0A =0A-    act =
=3D &active_entry(rd->grant_table, gref);=0A-    shah =3D shared_entry_head=
er(rd->grant_table, gref);=0A-    if ( rd->grant_table->gt_version =3D=3D =
1 )=0A+    act =3D &active_entry(rgt, gref);=0A+    shah =3D shared_entry_h=
eader(rgt, gref);=0A+    if ( rgt->gt_version =3D=3D 1 )=0A     {=0A-      =
  sha1 =3D &shared_entry_v1(rd->grant_table, gref);=0A+        sha1 =3D =
&shared_entry_v1(rgt, gref);=0A         sha2 =3D NULL;=0A         status =
=3D &shah->flags;=0A     }=0A     else=0A     {=0A         sha1 =3D =
NULL;=0A-        sha2 =3D &shared_entry_v2(rd->grant_table, gref);=0A-     =
   status =3D &status_entry(rd->grant_table, gref);=0A+        sha2 =3D =
&shared_entry_v2(rgt, gref);=0A+        status =3D &status_entry(rgt, =
gref);=0A     }=0A =0A     /* If already pinned, check the active domid =
and avoid refcnt overflow. */=0A-    if ( act->pin &&=0A-         =
((act->domid !=3D ld->domain_id) ||=0A-          (act->pin & 0x80808080U) =
!=3D 0) )=0A+    if ( act->pin && ((act->domid !=3D ldom) || (act->pin & =
0x80808080U) !=3D 0) )=0A         PIN_FAIL(unlock_out, GNTST_general_error,=
=0A                  "Bad domain (%d !=3D %d), or risk of counter overflow =
%08x\n",=0A-                 act->domid, ld->domain_id, act->pin);=0A+     =
            act->domid, ldom, act->pin);=0A =0A     old_pin =3D =
act->pin;=0A     if ( !act->pin ||=0A          (!readonly && !(act->pin & =
(GNTPIN_devw_mask|GNTPIN_hstw_mask))) )=0A     {=0A-        if ( (rc =3D =
_set_status(rd->grant_table->gt_version,=0A-                               =
ld->domain_id,=0A+        if ( (rc =3D _set_status(rgt->gt_version, =
ldom,=0A                                readonly, 0, shah, act,=0A         =
                       status) ) !=3D GNTST_okay )=0A              goto =
unlock_out;=0A@@ -1842,7 +1845,7 @@ __acquire_grant_for_copy(=0A           =
      PIN_FAIL(unlock_out, GNTST_general_error,=0A                         =
 "transitive grants cannot be self-referential\n");=0A =0A-            /* =
We allow the trans_domid =3D=3D ld->domain_id case, which=0A+            =
/* We allow the trans_domid =3D=3D ldom case, which=0A                =
corresponds to a grant being issued by one domain, sent=0A                =
to another one, and then transitively granted back to=0A                =
the original domain.  Allowing it is easy, and means=0A@@ -1855,17 =
+1858,17 @@ __acquire_grant_for_copy(=0A                 PIN_FAIL(unlock_ou=
t, GNTST_general_error,=0A                          "transitive grant =
referenced bad domain %d\n",=0A                          trans_domid);=0A- =
           spin_unlock(&rd->grant_table->lock);=0A+            spin_unlock(=
&rgt->lock);=0A =0A-            rc =3D __acquire_grant_for_copy(td, =
trans_gref, rd,=0A+            rc =3D __acquire_grant_for_copy(td, =
trans_gref, rd->domain_id,=0A                                           =
readonly, &grant_frame, page,=0A                                           =
&trans_page_off, &trans_length, 0);=0A =0A-            spin_lock(&rd->grant=
_table->lock);=0A+            spin_lock(&rgt->lock);=0A             if ( =
rc !=3D GNTST_okay ) {=0A                 __fixup_status_for_pin(act, =
status);=0A                 rcu_unlock_domain(td);=0A-                =
spin_unlock(&rd->grant_table->lock);=0A+                spin_unlock(&rgt->l=
ock);=0A                 return rc;=0A             }=0A =0A@@ -1877,9 =
+1880,9 @@ __acquire_grant_for_copy(=0A             {=0A                 =
__fixup_status_for_pin(act, status);=0A                 rcu_unlock_domain(t=
d);=0A-                spin_unlock(&rd->grant_table->lock);=0A+            =
    spin_unlock(&rgt->lock);=0A                 put_page(*page);=0A-       =
         return __acquire_grant_for_copy(rd, gref, ld, readonly,=0A+       =
         return __acquire_grant_for_copy(rd, gref, ldom, readonly,=0A      =
                                           frame, page, page_off, =
length,=0A                                                 allow_transitive=
);=0A             }=0A@@ -1923,7 +1926,7 @@ __acquire_grant_for_copy(=0A =
=0A         if ( !act->pin )=0A         {=0A-            act->domid =3D =
ld->domain_id;=0A+            act->domid =3D ldom;=0A             =
act->is_sub_page =3D is_sub_page;=0A             act->start =3D trans_page_=
off;=0A             act->length =3D trans_length;=0A@@ -1946,7 +1949,7 @@ =
__acquire_grant_for_copy(=0A     *frame =3D act->frame;=0A =0A  unlock_out:=
=0A-    spin_unlock(&rd->grant_table->lock);=0A+    spin_unlock(&rgt->lock)=
;=0A     return rc;=0A }=0A =0A@@ -1996,8 +1999,10 @@ __gnttab_copy(=0A    =
 if ( src_is_gref )=0A     {=0A         unsigned source_off, source_len;=0A=
-        rc =3D __acquire_grant_for_copy(sd, op->source.u.ref, current->dom=
ain, 1,=0A-                                      &s_frame, &s_pg, =
&source_off, &source_len, 1);=0A+        rc =3D __acquire_grant_for_copy(sd=
, op->source.u.ref,=0A+                                      current->domai=
n->domain_id, 1,=0A+                                      &s_frame, =
&s_pg,=0A+                                      &source_off, &source_len, =
1);=0A         if ( rc !=3D GNTST_okay )=0A             goto error_out;=0A =
        have_s_grant =3D 1;=0A@@ -2019,7 +2024,8 @@ __gnttab_copy(=0A     =
if ( dest_is_gref )=0A     {=0A         unsigned dest_off, dest_len;=0A-   =
     rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref, current->domain, =
0,=0A+        rc =3D __acquire_grant_for_copy(dd, op->dest.u.ref,=0A+      =
                                current->domain->domain_id, 0,=0A          =
                             &d_frame, &d_pg, &dest_off, &dest_len, 1);=0A =
        if ( rc !=3D GNTST_okay )=0A             goto error_out;=0A@@ =
-2267,11 +2273,8 @@ gnttab_get_status_frames(XEN_GUEST_HANDL=0A =0A     =
for ( i =3D 0; i < op.nr_frames; i++ )=0A     {=0A-        gmfn =3D =
gnttab_status_gmfn(d, d->grant_table, i);=0A-        if (copy_to_guest_offs=
et(op.frame_list,=0A-                                 i,=0A-               =
                  &gmfn,=0A-                                 1))=0A+       =
 gmfn =3D gnttab_status_gmfn(d, gt, i);=0A+        if (copy_to_guest_offset=
(op.frame_list, i, &gmfn, 1))=0A             op.status =3D GNTST_bad_virt_a=
ddr;=0A     }=0A =0A@@ -2305,9 +2308,7 @@ gnttab_get_version(XEN_GUEST_HAND=
LE(gntt=0A         return -EPERM;=0A     }=0A =0A-    spin_lock(&d->grant_t=
able->lock);=0A     op.version =3D d->grant_table->gt_version;=0A-    =
spin_unlock(&d->grant_table->lock);=0A =0A     rcu_unlock_domain(d);=0A =
=0A@@ -2320,52 +2321,46 @@ gnttab_get_version(XEN_GUEST_HANDLE(gntt=0A =
static s16=0A __gnttab_swap_grant_ref(grant_ref_t ref_a, grant_ref_t =
ref_b)=0A {=0A-    struct domain *d;=0A+    struct domain *d =3D rcu_lock_c=
urrent_domain();=0A+    struct grant_table *gt =3D d->grant_table;=0A     =
struct active_grant_entry *act;=0A     s16 rc =3D GNTST_okay;=0A =0A-    d =
=3D rcu_lock_current_domain();=0A-=0A-    spin_lock(&d->grant_table->lock);=
=0A+    spin_lock(&gt->lock);=0A =0A-    act =3D &active_entry(d->grant_tab=
le, ref_a);=0A+    act =3D &active_entry(gt, ref_a);=0A     if ( act->pin =
)=0A         PIN_FAIL(out, GNTST_eagain, "ref a %ld busy\n", (long)ref_a);=
=0A =0A-    act =3D &active_entry(d->grant_table, ref_b);=0A+    act =3D =
&active_entry(gt, ref_b);=0A     if ( act->pin )=0A         PIN_FAIL(out, =
GNTST_eagain, "ref b %ld busy\n", (long)ref_b);=0A =0A-    if ( d->grant_ta=
ble->gt_version =3D=3D 1 )=0A+    if ( gt->gt_version =3D=3D 1 )=0A     =
{=0A         grant_entry_v1_t shared;=0A =0A-        shared =3D shared_entr=
y_v1(d->grant_table, ref_a);=0A-=0A-        shared_entry_v1(d->grant_table,=
 ref_a) =3D=0A-            shared_entry_v1(d->grant_table, ref_b);=0A-=0A- =
       shared_entry_v1(d->grant_table, ref_b) =3D shared;=0A+        =
shared =3D shared_entry_v1(gt, ref_a);=0A+        shared_entry_v1(gt, =
ref_a) =3D shared_entry_v1(gt, ref_b);=0A+        shared_entry_v1(gt, =
ref_b) =3D shared;=0A     }=0A     else=0A     {=0A         grant_entry_v2_=
t shared;=0A         grant_status_t status;=0A =0A-        shared =3D =
shared_entry_v2(d->grant_table, ref_a);=0A-        status =3D status_entry(=
d->grant_table, ref_a);=0A+        shared =3D shared_entry_v2(gt, =
ref_a);=0A+        status =3D status_entry(gt, ref_a);=0A =0A-        =
shared_entry_v2(d->grant_table, ref_a) =3D=0A-            shared_entry_v2(d=
->grant_table, ref_b);=0A-        status_entry(d->grant_table, ref_a) =
=3D=0A-            status_entry(d->grant_table, ref_b);=0A+        =
shared_entry_v2(gt, ref_a) =3D shared_entry_v2(gt, ref_b);=0A+        =
status_entry(gt, ref_a) =3D status_entry(gt, ref_b);=0A =0A-        =
shared_entry_v2(d->grant_table, ref_b) =3D shared;=0A-        status_entry(=
d->grant_table, ref_b) =3D status;=0A+        shared_entry_v2(gt, ref_b) =
=3D shared;=0A+        status_entry(gt, ref_b) =3D status;=0A     }=0A =0A =
out:=0A-    spin_unlock(&d->grant_table->lock);=0A+    spin_unlock(&gt->loc=
k);=0A =0A     rcu_unlock_domain(d);=0A =0A@@ -2632,7 +2627,7 @@ void=0A =
gnttab_release_mappings(=0A     struct domain *d)=0A {=0A-    struct =
grant_table   *gt =3D d->grant_table;=0A+    struct grant_table   *gt =3D =
d->grant_table, *rgt;=0A     struct grant_mapping *map;=0A     grant_ref_t =
          ref;=0A     grant_handle_t        handle;=0A@@ -2664,14 +2659,15 =
@@ gnttab_release_mappings(=0A             continue;=0A         }=0A =0A-  =
      spin_lock(&rd->grant_table->lock);=0A+        rgt =3D rd->grant_table=
;=0A+        spin_lock(&rgt->lock);=0A =0A-        act =3D &active_entry(rd=
->grant_table, ref);=0A-        sha =3D shared_entry_header(rd->grant_table=
, ref);=0A-        if (rd->grant_table->gt_version =3D=3D 1)=0A+        =
act =3D &active_entry(rgt, ref);=0A+        sha =3D shared_entry_header(rgt=
, ref);=0A+        if (rgt->gt_version =3D=3D 1)=0A             status =3D =
&sha->flags;=0A         else=0A-            status =3D &status_entry(rd->gr=
ant_table, ref);=0A+            status =3D &status_entry(rgt, ref);=0A =0A =
        pg =3D mfn_to_page(act->frame);=0A =0A@@ -2724,7 +2720,7 @@ =
gnttab_release_mappings(=0A         if ( act->pin =3D=3D 0 )=0A            =
 gnttab_clear_flag(_GTF_reading, status);=0A =0A-        spin_unlock(&rd->g=
rant_table->lock);=0A+        spin_unlock(&rgt->lock);=0A =0A         =
rcu_unlock_domain(rd);=0A =0A
--=__Part89A77491.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part89A77491.0__=--


From xen-devel-bounces@lists.xen.org Fri May 25 13:10:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuHg-0006Q7-Lh; Fri, 25 May 2012 13:10:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXuHf-0006Q2-8X
	for xen-devel@lists.xen.org; Fri, 25 May 2012 13:10:23 +0000
Received: from [85.158.139.83:30545] by server-7.bemta-5.messagelabs.com id
	27/39-15932-EB48FBF4; Fri, 25 May 2012 13:10:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337951421!26087838!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5157 invoked from network); 25 May 2012 13:10:21 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-182.messagelabs.com with SMTP;
	25 May 2012 13:10:21 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78158598; Fri, 25 May 2012 15:10:20 +0200
Message-ID: <1337951405.26090.2.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 25 May 2012 15:10:05 +0200
In-Reply-To: <20415.26393.141418.446541@mariner.uk.xensource.com>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
	<1337942163.22311.27.camel@zakaz.uk.xensource.com>
	<20415.26393.141418.446541@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0515989756864972632=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0515989756864972632==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-q5wGFuXA3xxro+ar1/oC"


--=-q5wGFuXA3xxro+ar1/oC
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-25 at 12:03 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_I=
NVALID"):
> > so having arranged to call that function at the right time we can assum=
e
> > that type is a sensible value, and indeed setdefault makes this the
> > case.
>=20
> Right.
>=20
Ok.

> The other situation where we can get _INVALID is if libxl__domain_type
> fails, which it can do.
>=20
> I think this should be handled by having places which call
> libxl__domain_type abandon operation and return an error if the
> libxl__domain_type fails.
>=20
> If this is done, then general variables, parameters, etc. within libxl
> which are supposed to contain a libxl_domain_type will never contain
> _INVALID.
>=20
I like this. I'll chase each call to that function and have the calle
failing if a DOMAIN_TYPE_INVALID is returned. Then, if I go this way,
can I also nuke both the 'case DOMAIN_TYPE_INVALID' _and_ the default
clauses from everywhere? I seem to think I could...

Thanks and Regards,
Daio

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-q5wGFuXA3xxro+ar1/oC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+/hK0ACgkQk4XaBE3IOsTF2wCfWAK8IbTUPtV5gk0TKFNl3zjc
qUYAniBVpnbChHpB6SDEx8uSCrvzztSH
=wqrQ
-----END PGP SIGNATURE-----

--=-q5wGFuXA3xxro+ar1/oC--



--===============0515989756864972632==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0515989756864972632==--



From xen-devel-bounces@lists.xen.org Fri May 25 13:10:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuHg-0006Q7-Lh; Fri, 25 May 2012 13:10:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SXuHf-0006Q2-8X
	for xen-devel@lists.xen.org; Fri, 25 May 2012 13:10:23 +0000
Received: from [85.158.139.83:30545] by server-7.bemta-5.messagelabs.com id
	27/39-15932-EB48FBF4; Fri, 25 May 2012 13:10:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337951421!26087838!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5157 invoked from network); 25 May 2012 13:10:21 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-182.messagelabs.com with SMTP;
	25 May 2012 13:10:21 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78158598; Fri, 25 May 2012 15:10:20 +0200
Message-ID: <1337951405.26090.2.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Fri, 25 May 2012 15:10:05 +0200
In-Reply-To: <20415.26393.141418.446541@mariner.uk.xensource.com>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
	<1337942163.22311.27.camel@zakaz.uk.xensource.com>
	<20415.26393.141418.446541@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0515989756864972632=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0515989756864972632==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-q5wGFuXA3xxro+ar1/oC"


--=-q5wGFuXA3xxro+ar1/oC
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-25 at 12:03 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_I=
NVALID"):
> > so having arranged to call that function at the right time we can assum=
e
> > that type is a sensible value, and indeed setdefault makes this the
> > case.
>=20
> Right.
>=20
Ok.

> The other situation where we can get _INVALID is if libxl__domain_type
> fails, which it can do.
>=20
> I think this should be handled by having places which call
> libxl__domain_type abandon operation and return an error if the
> libxl__domain_type fails.
>=20
> If this is done, then general variables, parameters, etc. within libxl
> which are supposed to contain a libxl_domain_type will never contain
> _INVALID.
>=20
I like this. I'll chase each call to that function and have the calle
failing if a DOMAIN_TYPE_INVALID is returned. Then, if I go this way,
can I also nuke both the 'case DOMAIN_TYPE_INVALID' _and_ the default
clauses from everywhere? I seem to think I could...

Thanks and Regards,
Daio

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-q5wGFuXA3xxro+ar1/oC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk+/hK0ACgkQk4XaBE3IOsTF2wCfWAK8IbTUPtV5gk0TKFNl3zjc
qUYAniBVpnbChHpB6SDEx8uSCrvzztSH
=wqrQ
-----END PGP SIGNATURE-----

--=-q5wGFuXA3xxro+ar1/oC--



--===============0515989756864972632==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0515989756864972632==--



From xen-devel-bounces@lists.xen.org Fri May 25 13:20:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuRA-0006ZY-Qc; Fri, 25 May 2012 13:20:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SXuR9-0006ZT-5N
	for xen-devel@lists.xen.org; Fri, 25 May 2012 13:20:11 +0000
Received: from [193.109.254.147:50813] by server-2.bemta-14.messagelabs.com id
	3D/DB-19409-A078FBF4; Fri, 25 May 2012 13:20:10 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337952007!3532069!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23775 invoked from network); 25 May 2012 13:20:08 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:20:08 -0000
Received: by lbok6 with SMTP id k6so806578lbo.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 06:20:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=lqQ64xK+hgx69CCOEq/PHLriCAyDMR9Do2/MJ2J8X1s=;
	b=kAk9x9AzFaCY/zSFG/os1K6xru3PRrUCh+3ad/WanbSMpZz4kDAS8O7EJu5XBt+dLn
	EN9ZyKyRmmfiIqEpelvOhEeTwxBpPCAhlCRacJZA5A6kuczgW0nrmCxF6Zyvh7H2gc4H
	JS/Pxejwpq9bcX0F5pvAOaw+S5O0fWBx14EGD06sxkV4YYS/IuAi4FdPZud50PwTY1oP
	Unz0dCPNUA90p2LI1hhd6PAURhR19iBf+mjH77k261UTw0mhIzLYwvcfMRbhC4cbV5TW
	TmQjl4YjCw646WaT8YXdc5cHTdhj07ydEC409BmxIsLFUskZMYUIUXMrfWZnQza4JZYy
	6yiQ==
MIME-Version: 1.0
Received: by 10.112.86.105 with SMTP id o9mr1553728lbz.32.1337952007533; Fri,
	25 May 2012 06:20:07 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Fri, 25 May 2012 06:20:07 -0700 (PDT)
In-Reply-To: <4FBCC366.1060908@ts.fujitsu.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
Date: Fri, 25 May 2012 09:20:07 -0400
X-Google-Sender-Auth: mtMb0Gyon38G-5DdnIkYcl8rAOM
Message-ID: <CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Cc: xen-devel <xen-devel@lists.xen.org>, keir@xen.org,
	Jan Beulich <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

It seems to be related to the hunk in xen/common/schedule.c

If I remove the part below - I get further in the resume process, in
that the machine seems to wake up, but not be responsive.
Eventually - the watchdog fires, and reboots the machine.


Any thoughts?

/btg

Changed parts:

diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index 0854f55..95cb2b4 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
     int    ret =3D 0;

     c =3D per_cpu(cpupool, cpu);
-    if ( (c =3D=3D NULL) || (system_state =3D=3D SYS_STATE_suspend) )
+    if ( (c =3D=3D NULL) )
         return ret;

     for_each_domain_in_cpupool ( d, c )






On Wed, May 23, 2012 at 7:00 AM, Juergen Gross
<juergen.gross@ts.fujitsu.com> wrote:
> On 05/23/2012 11:39 AM, Jan Beulich wrote:
>>>>>
>>>>> On 22.05.12 at 23:00, Ben Guthro<ben@guthro.net> =A0wrote:
>>>
>>> I've bisected this to the following commit in the xen-unstable git tree.
>>>
>>> I'll be able to dive in a little deeper tomorrow.
>>> If you see anything here that looks suspicious to the crash
>>> referenced... let me know.
>>
>> As the change was really a re-write of a submission by J=FCrgen,
>> I'm adding him to Cc.
>>
>> Unless he has an immediate idea, we definitely want to
>> understand why "cpus" is empty - hence we'd want to see
>> *online, *vc->cpu_affinity, vc->cpu_id, and maybe
>> vc->processor. (Printing them is probably not a good idea
>> here, so I'd instead suggest just copying them to [additional]
>> on-stack variables, making sure the compiler doesn't optimize
>> them away.)
>>
>> Probably it would be good to also know what each active
>> vCPU's ->cpu_affinity was right before suspend and/or right
>> after resume (perhaps in freeze_domains() and/or
>> thaw_domains(). That way we'd at least know whether the
>> affinity - despite the offending changeset's inverse intention -
>> did get changed during the resume process.
>
>
> No idea, sorry.
> I tested the patch only against a problem with power_off, so I never hit =
the
> resume path.
>
>
> Juergen
>
> --
> Juergen Gross =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Principal Developer Operati=
ng Systems
> PDG ES&S SWE OS6 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Telephone: +=
49 (0) 89 3222 2967
> Fujitsu Technology Solutions =A0 =A0 =A0 =A0 =A0 =A0 =A0e-mail:
> juergen.gross@ts.fujitsu.com
> Domagkstr. 28 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Interne=
t: ts.fujitsu.com
> D-80807 Muenchen =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Company details:
> ts.fujitsu.com/imprint.html
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:20:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuRA-0006ZY-Qc; Fri, 25 May 2012 13:20:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1SXuR9-0006ZT-5N
	for xen-devel@lists.xen.org; Fri, 25 May 2012 13:20:11 +0000
Received: from [193.109.254.147:50813] by server-2.bemta-14.messagelabs.com id
	3D/DB-19409-A078FBF4; Fri, 25 May 2012 13:20:10 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337952007!3532069!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23775 invoked from network); 25 May 2012 13:20:08 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:20:08 -0000
Received: by lbok6 with SMTP id k6so806578lbo.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 06:20:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=lqQ64xK+hgx69CCOEq/PHLriCAyDMR9Do2/MJ2J8X1s=;
	b=kAk9x9AzFaCY/zSFG/os1K6xru3PRrUCh+3ad/WanbSMpZz4kDAS8O7EJu5XBt+dLn
	EN9ZyKyRmmfiIqEpelvOhEeTwxBpPCAhlCRacJZA5A6kuczgW0nrmCxF6Zyvh7H2gc4H
	JS/Pxejwpq9bcX0F5pvAOaw+S5O0fWBx14EGD06sxkV4YYS/IuAi4FdPZud50PwTY1oP
	Unz0dCPNUA90p2LI1hhd6PAURhR19iBf+mjH77k261UTw0mhIzLYwvcfMRbhC4cbV5TW
	TmQjl4YjCw646WaT8YXdc5cHTdhj07ydEC409BmxIsLFUskZMYUIUXMrfWZnQza4JZYy
	6yiQ==
MIME-Version: 1.0
Received: by 10.112.86.105 with SMTP id o9mr1553728lbz.32.1337952007533; Fri,
	25 May 2012 06:20:07 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Fri, 25 May 2012 06:20:07 -0700 (PDT)
In-Reply-To: <4FBCC366.1060908@ts.fujitsu.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
Date: Fri, 25 May 2012 09:20:07 -0400
X-Google-Sender-Auth: mtMb0Gyon38G-5DdnIkYcl8rAOM
Message-ID: <CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Juergen Gross <juergen.gross@ts.fujitsu.com>
Cc: xen-devel <xen-devel@lists.xen.org>, keir@xen.org,
	Jan Beulich <JBeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

It seems to be related to the hunk in xen/common/schedule.c

If I remove the part below - I get further in the resume process, in
that the machine seems to wake up, but not be responsive.
Eventually - the watchdog fires, and reboots the machine.


Any thoughts?

/btg

Changed parts:

diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index 0854f55..95cb2b4 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
     int    ret =3D 0;

     c =3D per_cpu(cpupool, cpu);
-    if ( (c =3D=3D NULL) || (system_state =3D=3D SYS_STATE_suspend) )
+    if ( (c =3D=3D NULL) )
         return ret;

     for_each_domain_in_cpupool ( d, c )






On Wed, May 23, 2012 at 7:00 AM, Juergen Gross
<juergen.gross@ts.fujitsu.com> wrote:
> On 05/23/2012 11:39 AM, Jan Beulich wrote:
>>>>>
>>>>> On 22.05.12 at 23:00, Ben Guthro<ben@guthro.net> =A0wrote:
>>>
>>> I've bisected this to the following commit in the xen-unstable git tree.
>>>
>>> I'll be able to dive in a little deeper tomorrow.
>>> If you see anything here that looks suspicious to the crash
>>> referenced... let me know.
>>
>> As the change was really a re-write of a submission by J=FCrgen,
>> I'm adding him to Cc.
>>
>> Unless he has an immediate idea, we definitely want to
>> understand why "cpus" is empty - hence we'd want to see
>> *online, *vc->cpu_affinity, vc->cpu_id, and maybe
>> vc->processor. (Printing them is probably not a good idea
>> here, so I'd instead suggest just copying them to [additional]
>> on-stack variables, making sure the compiler doesn't optimize
>> them away.)
>>
>> Probably it would be good to also know what each active
>> vCPU's ->cpu_affinity was right before suspend and/or right
>> after resume (perhaps in freeze_domains() and/or
>> thaw_domains(). That way we'd at least know whether the
>> affinity - despite the offending changeset's inverse intention -
>> did get changed during the resume process.
>
>
> No idea, sorry.
> I tested the patch only against a problem with power_off, so I never hit =
the
> resume path.
>
>
> Juergen
>
> --
> Juergen Gross =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Principal Developer Operati=
ng Systems
> PDG ES&S SWE OS6 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Telephone: +=
49 (0) 89 3222 2967
> Fujitsu Technology Solutions =A0 =A0 =A0 =A0 =A0 =A0 =A0e-mail:
> juergen.gross@ts.fujitsu.com
> Domagkstr. 28 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Interne=
t: ts.fujitsu.com
> D-80807 Muenchen =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Company details:
> ts.fujitsu.com/imprint.html
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:30:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:30:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXub5-0006jC-W6; Fri, 25 May 2012 13:30:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXub4-0006j7-BJ
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:30:26 +0000
Received: from [85.158.138.51:22340] by server-9.bemta-3.messagelabs.com id
	E5/B0-11033-1798FBF4; Fri, 25 May 2012 13:30:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337952623!25082381!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16923 invoked from network); 25 May 2012 13:30:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:30:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12671748"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:30:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:30:23 +0100
Date: Fri, 25 May 2012 14:30:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series was sent out two months ago and all the patches in the
series have been acked twice.
However it was never applied.
What should I do about it?

On Fri, 2 Mar 2012, Stefano Stabellini wrote:
> Hi all,
> this patch series allows tools/ to compile on ARM, mostly providing an
> empty implementation for all the arch specific functions that are needed.
> 
> 
> Changes in v6:
> 
> - rebase on 33659563f589 (this is a mercurial id).
> 
> 
> Changes in v5:
> 
> - libxc: return -1 and set errno on error;
> 
> - add few missing emacs runes in new files.
> 
> 
> Changes in v4:
> 
> - rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;
> 
> - minor compile fixes.
> 
> 
> 
> Changes in v3:
> 
> - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;
> 
> - rename xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - remove xc_nohvm, introduce xc_hvm_build_arm.c instead;
> 
> - remove "libxl: do not allocate e820 for non x86 guests.";
> 
> - introduce libxl__arch_domain_create.
> 
> 
> 
> Changes in v2:
> 
> - rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
> 
> - dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
> xen-unstable;
> 
> - define xen_callback_t as uint64_t;
> 
> - define guest_word_t as uint64_t.
> 
> 
> 
> 
> Stefano Stabellini (5):
>       arm: compile libxenguest
>       arm: compile memshr
>       arm: compile xentrace
>       arm: compile libxl
>       libxl: Introduce libxl__arch_domain_create
> 
>  tools/libxc/Makefile           |   12 +-
>  tools/libxc/xc_dom_arm.c       |   50 +++++
>  tools/libxc/xc_hvm_build.c     |  463 ----------------------------------------
>  tools/libxc/xc_hvm_build_arm.c |   61 ++++++
>  tools/libxc/xc_hvm_build_x86.c |  463 ++++++++++++++++++++++++++++++++++++++++
>  tools/libxc/xc_nomigrate.c     |   53 +++++
>  tools/libxl/Makefile           |    5 +-
>  tools/libxl/libxl_arch.h       |   22 ++
>  tools/libxl/libxl_cpuid.c      |   60 +++++
>  tools/libxl/libxl_create.c     |   11 +-
>  tools/libxl/libxl_internal.h   |    2 -
>  tools/libxl/libxl_json.c       |   60 -----
>  tools/libxl/libxl_noarch.c     |    8 +
>  tools/libxl/libxl_nocpuid.c    |    8 +-
>  tools/libxl/libxl_pci.c        |  242 ---------------------
>  tools/libxl/libxl_x86.c        |  259 ++++++++++++++++++++++
>  tools/memshr/bidir-hash.c      |   31 +++
>  tools/xentrace/xenctx.c        |   12 +
>  18 files changed, 1040 insertions(+), 782 deletions(-)
> 
> 
> Cheers,
> 
> Stefano
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:30:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:30:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXub5-0006jC-W6; Fri, 25 May 2012 13:30:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXub4-0006j7-BJ
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:30:26 +0000
Received: from [85.158.138.51:22340] by server-9.bemta-3.messagelabs.com id
	E5/B0-11033-1798FBF4; Fri, 25 May 2012 13:30:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337952623!25082381!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16923 invoked from network); 25 May 2012 13:30:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:30:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12671748"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:30:23 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:30:23 +0100
Date: Fri, 25 May 2012 14:30:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch series was sent out two months ago and all the patches in the
series have been acked twice.
However it was never applied.
What should I do about it?

On Fri, 2 Mar 2012, Stefano Stabellini wrote:
> Hi all,
> this patch series allows tools/ to compile on ARM, mostly providing an
> empty implementation for all the arch specific functions that are needed.
> 
> 
> Changes in v6:
> 
> - rebase on 33659563f589 (this is a mercurial id).
> 
> 
> Changes in v5:
> 
> - libxc: return -1 and set errno on error;
> 
> - add few missing emacs runes in new files.
> 
> 
> Changes in v4:
> 
> - rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;
> 
> - minor compile fixes.
> 
> 
> 
> Changes in v3:
> 
> - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;
> 
> - rename xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - remove xc_nohvm, introduce xc_hvm_build_arm.c instead;
> 
> - remove "libxl: do not allocate e820 for non x86 guests.";
> 
> - introduce libxl__arch_domain_create.
> 
> 
> 
> Changes in v2:
> 
> - rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
> 
> - dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
> xen-unstable;
> 
> - define xen_callback_t as uint64_t;
> 
> - define guest_word_t as uint64_t.
> 
> 
> 
> 
> Stefano Stabellini (5):
>       arm: compile libxenguest
>       arm: compile memshr
>       arm: compile xentrace
>       arm: compile libxl
>       libxl: Introduce libxl__arch_domain_create
> 
>  tools/libxc/Makefile           |   12 +-
>  tools/libxc/xc_dom_arm.c       |   50 +++++
>  tools/libxc/xc_hvm_build.c     |  463 ----------------------------------------
>  tools/libxc/xc_hvm_build_arm.c |   61 ++++++
>  tools/libxc/xc_hvm_build_x86.c |  463 ++++++++++++++++++++++++++++++++++++++++
>  tools/libxc/xc_nomigrate.c     |   53 +++++
>  tools/libxl/Makefile           |    5 +-
>  tools/libxl/libxl_arch.h       |   22 ++
>  tools/libxl/libxl_cpuid.c      |   60 +++++
>  tools/libxl/libxl_create.c     |   11 +-
>  tools/libxl/libxl_internal.h   |    2 -
>  tools/libxl/libxl_json.c       |   60 -----
>  tools/libxl/libxl_noarch.c     |    8 +
>  tools/libxl/libxl_nocpuid.c    |    8 +-
>  tools/libxl/libxl_pci.c        |  242 ---------------------
>  tools/libxl/libxl_x86.c        |  259 ++++++++++++++++++++++
>  tools/memshr/bidir-hash.c      |   31 +++
>  tools/xentrace/xenctx.c        |   12 +
>  18 files changed, 1040 insertions(+), 782 deletions(-)
> 
> 
> Cheers,
> 
> Stefano
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:32:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:32:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXucT-0006n1-TC; Fri, 25 May 2012 13:31:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SXucR-0006mj-Lj
	for xen-devel@lists.xen.org; Fri, 25 May 2012 13:31:52 +0000
Received: from [193.109.254.147:12987] by server-1.bemta-14.messagelabs.com id
	AE/96-29372-7C98FBF4; Fri, 25 May 2012 13:31:51 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337952692!10877587!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_90_100,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11499 invoked from network); 25 May 2012 13:31:34 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:31:34 -0000
Received: by ggnp1 with SMTP id p1so959377ggn.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 06:31:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=D8sqINZGuBQHwwxalrU3ppi4wvwXCpbRRzde2SS0tBI=;
	b=DD4tDWiQWY5M98uevEFDUDRJanvika9/5CrBBwrpxlo27019EzXbpgvREVeuglbk89
	cNwY/ksl/oeZVAo/DsoDI6h+IOqFKjFBZxEFOlYPCIa0rl9+Di4GdoefnbJ/V1y6UkV+
	w5C+buhwTUisACEb9IZXfGSiHEvZM/GqElL6qC5qFYsJMHCzW0nZFJFZcA8i/0qkANjO
	djNiWY1lP2ozHvfrcRTUHUVoksZ8OERmMbRuvwPoabPUwUVVMj3jJnjSdgnYuCBt2mQ7
	cl8ItbCdD2gdmi0RARByyeISXHXUoMPsqwu0S98bkRMYfjofFqwGM66EUz74rIPt++Sf
	Ldag==
MIME-Version: 1.0
Received: by 10.60.169.174 with SMTP id af14mr3216012oec.13.1337952691705;
	Fri, 25 May 2012 06:31:31 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Fri, 25 May 2012 06:31:31 -0700 (PDT)
Date: Fri, 25 May 2012 21:31:31 +0800
Message-ID: <CANdnRvObsjW+otTwOFOVL-rRQMgOZA75WrQJL5-8f_oYAYX=yQ@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xensource.com
Cc: xen-devel@lists.xen.org
Subject: [Xen-devel] The Xenoprof results
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8192834970736166345=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8192834970736166345==
Content-Type: multipart/alternative; boundary=bcaec54c5392ea589304c0dc6240

--bcaec54c5392ea589304c0dc6240
Content-Type: text/plain; charset=ISO-8859-1

Hi, All:
The dom0 kernel is centos5.5, and the Hypervisor is xen-4.1.2. The domU
kernel is centos5.5, which is installed through the virt-install command (I
think it belongs to HVM).
Then I use xenoprof to collect the cycle, retired instruction number, LLC
access number and LLC miss number information when running spec cpu 2006
benchmarks.

*I collected data for the whole system, and I only compared the speccpu
process. For xenoprof, I use active domain method, and collect data on both
dom0 and domU. But only domU has the performance information about speccpu
in VM.*
*Furthermore, there are a 30x difference with regard to the  retired
instruction number which are shown in the following. I wonder what is the
reason? I think it is due to xen virtulization. Thank you!*

PM

Cycles

Insts

MISSES

REFS

CPI

MissRate

gromacs_base.i386

6198401

4458151

106

8865

1.390352413

0.011957135

sjeng_base.i386

2848717

3031079

911

2724

0.939835946

33.4%

VM

gromacs_base.i386

295398087

151265683

33934

329494

1.952842714

0.102988218

sjeng_base.i386

167443975

106367653

52282

195747

1.574200147

0.267089662

PM













Cycles

Insts

MISSES

REFS

CPI

MissRate

soplex_base.i386

922165

760142

2594

13903

1.213148333

0.186578436

mcf_base.i386

 50646

8478

276

451

5.973814579

0.611973392

VM

   soplex_base.i386

41082192

23311208

57588

284211

1.762336469

0.202624107

mcf_base.i386

 81967004

39434857

147411

778654

2.078541936

0.189315152

--bcaec54c5392ea589304c0dc6240
Content-Type: text/html; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi, All:<div><span class=3D"Apple-style-span" style>The dom0 kernel is cent=
os5.5, and the Hypervisor is xen-4.1.2. The domU kernel is centos5.5, which=
 is installed through the virt-install command (I think it belongs to HVM).=
</span><span class=3D"Apple-style-span" style>&nbsp; &nbsp;<div>
Then I use xenoprof to collect the cycle, retired instruction number, LLC a=
ccess number and LLC miss number information when running spec cpu 2006 ben=
chmarks.</div><div><br></div></span><span class=3D"Apple-style-span" style>=
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b>I collecte=
d data for the whole system, and I only compared the speccpu process. For x=
enoprof, I use active domain method, and collect data on both dom0 and domU=
. But only domU has the performance information about speccpu in VM.</b></f=
ont><div>
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b><u>Further=
more, there are a 30x difference with regard to the &nbsp;retired instructi=
on number which are shown in the following. I wonder what is the reason? I =
think it is due to xen virtulization. Thank you!</u></b></font></div>
</span><span class=3D"Apple-style-span" style><div><br></div></span><span c=
lass=3D"Apple-style-span" style><table border=3D"0" cellspacing=3D"0" cellp=
adding=3D"0" style=3D"margin-left:4.65pt;border-collapse:collapse"><tbody><=
tr style=3D"min-height:13.5pt">
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-right=
-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-c=
olor:windowtext;border-right-color:windowtext;border-bottom-color:windowtex=
t;border-left-color:windowtext;border-top-width:1pt;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">6198401</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;background-image:initial;background-color:rgb(198,217,241);padding-=
top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heigh=
t:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">4458151</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left=
:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8865</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.390352413</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.011957135</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2848717</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;background-image:initial;background-color:rgb(198,21=
7,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">3031079</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0=
cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">911</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2724</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.939835946</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33.4%</span></p></td></tr><tr style=3D"min-height:13.5pt"><td=
 nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-l=
eft:0px;font-family:arial,sans-serif;border-right-style:solid;border-bottom=
-style:solid;border-left-style:solid;border-right-color:windowtext;border-b=
ottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border-=
top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5.=
4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">295398087</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;background-image:initial;background-color:rgb(198,217,241);paddin=
g-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-hei=
ght:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">151265683</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33934</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">329494</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.952842714</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.102988218</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">167443975</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;background-image:initial;background-color:rgb(198,=
217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106367653</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom=
:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">52282</span></p></td><td nowrap valign=3D"top" style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">195747</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.574200147</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.267089662</span></p></td></tr></tbody></table><br><div clas=
s=3D"gmail_quote"><table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" s=
tyle=3D"margin-left:4.65pt;border-collapse:collapse">
<tbody><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:solid;border-right-style:solid;border-bottom-style:sol=
id;border-left-style:solid;border-top-color:windowtext;border-right-color:w=
indowtext;border-bottom-color:windowtext;border-left-color:windowtext;borde=
r-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr><tr style=3D"min-height:13.5pt"><t=
d nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-right-style:solid;border-botto=
m-style:solid;border-left-style:solid;border-right-color:windowtext;border-=
bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt=
;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border=
-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5=
.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">922165</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">760142</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2594</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">13903</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.213148333</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.186578436</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>50646</span></p></td><td nowrap valign=3D"=
top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left=
:0px;font-family:arial,sans-serif;border-top-style:none;border-top-width:in=
itial;border-top-color:initial;border-left-style:none;border-left-width:ini=
tial;border-left-color:initial;border-bottom-style:solid;border-bottom-colo=
r:windowtext;border-bottom-width:1pt;border-right-style:solid;border-right-=
color:windowtext;border-right-width:1pt;background-image:initial;background=
-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial initial"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8478</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">276</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">451</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">5.973814579</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.611973392</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;background-image:initial;background-color:rgb(198,217,=
241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td></tr><tr style=3D"min-hei=
ght:13.5pt"><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bott=
om:0px;margin-left:0px;font-family:arial,sans-serif;border-right-style:soli=
d;border-bottom-style:solid;border-left-style:solid;border-right-color:wind=
owtext;border-bottom-color:windowtext;border-left-color:windowtext;border-r=
ight-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-top-sty=
le:none;border-top-width:initial;border-top-color:initial;padding-top:0cm;p=
adding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">41082192</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;background-image:initial;background-color:rgb(198,217,241);padding=
-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heig=
ht:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">23311208</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">57588</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">284211</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.762336469</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.202624107</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>81967004</span></p></td><td nowrap valign=
=3D"top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-top-style:none;border-top-widt=
h:initial;border-top-color:initial;border-left-style:none;border-left-width=
:initial;border-left-color:initial;border-bottom-style:solid;border-bottom-=
color:windowtext;border-bottom-width:1pt;border-right-style:solid;border-ri=
ght-color:windowtext;border-right-width:1pt;background-image:initial;backgr=
ound-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bot=
tom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial init=
ial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">39434857</span></p></td><td nowrap valign=3D"top" style=3D"ma=
rgin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family=
:arial,sans-serif;border-top-style:none;border-top-width:initial;border-top=
-color:initial;border-left-style:none;border-left-width:initial;border-left=
-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bor=
der-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext=
;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">147411</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">778654</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2.078541936</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.189315152</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr></tbody></table></div></span></div=
>

--bcaec54c5392ea589304c0dc6240--


--===============8192834970736166345==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8192834970736166345==--


From xen-devel-bounces@lists.xen.org Fri May 25 13:32:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:32:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXucT-0006n1-TC; Fri, 25 May 2012 13:31:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SXucR-0006mj-Lj
	for xen-devel@lists.xen.org; Fri, 25 May 2012 13:31:52 +0000
Received: from [193.109.254.147:12987] by server-1.bemta-14.messagelabs.com id
	AE/96-29372-7C98FBF4; Fri, 25 May 2012 13:31:51 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1337952692!10877587!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_90_100,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11499 invoked from network); 25 May 2012 13:31:34 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:31:34 -0000
Received: by ggnp1 with SMTP id p1so959377ggn.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 06:31:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=D8sqINZGuBQHwwxalrU3ppi4wvwXCpbRRzde2SS0tBI=;
	b=DD4tDWiQWY5M98uevEFDUDRJanvika9/5CrBBwrpxlo27019EzXbpgvREVeuglbk89
	cNwY/ksl/oeZVAo/DsoDI6h+IOqFKjFBZxEFOlYPCIa0rl9+Di4GdoefnbJ/V1y6UkV+
	w5C+buhwTUisACEb9IZXfGSiHEvZM/GqElL6qC5qFYsJMHCzW0nZFJFZcA8i/0qkANjO
	djNiWY1lP2ozHvfrcRTUHUVoksZ8OERmMbRuvwPoabPUwUVVMj3jJnjSdgnYuCBt2mQ7
	cl8ItbCdD2gdmi0RARByyeISXHXUoMPsqwu0S98bkRMYfjofFqwGM66EUz74rIPt++Sf
	Ldag==
MIME-Version: 1.0
Received: by 10.60.169.174 with SMTP id af14mr3216012oec.13.1337952691705;
	Fri, 25 May 2012 06:31:31 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Fri, 25 May 2012 06:31:31 -0700 (PDT)
Date: Fri, 25 May 2012 21:31:31 +0800
Message-ID: <CANdnRvObsjW+otTwOFOVL-rRQMgOZA75WrQJL5-8f_oYAYX=yQ@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xensource.com
Cc: xen-devel@lists.xen.org
Subject: [Xen-devel] The Xenoprof results
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8192834970736166345=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8192834970736166345==
Content-Type: multipart/alternative; boundary=bcaec54c5392ea589304c0dc6240

--bcaec54c5392ea589304c0dc6240
Content-Type: text/plain; charset=ISO-8859-1

Hi, All:
The dom0 kernel is centos5.5, and the Hypervisor is xen-4.1.2. The domU
kernel is centos5.5, which is installed through the virt-install command (I
think it belongs to HVM).
Then I use xenoprof to collect the cycle, retired instruction number, LLC
access number and LLC miss number information when running spec cpu 2006
benchmarks.

*I collected data for the whole system, and I only compared the speccpu
process. For xenoprof, I use active domain method, and collect data on both
dom0 and domU. But only domU has the performance information about speccpu
in VM.*
*Furthermore, there are a 30x difference with regard to the  retired
instruction number which are shown in the following. I wonder what is the
reason? I think it is due to xen virtulization. Thank you!*

PM

Cycles

Insts

MISSES

REFS

CPI

MissRate

gromacs_base.i386

6198401

4458151

106

8865

1.390352413

0.011957135

sjeng_base.i386

2848717

3031079

911

2724

0.939835946

33.4%

VM

gromacs_base.i386

295398087

151265683

33934

329494

1.952842714

0.102988218

sjeng_base.i386

167443975

106367653

52282

195747

1.574200147

0.267089662

PM













Cycles

Insts

MISSES

REFS

CPI

MissRate

soplex_base.i386

922165

760142

2594

13903

1.213148333

0.186578436

mcf_base.i386

 50646

8478

276

451

5.973814579

0.611973392

VM

   soplex_base.i386

41082192

23311208

57588

284211

1.762336469

0.202624107

mcf_base.i386

 81967004

39434857

147411

778654

2.078541936

0.189315152

--bcaec54c5392ea589304c0dc6240
Content-Type: text/html; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi, All:<div><span class=3D"Apple-style-span" style>The dom0 kernel is cent=
os5.5, and the Hypervisor is xen-4.1.2. The domU kernel is centos5.5, which=
 is installed through the virt-install command (I think it belongs to HVM).=
</span><span class=3D"Apple-style-span" style>&nbsp; &nbsp;<div>
Then I use xenoprof to collect the cycle, retired instruction number, LLC a=
ccess number and LLC miss number information when running spec cpu 2006 ben=
chmarks.</div><div><br></div></span><span class=3D"Apple-style-span" style>=
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b>I collecte=
d data for the whole system, and I only compared the speccpu process. For x=
enoprof, I use active domain method, and collect data on both dom0 and domU=
. But only domU has the performance information about speccpu in VM.</b></f=
ont><div>
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b><u>Further=
more, there are a 30x difference with regard to the &nbsp;retired instructi=
on number which are shown in the following. I wonder what is the reason? I =
think it is due to xen virtulization. Thank you!</u></b></font></div>
</span><span class=3D"Apple-style-span" style><div><br></div></span><span c=
lass=3D"Apple-style-span" style><table border=3D"0" cellspacing=3D"0" cellp=
adding=3D"0" style=3D"margin-left:4.65pt;border-collapse:collapse"><tbody><=
tr style=3D"min-height:13.5pt">
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-right=
-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-c=
olor:windowtext;border-right-color:windowtext;border-bottom-color:windowtex=
t;border-left-color:windowtext;border-top-width:1pt;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">6198401</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;background-image:initial;background-color:rgb(198,217,241);padding-=
top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heigh=
t:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">4458151</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left=
:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8865</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.390352413</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.011957135</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2848717</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;background-image:initial;background-color:rgb(198,21=
7,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">3031079</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0=
cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">911</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2724</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.939835946</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33.4%</span></p></td></tr><tr style=3D"min-height:13.5pt"><td=
 nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-l=
eft:0px;font-family:arial,sans-serif;border-right-style:solid;border-bottom=
-style:solid;border-left-style:solid;border-right-color:windowtext;border-b=
ottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border-=
top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5.=
4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">295398087</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;background-image:initial;background-color:rgb(198,217,241);paddin=
g-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-hei=
ght:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">151265683</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33934</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">329494</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.952842714</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.102988218</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">167443975</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;background-image:initial;background-color:rgb(198,=
217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106367653</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom=
:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">52282</span></p></td><td nowrap valign=3D"top" style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">195747</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.574200147</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.267089662</span></p></td></tr></tbody></table><br><div clas=
s=3D"gmail_quote"><table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" s=
tyle=3D"margin-left:4.65pt;border-collapse:collapse">
<tbody><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:solid;border-right-style:solid;border-bottom-style:sol=
id;border-left-style:solid;border-top-color:windowtext;border-right-color:w=
indowtext;border-bottom-color:windowtext;border-left-color:windowtext;borde=
r-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr><tr style=3D"min-height:13.5pt"><t=
d nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-right-style:solid;border-botto=
m-style:solid;border-left-style:solid;border-right-color:windowtext;border-=
bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt=
;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border=
-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5=
.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">922165</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">760142</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2594</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">13903</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.213148333</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.186578436</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>50646</span></p></td><td nowrap valign=3D"=
top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left=
:0px;font-family:arial,sans-serif;border-top-style:none;border-top-width:in=
itial;border-top-color:initial;border-left-style:none;border-left-width:ini=
tial;border-left-color:initial;border-bottom-style:solid;border-bottom-colo=
r:windowtext;border-bottom-width:1pt;border-right-style:solid;border-right-=
color:windowtext;border-right-width:1pt;background-image:initial;background=
-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial initial"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8478</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">276</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">451</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">5.973814579</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.611973392</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;background-image:initial;background-color:rgb(198,217,=
241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td></tr><tr style=3D"min-hei=
ght:13.5pt"><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bott=
om:0px;margin-left:0px;font-family:arial,sans-serif;border-right-style:soli=
d;border-bottom-style:solid;border-left-style:solid;border-right-color:wind=
owtext;border-bottom-color:windowtext;border-left-color:windowtext;border-r=
ight-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-top-sty=
le:none;border-top-width:initial;border-top-color:initial;padding-top:0cm;p=
adding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">41082192</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;background-image:initial;background-color:rgb(198,217,241);padding=
-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heig=
ht:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">23311208</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">57588</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">284211</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.762336469</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.202624107</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>81967004</span></p></td><td nowrap valign=
=3D"top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-top-style:none;border-top-widt=
h:initial;border-top-color:initial;border-left-style:none;border-left-width=
:initial;border-left-color:initial;border-bottom-style:solid;border-bottom-=
color:windowtext;border-bottom-width:1pt;border-right-style:solid;border-ri=
ght-color:windowtext;border-right-width:1pt;background-image:initial;backgr=
ound-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bot=
tom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial init=
ial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">39434857</span></p></td><td nowrap valign=3D"top" style=3D"ma=
rgin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family=
:arial,sans-serif;border-top-style:none;border-top-width:initial;border-top=
-color:initial;border-left-style:none;border-left-width:initial;border-left=
-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bor=
der-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext=
;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">147411</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">778654</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2.078541936</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.189315152</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr></tbody></table></div></span></div=
>

--bcaec54c5392ea589304c0dc6240--


--===============8192834970736166345==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8192834970736166345==--


From xen-devel-bounces@lists.xen.org Fri May 25 13:32:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:32:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXucT-0006mu-FF; Fri, 25 May 2012 13:31:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SXucR-0006mh-8Z
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:31:51 +0000
Received: from [193.109.254.147:49641] by server-2.bemta-14.messagelabs.com id
	14/09-19409-5C98FBF4; Fri, 25 May 2012 13:31:49 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337952693!10538721!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_90_100,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22971 invoked from network); 25 May 2012 13:31:35 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:31:35 -0000
Received: by yenq11 with SMTP id q11so494090yen.30
	for <xen-devel@lists.xensource.com>;
	Fri, 25 May 2012 06:31:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=D8sqINZGuBQHwwxalrU3ppi4wvwXCpbRRzde2SS0tBI=;
	b=DD4tDWiQWY5M98uevEFDUDRJanvika9/5CrBBwrpxlo27019EzXbpgvREVeuglbk89
	cNwY/ksl/oeZVAo/DsoDI6h+IOqFKjFBZxEFOlYPCIa0rl9+Di4GdoefnbJ/V1y6UkV+
	w5C+buhwTUisACEb9IZXfGSiHEvZM/GqElL6qC5qFYsJMHCzW0nZFJFZcA8i/0qkANjO
	djNiWY1lP2ozHvfrcRTUHUVoksZ8OERmMbRuvwPoabPUwUVVMj3jJnjSdgnYuCBt2mQ7
	cl8ItbCdD2gdmi0RARByyeISXHXUoMPsqwu0S98bkRMYfjofFqwGM66EUz74rIPt++Sf
	Ldag==
MIME-Version: 1.0
Received: by 10.60.169.174 with SMTP id af14mr3216012oec.13.1337952691705;
	Fri, 25 May 2012 06:31:31 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Fri, 25 May 2012 06:31:31 -0700 (PDT)
Date: Fri, 25 May 2012 21:31:31 +0800
Message-ID: <CANdnRvObsjW+otTwOFOVL-rRQMgOZA75WrQJL5-8f_oYAYX=yQ@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xensource.com
Cc: xen-devel@lists.xen.org
Subject: [Xen-devel] The Xenoprof results
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6307860623480805575=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6307860623480805575==
Content-Type: multipart/alternative; boundary=bcaec54c5392ea589304c0dc6240

--bcaec54c5392ea589304c0dc6240
Content-Type: text/plain; charset=ISO-8859-1

Hi, All:
The dom0 kernel is centos5.5, and the Hypervisor is xen-4.1.2. The domU
kernel is centos5.5, which is installed through the virt-install command (I
think it belongs to HVM).
Then I use xenoprof to collect the cycle, retired instruction number, LLC
access number and LLC miss number information when running spec cpu 2006
benchmarks.

*I collected data for the whole system, and I only compared the speccpu
process. For xenoprof, I use active domain method, and collect data on both
dom0 and domU. But only domU has the performance information about speccpu
in VM.*
*Furthermore, there are a 30x difference with regard to the  retired
instruction number which are shown in the following. I wonder what is the
reason? I think it is due to xen virtulization. Thank you!*

PM

Cycles

Insts

MISSES

REFS

CPI

MissRate

gromacs_base.i386

6198401

4458151

106

8865

1.390352413

0.011957135

sjeng_base.i386

2848717

3031079

911

2724

0.939835946

33.4%

VM

gromacs_base.i386

295398087

151265683

33934

329494

1.952842714

0.102988218

sjeng_base.i386

167443975

106367653

52282

195747

1.574200147

0.267089662

PM













Cycles

Insts

MISSES

REFS

CPI

MissRate

soplex_base.i386

922165

760142

2594

13903

1.213148333

0.186578436

mcf_base.i386

 50646

8478

276

451

5.973814579

0.611973392

VM

   soplex_base.i386

41082192

23311208

57588

284211

1.762336469

0.202624107

mcf_base.i386

 81967004

39434857

147411

778654

2.078541936

0.189315152

--bcaec54c5392ea589304c0dc6240
Content-Type: text/html; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi, All:<div><span class=3D"Apple-style-span" style>The dom0 kernel is cent=
os5.5, and the Hypervisor is xen-4.1.2. The domU kernel is centos5.5, which=
 is installed through the virt-install command (I think it belongs to HVM).=
</span><span class=3D"Apple-style-span" style>&nbsp; &nbsp;<div>
Then I use xenoprof to collect the cycle, retired instruction number, LLC a=
ccess number and LLC miss number information when running spec cpu 2006 ben=
chmarks.</div><div><br></div></span><span class=3D"Apple-style-span" style>=
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b>I collecte=
d data for the whole system, and I only compared the speccpu process. For x=
enoprof, I use active domain method, and collect data on both dom0 and domU=
. But only domU has the performance information about speccpu in VM.</b></f=
ont><div>
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b><u>Further=
more, there are a 30x difference with regard to the &nbsp;retired instructi=
on number which are shown in the following. I wonder what is the reason? I =
think it is due to xen virtulization. Thank you!</u></b></font></div>
</span><span class=3D"Apple-style-span" style><div><br></div></span><span c=
lass=3D"Apple-style-span" style><table border=3D"0" cellspacing=3D"0" cellp=
adding=3D"0" style=3D"margin-left:4.65pt;border-collapse:collapse"><tbody><=
tr style=3D"min-height:13.5pt">
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-right=
-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-c=
olor:windowtext;border-right-color:windowtext;border-bottom-color:windowtex=
t;border-left-color:windowtext;border-top-width:1pt;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">6198401</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;background-image:initial;background-color:rgb(198,217,241);padding-=
top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heigh=
t:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">4458151</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left=
:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8865</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.390352413</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.011957135</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2848717</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;background-image:initial;background-color:rgb(198,21=
7,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">3031079</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0=
cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">911</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2724</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.939835946</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33.4%</span></p></td></tr><tr style=3D"min-height:13.5pt"><td=
 nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-l=
eft:0px;font-family:arial,sans-serif;border-right-style:solid;border-bottom=
-style:solid;border-left-style:solid;border-right-color:windowtext;border-b=
ottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border-=
top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5.=
4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">295398087</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;background-image:initial;background-color:rgb(198,217,241);paddin=
g-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-hei=
ght:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">151265683</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33934</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">329494</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.952842714</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.102988218</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">167443975</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;background-image:initial;background-color:rgb(198,=
217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106367653</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom=
:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">52282</span></p></td><td nowrap valign=3D"top" style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">195747</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.574200147</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.267089662</span></p></td></tr></tbody></table><br><div clas=
s=3D"gmail_quote"><table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" s=
tyle=3D"margin-left:4.65pt;border-collapse:collapse">
<tbody><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:solid;border-right-style:solid;border-bottom-style:sol=
id;border-left-style:solid;border-top-color:windowtext;border-right-color:w=
indowtext;border-bottom-color:windowtext;border-left-color:windowtext;borde=
r-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr><tr style=3D"min-height:13.5pt"><t=
d nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-right-style:solid;border-botto=
m-style:solid;border-left-style:solid;border-right-color:windowtext;border-=
bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt=
;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border=
-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5=
.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">922165</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">760142</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2594</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">13903</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.213148333</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.186578436</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>50646</span></p></td><td nowrap valign=3D"=
top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left=
:0px;font-family:arial,sans-serif;border-top-style:none;border-top-width:in=
itial;border-top-color:initial;border-left-style:none;border-left-width:ini=
tial;border-left-color:initial;border-bottom-style:solid;border-bottom-colo=
r:windowtext;border-bottom-width:1pt;border-right-style:solid;border-right-=
color:windowtext;border-right-width:1pt;background-image:initial;background=
-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial initial"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8478</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">276</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">451</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">5.973814579</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.611973392</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;background-image:initial;background-color:rgb(198,217,=
241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td></tr><tr style=3D"min-hei=
ght:13.5pt"><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bott=
om:0px;margin-left:0px;font-family:arial,sans-serif;border-right-style:soli=
d;border-bottom-style:solid;border-left-style:solid;border-right-color:wind=
owtext;border-bottom-color:windowtext;border-left-color:windowtext;border-r=
ight-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-top-sty=
le:none;border-top-width:initial;border-top-color:initial;padding-top:0cm;p=
adding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">41082192</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;background-image:initial;background-color:rgb(198,217,241);padding=
-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heig=
ht:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">23311208</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">57588</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">284211</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.762336469</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.202624107</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>81967004</span></p></td><td nowrap valign=
=3D"top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-top-style:none;border-top-widt=
h:initial;border-top-color:initial;border-left-style:none;border-left-width=
:initial;border-left-color:initial;border-bottom-style:solid;border-bottom-=
color:windowtext;border-bottom-width:1pt;border-right-style:solid;border-ri=
ght-color:windowtext;border-right-width:1pt;background-image:initial;backgr=
ound-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bot=
tom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial init=
ial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">39434857</span></p></td><td nowrap valign=3D"top" style=3D"ma=
rgin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family=
:arial,sans-serif;border-top-style:none;border-top-width:initial;border-top=
-color:initial;border-left-style:none;border-left-width:initial;border-left=
-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bor=
der-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext=
;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">147411</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">778654</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2.078541936</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.189315152</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr></tbody></table></div></span></div=
>

--bcaec54c5392ea589304c0dc6240--


--===============6307860623480805575==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6307860623480805575==--


From xen-devel-bounces@lists.xen.org Fri May 25 13:32:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:32:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXucT-0006mu-FF; Fri, 25 May 2012 13:31:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SXucR-0006mh-8Z
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:31:51 +0000
Received: from [193.109.254.147:49641] by server-2.bemta-14.messagelabs.com id
	14/09-19409-5C98FBF4; Fri, 25 May 2012 13:31:49 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1337952693!10538721!1
X-Originating-IP: [209.85.213.171]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_90_100,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22971 invoked from network); 25 May 2012 13:31:35 -0000
Received: from mail-yx0-f171.google.com (HELO mail-yx0-f171.google.com)
	(209.85.213.171)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:31:35 -0000
Received: by yenq11 with SMTP id q11so494090yen.30
	for <xen-devel@lists.xensource.com>;
	Fri, 25 May 2012 06:31:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=D8sqINZGuBQHwwxalrU3ppi4wvwXCpbRRzde2SS0tBI=;
	b=DD4tDWiQWY5M98uevEFDUDRJanvika9/5CrBBwrpxlo27019EzXbpgvREVeuglbk89
	cNwY/ksl/oeZVAo/DsoDI6h+IOqFKjFBZxEFOlYPCIa0rl9+Di4GdoefnbJ/V1y6UkV+
	w5C+buhwTUisACEb9IZXfGSiHEvZM/GqElL6qC5qFYsJMHCzW0nZFJFZcA8i/0qkANjO
	djNiWY1lP2ozHvfrcRTUHUVoksZ8OERmMbRuvwPoabPUwUVVMj3jJnjSdgnYuCBt2mQ7
	cl8ItbCdD2gdmi0RARByyeISXHXUoMPsqwu0S98bkRMYfjofFqwGM66EUz74rIPt++Sf
	Ldag==
MIME-Version: 1.0
Received: by 10.60.169.174 with SMTP id af14mr3216012oec.13.1337952691705;
	Fri, 25 May 2012 06:31:31 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Fri, 25 May 2012 06:31:31 -0700 (PDT)
Date: Fri, 25 May 2012 21:31:31 +0800
Message-ID: <CANdnRvObsjW+otTwOFOVL-rRQMgOZA75WrQJL5-8f_oYAYX=yQ@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xensource.com
Cc: xen-devel@lists.xen.org
Subject: [Xen-devel] The Xenoprof results
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6307860623480805575=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6307860623480805575==
Content-Type: multipart/alternative; boundary=bcaec54c5392ea589304c0dc6240

--bcaec54c5392ea589304c0dc6240
Content-Type: text/plain; charset=ISO-8859-1

Hi, All:
The dom0 kernel is centos5.5, and the Hypervisor is xen-4.1.2. The domU
kernel is centos5.5, which is installed through the virt-install command (I
think it belongs to HVM).
Then I use xenoprof to collect the cycle, retired instruction number, LLC
access number and LLC miss number information when running spec cpu 2006
benchmarks.

*I collected data for the whole system, and I only compared the speccpu
process. For xenoprof, I use active domain method, and collect data on both
dom0 and domU. But only domU has the performance information about speccpu
in VM.*
*Furthermore, there are a 30x difference with regard to the  retired
instruction number which are shown in the following. I wonder what is the
reason? I think it is due to xen virtulization. Thank you!*

PM

Cycles

Insts

MISSES

REFS

CPI

MissRate

gromacs_base.i386

6198401

4458151

106

8865

1.390352413

0.011957135

sjeng_base.i386

2848717

3031079

911

2724

0.939835946

33.4%

VM

gromacs_base.i386

295398087

151265683

33934

329494

1.952842714

0.102988218

sjeng_base.i386

167443975

106367653

52282

195747

1.574200147

0.267089662

PM













Cycles

Insts

MISSES

REFS

CPI

MissRate

soplex_base.i386

922165

760142

2594

13903

1.213148333

0.186578436

mcf_base.i386

 50646

8478

276

451

5.973814579

0.611973392

VM

   soplex_base.i386

41082192

23311208

57588

284211

1.762336469

0.202624107

mcf_base.i386

 81967004

39434857

147411

778654

2.078541936

0.189315152

--bcaec54c5392ea589304c0dc6240
Content-Type: text/html; charset=GB2312
Content-Transfer-Encoding: quoted-printable

Hi, All:<div><span class=3D"Apple-style-span" style>The dom0 kernel is cent=
os5.5, and the Hypervisor is xen-4.1.2. The domU kernel is centos5.5, which=
 is installed through the virt-install command (I think it belongs to HVM).=
</span><span class=3D"Apple-style-span" style>&nbsp; &nbsp;<div>
Then I use xenoprof to collect the cycle, retired instruction number, LLC a=
ccess number and LLC miss number information when running spec cpu 2006 ben=
chmarks.</div><div><br></div></span><span class=3D"Apple-style-span" style>=
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b>I collecte=
d data for the whole system, and I only compared the speccpu process. For x=
enoprof, I use active domain method, and collect data on both dom0 and domU=
. But only domU has the performance information about speccpu in VM.</b></f=
ont><div>
<font class=3D"Apple-style-span" color=3D"#ff0000" size=3D"4"><b><u>Further=
more, there are a 30x difference with regard to the &nbsp;retired instructi=
on number which are shown in the following. I wonder what is the reason? I =
think it is due to xen virtulization. Thank you!</u></b></font></div>
</span><span class=3D"Apple-style-span" style><div><br></div></span><span c=
lass=3D"Apple-style-span" style><table border=3D"0" cellspacing=3D"0" cellp=
adding=3D"0" style=3D"margin-left:4.65pt;border-collapse:collapse"><tbody><=
tr style=3D"min-height:13.5pt">
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-right=
-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-c=
olor:windowtext;border-right-color:windowtext;border-bottom-color:windowtex=
t;border-left-color:windowtext;border-top-width:1pt;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:solid;border-=
right-style:solid;border-bottom-style:solid;border-top-color:windowtext;bor=
der-right-color:windowtext;border-bottom-color:windowtext;border-top-width:=
1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-style:none;b=
order-left-width:initial;border-left-color:initial;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">6198401</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;background-image:initial;background-color:rgb(198,217,241);padding-=
top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heigh=
t:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">4458151</span></p></td><td nowrap style=3D"margin-top:0px;mar=
gin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-seri=
f;border-top-style:none;border-top-width:initial;border-top-color:initial;b=
order-left-style:none;border-left-width:initial;border-left-color:initial;b=
order-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width=
:1pt;border-right-style:solid;border-right-color:windowtext;border-right-wi=
dth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left=
:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8865</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.390352413</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.011957135</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2848717</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;background-image:initial;background-color:rgb(198,21=
7,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">3031079</span></p></td><td nowrap valign=3D"top" style=3D"mar=
gin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:=
arial,sans-serif;border-top-style:none;border-top-width:initial;border-top-=
color:initial;border-left-style:none;border-left-width:initial;border-left-=
color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bord=
er-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;=
border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0=
cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">911</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2724</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.939835946</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33.4%</span></p></td></tr><tr style=3D"min-height:13.5pt"><td=
 nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-l=
eft:0px;font-family:arial,sans-serif;border-right-style:solid;border-bottom=
-style:solid;border-left-style:solid;border-right-color:windowtext;border-b=
ottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;=
border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border-=
top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5.=
4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;background-image:initial=
;background-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padd=
ing-bottom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initi=
al initial">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td></tr><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0p=
x;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans=
-serif;border-right-style:solid;border-bottom-style:solid;border-left-style=
:solid;border-right-color:windowtext;border-bottom-color:windowtext;border-=
left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border=
-left-width:1pt;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding=
-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">gromacs_base.i386</span></p></td><td nowrap style=3D"margin-t=
op:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial=
,sans-serif;border-top-style:none;border-top-width:initial;border-top-color=
:initial;border-left-style:none;border-left-width:initial;border-left-color=
:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bo=
ttom-width:1pt;border-right-style:solid;border-right-color:windowtext;borde=
r-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pa=
dding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">295398087</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;background-image:initial;background-color:rgb(198,217,241);paddin=
g-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-hei=
ght:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">151265683</span></p></td><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:none;border-top-width:initial;border-top-color:initial=
;border-left-style:none;border-left-width:initial;border-left-color:initial=
;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-wid=
th:1pt;border-right-style:solid;border-right-color:windowtext;border-right-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">33934</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">329494</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.952842714</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.102988218</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">sjeng_base.i386</span></p></td><td nowrap valign=3D"top" styl=
e=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font=
-family:arial,sans-serif;border-top-style:none;border-top-width:initial;bor=
der-top-color:initial;border-left-style:none;border-left-width:initial;bord=
er-left-color:initial;border-bottom-style:solid;border-bottom-color:windowt=
ext;border-bottom-width:1pt;border-right-style:solid;border-right-color:win=
dowtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-=
bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">167443975</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;background-image:initial;background-color:rgb(198,=
217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">106367653</span></p></td><td nowrap valign=3D"top" style=3D"m=
argin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-famil=
y:arial,sans-serif;border-top-style:none;border-top-width:initial;border-to=
p-color:initial;border-left-style:none;border-left-width:initial;border-lef=
t-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bo=
rder-bottom-width:1pt;border-right-style:solid;border-right-color:windowtex=
t;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom=
:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">52282</span></p></td><td nowrap valign=3D"top" style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">195747</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.574200147</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.267089662</span></p></td></tr></tbody></table><br><div clas=
s=3D"gmail_quote"><table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" s=
tyle=3D"margin-left:4.65pt;border-collapse:collapse">
<tbody><tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;m=
argin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-se=
rif;border-top-style:solid;border-right-style:solid;border-bottom-style:sol=
id;border-left-style:solid;border-top-color:windowtext;border-right-color:w=
indowtext;border-bottom-color:windowtext;border-left-color:windowtext;borde=
r-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;border-left-=
width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-le=
ft:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">PM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:solid;border-right-style:solid;border-bottom-style:solid;bord=
er-top-color:windowtext;border-right-color:windowtext;border-bottom-color:w=
indowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1=
pt;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;=
border-top-color:windowtext;border-right-color:windowtext;border-bottom-col=
or:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-wid=
th:1pt;border-left-style:none;border-left-width:initial;border-left-color:i=
nitial;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr><tr style=3D"min-height:13.5pt"><t=
d nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-right-style:solid;border-botto=
m-style:solid;border-left-style:solid;border-right-color:windowtext;border-=
bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt=
;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;border=
-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right:5=
.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
</td><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;=
margin-left:0px;font-family:arial,sans-serif;border-top-style:none;border-t=
op-width:initial;border-top-color:initial;border-left-style:none;border-lef=
t-width:initial;border-left-color:initial;border-bottom-style:solid;border-=
bottom-color:windowtext;border-bottom-width:1pt;border-right-style:solid;bo=
rder-right-color:windowtext;border-right-width:1pt;padding-top:0cm;padding-=
right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Cycles</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">Insts</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MISSES</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">REFS</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">CPI</span></p></td><td nowrap style=3D"margin-top:0px;margin-=
right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bo=
rder-top-style:none;border-top-width:initial;border-top-color:initial;borde=
r-left-style:none;border-left-width:initial;border-left-color:initial;borde=
r-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt=
;border-right-style:solid;border-right-color:windowtext;border-right-width:=
1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4=
pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">MissRate</span></p></td></tr><tr style=3D"min-height:13.5pt">=
<td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margi=
n-left:0px;font-family:arial,sans-serif;border-right-style:solid;border-bot=
tom-style:solid;border-left-style:solid;border-right-color:windowtext;borde=
r-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1=
pt;border-bottom-width:1pt;border-left-width:1pt;border-top-style:none;bord=
er-top-width:initial;border-top-color:initial;padding-top:0cm;padding-right=
:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">922165</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">760142</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2594</span></p></td><td nowrap style=3D"margin-top:0px;margin=
-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;b=
order-top-style:none;border-top-width:initial;border-top-color:initial;bord=
er-left-style:none;border-left-width:initial;border-left-color:initial;bord=
er-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1p=
t;border-right-style:solid;border-right-color:windowtext;border-right-width=
:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">13903</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.213148333</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.186578436</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>50646</span></p></td><td nowrap valign=3D"=
top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left=
:0px;font-family:arial,sans-serif;border-top-style:none;border-top-width:in=
itial;border-top-color:initial;border-left-style:none;border-left-width:ini=
tial;border-left-color:initial;border-bottom-style:solid;border-bottom-colo=
r:windowtext;border-bottom-width:1pt;border-right-style:solid;border-right-=
color:windowtext;border-right-width:1pt;background-image:initial;background=
-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial initial"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">8478</span></p></td><td nowrap valign=3D"top" style=3D"margin=
-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ari=
al,sans-serif;border-top-style:none;border-top-width:initial;border-top-col=
or:initial;border-left-style:none;border-left-width:initial;border-left-col=
or:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-=
bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bor=
der-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;=
padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">276</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">451</span></p></td><td nowrap valign=3D"top" style=3D"margin-=
top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:aria=
l,sans-serif;border-top-style:none;border-top-width:initial;border-top-colo=
r:initial;border-left-style:none;border-left-width:initial;border-left-colo=
r:initial;border-bottom-style:solid;border-bottom-color:windowtext;border-b=
ottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bord=
er-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;p=
adding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">5.973814579</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.611973392</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">VM</span></p></td><td nowrap style=3D"margin-top:0px;margin-r=
ight:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bor=
der-top-style:none;border-top-width:initial;border-top-color:initial;border=
-left-style:none;border-left-width:initial;border-left-color:initial;border=
-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1pt;=
border-right-style:solid;border-right-color:windowtext;border-right-width:1=
pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4p=
t;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;background-image:initial;background-color:rgb(198,217,=
241);padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.=
4pt;min-height:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td></tr><tr style=3D"min-hei=
ght:13.5pt"><td nowrap style=3D"margin-top:0px;margin-right:0px;margin-bott=
om:0px;margin-left:0px;font-family:arial,sans-serif;border-right-style:soli=
d;border-bottom-style:solid;border-left-style:solid;border-right-color:wind=
owtext;border-bottom-color:windowtext;border-left-color:windowtext;border-r=
ight-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-top-sty=
le:none;border-top-width:initial;border-top-color:initial;padding-top:0cm;p=
adding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:13.5pt"=
>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">soplex_base.i386</span></p></td><td nowrap style=3D"margin-to=
p:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,=
sans-serif;border-top-style:none;border-top-width:initial;border-top-color:=
initial;border-left-style:none;border-left-width:initial;border-left-color:=
initial;border-bottom-style:solid;border-bottom-color:windowtext;border-bot=
tom-width:1pt;border-right-style:solid;border-right-color:windowtext;border=
-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;pad=
ding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">41082192</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;background-image:initial;background-color:rgb(198,217,241);padding=
-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-heig=
ht:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">23311208</span></p></td><td nowrap style=3D"margin-top:0px;ma=
rgin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-ser=
if;border-top-style:none;border-top-width:initial;border-top-color:initial;=
border-left-style:none;border-left-width:initial;border-left-color:initial;=
border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-widt=
h:1pt;border-right-style:solid;border-right-color:windowtext;border-right-w=
idth:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-lef=
t:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">57588</span></p></td><td nowrap style=3D"margin-top:0px;margi=
n-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;=
border-top-style:none;border-top-width:initial;border-top-color:initial;bor=
der-left-style:none;border-left-width:initial;border-left-color:initial;bor=
der-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:1=
pt;border-right-style:solid;border-right-color:windowtext;border-right-widt=
h:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5=
.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">284211</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">1.762336469</span></p></td><td nowrap style=3D"margin-top:0px=
;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-=
serif;border-top-style:none;border-top-width:initial;border-top-color:initi=
al;border-left-style:none;border-left-width:initial;border-left-color:initi=
al;border-bottom-style:solid;border-bottom-color:windowtext;border-bottom-w=
idth:1pt;border-right-style:solid;border-right-color:windowtext;border-righ=
t-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-=
left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.202624107</span></p></td></tr><tr style=3D"min-height:13.5p=
t"><td nowrap valign=3D"top" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;font-family:arial,sans-serif;border-right-styl=
e:solid;border-bottom-style:solid;border-left-style:solid;border-right-colo=
r:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;bo=
rder-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;border-t=
op-style:none;border-top-width:initial;border-top-color:initial;padding-top=
:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height:1=
3.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">mcf_base.i386</span></p></td><td nowrap valign=3D"top" style=
=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-=
family:arial,sans-serif;border-top-style:none;border-top-width:initial;bord=
er-top-color:initial;border-left-style:none;border-left-width:initial;borde=
r-left-color:initial;border-bottom-style:solid;border-bottom-color:windowte=
xt;border-bottom-width:1pt;border-right-style:solid;border-right-color:wind=
owtext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-b=
ottom:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US"><span>&nbsp;</span>81967004</span></p></td><td nowrap valign=
=3D"top" style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;font-family:arial,sans-serif;border-top-style:none;border-top-widt=
h:initial;border-top-color:initial;border-left-style:none;border-left-width=
:initial;border-left-color:initial;border-bottom-style:solid;border-bottom-=
color:windowtext;border-bottom-width:1pt;border-right-style:solid;border-ri=
ght-color:windowtext;border-right-width:1pt;background-image:initial;backgr=
ound-color:rgb(198,217,241);padding-top:0cm;padding-right:5.4pt;padding-bot=
tom:0cm;padding-left:5.4pt;min-height:13.5pt;background-repeat:initial init=
ial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">39434857</span></p></td><td nowrap valign=3D"top" style=3D"ma=
rgin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family=
:arial,sans-serif;border-top-style:none;border-top-width:initial;border-top=
-color:initial;border-left-style:none;border-left-width:initial;border-left=
-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;bor=
der-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext=
;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:=
0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">147411</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">778654</span></p></td><td nowrap valign=3D"top" style=3D"marg=
in-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:a=
rial,sans-serif;border-top-style:none;border-top-width:initial;border-top-c=
olor:initial;border-left-style:none;border-left-width:initial;border-left-c=
olor:initial;border-bottom-style:solid;border-bottom-color:windowtext;borde=
r-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;b=
order-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0c=
m;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">2.078541936</span></p></td><td nowrap valign=3D"top" style=3D=
"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-fam=
ily:arial,sans-serif;border-top-style:none;border-top-width:initial;border-=
top-color:initial;border-left-style:none;border-left-width:initial;border-l=
eft-color:initial;border-bottom-style:solid;border-bottom-color:windowtext;=
border-bottom-width:1pt;border-right-style:solid;border-right-color:windowt=
ext;border-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bott=
om:0cm;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">0.189315152</span><span lang=3D"EN-US"></span></p></td></tr><=
tr style=3D"min-height:13.5pt"><td nowrap style=3D"margin-top:0px;margin-ri=
ght:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif;bord=
er-right-style:solid;border-bottom-style:solid;border-left-style:solid;bord=
er-right-color:windowtext;border-bottom-color:windowtext;border-left-color:=
windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width=
:1pt;border-top-style:none;border-top-width:initial;border-top-color:initia=
l;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt=
;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span>=
=A1=A1</span><span lang=3D"EN-US"></span></p></td><td nowrap style=3D"margi=
n-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:ar=
ial,sans-serif;border-top-style:none;border-top-width:initial;border-top-co=
lor:initial;border-left-style:none;border-left-width:initial;border-left-co=
lor:initial;border-bottom-style:solid;border-bottom-color:windowtext;border=
-bottom-width:1pt;border-right-style:solid;border-right-color:windowtext;bo=
rder-right-width:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm=
;padding-left:5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;background-image:initial;background-color:rgb(198,217,241);padding-t=
op:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:5.4pt;min-height=
:13.5pt;background-repeat:initial initial">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td><td nowrap style=3D"margin-top:0px;marg=
in-right:0px;margin-bottom:0px;margin-left:0px;font-family:arial,sans-serif=
;border-top-style:none;border-top-width:initial;border-top-color:initial;bo=
rder-left-style:none;border-left-width:initial;border-left-color:initial;bo=
rder-bottom-style:solid;border-bottom-color:windowtext;border-bottom-width:=
1pt;border-right-style:solid;border-right-color:windowtext;border-right-wid=
th:1pt;padding-top:0cm;padding-right:5.4pt;padding-bottom:0cm;padding-left:=
5.4pt;min-height:13.5pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US">&nbsp;</span></p></td></tr></tbody></table></div></span></div=
>

--bcaec54c5392ea589304c0dc6240--


--===============6307860623480805575==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6307860623480805575==--


From xen-devel-bounces@lists.xen.org Fri May 25 13:38:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:38:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuim-0007D7-6J; Fri, 25 May 2012 13:38:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXuik-0007Cz-Mz
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:38:22 +0000
Received: from [193.109.254.147:44187] by server-9.bemta-14.messagelabs.com id
	30/D6-05787-E4B8FBF4; Fri, 25 May 2012 13:38:22 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337953099!11234681!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22295 invoked from network); 25 May 2012 13:38:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:38:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="25756407"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:38:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 09:38:19 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXuig-0008BP-NW;
	Fri, 25 May 2012 14:38:18 +0100
Message-ID: <4FBF8B49.1080003@citrix.com>
Date: Fri, 25 May 2012 14:38:17 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <E1STyDY-0007RL-8b@xenbits.xen.org>
	<1337949759.22311.33.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337949759.22311.33.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [Xen-staging] [xen-unstable] autoconf: check for
 dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Mon, 2012-05-14 at 17:33 +0100, Xen patchbot-unstable wrote:
>> # HG changeset patch
>> # User Roger Pau Monne<roger.pau@citrix.com>
>> # Date 1337008959 -3600
>> # Node ID dfe39bd65137a97d18f0ee7d155d3755ae5530b4
>> # Parent  49ce39c88aeeb0ba58e4f0e2bf865f6981f6e99d
>> autoconf: check for dev86 and iasl on x86* only
>>
>> Check for this tools on x86 systems only.
>>
>> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
>> Acked-by: Ian Jackson<ian.jackson@eu.citrix.com>
>> Committed-by: Ian Jackson<ian.jackson@eu.citrix.com>
>> ---
>>
>>
>> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure
>> --- a/tools/configure	Mon May 14 16:20:33 2012 +0100
>> +++ b/tools/configure	Mon May 14 16:22:39 2012 +0100
>> @@ -2622,9 +2622,14 @@ LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPE
>>
>>
>>
>> -
>> -
>> -
>> +case "$host_cpu" in
>> +i[3456]86|x86_64)
>> +
>> +
>> +
>> +
>> +    ;;
>> +esac
>
> This seems like a strange result from the change below, or is XC_ARG_VAR
> weird in some way? On ARM I still see the configure option:
>          ianc@army:xen-unstable$ ./configure --help | grep iasl
>            IASL        Path to iasl tool
>          ianc@army:xen-unstable$ uname -m
>          armv7l
>
> The thing I actually noticed was that we still have
>          AX_PATH_PROG_OR_FAIL([AS86], [as86])
>          AX_PATH_PROG_OR_FAIL([LD86], [ld86])
>          AX_PATH_PROG_OR_FAIL([BCC], [bcc])
>          AX_PATH_PROG_OR_FAIL([IASL], [iasl])
>
> Is that expected? I don't think it is... Should these not be the ones
> which are conditional?

It is a conditional, but since the script is the same for all 
architectures and arch is not checked when doing a "configure --help", 
all the possible options are printed, even those that don't apply to a 
system. I will try to check if there's a better way to hide them, but 
I'm not sure.

>>
>>   # Checks for programs.
>>   ac_ext=c
>> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure.ac
>> --- a/tools/configure.ac	Mon May 14 16:20:33 2012 +0100
>> +++ b/tools/configure.ac	Mon May 14 16:22:39 2012 +0100
>> @@ -67,10 +67,16 @@ AC_ARG_VAR([CURL], [Path to curl-config
>>   AC_ARG_VAR([XML], [Path to xml2-config tool])
>>   AC_ARG_VAR([BASH], [Path to bash shell])
>>   AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
>> -AC_ARG_VAR([AS86], [Path to as86 tool])
>> -AC_ARG_VAR([LD86], [Path to ld86 tool])
>> -AC_ARG_VAR([BCC], [Path to bcc tool])
>> -AC_ARG_VAR([IASL], [Path to iasl tool])
>> +
>> +dnl as86, ld86, bcc and iasl are only present in x86* systems
>> +case "$host_cpu" in
>> +i[[3456]]86|x86_64)
>> +    AC_ARG_VAR([AS86], [Path to as86 tool])
>> +    AC_ARG_VAR([LD86], [Path to ld86 tool])
>> +    AC_ARG_VAR([BCC], [Path to bcc tool])
>> +    AC_ARG_VAR([IASL], [Path to iasl tool])
>> +    ;;
>> +esac
>>
>>   # Checks for programs.
>>   AC_PROG_CC
>>

I don't know why, but I think my previous patch missed to also make the 
actual check conditional, so the applied patch was useless. This should 
fix it:

8<----------------------------------------------------------

autoconf: disable dev86 and iasl checks on arm

Run autogen after applying this patch.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
  tools/configure.ac |   13 +++++++++----
  1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/tools/configure.ac b/tools/configure.ac
index 706ee13..f7aa9b8 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -109,10 +109,15 @@ AS_IF([test "x$pythontools" = "xy"], [
      AX_CHECK_PYTHON_DEVEL()
  ])
  AX_PATH_PROG_OR_FAIL([XGETTEXT], [xgettext])
-AX_PATH_PROG_OR_FAIL([AS86], [as86])
-AX_PATH_PROG_OR_FAIL([LD86], [ld86])
-AX_PATH_PROG_OR_FAIL([BCC], [bcc])
-AX_PATH_PROG_OR_FAIL([IASL], [iasl])
+dnl as86, ld86, bcc and iasl are only present in x86* systems
+case "$host_cpu" in
+i[[3456]]86|x86_64)
+    AX_PATH_PROG_OR_FAIL([AS86], [as86])
+    AX_PATH_PROG_OR_FAIL([LD86], [ld86])
+    AX_PATH_PROG_OR_FAIL([BCC], [bcc])
+    AX_PATH_PROG_OR_FAIL([IASL], [iasl])
+    ;;
+esac
  AX_CHECK_UUID
  AX_CHECK_CURSES
  PKG_CHECK_MODULES(glib, glib-2.0)
-- 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:38:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:38:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuim-0007D7-6J; Fri, 25 May 2012 13:38:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXuik-0007Cz-Mz
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:38:22 +0000
Received: from [193.109.254.147:44187] by server-9.bemta-14.messagelabs.com id
	30/D6-05787-E4B8FBF4; Fri, 25 May 2012 13:38:22 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1337953099!11234681!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22295 invoked from network); 25 May 2012 13:38:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:38:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="25756407"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 09:38:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 09:38:19 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXuig-0008BP-NW;
	Fri, 25 May 2012 14:38:18 +0100
Message-ID: <4FBF8B49.1080003@citrix.com>
Date: Fri, 25 May 2012 14:38:17 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <E1STyDY-0007RL-8b@xenbits.xen.org>
	<1337949759.22311.33.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337949759.22311.33.camel@zakaz.uk.xensource.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [Xen-staging] [xen-unstable] autoconf: check for
 dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Mon, 2012-05-14 at 17:33 +0100, Xen patchbot-unstable wrote:
>> # HG changeset patch
>> # User Roger Pau Monne<roger.pau@citrix.com>
>> # Date 1337008959 -3600
>> # Node ID dfe39bd65137a97d18f0ee7d155d3755ae5530b4
>> # Parent  49ce39c88aeeb0ba58e4f0e2bf865f6981f6e99d
>> autoconf: check for dev86 and iasl on x86* only
>>
>> Check for this tools on x86 systems only.
>>
>> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
>> Acked-by: Ian Jackson<ian.jackson@eu.citrix.com>
>> Committed-by: Ian Jackson<ian.jackson@eu.citrix.com>
>> ---
>>
>>
>> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure
>> --- a/tools/configure	Mon May 14 16:20:33 2012 +0100
>> +++ b/tools/configure	Mon May 14 16:22:39 2012 +0100
>> @@ -2622,9 +2622,14 @@ LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPE
>>
>>
>>
>> -
>> -
>> -
>> +case "$host_cpu" in
>> +i[3456]86|x86_64)
>> +
>> +
>> +
>> +
>> +    ;;
>> +esac
>
> This seems like a strange result from the change below, or is XC_ARG_VAR
> weird in some way? On ARM I still see the configure option:
>          ianc@army:xen-unstable$ ./configure --help | grep iasl
>            IASL        Path to iasl tool
>          ianc@army:xen-unstable$ uname -m
>          armv7l
>
> The thing I actually noticed was that we still have
>          AX_PATH_PROG_OR_FAIL([AS86], [as86])
>          AX_PATH_PROG_OR_FAIL([LD86], [ld86])
>          AX_PATH_PROG_OR_FAIL([BCC], [bcc])
>          AX_PATH_PROG_OR_FAIL([IASL], [iasl])
>
> Is that expected? I don't think it is... Should these not be the ones
> which are conditional?

It is a conditional, but since the script is the same for all 
architectures and arch is not checked when doing a "configure --help", 
all the possible options are printed, even those that don't apply to a 
system. I will try to check if there's a better way to hide them, but 
I'm not sure.

>>
>>   # Checks for programs.
>>   ac_ext=c
>> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure.ac
>> --- a/tools/configure.ac	Mon May 14 16:20:33 2012 +0100
>> +++ b/tools/configure.ac	Mon May 14 16:22:39 2012 +0100
>> @@ -67,10 +67,16 @@ AC_ARG_VAR([CURL], [Path to curl-config
>>   AC_ARG_VAR([XML], [Path to xml2-config tool])
>>   AC_ARG_VAR([BASH], [Path to bash shell])
>>   AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
>> -AC_ARG_VAR([AS86], [Path to as86 tool])
>> -AC_ARG_VAR([LD86], [Path to ld86 tool])
>> -AC_ARG_VAR([BCC], [Path to bcc tool])
>> -AC_ARG_VAR([IASL], [Path to iasl tool])
>> +
>> +dnl as86, ld86, bcc and iasl are only present in x86* systems
>> +case "$host_cpu" in
>> +i[[3456]]86|x86_64)
>> +    AC_ARG_VAR([AS86], [Path to as86 tool])
>> +    AC_ARG_VAR([LD86], [Path to ld86 tool])
>> +    AC_ARG_VAR([BCC], [Path to bcc tool])
>> +    AC_ARG_VAR([IASL], [Path to iasl tool])
>> +    ;;
>> +esac
>>
>>   # Checks for programs.
>>   AC_PROG_CC
>>

I don't know why, but I think my previous patch missed to also make the 
actual check conditional, so the applied patch was useless. This should 
fix it:

8<----------------------------------------------------------

autoconf: disable dev86 and iasl checks on arm

Run autogen after applying this patch.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
  tools/configure.ac |   13 +++++++++----
  1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/tools/configure.ac b/tools/configure.ac
index 706ee13..f7aa9b8 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -109,10 +109,15 @@ AS_IF([test "x$pythontools" = "xy"], [
      AX_CHECK_PYTHON_DEVEL()
  ])
  AX_PATH_PROG_OR_FAIL([XGETTEXT], [xgettext])
-AX_PATH_PROG_OR_FAIL([AS86], [as86])
-AX_PATH_PROG_OR_FAIL([LD86], [ld86])
-AX_PATH_PROG_OR_FAIL([BCC], [bcc])
-AX_PATH_PROG_OR_FAIL([IASL], [iasl])
+dnl as86, ld86, bcc and iasl are only present in x86* systems
+case "$host_cpu" in
+i[[3456]]86|x86_64)
+    AX_PATH_PROG_OR_FAIL([AS86], [as86])
+    AX_PATH_PROG_OR_FAIL([LD86], [ld86])
+    AX_PATH_PROG_OR_FAIL([BCC], [bcc])
+    AX_PATH_PROG_OR_FAIL([IASL], [iasl])
+    ;;
+esac
  AX_CHECK_UUID
  AX_CHECK_CURSES
  PKG_CHECK_MODULES(glib, glib-2.0)
-- 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:39:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuj9-0007Em-Jb; Fri, 25 May 2012 13:38:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXuj8-0007Ed-NS
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:38:46 +0000
Received: from [193.109.254.147:53047] by server-7.bemta-14.messagelabs.com id
	BB/1E-01627-66B8FBF4; Fri, 25 May 2012 13:38:46 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337953124!10347532!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17050 invoked from network); 25 May 2012 13:38:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:38:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672245"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:38:44 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:38:44 +0100
Date: Fri, 25 May 2012 14:38:38 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1331717212.23971.336.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251438200.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-3-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331717212.23971.336.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 03/11] arm: support fewer LR registers
 than virtual irqs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 14 Mar 2012, Ian Campbell wrote:
> On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > @@ -247,6 +256,8 @@ static void __cpuinit gic_hyp_init(void)
>  
> >      GICH[GICH_HCR] = GICH_HCR_EN;
> >      GICH[GICH_MISR] = GICH_MISR_EOI;
> > +    gic.lr_mask = 0ULL;
> > +    INIT_LIST_HEAD(&gic.lr_pending);
> 
> 
> I'm not sure this is the correct place for this initialisation.
> 
> In Tim's SMP series he added a call to this from gic_init_secondary_cpu,
> this made sense to me because until now this function has only
> initialised the per-CPU GICH registers.
> 
> However you are now adding a global gic initialiser. I think either this
> initialisation would be better off in gic_init() or we need a new
> datastructure for per-CPU git information.

yes, I'll move it to gic_init

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:39:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuj9-0007Em-Jb; Fri, 25 May 2012 13:38:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXuj8-0007Ed-NS
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:38:46 +0000
Received: from [193.109.254.147:53047] by server-7.bemta-14.messagelabs.com id
	BB/1E-01627-66B8FBF4; Fri, 25 May 2012 13:38:46 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337953124!10347532!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17050 invoked from network); 25 May 2012 13:38:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:38:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672245"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:38:44 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:38:44 +0100
Date: Fri, 25 May 2012 14:38:38 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1331717212.23971.336.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251438200.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-3-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331717212.23971.336.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 03/11] arm: support fewer LR registers
 than virtual irqs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 14 Mar 2012, Ian Campbell wrote:
> On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > @@ -247,6 +256,8 @@ static void __cpuinit gic_hyp_init(void)
>  
> >      GICH[GICH_HCR] = GICH_HCR_EN;
> >      GICH[GICH_MISR] = GICH_MISR_EOI;
> > +    gic.lr_mask = 0ULL;
> > +    INIT_LIST_HEAD(&gic.lr_pending);
> 
> 
> I'm not sure this is the correct place for this initialisation.
> 
> In Tim's SMP series he added a call to this from gic_init_secondary_cpu,
> this made sense to me because until now this function has only
> initialised the per-CPU GICH registers.
> 
> However you are now adding a global gic initialiser. I think either this
> initialisation would be better off in gic_init() or we need a new
> datastructure for per-CPU git information.

yes, I'll move it to gic_init

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:44:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuoS-0007UT-BT; Fri, 25 May 2012 13:44:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXuoR-0007UL-6L
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:44:15 +0000
Received: from [193.109.254.147:12512] by server-8.bemta-14.messagelabs.com id
	AF/92-23244-EAC8FBF4; Fri, 25 May 2012 13:44:14 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337953453!11167868!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16429 invoked from network); 25 May 2012 13:44:13 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:44:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672395"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:44:13 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:44:12 +0100
Date: Fri, 25 May 2012 14:44:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1331658363.23971.322.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251444000.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331658363.23971.322.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 05/11] arm: shared_info page allocation
	and mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 13 Mar 2012, Ian Campbell wrote:
> On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > Allocate the shared_info page at domain creation.
> > 
> > Implement arch_memory_op, only for XENMEM_add_to_physmap with space ==
> > XENMAPSPACE_shared_info, so that the guest can map the shared_info page.
> > 
> > Changes in v3:
> > 
> > - /MEMF_bits(32)/MEMF_bits(64);
> 
> I think MEMF_bits(64) is wrong. If you want no limit (which I think is
> the case here) then you can just pass 0.

OK

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:44:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuoS-0007UT-BT; Fri, 25 May 2012 13:44:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXuoR-0007UL-6L
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:44:15 +0000
Received: from [193.109.254.147:12512] by server-8.bemta-14.messagelabs.com id
	AF/92-23244-EAC8FBF4; Fri, 25 May 2012 13:44:14 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337953453!11167868!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16429 invoked from network); 25 May 2012 13:44:13 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:44:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672395"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:44:13 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:44:12 +0100
Date: Fri, 25 May 2012 14:44:07 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1331658363.23971.322.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251444000.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331658363.23971.322.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 05/11] arm: shared_info page allocation
	and mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 13 Mar 2012, Ian Campbell wrote:
> On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > Allocate the shared_info page at domain creation.
> > 
> > Implement arch_memory_op, only for XENMEM_add_to_physmap with space ==
> > XENMAPSPACE_shared_info, so that the guest can map the shared_info page.
> > 
> > Changes in v3:
> > 
> > - /MEMF_bits(32)/MEMF_bits(64);
> 
> I think MEMF_bits(64) is wrong. If you want no limit (which I think is
> the case here) then you can just pass 0.

OK

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:49:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXutF-0007d4-2L; Fri, 25 May 2012 13:49:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXutD-0007cy-S4
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:49:12 +0000
Received: from [85.158.143.99:35921] by server-2.bemta-4.messagelabs.com id
	A6/58-12211-7DD8FBF4; Fri, 25 May 2012 13:49:11 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337953747!29252896!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21259 invoked from network); 25 May 2012 13:49:08 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 13:49:08 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PDn1jn028632
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 13:49:02 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PDn0el005084
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 13:49:01 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PDn0sA006104; Fri, 25 May 2012 08:49:00 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 06:49:00 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 867614027D; Fri, 25 May 2012 09:42:31 -0400 (EDT)
Date: Fri, 25 May 2012 09:42:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120525134231.GB21763@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
	<20120524182817.GM24934@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
	<alpine.DEB.2.00.1205251018550.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205251018550.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 10:19:10AM +0100, Stefano Stabellini wrote:
> On Fri, 25 May 2012, Stefano Stabellini wrote:
> > > @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
> > >  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
> > >  
> > >  		bind_evtchn_to_cpu(evtchn, cpu);
> > > +	} else {
> > > +		struct irq_info *info = info_for_irq(irq);
> > > +		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
> > >  	}
> > > -
> > >  out:
> > >  	mutex_unlock(&irq_mapping_update_lock);
> > >  
> > 
> > I don't want to nitpick but you removed 2 out of 3 spaced before the out
> > label.
> 
> I meant newlines.

Good eyes! The final version will have those unmolested.

> 
> > In any case:
> > 
> > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:49:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXutF-0007d4-2L; Fri, 25 May 2012 13:49:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXutD-0007cy-S4
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:49:12 +0000
Received: from [85.158.143.99:35921] by server-2.bemta-4.messagelabs.com id
	A6/58-12211-7DD8FBF4; Fri, 25 May 2012 13:49:11 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337953747!29252896!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21259 invoked from network); 25 May 2012 13:49:08 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 13:49:08 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PDn1jn028632
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 13:49:02 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PDn0el005084
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 13:49:01 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PDn0sA006104; Fri, 25 May 2012 08:49:00 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 06:49:00 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 867614027D; Fri, 25 May 2012 09:42:31 -0400 (EDT)
Date: Fri, 25 May 2012 09:42:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Message-ID: <20120525134231.GB21763@phenom.dumpdata.com>
References: <1337795222-29946-1-git-send-email-konrad.wilk@oracle.com>
	<1337795222-29946-5-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205241154150.26786@kaball-desktop>
	<20120524182817.GM24934@phenom.dumpdata.com>
	<alpine.DEB.2.00.1205251016370.26786@kaball-desktop>
	<alpine.DEB.2.00.1205251018550.26786@kaball-desktop>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.00.1205251018550.26786@kaball-desktop>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick
 lookup found invalid type.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 10:19:10AM +0100, Stefano Stabellini wrote:
> On Fri, 25 May 2012, Stefano Stabellini wrote:
> > > @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
> > >  		xen_irq_info_virq_init(cpu, irq, evtchn, virq);
> > >  
> > >  		bind_evtchn_to_cpu(evtchn, cpu);
> > > +	} else {
> > > +		struct irq_info *info = info_for_irq(irq);
> > > +		WARN_ON(info == NULL || info->type != IRQT_VIRQ);
> > >  	}
> > > -
> > >  out:
> > >  	mutex_unlock(&irq_mapping_update_lock);
> > >  
> > 
> > I don't want to nitpick but you removed 2 out of 3 spaced before the out
> > label.
> 
> I meant newlines.

Good eyes! The final version will have those unmolested.

> 
> > In any case:
> > 
> > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:55:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuyp-0007nO-RJ; Fri, 25 May 2012 13:54:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXuyo-0007nJ-JO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:54:58 +0000
Received: from [193.109.254.147:62110] by server-2.bemta-14.messagelabs.com id
	1A/D1-19409-13F8FBF4; Fri, 25 May 2012 13:54:57 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337954097!10350985!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23359 invoked from network); 25 May 2012 13:54:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:54:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672700"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:54:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:54:57 +0100
Date: Fri, 25 May 2012 14:54:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1331717930.23971.341.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251451170.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331717930.23971.341.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 05/11] arm: shared_info page allocation
	and mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 14 Mar 2012, Ian Campbell wrote:
> On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > @@ -118,7 +118,12 @@ static int create_p2m_entries(struct domain *d,
> >          }
> >          /* else: third already valid */
> >  
> > -        BUG_ON(third[third_table_offset(addr)].p2m.valid);
> > +        if ( third[third_table_offset(addr)].p2m.valid )
> > +        {
> > +            /* p2m entry already present */
> > +            free_domheap_page(
> > +                    mfn_to_page(third[third_table_offset(addr)].p2m.base));
> > +        }
> 
> If there was already an entry here don't we need to do something with
> whatever it points to? Either free it or deref or something?

We are already doing something: we are free'ing the old page. There is
no need to do anything to the p2m entry because it is going to be
overwritten by the new one few lines below.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:55:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXuyp-0007nO-RJ; Fri, 25 May 2012 13:54:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXuyo-0007nJ-JO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:54:58 +0000
Received: from [193.109.254.147:62110] by server-2.bemta-14.messagelabs.com id
	1A/D1-19409-13F8FBF4; Fri, 25 May 2012 13:54:57 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337954097!10350985!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23359 invoked from network); 25 May 2012 13:54:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:54:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672700"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:54:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 14:54:57 +0100
Date: Fri, 25 May 2012 14:54:51 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1331717930.23971.341.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251451170.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331717930.23971.341.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 05/11] arm: shared_info page allocation
	and mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 14 Mar 2012, Ian Campbell wrote:
> On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > @@ -118,7 +118,12 @@ static int create_p2m_entries(struct domain *d,
> >          }
> >          /* else: third already valid */
> >  
> > -        BUG_ON(third[third_table_offset(addr)].p2m.valid);
> > +        if ( third[third_table_offset(addr)].p2m.valid )
> > +        {
> > +            /* p2m entry already present */
> > +            free_domheap_page(
> > +                    mfn_to_page(third[third_table_offset(addr)].p2m.base));
> > +        }
> 
> If there was already an entry here don't we need to do something with
> whatever it points to? Either free it or deref or something?

We are already doing something: we are free'ing the old page. There is
no need to do anything to the p2m entry because it is going to be
overwritten by the new one few lines below.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:56:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXv0R-0007rn-Aa; Fri, 25 May 2012 13:56:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXv0Q-0007rg-1X
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:56:38 +0000
Received: from [85.158.139.83:5899] by server-1.bemta-5.messagelabs.com id
	B5/15-21549-59F8FBF4; Fri, 25 May 2012 13:56:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337954196!26096828!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13769 invoked from network); 25 May 2012 13:56:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:56:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672730"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:56:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 14:56:33 +0100
Message-ID: <1337954191.22311.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 25 May 2012 14:56:31 +0100
In-Reply-To: <4FBF8B49.1080003@citrix.com>
References: <E1STyDY-0007RL-8b@xenbits.xen.org>
	<1337949759.22311.33.camel@zakaz.uk.xensource.com>
	<4FBF8B49.1080003@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [Xen-staging] [xen-unstable] autoconf: check for
 dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:38 +0100, Roger Pau Monne wrote:
> > Is that expected? I don't think it is... Should these not be the ones
> > which are conditional?
> 
> It is a conditional, but since the script is the same for all 
> architectures and arch is not checked when doing a "configure --help", 
> all the possible options are printed, even those that don't apply to a 
> system. I will try to check if there's a better way to hide them, but 
> I'm not sure.

If not then I guess the original patch should be reverted?

> >>
> >>   # Checks for programs.
> >>   ac_ext=c
> >> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure.ac
> >> --- a/tools/configure.ac	Mon May 14 16:20:33 2012 +0100
> >> +++ b/tools/configure.ac	Mon May 14 16:22:39 2012 +0100
> >> @@ -67,10 +67,16 @@ AC_ARG_VAR([CURL], [Path to curl-config
> >>   AC_ARG_VAR([XML], [Path to xml2-config tool])
> >>   AC_ARG_VAR([BASH], [Path to bash shell])
> >>   AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
> >> -AC_ARG_VAR([AS86], [Path to as86 tool])
> >> -AC_ARG_VAR([LD86], [Path to ld86 tool])
> >> -AC_ARG_VAR([BCC], [Path to bcc tool])
> >> -AC_ARG_VAR([IASL], [Path to iasl tool])
> >> +
> >> +dnl as86, ld86, bcc and iasl are only present in x86* systems
> >> +case "$host_cpu" in
> >> +i[[3456]]86|x86_64)
> >> +    AC_ARG_VAR([AS86], [Path to as86 tool])
> >> +    AC_ARG_VAR([LD86], [Path to ld86 tool])
> >> +    AC_ARG_VAR([BCC], [Path to bcc tool])
> >> +    AC_ARG_VAR([IASL], [Path to iasl tool])
> >> +    ;;
> >> +esac
> >>
> >>   # Checks for programs.
> >>   AC_PROG_CC
> >>
> 
> I don't know why, but I think my previous patch missed to also make the 
> actual check conditional, so the applied patch was useless. This should 
> fix it:
> 
> 8<----------------------------------------------------------
> 
> autoconf: disable dev86 and iasl checks on arm
> 
> Run autogen after applying this patch.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

Looks good to me
Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>   tools/configure.ac |   13 +++++++++----
>   1 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/configure.ac b/tools/configure.ac
> index 706ee13..f7aa9b8 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -109,10 +109,15 @@ AS_IF([test "x$pythontools" = "xy"], [
>       AX_CHECK_PYTHON_DEVEL()
>   ])
>   AX_PATH_PROG_OR_FAIL([XGETTEXT], [xgettext])
> -AX_PATH_PROG_OR_FAIL([AS86], [as86])
> -AX_PATH_PROG_OR_FAIL([LD86], [ld86])
> -AX_PATH_PROG_OR_FAIL([BCC], [bcc])
> -AX_PATH_PROG_OR_FAIL([IASL], [iasl])
> +dnl as86, ld86, bcc and iasl are only present in x86* systems
> +case "$host_cpu" in
> +i[[3456]]86|x86_64)
> +    AX_PATH_PROG_OR_FAIL([AS86], [as86])
> +    AX_PATH_PROG_OR_FAIL([LD86], [ld86])
> +    AX_PATH_PROG_OR_FAIL([BCC], [bcc])
> +    AX_PATH_PROG_OR_FAIL([IASL], [iasl])
> +    ;;
> +esac
>   AX_CHECK_UUID
>   AX_CHECK_CURSES
>   PKG_CHECK_MODULES(glib, glib-2.0)
> -- 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:56:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXv0R-0007rn-Aa; Fri, 25 May 2012 13:56:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXv0Q-0007rg-1X
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:56:38 +0000
Received: from [85.158.139.83:5899] by server-1.bemta-5.messagelabs.com id
	B5/15-21549-59F8FBF4; Fri, 25 May 2012 13:56:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337954196!26096828!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13769 invoked from network); 25 May 2012 13:56:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:56:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672730"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:56:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 14:56:33 +0100
Message-ID: <1337954191.22311.35.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 25 May 2012 14:56:31 +0100
In-Reply-To: <4FBF8B49.1080003@citrix.com>
References: <E1STyDY-0007RL-8b@xenbits.xen.org>
	<1337949759.22311.33.camel@zakaz.uk.xensource.com>
	<4FBF8B49.1080003@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [Xen-staging] [xen-unstable] autoconf: check for
 dev86 and iasl on x86* only
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:38 +0100, Roger Pau Monne wrote:
> > Is that expected? I don't think it is... Should these not be the ones
> > which are conditional?
> 
> It is a conditional, but since the script is the same for all 
> architectures and arch is not checked when doing a "configure --help", 
> all the possible options are printed, even those that don't apply to a 
> system. I will try to check if there's a better way to hide them, but 
> I'm not sure.

If not then I guess the original patch should be reverted?

> >>
> >>   # Checks for programs.
> >>   ac_ext=c
> >> diff -r 49ce39c88aee -r dfe39bd65137 tools/configure.ac
> >> --- a/tools/configure.ac	Mon May 14 16:20:33 2012 +0100
> >> +++ b/tools/configure.ac	Mon May 14 16:22:39 2012 +0100
> >> @@ -67,10 +67,16 @@ AC_ARG_VAR([CURL], [Path to curl-config
> >>   AC_ARG_VAR([XML], [Path to xml2-config tool])
> >>   AC_ARG_VAR([BASH], [Path to bash shell])
> >>   AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
> >> -AC_ARG_VAR([AS86], [Path to as86 tool])
> >> -AC_ARG_VAR([LD86], [Path to ld86 tool])
> >> -AC_ARG_VAR([BCC], [Path to bcc tool])
> >> -AC_ARG_VAR([IASL], [Path to iasl tool])
> >> +
> >> +dnl as86, ld86, bcc and iasl are only present in x86* systems
> >> +case "$host_cpu" in
> >> +i[[3456]]86|x86_64)
> >> +    AC_ARG_VAR([AS86], [Path to as86 tool])
> >> +    AC_ARG_VAR([LD86], [Path to ld86 tool])
> >> +    AC_ARG_VAR([BCC], [Path to bcc tool])
> >> +    AC_ARG_VAR([IASL], [Path to iasl tool])
> >> +    ;;
> >> +esac
> >>
> >>   # Checks for programs.
> >>   AC_PROG_CC
> >>
> 
> I don't know why, but I think my previous patch missed to also make the 
> actual check conditional, so the applied patch was useless. This should 
> fix it:
> 
> 8<----------------------------------------------------------
> 
> autoconf: disable dev86 and iasl checks on arm
> 
> Run autogen after applying this patch.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>

Looks good to me
Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>   tools/configure.ac |   13 +++++++++----
>   1 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/configure.ac b/tools/configure.ac
> index 706ee13..f7aa9b8 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -109,10 +109,15 @@ AS_IF([test "x$pythontools" = "xy"], [
>       AX_CHECK_PYTHON_DEVEL()
>   ])
>   AX_PATH_PROG_OR_FAIL([XGETTEXT], [xgettext])
> -AX_PATH_PROG_OR_FAIL([AS86], [as86])
> -AX_PATH_PROG_OR_FAIL([LD86], [ld86])
> -AX_PATH_PROG_OR_FAIL([BCC], [bcc])
> -AX_PATH_PROG_OR_FAIL([IASL], [iasl])
> +dnl as86, ld86, bcc and iasl are only present in x86* systems
> +case "$host_cpu" in
> +i[[3456]]86|x86_64)
> +    AX_PATH_PROG_OR_FAIL([AS86], [as86])
> +    AX_PATH_PROG_OR_FAIL([LD86], [ld86])
> +    AX_PATH_PROG_OR_FAIL([BCC], [bcc])
> +    AX_PATH_PROG_OR_FAIL([IASL], [iasl])
> +    ;;
> +esac
>   AX_CHECK_UUID
>   AX_CHECK_CURSES
>   PKG_CHECK_MODULES(glib, glib-2.0)
> -- 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:59:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:59:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXv2k-0007zg-Rg; Fri, 25 May 2012 13:59:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXv2j-0007zW-4t
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:59:01 +0000
Received: from [85.158.143.99:41216] by server-2.bemta-4.messagelabs.com id
	24/7B-12211-4209FBF4; Fri, 25 May 2012 13:59:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337954339!22276034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20199 invoked from network); 25 May 2012 13:58:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:58:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672771"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:58:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 14:58:41 +0100
Message-ID: <1337954320.22311.36.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 25 May 2012 14:58:40 +0100
In-Reply-To: <alpine.DEB.2.00.1205251451170.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331717930.23971.341.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205251451170.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, David
	Vrabel <david.vrabel@citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 05/11] arm: shared_info page allocation
	and mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:54 +0100, Stefano Stabellini wrote:
> On Wed, 14 Mar 2012, Ian Campbell wrote:
> > On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > > @@ -118,7 +118,12 @@ static int create_p2m_entries(struct domain *d,
> > >          }
> > >          /* else: third already valid */
> > >  
> > > -        BUG_ON(third[third_table_offset(addr)].p2m.valid);
> > > +        if ( third[third_table_offset(addr)].p2m.valid )
> > > +        {
> > > +            /* p2m entry already present */
> > > +            free_domheap_page(
> > > +                    mfn_to_page(third[third_table_offset(addr)].p2m.base));
> > > +        }
> > 
> > If there was already an entry here don't we need to do something with
> > whatever it points to? Either free it or deref or something?
> 
> We are already doing something: we are free'ing the old page. There is
> no need to do anything to the p2m entry because it is going to be
> overwritten by the new one few lines below.

I honestly have no idea WTF I was talking about...

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 13:59:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 13:59:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXv2k-0007zg-Rg; Fri, 25 May 2012 13:59:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXv2j-0007zW-4t
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 13:59:01 +0000
Received: from [85.158.143.99:41216] by server-2.bemta-4.messagelabs.com id
	24/7B-12211-4209FBF4; Fri, 25 May 2012 13:59:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337954339!22276034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20199 invoked from network); 25 May 2012 13:58:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 13:58:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672771"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 13:58:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 14:58:41 +0100
Message-ID: <1337954320.22311.36.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Fri, 25 May 2012 14:58:40 +0100
In-Reply-To: <alpine.DEB.2.00.1205251451170.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021415060.923@kaball-desktop>
	<1330698457-8622-5-git-send-email-stefano.stabellini@eu.citrix.com>
	<1331717930.23971.341.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205251451170.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, David
	Vrabel <david.vrabel@citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [PATCH v3 05/11] arm: shared_info page allocation
	and mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:54 +0100, Stefano Stabellini wrote:
> On Wed, 14 Mar 2012, Ian Campbell wrote:
> > On Fri, 2012-03-02 at 14:27 +0000, Stefano Stabellini wrote:
> > > @@ -118,7 +118,12 @@ static int create_p2m_entries(struct domain *d,
> > >          }
> > >          /* else: third already valid */
> > >  
> > > -        BUG_ON(third[third_table_offset(addr)].p2m.valid);
> > > +        if ( third[third_table_offset(addr)].p2m.valid )
> > > +        {
> > > +            /* p2m entry already present */
> > > +            free_domheap_page(
> > > +                    mfn_to_page(third[third_table_offset(addr)].p2m.base));
> > > +        }
> > 
> > If there was already an entry here don't we need to do something with
> > whatever it points to? Either free it or deref or something?
> 
> We are already doing something: we are free'ing the old page. There is
> no need to do anything to the p2m entry because it is going to be
> overwritten by the new one few lines below.

I honestly have no idea WTF I was talking about...

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:00:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:00:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXv4O-0008D3-GR; Fri, 25 May 2012 14:00:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXv4N-0008Cr-Rw
	for xen-devel@lists.xen.org; Fri, 25 May 2012 14:00:43 +0000
Received: from [85.158.143.35:43691] by server-2.bemta-4.messagelabs.com id
	9A/2F-12211-B809FBF4; Fri, 25 May 2012 14:00:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337954438!12888947!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19594 invoked from network); 25 May 2012 14:00:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 14:00:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672805"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 14:00:38 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 15:00:38 +0100
Message-ID: <1337954436.22311.37.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 25 May 2012 15:00:36 +0100
In-Reply-To: <1337951405.26090.2.camel@Solace>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
	<1337942163.22311.27.camel@zakaz.uk.xensource.com>
	<20415.26393.141418.446541@mariner.uk.xensource.com>
	<1337951405.26090.2.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:10 +0100, Dario Faggioli wrote:
> On Fri, 2012-05-25 at 12:03 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("Re: [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID"):
> > > so having arranged to call that function at the right time we can assume
> > > that type is a sensible value, and indeed setdefault makes this the
> > > case.
> > 
> > Right.
> > 
> Ok.
> 
> > The other situation where we can get _INVALID is if libxl__domain_type
> > fails, which it can do.
> > 
> > I think this should be handled by having places which call
> > libxl__domain_type abandon operation and return an error if the
> > libxl__domain_type fails.
> > 
> > If this is done, then general variables, parameters, etc. within libxl
> > which are supposed to contain a libxl_domain_type will never contain
> > _INVALID.
> > 
> I like this. I'll chase each call to that function and have the calle
> failing if a DOMAIN_TYPE_INVALID is returned. Then, if I go this way,
> can I also nuke both the 'case DOMAIN_TYPE_INVALID' _and_ the default
> clauses from everywhere? I seem to think I could...

iff the compiler is smart enough to realise that in the type == INVALID
case you have returned already before reaching the switch statement,
otherwise you will need to have "case INVALID: abort()".

> 
> Thanks and Regards,
> Daio
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:00:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:00:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXv4O-0008D3-GR; Fri, 25 May 2012 14:00:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXv4N-0008Cr-Rw
	for xen-devel@lists.xen.org; Fri, 25 May 2012 14:00:43 +0000
Received: from [85.158.143.35:43691] by server-2.bemta-4.messagelabs.com id
	9A/2F-12211-B809FBF4; Fri, 25 May 2012 14:00:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1337954438!12888947!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19594 invoked from network); 25 May 2012 14:00:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 14:00:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12672805"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 14:00:38 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 15:00:38 +0100
Message-ID: <1337954436.22311.37.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Fri, 25 May 2012 15:00:36 +0100
In-Reply-To: <1337951405.26090.2.camel@Solace>
References: <0a338fd74bab9eaeea74.1337873876@Solace>
	<1337939090.22311.22.camel@zakaz.uk.xensource.com>
	<1337941600.5761.19.camel@Solace>
	<1337942163.22311.27.camel@zakaz.uk.xensource.com>
	<20415.26393.141418.446541@mariner.uk.xensource.com>
	<1337951405.26090.2.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4] libxl: introduce
	LIBXL_DOMAIN_TYPE_INVALID
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:10 +0100, Dario Faggioli wrote:
> On Fri, 2012-05-25 at 12:03 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("Re: [PATCH v4] libxl: introduce LIBXL_DOMAIN_TYPE_INVALID"):
> > > so having arranged to call that function at the right time we can assume
> > > that type is a sensible value, and indeed setdefault makes this the
> > > case.
> > 
> > Right.
> > 
> Ok.
> 
> > The other situation where we can get _INVALID is if libxl__domain_type
> > fails, which it can do.
> > 
> > I think this should be handled by having places which call
> > libxl__domain_type abandon operation and return an error if the
> > libxl__domain_type fails.
> > 
> > If this is done, then general variables, parameters, etc. within libxl
> > which are supposed to contain a libxl_domain_type will never contain
> > _INVALID.
> > 
> I like this. I'll chase each call to that function and have the calle
> failing if a DOMAIN_TYPE_INVALID is returned. Then, if I go this way,
> can I also nuke both the 'case DOMAIN_TYPE_INVALID' _and_ the default
> clauses from everywhere? I seem to think I could...

iff the compiler is smart enough to realise that in the type == INVALID
case you have returned already before reaching the switch statement,
otherwise you will need to have "case INVALID: abort()".

> 
> Thanks and Regards,
> Daio
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:07:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:07:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvAz-0008Sp-Eh; Fri, 25 May 2012 14:07:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXvAy-0008Sk-Kr
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 14:07:32 +0000
Received: from [85.158.143.35:56889] by server-3.bemta-4.messagelabs.com id
	B0/5A-05853-4229FBF4; Fri, 25 May 2012 14:07:32 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337954847!5566321!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15529 invoked from network); 25 May 2012 14:07:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 14:07:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="25759546"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:06:45 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Fri, 25 May 2012
	10:06:45 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 25 May 2012 10:06:42 -0400
Thread-Topic: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
	header
Thread-Index: Ac06VVyhPQmk2ShsQIGZOKeCW9aODgAKe0Rg
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639F3C@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
	<1337936632.22311.15.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337936632.22311.15.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
 header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell
> Sent: Friday, May 25, 2012 5:04 AM
> To: Ross Philipson
> Cc: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM
> defs header
> 
> On Wed, 2012-05-23 at 15:37 +0100, Ross Philipson wrote:
> >
> > +/* Up to 100 OEM strings can be set in xenstore using values of the
> > form
> > + * below. These strings will be loaded into the SMBIOS type 11
> > structure.
> > + */
> > +#define HVM_XS_OEM_STRINGS             "bios-strings/oem-XX"
> 
> I think this is actually pre-existing but we have snprintf in hvmloader
> now so this could probably become "bios-strings/oem-%02d" (or whichever
> format is really correct) and replace the manual munging in the code.
> It's not important right now though.
> 

Yea I kind of saw that but I didn't want to mix too many "cleanup" fixes in with the new feature. I will submit a patch for that later.

> I wouldn't say I've done a full review but I skimmed the rest and it
> looked good
> 
> We've been feature frozen for 4.2 for a while now, are you proposing
> this for 4.3 rather than asking for a freeze exception?

I think 4.3 is fine. Thanks Ian.

> 
> Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:07:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:07:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvAz-0008Sp-Eh; Fri, 25 May 2012 14:07:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ross.Philipson@citrix.com>) id 1SXvAy-0008Sk-Kr
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 14:07:32 +0000
Received: from [85.158.143.35:56889] by server-3.bemta-4.messagelabs.com id
	B0/5A-05853-4229FBF4; Fri, 25 May 2012 14:07:32 +0000
X-Env-Sender: Ross.Philipson@citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337954847!5566321!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15529 invoked from network); 25 May 2012 14:07:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 14:07:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="25759546"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 10:06:45 -0400
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.209]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Fri, 25 May 2012
	10:06:45 -0400
From: Ross Philipson <Ross.Philipson@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 25 May 2012 10:06:42 -0400
Thread-Topic: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
	header
Thread-Index: Ac06VVyhPQmk2ShsQIGZOKeCW9aODgAKe0Rg
Message-ID: <831D55AF5A11D64C9B4B43F59EEBF720A10E639F3C@FTLPMAILBOX02.citrite.net>
References: <831D55AF5A11D64C9B4B43F59EEBF720A10E639BBC@FTLPMAILBOX02.citrite.net>
	<1337936632.22311.15.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337936632.22311.15.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM defs
 header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell
> Sent: Friday, May 25, 2012 5:04 AM
> To: Ross Philipson
> Cc: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] [PATCH v3 01/04] HVM firmware passthrough HVM
> defs header
> 
> On Wed, 2012-05-23 at 15:37 +0100, Ross Philipson wrote:
> >
> > +/* Up to 100 OEM strings can be set in xenstore using values of the
> > form
> > + * below. These strings will be loaded into the SMBIOS type 11
> > structure.
> > + */
> > +#define HVM_XS_OEM_STRINGS             "bios-strings/oem-XX"
> 
> I think this is actually pre-existing but we have snprintf in hvmloader
> now so this could probably become "bios-strings/oem-%02d" (or whichever
> format is really correct) and replace the manual munging in the code.
> It's not important right now though.
> 

Yea I kind of saw that but I didn't want to mix too many "cleanup" fixes in with the new feature. I will submit a patch for that later.

> I wouldn't say I've done a full review but I skimmed the rest and it
> looked good
> 
> We've been feature frozen for 4.2 for a while now, are you proposing
> this for 4.3 rather than asking for a freeze exception?

I think 4.3 is fine. Thanks Ian.

> 
> Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:32:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:32:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvYX-0000Vd-6j; Fri, 25 May 2012 14:31:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SXvYV-0000VY-NK
	for xen-devel@lists.xen.org; Fri, 25 May 2012 14:31:52 +0000
Received: from [85.158.138.51:12689] by server-11.bemta-3.messagelabs.com id
	66/79-20431-6D79FBF4; Fri, 25 May 2012 14:31:50 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337956308!25094513!1
X-Originating-IP: [209.85.160.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18995 invoked from network); 25 May 2012 14:31:50 -0000
Received: from mail-gh0-f173.google.com (HELO mail-gh0-f173.google.com)
	(209.85.160.173)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 14:31:50 -0000
Received: by ghrr14 with SMTP id r14so598886ghr.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 07:31:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject:references
	:in-reply-to:content-type:content-transfer-encoding;
	bh=8X7O9lxqbz8/03MjzbmQOSCl0rEhOijEmailrF8XQYs=;
	b=Z+XzQR4bYhEuO9ObH6fMoI4JuoZbSIOe5vK87mks4Q+sgk1alL+BWCXeARaqLBG6i8
	rFckx4gXmDgCPcuV5b/QuTUYcz7BpaH1HdAUk+NmLGHYUXfqcZeEbLm1NGtAm3NxrvMA
	XXOso1Foi9ZpEVXl8OQNcQs4D6XiEHjC9jYSc0fhkjyVujTzhB+Lc+vQLeVmJBzWh5x3
	0PgiN5OgmARC10fmI19cGfi6hS6XPsFbAbn5v5wyHj7xjsJvxpSI6ZYNSgca+/4Axr4C
	HtF3+1zabI5KOEM1V4PmcyaOl9/Ryx30WQS7A68LXdwispaApOnAsQPK5kuC2dRr8FCl
	Al1w==
Received: by 10.101.143.32 with SMTP id v32mr1288348ann.42.1337956308400;
	Fri, 25 May 2012 07:31:48 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id p14sm4773315ani.8.2012.05.25.07.31.46
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 25 May 2012 07:31:47 -0700 (PDT)
Message-ID: <4FBF97CD.9060206@gmail.com>
Date: Fri, 25 May 2012 10:31:41 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <1337602407165-5709046.post@n5.nabble.com>
	<1337763885533-5709086.post@n5.nabble.com>
In-Reply-To: <1337763885533-5709086.post@n5.nabble.com>
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gNS8yMy8yMDEyIDU6MDQgQU0sIEZhbnR1IHdyb3RlOgo+IEZhbnR1IHdyb3RlCj4+IEkgaGF2
ZSBidWlsdCBvbiBjbGVhbiBzeXN0ZW0gd2l0aCB4ZW4tdW5zdGFibGUgMjUzNzQgYW5kIHN0b3Bz
IHdpdGggdGhpcwo+PiBlcnJvcjoKPj4gZ2NjICAtTzEgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg
LW02NCAtZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5Cj4+IC1XYWxsIC1Xc3RyaWN0
LXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQKPj4gLVduby11bnVzZWQt
YnV0LXNldC12YXJpYWJsZSAgIC1EX19YRU5fVE9PTFNfXyAtTU1EIC1NRiAubGlieGwuby5kCj4+
IC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfTEFSR0VGSUxFNjRfU09VUkNFIC1mbm8tb3B0aW1pemUt
c2libGluZy1jYWxscwo+PiAtV2Vycm9yIC1Xbm8tZm9ybWF0LXplcm8tbGVuZ3RoIC1XbWlzc2lu
Zy1kZWNsYXJhdGlvbnMKPj4gLVduby1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdmb3Jt
YXQtbm9ubGl0ZXJhbCAtSS4gLWZQSUMgLXB0aHJlYWQKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5z
dGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvbGlieGMKPj4gLUkvbW50L3ZtL3hlbi94
ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQo+PiAtSS9tbnQv
dm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9saWJ4Ywo+PiAt
SS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNs
dWRlCj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rv
b2xzL3hlbnN0b3JlCj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhs
Ly4uLy4uL3Rvb2xzL2luY2x1ZGUKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9v
bHMvbGlieGwvLi4vLi4vdG9vbHMvYmxrdGFwMi9jb250cm9sCj4+IC1JL21udC92bS94ZW4veGVu
LXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Jsa3RhcDIvaW5jbHVkZQo+PiAt
SS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNs
dWRlIC1pbmNsdWRlCj4+IC9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8u
Li8uLi90b29scy9jb25maWcuaCAgLWMgLW8KPj4gbGlieGwubyBsaWJ4bC5jCj4+IGxpYnhsLmM6
IEluIGZ1bmN0aW9uIMOibGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPDojoKPj4gbGlieGwuYzox
MjMzOjk6IGVycm9yOiBjYXNlIHZhbHVlIMOiNDI5NDk2NzI5NcOiIG5vdCBpbiBlbnVtZXJhdGVk
IHR5cGUKPj4gw6JsaWJ4bF9kb21haW5fdHlwZcOiIFstV2Vycm9yPXN3aXRjaF0KPj4gY2MxOiBh
bGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPj4gbWFrZVszXTogKioqIFtsaWJ4
bC5vXSBFcnJvciAxCj4+IG1ha2VbM106IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3ZtL3hlbi94
ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwnCj4+IG1ha2VbMl06ICoqKiBbc3ViZGlyLWluc3Rh
bGwtbGlieGxdIEVycm9yIDIKPj4gbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0v
eGVuL3hlbi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZVsxXTogKioqIFtzdWJkaXJzLWluc3Rh
bGxdIEVycm9yIDIKPj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0veGVuL3hl
bi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZTogKioqIFtpbnN0YWxsLXRvb2xzXSBFcnJvciAy
Cj4+Cj4+IFByZXZpb3VzIGJ1aWxkIHdpdGggY2hhbmdlc2V0IDI1MzI2IHdhcyB3b3JraW5nCj4+
Cj4gSSBoYXZlIGZvdW5kIHRoZSBidWcsIGlzIG9uIHRoaXMgcGF0Y2g6Cj4gaHR0cDovL3hlbmJp
dHMueGVuLm9yZy9oZy94ZW4tdW5zdGFibGUuaGcvcmV2LzhkY2U3YTQxMjFiOQo+IEkgdHJpZWQg
cmVtb3ZpbmcgdGhpcyBwYXRjaCAoaGcgYmFja291dCAtciAyNTM2NCkgc29sdmVzIHRoZSBwcm9i
bGVtCldlbGwsIGJ5IHJlbW92aW5nIHBhdGNoIDI1MzY0LCBpdCBhbHNvIHdvcmtzIG9uIGNvbXBp
bGluZyBYZW4gCjQuMi11bnN0YWJsZSByZXYtMjUzODgKCkhhdmUgdG8gYWRtaXQsIGkgYW0gZ2xh
ZCBpIHJlYWQgdGhpcyBhcyBub3cgaSBjYW4gYWN0dWFsbHkgY29tcGlsZSBYZW4gCjQuMi11bnN0
YWJsZSBhZ2Fpbi4uLiBTTywgaSBoYXZlIHRvIHNheSBUaGFuayB5b3UuLi4uIDopCgpJIGtub3cg
dGhlIHhlbi1kZXZlbCBpcyB3b3JraW5nIG9uIGFsbCB0aGlzLCBCVVQgYXQgbGVhc3Qgbm93IEkg
ZG9uJ3QgCmhhdmUgdG8gd2FpdCBhcm91bmQgYW5kIGNhbiBjb250aW51ZSBmaWd1cmluZyBvdXQg
eGVuLi4uCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp
c3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 25 14:32:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:32:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvYX-0000Vd-6j; Fri, 25 May 2012 14:31:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SXvYV-0000VY-NK
	for xen-devel@lists.xen.org; Fri, 25 May 2012 14:31:52 +0000
Received: from [85.158.138.51:12689] by server-11.bemta-3.messagelabs.com id
	66/79-20431-6D79FBF4; Fri, 25 May 2012 14:31:50 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1337956308!25094513!1
X-Originating-IP: [209.85.160.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18995 invoked from network); 25 May 2012 14:31:50 -0000
Received: from mail-gh0-f173.google.com (HELO mail-gh0-f173.google.com)
	(209.85.160.173)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 14:31:50 -0000
Received: by ghrr14 with SMTP id r14so598886ghr.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 07:31:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject:references
	:in-reply-to:content-type:content-transfer-encoding;
	bh=8X7O9lxqbz8/03MjzbmQOSCl0rEhOijEmailrF8XQYs=;
	b=Z+XzQR4bYhEuO9ObH6fMoI4JuoZbSIOe5vK87mks4Q+sgk1alL+BWCXeARaqLBG6i8
	rFckx4gXmDgCPcuV5b/QuTUYcz7BpaH1HdAUk+NmLGHYUXfqcZeEbLm1NGtAm3NxrvMA
	XXOso1Foi9ZpEVXl8OQNcQs4D6XiEHjC9jYSc0fhkjyVujTzhB+Lc+vQLeVmJBzWh5x3
	0PgiN5OgmARC10fmI19cGfi6hS6XPsFbAbn5v5wyHj7xjsJvxpSI6ZYNSgca+/4Axr4C
	HtF3+1zabI5KOEM1V4PmcyaOl9/Ryx30WQS7A68LXdwispaApOnAsQPK5kuC2dRr8FCl
	Al1w==
Received: by 10.101.143.32 with SMTP id v32mr1288348ann.42.1337956308400;
	Fri, 25 May 2012 07:31:48 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id p14sm4773315ani.8.2012.05.25.07.31.46
	(version=TLSv1/SSLv3 cipher=OTHER);
	Fri, 25 May 2012 07:31:47 -0700 (PDT)
Message-ID: <4FBF97CD.9060206@gmail.com>
Date: Fri, 25 May 2012 10:31:41 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
References: <1337602407165-5709046.post@n5.nabble.com>
	<1337763885533-5709086.post@n5.nabble.com>
In-Reply-To: <1337763885533-5709086.post@n5.nabble.com>
Subject: Re: [Xen-devel] Build error of libxl in xen-unstable changeset 25374
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gNS8yMy8yMDEyIDU6MDQgQU0sIEZhbnR1IHdyb3RlOgo+IEZhbnR1IHdyb3RlCj4+IEkgaGF2
ZSBidWlsdCBvbiBjbGVhbiBzeXN0ZW0gd2l0aCB4ZW4tdW5zdGFibGUgMjUzNzQgYW5kIHN0b3Bz
IHdpdGggdGhpcwo+PiBlcnJvcjoKPj4gZ2NjICAtTzEgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg
LW02NCAtZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5Cj4+IC1XYWxsIC1Xc3RyaWN0
LXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQKPj4gLVduby11bnVzZWQt
YnV0LXNldC12YXJpYWJsZSAgIC1EX19YRU5fVE9PTFNfXyAtTU1EIC1NRiAubGlieGwuby5kCj4+
IC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfTEFSR0VGSUxFNjRfU09VUkNFIC1mbm8tb3B0aW1pemUt
c2libGluZy1jYWxscwo+PiAtV2Vycm9yIC1Xbm8tZm9ybWF0LXplcm8tbGVuZ3RoIC1XbWlzc2lu
Zy1kZWNsYXJhdGlvbnMKPj4gLVduby1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdmb3Jt
YXQtbm9ubGl0ZXJhbCAtSS4gLWZQSUMgLXB0aHJlYWQKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5z
dGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvbGlieGMKPj4gLUkvbW50L3ZtL3hlbi94
ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwvLi4vLi4vdG9vbHMvaW5jbHVkZQo+PiAtSS9tbnQv
dm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9saWJ4Ywo+PiAt
SS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNs
dWRlCj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rv
b2xzL3hlbnN0b3JlCj4+IC1JL21udC92bS94ZW4veGVuLXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhs
Ly4uLy4uL3Rvb2xzL2luY2x1ZGUKPj4gLUkvbW50L3ZtL3hlbi94ZW4tdW5zdGFibGUuaGcvdG9v
bHMvbGlieGwvLi4vLi4vdG9vbHMvYmxrdGFwMi9jb250cm9sCj4+IC1JL21udC92bS94ZW4veGVu
LXVuc3RhYmxlLmhnL3Rvb2xzL2xpYnhsLy4uLy4uL3Rvb2xzL2Jsa3RhcDIvaW5jbHVkZQo+PiAt
SS9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8uLi8uLi90b29scy9pbmNs
dWRlIC1pbmNsdWRlCj4+IC9tbnQvdm0veGVuL3hlbi11bnN0YWJsZS5oZy90b29scy9saWJ4bC8u
Li8uLi90b29scy9jb25maWcuaCAgLWMgLW8KPj4gbGlieGwubyBsaWJ4bC5jCj4+IGxpYnhsLmM6
IEluIGZ1bmN0aW9uIMOibGlieGxfcHJpbWFyeV9jb25zb2xlX2V4ZWPDojoKPj4gbGlieGwuYzox
MjMzOjk6IGVycm9yOiBjYXNlIHZhbHVlIMOiNDI5NDk2NzI5NcOiIG5vdCBpbiBlbnVtZXJhdGVk
IHR5cGUKPj4gw6JsaWJ4bF9kb21haW5fdHlwZcOiIFstV2Vycm9yPXN3aXRjaF0KPj4gY2MxOiBh
bGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKPj4gbWFrZVszXTogKioqIFtsaWJ4
bC5vXSBFcnJvciAxCj4+IG1ha2VbM106IExlYXZpbmcgZGlyZWN0b3J5IGAvbW50L3ZtL3hlbi94
ZW4tdW5zdGFibGUuaGcvdG9vbHMvbGlieGwnCj4+IG1ha2VbMl06ICoqKiBbc3ViZGlyLWluc3Rh
bGwtbGlieGxdIEVycm9yIDIKPj4gbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0v
eGVuL3hlbi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZVsxXTogKioqIFtzdWJkaXJzLWluc3Rh
bGxdIEVycm9yIDIKPj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9tbnQvdm0veGVuL3hl
bi11bnN0YWJsZS5oZy90b29scycKPj4gbWFrZTogKioqIFtpbnN0YWxsLXRvb2xzXSBFcnJvciAy
Cj4+Cj4+IFByZXZpb3VzIGJ1aWxkIHdpdGggY2hhbmdlc2V0IDI1MzI2IHdhcyB3b3JraW5nCj4+
Cj4gSSBoYXZlIGZvdW5kIHRoZSBidWcsIGlzIG9uIHRoaXMgcGF0Y2g6Cj4gaHR0cDovL3hlbmJp
dHMueGVuLm9yZy9oZy94ZW4tdW5zdGFibGUuaGcvcmV2LzhkY2U3YTQxMjFiOQo+IEkgdHJpZWQg
cmVtb3ZpbmcgdGhpcyBwYXRjaCAoaGcgYmFja291dCAtciAyNTM2NCkgc29sdmVzIHRoZSBwcm9i
bGVtCldlbGwsIGJ5IHJlbW92aW5nIHBhdGNoIDI1MzY0LCBpdCBhbHNvIHdvcmtzIG9uIGNvbXBp
bGluZyBYZW4gCjQuMi11bnN0YWJsZSByZXYtMjUzODgKCkhhdmUgdG8gYWRtaXQsIGkgYW0gZ2xh
ZCBpIHJlYWQgdGhpcyBhcyBub3cgaSBjYW4gYWN0dWFsbHkgY29tcGlsZSBYZW4gCjQuMi11bnN0
YWJsZSBhZ2Fpbi4uLiBTTywgaSBoYXZlIHRvIHNheSBUaGFuayB5b3UuLi4uIDopCgpJIGtub3cg
dGhlIHhlbi1kZXZlbCBpcyB3b3JraW5nIG9uIGFsbCB0aGlzLCBCVVQgYXQgbGVhc3Qgbm93IEkg
ZG9uJ3QgCmhhdmUgdG8gd2FpdCBhcm91bmQgYW5kIGNhbiBjb250aW51ZSBmaWd1cmluZyBvdXQg
eGVuLi4uCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp
c3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Fri May 25 14:59:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:59:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvzC-0000k4-B0; Fri, 25 May 2012 14:59:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gregkh@linuxfoundation.org>) id 1SXfa9-0007FM-24
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 21:28:29 +0000
Received: from [85.158.143.99:4967] by server-3.bemta-4.messagelabs.com id
	71/9C-05853-CF7AEBF4; Thu, 24 May 2012 21:28:28 +0000
X-Env-Sender: gregkh@linuxfoundation.org
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337894904!27458830!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14910 invoked from network); 24 May 2012 21:28:26 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 21:28:26 -0000
Received: by dajz8 with SMTP id z8so336669daj.30
	for <xen-devel@lists.xensource.com>;
	Thu, 24 May 2012 14:27:24 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent
	:x-gm-message-state;
	bh=XP86CdB8yq6Gxa5IIhwD1enr5QanM+VlY8MCNe8FPz4=;
	b=S+59eb4PNS3qhxQ3VsOoyxmaZt/Icgo3fp3fIzt9HwnUzQQTj4Z+XQCMvk6cf+WTRg
	00a59OXVjd+xABNQP2Nh4+gOtyz+DvXBBkg1Lw5oHqacytj+LHsUvKm8EGyJ3lyTsI2L
	bHTCpYOgZaZCKenZ9LweSmZ7KuswYnBgqK1h2iBDZvwYOJyQrZBitSB0Fc+eU63FuBQN
	XFE5i9OD4fQ2tws+gK4XrrHyil0SMQWFAqFspZZWwitPfI1bkP/XDLAi/kXRR1QfNXqL
	10weIdjwYJsYwN8kVeIvHOlHrTkJr6Rhs1OJ1tAQtn4JGOEV0ruMOqvnluQ4zfeMJqlE
	ArAA==
Received: by 10.68.138.161 with SMTP id qr1mr2119551pbb.37.1337894844060;
	Thu, 24 May 2012 14:27:24 -0700 (PDT)
Received: from localhost ([116.84.6.37])
	by mx.google.com with ESMTPS id pd9sm6646622pbc.26.2012.05.24.14.27.18
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 24 May 2012 14:27:22 -0700 (PDT)
Date: Fri, 25 May 2012 03:50:39 +0900
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120524185039.GA14713@kroah.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Gm-Message-State: ALoCoQkqoSOXQnettGbn6WP9zv58SAZWfXUinuiefj+TnFlDMK7kHw3yJTAKug8gWjYdErLVHwj5
X-Mailman-Approved-At: Fri, 25 May 2012 14:59:25 +0000
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ben Hutchings <ben@decadent.org.uk>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 11:02:26PM +0200, William Dauchy wrote:
> Hello,
> 
> On Mon, May 21, 2012 at 8:15 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > So you are asking for 052b198 to be back-ported.
> > I am OK with that but I think Shaohua needs to Ack that and
> > ask Greg to put it on stable@kernel.org
> 
> Yes, since I didn't find the official process to propose an
> already-in-tree commit to stable@
> (http://kernel.org/doc/Documentation/stable_kernel_rules.txt), I was
> just asking around, maybe to get Shaohua feedback.
> 
> I guess it meets the requirements to be integrated in stable; tested
> on my side in 3.2.x and 3.3.x and fixing a precise issue.

Now applied to the 3.3.x tree, thanks.

greg k-h

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:59:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:59:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvzC-0000k4-B0; Fri, 25 May 2012 14:59:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <gregkh@linuxfoundation.org>) id 1SXfa9-0007FM-24
	for xen-devel@lists.xensource.com; Thu, 24 May 2012 21:28:29 +0000
Received: from [85.158.143.99:4967] by server-3.bemta-4.messagelabs.com id
	71/9C-05853-CF7AEBF4; Thu, 24 May 2012 21:28:28 +0000
X-Env-Sender: gregkh@linuxfoundation.org
X-Msg-Ref: server-9.tower-216.messagelabs.com!1337894904!27458830!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14910 invoked from network); 24 May 2012 21:28:26 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	24 May 2012 21:28:26 -0000
Received: by dajz8 with SMTP id z8so336669daj.30
	for <xen-devel@lists.xensource.com>;
	Thu, 24 May 2012 14:27:24 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=date:from:to:cc:subject:message-id:references:mime-version
	:content-type:content-disposition:in-reply-to:user-agent
	:x-gm-message-state;
	bh=XP86CdB8yq6Gxa5IIhwD1enr5QanM+VlY8MCNe8FPz4=;
	b=S+59eb4PNS3qhxQ3VsOoyxmaZt/Icgo3fp3fIzt9HwnUzQQTj4Z+XQCMvk6cf+WTRg
	00a59OXVjd+xABNQP2Nh4+gOtyz+DvXBBkg1Lw5oHqacytj+LHsUvKm8EGyJ3lyTsI2L
	bHTCpYOgZaZCKenZ9LweSmZ7KuswYnBgqK1h2iBDZvwYOJyQrZBitSB0Fc+eU63FuBQN
	XFE5i9OD4fQ2tws+gK4XrrHyil0SMQWFAqFspZZWwitPfI1bkP/XDLAi/kXRR1QfNXqL
	10weIdjwYJsYwN8kVeIvHOlHrTkJr6Rhs1OJ1tAQtn4JGOEV0ruMOqvnluQ4zfeMJqlE
	ArAA==
Received: by 10.68.138.161 with SMTP id qr1mr2119551pbb.37.1337894844060;
	Thu, 24 May 2012 14:27:24 -0700 (PDT)
Received: from localhost ([116.84.6.37])
	by mx.google.com with ESMTPS id pd9sm6646622pbc.26.2012.05.24.14.27.18
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 24 May 2012 14:27:22 -0700 (PDT)
Date: Fri, 25 May 2012 03:50:39 +0900
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120524185039.GA14713@kroah.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Gm-Message-State: ALoCoQkqoSOXQnettGbn6WP9zv58SAZWfXUinuiefj+TnFlDMK7kHw3yJTAKug8gWjYdErLVHwj5
X-Mailman-Approved-At: Fri, 25 May 2012 14:59:25 +0000
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ben Hutchings <ben@decadent.org.uk>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 21, 2012 at 11:02:26PM +0200, William Dauchy wrote:
> Hello,
> 
> On Mon, May 21, 2012 at 8:15 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > So you are asking for 052b198 to be back-ported.
> > I am OK with that but I think Shaohua needs to Ack that and
> > ask Greg to put it on stable@kernel.org
> 
> Yes, since I didn't find the official process to propose an
> already-in-tree commit to stable@
> (http://kernel.org/doc/Documentation/stable_kernel_rules.txt), I was
> just asking around, maybe to get Shaohua feedback.
> 
> I guess it meets the requirements to be integrated in stable; tested
> on my side in 3.2.x and 3.3.x and fixing a precise issue.

Now applied to the 3.3.x tree, thanks.

greg k-h

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:59:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvzB-0000jx-Vx; Fri, 25 May 2012 14:59:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ierdnah@gmail.com>) id 1SXFAv-0006qn-5n
	for xen-devel@lists.xen.org; Wed, 23 May 2012 17:16:41 +0000
Received: from [85.158.143.35:42921] by server-1.bemta-4.messagelabs.com id
	24/3D-00342-87B1DBF4; Wed, 23 May 2012 17:16:40 +0000
X-Env-Sender: ierdnah@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337793398!5994970!1
X-Originating-IP: [209.85.214.45]
X-SpamReason: No, hits=1.9 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,RCVD_ILLEGAL_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2161 invoked from network); 23 May 2012 17:16:39 -0000
Received: from mail-bk0-f45.google.com (HELO mail-bk0-f45.google.com)
	(209.85.214.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:16:39 -0000
Received: by bkwj10 with SMTP id j10so7546372bkw.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 10:16:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:subject:from:reply-to:to:date:content-type:x-mailer
	:mime-version:content-transfer-encoding;
	bh=CNnA91D1MohQxwphM6q3lRk6XnhlgS0ZHWUWXEpRwXo=;
	b=0aVY+HK1YaO2Dm5FZIuL5MjK5mSmmudcBU5NtHGG0NPjou+GUGuHs6q+HYNVJpiU+w
	W3ybIvUVRFSfEgFRGSM/lbiL1pBnE8gjX6YQ79hd70OdYRf6F1eavVl8sN79p0DJXb5v
	vj1oxNRsL3/BhSABlLAEd2VAIppdVf8gfyabkdQ0/aDuwAaJ+G3908jpfY61OT/oWEIS
	a/1mjhf8oOZyD9UHPI2Jp3xRra1h41uRv0jjyXe1+P1qKuqrJU0JdmazU7sFcueh3Tgd
	TGw3DpleqRkVwpz0tr/1RJkEl7DffqN5Z8cLEU905arWqpJ/M1wlMKRWbTxWWjn4I6e+
	Fbgw==
Received: by 10.205.133.6 with SMTP id hw6mr11301500bkc.93.1337793398740;
	Wed, 23 May 2012 10:16:38 -0700 (PDT)
Received: from [192.168.1.100] (5-13-42-177.residential.rdsnet.ro.
	[5.13.42.177]) by mx.google.com with ESMTPS id
	fu14sm12121255bkc.13.2012.05.23.10.16.37
	(version=SSLv3 cipher=OTHER); Wed, 23 May 2012 10:16:37 -0700 (PDT)
Message-ID: <1337793343.1541.4.camel@ierdnac-hp>
From: Andrei Popa <ierdnah@gmail.com>
To: xen-devel@lists.xen.org
Date: Wed, 23 May 2012 20:15:43 +0300
X-Mailer: Evolution 3.4.2 
Mime-Version: 1.0
X-Mailman-Approved-At: Fri, 25 May 2012 14:59:25 +0000
Subject: [Xen-devel] kernel 3.4.0 dom0 oops
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: ierdnah@gmail.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

With kernel 3.4.0 as a dom0 and a 3.3.6 as a domU, i get the following
oops on the dom0 kernel when I rsync  / to a filesystem mounted on a
loop device:
http://77.36.72.222/P5230845.JPG

The domU config:
ierdnac-hp ~ # cat /mnt/gentoo/xen 
kernel = "/boot/vmlinuz-3.3.6-pf-c241.old"
name="gentoo"
memory = 2048
vcpus = 1
pae  = 1
acpi = 1
apic = 1
stdvga=0
serial='pty'
usbdevice='tablet'
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
vnc=1
vncviewer=1
vncconsole=1
sdl=0
vfb = [ 'type=vnc' ]
disk   = ['file:/mnt/gentoo/ierdnac-hp.bak,sdd1,w']
root   = "root=/dev/xvdd1 ro"

If you are interested in the kernels .config file I can provide them.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 14:59:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 14:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXvzB-0000jx-Vx; Fri, 25 May 2012 14:59:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ierdnah@gmail.com>) id 1SXFAv-0006qn-5n
	for xen-devel@lists.xen.org; Wed, 23 May 2012 17:16:41 +0000
Received: from [85.158.143.35:42921] by server-1.bemta-4.messagelabs.com id
	24/3D-00342-87B1DBF4; Wed, 23 May 2012 17:16:40 +0000
X-Env-Sender: ierdnah@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1337793398!5994970!1
X-Originating-IP: [209.85.214.45]
X-SpamReason: No, hits=1.9 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,RCVD_ILLEGAL_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2161 invoked from network); 23 May 2012 17:16:39 -0000
Received: from mail-bk0-f45.google.com (HELO mail-bk0-f45.google.com)
	(209.85.214.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	23 May 2012 17:16:39 -0000
Received: by bkwj10 with SMTP id j10so7546372bkw.32
	for <xen-devel@lists.xen.org>; Wed, 23 May 2012 10:16:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:subject:from:reply-to:to:date:content-type:x-mailer
	:mime-version:content-transfer-encoding;
	bh=CNnA91D1MohQxwphM6q3lRk6XnhlgS0ZHWUWXEpRwXo=;
	b=0aVY+HK1YaO2Dm5FZIuL5MjK5mSmmudcBU5NtHGG0NPjou+GUGuHs6q+HYNVJpiU+w
	W3ybIvUVRFSfEgFRGSM/lbiL1pBnE8gjX6YQ79hd70OdYRf6F1eavVl8sN79p0DJXb5v
	vj1oxNRsL3/BhSABlLAEd2VAIppdVf8gfyabkdQ0/aDuwAaJ+G3908jpfY61OT/oWEIS
	a/1mjhf8oOZyD9UHPI2Jp3xRra1h41uRv0jjyXe1+P1qKuqrJU0JdmazU7sFcueh3Tgd
	TGw3DpleqRkVwpz0tr/1RJkEl7DffqN5Z8cLEU905arWqpJ/M1wlMKRWbTxWWjn4I6e+
	Fbgw==
Received: by 10.205.133.6 with SMTP id hw6mr11301500bkc.93.1337793398740;
	Wed, 23 May 2012 10:16:38 -0700 (PDT)
Received: from [192.168.1.100] (5-13-42-177.residential.rdsnet.ro.
	[5.13.42.177]) by mx.google.com with ESMTPS id
	fu14sm12121255bkc.13.2012.05.23.10.16.37
	(version=SSLv3 cipher=OTHER); Wed, 23 May 2012 10:16:37 -0700 (PDT)
Message-ID: <1337793343.1541.4.camel@ierdnac-hp>
From: Andrei Popa <ierdnah@gmail.com>
To: xen-devel@lists.xen.org
Date: Wed, 23 May 2012 20:15:43 +0300
X-Mailer: Evolution 3.4.2 
Mime-Version: 1.0
X-Mailman-Approved-At: Fri, 25 May 2012 14:59:25 +0000
Subject: [Xen-devel] kernel 3.4.0 dom0 oops
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: ierdnah@gmail.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello,

With kernel 3.4.0 as a dom0 and a 3.3.6 as a domU, i get the following
oops on the dom0 kernel when I rsync  / to a filesystem mounted on a
loop device:
http://77.36.72.222/P5230845.JPG

The domU config:
ierdnac-hp ~ # cat /mnt/gentoo/xen 
kernel = "/boot/vmlinuz-3.3.6-pf-c241.old"
name="gentoo"
memory = 2048
vcpus = 1
pae  = 1
acpi = 1
apic = 1
stdvga=0
serial='pty'
usbdevice='tablet'
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
vnc=1
vncviewer=1
vncconsole=1
sdl=0
vfb = [ 'type=vnc' ]
disk   = ['file:/mnt/gentoo/ierdnac-hp.bak,sdd1,w']
root   = "root=/dev/xvdd1 ro"

If you are interested in the kernels .config file I can provide them.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:00:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXw0P-0000zx-RJ; Fri, 25 May 2012 15:00:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXw0O-0000zT-JP
	for xen-devel@lists.xen.org; Fri, 25 May 2012 15:00:40 +0000
Received: from [85.158.139.83:44231] by server-8.bemta-5.messagelabs.com id
	D4/38-25689-79E9FBF4; Fri, 25 May 2012 15:00:39 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337958037!23153612!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5405 invoked from network); 25 May 2012 15:00:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:00:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="25766108"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:00:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 11:00:35 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXvwN-00026N-JQ;
	Fri, 25 May 2012 15:56:31 +0100
Message-ID: <4FBF9D9E.9050601@citrix.com>
Date: Fri, 25 May 2012 15:56:30 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
	<4FBE02E6.2050807@amd.com>
In-Reply-To: <4FBE02E6.2050807@amd.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> On 05/23/12 12:11, Ian Campbell wrote:
>
>> On Tue, 2012-05-22 at 16:32 +0100, Christoph Egger wrote:
>>> On 05/22/12 17:21, Ian Campbell wrote:
>>>
>>>> On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
>>>>> On 05/22/12 16:20, Ian Campbell wrote:
>>>>>> All the>= checks on *xcg_handle seem wrong to me. Really they should be
>>>>>> checking != NULL, since otherwise they don't actually discriminate the
>>>>>> two cases! Does making that change help?
>>>>> Yes, that helps! I can start guests again.
>>>> Excellent, I assume you are going to submit the patch (i.e. I don't need
>>>> to..)
>>> Yes, patch attached.
>> I fixed up the commit message as follows. I'll apply if IanJ agrees or
>> acks it.
>
> Thank you. Ian J. what do you say?
>
> Christoph
>
>
>> 8<-----------------------------
>>
>>  From 6b43ca97f5f8c4fa9bf24101253af21bc66ddf96 Mon Sep 17 00:00:00 2001
>> From: Christoph Egger<Christoph.Egger@amd.com>
>> Date: Tue, 22 May 2012 17:32:21 +0200
>> Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
>>
>> Fix pointer checks introduced in changeset 24757:aae516b78fce.
>>
>> Signed-off-by: Christoph Egger<Christoph.Egger@amd.com>
>> Acked-by: Ian Campbell<ian.campbell@citrix.com>
>> ---
>>   tools/xenstore/xenstored_domain.c |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
>> index f8c822f..bf83d58 100644
>> --- a/tools/xenstore/xenstored_domain.c
>> +++ b/tools/xenstore/xenstored_domain.c
>> @@ -167,7 +167,7 @@ static int readchn(struct connection *conn, void *data, unsigned int len)
>>
>>   static void *map_interface(domid_t domid, unsigned long mfn)
>>   {
>> -	if (*xcg_handle>= 0) {
>> +	if (*xcg_handle != NULL) {
>>   		/* this is the preferred method */
>>   		return xc_gnttab_map_grant_ref(*xcg_handle, domid,
>>   			GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE);
>> @@ -179,7 +179,7 @@ static void *map_interface(domid_t domid, unsigned long mfn)
>>
>>   static void unmap_interface(void *interface)
>>   {
>> -	if (*xcg_handle>= 0)
>> +	if (*xcg_handle != NULL)
>>   		xc_gnttab_munmap(*xcg_handle, interface, 1);
>>   	else
>>   		munmap(interface, getpagesize());

I also see an error when starting xencommons on NetBSD:

test# /usr/xen42/etc/rc.d/xencommons onestart
Cleaning xenstore database.
Starting xenservices: xenstored, xenconsoled, xenbackendd.xc: error: 
OSDEP: interface 2 (gnttab) not supported on this platform: Internal error

Which is quite annoying, but I'm not really sure of the most elegant way 
to solve this. The error comes from tools/libxc/xc_private.c:177, so 
maybe just removing that message would be ok, or something like this:

--- a/tools/libxc/xc_private.c
+++ b/tools/libxc/xc_private.c
@@ -265,8 +265,12 @@ int xc_evtchn_close(xc_evtchn *xce)
  xc_gnttab *xc_gnttab_open(xentoollog_logger *logger,
                               unsigned open_flags)
  {
+#ifndef __NetBSD__
      return xc_interface_open_common(logger, NULL, open_flags,
                                      XC_OSDEP_GNTTAB);
+#else
+    return NULL;
+#endif
  }

Which is not really pretty.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:00:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXw0P-0000zx-RJ; Fri, 25 May 2012 15:00:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXw0O-0000zT-JP
	for xen-devel@lists.xen.org; Fri, 25 May 2012 15:00:40 +0000
Received: from [85.158.139.83:44231] by server-8.bemta-5.messagelabs.com id
	D4/38-25689-79E9FBF4; Fri, 25 May 2012 15:00:39 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1337958037!23153612!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5405 invoked from network); 25 May 2012 15:00:38 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:00:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="25766108"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:00:35 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 11:00:35 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXvwN-00026N-JQ;
	Fri, 25 May 2012 15:56:31 +0100
Message-ID: <4FBF9D9E.9050601@citrix.com>
Date: Fri, 25 May 2012 15:56:30 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Christoph Egger <Christoph.Egger@amd.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
	<4FBE02E6.2050807@amd.com>
In-Reply-To: <4FBE02E6.2050807@amd.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Christoph Egger wrote:
> On 05/23/12 12:11, Ian Campbell wrote:
>
>> On Tue, 2012-05-22 at 16:32 +0100, Christoph Egger wrote:
>>> On 05/22/12 17:21, Ian Campbell wrote:
>>>
>>>> On Tue, 2012-05-22 at 16:16 +0100, Christoph Egger wrote:
>>>>> On 05/22/12 16:20, Ian Campbell wrote:
>>>>>> All the>= checks on *xcg_handle seem wrong to me. Really they should be
>>>>>> checking != NULL, since otherwise they don't actually discriminate the
>>>>>> two cases! Does making that change help?
>>>>> Yes, that helps! I can start guests again.
>>>> Excellent, I assume you are going to submit the patch (i.e. I don't need
>>>> to..)
>>> Yes, patch attached.
>> I fixed up the commit message as follows. I'll apply if IanJ agrees or
>> acks it.
>
> Thank you. Ian J. what do you say?
>
> Christoph
>
>
>> 8<-----------------------------
>>
>>  From 6b43ca97f5f8c4fa9bf24101253af21bc66ddf96 Mon Sep 17 00:00:00 2001
>> From: Christoph Egger<Christoph.Egger@amd.com>
>> Date: Tue, 22 May 2012 17:32:21 +0200
>> Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
>>
>> Fix pointer checks introduced in changeset 24757:aae516b78fce.
>>
>> Signed-off-by: Christoph Egger<Christoph.Egger@amd.com>
>> Acked-by: Ian Campbell<ian.campbell@citrix.com>
>> ---
>>   tools/xenstore/xenstored_domain.c |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
>> index f8c822f..bf83d58 100644
>> --- a/tools/xenstore/xenstored_domain.c
>> +++ b/tools/xenstore/xenstored_domain.c
>> @@ -167,7 +167,7 @@ static int readchn(struct connection *conn, void *data, unsigned int len)
>>
>>   static void *map_interface(domid_t domid, unsigned long mfn)
>>   {
>> -	if (*xcg_handle>= 0) {
>> +	if (*xcg_handle != NULL) {
>>   		/* this is the preferred method */
>>   		return xc_gnttab_map_grant_ref(*xcg_handle, domid,
>>   			GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE);
>> @@ -179,7 +179,7 @@ static void *map_interface(domid_t domid, unsigned long mfn)
>>
>>   static void unmap_interface(void *interface)
>>   {
>> -	if (*xcg_handle>= 0)
>> +	if (*xcg_handle != NULL)
>>   		xc_gnttab_munmap(*xcg_handle, interface, 1);
>>   	else
>>   		munmap(interface, getpagesize());

I also see an error when starting xencommons on NetBSD:

test# /usr/xen42/etc/rc.d/xencommons onestart
Cleaning xenstore database.
Starting xenservices: xenstored, xenconsoled, xenbackendd.xc: error: 
OSDEP: interface 2 (gnttab) not supported on this platform: Internal error

Which is quite annoying, but I'm not really sure of the most elegant way 
to solve this. The error comes from tools/libxc/xc_private.c:177, so 
maybe just removing that message would be ok, or something like this:

--- a/tools/libxc/xc_private.c
+++ b/tools/libxc/xc_private.c
@@ -265,8 +265,12 @@ int xc_evtchn_close(xc_evtchn *xce)
  xc_gnttab *xc_gnttab_open(xentoollog_logger *logger,
                               unsigned open_flags)
  {
+#ifndef __NetBSD__
      return xc_interface_open_common(logger, NULL, open_flags,
                                      XC_OSDEP_GNTTAB);
+#else
+    return NULL;
+#endif
  }

Which is not really pretty.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:13:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:13:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXwCl-0001mo-44; Fri, 25 May 2012 15:13:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXwCi-0001mi-LO
	for xen-devel@lists.xen.org; Fri, 25 May 2012 15:13:25 +0000
Received: from [193.109.254.147:5055] by server-7.bemta-14.messagelabs.com id
	60/F5-01627-391AFBF4; Fri, 25 May 2012 15:13:23 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337958801!6085441!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17325 invoked from network); 25 May 2012 15:13:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:13:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="196472095"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:13:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 11:13:20 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXwCe-0002ms-8C;
	Fri, 25 May 2012 16:13:20 +0100
Message-ID: <4FBFA18F.20605@citrix.com>
Date: Fri, 25 May 2012 16:13:19 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-9-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-9-git-send-email-roger.pau@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne wrote:
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.
>
> We will chain the launch of the disk hotplug scripts after the
> device_backend_callback callback, or directly from
> libxl__initiate_device_{add,remove} if the device is already in the
> desired state.
>
> Changes since v2:
>
>   * Added array size check with assert.
>
>   * Added NetBSD code (so compilation is not broken).
>
>   * Removed a check for null in device_hotplug_timeout_cb.
>
> Changes since v1:
>
>   * Moved all the event related code that was inside libxl_linux.c into
>     libxl_device.c, so the flow of the device addition/removal event is
>     all in the same file.
>
> Cc: Ian Jackson<ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
> ---
>   tools/hotplug/Linux/xen-backend.rules     |    6 +-
>   tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
>   tools/libxl/libxl.c                       |   10 +++
>   tools/libxl/libxl_device.c                |  121 ++++++++++++++++++++++++++++-
>   tools/libxl/libxl_internal.h              |   20 +++++
>   tools/libxl/libxl_linux.c                 |   98 +++++++++++++++++++++++
>   tools/libxl/libxl_netbsd.c                |    9 ++
>   7 files changed, 266 insertions(+), 4 deletions(-)
>
> diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
> index 405387f..d55ff11 100644
> --- a/tools/hotplug/Linux/xen-backend.rules
> +++ b/tools/hotplug/Linux/xen-backend.rules
> @@ -1,11 +1,11 @@
> -SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> -SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
>   SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
>   SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
>   SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
>   SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
>   SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
> -SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
> +SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
>   KERNEL=="evtchn", NAME="xen/%k"
>   SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
>   SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
> diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
> index 8f6557d..4a7bc73 100644
> --- a/tools/hotplug/Linux/xen-hotplug-common.sh
> +++ b/tools/hotplug/Linux/xen-hotplug-common.sh
> @@ -15,6 +15,12 @@
>   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
>   #
>
> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> +# has been launched from libxl
> +if [ -n "${UDEV_CALL}" ]&&  \
> +   xenstore-read "libxl/disable_udev">/dev/null 2>&1; then
> +    exit 0
> +fi
>
>   dir=$(dirname "$0")
>   . "$dir/hotplugpath.sh"
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 2f27fd5..ccb5bdc 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1607,6 +1607,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
>               flexarray_append(back, "params");
>               flexarray_append(back, dev);
>
> +            flexarray_append(back, "script");
> +            flexarray_append(back, GCSPRINTF("%s/%s",
> +                                             libxl__xen_script_dir_path(),
> +                                             "block"));
> +
>               assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
>               break;
>           case LIBXL_DISK_BACKEND_TAP:
> @@ -1622,6 +1627,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
>                   libxl__device_disk_string_of_format(disk->format),
>                   disk->pdev_path));
>
> +            flexarray_append(back, "script");
> +            flexarray_append(back, GCSPRINTF("%s/%s",
> +                                             libxl__xen_script_dir_path(),
> +                                             "blktap"));
> +
>               /* now create a phy device to export the device to the guest */
>               goto do_backend_phy;
>           case LIBXL_DISK_BACKEND_QDISK:
> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 9933cc2..8e1ec0f 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
>   static void device_backend_cleanup(libxl__gc *gc,
>                                      libxl__ao_device *aodev);
>
> +static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
> +
> +static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
> +                                   pid_t pid, int status);
> +
> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs);
> +
>   void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
>   {
>       STATE_AO_GC(aodev->ao);
> @@ -657,7 +665,7 @@ retry_transaction:
>
>    out_ok:
>       if (t) xs_transaction_end(ctx->xsh, t, 0);
> -    aodev->callback(egc, aodev);
> +    device_hotplug(egc, aodev);
>       return;
>   }
>
> @@ -689,6 +697,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
>           goto out;
>       }
>
> +    device_hotplug(egc, aodev);
> +    return;
> +
>   out:
>       aodev->rc = rc;
>       aodev->callback(egc, aodev);
> @@ -701,6 +712,114 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
>       libxl__ev_devstate_cancel(gc,&aodev->ds);
>   }
>
> +static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
> +{
> +    STATE_AO_GC(aodev->ao);
> +    char *be_path = libxl__device_backend_path(gc, aodev->dev);
> +    char **args, **env;

These should we initialised to NULL.

char **args = NULL, **env = NULL;

> +    int rc = 0;
> +    int hotplug;
> +
> +    /* Check if we have to execute hotplug scripts for this device
> +     * and return the necessary args/env vars for execution */
> +    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev,&args,&env,
> +                                             aodev->action);
> +    switch (hotplug) {
> +    case 0:
> +        /* no hotplug script to execute */
> +        goto out;
> +    case 1:
> +        /* execute hotplug script */
> +        break;
> +    default:
> +        /* everything else is an error */
> +        LOG(ERROR, "unable to get args/env to execute hotplug script for "
> +                   "device %s", libxl__device_backend_path(gc, aodev->dev));
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    /* Set hotplug timeout */
> +    libxl__ev_time_init(&aodev->ev);
> +    rc = libxl__ev_time_register_rel(gc,&aodev->ev, device_hotplug_timeout_cb,
> +                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
> +    if (rc) {
> +        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
> +        goto out;
> +    }
> +
> +    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
> +    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
> +    libxl__ev_child_init(&aodev->child);
> +
> +    /* fork and execute hotplug script */
> +    aodev->pid = libxl__ev_child_fork(gc,&aodev->child,
> +                                      device_hotplug_fork_cb);
> +    if (aodev->pid == -1) {
> +        LOG(ERROR, "unable to fork");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    if (!aodev->pid) {
> +        /* child */
> +        libxl__exec(gc, -1, -1, -1, args[0], args, env);
> +        /* notreached */
> +        abort();
> +    }
> +
> +    if (!libxl__ev_child_inuse(&aodev->child)) {
> +        /* hotplug launch failed */
> +        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    return;
> +
> +out:
> +    libxl__ev_time_deregister(gc,&aodev->ev);
> +    aodev->rc = rc;
> +    aodev->callback(egc, aodev);
> +    return;
> +}
> +
> +static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
> +                                   pid_t pid, int status)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
> +    STATE_AO_GC(aodev->ao);
> +
> +    libxl__ev_time_deregister(gc,&aodev->ev);
> +
> +    if (status) {
> +        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
> +                                                     : LIBXL__LOG_WARNING,
> +                                      aodev->what, pid, status);
> +        aodev->rc = ERROR_FAIL;
> +    }
> +    aodev->callback(egc, aodev);
> +}
> +
> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
> +    STATE_AO_GC(aodev->ao);
> +
> +    if (libxl__ev_child_inuse(&aodev->child)) {
> +        if (kill(aodev->pid, SIGKILL)) {
> +            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
> +                                aodev->what, (unsigned long)aodev->pid);
> +            goto out;
> +        }
> +    }
> +
> +out:
> +    libxl__ev_time_deregister(gc,&aodev->ev);
> +    return;
> +}
> +
>   static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
>   {
>       STATE_AO_GC(aodev->ao);
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 45b776c..da5b02b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -72,6 +72,7 @@
>
>   #define LIBXL_INIT_TIMEOUT 10
>   #define LIBXL_DESTROY_TIMEOUT 10
> +#define LIBXL_HOTPLUG_TIMEOUT 10
>   #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
>   #define LIBXL_XENCONSOLE_LIMIT 1048576
>   #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
> @@ -1814,6 +1815,11 @@ struct libxl__ao_device {
>       int rc;
>       libxl__ev_devstate ds;
>       void *base;
> +    /* device hotplug execution */
> +    pid_t pid;
> +    char *what;
> +    libxl__ev_time ev;
> +    libxl__ev_child child;
>   };
>
>   /* Internal AO operation to connect a disk device */
> @@ -1842,6 +1848,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
>   _hidden void libxl__initiate_device_remove(libxl__egc *egc,
>                                              libxl__ao_device *aodev);
>
> +/*
> + * libxl__get_hotplug_script_info returns the args and env that should
> + * be passed to the hotplug script for the requested device.
> + *
> + * Since a device might not need to execute any hotplug script, this function
> + * can return the following values:
> + *<  0: Error
> + * 0: No need to execute hotplug script
> + * 1: Execute hotplug script
> + */
> +_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                           char ***args, char ***env,
> +                                           libxl__device_action action);
> +
>   /*----- Domain destruction -----*/
>
>   /* Domain destruction has been split into two functions:
> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 925248b..98cd25f 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
>
>       return 1;
>   }
> +
> +/* Hotplug scripts helpers */
> +
> +static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
> +{
> +    char *be_path = libxl__device_backend_path(gc, dev);
> +    char *script;
> +    const char *type = libxl__device_kind_to_string(dev->backend_kind);
> +    char **env;
> +    int nr = 0, arraysize = 9;
> +
> +    script = libxl__xs_read(gc, XBT_NULL,
> +                            GCSPRINTF("%s/%s", be_path, "script"));
> +    if (!script) {
> +        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
> +        return NULL;
> +    }
> +
> +    GCNEW_ARRAY(env, arraysize);
> +    env[nr++] = "script";
> +    env[nr++] = script;
> +    env[nr++] = "XENBUS_TYPE";
> +    env[nr++] = libxl__strdup(gc, type);
> +    env[nr++] = "XENBUS_PATH";
> +    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
> +    env[nr++] = "XENBUS_BASE_PATH";
> +    env[nr++] = "backend";
> +    env[nr++] = NULL;
> +    assert(nr == arraysize);
> +
> +    return env;
> +}
> +
> +/* Hotplug scripts caller functions */
> +
> +static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
> +                               char ***args, char ***env,
> +                               libxl__device_action action)
> +{
> +    char *be_path = libxl__device_backend_path(gc, dev);
> +    char *script;
> +    int nr = 0, rc = 0, arraysize = 3;
> +
> +    script = libxl__xs_read(gc, XBT_NULL,
> +                            GCSPRINTF("%s/%s", be_path, "script"));
> +    if (!script) {
> +        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
> +        rc = ERROR_FAIL;
> +        goto error;
> +    }
> +
> +    *env = get_hotplug_env(gc, dev);
> +    if (!*env) {
> +        rc = ERROR_FAIL;
> +        goto error;
> +    }
> +
> +    GCNEW_ARRAY(*args, arraysize);
> +    (*args)[nr++] = script;
> +    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
> +    (*args)[nr++] = NULL;
> +    assert(nr == arraysize);
> +
> +    rc = 0;
> +
> +error:
> +    return rc;
> +}
> +
> +int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                   char ***args, char ***env,
> +                                   libxl__device_action action)
> +{
> +    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
> +    int rc;
> +
> +    /* Check if we have to run hotplug scripts */
> +    if (!disable_udev) {
> +        rc = 0;
> +        goto out;
> +    }
> +
> +    switch (dev->backend_kind) {
> +    case LIBXL__DEVICE_KIND_VBD:
> +        rc = libxl__hotplug_disk(gc, dev, args, env, action);
> +        if (!rc) rc = 1;
> +        break;
> +    default:
> +        /* If no need to execute any hotplug scripts,
> +         * call the callback manually
> +         */
> +        rc = 0;
> +        break;
> +    }
> +
> +out:
> +    return rc;
> +}
> diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> index 9e0ed6d..0f2cdaa 100644
> --- a/tools/libxl/libxl_netbsd.c
> +++ b/tools/libxl/libxl_netbsd.c
> @@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
>
>       return 0;
>   }
> +
> +/* Hotplug scripts caller functions */
> +
> +int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                   char ***args, char ***env,
> +                                   libxl__device_action action)
> +{
> +    return 0;
> +}
> \ No newline at end of file
> --
> 1.7.7.5 (Apple Git-26)
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:13:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:13:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXwCl-0001mo-44; Fri, 25 May 2012 15:13:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SXwCi-0001mi-LO
	for xen-devel@lists.xen.org; Fri, 25 May 2012 15:13:25 +0000
Received: from [193.109.254.147:5055] by server-7.bemta-14.messagelabs.com id
	60/F5-01627-391AFBF4; Fri, 25 May 2012 15:13:23 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1337958801!6085441!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17325 invoked from network); 25 May 2012 15:13:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:13:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330923600"; d="scan'208";a="196472095"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 11:13:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 11:13:20 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SXwCe-0002ms-8C;
	Fri, 25 May 2012 16:13:20 +0100
Message-ID: <4FBFA18F.20605@citrix.com>
Date: Fri, 25 May 2012 16:13:19 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-9-git-send-email-roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-9-git-send-email-roger.pau@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne wrote:
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.
>
> We will chain the launch of the disk hotplug scripts after the
> device_backend_callback callback, or directly from
> libxl__initiate_device_{add,remove} if the device is already in the
> desired state.
>
> Changes since v2:
>
>   * Added array size check with assert.
>
>   * Added NetBSD code (so compilation is not broken).
>
>   * Removed a check for null in device_hotplug_timeout_cb.
>
> Changes since v1:
>
>   * Moved all the event related code that was inside libxl_linux.c into
>     libxl_device.c, so the flow of the device addition/removal event is
>     all in the same file.
>
> Cc: Ian Jackson<ian.jackson@eu.citrix.com>
> Signed-off-by: Roger Pau Monne<roger.pau@citrix.com>
> ---
>   tools/hotplug/Linux/xen-backend.rules     |    6 +-
>   tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
>   tools/libxl/libxl.c                       |   10 +++
>   tools/libxl/libxl_device.c                |  121 ++++++++++++++++++++++++++++-
>   tools/libxl/libxl_internal.h              |   20 +++++
>   tools/libxl/libxl_linux.c                 |   98 +++++++++++++++++++++++
>   tools/libxl/libxl_netbsd.c                |    9 ++
>   7 files changed, 266 insertions(+), 4 deletions(-)
>
> diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
> index 405387f..d55ff11 100644
> --- a/tools/hotplug/Linux/xen-backend.rules
> +++ b/tools/hotplug/Linux/xen-backend.rules
> @@ -1,11 +1,11 @@
> -SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> -SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
> +SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
>   SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
>   SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
>   SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
>   SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
>   SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
> -SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
> +SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
>   KERNEL=="evtchn", NAME="xen/%k"
>   SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
>   SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
> diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
> index 8f6557d..4a7bc73 100644
> --- a/tools/hotplug/Linux/xen-hotplug-common.sh
> +++ b/tools/hotplug/Linux/xen-hotplug-common.sh
> @@ -15,6 +15,12 @@
>   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
>   #
>
> +# Hack to prevent the execution of hotplug scripts from udev if the domain
> +# has been launched from libxl
> +if [ -n "${UDEV_CALL}" ]&&  \
> +   xenstore-read "libxl/disable_udev">/dev/null 2>&1; then
> +    exit 0
> +fi
>
>   dir=$(dirname "$0")
>   . "$dir/hotplugpath.sh"
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 2f27fd5..ccb5bdc 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1607,6 +1607,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
>               flexarray_append(back, "params");
>               flexarray_append(back, dev);
>
> +            flexarray_append(back, "script");
> +            flexarray_append(back, GCSPRINTF("%s/%s",
> +                                             libxl__xen_script_dir_path(),
> +                                             "block"));
> +
>               assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
>               break;
>           case LIBXL_DISK_BACKEND_TAP:
> @@ -1622,6 +1627,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
>                   libxl__device_disk_string_of_format(disk->format),
>                   disk->pdev_path));
>
> +            flexarray_append(back, "script");
> +            flexarray_append(back, GCSPRINTF("%s/%s",
> +                                             libxl__xen_script_dir_path(),
> +                                             "blktap"));
> +
>               /* now create a phy device to export the device to the guest */
>               goto do_backend_phy;
>           case LIBXL_DISK_BACKEND_QDISK:
> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 9933cc2..8e1ec0f 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -569,6 +569,14 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
>   static void device_backend_cleanup(libxl__gc *gc,
>                                      libxl__ao_device *aodev);
>
> +static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
> +
> +static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
> +                                   pid_t pid, int status);
> +
> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs);
> +
>   void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
>   {
>       STATE_AO_GC(aodev->ao);
> @@ -657,7 +665,7 @@ retry_transaction:
>
>    out_ok:
>       if (t) xs_transaction_end(ctx->xsh, t, 0);
> -    aodev->callback(egc, aodev);
> +    device_hotplug(egc, aodev);
>       return;
>   }
>
> @@ -689,6 +697,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
>           goto out;
>       }
>
> +    device_hotplug(egc, aodev);
> +    return;
> +
>   out:
>       aodev->rc = rc;
>       aodev->callback(egc, aodev);
> @@ -701,6 +712,114 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
>       libxl__ev_devstate_cancel(gc,&aodev->ds);
>   }
>
> +static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
> +{
> +    STATE_AO_GC(aodev->ao);
> +    char *be_path = libxl__device_backend_path(gc, aodev->dev);
> +    char **args, **env;

These should we initialised to NULL.

char **args = NULL, **env = NULL;

> +    int rc = 0;
> +    int hotplug;
> +
> +    /* Check if we have to execute hotplug scripts for this device
> +     * and return the necessary args/env vars for execution */
> +    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev,&args,&env,
> +                                             aodev->action);
> +    switch (hotplug) {
> +    case 0:
> +        /* no hotplug script to execute */
> +        goto out;
> +    case 1:
> +        /* execute hotplug script */
> +        break;
> +    default:
> +        /* everything else is an error */
> +        LOG(ERROR, "unable to get args/env to execute hotplug script for "
> +                   "device %s", libxl__device_backend_path(gc, aodev->dev));
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    /* Set hotplug timeout */
> +    libxl__ev_time_init(&aodev->ev);
> +    rc = libxl__ev_time_register_rel(gc,&aodev->ev, device_hotplug_timeout_cb,
> +                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
> +    if (rc) {
> +        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
> +        goto out;
> +    }
> +
> +    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
> +    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
> +    libxl__ev_child_init(&aodev->child);
> +
> +    /* fork and execute hotplug script */
> +    aodev->pid = libxl__ev_child_fork(gc,&aodev->child,
> +                                      device_hotplug_fork_cb);
> +    if (aodev->pid == -1) {
> +        LOG(ERROR, "unable to fork");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    if (!aodev->pid) {
> +        /* child */
> +        libxl__exec(gc, -1, -1, -1, args[0], args, env);
> +        /* notreached */
> +        abort();
> +    }
> +
> +    if (!libxl__ev_child_inuse(&aodev->child)) {
> +        /* hotplug launch failed */
> +        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    return;
> +
> +out:
> +    libxl__ev_time_deregister(gc,&aodev->ev);
> +    aodev->rc = rc;
> +    aodev->callback(egc, aodev);
> +    return;
> +}
> +
> +static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
> +                                   pid_t pid, int status)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
> +    STATE_AO_GC(aodev->ao);
> +
> +    libxl__ev_time_deregister(gc,&aodev->ev);
> +
> +    if (status) {
> +        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
> +                                                     : LIBXL__LOG_WARNING,
> +                                      aodev->what, pid, status);
> +        aodev->rc = ERROR_FAIL;
> +    }
> +    aodev->callback(egc, aodev);
> +}
> +
> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
> +    STATE_AO_GC(aodev->ao);
> +
> +    if (libxl__ev_child_inuse(&aodev->child)) {
> +        if (kill(aodev->pid, SIGKILL)) {
> +            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
> +                                aodev->what, (unsigned long)aodev->pid);
> +            goto out;
> +        }
> +    }
> +
> +out:
> +    libxl__ev_time_deregister(gc,&aodev->ev);
> +    return;
> +}
> +
>   static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
>   {
>       STATE_AO_GC(aodev->ao);
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 45b776c..da5b02b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -72,6 +72,7 @@
>
>   #define LIBXL_INIT_TIMEOUT 10
>   #define LIBXL_DESTROY_TIMEOUT 10
> +#define LIBXL_HOTPLUG_TIMEOUT 10
>   #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
>   #define LIBXL_XENCONSOLE_LIMIT 1048576
>   #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
> @@ -1814,6 +1815,11 @@ struct libxl__ao_device {
>       int rc;
>       libxl__ev_devstate ds;
>       void *base;
> +    /* device hotplug execution */
> +    pid_t pid;
> +    char *what;
> +    libxl__ev_time ev;
> +    libxl__ev_child child;
>   };
>
>   /* Internal AO operation to connect a disk device */
> @@ -1842,6 +1848,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
>   _hidden void libxl__initiate_device_remove(libxl__egc *egc,
>                                              libxl__ao_device *aodev);
>
> +/*
> + * libxl__get_hotplug_script_info returns the args and env that should
> + * be passed to the hotplug script for the requested device.
> + *
> + * Since a device might not need to execute any hotplug script, this function
> + * can return the following values:
> + *<  0: Error
> + * 0: No need to execute hotplug script
> + * 1: Execute hotplug script
> + */
> +_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                           char ***args, char ***env,
> +                                           libxl__device_action action);
> +
>   /*----- Domain destruction -----*/
>
>   /* Domain destruction has been split into two functions:
> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 925248b..98cd25f 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
>
>       return 1;
>   }
> +
> +/* Hotplug scripts helpers */
> +
> +static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
> +{
> +    char *be_path = libxl__device_backend_path(gc, dev);
> +    char *script;
> +    const char *type = libxl__device_kind_to_string(dev->backend_kind);
> +    char **env;
> +    int nr = 0, arraysize = 9;
> +
> +    script = libxl__xs_read(gc, XBT_NULL,
> +                            GCSPRINTF("%s/%s", be_path, "script"));
> +    if (!script) {
> +        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
> +        return NULL;
> +    }
> +
> +    GCNEW_ARRAY(env, arraysize);
> +    env[nr++] = "script";
> +    env[nr++] = script;
> +    env[nr++] = "XENBUS_TYPE";
> +    env[nr++] = libxl__strdup(gc, type);
> +    env[nr++] = "XENBUS_PATH";
> +    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
> +    env[nr++] = "XENBUS_BASE_PATH";
> +    env[nr++] = "backend";
> +    env[nr++] = NULL;
> +    assert(nr == arraysize);
> +
> +    return env;
> +}
> +
> +/* Hotplug scripts caller functions */
> +
> +static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
> +                               char ***args, char ***env,
> +                               libxl__device_action action)
> +{
> +    char *be_path = libxl__device_backend_path(gc, dev);
> +    char *script;
> +    int nr = 0, rc = 0, arraysize = 3;
> +
> +    script = libxl__xs_read(gc, XBT_NULL,
> +                            GCSPRINTF("%s/%s", be_path, "script"));
> +    if (!script) {
> +        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
> +        rc = ERROR_FAIL;
> +        goto error;
> +    }
> +
> +    *env = get_hotplug_env(gc, dev);
> +    if (!*env) {
> +        rc = ERROR_FAIL;
> +        goto error;
> +    }
> +
> +    GCNEW_ARRAY(*args, arraysize);
> +    (*args)[nr++] = script;
> +    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
> +    (*args)[nr++] = NULL;
> +    assert(nr == arraysize);
> +
> +    rc = 0;
> +
> +error:
> +    return rc;
> +}
> +
> +int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                   char ***args, char ***env,
> +                                   libxl__device_action action)
> +{
> +    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
> +    int rc;
> +
> +    /* Check if we have to run hotplug scripts */
> +    if (!disable_udev) {
> +        rc = 0;
> +        goto out;
> +    }
> +
> +    switch (dev->backend_kind) {
> +    case LIBXL__DEVICE_KIND_VBD:
> +        rc = libxl__hotplug_disk(gc, dev, args, env, action);
> +        if (!rc) rc = 1;
> +        break;
> +    default:
> +        /* If no need to execute any hotplug scripts,
> +         * call the callback manually
> +         */
> +        rc = 0;
> +        break;
> +    }
> +
> +out:
> +    return rc;
> +}
> diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> index 9e0ed6d..0f2cdaa 100644
> --- a/tools/libxl/libxl_netbsd.c
> +++ b/tools/libxl/libxl_netbsd.c
> @@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
>
>       return 0;
>   }
> +
> +/* Hotplug scripts caller functions */
> +
> +int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                   char ***args, char ***env,
> +                                   libxl__device_action action)
> +{
> +    return 0;
> +}
> \ No newline at end of file
> --
> 1.7.7.5 (Apple Git-26)
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:28:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:28:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXwQc-0001zA-UA; Fri, 25 May 2012 15:27:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXwQb-0001z3-H9
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 15:27:45 +0000
Received: from [193.109.254.147:17937] by server-12.bemta-14.messagelabs.com
	id F4/F5-05898-0F4AFBF4; Fri, 25 May 2012 15:27:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337959663!3556493!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16939 invoked from network); 25 May 2012 15:27:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:27:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12674576"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 15:27:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 16:27:43 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXwQY-0007FI-UM;
	Fri, 25 May 2012 15:27:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXwQY-0004zr-F4;
	Fri, 25 May 2012 16:27:42 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12970-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 25 May 2012 16:27:42 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12970: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12970 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12970/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12886
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12886
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install     fail REGR. vs. 12886

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass

version targeted for testing:
 xen                  435493696053
baseline version:
 xen                  35248be669e7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=435493696053
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing 435493696053
+ branch=xen-4.1-testing
+ revision=435493696053
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r 435493696053 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:28:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:28:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXwQc-0001zA-UA; Fri, 25 May 2012 15:27:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SXwQb-0001z3-H9
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 15:27:45 +0000
Received: from [193.109.254.147:17937] by server-12.bemta-14.messagelabs.com
	id F4/F5-05898-0F4AFBF4; Fri, 25 May 2012 15:27:44 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337959663!3556493!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16939 invoked from network); 25 May 2012 15:27:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:27:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12674576"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 15:27:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 16:27:43 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SXwQY-0007FI-UM;
	Fri, 25 May 2012 15:27:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SXwQY-0004zr-F4;
	Fri, 25 May 2012 16:27:42 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12970-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 25 May 2012 16:27:42 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-4.1-testing test] 12970: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12970 xen-4.1-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12970/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-pcipt-intel  8 debian-fixup           fail REGR. vs. 12886
 test-amd64-amd64-xl-sedf      5 xen-boot                     fail   like 12886
 test-amd64-i386-xl-winxpsp3-vcpus1  7 windows-install     fail REGR. vs. 12886

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass

version targeted for testing:
 xen                  435493696053
baseline version:
 xen                  35248be669e7

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-4.1-testing
+ revision=435493696053
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-4.1-testing 435493696053
+ branch=xen-4.1-testing
+ revision=435493696053
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-4.1-testing
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-4.1-testing.hg
++ : git://xenbits.xen.org/staging/qemu-xen-4.1-testing.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-4.1-testing
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-4.1-testing.git
++ : daily-cron.xen-4.1-testing
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-4.1-testing.git
+ info_linux_tree xen-4.1-testing
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-4.1-testing.hg
+ hg push -r 435493696053 ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-4.1-testing.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:42:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:42:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXweo-0002CT-Iu; Fri, 25 May 2012 15:42:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXwen-0002CO-MO
	for xen-devel@lists.xen.org; Fri, 25 May 2012 15:42:25 +0000
Received: from [85.158.143.99:5040] by server-2.bemta-4.messagelabs.com id
	40/B3-12211-068AFBF4; Fri, 25 May 2012 15:42:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337960544!18634379!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2490 invoked from network); 25 May 2012 15:42:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:42:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12674815"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 15:42:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 16:42:24 +0100
Message-ID: <1337960542.22311.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 25 May 2012 16:42:22 +0100
In-Reply-To: <4FBF9D9E.9050601@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
	<4FBE02E6.2050807@amd.com> <4FBF9D9E.9050601@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 15:56 +0100, Roger Pau Monne wrote:

> I also see an error when starting xencommons on NetBSD:
> 
> test# /usr/xen42/etc/rc.d/xencommons onestart
> Cleaning xenstore database.
> Starting xenservices: xenstored, xenconsoled, xenbackendd.xc: error: 
> OSDEP: interface 2 (gnttab) not supported on this platform: Internal error
> 
> Which is quite annoying, but I'm not really sure of the most elegant way 
> to solve this. The error comes from tools/libxc/xc_private.c:177, so 
> maybe just removing that message would be ok,

I think removing the message is fine. This interface is intentionally
"optional" so making a load of noise when the option is exercised seems
silly...

If you make it a DPRINTF is it silent in this context? If not then just
nuke it entirely...

Ian.


>  or something like this:
> 
> --- a/tools/libxc/xc_private.c
> +++ b/tools/libxc/xc_private.c
> @@ -265,8 +265,12 @@ int xc_evtchn_close(xc_evtchn *xce)
>   xc_gnttab *xc_gnttab_open(xentoollog_logger *logger,
>                                unsigned open_flags)
>   {
> +#ifndef __NetBSD__
>       return xc_interface_open_common(logger, NULL, open_flags,
>                                       XC_OSDEP_GNTTAB);
> +#else
> +    return NULL;
> +#endif
>   }
> 
> Which is not really pretty.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 15:42:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 15:42:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXweo-0002CT-Iu; Fri, 25 May 2012 15:42:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXwen-0002CO-MO
	for xen-devel@lists.xen.org; Fri, 25 May 2012 15:42:25 +0000
Received: from [85.158.143.99:5040] by server-2.bemta-4.messagelabs.com id
	40/B3-12211-068AFBF4; Fri, 25 May 2012 15:42:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1337960544!18634379!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2490 invoked from network); 25 May 2012 15:42:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 15:42:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,656,1330905600"; d="scan'208";a="12674815"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 15:42:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 16:42:24 +0100
Message-ID: <1337960542.22311.43.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Date: Fri, 25 May 2012 16:42:22 +0100
In-Reply-To: <4FBF9D9E.9050601@citrix.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
	<4FBE02E6.2050807@amd.com> <4FBF9D9E.9050601@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 15:56 +0100, Roger Pau Monne wrote:

> I also see an error when starting xencommons on NetBSD:
> 
> test# /usr/xen42/etc/rc.d/xencommons onestart
> Cleaning xenstore database.
> Starting xenservices: xenstored, xenconsoled, xenbackendd.xc: error: 
> OSDEP: interface 2 (gnttab) not supported on this platform: Internal error
> 
> Which is quite annoying, but I'm not really sure of the most elegant way 
> to solve this. The error comes from tools/libxc/xc_private.c:177, so 
> maybe just removing that message would be ok,

I think removing the message is fine. This interface is intentionally
"optional" so making a load of noise when the option is exercised seems
silly...

If you make it a DPRINTF is it silent in this context? If not then just
nuke it entirely...

Ian.


>  or something like this:
> 
> --- a/tools/libxc/xc_private.c
> +++ b/tools/libxc/xc_private.c
> @@ -265,8 +265,12 @@ int xc_evtchn_close(xc_evtchn *xce)
>   xc_gnttab *xc_gnttab_open(xentoollog_logger *logger,
>                                unsigned open_flags)
>   {
> +#ifndef __NetBSD__
>       return xc_interface_open_common(logger, NULL, open_flags,
>                                       XC_OSDEP_GNTTAB);
> +#else
> +    return NULL;
> +#endif
>   }
> 
> Which is not really pretty.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:22:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:22:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxGx-0002oc-Ra; Fri, 25 May 2012 16:21:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxGw-0002oX-DH
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:21:50 +0000
Received: from [85.158.139.83:56415] by server-11.bemta-5.messagelabs.com id
	B7/94-12711-D91BFBF4; Fri, 25 May 2012 16:21:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337962908!30424349!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18581 invoked from network); 25 May 2012 16:21:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:21:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330905600"; d="scan'208";a="12675463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 16:21:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 17:21:48 +0100
Date: Fri, 25 May 2012 17:21:43 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: [Xen-devel] [PATCH v4 0/6] xen/arm: event channels and shared_info
	page
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series implements support for injecting event channels into
the guest and enables a wider range of hypercalls for ARM guests.

In order to allow more flexibility I modified the hypercall protocol, in
particular the hypercall number is not passed as imm to hvc anymore,
because we might not always know it at compile time.
The hypercall number is now passed on the r12 register.

With this patch series and using the following Linux tree:

git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git vexpress-dt-privcmd-2

I am able to boot dom0, start xenstored and run basic xl commands, like
"xl list" and "xl uptime".
I have added at the beginning of this series few patches that were
previously sent separately (in particular "arm: support fewer LR
registers than virtual irqs").


Changes in v4:

- drop all the patches that have already been committed;

- rebase on "amd iommu: improve parse_event_log_entry()";

- move the initialization of gic.lr_pending and gic.lr_mask to gic_init;

- pass 0 as memflags to alloc_xenheap_pages in arch_domain_create.


Changes in v3:

- several fixes to "support fewer LR registers than virtual irqs";

- many more comments to the gic and vgic IRQ queues;

- merge Ian's patch into "shared_info page allocation and mapping";

- do not alloc the shared_info page for the idle domain;

- added "handle dom0_max_vcpus=0 case properly" by Ian, removed the
corresponding patch in my series;

- move XEN_HYPERCALL_TAG to a public header;

- clobber register in the debug build;

- document calling convention;

- check if arm_hypercall_table[regs->r12] != NULL;

- use a PPI for events injection (IRQ 31) and do not request maintenance
interrupts for it whenever possible.


Changes in v2:

- fixed tabs/spaces problem.



Stefano Stabellini (6):
      arm: support fewer LR registers than virtual irqs
      arm: replace list_del and INIT_LIST_HEAD with list_del_init
      arm: shared_info page allocation and mapping
      arm: implement flush_tlb_all_local and flush_tlb_local
      arm: remove VGIC_SOFTIRQ
      arm: implement event injection

 xen/arch/arm/domain.c          |   22 ++++++
 xen/arch/arm/dummy.S           |    1 -
 xen/arch/arm/gic.c             |  152 +++++++++++++++++++++++++++++++++-------
 xen/arch/arm/gic.h             |    7 ++-
 xen/arch/arm/mm.c              |   98 +++++++++++++++++++++++++-
 xen/arch/arm/p2m.c             |   26 +++++++-
 xen/arch/arm/traps.c           |    4 +-
 xen/arch/arm/vgic.c            |   15 ----
 xen/include/asm-arm/config.h   |    2 +
 xen/include/asm-arm/domain.h   |   10 +++
 xen/include/asm-arm/flushtlb.h |   23 ++++++-
 xen/include/asm-arm/mm.h       |    4 +
 xen/include/asm-arm/p2m.h      |    9 +++
 xen/include/asm-arm/paging.h   |    3 +
 xen/include/asm-arm/softirq.h  |    3 +-
 15 files changed, 326 insertions(+), 53 deletions(-)



A git branch is available here:

git://xenbits.xen.org/people/sstabellini/xen-unstable.git events-4

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:22:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:22:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxGx-0002oc-Ra; Fri, 25 May 2012 16:21:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxGw-0002oX-DH
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:21:50 +0000
Received: from [85.158.139.83:56415] by server-11.bemta-5.messagelabs.com id
	B7/94-12711-D91BFBF4; Fri, 25 May 2012 16:21:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337962908!30424349!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18581 invoked from network); 25 May 2012 16:21:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:21:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330905600"; d="scan'208";a="12675463"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 16:21:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 17:21:48 +0100
Date: Fri, 25 May 2012 17:21:43 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: [Xen-devel] [PATCH v4 0/6] xen/arm: event channels and shared_info
	page
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series implements support for injecting event channels into
the guest and enables a wider range of hypercalls for ARM guests.

In order to allow more flexibility I modified the hypercall protocol, in
particular the hypercall number is not passed as imm to hvc anymore,
because we might not always know it at compile time.
The hypercall number is now passed on the r12 register.

With this patch series and using the following Linux tree:

git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git vexpress-dt-privcmd-2

I am able to boot dom0, start xenstored and run basic xl commands, like
"xl list" and "xl uptime".
I have added at the beginning of this series few patches that were
previously sent separately (in particular "arm: support fewer LR
registers than virtual irqs").


Changes in v4:

- drop all the patches that have already been committed;

- rebase on "amd iommu: improve parse_event_log_entry()";

- move the initialization of gic.lr_pending and gic.lr_mask to gic_init;

- pass 0 as memflags to alloc_xenheap_pages in arch_domain_create.


Changes in v3:

- several fixes to "support fewer LR registers than virtual irqs";

- many more comments to the gic and vgic IRQ queues;

- merge Ian's patch into "shared_info page allocation and mapping";

- do not alloc the shared_info page for the idle domain;

- added "handle dom0_max_vcpus=0 case properly" by Ian, removed the
corresponding patch in my series;

- move XEN_HYPERCALL_TAG to a public header;

- clobber register in the debug build;

- document calling convention;

- check if arm_hypercall_table[regs->r12] != NULL;

- use a PPI for events injection (IRQ 31) and do not request maintenance
interrupts for it whenever possible.


Changes in v2:

- fixed tabs/spaces problem.



Stefano Stabellini (6):
      arm: support fewer LR registers than virtual irqs
      arm: replace list_del and INIT_LIST_HEAD with list_del_init
      arm: shared_info page allocation and mapping
      arm: implement flush_tlb_all_local and flush_tlb_local
      arm: remove VGIC_SOFTIRQ
      arm: implement event injection

 xen/arch/arm/domain.c          |   22 ++++++
 xen/arch/arm/dummy.S           |    1 -
 xen/arch/arm/gic.c             |  152 +++++++++++++++++++++++++++++++++-------
 xen/arch/arm/gic.h             |    7 ++-
 xen/arch/arm/mm.c              |   98 +++++++++++++++++++++++++-
 xen/arch/arm/p2m.c             |   26 +++++++-
 xen/arch/arm/traps.c           |    4 +-
 xen/arch/arm/vgic.c            |   15 ----
 xen/include/asm-arm/config.h   |    2 +
 xen/include/asm-arm/domain.h   |   10 +++
 xen/include/asm-arm/flushtlb.h |   23 ++++++-
 xen/include/asm-arm/mm.h       |    4 +
 xen/include/asm-arm/p2m.h      |    9 +++
 xen/include/asm-arm/paging.h   |    3 +
 xen/include/asm-arm/softirq.h  |    3 +-
 15 files changed, 326 insertions(+), 53 deletions(-)



A git branch is available here:

git://xenbits.xen.org/people/sstabellini/xen-unstable.git events-4

Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIV-0002sP-2W; Fri, 25 May 2012 16:23:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIU-0002s3-CT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:26 +0000
Received: from [85.158.138.51:51843] by server-7.bemta-3.messagelabs.com id
	BB/F0-17379-DF1BFBF4; Fri, 25 May 2012 16:23:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17362 invoked from network); 25 May 2012 16:23:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481025"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-FO; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:10 +0100
Message-ID: <1337962994-23573-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 2/6] arm: replace list_del and INIT_LIST_HEAD
	with list_del_init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index ea5ce06..c05e598 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -539,8 +539,7 @@ static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *r
             p->desc->status &= ~IRQ_INPROGRESS;
             GICC[GICC_DIR] = virq;
         }
-        list_del(&p->inflight);
-        INIT_LIST_HEAD(&p->inflight);
+        list_del_init(&p->inflight);
         cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
         spin_unlock(&current->arch.vgic.lock);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIV-0002sP-2W; Fri, 25 May 2012 16:23:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIU-0002s3-CT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:26 +0000
Received: from [85.158.138.51:51843] by server-7.bemta-3.messagelabs.com id
	BB/F0-17379-DF1BFBF4; Fri, 25 May 2012 16:23:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17362 invoked from network); 25 May 2012 16:23:24 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481025"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-FO; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:10 +0100
Message-ID: <1337962994-23573-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 2/6] arm: replace list_del and INIT_LIST_HEAD
	with list_del_init
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index ea5ce06..c05e598 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -539,8 +539,7 @@ static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *r
             p->desc->status &= ~IRQ_INPROGRESS;
             GICC[GICC_DIR] = virq;
         }
-        list_del(&p->inflight);
-        INIT_LIST_HEAD(&p->inflight);
+        list_del_init(&p->inflight);
         cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
         spin_unlock(&current->arch.vgic.lock);
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIW-0002t1-KN; Fri, 25 May 2012 16:23:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIV-0002sH-60
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:27 +0000
Received: from [85.158.138.51:51870] by server-11.bemta-3.messagelabs.com id
	37/17-20431-EF1BFBF4; Fri, 25 May 2012 16:23:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17383 invoked from network); 25 May 2012 16:23:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481026"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-Em; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:09 +0100
Message-ID: <1337962994-23573-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 1/6] arm: support fewer LR registers than
	virtual irqs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the vgic needs to inject a virtual irq into the guest, but no free
LR registers are available, add the irq to a list and return.
Whenever an LR register becomes available we add the queued irq to it
and remove it from the list.
We use the gic lock to protect the list and the bitmask.


Changes in v4:

- move the initialization of gic.lr_pending and gic.lr_mask to gic_init.


Changes in v3:

- added some comments;

- rename lr_link to lr_queue;

- fix list handling in gic_set_guest_irq;

- use nr_lrs instead of sizeof(uint64_t) as argument to
find_first_zero_bit.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic.c           |  102 +++++++++++++++++++++++++++++++++---------
 xen/include/asm-arm/domain.h |   10 ++++
 2 files changed, 90 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 34a2c3f..ea5ce06 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -25,6 +25,7 @@
 #include <xen/sched.h>
 #include <xen/errno.h>
 #include <xen/softirq.h>
+#include <xen/list.h>
 #include <asm/p2m.h>
 #include <asm/domain.h>
 
@@ -45,6 +46,14 @@ static struct {
     unsigned int lines;
     unsigned int cpus;
     spinlock_t lock;
+    uint64_t lr_mask;
+    /* lr_pending is used to queue IRQs (struct pending_irq) that the
+     * vgic tried to inject in the guest (calling gic_set_guest_irq) but
+     * no LRs were available at the time.
+     * As soon as an LR is freed we remove the first IRQ from this
+     * list and write it to the LR register.
+     * lr_pending is a subset of vgic.inflight_irqs. */
+    struct list_head lr_pending;
 } gic;
 
 irq_desc_t irq_desc[NR_IRQS];
@@ -283,6 +292,9 @@ int __init gic_init(void)
     gic_cpu_init();
     gic_hyp_init();
 
+    gic.lr_mask = 0ULL;
+    INIT_LIST_HEAD(&gic.lr_pending);
+
     spin_unlock(&gic.lock);
 
     return gic.cpus;
@@ -377,16 +389,50 @@ int __init setup_irq(unsigned int irq, struct irqaction *new)
     return rc;
 }
 
-void gic_set_guest_irq(unsigned int virtual_irq,
+static inline void gic_set_lr(int lr, unsigned int virtual_irq,
         unsigned int state, unsigned int priority)
 {
-    BUG_ON(virtual_irq > nr_lrs);
-    GICH[GICH_LR + virtual_irq] = state |
+    BUG_ON(lr > nr_lrs);
+    GICH[GICH_LR + lr] = state |
         GICH_LR_MAINTENANCE_IRQ |
         ((priority >> 3) << GICH_LR_PRIORITY_SHIFT) |
         ((virtual_irq & GICH_LR_VIRTUAL_MASK) << GICH_LR_VIRTUAL_SHIFT);
 }
 
+void gic_set_guest_irq(unsigned int virtual_irq,
+        unsigned int state, unsigned int priority)
+{
+    int i;
+    struct pending_irq *iter, *n;
+
+    spin_lock(&gic.lock);
+
+    if ( list_empty(&gic.lr_pending) )
+    {
+        i = find_first_zero_bit(&gic.lr_mask, nr_lrs);
+        if (i < nr_lrs) {
+            set_bit(i, &gic.lr_mask);
+            gic_set_lr(i, virtual_irq, state, priority);
+            goto out;
+        }
+    }
+
+    n = irq_to_pending(current, virtual_irq);
+    list_for_each_entry ( iter, &gic.lr_pending, lr_queue )
+    {
+        if ( iter->priority > priority )
+        {
+            list_add_tail(&n->lr_queue, &iter->lr_queue);
+            goto out;
+        }
+    }
+    list_add_tail(&n->lr_queue, &gic.lr_pending);
+
+out:
+    spin_unlock(&gic.lock);
+    return;
+}
+
 void gic_inject_irq_start(void)
 {
     uint32_t hcr;
@@ -463,30 +509,42 @@ void gicv_setup(struct domain *d)
 
 static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
 {
-    int i, virq;
+    int i = 0, virq;
     uint32_t lr;
     uint64_t eisr = GICH[GICH_EISR0] | (((uint64_t) GICH[GICH_EISR1]) << 32);
 
-    for ( i = 0; i < 64; i++ ) {
-        if ( eisr & ((uint64_t)1 << i) ) {
-            struct pending_irq *p;
-
-            lr = GICH[GICH_LR + i];
-            virq = lr & GICH_LR_VIRTUAL_MASK;
-            GICH[GICH_LR + i] = 0;
-
-            spin_lock(&current->arch.vgic.lock);
-            p = irq_to_pending(current, virq);
-            if ( p->desc != NULL ) {
-                p->desc->status &= ~IRQ_INPROGRESS;
-                GICC[GICC_DIR] = virq;
-            }
+    while ((i = find_next_bit((const long unsigned int *) &eisr,
+                              sizeof(eisr), i)) < sizeof(eisr)) {
+        struct pending_irq *p;
+
+        spin_lock(&gic.lock);
+        lr = GICH[GICH_LR + i];
+        virq = lr & GICH_LR_VIRTUAL_MASK;
+        GICH[GICH_LR + i] = 0;
+        clear_bit(i, &gic.lr_mask);
+
+        if ( !list_empty(&gic.lr_pending) ) {
+            p = list_entry(gic.lr_pending.next, typeof(*p), lr_queue);
+            gic_set_lr(i, p->irq, GICH_LR_PENDING, p->priority);
+            list_del_init(&p->lr_queue);
+            set_bit(i, &gic.lr_mask);
+        } else {
             gic_inject_irq_stop();
-            list_del(&p->inflight);
-            INIT_LIST_HEAD(&p->inflight);
-            cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
-            spin_unlock(&current->arch.vgic.lock);
         }
+        spin_unlock(&gic.lock);
+
+        spin_lock(&current->arch.vgic.lock);
+        p = irq_to_pending(current, virq);
+        if ( p->desc != NULL ) {
+            p->desc->status &= ~IRQ_INPROGRESS;
+            GICC[GICC_DIR] = virq;
+        }
+        list_del(&p->inflight);
+        INIT_LIST_HEAD(&p->inflight);
+        cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
+        spin_unlock(&current->arch.vgic.lock);
+
+        i++;
     }
 }
 
diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
index d01534b..10ed540 100644
--- a/xen/include/asm-arm/domain.h
+++ b/xen/include/asm-arm/domain.h
@@ -23,6 +23,9 @@ struct pending_irq
     /* inflight is used to append instances of pending_irq to
      * vgic.inflight_irqs */
     struct list_head inflight;
+    /* lr_queue is used to append instances of pending_irq to
+     * gic.lr_pending */
+    struct list_head lr_queue;
 };
 
 struct arch_domain
@@ -75,6 +78,13 @@ struct arch_vcpu
 
     struct {
         struct vgic_irq_rank private_irqs;
+        /* This list is ordered by IRQ priority and it is used to keep
+         * track of the IRQs that the VGIC injected into the guest.
+         * Depending on the availability of LR registers, the IRQs might
+         * actually be in an LR, and therefore injected into the guest,
+         * or queued in gic.lr_pending.
+         * As soon as an IRQ is EOI'd by the guest and removed from the
+         * corresponding LR it is also removed from this list. */
         struct list_head inflight_irqs;
         spinlock_t lock;
     } vgic;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIW-0002t1-KN; Fri, 25 May 2012 16:23:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIV-0002sH-60
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:27 +0000
Received: from [85.158.138.51:51870] by server-11.bemta-3.messagelabs.com id
	37/17-20431-EF1BFBF4; Fri, 25 May 2012 16:23:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17383 invoked from network); 25 May 2012 16:23:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481026"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-Em; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:09 +0100
Message-ID: <1337962994-23573-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 1/6] arm: support fewer LR registers than
	virtual irqs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If the vgic needs to inject a virtual irq into the guest, but no free
LR registers are available, add the irq to a list and return.
Whenever an LR register becomes available we add the queued irq to it
and remove it from the list.
We use the gic lock to protect the list and the bitmask.


Changes in v4:

- move the initialization of gic.lr_pending and gic.lr_mask to gic_init.


Changes in v3:

- added some comments;

- rename lr_link to lr_queue;

- fix list handling in gic_set_guest_irq;

- use nr_lrs instead of sizeof(uint64_t) as argument to
find_first_zero_bit.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic.c           |  102 +++++++++++++++++++++++++++++++++---------
 xen/include/asm-arm/domain.h |   10 ++++
 2 files changed, 90 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 34a2c3f..ea5ce06 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -25,6 +25,7 @@
 #include <xen/sched.h>
 #include <xen/errno.h>
 #include <xen/softirq.h>
+#include <xen/list.h>
 #include <asm/p2m.h>
 #include <asm/domain.h>
 
@@ -45,6 +46,14 @@ static struct {
     unsigned int lines;
     unsigned int cpus;
     spinlock_t lock;
+    uint64_t lr_mask;
+    /* lr_pending is used to queue IRQs (struct pending_irq) that the
+     * vgic tried to inject in the guest (calling gic_set_guest_irq) but
+     * no LRs were available at the time.
+     * As soon as an LR is freed we remove the first IRQ from this
+     * list and write it to the LR register.
+     * lr_pending is a subset of vgic.inflight_irqs. */
+    struct list_head lr_pending;
 } gic;
 
 irq_desc_t irq_desc[NR_IRQS];
@@ -283,6 +292,9 @@ int __init gic_init(void)
     gic_cpu_init();
     gic_hyp_init();
 
+    gic.lr_mask = 0ULL;
+    INIT_LIST_HEAD(&gic.lr_pending);
+
     spin_unlock(&gic.lock);
 
     return gic.cpus;
@@ -377,16 +389,50 @@ int __init setup_irq(unsigned int irq, struct irqaction *new)
     return rc;
 }
 
-void gic_set_guest_irq(unsigned int virtual_irq,
+static inline void gic_set_lr(int lr, unsigned int virtual_irq,
         unsigned int state, unsigned int priority)
 {
-    BUG_ON(virtual_irq > nr_lrs);
-    GICH[GICH_LR + virtual_irq] = state |
+    BUG_ON(lr > nr_lrs);
+    GICH[GICH_LR + lr] = state |
         GICH_LR_MAINTENANCE_IRQ |
         ((priority >> 3) << GICH_LR_PRIORITY_SHIFT) |
         ((virtual_irq & GICH_LR_VIRTUAL_MASK) << GICH_LR_VIRTUAL_SHIFT);
 }
 
+void gic_set_guest_irq(unsigned int virtual_irq,
+        unsigned int state, unsigned int priority)
+{
+    int i;
+    struct pending_irq *iter, *n;
+
+    spin_lock(&gic.lock);
+
+    if ( list_empty(&gic.lr_pending) )
+    {
+        i = find_first_zero_bit(&gic.lr_mask, nr_lrs);
+        if (i < nr_lrs) {
+            set_bit(i, &gic.lr_mask);
+            gic_set_lr(i, virtual_irq, state, priority);
+            goto out;
+        }
+    }
+
+    n = irq_to_pending(current, virtual_irq);
+    list_for_each_entry ( iter, &gic.lr_pending, lr_queue )
+    {
+        if ( iter->priority > priority )
+        {
+            list_add_tail(&n->lr_queue, &iter->lr_queue);
+            goto out;
+        }
+    }
+    list_add_tail(&n->lr_queue, &gic.lr_pending);
+
+out:
+    spin_unlock(&gic.lock);
+    return;
+}
+
 void gic_inject_irq_start(void)
 {
     uint32_t hcr;
@@ -463,30 +509,42 @@ void gicv_setup(struct domain *d)
 
 static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
 {
-    int i, virq;
+    int i = 0, virq;
     uint32_t lr;
     uint64_t eisr = GICH[GICH_EISR0] | (((uint64_t) GICH[GICH_EISR1]) << 32);
 
-    for ( i = 0; i < 64; i++ ) {
-        if ( eisr & ((uint64_t)1 << i) ) {
-            struct pending_irq *p;
-
-            lr = GICH[GICH_LR + i];
-            virq = lr & GICH_LR_VIRTUAL_MASK;
-            GICH[GICH_LR + i] = 0;
-
-            spin_lock(&current->arch.vgic.lock);
-            p = irq_to_pending(current, virq);
-            if ( p->desc != NULL ) {
-                p->desc->status &= ~IRQ_INPROGRESS;
-                GICC[GICC_DIR] = virq;
-            }
+    while ((i = find_next_bit((const long unsigned int *) &eisr,
+                              sizeof(eisr), i)) < sizeof(eisr)) {
+        struct pending_irq *p;
+
+        spin_lock(&gic.lock);
+        lr = GICH[GICH_LR + i];
+        virq = lr & GICH_LR_VIRTUAL_MASK;
+        GICH[GICH_LR + i] = 0;
+        clear_bit(i, &gic.lr_mask);
+
+        if ( !list_empty(&gic.lr_pending) ) {
+            p = list_entry(gic.lr_pending.next, typeof(*p), lr_queue);
+            gic_set_lr(i, p->irq, GICH_LR_PENDING, p->priority);
+            list_del_init(&p->lr_queue);
+            set_bit(i, &gic.lr_mask);
+        } else {
             gic_inject_irq_stop();
-            list_del(&p->inflight);
-            INIT_LIST_HEAD(&p->inflight);
-            cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
-            spin_unlock(&current->arch.vgic.lock);
         }
+        spin_unlock(&gic.lock);
+
+        spin_lock(&current->arch.vgic.lock);
+        p = irq_to_pending(current, virq);
+        if ( p->desc != NULL ) {
+            p->desc->status &= ~IRQ_INPROGRESS;
+            GICC[GICC_DIR] = virq;
+        }
+        list_del(&p->inflight);
+        INIT_LIST_HEAD(&p->inflight);
+        cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
+        spin_unlock(&current->arch.vgic.lock);
+
+        i++;
     }
 }
 
diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
index d01534b..10ed540 100644
--- a/xen/include/asm-arm/domain.h
+++ b/xen/include/asm-arm/domain.h
@@ -23,6 +23,9 @@ struct pending_irq
     /* inflight is used to append instances of pending_irq to
      * vgic.inflight_irqs */
     struct list_head inflight;
+    /* lr_queue is used to append instances of pending_irq to
+     * gic.lr_pending */
+    struct list_head lr_queue;
 };
 
 struct arch_domain
@@ -75,6 +78,13 @@ struct arch_vcpu
 
     struct {
         struct vgic_irq_rank private_irqs;
+        /* This list is ordered by IRQ priority and it is used to keep
+         * track of the IRQs that the VGIC injected into the guest.
+         * Depending on the availability of LR registers, the IRQs might
+         * actually be in an LR, and therefore injected into the guest,
+         * or queued in gic.lr_pending.
+         * As soon as an IRQ is EOI'd by the guest and removed from the
+         * corresponding LR it is also removed from this list. */
         struct list_head inflight_irqs;
         spinlock_t lock;
     } vgic;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIU-0002sG-Ly; Fri, 25 May 2012 16:23:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIT-0002rx-CL
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:25 +0000
Received: from [193.109.254.147:35061] by server-5.bemta-14.messagelabs.com id
	8B/74-30733-CF1BFBF4; Fri, 25 May 2012 16:23:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337963002!10377843!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11996 invoked from network); 25 May 2012 16:23:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="25776831"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-Jt; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:14 +0100
Message-ID: <1337962994-23573-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 6/6] arm: implement event injection
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Implement vcpu_mark_events_pending using the vgic to inject PPI 31, that
we reserve for Xen usage.
In the future the interrupt used for event injection might be dynamic
and could be written into the device tree.
Otherwise it could be an SGI choosen by the guest and passed to Xen
through an hypercall.


Considering that:

- it is easy to determine if an event notification
interrupt has already been EOI'd by the guest just looking at the
evtchn_upcall_pending bit in the shared_info page;

- we can safely assume that there is at most one event notification
interrupt pending at any time in any set of LR registers because we
never inject more than a single event notification interrupt in one vcpu
(see vcpu_mark_events_pending);

we can avoid requesting maintenance interrupts for
VGIC_IRQ_EVTCHN_CALLBACK, provided that we check for event notification
interrupts that need to be cleared in the following places:

- maintenance interrupt entry;

- gic_set_guest_irq;

that is every time we are about to write to an LR.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/domain.c |   11 +++++++++++
 xen/arch/arm/dummy.S  |    1 -
 xen/arch/arm/gic.c    |   40 +++++++++++++++++++++++++++++++++++++++-
 xen/arch/arm/gic.h    |    3 +++
 4 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 3a726c8..5702399 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -232,6 +232,17 @@ void arch_dump_vcpu_info(struct vcpu *v)
 {
 }
 
+void vcpu_mark_events_pending(struct vcpu *v)
+{
+    int already_pending = test_and_set_bit(
+        0, (unsigned long *)&vcpu_info(v, evtchn_upcall_pending));
+
+    if ( already_pending )
+        return;
+
+    vgic_vcpu_inject_irq(v, VGIC_IRQ_EVTCHN_CALLBACK, 1);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/dummy.S b/xen/arch/arm/dummy.S
index 8c6151c..016340c 100644
--- a/xen/arch/arm/dummy.S
+++ b/xen/arch/arm/dummy.S
@@ -27,7 +27,6 @@ DUMMY(arch_vcpu_reset);
 DUMMY(free_vcpu_guest_context);
 DUMMY(sync_vcpu_execstate);
 NOP(update_vcpu_system_time);
-DUMMY(vcpu_mark_events_pending);
 DUMMY(vcpu_show_execution_state);
 
 /* Page Reference & Type Maintenance */
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index cdb4e4a..cc9d37b 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -37,6 +37,7 @@
                                      + (GIC_CR_OFFSET & 0xfff)))
 #define GICH ((volatile uint32_t *) (FIXMAP_ADDR(FIXMAP_GICH)  \
                                      + (GIC_HR_OFFSET & 0xfff)))
+static void events_maintenance(struct vcpu *v);
 
 /* Global state */
 static struct {
@@ -46,6 +47,7 @@ static struct {
     unsigned int lines;
     unsigned int cpus;
     spinlock_t lock;
+    uint64_t event_mask;
     uint64_t lr_mask;
     /* lr_pending is used to queue IRQs (struct pending_irq) that the
      * vgic tried to inject in the guest (calling gic_set_guest_irq) but
@@ -293,6 +295,7 @@ int __init gic_init(void)
     gic_hyp_init();
 
     gic.lr_mask = 0ULL;
+    gic.event_mask = 0ULL;
     INIT_LIST_HEAD(&gic.lr_pending);
 
     spin_unlock(&gic.lock);
@@ -392,9 +395,15 @@ int __init setup_irq(unsigned int irq, struct irqaction *new)
 static inline void gic_set_lr(int lr, unsigned int virtual_irq,
         unsigned int state, unsigned int priority)
 {
+    int maintenance_int = GICH_LR_MAINTENANCE_IRQ;
+
     BUG_ON(lr > nr_lrs);
+
+    if (virtual_irq == VGIC_IRQ_EVTCHN_CALLBACK && nr_lrs > 1)
+        maintenance_int = 0;
+
     GICH[GICH_LR + lr] = state |
-        GICH_LR_MAINTENANCE_IRQ |
+        maintenance_int |
         ((priority >> 3) << GICH_LR_PRIORITY_SHIFT) |
         ((virtual_irq & GICH_LR_VIRTUAL_MASK) << GICH_LR_VIRTUAL_SHIFT);
 }
@@ -405,6 +414,8 @@ void gic_set_guest_irq(unsigned int virtual_irq,
     int i;
     struct pending_irq *iter, *n;
 
+    events_maintenance(current);
+
     spin_lock(&gic.lock);
 
     if ( list_empty(&gic.lr_pending) )
@@ -412,6 +423,8 @@ void gic_set_guest_irq(unsigned int virtual_irq,
         i = find_first_zero_bit(&gic.lr_mask, nr_lrs);
         if (i < nr_lrs) {
             set_bit(i, &gic.lr_mask);
+            if ( virtual_irq == VGIC_IRQ_EVTCHN_CALLBACK )
+                set_bit(i, &gic.event_mask);
             gic_set_lr(i, virtual_irq, state, priority);
             goto out;
         }
@@ -515,12 +528,35 @@ void gicv_setup(struct domain *d)
                         GIC_BASE_ADDRESS + GIC_VR_OFFSET);
 }
 
+static void events_maintenance(struct vcpu *v)
+{
+    int i = 0;
+    int already_pending = test_bit(0,
+            (unsigned long *)&vcpu_info(v, evtchn_upcall_pending));
+
+    if (!already_pending && gic.event_mask != 0) {
+        spin_lock(&gic.lock);
+        while ((i = find_next_bit((const long unsigned int *) &gic.event_mask,
+                        sizeof(uint64_t), i)) < sizeof(uint64_t)) {
+
+            GICH[GICH_LR + i] = 0;
+            clear_bit(i, &gic.lr_mask);
+            clear_bit(i, &gic.event_mask);
+
+            i++;
+        }
+        spin_unlock(&gic.lock);
+    }
+}
+
 static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
 {
     int i = 0, virq;
     uint32_t lr;
     uint64_t eisr = GICH[GICH_EISR0] | (((uint64_t) GICH[GICH_EISR1]) << 32);
 
+    events_maintenance(current);
+
     while ((i = find_next_bit((const long unsigned int *) &eisr,
                               sizeof(eisr), i)) < sizeof(eisr)) {
         struct pending_irq *p;
@@ -536,6 +572,8 @@ static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *r
             gic_set_lr(i, p->irq, GICH_LR_PENDING, p->priority);
             list_del_init(&p->lr_queue);
             set_bit(i, &gic.lr_mask);
+            if ( p->irq == VGIC_IRQ_EVTCHN_CALLBACK )
+                set_bit(i, &gic.event_mask);
         } else {
             gic_inject_irq_stop();
         }
diff --git a/xen/arch/arm/gic.h b/xen/arch/arm/gic.h
index 2c5922e..ff8d0a2 100644
--- a/xen/arch/arm/gic.h
+++ b/xen/arch/arm/gic.h
@@ -121,6 +121,9 @@
 #define GICH_LR_CPUID_SHIFT     9
 #define GICH_VTR_NRLRGS         0x3f
 
+/* XXX: write this into the DT */
+#define VGIC_IRQ_EVTCHN_CALLBACK 31
+
 extern int domain_vgic_init(struct domain *d);
 extern int vcpu_vgic_init(struct vcpu *v);
 extern void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq,int virtual);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIU-0002sG-Ly; Fri, 25 May 2012 16:23:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIT-0002rx-CL
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:25 +0000
Received: from [193.109.254.147:35061] by server-5.bemta-14.messagelabs.com id
	8B/74-30733-CF1BFBF4; Fri, 25 May 2012 16:23:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337963002!10377843!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11996 invoked from network); 25 May 2012 16:23:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="25776831"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-Jt; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:14 +0100
Message-ID: <1337962994-23573-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 6/6] arm: implement event injection
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Implement vcpu_mark_events_pending using the vgic to inject PPI 31, that
we reserve for Xen usage.
In the future the interrupt used for event injection might be dynamic
and could be written into the device tree.
Otherwise it could be an SGI choosen by the guest and passed to Xen
through an hypercall.


Considering that:

- it is easy to determine if an event notification
interrupt has already been EOI'd by the guest just looking at the
evtchn_upcall_pending bit in the shared_info page;

- we can safely assume that there is at most one event notification
interrupt pending at any time in any set of LR registers because we
never inject more than a single event notification interrupt in one vcpu
(see vcpu_mark_events_pending);

we can avoid requesting maintenance interrupts for
VGIC_IRQ_EVTCHN_CALLBACK, provided that we check for event notification
interrupts that need to be cleared in the following places:

- maintenance interrupt entry;

- gic_set_guest_irq;

that is every time we are about to write to an LR.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/domain.c |   11 +++++++++++
 xen/arch/arm/dummy.S  |    1 -
 xen/arch/arm/gic.c    |   40 +++++++++++++++++++++++++++++++++++++++-
 xen/arch/arm/gic.h    |    3 +++
 4 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 3a726c8..5702399 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -232,6 +232,17 @@ void arch_dump_vcpu_info(struct vcpu *v)
 {
 }
 
+void vcpu_mark_events_pending(struct vcpu *v)
+{
+    int already_pending = test_and_set_bit(
+        0, (unsigned long *)&vcpu_info(v, evtchn_upcall_pending));
+
+    if ( already_pending )
+        return;
+
+    vgic_vcpu_inject_irq(v, VGIC_IRQ_EVTCHN_CALLBACK, 1);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/dummy.S b/xen/arch/arm/dummy.S
index 8c6151c..016340c 100644
--- a/xen/arch/arm/dummy.S
+++ b/xen/arch/arm/dummy.S
@@ -27,7 +27,6 @@ DUMMY(arch_vcpu_reset);
 DUMMY(free_vcpu_guest_context);
 DUMMY(sync_vcpu_execstate);
 NOP(update_vcpu_system_time);
-DUMMY(vcpu_mark_events_pending);
 DUMMY(vcpu_show_execution_state);
 
 /* Page Reference & Type Maintenance */
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index cdb4e4a..cc9d37b 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -37,6 +37,7 @@
                                      + (GIC_CR_OFFSET & 0xfff)))
 #define GICH ((volatile uint32_t *) (FIXMAP_ADDR(FIXMAP_GICH)  \
                                      + (GIC_HR_OFFSET & 0xfff)))
+static void events_maintenance(struct vcpu *v);
 
 /* Global state */
 static struct {
@@ -46,6 +47,7 @@ static struct {
     unsigned int lines;
     unsigned int cpus;
     spinlock_t lock;
+    uint64_t event_mask;
     uint64_t lr_mask;
     /* lr_pending is used to queue IRQs (struct pending_irq) that the
      * vgic tried to inject in the guest (calling gic_set_guest_irq) but
@@ -293,6 +295,7 @@ int __init gic_init(void)
     gic_hyp_init();
 
     gic.lr_mask = 0ULL;
+    gic.event_mask = 0ULL;
     INIT_LIST_HEAD(&gic.lr_pending);
 
     spin_unlock(&gic.lock);
@@ -392,9 +395,15 @@ int __init setup_irq(unsigned int irq, struct irqaction *new)
 static inline void gic_set_lr(int lr, unsigned int virtual_irq,
         unsigned int state, unsigned int priority)
 {
+    int maintenance_int = GICH_LR_MAINTENANCE_IRQ;
+
     BUG_ON(lr > nr_lrs);
+
+    if (virtual_irq == VGIC_IRQ_EVTCHN_CALLBACK && nr_lrs > 1)
+        maintenance_int = 0;
+
     GICH[GICH_LR + lr] = state |
-        GICH_LR_MAINTENANCE_IRQ |
+        maintenance_int |
         ((priority >> 3) << GICH_LR_PRIORITY_SHIFT) |
         ((virtual_irq & GICH_LR_VIRTUAL_MASK) << GICH_LR_VIRTUAL_SHIFT);
 }
@@ -405,6 +414,8 @@ void gic_set_guest_irq(unsigned int virtual_irq,
     int i;
     struct pending_irq *iter, *n;
 
+    events_maintenance(current);
+
     spin_lock(&gic.lock);
 
     if ( list_empty(&gic.lr_pending) )
@@ -412,6 +423,8 @@ void gic_set_guest_irq(unsigned int virtual_irq,
         i = find_first_zero_bit(&gic.lr_mask, nr_lrs);
         if (i < nr_lrs) {
             set_bit(i, &gic.lr_mask);
+            if ( virtual_irq == VGIC_IRQ_EVTCHN_CALLBACK )
+                set_bit(i, &gic.event_mask);
             gic_set_lr(i, virtual_irq, state, priority);
             goto out;
         }
@@ -515,12 +528,35 @@ void gicv_setup(struct domain *d)
                         GIC_BASE_ADDRESS + GIC_VR_OFFSET);
 }
 
+static void events_maintenance(struct vcpu *v)
+{
+    int i = 0;
+    int already_pending = test_bit(0,
+            (unsigned long *)&vcpu_info(v, evtchn_upcall_pending));
+
+    if (!already_pending && gic.event_mask != 0) {
+        spin_lock(&gic.lock);
+        while ((i = find_next_bit((const long unsigned int *) &gic.event_mask,
+                        sizeof(uint64_t), i)) < sizeof(uint64_t)) {
+
+            GICH[GICH_LR + i] = 0;
+            clear_bit(i, &gic.lr_mask);
+            clear_bit(i, &gic.event_mask);
+
+            i++;
+        }
+        spin_unlock(&gic.lock);
+    }
+}
+
 static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *regs)
 {
     int i = 0, virq;
     uint32_t lr;
     uint64_t eisr = GICH[GICH_EISR0] | (((uint64_t) GICH[GICH_EISR1]) << 32);
 
+    events_maintenance(current);
+
     while ((i = find_next_bit((const long unsigned int *) &eisr,
                               sizeof(eisr), i)) < sizeof(eisr)) {
         struct pending_irq *p;
@@ -536,6 +572,8 @@ static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *r
             gic_set_lr(i, p->irq, GICH_LR_PENDING, p->priority);
             list_del_init(&p->lr_queue);
             set_bit(i, &gic.lr_mask);
+            if ( p->irq == VGIC_IRQ_EVTCHN_CALLBACK )
+                set_bit(i, &gic.event_mask);
         } else {
             gic_inject_irq_stop();
         }
diff --git a/xen/arch/arm/gic.h b/xen/arch/arm/gic.h
index 2c5922e..ff8d0a2 100644
--- a/xen/arch/arm/gic.h
+++ b/xen/arch/arm/gic.h
@@ -121,6 +121,9 @@
 #define GICH_LR_CPUID_SHIFT     9
 #define GICH_VTR_NRLRGS         0x3f
 
+/* XXX: write this into the DT */
+#define VGIC_IRQ_EVTCHN_CALLBACK 31
+
 extern int domain_vgic_init(struct domain *d);
 extern int vcpu_vgic_init(struct vcpu *v);
 extern void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq,int virtual);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIX-0002tE-0J; Fri, 25 May 2012 16:23:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIV-0002sX-U2
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:28 +0000
Received: from [85.158.138.51:51899] by server-4.bemta-3.messagelabs.com id
	C2/CF-25780-FF1BFBF4; Fri, 25 May 2012 16:23:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17414 invoked from network); 25 May 2012 16:23:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481027"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-Iw; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:12 +0100
Message-ID: <1337962994-23573-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 4/6] arm: implement flush_tlb_all_local and
	flush_tlb_local
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Call flush_tlb_all_local from create_p2m_entries after removing a page
from the p2m.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/p2m.c             |    2 ++
 xen/include/asm-arm/flushtlb.h |   23 +++++++++++++++++++++--
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 4c94ef0..051a0e8 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -3,6 +3,7 @@
 #include <xen/lib.h>
 #include <xen/errno.h>
 #include <xen/domain_page.h>
+#include <asm/flushtlb.h>
 
 void p2m_load_VTTBR(struct domain *d)
 {
@@ -123,6 +124,7 @@ static int create_p2m_entries(struct domain *d,
             /* p2m entry already present */
             free_domheap_page(
                     mfn_to_page(third[third_table_offset(addr)].p2m.base));
+            flush_tlb_all_local();
         }
 
         /* Allocate a new RAM page and attach */
diff --git a/xen/include/asm-arm/flushtlb.h b/xen/include/asm-arm/flushtlb.h
index c8486fc..210abfa 100644
--- a/xen/include/asm-arm/flushtlb.h
+++ b/xen/include/asm-arm/flushtlb.h
@@ -14,8 +14,27 @@ do {                                                                    \
 
 #define tlbflush_current_time()                 (0)
 
-/* Flush local TLBs */
-void flush_tlb_local(void);
+/* Flush local TLBs, current VMID only */
+static inline void flush_tlb_local(void)
+{
+    dsb();
+
+    WRITE_CP32((uint32_t) 0, TLBIALLIS);
+
+    dsb();
+    isb();
+}
+
+/* Flush local TLBs, all VMIDs, non-hypervisor mode */
+static inline void flush_tlb_all_local(void)
+{
+    dsb();
+
+    WRITE_CP32((uint32_t) 0, TLBIALLNSNHIS);
+
+    dsb();
+    isb();
+}
 
 /* Flush specified CPUs' TLBs */
 void flush_tlb_mask(const cpumask_t *mask);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIX-0002tE-0J; Fri, 25 May 2012 16:23:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIV-0002sX-U2
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:28 +0000
Received: from [85.158.138.51:51899] by server-4.bemta-3.messagelabs.com id
	C2/CF-25780-FF1BFBF4; Fri, 25 May 2012 16:23:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17414 invoked from network); 25 May 2012 16:23:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481027"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-Iw; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:12 +0100
Message-ID: <1337962994-23573-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 4/6] arm: implement flush_tlb_all_local and
	flush_tlb_local
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Call flush_tlb_all_local from create_p2m_entries after removing a page
from the p2m.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/p2m.c             |    2 ++
 xen/include/asm-arm/flushtlb.h |   23 +++++++++++++++++++++--
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 4c94ef0..051a0e8 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -3,6 +3,7 @@
 #include <xen/lib.h>
 #include <xen/errno.h>
 #include <xen/domain_page.h>
+#include <asm/flushtlb.h>
 
 void p2m_load_VTTBR(struct domain *d)
 {
@@ -123,6 +124,7 @@ static int create_p2m_entries(struct domain *d,
             /* p2m entry already present */
             free_domheap_page(
                     mfn_to_page(third[third_table_offset(addr)].p2m.base));
+            flush_tlb_all_local();
         }
 
         /* Allocate a new RAM page and attach */
diff --git a/xen/include/asm-arm/flushtlb.h b/xen/include/asm-arm/flushtlb.h
index c8486fc..210abfa 100644
--- a/xen/include/asm-arm/flushtlb.h
+++ b/xen/include/asm-arm/flushtlb.h
@@ -14,8 +14,27 @@ do {                                                                    \
 
 #define tlbflush_current_time()                 (0)
 
-/* Flush local TLBs */
-void flush_tlb_local(void);
+/* Flush local TLBs, current VMID only */
+static inline void flush_tlb_local(void)
+{
+    dsb();
+
+    WRITE_CP32((uint32_t) 0, TLBIALLIS);
+
+    dsb();
+    isb();
+}
+
+/* Flush local TLBs, all VMIDs, non-hypervisor mode */
+static inline void flush_tlb_all_local(void)
+{
+    dsb();
+
+    WRITE_CP32((uint32_t) 0, TLBIALLNSNHIS);
+
+    dsb();
+    isb();
+}
 
 /* Flush specified CPUs' TLBs */
 void flush_tlb_mask(const cpumask_t *mask);
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIY-0002tj-Dk; Fri, 25 May 2012 16:23:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIX-0002t0-2M
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:29 +0000
Received: from [85.158.138.51:51963] by server-9.bemta-3.messagelabs.com id
	F8/2B-11033-002BFBF4; Fri, 25 May 2012 16:23:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17437 invoked from network); 25 May 2012 16:23:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481033"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:26 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:25 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-H5; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:11 +0100
Message-ID: <1337962994-23573-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 3/6] arm: shared_info page allocation and
	mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Allocate the shared_info page at domain creation.

Implement arch_memory_op, only for XENMEM_add_to_physmap with space ==
XENMAPSPACE_shared_info, so that the guest can map the shared_info page.


Changes in v4:

- pass 0 as memflags to alloc_xenheap_pages in arch_domain_create.


Changes in v3:

- /MEMF_bits(32)/MEMF_bits(64);

- do not alloc the shared_info page for the idle domain;

- define CONFIG_PAGING_ASSISTANCE;

- adjust the API to match what the common code expects;

- implement a dummy guest_physmap_remove_page.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/domain.c        |   11 +++++
 xen/arch/arm/mm.c            |   98 ++++++++++++++++++++++++++++++++++++++++--
 xen/arch/arm/p2m.c           |   24 ++++++++++-
 xen/include/asm-arm/config.h |    2 +
 xen/include/asm-arm/mm.h     |    4 ++
 xen/include/asm-arm/p2m.h    |    9 ++++
 xen/include/asm-arm/paging.h |    3 +
 7 files changed, 146 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index edaff22..3a726c8 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -192,6 +192,17 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags)
     if ( (rc = p2m_init(d)) != 0 )
         goto fail;
 
+    if ( !is_idle_domain(d) )
+    {
+        rc = -ENOMEM;
+        if ( (d->shared_info = alloc_xenheap_pages(0, 0)) == NULL )
+            goto fail;
+
+        clear_page(d->shared_info);
+        share_xen_page_with_guest(
+                virt_to_page(d->shared_info), d, XENSHARE_writable);
+    }
+
     d->max_vcpus = 8;
 
     if ( (rc = domain_vgic_init(d)) != 0 )
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index fa2f5ec..10ff883 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -25,8 +25,11 @@
 #include <xen/mm.h>
 #include <xen/preempt.h>
 #include <xen/errno.h>
+#include <xen/guest_access.h>
 #include <asm/page.h>
 #include <asm/current.h>
+#include <public/memory.h>
+#include <xen/sched.h>
 
 struct domain *dom_xen, *dom_io;
 
@@ -376,17 +379,104 @@ void arch_dump_shared_mem_info(void)
 {
 }
 
-long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+int donate_page(struct domain *d, struct page_info *page, unsigned int memflags)
 {
+    ASSERT(0);
     return -ENOSYS;
 }
 
-int donate_page(struct domain *d, struct page_info *page, unsigned int memflags)
+void share_xen_page_with_guest(struct page_info *page,
+                          struct domain *d, int readonly)
 {
-    ASSERT(0);
-    return -ENOSYS;
+    if ( page_get_owner(page) == d )
+        return;
+
+    spin_lock(&d->page_alloc_lock);
+
+    /* The incremented type count pins as writable or read-only. */
+    page->u.inuse.type_info  = (readonly ? PGT_none : PGT_writable_page);
+    page->u.inuse.type_info |= PGT_validated | 1;
+
+    page_set_owner(page, d);
+    wmb(); /* install valid domain ptr before updating refcnt. */
+    ASSERT((page->count_info & ~PGC_xen_heap) == 0);
+
+    /* Only add to the allocation list if the domain isn't dying. */
+    if ( !d->is_dying )
+    {
+        page->count_info |= PGC_allocated | 1;
+        if ( unlikely(d->xenheap_pages++ == 0) )
+            get_knownalive_domain(d);
+        page_list_add_tail(page, &d->xenpage_list);
+    }
+
+    spin_unlock(&d->page_alloc_lock);
+}
+
+static int xenmem_add_to_physmap_once(
+    struct domain *d,
+    const struct xen_add_to_physmap *xatp)
+{
+    unsigned long mfn = 0;
+    int rc;
+
+    switch ( xatp->space )
+    {
+        case XENMAPSPACE_shared_info:
+            if ( xatp->idx == 0 )
+                mfn = virt_to_mfn(d->shared_info);
+            break;
+        default:
+            return -ENOSYS;
+    }
+
+    domain_lock(d);
+
+    /* Map at new location. */
+    rc = guest_physmap_add_page(d, xatp->gpfn, mfn, 0);
+
+    domain_unlock(d);
+
+    return rc;
+}
+
+static int xenmem_add_to_physmap(struct domain *d,
+                                 struct xen_add_to_physmap *xatp)
+{
+    return xenmem_add_to_physmap_once(d, xatp);
 }
 
+long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+{
+    int rc;
+
+    switch ( op )
+    {
+    case XENMEM_add_to_physmap:
+    {
+        struct xen_add_to_physmap xatp;
+        struct domain *d;
+
+        if ( copy_from_guest(&xatp, arg, 1) )
+            return -EFAULT;
+
+        rc = rcu_lock_target_domain_by_id(xatp.domid, &d);
+        if ( rc != 0 )
+            return rc;
+
+        rc = xenmem_add_to_physmap(d, &xatp);
+
+        rcu_unlock_domain(d);
+
+        return rc;
+    }
+
+    default:
+        return -ENOSYS;
+    }
+
+    return 0;
+}
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 14614fd..4c94ef0 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -118,7 +118,12 @@ static int create_p2m_entries(struct domain *d,
         }
         /* else: third already valid */
 
-        BUG_ON(third[third_table_offset(addr)].p2m.valid);
+        if ( third[third_table_offset(addr)].p2m.valid )
+        {
+            /* p2m entry already present */
+            free_domheap_page(
+                    mfn_to_page(third[third_table_offset(addr)].p2m.base));
+        }
 
         /* Allocate a new RAM page and attach */
         if (alloc)
@@ -172,6 +177,23 @@ int map_mmio_regions(struct domain *d,
     return create_p2m_entries(d, 0, start_gaddr, end_gaddr, maddr);
 }
 
+int guest_physmap_add_page(struct domain *d,
+                           unsigned long gpfn,
+                           unsigned long mfn,
+                           unsigned int page_order)
+{
+    return create_p2m_entries(d, 0, gpfn << PAGE_SHIFT,
+                              (gpfn + (1<<page_order)) << PAGE_SHIFT,
+                              mfn << PAGE_SHIFT);
+}
+
+void guest_physmap_remove_page(struct domain *d,
+                               unsigned long gpfn,
+                               unsigned long mfn, unsigned int page_order)
+{
+    ASSERT(0);
+}
+
 int p2m_alloc_table(struct domain *d)
 {
     struct p2m_domain *p2m = &d->arch.p2m;
diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index 1e4f108..91e87e1 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -7,6 +7,8 @@
 #ifndef __ARM_CONFIG_H__
 #define __ARM_CONFIG_H__
 
+#define CONFIG_PAGING_ASSISTANCE 1
+
 #define CONFIG_PAGING_LEVELS 3
 
 #define CONFIG_ARM 1
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index ea27e4f..53801b0 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -78,6 +78,10 @@ struct page_info
 #define _PGT_pinned       PG_shift(5)
 #define PGT_pinned        PG_mask(1, 5)
 
+ /* Has this page been validated for use as its current type? */
+#define _PGT_validated    PG_shift(6)
+#define PGT_validated     PG_mask(1, 6)
+
  /* Count of uses of this frame as its current type. */
 #define PGT_count_width   PG_shift(9)
 #define PGT_count_mask    ((1UL<<PGT_count_width)-1)
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index d88e7a9..349923a 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -40,6 +40,15 @@ int p2m_populate_ram(struct domain *d, paddr_t start, paddr_t end);
 int map_mmio_regions(struct domain *d, paddr_t start_gaddr,
                      paddr_t end_gaddr, paddr_t maddr);
 
+/* Untyped version for RAM only, for compatibility */
+int guest_physmap_add_page(struct domain *d,
+                           unsigned long gfn,
+                           unsigned long mfn,
+                           unsigned int page_order);
+void guest_physmap_remove_page(struct domain *d,
+                               unsigned long gpfn,
+                               unsigned long mfn, unsigned int page_order);
+
 unsigned long gmfn_to_mfn(struct domain *d, unsigned long gpfn);
 
 /*
diff --git a/xen/include/asm-arm/paging.h b/xen/include/asm-arm/paging.h
index 4dc340f..3d7dd95 100644
--- a/xen/include/asm-arm/paging.h
+++ b/xen/include/asm-arm/paging.h
@@ -1,6 +1,9 @@
 #ifndef _XEN_PAGING_H
 #define _XEN_PAGING_H
 
+#define paging_mode_translate(d)              (0)
+#define paging_mode_external(d)               (0)
+
 #endif /* XEN_PAGING_H */
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIU-0002s4-Af; Fri, 25 May 2012 16:23:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIS-0002rn-IE
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:24 +0000
Received: from [193.109.254.147:21824] by server-8.bemta-14.messagelabs.com id
	E9/DA-23244-BF1BFBF4; Fri, 25 May 2012 16:23:23 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337963002!10377843!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11970 invoked from network); 25 May 2012 16:23:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="25776830"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-JP; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:13 +0100
Message-ID: <1337962994-23573-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 5/6] arm: remove VGIC_SOFTIRQ
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Instead of using a softirq to check whether we need to set the VI bit in
the HCR (IRQ injection in the guest), always check the lr_mask on
leave_hypervisor_tail.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic.c            |   13 ++++++++++---
 xen/arch/arm/gic.h            |    4 ++--
 xen/arch/arm/traps.c          |    4 +++-
 xen/arch/arm/vgic.c           |   15 ---------------
 xen/include/asm-arm/softirq.h |    3 +--
 5 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index c05e598..cdb4e4a 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -433,7 +433,7 @@ out:
     return;
 }
 
-void gic_inject_irq_start(void)
+static void gic_inject_irq_start(void)
 {
     uint32_t hcr;
     hcr = READ_CP32(HCR);
@@ -441,7 +441,7 @@ void gic_inject_irq_start(void)
     isb();
 }
 
-void gic_inject_irq_stop(void)
+static void gic_inject_irq_stop(void)
 {
     uint32_t hcr;
     hcr = READ_CP32(HCR);
@@ -451,6 +451,14 @@ void gic_inject_irq_stop(void)
     }
 }
 
+void gic_inject(void)
+{
+    if (!gic.lr_mask)
+        gic_inject_irq_stop();
+    else
+        gic_inject_irq_start();
+}
+
 int gic_route_irq_to_guest(struct domain *d, unsigned int irq,
                            const char * devname)
 {
@@ -540,7 +548,6 @@ static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *r
             GICC[GICC_DIR] = virq;
         }
         list_del_init(&p->inflight);
-        cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
         spin_unlock(&current->arch.vgic.lock);
 
         i++;
diff --git a/xen/arch/arm/gic.h b/xen/arch/arm/gic.h
index 6b2be4f..2c5922e 100644
--- a/xen/arch/arm/gic.h
+++ b/xen/arch/arm/gic.h
@@ -128,11 +128,11 @@ extern struct pending_irq *irq_to_pending(struct vcpu *v, unsigned int irq);
 
 extern void gic_route_irqs(void);
 
+extern void gic_inject(void);
+
 extern void __cpuinit init_maintenance_interrupt(void);
 extern void gic_set_guest_irq(unsigned int irq,
         unsigned int state, unsigned int priority);
-extern void gic_inject_irq_start(void);
-extern void gic_inject_irq_stop(void);
 extern int gic_route_irq_to_guest(struct domain *d, unsigned int irq,
                                   const char * devname);
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 6304bbd..abc26a3 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -608,8 +608,10 @@ asmlinkage void leave_hypervisor_tail(void)
     while (1)
     {
         local_irq_disable();
-        if (!softirq_pending(smp_processor_id()))
+        if (!softirq_pending(smp_processor_id())) {
+            gic_inject();
             return;
+        }
         local_irq_enable();
         do_softirq();
     }
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 4d2a0e0..629a0da 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -577,23 +577,8 @@ void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq, int virtual)
     list_add_tail(&n->inflight, &v->arch.vgic.inflight_irqs);
     spin_unlock(&v->arch.vgic.lock);
     /* we have a new higher priority irq, inject it into the guest */
-    cpu_raise_softirq(v->processor, VGIC_SOFTIRQ);
 }
 
-static void vgic_softirq(void)
-{
-    if (list_empty(&current->arch.vgic.inflight_irqs))
-        return;
-
-    gic_inject_irq_start();
-}
-
-static int __init init_vgic_softirq(void)
-{
-    open_softirq(VGIC_SOFTIRQ, vgic_softirq);
-    return 0;
-}
-__initcall(init_vgic_softirq);
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/asm-arm/softirq.h b/xen/include/asm-arm/softirq.h
index 536af38..27818ae 100644
--- a/xen/include/asm-arm/softirq.h
+++ b/xen/include/asm-arm/softirq.h
@@ -1,8 +1,7 @@
 #ifndef __ASM_SOFTIRQ_H__
 #define __ASM_SOFTIRQ_H__
 
-#define VGIC_SOFTIRQ        (NR_COMMON_SOFTIRQS + 0)
-#define NR_ARCH_SOFTIRQS       1
+#define NR_ARCH_SOFTIRQS       0
 
 #endif /* __ASM_SOFTIRQ_H__ */
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIY-0002tj-Dk; Fri, 25 May 2012 16:23:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIX-0002t0-2M
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:29 +0000
Received: from [85.158.138.51:51963] by server-9.bemta-3.messagelabs.com id
	F8/2B-11033-002BFBF4; Fri, 25 May 2012 16:23:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1337963002!27402436!4
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTUzMDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17437 invoked from network); 25 May 2012 16:23:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="196481033"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:26 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:25 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-H5; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:11 +0100
Message-ID: <1337962994-23573-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 3/6] arm: shared_info page allocation and
	mapping
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Allocate the shared_info page at domain creation.

Implement arch_memory_op, only for XENMEM_add_to_physmap with space ==
XENMAPSPACE_shared_info, so that the guest can map the shared_info page.


Changes in v4:

- pass 0 as memflags to alloc_xenheap_pages in arch_domain_create.


Changes in v3:

- /MEMF_bits(32)/MEMF_bits(64);

- do not alloc the shared_info page for the idle domain;

- define CONFIG_PAGING_ASSISTANCE;

- adjust the API to match what the common code expects;

- implement a dummy guest_physmap_remove_page.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/domain.c        |   11 +++++
 xen/arch/arm/mm.c            |   98 ++++++++++++++++++++++++++++++++++++++++--
 xen/arch/arm/p2m.c           |   24 ++++++++++-
 xen/include/asm-arm/config.h |    2 +
 xen/include/asm-arm/mm.h     |    4 ++
 xen/include/asm-arm/p2m.h    |    9 ++++
 xen/include/asm-arm/paging.h |    3 +
 7 files changed, 146 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index edaff22..3a726c8 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -192,6 +192,17 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags)
     if ( (rc = p2m_init(d)) != 0 )
         goto fail;
 
+    if ( !is_idle_domain(d) )
+    {
+        rc = -ENOMEM;
+        if ( (d->shared_info = alloc_xenheap_pages(0, 0)) == NULL )
+            goto fail;
+
+        clear_page(d->shared_info);
+        share_xen_page_with_guest(
+                virt_to_page(d->shared_info), d, XENSHARE_writable);
+    }
+
     d->max_vcpus = 8;
 
     if ( (rc = domain_vgic_init(d)) != 0 )
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index fa2f5ec..10ff883 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -25,8 +25,11 @@
 #include <xen/mm.h>
 #include <xen/preempt.h>
 #include <xen/errno.h>
+#include <xen/guest_access.h>
 #include <asm/page.h>
 #include <asm/current.h>
+#include <public/memory.h>
+#include <xen/sched.h>
 
 struct domain *dom_xen, *dom_io;
 
@@ -376,17 +379,104 @@ void arch_dump_shared_mem_info(void)
 {
 }
 
-long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+int donate_page(struct domain *d, struct page_info *page, unsigned int memflags)
 {
+    ASSERT(0);
     return -ENOSYS;
 }
 
-int donate_page(struct domain *d, struct page_info *page, unsigned int memflags)
+void share_xen_page_with_guest(struct page_info *page,
+                          struct domain *d, int readonly)
 {
-    ASSERT(0);
-    return -ENOSYS;
+    if ( page_get_owner(page) == d )
+        return;
+
+    spin_lock(&d->page_alloc_lock);
+
+    /* The incremented type count pins as writable or read-only. */
+    page->u.inuse.type_info  = (readonly ? PGT_none : PGT_writable_page);
+    page->u.inuse.type_info |= PGT_validated | 1;
+
+    page_set_owner(page, d);
+    wmb(); /* install valid domain ptr before updating refcnt. */
+    ASSERT((page->count_info & ~PGC_xen_heap) == 0);
+
+    /* Only add to the allocation list if the domain isn't dying. */
+    if ( !d->is_dying )
+    {
+        page->count_info |= PGC_allocated | 1;
+        if ( unlikely(d->xenheap_pages++ == 0) )
+            get_knownalive_domain(d);
+        page_list_add_tail(page, &d->xenpage_list);
+    }
+
+    spin_unlock(&d->page_alloc_lock);
+}
+
+static int xenmem_add_to_physmap_once(
+    struct domain *d,
+    const struct xen_add_to_physmap *xatp)
+{
+    unsigned long mfn = 0;
+    int rc;
+
+    switch ( xatp->space )
+    {
+        case XENMAPSPACE_shared_info:
+            if ( xatp->idx == 0 )
+                mfn = virt_to_mfn(d->shared_info);
+            break;
+        default:
+            return -ENOSYS;
+    }
+
+    domain_lock(d);
+
+    /* Map at new location. */
+    rc = guest_physmap_add_page(d, xatp->gpfn, mfn, 0);
+
+    domain_unlock(d);
+
+    return rc;
+}
+
+static int xenmem_add_to_physmap(struct domain *d,
+                                 struct xen_add_to_physmap *xatp)
+{
+    return xenmem_add_to_physmap_once(d, xatp);
 }
 
+long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
+{
+    int rc;
+
+    switch ( op )
+    {
+    case XENMEM_add_to_physmap:
+    {
+        struct xen_add_to_physmap xatp;
+        struct domain *d;
+
+        if ( copy_from_guest(&xatp, arg, 1) )
+            return -EFAULT;
+
+        rc = rcu_lock_target_domain_by_id(xatp.domid, &d);
+        if ( rc != 0 )
+            return rc;
+
+        rc = xenmem_add_to_physmap(d, &xatp);
+
+        rcu_unlock_domain(d);
+
+        return rc;
+    }
+
+    default:
+        return -ENOSYS;
+    }
+
+    return 0;
+}
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 14614fd..4c94ef0 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -118,7 +118,12 @@ static int create_p2m_entries(struct domain *d,
         }
         /* else: third already valid */
 
-        BUG_ON(third[third_table_offset(addr)].p2m.valid);
+        if ( third[third_table_offset(addr)].p2m.valid )
+        {
+            /* p2m entry already present */
+            free_domheap_page(
+                    mfn_to_page(third[third_table_offset(addr)].p2m.base));
+        }
 
         /* Allocate a new RAM page and attach */
         if (alloc)
@@ -172,6 +177,23 @@ int map_mmio_regions(struct domain *d,
     return create_p2m_entries(d, 0, start_gaddr, end_gaddr, maddr);
 }
 
+int guest_physmap_add_page(struct domain *d,
+                           unsigned long gpfn,
+                           unsigned long mfn,
+                           unsigned int page_order)
+{
+    return create_p2m_entries(d, 0, gpfn << PAGE_SHIFT,
+                              (gpfn + (1<<page_order)) << PAGE_SHIFT,
+                              mfn << PAGE_SHIFT);
+}
+
+void guest_physmap_remove_page(struct domain *d,
+                               unsigned long gpfn,
+                               unsigned long mfn, unsigned int page_order)
+{
+    ASSERT(0);
+}
+
 int p2m_alloc_table(struct domain *d)
 {
     struct p2m_domain *p2m = &d->arch.p2m;
diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index 1e4f108..91e87e1 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -7,6 +7,8 @@
 #ifndef __ARM_CONFIG_H__
 #define __ARM_CONFIG_H__
 
+#define CONFIG_PAGING_ASSISTANCE 1
+
 #define CONFIG_PAGING_LEVELS 3
 
 #define CONFIG_ARM 1
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index ea27e4f..53801b0 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -78,6 +78,10 @@ struct page_info
 #define _PGT_pinned       PG_shift(5)
 #define PGT_pinned        PG_mask(1, 5)
 
+ /* Has this page been validated for use as its current type? */
+#define _PGT_validated    PG_shift(6)
+#define PGT_validated     PG_mask(1, 6)
+
  /* Count of uses of this frame as its current type. */
 #define PGT_count_width   PG_shift(9)
 #define PGT_count_mask    ((1UL<<PGT_count_width)-1)
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index d88e7a9..349923a 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -40,6 +40,15 @@ int p2m_populate_ram(struct domain *d, paddr_t start, paddr_t end);
 int map_mmio_regions(struct domain *d, paddr_t start_gaddr,
                      paddr_t end_gaddr, paddr_t maddr);
 
+/* Untyped version for RAM only, for compatibility */
+int guest_physmap_add_page(struct domain *d,
+                           unsigned long gfn,
+                           unsigned long mfn,
+                           unsigned int page_order);
+void guest_physmap_remove_page(struct domain *d,
+                               unsigned long gpfn,
+                               unsigned long mfn, unsigned int page_order);
+
 unsigned long gmfn_to_mfn(struct domain *d, unsigned long gpfn);
 
 /*
diff --git a/xen/include/asm-arm/paging.h b/xen/include/asm-arm/paging.h
index 4dc340f..3d7dd95 100644
--- a/xen/include/asm-arm/paging.h
+++ b/xen/include/asm-arm/paging.h
@@ -1,6 +1,9 @@
 #ifndef _XEN_PAGING_H
 #define _XEN_PAGING_H
 
+#define paging_mode_translate(d)              (0)
+#define paging_mode_external(d)               (0)
+
 #endif /* XEN_PAGING_H */
 
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:23:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxIU-0002s4-Af; Fri, 25 May 2012 16:23:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SXxIS-0002rn-IE
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:23:24 +0000
Received: from [193.109.254.147:21824] by server-8.bemta-14.messagelabs.com id
	E9/DA-23244-BF1BFBF4; Fri, 25 May 2012 16:23:23 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337963002!10377843!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11970 invoked from network); 25 May 2012 16:23:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:23:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="25776830"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:23:21 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:23:20 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SXxIJ-0004kP-JP; Fri, 25 May 2012 17:23:15 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Fri, 25 May 2012 17:23:13 +0100
Message-ID: <1337962994-23573-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205251712480.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Tim.Deegan@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian.Campbell@citrix.com, david.vrabel@citrix.com
Subject: [Xen-devel] [PATCH v4 5/6] arm: remove VGIC_SOFTIRQ
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Instead of using a softirq to check whether we need to set the VI bit in
the HCR (IRQ injection in the guest), always check the lr_mask on
leave_hypervisor_tail.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic.c            |   13 ++++++++++---
 xen/arch/arm/gic.h            |    4 ++--
 xen/arch/arm/traps.c          |    4 +++-
 xen/arch/arm/vgic.c           |   15 ---------------
 xen/include/asm-arm/softirq.h |    3 +--
 5 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index c05e598..cdb4e4a 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -433,7 +433,7 @@ out:
     return;
 }
 
-void gic_inject_irq_start(void)
+static void gic_inject_irq_start(void)
 {
     uint32_t hcr;
     hcr = READ_CP32(HCR);
@@ -441,7 +441,7 @@ void gic_inject_irq_start(void)
     isb();
 }
 
-void gic_inject_irq_stop(void)
+static void gic_inject_irq_stop(void)
 {
     uint32_t hcr;
     hcr = READ_CP32(HCR);
@@ -451,6 +451,14 @@ void gic_inject_irq_stop(void)
     }
 }
 
+void gic_inject(void)
+{
+    if (!gic.lr_mask)
+        gic_inject_irq_stop();
+    else
+        gic_inject_irq_start();
+}
+
 int gic_route_irq_to_guest(struct domain *d, unsigned int irq,
                            const char * devname)
 {
@@ -540,7 +548,6 @@ static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *r
             GICC[GICC_DIR] = virq;
         }
         list_del_init(&p->inflight);
-        cpu_raise_softirq(current->processor, VGIC_SOFTIRQ);
         spin_unlock(&current->arch.vgic.lock);
 
         i++;
diff --git a/xen/arch/arm/gic.h b/xen/arch/arm/gic.h
index 6b2be4f..2c5922e 100644
--- a/xen/arch/arm/gic.h
+++ b/xen/arch/arm/gic.h
@@ -128,11 +128,11 @@ extern struct pending_irq *irq_to_pending(struct vcpu *v, unsigned int irq);
 
 extern void gic_route_irqs(void);
 
+extern void gic_inject(void);
+
 extern void __cpuinit init_maintenance_interrupt(void);
 extern void gic_set_guest_irq(unsigned int irq,
         unsigned int state, unsigned int priority);
-extern void gic_inject_irq_start(void);
-extern void gic_inject_irq_stop(void);
 extern int gic_route_irq_to_guest(struct domain *d, unsigned int irq,
                                   const char * devname);
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 6304bbd..abc26a3 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -608,8 +608,10 @@ asmlinkage void leave_hypervisor_tail(void)
     while (1)
     {
         local_irq_disable();
-        if (!softirq_pending(smp_processor_id()))
+        if (!softirq_pending(smp_processor_id())) {
+            gic_inject();
             return;
+        }
         local_irq_enable();
         do_softirq();
     }
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 4d2a0e0..629a0da 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -577,23 +577,8 @@ void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq, int virtual)
     list_add_tail(&n->inflight, &v->arch.vgic.inflight_irqs);
     spin_unlock(&v->arch.vgic.lock);
     /* we have a new higher priority irq, inject it into the guest */
-    cpu_raise_softirq(v->processor, VGIC_SOFTIRQ);
 }
 
-static void vgic_softirq(void)
-{
-    if (list_empty(&current->arch.vgic.inflight_irqs))
-        return;
-
-    gic_inject_irq_start();
-}
-
-static int __init init_vgic_softirq(void)
-{
-    open_softirq(VGIC_SOFTIRQ, vgic_softirq);
-    return 0;
-}
-__initcall(init_vgic_softirq);
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/asm-arm/softirq.h b/xen/include/asm-arm/softirq.h
index 536af38..27818ae 100644
--- a/xen/include/asm-arm/softirq.h
+++ b/xen/include/asm-arm/softirq.h
@@ -1,8 +1,7 @@
 #ifndef __ASM_SOFTIRQ_H__
 #define __ASM_SOFTIRQ_H__
 
-#define VGIC_SOFTIRQ        (NR_COMMON_SOFTIRQS + 0)
-#define NR_ARCH_SOFTIRQS       1
+#define NR_ARCH_SOFTIRQS       0
 
 #endif /* __ASM_SOFTIRQ_H__ */
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:34:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:34:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxT6-0003o4-KY; Fri, 25 May 2012 16:34:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SXxT5-0003nz-DN
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:34:23 +0000
Received: from [85.158.138.51:7598] by server-10.bemta-3.messagelabs.com id
	F1/08-01101-E84BFBF4; Fri, 25 May 2012 16:34:22 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337963658!21217591!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5726 invoked from network); 25 May 2012 16:34:20 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:34:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="25777943"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:34:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:34:17 -0400
Received: from exile.uk.xensource.com ([10.80.224.144] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SXxSz-00054V-Ba;
	Fri, 25 May 2012 17:34:17 +0100
MIME-Version: 1.0
X-Mercurial-Node: 1c28051020488782f1277dd60a2418324580297e
Message-ID: <1c28051020488782f127.1337963657@exile>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 25 May 2012 16:34:17 +0000
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH] libxl: When checking BDF of existing slots,
 function should be decimal, not hex
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User George Dunlap <george.dunlap@eu.citrix.com>
# Date 1337961666 0
# Node ID 1c28051020488782f1277dd60a2418324580297e
# Parent  69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
libxl: When checking BDF of existing slots, function should be decimal, not hex

Spotted-by: Konrad Wilk <konrad.wilk@oracle.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -480,7 +480,7 @@ static int pciback_dev_has_slot(libxl__g
         return ERROR_FAIL;
     }
 
-    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
+    while(fscanf(f, "%x:%x:%x.%d\n", &dom, &bus, &dev, &func)==4) {
         if(dom == pcidev->domain
            && bus == pcidev->bus
            && dev == pcidev->dev

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 16:34:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 16:34:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxT6-0003o4-KY; Fri, 25 May 2012 16:34:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1SXxT5-0003nz-DN
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 16:34:23 +0000
Received: from [85.158.138.51:7598] by server-10.bemta-3.messagelabs.com id
	F1/08-01101-E84BFBF4; Fri, 25 May 2012 16:34:22 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1337963658!21217591!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDYwMzE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5726 invoked from network); 25 May 2012 16:34:20 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:34:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330923600"; d="scan'208";a="25777943"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 12:34:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 12:34:17 -0400
Received: from exile.uk.xensource.com ([10.80.224.144] helo=[127.0.1.1])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1SXxSz-00054V-Ba;
	Fri, 25 May 2012 17:34:17 +0100
MIME-Version: 1.0
X-Mercurial-Node: 1c28051020488782f1277dd60a2418324580297e
Message-ID: <1c28051020488782f127.1337963657@exile>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Fri, 25 May 2012 16:34:17 +0000
From: George Dunlap <george.dunlap@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: george.dunlap@eu.citrix.com
Subject: [Xen-devel] [PATCH] libxl: When checking BDF of existing slots,
 function should be decimal, not hex
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User George Dunlap <george.dunlap@eu.citrix.com>
# Date 1337961666 0
# Node ID 1c28051020488782f1277dd60a2418324580297e
# Parent  69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
libxl: When checking BDF of existing slots, function should be decimal, not hex

Spotted-by: Konrad Wilk <konrad.wilk@oracle.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -480,7 +480,7 @@ static int pciback_dev_has_slot(libxl__g
         return ERROR_FAIL;
     }
 
-    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
+    while(fscanf(f, "%x:%x:%x.%d\n", &dom, &bus, &dev, &func)==4) {
         if(dom == pcidev->domain
            && bus == pcidev->bus
            && dev == pcidev->dev

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 17:00:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 17:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxre-00044s-5z; Fri, 25 May 2012 16:59:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXxrc-00044n-HS
	for xen-devel@lists.xen.org; Fri, 25 May 2012 16:59:44 +0000
Received: from [85.158.139.83:30684] by server-5.bemta-5.messagelabs.com id
	62/5E-16141-F7ABFBF4; Fri, 25 May 2012 16:59:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337965182!30427865!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25762 invoked from network); 25 May 2012 16:59:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:59:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330905600"; d="scan'208";a="12675794"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 16:59:42 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 17:59:42 +0100
Message-ID: <1337965181.3819.10.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Fri, 25 May 2012 17:59:41 +0100
In-Reply-To: <92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
	<92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:
> diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Thu May 17 12:37:07 2012 -0700
> +++ b/docs/man/xl.pod.1	Thu May 17 12:37:10 2012 -0700
> @@ -381,6 +381,41 @@
>  
>  =back
>  
> +=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
> +
> +Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
> +mechanism between the two hosts.
> +
> [...]

> +
> +=item B<-b>
> +
> +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
> +(blackhole).  Network output buffering remains enabled (unless --no-net is
> +supplied).  Generally useful for debugging.

Unless I'm mistaken the current remus support in (lib)xl doesn't
implement either disk or networking replication (and --no-net doesn't
seem to exist), at least there as several TODOs to that effect in the
code.

Please can you send an incremental patch which corrects this.

I also think it would be worth mentioning in the intro that "xl remus"
as it stands is "proof-of-concept" or "early preview", "experimental" or
something along these lines, otherwise people will expect it to be a
complete solution, which it isn't.

More importantly I think the lack of STONITH functionality should be
highlighted, since it would be rather dangerous to deploy remus without
it.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 17:00:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 17:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXxre-00044s-5z; Fri, 25 May 2012 16:59:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SXxrc-00044n-HS
	for xen-devel@lists.xen.org; Fri, 25 May 2012 16:59:44 +0000
Received: from [85.158.139.83:30684] by server-5.bemta-5.messagelabs.com id
	62/5E-16141-F7ABFBF4; Fri, 25 May 2012 16:59:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337965182!30427865!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25762 invoked from network); 25 May 2012 16:59:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 16:59:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330905600"; d="scan'208";a="12675794"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 16:59:42 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Fri, 25 May 2012 17:59:42 +0100
Message-ID: <1337965181.3819.10.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Fri, 25 May 2012 17:59:41 +0100
In-Reply-To: <92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
	<92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:
> diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Thu May 17 12:37:07 2012 -0700
> +++ b/docs/man/xl.pod.1	Thu May 17 12:37:10 2012 -0700
> @@ -381,6 +381,41 @@
>  
>  =back
>  
> +=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
> +
> +Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
> +mechanism between the two hosts.
> +
> [...]

> +
> +=item B<-b>
> +
> +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
> +(blackhole).  Network output buffering remains enabled (unless --no-net is
> +supplied).  Generally useful for debugging.

Unless I'm mistaken the current remus support in (lib)xl doesn't
implement either disk or networking replication (and --no-net doesn't
seem to exist), at least there as several TODOs to that effect in the
code.

Please can you send an incremental patch which corrects this.

I also think it would be worth mentioning in the intro that "xl remus"
as it stands is "proof-of-concept" or "early preview", "experimental" or
something along these lines, otherwise people will expect it to be a
complete solution, which it isn't.

More importantly I think the lack of STONITH functionality should be
highlighted, since it would be rather dangerous to deploy remus without
it.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 17:57:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 17:57:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyl7-0004aR-Do; Fri, 25 May 2012 17:57:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXyl6-0004aM-4y
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 17:57:04 +0000
Received: from [193.109.254.147:46066] by server-1.bemta-14.messagelabs.com id
	3F/60-29372-FE7CFBF4; Fri, 25 May 2012 17:57:03 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337968622!3575879!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzMjY1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9083 invoked from network); 25 May 2012 17:57:02 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-27.messagelabs.com with SMTP;
	25 May 2012 17:57:02 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 25 May 2012 10:57:01 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147872713"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 25 May 2012 10:57:01 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 10:57:01 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 01:56:59 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOd8Ir6jLO/PX8Ee8ZH/5SHvSCZbayviQ
Date: Fri, 25 May 2012 17:56:56 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
In-Reply-To: <20120524184947.GA28338@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>>>>>> -static struct miscdevice mce_chrdev_device = {
>>>>>> +struct miscdevice mce_chrdev_device = {
>>>>>>  	MISC_MCELOG_MINOR,
>>>>>>  	"mcelog",
>>>>>>  	&mce_chrdev_ops,
>>>>> 
>>>>> You're still reusing those - pls, define your own 'struct
>>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
>>>>> convenient and 
>>>>> your own mce_chrdev_ops. The only thing you should be touching in
>>>>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
>>>>> 
>>>>> Thanks.
>>>> 
>>>> I'm *not* reuse native code.
>>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
>>>> xen-self-contained. 
>>>> 
>>>> The patch just redirect native mce_chrdev_device to
>>>> xen_mce_chrdev_device when running under xen environment.
>>>> It didn't change any native code (except just cancel
>>>> mce_chrdev_device 'static'), and will not break native logic.
>>> 
>>> Why are you doing that?
>>> 
>>> Why don't you do
>>> 
>>> 	misc_register(&xen_mce_chrdev_device);
>>> 
>>> in xen_early_init_mcelog() ?
>>> 
>>> This way there'll be no arch/x86/ dependencies at all.
>> 
>> The reason is, if we do so, it would be covered by native
>> misc_register(&mce_chrdev_device) later when native kernel init (xen
>> init first and then start native kernel).  
> 
> Won't the second registration (so the original one) of the major
> fail? So the mce_log would just error out since somebody already
> registered? 

No, that would be device confliction, the 2nd register return as -EBUSY and un-predicetable result.
I test it in your way, mcelog fail to fetch any error log.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 17:57:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 17:57:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyl7-0004aR-Do; Fri, 25 May 2012 17:57:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXyl6-0004aM-4y
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 17:57:04 +0000
Received: from [193.109.254.147:46066] by server-1.bemta-14.messagelabs.com id
	3F/60-29372-FE7CFBF4; Fri, 25 May 2012 17:57:03 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1337968622!3575879!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzMjY1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9083 invoked from network); 25 May 2012 17:57:02 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-27.messagelabs.com with SMTP;
	25 May 2012 17:57:02 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 25 May 2012 10:57:01 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147872713"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 25 May 2012 10:57:01 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 10:57:01 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 01:56:59 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOd8Ir6jLO/PX8Ee8ZH/5SHvSCZbayviQ
Date: Fri, 25 May 2012 17:56:56 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
In-Reply-To: <20120524184947.GA28338@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>>>>>> -static struct miscdevice mce_chrdev_device = {
>>>>>> +struct miscdevice mce_chrdev_device = {
>>>>>>  	MISC_MCELOG_MINOR,
>>>>>>  	"mcelog",
>>>>>>  	&mce_chrdev_ops,
>>>>> 
>>>>> You're still reusing those - pls, define your own 'struct
>>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
>>>>> convenient and 
>>>>> your own mce_chrdev_ops. The only thing you should be touching in
>>>>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
>>>>> 
>>>>> Thanks.
>>>> 
>>>> I'm *not* reuse native code.
>>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
>>>> xen-self-contained. 
>>>> 
>>>> The patch just redirect native mce_chrdev_device to
>>>> xen_mce_chrdev_device when running under xen environment.
>>>> It didn't change any native code (except just cancel
>>>> mce_chrdev_device 'static'), and will not break native logic.
>>> 
>>> Why are you doing that?
>>> 
>>> Why don't you do
>>> 
>>> 	misc_register(&xen_mce_chrdev_device);
>>> 
>>> in xen_early_init_mcelog() ?
>>> 
>>> This way there'll be no arch/x86/ dependencies at all.
>> 
>> The reason is, if we do so, it would be covered by native
>> misc_register(&mce_chrdev_device) later when native kernel init (xen
>> init first and then start native kernel).  
> 
> Won't the second registration (so the original one) of the major
> fail? So the mce_log would just error out since somebody already
> registered? 

No, that would be device confliction, the 2nd register return as -EBUSY and un-predicetable result.
I test it in your way, mcelog fail to fetch any error log.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:01:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:01:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyp7-0004nr-35; Fri, 25 May 2012 18:01:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXyp5-0004nh-4q
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:01:11 +0000
Received: from [85.158.138.51:19465] by server-12.bemta-3.messagelabs.com id
	C4/09-18957-6E8CFBF4; Fri, 25 May 2012 18:01:10 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337968868!29068192!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg2MTcy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14005 invoked from network); 25 May 2012 18:01:09 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-174.messagelabs.com with SMTP;
	25 May 2012 18:01:09 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 25 May 2012 11:01:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147874220"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 25 May 2012 11:01:08 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 11:01:08 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 02:01:06 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOeHZr6jLO/PX8Ee8ZH/5SHvSCZbazB1A
Date: Fri, 25 May 2012 18:01:04 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
In-Reply-To: <20120524191039.GB28338@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>>>> The reason is, if we do so, it would be covered by native
>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>> (xen init first and then start native kernel).
>>>> Under such case, if linux running under xen platform, /dev/mcelog
>>>> point to vcpu, that's pointless since it cannot get any mcelog from
>>>> physical cpu (which owned by xen).
>>>> 
>>>> Yes, we can use another misc device like /dev/xen-mcelog, w/
>>>> another device minor like 226, but that's not good for userspace
>>>> mcelog tools. As far as I know, Novell mcelog use unified
>>>> /dev/mcelog interface for linux running under either bare metal or
>>>> xen platform. 
>>> 
>>> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
>>> 
>>> That should solve it.
>> 
>> Kernel has created a file /dev/mcelog no matter running at native or
>> xen platform. 
>> If xen try to mask kernel creating /dev/mcelog, that would be
>> harmful to native kernel. 
> 
> Huh? The Xen code won't run under native kernel so how will it mask
> it? 

Hmm, I mean 'xen related code' of linux kernel, e.g. drivers/xen/...

>> 
>>> 
>>>> This patch just do redirection at xen code path, and that would not
>>>> hurt anything to native kernel.
>>> 
>>> My concern is that if we remove /dev/mcelog one day, xen people will
>>> cry.
> 
> Hehe.
> 
> The goal here is to serve the distros so to say. So if the distros
> stop using /dev/mcelog and the /dev/mcelog goes away we won't cry b/c
> well, the user of it has gone away!
> 
> So the moment you remove that, pls CC us so we can remove it too
> and retool to use the MCElogv2.
> 
>> 
>> Don't worry :)
>> Xen people would handle that case (that's not trouble for xen), just
>> notify us is enough. 
>> If kernel really remove /dev/mcelog some day, xen just need simply
>> add 1 line misc_register(&xen_mce_chrdev_device), since currently
>> all other code are xen-self-contained.  
> 
> Well, I will delete it. My customer is distro (Fedora, Debian, Oracle
> and SuSE)- and if the distro is not using it there is not point
> of keeping it.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:01:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:01:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyp7-0004nr-35; Fri, 25 May 2012 18:01:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXyp5-0004nh-4q
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:01:11 +0000
Received: from [85.158.138.51:19465] by server-12.bemta-3.messagelabs.com id
	C4/09-18957-6E8CFBF4; Fri, 25 May 2012 18:01:10 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337968868!29068192!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg2MTcy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14005 invoked from network); 25 May 2012 18:01:09 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-174.messagelabs.com with SMTP;
	25 May 2012 18:01:09 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 25 May 2012 11:01:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="147874220"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 25 May 2012 11:01:08 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 11:01:08 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 02:01:06 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOeHZr6jLO/PX8Ee8ZH/5SHvSCZbazB1A
Date: Fri, 25 May 2012 18:01:04 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
In-Reply-To: <20120524191039.GB28338@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>>>> The reason is, if we do so, it would be covered by native
>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>> (xen init first and then start native kernel).
>>>> Under such case, if linux running under xen platform, /dev/mcelog
>>>> point to vcpu, that's pointless since it cannot get any mcelog from
>>>> physical cpu (which owned by xen).
>>>> 
>>>> Yes, we can use another misc device like /dev/xen-mcelog, w/
>>>> another device minor like 226, but that's not good for userspace
>>>> mcelog tools. As far as I know, Novell mcelog use unified
>>>> /dev/mcelog interface for linux running under either bare metal or
>>>> xen platform. 
>>> 
>>> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
>>> 
>>> That should solve it.
>> 
>> Kernel has created a file /dev/mcelog no matter running at native or
>> xen platform. 
>> If xen try to mask kernel creating /dev/mcelog, that would be
>> harmful to native kernel. 
> 
> Huh? The Xen code won't run under native kernel so how will it mask
> it? 

Hmm, I mean 'xen related code' of linux kernel, e.g. drivers/xen/...

>> 
>>> 
>>>> This patch just do redirection at xen code path, and that would not
>>>> hurt anything to native kernel.
>>> 
>>> My concern is that if we remove /dev/mcelog one day, xen people will
>>> cry.
> 
> Hehe.
> 
> The goal here is to serve the distros so to say. So if the distros
> stop using /dev/mcelog and the /dev/mcelog goes away we won't cry b/c
> well, the user of it has gone away!
> 
> So the moment you remove that, pls CC us so we can remove it too
> and retool to use the MCElogv2.
> 
>> 
>> Don't worry :)
>> Xen people would handle that case (that's not trouble for xen), just
>> notify us is enough. 
>> If kernel really remove /dev/mcelog some day, xen just need simply
>> add 1 line misc_register(&xen_mce_chrdev_device), since currently
>> all other code are xen-self-contained.  
> 
> Well, I will delete it. My customer is distro (Fedora, Debian, Oracle
> and SuSE)- and if the distro is not using it there is not point
> of keeping it.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:08:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:08:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyvV-00052C-Tw; Fri, 25 May 2012 18:07:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXyvU-000526-Ge
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:07:48 +0000
Received: from [85.158.143.99:21727] by server-2.bemta-4.messagelabs.com id
	70/7E-12211-37ACFBF4; Fri, 25 May 2012 18:07:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337969264!29287344!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27658 invoked from network); 25 May 2012 18:07:46 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 18:07:46 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PI7WV3000949
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 18:07:33 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PI7VtM013300
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 18:07:32 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PI7Vvv006874; Fri, 25 May 2012 13:07:31 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 11:07:31 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 2EA7E40282; Fri, 25 May 2012 14:01:02 -0400 (EDT)
Date: Fri, 25 May 2012 14:01:02 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525180102.GA27280@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 05:56:56PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> >>>>>> -static struct miscdevice mce_chrdev_device = {
> >>>>>> +struct miscdevice mce_chrdev_device = {
> >>>>>>  	MISC_MCELOG_MINOR,
> >>>>>>  	"mcelog",
> >>>>>>  	&mce_chrdev_ops,
> >>>>> 
> >>>>> You're still reusing those - pls, define your own 'struct
> >>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
> >>>>> convenient and 
> >>>>> your own mce_chrdev_ops. The only thing you should be touching in
> >>>>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> >>>>> 
> >>>>> Thanks.
> >>>> 
> >>>> I'm *not* reuse native code.
> >>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
> >>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
> >>>> xen-self-contained. 
> >>>> 
> >>>> The patch just redirect native mce_chrdev_device to
> >>>> xen_mce_chrdev_device when running under xen environment.
> >>>> It didn't change any native code (except just cancel
> >>>> mce_chrdev_device 'static'), and will not break native logic.
> >>> 
> >>> Why are you doing that?
> >>> 
> >>> Why don't you do
> >>> 
> >>> 	misc_register(&xen_mce_chrdev_device);
> >>> 
> >>> in xen_early_init_mcelog() ?
> >>> 
> >>> This way there'll be no arch/x86/ dependencies at all.
> >> 
> >> The reason is, if we do so, it would be covered by native
> >> misc_register(&mce_chrdev_device) later when native kernel init (xen
> >> init first and then start native kernel).  
> > 
> > Won't the second registration (so the original one) of the major
> > fail? So the mce_log would just error out since somebody already
> > registered? 
> 
> No, that would be device confliction, the 2nd register return as -EBUSY and un-predicetable result.

And the existing code does not actually check the 'misc_register' return
value? Ah yes. Perhaps then a fix to arch/x86/kernel/cpu/mcheck/mce.c to
do the proper de-registration if 'misc_register' fails?

Or just set 'mce_disabled=1' in the bootup of Xen, similar to
how lguest.c does it?

> I test it in your way, mcelog fail to fetch any error log.

And that is b/c of? What exactly?
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:08:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:08:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyvV-00052C-Tw; Fri, 25 May 2012 18:07:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXyvU-000526-Ge
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:07:48 +0000
Received: from [85.158.143.99:21727] by server-2.bemta-4.messagelabs.com id
	70/7E-12211-37ACFBF4; Fri, 25 May 2012 18:07:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1337969264!29287344!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27658 invoked from network); 25 May 2012 18:07:46 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 18:07:46 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PI7WV3000949
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 18:07:33 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PI7VtM013300
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 18:07:32 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PI7Vvv006874; Fri, 25 May 2012 13:07:31 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 11:07:31 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 2EA7E40282; Fri, 25 May 2012 14:01:02 -0400 (EDT)
Date: Fri, 25 May 2012 14:01:02 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525180102.GA27280@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 05:56:56PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> >>>>>> -static struct miscdevice mce_chrdev_device = {
> >>>>>> +struct miscdevice mce_chrdev_device = {
> >>>>>>  	MISC_MCELOG_MINOR,
> >>>>>>  	"mcelog",
> >>>>>>  	&mce_chrdev_ops,
> >>>>> 
> >>>>> You're still reusing those - pls, define your own 'struct
> >>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
> >>>>> convenient and 
> >>>>> your own mce_chrdev_ops. The only thing you should be touching in
> >>>>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR.
> >>>>> 
> >>>>> Thanks.
> >>>> 
> >>>> I'm *not* reuse native code.
> >>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
> >>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all
> >>>> xen-self-contained. 
> >>>> 
> >>>> The patch just redirect native mce_chrdev_device to
> >>>> xen_mce_chrdev_device when running under xen environment.
> >>>> It didn't change any native code (except just cancel
> >>>> mce_chrdev_device 'static'), and will not break native logic.
> >>> 
> >>> Why are you doing that?
> >>> 
> >>> Why don't you do
> >>> 
> >>> 	misc_register(&xen_mce_chrdev_device);
> >>> 
> >>> in xen_early_init_mcelog() ?
> >>> 
> >>> This way there'll be no arch/x86/ dependencies at all.
> >> 
> >> The reason is, if we do so, it would be covered by native
> >> misc_register(&mce_chrdev_device) later when native kernel init (xen
> >> init first and then start native kernel).  
> > 
> > Won't the second registration (so the original one) of the major
> > fail? So the mce_log would just error out since somebody already
> > registered? 
> 
> No, that would be device confliction, the 2nd register return as -EBUSY and un-predicetable result.

And the existing code does not actually check the 'misc_register' return
value? Ah yes. Perhaps then a fix to arch/x86/kernel/cpu/mcheck/mce.c to
do the proper de-registration if 'misc_register' fails?

Or just set 'mce_disabled=1' in the bootup of Xen, similar to
how lguest.c does it?

> I test it in your way, mcelog fail to fetch any error log.

And that is b/c of? What exactly?
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:10:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:10:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyxQ-00056e-Dx; Fri, 25 May 2012 18:09:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXyxO-00056S-Vd
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:09:47 +0000
Received: from [85.158.139.83:25763] by server-11.bemta-5.messagelabs.com id
	93/D0-12711-AEACFBF4; Fri, 25 May 2012 18:09:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337969383!16627780!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31742 invoked from network); 25 May 2012 18:09:45 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 18:09:45 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PI9XhB002526
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 18:09:34 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PI9WQS027207
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 18:09:33 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PI9Wi8008086; Fri, 25 May 2012 13:09:32 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 11:09:32 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id CB76740282; Fri, 25 May 2012 14:03:03 -0400 (EDT)
Date: Fri, 25 May 2012 14:03:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525180303.GB27280@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 06:01:04PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> >>>> The reason is, if we do so, it would be covered by native
> >>>> misc_register(&mce_chrdev_device) later when native kernel init
> >>>> (xen init first and then start native kernel).
> >>>> Under such case, if linux running under xen platform, /dev/mcelog
> >>>> point to vcpu, that's pointless since it cannot get any mcelog from
> >>>> physical cpu (which owned by xen).
> >>>> 
> >>>> Yes, we can use another misc device like /dev/xen-mcelog, w/
> >>>> another device minor like 226, but that's not good for userspace
> >>>> mcelog tools. As far as I know, Novell mcelog use unified
> >>>> /dev/mcelog interface for linux running under either bare metal or
> >>>> xen platform. 
> >>> 
> >>> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
> >>> 
> >>> That should solve it.
> >> 
> >> Kernel has created a file /dev/mcelog no matter running at native or
> >> xen platform. 
> >> If xen try to mask kernel creating /dev/mcelog, that would be
> >> harmful to native kernel. 
> > 
> > Huh? The Xen code won't run under native kernel so how will it mask
> > it? 
> 
> Hmm, I mean 'xen related code' of linux kernel, e.g. drivers/xen/...

OK? I am still not getting what you are saying. Could you please
rephrase it?

Why would disabling the generic "/dev/mcelog" and use your version
of "/dev/mcelog" be harmful? I think this is what Boris was hinting
as the proper way of doing it.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:10:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:10:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXyxQ-00056e-Dx; Fri, 25 May 2012 18:09:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SXyxO-00056S-Vd
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:09:47 +0000
Received: from [85.158.139.83:25763] by server-11.bemta-5.messagelabs.com id
	93/D0-12711-AEACFBF4; Fri, 25 May 2012 18:09:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1337969383!16627780!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31742 invoked from network); 25 May 2012 18:09:45 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 18:09:45 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PI9XhB002526
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 18:09:34 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PI9WQS027207
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 18:09:33 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PI9Wi8008086; Fri, 25 May 2012 13:09:32 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 11:09:32 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id CB76740282; Fri, 25 May 2012 14:03:03 -0400 (EDT)
Date: Fri, 25 May 2012 14:03:03 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525180303.GB27280@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 06:01:04PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> >>>> The reason is, if we do so, it would be covered by native
> >>>> misc_register(&mce_chrdev_device) later when native kernel init
> >>>> (xen init first and then start native kernel).
> >>>> Under such case, if linux running under xen platform, /dev/mcelog
> >>>> point to vcpu, that's pointless since it cannot get any mcelog from
> >>>> physical cpu (which owned by xen).
> >>>> 
> >>>> Yes, we can use another misc device like /dev/xen-mcelog, w/
> >>>> another device minor like 226, but that's not good for userspace
> >>>> mcelog tools. As far as I know, Novell mcelog use unified
> >>>> /dev/mcelog interface for linux running under either bare metal or
> >>>> xen platform. 
> >>> 
> >>> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
> >>> 
> >>> That should solve it.
> >> 
> >> Kernel has created a file /dev/mcelog no matter running at native or
> >> xen platform. 
> >> If xen try to mask kernel creating /dev/mcelog, that would be
> >> harmful to native kernel. 
> > 
> > Huh? The Xen code won't run under native kernel so how will it mask
> > it? 
> 
> Hmm, I mean 'xen related code' of linux kernel, e.g. drivers/xen/...

OK? I am still not getting what you are saying. Could you please
rephrase it?

Why would disabling the generic "/dev/mcelog" and use your version
of "/dev/mcelog" be harmful? I think this is what Boris was hinting
as the proper way of doing it.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:56:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXzgH-0005hb-Pt; Fri, 25 May 2012 18:56:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXzgG-0005hW-L4
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:56:08 +0000
Received: from [193.109.254.147:16774] by server-3.bemta-14.messagelabs.com id
	BC/AE-23274-7C5DFBF4; Fri, 25 May 2012 18:56:07 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337972165!11213452!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg2MTcy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7380 invoked from network); 25 May 2012 18:56:06 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-27.messagelabs.com with SMTP;
	25 May 2012 18:56:06 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 25 May 2012 11:55:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104384695"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 25 May 2012 11:55:27 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 11:55:26 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 02:55:25 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybw
Date: Fri, 25 May 2012 18:55:24 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0D42@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
In-Reply-To: <20120525180102.GA27280@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 25, 2012 at 05:56:56PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>>>>>>> -static struct miscdevice mce_chrdev_device = {
>>>>>>>> +struct miscdevice mce_chrdev_device = {
>>>>>>>>  	MISC_MCELOG_MINOR,
>>>>>>>>  	"mcelog",
>>>>>>>>  	&mce_chrdev_ops,
>>>>>>> 
>>>>>>> You're still reusing those - pls, define your own 'struct
>>>>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
>>>>>>> convenient and your own mce_chrdev_ops. The only thing you
>>>>>>> should be touching in arch/x86/.../mcheck/ is the export of
>>>>>>> MISC_MCELOG_MINOR. 
>>>>>>> 
>>>>>>> Thanks.
>>>>>> 
>>>>>> I'm *not* reuse native code.
>>>>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>>>>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are
>>>>>> all xen-self-contained. 
>>>>>> 
>>>>>> The patch just redirect native mce_chrdev_device to
>>>>>> xen_mce_chrdev_device when running under xen environment.
>>>>>> It didn't change any native code (except just cancel
>>>>>> mce_chrdev_device 'static'), and will not break native logic.
>>>>> 
>>>>> Why are you doing that?
>>>>> 
>>>>> Why don't you do
>>>>> 
>>>>> 	misc_register(&xen_mce_chrdev_device);
>>>>> 
>>>>> in xen_early_init_mcelog() ?
>>>>> 
>>>>> This way there'll be no arch/x86/ dependencies at all.
>>>> 
>>>> The reason is, if we do so, it would be covered by native
>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>> (xen init first and then start native kernel).
>>> 
>>> Won't the second registration (so the original one) of the major
>>> fail? So the mce_log would just error out since somebody already
>>> registered?
>> 
>> No, that would be device confliction, the 2nd register return as
>> -EBUSY and un-predicetable result. 
> 
> And the existing code does not actually check the 'misc_register'
> return value? Ah yes. Perhaps then a fix to
> arch/x86/kernel/cpu/mcheck/mce.c to do the proper de-registration if
> 'misc_register' fails? 

It's weird. From code point of view, it indeed not check return value so it should go silently. mce.c didn't do misc_deregister.

> 
> Or just set 'mce_disabled=1' in the bootup of Xen, similar to
> how lguest.c does it?
> 
>> I test it in your way, mcelog fail to fetch any error log.
> 
> And that is b/c of? What exactly?

I don't know exactly what's the reason, but test again still fail.

Thanks,
Jinsong



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 18:56:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 18:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SXzgH-0005hb-Pt; Fri, 25 May 2012 18:56:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SXzgG-0005hW-L4
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 18:56:08 +0000
Received: from [193.109.254.147:16774] by server-3.bemta-14.messagelabs.com id
	BC/AE-23274-7C5DFBF4; Fri, 25 May 2012 18:56:07 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1337972165!11213452!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg2MTcy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7380 invoked from network); 25 May 2012 18:56:06 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-27.messagelabs.com with SMTP;
	25 May 2012 18:56:06 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 25 May 2012 11:55:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104384695"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 25 May 2012 11:55:27 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 11:55:26 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 02:55:25 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybw
Date: Fri, 25 May 2012 18:55:24 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0D42@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
In-Reply-To: <20120525180102.GA27280@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 25, 2012 at 05:56:56PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>>>>>>> -static struct miscdevice mce_chrdev_device = {
>>>>>>>> +struct miscdevice mce_chrdev_device = {
>>>>>>>>  	MISC_MCELOG_MINOR,
>>>>>>>>  	"mcelog",
>>>>>>>>  	&mce_chrdev_ops,
>>>>>>> 
>>>>>>> You're still reusing those - pls, define your own 'struct
>>>>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
>>>>>>> convenient and your own mce_chrdev_ops. The only thing you
>>>>>>> should be touching in arch/x86/.../mcheck/ is the export of
>>>>>>> MISC_MCELOG_MINOR. 
>>>>>>> 
>>>>>>> Thanks.
>>>>>> 
>>>>>> I'm *not* reuse native code.
>>>>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>>>>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are
>>>>>> all xen-self-contained. 
>>>>>> 
>>>>>> The patch just redirect native mce_chrdev_device to
>>>>>> xen_mce_chrdev_device when running under xen environment.
>>>>>> It didn't change any native code (except just cancel
>>>>>> mce_chrdev_device 'static'), and will not break native logic.
>>>>> 
>>>>> Why are you doing that?
>>>>> 
>>>>> Why don't you do
>>>>> 
>>>>> 	misc_register(&xen_mce_chrdev_device);
>>>>> 
>>>>> in xen_early_init_mcelog() ?
>>>>> 
>>>>> This way there'll be no arch/x86/ dependencies at all.
>>>> 
>>>> The reason is, if we do so, it would be covered by native
>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>> (xen init first and then start native kernel).
>>> 
>>> Won't the second registration (so the original one) of the major
>>> fail? So the mce_log would just error out since somebody already
>>> registered?
>> 
>> No, that would be device confliction, the 2nd register return as
>> -EBUSY and un-predicetable result. 
> 
> And the existing code does not actually check the 'misc_register'
> return value? Ah yes. Perhaps then a fix to
> arch/x86/kernel/cpu/mcheck/mce.c to do the proper de-registration if
> 'misc_register' fails? 

It's weird. From code point of view, it indeed not check return value so it should go silently. mce.c didn't do misc_deregister.

> 
> Or just set 'mce_disabled=1' in the bootup of Xen, similar to
> how lguest.c does it?
> 
>> I test it in your way, mcelog fail to fetch any error log.
> 
> And that is b/c of? What exactly?

I don't know exactly what's the reason, but test again still fail.

Thanks,
Jinsong



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 19:17:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 19:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY00h-0005wu-QK; Fri, 25 May 2012 19:17:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SY00g-0005wp-2f
	for xen-devel@lists.xen.org; Fri, 25 May 2012 19:17:14 +0000
Received: from [85.158.143.99:23710] by server-1.bemta-4.messagelabs.com id
	0D/FF-00342-9BADFBF4; Fri, 25 May 2012 19:17:13 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337973432!22820282!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7236 invoked from network); 25 May 2012 19:17:12 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 19:17:12 -0000
Received: by wgbed3 with SMTP id ed3so918481wgb.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 12:17:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=tRKUlRPKoQtSr+Na1snU0iTFn5CnMGKuVXr+upLU3fY=;
	b=WkT3Kx408AzxSIzLa7bR7m3nTRexXloBaPQlOtBi4Ay9YqtNCsAVT3+6W4/vB74mWT
	ATHBkJqQn1Cg6d5DZlZ1aMpYrooi+J5UWqcKObgcIJW2R/++V60FF7M0073HQo0czHpK
	wxIn87Ks9M3xahrM1/aOO8gkad5dWWLlJjinw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=tRKUlRPKoQtSr+Na1snU0iTFn5CnMGKuVXr+upLU3fY=;
	b=d1BX8cvEyg6kIQrIGWkFHnS3VcAXS6apxWwOkfDXHOHLnrAu/r2LjMOmgq8D0sNjTi
	9+sSrn1lL/itGTlySPZuwJBM9zRWPTdPuXU7o++bJ8HRbPDBibAeucCw/ZV0X9vevMZx
	2/laudZ5/V4BSruweYkzZmKF8+S1TscxTIdN8nkeS+HRSksoVvxBTZ5liNLI+Q1JavOY
	WOeDIJa7vY/NnyMVX5P9OG3X7xF4y6ez9uPSs3YFu5mIWk1rztG4PywYRkO8u9ztW4mF
	UpXGtOZEMfODVuEpF9lTmIlnwgRgUkGVVBH09YVP89V67RG/xPsV+ecojE05cPxnFHrw
	j/Sg==
MIME-Version: 1.0
Received: by 10.180.98.201 with SMTP id ek9mr343888wib.7.1337973431976; Fri,
	25 May 2012 12:17:11 -0700 (PDT)
Received: by 10.217.4.198 with HTTP; Fri, 25 May 2012 12:17:11 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <CBE506FF.40DAC%keir@xen.org>
References: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
	<CBE506FF.40DAC%keir@xen.org>
Date: Fri, 25 May 2012 12:17:11 -0700
Message-ID: <CAB10MZAxnQDdB3Mm_ve4unRFKcHdzFovRz9aC4+R9dM5xHpY-A@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Keir Fraser <keir@xen.org>
X-Gm-Message-State: ALoCoQlMzpnV94rBtSZ7sfOVxuXzP37DiFMcoS4ukvHZ6Svodra1s7M6S0wFWtuXHT5Pr5SPWGFL
Cc: Xudong Hao <xudong.hao@intel.com>, eddie.dong@intel.com,
	xen-devel@lists.xen.org, JBeulich@suse.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
	in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 1:53 AM, Keir Fraser <keir@xen.org> wrote:
> On 24/05/2012 20:06, "Xudong Hao" <xudong.hao@intel.com> wrote:
>
>> VMX exception: Pass the instruction length field down to exception emulation,
>> by changing hypercall parameter and adding a parameter in fucntion
>> hvm_inject_exception(), so that exception emulation can set correct
>> instruction length.
>>
>> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
>> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
>
> I don't like adding yet another parameter for all callers, especially as we
> should also be passing down the event type (sw interrupt, hw exception, ...)
> and that would bloat the parameter list further.
>
> I attach a cleanup patch which packs everything into a new struct and
> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
> wrappers around that function for existing callers, so that their parameter
> lists actually *shrink*.
>
> Let me know what you think. If it looks acceptable I can check it in and we
> can build on top of this restructuring. The aim being to keep
> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers into
> it.

So I take it that with just this patch injecting of software
interrupts will not work and I should hold off on testing that out.
What is the plan for injecting software interrupts? Add another libxc
API for that?

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 19:17:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 19:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY00h-0005wu-QK; Fri, 25 May 2012 19:17:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SY00g-0005wp-2f
	for xen-devel@lists.xen.org; Fri, 25 May 2012 19:17:14 +0000
Received: from [85.158.143.99:23710] by server-1.bemta-4.messagelabs.com id
	0D/FF-00342-9BADFBF4; Fri, 25 May 2012 19:17:13 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1337973432!22820282!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7236 invoked from network); 25 May 2012 19:17:12 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 19:17:12 -0000
Received: by wgbed3 with SMTP id ed3so918481wgb.32
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 12:17:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=tRKUlRPKoQtSr+Na1snU0iTFn5CnMGKuVXr+upLU3fY=;
	b=WkT3Kx408AzxSIzLa7bR7m3nTRexXloBaPQlOtBi4Ay9YqtNCsAVT3+6W4/vB74mWT
	ATHBkJqQn1Cg6d5DZlZ1aMpYrooi+J5UWqcKObgcIJW2R/++V60FF7M0073HQo0czHpK
	wxIn87Ks9M3xahrM1/aOO8gkad5dWWLlJjinw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=tRKUlRPKoQtSr+Na1snU0iTFn5CnMGKuVXr+upLU3fY=;
	b=d1BX8cvEyg6kIQrIGWkFHnS3VcAXS6apxWwOkfDXHOHLnrAu/r2LjMOmgq8D0sNjTi
	9+sSrn1lL/itGTlySPZuwJBM9zRWPTdPuXU7o++bJ8HRbPDBibAeucCw/ZV0X9vevMZx
	2/laudZ5/V4BSruweYkzZmKF8+S1TscxTIdN8nkeS+HRSksoVvxBTZ5liNLI+Q1JavOY
	WOeDIJa7vY/NnyMVX5P9OG3X7xF4y6ez9uPSs3YFu5mIWk1rztG4PywYRkO8u9ztW4mF
	UpXGtOZEMfODVuEpF9lTmIlnwgRgUkGVVBH09YVP89V67RG/xPsV+ecojE05cPxnFHrw
	j/Sg==
MIME-Version: 1.0
Received: by 10.180.98.201 with SMTP id ek9mr343888wib.7.1337973431976; Fri,
	25 May 2012 12:17:11 -0700 (PDT)
Received: by 10.217.4.198 with HTTP; Fri, 25 May 2012 12:17:11 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <CBE506FF.40DAC%keir@xen.org>
References: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
	<CBE506FF.40DAC%keir@xen.org>
Date: Fri, 25 May 2012 12:17:11 -0700
Message-ID: <CAB10MZAxnQDdB3Mm_ve4unRFKcHdzFovRz9aC4+R9dM5xHpY-A@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: Keir Fraser <keir@xen.org>
X-Gm-Message-State: ALoCoQlMzpnV94rBtSZ7sfOVxuXzP37DiFMcoS4ukvHZ6Svodra1s7M6S0wFWtuXHT5Pr5SPWGFL
Cc: Xudong Hao <xudong.hao@intel.com>, eddie.dong@intel.com,
	xen-devel@lists.xen.org, JBeulich@suse.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
	in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 1:53 AM, Keir Fraser <keir@xen.org> wrote:
> On 24/05/2012 20:06, "Xudong Hao" <xudong.hao@intel.com> wrote:
>
>> VMX exception: Pass the instruction length field down to exception emulation,
>> by changing hypercall parameter and adding a parameter in fucntion
>> hvm_inject_exception(), so that exception emulation can set correct
>> instruction length.
>>
>> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
>> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
>
> I don't like adding yet another parameter for all callers, especially as we
> should also be passing down the event type (sw interrupt, hw exception, ...)
> and that would bloat the parameter list further.
>
> I attach a cleanup patch which packs everything into a new struct and
> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
> wrappers around that function for existing callers, so that their parameter
> lists actually *shrink*.
>
> Let me know what you think. If it looks acceptable I can check it in and we
> can build on top of this restructuring. The aim being to keep
> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers into
> it.

So I take it that with just this patch injecting of software
interrupts will not work and I should hold off on testing that out.
What is the plan for injecting software interrupts? Add another libxc
API for that?

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 19:31:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 19:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY0Dm-00066t-4y; Fri, 25 May 2012 19:30:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SY0Dk-00066o-IJ
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 19:30:44 +0000
Received: from [85.158.139.83:15231] by server-7.bemta-5.messagelabs.com id
	FA/FE-15932-3EDDFBF4; Fri, 25 May 2012 19:30:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337974240!30442324!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29957 invoked from network); 25 May 2012 19:30:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 19:30:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330905600"; d="scan'208";a="12676809"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 19:30:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 20:30:40 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SY0Df-0008WR-KZ;
	Fri, 25 May 2012 19:30:39 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SY0Df-00017u-C8;
	Fri, 25 May 2012 20:30:39 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12971-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 25 May 2012 20:30:39 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12971: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12971 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12971/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pv           9 guest-start               fail REGR. vs. 12969

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          fail    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 19:31:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 19:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY0Dm-00066t-4y; Fri, 25 May 2012 19:30:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SY0Dk-00066o-IJ
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 19:30:44 +0000
Received: from [85.158.139.83:15231] by server-7.bemta-5.messagelabs.com id
	FA/FE-15932-3EDDFBF4; Fri, 25 May 2012 19:30:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1337974240!30442324!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA1OTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29957 invoked from network); 25 May 2012 19:30:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 19:30:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,657,1330905600"; d="scan'208";a="12676809"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 May 2012 19:30:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Fri, 25 May 2012 20:30:40 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SY0Df-0008WR-KZ;
	Fri, 25 May 2012 19:30:39 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SY0Df-00017u-C8;
	Fri, 25 May 2012 20:30:39 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12971-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Fri, 25 May 2012 20:30:39 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12971: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12971 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12971/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pv           9 guest-start               fail REGR. vs. 12969

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          fail    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 19:55:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 19:55:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY0bV-0006Iv-ES; Fri, 25 May 2012 19:55:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SY0bU-0006Iq-0U
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 19:55:16 +0000
Received: from [85.158.143.99:35779] by server-2.bemta-4.messagelabs.com id
	8F/DD-12211-3A3EFBF4; Fri, 25 May 2012 19:55:15 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337975713!22319031!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzMjY1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23455 invoked from network); 25 May 2012 19:55:14 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-216.messagelabs.com with SMTP;
	25 May 2012 19:55:14 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 25 May 2012 12:55:10 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104404571"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 25 May 2012 12:55:10 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 12:55:10 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 03:55:08 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqCgr6jLO/PX8Ee8ZH/5SHvSCZba2xXg
Date: Fri, 25 May 2012 19:55:08 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
In-Reply-To: <20120525180303.GB27280@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 25, 2012 at 06:01:04PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>>>>> The reason is, if we do so, it would be covered by native
>>>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>>>> (xen init first and then start native kernel).
>>>>>> Under such case, if linux running under xen platform, /dev/mcelog
>>>>>> point to vcpu, that's pointless since it cannot get any mcelog
>>>>>> from physical cpu (which owned by xen).
>>>>>> 
>>>>>> Yes, we can use another misc device like /dev/xen-mcelog, w/
>>>>>> another device minor like 226, but that's not good for userspace
>>>>>> mcelog tools. As far as I know, Novell mcelog use unified
>>>>>> /dev/mcelog interface for linux running under either bare metal
>>>>>> or xen platform.
>>>>> 
>>>>> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
>>>>> 
>>>>> That should solve it.
>>>> 
>>>> Kernel has created a file /dev/mcelog no matter running at native
>>>> or xen platform. If xen try to mask kernel creating /dev/mcelog,
>>>> that would be harmful to native kernel.
>>> 
>>> Huh? The Xen code won't run under native kernel so how will it mask
>>> it?
>> 
>> Hmm, I mean 'xen related code' of linux kernel, e.g. drivers/xen/...
> 
> OK? I am still not getting what you are saying. Could you please
> rephrase it?

What I mean is,
If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c would create /dev/mcelog (minor=227).
Under such case, may we create a symlink in /dev/mcelog pointing to /dev/xen-mcelog, without touching native mce code? and how?

> 
> Why would disabling the generic "/dev/mcelog" and use your version
> of "/dev/mcelog" be harmful? I think this is what Boris was hinting
> as the proper way of doing it.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 19:55:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 19:55:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY0bV-0006Iv-ES; Fri, 25 May 2012 19:55:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SY0bU-0006Iq-0U
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 19:55:16 +0000
Received: from [85.158.143.99:35779] by server-2.bemta-4.messagelabs.com id
	8F/DD-12211-3A3EFBF4; Fri, 25 May 2012 19:55:15 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1337975713!22319031!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzMjY1\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23455 invoked from network); 25 May 2012 19:55:14 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-216.messagelabs.com with SMTP;
	25 May 2012 19:55:14 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 25 May 2012 12:55:10 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104404571"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 25 May 2012 12:55:10 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 12:55:10 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 03:55:08 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqCgr6jLO/PX8Ee8ZH/5SHvSCZba2xXg
Date: Fri, 25 May 2012 19:55:08 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
In-Reply-To: <20120525180303.GB27280@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Fri, May 25, 2012 at 06:01:04PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>>>>> The reason is, if we do so, it would be covered by native
>>>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>>>> (xen init first and then start native kernel).
>>>>>> Under such case, if linux running under xen platform, /dev/mcelog
>>>>>> point to vcpu, that's pointless since it cannot get any mcelog
>>>>>> from physical cpu (which owned by xen).
>>>>>> 
>>>>>> Yes, we can use another misc device like /dev/xen-mcelog, w/
>>>>>> another device minor like 226, but that's not good for userspace
>>>>>> mcelog tools. As far as I know, Novell mcelog use unified
>>>>>> /dev/mcelog interface for linux running under either bare metal
>>>>>> or xen platform.
>>>>> 
>>>>> Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?
>>>>> 
>>>>> That should solve it.
>>>> 
>>>> Kernel has created a file /dev/mcelog no matter running at native
>>>> or xen platform. If xen try to mask kernel creating /dev/mcelog,
>>>> that would be harmful to native kernel.
>>> 
>>> Huh? The Xen code won't run under native kernel so how will it mask
>>> it?
>> 
>> Hmm, I mean 'xen related code' of linux kernel, e.g. drivers/xen/...
> 
> OK? I am still not getting what you are saying. Could you please
> rephrase it?

What I mean is,
If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c would create /dev/mcelog (minor=227).
Under such case, may we create a symlink in /dev/mcelog pointing to /dev/xen-mcelog, without touching native mce code? and how?

> 
> Why would disabling the generic "/dev/mcelog" and use your version
> of "/dev/mcelog" be harmful? I think this is what Boris was hinting
> as the proper way of doing it.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:28:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:28:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY16l-000796-6z; Fri, 25 May 2012 20:27:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SY16j-00078q-V1
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:27:34 +0000
Received: from [193.109.254.147:30668] by server-2.bemta-14.messagelabs.com id
	AF/08-19409-53BEFBF4; Fri, 25 May 2012 20:27:33 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337977652!10404770!1
X-Originating-IP: [208.97.132.202]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4yMDIgPT4gMjU1NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23050 invoked from network); 25 May 2012 20:27:32 -0000
Received: from caiajhbdccac.dreamhost.com (HELO homiemail-a18.g.dreamhost.com)
	(208.97.132.202) by server-13.tower-27.messagelabs.com with SMTP;
	25 May 2012 20:27:32 -0000
Received: from homiemail-a18.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a18.g.dreamhost.com (Postfix) with ESMTP id A4223250071;
	Fri, 25 May 2012 13:27:31 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:date:subject:from:to:cc:reply-to:mime-version:content-type:
	content-transfer-encoding; q=dns; s=lagarcavilla.org; b=ryoY1q7o
	KhL9e473igLkdQJIr1RjXOIQ0JCSbmLPwSmhB8IgjL4KkaX6C3TRREFMLyPLjnAJ
	LOhsukN+TMtm+PrM1FskUd2L+bpKldQx8fCa8tyvzZZNc0Za5tEuXWiztotY7Anr
	5Ch2gmsXSsUC1MiqUyhDBQAlJdTD3oiYgjs=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:date:subject:from:to:cc:reply-to:mime-version
	:content-type:content-transfer-encoding; s=lagarcavilla.org; bh=
	Cz6Rmo+8YLPmLJIzYMt4qIkaOY8=; b=FWsRkuMM9P7/NcGIqRRwY7Ip7lLUEVM4
	f6tFDoMGm3QsJJPXNuUZSnkxzIEJu0cwp8M7XtARBg73Yfb3+PXrpmT9DtJRiR8B
	B6d/UaL7E9n13DZMtZI8SRTv8icBg4L9JSIy6ZlwRHr32DGZ7ZNbsi2Hh3WtZ17M
	Mq4RkdZc5Ac=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a18.g.dreamhost.com (Postfix) with ESMTPA id 83F5725006B; 
	Fri, 25 May 2012 13:27:31 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Fri, 25 May 2012 13:27:31 -0700
Message-ID: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
Date: Fri, 25 May 2012 13:27:31 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: xen-devel@lists.xen.org
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: ian.jackson@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I am getting libxenlight.so and xl link failures, complaining about
missing login_tty and opentty symbols. The patch below fixes this for me,
in a quick & dirty manner.

FYI, not proposing this for the tree. I'm not sure to which extent you
want to support an oldish distro, whether libutil is universally necessary
and/or available.

Andres

diff -r 69c3ae25bb1d tools/libxl/Makefile
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -60,7 +60,7 @@ ifeq ($(BISON),)
          scanners, please install it an rerun configure)
 endif

-LIBXL_LIBS += -lyajl
+LIBXL_LIBS += -lyajl -lutil

 LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
            libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
@@ -154,7 +154,7 @@ libxlutil.a: $(LIBXLU_OBJS)
    $(AR) rcs libxlutil.a $^

 xl: $(XL_OBJS) libxlutil.so libxenlight.so
-   $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight)
$(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
+   $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight)
$(LDLIBS_libxenctrl) -lyajl -lutil $(APPEND_LDFLAGS)

 testidl: testidl.o libxlutil.so libxenlight.so
    $(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight)
$(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:28:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:28:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY16l-000796-6z; Fri, 25 May 2012 20:27:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SY16j-00078q-V1
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:27:34 +0000
Received: from [193.109.254.147:30668] by server-2.bemta-14.messagelabs.com id
	AF/08-19409-53BEFBF4; Fri, 25 May 2012 20:27:33 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337977652!10404770!1
X-Originating-IP: [208.97.132.202]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi4yMDIgPT4gMjU1NTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23050 invoked from network); 25 May 2012 20:27:32 -0000
Received: from caiajhbdccac.dreamhost.com (HELO homiemail-a18.g.dreamhost.com)
	(208.97.132.202) by server-13.tower-27.messagelabs.com with SMTP;
	25 May 2012 20:27:32 -0000
Received: from homiemail-a18.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a18.g.dreamhost.com (Postfix) with ESMTP id A4223250071;
	Fri, 25 May 2012 13:27:31 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:date:subject:from:to:cc:reply-to:mime-version:content-type:
	content-transfer-encoding; q=dns; s=lagarcavilla.org; b=ryoY1q7o
	KhL9e473igLkdQJIr1RjXOIQ0JCSbmLPwSmhB8IgjL4KkaX6C3TRREFMLyPLjnAJ
	LOhsukN+TMtm+PrM1FskUd2L+bpKldQx8fCa8tyvzZZNc0Za5tEuXWiztotY7Anr
	5Ch2gmsXSsUC1MiqUyhDBQAlJdTD3oiYgjs=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:date:subject:from:to:cc:reply-to:mime-version
	:content-type:content-transfer-encoding; s=lagarcavilla.org; bh=
	Cz6Rmo+8YLPmLJIzYMt4qIkaOY8=; b=FWsRkuMM9P7/NcGIqRRwY7Ip7lLUEVM4
	f6tFDoMGm3QsJJPXNuUZSnkxzIEJu0cwp8M7XtARBg73Yfb3+PXrpmT9DtJRiR8B
	B6d/UaL7E9n13DZMtZI8SRTv8icBg4L9JSIy6ZlwRHr32DGZ7ZNbsi2Hh3WtZ17M
	Mq4RkdZc5Ac=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a18.g.dreamhost.com (Postfix) with ESMTPA id 83F5725006B; 
	Fri, 25 May 2012 13:27:31 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Fri, 25 May 2012 13:27:31 -0700
Message-ID: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
Date: Fri, 25 May 2012 13:27:31 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: xen-devel@lists.xen.org
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: ian.jackson@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I am getting libxenlight.so and xl link failures, complaining about
missing login_tty and opentty symbols. The patch below fixes this for me,
in a quick & dirty manner.

FYI, not proposing this for the tree. I'm not sure to which extent you
want to support an oldish distro, whether libutil is universally necessary
and/or available.

Andres

diff -r 69c3ae25bb1d tools/libxl/Makefile
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -60,7 +60,7 @@ ifeq ($(BISON),)
          scanners, please install it an rerun configure)
 endif

-LIBXL_LIBS += -lyajl
+LIBXL_LIBS += -lyajl -lutil

 LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
            libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
@@ -154,7 +154,7 @@ libxlutil.a: $(LIBXLU_OBJS)
    $(AR) rcs libxlutil.a $^

 xl: $(XL_OBJS) libxlutil.so libxenlight.so
-   $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight)
$(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
+   $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight)
$(LDLIBS_libxenctrl) -lyajl -lutil $(APPEND_LDFLAGS)

 testidl: testidl.o libxlutil.so libxenlight.so
    $(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight)
$(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY191-0007OP-Pj; Fri, 25 May 2012 20:29:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY18z-0007OD-UO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 20:29:54 +0000
Received: from [193.109.254.147:50381] by server-3.bemta-14.messagelabs.com id
	2F/C8-23274-1CBEFBF4; Fri, 25 May 2012 20:29:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337977791!3355692!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 943 invoked from network); 25 May 2012 20:29:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 20:29:52 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PKTdDj020237
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 20:29:40 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PKTcU2014607
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 20:29:39 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PKTcfX025722; Fri, 25 May 2012 15:29:38 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 13:29:38 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5FB7240282; Fri, 25 May 2012 16:23:09 -0400 (EDT)
Date: Fri, 25 May 2012 16:23:09 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525202309.GA14524@phenom.dumpdata.com>
References: <20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> What I mean is,
> If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c would create /dev/mcelog (minor=227).
> Under such case, may we create a symlink in /dev/mcelog pointing to /dev/xen-mcelog, without touching native mce code? and how?

I thought the idea was that we would create /dev/mcelog using the same major/minor.

However if you want to create /dev/xen-mcelog and then create from the kernel
another file in /dev that is name 'mcelog' and is a symlink to /dev/mcelog - that
is OK too. Obviously you will also need to disable the generic '/dev/mcelog'
(and that can be done in the same way as lguest does it).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY191-0007OP-Pj; Fri, 25 May 2012 20:29:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY18z-0007OD-UO
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 20:29:54 +0000
Received: from [193.109.254.147:50381] by server-3.bemta-14.messagelabs.com id
	2F/C8-23274-1CBEFBF4; Fri, 25 May 2012 20:29:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1337977791!3355692!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 943 invoked from network); 25 May 2012 20:29:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 20:29:52 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PKTdDj020237
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 20:29:40 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PKTcU2014607
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 20:29:39 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PKTcfX025722; Fri, 25 May 2012 15:29:38 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 13:29:38 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5FB7240282; Fri, 25 May 2012 16:23:09 -0400 (EDT)
Date: Fri, 25 May 2012 16:23:09 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525202309.GA14524@phenom.dumpdata.com>
References: <20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> What I mean is,
> If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c would create /dev/mcelog (minor=227).
> Under such case, may we create a symlink in /dev/mcelog pointing to /dev/xen-mcelog, without touching native mce code? and how?

I thought the idea was that we would create /dev/mcelog using the same major/minor.

However if you want to create /dev/xen-mcelog and then create from the kernel
another file in /dev that is name 'mcelog' and is a symlink to /dev/mcelog - that
is OK too. Obviously you will also need to disable the generic '/dev/mcelog'
(and that can be done in the same way as lguest does it).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:34:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:34:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1DY-0007gx-Fi; Fri, 25 May 2012 20:34:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1DX-0007gm-Nk
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 20:34:35 +0000
Received: from [193.109.254.147:14956] by server-10.bemta-14.messagelabs.com
	id 85/03-05847-BDCEFBF4; Fri, 25 May 2012 20:34:35 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337978073!3361946!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22414 invoked from network); 25 May 2012 20:34:34 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 20:34:34 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PKYRl3008161
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 20:34:28 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PKYRZa020967
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 20:34:27 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PKYQoR008970; Fri, 25 May 2012 15:34:26 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 13:34:26 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 202A940282; Fri, 25 May 2012 16:27:58 -0400 (EDT)
Date: Fri, 25 May 2012 16:27:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Message-ID: <20120525202758.GB23655@phenom.dumpdata.com>
References: <1c28051020488782f127.1337963657@exile>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1c28051020488782f127.1337963657@exile>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] libxl: When checking BDF of existing slots,
 function should be decimal, not hex
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 04:34:17PM +0000, George Dunlap wrote:
> # HG changeset patch
> # User George Dunlap <george.dunlap@eu.citrix.com>
> # Date 1337961666 0
> # Node ID 1c28051020488782f1277dd60a2418324580297e
> # Parent  69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
> libxl: When checking BDF of existing slots, function should be decimal, not hex
> 
> Spotted-by: Konrad Wilk <konrad.wilk@oracle.com>

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c
> +++ b/tools/libxl/libxl_pci.c
> @@ -480,7 +480,7 @@ static int pciback_dev_has_slot(libxl__g
>          return ERROR_FAIL;
>      }
>  
> -    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
> +    while(fscanf(f, "%x:%x:%x.%d\n", &dom, &bus, &dev, &func)==4) {
>          if(dom == pcidev->domain
>             && bus == pcidev->bus
>             && dev == pcidev->dev
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:34:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:34:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1DY-0007gx-Fi; Fri, 25 May 2012 20:34:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1DX-0007gm-Nk
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 20:34:35 +0000
Received: from [193.109.254.147:14956] by server-10.bemta-14.messagelabs.com
	id 85/03-05847-BDCEFBF4; Fri, 25 May 2012 20:34:35 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1337978073!3361946!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22414 invoked from network); 25 May 2012 20:34:34 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 20:34:34 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PKYRl3008161
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 20:34:28 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PKYRZa020967
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 20:34:27 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PKYQoR008970; Fri, 25 May 2012 15:34:26 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 13:34:26 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 202A940282; Fri, 25 May 2012 16:27:58 -0400 (EDT)
Date: Fri, 25 May 2012 16:27:58 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Message-ID: <20120525202758.GB23655@phenom.dumpdata.com>
References: <1c28051020488782f127.1337963657@exile>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1c28051020488782f127.1337963657@exile>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] [PATCH] libxl: When checking BDF of existing slots,
 function should be decimal, not hex
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 04:34:17PM +0000, George Dunlap wrote:
> # HG changeset patch
> # User George Dunlap <george.dunlap@eu.citrix.com>
> # Date 1337961666 0
> # Node ID 1c28051020488782f1277dd60a2418324580297e
> # Parent  69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
> libxl: When checking BDF of existing slots, function should be decimal, not hex
> 
> Spotted-by: Konrad Wilk <konrad.wilk@oracle.com>

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> 
> diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> --- a/tools/libxl/libxl_pci.c
> +++ b/tools/libxl/libxl_pci.c
> @@ -480,7 +480,7 @@ static int pciback_dev_has_slot(libxl__g
>          return ERROR_FAIL;
>      }
>  
> -    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
> +    while(fscanf(f, "%x:%x:%x.%d\n", &dom, &bus, &dev, &func)==4) {
>          if(dom == pcidev->domain
>             && bus == pcidev->bus
>             && dev == pcidev->dev
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1F6-0007p5-8t; Fri, 25 May 2012 20:36:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SY1F4-0007of-Ut
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:36:11 +0000
Received: from [85.158.143.35:54595] by server-1.bemta-4.messagelabs.com id
	D3/0D-00342-93DEFBF4; Fri, 25 May 2012 20:36:09 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337978166!14137293!1
X-Originating-IP: [209.85.160.173]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28147 invoked from network); 25 May 2012 20:36:08 -0000
Received: from mail-gh0-f173.google.com (HELO mail-gh0-f173.google.com)
	(209.85.160.173)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 20:36:08 -0000
Received: by ghrr14 with SMTP id r14so813669ghr.32
	for <multiple recipients>; Fri, 25 May 2012 13:36:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=u4Cw2IxkDDCWrl1l9XkUGGrB2UpXcZkaQzwE80CA45s=;
	b=zW92w04JZOssSWYKF6BWgz05111YM10Qzwp8B/pN2iBv+aDuTlQa9epZurgTs3K9MC
	WSS/I6UOpkI2ADHWXT/Ll0FIg2P6UipFM/Mv/6HGdvnQY6jhA02hU+ejHP3IOV/VOMmj
	4F6LT4XwB2EsOebUPiWyp4qfJqQpjjyFI9iMPRRSdqo5TCsY1lA2zokPKlGhLmeG+nY+
	aUEmM/Hn2+BLxcavJt7boupQhaTi/HilRY1hxl5nLTZorSmB8Xrd8NVDnKXoLykrB3lg
	RTJ6OszC7iG77RQH/xHlG0K80O3Us6OLzhgBtsjYRSq49dqIXO2TG61jovAJ22Bc1VlS
	U6dA==
MIME-Version: 1.0
Received: by 10.50.156.197 with SMTP id wg5mr125153igb.31.1337978165968; Fri,
	25 May 2012 13:36:05 -0700 (PDT)
Received: by 10.231.46.10 with HTTP; Fri, 25 May 2012 13:36:05 -0700 (PDT)
Date: Fri, 25 May 2012 21:36:05 +0100
Message-ID: <CAOqnZH7WVUkZX9D_OOCcEeFkCKtPT0xzPjeRuhjgg=CxBby-Pg@mail.gmail.com>
From: Lars Kurth <lars.kurth.xen@gmail.com>
To: xen-api@lists.xen.org, xen-devel@lists.xen.org, xen-arm@lists.xen.org
Subject: [Xen-devel] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5483702093830641086=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5483702093830641086==
Content-Type: multipart/alternative; boundary=e89a8f3ba95f4cbe2c04c0e251ea

--e89a8f3ba95f4cbe2c04c0e251ea
Content-Type: text/plain; charset=ISO-8859-1

Hi,

everybody. A quick reminder that the next Xen Document Day is happening
next Monday. More info on document days at
http://wiki.xen.org/wiki/Xen_Document_Days

Hope to see you on IRC! Feel free to add stuff to the TODO list (
http://wiki.xen.org/wiki/Xen_Document_Days/TODO) or put your name besides
an item if you intend to work on it.

Best Regards
Lars

*********************
* Xen Document Days *
*********************

We have another Xen document day come up next Monday. Xen Document Days are
for people who care about Xen Documentation and want to improve it. We
introduced Documentation Days, because working on documentation in parallel
with like minded-people, is just more fun than working alone! Everybody who
can contribute is welcome to join!

For a list of items that need work, check out the community maintained TODO
list (http://wiki.xen.org/wiki/Xen_Document_Days/TODO<http://wiki.xen.org/wiki/Xen_Document_Days/TODO>).
Of course, you can work on anything you like: the list just provides
suggestions.

How do I participate?
=====================

- Join us on IRC: freenode channel #xendocs
- Tell people what you intend to work on (to avoid doing something somebody
  else is already working on)
- Fix some documentation
- Help others
- And above all: have fun!

--e89a8f3ba95f4cbe2c04c0e251ea
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<span style=3D"font-family:courier new,monospace">Hi, </span><br style=3D"f=
ont-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          everybody. A quick reminder that the next Xen </span><span style=
=3D"font-family:courier new,monospace" class=3D"il">Document</span><span st=
yle=3D"font-family:courier new,monospace"> </span><span style=3D"font-famil=
y:courier new,monospace" class=3D"il">Day</span><span style=3D"font-family:=
courier new,monospace"> is
          happening next Monday. More info on document days at <a href=3D"h=
ttp://wiki.xen.org/wiki/Xen_Document_Days">http://wiki.xen.org/wiki/Xen_Doc=
ument_Days</a> </span><br style=3D"font-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          Hope to see you on IRC! Feel free to add stuff to the TODO
          list (</span><a style=3D"font-family:courier new,monospace" href=
=3D"http://wiki.xen.org/wiki/Xen_Document_Days/TODO">http://wiki.xen.org/wi=
ki/Xen_Document_Days/TODO</a><span style=3D"font-family:courier new,monospa=
ce">)
          or put your name besides an item if you intend to work on it.
          </span><br style=3D"font-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          Best Regards </span><br style=3D"font-family:courier new,monospac=
e"><span style=3D"font-family:courier new,monospace">
          Lars </span><br style=3D"font-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          *********************</span><br style=3D"font-family:courier new,=
monospace"><div style=3D"font-family:courier new,monospace" lang=3D"x-weste=
rn">
          * Xen Document Days *<br>
          *********************<br>
          <br>
          We have another Xen <span class=3D"il">document</span> <span clas=
s=3D"il">day</span> come up next Monday. Xen
          <span class=3D"il">Document</span> Days are for people who care a=
bout Xen Documentation
          and want to improve it. We introduced Documentation Days,
          because working on documentation in parallel with like
          minded-people, is just more fun than working alone! Everybody
          who can contribute is welcome to join! <br>
          <br>
          For a list of items that need work, check out the community
          maintained TODO list <a href=3D"http://wiki.xen.org/wiki/Xen_Docu=
ment_Days/TODO">(http://wiki.xen.org/wiki/Xen_Document_Days/TODO</a>).

          Of course, you can work on anything you like: the list just
          provides suggestions. <br>
          <br>
          How do I participate?<br>
          =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<b=
r>
          <br>
          - Join us on IRC: freenode channel #xendocs
<br>
          - Tell people what you intend to work on (to avoid doing
          something somebody <br>
          =A0 else is already working on) <br>
          - Fix some documentation <br>
          - Help others <br>
          - And above all: have fun! </div>

--e89a8f3ba95f4cbe2c04c0e251ea--


--===============5483702093830641086==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5483702093830641086==--


From xen-devel-bounces@lists.xen.org Fri May 25 20:36:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1F6-0007p5-8t; Fri, 25 May 2012 20:36:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SY1F4-0007of-Ut
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:36:11 +0000
Received: from [85.158.143.35:54595] by server-1.bemta-4.messagelabs.com id
	D3/0D-00342-93DEFBF4; Fri, 25 May 2012 20:36:09 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1337978166!14137293!1
X-Originating-IP: [209.85.160.173]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28147 invoked from network); 25 May 2012 20:36:08 -0000
Received: from mail-gh0-f173.google.com (HELO mail-gh0-f173.google.com)
	(209.85.160.173)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 20:36:08 -0000
Received: by ghrr14 with SMTP id r14so813669ghr.32
	for <multiple recipients>; Fri, 25 May 2012 13:36:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=u4Cw2IxkDDCWrl1l9XkUGGrB2UpXcZkaQzwE80CA45s=;
	b=zW92w04JZOssSWYKF6BWgz05111YM10Qzwp8B/pN2iBv+aDuTlQa9epZurgTs3K9MC
	WSS/I6UOpkI2ADHWXT/Ll0FIg2P6UipFM/Mv/6HGdvnQY6jhA02hU+ejHP3IOV/VOMmj
	4F6LT4XwB2EsOebUPiWyp4qfJqQpjjyFI9iMPRRSdqo5TCsY1lA2zokPKlGhLmeG+nY+
	aUEmM/Hn2+BLxcavJt7boupQhaTi/HilRY1hxl5nLTZorSmB8Xrd8NVDnKXoLykrB3lg
	RTJ6OszC7iG77RQH/xHlG0K80O3Us6OLzhgBtsjYRSq49dqIXO2TG61jovAJ22Bc1VlS
	U6dA==
MIME-Version: 1.0
Received: by 10.50.156.197 with SMTP id wg5mr125153igb.31.1337978165968; Fri,
	25 May 2012 13:36:05 -0700 (PDT)
Received: by 10.231.46.10 with HTTP; Fri, 25 May 2012 13:36:05 -0700 (PDT)
Date: Fri, 25 May 2012 21:36:05 +0100
Message-ID: <CAOqnZH7WVUkZX9D_OOCcEeFkCKtPT0xzPjeRuhjgg=CxBby-Pg@mail.gmail.com>
From: Lars Kurth <lars.kurth.xen@gmail.com>
To: xen-api@lists.xen.org, xen-devel@lists.xen.org, xen-arm@lists.xen.org
Subject: [Xen-devel] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5483702093830641086=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5483702093830641086==
Content-Type: multipart/alternative; boundary=e89a8f3ba95f4cbe2c04c0e251ea

--e89a8f3ba95f4cbe2c04c0e251ea
Content-Type: text/plain; charset=ISO-8859-1

Hi,

everybody. A quick reminder that the next Xen Document Day is happening
next Monday. More info on document days at
http://wiki.xen.org/wiki/Xen_Document_Days

Hope to see you on IRC! Feel free to add stuff to the TODO list (
http://wiki.xen.org/wiki/Xen_Document_Days/TODO) or put your name besides
an item if you intend to work on it.

Best Regards
Lars

*********************
* Xen Document Days *
*********************

We have another Xen document day come up next Monday. Xen Document Days are
for people who care about Xen Documentation and want to improve it. We
introduced Documentation Days, because working on documentation in parallel
with like minded-people, is just more fun than working alone! Everybody who
can contribute is welcome to join!

For a list of items that need work, check out the community maintained TODO
list (http://wiki.xen.org/wiki/Xen_Document_Days/TODO<http://wiki.xen.org/wiki/Xen_Document_Days/TODO>).
Of course, you can work on anything you like: the list just provides
suggestions.

How do I participate?
=====================

- Join us on IRC: freenode channel #xendocs
- Tell people what you intend to work on (to avoid doing something somebody
  else is already working on)
- Fix some documentation
- Help others
- And above all: have fun!

--e89a8f3ba95f4cbe2c04c0e251ea
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<span style=3D"font-family:courier new,monospace">Hi, </span><br style=3D"f=
ont-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          everybody. A quick reminder that the next Xen </span><span style=
=3D"font-family:courier new,monospace" class=3D"il">Document</span><span st=
yle=3D"font-family:courier new,monospace"> </span><span style=3D"font-famil=
y:courier new,monospace" class=3D"il">Day</span><span style=3D"font-family:=
courier new,monospace"> is
          happening next Monday. More info on document days at <a href=3D"h=
ttp://wiki.xen.org/wiki/Xen_Document_Days">http://wiki.xen.org/wiki/Xen_Doc=
ument_Days</a> </span><br style=3D"font-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          Hope to see you on IRC! Feel free to add stuff to the TODO
          list (</span><a style=3D"font-family:courier new,monospace" href=
=3D"http://wiki.xen.org/wiki/Xen_Document_Days/TODO">http://wiki.xen.org/wi=
ki/Xen_Document_Days/TODO</a><span style=3D"font-family:courier new,monospa=
ce">)
          or put your name besides an item if you intend to work on it.
          </span><br style=3D"font-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          Best Regards </span><br style=3D"font-family:courier new,monospac=
e"><span style=3D"font-family:courier new,monospace">
          Lars </span><br style=3D"font-family:courier new,monospace">
          <br style=3D"font-family:courier new,monospace"><span style=3D"fo=
nt-family:courier new,monospace">
          *********************</span><br style=3D"font-family:courier new,=
monospace"><div style=3D"font-family:courier new,monospace" lang=3D"x-weste=
rn">
          * Xen Document Days *<br>
          *********************<br>
          <br>
          We have another Xen <span class=3D"il">document</span> <span clas=
s=3D"il">day</span> come up next Monday. Xen
          <span class=3D"il">Document</span> Days are for people who care a=
bout Xen Documentation
          and want to improve it. We introduced Documentation Days,
          because working on documentation in parallel with like
          minded-people, is just more fun than working alone! Everybody
          who can contribute is welcome to join! <br>
          <br>
          For a list of items that need work, check out the community
          maintained TODO list <a href=3D"http://wiki.xen.org/wiki/Xen_Docu=
ment_Days/TODO">(http://wiki.xen.org/wiki/Xen_Document_Days/TODO</a>).

          Of course, you can work on anything you like: the list just
          provides suggestions. <br>
          <br>
          How do I participate?<br>
          =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<b=
r>
          <br>
          - Join us on IRC: freenode channel #xendocs
<br>
          - Tell people what you intend to work on (to avoid doing
          something somebody <br>
          =A0 else is already working on) <br>
          - Fix some documentation <br>
          - Help others <br>
          - And above all: have fun! </div>

--e89a8f3ba95f4cbe2c04c0e251ea--


--===============5483702093830641086==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5483702093830641086==--


From xen-devel-bounces@lists.xen.org Fri May 25 20:37:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:37:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1G0-0007wF-PH; Fri, 25 May 2012 20:37:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1Fy-0007vp-NT
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:37:06 +0000
Received: from [193.109.254.147:27373] by server-8.bemta-14.messagelabs.com id
	40/16-23244-27DEFBF4; Fri, 25 May 2012 20:37:06 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337978224!6995060!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14607 invoked from network); 25 May 2012 20:37:05 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 20:37:05 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PKb2Od025447
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 20:37:03 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PKb2PQ002706
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 20:37:02 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PKb1HO009191; Fri, 25 May 2012 15:37:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 13:37:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1A95D40282; Fri, 25 May 2012 16:30:33 -0400 (EDT)
Date: Fri, 25 May 2012 16:30:33 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120525203033.GC23655@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
	<20120525013421.GC20947@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 07:37:44PM -0700, Kenneth Wong wrote:
> Hi Konrad,
> 
> > Um, does your driver have a PCI vendor and model? It would
> > do it from the struct pci_driver->probe function.
> 
> Yeah, it has all that.  It has been running fine on regular Linux, just that problems start coming up when porting to Xen env.  I think because it is now less forgiving due to the virtualization layer.

Sure. It also means that your driver would not work with IOMMU's properly.

> 
> Any idea on the following messages?

Some, but without any details (like machine type, userspace version, Xorg version,
kernel version, Xorg.0.log, etc) I've no clue.

> 
>         Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d4000]
>         rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]
> 
> I think this might be cause by some other things in the driver.

So you see this only after you load your driver?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:37:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:37:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1G0-0007wF-PH; Fri, 25 May 2012 20:37:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1Fy-0007vp-NT
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:37:06 +0000
Received: from [193.109.254.147:27373] by server-8.bemta-14.messagelabs.com id
	40/16-23244-27DEFBF4; Fri, 25 May 2012 20:37:06 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1337978224!6995060!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14607 invoked from network); 25 May 2012 20:37:05 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 20:37:05 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PKb2Od025447
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 20:37:03 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PKb2PQ002706
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 20:37:02 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PKb1HO009191; Fri, 25 May 2012 15:37:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 13:37:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1A95D40282; Fri, 25 May 2012 16:30:33 -0400 (EDT)
Date: Fri, 25 May 2012 16:30:33 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120525203033.GC23655@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
	<20120525013421.GC20947@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 07:37:44PM -0700, Kenneth Wong wrote:
> Hi Konrad,
> 
> > Um, does your driver have a PCI vendor and model? It would
> > do it from the struct pci_driver->probe function.
> 
> Yeah, it has all that.  It has been running fine on regular Linux, just that problems start coming up when porting to Xen env.  I think because it is now less forgiving due to the virtualization layer.

Sure. It also means that your driver would not work with IOMMU's properly.

> 
> Any idea on the following messages?

Some, but without any details (like machine type, userspace version, Xorg version,
kernel version, Xorg.0.log, etc) I've no clue.

> 
>         Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d4000]
>         rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]
> 
> I think this might be cause by some other things in the driver.

So you see this only after you load your driver?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:42:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:42:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1LH-0008KD-IB; Fri, 25 May 2012 20:42:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SY1LG-0008K8-Bu
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:42:34 +0000
Received: from [85.158.138.51:57630] by server-10.bemta-3.messagelabs.com id
	1D/BA-01101-9BEEFBF4; Fri, 25 May 2012 20:42:33 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337978552!29266352!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29440 invoked from network); 25 May 2012 20:42:32 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 20:42:32 -0000
Received: by wibhr14 with SMTP id hr14so1058576wib.14
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 13:42:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=1LMg0pT/WxC8rnNLC3w1JJoqANNIDeBNlvqqGcu1R8Q=;
	b=KHXOoLyBVaOUujpSQr91omrQM4cNRMYnn30Q+Mya+c37GYkTUnSBmKPm9wQB/gzegF
	beS/0ELKwbGaY0Qajy7/kifRZ4UBwBbzq+0fOltK/ENWFUkgt5q/C1+euw4rx3VwDPcJ
	xadVthTlcCKnrB3lklmXegZcOEL9LTEs1lJLwTb2odeSEtO5xv40QQNH9gFwF44Pby1l
	LK5EHvqLiw+HEeH9dQ1FHoPXEI77ty0kKXZXP/04R/e3NvQPtIsfaQWKucEIueq+xvvg
	7oviWmkfxrYjzBP06mZVN/YoYf/Zw663GTrdnC6DOZljzAqZY6tVq3/EIFQ1iLxH0lTz
	aCoQ==
Received: by 10.180.97.3 with SMTP id dw3mr664461wib.19.1337978551981;
	Fri, 25 May 2012 13:42:31 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id fm1sm57608939wib.10.2012.05.25.13.42.29
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 13:42:31 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Fri, 25 May 2012 21:42:22 +0100
From: Keir Fraser <keir@xen.org>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Message-ID: <CBE5AD3E.41412%keir@xen.org>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: Ac06tuJf6EdEmxdAxUi6lGCuno8Nmg==
In-Reply-To: <CAB10MZAxnQDdB3Mm_ve4unRFKcHdzFovRz9aC4+R9dM5xHpY-A@mail.gmail.com>
Mime-version: 1.0
Cc: Xudong Hao <xudong.hao@intel.com>, eddie.dong@intel.com,
	xen-devel@lists.xen.org, JBeulich@suse.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25/05/2012 20:17, "Aravindh Puthiyaparambil" <aravindh@virtuata.com>
wrote:

>> I don't like adding yet another parameter for all callers, especially as we
>> should also be passing down the event type (sw interrupt, hw exception, ...)
>> and that would bloat the parameter list further.
>> 
>> I attach a cleanup patch which packs everything into a new struct and
>> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
>> wrappers around that function for existing callers, so that their parameter
>> lists actually *shrink*.
>> 
>> Let me know what you think. If it looks acceptable I can check it in and we
>> can build on top of this restructuring. The aim being to keep
>> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers into
>> it.
> 
> So I take it that with just this patch injecting of software
> interrupts will not work and I should hold off on testing that out.
> What is the plan for injecting software interrupts? Add another libxc
> API for that?

Yes, everything represented in my 'struct hvm_trap', plus instruction
length, which my patch doesn't add, should be part of the trap injection API
through hvm_op hypercall and libxc. So the toolstack can inject an arbitrary
trap type, on an arbitrary vector, specify an error code (and cr2 for page
fault), and specify an increment for rIP when the trap is successfully
injected. All through one API function.

But as you say, my patch is just a proposed refactoring basis for Xudong's
patches. It actually almost certainly reverts some behaviour that you guys
actually want, which then gets added back in more sanely in patches that go
on top.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:42:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:42:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1LH-0008KD-IB; Fri, 25 May 2012 20:42:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SY1LG-0008K8-Bu
	for xen-devel@lists.xen.org; Fri, 25 May 2012 20:42:34 +0000
Received: from [85.158.138.51:57630] by server-10.bemta-3.messagelabs.com id
	1D/BA-01101-9BEEFBF4; Fri, 25 May 2012 20:42:33 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337978552!29266352!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29440 invoked from network); 25 May 2012 20:42:32 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 20:42:32 -0000
Received: by wibhr14 with SMTP id hr14so1058576wib.14
	for <xen-devel@lists.xen.org>; Fri, 25 May 2012 13:42:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=1LMg0pT/WxC8rnNLC3w1JJoqANNIDeBNlvqqGcu1R8Q=;
	b=KHXOoLyBVaOUujpSQr91omrQM4cNRMYnn30Q+Mya+c37GYkTUnSBmKPm9wQB/gzegF
	beS/0ELKwbGaY0Qajy7/kifRZ4UBwBbzq+0fOltK/ENWFUkgt5q/C1+euw4rx3VwDPcJ
	xadVthTlcCKnrB3lklmXegZcOEL9LTEs1lJLwTb2odeSEtO5xv40QQNH9gFwF44Pby1l
	LK5EHvqLiw+HEeH9dQ1FHoPXEI77ty0kKXZXP/04R/e3NvQPtIsfaQWKucEIueq+xvvg
	7oviWmkfxrYjzBP06mZVN/YoYf/Zw663GTrdnC6DOZljzAqZY6tVq3/EIFQ1iLxH0lTz
	aCoQ==
Received: by 10.180.97.3 with SMTP id dw3mr664461wib.19.1337978551981;
	Fri, 25 May 2012 13:42:31 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id fm1sm57608939wib.10.2012.05.25.13.42.29
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 13:42:31 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Fri, 25 May 2012 21:42:22 +0100
From: Keir Fraser <keir@xen.org>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Message-ID: <CBE5AD3E.41412%keir@xen.org>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: Ac06tuJf6EdEmxdAxUi6lGCuno8Nmg==
In-Reply-To: <CAB10MZAxnQDdB3Mm_ve4unRFKcHdzFovRz9aC4+R9dM5xHpY-A@mail.gmail.com>
Mime-version: 1.0
Cc: Xudong Hao <xudong.hao@intel.com>, eddie.dong@intel.com,
	xen-devel@lists.xen.org, JBeulich@suse.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25/05/2012 20:17, "Aravindh Puthiyaparambil" <aravindh@virtuata.com>
wrote:

>> I don't like adding yet another parameter for all callers, especially as we
>> should also be passing down the event type (sw interrupt, hw exception, ...)
>> and that would bloat the parameter list further.
>> 
>> I attach a cleanup patch which packs everything into a new struct and
>> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
>> wrappers around that function for existing callers, so that their parameter
>> lists actually *shrink*.
>> 
>> Let me know what you think. If it looks acceptable I can check it in and we
>> can build on top of this restructuring. The aim being to keep
>> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers into
>> it.
> 
> So I take it that with just this patch injecting of software
> interrupts will not work and I should hold off on testing that out.
> What is the plan for injecting software interrupts? Add another libxc
> API for that?

Yes, everything represented in my 'struct hvm_trap', plus instruction
length, which my patch doesn't add, should be part of the trap injection API
through hvm_op hypercall and libxc. So the toolstack can inject an arbitrary
trap type, on an arbitrary vector, specify an error code (and cr2 for page
fault), and specify an increment for rIP when the trap is successfully
injected. All through one API function.

But as you say, my patch is just a proposed refactoring basis for Xudong's
patches. It actually almost certainly reverts some behaviour that you guys
actually want, which then gets added back in more sanely in patches that go
on top.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:47:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:47:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1Q0-0008St-9E; Fri, 25 May 2012 20:47:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SY1Py-0008Sn-JT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 20:47:26 +0000
Received: from [85.158.143.35:29147] by server-3.bemta-4.messagelabs.com id
	BE/AE-05853-DDFEFBF4; Fri, 25 May 2012 20:47:25 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337978844!17388147!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg2MTcy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31644 invoked from network); 25 May 2012 20:47:25 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-14.tower-21.messagelabs.com with SMTP;
	25 May 2012 20:47:25 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 25 May 2012 13:47:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104417777"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 25 May 2012 13:47:23 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 13:47:22 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 04:47:20 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOrQzr6jLO/PX8Ee8ZH/5SHvSCZba9vXg
Date: Fri, 25 May 2012 20:47:20 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F10DE@SHSMSX101.ccr.corp.intel.com>
References: <20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
	<20120525202309.GA14524@phenom.dumpdata.com>
In-Reply-To: <20120525202309.GA14524@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>> What I mean is,
>> If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c
>> would create /dev/mcelog (minor=227). 
>> Under such case, may we create a symlink in /dev/mcelog pointing to
>> /dev/xen-mcelog, without touching native mce code? and how? 
> 
> I thought the idea was that we would create /dev/mcelog using the
> same major/minor. 

Our current patch just use same major/minor, by redirection method. Is it acceptable?

> 
> However if you want to create /dev/xen-mcelog and then create from
> the kernel another file in /dev that is name 'mcelog' and is a
> symlink to /dev/mcelog - that is OK too. Obviously you will also need
> to disable the generic '/dev/mcelog' (and that can be done in the
> same way as lguest does it). 

No, that's not my purpose.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 20:47:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 20:47:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1Q0-0008St-9E; Fri, 25 May 2012 20:47:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SY1Py-0008Sn-JT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 20:47:26 +0000
Received: from [85.158.143.35:29147] by server-3.bemta-4.messagelabs.com id
	BE/AE-05853-DDFEFBF4; Fri, 25 May 2012 20:47:25 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1337978844!17388147!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg2MTcy\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31644 invoked from network); 25 May 2012 20:47:25 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-14.tower-21.messagelabs.com with SMTP;
	25 May 2012 20:47:25 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 25 May 2012 13:47:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104417777"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 25 May 2012 13:47:23 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Fri, 25 May 2012 13:47:22 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Sat, 26 May 2012 04:47:20 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOrQzr6jLO/PX8Ee8ZH/5SHvSCZba9vXg
Date: Fri, 25 May 2012 20:47:20 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F10DE@SHSMSX101.ccr.corp.intel.com>
References: <20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
	<20120525202309.GA14524@phenom.dumpdata.com>
In-Reply-To: <20120525202309.GA14524@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>> What I mean is,
>> If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c
>> would create /dev/mcelog (minor=227). 
>> Under such case, may we create a symlink in /dev/mcelog pointing to
>> /dev/xen-mcelog, without touching native mce code? and how? 
> 
> I thought the idea was that we would create /dev/mcelog using the
> same major/minor. 

Our current patch just use same major/minor, by redirection method. Is it acceptable?

> 
> However if you want to create /dev/xen-mcelog and then create from
> the kernel another file in /dev that is name 'mcelog' and is a
> symlink to /dev/mcelog - that is OK too. Obviously you will also need
> to disable the generic '/dev/mcelog' (and that can be done in the
> same way as lguest does it). 

No, that's not my purpose.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:08:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1kH-0000bL-TA; Fri, 25 May 2012 21:08:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1kG-0000bG-OT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:08:25 +0000
Received: from [85.158.138.51:58612] by server-4.bemta-3.messagelabs.com id
	BF/9E-25780-7C4FFBF4; Fri, 25 May 2012 21:08:23 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337980101!21156917!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14625 invoked from network); 25 May 2012 21:08:22 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:08:22 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PL8Hpg032213
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:08:18 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PL8HsF006181
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:08:17 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PL8HU1027164; Fri, 25 May 2012 16:08:17 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:08:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9A7CF40282; Fri, 25 May 2012 17:01:48 -0400 (EDT)
Date: Fri, 25 May 2012 17:01:48 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120525210148.GH23655@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 12:46:04AM +0200, William Dauchy wrote:
> On Tue, May 22, 2012 at 8:36 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > Yes. Do you have CONFIG_NUMA enabled? If you disable it, do the messages
> > disappear?
> 
> yes.
> hmm now I remember that you already talked about it
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00082.html
> if you have any patch to test, I'll be happy to help.

Not yet. Could you ping me in  week say please?


> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:08:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1kH-0000bL-TA; Fri, 25 May 2012 21:08:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1kG-0000bG-OT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:08:25 +0000
Received: from [85.158.138.51:58612] by server-4.bemta-3.messagelabs.com id
	BF/9E-25780-7C4FFBF4; Fri, 25 May 2012 21:08:23 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1337980101!21156917!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14625 invoked from network); 25 May 2012 21:08:22 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:08:22 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PL8Hpg032213
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:08:18 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PL8HsF006181
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:08:17 GMT
Received: from abhmt115.oracle.com (abhmt115.oracle.com [141.146.116.67])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PL8HU1027164; Fri, 25 May 2012 16:08:17 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:08:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9A7CF40282; Fri, 25 May 2012 17:01:48 -0400 (EDT)
Date: Fri, 25 May 2012 17:01:48 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120525210148.GH23655@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 12:46:04AM +0200, William Dauchy wrote:
> On Tue, May 22, 2012 at 8:36 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > Yes. Do you have CONFIG_NUMA enabled? If you disable it, do the messages
> > disappear?
> 
> yes.
> hmm now I remember that you already talked about it
> http://lists.xen.org/archives/html/xen-devel/2012-05/msg00082.html
> if you have any patch to test, I'll be happy to help.

Not yet. Could you ping me in  week say please?


> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:10:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1lk-0000fF-Dg; Fri, 25 May 2012 21:09:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1lj-0000f8-3b
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:09:55 +0000
Received: from [85.158.139.83:15467] by server-5.bemta-5.messagelabs.com id
	AE/0B-16141-225FFBF4; Fri, 25 May 2012 21:09:54 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337980191!23080025!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6677 invoked from network); 25 May 2012 21:09:53 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 21:09:53 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PL9lMU000579
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:09:48 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PL9jh8016502
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:09:46 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PL9jhx015027; Fri, 25 May 2012 16:09:45 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:09:45 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D00DF40282; Fri, 25 May 2012 17:03:16 -0400 (EDT)
Date: Fri, 25 May 2012 17:03:16 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kristoffer Harthing Egefelt <k@itoc.dk>
Message-ID: <20120525210316.GI23655@phenom.dumpdata.com>
References: <1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
	<1336940666023-5708399.post@n5.nabble.com>
	<1337766004380-5709087.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337766004380-5709087.post@n5.nabble.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 02:40:04AM -0700, Kristoffer Harthing Egefelt wrote:
> > Any luck?
> 
> >Actually after finding out about the pci=nomsi kernel parameter, I have not
> had any problems.
> >Regarding the firmware upgrade, qlogic and dell need a supported OS to run
> their diag tools on, I'm tired of >dealing with them, so I have not gathered
> this info yet.
> >Didn't try to downgrade the driver either.
> >But I'm about to try pci passthrough, to have 10gig directly in the domU.
> >I'll let you know if it works.
> 
> The pci=nomsi actually seems to create problems for us when using pci
> passthrough.
> We could not get more than 2.5 Gbit from a domU, using netback/netfront.

That is kind of expected - you are using the legacy IRQ and it can
only handle so much.

> It was suggested that we use pci passthrough to get the full 10Gbit.
> However dom0 and domU crashes periodically with: 
> 
> kernel irq 60: nobody cared (try booting with the "irqpoll" option) 
> kernel Pid: 0, comm: swapper Not tainted

Hmm. Is that from dom0 or from domU?
> 
> Booting with irqpoll has no effect.

On whatever host that showed that?
> 
> So I tried to upgrade the firmware on the qlogic cards to 1.09.22 - no
> change.
> Qlogic's latest firmware is 1.09.65 - but is not installable on the DELL oem
> cards.
> I was not able to downgrade the qlogic driver in linux 3.2 to 5.0.24 from
> 5.0.25 as suggested in this thread, the driver will not compile - struct
> dev_mc_list is no longer defined in netdevice.h.
> 
> As far as I can tell the pci=nomsi disables the irq handling needed for pci
> passthrough.
> Could someone confirm this?
> Could someone also clarify if this is a qlogic driver issue or a xen issue.

No idea. Without access to the hardware it is really hard to come
up with any reasonable idea on this.

> 
> Thanks
> Kristoffer
> 
> 
> --
> View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5709087.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:10:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1lk-0000fF-Dg; Fri, 25 May 2012 21:09:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1lj-0000f8-3b
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:09:55 +0000
Received: from [85.158.139.83:15467] by server-5.bemta-5.messagelabs.com id
	AE/0B-16141-225FFBF4; Fri, 25 May 2012 21:09:54 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1337980191!23080025!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6677 invoked from network); 25 May 2012 21:09:53 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 21:09:53 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PL9lMU000579
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:09:48 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PL9jh8016502
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:09:46 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PL9jhx015027; Fri, 25 May 2012 16:09:45 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:09:45 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D00DF40282; Fri, 25 May 2012 17:03:16 -0400 (EDT)
Date: Fri, 25 May 2012 17:03:16 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kristoffer Harthing Egefelt <k@itoc.dk>
Message-ID: <20120525210316.GI23655@phenom.dumpdata.com>
References: <1332883903167-5598955.post@n5.nabble.com>
	<20120327215159.GA17203@phenom.dumpdata.com>
	<1332887727951-5599061.post@n5.nabble.com>
	<20120328143712.GG18161@phenom.dumpdata.com>
	<1333009808678-5602999.post@n5.nabble.com>
	<20120329145944.GF12008@phenom.dumpdata.com>
	<1333046630807-5604684.post@n5.nabble.com>
	<20120510154255.GH6389@phenom.dumpdata.com>
	<1336940666023-5708399.post@n5.nabble.com>
	<1337766004380-5709087.post@n5.nabble.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1337766004380-5709087.post@n5.nabble.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] no-carrier on qlogic 8242 10gig with linux
	3.x	running xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 23, 2012 at 02:40:04AM -0700, Kristoffer Harthing Egefelt wrote:
> > Any luck?
> 
> >Actually after finding out about the pci=nomsi kernel parameter, I have not
> had any problems.
> >Regarding the firmware upgrade, qlogic and dell need a supported OS to run
> their diag tools on, I'm tired of >dealing with them, so I have not gathered
> this info yet.
> >Didn't try to downgrade the driver either.
> >But I'm about to try pci passthrough, to have 10gig directly in the domU.
> >I'll let you know if it works.
> 
> The pci=nomsi actually seems to create problems for us when using pci
> passthrough.
> We could not get more than 2.5 Gbit from a domU, using netback/netfront.

That is kind of expected - you are using the legacy IRQ and it can
only handle so much.

> It was suggested that we use pci passthrough to get the full 10Gbit.
> However dom0 and domU crashes periodically with: 
> 
> kernel irq 60: nobody cared (try booting with the "irqpoll" option) 
> kernel Pid: 0, comm: swapper Not tainted

Hmm. Is that from dom0 or from domU?
> 
> Booting with irqpoll has no effect.

On whatever host that showed that?
> 
> So I tried to upgrade the firmware on the qlogic cards to 1.09.22 - no
> change.
> Qlogic's latest firmware is 1.09.65 - but is not installable on the DELL oem
> cards.
> I was not able to downgrade the qlogic driver in linux 3.2 to 5.0.24 from
> 5.0.25 as suggested in this thread, the driver will not compile - struct
> dev_mc_list is no longer defined in netdevice.h.
> 
> As far as I can tell the pci=nomsi disables the irq handling needed for pci
> passthrough.
> Could someone confirm this?
> Could someone also clarify if this is a qlogic driver issue or a xen issue.

No idea. Without access to the hardware it is really hard to come
up with any reasonable idea on this.

> 
> Thanks
> Kristoffer
> 
> 
> --
> View this message in context: http://xen.1045712.n5.nabble.com/no-carrier-on-qlogic-8242-10gig-with-linux-3-x-running-xen-tp5597283p5709087.html
> Sent from the Xen - Dev mailing list archive at Nabble.com.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:11:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1mX-0000kL-1X; Fri, 25 May 2012 21:10:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1mV-0000k6-QP
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:10:44 +0000
Received: from [193.109.254.147:15700] by server-2.bemta-14.messagelabs.com id
	69/36-19409-355FFBF4; Fri, 25 May 2012 21:10:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337980240!10407934!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22534 invoked from network); 25 May 2012 21:10:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:10:41 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLAc10001169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:10:38 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLAbjX004825
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:10:37 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLAbVw028401; Fri, 25 May 2012 16:10:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:10:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C8FC040282; Fri, 25 May 2012 17:04:08 -0400 (EDT)
Date: Fri, 25 May 2012 17:04:08 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: eva <evammg@gmail.com>
Message-ID: <20120525210408.GJ23655@phenom.dumpdata.com>
References: <1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
	<CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
	<20120523143521.GA25529@phenom.dumpdata.com>
	<CAN-hevnjCHDsBrN3hFe2RKuKjLU8C-7xBqhOat+k+Ut6XkLUnw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAN-hevnjCHDsBrN3hFe2RKuKjLU8C-7xBqhOat+k+Ut6XkLUnw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 09:10:51AM +0200, eva wrote:
> On 23 May 2012 16:35, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> > On Wed, May 23, 2012 at 12:22:26PM +0200, eva wrote:
> >> On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> >> >
> >> > > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> >> > >
> >> > > and it's a git repository.. And yes, I haven't applied a patch in ages..
> >> > >
> >> > > So to end this issue with my ATI card, how do I apply this patch with git?
> >> > >
> >> > > I haven't done it before, and googling it says maybe with "git clone"
> >> > > or "git apply", but there's no luck with any.. (see attachment)
> >> > >
> >> > > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> >> > > Kernel 3.2.
> >> >
> >> > What is the ATI problem you have? The vga patch is for VGA "text" mode
> >> > not for graphical.
> >> >
> >>
> >> Hello, sorry for the delay. I wanted to do a bit more of a research.
> >>
> >> I have tried so many things I can't even remember, but I couldn't make
> >> work dom0 with Ubuntu 12.04 on this server.
> >>
> >> I reported a bug some time ago on launchpad, and I have just updated it
> >>
> >> https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124
> >
> > You need to attach the full serial console. Here are some
> > links to help you get that information:
> >
> > http://wiki.xen.org/wiki/XenParavirtOps#I_have_graphics_card_.28DRM.2FTTM.2FKMS.2FXorg.29_related_problems_with_the_pv_ops_dom0_kernel..
> >
> > http://wiki.xen.org/wiki/XenSerialConsole
> >>
> >> Also I have found it's been reported a bug for the ATI card..
> >>
> >> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562
> >
> > Which talks about not doing 3D rendering. That is expected
> > on ATI ES1000 which can't do 3D rendering. It can only do 2D.
> >
> > But that is not the problem you are describing? In your case the machine
> > crashes, right?
> >
> >>
> >> It says exactly the same things in the log file of Xorg.
> >>
> >> ---
> >>
> >> I describe the problem: when loading Ubuntu normally the graphical
> >> performance is not very good, but it's ok. But when trying to load
> >> dom0 the GUI completely crashes.
> >
> > crashes.. In what way? What do you see on the screen? What is in your
> > serial console? Is the machine still running? Can you SSH in it?
> 
> Sorry for the misunderstanding, I mean the GUI doesn't work when dom0
> is loaded. That is, at the login screen it freezes so I can't go on.
> 
> dom0 works fine without the GUI. I tried to start X manually and the
> GUI loads but it's frozen so there's no possible use of it.

OK. Pls collect the data that I've asked for. And also bootup your
kernel with 'drm.debug=255 loglevel=8 debug initcall_debug' and send
me your 'dmesg'.

Oh, and can you also attach the lspci -vvv output pls?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:11:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1mX-0000kL-1X; Fri, 25 May 2012 21:10:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1mV-0000k6-QP
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:10:44 +0000
Received: from [193.109.254.147:15700] by server-2.bemta-14.messagelabs.com id
	69/36-19409-355FFBF4; Fri, 25 May 2012 21:10:43 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1337980240!10407934!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22534 invoked from network); 25 May 2012 21:10:41 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:10:41 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLAc10001169
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:10:38 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLAbjX004825
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:10:37 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLAbVw028401; Fri, 25 May 2012 16:10:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:10:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C8FC040282; Fri, 25 May 2012 17:04:08 -0400 (EDT)
Date: Fri, 25 May 2012 17:04:08 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: eva <evammg@gmail.com>
Message-ID: <20120525210408.GJ23655@phenom.dumpdata.com>
References: <1337590943.24660.16.camel@zakaz.uk.xensource.com>
	<CAN-hevmrY+Qvii0EzQmo=XcOY3pyesw0=FFkgR-Qh_PTuYmdtQ@mail.gmail.com>
	<1337592315.24660.32.camel@zakaz.uk.xensource.com>
	<CAN-hevnJ+_zJ7oiDayM7mex0qUCWNeeDThbLSCN4gqQzbfXxwA@mail.gmail.com>
	<1337597713.24660.52.camel@zakaz.uk.xensource.com>
	<CAN-hevnJgc05O0-sQS3VPyd8OHqB6rsWT0tb54MTvnmrR7r4sA@mail.gmail.com>
	<20120521143209.GQ8119@phenom.dumpdata.com>
	<CAN-hev=U5ANvz8a1PyEfHVKSxpJCZO3J_yHrOP1x34G=naRAqQ@mail.gmail.com>
	<20120523143521.GA25529@phenom.dumpdata.com>
	<CAN-hevnjCHDsBrN3hFe2RKuKjLU8C-7xBqhOat+k+Ut6XkLUnw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAN-hevnjCHDsBrN3hFe2RKuKjLU8C-7xBqhOat+k+Ut6XkLUnw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] ATI ES100 patch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 09:10:51AM +0200, eva wrote:
> On 23 May 2012 16:35, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> > On Wed, May 23, 2012 at 12:22:26PM +0200, eva wrote:
> >> On 21 May 2012 16:32, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> >> >
> >> > > Thanks Ian. My fault!! That is not the patch.. the patch is a few lines below..
> >> > >
> >> > > and it's a git repository.. And yes, I haven't applied a patch in ages..
> >> > >
> >> > > So to end this issue with my ATI card, how do I apply this patch with git?
> >> > >
> >> > > I haven't done it before, and googling it says maybe with "git clone"
> >> > > or "git apply", but there's no luck with any.. (see attachment)
> >> > >
> >> > > Sorry, I forgot to say this is an Ubuntu 12.04, the last one, updated.
> >> > > Kernel 3.2.
> >> >
> >> > What is the ATI problem you have? The vga patch is for VGA "text" mode
> >> > not for graphical.
> >> >
> >>
> >> Hello, sorry for the delay. I wanted to do a bit more of a research.
> >>
> >> I have tried so many things I can't even remember, but I couldn't make
> >> work dom0 with Ubuntu 12.04 on this server.
> >>
> >> I reported a bug some time ago on launchpad, and I have just updated it
> >>
> >> https://bugs.launchpad.net/ubuntu/+source/xen/+bug/903124
> >
> > You need to attach the full serial console. Here are some
> > links to help you get that information:
> >
> > http://wiki.xen.org/wiki/XenParavirtOps#I_have_graphics_card_.28DRM.2FTTM.2FKMS.2FXorg.29_related_problems_with_the_pv_ops_dom0_kernel..
> >
> > http://wiki.xen.org/wiki/XenSerialConsole
> >>
> >> Also I have found it's been reported a bug for the ATI card..
> >>
> >> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1002562
> >
> > Which talks about not doing 3D rendering. That is expected
> > on ATI ES1000 which can't do 3D rendering. It can only do 2D.
> >
> > But that is not the problem you are describing? In your case the machine
> > crashes, right?
> >
> >>
> >> It says exactly the same things in the log file of Xorg.
> >>
> >> ---
> >>
> >> I describe the problem: when loading Ubuntu normally the graphical
> >> performance is not very good, but it's ok. But when trying to load
> >> dom0 the GUI completely crashes.
> >
> > crashes.. In what way? What do you see on the screen? What is in your
> > serial console? Is the machine still running? Can you SSH in it?
> 
> Sorry for the misunderstanding, I mean the GUI doesn't work when dom0
> is loaded. That is, at the login screen it freezes so I can't go on.
> 
> dom0 works fine without the GUI. I tried to start X manually and the
> GUI loads but it's frozen so there's no possible use of it.

OK. Pls collect the data that I've asked for. And also bootup your
kernel with 'drm.debug=255 loglevel=8 debug initcall_debug' and send
me your 'dmesg'.

Oh, and can you also attach the lspci -vvv output pls?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:13:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:13:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1od-0000wN-II; Fri, 25 May 2012 21:12:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SY1oc-0000wB-Kt
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:12:54 +0000
Received: from [193.109.254.147:42057] by server-10.bemta-14.messagelabs.com
	id 9B/9F-05847-5D5FFBF4; Fri, 25 May 2012 21:12:53 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337980370!4440974!1
X-Originating-IP: [74.125.149.83]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3118 invoked from network); 25 May 2012 21:12:52 -0000
Received: from na3sys009aog134.obsmtp.com (HELO na3sys009aog134.obsmtp.com)
	(74.125.149.83)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:12:52 -0000
Received: from SC-OWA01.marvell.com ([65.219.4.129]) (using TLSv1) by
	na3sys009aob134.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT7/10TFgBhJJXvUXORAHkgwAkTecbo7y@postini.com;
	Fri, 25 May 2012 14:12:52 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by SC-OWA01.marvell.com ([10.93.76.21]) with mapi;
	Fri, 25 May 2012 14:12:49 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 25 May 2012 14:12:48 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac06tibQRIX9H86RRL+oQlo3qSJ9hwABLbbg
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2FB9F872@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
	<20120525013421.GC20947@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
	<20120525203033.GC23655@phenom.dumpdata.com>
In-Reply-To: <20120525203033.GC23655@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

It's Xen 4.1.1.

It did not occur immediately after loading. It occurs after a few I/Os.

Best Regards,
Kenneth

-----Original Message-----
From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] 
Sent: Friday, May 25, 2012 1:31 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Thu, May 24, 2012 at 07:37:44PM -0700, Kenneth Wong wrote:
> Hi Konrad,
> 
> > Um, does your driver have a PCI vendor and model? It would
> > do it from the struct pci_driver->probe function.
> 
> Yeah, it has all that.  It has been running fine on regular Linux, just that problems start coming up when porting to Xen env.  I think because it is now less forgiving due to the virtualization layer.

Sure. It also means that your driver would not work with IOMMU's properly.

> 
> Any idea on the following messages?

Some, but without any details (like machine type, userspace version, Xorg version,
kernel version, Xorg.0.log, etc) I've no clue.

> 
>         Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d4000]
>         rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]
> 
> I think this might be cause by some other things in the driver.

So you see this only after you load your driver?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:13:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:13:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1od-0000wN-II; Fri, 25 May 2012 21:12:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kenwong@marvell.com>) id 1SY1oc-0000wB-Kt
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:12:54 +0000
Received: from [193.109.254.147:42057] by server-10.bemta-14.messagelabs.com
	id 9B/9F-05847-5D5FFBF4; Fri, 25 May 2012 21:12:53 +0000
X-Env-Sender: kenwong@marvell.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1337980370!4440974!1
X-Originating-IP: [74.125.149.83]
X-SpamReason: No, hits=1.6 required=7.0 tests=RCVD_ILLEGAL_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3118 invoked from network); 25 May 2012 21:12:52 -0000
Received: from na3sys009aog134.obsmtp.com (HELO na3sys009aog134.obsmtp.com)
	(74.125.149.83)
	by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:12:52 -0000
Received: from SC-OWA01.marvell.com ([65.219.4.129]) (using TLSv1) by
	na3sys009aob134.postini.com ([74.125.148.12]) with SMTP
	ID DSNKT7/10TFgBhJJXvUXORAHkgwAkTecbo7y@postini.com;
	Fri, 25 May 2012 14:12:52 PDT
Received: from SC-VEXCH4.marvell.com ([0000:0000:0000:0000:0000:0000:0.0.0.1])
	by SC-OWA01.marvell.com ([10.93.76.21]) with mapi;
	Fri, 25 May 2012 14:12:49 -0700
From: Kenneth Wong <kenwong@marvell.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Date: Fri, 25 May 2012 14:12:48 -0700
Thread-Topic: [Xen-devel] Loading PCIe Device Driver at Dom0
Thread-Index: Ac06tibQRIX9H86RRL+oQlo3qSJ9hwABLbbg
Message-ID: <F766E4F80769BD478052FB6533FA745D1A2FB9F872@SC-VEXCH4.marvell.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
	<20120525013421.GC20947@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
	<20120525203033.GC23655@phenom.dumpdata.com>
In-Reply-To: <20120525203033.GC23655@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

It's Xen 4.1.1.

It did not occur immediately after loading. It occurs after a few I/Os.

Best Regards,
Kenneth

-----Original Message-----
From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] 
Sent: Friday, May 25, 2012 1:31 PM
To: Kenneth Wong
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Loading PCIe Device Driver at Dom0

On Thu, May 24, 2012 at 07:37:44PM -0700, Kenneth Wong wrote:
> Hi Konrad,
> 
> > Um, does your driver have a PCI vendor and model? It would
> > do it from the struct pci_driver->probe function.
> 
> Yeah, it has all that.  It has been running fine on regular Linux, just that problems start coming up when porting to Xen env.  I think because it is now less forgiving due to the virtualization layer.

Sure. It also means that your driver would not work with IOMMU's properly.

> 
> Any idea on the following messages?

Some, but without any details (like machine type, userspace version, Xorg version,
kernel version, Xorg.0.log, etc) I've no clue.

> 
>         Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d4000]
>         rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]
> 
> I think this might be cause by some other things in the driver.

So you see this only after you load your driver?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1pD-00010p-3k; Fri, 25 May 2012 21:13:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SY1pB-00010E-0F
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:13:29 +0000
Received: from [85.158.143.99:52032] by server-1.bemta-4.messagelabs.com id
	9E/DA-00342-7F5FFBF4; Fri, 25 May 2012 21:13:27 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337980406!29533531!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31213 invoked from network); 25 May 2012 21:13:27 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:13:27 -0000
Received: by wgbed3 with SMTP id ed3so981935wgb.32
	for <multiple recipients>; Fri, 25 May 2012 14:13:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=dvhRweBErVoBSTpGSGK7JYgy/oZOnQio0sclsXt35M8=;
	b=UF2WBC24YwL/GWUfQUVZWyiK1KuN3I1Uw+9gn/OKR8UMOJriTmjwPh7T65voV9MbOk
	W4gLFWEcxNZLW8If6ml58gh48OWPxu87o7Gwq697jyJM38tXUeGBxozTlmRATsO5UWWv
	6gffNDvprV7AQ9VhntwZE1VXTDzRyYf1asWWYXIoDDrT+qPx2dLo0wApC0Fulv6p6efN
	TYl+WlHPCMwaCI5Eikn5XiHpi0UxQJMaHJDHW+T2ecsY9v8i3TeM3U8R3XzUOijl8a2Z
	gIoin+Na+rEWXcGIFOVMPhRkSoozuDMPUL2HvysBh8wTrP+E5u8KilowAhEpwI/ux80z
	OlOQ==
Received: by 10.180.99.70 with SMTP id eo6mr680748wib.17.1337980406412;
	Fri, 25 May 2012 14:13:26 -0700 (PDT)
Received: from [172.16.26.11] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id j4sm57752985wiz.1.2012.05.25.14.13.24
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 14:13:25 -0700 (PDT)
Message-ID: <4FBFF5F3.9050101@xen.org>
Date: Fri, 25 May 2012 22:13:23 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	xen-users@lists.xen.org
Subject: [Xen-devel] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

everybody. A quick reminder that the next Xen DocumentDayis happening 
next Monday. More info on document days at 
http://wiki.xen.org/wiki/Xen_Document_Days

Hope to see you on IRC! Feel free to add stuff to the TODO list 
(http://wiki.xen.org/wiki/Xen_Document_Days/TODO) or put your name 
besides an item if you intend to work on it.

Best Regards
Lars

*********************
* Xen Document Days *
*********************

We have another Xen document day come up next Monday. Xen Document Days 
are for people who care about Xen Documentation and want to improve it. 
We introduced Documentation Days, because working on documentation in 
parallel with like minded-people, is just more fun than working alone! 
Everybody who can contribute is welcome to join!

For a list of items that need work, check out the community maintained 
TODO list (http://wiki.xen.org/wiki/Xen_Document_Days/TODO 
<http://wiki.xen.org/wiki/Xen_Document_Days/TODO>). Of course, you can 
work on anything you like: the list just provides suggestions.

How do I participate?
=====================

- Join us on IRC: freenode channel #xendocs
- Tell people what you intend to work on (to avoid doing something somebody
   else is already working on)
- Fix some documentation
- Help others
- And above all: have fun!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:13:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1pD-00010p-3k; Fri, 25 May 2012 21:13:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SY1pB-00010E-0F
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:13:29 +0000
Received: from [85.158.143.99:52032] by server-1.bemta-4.messagelabs.com id
	9E/DA-00342-7F5FFBF4; Fri, 25 May 2012 21:13:27 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1337980406!29533531!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31213 invoked from network); 25 May 2012 21:13:27 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:13:27 -0000
Received: by wgbed3 with SMTP id ed3so981935wgb.32
	for <multiple recipients>; Fri, 25 May 2012 14:13:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=dvhRweBErVoBSTpGSGK7JYgy/oZOnQio0sclsXt35M8=;
	b=UF2WBC24YwL/GWUfQUVZWyiK1KuN3I1Uw+9gn/OKR8UMOJriTmjwPh7T65voV9MbOk
	W4gLFWEcxNZLW8If6ml58gh48OWPxu87o7Gwq697jyJM38tXUeGBxozTlmRATsO5UWWv
	6gffNDvprV7AQ9VhntwZE1VXTDzRyYf1asWWYXIoDDrT+qPx2dLo0wApC0Fulv6p6efN
	TYl+WlHPCMwaCI5Eikn5XiHpi0UxQJMaHJDHW+T2ecsY9v8i3TeM3U8R3XzUOijl8a2Z
	gIoin+Na+rEWXcGIFOVMPhRkSoozuDMPUL2HvysBh8wTrP+E5u8KilowAhEpwI/ux80z
	OlOQ==
Received: by 10.180.99.70 with SMTP id eo6mr680748wib.17.1337980406412;
	Fri, 25 May 2012 14:13:26 -0700 (PDT)
Received: from [172.16.26.11] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id j4sm57752985wiz.1.2012.05.25.14.13.24
	(version=SSLv3 cipher=OTHER); Fri, 25 May 2012 14:13:25 -0700 (PDT)
Message-ID: <4FBFF5F3.9050101@xen.org>
Date: Fri, 25 May 2012 22:13:23 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	xen-users@lists.xen.org
Subject: [Xen-devel] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

everybody. A quick reminder that the next Xen DocumentDayis happening 
next Monday. More info on document days at 
http://wiki.xen.org/wiki/Xen_Document_Days

Hope to see you on IRC! Feel free to add stuff to the TODO list 
(http://wiki.xen.org/wiki/Xen_Document_Days/TODO) or put your name 
besides an item if you intend to work on it.

Best Regards
Lars

*********************
* Xen Document Days *
*********************

We have another Xen document day come up next Monday. Xen Document Days 
are for people who care about Xen Documentation and want to improve it. 
We introduced Documentation Days, because working on documentation in 
parallel with like minded-people, is just more fun than working alone! 
Everybody who can contribute is welcome to join!

For a list of items that need work, check out the community maintained 
TODO list (http://wiki.xen.org/wiki/Xen_Document_Days/TODO 
<http://wiki.xen.org/wiki/Xen_Document_Days/TODO>). Of course, you can 
work on anything you like: the list just provides suggestions.

How do I participate?
=====================

- Join us on IRC: freenode channel #xendocs
- Tell people what you intend to work on (to avoid doing something somebody
   else is already working on)
- Fix some documentation
- Help others
- And above all: have fun!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:18:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:18:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1u0-0001al-UP; Fri, 25 May 2012 21:18:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1tz-0001aT-3V
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:18:27 +0000
Received: from [85.158.139.83:18057] by server-2.bemta-5.messagelabs.com id
	66/8C-09957-227FFBF4; Fri, 25 May 2012 21:18:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337980704!26147924!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27777 invoked from network); 25 May 2012 21:18:25 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 21:18:25 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLIMVp021873
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:18:23 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLIM98015901
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:18:22 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLIMcO001074; Fri, 25 May 2012 16:18:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:18:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5152340282; Fri, 25 May 2012 17:11:53 -0400 (EDT)
Date: Fri, 25 May 2012 17:11:53 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120525211153.GA21344@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
	<20120525013421.GC20947@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
	<20120525203033.GC23655@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2FB9F872@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2FB9F872@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xorg crashes... with what distro?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 02:12:48PM -0700, Kenneth Wong wrote:
> Hi Konrad,

Please do not top-post.
> 
> It's Xen 4.1.1.
> 
> It did not occur immediately after loading. It occurs after a few I/Os.


.. snip..

Please provide the details I've asked for.
> > Any idea on the following messages?
> 
> Some, but without any details (like machine type, userspace version, Xorg version,
> kernel version, Xorg.0.log, etc) I've no clue.
> 
> > 
> >         Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d4000]
> >         rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]
> > 
> > I think this might be cause by some other things in the driver.
> 
> So you see this only after you load your driver?
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:18:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:18:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1u0-0001al-UP; Fri, 25 May 2012 21:18:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1tz-0001aT-3V
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:18:27 +0000
Received: from [85.158.139.83:18057] by server-2.bemta-5.messagelabs.com id
	66/8C-09957-227FFBF4; Fri, 25 May 2012 21:18:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1337980704!26147924!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27777 invoked from network); 25 May 2012 21:18:25 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 21:18:25 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLIMVp021873
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:18:23 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLIM98015901
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:18:22 GMT
Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLIMcO001074; Fri, 25 May 2012 16:18:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:18:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5152340282; Fri, 25 May 2012 17:11:53 -0400 (EDT)
Date: Fri, 25 May 2012 17:11:53 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Kenneth Wong <kenwong@marvell.com>
Message-ID: <20120525211153.GA21344@phenom.dumpdata.com>
References: <F766E4F80769BD478052FB6533FA745D1A2FB28892@SC-VEXCH4.marvell.com>
	<20120524001712.GA6285@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C37@SC-VEXCH4.marvell.com>
	<20120524061806.GX2058@reaktio.net>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3B@SC-VEXCH4.marvell.com>
	<20120525013421.GC20947@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2EFB6C3D@SC-VEXCH4.marvell.com>
	<20120525203033.GC23655@phenom.dumpdata.com>
	<F766E4F80769BD478052FB6533FA745D1A2FB9F872@SC-VEXCH4.marvell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2FB9F872@SC-VEXCH4.marvell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xorg crashes... with what distro?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 02:12:48PM -0700, Kenneth Wong wrote:
> Hi Konrad,

Please do not top-post.
> 
> It's Xen 4.1.1.
> 
> It did not occur immediately after loading. It occurs after a few I/Os.


.. snip..

Please provide the details I've asked for.
> > Any idea on the following messages?
> 
> Some, but without any details (like machine type, userspace version, Xorg version,
> kernel version, Xorg.0.log, etc) I've no clue.
> 
> > 
> >         Xorg[1234]: segfault at 34 ip 00000000005067b1 sp 00007fff37a82f40 error 4 in Xorg[400000+1d4000]
> >         rtkit-daemon[1708]: segfault at ffffffffffffff80 ip 00007fe23abee61a sp 00007fff9c249410 error 4 in libdbus-1.so.3.5.7[7fe23abc3000+42000]
> > 
> > I think this might be cause by some other things in the driver.
> 
> So you see this only after you load your driver?
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:18:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:18:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1tw-0001aG-Hw; Fri, 25 May 2012 21:18:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SY1tu-0001aB-VG
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:18:23 +0000
Received: from [85.158.138.51:41019] by server-11.bemta-3.messagelabs.com id
	1F/A0-20431-E17FFBF4; Fri, 25 May 2012 21:18:22 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337980699!22838997!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29477 invoked from network); 25 May 2012 21:18:21 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:18:21 -0000
Received: by dajz8 with SMTP id z8so1902258daj.30
	for <xen-devel@lists.xensource.com>;
	Fri, 25 May 2012 14:18:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=KQ8w2IWypnOqxtYWLcwImB0v6fs28aDbq+YDWjnDQ10=;
	b=JN6L7cuO4nr3M/aKbo3tvi9ZthSEYChm9kxy1Gj8TN+mcl2oG2yKlyCUH5FblKH7oI
	YCXCZ8ekMixaiYTXSMkpuQZh9fMOxOBdCjE9dryphgIUDrPsMvtTUSOm3YPgOjBzs2SD
	0JMDm23i7GB93+V2wGicGdGC1DnRIH2v5OcaXRwz81JAxiD0ZKYj3acfw3rLHoTYijui
	8efss4dEYjXNB1b8PKJIIjlt9f57o7caV9LodN84O9r3T32jmXCsBblslKYMMMgFQA7G
	ZIJDwhzw34ZtMueL46Pq9RZGnX/jCpGmagihqVGxR8x4Q3LO/+baXYtMxjICel1cs3lX
	SP5Q==
Received: by 10.68.223.35 with SMTP id qr3mr1178454pbc.83.1337980699154; Fri,
	25 May 2012 14:18:19 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Fri, 25 May 2012 14:17:58 -0700 (PDT)
In-Reply-To: <20120525210148.GH23655@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Fri, 25 May 2012 23:17:58 +0200
Message-ID: <CAJ75kXacvgoHJKynCQ3=a4MqD36nNVDkjqQBHmCKwzB466xT5Q@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

On Fri, May 25, 2012 at 11:01 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Not yet. Could you ping me in =A0week say please?

sure.

-- =

William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:18:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:18:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1tw-0001aG-Hw; Fri, 25 May 2012 21:18:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SY1tu-0001aB-VG
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:18:23 +0000
Received: from [85.158.138.51:41019] by server-11.bemta-3.messagelabs.com id
	1F/A0-20431-E17FFBF4; Fri, 25 May 2012 21:18:22 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1337980699!22838997!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29477 invoked from network); 25 May 2012 21:18:21 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:18:21 -0000
Received: by dajz8 with SMTP id z8so1902258daj.30
	for <xen-devel@lists.xensource.com>;
	Fri, 25 May 2012 14:18:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=KQ8w2IWypnOqxtYWLcwImB0v6fs28aDbq+YDWjnDQ10=;
	b=JN6L7cuO4nr3M/aKbo3tvi9ZthSEYChm9kxy1Gj8TN+mcl2oG2yKlyCUH5FblKH7oI
	YCXCZ8ekMixaiYTXSMkpuQZh9fMOxOBdCjE9dryphgIUDrPsMvtTUSOm3YPgOjBzs2SD
	0JMDm23i7GB93+V2wGicGdGC1DnRIH2v5OcaXRwz81JAxiD0ZKYj3acfw3rLHoTYijui
	8efss4dEYjXNB1b8PKJIIjlt9f57o7caV9LodN84O9r3T32jmXCsBblslKYMMMgFQA7G
	ZIJDwhzw34ZtMueL46Pq9RZGnX/jCpGmagihqVGxR8x4Q3LO/+baXYtMxjICel1cs3lX
	SP5Q==
Received: by 10.68.223.35 with SMTP id qr3mr1178454pbc.83.1337980699154; Fri,
	25 May 2012 14:18:19 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Fri, 25 May 2012 14:17:58 -0700 (PDT)
In-Reply-To: <20120525210148.GH23655@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Fri, 25 May 2012 23:17:58 +0200
Message-ID: <CAJ75kXacvgoHJKynCQ3=a4MqD36nNVDkjqQBHmCKwzB466xT5Q@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Konrad,

On Fri, May 25, 2012 at 11:01 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Not yet. Could you ping me in =A0week say please?

sure.

-- =

William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:19:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:19:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1uf-0001gf-Ha; Fri, 25 May 2012 21:19:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1ue-0001gE-O2
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:19:08 +0000
Received: from [85.158.143.99:15983] by server-2.bemta-4.messagelabs.com id
	E1/FF-12211-B47FFBF4; Fri, 25 May 2012 21:19:07 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337980745!20083592!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU0MzMz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25306 invoked from network); 25 May 2012 21:19:07 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:19:07 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLJ47j022273
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:19:05 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLJ3Os016710
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:19:04 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLJ3PA001459; Fri, 25 May 2012 16:19:03 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:19:03 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0A34E40282; Fri, 25 May 2012 17:12:35 -0400 (EDT)
Date: Fri, 25 May 2012 17:12:35 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lars Kurth <lars.kurth@xen.org>
Message-ID: <20120525211234.GB21344@phenom.dumpdata.com>
References: <4FBFF5F3.9050101@xen.org>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBFF5F3.9050101@xen.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-users@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 10:13:23PM +0100, Lars Kurth wrote:
> Hi,
> 
> everybody. A quick reminder that the next Xen DocumentDayis
> happening next Monday. More info on document days at

Keep in mind that in US that is Memorial day so pretty much
everybody in US is going BBQ-ing and such.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:19:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:19:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1uf-0001gf-Ha; Fri, 25 May 2012 21:19:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1ue-0001gE-O2
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:19:08 +0000
Received: from [85.158.143.99:15983] by server-2.bemta-4.messagelabs.com id
	E1/FF-12211-B47FFBF4; Fri, 25 May 2012 21:19:07 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1337980745!20083592!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU0MzMz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25306 invoked from network); 25 May 2012 21:19:07 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:19:07 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLJ47j022273
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:19:05 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLJ3Os016710
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:19:04 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLJ3PA001459; Fri, 25 May 2012 16:19:03 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:19:03 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0A34E40282; Fri, 25 May 2012 17:12:35 -0400 (EDT)
Date: Fri, 25 May 2012 17:12:35 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lars Kurth <lars.kurth@xen.org>
Message-ID: <20120525211234.GB21344@phenom.dumpdata.com>
References: <4FBFF5F3.9050101@xen.org>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FBFF5F3.9050101@xen.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-users@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 10:13:23PM +0100, Lars Kurth wrote:
> Hi,
> 
> everybody. A quick reminder that the next Xen DocumentDayis
> happening next Monday. More info on document days at

Keep in mind that in US that is Memorial day so pretty much
everybody in US is going BBQ-ing and such.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:20:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:20:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1vo-0001wX-M6; Fri, 25 May 2012 21:20:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SY1vn-0001w8-AM
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:20:19 +0000
Received: from [85.158.138.51:49573] by server-4.bemta-3.messagelabs.com id
	88/E4-25780-297FFBF4; Fri, 25 May 2012 21:20:18 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337980815!21100569!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31254 invoked from network); 25 May 2012 21:20:17 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:20:17 -0000
Received: by dajz8 with SMTP id z8so1903820daj.30
	for <xen-devel@lists.xensource.com>;
	Fri, 25 May 2012 14:20:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=EVse9Q3JU2oaMy4H6zaAynIQz3r4gxWers+fv8jFnzs=;
	b=mXErYC1RStmX5H4zsz+BtP+TxM6iZOpBuOaSYgvyRsSWPTHciUkry4VCaf4G8Fi2LK
	/We7r/xEwnopzxnopVncY36vPndxtPwC6EMtzAwQaALPad0p6MTRXg4+k/NlFFXkVRAy
	aF2Nt8Axardx9wzXTlGVoDPyiRrfacRIwPblYNQo7iS3hSXMkGaNQo7f3VG1BAqA8Q+Y
	uLlzBMPYtu/1FSw+CjoiOlEF10jpDi5cZi/u1+HG7jcNY5LlN1dg+fPfv2iDeYelzMDr
	+SBa0GvwzOiL+SwR/oaryw7nfRmLgQhIbKhg3BwN4+c+5CF2+1rt1vIUu0rjnTkx8L31
	HH7g==
Received: by 10.68.202.234 with SMTP id kl10mr1067714pbc.108.1337980815298;
	Fri, 25 May 2012 14:20:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Fri, 25 May 2012 14:19:55 -0700 (PDT)
In-Reply-To: <20120524185039.GA14713@kroah.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
	<20120524185039.GA14713@kroah.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Fri, 25 May 2012 23:19:55 +0200
Message-ID: <CAJ75kXYhPNShZaPduMK2ympVFsu+kTxJfYB5RyGA6cnwfhXwMA@mail.gmail.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ben Hutchings <ben@decadent.org.uk>
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 8:50 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> Now applied to the 3.3.x tree, thanks.

Thanks.

Ben, do you plan to apply it on top of the 3.2.x tree?

Regards,

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:20:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:20:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1vo-0001wX-M6; Fri, 25 May 2012 21:20:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SY1vn-0001w8-AM
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:20:19 +0000
Received: from [85.158.138.51:49573] by server-4.bemta-3.messagelabs.com id
	88/E4-25780-297FFBF4; Fri, 25 May 2012 21:20:18 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1337980815!21100569!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31254 invoked from network); 25 May 2012 21:20:17 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:20:17 -0000
Received: by dajz8 with SMTP id z8so1903820daj.30
	for <xen-devel@lists.xensource.com>;
	Fri, 25 May 2012 14:20:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=EVse9Q3JU2oaMy4H6zaAynIQz3r4gxWers+fv8jFnzs=;
	b=mXErYC1RStmX5H4zsz+BtP+TxM6iZOpBuOaSYgvyRsSWPTHciUkry4VCaf4G8Fi2LK
	/We7r/xEwnopzxnopVncY36vPndxtPwC6EMtzAwQaALPad0p6MTRXg4+k/NlFFXkVRAy
	aF2Nt8Axardx9wzXTlGVoDPyiRrfacRIwPblYNQo7iS3hSXMkGaNQo7f3VG1BAqA8Q+Y
	uLlzBMPYtu/1FSw+CjoiOlEF10jpDi5cZi/u1+HG7jcNY5LlN1dg+fPfv2iDeYelzMDr
	+SBa0GvwzOiL+SwR/oaryw7nfRmLgQhIbKhg3BwN4+c+5CF2+1rt1vIUu0rjnTkx8L31
	HH7g==
Received: by 10.68.202.234 with SMTP id kl10mr1067714pbc.108.1337980815298;
	Fri, 25 May 2012 14:20:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Fri, 25 May 2012 14:19:55 -0700 (PDT)
In-Reply-To: <20120524185039.GA14713@kroah.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
	<20120524185039.GA14713@kroah.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Fri, 25 May 2012 23:19:55 +0200
Message-ID: <CAJ75kXYhPNShZaPduMK2ympVFsu+kTxJfYB5RyGA6cnwfhXwMA@mail.gmail.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ben Hutchings <ben@decadent.org.uk>
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 24, 2012 at 8:50 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> Now applied to the 3.3.x tree, thanks.

Thanks.

Ben, do you plan to apply it on top of the 3.2.x tree?

Regards,

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:22:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1xY-0002Ht-60; Fri, 25 May 2012 21:22:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1xX-0002HU-3s
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:22:07 +0000
Received: from [85.158.139.83:40188] by server-6.bemta-5.messagelabs.com id
	16/0A-31790-EF7FFBF4; Fri, 25 May 2012 21:22:06 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337980924!26457919!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31343 invoked from network); 25 May 2012 21:22:05 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:22:05 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLLsmv023986
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:21:55 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLLrGb023294
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:21:53 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLLrlQ003426; Fri, 25 May 2012 16:21:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:21:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6015540282; Fri, 25 May 2012 17:15:24 -0400 (EDT)
Date: Fri, 25 May 2012 17:15:24 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525211524.GC21344@phenom.dumpdata.com>
References: <20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
	<20120525202309.GA14524@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F10DE@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F10DE@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 08:47:20PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> >> What I mean is,
> >> If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c
> >> would create /dev/mcelog (minor=227). 
> >> Under such case, may we create a symlink in /dev/mcelog pointing to
> >> /dev/xen-mcelog, without touching native mce code? and how? 
> > 
> > I thought the idea was that we would create /dev/mcelog using the
> > same major/minor. 
> 
> Our current patch just use same major/minor, by redirection method. Is it acceptable?

https://lkml.org/lkml/2012/5/24/183 Borislav says:
"
Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?

That should solve it.
" so that sounds like the right direction.

> 
> > 
> > However if you want to create /dev/xen-mcelog and then create from
> > the kernel another file in /dev that is name 'mcelog' and is a
> > symlink to /dev/mcelog - that is OK too. Obviously you will also need
> > to disable the generic '/dev/mcelog' (and that can be done in the
> > same way as lguest does it). 
> 
> No, that's not my purpose.
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:22:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY1xY-0002Ht-60; Fri, 25 May 2012 21:22:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY1xX-0002HU-3s
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:22:07 +0000
Received: from [85.158.139.83:40188] by server-6.bemta-5.messagelabs.com id
	16/0A-31790-EF7FFBF4; Fri, 25 May 2012 21:22:06 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1337980924!26457919!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTUzMDQx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31343 invoked from network); 25 May 2012 21:22:05 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:22:05 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLLsmv023986
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:21:55 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLLrGb023294
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:21:53 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLLrlQ003426; Fri, 25 May 2012 16:21:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:21:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6015540282; Fri, 25 May 2012 17:15:24 -0400 (EDT)
Date: Fri, 25 May 2012 17:15:24 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120525211524.GC21344@phenom.dumpdata.com>
References: <20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524162605.GK27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED978@SHSMSX101.ccr.corp.intel.com>
	<20120524191039.GB28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C89@SHSMSX101.ccr.corp.intel.com>
	<20120525180303.GB27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0E70@SHSMSX101.ccr.corp.intel.com>
	<20120525202309.GA14524@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F10DE@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F10DE@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 08:47:20PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> >> What I mean is,
> >> If mcelog.c create /dev/xen-mcelog (say, minor=226), native mce.c
> >> would create /dev/mcelog (minor=227). 
> >> Under such case, may we create a symlink in /dev/mcelog pointing to
> >> /dev/xen-mcelog, without touching native mce code? and how? 
> > 
> > I thought the idea was that we would create /dev/mcelog using the
> > same major/minor. 
> 
> Our current patch just use same major/minor, by redirection method. Is it acceptable?

https://lkml.org/lkml/2012/5/24/183 Borislav says:
"
Maybe create a symlink in /dev/mcelog pointing to /dev/xen-mcelog?

That should solve it.
" so that sounds like the right direction.

> 
> > 
> > However if you want to create /dev/xen-mcelog and then create from
> > the kernel another file in /dev that is name 'mcelog' and is a
> > symlink to /dev/mcelog - that is OK too. Obviously you will also need
> > to disable the generic '/dev/mcelog' (and that can be done in the
> > same way as lguest does it). 
> 
> No, that's not my purpose.
> 
> Thanks,
> Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2V7-0002rX-N5; Fri, 25 May 2012 21:56:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY2V6-0002rD-8L
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:56:48 +0000
Received: from [85.158.138.51:19059] by server-2.bemta-3.messagelabs.com id
	D2/22-27819-F1000CF4; Fri, 25 May 2012 21:56:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337983005!29090190!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20351 invoked from network); 25 May 2012 21:56:46 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 21:56:46 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLufHC030240
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:56:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLuect000220
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:56:40 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLudWH009025; Fri, 25 May 2012 16:56:39 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:56:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D6A8640284; Fri, 25 May 2012 17:50:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: jbeulich@suse.com, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, axboe@kernel.dk
Date: Fri, 25 May 2012 17:50:03 -0400
Message-Id: <1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
In-Reply-To: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
	misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Part of the ring structure is the 'id' field which is under
control of the frontend. The frontend stamps it with "some"
value (this some in this implementation being a value less
than BLK_RING_SIZE), and when it gets a response expects
said value to be in the response structure. We have a check
for the id field when spolling new requests but not when
de-spolling responses.

We also add an extra check in add_id_to_freelist to make
sure that the 'struct request' was not NULL - as we cannot
pass a NULL to __blk_end_request_all, otherwise that crashes
(and all the operations that the response is dealing with
end up with __blk_end_request_all).

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/block/xen-blkfront.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 60eed4b..8e177ca 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info *info,
 			       unsigned long id)
 {
 	info->shadow[id].req.u.rw.id  = info->shadow_free;
+	BUG_ON(info->shadow[id].request == NULL);
 	info->shadow[id].request = NULL;
 	info->shadow_free = id;
 }
@@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 
 		bret = RING_GET_RESPONSE(&info->ring, i);
 		id   = bret->id;
+		/*
+		 * The backend has messed up and given us an id that we would
+		 * never have given to it (we stamp it up to BLK_RING_SIZE -
+		 * look in get_id_from_freelist.
+		 */
+		BUG_ON(id >= BLK_RING_SIZE);
 		req  = info->shadow[id].request;
 
 		if (bret->operation != BLKIF_OP_DISCARD)
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2V7-0002rX-N5; Fri, 25 May 2012 21:56:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY2V6-0002rD-8L
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:56:48 +0000
Received: from [85.158.138.51:19059] by server-2.bemta-3.messagelabs.com id
	D2/22-27819-F1000CF4; Fri, 25 May 2012 21:56:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1337983005!29090190!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NTA3MQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20351 invoked from network); 25 May 2012 21:56:46 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 25 May 2012 21:56:46 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLufHC030240
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:56:42 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLuect000220
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:56:40 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLudWH009025; Fri, 25 May 2012 16:56:39 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:56:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D6A8640284; Fri, 25 May 2012 17:50:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: jbeulich@suse.com, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, axboe@kernel.dk
Date: Fri, 25 May 2012 17:50:03 -0400
Message-Id: <1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
In-Reply-To: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
	misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Part of the ring structure is the 'id' field which is under
control of the frontend. The frontend stamps it with "some"
value (this some in this implementation being a value less
than BLK_RING_SIZE), and when it gets a response expects
said value to be in the response structure. We have a check
for the id field when spolling new requests but not when
de-spolling responses.

We also add an extra check in add_id_to_freelist to make
sure that the 'struct request' was not NULL - as we cannot
pass a NULL to __blk_end_request_all, otherwise that crashes
(and all the operations that the response is dealing with
end up with __blk_end_request_all).

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/block/xen-blkfront.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 60eed4b..8e177ca 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info *info,
 			       unsigned long id)
 {
 	info->shadow[id].req.u.rw.id  = info->shadow_free;
+	BUG_ON(info->shadow[id].request == NULL);
 	info->shadow[id].request = NULL;
 	info->shadow_free = id;
 }
@@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 
 		bret = RING_GET_RESPONSE(&info->ring, i);
 		id   = bret->id;
+		/*
+		 * The backend has messed up and given us an id that we would
+		 * never have given to it (we stamp it up to BLK_RING_SIZE -
+		 * look in get_id_from_freelist.
+		 */
+		BUG_ON(id >= BLK_RING_SIZE);
 		req  = info->shadow[id].request;
 
 		if (bret->operation != BLKIF_OP_DISCARD)
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2V8-0002re-2T; Fri, 25 May 2012 21:56:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY2V6-0002rE-MT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:56:48 +0000
Received: from [193.109.254.147:49781] by server-3.bemta-14.messagelabs.com id
	2D/E3-23274-F1000CF4; Fri, 25 May 2012 21:56:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337983005!11266875!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NjM3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2148 invoked from network); 25 May 2012 21:56:47 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:56:47 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLueGx030233
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:56:41 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLueOQ027094
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:56:40 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLude1021901; Fri, 25 May 2012 16:56:39 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:56:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id CC9AB40283; Fri, 25 May 2012 17:50:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: jbeulich@suse.com, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, axboe@kernel.dk
Date: Fri, 25 May 2012 17:50:02 -0400
Message-Id: <1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
In-Reply-To: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: stable@kernel.org, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
	BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We weren't copying the id field so when we sent the response
back to the frontend (especially with a 64-bit host and 32-bit
guest), we ended up using a random value. This lead to the
frontend crashing as it would try to pass to __blk_end_request_all
a NULL 'struct request' (b/c it would use the 'id' to find the
proper 'struct request' in its shadow array) and end up crashing:

BUG: unable to handle kernel NULL pointer dereference at 000000e4
IP: [<c0646d4c>] __blk_end_request_all+0xc/0x40
.. snip..
EIP is at __blk_end_request_all+0xc/0x40
.. snip..
 [<ed95db72>] blkif_interrupt+0x172/0x330 [xen_blkfront]

This fixes the bug by passing in the proper id for the response.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
CC: stable@kernel.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/block/xen-blkback/common.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 773cf27..9ad3b5e 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -257,6 +257,7 @@ static inline void blkif_get_x86_32_req(struct blkif_request *dst,
 		break;
 	case BLKIF_OP_DISCARD:
 		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
 		dst->u.discard.sector_number = src->u.discard.sector_number;
 		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
 		break;
@@ -287,6 +288,7 @@ static inline void blkif_get_x86_64_req(struct blkif_request *dst,
 		break;
 	case BLKIF_OP_DISCARD:
 		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
 		dst->u.discard.sector_number = src->u.discard.sector_number;
 		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
 		break;
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2V8-0002re-2T; Fri, 25 May 2012 21:56:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY2V6-0002rE-MT
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:56:48 +0000
Received: from [193.109.254.147:49781] by server-3.bemta-14.messagelabs.com id
	2D/E3-23274-F1000CF4; Fri, 25 May 2012 21:56:47 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1337983005!11266875!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1NjM3OQ==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2148 invoked from network); 25 May 2012 21:56:47 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:56:47 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLueGx030233
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:56:41 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLueOQ027094
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:56:40 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLude1021901; Fri, 25 May 2012 16:56:39 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:56:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id CC9AB40283; Fri, 25 May 2012 17:50:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: jbeulich@suse.com, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, axboe@kernel.dk
Date: Fri, 25 May 2012 17:50:02 -0400
Message-Id: <1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
In-Reply-To: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: stable@kernel.org, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
	BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We weren't copying the id field so when we sent the response
back to the frontend (especially with a 64-bit host and 32-bit
guest), we ended up using a random value. This lead to the
frontend crashing as it would try to pass to __blk_end_request_all
a NULL 'struct request' (b/c it would use the 'id' to find the
proper 'struct request' in its shadow array) and end up crashing:

BUG: unable to handle kernel NULL pointer dereference at 000000e4
IP: [<c0646d4c>] __blk_end_request_all+0xc/0x40
.. snip..
EIP is at __blk_end_request_all+0xc/0x40
.. snip..
 [<ed95db72>] blkif_interrupt+0x172/0x330 [xen_blkfront]

This fixes the bug by passing in the proper id for the response.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
CC: stable@kernel.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/block/xen-blkback/common.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 773cf27..9ad3b5e 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -257,6 +257,7 @@ static inline void blkif_get_x86_32_req(struct blkif_request *dst,
 		break;
 	case BLKIF_OP_DISCARD:
 		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
 		dst->u.discard.sector_number = src->u.discard.sector_number;
 		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
 		break;
@@ -287,6 +288,7 @@ static inline void blkif_get_x86_64_req(struct blkif_request *dst,
 		break;
 	case BLKIF_OP_DISCARD:
 		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
 		dst->u.discard.sector_number = src->u.discard.sector_number;
 		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
 		break;
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2V6-0002rF-BH; Fri, 25 May 2012 21:56:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY2V5-0002r6-E9
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:56:47 +0000
Received: from [85.158.138.51:18989] by server-8.bemta-3.messagelabs.com id
	BE/F7-24402-E1000CF4; Fri, 25 May 2012 21:56:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337983004!29272363!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU0MzMz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21902 invoked from network); 25 May 2012 21:56:45 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:56:45 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLuexg013270
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:56:41 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLueQO028771
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:56:40 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLudUb009024; Fri, 25 May 2012 16:56:39 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:56:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C2CA740282; Fri, 25 May 2012 17:50:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: jbeulich@suse.com, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, axboe@kernel.dk
Date: Fri, 25 May 2012 17:50:01 -0400
Message-Id: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH] fixes to xen-blk[back|front] to deal with 32/64
	host/guest combination with BLKIF_DISCARD (v1).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These two patches came out of hitting https://bugzilla.redhat.com/show_bug.cgi?id=824641
where a 32-bit guest would send a BLKIF_DISCARD request to a 64-bit
host. The xen-blkback did not copy the 'id' field into the response (it ended
up with a random value), which the frontend uses to lookup in its array to
find the 'struct request' that corresponded to this BLKIF_DISCARD.

The result was the __blk_end_request_all ended being called with a NULL
pointer and crashed the guest.

The fix is easy enough - make xen-blkback copy the 'id' field when
dealing with 32/64 or 64/32 host/guest combinations. The problem
does not exist if we are using a 64/64 combination.

I also added two BUG_ON to xen-blkfront to detect this misuse of 'id'
field in case there are other backends that do this.

If there are no problems with these patches I was thinking to put them
in my stable/for-jens-3.5 tree and ask Jens to pull them.

 drivers/block/xen-blkback/common.h |    2 ++
 drivers/block/xen-blkfront.c       |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:57:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2V6-0002rF-BH; Fri, 25 May 2012 21:56:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SY2V5-0002r6-E9
	for xen-devel@lists.xensource.com; Fri, 25 May 2012 21:56:47 +0000
Received: from [85.158.138.51:18989] by server-8.bemta-3.messagelabs.com id
	BE/F7-24402-E1000CF4; Fri, 25 May 2012 21:56:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1337983004!29272363!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU0MzMz\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21902 invoked from network); 25 May 2012 21:56:45 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 25 May 2012 21:56:45 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4PLuexg013270
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 25 May 2012 21:56:41 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4PLueQO028771
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Fri, 25 May 2012 21:56:40 GMT
Received: from abhmt114.oracle.com (abhmt114.oracle.com [141.146.116.66])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4PLudUb009024; Fri, 25 May 2012 16:56:39 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 25 May 2012 14:56:39 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C2CA740282; Fri, 25 May 2012 17:50:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: jbeulich@suse.com, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, axboe@kernel.dk
Date: Fri, 25 May 2012 17:50:01 -0400
Message-Id: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Subject: [Xen-devel] [PATCH] fixes to xen-blk[back|front] to deal with 32/64
	host/guest combination with BLKIF_DISCARD (v1).
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These two patches came out of hitting https://bugzilla.redhat.com/show_bug.cgi?id=824641
where a 32-bit guest would send a BLKIF_DISCARD request to a 64-bit
host. The xen-blkback did not copy the 'id' field into the response (it ended
up with a random value), which the frontend uses to lookup in its array to
find the 'struct request' that corresponded to this BLKIF_DISCARD.

The result was the __blk_end_request_all ended being called with a NULL
pointer and crashed the guest.

The fix is easy enough - make xen-blkback copy the 'id' field when
dealing with 32/64 or 64/32 host/guest combinations. The problem
does not exist if we are using a 64/64 combination.

I also added two BUG_ON to xen-blkfront to detect this misuse of 'id'
field in case there are other backends that do this.

If there are no problems with these patches I was thinking to put them
in my stable/for-jens-3.5 tree and ask Jens to pull them.

 drivers/block/xen-blkback/common.h |    2 ++
 drivers/block/xen-blkfront.c       |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:58:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:58:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2Wp-000362-JN; Fri, 25 May 2012 21:58:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <florian.heigl@gmail.com>) id 1SY2Wo-00035c-3a
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:58:34 +0000
Received: from [85.158.143.99:61941] by server-3.bemta-4.messagelabs.com id
	1D/76-05853-88000CF4; Fri, 25 May 2012 21:58:32 +0000
X-Env-Sender: florian.heigl@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337983109!28965496!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7632 invoked from network); 25 May 2012 21:58:31 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:58:31 -0000
Received: by ggnp1 with SMTP id p1so1428772ggn.32
	for <multiple recipients>; Fri, 25 May 2012 14:58:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=h8htbNQ0n3yPj4Zx5U0h6CJ6F5G8WLvlFr+tC+KUZ00=;
	b=DTOtDh0aNrYUYdFSTaZ2K5dLGIy3GFsoiCIqaOIL6urEEGwoHdzXR1laPvyHg/YmLd
	Pi373lpUbULNWE4v/XzXCqRI6UB8kIzbF4JEURGSbAkS57D3JWe/mi16Ck/iRuRqEi+L
	Y8avusKufJaHYzbcURpnbHIa6LR0JsVmUaRXHTUgj1O2LVQbwhqR4mG8ahOvgACZoBXZ
	yMGb/XBF2BoBzZ1GDSg23oqtI8vAzummieHaKSs8ibdyiKN0gBzNjOJvyUHV3YXn4kbR
	0yepDxois4OtAv2mKn4hRkCK7TJB6b7EXIin8ETupXzf7c0tnuMuGHLm0nKcpMjzxcxk
	RXbA==
MIME-Version: 1.0
Received: by 10.50.106.228 with SMTP id gx4mr244740igb.7.1337983108823; Fri,
	25 May 2012 14:58:28 -0700 (PDT)
Received: by 10.231.47.83 with HTTP; Fri, 25 May 2012 14:58:28 -0700 (PDT)
In-Reply-To: <20120525211234.GB21344@phenom.dumpdata.com>
References: <4FBFF5F3.9050101@xen.org>
	<20120525211234.GB21344@phenom.dumpdata.com>
Date: Fri, 25 May 2012 23:58:28 +0200
Message-ID: <CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
From: Florian Heigl <florian.heigl@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-users@lists.xen.org, Lars Kurth <lars.kurth@xen.org>,
	xen-devel@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

I've made some draft for helping distro packagers with knowing if they
made something that actually works. I wonder if we (xen.org...?) could
offer a xen host that does regression testing for domU distros. Odd
idea?


The doc:
http://confluence.wartungsfenster.de/display/Adminspace/Xen+domU+functions+checklist

Just typed it in my own wiki for lazyness. I'll try to be around on
monday and pull it over to Xen wiki.
It's a holiday here, too, but I admit I asked for a doc day that is
not on a working day. :)

Greetings, and happy celebrations
Florian

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Fri May 25 21:58:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 25 May 2012 21:58:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY2Wp-000362-JN; Fri, 25 May 2012 21:58:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <florian.heigl@gmail.com>) id 1SY2Wo-00035c-3a
	for xen-devel@lists.xen.org; Fri, 25 May 2012 21:58:34 +0000
Received: from [85.158.143.99:61941] by server-3.bemta-4.messagelabs.com id
	1D/76-05853-88000CF4; Fri, 25 May 2012 21:58:32 +0000
X-Env-Sender: florian.heigl@gmail.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1337983109!28965496!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7632 invoked from network); 25 May 2012 21:58:31 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	25 May 2012 21:58:31 -0000
Received: by ggnp1 with SMTP id p1so1428772ggn.32
	for <multiple recipients>; Fri, 25 May 2012 14:58:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=h8htbNQ0n3yPj4Zx5U0h6CJ6F5G8WLvlFr+tC+KUZ00=;
	b=DTOtDh0aNrYUYdFSTaZ2K5dLGIy3GFsoiCIqaOIL6urEEGwoHdzXR1laPvyHg/YmLd
	Pi373lpUbULNWE4v/XzXCqRI6UB8kIzbF4JEURGSbAkS57D3JWe/mi16Ck/iRuRqEi+L
	Y8avusKufJaHYzbcURpnbHIa6LR0JsVmUaRXHTUgj1O2LVQbwhqR4mG8ahOvgACZoBXZ
	yMGb/XBF2BoBzZ1GDSg23oqtI8vAzummieHaKSs8ibdyiKN0gBzNjOJvyUHV3YXn4kbR
	0yepDxois4OtAv2mKn4hRkCK7TJB6b7EXIin8ETupXzf7c0tnuMuGHLm0nKcpMjzxcxk
	RXbA==
MIME-Version: 1.0
Received: by 10.50.106.228 with SMTP id gx4mr244740igb.7.1337983108823; Fri,
	25 May 2012 14:58:28 -0700 (PDT)
Received: by 10.231.47.83 with HTTP; Fri, 25 May 2012 14:58:28 -0700 (PDT)
In-Reply-To: <20120525211234.GB21344@phenom.dumpdata.com>
References: <4FBFF5F3.9050101@xen.org>
	<20120525211234.GB21344@phenom.dumpdata.com>
Date: Fri, 25 May 2012 23:58:28 +0200
Message-ID: <CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
From: Florian Heigl <florian.heigl@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-users@lists.xen.org, Lars Kurth <lars.kurth@xen.org>,
	xen-devel@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: Re: [Xen-devel] [Xen-users] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

I've made some draft for helping distro packagers with knowing if they
made something that actually works. I wonder if we (xen.org...?) could
offer a xen host that does regression testing for domU distros. Odd
idea?


The doc:
http://confluence.wartungsfenster.de/display/Adminspace/Xen+domU+functions+checklist

Just typed it in my own wiki for lazyness. I'll try to be around on
monday and pull it over to Xen wiki.
It's a holiday here, too, but I admit I asked for a doc day that is
not on a working day. :)

Greetings, and happy celebrations
Florian

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 26 00:24:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 00:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY4ni-0004nA-JH; Sat, 26 May 2012 00:24:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SY4ng-0004n5-UD
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 00:24:09 +0000
Received: from [85.158.143.35:42142] by server-3.bemta-4.messagelabs.com id
	35/BD-05853-8A220CF4; Sat, 26 May 2012 00:24:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337991846!5625241!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA4MDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13099 invoked from network); 26 May 2012 00:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	26 May 2012 00:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,659,1330905600"; d="scan'208";a="12678593"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	26 May 2012 00:23:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 26 May 2012 01:23:07 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SY4mg-0001c2-RB;
	Sat, 26 May 2012 00:23:06 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SY4mg-0006sr-QY;
	Sat, 26 May 2012 01:23:06 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12972-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 26 May 2012 01:23:06 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12972: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12972 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12972/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12971
 test-amd64-amd64-pv           9 guest-start        fail in 12971 pass in 12972

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12968

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check      fail in 12971 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12971 never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=53e0571f94e4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 53e0571f94e4
+ branch=xen-unstable
+ revision=53e0571f94e4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 53e0571f94e4 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 26 00:24:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 00:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SY4ni-0004nA-JH; Sat, 26 May 2012 00:24:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SY4ng-0004n5-UD
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 00:24:09 +0000
Received: from [85.158.143.35:42142] by server-3.bemta-4.messagelabs.com id
	35/BD-05853-8A220CF4; Sat, 26 May 2012 00:24:08 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1337991846!5625241!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA4MDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13099 invoked from network); 26 May 2012 00:24:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	26 May 2012 00:24:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,659,1330905600"; d="scan'208";a="12678593"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	26 May 2012 00:23:07 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 26 May 2012 01:23:07 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SY4mg-0001c2-RB;
	Sat, 26 May 2012 00:23:06 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SY4mg-0006sr-QY;
	Sat, 26 May 2012 01:23:06 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12972-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 26 May 2012 01:23:06 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12972: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12972 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12972/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-rhel6hvm-amd  7 redhat-install              fail pass in 12971
 test-amd64-amd64-pv           9 guest-start        fail in 12971 pass in 12972

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12968

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check      fail in 12971 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop    fail in 12971 never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  69c3ae25bb1d

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=53e0571f94e4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 53e0571f94e4
+ branch=xen-unstable
+ revision=53e0571f94e4
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 53e0571f94e4 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 26 06:33:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 06:33:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYAYZ-00020T-Tv; Sat, 26 May 2012 06:32:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SYAYX-00020O-SO
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 06:32:54 +0000
Received: from [85.158.143.35:11493] by server-2.bemta-4.messagelabs.com id
	65/04-12211-51970CF4; Sat, 26 May 2012 06:32:53 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338013972!6035218!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA4MDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17988 invoked from network); 26 May 2012 06:32:52 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	26 May 2012 06:32:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,660,1330905600"; d="scan'208";a="12679681"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	26 May 2012 06:32:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 26 May 2012 07:32:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SYAYD-0003aT-Rd;
	Sat, 26 May 2012 06:32:33 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SYAYD-0002zX-Ax;
	Sat, 26 May 2012 07:32:33 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12975-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 26 May 2012 07:32:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12975: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12975 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12975/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12972

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 26 06:33:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 06:33:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYAYZ-00020T-Tv; Sat, 26 May 2012 06:32:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SYAYX-00020O-SO
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 06:32:54 +0000
Received: from [85.158.143.35:11493] by server-2.bemta-4.messagelabs.com id
	65/04-12211-51970CF4; Sat, 26 May 2012 06:32:53 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338013972!6035218!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA4MDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17988 invoked from network); 26 May 2012 06:32:52 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	26 May 2012 06:32:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,660,1330905600"; d="scan'208";a="12679681"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	26 May 2012 06:32:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sat, 26 May 2012 07:32:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SYAYD-0003aT-Rd;
	Sat, 26 May 2012 06:32:33 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SYAYD-0002zX-Ax;
	Sat, 26 May 2012 07:32:33 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12975-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sat, 26 May 2012 07:32:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12975: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12975 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12975/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12972

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sat May 26 11:05:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 11:05:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYEnn-0003jJ-5R; Sat, 26 May 2012 11:04:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1SYEnl-0003jE-JV
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 11:04:53 +0000
Received: from [85.158.138.51:29777] by server-11.bemta-3.messagelabs.com id
	C1/5E-20431-4D8B0CF4; Sat, 26 May 2012 11:04:52 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338030291!29282468!1
X-Originating-IP: [66.111.4.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjkgPT4gMTg2NTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 528 invoked from network); 26 May 2012 11:04:51 -0000
Received: from out5-smtp.messagingengine.com (HELO
	out5-smtp.messagingengine.com) (66.111.4.29)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 26 May 2012 11:04:51 -0000
Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 990A3209F8;
	Sat, 26 May 2012 07:04:50 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160])
	by compute3.internal (MEProxy); Sat, 26 May 2012 07:04:50 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:references:in-reply-to:content-type; s=mesmtp; bh=wv
	7lnSUprWnRXK9tUphiT7uZuEQ=; b=RYaZ5+JzvzZTnCymQOErGu53E3cS/9KVQp
	SSbcutoBPPqP+36Or8v9B+JBaSopIM3/DxZdBwD+29EbDnR4SV+PWkC7ZCT12MQl
	9sFHDend0wCEHUaBsZVWX3NLuW5JoD37UodilPMLivDhH1Qyiq5X3M32UTXG0+Q2
	hAETHYxSA=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:references:in-reply-to:content-type; s=smtpout; bh=wv7l
	nSUprWnRXK9tUphiT7uZuEQ=; b=MIFjR8Ct/XF1IkYy0nqAz/xt4J9ax1XQ2lFS
	yoDumh2Oo08lzF2r3Yru5OJO4io3Sl3ZcnqjzAtTTqTwokKW2A7/MLdDLGwn3LFD
	+2pgXV1L/TzD0R5u2Xa1scBfMzsePY3cWBYVv3MWp76bnkKasw5kLP4qyhe7f1Hw
	h10kPhY=
X-Sasl-enc: NKddS5up9L+fgDEzQa2HtONh+L8vjyzDxToHhYSSquIV 1338030290
Received: from [10.137.2.24] (unknown [178.182.153.36])
	by mail.messagingengine.com (Postfix) with ESMTPA id A35BC8E01FE;
	Sat, 26 May 2012 07:04:49 -0400 (EDT)
Message-ID: <4FC0B8C8.7040800@invisiblethingslab.com>
Date: Sat, 26 May 2012 13:04:40 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FB39B13.70707@invisiblethingslab.com>
	<20120522195331.GA6129@phenom.dumpdata.com>
In-Reply-To: <20120522195331.GA6129@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [Xen-devel] The strange case of xen_netback not returning ARP
 replies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6772474093990851844=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6772474093990851844==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enig2F5768AA48D9A7EF8D738EC0"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2F5768AA48D9A7EF8D738EC0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 05/22/12 21:53, Konrad Rzeszutek Wilk wrote:
> On Wed, May 16, 2012 at 02:18:27PM +0200, Joanna Rutkowska wrote:
>> Hello,
>>
>> I'm facing a rather strange problem with the netback interface. My set=
up
>> involves a netvm, which has some physical network interfaces assigned,=

>> and a client VM where a net front is running (exposed as eth0) and whi=
ch
>> is connected to that netvm (via vif42.0 interface, as seen in the netv=
m
>> on the dumps below).
>>
>> Now, the netvm has two physical network interfaces assigned:
>> 1) A standard Intel AGN (iwlwifi module, interface wlan0) -- this is
>> just a PCI devices assigned
>>
>> 2) A USB 3G modem (cdc_ncm module, usb0 interface) -- this has been ma=
de
>> available to the netvm by assigning a whole USB controller, where the =
3G
>> modem is connected to. This works fine.
>=20
> There are some patches posted about netback and SKB slots that might
> apply to the problem you guys are seeing.
>=20
Yes, indeed the SKB patch solved this problem, thanks!

joanna.


--------------enig2F5768AA48D9A7EF8D738EC0
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPwLjJAAoJEDaIqHeRBUM0nVcH/3fEEX3v3ygYKaeGs3Ym+aBE
BD6Tog77vzjqZtMApRi97yKgqMwcKb9YXG3zyTTwTIyQUYUTfftc1jTi9B/mmD5X
pAI9bCYYRDzRKFcxtCpsyjMf1yeVjqJ8l2/7dNr7gAFshtFpTpGJqBRd8ZI05Xxx
MkDIFGvhBZeyQUKoFE2EyUDXUDRfHyqiReZBLlPdR4Ui3twx27SsLTQh5UOtU8BQ
WBX2dUBhR1mEd/azjeEY7z15NNIKIy4ARRa3KCMRXJLRlUMzM5O6Wx+fTKgQ8pm/
gTaDaOb7JnwzJgPyx664o7+h1lH8RHLKhP/OgaYSJmiWDxswIs8gOJdc6tR0sD0=
=1oSK
-----END PGP SIGNATURE-----

--------------enig2F5768AA48D9A7EF8D738EC0--


--===============6772474093990851844==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6772474093990851844==--


From xen-devel-bounces@lists.xen.org Sat May 26 11:05:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 11:05:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYEnn-0003jJ-5R; Sat, 26 May 2012 11:04:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1SYEnl-0003jE-JV
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 11:04:53 +0000
Received: from [85.158.138.51:29777] by server-11.bemta-3.messagelabs.com id
	C1/5E-20431-4D8B0CF4; Sat, 26 May 2012 11:04:52 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338030291!29282468!1
X-Originating-IP: [66.111.4.29]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjkgPT4gMTg2NTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 528 invoked from network); 26 May 2012 11:04:51 -0000
Received: from out5-smtp.messagingengine.com (HELO
	out5-smtp.messagingengine.com) (66.111.4.29)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 26 May 2012 11:04:51 -0000
Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 990A3209F8;
	Sat, 26 May 2012 07:04:50 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160])
	by compute3.internal (MEProxy); Sat, 26 May 2012 07:04:50 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:references:in-reply-to:content-type; s=mesmtp; bh=wv
	7lnSUprWnRXK9tUphiT7uZuEQ=; b=RYaZ5+JzvzZTnCymQOErGu53E3cS/9KVQp
	SSbcutoBPPqP+36Or8v9B+JBaSopIM3/DxZdBwD+29EbDnR4SV+PWkC7ZCT12MQl
	9sFHDend0wCEHUaBsZVWX3NLuW5JoD37UodilPMLivDhH1Qyiq5X3M32UTXG0+Q2
	hAETHYxSA=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:references:in-reply-to:content-type; s=smtpout; bh=wv7l
	nSUprWnRXK9tUphiT7uZuEQ=; b=MIFjR8Ct/XF1IkYy0nqAz/xt4J9ax1XQ2lFS
	yoDumh2Oo08lzF2r3Yru5OJO4io3Sl3ZcnqjzAtTTqTwokKW2A7/MLdDLGwn3LFD
	+2pgXV1L/TzD0R5u2Xa1scBfMzsePY3cWBYVv3MWp76bnkKasw5kLP4qyhe7f1Hw
	h10kPhY=
X-Sasl-enc: NKddS5up9L+fgDEzQa2HtONh+L8vjyzDxToHhYSSquIV 1338030290
Received: from [10.137.2.24] (unknown [178.182.153.36])
	by mail.messagingengine.com (Postfix) with ESMTPA id A35BC8E01FE;
	Sat, 26 May 2012 07:04:49 -0400 (EDT)
Message-ID: <4FC0B8C8.7040800@invisiblethingslab.com>
Date: Sat, 26 May 2012 13:04:40 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FB39B13.70707@invisiblethingslab.com>
	<20120522195331.GA6129@phenom.dumpdata.com>
In-Reply-To: <20120522195331.GA6129@phenom.dumpdata.com>
X-Enigmail-Version: 1.4
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [Xen-devel] The strange case of xen_netback not returning ARP
 replies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6772474093990851844=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============6772474093990851844==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enig2F5768AA48D9A7EF8D738EC0"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2F5768AA48D9A7EF8D738EC0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 05/22/12 21:53, Konrad Rzeszutek Wilk wrote:
> On Wed, May 16, 2012 at 02:18:27PM +0200, Joanna Rutkowska wrote:
>> Hello,
>>
>> I'm facing a rather strange problem with the netback interface. My set=
up
>> involves a netvm, which has some physical network interfaces assigned,=

>> and a client VM where a net front is running (exposed as eth0) and whi=
ch
>> is connected to that netvm (via vif42.0 interface, as seen in the netv=
m
>> on the dumps below).
>>
>> Now, the netvm has two physical network interfaces assigned:
>> 1) A standard Intel AGN (iwlwifi module, interface wlan0) -- this is
>> just a PCI devices assigned
>>
>> 2) A USB 3G modem (cdc_ncm module, usb0 interface) -- this has been ma=
de
>> available to the netvm by assigning a whole USB controller, where the =
3G
>> modem is connected to. This works fine.
>=20
> There are some patches posted about netback and SKB slots that might
> apply to the problem you guys are seeing.
>=20
Yes, indeed the SKB patch solved this problem, thanks!

joanna.


--------------enig2F5768AA48D9A7EF8D738EC0
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPwLjJAAoJEDaIqHeRBUM0nVcH/3fEEX3v3ygYKaeGs3Ym+aBE
BD6Tog77vzjqZtMApRi97yKgqMwcKb9YXG3zyTTwTIyQUYUTfftc1jTi9B/mmD5X
pAI9bCYYRDzRKFcxtCpsyjMf1yeVjqJ8l2/7dNr7gAFshtFpTpGJqBRd8ZI05Xxx
MkDIFGvhBZeyQUKoFE2EyUDXUDRfHyqiReZBLlPdR4Ui3twx27SsLTQh5UOtU8BQ
WBX2dUBhR1mEd/azjeEY7z15NNIKIy4ARRa3KCMRXJLRlUMzM5O6Wx+fTKgQ8pm/
gTaDaOb7JnwzJgPyx664o7+h1lH8RHLKhP/OgaYSJmiWDxswIs8gOJdc6tR0sD0=
=1oSK
-----END PGP SIGNATURE-----

--------------enig2F5768AA48D9A7EF8D738EC0--


--===============6772474093990851844==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6772474093990851844==--


From xen-devel-bounces@lists.xen.org Sat May 26 15:32:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 15:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYIxa-0004iB-Js; Sat, 26 May 2012 15:31:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben@decadent.org.uk>) id 1SYIxY-0004i6-8o
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 15:31:16 +0000
Received: from [85.158.143.35:61126] by server-2.bemta-4.messagelabs.com id
	E8/F3-12211-347F0CF4; Sat, 26 May 2012 15:31:15 +0000
X-Env-Sender: ben@decadent.org.uk
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338046274!14215260!1
X-Originating-IP: [88.96.1.126]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25339 invoked from network); 26 May 2012 15:31:14 -0000
Received: from shadbolt.e.decadent.org.uk (HELO shadbolt.e.decadent.org.uk)
	(88.96.1.126)
	by server-8.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	26 May 2012 15:31:14 -0000
Received: from deadeye.wl.decadent.org.uk ([192.168.4.185] helo=deadeye)
	by shadbolt.decadent.org.uk with esmtp (Exim 4.72)
	(envelope-from <ben@decadent.org.uk>)
	id 1SYIxN-0006vc-Va; Sat, 26 May 2012 16:31:05 +0100
Received: from ben by deadeye with local (Exim 4.77)
	(envelope-from <ben@decadent.org.uk>)
	id 1SYIxN-0005na-Gj; Sat, 26 May 2012 16:31:05 +0100
Message-ID: <1338046259.20487.13.camel@deadeye>
From: Ben Hutchings <ben@decadent.org.uk>
To: William Dauchy <wdauchy@gmail.com>
Date: Sat, 26 May 2012 16:30:59 +0100
In-Reply-To: <CAJ75kXYhPNShZaPduMK2ympVFsu+kTxJfYB5RyGA6cnwfhXwMA@mail.gmail.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
	<20120524185039.GA14713@kroah.com>
	<CAJ75kXYhPNShZaPduMK2ympVFsu+kTxJfYB5RyGA6cnwfhXwMA@mail.gmail.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 192.168.4.185
X-SA-Exim-Mail-From: ben@decadent.org.uk
X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk);
	SAEximRunCond expanded to false
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6453032522309266162=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6453032522309266162==
Content-Type: multipart/signed; micalg="pgp-sha512";
	protocol="application/pgp-signature"; boundary="=-B237QvUgrnkWjTM9YtGG"


--=-B237QvUgrnkWjTM9YtGG
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-25 at 23:19 +0200, William Dauchy wrote:
> On Thu, May 24, 2012 at 8:50 PM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > Now applied to the 3.3.x tree, thanks.
>=20
> Thanks.
>=20
> Ben, do you plan to apply it on top of the 3.2.x tree?

Just added it to the queue, thanks.

Ben.

--=20
Ben Hutchings
You can't have everything.  Where would you put it?

--=-B237QvUgrnkWjTM9YtGG
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIVAwUAT8D3M+e/yOyVhhEJAQqtpw/+LjWJ2icNBBcXBiC/KRG6Dqr8ocXIFVwV
oUjehd7B8LEhtUw50OKZhGQGIJm+7ODgprqM7nKVps2ytnQzZcBhoWU0xxZLirMx
XoZ0hFdKH3q9DYXXMkgdIvE8t5JMZ4K5Bjx8kg//rbATSrhmu8GnkZ2Cxg4pV+Tr
P8Yu2uOd60lMlWr4+IMa83B30BtT8+J9h6kdR7XyWb4yWGzGuGYTRYOZce96Oh6m
JyKICSR7RkP/F3Q34qnNvvThshMpb2qnYgqKRCY5dEDmzYabIz8iffsRFKK2Euro
sjGrrrYGedLe94G+2yQlnMZcnnYMlAF3MlcHUUkxNRtwWxnY7O/3FgrLLNBZjZ8d
GLGioyuLCY+RSui4XbupS/5MCiSENYx3dEPqi4BPRqefAWP6j3YTocq1i2yghrNx
3PlMCChuP6TPwfwpUW6CnDie0FxN4DzuiOGsH/zETYirzuouSXk/77Qbvkg7pwzp
ymKbErOZmlOswJ4/7B1D8NmFV9dzJGxAJsgjdb+sSWVFJdEQOhiN8LRHhOtslpFp
40WjNsRvDp8WjJpiB8zoh9JwPuDk8XRqR2pa7908CPGBzTCL+oGlteGHFJSITNDI
rrMvqdEy8B3zKlf1kDDyxqXMpt8KyBtXVkW7A/pJn8MJHouchtl6ie0JKpNlRKe1
aFAUgBtLGac=
=lv9o
-----END PGP SIGNATURE-----

--=-B237QvUgrnkWjTM9YtGG--


--===============6453032522309266162==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6453032522309266162==--


From xen-devel-bounces@lists.xen.org Sat May 26 15:32:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 26 May 2012 15:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYIxa-0004iB-Js; Sat, 26 May 2012 15:31:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben@decadent.org.uk>) id 1SYIxY-0004i6-8o
	for xen-devel@lists.xensource.com; Sat, 26 May 2012 15:31:16 +0000
Received: from [85.158.143.35:61126] by server-2.bemta-4.messagelabs.com id
	E8/F3-12211-347F0CF4; Sat, 26 May 2012 15:31:15 +0000
X-Env-Sender: ben@decadent.org.uk
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338046274!14215260!1
X-Originating-IP: [88.96.1.126]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25339 invoked from network); 26 May 2012 15:31:14 -0000
Received: from shadbolt.e.decadent.org.uk (HELO shadbolt.e.decadent.org.uk)
	(88.96.1.126)
	by server-8.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	26 May 2012 15:31:14 -0000
Received: from deadeye.wl.decadent.org.uk ([192.168.4.185] helo=deadeye)
	by shadbolt.decadent.org.uk with esmtp (Exim 4.72)
	(envelope-from <ben@decadent.org.uk>)
	id 1SYIxN-0006vc-Va; Sat, 26 May 2012 16:31:05 +0100
Received: from ben by deadeye with local (Exim 4.77)
	(envelope-from <ben@decadent.org.uk>)
	id 1SYIxN-0005na-Gj; Sat, 26 May 2012 16:31:05 +0100
Message-ID: <1338046259.20487.13.camel@deadeye>
From: Ben Hutchings <ben@decadent.org.uk>
To: William Dauchy <wdauchy@gmail.com>
Date: Sat, 26 May 2012 16:30:59 +0100
In-Reply-To: <CAJ75kXYhPNShZaPduMK2ympVFsu+kTxJfYB5RyGA6cnwfhXwMA@mail.gmail.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<CAJ75kXbJXVW6dJDzG7zDuiu=6NnTybM3m97gW507-yzzsa7yoQ@mail.gmail.com>
	<20120524185039.GA14713@kroah.com>
	<CAJ75kXYhPNShZaPduMK2ympVFsu+kTxJfYB5RyGA6cnwfhXwMA@mail.gmail.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
X-SA-Exim-Connect-IP: 192.168.4.185
X-SA-Exim-Mail-From: ben@decadent.org.uk
X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk);
	SAEximRunCond expanded to false
Cc: xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6453032522309266162=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6453032522309266162==
Content-Type: multipart/signed; micalg="pgp-sha512";
	protocol="application/pgp-signature"; boundary="=-B237QvUgrnkWjTM9YtGG"


--=-B237QvUgrnkWjTM9YtGG
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2012-05-25 at 23:19 +0200, William Dauchy wrote:
> On Thu, May 24, 2012 at 8:50 PM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > Now applied to the 3.3.x tree, thanks.
>=20
> Thanks.
>=20
> Ben, do you plan to apply it on top of the 3.2.x tree?

Just added it to the queue, thanks.

Ben.

--=20
Ben Hutchings
You can't have everything.  Where would you put it?

--=-B237QvUgrnkWjTM9YtGG
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIVAwUAT8D3M+e/yOyVhhEJAQqtpw/+LjWJ2icNBBcXBiC/KRG6Dqr8ocXIFVwV
oUjehd7B8LEhtUw50OKZhGQGIJm+7ODgprqM7nKVps2ytnQzZcBhoWU0xxZLirMx
XoZ0hFdKH3q9DYXXMkgdIvE8t5JMZ4K5Bjx8kg//rbATSrhmu8GnkZ2Cxg4pV+Tr
P8Yu2uOd60lMlWr4+IMa83B30BtT8+J9h6kdR7XyWb4yWGzGuGYTRYOZce96Oh6m
JyKICSR7RkP/F3Q34qnNvvThshMpb2qnYgqKRCY5dEDmzYabIz8iffsRFKK2Euro
sjGrrrYGedLe94G+2yQlnMZcnnYMlAF3MlcHUUkxNRtwWxnY7O/3FgrLLNBZjZ8d
GLGioyuLCY+RSui4XbupS/5MCiSENYx3dEPqi4BPRqefAWP6j3YTocq1i2yghrNx
3PlMCChuP6TPwfwpUW6CnDie0FxN4DzuiOGsH/zETYirzuouSXk/77Qbvkg7pwzp
ymKbErOZmlOswJ4/7B1D8NmFV9dzJGxAJsgjdb+sSWVFJdEQOhiN8LRHhOtslpFp
40WjNsRvDp8WjJpiB8zoh9JwPuDk8XRqR2pa7908CPGBzTCL+oGlteGHFJSITNDI
rrMvqdEy8B3zKlf1kDDyxqXMpt8KyBtXVkW7A/pJn8MJHouchtl6ie0JKpNlRKe1
aFAUgBtLGac=
=lv9o
-----END PGP SIGNATURE-----

--=-B237QvUgrnkWjTM9YtGG--


--===============6453032522309266162==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6453032522309266162==--


From xen-devel-bounces@lists.xen.org Sun May 27 05:53:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 27 May 2012 05:53:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYWPZ-0003in-Vn; Sun, 27 May 2012 05:53:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SYWPY-0003ii-Ce
	for xen-devel@lists.xensource.com; Sun, 27 May 2012 05:53:04 +0000
Received: from [85.158.143.35:23341] by server-3.bemta-4.messagelabs.com id
	29/F7-05853-F31C1CF4; Sun, 27 May 2012 05:53:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1338097982!15155999!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20013 invoked from network); 27 May 2012 05:53:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	27 May 2012 05:53:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,665,1330905600"; d="scan'208";a="12683636"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	27 May 2012 05:52:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 27 May 2012 06:52:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SYWPO-0002YL-4n;
	Sun, 27 May 2012 05:52:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SYWPN-0002Ws-LS;
	Sun, 27 May 2012 06:52:53 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12976-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 27 May 2012 06:52:53 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12976: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12976 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12976/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Sun May 27 05:53:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 27 May 2012 05:53:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYWPZ-0003in-Vn; Sun, 27 May 2012 05:53:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SYWPY-0003ii-Ce
	for xen-devel@lists.xensource.com; Sun, 27 May 2012 05:53:04 +0000
Received: from [85.158.143.35:23341] by server-3.bemta-4.messagelabs.com id
	29/F7-05853-F31C1CF4; Sun, 27 May 2012 05:53:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1338097982!15155999!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1NA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20013 invoked from network); 27 May 2012 05:53:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	27 May 2012 05:53:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,665,1330905600"; d="scan'208";a="12683636"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	27 May 2012 05:52:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Sun, 27 May 2012 06:52:54 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SYWPO-0002YL-4n;
	Sun, 27 May 2012 05:52:54 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SYWPN-0002Ws-LS;
	Sun, 27 May 2012 06:52:53 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12976-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Sun, 27 May 2012 06:52:53 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12976: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12976 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12976/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 00:41:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 00:41:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYo0X-0000eq-C1; Mon, 28 May 2012 00:40:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SYo0W-0000el-2i
	for xen-devel@lists.xen.org; Mon, 28 May 2012 00:40:24 +0000
Received: from [193.109.254.147:48902] by server-1.bemta-14.messagelabs.com id
	B1/F5-29372-779C2CF4; Mon, 28 May 2012 00:40:23 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-8.tower-27.messagelabs.com!1338165620!10812972!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12921 invoked from network); 28 May 2012 00:40:22 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 28 May 2012 00:40:22 -0000
Received: from mail-bk0-f45.google.com (mail-bk0-f45.google.com
	[209.85.214.45]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q4S0eH4w013807
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 17:40:18 -0700
Received: by bkwj10 with SMTP id j10so2232908bkw.32
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 17:40:15 -0700 (PDT)
Received: by 10.204.149.216 with SMTP id u24mr2583302bkv.36.1338165615726;
	Sun, 27 May 2012 17:40:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.152.215 with HTTP; Sun, 27 May 2012 17:39:35 -0700 (PDT)
In-Reply-To: <1337965181.3819.10.camel@dagon.hellion.org.uk>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
	<92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
	<1337965181.3819.10.camel@dagon.hellion.org.uk>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Sun, 27 May 2012 20:39:35 -0400
Message-ID: <CAP8mzPOMgb4kizVbmjCB0M0bJtW=BcRA4NKHuhYZOqfRAAvw0g@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7474747701572773465=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7474747701572773465==
Content-Type: multipart/alternative; boundary=0015175dd9d22d108104c10df61e

--0015175dd9d22d108104c10df61e
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 25, 2012 at 12:59 PM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:
> > diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
> > --- a/docs/man/xl.pod.1       Thu May 17 12:37:07 2012 -0700
> > +++ b/docs/man/xl.pod.1       Thu May 17 12:37:10 2012 -0700
> > @@ -381,6 +381,41 @@
> >
> >  =back
> >
> > +=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
> > +
> > +Enable Remus HA for domain. By default B<xl> relies on ssh as a
> transport
> > +mechanism between the two hosts.
> > +
> > [...]
>
> > +
> > +=item B<-b>
> > +
> > +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
> > +(blackhole).  Network output buffering remains enabled (unless --no-net
> is
> > +supplied).  Generally useful for debugging.
>
> Unless I'm mistaken the current remus support in (lib)xl doesn't
> implement either disk or networking replication (and --no-net doesn't
> seem to exist), at least there as several TODOs to that effect in the
> code.
>
> Please can you send an incremental patch which corrects this.
>
> I also think it would be worth mentioning in the intro that "xl remus"
> as it stands is "proof-of-concept" or "early preview", "experimental" or
> something along these lines, otherwise people will expect it to be a
> complete solution, which it isn't.
>
>
Sorry about that. I ll send out a patch. I had actually planned on some
network buffering support but didnt expect the initial framework patches
to get held up for so long. :(. In fact, even the network buffering module
is
has been available in mainline kernel (with libnl library support), for the
past 3 months.
But I guess its too late now.



> More importantly I think the lack of STONITH functionality should be
> highlighted, since it would be rather dangerous to deploy remus without
> it.
> heart
>


I think this applies to both xend/xl. Remus traditionally has not had any
stonith functionality. And if you think about it, separating Remus from the
Failover Arbitration (STONITH) gives more flexibility
(e.g., kill Backup, in case replication was interrupted by some spurious
timeout,
use custom or off-the-shelf stonith solutions, etc).

The only thing that was lacking is some sort of notification to an external
handler.
For e.g., on suspected failure, both nodes could invoke some FooBar.sh
script which
would return 0/1 (die/live) and act accordingly.  The onus is on the user
who implements
the FooBar.sh script, to ensure that it doesnt return 1 on both sides. :).

In fact, I think I have a patch lying around somewhere, that invokes an
arbitration
script, which in turn talks to a Google App engine instance. This was done
for
wide-area Remus paper.

Let me post that too.

thanks
shriram


Ian.
>
>
>

--0015175dd9d22d108104c10df61e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Fri, May 25, 2012 at 12:59 PM, Ian Campbell <=
span dir=3D"ltr">&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_=
blank">Ian.Campbell@citrix.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">


<div>On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:<br>
&gt; diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1<br>
&gt; --- a/docs/man/xl.pod.1 =A0 =A0 =A0 Thu May 17 12:37:07 2012 -0700<br>
&gt; +++ b/docs/man/xl.pod.1 =A0 =A0 =A0 Thu May 17 12:37:10 2012 -0700<br>
&gt; @@ -381,6 +381,41 @@<br>
&gt;<br>
&gt; =A0=3Dback<br>
&gt;<br>
&gt; +=3Ditem B&lt;remus&gt; [I&lt;OPTIONS&gt;] I&lt;domain-id&gt; I&lt;hos=
t&gt;<br>
&gt; +<br>
&gt; +Enable Remus HA for domain. By default B&lt;xl&gt; relies on ssh as a=
 transport<br>
&gt; +mechanism between the two hosts.<br>
&gt; +<br>
</div>&gt; [...]<br>
<div><br>
&gt; +<br>
&gt; +=3Ditem B&lt;-b&gt;<br>
&gt; +<br>
&gt; +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null=
<br>
&gt; +(blackhole). =A0Network output buffering remains enabled (unless --no=
-net is<br>
&gt; +supplied). =A0Generally useful for debugging.<br>
<br>
</div>Unless I&#39;m mistaken the current remus support in (lib)xl doesn&#3=
9;t<br>
implement either disk or networking replication (and --no-net doesn&#39;t<b=
r>
seem to exist), at least there as several TODOs to that effect in the<br>
code.<br>
<br>
Please can you send an incremental patch which corrects this.<br>
<br>
I also think it would be worth mentioning in the intro that &quot;xl remus&=
quot;<br>
as it stands is &quot;proof-of-concept&quot; or &quot;early preview&quot;, =
&quot;experimental&quot; or<br>
something along these lines, otherwise people will expect it to be a<br>
complete solution, which it isn&#39;t.<br>
<br></blockquote><div><br>Sorry about that. I ll send out a patch. I had ac=
tually planned on some<br>network buffering support but didnt expect the in=
itial framework patches<br>to get held up for so long. :(. In fact, even th=
e network buffering module is<br>

has been available in mainline kernel (with libnl library support), for the=
 past 3 months.<br>But I guess its too late now.<br><br>=A0</div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px s=
olid rgb(204,204,204);padding-left:1ex">



More importantly I think the lack of STONITH functionality should be<br>
highlighted, since it would be rather dangerous to deploy remus without<br>
it.<br>
<span><font color=3D"#888888">heart<br></font></span></blockquote><div><br>=
<br>I think this applies to both xend/xl. Remus traditionally has not had a=
ny<br>stonith functionality. And if you think about it, separating Remus fr=
om the <br>


Failover Arbitration (STONITH) gives more flexibility <br>(e.g., kill Backu=
p, in case replication was interrupted by some spurious timeout,<br>use cus=
tom or off-the-shelf stonith solutions, etc).<br><br>The only thing that wa=
s lacking is some sort of notification to an external handler.<br>

For e.g., on suspected failure, both nodes could invoke some FooBar.sh scri=
pt which<br>
would return 0/1 (die/live) and act accordingly.=A0 The onus is on the user=
 who implements<br>the FooBar.sh script, to ensure that it doesnt return 1 =
on both sides. :).<br><br>In fact, I think I have a patch lying around some=
where, that invokes an arbitration<br>


script, which in turn talks to a Google App engine instance. This was done =
for <br>wide-area Remus paper.<br>
<br>Let me post that too.<br><br>thanks<br>shriram<br><br><br></div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex"><span><font color=3D"#888888">
Ian.<br>
<br>
<br>
</font></span></blockquote></div><br>

--0015175dd9d22d108104c10df61e--


--===============7474747701572773465==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7474747701572773465==--


From xen-devel-bounces@lists.xen.org Mon May 28 00:41:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 00:41:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYo0X-0000eq-C1; Mon, 28 May 2012 00:40:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SYo0W-0000el-2i
	for xen-devel@lists.xen.org; Mon, 28 May 2012 00:40:24 +0000
Received: from [193.109.254.147:48902] by server-1.bemta-14.messagelabs.com id
	B1/F5-29372-779C2CF4; Mon, 28 May 2012 00:40:23 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-8.tower-27.messagelabs.com!1338165620!10812972!1
X-Originating-IP: [142.103.6.52]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12921 invoked from network); 28 May 2012 00:40:22 -0000
Received: from smtp.cs.ubc.ca (HELO smtp.cs.ubc.ca) (142.103.6.52)
	by server-8.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 28 May 2012 00:40:22 -0000
Received: from mail-bk0-f45.google.com (mail-bk0-f45.google.com
	[209.85.214.45]) (authenticated bits=0)
	by smtp.cs.ubc.ca (8.14.3/8.13.6) with ESMTP id q4S0eH4w013807
	(version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL)
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 17:40:18 -0700
Received: by bkwj10 with SMTP id j10so2232908bkw.32
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 17:40:15 -0700 (PDT)
Received: by 10.204.149.216 with SMTP id u24mr2583302bkv.36.1338165615726;
	Sun, 27 May 2012 17:40:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.204.152.215 with HTTP; Sun, 27 May 2012 17:39:35 -0700 (PDT)
In-Reply-To: <1337965181.3819.10.camel@dagon.hellion.org.uk>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
	<92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
	<1337965181.3819.10.camel@dagon.hellion.org.uk>
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Sun, 27 May 2012 20:39:35 -0400
Message-ID: <CAP8mzPOMgb4kizVbmjCB0M0bJtW=BcRA4NKHuhYZOqfRAAvw0g@mail.gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: rshriram@cs.ubc.ca
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7474747701572773465=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7474747701572773465==
Content-Type: multipart/alternative; boundary=0015175dd9d22d108104c10df61e

--0015175dd9d22d108104c10df61e
Content-Type: text/plain; charset=ISO-8859-1

On Fri, May 25, 2012 at 12:59 PM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:
> > diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
> > --- a/docs/man/xl.pod.1       Thu May 17 12:37:07 2012 -0700
> > +++ b/docs/man/xl.pod.1       Thu May 17 12:37:10 2012 -0700
> > @@ -381,6 +381,41 @@
> >
> >  =back
> >
> > +=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
> > +
> > +Enable Remus HA for domain. By default B<xl> relies on ssh as a
> transport
> > +mechanism between the two hosts.
> > +
> > [...]
>
> > +
> > +=item B<-b>
> > +
> > +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
> > +(blackhole).  Network output buffering remains enabled (unless --no-net
> is
> > +supplied).  Generally useful for debugging.
>
> Unless I'm mistaken the current remus support in (lib)xl doesn't
> implement either disk or networking replication (and --no-net doesn't
> seem to exist), at least there as several TODOs to that effect in the
> code.
>
> Please can you send an incremental patch which corrects this.
>
> I also think it would be worth mentioning in the intro that "xl remus"
> as it stands is "proof-of-concept" or "early preview", "experimental" or
> something along these lines, otherwise people will expect it to be a
> complete solution, which it isn't.
>
>
Sorry about that. I ll send out a patch. I had actually planned on some
network buffering support but didnt expect the initial framework patches
to get held up for so long. :(. In fact, even the network buffering module
is
has been available in mainline kernel (with libnl library support), for the
past 3 months.
But I guess its too late now.



> More importantly I think the lack of STONITH functionality should be
> highlighted, since it would be rather dangerous to deploy remus without
> it.
> heart
>


I think this applies to both xend/xl. Remus traditionally has not had any
stonith functionality. And if you think about it, separating Remus from the
Failover Arbitration (STONITH) gives more flexibility
(e.g., kill Backup, in case replication was interrupted by some spurious
timeout,
use custom or off-the-shelf stonith solutions, etc).

The only thing that was lacking is some sort of notification to an external
handler.
For e.g., on suspected failure, both nodes could invoke some FooBar.sh
script which
would return 0/1 (die/live) and act accordingly.  The onus is on the user
who implements
the FooBar.sh script, to ensure that it doesnt return 1 on both sides. :).

In fact, I think I have a patch lying around somewhere, that invokes an
arbitration
script, which in turn talks to a Google App engine instance. This was done
for
wide-area Remus paper.

Let me post that too.

thanks
shriram


Ian.
>
>
>

--0015175dd9d22d108104c10df61e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Fri, May 25, 2012 at 12:59 PM, Ian Campbell <=
span dir=3D"ltr">&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_=
blank">Ian.Campbell@citrix.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">


<div>On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:<br>
&gt; diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1<br>
&gt; --- a/docs/man/xl.pod.1 =A0 =A0 =A0 Thu May 17 12:37:07 2012 -0700<br>
&gt; +++ b/docs/man/xl.pod.1 =A0 =A0 =A0 Thu May 17 12:37:10 2012 -0700<br>
&gt; @@ -381,6 +381,41 @@<br>
&gt;<br>
&gt; =A0=3Dback<br>
&gt;<br>
&gt; +=3Ditem B&lt;remus&gt; [I&lt;OPTIONS&gt;] I&lt;domain-id&gt; I&lt;hos=
t&gt;<br>
&gt; +<br>
&gt; +Enable Remus HA for domain. By default B&lt;xl&gt; relies on ssh as a=
 transport<br>
&gt; +mechanism between the two hosts.<br>
&gt; +<br>
</div>&gt; [...]<br>
<div><br>
&gt; +<br>
&gt; +=3Ditem B&lt;-b&gt;<br>
&gt; +<br>
&gt; +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null=
<br>
&gt; +(blackhole). =A0Network output buffering remains enabled (unless --no=
-net is<br>
&gt; +supplied). =A0Generally useful for debugging.<br>
<br>
</div>Unless I&#39;m mistaken the current remus support in (lib)xl doesn&#3=
9;t<br>
implement either disk or networking replication (and --no-net doesn&#39;t<b=
r>
seem to exist), at least there as several TODOs to that effect in the<br>
code.<br>
<br>
Please can you send an incremental patch which corrects this.<br>
<br>
I also think it would be worth mentioning in the intro that &quot;xl remus&=
quot;<br>
as it stands is &quot;proof-of-concept&quot; or &quot;early preview&quot;, =
&quot;experimental&quot; or<br>
something along these lines, otherwise people will expect it to be a<br>
complete solution, which it isn&#39;t.<br>
<br></blockquote><div><br>Sorry about that. I ll send out a patch. I had ac=
tually planned on some<br>network buffering support but didnt expect the in=
itial framework patches<br>to get held up for so long. :(. In fact, even th=
e network buffering module is<br>

has been available in mainline kernel (with libnl library support), for the=
 past 3 months.<br>But I guess its too late now.<br><br>=A0</div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1px s=
olid rgb(204,204,204);padding-left:1ex">



More importantly I think the lack of STONITH functionality should be<br>
highlighted, since it would be rather dangerous to deploy remus without<br>
it.<br>
<span><font color=3D"#888888">heart<br></font></span></blockquote><div><br>=
<br>I think this applies to both xend/xl. Remus traditionally has not had a=
ny<br>stonith functionality. And if you think about it, separating Remus fr=
om the <br>


Failover Arbitration (STONITH) gives more flexibility <br>(e.g., kill Backu=
p, in case replication was interrupted by some spurious timeout,<br>use cus=
tom or off-the-shelf stonith solutions, etc).<br><br>The only thing that wa=
s lacking is some sort of notification to an external handler.<br>

For e.g., on suspected failure, both nodes could invoke some FooBar.sh scri=
pt which<br>
would return 0/1 (die/live) and act accordingly.=A0 The onus is on the user=
 who implements<br>the FooBar.sh script, to ensure that it doesnt return 1 =
on both sides. :).<br><br>In fact, I think I have a patch lying around some=
where, that invokes an arbitration<br>


script, which in turn talks to a Google App engine instance. This was done =
for <br>wide-area Remus paper.<br>
<br>Let me post that too.<br><br>thanks<br>shriram<br><br><br></div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex"><span><font color=3D"#888888">
Ian.<br>
<br>
<br>
</font></span></blockquote></div><br>

--0015175dd9d22d108104c10df61e--


--===============7474747701572773465==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7474747701572773465==--


From xen-devel-bounces@lists.xen.org Mon May 28 00:44:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 00:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYo3W-0000jq-Vn; Mon, 28 May 2012 00:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SYo3W-0000jj-1Q
	for xen-devel@lists.xen.org; Mon, 28 May 2012 00:43:30 +0000
Received: from [85.158.143.35:57313] by server-1.bemta-4.messagelabs.com id
	E3/96-00342-13AC2CF4; Mon, 28 May 2012 00:43:29 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338165806!13521013!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 849 invoked from network); 28 May 2012 00:43:28 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 28 May 2012 00:43:28 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4S0hLcI030934; Sun, 27 May 2012 17:43:21 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4S0hLjc030931;
	Sun, 27 May 2012 17:43:21 -0700
MIME-Version: 1.0
X-Mercurial-Node: 9ce7af13c2eae2e774ad52234ff9fbb4773caee2
Message-Id: <9ce7af13c2eae2e774ad.1338165801@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Sun, 27 May 2012 17:43:21 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH] libxl: Remus - fix docs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1338163739 25200
# Node ID 9ce7af13c2eae2e774ad52234ff9fbb4773caee2
# Parent  53e0571f94e4bcc45270dcbd444c7c91166cef6d
libxl: Remus - fix docs

Explicitly mention that the current state of Remus support in xl
is experimental, with no disk/network buffering support.

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>

diff -r 53e0571f94e4 -r 9ce7af13c2ea docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 25 08:21:25 2012 +0100
+++ b/docs/man/xl.pod.1	Sun May 27 17:08:59 2012 -0700
@@ -394,6 +394,9 @@
 Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
 mechanism between the two hosts.
 
+N.B: Remus support in xl is still in experimental (proof-of-concept) phase.
+     There is no support for network or disk buffering at the moment.
+
 B<OPTIONS>
 
 =over 4
@@ -404,9 +407,8 @@
 
 =item B<-b>
 
-Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
-(blackhole).  Network output buffering remains enabled (unless --no-net is
-supplied).  Generally useful for debugging.
+Replicate memory checkpoints to /dev/null (blackhole). 
+Generally useful for debugging.
 
 =item B<-u>
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 00:44:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 00:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYo3W-0000jq-Vn; Mon, 28 May 2012 00:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rshriram@cs.ubc.ca>) id 1SYo3W-0000jj-1Q
	for xen-devel@lists.xen.org; Mon, 28 May 2012 00:43:30 +0000
Received: from [85.158.143.35:57313] by server-1.bemta-4.messagelabs.com id
	E3/96-00342-13AC2CF4; Mon, 28 May 2012 00:43:29 +0000
X-Env-Sender: rshriram@cs.ubc.ca
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338165806!13521013!1
X-Originating-IP: [198.162.52.240]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 849 invoked from network); 28 May 2012 00:43:28 -0000
Received: from unknown (HELO athos.nss.cs.ubc.ca) (198.162.52.240)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 28 May 2012 00:43:28 -0000
Received: from athos.nss.cs.ubc.ca (localhost [127.0.0.1])
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id
	q4S0hLcI030934; Sun, 27 May 2012 17:43:21 -0700
Received: (from root@localhost)
	by athos.nss.cs.ubc.ca (8.14.3/8.14.3/Submit) id q4S0hLjc030931;
	Sun, 27 May 2012 17:43:21 -0700
MIME-Version: 1.0
X-Mercurial-Node: 9ce7af13c2eae2e774ad52234ff9fbb4773caee2
Message-Id: <9ce7af13c2eae2e774ad.1338165801@athos.nss.cs.ubc.ca>
User-Agent: Mercurial-patchbomb/1.4.3
Date: Sun, 27 May 2012 17:43:21 -0700
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: ian.jackson@eu.citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH] libxl: Remus - fix docs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Shriram Rajagopalan <rshriram@cs.ubc.ca>
# Date 1338163739 25200
# Node ID 9ce7af13c2eae2e774ad52234ff9fbb4773caee2
# Parent  53e0571f94e4bcc45270dcbd444c7c91166cef6d
libxl: Remus - fix docs

Explicitly mention that the current state of Remus support in xl
is experimental, with no disk/network buffering support.

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>

diff -r 53e0571f94e4 -r 9ce7af13c2ea docs/man/xl.pod.1
--- a/docs/man/xl.pod.1	Fri May 25 08:21:25 2012 +0100
+++ b/docs/man/xl.pod.1	Sun May 27 17:08:59 2012 -0700
@@ -394,6 +394,9 @@
 Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
 mechanism between the two hosts.
 
+N.B: Remus support in xl is still in experimental (proof-of-concept) phase.
+     There is no support for network or disk buffering at the moment.
+
 B<OPTIONS>
 
 =over 4
@@ -404,9 +407,8 @@
 
 =item B<-b>
 
-Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
-(blackhole).  Network output buffering remains enabled (unless --no-net is
-supplied).  Generally useful for debugging.
+Replicate memory checkpoints to /dev/null (blackhole). 
+Generally useful for debugging.
 
 =item B<-u>
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 01:25:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 01:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYohW-0004oT-Cc; Mon, 28 May 2012 01:24:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jackyfriendly@gmail.com>) id 1SYohV-0004oO-Sa
	for xen-devel@lists.xen.org; Mon, 28 May 2012 01:24:50 +0000
Received: from [85.158.139.83:57296] by server-8.bemta-5.messagelabs.com id
	CA/8A-25689-1E3D2CF4; Mon, 28 May 2012 01:24:49 +0000
X-Env-Sender: jackyfriendly@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338168286!30632294!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1886 invoked from network); 28 May 2012 01:24:48 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 01:24:48 -0000
Received: by obbwd20 with SMTP id wd20so6445675obb.32
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 18:24:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=Q35GCdvgMPq98SfQYhphpRsco0Omuf09nwHsaEe/O24=;
	b=nOS6bBRO+fCBQQnQFzL6HiapyQLDpW9OXWnx+PJ+TkWPeRUByUxA/BDiQLpvz5+qeT
	FQcrjhbhwnjQ/c3vw58GxDd3K0q83r2m3E+tpOqUxQI0zqS2YIPk96gCLEntxUPjhqJ0
	fO01mIv/h0zfvGzdYtLVriZ8tm5IUJOsqmpipt+rjVaU6DAcCBEp0n5H++sGi/s34rrA
	Ix5HxQ6LsRNr5VDwuYnPua6syoqNGGjC2ScQ/f+gpluggmSZtxarFjrw8TzYuaWZSB71
	y4oT/sbCqKDRzwxkO7KTMd/cvQFalziFZskQjwsglLANYWePo9cfaPdLkR+HhUO218TX
	9LBQ==
MIME-Version: 1.0
Received: by 10.60.14.9 with SMTP id l9mr6438907oec.17.1338168285502; Sun, 27
	May 2012 18:24:45 -0700 (PDT)
Received: by 10.182.160.40 with HTTP; Sun, 27 May 2012 18:24:45 -0700 (PDT)
Date: Mon, 28 May 2012 09:24:45 +0800
Message-ID: <CAFdMv4Hw8eVhn5Nkkx0LHeDwkw5h+O3Cc2RMvpRW_04jiZmsCw@mail.gmail.com>
From: =?GB2312?B?wc6z0Na+?= <jackyfriendly@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] windows pv driver performance issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8637367518070351270=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8637367518070351270==
Content-Type: multipart/alternative; boundary=e89a8fb1eef84e9ccd04c10e95aa

--e89a8fb1eef84e9ccd04c10e95aa
Content-Type: text/plain; charset=ISO-8859-1

all:
    How about pv driver performance when no cache of backend device,while
it is 5MB/s i tested,i use pv driver version(0.11),
Who can help me?
thank you
best regards

--e89a8fb1eef84e9ccd04c10e95aa
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

all:<br>=A0=A0=A0 How about pv driver performance when no cache of backend =
device,while it is 5MB/s i tested,i use pv driver version(0.11),<br>Who can=
 help me?<br>thank you<br>best regards<br>

--e89a8fb1eef84e9ccd04c10e95aa--


--===============8637367518070351270==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8637367518070351270==--


From xen-devel-bounces@lists.xen.org Mon May 28 01:25:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 01:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYohW-0004oT-Cc; Mon, 28 May 2012 01:24:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jackyfriendly@gmail.com>) id 1SYohV-0004oO-Sa
	for xen-devel@lists.xen.org; Mon, 28 May 2012 01:24:50 +0000
Received: from [85.158.139.83:57296] by server-8.bemta-5.messagelabs.com id
	CA/8A-25689-1E3D2CF4; Mon, 28 May 2012 01:24:49 +0000
X-Env-Sender: jackyfriendly@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338168286!30632294!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1886 invoked from network); 28 May 2012 01:24:48 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 01:24:48 -0000
Received: by obbwd20 with SMTP id wd20so6445675obb.32
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 18:24:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=Q35GCdvgMPq98SfQYhphpRsco0Omuf09nwHsaEe/O24=;
	b=nOS6bBRO+fCBQQnQFzL6HiapyQLDpW9OXWnx+PJ+TkWPeRUByUxA/BDiQLpvz5+qeT
	FQcrjhbhwnjQ/c3vw58GxDd3K0q83r2m3E+tpOqUxQI0zqS2YIPk96gCLEntxUPjhqJ0
	fO01mIv/h0zfvGzdYtLVriZ8tm5IUJOsqmpipt+rjVaU6DAcCBEp0n5H++sGi/s34rrA
	Ix5HxQ6LsRNr5VDwuYnPua6syoqNGGjC2ScQ/f+gpluggmSZtxarFjrw8TzYuaWZSB71
	y4oT/sbCqKDRzwxkO7KTMd/cvQFalziFZskQjwsglLANYWePo9cfaPdLkR+HhUO218TX
	9LBQ==
MIME-Version: 1.0
Received: by 10.60.14.9 with SMTP id l9mr6438907oec.17.1338168285502; Sun, 27
	May 2012 18:24:45 -0700 (PDT)
Received: by 10.182.160.40 with HTTP; Sun, 27 May 2012 18:24:45 -0700 (PDT)
Date: Mon, 28 May 2012 09:24:45 +0800
Message-ID: <CAFdMv4Hw8eVhn5Nkkx0LHeDwkw5h+O3Cc2RMvpRW_04jiZmsCw@mail.gmail.com>
From: =?GB2312?B?wc6z0Na+?= <jackyfriendly@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] windows pv driver performance issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8637367518070351270=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8637367518070351270==
Content-Type: multipart/alternative; boundary=e89a8fb1eef84e9ccd04c10e95aa

--e89a8fb1eef84e9ccd04c10e95aa
Content-Type: text/plain; charset=ISO-8859-1

all:
    How about pv driver performance when no cache of backend device,while
it is 5MB/s i tested,i use pv driver version(0.11),
Who can help me?
thank you
best regards

--e89a8fb1eef84e9ccd04c10e95aa
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

all:<br>=A0=A0=A0 How about pv driver performance when no cache of backend =
device,while it is 5MB/s i tested,i use pv driver version(0.11),<br>Who can=
 help me?<br>thank you<br>best regards<br>

--e89a8fb1eef84e9ccd04c10e95aa--


--===============8637367518070351270==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8637367518070351270==--


From xen-devel-bounces@lists.xen.org Mon May 28 01:26:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 01:26:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYoiG-0004qJ-QL; Mon, 28 May 2012 01:25:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SYoiF-0004qB-MP
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 01:25:35 +0000
Received: from [85.158.143.35:46492] by server-3.bemta-4.messagelabs.com id
	1F/68-05853-E04D2CF4; Mon, 28 May 2012 01:25:34 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1338168333!11716083!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3MDk3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16634 invoked from network); 28 May 2012 01:25:34 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-10.tower-21.messagelabs.com with SMTP;
	28 May 2012 01:25:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 27 May 2012 18:25:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104873272"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 18:25:32 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 18:25:31 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 09:25:29 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [PATCH]libxl: rewrite libxl_cpumap_alloc()
Thread-Index: Ac00oW8ZLgLyAb5vQo+/ghpsq9CHxgD5QzYAAPp69GA=
Date: Mon, 28 May 2012 01:25:28 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E15A1B6@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
	<1337766652.30233.15.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337766652.30233.15.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl: rewrite libxl_cpumap_alloc()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Wednesday, May 23, 2012 5:51 PM
> On Fri, 2012-05-18 at 03:53 +0100, Zhang, Yang Z wrote:
> > Allow libxl_cpumap_alloc to allocate memory of specific size.
> > Max_cpus equals to zero means allocate the biggest possibly required map.
> 
> Can we get a comment to that effect in the header please.

Sure.

> > -    int max_cpus;
> >      int sz;
> >
> > -    max_cpus = libxl_get_max_cpus(ctx);
> > -    if (max_cpus == 0)
> > -        return ERROR_FAIL;
> > +    if (max_cpus < 0) {
> > +        return ERROR_INVAL;
> > +    } else if (max_cpus == 0) {
> > +        max_cpus = libxl_get_max_cpus(ctx);
> > +        if (max_cpus == 0)
> > +            return ERROR_FAIL;
> > +    }
> 
> I would have written this as
> 
> +    if (max_cpus < 0)
> +        return ERROR_INVAL;
> +    if (max_cpus == 0)
> +        max_cpus = libxl_get_max_cpus(ctx);
> +    if (max_cpus == 0)
> +        return ERROR_FAIL;
> 
> and avoided the nested if and ifelse logic.

Agree.
 
> >
> >      sz = (max_cpus + 7) / 8;
> > -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> > -    if (!cpumap->map)
> > -        return ERROR_NOMEM;
> > +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
> 
> You might as well use libxl__calloc here.

Agree.

> Should I be expecting a v3 of "libxl: allow to set more than 31 vcpus"
> which uses this patch? If you already sent it then I may have missed it.

Yes, I will send it. 

best regards
yang
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 01:26:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 01:26:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYoiG-0004qJ-QL; Mon, 28 May 2012 01:25:36 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SYoiF-0004qB-MP
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 01:25:35 +0000
Received: from [85.158.143.35:46492] by server-3.bemta-4.messagelabs.com id
	1F/68-05853-E04D2CF4; Mon, 28 May 2012 01:25:34 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1338168333!11716083!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3MDk3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16634 invoked from network); 28 May 2012 01:25:34 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-10.tower-21.messagelabs.com with SMTP;
	28 May 2012 01:25:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 27 May 2012 18:25:32 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104873272"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 18:25:32 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 18:25:31 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 09:25:29 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Thread-Topic: [PATCH]libxl: rewrite libxl_cpumap_alloc()
Thread-Index: Ac00oW8ZLgLyAb5vQo+/ghpsq9CHxgD5QzYAAPp69GA=
Date: Mon, 28 May 2012 01:25:28 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E15A1B6@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E13BFCC@SHSMSX101.ccr.corp.intel.com>
	<1337766652.30233.15.camel@zakaz.uk.xensource.com>
In-Reply-To: <1337766652.30233.15.camel@zakaz.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl: rewrite libxl_cpumap_alloc()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Wednesday, May 23, 2012 5:51 PM
> On Fri, 2012-05-18 at 03:53 +0100, Zhang, Yang Z wrote:
> > Allow libxl_cpumap_alloc to allocate memory of specific size.
> > Max_cpus equals to zero means allocate the biggest possibly required map.
> 
> Can we get a comment to that effect in the header please.

Sure.

> > -    int max_cpus;
> >      int sz;
> >
> > -    max_cpus = libxl_get_max_cpus(ctx);
> > -    if (max_cpus == 0)
> > -        return ERROR_FAIL;
> > +    if (max_cpus < 0) {
> > +        return ERROR_INVAL;
> > +    } else if (max_cpus == 0) {
> > +        max_cpus = libxl_get_max_cpus(ctx);
> > +        if (max_cpus == 0)
> > +            return ERROR_FAIL;
> > +    }
> 
> I would have written this as
> 
> +    if (max_cpus < 0)
> +        return ERROR_INVAL;
> +    if (max_cpus == 0)
> +        max_cpus = libxl_get_max_cpus(ctx);
> +    if (max_cpus == 0)
> +        return ERROR_FAIL;
> 
> and avoided the nested if and ifelse logic.

Agree.
 
> >
> >      sz = (max_cpus + 7) / 8;
> > -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> > -    if (!cpumap->map)
> > -        return ERROR_NOMEM;
> > +    cpumap->map = libxl__zalloc(NULL, sz * sizeof(*cpumap->map));
> 
> You might as well use libxl__calloc here.

Agree.

> Should I be expecting a v3 of "libxl: allow to set more than 31 vcpus"
> which uses this patch? If you already sent it then I may have missed it.

Yes, I will send it. 

best regards
yang
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 02:58:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 02:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYq9e-0005cx-0E; Mon, 28 May 2012 02:57:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SYq9c-0005cs-Jf
	for xen-devel@lists.xen.org; Mon, 28 May 2012 02:57:56 +0000
Received: from [193.109.254.147:7668] by server-6.bemta-14.messagelabs.com id
	6A/06-04960-3B9E2CF4; Mon, 28 May 2012 02:57:55 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-2.tower-27.messagelabs.com!1338173872!11452580!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30047 invoked from network); 28 May 2012 02:57:55 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 May 2012 02:57:55 -0000
Received: from smtp2.bendigoit.com.au ([203.16.207.99]
	helo=mail.bendigoit.com.au)
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SYq9T-00069i-V7; Mon, 28 May 2012 12:57:48 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Mon, 28 May 2012 12:57:47 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Mon, 28 May 2012 12:57:45 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: =?iso-2022-jp?B?GyRCVyE+NTtWGyhC?= <jackyfriendly@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Thread-Topic: [Xen-devel] windows pv driver performance issue
Thread-Index: AQHNPHGdWKig4WGuHUS0m5dWLSx7FZbegjQw
Date: Mon, 28 May 2012 02:57:45 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1B06C8DC@BITCOM1.int.sbss.com.au>
References: <CAFdMv4Hw8eVhn5Nkkx0LHeDwkw5h+O3Cc2RMvpRW_04jiZmsCw@mail.gmail.com>
In-Reply-To: <CAFdMv4Hw8eVhn5Nkkx0LHeDwkw5h+O3Cc2RMvpRW_04jiZmsCw@mail.gmail.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 28 May 2012 02:57:48.0144 (UTC)
	FILETIME=[A9D41700:01CD3C7D]
X-Really-From-Bendigo-IT: magichashvalue
Subject: Re: [Xen-devel] windows pv driver performance issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> all:
>     How about pv driver performance when no cache of backend device,while
> it is 5MB/s i tested,i use pv driver version(0.11), Who can help me?
> thank you

Is this GPLPV 0.11.357?

What tools are you using to measure performance?

James



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 02:58:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 02:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYq9e-0005cx-0E; Mon, 28 May 2012 02:57:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <james.harper@bendigoit.com.au>) id 1SYq9c-0005cs-Jf
	for xen-devel@lists.xen.org; Mon, 28 May 2012 02:57:56 +0000
Received: from [193.109.254.147:7668] by server-6.bemta-14.messagelabs.com id
	6A/06-04960-3B9E2CF4; Mon, 28 May 2012 02:57:55 +0000
X-Env-Sender: james.harper@bendigoit.com.au
X-Msg-Ref: server-2.tower-27.messagelabs.com!1338173872!11452580!1
X-Originating-IP: [203.16.224.4]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30047 invoked from network); 28 May 2012 02:57:55 -0000
Received: from smtp1.bendigoit.com.au (HELO smtp1.bendigoit.com.au)
	(203.16.224.4)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 May 2012 02:57:55 -0000
Received: from smtp2.bendigoit.com.au ([203.16.207.99]
	helo=mail.bendigoit.com.au)
	by smtp1.bendigoit.com.au with esmtp (Exim 4.69)
	(envelope-from <james.harper@bendigoit.com.au>)
	id 1SYq9T-00069i-V7; Mon, 28 May 2012 12:57:48 +1000
Received: from BITCOM1.int.sbss.com.au ([192.168.200.237]) by
	mail.bendigoit.com.au with Microsoft SMTPSVC(6.0.3790.4675); 
	Mon, 28 May 2012 12:57:47 +1000
Received: from BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d]) by
	BITCOM1.int.sbss.com.au ([fe80::a5ca:4fd3:14f:ad5d%12]) with mapi;
	Mon, 28 May 2012 12:57:45 +1000
From: James Harper <james.harper@bendigoit.com.au>
To: =?iso-2022-jp?B?GyRCVyE+NTtWGyhC?= <jackyfriendly@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Thread-Topic: [Xen-devel] windows pv driver performance issue
Thread-Index: AQHNPHGdWKig4WGuHUS0m5dWLSx7FZbegjQw
Date: Mon, 28 May 2012 02:57:45 +0000
Message-ID: <6035A0D088A63A46850C3988ED045A4B1B06C8DC@BITCOM1.int.sbss.com.au>
References: <CAFdMv4Hw8eVhn5Nkkx0LHeDwkw5h+O3Cc2RMvpRW_04jiZmsCw@mail.gmail.com>
In-Reply-To: <CAFdMv4Hw8eVhn5Nkkx0LHeDwkw5h+O3Cc2RMvpRW_04jiZmsCw@mail.gmail.com>
Accept-Language: en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
MIME-Version: 1.0
X-OriginalArrivalTime: 28 May 2012 02:57:48.0144 (UTC)
	FILETIME=[A9D41700:01CD3C7D]
X-Really-From-Bendigo-IT: magichashvalue
Subject: Re: [Xen-devel] windows pv driver performance issue
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> all:
>     How about pv driver performance when no cache of backend device,while
> it is 5MB/s i tested,i use pv driver version(0.11), Who can help me?
> thank you

Is this GPLPV 0.11.357?

What tools are you using to measure performance?

James



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:07:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:07:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYt6E-0006tF-2C; Mon, 28 May 2012 06:06:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xuesen.guo@hitachiconsulting.com>)
	id 1SYt6C-0006tA-TE
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:06:37 +0000
Received: from [193.109.254.147:3417] by server-2.bemta-14.messagelabs.com id
	E1/D3-19409-CE513CF4; Mon, 28 May 2012 06:06:36 +0000
X-Env-Sender: xuesen.guo@hitachiconsulting.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338185194!11600707!1
X-Originating-IP: [207.211.31.55]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA3LjIxMS4zMS41NSA9PiAxNjQ3Nzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11994 invoked from network); 28 May 2012 06:06:35 -0000
Received: from service55-us.mimecast.com (HELO service55-us.mimecast.com)
	(207.211.31.55)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 May 2012 06:06:35 -0000
Received: from HCAZUSCH1.hitachiconsulting.net (63.148.190.198
	[63.148.190.198]) (Using TLS) by service55-us.mimecast.com; Mon, 28 May
	2012 02:06:32 -0400
Received: from HCAZINEXCH1.hitachiconsulting.net (172.16.125.108) by
	HCAZUSCH1.hitachiconsulting.net (172.16.1.119) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 01:06:28 -0500
Received: from [10.67.7.194] (10.67.7.194) by
	HCAZINEXCH1.hitachiconsulting.net (172.16.125.103) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 11:33:25 +0530
From: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336754967.23818.142.camel@zakaz.uk.xensource.com>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
	<20397.16795.166767.442835@mariner.uk.xensource.com>
	<1336754967.23818.142.camel@zakaz.uk.xensource.com>
Organization: Sierra Atlantic
Date: Mon, 28 May 2012 14:03:39 +0800
Message-ID: <1338185019.3965.5.camel@goosenl-desktop>
MIME-Version: 1.0
X-Mailer: Evolution 2.32.2
X-Originating-IP: [10.67.7.194]
X-MC-Unique: 112052802063200301
Cc: xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Xuesen.Guo@hitachiconsulting.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I used the Evolution(GUI) sending patches manually, this might mangle the whitespace of a patch making it impossible to apply.
According to Linux's email-clients.txt, I resend this patch.

# HG changeset patch
# Parent d690c7e896a26c54a5ab85458824059de72d5cba
readnote: Add bzImage kernel support

Add the check of bzImage kernel and make it work
with RHEL 6 big zImage kernel

Signed-off-by: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

---
Changed since v1:
  * add additional checks of the offset and length
  * not changing st.st_size, use size instead of st.st_size
  
---
Changed since v2:
  * changing decription bzipped kernels to big zImage kernel

diff -r d690c7e896a2 tools/xcutils/readnotes.c
--- a/tools/xcutils/readnotes.c	Thu Apr 05 11:06:03 2012 +0100
+++ b/tools/xcutils/readnotes.c	Thu Apr 26 16:53:16 2012 +0800
@@ -18,6 +18,48 @@
 
 static xc_interface *xch;
 
+/* According to the implemation of xc_dom_probe_bzimage_kernel() function */
+/* We add support of bzImage kernel */
+/* Copied from tools/libxc/xc_doom_bzImageloader.c */
+struct setup_header {
+	uint8_t  _pad0[0x1f1];  /* skip uninteresting stuff */
+	uint8_t  setup_sects;
+	uint16_t root_flags;
+	uint32_t syssize;
+	uint16_t ram_size;
+	uint16_t vid_mode;
+	uint16_t root_dev;
+	uint16_t boot_flag;
+	uint16_t jump;
+	uint32_t header;
+#define HDR_MAGIC  "HdrS"
+#define HDR_MAGIC_SZ 4
+	uint16_t version;
+#define VERSION(h,l) (((h)<<8) | (l))
+	uint32_t realmode_swtch;
+	uint16_t start_sys;
+	uint16_t kernel_version;
+	uint8_t  type_of_loader;
+	uint8_t  loadflags;
+	uint16_t setup_move_size;
+	uint32_t code32_start;
+	uint32_t ramdisk_image;
+	uint32_t ramdisk_size;
+	uint32_t bootsect_kludge;
+	uint16_t heap_end_ptr;
+	uint16_t _pad1;
+	uint32_t cmd_line_ptr;
+	uint32_t initrd_addr_max;
+	uint32_t kernel_alignment;
+	uint8_t  relocatable_kernel;
+	uint8_t  _pad2[3];
+	uint32_t cmdline_size;
+	uint32_t hardware_subarch;
+	uint64_t hardware_subarch_data;
+	uint32_t payload_offset;
+	uint32_t payload_length;
+} __attribute__((packed));
+
 static void print_string_note(const char *prefix, struct elf_binary *elf,
 			      const elf_note *note)
 {
@@ -131,6 +173,9 @@ int main(int argc, char **argv)
 	const elf_shdr *shdr;
 	int notes_found = 0;
 
+	struct setup_header *hdr;
+	uint64_t payload_offset, payload_length;
+
 	if (argc != 2)
 	{
 		fprintf(stderr, "Usage: readnotes <elfimage>\n");
@@ -159,13 +204,45 @@ int main(int argc, char **argv)
 		fprintf(stderr, "Unable to map %s: %s\n", f, strerror(errno));
 		return 1;
 	}
-	size = st.st_size;
+	
+	/* Check the magic of bzImage kernel */
+	hdr = (struct setup_header *)image;
+	if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) == 0 )
+	{
+		if ( hdr->version < VERSION(2,8) )
+		{
+			printf("%s: boot protocol too old (%04x)", __FUNCTION__, hdr->version);
+			return 1;
+		}
 
-	usize = xc_dom_check_gzip(xch, image, st.st_size);
+		/* upcast to 64 bits to avoid overflow */
+		/* setup_sects is u8 and so cannot overflow */
+		payload_offset = (hdr->setup_sects + 1) * 512;
+		payload_offset += hdr->payload_offset;
+		payload_length = hdr->payload_length;
+		
+		if ( payload_offset >= st.st_size )
+		{
+			printf("%s: payload offset overflow", __FUNCTION__);
+			return 1;
+		}
+		if ( (payload_offset + payload_length) > st.st_size )
+		{
+			printf("%s: payload length overflow", __FUNCTION__);
+			return 1;
+		}
+
+		image = image + payload_offset;
+		size = payload_length;
+	} else {
+		size = st.st_size;
+	}
+
+	usize = xc_dom_check_gzip(xch, image, size);
 	if (usize)
 	{
 		tmp = malloc(usize);
-		xc_dom_do_gunzip(xch, image, st.st_size, tmp, usize);
+		xc_dom_do_gunzip(xch, image, size, tmp, usize);
 		image = tmp;
 		size = usize;
 	}


On Fri, 2012-05-11 at 17:49 +0100, Ian Campbell wrote:
> On Fri, 2012-05-11 at 17:43 +0100, Ian Jackson wrote:
> > Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support"):
> > > readnote: Add bzImage kernel support
> > 
> > I tried to apply this but I'm afraid it no longer applies to
> > xen-unstable tip:
> > 
> > patching file tools/xcutils/readnotes.c
> > Hunk #1 FAILED at 17
> > Hunk #3 FAILED at 161
> > 2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readnotes.c.rej
> > abort: patch failed to apply
> > 
> > Ian.
> 
> The most recent change to this file was 
>         changeset:   21483:779c0ef9682c
>         user:        Keir Fraser <keir.fraser@citrix.com>
>         date:        Fri May 28 09:30:19 2010 +0100
>         summary:     libxc: eliminate static variables, use xentoollog; API change
>         
> I expect something else is up -- whitespace mangling perhaps? Or maybe
> the patch simply isn't based on xen-unstable.hg?
> 
> Ian.
> 
> 

This e-mail is intended solely for the person or entity to which it is addressed
and may contain confidential and/or privileged information. Any review, dissemination,
copying, printing or other use of this e-mail by persons or entities other than the 
addressee is prohibited. If you have received this e-mail in error, please contact
the sender immediately and delete the material from any computer.
To unsubscribe send an email to: Unsubscribe@hitachiconsulting.com 
Hitachi Consulting (China) Co., Ltd. (HCCD0411)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:07:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:07:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYt6E-0006tF-2C; Mon, 28 May 2012 06:06:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xuesen.guo@hitachiconsulting.com>)
	id 1SYt6C-0006tA-TE
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:06:37 +0000
Received: from [193.109.254.147:3417] by server-2.bemta-14.messagelabs.com id
	E1/D3-19409-CE513CF4; Mon, 28 May 2012 06:06:36 +0000
X-Env-Sender: xuesen.guo@hitachiconsulting.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338185194!11600707!1
X-Originating-IP: [207.211.31.55]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA3LjIxMS4zMS41NSA9PiAxNjQ3Nzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11994 invoked from network); 28 May 2012 06:06:35 -0000
Received: from service55-us.mimecast.com (HELO service55-us.mimecast.com)
	(207.211.31.55)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 May 2012 06:06:35 -0000
Received: from HCAZUSCH1.hitachiconsulting.net (63.148.190.198
	[63.148.190.198]) (Using TLS) by service55-us.mimecast.com; Mon, 28 May
	2012 02:06:32 -0400
Received: from HCAZINEXCH1.hitachiconsulting.net (172.16.125.108) by
	HCAZUSCH1.hitachiconsulting.net (172.16.1.119) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 01:06:28 -0500
Received: from [10.67.7.194] (10.67.7.194) by
	HCAZINEXCH1.hitachiconsulting.net (172.16.125.103) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 11:33:25 +0530
From: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1336754967.23818.142.camel@zakaz.uk.xensource.com>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
	<20397.16795.166767.442835@mariner.uk.xensource.com>
	<1336754967.23818.142.camel@zakaz.uk.xensource.com>
Organization: Sierra Atlantic
Date: Mon, 28 May 2012 14:03:39 +0800
Message-ID: <1338185019.3965.5.camel@goosenl-desktop>
MIME-Version: 1.0
X-Mailer: Evolution 2.32.2
X-Originating-IP: [10.67.7.194]
X-MC-Unique: 112052802063200301
Cc: xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Xuesen.Guo@hitachiconsulting.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I used the Evolution(GUI) sending patches manually, this might mangle the whitespace of a patch making it impossible to apply.
According to Linux's email-clients.txt, I resend this patch.

# HG changeset patch
# Parent d690c7e896a26c54a5ab85458824059de72d5cba
readnote: Add bzImage kernel support

Add the check of bzImage kernel and make it work
with RHEL 6 big zImage kernel

Signed-off-by: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

---
Changed since v1:
  * add additional checks of the offset and length
  * not changing st.st_size, use size instead of st.st_size
  
---
Changed since v2:
  * changing decription bzipped kernels to big zImage kernel

diff -r d690c7e896a2 tools/xcutils/readnotes.c
--- a/tools/xcutils/readnotes.c	Thu Apr 05 11:06:03 2012 +0100
+++ b/tools/xcutils/readnotes.c	Thu Apr 26 16:53:16 2012 +0800
@@ -18,6 +18,48 @@
 
 static xc_interface *xch;
 
+/* According to the implemation of xc_dom_probe_bzimage_kernel() function */
+/* We add support of bzImage kernel */
+/* Copied from tools/libxc/xc_doom_bzImageloader.c */
+struct setup_header {
+	uint8_t  _pad0[0x1f1];  /* skip uninteresting stuff */
+	uint8_t  setup_sects;
+	uint16_t root_flags;
+	uint32_t syssize;
+	uint16_t ram_size;
+	uint16_t vid_mode;
+	uint16_t root_dev;
+	uint16_t boot_flag;
+	uint16_t jump;
+	uint32_t header;
+#define HDR_MAGIC  "HdrS"
+#define HDR_MAGIC_SZ 4
+	uint16_t version;
+#define VERSION(h,l) (((h)<<8) | (l))
+	uint32_t realmode_swtch;
+	uint16_t start_sys;
+	uint16_t kernel_version;
+	uint8_t  type_of_loader;
+	uint8_t  loadflags;
+	uint16_t setup_move_size;
+	uint32_t code32_start;
+	uint32_t ramdisk_image;
+	uint32_t ramdisk_size;
+	uint32_t bootsect_kludge;
+	uint16_t heap_end_ptr;
+	uint16_t _pad1;
+	uint32_t cmd_line_ptr;
+	uint32_t initrd_addr_max;
+	uint32_t kernel_alignment;
+	uint8_t  relocatable_kernel;
+	uint8_t  _pad2[3];
+	uint32_t cmdline_size;
+	uint32_t hardware_subarch;
+	uint64_t hardware_subarch_data;
+	uint32_t payload_offset;
+	uint32_t payload_length;
+} __attribute__((packed));
+
 static void print_string_note(const char *prefix, struct elf_binary *elf,
 			      const elf_note *note)
 {
@@ -131,6 +173,9 @@ int main(int argc, char **argv)
 	const elf_shdr *shdr;
 	int notes_found = 0;
 
+	struct setup_header *hdr;
+	uint64_t payload_offset, payload_length;
+
 	if (argc != 2)
 	{
 		fprintf(stderr, "Usage: readnotes <elfimage>\n");
@@ -159,13 +204,45 @@ int main(int argc, char **argv)
 		fprintf(stderr, "Unable to map %s: %s\n", f, strerror(errno));
 		return 1;
 	}
-	size = st.st_size;
+	
+	/* Check the magic of bzImage kernel */
+	hdr = (struct setup_header *)image;
+	if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) == 0 )
+	{
+		if ( hdr->version < VERSION(2,8) )
+		{
+			printf("%s: boot protocol too old (%04x)", __FUNCTION__, hdr->version);
+			return 1;
+		}
 
-	usize = xc_dom_check_gzip(xch, image, st.st_size);
+		/* upcast to 64 bits to avoid overflow */
+		/* setup_sects is u8 and so cannot overflow */
+		payload_offset = (hdr->setup_sects + 1) * 512;
+		payload_offset += hdr->payload_offset;
+		payload_length = hdr->payload_length;
+		
+		if ( payload_offset >= st.st_size )
+		{
+			printf("%s: payload offset overflow", __FUNCTION__);
+			return 1;
+		}
+		if ( (payload_offset + payload_length) > st.st_size )
+		{
+			printf("%s: payload length overflow", __FUNCTION__);
+			return 1;
+		}
+
+		image = image + payload_offset;
+		size = payload_length;
+	} else {
+		size = st.st_size;
+	}
+
+	usize = xc_dom_check_gzip(xch, image, size);
 	if (usize)
 	{
 		tmp = malloc(usize);
-		xc_dom_do_gunzip(xch, image, st.st_size, tmp, usize);
+		xc_dom_do_gunzip(xch, image, size, tmp, usize);
 		image = tmp;
 		size = usize;
 	}


On Fri, 2012-05-11 at 17:49 +0100, Ian Campbell wrote:
> On Fri, 2012-05-11 at 17:43 +0100, Ian Jackson wrote:
> > Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support"):
> > > readnote: Add bzImage kernel support
> > 
> > I tried to apply this but I'm afraid it no longer applies to
> > xen-unstable tip:
> > 
> > patching file tools/xcutils/readnotes.c
> > Hunk #1 FAILED at 17
> > Hunk #3 FAILED at 161
> > 2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readnotes.c.rej
> > abort: patch failed to apply
> > 
> > Ian.
> 
> The most recent change to this file was 
>         changeset:   21483:779c0ef9682c
>         user:        Keir Fraser <keir.fraser@citrix.com>
>         date:        Fri May 28 09:30:19 2010 +0100
>         summary:     libxc: eliminate static variables, use xentoollog; API change
>         
> I expect something else is up -- whitespace mangling perhaps? Or maybe
> the patch simply isn't based on xen-unstable.hg?
> 
> Ian.
> 
> 

This e-mail is intended solely for the person or entity to which it is addressed
and may contain confidential and/or privileged information. Any review, dissemination,
copying, printing or other use of this e-mail by persons or entities other than the 
addressee is prohibited. If you have received this e-mail in error, please contact
the sender immediately and delete the material from any computer.
To unsubscribe send an email to: Unsubscribe@hitachiconsulting.com 
Hitachi Consulting (China) Co., Ltd. (HCCD0411)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:24:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:24:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtNA-00075b-0T; Mon, 28 May 2012 06:24:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SYtN8-00075W-0Q
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 06:24:06 +0000
Received: from [85.158.139.83:32747] by server-10.bemta-5.messagelabs.com id
	90/97-22179-50A13CF4; Mon, 28 May 2012 06:24:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1338186244!16902856!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29229 invoked from network); 28 May 2012 06:24:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 06:24:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12689110"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 06:24:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 07:24:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SYtN5-0001vH-N2;
	Mon, 28 May 2012 06:24:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SYtN5-0007tI-8m;
	Mon, 28 May 2012 07:24:03 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12977-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 28 May 2012 07:24:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12977: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12977 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12977/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12975

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:24:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:24:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtNA-00075b-0T; Mon, 28 May 2012 06:24:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SYtN8-00075W-0Q
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 06:24:06 +0000
Received: from [85.158.139.83:32747] by server-10.bemta-5.messagelabs.com id
	90/97-22179-50A13CF4; Mon, 28 May 2012 06:24:05 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1338186244!16902856!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29229 invoked from network); 28 May 2012 06:24:04 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 06:24:04 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12689110"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 06:24:04 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 07:24:03 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SYtN5-0001vH-N2;
	Mon, 28 May 2012 06:24:03 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SYtN5-0007tI-8m;
	Mon, 28 May 2012 07:24:03 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12977-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Mon, 28 May 2012 07:24:03 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12977: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12977 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12977/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12975

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:25:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:25:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtNm-000771-E3; Mon, 28 May 2012 06:24:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SYtNk-00076r-Tw
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:24:45 +0000
Received: from [85.158.138.51:21232] by server-5.bemta-3.messagelabs.com id
	D9/8B-25552-B2A13CF4; Mon, 28 May 2012 06:24:43 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338186282!29325659!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29670 invoked from network); 28 May 2012 06:24:42 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-174.messagelabs.com with SMTP;
	28 May 2012 06:24:42 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 27 May 2012 23:24:41 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104942775"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 23:24:41 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 23:24:40 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 14:24:39 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir@xen.org>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RA=
Date: Mon, 28 May 2012 06:24:38 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCA0FF@SHSMSX102.ccr.corp.intel.com>
References: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
	<CBE506FF.40DAC%keir@xen.org>
In-Reply-To: <CBE506FF.40DAC%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Friday, May 25, 2012 4:53 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 24/05/2012 20:06, "Xudong Hao" <xudong.hao@intel.com> wrote:
> 
> > VMX exception: Pass the instruction length field down to exception
> emulation,
> > by changing hypercall parameter and adding a parameter in fucntion
> > hvm_inject_exception(), so that exception emulation can set correct
> > instruction length.
> >
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> 
> I don't like adding yet another parameter for all callers, especially as we
> should also be passing down the event type (sw interrupt, hw exception, ...)
> and that would bloat the parameter list further.
> 
> I attach a cleanup patch which packs everything into a new struct and
> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
> wrappers around that function for existing callers, so that their parameter
> lists actually *shrink*.
> 
> Let me know what you think. If it looks acceptable I can check it in and we
> can build on top of this restructuring. The aim being to keep
> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers
> into
> it.

Hi, Keir

This patch is fine to me, just one small comments: the note below the hvm_inject_hw_exception(TRAP*) should change to hvm_inject_hw_exception from hvm_inject_exception.

--- a/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 08:21:25 2012 +0100
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 09:45:00 2012 +0100
@@ -735,7 +735,7 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct c
     default:
         gdprintk(XENLOG_ERR,
             "nsvm_vcpu_vmentry failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         /* Must happen after hvm_inject_exception or it doesn't work right. */

And I'll add instruction length represented in 'struct hvm_trap', and correct the _trap.type in new function vmx_inject_trap() based on the restructuring.

> 
>  -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:25:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:25:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtNm-000771-E3; Mon, 28 May 2012 06:24:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SYtNk-00076r-Tw
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:24:45 +0000
Received: from [85.158.138.51:21232] by server-5.bemta-3.messagelabs.com id
	D9/8B-25552-B2A13CF4; Mon, 28 May 2012 06:24:43 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338186282!29325659!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29670 invoked from network); 28 May 2012 06:24:42 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-174.messagelabs.com with SMTP;
	28 May 2012 06:24:42 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 27 May 2012 23:24:41 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104942775"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 23:24:41 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 23:24:40 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 14:24:39 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir@xen.org>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RA=
Date: Mon, 28 May 2012 06:24:38 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCA0FF@SHSMSX102.ccr.corp.intel.com>
References: <1337886385-2374-2-git-send-email-xudong.hao@intel.com>
	<CBE506FF.40DAC%keir@xen.org>
In-Reply-To: <CBE506FF.40DAC%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Friday, May 25, 2012 4:53 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 24/05/2012 20:06, "Xudong Hao" <xudong.hao@intel.com> wrote:
> 
> > VMX exception: Pass the instruction length field down to exception
> emulation,
> > by changing hypercall parameter and adding a parameter in fucntion
> > hvm_inject_exception(), so that exception emulation can set correct
> > instruction length.
> >
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> 
> I don't like adding yet another parameter for all callers, especially as we
> should also be passing down the event type (sw interrupt, hw exception, ...)
> and that would bloat the parameter list further.
> 
> I attach a cleanup patch which packs everything into a new struct and
> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
> wrappers around that function for existing callers, so that their parameter
> lists actually *shrink*.
> 
> Let me know what you think. If it looks acceptable I can check it in and we
> can build on top of this restructuring. The aim being to keep
> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers
> into
> it.

Hi, Keir

This patch is fine to me, just one small comments: the note below the hvm_inject_hw_exception(TRAP*) should change to hvm_inject_hw_exception from hvm_inject_exception.

--- a/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 08:21:25 2012 +0100
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 09:45:00 2012 +0100
@@ -735,7 +735,7 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct c
     default:
         gdprintk(XENLOG_ERR,
             "nsvm_vcpu_vmentry failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         /* Must happen after hvm_inject_exception or it doesn't work right. */

And I'll add instruction length represented in 'struct hvm_trap', and correct the _trap.type in new function vmx_inject_trap() based on the restructuring.

> 
>  -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:38:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtaD-0007O4-Nz; Mon, 28 May 2012 06:37:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SYtaC-0007Nz-FD
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:37:36 +0000
Received: from [193.109.254.147:60539] by server-9.bemta-14.messagelabs.com id
	04/8B-05787-F2D13CF4; Mon, 28 May 2012 06:37:35 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1338187054!7244404!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13326 invoked from network); 28 May 2012 06:37:34 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-5.tower-27.messagelabs.com with SMTP;
	28 May 2012 06:37:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 27 May 2012 23:37:33 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104946929"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 23:37:33 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 23:37:32 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 14:37:31 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir@xen.org>, Aravindh Puthiyaparambil
	<aravindh@virtuata.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgACuZICAABfMAIAESaZw
Date: Mon, 28 May 2012 06:37:30 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCA12F@SHSMSX102.ccr.corp.intel.com>
References: <CAB10MZAxnQDdB3Mm_ve4unRFKcHdzFovRz9aC4+R9dM5xHpY-A@mail.gmail.com>
	<CBE5AD3E.41412%keir@xen.org>
In-Reply-To: <CBE5AD3E.41412%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Saturday, May 26, 2012 4:42 AM
> To: Aravindh Puthiyaparambil
> Cc: Hao, Xudong; JBeulich@suse.com; xen-devel@lists.xen.org; Dong, Eddie;
> Ian Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 25/05/2012 20:17, "Aravindh Puthiyaparambil" <aravindh@virtuata.com>
> wrote:
> 
> >> I don't like adding yet another parameter for all callers, especially as we
> >> should also be passing down the event type (sw interrupt, hw exception, ...)
> >> and that would bloat the parameter list further.
> >>
> >> I attach a cleanup patch which packs everything into a new struct and
> >> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
> >> wrappers around that function for existing callers, so that their parameter
> >> lists actually *shrink*.
> >>
> >> Let me know what you think. If it looks acceptable I can check it in and we
> >> can build on top of this restructuring. The aim being to keep
> >> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers
> into
> >> it.
> >
> > So I take it that with just this patch injecting of software
> > interrupts will not work and I should hold off on testing that out.
> > What is the plan for injecting software interrupts? Add another libxc
> > API for that?
> 

I'll write libxc API and correct the new function vmx_inject_trap() based on Keir's restructuring.

> Yes, everything represented in my 'struct hvm_trap', plus instruction
> length, which my patch doesn't add, should be part of the trap injection API
> through hvm_op hypercall and libxc. 

I can add instruction length in hvm_trap.

> So the toolstack can inject an arbitrary
> trap type, on an arbitrary vector, specify an error code (and cr2 for page
> fault), and specify an increment for rIP when the trap is successfully
> injected. All through one API function.
> 
> But as you say, my patch is just a proposed refactoring basis for Xudong's
> patches. It actually almost certainly reverts some behaviour that you guys
> actually want, which then gets added back in more sanely in patches that go
> on top.
> 

Sure, I'll finish our things.


>  -- Keir
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:38:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtaD-0007O4-Nz; Mon, 28 May 2012 06:37:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SYtaC-0007Nz-FD
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:37:36 +0000
Received: from [193.109.254.147:60539] by server-9.bemta-14.messagelabs.com id
	04/8B-05787-F2D13CF4; Mon, 28 May 2012 06:37:35 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1338187054!7244404!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13326 invoked from network); 28 May 2012 06:37:34 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-5.tower-27.messagelabs.com with SMTP;
	28 May 2012 06:37:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 27 May 2012 23:37:33 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104946929"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 23:37:33 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 23:37:32 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 14:37:31 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir@xen.org>, Aravindh Puthiyaparambil
	<aravindh@virtuata.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgACuZICAABfMAIAESaZw
Date: Mon, 28 May 2012 06:37:30 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCA12F@SHSMSX102.ccr.corp.intel.com>
References: <CAB10MZAxnQDdB3Mm_ve4unRFKcHdzFovRz9aC4+R9dM5xHpY-A@mail.gmail.com>
	<CBE5AD3E.41412%keir@xen.org>
In-Reply-To: <CBE5AD3E.41412%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, "Zhang, Xiantao" <xiantao.zhang@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Saturday, May 26, 2012 4:42 AM
> To: Aravindh Puthiyaparambil
> Cc: Hao, Xudong; JBeulich@suse.com; xen-devel@lists.xen.org; Dong, Eddie;
> Ian Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 25/05/2012 20:17, "Aravindh Puthiyaparambil" <aravindh@virtuata.com>
> wrote:
> 
> >> I don't like adding yet another parameter for all callers, especially as we
> >> should also be passing down the event type (sw interrupt, hw exception, ...)
> >> and that would bloat the parameter list further.
> >>
> >> I attach a cleanup patch which packs everything into a new struct and
> >> renames hvm_inject_exception to hvm_inject_trap. I then define a couple of
> >> wrappers around that function for existing callers, so that their parameter
> >> lists actually *shrink*.
> >>
> >> Let me know what you think. If it looks acceptable I can check it in and we
> >> can build on top of this restructuring. The aim being to keep
> >> hvm/vmx_inject_trap dumb, and push down the knowledge from the callers
> into
> >> it.
> >
> > So I take it that with just this patch injecting of software
> > interrupts will not work and I should hold off on testing that out.
> > What is the plan for injecting software interrupts? Add another libxc
> > API for that?
> 

I'll write libxc API and correct the new function vmx_inject_trap() based on Keir's restructuring.

> Yes, everything represented in my 'struct hvm_trap', plus instruction
> length, which my patch doesn't add, should be part of the trap injection API
> through hvm_op hypercall and libxc. 

I can add instruction length in hvm_trap.

> So the toolstack can inject an arbitrary
> trap type, on an arbitrary vector, specify an error code (and cr2 for page
> fault), and specify an increment for rIP when the trap is successfully
> injected. All through one API function.
> 
> But as you say, my patch is just a proposed refactoring basis for Xudong's
> patches. It actually almost certainly reverts some behaviour that you guys
> actually want, which then gets added back in more sanely in patches that go
> on top.
> 

Sure, I'll finish our things.


>  -- Keir
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:50:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:50:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtmI-0007Xb-VP; Mon, 28 May 2012 06:50:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SYtmH-0007XW-Mu
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:50:05 +0000
Received: from [85.158.139.83:4656] by server-4.bemta-5.messagelabs.com id
	AA/BB-16506-D1023CF4; Mon, 28 May 2012 06:50:05 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338187803!30655774!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12343 invoked from network); 28 May 2012 06:50:04 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 06:50:04 -0000
Received: by wgbed3 with SMTP id ed3so2053103wgb.32
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 23:50:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=0pbm9HZuZuC62RGAt5DrammrHj9qBQsvTZursW9JKPs=;
	b=Bv/WXOlnP4GSD8+55AzntcFV2Nyr8/vGUhVGC19kMLd1YJFYFZRzu7k9No9sKk5VZk
	TfNTqfd/03wAM7ekW6Y1sAO2+37e6HahjYv/M7/wjSN1iv9wuKYAAcrI/g+mxZsa3Zed
	PR/6VL7H29AbpKe5DQ9TSoLytIGodzjck5lxECjEhO720S4UCu4bzw2xiN4luDYvoaIM
	TGcy51bXowTGl2G/DCexCMWZI2FTro1ZhtGJ8kQQOAMoVGJQrydVagMc0SG5uF4eBNvS
	JY3nTAY0tstYgY+XlCkrGps5pAc+jzr82gMSlLEKdE864Yh9UnYZLW4GGUkprdb72Rux
	x+5A==
Received: by 10.216.226.198 with SMTP id b48mr3948468weq.186.1338187803299;
	Sun, 27 May 2012 23:50:03 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id fl2sm30411354wib.2.2012.05.27.23.50.00
	(version=SSLv3 cipher=OTHER); Sun, 27 May 2012 23:50:02 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 28 May 2012 07:49:53 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Message-ID: <CBE8DEA1.34527%keir.xen@gmail.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mA==
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCA0FF@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:

> Hi, Keir
> 
> This patch is fine to me, just one small comments: the note below the
> hvm_inject_hw_exception(TRAP*) should change to hvm_inject_hw_exception from
> hvm_inject_exception.

Yes indeed. Thanks!

 -- Keir

> --- a/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 08:21:25 2012 +0100
> +++ b/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 09:45:00 2012 +0100
> @@ -735,7 +735,7 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct c
>      default:
>          gdprintk(XENLOG_ERR,
>              "nsvm_vcpu_vmentry failed, injecting #UD\n");
> -        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
> +        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
>          /* Must happen after hvm_inject_exception or it doesn't work right.
> */
> 
> And I'll add instruction length represented in 'struct hvm_trap', and correct
> the _trap.type in new function vmx_inject_trap() based on the restructuring.
> 
>> 
>>  -- Keir
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:50:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:50:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtmI-0007Xb-VP; Mon, 28 May 2012 06:50:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SYtmH-0007XW-Mu
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:50:05 +0000
Received: from [85.158.139.83:4656] by server-4.bemta-5.messagelabs.com id
	AA/BB-16506-D1023CF4; Mon, 28 May 2012 06:50:05 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338187803!30655774!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12343 invoked from network); 28 May 2012 06:50:04 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 06:50:04 -0000
Received: by wgbed3 with SMTP id ed3so2053103wgb.32
	for <xen-devel@lists.xen.org>; Sun, 27 May 2012 23:50:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=0pbm9HZuZuC62RGAt5DrammrHj9qBQsvTZursW9JKPs=;
	b=Bv/WXOlnP4GSD8+55AzntcFV2Nyr8/vGUhVGC19kMLd1YJFYFZRzu7k9No9sKk5VZk
	TfNTqfd/03wAM7ekW6Y1sAO2+37e6HahjYv/M7/wjSN1iv9wuKYAAcrI/g+mxZsa3Zed
	PR/6VL7H29AbpKe5DQ9TSoLytIGodzjck5lxECjEhO720S4UCu4bzw2xiN4luDYvoaIM
	TGcy51bXowTGl2G/DCexCMWZI2FTro1ZhtGJ8kQQOAMoVGJQrydVagMc0SG5uF4eBNvS
	JY3nTAY0tstYgY+XlCkrGps5pAc+jzr82gMSlLEKdE864Yh9UnYZLW4GGUkprdb72Rux
	x+5A==
Received: by 10.216.226.198 with SMTP id b48mr3948468weq.186.1338187803299;
	Sun, 27 May 2012 23:50:03 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id fl2sm30411354wib.2.2012.05.27.23.50.00
	(version=SSLv3 cipher=OTHER); Sun, 27 May 2012 23:50:02 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Mon, 28 May 2012 07:49:53 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Message-ID: <CBE8DEA1.34527%keir.xen@gmail.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mA==
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCA0FF@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:

> Hi, Keir
> 
> This patch is fine to me, just one small comments: the note below the
> hvm_inject_hw_exception(TRAP*) should change to hvm_inject_hw_exception from
> hvm_inject_exception.

Yes indeed. Thanks!

 -- Keir

> --- a/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 08:21:25 2012 +0100
> +++ b/xen/arch/x86/hvm/svm/nestedsvm.c  Fri May 25 09:45:00 2012 +0100
> @@ -735,7 +735,7 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct c
>      default:
>          gdprintk(XENLOG_ERR,
>              "nsvm_vcpu_vmentry failed, injecting #UD\n");
> -        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
> +        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
>          /* Must happen after hvm_inject_exception or it doesn't work right.
> */
> 
> And I'll add instruction length represented in 'struct hvm_trap', and correct
> the _trap.type in new function vmx_inject_trap() based on the restructuring.
> 
>> 
>>  -- Keir
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:54:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtqS-0007dk-KX; Mon, 28 May 2012 06:54:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SYtqR-0007dd-B6
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 06:54:23 +0000
Received: from [193.109.254.147:57114] by server-4.bemta-14.messagelabs.com id
	CB/7D-14693-E1123CF4; Mon, 28 May 2012 06:54:22 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338188052!4705050!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26294 invoked from network); 28 May 2012 06:54:13 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-27.messagelabs.com with SMTP;
	28 May 2012 06:54:13 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 27 May 2012 23:54:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104954051"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 23:54:10 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 23:54:09 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 14:54:08 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Tim Deegan <tim@xen.org>
Thread-Topic: [Xen-devel] lock in vhpet
Thread-Index: Ac0eCQwXJG/pjIlt90WVAZCixCEkDQDGHugQABTqmCsAIL0OEP//f4gA//57d2CAApdigP//edFQgACUawD//3mnoABqsUeA/+Cwt4D/v9j/rP9urORw
Date: Mon, 28 May 2012 06:54:07 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E15A598@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
	<20120516123601.GA1933@ocelot.phlegethon.org>
	<20120517105739.GD57529@ocelot.phlegethon.org>
In-Reply-To: <20120517105739.GD57529@ocelot.phlegethon.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Tim Deegan [mailto:tim@xen.org]
> Sent: Thursday, May 17, 2012 6:58 PM
> To: Zhang, Yang Z
> Cc: xen-devel@lists.xensource.com; Keir Fraser; andres@lagarcavilla.org
> Subject: Re: [Xen-devel] lock in vhpet
> 
> Hi,
> 
> At 13:36 +0100 on 16 May (1337175361), Tim Deegan wrote:
> > At 11:36 +0000 on 16 May (1337168174), Zhang, Yang Z wrote:
> > > Did the attached patch apply to upstream xen? I tried the latest xen
> > > and still saw the high cpu utilization.
> >
> > The patch is not yet applied.  It's been cleaned up into a patch series
> > that I posted last Thursday, and will probably be applied later this
> > week.
> 
> It's now been applied to the staging tree, as csets 25350--25360.

It's a great work! With one week's testing, we didn't find any regression with those patches.

best regards
yang

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:54:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtqS-0007dk-KX; Mon, 28 May 2012 06:54:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yang.z.zhang@intel.com>) id 1SYtqR-0007dd-B6
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 06:54:23 +0000
Received: from [193.109.254.147:57114] by server-4.bemta-14.messagelabs.com id
	CB/7D-14693-E1123CF4; Mon, 28 May 2012 06:54:22 +0000
X-Env-Sender: yang.z.zhang@intel.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338188052!4705050!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26294 invoked from network); 28 May 2012 06:54:13 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-27.messagelabs.com with SMTP;
	28 May 2012 06:54:13 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 27 May 2012 23:54:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="104954051"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 27 May 2012 23:54:10 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Sun, 27 May 2012 23:54:09 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 14:54:08 +0800
From: "Zhang, Yang Z" <yang.z.zhang@intel.com>
To: Tim Deegan <tim@xen.org>
Thread-Topic: [Xen-devel] lock in vhpet
Thread-Index: Ac0eCQwXJG/pjIlt90WVAZCixCEkDQDGHugQABTqmCsAIL0OEP//f4gA//57d2CAApdigP//edFQgACUawD//3mnoABqsUeA/+Cwt4D/v9j/rP9urORw
Date: Mon, 28 May 2012 06:54:07 +0000
Message-ID: <A9667DDFB95DB7438FA9D7D576C3D87E15A598@SHSMSX101.ccr.corp.intel.com>
References: <A9667DDFB95DB7438FA9D7D576C3D87E0F2A20@SHSMSX101.ccr.corp.intel.com>
	<20120424091646.GB34721@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F452D@SHSMSX101.ccr.corp.intel.com>
	<958f5bfcc3ae6a631cf7208086553dce.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F45FC@SHSMSX101.ccr.corp.intel.com>
	<dfb5bcde9672a20ef3d6b3ad846a40e3.squirrel@webmail.lagarcavilla.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E0F4684@SHSMSX101.ccr.corp.intel.com>
	<20120426212531.GH67043@ocelot.phlegethon.org>
	<A9667DDFB95DB7438FA9D7D576C3D87E139111@SHSMSX101.ccr.corp.intel.com>
	<20120516123601.GA1933@ocelot.phlegethon.org>
	<20120517105739.GD57529@ocelot.phlegethon.org>
In-Reply-To: <20120517105739.GD57529@ocelot.phlegethon.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <keir@xen.org>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>
Subject: Re: [Xen-devel] lock in vhpet
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Tim Deegan [mailto:tim@xen.org]
> Sent: Thursday, May 17, 2012 6:58 PM
> To: Zhang, Yang Z
> Cc: xen-devel@lists.xensource.com; Keir Fraser; andres@lagarcavilla.org
> Subject: Re: [Xen-devel] lock in vhpet
> 
> Hi,
> 
> At 13:36 +0100 on 16 May (1337175361), Tim Deegan wrote:
> > At 11:36 +0000 on 16 May (1337168174), Zhang, Yang Z wrote:
> > > Did the attached patch apply to upstream xen? I tried the latest xen
> > > and still saw the high cpu utilization.
> >
> > The patch is not yet applied.  It's been cleaned up into a patch series
> > that I posted last Thursday, and will probably be applied later this
> > week.
> 
> It's now been applied to the staging tree, as csets 25350--25360.

It's a great work! With one week's testing, we didn't find any regression with those patches.

best regards
yang

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 06:56:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:56:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtsM-0007jj-4H; Mon, 28 May 2012 06:56:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xuesen.guo@hitachiconsulting.com>)
	id 1SYtsJ-0007jX-MO
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:56:20 +0000
Received: from [85.158.143.35:18235] by server-1.bemta-4.messagelabs.com id
	50/8A-00342-29123CF4; Mon, 28 May 2012 06:56:18 +0000
X-Env-Sender: xuesen.guo@hitachiconsulting.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338188176!13548119!1
X-Originating-IP: [207.211.31.55]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA3LjIxMS4zMS41NSA9PiAxNjQ3Nzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23345 invoked from network); 28 May 2012 06:56:17 -0000
Received: from service55-us.mimecast.com (HELO service55-us.mimecast.com)
	(207.211.31.55)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 May 2012 06:56:17 -0000
Received: from HCAZUSCH1.hitachiconsulting.net (63.148.190.198
	[63.148.190.198]) (Using TLS) by service55-us.mimecast.com; Mon, 28 May
	2012 02:56:15 -0400
Received: from HCAZINEXCH1.hitachiconsulting.net (172.16.125.108) by
	HCAZUSCH1.hitachiconsulting.net (172.16.1.119) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 01:56:00 -0500
Received: from [10.67.7.194] (10.67.7.194) by
	HCAZINEXCH1.hitachiconsulting.net (172.16.125.103) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 12:24:39 +0530
From: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338185019.3965.5.camel@goosenl-desktop>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
	<20397.16795.166767.442835@mariner.uk.xensource.com>
	<1336754967.23818.142.camel@zakaz.uk.xensource.com>
	<1338185019.3965.5.camel@goosenl-desktop>
Organization: Sierra Atlantic
Date: Mon, 28 May 2012 14:54:53 +0800
Message-ID: <1338188093.3965.6.camel@goosenl-desktop>
MIME-Version: 1.0
X-Mailer: Evolution 2.32.2
X-Originating-IP: [10.67.7.194]
X-MC-Unique: 112052802561503001
Content-Type: multipart/mixed; boundary="=-nmoUZ8ImmCvgRVsJ9wfH"
Cc: xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Xuesen.Guo@hitachiconsulting.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--=-nmoUZ8ImmCvgRVsJ9wfH
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Also the attached is the patch.

On Mon, 2012-05-28 at 14:03 +0800, Xuesen Guo wrote:
> I used the Evolution(GUI) sending patches manually, this might mangle the=
 whitespace of a patch making it impossible to apply.
> According to Linux's email-clients.txt, I resend this patch.
>=20
> # HG changeset patch
> # Parent d690c7e896a26c54a5ab85458824059de72d5cba
> readnote: Add bzImage kernel support
>=20
> Add the check of bzImage kernel and make it work
> with RHEL 6 big zImage kernel
>=20
> Signed-off-by: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
>=20
> ---
> Changed since v1:
>   * add additional checks of the offset and length
>   * not changing st.st_size, use size instead of st.st_size
>  =20
> ---
> Changed since v2:
>   * changing decription bzipped kernels to big zImage kernel
>=20
> diff -r d690c7e896a2 tools/xcutils/readnotes.c
> --- a/tools/xcutils/readnotes.c=09Thu Apr 05 11:06:03 2012 +0100
> +++ b/tools/xcutils/readnotes.c=09Thu Apr 26 16:53:16 2012 +0800
> @@ -18,6 +18,48 @@
> =20
>  static xc_interface *xch;
> =20
> +/* According to the implemation of xc_dom_probe_bzimage_kernel() functio=
n */
> +/* We add support of bzImage kernel */
> +/* Copied from tools/libxc/xc_doom_bzImageloader.c */
> +struct setup_header {
> +=09uint8_t  _pad0[0x1f1];  /* skip uninteresting stuff */
> +=09uint8_t  setup_sects;
> +=09uint16_t root_flags;
> +=09uint32_t syssize;
> +=09uint16_t ram_size;
> +=09uint16_t vid_mode;
> +=09uint16_t root_dev;
> +=09uint16_t boot_flag;
> +=09uint16_t jump;
> +=09uint32_t header;
> +#define HDR_MAGIC  "HdrS"
> +#define HDR_MAGIC_SZ 4
> +=09uint16_t version;
> +#define VERSION(h,l) (((h)<<8) | (l))
> +=09uint32_t realmode_swtch;
> +=09uint16_t start_sys;
> +=09uint16_t kernel_version;
> +=09uint8_t  type_of_loader;
> +=09uint8_t  loadflags;
> +=09uint16_t setup_move_size;
> +=09uint32_t code32_start;
> +=09uint32_t ramdisk_image;
> +=09uint32_t ramdisk_size;
> +=09uint32_t bootsect_kludge;
> +=09uint16_t heap_end_ptr;
> +=09uint16_t _pad1;
> +=09uint32_t cmd_line_ptr;
> +=09uint32_t initrd_addr_max;
> +=09uint32_t kernel_alignment;
> +=09uint8_t  relocatable_kernel;
> +=09uint8_t  _pad2[3];
> +=09uint32_t cmdline_size;
> +=09uint32_t hardware_subarch;
> +=09uint64_t hardware_subarch_data;
> +=09uint32_t payload_offset;
> +=09uint32_t payload_length;
> +} __attribute__((packed));
> +
>  static void print_string_note(const char *prefix, struct elf_binary *elf=
,
>  =09=09=09      const elf_note *note)
>  {
> @@ -131,6 +173,9 @@ int main(int argc, char **argv)
>  =09const elf_shdr *shdr;
>  =09int notes_found =3D 0;
> =20
> +=09struct setup_header *hdr;
> +=09uint64_t payload_offset, payload_length;
> +
>  =09if (argc !=3D 2)
>  =09{
>  =09=09fprintf(stderr, "Usage: readnotes <elfimage>\n");
> @@ -159,13 +204,45 @@ int main(int argc, char **argv)
>  =09=09fprintf(stderr, "Unable to map %s: %s\n", f, strerror(errno));
>  =09=09return 1;
>  =09}
> -=09size =3D st.st_size;
> +=09
> +=09/* Check the magic of bzImage kernel */
> +=09hdr =3D (struct setup_header *)image;
> +=09if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) =3D=3D 0 )
> +=09{
> +=09=09if ( hdr->version < VERSION(2,8) )
> +=09=09{
> +=09=09=09printf("%s: boot protocol too old (%04x)", __FUNCTION__, hdr->v=
ersion);
> +=09=09=09return 1;
> +=09=09}
> =20
> -=09usize =3D xc_dom_check_gzip(xch, image, st.st_size);
> +=09=09/* upcast to 64 bits to avoid overflow */
> +=09=09/* setup_sects is u8 and so cannot overflow */
> +=09=09payload_offset =3D (hdr->setup_sects + 1) * 512;
> +=09=09payload_offset +=3D hdr->payload_offset;
> +=09=09payload_length =3D hdr->payload_length;
> +=09=09
> +=09=09if ( payload_offset >=3D st.st_size )
> +=09=09{
> +=09=09=09printf("%s: payload offset overflow", __FUNCTION__);
> +=09=09=09return 1;
> +=09=09}
> +=09=09if ( (payload_offset + payload_length) > st.st_size )
> +=09=09{
> +=09=09=09printf("%s: payload length overflow", __FUNCTION__);
> +=09=09=09return 1;
> +=09=09}
> +
> +=09=09image =3D image + payload_offset;
> +=09=09size =3D payload_length;
> +=09} else {
> +=09=09size =3D st.st_size;
> +=09}
> +
> +=09usize =3D xc_dom_check_gzip(xch, image, size);
>  =09if (usize)
>  =09{
>  =09=09tmp =3D malloc(usize);
> -=09=09xc_dom_do_gunzip(xch, image, st.st_size, tmp, usize);
> +=09=09xc_dom_do_gunzip(xch, image, size, tmp, usize);
>  =09=09image =3D tmp;
>  =09=09size =3D usize;
>  =09}
>=20
>=20
> On Fri, 2012-05-11 at 17:49 +0100, Ian Campbell wrote:
> > On Fri, 2012-05-11 at 17:43 +0100, Ian Jackson wrote:
> > > Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage ker=
nel support"):
> > > > readnote: Add bzImage kernel support
> > >=20
> > > I tried to apply this but I'm afraid it no longer applies to
> > > xen-unstable tip:
> > >=20
> > > patching file tools/xcutils/readnotes.c
> > > Hunk #1 FAILED at 17
> > > Hunk #3 FAILED at 161
> > > 2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readn=
otes.c.rej
> > > abort: patch failed to apply
> > >=20
> > > Ian.
> >=20
> > The most recent change to this file was=20
> >         changeset:   21483:779c0ef9682c
> >         user:        Keir Fraser <keir.fraser@citrix.com>
> >         date:        Fri May 28 09:30:19 2010 +0100
> >         summary:     libxc: eliminate static variables, use xentoollog;=
 API change
> >        =20
> > I expect something else is up -- whitespace mangling perhaps? Or maybe
> > the patch simply isn't based on xen-unstable.hg?
> >=20
> > Ian.
> >=20
> >=20
>=20

This e-mail is intended solely for the person or entity to which it is addr=
essed
and may contain confidential and/or privileged information. Any review, dis=
semination,
copying, printing or other use of this e-mail by persons or entities other =
than the=20
addressee is prohibited. If you have received this e-mail in error, please =
contact
the sender immediately and delete the material from any computer.
To unsubscribe send an email to: Unsubscribe@hitachiconsulting.com=20
Hitachi Consulting (China) Co., Ltd. (HCCD0411)

--=-nmoUZ8ImmCvgRVsJ9wfH
Content-Type: text/x-patch; name=bzipped-kernels-support.diff; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="bzipped-kernels-support.diff"

# HG changeset patch
# Parent d690c7e896a26c54a5ab85458824059de72d5cba
readnote: Add bzImage kernel support

Add the check of bzImage kernel and make it work
with RHEL 6 big zImage kernel

Signed-off-by: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

---
Changed since v1:
  * add additional checks of the offset and length
  * not changing st.st_size, use size instead of st.st_size
 =20
---
Changed since v2:
  * changing decription bzipped kernels to big zImage kernel

diff -r d690c7e896a2 tools/xcutils/readnotes.c
--- a/tools/xcutils/readnotes.c=09Thu Apr 05 11:06:03 2012 +0100
+++ b/tools/xcutils/readnotes.c=09Thu Apr 26 16:53:16 2012 +0800
@@ -18,6 +18,48 @@
=20
 static xc_interface *xch;
=20
+/* According to the implemation of xc_dom_probe_bzimage_kernel() function =
*/
+/* We add support of bzImage kernel */
+/* Copied from tools/libxc/xc_doom_bzImageloader.c */
+struct setup_header {
+=09uint8_t  _pad0[0x1f1];  /* skip uninteresting stuff */
+=09uint8_t  setup_sects;
+=09uint16_t root_flags;
+=09uint32_t syssize;
+=09uint16_t ram_size;
+=09uint16_t vid_mode;
+=09uint16_t root_dev;
+=09uint16_t boot_flag;
+=09uint16_t jump;
+=09uint32_t header;
+#define HDR_MAGIC  "HdrS"
+#define HDR_MAGIC_SZ 4
+=09uint16_t version;
+#define VERSION(h,l) (((h)<<8) | (l))
+=09uint32_t realmode_swtch;
+=09uint16_t start_sys;
+=09uint16_t kernel_version;
+=09uint8_t  type_of_loader;
+=09uint8_t  loadflags;
+=09uint16_t setup_move_size;
+=09uint32_t code32_start;
+=09uint32_t ramdisk_image;
+=09uint32_t ramdisk_size;
+=09uint32_t bootsect_kludge;
+=09uint16_t heap_end_ptr;
+=09uint16_t _pad1;
+=09uint32_t cmd_line_ptr;
+=09uint32_t initrd_addr_max;
+=09uint32_t kernel_alignment;
+=09uint8_t  relocatable_kernel;
+=09uint8_t  _pad2[3];
+=09uint32_t cmdline_size;
+=09uint32_t hardware_subarch;
+=09uint64_t hardware_subarch_data;
+=09uint32_t payload_offset;
+=09uint32_t payload_length;
+} __attribute__((packed));
+
 static void print_string_note(const char *prefix, struct elf_binary *elf,
 =09=09=09      const elf_note *note)
 {
@@ -131,6 +173,9 @@ int main(int argc, char **argv)
 =09const elf_shdr *shdr;
 =09int notes_found =3D 0;
=20
+=09struct setup_header *hdr;
+=09uint64_t payload_offset, payload_length;
+
 =09if (argc !=3D 2)
 =09{
 =09=09fprintf(stderr, "Usage: readnotes <elfimage>\n");
@@ -159,13 +204,45 @@ int main(int argc, char **argv)
 =09=09fprintf(stderr, "Unable to map %s: %s\n", f, strerror(errno));
 =09=09return 1;
 =09}
-=09size =3D st.st_size;
+=09
+=09/* Check the magic of bzImage kernel */
+=09hdr =3D (struct setup_header *)image;
+=09if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) =3D=3D 0 )
+=09{
+=09=09if ( hdr->version < VERSION(2,8) )
+=09=09{
+=09=09=09printf("%s: boot protocol too old (%04x)", __FUNCTION__, hdr->ver=
sion);
+=09=09=09return 1;
+=09=09}
=20
-=09usize =3D xc_dom_check_gzip(xch, image, st.st_size);
+=09=09/* upcast to 64 bits to avoid overflow */
+=09=09/* setup_sects is u8 and so cannot overflow */
+=09=09payload_offset =3D (hdr->setup_sects + 1) * 512;
+=09=09payload_offset +=3D hdr->payload_offset;
+=09=09payload_length =3D hdr->payload_length;
+=09=09
+=09=09if ( payload_offset >=3D st.st_size )
+=09=09{
+=09=09=09printf("%s: payload offset overflow", __FUNCTION__);
+=09=09=09return 1;
+=09=09}
+=09=09if ( (payload_offset + payload_length) > st.st_size )
+=09=09{
+=09=09=09printf("%s: payload length overflow", __FUNCTION__);
+=09=09=09return 1;
+=09=09}
+
+=09=09image =3D image + payload_offset;
+=09=09size =3D payload_length;
+=09} else {
+=09=09size =3D st.st_size;
+=09}
+
+=09usize =3D xc_dom_check_gzip(xch, image, size);
 =09if (usize)
 =09{
 =09=09tmp =3D malloc(usize);
-=09=09xc_dom_do_gunzip(xch, image, st.st_size, tmp, usize);
+=09=09xc_dom_do_gunzip(xch, image, size, tmp, usize);
 =09=09image =3D tmp;
 =09=09size =3D usize;
 =09}
--=-nmoUZ8ImmCvgRVsJ9wfH
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=-nmoUZ8ImmCvgRVsJ9wfH--



From xen-devel-bounces@lists.xen.org Mon May 28 06:56:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 06:56:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYtsM-0007jj-4H; Mon, 28 May 2012 06:56:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xuesen.guo@hitachiconsulting.com>)
	id 1SYtsJ-0007jX-MO
	for xen-devel@lists.xen.org; Mon, 28 May 2012 06:56:20 +0000
Received: from [85.158.143.35:18235] by server-1.bemta-4.messagelabs.com id
	50/8A-00342-29123CF4; Mon, 28 May 2012 06:56:18 +0000
X-Env-Sender: xuesen.guo@hitachiconsulting.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338188176!13548119!1
X-Originating-IP: [207.211.31.55]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA3LjIxMS4zMS41NSA9PiAxNjQ3Nzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23345 invoked from network); 28 May 2012 06:56:17 -0000
Received: from service55-us.mimecast.com (HELO service55-us.mimecast.com)
	(207.211.31.55)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 May 2012 06:56:17 -0000
Received: from HCAZUSCH1.hitachiconsulting.net (63.148.190.198
	[63.148.190.198]) (Using TLS) by service55-us.mimecast.com; Mon, 28 May
	2012 02:56:15 -0400
Received: from HCAZINEXCH1.hitachiconsulting.net (172.16.125.108) by
	HCAZUSCH1.hitachiconsulting.net (172.16.1.119) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 01:56:00 -0500
Received: from [10.67.7.194] (10.67.7.194) by
	HCAZINEXCH1.hitachiconsulting.net (172.16.125.103) with Microsoft SMTP
	Server (TLS) id 14.2.247.3; Mon, 28 May 2012 12:24:39 +0530
From: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338185019.3965.5.camel@goosenl-desktop>
References: <27a6422ac06df8bef75d.1335430449@localhost6.localdomain6>
	<4F992DCF0200007800080283@nat28.tlf.novell.com>
	<1335432002.28015.78.camel@zakaz.uk.xensource.com>
	<1335433871.4742.18.camel@goosenl-desktop>
	<1335487527.4742.19.camel@goosenl-desktop>
	<20397.16795.166767.442835@mariner.uk.xensource.com>
	<1336754967.23818.142.camel@zakaz.uk.xensource.com>
	<1338185019.3965.5.camel@goosenl-desktop>
Organization: Sierra Atlantic
Date: Mon, 28 May 2012 14:54:53 +0800
Message-ID: <1338188093.3965.6.camel@goosenl-desktop>
MIME-Version: 1.0
X-Mailer: Evolution 2.32.2
X-Originating-IP: [10.67.7.194]
X-MC-Unique: 112052802561503001
Content-Type: multipart/mixed; boundary="=-nmoUZ8ImmCvgRVsJ9wfH"
Cc: xen-devel <xen-devel@lists.xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] readnote: Add bzImage kernel support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: Xuesen.Guo@hitachiconsulting.com
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--=-nmoUZ8ImmCvgRVsJ9wfH
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Also the attached is the patch.

On Mon, 2012-05-28 at 14:03 +0800, Xuesen Guo wrote:
> I used the Evolution(GUI) sending patches manually, this might mangle the=
 whitespace of a patch making it impossible to apply.
> According to Linux's email-clients.txt, I resend this patch.
>=20
> # HG changeset patch
> # Parent d690c7e896a26c54a5ab85458824059de72d5cba
> readnote: Add bzImage kernel support
>=20
> Add the check of bzImage kernel and make it work
> with RHEL 6 big zImage kernel
>=20
> Signed-off-by: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
>=20
> ---
> Changed since v1:
>   * add additional checks of the offset and length
>   * not changing st.st_size, use size instead of st.st_size
>  =20
> ---
> Changed since v2:
>   * changing decription bzipped kernels to big zImage kernel
>=20
> diff -r d690c7e896a2 tools/xcutils/readnotes.c
> --- a/tools/xcutils/readnotes.c=09Thu Apr 05 11:06:03 2012 +0100
> +++ b/tools/xcutils/readnotes.c=09Thu Apr 26 16:53:16 2012 +0800
> @@ -18,6 +18,48 @@
> =20
>  static xc_interface *xch;
> =20
> +/* According to the implemation of xc_dom_probe_bzimage_kernel() functio=
n */
> +/* We add support of bzImage kernel */
> +/* Copied from tools/libxc/xc_doom_bzImageloader.c */
> +struct setup_header {
> +=09uint8_t  _pad0[0x1f1];  /* skip uninteresting stuff */
> +=09uint8_t  setup_sects;
> +=09uint16_t root_flags;
> +=09uint32_t syssize;
> +=09uint16_t ram_size;
> +=09uint16_t vid_mode;
> +=09uint16_t root_dev;
> +=09uint16_t boot_flag;
> +=09uint16_t jump;
> +=09uint32_t header;
> +#define HDR_MAGIC  "HdrS"
> +#define HDR_MAGIC_SZ 4
> +=09uint16_t version;
> +#define VERSION(h,l) (((h)<<8) | (l))
> +=09uint32_t realmode_swtch;
> +=09uint16_t start_sys;
> +=09uint16_t kernel_version;
> +=09uint8_t  type_of_loader;
> +=09uint8_t  loadflags;
> +=09uint16_t setup_move_size;
> +=09uint32_t code32_start;
> +=09uint32_t ramdisk_image;
> +=09uint32_t ramdisk_size;
> +=09uint32_t bootsect_kludge;
> +=09uint16_t heap_end_ptr;
> +=09uint16_t _pad1;
> +=09uint32_t cmd_line_ptr;
> +=09uint32_t initrd_addr_max;
> +=09uint32_t kernel_alignment;
> +=09uint8_t  relocatable_kernel;
> +=09uint8_t  _pad2[3];
> +=09uint32_t cmdline_size;
> +=09uint32_t hardware_subarch;
> +=09uint64_t hardware_subarch_data;
> +=09uint32_t payload_offset;
> +=09uint32_t payload_length;
> +} __attribute__((packed));
> +
>  static void print_string_note(const char *prefix, struct elf_binary *elf=
,
>  =09=09=09      const elf_note *note)
>  {
> @@ -131,6 +173,9 @@ int main(int argc, char **argv)
>  =09const elf_shdr *shdr;
>  =09int notes_found =3D 0;
> =20
> +=09struct setup_header *hdr;
> +=09uint64_t payload_offset, payload_length;
> +
>  =09if (argc !=3D 2)
>  =09{
>  =09=09fprintf(stderr, "Usage: readnotes <elfimage>\n");
> @@ -159,13 +204,45 @@ int main(int argc, char **argv)
>  =09=09fprintf(stderr, "Unable to map %s: %s\n", f, strerror(errno));
>  =09=09return 1;
>  =09}
> -=09size =3D st.st_size;
> +=09
> +=09/* Check the magic of bzImage kernel */
> +=09hdr =3D (struct setup_header *)image;
> +=09if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) =3D=3D 0 )
> +=09{
> +=09=09if ( hdr->version < VERSION(2,8) )
> +=09=09{
> +=09=09=09printf("%s: boot protocol too old (%04x)", __FUNCTION__, hdr->v=
ersion);
> +=09=09=09return 1;
> +=09=09}
> =20
> -=09usize =3D xc_dom_check_gzip(xch, image, st.st_size);
> +=09=09/* upcast to 64 bits to avoid overflow */
> +=09=09/* setup_sects is u8 and so cannot overflow */
> +=09=09payload_offset =3D (hdr->setup_sects + 1) * 512;
> +=09=09payload_offset +=3D hdr->payload_offset;
> +=09=09payload_length =3D hdr->payload_length;
> +=09=09
> +=09=09if ( payload_offset >=3D st.st_size )
> +=09=09{
> +=09=09=09printf("%s: payload offset overflow", __FUNCTION__);
> +=09=09=09return 1;
> +=09=09}
> +=09=09if ( (payload_offset + payload_length) > st.st_size )
> +=09=09{
> +=09=09=09printf("%s: payload length overflow", __FUNCTION__);
> +=09=09=09return 1;
> +=09=09}
> +
> +=09=09image =3D image + payload_offset;
> +=09=09size =3D payload_length;
> +=09} else {
> +=09=09size =3D st.st_size;
> +=09}
> +
> +=09usize =3D xc_dom_check_gzip(xch, image, size);
>  =09if (usize)
>  =09{
>  =09=09tmp =3D malloc(usize);
> -=09=09xc_dom_do_gunzip(xch, image, st.st_size, tmp, usize);
> +=09=09xc_dom_do_gunzip(xch, image, size, tmp, usize);
>  =09=09image =3D tmp;
>  =09=09size =3D usize;
>  =09}
>=20
>=20
> On Fri, 2012-05-11 at 17:49 +0100, Ian Campbell wrote:
> > On Fri, 2012-05-11 at 17:43 +0100, Ian Jackson wrote:
> > > Xuesen Guo writes ("Re: [Xen-devel] [PATCH] readnote: Add bzImage ker=
nel support"):
> > > > readnote: Add bzImage kernel support
> > >=20
> > > I tried to apply this but I'm afraid it no longer applies to
> > > xen-unstable tip:
> > >=20
> > > patching file tools/xcutils/readnotes.c
> > > Hunk #1 FAILED at 17
> > > Hunk #3 FAILED at 161
> > > 2 out of 3 hunks FAILED -- saving rejects to file tools/xcutils/readn=
otes.c.rej
> > > abort: patch failed to apply
> > >=20
> > > Ian.
> >=20
> > The most recent change to this file was=20
> >         changeset:   21483:779c0ef9682c
> >         user:        Keir Fraser <keir.fraser@citrix.com>
> >         date:        Fri May 28 09:30:19 2010 +0100
> >         summary:     libxc: eliminate static variables, use xentoollog;=
 API change
> >        =20
> > I expect something else is up -- whitespace mangling perhaps? Or maybe
> > the patch simply isn't based on xen-unstable.hg?
> >=20
> > Ian.
> >=20
> >=20
>=20

This e-mail is intended solely for the person or entity to which it is addr=
essed
and may contain confidential and/or privileged information. Any review, dis=
semination,
copying, printing or other use of this e-mail by persons or entities other =
than the=20
addressee is prohibited. If you have received this e-mail in error, please =
contact
the sender immediately and delete the material from any computer.
To unsubscribe send an email to: Unsubscribe@hitachiconsulting.com=20
Hitachi Consulting (China) Co., Ltd. (HCCD0411)

--=-nmoUZ8ImmCvgRVsJ9wfH
Content-Type: text/x-patch; name=bzipped-kernels-support.diff; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="bzipped-kernels-support.diff"

# HG changeset patch
# Parent d690c7e896a26c54a5ab85458824059de72d5cba
readnote: Add bzImage kernel support

Add the check of bzImage kernel and make it work
with RHEL 6 big zImage kernel

Signed-off-by: Xuesen Guo <Xuesen.Guo@hitachiconsulting.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

---
Changed since v1:
  * add additional checks of the offset and length
  * not changing st.st_size, use size instead of st.st_size
 =20
---
Changed since v2:
  * changing decription bzipped kernels to big zImage kernel

diff -r d690c7e896a2 tools/xcutils/readnotes.c
--- a/tools/xcutils/readnotes.c=09Thu Apr 05 11:06:03 2012 +0100
+++ b/tools/xcutils/readnotes.c=09Thu Apr 26 16:53:16 2012 +0800
@@ -18,6 +18,48 @@
=20
 static xc_interface *xch;
=20
+/* According to the implemation of xc_dom_probe_bzimage_kernel() function =
*/
+/* We add support of bzImage kernel */
+/* Copied from tools/libxc/xc_doom_bzImageloader.c */
+struct setup_header {
+=09uint8_t  _pad0[0x1f1];  /* skip uninteresting stuff */
+=09uint8_t  setup_sects;
+=09uint16_t root_flags;
+=09uint32_t syssize;
+=09uint16_t ram_size;
+=09uint16_t vid_mode;
+=09uint16_t root_dev;
+=09uint16_t boot_flag;
+=09uint16_t jump;
+=09uint32_t header;
+#define HDR_MAGIC  "HdrS"
+#define HDR_MAGIC_SZ 4
+=09uint16_t version;
+#define VERSION(h,l) (((h)<<8) | (l))
+=09uint32_t realmode_swtch;
+=09uint16_t start_sys;
+=09uint16_t kernel_version;
+=09uint8_t  type_of_loader;
+=09uint8_t  loadflags;
+=09uint16_t setup_move_size;
+=09uint32_t code32_start;
+=09uint32_t ramdisk_image;
+=09uint32_t ramdisk_size;
+=09uint32_t bootsect_kludge;
+=09uint16_t heap_end_ptr;
+=09uint16_t _pad1;
+=09uint32_t cmd_line_ptr;
+=09uint32_t initrd_addr_max;
+=09uint32_t kernel_alignment;
+=09uint8_t  relocatable_kernel;
+=09uint8_t  _pad2[3];
+=09uint32_t cmdline_size;
+=09uint32_t hardware_subarch;
+=09uint64_t hardware_subarch_data;
+=09uint32_t payload_offset;
+=09uint32_t payload_length;
+} __attribute__((packed));
+
 static void print_string_note(const char *prefix, struct elf_binary *elf,
 =09=09=09      const elf_note *note)
 {
@@ -131,6 +173,9 @@ int main(int argc, char **argv)
 =09const elf_shdr *shdr;
 =09int notes_found =3D 0;
=20
+=09struct setup_header *hdr;
+=09uint64_t payload_offset, payload_length;
+
 =09if (argc !=3D 2)
 =09{
 =09=09fprintf(stderr, "Usage: readnotes <elfimage>\n");
@@ -159,13 +204,45 @@ int main(int argc, char **argv)
 =09=09fprintf(stderr, "Unable to map %s: %s\n", f, strerror(errno));
 =09=09return 1;
 =09}
-=09size =3D st.st_size;
+=09
+=09/* Check the magic of bzImage kernel */
+=09hdr =3D (struct setup_header *)image;
+=09if ( memcmp(&hdr->header, HDR_MAGIC, HDR_MAGIC_SZ) =3D=3D 0 )
+=09{
+=09=09if ( hdr->version < VERSION(2,8) )
+=09=09{
+=09=09=09printf("%s: boot protocol too old (%04x)", __FUNCTION__, hdr->ver=
sion);
+=09=09=09return 1;
+=09=09}
=20
-=09usize =3D xc_dom_check_gzip(xch, image, st.st_size);
+=09=09/* upcast to 64 bits to avoid overflow */
+=09=09/* setup_sects is u8 and so cannot overflow */
+=09=09payload_offset =3D (hdr->setup_sects + 1) * 512;
+=09=09payload_offset +=3D hdr->payload_offset;
+=09=09payload_length =3D hdr->payload_length;
+=09=09
+=09=09if ( payload_offset >=3D st.st_size )
+=09=09{
+=09=09=09printf("%s: payload offset overflow", __FUNCTION__);
+=09=09=09return 1;
+=09=09}
+=09=09if ( (payload_offset + payload_length) > st.st_size )
+=09=09{
+=09=09=09printf("%s: payload length overflow", __FUNCTION__);
+=09=09=09return 1;
+=09=09}
+
+=09=09image =3D image + payload_offset;
+=09=09size =3D payload_length;
+=09} else {
+=09=09size =3D st.st_size;
+=09}
+
+=09usize =3D xc_dom_check_gzip(xch, image, size);
 =09if (usize)
 =09{
 =09=09tmp =3D malloc(usize);
-=09=09xc_dom_do_gunzip(xch, image, st.st_size, tmp, usize);
+=09=09xc_dom_do_gunzip(xch, image, size, tmp, usize);
 =09=09image =3D tmp;
 =09=09size =3D usize;
 =09}
--=-nmoUZ8ImmCvgRVsJ9wfH
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=-nmoUZ8ImmCvgRVsJ9wfH--



From xen-devel-bounces@lists.xen.org Mon May 28 07:50:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 07:50:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYuhm-0008HJ-Rz; Mon, 28 May 2012 07:49:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SYuhm-0008Gt-0x
	for xen-devel@lists.xen.org; Mon, 28 May 2012 07:49:30 +0000
Received: from [85.158.138.51:24323] by server-5.bemta-3.messagelabs.com id
	52/DE-25552-70E23CF4; Mon, 28 May 2012 07:49:27 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338191367!21349434!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22298 invoked from network); 28 May 2012 07:49:27 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 07:49:27 -0000
Received: by eekd41 with SMTP id d41so664326eek.32
	for <multiple recipients>; Mon, 28 May 2012 00:49:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=2KegckbCtQAFLO9RkLjsoymrS19MbANfyy856iQreis=;
	b=McV8UtIF8xoxB+lXHCuoPSbN6h5Rr2gwk+Jg9Ke0an65KaeeI9Cw914SiY7smxZ99w
	7h01OaoHKMTmesNhiIowQ8FeW9uKYx/TDXdhMcHXCU8LVaZPSvd9QZk8lAXXdNrLzYbK
	hhdiEAcu/8txP7ObI+kFK6eoOaiO3jra/Jy2hER7OYlPIONOGPtDCvJAysFoqu++9yAL
	MCgIPldho/OdXs2GcLnhJOIeoGrOmwwNl4mV9Pt4KFyi/ZGvdAXLqJipjaV3mPHg4W4p
	EYB0JRA+6d3hjPaiANtaz5znRRW0EckLHa9QVAbiEg6PIYmOvN67x6SJncN42RUG2VnI
	FdsQ==
Received: by 10.14.119.142 with SMTP id n14mr1438135eeh.20.1338191366764;
	Mon, 28 May 2012 00:49:26 -0700 (PDT)
Received: from [172.16.25.10] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id u10sm34175731eem.1.2012.05.28.00.49.24
	(version=SSLv3 cipher=OTHER); Mon, 28 May 2012 00:49:25 -0700 (PDT)
Message-ID: <4FC32E03.7030102@xen.org>
Date: Mon, 28 May 2012 08:49:23 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org, xen-arm@lists.xen.org, 
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: [Xen-devel] Quick reminder
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just to let you know that Xen Document Day is on #xendocs

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 07:50:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 07:50:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYuhm-0008HJ-Rz; Mon, 28 May 2012 07:49:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SYuhm-0008Gt-0x
	for xen-devel@lists.xen.org; Mon, 28 May 2012 07:49:30 +0000
Received: from [85.158.138.51:24323] by server-5.bemta-3.messagelabs.com id
	52/DE-25552-70E23CF4; Mon, 28 May 2012 07:49:27 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338191367!21349434!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22298 invoked from network); 28 May 2012 07:49:27 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 07:49:27 -0000
Received: by eekd41 with SMTP id d41so664326eek.32
	for <multiple recipients>; Mon, 28 May 2012 00:49:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type:content-transfer-encoding;
	bh=2KegckbCtQAFLO9RkLjsoymrS19MbANfyy856iQreis=;
	b=McV8UtIF8xoxB+lXHCuoPSbN6h5Rr2gwk+Jg9Ke0an65KaeeI9Cw914SiY7smxZ99w
	7h01OaoHKMTmesNhiIowQ8FeW9uKYx/TDXdhMcHXCU8LVaZPSvd9QZk8lAXXdNrLzYbK
	hhdiEAcu/8txP7ObI+kFK6eoOaiO3jra/Jy2hER7OYlPIONOGPtDCvJAysFoqu++9yAL
	MCgIPldho/OdXs2GcLnhJOIeoGrOmwwNl4mV9Pt4KFyi/ZGvdAXLqJipjaV3mPHg4W4p
	EYB0JRA+6d3hjPaiANtaz5znRRW0EckLHa9QVAbiEg6PIYmOvN67x6SJncN42RUG2VnI
	FdsQ==
Received: by 10.14.119.142 with SMTP id n14mr1438135eeh.20.1338191366764;
	Mon, 28 May 2012 00:49:26 -0700 (PDT)
Received: from [172.16.25.10] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id u10sm34175731eem.1.2012.05.28.00.49.24
	(version=SSLv3 cipher=OTHER); Mon, 28 May 2012 00:49:25 -0700 (PDT)
Message-ID: <4FC32E03.7030102@xen.org>
Date: Mon, 28 May 2012 08:49:23 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org, xen-arm@lists.xen.org, 
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>
Subject: [Xen-devel] Quick reminder
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just to let you know that Xen Document Day is on #xendocs

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:05:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYuwf-0000Y9-41; Mon, 28 May 2012 08:04:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SYuwc-0000Y4-Ti
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:04:51 +0000
Received: from [193.109.254.147:45384] by server-8.bemta-14.messagelabs.com id
	11/04-17829-2A133CF4; Mon, 28 May 2012 08:04:50 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338192288!8737989!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3738 invoked from network); 28 May 2012 08:04:49 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-12.tower-27.messagelabs.com with SMTP;
	28 May 2012 08:04:49 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 28 May 2012 01:04:48 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="148487248"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 28 May 2012 01:04:47 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 28 May 2012 01:04:47 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 16:04:40 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>
Thread-Topic: which Dom0 should I use in my regular testing?
Thread-Index: Ac08qIRddcI2C4t3TniaA7XI16D2+w==
Date: Mon, 28 May 2012 08:04:40 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Jackson,
Our team spares some effort in regular testing against xen-unstable tree.
I know you are doing some testing against xen.
Which Dom0 are you using in your oss test, Konrad's xen.git or upstream linux.git ?
And which Dom0 do you recommend in my regular testing?
(Not sure you are the right person for this question? :-) )

Best Regards,
     Yongjie (Jay)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:05:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYuwf-0000Y9-41; Mon, 28 May 2012 08:04:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SYuwc-0000Y4-Ti
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:04:51 +0000
Received: from [193.109.254.147:45384] by server-8.bemta-14.messagelabs.com id
	11/04-17829-2A133CF4; Mon, 28 May 2012 08:04:50 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338192288!8737989!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mjk0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3738 invoked from network); 28 May 2012 08:04:49 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-12.tower-27.messagelabs.com with SMTP;
	28 May 2012 08:04:49 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 28 May 2012 01:04:48 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="148487248"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 28 May 2012 01:04:47 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 28 May 2012 01:04:47 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 16:04:40 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>
Thread-Topic: which Dom0 should I use in my regular testing?
Thread-Index: Ac08qIRddcI2C4t3TniaA7XI16D2+w==
Date: Mon, 28 May 2012 08:04:40 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi Jackson,
Our team spares some effort in regular testing against xen-unstable tree.
I know you are doing some testing against xen.
Which Dom0 are you using in your oss test, Konrad's xen.git or upstream linux.git ?
And which Dom0 do you recommend in my regular testing?
(Not sure you are the right person for this question? :-) )

Best Regards,
     Yongjie (Jay)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:09:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:09:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYv0Z-0000er-09; Mon, 28 May 2012 08:08:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYv0X-0000eN-Ra
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:08:53 +0000
Received: from [85.158.139.83:55696] by server-10.bemta-5.messagelabs.com id
	38/16-22179-49233CF4; Mon, 28 May 2012 08:08:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338192530!30667386!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13779 invoked from network); 28 May 2012 08:08:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:08:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690120"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:08:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:08:27 +0100
Message-ID: <1338192505.14158.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "lars.kurth@xen.org" <lars.kurth@xen.org>
Date: Mon, 28 May 2012 09:08:25 +0100
In-Reply-To: <4FC32E03.7030102@xen.org>
References: <4FC32E03.7030102@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-arm@lists.xen.org" <xen-arm@lists.xen.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Quick reminder
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 08:49 +0100, Lars Kurth wrote:
> Just to let you know that Xen Document Day is on #xendocs

Heads up: this isn't the same channel as previous docs days ...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:09:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:09:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYv0Z-0000er-09; Mon, 28 May 2012 08:08:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYv0X-0000eN-Ra
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:08:53 +0000
Received: from [85.158.139.83:55696] by server-10.bemta-5.messagelabs.com id
	38/16-22179-49233CF4; Mon, 28 May 2012 08:08:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338192530!30667386!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13779 invoked from network); 28 May 2012 08:08:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:08:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690120"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:08:27 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:08:27 +0100
Message-ID: <1338192505.14158.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "lars.kurth@xen.org" <lars.kurth@xen.org>
Date: Mon, 28 May 2012 09:08:25 +0100
In-Reply-To: <4FC32E03.7030102@xen.org>
References: <4FC32E03.7030102@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-arm@lists.xen.org" <xen-arm@lists.xen.org>,
	"xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [XenARM] Quick reminder
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 08:49 +0100, Lars Kurth wrote:
> Just to let you know that Xen Document Day is on #xendocs

Heads up: this isn't the same channel as previous docs days ...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:13:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:13:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYv4X-0000tX-R3; Mon, 28 May 2012 08:13:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYv4W-0000sy-4N
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:13:00 +0000
Received: from [85.158.143.99:25453] by server-3.bemta-4.messagelabs.com id
	EC/59-05853-88333CF4; Mon, 28 May 2012 08:12:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1338192774!24819635!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27937 invoked from network); 28 May 2012 08:12:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:12:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690294"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:12:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:12:47 +0100
Message-ID: <1338192766.14158.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Florian Heigl <florian.heigl@gmail.com>
Date: Mon, 28 May 2012 09:12:46 +0100
In-Reply-To: <CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
References: <4FBFF5F3.9050101@xen.org>
	<20120525211234.GB21344@phenom.dumpdata.com>
	<CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Lars Kurth <lars.kurth@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [Xen-users] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 22:58 +0100, Florian Heigl wrote:
> Hi,
> 
> I've made some draft for helping distro packagers with knowing if they
> made something that actually works. I wonder if we (xen.org...?) could
> offer a xen host that does regression testing for domU distros. Odd
> idea?
> 
> 
> The doc:
> http://confluence.wartungsfenster.de/display/Adminspace/Xen+domU+functions+checklist

This looks quite useful, perhaps as an addition to
http://wiki.xen.org/wiki/Distros ?
> 
> Just typed it in my own wiki for lazyness. I'll try to be around on
> monday and pull it over to Xen wiki.

See you on #xendocs!

> It's a holiday here, too, but I admit I asked for a doc day that is
> not on a working day. :)

:-D


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:13:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:13:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYv4X-0000tX-R3; Mon, 28 May 2012 08:13:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYv4W-0000sy-4N
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:13:00 +0000
Received: from [85.158.143.99:25453] by server-3.bemta-4.messagelabs.com id
	EC/59-05853-88333CF4; Mon, 28 May 2012 08:12:56 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1338192774!24819635!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27937 invoked from network); 28 May 2012 08:12:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:12:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690294"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:12:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:12:47 +0100
Message-ID: <1338192766.14158.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Florian Heigl <florian.heigl@gmail.com>
Date: Mon, 28 May 2012 09:12:46 +0100
In-Reply-To: <CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
References: <4FBFF5F3.9050101@xen.org>
	<20120525211234.GB21344@phenom.dumpdata.com>
	<CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	"xen-users@lists.xen.org" <xen-users@lists.xen.org>,
	Lars Kurth <lars.kurth@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [Xen-users] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 22:58 +0100, Florian Heigl wrote:
> Hi,
> 
> I've made some draft for helping distro packagers with knowing if they
> made something that actually works. I wonder if we (xen.org...?) could
> offer a xen host that does regression testing for domU distros. Odd
> idea?
> 
> 
> The doc:
> http://confluence.wartungsfenster.de/display/Adminspace/Xen+domU+functions+checklist

This looks quite useful, perhaps as an addition to
http://wiki.xen.org/wiki/Distros ?
> 
> Just typed it in my own wiki for lazyness. I'll try to be around on
> monday and pull it over to Xen wiki.

See you on #xendocs!

> It's a holiday here, too, but I admit I asked for a doc day that is
> not on a working day. :)

:-D


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:31:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:31:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvMH-0001TE-Td; Mon, 28 May 2012 08:31:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SYvMG-0001T9-M4
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:31:20 +0000
Received: from [85.158.143.99:12579] by server-1.bemta-4.messagelabs.com id
	69/13-00342-8D733CF4; Mon, 28 May 2012 08:31:20 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338193877!22560322!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU2NzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18628 invoked from network); 28 May 2012 08:31:18 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:31:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330923600"; d="scan'208";a="196633958"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 04:31:16 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 04:31:15 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SYvMB-0001LH-8v;
	Mon, 28 May 2012 09:31:15 +0100
Message-ID: <4FC337D2.4080609@citrix.com>
Date: Mon, 28 May 2012 09:31:14 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "andres@lagarcavilla.org" <andres@lagarcavilla.org>
References: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Andres Lagar-Cavilla wrote:
> I am getting libxenlight.so and xl link failures, complaining about
> missing login_tty and opentty symbols. The patch below fixes this for me,
> in a quick&  dirty manner.
>
> FYI, not proposing this for the tree. I'm not sure to which extent you
> want to support an oldish distro, whether libutil is universally necessary
> and/or available.

There's a test for libutil in configure, that should set the appropriate 
flags, did you do a make distclean && ./configure after updating your tree?

If so, could you please attach your tools/config.log?

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:31:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:31:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvMH-0001TE-Td; Mon, 28 May 2012 08:31:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SYvMG-0001T9-M4
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:31:20 +0000
Received: from [85.158.143.99:12579] by server-1.bemta-4.messagelabs.com id
	69/13-00342-8D733CF4; Mon, 28 May 2012 08:31:20 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338193877!22560322!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU2NzI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18628 invoked from network); 28 May 2012 08:31:18 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:31:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330923600"; d="scan'208";a="196633958"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 04:31:16 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 04:31:15 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SYvMB-0001LH-8v;
	Mon, 28 May 2012 09:31:15 +0100
Message-ID: <4FC337D2.4080609@citrix.com>
Date: Mon, 28 May 2012 09:31:14 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: "andres@lagarcavilla.org" <andres@lagarcavilla.org>
References: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Andres Lagar-Cavilla wrote:
> I am getting libxenlight.so and xl link failures, complaining about
> missing login_tty and opentty symbols. The patch below fixes this for me,
> in a quick&  dirty manner.
>
> FYI, not proposing this for the tree. I'm not sure to which extent you
> want to support an oldish distro, whether libutil is universally necessary
> and/or available.

There's a test for libutil in configure, that should set the appropriate 
flags, did you do a make distclean && ./configure after updating your tree?

If so, could you please attach your tools/config.log?

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvWP-0001e0-2B; Mon, 28 May 2012 08:41:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYvWN-0001dv-Pq
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:41:48 +0000
Received: from [85.158.139.83:17888] by server-1.bemta-5.messagelabs.com id
	CE/0F-21549-B4A33CF4; Mon, 28 May 2012 08:41:47 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338194506!29174470!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 686 invoked from network); 28 May 2012 08:41:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:41:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690754"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:41:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:41:46 +0100
Message-ID: <1338194504.14158.25.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
Date: Mon, 28 May 2012 09:41:44 +0100
In-Reply-To: <CAP8mzPOMgb4kizVbmjCB0M0bJtW=BcRA4NKHuhYZOqfRAAvw0g@mail.gmail.com>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
	<92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
	<1337965181.3819.10.camel@dagon.hellion.org.uk>
	<CAP8mzPOMgb4kizVbmjCB0M0bJtW=BcRA4NKHuhYZOqfRAAvw0g@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 01:39 +0100, Shriram Rajagopalan wrote:
> On Fri, May 25, 2012 at 12:59 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>         On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:
>         > diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
>         > --- a/docs/man/xl.pod.1       Thu May 17 12:37:07 2012 -0700
>         > +++ b/docs/man/xl.pod.1       Thu May 17 12:37:10 2012 -0700
>         > @@ -381,6 +381,41 @@
>         >
>         >  =back
>         >
>         > +=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
>         > +
>         > +Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
>         > +mechanism between the two hosts.
>         > +
>         
>         > [...]
>         
>         > +
>         > +=item B<-b>
>         > +
>         > +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
>         > +(blackhole).  Network output buffering remains enabled (unless --no-net is
>         > +supplied).  Generally useful for debugging.
>         
>         
>         Unless I'm mistaken the current remus support in (lib)xl doesn't
>         implement either disk or networking replication (and --no-net doesn't
>         seem to exist), at least there as several TODOs to that effect in the
>         code.
>         
>         Please can you send an incremental patch which corrects this.
>         
>         I also think it would be worth mentioning in the intro that "xl remus"
>         as it stands is "proof-of-concept" or "early preview", "experimental" or
>         something along these lines, otherwise people will expect it to be a
>         complete solution, which it isn't.
>         
> 
> Sorry about that. I ll send out a patch.

Thanks.

>  I had actually planned on some
> network buffering support but didnt expect the initial framework patches
> to get held up for so long. :(. In fact, even the network buffering module is
> has been available in mainline kernel (with libnl library support), for the past 3 months.
> But I guess its too late now.

Yes, I'm afraid so, although that needn't stop you posting RFCs for 4.3.

>  
>         More importantly I think the lack of STONITH functionality should be
>         highlighted, since it would be rather dangerous to deploy remus without
>         it.
>         heart
> 
> 
> I think this applies to both xend/xl. Remus traditionally has not had any
> stonith functionality. And if you think about it, separating Remus from the 
> Failover Arbitration (STONITH) gives more flexibility 
> (e.g., kill Backup, in case replication was interrupted by some spurious timeout,
> use custom or off-the-shelf stonith solutions, etc).

So it sound like some documentation is required for what you need to
build around the xm/xl remus support in order to have a fully functional
& safe system? Does anything like that exist? It doesn't seem to be
mentioned in http://nss.cs.ubc.ca/remus/doc.html. Could we add something
into the tree or at least add a pointer to something? The need for this
should also be highlighted in the xl man page I think, otherwise people
will think that all they need to do is run "xl remus", which they could
be forgiven for thinking after having read
http://nss.cs.ubc.ca/remus/doc.html.

> The only thing that was lacking is some sort of notification to an external handler.
> For e.g., on suspected failure, both nodes could invoke some FooBar.sh script which
> would return 0/1 (die/live) and act accordingly.  The onus is on the user who implements
> the FooBar.sh script, to ensure that it doesnt return 1 on both sides. :).
> 
> In fact, I think I have a patch lying around somewhere, that invokes an arbitration
> script, which in turn talks to a Google App engine instance. This was done for 
> wide-area Remus paper.
> 
> Let me post that too.

Please.

Thanks,
Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvWP-0001e0-2B; Mon, 28 May 2012 08:41:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYvWN-0001dv-Pq
	for xen-devel@lists.xen.org; Mon, 28 May 2012 08:41:48 +0000
Received: from [85.158.139.83:17888] by server-1.bemta-5.messagelabs.com id
	CE/0F-21549-B4A33CF4; Mon, 28 May 2012 08:41:47 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338194506!29174470!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 686 invoked from network); 28 May 2012 08:41:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:41:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690754"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:41:46 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:41:46 +0100
Message-ID: <1338194504.14158.25.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
Date: Mon, 28 May 2012 09:41:44 +0100
In-Reply-To: <CAP8mzPOMgb4kizVbmjCB0M0bJtW=BcRA4NKHuhYZOqfRAAvw0g@mail.gmail.com>
References: <patchbomb.1337284131@athos.nss.cs.ubc.ca>
	<92bf8bd9ae5783a8126f.1337284133@athos.nss.cs.ubc.ca>
	<1337965181.3819.10.camel@dagon.hellion.org.uk>
	<CAP8mzPOMgb4kizVbmjCB0M0bJtW=BcRA4NKHuhYZOqfRAAvw0g@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 2 V6] libxl: Remus - xl remus command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 01:39 +0100, Shriram Rajagopalan wrote:
> On Fri, May 25, 2012 at 12:59 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>         On Thu, 2012-05-17 at 20:48 +0100, Shriram Rajagopalan wrote:
>         > diff -r 496ff6ce5bb6 -r 92bf8bd9ae57 docs/man/xl.pod.1
>         > --- a/docs/man/xl.pod.1       Thu May 17 12:37:07 2012 -0700
>         > +++ b/docs/man/xl.pod.1       Thu May 17 12:37:10 2012 -0700
>         > @@ -381,6 +381,41 @@
>         >
>         >  =back
>         >
>         > +=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
>         > +
>         > +Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
>         > +mechanism between the two hosts.
>         > +
>         
>         > [...]
>         
>         > +
>         > +=item B<-b>
>         > +
>         > +Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
>         > +(blackhole).  Network output buffering remains enabled (unless --no-net is
>         > +supplied).  Generally useful for debugging.
>         
>         
>         Unless I'm mistaken the current remus support in (lib)xl doesn't
>         implement either disk or networking replication (and --no-net doesn't
>         seem to exist), at least there as several TODOs to that effect in the
>         code.
>         
>         Please can you send an incremental patch which corrects this.
>         
>         I also think it would be worth mentioning in the intro that "xl remus"
>         as it stands is "proof-of-concept" or "early preview", "experimental" or
>         something along these lines, otherwise people will expect it to be a
>         complete solution, which it isn't.
>         
> 
> Sorry about that. I ll send out a patch.

Thanks.

>  I had actually planned on some
> network buffering support but didnt expect the initial framework patches
> to get held up for so long. :(. In fact, even the network buffering module is
> has been available in mainline kernel (with libnl library support), for the past 3 months.
> But I guess its too late now.

Yes, I'm afraid so, although that needn't stop you posting RFCs for 4.3.

>  
>         More importantly I think the lack of STONITH functionality should be
>         highlighted, since it would be rather dangerous to deploy remus without
>         it.
>         heart
> 
> 
> I think this applies to both xend/xl. Remus traditionally has not had any
> stonith functionality. And if you think about it, separating Remus from the 
> Failover Arbitration (STONITH) gives more flexibility 
> (e.g., kill Backup, in case replication was interrupted by some spurious timeout,
> use custom or off-the-shelf stonith solutions, etc).

So it sound like some documentation is required for what you need to
build around the xm/xl remus support in order to have a fully functional
& safe system? Does anything like that exist? It doesn't seem to be
mentioned in http://nss.cs.ubc.ca/remus/doc.html. Could we add something
into the tree or at least add a pointer to something? The need for this
should also be highlighted in the xl man page I think, otherwise people
will think that all they need to do is run "xl remus", which they could
be forgiven for thinking after having read
http://nss.cs.ubc.ca/remus/doc.html.

> The only thing that was lacking is some sort of notification to an external handler.
> For e.g., on suspected failure, both nodes could invoke some FooBar.sh script which
> would return 0/1 (die/live) and act accordingly.  The onus is on the user who implements
> the FooBar.sh script, to ensure that it doesnt return 1 on both sides. :).
> 
> In fact, I think I have a patch lying around somewhere, that invokes an arbitration
> script, which in turn talks to a Google App engine instance. This was done for 
> wide-area Remus paper.
> 
> Let me post that too.

Please.

Thanks,
Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:42:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:42:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvWn-0001fM-Ew; Mon, 28 May 2012 08:42:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYvWl-0001f5-9d
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 08:42:11 +0000
Received: from [85.158.139.83:51596] by server-1.bemta-5.messagelabs.com id
	74/CF-21549-26A33CF4; Mon, 28 May 2012 08:42:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338194530!30680351!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2280 invoked from network); 28 May 2012 08:42:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:42:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690763"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:42:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:42:09 +0100
Message-ID: <1338194528.14158.26.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: David Miller <davem@davemloft.net>
Date: Mon, 28 May 2012 09:42:08 +0100
In-Reply-To: <20120524.162117.2167559109226305167.davem@davemloft.net>
References: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
	<20120524.162117.2167559109226305167.davem@davemloft.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"adnan.misherfi@oracle.com" <adnan.misherfi@oracle.com>,
	Simon Graham <simon.graham@citrix.com>,
	"bhutchings@solarflare.com" <bhutchings@solarflare.com>
Subject: Re: [Xen-devel] [PATCH] xen/netback: Calculate the number of SKB
 slots required correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 21:21 +0100, David Miller wrote:
> From: Simon Graham <simon.graham@citrix.com>
> Date: Thu, 24 May 2012 12:26:07 -0400
> 
> > When calculating the number of slots required for a packet header, the code
> > was reserving too many slots if the header crossed a page boundary. Since
> > netbk_gop_skb copies the header to the start of the page, the count of
> > slots required for the header should be based solely on the header size.
> > 
> > This problem is easy to reproduce if a VIF is bridged to a USB 3G modem
> > device as the skb->data value always starts near the end of the first page.
> > 
> > Signed-off-by: Simon Graham <simon.graham@citrix.com>
> 
> Applied.

Thanks both!

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:42:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:42:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvWn-0001fM-Ew; Mon, 28 May 2012 08:42:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYvWl-0001f5-9d
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 08:42:11 +0000
Received: from [85.158.139.83:51596] by server-1.bemta-5.messagelabs.com id
	74/CF-21549-26A33CF4; Mon, 28 May 2012 08:42:10 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338194530!30680351!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk1Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2280 invoked from network); 28 May 2012 08:42:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:42:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,669,1330905600"; d="scan'208";a="12690763"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 08:42:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 09:42:09 +0100
Message-ID: <1338194528.14158.26.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: David Miller <davem@davemloft.net>
Date: Mon, 28 May 2012 09:42:08 +0100
In-Reply-To: <20120524.162117.2167559109226305167.davem@davemloft.net>
References: <1337876767-16041-1-git-send-email-simon.graham@citrix.com>
	<20120524.162117.2167559109226305167.davem@davemloft.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"adnan.misherfi@oracle.com" <adnan.misherfi@oracle.com>,
	Simon Graham <simon.graham@citrix.com>,
	"bhutchings@solarflare.com" <bhutchings@solarflare.com>
Subject: Re: [Xen-devel] [PATCH] xen/netback: Calculate the number of SKB
 slots required correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 21:21 +0100, David Miller wrote:
> From: Simon Graham <simon.graham@citrix.com>
> Date: Thu, 24 May 2012 12:26:07 -0400
> 
> > When calculating the number of slots required for a packet header, the code
> > was reserving too many slots if the header crossed a page boundary. Since
> > netbk_gop_skb copies the header to the start of the page, the count of
> > slots required for the header should be based solely on the header size.
> > 
> > This problem is easy to reproduce if a VIF is bridged to a USB 3G modem
> > device as the skb->data value always starts near the end of the first page.
> > 
> > Signed-off-by: Simon Graham <simon.graham@citrix.com>
> 
> Applied.

Thanks both!

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvgY-0001vQ-Ic; Mon, 28 May 2012 08:52:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SYvgW-0001vL-S1
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 08:52:17 +0000
Received: from [85.158.143.99:19090] by server-3.bemta-4.messagelabs.com id
	83/B8-05853-0CC33CF4; Mon, 28 May 2012 08:52:16 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338195133!22563683!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2297 invoked from network); 28 May 2012 08:52:15 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:52:15 -0000
Received: by obfk16 with SMTP id k16so7077597obf.30
	for <xen-devel@lists.xensource.com>;
	Mon, 28 May 2012 01:52:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=GWqR/TLrvur7DaA0BtdeChDORKb7JVEAIoNzm0QJdBA=;
	b=DViDmCU3o1+34a6TX65F2zca/5oKbukU4jp1bTmf3vRfA66qwL8ANuDbE1n5p4cV7V
	SDY0w4tNbIFyKJkrbbjAnfjdBQWhrHMtvWtD6mPQh8lNnHpOBAP9Sy6yJ99Whj9oan40
	ikk8X7TBOKQu9OC8DJ+ER+25aH96++wtZNKPPadb1ESV2aKbTvnGWBSoHgIvP3xNwfPR
	5tbOfKUHH7TWiRZ3E/r0eKWaYjtG7YPR0DUUaJ4llWAfqJgEg0dMbPUN3G8Sfg1sFq60
	gIQkji9CBuZdamnVJa0WAm6ene/k4y2AqmZfOn7CYpUNZRSXuM6m3DrtU/OLOY3DolTy
	ZWew==
MIME-Version: 1.0
Received: by 10.60.14.68 with SMTP id n4mr7216130oec.24.1338195133478; Mon, 28
	May 2012 01:52:13 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Mon, 28 May 2012 01:52:13 -0700 (PDT)
Date: Mon, 28 May 2012 16:52:13 +0800
Message-ID: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: "Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Cc: "ian.jackson" <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

refactor the code of stdvga option support.

Be ready to add and describe new vga interface

Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>

diff -r 592d15bd4d5e tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_create.c	Mon May 28 16:10:02 2012 +0800
@@ -189,7 +189,6 @@ int libxl__domain_build_info_setdefault(
             if (!b_info->u.hvm.boot) return ERROR_NOMEM;
         }

-        libxl_defbool_setdefault(&b_info->u.hvm.stdvga, false);
         libxl_defbool_setdefault(&b_info->u.hvm.vnc.enable, true);
         if (libxl_defbool_val(b_info->u.hvm.vnc.enable)) {
             libxl_defbool_setdefault(&b_info->u.hvm.vnc.findunused, true);
diff -r 592d15bd4d5e tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Mon May 28 16:10:02 2012 +0800
@@ -175,8 +175,13 @@ static char ** libxl__build_device_model
                                    libxl__sizekb_to_mb(b_info->video_memkb)),
                     NULL);
         }
-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
+
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
             flexarray_append(dm_args, "-std-vga");
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
@@ -418,8 +423,12 @@ static char ** libxl__build_device_model
             flexarray_append(dm_args, spiceoptions);
         }

-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
-                flexarray_vappend(dm_args, "-vga", "std", NULL);
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
+            flexarray_vappend(dm_args, "-vga", "std", NULL);
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Mon May 28 16:10:02 2012 +0800
@@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
     (4, "watchdog"),
     ])

+libxl_vga_interface_type = Enumeration("vga_interface_type", [
+    (0, "DEFAULT"),
+    (1, "STD"),
+    ])
+
 #
 # Complex libxl types
 #
+
+libxl_vga_interface_info = Struct("vga_interface_info", [
+    ("type",    libxl_vga_interface_type),
+    ("vramkb",  MemKB),
+    ])
+
 libxl_vnc_info = Struct("vnc_info", [
     ("enable",        libxl_defbool),
     # "address:port" that should be listened on
@@ -286,7 +297,7 @@ libxl_domain_build_info = Struct("domain
                                        ("nested_hvm",       libxl_defbool),
                                        ("incr_generationid",libxl_defbool),
                                        ("nographic",        libxl_defbool),
-                                       ("stdvga",           libxl_defbool),
+                                       ("vga",
libxl_vga_interface_info),
                                        ("vnc",              libxl_vnc_info),
                                        # keyboard layout, default is
en-us keyboard
                                        ("keymap",           string),
diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 28 16:10:02 2012 +0800
@@ -1256,7 +1256,12 @@ skip_vfb:
 #undef parse_extra_args

     if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.stdvga, 0);
+        libxl_defbool vga;
+        b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_DEFAULT;
+        if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
+            if (libxl_defbool_val(vga))
+                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
+
         xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
         xlu_cfg_replace_string (config, "vnclisten",
                                 &b_info->u.hvm.vnc.listen, 0);
diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Mon May 28 16:10:02 2012 +0800
@@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
                libxl_defbool_to_string(b_info->u.hvm.nested_hvm));
         printf("\t\t\t(no_incr_generationid %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.incr_generationid));
-        printf("\t\t\t(stdvga %s)\n",
-               libxl_defbool_to_string(b_info->u.hvm.stdvga));
+        libxl_defbool stdvga;
+        libxl_defbool_set(&stdvga,
+                   b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD);
+        printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(stdvga));
         printf("\t\t\t(vnc %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vnc.enable));
         printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.listen);

-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 08:52:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 08:52:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvgY-0001vQ-Ic; Mon, 28 May 2012 08:52:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SYvgW-0001vL-S1
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 08:52:17 +0000
Received: from [85.158.143.99:19090] by server-3.bemta-4.messagelabs.com id
	83/B8-05853-0CC33CF4; Mon, 28 May 2012 08:52:16 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338195133!22563683!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2297 invoked from network); 28 May 2012 08:52:15 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 08:52:15 -0000
Received: by obfk16 with SMTP id k16so7077597obf.30
	for <xen-devel@lists.xensource.com>;
	Mon, 28 May 2012 01:52:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=GWqR/TLrvur7DaA0BtdeChDORKb7JVEAIoNzm0QJdBA=;
	b=DViDmCU3o1+34a6TX65F2zca/5oKbukU4jp1bTmf3vRfA66qwL8ANuDbE1n5p4cV7V
	SDY0w4tNbIFyKJkrbbjAnfjdBQWhrHMtvWtD6mPQh8lNnHpOBAP9Sy6yJ99Whj9oan40
	ikk8X7TBOKQu9OC8DJ+ER+25aH96++wtZNKPPadb1ESV2aKbTvnGWBSoHgIvP3xNwfPR
	5tbOfKUHH7TWiRZ3E/r0eKWaYjtG7YPR0DUUaJ4llWAfqJgEg0dMbPUN3G8Sfg1sFq60
	gIQkji9CBuZdamnVJa0WAm6ene/k4y2AqmZfOn7CYpUNZRSXuM6m3DrtU/OLOY3DolTy
	ZWew==
MIME-Version: 1.0
Received: by 10.60.14.68 with SMTP id n4mr7216130oec.24.1338195133478; Mon, 28
	May 2012 01:52:13 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Mon, 28 May 2012 01:52:13 -0700 (PDT)
Date: Mon, 28 May 2012 16:52:13 +0800
Message-ID: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: "Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Cc: "ian.jackson" <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

refactor the code of stdvga option support.

Be ready to add and describe new vga interface

Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>

diff -r 592d15bd4d5e tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_create.c	Mon May 28 16:10:02 2012 +0800
@@ -189,7 +189,6 @@ int libxl__domain_build_info_setdefault(
             if (!b_info->u.hvm.boot) return ERROR_NOMEM;
         }

-        libxl_defbool_setdefault(&b_info->u.hvm.stdvga, false);
         libxl_defbool_setdefault(&b_info->u.hvm.vnc.enable, true);
         if (libxl_defbool_val(b_info->u.hvm.vnc.enable)) {
             libxl_defbool_setdefault(&b_info->u.hvm.vnc.findunused, true);
diff -r 592d15bd4d5e tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Mon May 28 16:10:02 2012 +0800
@@ -175,8 +175,13 @@ static char ** libxl__build_device_model
                                    libxl__sizekb_to_mb(b_info->video_memkb)),
                     NULL);
         }
-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
+
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
             flexarray_append(dm_args, "-std-vga");
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
@@ -418,8 +423,12 @@ static char ** libxl__build_device_model
             flexarray_append(dm_args, spiceoptions);
         }

-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
-                flexarray_vappend(dm_args, "-vga", "std", NULL);
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
+            flexarray_vappend(dm_args, "-vga", "std", NULL);
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Mon May 28 16:10:02 2012 +0800
@@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
     (4, "watchdog"),
     ])

+libxl_vga_interface_type = Enumeration("vga_interface_type", [
+    (0, "DEFAULT"),
+    (1, "STD"),
+    ])
+
 #
 # Complex libxl types
 #
+
+libxl_vga_interface_info = Struct("vga_interface_info", [
+    ("type",    libxl_vga_interface_type),
+    ("vramkb",  MemKB),
+    ])
+
 libxl_vnc_info = Struct("vnc_info", [
     ("enable",        libxl_defbool),
     # "address:port" that should be listened on
@@ -286,7 +297,7 @@ libxl_domain_build_info = Struct("domain
                                        ("nested_hvm",       libxl_defbool),
                                        ("incr_generationid",libxl_defbool),
                                        ("nographic",        libxl_defbool),
-                                       ("stdvga",           libxl_defbool),
+                                       ("vga",
libxl_vga_interface_info),
                                        ("vnc",              libxl_vnc_info),
                                        # keyboard layout, default is
en-us keyboard
                                        ("keymap",           string),
diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 28 16:10:02 2012 +0800
@@ -1256,7 +1256,12 @@ skip_vfb:
 #undef parse_extra_args

     if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.stdvga, 0);
+        libxl_defbool vga;
+        b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_DEFAULT;
+        if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
+            if (libxl_defbool_val(vga))
+                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
+
         xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
         xlu_cfg_replace_string (config, "vnclisten",
                                 &b_info->u.hvm.vnc.listen, 0);
diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Mon May 28 16:10:02 2012 +0800
@@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
                libxl_defbool_to_string(b_info->u.hvm.nested_hvm));
         printf("\t\t\t(no_incr_generationid %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.incr_generationid));
-        printf("\t\t\t(stdvga %s)\n",
-               libxl_defbool_to_string(b_info->u.hvm.stdvga));
+        libxl_defbool stdvga;
+        libxl_defbool_set(&stdvga,
+                   b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD);
+        printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(stdvga));
         printf("\t\t\t(vnc %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vnc.enable));
         printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.listen);

-- 
Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:04:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:04:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvre-0002GX-Dq; Mon, 28 May 2012 09:03:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SYvrc-0002GB-RO
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:03:44 +0000
Received: from [193.109.254.147:53459] by server-2.bemta-14.messagelabs.com id
	08/D1-12884-F6F33CF4; Mon, 28 May 2012 09:03:43 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338195822!11534107!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14544 invoked from network); 28 May 2012 09:03:43 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:03:43 -0000
Received: by eekd41 with SMTP id d41so692872eek.32
	for <multiple recipients>; Mon, 28 May 2012 02:03:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=/3qR84SBcyZo1IUUo2wjnzZmHC6FnExSjTAx8VX4Wb8=;
	b=lQXQ6aja1QkyZF3r43iQg+LQkhmEuDNLlv+TC9XKlKX4YYOqZWb/Fvu4CO4mR+4Ce7
	MWzUCgCMTmSNnlQD4ThuL1fWZNaz9Wcj3HIR2UxRrO/QusqzFo/V4JXyepiLnunsoWxK
	yXyJ28DsCOtLTnu3MIUw1Jx/iosuFsXEFxJvsxZrWVPfE/WFzrbcbzF7iUMc13iFPatk
	+O6vTFOPevpw8h6pUfdbmUx2DKlGlUbCvkp/6Msd55mlOwobaiiMIDsfvyPUo2l3bnZV
	lUxFZeL4chQsQZs8YfEZuu6iGlj+3Ss9j4VuGFIL9W1Iwm5h5HDLNLZq7thpbuZ1FOjx
	BNDA==
Received: by 10.14.48.11 with SMTP id u11mr1527071eeb.186.1338195822528;
	Mon, 28 May 2012 02:03:42 -0700 (PDT)
Received: from [172.16.25.10] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id t3sm34797877eeb.15.2012.05.28.02.03.40
	(version=SSLv3 cipher=OTHER); Mon, 28 May 2012 02:03:41 -0700 (PDT)
Message-ID: <4FC33F6B.5000601@xen.org>
Date: Mon, 28 May 2012 10:03:39 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Florian Heigl <florian.heigl@gmail.com>
References: <4FBFF5F3.9050101@xen.org>
	<20120525211234.GB21344@phenom.dumpdata.com>
	<CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
In-Reply-To: <CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
Cc: xen-users@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	xen-devel@lists.xen.org, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [Xen-users] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25/05/2012 22:58, Florian Heigl wrote:
> It's a holiday here, too, but I admit I asked for a doc day that is
> not on a working day. :)
I do remember that (-: That shows that these things just happen by 
chance (without design) due to holidays happening at different dates in 
different countries

It is Pfingsten in Germany, isn't it?

Lars

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:04:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:04:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYvre-0002GX-Dq; Mon, 28 May 2012 09:03:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SYvrc-0002GB-RO
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:03:44 +0000
Received: from [193.109.254.147:53459] by server-2.bemta-14.messagelabs.com id
	08/D1-12884-F6F33CF4; Mon, 28 May 2012 09:03:43 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338195822!11534107!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14544 invoked from network); 28 May 2012 09:03:43 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:03:43 -0000
Received: by eekd41 with SMTP id d41so692872eek.32
	for <multiple recipients>; Mon, 28 May 2012 02:03:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to:cc
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=/3qR84SBcyZo1IUUo2wjnzZmHC6FnExSjTAx8VX4Wb8=;
	b=lQXQ6aja1QkyZF3r43iQg+LQkhmEuDNLlv+TC9XKlKX4YYOqZWb/Fvu4CO4mR+4Ce7
	MWzUCgCMTmSNnlQD4ThuL1fWZNaz9Wcj3HIR2UxRrO/QusqzFo/V4JXyepiLnunsoWxK
	yXyJ28DsCOtLTnu3MIUw1Jx/iosuFsXEFxJvsxZrWVPfE/WFzrbcbzF7iUMc13iFPatk
	+O6vTFOPevpw8h6pUfdbmUx2DKlGlUbCvkp/6Msd55mlOwobaiiMIDsfvyPUo2l3bnZV
	lUxFZeL4chQsQZs8YfEZuu6iGlj+3Ss9j4VuGFIL9W1Iwm5h5HDLNLZq7thpbuZ1FOjx
	BNDA==
Received: by 10.14.48.11 with SMTP id u11mr1527071eeb.186.1338195822528;
	Mon, 28 May 2012 02:03:42 -0700 (PDT)
Received: from [172.16.25.10] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id t3sm34797877eeb.15.2012.05.28.02.03.40
	(version=SSLv3 cipher=OTHER); Mon, 28 May 2012 02:03:41 -0700 (PDT)
Message-ID: <4FC33F6B.5000601@xen.org>
Date: Mon, 28 May 2012 10:03:39 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Florian Heigl <florian.heigl@gmail.com>
References: <4FBFF5F3.9050101@xen.org>
	<20120525211234.GB21344@phenom.dumpdata.com>
	<CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
In-Reply-To: <CAFivhPm9SaRmVi248aNfMKM04xhUU-XTQ6zC2-4EuPwC7exTNA@mail.gmail.com>
Cc: xen-users@lists.xen.org, "xen-api@lists.xen.org" <xen-api@lists.xen.org>,
	xen-devel@lists.xen.org, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [Xen-users] [Xen-API] Xen Document Day: May 28th
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 25/05/2012 22:58, Florian Heigl wrote:
> It's a holiday here, too, but I admit I asked for a doc day that is
> not on a working day. :)
I do remember that (-: That shows that these things just happen by 
chance (without design) due to holidays happening at different dates in 
different countries

It is Pfingsten in Germany, isn't it?

Lars

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwBW-0002m2-1D; Mon, 28 May 2012 09:24:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwBT-0002lv-Q0
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:24:16 +0000
Received: from [85.158.139.83:11840] by server-1.bemta-5.messagelabs.com id
	16/32-21549-E3443CF4; Mon, 28 May 2012 09:24:14 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338197054!30618061!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8544 invoked from network); 28 May 2012 09:24:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:24:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691626"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:23:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:23:31 +0100
Message-ID: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 28 May 2012 10:23:30 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpJdCBzZWVtcyBwcmV0dHkgb2J2aW91cyBhdCB0aGlzIHN0YWdlIHRoYXQgd2UgYXJlIG5v
dCBnb2luZyB0byBiZQpkb2luZyBhbiBSQyBpbiBNaWQvTGF0ZSBNYXkuIFRoZSBiaWcgcmVtYWlu
aW5nIGl0ZW1zIGFyZSBiZWluZwphY3RpdmVseSB3b3JrZWQgb24gYW5kIGFyZSBxdWl0ZSB3ZWxs
IHVuZGVyc3Rvb2QuIEkndmUgYWxzbyBkb25lIGEKcGFzcyB0aHJvdWdoIHRoZSB0b29scyBibG9j
a2VycyBsaXN0IGFuZCBoYXZlIHByb3Bvc2VkIG1vdmluZyBzb21lCml0ZW1zIHRvIHRoZSBOaWNl
IFRvIEhhdmUgbGlzdC4KClRoZSB1cGRhdGVkIFRPRE8gbGlzdCBmb2xsb3dzLiBQZXIgdGhlIHJl
bGVhc2UgcGxhbiBhIHN0cm9uZyBjYXNlIHdpbGwKbm93IGhhdmUgdG8gYmUgbWFkZSBhcyB0byB3
aHkgbmV3IGl0ZW1zIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgbGlzdCwKZXNwZWNpYWxseSBhcyBh
IGJsb2NrZXIsIHJhdGhlciB0aGFuIGRlZmVycmVkIHRvIDQuMy4KCklmIHlvdSBhcmUgYXdhcmUg
b2YgYW55IGJ1Z3Mgd2hpY2ggbXVzdC9zaG91bGQgYmUgZml4ZWQgZm9yIDQuMiB0aGVuCnBsZWFz
ZSByZXBseSB0byB0aGlzIHRocmVhZCAob3RoZXJ3aXNlIEkgbWF5IG5vdCByZW1lbWJlciB0byBw
aWNrIHRoZW0KdXAgbmV4dCB3ZWVrKQoKT3RoZXIgdGhhbiB0aGF0IEkgdGhpbmsgd2Ugc2hvdWxk
IGNvbnNpZGVyIHRoZSBmcmVlemUgdG8gYmUgaW4gZnVsbAplZmZlY3QgYW5kIHRoZSBiYXIgdG8g
ZW50cnkgdG8gNC4yIHRvIGJlIHZlcnkgaGlnaC4KCmh5cGVydmlzb3IsIGJsb2NrZXJzOgoKICAg
ICogTm9uZQogCnRvb2xzLCBibG9ja2VyczoKCiAgICAqIGxpYnhsIHN0YWJsZSBBUEkgLS0gd2Ug
d291bGQgbGlrZSA0LjIgdG8gZGVmaW5lIGEgc3RhYmxlIEFQSQogICAgICB3aGljaCBkb3duc3Ry
ZWFtJ3MgY2FuIHN0YXJ0IHRvIHJlbHkgb24gbm90IGNoYW5naW5nLiBBc3BlY3RzIG9mCiAgICAg
IHRoaXMgYXJlOgoKICAgICAgICAqIGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVtb3J5L2xpYnhsX3dh
aXRfZm9yX21lbW9yeV90YXJnZXQuCiAgICAgICAgICBJbnRlcmZhY2UgbmVlZHMgYW4gb3Zlcmhh
dWwsIHJlbGF0ZWQgdG8KICAgICAgICAgIGxvY2tpbmcvc2VyaWFsaXphdGlvbiBvdmVyIGRvbWFp
biBjcmVhdGUgKGRlZmVycmVkIHRvCiAgICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFi
b3V0IHRoaXMgaW50ZXJmYWNlIGJlaW5nCiAgICAgICAgICBzdWJzdGFuZGFyZCBidXQgb3RoZXJ3
aXNlIGRlZmVyIHRvIDQuMy4gV2lsbCBtb3ZlIHRvIE5pY2UgVG8KICAgICAgICAgIEhhdmUncyBu
ZXh0IHdlZWsuCgogICAgICAgICogbGlieGxfKl9wYXRoLiBNYWpvcml0eSBtYWRlIGludGVybmFs
LCBvbmx5IGNvbmZpZ2RpciBhbmQKICAgICAgICAgIGxvY2tkaXIgcmVtYWluIHB1YmxpYyAodXNl
ZCBieSB4bCkuIChJYW5DLCB0byBjb25zaWRlcgogICAgICAgICAgbW92aW5nIHRoZSB0d28gcmVh
bWluaW5nIGludG8geGwgaW5zdGVhZCBvZiBsaWJ4bCwgd2lsbCBtb3ZlCiAgICAgICAgICB0byBO
aWNlIFRvIEhhdmUncyBuZXh0IHdlZWspCgogICAgICAgICogSW50ZXJmYWNlcyB3aGljaCBtYXkg
bmVlZCB0byBiZSBhc3luYzoKCiAgICAgICAgICAgICogbGlieGxfZG9tYWluX3N1c3BlbmQuIE1v
dmUgeGNfZG9tYWluX3NhdmUvcmVzdG9yZSBpbnRvIGEKICAgICAgICAgICAgICBzZXBhcmF0ZSBw
cm9jZXNzIChJYW5KLCBSRkMgcG9zdGVkLCB3b3JrIG9uZ29pbmcpLgoKICAgICAgICAgICAgKiBs
aWJ4bF9kZXZpY2Vfe2Rpc2ssbmljLHZrYixhZGQscGNpfV9hZGQgKGFuZAogICAgICAgICAgICAg
IHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sgYXMgcGFydCBvZiBob3RwbHVn
CiAgICAgICAgICAgICAgc2NyaXB0IHNlcmllcyBhbmQgYWRkcyBpbmZyYXN0cnVjdHVyZSB3aGlj
aCBzaG91bGQgbWFrZQogICAgICAgICAgICAgIHRoZSBvdGhlcnMgdHJpdmlhbC4gKFJvZ2VyLCBX
SVApCgogICAgICAgICAgICAqIGxpYnhsX2Nkcm9tX2luc2VydC4gU2hvdWxkIGJlIGVhc3kgb25j
ZQogICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9IGRvbmUuIE5vYm9keSBpcyBsb29raW5n
IGF0IHRoaXM/IFRoaXMKICAgICAgICAgICAgICBpcyBiYXNpY2FsbHkgYSBoZWxwZXIgZnVuY3Rp
b24gYW5kIGl0cyBmdW5jdGlvbmFsaXR5IGNhbgogICAgICAgICAgICAgIGJlIGltcGxlbWVudGVk
IGluIHRlcm1zIG9mIHRoZSBsaWJ4bF9kaXNrXyoKICAgICAgICAgICAgICBpbnRlcmZhY2VzLiBX
ZSBjb3VsZCB0aGVyZWZvcmUgY29uc2lkZXIgbWFya2luZyB0aGlzCiAgICAgICAgICAgICAgZnVu
Y3Rpb24gYXMgc3Vic3RhbmRhcmQgYW5kIHN1YmplY3QgdG8gY2hhbmdlIGluIHRoZQogICAgICAg
ICAgICAgIGZ1dHVyZS4gV2UgY291bGQgYWxzbyBjb25zaWRlciBzaW1wbHkgbW92aW5nIGl0IGlu
dG8geGwKICAgICAgICAgICAgICBhcyBhIGhlbHBlciBmdW5jdGlvbiBhbmQgcmV2aXN0aW5nIGZv
ciA0LjMuCgogICAgKiB4bCBjb21wYXRpYmlsaXR5IHdpdGggeG06CgogICAgICAgICogW0JVR10g
Y2Fubm90IGNyZWF0ZSBhbiBlbXB0eSBDRC1ST00gZHJpdmUgb24gSFZNIGd1ZXN0LAogICAgICAg
ICAgcmVwb3J0ZWQgYnkgRmFiaW8gRmFudG9uaSBpbiA8NEY5NjcyREQuMjA4MDkwMkB0aXNjYWxp
Lml0PgoKICAgICAgICAqIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgdHJ5IHRvIHNlbGVjdCBhIChz
ZXQgb2YpIG5vZGUocykgb24KICAgICAgICAgIHdoaWNoIHRvIGNyZWF0ZSBhIFZNIGFuZCBwaW4g
aXRzIHZjcHVzIHRoZXJlLiAoRGFyaW8KICAgICAgICAgIEZhZ2dpb2xpLCBwYXRjaGVzIHBvc3Rl
ZCkKCiAgICAgICAgKiBgY3B1cz1bMiwzXWAgdG8gc2VsZWN0IHNwZWNpZmljIG1hcHBpbmcgdmNw
dTAtLT5wY3B1MiwKICAgICAgICAgIHZjcHUxLS0+cGNwdTMgYXMgeG0gZG9lcy4gKERhcmlvIEZh
Z2dpb2xpLCBET05FKQoKICAgICogW0JVR10gU3B1cmlvdXMgQ1BVIHBhcmFtcyBlcnJvciBtZXNz
YWdlIHdoZW4gc3RhcnRpbmcgYSBkb21haW4sCiAgICAgIGUuZy4gIkNwdSB3ZWlnaHQgb3V0IG9m
IHJhbmdlLCB2YWxpZCB2YWx1ZXMgYXJlIHdpdGhpbiByYW5nZQogICAgICBmcm9tIDEgdG8gNjU1
MzUiLiAoSWFuIEMsIHBhdGNoZXMgcG9zdGVkLCBuZWVkIGZpbmFsIGRlY2lzaW9uIG9uCiAgICAg
ICJvbmUgc3RydWN0IiBvciAibXVsdGlwbGUgc3RydWN0IiBsaWJ4bCBBUEkgZm9yIHNjaGVkIHBh
cmFtcykKCiAgICAqIE1vcmUgZm9ybWFsbHkgZGVwcmVjYXRlIHhtL3hlbmQuIE1hbnBhZ2UgcGF0
Y2hlcyBhbHJlYWR5IGluCiAgICAgIHRyZWUuIE5lZWRzIHJlbGVhc2Ugbm90aW5nIGFuZCBjb21t
dW5pY2F0aW9uIGFyb3VuZCAtcmMxIHRvCiAgICAgIHJlbWluZCBwZW9wbGUgdG8gdGVzdCB4bC4K
CiAgICAqIERvbWFpbiAwIGJsb2NrIGF0dGFjaCAmIGdlbmVyYWwgaG90cGx1ZyB3aGVuIHVzaW5n
IHFkaXNrIGJhY2tlbmQKICAgICAgKG5lZWQgdG8gc3RhcnQgcWVtdSBhcyBuZWNlc3NhcnkgZXRj
KSAoU3RlZmFubyBTLCBwYXRjaGVzCiAgICAgIHBvc3RlZCwgcGVvcGxlIHNlZW0gaGFwcHkgYmFy
IHRoZSBjb2RlIG1vdGlvbikKCiAgICAqIEltcHJvdmVkIEhvdHBsdWcgc2NyaXB0IHN1cHBvcnQg
KFJvZ2VyIFBhdSBNb25uw6ksIHBhdGNoZXMKICAgICAgcG9zdGVkLCBuZWFyaW5nIGNvbXBsZXRp
b24/KQoKICAgICogQmxvY2sgc2NyaXB0IHN1cHBvcnQgLS0gZm9sbG93cyBvbiBmcm9tIGhvdHBs
dWcgc2NyaXB0IChSb2dlcgogICAgICBQYXUgTW9ubsOpKQoKICAgICogQWRqdXN0bWVudHMgbmVl
ZGVkIGZvciBxZGlzayBiYWNrZW5kIHRvIHdvcmsgb24gbm9uLXB2b3BzIExpbnV4LgogICAgICAo
SmFuIEJldWxpY2gpCgpoeXBlcnZpc29yLCBuaWNlIHRvIGhhdmU6CgogICAgKiBQb0QgcGVyZm9y
bWFuY2UgaW1wcm92ZW1lbnRzIChHZW9yZ2UgRHVubGFwKQoKICAgICogSVJRIHByb2JsZW0gZm9y
IHdoaWNoIGRlYnVnZ2luZyBjb2RlIGdvdCBhZGRlZCBieSBjL3MKICAgICAgMjQ3MDc6OTY5ODdj
MzI0YTRmLiBJIGhhdmUgYSB0ZW50YXRpdmUgYWRqdXN0bWVudCB0byB0aGlzIHdoaWNoCiAgICAg
IEkgd291bGQgaG9wZSB0byBhdCBsZWFzdCBlbGltaW5hdGUgdGhlIGJhZCBjb25zZXF1ZW5jZXMg
b2YKICAgICAgY3Jhc2hpbmcgdGhlIGh5cGVydmlzb3IgKGNvbnZlcnRpbmcgdGhlIHVuc29saWNp
dGVkCiAgICAgIFBJQy1vcmlnaW5hdGVkIElSUSBpbnRvIGEgc3B1cmlvdXMgb25lKS4gSSdsbCBz
dWJtaXQgYXMgc29vbiBhcwogICAgICBJIGdvdCB0byB0ZXN0IHRoaXMgYSBsaXR0bGUsIHBhcnRp
Y3VsYXJseSBhbHNvIG9uIGFuIG9sZCBib3gKICAgICAgd2l0aG91dCBBUElDLiAoSmFuIEJldWxp
Y2gsIERPTkUpCgp0b29scywgbmljZSB0byBoYXZlOgoKICAgICogeGwgY29tcGF0aWJpbGl0eSB3
aXRoIHhtOgoKICAgICAgICAqIE5vbmUgcmVtYWluCgogICAgKiBsaWJ4bDogQWRkIEFQSSB0byBy
ZXRyaWV2ZSBkb21haW4gY29uc29sZSB0dHkgKEJhbXZvciBKaWFuCiAgICAgIFpoYW5nLCBwYXRj
aGVzIHBvc3RlZCkKCiAgICAqIHhsLmNmZyg1KSBkb2N1bWVudGF0aW9uIHBhdGNoIGZvciBxZW11
LXVwc3RyZWFtCiAgICAgIHZpZGVvcmFtL3ZpZGVvbWVtIHN1cHBvcnQ6CiAgICAgIGh0dHA6Ly9s
aXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTItMDUvbXNnMDAyNTAuaHRt
bAogICAgICBxZW11LXVwc3RyZWFtIGRvZXNuJ3Qgc3VwcG9ydCBzcGVjaWZ5aW5nIHZpZGVvbWVt
IHNpemUgZm9yIHRoZQogICAgICBIVk0gZ3Vlc3QgY2lycnVzL3N0ZHZnYS4gIChidXQgdGhpcyB3
b3JrcyB3aXRoCiAgICAgIHFlbXUteGVuLXRyYWRpdGlvbmFsKS4gKFBhc2kgS8Okcmtrw6RpbmVu
KQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54
ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Mon May 28 09:24:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwBW-0002m2-1D; Mon, 28 May 2012 09:24:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwBT-0002lv-Q0
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:24:16 +0000
Received: from [85.158.139.83:11840] by server-1.bemta-5.messagelabs.com id
	16/32-21549-E3443CF4; Mon, 28 May 2012 09:24:14 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338197054!30618061!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8544 invoked from network); 28 May 2012 09:24:14 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:24:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691626"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:23:31 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:23:31 +0100
Message-ID: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 28 May 2012 10:23:30 +0100
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

UGxhbiBmb3IgYSA0LjIgcmVsZWFzZToKaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAxMi0wMy9tc2cwMDc5My5odG1sCgpUaGUgdGltZSBsaW5lIGlzIGFzIGZv
bGxvd3M6CgoxOSBNYXJjaCAgICAgICAgLS0gVE9ETyBsaXN0IGxvY2tlZCBkb3duCjIgQXByaWwg
ICAgICAgICAtLSBGZWF0dXJlIEZyZWV6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBXRSBBUkUgSEVSRQpNaWQvTGF0ZSBNYXkgICAgLS0gRmlyc3Qg
cmVsZWFzZSBjYW5kaWRhdGUKV2Vla2x5ICAgICAgICAgIC0tIFJDTisxIHVudGlsIGl0IGlzIHJl
YWR5CgpJdCBzZWVtcyBwcmV0dHkgb2J2aW91cyBhdCB0aGlzIHN0YWdlIHRoYXQgd2UgYXJlIG5v
dCBnb2luZyB0byBiZQpkb2luZyBhbiBSQyBpbiBNaWQvTGF0ZSBNYXkuIFRoZSBiaWcgcmVtYWlu
aW5nIGl0ZW1zIGFyZSBiZWluZwphY3RpdmVseSB3b3JrZWQgb24gYW5kIGFyZSBxdWl0ZSB3ZWxs
IHVuZGVyc3Rvb2QuIEkndmUgYWxzbyBkb25lIGEKcGFzcyB0aHJvdWdoIHRoZSB0b29scyBibG9j
a2VycyBsaXN0IGFuZCBoYXZlIHByb3Bvc2VkIG1vdmluZyBzb21lCml0ZW1zIHRvIHRoZSBOaWNl
IFRvIEhhdmUgbGlzdC4KClRoZSB1cGRhdGVkIFRPRE8gbGlzdCBmb2xsb3dzLiBQZXIgdGhlIHJl
bGVhc2UgcGxhbiBhIHN0cm9uZyBjYXNlIHdpbGwKbm93IGhhdmUgdG8gYmUgbWFkZSBhcyB0byB3
aHkgbmV3IGl0ZW1zIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgbGlzdCwKZXNwZWNpYWxseSBhcyBh
IGJsb2NrZXIsIHJhdGhlciB0aGFuIGRlZmVycmVkIHRvIDQuMy4KCklmIHlvdSBhcmUgYXdhcmUg
b2YgYW55IGJ1Z3Mgd2hpY2ggbXVzdC9zaG91bGQgYmUgZml4ZWQgZm9yIDQuMiB0aGVuCnBsZWFz
ZSByZXBseSB0byB0aGlzIHRocmVhZCAob3RoZXJ3aXNlIEkgbWF5IG5vdCByZW1lbWJlciB0byBw
aWNrIHRoZW0KdXAgbmV4dCB3ZWVrKQoKT3RoZXIgdGhhbiB0aGF0IEkgdGhpbmsgd2Ugc2hvdWxk
IGNvbnNpZGVyIHRoZSBmcmVlemUgdG8gYmUgaW4gZnVsbAplZmZlY3QgYW5kIHRoZSBiYXIgdG8g
ZW50cnkgdG8gNC4yIHRvIGJlIHZlcnkgaGlnaC4KCmh5cGVydmlzb3IsIGJsb2NrZXJzOgoKICAg
ICogTm9uZQogCnRvb2xzLCBibG9ja2VyczoKCiAgICAqIGxpYnhsIHN0YWJsZSBBUEkgLS0gd2Ug
d291bGQgbGlrZSA0LjIgdG8gZGVmaW5lIGEgc3RhYmxlIEFQSQogICAgICB3aGljaCBkb3duc3Ry
ZWFtJ3MgY2FuIHN0YXJ0IHRvIHJlbHkgb24gbm90IGNoYW5naW5nLiBBc3BlY3RzIG9mCiAgICAg
IHRoaXMgYXJlOgoKICAgICAgICAqIGxpYnhsX3dhaXRfZm9yX2ZyZWVfbWVtb3J5L2xpYnhsX3dh
aXRfZm9yX21lbW9yeV90YXJnZXQuCiAgICAgICAgICBJbnRlcmZhY2UgbmVlZHMgYW4gb3Zlcmhh
dWwsIHJlbGF0ZWQgdG8KICAgICAgICAgIGxvY2tpbmcvc2VyaWFsaXphdGlvbiBvdmVyIGRvbWFp
biBjcmVhdGUgKGRlZmVycmVkIHRvCiAgICAgICAgICA0LjMpLiBJYW5KIHRvIGFkZCBub3RlIGFi
b3V0IHRoaXMgaW50ZXJmYWNlIGJlaW5nCiAgICAgICAgICBzdWJzdGFuZGFyZCBidXQgb3RoZXJ3
aXNlIGRlZmVyIHRvIDQuMy4gV2lsbCBtb3ZlIHRvIE5pY2UgVG8KICAgICAgICAgIEhhdmUncyBu
ZXh0IHdlZWsuCgogICAgICAgICogbGlieGxfKl9wYXRoLiBNYWpvcml0eSBtYWRlIGludGVybmFs
LCBvbmx5IGNvbmZpZ2RpciBhbmQKICAgICAgICAgIGxvY2tkaXIgcmVtYWluIHB1YmxpYyAodXNl
ZCBieSB4bCkuIChJYW5DLCB0byBjb25zaWRlcgogICAgICAgICAgbW92aW5nIHRoZSB0d28gcmVh
bWluaW5nIGludG8geGwgaW5zdGVhZCBvZiBsaWJ4bCwgd2lsbCBtb3ZlCiAgICAgICAgICB0byBO
aWNlIFRvIEhhdmUncyBuZXh0IHdlZWspCgogICAgICAgICogSW50ZXJmYWNlcyB3aGljaCBtYXkg
bmVlZCB0byBiZSBhc3luYzoKCiAgICAgICAgICAgICogbGlieGxfZG9tYWluX3N1c3BlbmQuIE1v
dmUgeGNfZG9tYWluX3NhdmUvcmVzdG9yZSBpbnRvIGEKICAgICAgICAgICAgICBzZXBhcmF0ZSBw
cm9jZXNzIChJYW5KLCBSRkMgcG9zdGVkLCB3b3JrIG9uZ29pbmcpLgoKICAgICAgICAgICAgKiBs
aWJ4bF9kZXZpY2Vfe2Rpc2ssbmljLHZrYixhZGQscGNpfV9hZGQgKGFuZAogICAgICAgICAgICAg
IHJlbW92ZT8pLiBSb2dlciBQYXUgTW9ubsOpIGZpeGVzIGRpc2sgYXMgcGFydCBvZiBob3RwbHVn
CiAgICAgICAgICAgICAgc2NyaXB0IHNlcmllcyBhbmQgYWRkcyBpbmZyYXN0cnVjdHVyZSB3aGlj
aCBzaG91bGQgbWFrZQogICAgICAgICAgICAgIHRoZSBvdGhlcnMgdHJpdmlhbC4gKFJvZ2VyLCBX
SVApCgogICAgICAgICAgICAqIGxpYnhsX2Nkcm9tX2luc2VydC4gU2hvdWxkIGJlIGVhc3kgb25j
ZQogICAgICAgICAgICAgIGRpc2tfe2FkZCxyZW1vdmV9IGRvbmUuIE5vYm9keSBpcyBsb29raW5n
IGF0IHRoaXM/IFRoaXMKICAgICAgICAgICAgICBpcyBiYXNpY2FsbHkgYSBoZWxwZXIgZnVuY3Rp
b24gYW5kIGl0cyBmdW5jdGlvbmFsaXR5IGNhbgogICAgICAgICAgICAgIGJlIGltcGxlbWVudGVk
IGluIHRlcm1zIG9mIHRoZSBsaWJ4bF9kaXNrXyoKICAgICAgICAgICAgICBpbnRlcmZhY2VzLiBX
ZSBjb3VsZCB0aGVyZWZvcmUgY29uc2lkZXIgbWFya2luZyB0aGlzCiAgICAgICAgICAgICAgZnVu
Y3Rpb24gYXMgc3Vic3RhbmRhcmQgYW5kIHN1YmplY3QgdG8gY2hhbmdlIGluIHRoZQogICAgICAg
ICAgICAgIGZ1dHVyZS4gV2UgY291bGQgYWxzbyBjb25zaWRlciBzaW1wbHkgbW92aW5nIGl0IGlu
dG8geGwKICAgICAgICAgICAgICBhcyBhIGhlbHBlciBmdW5jdGlvbiBhbmQgcmV2aXN0aW5nIGZv
ciA0LjMuCgogICAgKiB4bCBjb21wYXRpYmlsaXR5IHdpdGggeG06CgogICAgICAgICogW0JVR10g
Y2Fubm90IGNyZWF0ZSBhbiBlbXB0eSBDRC1ST00gZHJpdmUgb24gSFZNIGd1ZXN0LAogICAgICAg
ICAgcmVwb3J0ZWQgYnkgRmFiaW8gRmFudG9uaSBpbiA8NEY5NjcyREQuMjA4MDkwMkB0aXNjYWxp
Lml0PgoKICAgICAgICAqIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgdHJ5IHRvIHNlbGVjdCBhIChz
ZXQgb2YpIG5vZGUocykgb24KICAgICAgICAgIHdoaWNoIHRvIGNyZWF0ZSBhIFZNIGFuZCBwaW4g
aXRzIHZjcHVzIHRoZXJlLiAoRGFyaW8KICAgICAgICAgIEZhZ2dpb2xpLCBwYXRjaGVzIHBvc3Rl
ZCkKCiAgICAgICAgKiBgY3B1cz1bMiwzXWAgdG8gc2VsZWN0IHNwZWNpZmljIG1hcHBpbmcgdmNw
dTAtLT5wY3B1MiwKICAgICAgICAgIHZjcHUxLS0+cGNwdTMgYXMgeG0gZG9lcy4gKERhcmlvIEZh
Z2dpb2xpLCBET05FKQoKICAgICogW0JVR10gU3B1cmlvdXMgQ1BVIHBhcmFtcyBlcnJvciBtZXNz
YWdlIHdoZW4gc3RhcnRpbmcgYSBkb21haW4sCiAgICAgIGUuZy4gIkNwdSB3ZWlnaHQgb3V0IG9m
IHJhbmdlLCB2YWxpZCB2YWx1ZXMgYXJlIHdpdGhpbiByYW5nZQogICAgICBmcm9tIDEgdG8gNjU1
MzUiLiAoSWFuIEMsIHBhdGNoZXMgcG9zdGVkLCBuZWVkIGZpbmFsIGRlY2lzaW9uIG9uCiAgICAg
ICJvbmUgc3RydWN0IiBvciAibXVsdGlwbGUgc3RydWN0IiBsaWJ4bCBBUEkgZm9yIHNjaGVkIHBh
cmFtcykKCiAgICAqIE1vcmUgZm9ybWFsbHkgZGVwcmVjYXRlIHhtL3hlbmQuIE1hbnBhZ2UgcGF0
Y2hlcyBhbHJlYWR5IGluCiAgICAgIHRyZWUuIE5lZWRzIHJlbGVhc2Ugbm90aW5nIGFuZCBjb21t
dW5pY2F0aW9uIGFyb3VuZCAtcmMxIHRvCiAgICAgIHJlbWluZCBwZW9wbGUgdG8gdGVzdCB4bC4K
CiAgICAqIERvbWFpbiAwIGJsb2NrIGF0dGFjaCAmIGdlbmVyYWwgaG90cGx1ZyB3aGVuIHVzaW5n
IHFkaXNrIGJhY2tlbmQKICAgICAgKG5lZWQgdG8gc3RhcnQgcWVtdSBhcyBuZWNlc3NhcnkgZXRj
KSAoU3RlZmFubyBTLCBwYXRjaGVzCiAgICAgIHBvc3RlZCwgcGVvcGxlIHNlZW0gaGFwcHkgYmFy
IHRoZSBjb2RlIG1vdGlvbikKCiAgICAqIEltcHJvdmVkIEhvdHBsdWcgc2NyaXB0IHN1cHBvcnQg
KFJvZ2VyIFBhdSBNb25uw6ksIHBhdGNoZXMKICAgICAgcG9zdGVkLCBuZWFyaW5nIGNvbXBsZXRp
b24/KQoKICAgICogQmxvY2sgc2NyaXB0IHN1cHBvcnQgLS0gZm9sbG93cyBvbiBmcm9tIGhvdHBs
dWcgc2NyaXB0IChSb2dlcgogICAgICBQYXUgTW9ubsOpKQoKICAgICogQWRqdXN0bWVudHMgbmVl
ZGVkIGZvciBxZGlzayBiYWNrZW5kIHRvIHdvcmsgb24gbm9uLXB2b3BzIExpbnV4LgogICAgICAo
SmFuIEJldWxpY2gpCgpoeXBlcnZpc29yLCBuaWNlIHRvIGhhdmU6CgogICAgKiBQb0QgcGVyZm9y
bWFuY2UgaW1wcm92ZW1lbnRzIChHZW9yZ2UgRHVubGFwKQoKICAgICogSVJRIHByb2JsZW0gZm9y
IHdoaWNoIGRlYnVnZ2luZyBjb2RlIGdvdCBhZGRlZCBieSBjL3MKICAgICAgMjQ3MDc6OTY5ODdj
MzI0YTRmLiBJIGhhdmUgYSB0ZW50YXRpdmUgYWRqdXN0bWVudCB0byB0aGlzIHdoaWNoCiAgICAg
IEkgd291bGQgaG9wZSB0byBhdCBsZWFzdCBlbGltaW5hdGUgdGhlIGJhZCBjb25zZXF1ZW5jZXMg
b2YKICAgICAgY3Jhc2hpbmcgdGhlIGh5cGVydmlzb3IgKGNvbnZlcnRpbmcgdGhlIHVuc29saWNp
dGVkCiAgICAgIFBJQy1vcmlnaW5hdGVkIElSUSBpbnRvIGEgc3B1cmlvdXMgb25lKS4gSSdsbCBz
dWJtaXQgYXMgc29vbiBhcwogICAgICBJIGdvdCB0byB0ZXN0IHRoaXMgYSBsaXR0bGUsIHBhcnRp
Y3VsYXJseSBhbHNvIG9uIGFuIG9sZCBib3gKICAgICAgd2l0aG91dCBBUElDLiAoSmFuIEJldWxp
Y2gsIERPTkUpCgp0b29scywgbmljZSB0byBoYXZlOgoKICAgICogeGwgY29tcGF0aWJpbGl0eSB3
aXRoIHhtOgoKICAgICAgICAqIE5vbmUgcmVtYWluCgogICAgKiBsaWJ4bDogQWRkIEFQSSB0byBy
ZXRyaWV2ZSBkb21haW4gY29uc29sZSB0dHkgKEJhbXZvciBKaWFuCiAgICAgIFpoYW5nLCBwYXRj
aGVzIHBvc3RlZCkKCiAgICAqIHhsLmNmZyg1KSBkb2N1bWVudGF0aW9uIHBhdGNoIGZvciBxZW11
LXVwc3RyZWFtCiAgICAgIHZpZGVvcmFtL3ZpZGVvbWVtIHN1cHBvcnQ6CiAgICAgIGh0dHA6Ly9s
aXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTItMDUvbXNnMDAyNTAuaHRt
bAogICAgICBxZW11LXVwc3RyZWFtIGRvZXNuJ3Qgc3VwcG9ydCBzcGVjaWZ5aW5nIHZpZGVvbWVt
IHNpemUgZm9yIHRoZQogICAgICBIVk0gZ3Vlc3QgY2lycnVzL3N0ZHZnYS4gIChidXQgdGhpcyB3
b3JrcyB3aXRoCiAgICAgIHFlbXUteGVuLXRyYWRpdGlvbmFsKS4gKFBhc2kgS8Okcmtrw6RpbmVu
KQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54
ZW4ub3JnL3hlbi1kZXZlbAo=

From xen-devel-bounces@lists.xen.org Mon May 28 09:28:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:28:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwF9-0002uc-LP; Mon, 28 May 2012 09:28:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwF7-0002uS-26
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:28:02 +0000
Received: from [85.158.138.51:18307] by server-9.bemta-3.messagelabs.com id
	69/DD-11033-02543CF4; Mon, 28 May 2012 09:28:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338197279!10768506!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7920 invoked from network); 28 May 2012 09:27:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:27:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691711"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:27:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:27:59 +0100
Message-ID: <1338197277.14158.38.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 28 May 2012 10:27:57 +0100
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 10:23 +0100, Ian Campbell wrote:
> If you are aware of any bugs which must/should be fixed for 4.2 then
> please reply to this thread (otherwise I may not remember to pick them
> up next week)

Note to self -- pick up the bugs in the Intel VMX status reports.

:-)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:28:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:28:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwF9-0002uc-LP; Mon, 28 May 2012 09:28:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwF7-0002uS-26
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:28:02 +0000
Received: from [85.158.138.51:18307] by server-9.bemta-3.messagelabs.com id
	69/DD-11033-02543CF4; Mon, 28 May 2012 09:28:00 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338197279!10768506!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7920 invoked from network); 28 May 2012 09:27:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:27:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691711"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:27:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:27:59 +0100
Message-ID: <1338197277.14158.38.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 28 May 2012 10:27:57 +0100
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 10:23 +0100, Ian Campbell wrote:
> If you are aware of any bugs which must/should be fixed for 4.2 then
> please reply to this thread (otherwise I may not remember to pick them
> up next week)

Note to self -- pick up the bugs in the Intel VMX status reports.

:-)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:30:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:30:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwH2-000318-5i; Mon, 28 May 2012 09:30:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwH0-00030y-PW
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 09:29:58 +0000
Received: from [85.158.139.83:6504] by server-3.bemta-5.messagelabs.com id
	44/FF-29112-59543CF4; Mon, 28 May 2012 09:29:57 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338197396!30013448!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25670 invoked from network); 28 May 2012 09:29:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:29:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691774"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:29:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:29:55 +0100
Message-ID: <1338197394.14158.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 28 May 2012 10:29:54 +0100
In-Reply-To: <alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
	<alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:30 +0100, Stefano Stabellini wrote:
> This patch series was sent out two months ago and all the patches in the
> series have been acked twice.
> However it was never applied.

I think Ian J and I both thought the other was going to do it :-(

> What should I do about it?

Earlier on in the freeze I think we could have argued for an exception,
but at this point I think that is tough hard call to make, especially
since this touches non-arm code (even if mostly code motion or
whatever).

I've been wondering generally what to do about ARM patches during the
freeze, I've been thinking of maintaining a branch to queue stuff up in
with the view to send a pull request when 4.3 opens. The other option is
to maintain some sort of common dev tree but accept that it will need
rebasing and reposting when 4.3 re-opens. (the primary difference is
that in the former I get to resolve all the conflicts and in the latter
we all get to do it, guess which I'm leaning toward ;-))

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:30:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:30:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwH2-000318-5i; Mon, 28 May 2012 09:30:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwH0-00030y-PW
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 09:29:58 +0000
Received: from [85.158.139.83:6504] by server-3.bemta-5.messagelabs.com id
	44/FF-29112-59543CF4; Mon, 28 May 2012 09:29:57 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338197396!30013448!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25670 invoked from network); 28 May 2012 09:29:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:29:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691774"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:29:55 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:29:55 +0100
Message-ID: <1338197394.14158.40.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Mon, 28 May 2012 10:29:54 +0100
In-Reply-To: <alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
	<alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 14:30 +0100, Stefano Stabellini wrote:
> This patch series was sent out two months ago and all the patches in the
> series have been acked twice.
> However it was never applied.

I think Ian J and I both thought the other was going to do it :-(

> What should I do about it?

Earlier on in the freeze I think we could have argued for an exception,
but at this point I think that is tough hard call to make, especially
since this touches non-arm code (even if mostly code motion or
whatever).

I've been wondering generally what to do about ARM patches during the
freeze, I've been thinking of maintaining a branch to queue stuff up in
with the view to send a pull request when 4.3 opens. The other option is
to maintain some sort of common dev tree but accept that it will need
rebasing and reposting when 4.3 re-opens. (the primary difference is
that in the former I get to resolve all the conflicts and in the latter
we all get to do it, guess which I'm leaning toward ;-))

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:33:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:33:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwKM-0003C2-PF; Mon, 28 May 2012 09:33:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwKK-0003Bw-Vs
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:33:25 +0000
Received: from [85.158.138.51:6116] by server-6.bemta-3.messagelabs.com id
	B2/77-18175-46643CF4; Mon, 28 May 2012 09:33:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338197603!29419380!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17419 invoked from network); 28 May 2012 09:33:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:33:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691864"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:33:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:33:23 +0100
Message-ID: <1338197601.14158.42.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 28 May 2012 10:33:21 +0100
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 10:23 +0100, Ian Campbell wrote:
> tools, blockers:

    * Confirm that migration from Xen 4.1 -> 4.2 works (Ian J)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 09:33:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 09:33:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwKM-0003C2-PF; Mon, 28 May 2012 09:33:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SYwKK-0003Bw-Vs
	for xen-devel@lists.xen.org; Mon, 28 May 2012 09:33:25 +0000
Received: from [85.158.138.51:6116] by server-6.bemta-3.messagelabs.com id
	B2/77-18175-46643CF4; Mon, 28 May 2012 09:33:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338197603!29419380!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17419 invoked from network); 28 May 2012 09:33:23 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 09:33:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12691864"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 09:33:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 10:33:23 +0100
Message-ID: <1338197601.14158.42.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen-devel <xen-devel@lists.xen.org>
Date: Mon, 28 May 2012 10:33:21 +0100
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 10:23 +0100, Ian Campbell wrote:
> tools, blockers:

    * Confirm that migration from Xen 4.1 -> 4.2 works (Ian J)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 10:03:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 10:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwnQ-0003VS-AD; Mon, 28 May 2012 10:03:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYwnP-0003VE-Ia
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 10:03:27 +0000
Received: from [85.158.139.83:51489] by server-2.bemta-5.messagelabs.com id
	BE/5F-09957-E6D43CF4; Mon, 28 May 2012 10:03:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338199406!31027841!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2010 invoked from network); 28 May 2012 10:03:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 10:03:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12692401"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 10:03:26 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 11:03:26 +0100
Date: Mon, 28 May 2012 11:03:20 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338197394.14158.40.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281101450.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
	<alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
	<1338197394.14158.40.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Tim Deegan
	\(3P\)" <Tim.Deegan@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 28 May 2012, Ian Campbell wrote:
> On Fri, 2012-05-25 at 14:30 +0100, Stefano Stabellini wrote:
> > This patch series was sent out two months ago and all the patches in the
> > series have been acked twice.
> > However it was never applied.
> 
> I think Ian J and I both thought the other was going to do it :-(
> 
> > What should I do about it?
> 
> Earlier on in the freeze I think we could have argued for an exception,
> but at this point I think that is tough hard call to make, especially
> since this touches non-arm code (even if mostly code motion or
> whatever).
> 
> I've been wondering generally what to do about ARM patches during the
> freeze, I've been thinking of maintaining a branch to queue stuff up in
> with the view to send a pull request when 4.3 opens. The other option is
> to maintain some sort of common dev tree but accept that it will need
> rebasing and reposting when 4.3 re-opens. (the primary difference is
> that in the former I get to resolve all the conflicts and in the latter
> we all get to do it, guess which I'm leaning toward ;-))

I am OK with a common dev tree, but on what changeset should be based
on?
I am not very motivated in rebasing these patches on a recent changeset
because since they involve a lot of code motion they need complete
manual re-doing every time...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 10:03:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 10:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYwnQ-0003VS-AD; Mon, 28 May 2012 10:03:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYwnP-0003VE-Ia
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 10:03:27 +0000
Received: from [85.158.139.83:51489] by server-2.bemta-5.messagelabs.com id
	BE/5F-09957-E6D43CF4; Mon, 28 May 2012 10:03:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338199406!31027841!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2010 invoked from network); 28 May 2012 10:03:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 10:03:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12692401"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 10:03:26 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 11:03:26 +0100
Date: Mon, 28 May 2012 11:03:20 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338197394.14158.40.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281101450.26786@kaball-desktop>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
	<alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
	<1338197394.14158.40.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Tim Deegan
	\(3P\)" <Tim.Deegan@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 28 May 2012, Ian Campbell wrote:
> On Fri, 2012-05-25 at 14:30 +0100, Stefano Stabellini wrote:
> > This patch series was sent out two months ago and all the patches in the
> > series have been acked twice.
> > However it was never applied.
> 
> I think Ian J and I both thought the other was going to do it :-(
> 
> > What should I do about it?
> 
> Earlier on in the freeze I think we could have argued for an exception,
> but at this point I think that is tough hard call to make, especially
> since this touches non-arm code (even if mostly code motion or
> whatever).
> 
> I've been wondering generally what to do about ARM patches during the
> freeze, I've been thinking of maintaining a branch to queue stuff up in
> with the view to send a pull request when 4.3 opens. The other option is
> to maintain some sort of common dev tree but accept that it will need
> rebasing and reposting when 4.3 re-opens. (the primary difference is
> that in the former I get to resolve all the conflicts and in the latter
> we all get to do it, guess which I'm leaning toward ;-))

I am OK with a common dev tree, but on what changeset should be based
on?
I am not very motivated in rebasing these patches on a recent changeset
because since they involve a lot of code motion they need complete
manual re-doing every time...

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 10:19:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 10:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYx2y-0003kY-3g; Mon, 28 May 2012 10:19:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYx2w-0003kT-Qz
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 10:19:31 +0000
Received: from [85.158.143.35:39722] by server-1.bemta-4.messagelabs.com id
	86/7D-00342-23153CF4; Mon, 28 May 2012 10:19:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1338200369!7165380!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2372 invoked from network); 28 May 2012 10:19:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 10:19:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12692685"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 10:18:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 11:18:57 +0100
Date: Mon, 28 May 2012 11:18:41 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
 misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Konrad Rzeszutek Wilk wrote:
> Part of the ring structure is the 'id' field which is under
> control of the frontend. The frontend stamps it with "some"
> value (this some in this implementation being a value less
> than BLK_RING_SIZE), and when it gets a response expects
> said value to be in the response structure. We have a check
> for the id field when spolling new requests but not when
> de-spolling responses.
> 
> We also add an extra check in add_id_to_freelist to make
> sure that the 'struct request' was not NULL - as we cannot
> pass a NULL to __blk_end_request_all, otherwise that crashes
> (and all the operations that the response is dealing with
> end up with __blk_end_request_all).
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/block/xen-blkfront.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index 60eed4b..8e177ca 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info *info,
>  			       unsigned long id)
>  {
>  	info->shadow[id].req.u.rw.id  = info->shadow_free;
> +	BUG_ON(info->shadow[id].request == NULL);
>  	info->shadow[id].request = NULL;
>  	info->shadow_free = id;
>  }
> @@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
>  
>  		bret = RING_GET_RESPONSE(&info->ring, i);
>  		id   = bret->id;
> +		/*
> +		 * The backend has messed up and given us an id that we would
> +		 * never have given to it (we stamp it up to BLK_RING_SIZE -
> +		 * look in get_id_from_freelist.
> +		 */
> +		BUG_ON(id >= BLK_RING_SIZE);
>  		req  = info->shadow[id].request;
>  
>  		if (bret->operation != BLKIF_OP_DISCARD)

While we should certainly check whether bret->id is valid before
using it, is it actually correct that the frontend BUGs in response of a
backend bug?

If the IO doesn't involve the root disk, the guest might be able to
function correctly without communicating with the backend at all.
I think we should WARN and return error. Maybe also call blkfront_remove
if we can.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 10:19:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 10:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYx2y-0003kY-3g; Mon, 28 May 2012 10:19:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYx2w-0003kT-Qz
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 10:19:31 +0000
Received: from [85.158.143.35:39722] by server-1.bemta-4.messagelabs.com id
	86/7D-00342-23153CF4; Mon, 28 May 2012 10:19:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1338200369!7165380!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2372 invoked from network); 28 May 2012 10:19:29 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 10:19:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12692685"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 10:18:57 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 11:18:57 +0100
Date: Mon, 28 May 2012 11:18:41 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
 misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Konrad Rzeszutek Wilk wrote:
> Part of the ring structure is the 'id' field which is under
> control of the frontend. The frontend stamps it with "some"
> value (this some in this implementation being a value less
> than BLK_RING_SIZE), and when it gets a response expects
> said value to be in the response structure. We have a check
> for the id field when spolling new requests but not when
> de-spolling responses.
> 
> We also add an extra check in add_id_to_freelist to make
> sure that the 'struct request' was not NULL - as we cannot
> pass a NULL to __blk_end_request_all, otherwise that crashes
> (and all the operations that the response is dealing with
> end up with __blk_end_request_all).
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/block/xen-blkfront.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index 60eed4b..8e177ca 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info *info,
>  			       unsigned long id)
>  {
>  	info->shadow[id].req.u.rw.id  = info->shadow_free;
> +	BUG_ON(info->shadow[id].request == NULL);
>  	info->shadow[id].request = NULL;
>  	info->shadow_free = id;
>  }
> @@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
>  
>  		bret = RING_GET_RESPONSE(&info->ring, i);
>  		id   = bret->id;
> +		/*
> +		 * The backend has messed up and given us an id that we would
> +		 * never have given to it (we stamp it up to BLK_RING_SIZE -
> +		 * look in get_id_from_freelist.
> +		 */
> +		BUG_ON(id >= BLK_RING_SIZE);
>  		req  = info->shadow[id].request;
>  
>  		if (bret->operation != BLKIF_OP_DISCARD)

While we should certainly check whether bret->id is valid before
using it, is it actually correct that the frontend BUGs in response of a
backend bug?

If the IO doesn't involve the root disk, the guest might be able to
function correctly without communicating with the backend at all.
I think we should WARN and return error. Maybe also call blkfront_remove
if we can.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 10:20:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 10:20:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYx39-0003l6-G4; Mon, 28 May 2012 10:19:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYx37-0003kz-Tb
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 10:19:42 +0000
Received: from [85.158.138.51:53300] by server-1.bemta-3.messagelabs.com id
	90/B4-18759-D3153CF4; Mon, 28 May 2012 10:19:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1338200380!21522699!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1060 invoked from network); 28 May 2012 10:19:40 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 10:19:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12692702"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 10:19:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 11:19:39 +0100
Date: Mon, 28 May 2012 11:19:24 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
 BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Konrad Rzeszutek Wilk wrote:
> We weren't copying the id field so when we sent the response
> back to the frontend (especially with a 64-bit host and 32-bit
> guest), we ended up using a random value. This lead to the
> frontend crashing as it would try to pass to __blk_end_request_all
> a NULL 'struct request' (b/c it would use the 'id' to find the
> proper 'struct request' in its shadow array) and end up crashing:
> 
> BUG: unable to handle kernel NULL pointer dereference at 000000e4
> IP: [<c0646d4c>] __blk_end_request_all+0xc/0x40
> .. snip..
> EIP is at __blk_end_request_all+0xc/0x40
> .. snip..
>  [<ed95db72>] blkif_interrupt+0x172/0x330 [xen_blkfront]
> 
> This fixes the bug by passing in the proper id for the response.
> 
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
> CC: stable@kernel.org
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

>  drivers/block/xen-blkback/common.h |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
> index 773cf27..9ad3b5e 100644
> --- a/drivers/block/xen-blkback/common.h
> +++ b/drivers/block/xen-blkback/common.h
> @@ -257,6 +257,7 @@ static inline void blkif_get_x86_32_req(struct blkif_request *dst,
>  		break;
>  	case BLKIF_OP_DISCARD:
>  		dst->u.discard.flag = src->u.discard.flag;
> +		dst->u.discard.id = src->u.discard.id;
>  		dst->u.discard.sector_number = src->u.discard.sector_number;
>  		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
>  		break;
> @@ -287,6 +288,7 @@ static inline void blkif_get_x86_64_req(struct blkif_request *dst,
>  		break;
>  	case BLKIF_OP_DISCARD:
>  		dst->u.discard.flag = src->u.discard.flag;
> +		dst->u.discard.id = src->u.discard.id;
>  		dst->u.discard.sector_number = src->u.discard.sector_number;
>  		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
>  		break;
> -- 
> 1.7.7.6
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 10:20:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 10:20:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYx39-0003l6-G4; Mon, 28 May 2012 10:19:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYx37-0003kz-Tb
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 10:19:42 +0000
Received: from [85.158.138.51:53300] by server-1.bemta-3.messagelabs.com id
	90/B4-18759-D3153CF4; Mon, 28 May 2012 10:19:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-12.tower-174.messagelabs.com!1338200380!21522699!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1060 invoked from network); 28 May 2012 10:19:40 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 10:19:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12692702"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 10:19:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 11:19:39 +0100
Date: Mon, 28 May 2012 11:19:24 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
In-Reply-To: <1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
Message-ID: <alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
 BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 25 May 2012, Konrad Rzeszutek Wilk wrote:
> We weren't copying the id field so when we sent the response
> back to the frontend (especially with a 64-bit host and 32-bit
> guest), we ended up using a random value. This lead to the
> frontend crashing as it would try to pass to __blk_end_request_all
> a NULL 'struct request' (b/c it would use the 'id' to find the
> proper 'struct request' in its shadow array) and end up crashing:
> 
> BUG: unable to handle kernel NULL pointer dereference at 000000e4
> IP: [<c0646d4c>] __blk_end_request_all+0xc/0x40
> .. snip..
> EIP is at __blk_end_request_all+0xc/0x40
> .. snip..
>  [<ed95db72>] blkif_interrupt+0x172/0x330 [xen_blkfront]
> 
> This fixes the bug by passing in the proper id for the response.
> 
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
> CC: stable@kernel.org
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

>  drivers/block/xen-blkback/common.h |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
> index 773cf27..9ad3b5e 100644
> --- a/drivers/block/xen-blkback/common.h
> +++ b/drivers/block/xen-blkback/common.h
> @@ -257,6 +257,7 @@ static inline void blkif_get_x86_32_req(struct blkif_request *dst,
>  		break;
>  	case BLKIF_OP_DISCARD:
>  		dst->u.discard.flag = src->u.discard.flag;
> +		dst->u.discard.id = src->u.discard.id;
>  		dst->u.discard.sector_number = src->u.discard.sector_number;
>  		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
>  		break;
> @@ -287,6 +288,7 @@ static inline void blkif_get_x86_64_req(struct blkif_request *dst,
>  		break;
>  	case BLKIF_OP_DISCARD:
>  		dst->u.discard.flag = src->u.discard.flag;
> +		dst->u.discard.id = src->u.discard.id;
>  		dst->u.discard.sector_number = src->u.discard.sector_number;
>  		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
>  		break;
> -- 
> 1.7.7.6
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 11:43:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 11:43:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYyLG-0004ad-QK; Mon, 28 May 2012 11:42:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYyLF-0004aY-DG
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 11:42:29 +0000
Received: from [193.109.254.147:22952] by server-4.bemta-14.messagelabs.com id
	DE/79-14693-4A463CF4; Mon, 28 May 2012 11:42:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1338205347!10893426!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32080 invoked from network); 28 May 2012 11:42:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 11:42:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12693935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 11:31:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 12:31:48 +0100
Date: Mon, 28 May 2012 12:31:42 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20411.40650.132942.40206@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281207060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20411.40650.132942.40206@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 22 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v7 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > Introduce a new libxl_device_disk* parameter to
> > libxl__device_disk_local_attach, the parameter is allocated by the
> > caller. libxl__device_disk_local_attach is going to fill the new disk
> > with informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> 
> Thanks.
> 
> So comparing the comment:
> 
> > +    /* Should be zeroed by caller on entry.  Will be filled in by
> > +     * bootloader machinery; represents the local attachment of the
> > +     * disk for the benefit of the bootloader.  Must be detached by
> > +     * the caller using libxl__device_disk_local_detach, but only
> > +     * after the domain's kernel and initramfs have been loaded into
> > +     * memory and the file references disposed of. */
> > +    libxl_device_disk localdisk;
> 
> with the code in the caller: on entry it is indeed zeroed by the GCNEW
> of the whole domain_create_state.  However on exit:
> 
> >      if (bl->diskpath) {
> > -        libxl__device_disk_local_detach(gc, bl->disk);
> > +        libxl__device_disk_local_detach(gc, &bl->localdisk);
> > +        free(bl->localdisk.pdev_path);
> > +        free(bl->localdisk.script);
> >          free(bl->diskpath);
> 
> This does not correspond exactly to the comment.  Not only do we call
> detach but apparently we need to free some things too.
> 
> It's not clear to me why these things haven't come from a suitable
> gc.  But if they can't come from a gc then the comment needs to
> mention that they need to be freed.
> 
> > -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > +char * libxl__device_disk_local_attach(libxl__gc *gc,
> > +        const libxl_device_disk *in_disk,
> > +        libxl_device_disk *disk)
> >  {
> >      libxl_ctx *ctx = gc->owner;
> >      char *dev = NULL;
> >      char *ret = NULL;
> >      int rc;
> >  
> > +    if (in_disk->pdev_path == NULL)
> > +        return NULL;
> > +
> > +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> > +    disk->pdev_path = strdup(in_disk->pdev_path);
> > +    if (in_disk->script != NULL)
> > +        disk->script = strdup(in_disk->script);
> > +    disk->vdev = NULL;
> 
> Re my comment about the gc, do we call this function anywhere else ?
> Could it take the ao for the benefit of its gc ?  Would that violate
> some rules about the usual contents of a libxl_device_disk ?

I am not sure I want to get into the whole AO thing at this point.

Am I supposed to just change the libxl__gc *gc argument into libxl__ao
*ao and then call STATE_AO_GC on function entry?
Then remove the free(bl->localdisk.script) and
free(bl->localdisk.pdev_path)?
Anything else is required?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 11:43:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 11:43:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SYyLG-0004ad-QK; Mon, 28 May 2012 11:42:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SYyLF-0004aY-DG
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 11:42:29 +0000
Received: from [193.109.254.147:22952] by server-4.bemta-14.messagelabs.com id
	DE/79-14693-4A463CF4; Mon, 28 May 2012 11:42:28 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1338205347!10893426!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32080 invoked from network); 28 May 2012 11:42:28 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 11:42:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,670,1330905600"; d="scan'208";a="12693935"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 11:31:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Mon, 28 May 2012 12:31:48 +0100
Date: Mon, 28 May 2012 12:31:42 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20411.40650.132942.40206@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281207060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205211852180.26786@kaball-desktop>
	<1337623539-29834-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<20411.40650.132942.40206@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 22 May 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v7 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> > Introduce a new libxl_device_disk* parameter to
> > libxl__device_disk_local_attach, the parameter is allocated by the
> > caller. libxl__device_disk_local_attach is going to fill the new disk
> > with informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> 
> Thanks.
> 
> So comparing the comment:
> 
> > +    /* Should be zeroed by caller on entry.  Will be filled in by
> > +     * bootloader machinery; represents the local attachment of the
> > +     * disk for the benefit of the bootloader.  Must be detached by
> > +     * the caller using libxl__device_disk_local_detach, but only
> > +     * after the domain's kernel and initramfs have been loaded into
> > +     * memory and the file references disposed of. */
> > +    libxl_device_disk localdisk;
> 
> with the code in the caller: on entry it is indeed zeroed by the GCNEW
> of the whole domain_create_state.  However on exit:
> 
> >      if (bl->diskpath) {
> > -        libxl__device_disk_local_detach(gc, bl->disk);
> > +        libxl__device_disk_local_detach(gc, &bl->localdisk);
> > +        free(bl->localdisk.pdev_path);
> > +        free(bl->localdisk.script);
> >          free(bl->diskpath);
> 
> This does not correspond exactly to the comment.  Not only do we call
> detach but apparently we need to free some things too.
> 
> It's not clear to me why these things haven't come from a suitable
> gc.  But if they can't come from a gc then the comment needs to
> mention that they need to be freed.
> 
> > -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > +char * libxl__device_disk_local_attach(libxl__gc *gc,
> > +        const libxl_device_disk *in_disk,
> > +        libxl_device_disk *disk)
> >  {
> >      libxl_ctx *ctx = gc->owner;
> >      char *dev = NULL;
> >      char *ret = NULL;
> >      int rc;
> >  
> > +    if (in_disk->pdev_path == NULL)
> > +        return NULL;
> > +
> > +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> > +    disk->pdev_path = strdup(in_disk->pdev_path);
> > +    if (in_disk->script != NULL)
> > +        disk->script = strdup(in_disk->script);
> > +    disk->vdev = NULL;
> 
> Re my comment about the gc, do we call this function anywhere else ?
> Could it take the ao for the benefit of its gc ?  Would that violate
> some rules about the usual contents of a libxl_device_disk ?

I am not sure I want to get into the whole AO thing at this point.

Am I supposed to just change the libxl__gc *gc argument into libxl__ao
*ao and then call STATE_AO_GC on function entry?
Then remove the free(bl->localdisk.script) and
free(bl->localdisk.pdev_path)?
Anything else is required?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 13:38:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 13:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ07w-0005w3-Sa; Mon, 28 May 2012 13:36:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZ07v-0005vy-2n
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 13:36:51 +0000
Received: from [85.158.143.99:59625] by server-2.bemta-4.messagelabs.com id
	39/0E-12211-27F73CF4; Mon, 28 May 2012 13:36:50 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338212208!27844800!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mzky\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1090 invoked from network); 28 May 2012 13:36:49 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-216.messagelabs.com with SMTP;
	28 May 2012 13:36:49 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 28 May 2012 06:36:48 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105056399"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 28 May 2012 06:36:48 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 28 May 2012 06:36:47 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 21:36:45 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: 'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybwgARWupA=
Date: Mon, 28 May 2012 13:36:45 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck, 
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
>> On Fri, May 25, 2012 at 05:56:56PM +0000, Liu, Jinsong wrote:
>>> Konrad Rzeszutek Wilk wrote:
>>>>>>>>> -static struct miscdevice mce_chrdev_device = {
>>>>>>>>> +struct miscdevice mce_chrdev_device = {
>>>>>>>>>  	MISC_MCELOG_MINOR,
>>>>>>>>>  	"mcelog",
>>>>>>>>>  	&mce_chrdev_ops,
>>>>>>>> 
>>>>>>>> You're still reusing those - pls, define your own 'struct
>>>>>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
>>>>>>>> convenient and your own mce_chrdev_ops. The only thing you
>>>>>>>> should be touching in arch/x86/.../mcheck/ is the export of
>>>>>>>> MISC_MCELOG_MINOR. 
>>>>>>>> 
>>>>>>>> Thanks.
>>>>>>> 
>>>>>>> I'm *not* reuse native code.
>>>>>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>>>>>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are
>>>>>>> all xen-self-contained. 
>>>>>>> 
>>>>>>> The patch just redirect native mce_chrdev_device to
>>>>>>> xen_mce_chrdev_device when running under xen environment.
>>>>>>> It didn't change any native code (except just cancel
>>>>>>> mce_chrdev_device 'static'), and will not break native logic.
>>>>>> 
>>>>>> Why are you doing that?
>>>>>> 
>>>>>> Why don't you do
>>>>>> 
>>>>>> 	misc_register(&xen_mce_chrdev_device);
>>>>>> 
>>>>>> in xen_early_init_mcelog() ?
>>>>>> 
>>>>>> This way there'll be no arch/x86/ dependencies at all.
>>>>> 
>>>>> The reason is, if we do so, it would be covered by native
>>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>>> (xen init first and then start native kernel).
>>>> 
>>>> Won't the second registration (so the original one) of the major
>>>> fail? So the mce_log would just error out since somebody already
>>>> registered?
>>> 
>>> No, that would be device confliction, the 2nd register return as
>>> -EBUSY and un-predicetable result.
>> 
>> And the existing code does not actually check the 'misc_register'
>> return value? Ah yes. Perhaps then a fix to
>> arch/x86/kernel/cpu/mcheck/mce.c to do the proper de-registration if
>> 'misc_register' fails?
> 
> It's weird. From code point of view, it indeed not check return value
> so it should go silently. mce.c didn't do misc_deregister. 

Have a debug it, the root cause is, 
1). it does misc_register(&xen_mce_chrdev_device) at xen_early_init_mcelog(), it's very early stage (at xen_start_kernel), linux kernel and dd didn't start yet, so it fail to register xen_mce_chrdev_device.
2). After native start_kernel, native mce_chrdev_device registered successfully, then it point to *native* mcelog logic.

> 
>> 
>> Or just set 'mce_disabled=1' in the bootup of Xen, similar to
>> how lguest.c does it?

Have a look at lguest, it disable whole mce logic.
Xen dom0 cannot do so since we need keep dom0 mce logic to handle memory error which belong to dom0 (hypervisor will inject vMCE to dom0 in the case).


===================

Borislav and Konrad,

An approach which basically same as you suggested but w/ slightly update, is
1). at xen/mcelog.c, do misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define it as device_initcall(xen_late_init_mcelog) --> now linux dd ready, so xen mcelog divice would register successfully;
2). at native mce.c, change 1 line from device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device) --> so misc_register(&mce_chrdev_device) would be blocked by xen mcelog device;

I have draft test it and works fine.
Thought?

Thanks,
Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 13:38:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 13:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ07w-0005w3-Sa; Mon, 28 May 2012 13:36:52 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZ07v-0005vy-2n
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 13:36:51 +0000
Received: from [85.158.143.99:59625] by server-2.bemta-4.messagelabs.com id
	39/0E-12211-27F73CF4; Mon, 28 May 2012 13:36:50 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338212208!27844800!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0Mzky\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1090 invoked from network); 28 May 2012 13:36:49 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-216.messagelabs.com with SMTP;
	28 May 2012 13:36:49 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 28 May 2012 06:36:48 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105056399"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 28 May 2012 06:36:48 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 28 May 2012 06:36:47 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 21:36:45 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: 'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybwgARWupA=
Date: Mon, 28 May 2012 13:36:45 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck, 
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
>> On Fri, May 25, 2012 at 05:56:56PM +0000, Liu, Jinsong wrote:
>>> Konrad Rzeszutek Wilk wrote:
>>>>>>>>> -static struct miscdevice mce_chrdev_device = {
>>>>>>>>> +struct miscdevice mce_chrdev_device = {
>>>>>>>>>  	MISC_MCELOG_MINOR,
>>>>>>>>>  	"mcelog",
>>>>>>>>>  	&mce_chrdev_ops,
>>>>>>>> 
>>>>>>>> You're still reusing those - pls, define your own 'struct
>>>>>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere
>>>>>>>> convenient and your own mce_chrdev_ops. The only thing you
>>>>>>>> should be touching in arch/x86/.../mcheck/ is the export of
>>>>>>>> MISC_MCELOG_MINOR. 
>>>>>>>> 
>>>>>>>> Thanks.
>>>>>>> 
>>>>>>> I'm *not* reuse native code.
>>>>>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in
>>>>>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are
>>>>>>> all xen-self-contained. 
>>>>>>> 
>>>>>>> The patch just redirect native mce_chrdev_device to
>>>>>>> xen_mce_chrdev_device when running under xen environment.
>>>>>>> It didn't change any native code (except just cancel
>>>>>>> mce_chrdev_device 'static'), and will not break native logic.
>>>>>> 
>>>>>> Why are you doing that?
>>>>>> 
>>>>>> Why don't you do
>>>>>> 
>>>>>> 	misc_register(&xen_mce_chrdev_device);
>>>>>> 
>>>>>> in xen_early_init_mcelog() ?
>>>>>> 
>>>>>> This way there'll be no arch/x86/ dependencies at all.
>>>>> 
>>>>> The reason is, if we do so, it would be covered by native
>>>>> misc_register(&mce_chrdev_device) later when native kernel init
>>>>> (xen init first and then start native kernel).
>>>> 
>>>> Won't the second registration (so the original one) of the major
>>>> fail? So the mce_log would just error out since somebody already
>>>> registered?
>>> 
>>> No, that would be device confliction, the 2nd register return as
>>> -EBUSY and un-predicetable result.
>> 
>> And the existing code does not actually check the 'misc_register'
>> return value? Ah yes. Perhaps then a fix to
>> arch/x86/kernel/cpu/mcheck/mce.c to do the proper de-registration if
>> 'misc_register' fails?
> 
> It's weird. From code point of view, it indeed not check return value
> so it should go silently. mce.c didn't do misc_deregister. 

Have a debug it, the root cause is, 
1). it does misc_register(&xen_mce_chrdev_device) at xen_early_init_mcelog(), it's very early stage (at xen_start_kernel), linux kernel and dd didn't start yet, so it fail to register xen_mce_chrdev_device.
2). After native start_kernel, native mce_chrdev_device registered successfully, then it point to *native* mcelog logic.

> 
>> 
>> Or just set 'mce_disabled=1' in the bootup of Xen, similar to
>> how lguest.c does it?

Have a look at lguest, it disable whole mce logic.
Xen dom0 cannot do so since we need keep dom0 mce logic to handle memory error which belong to dom0 (hypervisor will inject vMCE to dom0 in the case).


===================

Borislav and Konrad,

An approach which basically same as you suggested but w/ slightly update, is
1). at xen/mcelog.c, do misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define it as device_initcall(xen_late_init_mcelog) --> now linux dd ready, so xen mcelog divice would register successfully;
2). at native mce.c, change 1 line from device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device) --> so misc_register(&mce_chrdev_device) would be blocked by xen mcelog device;

I have draft test it and works fine.
Thought?

Thanks,
Jinsong

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 14:24:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 14:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ0rf-0006Hc-Qc; Mon, 28 May 2012 14:24:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SZ0rd-0006HX-Hm
	for xen-devel@lists.xen.org; Mon, 28 May 2012 14:24:05 +0000
Received: from [85.158.143.99:56986] by server-2.bemta-4.messagelabs.com id
	75/81-12211-48A83CF4; Mon, 28 May 2012 14:24:04 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338215044!22623518!1
X-Originating-IP: [208.97.132.83]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi44MyA9PiAyNjA3Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15836 invoked from network); 28 May 2012 14:24:04 -0000
Received: from caiajhbdcaid.dreamhost.com (HELO homiemail-a13.g.dreamhost.com)
	(208.97.132.83) by server-11.tower-216.messagelabs.com with SMTP;
	28 May 2012 14:24:04 -0000
Received: from homiemail-a13.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a13.g.dreamhost.com (Postfix) with ESMTP id 95DC033409A;
	Mon, 28 May 2012 07:24:02 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=GJ7qcG7URnsw7Qq0+swN2cAGUDq36HFxzuJLYHG8OYoU
	4jbezC7GFYMep9WKrBaI5rSCipkygbVcOhmujNdP7V1odSIy8hv6GZi4a1S42fe5
	TUtezKlbkGByh2rZNWrZrfQAS4isIfB042wAR354G6RFBZA3DczCZGRcTkXhj9M=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=c0nhazXX8pI48/LXyVxrDGB5QSc=; b=vpXmrxJ5
	aMC1mwav/4w0wsJZW1SExl+9G+h+Vgqox/Wao86q5yBNLxIv/90R9XTnIksblQSl
	/20sqjtRq95mH8h54nbmKHcx3ry5s9lSuveiL8Gtbg4bH3EfNPVZ8a2+/CbW+glg
	wF7qNgN+U+qj4uxZGOYamDmgbg8ItrPYuDg=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a13.g.dreamhost.com (Postfix) with ESMTPA id 0F88F334096; 
	Mon, 28 May 2012 07:24:02 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Mon, 28 May 2012 07:24:02 -0700
Message-ID: <b344e9f1903f7bb969b436768ac930ff.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <4FC337D2.4080609@citrix.com>
References: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
	<4FC337D2.4080609@citrix.com>
Date: Mon, 28 May 2012 07:24:02 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Roger Pau Monne" <roger.pau@citrix.com>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Andres Lagar-Cavilla wrote:
>> I am getting libxenlight.so and xl link failures, complaining about
>> missing login_tty and opentty symbols. The patch below fixes this for
>> me,
>> in a quick&  dirty manner.
>>
>> FYI, not proposing this for the tree. I'm not sure to which extent you
>> want to support an oldish distro, whether libutil is universally
>> necessary
>> and/or available.
>
> There's a test for libutil in configure, that should set the appropriate
> flags, did you do a make distclean && ./configure after updating your
> tree?
Correct-o. No fix needed -- stale config.
Thanks
Andres

>
> If so, could you please attach your tools/config.log?
>
> Thanks, Roger.
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 14:24:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 14:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ0rf-0006Hc-Qc; Mon, 28 May 2012 14:24:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <andres@lagarcavilla.org>) id 1SZ0rd-0006HX-Hm
	for xen-devel@lists.xen.org; Mon, 28 May 2012 14:24:05 +0000
Received: from [85.158.143.99:56986] by server-2.bemta-4.messagelabs.com id
	75/81-12211-48A83CF4; Mon, 28 May 2012 14:24:04 +0000
X-Env-Sender: andres@lagarcavilla.org
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338215044!22623518!1
X-Originating-IP: [208.97.132.83]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA4Ljk3LjEzMi44MyA9PiAyNjA3Mw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15836 invoked from network); 28 May 2012 14:24:04 -0000
Received: from caiajhbdcaid.dreamhost.com (HELO homiemail-a13.g.dreamhost.com)
	(208.97.132.83) by server-11.tower-216.messagelabs.com with SMTP;
	28 May 2012 14:24:04 -0000
Received: from homiemail-a13.g.dreamhost.com (localhost [127.0.0.1])
	by homiemail-a13.g.dreamhost.com (Postfix) with ESMTP id 95DC033409A;
	Mon, 28 May 2012 07:24:02 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=lagarcavilla.org; h=message-id
	:in-reply-to:references:date:subject:from:to:cc:reply-to
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	lagarcavilla.org; b=GJ7qcG7URnsw7Qq0+swN2cAGUDq36HFxzuJLYHG8OYoU
	4jbezC7GFYMep9WKrBaI5rSCipkygbVcOhmujNdP7V1odSIy8hv6GZi4a1S42fe5
	TUtezKlbkGByh2rZNWrZrfQAS4isIfB042wAR354G6RFBZA3DczCZGRcTkXhj9M=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lagarcavilla.org; h=
	message-id:in-reply-to:references:date:subject:from:to:cc
	:reply-to:mime-version:content-type:content-transfer-encoding;
	s=lagarcavilla.org; bh=c0nhazXX8pI48/LXyVxrDGB5QSc=; b=vpXmrxJ5
	aMC1mwav/4w0wsJZW1SExl+9G+h+Vgqox/Wao86q5yBNLxIv/90R9XTnIksblQSl
	/20sqjtRq95mH8h54nbmKHcx3ry5s9lSuveiL8Gtbg4bH3EfNPVZ8a2+/CbW+glg
	wF7qNgN+U+qj4uxZGOYamDmgbg8ItrPYuDg=
Received: from webmail.lagarcavilla.org (caiajhbihbdd.dreamhost.com
	[208.97.187.133]) (Authenticated sender: andres@lagarcavilla.com)
	by homiemail-a13.g.dreamhost.com (Postfix) with ESMTPA id 0F88F334096; 
	Mon, 28 May 2012 07:24:02 -0700 (PDT)
Received: from 206.223.182.18 (proxying for 206.223.182.18)
	(SquirrelMail authenticated user andres@lagarcavilla.com)
	by webmail.lagarcavilla.org with HTTP;
	Mon, 28 May 2012 07:24:02 -0700
Message-ID: <b344e9f1903f7bb969b436768ac930ff.squirrel@webmail.lagarcavilla.org>
In-Reply-To: <4FC337D2.4080609@citrix.com>
References: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
	<4FC337D2.4080609@citrix.com>
Date: Mon, 28 May 2012 07:24:02 -0700
From: "Andres Lagar-Cavilla" <andres@lagarcavilla.org>
To: "Roger Pau Monne" <roger.pau@citrix.com>
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	"andres@lagarcavilla.org" <andres@lagarcavilla.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: andres@lagarcavilla.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Andres Lagar-Cavilla wrote:
>> I am getting libxenlight.so and xl link failures, complaining about
>> missing login_tty and opentty symbols. The patch below fixes this for
>> me,
>> in a quick&  dirty manner.
>>
>> FYI, not proposing this for the tree. I'm not sure to which extent you
>> want to support an oldish distro, whether libutil is universally
>> necessary
>> and/or available.
>
> There's a test for libutil in configure, that should set the appropriate
> flags, did you do a make distclean && ./configure after updating your
> tree?
Correct-o. No fix needed -- stale config.
Thanks
Andres

>
> If so, could you please attach your tools/config.log?
>
> Thanks, Roger.
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 14:48:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 14:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ1F6-0006To-2T; Mon, 28 May 2012 14:48:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZ1F4-0006Tj-3Y
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 14:48:19 +0000
Received: from [85.158.138.51:10627] by server-10.bemta-3.messagelabs.com id
	04/4E-01101-13093CF4; Mon, 28 May 2012 14:48:17 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338216491!20623985!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3MTg4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4168 invoked from network); 28 May 2012 14:48:12 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-174.messagelabs.com with SMTP;
	28 May 2012 14:48:12 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 28 May 2012 07:48:10 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="148599916"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 28 May 2012 07:48:10 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 28 May 2012 07:48:09 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 22:48:08 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: 'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybwgARWupCAAB0loA==
Date: Mon, 28 May 2012 14:48:06 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com> 
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck, 
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>=20
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>=20
> Borislav and Konrad,
>=20
> An approach which basically same as you suggested but w/ slightly
> update, is 1). at xen/mcelog.c, do
> misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define
> it as device_initcall(xen_late_init_mcelog) --> now linux dd ready,
> so xen mcelog divice would register successfully; 2). at native
> mce.c, change 1 line from device_initcall(mcheck_init_device) to
> device_initcall_sync(mcheck_init_device) --> so
> misc_register(&mce_chrdev_device) would be blocked by xen mcelog
> device;     =20
>=20
> I have draft test it and works fine.
> Thought?
>=20

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RFC patch attached:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D


>From d06e667632507d7ed8e18f952b0eb7cec3cfc55c Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Tue, 29 May 2012 06:13:19 +0800
Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    5 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  385 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 798 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index d086a09..8a6913b 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -2282,7 +2280,7 @@ static __init int mcheck_init_device(void)
=20
 	return err;
 }
-device_initcall(mcheck_init_device);
+device_initcall_sync(mcheck_init_device);
=20
 /*
  * Old style boot options parsing. Only for compatibility.
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 4f51beb..b2638b1 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -329,9 +330,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 9424313..0f54241 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -194,4 +194,12 @@ config XEN_ACPI_PROCESSOR
           module will be called xen_acpi_processor  If you do not know wha=
t to choose,
           select M here. If the CPUFREQ drivers are built in, select Y her=
e.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 9adc5be..1d3e763 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -14,6 +14,7 @@ obj-$(CONFIG_XEN_GNTDEV)		+=3D xen-gntdev.o
 obj-$(CONFIG_XEN_GRANT_DEV_ALLOC)	+=3D xen-gntalloc.o
 obj-$(CONFIG_XENFS)			+=3D xenfs/
 obj-$(CONFIG_XEN_SYS_HYPERVISOR)	+=3D sys-hypervisor.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..72e87d2
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,392 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain()) {
+		/* register character device /dev/mcelog for xen mcelog */
+		if (misc_register(&xen_mce_chrdev_device))
+			return -ENODEV;
+		return bind_virq_for_mce();
+	}
+
+	return -ENODEV;
+}
+device_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..73a4ea7
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,385 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27089; creation-date="Mon, 28 May 2012 14:41:59 GMT";
	modification-date="Mon, 28 May 2012 22:35:16 GMT"
Content-Transfer-Encoding: base64

RnJvbSBkMDZlNjY3NjMyNTA3ZDdlZDhlMThmOTUyYjBlYjdjZWMzY2ZjNTVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogVHVlLCAyOSBNYXkgMjAxMiAwNjoxMzoxOSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS8z
XSB4ZW4vbWNlOiBBZGQgbWNlbG9nIHN1cHBvcnQgZm9yIFhlbiBwbGF0Zm9ybQoKV2hlbiBNQ0Eg
ZXJyb3Igb2NjdXJzLCBpdCB3b3VsZCBiZSBoYW5kbGVkIGJ5IFhlbiBoeXBlcnZpc29yIGZpcnN0
LAphbmQgdGhlbiB0aGUgZXJyb3IgaW5mb3JtYXRpb24gd291bGQgYmUgc2VudCB0byBpbml0aWFs
IGRvbWFpbiBmb3IgbG9nZ2luZy4KClRoaXMgcGF0Y2ggZ2V0cyBlcnJvciBpbmZvcm1hdGlvbiBm
cm9tIFhlbiBoeXBlcnZpc29yIGFuZCBjb252ZXJ0ClhlbiBmb3JtYXQgZXJyb3IgaW50byBMaW51
eCBmb3JtYXQgbWNlbG9nLiBUaGlzIGxvZ2ljIGlzIGJhc2ljYWxseQpzZWxmLWNvbnRhaW5lZCwg
bm90IHRvdWNoaW5nIG90aGVyIGtlcm5lbCBjb21wb25lbnRzLgoKQnkgdXNpbmcgdG9vbHMgbGlr
ZSBtY2Vsb2cgdG9vbCB1c2VycyBjb3VsZCByZWFkIHNwZWNpZmljIGVycm9yIGluZm9ybWF0aW9u
LApsaWtlIHdoYXQgdGhleSBkaWQgdW5kZXIgbmF0aXZlIExpbnV4LgoKVG8gdGVzdCBmb2xsb3cg
ZGlyZWN0aW9ucyBvdXRsaW5lZCBpbiBEb2N1bWVudGF0aW9uL2FjcGkvYXBlaS9laW5qLnR4dAoK
U2lnbmVkLW9mZi1ieTogS2UsIExpcGluZyA8bGlwaW5nLmtlQGludGVsLmNvbT4KU2lnbmVkLW9m
Zi1ieTogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdAaW50ZWwuY29tPgpTaWduZWQtb2Zm
LWJ5OiBKZXJlbXkgRml0emhhcmRpbmdlIDxqZXJlbXkuZml0emhhcmRpbmdlQGNpdHJpeC5jb20+
ClNpZ25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgotLS0K
IGFyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaCB8ICAgIDggKwogYXJjaC94ODYv
a2VybmVsL2NwdS9tY2hlY2svbWNlLmMgICAgIHwgICAgNCArLQogYXJjaC94ODYveGVuL2VubGln
aHRlbi5jICAgICAgICAgICAgIHwgICAgNSArLQogZHJpdmVycy94ZW4vS2NvbmZpZyAgICAgICAg
ICAgICAgICAgIHwgICAgOCArCiBkcml2ZXJzL3hlbi9NYWtlZmlsZSAgICAgICAgICAgICAgICAg
fCAgICAxICsKIGRyaXZlcnMveGVuL21jZWxvZy5jICAgICAgICAgICAgICAgICB8ICAzOTIgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9taXNjZGV2aWNl
LmggICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oICAg
ICAgfCAgMzg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFu
Z2VkLCA3OTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBkcml2ZXJzL3hlbi9tY2Vsb2cuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2lu
dGVyZmFjZS94ZW4tbWNhLmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4v
aHlwZXJjYWxsLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKaW5kZXgg
NTcyODg1Mi4uNTljMjI2ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5
cGVyY2FsbC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApAQCAt
NDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uvc2NoZWQuaD4KICNpbmNsdWRl
IDx4ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRm
b3JtLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4tbWNhLmg+CiAKIC8qCiAgKiBUaGUg
aHlwZXJjYWxsIGFzbXMgaGF2ZSB0byBtZWV0IHNldmVyYWwgY29uc3RyYWludHM6CkBAIC0zMDIs
NiArMzAzLDEzIEBAIEhZUEVSVklTT1Jfc2V0X3RpbWVyX29wKHU2NCB0aW1lb3V0KQogfQogCiBz
dGF0aWMgaW5saW5lIGludAorSFlQRVJWSVNPUl9tY2Eoc3RydWN0IHhlbl9tYyAqbWNfb3ApCit7
CisJbWNfb3AtPmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsK
KwlyZXR1cm4gX2h5cGVyY2FsbDEoaW50LCBtY2EsIG1jX29wKTsKK30KKworc3RhdGljIGlubGlu
ZSBpbnQKIEhZUEVSVklTT1JfZG9tMF9vcChzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wICpwbGF0Zm9y
bV9vcCkKIHsKIAlwbGF0Zm9ybV9vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5QRl9JTlRFUkZB
Q0VfVkVSU0lPTjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5j
IGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKaW5kZXggZDA4NmEwOS4uOGE2OTEz
YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKysrIGIvYXJj
aC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKQEAgLTU3LDggKzU3LDYgQEAgc3RhdGljIERF
RklORV9NVVRFWChtY2VfY2hyZGV2X3JlYWRfbXV0ZXgpOwogCiBpbnQgbWNlX2Rpc2FibGVkIF9f
cmVhZF9tb3N0bHk7CiAKLSNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJMjI3Ci0KICNkZWZpbmUg
U1BJTlVOSVQgMTAwCS8qIDEwMG5zICovCiAKIGF0b21pY190IG1jZV9lbnRyeTsKQEAgLTIyODIs
NyArMjI4MCw3IEBAIHN0YXRpYyBfX2luaXQgaW50IG1jaGVja19pbml0X2RldmljZSh2b2lkKQog
CiAJcmV0dXJuIGVycjsKIH0KLWRldmljZV9pbml0Y2FsbChtY2hlY2tfaW5pdF9kZXZpY2UpOwor
ZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsKIAogLyoKICAqIE9sZCBz
dHlsZSBib290IG9wdGlvbnMgcGFyc2luZy4gT25seSBmb3IgY29tcGF0aWJpbGl0eS4KZGlmZiAt
LWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4u
YwppbmRleCA0ZjUxYmViLi5iMjYzOGIxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdo
dGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC0zOCw2ICszOCw3IEBACiAj
aW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFj
ZS92Y3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9tZW1vcnkuaD4KKyNpbmNsdWRlIDx4
ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaD4KICNpbmNsdWRlIDx4ZW4vZmVhdHVyZXMuaD4KICNpbmNs
dWRlIDx4ZW4vcGFnZS5oPgogI2luY2x1ZGUgPHhlbi9odm0uaD4KQEAgLTMyOSw5ICszMzAsNyBA
QCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX2luaXRfY3B1aWRfbWFzayh2b2lkKQogCXVuc2lnbmVk
IGludCB4c2F2ZV9tYXNrOwogCiAJY3B1aWRfbGVhZjFfZWR4X21hc2sgPQotCQl+KCgxIDw8IFg4
Nl9GRUFUVVJFX01DRSkgIHwgIC8qIGRpc2FibGUgTUNFICovCi0JCSAgKDEgPDwgWDg2X0ZFQVRV
UkVfTUNBKSAgfCAgLyogZGlzYWJsZSBNQ0EgKi8KLQkJICAoMSA8PCBYODZfRkVBVFVSRV9NVFJS
KSB8ICAvKiBkaXNhYmxlIE1UUlIgKi8KKwkJfigoMSA8PCBYODZfRkVBVFVSRV9NVFJSKSB8ICAv
KiBkaXNhYmxlIE1UUlIgKi8KIAkJICAoMSA8PCBYODZfRkVBVFVSRV9BQ0MpKTsgICAvKiB0aGVy
bWFsIG1vbml0b3JpbmcgKi8KIAogCWlmICgheGVuX2luaXRpYWxfZG9tYWluKCkpCmRpZmYgLS1n
aXQgYS9kcml2ZXJzL3hlbi9LY29uZmlnIGIvZHJpdmVycy94ZW4vS2NvbmZpZwppbmRleCA5NDI0
MzEzLi4wZjU0MjQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9LY29uZmlnCisrKyBiL2RyaXZl
cnMveGVuL0tjb25maWcKQEAgLTE5NCw0ICsxOTQsMTIgQEAgY29uZmlnIFhFTl9BQ1BJX1BST0NF
U1NPUgogICAgICAgICAgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCB4ZW5fYWNwaV9wcm9jZXNzb3Ig
IElmIHlvdSBkbyBub3Qga25vdyB3aGF0IHRvIGNob29zZSwKICAgICAgICAgICBzZWxlY3QgTSBo
ZXJlLiBJZiB0aGUgQ1BVRlJFUSBkcml2ZXJzIGFyZSBidWlsdCBpbiwgc2VsZWN0IFkgaGVyZS4K
IAorY29uZmlnIFhFTl9NQ0VfTE9HCisJYm9vbCAiWGVuIHBsYXRmb3JtIG1jZWxvZyIKKwlkZXBl
bmRzIG9uIFhFTl9ET00wICYmIFg4Nl82NCAmJiBYODZfTUNFCisJZGVmYXVsdCBuCisJaGVscAor
CSAgQWxsb3cga2VybmVsIGZldGNoaW5nIE1DRSBlcnJvciBmcm9tIFhlbiBwbGF0Zm9ybSBhbmQK
KwkgIGNvbnZlcnRpbmcgaXQgaW50byBMaW51eCBtY2Vsb2cgZm9ybWF0IGZvciBtY2Vsb2cgdG9v
bHMKKwogZW5kbWVudQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJz
L3hlbi9NYWtlZmlsZQppbmRleCA5YWRjNWJlLi4xZDNlNzYzIDEwMDY0NAotLS0gYS9kcml2ZXJz
L3hlbi9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQpAQCAtMTQsNiArMTQsNyBA
QCBvYmotJChDT05GSUdfWEVOX0dOVERFVikJCSs9IHhlbi1nbnRkZXYubwogb2JqLSQoQ09ORklH
X1hFTl9HUkFOVF9ERVZfQUxMT0MpCSs9IHhlbi1nbnRhbGxvYy5vCiBvYmotJChDT05GSUdfWEVO
RlMpCQkJKz0geGVuZnMvCiBvYmotJChDT05GSUdfWEVOX1NZU19IWVBFUlZJU09SKQkrPSBzeXMt
aHlwZXJ2aXNvci5vCitvYmotJChDT05GSUdfWEVOX01DRV9MT0cpCQkrPSBtY2Vsb2cubwogb2Jq
LSQoQ09ORklHX1hFTl9QVkhWTSkJCQkrPSBwbGF0Zm9ybS1wY2kubwogb2JqLSQoQ09ORklHX1hF
Tl9UTUVNKQkJCSs9IHRtZW0ubwogb2JqLSQoQ09ORklHX1NXSU9UTEJfWEVOKQkJKz0gc3dpb3Rs
Yi14ZW4ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vbWNlbG9nLmMgYi9kcml2ZXJzL3hlbi9t
Y2Vsb2cuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmU4N2QyCi0tLSAv
ZGV2L251bGwKKysrIGIvZHJpdmVycy94ZW4vbWNlbG9nLmMKQEAgLTAsMCArMSwzOTIgQEAKKy8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKKyAqIG1jZWxvZy5jCisgKiBEcml2ZXIgZm9yIHJlY2Vpdmlu
ZyBhbmQgdHJhbnNmZXJyaW5nIG1hY2hpbmUgY2hlY2sgZXJyb3IgaW5mb21hdGlvbgorICoKKyAq
IENvcHlyaWdodCAoYykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0aG9yOiBMaXUsIEpp
bnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4KKyAqIEF1dGhvcjogSmlhbmcsIFl1bmhvbmcg
PHl1bmhvbmcuamlhbmdAaW50ZWwuY29tPgorICogQXV0aG9yOiBLZSwgTGlwaW5nIDxsaXBpbmcu
a2VAaW50ZWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICogYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IG9yLCB3aGVuIGRpc3RyaWJ1dGVk
CisgKiBzZXBhcmF0ZWx5IGZyb20gdGhlIExpbnV4IGtlcm5lbCBvciBpbmNvcnBvcmF0ZWQgaW50
byBvdGhlcgorICogc29mdHdhcmUgcGFja2FnZXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBs
aWNlbnNlOgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc291cmNlIGZp
bGUgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dAorICog
cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwKKyAqIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorICogYW5kIHRvIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworICogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0
d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisg
KiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1
ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxp
bnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9m
cy5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZp
Y2UuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJp
bGl0eS5oPgorCisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4v
ZXZlbnRzLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CisjaW5jbHVkZSA8eGVu
L3hlbi5oPgorI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hl
bi9oeXBlcnZpc29yLmg+CisKKyNkZWZpbmUgWEVOX01DRUxPRyAieGVuX21jZWxvZzogIgorCitz
dGF0aWMgc3RydWN0IG1jX2luZm8gZ19taTsKK3N0YXRpYyBzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxf
Y3B1ICpnX3BoeXNpbmZvOworc3RhdGljIHVpbnQzMl90IG5jcHVzOworCitzdGF0aWMgREVGSU5F
X1NQSU5MT0NLKG1jZWxvZ19sb2NrKTsKKworc3RhdGljIHN0cnVjdCB4ZW5fbWNlX2xvZyB4ZW5f
bWNlbG9nID0geworCS5zaWduYXR1cmUJPSBYRU5fTUNFX0xPR19TSUdOQVRVUkUsCisJLmxlbgkJ
PSBYRU5fTUNFX0xPR19MRU4sCisJLnJlY29yZGxlbgk9IHNpemVvZihzdHJ1Y3QgeGVuX21jZSks
Cit9OworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2sp
Oworc3RhdGljIGludCB4ZW5fbWNlX2NocmRldl9vcGVuX2NvdW50OwkvKiAjdGltZXMgb3BlbmVk
ICovCitzdGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHU7CS8qIGFscmVhZHkgb3Bl
biBleGNsdXNpdmU/ICovCisKK3N0YXRpYyBpbnQgeGVuX21jZV9jaHJkZXZfb3BlbihzdHJ1Y3Qg
aW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzcGluX2xvY2soJnhlbl9tY2Vf
Y2hyZGV2X3N0YXRlX2xvY2spOworCisJaWYgKHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHUgfHwK
KwkgICAgKHhlbl9tY2VfY2hyZGV2X29wZW5fY291bnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VY
Q0wpKSkgeworCQlzcGluX3VubG9jaygmeGVuX21jZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwkJ
cmV0dXJuIC1FQlVTWTsKKwl9CisKKwlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkKKwkJeGVu
X21jZV9jaHJkZXZfb3Blbl9leGNsdSA9IDE7CisJeGVuX21jZV9jaHJkZXZfb3Blbl9jb3VudCsr
OworCisJc3Bpbl91bmxvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJcmV0dXJu
IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOworfQorCitzdGF0aWMgaW50IHhlbl9tY2Vf
Y2hyZGV2X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7
CisJc3Bpbl9sb2NrKCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXhlbl9tY2VfY2hy
ZGV2X29wZW5fY291bnQtLTsKKwl4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1ID0gMDsKKworCXNw
aW5fdW5sb2NrKCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiAwOworfQor
CitzdGF0aWMgc3NpemVfdCB4ZW5fbWNlX2NocmRldl9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBj
aGFyIF9fdXNlciAqdWJ1ZiwKKwkJCQlzaXplX3QgdXNpemUsIGxvZmZfdCAqb2ZmKQoreworCWNo
YXIgX191c2VyICpidWYgPSB1YnVmOworCXVuc2lnbmVkIG51bTsKKwlpbnQgaSwgZXJyOworCisJ
c3Bpbl9sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwludW0gPSB4ZW5fbWNlbG9nLm5leHQ7CisKKwkv
KiBPbmx5IHN1cHBvcnRzIGZ1bGwgcmVhZHMgcmlnaHQgbm93ICovCisJZXJyID0gLUVJTlZBTDsK
KwlpZiAoKm9mZiAhPSAwIHx8IHVzaXplIDwgWEVOX01DRV9MT0dfTEVOKnNpemVvZihzdHJ1Y3Qg
eGVuX21jZSkpCisJCWdvdG8gb3V0OworCisJZXJyID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVt
OyBpKyspIHsKKwkJc3RydWN0IHhlbl9tY2UgKm0gPSAmeGVuX21jZWxvZy5lbnRyeVtpXTsKKwor
CQllcnIgfD0gY29weV90b191c2VyKGJ1ZiwgbSwgc2l6ZW9mKCptKSk7CisJCWJ1ZiArPSBzaXpl
b2YoKm0pOworCX0KKworCW1lbXNldCh4ZW5fbWNlbG9nLmVudHJ5LCAwLCBudW0gKiBzaXplb2Yo
c3RydWN0IHhlbl9tY2UpKTsKKwl4ZW5fbWNlbG9nLm5leHQgPSAwOworCisJaWYgKGVycikKKwkJ
ZXJyID0gLUVGQVVMVDsKKworb3V0OgorCXNwaW5fdW5sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwly
ZXR1cm4gZXJyID8gZXJyIDogYnVmIC0gdWJ1ZjsKK30KKworc3RhdGljIGxvbmcgeGVuX21jZV9j
aHJkZXZfaW9jdGwoc3RydWN0IGZpbGUgKmYsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJdW5zaWdu
ZWQgbG9uZyBhcmcpCit7CisJaW50IF9fdXNlciAqcCA9IChpbnQgX191c2VyICopYXJnOworCisJ
aWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJc3dpdGNo
IChjbWQpIHsKKwljYXNlIE1DRV9HRVRfUkVDT1JEX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKHNp
emVvZihzdHJ1Y3QgeGVuX21jZSksIHApOworCWNhc2UgTUNFX0dFVF9MT0dfTEVOOgorCQlyZXR1
cm4gcHV0X3VzZXIoWEVOX01DRV9MT0dfTEVOLCBwKTsKKwljYXNlIE1DRV9HRVRDTEVBUl9GTEFH
UzogeworCQl1bnNpZ25lZCBmbGFnczsKKworCQlkbyB7CisJCQlmbGFncyA9IHhlbl9tY2Vsb2cu
ZmxhZ3M7CisJCX0gd2hpbGUgKGNtcHhjaGcoJnhlbl9tY2Vsb2cuZmxhZ3MsIGZsYWdzLCAwKSAh
PSBmbGFncyk7CisKKwkJcmV0dXJuIHB1dF91c2VyKGZsYWdzLCBwKTsKKwl9CisJZGVmYXVsdDoK
KwkJcmV0dXJuIC1FTk9UVFk7CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3Bl
cmF0aW9ucyB4ZW5fbWNlX2NocmRldl9vcHMgPSB7CisJLm9wZW4JCQk9IHhlbl9tY2VfY2hyZGV2
X29wZW4sCisJLnJlbGVhc2UJCT0geGVuX21jZV9jaHJkZXZfcmVsZWFzZSwKKwkucmVhZAkJCT0g
eGVuX21jZV9jaHJkZXZfcmVhZCwKKwkudW5sb2NrZWRfaW9jdGwJCT0geGVuX21jZV9jaHJkZXZf
aW9jdGwsCisJLmxsc2VlawkJCT0gbm9fbGxzZWVrLAorfTsKKworc3RhdGljIHN0cnVjdCBtaXNj
ZGV2aWNlIHhlbl9tY2VfY2hyZGV2X2RldmljZSA9IHsKKwlNSVNDX01DRUxPR19NSU5PUiwKKwki
bWNlbG9nIiwKKwkmeGVuX21jZV9jaHJkZXZfb3BzLAorfTsKKworLyoKKyAqIENhbGxlciBzaG91
bGQgaG9sZCB0aGUgbWNlbG9nX2xvY2sKKyAqLworc3RhdGljIHZvaWQgeGVuX21jZV9sb2coc3Ry
dWN0IHhlbl9tY2UgKm1jZSkKK3sKKwl1bnNpZ25lZCBlbnRyeTsKKworCWVudHJ5ID0geGVuX21j
ZWxvZy5uZXh0OworCisJLyoKKwkgKiBXaGVuIHRoZSBidWZmZXIgZmlsbHMgdXAgZGlzY2FyZCBu
ZXcgZW50cmllcy4KKwkgKiBBc3N1bWUgdGhhdCB0aGUgZWFybGllciBlcnJvcnMgYXJlIHRoZSBt
b3JlCisJICogaW50ZXJlc3Rpbmcgb25lczoKKwkgKi8KKwlpZiAoZW50cnkgPj0gWEVOX01DRV9M
T0dfTEVOKSB7CisJCXNldF9iaXQoWEVOX01DRV9PVkVSRkxPVywKKwkJCSh1bnNpZ25lZCBsb25n
ICopJnhlbl9tY2Vsb2cuZmxhZ3MpOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KHhlbl9tY2Vs
b2cuZW50cnkgKyBlbnRyeSwgbWNlLCBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsKKworCXhlbl9t
Y2Vsb2cubmV4dCsrOworfQorCitzdGF0aWMgaW50IGNvbnZlcnRfbG9nKHN0cnVjdCBtY19pbmZv
ICptaSkKK3sKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqbWljOworCXN0cnVjdCBtY2luZm9fZ2xv
YmFsICptY19nbG9iYWw7CisJc3RydWN0IG1jaW5mb19iYW5rICptY19iYW5rOworCXN0cnVjdCB4
ZW5fbWNlIG07CisJdWludDMyX3QgaTsKKworCW1pYyA9IE5VTEw7CisJeDg2X21jaW5mb19sb29r
dXAoJm1pYywgbWksIE1DX1RZUEVfR0xPQkFMKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJ
cHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8gZmluZCBnbG9iYWwgZXJyb3IgaW5mb1xu
Iik7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCW1lbXNldCgmbSwgMCwgc2l6ZW9mKHN0cnVj
dCB4ZW5fbWNlKSk7CisKKwltY19nbG9iYWwgPSAoc3RydWN0IG1jaW5mb19nbG9iYWwgKiltaWM7
CisJbS5tY2dzdGF0dXMgPSBtY19nbG9iYWwtPm1jX2dzdGF0dXM7CisJbS5hcGljaWQgPSBtY19n
bG9iYWwtPm1jX2FwaWNpZDsKKworCWZvciAoaSA9IDA7IGkgPCBuY3B1czsgaSsrKQorCQlpZiAo
Z19waHlzaW5mb1tpXS5tY19hcGljaWQgPT0gbS5hcGljaWQpCisJCQlicmVhazsKKwlpZiAodW5s
aWtlbHkoaSA9PSBuY3B1cykpIHsKKwkJcHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8g
bWF0Y2ggY3B1IHdpdGggYXBpY2lkICVkXG4iLAorCQkJICAgbS5hcGljaWQpOworCQlyZXR1cm4g
LUVOT0RFVjsKKwl9CisKKwltLnNvY2tldGlkID0gZ19waHlzaW5mb1tpXS5tY19jaGlwaWQ7CisJ
bS5jcHUgPSBtLmV4dGNwdSA9IGdfcGh5c2luZm9baV0ubWNfY3B1bnI7CisJbS5jcHV2ZW5kb3Ig
PSAoX191OClnX3BoeXNpbmZvW2ldLm1jX3ZlbmRvcjsKKwltLm1jZ2NhcCA9IGdfcGh5c2luZm9b
aV0ubWNfbXNydmFsdWVzW19fTUNfTVNSX01DR0NBUF0udmFsdWU7CisKKwltaWMgPSBOVUxMOwor
CXg4Nl9tY2luZm9fbG9va3VwKCZtaWMsIG1pLCBNQ19UWVBFX0JBTkspOworCWlmICh1bmxpa2Vs
eSghbWljKSkgeworCQlwcl93YXJuaW5nKFhFTl9NQ0VMT0cgIkZhaWwgdG8gZmluZCBiYW5rIGVy
cm9yIGluZm9cbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbyB7CisJCWlmICgoIW1p
YykgfHwgKG1pYy0+c2l6ZSA9PSAwKSB8fAorCQkgICAgKG1pYy0+dHlwZSAhPSBNQ19UWVBFX0dM
T0JBTCAgICYmCisJCSAgICAgbWljLT50eXBlICE9IE1DX1RZUEVfQkFOSyAgICAgJiYKKwkJICAg
ICBtaWMtPnR5cGUgIT0gTUNfVFlQRV9FWFRFTkRFRCAmJgorCQkgICAgIG1pYy0+dHlwZSAhPSBN
Q19UWVBFX1JFQ09WRVJZKSkKKwkJCWJyZWFrOworCisJCWlmIChtaWMtPnR5cGUgPT0gTUNfVFlQ
RV9CQU5LKSB7CisJCQltY19iYW5rID0gKHN0cnVjdCBtY2luZm9fYmFuayAqKW1pYzsKKwkJCW0u
bWlzYyA9IG1jX2JhbmstPm1jX21pc2M7CisJCQltLnN0YXR1cyA9IG1jX2JhbmstPm1jX3N0YXR1
czsKKwkJCW0uYWRkciA9IG1jX2JhbmstPm1jX2FkZHI7CisJCQltLnRzYyA9IG1jX2JhbmstPm1j
X3RzYzsKKwkJCW0uYmFuayA9IG1jX2JhbmstPm1jX2Jhbms7CisJCQltLmZpbmlzaGVkID0gMTsK
KwkJCS8qbG9nIHRoaXMgcmVjb3JkKi8KKwkJCXhlbl9tY2VfbG9nKCZtKTsKKwkJfQorCQltaWMg
PSB4ODZfbWNpbmZvX25leHQobWljKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQor
CitzdGF0aWMgaW50IG1jX3F1ZXVlX2hhbmRsZSh1aW50MzJfdCBmbGFncykKK3sKKwlzdHJ1Y3Qg
eGVuX21jIG1jX29wOworCWludCByZXQgPSAwOworCisJbWNfb3AuY21kID0gWEVOX01DX2ZldGNo
OworCW1jX29wLmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsK
KwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX2ZldGNoLmRhdGEsICZnX21pKTsKKwlk
byB7CisJCW1jX29wLnUubWNfZmV0Y2guZmxhZ3MgPSBmbGFnczsKKwkJcmV0ID0gSFlQRVJWSVNP
Ul9tY2EoJm1jX29wKTsKKwkJaWYgKHJldCkgeworCQkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxl
ZCB0byBmZXRjaCAlcyBlcnJvciBsb2dcbiIsCisJCQkgICAgICAgKGZsYWdzID09IFhFTl9NQ19V
UkdFTlQpID8KKwkJCSAgICAgICAidXJnbmV0IiA6ICJub251cmdlbnQiKTsKKwkJCWJyZWFrOwor
CQl9CisKKwkJaWYgKG1jX29wLnUubWNfZmV0Y2guZmxhZ3MgJiBYRU5fTUNfTk9EQVRBIHx8CisJ
CSAgICBtY19vcC51Lm1jX2ZldGNoLmZsYWdzICYgWEVOX01DX0ZFVENIRkFJTEVEKQorCQkJYnJl
YWs7CisJCWVsc2UgeworCQkJcmV0ID0gY29udmVydF9sb2coJmdfbWkpOworCQkJaWYgKHJldCkK
KwkJCQlwcl93YXJuaW5nKFhFTl9NQ0VMT0cKKwkJCQkJICAgIkZhaWxlZCB0byBjb252ZXJ0IHRo
aXMgZXJyb3IgbG9nLCAiCisJCQkJCSAgICJjb250aW51ZSBhY2tpbmcgaXQgYW55d2F5XG4iKTsK
KworCQkJbWNfb3AudS5tY19mZXRjaC5mbGFncyA9IGZsYWdzIHwgWEVOX01DX0FDSzsKKwkJCXJl
dCA9IEhZUEVSVklTT1JfbWNhKCZtY19vcCk7CisJCQlpZiAocmV0KSB7CisJCQkJcHJfZXJyKFhF
Tl9NQ0VMT0cKKwkJCQkgICAgICAgIkZhaWxlZCB0byBhY2sgcHJldmlvdXMgZXJyb3IgbG9nXG4i
KTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIHJldDsK
K30KKworLyogdmlycSBoYW5kbGVyIGZvciBtYWNoaW5lIGNoZWNrIGVycm9yIGluZm8qLworc3Rh
dGljIGlycXJldHVybl90IHhlbl9tY2VfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkK
K3sKKwlpbnQgZXJyOworCXVuc2lnbmVkIGxvbmcgdG1wOworCisJc3Bpbl9sb2NrX2lycXNhdmUo
Jm1jZWxvZ19sb2NrLCB0bXApOworCisJLyogdXJnZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19x
dWV1ZV9oYW5kbGUoWEVOX01DX1VSR0VOVCk7CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VM
T0cKKwkJICAgICAgICJGYWlsZWQgdG8gaGFuZGxlIHVyZ2VudCBtY19pbmZvIHF1ZXVlLCAiCisJ
CSAgICAgICAiY29udGludWUgaGFuZGxpbmcgbm9udXJnZW50IG1jX2luZm8gcXVldWUgYW55d2F5
LlxuIik7CisKKwkvKiBub251cmdlbnQgbWNfaW5mbyAqLworCWVyciA9IG1jX3F1ZXVlX2hhbmRs
ZShYRU5fTUNfTk9OVVJHRU5UKTsKKwlpZiAoZXJyKQorCQlwcl9lcnIoWEVOX01DRUxPRworCQkg
ICAgICAgIkZhaWxlZCB0byBoYW5kbGUgbm9udXJnZW50IG1jX2luZm8gcXVldWUuXG4iKTsKKwor
CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm1jZWxvZ19sb2NrLCB0bXApOworCisJcmV0dXJuIElS
UV9IQU5ETEVEOworfQorCitzdGF0aWMgaW50IGJpbmRfdmlycV9mb3JfbWNlKHZvaWQpCit7CisJ
aW50IHJldDsKKwlzdHJ1Y3QgeGVuX21jIG1jX29wOworCisJbWVtc2V0KCZtY19vcCwgMCwgc2l6
ZW9mKHN0cnVjdCB4ZW5fbWMpKTsKKworCS8qIEZldGNoIHBoeXNpY2FsIENQVSBOdW1iZXJzICov
CisJbWNfb3AuY21kID0gWEVOX01DX3BoeXNjcHVpbmZvOworCW1jX29wLmludGVyZmFjZV92ZXJz
aW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZSht
Y19vcC51Lm1jX3BoeXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklT
T1JfbWNhKCZtY19vcCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVk
IHRvIGdldCBDUFUgbnVtYmVyc1xuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyogRmV0Y2gg
ZWFjaCBDUFUgUGh5c2ljYWwgSW5mbyBmb3IgbGF0ZXIgcmVmZXJlbmNlKi8KKwluY3B1cyA9IG1j
X29wLnUubWNfcGh5c2NwdWluZm8ubmNwdXM7CisJZ19waHlzaW5mbyA9IGtjYWxsb2MobmNwdXMs
IHNpemVvZihzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1KSwKKwkJCSAgICAgR0ZQX0tFUk5FTCk7
CisJaWYgKCFnX3BoeXNpbmZvKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzZXRfeGVuX2d1ZXN0X2hh
bmRsZShtY19vcC51Lm1jX3BoeXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZ
UEVSVklTT1JfbWNhKCZtY19vcCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAi
RmFpbGVkIHRvIGdldCBDUFUgaW5mb1xuIik7CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1
cm4gcmV0OworCX0KKworCXJldCAgPSBiaW5kX3ZpcnFfdG9faXJxaGFuZGxlcihWSVJRX01DQSwg
MCwKKwkJCQkgICAgICAgeGVuX21jZV9pbnRlcnJ1cHQsIDAsICJtY2UiLCBOVUxMKTsKKwlpZiAo
cmV0IDwgMCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGJpbmQgdmlycVxuIik7
CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOwor
fQorCitzdGF0aWMgaW50IF9faW5pdCB4ZW5fbGF0ZV9pbml0X21jZWxvZyh2b2lkKQoreworCS8q
IE9ubHkgRE9NMCBpcyByZXNwb25zaWJsZSBmb3IgTUNFIGxvZ2dpbmcgKi8KKwlpZiAoeGVuX2lu
aXRpYWxfZG9tYWluKCkpIHsKKwkJLyogcmVnaXN0ZXIgY2hhcmFjdGVyIGRldmljZSAvZGV2L21j
ZWxvZyBmb3IgeGVuIG1jZWxvZyAqLworCQlpZiAobWlzY19yZWdpc3RlcigmeGVuX21jZV9jaHJk
ZXZfZGV2aWNlKSkKKwkJCXJldHVybiAtRU5PREVWOworCQlyZXR1cm4gYmluZF92aXJxX2Zvcl9t
Y2UoKTsKKwl9CisKKwlyZXR1cm4gLUVOT0RFVjsKK30KK2RldmljZV9pbml0Y2FsbCh4ZW5fbGF0
ZV9pbml0X21jZWxvZyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21pc2NkZXZpY2UuaCBi
L2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCmluZGV4IDA1NDlkMjEuLmUwZGVlYjIgMTAwNjQ0
Ci0tLSBhL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbWlz
Y2RldmljZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjZGVmaW5lIE1QVF9NSU5PUgkJMjIwCiAjZGVm
aW5lIE1QVDJTQVNfTUlOT1IJCTIyMQogI2RlZmluZSBVSU5QVVRfTUlOT1IJCTIyMworI2RlZmlu
ZSBNSVNDX01DRUxPR19NSU5PUgkyMjcKICNkZWZpbmUgSFBFVF9NSU5PUgkJMjI4CiAjZGVmaW5l
IEZVU0VfTUlOT1IJCTIyOQogI2RlZmluZSBLVk1fTUlOT1IJCTIzMgpkaWZmIC0tZ2l0IGEvaW5j
bHVkZS94ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4t
bWNhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNhNGVhNwotLS0gL2Rl
di9udWxsCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKQEAgLTAsMCArMSwz
ODUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGFyY2gteDg2L21jYS5oCisgKiBHdWVz
dCBPUyBtYWNoaW5lIGNoZWNrIGludGVyZmFjZSB0byB4ODYgWGVuLgorICoKKyAqIENvbnRyaWJ1
dGVkIGJ5IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogQ2hyaXN0b3Bo
IEVnZ2VyIDxDaHJpc3RvcGguRWdnZXJAYW1kLmNvbT4KKyAqCisgKiBVcGRhdGVkIGJ5IEludGVs
IENvcnBvcmF0aW9uCisgKiBBdXRob3I6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwu
Y29tPgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5k
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICog
ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMg
b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdh
cmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT
IE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElO
IFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0Ff
SF9fCisjZGVmaW5lIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisKKy8qIEh5cGVyY2Fs
bCAqLworI2RlZmluZSBfX0hZUEVSVklTT1JfbWNhIF9fSFlQRVJWSVNPUl9hcmNoXzAKKworI2Rl
ZmluZSBYRU5fTUNBX0lOVEVSRkFDRV9WRVJTSU9OCTB4MDFlY2MwMDMKKworLyogSU46IERvbTAg
Y2FsbHMgaHlwZXJjYWxsIHRvIHJldHJpZXZlIG5vbnVyZ2VudCBlcnJvciBsb2cgZW50cnkgKi8K
KyNkZWZpbmUgWEVOX01DX05PTlVSR0VOVAkweDEKKy8qIElOOiBEb20wIGNhbGxzIGh5cGVyY2Fs
bCB0byByZXRyaWV2ZSB1cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICovCisjZGVmaW5lIFhFTl9NQ19V
UkdFTlQJCTB4MgorLyogSU46IERvbTAgYWNrbm93bGVkZ2VzIHByZXZpb3NseS1mZXRjaGVkIGVy
cm9yIGxvZyBlbnRyeSAqLworI2RlZmluZSBYRU5fTUNfQUNLCQkweDQKKworLyogT1VUOiBBbGwg
aXMgb2sgKi8KKyNkZWZpbmUgWEVOX01DX09LCQkweDAKKy8qIE9VVDogRG9tYWluIGNvdWxkIG5v
dCBmZXRjaCBkYXRhLiAqLworI2RlZmluZSBYRU5fTUNfRkVUQ0hGQUlMRUQJMHgxCisvKiBPVVQ6
IFRoZXJlIHdhcyBubyBtYWNoaW5lIGNoZWNrIGRhdGEgdG8gZmV0Y2guICovCisjZGVmaW5lIFhF
Tl9NQ19OT0RBVEEJCTB4MgorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyogdklSUSBpbmplY3Rl
ZCB0byBEb20wICovCisjZGVmaW5lIFZJUlFfTUNBIFZJUlFfQVJDSF8wCisKKy8qCisgKiBtY19p
bmZvIGVudHJ5IHR5cGVzCisgKiBtY2EgbWFjaGluZSBjaGVjayBpbmZvIGFyZSByZWNvcmRlZCBp
biBtY19pbmZvIGVudHJpZXMuCisgKiB3aGVuIGZldGNoIG1jYSBpbmZvLCBpdCBjYW4gdXNlIE1D
X1RZUEVfLi4uIHRvIGRpc3Rpbmd1aXNoCisgKiBkaWZmZXJlbnQgbWNhIGluZm8uCisgKi8KKyNk
ZWZpbmUgTUNfVFlQRV9HTE9CQUwJCTAKKyNkZWZpbmUgTUNfVFlQRV9CQU5LCQkxCisjZGVmaW5l
IE1DX1RZUEVfRVhURU5ERUQJMgorI2RlZmluZSBNQ19UWVBFX1JFQ09WRVJZCTMKKworc3RydWN0
IG1jaW5mb19jb21tb24geworCXVpbnQxNl90IHR5cGU7IC8qIHN0cnVjdHVyZSB0eXBlICovCisJ
dWludDE2X3Qgc2l6ZTsgLyogc2l6ZSBvZiB0aGlzIHN0cnVjdCBpbiBieXRlcyAqLworfTsKKwor
I2RlZmluZSBNQ19GTEFHX0NPUlJFQ1RBQkxFCSgxIDw8IDApCisjZGVmaW5lIE1DX0ZMQUdfVU5D
T1JSRUNUQUJMRQkoMSA8PCAxKQorI2RlZmluZSBNQ19GTEFHX1JFQ09WRVJBQkxFCSgxIDw8IDIp
CisjZGVmaW5lIE1DX0ZMQUdfUE9MTEVECQkoMSA8PCAzKQorI2RlZmluZSBNQ19GTEFHX1JFU0VU
CQkoMSA8PCA0KQorI2RlZmluZSBNQ19GTEFHX0NNQ0kJCSgxIDw8IDUpCisjZGVmaW5lIE1DX0ZM
QUdfTUNFCQkoMSA8PCA2KQorCisvKiBjb250YWlucyB4ODYgZ2xvYmFsIG1jIGluZm9ybWF0aW9u
ICovCitzdHJ1Y3QgbWNpbmZvX2dsb2JhbCB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9u
OworCisJdWludDE2X3QgbWNfZG9taWQ7IC8qIHJ1bm5pbmcgZG9tYWluIGF0IHRoZSB0aW1lIGlu
IGVycm9yICovCisJdWludDE2X3QgbWNfdmNwdWlkOyAvKiB2aXJ0dWFsIGNwdSBzY2hlZHVsZWQg
Zm9yIG1jX2RvbWlkICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7IC8qIHBoeXNpY2FsIHNvY2tl
dCBvZiB0aGUgcGh5c2ljYWwgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVpZDsgLyogcGh5c2lj
YWwgaW1wYWN0ZWQgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFkaWQ7IC8qIGNvcmUg
dGhyZWFkIG9mIHBoeXNpY2FsIGNvcmUgKi8KKwl1aW50MzJfdCBtY19hcGljaWQ7CisJdWludDMy
X3QgbWNfZmxhZ3M7CisJdWludDY0X3QgbWNfZ3N0YXR1czsgLyogZ2xvYmFsIHN0YXR1cyAqLwor
fTsKKworLyogY29udGFpbnMgeDg2IGJhbmsgbWMgaW5mb3JtYXRpb24gKi8KK3N0cnVjdCBtY2lu
Zm9fYmFuayB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2X3QgbWNf
YmFuazsgLyogYmFuayBuciAqLworCXVpbnQxNl90IG1jX2RvbWlkOyAvKiBkb21haW4gcmVmZXJl
bmNlZCBieSBtY19hZGRyIGlmIHZhbGlkICovCisJdWludDY0X3QgbWNfc3RhdHVzOyAvKiBiYW5r
IHN0YXR1cyAqLworCXVpbnQ2NF90IG1jX2FkZHI7IC8qIGJhbmsgYWRkcmVzcyAqLworCXVpbnQ2
NF90IG1jX21pc2M7CisJdWludDY0X3QgbWNfY3RybDI7CisJdWludDY0X3QgbWNfdHNjOworfTsK
Kworc3RydWN0IG1jaW5mb19tc3IgeworCXVpbnQ2NF90IHJlZzsgLyogTVNSICovCisJdWludDY0
X3QgdmFsdWU7IC8qIE1TUiB2YWx1ZSAqLworfTsKKworLyogY29udGFpbnMgbWMgaW5mb3JtYXRp
b24gZnJvbSBvdGhlciBvciBhZGRpdGlvbmFsIG1jIE1TUnMgKi8KK3N0cnVjdCBtY2luZm9fZXh0
ZW5kZWQgeworCXN0cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsKKwl1aW50MzJfdCBtY19tc3Jz
OyAvKiBOdW1iZXIgb2YgbXNyIHdpdGggdmFsaWQgdmFsdWVzLiAqLworCS8qCisJICogQ3VycmVu
dGx5IEludGVsIGV4dGVuZGVkIE1TUiAoMzIvNjQpIGluY2x1ZGUgYWxsIGdwIHJlZ2lzdGVycwor
CSAqIGFuZCBFKFIpRkxBR1MsIEUoUilJUCwgRShSKU1JU0MsIHVwIHRvIDExLzE5IG9mIHRoZW0g
bWlnaHQgYmUKKwkgKiB1c2VmdWwgYXQgcHJlc2VudC4gU28gZXhwYW5kIHRoaXMgYXJyYXkgdG8g
MTYvMzIgdG8gbGVhdmUgcm9vbS4KKwkgKi8KKwlzdHJ1Y3QgbWNpbmZvX21zciBtY19tc3Jbc2l6
ZW9mKHZvaWQgKikgKiA0XTsKK307CisKKy8qIFJlY292ZXJ5IEFjdGlvbiBmbGFncy4gR2l2aW5n
IHJlY292ZXJ5IHJlc3VsdCBpbmZvcm1hdGlvbiB0byBET00wICovCisKKy8qIFhlbiB0YWtlcyBz
dWNjZXNzZnVsIHJlY292ZXJ5IGFjdGlvbiwgdGhlIGVycm9yIGlzIHJlY292ZXJlZCAqLworI2Rl
ZmluZSBSRUNfQUNUSU9OX1JFQ09WRVJFRCAoMHgxIDw8IDApCisvKiBObyBhY3Rpb24gaXMgcGVy
Zm9ybWVkIGJ5IFhFTiAqLworI2RlZmluZSBSRUNfQUNUSU9OX05PTkUgKDB4MSA8PCAxKQorLyog
SXQncyBwb3NzaWJsZSBET00wIG1pZ2h0IHRha2UgYWN0aW9uIG93bmVyc2hpcCBpbiBzb21lIGNh
c2UgKi8KKyNkZWZpbmUgUkVDX0FDVElPTl9ORUVEX1JFU0VUICgweDEgPDwgMikKKworLyoKKyAq
IERpZmZlcmVudCBSZWNvdmVyeSBBY3Rpb24gdHlwZXMsIGlmIHRoZSBhY3Rpb24gaXMgcGVyZm9y
bWVkIHN1Y2Nlc3NmdWxseSwKKyAqIFJFQ19BQ1RJT05fUkVDT1ZFUkVEIGZsYWcgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAqLworCisvKiBQYWdlIE9mZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FD
VElPTl9QQUdFX09GRkxJTkUgKDB4MSA8PCAwKQorLyogQ1BVIG9mZmxpbmUgQWN0aW9uICovCisj
ZGVmaW5lIE1DX0FDVElPTl9DUFVfT0ZGTElORSAoMHgxIDw8IDEpCisvKiBMMyBjYWNoZSBkaXNh
YmxlIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fQ0FDSEVfU0hSSU5LICgweDEgPDwgMikK
KworLyoKKyAqIEJlbG93IGludGVyZmFjZSB1c2VkIGJldHdlZW4gWEVOL0RPTTAgZm9yIHBhc3Np
bmcgWEVOJ3MgcmVjb3ZlcnkgYWN0aW9uCisgKiBpbmZvcm1hdGlvbiB0byBET00wLgorICovCitz
dHJ1Y3QgcGFnZV9vZmZsaW5lX2FjdGlvbiB7CisJLyogUGFyYW1zIGZvciBwYXNzaW5nIHRoZSBv
ZmZsaW5lZCBwYWdlIG51bWJlciB0byBET00wICovCisJdWludDY0X3QgbWZuOworCXVpbnQ2NF90
IHN0YXR1czsKK307CisKK3N0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24geworCS8qIFBhcmFtcyBm
b3IgcGFzc2luZyB0aGUgaWRlbnRpdHkgb2YgdGhlIG9mZmxpbmVkIENQVSB0byBET00wICovCisJ
dWludDMyX3QgbWNfc29ja2V0aWQ7CisJdWludDE2X3QgbWNfY29yZWlkOworCXVpbnQxNl90IG1j
X2NvcmVfdGhyZWFkaWQ7Cit9OworCisjZGVmaW5lIE1BWF9VTklPTl9TSVpFIDE2CitzdHJ1Y3Qg
bWNpbmZvX3JlY292ZXJ5IHsKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1vbiBjb21tb247CisJdWludDE2
X3QgbWNfYmFuazsgLyogYmFuayBuciAqLworCXVpbnQ4X3QgYWN0aW9uX2ZsYWdzOworCXVpbnQ4
X3QgYWN0aW9uX3R5cGVzOworCXVuaW9uIHsKKwkJc3RydWN0IHBhZ2Vfb2ZmbGluZV9hY3Rpb24g
cGFnZV9yZXRpcmU7CisJCXN0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24gY3B1X29mZmxpbmU7CisJ
CXVpbnQ4X3QgcGFkW01BWF9VTklPTl9TSVpFXTsKKwl9IGFjdGlvbl9pbmZvOworfTsKKworCisj
ZGVmaW5lIE1DSU5GT19NQVhTSVpFIDc2OAorc3RydWN0IG1jX2luZm8geworCS8qIE51bWJlciBv
ZiBtY2luZm9fKiBlbnRyaWVzIGluIG1pX2RhdGEgKi8KKwl1aW50MzJfdCBtaV9uZW50cmllczsK
Kwl1aW50MzJfdCBmbGFnczsKKwl1aW50NjRfdCBtaV9kYXRhWyhNQ0lORk9fTUFYU0laRSAtIDEp
IC8gOF07Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNfaW5mbyk7CisKKyNkZWZp
bmUgX19NQ19NU1JfQVJSQVlTSVpFIDgKKyNkZWZpbmUgX19NQ19NU1JfTUNHQ0FQIDAKKyNkZWZp
bmUgX19NQ19OTVNSUyAxCisjZGVmaW5lIE1DX05DQVBTIDcKK3N0cnVjdCBtY2luZm9fbG9naWNh
bF9jcHUgeworCXVpbnQzMl90IG1jX2NwdW5yOworCXVpbnQzMl90IG1jX2NoaXBpZDsKKwl1aW50
MTZfdCBtY19jb3JlaWQ7CisJdWludDE2X3QgbWNfdGhyZWFkaWQ7CisJdWludDMyX3QgbWNfYXBp
Y2lkOworCXVpbnQzMl90IG1jX2NsdXN0ZXJpZDsKKwl1aW50MzJfdCBtY19uY29yZXM7CisJdWlu
dDMyX3QgbWNfbmNvcmVzX2FjdGl2ZTsKKwl1aW50MzJfdCBtY19udGhyZWFkczsKKwl1aW50MzJf
dCBtY19jcHVpZF9sZXZlbDsKKwl1aW50MzJfdCBtY19mYW1pbHk7CisJdWludDMyX3QgbWNfdmVu
ZG9yOworCXVpbnQzMl90IG1jX21vZGVsOworCXVpbnQzMl90IG1jX3N0ZXA7CisJY2hhciBtY192
ZW5kb3JpZFsxNl07CisJY2hhciBtY19icmFuZGlkWzY0XTsKKwl1aW50MzJfdCBtY19jcHVfY2Fw
c1tNQ19OQ0FQU107CisJdWludDMyX3QgbWNfY2FjaGVfc2l6ZTsKKwl1aW50MzJfdCBtY19jYWNo
ZV9hbGlnbm1lbnQ7CisJdWludDMyX3QgbWNfbm1zcnZhbHM7CisJc3RydWN0IG1jaW5mb19tc3Ig
bWNfbXNydmFsdWVzW19fTUNfTVNSX0FSUkFZU0laRV07Cit9OworREVGSU5FX0dVRVNUX0hBTkRM
RV9TVFJVQ1QobWNpbmZvX2xvZ2ljYWxfY3B1KTsKKworLyoKKyAqIFByb3RvdHlwZToKKyAqICAg
IHVpbnQzMl90IHg4Nl9tY2luZm9fbmVudHJpZXMoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLwor
I2RlZmluZSB4ODZfbWNpbmZvX25lbnRyaWVzKF9taSkgICAgXAorCSgoX21pKS0+bWlfbmVudHJp
ZXMpCisvKgorICogUHJvdG90eXBlOgorICogICAgc3RydWN0IG1jaW5mb19jb21tb24gKng4Nl9t
Y2luZm9fZmlyc3Qoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZv
X2ZpcnN0KF9taSkgICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19jb21tb24gKikoX21pKS0+bWlf
ZGF0YSkKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICBzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqeDg2
X21jaW5mb19uZXh0KHN0cnVjdCBtY2luZm9fY29tbW9uICptaWMpOworICovCisjZGVmaW5lIHg4
Nl9tY2luZm9fbmV4dChfbWljKSAgICAgICBcCisJKChzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqKSgo
dWludDhfdCAqKShfbWljKSArIChfbWljKS0+c2l6ZSkpCisKKy8qCisgKiBQcm90b3R5cGU6Cisg
KiAgICB2b2lkIHg4Nl9tY2luZm9fbG9va3VwKHZvaWQgKnJldCwgc3RydWN0IG1jX2luZm8gKm1p
LCB1aW50MTZfdCB0eXBlKTsKKyAqLworc3RhdGljIGlubGluZSB2b2lkIHg4Nl9tY2luZm9fbG9v
a3VwKHN0cnVjdCBtY2luZm9fY29tbW9uICoqcmV0LAorCQkJCSAgICAgc3RydWN0IG1jX2luZm8g
Km1pLCB1aW50MTZfdCB0eXBlKQoreworCXVpbnQzMl90IGk7CisJc3RydWN0IG1jaW5mb19jb21t
b24gKm1pYzsKKwlib29sIGZvdW5kID0gMDsKKworCWlmICghcmV0IHx8ICFtaSkKKwkJcmV0dXJu
OworCisJbWljID0geDg2X21jaW5mb19maXJzdChtaSk7CisJZm9yIChpID0gMDsgaSA8IHg4Nl9t
Y2luZm9fbmVudHJpZXMobWkpOyBpKyspIHsKKwkJaWYgKG1pYy0+dHlwZSA9PSB0eXBlKSB7CisJ
CQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZvX25leHQobWlj
KTsKKwl9CisKKwkqcmV0ID0gZm91bmQgPyBtaWMgOiBOVUxMOworfQorCisvKgorICogRmV0Y2gg
bWFjaGluZSBjaGVjayBkYXRhIGZyb20gaHlwZXJ2aXNvci4KKyAqLworI2RlZmluZSBYRU5fTUNf
ZmV0Y2gJCTEKK3N0cnVjdCB4ZW5fbWNfZmV0Y2ggeworCS8qCisJICogSU46IFhFTl9NQ19OT05V
UkdFTlQsIFhFTl9NQ19VUkdFTlQsCisJICogWEVOX01DX0FDSyBpZiBhY2sna2luZyBhbiBlYXJs
aWVyIGZldGNoCisJICogT1VUOiBYRU5fTUNfT0ssIFhFTl9NQ19GRVRDSEFJTEVELCBYRU5fTUNf
Tk9EQVRBCisJICovCisJdWludDMyX3QgZmxhZ3M7CisJdWludDMyX3QgX3BhZDA7CisJLyogT1VU
OiBpZCBmb3IgYWNrLCBJTjogaWQgd2UgYXJlIGFjaydpbmcgKi8KKwl1aW50NjRfdCBmZXRjaF9p
ZDsKKworCS8qIE9VVCB2YXJpYWJsZXMuICovCisJR1VFU1RfSEFORExFKG1jX2luZm8pIGRhdGE7
Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX2ZldGNoKTsKKworCisvKgor
ICogVGhpcyB0ZWxscyB0aGUgaHlwZXJ2aXNvciB0byBub3RpZnkgYSBEb21VIGFib3V0IHRoZSBt
YWNoaW5lIGNoZWNrIGVycm9yCisgKi8KKyNkZWZpbmUgWEVOX01DX25vdGlmeWRvbWFpbgkyCitz
dHJ1Y3QgeGVuX21jX25vdGlmeWRvbWFpbiB7CisJLyogSU4gdmFyaWFibGVzICovCisJdWludDE2
X3QgbWNfZG9taWQ7IC8qIFRoZSB1bnByaXZpbGVnZWQgZG9tYWluIHRvIG5vdGlmeSAqLworCXVp
bnQxNl90IG1jX3ZjcHVpZDsgLyogVGhlIHZjcHUgaW4gbWNfZG9taWQgdG8gbm90aWZ5ICovCisK
KwkvKiBJTi9PVVQgdmFyaWFibGVzICovCisJdWludDMyX3QgZmxhZ3M7Cit9OworREVGSU5FX0dV
RVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX25vdGlmeWRvbWFpbik7CisKKyNkZWZpbmUgWEVOX01D
X3BoeXNjcHVpbmZvCTMKK3N0cnVjdCB4ZW5fbWNfcGh5c2NwdWluZm8geworCS8qIElOL09VVCAq
LworCXVpbnQzMl90IG5jcHVzOworCXVpbnQzMl90IF9wYWQwOworCS8qIE9VVCAqLworCUdVRVNU
X0hBTkRMRShtY2luZm9fbG9naWNhbF9jcHUpIGluZm87Cit9OworCisjZGVmaW5lIFhFTl9NQ19t
c3JpbmplY3QJNAorI2RlZmluZSBNQ19NU1JJTkpfTUFYTVNSUwk4CitzdHJ1Y3QgeGVuX21jX21z
cmluamVjdCB7CisJLyogSU4gKi8KKwl1aW50MzJfdCBtY2lual9jcHVucjsgLyogdGFyZ2V0IHBy
b2Nlc3NvciBpZCAqLworCXVpbnQzMl90IG1jaW5qX2ZsYWdzOyAvKiBzZWUgTUNfTVNSSU5KX0Zf
KiBiZWxvdyAqLworCXVpbnQzMl90IG1jaW5qX2NvdW50OyAvKiAwIC4uIGNvdW50LTEgaW4gYXJy
YXkgYXJlIHZhbGlkICovCisJdWludDMyX3QgX3BhZDA7CisJc3RydWN0IG1jaW5mb19tc3IgbWNp
bmpfbXNyW01DX01TUklOSl9NQVhNU1JTXTsKK307CisKKy8qIEZsYWdzIGZvciBtY2lual9mbGFn
cyBhYm92ZTsgYml0cyAxNi0zMSBhcmUgcmVzZXJ2ZWQgKi8KKyNkZWZpbmUgTUNfTVNSSU5KX0Zf
SU5URVJQT1NFCTB4MQorCisjZGVmaW5lIFhFTl9NQ19tY2VpbmplY3QJNQorc3RydWN0IHhlbl9t
Y19tY2VpbmplY3QgeworCXVuc2lnbmVkIGludCBtY2VpbmpfY3B1bnI7IC8qIHRhcmdldCBwcm9j
ZXNzb3IgaWQgKi8KK307CisKK3N0cnVjdCB4ZW5fbWMgeworCXVpbnQzMl90IGNtZDsKKwl1aW50
MzJfdCBpbnRlcmZhY2VfdmVyc2lvbjsgLyogWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTiAqLwor
CXVuaW9uIHsKKwkJc3RydWN0IHhlbl9tY19mZXRjaCAgICAgICAgbWNfZmV0Y2g7CisJCXN0cnVj
dCB4ZW5fbWNfbm90aWZ5ZG9tYWluIG1jX25vdGlmeWRvbWFpbjsKKwkJc3RydWN0IHhlbl9tY19w
aHlzY3B1aW5mbyAgbWNfcGh5c2NwdWluZm87CisJCXN0cnVjdCB4ZW5fbWNfbXNyaW5qZWN0ICAg
IG1jX21zcmluamVjdDsKKwkJc3RydWN0IHhlbl9tY19tY2VpbmplY3QgICAgbWNfbWNlaW5qZWN0
OworCX0gdTsKK307CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWMpOworCisvKiBG
aWVsZHMgYXJlIHplcm8gd2hlbiBub3QgYXZhaWxhYmxlICovCitzdHJ1Y3QgeGVuX21jZSB7CisJ
X191NjQgc3RhdHVzOworCV9fdTY0IG1pc2M7CisJX191NjQgYWRkcjsKKwlfX3U2NCBtY2dzdGF0
dXM7CisJX191NjQgaXA7CisJX191NjQgdHNjOwkvKiBjcHUgdGltZSBzdGFtcCBjb3VudGVyICov
CisJX191NjQgdGltZTsJLyogd2FsbCB0aW1lX3Qgd2hlbiBlcnJvciB3YXMgZGV0ZWN0ZWQgKi8K
KwlfX3U4ICBjcHV2ZW5kb3I7CS8qIGNwdSB2ZW5kb3IgYXMgZW5jb2RlZCBpbiBzeXN0ZW0uaCAq
LworCV9fdTggIGluamVjdF9mbGFnczsJLyogc29mdHdhcmUgaW5qZWN0IGZsYWdzICovCisJX191
MTYgIHBhZDsKKwlfX3UzMiBjcHVpZDsJLyogQ1BVSUQgMSBFQVggKi8KKwlfX3U4ICBjczsJCS8q
IGNvZGUgc2VnbWVudCAqLworCV9fdTggIGJhbms7CS8qIG1hY2hpbmUgY2hlY2sgYmFuayAqLwor
CV9fdTggIGNwdTsJLyogY3B1IG51bWJlcjsgb2Jzb2xldGU7IHVzZSBleHRjcHUgbm93ICovCisJ
X191OCAgZmluaXNoZWQ7ICAgLyogZW50cnkgaXMgdmFsaWQgKi8KKwlfX3UzMiBleHRjcHU7CS8q
IGxpbnV4IGNwdSBudW1iZXIgdGhhdCBkZXRlY3RlZCB0aGUgZXJyb3IgKi8KKwlfX3UzMiBzb2Nr
ZXRpZDsJLyogQ1BVIHNvY2tldCBJRCAqLworCV9fdTMyIGFwaWNpZDsJLyogQ1BVIGluaXRpYWwg
YXBpYyBJRCAqLworCV9fdTY0IG1jZ2NhcDsJLyogTUNHQ0FQIE1TUjogbWFjaGluZSBjaGVjayBj
YXBhYmlsaXRpZXMgb2YgQ1BVICovCit9OworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFp
bnMgYWxsIGRhdGEgcmVsYXRlZCB0byB0aGUgTUNFIGxvZy4gIEFsc28KKyAqIGNhcnJpZXMgYSBz
aWduYXR1cmUgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZmluZCBmcm9tIGV4dGVybmFsCisgKiBkZWJ1
Z2dpbmcgdG9vbHMuICBFYWNoIGVudHJ5IGlzIG9ubHkgdmFsaWQgd2hlbiBpdHMgZmluaXNoZWQg
ZmxhZworICogaXMgc2V0LgorICovCisKKyNkZWZpbmUgWEVOX01DRV9MT0dfTEVOIDMyCisKK3N0
cnVjdCB4ZW5fbWNlX2xvZyB7CisJY2hhciBzaWduYXR1cmVbMTJdOyAvKiAiTUFDSElORUNIRUNL
IiAqLworCXVuc2lnbmVkIGxlbjsJICAgIC8qID0gWEVOX01DRV9MT0dfTEVOICovCisJdW5zaWdu
ZWQgbmV4dDsKKwl1bnNpZ25lZCBmbGFnczsKKwl1bnNpZ25lZCByZWNvcmRsZW47CS8qIGxlbmd0
aCBvZiBzdHJ1Y3QgeGVuX21jZSAqLworCXN0cnVjdCB4ZW5fbWNlIGVudHJ5W1hFTl9NQ0VfTE9H
X0xFTl07Cit9OworCisjZGVmaW5lIFhFTl9NQ0VfT1ZFUkZMT1cgMAkJLyogYml0IDAgaW4gZmxh
Z3MgbWVhbnMgb3ZlcmZsb3cgKi8KKworI2RlZmluZSBYRU5fTUNFX0xPR19TSUdOQVRVUkUJIk1B
Q0hJTkVDSEVDSyIKKworI2RlZmluZSBNQ0VfR0VUX1JFQ09SRF9MRU4gICBfSU9SKCdNJywgMSwg
aW50KQorI2RlZmluZSBNQ0VfR0VUX0xPR19MRU4gICAgICBfSU9SKCdNJywgMiwgaW50KQorI2Rl
ZmluZSBNQ0VfR0VUQ0xFQVJfRkxBR1MgICBfSU9SKCdNJywgMywgaW50KQorCisjZW5kaWYgLyog
X19BU1NFTUJMWV9fICovCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0FSQ0hfWDg2X01DQV9IX18g
Ki8KLS0gCjEuNy4xCgo=

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Mon May 28 14:48:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 14:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ1F6-0006To-2T; Mon, 28 May 2012 14:48:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZ1F4-0006Tj-3Y
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 14:48:19 +0000
Received: from [85.158.138.51:10627] by server-10.bemta-3.messagelabs.com id
	04/4E-01101-13093CF4; Mon, 28 May 2012 14:48:17 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338216491!20623985!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3MTg4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4168 invoked from network); 28 May 2012 14:48:12 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-7.tower-174.messagelabs.com with SMTP;
	28 May 2012 14:48:12 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 28 May 2012 07:48:10 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="148599916"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 28 May 2012 07:48:10 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Mon, 28 May 2012 07:48:09 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Mon, 28 May 2012 22:48:08 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: 'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybwgARWupCAAB0loA==
Date: Mon, 28 May 2012 14:48:06 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com> 
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck, 
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>=20
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>=20
> Borislav and Konrad,
>=20
> An approach which basically same as you suggested but w/ slightly
> update, is 1). at xen/mcelog.c, do
> misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define
> it as device_initcall(xen_late_init_mcelog) --> now linux dd ready,
> so xen mcelog divice would register successfully; 2). at native
> mce.c, change 1 line from device_initcall(mcheck_init_device) to
> device_initcall_sync(mcheck_init_device) --> so
> misc_register(&mce_chrdev_device) would be blocked by xen mcelog
> device;     =20
>=20
> I have draft test it and works fine.
> Thought?
>=20

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RFC patch attached:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D


>From d06e667632507d7ed8e18f952b0eb7cec3cfc55c Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Tue, 29 May 2012 06:13:19 +0800
Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    5 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  385 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 798 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index d086a09..8a6913b 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -2282,7 +2280,7 @@ static __init int mcheck_init_device(void)
=20
 	return err;
 }
-device_initcall(mcheck_init_device);
+device_initcall_sync(mcheck_init_device);
=20
 /*
  * Old style boot options parsing. Only for compatibility.
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 4f51beb..b2638b1 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -329,9 +330,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 9424313..0f54241 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -194,4 +194,12 @@ config XEN_ACPI_PROCESSOR
           module will be called xen_acpi_processor  If you do not know wha=
t to choose,
           select M here. If the CPUFREQ drivers are built in, select Y her=
e.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 9adc5be..1d3e763 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -14,6 +14,7 @@ obj-$(CONFIG_XEN_GNTDEV)		+=3D xen-gntdev.o
 obj-$(CONFIG_XEN_GRANT_DEV_ALLOC)	+=3D xen-gntalloc.o
 obj-$(CONFIG_XENFS)			+=3D xenfs/
 obj-$(CONFIG_XEN_SYS_HYPERVISOR)	+=3D sys-hypervisor.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..72e87d2
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,392 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain()) {
+		/* register character device /dev/mcelog for xen mcelog */
+		if (misc_register(&xen_mce_chrdev_device))
+			return -ENODEV;
+		return bind_virq_for_mce();
+	}
+
+	return -ENODEV;
+}
+device_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..73a4ea7
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,385 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27089; creation-date="Mon, 28 May 2012 14:41:59 GMT";
	modification-date="Mon, 28 May 2012 22:35:16 GMT"
Content-Transfer-Encoding: base64

RnJvbSBkMDZlNjY3NjMyNTA3ZDdlZDhlMThmOTUyYjBlYjdjZWMzY2ZjNTVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogVHVlLCAyOSBNYXkgMjAxMiAwNjoxMzoxOSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS8z
XSB4ZW4vbWNlOiBBZGQgbWNlbG9nIHN1cHBvcnQgZm9yIFhlbiBwbGF0Zm9ybQoKV2hlbiBNQ0Eg
ZXJyb3Igb2NjdXJzLCBpdCB3b3VsZCBiZSBoYW5kbGVkIGJ5IFhlbiBoeXBlcnZpc29yIGZpcnN0
LAphbmQgdGhlbiB0aGUgZXJyb3IgaW5mb3JtYXRpb24gd291bGQgYmUgc2VudCB0byBpbml0aWFs
IGRvbWFpbiBmb3IgbG9nZ2luZy4KClRoaXMgcGF0Y2ggZ2V0cyBlcnJvciBpbmZvcm1hdGlvbiBm
cm9tIFhlbiBoeXBlcnZpc29yIGFuZCBjb252ZXJ0ClhlbiBmb3JtYXQgZXJyb3IgaW50byBMaW51
eCBmb3JtYXQgbWNlbG9nLiBUaGlzIGxvZ2ljIGlzIGJhc2ljYWxseQpzZWxmLWNvbnRhaW5lZCwg
bm90IHRvdWNoaW5nIG90aGVyIGtlcm5lbCBjb21wb25lbnRzLgoKQnkgdXNpbmcgdG9vbHMgbGlr
ZSBtY2Vsb2cgdG9vbCB1c2VycyBjb3VsZCByZWFkIHNwZWNpZmljIGVycm9yIGluZm9ybWF0aW9u
LApsaWtlIHdoYXQgdGhleSBkaWQgdW5kZXIgbmF0aXZlIExpbnV4LgoKVG8gdGVzdCBmb2xsb3cg
ZGlyZWN0aW9ucyBvdXRsaW5lZCBpbiBEb2N1bWVudGF0aW9uL2FjcGkvYXBlaS9laW5qLnR4dAoK
U2lnbmVkLW9mZi1ieTogS2UsIExpcGluZyA8bGlwaW5nLmtlQGludGVsLmNvbT4KU2lnbmVkLW9m
Zi1ieTogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdAaW50ZWwuY29tPgpTaWduZWQtb2Zm
LWJ5OiBKZXJlbXkgRml0emhhcmRpbmdlIDxqZXJlbXkuZml0emhhcmRpbmdlQGNpdHJpeC5jb20+
ClNpZ25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgotLS0K
IGFyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaCB8ICAgIDggKwogYXJjaC94ODYv
a2VybmVsL2NwdS9tY2hlY2svbWNlLmMgICAgIHwgICAgNCArLQogYXJjaC94ODYveGVuL2VubGln
aHRlbi5jICAgICAgICAgICAgIHwgICAgNSArLQogZHJpdmVycy94ZW4vS2NvbmZpZyAgICAgICAg
ICAgICAgICAgIHwgICAgOCArCiBkcml2ZXJzL3hlbi9NYWtlZmlsZSAgICAgICAgICAgICAgICAg
fCAgICAxICsKIGRyaXZlcnMveGVuL21jZWxvZy5jICAgICAgICAgICAgICAgICB8ICAzOTIgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9taXNjZGV2aWNl
LmggICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oICAg
ICAgfCAgMzg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFu
Z2VkLCA3OTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBkcml2ZXJzL3hlbi9tY2Vsb2cuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2lu
dGVyZmFjZS94ZW4tbWNhLmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4v
aHlwZXJjYWxsLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKaW5kZXgg
NTcyODg1Mi4uNTljMjI2ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5
cGVyY2FsbC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApAQCAt
NDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uvc2NoZWQuaD4KICNpbmNsdWRl
IDx4ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRm
b3JtLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4tbWNhLmg+CiAKIC8qCiAgKiBUaGUg
aHlwZXJjYWxsIGFzbXMgaGF2ZSB0byBtZWV0IHNldmVyYWwgY29uc3RyYWludHM6CkBAIC0zMDIs
NiArMzAzLDEzIEBAIEhZUEVSVklTT1Jfc2V0X3RpbWVyX29wKHU2NCB0aW1lb3V0KQogfQogCiBz
dGF0aWMgaW5saW5lIGludAorSFlQRVJWSVNPUl9tY2Eoc3RydWN0IHhlbl9tYyAqbWNfb3ApCit7
CisJbWNfb3AtPmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsK
KwlyZXR1cm4gX2h5cGVyY2FsbDEoaW50LCBtY2EsIG1jX29wKTsKK30KKworc3RhdGljIGlubGlu
ZSBpbnQKIEhZUEVSVklTT1JfZG9tMF9vcChzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wICpwbGF0Zm9y
bV9vcCkKIHsKIAlwbGF0Zm9ybV9vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5QRl9JTlRFUkZB
Q0VfVkVSU0lPTjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5j
IGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKaW5kZXggZDA4NmEwOS4uOGE2OTEz
YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKysrIGIvYXJj
aC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKQEAgLTU3LDggKzU3LDYgQEAgc3RhdGljIERF
RklORV9NVVRFWChtY2VfY2hyZGV2X3JlYWRfbXV0ZXgpOwogCiBpbnQgbWNlX2Rpc2FibGVkIF9f
cmVhZF9tb3N0bHk7CiAKLSNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJMjI3Ci0KICNkZWZpbmUg
U1BJTlVOSVQgMTAwCS8qIDEwMG5zICovCiAKIGF0b21pY190IG1jZV9lbnRyeTsKQEAgLTIyODIs
NyArMjI4MCw3IEBAIHN0YXRpYyBfX2luaXQgaW50IG1jaGVja19pbml0X2RldmljZSh2b2lkKQog
CiAJcmV0dXJuIGVycjsKIH0KLWRldmljZV9pbml0Y2FsbChtY2hlY2tfaW5pdF9kZXZpY2UpOwor
ZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsKIAogLyoKICAqIE9sZCBz
dHlsZSBib290IG9wdGlvbnMgcGFyc2luZy4gT25seSBmb3IgY29tcGF0aWJpbGl0eS4KZGlmZiAt
LWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4u
YwppbmRleCA0ZjUxYmViLi5iMjYzOGIxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdo
dGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC0zOCw2ICszOCw3IEBACiAj
aW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFj
ZS92Y3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9tZW1vcnkuaD4KKyNpbmNsdWRlIDx4
ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaD4KICNpbmNsdWRlIDx4ZW4vZmVhdHVyZXMuaD4KICNpbmNs
dWRlIDx4ZW4vcGFnZS5oPgogI2luY2x1ZGUgPHhlbi9odm0uaD4KQEAgLTMyOSw5ICszMzAsNyBA
QCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX2luaXRfY3B1aWRfbWFzayh2b2lkKQogCXVuc2lnbmVk
IGludCB4c2F2ZV9tYXNrOwogCiAJY3B1aWRfbGVhZjFfZWR4X21hc2sgPQotCQl+KCgxIDw8IFg4
Nl9GRUFUVVJFX01DRSkgIHwgIC8qIGRpc2FibGUgTUNFICovCi0JCSAgKDEgPDwgWDg2X0ZFQVRV
UkVfTUNBKSAgfCAgLyogZGlzYWJsZSBNQ0EgKi8KLQkJICAoMSA8PCBYODZfRkVBVFVSRV9NVFJS
KSB8ICAvKiBkaXNhYmxlIE1UUlIgKi8KKwkJfigoMSA8PCBYODZfRkVBVFVSRV9NVFJSKSB8ICAv
KiBkaXNhYmxlIE1UUlIgKi8KIAkJICAoMSA8PCBYODZfRkVBVFVSRV9BQ0MpKTsgICAvKiB0aGVy
bWFsIG1vbml0b3JpbmcgKi8KIAogCWlmICgheGVuX2luaXRpYWxfZG9tYWluKCkpCmRpZmYgLS1n
aXQgYS9kcml2ZXJzL3hlbi9LY29uZmlnIGIvZHJpdmVycy94ZW4vS2NvbmZpZwppbmRleCA5NDI0
MzEzLi4wZjU0MjQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9LY29uZmlnCisrKyBiL2RyaXZl
cnMveGVuL0tjb25maWcKQEAgLTE5NCw0ICsxOTQsMTIgQEAgY29uZmlnIFhFTl9BQ1BJX1BST0NF
U1NPUgogICAgICAgICAgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCB4ZW5fYWNwaV9wcm9jZXNzb3Ig
IElmIHlvdSBkbyBub3Qga25vdyB3aGF0IHRvIGNob29zZSwKICAgICAgICAgICBzZWxlY3QgTSBo
ZXJlLiBJZiB0aGUgQ1BVRlJFUSBkcml2ZXJzIGFyZSBidWlsdCBpbiwgc2VsZWN0IFkgaGVyZS4K
IAorY29uZmlnIFhFTl9NQ0VfTE9HCisJYm9vbCAiWGVuIHBsYXRmb3JtIG1jZWxvZyIKKwlkZXBl
bmRzIG9uIFhFTl9ET00wICYmIFg4Nl82NCAmJiBYODZfTUNFCisJZGVmYXVsdCBuCisJaGVscAor
CSAgQWxsb3cga2VybmVsIGZldGNoaW5nIE1DRSBlcnJvciBmcm9tIFhlbiBwbGF0Zm9ybSBhbmQK
KwkgIGNvbnZlcnRpbmcgaXQgaW50byBMaW51eCBtY2Vsb2cgZm9ybWF0IGZvciBtY2Vsb2cgdG9v
bHMKKwogZW5kbWVudQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJz
L3hlbi9NYWtlZmlsZQppbmRleCA5YWRjNWJlLi4xZDNlNzYzIDEwMDY0NAotLS0gYS9kcml2ZXJz
L3hlbi9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQpAQCAtMTQsNiArMTQsNyBA
QCBvYmotJChDT05GSUdfWEVOX0dOVERFVikJCSs9IHhlbi1nbnRkZXYubwogb2JqLSQoQ09ORklH
X1hFTl9HUkFOVF9ERVZfQUxMT0MpCSs9IHhlbi1nbnRhbGxvYy5vCiBvYmotJChDT05GSUdfWEVO
RlMpCQkJKz0geGVuZnMvCiBvYmotJChDT05GSUdfWEVOX1NZU19IWVBFUlZJU09SKQkrPSBzeXMt
aHlwZXJ2aXNvci5vCitvYmotJChDT05GSUdfWEVOX01DRV9MT0cpCQkrPSBtY2Vsb2cubwogb2Jq
LSQoQ09ORklHX1hFTl9QVkhWTSkJCQkrPSBwbGF0Zm9ybS1wY2kubwogb2JqLSQoQ09ORklHX1hF
Tl9UTUVNKQkJCSs9IHRtZW0ubwogb2JqLSQoQ09ORklHX1NXSU9UTEJfWEVOKQkJKz0gc3dpb3Rs
Yi14ZW4ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vbWNlbG9nLmMgYi9kcml2ZXJzL3hlbi9t
Y2Vsb2cuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmU4N2QyCi0tLSAv
ZGV2L251bGwKKysrIGIvZHJpdmVycy94ZW4vbWNlbG9nLmMKQEAgLTAsMCArMSwzOTIgQEAKKy8q
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioKKyAqIG1jZWxvZy5jCisgKiBEcml2ZXIgZm9yIHJlY2Vpdmlu
ZyBhbmQgdHJhbnNmZXJyaW5nIG1hY2hpbmUgY2hlY2sgZXJyb3IgaW5mb21hdGlvbgorICoKKyAq
IENvcHlyaWdodCAoYykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0aG9yOiBMaXUsIEpp
bnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4KKyAqIEF1dGhvcjogSmlhbmcsIFl1bmhvbmcg
PHl1bmhvbmcuamlhbmdAaW50ZWwuY29tPgorICogQXV0aG9yOiBLZSwgTGlwaW5nIDxsaXBpbmcu
a2VAaW50ZWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICogYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IG9yLCB3aGVuIGRpc3RyaWJ1dGVk
CisgKiBzZXBhcmF0ZWx5IGZyb20gdGhlIExpbnV4IGtlcm5lbCBvciBpbmNvcnBvcmF0ZWQgaW50
byBvdGhlcgorICogc29mdHdhcmUgcGFja2FnZXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBs
aWNlbnNlOgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc291cmNlIGZp
bGUgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dAorICog
cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwKKyAqIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorICogYW5kIHRvIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworICogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0
d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisg
KiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1
ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxp
bnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9m
cy5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZp
Y2UuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJp
bGl0eS5oPgorCisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4v
ZXZlbnRzLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CisjaW5jbHVkZSA8eGVu
L3hlbi5oPgorI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hl
bi9oeXBlcnZpc29yLmg+CisKKyNkZWZpbmUgWEVOX01DRUxPRyAieGVuX21jZWxvZzogIgorCitz
dGF0aWMgc3RydWN0IG1jX2luZm8gZ19taTsKK3N0YXRpYyBzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxf
Y3B1ICpnX3BoeXNpbmZvOworc3RhdGljIHVpbnQzMl90IG5jcHVzOworCitzdGF0aWMgREVGSU5F
X1NQSU5MT0NLKG1jZWxvZ19sb2NrKTsKKworc3RhdGljIHN0cnVjdCB4ZW5fbWNlX2xvZyB4ZW5f
bWNlbG9nID0geworCS5zaWduYXR1cmUJPSBYRU5fTUNFX0xPR19TSUdOQVRVUkUsCisJLmxlbgkJ
PSBYRU5fTUNFX0xPR19MRU4sCisJLnJlY29yZGxlbgk9IHNpemVvZihzdHJ1Y3QgeGVuX21jZSks
Cit9OworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2sp
Oworc3RhdGljIGludCB4ZW5fbWNlX2NocmRldl9vcGVuX2NvdW50OwkvKiAjdGltZXMgb3BlbmVk
ICovCitzdGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHU7CS8qIGFscmVhZHkgb3Bl
biBleGNsdXNpdmU/ICovCisKK3N0YXRpYyBpbnQgeGVuX21jZV9jaHJkZXZfb3BlbihzdHJ1Y3Qg
aW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzcGluX2xvY2soJnhlbl9tY2Vf
Y2hyZGV2X3N0YXRlX2xvY2spOworCisJaWYgKHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHUgfHwK
KwkgICAgKHhlbl9tY2VfY2hyZGV2X29wZW5fY291bnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VY
Q0wpKSkgeworCQlzcGluX3VubG9jaygmeGVuX21jZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwkJ
cmV0dXJuIC1FQlVTWTsKKwl9CisKKwlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkKKwkJeGVu
X21jZV9jaHJkZXZfb3Blbl9leGNsdSA9IDE7CisJeGVuX21jZV9jaHJkZXZfb3Blbl9jb3VudCsr
OworCisJc3Bpbl91bmxvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJcmV0dXJu
IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOworfQorCitzdGF0aWMgaW50IHhlbl9tY2Vf
Y2hyZGV2X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7
CisJc3Bpbl9sb2NrKCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXhlbl9tY2VfY2hy
ZGV2X29wZW5fY291bnQtLTsKKwl4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1ID0gMDsKKworCXNw
aW5fdW5sb2NrKCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiAwOworfQor
CitzdGF0aWMgc3NpemVfdCB4ZW5fbWNlX2NocmRldl9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBj
aGFyIF9fdXNlciAqdWJ1ZiwKKwkJCQlzaXplX3QgdXNpemUsIGxvZmZfdCAqb2ZmKQoreworCWNo
YXIgX191c2VyICpidWYgPSB1YnVmOworCXVuc2lnbmVkIG51bTsKKwlpbnQgaSwgZXJyOworCisJ
c3Bpbl9sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwludW0gPSB4ZW5fbWNlbG9nLm5leHQ7CisKKwkv
KiBPbmx5IHN1cHBvcnRzIGZ1bGwgcmVhZHMgcmlnaHQgbm93ICovCisJZXJyID0gLUVJTlZBTDsK
KwlpZiAoKm9mZiAhPSAwIHx8IHVzaXplIDwgWEVOX01DRV9MT0dfTEVOKnNpemVvZihzdHJ1Y3Qg
eGVuX21jZSkpCisJCWdvdG8gb3V0OworCisJZXJyID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVt
OyBpKyspIHsKKwkJc3RydWN0IHhlbl9tY2UgKm0gPSAmeGVuX21jZWxvZy5lbnRyeVtpXTsKKwor
CQllcnIgfD0gY29weV90b191c2VyKGJ1ZiwgbSwgc2l6ZW9mKCptKSk7CisJCWJ1ZiArPSBzaXpl
b2YoKm0pOworCX0KKworCW1lbXNldCh4ZW5fbWNlbG9nLmVudHJ5LCAwLCBudW0gKiBzaXplb2Yo
c3RydWN0IHhlbl9tY2UpKTsKKwl4ZW5fbWNlbG9nLm5leHQgPSAwOworCisJaWYgKGVycikKKwkJ
ZXJyID0gLUVGQVVMVDsKKworb3V0OgorCXNwaW5fdW5sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwly
ZXR1cm4gZXJyID8gZXJyIDogYnVmIC0gdWJ1ZjsKK30KKworc3RhdGljIGxvbmcgeGVuX21jZV9j
aHJkZXZfaW9jdGwoc3RydWN0IGZpbGUgKmYsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJdW5zaWdu
ZWQgbG9uZyBhcmcpCit7CisJaW50IF9fdXNlciAqcCA9IChpbnQgX191c2VyICopYXJnOworCisJ
aWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJc3dpdGNo
IChjbWQpIHsKKwljYXNlIE1DRV9HRVRfUkVDT1JEX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKHNp
emVvZihzdHJ1Y3QgeGVuX21jZSksIHApOworCWNhc2UgTUNFX0dFVF9MT0dfTEVOOgorCQlyZXR1
cm4gcHV0X3VzZXIoWEVOX01DRV9MT0dfTEVOLCBwKTsKKwljYXNlIE1DRV9HRVRDTEVBUl9GTEFH
UzogeworCQl1bnNpZ25lZCBmbGFnczsKKworCQlkbyB7CisJCQlmbGFncyA9IHhlbl9tY2Vsb2cu
ZmxhZ3M7CisJCX0gd2hpbGUgKGNtcHhjaGcoJnhlbl9tY2Vsb2cuZmxhZ3MsIGZsYWdzLCAwKSAh
PSBmbGFncyk7CisKKwkJcmV0dXJuIHB1dF91c2VyKGZsYWdzLCBwKTsKKwl9CisJZGVmYXVsdDoK
KwkJcmV0dXJuIC1FTk9UVFk7CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3Bl
cmF0aW9ucyB4ZW5fbWNlX2NocmRldl9vcHMgPSB7CisJLm9wZW4JCQk9IHhlbl9tY2VfY2hyZGV2
X29wZW4sCisJLnJlbGVhc2UJCT0geGVuX21jZV9jaHJkZXZfcmVsZWFzZSwKKwkucmVhZAkJCT0g
eGVuX21jZV9jaHJkZXZfcmVhZCwKKwkudW5sb2NrZWRfaW9jdGwJCT0geGVuX21jZV9jaHJkZXZf
aW9jdGwsCisJLmxsc2VlawkJCT0gbm9fbGxzZWVrLAorfTsKKworc3RhdGljIHN0cnVjdCBtaXNj
ZGV2aWNlIHhlbl9tY2VfY2hyZGV2X2RldmljZSA9IHsKKwlNSVNDX01DRUxPR19NSU5PUiwKKwki
bWNlbG9nIiwKKwkmeGVuX21jZV9jaHJkZXZfb3BzLAorfTsKKworLyoKKyAqIENhbGxlciBzaG91
bGQgaG9sZCB0aGUgbWNlbG9nX2xvY2sKKyAqLworc3RhdGljIHZvaWQgeGVuX21jZV9sb2coc3Ry
dWN0IHhlbl9tY2UgKm1jZSkKK3sKKwl1bnNpZ25lZCBlbnRyeTsKKworCWVudHJ5ID0geGVuX21j
ZWxvZy5uZXh0OworCisJLyoKKwkgKiBXaGVuIHRoZSBidWZmZXIgZmlsbHMgdXAgZGlzY2FyZCBu
ZXcgZW50cmllcy4KKwkgKiBBc3N1bWUgdGhhdCB0aGUgZWFybGllciBlcnJvcnMgYXJlIHRoZSBt
b3JlCisJICogaW50ZXJlc3Rpbmcgb25lczoKKwkgKi8KKwlpZiAoZW50cnkgPj0gWEVOX01DRV9M
T0dfTEVOKSB7CisJCXNldF9iaXQoWEVOX01DRV9PVkVSRkxPVywKKwkJCSh1bnNpZ25lZCBsb25n
ICopJnhlbl9tY2Vsb2cuZmxhZ3MpOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KHhlbl9tY2Vs
b2cuZW50cnkgKyBlbnRyeSwgbWNlLCBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsKKworCXhlbl9t
Y2Vsb2cubmV4dCsrOworfQorCitzdGF0aWMgaW50IGNvbnZlcnRfbG9nKHN0cnVjdCBtY19pbmZv
ICptaSkKK3sKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqbWljOworCXN0cnVjdCBtY2luZm9fZ2xv
YmFsICptY19nbG9iYWw7CisJc3RydWN0IG1jaW5mb19iYW5rICptY19iYW5rOworCXN0cnVjdCB4
ZW5fbWNlIG07CisJdWludDMyX3QgaTsKKworCW1pYyA9IE5VTEw7CisJeDg2X21jaW5mb19sb29r
dXAoJm1pYywgbWksIE1DX1RZUEVfR0xPQkFMKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJ
cHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8gZmluZCBnbG9iYWwgZXJyb3IgaW5mb1xu
Iik7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCW1lbXNldCgmbSwgMCwgc2l6ZW9mKHN0cnVj
dCB4ZW5fbWNlKSk7CisKKwltY19nbG9iYWwgPSAoc3RydWN0IG1jaW5mb19nbG9iYWwgKiltaWM7
CisJbS5tY2dzdGF0dXMgPSBtY19nbG9iYWwtPm1jX2dzdGF0dXM7CisJbS5hcGljaWQgPSBtY19n
bG9iYWwtPm1jX2FwaWNpZDsKKworCWZvciAoaSA9IDA7IGkgPCBuY3B1czsgaSsrKQorCQlpZiAo
Z19waHlzaW5mb1tpXS5tY19hcGljaWQgPT0gbS5hcGljaWQpCisJCQlicmVhazsKKwlpZiAodW5s
aWtlbHkoaSA9PSBuY3B1cykpIHsKKwkJcHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8g
bWF0Y2ggY3B1IHdpdGggYXBpY2lkICVkXG4iLAorCQkJICAgbS5hcGljaWQpOworCQlyZXR1cm4g
LUVOT0RFVjsKKwl9CisKKwltLnNvY2tldGlkID0gZ19waHlzaW5mb1tpXS5tY19jaGlwaWQ7CisJ
bS5jcHUgPSBtLmV4dGNwdSA9IGdfcGh5c2luZm9baV0ubWNfY3B1bnI7CisJbS5jcHV2ZW5kb3Ig
PSAoX191OClnX3BoeXNpbmZvW2ldLm1jX3ZlbmRvcjsKKwltLm1jZ2NhcCA9IGdfcGh5c2luZm9b
aV0ubWNfbXNydmFsdWVzW19fTUNfTVNSX01DR0NBUF0udmFsdWU7CisKKwltaWMgPSBOVUxMOwor
CXg4Nl9tY2luZm9fbG9va3VwKCZtaWMsIG1pLCBNQ19UWVBFX0JBTkspOworCWlmICh1bmxpa2Vs
eSghbWljKSkgeworCQlwcl93YXJuaW5nKFhFTl9NQ0VMT0cgIkZhaWwgdG8gZmluZCBiYW5rIGVy
cm9yIGluZm9cbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbyB7CisJCWlmICgoIW1p
YykgfHwgKG1pYy0+c2l6ZSA9PSAwKSB8fAorCQkgICAgKG1pYy0+dHlwZSAhPSBNQ19UWVBFX0dM
T0JBTCAgICYmCisJCSAgICAgbWljLT50eXBlICE9IE1DX1RZUEVfQkFOSyAgICAgJiYKKwkJICAg
ICBtaWMtPnR5cGUgIT0gTUNfVFlQRV9FWFRFTkRFRCAmJgorCQkgICAgIG1pYy0+dHlwZSAhPSBN
Q19UWVBFX1JFQ09WRVJZKSkKKwkJCWJyZWFrOworCisJCWlmIChtaWMtPnR5cGUgPT0gTUNfVFlQ
RV9CQU5LKSB7CisJCQltY19iYW5rID0gKHN0cnVjdCBtY2luZm9fYmFuayAqKW1pYzsKKwkJCW0u
bWlzYyA9IG1jX2JhbmstPm1jX21pc2M7CisJCQltLnN0YXR1cyA9IG1jX2JhbmstPm1jX3N0YXR1
czsKKwkJCW0uYWRkciA9IG1jX2JhbmstPm1jX2FkZHI7CisJCQltLnRzYyA9IG1jX2JhbmstPm1j
X3RzYzsKKwkJCW0uYmFuayA9IG1jX2JhbmstPm1jX2Jhbms7CisJCQltLmZpbmlzaGVkID0gMTsK
KwkJCS8qbG9nIHRoaXMgcmVjb3JkKi8KKwkJCXhlbl9tY2VfbG9nKCZtKTsKKwkJfQorCQltaWMg
PSB4ODZfbWNpbmZvX25leHQobWljKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQor
CitzdGF0aWMgaW50IG1jX3F1ZXVlX2hhbmRsZSh1aW50MzJfdCBmbGFncykKK3sKKwlzdHJ1Y3Qg
eGVuX21jIG1jX29wOworCWludCByZXQgPSAwOworCisJbWNfb3AuY21kID0gWEVOX01DX2ZldGNo
OworCW1jX29wLmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsK
KwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX2ZldGNoLmRhdGEsICZnX21pKTsKKwlk
byB7CisJCW1jX29wLnUubWNfZmV0Y2guZmxhZ3MgPSBmbGFnczsKKwkJcmV0ID0gSFlQRVJWSVNP
Ul9tY2EoJm1jX29wKTsKKwkJaWYgKHJldCkgeworCQkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxl
ZCB0byBmZXRjaCAlcyBlcnJvciBsb2dcbiIsCisJCQkgICAgICAgKGZsYWdzID09IFhFTl9NQ19V
UkdFTlQpID8KKwkJCSAgICAgICAidXJnbmV0IiA6ICJub251cmdlbnQiKTsKKwkJCWJyZWFrOwor
CQl9CisKKwkJaWYgKG1jX29wLnUubWNfZmV0Y2guZmxhZ3MgJiBYRU5fTUNfTk9EQVRBIHx8CisJ
CSAgICBtY19vcC51Lm1jX2ZldGNoLmZsYWdzICYgWEVOX01DX0ZFVENIRkFJTEVEKQorCQkJYnJl
YWs7CisJCWVsc2UgeworCQkJcmV0ID0gY29udmVydF9sb2coJmdfbWkpOworCQkJaWYgKHJldCkK
KwkJCQlwcl93YXJuaW5nKFhFTl9NQ0VMT0cKKwkJCQkJICAgIkZhaWxlZCB0byBjb252ZXJ0IHRo
aXMgZXJyb3IgbG9nLCAiCisJCQkJCSAgICJjb250aW51ZSBhY2tpbmcgaXQgYW55d2F5XG4iKTsK
KworCQkJbWNfb3AudS5tY19mZXRjaC5mbGFncyA9IGZsYWdzIHwgWEVOX01DX0FDSzsKKwkJCXJl
dCA9IEhZUEVSVklTT1JfbWNhKCZtY19vcCk7CisJCQlpZiAocmV0KSB7CisJCQkJcHJfZXJyKFhF
Tl9NQ0VMT0cKKwkJCQkgICAgICAgIkZhaWxlZCB0byBhY2sgcHJldmlvdXMgZXJyb3IgbG9nXG4i
KTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIHJldDsK
K30KKworLyogdmlycSBoYW5kbGVyIGZvciBtYWNoaW5lIGNoZWNrIGVycm9yIGluZm8qLworc3Rh
dGljIGlycXJldHVybl90IHhlbl9tY2VfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkK
K3sKKwlpbnQgZXJyOworCXVuc2lnbmVkIGxvbmcgdG1wOworCisJc3Bpbl9sb2NrX2lycXNhdmUo
Jm1jZWxvZ19sb2NrLCB0bXApOworCisJLyogdXJnZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19x
dWV1ZV9oYW5kbGUoWEVOX01DX1VSR0VOVCk7CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VM
T0cKKwkJICAgICAgICJGYWlsZWQgdG8gaGFuZGxlIHVyZ2VudCBtY19pbmZvIHF1ZXVlLCAiCisJ
CSAgICAgICAiY29udGludWUgaGFuZGxpbmcgbm9udXJnZW50IG1jX2luZm8gcXVldWUgYW55d2F5
LlxuIik7CisKKwkvKiBub251cmdlbnQgbWNfaW5mbyAqLworCWVyciA9IG1jX3F1ZXVlX2hhbmRs
ZShYRU5fTUNfTk9OVVJHRU5UKTsKKwlpZiAoZXJyKQorCQlwcl9lcnIoWEVOX01DRUxPRworCQkg
ICAgICAgIkZhaWxlZCB0byBoYW5kbGUgbm9udXJnZW50IG1jX2luZm8gcXVldWUuXG4iKTsKKwor
CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm1jZWxvZ19sb2NrLCB0bXApOworCisJcmV0dXJuIElS
UV9IQU5ETEVEOworfQorCitzdGF0aWMgaW50IGJpbmRfdmlycV9mb3JfbWNlKHZvaWQpCit7CisJ
aW50IHJldDsKKwlzdHJ1Y3QgeGVuX21jIG1jX29wOworCisJbWVtc2V0KCZtY19vcCwgMCwgc2l6
ZW9mKHN0cnVjdCB4ZW5fbWMpKTsKKworCS8qIEZldGNoIHBoeXNpY2FsIENQVSBOdW1iZXJzICov
CisJbWNfb3AuY21kID0gWEVOX01DX3BoeXNjcHVpbmZvOworCW1jX29wLmludGVyZmFjZV92ZXJz
aW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZSht
Y19vcC51Lm1jX3BoeXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklT
T1JfbWNhKCZtY19vcCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVk
IHRvIGdldCBDUFUgbnVtYmVyc1xuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyogRmV0Y2gg
ZWFjaCBDUFUgUGh5c2ljYWwgSW5mbyBmb3IgbGF0ZXIgcmVmZXJlbmNlKi8KKwluY3B1cyA9IG1j
X29wLnUubWNfcGh5c2NwdWluZm8ubmNwdXM7CisJZ19waHlzaW5mbyA9IGtjYWxsb2MobmNwdXMs
IHNpemVvZihzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1KSwKKwkJCSAgICAgR0ZQX0tFUk5FTCk7
CisJaWYgKCFnX3BoeXNpbmZvKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzZXRfeGVuX2d1ZXN0X2hh
bmRsZShtY19vcC51Lm1jX3BoeXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZ
UEVSVklTT1JfbWNhKCZtY19vcCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAi
RmFpbGVkIHRvIGdldCBDUFUgaW5mb1xuIik7CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1
cm4gcmV0OworCX0KKworCXJldCAgPSBiaW5kX3ZpcnFfdG9faXJxaGFuZGxlcihWSVJRX01DQSwg
MCwKKwkJCQkgICAgICAgeGVuX21jZV9pbnRlcnJ1cHQsIDAsICJtY2UiLCBOVUxMKTsKKwlpZiAo
cmV0IDwgMCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGJpbmQgdmlycVxuIik7
CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOwor
fQorCitzdGF0aWMgaW50IF9faW5pdCB4ZW5fbGF0ZV9pbml0X21jZWxvZyh2b2lkKQoreworCS8q
IE9ubHkgRE9NMCBpcyByZXNwb25zaWJsZSBmb3IgTUNFIGxvZ2dpbmcgKi8KKwlpZiAoeGVuX2lu
aXRpYWxfZG9tYWluKCkpIHsKKwkJLyogcmVnaXN0ZXIgY2hhcmFjdGVyIGRldmljZSAvZGV2L21j
ZWxvZyBmb3IgeGVuIG1jZWxvZyAqLworCQlpZiAobWlzY19yZWdpc3RlcigmeGVuX21jZV9jaHJk
ZXZfZGV2aWNlKSkKKwkJCXJldHVybiAtRU5PREVWOworCQlyZXR1cm4gYmluZF92aXJxX2Zvcl9t
Y2UoKTsKKwl9CisKKwlyZXR1cm4gLUVOT0RFVjsKK30KK2RldmljZV9pbml0Y2FsbCh4ZW5fbGF0
ZV9pbml0X21jZWxvZyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21pc2NkZXZpY2UuaCBi
L2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCmluZGV4IDA1NDlkMjEuLmUwZGVlYjIgMTAwNjQ0
Ci0tLSBhL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbWlz
Y2RldmljZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjZGVmaW5lIE1QVF9NSU5PUgkJMjIwCiAjZGVm
aW5lIE1QVDJTQVNfTUlOT1IJCTIyMQogI2RlZmluZSBVSU5QVVRfTUlOT1IJCTIyMworI2RlZmlu
ZSBNSVNDX01DRUxPR19NSU5PUgkyMjcKICNkZWZpbmUgSFBFVF9NSU5PUgkJMjI4CiAjZGVmaW5l
IEZVU0VfTUlOT1IJCTIyOQogI2RlZmluZSBLVk1fTUlOT1IJCTIzMgpkaWZmIC0tZ2l0IGEvaW5j
bHVkZS94ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4t
bWNhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNhNGVhNwotLS0gL2Rl
di9udWxsCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKQEAgLTAsMCArMSwz
ODUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGFyY2gteDg2L21jYS5oCisgKiBHdWVz
dCBPUyBtYWNoaW5lIGNoZWNrIGludGVyZmFjZSB0byB4ODYgWGVuLgorICoKKyAqIENvbnRyaWJ1
dGVkIGJ5IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogQ2hyaXN0b3Bo
IEVnZ2VyIDxDaHJpc3RvcGguRWdnZXJAYW1kLmNvbT4KKyAqCisgKiBVcGRhdGVkIGJ5IEludGVs
IENvcnBvcmF0aW9uCisgKiBBdXRob3I6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwu
Y29tPgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5k
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICog
ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMg
b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdh
cmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT
IE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElO
IFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0Ff
SF9fCisjZGVmaW5lIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisKKy8qIEh5cGVyY2Fs
bCAqLworI2RlZmluZSBfX0hZUEVSVklTT1JfbWNhIF9fSFlQRVJWSVNPUl9hcmNoXzAKKworI2Rl
ZmluZSBYRU5fTUNBX0lOVEVSRkFDRV9WRVJTSU9OCTB4MDFlY2MwMDMKKworLyogSU46IERvbTAg
Y2FsbHMgaHlwZXJjYWxsIHRvIHJldHJpZXZlIG5vbnVyZ2VudCBlcnJvciBsb2cgZW50cnkgKi8K
KyNkZWZpbmUgWEVOX01DX05PTlVSR0VOVAkweDEKKy8qIElOOiBEb20wIGNhbGxzIGh5cGVyY2Fs
bCB0byByZXRyaWV2ZSB1cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICovCisjZGVmaW5lIFhFTl9NQ19V
UkdFTlQJCTB4MgorLyogSU46IERvbTAgYWNrbm93bGVkZ2VzIHByZXZpb3NseS1mZXRjaGVkIGVy
cm9yIGxvZyBlbnRyeSAqLworI2RlZmluZSBYRU5fTUNfQUNLCQkweDQKKworLyogT1VUOiBBbGwg
aXMgb2sgKi8KKyNkZWZpbmUgWEVOX01DX09LCQkweDAKKy8qIE9VVDogRG9tYWluIGNvdWxkIG5v
dCBmZXRjaCBkYXRhLiAqLworI2RlZmluZSBYRU5fTUNfRkVUQ0hGQUlMRUQJMHgxCisvKiBPVVQ6
IFRoZXJlIHdhcyBubyBtYWNoaW5lIGNoZWNrIGRhdGEgdG8gZmV0Y2guICovCisjZGVmaW5lIFhF
Tl9NQ19OT0RBVEEJCTB4MgorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyogdklSUSBpbmplY3Rl
ZCB0byBEb20wICovCisjZGVmaW5lIFZJUlFfTUNBIFZJUlFfQVJDSF8wCisKKy8qCisgKiBtY19p
bmZvIGVudHJ5IHR5cGVzCisgKiBtY2EgbWFjaGluZSBjaGVjayBpbmZvIGFyZSByZWNvcmRlZCBp
biBtY19pbmZvIGVudHJpZXMuCisgKiB3aGVuIGZldGNoIG1jYSBpbmZvLCBpdCBjYW4gdXNlIE1D
X1RZUEVfLi4uIHRvIGRpc3Rpbmd1aXNoCisgKiBkaWZmZXJlbnQgbWNhIGluZm8uCisgKi8KKyNk
ZWZpbmUgTUNfVFlQRV9HTE9CQUwJCTAKKyNkZWZpbmUgTUNfVFlQRV9CQU5LCQkxCisjZGVmaW5l
IE1DX1RZUEVfRVhURU5ERUQJMgorI2RlZmluZSBNQ19UWVBFX1JFQ09WRVJZCTMKKworc3RydWN0
IG1jaW5mb19jb21tb24geworCXVpbnQxNl90IHR5cGU7IC8qIHN0cnVjdHVyZSB0eXBlICovCisJ
dWludDE2X3Qgc2l6ZTsgLyogc2l6ZSBvZiB0aGlzIHN0cnVjdCBpbiBieXRlcyAqLworfTsKKwor
I2RlZmluZSBNQ19GTEFHX0NPUlJFQ1RBQkxFCSgxIDw8IDApCisjZGVmaW5lIE1DX0ZMQUdfVU5D
T1JSRUNUQUJMRQkoMSA8PCAxKQorI2RlZmluZSBNQ19GTEFHX1JFQ09WRVJBQkxFCSgxIDw8IDIp
CisjZGVmaW5lIE1DX0ZMQUdfUE9MTEVECQkoMSA8PCAzKQorI2RlZmluZSBNQ19GTEFHX1JFU0VU
CQkoMSA8PCA0KQorI2RlZmluZSBNQ19GTEFHX0NNQ0kJCSgxIDw8IDUpCisjZGVmaW5lIE1DX0ZM
QUdfTUNFCQkoMSA8PCA2KQorCisvKiBjb250YWlucyB4ODYgZ2xvYmFsIG1jIGluZm9ybWF0aW9u
ICovCitzdHJ1Y3QgbWNpbmZvX2dsb2JhbCB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9u
OworCisJdWludDE2X3QgbWNfZG9taWQ7IC8qIHJ1bm5pbmcgZG9tYWluIGF0IHRoZSB0aW1lIGlu
IGVycm9yICovCisJdWludDE2X3QgbWNfdmNwdWlkOyAvKiB2aXJ0dWFsIGNwdSBzY2hlZHVsZWQg
Zm9yIG1jX2RvbWlkICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7IC8qIHBoeXNpY2FsIHNvY2tl
dCBvZiB0aGUgcGh5c2ljYWwgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVpZDsgLyogcGh5c2lj
YWwgaW1wYWN0ZWQgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFkaWQ7IC8qIGNvcmUg
dGhyZWFkIG9mIHBoeXNpY2FsIGNvcmUgKi8KKwl1aW50MzJfdCBtY19hcGljaWQ7CisJdWludDMy
X3QgbWNfZmxhZ3M7CisJdWludDY0X3QgbWNfZ3N0YXR1czsgLyogZ2xvYmFsIHN0YXR1cyAqLwor
fTsKKworLyogY29udGFpbnMgeDg2IGJhbmsgbWMgaW5mb3JtYXRpb24gKi8KK3N0cnVjdCBtY2lu
Zm9fYmFuayB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2X3QgbWNf
YmFuazsgLyogYmFuayBuciAqLworCXVpbnQxNl90IG1jX2RvbWlkOyAvKiBkb21haW4gcmVmZXJl
bmNlZCBieSBtY19hZGRyIGlmIHZhbGlkICovCisJdWludDY0X3QgbWNfc3RhdHVzOyAvKiBiYW5r
IHN0YXR1cyAqLworCXVpbnQ2NF90IG1jX2FkZHI7IC8qIGJhbmsgYWRkcmVzcyAqLworCXVpbnQ2
NF90IG1jX21pc2M7CisJdWludDY0X3QgbWNfY3RybDI7CisJdWludDY0X3QgbWNfdHNjOworfTsK
Kworc3RydWN0IG1jaW5mb19tc3IgeworCXVpbnQ2NF90IHJlZzsgLyogTVNSICovCisJdWludDY0
X3QgdmFsdWU7IC8qIE1TUiB2YWx1ZSAqLworfTsKKworLyogY29udGFpbnMgbWMgaW5mb3JtYXRp
b24gZnJvbSBvdGhlciBvciBhZGRpdGlvbmFsIG1jIE1TUnMgKi8KK3N0cnVjdCBtY2luZm9fZXh0
ZW5kZWQgeworCXN0cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsKKwl1aW50MzJfdCBtY19tc3Jz
OyAvKiBOdW1iZXIgb2YgbXNyIHdpdGggdmFsaWQgdmFsdWVzLiAqLworCS8qCisJICogQ3VycmVu
dGx5IEludGVsIGV4dGVuZGVkIE1TUiAoMzIvNjQpIGluY2x1ZGUgYWxsIGdwIHJlZ2lzdGVycwor
CSAqIGFuZCBFKFIpRkxBR1MsIEUoUilJUCwgRShSKU1JU0MsIHVwIHRvIDExLzE5IG9mIHRoZW0g
bWlnaHQgYmUKKwkgKiB1c2VmdWwgYXQgcHJlc2VudC4gU28gZXhwYW5kIHRoaXMgYXJyYXkgdG8g
MTYvMzIgdG8gbGVhdmUgcm9vbS4KKwkgKi8KKwlzdHJ1Y3QgbWNpbmZvX21zciBtY19tc3Jbc2l6
ZW9mKHZvaWQgKikgKiA0XTsKK307CisKKy8qIFJlY292ZXJ5IEFjdGlvbiBmbGFncy4gR2l2aW5n
IHJlY292ZXJ5IHJlc3VsdCBpbmZvcm1hdGlvbiB0byBET00wICovCisKKy8qIFhlbiB0YWtlcyBz
dWNjZXNzZnVsIHJlY292ZXJ5IGFjdGlvbiwgdGhlIGVycm9yIGlzIHJlY292ZXJlZCAqLworI2Rl
ZmluZSBSRUNfQUNUSU9OX1JFQ09WRVJFRCAoMHgxIDw8IDApCisvKiBObyBhY3Rpb24gaXMgcGVy
Zm9ybWVkIGJ5IFhFTiAqLworI2RlZmluZSBSRUNfQUNUSU9OX05PTkUgKDB4MSA8PCAxKQorLyog
SXQncyBwb3NzaWJsZSBET00wIG1pZ2h0IHRha2UgYWN0aW9uIG93bmVyc2hpcCBpbiBzb21lIGNh
c2UgKi8KKyNkZWZpbmUgUkVDX0FDVElPTl9ORUVEX1JFU0VUICgweDEgPDwgMikKKworLyoKKyAq
IERpZmZlcmVudCBSZWNvdmVyeSBBY3Rpb24gdHlwZXMsIGlmIHRoZSBhY3Rpb24gaXMgcGVyZm9y
bWVkIHN1Y2Nlc3NmdWxseSwKKyAqIFJFQ19BQ1RJT05fUkVDT1ZFUkVEIGZsYWcgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAqLworCisvKiBQYWdlIE9mZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FD
VElPTl9QQUdFX09GRkxJTkUgKDB4MSA8PCAwKQorLyogQ1BVIG9mZmxpbmUgQWN0aW9uICovCisj
ZGVmaW5lIE1DX0FDVElPTl9DUFVfT0ZGTElORSAoMHgxIDw8IDEpCisvKiBMMyBjYWNoZSBkaXNh
YmxlIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fQ0FDSEVfU0hSSU5LICgweDEgPDwgMikK
KworLyoKKyAqIEJlbG93IGludGVyZmFjZSB1c2VkIGJldHdlZW4gWEVOL0RPTTAgZm9yIHBhc3Np
bmcgWEVOJ3MgcmVjb3ZlcnkgYWN0aW9uCisgKiBpbmZvcm1hdGlvbiB0byBET00wLgorICovCitz
dHJ1Y3QgcGFnZV9vZmZsaW5lX2FjdGlvbiB7CisJLyogUGFyYW1zIGZvciBwYXNzaW5nIHRoZSBv
ZmZsaW5lZCBwYWdlIG51bWJlciB0byBET00wICovCisJdWludDY0X3QgbWZuOworCXVpbnQ2NF90
IHN0YXR1czsKK307CisKK3N0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24geworCS8qIFBhcmFtcyBm
b3IgcGFzc2luZyB0aGUgaWRlbnRpdHkgb2YgdGhlIG9mZmxpbmVkIENQVSB0byBET00wICovCisJ
dWludDMyX3QgbWNfc29ja2V0aWQ7CisJdWludDE2X3QgbWNfY29yZWlkOworCXVpbnQxNl90IG1j
X2NvcmVfdGhyZWFkaWQ7Cit9OworCisjZGVmaW5lIE1BWF9VTklPTl9TSVpFIDE2CitzdHJ1Y3Qg
bWNpbmZvX3JlY292ZXJ5IHsKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1vbiBjb21tb247CisJdWludDE2
X3QgbWNfYmFuazsgLyogYmFuayBuciAqLworCXVpbnQ4X3QgYWN0aW9uX2ZsYWdzOworCXVpbnQ4
X3QgYWN0aW9uX3R5cGVzOworCXVuaW9uIHsKKwkJc3RydWN0IHBhZ2Vfb2ZmbGluZV9hY3Rpb24g
cGFnZV9yZXRpcmU7CisJCXN0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24gY3B1X29mZmxpbmU7CisJ
CXVpbnQ4X3QgcGFkW01BWF9VTklPTl9TSVpFXTsKKwl9IGFjdGlvbl9pbmZvOworfTsKKworCisj
ZGVmaW5lIE1DSU5GT19NQVhTSVpFIDc2OAorc3RydWN0IG1jX2luZm8geworCS8qIE51bWJlciBv
ZiBtY2luZm9fKiBlbnRyaWVzIGluIG1pX2RhdGEgKi8KKwl1aW50MzJfdCBtaV9uZW50cmllczsK
Kwl1aW50MzJfdCBmbGFnczsKKwl1aW50NjRfdCBtaV9kYXRhWyhNQ0lORk9fTUFYU0laRSAtIDEp
IC8gOF07Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNfaW5mbyk7CisKKyNkZWZp
bmUgX19NQ19NU1JfQVJSQVlTSVpFIDgKKyNkZWZpbmUgX19NQ19NU1JfTUNHQ0FQIDAKKyNkZWZp
bmUgX19NQ19OTVNSUyAxCisjZGVmaW5lIE1DX05DQVBTIDcKK3N0cnVjdCBtY2luZm9fbG9naWNh
bF9jcHUgeworCXVpbnQzMl90IG1jX2NwdW5yOworCXVpbnQzMl90IG1jX2NoaXBpZDsKKwl1aW50
MTZfdCBtY19jb3JlaWQ7CisJdWludDE2X3QgbWNfdGhyZWFkaWQ7CisJdWludDMyX3QgbWNfYXBp
Y2lkOworCXVpbnQzMl90IG1jX2NsdXN0ZXJpZDsKKwl1aW50MzJfdCBtY19uY29yZXM7CisJdWlu
dDMyX3QgbWNfbmNvcmVzX2FjdGl2ZTsKKwl1aW50MzJfdCBtY19udGhyZWFkczsKKwl1aW50MzJf
dCBtY19jcHVpZF9sZXZlbDsKKwl1aW50MzJfdCBtY19mYW1pbHk7CisJdWludDMyX3QgbWNfdmVu
ZG9yOworCXVpbnQzMl90IG1jX21vZGVsOworCXVpbnQzMl90IG1jX3N0ZXA7CisJY2hhciBtY192
ZW5kb3JpZFsxNl07CisJY2hhciBtY19icmFuZGlkWzY0XTsKKwl1aW50MzJfdCBtY19jcHVfY2Fw
c1tNQ19OQ0FQU107CisJdWludDMyX3QgbWNfY2FjaGVfc2l6ZTsKKwl1aW50MzJfdCBtY19jYWNo
ZV9hbGlnbm1lbnQ7CisJdWludDMyX3QgbWNfbm1zcnZhbHM7CisJc3RydWN0IG1jaW5mb19tc3Ig
bWNfbXNydmFsdWVzW19fTUNfTVNSX0FSUkFZU0laRV07Cit9OworREVGSU5FX0dVRVNUX0hBTkRM
RV9TVFJVQ1QobWNpbmZvX2xvZ2ljYWxfY3B1KTsKKworLyoKKyAqIFByb3RvdHlwZToKKyAqICAg
IHVpbnQzMl90IHg4Nl9tY2luZm9fbmVudHJpZXMoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLwor
I2RlZmluZSB4ODZfbWNpbmZvX25lbnRyaWVzKF9taSkgICAgXAorCSgoX21pKS0+bWlfbmVudHJp
ZXMpCisvKgorICogUHJvdG90eXBlOgorICogICAgc3RydWN0IG1jaW5mb19jb21tb24gKng4Nl9t
Y2luZm9fZmlyc3Qoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZv
X2ZpcnN0KF9taSkgICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19jb21tb24gKikoX21pKS0+bWlf
ZGF0YSkKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICBzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqeDg2
X21jaW5mb19uZXh0KHN0cnVjdCBtY2luZm9fY29tbW9uICptaWMpOworICovCisjZGVmaW5lIHg4
Nl9tY2luZm9fbmV4dChfbWljKSAgICAgICBcCisJKChzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqKSgo
dWludDhfdCAqKShfbWljKSArIChfbWljKS0+c2l6ZSkpCisKKy8qCisgKiBQcm90b3R5cGU6Cisg
KiAgICB2b2lkIHg4Nl9tY2luZm9fbG9va3VwKHZvaWQgKnJldCwgc3RydWN0IG1jX2luZm8gKm1p
LCB1aW50MTZfdCB0eXBlKTsKKyAqLworc3RhdGljIGlubGluZSB2b2lkIHg4Nl9tY2luZm9fbG9v
a3VwKHN0cnVjdCBtY2luZm9fY29tbW9uICoqcmV0LAorCQkJCSAgICAgc3RydWN0IG1jX2luZm8g
Km1pLCB1aW50MTZfdCB0eXBlKQoreworCXVpbnQzMl90IGk7CisJc3RydWN0IG1jaW5mb19jb21t
b24gKm1pYzsKKwlib29sIGZvdW5kID0gMDsKKworCWlmICghcmV0IHx8ICFtaSkKKwkJcmV0dXJu
OworCisJbWljID0geDg2X21jaW5mb19maXJzdChtaSk7CisJZm9yIChpID0gMDsgaSA8IHg4Nl9t
Y2luZm9fbmVudHJpZXMobWkpOyBpKyspIHsKKwkJaWYgKG1pYy0+dHlwZSA9PSB0eXBlKSB7CisJ
CQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZvX25leHQobWlj
KTsKKwl9CisKKwkqcmV0ID0gZm91bmQgPyBtaWMgOiBOVUxMOworfQorCisvKgorICogRmV0Y2gg
bWFjaGluZSBjaGVjayBkYXRhIGZyb20gaHlwZXJ2aXNvci4KKyAqLworI2RlZmluZSBYRU5fTUNf
ZmV0Y2gJCTEKK3N0cnVjdCB4ZW5fbWNfZmV0Y2ggeworCS8qCisJICogSU46IFhFTl9NQ19OT05V
UkdFTlQsIFhFTl9NQ19VUkdFTlQsCisJICogWEVOX01DX0FDSyBpZiBhY2sna2luZyBhbiBlYXJs
aWVyIGZldGNoCisJICogT1VUOiBYRU5fTUNfT0ssIFhFTl9NQ19GRVRDSEFJTEVELCBYRU5fTUNf
Tk9EQVRBCisJICovCisJdWludDMyX3QgZmxhZ3M7CisJdWludDMyX3QgX3BhZDA7CisJLyogT1VU
OiBpZCBmb3IgYWNrLCBJTjogaWQgd2UgYXJlIGFjaydpbmcgKi8KKwl1aW50NjRfdCBmZXRjaF9p
ZDsKKworCS8qIE9VVCB2YXJpYWJsZXMuICovCisJR1VFU1RfSEFORExFKG1jX2luZm8pIGRhdGE7
Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX2ZldGNoKTsKKworCisvKgor
ICogVGhpcyB0ZWxscyB0aGUgaHlwZXJ2aXNvciB0byBub3RpZnkgYSBEb21VIGFib3V0IHRoZSBt
YWNoaW5lIGNoZWNrIGVycm9yCisgKi8KKyNkZWZpbmUgWEVOX01DX25vdGlmeWRvbWFpbgkyCitz
dHJ1Y3QgeGVuX21jX25vdGlmeWRvbWFpbiB7CisJLyogSU4gdmFyaWFibGVzICovCisJdWludDE2
X3QgbWNfZG9taWQ7IC8qIFRoZSB1bnByaXZpbGVnZWQgZG9tYWluIHRvIG5vdGlmeSAqLworCXVp
bnQxNl90IG1jX3ZjcHVpZDsgLyogVGhlIHZjcHUgaW4gbWNfZG9taWQgdG8gbm90aWZ5ICovCisK
KwkvKiBJTi9PVVQgdmFyaWFibGVzICovCisJdWludDMyX3QgZmxhZ3M7Cit9OworREVGSU5FX0dV
RVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX25vdGlmeWRvbWFpbik7CisKKyNkZWZpbmUgWEVOX01D
X3BoeXNjcHVpbmZvCTMKK3N0cnVjdCB4ZW5fbWNfcGh5c2NwdWluZm8geworCS8qIElOL09VVCAq
LworCXVpbnQzMl90IG5jcHVzOworCXVpbnQzMl90IF9wYWQwOworCS8qIE9VVCAqLworCUdVRVNU
X0hBTkRMRShtY2luZm9fbG9naWNhbF9jcHUpIGluZm87Cit9OworCisjZGVmaW5lIFhFTl9NQ19t
c3JpbmplY3QJNAorI2RlZmluZSBNQ19NU1JJTkpfTUFYTVNSUwk4CitzdHJ1Y3QgeGVuX21jX21z
cmluamVjdCB7CisJLyogSU4gKi8KKwl1aW50MzJfdCBtY2lual9jcHVucjsgLyogdGFyZ2V0IHBy
b2Nlc3NvciBpZCAqLworCXVpbnQzMl90IG1jaW5qX2ZsYWdzOyAvKiBzZWUgTUNfTVNSSU5KX0Zf
KiBiZWxvdyAqLworCXVpbnQzMl90IG1jaW5qX2NvdW50OyAvKiAwIC4uIGNvdW50LTEgaW4gYXJy
YXkgYXJlIHZhbGlkICovCisJdWludDMyX3QgX3BhZDA7CisJc3RydWN0IG1jaW5mb19tc3IgbWNp
bmpfbXNyW01DX01TUklOSl9NQVhNU1JTXTsKK307CisKKy8qIEZsYWdzIGZvciBtY2lual9mbGFn
cyBhYm92ZTsgYml0cyAxNi0zMSBhcmUgcmVzZXJ2ZWQgKi8KKyNkZWZpbmUgTUNfTVNSSU5KX0Zf
SU5URVJQT1NFCTB4MQorCisjZGVmaW5lIFhFTl9NQ19tY2VpbmplY3QJNQorc3RydWN0IHhlbl9t
Y19tY2VpbmplY3QgeworCXVuc2lnbmVkIGludCBtY2VpbmpfY3B1bnI7IC8qIHRhcmdldCBwcm9j
ZXNzb3IgaWQgKi8KK307CisKK3N0cnVjdCB4ZW5fbWMgeworCXVpbnQzMl90IGNtZDsKKwl1aW50
MzJfdCBpbnRlcmZhY2VfdmVyc2lvbjsgLyogWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTiAqLwor
CXVuaW9uIHsKKwkJc3RydWN0IHhlbl9tY19mZXRjaCAgICAgICAgbWNfZmV0Y2g7CisJCXN0cnVj
dCB4ZW5fbWNfbm90aWZ5ZG9tYWluIG1jX25vdGlmeWRvbWFpbjsKKwkJc3RydWN0IHhlbl9tY19w
aHlzY3B1aW5mbyAgbWNfcGh5c2NwdWluZm87CisJCXN0cnVjdCB4ZW5fbWNfbXNyaW5qZWN0ICAg
IG1jX21zcmluamVjdDsKKwkJc3RydWN0IHhlbl9tY19tY2VpbmplY3QgICAgbWNfbWNlaW5qZWN0
OworCX0gdTsKK307CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWMpOworCisvKiBG
aWVsZHMgYXJlIHplcm8gd2hlbiBub3QgYXZhaWxhYmxlICovCitzdHJ1Y3QgeGVuX21jZSB7CisJ
X191NjQgc3RhdHVzOworCV9fdTY0IG1pc2M7CisJX191NjQgYWRkcjsKKwlfX3U2NCBtY2dzdGF0
dXM7CisJX191NjQgaXA7CisJX191NjQgdHNjOwkvKiBjcHUgdGltZSBzdGFtcCBjb3VudGVyICov
CisJX191NjQgdGltZTsJLyogd2FsbCB0aW1lX3Qgd2hlbiBlcnJvciB3YXMgZGV0ZWN0ZWQgKi8K
KwlfX3U4ICBjcHV2ZW5kb3I7CS8qIGNwdSB2ZW5kb3IgYXMgZW5jb2RlZCBpbiBzeXN0ZW0uaCAq
LworCV9fdTggIGluamVjdF9mbGFnczsJLyogc29mdHdhcmUgaW5qZWN0IGZsYWdzICovCisJX191
MTYgIHBhZDsKKwlfX3UzMiBjcHVpZDsJLyogQ1BVSUQgMSBFQVggKi8KKwlfX3U4ICBjczsJCS8q
IGNvZGUgc2VnbWVudCAqLworCV9fdTggIGJhbms7CS8qIG1hY2hpbmUgY2hlY2sgYmFuayAqLwor
CV9fdTggIGNwdTsJLyogY3B1IG51bWJlcjsgb2Jzb2xldGU7IHVzZSBleHRjcHUgbm93ICovCisJ
X191OCAgZmluaXNoZWQ7ICAgLyogZW50cnkgaXMgdmFsaWQgKi8KKwlfX3UzMiBleHRjcHU7CS8q
IGxpbnV4IGNwdSBudW1iZXIgdGhhdCBkZXRlY3RlZCB0aGUgZXJyb3IgKi8KKwlfX3UzMiBzb2Nr
ZXRpZDsJLyogQ1BVIHNvY2tldCBJRCAqLworCV9fdTMyIGFwaWNpZDsJLyogQ1BVIGluaXRpYWwg
YXBpYyBJRCAqLworCV9fdTY0IG1jZ2NhcDsJLyogTUNHQ0FQIE1TUjogbWFjaGluZSBjaGVjayBj
YXBhYmlsaXRpZXMgb2YgQ1BVICovCit9OworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFp
bnMgYWxsIGRhdGEgcmVsYXRlZCB0byB0aGUgTUNFIGxvZy4gIEFsc28KKyAqIGNhcnJpZXMgYSBz
aWduYXR1cmUgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZmluZCBmcm9tIGV4dGVybmFsCisgKiBkZWJ1
Z2dpbmcgdG9vbHMuICBFYWNoIGVudHJ5IGlzIG9ubHkgdmFsaWQgd2hlbiBpdHMgZmluaXNoZWQg
ZmxhZworICogaXMgc2V0LgorICovCisKKyNkZWZpbmUgWEVOX01DRV9MT0dfTEVOIDMyCisKK3N0
cnVjdCB4ZW5fbWNlX2xvZyB7CisJY2hhciBzaWduYXR1cmVbMTJdOyAvKiAiTUFDSElORUNIRUNL
IiAqLworCXVuc2lnbmVkIGxlbjsJICAgIC8qID0gWEVOX01DRV9MT0dfTEVOICovCisJdW5zaWdu
ZWQgbmV4dDsKKwl1bnNpZ25lZCBmbGFnczsKKwl1bnNpZ25lZCByZWNvcmRsZW47CS8qIGxlbmd0
aCBvZiBzdHJ1Y3QgeGVuX21jZSAqLworCXN0cnVjdCB4ZW5fbWNlIGVudHJ5W1hFTl9NQ0VfTE9H
X0xFTl07Cit9OworCisjZGVmaW5lIFhFTl9NQ0VfT1ZFUkZMT1cgMAkJLyogYml0IDAgaW4gZmxh
Z3MgbWVhbnMgb3ZlcmZsb3cgKi8KKworI2RlZmluZSBYRU5fTUNFX0xPR19TSUdOQVRVUkUJIk1B
Q0hJTkVDSEVDSyIKKworI2RlZmluZSBNQ0VfR0VUX1JFQ09SRF9MRU4gICBfSU9SKCdNJywgMSwg
aW50KQorI2RlZmluZSBNQ0VfR0VUX0xPR19MRU4gICAgICBfSU9SKCdNJywgMiwgaW50KQorI2Rl
ZmluZSBNQ0VfR0VUQ0xFQVJfRkxBR1MgICBfSU9SKCdNJywgMywgaW50KQorCisjZW5kaWYgLyog
X19BU1NFTUJMWV9fICovCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0FSQ0hfWDg2X01DQV9IX18g
Ki8KLS0gCjEuNy4xCgo=

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351F44F3SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Mon May 28 16:04:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:04:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2Ph-0007G2-C1; Mon, 28 May 2012 16:03:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SZ2Pf-0007Fx-LK
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:03:19 +0000
Received: from [85.158.138.51:65284] by server-3.bemta-3.messagelabs.com id
	89/F7-08380-6C1A3CF4; Mon, 28 May 2012 16:03:18 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338220996!25485695!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18947 invoked from network); 28 May 2012 16:03:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:03:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330905600"; d="scan'208";a="12698559"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 16:03:16 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Mon, 28 May 2012
	17:03:16 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Date: Mon, 28 May 2012 17:03:15 +0100
Thread-Topic: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
	trace record
Thread-Index: Ac0862Q4p8mrml2zTJeDdd0lbp1xFw==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431490@LONPMAILBOX01.citrite.net>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> Trace hypercalls using a more useful trace record format.
> 
> The EIP field is removed (it was always somewhere in the hypercall
> page) and include selected hypercall arguments (the number of calls in
> a multicall, and the number of PTE updates in an mmu_update).
> 

I think that EIP is quite useful as it allow to understand which code in
dom0 call that hypercall.

There is also space for an additional parameter without changing trace
version (adding information in a record should not be a problem).

Frediano

> To allow tracing tools to distinguish between the two formats, the new
> format uses a new event ID (TRC_PV_HYPERCALL_V2).
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
>  xen/arch/x86/trace.c       |   33 +++++++++++++--------------------
>  xen/common/trace.c         |   23 +++++++++++++++++++++++
>  xen/include/public/trace.h |    1 +
>  xen/include/xen/trace.h    |    2 ++
>  4 files changed, 39 insertions(+), 20 deletions(-)
> 
> diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
> index 404f293..2b59017 100644
> --- a/xen/arch/x86/trace.c
> +++ b/xen/arch/x86/trace.c
> @@ -14,35 +14,28 @@
>  void trace_hypercall(void)
>  {
>      struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    unsigned long args[5];
>  
>  #ifdef __x86_64__
>      if ( is_pv_32on64_vcpu(current) )
>      {
> -        struct {
> -            u32 eip,eax;
> -        } __attribute__((packed)) d;
> -            
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d), &d);
> +        args[0] = regs->ebx;
> +        args[1] = regs->ecx;
> +        args[2] = regs->edx;
> +        args[3] = regs->esi;
> +        args[4] = regs->edi;
>      }
>      else
>  #endif
>      {
> -        struct {
> -            unsigned long eip;
> -            u32 eax;
> -        } __attribute__((packed)) d;
> -        u32 event;
> -
> -        event = TRC_PV_HYPERCALL;
> -        event |= TRC_64_FLAG;
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(event, 1/*tsc*/, sizeof(d), &d);
> +        args[0] = regs->rdi;
> +        args[1] = regs->rsi;
> +        args[2] = regs->rdx;
> +        args[3] = regs->r10;
> +        args[4] = regs->r11;
>      }
> +
> +    __trace_hypercall(regs->eax, args);
>  }
>  
>  void __trace_pv_trap(int trapnr, unsigned long eip,
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> index cacaeb2..47c9a6a 100644
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -816,6 +816,29 @@ unlock:
>          tasklet_schedule(&trace_notify_dom0_tasklet);
>  }
>  
> +void __trace_hypercall(unsigned long op, const unsigned long *args)
> +{
> +    struct {
> +        uint32_t op;
> +        uint32_t args[5];
> +    } __attribute__((packed)) d;
> +    uint32_t *a = d.args;
> +
> +    d.op = op;
> +
> +    switch (op) {
> +    case __HYPERVISOR_multicall:
> +        *a++ = args[1]; /* count */
> +        break;
> +    case __HYPERVISOR_mmu_update:
> +        *a++ = args[1]; /* count */
> +        break;
> +    }
> +
> +    __trace_var(TRC_PV_HYPERCALL_V2, 1,
> +                sizeof(uint32_t) * (1 + (a - d.args)), &d);
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index 0dfabe9..38a3f83 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -106,6 +106,7 @@
>  #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
>  #define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
>  #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
> +#define TRC_PV_HYPERCALL_V2          (TRC_PV + 14)
>    /* Indicates that addresses in trace record are 64 bits */
>  #define TRC_64_FLAG               (0x100) 
>  
> diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
> index b32f6c5..f601aeb 100644
> --- a/xen/include/xen/trace.h
> +++ b/xen/include/xen/trace.h
> @@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
>          __trace_var(event, cycles, extra, extra_data);
>  }
>  
> +void __trace_hypercall(unsigned long call, const unsigned long *args);
> +
>  /* Convenience macros for calling the trace function. */
>  #define TRACE_0D(_e)                            \
>      do {                                        \

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:04:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:04:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2Ph-0007G2-C1; Mon, 28 May 2012 16:03:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SZ2Pf-0007Fx-LK
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:03:19 +0000
Received: from [85.158.138.51:65284] by server-3.bemta-3.messagelabs.com id
	89/F7-08380-6C1A3CF4; Mon, 28 May 2012 16:03:18 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338220996!25485695!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18947 invoked from network); 28 May 2012 16:03:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:03:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330905600"; d="scan'208";a="12698559"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 16:03:16 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Mon, 28 May 2012
	17:03:16 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Date: Mon, 28 May 2012 17:03:15 +0100
Thread-Topic: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
	trace record
Thread-Index: Ac0862Q4p8mrml2zTJeDdd0lbp1xFw==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431490@LONPMAILBOX01.citrite.net>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> Trace hypercalls using a more useful trace record format.
> 
> The EIP field is removed (it was always somewhere in the hypercall
> page) and include selected hypercall arguments (the number of calls in
> a multicall, and the number of PTE updates in an mmu_update).
> 

I think that EIP is quite useful as it allow to understand which code in
dom0 call that hypercall.

There is also space for an additional parameter without changing trace
version (adding information in a record should not be a problem).

Frediano

> To allow tracing tools to distinguish between the two formats, the new
> format uses a new event ID (TRC_PV_HYPERCALL_V2).
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
>  xen/arch/x86/trace.c       |   33 +++++++++++++--------------------
>  xen/common/trace.c         |   23 +++++++++++++++++++++++
>  xen/include/public/trace.h |    1 +
>  xen/include/xen/trace.h    |    2 ++
>  4 files changed, 39 insertions(+), 20 deletions(-)
> 
> diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
> index 404f293..2b59017 100644
> --- a/xen/arch/x86/trace.c
> +++ b/xen/arch/x86/trace.c
> @@ -14,35 +14,28 @@
>  void trace_hypercall(void)
>  {
>      struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    unsigned long args[5];
>  
>  #ifdef __x86_64__
>      if ( is_pv_32on64_vcpu(current) )
>      {
> -        struct {
> -            u32 eip,eax;
> -        } __attribute__((packed)) d;
> -            
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d), &d);
> +        args[0] = regs->ebx;
> +        args[1] = regs->ecx;
> +        args[2] = regs->edx;
> +        args[3] = regs->esi;
> +        args[4] = regs->edi;
>      }
>      else
>  #endif
>      {
> -        struct {
> -            unsigned long eip;
> -            u32 eax;
> -        } __attribute__((packed)) d;
> -        u32 event;
> -
> -        event = TRC_PV_HYPERCALL;
> -        event |= TRC_64_FLAG;
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(event, 1/*tsc*/, sizeof(d), &d);
> +        args[0] = regs->rdi;
> +        args[1] = regs->rsi;
> +        args[2] = regs->rdx;
> +        args[3] = regs->r10;
> +        args[4] = regs->r11;
>      }
> +
> +    __trace_hypercall(regs->eax, args);
>  }
>  
>  void __trace_pv_trap(int trapnr, unsigned long eip,
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> index cacaeb2..47c9a6a 100644
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -816,6 +816,29 @@ unlock:
>          tasklet_schedule(&trace_notify_dom0_tasklet);
>  }
>  
> +void __trace_hypercall(unsigned long op, const unsigned long *args)
> +{
> +    struct {
> +        uint32_t op;
> +        uint32_t args[5];
> +    } __attribute__((packed)) d;
> +    uint32_t *a = d.args;
> +
> +    d.op = op;
> +
> +    switch (op) {
> +    case __HYPERVISOR_multicall:
> +        *a++ = args[1]; /* count */
> +        break;
> +    case __HYPERVISOR_mmu_update:
> +        *a++ = args[1]; /* count */
> +        break;
> +    }
> +
> +    __trace_var(TRC_PV_HYPERCALL_V2, 1,
> +                sizeof(uint32_t) * (1 + (a - d.args)), &d);
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index 0dfabe9..38a3f83 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -106,6 +106,7 @@
>  #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
>  #define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
>  #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
> +#define TRC_PV_HYPERCALL_V2          (TRC_PV + 14)
>    /* Indicates that addresses in trace record are 64 bits */
>  #define TRC_64_FLAG               (0x100) 
>  
> diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
> index b32f6c5..f601aeb 100644
> --- a/xen/include/xen/trace.h
> +++ b/xen/include/xen/trace.h
> @@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
>          __trace_var(event, cycles, extra, extra_data);
>  }
>  
> +void __trace_hypercall(unsigned long call, const unsigned long *args);
> +
>  /* Convenience macros for calling the trace function. */
>  #define TRACE_0D(_e)                            \
>      do {                                        \

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:04:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:04:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2QA-0007Gz-P8; Mon, 28 May 2012 16:03:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SZ2Q9-0007Gs-Cp
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:03:49 +0000
Received: from [193.109.254.147:56654] by server-6.bemta-14.messagelabs.com id
	8A/D5-22565-4E1A3CF4; Mon, 28 May 2012 16:03:48 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338221026!11286402!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30487 invoked from network); 28 May 2012 16:03:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:03:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330905600"; d="scan'208";a="12698562"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 16:03:46 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Mon, 28 May 2012
	17:03:46 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Date: Mon, 28 May 2012 17:03:46 +0100
Thread-Topic: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a
	multicall
Thread-Index: Ac0863YvQG61RnGeSEiiHHcayNQAqA==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431491@LONPMAILBOX01.citrite.net>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a
 multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> Add a trace record for every hypercall inside a multicall.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
>  xen/common/multicall.c |   29 +++++++++++++++++++++++++++++
>  1 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/xen/common/multicall.c b/xen/common/multicall.c
> index 6c1a9d7..1da53bb 100644
> --- a/xen/common/multicall.c
> +++ b/xen/common/multicall.c
> @@ -11,6 +11,7 @@
>  #include <xen/multicall.h>
>  #include <xen/guest_access.h>
>  #include <xen/perfc.h>
> +#include <xen/trace.h>
>  #include <asm/current.h>
>  #include <asm/hardirq.h>
>  
> @@ -19,6 +20,32 @@ typedef long ret_t;
>  #define xlat_multicall_entry(mcs)
>  #endif
>  
> +#ifdef COMPAT
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    unsigned long args[5];
> +    int i;
> +
> +    for (i = 0; i < ARRAY_SIZE(args); i++)
> +        args[i] = call->args[i];
> +
> +    __trace_hypercall(call->op, args);
> +}
> +#else
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    __trace_hypercall(call->op, call->args);
> +}
> +#endif
> +
> +static void trace_multicall_call(multicall_entry_t *call)
> +{
> +    if ( !tb_init_done )
> +        return;
> +
> +    __trace_multicall_call(call);
> +}
> +
>  ret_t
>  do_multicall(
>      XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
> @@ -47,6 +74,8 @@ do_multicall(
>              break;
>          }
>  
> +        trace_multicall_call(&mcs->call);
> +
>          do_multicall_call(&mcs->call);
>  
>  #ifndef NDEBUG

Good, I'd personally add a way (subclass perhaps) to exclude such traces
as could be very performance consuming.

I'd also add something like sub op (shadow_op or domctl operations have
sub operations which could be useful to understand).

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:04:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:04:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2QA-0007Gz-P8; Mon, 28 May 2012 16:03:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <frediano.ziglio@citrix.com>) id 1SZ2Q9-0007Gs-Cp
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:03:49 +0000
Received: from [193.109.254.147:56654] by server-6.bemta-14.messagelabs.com id
	8A/D5-22565-4E1A3CF4; Mon, 28 May 2012 16:03:48 +0000
X-Env-Sender: frediano.ziglio@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338221026!11286402!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Mg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30487 invoked from network); 28 May 2012 16:03:48 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:03:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330905600"; d="scan'208";a="12698562"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 16:03:46 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.161]) by
	LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Mon, 28 May 2012
	17:03:46 +0100
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Date: Mon, 28 May 2012 17:03:46 +0100
Thread-Topic: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a
	multicall
Thread-Index: Ac0863YvQG61RnGeSEiiHHcayNQAqA==
Message-ID: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431491@LONPMAILBOX01.citrite.net>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a
 multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
> From: David Vrabel <david.vrabel@citrix.com>
> 
> Add a trace record for every hypercall inside a multicall.
> 
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
>  xen/common/multicall.c |   29 +++++++++++++++++++++++++++++
>  1 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/xen/common/multicall.c b/xen/common/multicall.c
> index 6c1a9d7..1da53bb 100644
> --- a/xen/common/multicall.c
> +++ b/xen/common/multicall.c
> @@ -11,6 +11,7 @@
>  #include <xen/multicall.h>
>  #include <xen/guest_access.h>
>  #include <xen/perfc.h>
> +#include <xen/trace.h>
>  #include <asm/current.h>
>  #include <asm/hardirq.h>
>  
> @@ -19,6 +20,32 @@ typedef long ret_t;
>  #define xlat_multicall_entry(mcs)
>  #endif
>  
> +#ifdef COMPAT
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    unsigned long args[5];
> +    int i;
> +
> +    for (i = 0; i < ARRAY_SIZE(args); i++)
> +        args[i] = call->args[i];
> +
> +    __trace_hypercall(call->op, args);
> +}
> +#else
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    __trace_hypercall(call->op, call->args);
> +}
> +#endif
> +
> +static void trace_multicall_call(multicall_entry_t *call)
> +{
> +    if ( !tb_init_done )
> +        return;
> +
> +    __trace_multicall_call(call);
> +}
> +
>  ret_t
>  do_multicall(
>      XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
> @@ -47,6 +74,8 @@ do_multicall(
>              break;
>          }
>  
> +        trace_multicall_call(&mcs->call);
> +
>          do_multicall_call(&mcs->call);
>  
>  #ifndef NDEBUG

Good, I'd personally add a way (subclass perhaps) to exclude such traces
as could be very performance consuming.

I'd also add something like sub op (shadow_op or domctl operations have
sub operations which could be useful to understand).

Frediano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:08:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:08:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2U6-0007Wg-Ic; Mon, 28 May 2012 16:07:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZ2U5-0007WY-4X
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:07:53 +0000
Received: from [193.109.254.147:41291] by server-1.bemta-14.messagelabs.com id
	BB/7C-13428-8D2A3CF4; Mon, 28 May 2012 16:07:52 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338221269!4810592!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU3MTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13001 invoked from network); 28 May 2012 16:07:51 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:07:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330923600"; d="scan'208";a="196664558"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 12:07:49 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 28 May 2012
	12:07:49 -0400
Message-ID: <4FC3A2D3.9000606@citrix.com>
Date: Mon, 28 May 2012 17:07:47 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Frediano Ziglio <frediano.ziglio@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431490@LONPMAILBOX01.citrite.net>
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431490@LONPMAILBOX01.citrite.net>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 28/05/12 17:03, Frediano Ziglio wrote:
> On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> Trace hypercalls using a more useful trace record format.
>>
>> The EIP field is removed (it was always somewhere in the hypercall
>> page) and include selected hypercall arguments (the number of calls in
>> a multicall, and the number of PTE updates in an mmu_update).
>>
> 
> I think that EIP is quite useful as it allow to understand which code in
> dom0 call that hypercall.

The EIP was always an address in the hypercall page (i.e.,
hypercall_page + op * sizeof(unsigned long)) and doesn't tell you what
made the hypercall.  You would need one of the addresses off the guest
stack to find the caller.

> There is also space for an additional parameter without changing trace
> version (adding information in a record should not be a problem).

True, but George was keen on keeping the trace record size to a minimum.

I am tempted to use 5 bits of the first extra word to indicate which
parameters are present in the trace record.  This might make the new
format more future-proof, perhaps.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:08:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:08:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2U6-0007Wg-Ic; Mon, 28 May 2012 16:07:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZ2U5-0007WY-4X
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:07:53 +0000
Received: from [193.109.254.147:41291] by server-1.bemta-14.messagelabs.com id
	BB/7C-13428-8D2A3CF4; Mon, 28 May 2012 16:07:52 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338221269!4810592!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU3MTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13001 invoked from network); 28 May 2012 16:07:51 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:07:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330923600"; d="scan'208";a="196664558"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 12:07:49 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 28 May 2012
	12:07:49 -0400
Message-ID: <4FC3A2D3.9000606@citrix.com>
Date: Mon, 28 May 2012 17:07:47 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Frediano Ziglio <frediano.ziglio@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-2-git-send-email-david.vrabel@citrix.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431490@LONPMAILBOX01.citrite.net>
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431490@LONPMAILBOX01.citrite.net>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/2] trace: improve usefulness of hypercall
 trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 28/05/12 17:03, Frediano Ziglio wrote:
> On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> Trace hypercalls using a more useful trace record format.
>>
>> The EIP field is removed (it was always somewhere in the hypercall
>> page) and include selected hypercall arguments (the number of calls in
>> a multicall, and the number of PTE updates in an mmu_update).
>>
> 
> I think that EIP is quite useful as it allow to understand which code in
> dom0 call that hypercall.

The EIP was always an address in the hypercall page (i.e.,
hypercall_page + op * sizeof(unsigned long)) and doesn't tell you what
made the hypercall.  You would need one of the addresses off the guest
stack to find the caller.

> There is also space for an additional parameter without changing trace
> version (adding information in a record should not be a problem).

True, but George was keen on keeping the trace record size to a minimum.

I am tempted to use 5 bits of the first extra word to indicate which
parameters are present in the trace record.  This might make the new
format more future-proof, perhaps.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:10:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2WJ-0007ei-3K; Mon, 28 May 2012 16:10:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZ2WH-0007eV-Un
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:10:10 +0000
Received: from [193.109.254.147:53591] by server-4.bemta-14.messagelabs.com id
	20/05-14693-163A3CF4; Mon, 28 May 2012 16:10:09 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338221400!11618478!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY0ODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24763 invoked from network); 28 May 2012 16:10:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:10:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330923600"; d="scan'208";a="25971743"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 12:10:00 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 28 May 2012
	12:10:00 -0400
Message-ID: <4FC3A357.6060600@citrix.com>
Date: Mon, 28 May 2012 17:09:59 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Frediano Ziglio <frediano.ziglio@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431491@LONPMAILBOX01.citrite.net>
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431491@LONPMAILBOX01.citrite.net>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a
	multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 28/05/12 17:03, Frediano Ziglio wrote:
> On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> Add a trace record for every hypercall inside a multicall.
>>
>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
>> ---
[...]
> Good, I'd personally add a way (subclass perhaps) to exclude such traces
> as could be very performance consuming.

Yes, that sounds like a good idea.

> I'd also add something like sub op (shadow_op or domctl operations have
> sub operations which could be useful to understand).

Patches welcome! ;)

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:10:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2WJ-0007ei-3K; Mon, 28 May 2012 16:10:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZ2WH-0007eV-Un
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 16:10:10 +0000
Received: from [193.109.254.147:53591] by server-4.bemta-14.messagelabs.com id
	20/05-14693-163A3CF4; Mon, 28 May 2012 16:10:09 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338221400!11618478!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY0ODU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24763 invoked from network); 28 May 2012 16:10:07 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:10:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,671,1330923600"; d="scan'208";a="25971743"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 12:10:00 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Mon, 28 May 2012
	12:10:00 -0400
Message-ID: <4FC3A357.6060600@citrix.com>
Date: Mon, 28 May 2012 17:09:59 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Frediano Ziglio <frediano.ziglio@citrix.com>
References: <1337855829-15683-1-git-send-email-david.vrabel@citrix.com>
	<1337855829-15683-3-git-send-email-david.vrabel@citrix.com>
	<7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431491@LONPMAILBOX01.citrite.net>
In-Reply-To: <7CE799CC0E4DE04B88D5FDF226E18AC2CDEB431491@LONPMAILBOX01.citrite.net>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2/2] trace: trace hypercalls inside a
	multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 28/05/12 17:03, Frediano Ziglio wrote:
> On Thu, 2012-05-24 at 11:37 +0100, David Vrabel wrote:
>> From: David Vrabel <david.vrabel@citrix.com>
>>
>> Add a trace record for every hypercall inside a multicall.
>>
>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
>> ---
[...]
> Good, I'd personally add a way (subclass perhaps) to exclude such traces
> as could be very performance consuming.

Yes, that sounds like a good idea.

> I'd also add something like sub op (shadow_op or domctl operations have
> sub operations which could be useful to understand).

Patches welcome! ;)

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:37:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:37:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2wS-0008C6-5j; Mon, 28 May 2012 16:37:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SZ2wQ-0008Bu-I5
	for xen-devel@lists.xen.org; Mon, 28 May 2012 16:37:10 +0000
Received: from [85.158.139.83:55952] by server-3.bemta-5.messagelabs.com id
	8A/00-29112-5B9A3CF4; Mon, 28 May 2012 16:37:09 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338223015!30698458!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR, RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21870 invoked from network); 28 May 2012 16:37:08 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:37:08 -0000
Received: by eaak12 with SMTP id k12so843621eaa.32
	for <multiple recipients>; Mon, 28 May 2012 09:36:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=iPoUZzu0zG8E0emiNVis1ZsKE9ghI9SkHxrQwrigTkA=;
	b=xve/xNh5nq9LCrpz0yXTIFVOY4C9bNmzpf+KEmtaWJ7cqMkzb2Z2esZfLraxvgIgcx
	u7shwsdyOY/38+mdKgfPCXOuLilMFPSstB2+s1ZJKqihOsuIgdRO2OPOPYm+78EpIH75
	cQbYo3/ZsBtzrxv4WtX+uQtiCP1r+igqJMAQvUruzrwx4UF5IRN145Z9hvYtfXnbG/IV
	m8/vQn910Qf5Y2hbirTW0l1E4ADjcw3HDnx2vSYFSp87HRRhN6f+YEzX90omc8bowLdw
	MQ6M77EOTs+havAQC9yHKjWRs89G2tOksTK8x4QAFX92YnPf9Y5/xjhYyYo/sPcGq46B
	GLvw==
Received: by 10.14.53.77 with SMTP id f53mr2296442eec.107.1338222519314;
	Mon, 28 May 2012 09:28:39 -0700 (PDT)
Received: from [172.16.25.10] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id u10sm39030183eem.1.2012.05.28.09.28.37
	(version=SSLv3 cipher=OTHER); Mon, 28 May 2012 09:28:38 -0700 (PDT)
Message-ID: <4FC3A7B4.3020805@xen.org>
Date: Mon, 28 May 2012 17:28:36 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-users@lists.xen.org, xen-devel@lists.xen.org
References: <CANSMP-7mijyMvO=ssvR0rNn0TFPAPyrvgaT2xj_OMdryU_FkOg@mail.gmail.com>
	<CAFivhPn4GzWQf3ssEkPrD3k4oYYg=fAiF=M9gr04cxn-1mP3Jw@mail.gmail.com>
In-Reply-To: <CAFivhPn4GzWQf3ssEkPrD3k4oYYg=fAiF=M9gr04cxn-1mP3Jw@mail.gmail.com>
Subject: Re: [Xen-devel] [Xen-users] Using XL toolstack (Xen) with DRBD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Is this on the roadmap for 4.2 or 4.3?
Lars

On 28/05/2012 13:54, Florian Heigl wrote:
> I wish...
>
> The message comes from XL as far as I remember.
> It told me "Sorry, external blocks aren't implemented yet" or
> something like that.
>
> This also affects stuff like OpenNebula + Moosefs as far as I can tell.
>
> Maybe you know some C and can try adding the support?
>
> Florian
>
> 2012/5/18 Chris Dickson<chrisd1100@gmail.com>:
>> Hello,
>>
>> Currently it seems that the drbd disk type with Xen's XL toolstack (vs XM)
>> to get the automatic promotion/demotion behavior of drbd devices is not
>> supported. Is there something I can tweak with the block-drbd script to get
>> this to work?
>>
>> Thanks,
>>
>> Chris
>>
>> _______________________________________________
>> Xen-users mailing list
>> Xen-users@lists.xen.org
>> http://lists.xen.org/xen-users
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 16:37:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 16:37:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ2wS-0008C6-5j; Mon, 28 May 2012 16:37:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1SZ2wQ-0008Bu-I5
	for xen-devel@lists.xen.org; Mon, 28 May 2012 16:37:10 +0000
Received: from [85.158.139.83:55952] by server-3.bemta-5.messagelabs.com id
	8A/00-29112-5B9A3CF4; Mon, 28 May 2012 16:37:09 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338223015!30698458!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR, RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21870 invoked from network); 28 May 2012 16:37:08 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 16:37:08 -0000
Received: by eaak12 with SMTP id k12so843621eaa.32
	for <multiple recipients>; Mon, 28 May 2012 09:36:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:references:in-reply-to:content-type
	:content-transfer-encoding;
	bh=iPoUZzu0zG8E0emiNVis1ZsKE9ghI9SkHxrQwrigTkA=;
	b=xve/xNh5nq9LCrpz0yXTIFVOY4C9bNmzpf+KEmtaWJ7cqMkzb2Z2esZfLraxvgIgcx
	u7shwsdyOY/38+mdKgfPCXOuLilMFPSstB2+s1ZJKqihOsuIgdRO2OPOPYm+78EpIH75
	cQbYo3/ZsBtzrxv4WtX+uQtiCP1r+igqJMAQvUruzrwx4UF5IRN145Z9hvYtfXnbG/IV
	m8/vQn910Qf5Y2hbirTW0l1E4ADjcw3HDnx2vSYFSp87HRRhN6f+YEzX90omc8bowLdw
	MQ6M77EOTs+havAQC9yHKjWRs89G2tOksTK8x4QAFX92YnPf9Y5/xjhYyYo/sPcGq46B
	GLvw==
Received: by 10.14.53.77 with SMTP id f53mr2296442eec.107.1338222519314;
	Mon, 28 May 2012 09:28:39 -0700 (PDT)
Received: from [172.16.25.10] (b0fb96e9.bb.sky.com. [176.251.150.233])
	by mx.google.com with ESMTPS id u10sm39030183eem.1.2012.05.28.09.28.37
	(version=SSLv3 cipher=OTHER); Mon, 28 May 2012 09:28:38 -0700 (PDT)
Message-ID: <4FC3A7B4.3020805@xen.org>
Date: Mon, 28 May 2012 17:28:36 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-users@lists.xen.org, xen-devel@lists.xen.org
References: <CANSMP-7mijyMvO=ssvR0rNn0TFPAPyrvgaT2xj_OMdryU_FkOg@mail.gmail.com>
	<CAFivhPn4GzWQf3ssEkPrD3k4oYYg=fAiF=M9gr04cxn-1mP3Jw@mail.gmail.com>
In-Reply-To: <CAFivhPn4GzWQf3ssEkPrD3k4oYYg=fAiF=M9gr04cxn-1mP3Jw@mail.gmail.com>
Subject: Re: [Xen-devel] [Xen-users] Using XL toolstack (Xen) with DRBD
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Is this on the roadmap for 4.2 or 4.3?
Lars

On 28/05/2012 13:54, Florian Heigl wrote:
> I wish...
>
> The message comes from XL as far as I remember.
> It told me "Sorry, external blocks aren't implemented yet" or
> something like that.
>
> This also affects stuff like OpenNebula + Moosefs as far as I can tell.
>
> Maybe you know some C and can try adding the support?
>
> Florian
>
> 2012/5/18 Chris Dickson<chrisd1100@gmail.com>:
>> Hello,
>>
>> Currently it seems that the drbd disk type with Xen's XL toolstack (vs XM)
>> to get the automatic promotion/demotion behavior of drbd devices is not
>> supported. Is there something I can tweak with the block-drbd script to get
>> this to work?
>>
>> Thanks,
>>
>> Chris
>>
>> _______________________________________________
>> Xen-users mailing list
>> Xen-users@lists.xen.org
>> http://lists.xen.org/xen-users
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 17:36:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 17:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ3rD-0000TH-IW; Mon, 28 May 2012 17:35:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZ3rC-0000TC-5C
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 17:35:50 +0000
Received: from [85.158.143.35:40899] by server-2.bemta-4.messagelabs.com id
	D6/CF-12211-577B3CF4; Mon, 28 May 2012 17:35:49 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338226546!17715690!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU3MTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13621 invoked from network); 28 May 2012 17:35:48 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 17:35:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,672,1330923600"; d="scan'208";a="196669240"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 13:35:40 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 13:35:40 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1SZ3r1-0003eL-Tm;
	Mon, 28 May 2012 18:35:39 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 28 May 2012 18:35:26 +0100
Message-ID: <1338226526-10471-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>
Subject: [Xen-devel] [PATCH] x86: document register for 6th hypercall
	argument
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/include/public/arch-x86/xen-x86_32.h |    2 +-
 xen/include/public/arch-x86/xen-x86_64.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h
index de584ea..906e74a 100644
--- a/xen/include/public/arch-x86/xen-x86_32.h
+++ b/xen/include/public/arch-x86/xen-x86_32.h
@@ -29,7 +29,7 @@
 
 /*
  * Hypercall interface:
- *  Input:  %ebx, %ecx, %edx, %esi, %edi (arguments 1-5)
+ *  Input:  %ebx, %ecx, %edx, %esi, %edi, %ebp (arguments 1-6)
  *  Output: %eax
  * Access is via hypercall page (set up by guest loader or via a Xen MSR):
  *  call hypercall_page + hypercall-number * 32
diff --git a/xen/include/public/arch-x86/xen-x86_64.h b/xen/include/public/arch-x86/xen-x86_64.h
index 0bdd868..2654d24 100644
--- a/xen/include/public/arch-x86/xen-x86_64.h
+++ b/xen/include/public/arch-x86/xen-x86_64.h
@@ -29,7 +29,7 @@
 
 /*
  * Hypercall interface:
- *  Input:  %rdi, %rsi, %rdx, %r10, %r8 (arguments 1-5)
+ *  Input:  %rdi, %rsi, %rdx, %r10, %r8, %r9 (arguments 1-6)
  *  Output: %rax
  * Access is via hypercall page (set up by guest loader or via a Xen MSR):
  *  call hypercall_page + hypercall-number * 32
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Mon May 28 17:36:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 28 May 2012 17:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZ3rD-0000TH-IW; Mon, 28 May 2012 17:35:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZ3rC-0000TC-5C
	for xen-devel@lists.xensource.com; Mon, 28 May 2012 17:35:50 +0000
Received: from [85.158.143.35:40899] by server-2.bemta-4.messagelabs.com id
	D6/CF-12211-577B3CF4; Mon, 28 May 2012 17:35:49 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338226546!17715690!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU3MTk=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13621 invoked from network); 28 May 2012 17:35:48 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	28 May 2012 17:35:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,672,1330923600"; d="scan'208";a="196669240"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	28 May 2012 13:35:40 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Mon, 28 May 2012 13:35:40 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1SZ3r1-0003eL-Tm;
	Mon, 28 May 2012 18:35:39 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Mon, 28 May 2012 18:35:26 +0100
Message-ID: <1338226526-10471-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>
Subject: [Xen-devel] [PATCH] x86: document register for 6th hypercall
	argument
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/include/public/arch-x86/xen-x86_32.h |    2 +-
 xen/include/public/arch-x86/xen-x86_64.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h
index de584ea..906e74a 100644
--- a/xen/include/public/arch-x86/xen-x86_32.h
+++ b/xen/include/public/arch-x86/xen-x86_32.h
@@ -29,7 +29,7 @@
 
 /*
  * Hypercall interface:
- *  Input:  %ebx, %ecx, %edx, %esi, %edi (arguments 1-5)
+ *  Input:  %ebx, %ecx, %edx, %esi, %edi, %ebp (arguments 1-6)
  *  Output: %eax
  * Access is via hypercall page (set up by guest loader or via a Xen MSR):
  *  call hypercall_page + hypercall-number * 32
diff --git a/xen/include/public/arch-x86/xen-x86_64.h b/xen/include/public/arch-x86/xen-x86_64.h
index 0bdd868..2654d24 100644
--- a/xen/include/public/arch-x86/xen-x86_64.h
+++ b/xen/include/public/arch-x86/xen-x86_64.h
@@ -29,7 +29,7 @@
 
 /*
  * Hypercall interface:
- *  Input:  %rdi, %rsi, %rdx, %r10, %r8 (arguments 1-5)
+ *  Input:  %rdi, %rsi, %rdx, %r10, %r8, %r9 (arguments 1-6)
  *  Output: %rax
  * Access is via hypercall page (set up by guest loader or via a Xen MSR):
  *  call hypercall_page + hypercall-number * 32
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 05:39:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 05:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZF8m-000802-B4; Tue, 29 May 2012 05:38:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZF8k-0007zx-Ac
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 05:38:42 +0000
Received: from [85.158.139.83:55819] by server-10.bemta-5.messagelabs.com id
	2C/D3-22179-1E064CF4; Tue, 29 May 2012 05:38:41 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338269919!23623417!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24281 invoked from network); 29 May 2012 05:38:40 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 05:38:40 -0000
Received: by obfk16 with SMTP id k16so8911050obf.30
	for <xen-devel@lists.xensource.com>;
	Mon, 28 May 2012 22:38:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=LE5EwKrj6uskMHtip6KXDE5GFouVA3iUW1xSovb4f9Y=;
	b=uLF4/AlRouUpFi//AAnQWND7EQn/MFNaRDOl/ovj9MdhjYf1PbkdpSSaqt9CbscBu+
	9yjL4++C9EQwnzhXInxUDXJ/2Qcmw/H3hWi1R1FFbpbq3942HSq7ZtKWNyYwded864br
	d57Pi5tA/3lUKL/wJU8F7BvNmjRm8HQNH200ayLU+7syiZNL21lGzUjlsOXAG2U0tcKT
	DT/HQxtlc77+i6zJ2d/64DeX3/TGM3ftPL5nVjgsYlPKg5KWmEOF8SMrnjDxFrKGoHlf
	z85BawGmAzPEUQRt2/IN8pmIkcP/yAkQ0+giB7y4+1ybRNGIqqqAPujA7qhHdoBUyH8e
	5nTQ==
MIME-Version: 1.0
Received: by 10.182.155.2 with SMTP id vs2mr9876426obb.47.1338269917968; Mon,
	28 May 2012 22:38:37 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Mon, 28 May 2012 22:38:37 -0700 (PDT)
Date: Tue, 29 May 2012 13:38:37 +0800
Message-ID: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0222342812820173367=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============0222342812820173367==
Content-Type: multipart/alternative; boundary=f46d0447872512f95404c1263f8b

--f46d0447872512f95404c1263f8b
Content-Type: text/plain; charset=ISO-8859-1

Hi:
   I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both HVM
and PV) apps and kernel performance based on passive domains. My platform
is as follows:
   CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
   Hypervosir: Xen 4.1.2
   Dom0 kernel: linux 2.6.38.2
   I am not sure whether xenoprof can work on this platform.
*   As soon as I start xenoprof in passive domain mode, the VM can't run
workload immediately (The VM doesn't crash. If I ping the VM from other
machine, the response time is really high ). I can't input any commands
through the console prompt. *

--f46d0447872512f95404c1263f8b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi:<div>=A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile V=
M (both HVM and PV) apps and kernel performance based on passive domains. M=
y platform is as follows:</div><div>=A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0=
 =A0 =A0 =A0 E5620 =A0@ 2.40GHz</div>
<div>=A0 =A0Hypervosir: Xen 4.1.2</div><div>=A0 =A0Dom0 kernel: linux=A02.6=
.38.2</div><div>=A0 =A0I am not sure whether xenoprof can work on this plat=
form.</div><div><u><font class=3D"Apple-style-span" color=3D"#ff0000"><b>=
=A0 =A0As soon as I start xenoprof in passive domain mode, the VM can&#39;t=
 run workload immediately (The VM doesn&#39;t crash. If I ping the VM from =
other machine, the response time is really high ). I can&#39;t input any co=
mmands through the console prompt.=A0</b></font></u></div>

--f46d0447872512f95404c1263f8b--


--===============0222342812820173367==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0222342812820173367==--


From xen-devel-bounces@lists.xen.org Tue May 29 05:39:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 05:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZF8m-000802-B4; Tue, 29 May 2012 05:38:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZF8k-0007zx-Ac
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 05:38:42 +0000
Received: from [85.158.139.83:55819] by server-10.bemta-5.messagelabs.com id
	2C/D3-22179-1E064CF4; Tue, 29 May 2012 05:38:41 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338269919!23623417!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24281 invoked from network); 29 May 2012 05:38:40 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 05:38:40 -0000
Received: by obfk16 with SMTP id k16so8911050obf.30
	for <xen-devel@lists.xensource.com>;
	Mon, 28 May 2012 22:38:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=LE5EwKrj6uskMHtip6KXDE5GFouVA3iUW1xSovb4f9Y=;
	b=uLF4/AlRouUpFi//AAnQWND7EQn/MFNaRDOl/ovj9MdhjYf1PbkdpSSaqt9CbscBu+
	9yjL4++C9EQwnzhXInxUDXJ/2Qcmw/H3hWi1R1FFbpbq3942HSq7ZtKWNyYwded864br
	d57Pi5tA/3lUKL/wJU8F7BvNmjRm8HQNH200ayLU+7syiZNL21lGzUjlsOXAG2U0tcKT
	DT/HQxtlc77+i6zJ2d/64DeX3/TGM3ftPL5nVjgsYlPKg5KWmEOF8SMrnjDxFrKGoHlf
	z85BawGmAzPEUQRt2/IN8pmIkcP/yAkQ0+giB7y4+1ybRNGIqqqAPujA7qhHdoBUyH8e
	5nTQ==
MIME-Version: 1.0
Received: by 10.182.155.2 with SMTP id vs2mr9876426obb.47.1338269917968; Mon,
	28 May 2012 22:38:37 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Mon, 28 May 2012 22:38:37 -0700 (PDT)
Date: Tue, 29 May 2012 13:38:37 +0800
Message-ID: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0222342812820173367=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============0222342812820173367==
Content-Type: multipart/alternative; boundary=f46d0447872512f95404c1263f8b

--f46d0447872512f95404c1263f8b
Content-Type: text/plain; charset=ISO-8859-1

Hi:
   I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both HVM
and PV) apps and kernel performance based on passive domains. My platform
is as follows:
   CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
   Hypervosir: Xen 4.1.2
   Dom0 kernel: linux 2.6.38.2
   I am not sure whether xenoprof can work on this platform.
*   As soon as I start xenoprof in passive domain mode, the VM can't run
workload immediately (The VM doesn't crash. If I ping the VM from other
machine, the response time is really high ). I can't input any commands
through the console prompt. *

--f46d0447872512f95404c1263f8b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi:<div>=A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile V=
M (both HVM and PV) apps and kernel performance based on passive domains. M=
y platform is as follows:</div><div>=A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0=
 =A0 =A0 =A0 E5620 =A0@ 2.40GHz</div>
<div>=A0 =A0Hypervosir: Xen 4.1.2</div><div>=A0 =A0Dom0 kernel: linux=A02.6=
.38.2</div><div>=A0 =A0I am not sure whether xenoprof can work on this plat=
form.</div><div><u><font class=3D"Apple-style-span" color=3D"#ff0000"><b>=
=A0 =A0As soon as I start xenoprof in passive domain mode, the VM can&#39;t=
 run workload immediately (The VM doesn&#39;t crash. If I ping the VM from =
other machine, the response time is really high ). I can&#39;t input any co=
mmands through the console prompt.=A0</b></font></u></div>

--f46d0447872512f95404c1263f8b--


--===============0222342812820173367==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0222342812820173367==--


From xen-devel-bounces@lists.xen.org Tue May 29 06:31:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 06:31:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZFvn-0008Ko-Ol; Tue, 29 May 2012 06:29:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZFvm-0008Kj-2Z
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 06:29:22 +0000
Received: from [85.158.143.35:17093] by server-1.bemta-4.messagelabs.com id
	54/BD-00342-1CC64CF4; Tue, 29 May 2012 06:29:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338272960!6380910!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTkxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24415 invoked from network); 29 May 2012 06:29:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 06:29:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,675,1330905600"; d="scan'208";a="12702564"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:29:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 07:29:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZFvj-0001Kk-PA;
	Tue, 29 May 2012 06:29:19 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZFvj-00067D-1h;
	Tue, 29 May 2012 07:29:19 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12978-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 29 May 2012 07:29:19 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12978: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12978 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12978/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12977

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 06:31:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 06:31:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZFvn-0008Ko-Ol; Tue, 29 May 2012 06:29:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZFvm-0008Kj-2Z
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 06:29:22 +0000
Received: from [85.158.143.35:17093] by server-1.bemta-4.messagelabs.com id
	54/BD-00342-1CC64CF4; Tue, 29 May 2012 06:29:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338272960!6380910!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTkxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24415 invoked from network); 29 May 2012 06:29:20 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 06:29:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,675,1330905600"; d="scan'208";a="12702564"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:29:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 07:29:20 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZFvj-0001Kk-PA;
	Tue, 29 May 2012 06:29:19 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZFvj-00067D-1h;
	Tue, 29 May 2012 07:29:19 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12978-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 29 May 2012 07:29:19 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12978: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12978 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12978/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12977

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  53e0571f94e4
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 08:56:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 08:56:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIDm-0001vz-QN; Tue, 29 May 2012 08:56:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZIDl-0001vu-U7
	for xen-devel@lists.xen.org; Tue, 29 May 2012 08:56:06 +0000
Received: from [85.158.143.99:64576] by server-3.bemta-4.messagelabs.com id
	0F/DB-05853-52F84CF4; Tue, 29 May 2012 08:56:05 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338281763!24953410!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3NTQ5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3952 invoked from network); 29 May 2012 08:56:04 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-216.messagelabs.com with SMTP;
	29 May 2012 08:56:04 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 29 May 2012 01:56:02 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105320079"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 01:56:02 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 01:56:02 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.94]) with mapi id
	14.01.0355.002; Tue, 29 May 2012 16:55:55 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir.xen@gmail.com>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mIABtPww
Date: Tue, 29 May 2012 08:55:54 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCA7B2@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCA0FF@SHSMSX102.ccr.corp.intel.com>
	<CBE8DEA1.34527%keir.xen@gmail.com>
In-Reply-To: <CBE8DEA1.34527%keir.xen@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com]
> Sent: Monday, May 28, 2012 2:50 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> > Hi, Keir
> >
> > This patch is fine to me, just one small comments: the note below the
> > hvm_inject_hw_exception(TRAP*) should change to
> hvm_inject_hw_exception from
> > hvm_inject_exception.
> 
> Yes indeed. Thanks!
> 

Hi, Keir

Can you check your patch in? then I can send my patches out based you.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 08:56:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 08:56:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIDm-0001vz-QN; Tue, 29 May 2012 08:56:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZIDl-0001vu-U7
	for xen-devel@lists.xen.org; Tue, 29 May 2012 08:56:06 +0000
Received: from [85.158.143.99:64576] by server-3.bemta-4.messagelabs.com id
	0F/DB-05853-52F84CF4; Tue, 29 May 2012 08:56:05 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338281763!24953410!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3NTQ5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3952 invoked from network); 29 May 2012 08:56:04 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-216.messagelabs.com with SMTP;
	29 May 2012 08:56:04 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 29 May 2012 01:56:02 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105320079"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 01:56:02 -0700
Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 01:56:02 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX101.ccr.corp.intel.com ([169.254.1.94]) with mapi id
	14.01.0355.002; Tue, 29 May 2012 16:55:55 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir.xen@gmail.com>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mIABtPww
Date: Tue, 29 May 2012 08:55:54 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCA7B2@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCA0FF@SHSMSX102.ccr.corp.intel.com>
	<CBE8DEA1.34527%keir.xen@gmail.com>
In-Reply-To: <CBE8DEA1.34527%keir.xen@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com]
> Sent: Monday, May 28, 2012 2:50 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> > Hi, Keir
> >
> > This patch is fine to me, just one small comments: the note below the
> > hvm_inject_hw_exception(TRAP*) should change to
> hvm_inject_hw_exception from
> > hvm_inject_exception.
> 
> Yes indeed. Thanks!
> 

Hi, Keir

Can you check your patch in? then I can send my patches out based you.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 08:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 08:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIG1-00020h-BB; Tue, 29 May 2012 08:58:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZIFz-00020U-Ov
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 08:58:23 +0000
Received: from [85.158.139.83:35196] by server-1.bemta-5.messagelabs.com id
	39/6F-21549-EAF84CF4; Tue, 29 May 2012 08:58:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1338281901!17110851!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20129 invoked from network); 29 May 2012 08:58:21 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 08:58:21 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 09:58:10 +0100
Message-Id: <4FC4A10F0200007800086842@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 09:12:31 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
 misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 28.05.12 at 12:18, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Fri, 25 May 2012, Konrad Rzeszutek Wilk wrote:
>> Part of the ring structure is the 'id' field which is under
>> control of the frontend. The frontend stamps it with "some"
>> value (this some in this implementation being a value less
>> than BLK_RING_SIZE), and when it gets a response expects
>> said value to be in the response structure. We have a check
>> for the id field when spolling new requests but not when
>> de-spolling responses.
>> 
>> We also add an extra check in add_id_to_freelist to make
>> sure that the 'struct request' was not NULL - as we cannot
>> pass a NULL to __blk_end_request_all, otherwise that crashes
>> (and all the operations that the response is dealing with
>> end up with __blk_end_request_all).
>> 
>> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> ---
>>  drivers/block/xen-blkfront.c |    7 +++++++
>>  1 files changed, 7 insertions(+), 0 deletions(-)
>> 
>> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
>> index 60eed4b..8e177ca 100644
>> --- a/drivers/block/xen-blkfront.c
>> +++ b/drivers/block/xen-blkfront.c
>> @@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info 
> *info,
>>  			       unsigned long id)
>>  {
>>  	info->shadow[id].req.u.rw.id  = info->shadow_free;
>> +	BUG_ON(info->shadow[id].request == NULL);

This only catches a small sub-portion of possible bad backend
behavior. Checking (as the very first thing in the function) e.g.

info->shadow[id].req.u.rw.id == id

would seem to cover a broader set (based on my recent looking
at similar mismatches apparently resulting from the qdisk
backend occasionally sending bad/duplicate responses).

But take this with the below applied here too.

>>  	info->shadow[id].request = NULL;
>>  	info->shadow_free = id;
>>  }
>> @@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void 
> *dev_id)
>>  
>>  		bret = RING_GET_RESPONSE(&info->ring, i);
>>  		id   = bret->id;
>> +		/*
>> +		 * The backend has messed up and given us an id that we would
>> +		 * never have given to it (we stamp it up to BLK_RING_SIZE -
>> +		 * look in get_id_from_freelist.
>> +		 */
>> +		BUG_ON(id >= BLK_RING_SIZE);
>>  		req  = info->shadow[id].request;
>>  
>>  		if (bret->operation != BLKIF_OP_DISCARD)
> 
> While we should certainly check whether bret->id is valid before
> using it, is it actually correct that the frontend BUGs in response of a
> backend bug?
> 
> If the IO doesn't involve the root disk, the guest might be able to
> function correctly without communicating with the backend at all.
> I think we should WARN and return error. Maybe also call blkfront_remove
> if we can.

I very much agree to this.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 08:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 08:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIG1-00020h-BB; Tue, 29 May 2012 08:58:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZIFz-00020U-Ov
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 08:58:23 +0000
Received: from [85.158.139.83:35196] by server-1.bemta-5.messagelabs.com id
	39/6F-21549-EAF84CF4; Tue, 29 May 2012 08:58:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1338281901!17110851!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20129 invoked from network); 29 May 2012 08:58:21 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-8.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 08:58:21 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 09:58:10 +0100
Message-Id: <4FC4A10F0200007800086842@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 09:12:31 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
 misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 28.05.12 at 12:18, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Fri, 25 May 2012, Konrad Rzeszutek Wilk wrote:
>> Part of the ring structure is the 'id' field which is under
>> control of the frontend. The frontend stamps it with "some"
>> value (this some in this implementation being a value less
>> than BLK_RING_SIZE), and when it gets a response expects
>> said value to be in the response structure. We have a check
>> for the id field when spolling new requests but not when
>> de-spolling responses.
>> 
>> We also add an extra check in add_id_to_freelist to make
>> sure that the 'struct request' was not NULL - as we cannot
>> pass a NULL to __blk_end_request_all, otherwise that crashes
>> (and all the operations that the response is dealing with
>> end up with __blk_end_request_all).
>> 
>> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> ---
>>  drivers/block/xen-blkfront.c |    7 +++++++
>>  1 files changed, 7 insertions(+), 0 deletions(-)
>> 
>> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
>> index 60eed4b..8e177ca 100644
>> --- a/drivers/block/xen-blkfront.c
>> +++ b/drivers/block/xen-blkfront.c
>> @@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info 
> *info,
>>  			       unsigned long id)
>>  {
>>  	info->shadow[id].req.u.rw.id  = info->shadow_free;
>> +	BUG_ON(info->shadow[id].request == NULL);

This only catches a small sub-portion of possible bad backend
behavior. Checking (as the very first thing in the function) e.g.

info->shadow[id].req.u.rw.id == id

would seem to cover a broader set (based on my recent looking
at similar mismatches apparently resulting from the qdisk
backend occasionally sending bad/duplicate responses).

But take this with the below applied here too.

>>  	info->shadow[id].request = NULL;
>>  	info->shadow_free = id;
>>  }
>> @@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void 
> *dev_id)
>>  
>>  		bret = RING_GET_RESPONSE(&info->ring, i);
>>  		id   = bret->id;
>> +		/*
>> +		 * The backend has messed up and given us an id that we would
>> +		 * never have given to it (we stamp it up to BLK_RING_SIZE -
>> +		 * look in get_id_from_freelist.
>> +		 */
>> +		BUG_ON(id >= BLK_RING_SIZE);
>>  		req  = info->shadow[id].request;
>>  
>>  		if (bret->operation != BLKIF_OP_DISCARD)
> 
> While we should certainly check whether bret->id is valid before
> using it, is it actually correct that the frontend BUGs in response of a
> backend bug?
> 
> If the IO doesn't involve the root disk, the guest might be able to
> function correctly without communicating with the backend at all.
> I think we should WARN and return error. Maybe also call blkfront_remove
> if we can.

I very much agree to this.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 08:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 08:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIG2-00020r-N5; Tue, 29 May 2012 08:58:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZIG0-00020a-TX
	for xen-devel@lists.xen.org; Tue, 29 May 2012 08:58:25 +0000
Received: from [85.158.139.83:8920] by server-9.bemta-5.messagelabs.com id
	5A/4A-27779-0BF84CF4; Tue, 29 May 2012 08:58:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338281902!30909694!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28774 invoked from network); 29 May 2012 08:58:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 08:58:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 09:58:11 +0100
Message-Id: <4FC4A1A80200007800086845@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 09:15:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 28.05.12 at 11:23, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> hypervisor, nice to have:

* Grant table patches posted at the end of last week (no feedback
so far).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 08:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 08:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIG2-00020r-N5; Tue, 29 May 2012 08:58:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZIG0-00020a-TX
	for xen-devel@lists.xen.org; Tue, 29 May 2012 08:58:25 +0000
Received: from [85.158.139.83:8920] by server-9.bemta-5.messagelabs.com id
	5A/4A-27779-0BF84CF4; Tue, 29 May 2012 08:58:24 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338281902!30909694!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28774 invoked from network); 29 May 2012 08:58:23 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 08:58:23 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 09:58:11 +0100
Message-Id: <4FC4A1A80200007800086845@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 09:15:04 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 28.05.12 at 11:23, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> hypervisor, nice to have:

* Grant table patches posted at the end of last week (no feedback
so far).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:00:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:00:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIHe-0002Be-B1; Tue, 29 May 2012 09:00:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIHd-0002BV-5t
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 09:00:05 +0000
Received: from [85.158.143.35:8129] by server-3.bemta-4.messagelabs.com id
	96/14-05853-41094CF4; Tue, 29 May 2012 09:00:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338282002!13348127!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27138 invoked from network); 29 May 2012 09:00:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:00:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12705783"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:00:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:00:01 +0100
Message-ID: <1338282000.14158.70.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Tue, 29 May 2012 10:00:00 +0100
In-Reply-To: <20120525202758.GB23655@phenom.dumpdata.com>
References: <1c28051020488782f127.1337963657@exile>
	<20120525202758.GB23655@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] libxl: When checking BDF of existing slots,
 function should be decimal, not hex
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 21:27 +0100, Konrad Rzeszutek Wilk wrote:
> On Fri, May 25, 2012 at 04:34:17PM +0000, George Dunlap wrote:
> > # HG changeset patch
> > # User George Dunlap <george.dunlap@eu.citrix.com>
> > # Date 1337961666 0
> > # Node ID 1c28051020488782f1277dd60a2418324580297e
> > # Parent  69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
> > libxl: When checking BDF of existing slots, function should be decimal, not hex
> > 
> > Spotted-by: Konrad Wilk <konrad.wilk@oracle.com>
> 
> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

A PCI func can be at most 7 I think so %x vs %d probably doesn't have
any real impact under normal use. 

Applied though.

> > 
> > diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> > --- a/tools/libxl/libxl_pci.c
> > +++ b/tools/libxl/libxl_pci.c
> > @@ -480,7 +480,7 @@ static int pciback_dev_has_slot(libxl__g
> >          return ERROR_FAIL;
> >      }
> >  
> > -    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
> > +    while(fscanf(f, "%x:%x:%x.%d\n", &dom, &bus, &dev, &func)==4) {
> >          if(dom == pcidev->domain
> >             && bus == pcidev->bus
> >             && dev == pcidev->dev
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:00:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:00:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIHe-0002Be-B1; Tue, 29 May 2012 09:00:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIHd-0002BV-5t
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 09:00:05 +0000
Received: from [85.158.143.35:8129] by server-3.bemta-4.messagelabs.com id
	96/14-05853-41094CF4; Tue, 29 May 2012 09:00:04 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338282002!13348127!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27138 invoked from network); 29 May 2012 09:00:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:00:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12705783"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:00:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:00:01 +0100
Message-ID: <1338282000.14158.70.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Tue, 29 May 2012 10:00:00 +0100
In-Reply-To: <20120525202758.GB23655@phenom.dumpdata.com>
References: <1c28051020488782f127.1337963657@exile>
	<20120525202758.GB23655@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] libxl: When checking BDF of existing slots,
 function should be decimal, not hex
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 21:27 +0100, Konrad Rzeszutek Wilk wrote:
> On Fri, May 25, 2012 at 04:34:17PM +0000, George Dunlap wrote:
> > # HG changeset patch
> > # User George Dunlap <george.dunlap@eu.citrix.com>
> > # Date 1337961666 0
> > # Node ID 1c28051020488782f1277dd60a2418324580297e
> > # Parent  69c3ae25bb1ddcb0ea44b7566d36d34e9d6a70aa
> > libxl: When checking BDF of existing slots, function should be decimal, not hex
> > 
> > Spotted-by: Konrad Wilk <konrad.wilk@oracle.com>
> 
> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

A PCI func can be at most 7 I think so %x vs %d probably doesn't have
any real impact under normal use. 

Applied though.

> > 
> > diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
> > --- a/tools/libxl/libxl_pci.c
> > +++ b/tools/libxl/libxl_pci.c
> > @@ -480,7 +480,7 @@ static int pciback_dev_has_slot(libxl__g
> >          return ERROR_FAIL;
> >      }
> >  
> > -    while(fscanf(f, "%x:%x:%x.%x\n", &dom, &bus, &dev, &func)==4) {
> > +    while(fscanf(f, "%x:%x:%x.%d\n", &dom, &bus, &dev, &func)==4) {
> >          if(dom == pcidev->domain
> >             && bus == pcidev->bus
> >             && dev == pcidev->dev
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:01:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIIQ-0002HH-Pg; Tue, 29 May 2012 09:00:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIIP-0002Gq-6n
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:00:53 +0000
Received: from [85.158.138.51:56459] by server-5.bemta-3.messagelabs.com id
	99/D5-25552-44094CF4; Tue, 29 May 2012 09:00:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338282051!10947869!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTkxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 472 invoked from network); 29 May 2012 09:00:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:00:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12705816"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:00:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:00:50 +0100
Message-ID: <1338282049.14158.71.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Tue, 29 May 2012 10:00:49 +0100
In-Reply-To: <9ce7af13c2eae2e774ad.1338165801@athos.nss.cs.ubc.ca>
References: <9ce7af13c2eae2e774ad.1338165801@athos.nss.cs.ubc.ca>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Remus - fix docs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 01:43 +0100, Shriram Rajagopalan wrote:
> # HG changeset patch
> # User Shriram Rajagopalan <rshriram@cs.ubc.ca>
> # Date 1338163739 25200
> # Node ID 9ce7af13c2eae2e774ad52234ff9fbb4773caee2
> # Parent  53e0571f94e4bcc45270dcbd444c7c91166cef6d
> libxl: Remus - fix docs
> 
> Explicitly mention that the current state of Remus support in xl
> is experimental, with no disk/network buffering support.
> 
> Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

and committed.

> 
> diff -r 53e0571f94e4 -r 9ce7af13c2ea docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Fri May 25 08:21:25 2012 +0100
> +++ b/docs/man/xl.pod.1	Sun May 27 17:08:59 2012 -0700
> @@ -394,6 +394,9 @@
>  Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
>  mechanism between the two hosts.
>  
> +N.B: Remus support in xl is still in experimental (proof-of-concept) phase.
> +     There is no support for network or disk buffering at the moment.
> +
>  B<OPTIONS>
>  
>  =over 4
> @@ -404,9 +407,8 @@
>  
>  =item B<-b>
>  
> -Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
> -(blackhole).  Network output buffering remains enabled (unless --no-net is
> -supplied).  Generally useful for debugging.
> +Replicate memory checkpoints to /dev/null (blackhole). 
> +Generally useful for debugging.
>  
>  =item B<-u>
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:01:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIIQ-0002HH-Pg; Tue, 29 May 2012 09:00:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIIP-0002Gq-6n
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:00:53 +0000
Received: from [85.158.138.51:56459] by server-5.bemta-3.messagelabs.com id
	99/D5-25552-44094CF4; Tue, 29 May 2012 09:00:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338282051!10947869!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTkxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 472 invoked from network); 29 May 2012 09:00:51 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:00:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12705816"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:00:50 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:00:50 +0100
Message-ID: <1338282049.14158.71.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Date: Tue, 29 May 2012 10:00:49 +0100
In-Reply-To: <9ce7af13c2eae2e774ad.1338165801@athos.nss.cs.ubc.ca>
References: <9ce7af13c2eae2e774ad.1338165801@athos.nss.cs.ubc.ca>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: Remus - fix docs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 01:43 +0100, Shriram Rajagopalan wrote:
> # HG changeset patch
> # User Shriram Rajagopalan <rshriram@cs.ubc.ca>
> # Date 1338163739 25200
> # Node ID 9ce7af13c2eae2e774ad52234ff9fbb4773caee2
> # Parent  53e0571f94e4bcc45270dcbd444c7c91166cef6d
> libxl: Remus - fix docs
> 
> Explicitly mention that the current state of Remus support in xl
> is experimental, with no disk/network buffering support.
> 
> Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

and committed.

> 
> diff -r 53e0571f94e4 -r 9ce7af13c2ea docs/man/xl.pod.1
> --- a/docs/man/xl.pod.1	Fri May 25 08:21:25 2012 +0100
> +++ b/docs/man/xl.pod.1	Sun May 27 17:08:59 2012 -0700
> @@ -394,6 +394,9 @@
>  Enable Remus HA for domain. By default B<xl> relies on ssh as a transport
>  mechanism between the two hosts.
>  
> +N.B: Remus support in xl is still in experimental (proof-of-concept) phase.
> +     There is no support for network or disk buffering at the moment.
> +
>  B<OPTIONS>
>  
>  =over 4
> @@ -404,9 +407,8 @@
>  
>  =item B<-b>
>  
> -Do not checkpoint the disk. Replicate memory checkpoints to /dev/null
> -(blackhole).  Network output buffering remains enabled (unless --no-net is
> -supplied).  Generally useful for debugging.
> +Replicate memory checkpoints to /dev/null (blackhole). 
> +Generally useful for debugging.
>  
>  =item B<-u>
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:02:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:02:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIJw-0002SB-Cs; Tue, 29 May 2012 09:02:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIJu-0002Rw-JV
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:02:26 +0000
Received: from [85.158.138.51:15628] by server-6.bemta-3.messagelabs.com id
	93/09-18175-1A094CF4; Tue, 29 May 2012 09:02:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338282145!29716872!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTkxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25256 invoked from network); 29 May 2012 09:02:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:02:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12705869"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:02:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:24 +0100
Message-ID: <1338282143.14158.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 10:02:23 +0100
In-Reply-To: <20411.49128.260454.510518@mariner.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
	<1337345961.22316.106.camel@zakaz.uk.xensource.com>
	<1337700951.10118.148.camel@zakaz.uk.xensource.com>
	<20411.49128.260454.510518@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 17:33 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > I ended up changing it again, I hope this one is clearer:
> > 
> >     /* outputs:
> >      *  - caller must initialise kernel and ramdisk to point to file
> >      *    references, these will be updated and mapped;
> >      *  - caller must initialise cmdline to NULL, it will be updated with a
> >      *    string allocated from the gc;
> >      */
> 
> Looks good to me.

Thanks, committed.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:02:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:02:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIJw-0002SB-Cs; Tue, 29 May 2012 09:02:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIJu-0002Rw-JV
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:02:26 +0000
Received: from [85.158.138.51:15628] by server-6.bemta-3.messagelabs.com id
	93/09-18175-1A094CF4; Tue, 29 May 2012 09:02:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338282145!29716872!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTkxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25256 invoked from network); 29 May 2012 09:02:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:02:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12705869"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:02:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:24 +0100
Message-ID: <1338282143.14158.72.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 10:02:23 +0100
In-Reply-To: <20411.49128.260454.510518@mariner.uk.xensource.com>
References: <cdb947baea102aa6a1d5.1337273495@cosworth.uk.xensource.com>
	<20406.13331.376904.640112@mariner.uk.xensource.com>
	<1337345961.22316.106.camel@zakaz.uk.xensource.com>
	<1337700951.10118.148.camel@zakaz.uk.xensource.com>
	<20411.49128.260454.510518@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied
 config when running bootloader
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-22 at 17:33 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not overwrite user supplied config when running bootloader"):
> > I ended up changing it again, I hope this one is clearer:
> > 
> >     /* outputs:
> >      *  - caller must initialise kernel and ramdisk to point to file
> >      *    references, these will be updated and mapped;
> >      *  - caller must initialise cmdline to NULL, it will be updated with a
> >      *    string allocated from the gc;
> >      */
> 
> Looks good to me.

Thanks, committed.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:09:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:09:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIQA-0002qP-Bq; Tue, 29 May 2012 09:08:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIQ9-0002qK-8h
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:08:53 +0000
Received: from [193.109.254.147:30912] by server-6.bemta-14.messagelabs.com id
	3A/7E-22565-42294CF4; Tue, 29 May 2012 09:08:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338282528!4050359!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29318 invoked from network); 29 May 2012 09:08:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:08:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706050"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:08:48 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:08:47 +0100
Message-ID: <1338282526.14158.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 10:08:46 +0100
In-Reply-To: <20415.26067.107790.804355@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337938671.22311.19.camel@zakaz.uk.xensource.com>
	<20415.26067.107790.804355@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 11:58 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> > On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > > Each time xl forks, it needs to record the pid, so that its exit
> > 
> > I was just about to apply this but testing with pygrub gives me:
> ...
> > I think the return codes of xl_reaped_callback are just bogus, according
> > to the comment it should return 0 if it knows the child,
> > ERROR_UNKNOWN_CHILD if not and anything else is a disaster. Incremental
> > fix is:
> 
> Ooops, I'm sorry.  I broke this when I removed the CHILD_LIST macro
> stuff.

No problem, I'm going to fold in my incremental fix, ack and apply.

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:09:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:09:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIQA-0002qP-Bq; Tue, 29 May 2012 09:08:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIQ9-0002qK-8h
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:08:53 +0000
Received: from [193.109.254.147:30912] by server-6.bemta-14.messagelabs.com id
	3A/7E-22565-42294CF4; Tue, 29 May 2012 09:08:52 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338282528!4050359!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29318 invoked from network); 29 May 2012 09:08:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:08:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706050"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:08:48 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:08:47 +0100
Message-ID: <1338282526.14158.76.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 10:08:46 +0100
In-Reply-To: <20415.26067.107790.804355@mariner.uk.xensource.com>
References: <20406.37918.733921.594303@mariner.uk.xensource.com>
	<1337938671.22311.19.camel@zakaz.uk.xensource.com>
	<20415.26067.107790.804355@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] xl: track child processes for the
	benefit of libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 11:58 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v2] xl: track child processes for the benefit of libxl"):
> > On Fri, 2012-05-18 at 19:25 +0100, Ian Jackson wrote:
> > > Each time xl forks, it needs to record the pid, so that its exit
> > 
> > I was just about to apply this but testing with pygrub gives me:
> ...
> > I think the return codes of xl_reaped_callback are just bogus, according
> > to the comment it should return 0 if it knows the child,
> > ERROR_UNKNOWN_CHILD if not and anything else is a disaster. Incremental
> > fix is:
> 
> Ooops, I'm sorry.  I broke this when I removed the CHILD_LIST macro
> stuff.

No problem, I'm going to fold in my incremental fix, ack and apply.

Ian.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:09:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:09:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIQT-0002rb-ON; Tue, 29 May 2012 09:09:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIQS-0002rS-Sf
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:09:12 +0000
Received: from [193.109.254.147:36652] by server-1.bemta-14.messagelabs.com id
	1A/C5-13428-83294CF4; Tue, 29 May 2012 09:09:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338282537!4050389!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29848 invoked from network); 29 May 2012 09:08:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:08:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706056"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:08:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:08:56 +0100
Message-ID: <1338282535.14158.77.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 10:08:55 +0100
In-Reply-To: <1337341037.22316.65.camel@zakaz.uk.xensource.com>
References: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
	<20406.12289.165816.853397@mariner.uk.xensource.com>
	<1337341037.22316.65.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:37 +0100, Ian Campbell wrote:
> On Fri, 2012-05-18 at 12:18 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("[PATCH] xl: remove all local "ctx" variables"):
> > > xl: remove all local "ctx" variables.
> > > 
> > > xl has a global "ctx" variable, so there should be no need to pass a
> > > ctx to any function.
> > 
> > Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> > 
> > Although I would prefer it if you'd leave xl_fork alone because my
> > xl child process fix patch is going to change its prototype anyway.
> 
> I'm happy to refresh this patch after your xl child patch goes in, and
> drop the xl_fork stuff as appropriate.

I dropped the xl_fork hunks and committed.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:09:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:09:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIQT-0002rb-ON; Tue, 29 May 2012 09:09:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIQS-0002rS-Sf
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:09:12 +0000
Received: from [193.109.254.147:36652] by server-1.bemta-14.messagelabs.com id
	1A/C5-13428-83294CF4; Tue, 29 May 2012 09:09:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338282537!4050389!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29848 invoked from network); 29 May 2012 09:08:57 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:08:57 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706056"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:08:56 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:08:56 +0100
Message-ID: <1338282535.14158.77.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 10:08:55 +0100
In-Reply-To: <1337341037.22316.65.camel@zakaz.uk.xensource.com>
References: <bb377172ef57bed114ad.1337262521@cosworth.uk.xensource.com>
	<20406.12289.165816.853397@mariner.uk.xensource.com>
	<1337341037.22316.65.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xl: remove all local "ctx" variables
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-18 at 12:37 +0100, Ian Campbell wrote:
> On Fri, 2012-05-18 at 12:18 +0100, Ian Jackson wrote:
> > Ian Campbell writes ("[PATCH] xl: remove all local "ctx" variables"):
> > > xl: remove all local "ctx" variables.
> > > 
> > > xl has a global "ctx" variable, so there should be no need to pass a
> > > ctx to any function.
> > 
> > Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> > 
> > Although I would prefer it if you'd leave xl_fork alone because my
> > xl child process fix patch is going to change its prototype anyway.
> 
> I'm happy to refresh this patch after your xl child patch goes in, and
> drop the xl_fork stuff as appropriate.

I dropped the xl_fork hunks and committed.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:17:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIYj-0003Cc-35; Tue, 29 May 2012 09:17:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIYh-0003CV-FX
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 09:17:43 +0000
Received: from [193.109.254.147:50189] by server-10.bemta-14.messagelabs.com
	id A1/39-12925-63494CF4; Tue, 29 May 2012 09:17:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338283061!11724645!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31174 invoked from network); 29 May 2012 09:17:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:17:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706281"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:17:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:17:40 +0100
Message-ID: <1338283059.14158.85.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Tue, 29 May 2012 10:17:39 +0100
In-Reply-To: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
References: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option
 support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 09:52 +0100, ZhouPeng wrote:
> refactor the code of stdvga option support.
> 
> Be ready to add and describe new vga interface

Are you proposing this for 4.2, which is currently in feature freeze?

I'd be inclined to accept this particular for 4.2 due to the API change,
but I'm curious what the "new vga interface" is going to be.

> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
> 
> diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Fri May 18 16:19:21 2012 +0100
> +++ b/tools/libxl/libxl_types.idl	Mon May 28 16:10:02 2012 +0800
> @@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
>      (4, "watchdog"),
>      ])
> 
> +libxl_vga_interface_type = Enumeration("vga_interface_type", [
> +    (0, "DEFAULT"),

"DEFAULT" here just means "whatever qemu gives you if you don't say
otherwise"? What actually is that? I think we'd be better off having it
as an explicit option too and using setdefault to convert DEFAULT->that.

> +    (1, "STD"),
> +    ])
> +
>  #
>  # Complex libxl types
>  #
> +
> +libxl_vga_interface_info = Struct("vga_interface_info", [
> +    ("type",    libxl_vga_interface_type),
> +    ("vramkb",  MemKB),

I can't see "vramkb" being used anywhere. Did you mean to include it in
the followup "new vga interface" patch?

> +    ])
> +
>  libxl_vnc_info = Struct("vnc_info", [
>      ("enable",        libxl_defbool),
>      # "address:port" that should be listened on
> @@ -286,7 +297,7 @@ libxl_domain_build_info = Struct("domain
>                                         ("nested_hvm",       libxl_defbool),
>                                         ("incr_generationid",libxl_defbool),
>                                         ("nographic",        libxl_defbool),
> -                                       ("stdvga",           libxl_defbool),
> +                                       ("vga",
> libxl_vga_interface_info),
>                                         ("vnc",              libxl_vnc_info),
>                                         # keyboard layout, default is
> en-us keyboard
>                                         ("keymap",           string),

Looks like this bit is whitespace damaged.

http://wiki.xen.org/wiki/Submitting_Xen_Patches has some hints on using
the mercurial patchbomb tool to avoid this and also a link to
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/email-clients.txt;hb=HEAD
which gives advice on using various mailclients to manually send patches
without mangling them.

> diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Fri May 18 16:19:21 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Mon May 28 16:10:02 2012 +0800
> @@ -1256,7 +1256,12 @@ skip_vfb:
>  #undef parse_extra_args
> 
>      if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
> -        xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.stdvga, 0);
> +        libxl_defbool vga;
> +        b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_DEFAULT;
> +        if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
> +            if (libxl_defbool_val(vga))

I don't think you need to launder this through a defbool, since it is no
longer one at the libxl interface. Use xlu_cfg_get_long into &l and
then 
	if (l) 
		b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;

> +                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
> +
>          xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
>          xlu_cfg_replace_string (config, "vnclisten",
>                                  &b_info->u.hvm.vnc.listen, 0);
> diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
> --- a/tools/libxl/xl_sxp.c	Fri May 18 16:19:21 2012 +0100
> +++ b/tools/libxl/xl_sxp.c	Mon May 28 16:10:02 2012 +0800
> @@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
>                 libxl_defbool_to_string(b_info->u.hvm.nested_hvm));
>          printf("\t\t\t(no_incr_generationid %s)\n",
>                 libxl_defbool_to_string(b_info->u.hvm.incr_generationid));
> -        printf("\t\t\t(stdvga %s)\n",
> -               libxl_defbool_to_string(b_info->u.hvm.stdvga));
> +        libxl_defbool stdvga;
> +        libxl_defbool_set(&stdvga,
> +                   b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD);
> +        printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(stdvga));

Likewise I think this is just
        printf("\t\t\t(stdvga %s)\n",
               b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD) ?
               True" : "False");

>          printf("\t\t\t(vnc %s)\n",
>                 libxl_defbool_to_string(b_info->u.hvm.vnc.enable));
>          printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.listen);
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:17:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZIYj-0003Cc-35; Tue, 29 May 2012 09:17:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZIYh-0003CV-FX
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 09:17:43 +0000
Received: from [193.109.254.147:50189] by server-10.bemta-14.messagelabs.com
	id A1/39-12925-63494CF4; Tue, 29 May 2012 09:17:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338283061!11724645!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31174 invoked from network); 29 May 2012 09:17:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:17:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706281"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:17:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:17:40 +0100
Message-ID: <1338283059.14158.85.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Tue, 29 May 2012 10:17:39 +0100
In-Reply-To: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
References: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option
 support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 09:52 +0100, ZhouPeng wrote:
> refactor the code of stdvga option support.
> 
> Be ready to add and describe new vga interface

Are you proposing this for 4.2, which is currently in feature freeze?

I'd be inclined to accept this particular for 4.2 due to the API change,
but I'm curious what the "new vga interface" is going to be.

> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
> 
> diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Fri May 18 16:19:21 2012 +0100
> +++ b/tools/libxl/libxl_types.idl	Mon May 28 16:10:02 2012 +0800
> @@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
>      (4, "watchdog"),
>      ])
> 
> +libxl_vga_interface_type = Enumeration("vga_interface_type", [
> +    (0, "DEFAULT"),

"DEFAULT" here just means "whatever qemu gives you if you don't say
otherwise"? What actually is that? I think we'd be better off having it
as an explicit option too and using setdefault to convert DEFAULT->that.

> +    (1, "STD"),
> +    ])
> +
>  #
>  # Complex libxl types
>  #
> +
> +libxl_vga_interface_info = Struct("vga_interface_info", [
> +    ("type",    libxl_vga_interface_type),
> +    ("vramkb",  MemKB),

I can't see "vramkb" being used anywhere. Did you mean to include it in
the followup "new vga interface" patch?

> +    ])
> +
>  libxl_vnc_info = Struct("vnc_info", [
>      ("enable",        libxl_defbool),
>      # "address:port" that should be listened on
> @@ -286,7 +297,7 @@ libxl_domain_build_info = Struct("domain
>                                         ("nested_hvm",       libxl_defbool),
>                                         ("incr_generationid",libxl_defbool),
>                                         ("nographic",        libxl_defbool),
> -                                       ("stdvga",           libxl_defbool),
> +                                       ("vga",
> libxl_vga_interface_info),
>                                         ("vnc",              libxl_vnc_info),
>                                         # keyboard layout, default is
> en-us keyboard
>                                         ("keymap",           string),

Looks like this bit is whitespace damaged.

http://wiki.xen.org/wiki/Submitting_Xen_Patches has some hints on using
the mercurial patchbomb tool to avoid this and also a link to
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/email-clients.txt;hb=HEAD
which gives advice on using various mailclients to manually send patches
without mangling them.

> diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Fri May 18 16:19:21 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Mon May 28 16:10:02 2012 +0800
> @@ -1256,7 +1256,12 @@ skip_vfb:
>  #undef parse_extra_args
> 
>      if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
> -        xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.stdvga, 0);
> +        libxl_defbool vga;
> +        b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_DEFAULT;
> +        if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
> +            if (libxl_defbool_val(vga))

I don't think you need to launder this through a defbool, since it is no
longer one at the libxl interface. Use xlu_cfg_get_long into &l and
then 
	if (l) 
		b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;

> +                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
> +
>          xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
>          xlu_cfg_replace_string (config, "vnclisten",
>                                  &b_info->u.hvm.vnc.listen, 0);
> diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
> --- a/tools/libxl/xl_sxp.c	Fri May 18 16:19:21 2012 +0100
> +++ b/tools/libxl/xl_sxp.c	Mon May 28 16:10:02 2012 +0800
> @@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
>                 libxl_defbool_to_string(b_info->u.hvm.nested_hvm));
>          printf("\t\t\t(no_incr_generationid %s)\n",
>                 libxl_defbool_to_string(b_info->u.hvm.incr_generationid));
> -        printf("\t\t\t(stdvga %s)\n",
> -               libxl_defbool_to_string(b_info->u.hvm.stdvga));
> +        libxl_defbool stdvga;
> +        libxl_defbool_set(&stdvga,
> +                   b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD);
> +        printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(stdvga));

Likewise I think this is just
        printf("\t\t\t(stdvga %s)\n",
               b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD) ?
               True" : "False");

>          printf("\t\t\t(vnc %s)\n",
>                 libxl_defbool_to_string(b_info->u.hvm.vnc.enable));
>          printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.listen);
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:33:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZInI-0003Mj-LU; Tue, 29 May 2012 09:32:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZInG-0003MX-R9
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:32:46 +0000
Received: from [193.109.254.147:18285] by server-12.bemta-14.messagelabs.com
	id 73/B0-30228-EB794CF4; Tue, 29 May 2012 09:32:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338283965!11728682!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25411 invoked from network); 29 May 2012 09:32:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:32:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706721"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:32:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:32:44 +0100
Message-ID: <1338283962.14158.86.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Tue, 29 May 2012 10:32:42 +0100
In-Reply-To: <4FB1052D02000078000836D8@nat28.tlf.novell.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
> 
> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
> wrote:
> > tools, blockers:
> 
> Adjustments needed for qdisk backend to work on non-pvops Linux.

Can you remind me what those are please. Do they touch libxl or libxc?

Thanks,
Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:33:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZInI-0003Mj-LU; Tue, 29 May 2012 09:32:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZInG-0003MX-R9
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:32:46 +0000
Received: from [193.109.254.147:18285] by server-12.bemta-14.messagelabs.com
	id 73/B0-30228-EB794CF4; Tue, 29 May 2012 09:32:46 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338283965!11728682!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25411 invoked from network); 29 May 2012 09:32:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:32:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12706721"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:32:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:32:44 +0100
Message-ID: <1338283962.14158.86.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Date: Tue, 29 May 2012 10:32:42 +0100
In-Reply-To: <4FB1052D02000078000836D8@nat28.tlf.novell.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
> 
> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
> wrote:
> > tools, blockers:
> 
> Adjustments needed for qdisk backend to work on non-pvops Linux.

Can you remind me what those are please. Do they touch libxl or libxc?

Thanks,
Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:55:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJ8v-0003dz-Uu; Tue, 29 May 2012 09:55:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJ8u-0003du-IV
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:55:08 +0000
Received: from [85.158.139.83:53834] by server-3.bemta-5.messagelabs.com id
	DE/EC-29112-BFC94CF4; Tue, 29 May 2012 09:55:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1338285306!17125999!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2372 invoked from network); 29 May 2012 09:55:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:55:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12707337"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:54:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:54:34 +0100
Message-ID: <1338285272.14158.101.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bamvor Jian Zhang <bjzhang@suse.com>
Date: Tue, 29 May 2012 10:54:32 +0100
In-Reply-To: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
References: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 07:35 +0100, Bamvor Jian Zhang wrote:
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.
> 
> Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> 
> Changes since v1:
>  * Replace function libxl__sprintf with macro GSPRINTF
>  * check return value and handle error for libxl__xs_read and libxl__domain_type
>  * merge common code for libxl_primary_console_get_tty and
>    libxl_primary_console_exec as libxl__primary_console_find
>  * Reformat code to be less than 80 characters.
> 
> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
> @@ -1188,7 +1188,8 @@ out:
>      return rc;
>  }
>  
> -int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
> +int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,
> +                       libxl_console_type type)
>  {
>      GC_INIT(ctx);
>      char *p = libxl__sprintf(gc, "%s/xenconsole", libxl__private_bindir_path());
> @@ -1214,24 +1215,74 @@ out:
>      return ERROR_FAIL;
>  }
>  
> -int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
> +    GC_INIT(ctx);
> +    char *dom_path = 0;
> +    char *tty_path = 0;
> +    char *tty = 0;
> +    int rc = 0;
> +
> +    dom_path = libxl__xs_get_dompath(gc, domid);
> +    if (!dom_path) {
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    switch (type) {
> +    case LIBXL_CONSOLE_TYPE_SERIAL:
> +        tty_path = GCSPRINTF("%s/serial/0/tty", dom_path);
> +        break;
> +    case LIBXL_CONSOLE_TYPE_PV:
> +        if (cons_num == 0)
> +            tty_path = GCSPRINTF("%s/console/tty", dom_path);
> +        else
> +            tty_path = GCSPRINTF("%s/device/console/%d/tty", dom_path, 
> +                                cons_num);
> +        break;
> +    default:
> +        rc = ERROR_FAIL;

Strictly this ought to be ERROR_INVAL.

> +        goto out;
> +    }
> +
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    if (tty) 
> +        *path = strdup(tty);
> +    else
> +        rc = ERROR_FAIL;
> +
> +out:
> +    GC_FREE;
> +    return rc;
> +}
> +
> +static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 

Generally since this is an internal function it should take a libxl__gc
*gc not a ctx and drop the GC_INIT and GC_FREE. You can use the CTX
macro to get a ctx where you need one.

However since the two callers are thinish wrappers around this and you'd
then need the GC_INIT, GC_FREE stuff there I'm inclined to suggest we
make an exception here and leave it as is, Ian J what do you think?

> +                                       uint32_t *domid_out, int *cons_num_out, 
> +                                       libxl_console_type *type_out)
>  {
>      GC_INIT(ctx);
>      uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
> -    int rc;
> -    if (stubdomid)
> -        rc = libxl_console_exec(ctx, stubdomid,
> -                                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV);
> -    else {
> +    int rc = 0;
> +
> +    if (stubdomid) {
> +        *domid_out = stubdomid;
> +        *cons_num_out = STUBDOM_CONSOLE_SERIAL;
> +        *type_out = LIBXL_CONSOLE_TYPE_PV;
> +    } else {
>          switch (libxl__domain_type(gc, domid_vm)) {
>          case LIBXL_DOMAIN_TYPE_HVM:
> -            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL);
> +            *domid_out = domid_vm;
> +            *cons_num_out = 0;
> +            *type_out = LIBXL_CONSOLE_TYPE_SERIAL;
>              break;
>          case LIBXL_DOMAIN_TYPE_PV:
> -            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
> +            *domid_out = domid_vm;
> +            *cons_num_out = 0;
> +            *type_out = LIBXL_CONSOLE_TYPE_PV;
>              break;
>          case -1:
> -            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
> +            LOG(ERROR,"unable to get domain type for domid=%"PRIu32, domid_vm);
>              rc = ERROR_FAIL;
>              break;
>          default:
> @@ -1242,6 +1293,33 @@ int libxl_primary_console_exec(libxl_ctx
>      return rc;
>  }
>  
> +int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +{
> +    uint32_t domid_out;
> +    int cons_num_out;
> +    libxl_console_type type_out;

These aren't really _out vars here...

There isn't much here which warrants a resend IMHO, if Ian J is happy
with the libxl__primary_console_find interface (as discussed above) I'd
be inclined to take it as is unless you really want to do a respin.

> +    int rc;
> +
> +    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
> +                                     &type_out);
> +    if ( rc ) return rc;
> +    return libxl_console_exec(ctx, domid_out, cons_num_out, type_out);
> +}
> +
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,
> +                                  char **path)
> +{
> +    uint32_t domid_out;
> +    int cons_num_out;
> +    libxl_console_type type_out;
> +    int rc;
> +
> +    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
> +                                     &type_out);
> +    if ( rc ) return rc;
> +    return libxl_console_get_tty(ctx, domid_out, cons_num_out, type_out, path);
> +}
> +
>  int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
>  {
>      GC_INIT(ctx);
> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.h	Wed May 23 14:27:57 2012 +0800
> @@ -601,6 +601,16 @@ int libxl_console_exec(libxl_ctx *ctx, u
>   * case of HVM guests, and before libxl_run_bootloader in case of PV
>   * guests using pygrub. */
>  int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> +/* libxl_console_get_tty retrieves the specified domain's console tty path
> + * and stores it in path. Caller is responsible for freeing the memory.
> + */
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path);
> +/* libxl_primary_console_get_tty retrieves the specified domain's primary 
> + * console tty path and stores it in path. Caller is responsible for freeing
> + * the memory.
> + */
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
>  
>  /* May be called with info_r == NULL to check for domain's existance */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 09:55:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 09:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJ8v-0003dz-Uu; Tue, 29 May 2012 09:55:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJ8u-0003du-IV
	for xen-devel@lists.xen.org; Tue, 29 May 2012 09:55:08 +0000
Received: from [85.158.139.83:53834] by server-3.bemta-5.messagelabs.com id
	DE/EC-29112-BFC94CF4; Tue, 29 May 2012 09:55:07 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1338285306!17125999!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2372 invoked from network); 29 May 2012 09:55:07 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 09:55:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12707337"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:54:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:54:34 +0100
Message-ID: <1338285272.14158.101.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Bamvor Jian Zhang <bjzhang@suse.com>
Date: Tue, 29 May 2012 10:54:32 +0100
In-Reply-To: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
References: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-23 at 07:35 +0100, Bamvor Jian Zhang wrote:
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.
> 
> Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> 
> Changes since v1:
>  * Replace function libxl__sprintf with macro GSPRINTF
>  * check return value and handle error for libxl__xs_read and libxl__domain_type
>  * merge common code for libxl_primary_console_get_tty and
>    libxl_primary_console_exec as libxl__primary_console_find
>  * Reformat code to be less than 80 characters.
> 
> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
> @@ -1188,7 +1188,8 @@ out:
>      return rc;
>  }
>  
> -int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
> +int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,
> +                       libxl_console_type type)
>  {
>      GC_INIT(ctx);
>      char *p = libxl__sprintf(gc, "%s/xenconsole", libxl__private_bindir_path());
> @@ -1214,24 +1215,74 @@ out:
>      return ERROR_FAIL;
>  }
>  
> -int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
> +    GC_INIT(ctx);
> +    char *dom_path = 0;
> +    char *tty_path = 0;
> +    char *tty = 0;
> +    int rc = 0;
> +
> +    dom_path = libxl__xs_get_dompath(gc, domid);
> +    if (!dom_path) {
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    switch (type) {
> +    case LIBXL_CONSOLE_TYPE_SERIAL:
> +        tty_path = GCSPRINTF("%s/serial/0/tty", dom_path);
> +        break;
> +    case LIBXL_CONSOLE_TYPE_PV:
> +        if (cons_num == 0)
> +            tty_path = GCSPRINTF("%s/console/tty", dom_path);
> +        else
> +            tty_path = GCSPRINTF("%s/device/console/%d/tty", dom_path, 
> +                                cons_num);
> +        break;
> +    default:
> +        rc = ERROR_FAIL;

Strictly this ought to be ERROR_INVAL.

> +        goto out;
> +    }
> +
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    if (tty) 
> +        *path = strdup(tty);
> +    else
> +        rc = ERROR_FAIL;
> +
> +out:
> +    GC_FREE;
> +    return rc;
> +}
> +
> +static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 

Generally since this is an internal function it should take a libxl__gc
*gc not a ctx and drop the GC_INIT and GC_FREE. You can use the CTX
macro to get a ctx where you need one.

However since the two callers are thinish wrappers around this and you'd
then need the GC_INIT, GC_FREE stuff there I'm inclined to suggest we
make an exception here and leave it as is, Ian J what do you think?

> +                                       uint32_t *domid_out, int *cons_num_out, 
> +                                       libxl_console_type *type_out)
>  {
>      GC_INIT(ctx);
>      uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm);
> -    int rc;
> -    if (stubdomid)
> -        rc = libxl_console_exec(ctx, stubdomid,
> -                                STUBDOM_CONSOLE_SERIAL, LIBXL_CONSOLE_TYPE_PV);
> -    else {
> +    int rc = 0;
> +
> +    if (stubdomid) {
> +        *domid_out = stubdomid;
> +        *cons_num_out = STUBDOM_CONSOLE_SERIAL;
> +        *type_out = LIBXL_CONSOLE_TYPE_PV;
> +    } else {
>          switch (libxl__domain_type(gc, domid_vm)) {
>          case LIBXL_DOMAIN_TYPE_HVM:
> -            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_SERIAL);
> +            *domid_out = domid_vm;
> +            *cons_num_out = 0;
> +            *type_out = LIBXL_CONSOLE_TYPE_SERIAL;
>              break;
>          case LIBXL_DOMAIN_TYPE_PV:
> -            rc = libxl_console_exec(ctx, domid_vm, 0, LIBXL_CONSOLE_TYPE_PV);
> +            *domid_out = domid_vm;
> +            *cons_num_out = 0;
> +            *type_out = LIBXL_CONSOLE_TYPE_PV;
>              break;
>          case -1:
> -            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
> +            LOG(ERROR,"unable to get domain type for domid=%"PRIu32, domid_vm);
>              rc = ERROR_FAIL;
>              break;
>          default:
> @@ -1242,6 +1293,33 @@ int libxl_primary_console_exec(libxl_ctx
>      return rc;
>  }
>  
> +int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +{
> +    uint32_t domid_out;
> +    int cons_num_out;
> +    libxl_console_type type_out;

These aren't really _out vars here...

There isn't much here which warrants a resend IMHO, if Ian J is happy
with the libxl__primary_console_find interface (as discussed above) I'd
be inclined to take it as is unless you really want to do a respin.

> +    int rc;
> +
> +    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
> +                                     &type_out);
> +    if ( rc ) return rc;
> +    return libxl_console_exec(ctx, domid_out, cons_num_out, type_out);
> +}
> +
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,
> +                                  char **path)
> +{
> +    uint32_t domid_out;
> +    int cons_num_out;
> +    libxl_console_type type_out;
> +    int rc;
> +
> +    rc = libxl__primary_console_find(ctx, domid_vm, &domid_out, &cons_num_out, 
> +                                     &type_out);
> +    if ( rc ) return rc;
> +    return libxl_console_get_tty(ctx, domid_out, cons_num_out, type_out, path);
> +}
> +
>  int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
>  {
>      GC_INIT(ctx);
> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.h	Wed May 23 14:27:57 2012 +0800
> @@ -601,6 +601,16 @@ int libxl_console_exec(libxl_ctx *ctx, u
>   * case of HVM guests, and before libxl_run_bootloader in case of PV
>   * guests using pygrub. */
>  int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> +/* libxl_console_get_tty retrieves the specified domain's console tty path
> + * and stores it in path. Caller is responsible for freeing the memory.
> + */
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path);
> +/* libxl_primary_console_get_tty retrieves the specified domain's primary 
> + * console tty path and stores it in path. Caller is responsible for freeing
> + * the memory.
> + */
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
>  
>  /* May be called with info_r == NULL to check for domain's existance */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:03:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJG6-0003rN-RI; Tue, 29 May 2012 10:02:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZJG5-0003rI-6m
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:02:33 +0000
Received: from [85.158.139.83:23004] by server-5.bemta-5.messagelabs.com id
	7C/80-16141-8BE94CF4; Tue, 29 May 2012 10:02:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338285750!30810087!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30497 invoked from network); 29 May 2012 10:02:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:02:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12707689"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:02:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZJG1-0002VG-WF; Tue, 29 May 2012 10:02:30 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZJG1-0003ry-T9;
	Tue, 29 May 2012 11:02:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.40629.863397.251080@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 11:02:29 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337767872.30233.20.camel@zakaz.uk.xensource.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] libxl: cannot start guest"):
> From: Christoph Egger <Christoph.Egger@amd.com>
> Date: Tue, 22 May 2012 17:32:21 +0200
> Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
> 
> Fix pointer checks introduced in changeset 24757:aae516b78fce.
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:03:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJG6-0003rN-RI; Tue, 29 May 2012 10:02:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZJG5-0003rI-6m
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:02:33 +0000
Received: from [85.158.139.83:23004] by server-5.bemta-5.messagelabs.com id
	7C/80-16141-8BE94CF4; Tue, 29 May 2012 10:02:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338285750!30810087!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30497 invoked from network); 29 May 2012 10:02:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:02:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12707689"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:02:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZJG1-0002VG-WF; Tue, 29 May 2012 10:02:30 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZJG1-0003ry-T9;
	Tue, 29 May 2012 11:02:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.40629.863397.251080@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 11:02:29 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1337767872.30233.20.camel@zakaz.uk.xensource.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com> <4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>
	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] libxl: cannot start guest"):
> From: Christoph Egger <Christoph.Egger@amd.com>
> Date: Tue, 22 May 2012 17:32:21 +0200
> Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
> 
> Fix pointer checks introduced in changeset 24757:aae516b78fce.
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:11:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJNq-0004SO-2a; Tue, 29 May 2012 10:10:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZJNn-0004S8-PO
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:10:31 +0000
Received: from [85.158.143.35:24724] by server-1.bemta-4.messagelabs.com id
	A3/8D-00342-690A4CF4; Tue, 29 May 2012 10:10:30 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338286228!6425775!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27815 invoked from network); 29 May 2012 10:10:29 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 10:10:29 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 11:10:28 +0100
Message-Id: <4FC4BCB002000078000868E0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 11:10:24 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338283962.14158.86.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
>> 
>> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
>> wrote:
>> > tools, blockers:
>> 
>> Adjustments needed for qdisk backend to work on non-pvops Linux.
> 
> Can you remind me what those are please.

"qemu/xendisk: set maximum number of grants to be used"
(http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).

Unfortunately I didn't hear back from Olaf regarding the updated
value that the supposed v2 of the patch (see the thread), which
is at least partly due to him having further problems with the qdisk
backend. Olaf - did you ever see gntdev allocation failures again
after switching to the higher value?

> Do they touch libxl or libxc?

The libxc touching one went in already (25330:49ce39c88aee).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:11:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJNq-0004SO-2a; Tue, 29 May 2012 10:10:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZJNn-0004S8-PO
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:10:31 +0000
Received: from [85.158.143.35:24724] by server-1.bemta-4.messagelabs.com id
	A3/8D-00342-690A4CF4; Tue, 29 May 2012 10:10:30 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338286228!6425775!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27815 invoked from network); 29 May 2012 10:10:29 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 10:10:29 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 11:10:28 +0100
Message-Id: <4FC4BCB002000078000868E0@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 11:10:24 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338283962.14158.86.camel@zakaz.uk.xensource.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
>> 
>> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
>> wrote:
>> > tools, blockers:
>> 
>> Adjustments needed for qdisk backend to work on non-pvops Linux.
> 
> Can you remind me what those are please.

"qemu/xendisk: set maximum number of grants to be used"
(http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).

Unfortunately I didn't hear back from Olaf regarding the updated
value that the supposed v2 of the patch (see the thread), which
is at least partly due to him having further problems with the qdisk
backend. Olaf - did you ever see gntdev allocation failures again
after switching to the higher value?

> Do they touch libxl or libxc?

The libxc touching one went in already (25330:49ce39c88aee).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:13:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:13:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJQQ-0004eP-Sc; Tue, 29 May 2012 10:13:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJQP-0004eG-ML
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:13:13 +0000
Received: from [193.109.254.147:58533] by server-2.bemta-14.messagelabs.com id
	F6/2C-12884-831A4CF4; Tue, 29 May 2012 10:13:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338286392!11834040!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22444 invoked from network); 29 May 2012 10:13:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:13:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12707982"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:13:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:13:12 +0100
Message-ID: <1338286390.14158.106.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 11:13:10 +0100
In-Reply-To: <20420.40629.863397.251080@mariner.uk.xensource.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com>	<4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
	<20420.40629.863397.251080@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 11:02 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] libxl: cannot start guest"):
> > From: Christoph Egger <Christoph.Egger@amd.com>
> > Date: Tue, 22 May 2012 17:32:21 +0200
> > Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
> > 
> > Fix pointer checks introduced in changeset 24757:aae516b78fce.
> > 
> > Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Committed, thanks.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:13:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:13:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJQQ-0004eP-Sc; Tue, 29 May 2012 10:13:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJQP-0004eG-ML
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:13:13 +0000
Received: from [193.109.254.147:58533] by server-2.bemta-14.messagelabs.com id
	F6/2C-12884-831A4CF4; Tue, 29 May 2012 10:13:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338286392!11834040!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22444 invoked from network); 29 May 2012 10:13:12 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:13:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12707982"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:13:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:13:12 +0100
Message-ID: <1338286390.14158.106.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 11:13:10 +0100
In-Reply-To: <20420.40629.863397.251080@mariner.uk.xensource.com>
References: <4FB64BDC.6010801@amd.com>
	<1337347821.22316.122.camel@zakaz.uk.xensource.com>
	<4FB65B61.7000902@amd.com>	<4FB66FED.5080704@amd.com>
	<1337356698.22316.138.camel@zakaz.uk.xensource.com>
	<4FBA185A.3080306@amd.com>
	<1337602541.24660.105.camel@zakaz.uk.xensource.com>
	<4FBA3EC8.3060104@amd.com>
	<1337608191.24660.138.camel@zakaz.uk.xensource.com>
	<4FBA62F7.9080308@gmx.de>
	<1337615835.24660.169.camel@zakaz.uk.xensource.com>
	<4FBB882B.1020902@amd.com>
	<1337691225.10118.114.camel@zakaz.uk.xensource.com>	<4FBB9228.70001@gmx.de>
	<1337692887.10118.127.camel@zakaz.uk.xensource.com>
	<4FBB9C9F.4090401@amd.com>
	<1337696422.10118.134.camel@zakaz.uk.xensource.com>
	<4FBBADC2.7000904@amd.com>
	<1337700078.10118.141.camel@zakaz.uk.xensource.com>
	<4FBBB185.8030005@amd.com>
	<1337767872.30233.20.camel@zakaz.uk.xensource.com>
	<20420.40629.863397.251080@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] libxl: cannot start guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 11:02 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] libxl: cannot start guest"):
> > From: Christoph Egger <Christoph.Egger@amd.com>
> > Date: Tue, 22 May 2012 17:32:21 +0200
> > Subject: [PATCH] xenstore: fix crash on platforms with no gntdev driver implementation.
> > 
> > Fix pointer checks introduced in changeset 24757:aae516b78fce.
> > 
> > Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Committed, thanks.




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:16:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:16:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJTP-0004sF-Fk; Tue, 29 May 2012 10:16:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZJTN-0004s1-Jk
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:16:17 +0000
Received: from [85.158.143.35:64132] by server-3.bemta-4.messagelabs.com id
	03/F0-05853-0F1A4CF4; Tue, 29 May 2012 10:16:16 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338286570!14577945!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13540 invoked from network); 29 May 2012 10:16:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:16:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708062"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:16:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:16:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZJTG-0002Zl-6t; Tue, 29 May 2012 10:16:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZJTG-0003sy-5x;
	Tue, 29 May 2012 11:16:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.41450.150760.879512@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 11:16:10 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
In-Reply-To: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
References: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("[PATCH] [v2] libxl: Add API to retrieve domain console tty"):
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

It's looking pretty good.

> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
> @@ -1188,7 +1188,8 @@ out:
...
> -int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
...
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    if (tty) 
> +        *path = strdup(tty);
> +    else
> +        rc = ERROR_FAIL;

Firstly, you need to log something on error here or this function will
fail without logging anything if the console is broken.

Secondly, you should use
    libxl__strdup(0, tty)
to get the right error behaviour (if strdup's malloc fails).  Ie,

Thirdly, this is a rather odd error handling pattern.  I would write
       tty = libxl__xs_read(gc, XBT_NULL, tty_path);
       if (!tty) {
           LOGE(ERROR,"unable to read console tty path `%s'",tty_path);
           rc = ERROR_FAIL;
           goto out;
       }
leaving the main flow to carry on:
       *path = libxl__strdup(0, tty);
       rc = 0;

Fourthly, you can then leave rc uninitialised at the top of the
function.  Any path which as a result gets to the exit with it
uninitialised will produce a compiler warning which would previously
have been erroneously suppressed.

> +static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 
> +                                       uint32_t *domid_out, int *cons_num_out, 
> +                                       libxl_console_type *type_out)
>  {
...
>              break;
>          case -1:
> -            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
> +            LOG(ERROR,"unable to get domain type for domid=%"PRIu32, domid_vm);

Unrelated whitespace change.

> +int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +{
> +    uint32_t domid_out;
> +    int cons_num_out;
> +    libxl_console_type type_out;

As Ian C says, these shouldn't be called "*_out".

> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.h	Wed May 23 14:27:57 2012 +0800
> @@ -601,6 +601,16 @@ int libxl_console_exec(libxl_ctx *ctx, u
>   * case of HVM guests, and before libxl_run_bootloader in case of PV
>   * guests using pygrub. */
>  int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> +/* libxl_console_get_tty retrieves the specified domain's console tty path
> + * and stores it in path. Caller is responsible for freeing the memory.
> + */
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path);
> +/* libxl_primary_console_get_tty retrieves the specified domain's primary 
> + * console tty path and stores it in path. Caller is responsible for freeing
> + * the memory.
> + */
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
>  
>  /* May be called with info_r == NULL to check for domain's existance */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,

A formatting nit: I think if we're going to have multi-line comments
associated with functions we should have a blank line either side of
the information about the function to visually associate the comment
with the right function.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:16:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:16:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJTP-0004sF-Fk; Tue, 29 May 2012 10:16:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZJTN-0004s1-Jk
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:16:17 +0000
Received: from [85.158.143.35:64132] by server-3.bemta-4.messagelabs.com id
	03/F0-05853-0F1A4CF4; Tue, 29 May 2012 10:16:16 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338286570!14577945!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13540 invoked from network); 29 May 2012 10:16:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:16:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708062"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:16:10 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:16:10 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZJTG-0002Zl-6t; Tue, 29 May 2012 10:16:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZJTG-0003sy-5x;
	Tue, 29 May 2012 11:16:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.41450.150760.879512@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 11:16:10 +0100
To: Bamvor Jian Zhang <bjzhang@suse.com>
In-Reply-To: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
References: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Bamvor Jian Zhang writes ("[PATCH] [v2] libxl: Add API to retrieve domain console tty"):
> This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.

It's looking pretty good.

> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
> @@ -1188,7 +1188,8 @@ out:
...
> -int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path)
> +{
...
> +    tty = libxl__xs_read(gc, XBT_NULL, tty_path);
> +    if (tty) 
> +        *path = strdup(tty);
> +    else
> +        rc = ERROR_FAIL;

Firstly, you need to log something on error here or this function will
fail without logging anything if the console is broken.

Secondly, you should use
    libxl__strdup(0, tty)
to get the right error behaviour (if strdup's malloc fails).  Ie,

Thirdly, this is a rather odd error handling pattern.  I would write
       tty = libxl__xs_read(gc, XBT_NULL, tty_path);
       if (!tty) {
           LOGE(ERROR,"unable to read console tty path `%s'",tty_path);
           rc = ERROR_FAIL;
           goto out;
       }
leaving the main flow to carry on:
       *path = libxl__strdup(0, tty);
       rc = 0;

Fourthly, you can then leave rc uninitialised at the top of the
function.  Any path which as a result gets to the exit with it
uninitialised will produce a compiler warning which would previously
have been erroneously suppressed.

> +static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 
> +                                       uint32_t *domid_out, int *cons_num_out, 
> +                                       libxl_console_type *type_out)
>  {
...
>              break;
>          case -1:
> -            LOG(ERROR,"unable to get domain type for domid=%"PRIu32,domid_vm);
> +            LOG(ERROR,"unable to get domain type for domid=%"PRIu32, domid_vm);

Unrelated whitespace change.

> +int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> +{
> +    uint32_t domid_out;
> +    int cons_num_out;
> +    libxl_console_type type_out;

As Ian C says, these shouldn't be called "*_out".

> diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 22 11:55:02 2012 +0100
> +++ b/tools/libxl/libxl.h	Wed May 23 14:27:57 2012 +0800
> @@ -601,6 +601,16 @@ int libxl_console_exec(libxl_ctx *ctx, u
>   * case of HVM guests, and before libxl_run_bootloader in case of PV
>   * guests using pygrub. */
>  int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm);
> +/* libxl_console_get_tty retrieves the specified domain's console tty path
> + * and stores it in path. Caller is responsible for freeing the memory.
> + */
> +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> +                          libxl_console_type type, char **path);
> +/* libxl_primary_console_get_tty retrieves the specified domain's primary 
> + * console tty path and stores it in path. Caller is responsible for freeing
> + * the memory.
> + */
> +int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
>  
>  /* May be called with info_r == NULL to check for domain's existance */
>  int libxl_domain_info(libxl_ctx*, libxl_dominfo *info_r,

A formatting nit: I think if we're going to have multi-line comments
associated with functions we should have a blank line either side of
the information about the function to visually associate the comment
with the right function.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:22:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJYn-00058O-8e; Tue, 29 May 2012 10:21:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZJYl-00058I-FR
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:21:51 +0000
Received: from [85.158.139.83:10876] by server-10.bemta-5.messagelabs.com id
	FE/6F-22179-E33A4CF4; Tue, 29 May 2012 10:21:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338286909!30930498!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14505 invoked from network); 29 May 2012 10:21:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:21:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708231"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:21:49 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:21:49 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZJYj-0002bo-CK; Tue, 29 May 2012 10:21:49 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZJYj-0003tb-BH;
	Tue, 29 May 2012 11:21:49 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.41789.295908.954606@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 11:21:49 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338285272.14158.101.camel@zakaz.uk.xensource.com>
References: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
	<1338285272.14158.101.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Bamvor Jian Zhang <bjzhang@suse.com>
Subject: Re: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH] [v2] libxl: Add API to retrieve domain console tty"):
> On Wed, 2012-05-23 at 07:35 +0100, Bamvor Jian Zhang wrote:
> > This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.
> > 
> > Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> > 
> > Changes since v1:
> >  * Replace function libxl__sprintf with macro GSPRINTF
> >  * check return value and handle error for libxl__xs_read and libxl__domain_type
> >  * merge common code for libxl_primary_console_get_tty and
> >    libxl_primary_console_exec as libxl__primary_console_find
> >  * Reformat code to be less than 80 characters.
> > 
> > diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
> > --- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
> > +++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
> > @@ -1188,7 +1188,8 @@ out:
...
> > -int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> > +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> > +                          libxl_console_type type, char **path)
> > +{
...
> > +    switch (type) {
> > +    case LIBXL_CONSOLE_TYPE_SERIAL:
...
> > +    default:
> > +        rc = ERROR_FAIL;
> 
> Strictly this ought to be ERROR_INVAL.

Yes.

> > +static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 
> 
> Generally since this is an internal function it should take a libxl__gc
> *gc not a ctx and drop the GC_INIT and GC_FREE. You can use the CTX
> macro to get a ctx where you need one.

I think this is fine.  In fact in the future we might want to make
this a public function (but not now).

> However since the two callers are thinish wrappers around this and you'd
> then need the GC_INIT, GC_FREE stuff there I'm inclined to suggest we
> make an exception here and leave it as is, Ian J what do you think?

I think there is no rule against internal functions taking ctx.  gc is
more conventional but here I think the balance of convenience is in
favour of what Bamvor has done.

Particularly since the outer two functions are so simple.

> There isn't much here which warrants a resend IMHO, if Ian J is happy
> with the libxl__primary_console_find interface (as discussed above) I'd
> be inclined to take it as is unless you really want to do a respin.

I think my comment about the log message ought to be addressed with a
resend.

The nits could have been fixed in-tree at our leisure but if we're
going to have a resend it would be best to address them all.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:22:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJYn-00058O-8e; Tue, 29 May 2012 10:21:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZJYl-00058I-FR
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:21:51 +0000
Received: from [85.158.139.83:10876] by server-10.bemta-5.messagelabs.com id
	FE/6F-22179-E33A4CF4; Tue, 29 May 2012 10:21:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338286909!30930498!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14505 invoked from network); 29 May 2012 10:21:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:21:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708231"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:21:49 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:21:49 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZJYj-0002bo-CK; Tue, 29 May 2012 10:21:49 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZJYj-0003tb-BH;
	Tue, 29 May 2012 11:21:49 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.41789.295908.954606@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 11:21:49 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338285272.14158.101.camel@zakaz.uk.xensource.com>
References: <d67ab7c543d5a16bfa5f.1337754920@linux-x12>
	<1338285272.14158.101.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "jfehlig@suse.com" <jfehlig@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Bamvor Jian Zhang <bjzhang@suse.com>
Subject: Re: [Xen-devel] [PATCH] [v2] libxl: Add API to retrieve domain
	console tty
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH] [v2] libxl: Add API to retrieve domain console tty"):
> On Wed, 2012-05-23 at 07:35 +0100, Bamvor Jian Zhang wrote:
> > This api retrieve domain console from xenstore. With this new api, it is easy to implement "virsh console" command in libvirt libxl driver.
> > 
> > Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
> > 
> > Changes since v1:
> >  * Replace function libxl__sprintf with macro GSPRINTF
> >  * check return value and handle error for libxl__xs_read and libxl__domain_type
> >  * merge common code for libxl_primary_console_get_tty and
> >    libxl_primary_console_exec as libxl__primary_console_find
> >  * Reformat code to be less than 80 characters.
> > 
> > diff -r ab86fc0e2b45 -r d67ab7c543d5 tools/libxl/libxl.c
> > --- a/tools/libxl/libxl.c	Tue May 22 11:55:02 2012 +0100
> > +++ b/tools/libxl/libxl.c	Wed May 23 14:27:57 2012 +0800
> > @@ -1188,7 +1188,8 @@ out:
...
> > -int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm)
> > +int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, 
> > +                          libxl_console_type type, char **path)
> > +{
...
> > +    switch (type) {
> > +    case LIBXL_CONSOLE_TYPE_SERIAL:
...
> > +    default:
> > +        rc = ERROR_FAIL;
> 
> Strictly this ought to be ERROR_INVAL.

Yes.

> > +static int libxl__primary_console_find(libxl_ctx *ctx, uint32_t domid_vm, 
> 
> Generally since this is an internal function it should take a libxl__gc
> *gc not a ctx and drop the GC_INIT and GC_FREE. You can use the CTX
> macro to get a ctx where you need one.

I think this is fine.  In fact in the future we might want to make
this a public function (but not now).

> However since the two callers are thinish wrappers around this and you'd
> then need the GC_INIT, GC_FREE stuff there I'm inclined to suggest we
> make an exception here and leave it as is, Ian J what do you think?

I think there is no rule against internal functions taking ctx.  gc is
more conventional but here I think the balance of convenience is in
favour of what Bamvor has done.

Particularly since the outer two functions are so simple.

> There isn't much here which warrants a resend IMHO, if Ian J is happy
> with the libxl__primary_console_find interface (as discussed above) I'd
> be inclined to take it as is unless you really want to do a respin.

I think my comment about the log message ought to be addressed with a
resend.

The nits could have been fixed in-tree at our leisure but if we're
going to have a resend it would be best to address them all.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:26:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJd6-0005H0-7e; Tue, 29 May 2012 10:26:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJd5-0005Gv-8T
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:26:19 +0000
Received: from [193.109.254.147:40422] by server-2.bemta-14.messagelabs.com id
	5F/C9-12884-A44A4CF4; Tue, 29 May 2012 10:26:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338287177!11411413!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2800 invoked from network); 29 May 2012 10:26:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:26:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708342"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:26:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:26:14 +0100
Message-ID: <1338287172.14158.107.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 11:26:12 +0100
In-Reply-To: <1338197394.14158.40.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
	<alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
	<1338197394.14158.40.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 10:29 +0100, Ian Campbell wrote:
> On Fri, 2012-05-25 at 14:30 +0100, Stefano Stabellini wrote:
> > This patch series was sent out two months ago and all the patches in the
> > series have been acked twice.
> > However it was never applied.
> 
> I think Ian J and I both thought the other was going to do it :-(
> 
> > What should I do about it?
> 
> Earlier on in the freeze I think we could have argued for an exception,
> but at this point I think that is tough hard call to make, especially
> since this touches non-arm code (even if mostly code motion or
> whatever).

I spoke to Ian J yesterday and he was of the opinion that ARM patches
which are purely code motion from the X86 PoV would still be ok. I'm
happy to go with this.

Likewise I'm happy to continue to take patches to files which are only
compiled on ARM.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:26:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJd6-0005H0-7e; Tue, 29 May 2012 10:26:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJd5-0005Gv-8T
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:26:19 +0000
Received: from [193.109.254.147:40422] by server-2.bemta-14.messagelabs.com id
	5F/C9-12884-A44A4CF4; Tue, 29 May 2012 10:26:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338287177!11411413!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2800 invoked from network); 29 May 2012 10:26:18 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:26:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708342"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:26:15 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:26:14 +0100
Message-ID: <1338287172.14158.107.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 11:26:12 +0100
In-Reply-To: <1338197394.14158.40.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1203021611510.923@kaball-desktop>
	<alpine.DEB.2.00.1205251429100.26786@kaball-desktop>
	<1338197394.14158.40.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v6 0/5] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, 2012-05-28 at 10:29 +0100, Ian Campbell wrote:
> On Fri, 2012-05-25 at 14:30 +0100, Stefano Stabellini wrote:
> > This patch series was sent out two months ago and all the patches in the
> > series have been acked twice.
> > However it was never applied.
> 
> I think Ian J and I both thought the other was going to do it :-(
> 
> > What should I do about it?
> 
> Earlier on in the freeze I think we could have argued for an exception,
> but at this point I think that is tough hard call to make, especially
> since this touches non-arm code (even if mostly code motion or
> whatever).

I spoke to Ian J yesterday and he was of the opinion that ARM patches
which are purely code motion from the X86 PoV would still be ok. I'm
happy to go with this.

Likewise I'm happy to continue to take patches to files which are only
compiled on ARM.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:38:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:38:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJp5-0005Tk-Fu; Tue, 29 May 2012 10:38:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJp3-0005Tf-Jv
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:38:41 +0000
Received: from [85.158.139.83:15985] by server-11.bemta-5.messagelabs.com id
	7A/E7-12711-037A4CF4; Tue, 29 May 2012 10:38:40 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338287919!26944363!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24347 invoked from network); 29 May 2012 10:38:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:38:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708694"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:38:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:38:35 +0100
Date: Tue, 29 May 2012 11:38:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.


Changes in v8:
- keep libxl__device_disk_local_attach/detach in libxl.c;
- free pdev_path and script in local_detach;
- use libxl__strdup instead of strdup.


Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk;
- keep libxl__device_from_disk in libxl.c;
- implement libxl__device_disk_add in libxl.c;
- remove the upper bound in libxl__devid_to_localdev and document why.


Changes in v6:
- rebase on "nstore: rename public xenstore headers";
- new patch: "libxl_string_to_backend: add qdisk";
- new patch: "main_blockdetach: destroy the disk on successful removal";
- split "libxl: introduce libxl__device_disk_add" in two patches;
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs;
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start; 
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF;
- introduce ret for xs_* error codes.


Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.


Stefano Stabellini (11):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: export libxl__device_from_disk
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
      libxl_string_to_backend: add qdisk
      main_blockdetach: destroy the disk on successful removal
 
 docs/man/xl.conf.pod.5                          |    6 +
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  163 ++++++++++++++++++-----
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |    5 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 ++-
 tools/libxl/libxl_internal.h                    |   32 ++++-
 tools/libxl/libxl_linux.c                       |   52 +++++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/libxl_utils.c                       |    2 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    5 +-
 18 files changed, 264 insertions(+), 50 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:38:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:38:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJp5-0005Tk-Fu; Tue, 29 May 2012 10:38:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJp3-0005Tf-Jv
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:38:41 +0000
Received: from [85.158.139.83:15985] by server-11.bemta-5.messagelabs.com id
	7A/E7-12711-037A4CF4; Tue, 29 May 2012 10:38:40 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338287919!26944363!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24347 invoked from network); 29 May 2012 10:38:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:38:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708694"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:38:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 11:38:35 +0100
Date: Tue, 29 May 2012 11:38:30 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch implements local_attach support for QDISK: that means that
you can use qcow2 as disk format for your PV guests disks and use
pygrub to retrieve the kernel and initrd in dom0.

The idea is that we start a QEMU instance at boot time to listen to
local_attach requests. When libxl_device_disk_local_attach is called on
a QDISK images, libxl sets up a backend/frontend pair in dom0 for the disk
so that blkfront in dom0 will create a new xvd device for it.
Then pygrub can be pointed at this device to retrieve kernel and
initrd.


Changes in v8:
- keep libxl__device_disk_local_attach/detach in libxl.c;
- free pdev_path and script in local_detach;
- use libxl__strdup instead of strdup.


Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk;
- keep libxl__device_from_disk in libxl.c;
- implement libxl__device_disk_add in libxl.c;
- remove the upper bound in libxl__devid_to_localdev and document why.


Changes in v6:
- rebase on "nstore: rename public xenstore headers";
- new patch: "libxl_string_to_backend: add qdisk";
- new patch: "main_blockdetach: destroy the disk on successful removal";
- split "libxl: introduce libxl__device_disk_add" in two patches;
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs;
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start; 
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF;
- introduce ret for xs_* error codes.


Changes in v5:
- remove _hidden from the libxl_device_disk_local_attach/detach
  implementation;
- libxl__device_disk_local_attach: rename disk to in_disk;
- libxl__device_disk_local_attach: rename tmpdisk to disk;
- libxl__device_disk_local_attach: copy disk to new_disk only on success;
- libxl__device_disk_local_attach: remove check on libxl__zalloc success.
- rename libxl__device_generic_add_t to libxl__device_generic_add;
- change the type of the blkdev_start parameter to
  libxl__device_disk_local_attach to const char *;
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev;
- libxl__device_disk_local_attach: replace LIBXL__LOG with LOG;
- libxl__device_disk_local_attach: unify error paths.


Changes in v4:
- split the first patch into 2 patches: the first is a simple move, the
  second one adds a new parameter;
- libxl__device_generic_add: do not end the transaction is the caller
  provided it;
- libxl__device_generic_add: fix success exit path;
- pass blkdev_start in libxl_domain_build_info;
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- improve error handling and exit paths in libxl__alloc_vdev and
  libxl__device_disk_local_attach.


Changes in v3:
- libxl__device_disk_local_attach: wait for the backend to be
"connected" before returning.


Changes in v2:
- make libxl_device_disk_local_(de)attach internal functions;
- allocate the new disk in libxl_device_disk_local_attatch on the GC;
- remove libxl__device_generic_add_t, add a transaction parameter to
libxl__device_generic_add instead;
- add a new patch to introduce a blkdev_start option to xl.conf;
- reimplement libxl__alloc_vdev checking for the frontend path and
starting from blkdev_start;
- introduce a Linux specific libxl__devid_to_vdev function based on last
Jan's patch to blkfront.


Stefano Stabellini (11):
      libxl: make libxl_device_disk_local_attach/detach internal functions
      libxl: libxl__device_disk_local_attach return a new libxl_device_disk
      libxl: add a transaction parameter to libxl__device_generic_add
      libxl: export libxl__device_from_disk
      libxl: introduce libxl__device_disk_add
      xl/libxl: add a blkdev_start parameter
      libxl: introduce libxl__alloc_vdev
      xl/libxl: implement QDISK libxl_device_disk_local_attach
      libxl__device_disk_local_attach: wait for state "connected"
      libxl_string_to_backend: add qdisk
      main_blockdetach: destroy the disk on successful removal
 
 docs/man/xl.conf.pod.5                          |    6 +
 tools/examples/xl.conf                          |    3 +
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |  163 ++++++++++++++++++-----
 tools/libxl/libxl.h                             |    7 -
 tools/libxl/libxl_bootloader.c                  |    5 +-
 tools/libxl/libxl_create.c                      |    3 +
 tools/libxl/libxl_device.c                      |   17 ++-
 tools/libxl/libxl_internal.h                    |   32 ++++-
 tools/libxl/libxl_linux.c                       |   52 +++++++
 tools/libxl/libxl_netbsd.c                      |    6 +
 tools/libxl/libxl_pci.c                         |    2 +-
 tools/libxl/libxl_types.idl                     |    1 +
 tools/libxl/libxl_utils.c                       |    2 +
 tools/libxl/xl.c                                |    3 +
 tools/libxl/xl.h                                |    1 +
 tools/libxl/xl_cmdimpl.c                        |    5 +-
 18 files changed, 264 insertions(+), 50 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJp7-0005Tz-S2; Tue, 29 May 2012 10:38:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJp7-0005Tt-6n
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:38:45 +0000
Received: from [85.158.143.99:3233] by server-2.bemta-4.messagelabs.com id
	DD/94-12211-437A4CF4; Tue, 29 May 2012 10:38:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338287917!26922361!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 514 invoked from network); 29 May 2012 10:38:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:38:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708695"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:38:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:38:36 +0100
Message-ID: <1338287915.14158.109.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 29 May 2012 11:38:35 +0100
In-Reply-To: <23fd2eb129fde750e16a.1337939069@Solace>
References: <23fd2eb129fde750e16a.1337939069@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: introduce libxl_vcpuinfo_list_free
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 10:44 +0100, Dario Faggioli wrote:
> And fix a leak due to it being missing.
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

Applied, thanks.

> 
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -797,6 +797,7 @@ libxl_cputopology *libxl_get_cpu_topolog
>  void libxl_cputopology_list_free(libxl_cputopology *, int nr);
>  libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
>                                         int *nb_vcpu, int *nrcpus);
> +void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr);
>  int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
>                             libxl_cpumap *cpumap);
>  int libxl_set_vcpuaffinity_all(libxl_ctx *ctx, uint32_t domid,
> diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -558,6 +558,14 @@ void libxl_cputopology_list_free(libxl_c
>      free(list);
>  }
>  
> +void libxl_vcpuinfo_list_free(libxl_vcpuinfo *list, int nr)
> +{
> +    int i;
> +    for (i = 0; i < nr; i++)
> +        libxl_vcpuinfo_dispose(&list[i]);
> +    free(list);
> +}
> +
>  int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
>                         const void *data, size_t datalen,
>                         int nfds, const int fds[], const char *what) {
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -3972,10 +3972,9 @@ static void print_domain_vcpuinfo(uint32
>  
>      for (i = 0; i < nb_vcpu; i++) {
>          print_vcpuinfo(domid, &vcpuinfo[i], nr_cpus);
> -        libxl_vcpuinfo_dispose(&vcpuinfo[i]);
> -    }
> -
> -    free(vcpuinfo);
> +    }
> +
> +    libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
>  }
>  
>  static void vcpulist(int argc, char **argv)
> @@ -4063,11 +4062,14 @@ static void vcpupin(const char *d, const
>              fprintf(stderr, "libxl_list_vcpu failed.\n");
>              goto vcpupin_out1;
>          }
> -        for (; nb_vcpu > 0; --nb_vcpu, ++vcpuinfo) {
> -            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo->vcpuid, &cpumap) == -1) {
> -                fprintf(stderr, "libxl_set_vcpuaffinity failed on vcpu `%u'.\n", vcpuinfo->vcpuid);
> +        for (i = 0; i < nb_vcpu; i++) {
> +            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo[i].vcpuid,
> +                                       &cpumap) == -1) {
> +                fprintf(stderr, "libxl_set_vcpuaffinity failed"
> +                                " on vcpu `%u'.\n", vcpuinfo[i].vcpuid);
>              }
>          }
> +        libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
>      }
>    vcpupin_out1:
>      libxl_cpumap_dispose(&cpumap);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJp7-0005Tz-S2; Tue, 29 May 2012 10:38:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZJp7-0005Tt-6n
	for xen-devel@lists.xen.org; Tue, 29 May 2012 10:38:45 +0000
Received: from [85.158.143.99:3233] by server-2.bemta-4.messagelabs.com id
	DD/94-12211-437A4CF4; Tue, 29 May 2012 10:38:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338287917!26922361!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 514 invoked from network); 29 May 2012 10:38:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:38:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12708695"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:38:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:38:36 +0100
Message-ID: <1338287915.14158.109.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Tue, 29 May 2012 11:38:35 +0100
In-Reply-To: <23fd2eb129fde750e16a.1337939069@Solace>
References: <23fd2eb129fde750e16a.1337939069@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: introduce libxl_vcpuinfo_list_free
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, 2012-05-25 at 10:44 +0100, Dario Faggioli wrote:
> And fix a leak due to it being missing.
> 
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

Applied, thanks.

> 
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -797,6 +797,7 @@ libxl_cputopology *libxl_get_cpu_topolog
>  void libxl_cputopology_list_free(libxl_cputopology *, int nr);
>  libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
>                                         int *nb_vcpu, int *nrcpus);
> +void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr);
>  int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
>                             libxl_cpumap *cpumap);
>  int libxl_set_vcpuaffinity_all(libxl_ctx *ctx, uint32_t domid,
> diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -558,6 +558,14 @@ void libxl_cputopology_list_free(libxl_c
>      free(list);
>  }
>  
> +void libxl_vcpuinfo_list_free(libxl_vcpuinfo *list, int nr)
> +{
> +    int i;
> +    for (i = 0; i < nr; i++)
> +        libxl_vcpuinfo_dispose(&list[i]);
> +    free(list);
> +}
> +
>  int libxl__sendmsg_fds(libxl__gc *gc, int carrier,
>                         const void *data, size_t datalen,
>                         int nfds, const int fds[], const char *what) {
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -3972,10 +3972,9 @@ static void print_domain_vcpuinfo(uint32
>  
>      for (i = 0; i < nb_vcpu; i++) {
>          print_vcpuinfo(domid, &vcpuinfo[i], nr_cpus);
> -        libxl_vcpuinfo_dispose(&vcpuinfo[i]);
> -    }
> -
> -    free(vcpuinfo);
> +    }
> +
> +    libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
>  }
>  
>  static void vcpulist(int argc, char **argv)
> @@ -4063,11 +4062,14 @@ static void vcpupin(const char *d, const
>              fprintf(stderr, "libxl_list_vcpu failed.\n");
>              goto vcpupin_out1;
>          }
> -        for (; nb_vcpu > 0; --nb_vcpu, ++vcpuinfo) {
> -            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo->vcpuid, &cpumap) == -1) {
> -                fprintf(stderr, "libxl_set_vcpuaffinity failed on vcpu `%u'.\n", vcpuinfo->vcpuid);
> +        for (i = 0; i < nb_vcpu; i++) {
> +            if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo[i].vcpuid,
> +                                       &cpumap) == -1) {
> +                fprintf(stderr, "libxl_set_vcpuaffinity failed"
> +                                " on vcpu `%u'.\n", vcpuinfo[i].vcpuid);
>              }
>          }
> +        libxl_vcpuinfo_list_free(vcpuinfo, nb_vcpu);
>      }
>    vcpupin_out1:
>      libxl_cpumap_dispose(&cpumap);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpo-0005a0-Qi; Tue, 29 May 2012 10:39:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpm-0005Yy-H2
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:26 +0000
Received: from [85.158.139.83:23165] by server-7.bemta-5.messagelabs.com id
	3F/AB-15932-D57A4CF4; Tue, 29 May 2012 10:39:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338287963!30934701!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17582 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722665"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-IJ; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:09 +0100
Message-ID: <1338287956-24691-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 04/11] libxl: export libxl__device_from_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |    2 +-
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 987086d..eb1ad4f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1327,7 +1327,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 03fba22..32eb09c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1260,6 +1260,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpo-0005a0-Qi; Tue, 29 May 2012 10:39:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpm-0005Yy-H2
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:26 +0000
Received: from [85.158.139.83:23165] by server-7.bemta-5.messagelabs.com id
	3F/AB-15932-D57A4CF4; Tue, 29 May 2012 10:39:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338287963!30934701!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17582 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722665"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-IJ; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:09 +0100
Message-ID: <1338287956-24691-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 04/11] libxl: export libxl__device_from_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |    2 +-
 tools/libxl/libxl_internal.h |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 987086d..eb1ad4f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1327,7 +1327,7 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
     return rc;
 }
 
-static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 03fba22..32eb09c 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1260,6 +1260,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
+                                   libxl_device_disk *disk,
+                                   libxl__device *device);
+
 /*
  * Make a disk available in this (the control) domain. Returns path to
  * a device.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpr-0005bP-Jg; Tue, 29 May 2012 10:39:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpo-0005ZV-9S
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:28 +0000
Received: from [85.158.139.83:45535] by server-11.bemta-5.messagelabs.com id
	8A/7A-12711-F57A4CF4; Tue, 29 May 2012 10:39:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338287965!26634251!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27976 invoked from network); 29 May 2012 10:39:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722668"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-MO; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:12 +0100
Message-ID: <1338287956-24691-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.


Changes in v7:
- remove the upper bound and document why.

Changes in v6:
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |   32 +++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   52 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1a01b24..3cf0d53 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1743,6 +1743,38 @@ out:
     return ret;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        devid = libxl__device_disk_dev_number(GCSPRINTF("d%dp0", disk),
+                NULL, NULL);
+        if (devid < 0)
+            return NULL;
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (1);
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 4be99ca..337ce28 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -78,6 +78,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -915,6 +917,8 @@ static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..0169b2f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,55 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+/* the size of the buffer to store the device name is 32 bytes to match the
+ * equivalent buffer in the Linux kernel code */
+#define BUFFER_SIZE 32
+
+/* Same as in Linux.
+ * encode_disk_name might end up using up to 29 bytes (BUFFER_SIZE - 3)
+ * including the trailing \0.
+ *
+ * The code is safe because 26 raised to the power of 28 (that is the
+ * maximum offset that can be stored in the allocated buffer as a
+ * string) is far greater than UINT_MAX on 64 bits so offset cannot be
+ * big enough to exhaust the available bytes in ret. */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    unsigned int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, BUFFER_SIZE);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        /* overflow cannot happen, thanks to the upper bound */
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpr-0005bP-Jg; Tue, 29 May 2012 10:39:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpo-0005ZV-9S
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:28 +0000
Received: from [85.158.139.83:45535] by server-11.bemta-5.messagelabs.com id
	8A/7A-12711-F57A4CF4; Tue, 29 May 2012 10:39:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338287965!26634251!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27976 invoked from network); 29 May 2012 10:39:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722668"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-MO; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:12 +0100
Message-ID: <1338287956-24691-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 07/11] libxl: introduce libxl__alloc_vdev
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__alloc_vdev: find a spare virtual block device in the
domain passed as argument.


Changes in v7:
- remove the upper bound and document why.

Changes in v6:
- more comments in libxl__devid_to_localdev;
- inline GCSPRINTF.

Changes in v5:
- remove domid paramter to libxl__alloc_vdev (assume
  LIBXL_TOOLSTACK_DOMID);
- remove scaling limit from libxl__alloc_vdev.

Changes in v4:
- rename libxl__devid_to_vdev to libxl__devid_to_localdev;
- introduce upper bound for encode_disk_name;
- better error handling;

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |   32 +++++++++++++++++++++++++
 tools/libxl/libxl_internal.h |    4 +++
 tools/libxl/libxl_linux.c    |   52 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c   |    6 +++++
 4 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 1a01b24..3cf0d53 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1743,6 +1743,38 @@ out:
     return ret;
 }
 
+/* libxl__alloc_vdev only works on the local domain, that is the domain
+ * where the toolstack is running */
+static char * libxl__alloc_vdev(libxl__gc *gc, const char *blkdev_start,
+        xs_transaction_t t)
+{
+    int devid = 0, disk = 0, part = 0;
+    char *dompath = libxl__xs_get_dompath(gc, LIBXL_TOOLSTACK_DOMID);
+
+    libxl__device_disk_dev_number(blkdev_start, &disk, &part);
+    if (part != 0) {
+        LOG(ERROR, "blkdev_start is invalid");
+        return NULL;
+    }
+
+    do {
+        devid = libxl__device_disk_dev_number(GCSPRINTF("d%dp0", disk),
+                NULL, NULL);
+        if (devid < 0)
+            return NULL;
+        if (libxl__xs_read(gc, t,
+                    libxl__sprintf(gc, "%s/device/vbd/%d/backend",
+                        dompath, devid)) == NULL) {
+            if (errno == ENOENT)
+                return libxl__devid_to_localdev(gc, devid);
+            else
+                return NULL;
+        }
+        disk++;
+    } while (1);
+    return NULL;
+}
+
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
         libxl_device_disk *disk,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 4be99ca..337ce28 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -78,6 +78,8 @@
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
+/* use 0 as the domid of the toolstack domain for now */
+#define LIBXL_TOOLSTACK_DOMID 0
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
 #define STUBDOM_CONSOLE_LOGGING 0
 #define STUBDOM_CONSOLE_SAVE 1
@@ -915,6 +917,8 @@ static inline void libxl__domaindeathcheck_stop(libxl__gc *gc,
 _hidden int libxl__try_phy_backend(mode_t st_mode);
 
 
+_hidden char *libxl__devid_to_localdev(libxl__gc *gc, int devid);
+
 /* from libxl_pci */
 
 _hidden int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting);
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..0169b2f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,55 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+#define EXT_SHIFT 28
+#define EXTENDED (1<<EXT_SHIFT)
+#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
+#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))
+/* the size of the buffer to store the device name is 32 bytes to match the
+ * equivalent buffer in the Linux kernel code */
+#define BUFFER_SIZE 32
+
+/* Same as in Linux.
+ * encode_disk_name might end up using up to 29 bytes (BUFFER_SIZE - 3)
+ * including the trailing \0.
+ *
+ * The code is safe because 26 raised to the power of 28 (that is the
+ * maximum offset that can be stored in the allocated buffer as a
+ * string) is far greater than UINT_MAX on 64 bits so offset cannot be
+ * big enough to exhaust the available bytes in ret. */
+static char *encode_disk_name(char *ptr, unsigned int n)
+{
+    if (n >= 26)
+        ptr = encode_disk_name(ptr, n / 26 - 1);
+    *ptr = 'a' + n % 26;
+    return ptr + 1;
+}
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    unsigned int minor;
+    int offset;
+    int nr_parts;
+    char *ptr = NULL;
+    char *ret = libxl__zalloc(gc, BUFFER_SIZE);
+
+    if (!VDEV_IS_EXTENDED(devid)) {
+        minor = devid & 0xff;
+        nr_parts = 16;
+    } else {
+        minor = BLKIF_MINOR_EXT(devid);
+        nr_parts = 256;
+    }
+    offset = minor / nr_parts;
+
+    strcpy(ret, "xvd");
+    ptr = encode_disk_name(ret + 3, offset);
+    if (minor % nr_parts == 0)
+        *ptr = 0;
+    else
+        /* overflow cannot happen, thanks to the upper bound */
+        snprintf(ptr, ret + 32 - ptr,
+                "%d", minor & (nr_parts - 1));
+    return ret;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..dbf5f71 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,9 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+char *libxl__devid_to_localdev(libxl__gc *gc, int devid)
+{
+    /* TODO */
+    return NULL;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJps-0005c3-EV; Tue, 29 May 2012 10:39:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpr-0005ay-6S
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:31 +0000
Received: from [85.158.143.35:57232] by server-1.bemta-4.messagelabs.com id
	94/05-00342-267A4CF4; Tue, 29 May 2012 10:39:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338287968!17731697!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10953 invoked from network); 29 May 2012 10:39:29 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722675"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:28 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Pm; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:14 +0100
Message-ID: <1338287956-24691-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 09/11] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 223ae40..626abde 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1781,9 +1781,10 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     char *ret = NULL;
     int rc, xs_ret;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
@@ -1863,12 +1864,25 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
- out:
-    if (t != XBT_NULL)
-        xs_transaction_end(ctx->xsh, t, 1);
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
+
+ out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJps-0005c3-EV; Tue, 29 May 2012 10:39:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpr-0005ay-6S
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:31 +0000
Received: from [85.158.143.35:57232] by server-1.bemta-4.messagelabs.com id
	94/05-00342-267A4CF4; Tue, 29 May 2012 10:39:30 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338287968!17731697!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10953 invoked from network); 29 May 2012 10:39:29 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722675"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:28 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Pm; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:14 +0100
Message-ID: <1338287956-24691-9-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 09/11] libxl__device_disk_local_attach: wait
	for state "connected"
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In order to make sure that the block device is available and ready to be
used, wait for state "connected" in the backend before returning.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Changes in v5:
- unify error paths.

Changes in v4:
- improve exit paths.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 223ae40..626abde 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1781,9 +1781,10 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
         const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
-    char *dev = NULL;
+    char *dev = NULL, *be_path = NULL;
     char *ret = NULL;
     int rc, xs_ret;
+    libxl__device device;
     xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
@@ -1863,12 +1864,25 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
     }
 
- out:
-    if (t != XBT_NULL)
-        xs_transaction_end(ctx->xsh, t, 1);
+    if (disk->vdev != NULL) {
+        rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
+        if (rc < 0)
+            goto out;
+        be_path = libxl__device_backend_path(gc, &device);
+        rc = libxl__wait_for_backend(gc, be_path, "4");
+        if (rc < 0)
+            goto out;
+    }
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
+
+ out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
+    else
+        libxl__device_disk_local_detach(gc, disk);
+    return NULL;
 }
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJps-0005bk-1n; Tue, 29 May 2012 10:39:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpo-0005ZU-6j
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:28 +0000
Received: from [193.109.254.147:26569] by server-8.bemta-14.messagelabs.com id
	8C/59-17829-F57A4CF4; Tue, 29 May 2012 10:39:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338287963!11570865!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11876 invoked from network); 29 May 2012 10:39:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032805"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Hn; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:08 +0100
Message-ID: <1338287956-24691-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 03/11] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 762e72a..987086d 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1472,7 +1472,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1957,7 +1957,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2250,7 +2250,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2321,7 +2321,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2454,7 +2454,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..3da60e1 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 21b8b54..03fba22 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -792,8 +792,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index e980995..92764fc 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -103,7 +103,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpq-0005aZ-0j; Tue, 29 May 2012 10:39:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpn-0005ZK-NF
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:28 +0000
Received: from [85.158.139.83:45474] by server-4.bemta-5.messagelabs.com id
	C4/8E-16506-F57A4CF4; Tue, 29 May 2012 10:39:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338287963!30934701!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17643 invoked from network); 29 May 2012 10:39:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722667"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Gi; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:06 +0100
Message-ID: <1338287956-24691-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 01/11] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v8:
- keep libxl__device_disk_local_attach/detach in libxl.c.

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c            |   11 +++--------
 tools/libxl/libxl.h            |    7 -------
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_internal.h   |    9 +++++++++
 4 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index e3d05c2..cd870c4 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,9 +1735,9 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    GC_INIT(ctx);
+    libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
@@ -1792,11 +1792,10 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
  out:
     if (dev != NULL)
         ret = strdup(dev);
-    GC_FREE;
     return ret;
 }
 
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
     /* Nothing to do for PHYSTYPE_PHY. */
 
@@ -1804,10 +1803,6 @@ int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
      * For other device types assume that the blktap2 process is
      * needed by the soon to be started domain and do nothing.
      */
-    /*
-     * FIXME
-     * This appears to leak the disk in failure paths
-     */
 
     return 0;
 }
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 316d290..21e6510 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -686,13 +686,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index f3a590b..e8950b1 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl_device_disk_local_detach(CTX, bl->disk);
+        libxl__device_disk_local_detach(gc, bl->disk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 52f5435..d34e561 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1260,6 +1260,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJps-0005bk-1n; Tue, 29 May 2012 10:39:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpo-0005ZU-6j
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:28 +0000
Received: from [193.109.254.147:26569] by server-8.bemta-14.messagelabs.com id
	8C/59-17829-F57A4CF4; Tue, 29 May 2012 10:39:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338287963!11570865!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11876 invoked from network); 29 May 2012 10:39:26 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032805"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Hn; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:08 +0100
Message-ID: <1338287956-24691-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 03/11] libxl: add a transaction parameter to
	libxl__device_generic_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a xs_transaction_t parameter to libxl__device_generic_add, if it is
XBT_NULL, allocate a proper one.

Update all the callers.

This patch contains a large number of unchecked xenstore operations, we
might want to fix this in the future.

Changes in v4:
- libxl__device_generic_add: do not end the transaction is the caller
provided it;
- libxl__device_generic_add: fix success exit path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl.c          |   10 +++++-----
 tools/libxl/libxl_device.c   |   17 +++++++++++------
 tools/libxl/libxl_internal.h |    4 ++--
 tools/libxl/libxl_pci.c      |    2 +-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 762e72a..987086d 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1472,7 +1472,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1957,7 +1957,7 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -2250,7 +2250,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2321,7 +2321,7 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb)
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
@@ -2454,7 +2454,7 @@ int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb)
                           libxl__sprintf(gc, "%d", vfb->backend_domid));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
     rc = 0;
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..3da60e1 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,14 +58,14 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
-int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents)
+int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char *frontend_path, *backend_path;
-    xs_transaction_t t;
     struct xs_permissions frontend_perms[2];
     struct xs_permissions backend_perms[2];
+    int create_transaction = t == XBT_NULL;
 
     frontend_path = libxl__device_frontend_path(gc, device);
     backend_path = libxl__device_backend_path(gc, device);
@@ -81,7 +81,8 @@ int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
     backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    t = xs_transaction_start(ctx->xsh);
+    if (create_transaction)
+        t = xs_transaction_start(ctx->xsh);
     /* FIXME: read frontend_path and check state before removing stuff */
 
     if (fents) {
@@ -100,13 +101,17 @@ retry_transaction:
         libxl__xs_writev(gc, t, backend_path, bents);
     }
 
+    if (!create_transaction)
+        return 0;
+
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
         if (errno == EAGAIN)
             goto retry_transaction;
-        else
+        else {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed");
+            return ERROR_FAIL;
+        }
     }
-
     return 0;
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 21b8b54..03fba22 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -792,8 +792,8 @@ _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
                                       libxl__device_console *console,
                                       libxl__domain_build_state *state);
 
-_hidden int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
-                             char **bents, char **fents);
+_hidden int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
+        libxl__device *device, char **bents, char **fents);
 _hidden char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device);
 _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index e980995..92764fc 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -103,7 +103,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0));
     flexarray_append_pair(front, "state", libxl__sprintf(gc, "%d", 1));
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, XBT_NULL, &device,
                               libxl__xs_kvs_of_flexarray(gc, back, back->count),
                               libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpq-0005aZ-0j; Tue, 29 May 2012 10:39:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpn-0005ZK-NF
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:28 +0000
Received: from [85.158.139.83:45474] by server-4.bemta-5.messagelabs.com id
	C4/8E-16506-F57A4CF4; Tue, 29 May 2012 10:39:27 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338287963!30934701!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17643 invoked from network); 29 May 2012 10:39:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722667"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Gi; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:06 +0100
Message-ID: <1338287956-24691-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 01/11] libxl: make
	libxl_device_disk_local_attach/detach internal functions
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes in v8:
- keep libxl__device_disk_local_attach/detach in libxl.c.

Changes in v5:

- remove _hidden from the implementation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c            |   11 +++--------
 tools/libxl/libxl.h            |    7 -------
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_internal.h   |    9 +++++++++
 4 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index e3d05c2..cd870c4 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,9 +1735,9 @@ out:
     return ret;
 }
 
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    GC_INIT(ctx);
+    libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
@@ -1792,11 +1792,10 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
  out:
     if (dev != NULL)
         ret = strdup(dev);
-    GC_FREE;
     return ret;
 }
 
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
+int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
     /* Nothing to do for PHYSTYPE_PHY. */
 
@@ -1804,10 +1803,6 @@ int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk)
      * For other device types assume that the blktap2 process is
      * needed by the soon to be started domain and do nothing.
      */
-    /*
-     * FIXME
-     * This appears to leak the disk in failure paths
-     */
 
     return 0;
 }
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 316d290..21e6510 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -686,13 +686,6 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
  */
 int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
 
-/*
- * Make a disk available in this (the control) domain. Returns path to
- * a device.
- */
-char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
-int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
-
 /* Network Interfaces */
 int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index f3a590b..e8950b1 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl_device_disk_local_detach(CTX, bl->disk);
+        libxl__device_disk_local_detach(gc, bl->disk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl_device_disk_local_attach(CTX, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 52f5435..d34e561 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1260,6 +1260,15 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc,
  */
 _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 
+/*
+ * Make a disk available in this (the control) domain. Returns path to
+ * a device.
+ */
+_hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
+        libxl_device_disk *disk);
+_hidden int libxl__device_disk_local_detach(libxl__gc *gc,
+        libxl_device_disk *disk);
+
 _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 
 struct libxl__xen_console_reader {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpu-0005dP-8e; Tue, 29 May 2012 10:39:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJps-0005bG-Af
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:32 +0000
Received: from [85.158.138.51:8949] by server-1.bemta-3.messagelabs.com id
	56/58-18759-467A4CF4; Tue, 29 May 2012 10:39:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338287969!25615647!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3933 invoked from network); 29 May 2012 10:39:31 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032815"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:28 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-O7; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:13 +0100
Message-ID: <1338287956-24691-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 08/11] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Changes in v6:
- introduce xs_ret for xs_* error codes.

Changes in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by:Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |   63 ++++++++++++++++++----
 3 files changed, 57 insertions(+), 12 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..38ea85a 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 3cf0d53..223ae40 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1783,7 +1783,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
-    int rc;
+    int rc, xs_ret;
+    xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
         return NULL;
@@ -1827,12 +1828,34 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    xs_ret = xs_transaction_end(ctx->xsh, t, 0);
+                } while (xs_ret == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (xs_ret == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
-            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
-            dev = disk->pdev_path;
+            LOG(DEBUG, "locally attaching qdisk %s", dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -1841,6 +1864,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
@@ -1848,16 +1873,30 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
+    int rc = 0;
 
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                rc = libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     free(disk->pdev_path);
     free(disk->script);
-    return 0;
+
+    return rc;
 }
 
 /******************************************************************************/
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpp-0005aM-KD; Tue, 29 May 2012 10:39:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpn-0005ZE-9H
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:27 +0000
Received: from [193.109.254.147:53176] by server-2.bemta-14.messagelabs.com id
	CC/E7-12884-E57A4CF4; Tue, 29 May 2012 10:39:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338287963!11570865!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11824 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032804"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Kb; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:11 +0100
Message-ID: <1338287956-24691-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 06/11] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v6:
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/man/xl.conf.pod.5         |    6 ++++++
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl.c            |    3 ++-
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 10 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..149430c 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -84,6 +84,12 @@ previous C<xm> toolstack this can be configured to use the old C<SXP>
 
 Default: C<json>
 
+=item B<blkdev_start="NAME">
+
+Configures the name of the first block device to be used for temporary
+block device allocations by the toolstack.
+The default choice is "xvda".
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8d128a6..1a01b24 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1745,7 +1745,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *disk)
+        libxl_device_disk *disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 82371f1..4e1100d 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -330,7 +330,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk,
+            info->blkdev_start);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..9fb4b81 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = libxl__strdup(0, "xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b917553..4be99ca 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1272,7 +1272,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *new_disk);
+        libxl_device_disk *new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index a21bd85..2dc2b68 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..827f3f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -94,6 +95,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..74a8a1a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -117,6 +117,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..ce9237b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -626,6 +626,8 @@ static void parse_config_data(const char *config_source,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpu-0005dP-8e; Tue, 29 May 2012 10:39:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJps-0005bG-Af
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:32 +0000
Received: from [85.158.138.51:8949] by server-1.bemta-3.messagelabs.com id
	56/58-18759-467A4CF4; Tue, 29 May 2012 10:39:32 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338287969!25615647!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3933 invoked from network); 29 May 2012 10:39:31 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032815"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:28 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-O7; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:13 +0100
Message-ID: <1338287956-24691-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 08/11] xl/libxl: implement QDISK
	libxl_device_disk_local_attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

- Spawn a QEMU instance at boot time to handle disk local attach
requests.

- Implement libxl_device_disk_local_attach for QDISKs in terms of a
regular disk attach with the frontend and backend running in the same
domain.

Changes in v6:
- introduce xs_ret for xs_* error codes.

Changes in v5:
- replace LIBXL__LOG with LOG.

Changes on v4:
- improve error handling and exit paths in libxl__device_disk_local_attach.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by:Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/hotplug/Linux/init.d/sysconfig.xencommons |    3 +
 tools/hotplug/Linux/init.d/xencommons           |    3 +
 tools/libxl/libxl.c                             |   63 ++++++++++++++++++----
 3 files changed, 57 insertions(+), 12 deletions(-)

diff --git a/tools/hotplug/Linux/init.d/sysconfig.xencommons b/tools/hotplug/Linux/init.d/sysconfig.xencommons
index 6543204..38ea85a 100644
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons
@@ -12,3 +12,6 @@
 
 # Running xenbackendd in debug mode
 #XENBACKENDD_DEBUG=[yes|on|1]
+
+# qemu path
+#QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons
index 2f81ea2..9dda6e2 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons
@@ -104,6 +104,9 @@ do_start () {
 	xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
 	test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
 	test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+	echo Starting QEMU as disk backend for dom0
+	test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
+	$QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
 }
 do_stop () {
         echo Stopping xenconsoled
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 3cf0d53..223ae40 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1783,7 +1783,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
-    int rc;
+    int rc, xs_ret;
+    xs_transaction_t t = XBT_NULL;
 
     if (in_disk->pdev_path == NULL)
         return NULL;
@@ -1827,12 +1828,34 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
             break;
         case LIBXL_DISK_BACKEND_QDISK:
             if (disk->format != LIBXL_DISK_FORMAT_RAW) {
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally"
-                           " attach a qdisk image if the format is not raw");
-                break;
+                do {
+                    t = xs_transaction_start(ctx->xsh);
+                    if (t == XBT_NULL) {
+                        LOG(ERROR, "failed to start a xenstore transaction");
+                        goto out;
+                    }
+                    disk->vdev = libxl__alloc_vdev(gc, blkdev_start, t);
+                    if (disk->vdev == NULL) {
+                        LOG(ERROR, "libxl__alloc_vdev failed");
+                        goto out;
+                    }
+                    if (libxl__device_disk_add(gc, LIBXL_TOOLSTACK_DOMID,
+                                t, disk)) {
+                        LOG(ERROR, "libxl_device_disk_add failed");
+                        goto out;
+                    }
+                    xs_ret = xs_transaction_end(ctx->xsh, t, 0);
+                } while (xs_ret == 0 && errno == EAGAIN);
+                t = XBT_NULL;
+                if (xs_ret == 0) {
+                    LOGE(ERROR, "xenstore transaction failed");
+                    goto out;
+                }
+                dev = GCSPRINTF("/dev/%s", disk->vdev);
+            } else {
+                dev = disk->pdev_path;
             }
-            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
-            dev = disk->pdev_path;
+            LOG(DEBUG, "locally attaching qdisk %s", dev);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend "
@@ -1841,6 +1864,8 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
     }
 
  out:
+    if (t != XBT_NULL)
+        xs_transaction_end(ctx->xsh, t, 1);
     if (dev != NULL)
         ret = strdup(dev);
     return ret;
@@ -1848,16 +1873,30 @@ char * libxl__device_disk_local_attach(libxl__gc *gc,
 
 int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
 {
-    /* Nothing to do for PHYSTYPE_PHY. */
+    int rc = 0;
 
-    /*
-     * For other device types assume that the blktap2 process is
-     * needed by the soon to be started domain and do nothing.
-     */
+    switch (disk->backend) {
+        case LIBXL_DISK_BACKEND_QDISK:
+            if (disk->vdev != NULL) {
+                libxl_device_disk_remove(gc->owner, LIBXL_TOOLSTACK_DOMID,
+                        disk, 0);
+                rc = libxl_device_disk_destroy(gc->owner,
+                        LIBXL_TOOLSTACK_DOMID, disk);
+            }
+            break;
+        default:
+            /*
+             * Nothing to do for PHYSTYPE_PHY.
+             * For other device types assume that the blktap2 process is
+             * needed by the soon to be started domain and do nothing.
+             */
+            break;
+    }
 
     free(disk->pdev_path);
     free(disk->script);
-    return 0;
+
+    return rc;
 }
 
 /******************************************************************************/
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpp-0005aM-KD; Tue, 29 May 2012 10:39:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpn-0005ZE-9H
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:27 +0000
Received: from [193.109.254.147:53176] by server-2.bemta-14.messagelabs.com id
	CC/E7-12884-E57A4CF4; Tue, 29 May 2012 10:39:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338287963!11570865!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11824 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032804"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Kb; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:11 +0100
Message-ID: <1338287956-24691-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 06/11] xl/libxl: add a blkdev_start parameter
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a blkdev_start in xl.conf and a corresponding string in
libxl_domain_build_info.

Add a blkdev_start parameter to libxl__device_disk_local_attach: it is
going to be used in a following patch.

blkdev_start specifies the first block device to be used for temporary
block device allocations by the toolstack.

Changes in v6:
- document blkdev_start;
- use libxl__strdup to allocate blkdev_start.

Changes in v5:
- change the type of the blkdev_start parameter to
libxl__device_disk_local_attach to const char *.

Changes in v4:
- pass blkdev_start in libxl_domain_build_info.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/man/xl.conf.pod.5         |    6 ++++++
 tools/examples/xl.conf         |    3 +++
 tools/libxl/libxl.c            |    3 ++-
 tools/libxl/libxl_bootloader.c |    3 ++-
 tools/libxl/libxl_create.c     |    3 +++
 tools/libxl/libxl_internal.h   |    3 ++-
 tools/libxl/libxl_types.idl    |    1 +
 tools/libxl/xl.c               |    3 +++
 tools/libxl/xl.h               |    1 +
 tools/libxl/xl_cmdimpl.c       |    2 ++
 10 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..149430c 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -84,6 +84,12 @@ previous C<xm> toolstack this can be configured to use the old C<SXP>
 
 Default: C<json>
 
+=item B<blkdev_start="NAME">
+
+Configures the name of the first block device to be used for temporary
+block device allocations by the toolstack.
+The default choice is "xvda".
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..ebf057c 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,6 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# first block device to be used for temporary VM disk mounts
+#blkdev_start="xvda"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8d128a6..1a01b24 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1745,7 +1745,8 @@ out:
 
 char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *disk)
+        libxl_device_disk *disk,
+        const char *blkdev_start)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index 82371f1..4e1100d 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -330,7 +330,8 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk,
+            info->blkdev_start);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..9fb4b81 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -107,6 +107,9 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    if (b_info->blkdev_start == NULL)
+        b_info->blkdev_start = libxl__strdup(0, "xvda");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         if (!b_info->u.hvm.bios)
             switch (b_info->device_model_version) {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b917553..4be99ca 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1272,7 +1272,8 @@ _hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
         const libxl_device_disk *in_disk,
-        libxl_device_disk *new_disk);
+        libxl_device_disk *new_disk,
+        const char *blkdev_start);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index a21bd85..2dc2b68 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -253,6 +253,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     ("localtime",       libxl_defbool),
     ("disable_migrate", libxl_defbool),
     ("cpuid",           libxl_cpuid_policy_list),
+    ("blkdev_start",    string),
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 750a61c..827f3f8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+char *blkdev_start;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -94,6 +95,8 @@ static void parse_global_config(const char *configfile,
             fprintf(stderr, "invalid default output format \"%s\"\n", buf);
         }
     }
+    if (!xlu_cfg_get_string (config, "blkdev_start", &buf, 0))
+        blkdev_start = strdup(buf);
     xlu_cfg_destroy(config);
 }
 
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index b7eacaa..74a8a1a 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -117,6 +117,7 @@ extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
 extern char *default_bridge;
+extern char *blkdev_start;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3c55a69..ce9237b 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -626,6 +626,8 @@ static void parse_config_data(const char *config_source,
     }
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
+    if (blkdev_start)
+        b_info->blkdev_start = strdup(blkdev_start);
 
     /* the following is the actual config parsing with overriding values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpp-0005aC-6T; Tue, 29 May 2012 10:39:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpn-0005Z6-2f
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:27 +0000
Received: from [85.158.139.83:45429] by server-2.bemta-5.messagelabs.com id
	24/9F-09957-E57A4CF4; Tue, 29 May 2012 10:39:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338287963!30934701!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17602 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722666"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Iw; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:10 +0100
Message-ID: <1338287956-24691-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 05/11] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.


Changes in v7:

- implement libxl__device_disk_add in libxl.c.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |   14 +++++++++++---
 tools/libxl/libxl_internal.h |    2 ++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index eb1ad4f..8d128a6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1367,14 +1367,15 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
 {
-    GC_INIT(ctx);
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
     libxl__device device;
     int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
 
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
@@ -1472,7 +1473,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, XBT_NULL, &device,
+    libxl__device_generic_add(gc, t, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1482,6 +1483,13 @@ out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
+    return rc;
+}
+
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+{
+    GC_INIT(ctx);
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 32eb09c..b917553 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1263,6 +1263,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 
 /*
  * Make a disk available in this (the control) domain. Returns path to
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpp-0005aC-6T; Tue, 29 May 2012 10:39:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpn-0005Z6-2f
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:27 +0000
Received: from [85.158.139.83:45429] by server-2.bemta-5.messagelabs.com id
	24/9F-09957-E57A4CF4; Tue, 29 May 2012 10:39:26 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338287963!30934701!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17602 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196722666"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-Iw; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:10 +0100
Message-ID: <1338287956-24691-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 05/11] libxl: introduce libxl__device_disk_add
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce libxl__device_disk_add that takes an additional
xs_transaction_t paramter.
Implement libxl_device_disk_add using libxl__device_disk_add.


Changes in v7:

- implement libxl__device_disk_add in libxl.c.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl.c          |   14 +++++++++++---
 tools/libxl/libxl_internal.h |    2 ++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index eb1ad4f..8d128a6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1367,14 +1367,15 @@ int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk)
 {
-    GC_INIT(ctx);
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
     libxl__device device;
     int major, minor, rc;
+    libxl_ctx *ctx = gc->owner;
 
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
@@ -1472,7 +1473,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, XBT_NULL, &device,
+    libxl__device_generic_add(gc, t, &device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
@@ -1482,6 +1483,13 @@ out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
+    return rc;
+}
+
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+{
+    GC_INIT(ctx);
+    int rc = libxl__device_disk_add(gc, domid, XBT_NULL, disk);
     GC_FREE;
     return rc;
 }
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 32eb09c..b917553 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1263,6 +1263,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
 _hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
                                    libxl_device_disk *disk,
                                    libxl__device *device);
+_hidden int libxl__device_disk_add(libxl__gc *gc, uint32_t domid,
+        xs_transaction_t t, libxl_device_disk *disk);
 
 /*
  * Make a disk available in this (the control) domain. Returns path to
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpt-0005d4-St; Tue, 29 May 2012 10:39:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpr-0005bG-Ry
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:31 +0000
Received: from [85.158.138.51:49549] by server-1.bemta-3.messagelabs.com id
	9E/48-18759-367A4CF4; Tue, 29 May 2012 10:39:31 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338287969!25615647!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3876 invoked from network); 29 May 2012 10:39:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032814"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:28 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-QF; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:15 +0100
Message-ID: <1338287956-24691-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_utils.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 73b00b3..4cf403d 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -240,6 +240,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend
         *backend = LIBXL_DISK_BACKEND_PHY;
     } else if (!strcmp(s, "file")) {
         *backend = LIBXL_DISK_BACKEND_TAP;
+    } else if (!strcmp(s, "qdisk")) {
+        *backend = LIBXL_DISK_BACKEND_QDISK;
     } else if (!strcmp(s, "tap")) {
         p = strchr(s, ':');
         if (!p) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpt-0005d4-St; Tue, 29 May 2012 10:39:33 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpr-0005bG-Ry
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:31 +0000
Received: from [85.158.138.51:49549] by server-1.bemta-3.messagelabs.com id
	9E/48-18759-367A4CF4; Tue, 29 May 2012 10:39:31 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338287969!25615647!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3876 invoked from network); 29 May 2012 10:39:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032814"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:28 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-QF; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:15 +0100
Message-ID: <1338287956-24691-10-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 10/11] libxl_string_to_backend: add qdisk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_utils.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 73b00b3..4cf403d 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -240,6 +240,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend
         *backend = LIBXL_DISK_BACKEND_PHY;
     } else if (!strcmp(s, "file")) {
         *backend = LIBXL_DISK_BACKEND_TAP;
+    } else if (!strcmp(s, "qdisk")) {
+        *backend = LIBXL_DISK_BACKEND_QDISK;
     } else if (!strcmp(s, "tap")) {
         p = strchr(s, ':');
         if (!p) {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpo-0005Zh-FH; Tue, 29 May 2012 10:39:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpm-0005Z1-Ga
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:26 +0000
Received: from [193.109.254.147:8370] by server-7.bemta-14.messagelabs.com id
	6D/A1-20336-D57A4CF4; Tue, 29 May 2012 10:39:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338287963!11570865!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11790 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032803"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-HH; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:07 +0100
Message-ID: <1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 02/11] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v8:
- free pdev_path and script in local_detach;
- use libxl__strdup instead of strdup.

Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c            |   18 +++++++++++++++---
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_internal.h   |   10 +++++++++-
 3 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index cd870c4..762e72a 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,13 +1735,24 @@ out:
     return ret;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = libxl__strdup(NULL, in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
@@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
      * needed by the soon to be started domain and do nothing.
      */
 
+    free(disk->pdev_path);
+    free(disk->script);
     return 0;
 }
 
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index e8950b1..82371f1 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->localdisk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d34e561..21b8b54 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    /* Should be zeroed by caller on entry.  Will be filled in by
+     * bootloader machinery; represents the local attachment of the
+     * disk for the benefit of the bootloader.  Must be detached by
+     * the caller using libxl__device_disk_local_detach, but only
+     * after the domain's kernel and initramfs have been loaded into
+     * memory and the file references disposed of. */
+    libxl_device_disk localdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:39:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJpo-0005Zh-FH; Tue, 29 May 2012 10:39:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJpm-0005Z1-Ga
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:39:26 +0000
Received: from [193.109.254.147:8370] by server-7.bemta-14.messagelabs.com id
	6D/A1-20336-D57A4CF4; Tue, 29 May 2012 10:39:25 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338287963!11570865!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11790 invoked from network); 29 May 2012 10:39:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:39:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26032803"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:39:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:39:23 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-HH; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:07 +0100
Message-ID: <1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 02/11] libxl: libxl__device_disk_local_attach
	return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v8:
- free pdev_path and script in local_detach;
- use libxl__strdup instead of strdup.

Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 tools/libxl/libxl.c            |   18 +++++++++++++++---
 tools/libxl/libxl_bootloader.c |    4 ++--
 tools/libxl/libxl_internal.h   |   10 +++++++++-
 3 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index cd870c4..762e72a 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,13 +1735,24 @@ out:
     return ret;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = libxl__strdup(NULL, in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
@@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
      * needed by the soon to be started domain and do nothing.
      */
 
+    free(disk->pdev_path);
+    free(disk->script);
     return 0;
 }
 
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index e8950b1..82371f1 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->localdisk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d34e561..21b8b54 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    /* Should be zeroed by caller on entry.  Will be filled in by
+     * bootloader machinery; represents the local attachment of the
+     * disk for the benefit of the bootloader.  Must be detached by
+     * the caller using libxl__device_disk_local_detach, but only
+     * after the domain's kernel and initramfs have been loaded into
+     * memory and the file references disposed of. */
+    libxl_device_disk localdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:46:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:46:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJw4-0007Bb-Aa; Tue, 29 May 2012 10:45:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJw3-0007BW-8i
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:45:55 +0000
Received: from [193.109.254.147:20752] by server-10.bemta-14.messagelabs.com
	id 3D/82-12925-2E8A4CF4; Tue, 29 May 2012 10:45:54 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338288352!3820323!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15312 invoked from network); 29 May 2012 10:45:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:45:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196723254"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:45:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:45:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-S2; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:16 +0100
Message-ID: <1338287956-24691-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 11/11] main_blockdetach: destroy the disk on
	successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

main_blockdetach needs to call libxl_device_disk_destroy so that all the
disk related entries are properly removed from xenstore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ce9237b..1167ed0 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5396,7 +5396,8 @@ int main_blockdetach(int argc, char **argv)
     }
     if (libxl_device_disk_remove(ctx, domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_remove failed.\n");
-    }
+    } else
+        libxl_device_disk_destroy(ctx, domid, &disk);
     return 0;
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:46:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:46:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZJw4-0007Bb-Aa; Tue, 29 May 2012 10:45:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZJw3-0007BW-8i
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:45:55 +0000
Received: from [193.109.254.147:20752] by server-10.bemta-14.messagelabs.com
	id 3D/82-12925-2E8A4CF4; Tue, 29 May 2012 10:45:54 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338288352!3820323!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15312 invoked from network); 29 May 2012 10:45:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 10:45:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196723254"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 06:45:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 06:45:52 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZJpd-0003cq-S2; Tue, 29 May 2012 11:39:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 11:39:16 +0100
Message-ID: <1338287956-24691-11-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
MIME-Version: 1.0
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH v8 11/11] main_blockdetach: destroy the disk on
	successful removal
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

main_blockdetach needs to call libxl_device_disk_destroy so that all the
disk related entries are properly removed from xenstore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ce9237b..1167ed0 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5396,7 +5396,8 @@ int main_blockdetach(int argc, char **argv)
     }
     if (libxl_device_disk_remove(ctx, domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_remove failed.\n");
-    }
+    } else
+        libxl_device_disk_destroy(ctx, domid, &disk);
     return 0;
 }
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:56:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:56:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZK5i-0007LO-Jt; Tue, 29 May 2012 10:55:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZK5h-0007LJ-1j
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:55:53 +0000
Received: from [193.109.254.147:38166] by server-8.bemta-14.messagelabs.com id
	1B/4A-17829-83BA4CF4; Tue, 29 May 2012 10:55:52 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338288942!11748666!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12132 invoked from network); 29 May 2012 10:55:45 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-4.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	29 May 2012 10:55:45 -0000
Received: from mail45-am1-R.bigfish.com (10.3.201.253) by
	AM1EHSOBE003.bigfish.com (10.3.204.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:55:20 +0000
Received: from mail45-am1 (localhost [127.0.0.1])	by mail45-am1-R.bigfish.com
	(Postfix) with ESMTP id 234AA1C0130;
	Tue, 29 May 2012 10:55:20 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail45-am1 (localhost.localdomain [127.0.0.1]) by mail45-am1
	(MessageSwitch) id 1338288918168483_29546;
	Tue, 29 May 2012 10:55:18 +0000 (UTC)
Received: from AM1EHSMHS003.bigfish.com (unknown [10.3.201.234])	by
	mail45-am1.bigfish.com (Postfix) with ESMTP id 274DA40049;
	Tue, 29 May 2012 10:55:18 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS003.bigfish.com (10.3.207.103) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:55:17 +0000
X-WSS-ID: 0M4S6CO-01-1VO-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2C6651028108;	Tue, 29 May 2012 05:55:36 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 29 May 2012 05:55:45 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 29 May 2012 05:55:36 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	06:55:35 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 9B44C49C145; Tue, 29 May 2012
	11:55:34 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 872705940FF; Tue, 29 May 2012
	12:55:34 +0200 (CEST)
Message-ID: <4FC4AACC.4000909@amd.com>
Date: Tue, 29 May 2012 12:54:04 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
	<4FBC16B7.9080307@amd.com>
	<20120523132614.GA15660@phenom.dumpdata.com>
	<4FBE36AA.3070903@amd.com>
In-Reply-To: <4FBE36AA.3070903@amd.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/24/2012 03:24 PM, Andre Przywara wrote:
> On 05/23/2012 03:26 PM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 23, 2012 at 12:44:07AM +0200, Andre Przywara wrote:
>>> On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
>>>>> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
>>>>>> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> while testing some APERF/MPERF semantics I discovered that this
>>>>>>> feature is enabled in Xen Dom0, but is not reliable.
>>>>>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>>>>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>>>>>> compile) and bogus values due to VCPU migration during the
>>>>>>
>>>>>> Can you point me to the Linux scheduler code that does this? Thanks.
>>>>>
>>>>> arch/x86/kernel/cpu/sched.c contains code to read out and compute
>>>>> APERF/MPERF registers. I added a Xen debug-key to dump a usage
>>>>> counter added in traps.c and thus could prove that it is actually
>>>>> the kernel that accesses these registers.
>>>>> As far as I understood this the idea is to learn about boosting and
>>>>> down-clocking (P-states) to get a fairer view on the actual
>>>>> computing time a process consumed.
>>>>
>>>> Looks like its looking for this:
>>>>
>>>> X86_FEATURE_APERFMPERF
>>>>
>>>> Perhaps masking that should do it? Something along this in enlighten.c:
>>>>
>>>> cpuid_leaf1_edx_mask =
>>>> ~((1<< X86_FEATURE_MCE) | /* disable MCE */
>>>> (1<< X86_FEATURE_MCA) | /* disable MCA */
>>>> (1<< X86_FEATURE_MTRR) | /* disable MTRR */
>>>> (1<< X86_FEATURE_ACC)); /* thermal monitoring
>>>>
>>>> would be more appropiate?
>>>>
>>>> Or is that attribute on a different leaf?
>>>
>>> Right, it is bit 0 on level 6. That's why I couldn't use any of the
>>> predefined masks and I didn't feel like inventing a new one just for
>>> this single bit.
>>> We could as well explicitly use clear_cpu_cap somewhere, but I
>>> didn't find any code place in the Xen tree already doing this,
>>> instead it looks like it belongs to where I put it (we handle leaf 5
>>> in a special way already here)
>>
>> OK, can you resend the patch please, looking similar to what you sent
>> earlier, but do use a #define if possible (you can have the #define
>> in that file) and an comment explaining why this is neccessary -
>> and point to the Linux source code that uses this.
>
> Well, I was about to do this and wanted to see if this has any
> performance impact - only to discover that 3.4 does not trigger it
> anymore. After some debugging it turns out the guy reading APERF/MPERF
> was not arch/x86/kernel/cpu/sched.c, but drivers/cpufreq/mperf.c. So
> with disabling cpufreq the only real user is gone already.
> So the patch is kind of pointless as it on 3.4 with cpufreq already
> disabled. Remains to be investigated why sched.c is not called (I added
> a usage counter, it stays at zero).

The scheduler code accessing the MSRs is disabled by default:
kernel/sched/features.h: SCHED_FEAT(ARCH_POWER, false)
I enabled this and saw the traps.
So the only kernel user remaining is/was cpufreq (and /dev/cpu/<n>/msr).

> To avoid future mis-uses of APERF/MPERF by the kernel, I'd like to add
> the patch anyway. I will send it again when I have a clearer picture of
> this.

The patch will arrive in a minute. Although this is kind of pointless 
for 3.4, I put in a stable tag. Also I find the removed aperfmperf flag 
from /proc/cpuinfo useful, this can be handy for Xen aware power 
management tools.

> .. snip..
>> Looks like a patch to cpupower should be cooked up too?
>
> I will contact the author.

Have done this. We are still discussing the best solution with Thomas 
Renninger and Jan Beulich, but a simple warning (and maybe a hint to 
xenpm) looks the best for the time being. Not sure if proper 
emulation/virtualization is worth the effort.

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 10:56:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 10:56:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZK5i-0007LO-Jt; Tue, 29 May 2012 10:55:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZK5h-0007LJ-1j
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 10:55:53 +0000
Received: from [193.109.254.147:38166] by server-8.bemta-14.messagelabs.com id
	1B/4A-17829-83BA4CF4; Tue, 29 May 2012 10:55:52 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338288942!11748666!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12132 invoked from network); 29 May 2012 10:55:45 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-4.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	29 May 2012 10:55:45 -0000
Received: from mail45-am1-R.bigfish.com (10.3.201.253) by
	AM1EHSOBE003.bigfish.com (10.3.204.23) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:55:20 +0000
Received: from mail45-am1 (localhost [127.0.0.1])	by mail45-am1-R.bigfish.com
	(Postfix) with ESMTP id 234AA1C0130;
	Tue, 29 May 2012 10:55:20 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzzz2dh668h839hd25he5bhf0ah)
Received: from mail45-am1 (localhost.localdomain [127.0.0.1]) by mail45-am1
	(MessageSwitch) id 1338288918168483_29546;
	Tue, 29 May 2012 10:55:18 +0000 (UTC)
Received: from AM1EHSMHS003.bigfish.com (unknown [10.3.201.234])	by
	mail45-am1.bigfish.com (Postfix) with ESMTP id 274DA40049;
	Tue, 29 May 2012 10:55:18 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	AM1EHSMHS003.bigfish.com (10.3.207.103) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:55:17 +0000
X-WSS-ID: 0M4S6CO-01-1VO-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2C6651028108;	Tue, 29 May 2012 05:55:36 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 29 May 2012 05:55:45 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 29 May 2012 05:55:36 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	06:55:35 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 9B44C49C145; Tue, 29 May 2012
	11:55:34 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 872705940FF; Tue, 29 May 2012
	12:55:34 +0200 (CEST)
Message-ID: <4FC4AACC.4000909@amd.com>
Date: Tue, 29 May 2012 12:54:04 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FBBB9AF.6020704@amd.com>
	<20120522171858.GB19601@phenom.dumpdata.com>
	<4FBBFEC9.6040100@amd.com>
	<20120522210031.GA25983@phenom.dumpdata.com>
	<4FBC16B7.9080307@amd.com>
	<20120523132614.GA15660@phenom.dumpdata.com>
	<4FBE36AA.3070903@amd.com>
In-Reply-To: <4FBE36AA.3070903@amd.com>
X-OriginatorOrg: amd.com
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH] RFC: Linux: disable APERF/MPERF feature in
 PV kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/24/2012 03:24 PM, Andre Przywara wrote:
> On 05/23/2012 03:26 PM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 23, 2012 at 12:44:07AM +0200, Andre Przywara wrote:
>>> On 05/22/2012 11:00 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Tue, May 22, 2012 at 11:02:01PM +0200, Andre Przywara wrote:
>>>>> On 05/22/2012 07:18 PM, Konrad Rzeszutek Wilk wrote:
>>>>>> On Tue, May 22, 2012 at 06:07:11PM +0200, Andre Przywara wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> while testing some APERF/MPERF semantics I discovered that this
>>>>>>> feature is enabled in Xen Dom0, but is not reliable.
>>>>>>> The Linux kernel's scheduler uses this feature if it sees the CPUID
>>>>>>> bit, leading to costly RDMSR traps (a few 100,000s during a kernel
>>>>>>> compile) and bogus values due to VCPU migration during the
>>>>>>
>>>>>> Can you point me to the Linux scheduler code that does this? Thanks.
>>>>>
>>>>> arch/x86/kernel/cpu/sched.c contains code to read out and compute
>>>>> APERF/MPERF registers. I added a Xen debug-key to dump a usage
>>>>> counter added in traps.c and thus could prove that it is actually
>>>>> the kernel that accesses these registers.
>>>>> As far as I understood this the idea is to learn about boosting and
>>>>> down-clocking (P-states) to get a fairer view on the actual
>>>>> computing time a process consumed.
>>>>
>>>> Looks like its looking for this:
>>>>
>>>> X86_FEATURE_APERFMPERF
>>>>
>>>> Perhaps masking that should do it? Something along this in enlighten.c:
>>>>
>>>> cpuid_leaf1_edx_mask =
>>>> ~((1<< X86_FEATURE_MCE) | /* disable MCE */
>>>> (1<< X86_FEATURE_MCA) | /* disable MCA */
>>>> (1<< X86_FEATURE_MTRR) | /* disable MTRR */
>>>> (1<< X86_FEATURE_ACC)); /* thermal monitoring
>>>>
>>>> would be more appropiate?
>>>>
>>>> Or is that attribute on a different leaf?
>>>
>>> Right, it is bit 0 on level 6. That's why I couldn't use any of the
>>> predefined masks and I didn't feel like inventing a new one just for
>>> this single bit.
>>> We could as well explicitly use clear_cpu_cap somewhere, but I
>>> didn't find any code place in the Xen tree already doing this,
>>> instead it looks like it belongs to where I put it (we handle leaf 5
>>> in a special way already here)
>>
>> OK, can you resend the patch please, looking similar to what you sent
>> earlier, but do use a #define if possible (you can have the #define
>> in that file) and an comment explaining why this is neccessary -
>> and point to the Linux source code that uses this.
>
> Well, I was about to do this and wanted to see if this has any
> performance impact - only to discover that 3.4 does not trigger it
> anymore. After some debugging it turns out the guy reading APERF/MPERF
> was not arch/x86/kernel/cpu/sched.c, but drivers/cpufreq/mperf.c. So
> with disabling cpufreq the only real user is gone already.
> So the patch is kind of pointless as it on 3.4 with cpufreq already
> disabled. Remains to be investigated why sched.c is not called (I added
> a usage counter, it stays at zero).

The scheduler code accessing the MSRs is disabled by default:
kernel/sched/features.h: SCHED_FEAT(ARCH_POWER, false)
I enabled this and saw the traps.
So the only kernel user remaining is/was cpufreq (and /dev/cpu/<n>/msr).

> To avoid future mis-uses of APERF/MPERF by the kernel, I'd like to add
> the patch anyway. I will send it again when I have a clearer picture of
> this.

The patch will arrive in a minute. Although this is kind of pointless 
for 3.4, I put in a stable tag. Also I find the removed aperfmperf flag 
from /proc/cpuinfo useful, this can be handy for Xen aware power 
management tools.

> .. snip..
>> Looks like a patch to cpupower should be cooked up too?
>
> I will contact the author.

Have done this. We are still discussing the best solution with Thomas 
Renninger and Jan Beulich, but a simple warning (and maybe a hint to 
xenpm) looks the best for the time being. Not sure if proper 
emulation/virtualization is worth the effort.

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:00:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:00:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKA3-0007VI-AO; Tue, 29 May 2012 11:00:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZKA2-0007VA-7j
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 11:00:22 +0000
Received: from [193.109.254.147:48106] by server-3.bemta-14.messagelabs.com id
	CF/50-25561-54CA4CF4; Tue, 29 May 2012 11:00:21 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338289218!4921252!1
X-Originating-IP: [216.32.180.31]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24064 invoked from network); 29 May 2012 11:00:20 -0000
Received: from va3ehsobe005.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.31)
	by server-15.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	29 May 2012 11:00:20 -0000
Received: from mail17-va3-R.bigfish.com (10.7.14.241) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:59:56 +0000
Received: from mail17-va3 (localhost [127.0.0.1])	by mail17-va3-R.bigfish.com
	(Postfix) with ESMTP id 339DB3C02E0;
	Tue, 29 May 2012 10:59:56 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: 4
X-BigFish: VPS4(zzb922lzz1202hzz8275bh8275dhz2dh668h839hd24he5bhf0ah)
Received: from mail17-va3 (localhost.localdomain [127.0.0.1]) by mail17-va3
	(MessageSwitch) id 1338289193246013_14016;
	Tue, 29 May 2012 10:59:53 +0000 (UTC)
Received: from VA3EHSMHS021.bigfish.com (unknown [10.7.14.253])	by
	mail17-va3.bigfish.com (Postfix) with ESMTP id 2E6646005A;
	Tue, 29 May 2012 10:59:53 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS021.bigfish.com (10.7.99.31) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:59:48 +0000
X-WSS-ID: 0M4S6K6-02-382-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 23411C813F;	Tue, 29 May 2012 06:00:06 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 29 May 2012 06:00:18 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 29 May 2012 06:00:09 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	07:00:08 -0400
Received: from dosorca.osrc.amd.com (dosorca.osrc.amd.com [165.204.15.106])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id EB72F49C145;
	Tue, 29 May 2012 12:00:06 +0100 (BST)
From: Andre Przywara <andre.przywara@amd.com>
To: <konrad.wilk@oracle.com>, <jeremy@goop.org>
Date: Tue, 29 May 2012 13:07:31 +0200
Message-ID: <1338289651-15843-1-git-send-email-andre.przywara@amd.com>
X-Mailer: git-send-email 1.7.4.4
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: Andre Przywara <andre.przywara@amd.com>, stable@vger.kernel.org#v3.0+,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: [Xen-devel] [PATCH] xen: filter APERFMPERF feature for kernel usage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xen PV kernels allow access to the APERF/MPERF registers to read the
effective frequency. Access to the MSRs is however redirected to the
currently scheduled physical CPU, making consecutive read and
compares unreliable. In addition each rdmsr traps into the hypervisor.
So to avoid bogus readouts and expensive traps, disable the kernel
internal feature flag for APERF/MPERF if running under Xen.
This will
a) remove the aperfmperf flag from /proc/cpuinfo
b) not mislead the power scheduler (arch/x86/kernel/cpu/sched.c) to
   use the feature to improve scheduling (by default disabled)
c) not mislead the cpufreq driver to use the MSRs

This does not cover userland programs which access the MSRs via the
device file interface, but this will be addressed separately.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Cc: stable@vger.kernel.org # v3.0+
---
 arch/x86/xen/enlighten.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 95dccce..dfbe1af 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -207,6 +207,9 @@ static void __init xen_banner(void)
 	       xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : "");
 }
 
+#define CPUID_THERM_POWER_LEAF 6
+#define APERFMPERF_PRESENT 0
+
 static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0;
 static __read_mostly unsigned int cpuid_leaf1_ecx_mask = ~0;
 
@@ -240,6 +243,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
 		*dx = cpuid_leaf5_edx_val;
 		return;
 
+	case CPUID_THERM_POWER_LEAF:
+		/* Disabling APERFMPERF for kernel usage */
+		maskecx = ~(1 << APERFMPERF_PRESENT);
+		break;
+
 	case 0xb:
 		/* Suppress extended topology stuff */
 		maskebx = 0;
-- 
1.7.4.4



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:00:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:00:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKA3-0007VI-AO; Tue, 29 May 2012 11:00:23 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZKA2-0007VA-7j
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 11:00:22 +0000
Received: from [193.109.254.147:48106] by server-3.bemta-14.messagelabs.com id
	CF/50-25561-54CA4CF4; Tue, 29 May 2012 11:00:21 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338289218!4921252!1
X-Originating-IP: [216.32.180.31]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24064 invoked from network); 29 May 2012 11:00:20 -0000
Received: from va3ehsobe005.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.31)
	by server-15.tower-27.messagelabs.com with AES128-SHA encrypted SMTP;
	29 May 2012 11:00:20 -0000
Received: from mail17-va3-R.bigfish.com (10.7.14.241) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:59:56 +0000
Received: from mail17-va3 (localhost [127.0.0.1])	by mail17-va3-R.bigfish.com
	(Postfix) with ESMTP id 339DB3C02E0;
	Tue, 29 May 2012 10:59:56 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: 4
X-BigFish: VPS4(zzb922lzz1202hzz8275bh8275dhz2dh668h839hd24he5bhf0ah)
Received: from mail17-va3 (localhost.localdomain [127.0.0.1]) by mail17-va3
	(MessageSwitch) id 1338289193246013_14016;
	Tue, 29 May 2012 10:59:53 +0000 (UTC)
Received: from VA3EHSMHS021.bigfish.com (unknown [10.7.14.253])	by
	mail17-va3.bigfish.com (Postfix) with ESMTP id 2E6646005A;
	Tue, 29 May 2012 10:59:53 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	VA3EHSMHS021.bigfish.com (10.7.99.31) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 10:59:48 +0000
X-WSS-ID: 0M4S6K6-02-382-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 23411C813F;	Tue, 29 May 2012 06:00:06 -0500 (CDT)
Received: from SAUSEXDAG03.amd.com (163.181.55.3) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 29 May 2012 06:00:18 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag03.amd.com
	(163.181.55.3) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Tue, 29 May 2012 06:00:09 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	07:00:08 -0400
Received: from dosorca.osrc.amd.com (dosorca.osrc.amd.com [165.204.15.106])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id EB72F49C145;
	Tue, 29 May 2012 12:00:06 +0100 (BST)
From: Andre Przywara <andre.przywara@amd.com>
To: <konrad.wilk@oracle.com>, <jeremy@goop.org>
Date: Tue, 29 May 2012 13:07:31 +0200
Message-ID: <1338289651-15843-1-git-send-email-andre.przywara@amd.com>
X-Mailer: git-send-email 1.7.4.4
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: Andre Przywara <andre.przywara@amd.com>, stable@vger.kernel.org#v3.0+,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org
Subject: [Xen-devel] [PATCH] xen: filter APERFMPERF feature for kernel usage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Xen PV kernels allow access to the APERF/MPERF registers to read the
effective frequency. Access to the MSRs is however redirected to the
currently scheduled physical CPU, making consecutive read and
compares unreliable. In addition each rdmsr traps into the hypervisor.
So to avoid bogus readouts and expensive traps, disable the kernel
internal feature flag for APERF/MPERF if running under Xen.
This will
a) remove the aperfmperf flag from /proc/cpuinfo
b) not mislead the power scheduler (arch/x86/kernel/cpu/sched.c) to
   use the feature to improve scheduling (by default disabled)
c) not mislead the cpufreq driver to use the MSRs

This does not cover userland programs which access the MSRs via the
device file interface, but this will be addressed separately.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Cc: stable@vger.kernel.org # v3.0+
---
 arch/x86/xen/enlighten.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 95dccce..dfbe1af 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -207,6 +207,9 @@ static void __init xen_banner(void)
 	       xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : "");
 }
 
+#define CPUID_THERM_POWER_LEAF 6
+#define APERFMPERF_PRESENT 0
+
 static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0;
 static __read_mostly unsigned int cpuid_leaf1_ecx_mask = ~0;
 
@@ -240,6 +243,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
 		*dx = cpuid_leaf5_edx_val;
 		return;
 
+	case CPUID_THERM_POWER_LEAF:
+		/* Disabling APERFMPERF for kernel usage */
+		maskecx = ~(1 << APERFMPERF_PRESENT);
+		break;
+
 	case 0xb:
 		/* Suppress extended topology stuff */
 		maskebx = 0;
-- 
1.7.4.4



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:28:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:28:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKbI-0007ne-PL; Tue, 29 May 2012 11:28:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZKbH-0007nZ-E7
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:28:31 +0000
Received: from [85.158.143.99:2124] by server-3.bemta-4.messagelabs.com id
	8F/75-05853-ED2B4CF4; Tue, 29 May 2012 11:28:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338290910!24984870!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14361 invoked from network); 29 May 2012 11:28:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:28:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12709920"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:28:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 12:28:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZKbF-00033r-I1; Tue, 29 May 2012 11:28:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZKbF-0003yH-H2;
	Tue, 29 May 2012 12:28:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.45789.512558.796177@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 12:28:29 +0100
To: M A Young <m.a.young@durham.ac.uk>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

M A Young writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
> I am attaching the third version of this patch. The datafile object 
> doesn't have an explicit close so this patch uses del to clean it. I was 
> also using unlink incorrectly which is now fixed.

Why does pygrub need to unlink the output files on error ?  Shouldn't
pygrub's caller do that ?  libxl does.

Also the two bits of code which read the kernel and ramdisk are now
much larger and very similar to each other.  Couldn't this be
refactored to have less duplication ?

Python even supports local functions...

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:28:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:28:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKbI-0007ne-PL; Tue, 29 May 2012 11:28:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZKbH-0007nZ-E7
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:28:31 +0000
Received: from [85.158.143.99:2124] by server-3.bemta-4.messagelabs.com id
	8F/75-05853-ED2B4CF4; Tue, 29 May 2012 11:28:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338290910!24984870!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14361 invoked from network); 29 May 2012 11:28:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:28:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12709920"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:28:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 12:28:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZKbF-00033r-I1; Tue, 29 May 2012 11:28:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZKbF-0003yH-H2;
	Tue, 29 May 2012 12:28:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.45789.512558.796177@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 12:28:29 +0100
To: M A Young <m.a.young@durham.ac.uk>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

M A Young writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
> I am attaching the third version of this patch. The datafile object 
> doesn't have an explicit close so this patch uses del to clean it. I was 
> also using unlink incorrectly which is now fixed.

Why does pygrub need to unlink the output files on error ?  Shouldn't
pygrub's caller do that ?  libxl does.

Also the two bits of code which read the kernel and ramdisk are now
much larger and very similar to each other.  Couldn't this be
refactored to have less duplication ?

Python even supports local functions...

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:31:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKdP-0007sK-9W; Tue, 29 May 2012 11:30:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZKdN-0007sA-6Y
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:30:41 +0000
Received: from [85.158.138.51:58381] by server-1.bemta-3.messagelabs.com id
	D9/B7-18759-063B4CF4; Tue, 29 May 2012 11:30:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338291039!23323438!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28482 invoked from network); 29 May 2012 11:30:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:30:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12709954"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:30:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 12:30:08 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZKcq-000360-NY; Tue, 29 May 2012 11:30:08 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZKcq-0003yU-Mb;
	Tue, 29 May 2012 12:30:08 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.45888.529357.798762@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 12:30:08 +0100
To: M A Young <m.a.young@durham.ac.uk>, Ian Campbell
	<Ian.Campbell@citrix.com>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <20420.45789.512558.796177@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
> Also the two bits of code which read the kernel and ramdisk are now
> much larger and very similar to each other.  Couldn't this be
> refactored to have less duplication ?

And, would shutil.copyfileobj be of any use ?  It goes back as far as
Python 2.3 at least.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:31:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKdP-0007sK-9W; Tue, 29 May 2012 11:30:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZKdN-0007sA-6Y
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:30:41 +0000
Received: from [85.158.138.51:58381] by server-1.bemta-3.messagelabs.com id
	D9/B7-18759-063B4CF4; Tue, 29 May 2012 11:30:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338291039!23323438!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28482 invoked from network); 29 May 2012 11:30:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:30:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12709954"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:30:09 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 12:30:08 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZKcq-000360-NY; Tue, 29 May 2012 11:30:08 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZKcq-0003yU-Mb;
	Tue, 29 May 2012 12:30:08 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.45888.529357.798762@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 12:30:08 +0100
To: M A Young <m.a.young@durham.ac.uk>, Ian Campbell
	<Ian.Campbell@citrix.com>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>
Newsgroups: chiark.mail.xen.devel
In-Reply-To: <20420.45789.512558.796177@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
> Also the two bits of code which read the kernel and ramdisk are now
> much larger and very similar to each other.  Couldn't this be
> refactored to have less duplication ?

And, would shutil.copyfileobj be of any use ?  It goes back as far as
Python 2.3 at least.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:39:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKlc-000872-8U; Tue, 29 May 2012 11:39:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SZKlb-00086u-G3
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 11:39:11 +0000
Received: from [85.158.143.35:29563] by server-1.bemta-4.messagelabs.com id
	6B/4C-00342-D55B4CF4; Tue, 29 May 2012 11:39:09 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338291547!15227025!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20104 invoked from network); 29 May 2012 11:39:08 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	29 May 2012 11:39:08 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SZKlW-0007Mi-UB
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 04:39:06 -0700
Date: Tue, 29 May 2012 04:39:06 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1338291546926-5709153.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] efibootmgr not working on xen-unstable booted on uefi
	system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I have installed dom0 Wheezy 64 bit on Dell PowerEdge T310 with kernel from
package and xen-unstable. System is in Uefi mode and booted with
grub-efi-amd64.
Booting without xen efibootmgr works, while with xen not, efivars kernel
module is loaded but show this message:
efibootmgr 
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI
variables.
Try 'modprobe efivars' as root.
If you need some additional info please notify me, thanks for any reply.

--
View this message in context: http://xen.1045712.n5.nabble.com/efibootmgr-not-working-on-xen-unstable-booted-on-uefi-system-tp5709153.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:39:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKlc-000872-8U; Tue, 29 May 2012 11:39:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SZKlb-00086u-G3
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 11:39:11 +0000
Received: from [85.158.143.35:29563] by server-1.bemta-4.messagelabs.com id
	6B/4C-00342-D55B4CF4; Tue, 29 May 2012 11:39:09 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338291547!15227025!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20104 invoked from network); 29 May 2012 11:39:08 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	29 May 2012 11:39:08 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SZKlW-0007Mi-UB
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 04:39:06 -0700
Date: Tue, 29 May 2012 04:39:06 -0700 (PDT)
From: Fantu <fantonifabio@tiscali.it>
To: xen-devel@lists.xensource.com
Message-ID: <1338291546926-5709153.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] efibootmgr not working on xen-unstable booted on uefi
	system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I have installed dom0 Wheezy 64 bit on Dell PowerEdge T310 with kernel from
package and xen-unstable. System is in Uefi mode and booted with
grub-efi-amd64.
Booting without xen efibootmgr works, while with xen not, efivars kernel
module is loaded but show this message:
efibootmgr 
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI
variables.
Try 'modprobe efivars' as root.
If you need some additional info please notify me, thanks for any reply.

--
View this message in context: http://xen.1045712.n5.nabble.com/efibootmgr-not-working-on-xen-unstable-booted-on-uefi-system-tp5709153.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:40:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:40:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKmS-00089c-MQ; Tue, 29 May 2012 11:40:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZKmR-00089T-0e
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 11:40:03 +0000
Received: from [193.109.254.147:29151] by server-5.bemta-14.messagelabs.com id
	0E/43-18167-195B4CF4; Tue, 29 May 2012 11:40:01 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338291599!6619094!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29950 invoked from network); 29 May 2012 11:40:01 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:40:01 -0000
Received: by dajz8 with SMTP id z8so5876038daj.30
	for <xen-devel@lists.xensource.com>;
	Tue, 29 May 2012 04:39:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=QDkAnot8o/itP7Fi6mrtqapHIcwM0aZjfnTNV4W5UnY=;
	b=bhB05RRXbACMmbv6Dg7aknbe5nB3evGI/kjcxYnDdc+4Bt0M4Y3x3uIPgzAInsL/qb
	USD0DW6DajxDfUyB2i15Nt8ueLhgt175aABo1O/guNU7VZqxI8NFYoDiFbUWHu/9Yr+F
	aGYNAT1x5AqnwD8msP6yHdvo4NRh8EBZHYHt+w3Sg+WdD48dbpH9ZmijGmYVQMQMxEsI
	wZpcBOKcQLkTrJEWzpBkyCk2miRBeGr85c008bdFhlX47I4i6+Sb71h57EQ9U3DNvDNE
	YCzMeLLOJiO8KENpMJ1l06hAsa492mrysmECOFOJ7kuOIsd2vHrh8nkf2v7YkM+UFN7a
	x+0Q==
Received: by 10.68.213.101 with SMTP id nr5mr37084480pbc.131.1338291599232;
	Tue, 29 May 2012 04:39:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Tue, 29 May 2012 04:39:39 -0700 (PDT)
In-Reply-To: <20120525210148.GH23655@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Tue, 29 May 2012 13:39:39 +0200
Message-ID: <CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 11:01 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Not yet. Could you ping me in =A0week say please?

ping.
-- =

William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:40:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:40:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKmS-00089c-MQ; Tue, 29 May 2012 11:40:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZKmR-00089T-0e
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 11:40:03 +0000
Received: from [193.109.254.147:29151] by server-5.bemta-14.messagelabs.com id
	0E/43-18167-195B4CF4; Tue, 29 May 2012 11:40:01 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338291599!6619094!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29950 invoked from network); 29 May 2012 11:40:01 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:40:01 -0000
Received: by dajz8 with SMTP id z8so5876038daj.30
	for <xen-devel@lists.xensource.com>;
	Tue, 29 May 2012 04:39:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type:content-transfer-encoding;
	bh=QDkAnot8o/itP7Fi6mrtqapHIcwM0aZjfnTNV4W5UnY=;
	b=bhB05RRXbACMmbv6Dg7aknbe5nB3evGI/kjcxYnDdc+4Bt0M4Y3x3uIPgzAInsL/qb
	USD0DW6DajxDfUyB2i15Nt8ueLhgt175aABo1O/guNU7VZqxI8NFYoDiFbUWHu/9Yr+F
	aGYNAT1x5AqnwD8msP6yHdvo4NRh8EBZHYHt+w3Sg+WdD48dbpH9ZmijGmYVQMQMxEsI
	wZpcBOKcQLkTrJEWzpBkyCk2miRBeGr85c008bdFhlX47I4i6+Sb71h57EQ9U3DNvDNE
	YCzMeLLOJiO8KENpMJ1l06hAsa492mrysmECOFOJ7kuOIsd2vHrh8nkf2v7YkM+UFN7a
	x+0Q==
Received: by 10.68.213.101 with SMTP id nr5mr37084480pbc.131.1338291599232;
	Tue, 29 May 2012 04:39:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Tue, 29 May 2012 04:39:39 -0700 (PDT)
In-Reply-To: <20120525210148.GH23655@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Tue, 29 May 2012 13:39:39 +0200
Message-ID: <CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, May 25, 2012 at 11:01 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Not yet. Could you ping me in =A0week say please?

ping.
-- =

William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:51:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKxA-0008SF-MC; Tue, 29 May 2012 11:51:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZKx9-0008SA-4s
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:51:07 +0000
Received: from [85.158.143.99:12265] by server-1.bemta-4.messagelabs.com id
	4F/15-00342-A28B4CF4; Tue, 29 May 2012 11:51:06 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338292265!30284781!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3438 invoked from network); 29 May 2012 11:51:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:51:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12710436"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:51:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 12:51:04 +0100
Message-ID: <1338292262.14158.110.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 12:51:02 +0100
In-Reply-To: <20420.45888.529357.798762@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
	<20420.45888.529357.798762@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 12:30 +0100, Ian Jackson wrote:
> Ian Jackson writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
> > Also the two bits of code which read the kernel and ramdisk are now
> > much larger and very similar to each other.  Couldn't this be
> > refactored to have less duplication ?
> 
> And, would shutil.copyfileobj be of any use ?  It goes back as far as
> Python 2.3 at least.

I think, although I'm not sure, that the objects which libfsimage gives
out aren't actually File's in the python type sense.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:51:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZKxA-0008SF-MC; Tue, 29 May 2012 11:51:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZKx9-0008SA-4s
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:51:07 +0000
Received: from [85.158.143.99:12265] by server-1.bemta-4.messagelabs.com id
	4F/15-00342-A28B4CF4; Tue, 29 May 2012 11:51:06 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338292265!30284781!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3438 invoked from network); 29 May 2012 11:51:05 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:51:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12710436"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:51:05 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 12:51:04 +0100
Message-ID: <1338292262.14158.110.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 12:51:02 +0100
In-Reply-To: <20420.45888.529357.798762@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
	<20420.45888.529357.798762@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	M A Young <m.a.young@durham.ac.uk>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 12:30 +0100, Ian Jackson wrote:
> Ian Jackson writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
> > Also the two bits of code which read the kernel and ramdisk are now
> > much larger and very similar to each other.  Couldn't this be
> > refactored to have less duplication ?
> 
> And, would shutil.copyfileobj be of any use ?  It goes back as far as
> Python 2.3 at least.

I think, although I'm not sure, that the objects which libfsimage gives
out aren't actually File's in the python type sense.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZL4V-00009e-IQ; Tue, 29 May 2012 11:58:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZL4T-00009Z-UO
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:58:42 +0000
Received: from [85.158.138.51:15285] by server-2.bemta-3.messagelabs.com id
	63/AC-27819-1F9B4CF4; Tue, 29 May 2012 11:58:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338292718!29666794!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14797 invoked from network); 29 May 2012 11:58:40 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:58:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196729742"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 07:58:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 07:58:38 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZL4P-0005Wz-Pg;
	Tue, 29 May 2012 12:58:37 +0100
MIME-Version: 1.0
X-Mercurial-Node: 12537c670e9ea9e7f73747e203ca318107b82cd9
Message-ID: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 12:58:37 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: remove lockdir and config dir from the
	API
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338292617 -3600
# Node ID 12537c670e9ea9e7f73747e203ca318107b82cd9
# Parent  5b6848336d6f98f8ae7350e913245e73887b69f1
libxl: remove lockdir and config dir from the API

These are only used by xl.

Rename _libxl_paths.h -> _paths.h, these are not actually "libxl" paths but
rather are part of the Xen build time configuration. It is fine for xl to also
consume them.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/Makefile
--- a/tools/libxl/Makefile	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/Makefile	Tue May 29 12:56:57 2012 +0100
@@ -103,10 +103,10 @@ all: $(CLIENTS) libxenlight.so libxenlig
 	@rm -f $*.[ch]
 	$(FLEX) --header-file=$*.h --outfile=$*.c $<
 
-genpath-target = $(call buildmakevars2file,_libxl_paths.h.tmp)
+genpath-target = $(call buildmakevars2file,_paths.h.tmp)
 $(eval $(genpath-target))
 
-_libxl_paths.h: genpath
+_paths.h: genpath
 	sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp
 	rm -f $@.tmp
 	$(call move-if-changed,$@.2.tmp,$@)
@@ -117,7 +117,7 @@ _libxl_list.h: $(XEN_INCLUDE)/xen-extern
 
 libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
-libxl_internal.h: _libxl_types_internal.h _libxl_paths.h
+libxl_internal.h: _libxl_types_internal.h _paths.h
 libxl_internal_json.h: _libxl_types_internal_json.h
 
 $(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
@@ -181,7 +181,7 @@ install: all
 .PHONY: clean
 clean:
 	$(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS)
-	$(RM) -f _*.c *.pyc _libxl_paths.*.tmp
+	$(RM) -f _*.c *.pyc _paths.*.tmp
 	$(RM) -f testidl.c.new testidl.c
 #	$(RM) -f $(AUTOSRCS) $(AUTOINCS)
 
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 12:56:57 2012 +0100
@@ -840,10 +840,6 @@ int libxl_flask_getenforce(libxl_ctx *ct
 int libxl_flask_setenforce(libxl_ctx *ctx, int mode);
 int libxl_flask_loadpolicy(libxl_ctx *ctx, void *policy, uint32_t size);
 
-/* common paths */
-const char *libxl_xen_config_dir_path(void);
-const char *libxl_lock_dir_path(void);
-
 /* misc */
 
 /* Each of these sets or clears the flag according to whether the
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 29 12:56:57 2012 +0100
@@ -52,7 +52,7 @@
 #include <xen/io/xenbus.h>
 
 #include "libxl.h"
-#include "_libxl_paths.h"
+#include "_paths.h"
 
 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
 #define _hidden __attribute__((visibility("hidden")))
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/libxl_paths.c
--- a/tools/libxl/libxl_paths.c	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/libxl_paths.c	Tue May 29 12:56:57 2012 +0100
@@ -30,21 +30,11 @@ const char *libxl__xenfirmwaredir_path(v
     return XENFIRMWAREDIR;
 }
 
-const char *libxl_xen_config_dir_path(void)
-{
-    return XEN_CONFIG_DIR;
-}
-
 const char *libxl__xen_script_dir_path(void)
 {
     return XEN_SCRIPT_DIR;
 }
 
-const char *libxl_lock_dir_path(void)
-{
-    return XEN_LOCK_DIR;
-}
-
 const char *libxl__run_dir_path(void)
 {
     return XEN_RUN_DIR;
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/xl.c
--- a/tools/libxl/xl.c	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/xl.c	Tue May 29 12:56:57 2012 +0100
@@ -72,11 +72,12 @@ static void parse_global_config(const ch
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
-        e = asprintf(&lockfile, "%s/xl", (char *)libxl_lock_dir_path());
-        if (e < 0) {
-            fprintf(stderr, "asprintf memory allocation failed\n");
-            exit(1);
-        }
+        lockfile = strdup(XL_LOCK_FILE);
+    }
+
+    if (!lockfile < 0) {
+        fprintf(stderr, "failed to allocate lockdir \n");
+        exit(1);
     }
 
     if (!xlu_cfg_get_string (config, "vifscript", &buf, 0))
@@ -189,7 +190,6 @@ int main(int argc, char **argv)
     char *cmd = 0;
     struct cmd_spec *cspec;
     int ret;
-    char *config_file;
     void *config_data = 0;
     int config_len = 0;
     const char *locks[] = XEND_LOCK;
@@ -224,20 +224,12 @@ int main(int argc, char **argv)
 
     xl_ctx_alloc();
 
-    /* Read global config file options */
-    ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
-    if (ret < 0) {
-        fprintf(stderr, "memory allocation failed ret=%d, errno=%d\n", ret, errno);
-        exit(1);
-    }
-
-    ret = libxl_read_file_contents(ctx, config_file,
+    ret = libxl_read_file_contents(ctx, XL_GLOBAL_CONFIG,
             &config_data, &config_len);
     if (ret)
         fprintf(stderr, "Failed to read config file: %s: %s\n",
-                config_file, strerror(errno));
-    parse_global_config(config_file, config_data, config_len);
-    free(config_file);
+                XL_GLOBAL_CONFIG, strerror(errno));
+    parse_global_config(XL_GLOBAL_CONFIG, config_data, config_len);
     free(config_data);
 
     /* Reset options for per-command use of getopt. */
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/xl.h	Tue May 29 12:56:57 2012 +0100
@@ -17,6 +17,7 @@
 
 #include <assert.h>
 
+#include "_paths.h"
 #include "xentoollog.h"
 
 struct cmd_spec {
@@ -152,6 +153,9 @@ extern enum output_format default_output
 
 extern void printf_info_sexp(int domid, libxl_domain_config *d_config);
 
+#define XL_GLOBAL_CONFIG XEN_CONFIG_DIR "/xl.conf"
+#define XL_LOCK_FILE XEN_LOCK_DIR "/xl"
+
 #endif /* XL_H */
 
 /*

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 11:59:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 11:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZL4V-00009e-IQ; Tue, 29 May 2012 11:58:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZL4T-00009Z-UO
	for xen-devel@lists.xen.org; Tue, 29 May 2012 11:58:42 +0000
Received: from [85.158.138.51:15285] by server-2.bemta-3.messagelabs.com id
	63/AC-27819-1F9B4CF4; Tue, 29 May 2012 11:58:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338292718!29666794!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14797 invoked from network); 29 May 2012 11:58:40 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 11:58:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196729742"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 07:58:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 07:58:38 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZL4P-0005Wz-Pg;
	Tue, 29 May 2012 12:58:37 +0100
MIME-Version: 1.0
X-Mercurial-Node: 12537c670e9ea9e7f73747e203ca318107b82cd9
Message-ID: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 12:58:37 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: ian.jackson@citrix.com
Subject: [Xen-devel] [PATCH] libxl: remove lockdir and config dir from the
	API
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338292617 -3600
# Node ID 12537c670e9ea9e7f73747e203ca318107b82cd9
# Parent  5b6848336d6f98f8ae7350e913245e73887b69f1
libxl: remove lockdir and config dir from the API

These are only used by xl.

Rename _libxl_paths.h -> _paths.h, these are not actually "libxl" paths but
rather are part of the Xen build time configuration. It is fine for xl to also
consume them.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/Makefile
--- a/tools/libxl/Makefile	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/Makefile	Tue May 29 12:56:57 2012 +0100
@@ -103,10 +103,10 @@ all: $(CLIENTS) libxenlight.so libxenlig
 	@rm -f $*.[ch]
 	$(FLEX) --header-file=$*.h --outfile=$*.c $<
 
-genpath-target = $(call buildmakevars2file,_libxl_paths.h.tmp)
+genpath-target = $(call buildmakevars2file,_paths.h.tmp)
 $(eval $(genpath-target))
 
-_libxl_paths.h: genpath
+_paths.h: genpath
 	sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp
 	rm -f $@.tmp
 	$(call move-if-changed,$@.2.tmp,$@)
@@ -117,7 +117,7 @@ _libxl_list.h: $(XEN_INCLUDE)/xen-extern
 
 libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
-libxl_internal.h: _libxl_types_internal.h _libxl_paths.h
+libxl_internal.h: _libxl_types_internal.h _paths.h
 libxl_internal_json.h: _libxl_types_internal_json.h
 
 $(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
@@ -181,7 +181,7 @@ install: all
 .PHONY: clean
 clean:
 	$(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS)
-	$(RM) -f _*.c *.pyc _libxl_paths.*.tmp
+	$(RM) -f _*.c *.pyc _paths.*.tmp
 	$(RM) -f testidl.c.new testidl.c
 #	$(RM) -f $(AUTOSRCS) $(AUTOINCS)
 
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 12:56:57 2012 +0100
@@ -840,10 +840,6 @@ int libxl_flask_getenforce(libxl_ctx *ct
 int libxl_flask_setenforce(libxl_ctx *ctx, int mode);
 int libxl_flask_loadpolicy(libxl_ctx *ctx, void *policy, uint32_t size);
 
-/* common paths */
-const char *libxl_xen_config_dir_path(void);
-const char *libxl_lock_dir_path(void);
-
 /* misc */
 
 /* Each of these sets or clears the flag according to whether the
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 29 12:56:57 2012 +0100
@@ -52,7 +52,7 @@
 #include <xen/io/xenbus.h>
 
 #include "libxl.h"
-#include "_libxl_paths.h"
+#include "_paths.h"
 
 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
 #define _hidden __attribute__((visibility("hidden")))
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/libxl_paths.c
--- a/tools/libxl/libxl_paths.c	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/libxl_paths.c	Tue May 29 12:56:57 2012 +0100
@@ -30,21 +30,11 @@ const char *libxl__xenfirmwaredir_path(v
     return XENFIRMWAREDIR;
 }
 
-const char *libxl_xen_config_dir_path(void)
-{
-    return XEN_CONFIG_DIR;
-}
-
 const char *libxl__xen_script_dir_path(void)
 {
     return XEN_SCRIPT_DIR;
 }
 
-const char *libxl_lock_dir_path(void)
-{
-    return XEN_LOCK_DIR;
-}
-
 const char *libxl__run_dir_path(void)
 {
     return XEN_RUN_DIR;
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/xl.c
--- a/tools/libxl/xl.c	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/xl.c	Tue May 29 12:56:57 2012 +0100
@@ -72,11 +72,12 @@ static void parse_global_config(const ch
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
-        e = asprintf(&lockfile, "%s/xl", (char *)libxl_lock_dir_path());
-        if (e < 0) {
-            fprintf(stderr, "asprintf memory allocation failed\n");
-            exit(1);
-        }
+        lockfile = strdup(XL_LOCK_FILE);
+    }
+
+    if (!lockfile < 0) {
+        fprintf(stderr, "failed to allocate lockdir \n");
+        exit(1);
     }
 
     if (!xlu_cfg_get_string (config, "vifscript", &buf, 0))
@@ -189,7 +190,6 @@ int main(int argc, char **argv)
     char *cmd = 0;
     struct cmd_spec *cspec;
     int ret;
-    char *config_file;
     void *config_data = 0;
     int config_len = 0;
     const char *locks[] = XEND_LOCK;
@@ -224,20 +224,12 @@ int main(int argc, char **argv)
 
     xl_ctx_alloc();
 
-    /* Read global config file options */
-    ret = asprintf(&config_file, "%s/xl.conf", libxl_xen_config_dir_path());
-    if (ret < 0) {
-        fprintf(stderr, "memory allocation failed ret=%d, errno=%d\n", ret, errno);
-        exit(1);
-    }
-
-    ret = libxl_read_file_contents(ctx, config_file,
+    ret = libxl_read_file_contents(ctx, XL_GLOBAL_CONFIG,
             &config_data, &config_len);
     if (ret)
         fprintf(stderr, "Failed to read config file: %s: %s\n",
-                config_file, strerror(errno));
-    parse_global_config(config_file, config_data, config_len);
-    free(config_file);
+                XL_GLOBAL_CONFIG, strerror(errno));
+    parse_global_config(XL_GLOBAL_CONFIG, config_data, config_len);
     free(config_data);
 
     /* Reset options for per-command use of getopt. */
diff -r 5b6848336d6f -r 12537c670e9e tools/libxl/xl.h
--- a/tools/libxl/xl.h	Tue May 29 11:41:52 2012 +0100
+++ b/tools/libxl/xl.h	Tue May 29 12:56:57 2012 +0100
@@ -17,6 +17,7 @@
 
 #include <assert.h>
 
+#include "_paths.h"
 #include "xentoollog.h"
 
 struct cmd_spec {
@@ -152,6 +153,9 @@ extern enum output_format default_output
 
 extern void printf_info_sexp(int domid, libxl_domain_config *d_config);
 
+#define XL_GLOBAL_CONFIG XEN_CONFIG_DIR "/xl.conf"
+#define XL_LOCK_FILE XEN_LOCK_DIR "/xl"
+
 #endif /* XL_H */
 
 /*

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 12:04:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 12:04:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZL9c-0000V4-0t; Tue, 29 May 2012 12:04:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZL9a-0000Um-DV
	for xen-devel@lists.xen.org; Tue, 29 May 2012 12:03:58 +0000
Received: from [85.158.139.83:24215] by server-8.bemta-5.messagelabs.com id
	7D/89-25689-D2BB4CF4; Tue, 29 May 2012 12:03:57 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338293036!28213646!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11570 invoked from network); 29 May 2012 12:03:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 12:03:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 13:03:56 +0100
Message-Id: <4FC4D7480200007800086963@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 13:03:52 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Fantu" <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
In-Reply-To: <1338291546926-5709153.post@n5.nabble.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 13:39, Fantu <fantonifabio@tiscali.it> wrote:
> I have installed dom0 Wheezy 64 bit on Dell PowerEdge T310 with kernel from
> package and xen-unstable. System is in Uefi mode and booted with
> grub-efi-amd64.

In -unstable, you shouldn't use any boot manager (other than
EFI's build in one) to boot Xen - neither GrUB or elilo are suitable,
as for making use of EFI runtime services you need to boot
xen.efi instead of xen.gz.

> Booting without xen efibootmgr works, while with xen not, efivars kernel
> module is loaded but show this message:
> efibootmgr 
> Fatal: Couldn't open either sysfs or procfs directories for accessing EFI
> variables.
> Try 'modprobe efivars' as root.

Presumably the module loads nevertheless, but without the
necessary underlying infrastructure it won't be able to do any
runtime calls, and hence wouldn't set up anything under /sys or
/proc.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 12:04:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 12:04:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZL9c-0000V4-0t; Tue, 29 May 2012 12:04:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZL9a-0000Um-DV
	for xen-devel@lists.xen.org; Tue, 29 May 2012 12:03:58 +0000
Received: from [85.158.139.83:24215] by server-8.bemta-5.messagelabs.com id
	7D/89-25689-D2BB4CF4; Tue, 29 May 2012 12:03:57 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338293036!28213646!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11570 invoked from network); 29 May 2012 12:03:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 12:03:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 13:03:56 +0100
Message-Id: <4FC4D7480200007800086963@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 13:03:52 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Fantu" <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
In-Reply-To: <1338291546926-5709153.post@n5.nabble.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 13:39, Fantu <fantonifabio@tiscali.it> wrote:
> I have installed dom0 Wheezy 64 bit on Dell PowerEdge T310 with kernel from
> package and xen-unstable. System is in Uefi mode and booted with
> grub-efi-amd64.

In -unstable, you shouldn't use any boot manager (other than
EFI's build in one) to boot Xen - neither GrUB or elilo are suitable,
as for making use of EFI runtime services you need to boot
xen.efi instead of xen.gz.

> Booting without xen efibootmgr works, while with xen not, efivars kernel
> module is loaded but show this message:
> efibootmgr 
> Fatal: Couldn't open either sysfs or procfs directories for accessing EFI
> variables.
> Try 'modprobe efivars' as root.

Presumably the module loads nevertheless, but without the
necessary underlying infrastructure it won't be able to do any
runtime calls, and hence wouldn't set up anything under /sys or
/proc.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 12:39:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 12:39:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZLhx-0000lQ-5v; Tue, 29 May 2012 12:39:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZLhv-0000lL-PX
	for xen-devel@lists.xen.org; Tue, 29 May 2012 12:39:27 +0000
Received: from [85.158.143.99:2303] by server-3.bemta-4.messagelabs.com id
	18/C1-05853-E73C4CF4; Tue, 29 May 2012 12:39:26 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338295164!29992615!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6987 invoked from network); 29 May 2012 12:39:25 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 12:39:25 -0000
Received: by eaak12 with SMTP id k12so1125506eaa.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 05:39:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=MN9kqbrtza4sIVtaHj1b5yqEOk4/p5UX21D7Ze5NclQ=;
	b=OgugQoud5vwoV9ETLWbjcfCAyTvuMNLQiBg3TOUlra+/TV2qms24zu7tveuoew/JmF
	EyznsrqPkfpjndJE6n8EhBR/wkJ4H9MSyvlP2ixgvGd+mRgdXw4sg8BEhDaegUUyWivq
	yC2Bge3/Mh3LRf8ud9qC671PXiYRM24QJJVrDvs0RATPnaLMPvqWod3iRop5Pj+0MzWx
	tORlm2b2zjeFxKhkERAKGI8cN6RISJ9YRnOs5bw9/2lPkWT+cKw8CZ/K32L0AeJOQXdX
	JBJILsSTmfiUkeS15wKXGIrmzCBYgHcsj0g+375NDGjJQ3boCeQ2mtr3vayFedpz9vnw
	AA6Q==
Received: by 10.14.28.140 with SMTP id g12mr2274240eea.42.1338295163996;
	Tue, 29 May 2012 05:39:23 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id s47sm48433843eef.4.2012.05.29.05.38.58
	(version=SSLv3 cipher=OTHER); Tue, 29 May 2012 05:39:21 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 29 May 2012 13:38:56 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Message-ID: <CBEA81F0.34641%keir.xen@gmail.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mIABtPwwgAA+3+M=
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCA7B2@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/2012 09:55, "Hao, Xudong" <xudong.hao@intel.com> wrote:

>> -----Original Message-----
>> From: Keir Fraser [mailto:keir.xen@gmail.com]
>> Sent: Monday, May 28, 2012 2:50 PM
>> To: Hao, Xudong; JBeulich@suse.com
>> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
>> Jackson; Zhang, Xiantao
>> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
>> hvm_inject_exception
>> 
>> On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> 
>>> Hi, Keir
>>> 
>>> This patch is fine to me, just one small comments: the note below the
>>> hvm_inject_hw_exception(TRAP*) should change to
>> hvm_inject_hw_exception from
>>> hvm_inject_exception.
>> 
>> Yes indeed. Thanks!
>> 
> 
> Hi, Keir
> 
> Can you check your patch in? then I can send my patches out based you.

Please make my patch the first of your series. You can add my s-o-b line:
Signed-off-by: Keir Fraser <keir@xen.org>

 -- Keir




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 12:39:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 12:39:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZLhx-0000lQ-5v; Tue, 29 May 2012 12:39:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZLhv-0000lL-PX
	for xen-devel@lists.xen.org; Tue, 29 May 2012 12:39:27 +0000
Received: from [85.158.143.99:2303] by server-3.bemta-4.messagelabs.com id
	18/C1-05853-E73C4CF4; Tue, 29 May 2012 12:39:26 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338295164!29992615!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6987 invoked from network); 29 May 2012 12:39:25 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 12:39:25 -0000
Received: by eaak12 with SMTP id k12so1125506eaa.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 05:39:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=MN9kqbrtza4sIVtaHj1b5yqEOk4/p5UX21D7Ze5NclQ=;
	b=OgugQoud5vwoV9ETLWbjcfCAyTvuMNLQiBg3TOUlra+/TV2qms24zu7tveuoew/JmF
	EyznsrqPkfpjndJE6n8EhBR/wkJ4H9MSyvlP2ixgvGd+mRgdXw4sg8BEhDaegUUyWivq
	yC2Bge3/Mh3LRf8ud9qC671PXiYRM24QJJVrDvs0RATPnaLMPvqWod3iRop5Pj+0MzWx
	tORlm2b2zjeFxKhkERAKGI8cN6RISJ9YRnOs5bw9/2lPkWT+cKw8CZ/K32L0AeJOQXdX
	JBJILsSTmfiUkeS15wKXGIrmzCBYgHcsj0g+375NDGjJQ3boCeQ2mtr3vayFedpz9vnw
	AA6Q==
Received: by 10.14.28.140 with SMTP id g12mr2274240eea.42.1338295163996;
	Tue, 29 May 2012 05:39:23 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id s47sm48433843eef.4.2012.05.29.05.38.58
	(version=SSLv3 cipher=OTHER); Tue, 29 May 2012 05:39:21 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 29 May 2012 13:38:56 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Message-ID: <CBEA81F0.34641%keir.xen@gmail.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mIABtPwwgAA+3+M=
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCA7B2@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/2012 09:55, "Hao, Xudong" <xudong.hao@intel.com> wrote:

>> -----Original Message-----
>> From: Keir Fraser [mailto:keir.xen@gmail.com]
>> Sent: Monday, May 28, 2012 2:50 PM
>> To: Hao, Xudong; JBeulich@suse.com
>> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
>> Jackson; Zhang, Xiantao
>> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
>> hvm_inject_exception
>> 
>> On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>> 
>>> Hi, Keir
>>> 
>>> This patch is fine to me, just one small comments: the note below the
>>> hvm_inject_hw_exception(TRAP*) should change to
>> hvm_inject_hw_exception from
>>> hvm_inject_exception.
>> 
>> Yes indeed. Thanks!
>> 
> 
> Hi, Keir
> 
> Can you check your patch in? then I can send my patches out based you.

Please make my patch the first of your series. You can add my s-o-b line:
Signed-off-by: Keir Fraser <keir@xen.org>

 -- Keir




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:22:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMN5-000116-Lo; Tue, 29 May 2012 13:21:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZMN4-000111-O9
	for xen-devel@lists.xen.org; Tue, 29 May 2012 13:21:58 +0000
Received: from [193.109.254.147:15504] by server-2.bemta-14.messagelabs.com id
	14/52-12884-57DC4CF4; Tue, 29 May 2012 13:21:57 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338297717!3878365!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27609 invoked from network); 29 May 2012 13:21:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 13:21:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 14:21:56 +0100
Message-Id: <4FC4E991020000780008699B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 14:21:53 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
In-Reply-To: <4FC4CA9E.4030700@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 15:09, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> Thanks for reply, I don't have xen.efi in my test build, full xen build 
> log on attachment.
> I see this on log:
> EFI support disabled
> But I not undestand why and where set it.

This is dependent on your tool chain - binutils 2.22 (older versions
only if properly patched) and gcc 4.5.x (4.6.x recommended, as
4.5.x was never tested afaict) are the minimum required to make
that message go away. (You could have looked at the build logic
that produces that message to see what the requirements are.)

Jan

PS: Please don't drop xen-devel from Cc on conversations like
this.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:22:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMN5-000116-Lo; Tue, 29 May 2012 13:21:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZMN4-000111-O9
	for xen-devel@lists.xen.org; Tue, 29 May 2012 13:21:58 +0000
Received: from [193.109.254.147:15504] by server-2.bemta-14.messagelabs.com id
	14/52-12884-57DC4CF4; Tue, 29 May 2012 13:21:57 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338297717!3878365!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27609 invoked from network); 29 May 2012 13:21:57 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 13:21:57 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 14:21:56 +0100
Message-Id: <4FC4E991020000780008699B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 14:21:53 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
In-Reply-To: <4FC4CA9E.4030700@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 15:09, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> Thanks for reply, I don't have xen.efi in my test build, full xen build 
> log on attachment.
> I see this on log:
> EFI support disabled
> But I not undestand why and where set it.

This is dependent on your tool chain - binutils 2.22 (older versions
only if properly patched) and gcc 4.5.x (4.6.x recommended, as
4.5.x was never tested afaict) are the minimum required to make
that message go away. (You could have looked at the build logic
that produces that message to see what the requirements are.)

Jan

PS: Please don't drop xen-devel from Cc on conversations like
this.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:33:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:33:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMXe-0001C5-UZ; Tue, 29 May 2012 13:32:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZMXd-0001Bz-9m
	for xen-devel@lists.xen.org; Tue, 29 May 2012 13:32:53 +0000
Received: from [193.109.254.147:41030] by server-12.bemta-14.messagelabs.com
	id C8/E7-30228-400D4CF4; Tue, 29 May 2012 13:32:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338298365!11879684!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28338 invoked from network); 29 May 2012 13:32:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:32:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12715862"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 13:32:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 14:32:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZMXU-0003ki-5c; Tue, 29 May 2012 13:32:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZMXU-00044w-3k;
	Tue, 29 May 2012 14:32:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.53243.895944.536517@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 14:32:43 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-2-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 01/10] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 01/10] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Introduce a new structure to track state of device backends, that will
> be used in following patches on this series.
> 
> This structure if used for both device creation and device
> destruction and removes libxl__ao_device_remove.
...
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index e3d05c2..7fdecf1 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
...
> +/* Macro for defining device remove/destroy functions in a compact way */
> +#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \

Looks reasonable to me.

> +/* Define all remove/destroy functions and undef the macro */
> +
> +/* disk */
> +DEFINE_DEVICE_REMOVE(disk, remove, 0)
> +DEFINE_DEVICE_REMOVE(disk, destroy, 1)

I'm not sure what purpose the comment serves but I don't really object
to it :-).

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 52f5435..670a17b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> @@ -830,13 +830,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *
> +/* This functions sets the necessary libxl__ao_device struct values to use
> + * safely inside functions. It marks the operation as "active"
> + * since we need to be sure that all device status structs are set
> + * to active before start queueing events, or we might call
> + * ao_complete before all devices had finished */
> +_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
> +                                      libxl__ao_device **base);

You need to clearly explain what the constraints are on the order of
calling _prepare and _initiate_..._remove.

Questions whose answers should be clear from your text include:
 - is it legal to call _initiate_ without having previously called
   _prepare ?
 - is it legal to call _prepare and then simply throw away the
   aodev ?
 - is it legal to call _prepare multiple times ?  (If the answer
   to the previous question is `yes' then it must be, I think.)

> @@ -436,34 +441,35 @@ out:
> -int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
> -                                  libxl__device *dev)
> +void libxl__initiate_device_remove(libxl__egc *egc,
> +                                   libxl__ao_device *aodev)
>  {
...
> +retry_transaction:
> +    t = xs_transaction_start(ctx->xsh);
> +    if (aodev->force)
> +        libxl__xs_path_cleanup(gc, t,
> +                               libxl__device_frontend_path(gc, aodev->dev));
> +    state = libxl__xs_read(gc, t, state_path);

Didn't I previously comment adversely on having this check here ?

Ah yes, I commented on the corresponding code in add (v2 08/15):

  [...], I think all of this is done for you by
  libxl__ev_devstate_wait.  You don't need to pre-check the state path
  at all.

And:

  Do you really need to do the xenstore state read here ?  Surely
  libxl__ev_devstate_wait will do it for you.

> +    /* Some devices (vkbd) fail to disconnect properly,
> +     * but we shouldn't alarm the user if it's during
> +     * domain destruction.
> +     */
> +    if (rc && aodev->action == DEVICE_CONNECT) {
> +        LOG(ERROR, "unable to connect device with path %s",
> +                   libxl__device_backend_path(gc, aodev->dev));
> +        goto out;
> +    } else if(rc) {

Missing space after `if'.

> +        LOG(DEBUG, "unable to disconnect device with path %s",
> +                   libxl__device_backend_path(gc, aodev->dev));
> +        goto out;
> +    }

Last time I wrote:

  Perhaps we should have a separate flag which controls error reporting
  so that a user-requested graceful device disconnect gets full error
  logging ?

Did you miss the fact that email suggesting the macro for generating
the device remove functions also had these other comments in ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:33:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:33:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMXe-0001C5-UZ; Tue, 29 May 2012 13:32:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZMXd-0001Bz-9m
	for xen-devel@lists.xen.org; Tue, 29 May 2012 13:32:53 +0000
Received: from [193.109.254.147:41030] by server-12.bemta-14.messagelabs.com
	id C8/E7-30228-400D4CF4; Tue, 29 May 2012 13:32:52 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338298365!11879684!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28338 invoked from network); 29 May 2012 13:32:45 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:32:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12715862"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 13:32:44 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 14:32:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZMXU-0003ki-5c; Tue, 29 May 2012 13:32:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZMXU-00044w-3k;
	Tue, 29 May 2012 14:32:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.53243.895944.536517@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 14:32:43 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-2-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-2-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 01/10] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 01/10] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Introduce a new structure to track state of device backends, that will
> be used in following patches on this series.
> 
> This structure if used for both device creation and device
> destruction and removes libxl__ao_device_remove.
...
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index e3d05c2..7fdecf1 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
...
> +/* Macro for defining device remove/destroy functions in a compact way */
> +#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \

Looks reasonable to me.

> +/* Define all remove/destroy functions and undef the macro */
> +
> +/* disk */
> +DEFINE_DEVICE_REMOVE(disk, remove, 0)
> +DEFINE_DEVICE_REMOVE(disk, destroy, 1)

I'm not sure what purpose the comment serves but I don't really object
to it :-).

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 52f5435..670a17b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> @@ -830,13 +830,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *
> +/* This functions sets the necessary libxl__ao_device struct values to use
> + * safely inside functions. It marks the operation as "active"
> + * since we need to be sure that all device status structs are set
> + * to active before start queueing events, or we might call
> + * ao_complete before all devices had finished */
> +_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
> +                                      libxl__ao_device **base);

You need to clearly explain what the constraints are on the order of
calling _prepare and _initiate_..._remove.

Questions whose answers should be clear from your text include:
 - is it legal to call _initiate_ without having previously called
   _prepare ?
 - is it legal to call _prepare and then simply throw away the
   aodev ?
 - is it legal to call _prepare multiple times ?  (If the answer
   to the previous question is `yes' then it must be, I think.)

> @@ -436,34 +441,35 @@ out:
> -int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
> -                                  libxl__device *dev)
> +void libxl__initiate_device_remove(libxl__egc *egc,
> +                                   libxl__ao_device *aodev)
>  {
...
> +retry_transaction:
> +    t = xs_transaction_start(ctx->xsh);
> +    if (aodev->force)
> +        libxl__xs_path_cleanup(gc, t,
> +                               libxl__device_frontend_path(gc, aodev->dev));
> +    state = libxl__xs_read(gc, t, state_path);

Didn't I previously comment adversely on having this check here ?

Ah yes, I commented on the corresponding code in add (v2 08/15):

  [...], I think all of this is done for you by
  libxl__ev_devstate_wait.  You don't need to pre-check the state path
  at all.

And:

  Do you really need to do the xenstore state read here ?  Surely
  libxl__ev_devstate_wait will do it for you.

> +    /* Some devices (vkbd) fail to disconnect properly,
> +     * but we shouldn't alarm the user if it's during
> +     * domain destruction.
> +     */
> +    if (rc && aodev->action == DEVICE_CONNECT) {
> +        LOG(ERROR, "unable to connect device with path %s",
> +                   libxl__device_backend_path(gc, aodev->dev));
> +        goto out;
> +    } else if(rc) {

Missing space after `if'.

> +        LOG(DEBUG, "unable to disconnect device with path %s",
> +                   libxl__device_backend_path(gc, aodev->dev));
> +        goto out;
> +    }

Last time I wrote:

  Perhaps we should have a separate flag which controls error reporting
  so that a user-requested graceful device disconnect gets full error
  logging ?

Did you miss the fact that email suggesting the macro for generating
the device remove functions also had these other comments in ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:41:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMfL-0001Oz-9k; Tue, 29 May 2012 13:40:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZMfI-0001Oq-Sk
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:40:49 +0000
Received: from [85.158.143.35:33238] by server-3.bemta-4.messagelabs.com id
	91/BF-05853-0E1D4CF4; Tue, 29 May 2012 13:40:48 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338298710!13798626!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2889 invoked from network); 29 May 2012 13:38:30 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-7.tower-21.messagelabs.com with SMTP;
	29 May 2012 13:38:30 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id B4762C04000;
	Tue, 29 May 2012 15:38:29 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id GV71ZFKrUnxF; Tue, 29 May 2012 15:38:29 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Tue, 29 May 2012 15:38:29 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 5769649C145;
	Tue, 29 May 2012 14:38:29 +0100 (BST)
Date: Tue, 29 May 2012 15:38:59 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120529133858.GD29157@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 28, 2012 at 02:48:06PM +0000, Liu, Jinsong wrote:
> > An approach which basically same as you suggested but w/ slightly
> > update, is 1). at xen/mcelog.c, do
> > misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define
> > it as device_initcall(xen_late_init_mcelog) --> now linux dd ready,
> > so xen mcelog divice would register successfully; 2). at native
> > mce.c, change 1 line from device_initcall(mcheck_init_device) to
> > device_initcall_sync(mcheck_init_device) --> so
> > misc_register(&mce_chrdev_device) would be blocked by xen mcelog
> > device;      
> > 
> > I have draft test it and works fine.
> > Thought?
> > 
> 
> =====================
> RFC patch attached:
> =====================
> 
> 
> From d06e667632507d7ed8e18f952b0eb7cec3cfc55c Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Tue, 29 May 2012 06:13:19 +0800
> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
> 
> When MCA error occurs, it would be handled by Xen hypervisor first,
> and then the error information would be sent to initial domain for logging.
> 
> This patch gets error information from Xen hypervisor and convert
> Xen format error into Linux format mcelog. This logic is basically
> self-contained, not touching other kernel components.
> 
> By using tools like mcelog tool users could read specific error information,
> like what they did under native Linux.
> 
> To test follow directions outlined in Documentation/acpi/apei/einj.txt
> 
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>

Still no go, this is current linus with your patch applied. I'll look into it
later when there's time.

[    3.644961] initlevel:6=device, 250 registered initcalls
[    3.652666] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[    3.661186] IP: [<ffffffff811ced67>] kobject_get+0x11/0x34
[    3.667018] PGD 0 
[    3.669409] Oops: 0000 [#1] SMP 
[    3.672988] CPU 21 
[    3.675436] Modules linked in:
[    3.678839] 
[    3.680710] Pid: 1, comm: swapper/0 Tainted: G        W    3.4.0+ #1 AMD
[    3.689103] RIP: 0010:[<ffffffff811ced67>]  [<ffffffff811ced67>] kobject_get+0x11/0x34
[    3.697665] RSP: 0000:ffff880425c67cd0  EFLAGS: 00010202
[    3.703322] RAX: ffff880425ff40b0 RBX: 0000000000000010 RCX: ffff880425c67c50
[    3.710801] RDX: ffff880425ff4000 RSI: ffff8808259c5380 RDI: 0000000000000010
[    3.718302] RBP: ffff880425c67ce0 R08: 00000000fffffffe R09: 00000000ffffffff
[    3.725780] R10: ffff8804a5c67e5f R11: 0000000000000000 R12: 0000000000000010
[    3.733258] R13: 00000000fffffffe R14: 000000000000cbf8 R15: 0000000000011ec0
[    3.740738] FS:  0000000000000000(0000) GS:ffff880c27cc0000(0000) knlGS:0000000000000000
[    3.749472] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[    3.755564] CR2: 0000000000000048 CR3: 0000000001a0b000 CR4: 00000000000007e0
[    3.763044] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.770549] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    3.778026] Process swapper/0 (pid: 1, threadinfo ffff880425c66000, task ffff880425c78000)
[    3.786934] Stack:
[    3.789326]  ffff880425c67d20 ffff8808259c5380 ffff880425c67d40 ffffffff811cedeb
[    3.797368]  ffff880425c67d70 ffff880425c67da0 ffff8808259c5380 ffff8808259c5380
[    3.805411]  0000000000000000 ffff8808259c5380 0000000000000010 0000000000000000
[    3.813453] Call Trace:
[    3.816253]  [<ffffffff811cedeb>] kobject_add_internal+0x61/0x249
[    3.822693]  [<ffffffff811cf3ca>] kobject_add+0x91/0xa2
[    3.828290]  [<ffffffff811cf5a9>] kobject_create_and_add+0x37/0x68
[    3.834821]  [<ffffffff8144b91a>] threshold_create_device+0x1e5/0x342
[    3.841633]  [<ffffffff814549c5>] ? mutex_lock+0x16/0x37
[    3.847295]  [<ffffffff81031894>] ? cpu_maps_update_done+0x15/0x2d
[    3.853824]  [<ffffffff81ad0b0e>] threshold_init_device+0x1b/0x4f
[    3.860265]  [<ffffffff81ad0af3>] ? severities_debugfs_init+0x3b/0x3b
[    3.867054]  [<ffffffff810002f9>] do_one_initcall+0x7f/0x136
[    3.873062]  [<ffffffff81ac8bca>] kernel_init+0x165/0x1fd
[    3.878807]  [<ffffffff81ac8495>] ? loglevel+0x31/0x31
[    3.884321]  [<ffffffff8145e8d4>] kernel_thread_helper+0x4/0x10
[    3.890590]  [<ffffffff81456d86>] ? retint_restore_args+0xe/0xe
[    3.896885]  [<ffffffff81ac8a65>] ? start_kernel+0x2ee/0x2ee
[    3.902893]  [<ffffffff8145e8d0>] ? gs_change+0xb/0xb
[    3.908322] Code: aa 81 31 c0 e8 ac 90 01 00 4c 89 f7 e8 c5 42 f2 ff 5b 41 5c 41 5d 41 5e c9 c3 55 48 89 e5 53 48 89 fb 48 83 ec 08 48 85 ff 74 1c <8b> 47 38 85 c0 75 11 be 29 00 00 00 48 c7 c7 16 87 79 81 e8 95 
[    3.928115] RIP  [<ffffffff811ced67>] kobject_get+0x11/0x34
[    3.934032]  RSP <ffff880425c67cd0>
[    3.937870] CR2: 0000000000000048
[    3.941548] ---[ end trace 4eaa2a86a8e2da23 ]---
[    3.946581] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
[    3.946581] 

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:41:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMfL-0001Oz-9k; Tue, 29 May 2012 13:40:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZMfI-0001Oq-Sk
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:40:49 +0000
Received: from [85.158.143.35:33238] by server-3.bemta-4.messagelabs.com id
	91/BF-05853-0E1D4CF4; Tue, 29 May 2012 13:40:48 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338298710!13798626!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2889 invoked from network); 29 May 2012 13:38:30 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-7.tower-21.messagelabs.com with SMTP;
	29 May 2012 13:38:30 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id B4762C04000;
	Tue, 29 May 2012 15:38:29 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id GV71ZFKrUnxF; Tue, 29 May 2012 15:38:29 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Tue, 29 May 2012 15:38:29 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 5769649C145;
	Tue, 29 May 2012 14:38:29 +0100 (BST)
Date: Tue, 29 May 2012 15:38:59 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120529133858.GD29157@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 28, 2012 at 02:48:06PM +0000, Liu, Jinsong wrote:
> > An approach which basically same as you suggested but w/ slightly
> > update, is 1). at xen/mcelog.c, do
> > misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define
> > it as device_initcall(xen_late_init_mcelog) --> now linux dd ready,
> > so xen mcelog divice would register successfully; 2). at native
> > mce.c, change 1 line from device_initcall(mcheck_init_device) to
> > device_initcall_sync(mcheck_init_device) --> so
> > misc_register(&mce_chrdev_device) would be blocked by xen mcelog
> > device;      
> > 
> > I have draft test it and works fine.
> > Thought?
> > 
> 
> =====================
> RFC patch attached:
> =====================
> 
> 
> From d06e667632507d7ed8e18f952b0eb7cec3cfc55c Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Tue, 29 May 2012 06:13:19 +0800
> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
> 
> When MCA error occurs, it would be handled by Xen hypervisor first,
> and then the error information would be sent to initial domain for logging.
> 
> This patch gets error information from Xen hypervisor and convert
> Xen format error into Linux format mcelog. This logic is basically
> self-contained, not touching other kernel components.
> 
> By using tools like mcelog tool users could read specific error information,
> like what they did under native Linux.
> 
> To test follow directions outlined in Documentation/acpi/apei/einj.txt
> 
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>

Still no go, this is current linus with your patch applied. I'll look into it
later when there's time.

[    3.644961] initlevel:6=device, 250 registered initcalls
[    3.652666] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[    3.661186] IP: [<ffffffff811ced67>] kobject_get+0x11/0x34
[    3.667018] PGD 0 
[    3.669409] Oops: 0000 [#1] SMP 
[    3.672988] CPU 21 
[    3.675436] Modules linked in:
[    3.678839] 
[    3.680710] Pid: 1, comm: swapper/0 Tainted: G        W    3.4.0+ #1 AMD
[    3.689103] RIP: 0010:[<ffffffff811ced67>]  [<ffffffff811ced67>] kobject_get+0x11/0x34
[    3.697665] RSP: 0000:ffff880425c67cd0  EFLAGS: 00010202
[    3.703322] RAX: ffff880425ff40b0 RBX: 0000000000000010 RCX: ffff880425c67c50
[    3.710801] RDX: ffff880425ff4000 RSI: ffff8808259c5380 RDI: 0000000000000010
[    3.718302] RBP: ffff880425c67ce0 R08: 00000000fffffffe R09: 00000000ffffffff
[    3.725780] R10: ffff8804a5c67e5f R11: 0000000000000000 R12: 0000000000000010
[    3.733258] R13: 00000000fffffffe R14: 000000000000cbf8 R15: 0000000000011ec0
[    3.740738] FS:  0000000000000000(0000) GS:ffff880c27cc0000(0000) knlGS:0000000000000000
[    3.749472] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[    3.755564] CR2: 0000000000000048 CR3: 0000000001a0b000 CR4: 00000000000007e0
[    3.763044] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.770549] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    3.778026] Process swapper/0 (pid: 1, threadinfo ffff880425c66000, task ffff880425c78000)
[    3.786934] Stack:
[    3.789326]  ffff880425c67d20 ffff8808259c5380 ffff880425c67d40 ffffffff811cedeb
[    3.797368]  ffff880425c67d70 ffff880425c67da0 ffff8808259c5380 ffff8808259c5380
[    3.805411]  0000000000000000 ffff8808259c5380 0000000000000010 0000000000000000
[    3.813453] Call Trace:
[    3.816253]  [<ffffffff811cedeb>] kobject_add_internal+0x61/0x249
[    3.822693]  [<ffffffff811cf3ca>] kobject_add+0x91/0xa2
[    3.828290]  [<ffffffff811cf5a9>] kobject_create_and_add+0x37/0x68
[    3.834821]  [<ffffffff8144b91a>] threshold_create_device+0x1e5/0x342
[    3.841633]  [<ffffffff814549c5>] ? mutex_lock+0x16/0x37
[    3.847295]  [<ffffffff81031894>] ? cpu_maps_update_done+0x15/0x2d
[    3.853824]  [<ffffffff81ad0b0e>] threshold_init_device+0x1b/0x4f
[    3.860265]  [<ffffffff81ad0af3>] ? severities_debugfs_init+0x3b/0x3b
[    3.867054]  [<ffffffff810002f9>] do_one_initcall+0x7f/0x136
[    3.873062]  [<ffffffff81ac8bca>] kernel_init+0x165/0x1fd
[    3.878807]  [<ffffffff81ac8495>] ? loglevel+0x31/0x31
[    3.884321]  [<ffffffff8145e8d4>] kernel_thread_helper+0x4/0x10
[    3.890590]  [<ffffffff81456d86>] ? retint_restore_args+0xe/0xe
[    3.896885]  [<ffffffff81ac8a65>] ? start_kernel+0x2ee/0x2ee
[    3.902893]  [<ffffffff8145e8d0>] ? gs_change+0xb/0xb
[    3.908322] Code: aa 81 31 c0 e8 ac 90 01 00 4c 89 f7 e8 c5 42 f2 ff 5b 41 5c 41 5d 41 5e c9 c3 55 48 89 e5 53 48 89 fb 48 83 ec 08 48 85 ff 74 1c <8b> 47 38 85 c0 75 11 be 29 00 00 00 48 c7 c7 16 87 79 81 e8 95 
[    3.928115] RIP  [<ffffffff811ced67>] kobject_get+0x11/0x34
[    3.934032]  RSP <ffff880425c67cd0>
[    3.937870] CR2: 0000000000000048
[    3.941548] ---[ end trace 4eaa2a86a8e2da23 ]---
[    3.946581] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
[    3.946581] 

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:41:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMfL-0001P6-ME; Tue, 29 May 2012 13:40:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMfJ-0001Oq-Nl
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:40:49 +0000
Received: from [85.158.143.99:50074] by server-3.bemta-4.messagelabs.com id
	06/BF-05853-0E1D4CF4; Tue, 29 May 2012 13:40:48 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338298846!20687579!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6667 invoked from network); 29 May 2012 13:40:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:40:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12716058"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 13:40:24 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 14:40:24 +0100
Date: Tue, 29 May 2012 14:40:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series allows tools/ to compile on ARM, mostly providing an
empty implementation for all the arch specific functions that are needed.

All the patches of this series have been previously acked.


Changes in v7:

- rebase on "x86_64: Record entry vector for double faults.";

- split the last patch in three patches to make it easier to read and
find all the code motions (I kept the acked-by on all the patches
because there are no changes except the split).


Changes in v6:

- rebase on 33659563f589 (this is a mercurial id).


Changes in v5:

- libxc: return -1 and set errno on error;

- add few missing emacs runes in new files.


Changes in v4:

- rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;

- minor compile fixes.



Changes in v3:

- move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;

- rename xc_hvm_build.c to xc_hvm_build_x86.c;

- remove xc_nohvm, introduce xc_hvm_build_arm.c instead;

- remove "libxl: do not allocate e820 for non x86 guests.";

- introduce libxl__arch_domain_create.



Changes in v2:

- rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;

- dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
xen-unstable;

- define xen_callback_t as uint64_t;

- define guest_word_t as uint64_t.



Stefano Stabellini (8):
      arm: compile libxenguest
      arm: compile memshr
      arm: compile xentrace
      arm: compile libxl
      libxl: Introduce libxl__arch_domain_create
      libxl: Introduce libxl__arch_domain_create (x86 version)
      libxl: move e820_names, e820_sanitize, libxl__e820_alloc to libxl_x86.c
      libxl: make libxl__e820_alloc a static function

 tools/libxc/Makefile           |   12 +-
 tools/libxc/xc_dom_arm.c       |   50 +++++
 tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
 tools/libxc/xc_hvm_build_arm.c |   49 ++++
 tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
 tools/libxc/xc_nomigrate.c     |   54 +++++
 tools/libxl/Makefile           |    5 +-
 tools/libxl/libxl_arch.h       |   22 ++
 tools/libxl/libxl_cpuid.c      |   60 +++++
 tools/libxl/libxl_create.c     |   12 +-
 tools/libxl/libxl_internal.h   |    2 -
 tools/libxl/libxl_json.c       |   60 -----
 tools/libxl/libxl_noarch.c     |    8 +
 tools/libxl/libxl_nocpuid.c    |    8 +-
 tools/libxl/libxl_pci.c        |  242 --------------------
 tools/libxl/libxl_x86.c        |  262 ++++++++++++++++++++++
 tools/memshr/bidir-hash.c      |   31 +++
 tools/xentrace/xenctx.c        |   12 +
 18 files changed, 1041 insertions(+), 792 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:41:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMfL-0001P6-ME; Tue, 29 May 2012 13:40:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMfJ-0001Oq-Nl
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:40:49 +0000
Received: from [85.158.143.99:50074] by server-3.bemta-4.messagelabs.com id
	06/BF-05853-0E1D4CF4; Tue, 29 May 2012 13:40:48 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338298846!20687579!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6667 invoked from network); 29 May 2012 13:40:47 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:40:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12716058"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 13:40:24 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 14:40:24 +0100
Date: Tue, 29 May 2012 14:40:18 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Message-ID: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi all,
this patch series allows tools/ to compile on ARM, mostly providing an
empty implementation for all the arch specific functions that are needed.

All the patches of this series have been previously acked.


Changes in v7:

- rebase on "x86_64: Record entry vector for double faults.";

- split the last patch in three patches to make it easier to read and
find all the code motions (I kept the acked-by on all the patches
because there are no changes except the split).


Changes in v6:

- rebase on 33659563f589 (this is a mercurial id).


Changes in v5:

- libxc: return -1 and set errno on error;

- add few missing emacs runes in new files.


Changes in v4:

- rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;

- minor compile fixes.



Changes in v3:

- move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;

- rename xc_hvm_build.c to xc_hvm_build_x86.c;

- remove xc_nohvm, introduce xc_hvm_build_arm.c instead;

- remove "libxl: do not allocate e820 for non x86 guests.";

- introduce libxl__arch_domain_create.



Changes in v2:

- rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;

- dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
xen-unstable;

- define xen_callback_t as uint64_t;

- define guest_word_t as uint64_t.



Stefano Stabellini (8):
      arm: compile libxenguest
      arm: compile memshr
      arm: compile xentrace
      arm: compile libxl
      libxl: Introduce libxl__arch_domain_create
      libxl: Introduce libxl__arch_domain_create (x86 version)
      libxl: move e820_names, e820_sanitize, libxl__e820_alloc to libxl_x86.c
      libxl: make libxl__e820_alloc a static function

 tools/libxc/Makefile           |   12 +-
 tools/libxc/xc_dom_arm.c       |   50 +++++
 tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
 tools/libxc/xc_hvm_build_arm.c |   49 ++++
 tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
 tools/libxc/xc_nomigrate.c     |   54 +++++
 tools/libxl/Makefile           |    5 +-
 tools/libxl/libxl_arch.h       |   22 ++
 tools/libxl/libxl_cpuid.c      |   60 +++++
 tools/libxl/libxl_create.c     |   12 +-
 tools/libxl/libxl_internal.h   |    2 -
 tools/libxl/libxl_json.c       |   60 -----
 tools/libxl/libxl_noarch.c     |    8 +
 tools/libxl/libxl_nocpuid.c    |    8 +-
 tools/libxl/libxl_pci.c        |  242 --------------------
 tools/libxl/libxl_x86.c        |  262 ++++++++++++++++++++++
 tools/memshr/bidir-hash.c      |   31 +++
 tools/xentrace/xenctx.c        |   12 +
 18 files changed, 1041 insertions(+), 792 deletions(-)


Cheers,

Stefano

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgK-0001Vy-Ic; Tue, 29 May 2012 13:41:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgI-0001VO-JO
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:50 +0000
Received: from [85.158.138.51:49257] by server-6.bemta-3.messagelabs.com id
	75/94-18175-D12D4CF4; Tue, 29 May 2012 13:41:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338298906!29664718!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7670 invoked from network); 29 May 2012 13:41:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055411"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:46 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-EB; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:34 +0100
Message-ID: <1338298896-27411-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 6/8] libxl: Introduce
	libxl__arch_domain_create (x86 version)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/Makefile       |    2 +-
 tools/libxl/libxl_create.c |   12 ++----------
 tools/libxl/libxl_x86.c    |   19 +++++++++++++++++++
 3 files changed, 22 insertions(+), 11 deletions(-)
 create mode 100644 tools/libxl/libxl_x86.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 6ba4cf0..8ac8674 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -34,7 +34,7 @@ LIBXL_OBJS-y += libxl_blktap2.o
 else
 LIBXL_OBJS-y += libxl_noblktap2.o
 endif
-LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_noarch.o
+LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_x86.o
 LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o libxl_noarch.o
 LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o libxl_noarch.o
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..2637222 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -18,6 +18,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include "libxl_internal.h"
+#include "libxl_arch.h"
 
 #include <xc_dom.h>
 #include <xenguest.h>
@@ -820,16 +821,7 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
-    if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
-        libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
-        ret = libxl__e820_alloc(gc, domid, d_config);
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                      "Failed while collecting E820 with: %d (errno:%d)\n",
-                      ret, errno);
-            goto error_out;
-        }
-    }
+    libxl__arch_domain_create(gc, d_config, domid);
     domcreate_console_available(egc, dcs);
 
     domcreate_complete(egc, dcs, 0);
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
new file mode 100644
index 0000000..7e28504
--- /dev/null
+++ b/tools/libxl/libxl_x86.c
@@ -0,0 +1,19 @@
+#include "libxl_internal.h"
+#include "libxl_arch.h"
+
+int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
+        uint32_t domid)
+{
+    int ret = 0;
+    if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
+            libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
+        ret = libxl__e820_alloc(gc, domid, d_config);
+        if (ret) {
+            LIBXL__LOG_ERRNO(gc->owner, LIBXL__LOG_ERROR,
+                    "Failed while collecting E820 with: %d (errno:%d)\n",
+                    ret, errno);
+        }
+    }
+
+    return ret;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgK-0001Vy-Ic; Tue, 29 May 2012 13:41:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgI-0001VO-JO
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:50 +0000
Received: from [85.158.138.51:49257] by server-6.bemta-3.messagelabs.com id
	75/94-18175-D12D4CF4; Tue, 29 May 2012 13:41:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338298906!29664718!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7670 invoked from network); 29 May 2012 13:41:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055411"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:46 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-EB; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:34 +0100
Message-ID: <1338298896-27411-6-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 6/8] libxl: Introduce
	libxl__arch_domain_create (x86 version)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/Makefile       |    2 +-
 tools/libxl/libxl_create.c |   12 ++----------
 tools/libxl/libxl_x86.c    |   19 +++++++++++++++++++
 3 files changed, 22 insertions(+), 11 deletions(-)
 create mode 100644 tools/libxl/libxl_x86.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 6ba4cf0..8ac8674 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -34,7 +34,7 @@ LIBXL_OBJS-y += libxl_blktap2.o
 else
 LIBXL_OBJS-y += libxl_noblktap2.o
 endif
-LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_noarch.o
+LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_x86.o
 LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o libxl_noarch.o
 LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o libxl_noarch.o
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..2637222 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -18,6 +18,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include "libxl_internal.h"
+#include "libxl_arch.h"
 
 #include <xc_dom.h>
 #include <xenguest.h>
@@ -820,16 +821,7 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
-    if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
-        libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
-        ret = libxl__e820_alloc(gc, domid, d_config);
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                      "Failed while collecting E820 with: %d (errno:%d)\n",
-                      ret, errno);
-            goto error_out;
-        }
-    }
+    libxl__arch_domain_create(gc, d_config, domid);
     domcreate_console_available(egc, dcs);
 
     domcreate_complete(egc, dcs, 0);
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
new file mode 100644
index 0000000..7e28504
--- /dev/null
+++ b/tools/libxl/libxl_x86.c
@@ -0,0 +1,19 @@
+#include "libxl_internal.h"
+#include "libxl_arch.h"
+
+int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
+        uint32_t domid)
+{
+    int ret = 0;
+    if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
+            libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
+        ret = libxl__e820_alloc(gc, domid, d_config);
+        if (ret) {
+            LIBXL__LOG_ERRNO(gc->owner, LIBXL__LOG_ERROR,
+                    "Failed while collecting E820 with: %d (errno:%d)\n",
+                    ret, errno);
+        }
+    }
+
+    return ret;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgL-0001WL-A6; Tue, 29 May 2012 13:41:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgJ-0001Vb-Gj
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:52 +0000
Received: from [85.158.138.51:49376] by server-7.bemta-3.messagelabs.com id
	5E/A0-17379-E12D4CF4; Tue, 29 May 2012 13:41:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338298906!29664718!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7720 invoked from network); 29 May 2012 13:41:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055410"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-Aj; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:32 +0100
Message-ID: <1338298896-27411-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 4/8] arm: compile libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
functions are only available on x86, so ifdef the new cpuid related
function in libxl_json.c.


Changes in v3:

- move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/Makefile        |    1 +
 tools/libxl/libxl_cpuid.c   |   60 +++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_json.c    |   60 -------------------------------------------
 tools/libxl/libxl_nocpuid.c |    8 +++++-
 4 files changed, 68 insertions(+), 61 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..f9cc9fd 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -36,6 +36,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o
 endif
 LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
 LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
+LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
 
 ifeq ($(CONFIG_NetBSD),y)
 LIBXL_OBJS-y += libxl_netbsd.o
diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c
index dcdb9d02..ff7531f 100644
--- a/tools/libxl/libxl_cpuid.c
+++ b/tools/libxl/libxl_cpuid.c
@@ -333,6 +333,66 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
                      (const char**)(cpuid[i].policy), cpuid_res);
 }
 
+yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
+                                libxl_cpuid_policy_list *pcpuid)
+{
+    libxl_cpuid_policy_list cpuid = *pcpuid;
+    yajl_gen_status s;
+    const char *input_names[2] = { "leaf", "subleaf" };
+    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
+    int i, j;
+
+    /*
+     * Aiming for:
+     * [
+     *     { 'leaf':    'val-eax',
+     *       'subleaf': 'val-ecx',
+     *       'eax':     'filter',
+     *       'ebx':     'filter',
+     *       'ecx':     'filter',
+     *       'edx':     'filter' },
+     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
+     *     ... etc ...
+     * ]
+     */
+
+    s = yajl_gen_array_open(hand);
+    if (s != yajl_gen_status_ok) goto out;
+
+    if (cpuid == NULL) goto empty;
+
+    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
+        s = yajl_gen_map_open(hand);
+        if (s != yajl_gen_status_ok) goto out;
+
+        for (j = 0; j < 2; j++) {
+            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
+                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
+                if (s != yajl_gen_status_ok) goto out;
+                s = yajl_gen_integer(hand, cpuid[i].input[j]);
+                if (s != yajl_gen_status_ok) goto out;
+            }
+        }
+
+        for (j = 0; j < 4; j++) {
+            if (cpuid[i].policy[j] != NULL) {
+                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
+                if (s != yajl_gen_status_ok) goto out;
+                s = yajl_gen_string(hand,
+                               (const unsigned char *)cpuid[i].policy[j], 32);
+                if (s != yajl_gen_status_ok) goto out;
+            }
+        }
+        s = yajl_gen_map_close(hand);
+        if (s != yajl_gen_status_ok) goto out;
+    }
+
+empty:
+    s = yajl_gen_array_close(hand);
+out:
+    return s;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
index 7c068d3..f430d4a 100644
--- a/tools/libxl/libxl_json.c
+++ b/tools/libxl/libxl_json.c
@@ -146,66 +146,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
-                                libxl_cpuid_policy_list *pcpuid)
-{
-    libxl_cpuid_policy_list cpuid = *pcpuid;
-    yajl_gen_status s;
-    const char *input_names[2] = { "leaf", "subleaf" };
-    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
-    int i, j;
-
-    /*
-     * Aiming for:
-     * [
-     *     { 'leaf':    'val-eax',
-     *       'subleaf': 'val-ecx',
-     *       'eax':     'filter',
-     *       'ebx':     'filter',
-     *       'ecx':     'filter',
-     *       'edx':     'filter' },
-     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
-     *     ... etc ...
-     * ]
-     */
-
-    s = yajl_gen_array_open(hand);
-    if (s != yajl_gen_status_ok) goto out;
-
-    if (cpuid == NULL) goto empty;
-
-    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
-        s = yajl_gen_map_open(hand);
-        if (s != yajl_gen_status_ok) goto out;
-
-        for (j = 0; j < 2; j++) {
-            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
-                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
-                if (s != yajl_gen_status_ok) goto out;
-                s = yajl_gen_integer(hand, cpuid[i].input[j]);
-                if (s != yajl_gen_status_ok) goto out;
-            }
-        }
-
-        for (j = 0; j < 4; j++) {
-            if (cpuid[i].policy[j] != NULL) {
-                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
-                if (s != yajl_gen_status_ok) goto out;
-                s = yajl_gen_string(hand,
-                               (const unsigned char *)cpuid[i].policy[j], 32);
-                if (s != yajl_gen_status_ok) goto out;
-            }
-        }
-        s = yajl_gen_map_close(hand);
-        if (s != yajl_gen_status_ok) goto out;
-    }
-
-empty:
-    s = yajl_gen_array_close(hand);
-out:
-    return s;
-}
-
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *pl)
 {
     libxl_string_list l = *pl;
diff --git a/tools/libxl/libxl_nocpuid.c b/tools/libxl/libxl_nocpuid.c
index 9e52f8d..5f7cb6a 100644
--- a/tools/libxl/libxl_nocpuid.c
+++ b/tools/libxl/libxl_nocpuid.c
@@ -14,7 +14,7 @@
 
 #include "libxl_internal.h"
 
-void libxl_cpuid_destroy(libxl_cpuid_policy_list *p_cpuid_list)
+void libxl_cpuid_dispose(libxl_cpuid_policy_list *p_cpuid_list)
 {
 }
 
@@ -38,6 +38,12 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
 {
 }
 
+yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
+                                libxl_cpuid_policy_list *pcpuid)
+{
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgL-0001WL-A6; Tue, 29 May 2012 13:41:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgJ-0001Vb-Gj
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:52 +0000
Received: from [85.158.138.51:49376] by server-7.bemta-3.messagelabs.com id
	5E/A0-17379-E12D4CF4; Tue, 29 May 2012 13:41:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338298906!29664718!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7720 invoked from network); 29 May 2012 13:41:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055410"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-Aj; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:32 +0100
Message-ID: <1338298896-27411-4-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 4/8] arm: compile libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
functions are only available on x86, so ifdef the new cpuid related
function in libxl_json.c.


Changes in v3:

- move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c.


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/Makefile        |    1 +
 tools/libxl/libxl_cpuid.c   |   60 +++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_json.c    |   60 -------------------------------------------
 tools/libxl/libxl_nocpuid.c |    8 +++++-
 4 files changed, 68 insertions(+), 61 deletions(-)

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..f9cc9fd 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -36,6 +36,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o
 endif
 LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
 LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
+LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
 
 ifeq ($(CONFIG_NetBSD),y)
 LIBXL_OBJS-y += libxl_netbsd.o
diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c
index dcdb9d02..ff7531f 100644
--- a/tools/libxl/libxl_cpuid.c
+++ b/tools/libxl/libxl_cpuid.c
@@ -333,6 +333,66 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
                      (const char**)(cpuid[i].policy), cpuid_res);
 }
 
+yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
+                                libxl_cpuid_policy_list *pcpuid)
+{
+    libxl_cpuid_policy_list cpuid = *pcpuid;
+    yajl_gen_status s;
+    const char *input_names[2] = { "leaf", "subleaf" };
+    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
+    int i, j;
+
+    /*
+     * Aiming for:
+     * [
+     *     { 'leaf':    'val-eax',
+     *       'subleaf': 'val-ecx',
+     *       'eax':     'filter',
+     *       'ebx':     'filter',
+     *       'ecx':     'filter',
+     *       'edx':     'filter' },
+     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
+     *     ... etc ...
+     * ]
+     */
+
+    s = yajl_gen_array_open(hand);
+    if (s != yajl_gen_status_ok) goto out;
+
+    if (cpuid == NULL) goto empty;
+
+    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
+        s = yajl_gen_map_open(hand);
+        if (s != yajl_gen_status_ok) goto out;
+
+        for (j = 0; j < 2; j++) {
+            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
+                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
+                if (s != yajl_gen_status_ok) goto out;
+                s = yajl_gen_integer(hand, cpuid[i].input[j]);
+                if (s != yajl_gen_status_ok) goto out;
+            }
+        }
+
+        for (j = 0; j < 4; j++) {
+            if (cpuid[i].policy[j] != NULL) {
+                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
+                if (s != yajl_gen_status_ok) goto out;
+                s = yajl_gen_string(hand,
+                               (const unsigned char *)cpuid[i].policy[j], 32);
+                if (s != yajl_gen_status_ok) goto out;
+            }
+        }
+        s = yajl_gen_map_close(hand);
+        if (s != yajl_gen_status_ok) goto out;
+    }
+
+empty:
+    s = yajl_gen_array_close(hand);
+out:
+    return s;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
index 7c068d3..f430d4a 100644
--- a/tools/libxl/libxl_json.c
+++ b/tools/libxl/libxl_json.c
@@ -146,66 +146,6 @@ out:
     return s;
 }
 
-yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
-                                libxl_cpuid_policy_list *pcpuid)
-{
-    libxl_cpuid_policy_list cpuid = *pcpuid;
-    yajl_gen_status s;
-    const char *input_names[2] = { "leaf", "subleaf" };
-    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
-    int i, j;
-
-    /*
-     * Aiming for:
-     * [
-     *     { 'leaf':    'val-eax',
-     *       'subleaf': 'val-ecx',
-     *       'eax':     'filter',
-     *       'ebx':     'filter',
-     *       'ecx':     'filter',
-     *       'edx':     'filter' },
-     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
-     *     ... etc ...
-     * ]
-     */
-
-    s = yajl_gen_array_open(hand);
-    if (s != yajl_gen_status_ok) goto out;
-
-    if (cpuid == NULL) goto empty;
-
-    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
-        s = yajl_gen_map_open(hand);
-        if (s != yajl_gen_status_ok) goto out;
-
-        for (j = 0; j < 2; j++) {
-            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
-                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
-                if (s != yajl_gen_status_ok) goto out;
-                s = yajl_gen_integer(hand, cpuid[i].input[j]);
-                if (s != yajl_gen_status_ok) goto out;
-            }
-        }
-
-        for (j = 0; j < 4; j++) {
-            if (cpuid[i].policy[j] != NULL) {
-                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
-                if (s != yajl_gen_status_ok) goto out;
-                s = yajl_gen_string(hand,
-                               (const unsigned char *)cpuid[i].policy[j], 32);
-                if (s != yajl_gen_status_ok) goto out;
-            }
-        }
-        s = yajl_gen_map_close(hand);
-        if (s != yajl_gen_status_ok) goto out;
-    }
-
-empty:
-    s = yajl_gen_array_close(hand);
-out:
-    return s;
-}
-
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *pl)
 {
     libxl_string_list l = *pl;
diff --git a/tools/libxl/libxl_nocpuid.c b/tools/libxl/libxl_nocpuid.c
index 9e52f8d..5f7cb6a 100644
--- a/tools/libxl/libxl_nocpuid.c
+++ b/tools/libxl/libxl_nocpuid.c
@@ -14,7 +14,7 @@
 
 #include "libxl_internal.h"
 
-void libxl_cpuid_destroy(libxl_cpuid_policy_list *p_cpuid_list)
+void libxl_cpuid_dispose(libxl_cpuid_policy_list *p_cpuid_list)
 {
 }
 
@@ -38,6 +38,12 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
 {
 }
 
+yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
+                                libxl_cpuid_policy_list *pcpuid)
+{
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgJ-0001Vf-5o; Tue, 29 May 2012 13:41:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgH-0001VC-Oh
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:49 +0000
Received: from [85.158.138.51:21383] by server-9.bemta-3.messagelabs.com id
	5F/75-11033-C12D4CF4; Tue, 29 May 2012 13:41:48 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338298906!29664718!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7597 invoked from network); 29 May 2012 13:41:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055409"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:46 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-CS; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:33 +0100
Message-ID: <1338298896-27411-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 5/8] libxl: Introduce
	libxl__arch_domain_create
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce an arch specific internal domain creation function.
The X86 version of libxl__arch_domain_create is going to be introduced
in the next few patches, to make it easier to spot all the code motions.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/Makefile       |    6 +++---
 tools/libxl/libxl_arch.h   |   22 ++++++++++++++++++++++
 tools/libxl/libxl_noarch.c |    8 ++++++++
 3 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 tools/libxl/libxl_arch.h
 create mode 100644 tools/libxl/libxl_noarch.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index f9cc9fd..6ba4cf0 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -34,9 +34,9 @@ LIBXL_OBJS-y += libxl_blktap2.o
 else
 LIBXL_OBJS-y += libxl_noblktap2.o
 endif
-LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
-LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
-LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
+LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_noarch.o
+LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o libxl_noarch.o
+LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o libxl_noarch.o
 
 ifeq ($(CONFIG_NetBSD),y)
 LIBXL_OBJS-y += libxl_netbsd.o
diff --git a/tools/libxl/libxl_arch.h b/tools/libxl/libxl_arch.h
new file mode 100644
index 0000000..abe6685
--- /dev/null
+++ b/tools/libxl/libxl_arch.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#ifndef LIBXL_ARCH_H
+#define LIBXL_ARCH_H
+
+/* arch specific internal domain creation function */
+int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
+               uint32_t domid);
+
+#endif
diff --git a/tools/libxl/libxl_noarch.c b/tools/libxl/libxl_noarch.c
new file mode 100644
index 0000000..7893535
--- /dev/null
+++ b/tools/libxl/libxl_noarch.c
@@ -0,0 +1,8 @@
+#include "libxl_internal.h"
+#include "libxl_arch.h"
+
+int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
+                              uint32_t domid)
+{
+    return 0;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgJ-0001Vf-5o; Tue, 29 May 2012 13:41:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgH-0001VC-Oh
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:49 +0000
Received: from [85.158.138.51:21383] by server-9.bemta-3.messagelabs.com id
	5F/75-11033-C12D4CF4; Tue, 29 May 2012 13:41:48 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338298906!29664718!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7597 invoked from network); 29 May 2012 13:41:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055409"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:46 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-CS; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:33 +0100
Message-ID: <1338298896-27411-5-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 5/8] libxl: Introduce
	libxl__arch_domain_create
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce an arch specific internal domain creation function.
The X86 version of libxl__arch_domain_create is going to be introduced
in the next few patches, to make it easier to spot all the code motions.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/Makefile       |    6 +++---
 tools/libxl/libxl_arch.h   |   22 ++++++++++++++++++++++
 tools/libxl/libxl_noarch.c |    8 ++++++++
 3 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 tools/libxl/libxl_arch.h
 create mode 100644 tools/libxl/libxl_noarch.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index f9cc9fd..6ba4cf0 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -34,9 +34,9 @@ LIBXL_OBJS-y += libxl_blktap2.o
 else
 LIBXL_OBJS-y += libxl_noblktap2.o
 endif
-LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
-LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
-LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
+LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_noarch.o
+LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o libxl_noarch.o
+LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o libxl_noarch.o
 
 ifeq ($(CONFIG_NetBSD),y)
 LIBXL_OBJS-y += libxl_netbsd.o
diff --git a/tools/libxl/libxl_arch.h b/tools/libxl/libxl_arch.h
new file mode 100644
index 0000000..abe6685
--- /dev/null
+++ b/tools/libxl/libxl_arch.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#ifndef LIBXL_ARCH_H
+#define LIBXL_ARCH_H
+
+/* arch specific internal domain creation function */
+int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
+               uint32_t domid);
+
+#endif
diff --git a/tools/libxl/libxl_noarch.c b/tools/libxl/libxl_noarch.c
new file mode 100644
index 0000000..7893535
--- /dev/null
+++ b/tools/libxl/libxl_noarch.c
@@ -0,0 +1,8 @@
+#include "libxl_internal.h"
+#include "libxl_arch.h"
+
+int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
+                              uint32_t domid)
+{
+    return 0;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgO-0001Y6-Ok; Tue, 29 May 2012 13:41:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgN-0001Wt-4v
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:55 +0000
Received: from [85.158.143.99:30034] by server-3.bemta-4.messagelabs.com id
	C5/52-05853-222D4CF4; Tue, 29 May 2012 13:41:54 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338298911!25011178!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26492 invoked from network); 29 May 2012 13:41:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744705"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:51 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-Fx; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:35 +0100
Message-ID: <1338298896-27411-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 7/8] libxl: move e820_names, e820_sanitize,
	libxl__e820_alloc to libxl_x86.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/libxl_pci.c |  242 -----------------------------------------------
 tools/libxl/libxl_x86.c |  242 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 242 insertions(+), 242 deletions(-)

diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index e980995..8eb9e5f 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -1412,248 +1412,6 @@ int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid)
     return 0;
 }
 
-static const char *e820_names(int type)
-{
-    switch (type) {
-        case E820_RAM: return "RAM";
-        case E820_RESERVED: return "Reserved";
-        case E820_ACPI: return "ACPI";
-        case E820_NVS: return "ACPI NVS";
-        case E820_UNUSABLE: return "Unusable";
-        default: break;
-    }
-    return "Unknown";
-}
-
-static int e820_sanitize(libxl_ctx *ctx, struct e820entry src[],
-                         uint32_t *nr_entries,
-                         unsigned long map_limitkb,
-                         unsigned long balloon_kb)
-{
-    uint64_t delta_kb = 0, start = 0, start_kb = 0, last = 0, ram_end;
-    uint32_t i, idx = 0, nr;
-    struct e820entry e820[E820MAX];
-
-    if (!src || !map_limitkb || !nr_entries)
-        return ERROR_INVAL;
-
-    nr = *nr_entries;
-    if (!nr)
-        return ERROR_INVAL;
-
-    if (nr > E820MAX)
-        return ERROR_NOMEM;
-
-    /* Weed out anything under 1MB */
-    for (i = 0; i < nr; i++) {
-        if (src[i].addr > 0x100000)
-            continue;
-
-        src[i].type = 0;
-        src[i].size = 0;
-        src[i].addr = -1ULL;
-    }
-
-    /* Find the lowest and highest entry in E820, skipping over
-     * undesired entries. */
-    start = -1ULL;
-    last = 0;
-    for (i = 0; i < nr; i++) {
-        if ((src[i].type == E820_RAM) ||
-            (src[i].type == E820_UNUSABLE) ||
-            (src[i].type == 0))
-            continue;
-
-        start = src[i].addr < start ? src[i].addr : start;
-        last = src[i].addr + src[i].size > last ?
-               src[i].addr + src[i].size > last : last;
-    }
-    if (start > 1024)
-        start_kb = start >> 10;
-
-    /* Add the memory RAM region for the guest */
-    e820[idx].addr = 0;
-    e820[idx].size = (uint64_t)map_limitkb << 10;
-    e820[idx].type = E820_RAM;
-
-    /* .. and trim if neccessary */
-    if (start_kb && map_limitkb > start_kb) {
-        delta_kb = map_limitkb - start_kb;
-        if (delta_kb)
-            e820[idx].size -= (uint64_t)(delta_kb << 10);
-    }
-    /* Note: We don't touch balloon_kb here. Will add it at the end. */
-    ram_end = e820[idx].addr + e820[idx].size;
-    idx ++;
-
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Memory: %"PRIu64"kB End of RAM: " \
-               "0x%"PRIx64" (PFN) Delta: %"PRIu64"kB, PCI start: %"PRIu64"kB " \
-               "(0x%"PRIx64" PFN), Balloon %"PRIu64"kB\n", (uint64_t)map_limitkb,
-               ram_end >> 12, delta_kb, start_kb ,start >> 12,
-               (uint64_t)balloon_kb);
-
-
-    /* This whole code below is to guard against if the Intel IGD is passed into
-     * the guest. If we don't pass in IGD, this whole code can be ignored.
-     *
-     * The reason for this code is that Intel boxes fill their E820 with
-     * E820_RAM amongst E820_RESERVED and we can't just ditch those E820_RAM.
-     * That is b/c any "gaps" in the E820 is considered PCI I/O space by
-     * Linux and it would be utilized by the Intel IGD as I/O space while
-     * in reality it was an RAM region.
-     *
-     * What this means is that we have to walk the E820 and for any region
-     * that is RAM and below 4GB and above ram_end, needs to change its type
-     * to E820_UNUSED. We also need to move some of the E820_RAM regions if
-     * the overlap with ram_end. */
-    for (i = 0; i < nr; i++) {
-        uint64_t end = src[i].addr + src[i].size;
-
-        /* We don't care about E820_UNUSABLE, but we need to
-         * change the type to zero b/c the loop after this
-         * sticks E820_UNUSABLE on the guest's E820 but ignores
-         * the ones with type zero. */
-        if ((src[i].type == E820_UNUSABLE) ||
-            /* Any region that is within the "RAM region" can
-             * be safely ditched. */
-            (end < ram_end)) {
-                src[i].type = 0;
-                continue;
-        }
-
-        /* Look only at RAM regions. */
-        if (src[i].type != E820_RAM)
-            continue;
-
-        /* We only care about RAM regions below 4GB. */
-        if (src[i].addr >= (1ULL<<32))
-            continue;
-
-        /* E820_RAM overlaps with our RAM region. Move it */
-        if (src[i].addr < ram_end) {
-            uint64_t delta;
-
-            src[i].type = E820_UNUSABLE;
-            delta = ram_end - src[i].addr;
-            /* The end < ram_end should weed this out */
-            if (src[i].size - delta < 0)
-                src[i].type = 0;
-            else {
-                src[i].size -= delta;
-                src[i].addr = ram_end;
-            }
-            if (src[i].addr + src[i].size != end) {
-                /* We messed up somewhere */
-                src[i].type = 0;
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Computed E820 wrongly. Continuing on.");
-            }
-        }
-        /* Lastly, convert the RAM to UNSUABLE. Look in the Linux kernel
-           at git commit 2f14ddc3a7146ea4cd5a3d1ecd993f85f2e4f948
-            "xen/setup: Inhibit resource API from using System RAM E820
-           gaps as PCI mem gaps" for full explanation. */
-        if (end > ram_end)
-            src[i].type = E820_UNUSABLE;
-    }
-
-    /* Check if there is a region between ram_end and start. */
-    if (start > ram_end) {
-        int add_unusable = 1;
-        for (i = 0; i < nr && add_unusable; i++) {
-            if (src[i].type != E820_UNUSABLE)
-                continue;
-            if (ram_end != src[i].addr)
-                continue;
-            if (start != src[i].addr + src[i].size) {
-                /* there is one, adjust it */
-                src[i].size = start - src[i].addr;
-            }
-            add_unusable = 0;
-        }
-        /* .. and if not present, add it in. This is to guard against
-           the Linux guest assuming that the gap between the end of
-           RAM region and the start of the E820_[ACPI,NVS,RESERVED]
-           is PCI I/O space. Which it certainly is _not_. */
-        if (add_unusable) {
-            e820[idx].type = E820_UNUSABLE;
-            e820[idx].addr = ram_end;
-            e820[idx].size = start - ram_end;
-            idx++;
-        }
-    }
-    /* Almost done: copy them over, ignoring the undesireable ones */
-    for (i = 0; i < nr; i++) {
-        if ((src[i].type == E820_RAM) ||
-            (src[i].type == 0))
-            continue;
-
-        e820[idx].type = src[i].type;
-        e820[idx].addr = src[i].addr;
-        e820[idx].size = src[i].size;
-        idx++;
-    }
-    /* At this point we have the mapped RAM + E820 entries from src. */
-    if (balloon_kb) {
-        /* and if we truncated the RAM region, then add it to the end. */
-        e820[idx].type = E820_RAM;
-        e820[idx].addr = (uint64_t)(1ULL << 32) > last ?
-                         (uint64_t)(1ULL << 32) : last;
-        /* also add the balloon memory to the end. */
-        e820[idx].size = (uint64_t)(delta_kb << 10) +
-                         (uint64_t)(balloon_kb << 10);
-        idx++;
-
-    }
-    nr = idx;
-
-    for (i = 0; i < nr; i++) {
-      LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, ":\t[%"PRIx64" -> %"PRIx64"] %s",
-                 e820[i].addr >> 12, (e820[i].addr + e820[i].size) >> 12,
-                 e820_names(e820[i].type));
-    }
-
-    /* Done: copy the sanitized version. */
-    *nr_entries = nr;
-    memcpy(src, e820, nr * sizeof(struct e820entry));
-    return 0;
-}
-
-int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int rc;
-    uint32_t nr;
-    struct e820entry map[E820MAX];
-    libxl_domain_build_info *b_info;
-
-    if (d_config == NULL || d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM)
-        return ERROR_INVAL;
-
-    b_info = &d_config->b_info;
-    if (!libxl_defbool_val(b_info->u.pv.e820_host))
-        return ERROR_INVAL;
-
-    rc = xc_get_machine_memory_map(ctx->xch, map, E820MAX);
-    if (rc < 0) {
-        errno = rc;
-        return ERROR_FAIL;
-    }
-    nr = rc;
-    rc = e820_sanitize(ctx, map, &nr, b_info->target_memkb,
-                       (b_info->max_memkb - b_info->target_memkb) +
-                       b_info->u.pv.slack_memkb);
-    if (rc)
-        return ERROR_FAIL;
-
-    rc = xc_domain_set_memory_map(ctx->xch, domid, map, nr);
-
-    if (rc < 0) {
-        errno  = rc;
-        return ERROR_FAIL;
-    }
-    return 0;
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
index 7e28504..e4c00aa 100644
--- a/tools/libxl/libxl_x86.c
+++ b/tools/libxl/libxl_x86.c
@@ -1,6 +1,248 @@
 #include "libxl_internal.h"
 #include "libxl_arch.h"
 
+static const char *e820_names(int type)
+{
+    switch (type) {
+        case E820_RAM: return "RAM";
+        case E820_RESERVED: return "Reserved";
+        case E820_ACPI: return "ACPI";
+        case E820_NVS: return "ACPI NVS";
+        case E820_UNUSABLE: return "Unusable";
+        default: break;
+    }
+    return "Unknown";
+}
+
+static int e820_sanitize(libxl_ctx *ctx, struct e820entry src[],
+                         uint32_t *nr_entries,
+                         unsigned long map_limitkb,
+                         unsigned long balloon_kb)
+{
+    uint64_t delta_kb = 0, start = 0, start_kb = 0, last = 0, ram_end;
+    uint32_t i, idx = 0, nr;
+    struct e820entry e820[E820MAX];
+
+    if (!src || !map_limitkb || !nr_entries)
+        return ERROR_INVAL;
+
+    nr = *nr_entries;
+    if (!nr)
+        return ERROR_INVAL;
+
+    if (nr > E820MAX)
+        return ERROR_NOMEM;
+
+    /* Weed out anything under 1MB */
+    for (i = 0; i < nr; i++) {
+        if (src[i].addr > 0x100000)
+            continue;
+
+        src[i].type = 0;
+        src[i].size = 0;
+        src[i].addr = -1ULL;
+    }
+
+    /* Find the lowest and highest entry in E820, skipping over
+     * undesired entries. */
+    start = -1ULL;
+    last = 0;
+    for (i = 0; i < nr; i++) {
+        if ((src[i].type == E820_RAM) ||
+            (src[i].type == E820_UNUSABLE) ||
+            (src[i].type == 0))
+            continue;
+
+        start = src[i].addr < start ? src[i].addr : start;
+        last = src[i].addr + src[i].size > last ?
+               src[i].addr + src[i].size > last : last;
+    }
+    if (start > 1024)
+        start_kb = start >> 10;
+
+    /* Add the memory RAM region for the guest */
+    e820[idx].addr = 0;
+    e820[idx].size = (uint64_t)map_limitkb << 10;
+    e820[idx].type = E820_RAM;
+
+    /* .. and trim if neccessary */
+    if (start_kb && map_limitkb > start_kb) {
+        delta_kb = map_limitkb - start_kb;
+        if (delta_kb)
+            e820[idx].size -= (uint64_t)(delta_kb << 10);
+    }
+    /* Note: We don't touch balloon_kb here. Will add it at the end. */
+    ram_end = e820[idx].addr + e820[idx].size;
+    idx ++;
+
+    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Memory: %"PRIu64"kB End of RAM: " \
+               "0x%"PRIx64" (PFN) Delta: %"PRIu64"kB, PCI start: %"PRIu64"kB " \
+               "(0x%"PRIx64" PFN), Balloon %"PRIu64"kB\n", (uint64_t)map_limitkb,
+               ram_end >> 12, delta_kb, start_kb ,start >> 12,
+               (uint64_t)balloon_kb);
+
+
+    /* This whole code below is to guard against if the Intel IGD is passed into
+     * the guest. If we don't pass in IGD, this whole code can be ignored.
+     *
+     * The reason for this code is that Intel boxes fill their E820 with
+     * E820_RAM amongst E820_RESERVED and we can't just ditch those E820_RAM.
+     * That is b/c any "gaps" in the E820 is considered PCI I/O space by
+     * Linux and it would be utilized by the Intel IGD as I/O space while
+     * in reality it was an RAM region.
+     *
+     * What this means is that we have to walk the E820 and for any region
+     * that is RAM and below 4GB and above ram_end, needs to change its type
+     * to E820_UNUSED. We also need to move some of the E820_RAM regions if
+     * the overlap with ram_end. */
+    for (i = 0; i < nr; i++) {
+        uint64_t end = src[i].addr + src[i].size;
+
+        /* We don't care about E820_UNUSABLE, but we need to
+         * change the type to zero b/c the loop after this
+         * sticks E820_UNUSABLE on the guest's E820 but ignores
+         * the ones with type zero. */
+        if ((src[i].type == E820_UNUSABLE) ||
+            /* Any region that is within the "RAM region" can
+             * be safely ditched. */
+            (end < ram_end)) {
+                src[i].type = 0;
+                continue;
+        }
+
+        /* Look only at RAM regions. */
+        if (src[i].type != E820_RAM)
+            continue;
+
+        /* We only care about RAM regions below 4GB. */
+        if (src[i].addr >= (1ULL<<32))
+            continue;
+
+        /* E820_RAM overlaps with our RAM region. Move it */
+        if (src[i].addr < ram_end) {
+            uint64_t delta;
+
+            src[i].type = E820_UNUSABLE;
+            delta = ram_end - src[i].addr;
+            /* The end < ram_end should weed this out */
+            if (src[i].size - delta < 0)
+                src[i].type = 0;
+            else {
+                src[i].size -= delta;
+                src[i].addr = ram_end;
+            }
+            if (src[i].addr + src[i].size != end) {
+                /* We messed up somewhere */
+                src[i].type = 0;
+                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Computed E820 wrongly. Continuing on.");
+            }
+        }
+        /* Lastly, convert the RAM to UNSUABLE. Look in the Linux kernel
+           at git commit 2f14ddc3a7146ea4cd5a3d1ecd993f85f2e4f948
+            "xen/setup: Inhibit resource API from using System RAM E820
+           gaps as PCI mem gaps" for full explanation. */
+        if (end > ram_end)
+            src[i].type = E820_UNUSABLE;
+    }
+
+    /* Check if there is a region between ram_end and start. */
+    if (start > ram_end) {
+        int add_unusable = 1;
+        for (i = 0; i < nr && add_unusable; i++) {
+            if (src[i].type != E820_UNUSABLE)
+                continue;
+            if (ram_end != src[i].addr)
+                continue;
+            if (start != src[i].addr + src[i].size) {
+                /* there is one, adjust it */
+                src[i].size = start - src[i].addr;
+            }
+            add_unusable = 0;
+        }
+        /* .. and if not present, add it in. This is to guard against
+           the Linux guest assuming that the gap between the end of
+           RAM region and the start of the E820_[ACPI,NVS,RESERVED]
+           is PCI I/O space. Which it certainly is _not_. */
+        if (add_unusable) {
+            e820[idx].type = E820_UNUSABLE;
+            e820[idx].addr = ram_end;
+            e820[idx].size = start - ram_end;
+            idx++;
+        }
+    }
+    /* Almost done: copy them over, ignoring the undesireable ones */
+    for (i = 0; i < nr; i++) {
+        if ((src[i].type == E820_RAM) ||
+            (src[i].type == 0))
+            continue;
+
+        e820[idx].type = src[i].type;
+        e820[idx].addr = src[i].addr;
+        e820[idx].size = src[i].size;
+        idx++;
+    }
+    /* At this point we have the mapped RAM + E820 entries from src. */
+    if (balloon_kb) {
+        /* and if we truncated the RAM region, then add it to the end. */
+        e820[idx].type = E820_RAM;
+        e820[idx].addr = (uint64_t)(1ULL << 32) > last ?
+                         (uint64_t)(1ULL << 32) : last;
+        /* also add the balloon memory to the end. */
+        e820[idx].size = (uint64_t)(delta_kb << 10) +
+                         (uint64_t)(balloon_kb << 10);
+        idx++;
+
+    }
+    nr = idx;
+
+    for (i = 0; i < nr; i++) {
+      LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, ":\t[%"PRIx64" -> %"PRIx64"] %s",
+                 e820[i].addr >> 12, (e820[i].addr + e820[i].size) >> 12,
+                 e820_names(e820[i].type));
+    }
+
+    /* Done: copy the sanitized version. */
+    *nr_entries = nr;
+    memcpy(src, e820, nr * sizeof(struct e820entry));
+    return 0;
+}
+
+int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    uint32_t nr;
+    struct e820entry map[E820MAX];
+    libxl_domain_build_info *b_info;
+
+    if (d_config == NULL || d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM)
+        return ERROR_INVAL;
+
+    b_info = &d_config->b_info;
+    if (!libxl_defbool_val(b_info->u.pv.e820_host))
+        return ERROR_INVAL;
+
+    rc = xc_get_machine_memory_map(ctx->xch, map, E820MAX);
+    if (rc < 0) {
+        errno = rc;
+        return ERROR_FAIL;
+    }
+    nr = rc;
+    rc = e820_sanitize(ctx, map, &nr, b_info->target_memkb,
+                       (b_info->max_memkb - b_info->target_memkb) +
+                       b_info->u.pv.slack_memkb);
+    if (rc)
+        return ERROR_FAIL;
+
+    rc = xc_domain_set_memory_map(ctx->xch, domid, map, nr);
+
+    if (rc < 0) {
+        errno  = rc;
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
 int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         uint32_t domid)
 {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgO-0001Y6-Ok; Tue, 29 May 2012 13:41:56 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgN-0001Wt-4v
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:55 +0000
Received: from [85.158.143.99:30034] by server-3.bemta-4.messagelabs.com id
	C5/52-05853-222D4CF4; Tue, 29 May 2012 13:41:54 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338298911!25011178!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26492 invoked from network); 29 May 2012 13:41:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744705"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:51 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-Fx; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:35 +0100
Message-ID: <1338298896-27411-7-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 7/8] libxl: move e820_names, e820_sanitize,
	libxl__e820_alloc to libxl_x86.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/libxl_pci.c |  242 -----------------------------------------------
 tools/libxl/libxl_x86.c |  242 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 242 insertions(+), 242 deletions(-)

diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index e980995..8eb9e5f 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -1412,248 +1412,6 @@ int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid)
     return 0;
 }
 
-static const char *e820_names(int type)
-{
-    switch (type) {
-        case E820_RAM: return "RAM";
-        case E820_RESERVED: return "Reserved";
-        case E820_ACPI: return "ACPI";
-        case E820_NVS: return "ACPI NVS";
-        case E820_UNUSABLE: return "Unusable";
-        default: break;
-    }
-    return "Unknown";
-}
-
-static int e820_sanitize(libxl_ctx *ctx, struct e820entry src[],
-                         uint32_t *nr_entries,
-                         unsigned long map_limitkb,
-                         unsigned long balloon_kb)
-{
-    uint64_t delta_kb = 0, start = 0, start_kb = 0, last = 0, ram_end;
-    uint32_t i, idx = 0, nr;
-    struct e820entry e820[E820MAX];
-
-    if (!src || !map_limitkb || !nr_entries)
-        return ERROR_INVAL;
-
-    nr = *nr_entries;
-    if (!nr)
-        return ERROR_INVAL;
-
-    if (nr > E820MAX)
-        return ERROR_NOMEM;
-
-    /* Weed out anything under 1MB */
-    for (i = 0; i < nr; i++) {
-        if (src[i].addr > 0x100000)
-            continue;
-
-        src[i].type = 0;
-        src[i].size = 0;
-        src[i].addr = -1ULL;
-    }
-
-    /* Find the lowest and highest entry in E820, skipping over
-     * undesired entries. */
-    start = -1ULL;
-    last = 0;
-    for (i = 0; i < nr; i++) {
-        if ((src[i].type == E820_RAM) ||
-            (src[i].type == E820_UNUSABLE) ||
-            (src[i].type == 0))
-            continue;
-
-        start = src[i].addr < start ? src[i].addr : start;
-        last = src[i].addr + src[i].size > last ?
-               src[i].addr + src[i].size > last : last;
-    }
-    if (start > 1024)
-        start_kb = start >> 10;
-
-    /* Add the memory RAM region for the guest */
-    e820[idx].addr = 0;
-    e820[idx].size = (uint64_t)map_limitkb << 10;
-    e820[idx].type = E820_RAM;
-
-    /* .. and trim if neccessary */
-    if (start_kb && map_limitkb > start_kb) {
-        delta_kb = map_limitkb - start_kb;
-        if (delta_kb)
-            e820[idx].size -= (uint64_t)(delta_kb << 10);
-    }
-    /* Note: We don't touch balloon_kb here. Will add it at the end. */
-    ram_end = e820[idx].addr + e820[idx].size;
-    idx ++;
-
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Memory: %"PRIu64"kB End of RAM: " \
-               "0x%"PRIx64" (PFN) Delta: %"PRIu64"kB, PCI start: %"PRIu64"kB " \
-               "(0x%"PRIx64" PFN), Balloon %"PRIu64"kB\n", (uint64_t)map_limitkb,
-               ram_end >> 12, delta_kb, start_kb ,start >> 12,
-               (uint64_t)balloon_kb);
-
-
-    /* This whole code below is to guard against if the Intel IGD is passed into
-     * the guest. If we don't pass in IGD, this whole code can be ignored.
-     *
-     * The reason for this code is that Intel boxes fill their E820 with
-     * E820_RAM amongst E820_RESERVED and we can't just ditch those E820_RAM.
-     * That is b/c any "gaps" in the E820 is considered PCI I/O space by
-     * Linux and it would be utilized by the Intel IGD as I/O space while
-     * in reality it was an RAM region.
-     *
-     * What this means is that we have to walk the E820 and for any region
-     * that is RAM and below 4GB and above ram_end, needs to change its type
-     * to E820_UNUSED. We also need to move some of the E820_RAM regions if
-     * the overlap with ram_end. */
-    for (i = 0; i < nr; i++) {
-        uint64_t end = src[i].addr + src[i].size;
-
-        /* We don't care about E820_UNUSABLE, but we need to
-         * change the type to zero b/c the loop after this
-         * sticks E820_UNUSABLE on the guest's E820 but ignores
-         * the ones with type zero. */
-        if ((src[i].type == E820_UNUSABLE) ||
-            /* Any region that is within the "RAM region" can
-             * be safely ditched. */
-            (end < ram_end)) {
-                src[i].type = 0;
-                continue;
-        }
-
-        /* Look only at RAM regions. */
-        if (src[i].type != E820_RAM)
-            continue;
-
-        /* We only care about RAM regions below 4GB. */
-        if (src[i].addr >= (1ULL<<32))
-            continue;
-
-        /* E820_RAM overlaps with our RAM region. Move it */
-        if (src[i].addr < ram_end) {
-            uint64_t delta;
-
-            src[i].type = E820_UNUSABLE;
-            delta = ram_end - src[i].addr;
-            /* The end < ram_end should weed this out */
-            if (src[i].size - delta < 0)
-                src[i].type = 0;
-            else {
-                src[i].size -= delta;
-                src[i].addr = ram_end;
-            }
-            if (src[i].addr + src[i].size != end) {
-                /* We messed up somewhere */
-                src[i].type = 0;
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Computed E820 wrongly. Continuing on.");
-            }
-        }
-        /* Lastly, convert the RAM to UNSUABLE. Look in the Linux kernel
-           at git commit 2f14ddc3a7146ea4cd5a3d1ecd993f85f2e4f948
-            "xen/setup: Inhibit resource API from using System RAM E820
-           gaps as PCI mem gaps" for full explanation. */
-        if (end > ram_end)
-            src[i].type = E820_UNUSABLE;
-    }
-
-    /* Check if there is a region between ram_end and start. */
-    if (start > ram_end) {
-        int add_unusable = 1;
-        for (i = 0; i < nr && add_unusable; i++) {
-            if (src[i].type != E820_UNUSABLE)
-                continue;
-            if (ram_end != src[i].addr)
-                continue;
-            if (start != src[i].addr + src[i].size) {
-                /* there is one, adjust it */
-                src[i].size = start - src[i].addr;
-            }
-            add_unusable = 0;
-        }
-        /* .. and if not present, add it in. This is to guard against
-           the Linux guest assuming that the gap between the end of
-           RAM region and the start of the E820_[ACPI,NVS,RESERVED]
-           is PCI I/O space. Which it certainly is _not_. */
-        if (add_unusable) {
-            e820[idx].type = E820_UNUSABLE;
-            e820[idx].addr = ram_end;
-            e820[idx].size = start - ram_end;
-            idx++;
-        }
-    }
-    /* Almost done: copy them over, ignoring the undesireable ones */
-    for (i = 0; i < nr; i++) {
-        if ((src[i].type == E820_RAM) ||
-            (src[i].type == 0))
-            continue;
-
-        e820[idx].type = src[i].type;
-        e820[idx].addr = src[i].addr;
-        e820[idx].size = src[i].size;
-        idx++;
-    }
-    /* At this point we have the mapped RAM + E820 entries from src. */
-    if (balloon_kb) {
-        /* and if we truncated the RAM region, then add it to the end. */
-        e820[idx].type = E820_RAM;
-        e820[idx].addr = (uint64_t)(1ULL << 32) > last ?
-                         (uint64_t)(1ULL << 32) : last;
-        /* also add the balloon memory to the end. */
-        e820[idx].size = (uint64_t)(delta_kb << 10) +
-                         (uint64_t)(balloon_kb << 10);
-        idx++;
-
-    }
-    nr = idx;
-
-    for (i = 0; i < nr; i++) {
-      LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, ":\t[%"PRIx64" -> %"PRIx64"] %s",
-                 e820[i].addr >> 12, (e820[i].addr + e820[i].size) >> 12,
-                 e820_names(e820[i].type));
-    }
-
-    /* Done: copy the sanitized version. */
-    *nr_entries = nr;
-    memcpy(src, e820, nr * sizeof(struct e820entry));
-    return 0;
-}
-
-int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int rc;
-    uint32_t nr;
-    struct e820entry map[E820MAX];
-    libxl_domain_build_info *b_info;
-
-    if (d_config == NULL || d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM)
-        return ERROR_INVAL;
-
-    b_info = &d_config->b_info;
-    if (!libxl_defbool_val(b_info->u.pv.e820_host))
-        return ERROR_INVAL;
-
-    rc = xc_get_machine_memory_map(ctx->xch, map, E820MAX);
-    if (rc < 0) {
-        errno = rc;
-        return ERROR_FAIL;
-    }
-    nr = rc;
-    rc = e820_sanitize(ctx, map, &nr, b_info->target_memkb,
-                       (b_info->max_memkb - b_info->target_memkb) +
-                       b_info->u.pv.slack_memkb);
-    if (rc)
-        return ERROR_FAIL;
-
-    rc = xc_domain_set_memory_map(ctx->xch, domid, map, nr);
-
-    if (rc < 0) {
-        errno  = rc;
-        return ERROR_FAIL;
-    }
-    return 0;
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
index 7e28504..e4c00aa 100644
--- a/tools/libxl/libxl_x86.c
+++ b/tools/libxl/libxl_x86.c
@@ -1,6 +1,248 @@
 #include "libxl_internal.h"
 #include "libxl_arch.h"
 
+static const char *e820_names(int type)
+{
+    switch (type) {
+        case E820_RAM: return "RAM";
+        case E820_RESERVED: return "Reserved";
+        case E820_ACPI: return "ACPI";
+        case E820_NVS: return "ACPI NVS";
+        case E820_UNUSABLE: return "Unusable";
+        default: break;
+    }
+    return "Unknown";
+}
+
+static int e820_sanitize(libxl_ctx *ctx, struct e820entry src[],
+                         uint32_t *nr_entries,
+                         unsigned long map_limitkb,
+                         unsigned long balloon_kb)
+{
+    uint64_t delta_kb = 0, start = 0, start_kb = 0, last = 0, ram_end;
+    uint32_t i, idx = 0, nr;
+    struct e820entry e820[E820MAX];
+
+    if (!src || !map_limitkb || !nr_entries)
+        return ERROR_INVAL;
+
+    nr = *nr_entries;
+    if (!nr)
+        return ERROR_INVAL;
+
+    if (nr > E820MAX)
+        return ERROR_NOMEM;
+
+    /* Weed out anything under 1MB */
+    for (i = 0; i < nr; i++) {
+        if (src[i].addr > 0x100000)
+            continue;
+
+        src[i].type = 0;
+        src[i].size = 0;
+        src[i].addr = -1ULL;
+    }
+
+    /* Find the lowest and highest entry in E820, skipping over
+     * undesired entries. */
+    start = -1ULL;
+    last = 0;
+    for (i = 0; i < nr; i++) {
+        if ((src[i].type == E820_RAM) ||
+            (src[i].type == E820_UNUSABLE) ||
+            (src[i].type == 0))
+            continue;
+
+        start = src[i].addr < start ? src[i].addr : start;
+        last = src[i].addr + src[i].size > last ?
+               src[i].addr + src[i].size > last : last;
+    }
+    if (start > 1024)
+        start_kb = start >> 10;
+
+    /* Add the memory RAM region for the guest */
+    e820[idx].addr = 0;
+    e820[idx].size = (uint64_t)map_limitkb << 10;
+    e820[idx].type = E820_RAM;
+
+    /* .. and trim if neccessary */
+    if (start_kb && map_limitkb > start_kb) {
+        delta_kb = map_limitkb - start_kb;
+        if (delta_kb)
+            e820[idx].size -= (uint64_t)(delta_kb << 10);
+    }
+    /* Note: We don't touch balloon_kb here. Will add it at the end. */
+    ram_end = e820[idx].addr + e820[idx].size;
+    idx ++;
+
+    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Memory: %"PRIu64"kB End of RAM: " \
+               "0x%"PRIx64" (PFN) Delta: %"PRIu64"kB, PCI start: %"PRIu64"kB " \
+               "(0x%"PRIx64" PFN), Balloon %"PRIu64"kB\n", (uint64_t)map_limitkb,
+               ram_end >> 12, delta_kb, start_kb ,start >> 12,
+               (uint64_t)balloon_kb);
+
+
+    /* This whole code below is to guard against if the Intel IGD is passed into
+     * the guest. If we don't pass in IGD, this whole code can be ignored.
+     *
+     * The reason for this code is that Intel boxes fill their E820 with
+     * E820_RAM amongst E820_RESERVED and we can't just ditch those E820_RAM.
+     * That is b/c any "gaps" in the E820 is considered PCI I/O space by
+     * Linux and it would be utilized by the Intel IGD as I/O space while
+     * in reality it was an RAM region.
+     *
+     * What this means is that we have to walk the E820 and for any region
+     * that is RAM and below 4GB and above ram_end, needs to change its type
+     * to E820_UNUSED. We also need to move some of the E820_RAM regions if
+     * the overlap with ram_end. */
+    for (i = 0; i < nr; i++) {
+        uint64_t end = src[i].addr + src[i].size;
+
+        /* We don't care about E820_UNUSABLE, but we need to
+         * change the type to zero b/c the loop after this
+         * sticks E820_UNUSABLE on the guest's E820 but ignores
+         * the ones with type zero. */
+        if ((src[i].type == E820_UNUSABLE) ||
+            /* Any region that is within the "RAM region" can
+             * be safely ditched. */
+            (end < ram_end)) {
+                src[i].type = 0;
+                continue;
+        }
+
+        /* Look only at RAM regions. */
+        if (src[i].type != E820_RAM)
+            continue;
+
+        /* We only care about RAM regions below 4GB. */
+        if (src[i].addr >= (1ULL<<32))
+            continue;
+
+        /* E820_RAM overlaps with our RAM region. Move it */
+        if (src[i].addr < ram_end) {
+            uint64_t delta;
+
+            src[i].type = E820_UNUSABLE;
+            delta = ram_end - src[i].addr;
+            /* The end < ram_end should weed this out */
+            if (src[i].size - delta < 0)
+                src[i].type = 0;
+            else {
+                src[i].size -= delta;
+                src[i].addr = ram_end;
+            }
+            if (src[i].addr + src[i].size != end) {
+                /* We messed up somewhere */
+                src[i].type = 0;
+                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Computed E820 wrongly. Continuing on.");
+            }
+        }
+        /* Lastly, convert the RAM to UNSUABLE. Look in the Linux kernel
+           at git commit 2f14ddc3a7146ea4cd5a3d1ecd993f85f2e4f948
+            "xen/setup: Inhibit resource API from using System RAM E820
+           gaps as PCI mem gaps" for full explanation. */
+        if (end > ram_end)
+            src[i].type = E820_UNUSABLE;
+    }
+
+    /* Check if there is a region between ram_end and start. */
+    if (start > ram_end) {
+        int add_unusable = 1;
+        for (i = 0; i < nr && add_unusable; i++) {
+            if (src[i].type != E820_UNUSABLE)
+                continue;
+            if (ram_end != src[i].addr)
+                continue;
+            if (start != src[i].addr + src[i].size) {
+                /* there is one, adjust it */
+                src[i].size = start - src[i].addr;
+            }
+            add_unusable = 0;
+        }
+        /* .. and if not present, add it in. This is to guard against
+           the Linux guest assuming that the gap between the end of
+           RAM region and the start of the E820_[ACPI,NVS,RESERVED]
+           is PCI I/O space. Which it certainly is _not_. */
+        if (add_unusable) {
+            e820[idx].type = E820_UNUSABLE;
+            e820[idx].addr = ram_end;
+            e820[idx].size = start - ram_end;
+            idx++;
+        }
+    }
+    /* Almost done: copy them over, ignoring the undesireable ones */
+    for (i = 0; i < nr; i++) {
+        if ((src[i].type == E820_RAM) ||
+            (src[i].type == 0))
+            continue;
+
+        e820[idx].type = src[i].type;
+        e820[idx].addr = src[i].addr;
+        e820[idx].size = src[i].size;
+        idx++;
+    }
+    /* At this point we have the mapped RAM + E820 entries from src. */
+    if (balloon_kb) {
+        /* and if we truncated the RAM region, then add it to the end. */
+        e820[idx].type = E820_RAM;
+        e820[idx].addr = (uint64_t)(1ULL << 32) > last ?
+                         (uint64_t)(1ULL << 32) : last;
+        /* also add the balloon memory to the end. */
+        e820[idx].size = (uint64_t)(delta_kb << 10) +
+                         (uint64_t)(balloon_kb << 10);
+        idx++;
+
+    }
+    nr = idx;
+
+    for (i = 0; i < nr; i++) {
+      LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, ":\t[%"PRIx64" -> %"PRIx64"] %s",
+                 e820[i].addr >> 12, (e820[i].addr + e820[i].size) >> 12,
+                 e820_names(e820[i].type));
+    }
+
+    /* Done: copy the sanitized version. */
+    *nr_entries = nr;
+    memcpy(src, e820, nr * sizeof(struct e820entry));
+    return 0;
+}
+
+int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config)
+{
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int rc;
+    uint32_t nr;
+    struct e820entry map[E820MAX];
+    libxl_domain_build_info *b_info;
+
+    if (d_config == NULL || d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM)
+        return ERROR_INVAL;
+
+    b_info = &d_config->b_info;
+    if (!libxl_defbool_val(b_info->u.pv.e820_host))
+        return ERROR_INVAL;
+
+    rc = xc_get_machine_memory_map(ctx->xch, map, E820MAX);
+    if (rc < 0) {
+        errno = rc;
+        return ERROR_FAIL;
+    }
+    nr = rc;
+    rc = e820_sanitize(ctx, map, &nr, b_info->target_memkb,
+                       (b_info->max_memkb - b_info->target_memkb) +
+                       b_info->u.pv.slack_memkb);
+    if (rc)
+        return ERROR_FAIL;
+
+    rc = xc_domain_set_memory_map(ctx->xch, domid, map, nr);
+
+    if (rc < 0) {
+        errno  = rc;
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
 int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         uint32_t domid)
 {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgL-0001WZ-NA; Tue, 29 May 2012 13:41:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgK-0001VE-CM
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:52 +0000
Received: from [85.158.139.83:4184] by server-2.bemta-5.messagelabs.com id
	56/7D-09957-D12D4CF4; Tue, 29 May 2012 13:41:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338298906!28235313!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16625 invoked from network); 29 May 2012 13:41:48 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744688"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-AB; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:31 +0100
Message-ID: <1338298896-27411-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 3/8] arm: compile xentrace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/xentrace/xenctx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/xentrace/xenctx.c b/tools/xentrace/xenctx.c
index a12cc21..530ef65 100644
--- a/tools/xentrace/xenctx.c
+++ b/tools/xentrace/xenctx.c
@@ -60,6 +60,12 @@ int disp_ar_regs;
 int disp_br_regs;
 int disp_bank_regs;
 int disp_tlb;
+
+#elif defined(__arm__)
+#define NO_TRANSLATION
+typedef uint64_t guest_word_t;
+#define FMT_32B_WORD "%08llx"
+#define FMT_64B_WORD "%016llx"
 #endif
 
 struct symbol {
@@ -678,6 +684,12 @@ void print_ctx(vcpu_guest_context_any_t *ctx)
             print_tr(i, &tr->dtrs[i]);
     }
 }
+#elif defined(__arm__)
+static void print_ctx(vcpu_guest_context_any_t *ctx)
+{
+    /* XXX: properly implement this */
+    print_symbol(0);
+}
 #endif
 
 #ifndef NO_TRANSLATION
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgP-0001YP-4m; Tue, 29 May 2012 13:41:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgN-0001Vq-Bb
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:56 +0000
Received: from [85.158.139.83:58627] by server-9.bemta-5.messagelabs.com id
	F1/AF-27779-F12D4CF4; Tue, 29 May 2012 13:41:51 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338298906!28235313!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16824 invoked from network); 29 May 2012 13:41:50 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744690"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-8r; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:29 +0100
Message-ID: <1338298896-27411-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 1/8] arm: compile libxenguest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce an empty implementation of the arch specific ARM functions in
xc_dom_arm.c.
Provide empty implementations of xc_domain_save and xc_domain_restore
when CONFIG_MIGRATE is not set.
Move xc_hvm_build.c to xc_hvm_build_x86.c because the implementation is
x86 specific, introduce xc_hvm_build_arm.c with empty stubs.


Changes in v3:

- rename xc_hvm_build.c to xc_hvm_build_x86.c;

- remove xc_nohvm, introduce xc_hvm_build_arm.c instead;



Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxc/Makefile           |   12 +-
 tools/libxc/xc_dom_arm.c       |   50 +++++
 tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
 tools/libxc/xc_hvm_build_arm.c |   49 ++++
 tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
 tools/libxc/xc_nomigrate.c     |   54 +++++
 6 files changed, 634 insertions(+), 475 deletions(-)
 create mode 100644 tools/libxc/xc_dom_arm.c
 delete mode 100644 tools/libxc/xc_hvm_build.c
 create mode 100644 tools/libxc/xc_hvm_build_arm.c
 create mode 100644 tools/libxc/xc_hvm_build_x86.c
 create mode 100644 tools/libxc/xc_nomigrate.c

diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index a1ba134..ca38cbd 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -42,9 +42,12 @@ CTRL_SRCS-$(CONFIG_MiniOS) += xc_minios.c
 
 GUEST_SRCS-y :=
 GUEST_SRCS-y += xg_private.c xc_suspend.c
-GUEST_SRCS-$(CONFIG_MIGRATE) += xc_domain_restore.c xc_domain_save.c
-GUEST_SRCS-$(CONFIG_MIGRATE) += xc_offline_page.c xc_compression.c
-GUEST_SRCS-$(CONFIG_HVM) += xc_hvm_build.c
+ifeq ($(CONFIG_MIGRATE),y)
+GUEST_SRCS-y += xc_domain_restore.c xc_domain_save.c
+GUEST_SRCS-y += xc_offline_page.c xc_compression.c
+else
+GUEST_SRCS-y += xc_nomigrate.c
+endif
 
 vpath %.c ../../xen/common/libelf
 CFLAGS += -I../../xen/common/libelf
@@ -61,7 +64,10 @@ GUEST_SRCS-y                 += xc_dom_compat_linux.c
 
 GUEST_SRCS-$(CONFIG_X86)     += xc_dom_x86.c
 GUEST_SRCS-$(CONFIG_X86)     += xc_cpuid_x86.c
+GUEST_SRCS-$(CONFIG_X86)     += xc_hvm_build_x86.c
 GUEST_SRCS-$(CONFIG_IA64)    += xc_dom_ia64.c
+GUEST_SRCS-$(CONFIG_ARM)     += xc_dom_arm.c
+GUEST_SRCS-$(CONFIG_ARM)     += xc_hvm_build_arm.c
 
 OSDEP_SRCS-y                 += xenctrl_osdep_ENOSYS.c
 
diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c
new file mode 100644
index 0000000..122d0e8
--- /dev/null
+++ b/tools/libxc/xc_dom_arm.c
@@ -0,0 +1,50 @@
+/*
+ * Xen domain builder -- ARM
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Copyright (c) 2011, Citrix Systems
+ */
+#include <inttypes.h>
+#include <xen/xen.h>
+#include "xg_private.h"
+#include "xc_dom.h"
+
+int arch_setup_meminit(struct xc_dom_image *dom)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+int arch_setup_bootearly(struct xc_dom_image *dom)
+{
+    DOMPRINTF("%s: doing nothing", __FUNCTION__);
+    return 0;
+}
+
+int arch_setup_bootlate(struct xc_dom_image *dom)
+{
+    DOMPRINTF("%s: doing nothing", __FUNCTION__);
+    return 0;
+}
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxc/xc_hvm_build.c b/tools/libxc/xc_hvm_build.c
deleted file mode 100644
index 696c012..0000000
--- a/tools/libxc/xc_hvm_build.c
+++ /dev/null
@@ -1,472 +0,0 @@
-/******************************************************************************
- * xc_hvm_build.c
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stddef.h>
-#include <inttypes.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <zlib.h>
-
-#include "xg_private.h"
-#include "xc_private.h"
-
-#include <xen/foreign/x86_32.h>
-#include <xen/foreign/x86_64.h>
-#include <xen/hvm/hvm_info_table.h>
-#include <xen/hvm/params.h>
-#include <xen/hvm/e820.h>
-
-#include <xen/libelf/libelf.h>
-
-#define SUPERPAGE_2MB_SHIFT   9
-#define SUPERPAGE_2MB_NR_PFNS (1UL << SUPERPAGE_2MB_SHIFT)
-#define SUPERPAGE_1GB_SHIFT   18
-#define SUPERPAGE_1GB_NR_PFNS (1UL << SUPERPAGE_1GB_SHIFT)
-
-#define SPECIALPAGE_PAGING   0
-#define SPECIALPAGE_ACCESS   1
-#define SPECIALPAGE_SHARING  2
-#define SPECIALPAGE_BUFIOREQ 3
-#define SPECIALPAGE_XENSTORE 4
-#define SPECIALPAGE_IOREQ    5
-#define SPECIALPAGE_IDENT_PT 6
-#define SPECIALPAGE_CONSOLE  7
-#define NR_SPECIAL_PAGES     8
-#define special_pfn(x) (0xff000u - NR_SPECIAL_PAGES + (x))
-
-static void build_hvm_info(void *hvm_info_page, uint64_t mem_size,
-                           uint64_t mmio_start, uint64_t mmio_size)
-{
-    struct hvm_info_table *hvm_info = (struct hvm_info_table *)
-        (((unsigned char *)hvm_info_page) + HVM_INFO_OFFSET);
-    uint64_t lowmem_end = mem_size, highmem_end = 0;
-    uint8_t sum;
-    int i;
-
-    if ( lowmem_end > mmio_start )
-    {
-        highmem_end = (1ull<<32) + (lowmem_end - mmio_start);
-        lowmem_end = mmio_start;
-    }
-
-    memset(hvm_info_page, 0, PAGE_SIZE);
-
-    /* Fill in the header. */
-    strncpy(hvm_info->signature, "HVM INFO", 8);
-    hvm_info->length = sizeof(struct hvm_info_table);
-
-    /* Sensible defaults: these can be overridden by the caller. */
-    hvm_info->apic_mode = 1;
-    hvm_info->nr_vcpus = 1;
-    memset(hvm_info->vcpu_online, 0xff, sizeof(hvm_info->vcpu_online));
-
-    /* Memory parameters. */
-    hvm_info->low_mem_pgend = lowmem_end >> PAGE_SHIFT;
-    hvm_info->high_mem_pgend = highmem_end >> PAGE_SHIFT;
-    hvm_info->reserved_mem_pgstart = special_pfn(0);
-
-    /* Finish with the checksum. */
-    for ( i = 0, sum = 0; i < hvm_info->length; i++ )
-        sum += ((uint8_t *)hvm_info)[i];
-    hvm_info->checksum = -sum;
-}
-
-static int loadelfimage(
-    xc_interface *xch,
-    struct elf_binary *elf, uint32_t dom, unsigned long *parray)
-{
-    privcmd_mmap_entry_t *entries = NULL;
-    unsigned long pfn_start = elf->pstart >> PAGE_SHIFT;
-    unsigned long pfn_end = (elf->pend + PAGE_SIZE - 1) >> PAGE_SHIFT;
-    size_t pages = pfn_end - pfn_start;
-    int i, rc = -1;
-
-    /* Map address space for initial elf image. */
-    entries = calloc(pages, sizeof(privcmd_mmap_entry_t));
-    if ( entries == NULL )
-        goto err;
-
-    for ( i = 0; i < pages; i++ )
-        entries[i].mfn = parray[(elf->pstart >> PAGE_SHIFT) + i];
-
-    elf->dest = xc_map_foreign_ranges(
-        xch, dom, pages << PAGE_SHIFT, PROT_READ | PROT_WRITE, 1 << PAGE_SHIFT,
-        entries, pages);
-    if ( elf->dest == NULL )
-        goto err;
-
-    elf->dest += elf->pstart & (PAGE_SIZE - 1);
-
-    /* Load the initial elf image. */
-    rc = elf_load_binary(elf);
-    if ( rc < 0 )
-        PERROR("Failed to load elf binary\n");
-
-    munmap(elf->dest, pages << PAGE_SHIFT);
-    elf->dest = NULL;
-
- err:
-    free(entries);
-
-    return rc;
-}
-
-/*
- * Check whether there exists mmio hole in the specified memory range.
- * Returns 1 if exists, else returns 0.
- */
-static int check_mmio_hole(uint64_t start, uint64_t memsize,
-                           uint64_t mmio_start, uint64_t mmio_size)
-{
-    if ( start + memsize <= mmio_start || start >= mmio_start + mmio_size )
-        return 0;
-    else
-        return 1;
-}
-
-static int setup_guest(xc_interface *xch,
-                       uint32_t dom, const struct xc_hvm_build_args *args,
-                       char *image, unsigned long image_size)
-{
-    xen_pfn_t *page_array = NULL;
-    unsigned long i, nr_pages = args->mem_size >> PAGE_SHIFT;
-    unsigned long target_pages = args->mem_target >> PAGE_SHIFT;
-    uint64_t mmio_start = (1ull << 32) - args->mmio_size;
-    uint64_t mmio_size = args->mmio_size;
-    unsigned long entry_eip, cur_pages, cur_pfn;
-    void *hvm_info_page;
-    uint32_t *ident_pt;
-    struct elf_binary elf;
-    uint64_t v_start, v_end;
-    int rc;
-    xen_capabilities_info_t caps;
-    unsigned long stat_normal_pages = 0, stat_2mb_pages = 0, 
-        stat_1gb_pages = 0;
-    int pod_mode = 0;
-
-    if ( nr_pages > target_pages )
-        pod_mode = 1;
-
-    memset(&elf, 0, sizeof(elf));
-    if ( elf_init(&elf, image, image_size) != 0 )
-        goto error_out;
-
-    xc_elf_set_logfile(xch, &elf, 1);
-
-    elf_parse_binary(&elf);
-    v_start = 0;
-    v_end = args->mem_size;
-
-    if ( xc_version(xch, XENVER_capabilities, &caps) != 0 )
-    {
-        PERROR("Could not get Xen capabilities");
-        goto error_out;
-    }
-
-    IPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
-            "  Loader:        %016"PRIx64"->%016"PRIx64"\n"
-            "  TOTAL:         %016"PRIx64"->%016"PRIx64"\n"
-            "  ENTRY ADDRESS: %016"PRIx64"\n",
-            elf.pstart, elf.pend,
-            v_start, v_end,
-            elf_uval(&elf, elf.ehdr, e_entry));
-
-    if ( (page_array = malloc(nr_pages * sizeof(xen_pfn_t))) == NULL )
-    {
-        PERROR("Could not allocate memory.");
-        goto error_out;
-    }
-
-    for ( i = 0; i < nr_pages; i++ )
-        page_array[i] = i;
-    for ( i = mmio_start >> PAGE_SHIFT; i < nr_pages; i++ )
-        page_array[i] += mmio_size >> PAGE_SHIFT;
-
-    /*
-     * Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000.
-     *
-     * We attempt to allocate 1GB pages if possible. It falls back on 2MB
-     * pages if 1GB allocation fails. 4KB pages will be used eventually if
-     * both fail.
-     * 
-     * Under 2MB mode, we allocate pages in batches of no more than 8MB to 
-     * ensure that we can be preempted and hence dom0 remains responsive.
-     */
-    rc = xc_domain_populate_physmap_exact(
-        xch, dom, 0xa0, 0, 0, &page_array[0x00]);
-    cur_pages = 0xc0;
-    stat_normal_pages = 0xc0;
-    while ( (rc == 0) && (nr_pages > cur_pages) )
-    {
-        /* Clip count to maximum 1GB extent. */
-        unsigned long count = nr_pages - cur_pages;
-        unsigned long max_pages = SUPERPAGE_1GB_NR_PFNS;
-
-        if ( count > max_pages )
-            count = max_pages;
-
-        cur_pfn = page_array[cur_pages];
-
-        /* Take care the corner cases of super page tails */
-        if ( ((cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
-             (count > (-cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1))) )
-            count = -cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1);
-        else if ( ((count & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
-                  (count > SUPERPAGE_1GB_NR_PFNS) )
-            count &= ~(SUPERPAGE_1GB_NR_PFNS - 1);
-
-        /* Attemp to allocate 1GB super page. Because in each pass we only
-         * allocate at most 1GB, we don't have to clip super page boundaries.
-         */
-        if ( ((count | cur_pfn) & (SUPERPAGE_1GB_NR_PFNS - 1)) == 0 &&
-             /* Check if there exists MMIO hole in the 1GB memory range */
-             !check_mmio_hole(cur_pfn << PAGE_SHIFT,
-                              SUPERPAGE_1GB_NR_PFNS << PAGE_SHIFT,
-                              mmio_start, mmio_size) )
-        {
-            long done;
-            unsigned long nr_extents = count >> SUPERPAGE_1GB_SHIFT;
-            xen_pfn_t sp_extents[nr_extents];
-
-            for ( i = 0; i < nr_extents; i++ )
-                sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_1GB_SHIFT)];
-
-            done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_1GB_SHIFT,
-                                              pod_mode ? XENMEMF_populate_on_demand : 0,
-                                              sp_extents);
-
-            if ( done > 0 )
-            {
-                stat_1gb_pages += done;
-                done <<= SUPERPAGE_1GB_SHIFT;
-                cur_pages += done;
-                count -= done;
-            }
-        }
-
-        if ( count != 0 )
-        {
-            /* Clip count to maximum 8MB extent. */
-            max_pages = SUPERPAGE_2MB_NR_PFNS * 4;
-            if ( count > max_pages )
-                count = max_pages;
-            
-            /* Clip partial superpage extents to superpage boundaries. */
-            if ( ((cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
-                 (count > (-cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1))) )
-                count = -cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1);
-            else if ( ((count & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
-                      (count > SUPERPAGE_2MB_NR_PFNS) )
-                count &= ~(SUPERPAGE_2MB_NR_PFNS - 1); /* clip non-s.p. tail */
-
-            /* Attempt to allocate superpage extents. */
-            if ( ((count | cur_pfn) & (SUPERPAGE_2MB_NR_PFNS - 1)) == 0 )
-            {
-                long done;
-                unsigned long nr_extents = count >> SUPERPAGE_2MB_SHIFT;
-                xen_pfn_t sp_extents[nr_extents];
-
-                for ( i = 0; i < nr_extents; i++ )
-                    sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_2MB_SHIFT)];
-
-                done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_2MB_SHIFT,
-                                                  pod_mode ? XENMEMF_populate_on_demand : 0,
-                                                  sp_extents);
-
-                if ( done > 0 )
-                {
-                    stat_2mb_pages += done;
-                    done <<= SUPERPAGE_2MB_SHIFT;
-                    cur_pages += done;
-                    count -= done;
-                }
-            }
-        }
-
-        /* Fall back to 4kB extents. */
-        if ( count != 0 )
-        {
-            rc = xc_domain_populate_physmap_exact(
-                xch, dom, count, 0, 0, &page_array[cur_pages]);
-            cur_pages += count;
-            stat_normal_pages += count;
-        }
-    }
-
-    /* Subtract 0x20 from target_pages for the VGA "hole".  Xen will
-     * adjust the PoD cache size so that domain tot_pages will be
-     * target_pages - 0x20 after this call. */
-    if ( pod_mode )
-        rc = xc_domain_set_pod_target(xch, dom, target_pages - 0x20,
-                                      NULL, NULL, NULL);
-
-    if ( rc != 0 )
-    {
-        PERROR("Could not allocate memory for HVM guest.");
-        goto error_out;
-    }
-
-    IPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
-            "  4KB PAGES: 0x%016lx\n"
-            "  2MB PAGES: 0x%016lx\n"
-            "  1GB PAGES: 0x%016lx\n",
-            stat_normal_pages, stat_2mb_pages, stat_1gb_pages);
-    
-    if ( loadelfimage(xch, &elf, dom, page_array) != 0 )
-        goto error_out;
-
-    if ( (hvm_info_page = xc_map_foreign_range(
-              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
-              HVM_INFO_PFN)) == NULL )
-        goto error_out;
-    build_hvm_info(hvm_info_page, v_end, mmio_start, mmio_size);
-    munmap(hvm_info_page, PAGE_SIZE);
-
-    /* Allocate and clear special pages. */
-    for ( i = 0; i < NR_SPECIAL_PAGES; i++ )
-    {
-        xen_pfn_t pfn = special_pfn(i);
-        rc = xc_domain_populate_physmap_exact(xch, dom, 1, 0, 0, &pfn);
-        if ( rc != 0 )
-        {
-            PERROR("Could not allocate %d'th special page.", i);
-            goto error_out;
-        }
-        if ( xc_clear_domain_page(xch, dom, special_pfn(i)) )
-            goto error_out;
-    }
-
-    xc_set_hvm_param(xch, dom, HVM_PARAM_STORE_PFN,
-                     special_pfn(SPECIALPAGE_XENSTORE));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_BUFIOREQ_PFN,
-                     special_pfn(SPECIALPAGE_BUFIOREQ));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_IOREQ_PFN,
-                     special_pfn(SPECIALPAGE_IOREQ));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_CONSOLE_PFN,
-                     special_pfn(SPECIALPAGE_CONSOLE));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_PAGING_RING_PFN,
-                     special_pfn(SPECIALPAGE_PAGING));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_ACCESS_RING_PFN,
-                     special_pfn(SPECIALPAGE_ACCESS));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_SHARING_RING_PFN,
-                     special_pfn(SPECIALPAGE_SHARING));
-
-    /*
-     * Identity-map page table is required for running with CR0.PG=0 when
-     * using Intel EPT. Create a 32-bit non-PAE page directory of superpages.
-     */
-    if ( (ident_pt = xc_map_foreign_range(
-              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
-              special_pfn(SPECIALPAGE_IDENT_PT))) == NULL )
-        goto error_out;
-    for ( i = 0; i < PAGE_SIZE / sizeof(*ident_pt); i++ )
-        ident_pt[i] = ((i << 22) | _PAGE_PRESENT | _PAGE_RW | _PAGE_USER |
-                       _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_PSE);
-    munmap(ident_pt, PAGE_SIZE);
-    xc_set_hvm_param(xch, dom, HVM_PARAM_IDENT_PT,
-                     special_pfn(SPECIALPAGE_IDENT_PT) << PAGE_SHIFT);
-
-    /* Insert JMP <rel32> instruction at address 0x0 to reach entry point. */
-    entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
-    if ( entry_eip != 0 )
-    {
-        char *page0 = xc_map_foreign_range(
-            xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE, 0);
-        if ( page0 == NULL )
-            goto error_out;
-        page0[0] = 0xe9;
-        *(uint32_t *)&page0[1] = entry_eip - 5;
-        munmap(page0, PAGE_SIZE);
-    }
-
-    free(page_array);
-    return 0;
-
- error_out:
-    free(page_array);
-    return -1;
-}
-
-/* xc_hvm_build:
- * Create a domain for a virtualized Linux, using files/filenames.
- */
-int xc_hvm_build(xc_interface *xch, uint32_t domid,
-                 const struct xc_hvm_build_args *hvm_args)
-{
-    struct xc_hvm_build_args args = *hvm_args;
-    void *image;
-    unsigned long image_size;
-    int sts;
-
-    if ( domid == 0 )
-        return -1;
-    if ( args.image_file_name == NULL )
-        return -1;
-
-    if ( args.mem_target == 0 )
-        args.mem_target = args.mem_size;
-
-    if ( args.mmio_size == 0 )
-        args.mmio_size = HVM_BELOW_4G_MMIO_LENGTH;
-
-    /* An HVM guest must be initialised with at least 2MB memory. */
-    if ( args.mem_size < (2ull << 20) || args.mem_target < (2ull << 20) )
-        return -1;
-
-    image = xc_read_image(xch, args.image_file_name, &image_size);
-    if ( image == NULL )
-        return -1;
-
-    sts = setup_guest(xch, domid, &args, image, image_size);
-
-    free(image);
-
-    return sts;
-}
-
-/* xc_hvm_build_target_mem: 
- * Create a domain for a pre-ballooned virtualized Linux, using
- * files/filenames.  If target < memsize, domain is created with
- * memsize pages marked populate-on-demand, 
- * calculating pod cache size based on target.
- * If target == memsize, pages are populated normally.
- */
-int xc_hvm_build_target_mem(xc_interface *xch,
-                           uint32_t domid,
-                           int memsize,
-                           int target,
-                           const char *image_name)
-{
-    struct xc_hvm_build_args args = {};
-
-    args.mem_size = (uint64_t)memsize << 20;
-    args.mem_target = (uint64_t)target << 20;
-    args.image_file_name = image_name;
-
-    return xc_hvm_build(xch, domid, &args);
-}
-
-/*
- * Local variables:
- * mode: C
- * c-set-style: "BSD"
- * c-basic-offset: 4
- * tab-width: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/tools/libxc/xc_hvm_build_arm.c b/tools/libxc/xc_hvm_build_arm.c
new file mode 100644
index 0000000..254b6ee
--- /dev/null
+++ b/tools/libxc/xc_hvm_build_arm.c
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Copyright (c) 2011, Citrix Systems
+ */
+
+#include <inttypes.h>
+#include <errno.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+
+int xc_hvm_build(xc_interface *xch, uint32_t domid,
+                 const struct xc_hvm_build_args *hvm_args)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+int xc_hvm_build_target_mem(xc_interface *xch,
+                           uint32_t domid,
+                           int memsize,
+                           int target,
+                           const char *image_name)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxc/xc_hvm_build_x86.c b/tools/libxc/xc_hvm_build_x86.c
new file mode 100644
index 0000000..696c012
--- /dev/null
+++ b/tools/libxc/xc_hvm_build_x86.c
@@ -0,0 +1,472 @@
+/******************************************************************************
+ * xc_hvm_build.c
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <stddef.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <zlib.h>
+
+#include "xg_private.h"
+#include "xc_private.h"
+
+#include <xen/foreign/x86_32.h>
+#include <xen/foreign/x86_64.h>
+#include <xen/hvm/hvm_info_table.h>
+#include <xen/hvm/params.h>
+#include <xen/hvm/e820.h>
+
+#include <xen/libelf/libelf.h>
+
+#define SUPERPAGE_2MB_SHIFT   9
+#define SUPERPAGE_2MB_NR_PFNS (1UL << SUPERPAGE_2MB_SHIFT)
+#define SUPERPAGE_1GB_SHIFT   18
+#define SUPERPAGE_1GB_NR_PFNS (1UL << SUPERPAGE_1GB_SHIFT)
+
+#define SPECIALPAGE_PAGING   0
+#define SPECIALPAGE_ACCESS   1
+#define SPECIALPAGE_SHARING  2
+#define SPECIALPAGE_BUFIOREQ 3
+#define SPECIALPAGE_XENSTORE 4
+#define SPECIALPAGE_IOREQ    5
+#define SPECIALPAGE_IDENT_PT 6
+#define SPECIALPAGE_CONSOLE  7
+#define NR_SPECIAL_PAGES     8
+#define special_pfn(x) (0xff000u - NR_SPECIAL_PAGES + (x))
+
+static void build_hvm_info(void *hvm_info_page, uint64_t mem_size,
+                           uint64_t mmio_start, uint64_t mmio_size)
+{
+    struct hvm_info_table *hvm_info = (struct hvm_info_table *)
+        (((unsigned char *)hvm_info_page) + HVM_INFO_OFFSET);
+    uint64_t lowmem_end = mem_size, highmem_end = 0;
+    uint8_t sum;
+    int i;
+
+    if ( lowmem_end > mmio_start )
+    {
+        highmem_end = (1ull<<32) + (lowmem_end - mmio_start);
+        lowmem_end = mmio_start;
+    }
+
+    memset(hvm_info_page, 0, PAGE_SIZE);
+
+    /* Fill in the header. */
+    strncpy(hvm_info->signature, "HVM INFO", 8);
+    hvm_info->length = sizeof(struct hvm_info_table);
+
+    /* Sensible defaults: these can be overridden by the caller. */
+    hvm_info->apic_mode = 1;
+    hvm_info->nr_vcpus = 1;
+    memset(hvm_info->vcpu_online, 0xff, sizeof(hvm_info->vcpu_online));
+
+    /* Memory parameters. */
+    hvm_info->low_mem_pgend = lowmem_end >> PAGE_SHIFT;
+    hvm_info->high_mem_pgend = highmem_end >> PAGE_SHIFT;
+    hvm_info->reserved_mem_pgstart = special_pfn(0);
+
+    /* Finish with the checksum. */
+    for ( i = 0, sum = 0; i < hvm_info->length; i++ )
+        sum += ((uint8_t *)hvm_info)[i];
+    hvm_info->checksum = -sum;
+}
+
+static int loadelfimage(
+    xc_interface *xch,
+    struct elf_binary *elf, uint32_t dom, unsigned long *parray)
+{
+    privcmd_mmap_entry_t *entries = NULL;
+    unsigned long pfn_start = elf->pstart >> PAGE_SHIFT;
+    unsigned long pfn_end = (elf->pend + PAGE_SIZE - 1) >> PAGE_SHIFT;
+    size_t pages = pfn_end - pfn_start;
+    int i, rc = -1;
+
+    /* Map address space for initial elf image. */
+    entries = calloc(pages, sizeof(privcmd_mmap_entry_t));
+    if ( entries == NULL )
+        goto err;
+
+    for ( i = 0; i < pages; i++ )
+        entries[i].mfn = parray[(elf->pstart >> PAGE_SHIFT) + i];
+
+    elf->dest = xc_map_foreign_ranges(
+        xch, dom, pages << PAGE_SHIFT, PROT_READ | PROT_WRITE, 1 << PAGE_SHIFT,
+        entries, pages);
+    if ( elf->dest == NULL )
+        goto err;
+
+    elf->dest += elf->pstart & (PAGE_SIZE - 1);
+
+    /* Load the initial elf image. */
+    rc = elf_load_binary(elf);
+    if ( rc < 0 )
+        PERROR("Failed to load elf binary\n");
+
+    munmap(elf->dest, pages << PAGE_SHIFT);
+    elf->dest = NULL;
+
+ err:
+    free(entries);
+
+    return rc;
+}
+
+/*
+ * Check whether there exists mmio hole in the specified memory range.
+ * Returns 1 if exists, else returns 0.
+ */
+static int check_mmio_hole(uint64_t start, uint64_t memsize,
+                           uint64_t mmio_start, uint64_t mmio_size)
+{
+    if ( start + memsize <= mmio_start || start >= mmio_start + mmio_size )
+        return 0;
+    else
+        return 1;
+}
+
+static int setup_guest(xc_interface *xch,
+                       uint32_t dom, const struct xc_hvm_build_args *args,
+                       char *image, unsigned long image_size)
+{
+    xen_pfn_t *page_array = NULL;
+    unsigned long i, nr_pages = args->mem_size >> PAGE_SHIFT;
+    unsigned long target_pages = args->mem_target >> PAGE_SHIFT;
+    uint64_t mmio_start = (1ull << 32) - args->mmio_size;
+    uint64_t mmio_size = args->mmio_size;
+    unsigned long entry_eip, cur_pages, cur_pfn;
+    void *hvm_info_page;
+    uint32_t *ident_pt;
+    struct elf_binary elf;
+    uint64_t v_start, v_end;
+    int rc;
+    xen_capabilities_info_t caps;
+    unsigned long stat_normal_pages = 0, stat_2mb_pages = 0, 
+        stat_1gb_pages = 0;
+    int pod_mode = 0;
+
+    if ( nr_pages > target_pages )
+        pod_mode = 1;
+
+    memset(&elf, 0, sizeof(elf));
+    if ( elf_init(&elf, image, image_size) != 0 )
+        goto error_out;
+
+    xc_elf_set_logfile(xch, &elf, 1);
+
+    elf_parse_binary(&elf);
+    v_start = 0;
+    v_end = args->mem_size;
+
+    if ( xc_version(xch, XENVER_capabilities, &caps) != 0 )
+    {
+        PERROR("Could not get Xen capabilities");
+        goto error_out;
+    }
+
+    IPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
+            "  Loader:        %016"PRIx64"->%016"PRIx64"\n"
+            "  TOTAL:         %016"PRIx64"->%016"PRIx64"\n"
+            "  ENTRY ADDRESS: %016"PRIx64"\n",
+            elf.pstart, elf.pend,
+            v_start, v_end,
+            elf_uval(&elf, elf.ehdr, e_entry));
+
+    if ( (page_array = malloc(nr_pages * sizeof(xen_pfn_t))) == NULL )
+    {
+        PERROR("Could not allocate memory.");
+        goto error_out;
+    }
+
+    for ( i = 0; i < nr_pages; i++ )
+        page_array[i] = i;
+    for ( i = mmio_start >> PAGE_SHIFT; i < nr_pages; i++ )
+        page_array[i] += mmio_size >> PAGE_SHIFT;
+
+    /*
+     * Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000.
+     *
+     * We attempt to allocate 1GB pages if possible. It falls back on 2MB
+     * pages if 1GB allocation fails. 4KB pages will be used eventually if
+     * both fail.
+     * 
+     * Under 2MB mode, we allocate pages in batches of no more than 8MB to 
+     * ensure that we can be preempted and hence dom0 remains responsive.
+     */
+    rc = xc_domain_populate_physmap_exact(
+        xch, dom, 0xa0, 0, 0, &page_array[0x00]);
+    cur_pages = 0xc0;
+    stat_normal_pages = 0xc0;
+    while ( (rc == 0) && (nr_pages > cur_pages) )
+    {
+        /* Clip count to maximum 1GB extent. */
+        unsigned long count = nr_pages - cur_pages;
+        unsigned long max_pages = SUPERPAGE_1GB_NR_PFNS;
+
+        if ( count > max_pages )
+            count = max_pages;
+
+        cur_pfn = page_array[cur_pages];
+
+        /* Take care the corner cases of super page tails */
+        if ( ((cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
+             (count > (-cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1))) )
+            count = -cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1);
+        else if ( ((count & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
+                  (count > SUPERPAGE_1GB_NR_PFNS) )
+            count &= ~(SUPERPAGE_1GB_NR_PFNS - 1);
+
+        /* Attemp to allocate 1GB super page. Because in each pass we only
+         * allocate at most 1GB, we don't have to clip super page boundaries.
+         */
+        if ( ((count | cur_pfn) & (SUPERPAGE_1GB_NR_PFNS - 1)) == 0 &&
+             /* Check if there exists MMIO hole in the 1GB memory range */
+             !check_mmio_hole(cur_pfn << PAGE_SHIFT,
+                              SUPERPAGE_1GB_NR_PFNS << PAGE_SHIFT,
+                              mmio_start, mmio_size) )
+        {
+            long done;
+            unsigned long nr_extents = count >> SUPERPAGE_1GB_SHIFT;
+            xen_pfn_t sp_extents[nr_extents];
+
+            for ( i = 0; i < nr_extents; i++ )
+                sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_1GB_SHIFT)];
+
+            done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_1GB_SHIFT,
+                                              pod_mode ? XENMEMF_populate_on_demand : 0,
+                                              sp_extents);
+
+            if ( done > 0 )
+            {
+                stat_1gb_pages += done;
+                done <<= SUPERPAGE_1GB_SHIFT;
+                cur_pages += done;
+                count -= done;
+            }
+        }
+
+        if ( count != 0 )
+        {
+            /* Clip count to maximum 8MB extent. */
+            max_pages = SUPERPAGE_2MB_NR_PFNS * 4;
+            if ( count > max_pages )
+                count = max_pages;
+            
+            /* Clip partial superpage extents to superpage boundaries. */
+            if ( ((cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
+                 (count > (-cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1))) )
+                count = -cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1);
+            else if ( ((count & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
+                      (count > SUPERPAGE_2MB_NR_PFNS) )
+                count &= ~(SUPERPAGE_2MB_NR_PFNS - 1); /* clip non-s.p. tail */
+
+            /* Attempt to allocate superpage extents. */
+            if ( ((count | cur_pfn) & (SUPERPAGE_2MB_NR_PFNS - 1)) == 0 )
+            {
+                long done;
+                unsigned long nr_extents = count >> SUPERPAGE_2MB_SHIFT;
+                xen_pfn_t sp_extents[nr_extents];
+
+                for ( i = 0; i < nr_extents; i++ )
+                    sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_2MB_SHIFT)];
+
+                done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_2MB_SHIFT,
+                                                  pod_mode ? XENMEMF_populate_on_demand : 0,
+                                                  sp_extents);
+
+                if ( done > 0 )
+                {
+                    stat_2mb_pages += done;
+                    done <<= SUPERPAGE_2MB_SHIFT;
+                    cur_pages += done;
+                    count -= done;
+                }
+            }
+        }
+
+        /* Fall back to 4kB extents. */
+        if ( count != 0 )
+        {
+            rc = xc_domain_populate_physmap_exact(
+                xch, dom, count, 0, 0, &page_array[cur_pages]);
+            cur_pages += count;
+            stat_normal_pages += count;
+        }
+    }
+
+    /* Subtract 0x20 from target_pages for the VGA "hole".  Xen will
+     * adjust the PoD cache size so that domain tot_pages will be
+     * target_pages - 0x20 after this call. */
+    if ( pod_mode )
+        rc = xc_domain_set_pod_target(xch, dom, target_pages - 0x20,
+                                      NULL, NULL, NULL);
+
+    if ( rc != 0 )
+    {
+        PERROR("Could not allocate memory for HVM guest.");
+        goto error_out;
+    }
+
+    IPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
+            "  4KB PAGES: 0x%016lx\n"
+            "  2MB PAGES: 0x%016lx\n"
+            "  1GB PAGES: 0x%016lx\n",
+            stat_normal_pages, stat_2mb_pages, stat_1gb_pages);
+    
+    if ( loadelfimage(xch, &elf, dom, page_array) != 0 )
+        goto error_out;
+
+    if ( (hvm_info_page = xc_map_foreign_range(
+              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
+              HVM_INFO_PFN)) == NULL )
+        goto error_out;
+    build_hvm_info(hvm_info_page, v_end, mmio_start, mmio_size);
+    munmap(hvm_info_page, PAGE_SIZE);
+
+    /* Allocate and clear special pages. */
+    for ( i = 0; i < NR_SPECIAL_PAGES; i++ )
+    {
+        xen_pfn_t pfn = special_pfn(i);
+        rc = xc_domain_populate_physmap_exact(xch, dom, 1, 0, 0, &pfn);
+        if ( rc != 0 )
+        {
+            PERROR("Could not allocate %d'th special page.", i);
+            goto error_out;
+        }
+        if ( xc_clear_domain_page(xch, dom, special_pfn(i)) )
+            goto error_out;
+    }
+
+    xc_set_hvm_param(xch, dom, HVM_PARAM_STORE_PFN,
+                     special_pfn(SPECIALPAGE_XENSTORE));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_BUFIOREQ_PFN,
+                     special_pfn(SPECIALPAGE_BUFIOREQ));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_IOREQ_PFN,
+                     special_pfn(SPECIALPAGE_IOREQ));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_CONSOLE_PFN,
+                     special_pfn(SPECIALPAGE_CONSOLE));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_PAGING_RING_PFN,
+                     special_pfn(SPECIALPAGE_PAGING));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_ACCESS_RING_PFN,
+                     special_pfn(SPECIALPAGE_ACCESS));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_SHARING_RING_PFN,
+                     special_pfn(SPECIALPAGE_SHARING));
+
+    /*
+     * Identity-map page table is required for running with CR0.PG=0 when
+     * using Intel EPT. Create a 32-bit non-PAE page directory of superpages.
+     */
+    if ( (ident_pt = xc_map_foreign_range(
+              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
+              special_pfn(SPECIALPAGE_IDENT_PT))) == NULL )
+        goto error_out;
+    for ( i = 0; i < PAGE_SIZE / sizeof(*ident_pt); i++ )
+        ident_pt[i] = ((i << 22) | _PAGE_PRESENT | _PAGE_RW | _PAGE_USER |
+                       _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_PSE);
+    munmap(ident_pt, PAGE_SIZE);
+    xc_set_hvm_param(xch, dom, HVM_PARAM_IDENT_PT,
+                     special_pfn(SPECIALPAGE_IDENT_PT) << PAGE_SHIFT);
+
+    /* Insert JMP <rel32> instruction at address 0x0 to reach entry point. */
+    entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
+    if ( entry_eip != 0 )
+    {
+        char *page0 = xc_map_foreign_range(
+            xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE, 0);
+        if ( page0 == NULL )
+            goto error_out;
+        page0[0] = 0xe9;
+        *(uint32_t *)&page0[1] = entry_eip - 5;
+        munmap(page0, PAGE_SIZE);
+    }
+
+    free(page_array);
+    return 0;
+
+ error_out:
+    free(page_array);
+    return -1;
+}
+
+/* xc_hvm_build:
+ * Create a domain for a virtualized Linux, using files/filenames.
+ */
+int xc_hvm_build(xc_interface *xch, uint32_t domid,
+                 const struct xc_hvm_build_args *hvm_args)
+{
+    struct xc_hvm_build_args args = *hvm_args;
+    void *image;
+    unsigned long image_size;
+    int sts;
+
+    if ( domid == 0 )
+        return -1;
+    if ( args.image_file_name == NULL )
+        return -1;
+
+    if ( args.mem_target == 0 )
+        args.mem_target = args.mem_size;
+
+    if ( args.mmio_size == 0 )
+        args.mmio_size = HVM_BELOW_4G_MMIO_LENGTH;
+
+    /* An HVM guest must be initialised with at least 2MB memory. */
+    if ( args.mem_size < (2ull << 20) || args.mem_target < (2ull << 20) )
+        return -1;
+
+    image = xc_read_image(xch, args.image_file_name, &image_size);
+    if ( image == NULL )
+        return -1;
+
+    sts = setup_guest(xch, domid, &args, image, image_size);
+
+    free(image);
+
+    return sts;
+}
+
+/* xc_hvm_build_target_mem: 
+ * Create a domain for a pre-ballooned virtualized Linux, using
+ * files/filenames.  If target < memsize, domain is created with
+ * memsize pages marked populate-on-demand, 
+ * calculating pod cache size based on target.
+ * If target == memsize, pages are populated normally.
+ */
+int xc_hvm_build_target_mem(xc_interface *xch,
+                           uint32_t domid,
+                           int memsize,
+                           int target,
+                           const char *image_name)
+{
+    struct xc_hvm_build_args args = {};
+
+    args.mem_size = (uint64_t)memsize << 20;
+    args.mem_target = (uint64_t)target << 20;
+    args.image_file_name = image_name;
+
+    return xc_hvm_build(xch, domid, &args);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxc/xc_nomigrate.c b/tools/libxc/xc_nomigrate.c
new file mode 100644
index 0000000..27680a4
--- /dev/null
+++ b/tools/libxc/xc_nomigrate.c
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Copyright (c) 2011, Citrix Systems
+ */
+
+#include <inttypes.h>
+#include <errno.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+
+int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
+                   uint32_t max_factor, uint32_t flags,
+                   struct save_callbacks* callbacks, int hvm,
+                   unsigned long vm_generationid_addr)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
+                      unsigned int store_evtchn, unsigned long *store_mfn,
+                      domid_t store_domid, unsigned int console_evtchn,
+                      unsigned long *console_mfn, domid_t console_domid,
+                      unsigned int hvm, unsigned int pae, int superpages,
+                      int no_incr_generationid,
+                      unsigned long *vm_generationid_addr,
+                      struct restore_callbacks *callbacks)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgP-0001YP-4m; Tue, 29 May 2012 13:41:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgN-0001Vq-Bb
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:56 +0000
Received: from [85.158.139.83:58627] by server-9.bemta-5.messagelabs.com id
	F1/AF-27779-F12D4CF4; Tue, 29 May 2012 13:41:51 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338298906!28235313!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16824 invoked from network); 29 May 2012 13:41:50 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744690"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:46 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-8r; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:29 +0100
Message-ID: <1338298896-27411-1-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 1/8] arm: compile libxenguest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce an empty implementation of the arch specific ARM functions in
xc_dom_arm.c.
Provide empty implementations of xc_domain_save and xc_domain_restore
when CONFIG_MIGRATE is not set.
Move xc_hvm_build.c to xc_hvm_build_x86.c because the implementation is
x86 specific, introduce xc_hvm_build_arm.c with empty stubs.


Changes in v3:

- rename xc_hvm_build.c to xc_hvm_build_x86.c;

- remove xc_nohvm, introduce xc_hvm_build_arm.c instead;



Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxc/Makefile           |   12 +-
 tools/libxc/xc_dom_arm.c       |   50 +++++
 tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
 tools/libxc/xc_hvm_build_arm.c |   49 ++++
 tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
 tools/libxc/xc_nomigrate.c     |   54 +++++
 6 files changed, 634 insertions(+), 475 deletions(-)
 create mode 100644 tools/libxc/xc_dom_arm.c
 delete mode 100644 tools/libxc/xc_hvm_build.c
 create mode 100644 tools/libxc/xc_hvm_build_arm.c
 create mode 100644 tools/libxc/xc_hvm_build_x86.c
 create mode 100644 tools/libxc/xc_nomigrate.c

diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index a1ba134..ca38cbd 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -42,9 +42,12 @@ CTRL_SRCS-$(CONFIG_MiniOS) += xc_minios.c
 
 GUEST_SRCS-y :=
 GUEST_SRCS-y += xg_private.c xc_suspend.c
-GUEST_SRCS-$(CONFIG_MIGRATE) += xc_domain_restore.c xc_domain_save.c
-GUEST_SRCS-$(CONFIG_MIGRATE) += xc_offline_page.c xc_compression.c
-GUEST_SRCS-$(CONFIG_HVM) += xc_hvm_build.c
+ifeq ($(CONFIG_MIGRATE),y)
+GUEST_SRCS-y += xc_domain_restore.c xc_domain_save.c
+GUEST_SRCS-y += xc_offline_page.c xc_compression.c
+else
+GUEST_SRCS-y += xc_nomigrate.c
+endif
 
 vpath %.c ../../xen/common/libelf
 CFLAGS += -I../../xen/common/libelf
@@ -61,7 +64,10 @@ GUEST_SRCS-y                 += xc_dom_compat_linux.c
 
 GUEST_SRCS-$(CONFIG_X86)     += xc_dom_x86.c
 GUEST_SRCS-$(CONFIG_X86)     += xc_cpuid_x86.c
+GUEST_SRCS-$(CONFIG_X86)     += xc_hvm_build_x86.c
 GUEST_SRCS-$(CONFIG_IA64)    += xc_dom_ia64.c
+GUEST_SRCS-$(CONFIG_ARM)     += xc_dom_arm.c
+GUEST_SRCS-$(CONFIG_ARM)     += xc_hvm_build_arm.c
 
 OSDEP_SRCS-y                 += xenctrl_osdep_ENOSYS.c
 
diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c
new file mode 100644
index 0000000..122d0e8
--- /dev/null
+++ b/tools/libxc/xc_dom_arm.c
@@ -0,0 +1,50 @@
+/*
+ * Xen domain builder -- ARM
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Copyright (c) 2011, Citrix Systems
+ */
+#include <inttypes.h>
+#include <xen/xen.h>
+#include "xg_private.h"
+#include "xc_dom.h"
+
+int arch_setup_meminit(struct xc_dom_image *dom)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+int arch_setup_bootearly(struct xc_dom_image *dom)
+{
+    DOMPRINTF("%s: doing nothing", __FUNCTION__);
+    return 0;
+}
+
+int arch_setup_bootlate(struct xc_dom_image *dom)
+{
+    DOMPRINTF("%s: doing nothing", __FUNCTION__);
+    return 0;
+}
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxc/xc_hvm_build.c b/tools/libxc/xc_hvm_build.c
deleted file mode 100644
index 696c012..0000000
--- a/tools/libxc/xc_hvm_build.c
+++ /dev/null
@@ -1,472 +0,0 @@
-/******************************************************************************
- * xc_hvm_build.c
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stddef.h>
-#include <inttypes.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <zlib.h>
-
-#include "xg_private.h"
-#include "xc_private.h"
-
-#include <xen/foreign/x86_32.h>
-#include <xen/foreign/x86_64.h>
-#include <xen/hvm/hvm_info_table.h>
-#include <xen/hvm/params.h>
-#include <xen/hvm/e820.h>
-
-#include <xen/libelf/libelf.h>
-
-#define SUPERPAGE_2MB_SHIFT   9
-#define SUPERPAGE_2MB_NR_PFNS (1UL << SUPERPAGE_2MB_SHIFT)
-#define SUPERPAGE_1GB_SHIFT   18
-#define SUPERPAGE_1GB_NR_PFNS (1UL << SUPERPAGE_1GB_SHIFT)
-
-#define SPECIALPAGE_PAGING   0
-#define SPECIALPAGE_ACCESS   1
-#define SPECIALPAGE_SHARING  2
-#define SPECIALPAGE_BUFIOREQ 3
-#define SPECIALPAGE_XENSTORE 4
-#define SPECIALPAGE_IOREQ    5
-#define SPECIALPAGE_IDENT_PT 6
-#define SPECIALPAGE_CONSOLE  7
-#define NR_SPECIAL_PAGES     8
-#define special_pfn(x) (0xff000u - NR_SPECIAL_PAGES + (x))
-
-static void build_hvm_info(void *hvm_info_page, uint64_t mem_size,
-                           uint64_t mmio_start, uint64_t mmio_size)
-{
-    struct hvm_info_table *hvm_info = (struct hvm_info_table *)
-        (((unsigned char *)hvm_info_page) + HVM_INFO_OFFSET);
-    uint64_t lowmem_end = mem_size, highmem_end = 0;
-    uint8_t sum;
-    int i;
-
-    if ( lowmem_end > mmio_start )
-    {
-        highmem_end = (1ull<<32) + (lowmem_end - mmio_start);
-        lowmem_end = mmio_start;
-    }
-
-    memset(hvm_info_page, 0, PAGE_SIZE);
-
-    /* Fill in the header. */
-    strncpy(hvm_info->signature, "HVM INFO", 8);
-    hvm_info->length = sizeof(struct hvm_info_table);
-
-    /* Sensible defaults: these can be overridden by the caller. */
-    hvm_info->apic_mode = 1;
-    hvm_info->nr_vcpus = 1;
-    memset(hvm_info->vcpu_online, 0xff, sizeof(hvm_info->vcpu_online));
-
-    /* Memory parameters. */
-    hvm_info->low_mem_pgend = lowmem_end >> PAGE_SHIFT;
-    hvm_info->high_mem_pgend = highmem_end >> PAGE_SHIFT;
-    hvm_info->reserved_mem_pgstart = special_pfn(0);
-
-    /* Finish with the checksum. */
-    for ( i = 0, sum = 0; i < hvm_info->length; i++ )
-        sum += ((uint8_t *)hvm_info)[i];
-    hvm_info->checksum = -sum;
-}
-
-static int loadelfimage(
-    xc_interface *xch,
-    struct elf_binary *elf, uint32_t dom, unsigned long *parray)
-{
-    privcmd_mmap_entry_t *entries = NULL;
-    unsigned long pfn_start = elf->pstart >> PAGE_SHIFT;
-    unsigned long pfn_end = (elf->pend + PAGE_SIZE - 1) >> PAGE_SHIFT;
-    size_t pages = pfn_end - pfn_start;
-    int i, rc = -1;
-
-    /* Map address space for initial elf image. */
-    entries = calloc(pages, sizeof(privcmd_mmap_entry_t));
-    if ( entries == NULL )
-        goto err;
-
-    for ( i = 0; i < pages; i++ )
-        entries[i].mfn = parray[(elf->pstart >> PAGE_SHIFT) + i];
-
-    elf->dest = xc_map_foreign_ranges(
-        xch, dom, pages << PAGE_SHIFT, PROT_READ | PROT_WRITE, 1 << PAGE_SHIFT,
-        entries, pages);
-    if ( elf->dest == NULL )
-        goto err;
-
-    elf->dest += elf->pstart & (PAGE_SIZE - 1);
-
-    /* Load the initial elf image. */
-    rc = elf_load_binary(elf);
-    if ( rc < 0 )
-        PERROR("Failed to load elf binary\n");
-
-    munmap(elf->dest, pages << PAGE_SHIFT);
-    elf->dest = NULL;
-
- err:
-    free(entries);
-
-    return rc;
-}
-
-/*
- * Check whether there exists mmio hole in the specified memory range.
- * Returns 1 if exists, else returns 0.
- */
-static int check_mmio_hole(uint64_t start, uint64_t memsize,
-                           uint64_t mmio_start, uint64_t mmio_size)
-{
-    if ( start + memsize <= mmio_start || start >= mmio_start + mmio_size )
-        return 0;
-    else
-        return 1;
-}
-
-static int setup_guest(xc_interface *xch,
-                       uint32_t dom, const struct xc_hvm_build_args *args,
-                       char *image, unsigned long image_size)
-{
-    xen_pfn_t *page_array = NULL;
-    unsigned long i, nr_pages = args->mem_size >> PAGE_SHIFT;
-    unsigned long target_pages = args->mem_target >> PAGE_SHIFT;
-    uint64_t mmio_start = (1ull << 32) - args->mmio_size;
-    uint64_t mmio_size = args->mmio_size;
-    unsigned long entry_eip, cur_pages, cur_pfn;
-    void *hvm_info_page;
-    uint32_t *ident_pt;
-    struct elf_binary elf;
-    uint64_t v_start, v_end;
-    int rc;
-    xen_capabilities_info_t caps;
-    unsigned long stat_normal_pages = 0, stat_2mb_pages = 0, 
-        stat_1gb_pages = 0;
-    int pod_mode = 0;
-
-    if ( nr_pages > target_pages )
-        pod_mode = 1;
-
-    memset(&elf, 0, sizeof(elf));
-    if ( elf_init(&elf, image, image_size) != 0 )
-        goto error_out;
-
-    xc_elf_set_logfile(xch, &elf, 1);
-
-    elf_parse_binary(&elf);
-    v_start = 0;
-    v_end = args->mem_size;
-
-    if ( xc_version(xch, XENVER_capabilities, &caps) != 0 )
-    {
-        PERROR("Could not get Xen capabilities");
-        goto error_out;
-    }
-
-    IPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
-            "  Loader:        %016"PRIx64"->%016"PRIx64"\n"
-            "  TOTAL:         %016"PRIx64"->%016"PRIx64"\n"
-            "  ENTRY ADDRESS: %016"PRIx64"\n",
-            elf.pstart, elf.pend,
-            v_start, v_end,
-            elf_uval(&elf, elf.ehdr, e_entry));
-
-    if ( (page_array = malloc(nr_pages * sizeof(xen_pfn_t))) == NULL )
-    {
-        PERROR("Could not allocate memory.");
-        goto error_out;
-    }
-
-    for ( i = 0; i < nr_pages; i++ )
-        page_array[i] = i;
-    for ( i = mmio_start >> PAGE_SHIFT; i < nr_pages; i++ )
-        page_array[i] += mmio_size >> PAGE_SHIFT;
-
-    /*
-     * Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000.
-     *
-     * We attempt to allocate 1GB pages if possible. It falls back on 2MB
-     * pages if 1GB allocation fails. 4KB pages will be used eventually if
-     * both fail.
-     * 
-     * Under 2MB mode, we allocate pages in batches of no more than 8MB to 
-     * ensure that we can be preempted and hence dom0 remains responsive.
-     */
-    rc = xc_domain_populate_physmap_exact(
-        xch, dom, 0xa0, 0, 0, &page_array[0x00]);
-    cur_pages = 0xc0;
-    stat_normal_pages = 0xc0;
-    while ( (rc == 0) && (nr_pages > cur_pages) )
-    {
-        /* Clip count to maximum 1GB extent. */
-        unsigned long count = nr_pages - cur_pages;
-        unsigned long max_pages = SUPERPAGE_1GB_NR_PFNS;
-
-        if ( count > max_pages )
-            count = max_pages;
-
-        cur_pfn = page_array[cur_pages];
-
-        /* Take care the corner cases of super page tails */
-        if ( ((cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
-             (count > (-cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1))) )
-            count = -cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1);
-        else if ( ((count & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
-                  (count > SUPERPAGE_1GB_NR_PFNS) )
-            count &= ~(SUPERPAGE_1GB_NR_PFNS - 1);
-
-        /* Attemp to allocate 1GB super page. Because in each pass we only
-         * allocate at most 1GB, we don't have to clip super page boundaries.
-         */
-        if ( ((count | cur_pfn) & (SUPERPAGE_1GB_NR_PFNS - 1)) == 0 &&
-             /* Check if there exists MMIO hole in the 1GB memory range */
-             !check_mmio_hole(cur_pfn << PAGE_SHIFT,
-                              SUPERPAGE_1GB_NR_PFNS << PAGE_SHIFT,
-                              mmio_start, mmio_size) )
-        {
-            long done;
-            unsigned long nr_extents = count >> SUPERPAGE_1GB_SHIFT;
-            xen_pfn_t sp_extents[nr_extents];
-
-            for ( i = 0; i < nr_extents; i++ )
-                sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_1GB_SHIFT)];
-
-            done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_1GB_SHIFT,
-                                              pod_mode ? XENMEMF_populate_on_demand : 0,
-                                              sp_extents);
-
-            if ( done > 0 )
-            {
-                stat_1gb_pages += done;
-                done <<= SUPERPAGE_1GB_SHIFT;
-                cur_pages += done;
-                count -= done;
-            }
-        }
-
-        if ( count != 0 )
-        {
-            /* Clip count to maximum 8MB extent. */
-            max_pages = SUPERPAGE_2MB_NR_PFNS * 4;
-            if ( count > max_pages )
-                count = max_pages;
-            
-            /* Clip partial superpage extents to superpage boundaries. */
-            if ( ((cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
-                 (count > (-cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1))) )
-                count = -cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1);
-            else if ( ((count & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
-                      (count > SUPERPAGE_2MB_NR_PFNS) )
-                count &= ~(SUPERPAGE_2MB_NR_PFNS - 1); /* clip non-s.p. tail */
-
-            /* Attempt to allocate superpage extents. */
-            if ( ((count | cur_pfn) & (SUPERPAGE_2MB_NR_PFNS - 1)) == 0 )
-            {
-                long done;
-                unsigned long nr_extents = count >> SUPERPAGE_2MB_SHIFT;
-                xen_pfn_t sp_extents[nr_extents];
-
-                for ( i = 0; i < nr_extents; i++ )
-                    sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_2MB_SHIFT)];
-
-                done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_2MB_SHIFT,
-                                                  pod_mode ? XENMEMF_populate_on_demand : 0,
-                                                  sp_extents);
-
-                if ( done > 0 )
-                {
-                    stat_2mb_pages += done;
-                    done <<= SUPERPAGE_2MB_SHIFT;
-                    cur_pages += done;
-                    count -= done;
-                }
-            }
-        }
-
-        /* Fall back to 4kB extents. */
-        if ( count != 0 )
-        {
-            rc = xc_domain_populate_physmap_exact(
-                xch, dom, count, 0, 0, &page_array[cur_pages]);
-            cur_pages += count;
-            stat_normal_pages += count;
-        }
-    }
-
-    /* Subtract 0x20 from target_pages for the VGA "hole".  Xen will
-     * adjust the PoD cache size so that domain tot_pages will be
-     * target_pages - 0x20 after this call. */
-    if ( pod_mode )
-        rc = xc_domain_set_pod_target(xch, dom, target_pages - 0x20,
-                                      NULL, NULL, NULL);
-
-    if ( rc != 0 )
-    {
-        PERROR("Could not allocate memory for HVM guest.");
-        goto error_out;
-    }
-
-    IPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
-            "  4KB PAGES: 0x%016lx\n"
-            "  2MB PAGES: 0x%016lx\n"
-            "  1GB PAGES: 0x%016lx\n",
-            stat_normal_pages, stat_2mb_pages, stat_1gb_pages);
-    
-    if ( loadelfimage(xch, &elf, dom, page_array) != 0 )
-        goto error_out;
-
-    if ( (hvm_info_page = xc_map_foreign_range(
-              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
-              HVM_INFO_PFN)) == NULL )
-        goto error_out;
-    build_hvm_info(hvm_info_page, v_end, mmio_start, mmio_size);
-    munmap(hvm_info_page, PAGE_SIZE);
-
-    /* Allocate and clear special pages. */
-    for ( i = 0; i < NR_SPECIAL_PAGES; i++ )
-    {
-        xen_pfn_t pfn = special_pfn(i);
-        rc = xc_domain_populate_physmap_exact(xch, dom, 1, 0, 0, &pfn);
-        if ( rc != 0 )
-        {
-            PERROR("Could not allocate %d'th special page.", i);
-            goto error_out;
-        }
-        if ( xc_clear_domain_page(xch, dom, special_pfn(i)) )
-            goto error_out;
-    }
-
-    xc_set_hvm_param(xch, dom, HVM_PARAM_STORE_PFN,
-                     special_pfn(SPECIALPAGE_XENSTORE));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_BUFIOREQ_PFN,
-                     special_pfn(SPECIALPAGE_BUFIOREQ));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_IOREQ_PFN,
-                     special_pfn(SPECIALPAGE_IOREQ));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_CONSOLE_PFN,
-                     special_pfn(SPECIALPAGE_CONSOLE));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_PAGING_RING_PFN,
-                     special_pfn(SPECIALPAGE_PAGING));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_ACCESS_RING_PFN,
-                     special_pfn(SPECIALPAGE_ACCESS));
-    xc_set_hvm_param(xch, dom, HVM_PARAM_SHARING_RING_PFN,
-                     special_pfn(SPECIALPAGE_SHARING));
-
-    /*
-     * Identity-map page table is required for running with CR0.PG=0 when
-     * using Intel EPT. Create a 32-bit non-PAE page directory of superpages.
-     */
-    if ( (ident_pt = xc_map_foreign_range(
-              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
-              special_pfn(SPECIALPAGE_IDENT_PT))) == NULL )
-        goto error_out;
-    for ( i = 0; i < PAGE_SIZE / sizeof(*ident_pt); i++ )
-        ident_pt[i] = ((i << 22) | _PAGE_PRESENT | _PAGE_RW | _PAGE_USER |
-                       _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_PSE);
-    munmap(ident_pt, PAGE_SIZE);
-    xc_set_hvm_param(xch, dom, HVM_PARAM_IDENT_PT,
-                     special_pfn(SPECIALPAGE_IDENT_PT) << PAGE_SHIFT);
-
-    /* Insert JMP <rel32> instruction at address 0x0 to reach entry point. */
-    entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
-    if ( entry_eip != 0 )
-    {
-        char *page0 = xc_map_foreign_range(
-            xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE, 0);
-        if ( page0 == NULL )
-            goto error_out;
-        page0[0] = 0xe9;
-        *(uint32_t *)&page0[1] = entry_eip - 5;
-        munmap(page0, PAGE_SIZE);
-    }
-
-    free(page_array);
-    return 0;
-
- error_out:
-    free(page_array);
-    return -1;
-}
-
-/* xc_hvm_build:
- * Create a domain for a virtualized Linux, using files/filenames.
- */
-int xc_hvm_build(xc_interface *xch, uint32_t domid,
-                 const struct xc_hvm_build_args *hvm_args)
-{
-    struct xc_hvm_build_args args = *hvm_args;
-    void *image;
-    unsigned long image_size;
-    int sts;
-
-    if ( domid == 0 )
-        return -1;
-    if ( args.image_file_name == NULL )
-        return -1;
-
-    if ( args.mem_target == 0 )
-        args.mem_target = args.mem_size;
-
-    if ( args.mmio_size == 0 )
-        args.mmio_size = HVM_BELOW_4G_MMIO_LENGTH;
-
-    /* An HVM guest must be initialised with at least 2MB memory. */
-    if ( args.mem_size < (2ull << 20) || args.mem_target < (2ull << 20) )
-        return -1;
-
-    image = xc_read_image(xch, args.image_file_name, &image_size);
-    if ( image == NULL )
-        return -1;
-
-    sts = setup_guest(xch, domid, &args, image, image_size);
-
-    free(image);
-
-    return sts;
-}
-
-/* xc_hvm_build_target_mem: 
- * Create a domain for a pre-ballooned virtualized Linux, using
- * files/filenames.  If target < memsize, domain is created with
- * memsize pages marked populate-on-demand, 
- * calculating pod cache size based on target.
- * If target == memsize, pages are populated normally.
- */
-int xc_hvm_build_target_mem(xc_interface *xch,
-                           uint32_t domid,
-                           int memsize,
-                           int target,
-                           const char *image_name)
-{
-    struct xc_hvm_build_args args = {};
-
-    args.mem_size = (uint64_t)memsize << 20;
-    args.mem_target = (uint64_t)target << 20;
-    args.image_file_name = image_name;
-
-    return xc_hvm_build(xch, domid, &args);
-}
-
-/*
- * Local variables:
- * mode: C
- * c-set-style: "BSD"
- * c-basic-offset: 4
- * tab-width: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/tools/libxc/xc_hvm_build_arm.c b/tools/libxc/xc_hvm_build_arm.c
new file mode 100644
index 0000000..254b6ee
--- /dev/null
+++ b/tools/libxc/xc_hvm_build_arm.c
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Copyright (c) 2011, Citrix Systems
+ */
+
+#include <inttypes.h>
+#include <errno.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+
+int xc_hvm_build(xc_interface *xch, uint32_t domid,
+                 const struct xc_hvm_build_args *hvm_args)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+int xc_hvm_build_target_mem(xc_interface *xch,
+                           uint32_t domid,
+                           int memsize,
+                           int target,
+                           const char *image_name)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxc/xc_hvm_build_x86.c b/tools/libxc/xc_hvm_build_x86.c
new file mode 100644
index 0000000..696c012
--- /dev/null
+++ b/tools/libxc/xc_hvm_build_x86.c
@@ -0,0 +1,472 @@
+/******************************************************************************
+ * xc_hvm_build.c
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <stddef.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <zlib.h>
+
+#include "xg_private.h"
+#include "xc_private.h"
+
+#include <xen/foreign/x86_32.h>
+#include <xen/foreign/x86_64.h>
+#include <xen/hvm/hvm_info_table.h>
+#include <xen/hvm/params.h>
+#include <xen/hvm/e820.h>
+
+#include <xen/libelf/libelf.h>
+
+#define SUPERPAGE_2MB_SHIFT   9
+#define SUPERPAGE_2MB_NR_PFNS (1UL << SUPERPAGE_2MB_SHIFT)
+#define SUPERPAGE_1GB_SHIFT   18
+#define SUPERPAGE_1GB_NR_PFNS (1UL << SUPERPAGE_1GB_SHIFT)
+
+#define SPECIALPAGE_PAGING   0
+#define SPECIALPAGE_ACCESS   1
+#define SPECIALPAGE_SHARING  2
+#define SPECIALPAGE_BUFIOREQ 3
+#define SPECIALPAGE_XENSTORE 4
+#define SPECIALPAGE_IOREQ    5
+#define SPECIALPAGE_IDENT_PT 6
+#define SPECIALPAGE_CONSOLE  7
+#define NR_SPECIAL_PAGES     8
+#define special_pfn(x) (0xff000u - NR_SPECIAL_PAGES + (x))
+
+static void build_hvm_info(void *hvm_info_page, uint64_t mem_size,
+                           uint64_t mmio_start, uint64_t mmio_size)
+{
+    struct hvm_info_table *hvm_info = (struct hvm_info_table *)
+        (((unsigned char *)hvm_info_page) + HVM_INFO_OFFSET);
+    uint64_t lowmem_end = mem_size, highmem_end = 0;
+    uint8_t sum;
+    int i;
+
+    if ( lowmem_end > mmio_start )
+    {
+        highmem_end = (1ull<<32) + (lowmem_end - mmio_start);
+        lowmem_end = mmio_start;
+    }
+
+    memset(hvm_info_page, 0, PAGE_SIZE);
+
+    /* Fill in the header. */
+    strncpy(hvm_info->signature, "HVM INFO", 8);
+    hvm_info->length = sizeof(struct hvm_info_table);
+
+    /* Sensible defaults: these can be overridden by the caller. */
+    hvm_info->apic_mode = 1;
+    hvm_info->nr_vcpus = 1;
+    memset(hvm_info->vcpu_online, 0xff, sizeof(hvm_info->vcpu_online));
+
+    /* Memory parameters. */
+    hvm_info->low_mem_pgend = lowmem_end >> PAGE_SHIFT;
+    hvm_info->high_mem_pgend = highmem_end >> PAGE_SHIFT;
+    hvm_info->reserved_mem_pgstart = special_pfn(0);
+
+    /* Finish with the checksum. */
+    for ( i = 0, sum = 0; i < hvm_info->length; i++ )
+        sum += ((uint8_t *)hvm_info)[i];
+    hvm_info->checksum = -sum;
+}
+
+static int loadelfimage(
+    xc_interface *xch,
+    struct elf_binary *elf, uint32_t dom, unsigned long *parray)
+{
+    privcmd_mmap_entry_t *entries = NULL;
+    unsigned long pfn_start = elf->pstart >> PAGE_SHIFT;
+    unsigned long pfn_end = (elf->pend + PAGE_SIZE - 1) >> PAGE_SHIFT;
+    size_t pages = pfn_end - pfn_start;
+    int i, rc = -1;
+
+    /* Map address space for initial elf image. */
+    entries = calloc(pages, sizeof(privcmd_mmap_entry_t));
+    if ( entries == NULL )
+        goto err;
+
+    for ( i = 0; i < pages; i++ )
+        entries[i].mfn = parray[(elf->pstart >> PAGE_SHIFT) + i];
+
+    elf->dest = xc_map_foreign_ranges(
+        xch, dom, pages << PAGE_SHIFT, PROT_READ | PROT_WRITE, 1 << PAGE_SHIFT,
+        entries, pages);
+    if ( elf->dest == NULL )
+        goto err;
+
+    elf->dest += elf->pstart & (PAGE_SIZE - 1);
+
+    /* Load the initial elf image. */
+    rc = elf_load_binary(elf);
+    if ( rc < 0 )
+        PERROR("Failed to load elf binary\n");
+
+    munmap(elf->dest, pages << PAGE_SHIFT);
+    elf->dest = NULL;
+
+ err:
+    free(entries);
+
+    return rc;
+}
+
+/*
+ * Check whether there exists mmio hole in the specified memory range.
+ * Returns 1 if exists, else returns 0.
+ */
+static int check_mmio_hole(uint64_t start, uint64_t memsize,
+                           uint64_t mmio_start, uint64_t mmio_size)
+{
+    if ( start + memsize <= mmio_start || start >= mmio_start + mmio_size )
+        return 0;
+    else
+        return 1;
+}
+
+static int setup_guest(xc_interface *xch,
+                       uint32_t dom, const struct xc_hvm_build_args *args,
+                       char *image, unsigned long image_size)
+{
+    xen_pfn_t *page_array = NULL;
+    unsigned long i, nr_pages = args->mem_size >> PAGE_SHIFT;
+    unsigned long target_pages = args->mem_target >> PAGE_SHIFT;
+    uint64_t mmio_start = (1ull << 32) - args->mmio_size;
+    uint64_t mmio_size = args->mmio_size;
+    unsigned long entry_eip, cur_pages, cur_pfn;
+    void *hvm_info_page;
+    uint32_t *ident_pt;
+    struct elf_binary elf;
+    uint64_t v_start, v_end;
+    int rc;
+    xen_capabilities_info_t caps;
+    unsigned long stat_normal_pages = 0, stat_2mb_pages = 0, 
+        stat_1gb_pages = 0;
+    int pod_mode = 0;
+
+    if ( nr_pages > target_pages )
+        pod_mode = 1;
+
+    memset(&elf, 0, sizeof(elf));
+    if ( elf_init(&elf, image, image_size) != 0 )
+        goto error_out;
+
+    xc_elf_set_logfile(xch, &elf, 1);
+
+    elf_parse_binary(&elf);
+    v_start = 0;
+    v_end = args->mem_size;
+
+    if ( xc_version(xch, XENVER_capabilities, &caps) != 0 )
+    {
+        PERROR("Could not get Xen capabilities");
+        goto error_out;
+    }
+
+    IPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
+            "  Loader:        %016"PRIx64"->%016"PRIx64"\n"
+            "  TOTAL:         %016"PRIx64"->%016"PRIx64"\n"
+            "  ENTRY ADDRESS: %016"PRIx64"\n",
+            elf.pstart, elf.pend,
+            v_start, v_end,
+            elf_uval(&elf, elf.ehdr, e_entry));
+
+    if ( (page_array = malloc(nr_pages * sizeof(xen_pfn_t))) == NULL )
+    {
+        PERROR("Could not allocate memory.");
+        goto error_out;
+    }
+
+    for ( i = 0; i < nr_pages; i++ )
+        page_array[i] = i;
+    for ( i = mmio_start >> PAGE_SHIFT; i < nr_pages; i++ )
+        page_array[i] += mmio_size >> PAGE_SHIFT;
+
+    /*
+     * Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000.
+     *
+     * We attempt to allocate 1GB pages if possible. It falls back on 2MB
+     * pages if 1GB allocation fails. 4KB pages will be used eventually if
+     * both fail.
+     * 
+     * Under 2MB mode, we allocate pages in batches of no more than 8MB to 
+     * ensure that we can be preempted and hence dom0 remains responsive.
+     */
+    rc = xc_domain_populate_physmap_exact(
+        xch, dom, 0xa0, 0, 0, &page_array[0x00]);
+    cur_pages = 0xc0;
+    stat_normal_pages = 0xc0;
+    while ( (rc == 0) && (nr_pages > cur_pages) )
+    {
+        /* Clip count to maximum 1GB extent. */
+        unsigned long count = nr_pages - cur_pages;
+        unsigned long max_pages = SUPERPAGE_1GB_NR_PFNS;
+
+        if ( count > max_pages )
+            count = max_pages;
+
+        cur_pfn = page_array[cur_pages];
+
+        /* Take care the corner cases of super page tails */
+        if ( ((cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
+             (count > (-cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1))) )
+            count = -cur_pfn & (SUPERPAGE_1GB_NR_PFNS-1);
+        else if ( ((count & (SUPERPAGE_1GB_NR_PFNS-1)) != 0) &&
+                  (count > SUPERPAGE_1GB_NR_PFNS) )
+            count &= ~(SUPERPAGE_1GB_NR_PFNS - 1);
+
+        /* Attemp to allocate 1GB super page. Because in each pass we only
+         * allocate at most 1GB, we don't have to clip super page boundaries.
+         */
+        if ( ((count | cur_pfn) & (SUPERPAGE_1GB_NR_PFNS - 1)) == 0 &&
+             /* Check if there exists MMIO hole in the 1GB memory range */
+             !check_mmio_hole(cur_pfn << PAGE_SHIFT,
+                              SUPERPAGE_1GB_NR_PFNS << PAGE_SHIFT,
+                              mmio_start, mmio_size) )
+        {
+            long done;
+            unsigned long nr_extents = count >> SUPERPAGE_1GB_SHIFT;
+            xen_pfn_t sp_extents[nr_extents];
+
+            for ( i = 0; i < nr_extents; i++ )
+                sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_1GB_SHIFT)];
+
+            done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_1GB_SHIFT,
+                                              pod_mode ? XENMEMF_populate_on_demand : 0,
+                                              sp_extents);
+
+            if ( done > 0 )
+            {
+                stat_1gb_pages += done;
+                done <<= SUPERPAGE_1GB_SHIFT;
+                cur_pages += done;
+                count -= done;
+            }
+        }
+
+        if ( count != 0 )
+        {
+            /* Clip count to maximum 8MB extent. */
+            max_pages = SUPERPAGE_2MB_NR_PFNS * 4;
+            if ( count > max_pages )
+                count = max_pages;
+            
+            /* Clip partial superpage extents to superpage boundaries. */
+            if ( ((cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
+                 (count > (-cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1))) )
+                count = -cur_pfn & (SUPERPAGE_2MB_NR_PFNS-1);
+            else if ( ((count & (SUPERPAGE_2MB_NR_PFNS-1)) != 0) &&
+                      (count > SUPERPAGE_2MB_NR_PFNS) )
+                count &= ~(SUPERPAGE_2MB_NR_PFNS - 1); /* clip non-s.p. tail */
+
+            /* Attempt to allocate superpage extents. */
+            if ( ((count | cur_pfn) & (SUPERPAGE_2MB_NR_PFNS - 1)) == 0 )
+            {
+                long done;
+                unsigned long nr_extents = count >> SUPERPAGE_2MB_SHIFT;
+                xen_pfn_t sp_extents[nr_extents];
+
+                for ( i = 0; i < nr_extents; i++ )
+                    sp_extents[i] = page_array[cur_pages+(i<<SUPERPAGE_2MB_SHIFT)];
+
+                done = xc_domain_populate_physmap(xch, dom, nr_extents, SUPERPAGE_2MB_SHIFT,
+                                                  pod_mode ? XENMEMF_populate_on_demand : 0,
+                                                  sp_extents);
+
+                if ( done > 0 )
+                {
+                    stat_2mb_pages += done;
+                    done <<= SUPERPAGE_2MB_SHIFT;
+                    cur_pages += done;
+                    count -= done;
+                }
+            }
+        }
+
+        /* Fall back to 4kB extents. */
+        if ( count != 0 )
+        {
+            rc = xc_domain_populate_physmap_exact(
+                xch, dom, count, 0, 0, &page_array[cur_pages]);
+            cur_pages += count;
+            stat_normal_pages += count;
+        }
+    }
+
+    /* Subtract 0x20 from target_pages for the VGA "hole".  Xen will
+     * adjust the PoD cache size so that domain tot_pages will be
+     * target_pages - 0x20 after this call. */
+    if ( pod_mode )
+        rc = xc_domain_set_pod_target(xch, dom, target_pages - 0x20,
+                                      NULL, NULL, NULL);
+
+    if ( rc != 0 )
+    {
+        PERROR("Could not allocate memory for HVM guest.");
+        goto error_out;
+    }
+
+    IPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
+            "  4KB PAGES: 0x%016lx\n"
+            "  2MB PAGES: 0x%016lx\n"
+            "  1GB PAGES: 0x%016lx\n",
+            stat_normal_pages, stat_2mb_pages, stat_1gb_pages);
+    
+    if ( loadelfimage(xch, &elf, dom, page_array) != 0 )
+        goto error_out;
+
+    if ( (hvm_info_page = xc_map_foreign_range(
+              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
+              HVM_INFO_PFN)) == NULL )
+        goto error_out;
+    build_hvm_info(hvm_info_page, v_end, mmio_start, mmio_size);
+    munmap(hvm_info_page, PAGE_SIZE);
+
+    /* Allocate and clear special pages. */
+    for ( i = 0; i < NR_SPECIAL_PAGES; i++ )
+    {
+        xen_pfn_t pfn = special_pfn(i);
+        rc = xc_domain_populate_physmap_exact(xch, dom, 1, 0, 0, &pfn);
+        if ( rc != 0 )
+        {
+            PERROR("Could not allocate %d'th special page.", i);
+            goto error_out;
+        }
+        if ( xc_clear_domain_page(xch, dom, special_pfn(i)) )
+            goto error_out;
+    }
+
+    xc_set_hvm_param(xch, dom, HVM_PARAM_STORE_PFN,
+                     special_pfn(SPECIALPAGE_XENSTORE));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_BUFIOREQ_PFN,
+                     special_pfn(SPECIALPAGE_BUFIOREQ));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_IOREQ_PFN,
+                     special_pfn(SPECIALPAGE_IOREQ));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_CONSOLE_PFN,
+                     special_pfn(SPECIALPAGE_CONSOLE));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_PAGING_RING_PFN,
+                     special_pfn(SPECIALPAGE_PAGING));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_ACCESS_RING_PFN,
+                     special_pfn(SPECIALPAGE_ACCESS));
+    xc_set_hvm_param(xch, dom, HVM_PARAM_SHARING_RING_PFN,
+                     special_pfn(SPECIALPAGE_SHARING));
+
+    /*
+     * Identity-map page table is required for running with CR0.PG=0 when
+     * using Intel EPT. Create a 32-bit non-PAE page directory of superpages.
+     */
+    if ( (ident_pt = xc_map_foreign_range(
+              xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
+              special_pfn(SPECIALPAGE_IDENT_PT))) == NULL )
+        goto error_out;
+    for ( i = 0; i < PAGE_SIZE / sizeof(*ident_pt); i++ )
+        ident_pt[i] = ((i << 22) | _PAGE_PRESENT | _PAGE_RW | _PAGE_USER |
+                       _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_PSE);
+    munmap(ident_pt, PAGE_SIZE);
+    xc_set_hvm_param(xch, dom, HVM_PARAM_IDENT_PT,
+                     special_pfn(SPECIALPAGE_IDENT_PT) << PAGE_SHIFT);
+
+    /* Insert JMP <rel32> instruction at address 0x0 to reach entry point. */
+    entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
+    if ( entry_eip != 0 )
+    {
+        char *page0 = xc_map_foreign_range(
+            xch, dom, PAGE_SIZE, PROT_READ | PROT_WRITE, 0);
+        if ( page0 == NULL )
+            goto error_out;
+        page0[0] = 0xe9;
+        *(uint32_t *)&page0[1] = entry_eip - 5;
+        munmap(page0, PAGE_SIZE);
+    }
+
+    free(page_array);
+    return 0;
+
+ error_out:
+    free(page_array);
+    return -1;
+}
+
+/* xc_hvm_build:
+ * Create a domain for a virtualized Linux, using files/filenames.
+ */
+int xc_hvm_build(xc_interface *xch, uint32_t domid,
+                 const struct xc_hvm_build_args *hvm_args)
+{
+    struct xc_hvm_build_args args = *hvm_args;
+    void *image;
+    unsigned long image_size;
+    int sts;
+
+    if ( domid == 0 )
+        return -1;
+    if ( args.image_file_name == NULL )
+        return -1;
+
+    if ( args.mem_target == 0 )
+        args.mem_target = args.mem_size;
+
+    if ( args.mmio_size == 0 )
+        args.mmio_size = HVM_BELOW_4G_MMIO_LENGTH;
+
+    /* An HVM guest must be initialised with at least 2MB memory. */
+    if ( args.mem_size < (2ull << 20) || args.mem_target < (2ull << 20) )
+        return -1;
+
+    image = xc_read_image(xch, args.image_file_name, &image_size);
+    if ( image == NULL )
+        return -1;
+
+    sts = setup_guest(xch, domid, &args, image, image_size);
+
+    free(image);
+
+    return sts;
+}
+
+/* xc_hvm_build_target_mem: 
+ * Create a domain for a pre-ballooned virtualized Linux, using
+ * files/filenames.  If target < memsize, domain is created with
+ * memsize pages marked populate-on-demand, 
+ * calculating pod cache size based on target.
+ * If target == memsize, pages are populated normally.
+ */
+int xc_hvm_build_target_mem(xc_interface *xch,
+                           uint32_t domid,
+                           int memsize,
+                           int target,
+                           const char *image_name)
+{
+    struct xc_hvm_build_args args = {};
+
+    args.mem_size = (uint64_t)memsize << 20;
+    args.mem_target = (uint64_t)target << 20;
+    args.image_file_name = image_name;
+
+    return xc_hvm_build(xch, domid, &args);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxc/xc_nomigrate.c b/tools/libxc/xc_nomigrate.c
new file mode 100644
index 0000000..27680a4
--- /dev/null
+++ b/tools/libxc/xc_nomigrate.c
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Copyright (c) 2011, Citrix Systems
+ */
+
+#include <inttypes.h>
+#include <errno.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+
+int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
+                   uint32_t max_factor, uint32_t flags,
+                   struct save_callbacks* callbacks, int hvm,
+                   unsigned long vm_generationid_addr)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
+                      unsigned int store_evtchn, unsigned long *store_mfn,
+                      domid_t store_domid, unsigned int console_evtchn,
+                      unsigned long *console_mfn, domid_t console_domid,
+                      unsigned int hvm, unsigned int pae, int superpages,
+                      int no_incr_generationid,
+                      unsigned long *vm_generationid_addr,
+                      struct restore_callbacks *callbacks)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgL-0001WZ-NA; Tue, 29 May 2012 13:41:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgK-0001VE-CM
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:52 +0000
Received: from [85.158.139.83:4184] by server-2.bemta-5.messagelabs.com id
	56/7D-09957-D12D4CF4; Tue, 29 May 2012 13:41:49 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338298906!28235313!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16625 invoked from network); 29 May 2012 13:41:48 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744688"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-AB; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:31 +0100
Message-ID: <1338298896-27411-3-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 3/8] arm: compile xentrace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/xentrace/xenctx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/xentrace/xenctx.c b/tools/xentrace/xenctx.c
index a12cc21..530ef65 100644
--- a/tools/xentrace/xenctx.c
+++ b/tools/xentrace/xenctx.c
@@ -60,6 +60,12 @@ int disp_ar_regs;
 int disp_br_regs;
 int disp_bank_regs;
 int disp_tlb;
+
+#elif defined(__arm__)
+#define NO_TRANSLATION
+typedef uint64_t guest_word_t;
+#define FMT_32B_WORD "%08llx"
+#define FMT_64B_WORD "%016llx"
 #endif
 
 struct symbol {
@@ -678,6 +684,12 @@ void print_ctx(vcpu_guest_context_any_t *ctx)
             print_tr(i, &tr->dtrs[i]);
     }
 }
+#elif defined(__arm__)
+static void print_ctx(vcpu_guest_context_any_t *ctx)
+{
+    /* XXX: properly implement this */
+    print_symbol(0);
+}
 #endif
 
 #ifndef NO_TRANSLATION
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgK-0001WA-Tp; Tue, 29 May 2012 13:41:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgI-0001VS-P4
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:50 +0000
Received: from [85.158.139.83:4277] by server-8.bemta-5.messagelabs.com id
	46/08-25689-E12D4CF4; Tue, 29 May 2012 13:41:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338298906!28235313!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16735 invoked from network); 29 May 2012 13:41:49 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744689"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-9Y; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:30 +0100
Message-ID: <1338298896-27411-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 2/8] arm: compile memshr
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <Ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/memshr/bidir-hash.c |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/tools/memshr/bidir-hash.c b/tools/memshr/bidir-hash.c
index 6c0dc3d..45d473e 100644
--- a/tools/memshr/bidir-hash.c
+++ b/tools/memshr/bidir-hash.c
@@ -109,6 +109,37 @@ static void      hash_resize(struct __hash *h);
 } while (0)
 static inline void atomic_inc(uint32_t *v) { ia64_fetchadd4_rel(v, 1); }
 static inline void atomic_dec(uint32_t *v) { ia64_fetchadd4_rel(v, -1); }
+#elif defined(__arm__)
+static inline void atomic_inc(uint32_t *v)
+{
+        unsigned long tmp;
+        int result;
+
+        __asm__ __volatile__("@ atomic_add\n"
+"1:     ldrex   %0, [%3]\n"
+"       add     %0, %0, #1\n"
+"       strex   %1, %0, [%3]\n"
+"       teq     %1, #0\n"
+"       bne     1b"
+        : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
+        : "r" (v)
+        : "cc");
+}
+static inline void atomic_dec(uint32_t *v)
+{
+        unsigned long tmp;
+        int result;
+
+        __asm__ __volatile__("@ atomic_sub\n"
+"1:     ldrex   %0, [%3]\n"
+"       sub     %0, %0, #1\n"
+"       strex   %1, %0, [%3]\n"
+"       teq     %1, #0\n"
+"       bne     1b"
+        : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
+        : "r" (v)
+        : "cc");
+}
 #else /* __x86__ */
 static inline void atomic_inc(uint32_t *v)
 {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgK-0001WA-Tp; Tue, 29 May 2012 13:41:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgI-0001VS-P4
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:50 +0000
Received: from [85.158.139.83:4277] by server-8.bemta-5.messagelabs.com id
	46/08-25689-E12D4CF4; Tue, 29 May 2012 13:41:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338298906!28235313!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16735 invoked from network); 29 May 2012 13:41:49 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196744689"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:45 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:45 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-9Y; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:30 +0100
Message-ID: <1338298896-27411-2-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 2/8] arm: compile memshr
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <Ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/memshr/bidir-hash.c |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/tools/memshr/bidir-hash.c b/tools/memshr/bidir-hash.c
index 6c0dc3d..45d473e 100644
--- a/tools/memshr/bidir-hash.c
+++ b/tools/memshr/bidir-hash.c
@@ -109,6 +109,37 @@ static void      hash_resize(struct __hash *h);
 } while (0)
 static inline void atomic_inc(uint32_t *v) { ia64_fetchadd4_rel(v, 1); }
 static inline void atomic_dec(uint32_t *v) { ia64_fetchadd4_rel(v, -1); }
+#elif defined(__arm__)
+static inline void atomic_inc(uint32_t *v)
+{
+        unsigned long tmp;
+        int result;
+
+        __asm__ __volatile__("@ atomic_add\n"
+"1:     ldrex   %0, [%3]\n"
+"       add     %0, %0, #1\n"
+"       strex   %1, %0, [%3]\n"
+"       teq     %1, #0\n"
+"       bne     1b"
+        : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
+        : "r" (v)
+        : "cc");
+}
+static inline void atomic_dec(uint32_t *v)
+{
+        unsigned long tmp;
+        int result;
+
+        __asm__ __volatile__("@ atomic_sub\n"
+"1:     ldrex   %0, [%3]\n"
+"       sub     %0, %0, #1\n"
+"       strex   %1, %0, [%3]\n"
+"       teq     %1, #0\n"
+"       bne     1b"
+        : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
+        : "r" (v)
+        : "cc");
+}
 #else /* __x86__ */
 static inline void atomic_inc(uint32_t *v)
 {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgO-0001Xa-4q; Tue, 29 May 2012 13:41:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgM-0001Wp-TN
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:55 +0000
Received: from [85.158.138.51:51629] by server-8.bemta-3.messagelabs.com id
	49/58-24402-122D4CF4; Tue, 29 May 2012 13:41:53 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338298911!29733376!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10866 invoked from network); 29 May 2012 13:41:53 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055422"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:51 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-HB; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:36 +0100
Message-ID: <1338298896-27411-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 8/8] libxl: make libxl__e820_alloc a static
	function
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |    2 --
 tools/libxl/libxl_x86.c      |    3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 52f5435..3da2c08 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1276,8 +1276,6 @@ _hidden int libxl__error_set(libxl__gc *gc, int code);
 _hidden int libxl__file_reference_map(libxl_file_reference *f);
 _hidden int libxl__file_reference_unmap(libxl_file_reference *f);
 
-_hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
-
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
 _hidden int libxl__parse_mac(const char *s, libxl_mac mac);
 /* compare mac address @a and @b. 0 if the same, -ve if a<b and +ve if a>b */
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
index e4c00aa..590e39d 100644
--- a/tools/libxl/libxl_x86.c
+++ b/tools/libxl/libxl_x86.c
@@ -207,7 +207,8 @@ static int e820_sanitize(libxl_ctx *ctx, struct e820entry src[],
     return 0;
 }
 
-int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config)
+static int libxl__e820_alloc(libxl__gc *gc, uint32_t domid,
+        libxl_domain_config *d_config)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int rc;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 13:42:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 13:42:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMgO-0001Xa-4q; Tue, 29 May 2012 13:41:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZMgM-0001Wp-TN
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 13:41:55 +0000
Received: from [85.158.138.51:51629] by server-8.bemta-3.messagelabs.com id
	49/58-24402-122D4CF4; Tue, 29 May 2012 13:41:53 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338298911!29733376!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10866 invoked from network); 29 May 2012 13:41:53 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 13:41:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26055422"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 09:41:51 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 09:41:51 -0400
Received: from kaball.uk.xensource.com ([10.80.2.59]
	helo=localhost.localdomain)	by ukmail1.uk.xensource.com with esmtp
	(Exim 4.69)	(envelope-from <stefano.stabellini@eu.citrix.com>)	id
	1SZMg8-0007zx-HB; Tue, 29 May 2012 14:41:40 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Date: Tue, 29 May 2012 14:41:36 +0100
Message-ID: <1338298896-27411-8-git-send-email-stefano.stabellini@eu.citrix.com>
X-Mailer: git-send-email 1.7.0.4
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
MIME-Version: 1.0
Cc: david.vrabel@citrix.com, Ian.Campbell@citrix.com,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim.Deegan@citrix.com
Subject: [Xen-devel] [PATCH v7 8/8] libxl: make libxl__e820_alloc a static
	function
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libxl/libxl_internal.h |    2 --
 tools/libxl/libxl_x86.c      |    3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 52f5435..3da2c08 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1276,8 +1276,6 @@ _hidden int libxl__error_set(libxl__gc *gc, int code);
 _hidden int libxl__file_reference_map(libxl_file_reference *f);
 _hidden int libxl__file_reference_unmap(libxl_file_reference *f);
 
-_hidden int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config);
-
 /* parse the string @s as a sequence of 6 colon separated bytes in to @mac */
 _hidden int libxl__parse_mac(const char *s, libxl_mac mac);
 /* compare mac address @a and @b. 0 if the same, -ve if a<b and +ve if a>b */
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
index e4c00aa..590e39d 100644
--- a/tools/libxl/libxl_x86.c
+++ b/tools/libxl/libxl_x86.c
@@ -207,7 +207,8 @@ static int e820_sanitize(libxl_ctx *ctx, struct e820entry src[],
     return 0;
 }
 
-int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_config)
+static int libxl__e820_alloc(libxl__gc *gc, uint32_t domid,
+        libxl_domain_config *d_config)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int rc;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:01:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMyh-0002v2-36; Tue, 29 May 2012 14:00:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZMyf-0002ux-4i
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:00:49 +0000
Received: from [85.158.139.83:56474] by server-4.bemta-5.messagelabs.com id
	A5/0E-16506-096D4CF4; Tue, 29 May 2012 14:00:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338300047!30408006!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7937 invoked from network); 29 May 2012 14:00:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 14:00:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 15:00:47 +0100
Message-Id: <4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 15:00:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
In-Reply-To: <4FC4D0EB.50507@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 15:36, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> Il 29/05/2012 15:21, Jan Beulich ha scritto:
>> PS: Please don't drop xen-devel from Cc on conversations like
>> this.

You dropped xen-devel again.

> Thanks for reply, I check binutils and gcc, are installed and right 
> version seems:
>...
> 2.22-6                                 GNU assembler, linker and binary 

And it also is configured properly (i.e. lists i386pep as supported
emulation)? If building xen.efi doesn't work, the first thing to look
at is (in the Xen build tree) xen/arch/x86/efi/disabled, which
stores any error encountered while checking for the necessary
features in compiler in linker).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:01:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZMyh-0002v2-36; Tue, 29 May 2012 14:00:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZMyf-0002ux-4i
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:00:49 +0000
Received: from [85.158.139.83:56474] by server-4.bemta-5.messagelabs.com id
	A5/0E-16506-096D4CF4; Tue, 29 May 2012 14:00:48 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338300047!30408006!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7937 invoked from network); 29 May 2012 14:00:47 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 14:00:47 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 15:00:47 +0100
Message-Id: <4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 15:00:44 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
In-Reply-To: <4FC4D0EB.50507@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 15:36, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> Il 29/05/2012 15:21, Jan Beulich ha scritto:
>> PS: Please don't drop xen-devel from Cc on conversations like
>> this.

You dropped xen-devel again.

> Thanks for reply, I check binutils and gcc, are installed and right 
> version seems:
>...
> 2.22-6                                 GNU assembler, linker and binary 

And it also is configured properly (i.e. lists i386pep as supported
emulation)? If building xen.efi doesn't work, the first thing to look
at is (in the Xen build tree) xen/arch/x86/efi/disabled, which
stores any error encountered while checking for the necessary
features in compiler in linker).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN04-0002zO-Bg; Tue, 29 May 2012 14:02:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN02-0002yi-Ea
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:14 +0000
Received: from [85.158.138.51:46688] by server-12.bemta-3.messagelabs.com id
	E9/DC-18957-5E6D4CF4; Tue, 29 May 2012 14:02:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30138 invoked from network); 29 May 2012 14:02:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058240"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMuw-0008O7-VY;
	Tue, 29 May 2012 14:56:58 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:56:58 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 0 of 5 V2] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series defines a descriminating value for each scheduler paramter
and uses it to fix a warning when starting a guest:
  "Cpu weight out of range, valid values are within range from 1 to 65535"

It also cleans up a few things and adds some convience interfaces for
cpupools.

Big change since v1 is to combine all the domain sched paramter's
set/get functions into a single pair of set/get.

Also the distinguished default values are all now -1.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN04-0002zO-Bg; Tue, 29 May 2012 14:02:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN02-0002yi-Ea
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:14 +0000
Received: from [85.158.138.51:46688] by server-12.bemta-3.messagelabs.com id
	E9/DC-18957-5E6D4CF4; Tue, 29 May 2012 14:02:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30138 invoked from network); 29 May 2012 14:02:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058240"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMuw-0008O7-VY;
	Tue, 29 May 2012 14:56:58 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:56:58 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 0 of 5 V2] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series defines a descriminating value for each scheduler paramter
and uses it to fix a warning when starting a guest:
  "Cpu weight out of range, valid values are within range from 1 to 65535"

It also cleans up a few things and adds some convience interfaces for
cpupools.

Big change since v1 is to combine all the domain sched paramter's
set/get functions into a single pair of set/get.

Also the distinguished default values are all now -1.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN04-0002zd-Of; Tue, 29 May 2012 14:02:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN02-0002yj-GS
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:14 +0000
Received: from [85.158.143.35:37702] by server-1.bemta-4.messagelabs.com id
	50/52-00342-5E6D4CF4; Tue, 29 May 2012 14:02:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338300131!14626148!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 426 invoked from network); 29 May 2012 14:02:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058238"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-0f;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 73d8274c0b6859b4528af75a7405e546d659f130
Message-ID: <73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:00 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 2 of 5 V2] libxl: rename libxl_sched_params to
 libxl_domain_sched_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299709 -3600
# Node ID 73d8274c0b6859b4528af75a7405e546d659f130
# Parent  980a25d6ad12ba0f10fa616255b9382cc14ce69e
libxl: rename libxl_sched_params to libxl_domain_sched_params

Remove credit scheduler global options from the struct, they were never used
anyway.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: use libxl_domain_sched_params which fits in better with future changes.

diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:55:09 2012 +0100
@@ -42,7 +42,8 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_domain_sched_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     libxl_scheduler sched;
diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 29 14:55:09 2012 +0100
@@ -740,7 +740,8 @@ _hidden libxl_domain_type libxl__domain_
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
 _hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
+_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                                    libxl_domain_sched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
 typedef struct {
diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 29 14:55:09 2012 +0100
@@ -224,11 +224,9 @@ libxl_domain_create_info = Struct("domai
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
-libxl_sched_params = Struct("sched_params",[
+libxl_domain_sched_params = Struct("domain_sched_params",[
     ("weight",       integer),
     ("cap",          integer),
-    ("tslice_ms",    integer),
-    ("ratelimit_us", integer),
     ("period",       integer),
     ("slice",        integer),
     ("latency",      integer),
@@ -262,7 +260,7 @@ libxl_domain_build_info = Struct("domain
     # extra parameters pass directly to qemu for HVM guest, NULL terminated
     ("extra_hvm",        libxl_string_list),
     #  parameters for all type of scheduler
-    ("sched_params",     libxl_sched_params),
+    ("sched_params",     libxl_domain_sched_params),
 
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:09 2012 +0100
@@ -633,10 +633,6 @@ static void parse_config_data(const char
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN04-0002zd-Of; Tue, 29 May 2012 14:02:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN02-0002yj-GS
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:14 +0000
Received: from [85.158.143.35:37702] by server-1.bemta-4.messagelabs.com id
	50/52-00342-5E6D4CF4; Tue, 29 May 2012 14:02:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338300131!14626148!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 426 invoked from network); 29 May 2012 14:02:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058238"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-0f;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 73d8274c0b6859b4528af75a7405e546d659f130
Message-ID: <73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:00 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 2 of 5 V2] libxl: rename libxl_sched_params to
 libxl_domain_sched_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299709 -3600
# Node ID 73d8274c0b6859b4528af75a7405e546d659f130
# Parent  980a25d6ad12ba0f10fa616255b9382cc14ce69e
libxl: rename libxl_sched_params to libxl_domain_sched_params

Remove credit scheduler global options from the struct, they were never used
anyway.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: use libxl_domain_sched_params which fits in better with future changes.

diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:55:09 2012 +0100
@@ -42,7 +42,8 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_domain_sched_params *scparams)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     libxl_scheduler sched;
diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 29 14:55:09 2012 +0100
@@ -740,7 +740,8 @@ _hidden libxl_domain_type libxl__domain_
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
 _hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
+_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                                    libxl_domain_sched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
 typedef struct {
diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 29 14:55:09 2012 +0100
@@ -224,11 +224,9 @@ libxl_domain_create_info = Struct("domai
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
-libxl_sched_params = Struct("sched_params",[
+libxl_domain_sched_params = Struct("domain_sched_params",[
     ("weight",       integer),
     ("cap",          integer),
-    ("tslice_ms",    integer),
-    ("ratelimit_us", integer),
     ("period",       integer),
     ("slice",        integer),
     ("latency",      integer),
@@ -262,7 +260,7 @@ libxl_domain_build_info = Struct("domain
     # extra parameters pass directly to qemu for HVM guest, NULL terminated
     ("extra_hvm",        libxl_string_list),
     #  parameters for all type of scheduler
-    ("sched_params",     libxl_sched_params),
+    ("sched_params",     libxl_domain_sched_params),
 
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:09 2012 +0100
@@ -633,10 +633,6 @@ static void parse_config_data(const char
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
         b_info->sched_params.cap = l;
-    if (!xlu_cfg_get_long (config, "tslice_ms", &l, 0))
-        b_info->sched_params.tslice_ms = l;
-    if (!xlu_cfg_get_long (config, "ratelimit_us", &l, 0))
-        b_info->sched_params.ratelimit_us = l;
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN03-0002zA-VB; Tue, 29 May 2012 14:02:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN01-0002yb-Oy
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:14 +0000
Received: from [85.158.138.51:46612] by server-11.bemta-3.messagelabs.com id
	65/6A-20431-4E6D4CF4; Tue, 29 May 2012 14:02:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29985 invoked from network); 29 May 2012 14:02:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058239"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-3q;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9094cf509df0e36d8c59ed131937b1ebc07cc2ad
Message-ID: <9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:03 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 5 of 5 V2] libxl: expose a single get/setter for
 domain scheduler parameters
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299813 -3600
# Node ID 9094cf509df0e36d8c59ed131937b1ebc07cc2ad
# Parent  d89b5eeb94519fdc056f91663676cf012c40b654
libxl: expose a single get/setter for domain scheduler parameters.

This is consistent with having a single struct for all parameters.

Effectively renames and exports libxl__sched_set_params as
libxl_domain_sched_params_set. libxl_domain_sched_params_get is new.

Improve const correctness of the setters while I'm here.

Use shorter LOG macros when touching a line anyway.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
@@ -3196,15 +3196,15 @@ libxl_scheduler libxl_get_scheduler(libx
     return sched;
 }
 
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo)
+static int sched_credit_domain_get(libxl__gc *gc, uint32_t domid,
+                                   libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        LOGE(ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
@@ -3216,32 +3216,31 @@ int libxl_sched_credit_domain_get(libxl_
     return 0;
 }
 
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo)
+static int sched_credit_domain_set(libxl__gc *gc, uint32_t domid,
+                                   const libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
+    rc = xc_domain_getinfolist(CTX->xch, domid, 1, &domaininfo);
     if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+        LOGE(ERROR, "getting domain info list");
         return ERROR_FAIL;
     }
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        LOGE(ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
     if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
         if (scinfo->weight < 1 || scinfo->weight > 65535) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "Cpu weight out of range, "
-                       "valid values are within range from 1 to 65535");
+            LOG(ERROR, "Cpu weight out of range, "
+                "valid values are within range from 1 to 65535");
             return ERROR_INVAL;
         }
         sdom.weight = scinfo->weight;
@@ -3250,18 +3249,17 @@ int libxl_sched_credit_domain_set(libxl_
     if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
         if (scinfo->cap < 0
             || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                "Cpu cap out of range, "
+            LOG(ERROR, "Cpu cap out of range, "
                 "valid range is from 0 to %d for specified number of vcpus",
-                       ((domaininfo.max_vcpu_id + 1) * 100));
+                ((domaininfo.max_vcpu_id + 1) * 100));
             return ERROR_INVAL;
         }
         sdom.cap = scinfo->cap;
     }
 
-    rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit_domain_set(CTX->xch, domid, &sdom);
     if ( rc < 0 ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched credit");
+        LOGE(ERROR, "setting domain sched credit");
         return ERROR_FAIL;
     }
 
@@ -3329,16 +3327,15 @@ int libxl_sched_credit_params_set(libxl_
     return 0;
 }
 
-int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo)
+static int sched_credit2_domain_get(libxl__gc *gc, uint32_t domid,
+                                    libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit2_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "getting domain sched credit2");
+        LOGE(ERROR, "getting domain sched credit2");
         return ERROR_FAIL;
     }
 
@@ -3349,42 +3346,38 @@ int libxl_sched_credit2_domain_get(libxl
     return 0;
 }
 
-int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo)
+static int sched_credit2_domain_set(libxl__gc *gc, uint32_t domid,
+                                    const libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit2_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "getting domain sched credit2");
+        LOGE(ERROR, "getting domain sched credit2");
         return ERROR_FAIL;
     }
 
     if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
         if (scinfo->weight < 1 || scinfo->weight > 65535) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "Cpu weight out of range, "
-                       "valid values are within range from "
-                       "1 to 65535");
+            LOG(ERROR, "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
             return ERROR_INVAL;
         }
         sdom.weight = scinfo->weight;
     }
 
-    rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit2_domain_set(CTX->xch, domid, &sdom);
     if ( rc < 0 ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "setting domain sched credit2");
+        LOGE(ERROR, "setting domain sched credit2");
         return ERROR_FAIL;
     }
 
     return 0;
 }
 
-int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo)
+static int sched_sedf_domain_get(libxl__gc *gc, uint32_t domid,
+                                 libxl_domain_sched_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3393,10 +3386,10 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+    rc = xc_sedf_domain_get(CTX->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
+        LOGE(ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
 
@@ -3411,8 +3404,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
     return 0;
 }
 
-int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo)
+static int sched_sedf_domain_set(libxl__gc *gc, uint32_t domid,
+                                 const libxl_domain_sched_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3422,10 +3415,10 @@ int libxl_sched_sedf_domain_set(libxl_ct
 
     int ret;
 
-    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+    ret = xc_sedf_domain_get(CTX->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (ret != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
+        LOGE(ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
 
@@ -3440,20 +3433,21 @@ int libxl_sched_sedf_domain_set(libxl_ct
     if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
         weight = scinfo->weight;
 
-    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+    ret = xc_sedf_domain_set(CTX->xch, domid, period, slice, latency,
                             extratime, weight);
     if ( ret < 0 ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
+        LOGE(ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
 
     return 0;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
-                            libxl_domain_sched_params *scparams)
+int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
+                                  const libxl_domain_sched_params *scinfo)
 {
-    libxl_scheduler sched = scparams->sched;
+    GC_INIT(ctx);
+    libxl_scheduler sched = scinfo->sched;
     int ret;
 
     if (sched == LIBXL_SCHEDULER_UNKNOWN)
@@ -3461,19 +3455,51 @@ int libxl__sched_set_params(libxl__gc *g
 
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        ret=sched_sedf_domain_set(gc, domid, scinfo);
         break;
     case LIBXL_SCHEDULER_CREDIT:
-        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        ret=sched_credit_domain_set(gc, domid, scinfo);
         break;
     case LIBXL_SCHEDULER_CREDIT2:
-        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        ret=sched_credit2_domain_set(gc, domid, scinfo);
         break;
     default:
         LOG(ERROR, "Unknown scheduler");
         ret=ERROR_INVAL;
         break;
     }
+
+    GC_FREE;
+    return ret;
+}
+
+int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *scinfo)
+{
+    GC_INIT(ctx);
+    int ret;
+
+    libxl_domain_sched_params_init(scinfo);
+
+    scinfo->sched = libxl__domain_scheduler(gc, domid);
+
+    switch (scinfo->sched) {
+    case LIBXL_SCHEDULER_SEDF:
+        ret=sched_sedf_domain_get(gc, domid, scinfo);
+        break;
+    case LIBXL_SCHEDULER_CREDIT:
+        ret=sched_credit_domain_get(gc, domid, scinfo);
+        break;
+    case LIBXL_SCHEDULER_CREDIT2:
+        ret=sched_credit2_domain_get(gc, domid, scinfo);
+        break;
+    default:
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
+    }
+
+    GC_FREE;
     return ret;
 }
 
diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 14:56:53 2012 +0100
@@ -790,18 +790,11 @@ int libxl_sched_credit_params_set(libxl_
 #define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
 #define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
 
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo);
-int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo);
-int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo);
-int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo);
-int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo);
+int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *params);
+int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
+                                  const libxl_domain_sched_params *params);
+
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
@@ -174,7 +174,7 @@ int libxl__build_post(libxl__gc *gc, uin
     char **ents, **hvm_ents;
     int i;
 
-    libxl__sched_set_params (gc, domid, &(info->sched_params));
+    libxl_domain_sched_params_set(CTX, domid, &info->sched_params);
 
     libxl_cpuid_apply_policy(ctx, domid);
     if (info->cpuid != NULL)
diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:56:53 2012 +0100
@@ -4361,24 +4361,33 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
+static int sched_domain_get(libxl_scheduler sched, int domid,
+                            libxl_domain_sched_params *scinfo)
 {
     int rc;
 
-    rc = libxl_sched_credit_domain_get(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_credit_domain_get failed.\n");
-
-    return rc;
-}
-
-static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
+    rc = libxl_domain_sched_params_get(ctx, domid, scinfo);
+    if (rc) {
+        fprintf(stderr, "libxl_domain_sched_params_get failed.\n");
+        return rc;
+    }
+    if (scinfo->sched != sched) {
+        fprintf(stderr, "libxl_domain_sched_params_get returned %s not %s.\n",
+                libxl_scheduler_to_string(scinfo->sched),
+                libxl_scheduler_to_string(sched));
+        return ERROR_INVAL;
+    }
+
+    return 0;
+}
+
+static int sched_domain_set(int domid, const libxl_domain_sched_params *scinfo)
 {
     int rc;
 
-    rc = libxl_sched_credit_domain_set(ctx, domid, scinfo);
+    rc = libxl_domain_sched_params_set(ctx, domid, scinfo);
     if (rc)
-        fprintf(stderr, "libxl_sched_credit_domain_set failed.\n");
+        fprintf(stderr, "libxl_domain_sched_params_set failed.\n");
 
     return rc;
 }
@@ -4415,7 +4424,7 @@ static int sched_credit_domain_output(in
         printf("%-33s %4s %6s %4s\n", "Name", "ID", "Weight", "Cap");
         return 0;
     }
-    rc = sched_credit_domain_get(domid, &scinfo);
+    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT, domid, &scinfo);
     if (rc)
         return rc;
     domname = libxl_domid_to_name(ctx, domid);
@@ -4450,30 +4459,6 @@ static int sched_credit_pool_output(uint
     return 0;
 }
 
-static int sched_credit2_domain_get(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_credit2_domain_get(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_credit2_domain_get failed.\n");
-
-    return rc;
-}
-
-static int sched_credit2_domain_set(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_credit2_domain_set(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_credit2_domain_set failed.\n");
-
-    return rc;
-}
-
 static int sched_credit2_domain_output(
     int domid)
 {
@@ -4485,7 +4470,7 @@ static int sched_credit2_domain_output(
         printf("%-33s %4s %6s\n", "Name", "ID", "Weight");
         return 0;
     }
-    rc = sched_credit2_domain_get(domid, &scinfo);
+    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT2, domid, &scinfo);
     if (rc)
         return rc;
     domname = libxl_domid_to_name(ctx, domid);
@@ -4498,29 +4483,6 @@ static int sched_credit2_domain_output(
     return 0;
 }
 
-static int sched_sedf_domain_get(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_sedf_domain_get(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_sedf_domain_get failed.\n");
-
-    return rc;
-}
-
-static int sched_sedf_domain_set(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_sedf_domain_set(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_sedf_domain_set failed.\n");
-    return rc;
-}
-
 static int sched_sedf_domain_output(
     int domid)
 {
@@ -4533,7 +4495,7 @@ static int sched_sedf_domain_output(
                "Slice", "Latency", "Extra", "Weight");
         return 0;
     }
-    rc = sched_sedf_domain_get(domid, &scinfo);
+    rc = sched_domain_get(LIBXL_SCHEDULER_SEDF, domid, &scinfo);
     if (rc)
         return rc;
     domname = libxl_domid_to_name(ctx, domid);
@@ -4744,7 +4706,7 @@ int main_sched_credit(int argc, char **a
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
-            rc = sched_credit_domain_set(domid, &scinfo);
+            rc = sched_domain_set(domid, &scinfo);
             libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
@@ -4819,7 +4781,7 @@ int main_sched_credit2(int argc, char **
             scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
-            rc = sched_credit2_domain_set(domid, &scinfo);
+            rc = sched_domain_set(domid, &scinfo);
             libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
@@ -4939,7 +4901,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.period = 0;
                 scinfo.slice = 0;
             }
-            rc = sched_sedf_domain_set(domid, &scinfo);
+            rc = sched_domain_set(domid, &scinfo);
             libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN03-0002zA-VB; Tue, 29 May 2012 14:02:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN01-0002yb-Oy
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:14 +0000
Received: from [85.158.138.51:46612] by server-11.bemta-3.messagelabs.com id
	65/6A-20431-4E6D4CF4; Tue, 29 May 2012 14:02:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29985 invoked from network); 29 May 2012 14:02:11 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058239"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-3q;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9094cf509df0e36d8c59ed131937b1ebc07cc2ad
Message-ID: <9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:03 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 5 of 5 V2] libxl: expose a single get/setter for
 domain scheduler parameters
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299813 -3600
# Node ID 9094cf509df0e36d8c59ed131937b1ebc07cc2ad
# Parent  d89b5eeb94519fdc056f91663676cf012c40b654
libxl: expose a single get/setter for domain scheduler parameters.

This is consistent with having a single struct for all parameters.

Effectively renames and exports libxl__sched_set_params as
libxl_domain_sched_params_set. libxl_domain_sched_params_get is new.

Improve const correctness of the setters while I'm here.

Use shorter LOG macros when touching a line anyway.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
@@ -3196,15 +3196,15 @@ libxl_scheduler libxl_get_scheduler(libx
     return sched;
 }
 
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo)
+static int sched_credit_domain_get(libxl__gc *gc, uint32_t domid,
+                                   libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        LOGE(ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
@@ -3216,32 +3216,31 @@ int libxl_sched_credit_domain_get(libxl_
     return 0;
 }
 
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo)
+static int sched_credit_domain_set(libxl__gc *gc, uint32_t domid,
+                                   const libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
+    rc = xc_domain_getinfolist(CTX->xch, domid, 1, &domaininfo);
     if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+        LOGE(ERROR, "getting domain info list");
         return ERROR_FAIL;
     }
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        LOGE(ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
     if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
         if (scinfo->weight < 1 || scinfo->weight > 65535) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "Cpu weight out of range, "
-                       "valid values are within range from 1 to 65535");
+            LOG(ERROR, "Cpu weight out of range, "
+                "valid values are within range from 1 to 65535");
             return ERROR_INVAL;
         }
         sdom.weight = scinfo->weight;
@@ -3250,18 +3249,17 @@ int libxl_sched_credit_domain_set(libxl_
     if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
         if (scinfo->cap < 0
             || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                "Cpu cap out of range, "
+            LOG(ERROR, "Cpu cap out of range, "
                 "valid range is from 0 to %d for specified number of vcpus",
-                       ((domaininfo.max_vcpu_id + 1) * 100));
+                ((domaininfo.max_vcpu_id + 1) * 100));
             return ERROR_INVAL;
         }
         sdom.cap = scinfo->cap;
     }
 
-    rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit_domain_set(CTX->xch, domid, &sdom);
     if ( rc < 0 ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched credit");
+        LOGE(ERROR, "setting domain sched credit");
         return ERROR_FAIL;
     }
 
@@ -3329,16 +3327,15 @@ int libxl_sched_credit_params_set(libxl_
     return 0;
 }
 
-int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo)
+static int sched_credit2_domain_get(libxl__gc *gc, uint32_t domid,
+                                    libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit2_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "getting domain sched credit2");
+        LOGE(ERROR, "getting domain sched credit2");
         return ERROR_FAIL;
     }
 
@@ -3349,42 +3346,38 @@ int libxl_sched_credit2_domain_get(libxl
     return 0;
 }
 
-int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo)
+static int sched_credit2_domain_set(libxl__gc *gc, uint32_t domid,
+                                    const libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit2_domain_get(CTX->xch, domid, &sdom);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "getting domain sched credit2");
+        LOGE(ERROR, "getting domain sched credit2");
         return ERROR_FAIL;
     }
 
     if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
         if (scinfo->weight < 1 || scinfo->weight > 65535) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "Cpu weight out of range, "
-                       "valid values are within range from "
-                       "1 to 65535");
+            LOG(ERROR, "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
             return ERROR_INVAL;
         }
         sdom.weight = scinfo->weight;
     }
 
-    rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
+    rc = xc_sched_credit2_domain_set(CTX->xch, domid, &sdom);
     if ( rc < 0 ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                         "setting domain sched credit2");
+        LOGE(ERROR, "setting domain sched credit2");
         return ERROR_FAIL;
     }
 
     return 0;
 }
 
-int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo)
+static int sched_sedf_domain_get(libxl__gc *gc, uint32_t domid,
+                                 libxl_domain_sched_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3393,10 +3386,10 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+    rc = xc_sedf_domain_get(CTX->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
+        LOGE(ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
 
@@ -3411,8 +3404,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
     return 0;
 }
 
-int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo)
+static int sched_sedf_domain_set(libxl__gc *gc, uint32_t domid,
+                                 const libxl_domain_sched_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3422,10 +3415,10 @@ int libxl_sched_sedf_domain_set(libxl_ct
 
     int ret;
 
-    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+    ret = xc_sedf_domain_get(CTX->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (ret != 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
+        LOGE(ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
 
@@ -3440,20 +3433,21 @@ int libxl_sched_sedf_domain_set(libxl_ct
     if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
         weight = scinfo->weight;
 
-    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+    ret = xc_sedf_domain_set(CTX->xch, domid, period, slice, latency,
                             extratime, weight);
     if ( ret < 0 ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
+        LOGE(ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
 
     return 0;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
-                            libxl_domain_sched_params *scparams)
+int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
+                                  const libxl_domain_sched_params *scinfo)
 {
-    libxl_scheduler sched = scparams->sched;
+    GC_INIT(ctx);
+    libxl_scheduler sched = scinfo->sched;
     int ret;
 
     if (sched == LIBXL_SCHEDULER_UNKNOWN)
@@ -3461,19 +3455,51 @@ int libxl__sched_set_params(libxl__gc *g
 
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        ret=sched_sedf_domain_set(gc, domid, scinfo);
         break;
     case LIBXL_SCHEDULER_CREDIT:
-        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        ret=sched_credit_domain_set(gc, domid, scinfo);
         break;
     case LIBXL_SCHEDULER_CREDIT2:
-        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        ret=sched_credit2_domain_set(gc, domid, scinfo);
         break;
     default:
         LOG(ERROR, "Unknown scheduler");
         ret=ERROR_INVAL;
         break;
     }
+
+    GC_FREE;
+    return ret;
+}
+
+int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *scinfo)
+{
+    GC_INIT(ctx);
+    int ret;
+
+    libxl_domain_sched_params_init(scinfo);
+
+    scinfo->sched = libxl__domain_scheduler(gc, domid);
+
+    switch (scinfo->sched) {
+    case LIBXL_SCHEDULER_SEDF:
+        ret=sched_sedf_domain_get(gc, domid, scinfo);
+        break;
+    case LIBXL_SCHEDULER_CREDIT:
+        ret=sched_credit_domain_get(gc, domid, scinfo);
+        break;
+    case LIBXL_SCHEDULER_CREDIT2:
+        ret=sched_credit2_domain_get(gc, domid, scinfo);
+        break;
+    default:
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
+    }
+
+    GC_FREE;
     return ret;
 }
 
diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 14:56:53 2012 +0100
@@ -790,18 +790,11 @@ int libxl_sched_credit_params_set(libxl_
 #define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
 #define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
 
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_domain_sched_params *scinfo);
-int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo);
-int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_domain_sched_params *scinfo);
-int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo);
-int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_domain_sched_params *scinfo);
+int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *params);
+int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
+                                  const libxl_domain_sched_params *params);
+
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
@@ -174,7 +174,7 @@ int libxl__build_post(libxl__gc *gc, uin
     char **ents, **hvm_ents;
     int i;
 
-    libxl__sched_set_params (gc, domid, &(info->sched_params));
+    libxl_domain_sched_params_set(CTX, domid, &info->sched_params);
 
     libxl_cpuid_apply_policy(ctx, domid);
     if (info->cpuid != NULL)
diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:56:53 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:56:53 2012 +0100
@@ -4361,24 +4361,33 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
+static int sched_domain_get(libxl_scheduler sched, int domid,
+                            libxl_domain_sched_params *scinfo)
 {
     int rc;
 
-    rc = libxl_sched_credit_domain_get(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_credit_domain_get failed.\n");
-
-    return rc;
-}
-
-static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
+    rc = libxl_domain_sched_params_get(ctx, domid, scinfo);
+    if (rc) {
+        fprintf(stderr, "libxl_domain_sched_params_get failed.\n");
+        return rc;
+    }
+    if (scinfo->sched != sched) {
+        fprintf(stderr, "libxl_domain_sched_params_get returned %s not %s.\n",
+                libxl_scheduler_to_string(scinfo->sched),
+                libxl_scheduler_to_string(sched));
+        return ERROR_INVAL;
+    }
+
+    return 0;
+}
+
+static int sched_domain_set(int domid, const libxl_domain_sched_params *scinfo)
 {
     int rc;
 
-    rc = libxl_sched_credit_domain_set(ctx, domid, scinfo);
+    rc = libxl_domain_sched_params_set(ctx, domid, scinfo);
     if (rc)
-        fprintf(stderr, "libxl_sched_credit_domain_set failed.\n");
+        fprintf(stderr, "libxl_domain_sched_params_set failed.\n");
 
     return rc;
 }
@@ -4415,7 +4424,7 @@ static int sched_credit_domain_output(in
         printf("%-33s %4s %6s %4s\n", "Name", "ID", "Weight", "Cap");
         return 0;
     }
-    rc = sched_credit_domain_get(domid, &scinfo);
+    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT, domid, &scinfo);
     if (rc)
         return rc;
     domname = libxl_domid_to_name(ctx, domid);
@@ -4450,30 +4459,6 @@ static int sched_credit_pool_output(uint
     return 0;
 }
 
-static int sched_credit2_domain_get(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_credit2_domain_get(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_credit2_domain_get failed.\n");
-
-    return rc;
-}
-
-static int sched_credit2_domain_set(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_credit2_domain_set(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_credit2_domain_set failed.\n");
-
-    return rc;
-}
-
 static int sched_credit2_domain_output(
     int domid)
 {
@@ -4485,7 +4470,7 @@ static int sched_credit2_domain_output(
         printf("%-33s %4s %6s\n", "Name", "ID", "Weight");
         return 0;
     }
-    rc = sched_credit2_domain_get(domid, &scinfo);
+    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT2, domid, &scinfo);
     if (rc)
         return rc;
     domname = libxl_domid_to_name(ctx, domid);
@@ -4498,29 +4483,6 @@ static int sched_credit2_domain_output(
     return 0;
 }
 
-static int sched_sedf_domain_get(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_sedf_domain_get(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_sedf_domain_get failed.\n");
-
-    return rc;
-}
-
-static int sched_sedf_domain_set(
-    int domid, libxl_domain_sched_params *scinfo)
-{
-    int rc;
-
-    rc = libxl_sched_sedf_domain_set(ctx, domid, scinfo);
-    if (rc)
-        fprintf(stderr, "libxl_sched_sedf_domain_set failed.\n");
-    return rc;
-}
-
 static int sched_sedf_domain_output(
     int domid)
 {
@@ -4533,7 +4495,7 @@ static int sched_sedf_domain_output(
                "Slice", "Latency", "Extra", "Weight");
         return 0;
     }
-    rc = sched_sedf_domain_get(domid, &scinfo);
+    rc = sched_domain_get(LIBXL_SCHEDULER_SEDF, domid, &scinfo);
     if (rc)
         return rc;
     domname = libxl_domid_to_name(ctx, domid);
@@ -4744,7 +4706,7 @@ int main_sched_credit(int argc, char **a
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
-            rc = sched_credit_domain_set(domid, &scinfo);
+            rc = sched_domain_set(domid, &scinfo);
             libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
@@ -4819,7 +4781,7 @@ int main_sched_credit2(int argc, char **
             scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
-            rc = sched_credit2_domain_set(domid, &scinfo);
+            rc = sched_domain_set(domid, &scinfo);
             libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
@@ -4939,7 +4901,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.period = 0;
                 scinfo.slice = 0;
             }
-            rc = sched_sedf_domain_set(domid, &scinfo);
+            rc = sched_domain_set(domid, &scinfo);
             libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN02-0002yq-Ic; Tue, 29 May 2012 14:02:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN01-0002yU-1K
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:13 +0000
Received: from [85.158.138.51:46499] by server-5.bemta-3.messagelabs.com id
	07/74-25552-4E6D4CF4; Tue, 29 May 2012 14:02:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29921 invoked from network); 29 May 2012 14:02:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058234"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-2q;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: d89b5eeb94519fdc056f91663676cf012c40b654
Message-ID: <d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:02 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 4 of 5 V2] libxl: move libxl__sched_set_params
	into libxl.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299813 -3600
# Node ID d89b5eeb94519fdc056f91663676cf012c40b654
# Parent  274de8e1e0d116070d34731d93b53ce44530e5a0
libxl: move libxl__sched_set_params into libxl.c

All the other sched functions are here and I'm just about to make those static
functions as I make libxl__sched_set_params the public function.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 14:55:29 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
@@ -3450,6 +3450,33 @@ int libxl_sched_sedf_domain_set(libxl_ct
     return 0;
 }
 
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_domain_sched_params *scparams)
+{
+    libxl_scheduler sched = scparams->sched;
+    int ret;
+
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl__domain_scheduler(gc, domid);
+
+    switch (sched) {
+    case LIBXL_SCHEDULER_SEDF:
+        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        break;
+    case LIBXL_SCHEDULER_CREDIT:
+        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        break;
+    case LIBXL_SCHEDULER_CREDIT2:
+        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        break;
+    default:
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
+    }
+    return ret;
+}
+
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid)
 {
diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:55:29 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
@@ -42,33 +42,6 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
-                            libxl_domain_sched_params *scparams)
-{
-    libxl_scheduler sched = scparams->sched;
-    int ret;
-
-    if (sched == LIBXL_SCHEDULER_UNKNOWN)
-        sched = libxl__domain_scheduler(gc, domid);
-
-    switch (sched) {
-    case LIBXL_SCHEDULER_SEDF:
-        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
-        break;
-    case LIBXL_SCHEDULER_CREDIT:
-        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
-        break;
-    case LIBXL_SCHEDULER_CREDIT2:
-        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
-        break;
-    default:
-        LOG(ERROR, "Unknown scheduler");
-        ret=ERROR_INVAL;
-        break;
-    }
-    return ret;
-}
-
 int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN02-0002yq-Ic; Tue, 29 May 2012 14:02:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN01-0002yU-1K
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:13 +0000
Received: from [85.158.138.51:46499] by server-5.bemta-3.messagelabs.com id
	07/74-25552-4E6D4CF4; Tue, 29 May 2012 14:02:12 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29921 invoked from network); 29 May 2012 14:02:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058234"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-2q;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: d89b5eeb94519fdc056f91663676cf012c40b654
Message-ID: <d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:02 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 4 of 5 V2] libxl: move libxl__sched_set_params
	into libxl.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299813 -3600
# Node ID d89b5eeb94519fdc056f91663676cf012c40b654
# Parent  274de8e1e0d116070d34731d93b53ce44530e5a0
libxl: move libxl__sched_set_params into libxl.c

All the other sched functions are here and I'm just about to make those static
functions as I make libxl__sched_set_params the public function.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 14:55:29 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
@@ -3450,6 +3450,33 @@ int libxl_sched_sedf_domain_set(libxl_ct
     return 0;
 }
 
+int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
+                            libxl_domain_sched_params *scparams)
+{
+    libxl_scheduler sched = scparams->sched;
+    int ret;
+
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl__domain_scheduler(gc, domid);
+
+    switch (sched) {
+    case LIBXL_SCHEDULER_SEDF:
+        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        break;
+    case LIBXL_SCHEDULER_CREDIT:
+        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        break;
+    case LIBXL_SCHEDULER_CREDIT2:
+        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        break;
+    default:
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
+    }
+    return ret;
+}
+
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid)
 {
diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:55:29 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
@@ -42,33 +42,6 @@ libxl_domain_type libxl__domain_type(lib
         return LIBXL_DOMAIN_TYPE_PV;
 }
 
-int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
-                            libxl_domain_sched_params *scparams)
-{
-    libxl_scheduler sched = scparams->sched;
-    int ret;
-
-    if (sched == LIBXL_SCHEDULER_UNKNOWN)
-        sched = libxl__domain_scheduler(gc, domid);
-
-    switch (sched) {
-    case LIBXL_SCHEDULER_SEDF:
-        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
-        break;
-    case LIBXL_SCHEDULER_CREDIT:
-        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
-        break;
-    case LIBXL_SCHEDULER_CREDIT2:
-        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
-        break;
-    default:
-        LOG(ERROR, "Unknown scheduler");
-        ret=ERROR_INVAL;
-        break;
-    }
-    return ret;
-}
-
 int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN05-000301-9K; Tue, 29 May 2012 14:02:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN03-0002yj-TK
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:16 +0000
Received: from [85.158.143.35:39808] by server-1.bemta-4.messagelabs.com id
	22/62-00342-7E6D4CF4; Tue, 29 May 2012 14:02:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338300131!14626148!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 569 invoked from network); 29 May 2012 14:02:14 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058244"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMuw-0008O7-WF;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 980a25d6ad12ba0f10fa616255b9382cc14ce69e
Message-ID: <980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:56:59 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 1 of 5 V2] libxl: add internal function to get a
 domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299619 -3600
# Node ID 980a25d6ad12ba0f10fa616255b9382cc14ce69e
# Parent  12537c670e9ea9e7f73747e203ca318107b82cd9
libxl: add internal function to get a domain's scheduler.

This takes into account cpupools.

Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool
t use this. While there fix the leaks due to not disposing the partial list on
realloc failure in that function.

Fix the failure of sched_domain_output to free the poolinfo list.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: add libxl_cpupoolinfo_list_free, use it in libxl_cpupool_list error path.
    Also use it in libxl_cpupool_cpuremove_node (which fixes a leak) and in
    libxl_name_to_cpupoolid, sched_domain_output and main_cpupoollist (which
    also fixes a leak).

    Also in libxl_cpupool_cpuremove_node use libxl_cputopology_list_free
    instead of open coding

diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:53:39 2012 +0100
@@ -552,41 +552,70 @@ int libxl_domain_info(libxl_ctx *ctx, li
     return 0;
 }
 
+static int cpupool_info(libxl__gc *gc,
+                        libxl_cpupoolinfo *info,
+                        uint32_t poolid,
+                        bool exact /* exactly poolid or >= poolid */)
+{
+    xc_cpupoolinfo_t *xcinfo;
+    int rc = ERROR_FAIL;
+
+    xcinfo = xc_cpupool_getinfo(CTX->xch, poolid);
+    if (xcinfo == NULL)
+        return ERROR_FAIL;
+
+    if (exact && xcinfo->cpupool_id != poolid)
+        goto out;
+
+    info->poolid = xcinfo->cpupool_id;
+    info->sched = xcinfo->sched_id;
+    info->n_dom = xcinfo->n_dom;
+    if (libxl_cpumap_alloc(CTX, &info->cpumap))
+        goto out;
+    memcpy(info->cpumap.map, xcinfo->cpumap, info->cpumap.size);
+
+    rc = 0;
+out:
+    xc_cpupool_infofree(CTX->xch, xcinfo);
+    return rc;
+}
+
+int libxl_cpupool_info(libxl_ctx *ctx,
+                       libxl_cpupoolinfo *info, uint32_t poolid)
+{
+    GC_INIT(ctx);
+    int rc = cpupool_info(gc, info, poolid, true);
+    GC_FREE;
+    return rc;
+}
+
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool)
 {
-    libxl_cpupoolinfo *ptr, *tmp;
+    GC_INIT(ctx);
+    libxl_cpupoolinfo info, *ptr, *tmp;
     int i;
-    xc_cpupoolinfo_t *info;
     uint32_t poolid;
 
     ptr = NULL;
 
     poolid = 0;
     for (i = 0;; i++) {
-        info = xc_cpupool_getinfo(ctx->xch, poolid);
-        if (info == NULL)
+        if (cpupool_info(gc, &info, poolid, false))
             break;
         tmp = realloc(ptr, (i + 1) * sizeof(libxl_cpupoolinfo));
         if (!tmp) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
-            free(ptr);
-            xc_cpupool_infofree(ctx->xch, info);
-            return NULL;
+            libxl_cpupoolinfo_list_free(ptr, i);
+            goto out;
         }
         ptr = tmp;
-        ptr[i].poolid = info->cpupool_id;
-        ptr[i].sched = info->sched_id;
-        ptr[i].n_dom = info->n_dom;
-        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap)) {
-            xc_cpupool_infofree(ctx->xch, info);
-            break;
-        }
-        memcpy(ptr[i].cpumap.map, info->cpumap, ptr[i].cpumap.size);
-        poolid = info->cpupool_id + 1;
-        xc_cpupool_infofree(ctx->xch, info);
+        ptr[i] = info;
+        poolid = info.poolid + 1;
     }
 
     *nb_pool = i;
+out:
+    GC_FREE;
     return ptr;
 }
 
@@ -3932,14 +3961,10 @@ int libxl_cpupool_cpuremove_node(libxl_c
         }
     }
 
-    for (cpu = 0; cpu < nr_cpus; cpu++)
-        libxl_cputopology_dispose(&topology[cpu]);
-    free(topology);
+    libxl_cputopology_list_free(topology, nr_cpus);
 
 out:
-    for (p = 0; p < n_pools; p++) {
-        libxl_cpupoolinfo_dispose(poolinfo + p);
-    }
+    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
 
     return ret;
 }
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 14:53:39 2012 +0100
@@ -576,6 +576,7 @@ int libxl_domain_info(libxl_ctx*, libxl_
 libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain);
 void libxl_dominfo_list_free(libxl_dominfo *list, int nr);
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool);
+void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr);
 libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm);
 void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
 
@@ -829,6 +830,7 @@ int libxl_cpupool_cpuadd_node(libxl_ctx 
 int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);
 int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
 int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);
+int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);
 
 int libxl_domid_valid_guest(uint32_t domid);
 
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
@@ -93,6 +93,41 @@ int libxl__domain_shutdown_reason(libxl_
     return (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
 }
 
+int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid)
+{
+    xc_domaininfo_t info;
+    int ret;
+
+    ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+    if (ret != 1)
+        return ERROR_FAIL;
+    if (info.domain != domid)
+        return ERROR_FAIL;
+
+    return info.cpupool;
+}
+
+libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid)
+{
+    uint32_t cpupool = libxl__domain_cpupool(gc, domid);
+    libxl_cpupoolinfo poolinfo;
+    libxl_scheduler sched = LIBXL_SCHEDULER_UNKNOWN;
+    int rc;
+
+    if (cpupool < 0)
+        return sched;
+
+    rc = libxl_cpupool_info(CTX, &poolinfo, cpupool);
+    if (rc < 0)
+        goto out;
+
+    sched = poolinfo.sched;
+
+out:
+    libxl_cpupoolinfo_dispose(&poolinfo);
+    return sched;
+}
+
 int libxl__build_pre(libxl__gc *gc, uint32_t domid,
               libxl_domain_build_info *info, libxl__domain_build_state *state)
 {
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
@@ -738,6 +738,8 @@ _hidden int libxl__file_reference_unmap(
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
+_hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
@@ -107,7 +107,9 @@ libxl_bios_type = Enumeration("bios_type
     ])
 
 # Consistent with values defined in domctl.h
+# Except unknown which we have made up
 libxl_scheduler = Enumeration("scheduler", [
+    (0, "unknown"),
     (4, "sedf"),
     (5, "credit"),
     (6, "credit2"),
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_utils.c	Tue May 29 14:53:39 2012 +0100
@@ -133,9 +133,8 @@ int libxl_name_to_cpupoolid(libxl_ctx *c
             }
             free(poolname);
         }
-        libxl_cpupoolinfo_dispose(poolinfo + i);
     }
-    free(poolinfo);
+    libxl_cpupoolinfo_list_free(poolinfo, nb_pools);
     return ret;
 }
 
@@ -686,6 +685,14 @@ void libxl_vminfo_list_free(libxl_vminfo
     free(list);
 }
 
+void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_cpupoolinfo_dispose(&list[i]);
+    free(list);
+}
+
 int libxl_domid_valid_guest(uint32_t domid)
 {
     /* returns 1 if the value _could_ be a valid guest domid, 0 otherwise
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
@@ -4608,11 +4608,8 @@ static int sched_domain_output(libxl_sch
                 break;
         }
     }
-    if (poolinfo) {
-        for (p = 0; p < n_pools; p++) {
-            libxl_cpupoolinfo_dispose(poolinfo + p);
-        }
-    }
+    if (poolinfo)
+        libxl_cpupoolinfo_list_free(poolinfo, n_pools);
     return 0;
 }
 
@@ -6119,8 +6116,9 @@ int main_cpupoollist(int argc, char **ar
                 printf("\n");
             }
         }
-        libxl_cpupoolinfo_dispose(poolinfo + p);
-    }
+    }
+
+    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
 
     return ret;
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN05-000301-9K; Tue, 29 May 2012 14:02:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN03-0002yj-TK
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:16 +0000
Received: from [85.158.143.35:39808] by server-1.bemta-4.messagelabs.com id
	22/62-00342-7E6D4CF4; Tue, 29 May 2012 14:02:15 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338300131!14626148!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 569 invoked from network); 29 May 2012 14:02:14 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058244"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMuw-0008O7-WF;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 980a25d6ad12ba0f10fa616255b9382cc14ce69e
Message-ID: <980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:56:59 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 1 of 5 V2] libxl: add internal function to get a
 domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299619 -3600
# Node ID 980a25d6ad12ba0f10fa616255b9382cc14ce69e
# Parent  12537c670e9ea9e7f73747e203ca318107b82cd9
libxl: add internal function to get a domain's scheduler.

This takes into account cpupools.

Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool
t use this. While there fix the leaks due to not disposing the partial list on
realloc failure in that function.

Fix the failure of sched_domain_output to free the poolinfo list.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: add libxl_cpupoolinfo_list_free, use it in libxl_cpupool_list error path.
    Also use it in libxl_cpupool_cpuremove_node (which fixes a leak) and in
    libxl_name_to_cpupoolid, sched_domain_output and main_cpupoollist (which
    also fixes a leak).

    Also in libxl_cpupool_cpuremove_node use libxl_cputopology_list_free
    instead of open coding

diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:53:39 2012 +0100
@@ -552,41 +552,70 @@ int libxl_domain_info(libxl_ctx *ctx, li
     return 0;
 }
 
+static int cpupool_info(libxl__gc *gc,
+                        libxl_cpupoolinfo *info,
+                        uint32_t poolid,
+                        bool exact /* exactly poolid or >= poolid */)
+{
+    xc_cpupoolinfo_t *xcinfo;
+    int rc = ERROR_FAIL;
+
+    xcinfo = xc_cpupool_getinfo(CTX->xch, poolid);
+    if (xcinfo == NULL)
+        return ERROR_FAIL;
+
+    if (exact && xcinfo->cpupool_id != poolid)
+        goto out;
+
+    info->poolid = xcinfo->cpupool_id;
+    info->sched = xcinfo->sched_id;
+    info->n_dom = xcinfo->n_dom;
+    if (libxl_cpumap_alloc(CTX, &info->cpumap))
+        goto out;
+    memcpy(info->cpumap.map, xcinfo->cpumap, info->cpumap.size);
+
+    rc = 0;
+out:
+    xc_cpupool_infofree(CTX->xch, xcinfo);
+    return rc;
+}
+
+int libxl_cpupool_info(libxl_ctx *ctx,
+                       libxl_cpupoolinfo *info, uint32_t poolid)
+{
+    GC_INIT(ctx);
+    int rc = cpupool_info(gc, info, poolid, true);
+    GC_FREE;
+    return rc;
+}
+
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool)
 {
-    libxl_cpupoolinfo *ptr, *tmp;
+    GC_INIT(ctx);
+    libxl_cpupoolinfo info, *ptr, *tmp;
     int i;
-    xc_cpupoolinfo_t *info;
     uint32_t poolid;
 
     ptr = NULL;
 
     poolid = 0;
     for (i = 0;; i++) {
-        info = xc_cpupool_getinfo(ctx->xch, poolid);
-        if (info == NULL)
+        if (cpupool_info(gc, &info, poolid, false))
             break;
         tmp = realloc(ptr, (i + 1) * sizeof(libxl_cpupoolinfo));
         if (!tmp) {
             LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
-            free(ptr);
-            xc_cpupool_infofree(ctx->xch, info);
-            return NULL;
+            libxl_cpupoolinfo_list_free(ptr, i);
+            goto out;
         }
         ptr = tmp;
-        ptr[i].poolid = info->cpupool_id;
-        ptr[i].sched = info->sched_id;
-        ptr[i].n_dom = info->n_dom;
-        if (libxl_cpumap_alloc(ctx, &ptr[i].cpumap)) {
-            xc_cpupool_infofree(ctx->xch, info);
-            break;
-        }
-        memcpy(ptr[i].cpumap.map, info->cpumap, ptr[i].cpumap.size);
-        poolid = info->cpupool_id + 1;
-        xc_cpupool_infofree(ctx->xch, info);
+        ptr[i] = info;
+        poolid = info.poolid + 1;
     }
 
     *nb_pool = i;
+out:
+    GC_FREE;
     return ptr;
 }
 
@@ -3932,14 +3961,10 @@ int libxl_cpupool_cpuremove_node(libxl_c
         }
     }
 
-    for (cpu = 0; cpu < nr_cpus; cpu++)
-        libxl_cputopology_dispose(&topology[cpu]);
-    free(topology);
+    libxl_cputopology_list_free(topology, nr_cpus);
 
 out:
-    for (p = 0; p < n_pools; p++) {
-        libxl_cpupoolinfo_dispose(poolinfo + p);
-    }
+    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
 
     return ret;
 }
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 14:53:39 2012 +0100
@@ -576,6 +576,7 @@ int libxl_domain_info(libxl_ctx*, libxl_
 libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain);
 void libxl_dominfo_list_free(libxl_dominfo *list, int nr);
 libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool);
+void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr);
 libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm);
 void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
 
@@ -829,6 +830,7 @@ int libxl_cpupool_cpuadd_node(libxl_ctx 
 int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);
 int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
 int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);
+int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);
 
 int libxl_domid_valid_guest(uint32_t domid);
 
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
@@ -93,6 +93,41 @@ int libxl__domain_shutdown_reason(libxl_
     return (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
 }
 
+int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid)
+{
+    xc_domaininfo_t info;
+    int ret;
+
+    ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+    if (ret != 1)
+        return ERROR_FAIL;
+    if (info.domain != domid)
+        return ERROR_FAIL;
+
+    return info.cpupool;
+}
+
+libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid)
+{
+    uint32_t cpupool = libxl__domain_cpupool(gc, domid);
+    libxl_cpupoolinfo poolinfo;
+    libxl_scheduler sched = LIBXL_SCHEDULER_UNKNOWN;
+    int rc;
+
+    if (cpupool < 0)
+        return sched;
+
+    rc = libxl_cpupool_info(CTX, &poolinfo, cpupool);
+    if (rc < 0)
+        goto out;
+
+    sched = poolinfo.sched;
+
+out:
+    libxl_cpupoolinfo_dispose(&poolinfo);
+    return sched;
+}
+
 int libxl__build_pre(libxl__gc *gc, uint32_t domid,
               libxl_domain_build_info *info, libxl__domain_build_state *state)
 {
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
@@ -738,6 +738,8 @@ _hidden int libxl__file_reference_unmap(
 /* from xl_dom */
 _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
+_hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
 #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
     libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
@@ -107,7 +107,9 @@ libxl_bios_type = Enumeration("bios_type
     ])
 
 # Consistent with values defined in domctl.h
+# Except unknown which we have made up
 libxl_scheduler = Enumeration("scheduler", [
+    (0, "unknown"),
     (4, "sedf"),
     (5, "credit"),
     (6, "credit2"),
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/libxl_utils.c	Tue May 29 14:53:39 2012 +0100
@@ -133,9 +133,8 @@ int libxl_name_to_cpupoolid(libxl_ctx *c
             }
             free(poolname);
         }
-        libxl_cpupoolinfo_dispose(poolinfo + i);
     }
-    free(poolinfo);
+    libxl_cpupoolinfo_list_free(poolinfo, nb_pools);
     return ret;
 }
 
@@ -686,6 +685,14 @@ void libxl_vminfo_list_free(libxl_vminfo
     free(list);
 }
 
+void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_cpupoolinfo_dispose(&list[i]);
+    free(list);
+}
+
 int libxl_domid_valid_guest(uint32_t domid)
 {
     /* returns 1 if the value _could_ be a valid guest domid, 0 otherwise
diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 12:56:57 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
@@ -4608,11 +4608,8 @@ static int sched_domain_output(libxl_sch
                 break;
         }
     }
-    if (poolinfo) {
-        for (p = 0; p < n_pools; p++) {
-            libxl_cpupoolinfo_dispose(poolinfo + p);
-        }
-    }
+    if (poolinfo)
+        libxl_cpupoolinfo_list_free(poolinfo, n_pools);
     return 0;
 }
 
@@ -6119,8 +6116,9 @@ int main_cpupoollist(int argc, char **ar
                 printf("\n");
             }
         }
-        libxl_cpupoolinfo_dispose(poolinfo + p);
-    }
+    }
+
+    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
 
     return ret;
 }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN06-00030e-OS; Tue, 29 May 2012 14:02:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN04-0002zU-Ug
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:17 +0000
Received: from [85.158.138.51:46971] by server-7.bemta-3.messagelabs.com id
	25/B9-17379-8E6D4CF4; Tue, 29 May 2012 14:02:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30331 invoked from network); 29 May 2012 14:02:14 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058242"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-1w;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 274de8e1e0d116070d34731d93b53ce44530e5a0
Message-ID: <274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:01 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299729 -3600
# Node ID 274de8e1e0d116070d34731d93b53ce44530e5a0
# Parent  73d8274c0b6859b4528af75a7405e546d659f130
libxl: make it possible to explicitly specify default sched params

To do so we define a discriminating value which is never a valid real value for
each parameter.

While there:

 - removed libxl_sched_*_domain in favour of libxl_domain_sched_params.
 - use this new functionality for the various xl commands which set sched
   parameters, which saves an explicit read-modify-write in xl.
 - removed call of xc_domain_getinfolist from a few functions which weren't
   actually using the result (looks like a cut and paste error)
 - fix xl which was setting period for a variety of different config keys.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:55:29 2012 +0100
@@ -3197,19 +3197,19 @@ libxl_scheduler libxl_get_scheduler(libx
 }
 
 int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    libxl_sched_credit_domain_init(scinfo);
-
     rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
+    libxl_domain_sched_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
     scinfo->weight = sdom.weight;
     scinfo->cap = sdom.cap;
 
@@ -3217,7 +3217,7 @@ int libxl_sched_credit_domain_get(libxl_
 }
 
 int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
@@ -3231,22 +3231,33 @@ int libxl_sched_credit_domain_set(libxl_
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu weight out of range, valid values are within range from 1 to 65535");
-        return ERROR_INVAL;
+    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        return ERROR_FAIL;
     }
 
-    if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
-            ((domaininfo.max_vcpu_id + 1) * 100));
-        return ERROR_INVAL;
+    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-    sdom.cap = scinfo->cap;
+    if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
+        if (scinfo->cap < 0
+            || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                "Cpu cap out of range, "
+                "valid range is from 0 to %d for specified number of vcpus",
+                       ((domaininfo.max_vcpu_id + 1) * 100));
+            return ERROR_INVAL;
+        }
+        sdom.cap = scinfo->cap;
+    }
 
     rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
@@ -3319,13 +3330,11 @@ int libxl_sched_credit_params_set(libxl_
 }
 
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    libxl_sched_credit2_domain_init(scinfo);
-
     rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3333,36 +3342,37 @@ int libxl_sched_credit2_domain_get(libxl
         return ERROR_FAIL;
     }
 
+    libxl_domain_sched_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
     scinfo->weight = sdom.weight;
 
     return 0;
 }
 
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
-    xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "getting domain sched credit2");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
-            "Cpu weight out of range, valid values are within range from "
-            "1 to 65535");
-        return ERROR_INVAL;
+
+    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from "
+                       "1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-
     rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3374,7 +3384,7 @@ int libxl_sched_credit2_domain_set(libxl
 }
 
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_domain_sched_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3383,8 +3393,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    libxl_sched_sedf_domain_init(scinfo);
-
     rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
@@ -3392,6 +3400,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
         return ERROR_FAIL;
     }
 
+    libxl_domain_sched_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_SEDF;
     scinfo->period = period / 1000000;
     scinfo->slice = slice / 1000000;
     scinfo->latency = latency / 1000000;
@@ -3402,24 +3412,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
 }
 
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_domain_sched_params *scinfo)
 {
-    xc_domaininfo_t domaininfo;
-    int rc;
-
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    uint64_t period;
+    uint64_t slice;
+    uint64_t latency;
+    uint16_t extratime;
+    uint16_t weight;
+
+    int ret;
+
+    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+                            &extratime, &weight);
+    if (ret != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
-                            scinfo->slice * 1000000, scinfo->latency * 1000000,
-                            scinfo->extratime, scinfo->weight);
-    if ( rc < 0 ) {
+
+    if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
+        slice = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
+        latency = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT)
+        extratime = scinfo->extratime;
+    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
+        weight = scinfo->weight;
+
+    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+                            extratime, weight);
+    if ( ret < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 14:55:29 2012 +0100
@@ -775,23 +775,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
 
 libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
 
-
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
+/* Per-scheduler parameters */
 int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
 int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
+
+/* Scheduler Per-domain parameters */
+
+#define LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT    -1
+#define LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT       -1
+#define LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT    -1
+#define LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT     -1
+#define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
+#define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
+
+int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *scinfo);
+int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *scinfo);
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_domain_sched_params *scinfo);
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_domain_sched_params *scinfo);
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_domain_sched_params *scinfo);
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_domain_sched_params *scinfo);
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:55:29 2012 +0100
@@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
 int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
                             libxl_domain_sched_params *scparams)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
-    libxl_sched_sedf_domain sedf_info;
-    libxl_sched_credit_domain credit_info;
-    libxl_sched_credit2_domain credit2_info;
+    libxl_scheduler sched = scparams->sched;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl__domain_scheduler(gc, domid);
+
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
-      ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
-      break;
+        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
-      ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
-      break;
+        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
-      ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
-      break;
+        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        break;
     default:
-      ret=-1;
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
     }
     return ret;
 }
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 29 14:55:29 2012 +0100
@@ -225,12 +225,13 @@ libxl_domain_create_info = Struct("domai
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_domain_sched_params = Struct("domain_sched_params",[
-    ("weight",       integer),
-    ("cap",          integer),
-    ("period",       integer),
-    ("slice",        integer),
-    ("latency",      integer),
-    ("extratime",    integer),
+    ("sched",        libxl_scheduler),
+    ("weight",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT'}),
+    ("cap",          integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT'}),
+    ("period",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT'}),
+    ("slice",        integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT'}),
+    ("latency",      integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT'}),
+    ("extratime",    integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
 libxl_domain_build_info = Struct("domain_build_info",[
@@ -425,28 +426,11 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
-libxl_sched_credit_domain = Struct("sched_credit_domain", [
-    ("weight", integer),
-    ("cap", integer),
-    ])
-
 libxl_sched_credit_params = Struct("sched_credit_params", [
     ("tslice_ms", integer),
     ("ratelimit_us", integer),
     ], dispose_fn=None)
 
-libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
-    ("weight", integer),
-    ])
-
-libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
-    ("period", integer),
-    ("slice", integer),
-    ("latency", integer),
-    ("extratime", integer),
-    ("weight", integer),
-    ])
-
 libxl_domain_remus_info = Struct("domain_remus_info",[
     ("interval",     integer),
     ("blackhole",    bool),
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:29 2012 +0100
@@ -628,7 +628,8 @@ static void parse_config_data(const char
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
-    /* the following is the actual config parsing with overriding values in the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
@@ -636,11 +637,11 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
@@ -4360,7 +4361,7 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4371,7 +4372,7 @@ static int sched_credit_domain_get(int d
     return rc;
 }
 
-static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4407,7 +4408,7 @@ static int sched_credit_params_get(int p
 static int sched_credit_domain_output(int domid)
 {
     char *domname;
-    libxl_sched_credit_domain scinfo;
+    libxl_domain_sched_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4424,7 +4425,7 @@ static int sched_credit_domain_output(in
         scinfo.weight,
         scinfo.cap);
     free(domname);
-    libxl_sched_credit_domain_dispose(&scinfo);
+    libxl_domain_sched_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4450,7 +4451,7 @@ static int sched_credit_pool_output(uint
 }
 
 static int sched_credit2_domain_get(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4462,7 +4463,7 @@ static int sched_credit2_domain_get(
 }
 
 static int sched_credit2_domain_set(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4477,7 +4478,7 @@ static int sched_credit2_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_credit2_domain scinfo;
+    libxl_domain_sched_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4493,12 +4494,12 @@ static int sched_credit2_domain_output(
         domid,
         scinfo.weight);
     free(domname);
-    libxl_sched_credit2_domain_dispose(&scinfo);
+    libxl_domain_sched_params_dispose(&scinfo);
     return 0;
 }
 
 static int sched_sedf_domain_get(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4510,7 +4511,7 @@ static int sched_sedf_domain_get(
 }
 
 static int sched_sedf_domain_set(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4524,7 +4525,7 @@ static int sched_sedf_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_sedf_domain scinfo;
+    libxl_domain_sched_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4545,7 +4546,7 @@ static int sched_sedf_domain_output(
         scinfo.extratime,
         scinfo.weight);
     free(domname);
-    libxl_sched_sedf_domain_dispose(&scinfo);
+    libxl_domain_sched_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4622,7 +4623,6 @@ static int sched_domain_output(libxl_sch
  */
 int main_sched_credit(int argc, char **argv)
 {
-    libxl_sched_credit_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
@@ -4697,7 +4697,7 @@ int main_sched_credit(int argc, char **a
     }
 
     if (opt_s) {
-        libxl_sched_credit_params  scparam;
+        libxl_sched_credit_params scparam;
         uint32_t poolid = 0;
 
         if (cpupool) {
@@ -4733,20 +4733,19 @@ int main_sched_credit(int argc, char **a
     } else {
         find_domain(dom);
 
-        rc = sched_credit_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w && !opt_c) { /* output credit scheduler info */
             sched_credit_domain_output(-1);
             return -sched_credit_domain_output(domid);
         } else { /* set credit scheduler paramaters */
+            libxl_domain_sched_params scinfo;
+            libxl_domain_sched_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
             if (opt_w)
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
             rc = sched_credit_domain_set(domid, &scinfo);
-            libxl_sched_credit_domain_dispose(&scinfo);
+            libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4757,7 +4756,6 @@ int main_sched_credit(int argc, char **a
 
 int main_sched_credit2(int argc, char **argv)
 {
-    libxl_sched_credit2_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, opt_w = 0;
@@ -4812,18 +4810,17 @@ int main_sched_credit2(int argc, char **
     } else {
         find_domain(dom);
 
-        rc = sched_credit2_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w) { /* output credit2 scheduler info */
             sched_credit2_domain_output(-1);
             return -sched_credit2_domain_output(domid);
         } else { /* set credit2 scheduler paramaters */
+            libxl_domain_sched_params scinfo;
+            libxl_domain_sched_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
             rc = sched_credit2_domain_set(domid, &scinfo);
-            libxl_sched_credit2_domain_dispose(&scinfo);
+            libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4834,7 +4831,6 @@ int main_sched_credit2(int argc, char **
 
 int main_sched_sedf(int argc, char **argv)
 {
-    libxl_sched_sedf_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int period = 0, opt_p = 0;
@@ -4917,15 +4913,15 @@ int main_sched_sedf(int argc, char **arg
     } else {
         find_domain(dom);
 
-        rc = sched_sedf_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
             /* output sedf scheduler info */
             sched_sedf_domain_output(-1);
             return -sched_sedf_domain_output(domid);
         } else { /* set sedf scheduler paramaters */
+            libxl_domain_sched_params scinfo;
+            libxl_domain_sched_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_SEDF;
+
             if (opt_p) {
                 scinfo.period = period;
                 scinfo.weight = 0;
@@ -4944,7 +4940,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.slice = 0;
             }
             rc = sched_sedf_domain_set(domid, &scinfo);
-            libxl_sched_sedf_domain_dispose(&scinfo);
+            libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:02:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN06-00030e-OS; Tue, 29 May 2012 14:02:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN04-0002zU-Ug
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:02:17 +0000
Received: from [85.158.138.51:46971] by server-7.bemta-3.messagelabs.com id
	25/B9-17379-8E6D4CF4; Tue, 29 May 2012 14:02:16 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338300129!11019758!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30331 invoked from network); 29 May 2012 14:02:14 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:02:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="26058242"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 10:02:07 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 10:02:06 -0400
Received: from cosworth.uk.xensource.com ([10.80.16.52] ident=ianc)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<ian.campbell@citrix.com>)	id 1SZMux-0008O7-1w;
	Tue, 29 May 2012 14:56:59 +0100
MIME-Version: 1.0
X-Mercurial-Node: 274de8e1e0d116070d34731d93b53ce44530e5a0
Message-ID: <274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
In-Reply-To: <patchbomb.1338299818@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 14:57:01 +0100
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xen.org
Cc: Dario.Faggioli@citrix.com, Ian.Jackson@citrix.com,
	Juergen Gross <juergen.gross@ts.fujitsu.com>, George.Dunlap@citrix.com
Subject: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to explicitly
 specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338299729 -3600
# Node ID 274de8e1e0d116070d34731d93b53ce44530e5a0
# Parent  73d8274c0b6859b4528af75a7405e546d659f130
libxl: make it possible to explicitly specify default sched params

To do so we define a discriminating value which is never a valid real value for
each parameter.

While there:

 - removed libxl_sched_*_domain in favour of libxl_domain_sched_params.
 - use this new functionality for the various xl commands which set sched
   parameters, which saves an explicit read-modify-write in xl.
 - removed call of xc_domain_getinfolist from a few functions which weren't
   actually using the result (looks like a cut and paste error)
 - fix xl which was setting period for a variety of different config keys.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl.c	Tue May 29 14:55:29 2012 +0100
@@ -3197,19 +3197,19 @@ libxl_scheduler libxl_get_scheduler(libx
 }
 
 int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     int rc;
 
-    libxl_sched_credit_domain_init(scinfo);
-
     rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
         return ERROR_FAIL;
     }
 
+    libxl_domain_sched_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
     scinfo->weight = sdom.weight;
     scinfo->cap = sdom.cap;
 
@@ -3217,7 +3217,7 @@ int libxl_sched_credit_domain_get(libxl_
 }
 
 int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo)
+                                  libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit sdom;
     xc_domaininfo_t domaininfo;
@@ -3231,22 +3231,33 @@ int libxl_sched_credit_domain_set(libxl_
     if (rc != 1 || domaininfo.domain != domid)
         return ERROR_INVAL;
 
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu weight out of range, valid values are within range from 1 to 65535");
-        return ERROR_INVAL;
+    rc = xc_sched_credit_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
+        return ERROR_FAIL;
     }
 
-    if (scinfo->cap < 0 || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
-            ((domaininfo.max_vcpu_id + 1) * 100));
-        return ERROR_INVAL;
+    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from 1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-    sdom.cap = scinfo->cap;
+    if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
+        if (scinfo->cap < 0
+            || scinfo->cap > (domaininfo.max_vcpu_id + 1) * 100) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                "Cpu cap out of range, "
+                "valid range is from 0 to %d for specified number of vcpus",
+                       ((domaininfo.max_vcpu_id + 1) * 100));
+            return ERROR_INVAL;
+        }
+        sdom.cap = scinfo->cap;
+    }
 
     rc = xc_sched_credit_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
@@ -3319,13 +3330,11 @@ int libxl_sched_credit_params_set(libxl_
 }
 
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
     int rc;
 
-    libxl_sched_credit2_domain_init(scinfo);
-
     rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
     if (rc != 0) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3333,36 +3342,37 @@ int libxl_sched_credit2_domain_get(libxl
         return ERROR_FAIL;
     }
 
+    libxl_domain_sched_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
     scinfo->weight = sdom.weight;
 
     return 0;
 }
 
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo)
+                                   libxl_domain_sched_params *scinfo)
 {
     struct xen_domctl_sched_credit2 sdom;
-    xc_domaininfo_t domaininfo;
     int rc;
 
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    rc = xc_sched_credit2_domain_get(ctx->xch, domid, &sdom);
+    if (rc != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+                         "getting domain sched credit2");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    if (scinfo->weight < 1 || scinfo->weight > 65535) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
-            "Cpu weight out of range, valid values are within range from "
-            "1 to 65535");
-        return ERROR_INVAL;
+
+    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
+        if (scinfo->weight < 1 || scinfo->weight > 65535) {
+            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
+                       "Cpu weight out of range, "
+                       "valid values are within range from "
+                       "1 to 65535");
+            return ERROR_INVAL;
+        }
+        sdom.weight = scinfo->weight;
     }
 
-    sdom.weight = scinfo->weight;
-
     rc = xc_sched_credit2_domain_set(ctx->xch, domid, &sdom);
     if ( rc < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
@@ -3374,7 +3384,7 @@ int libxl_sched_credit2_domain_set(libxl
 }
 
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_domain_sched_params *scinfo)
 {
     uint64_t period;
     uint64_t slice;
@@ -3383,8 +3393,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
     uint16_t weight;
     int rc;
 
-    libxl_sched_sedf_domain_init(scinfo);
-
     rc = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
                             &extratime, &weight);
     if (rc != 0) {
@@ -3392,6 +3400,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
         return ERROR_FAIL;
     }
 
+    libxl_domain_sched_params_init(scinfo);
+    scinfo->sched = LIBXL_SCHEDULER_SEDF;
     scinfo->period = period / 1000000;
     scinfo->slice = slice / 1000000;
     scinfo->latency = latency / 1000000;
@@ -3402,24 +3412,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
 }
 
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo)
+                                libxl_domain_sched_params *scinfo)
 {
-    xc_domaininfo_t domaininfo;
-    int rc;
-
-    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
+    uint64_t period;
+    uint64_t slice;
+    uint64_t latency;
+    uint16_t extratime;
+    uint16_t weight;
+
+    int ret;
+
+    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
+                            &extratime, &weight);
+    if (ret != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
         return ERROR_FAIL;
     }
-    if (rc != 1 || domaininfo.domain != domid)
-        return ERROR_INVAL;
-
-
-    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
-                            scinfo->slice * 1000000, scinfo->latency * 1000000,
-                            scinfo->extratime, scinfo->weight);
-    if ( rc < 0 ) {
+
+    if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
+        period = scinfo->period * 1000000;
+    if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
+        slice = scinfo->slice * 1000000;
+    if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
+        latency = scinfo->latency * 1000000;
+    if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT)
+        extratime = scinfo->extratime;
+    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
+        weight = scinfo->weight;
+
+    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
+                            extratime, weight);
+    if ( ret < 0 ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
         return ERROR_FAIL;
     }
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl.h	Tue May 29 14:55:29 2012 +0100
@@ -775,23 +775,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
 
 libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
 
-
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_sched_credit_domain *scinfo);
+/* Per-scheduler parameters */
 int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
 int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
                                   libxl_sched_credit_params *scinfo);
+
+/* Scheduler Per-domain parameters */
+
+#define LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT    -1
+#define LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT       -1
+#define LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT    -1
+#define LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT     -1
+#define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
+#define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
+
+int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *scinfo);
+int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
+                                  libxl_domain_sched_params *scinfo);
 int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_domain_sched_params *scinfo);
 int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                   libxl_sched_credit2_domain *scinfo);
+                                   libxl_domain_sched_params *scinfo);
 int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_domain_sched_params *scinfo);
 int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
-                                libxl_sched_sedf_domain *scinfo);
+                                libxl_domain_sched_params *scinfo);
 int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
                        libxl_trigger trigger, uint32_t vcpuid);
 int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl_dom.c	Tue May 29 14:55:29 2012 +0100
@@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
 int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
                             libxl_domain_sched_params *scparams)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    libxl_scheduler sched;
-    libxl_sched_sedf_domain sedf_info;
-    libxl_sched_credit_domain credit_info;
-    libxl_sched_credit2_domain credit2_info;
+    libxl_scheduler sched = scparams->sched;
     int ret;
 
-    sched = libxl_get_scheduler (ctx);
+    if (sched == LIBXL_SCHEDULER_UNKNOWN)
+        sched = libxl__domain_scheduler(gc, domid);
+
     switch (sched) {
     case LIBXL_SCHEDULER_SEDF:
-      sedf_info.period = scparams->period;
-      sedf_info.slice = scparams->slice;
-      sedf_info.latency = scparams->latency;
-      sedf_info.extratime = scparams->extratime;
-      sedf_info.weight = scparams->weight;
-      ret=libxl_sched_sedf_domain_set(ctx, domid, &sedf_info);
-      break;
+        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT:
-      credit_info.weight = scparams->weight;
-      credit_info.cap = scparams->cap;
-      ret=libxl_sched_credit_domain_set(ctx, domid, &credit_info);
-      break;
+        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
+        break;
     case LIBXL_SCHEDULER_CREDIT2:
-      credit2_info.weight = scparams->weight;
-      ret=libxl_sched_credit2_domain_set(ctx, domid, &credit2_info);
-      break;
+        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
+        break;
     default:
-      ret=-1;
+        LOG(ERROR, "Unknown scheduler");
+        ret=ERROR_INVAL;
+        break;
     }
     return ret;
 }
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Tue May 29 14:55:29 2012 +0100
@@ -225,12 +225,13 @@ libxl_domain_create_info = Struct("domai
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
 
 libxl_domain_sched_params = Struct("domain_sched_params",[
-    ("weight",       integer),
-    ("cap",          integer),
-    ("period",       integer),
-    ("slice",        integer),
-    ("latency",      integer),
-    ("extratime",    integer),
+    ("sched",        libxl_scheduler),
+    ("weight",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT'}),
+    ("cap",          integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT'}),
+    ("period",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT'}),
+    ("slice",        integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT'}),
+    ("latency",      integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT'}),
+    ("extratime",    integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT'}),
     ], dir=DIR_IN)
 
 libxl_domain_build_info = Struct("domain_build_info",[
@@ -425,28 +426,11 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
-libxl_sched_credit_domain = Struct("sched_credit_domain", [
-    ("weight", integer),
-    ("cap", integer),
-    ])
-
 libxl_sched_credit_params = Struct("sched_credit_params", [
     ("tslice_ms", integer),
     ("ratelimit_us", integer),
     ], dispose_fn=None)
 
-libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
-    ("weight", integer),
-    ])
-
-libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
-    ("period", integer),
-    ("slice", integer),
-    ("latency", integer),
-    ("extratime", integer),
-    ("weight", integer),
-    ])
-
 libxl_domain_remus_info = Struct("domain_remus_info",[
     ("interval",     integer),
     ("blackhole",    bool),
diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:09 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:29 2012 +0100
@@ -628,7 +628,8 @@ static void parse_config_data(const char
 
     libxl_domain_build_info_init_type(b_info, c_info->type);
 
-    /* the following is the actual config parsing with overriding values in the structures */
+    /* the following is the actual config parsing with overriding
+     * values in the structures */
     if (!xlu_cfg_get_long (config, "cpu_weight", &l, 0))
         b_info->sched_params.weight = l;
     if (!xlu_cfg_get_long (config, "cap", &l, 0))
@@ -636,11 +637,11 @@ static void parse_config_data(const char
     if (!xlu_cfg_get_long (config, "period", &l, 0))
         b_info->sched_params.period = l;
     if (!xlu_cfg_get_long (config, "slice", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.slice = l;
     if (!xlu_cfg_get_long (config, "latency", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.latency = l;
     if (!xlu_cfg_get_long (config, "extratime", &l, 0))
-        b_info->sched_params.period = l;
+        b_info->sched_params.extratime = l;
 
     if (!xlu_cfg_get_long (config, "vcpus", &l, 0)) {
         b_info->max_vcpus = l;
@@ -4360,7 +4361,7 @@ int main_sharing(int argc, char **argv)
     return 0;
 }
 
-static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4371,7 +4372,7 @@ static int sched_credit_domain_get(int d
     return rc;
 }
 
-static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
+static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4407,7 +4408,7 @@ static int sched_credit_params_get(int p
 static int sched_credit_domain_output(int domid)
 {
     char *domname;
-    libxl_sched_credit_domain scinfo;
+    libxl_domain_sched_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4424,7 +4425,7 @@ static int sched_credit_domain_output(in
         scinfo.weight,
         scinfo.cap);
     free(domname);
-    libxl_sched_credit_domain_dispose(&scinfo);
+    libxl_domain_sched_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4450,7 +4451,7 @@ static int sched_credit_pool_output(uint
 }
 
 static int sched_credit2_domain_get(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4462,7 +4463,7 @@ static int sched_credit2_domain_get(
 }
 
 static int sched_credit2_domain_set(
-    int domid, libxl_sched_credit2_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4477,7 +4478,7 @@ static int sched_credit2_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_credit2_domain scinfo;
+    libxl_domain_sched_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4493,12 +4494,12 @@ static int sched_credit2_domain_output(
         domid,
         scinfo.weight);
     free(domname);
-    libxl_sched_credit2_domain_dispose(&scinfo);
+    libxl_domain_sched_params_dispose(&scinfo);
     return 0;
 }
 
 static int sched_sedf_domain_get(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4510,7 +4511,7 @@ static int sched_sedf_domain_get(
 }
 
 static int sched_sedf_domain_set(
-    int domid, libxl_sched_sedf_domain *scinfo)
+    int domid, libxl_domain_sched_params *scinfo)
 {
     int rc;
 
@@ -4524,7 +4525,7 @@ static int sched_sedf_domain_output(
     int domid)
 {
     char *domname;
-    libxl_sched_sedf_domain scinfo;
+    libxl_domain_sched_params scinfo;
     int rc;
 
     if (domid < 0) {
@@ -4545,7 +4546,7 @@ static int sched_sedf_domain_output(
         scinfo.extratime,
         scinfo.weight);
     free(domname);
-    libxl_sched_sedf_domain_dispose(&scinfo);
+    libxl_domain_sched_params_dispose(&scinfo);
     return 0;
 }
 
@@ -4622,7 +4623,6 @@ static int sched_domain_output(libxl_sch
  */
 int main_sched_credit(int argc, char **argv)
 {
-    libxl_sched_credit_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
@@ -4697,7 +4697,7 @@ int main_sched_credit(int argc, char **a
     }
 
     if (opt_s) {
-        libxl_sched_credit_params  scparam;
+        libxl_sched_credit_params scparam;
         uint32_t poolid = 0;
 
         if (cpupool) {
@@ -4733,20 +4733,19 @@ int main_sched_credit(int argc, char **a
     } else {
         find_domain(dom);
 
-        rc = sched_credit_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w && !opt_c) { /* output credit scheduler info */
             sched_credit_domain_output(-1);
             return -sched_credit_domain_output(domid);
         } else { /* set credit scheduler paramaters */
+            libxl_domain_sched_params scinfo;
+            libxl_domain_sched_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
             if (opt_w)
                 scinfo.weight = weight;
             if (opt_c)
                 scinfo.cap = cap;
             rc = sched_credit_domain_set(domid, &scinfo);
-            libxl_sched_credit_domain_dispose(&scinfo);
+            libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4757,7 +4756,6 @@ int main_sched_credit(int argc, char **a
 
 int main_sched_credit2(int argc, char **argv)
 {
-    libxl_sched_credit2_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int weight = 256, opt_w = 0;
@@ -4812,18 +4810,17 @@ int main_sched_credit2(int argc, char **
     } else {
         find_domain(dom);
 
-        rc = sched_credit2_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_w) { /* output credit2 scheduler info */
             sched_credit2_domain_output(-1);
             return -sched_credit2_domain_output(domid);
         } else { /* set credit2 scheduler paramaters */
+            libxl_domain_sched_params scinfo;
+            libxl_domain_sched_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
             if (opt_w)
                 scinfo.weight = weight;
             rc = sched_credit2_domain_set(domid, &scinfo);
-            libxl_sched_credit2_domain_dispose(&scinfo);
+            libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }
@@ -4834,7 +4831,6 @@ int main_sched_credit2(int argc, char **
 
 int main_sched_sedf(int argc, char **argv)
 {
-    libxl_sched_sedf_domain scinfo;
     const char *dom = NULL;
     const char *cpupool = NULL;
     int period = 0, opt_p = 0;
@@ -4917,15 +4913,15 @@ int main_sched_sedf(int argc, char **arg
     } else {
         find_domain(dom);
 
-        rc = sched_sedf_domain_get(domid, &scinfo);
-        if (rc)
-            return -rc;
-
         if (!opt_p && !opt_s && !opt_l && !opt_e && !opt_w) {
             /* output sedf scheduler info */
             sched_sedf_domain_output(-1);
             return -sched_sedf_domain_output(domid);
         } else { /* set sedf scheduler paramaters */
+            libxl_domain_sched_params scinfo;
+            libxl_domain_sched_params_init(&scinfo);
+            scinfo.sched = LIBXL_SCHEDULER_SEDF;
+
             if (opt_p) {
                 scinfo.period = period;
                 scinfo.weight = 0;
@@ -4944,7 +4940,7 @@ int main_sched_sedf(int argc, char **arg
                 scinfo.slice = 0;
             }
             rc = sched_sedf_domain_set(domid, &scinfo);
-            libxl_sched_sedf_domain_dispose(&scinfo);
+            libxl_domain_sched_params_dispose(&scinfo);
             if (rc)
                 return -rc;
         }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:04:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:04:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN1q-0003TW-00; Tue, 29 May 2012 14:04:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZN1o-0003T5-Ki
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:04:04 +0000
Received: from [85.158.143.99:17303] by server-2.bemta-4.messagelabs.com id
	77/05-12211-357D4CF4; Tue, 29 May 2012 14:04:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338300243!25057633!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30944 invoked from network); 29 May 2012 14:04:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:04:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12716803"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:04:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:04:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZN1m-0003vB-JI; Tue, 29 May 2012 14:04:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZN1m-000470-IT;
	Tue, 29 May 2012 15:04:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.55122.555914.530331@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:04:02 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-4-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 03/10] libxl: convert
	libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 03/10] libxl: convert libxl_domain_destroy to an async op"):
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.

Thanks.  I have a series of largely cosmetic comments which it would
be nice if you felt like addressing, but:

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>


> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index bd71844..9003583 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +/* Check if there are devices that have pending events in the array
> + * pointed to by the "list" parameter. Return values can be:
> + * < 0: All done, but error(s) found.
> + * 0: All done
> + * > 0: Not all done
> + * The passed libxl__ao_device struct in "device" is marked as finished.
> + */

Good.

> +/*
> + * Entry point for domain destruction
> + * This function checks for stubdom presence and then calls
> + * libxl__destroy_domid on the passed domain and it's stubdom if found.

"its" not "it's"

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 7fdecf1..0b3eb48 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c

> +void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
> +{
> +    STATE_AO_GC(dds->ao);
> +    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
> +
> +    if (stubdomid) {
> +        dds->stubdom.ao = ao;
> +        dds->stubdom.domid = stubdomid;
> +        dds->stubdom.callback = stubdom_callback;
> +        dds->stubdom.force = 1;

This variable seems never to be set to anything but 1.  We aren't
going to have libxl_domain_remove or indeed libxl__remove_domid, are
we ?

Perhaps the domain destroy functions should lose the force flag and
instead simply always pass 1 into the device remove functions.

> +static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
> +                             int rc)
> +{

Can this function please have `destroy' in its name somewhere ?
libxl.c contains code for doing other things than destruction.  The
same goes for `domain_callback'.

> +    STATE_AO_GC(dis->ao);
> +    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
> +    const char *savefile;
> +
> +    if (rc) {
> +        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
> +        dds->rc = rc;
> +    }
> +
> +    dds->stubdom_finished = 1;
> +    savefile = libxl__device_model_savefile(gc, dis->domid);
> +    rc = unlink(savefile);

Please use `rc' only for libxl error codes.  This is a system call
return value.

> +    /*
> +     * On suspend libxl__domain_save_device_model will have already
> +     * unlinked the save file.
> +     */
> +    if (rc && errno == ENOENT) rc = 0;
> +    if (rc) {
> +        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
> +                            savefile);
> +    }

This is one possible reason why the savefile might not exist.  To be
honest I'm not really convinced this warrants an explanation.  Domain
destruction inherently wants to be idempotent.

And, why not use libxl__remove_file which already contains the
relevant logic including a log message. ?

> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 48f05f9..413b98f 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
...
> +    unsigned int num_kinds, num_devs;
> +    char **kinds = NULL, **devs = NULL;
> +    int i, j, rc = 0;
> +    libxl__device dev;
> +    libxl__device_kind kind;
> +    int numdevs = 0;

Having two variables `num_devs' and `numdevs' seems unnecessarily
opaque :-).  Perhaps the one from libxl__xs_directory should be called
`num_dev_xsentries' or something.

> @@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
...
> +int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
> +                                libxl__ao_device *list, int num)
> +{
> +    int i, pending = 0, error = 0;
> +
> +    device->active = 0;
> +    for (i = 0; i < num; i++) {
> +        if (list[i].active)
> +            pending++;

Why not `return +1' ?  That would do away with the variable `pending'.

> +
> +        if (list[i].rc)
> +            error = list[i].rc;
> +    }
> +
> +    return pending == 0 ? error : 1;

And it would simplify this to `return error;'.

> -int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
> +/* Callback for device destruction */
> +
> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
> +
> +void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
...
> +    if (drs->num_devices < 0) {
> +        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
> +        rc = ERROR_FAIL;
> +        goto out;

A minor point but this should be `rc = drs->num_devices' surely ?  A
minor point since it can currently only fail with ERROR_FAIL but at
some point we might want to invent more error codes and then they
should propagate nicely.

> @@ -426,17 +510,19 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
>      /* console 0 frontend directory is not under /local/domain/<domid>/device */
>      path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
>      path = libxl__xs_read(gc, XBT_NULL, path);
> +    GCNEW(dev);
>      if (path && strcmp(path, "") &&
> -        libxl__parse_backend_path(gc, path, &dev) == 0) {
> -        dev.domid = domid;
> -        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
> -        dev.devid = 0;
> +        libxl__parse_backend_path(gc, path, dev) == 0) {
> +        dev->domid = domid;
> +        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
> +        dev->devid = 0;
> 
> -        libxl__device_destroy(gc, &dev);
> +        libxl__device_destroy(gc, dev);

This is quite confusing, because libxl__device_destroy sounds like it
should be a synchronous version of libxl__initiate_device_destroy or
to put it another way an internal version of something called
libxl_device_destroy (which doesn't exist); of course such a function
couldn't exist either.

Perhaps libxl__device_destroy should be renamed somehow (perhaps in
another pre-patch).

Or perhaps there should be a comment to note that (currently) consoles
can be simply synchronously destroyed in xenstore.

> @@ -549,6 +635,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
...
> +        do {
> +            t = xs_transaction_start(CTX->xsh);
> +            libxl__xs_path_cleanup(gc, t, fe_path);
> +            libxl__xs_path_cleanup(gc, t, be_path);
> +            rc = !xs_transaction_end(CTX->xsh, t, 0);
> +        } while (rc && errno == EAGAIN);

Again, can we reserve `rc' for libxl error codes ?

> @@ -1090,48 +1114,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
...
> +    if (!pid || !atoi(pid)) {
> +        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
> +        ret = ERROR_FAIL;
> +        goto out;
> +    }
> +    ret = kill(atoi(pid), SIGHUP);
> +    if (ret < 0 && errno == ESRCH) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
> +        ret = 0;

Of course if this happens we have risked sending SIGHUP to an innocent
process.  It would be nice to arrange for that not to happen but I
don't think we currently have a way to prevent it.

> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",

Would you care to use LOG(ERROR, ...) ?  You might want to use LOG for
the other cases too.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:04:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:04:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN1q-0003TW-00; Tue, 29 May 2012 14:04:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZN1o-0003T5-Ki
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:04:04 +0000
Received: from [85.158.143.99:17303] by server-2.bemta-4.messagelabs.com id
	77/05-12211-357D4CF4; Tue, 29 May 2012 14:04:03 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338300243!25057633!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30944 invoked from network); 29 May 2012 14:04:03 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:04:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12716803"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:04:02 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:04:02 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZN1m-0003vB-JI; Tue, 29 May 2012 14:04:02 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZN1m-000470-IT;
	Tue, 29 May 2012 15:04:02 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.55122.555914.530331@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:04:02 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-4-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-4-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 03/10] libxl: convert
	libxl_domain_destroy to an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 03/10] libxl: convert libxl_domain_destroy to an async op"):
> This change introduces some new structures, and breaks the mutual
> dependency that libxl_domain_destroy and libxl__destroy_device_model
> had. This is done by checking if the domid passed to
> libxl_domain_destroy has a stubdom, and then having the bulk of the
> destroy machinery in a separate function (libxl__destroy_domid) that
> doesn't check for stubdom presence, since we check for it in the upper
> level function. The reason behind this change is the need to use
> structures for ao operations, and it was impossible to have two
> different self-referencing structs.

Thanks.  I have a series of largely cosmetic comments which it would
be nice if you felt like addressing, but:

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>


> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index bd71844..9003583 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +/* Check if there are devices that have pending events in the array
> + * pointed to by the "list" parameter. Return values can be:
> + * < 0: All done, but error(s) found.
> + * 0: All done
> + * > 0: Not all done
> + * The passed libxl__ao_device struct in "device" is marked as finished.
> + */

Good.

> +/*
> + * Entry point for domain destruction
> + * This function checks for stubdom presence and then calls
> + * libxl__destroy_domid on the passed domain and it's stubdom if found.

"its" not "it's"

> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 7fdecf1..0b3eb48 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c

> +void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
> +{
> +    STATE_AO_GC(dds->ao);
> +    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
> +
> +    if (stubdomid) {
> +        dds->stubdom.ao = ao;
> +        dds->stubdom.domid = stubdomid;
> +        dds->stubdom.callback = stubdom_callback;
> +        dds->stubdom.force = 1;

This variable seems never to be set to anything but 1.  We aren't
going to have libxl_domain_remove or indeed libxl__remove_domid, are
we ?

Perhaps the domain destroy functions should lose the force flag and
instead simply always pass 1 into the device remove functions.

> +static void stubdom_callback(libxl__egc *egc, libxl__destroy_domid_state *dis,
> +                             int rc)
> +{

Can this function please have `destroy' in its name somewhere ?
libxl.c contains code for doing other things than destruction.  The
same goes for `domain_callback'.

> +    STATE_AO_GC(dis->ao);
> +    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
> +    const char *savefile;
> +
> +    if (rc) {
> +        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
> +        dds->rc = rc;
> +    }
> +
> +    dds->stubdom_finished = 1;
> +    savefile = libxl__device_model_savefile(gc, dis->domid);
> +    rc = unlink(savefile);

Please use `rc' only for libxl error codes.  This is a system call
return value.

> +    /*
> +     * On suspend libxl__domain_save_device_model will have already
> +     * unlinked the save file.
> +     */
> +    if (rc && errno == ENOENT) rc = 0;
> +    if (rc) {
> +        LOGEV(ERROR, errno, "failed to remove device-model savefile %s",
> +                            savefile);
> +    }

This is one possible reason why the savefile might not exist.  To be
honest I'm not really convinced this warrants an explanation.  Domain
destruction inherently wants to be idempotent.

And, why not use libxl__remove_file which already contains the
relevant logic including a log message. ?

> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 48f05f9..413b98f 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
...
> +    unsigned int num_kinds, num_devs;
> +    char **kinds = NULL, **devs = NULL;
> +    int i, j, rc = 0;
> +    libxl__device dev;
> +    libxl__device_kind kind;
> +    int numdevs = 0;

Having two variables `num_devs' and `numdevs' seems unnecessarily
opaque :-).  Perhaps the one from libxl__xs_directory should be called
`num_dev_xsentries' or something.

> @@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
...
> +int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
> +                                libxl__ao_device *list, int num)
> +{
> +    int i, pending = 0, error = 0;
> +
> +    device->active = 0;
> +    for (i = 0; i < num; i++) {
> +        if (list[i].active)
> +            pending++;

Why not `return +1' ?  That would do away with the variable `pending'.

> +
> +        if (list[i].rc)
> +            error = list[i].rc;
> +    }
> +
> +    return pending == 0 ? error : 1;

And it would simplify this to `return error;'.

> -int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
> +/* Callback for device destruction */
> +
> +static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
> +
> +void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
...
> +    if (drs->num_devices < 0) {
> +        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
> +        rc = ERROR_FAIL;
> +        goto out;

A minor point but this should be `rc = drs->num_devices' surely ?  A
minor point since it can currently only fail with ERROR_FAIL but at
some point we might want to invent more error codes and then they
should propagate nicely.

> @@ -426,17 +510,19 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
>      /* console 0 frontend directory is not under /local/domain/<domid>/device */
>      path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
>      path = libxl__xs_read(gc, XBT_NULL, path);
> +    GCNEW(dev);
>      if (path && strcmp(path, "") &&
> -        libxl__parse_backend_path(gc, path, &dev) == 0) {
> -        dev.domid = domid;
> -        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
> -        dev.devid = 0;
> +        libxl__parse_backend_path(gc, path, dev) == 0) {
> +        dev->domid = domid;
> +        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
> +        dev->devid = 0;
> 
> -        libxl__device_destroy(gc, &dev);
> +        libxl__device_destroy(gc, dev);

This is quite confusing, because libxl__device_destroy sounds like it
should be a synchronous version of libxl__initiate_device_destroy or
to put it another way an internal version of something called
libxl_device_destroy (which doesn't exist); of course such a function
couldn't exist either.

Perhaps libxl__device_destroy should be renamed somehow (perhaps in
another pre-patch).

Or perhaps there should be a comment to note that (currently) consoles
can be simply synchronously destroyed in xenstore.

> @@ -549,6 +635,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
...
> +        do {
> +            t = xs_transaction_start(CTX->xsh);
> +            libxl__xs_path_cleanup(gc, t, fe_path);
> +            libxl__xs_path_cleanup(gc, t, be_path);
> +            rc = !xs_transaction_end(CTX->xsh, t, 0);
> +        } while (rc && errno == EAGAIN);

Again, can we reserve `rc' for libxl error codes ?

> @@ -1090,48 +1114,25 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
...
> +    if (!pid || !atoi(pid)) {
> +        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
> +        ret = ERROR_FAIL;
> +        goto out;
> +    }
> +    ret = kill(atoi(pid), SIGHUP);
> +    if (ret < 0 && errno == ESRCH) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
> +        ret = 0;

Of course if this happens we have risked sending SIGHUP to an innocent
process.  It would be nice to arrange for that not to happen but I
don't think we currently have a way to prevent it.

> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",

Would you care to use LOG(ERROR, ...) ?  You might want to use LOG for
the other cases too.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:11:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:11:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN8g-00046U-UW; Tue, 29 May 2012 14:11:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN8g-00046P-5Z
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:11:10 +0000
Received: from [85.158.138.51:7863] by server-3.bemta-3.messagelabs.com id
	AE/25-08380-DF8D4CF4; Tue, 29 May 2012 14:11:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338300667!29759793!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16723 invoked from network); 29 May 2012 14:11:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:11:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12716996"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:10:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:10:33 +0100
Message-ID: <1338300632.14158.115.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 15:10:32 +0100
In-Reply-To: <1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
> 
> Changes in v8:
> - free pdev_path and script in local_detach;
> - use libxl__strdup instead of strdup.
> 
> Changes in v7:
> - rename tmpdisk to localdisk;
> - add a comment in libxl__bootloader_state about localdisk.
> 
> Changes in v6:
> - return error in case pdev_path is NULL;
> - libxl__device_disk_local_attach update the new disk, the caller
> allocates it;
> - remove \n from logs.
> 
> Changes in v5:
> - rename disk to in_disk;
> - rename tmpdisk to disk;
> - copy disk to new_disk only on success;
> - remove check on libxl__zalloc success.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl.c            |   18 +++++++++++++++---
>  tools/libxl/libxl_bootloader.c |    4 ++--
>  tools/libxl/libxl_internal.h   |   10 +++++++++-
>  3 files changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index cd870c4..762e72a 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1735,13 +1735,24 @@ out:
>      return ret;
>  }
>  
> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *disk)

Why the weird indent?

>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      char *ret = NULL;
>      int rc;
>  
> +    if (in_disk->pdev_path == NULL)
> +        return NULL;
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = libxl__strdup(NULL, in_disk->script);
> +    disk->vdev = NULL;
> +
>      rc = libxl__device_disk_setdefault(gc, disk);
>      if (rc) goto out;
>  
> @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                             " attach a qdisk image if the format is not raw");
>                  break;
>              }
> -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
>              dev = disk->pdev_path;
>              break;
>          default:
> @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
>       * needed by the soon to be started domain and do nothing.
>       */
>  
> +    free(disk->pdev_path);
> +    free(disk->script);

This is open coding libxl_device_disk_dispose(disk) but missed the vdev
member, is that deliberate?

>      return 0;
>  }
>  
> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index e8950b1..82371f1 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
>      if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
>  
>      if (bl->diskpath) {
> -        libxl__device_disk_local_detach(gc, bl->disk);
> +        libxl__device_disk_local_detach(gc, &bl->localdisk);
>          free(bl->diskpath);
>          bl->diskpath = 0;
>      }
> @@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
>          goto out;
>      }
>  
> -    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
> +    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
>      if (!bl->diskpath) {
>          rc = ERROR_FAIL;
>          goto out;
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index d34e561..21b8b54 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   * a device.
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
> -        libxl_device_disk *disk);
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *new_disk);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  
> @@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
>      libxl__bootloader_console_callback *console_available;
>      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
>      libxl_device_disk *disk;
> +    /* Should be zeroed by caller on entry.  Will be filled in by
> +     * bootloader machinery; represents the local attachment of the
> +     * disk for the benefit of the bootloader.  Must be detached by
> +     * the caller using libxl__device_disk_local_detach, but only
> +     * after the domain's kernel and initramfs have been loaded into
> +     * memory and the file references disposed of. */
> +    libxl_device_disk localdisk;
>      uint32_t domid;
>      /* private to libxl__run_bootloader */
>      char *outputpath, *outputdir, *logfile;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:11:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:11:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZN8g-00046U-UW; Tue, 29 May 2012 14:11:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZN8g-00046P-5Z
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:11:10 +0000
Received: from [85.158.138.51:7863] by server-3.bemta-3.messagelabs.com id
	AE/25-08380-DF8D4CF4; Tue, 29 May 2012 14:11:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338300667!29759793!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16723 invoked from network); 29 May 2012 14:11:08 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:11:08 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12716996"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:10:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:10:33 +0100
Message-ID: <1338300632.14158.115.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 15:10:32 +0100
In-Reply-To: <1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
> 
> Changes in v8:
> - free pdev_path and script in local_detach;
> - use libxl__strdup instead of strdup.
> 
> Changes in v7:
> - rename tmpdisk to localdisk;
> - add a comment in libxl__bootloader_state about localdisk.
> 
> Changes in v6:
> - return error in case pdev_path is NULL;
> - libxl__device_disk_local_attach update the new disk, the caller
> allocates it;
> - remove \n from logs.
> 
> Changes in v5:
> - rename disk to in_disk;
> - rename tmpdisk to disk;
> - copy disk to new_disk only on success;
> - remove check on libxl__zalloc success.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> ---
>  tools/libxl/libxl.c            |   18 +++++++++++++++---
>  tools/libxl/libxl_bootloader.c |    4 ++--
>  tools/libxl/libxl_internal.h   |   10 +++++++++-
>  3 files changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index cd870c4..762e72a 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1735,13 +1735,24 @@ out:
>      return ret;
>  }
>  
> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *disk)

Why the weird indent?

>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      char *ret = NULL;
>      int rc;
>  
> +    if (in_disk->pdev_path == NULL)
> +        return NULL;
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = libxl__strdup(NULL, in_disk->script);
> +    disk->vdev = NULL;
> +
>      rc = libxl__device_disk_setdefault(gc, disk);
>      if (rc) goto out;
>  
> @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                             " attach a qdisk image if the format is not raw");
>                  break;
>              }
> -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
>              dev = disk->pdev_path;
>              break;
>          default:
> @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
>       * needed by the soon to be started domain and do nothing.
>       */
>  
> +    free(disk->pdev_path);
> +    free(disk->script);

This is open coding libxl_device_disk_dispose(disk) but missed the vdev
member, is that deliberate?

>      return 0;
>  }
>  
> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index e8950b1..82371f1 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
>      if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
>  
>      if (bl->diskpath) {
> -        libxl__device_disk_local_detach(gc, bl->disk);
> +        libxl__device_disk_local_detach(gc, &bl->localdisk);
>          free(bl->diskpath);
>          bl->diskpath = 0;
>      }
> @@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
>          goto out;
>      }
>  
> -    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
> +    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
>      if (!bl->diskpath) {
>          rc = ERROR_FAIL;
>          goto out;
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index d34e561..21b8b54 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   * a device.
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
> -        libxl_device_disk *disk);
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *new_disk);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  
> @@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
>      libxl__bootloader_console_callback *console_available;
>      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
>      libxl_device_disk *disk;
> +    /* Should be zeroed by caller on entry.  Will be filled in by
> +     * bootloader machinery; represents the local attachment of the
> +     * disk for the benefit of the bootloader.  Must be detached by
> +     * the caller using libxl__device_disk_local_detach, but only
> +     * after the domain's kernel and initramfs have been loaded into
> +     * memory and the file references disposed of. */
> +    libxl_device_disk localdisk;
>      uint32_t domid;
>      /* private to libxl__run_bootloader */
>      char *outputpath, *outputdir, *logfile;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:26:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:26:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNNL-0004Il-DS; Tue, 29 May 2012 14:26:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNNJ-0004Ig-Ud
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:26:18 +0000
Received: from [85.158.143.99:32368] by server-2.bemta-4.messagelabs.com id
	18/13-12211-98CD4CF4; Tue, 29 May 2012 14:26:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338301573!20697612!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31748 invoked from network); 29 May 2012 14:26:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:26:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717458"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:26:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:26:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNNE-00042b-Ap; Tue, 29 May 2012 14:26:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNNE-00048W-9D;
	Tue, 29 May 2012 15:26:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.56452.218138.886468@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:26:12 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-5-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-5-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 04/10] libxl: convert
	libxl_device_disk_add to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 04/10] libxl: convert libxl_device_disk_add to an asyn op"):

Subject line needs to say `async' not `asyn'.

> This patch converts libxl_device_disk_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.
> 
> As usual, libxl_device_disk_add callers have been modified, and the
> internal function libxl__device_disk_add has been used if the call was
> inside an already running ao.

This looks good to me.  I have some very minor comments.

...
> +/* Internal AO operation to connect a disk device */
> +_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
> +                                    libxl_device_disk *disk,
> +                                    libxl__ao_device *aodev);
> +
> +/* Arranges that dev will be added to the guest, and the
> + * hotplug scripts will be executed (if necessary). When
> + * this is done (or an error happens), the callback in
> + * aodev->callback will be called.
> + */
> +_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);

>From the comments I'm a bit confused by the relationship between
these.  I guess libxl__device_disk_add is called by
libxl__initiate_device_add and not vice versa, and that only
libxl__initiate_device_add is allowed to call libxl__device_disk_add.
Is that true ?  If so it would be nice to say so.

> +/* Helper function to add a bunch of disks */
> +void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
> +                      libxl_domain_config *d_config,
> +                      libxl__ao_device **devices,
> +                      libxl__device_callback callback);
> +

This comment should make it clear that the callback will be called
_once for each device_, and that that callback is therefore
responsible for using libxl__ao_device_check_last.

Doesn't this define `callback' as a parameter of function type?
Is that legal in C89/C99 ?

> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 5d9227e..81b467e 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -13,7 +13,7 @@ XLUMINOR = 0
> 
>  CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
>         -Wno-declaration-after-statement -Wformat-nonliteral
> -CFLAGS += -I. -fPIC
> +CFLAGS += -I. -fPIC -O0

Stray hunk I think.

> @@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>      ret = 0;
> 
>      libxl_device_disk_remove(ctx, domid, disks + i, 0);
> -    libxl_device_disk_add(ctx, domid, disk);
> +    /* fixme-ao */

We need to fix this in the API, at least by making libxl_cdrom_insert
take an ao_how at some point.  But not in this patch, indeed.

> +void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
> +                      libxl_domain_config *d_config,
> +                      libxl__ao_device **devices,
> +                      libxl__device_callback callback)
> +{
> +    AO_GC;
> +    GCNEW_ARRAY(*devices, d_config->num_disks);
> +    libxl__ao_device *aodev = *devices;
> +    int i;
> +
> +    for (i = 0; i < d_config->num_disks; i++) {
> +        libxl__prepare_ao_device(&aodev[i], ao, devices);
> +        aodev[i].callback = callback;
> +        libxl__device_disk_add(egc, domid, &d_config->disks[i],
> +                               &aodev[i]);
> +    }
> +}

If libxl__device_disk_add ever becomes capable of reentrantly calling
the completion callback, this will go wrong because the others haven't
been prepared yet.  Perhaps this should be in two loops ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:26:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:26:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNNL-0004Il-DS; Tue, 29 May 2012 14:26:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNNJ-0004Ig-Ud
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:26:18 +0000
Received: from [85.158.143.99:32368] by server-2.bemta-4.messagelabs.com id
	18/13-12211-98CD4CF4; Tue, 29 May 2012 14:26:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338301573!20697612!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31748 invoked from network); 29 May 2012 14:26:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:26:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717458"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:26:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:26:12 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNNE-00042b-Ap; Tue, 29 May 2012 14:26:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNNE-00048W-9D;
	Tue, 29 May 2012 15:26:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.56452.218138.886468@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:26:12 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-5-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-5-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 04/10] libxl: convert
	libxl_device_disk_add to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 04/10] libxl: convert libxl_device_disk_add to an asyn op"):

Subject line needs to say `async' not `asyn'.

> This patch converts libxl_device_disk_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.
> 
> As usual, libxl_device_disk_add callers have been modified, and the
> internal function libxl__device_disk_add has been used if the call was
> inside an already running ao.

This looks good to me.  I have some very minor comments.

...
> +/* Internal AO operation to connect a disk device */
> +_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
> +                                    libxl_device_disk *disk,
> +                                    libxl__ao_device *aodev);
> +
> +/* Arranges that dev will be added to the guest, and the
> + * hotplug scripts will be executed (if necessary). When
> + * this is done (or an error happens), the callback in
> + * aodev->callback will be called.
> + */
> +_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);

>From the comments I'm a bit confused by the relationship between
these.  I guess libxl__device_disk_add is called by
libxl__initiate_device_add and not vice versa, and that only
libxl__initiate_device_add is allowed to call libxl__device_disk_add.
Is that true ?  If so it would be nice to say so.

> +/* Helper function to add a bunch of disks */
> +void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
> +                      libxl_domain_config *d_config,
> +                      libxl__ao_device **devices,
> +                      libxl__device_callback callback);
> +

This comment should make it clear that the callback will be called
_once for each device_, and that that callback is therefore
responsible for using libxl__ao_device_check_last.

Doesn't this define `callback' as a parameter of function type?
Is that legal in C89/C99 ?

> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 5d9227e..81b467e 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -13,7 +13,7 @@ XLUMINOR = 0
> 
>  CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
>         -Wno-declaration-after-statement -Wformat-nonliteral
> -CFLAGS += -I. -fPIC
> +CFLAGS += -I. -fPIC -O0

Stray hunk I think.

> @@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
>      ret = 0;
> 
>      libxl_device_disk_remove(ctx, domid, disks + i, 0);
> -    libxl_device_disk_add(ctx, domid, disk);
> +    /* fixme-ao */

We need to fix this in the API, at least by making libxl_cdrom_insert
take an ao_how at some point.  But not in this patch, indeed.

> +void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
> +                      libxl_domain_config *d_config,
> +                      libxl__ao_device **devices,
> +                      libxl__device_callback callback)
> +{
> +    AO_GC;
> +    GCNEW_ARRAY(*devices, d_config->num_disks);
> +    libxl__ao_device *aodev = *devices;
> +    int i;
> +
> +    for (i = 0; i < d_config->num_disks; i++) {
> +        libxl__prepare_ao_device(&aodev[i], ao, devices);
> +        aodev[i].callback = callback;
> +        libxl__device_disk_add(egc, domid, &d_config->disks[i],
> +                               &aodev[i]);
> +    }
> +}

If libxl__device_disk_add ever becomes capable of reentrantly calling
the completion callback, this will go wrong because the others haven't
been prepared yet.  Perhaps this should be in two loops ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:27:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNOG-0004LD-Rj; Tue, 29 May 2012 14:27:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ananos@cslab.ece.ntua.gr>) id 1SZNOF-0004L8-Fc
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:27:15 +0000
Received: from [85.158.143.99:44630] by server-3.bemta-4.messagelabs.com id
	D2/E4-05853-2CCD4CF4; Tue, 29 May 2012 14:27:14 +0000
X-Env-Sender: ananos@cslab.ece.ntua.gr
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338301632!29784980!1
X-Originating-IP: [147.102.222.230]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2738 invoked from network); 29 May 2012 14:27:13 -0000
Received: from ulysses.noc.ntua.gr (HELO ulysses.noc.ntua.gr) (147.102.222.230)
	by server-3.tower-216.messagelabs.com with SMTP;
	29 May 2012 14:27:13 -0000
Received: from danaos.cslab.ece.ntua.gr (danaos.cslab.ece.ntua.gr
	[147.102.3.1])
	by ulysses.noc.ntua.gr (8.14.5/8.14.5) with ESMTP id q4TERAbW004166;
	Tue, 29 May 2012 17:27:10 +0300 (EEST)
	(envelope-from ananos@cslab.ece.ntua.gr)
Received: from bricolage (bricolage.cslab.ece.ntua.gr [147.102.3.84])
	by danaos.cslab.ece.ntua.gr (Postfix) with ESMTP id 633D6B8191;
	Tue, 29 May 2012 17:27:10 +0300 (EEST)
Received: from [192.168.3.13] (ppp-94-66-22-214.home.otenet.gr [94.66.22.214])
	by bricolage (Postfix) with ESMTPSA id 0D8CC2E760;
	Tue, 29 May 2012 17:27:09 +0300 (EEST)
Message-ID: <4FC4DCB1.5040601@cslab.ece.ntua.gr>
Date: Tue, 29 May 2012 17:26:57 +0300
From: Anastassios Nanos <ananos@cslab.ece.ntua.gr>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: xen-devel@lists.xen.org
X-Enigmail-Version: 1.4
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7
	(ulysses.noc.ntua.gr [147.102.222.230]);
	Tue, 29 May 2012 17:27:10 +0300 (EEST)
X-Virus-Scanned: clamav-milter 0.97.3 at ulysses.noc.ntua.gr
X-Virus-Status: Clean
Subject: [Xen-devel] vmap granted pages
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I'm trying to reconstruct a user-level, virtually contiguous space
from guest A to guest B using pages that have been granted.

Is this possible with vmap ? I was thinking something like the following:

guest A:

a) get vaddr from userspace, construct page_list
b) grant each page to guest B (using for instance the following):

for each page:
mfn = pfn_to_mfn(page_to_pfn(page));
gref = gnttab_grant_foreign_access(domid, mfn, 0);

(magically transfer nr_pages and grefs to guest B)

guest B:

c) accept the grants and construct a page_list

for each page:
pages <- {accept grant}

d) create a kernel virtual space that is comprised by the previous
page_list:

vaddr = vmap(page_list, nr_pages, VM_MAP, PAGE_KERNEL);

Is there something I'm missing on the previous scenario?

cheers,
A.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAk/E3LEACgkQCNbwM8zOdZ0QIwCggRkR+H/HDLXBXTsdKhHVqHEV
zDoAniCQmZPnZW/G37g8WwMFfZjSUtSQ
=mVsH
-----END PGP SIGNATURE-----

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:27:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNOG-0004LD-Rj; Tue, 29 May 2012 14:27:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ananos@cslab.ece.ntua.gr>) id 1SZNOF-0004L8-Fc
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:27:15 +0000
Received: from [85.158.143.99:44630] by server-3.bemta-4.messagelabs.com id
	D2/E4-05853-2CCD4CF4; Tue, 29 May 2012 14:27:14 +0000
X-Env-Sender: ananos@cslab.ece.ntua.gr
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338301632!29784980!1
X-Originating-IP: [147.102.222.230]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2738 invoked from network); 29 May 2012 14:27:13 -0000
Received: from ulysses.noc.ntua.gr (HELO ulysses.noc.ntua.gr) (147.102.222.230)
	by server-3.tower-216.messagelabs.com with SMTP;
	29 May 2012 14:27:13 -0000
Received: from danaos.cslab.ece.ntua.gr (danaos.cslab.ece.ntua.gr
	[147.102.3.1])
	by ulysses.noc.ntua.gr (8.14.5/8.14.5) with ESMTP id q4TERAbW004166;
	Tue, 29 May 2012 17:27:10 +0300 (EEST)
	(envelope-from ananos@cslab.ece.ntua.gr)
Received: from bricolage (bricolage.cslab.ece.ntua.gr [147.102.3.84])
	by danaos.cslab.ece.ntua.gr (Postfix) with ESMTP id 633D6B8191;
	Tue, 29 May 2012 17:27:10 +0300 (EEST)
Received: from [192.168.3.13] (ppp-94-66-22-214.home.otenet.gr [94.66.22.214])
	by bricolage (Postfix) with ESMTPSA id 0D8CC2E760;
	Tue, 29 May 2012 17:27:09 +0300 (EEST)
Message-ID: <4FC4DCB1.5040601@cslab.ece.ntua.gr>
Date: Tue, 29 May 2012 17:26:57 +0300
From: Anastassios Nanos <ananos@cslab.ece.ntua.gr>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:10.0.3) Gecko/20120329 Icedove/10.0.3
MIME-Version: 1.0
To: xen-devel@lists.xen.org
X-Enigmail-Version: 1.4
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7
	(ulysses.noc.ntua.gr [147.102.222.230]);
	Tue, 29 May 2012 17:27:10 +0300 (EEST)
X-Virus-Scanned: clamav-milter 0.97.3 at ulysses.noc.ntua.gr
X-Virus-Status: Clean
Subject: [Xen-devel] vmap granted pages
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I'm trying to reconstruct a user-level, virtually contiguous space
from guest A to guest B using pages that have been granted.

Is this possible with vmap ? I was thinking something like the following:

guest A:

a) get vaddr from userspace, construct page_list
b) grant each page to guest B (using for instance the following):

for each page:
mfn = pfn_to_mfn(page_to_pfn(page));
gref = gnttab_grant_foreign_access(domid, mfn, 0);

(magically transfer nr_pages and grefs to guest B)

guest B:

c) accept the grants and construct a page_list

for each page:
pages <- {accept grant}

d) create a kernel virtual space that is comprised by the previous
page_list:

vaddr = vmap(page_list, nr_pages, VM_MAP, PAGE_KERNEL);

Is there something I'm missing on the previous scenario?

cheers,
A.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAk/E3LEACgkQCNbwM8zOdZ0QIwCggRkR+H/HDLXBXTsdKhHVqHEV
zDoAniCQmZPnZW/G37g8WwMFfZjSUtSQ
=mVsH
-----END PGP SIGNATURE-----

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:30:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNQn-0004UP-Cl; Tue, 29 May 2012 14:29:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZNQl-0004UF-S2
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:29:52 +0000
Received: from [193.109.254.147:53638] by server-7.bemta-14.messagelabs.com id
	7F/2E-20336-E5DD4CF4; Tue, 29 May 2012 14:29:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338301790!11623118!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4616 invoked from network); 29 May 2012 14:29:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:29:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717572"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:29:49 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:29:49 +0100
Date: Tue, 29 May 2012 15:29:43 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338300632.14158.115.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Ian Campbell wrote:
> On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > Introduce a new libxl_device_disk* parameter to
> > libxl__device_disk_local_attach, the parameter is allocated by the
> > caller. libxl__device_disk_local_attach is going to fill the new disk
> > with informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> > 
> > Changes in v8:
> > - free pdev_path and script in local_detach;
> > - use libxl__strdup instead of strdup.
> > 
> > Changes in v7:
> > - rename tmpdisk to localdisk;
> > - add a comment in libxl__bootloader_state about localdisk.
> > 
> > Changes in v6:
> > - return error in case pdev_path is NULL;
> > - libxl__device_disk_local_attach update the new disk, the caller
> > allocates it;
> > - remove \n from logs.
> > 
> > Changes in v5:
> > - rename disk to in_disk;
> > - rename tmpdisk to disk;
> > - copy disk to new_disk only on success;
> > - remove check on libxl__zalloc success.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > ---
> >  tools/libxl/libxl.c            |   18 +++++++++++++++---
> >  tools/libxl/libxl_bootloader.c |    4 ++--
> >  tools/libxl/libxl_internal.h   |   10 +++++++++-
> >  3 files changed, 26 insertions(+), 6 deletions(-)
> > 
> > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > index cd870c4..762e72a 100644
> > --- a/tools/libxl/libxl.c
> > +++ b/tools/libxl/libxl.c
> > @@ -1735,13 +1735,24 @@ out:
> >      return ret;
> >  }
> >  
> > -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > +char * libxl__device_disk_local_attach(libxl__gc *gc,
> > +        const libxl_device_disk *in_disk,
> > +        libxl_device_disk *disk)
> 
> Why the weird indent?

Uhm.. I don't know, I think it was just the default on vim.


> >  {
> >      libxl_ctx *ctx = gc->owner;
> >      char *dev = NULL;
> >      char *ret = NULL;
> >      int rc;
> >  
> > +    if (in_disk->pdev_path == NULL)
> > +        return NULL;
> > +
> > +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> > +    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
> > +    if (in_disk->script != NULL)
> > +        disk->script = libxl__strdup(NULL, in_disk->script);
> > +    disk->vdev = NULL;
> > +
> >      rc = libxl__device_disk_setdefault(gc, disk);
> >      if (rc) goto out;
> >  
> > @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> >                             " attach a qdisk image if the format is not raw");
> >                  break;
> >              }
> > -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > -                       disk->pdev_path);
> > +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
> >              dev = disk->pdev_path;
> >              break;
> >          default:
> > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> >       * needed by the soon to be started domain and do nothing.
> >       */
> >  
> > +    free(disk->pdev_path);
> > +    free(disk->script);
> 
> This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> member, is that deliberate?

I think it is a mistake: all these strings used to be allocated on the
gc, on previous versions of the series. However meanwhile the event
series went in, changing completely libxl__bootloader_run (that is the
caller of libxl__device_disk_local_attach).
Allocating stuff on the gc is not correct anymore, so now they need to
be explicitly freed. I think I should call libxl_device_disk_dispose
here and strdup in libxl__device_disk_local_attach to make sure vdev is
not on the gc.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:30:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNQn-0004UP-Cl; Tue, 29 May 2012 14:29:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZNQl-0004UF-S2
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:29:52 +0000
Received: from [193.109.254.147:53638] by server-7.bemta-14.messagelabs.com id
	7F/2E-20336-E5DD4CF4; Tue, 29 May 2012 14:29:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338301790!11623118!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4616 invoked from network); 29 May 2012 14:29:50 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:29:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717572"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:29:49 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:29:49 +0100
Date: Tue, 29 May 2012 15:29:43 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338300632.14158.115.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Ian Campbell wrote:
> On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > Introduce a new libxl_device_disk* parameter to
> > libxl__device_disk_local_attach, the parameter is allocated by the
> > caller. libxl__device_disk_local_attach is going to fill the new disk
> > with informations about the new locally attached disk.  The new
> > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > afterwards.
> > 
> > Changes in v8:
> > - free pdev_path and script in local_detach;
> > - use libxl__strdup instead of strdup.
> > 
> > Changes in v7:
> > - rename tmpdisk to localdisk;
> > - add a comment in libxl__bootloader_state about localdisk.
> > 
> > Changes in v6:
> > - return error in case pdev_path is NULL;
> > - libxl__device_disk_local_attach update the new disk, the caller
> > allocates it;
> > - remove \n from logs.
> > 
> > Changes in v5:
> > - rename disk to in_disk;
> > - rename tmpdisk to disk;
> > - copy disk to new_disk only on success;
> > - remove check on libxl__zalloc success.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > ---
> >  tools/libxl/libxl.c            |   18 +++++++++++++++---
> >  tools/libxl/libxl_bootloader.c |    4 ++--
> >  tools/libxl/libxl_internal.h   |   10 +++++++++-
> >  3 files changed, 26 insertions(+), 6 deletions(-)
> > 
> > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > index cd870c4..762e72a 100644
> > --- a/tools/libxl/libxl.c
> > +++ b/tools/libxl/libxl.c
> > @@ -1735,13 +1735,24 @@ out:
> >      return ret;
> >  }
> >  
> > -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > +char * libxl__device_disk_local_attach(libxl__gc *gc,
> > +        const libxl_device_disk *in_disk,
> > +        libxl_device_disk *disk)
> 
> Why the weird indent?

Uhm.. I don't know, I think it was just the default on vim.


> >  {
> >      libxl_ctx *ctx = gc->owner;
> >      char *dev = NULL;
> >      char *ret = NULL;
> >      int rc;
> >  
> > +    if (in_disk->pdev_path == NULL)
> > +        return NULL;
> > +
> > +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> > +    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
> > +    if (in_disk->script != NULL)
> > +        disk->script = libxl__strdup(NULL, in_disk->script);
> > +    disk->vdev = NULL;
> > +
> >      rc = libxl__device_disk_setdefault(gc, disk);
> >      if (rc) goto out;
> >  
> > @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> >                             " attach a qdisk image if the format is not raw");
> >                  break;
> >              }
> > -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > -                       disk->pdev_path);
> > +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
> >              dev = disk->pdev_path;
> >              break;
> >          default:
> > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> >       * needed by the soon to be started domain and do nothing.
> >       */
> >  
> > +    free(disk->pdev_path);
> > +    free(disk->script);
> 
> This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> member, is that deliberate?

I think it is a mistake: all these strings used to be allocated on the
gc, on previous versions of the series. However meanwhile the event
series went in, changing completely libxl__bootloader_run (that is the
caller of libxl__device_disk_local_attach).
Allocating stuff on the gc is not correct anymore, so now they need to
be explicitly freed. I think I should call libxl_device_disk_dispose
here and strdup in libxl__device_disk_local_attach to make sure vdev is
not on the gc.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:33:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:33:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNUM-0004iv-AR; Tue, 29 May 2012 14:33:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SZNUK-0004im-UZ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:33:33 +0000
Received: from [85.158.143.35:17225] by server-3.bemta-4.messagelabs.com id
	48/C3-05853-C3ED4CF4; Tue, 29 May 2012 14:33:32 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1338302001!7393624!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0NTAw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26107 invoked from network); 29 May 2012 14:33:22 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-4.tower-21.messagelabs.com with SMTP;
	29 May 2012 14:33:22 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 29 May 2012 07:33:20 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="148979615"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 29 May 2012 07:33:20 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 07:33:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 29 May 2012 22:33:18 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>
Thread-Topic: which Dom0 should I use in my regular testing?
Thread-Index: Ac08qIRddcI2C4t3TniaA7XI16D2+wA/wpLQ
Date: Tue, 29 May 2012 14:33:18 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Sorry, ping... 
Any suggestions?  Also CC Ian Campbell for suggestion.

Best Regards,
     Yongjie (Jay)

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org
> [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Ren, Yongjie
> Sent: Monday, May 28, 2012 4:05 PM
> To: ian.jackson@eu.citrix.com
> Cc: xen-devel@lists.xen.org
> Subject: [Xen-devel] which Dom0 should I use in my regular testing?
> 
> Hi Jackson,
> Our team spares some effort in regular testing against xen-unstable tree.
> I know you are doing some testing against xen.
> Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> linux.git ?
> And which Dom0 do you recommend in my regular testing?
> (Not sure you are the right person for this question? :-) )
> 
> Best Regards,
>      Yongjie (Jay)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:33:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:33:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNUM-0004iv-AR; Tue, 29 May 2012 14:33:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SZNUK-0004im-UZ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:33:33 +0000
Received: from [85.158.143.35:17225] by server-3.bemta-4.messagelabs.com id
	48/C3-05853-C3ED4CF4; Tue, 29 May 2012 14:33:32 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1338302001!7393624!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0NTAw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26107 invoked from network); 29 May 2012 14:33:22 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-4.tower-21.messagelabs.com with SMTP;
	29 May 2012 14:33:22 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 29 May 2012 07:33:20 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="148979615"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 29 May 2012 07:33:20 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 07:33:20 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Tue, 29 May 2012 22:33:18 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>
Thread-Topic: which Dom0 should I use in my regular testing?
Thread-Index: Ac08qIRddcI2C4t3TniaA7XI16D2+wA/wpLQ
Date: Tue, 29 May 2012 14:33:18 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Sorry, ping... 
Any suggestions?  Also CC Ian Campbell for suggestion.

Best Regards,
     Yongjie (Jay)

> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org
> [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Ren, Yongjie
> Sent: Monday, May 28, 2012 4:05 PM
> To: ian.jackson@eu.citrix.com
> Cc: xen-devel@lists.xen.org
> Subject: [Xen-devel] which Dom0 should I use in my regular testing?
> 
> Hi Jackson,
> Our team spares some effort in regular testing against xen-unstable tree.
> I know you are doing some testing against xen.
> Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> linux.git ?
> And which Dom0 do you recommend in my regular testing?
> (Not sure you are the right person for this question? :-) )
> 
> Best Regards,
>      Yongjie (Jay)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:37:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:37:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNXy-0004sy-Ua; Tue, 29 May 2012 14:37:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNXx-0004sn-0S
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:37:17 +0000
Received: from [85.158.143.35:40969] by server-3.bemta-4.messagelabs.com id
	02/2B-05853-C1FD4CF4; Tue, 29 May 2012 14:37:16 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338302235!17872540!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17951 invoked from network); 29 May 2012 14:37:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:37:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717900"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:36:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:36:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNXZ-00046N-GV; Tue, 29 May 2012 14:36:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNXZ-00049T-Fg;
	Tue, 29 May 2012 15:36:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57093.469702.580339@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:36:53 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-6-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-6-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 05/10] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 05/10] libxl: convert libxl_device_nic_add to an async operation"):
> This patch converts libxl_device_nic_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.

Thanks.  I'm afraid this is still tripping my repetition detector.
See below.

> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 6c9bbc2..9933cc2 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
>      }
>  }
> 
> +void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
> +                     libxl_domain_config *d_config,
> +                     libxl__ao_device **devices,
> +                     libxl__device_callback callback)
> +{
> +    AO_GC;
> +    GCNEW_ARRAY(*devices, d_config->num_vifs);
> +    libxl__ao_device *aodev = *devices;
> +    int i;
> +
> +    for (i = 0; i < d_config->num_vifs; i++) {
> +        libxl__prepare_ao_device(&aodev[i], ao, devices);
> +        aodev[i].callback = callback;
> +        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
> +                               &aodev[i]);
> +    }
> +}

The same comment applies as before about libxl__add_disks and the two
loops.


But, this is another copy of libxl__add_disks.  Perhaps you want a
macro to generate these functions ?

In general this patch seems to contain an awful lot of very similar
code to the previous one.  Eg domcreate_nic_connected is practically
identical to domcreate_disk_connected.  And domcreate_attach_nick is
practically identical to domcreate_attach_disk.


Another option would be to make the types of libxl__device_FOO_add
compatible (by replacing the actual config parameter with const void*)
and then pass them as function pointers.

Or you could even have a table
   { offsetof(disks, libxl_domain_config), sizeof(libxl_device_disk),
     libxl__device_disk_add },
   { offsetof(vifs, libxl_domain_config), sizeof(libxl_device_vif),
     libxl__device_nic_add },
   ...
which your domain creation logic could iterate over.  That way you
would do away with domcreate_FOO_connected and you'd end up with

   static void domcreate_device_connected(libxl__egc *egc,
                                     libxl__ao_device *aodev)
   {
   
       tableentry = devicekindstable[dcs->currentdevicekind];

       rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
                                             dcs->num_devices);
   
       if (rc > 0) return;
       if (rc) {
           LOGE(ERROR, "error connecting devices");
           goto error_out;
       }

       dcs->currentdevicekind++;

       if (!devicekindstable[dcs->currentdevicekind].add_function) {
           domcreate_complete(egc, dcs, rc);
       } else {
           domcreate_attach_devices(egc, dcs);
       }

or something like it.


Or something.  Anyway, can you try to find a way to avoid me having to
review lots of nearly-identical code ?


Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:37:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:37:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNXy-0004sy-Ua; Tue, 29 May 2012 14:37:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNXx-0004sn-0S
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:37:17 +0000
Received: from [85.158.143.35:40969] by server-3.bemta-4.messagelabs.com id
	02/2B-05853-C1FD4CF4; Tue, 29 May 2012 14:37:16 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338302235!17872540!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17951 invoked from network); 29 May 2012 14:37:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:37:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717900"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:36:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:36:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNXZ-00046N-GV; Tue, 29 May 2012 14:36:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNXZ-00049T-Fg;
	Tue, 29 May 2012 15:36:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57093.469702.580339@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:36:53 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-6-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-6-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 05/10] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 05/10] libxl: convert libxl_device_nic_add to an async operation"):
> This patch converts libxl_device_nic_add to an ao operation that
> waits for device backend to reach state XenbusStateInitWait and then
> marks the operation as completed. This is not really useful now, but
> will be used by latter patches that will launch hotplug scripts after
> we reached the desired xenbus state.

Thanks.  I'm afraid this is still tripping my repetition detector.
See below.

> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
> index 6c9bbc2..9933cc2 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
>      }
>  }
> 
> +void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
> +                     libxl_domain_config *d_config,
> +                     libxl__ao_device **devices,
> +                     libxl__device_callback callback)
> +{
> +    AO_GC;
> +    GCNEW_ARRAY(*devices, d_config->num_vifs);
> +    libxl__ao_device *aodev = *devices;
> +    int i;
> +
> +    for (i = 0; i < d_config->num_vifs; i++) {
> +        libxl__prepare_ao_device(&aodev[i], ao, devices);
> +        aodev[i].callback = callback;
> +        libxl__device_nic_add(egc, domid, &d_config->vifs[i],
> +                               &aodev[i]);
> +    }
> +}

The same comment applies as before about libxl__add_disks and the two
loops.


But, this is another copy of libxl__add_disks.  Perhaps you want a
macro to generate these functions ?

In general this patch seems to contain an awful lot of very similar
code to the previous one.  Eg domcreate_nic_connected is practically
identical to domcreate_disk_connected.  And domcreate_attach_nick is
practically identical to domcreate_attach_disk.


Another option would be to make the types of libxl__device_FOO_add
compatible (by replacing the actual config parameter with const void*)
and then pass them as function pointers.

Or you could even have a table
   { offsetof(disks, libxl_domain_config), sizeof(libxl_device_disk),
     libxl__device_disk_add },
   { offsetof(vifs, libxl_domain_config), sizeof(libxl_device_vif),
     libxl__device_nic_add },
   ...
which your domain creation logic could iterate over.  That way you
would do away with domcreate_FOO_connected and you'd end up with

   static void domcreate_device_connected(libxl__egc *egc,
                                     libxl__ao_device *aodev)
   {
   
       tableentry = devicekindstable[dcs->currentdevicekind];

       rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
                                             dcs->num_devices);
   
       if (rc > 0) return;
       if (rc) {
           LOGE(ERROR, "error connecting devices");
           goto error_out;
       }

       dcs->currentdevicekind++;

       if (!devicekindstable[dcs->currentdevicekind].add_function) {
           domcreate_complete(egc, dcs, rc);
       } else {
           domcreate_attach_devices(egc, dcs);
       }

or something like it.


Or something.  Anyway, can you try to find a way to avoid me having to
review lots of nearly-identical code ?


Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:38:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:38:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNZ7-0004xJ-DT; Tue, 29 May 2012 14:38:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNZ5-0004xB-VW
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:38:28 +0000
Received: from [85.158.143.99:23539] by server-3.bemta-4.messagelabs.com id
	EA/9D-05853-36FD4CF4; Tue, 29 May 2012 14:38:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338302306!30319290!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11854 invoked from network); 29 May 2012 14:38:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:38:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717943"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:38:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:38:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNZ3-00046q-0f; Tue, 29 May 2012 14:38:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNZ2-00049f-W6;
	Tue, 29 May 2012 15:38:24 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57184.980330.62450@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:38:24 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-7-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-7-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 06/10] libxl: add option to choose who
 executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 06/10] libxl: add option to choose who executes hotplug scripts"):
> Add and option to xl.conf file to decide if hotplug scripts are
> executed from the toolstack (xl) or from udev as it used to be in the
> past.

Thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:38:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:38:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNZ7-0004xJ-DT; Tue, 29 May 2012 14:38:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNZ5-0004xB-VW
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:38:28 +0000
Received: from [85.158.143.99:23539] by server-3.bemta-4.messagelabs.com id
	EA/9D-05853-36FD4CF4; Tue, 29 May 2012 14:38:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338302306!30319290!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11854 invoked from network); 29 May 2012 14:38:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:38:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717943"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:38:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:38:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNZ3-00046q-0f; Tue, 29 May 2012 14:38:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNZ2-00049f-W6;
	Tue, 29 May 2012 15:38:24 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57184.980330.62450@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:38:24 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-7-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-7-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 06/10] libxl: add option to choose who
 executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 06/10] libxl: add option to choose who executes hotplug scripts"):
> Add and option to xl.conf file to decide if hotplug scripts are
> executed from the toolstack (xl) or from udev as it used to be in the
> past.

Thanks.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:39:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:39:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNZf-00050l-Qn; Tue, 29 May 2012 14:39:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNZe-00050X-Hp
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:39:02 +0000
Received: from [193.109.254.147:44307] by server-12.bemta-14.messagelabs.com
	id FA/EE-30228-58FD4CF4; Tue, 29 May 2012 14:39:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338302338!11466913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17577 invoked from network); 29 May 2012 14:38:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:38:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717959"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:38:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:38:58 +0100
Message-ID: <1338302336.14158.116.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Date: Tue, 29 May 2012 15:38:56 +0100
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:33 +0100, Ren, Yongjie wrote:
> Sorry, ping... 
> Any suggestions?  Also CC Ian Campbell for suggestion.

I think the latest kernel from upstream's stable series would be a
reasonable basis for testing xen on.

> 
> Best Regards,
>      Yongjie (Jay)
> 
> > -----Original Message-----
> > From: xen-devel-bounces@lists.xen.org
> > [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Ren, Yongjie
> > Sent: Monday, May 28, 2012 4:05 PM
> > To: ian.jackson@eu.citrix.com
> > Cc: xen-devel@lists.xen.org
> > Subject: [Xen-devel] which Dom0 should I use in my regular testing?
> > 
> > Hi Jackson,
> > Our team spares some effort in regular testing against xen-unstable tree.
> > I know you are doing some testing against xen.
> > Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> > linux.git ?
> > And which Dom0 do you recommend in my regular testing?
> > (Not sure you are the right person for this question? :-) )
> > 
> > Best Regards,
> >      Yongjie (Jay)
> > 
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:39:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:39:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNZf-00050l-Qn; Tue, 29 May 2012 14:39:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNZe-00050X-Hp
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:39:02 +0000
Received: from [193.109.254.147:44307] by server-12.bemta-14.messagelabs.com
	id FA/EE-30228-58FD4CF4; Tue, 29 May 2012 14:39:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338302338!11466913!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17577 invoked from network); 29 May 2012 14:38:58 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:38:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717959"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:38:58 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:38:58 +0100
Message-ID: <1338302336.14158.116.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Date: Tue, 29 May 2012 15:38:56 +0100
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:33 +0100, Ren, Yongjie wrote:
> Sorry, ping... 
> Any suggestions?  Also CC Ian Campbell for suggestion.

I think the latest kernel from upstream's stable series would be a
reasonable basis for testing xen on.

> 
> Best Regards,
>      Yongjie (Jay)
> 
> > -----Original Message-----
> > From: xen-devel-bounces@lists.xen.org
> > [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Ren, Yongjie
> > Sent: Monday, May 28, 2012 4:05 PM
> > To: ian.jackson@eu.citrix.com
> > Cc: xen-devel@lists.xen.org
> > Subject: [Xen-devel] which Dom0 should I use in my regular testing?
> > 
> > Hi Jackson,
> > Our team spares some effort in regular testing against xen-unstable tree.
> > I know you are doing some testing against xen.
> > Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> > linux.git ?
> > And which Dom0 do you recommend in my regular testing?
> > (Not sure you are the right person for this question? :-) )
> > 
> > Best Regards,
> >      Yongjie (Jay)
> > 
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:40:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:40:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNap-00057a-9x; Tue, 29 May 2012 14:40:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNao-00057O-1X
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:40:14 +0000
Received: from [85.158.143.35:59867] by server-1.bemta-4.messagelabs.com id
	2C/D0-00342-DCFD4CF4; Tue, 29 May 2012 14:40:13 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338302411!14633978!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12398 invoked from network); 29 May 2012 14:40:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:40:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717982"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:40:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:40:11 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNak-00047X-SR; Tue, 29 May 2012 14:40:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNak-00049u-Rf;
	Tue, 29 May 2012 15:40:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57290.841831.831419@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:40:10 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBA6D52.9050809@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH 11/13] libxl: set nic type to VIF by default"):
> Ian Jackson wrote:
> > Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
> >> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
> >> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
> >
> > But doesn't this set the default type to VIF even for HVM guests ?
> 
> Shouldn't HVM guests use the "ioemu" parameter if they want an emulated 
> card? If no parameter is provided then the default type should be VIF, 
> because there's no other way to specifically set the type to VIF.

Sorry.  I seem to have failed to reply to this.

I'm a bit confused about all this, I confess.  What does xend do ?

ATM it seems that this change would mean that a guest config file
specified in the most obvious way wouldn't get an emulated nic at
all.  That can't be right, can it ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:40:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:40:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNap-00057a-9x; Tue, 29 May 2012 14:40:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNao-00057O-1X
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:40:14 +0000
Received: from [85.158.143.35:59867] by server-1.bemta-4.messagelabs.com id
	2C/D0-00342-DCFD4CF4; Tue, 29 May 2012 14:40:13 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338302411!14633978!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12398 invoked from network); 29 May 2012 14:40:11 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:40:11 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717982"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:40:11 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:40:11 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNak-00047X-SR; Tue, 29 May 2012 14:40:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNak-00049u-Rf;
	Tue, 29 May 2012 15:40:10 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57290.841831.831419@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:40:10 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FBA6D52.9050809@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH 11/13] libxl: set nic type to VIF by default"):
> Ian Jackson wrote:
> > Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
> >> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
> >> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
> >
> > But doesn't this set the default type to VIF even for HVM guests ?
> 
> Shouldn't HVM guests use the "ioemu" parameter if they want an emulated 
> card? If no parameter is provided then the default type should be VIF, 
> because there's no other way to specifically set the type to VIF.

Sorry.  I seem to have failed to reply to this.

I'm a bit confused about all this, I confess.  What does xend do ?

ATM it seems that this change would mean that a guest config file
specified in the most obvious way wouldn't get an emulated nic at
all.  That can't be right, can it ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:41:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:41:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNby-0005FO-PB; Tue, 29 May 2012 14:41:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNbx-0005F9-Ey
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:41:25 +0000
Received: from [85.158.138.51:31412] by server-11.bemta-3.messagelabs.com id
	D0/E3-20431-410E4CF4; Tue, 29 May 2012 14:41:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338302483!29747217!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17959 invoked from network); 29 May 2012 14:41:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:41:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717989"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:40:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:40:23 +0100
Message-ID: <1338302422.14158.117.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 15:40:22 +0100
In-Reply-To: <20420.56452.218138.886468@mariner.uk.xensource.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-5-git-send-email-roger.pau@citrix.com>
	<20420.56452.218138.886468@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v4 04/10] libxl: convert
 libxl_device_disk_add to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:26 +0100, Ian Jackson wrote:
> 
> > @@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx,
> uint32_t domid, libxl_device_disk *disk)
> >      ret = 0;
> > 
> >      libxl_device_disk_remove(ctx, domid, disks + i, 0);
> > -    libxl_device_disk_add(ctx, domid, disk);
> > +    /* fixme-ao */
> 
> We need to fix this in the API, at least by making libxl_cdrom_insert
> take an ao_how at some point.  But not in this patch, indeed. 

In yesterday's TODO I said:

            * libxl_cdrom_insert. Should be easy once
              disk_{add,remove} done. Nobody is looking at this? This
              is basically a helper function and its functionality can
              be implemented in terms of the libxl_disk_*
              interfaces. We could therefore consider marking this
              function as substandard and subject to change in the
              future. We could also consider simply moving it into xl
              as a helper function and revisting for 4.3.

I'm quite interested in thoughts on that ;-)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:41:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:41:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNby-0005FO-PB; Tue, 29 May 2012 14:41:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNbx-0005F9-Ey
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:41:25 +0000
Received: from [85.158.138.51:31412] by server-11.bemta-3.messagelabs.com id
	D0/E3-20431-410E4CF4; Tue, 29 May 2012 14:41:24 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338302483!29747217!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17959 invoked from network); 29 May 2012 14:41:24 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:41:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12717989"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:40:24 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:40:23 +0100
Message-ID: <1338302422.14158.117.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 15:40:22 +0100
In-Reply-To: <20420.56452.218138.886468@mariner.uk.xensource.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-5-git-send-email-roger.pau@citrix.com>
	<20420.56452.218138.886468@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH v4 04/10] libxl: convert
 libxl_device_disk_add to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:26 +0100, Ian Jackson wrote:
> 
> > @@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx,
> uint32_t domid, libxl_device_disk *disk)
> >      ret = 0;
> > 
> >      libxl_device_disk_remove(ctx, domid, disks + i, 0);
> > -    libxl_device_disk_add(ctx, domid, disk);
> > +    /* fixme-ao */
> 
> We need to fix this in the API, at least by making libxl_cdrom_insert
> take an ao_how at some point.  But not in this patch, indeed. 

In yesterday's TODO I said:

            * libxl_cdrom_insert. Should be easy once
              disk_{add,remove} done. Nobody is looking at this? This
              is basically a helper function and its functionality can
              be implemented in terms of the libxl_disk_*
              interfaces. We could therefore consider marking this
              function as substandard and subject to change in the
              future. We could also consider simply moving it into xl
              as a helper function and revisting for 4.3.

I'm quite interested in thoughts on that ;-)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:43:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:43:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNdO-0005Q9-8d; Tue, 29 May 2012 14:42:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SZNdM-0005Pr-UT
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:42:53 +0000
Received: from [193.109.254.147:9502] by server-10.bemta-14.messagelabs.com id
	EE/2D-12925-C60E4CF4; Tue, 29 May 2012 14:42:52 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-5.tower-27.messagelabs.com!1338302566!7533463!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NTI3MjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26434 invoked from network); 29 May 2012 14:42:47 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 14:42:47 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 00F93265B;
	Tue, 29 May 2012 17:42:45 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id BB8272005D; Tue, 29 May 2012 17:42:45 +0300 (EEST)
Date: Tue, 29 May 2012 17:42:45 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120529144245.GI2058@reaktio.net>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
	<1338302336.14158.116.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338302336.14158.116.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 03:38:56PM +0100, Ian Campbell wrote:
> On Tue, 2012-05-29 at 15:33 +0100, Ren, Yongjie wrote:
> > Sorry, ping... 
> > Any suggestions?  Also CC Ian Campbell for suggestion.
> 
> I think the latest kernel from upstream's stable series would be a
> reasonable basis for testing xen on.
> 

I think the upstream Linux 'stable' series is 3.0.x currently? 

Linux 3.4.x is the first kernel with Xen ACPI cpufreq / power management patches included,
so it makes sense to use 3.4+ ?


-- Pasi


> > 
> > Best Regards,
> >      Yongjie (Jay)
> > 
> > > -----Original Message-----
> > > From: xen-devel-bounces@lists.xen.org
> > > [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Ren, Yongjie
> > > Sent: Monday, May 28, 2012 4:05 PM
> > > To: ian.jackson@eu.citrix.com
> > > Cc: xen-devel@lists.xen.org
> > > Subject: [Xen-devel] which Dom0 should I use in my regular testing?
> > > 
> > > Hi Jackson,
> > > Our team spares some effort in regular testing against xen-unstable tree.
> > > I know you are doing some testing against xen.
> > > Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> > > linux.git ?
> > > And which Dom0 do you recommend in my regular testing?
> > > (Not sure you are the right person for this question? :-) )
> > > 
> > > Best Regards,
> > >      Yongjie (Jay)
> > > 
> > > 
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:43:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:43:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNdO-0005Q9-8d; Tue, 29 May 2012 14:42:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1SZNdM-0005Pr-UT
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:42:53 +0000
Received: from [193.109.254.147:9502] by server-10.bemta-14.messagelabs.com id
	EE/2D-12925-C60E4CF4; Tue, 29 May 2012 14:42:52 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-5.tower-27.messagelabs.com!1338302566!7533463!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA0NTI3MjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26434 invoked from network); 29 May 2012 14:42:47 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-5.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 14:42:47 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 00F93265B;
	Tue, 29 May 2012 17:42:45 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id BB8272005D; Tue, 29 May 2012 17:42:45 +0300 (EEST)
Date: Tue, 29 May 2012 17:42:45 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120529144245.GI2058@reaktio.net>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
	<1338302336.14158.116.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338302336.14158.116.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 03:38:56PM +0100, Ian Campbell wrote:
> On Tue, 2012-05-29 at 15:33 +0100, Ren, Yongjie wrote:
> > Sorry, ping... 
> > Any suggestions?  Also CC Ian Campbell for suggestion.
> 
> I think the latest kernel from upstream's stable series would be a
> reasonable basis for testing xen on.
> 

I think the upstream Linux 'stable' series is 3.0.x currently? 

Linux 3.4.x is the first kernel with Xen ACPI cpufreq / power management patches included,
so it makes sense to use 3.4+ ?


-- Pasi


> > 
> > Best Regards,
> >      Yongjie (Jay)
> > 
> > > -----Original Message-----
> > > From: xen-devel-bounces@lists.xen.org
> > > [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of Ren, Yongjie
> > > Sent: Monday, May 28, 2012 4:05 PM
> > > To: ian.jackson@eu.citrix.com
> > > Cc: xen-devel@lists.xen.org
> > > Subject: [Xen-devel] which Dom0 should I use in my regular testing?
> > > 
> > > Hi Jackson,
> > > Our team spares some effort in regular testing against xen-unstable tree.
> > > I know you are doing some testing against xen.
> > > Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> > > linux.git ?
> > > And which Dom0 do you recommend in my regular testing?
> > > (Not sure you are the right person for this question? :-) )
> > > 
> > > Best Regards,
> > >      Yongjie (Jay)
> > > 
> > > 
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:47:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:47:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNhP-0005hf-UY; Tue, 29 May 2012 14:47:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNhO-0005hZ-05
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:47:02 +0000
Received: from [85.158.143.35:49491] by server-3.bemta-4.messagelabs.com id
	2F/50-05853-561E4CF4; Tue, 29 May 2012 14:47:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338302820!17874523!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29664 invoked from network); 29 May 2012 14:47:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:47:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:46:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:46:59 +0100
Message-ID: <1338302817.14158.120.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 15:46:57 +0100
In-Reply-To: <20420.57290.841831.831419@mariner.uk.xensource.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
> Roger Pau Monne writes ("Re: [PATCH 11/13] libxl: set nic type to VIF by default"):
> > Ian Jackson wrote:
> > > Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
> > >> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
> > >> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
> > >
> > > But doesn't this set the default type to VIF even for HVM guests ?
> > 
> > Shouldn't HVM guests use the "ioemu" parameter if they want an emulated 
> > card? If no parameter is provided then the default type should be VIF, 
> > because there's no other way to specifically set the type to VIF.
> 
> Sorry.  I seem to have failed to reply to this.
> 
> I'm a bit confused about all this, I confess.  What does xend do ?
> 
> ATM it seems that this change would mean that a guest config file
> specified in the most obvious way wouldn't get an emulated nic at
> all.  That can't be right, can it ?

It's confusingly named.

IOEMU -> emulated only on HVM, meaningless on PV.
VIF   -> both emulated and PV (on HVM) or just PV (on PV)

So a default of "VIF" is what you normally want.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:47:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:47:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNhP-0005hf-UY; Tue, 29 May 2012 14:47:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNhO-0005hZ-05
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:47:02 +0000
Received: from [85.158.143.35:49491] by server-3.bemta-4.messagelabs.com id
	2F/50-05853-561E4CF4; Tue, 29 May 2012 14:47:01 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338302820!17874523!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29664 invoked from network); 29 May 2012 14:47:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:47:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718168"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:46:59 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:46:59 +0100
Message-ID: <1338302817.14158.120.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 15:46:57 +0100
In-Reply-To: <20420.57290.841831.831419@mariner.uk.xensource.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
> Roger Pau Monne writes ("Re: [PATCH 11/13] libxl: set nic type to VIF by default"):
> > Ian Jackson wrote:
> > > Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
> > >> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
> > >> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
> > >
> > > But doesn't this set the default type to VIF even for HVM guests ?
> > 
> > Shouldn't HVM guests use the "ioemu" parameter if they want an emulated 
> > card? If no parameter is provided then the default type should be VIF, 
> > because there's no other way to specifically set the type to VIF.
> 
> Sorry.  I seem to have failed to reply to this.
> 
> I'm a bit confused about all this, I confess.  What does xend do ?
> 
> ATM it seems that this change would mean that a guest config file
> specified in the most obvious way wouldn't get an emulated nic at
> all.  That can't be right, can it ?

It's confusingly named.

IOEMU -> emulated only on HVM, meaningless on PV.
VIF   -> both emulated and PV (on HVM) or just PV (on PV)

So a default of "VIF" is what you normally want.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:48:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:48:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNj1-0005oE-KF; Tue, 29 May 2012 14:48:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZNj0-0005o4-3h
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:48:42 +0000
Received: from [85.158.138.51:21031] by server-10.bemta-3.messagelabs.com id
	87/09-01101-9C1E4CF4; Tue, 29 May 2012 14:48:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338302919!29680189!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20242 invoked from network); 29 May 2012 14:48:40 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:48:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718207"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:48:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:48:39 +0100
Date: Tue, 29 May 2012 15:48:34 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Ian Campbell wrote:
> > On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > > Introduce a new libxl_device_disk* parameter to
> > > libxl__device_disk_local_attach, the parameter is allocated by the
> > > caller. libxl__device_disk_local_attach is going to fill the new disk
> > > with informations about the new locally attached disk.  The new
> > > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > > afterwards.
> > > 
> > > Changes in v8:
> > > - free pdev_path and script in local_detach;
> > > - use libxl__strdup instead of strdup.
> > > 
> > > Changes in v7:
> > > - rename tmpdisk to localdisk;
> > > - add a comment in libxl__bootloader_state about localdisk.
> > > 
> > > Changes in v6:
> > > - return error in case pdev_path is NULL;
> > > - libxl__device_disk_local_attach update the new disk, the caller
> > > allocates it;
> > > - remove \n from logs.
> > > 
> > > Changes in v5:
> > > - rename disk to in_disk;
> > > - rename tmpdisk to disk;
> > > - copy disk to new_disk only on success;
> > > - remove check on libxl__zalloc success.
> > > 
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > > ---
> > >  tools/libxl/libxl.c            |   18 +++++++++++++++---
> > >  tools/libxl/libxl_bootloader.c |    4 ++--
> > >  tools/libxl/libxl_internal.h   |   10 +++++++++-
> > >  3 files changed, 26 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > > index cd870c4..762e72a 100644
> > > --- a/tools/libxl/libxl.c
> > > +++ b/tools/libxl/libxl.c
> > > @@ -1735,13 +1735,24 @@ out:
> > >      return ret;
> > >  }
> > >  
> > > -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > > +char * libxl__device_disk_local_attach(libxl__gc *gc,
> > > +        const libxl_device_disk *in_disk,
> > > +        libxl_device_disk *disk)
> > 
> > Why the weird indent?
> 
> Uhm.. I don't know, I think it was just the default on vim.
> 
> 
> > >  {
> > >      libxl_ctx *ctx = gc->owner;
> > >      char *dev = NULL;
> > >      char *ret = NULL;
> > >      int rc;
> > >  
> > > +    if (in_disk->pdev_path == NULL)
> > > +        return NULL;
> > > +
> > > +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> > > +    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
> > > +    if (in_disk->script != NULL)
> > > +        disk->script = libxl__strdup(NULL, in_disk->script);
> > > +    disk->vdev = NULL;
> > > +
> > >      rc = libxl__device_disk_setdefault(gc, disk);
> > >      if (rc) goto out;
> > >  
> > > @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > >                             " attach a qdisk image if the format is not raw");
> > >                  break;
> > >              }
> > > -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > > -                       disk->pdev_path);
> > > +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
> > >              dev = disk->pdev_path;
> > >              break;
> > >          default:
> > > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> > >       * needed by the soon to be started domain and do nothing.
> > >       */
> > >  
> > > +    free(disk->pdev_path);
> > > +    free(disk->script);
> > 
> > This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> > member, is that deliberate?
> 
> I think it is a mistake: all these strings used to be allocated on the
> gc, on previous versions of the series. However meanwhile the event
> series went in, changing completely libxl__bootloader_run (that is the
> caller of libxl__device_disk_local_attach).
> Allocating stuff on the gc is not correct anymore, so now they need to
> be explicitly freed. I think I should call libxl_device_disk_dispose
> here and strdup in libxl__device_disk_local_attach to make sure vdev is
> not on the gc.

The appended patch switches back the behavior to what we had in v5 and
before: pdev_path, script, and vdev are all allocated on the gc,
therefore freed automatically.


---

libxl: libxl__device_disk_local_attach return a new libxl_device_disk

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v9:
- allocate pdev_path, script, and vdev on the gc.

Changes in v8:
- free pdev_path and script in local_detach;
- use libxl__strdup instead of strdup.

Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index cd870c4..be1c900 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,13 +1735,24 @@ out:
     return ret;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = libxl__strdup(gc, in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index e8950b1..82371f1 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->localdisk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d34e561..21b8b54 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    /* Should be zeroed by caller on entry.  Will be filled in by
+     * bootloader machinery; represents the local attachment of the
+     * disk for the benefit of the bootloader.  Must be detached by
+     * the caller using libxl__device_disk_local_detach, but only
+     * after the domain's kernel and initramfs have been loaded into
+     * memory and the file references disposed of. */
+    libxl_device_disk localdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:48:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:48:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNj1-0005oE-KF; Tue, 29 May 2012 14:48:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZNj0-0005o4-3h
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:48:42 +0000
Received: from [85.158.138.51:21031] by server-10.bemta-3.messagelabs.com id
	87/09-01101-9C1E4CF4; Tue, 29 May 2012 14:48:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338302919!29680189!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20242 invoked from network); 29 May 2012 14:48:40 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:48:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718207"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:48:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:48:39 +0100
Date: Tue, 29 May 2012 15:48:34 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Ian Campbell wrote:
> > On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > > Introduce a new libxl_device_disk* parameter to
> > > libxl__device_disk_local_attach, the parameter is allocated by the
> > > caller. libxl__device_disk_local_attach is going to fill the new disk
> > > with informations about the new locally attached disk.  The new
> > > libxl_device_disk should be passed to libxl_device_disk_local_detach
> > > afterwards.
> > > 
> > > Changes in v8:
> > > - free pdev_path and script in local_detach;
> > > - use libxl__strdup instead of strdup.
> > > 
> > > Changes in v7:
> > > - rename tmpdisk to localdisk;
> > > - add a comment in libxl__bootloader_state about localdisk.
> > > 
> > > Changes in v6:
> > > - return error in case pdev_path is NULL;
> > > - libxl__device_disk_local_attach update the new disk, the caller
> > > allocates it;
> > > - remove \n from logs.
> > > 
> > > Changes in v5:
> > > - rename disk to in_disk;
> > > - rename tmpdisk to disk;
> > > - copy disk to new_disk only on success;
> > > - remove check on libxl__zalloc success.
> > > 
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > > ---
> > >  tools/libxl/libxl.c            |   18 +++++++++++++++---
> > >  tools/libxl/libxl_bootloader.c |    4 ++--
> > >  tools/libxl/libxl_internal.h   |   10 +++++++++-
> > >  3 files changed, 26 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > > index cd870c4..762e72a 100644
> > > --- a/tools/libxl/libxl.c
> > > +++ b/tools/libxl/libxl.c
> > > @@ -1735,13 +1735,24 @@ out:
> > >      return ret;
> > >  }
> > >  
> > > -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > > +char * libxl__device_disk_local_attach(libxl__gc *gc,
> > > +        const libxl_device_disk *in_disk,
> > > +        libxl_device_disk *disk)
> > 
> > Why the weird indent?
> 
> Uhm.. I don't know, I think it was just the default on vim.
> 
> 
> > >  {
> > >      libxl_ctx *ctx = gc->owner;
> > >      char *dev = NULL;
> > >      char *ret = NULL;
> > >      int rc;
> > >  
> > > +    if (in_disk->pdev_path == NULL)
> > > +        return NULL;
> > > +
> > > +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> > > +    disk->pdev_path = libxl__strdup(NULL, in_disk->pdev_path);
> > > +    if (in_disk->script != NULL)
> > > +        disk->script = libxl__strdup(NULL, in_disk->script);
> > > +    disk->vdev = NULL;
> > > +
> > >      rc = libxl__device_disk_setdefault(gc, disk);
> > >      if (rc) goto out;
> > >  
> > > @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> > >                             " attach a qdisk image if the format is not raw");
> > >                  break;
> > >              }
> > > -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> > > -                       disk->pdev_path);
> > > +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
> > >              dev = disk->pdev_path;
> > >              break;
> > >          default:
> > > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> > >       * needed by the soon to be started domain and do nothing.
> > >       */
> > >  
> > > +    free(disk->pdev_path);
> > > +    free(disk->script);
> > 
> > This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> > member, is that deliberate?
> 
> I think it is a mistake: all these strings used to be allocated on the
> gc, on previous versions of the series. However meanwhile the event
> series went in, changing completely libxl__bootloader_run (that is the
> caller of libxl__device_disk_local_attach).
> Allocating stuff on the gc is not correct anymore, so now they need to
> be explicitly freed. I think I should call libxl_device_disk_dispose
> here and strdup in libxl__device_disk_local_attach to make sure vdev is
> not on the gc.

The appended patch switches back the behavior to what we had in v5 and
before: pdev_path, script, and vdev are all allocated on the gc,
therefore freed automatically.


---

libxl: libxl__device_disk_local_attach return a new libxl_device_disk

Introduce a new libxl_device_disk* parameter to
libxl__device_disk_local_attach, the parameter is allocated by the
caller. libxl__device_disk_local_attach is going to fill the new disk
with informations about the new locally attached disk.  The new
libxl_device_disk should be passed to libxl_device_disk_local_detach
afterwards.

Changes in v9:
- allocate pdev_path, script, and vdev on the gc.

Changes in v8:
- free pdev_path and script in local_detach;
- use libxl__strdup instead of strdup.

Changes in v7:
- rename tmpdisk to localdisk;
- add a comment in libxl__bootloader_state about localdisk.

Changes in v6:
- return error in case pdev_path is NULL;
- libxl__device_disk_local_attach update the new disk, the caller
allocates it;
- remove \n from logs.

Changes in v5:
- rename disk to in_disk;
- rename tmpdisk to disk;
- copy disk to new_disk only on success;
- remove check on libxl__zalloc success.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index cd870c4..be1c900 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1735,13 +1735,24 @@ out:
     return ret;
 }
 
-char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
+char * libxl__device_disk_local_attach(libxl__gc *gc,
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *disk)
 {
     libxl_ctx *ctx = gc->owner;
     char *dev = NULL;
     char *ret = NULL;
     int rc;
 
+    if (in_disk->pdev_path == NULL)
+        return NULL;
+
+    memcpy(disk, in_disk, sizeof(libxl_device_disk));
+    disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
+    if (in_disk->script != NULL)
+        disk->script = libxl__strdup(gc, in_disk->script);
+    disk->vdev = NULL;
+
     rc = libxl__device_disk_setdefault(gc, disk);
     if (rc) goto out;
 
@@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
                            " attach a qdisk image if the format is not raw");
                 break;
             }
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
-                       disk->pdev_path);
+            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
             dev = disk->pdev_path;
             break;
         default:
diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
index e8950b1..82371f1 100644
--- a/tools/libxl/libxl_bootloader.c
+++ b/tools/libxl/libxl_bootloader.c
@@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
     if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
 
     if (bl->diskpath) {
-        libxl__device_disk_local_detach(gc, bl->disk);
+        libxl__device_disk_local_detach(gc, &bl->localdisk);
         free(bl->diskpath);
         bl->diskpath = 0;
     }
@@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
         goto out;
     }
 
-    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
+    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
     if (!bl->diskpath) {
         rc = ERROR_FAIL;
         goto out;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d34e561..21b8b54 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
  * a device.
  */
 _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
-        libxl_device_disk *disk);
+        const libxl_device_disk *in_disk,
+        libxl_device_disk *new_disk);
 _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
         libxl_device_disk *disk);
 
@@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
     libxl__bootloader_console_callback *console_available;
     libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
     libxl_device_disk *disk;
+    /* Should be zeroed by caller on entry.  Will be filled in by
+     * bootloader machinery; represents the local attachment of the
+     * disk for the benefit of the bootloader.  Must be detached by
+     * the caller using libxl__device_disk_local_detach, but only
+     * after the domain's kernel and initramfs have been loaded into
+     * memory and the file references disposed of. */
+    libxl_device_disk localdisk;
     uint32_t domid;
     /* private to libxl__run_bootloader */
     char *outputpath, *outputdir, *logfile;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:50:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:50:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNke-0005v0-Aq; Tue, 29 May 2012 14:50:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNkc-0005up-U0
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:50:23 +0000
Received: from [85.158.143.99:62576] by server-1.bemta-4.messagelabs.com id
	A5/27-00342-E22E4CF4; Tue, 29 May 2012 14:50:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338303020!30019689!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13323 invoked from network); 29 May 2012 14:50:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:50:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718260"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:50:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:50:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNkZ-0004Ar-PA; Tue, 29 May 2012 14:50:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNkZ-0004B0-OP;
	Tue, 29 May 2012 15:50:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57899.741924.469693@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:50:19 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-9-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-9-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 08/10] libxl: call hotplug scripts for disk devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.

Thanks.

> +static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
> +{
...
> +    /* Check if we have to execute hotplug scripts for this device
> +     * and return the necessary args/env vars for execution */
> +    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
> +                                             aodev->action);
> +    switch (hotplug) {
...
> +    default:
> +        /* everything else is an error */
> +        LOG(ERROR, "unable to get args/env to execute hotplug script for "
> +                   "device %s", libxl__device_backend_path(gc, aodev->dev));
> +        rc = ERROR_FAIL;

Again, `rc = hotplug' perhaps ?

> +    /* fork and execute hotplug script */
> +    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
> +                                      device_hotplug_fork_cb);
> +    if (aodev->pid == -1) {
> +        LOG(ERROR, "unable to fork");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    if (!aodev->pid) {
> +        /* child */
> +        libxl__exec(gc, -1, -1, -1, args[0], args, env);
> +        /* notreached */
> +        abort();
> +    }
> +
> +    if (!libxl__ev_child_inuse(&aodev->child)) {
> +        /* hotplug launch failed */
> +        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }

This isn't right.  After a successful libxl__ev_child_fork, the child
structure is definitely in use.  So an assert would be appropriate but
really this last stanza can just be removed.

> +    return;
> +
> +out:
> +    libxl__ev_time_deregister(gc, &aodev->ev);
> +    aodev->rc = rc;
> +    aodev->callback(egc, aodev);
> +    return;
> +}

Shouldn't something set aodev->state to FINISHED in this error path ?

It might be better to have a helper function to call when declaring
the aodev finished.  That helper function would also do the
_ev_time_deregister, and assert !libxl__ev_child_inuse.


> +static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
> +                                   pid_t pid, int status)

This shouldn't be called `fork_cb'.  It's a callback that happens when
the child dies, not when it forks.  I wouldn't call it `death_cb' or
`child_cb' or something.

> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
> +    STATE_AO_GC(aodev->ao);
> +
> +    if (libxl__ev_child_inuse(&aodev->child)) {
> +        if (kill(aodev->pid, SIGKILL)) {
> +            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
> +                                aodev->what, (unsigned long)aodev->pid);
> +            goto out;
> +        }
> +    }
> +
> +out:
> +    libxl__ev_time_deregister(gc, &aodev->ev);
> +    return;

You could profitably move that deregistration to the top of the
function.  That would save the goto.

Also libxl__ev_child_inuse should always be true here, surely ?  After
all we shouldn't have a timeout running unless we also have the
child.  So yo should assert libxl__ev_child_inuse.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 45b776c..da5b02b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +    /* device hotplug execution */
> +    pid_t pid;
> +    char *what;
> +    libxl__ev_time ev;
> +    libxl__ev_child child;

Is the pid inside child not sufficient ?

> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 925248b..98cd25f 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
> 
>      return 1;
>  }
> +
> +/* Hotplug scripts helpers */
> +
> +static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
> +{
...
> +    int nr = 0, arraysize = 9;

A nit, but here we see memetic leakage from the tyranny of
-Wdeclaration-after-statement.   Surely the definition of arraysize
would be better placed:

> +    script = libxl__xs_read(gc, XBT_NULL,
> +                            GCSPRINTF("%s/%s", be_path, "script"));
> +    if (!script) {
> +        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
> +        return NULL;
> +    }
> +

Here:

       const int arraysize = 9;

> +    GCNEW_ARRAY(env, arraysize);
> +    env[nr++] = "script";
> +    env[nr++] = script;
> +    env[nr++] = "XENBUS_TYPE";
> +    env[nr++] = libxl__strdup(gc, type);
> +    env[nr++] = "XENBUS_PATH";
> +    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
> +    env[nr++] = "XENBUS_BASE_PATH";
> +    env[nr++] = "backend";
> +    env[nr++] = NULL;
> +    assert(nr == arraysize);

> diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> index 9e0ed6d..0f2cdaa 100644
> --- a/tools/libxl/libxl_netbsd.c
> +++ b/tools/libxl/libxl_netbsd.c
> @@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
> 
>      return 0;
>  }
> +
> +/* Hotplug scripts caller functions */
> +
> +int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                   char ***args, char ***env,
> +                                   libxl__device_action action)
> +{
> +    return 0;
> +}
> \ No newline at end of file

That last complaint from diff should be fixed :-).

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:50:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:50:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNke-0005v0-Aq; Tue, 29 May 2012 14:50:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNkc-0005up-U0
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:50:23 +0000
Received: from [85.158.143.99:62576] by server-1.bemta-4.messagelabs.com id
	A5/27-00342-E22E4CF4; Tue, 29 May 2012 14:50:22 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338303020!30019689!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13323 invoked from network); 29 May 2012 14:50:21 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:50:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718260"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:50:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:50:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNkZ-0004Ar-PA; Tue, 29 May 2012 14:50:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNkZ-0004B0-OP;
	Tue, 29 May 2012 15:50:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.57899.741924.469693@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:50:19 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-9-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-9-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 08/10] libxl: call hotplug scripts for disk devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for disk devices, that should be called when the device is added or
> removed from a guest.

Thanks.

> +static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
> +{
...
> +    /* Check if we have to execute hotplug scripts for this device
> +     * and return the necessary args/env vars for execution */
> +    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
> +                                             aodev->action);
> +    switch (hotplug) {
...
> +    default:
> +        /* everything else is an error */
> +        LOG(ERROR, "unable to get args/env to execute hotplug script for "
> +                   "device %s", libxl__device_backend_path(gc, aodev->dev));
> +        rc = ERROR_FAIL;

Again, `rc = hotplug' perhaps ?

> +    /* fork and execute hotplug script */
> +    aodev->pid = libxl__ev_child_fork(gc, &aodev->child,
> +                                      device_hotplug_fork_cb);
> +    if (aodev->pid == -1) {
> +        LOG(ERROR, "unable to fork");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    if (!aodev->pid) {
> +        /* child */
> +        libxl__exec(gc, -1, -1, -1, args[0], args, env);
> +        /* notreached */
> +        abort();
> +    }
> +
> +    if (!libxl__ev_child_inuse(&aodev->child)) {
> +        /* hotplug launch failed */
> +        LOG(ERROR, "unable to launch hotplug script for device %s", be_path);
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }

This isn't right.  After a successful libxl__ev_child_fork, the child
structure is definitely in use.  So an assert would be appropriate but
really this last stanza can just be removed.

> +    return;
> +
> +out:
> +    libxl__ev_time_deregister(gc, &aodev->ev);
> +    aodev->rc = rc;
> +    aodev->callback(egc, aodev);
> +    return;
> +}

Shouldn't something set aodev->state to FINISHED in this error path ?

It might be better to have a helper function to call when declaring
the aodev finished.  That helper function would also do the
_ev_time_deregister, and assert !libxl__ev_child_inuse.


> +static void device_hotplug_fork_cb(libxl__egc *egc, libxl__ev_child *child,
> +                                   pid_t pid, int status)

This shouldn't be called `fork_cb'.  It's a callback that happens when
the child dies, not when it forks.  I wouldn't call it `death_cb' or
`child_cb' or something.

> +static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
> +                                      const struct timeval *requested_abs)
> +{
> +    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
> +    STATE_AO_GC(aodev->ao);
> +
> +    if (libxl__ev_child_inuse(&aodev->child)) {
> +        if (kill(aodev->pid, SIGKILL)) {
> +            LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
> +                                aodev->what, (unsigned long)aodev->pid);
> +            goto out;
> +        }
> +    }
> +
> +out:
> +    libxl__ev_time_deregister(gc, &aodev->ev);
> +    return;

You could profitably move that deregistration to the top of the
function.  That would save the goto.

Also libxl__ev_child_inuse should always be true here, surely ?  After
all we shouldn't have a timeout running unless we also have the
child.  So yo should assert libxl__ev_child_inuse.

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 45b776c..da5b02b 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> +    /* device hotplug execution */
> +    pid_t pid;
> +    char *what;
> +    libxl__ev_time ev;
> +    libxl__ev_child child;

Is the pid inside child not sufficient ?

> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 925248b..98cd25f 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -25,3 +25,101 @@ int libxl__try_phy_backend(mode_t st_mode)
> 
>      return 1;
>  }
> +
> +/* Hotplug scripts helpers */
> +
> +static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
> +{
...
> +    int nr = 0, arraysize = 9;

A nit, but here we see memetic leakage from the tyranny of
-Wdeclaration-after-statement.   Surely the definition of arraysize
would be better placed:

> +    script = libxl__xs_read(gc, XBT_NULL,
> +                            GCSPRINTF("%s/%s", be_path, "script"));
> +    if (!script) {
> +        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
> +        return NULL;
> +    }
> +

Here:

       const int arraysize = 9;

> +    GCNEW_ARRAY(env, arraysize);
> +    env[nr++] = "script";
> +    env[nr++] = script;
> +    env[nr++] = "XENBUS_TYPE";
> +    env[nr++] = libxl__strdup(gc, type);
> +    env[nr++] = "XENBUS_PATH";
> +    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
> +    env[nr++] = "XENBUS_BASE_PATH";
> +    env[nr++] = "backend";
> +    env[nr++] = NULL;
> +    assert(nr == arraysize);

> diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
> index 9e0ed6d..0f2cdaa 100644
> --- a/tools/libxl/libxl_netbsd.c
> +++ b/tools/libxl/libxl_netbsd.c
> @@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
> 
>      return 0;
>  }
> +
> +/* Hotplug scripts caller functions */
> +
> +int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
> +                                   char ***args, char ***env,
> +                                   libxl__device_action action)
> +{
> +    return 0;
> +}
> \ No newline at end of file

That last complaint from diff should be fixed :-).

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:51:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:51:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNli-00060J-PG; Tue, 29 May 2012 14:51:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNlh-00060A-4R
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:51:29 +0000
Received: from [85.158.138.51:54749] by server-2.bemta-3.messagelabs.com id
	20/BC-27819-072E4CF4; Tue, 29 May 2012 14:51:28 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338303087!29749485!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32510 invoked from network); 29 May 2012 14:51:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:51:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718274"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:50:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:50:44 +0100
Message-ID: <1338303042.14158.123.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Pasi =?ISO-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Date: Tue, 29 May 2012 15:50:42 +0100
In-Reply-To: <20120529144245.GI2058@reaktio.net>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
	<1338302336.14158.116.camel@zakaz.uk.xensource.com>
	<20120529144245.GI2058@reaktio.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCAyMDEyLTA1LTI5IGF0IDE1OjQyICswMTAwLCBQYXNpIEvDpHJra8OkaW5lbiB3cm90
ZToKPiBPbiBUdWUsIE1heSAyOSwgMjAxMiBhdCAwMzozODo1NlBNICswMTAwLCBJYW4gQ2FtcGJl
bGwgd3JvdGU6Cj4gPiBPbiBUdWUsIDIwMTItMDUtMjkgYXQgMTU6MzMgKzAxMDAsIFJlbiwgWW9u
Z2ppZSB3cm90ZToKPiA+ID4gU29ycnksIHBpbmcuLi4gCj4gPiA+IEFueSBzdWdnZXN0aW9ucz8g
IEFsc28gQ0MgSWFuIENhbXBiZWxsIGZvciBzdWdnZXN0aW9uLgo+ID4gCj4gPiBJIHRoaW5rIHRo
ZSBsYXRlc3Qga2VybmVsIGZyb20gdXBzdHJlYW0ncyBzdGFibGUgc2VyaWVzIHdvdWxkIGJlIGEK
PiA+IHJlYXNvbmFibGUgYmFzaXMgZm9yIHRlc3RpbmcgeGVuIG9uLgo+ID4gCj4gCj4gSSB0aGlu
ayB0aGUgdXBzdHJlYW0gTGludXggJ3N0YWJsZScgc2VyaWVzIGlzIDMuMC54IGN1cnJlbnRseT8K
Ck5vLCB0aGF0IGlzICJsb25ndGVybSIuIFN0YWJsZSBpcyBhbHdheXMgYSBicmFuY2ggb2YgdGhl
IG1vc3QgcmVjZW50CnJlbGVhc2UgZnJvbSBMaW51cywgaXQgc2VlbXMgdG8gYmUgMy4zLjcgcmln
aHQgbm93IGJ1dCB0aGVyZSB3aWxsIG5vCmRvdWJ0IGJlIGEgMy40LjEgcXVpdGUgc29vbi4gU3Rp
Y2tpbmcgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbiB1bnRpbAozLjQuMSBvciAzLjQuMiBtaWdo
dCBiZSB3aXNlLgoKSSdtIGFzc3VtaW5nIGhlcmUgdGhhdCB0aGUgcHJpbWFyeSBhaW0gaXMgdG8g
dGVzdCBYZW4gYW5kIG5vdApuZWNlc3NhcmlseSB0byB0ZXN0IGRvbTAgZGlyZWN0bHkuIElmIG9u
ZSB3YW50cyB0byBleHBsaWNpdGx5IHRlc3QgZG9tMAp0aGVuIHJ1bm5pbmcgTGludXMnIHRyZWUg
KG9uIGEga25vd24gZ29vZCBYZW4gYmFzZWxpbmUpIHNlZW1zIGxpa2UgdGhlCnJpZ2h0IGFuc3dl
ci4KCj4gTGludXggMy40LnggaXMgdGhlIGZpcnN0IGtlcm5lbCB3aXRoIFhlbiBBQ1BJIGNwdWZy
ZXEgLyBwb3dlciBtYW5hZ2VtZW50IHBhdGNoZXMgaW5jbHVkZWQsCj4gc28gaXQgbWFrZXMgc2Vu
c2UgdG8gdXNlIDMuNCsgPwoKWW9uZ2ppZSBkaWRuJ3QgZXhwcmVzcyBhbnkgaW50ZXJlc3QgaW4g
YSBwYXJ0aWN1bGFyIGZlYXR1cmUsIHNvIG15CmFkdmljZSB3YXMgbW9yZSBnZW5lcmFsLgoKSWFu
LgoKCj4gCj4gCj4gLS0gUGFzaQo+IAo+IAo+ID4gPiAKPiA+ID4gQmVzdCBSZWdhcmRzLAo+ID4g
PiAgICAgIFlvbmdqaWUgKEpheSkKPiA+ID4gCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl
LS0tLS0KPiA+ID4gPiBGcm9tOiB4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnCj4gPiA+
ID4gW21haWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2Yg
UmVuLCBZb25namllCj4gPiA+ID4gU2VudDogTW9uZGF5LCBNYXkgMjgsIDIwMTIgNDowNSBQTQo+
ID4gPiA+IFRvOiBpYW4uamFja3NvbkBldS5jaXRyaXguY29tCj4gPiA+ID4gQ2M6IHhlbi1kZXZl
bEBsaXN0cy54ZW4ub3JnCj4gPiA+ID4gU3ViamVjdDogW1hlbi1kZXZlbF0gd2hpY2ggRG9tMCBz
aG91bGQgSSB1c2UgaW4gbXkgcmVndWxhciB0ZXN0aW5nPwo+ID4gPiA+IAo+ID4gPiA+IEhpIEph
Y2tzb24sCj4gPiA+ID4gT3VyIHRlYW0gc3BhcmVzIHNvbWUgZWZmb3J0IGluIHJlZ3VsYXIgdGVz
dGluZyBhZ2FpbnN0IHhlbi11bnN0YWJsZSB0cmVlLgo+ID4gPiA+IEkga25vdyB5b3UgYXJlIGRv
aW5nIHNvbWUgdGVzdGluZyBhZ2FpbnN0IHhlbi4KPiA+ID4gPiBXaGljaCBEb20wIGFyZSB5b3Ug
dXNpbmcgaW4geW91ciBvc3MgdGVzdCwgS29ucmFkJ3MgeGVuLmdpdCBvciB1cHN0cmVhbQo+ID4g
PiA+IGxpbnV4LmdpdCA/Cj4gPiA+ID4gQW5kIHdoaWNoIERvbTAgZG8geW91IHJlY29tbWVuZCBp
biBteSByZWd1bGFyIHRlc3Rpbmc/Cj4gPiA+ID4gKE5vdCBzdXJlIHlvdSBhcmUgdGhlIHJpZ2h0
IHBlcnNvbiBmb3IgdGhpcyBxdWVzdGlvbj8gOi0pICkKPiA+ID4gPiAKPiA+ID4gPiBCZXN0IFJl
Z2FyZHMsCj4gPiA+ID4gICAgICBZb25namllIChKYXkpCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+
ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4g
PiBYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+ID4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
PiA+ID4gPiBodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKPiA+IAo+ID4gCj4gPiAKPiA+
IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+ID4gaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz
Lnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 29 14:51:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:51:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNli-00060J-PG; Tue, 29 May 2012 14:51:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNlh-00060A-4R
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:51:29 +0000
Received: from [85.158.138.51:54749] by server-2.bemta-3.messagelabs.com id
	20/BC-27819-072E4CF4; Tue, 29 May 2012 14:51:28 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338303087!29749485!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32510 invoked from network); 29 May 2012 14:51:27 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:51:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718274"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:50:44 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 15:50:44 +0100
Message-ID: <1338303042.14158.123.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Pasi =?ISO-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
Date: Tue, 29 May 2012 15:50:42 +0100
In-Reply-To: <20120529144245.GI2058@reaktio.net>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
	<1338302336.14158.116.camel@zakaz.uk.xensource.com>
	<20120529144245.GI2058@reaktio.net>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Ren, Yongjie" <yongjie.ren@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

T24gVHVlLCAyMDEyLTA1LTI5IGF0IDE1OjQyICswMTAwLCBQYXNpIEvDpHJra8OkaW5lbiB3cm90
ZToKPiBPbiBUdWUsIE1heSAyOSwgMjAxMiBhdCAwMzozODo1NlBNICswMTAwLCBJYW4gQ2FtcGJl
bGwgd3JvdGU6Cj4gPiBPbiBUdWUsIDIwMTItMDUtMjkgYXQgMTU6MzMgKzAxMDAsIFJlbiwgWW9u
Z2ppZSB3cm90ZToKPiA+ID4gU29ycnksIHBpbmcuLi4gCj4gPiA+IEFueSBzdWdnZXN0aW9ucz8g
IEFsc28gQ0MgSWFuIENhbXBiZWxsIGZvciBzdWdnZXN0aW9uLgo+ID4gCj4gPiBJIHRoaW5rIHRo
ZSBsYXRlc3Qga2VybmVsIGZyb20gdXBzdHJlYW0ncyBzdGFibGUgc2VyaWVzIHdvdWxkIGJlIGEK
PiA+IHJlYXNvbmFibGUgYmFzaXMgZm9yIHRlc3RpbmcgeGVuIG9uLgo+ID4gCj4gCj4gSSB0aGlu
ayB0aGUgdXBzdHJlYW0gTGludXggJ3N0YWJsZScgc2VyaWVzIGlzIDMuMC54IGN1cnJlbnRseT8K
Ck5vLCB0aGF0IGlzICJsb25ndGVybSIuIFN0YWJsZSBpcyBhbHdheXMgYSBicmFuY2ggb2YgdGhl
IG1vc3QgcmVjZW50CnJlbGVhc2UgZnJvbSBMaW51cywgaXQgc2VlbXMgdG8gYmUgMy4zLjcgcmln
aHQgbm93IGJ1dCB0aGVyZSB3aWxsIG5vCmRvdWJ0IGJlIGEgMy40LjEgcXVpdGUgc29vbi4gU3Rp
Y2tpbmcgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbiB1bnRpbAozLjQuMSBvciAzLjQuMiBtaWdo
dCBiZSB3aXNlLgoKSSdtIGFzc3VtaW5nIGhlcmUgdGhhdCB0aGUgcHJpbWFyeSBhaW0gaXMgdG8g
dGVzdCBYZW4gYW5kIG5vdApuZWNlc3NhcmlseSB0byB0ZXN0IGRvbTAgZGlyZWN0bHkuIElmIG9u
ZSB3YW50cyB0byBleHBsaWNpdGx5IHRlc3QgZG9tMAp0aGVuIHJ1bm5pbmcgTGludXMnIHRyZWUg
KG9uIGEga25vd24gZ29vZCBYZW4gYmFzZWxpbmUpIHNlZW1zIGxpa2UgdGhlCnJpZ2h0IGFuc3dl
ci4KCj4gTGludXggMy40LnggaXMgdGhlIGZpcnN0IGtlcm5lbCB3aXRoIFhlbiBBQ1BJIGNwdWZy
ZXEgLyBwb3dlciBtYW5hZ2VtZW50IHBhdGNoZXMgaW5jbHVkZWQsCj4gc28gaXQgbWFrZXMgc2Vu
c2UgdG8gdXNlIDMuNCsgPwoKWW9uZ2ppZSBkaWRuJ3QgZXhwcmVzcyBhbnkgaW50ZXJlc3QgaW4g
YSBwYXJ0aWN1bGFyIGZlYXR1cmUsIHNvIG15CmFkdmljZSB3YXMgbW9yZSBnZW5lcmFsLgoKSWFu
LgoKCj4gCj4gCj4gLS0gUGFzaQo+IAo+IAo+ID4gPiAKPiA+ID4gQmVzdCBSZWdhcmRzLAo+ID4g
PiAgICAgIFlvbmdqaWUgKEpheSkKPiA+ID4gCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl
LS0tLS0KPiA+ID4gPiBGcm9tOiB4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnCj4gPiA+
ID4gW21haWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2Yg
UmVuLCBZb25namllCj4gPiA+ID4gU2VudDogTW9uZGF5LCBNYXkgMjgsIDIwMTIgNDowNSBQTQo+
ID4gPiA+IFRvOiBpYW4uamFja3NvbkBldS5jaXRyaXguY29tCj4gPiA+ID4gQ2M6IHhlbi1kZXZl
bEBsaXN0cy54ZW4ub3JnCj4gPiA+ID4gU3ViamVjdDogW1hlbi1kZXZlbF0gd2hpY2ggRG9tMCBz
aG91bGQgSSB1c2UgaW4gbXkgcmVndWxhciB0ZXN0aW5nPwo+ID4gPiA+IAo+ID4gPiA+IEhpIEph
Y2tzb24sCj4gPiA+ID4gT3VyIHRlYW0gc3BhcmVzIHNvbWUgZWZmb3J0IGluIHJlZ3VsYXIgdGVz
dGluZyBhZ2FpbnN0IHhlbi11bnN0YWJsZSB0cmVlLgo+ID4gPiA+IEkga25vdyB5b3UgYXJlIGRv
aW5nIHNvbWUgdGVzdGluZyBhZ2FpbnN0IHhlbi4KPiA+ID4gPiBXaGljaCBEb20wIGFyZSB5b3Ug
dXNpbmcgaW4geW91ciBvc3MgdGVzdCwgS29ucmFkJ3MgeGVuLmdpdCBvciB1cHN0cmVhbQo+ID4g
PiA+IGxpbnV4LmdpdCA/Cj4gPiA+ID4gQW5kIHdoaWNoIERvbTAgZG8geW91IHJlY29tbWVuZCBp
biBteSByZWd1bGFyIHRlc3Rpbmc/Cj4gPiA+ID4gKE5vdCBzdXJlIHlvdSBhcmUgdGhlIHJpZ2h0
IHBlcnNvbiBmb3IgdGhpcyBxdWVzdGlvbj8gOi0pICkKPiA+ID4gPiAKPiA+ID4gPiBCZXN0IFJl
Z2FyZHMsCj4gPiA+ID4gICAgICBZb25namllIChKYXkpCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+
ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4g
PiBYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+ID4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK
PiA+ID4gPiBodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKPiA+IAo+ID4gCj4gPiAKPiA+
IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBYZW4t
ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+ID4gaHR0cDov
L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz
Lnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 29 14:55:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:55:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNox-0006Ff-D6; Tue, 29 May 2012 14:54:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZNow-0006FT-4n
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:54:50 +0000
Received: from [85.158.143.99:16443] by server-1.bemta-4.messagelabs.com id
	5F/D0-00342-933E4CF4; Tue, 29 May 2012 14:54:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1338303287!25072050!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20931 invoked from network); 29 May 2012 14:54:48 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 14:54:48 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TEsUnJ018108
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 14:54:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TEsTxl022899
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 14:54:29 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TEsSRE013190; Tue, 29 May 2012 09:54:28 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 07:54:28 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0CE7140290; Tue, 29 May 2012 10:47:44 -0400 (EDT)
Date: Tue, 29 May 2012 10:47:43 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Hugh Dickins <hughd@google.com>
Message-ID: <20120529144743.GG3558@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, William Dauchy <wdauchy@gmail.com>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 26, 2012 at 11:29:37AM -0700, Hugh Dickins wrote:
> On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> > On Mon, May 21, 2012 at 12:30:45AM +0200, William Dauchy wrote:
> > > Hello,
> > > 
> > > On Xen, when booting a guest with a system disk and an additional swap
> > > disk I'm getting a calltrace.
> > > xen hypervisor: 4.1.2; linux dom0: v3.3.6; linux guest: v3.2.17
> > > When booting without a swap disk, I don't have the issue.
> > > I also tested a guest with v3.3.6: same problem. But from v3.4-rc2,
> > > the issue is fixed.
> > > I cherry-picked:
> > 
> > > 052b198 swap: don't do discard if no discard option added
> > 
> > So you are asking for 052b198 to be back-ported.
> > 
> > I am OK with that but I think Shaohua needs to Ack that and
> > ask Greg to put it on stable@kernel.org
> 
> Since that commit did indeed go into v3.4, I won't quarrel with it
> now going to stable.
> 
> But the commit went in to work around the slow discard implementation
> on OCZ Vertex II SSDs.
> 
> Please, could someone explain to me the meaning of the stacktrace
> below (which is missing a WARNING or BUG line?), and how disabling
> swap discard fixes it?

I think I know and just narrowed down the issue this Friday.

William, could you please apply the patch outlined in
https://bugzilla.redhat.com/show_bug.cgi?id=824641
to your dom0 and see if that (so do not have 052b198 in your branch)

> 
> At present I see no connection (beyond the fact that the patch fixes
> the symptom): in the absence of understanding, I have to beware that
> the underlying issue may remain unfixed.

<nods>
> 
> Hugh
> 
> > 
> > 
> > 
> > > Applied and tested on top of v3.2.17 and v3.3.6, it fixes the issue.
> > > 
> > > Pid: 0, comm: swapper/0 Not tainted 3.2.17-x86_64 #12
> > > Call Trace:
> > >  <IRQ>
> > >  [<ffffffff810919da>] ? handle_irq_event_percpu+0x3a/0x140
> > >  [<ffffffff81091b29>] ? handle_irq_event+0x49/0x80
> > >  [<ffffffff81094e7d>] ? handle_edge_irq+0x6d/0x120
> > >  [<ffffffff81229088>] ? __xen_evtchn_do_upcall+0x1b8/0x280
> > >  [<ffffffff8122a442>] ? xen_evtchn_do_upcall+0x22/0x40
> > >  [<ffffffff8133f4fe>] ? xen_do_hypervisor_callback+0x1e/0x30
> > >  <EOI>
> > >  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
> > >  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
> > >  [<ffffffff8100768c>] ? xen_safe_halt+0xc/0x20
> > >  [<ffffffff81013563>] ? default_idle+0x23/0x40
> > >  [<ffffffff8100b073>] ? cpu_idle+0x63/0xb0
> > >  [<ffffffff81654c43>] ? start_kernel+0x362/0x36d
> > >  [<ffffffff81657491>] ? xen_start_kernel+0x558/0x55e
> > > Code: 39 ed 0f 84 1c 02 00 00 44 8b 7b 48 4c 8b 73 50 41 83 ef 01 41
> > > 21 ef 49 6b c7 70 4d 8b 64 06 40 49 69 c4 d0 00 00 00 48 8d 14 03 <48>
> > > 8b 8a 78 02 00 00 48 89 4c 24 10 80 ba 09 02 00 00 00 74 6d
> > > RIP  [<ffffffff8125ed66>] blkif_interrupt+0x66/0x320
> > >  RSP <ffff88001fc03e18>
> > > ---[ end trace dfd4e5623eb06620 ]---
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:55:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:55:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNox-0006Ff-D6; Tue, 29 May 2012 14:54:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZNow-0006FT-4n
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 14:54:50 +0000
Received: from [85.158.143.99:16443] by server-1.bemta-4.messagelabs.com id
	5F/D0-00342-933E4CF4; Tue, 29 May 2012 14:54:49 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1338303287!25072050!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20931 invoked from network); 29 May 2012 14:54:48 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 14:54:48 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TEsUnJ018108
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 14:54:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TEsTxl022899
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 14:54:29 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TEsSRE013190; Tue, 29 May 2012 09:54:28 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 07:54:28 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 0CE7140290; Tue, 29 May 2012 10:47:44 -0400 (EDT)
Date: Tue, 29 May 2012 10:47:43 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Hugh Dickins <hughd@google.com>
Message-ID: <20120529144743.GG3558@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	shli@fusionio.com, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, William Dauchy <wdauchy@gmail.com>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Sat, May 26, 2012 at 11:29:37AM -0700, Hugh Dickins wrote:
> On Mon, 21 May 2012, Konrad Rzeszutek Wilk wrote:
> > On Mon, May 21, 2012 at 12:30:45AM +0200, William Dauchy wrote:
> > > Hello,
> > > 
> > > On Xen, when booting a guest with a system disk and an additional swap
> > > disk I'm getting a calltrace.
> > > xen hypervisor: 4.1.2; linux dom0: v3.3.6; linux guest: v3.2.17
> > > When booting without a swap disk, I don't have the issue.
> > > I also tested a guest with v3.3.6: same problem. But from v3.4-rc2,
> > > the issue is fixed.
> > > I cherry-picked:
> > 
> > > 052b198 swap: don't do discard if no discard option added
> > 
> > So you are asking for 052b198 to be back-ported.
> > 
> > I am OK with that but I think Shaohua needs to Ack that and
> > ask Greg to put it on stable@kernel.org
> 
> Since that commit did indeed go into v3.4, I won't quarrel with it
> now going to stable.
> 
> But the commit went in to work around the slow discard implementation
> on OCZ Vertex II SSDs.
> 
> Please, could someone explain to me the meaning of the stacktrace
> below (which is missing a WARNING or BUG line?), and how disabling
> swap discard fixes it?

I think I know and just narrowed down the issue this Friday.

William, could you please apply the patch outlined in
https://bugzilla.redhat.com/show_bug.cgi?id=824641
to your dom0 and see if that (so do not have 052b198 in your branch)

> 
> At present I see no connection (beyond the fact that the patch fixes
> the symptom): in the absence of understanding, I have to beware that
> the underlying issue may remain unfixed.

<nods>
> 
> Hugh
> 
> > 
> > 
> > 
> > > Applied and tested on top of v3.2.17 and v3.3.6, it fixes the issue.
> > > 
> > > Pid: 0, comm: swapper/0 Not tainted 3.2.17-x86_64 #12
> > > Call Trace:
> > >  <IRQ>
> > >  [<ffffffff810919da>] ? handle_irq_event_percpu+0x3a/0x140
> > >  [<ffffffff81091b29>] ? handle_irq_event+0x49/0x80
> > >  [<ffffffff81094e7d>] ? handle_edge_irq+0x6d/0x120
> > >  [<ffffffff81229088>] ? __xen_evtchn_do_upcall+0x1b8/0x280
> > >  [<ffffffff8122a442>] ? xen_evtchn_do_upcall+0x22/0x40
> > >  [<ffffffff8133f4fe>] ? xen_do_hypervisor_callback+0x1e/0x30
> > >  <EOI>
> > >  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
> > >  [<ffffffff810013aa>] ? hypercall_page+0x3aa/0x1000
> > >  [<ffffffff8100768c>] ? xen_safe_halt+0xc/0x20
> > >  [<ffffffff81013563>] ? default_idle+0x23/0x40
> > >  [<ffffffff8100b073>] ? cpu_idle+0x63/0xb0
> > >  [<ffffffff81654c43>] ? start_kernel+0x362/0x36d
> > >  [<ffffffff81657491>] ? xen_start_kernel+0x558/0x55e
> > > Code: 39 ed 0f 84 1c 02 00 00 44 8b 7b 48 4c 8b 73 50 41 83 ef 01 41
> > > 21 ef 49 6b c7 70 4d 8b 64 06 40 49 69 c4 d0 00 00 00 48 8d 14 03 <48>
> > > 8b 8a 78 02 00 00 48 89 4c 24 10 80 ba 09 02 00 00 00 74 6d
> > > RIP  [<ffffffff8125ed66>] blkif_interrupt+0x66/0x320
> > >  RSP <ffff88001fc03e18>
> > > ---[ end trace dfd4e5623eb06620 ]---
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:57:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:57:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNre-0006SS-46; Tue, 29 May 2012 14:57:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNrc-0006SL-62
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:57:36 +0000
Received: from [85.158.139.83:45319] by server-1.bemta-5.messagelabs.com id
	A5/C1-21549-FD3E4CF4; Tue, 29 May 2012 14:57:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338303453!30877847!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19083 invoked from network); 29 May 2012 14:57:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:57:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:57:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:57:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNrY-0004D4-Vp; Tue, 29 May 2012 14:57:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNrY-0004BX-Ux;
	Tue, 29 May 2012 15:57:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58332.941540.594569@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:57:32 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-10-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-10-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 09/10] libxl: call hotplug scripts for
 nic devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 09/10] libxl: call hotplug scripts for nic devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for nic devices, that should be called when the device is added or
> removed from a guest.
> 
> Changes since v2:
> 
>  * Change libxl__nic_type to return the value in a parameter passed by
>    the caller.
> 
>  * Rename vif_execute to num_exec, to represent the number of times
>    hotplug scripts have been called for that device.

This observation needs to be reworked into a suitable form and placed
as a comment here in the code:

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index da5b02b..766f1f3 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> @@ -1860,7 +1863,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
>   */
>  _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
>                                             char ***args, char ***env,
> -                                           libxl__device_action action);
> +                                           libxl__device_action action,
> +                                           int num_exec);

And the semantics need to be clearly explained.  In particular, this
is an interface that is supposed to be implemented by multiple
providers for different platforms.

I _think_ what is happening is that `num_exec' is always 0 for
everything but vifs.  For vifs libxl__get_hotplug_script_info is
always called with num_exec==0 for the actual PV vif (Xen PV
interface) but may also be called with num_exec==1 for the ioemu
device, but I may be wrong.

> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 98cd25f..e1e2abe 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -34,7 +34,8 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
...
> +static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
> +                               char ***args, char ***env,
> +                               libxl__device_action action, int num_exec)
...
> +    switch (nictype) {
> +    case LIBXL_NIC_TYPE_IOEMU:
> +        if (num_exec == 0) goto execute_vif;

Urgh!  This is a pretty nasty use of goto.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:57:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:57:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNre-0006SS-46; Tue, 29 May 2012 14:57:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNrc-0006SL-62
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:57:36 +0000
Received: from [85.158.139.83:45319] by server-1.bemta-5.messagelabs.com id
	A5/C1-21549-FD3E4CF4; Tue, 29 May 2012 14:57:35 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338303453!30877847!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19083 invoked from network); 29 May 2012 14:57:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:57:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718481"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:57:33 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:57:33 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNrY-0004D4-Vp; Tue, 29 May 2012 14:57:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNrY-0004BX-Ux;
	Tue, 29 May 2012 15:57:32 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58332.941540.594569@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:57:32 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-10-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-10-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 09/10] libxl: call hotplug scripts for
 nic devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 09/10] libxl: call hotplug scripts for nic devices from libxl"):
> Since most of the needed work is already done in previous patches,
> this patch only contains the necessary code to call hotplug scripts
> for nic devices, that should be called when the device is added or
> removed from a guest.
> 
> Changes since v2:
> 
>  * Change libxl__nic_type to return the value in a parameter passed by
>    the caller.
> 
>  * Rename vif_execute to num_exec, to represent the number of times
>    hotplug scripts have been called for that device.

This observation needs to be reworked into a suitable form and placed
as a comment here in the code:

> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index da5b02b..766f1f3 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
...
> @@ -1860,7 +1863,8 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
>   */
>  _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
>                                             char ***args, char ***env,
> -                                           libxl__device_action action);
> +                                           libxl__device_action action,
> +                                           int num_exec);

And the semantics need to be clearly explained.  In particular, this
is an interface that is supposed to be implemented by multiple
providers for different platforms.

I _think_ what is happening is that `num_exec' is always 0 for
everything but vifs.  For vifs libxl__get_hotplug_script_info is
always called with num_exec==0 for the actual PV vif (Xen PV
interface) but may also be called with num_exec==1 for the ioemu
device, but I may be wrong.

> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 98cd25f..e1e2abe 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -34,7 +34,8 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
...
> +static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
> +                               char ***args, char ***env,
> +                               libxl__device_action action, int num_exec)
...
> +    switch (nictype) {
> +    case LIBXL_NIC_TYPE_IOEMU:
> +        if (num_exec == 0) goto execute_vif;

Urgh!  This is a pretty nasty use of goto.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:58:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNsJ-0006VV-Hc; Tue, 29 May 2012 14:58:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNsI-0006VL-3f
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:58:18 +0000
Received: from [85.158.139.83:49212] by server-6.bemta-5.messagelabs.com id
	77/C5-31790-904E4CF4; Tue, 29 May 2012 14:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338303496!23744680!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14448 invoked from network); 29 May 2012 14:58:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718504"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNsF-0004DN-S7; Tue, 29 May 2012 14:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNsF-0004Bm-RR;
	Tue, 29 May 2012 15:58:15 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58375.836577.74427@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:58:15 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-11-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-11-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 10/10] libxl: use libxl__xs_path_cleanup
	on device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 10/10] libxl: use libxl__xs_path_cleanup on device_destroy"):
> Since the hotplug script that was in charge of cleaning the backend is
> no longer launched, we need to clean the backend by ourselves, so use
> libxl__xs_path_cleanup instead of xs_rm.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

But see my comments earlier about wanting to give this function a
different name.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:58:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNsJ-0006VV-Hc; Tue, 29 May 2012 14:58:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNsI-0006VL-3f
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:58:18 +0000
Received: from [85.158.139.83:49212] by server-6.bemta-5.messagelabs.com id
	77/C5-31790-904E4CF4; Tue, 29 May 2012 14:58:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338303496!23744680!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14448 invoked from network); 29 May 2012 14:58:16 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:58:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718504"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:58:16 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:58:16 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNsF-0004DN-S7; Tue, 29 May 2012 14:58:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNsF-0004Bm-RR;
	Tue, 29 May 2012 15:58:15 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58375.836577.74427@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:58:15 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1337855045-10428-11-git-send-email-roger.pau@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-11-git-send-email-roger.pau@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 10/10] libxl: use libxl__xs_path_cleanup
	on device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("[PATCH v4 10/10] libxl: use libxl__xs_path_cleanup on device_destroy"):
> Since the hotplug script that was in charge of cleaning the backend is
> no longer launched, we need to clean the backend by ourselves, so use
> libxl__xs_path_cleanup instead of xs_rm.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

But see my comments earlier about wanting to give this function a
different name.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:59:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:59:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNtD-0006bC-Vk; Tue, 29 May 2012 14:59:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNtD-0006b3-6K
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:59:15 +0000
Received: from [85.158.139.83:9195] by server-11.bemta-5.messagelabs.com id
	27/EC-12711-244E4CF4; Tue, 29 May 2012 14:59:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338303553!27005581!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31608 invoked from network); 29 May 2012 14:59:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:59:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718524"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:59:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:59:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNtB-0004Di-4w; Tue, 29 May 2012 14:59:13 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNtB-0004Bv-4C;
	Tue, 29 May 2012 15:59:13 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58433.75457.437027@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:59:13 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
References: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: remove lockdir and config dir from
	the API
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] libxl: remove lockdir and config dir from the API"):
> libxl: remove lockdir and config dir from the API

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 14:59:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 14:59:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNtD-0006bC-Vk; Tue, 29 May 2012 14:59:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNtD-0006b3-6K
	for xen-devel@lists.xen.org; Tue, 29 May 2012 14:59:15 +0000
Received: from [85.158.139.83:9195] by server-11.bemta-5.messagelabs.com id
	27/EC-12711-244E4CF4; Tue, 29 May 2012 14:59:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338303553!27005581!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31608 invoked from network); 29 May 2012 14:59:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 14:59:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718524"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 14:59:13 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 15:59:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNtB-0004Di-4w; Tue, 29 May 2012 14:59:13 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNtB-0004Bv-4C;
	Tue, 29 May 2012 15:59:13 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58433.75457.437027@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 15:59:13 +0100
To: Ian Campbell <ian.campbell@citrix.com>
In-Reply-To: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
References: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: remove lockdir and config dir from
	the API
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("[PATCH] libxl: remove lockdir and config dir from the API"):
> libxl: remove lockdir and config dir from the API

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:02:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNwE-0006sF-JJ; Tue, 29 May 2012 15:02:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNwD-0006s6-85
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:02:21 +0000
Received: from [85.158.143.99:5754] by server-2.bemta-4.messagelabs.com id
	7D/7D-12211-CF4E4CF4; Tue, 29 May 2012 15:02:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338303739!19157106!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7843 invoked from network); 29 May 2012 15:02:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:02:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718606"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:02:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:02:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNwB-0004Ej-4B; Tue, 29 May 2012 15:02:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNwB-0004C9-2c;
	Tue, 29 May 2012 16:02:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58614.943975.416524@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:02:14 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338302817.14158.120.camel@zakaz.uk.xensource.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
	<1338302817.14158.120.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default"):
> On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
...
> > I'm a bit confused about all this, I confess.  What does xend do ?
> > 
> > ATM it seems that this change would mean that a guest config file
> > specified in the most obvious way wouldn't get an emulated nic at
> > all.  That can't be right, can it ?
> 
> It's confusingly named.
> 
> IOEMU -> emulated only on HVM, meaningless on PV.
> VIF   -> both emulated and PV (on HVM) or just PV (on PV)
> 
> So a default of "VIF" is what you normally want.

Oh!

Perhaps we could rename the enum values (and disrupt everyone's
patches) to fix this before we call the API stable.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:02:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNwE-0006sF-JJ; Tue, 29 May 2012 15:02:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZNwD-0006s6-85
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:02:21 +0000
Received: from [85.158.143.99:5754] by server-2.bemta-4.messagelabs.com id
	7D/7D-12211-CF4E4CF4; Tue, 29 May 2012 15:02:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338303739!19157106!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7843 invoked from network); 29 May 2012 15:02:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:02:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718606"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:02:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:02:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZNwB-0004Ej-4B; Tue, 29 May 2012 15:02:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZNwB-0004C9-2c;
	Tue, 29 May 2012 16:02:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.58614.943975.416524@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:02:14 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338302817.14158.120.camel@zakaz.uk.xensource.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
	<1338302817.14158.120.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default"):
> On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
...
> > I'm a bit confused about all this, I confess.  What does xend do ?
> > 
> > ATM it seems that this change would mean that a guest config file
> > specified in the most obvious way wouldn't get an emulated nic at
> > all.  That can't be right, can it ?
> 
> It's confusingly named.
> 
> IOEMU -> emulated only on HVM, meaningless on PV.
> VIF   -> both emulated and PV (on HVM) or just PV (on PV)
> 
> So a default of "VIF" is what you normally want.

Oh!

Perhaps we could rename the enum values (and disrupt everyone's
patches) to fix this before we call the API stable.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:03:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:03:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNxM-0006yF-1l; Tue, 29 May 2012 15:03:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZNxK-0006y3-PE
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:03:30 +0000
Received: from [85.158.139.83:47053] by server-3.bemta-5.messagelabs.com id
	28/67-29112-245E4CF4; Tue, 29 May 2012 15:03:30 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338303809!27087618!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14859 invoked from network); 29 May 2012 15:03:29 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:03:29 -0000
Received: by eekd41 with SMTP id d41so1241969eek.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 08:03:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=rgFmv1PhvnCnERPlOIRnXdV4yu0jiruD/bqGxA4VqoI=;
	b=PnqdnnEdh0QfssAxJlU/Jq7L279ltrx3txHVwGbyjyavatVuzXXvR/Il1lRU2kbvY/
	B7DIqydEOWxkxfXbjzwhhZ8lp4kquc55b1Cc5G2/b8Nx9XdIpuXYFZbAqXZSfcUyfHDZ
	7gEw7/d0ld7LX9wZckjumQvjSj/VU7rQvWYrmdI2PcsSInxT0x6U5TO5c8InUUwijX/G
	qU4/J22RZPkIV0Tsjc1tEaqkdTcLZekwNE1ieQXVr6W4MKfeaAfSFr6u9qctzhI6CAqz
	zOZBvMwc9YFeGzTyUO4/g/0xLtmR/N5lek/fCnh+K0Jbbj36FPbgYEXou+AxoDjMTicl
	MFmw==
Received: by 10.14.99.10 with SMTP id w10mr4542148eef.175.1338303809227;
	Tue, 29 May 2012 08:03:29 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id u10sm49825592eem.1.2012.05.29.08.03.26
	(version=SSLv3 cipher=OTHER); Tue, 29 May 2012 08:03:28 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 29 May 2012 16:03:18 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <CBEAA3C6.346CC%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] Xen 4.2 TODO / Release
Thread-Index: Ac09rC4OWVJEsh5N8Ue7WBkDlLznLA==
In-Reply-To: <4FC4A1A80200007800086845@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/2012 09:15, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 28.05.12 at 11:23, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> hypervisor, nice to have:
> 
> * Grant table patches posted at the end of last week (no feedback
> so far).

Are they really for 4.2 at this point?

 -- Keir

> Jan
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:03:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:03:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNxM-0006yF-1l; Tue, 29 May 2012 15:03:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZNxK-0006y3-PE
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:03:30 +0000
Received: from [85.158.139.83:47053] by server-3.bemta-5.messagelabs.com id
	28/67-29112-245E4CF4; Tue, 29 May 2012 15:03:30 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338303809!27087618!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14859 invoked from network); 29 May 2012 15:03:29 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:03:29 -0000
Received: by eekd41 with SMTP id d41so1241969eek.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 08:03:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=rgFmv1PhvnCnERPlOIRnXdV4yu0jiruD/bqGxA4VqoI=;
	b=PnqdnnEdh0QfssAxJlU/Jq7L279ltrx3txHVwGbyjyavatVuzXXvR/Il1lRU2kbvY/
	B7DIqydEOWxkxfXbjzwhhZ8lp4kquc55b1Cc5G2/b8Nx9XdIpuXYFZbAqXZSfcUyfHDZ
	7gEw7/d0ld7LX9wZckjumQvjSj/VU7rQvWYrmdI2PcsSInxT0x6U5TO5c8InUUwijX/G
	qU4/J22RZPkIV0Tsjc1tEaqkdTcLZekwNE1ieQXVr6W4MKfeaAfSFr6u9qctzhI6CAqz
	zOZBvMwc9YFeGzTyUO4/g/0xLtmR/N5lek/fCnh+K0Jbbj36FPbgYEXou+AxoDjMTicl
	MFmw==
Received: by 10.14.99.10 with SMTP id w10mr4542148eef.175.1338303809227;
	Tue, 29 May 2012 08:03:29 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id u10sm49825592eem.1.2012.05.29.08.03.26
	(version=SSLv3 cipher=OTHER); Tue, 29 May 2012 08:03:28 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Tue, 29 May 2012 16:03:18 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <CBEAA3C6.346CC%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] Xen 4.2 TODO / Release
Thread-Index: Ac09rC4OWVJEsh5N8Ue7WBkDlLznLA==
In-Reply-To: <4FC4A1A80200007800086845@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/2012 09:15, "Jan Beulich" <JBeulich@suse.com> wrote:

>>>> On 28.05.12 at 11:23, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> hypervisor, nice to have:
> 
> * Grant table patches posted at the end of last week (no feedback
> so far).

Are they really for 4.2 at this point?

 -- Keir

> Jan
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:03:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:03:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNxT-0006zY-E3; Tue, 29 May 2012 15:03:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNxR-0006z8-QJ
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:03:38 +0000
Received: from [85.158.143.35:56464] by server-2.bemta-4.messagelabs.com id
	AB/00-12211-945E4CF4; Tue, 29 May 2012 15:03:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338303815!14638888!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26298 invoked from network); 29 May 2012 15:03:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:03:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718643"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:03:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:03:35 +0100
Message-ID: <1338303814.14158.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 16:03:34 +0100
In-Reply-To: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:48 +0100, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Ian Campbell wrote:
> > > On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > > > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> > > >       * needed by the soon to be started domain and do nothing.
> > > >       */
> > > >  
> > > > +    free(disk->pdev_path);
> > > > +    free(disk->script);
> > > 
> > > This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> > > member, is that deliberate?
> > 
> > I think it is a mistake: all these strings used to be allocated on the
> > gc, on previous versions of the series. However meanwhile the event
> > series went in, changing completely libxl__bootloader_run (that is the
> > caller of libxl__device_disk_local_attach).
> > Allocating stuff on the gc is not correct anymore, so now they need to
> > be explicitly freed. I think I should call libxl_device_disk_dispose
> > here and strdup in libxl__device_disk_local_attach to make sure vdev is
> > not on the gc.
> 
> The appended patch switches back the behavior to what we had in v5 and
> before: pdev_path, script, and vdev are all allocated on the gc,
> therefore freed automatically.

Thanks, this looks good to me.

If I slot this in in the place of the original will the rest of the
series apply or shall I wait for a resend/retest?

Ian.

> 
> 
> ---
> 
> libxl: libxl__device_disk_local_attach return a new libxl_device_disk
> 
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
> 
> Changes in v9:
> - allocate pdev_path, script, and vdev on the gc.
> 
> Changes in v8:
> - free pdev_path and script in local_detach;
> - use libxl__strdup instead of strdup.
> 
> Changes in v7:
> - rename tmpdisk to localdisk;
> - add a comment in libxl__bootloader_state about localdisk.
> 
> Changes in v6:
> - return error in case pdev_path is NULL;
> - libxl__device_disk_local_attach update the new disk, the caller
> allocates it;
> - remove \n from logs.
> 
> Changes in v5:
> - rename disk to in_disk;
> - rename tmpdisk to disk;
> - copy disk to new_disk only on success;
> - remove check on libxl__zalloc success.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index cd870c4..be1c900 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1735,13 +1735,24 @@ out:
>      return ret;
>  }
>  
> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *disk)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      char *ret = NULL;
>      int rc;
>  
> +    if (in_disk->pdev_path == NULL)
> +        return NULL;
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = libxl__strdup(gc, in_disk->script);
> +    disk->vdev = NULL;
> +
>      rc = libxl__device_disk_setdefault(gc, disk);
>      if (rc) goto out;
>  
> @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                             " attach a qdisk image if the format is not raw");
>                  break;
>              }
> -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
>              dev = disk->pdev_path;
>              break;
>          default:
> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index e8950b1..82371f1 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
>      if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
>  
>      if (bl->diskpath) {
> -        libxl__device_disk_local_detach(gc, bl->disk);
> +        libxl__device_disk_local_detach(gc, &bl->localdisk);
>          free(bl->diskpath);
>          bl->diskpath = 0;
>      }
> @@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
>          goto out;
>      }
>  
> -    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
> +    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
>      if (!bl->diskpath) {
>          rc = ERROR_FAIL;
>          goto out;
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index d34e561..21b8b54 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   * a device.
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
> -        libxl_device_disk *disk);
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *new_disk);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  
> @@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
>      libxl__bootloader_console_callback *console_available;
>      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
>      libxl_device_disk *disk;
> +    /* Should be zeroed by caller on entry.  Will be filled in by
> +     * bootloader machinery; represents the local attachment of the
> +     * disk for the benefit of the bootloader.  Must be detached by
> +     * the caller using libxl__device_disk_local_detach, but only
> +     * after the domain's kernel and initramfs have been loaded into
> +     * memory and the file references disposed of. */
> +    libxl_device_disk localdisk;
>      uint32_t domid;
>      /* private to libxl__run_bootloader */
>      char *outputpath, *outputdir, *logfile;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:03:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:03:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZNxT-0006zY-E3; Tue, 29 May 2012 15:03:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZNxR-0006z8-QJ
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:03:38 +0000
Received: from [85.158.143.35:56464] by server-2.bemta-4.messagelabs.com id
	AB/00-12211-945E4CF4; Tue, 29 May 2012 15:03:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338303815!14638888!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26298 invoked from network); 29 May 2012 15:03:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:03:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718643"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:03:35 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:03:35 +0100
Message-ID: <1338303814.14158.125.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 16:03:34 +0100
In-Reply-To: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:48 +0100, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Ian Campbell wrote:
> > > On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > > > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> > > >       * needed by the soon to be started domain and do nothing.
> > > >       */
> > > >  
> > > > +    free(disk->pdev_path);
> > > > +    free(disk->script);
> > > 
> > > This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> > > member, is that deliberate?
> > 
> > I think it is a mistake: all these strings used to be allocated on the
> > gc, on previous versions of the series. However meanwhile the event
> > series went in, changing completely libxl__bootloader_run (that is the
> > caller of libxl__device_disk_local_attach).
> > Allocating stuff on the gc is not correct anymore, so now they need to
> > be explicitly freed. I think I should call libxl_device_disk_dispose
> > here and strdup in libxl__device_disk_local_attach to make sure vdev is
> > not on the gc.
> 
> The appended patch switches back the behavior to what we had in v5 and
> before: pdev_path, script, and vdev are all allocated on the gc,
> therefore freed automatically.

Thanks, this looks good to me.

If I slot this in in the place of the original will the rest of the
series apply or shall I wait for a resend/retest?

Ian.

> 
> 
> ---
> 
> libxl: libxl__device_disk_local_attach return a new libxl_device_disk
> 
> Introduce a new libxl_device_disk* parameter to
> libxl__device_disk_local_attach, the parameter is allocated by the
> caller. libxl__device_disk_local_attach is going to fill the new disk
> with informations about the new locally attached disk.  The new
> libxl_device_disk should be passed to libxl_device_disk_local_detach
> afterwards.
> 
> Changes in v9:
> - allocate pdev_path, script, and vdev on the gc.
> 
> Changes in v8:
> - free pdev_path and script in local_detach;
> - use libxl__strdup instead of strdup.
> 
> Changes in v7:
> - rename tmpdisk to localdisk;
> - add a comment in libxl__bootloader_state about localdisk.
> 
> Changes in v6:
> - return error in case pdev_path is NULL;
> - libxl__device_disk_local_attach update the new disk, the caller
> allocates it;
> - remove \n from logs.
> 
> Changes in v5:
> - rename disk to in_disk;
> - rename tmpdisk to disk;
> - copy disk to new_disk only on success;
> - remove check on libxl__zalloc success.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index cd870c4..be1c900 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1735,13 +1735,24 @@ out:
>      return ret;
>  }
>  
> -char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
> +char * libxl__device_disk_local_attach(libxl__gc *gc,
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *disk)
>  {
>      libxl_ctx *ctx = gc->owner;
>      char *dev = NULL;
>      char *ret = NULL;
>      int rc;
>  
> +    if (in_disk->pdev_path == NULL)
> +        return NULL;
> +
> +    memcpy(disk, in_disk, sizeof(libxl_device_disk));
> +    disk->pdev_path = libxl__strdup(gc, in_disk->pdev_path);
> +    if (in_disk->script != NULL)
> +        disk->script = libxl__strdup(gc, in_disk->script);
> +    disk->vdev = NULL;
> +
>      rc = libxl__device_disk_setdefault(gc, disk);
>      if (rc) goto out;
>  
> @@ -1779,8 +1790,7 @@ char * libxl__device_disk_local_attach(libxl__gc *gc, libxl_device_disk *disk)
>                             " attach a qdisk image if the format is not raw");
>                  break;
>              }
> -            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching qdisk %s\n",
> -                       disk->pdev_path);
> +            LOG(DEBUG, "locally attaching qdisk %s", in_disk->pdev_path);
>              dev = disk->pdev_path;
>              break;
>          default:
> diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c
> index e8950b1..82371f1 100644
> --- a/tools/libxl/libxl_bootloader.c
> +++ b/tools/libxl/libxl_bootloader.c
> @@ -228,7 +228,7 @@ static void bootloader_cleanup(libxl__egc *egc, libxl__bootloader_state *bl)
>      if (bl->outputdir) libxl__remove_directory(gc, bl->outputdir);
>  
>      if (bl->diskpath) {
> -        libxl__device_disk_local_detach(gc, bl->disk);
> +        libxl__device_disk_local_detach(gc, &bl->localdisk);
>          free(bl->diskpath);
>          bl->diskpath = 0;
>      }
> @@ -330,7 +330,7 @@ void libxl__bootloader_run(libxl__egc *egc, libxl__bootloader_state *bl)
>          goto out;
>      }
>  
> -    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk);
> +    bl->diskpath = libxl__device_disk_local_attach(gc, bl->disk, &bl->localdisk);
>      if (!bl->diskpath) {
>          rc = ERROR_FAIL;
>          goto out;
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index d34e561..21b8b54 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1265,7 +1265,8 @@ _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path);
>   * a device.
>   */
>  _hidden char * libxl__device_disk_local_attach(libxl__gc *gc,
> -        libxl_device_disk *disk);
> +        const libxl_device_disk *in_disk,
> +        libxl_device_disk *new_disk);
>  _hidden int libxl__device_disk_local_detach(libxl__gc *gc,
>          libxl_device_disk *disk);
>  
> @@ -1803,6 +1804,13 @@ struct libxl__bootloader_state {
>      libxl__bootloader_console_callback *console_available;
>      libxl_domain_build_info *info; /* u.pv.{kernel,ramdisk,cmdline} updated */
>      libxl_device_disk *disk;
> +    /* Should be zeroed by caller on entry.  Will be filled in by
> +     * bootloader machinery; represents the local attachment of the
> +     * disk for the benefit of the bootloader.  Must be detached by
> +     * the caller using libxl__device_disk_local_detach, but only
> +     * after the domain's kernel and initramfs have been loaded into
> +     * memory and the file references disposed of. */
> +    libxl_device_disk localdisk;
>      uint32_t domid;
>      /* private to libxl__run_bootloader */
>      char *outputpath, *outputdir, *logfile;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:06:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:06:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZO0Z-0007IG-8i; Tue, 29 May 2012 15:06:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZO0X-0007I1-Vi
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:06:50 +0000
Received: from [85.158.143.35:27024] by server-3.bemta-4.messagelabs.com id
	55/AC-05853-906E4CF4; Tue, 29 May 2012 15:06:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338304007!14639511!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10819 invoked from network); 29 May 2012 15:06:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:06:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718744"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:06:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:06:47 +0100
Message-ID: <1338304005.14158.127.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 16:06:45 +0100
In-Reply-To: <20420.58614.943975.416524@mariner.uk.xensource.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
	<1338302817.14158.120.camel@zakaz.uk.xensource.com>
	<20420.58614.943975.416524@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:02 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default"):
> > On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
> ...
> > > I'm a bit confused about all this, I confess.  What does xend do ?
> > > 
> > > ATM it seems that this change would mean that a guest config file
> > > specified in the most obvious way wouldn't get an emulated nic at
> > > all.  That can't be right, can it ?
> > 
> > It's confusingly named.
> > 
> > IOEMU -> emulated only on HVM, meaningless on PV.
> > VIF   -> both emulated and PV (on HVM) or just PV (on PV)
> > 
> > So a default of "VIF" is what you normally want.
> 
> Oh!
> 
> Perhaps we could rename the enum values (and disrupt everyone's
> patches) to fix this before we call the API stable.

As a "Nice To Have", perhaps. The stable API rules we have set don't
preclude us changing them later, we just have to provide a suitable
compat define if LIBXL_API_VERSION is set to a relevant value.

What are some better names? IOEMU, VIF and HYBRID? Or DUAL?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:06:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:06:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZO0Z-0007IG-8i; Tue, 29 May 2012 15:06:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZO0X-0007I1-Vi
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:06:50 +0000
Received: from [85.158.143.35:27024] by server-3.bemta-4.messagelabs.com id
	55/AC-05853-906E4CF4; Tue, 29 May 2012 15:06:49 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338304007!14639511!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10819 invoked from network); 29 May 2012 15:06:48 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:06:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718744"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:06:47 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:06:47 +0100
Message-ID: <1338304005.14158.127.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 16:06:45 +0100
In-Reply-To: <20420.58614.943975.416524@mariner.uk.xensource.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
	<1338302817.14158.120.camel@zakaz.uk.xensource.com>
	<20420.58614.943975.416524@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:02 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default"):
> > On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
> ...
> > > I'm a bit confused about all this, I confess.  What does xend do ?
> > > 
> > > ATM it seems that this change would mean that a guest config file
> > > specified in the most obvious way wouldn't get an emulated nic at
> > > all.  That can't be right, can it ?
> > 
> > It's confusingly named.
> > 
> > IOEMU -> emulated only on HVM, meaningless on PV.
> > VIF   -> both emulated and PV (on HVM) or just PV (on PV)
> > 
> > So a default of "VIF" is what you normally want.
> 
> Oh!
> 
> Perhaps we could rename the enum values (and disrupt everyone's
> patches) to fix this before we call the API stable.

As a "Nice To Have", perhaps. The stable API rules we have set don't
preclude us changing them later, we just have to provide a suitable
compat define if LIBXL_API_VERSION is set to a relevant value.

What are some better names? IOEMU, VIF and HYBRID? Or DUAL?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:10:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:10:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZO42-0007ab-8F; Tue, 29 May 2012 15:10:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZO40-0007aL-QS
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:10:24 +0000
Received: from [85.158.143.35:36483] by server-3.bemta-4.messagelabs.com id
	AA/E2-05853-0E6E4CF4; Tue, 29 May 2012 15:10:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338304222!6881286!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8946 invoked from network); 29 May 2012 15:10:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:10:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718842"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:10:21 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:10:21 +0100
Date: Tue, 29 May 2012 16:10:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338303814.14158.125.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205291608430.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop> 
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
	<1338303814.14158.125.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Ian Campbell wrote:
> On Tue, 2012-05-29 at 15:48 +0100, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Stefano Stabellini wrote:
> > > On Tue, 29 May 2012, Ian Campbell wrote:
> > > > On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > > > > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> > > > >       * needed by the soon to be started domain and do nothing.
> > > > >       */
> > > > >  
> > > > > +    free(disk->pdev_path);
> > > > > +    free(disk->script);
> > > > 
> > > > This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> > > > member, is that deliberate?
> > > 
> > > I think it is a mistake: all these strings used to be allocated on the
> > > gc, on previous versions of the series. However meanwhile the event
> > > series went in, changing completely libxl__bootloader_run (that is the
> > > caller of libxl__device_disk_local_attach).
> > > Allocating stuff on the gc is not correct anymore, so now they need to
> > > be explicitly freed. I think I should call libxl_device_disk_dispose
> > > here and strdup in libxl__device_disk_local_attach to make sure vdev is
> > > not on the gc.
> > 
> > The appended patch switches back the behavior to what we had in v5 and
> > before: pdev_path, script, and vdev are all allocated on the gc,
> > therefore freed automatically.
> 
> Thanks, this looks good to me.
> 
> If I slot this in in the place of the original will the rest of the
> series apply or shall I wait for a resend/retest?

I have already tested the patch before sending it.
I think you might find that 1 hunk of patch #8 won't apply automatically
but it should be trivial to fix the conflict.
Let me know if I need to resend.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:10:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:10:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZO42-0007ab-8F; Tue, 29 May 2012 15:10:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZO40-0007aL-QS
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:10:24 +0000
Received: from [85.158.143.35:36483] by server-3.bemta-4.messagelabs.com id
	AA/E2-05853-0E6E4CF4; Tue, 29 May 2012 15:10:24 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338304222!6881286!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8946 invoked from network); 29 May 2012 15:10:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:10:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12718842"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:10:21 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:10:21 +0100
Date: Tue, 29 May 2012 16:10:16 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338303814.14158.125.camel@zakaz.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205291608430.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop> 
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
	<1338303814.14158.125.camel@zakaz.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Ian Campbell wrote:
> On Tue, 2012-05-29 at 15:48 +0100, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Stefano Stabellini wrote:
> > > On Tue, 29 May 2012, Ian Campbell wrote:
> > > > On Tue, 2012-05-29 at 11:39 +0100, Stefano Stabellini wrote:
> > > > > @@ -1804,6 +1814,8 @@ int libxl__device_disk_local_detach(libxl__gc *gc, libxl_device_disk *disk)
> > > > >       * needed by the soon to be started domain and do nothing.
> > > > >       */
> > > > >  
> > > > > +    free(disk->pdev_path);
> > > > > +    free(disk->script);
> > > > 
> > > > This is open coding libxl_device_disk_dispose(disk) but missed the vdev
> > > > member, is that deliberate?
> > > 
> > > I think it is a mistake: all these strings used to be allocated on the
> > > gc, on previous versions of the series. However meanwhile the event
> > > series went in, changing completely libxl__bootloader_run (that is the
> > > caller of libxl__device_disk_local_attach).
> > > Allocating stuff on the gc is not correct anymore, so now they need to
> > > be explicitly freed. I think I should call libxl_device_disk_dispose
> > > here and strdup in libxl__device_disk_local_attach to make sure vdev is
> > > not on the gc.
> > 
> > The appended patch switches back the behavior to what we had in v5 and
> > before: pdev_path, script, and vdev are all allocated on the gc,
> > therefore freed automatically.
> 
> Thanks, this looks good to me.
> 
> If I slot this in in the place of the original will the rest of the
> series apply or shall I wait for a resend/retest?

I have already tested the patch before sending it.
I think you might find that 1 hunk of patch #8 won't apply automatically
but it should be trivial to fix the conflict.
Let me know if I need to resend.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:14:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:14:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZO8C-0007mu-UC; Tue, 29 May 2012 15:14:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZO8B-0007mo-SL
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:14:43 +0000
Received: from [85.158.139.83:39835] by server-7.bemta-5.messagelabs.com id
	BA/34-15932-2E7E4CF4; Tue, 29 May 2012 15:14:42 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338304482!26698039!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27276 invoked from network); 29 May 2012 15:14:42 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 15:14:42 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 16:14:41 +0100
Message-Id: <4FC503FE0200007800086A8F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 16:14:38 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>,
	"Keir Fraser" <keir.xen@gmail.com>
References: <4FC4A1A80200007800086845@nat28.tlf.novell.com>
	<CBEAA3C6.346CC%keir.xen@gmail.com>
In-Reply-To: <CBEAA3C6.346CC%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 17:03, Keir Fraser <keir.xen@gmail.com> wrote:
> On 29/05/2012 09:15, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>>>> On 28.05.12 at 11:23, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>>> hypervisor, nice to have:
>> 
>> * Grant table patches posted at the end of last week (no feedback
>> so far).
> 
> Are they really for 4.2 at this point?

I wanted to propose their inclusion, but I'm not intending to
talk you into accepting them (which partly is why they're under
"nice to have"). They're basically on the same page as the
massive p2m locking changes that went in pretty recently (used
as foundation for the changes here), so my perspective is that
they could reasonably go in for 4.2.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:14:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:14:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZO8C-0007mu-UC; Tue, 29 May 2012 15:14:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZO8B-0007mo-SL
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:14:43 +0000
Received: from [85.158.139.83:39835] by server-7.bemta-5.messagelabs.com id
	BA/34-15932-2E7E4CF4; Tue, 29 May 2012 15:14:42 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338304482!26698039!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM1ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27276 invoked from network); 29 May 2012 15:14:42 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 15:14:42 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Tue, 29 May 2012 16:14:41 +0100
Message-Id: <4FC503FE0200007800086A8F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Tue, 29 May 2012 16:14:38 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ian Campbell" <Ian.Campbell@citrix.com>,
	"Keir Fraser" <keir.xen@gmail.com>
References: <4FC4A1A80200007800086845@nat28.tlf.novell.com>
	<CBEAA3C6.346CC%keir.xen@gmail.com>
In-Reply-To: <CBEAA3C6.346CC%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 29.05.12 at 17:03, Keir Fraser <keir.xen@gmail.com> wrote:
> On 29/05/2012 09:15, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>>>>> On 28.05.12 at 11:23, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>>> hypervisor, nice to have:
>> 
>> * Grant table patches posted at the end of last week (no feedback
>> so far).
> 
> Are they really for 4.2 at this point?

I wanted to propose their inclusion, but I'm not intending to
talk you into accepting them (which partly is why they're under
"nice to have"). They're basically on the same page as the
massive p2m locking changes that went in pretty recently (used
as foundation for the changes here), so my perspective is that
they could reasonably go in for 4.2.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:16:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOA3-0007si-E6; Tue, 29 May 2012 15:16:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOA2-0007sc-DA
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:16:38 +0000
Received: from [85.158.143.35:17610] by server-1.bemta-4.messagelabs.com id
	25/1C-00342-558E4CF4; Tue, 29 May 2012 15:16:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338304596!15272744!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7173 invoked from network); 29 May 2012 15:16:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719017"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:16:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:16:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZO9p-0004JT-Se; Tue, 29 May 2012 15:16:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZO9p-0004Da-Rc;
	Tue, 29 May 2012 16:16:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.59463.719379.231579@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:16:23 +0100
To: "andres@lagarcavilla.org" <andres@lagarcavilla.org>
In-Reply-To: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
References: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Andres Lagar-Cavilla writes ("Compile error for libxl on centos 5"):
> I am getting libxenlight.so and xl link failures, complaining about
> missing login_tty and opentty symbols. The patch below fixes this for me,
> in a quick & dirty manner.

Thanks.

> FYI, not proposing this for the tree. I'm not sure to which extent you
> want to support an oldish distro, whether libutil is universally necessary
> and/or available.

We have autoconfery that is supposed to handle this.  We haven't taken
a decision to desupport Centos 5.

Can you check that you have the most recent version, run configure,
and post the resulting transcript, config.log and config.status ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:16:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOA3-0007si-E6; Tue, 29 May 2012 15:16:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOA2-0007sc-DA
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:16:38 +0000
Received: from [85.158.143.35:17610] by server-1.bemta-4.messagelabs.com id
	25/1C-00342-558E4CF4; Tue, 29 May 2012 15:16:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338304596!15272744!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7173 invoked from network); 29 May 2012 15:16:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:16:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719017"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:16:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:16:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZO9p-0004JT-Se; Tue, 29 May 2012 15:16:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZO9p-0004Da-Rc;
	Tue, 29 May 2012 16:16:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.59463.719379.231579@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:16:23 +0100
To: "andres@lagarcavilla.org" <andres@lagarcavilla.org>
In-Reply-To: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
References: <64a2e103e7dc5c0cbbcbb745bbf9e5fa.squirrel@webmail.lagarcavilla.org>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Compile error for libxl on centos 5
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Andres Lagar-Cavilla writes ("Compile error for libxl on centos 5"):
> I am getting libxenlight.so and xl link failures, complaining about
> missing login_tty and opentty symbols. The patch below fixes this for me,
> in a quick & dirty manner.

Thanks.

> FYI, not proposing this for the tree. I'm not sure to which extent you
> want to support an oldish distro, whether libutil is universally necessary
> and/or available.

We have autoconfery that is supposed to handle this.  We haven't taken
a decision to desupport Centos 5.

Can you check that you have the most recent version, run configure,
and post the resulting transcript, config.log and config.status ?

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:24:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:24:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOH3-00085P-Aj; Tue, 29 May 2012 15:23:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOH1-00085K-8x
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:23:51 +0000
Received: from [85.158.143.99:61817] by server-2.bemta-4.messagelabs.com id
	BE/F5-12211-60AE4CF4; Tue, 29 May 2012 15:23:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338305029!28043403!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17964 invoked from network); 29 May 2012 15:23:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:23:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719194"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:23:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:23:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZOGy-0004M0-9w; Tue, 29 May 2012 15:23:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZOGy-0004ET-94;
	Tue, 29 May 2012 16:23:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.59905.191002.80850@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:23:45 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v8 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
...
> The appended patch switches back the behavior to what we had in v5 and
> before: pdev_path, script, and vdev are all allocated on the gc,
> therefore freed automatically.

Thanks.

> libxl: libxl__device_disk_local_attach return a new libxl_device_disk

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:24:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:24:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOH3-00085P-Aj; Tue, 29 May 2012 15:23:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOH1-00085K-8x
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:23:51 +0000
Received: from [85.158.143.99:61817] by server-2.bemta-4.messagelabs.com id
	BE/F5-12211-60AE4CF4; Tue, 29 May 2012 15:23:50 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338305029!28043403!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17964 invoked from network); 29 May 2012 15:23:49 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:23:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719194"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:23:48 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:23:48 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZOGy-0004M0-9w; Tue, 29 May 2012 15:23:48 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZOGy-0004ET-94;
	Tue, 29 May 2012 16:23:48 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.59905.191002.80850@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:23:45 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v8 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
...
> The appended patch switches back the behavior to what we had in v5 and
> before: pdev_path, script, and vdev are all allocated on the gc,
> therefore freed automatically.

Thanks.

> libxl: libxl__device_disk_local_attach return a new libxl_device_disk

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:25:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:25:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOIR-0008AZ-Ub; Tue, 29 May 2012 15:25:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOIQ-0008AO-Ej
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:25:18 +0000
Received: from [85.158.143.99:8001] by server-1.bemta-4.messagelabs.com id
	9D/8C-00342-D5AE4CF4; Tue, 29 May 2012 15:25:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338305116!22818554!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14699 invoked from network); 29 May 2012 15:25:16 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:25:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719226"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:25:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:25:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZOIN-0004MW-IF; Tue, 29 May 2012 15:25:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZOIN-0004Ee-HA;
	Tue, 29 May 2012 16:25:15 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.59991.541173.849526@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:25:11 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v8 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
...
> The appended patch switches back the behavior to what we had in v5 and
> before: pdev_path, script, and vdev are all allocated on the gc,
> therefore freed automatically.

With the revised version of 02/11, I have now acked all 11 of these.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:25:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:25:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOIR-0008AZ-Ub; Tue, 29 May 2012 15:25:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOIQ-0008AO-Ej
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:25:18 +0000
Received: from [85.158.143.99:8001] by server-1.bemta-4.messagelabs.com id
	9D/8C-00342-D5AE4CF4; Tue, 29 May 2012 15:25:17 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338305116!22818554!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14699 invoked from network); 29 May 2012 15:25:16 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:25:16 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719226"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:25:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:25:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZOIN-0004MW-IF; Tue, 29 May 2012 15:25:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZOIN-0004Ee-HA;
	Tue, 29 May 2012 16:25:15 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.59991.541173.849526@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 16:25:11 +0100
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini writes ("Re: [PATCH v8 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
...
> The appended patch switches back the behavior to what we had in v5 and
> before: pdev_path, script, and vdev are all allocated on the gc,
> therefore freed automatically.

With the revised version of 02/11, I have now acked all 11 of these.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:29:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOMH-0008O0-KY; Tue, 29 May 2012 15:29:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SZOMG-0008Nt-AJ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:29:16 +0000
Received: from [85.158.139.83:63359] by server-6.bemta-5.messagelabs.com id
	80/BA-31790-B4BE4CF4; Tue, 29 May 2012 15:29:15 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338305353!28259002!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0NTAw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31100 invoked from network); 29 May 2012 15:29:14 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-4.tower-182.messagelabs.com with SMTP;
	29 May 2012 15:29:14 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 29 May 2012 08:29:13 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105441263"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 08:29:13 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 08:29:12 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Tue, 29 May 2012 23:29:10 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, Pasi K?rkk?inen <pasik@iki.fi>
Thread-Topic: [Xen-devel] which Dom0 should I use in my regular testing?
Thread-Index: AQHNPaqIEl3F4SRo70KEPPHunriD7Jbg3+rA
Date: Tue, 29 May 2012 15:29:10 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D71A1@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
	<1338302336.14158.116.camel@zakaz.uk.xensource.com>
	<20120529144245.GI2058@reaktio.net>
	<1338303042.14158.123.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338303042.14158.123.camel@zakaz.uk.xensource.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJYW4gQ2FtcGJlbGwgW21haWx0
bzpJYW4uQ2FtcGJlbGxAY2l0cml4LmNvbV0NCj4gU2VudDogVHVlc2RheSwgTWF5IDI5LCAyMDEy
IDEwOjUxIFBNDQo+IFRvOiBQYXNpIEvDpHJra8OkaW5lbg0KPiBDYzogUmVuLCBZb25namllOyBJ
YW4gSmFja3NvbjsgeGVuLWRldmVsQGxpc3RzLnhlbi5vcmcNCj4gU3ViamVjdDogUmU6IFtYZW4t
ZGV2ZWxdIHdoaWNoIERvbTAgc2hvdWxkIEkgdXNlIGluIG15IHJlZ3VsYXIgdGVzdGluZz8NCj4g
DQo+IE9uIFR1ZSwgMjAxMi0wNS0yOSBhdCAxNTo0MiArMDEwMCwgUGFzaSBLw6Rya2vDpGluZW4g
d3JvdGU6DQo+ID4gT24gVHVlLCBNYXkgMjksIDIwMTIgYXQgMDM6Mzg6NTZQTSArMDEwMCwgSWFu
IENhbXBiZWxsIHdyb3RlOg0KPiA+ID4gT24gVHVlLCAyMDEyLTA1LTI5IGF0IDE1OjMzICswMTAw
LCBSZW4sIFlvbmdqaWUgd3JvdGU6DQo+ID4gPiA+IFNvcnJ5LCBwaW5nLi4uDQo+ID4gPiA+IEFu
eSBzdWdnZXN0aW9ucz8gIEFsc28gQ0MgSWFuIENhbXBiZWxsIGZvciBzdWdnZXN0aW9uLg0KPiA+
ID4NCj4gPiA+IEkgdGhpbmsgdGhlIGxhdGVzdCBrZXJuZWwgZnJvbSB1cHN0cmVhbSdzIHN0YWJs
ZSBzZXJpZXMgd291bGQgYmUgYQ0KPiA+ID4gcmVhc29uYWJsZSBiYXNpcyBmb3IgdGVzdGluZyB4
ZW4gb24uDQo+ID4gPg0KPiA+DQo+ID4gSSB0aGluayB0aGUgdXBzdHJlYW0gTGludXggJ3N0YWJs
ZScgc2VyaWVzIGlzIDMuMC54IGN1cnJlbnRseT8NCj4gDQo+IE5vLCB0aGF0IGlzICJsb25ndGVy
bSIuIFN0YWJsZSBpcyBhbHdheXMgYSBicmFuY2ggb2YgdGhlIG1vc3QgcmVjZW50DQo+IHJlbGVh
c2UgZnJvbSBMaW51cywgaXQgc2VlbXMgdG8gYmUgMy4zLjcgcmlnaHQgbm93IGJ1dCB0aGVyZSB3
aWxsIG5vDQo+IGRvdWJ0IGJlIGEgMy40LjEgcXVpdGUgc29vbi4gU3RpY2tpbmcgd2l0aCB0aGUg
cHJldmlvdXMgdmVyc2lvbiB1bnRpbA0KPiAzLjQuMSBvciAzLjQuMiBtaWdodCBiZSB3aXNlLg0K
PiANCj4gSSdtIGFzc3VtaW5nIGhlcmUgdGhhdCB0aGUgcHJpbWFyeSBhaW0gaXMgdG8gdGVzdCBY
ZW4gYW5kIG5vdA0KPiBuZWNlc3NhcmlseSB0byB0ZXN0IGRvbTAgZGlyZWN0bHkuIElmIG9uZSB3
YW50cyB0byBleHBsaWNpdGx5IHRlc3QgZG9tMA0KPiB0aGVuIHJ1bm5pbmcgTGludXMnIHRyZWUg
KG9uIGEga25vd24gZ29vZCBYZW4gYmFzZWxpbmUpIHNlZW1zIGxpa2UgdGhlDQo+IHJpZ2h0IGFu
c3dlci4NCj4gDQpZZWFoLCBjYW4ndCBhZ3JlZSBtb3JlLiBXZSBhbHNvIHdhbnQgdG8gZm9jdXMg
b24gWGVuIHRlc3Rpbmcgbm90IGRvbTAgc3R1ZmYuDQoNCj4gPiBMaW51eCAzLjQueCBpcyB0aGUg
Zmlyc3Qga2VybmVsIHdpdGggWGVuIEFDUEkgY3B1ZnJlcSAvIHBvd2VyIG1hbmFnZW1lbnQNCj4g
cGF0Y2hlcyBpbmNsdWRlZCwNCj4gPiBzbyBpdCBtYWtlcyBzZW5zZSB0byB1c2UgMy40KyA/DQo+
IA0KPiBZb25namllIGRpZG4ndCBleHByZXNzIGFueSBpbnRlcmVzdCBpbiBhIHBhcnRpY3VsYXIg
ZmVhdHVyZSwgc28gbXkNCj4gYWR2aWNlIHdhcyBtb3JlIGdlbmVyYWwuDQo+IA0KU29ycnksIFdl
J3JlIGludGVyZXN0ZWQgaW4gUE0gZmVhdHVyZSwgc28gSSdtIHVzaW5nIDMuNCsgbm93Lg0KTXkg
ZHJhZnQgcGxhbiBpcyB0byB1c2UgMy40LjEgd2hlbiBhdmFpbGFibGUsIHRoZW4gd2lsbCBrZWVw
IGl0IGNvbnN0YW50IHVudGlsIG5leHQgc3RhYmxlIGtlcm5lbCAoZS5nLiAzLjQuMikgaXMgcmVs
ZWFzZWQuDQpJJ2xsIGFsc28gZGlzY3VzcyB3aXRoIG91ciBpbnRlcm5hbCBwZXJzb25zIGFuZCBt
YWtlIGZpbmFsIGRlY2lzaW9uLg0KDQo+IElhbi4NCj4gDQpBbmQsIHRoYW5rcyBmb3IgeW91ciBz
dWdnZXN0aW9uLg0KDQotLSBZb25namllDQoNCj4gDQo+ID4NCj4gPg0KPiA+IC0tIFBhc2kNCj4g
Pg0KPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEJlc3QgUmVnYXJkcywNCj4gPiA+ID4gICAgICBZb25n
amllIChKYXkpDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N
Cj4gPiA+ID4gPiBGcm9tOiB4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnDQo+ID4gPiA+
ID4gW21haWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2Yg
UmVuLCBZb25namllDQo+ID4gPiA+ID4gU2VudDogTW9uZGF5LCBNYXkgMjgsIDIwMTIgNDowNSBQ
TQ0KPiA+ID4gPiA+IFRvOiBpYW4uamFja3NvbkBldS5jaXRyaXguY29tDQo+ID4gPiA+ID4gQ2M6
IHhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnDQo+ID4gPiA+ID4gU3ViamVjdDogW1hlbi1kZXZlbF0g
d2hpY2ggRG9tMCBzaG91bGQgSSB1c2UgaW4gbXkgcmVndWxhciB0ZXN0aW5nPw0KPiA+ID4gPiA+
DQo+ID4gPiA+ID4gSGkgSmFja3NvbiwNCj4gPiA+ID4gPiBPdXIgdGVhbSBzcGFyZXMgc29tZSBl
ZmZvcnQgaW4gcmVndWxhciB0ZXN0aW5nIGFnYWluc3QNCj4geGVuLXVuc3RhYmxlIHRyZWUuDQo+
ID4gPiA+ID4gSSBrbm93IHlvdSBhcmUgZG9pbmcgc29tZSB0ZXN0aW5nIGFnYWluc3QgeGVuLg0K
PiA+ID4gPiA+IFdoaWNoIERvbTAgYXJlIHlvdSB1c2luZyBpbiB5b3VyIG9zcyB0ZXN0LCBLb25y
YWQncyB4ZW4uZ2l0IG9yDQo+IHVwc3RyZWFtDQo+ID4gPiA+ID4gbGludXguZ2l0ID8NCj4gPiA+
ID4gPiBBbmQgd2hpY2ggRG9tMCBkbyB5b3UgcmVjb21tZW5kIGluIG15IHJlZ3VsYXIgdGVzdGlu
Zz8NCj4gPiA+ID4gPiAoTm90IHN1cmUgeW91IGFyZSB0aGUgcmlnaHQgcGVyc29uIGZvciB0aGlz
IHF1ZXN0aW9uPyA6LSkgKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQmVzdCBSZWdhcmRzLA0KPiA+
ID4gPiA+ICAgICAgWW9uZ2ppZSAoSmF5KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g
PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4g
PiA+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+ID4gPiBYZW4tZGV2ZWxAbGlzdHMueGVu
Lm9yZw0KPiA+ID4gPiA+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbA0KPiA+ID4NCj4g
PiA+DQo+ID4gPg0KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCj4gPiA+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+IFhlbi1kZXZlbEBs
aXN0cy54ZW4ub3JnDQo+ID4gPiBodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwNCj4gDQoN
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl
bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v
cmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 29 15:29:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOMH-0008O0-KY; Tue, 29 May 2012 15:29:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SZOMG-0008Nt-AJ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:29:16 +0000
Received: from [85.158.139.83:63359] by server-6.bemta-5.messagelabs.com id
	80/BA-31790-B4BE4CF4; Tue, 29 May 2012 15:29:15 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338305353!28259002!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQ0NTAw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31100 invoked from network); 29 May 2012 15:29:14 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-4.tower-182.messagelabs.com with SMTP;
	29 May 2012 15:29:14 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 29 May 2012 08:29:13 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105441263"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 08:29:13 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 08:29:12 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Tue, 29 May 2012 23:29:10 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Ian Campbell <Ian.Campbell@citrix.com>, Pasi K?rkk?inen <pasik@iki.fi>
Thread-Topic: [Xen-devel] which Dom0 should I use in my regular testing?
Thread-Index: AQHNPaqIEl3F4SRo70KEPPHunriD7Jbg3+rA
Date: Tue, 29 May 2012 15:29:10 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D71A1@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<1B4B44D9196EFF41AE41FDA404FC0A100D7040@SHSMSX101.ccr.corp.intel.com>
	<1338302336.14158.116.camel@zakaz.uk.xensource.com>
	<20120529144245.GI2058@reaktio.net>
	<1338303042.14158.123.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338303042.14158.123.camel@zakaz.uk.xensource.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJYW4gQ2FtcGJlbGwgW21haWx0
bzpJYW4uQ2FtcGJlbGxAY2l0cml4LmNvbV0NCj4gU2VudDogVHVlc2RheSwgTWF5IDI5LCAyMDEy
IDEwOjUxIFBNDQo+IFRvOiBQYXNpIEvDpHJra8OkaW5lbg0KPiBDYzogUmVuLCBZb25namllOyBJ
YW4gSmFja3NvbjsgeGVuLWRldmVsQGxpc3RzLnhlbi5vcmcNCj4gU3ViamVjdDogUmU6IFtYZW4t
ZGV2ZWxdIHdoaWNoIERvbTAgc2hvdWxkIEkgdXNlIGluIG15IHJlZ3VsYXIgdGVzdGluZz8NCj4g
DQo+IE9uIFR1ZSwgMjAxMi0wNS0yOSBhdCAxNTo0MiArMDEwMCwgUGFzaSBLw6Rya2vDpGluZW4g
d3JvdGU6DQo+ID4gT24gVHVlLCBNYXkgMjksIDIwMTIgYXQgMDM6Mzg6NTZQTSArMDEwMCwgSWFu
IENhbXBiZWxsIHdyb3RlOg0KPiA+ID4gT24gVHVlLCAyMDEyLTA1LTI5IGF0IDE1OjMzICswMTAw
LCBSZW4sIFlvbmdqaWUgd3JvdGU6DQo+ID4gPiA+IFNvcnJ5LCBwaW5nLi4uDQo+ID4gPiA+IEFu
eSBzdWdnZXN0aW9ucz8gIEFsc28gQ0MgSWFuIENhbXBiZWxsIGZvciBzdWdnZXN0aW9uLg0KPiA+
ID4NCj4gPiA+IEkgdGhpbmsgdGhlIGxhdGVzdCBrZXJuZWwgZnJvbSB1cHN0cmVhbSdzIHN0YWJs
ZSBzZXJpZXMgd291bGQgYmUgYQ0KPiA+ID4gcmVhc29uYWJsZSBiYXNpcyBmb3IgdGVzdGluZyB4
ZW4gb24uDQo+ID4gPg0KPiA+DQo+ID4gSSB0aGluayB0aGUgdXBzdHJlYW0gTGludXggJ3N0YWJs
ZScgc2VyaWVzIGlzIDMuMC54IGN1cnJlbnRseT8NCj4gDQo+IE5vLCB0aGF0IGlzICJsb25ndGVy
bSIuIFN0YWJsZSBpcyBhbHdheXMgYSBicmFuY2ggb2YgdGhlIG1vc3QgcmVjZW50DQo+IHJlbGVh
c2UgZnJvbSBMaW51cywgaXQgc2VlbXMgdG8gYmUgMy4zLjcgcmlnaHQgbm93IGJ1dCB0aGVyZSB3
aWxsIG5vDQo+IGRvdWJ0IGJlIGEgMy40LjEgcXVpdGUgc29vbi4gU3RpY2tpbmcgd2l0aCB0aGUg
cHJldmlvdXMgdmVyc2lvbiB1bnRpbA0KPiAzLjQuMSBvciAzLjQuMiBtaWdodCBiZSB3aXNlLg0K
PiANCj4gSSdtIGFzc3VtaW5nIGhlcmUgdGhhdCB0aGUgcHJpbWFyeSBhaW0gaXMgdG8gdGVzdCBY
ZW4gYW5kIG5vdA0KPiBuZWNlc3NhcmlseSB0byB0ZXN0IGRvbTAgZGlyZWN0bHkuIElmIG9uZSB3
YW50cyB0byBleHBsaWNpdGx5IHRlc3QgZG9tMA0KPiB0aGVuIHJ1bm5pbmcgTGludXMnIHRyZWUg
KG9uIGEga25vd24gZ29vZCBYZW4gYmFzZWxpbmUpIHNlZW1zIGxpa2UgdGhlDQo+IHJpZ2h0IGFu
c3dlci4NCj4gDQpZZWFoLCBjYW4ndCBhZ3JlZSBtb3JlLiBXZSBhbHNvIHdhbnQgdG8gZm9jdXMg
b24gWGVuIHRlc3Rpbmcgbm90IGRvbTAgc3R1ZmYuDQoNCj4gPiBMaW51eCAzLjQueCBpcyB0aGUg
Zmlyc3Qga2VybmVsIHdpdGggWGVuIEFDUEkgY3B1ZnJlcSAvIHBvd2VyIG1hbmFnZW1lbnQNCj4g
cGF0Y2hlcyBpbmNsdWRlZCwNCj4gPiBzbyBpdCBtYWtlcyBzZW5zZSB0byB1c2UgMy40KyA/DQo+
IA0KPiBZb25namllIGRpZG4ndCBleHByZXNzIGFueSBpbnRlcmVzdCBpbiBhIHBhcnRpY3VsYXIg
ZmVhdHVyZSwgc28gbXkNCj4gYWR2aWNlIHdhcyBtb3JlIGdlbmVyYWwuDQo+IA0KU29ycnksIFdl
J3JlIGludGVyZXN0ZWQgaW4gUE0gZmVhdHVyZSwgc28gSSdtIHVzaW5nIDMuNCsgbm93Lg0KTXkg
ZHJhZnQgcGxhbiBpcyB0byB1c2UgMy40LjEgd2hlbiBhdmFpbGFibGUsIHRoZW4gd2lsbCBrZWVw
IGl0IGNvbnN0YW50IHVudGlsIG5leHQgc3RhYmxlIGtlcm5lbCAoZS5nLiAzLjQuMikgaXMgcmVs
ZWFzZWQuDQpJJ2xsIGFsc28gZGlzY3VzcyB3aXRoIG91ciBpbnRlcm5hbCBwZXJzb25zIGFuZCBt
YWtlIGZpbmFsIGRlY2lzaW9uLg0KDQo+IElhbi4NCj4gDQpBbmQsIHRoYW5rcyBmb3IgeW91ciBz
dWdnZXN0aW9uLg0KDQotLSBZb25namllDQoNCj4gDQo+ID4NCj4gPg0KPiA+IC0tIFBhc2kNCj4g
Pg0KPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEJlc3QgUmVnYXJkcywNCj4gPiA+ID4gICAgICBZb25n
amllIChKYXkpDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N
Cj4gPiA+ID4gPiBGcm9tOiB4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnDQo+ID4gPiA+
ID4gW21haWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2Yg
UmVuLCBZb25namllDQo+ID4gPiA+ID4gU2VudDogTW9uZGF5LCBNYXkgMjgsIDIwMTIgNDowNSBQ
TQ0KPiA+ID4gPiA+IFRvOiBpYW4uamFja3NvbkBldS5jaXRyaXguY29tDQo+ID4gPiA+ID4gQ2M6
IHhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnDQo+ID4gPiA+ID4gU3ViamVjdDogW1hlbi1kZXZlbF0g
d2hpY2ggRG9tMCBzaG91bGQgSSB1c2UgaW4gbXkgcmVndWxhciB0ZXN0aW5nPw0KPiA+ID4gPiA+
DQo+ID4gPiA+ID4gSGkgSmFja3NvbiwNCj4gPiA+ID4gPiBPdXIgdGVhbSBzcGFyZXMgc29tZSBl
ZmZvcnQgaW4gcmVndWxhciB0ZXN0aW5nIGFnYWluc3QNCj4geGVuLXVuc3RhYmxlIHRyZWUuDQo+
ID4gPiA+ID4gSSBrbm93IHlvdSBhcmUgZG9pbmcgc29tZSB0ZXN0aW5nIGFnYWluc3QgeGVuLg0K
PiA+ID4gPiA+IFdoaWNoIERvbTAgYXJlIHlvdSB1c2luZyBpbiB5b3VyIG9zcyB0ZXN0LCBLb25y
YWQncyB4ZW4uZ2l0IG9yDQo+IHVwc3RyZWFtDQo+ID4gPiA+ID4gbGludXguZ2l0ID8NCj4gPiA+
ID4gPiBBbmQgd2hpY2ggRG9tMCBkbyB5b3UgcmVjb21tZW5kIGluIG15IHJlZ3VsYXIgdGVzdGlu
Zz8NCj4gPiA+ID4gPiAoTm90IHN1cmUgeW91IGFyZSB0aGUgcmlnaHQgcGVyc29uIGZvciB0aGlz
IHF1ZXN0aW9uPyA6LSkgKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQmVzdCBSZWdhcmRzLA0KPiA+
ID4gPiA+ICAgICAgWW9uZ2ppZSAoSmF5KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g
PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4g
PiA+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+ID4gPiBYZW4tZGV2ZWxAbGlzdHMueGVu
Lm9yZw0KPiA+ID4gPiA+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbA0KPiA+ID4NCj4g
PiA+DQo+ID4gPg0KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCj4gPiA+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+IFhlbi1kZXZlbEBs
aXN0cy54ZW4ub3JnDQo+ID4gPiBodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwNCj4gDQoN
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl
bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v
cmcveGVuLWRldmVsCg==

From xen-devel-bounces@lists.xen.org Tue May 29 15:32:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:32:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOPc-000055-AC; Tue, 29 May 2012 15:32:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOPb-00004z-3k
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:32:43 +0000
Received: from [85.158.138.51:24292] by server-3.bemta-3.messagelabs.com id
	A4/43-08380-A1CE4CF4; Tue, 29 May 2012 15:32:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338305561!29689740!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28945 invoked from network); 29 May 2012 15:32:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:32:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719446"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:32:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:32:41 +0100
Message-ID: <1338305560.31698.2.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 16:32:40 +0100
In-Reply-To: <20420.59991.541173.849526@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
	<20420.59991.541173.849526@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:25 +0100, Ian Jackson wrote:
> Stefano Stabellini writes ("Re: [PATCH v8 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> ...
> > The appended patch switches back the behavior to what we had in v5 and
> > before: pdev_path, script, and vdev are all allocated on the gc,
> > therefore freed automatically.
> 
> With the revised version of 02/11, I have now acked all 11 of these.

Thanks, I'm about to apply...



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:32:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:32:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOPc-000055-AC; Tue, 29 May 2012 15:32:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOPb-00004z-3k
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:32:43 +0000
Received: from [85.158.138.51:24292] by server-3.bemta-3.messagelabs.com id
	A4/43-08380-A1CE4CF4; Tue, 29 May 2012 15:32:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338305561!29689740!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28945 invoked from network); 29 May 2012 15:32:42 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:32:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719446"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:32:41 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:32:41 +0100
Message-ID: <1338305560.31698.2.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 16:32:40 +0100
In-Reply-To: <20420.59991.541173.849526@mariner.uk.xensource.com>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
	<1338287956-24691-2-git-send-email-stefano.stabellini@eu.citrix.com>
	<1338300632.14158.115.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205291511560.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291540590.26786@kaball-desktop>
	<20420.59991.541173.849526@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 02/11] libxl:
 libxl__device_disk_local_attach return a new libxl_device_disk
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:25 +0100, Ian Jackson wrote:
> Stefano Stabellini writes ("Re: [PATCH v8 02/11] libxl: libxl__device_disk_local_attach return a new libxl_device_disk"):
> ...
> > The appended patch switches back the behavior to what we had in v5 and
> > before: pdev_path, script, and vdev are all allocated on the gc,
> > therefore freed automatically.
> 
> With the revised version of 02/11, I have now acked all 11 of these.

Thanks, I'm about to apply...



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:36:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOT8-0000Gc-Vg; Tue, 29 May 2012 15:36:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZOT7-0000GT-DW
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:36:21 +0000
Received: from [85.158.143.35:9936] by server-1.bemta-4.messagelabs.com id
	72/00-00342-4FCE4CF4; Tue, 29 May 2012 15:36:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338305778!13821816!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1OTY5OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16566 invoked from network); 29 May 2012 15:36:19 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 15:36:19 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TFaF5w022422
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 15:36:15 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TFaEbe008049
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 15:36:15 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TFaErC016434; Tue, 29 May 2012 10:36:14 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 08:36:14 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6288D40290; Tue, 29 May 2012 11:29:30 -0400 (EDT)
Date: Tue, 29 May 2012 11:29:30 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: suixiufeng <suixiufeng@gmail.com>
Message-ID: <20120529152930.GE8293@phenom.dumpdata.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
> Hi:
>    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both HVM
> and PV) apps and kernel performance based on passive domains. My platform
> is as follows:
>    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>    Hypervosir: Xen 4.1.2
>    Dom0 kernel: linux 2.6.38.2
>    I am not sure whether xenoprof can work on this platform.
> *   As soon as I start xenoprof in passive domain mode, the VM can't run
> workload immediately (The VM doesn't crash. If I ping the VM from other
> machine, the response time is really high ). I can't input any commands
> through the console prompt. *

Do you have the patches applied to the kernel to use oprofile?


> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:36:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOT8-0000Gc-Vg; Tue, 29 May 2012 15:36:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZOT7-0000GT-DW
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:36:21 +0000
Received: from [85.158.143.35:9936] by server-1.bemta-4.messagelabs.com id
	72/00-00342-4FCE4CF4; Tue, 29 May 2012 15:36:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338305778!13821816!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU1OTY5OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16566 invoked from network); 29 May 2012 15:36:19 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 15:36:19 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TFaF5w022422
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 15:36:15 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TFaEbe008049
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 15:36:15 GMT
Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TFaErC016434; Tue, 29 May 2012 10:36:14 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 08:36:14 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 6288D40290; Tue, 29 May 2012 11:29:30 -0400 (EDT)
Date: Tue, 29 May 2012 11:29:30 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: suixiufeng <suixiufeng@gmail.com>
Message-ID: <20120529152930.GE8293@phenom.dumpdata.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
> Hi:
>    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both HVM
> and PV) apps and kernel performance based on passive domains. My platform
> is as follows:
>    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>    Hypervosir: Xen 4.1.2
>    Dom0 kernel: linux 2.6.38.2
>    I am not sure whether xenoprof can work on this platform.
> *   As soon as I start xenoprof in passive domain mode, the VM can't run
> workload immediately (The VM doesn't crash. If I ping the VM from other
> machine, the response time is really high ). I can't input any commands
> through the console prompt. *

Do you have the patches applied to the kernel to use oprofile?


> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:37:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:37:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOUO-0000N8-NT; Tue, 29 May 2012 15:37:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOUM-0000N1-Vv
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:37:39 +0000
Received: from [193.109.254.147:22020] by server-8.bemta-14.messagelabs.com id
	05/0F-17829-24DE4CF4; Tue, 29 May 2012 15:37:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338305857!4139497!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30863 invoked from network); 29 May 2012 15:37:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:37:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719547"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:37:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:37:37 +0100
Message-ID: <1338305856.31698.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 16:37:36 +0100
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 11:38 +0100, Stefano Stabellini wrote:
> this patch implements local_attach support for QDISK: 

Applied, thanks!

I reworked some of the later commit summaries to be "libxl:..." or
"xl:...." in line with our normal convention, hope that's ok.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:37:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:37:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOUO-0000N8-NT; Tue, 29 May 2012 15:37:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOUM-0000N1-Vv
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:37:39 +0000
Received: from [193.109.254.147:22020] by server-8.bemta-14.messagelabs.com id
	05/0F-17829-24DE4CF4; Tue, 29 May 2012 15:37:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338305857!4139497!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30863 invoked from network); 29 May 2012 15:37:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:37:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719547"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:37:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:37:37 +0100
Message-ID: <1338305856.31698.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 16:37:36 +0100
In-Reply-To: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281439080.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, Ian
	Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v8 0/11] qdisk local attach
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 11:38 +0100, Stefano Stabellini wrote:
> this patch implements local_attach support for QDISK: 

Applied, thanks!

I reworked some of the later commit summaries to be "libxl:..." or
"xl:...." in line with our normal convention, hope that's ok.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:44:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:44:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZObB-0000eT-0E; Tue, 29 May 2012 15:44:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOb9-0000eO-Pf
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:44:39 +0000
Received: from [85.158.143.99:36887] by server-1.bemta-4.messagelabs.com id
	60/FD-00342-7EEE4CF4; Tue, 29 May 2012 15:44:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338306276!25077971!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28718 invoked from network); 29 May 2012 15:44:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:44:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719684"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:44:34 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:44:34 +0100
Message-ID: <1338306273.31698.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 16:44:33 +0100
In-Reply-To: <20420.58433.75457.437027@mariner.uk.xensource.com>
References: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
	<20420.58433.75457.437027@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: remove lockdir and config dir from
	the API
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:59 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH] libxl: remove lockdir and config dir from the API"):
> > libxl: remove lockdir and config dir from the API
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Applied. Thanks.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:44:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:44:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZObB-0000eT-0E; Tue, 29 May 2012 15:44:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOb9-0000eO-Pf
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:44:39 +0000
Received: from [85.158.143.99:36887] by server-1.bemta-4.messagelabs.com id
	60/FD-00342-7EEE4CF4; Tue, 29 May 2012 15:44:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338306276!25077971!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28718 invoked from network); 29 May 2012 15:44:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:44:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719684"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:44:34 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 16:44:34 +0100
Message-ID: <1338306273.31698.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Tue, 29 May 2012 16:44:33 +0100
In-Reply-To: <20420.58433.75457.437027@mariner.uk.xensource.com>
References: <12537c670e9ea9e7f737.1338292717@cosworth.uk.xensource.com>
	<20420.58433.75457.437027@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] libxl: remove lockdir and config dir from
	the API
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 15:59 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH] libxl: remove lockdir and config dir from the API"):
> > libxl: remove lockdir and config dir from the API
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Applied. Thanks.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:55:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:55:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOlH-0000qE-38; Tue, 29 May 2012 15:55:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZOlF-0000q9-8h
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:55:05 +0000
Received: from [85.158.143.99:36264] by server-3.bemta-4.messagelabs.com id
	B1/84-05853-851F4CF4; Tue, 29 May 2012 15:55:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338306901!20713187!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16102 invoked from network); 29 May 2012 15:55:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 15:55:03 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TFsuUa031107
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 15:54:56 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TFstkk026822
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 15:54:55 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TFssmd026497; Tue, 29 May 2012 10:54:54 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 08:54:54 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5415B40290; Tue, 29 May 2012 11:48:10 -0400 (EDT)
Date: Tue, 29 May 2012 11:48:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120529154810.GA21039@phenom.dumpdata.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 28, 2012 at 08:04:40AM +0000, Ren, Yongjie wrote:
> Hi Jackson,
> Our team spares some effort in regular testing against xen-unstable tree.
> I know you are doing some testing against xen.

I am testing against Xen 4.1 and everynight latest Linus's tree.

> Which Dom0 are you using in your oss test, Konrad's xen.git or upstream linux.git ?

I am using Linus' tree everynight. And then whenever I've new patches
I use my #testing or just do

git checkout linus/master
git merge stable/XXX
and test that out.

> And which Dom0 do you recommend in my regular testing?

Uhhh? You mean distro?

> (Not sure you are the right person for this question? :-) )
> 
> Best Regards,
>      Yongjie (Jay)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:55:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:55:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOlH-0000qE-38; Tue, 29 May 2012 15:55:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZOlF-0000q9-8h
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:55:05 +0000
Received: from [85.158.143.99:36264] by server-3.bemta-4.messagelabs.com id
	B1/84-05853-851F4CF4; Tue, 29 May 2012 15:55:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338306901!20713187!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16102 invoked from network); 29 May 2012 15:55:03 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 15:55:03 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TFsuUa031107
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 15:54:56 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TFstkk026822
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 15:54:55 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TFssmd026497; Tue, 29 May 2012 10:54:54 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 08:54:54 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 5415B40290; Tue, 29 May 2012 11:48:10 -0400 (EDT)
Date: Tue, 29 May 2012 11:48:10 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Ren, Yongjie" <yongjie.ren@intel.com>
Message-ID: <20120529154810.GA21039@phenom.dumpdata.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 28, 2012 at 08:04:40AM +0000, Ren, Yongjie wrote:
> Hi Jackson,
> Our team spares some effort in regular testing against xen-unstable tree.
> I know you are doing some testing against xen.

I am testing against Xen 4.1 and everynight latest Linus's tree.

> Which Dom0 are you using in your oss test, Konrad's xen.git or upstream linux.git ?

I am using Linus' tree everynight. And then whenever I've new patches
I use my #testing or just do

git checkout linus/master
git merge stable/XXX
and test that out.

> And which Dom0 do you recommend in my regular testing?

Uhhh? You mean distro?

> (Not sure you are the right person for this question? :-) )
> 
> Best Regards,
>      Yongjie (Jay)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:56:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOmt-0000uV-WE; Tue, 29 May 2012 15:56:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZOmt-0000uK-5M
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:56:47 +0000
Received: from [193.109.254.147:7476] by server-4.bemta-14.messagelabs.com id
	58/DD-14693-EB1F4CF4; Tue, 29 May 2012 15:56:46 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338307002!4986273!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29491 invoked from network); 29 May 2012 15:56:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:56:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196768417"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:56:42 -0400
Received: from drall.uk.xensource.com (10.80.227.107) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:56:41 -0400
MIME-Version: 1.0
X-Mercurial-Node: 0cf61ed6ce86de2b61db85e0d50ac598a7fe8703
Message-ID: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 16:56:40 +0100
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: xen-devel@lists.xen.org
Cc: simon.rowe@eu.citrix.com
Subject: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xs_watch() creates a thread to wake watchers using default attributes. The
stacksize can be quite large (8 MB on Linux), applications that link against
xenstore end up having a larger memory footprint than necessary.

Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>

diff -r 53e0571f94e4 -r 0cf61ed6ce86 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c	Fri May 25 08:21:25 2012 +0100
+++ b/tools/xenstore/xs.c	Tue May 29 16:45:03 2012 +0100
@@ -705,11 +705,31 @@ bool xs_watch(struct xs_handle *h, const
 	/* We dynamically create a reader thread on demand. */
 	mutex_lock(&h->request_mutex);
 	if (!h->read_thr_exists) {
+#if _POSIX_THREAD_ATTR_STACKSIZE > 0
+		pthread_attr_t attr;
+
+		if (pthread_attr_init(&attr) != 0) {
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {
+			pthread_attr_destroy(&attr);
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+
+		if (pthread_create(&h->read_thr, &attr, read_thread, h) != 0) {
+			pthread_attr_destroy(&attr);
+#else
 		if (pthread_create(&h->read_thr, NULL, read_thread, h) != 0) {
+#endif
 			mutex_unlock(&h->request_mutex);
 			return false;
 		}
 		h->read_thr_exists = 1;
+#if _POSIX_THREAD_ATTR_STACKSIZE > 0
+		pthread_attr_destroy(&attr);
+#endif
 	}
 	mutex_unlock(&h->request_mutex);
 #endif

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:56:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOmt-0000uV-WE; Tue, 29 May 2012 15:56:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZOmt-0000uK-5M
	for xen-devel@lists.xen.org; Tue, 29 May 2012 15:56:47 +0000
Received: from [193.109.254.147:7476] by server-4.bemta-14.messagelabs.com id
	58/DD-14693-EB1F4CF4; Tue, 29 May 2012 15:56:46 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338307002!4986273!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29491 invoked from network); 29 May 2012 15:56:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:56:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196768417"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 11:56:42 -0400
Received: from drall.uk.xensource.com (10.80.227.107) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 11:56:41 -0400
MIME-Version: 1.0
X-Mercurial-Node: 0cf61ed6ce86de2b61db85e0d50ac598a7fe8703
Message-ID: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Tue, 29 May 2012 16:56:40 +0100
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: xen-devel@lists.xen.org
Cc: simon.rowe@eu.citrix.com
Subject: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xs_watch() creates a thread to wake watchers using default attributes. The
stacksize can be quite large (8 MB on Linux), applications that link against
xenstore end up having a larger memory footprint than necessary.

Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>

diff -r 53e0571f94e4 -r 0cf61ed6ce86 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c	Fri May 25 08:21:25 2012 +0100
+++ b/tools/xenstore/xs.c	Tue May 29 16:45:03 2012 +0100
@@ -705,11 +705,31 @@ bool xs_watch(struct xs_handle *h, const
 	/* We dynamically create a reader thread on demand. */
 	mutex_lock(&h->request_mutex);
 	if (!h->read_thr_exists) {
+#if _POSIX_THREAD_ATTR_STACKSIZE > 0
+		pthread_attr_t attr;
+
+		if (pthread_attr_init(&attr) != 0) {
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {
+			pthread_attr_destroy(&attr);
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+
+		if (pthread_create(&h->read_thr, &attr, read_thread, h) != 0) {
+			pthread_attr_destroy(&attr);
+#else
 		if (pthread_create(&h->read_thr, NULL, read_thread, h) != 0) {
+#endif
 			mutex_unlock(&h->request_mutex);
 			return false;
 		}
 		h->read_thr_exists = 1;
+#if _POSIX_THREAD_ATTR_STACKSIZE > 0
+		pthread_attr_destroy(&attr);
+#endif
 	}
 	mutex_unlock(&h->request_mutex);
 #endif

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:56:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOmp-0000u2-K6; Tue, 29 May 2012 15:56:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZOmo-0000tv-5t
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:56:42 +0000
Received: from [85.158.138.51:18907] by server-8.bemta-3.messagelabs.com id
	09/76-24402-9B1F4CF4; Tue, 29 May 2012 15:56:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338307000!23383498!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27193 invoked from network); 29 May 2012 15:56:40 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:56:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719937"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:56:15 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:56:15 +0100
Date: Tue, 29 May 2012 16:56:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Stefano Stabellini wrote:
> Hi all,
> this patch series allows tools/ to compile on ARM, mostly providing an
> empty implementation for all the arch specific functions that are needed.
> 
> All the patches of this series have been previously acked.

I am proposing this series for 4.2, not only because it has been acked
since the beginning of March
(http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
any functional changes since then, but also because the X86 changes are
limited to code motion and related Makefile.

In particular:

- patch #1
the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;

- patch #4
moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
libxl_cpuid.c;

- patch #6
moves 10 lines from libxl_create.c to libxl_x86.c;

- patch #7
move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
libxl_x86.c.






> 
> Changes in v7:
> 
> - rebase on "x86_64: Record entry vector for double faults.";
> 
> - split the last patch in three patches to make it easier to read and
> find all the code motions (I kept the acked-by on all the patches
> because there are no changes except the split).
> 
> 
> Changes in v6:
> 
> - rebase on 33659563f589 (this is a mercurial id).
> 
> 
> Changes in v5:
> 
> - libxc: return -1 and set errno on error;
> 
> - add few missing emacs runes in new files.
> 
> 
> Changes in v4:
> 
> - rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;
> 
> - minor compile fixes.
> 
> 
> 
> Changes in v3:
> 
> - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;
> 
> - rename xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - remove xc_nohvm, introduce xc_hvm_build_arm.c instead;
> 
> - remove "libxl: do not allocate e820 for non x86 guests.";
> 
> - introduce libxl__arch_domain_create.
> 
> 
> 
> Changes in v2:
> 
> - rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
> 
> - dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
> xen-unstable;
> 
> - define xen_callback_t as uint64_t;
> 
> - define guest_word_t as uint64_t.
> 
> 
> 
> Stefano Stabellini (8):
>       arm: compile libxenguest
>       arm: compile memshr
>       arm: compile xentrace
>       arm: compile libxl
>       libxl: Introduce libxl__arch_domain_create
>       libxl: Introduce libxl__arch_domain_create (x86 version)
>       libxl: move e820_names, e820_sanitize, libxl__e820_alloc to libxl_x86.c
>       libxl: make libxl__e820_alloc a static function
> 
>  tools/libxc/Makefile           |   12 +-
>  tools/libxc/xc_dom_arm.c       |   50 +++++
>  tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
>  tools/libxc/xc_hvm_build_arm.c |   49 ++++
>  tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
>  tools/libxc/xc_nomigrate.c     |   54 +++++
>  tools/libxl/Makefile           |    5 +-
>  tools/libxl/libxl_arch.h       |   22 ++
>  tools/libxl/libxl_cpuid.c      |   60 +++++
>  tools/libxl/libxl_create.c     |   12 +-
>  tools/libxl/libxl_internal.h   |    2 -
>  tools/libxl/libxl_json.c       |   60 -----
>  tools/libxl/libxl_noarch.c     |    8 +
>  tools/libxl/libxl_nocpuid.c    |    8 +-
>  tools/libxl/libxl_pci.c        |  242 --------------------
>  tools/libxl/libxl_x86.c        |  262 ++++++++++++++++++++++
>  tools/memshr/bidir-hash.c      |   31 +++
>  tools/xentrace/xenctx.c        |   12 +
>  18 files changed, 1041 insertions(+), 792 deletions(-)
> 
> 
> Cheers,
> 
> Stefano
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 15:56:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 15:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOmp-0000u2-K6; Tue, 29 May 2012 15:56:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZOmo-0000tv-5t
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 15:56:42 +0000
Received: from [85.158.138.51:18907] by server-8.bemta-3.messagelabs.com id
	09/76-24402-9B1F4CF4; Tue, 29 May 2012 15:56:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338307000!23383498!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27193 invoked from network); 29 May 2012 15:56:40 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 15:56:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12719937"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 15:56:15 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 16:56:15 +0100
Date: Tue, 29 May 2012 16:56:10 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
Message-ID: <alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Stefano Stabellini wrote:
> Hi all,
> this patch series allows tools/ to compile on ARM, mostly providing an
> empty implementation for all the arch specific functions that are needed.
> 
> All the patches of this series have been previously acked.

I am proposing this series for 4.2, not only because it has been acked
since the beginning of March
(http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
any functional changes since then, but also because the X86 changes are
limited to code motion and related Makefile.

In particular:

- patch #1
the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;

- patch #4
moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
libxl_cpuid.c;

- patch #6
moves 10 lines from libxl_create.c to libxl_x86.c;

- patch #7
move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
libxl_x86.c.






> 
> Changes in v7:
> 
> - rebase on "x86_64: Record entry vector for double faults.";
> 
> - split the last patch in three patches to make it easier to read and
> find all the code motions (I kept the acked-by on all the patches
> because there are no changes except the split).
> 
> 
> Changes in v6:
> 
> - rebase on 33659563f589 (this is a mercurial id).
> 
> 
> Changes in v5:
> 
> - libxc: return -1 and set errno on error;
> 
> - add few missing emacs runes in new files.
> 
> 
> Changes in v4:
> 
> - rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;
> 
> - minor compile fixes.
> 
> 
> 
> Changes in v3:
> 
> - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;
> 
> - rename xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - remove xc_nohvm, introduce xc_hvm_build_arm.c instead;
> 
> - remove "libxl: do not allocate e820 for non x86 guests.";
> 
> - introduce libxl__arch_domain_create.
> 
> 
> 
> Changes in v2:
> 
> - rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
> 
> - dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
> xen-unstable;
> 
> - define xen_callback_t as uint64_t;
> 
> - define guest_word_t as uint64_t.
> 
> 
> 
> Stefano Stabellini (8):
>       arm: compile libxenguest
>       arm: compile memshr
>       arm: compile xentrace
>       arm: compile libxl
>       libxl: Introduce libxl__arch_domain_create
>       libxl: Introduce libxl__arch_domain_create (x86 version)
>       libxl: move e820_names, e820_sanitize, libxl__e820_alloc to libxl_x86.c
>       libxl: make libxl__e820_alloc a static function
> 
>  tools/libxc/Makefile           |   12 +-
>  tools/libxc/xc_dom_arm.c       |   50 +++++
>  tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
>  tools/libxc/xc_hvm_build_arm.c |   49 ++++
>  tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
>  tools/libxc/xc_nomigrate.c     |   54 +++++
>  tools/libxl/Makefile           |    5 +-
>  tools/libxl/libxl_arch.h       |   22 ++
>  tools/libxl/libxl_cpuid.c      |   60 +++++
>  tools/libxl/libxl_create.c     |   12 +-
>  tools/libxl/libxl_internal.h   |    2 -
>  tools/libxl/libxl_json.c       |   60 -----
>  tools/libxl/libxl_noarch.c     |    8 +
>  tools/libxl/libxl_nocpuid.c    |    8 +-
>  tools/libxl/libxl_pci.c        |  242 --------------------
>  tools/libxl/libxl_x86.c        |  262 ++++++++++++++++++++++
>  tools/memshr/bidir-hash.c      |   31 +++
>  tools/xentrace/xenctx.c        |   12 +
>  18 files changed, 1041 insertions(+), 792 deletions(-)
> 
> 
> Cheers,
> 
> Stefano
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:01:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOrQ-0001ce-N6; Tue, 29 May 2012 16:01:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOrO-0001cV-BA
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:01:26 +0000
Received: from [85.158.138.51:53444] by server-2.bemta-3.messagelabs.com id
	6A/D8-27819-5D2F4CF4; Tue, 29 May 2012 16:01:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338307284!11045556!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2545 invoked from network); 29 May 2012 16:01:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:01:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12720064"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 16:00:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 17:00:45 +0100
Message-ID: <1338307243.31698.10.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 17:00:43 +0100
In-Reply-To: <alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:56 +0100, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Stefano Stabellini wrote:
> > Hi all,
> > this patch series allows tools/ to compile on ARM, mostly providing an
> > empty implementation for all the arch specific functions that are needed.
> > 
> > All the patches of this series have been previously acked.
> 
> I am proposing this series for 4.2, not only because it has been acked
> since the beginning of March
> (http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
> any functional changes since then, but also because the X86 changes are
> limited to code motion and related Makefile.
> 
> In particular:
> 
> - patch #1
> the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - patch #4
> moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
> libxl_cpuid.c;
> 
> - patch #6
> moves 10 lines from libxl_create.c to libxl_x86.c;
> 
> - patch #7
> move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
> libxl_x86.c.

and the remainder is all #if __arm__ or similar.

I think on that basis we can take this for 4.2.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:01:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOrQ-0001ce-N6; Tue, 29 May 2012 16:01:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZOrO-0001cV-BA
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:01:26 +0000
Received: from [85.158.138.51:53444] by server-2.bemta-3.messagelabs.com id
	6A/D8-27819-5D2F4CF4; Tue, 29 May 2012 16:01:25 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338307284!11045556!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2545 invoked from network); 29 May 2012 16:01:25 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:01:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12720064"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 16:00:45 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 17:00:45 +0100
Message-ID: <1338307243.31698.10.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Tue, 29 May 2012 17:00:43 +0100
In-Reply-To: <alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:56 +0100, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Stefano Stabellini wrote:
> > Hi all,
> > this patch series allows tools/ to compile on ARM, mostly providing an
> > empty implementation for all the arch specific functions that are needed.
> > 
> > All the patches of this series have been previously acked.
> 
> I am proposing this series for 4.2, not only because it has been acked
> since the beginning of March
> (http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
> any functional changes since then, but also because the X86 changes are
> limited to code motion and related Makefile.
> 
> In particular:
> 
> - patch #1
> the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - patch #4
> moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
> libxl_cpuid.c;
> 
> - patch #6
> moves 10 lines from libxl_create.c to libxl_x86.c;
> 
> - patch #7
> move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
> libxl_x86.c.

and the remainder is all #if __arm__ or similar.

I think on that basis we can take this for 4.2.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:04:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:04:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOuP-0001lg-C3; Tue, 29 May 2012 16:04:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOuN-0001lZ-DC
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:04:31 +0000
Received: from [85.158.143.99:9264] by server-2.bemta-4.messagelabs.com id
	58/AA-12211-E83F4CF4; Tue, 29 May 2012 16:04:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338307469!26987977!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31644 invoked from network); 29 May 2012 16:04:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:04:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12720152"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 16:04:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 17:04:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZOuK-0004aH-Iz; Tue, 29 May 2012 16:04:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZOuK-0005tb-I4;
	Tue, 29 May 2012 17:04:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.62348.544084.794070@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 17:04:28 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338307243.31698.10.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
	<1338307243.31698.10.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v7 0/8] arm: compile tools"):
> On Tue, 2012-05-29 at 16:56 +0100, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Stefano Stabellini wrote:
> > > Hi all,
> > > this patch series allows tools/ to compile on ARM, mostly providing an
> > > empty implementation for all the arch specific functions that are needed.
> > > 
> > > All the patches of this series have been previously acked.
> > 
> > I am proposing this series for 4.2, not only because it has been acked
> > since the beginning of March
> > (http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
> > any functional changes since then, but also because the X86 changes are
> > limited to code motion and related Makefile.
> > 
> > In particular:
> > 
> > - patch #1
> > the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;
> > 
> > - patch #4
> > moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
> > libxl_cpuid.c;
> > 
> > - patch #6
> > moves 10 lines from libxl_create.c to libxl_x86.c;
> > 
> > - patch #7
> > move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
> > libxl_x86.c.
> 
> and the remainder is all #if __arm__ or similar.
> 
> I think on that basis we can take this for 4.2.

Yes, I agree.  Ian C, please go ahead and commit this when you're
ready to do so.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:04:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:04:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZOuP-0001lg-C3; Tue, 29 May 2012 16:04:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZOuN-0001lZ-DC
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:04:31 +0000
Received: from [85.158.143.99:9264] by server-2.bemta-4.messagelabs.com id
	58/AA-12211-E83F4CF4; Tue, 29 May 2012 16:04:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338307469!26987977!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31644 invoked from network); 29 May 2012 16:04:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:04:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12720152"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 16:04:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 17:04:28 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZOuK-0004aH-Iz; Tue, 29 May 2012 16:04:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZOuK-0005tb-I4;
	Tue, 29 May 2012 17:04:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20420.62348.544084.794070@mariner.uk.xensource.com>
Date: Tue, 29 May 2012 17:04:28 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338307243.31698.10.camel@zakaz.uk.xensource.com>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
	<1338307243.31698.10.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Tim Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [PATCH v7 0/8] arm: compile tools"):
> On Tue, 2012-05-29 at 16:56 +0100, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Stefano Stabellini wrote:
> > > Hi all,
> > > this patch series allows tools/ to compile on ARM, mostly providing an
> > > empty implementation for all the arch specific functions that are needed.
> > > 
> > > All the patches of this series have been previously acked.
> > 
> > I am proposing this series for 4.2, not only because it has been acked
> > since the beginning of March
> > (http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
> > any functional changes since then, but also because the X86 changes are
> > limited to code motion and related Makefile.
> > 
> > In particular:
> > 
> > - patch #1
> > the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;
> > 
> > - patch #4
> > moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
> > libxl_cpuid.c;
> > 
> > - patch #6
> > moves 10 lines from libxl_create.c to libxl_x86.c;
> > 
> > - patch #7
> > move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
> > libxl_x86.c.
> 
> and the remainder is all #if __arm__ or similar.
> 
> I think on that basis we can take this for 4.2.

Yes, I agree.  Ian C, please go ahead and commit this when you're
ready to do so.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:39:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPRk-00022f-8u; Tue, 29 May 2012 16:39:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZPRj-00022a-I5
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:38:59 +0000
Received: from [193.109.254.147:25242] by server-7.bemta-14.messagelabs.com id
	7A/74-20336-2ABF4CF4; Tue, 29 May 2012 16:38:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338309537!6682828!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14371 invoked from network); 29 May 2012 16:38:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:38:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12721118"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 16:38:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 17:38:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZPRh-0004lg-4d;
	Tue, 29 May 2012 16:38:57 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZPRg-00041T-SX;
	Tue, 29 May 2012 17:38:57 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12979-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 29 May 2012 17:38:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12979: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12979 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12979/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12978

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  52ffce7a036e
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=52ffce7a036e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 52ffce7a036e
+ branch=xen-unstable
+ revision=52ffce7a036e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 52ffce7a036e ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 7 changesets with 25 changes to 21 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:39:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPRk-00022f-8u; Tue, 29 May 2012 16:39:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZPRj-00022a-I5
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:38:59 +0000
Received: from [193.109.254.147:25242] by server-7.bemta-14.messagelabs.com id
	7A/74-20336-2ABF4CF4; Tue, 29 May 2012 16:38:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338309537!6682828!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14371 invoked from network); 29 May 2012 16:38:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:38:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330905600"; d="scan'208";a="12721118"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 16:38:57 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 17:38:57 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZPRh-0004lg-4d;
	Tue, 29 May 2012 16:38:57 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZPRg-00041T-SX;
	Tue, 29 May 2012 17:38:57 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12979-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 29 May 2012 17:38:56 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12979: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12979 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12979/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12978

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  52ffce7a036e
baseline version:
 xen                  53e0571f94e4

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=52ffce7a036e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable 52ffce7a036e
+ branch=xen-unstable
+ revision=52ffce7a036e
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r 52ffce7a036e ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 7 changesets with 25 changes to 21 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:46:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:46:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPYF-0002NU-Ua; Tue, 29 May 2012 16:45:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZPYC-0002NA-Ty
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:45:41 +0000
Received: from [85.158.139.83:15041] by server-9.bemta-5.messagelabs.com id
	B7/55-27779-43DF4CF4; Tue, 29 May 2012 16:45:40 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338309933!30897671!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3NzI0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10340 invoked from network); 29 May 2012 16:45:34 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-15.tower-182.messagelabs.com with SMTP;
	29 May 2012 16:45:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 29 May 2012 09:40:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105470027"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 09:40:23 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 09:40:21 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 00:40:19 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPaBa+9n82rQio0qm9KrCMXnTtJbg7QRg
Date: Tue, 29 May 2012 16:40:19 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
In-Reply-To: <20120529133858.GD29157@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Borislav Petkov wrote:
> On Mon, May 28, 2012 at 02:48:06PM +0000, Liu, Jinsong wrote:
>>> An approach which basically same as you suggested but w/ slightly
>>> update, is 1). at xen/mcelog.c, do
>>> misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog,
>>> define it as device_initcall(xen_late_init_mcelog) --> now linux dd
>>> ready, so xen mcelog divice would register successfully; 2). at
>>> native mce.c, change 1 line from
>>> device_initcall(mcheck_init_device) to
>>> device_initcall_sync(mcheck_init_device) --> so
>>> misc_register(&mce_chrdev_device) would be blocked by xen mcelog
>>> device; =20
>>>=20
>>> I have draft test it and works fine.
>>> Thought?
>>>=20
>>=20
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> RFC patch attached:
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>=20
>>=20
>> From d06e667632507d7ed8e18f952b0eb7cec3cfc55c Mon Sep 17 00:00:00
>> 2001 From: Liu, Jinsong <jinsong.liu@intel.com>
>> Date: Tue, 29 May 2012 06:13:19 +0800
>> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
>>=20
>> When MCA error occurs, it would be handled by Xen hypervisor first,
>> and then the error information would be sent to initial domain for
>> logging.=20
>>=20
>> This patch gets error information from Xen hypervisor and convert
>> Xen format error into Linux format mcelog. This logic is basically
>> self-contained, not touching other kernel components.
>>=20
>> By using tools like mcelog tool users could read specific error
>> information, like what they did under native Linux.
>>=20
>> To test follow directions outlined in
>> Documentation/acpi/apei/einj.txt=20
>>=20
>> Signed-off-by: Ke, Liping <liping.ke@intel.com>
>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>=20
> Still no go, this is current linus with your patch applied. I'll look
> into it=20
> later when there's time.

>From calltrace seems it's related to device_initcall.
Borislav, would you please send me your .config? I can try to reproduce it =
and debug it.
(BTW,  your kernel pull from git://git.kernel.org/pub/scm/linux/kernel/git/=
torvalds/linux.git? I want to keep same baseline with you)

Attached is the .config at my environment which boot linux3.4.0-rc1+ as dom=
0 at Xen platform. Under this environment & config it's OK.

Thanks,
Jinsong

>=20
> [    3.644961] initlevel:6=3Ddevice, 250 registered initcalls
> [    3.652666] BUG: unable to handle kernel NULL pointer dereference
> at 0000000000000048 [    3.661186] IP: [<ffffffff811ced67>]
> kobject_get+0x11/0x34 [    3.667018] PGD 0
> [    3.669409] Oops: 0000 [#1] SMP
> [    3.672988] CPU 21
> [    3.675436] Modules linked in:
> [    3.678839]
> [    3.680710] Pid: 1, comm: swapper/0 Tainted: G        W    3.4.0+
> #1 AMD [    3.689103] RIP: 0010:[<ffffffff811ced67>]=20
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.697665] RSP:
> 0000:ffff880425c67cd0  EFLAGS: 00010202 [    3.703322] RAX:
> ffff880425ff40b0 RBX: 0000000000000010 RCX: ffff880425c67c50 [  =20
> 3.710801] RDX: ffff880425ff4000 RSI: ffff8808259c5380 RDI:
> 0000000000000010 [    3.718302] RBP: ffff880425c67ce0 R08:
> 00000000fffffffe R09: 00000000ffffffff [    3.725780] R10:
> ffff8804a5c67e5f R11: 0000000000000000 R12: 0000000000000010 [  =20
> 3.733258] R13: 00000000fffffffe R14: 000000000000cbf8 R15:
> 0000000000011ec0 [    3.740738] FS:  0000000000000000(0000)
> GS:ffff880c27cc0000(0000) knlGS:0000000000000000 [    3.749472] CS:=20
> 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [    3.755564] CR2:
> 0000000000000048 CR3: 0000000001a0b000 CR4: 00000000000007e0 [  =20
> 3.763044] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000 [    3.770549] DR3: 0000000000000000 DR6:
> 00000000ffff0ff0 DR7: 0000000000000400 [    3.778026] Process
> swapper/0 (pid: 1, threadinfo ffff880425c66000, task
> ffff880425c78000) [    3.786934] Stack: [    3.789326]=20
> ffff880425c67d20 ffff8808259c5380 ffff880425c67d40 ffffffff811cedeb [
> 3.797368]  ffff880425c67d70 ffff880425c67da0 ffff8808259c5380
> ffff8808259c5380 [    3.805411]  0000000000000000 ffff8808259c5380
> 0000000000000010 0000000000000000 [    3.813453] Call Trace: [  =20
> 3.816253]  [<ffffffff811cedeb>] kobject_add_internal+0x61/0x249 [  =20
> 3.822693]  [<ffffffff811cf3ca>] kobject_add+0x91/0xa2 [    3.828290]=20
> [<ffffffff811cf5a9>] kobject_create_and_add+0x37/0x68 [    3.834821]=20
> [<ffffffff8144b91a>] threshold_create_device+0x1e5/0x342 [  =20
> 3.841633]  [<ffffffff814549c5>] ? mutex_lock+0x16/0x37 [    3.847295]
> [<ffffffff81031894>] ? cpu_maps_update_done+0x15/0x2d [    3.853824]=20
> [<ffffffff81ad0b0e>] threshold_init_device+0x1b/0x4f [    3.860265]=20
> [<ffffffff81ad0af3>] ? severities_debugfs_init+0x3b/0x3b [  =20
> 3.867054]  [<ffffffff810002f9>] do_one_initcall+0x7f/0x136 [  =20
> 3.873062]  [<ffffffff81ac8bca>] kernel_init+0x165/0x1fd [  =20
> 3.878807]  [<ffffffff81ac8495>] ? loglevel+0x31/0x31 [    3.884321]=20
> [<ffffffff8145e8d4>] kernel_thread_helper+0x4/0x10 [    3.890590]=20
> [<ffffffff81456d86>] ? retint_restore_args+0xe/0xe [    3.896885]=20
> [<ffffffff81ac8a65>] ? start_kernel+0x2ee/0x2ee [    3.902893]=20
> [<ffffffff8145e8d0>] ? gs_change+0xb/0xb [    3.908322] Code: aa 81
> 31 c0 e8 ac 90 01 00 4c 89 f7 e8 c5 42 f2 ff 5b 41 5c 41 5d 41 5e c9
> c3 55 48 89 e5 53 48 89 fb 48 83 ec 08 48 85 ff 74 1c <8b> 47 38 85
> c0 75 11 be 29 00 00 00 48 c7 c7 16 87 79 81 e8 95 [    3.928115] RIP
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.934032]  RSP
> <ffff880425c67cd0> [    3.937870] CR2: 0000000000000048 [  =20
> 3.941548] ---[ end trace 4eaa2a86a8e2da23 ]--- [    3.946581] Kernel
> panic - not syncing: Attempted to kill init! exitcode=3D0x00000009 [  =20
> 3.946581]    =20


--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_
Content-Type: application/octet-stream; name="config"
Content-Description: config
Content-Disposition: attachment; filename="config"; size=86497;
	creation-date="Tue, 29 May 2012 16:10:34 GMT";
	modification-date="Mon, 21 May 2012 11:03:00 GMT"
Content-Transfer-Encoding: base64

IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7IERPIE5PVCBFRElULgojIExpbnV4L3g4
Nl82NCAzLjQuMC1yYzEgS2VybmVsIENvbmZpZ3VyYXRpb24KIwpDT05GSUdfNjRCSVQ9eQojIENP
TkZJR19YODZfMzIgaXMgbm90IHNldApDT05GSUdfWDg2XzY0PXkKQ09ORklHX1g4Nj15CkNPTkZJ
R19JTlNUUlVDVElPTl9ERUNPREVSPXkKQ09ORklHX09VVFBVVF9GT1JNQVQ9ImVsZjY0LXg4Ni02
NCIKQ09ORklHX0FSQ0hfREVGQ09ORklHPSJhcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25m
aWciCkNPTkZJR19HRU5FUklDX0NNT1NfVVBEQVRFPXkKQ09ORklHX0NMT0NLU09VUkNFX1dBVENI
RE9HPXkKQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQpDT05GSUdfQVJDSF9DTE9DS1NPVVJD
RV9EQVRBPXkKQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJPQURDQVNUPXkKQ09ORklHX0xP
Q0tERVBfU1VQUE9SVD15CkNPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQpDT05GSUdfSEFWRV9M
QVRFTkNZVE9QX1NVUFBPUlQ9eQpDT05GSUdfTU1VPXkKQ09ORklHX05FRURfRE1BX01BUF9TVEFU
RT15CkNPTkZJR19ORUVEX1NHX0RNQV9MRU5HVEg9eQpDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkK
Q09ORklHX0dFTkVSSUNfQlVHPXkKQ09ORklHX0dFTkVSSUNfQlVHX1JFTEFUSVZFX1BPSU5URVJT
PXkKQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CkNPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15
CiMgQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0sgaXMgbm90IHNldApDT05GSUdfUldTRU1f
WENIR0FERF9BTEdPUklUSE09eQpDT05GSUdfQVJDSF9IQVNfQ1BVX0lETEVfV0FJVD15CkNPTkZJ
R19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CkNPTkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEw9
eQpDT05GSUdfQVJDSF9IQVNfQ1BVX1JFTEFYPXkKQ09ORklHX0FSQ0hfSEFTX0RFRkFVTFRfSURM
RT15CkNPTkZJR19BUkNIX0hBU19DQUNIRV9MSU5FX1NJWkU9eQpDT05GSUdfQVJDSF9IQVNfQ1BV
X0FVVE9QUk9CRT15CkNPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15CkNPTkZJR19ORUVE
X1BFUl9DUFVfRU1CRURfRklSU1RfQ0hVTks9eQpDT05GSUdfTkVFRF9QRVJfQ1BVX1BBR0VfRklS
U1RfQ0hVTks9eQpDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9QT1NTSUJMRT15CkNPTkZJR19BUkNI
X1NVU1BFTkRfUE9TU0lCTEU9eQpDT05GSUdfWk9ORV9ETUEzMj15CkNPTkZJR19BVURJVF9BUkNI
PXkKQ09ORklHX0FSQ0hfU1VQUE9SVFNfT1BUSU1JWkVEX0lOTElOSU5HPXkKQ09ORklHX0FSQ0hf
U1VQUE9SVFNfREVCVUdfUEFHRUFMTE9DPXkKQ09ORklHX1g4Nl82NF9TTVA9eQpDT05GSUdfWDg2
X0hUPXkKQ09ORklHX0FSQ0hfSFdFSUdIVF9DRkxBR1M9Ii1mY2FsbC1zYXZlZC1yZGkgLWZjYWxs
LXNhdmVkLXJzaSAtZmNhbGwtc2F2ZWQtcmR4IC1mY2FsbC1zYXZlZC1yY3ggLWZjYWxsLXNhdmVk
LXI4IC1mY2FsbC1zYXZlZC1yOSAtZmNhbGwtc2F2ZWQtcjEwIC1mY2FsbC1zYXZlZC1yMTEiCiMg
Q09ORklHX0tUSU1FX1NDQUxBUiBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0NQVV9QUk9CRV9SRUxF
QVNFPXkKQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0Uv
LmNvbmZpZyIKQ09ORklHX0hBVkVfSVJRX1dPUks9eQpDT05GSUdfSVJRX1dPUks9eQoKIwojIEdl
bmVyYWwgc2V0dXAKIwpDT05GSUdfRVhQRVJJTUVOVEFMPXkKQ09ORklHX0lOSVRfRU5WX0FSR19M
SU1JVD0zMgpDT05GSUdfQ1JPU1NfQ09NUElMRT0iIgpDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiMg
Q09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfS0VSTkVMX0da
SVA9eQpDT05GSUdfSEFWRV9LRVJORUxfQlpJUDI9eQpDT05GSUdfSEFWRV9LRVJORUxfTFpNQT15
CkNPTkZJR19IQVZFX0tFUk5FTF9YWj15CkNPTkZJR19IQVZFX0tFUk5FTF9MWk89eQpDT05GSUdf
S0VSTkVMX0daSVA9eQojIENPTkZJR19LRVJORUxfQlpJUDIgaXMgbm90IHNldAojIENPTkZJR19L
RVJORUxfTFpNQSBpcyBub3Qgc2V0CiMgQ09ORklHX0tFUk5FTF9YWiBpcyBub3Qgc2V0CiMgQ09O
RklHX0tFUk5FTF9MWk8gaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9IT1NUTkFNRT0iKG5vbmUp
IgpDT05GSUdfU1dBUD15CkNPTkZJR19TWVNWSVBDPXkKQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkK
Q09ORklHX1BPU0lYX01RVUVVRT15CkNPTkZJR19QT1NJWF9NUVVFVUVfU1lTQ1RMPXkKQ09ORklH
X0JTRF9QUk9DRVNTX0FDQ1Q9eQojIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1YzIGlzIG5vdCBz
ZXQKIyBDT05GSUdfRkhBTkRMRSBpcyBub3Qgc2V0CkNPTkZJR19UQVNLU1RBVFM9eQpDT05GSUdf
VEFTS19ERUxBWV9BQ0NUPXkKQ09ORklHX1RBU0tfWEFDQ1Q9eQpDT05GSUdfVEFTS19JT19BQ0NP
VU5USU5HPXkKQ09ORklHX0FVRElUPXkKQ09ORklHX0FVRElUU1lTQ0FMTD15CkNPTkZJR19BVURJ
VF9XQVRDSD15CkNPTkZJR19BVURJVF9UUkVFPXkKIyBDT05GSUdfQVVESVRfTE9HSU5VSURfSU1N
VVRBQkxFIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfR0VORVJJQ19IQVJESVJRUz15CgojCiMgSVJR
IHN1YnN5c3RlbQojCkNPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQ09ORklHX0dFTkVSSUNfSVJR
X1BST0JFPXkKQ09ORklHX0dFTkVSSUNfSVJRX1NIT1c9eQpDT05GSUdfR0VORVJJQ19QRU5ESU5H
X0lSUT15CkNPTkZJR19JUlFfRk9SQ0VEX1RIUkVBRElORz15CkNPTkZJR19TUEFSU0VfSVJRPXkK
CiMKIyBSQ1UgU3Vic3lzdGVtCiMKQ09ORklHX1RSRUVfUkNVPXkKIyBDT05GSUdfUFJFRU1QVF9S
Q1UgaXMgbm90IHNldApDT05GSUdfUkNVX0ZBTk9VVD0zMgojIENPTkZJR19SQ1VfRkFOT1VUX0VY
QUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfUkNVX0ZBU1RfTk9fSFogaXMgbm90IHNldAojIENPTkZJ
R19UUkVFX1JDVV9UUkFDRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQK
Q09ORklHX0xPR19CVUZfU0hJRlQ9MTgKQ09ORklHX0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0s9
eQpDT05GSUdfQ0dST1VQUz15CiMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJ
R19DR1JPVVBfRlJFRVpFUj15CiMgQ09ORklHX0NHUk9VUF9ERVZJQ0UgaXMgbm90IHNldApDT05G
SUdfQ1BVU0VUUz15CkNPTkZJR19QUk9DX1BJRF9DUFVTRVQ9eQpDT05GSUdfQ0dST1VQX0NQVUFD
Q1Q9eQpDT05GSUdfUkVTT1VSQ0VfQ09VTlRFUlM9eQojIENPTkZJR19DR1JPVVBfTUVNX1JFU19D
VExSIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0dST1VQX1BFUkYgaXMgbm90IHNldApDT05GSUdfQ0dS
T1VQX1NDSEVEPXkKQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQojIENPTkZJR19DRlNfQkFORFdJ
RFRIIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAojIENPTkZJ
R19CTEtfQ0dST1VQIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hFQ0tQT0lOVF9SRVNUT1JFIGlzIG5v
dCBzZXQKQ09ORklHX05BTUVTUEFDRVM9eQpDT05GSUdfVVRTX05TPXkKQ09ORklHX0lQQ19OUz15
CkNPTkZJR19VU0VSX05TPXkKQ09ORklHX1BJRF9OUz15CkNPTkZJR19ORVRfTlM9eQojIENPTkZJ
R19TQ0hFRF9BVVRPR1JPVVAgaXMgbm90IHNldApDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CkNP
TkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKQ09ORklHX1JFTEFZPXkKQ09ORklHX0JMS19ERVZf
SU5JVFJEPXkKQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKQ09ORklHX1JEX0daSVA9eQpDT05G
SUdfUkRfQlpJUDI9eQpDT05GSUdfUkRfTFpNQT15CkNPTkZJR19SRF9YWj15CkNPTkZJR19SRF9M
Wk89eQojIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CkNPTkZJR19TWVND
VEw9eQpDT05GSUdfQU5PTl9JTk9ERVM9eQojIENPTkZJR19FWFBFUlQgaXMgbm90IHNldApDT05G
SUdfVUlEMTY9eQojIENPTkZJR19TWVNDVExfU1lTQ0FMTCBpcyBub3Qgc2V0CkNPTkZJR19LQUxM
U1lNUz15CiMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CkNPTkZJR19IT1RQTFVHPXkK
Q09ORklHX1BSSU5USz15CkNPTkZJR19CVUc9eQpDT05GSUdfRUxGX0NPUkU9eQpDT05GSUdfUENT
UEtSX1BMQVRGT1JNPXkKQ09ORklHX0hBVkVfUENTUEtSX1BMQVRGT1JNPXkKQ09ORklHX0JBU0Vf
RlVMTD15CkNPTkZJR19GVVRFWD15CkNPTkZJR19FUE9MTD15CkNPTkZJR19TSUdOQUxGRD15CkNP
TkZJR19USU1FUkZEPXkKQ09ORklHX0VWRU5URkQ9eQpDT05GSUdfU0hNRU09eQpDT05GSUdfQUlP
PXkKIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldApDT05GSUdfSEFWRV9QRVJGX0VWRU5UUz15
CgojCiMgS2VybmVsIFBlcmZvcm1hbmNlIEV2ZW50cyBBbmQgQ291bnRlcnMKIwpDT05GSUdfUEVS
Rl9FVkVOVFM9eQojIENPTkZJR19QRVJGX0NPVU5URVJTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVC
VUdfUEVSRl9VU0VfVk1BTExPQyBpcyBub3Qgc2V0CkNPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15
CkNPTkZJR19QQ0lfUVVJUktTPXkKQ09ORklHX1NMVUJfREVCVUc9eQojIENPTkZJR19DT01QQVRf
QlJLIGlzIG5vdCBzZXQKIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CkNPTkZJR19TTFVCPXkKQ09O
RklHX1BST0ZJTElORz15CkNPTkZJR19UUkFDRVBPSU5UUz15CiMgQ09ORklHX09QUk9GSUxFIGlz
IG5vdCBzZXQKQ09ORklHX0hBVkVfT1BST0ZJTEU9eQpDT05GSUdfT1BST0ZJTEVfTk1JX1RJTUVS
PXkKQ09ORklHX0tQUk9CRVM9eQojIENPTkZJR19KVU1QX0xBQkVMIGlzIG5vdCBzZXQKQ09ORklH
X09QVFBST0JFUz15CkNPTkZJR19IQVZFX0VGRklDSUVOVF9VTkFMSUdORURfQUNDRVNTPXkKQ09O
RklHX0tSRVRQUk9CRVM9eQpDT05GSUdfVVNFUl9SRVRVUk5fTk9USUZJRVI9eQpDT05GSUdfSEFW
RV9JT1JFTUFQX1BST1Q9eQpDT05GSUdfSEFWRV9LUFJPQkVTPXkKQ09ORklHX0hBVkVfS1JFVFBS
T0JFUz15CkNPTkZJR19IQVZFX09QVFBST0JFUz15CkNPTkZJR19IQVZFX0FSQ0hfVFJBQ0VIT09L
PXkKQ09ORklHX0hBVkVfRE1BX0FUVFJTPXkKQ09ORklHX1VTRV9HRU5FUklDX1NNUF9IRUxQRVJT
PXkKQ09ORklHX0hBVkVfUkVHU19BTkRfU1RBQ0tfQUNDRVNTX0FQST15CkNPTkZJR19IQVZFX0RN
QV9BUElfREVCVUc9eQpDT05GSUdfSEFWRV9IV19CUkVBS1BPSU5UPXkKQ09ORklHX0hBVkVfTUlY
RURfQlJFQUtQT0lOVFNfUkVHUz15CkNPTkZJR19IQVZFX1VTRVJfUkVUVVJOX05PVElGSUVSPXkK
Q09ORklHX0hBVkVfUEVSRl9FVkVOVFNfTk1JPXkKQ09ORklHX0hBVkVfQVJDSF9KVU1QX0xBQkVM
PXkKQ09ORklHX0FSQ0hfSEFWRV9OTUlfU0FGRV9DTVBYQ0hHPXkKQ09ORklHX0hBVkVfQUxJR05F
RF9TVFJVQ1RfUEFHRT15CkNPTkZJR19IQVZFX0NNUFhDSEdfTE9DQUw9eQpDT05GSUdfSEFWRV9D
TVBYQ0hHX0RPVUJMRT15CkNPTkZJR19BUkNIX1dBTlRfT0xEX0NPTVBBVF9JUEM9eQoKIwojIEdD
T1YtYmFzZWQga2VybmVsIHByb2ZpbGluZwojCiMgQ09ORklHX0dDT1ZfS0VSTkVMIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSEFWRV9HRU5FUklDX0RNQV9DT0hFUkVOVCBpcyBub3Qgc2V0CkNPTkZJR19T
TEFCSU5GTz15CkNPTkZJR19SVF9NVVRFWEVTPXkKQ09ORklHX0JBU0VfU01BTEw9MApDT05GSUdf
TU9EVUxFUz15CiMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKQ09ORklHX01P
RFVMRV9VTkxPQUQ9eQpDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CiMgQ09ORklHX01PRFZF
UlNJT05TIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBz
ZXQKQ09ORklHX1NUT1BfTUFDSElORT15CkNPTkZJR19CTE9DSz15CkNPTkZJR19CTEtfREVWX0JT
Rz15CkNPTkZJR19CTEtfREVWX0JTR0xJQj15CiMgQ09ORklHX0JMS19ERVZfSU5URUdSSVRZIGlz
IG5vdCBzZXQKCiMKIyBQYXJ0aXRpb24gVHlwZXMKIwpDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VE
PXkKIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX09TRl9QQVJUSVRJ
T049eQpDT05GSUdfQU1JR0FfUEFSVElUSU9OPXkKIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlz
IG5vdCBzZXQKQ09ORklHX01BQ19QQVJUSVRJT049eQpDT05GSUdfTVNET1NfUEFSVElUSU9OPXkK
Q09ORklHX0JTRF9ESVNLTEFCRUw9eQpDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKQ09ORklH
X1NPTEFSSVNfWDg2X1BBUlRJVElPTj15CkNPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQojIENP
TkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX1NHSV9QQVJUSVRJT049eQojIENP
TkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX1NVTl9QQVJUSVRJT049eQpD
T05GSUdfS0FSTUFfUEFSVElUSU9OPXkKQ09ORklHX0VGSV9QQVJUSVRJT049eQojIENPTkZJR19T
WVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX0JMT0NLX0NPTVBBVD15CgojCiMgSU8g
U2NoZWR1bGVycwojCkNPTkZJR19JT1NDSEVEX05PT1A9eQpDT05GSUdfSU9TQ0hFRF9ERUFETElO
RT15CkNPTkZJR19JT1NDSEVEX0NGUT15CiMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90
IHNldApDT05GSUdfREVGQVVMVF9DRlE9eQojIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNl
dApDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCkNPTkZJR19QUkVFTVBUX05PVElGSUVSUz15
CiMgQ09ORklHX0lOTElORV9TUElOX1RSWUxPQ0sgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVf
U1BJTl9UUllMT0NLX0JIIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1NQSU5fTE9DSyBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX0xPQ0tfQkggaXMgbm90IHNldAojIENPTkZJR19J
TkxJTkVfU1BJTl9MT0NLX0lSUSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX0xPQ0tf
SVJRU0FWRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX1VOTE9DS19CSCBpcyBub3Qg
c2V0CkNPTkZJR19JTkxJTkVfU1BJTl9VTkxPQ0tfSVJRPXkKIyBDT05GSUdfSU5MSU5FX1NQSU5f
VU5MT0NLX0lSUVJFU1RPUkUgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfUkVBRF9UUllMT0NL
IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1JFQURfTE9DSyBpcyBub3Qgc2V0CiMgQ09ORklH
X0lOTElORV9SRUFEX0xPQ0tfQkggaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfUkVBRF9MT0NL
X0lSUSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9SRUFEX0xPQ0tfSVJRU0FWRSBpcyBub3Qg
c2V0CkNPTkZJR19JTkxJTkVfUkVBRF9VTkxPQ0s9eQojIENPTkZJR19JTkxJTkVfUkVBRF9VTkxP
Q0tfQkggaXMgbm90IHNldApDT05GSUdfSU5MSU5FX1JFQURfVU5MT0NLX0lSUT15CiMgQ09ORklH
X0lOTElORV9SRUFEX1VOTE9DS19JUlFSRVNUT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5F
X1dSSVRFX1RSWUxPQ0sgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfV1JJVEVfTE9DSyBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lOTElORV9XUklURV9MT0NLX0JIIGlzIG5vdCBzZXQKIyBDT05GSUdf
SU5MSU5FX1dSSVRFX0xPQ0tfSVJRIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1dSSVRFX0xP
Q0tfSVJRU0FWRSBpcyBub3Qgc2V0CkNPTkZJR19JTkxJTkVfV1JJVEVfVU5MT0NLPXkKIyBDT05G
SUdfSU5MSU5FX1dSSVRFX1VOTE9DS19CSCBpcyBub3Qgc2V0CkNPTkZJR19JTkxJTkVfV1JJVEVf
VU5MT0NLX0lSUT15CiMgQ09ORklHX0lOTElORV9XUklURV9VTkxPQ0tfSVJRUkVTVE9SRSBpcyBu
b3Qgc2V0CkNPTkZJR19NVVRFWF9TUElOX09OX09XTkVSPXkKQ09ORklHX0ZSRUVaRVI9eQoKIwoj
IFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwojCkNPTkZJR19aT05FX0RNQT15CkNPTkZJR19U
SUNLX09ORVNIT1Q9eQpDT05GSUdfTk9fSFo9eQpDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKQ09O
RklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQpDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5U
U19NSU5fQURKVVNUPXkKQ09ORklHX1NNUD15CkNPTkZJR19YODZfTVBQQVJTRT15CkNPTkZJR19Y
ODZfRVhURU5ERURfUExBVEZPUk09eQojIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0CkNPTkZJ
R19YODZfU1VQUE9SVFNfTUVNT1JZX0ZBSUxVUkU9eQpDT05GSUdfU0NIRURfT01JVF9GUkFNRV9Q
T0lOVEVSPXkKQ09ORklHX1BBUkFWSVJUX0dVRVNUPXkKIyBDT05GSUdfUEFSQVZJUlRfVElNRV9B
Q0NPVU5USU5HIGlzIG5vdCBzZXQKQ09ORklHX1hFTj15CkNPTkZJR19YRU5fRE9NMD15CkNPTkZJ
R19YRU5fUFJJVklMRUdFRF9HVUVTVD15CkNPTkZJR19YRU5fUFZIVk09eQpDT05GSUdfWEVOX01B
WF9ET01BSU5fTUVNT1JZPTUwMApDT05GSUdfWEVOX1NBVkVfUkVTVE9SRT15CkNPTkZJR19YRU5f
REVCVUdfRlM9eQpDT05GSUdfS1ZNX0NMT0NLPXkKIyBDT05GSUdfS1ZNX0dVRVNUIGlzIG5vdCBz
ZXQKQ09ORklHX1BBUkFWSVJUPXkKQ09ORklHX1BBUkFWSVJUX1NQSU5MT0NLUz15CkNPTkZJR19Q
QVJBVklSVF9DTE9DSz15CkNPTkZJR19QQVJBVklSVF9ERUJVRz15CkNPTkZJR19OT19CT09UTUVN
PXkKIyBDT05GSUdfTUVNVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX01LOCBpcyBub3Qgc2V0CiMg
Q09ORklHX01QU0MgaXMgbm90IHNldAojIENPTkZJR19NQ09SRTIgaXMgbm90IHNldAojIENPTkZJ
R19NQVRPTSBpcyBub3Qgc2V0CkNPTkZJR19HRU5FUklDX0NQVT15CkNPTkZJR19YODZfSU5URVJO
T0RFX0NBQ0hFX1NISUZUPTYKQ09ORklHX1g4Nl9DTVBYQ0hHPXkKQ09ORklHX1g4Nl9MMV9DQUNI
RV9TSElGVD02CkNPTkZJR19YODZfWEFERD15CkNPTkZJR19YODZfV1BfV09SS1NfT0s9eQpDT05G
SUdfWDg2X1RTQz15CkNPTkZJR19YODZfQ01QWENIRzY0PXkKQ09ORklHX1g4Nl9DTU9WPXkKQ09O
RklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NjQKQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CkNP
TkZJR19DUFVfU1VQX0lOVEVMPXkKQ09ORklHX0NQVV9TVVBfQU1EPXkKQ09ORklHX0NQVV9TVVBf
Q0VOVEFVUj15CkNPTkZJR19IUEVUX1RJTUVSPXkKQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQpD
T05GSUdfRE1JPXkKQ09ORklHX0dBUlRfSU9NTVU9eQojIENPTkZJR19DQUxHQVJZX0lPTU1VIGlz
IG5vdCBzZXQKQ09ORklHX1NXSU9UTEI9eQpDT05GSUdfSU9NTVVfSEVMUEVSPXkKIyBDT05GSUdf
TUFYU01QIGlzIG5vdCBzZXQKQ09ORklHX05SX0NQVVM9NjQKIyBDT05GSUdfU0NIRURfU01UIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0NIRURfTUMgaXMgbm90IHNldAojIENPTkZJR19JUlFfVElNRV9B
Q0NPVU5USU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5vdCBzZXQKQ09O
RklHX1BSRUVNUFRfVk9MVU5UQVJZPXkKIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0CkNPTkZJ
R19YODZfTE9DQUxfQVBJQz15CkNPTkZJR19YODZfSU9fQVBJQz15CkNPTkZJR19YODZfUkVST1VU
RV9GT1JfQlJPS0VOX0JPT1RfSVJRUz15CkNPTkZJR19YODZfTUNFPXkKQ09ORklHX1g4Nl9NQ0Vf
SU5URUw9eQpDT05GSUdfWDg2X01DRV9BTUQ9eQpDT05GSUdfWDg2X01DRV9USFJFU0hPTEQ9eQpD
T05GSUdfWDg2X01DRV9JTkpFQ1Q9eQpDT05GSUdfWDg2X1RIRVJNQUxfVkVDVE9SPXkKIyBDT05G
SUdfSThLIGlzIG5vdCBzZXQKQ09ORklHX01JQ1JPQ09ERT15CkNPTkZJR19NSUNST0NPREVfSU5U
RUw9eQpDT05GSUdfTUlDUk9DT0RFX0FNRD15CkNPTkZJR19NSUNST0NPREVfT0xEX0lOVEVSRkFD
RT15CkNPTkZJR19YODZfTVNSPXkKQ09ORklHX1g4Nl9DUFVJRD15CkNPTkZJR19BUkNIX1BIWVNf
QUREUl9UXzY0QklUPXkKQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82NEJJVD15CkNPTkZJR19ESVJF
Q1RfR0JQQUdFUz15CiMgQ09ORklHX05VTUEgaXMgbm90IHNldApDT05GSUdfQVJDSF9TUEFSU0VN
RU1fRU5BQkxFPXkKQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0RFRkFVTFQ9eQpDT05GSUdfQVJDSF9T
RUxFQ1RfTUVNT1JZX01PREVMPXkKQ09ORklHX0FSQ0hfTUVNT1JZX1BST0JFPXkKQ09ORklHX0FS
Q0hfUFJPQ19LQ09SRV9URVhUPXkKQ09ORklHX0lMTEVHQUxfUE9JTlRFUl9WQUxVRT0weGRlYWQw
MDAwMDAwMDAwMDAKQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQpDT05GSUdfU1BBUlNFTUVN
X01BTlVBTD15CkNPTkZJR19TUEFSU0VNRU09eQpDT05GSUdfSEFWRV9NRU1PUllfUFJFU0VOVD15
CkNPTkZJR19TUEFSU0VNRU1fRVhUUkVNRT15CkNPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFC
TEU9eQpDT05GSUdfU1BBUlNFTUVNX0FMTE9DX01FTV9NQVBfVE9HRVRIRVI9eQojIENPTkZJR19T
UEFSU0VNRU1fVk1FTU1BUCBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX01FTUJMT0NLPXkKQ09ORklH
X0hBVkVfTUVNQkxPQ0tfTk9ERV9NQVA9eQpDT05GSUdfQVJDSF9ESVNDQVJEX01FTUJMT0NLPXkK
Q09ORklHX01FTU9SWV9IT1RQTFVHPXkKQ09ORklHX01FTU9SWV9IT1RQTFVHX1NQQVJTRT15CkNP
TkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQpDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAojIENP
TkZJR19DT01QQUNUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlHUkFUSU9OIGlzIG5vdCBzZXQK
Q09ORklHX1BIWVNfQUREUl9UXzY0QklUPXkKQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpDT05GSUdf
Qk9VTkNFPXkKQ09ORklHX1ZJUlRfVE9fQlVTPXkKQ09ORklHX01NVV9OT1RJRklFUj15CiMgQ09O
RklHX0tTTSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX01NQVBfTUlOX0FERFI9NDA5NgpDT05G
SUdfQVJDSF9TVVBQT1JUU19NRU1PUllfRkFJTFVSRT15CiMgQ09ORklHX01FTU9SWV9GQUlMVVJF
IGlzIG5vdCBzZXQKIyBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UgaXMgbm90IHNldAojIENP
TkZJR19DTEVBTkNBQ0hFIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9DSEVDS19CSU9TX0NPUlJVUFRJ
T049eQpDT05GSUdfWDg2X0JPT1RQQVJBTV9NRU1PUllfQ09SUlVQVElPTl9DSEVDSz15CkNPTkZJ
R19YODZfUkVTRVJWRV9MT1c9NjQKQ09ORklHX01UUlI9eQojIENPTkZJR19NVFJSX1NBTklUSVpF
UiBpcyBub3Qgc2V0CkNPTkZJR19YODZfUEFUPXkKQ09ORklHX0FSQ0hfVVNFU19QR19VTkNBQ0hF
RD15CkNPTkZJR19BUkNIX1JBTkRPTT15CkNPTkZJR19FRkk9eQojIENPTkZJR19FRklfU1RVQiBp
cyBub3Qgc2V0CkNPTkZJR19TRUNDT01QPXkKIyBDT05GSUdfQ0NfU1RBQ0tQUk9URUNUT1IgaXMg
bm90IHNldAojIENPTkZJR19IWl8xMDAgaXMgbm90IHNldAojIENPTkZJR19IWl8yNTAgaXMgbm90
IHNldAojIENPTkZJR19IWl8zMDAgaXMgbm90IHNldApDT05GSUdfSFpfMTAwMD15CkNPTkZJR19I
Wj0xMDAwCkNPTkZJR19TQ0hFRF9IUlRJQ0s9eQpDT05GSUdfS0VYRUM9eQpDT05GSUdfQ1JBU0hf
RFVNUD15CkNPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMDAKQ09ORklHX1JFTE9DQVRBQkxF
PXkKQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MTAwMDAwMApDT05GSUdfSE9UUExVR19DUFU9eQoj
IENPTkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiMgQ09ORklHX0NNRExJTkVfQk9PTCBpcyBu
b3Qgc2V0CkNPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15CkNPTkZJR19BUkNIX0VO
QUJMRV9NRU1PUllfSE9UUkVNT1ZFPXkKCiMKIyBQb3dlciBtYW5hZ2VtZW50IGFuZCBBQ1BJIG9w
dGlvbnMKIwpDT05GSUdfU1VTUEVORD15CkNPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQpDT05GSUdf
SElCRVJOQVRFX0NBTExCQUNLUz15CiMgQ09ORklHX0hJQkVSTkFUSU9OIGlzIG5vdCBzZXQKQ09O
RklHX1BNX1NMRUVQPXkKQ09ORklHX1BNX1NMRUVQX1NNUD15CiMgQ09ORklHX1BNX1JVTlRJTUUg
aXMgbm90IHNldApDT05GSUdfUE09eQpDT05GSUdfUE1fREVCVUc9eQojIENPTkZJR19QTV9BRFZB
TkNFRF9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1BNX1RFU1RfU1VTUEVORCBpcyBub3Qgc2V0
CkNPTkZJR19DQU5fUE1fVFJBQ0U9eQpDT05GSUdfUE1fVFJBQ0U9eQpDT05GSUdfUE1fVFJBQ0Vf
UlRDPXkKQ09ORklHX0FDUEk9eQpDT05GSUdfQUNQSV9TTEVFUD15CkNPTkZJR19BQ1BJX1BST0NG
Uz15CiMgQ09ORklHX0FDUElfUFJPQ0ZTX1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9F
Q19ERUJVR0ZTIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfUFJPQ19FVkVOVD15CkNPTkZJR19BQ1BJ
X0FDPXkKQ09ORklHX0FDUElfQkFUVEVSWT15CkNPTkZJR19BQ1BJX0JVVFRPTj15CkNPTkZJR19B
Q1BJX1ZJREVPPXkKQ09ORklHX0FDUElfRkFOPXkKQ09ORklHX0FDUElfRE9DSz15CkNPTkZJR19B
Q1BJX1BST0NFU1NPUj15CkNPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkKIyBDT05GSUdfQUNQSV9Q
Uk9DRVNTT1JfQUdHUkVHQVRPUiBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX1RIRVJNQUw9eQojIENP
TkZJR19BQ1BJX0NVU1RPTV9EU0RUIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lF
QVI9MAojIENPTkZJR19BQ1BJX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9QQ0lfU0xP
VCBpcyBub3Qgc2V0CkNPTkZJR19YODZfUE1fVElNRVI9eQpDT05GSUdfQUNQSV9DT05UQUlORVI9
eQpDT05GSUdfQUNQSV9IT1RQTFVHX01FTU9SWT15CiMgQ09ORklHX0FDUElfU0JTIGlzIG5vdCBz
ZXQKQ09ORklHX0FDUElfSEVEPXkKIyBDT05GSUdfQUNQSV9DVVNUT01fTUVUSE9EIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQUNQSV9CR1JUIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfQVBFST15CkNPTkZJ
R19BQ1BJX0FQRUlfR0hFUz15CkNPTkZJR19BQ1BJX0FQRUlfUENJRUFFUj15CkNPTkZJR19BQ1BJ
X0FQRUlfRUlOSj15CkNPTkZJR19BQ1BJX0FQRUlfRVJTVF9ERUJVRz15CiMgQ09ORklHX1NGSSBp
cyBub3Qgc2V0CgojCiMgQ1BVIEZyZXF1ZW5jeSBzY2FsaW5nCiMKQ09ORklHX0NQVV9GUkVRPXkK
Q09ORklHX0NQVV9GUkVRX1RBQkxFPXkKIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVCBpcyBub3Qgc2V0
CiMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFIGlzIG5vdCBzZXQKQ09O
RklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRT15CiMgQ09ORklHX0NQVV9GUkVRX0RF
RkFVTFRfR09WX09OREVNQU5EIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9H
T1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKQ09ORklHX0NQVV9GUkVRX0dPVl9QRVJGT1JNQU5D
RT15CiMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldApDT05GSUdfQ1BV
X0ZSRVFfR09WX1VTRVJTUEFDRT15CkNPTkZJR19DUFVfRlJFUV9HT1ZfT05ERU1BTkQ9eQojIENP
TkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKCiMKIyB4ODYgQ1BVIGZy
ZXF1ZW5jeSBzY2FsaW5nIGRyaXZlcnMKIwojIENPTkZJR19YODZfUENDX0NQVUZSRVEgaXMgbm90
IHNldApDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CiMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBp
cyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNldAojIENP
TkZJR19YODZfUDRfQ0xPQ0tNT0QgaXMgbm90IHNldAoKIwojIHNoYXJlZCBvcHRpb25zCiMKIyBD
T05GSUdfWDg2X1NQRUVEU1RFUF9MSUIgaXMgbm90IHNldApDT05GSUdfQ1BVX0lETEU9eQpDT05G
SUdfQ1BVX0lETEVfR09WX0xBRERFUj15CkNPTkZJR19DUFVfSURMRV9HT1ZfTUVOVT15CiMgQ09O
RklHX0lOVEVMX0lETEUgaXMgbm90IHNldAoKIwojIE1lbW9yeSBwb3dlciBzYXZpbmdzCiMKIyBD
T05GSUdfSTczMDBfSURMRSBpcyBub3Qgc2V0CgojCiMgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQoj
CkNPTkZJR19QQ0k9eQpDT05GSUdfUENJX0RJUkVDVD15CkNPTkZJR19QQ0lfTU1DT05GSUc9eQpD
T05GSUdfUENJX1hFTj15CkNPTkZJR19QQ0lfRE9NQUlOUz15CiMgQ09ORklHX1BDSV9DTkIyMExF
X1FVSVJLIGlzIG5vdCBzZXQKQ09ORklHX1BDSUVQT1JUQlVTPXkKIyBDT05GSUdfSE9UUExVR19Q
Q0lfUENJRSBpcyBub3Qgc2V0CkNPTkZJR19QQ0lFQUVSPXkKIyBDT05GSUdfUENJRV9FQ1JDIGlz
IG5vdCBzZXQKIyBDT05GSUdfUENJRUFFUl9JTkpFQ1QgaXMgbm90IHNldApDT05GSUdfUENJRUFT
UE09eQojIENPTkZJR19QQ0lFQVNQTV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19QQ0lFQVNQTV9E
RUZBVUxUPXkKIyBDT05GSUdfUENJRUFTUE1fUE9XRVJTQVZFIGlzIG5vdCBzZXQKIyBDT05GSUdf
UENJRUFTUE1fUEVSRk9STUFOQ0UgaXMgbm90IHNldApDT05GSUdfQVJDSF9TVVBQT1JUU19NU0k9
eQpDT05GSUdfUENJX01TST15CiMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklH
X1BDSV9SRUFMTE9DX0VOQUJMRV9BVVRPIGlzIG5vdCBzZXQKQ09ORklHX1BDSV9TVFVCPXkKQ09O
RklHX1hFTl9QQ0lERVZfRlJPTlRFTkQ9eQpDT05GSUdfSFRfSVJRPXkKQ09ORklHX1BDSV9BVFM9
eQpDT05GSUdfUENJX0lPVj15CiMgQ09ORklHX1BDSV9QUkkgaXMgbm90IHNldAojIENPTkZJR19Q
Q0lfUEFTSUQgaXMgbm90IHNldApDT05GSUdfUENJX0lPQVBJQz15CkNPTkZJR19QQ0lfTEFCRUw9
eQpDT05GSUdfSVNBX0RNQV9BUEk9eQpDT05GSUdfQU1EX05CPXkKQ09ORklHX1BDQ0FSRD15CkNP
TkZJR19QQ01DSUE9eQpDT05GSUdfUENNQ0lBX0xPQURfQ0lTPXkKQ09ORklHX0NBUkRCVVM9eQoK
IwojIFBDLWNhcmQgYnJpZGdlcwojCkNPTkZJR19ZRU5UQT15CkNPTkZJR19ZRU5UQV9PMj15CkNP
TkZJR19ZRU5UQV9SSUNPSD15CkNPTkZJR19ZRU5UQV9UST15CkNPTkZJR19ZRU5UQV9FTkVfVFVO
RT15CkNPTkZJR19ZRU5UQV9UT1NISUJBPXkKIyBDT05GSUdfUEQ2NzI5IGlzIG5vdCBzZXQKIyBD
T05GSUdfSTgyMDkyIGlzIG5vdCBzZXQKQ09ORklHX1BDQ0FSRF9OT05TVEFUSUM9eQpDT05GSUdf
SE9UUExVR19QQ0k9eQojIENPTkZJR19IT1RQTFVHX1BDSV9GQUtFIGlzIG5vdCBzZXQKIyBDT05G
SUdfSE9UUExVR19QQ0lfQUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kg
aXMgbm90IHNldAojIENPTkZJR19IT1RQTFVHX1BDSV9TSFBDIGlzIG5vdCBzZXQKIyBDT05GSUdf
UkFQSURJTyBpcyBub3Qgc2V0CgojCiMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMgLyBFbXVsYXRp
b25zCiMKQ09ORklHX0JJTkZNVF9FTEY9eQpDT05GSUdfQ09NUEFUX0JJTkZNVF9FTEY9eQpDT05G
SUdfQVJDSF9CSU5GTVRfRUxGX1JBTkRPTUlaRV9QSUU9eQpDT05GSUdfQ09SRV9EVU1QX0RFRkFV
TFRfRUxGX0hFQURFUlM9eQojIENPTkZJR19IQVZFX0FPVVQgaXMgbm90IHNldApDT05GSUdfQklO
Rk1UX01JU0M9eQpDT05GSUdfSUEzMl9FTVVMQVRJT049eQojIENPTkZJR19JQTMyX0FPVVQgaXMg
bm90IHNldAojIENPTkZJR19YODZfWDMyIGlzIG5vdCBzZXQKQ09ORklHX0NPTVBBVD15CkNPTkZJ
R19DT01QQVRfRk9SX1U2NF9BTElHTk1FTlQ9eQpDT05GSUdfU1lTVklQQ19DT01QQVQ9eQpDT05G
SUdfS0VZU19DT01QQVQ9eQpDT05GSUdfSEFWRV9URVhUX1BPS0VfU01QPXkKQ09ORklHX05FVD15
CkNPTkZJR19DT01QQVRfTkVUTElOS19NRVNTQUdFUz15CgojCiMgTmV0d29ya2luZyBvcHRpb25z
CiMKQ09ORklHX1BBQ0tFVD15CkNPTkZJR19VTklYPXkKIyBDT05GSUdfVU5JWF9ESUFHIGlzIG5v
dCBzZXQKQ09ORklHX1hGUk09eQpDT05GSUdfWEZSTV9VU0VSPXkKIyBDT05GSUdfWEZSTV9TVUJf
UE9MSUNZIGlzIG5vdCBzZXQKIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKIyBDT05G
SUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0
CkNPTkZJR19JTkVUPXkKQ09ORklHX0lQX01VTFRJQ0FTVD15CkNPTkZJR19JUF9BRFZBTkNFRF9S
T1VURVI9eQojIENPTkZJR19JUF9GSUJfVFJJRV9TVEFUUyBpcyBub3Qgc2V0CkNPTkZJR19JUF9N
VUxUSVBMRV9UQUJMRVM9eQpDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIPXkKQ09ORklHX0lQX1JP
VVRFX1ZFUkJPU0U9eQpDT05GSUdfSVBfUE5QPXkKQ09ORklHX0lQX1BOUF9ESENQPXkKQ09ORklH
X0lQX1BOUF9CT09UUD15CkNPTkZJR19JUF9QTlBfUkFSUD15CiMgQ09ORklHX05FVF9JUElQIGlz
IG5vdCBzZXQKIyBDT05GSUdfTkVUX0lQR1JFX0RFTVVYIGlzIG5vdCBzZXQKQ09ORklHX0lQX01S
T1VURT15CiMgQ09ORklHX0lQX01ST1VURV9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldApDT05G
SUdfSVBfUElNU01fVjE9eQpDT05GSUdfSVBfUElNU01fVjI9eQojIENPTkZJR19BUlBEIGlzIG5v
dCBzZXQKQ09ORklHX1NZTl9DT09LSUVTPXkKIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiMg
Q09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNl
dAojIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKQ09ORklHX0lORVRfVFVOTkVM
PXkKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdf
SU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01PREVf
QkVFVCBpcyBub3Qgc2V0CkNPTkZJR19JTkVUX0xSTz15CiMgQ09ORklHX0lORVRfRElBRyBpcyBu
b3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19BRFZBTkNFRD15CiMgQ09ORklHX1RDUF9DT05HX0JJQyBp
cyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19DVUJJQz15CiMgQ09ORklHX1RDUF9DT05HX1dFU1RX
T09EIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfSFRDUCBpcyBub3Qgc2V0CiMgQ09ORklH
X1RDUF9DT05HX0hTVENQIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfSFlCTEEgaXMgbm90
IHNldAojIENPTkZJR19UQ1BfQ09OR19WRUdBUyBpcyBub3Qgc2V0CiMgQ09ORklHX1RDUF9DT05H
X1NDQUxBQkxFIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfTFAgaXMgbm90IHNldAojIENP
TkZJR19UQ1BfQ09OR19WRU5PIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfWUVBSCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1RDUF9DT05HX0lMTElOT0lTIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFV
TFRfQ1VCSUM9eQojIENPTkZJR19ERUZBVUxUX1JFTk8gaXMgbm90IHNldApDT05GSUdfREVGQVVM
VF9UQ1BfQ09ORz0iY3ViaWMiCkNPTkZJR19UQ1BfTUQ1U0lHPXkKQ09ORklHX0lQVjY9eQojIENP
TkZJR19JUFY2X1BSSVZBQ1kgaXMgbm90IHNldAojIENPTkZJR19JUFY2X1JPVVRFUl9QUkVGIGlz
IG5vdCBzZXQKIyBDT05GSUdfSVBWNl9PUFRJTUlTVElDX0RBRCBpcyBub3Qgc2V0CkNPTkZJR19J
TkVUNl9BSD15CkNPTkZJR19JTkVUNl9FU1A9eQojIENPTkZJR19JTkVUNl9JUENPTVAgaXMgbm90
IHNldAojIENPTkZJR19JUFY2X01JUDYgaXMgbm90IHNldAojIENPTkZJR19JTkVUNl9YRlJNX1RV
Tk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CkNPTkZJR19J
TkVUNl9YRlJNX01PREVfVFJBTlNQT1JUPXkKQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUw9
eQpDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9eQojIENPTkZJR19JTkVUNl9YRlJNX01PREVf
Uk9VVEVPUFRJTUlaQVRJT04gaXMgbm90IHNldApDT05GSUdfSVBWNl9TSVQ9eQojIENPTkZJR19J
UFY2X1NJVF82UkQgaXMgbm90IHNldApDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CiMgQ09O
RklHX0lQVjZfVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMg
aXMgbm90IHNldAojIENPTkZJR19JUFY2X01ST1VURSBpcyBub3Qgc2V0CkNPTkZJR19ORVRMQUJF
TD15CkNPTkZJR19ORVRXT1JLX1NFQ01BUks9eQojIENPTkZJR19ORVRXT1JLX1BIWV9USU1FU1RB
TVBJTkcgaXMgbm90IHNldApDT05GSUdfTkVURklMVEVSPXkKIyBDT05GSUdfTkVURklMVEVSX0RF
QlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVURklMVEVSX0FEVkFOQ0VEIGlzIG5vdCBzZXQKCiMK
IyBDb3JlIE5ldGZpbHRlciBDb25maWd1cmF0aW9uCiMKQ09ORklHX05FVEZJTFRFUl9ORVRMSU5L
PXkKQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LX0xPRz15CkNPTkZJR19ORl9DT05OVFJBQ0s9eQpD
T05GSUdfTkZfQ09OTlRSQUNLX1NFQ01BUks9eQpDT05GSUdfTkZfQ09OTlRSQUNLX1BST0NGUz15
CkNPTkZJR19ORl9DT05OVFJBQ0tfRlRQPXkKQ09ORklHX05GX0NPTk5UUkFDS19JUkM9eQojIENP
TkZJR19ORl9DT05OVFJBQ0tfTkVUQklPU19OUyBpcyBub3Qgc2V0CkNPTkZJR19ORl9DT05OVFJB
Q0tfU0lQPXkKQ09ORklHX05GX0NUX05FVExJTks9eQpDT05GSUdfTkVURklMVEVSX1hUQUJMRVM9
eQoKIwojIFh0YWJsZXMgY29tYmluZWQgbW9kdWxlcwojCkNPTkZJR19ORVRGSUxURVJfWFRfTUFS
Sz1tCgojCiMgWHRhYmxlcyB0YXJnZXRzCiMKQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ09O
TlNFQ01BUks9eQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9MT0c9bQpDT05GSUdfTkVURklM
VEVSX1hUX1RBUkdFVF9ORkxPRz15CkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1NFQ01BUks9
eQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9UQ1BNU1M9eQoKIwojIFh0YWJsZXMgbWF0Y2hl
cwojCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTlRSQUNLPXkKQ09ORklHX05FVEZJTFRF
Ul9YVF9NQVRDSF9QT0xJQ1k9eQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUQVRFPXkKIyBD
T05GSUdfSVBfU0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfVlMgaXMgbm90IHNldAoKIwojIElQ
OiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgojCkNPTkZJR19ORl9ERUZSQUdfSVBWND15CkNPTkZJ
R19ORl9DT05OVFJBQ0tfSVBWND15CkNPTkZJR19ORl9DT05OVFJBQ0tfUFJPQ19DT01QQVQ9eQpD
T05GSUdfSVBfTkZfSVBUQUJMRVM9eQpDT05GSUdfSVBfTkZfRklMVEVSPXkKQ09ORklHX0lQX05G
X1RBUkdFVF9SRUpFQ1Q9eQpDT05GSUdfSVBfTkZfVEFSR0VUX1VMT0c9eQpDT05GSUdfTkZfTkFU
PXkKQ09ORklHX05GX05BVF9ORUVERUQ9eQpDT05GSUdfSVBfTkZfVEFSR0VUX01BU1FVRVJBREU9
eQpDT05GSUdfTkZfTkFUX0ZUUD15CkNPTkZJR19ORl9OQVRfSVJDPXkKIyBDT05GSUdfTkZfTkFU
X1RGVFAgaXMgbm90IHNldAojIENPTkZJR19ORl9OQVRfQU1BTkRBIGlzIG5vdCBzZXQKIyBDT05G
SUdfTkZfTkFUX1BQVFAgaXMgbm90IHNldAojIENPTkZJR19ORl9OQVRfSDMyMyBpcyBub3Qgc2V0
CkNPTkZJR19ORl9OQVRfU0lQPXkKQ09ORklHX0lQX05GX01BTkdMRT15CiMgQ09ORklHX0lQX05G
X1JBVyBpcyBub3Qgc2V0CgojCiMgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KIwpDT05G
SUdfTkZfREVGUkFHX0lQVjY9eQpDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjY9eQpDT05GSUdfSVA2
X05GX0lQVEFCTEVTPXkKQ09ORklHX0lQNl9ORl9NQVRDSF9JUFY2SEVBREVSPXkKQ09ORklHX0lQ
Nl9ORl9GSUxURVI9eQpDT05GSUdfSVA2X05GX1RBUkdFVF9SRUpFQ1Q9eQpDT05GSUdfSVA2X05G
X01BTkdMRT15CiMgQ09ORklHX0lQNl9ORl9SQVcgaXMgbm90IHNldAojIENPTkZJR19CUklER0Vf
TkZfRUJUQUJMRVMgaXMgbm90IHNldAojIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKIyBDT05G
SUdfSVBfU0NUUCBpcyBub3Qgc2V0CiMgQ09ORklHX1JEUyBpcyBub3Qgc2V0CiMgQ09ORklHX1RJ
UEMgaXMgbm90IHNldAojIENPTkZJR19BVE0gaXMgbm90IHNldAojIENPTkZJR19MMlRQIGlzIG5v
dCBzZXQKQ09ORklHX1NUUD15CkNPTkZJR19CUklER0U9eQpDT05GSUdfQlJJREdFX0lHTVBfU05P
T1BJTkc9eQojIENPTkZJR19ORVRfRFNBIGlzIG5vdCBzZXQKIyBDT05GSUdfVkxBTl84MDIxUSBp
cyBub3Qgc2V0CiMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CkNPTkZJR19MTEM9eQojIENPTkZJ
R19MTEMyIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRBTEsg
aXMgbm90IHNldAojIENPTkZJR19YMjUgaXMgbm90IHNldAojIENPTkZJR19MQVBCIGlzIG5vdCBz
ZXQKIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qg
c2V0CiMgQ09ORklHX1BIT05FVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lFRUU4MDIxNTQgaXMgbm90
IHNldApDT05GSUdfTkVUX1NDSEVEPXkKCiMKIyBRdWV1ZWluZy9TY2hlZHVsaW5nCiMKIyBDT05G
SUdfTkVUX1NDSF9DQlEgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0hUQiBpcyBub3Qgc2V0
CiMgQ09ORklHX05FVF9TQ0hfSEZTQyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfUFJJTyBp
cyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfTVVMVElRIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVU
X1NDSF9SRUQgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX1NGQiBpcyBub3Qgc2V0CiMgQ09O
RklHX05FVF9TQ0hfU0ZRIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9URVFMIGlzIG5vdCBz
ZXQKIyBDT05GSUdfTkVUX1NDSF9UQkYgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0dSRUQg
aXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0RTTUFSSyBpcyBub3Qgc2V0CiMgQ09ORklHX05F
VF9TQ0hfTkVURU0gaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0RSUiBpcyBub3Qgc2V0CiMg
Q09ORklHX05FVF9TQ0hfTVFQUklPIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9DSE9LRSBp
cyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfUUZRIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1ND
SF9JTkdSRVNTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9QTFVHIGlzIG5vdCBzZXQKCiMK
IyBDbGFzc2lmaWNhdGlvbgojCkNPTkZJR19ORVRfQ0xTPXkKIyBDT05GSUdfTkVUX0NMU19CQVNJ
QyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DTFNfVENJTkRFWCBpcyBub3Qgc2V0CiMgQ09ORklH
X05FVF9DTFNfUk9VVEU0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19GVyBpcyBub3Qgc2V0
CiMgQ09ORklHX05FVF9DTFNfVTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19SU1ZQIGlz
IG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19SU1ZQNiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9D
TFNfRkxPVyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DTFNfQ0dST1VQIGlzIG5vdCBzZXQKQ09O
RklHX05FVF9FTUFUQ0g9eQpDT05GSUdfTkVUX0VNQVRDSF9TVEFDSz0zMgojIENPTkZJR19ORVRf
RU1BVENIX0NNUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hfTkJZVEUgaXMgbm90IHNl
dAojIENPTkZJR19ORVRfRU1BVENIX1UzMiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hf
TUVUQSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hfVEVYVCBpcyBub3Qgc2V0CkNPTkZJ
R19ORVRfQ0xTX0FDVD15CiMgQ09ORklHX05FVF9BQ1RfUE9MSUNFIGlzIG5vdCBzZXQKIyBDT05G
SUdfTkVUX0FDVF9HQUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0FDVF9NSVJSRUQgaXMgbm90
IHNldAojIENPTkZJR19ORVRfQUNUX0lQVCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9BQ1RfTkFU
IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0FDVF9QRURJVCBpcyBub3Qgc2V0CiMgQ09ORklHX05F
VF9BQ1RfU0lNUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9BQ1RfU0tCRURJVCBpcyBub3Qgc2V0
CiMgQ09ORklHX05FVF9BQ1RfQ1NVTSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfU0NIX0ZJRk89eQoj
IENPTkZJR19EQ0IgaXMgbm90IHNldApDT05GSUdfRE5TX1JFU09MVkVSPXkKIyBDT05GSUdfQkFU
TUFOX0FEViBpcyBub3Qgc2V0CiMgQ09ORklHX09QRU5WU1dJVENIIGlzIG5vdCBzZXQKQ09ORklH
X1JQUz15CkNPTkZJR19SRlNfQUNDRUw9eQpDT05GSUdfWFBTPXkKIyBDT05GSUdfTkVUUFJJT19D
R1JPVVAgaXMgbm90IHNldApDT05GSUdfQlFMPXkKQ09ORklHX0hBVkVfQlBGX0pJVD15CiMgQ09O
RklHX0JQRl9KSVQgaXMgbm90IHNldAoKIwojIE5ldHdvcmsgdGVzdGluZwojCiMgQ09ORklHX05F
VF9QS1RHRU4gaXMgbm90IHNldAojIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAojIENP
TkZJR19ORVRfRFJPUF9NT05JVE9SIGlzIG5vdCBzZXQKQ09ORklHX0hBTVJBRElPPXkKCiMKIyBQ
YWNrZXQgUmFkaW8gcHJvdG9jb2xzCiMKIyBDT05GSUdfQVgyNSBpcyBub3Qgc2V0CiMgQ09ORklH
X0NBTiBpcyBub3Qgc2V0CiMgQ09ORklHX0lSREEgaXMgbm90IHNldAojIENPTkZJR19CVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKQ09ORklHX0ZJQl9SVUxFUz15CkNP
TkZJR19XSVJFTEVTUz15CkNPTkZJR19XRVhUX0NPUkU9eQpDT05GSUdfV0VYVF9QUk9DPXkKQ09O
RklHX0NGRzgwMjExPXkKIyBDT05GSUdfTkw4MDIxMV9URVNUTU9ERSBpcyBub3Qgc2V0CiMgQ09O
RklHX0NGRzgwMjExX0RFVkVMT1BFUl9XQVJOSU5HUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NGRzgw
MjExX1JFR19ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19DRkc4MDIxMV9ERUZBVUxUX1BTPXkKIyBD
T05GSUdfQ0ZHODAyMTFfREVCVUdGUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NGRzgwMjExX0lOVEVS
TkFMX1JFR0RCIGlzIG5vdCBzZXQKQ09ORklHX0NGRzgwMjExX1dFWFQ9eQpDT05GSUdfV0lSRUxF
U1NfRVhUX1NZU0ZTPXkKIyBDT05GSUdfTElCODAyMTEgaXMgbm90IHNldApDT05GSUdfTUFDODAy
MTE9eQpDT05GSUdfTUFDODAyMTFfSEFTX1JDPXkKQ09ORklHX01BQzgwMjExX1JDX01JTlNUUkVM
PXkKQ09ORklHX01BQzgwMjExX1JDX01JTlNUUkVMX0hUPXkKQ09ORklHX01BQzgwMjExX1JDX0RF
RkFVTFRfTUlOU1RSRUw9eQpDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0ibWluc3RyZWxfaHQi
CiMgQ09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldApDT05GSUdfTUFDODAyMTFfTEVEUz15
CiMgQ09ORklHX01BQzgwMjExX0RFQlVHRlMgaXMgbm90IHNldAojIENPTkZJR19NQUM4MDIxMV9E
RUJVR19NRU5VIGlzIG5vdCBzZXQKIyBDT05GSUdfV0lNQVggaXMgbm90IHNldApDT05GSUdfUkZL
SUxMPXkKQ09ORklHX1JGS0lMTF9MRURTPXkKQ09ORklHX1JGS0lMTF9JTlBVVD15CiMgQ09ORklH
X05FVF85UCBpcyBub3Qgc2V0CiMgQ09ORklHX0NBSUYgaXMgbm90IHNldAojIENPTkZJR19DRVBI
X0xJQiBpcyBub3Qgc2V0CiMgQ09ORklHX05GQyBpcyBub3Qgc2V0CgojCiMgRGV2aWNlIERyaXZl
cnMKIwoKIwojIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKIwpDT05GSUdfVUVWRU5UX0hFTFBFUl9Q
QVRIPSIvc2Jpbi9ob3RwbHVnIgojIENPTkZJR19ERVZUTVBGUyBpcyBub3Qgc2V0CkNPTkZJR19T
VEFOREFMT05FPXkKQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQpDT05GSUdfRldfTE9B
REVSPXkKQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTD15CkNPTkZJR19FWFRSQV9GSVJNV0FSRT0i
IgojIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldApDT05GSUdfREVCVUdfREVWUkVTPXkK
Q09ORklHX1NZU19IWVBFUlZJU09SPXkKIyBDT05GSUdfR0VORVJJQ19DUFVfREVWSUNFUyBpcyBu
b3Qgc2V0CkNPTkZJR19ETUFfU0hBUkVEX0JVRkZFUj15CkNPTkZJR19DT05ORUNUT1I9eQpDT05G
SUdfUFJPQ19FVkVOVFM9eQojIENPTkZJR19NVEQgaXMgbm90IHNldAojIENPTkZJR19QQVJQT1JU
IGlzIG5vdCBzZXQKQ09ORklHX1BOUD15CkNPTkZJR19QTlBfREVCVUdfTUVTU0FHRVM9eQoKIwoj
IFByb3RvY29scwojCkNPTkZJR19QTlBBQ1BJPXkKQ09ORklHX0JMS19ERVY9eQojIENPTkZJR19C
TEtfREVWX0ZEIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0NQUV9EQSBpcyBub3Qgc2V0CkNPTkZJ
R19CTEtfQ1BRX0NJU1NfREE9bQojIENPTkZJR19DSVNTX1NDU0lfVEFQRSBpcyBub3Qgc2V0CiMg
Q09ORklHX0JMS19ERVZfREFDOTYwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9VTUVNIGlz
IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKQ09ORklHX0JM
S19ERVZfTE9PUD1tCkNPTkZJR19CTEtfREVWX0xPT1BfTUlOX0NPVU5UPTY0CiMgQ09ORklHX0JM
S19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfRFJCRCBpcyBub3Qg
c2V0CiMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9OVk1F
IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TWDggaXMgbm90IHNldAojIENPTkZJR19CTEtf
REVWX1VCIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfUkFNPXkKQ09ORklHX0JMS19ERVZfUkFN
X0NPVU5UPTE2CkNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTE2Mzg0CiMgQ09ORklHX0JMS19ERVZf
WElQIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiMgQ09ORklH
X0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CkNPTkZJR19YRU5fQkxLREVWX0ZST05URU5EPXkKIyBD
T05GSUdfWEVOX0JMS0RFVl9CQUNLRU5EIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IRCBp
cyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUkJEIGlzIG5vdCBzZXQKCiMKIyBNaXNjIGRldmlj
ZXMKIwojIENPTkZJR19TRU5TT1JTX0xJUzNMVjAyRCBpcyBub3Qgc2V0CiMgQ09ORklHX0FENTI1
WF9EUE9UIGlzIG5vdCBzZXQKIyBDT05GSUdfSUJNX0FTTSBpcyBub3Qgc2V0CiMgQ09ORklHX1BI
QU5UT00gaXMgbm90IHNldAojIENPTkZJR19JTlRFTF9NSURfUFRJIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0dJX0lPQzQgaXMgbm90IHNldAojIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAojIENP
TkZJR19JQ1M5MzJTNDAxIGlzIG5vdCBzZXQKIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlz
IG5vdCBzZXQKIyBDT05GSUdfSFBfSUxPIGlzIG5vdCBzZXQKIyBDT05GSUdfQVBEUzk4MDJBTFMg
aXMgbm90IHNldAojIENPTkZJR19JU0wyOTAwMyBpcyBub3Qgc2V0CiMgQ09ORklHX0lTTDI5MDIw
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19CSDE3ODAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0JIMTc3MCBpcyBub3Qg
c2V0CiMgQ09ORklHX1NFTlNPUlNfQVBEUzk5MFggaXMgbm90IHNldAojIENPTkZJR19ITUM2MzUy
IGlzIG5vdCBzZXQKIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKIyBDT05GSUdfVk1XQVJFX0JB
TExPT04gaXMgbm90IHNldAojIENPTkZJR19CTVAwODUgaXMgbm90IHNldAojIENPTkZJR19QQ0hf
UEhVQiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TV0lUQ0hfRlNBOTQ4MCBpcyBub3Qgc2V0CiMg
Q09ORklHX0MyUE9SVCBpcyBub3Qgc2V0CgojCiMgRUVQUk9NIHN1cHBvcnQKIwojIENPTkZJR19F
RVBST01fQVQyNCBpcyBub3Qgc2V0CiMgQ09ORklHX0VFUFJPTV9MRUdBQ1kgaXMgbm90IHNldAoj
IENPTkZJR19FRVBST01fTUFYNjg3NSBpcyBub3Qgc2V0CiMgQ09ORklHX0VFUFJPTV85M0NYNiBp
cyBub3Qgc2V0CiMgQ09ORklHX0NCNzEwX0NPUkUgaXMgbm90IHNldAoKIwojIFRleGFzIEluc3Ry
dW1lbnRzIHNoYXJlZCB0cmFuc3BvcnQgbGluZSBkaXNjaXBsaW5lCiMKIyBDT05GSUdfU0VOU09S
U19MSVMzX0kyQyBpcyBub3Qgc2V0CgojCiMgQWx0ZXJhIEZQR0EgZmlybXdhcmUgZG93bmxvYWQg
bW9kdWxlCiMKIyBDT05GSUdfQUxURVJBX1NUQVBMIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfSURF
PXkKQ09ORklHX0lERT1tCgojCiMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0
IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwojCkNPTkZJR19CTEtfREVWX0lERV9TQVRBPXkK
Q09ORklHX0lERV9HRD1tCkNPTkZJR19JREVfR0RfQVRBPXkKIyBDT05GSUdfSURFX0dEX0FUQVBJ
IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JREVDUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JM
S19ERVZfREVMS0lOIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JREVDRCBpcyBub3Qgc2V0
CiMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURF
QUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKQ09ORklH
X0lERV9QUk9DX0ZTPXkKCiMKIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCiMKIyBDT05G
SUdfSURFX0dFTkVSSUMgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BMQVRGT1JNIGlzIG5v
dCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVW
X0lERVBOUCBpcyBub3Qgc2V0CgojCiMgUENJIElERSBjaGlwc2V0cyBzdXBwb3J0CiMKIyBDT05G
SUdfQkxLX0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlz
IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldAojIENPTkZJR19CTEtf
REVWX0FFQzYyWFggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0FMSTE1WDMgaXMgbm90IHNl
dAojIENPTkZJR19CTEtfREVWX0FNRDc0WFggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0FU
SUlYUCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQ01ENjRYIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkxLX0RFVl9UUklGTEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMg
bm90IHNldAojIENPTkZJR19CTEtfREVWX0NTNTUzMCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E
RVZfSFBUMzY2IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9KTUlDUk9OIGlzIG5vdCBzZXQK
IyBDT05GSUdfQkxLX0RFVl9TQzEyMDAgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BJSVgg
aXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0lUODE3MiBpcyBub3Qgc2V0CiMgQ09ORklHX0JM
S19ERVZfSVQ4MjEzIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JVDgyMVggaXMgbm90IHNl
dAojIENPTkZJR19CTEtfREVWX05TODc0MTUgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BE
QzIwMlhYX09MRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfTkVXIGlzIG5v
dCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TVldLUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZf
U0lJTUFHRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0lTNTUxMyBpcyBub3Qgc2V0CiMg
Q09ORklHX0JMS19ERVZfU0xDOTBFNjYgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1RSTTI5
MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVklBODJDWFhYIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkxLX0RFVl9UQzg2QzAwMSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURFRE1BIGlz
IG5vdCBzZXQKCiMKIyBTQ1NJIGRldmljZSBzdXBwb3J0CiMKQ09ORklHX1NDU0lfTU9EPW0KQ09O
RklHX1JBSURfQVRUUlM9bQpDT05GSUdfU0NTST1tCkNPTkZJR19TQ1NJX0RNQT15CiMgQ09ORklH
X1NDU0lfVEdUIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfTkVUTElOSz15CkNPTkZJR19TQ1NJX1BS
T0NfRlM9eQoKIwojIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCiMKQ09O
RklHX0JMS19ERVZfU0Q9bQojIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKIyBDT05GSUdf
Q0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfU1I9bQpDT05GSUdfQkxLX0RF
Vl9TUl9WRU5ET1I9eQpDT05GSUdfQ0hSX0RFVl9TRz1tCiMgQ09ORklHX0NIUl9ERVZfU0NIIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldApDT05GSUdfU0NTSV9D
T05TVEFOVFM9eQojIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAojIENPTkZJR19TQ1NJ
X1NDQU5fQVNZTkMgaXMgbm90IHNldApDT05GSUdfU0NTSV9XQUlUX1NDQU49bQoKIwojIFNDU0kg
VHJhbnNwb3J0cwojCkNPTkZJR19TQ1NJX1NQSV9BVFRSUz1tCkNPTkZJR19TQ1NJX0ZDX0FUVFJT
PW0KQ09ORklHX1NDU0lfSVNDU0lfQVRUUlM9bQpDT05GSUdfU0NTSV9TQVNfQVRUUlM9bQpDT05G
SUdfU0NTSV9TQVNfTElCU0FTPW0KIyBDT05GSUdfU0NTSV9TQVNfQVRBIGlzIG5vdCBzZXQKQ09O
RklHX1NDU0lfU0FTX0hPU1RfU01QPXkKIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNl
dApDT05GSUdfU0NTSV9MT1dMRVZFTD15CiMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CkNP
TkZJR19JU0NTSV9CT09UX1NZU0ZTPW0KQ09ORklHX1NDU0lfQ1hHQjNfSVNDU0k9bQojIENPTkZJ
R19TQ1NJX0NYR0I0X0lTQ1NJIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfQk5YMl9JU0NTST1tCiMg
Q09ORklHX1NDU0lfQk5YMlhfRkNPRSBpcyBub3Qgc2V0CkNPTkZJR19CRTJJU0NTST1tCkNPTkZJ
R19CTEtfREVWXzNXX1hYWFhfUkFJRD1tCiMgQ09ORklHX1NDU0lfSFBTQSBpcyBub3Qgc2V0CkNP
TkZJR19TQ1NJXzNXXzlYWFg9bQojIENPTkZJR19TQ1NJXzNXX1NBUyBpcyBub3Qgc2V0CkNPTkZJ
R19TQ1NJX0FDQVJEPW0KQ09ORklHX1NDU0lfQUFDUkFJRD1tCkNPTkZJR19TQ1NJX0FJQzdYWFg9
bQpDT05GSUdfQUlDN1hYWF9DTURTX1BFUl9ERVZJQ0U9MzIKQ09ORklHX0FJQzdYWFhfUkVTRVRf
REVMQVlfTVM9NTAwMApDT05GSUdfQUlDN1hYWF9ERUJVR19FTkFCTEU9eQpDT05GSUdfQUlDN1hY
WF9ERUJVR19NQVNLPTAKQ09ORklHX0FJQzdYWFhfUkVHX1BSRVRUWV9QUklOVD15CiMgQ09ORklH
X1NDU0lfQUlDN1hYWF9PTEQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90
IHNldAojIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldApDT05GSUdfU0NTSV9NVlNBUz1t
CiMgQ09ORklHX1NDU0lfTVZTQVNfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX01WU0FT
X1RBU0tMRVQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX01WVU1JIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qg
c2V0CiMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKIyBDT05GSUdfTUVHQVJBSURfTkVX
R0VOIGlzIG5vdCBzZXQKQ09ORklHX01FR0FSQUlEX0xFR0FDWT1tCkNPTkZJR19NRUdBUkFJRF9T
QVM9bQpDT05GSUdfU0NTSV9NUFQyU0FTPW0KQ09ORklHX1NDU0lfTVBUMlNBU19NQVhfU0dFPTEy
OAojIENPTkZJR19TQ1NJX01QVDJTQVNfTE9HR0lORyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf
VUZTSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9IUFRJT1AgaXMgbm90IHNldAojIENPTkZJ
R19TQ1NJX0JVU0xPR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfVk1XQVJFX1BWU0NTSSBpcyBub3Qg
c2V0CkNPTkZJR19MSUJGQz1tCkNPTkZJR19MSUJGQ09FPW0KQ09ORklHX0ZDT0U9bQpDT05GSUdf
RkNPRV9GTklDPW0KQ09ORklHX1NDU0lfRE1YMzE5MUQ9bQojIENPTkZJR19TQ1NJX0VBVEEgaXMg
bm90IHNldAojIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAojIENPTkZJR19T
Q1NJX0dEVEggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lTQ0kgaXMgbm90IHNldAojIENPTkZJ
R19TQ1NJX0lQUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVBS
IGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfUUxPR0lDXzEyODA9bQpDT05GSUdfU0NTSV9RTEFfRkM9
bQpDT05GSUdfU0NTSV9RTEFfSVNDU0k9bQojIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAoj
IENPTkZJR19TQ1NJX0RDMzk1eCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREMzOTBUIGlzIG5v
dCBzZXQKIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19TQ1NJX1BNQ1JBSUQ9
bQojIENPTkZJR19TQ1NJX1BNODAwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU1JQIGlzIG5v
dCBzZXQKQ09ORklHX1NDU0lfQkZBX0ZDPW0KIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEg
aXMgbm90IHNldAojIENPTkZJR19TQ1NJX0RIIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9PU0Rf
SU5JVElBVE9SIGlzIG5vdCBzZXQKQ09ORklHX0FUQT1tCiMgQ09ORklHX0FUQV9OT05TVEFOREFS
RCBpcyBub3Qgc2V0CkNPTkZJR19BVEFfVkVSQk9TRV9FUlJPUj15CkNPTkZJR19BVEFfQUNQST15
CkNPTkZJR19TQVRBX1BNUD15CgojCiMgQ29udHJvbGxlcnMgd2l0aCBub24tU0ZGIG5hdGl2ZSBp
bnRlcmZhY2UKIwpDT05GSUdfU0FUQV9BSENJPW0KIyBDT05GSUdfU0FUQV9BSENJX1BMQVRGT1JN
IGlzIG5vdCBzZXQKQ09ORklHX1NBVEFfSU5JQzE2Mlg9bQojIENPTkZJR19TQVRBX0FDQVJEX0FI
Q0kgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKQ09ORklHX0FUQV9T
RkY9eQoKIwojIFNGRiBjb250cm9sbGVycyB3aXRoIGN1c3RvbSBETUEgaW50ZXJmYWNlCiMKQ09O
RklHX1BEQ19BRE1BPW0KQ09ORklHX1NBVEFfUVNUT1I9bQpDT05GSUdfU0FUQV9TWDQ9bQpDT05G
SUdfQVRBX0JNRE1BPXkKCiMKIyBTQVRBIFNGRiBjb250cm9sbGVycyB3aXRoIEJNRE1BCiMKQ09O
RklHX0FUQV9QSUlYPW0KQ09ORklHX1NBVEFfTVY9bQpDT05GSUdfU0FUQV9OVj1tCkNPTkZJR19T
QVRBX1BST01JU0U9bQpDT05GSUdfU0FUQV9TSUw9bQpDT05GSUdfU0FUQV9TSVM9bQojIENPTkZJ
R19TQVRBX1NWVyBpcyBub3Qgc2V0CkNPTkZJR19TQVRBX1VMST1tCkNPTkZJR19TQVRBX1ZJQT1t
CkNPTkZJR19TQVRBX1ZJVEVTU0U9bQoKIwojIFBBVEEgU0ZGIGNvbnRyb2xsZXJzIHdpdGggQk1E
TUEKIwpDT05GSUdfUEFUQV9BTEk9bQpDT05GSUdfUEFUQV9BTUQ9bQojIENPTkZJR19QQVRBX0FS
QVNBTl9DRiBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX0FSVE9QPW0KQ09ORklHX1BBVEFfQVRJSVhQ
PW0KIyBDT05GSUdfUEFUQV9BVFA4NjdYIGlzIG5vdCBzZXQKQ09ORklHX1BBVEFfQ01ENjRYPW0K
Q09ORklHX1BBVEFfQ1M1NTIwPW0KQ09ORklHX1BBVEFfQ1M1NTMwPW0KIyBDT05GSUdfUEFUQV9D
UzU1MzYgaXMgbm90IHNldApDT05GSUdfUEFUQV9DWVBSRVNTPW0KQ09ORklHX1BBVEFfRUZBUj1t
CkNPTkZJR19QQVRBX0hQVDM2Nj1tCkNPTkZJR19QQVRBX0hQVDM3WD1tCkNPTkZJR19QQVRBX0hQ
VDNYMk49bQpDT05GSUdfUEFUQV9IUFQzWDM9bQpDT05GSUdfUEFUQV9IUFQzWDNfRE1BPXkKQ09O
RklHX1BBVEFfSVQ4MjEzPW0KQ09ORklHX1BBVEFfSVQ4MjFYPW0KIyBDT05GSUdfUEFUQV9KTUlD
Uk9OIGlzIG5vdCBzZXQKQ09ORklHX1BBVEFfTUFSVkVMTD1tCiMgQ09ORklHX1BBVEFfTkVUQ0VM
TCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1BB
VEFfTlM4NzQxNSBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX09MRFBJSVg9bQojIENPTkZJR19QQVRB
X09QVElETUEgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1BEQzIwMjdYIGlzIG5vdCBzZXQKIyBD
T05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5v
dCBzZXQKIyBDT05GSUdfUEFUQV9SREMgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1NDMTIwMCBp
cyBub3Qgc2V0CkNPTkZJR19QQVRBX1NDSD1tCiMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMg
bm90IHNldAojIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX1NJUz1t
CiMgQ09ORklHX1BBVEFfVE9TSElCQSBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX1RSSUZMRVg9bQpD
T05GSUdfUEFUQV9WSUE9bQojIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAoKIwojIFBJ
Ty1vbmx5IFNGRiBjb250cm9sbGVycwojCkNPTkZJR19QQVRBX0NNRDY0MF9QQ0k9bQpDT05GSUdf
UEFUQV9NUElJWD1tCiMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1BB
VEFfT1BUSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUENNQ0lBIGlzIG5vdCBzZXQKIyBDT05G
SUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldAoKIwojIEdlbmVyaWMgZmFsbGJhY2sgLyBsZWdhY3kg
ZHJpdmVycwojCkNPTkZJR19QQVRBX0FDUEk9bQpDT05GSUdfQVRBX0dFTkVSSUM9bQojIENPTkZJ
R19QQVRBX0xFR0FDWSBpcyBub3Qgc2V0CkNPTkZJR19NRD15CkNPTkZJR19CTEtfREVWX01EPXkK
Q09ORklHX01EX0FVVE9ERVRFQ1Q9eQojIENPTkZJR19NRF9MSU5FQVIgaXMgbm90IHNldAojIENP
TkZJR19NRF9SQUlEMCBpcyBub3Qgc2V0CiMgQ09ORklHX01EX1JBSUQxIGlzIG5vdCBzZXQKIyBD
T05GSUdfTURfUkFJRDEwIGlzIG5vdCBzZXQKIyBDT05GSUdfTURfUkFJRDQ1NiBpcyBub3Qgc2V0
CiMgQ09ORklHX01EX01VTFRJUEFUSCBpcyBub3Qgc2V0CiMgQ09ORklHX01EX0ZBVUxUWSBpcyBu
b3Qgc2V0CkNPTkZJR19CTEtfREVWX0RNPXkKIyBDT05GSUdfRE1fREVCVUcgaXMgbm90IHNldAoj
IENPTkZJR19ETV9DUllQVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RNX1NOQVBTSE9UIGlzIG5vdCBz
ZXQKIyBDT05GSUdfRE1fVEhJTl9QUk9WSVNJT05JTkcgaXMgbm90IHNldApDT05GSUdfRE1fTUlS
Uk9SPXkKIyBDT05GSUdfRE1fUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklHX0RNX0xPR19VU0VSU1BB
Q0UgaXMgbm90IHNldApDT05GSUdfRE1fWkVSTz15CiMgQ09ORklHX0RNX01VTFRJUEFUSCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0RNX0RFTEFZIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1fVUVWRU5UIGlz
IG5vdCBzZXQKIyBDT05GSUdfRE1fRkxBS0VZIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1fVkVSSVRZ
IGlzIG5vdCBzZXQKIyBDT05GSUdfVEFSR0VUX0NPUkUgaXMgbm90IHNldApDT05GSUdfRlVTSU9O
PXkKQ09ORklHX0ZVU0lPTl9TUEk9bQpDT05GSUdfRlVTSU9OX0ZDPW0KQ09ORklHX0ZVU0lPTl9T
QVM9bQpDT05GSUdfRlVTSU9OX01BWF9TR0U9MTI4CiMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90
IHNldAojIENPTkZJR19GVVNJT05fTE9HR0lORyBpcyBub3Qgc2V0CgojCiMgSUVFRSAxMzk0IChG
aXJlV2lyZSkgc3VwcG9ydAojCiMgQ09ORklHX0ZJUkVXSVJFIGlzIG5vdCBzZXQKIyBDT05GSUdf
RklSRVdJUkVfTk9TWSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CkNPTkZJR19N
QUNJTlRPU0hfRFJJVkVSUz15CkNPTkZJR19NQUNfRU1VTU9VU0VCVE49eQpDT05GSUdfTkVUREVW
SUNFUz15CkNPTkZJR19ORVRfQ09SRT15CiMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAojIENP
TkZJR19EVU1NWSBpcyBub3Qgc2V0CiMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiMgQ09O
RklHX05FVF9GQyBpcyBub3Qgc2V0CkNPTkZJR19NSUk9eQojIENPTkZJR19JRkIgaXMgbm90IHNl
dAojIENPTkZJR19ORVRfVEVBTSBpcyBub3Qgc2V0CiMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNl
dApDT05GSUdfTkVUQ09OU09MRT15CkNPTkZJR19ORVRQT0xMPXkKIyBDT05GSUdfTkVUUE9MTF9U
UkFQIGlzIG5vdCBzZXQKQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVI9eQpDT05GSUdfVFVOPXkK
IyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CgojCiMg
Q0FJRiB0cmFuc3BvcnQgZHJpdmVycwojCkNPTkZJR19FVEhFUk5FVD15CkNPTkZJR19NRElPPW0K
Q09ORklHX05FVF9WRU5ET1JfM0NPTT15CiMgQ09ORklHX1BDTUNJQV8zQzU3NCBpcyBub3Qgc2V0
CiMgQ09ORklHX1BDTUNJQV8zQzU4OSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZPUlRFWCBpcyBub3Qg
c2V0CiMgQ09ORklHX1RZUEhPT04gaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9BREFQVEVD
PXkKIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9S
X0FMVEVPTj15CiMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0FN
RD15CiMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfUENORVQzMiBpcyBu
b3Qgc2V0CiMgQ09ORklHX1BDTUNJQV9OTUNMQU4gaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRP
Ul9BVEhFUk9TPXkKIyBDT05GSUdfQVRMMiBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTDEgaXMgbm90
IHNldAojIENPTkZJR19BVEwxRSBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTDFDIGlzIG5vdCBzZXQK
Q09ORklHX05FVF9WRU5ET1JfQlJPQURDT009eQojIENPTkZJR19CNDQgaXMgbm90IHNldApDT05G
SUdfQk5YMj15CkNPTkZJR19DTklDPW0KQ09ORklHX1RJR09OMz15CiMgQ09ORklHX0JOWDJYIGlz
IG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfQlJPQ0FERT15CiMgQ09ORklHX0JOQSBpcyBub3Qg
c2V0CiMgQ09ORklHX05FVF9DQUxYRURBX1hHTUFDIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5E
T1JfQ0hFTFNJTz15CiMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldApDT05GSUdfQ0hFTFNJ
T19UMz1tCiMgQ09ORklHX0NIRUxTSU9fVDQgaXMgbm90IHNldAojIENPTkZJR19DSEVMU0lPX1Q0
VkYgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9DSVNDTz15CiMgQ09ORklHX0VOSUMgaXMg
bm90IHNldAojIENPTkZJR19ETkVUIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfREVDPXkK
Q09ORklHX05FVF9UVUxJUD15CiMgQ09ORklHX0RFMjEwNFggaXMgbm90IHNldAojIENPTkZJR19U
VUxJUCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFNFg1IGlzIG5vdCBzZXQKIyBDT05GSUdfV0lOQk9O
RF84NDAgaXMgbm90IHNldAojIENPTkZJR19ETTkxMDIgaXMgbm90IHNldAojIENPTkZJR19VTEk1
MjZYIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lBX1hJUkNPTSBpcyBub3Qgc2V0CkNPTkZJR19O
RVRfVkVORE9SX0RMSU5LPXkKIyBDT05GSUdfREwySyBpcyBub3Qgc2V0CiMgQ09ORklHX1NVTkRB
TkNFIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRU1VTEVYPXkKIyBDT05GSUdfQkUyTkVU
IGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRVhBUj15CiMgQ09ORklHX1MySU8gaXMgbm90
IHNldAojIENPTkZJR19WWEdFIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRlVKSVRTVT15
CiMgQ09ORklHX1BDTUNJQV9GTVZKMThYIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfSFA9
eQojIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0lOVEVMPXkKQ09O
RklHX0UxMDA9eQpDT05GSUdfRTEwMDA9eQpDT05GSUdfRTEwMDBFPXkKQ09ORklHX0lHQj1tCkNP
TkZJR19JR0JWRj1tCkNPTkZJR19JWEdCPW0KQ09ORklHX0lYR0JFPW0KIyBDT05GSUdfSVhHQkVW
RiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0k4MjVYWD15CiMgQ09ORklHX1pORVQgaXMg
bm90IHNldAojIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAojIENPTkZJR19KTUUgaXMgbm90IHNl
dApDT05GSUdfTkVUX1ZFTkRPUl9NQVJWRUxMPXkKIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CkNP
TkZJR19TS1kyPXkKIyBDT05GSUdfU0tZMl9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SX01FTExBTk9YPXkKIyBDT05GSUdfTUxYNF9FTiBpcyBub3Qgc2V0CiMgQ09ORklHX01MWDRf
Q09SRSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX01JQ1JFTD15CiMgQ09ORklHX0tTODg1
MV9NTEwgaXMgbm90IHNldAojIENPTkZJR19LU1o4ODRYX1BDSSBpcyBub3Qgc2V0CkNPTkZJR19O
RVRfVkVORE9SX01ZUkk9eQojIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZF
QUxOWCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX05BVFNFTUk9eQojIENPTkZJR19OQVRT
RU1JIGlzIG5vdCBzZXQKIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SXzgzOTA9eQojIENPTkZJR19QQ01DSUFfQVhORVQgaXMgbm90IHNldApDT05GSUdfTkUyS19Q
Q0k9eQojIENPTkZJR19QQ01DSUFfUENORVQgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9O
VklESUE9eQpDT05GSUdfRk9SQ0VERVRIPXkKQ09ORklHX05FVF9WRU5ET1JfT0tJPXkKIyBDT05G
SUdfUENIX0dCRSBpcyBub3Qgc2V0CiMgQ09ORklHX0VUSE9DIGlzIG5vdCBzZXQKQ09ORklHX05F
VF9QQUNLRVRfRU5HSU5FPXkKIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiMgQ09ORklHX1lF
TExPV0ZJTiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1FMT0dJQz15CiMgQ09ORklHX1FM
QTNYWFggaXMgbm90IHNldAojIENPTkZJR19RTENOSUMgaXMgbm90IHNldAojIENPTkZJR19RTEdF
IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SX1JFQUxURUs9eQojIENPTkZJR184MTM5Q1AgaXMgbm90IHNldApDT05GSUdfODEzOVRPTz15
CiMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKIyBDT05GSUdfODEzOVRPT19UVU5FX1RX
SVNURVIgaXMgbm90IHNldAojIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAojIENPTkZJ
R184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CkNPTkZJR19SODE2OT15CkNPTkZJR19ORVRf
VkVORE9SX1JEQz15CiMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1Jf
U0VFUT15CiMgQ09ORklHX1NFRVE4MDA1IGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU0lM
QU49eQojIENPTkZJR19TQzkyMDMxIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU0lTPXkK
IyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0ZDIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU01TQz15CiMgQ09ORklHX1BD
TUNJQV9TTUM5MUM5MiBpcyBub3Qgc2V0CiMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAojIENP
TkZJR19TTVNDOTQyMCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NUTUlDUk89eQojIENP
TkZJR19TVE1NQUNfRVRIIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU1VOPXkKIyBDT05G
SUdfSEFQUFlNRUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKIyBDT05G
SUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiMgQ09ORklHX05JVSBpcyBub3Qgc2V0CkNPTkZJR19ORVRf
VkVORE9SX1RFSFVUST15CiMgQ09ORklHX1RFSFVUSSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SX1RJPXkKIyBDT05GSUdfVExBTiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1ZJQT15
CkNPTkZJR19WSUFfUkhJTkU9bQojIENPTkZJR19WSUFfUkhJTkVfTU1JTyBpcyBub3Qgc2V0CiMg
Q09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1hJUkNPTT15
CiMgQ09ORklHX1BDTUNJQV9YSVJDMlBTIGlzIG5vdCBzZXQKQ09ORklHX0ZEREk9eQojIENPTkZJ
R19ERUZYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NLRlAgaXMgbm90IHNldAojIENPTkZJR19ISVBQ
SSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldApDT05GSUdfUEhZTElC
PXkKCiMKIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdfQU1EX1BIWSBpcyBub3Qg
c2V0CiMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfREFWSUNPTV9QSFkg
aXMgbm90IHNldAojIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAojIENPTkZJR19MWFRfUEhZ
IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJVEVT
U0VfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAojIENPTkZJR19C
Uk9BRENPTV9QSFkgaXMgbm90IHNldAojIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKIyBD
T05GSUdfUkVBTFRFS19QSFkgaXMgbm90IHNldAojIENPTkZJR19OQVRJT05BTF9QSFkgaXMgbm90
IHNldAojIENPTkZJR19TVEUxMFhQIGlzIG5vdCBzZXQKIyBDT05GSUdfTFNJX0VUMTAxMUNfUEhZ
IGlzIG5vdCBzZXQKIyBDT05GSUdfTUlDUkVMX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZJWEVE
X1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiMgQ09ORklH
X1BQUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NMSVAgaXMgbm90IHNldApDT05GSUdfVFI9eQpDT05G
SUdfV0FOVF9MTEM9eQojIENPTkZJR19QQ01DSUFfSUJNVFIgaXMgbm90IHNldAojIENPTkZJR19J
Qk1PTCBpcyBub3Qgc2V0CiMgQ09ORklHXzNDMzU5IGlzIG5vdCBzZXQKIyBDT05GSUdfVE1TMzgw
VFIgaXMgbm90IHNldAoKIwojIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCiMKIyBDT05GSUdfVVNCX0NB
VEMgaXMgbm90IHNldAojIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X1BFR0FTVVMgaXMgbm90IHNldAojIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9VU0JORVQgaXMgbm90IHNldAojIENPTkZJR19VU0JfSFNPIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX0lQSEVUSCBpcyBub3Qgc2V0CkNPTkZJR19XTEFOPXkKIyBDT05GSUdfUENNQ0lB
X1JBWUNTIGlzIG5vdCBzZXQKIyBDT05GSUdfTElCRVJUQVNfVEhJTkZJUk0gaXMgbm90IHNldAoj
IENPTkZJR19BSVJPIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAojIENPTkZJ
R19BVDc2QzUwWF9VU0IgaXMgbm90IHNldAojIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKIyBD
T05GSUdfUENNQ0lBX1dMMzUwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1BSSVNNNTQgaXMgbm90IHNl
dAojIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9STkRJU19X
TEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUTDgx
ODcgaXMgbm90IHNldAojIENPTkZJR19BRE04MjExIGlzIG5vdCBzZXQKIyBDT05GSUdfTUFDODAy
MTFfSFdTSU0gaXMgbm90IHNldAojIENPTkZJR19NV0w4SyBpcyBub3Qgc2V0CiMgQ09ORklHX0FU
SF9DT01NT04gaXMgbm90IHNldAojIENPTkZJR19CNDMgaXMgbm90IHNldAojIENPTkZJR19CNDNM
RUdBQ1kgaXMgbm90IHNldAojIENPTkZJR19CUkNNRk1BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0hP
U1RBUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAojIENPTkZJR19JUFcy
MjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfSVdMV0lGSSBpcyBub3Qgc2V0CiMgQ09ORklHX0lXTDQ5
NjUgaXMgbm90IHNldAojIENPTkZJR19JV0wzOTQ1IGlzIG5vdCBzZXQKIyBDT05GSUdfTElCRVJU
QVMgaXMgbm90IHNldAojIENPTkZJR19IRVJNRVMgaXMgbm90IHNldAojIENPTkZJR19QNTRfQ09N
TU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfUlQyWDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5
MkNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5MlNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRM
ODE5MkRFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5MkNVIGlzIG5vdCBzZXQKIyBDT05GSUdf
V0wxMjUxIGlzIG5vdCBzZXQKIyBDT05GSUdfV0wxMlhYX01FTlUgaXMgbm90IHNldAojIENPTkZJ
R19aRDEyMTFSVyBpcyBub3Qgc2V0CiMgQ09ORklHX01XSUZJRVggaXMgbm90IHNldAoKIwojIEVu
YWJsZSBXaU1BWCAoTmV0d29ya2luZyBvcHRpb25zKSB0byBzZWUgdGhlIFdpTUFYIGRyaXZlcnMK
IwojIENPTkZJR19XQU4gaXMgbm90IHNldApDT05GSUdfWEVOX05FVERFVl9GUk9OVEVORD15CkNP
TkZJR19YRU5fTkVUREVWX0JBQ0tFTkQ9eQojIENPTkZJR19WTVhORVQzIGlzIG5vdCBzZXQKIyBD
T05GSUdfSVNETiBpcyBub3Qgc2V0CgojCiMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdf
SU5QVVQ9eQpDT05GSUdfSU5QVVRfRkZfTUVNTEVTUz15CkNPTkZJR19JTlBVVF9QT0xMREVWPXkK
Q09ORklHX0lOUFVUX1NQQVJTRUtNQVA9eQoKIwojIFVzZXJsYW5kIGludGVyZmFjZXMKIwpDT05G
SUdfSU5QVVRfTU9VU0VERVY9eQojIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qg
c2V0CkNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CkNPTkZJR19JTlBVVF9NT1VT
RURFVl9TQ1JFRU5fWT03NjgKIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKQ09ORklH
X0lOUFVUX0VWREVWPXkKIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAoKIwojIElucHV0
IERldmljZSBEcml2ZXJzCiMKQ09ORklHX0lOUFVUX0tFWUJPQVJEPXkKIyBDT05GSUdfS0VZQk9B
UkRfQURQNTU4OCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX0FEUDU1ODkgaXMgbm90IHNl
dApDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQojIENPTkZJR19LRVlCT0FSRF9RVDEwNzAgaXMgbm90
IHNldAojIENPTkZJR19LRVlCT0FSRF9RVDIxNjAgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FS
RF9MS0tCRCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX1RDQTY0MTYgaXMgbm90IHNldAoj
IENPTkZJR19LRVlCT0FSRF9UQ0E4NDE4IGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfTE04
MzIzIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfTUFYNzM1OSBpcyBub3Qgc2V0CiMgQ09O
RklHX0tFWUJPQVJEX01DUyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX01QUjEyMSBpcyBu
b3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJP
QVJEX09QRU5DT1JFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5v
dCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfU1VOS0JEIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9B
UkRfT01BUDQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CkNP
TkZJR19JTlBVVF9NT1VTRT15CkNPTkZJR19NT1VTRV9QUzI9eQpDT05GSUdfTU9VU0VfUFMyX0FM
UFM9eQpDT05GSUdfTU9VU0VfUFMyX0xPR0lQUzJQUD15CkNPTkZJR19NT1VTRV9QUzJfU1lOQVBU
SUNTPXkKQ09ORklHX01PVVNFX1BTMl9MSUZFQk9PSz15CkNPTkZJR19NT1VTRV9QUzJfVFJBQ0tQ
T0lOVD15CiMgQ09ORklHX01PVVNFX1BTMl9FTEFOVEVDSCBpcyBub3Qgc2V0CiMgQ09ORklHX01P
VVNFX1BTMl9TRU5URUxJQyBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNFX1BTMl9UT1VDSEtJVCBp
cyBub3Qgc2V0CiMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNF
X0FQUExFVE9VQ0ggaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9CQ001OTc0IGlzIG5vdCBzZXQK
IyBDT05GSUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNFX1NZTkFQVElD
U19JMkMgaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9TWU5BUFRJQ1NfVVNCIGlzIG5vdCBzZXQK
Q09ORklHX0lOUFVUX0pPWVNUSUNLPXkKIyBDT05GSUdfSk9ZU1RJQ0tfQU5BTE9HIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQTNEIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQURJ
IGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQ09CUkEgaXMgbm90IHNldAojIENPTkZJR19K
T1lTVElDS19HRjJLIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBub3Qgc2V0
CiMgQ09ORklHX0pPWVNUSUNLX0dSSVBfTVAgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19H
VUlMTEVNT1QgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBub3Qgc2V0
CiMgQ09ORklHX0pPWVNUSUNLX1NJREVXSU5ERVIgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElD
S19UTURDIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBzZXQKIyBD
T05GSUdfSk9ZU1RJQ0tfV0FSUklPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0pPWVNUSUNLX01BR0VM
TEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNldAojIENP
TkZJR19KT1lTVElDS19TUEFDRUJBTEwgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19TVElO
R0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfVFdJREpPWSBpcyBub3Qgc2V0CiMgQ09O
RklHX0pPWVNUSUNLX1pIRU5IVUEgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19BUzUwMTEg
aXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19KT1lEVU1QIGlzIG5vdCBzZXQKIyBDT05GSUdf
Sk9ZU1RJQ0tfWFBBRCBpcyBub3Qgc2V0CkNPTkZJR19JTlBVVF9UQUJMRVQ9eQojIENPTkZJR19U
QUJMRVRfVVNCX0FDRUNBRCBpcyBub3Qgc2V0CiMgQ09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlz
IG5vdCBzZXQKIyBDT05GSUdfVEFCTEVUX1VTQl9HVENPIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFC
TEVUX1VTQl9IQU5XQU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFCTEVUX1VTQl9LQlRBQiBpcyBu
b3Qgc2V0CiMgQ09ORklHX1RBQkxFVF9VU0JfV0FDT00gaXMgbm90IHNldApDT05GSUdfSU5QVVRf
VE9VQ0hTQ1JFRU49eQojIENPTkZJR19UT1VDSFNDUkVFTl9BRDc4NzkgaXMgbm90IHNldAojIENP
TkZJR19UT1VDSFNDUkVFTl9BVE1FTF9NWFQgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVF
Tl9CVTIxMDEzIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fQ1lUVFNQX0NPUkUgaXMg
bm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9EWU5BUFJPIGlzIG5vdCBzZXQKIyBDT05GSUdf
VE9VQ0hTQ1JFRU5fSEFNUFNISVJFIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUVU
SSBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX0VHQUxBWCBpcyBub3Qgc2V0CiMgQ09O
RklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9J
TEkyMTBYIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAoj
IENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9X
QUNPTV9XODAwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX01BWDExODAxIGlzIG5v
dCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUNTNTAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1RP
VUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX0lORVhJTyBp
cyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKIyBDT05GSUdf
VE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9UT1VD
SFJJR0hUIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNl
dAojIENPTkZJR19UT1VDSFNDUkVFTl9QSVhDSVIgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFND
UkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hJ
VDIxMyBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX1RTQ19TRVJJTyBpcyBub3Qgc2V0
CiMgQ09ORklHX1RPVUNIU0NSRUVOX1RTQzIwMDcgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFND
UkVFTl9TVDEyMzIgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9UUFM2NTA3WCBpcyBu
b3Qgc2V0CkNPTkZJR19JTlBVVF9NSVNDPXkKIyBDT05GSUdfSU5QVVRfQUQ3MTRYIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSU5QVVRfQk1BMTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfUENTUEtS
IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfTU1BODQ1MCBpcyBub3Qgc2V0CiMgQ09ORklHX0lO
UFVUX01QVTMwNTAgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9BUEFORUwgaXMgbm90IHNldAoj
IENPTkZJR19JTlBVVF9BVExBU19CVE5TIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfQVRJX1JF
TU9URTIgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0
CiMgQ09ORklHX0lOUFVUX0tYVEo5IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfUE9XRVJNQVRF
IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfWUVBTElOSyBpcyBub3Qgc2V0CiMgQ09ORklHX0lO
UFVUX0NNMTA5IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKIyBD
T05GSUdfSU5QVVRfUENGODU3NCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0FEWEwzNFggaXMg
bm90IHNldAojIENPTkZJR19JTlBVVF9DTUEzMDAwIGlzIG5vdCBzZXQKQ09ORklHX0lOUFVUX1hF
Tl9LQkRERVZfRlJPTlRFTkQ9eQoKIwojIEhhcmR3YXJlIEkvTyBwb3J0cwojCkNPTkZJR19TRVJJ
Tz15CkNPTkZJR19TRVJJT19JODA0Mj15CkNPTkZJR19TRVJJT19TRVJQT1JUPXkKIyBDT05GSUdf
U0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNldAojIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNl
dApDT05GSUdfU0VSSU9fTElCUFMyPXkKIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VSSU9fQUxURVJBX1BTMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklPX1BTMk1VTFQg
aXMgbm90IHNldAojIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CgojCiMgQ2hhcmFjdGVyIGRl
dmljZXMKIwpDT05GSUdfVlQ9eQpDT05GSUdfQ09OU09MRV9UUkFOU0xBVElPTlM9eQpDT05GSUdf
VlRfQ09OU09MRT15CkNPTkZJR19WVF9DT05TT0xFX1NMRUVQPXkKQ09ORklHX0hXX0NPTlNPTEU9
eQpDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkKQ09ORklHX1VOSVg5OF9QVFlTPXkKIyBD
T05GSUdfREVWUFRTX01VTFRJUExFX0lOU1RBTkNFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0xFR0FD
WV9QVFlTIGlzIG5vdCBzZXQKQ09ORklHX1NFUklBTF9OT05TVEFOREFSRD15CiMgQ09ORklHX1JP
Q0tFVFBPUlQgaXMgbm90IHNldAojIENPTkZJR19DWUNMQURFUyBpcyBub3Qgc2V0CiMgQ09ORklH
X01PWEFfSU5URUxMSU8gaXMgbm90IHNldAojIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNl
dAojIENPTkZJR19TWU5DTElOSyBpcyBub3Qgc2V0CiMgQ09ORklHX1NZTkNMSU5LTVAgaXMgbm90
IHNldAojIENPTkZJR19TWU5DTElOS19HVCBpcyBub3Qgc2V0CiMgQ09ORklHX05PWk9NSSBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CiMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0
CiMgQ09ORklHX05fR1NNIGlzIG5vdCBzZXQKIyBDT05GSUdfVFJBQ0VfU0lOSyBpcyBub3Qgc2V0
CkNPTkZJR19ERVZLTUVNPXkKIyBDT05GSUdfU1RBTERSViBpcyBub3Qgc2V0CgojCiMgU2VyaWFs
IGRyaXZlcnMKIwpDT05GSUdfU0VSSUFMXzgyNTA9eQpDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09M
RT15CkNPTkZJR19GSVhfRUFSTFlDT05fTUVNPXkKQ09ORklHX1NFUklBTF84MjUwX1BDST15CkNP
TkZJR19TRVJJQUxfODI1MF9QTlA9eQojIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0
CkNPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz0zMgpDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElN
RV9VQVJUUz00CkNPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CkNPTkZJR19TRVJJQUxfODI1
MF9NQU5ZX1BPUlRTPXkKQ09ORklHX1NFUklBTF84MjUwX1NIQVJFX0lSUT15CkNPTkZJR19TRVJJ
QUxfODI1MF9ERVRFQ1RfSVJRPXkKQ09ORklHX1NFUklBTF84MjUwX1JTQT15CgojCiMgTm9uLTgy
NTAgc2VyaWFsIHBvcnQgc3VwcG9ydAojCiMgQ09ORklHX1NFUklBTF9NRkRfSFNVIGlzIG5vdCBz
ZXQKQ09ORklHX1NFUklBTF9DT1JFPXkKQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQojIENP
TkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX1RJTUJFUkRBTEUgaXMg
bm90IHNldAojIENPTkZJR19TRVJJQUxfQUxURVJBX0pUQUdVQVJUIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0VSSUFMX0FMVEVSQV9VQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX1BDSF9VQVJU
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX1hJTElOWF9QU19VQVJUIGlzIG5vdCBzZXQKQ09O
RklHX0hWQ19EUklWRVI9eQpDT05GSUdfSFZDX0lSUT15CkNPTkZJR19IVkNfWEVOPXkKQ09ORklH
X0hWQ19YRU5fRlJPTlRFTkQ9eQojIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldApDT05G
SUdfSFdfUkFORE9NPXkKIyBDT05GSUdfSFdfUkFORE9NX1RJTUVSSU9NRU0gaXMgbm90IHNldApD
T05GSUdfSFdfUkFORE9NX0lOVEVMPXkKQ09ORklHX0hXX1JBTkRPTV9BTUQ9eQpDT05GSUdfSFdf
UkFORE9NX1ZJQT15CkNPTkZJR19OVlJBTT15CiMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKIyBD
T05GSUdfQVBQTElDT00gaXMgbm90IHNldAoKIwojIFBDTUNJQSBjaGFyYWN0ZXIgZGV2aWNlcwoj
CiMgQ09ORklHX1NZTkNMSU5LX0NTIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FSRE1BTl80MDAwIGlz
IG5vdCBzZXQKIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBXSVJF
TEVTUyBpcyBub3Qgc2V0CiMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKIyBDT05GSUdfUkFXX0RS
SVZFUiBpcyBub3Qgc2V0CkNPTkZJR19IUEVUPXkKIyBDT05GSUdfSFBFVF9NTUFQIGlzIG5vdCBz
ZXQKQ09ORklHX0hBTkdDSEVDS19USU1FUj1tCkNPTkZJR19UQ0dfVFBNPW0KQ09ORklHX1RDR19U
SVM9bQpDT05GSUdfVENHX05TQz1tCkNPTkZJR19UQ0dfQVRNRUw9bQpDT05GSUdfVENHX0lORklO
RU9OPW0KQ09ORklHX1RFTENMT0NLPW0KQ09ORklHX0RFVlBPUlQ9eQojIENPTkZJR19SQU1PT1BT
IGlzIG5vdCBzZXQKQ09ORklHX0kyQz15CkNPTkZJR19JMkNfQk9BUkRJTkZPPXkKQ09ORklHX0ky
Q19DT01QQVQ9eQojIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19N
VVggaXMgbm90IHNldApDT05GSUdfSTJDX0hFTFBFUl9BVVRPPXkKQ09ORklHX0kyQ19BTEdPQklU
PXkKCiMKIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKIwoKIwojIFBDIFNNQnVzIGhvc3QgY29u
dHJvbGxlciBkcml2ZXJzCiMKIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAojIENPTkZJ
R19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQK
IyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5v
dCBzZXQKQ09ORklHX0kyQ19JODAxPXkKIyBDT05GSUdfSTJDX0lTQ0ggaXMgbm90IHNldAojIENP
TkZJR19JMkNfUElJWDQgaXMgbm90IHNldAojIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0
CiMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAojIENPTkZJR19JMkNfVklBIGlz
IG5vdCBzZXQKIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CgojCiMgQUNQSSBkcml2ZXJz
CiMKIyBDT05GSUdfSTJDX1NDTUkgaXMgbm90IHNldAoKIwojIEkyQyBzeXN0ZW0gYnVzIGRyaXZl
cnMgKG1vc3RseSBlbWJlZGRlZCAvIHN5c3RlbS1vbi1jaGlwKQojCiMgQ09ORklHX0kyQ19ERVNJ
R05XQVJFX1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19FRzIwVCBpcyBub3Qgc2V0CiMgQ09O
RklHX0kyQ19JTlRFTF9NSUQgaXMgbm90IHNldAojIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19QWEFf
UENJIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CiMgQ09ORklHX0ky
Q19YSUxJTlggaXMgbm90IHNldAoKIwojIEV4dGVybmFsIEkyQy9TTUJ1cyBhZGFwdGVyIGRyaXZl
cnMKIwojIENPTkZJR19JMkNfRElPTEFOX1UyQyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19QQVJQ
T1JUX0xJR0hUIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKIyBD
T05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKCiMKIyBPdGhlciBJMkMvU01CdXMgYnVzIGRy
aXZlcnMKIwojIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJVR19D
T1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAojIENPTkZJ
R19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKIyBDT05G
SUdfSFNJIGlzIG5vdCBzZXQKCiMKIyBQUFMgc3VwcG9ydAojCiMgQ09ORklHX1BQUyBpcyBub3Qg
c2V0CgojCiMgUFBTIGdlbmVyYXRvcnMgc3VwcG9ydAojCgojCiMgUFRQIGNsb2NrIHN1cHBvcnQK
IwoKIwojIEVuYWJsZSBEZXZpY2UgRHJpdmVycyAtPiBQUFMgdG8gc2VlIHRoZSBQVFAgY2xvY2sg
b3B0aW9ucy4KIwpDT05GSUdfQVJDSF9XQU5UX09QVElPTkFMX0dQSU9MSUI9eQojIENPTkZJR19H
UElPTElCIGlzIG5vdCBzZXQKIyBDT05GSUdfVzEgaXMgbm90IHNldApDT05GSUdfUE9XRVJfU1VQ
UExZPXkKIyBDT05GSUdfUE9XRVJfU1VQUExZX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfUERB
X1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVTVF9QT1dFUiBpcyBub3Qgc2V0CiMgQ09ORklH
X0JBVFRFUllfRFMyNzgwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFUVEVSWV9EUzI3ODEgaXMgbm90
IHNldAojIENPTkZJR19CQVRURVJZX0RTMjc4MiBpcyBub3Qgc2V0CiMgQ09ORklHX0JBVFRFUllf
U0JTIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFUVEVSWV9CUTI3eDAwIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkFUVEVSWV9NQVgxNzA0MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JBVFRFUllfTUFYMTcwNDIg
aXMgbm90IHNldAojIENPTkZJR19DSEFSR0VSX01BWDg5MDMgaXMgbm90IHNldAojIENPTkZJR19D
SEFSR0VSX0xQODcyNyBpcyBub3Qgc2V0CiMgQ09ORklHX0NIQVJHRVJfU01CMzQ3IGlzIG5vdCBz
ZXQKQ09ORklHX0hXTU9OPXkKIyBDT05GSUdfSFdNT05fVklEIGlzIG5vdCBzZXQKIyBDT05GSUdf
SFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CgojCiMgTmF0aXZlIGRyaXZlcnMKIwojIENPTkZJ
R19TRU5TT1JTX0FCSVRVR1VSVSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQUJJVFVHVVJV
MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQUQ3NDE0IGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19BRDc0MTggaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FETTEwMjEgaXMgbm90
IHNldAojIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X0FETTEwMjYgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FETTEwMjkgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FETTky
NDAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FEVDc0MTEgaXMgbm90IHNldAojIENPTkZJ
R19TRU5TT1JTX0FEVDc0NjIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FEVDc0NzAgaXMg
bm90IHNldAojIENPTkZJR19TRU5TT1JTX0FEVDc0NzUgaXMgbm90IHNldAojIENPTkZJR19TRU5T
T1JTX0FTQzc2MjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0s4VEVNUCBpcyBub3Qgc2V0
CiMgQ09ORklHX1NFTlNPUlNfSzEwVEVNUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRkFN
MTVIX1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BU0IxMDAgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19EUzYyMCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19JNUtfQU1CIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19GNzE4MDVGIGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0VOU09SU19GNzE4ODJGRyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf
Rjc1Mzc1UyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRlNDSE1EIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VOU09SU19HNzYwQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfR0w1MThTTSBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NF
TlNPUlNfQ09SRVRFTVAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNl
dAojIENPTkZJR19TRU5TT1JTX0pDNDIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xJTkVB
R0UgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAojIENPTkZJR19T
RU5TT1JTX0xNNzMgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNNzUgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX0xNNzcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNNzggaXMg
bm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNODAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X0xNODMgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNODUgaXMgbm90IHNldAojIENPTkZJ
R19TRU5TT1JTX0xNODcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNl
dAojIENPTkZJR19TRU5TT1JTX0xNOTIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTMg
aXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQxNTEgaXMgbm90IHNldAojIENPTkZJR19T
RU5TT1JTX0xUQzQyMTUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQyNDUgaXMgbm90
IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQyNjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X0xNOTUyNDEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTUyNDUgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX01BWDE2MDY1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVgx
NjE5IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVgxNjY4IGlzIG5vdCBzZXQKIyBDT05G
SUdfU0VOU09SU19NQVg2NjM5IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVg2NjQyIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVg2NjUwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19NQ1AzMDIxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19OVENfVEhFUk1JU1RPUiBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NF
TlNPUlNfUEM4NzQyNyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qg
c2V0CiMgQ09ORklHX1BNQlVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TSFQyMSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfU0lTNTU5NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP
UlNfU01NNjY1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19ETUUxNzM3IGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19FTUMxNDAzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19FTUMy
MTAzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19FTUM2VzIwMSBpcyBub3Qgc2V0CiMgQ09O
RklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1NNU0M0N00x
OTIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAojIENP
TkZJR19TRU5TT1JTX1NDSDU2WFhfQ09NTU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19T
Q0g1NjI3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TQ0g1NjM2IGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VOU09SU19BRFMxMDE1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRFM3ODI4
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BTUM2ODIxIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19USE1DNTAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1RNUDEwMiBpcyBub3Qg
c2V0CiMgQ09ORklHX1NFTlNPUlNfVE1QNDAxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19U
TVA0MjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1ZJQV9DUFVURU1QIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19WSUE2ODZBIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19WVDEy
MTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1ZUODIzMSBpcyBub3Qgc2V0CiMgQ09ORklH
X1NFTlNPUlNfVzgzNzgxRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP
UlNfVzgzNzkzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM3OTUgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgz
TDc4Nk5HIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CiMg
Q09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BUFBM
RVNNQyBpcyBub3Qgc2V0CgojCiMgQUNQSSBkcml2ZXJzCiMKIyBDT05GSUdfU0VOU09SU19BQ1BJ
X1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BVEswMTEwIGlzIG5vdCBzZXQKQ09O
RklHX1RIRVJNQUw9eQpDT05GSUdfVEhFUk1BTF9IV01PTj15CkNPTkZJR19XQVRDSERPRz15CiMg
Q09ORklHX1dBVENIRE9HX0NPUkUgaXMgbm90IHNldAojIENPTkZJR19XQVRDSERPR19OT1dBWU9V
VCBpcyBub3Qgc2V0CgojCiMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKIwojIENPTkZJR19TT0ZU
X1dBVENIRE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNRVUlSRV9XRFQgaXMgbm90IHNldAojIENP
TkZJR19BRFZBTlRFQ0hfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfQUxJTTE1MzVfV0RUIGlzIG5v
dCBzZXQKIyBDT05GSUdfQUxJTTcxMDFfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfRjcxODA4RV9X
RFQgaXMgbm90IHNldAojIENPTkZJR19TUDUxMDBfVENPIGlzIG5vdCBzZXQKIyBDT05GSUdfU0M1
MjBfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0JDX0ZJVFBDMl9XQVRDSERPRyBpcyBub3Qgc2V0
CiMgQ09ORklHX0VVUk9URUNIX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCNzAwX1dEVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lCTUFTUiBpcyBub3Qgc2V0CiMgQ09ORklHX1dBRkVSX1dEVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0k2MzAwRVNCX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lUQ09fV0RU
IGlzIG5vdCBzZXQKIyBDT05GSUdfSVQ4NzEyRl9XRFQgaXMgbm90IHNldAojIENPTkZJR19JVDg3
X1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0hQX1dBVENIRE9HIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0MxMjAwX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDODc0MTNfV0RUIGlzIG5vdCBzZXQKIyBD
T05GSUdfTlZfVENPIGlzIG5vdCBzZXQKIyBDT05GSUdfNjBYWF9XRFQgaXMgbm90IHNldAojIENP
TkZJR19TQkM4MzYwX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVTVfV0RUIGlzIG5vdCBzZXQK
IyBDT05GSUdfU01TQ19TQ0gzMTFYX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NNU0MzN0I3ODdf
V0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfVklBX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4MzYy
N0hGX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4MzY5N0hGX1dEVCBpcyBub3Qgc2V0CiMgQ09O
RklHX1c4MzY5N1VHX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4Mzg3N0ZfV0RUIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVzgzOTc3Rl9XRFQgaXMgbm90IHNldAojIENPTkZJR19NQUNIWl9XRFQgaXMg
bm90IHNldAojIENPTkZJR19TQkNfRVBYX0MzX1dBVENIRE9HIGlzIG5vdCBzZXQKQ09ORklHX1hF
Tl9XRFQ9eQoKIwojIFBDSS1iYXNlZCBXYXRjaGRvZyBDYXJkcwojCiMgQ09ORklHX1BDSVBDV0FU
Q0hET0cgaXMgbm90IHNldAojIENPTkZJR19XRFRQQ0kgaXMgbm90IHNldAoKIwojIFVTQi1iYXNl
ZCBXYXRjaGRvZyBDYXJkcwojCiMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldApDT05G
SUdfU1NCX1BPU1NJQkxFPXkKCiMKIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKIwojIENPTkZJ
R19TU0IgaXMgbm90IHNldApDT05GSUdfQkNNQV9QT1NTSUJMRT15CgojCiMgQnJvYWRjb20gc3Bl
Y2lmaWMgQU1CQQojCiMgQ09ORklHX0JDTUEgaXMgbm90IHNldAoKIwojIE11bHRpZnVuY3Rpb24g
ZGV2aWNlIGRyaXZlcnMKIwojIENPTkZJR19NRkRfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX01G
RF84OFBNODYwWCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiMgQ09O
RklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAojIENPTkZJR19UUFM2MTA1WCBpcyBub3Qgc2V0CiMg
Q09ORklHX1RQUzY1MDdYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1RQUzY1MjE3IGlzIG5vdCBz
ZXQKIyBDT05GSUdfVFdMNDAzMF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1NUTVBFIGlz
IG5vdCBzZXQKIyBDT05GSUdfTUZEX1RDMzU4OVggaXMgbm90IHNldAojIENPTkZJR19NRkRfVE1J
TyBpcyBub3Qgc2V0CiMgQ09ORklHX1BNSUNfREE5MDNYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE
X0RBOTA1Ml9JMkMgaXMgbm90IHNldAojIENPTkZJR19QTUlDX0FEUDU1MjAgaXMgbm90IHNldAoj
IENPTkZJR19NRkRfTUFYODkyNSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9NQVg4OTk3IGlzIG5v
dCBzZXQKIyBDT05GSUdfTUZEX01BWDg5OTggaXMgbm90IHNldAojIENPTkZJR19NRkRfUzVNX0NP
UkUgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004NDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE
X1dNODMxWF9JMkMgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004MzUwX0kyQyBpcyBub3Qgc2V0
CiMgQ09ORklHX01GRF9XTTg5OTQgaXMgbm90IHNldAojIENPTkZJR19NRkRfUENGNTA2MzMgaXMg
bm90IHNldAojIENPTkZJR19BQlg1MDBfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9DUzU1
MzUgaXMgbm90IHNldAojIENPTkZJR19MUENfU0NIIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1JE
QzMyMVggaXMgbm90IHNldAojIENPTkZJR19NRkRfSkFOWl9DTU9ESU8gaXMgbm90IHNldAojIENP
TkZJR19NRkRfVlg4NTUgaXMgbm90IHNldAojIENPTkZJR19NRkRfV0wxMjczX0NPUkUgaXMgbm90
IHNldAojIENPTkZJR19NRkRfVFBTNjUwOTAgaXMgbm90IHNldAojIENPTkZJR19NRkRfUkM1VDU4
MyBpcyBub3Qgc2V0CiMgQ09ORklHX1JFR1VMQVRPUiBpcyBub3Qgc2V0CiMgQ09ORklHX01FRElB
X1NVUFBPUlQgaXMgbm90IHNldAoKIwojIEdyYXBoaWNzIHN1cHBvcnQKIwpDT05GSUdfQUdQPXkK
Q09ORklHX0FHUF9BTUQ2ND15CkNPTkZJR19BR1BfSU5URUw9eQojIENPTkZJR19BR1BfU0lTIGlz
IG5vdCBzZXQKIyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0CkNPTkZJR19WR0FfQVJCPXkKQ09O
RklHX1ZHQV9BUkJfTUFYX0dQVVM9MTYKIyBDT05GSUdfVkdBX1NXSVRDSEVST08gaXMgbm90IHNl
dApDT05GSUdfRFJNPXkKQ09ORklHX0RSTV9LTVNfSEVMUEVSPXkKIyBDT05GSUdfRFJNX0xPQURf
RURJRF9GSVJNV0FSRSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9UREZYIGlzIG5vdCBzZXQKIyBD
T05GSUdfRFJNX1IxMjggaXMgbm90IHNldAojIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQK
IyBDT05GSUdfRFJNX05PVVZFQVUgaXMgbm90IHNldAoKIwojIEkyQyBlbmNvZGVyIG9yIGhlbHBl
ciBjaGlwcwojCiMgQ09ORklHX0RSTV9JMkNfQ0g3MDA2IGlzIG5vdCBzZXQKIyBDT05GSUdfRFJN
X0kyQ19TSUwxNjQgaXMgbm90IHNldAojIENPTkZJR19EUk1fSTgxMCBpcyBub3Qgc2V0CkNPTkZJ
R19EUk1fSTkxNT15CiMgQ09ORklHX0RSTV9JOTE1X0tNUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RS
TV9NR0EgaXMgbm90IHNldAojIENPTkZJR19EUk1fU0lTIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJN
X1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9TQVZBR0UgaXMgbm90IHNldAojIENPTkZJR19E
Uk1fVk1XR0ZYIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX0dNQTUwMCBpcyBub3Qgc2V0CiMgQ09O
RklHX0RSTV9VREwgaXMgbm90IHNldAojIENPTkZJR19TVFVCX1BPVUxTQk8gaXMgbm90IHNldAoj
IENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CkNPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTD15
CkNPTkZJR19GQj15CiMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAojIENPTkZJR19G
Ql9EREMgaXMgbm90IHNldAojIENPTkZJR19GQl9CT09UX1ZFU0FfU1VQUE9SVCBpcyBub3Qgc2V0
CkNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQpDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKQ09ORklH
X0ZCX0NGQl9JTUFHRUJMSVQ9eQojIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlz
IG5vdCBzZXQKQ09ORklHX0ZCX1NZU19GSUxMUkVDVD15CkNPTkZJR19GQl9TWVNfQ09QWUFSRUE9
eQpDT05GSUdfRkJfU1lTX0lNQUdFQkxJVD15CiMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlz
IG5vdCBzZXQKQ09ORklHX0ZCX1NZU19GT1BTPXkKIyBDT05GSUdfRkJfV01UX0dFX1JPUFMgaXMg
bm90IHNldApDT05GSUdfRkJfREVGRVJSRURfSU89eQojIENPTkZJR19GQl9TVkdBTElCIGlzIG5v
dCBzZXQKIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAojIENPTkZJR19GQl9CQUNLTElH
SFQgaXMgbm90IHNldApDT05GSUdfRkJfTU9ERV9IRUxQRVJTPXkKQ09ORklHX0ZCX1RJTEVCTElU
VElORz15CgojCiMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKIwojIENPTkZJR19GQl9D
SVJSVVMgaXMgbm90IHNldAojIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAojIENPTkZJR19GQl9D
WUJFUjIwMDAgaXMgbm90IHNldAojIENPTkZJR19GQl9BUkMgaXMgbm90IHNldAojIENPTkZJR19G
Ql9BU0lMSUFOVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKIyBDT05G
SUdfRkJfVkdBMTYgaXMgbm90IHNldAojIENPTkZJR19GQl9VVkVTQSBpcyBub3Qgc2V0CiMgQ09O
RklHX0ZCX1ZFU0EgaXMgbm90IHNldApDT05GSUdfRkJfRUZJPXkKIyBDT05GSUdfRkJfTjQxMSBp
cyBub3Qgc2V0CiMgQ09ORklHX0ZCX0hHQSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1MxRDEzWFhY
IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUklW
QSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0k3NDAgaXMgbm90IHNldAojIENPTkZJR19GQl9MRTgw
NTc4IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfTUFUUk9YIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJf
UkFERU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKIyBDT05GSUdf
RkJfQVRZIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAojIENPTkZJR19GQl9T
QVZBR0UgaXMgbm90IHNldAojIENPTkZJR19GQl9TSVMgaXMgbm90IHNldAojIENPTkZJR19GQl9W
SUEgaXMgbm90IHNldAojIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZC
X0tZUk8gaXMgbm90IHNldAojIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJf
Vk9PRE9PMSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0CiMgQ09ORklH
X0ZCX1RSSURFTlQgaXMgbm90IHNldAojIENPTkZJR19GQl9BUksgaXMgbm90IHNldAojIENPTkZJ
R19GQl9QTTMgaXMgbm90IHNldAojIENPTkZJR19GQl9DQVJNSU5FIGlzIG5vdCBzZXQKIyBDT05G
SUdfRkJfR0VPREUgaXMgbm90IHNldAojIENPTkZJR19GQl9TTVNDVUZYIGlzIG5vdCBzZXQKIyBD
T05GSUdfRkJfVURMIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CkNP
TkZJR19YRU5fRkJERVZfRlJPTlRFTkQ9eQojIENPTkZJR19GQl9NRVRST05PTUUgaXMgbm90IHNl
dAojIENPTkZJR19GQl9NQjg2MlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQlJPQURTSEVFVCBp
cyBub3Qgc2V0CiMgQ09ORklHX0VYWU5PU19WSURFTyBpcyBub3Qgc2V0CkNPTkZJR19CQUNLTElH
SFRfTENEX1NVUFBPUlQ9eQojIENPTkZJR19MQ0RfQ0xBU1NfREVWSUNFIGlzIG5vdCBzZXQKQ09O
RklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0U9eQpDT05GSUdfQkFDS0xJR0hUX0dFTkVSSUM9eQoj
IENPTkZJR19CQUNLTElHSFRfUFJPR0VBUiBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9B
UFBMRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9TQUhBUkEgaXMgbm90IHNldAojIENP
TkZJR19CQUNLTElHSFRfQURQODg2MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9BRFA4
ODcwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFDS0xJR0hUX0xQODU1WCBpcyBub3Qgc2V0CgojCiMg
Q29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiMKQ09ORklHX1ZHQV9DT05TT0xFPXkKQ09O
RklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0s9eQpDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFD
S19TSVpFPTY0CkNPTkZJR19EVU1NWV9DT05TT0xFPXkKQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNP
TEU9eQpDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWT15CiMgQ09ORklH
X0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAojIENPTkZJR19GT05UUyBp
cyBub3Qgc2V0CkNPTkZJR19GT05UXzh4OD15CkNPTkZJR19GT05UXzh4MTY9eQpDT05GSUdfTE9H
Tz15CiMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CiMgQ09ORklHX0xPR09fTElO
VVhfVkdBMTYgaXMgbm90IHNldApDT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKQ09ORklHX1NP
VU5EPXkKQ09ORklHX1NPVU5EX09TU19DT1JFPXkKQ09ORklHX1NPVU5EX09TU19DT1JFX1BSRUNM
QUlNPXkKQ09ORklHX1NORD15CkNPTkZJR19TTkRfVElNRVI9eQpDT05GSUdfU05EX1BDTT15CkNP
TkZJR19TTkRfSFdERVA9eQpDT05GSUdfU05EX1NFUVVFTkNFUj15CkNPTkZJR19TTkRfU0VRX0RV
TU1ZPXkKQ09ORklHX1NORF9PU1NFTVVMPXkKQ09ORklHX1NORF9NSVhFUl9PU1M9eQpDT05GSUdf
U05EX1BDTV9PU1M9eQpDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CkNPTkZJR19TTkRfU0VR
VUVOQ0VSX09TUz15CkNPTkZJR19TTkRfSFJUSU1FUj15CkNPTkZJR19TTkRfU0VRX0hSVElNRVJf
REVGQVVMVD15CkNPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlM9eQpDT05GSUdfU05EX1NVUFBPUlRf
T0xEX0FQST15CkNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQojIENPTkZJR19TTkRfVkVSQk9T
RV9QUklOVEsgaXMgbm90IHNldAojIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldApDT05GSUdf
U05EX1ZNQVNURVI9eQpDT05GSUdfU05EX0tDVExfSkFDSz15CkNPTkZJR19TTkRfRE1BX1NHQlVG
PXkKIyBDT05GSUdfU05EX1JBV01JRElfU0VRIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX09QTDNf
TElCX1NFUSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9PUEw0X0xJQl9TRVEgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfU0JBV0VfU0VRIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VNVTEwSzFfU0VR
IGlzIG5vdCBzZXQKQ09ORklHX1NORF9EUklWRVJTPXkKIyBDT05GSUdfU05EX1BDU1AgaXMgbm90
IHNldAojIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAojIENPTkZJR19TTkRfQUxPT1AgaXMg
bm90IHNldAojIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NVFBB
ViBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CkNPTkZJR19TTkRfUENJPXkKIyBDT05GSUdfU05EX0FE
MTg4OSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAojIENPTkZJR19T
TkRfQUxTNDAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKIyBD
T05GSUdfU05EX0FTSUhQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNl
dAojIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FVODgx
MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAojIENPTkZJR19TTkRf
QVU4ODMwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NO
RF9BWlQzMzI4IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfT1hZR0VOIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qg
c2V0CiMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAojIENPTkZJR19TTkRfQ1M1NTMwIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX0NTNTUzNUFVRElPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X0NUWEZJIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAojIENPTkZJ
R19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90
IHNldAojIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NT05BIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FQ0hPM0cg
aXMgbm90IHNldAojIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lO
RElHT0lPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX0lORElHT0lPWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JTkRJR09ESlggaXMgbm90
IHNldAojIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FTVUxMEsx
WCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X0VOUzEzNzEgaXMgbm90IHNldAojIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0CkNP
TkZJR19TTkRfSERBX0lOVEVMPXkKQ09ORklHX1NORF9IREFfUFJFQUxMT0NfU0laRT02NApDT05G
SUdfU05EX0hEQV9IV0RFUD15CiMgQ09ORklHX1NORF9IREFfUkVDT05GSUcgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfSERBX0lOUFVUX0JFRVAgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERBX0lO
UFVUX0pBQ0sgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERBX1BBVENIX0xPQURFUiBpcyBub3Qg
c2V0CkNPTkZJR19TTkRfSERBX0NPREVDX1JFQUxURUs9eQpDT05GSUdfU05EX0hEQV9FTkFCTEVf
UkVBTFRFS19RVUlSS1M9eQpDT05GSUdfU05EX0hEQV9DT0RFQ19BTkFMT0c9eQpDT05GSUdfU05E
X0hEQV9DT0RFQ19TSUdNQVRFTD15CkNPTkZJR19TTkRfSERBX0NPREVDX1ZJQT15CkNPTkZJR19T
TkRfSERBX0NPREVDX0hETUk9eQpDT05GSUdfU05EX0hEQV9DT0RFQ19DSVJSVVM9eQpDT05GSUdf
U05EX0hEQV9DT0RFQ19DT05FWEFOVD15CkNPTkZJR19TTkRfSERBX0NPREVDX0NBMDExMD15CkNP
TkZJR19TTkRfSERBX0NPREVDX0NBMDEzMj15CkNPTkZJR19TTkRfSERBX0NPREVDX0NNRURJQT15
CkNPTkZJR19TTkRfSERBX0NPREVDX1NJMzA1ND15CkNPTkZJR19TTkRfSERBX0dFTkVSSUM9eQoj
IENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERTUCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JQ0Ux
NzEyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAojIENPTkZJR19T
TkRfSU5URUw4WDAgaXMgbm90IHNldAojIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQK
IyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0xPTEEgaXMgbm90
IHNldAojIENPTkZJR19TTkRfTFg2NDY0RVMgaXMgbm90IHNldAojIENPTkZJR19TTkRfTUFFU1RS
TzMgaXMgbm90IHNldAojIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X05NMjU2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX1JJUFRJREUgaXMgbm90IHNldAojIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAojIENP
TkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAojIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0
CiMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1RSSURFTlQg
aXMgbm90IHNldAojIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9W
SUE4MlhYX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1ZJUlRVT1NPIGlzIG5vdCBzZXQK
IyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qg
c2V0CkNPTkZJR19TTkRfVVNCPXkKIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0CiMg
Q09ORklHX1NORF9VU0JfVUExMDEgaXMgbm90IHNldAojIENPTkZJR19TTkRfVVNCX1VTWDJZIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9V
U0JfVVMxMjJMIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1VTQl82RklSRSBpcyBub3Qgc2V0CkNP
TkZJR19TTkRfUENNQ0lBPXkKIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX1BEQVVESU9DRiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAoj
IENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0CkNPTkZJR19ISURfU1VQUE9SVD15CkNPTkZJ
R19ISUQ9eQpDT05GSUdfSElEX0JBVFRFUllfU1RSRU5HVEg9eQpDT05GSUdfSElEUkFXPXkKCiMK
IyBVU0IgSW5wdXQgRGV2aWNlcwojCkNPTkZJR19VU0JfSElEPXkKQ09ORklHX0hJRF9QSUQ9eQpD
T05GSUdfVVNCX0hJRERFVj15CgojCiMgU3BlY2lhbCBISUQgZHJpdmVycwojCkNPTkZJR19ISURf
QTRURUNIPXkKIyBDT05GSUdfSElEX0FDUlVYIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9BUFBMRT15
CkNPTkZJR19ISURfQkVMS0lOPXkKQ09ORklHX0hJRF9DSEVSUlk9eQpDT05GSUdfSElEX0NISUNP
Tlk9eQojIENPTkZJR19ISURfUFJPRElLRVlTIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9DWVBSRVNT
PXkKIyBDT05GSUdfSElEX0RSQUdPTlJJU0UgaXMgbm90IHNldAojIENPTkZJR19ISURfRU1TX0ZG
IGlzIG5vdCBzZXQKQ09ORklHX0hJRF9FWktFWT15CiMgQ09ORklHX0hJRF9IT0xURUsgaXMgbm90
IHNldAojIENPTkZJR19ISURfS0VZVE9VQ0ggaXMgbm90IHNldApDT05GSUdfSElEX0tZRT15CiMg
Q09ORklHX0hJRF9VQ0xPR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1dBTFRPUCBpcyBub3Qg
c2V0CkNPTkZJR19ISURfR1lSQVRJT049eQojIENPTkZJR19ISURfVFdJTkhBTiBpcyBub3Qgc2V0
CkNPTkZJR19ISURfS0VOU0lOR1RPTj15CiMgQ09ORklHX0hJRF9MQ1BPV0VSIGlzIG5vdCBzZXQK
Q09ORklHX0hJRF9MT0dJVEVDSD15CkNPTkZJR19ISURfTE9HSVRFQ0hfREo9bQpDT05GSUdfTE9H
SVRFQ0hfRkY9eQojIENPTkZJR19MT0dJUlVNQkxFUEFEMl9GRiBpcyBub3Qgc2V0CiMgQ09ORklH
X0xPR0lHOTQwX0ZGIGlzIG5vdCBzZXQKQ09ORklHX0xPR0lXSEVFTFNfRkY9eQpDT05GSUdfSElE
X01JQ1JPU09GVD15CkNPTkZJR19ISURfTU9OVEVSRVk9eQojIENPTkZJR19ISURfTVVMVElUT1VD
SCBpcyBub3Qgc2V0CkNPTkZJR19ISURfTlRSSUc9eQojIENPTkZJR19ISURfT1JURUsgaXMgbm90
IHNldApDT05GSUdfSElEX1BBTlRIRVJMT1JEPXkKQ09ORklHX1BBTlRIRVJMT1JEX0ZGPXkKQ09O
RklHX0hJRF9QRVRBTFlOWD15CiMgQ09ORklHX0hJRF9QSUNPTENEIGlzIG5vdCBzZXQKIyBDT05G
SUdfSElEX1BSSU1BWCBpcyBub3Qgc2V0CiMgQ09ORklHX0hJRF9ST0NDQVQgaXMgbm90IHNldAoj
IENPTkZJR19ISURfU0FJVEVLIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9TQU1TVU5HPXkKQ09ORklH
X0hJRF9TT05ZPXkKIyBDT05GSUdfSElEX1NQRUVETElOSyBpcyBub3Qgc2V0CkNPTkZJR19ISURf
U1VOUExVUz15CiMgQ09ORklHX0hJRF9HUkVFTkFTSUEgaXMgbm90IHNldAojIENPTkZJR19ISURf
U01BUlRKT1lQTFVTIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1RJVk8gaXMgbm90IHNldApDT05G
SUdfSElEX1RPUFNFRUQ9eQojIENPTkZJR19ISURfVEhSVVNUTUFTVEVSIGlzIG5vdCBzZXQKIyBD
T05GSUdfSElEX1pFUk9QTFVTIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1pZREFDUk9OIGlzIG5v
dCBzZXQKQ09ORklHX1VTQl9TVVBQT1JUPXkKQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKQ09O
RklHX1VTQl9BUkNIX0hBU19FSENJPXkKQ09ORklHX1VTQl9BUkNIX0hBU19YSENJPXkKQ09ORklH
X1VTQl9DT01NT049eQpDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CkNPTkZJR19VU0I9eQpDT05G
SUdfVVNCX0RFQlVHPXkKQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15CgojCiMgTWlz
Y2VsbGFuZW91cyBVU0Igb3B0aW9ucwojCkNPTkZJR19VU0JfREVWSUNFRlM9eQpDT05GSUdfVVNC
X0RFVklDRV9DTEFTUz15CkNPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlM9eQpDT05GSUdfVVNCX01P
Tj15CiMgQ09ORklHX1VTQl9XVVNCX0NCQUYgaXMgbm90IHNldAoKIwojIFVTQiBIb3N0IENvbnRy
b2xsZXIgRHJpdmVycwojCiMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX1hIQ0lfSENEIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9FSENJX0hDRD1tCkNPTkZJR19V
U0JfRUhDSV9ST09UX0hVQl9UVD15CkNPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRD15CiMgQ09O
RklHX1VTQl9PWFUyMTBIUF9IQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTE2WF9IQ0Qg
aXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAojIENPTkZJR19V
U0JfSVNQMTM2Ml9IQ0QgaXMgbm90IHNldApDT05GSUdfVVNCX09IQ0lfSENEPW0KIyBDT05GSUdf
VVNCX09IQ0lfSENEX1BMQVRGT1JNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VIQ0lfSENEX1BM
QVRGT1JNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKQ09ORklH
X1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQpDT05GSUdfVVNCX1VIQ0lfSENEPW0KIyBDT05GSUdf
VVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90
IHNldAoKIwojIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwojCiMgQ09ORklHX1VTQl9BQ00gaXMg
bm90IHNldApDT05GSUdfVVNCX1BSSU5URVI9eQojIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1RNQyBpcyBub3Qgc2V0CgojCiMgTk9URTogVVNCX1NUT1JBR0UgZGVwZW5k
cyBvbiBTQ1NJIGJ1dCBCTEtfREVWX1NEIG1heQojCgojCiMgYWxzbyBiZSBuZWVkZWQ7IHNlZSBV
U0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm8KIwpDT05GSUdfVVNCX1NUT1JBR0U9bQojIENP
TkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX1JF
QUxURUsgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9S
QUdFX0lTRDIwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NU
T1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMg
bm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAojIENPTkZJR19V
U0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1B
IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0
CiMgQ09ORklHX1VTQl9TVE9SQUdFX0VORV9VQjYyNTAgaXMgbm90IHNldAojIENPTkZJR19VU0Jf
VUFTIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9MSUJVU1VBTD15CgojCiMgVVNCIEltYWdpbmcgZGV2
aWNlcwojCiMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfTUlDUk9U
RUsgaXMgbm90IHNldAoKIwojIFVTQiBwb3J0IGRyaXZlcnMKIwojIENPTkZJR19VU0JfU0VSSUFM
IGlzIG5vdCBzZXQKCiMKIyBVU0IgTWlzY2VsbGFuZW91cyBkcml2ZXJzCiMKIyBDT05GSUdfVVNC
X0VNSTYyIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VNSTI2IGlzIG5vdCBzZXQKIyBDT05GSUdf
VVNCX0FEVVRVWCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVZTRUcgaXMgbm90IHNldAojIENP
TkZJR19VU0JfUklPNTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9MQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfTEVEIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVVNCX0NZUFJFU1NfQ1k3QzYzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0NZ
VEhFUk0gaXMgbm90IHNldAojIENPTkZJR19VU0JfSURNT1VTRSBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAojIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX1NJU1VTQlZHQSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MRCBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAojIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0CiMg
Q09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ZVVJFWCBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAoKIwojIE9URyBhbmQgcmVsYXRlZCBp
bmZyYXN0cnVjdHVyZQojCiMgQ09ORklHX05PUF9VU0JfWENFSVYgaXMgbm90IHNldAojIENPTkZJ
R19VV0IgaXMgbm90IHNldAojIENPTkZJR19NTUMgaXMgbm90IHNldAojIENPTkZJR19NRU1TVElD
SyBpcyBub3Qgc2V0CkNPTkZJR19ORVdfTEVEUz15CkNPTkZJR19MRURTX0NMQVNTPXkKCiMKIyBM
RUQgZHJpdmVycwojCiMgQ09ORklHX0xFRFNfTE0zNTMwIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVE
U19QQ0E5NTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19MUDM5NDQgaXMgbm90IHNldAojIENP
TkZJR19MRURTX0xQNTUyMSBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfTFA1NTIzIGlzIG5vdCBz
ZXQKIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19QQ0E5
NTVYIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19QQ0E5NjMzIGlzIG5vdCBzZXQKIyBDT05GSUdf
TEVEU19CRDI4MDIgaXMgbm90IHNldAojIENPTkZJR19MRURTX0lOVEVMX1NTNDIwMCBpcyBub3Qg
c2V0CiMgQ09ORklHX0xFRFNfVENBNjUwNyBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfT1QyMDAg
aXMgbm90IHNldApDT05GSUdfTEVEU19UUklHR0VSUz15CgojCiMgTEVEIFRyaWdnZXJzCiMKIyBD
T05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19UUklHR0VS
X0lERV9ESVNLIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0xFRFNfVFJJR0dFUl9CQUNLTElHSFQgaXMgbm90IHNldAojIENPTkZJ
R19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CgojCiMgaXB0YWJsZXMgdHJpZ2dl
ciBpcyB1bmRlciBOZXRmaWx0ZXIgY29uZmlnIChMRUQgdGFyZ2V0KQojCiMgQ09ORklHX0FDQ0VT
U0lCSUxJVFkgaXMgbm90IHNldAojIENPTkZJR19JTkZJTklCQU5EIGlzIG5vdCBzZXQKQ09ORklH
X0VEQUM9eQoKIwojIFJlcG9ydGluZyBzdWJzeXN0ZW1zCiMKIyBDT05GSUdfRURBQ19ERUJVRyBp
cyBub3Qgc2V0CkNPTkZJR19FREFDX0RFQ09ERV9NQ0U9eQojIENPTkZJR19FREFDX01DRV9JTkog
aXMgbm90IHNldAojIENPTkZJR19FREFDX01NX0VEQUMgaXMgbm90IHNldApDT05GSUdfUlRDX0xJ
Qj15CkNPTkZJR19SVENfQ0xBU1M9eQojIENPTkZJR19SVENfSENUT1NZUyBpcyBub3Qgc2V0CiMg
Q09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CgojCiMgUlRDIGludGVyZmFjZXMKIwpDT05GSUdf
UlRDX0lOVEZfU1lTRlM9eQpDT05GSUdfUlRDX0lOVEZfUFJPQz15CkNPTkZJR19SVENfSU5URl9E
RVY9eQojIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAojIENPTkZJR19S
VENfRFJWX1RFU1QgaXMgbm90IHNldAoKIwojIEkyQyBSVEMgZHJpdmVycwojCiMgQ09ORklHX1JU
Q19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNl
dAojIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRFMz
MjMyIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKIyBDT05G
SUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlz
IG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9JU0wxMjAyMiBpcyBub3Qgc2V0CiMgQ09ORklHX1JU
Q19EUlZfWDEyMDUgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNl
dAojIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX000
MVQ4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfQlEzMksgaXMgbm90IHNldAojIENPTkZJ
R19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0ZNMzEzMCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUlg4NTgxIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RS
Vl9SWDgwMjUgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0VNMzAyNyBpcyBub3Qgc2V0CiMg
Q09ORklHX1JUQ19EUlZfUlYzMDI5QzIgaXMgbm90IHNldAoKIwojIFNQSSBSVEMgZHJpdmVycwoj
CgojCiMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKIwpDT05GSUdfUlRDX0RSVl9DTU9TPXkKIyBDT05G
SUdfUlRDX0RSVl9EUzEyODYgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RS
Vl9EUzE3NDIgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQK
IyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX000OFQz
NSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKIyBDT05GSUdf
UlRDX0RSVl9NU002MjQyIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9CUTQ4MDIgaXMgbm90
IHNldAojIENPTkZJR19SVENfRFJWX1JQNUMwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZf
VjMwMjAgaXMgbm90IHNldAoKIwojIG9uLUNQVSBSVEMgZHJpdmVycwojCkNPTkZJR19ETUFERVZJ
Q0VTPXkKIyBDT05GSUdfRE1BREVWSUNFU19ERUJVRyBpcyBub3Qgc2V0CgojCiMgRE1BIERldmlj
ZXMKIwojIENPTkZJR19JTlRFTF9NSURfRE1BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0lOVEVMX0lP
QVRETUEgaXMgbm90IHNldAojIENPTkZJR19USU1CX0RNQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BD
SF9ETUEgaXMgbm90IHNldAojIENPTkZJR19BVVhESVNQTEFZIGlzIG5vdCBzZXQKQ09ORklHX1VJ
Tz1tCkNPTkZJR19VSU9fQ0lGPW0KQ09ORklHX1VJT19QRFJWPW0KQ09ORklHX1VJT19QRFJWX0dF
TklSUT1tCkNPTkZJR19VSU9fQUVDPW0KQ09ORklHX1VJT19TRVJDT1MzPW0KQ09ORklHX1VJT19Q
Q0lfR0VORVJJQz1tCiMgQ09ORklHX1VJT19ORVRYIGlzIG5vdCBzZXQKCiMKIyBWaXJ0aW8gZHJp
dmVycwojCiMgQ09ORklHX1ZJUlRJT19QQ0kgaXMgbm90IHNldAojIENPTkZJR19WSVJUSU9fQkFM
TE9PTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJUlRJT19NTUlPIGlzIG5vdCBzZXQKCiMKIyBNaWNy
b3NvZnQgSHlwZXItViBndWVzdCBzdXBwb3J0CiMKIyBDT05GSUdfSFlQRVJWIGlzIG5vdCBzZXQK
CiMKIyBYZW4gZHJpdmVyIHN1cHBvcnQKIwpDT05GSUdfWEVOX0JBTExPT049eQojIENPTkZJR19Y
RU5fQkFMTE9PTl9NRU1PUllfSE9UUExVRyBpcyBub3Qgc2V0CkNPTkZJR19YRU5fU0NSVUJfUEFH
RVM9eQpDT05GSUdfWEVOX0RFVl9FVlRDSE49eQpDT05GSUdfWEVOX0JBQ0tFTkQ9eQpDT05GSUdf
WEVORlM9eQpDT05GSUdfWEVOX0NPTVBBVF9YRU5GUz15CkNPTkZJR19YRU5fU1lTX0hZUEVSVklT
T1I9eQpDT05GSUdfWEVOX1hFTkJVU19GUk9OVEVORD15CkNPTkZJR19YRU5fR05UREVWPXkKQ09O
RklHX1hFTl9HUkFOVF9ERVZfQUxMT0M9bQpDT05GSUdfU1dJT1RMQl9YRU49eQpDT05GSUdfWEVO
X1BDSURFVl9CQUNLRU5EPXkKQ09ORklHX1hFTl9QUklWQ01EPXkKQ09ORklHX1hFTl9BQ1BJX1BS
T0NFU1NPUj1tCkNPTkZJR19YRU5fTUNFX0xPRz15CiMgQ09ORklHX1NUQUdJTkcgaXMgbm90IHNl
dApDT05GSUdfWDg2X1BMQVRGT1JNX0RFVklDRVM9eQojIENPTkZJR19BQ0VSSERGIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQVNVU19MQVBUT1AgaXMgbm90IHNldAojIENPTkZJR19GVUpJVFNVX0xBUFRP
UCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZVSklUU1VfVEFCTEVUIGlzIG5vdCBzZXQKIyBDT05GSUdf
QU1JTE9fUkZLSUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfSFBfQUNDRUwgaXMgbm90IHNldAojIENP
TkZJR19NU0lfTEFQVE9QIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFOQVNPTklDX0xBUFRPUCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0NPTVBBTF9MQVBUT1AgaXMgbm90IHNldAojIENPTkZJR19TT05ZX0xB
UFRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lERUFQQURfTEFQVE9QIGlzIG5vdCBzZXQKIyBDT05G
SUdfVEhJTktQQURfQUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSERBUFMgaXMgbm90
IHNldAojIENPTkZJR19JTlRFTF9NRU5MT1cgaXMgbm90IHNldApDT05GSUdfRUVFUENfTEFQVE9Q
PXkKIyBDT05GSUdfQUNQSV9XTUkgaXMgbm90IHNldAojIENPTkZJR19UT1BTVEFSX0xBUFRPUCBp
cyBub3Qgc2V0CiMgQ09ORklHX1RPU0hJQkFfQlRfUkZLSUxMIGlzIG5vdCBzZXQKIyBDT05GSUdf
QUNQSV9DTVBDIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5URUxfSVBTIGlzIG5vdCBzZXQKIyBDT05G
SUdfSUJNX1JUTCBpcyBub3Qgc2V0CiMgQ09ORklHX1hPMTVfRUJPT0sgaXMgbm90IHNldAojIENP
TkZJR19TQU1TVU5HX0xBUFRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOVEVMX09BS1RSQUlMIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0FNU1VOR19RMTAgaXMgbm90IHNldAojIENPTkZJR19BUFBMRV9H
TVVYIGlzIG5vdCBzZXQKCiMKIyBIYXJkd2FyZSBTcGlubG9jayBkcml2ZXJzCiMKQ09ORklHX0NM
S0VWVF9JODI1Mz15CkNPTkZJR19JODI1M19MT0NLPXkKQ09ORklHX0NMS0JMRF9JODI1Mz15CkNP
TkZJR19JT01NVV9TVVBQT1JUPXkKIyBDT05GSUdfQU1EX0lPTU1VIGlzIG5vdCBzZXQKIyBDT05G
SUdfSU5URUxfSU9NTVUgaXMgbm90IHNldAojIENPTkZJR19JUlFfUkVNQVAgaXMgbm90IHNldAoK
IwojIFJlbW90ZXByb2MgZHJpdmVycyAoRVhQRVJJTUVOVEFMKQojCgojCiMgUnBtc2cgZHJpdmVy
cyAoRVhQRVJJTUVOVEFMKQojCiMgQ09ORklHX1ZJUlRfRFJJVkVSUyBpcyBub3Qgc2V0CiMgQ09O
RklHX1BNX0RFVkZSRVEgaXMgbm90IHNldAoKIwojIEZpcm13YXJlIERyaXZlcnMKIwojIENPTkZJ
R19FREQgaXMgbm90IHNldApDT05GSUdfRklSTVdBUkVfTUVNTUFQPXkKQ09ORklHX0VGSV9WQVJT
PXkKIyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAojIENPTkZJR19EQ0RCQVMgaXMgbm90IHNl
dApDT05GSUdfRE1JSUQ9eQojIENPTkZJR19ETUlfU1lTRlMgaXMgbm90IHNldAojIENPTkZJR19J
U0NTSV9JQkZUX0ZJTkQgaXMgbm90IHNldAojIENPTkZJR19HT09HTEVfRklSTVdBUkUgaXMgbm90
IHNldAoKIwojIEZpbGUgc3lzdGVtcwojCkNPTkZJR19EQ0FDSEVfV09SRF9BQ0NFU1M9eQojIENP
TkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0VYVDNfRlM9eQojIENPTkZJR19FWFQzX0RF
RkFVTFRTX1RPX09SREVSRUQgaXMgbm90IHNldApDT05GSUdfRVhUM19GU19YQVRUUj15CkNPTkZJ
R19FWFQzX0ZTX1BPU0lYX0FDTD15CkNPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKQ09ORklHX0VY
VDRfRlM9bQpDT05GSUdfRVhUNF9VU0VfRk9SX0VYVDIzPXkKQ09ORklHX0VYVDRfRlNfWEFUVFI9
eQpDT05GSUdfRVhUNF9GU19QT1NJWF9BQ0w9eQpDT05GSUdfRVhUNF9GU19TRUNVUklUWT15CkNP
TkZJR19FWFQ0X0RFQlVHPXkKQ09ORklHX0pCRD15CiMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qg
c2V0CkNPTkZJR19KQkQyPW0KIyBDT05GSUdfSkJEMl9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19G
U19NQkNBQ0hFPXkKIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19KRlNf
RlMgaXMgbm90IHNldAojIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19HRlMyX0ZT
IGlzIG5vdCBzZXQKIyBDT05GSUdfQlRSRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19OSUxGUzJf
RlMgaXMgbm90IHNldApDT05GSUdfRlNfUE9TSVhfQUNMPXkKQ09ORklHX0VYUE9SVEZTPW0KQ09O
RklHX0ZJTEVfTE9DS0lORz15CkNPTkZJR19GU05PVElGWT15CkNPTkZJR19ETk9USUZZPXkKQ09O
RklHX0lOT1RJRllfVVNFUj15CiMgQ09ORklHX0ZBTk9USUZZIGlzIG5vdCBzZXQKQ09ORklHX1FV
T1RBPXkKQ09ORklHX1FVT1RBX05FVExJTktfSU5URVJGQUNFPXkKIyBDT05GSUdfUFJJTlRfUVVP
VEFfV0FSTklORyBpcyBub3Qgc2V0CiMgQ09ORklHX1FVT1RBX0RFQlVHIGlzIG5vdCBzZXQKQ09O
RklHX1FVT1RBX1RSRUU9eQojIENPTkZJR19RRk1UX1YxIGlzIG5vdCBzZXQKQ09ORklHX1FGTVRf
VjI9eQpDT05GSUdfUVVPVEFDVEw9eQpDT05GSUdfUVVPVEFDVExfQ09NUEFUPXkKQ09ORklHX0FV
VE9GUzRfRlM9eQojIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0dFTkVSSUNfQUNM
PXkKCiMKIyBDYWNoZXMKIwojIENPTkZJR19GU0NBQ0hFIGlzIG5vdCBzZXQKCiMKIyBDRC1ST00v
RFZEIEZpbGVzeXN0ZW1zCiMKQ09ORklHX0lTTzk2NjBfRlM9eQpDT05GSUdfSk9MSUVUPXkKQ09O
RklHX1pJU09GUz15CiMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CgojCiMgRE9TL0ZBVC9OVCBG
aWxlc3lzdGVtcwojCkNPTkZJR19GQVRfRlM9eQpDT05GSUdfTVNET1NfRlM9eQpDT05GSUdfVkZB
VF9GUz15CkNPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKQ09ORklHX0ZBVF9ERUZBVUxU
X0lPQ0hBUlNFVD0iaXNvODg1OS0xIgojIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKCiMKIyBQ
c2V1ZG8gZmlsZXN5c3RlbXMKIwpDT05GSUdfUFJPQ19GUz15CkNPTkZJR19QUk9DX0tDT1JFPXkK
Q09ORklHX1BST0NfVk1DT1JFPXkKQ09ORklHX1BST0NfU1lTQ1RMPXkKQ09ORklHX1BST0NfUEFH
RV9NT05JVE9SPXkKQ09ORklHX1NZU0ZTPXkKQ09ORklHX1RNUEZTPXkKQ09ORklHX1RNUEZTX1BP
U0lYX0FDTD15CkNPTkZJR19UTVBGU19YQVRUUj15CkNPTkZJR19IVUdFVExCRlM9eQpDT05GSUdf
SFVHRVRMQl9QQUdFPXkKIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldApDT05GSUdfTUlT
Q19GSUxFU1lTVEVNUz15CiMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAojIENPTkZJR19BRkZT
X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfRUNSWVBUX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSEZT
X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JF
RlNfRlMgaXMgbm90IHNldAojIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19FRlNf
RlMgaXMgbm90IHNldAojIENPTkZJR19MT0dGUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQU1GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX1NRVUFTSEZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVlhGU19GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfT01GU19GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19RTlg0RlNfRlMg
aXMgbm90IHNldAojIENPTkZJR19RTlg2RlNfRlMgaXMgbm90IHNldAojIENPTkZJR19ST01GU19G
UyBpcyBub3Qgc2V0CkNPTkZJR19QU1RPUkU9eQojIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQK
IyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQpD
T05GSUdfTkZTX0ZTPW0KQ09ORklHX05GU19WMz15CkNPTkZJR19ORlNfVjNfQUNMPXkKQ09ORklH
X05GU19WND15CiMgQ09ORklHX05GU19WNF8xIGlzIG5vdCBzZXQKIyBDT05GSUdfTkZTX1VTRV9M
RUdBQ1lfRE5TIGlzIG5vdCBzZXQKQ09ORklHX05GU19VU0VfS0VSTkVMX0ROUz15CkNPTkZJR19O
RlNEPW0KQ09ORklHX05GU0RfVjJfQUNMPXkKQ09ORklHX05GU0RfVjM9eQpDT05GSUdfTkZTRF9W
M19BQ0w9eQpDT05GSUdfTkZTRF9WND15CiMgQ09ORklHX05GU0RfRkFVTFRfSU5KRUNUSU9OIGlz
IG5vdCBzZXQKQ09ORklHX0xPQ0tEPW0KQ09ORklHX0xPQ0tEX1Y0PXkKQ09ORklHX05GU19BQ0xf
U1VQUE9SVD1tCkNPTkZJR19ORlNfQ09NTU9OPXkKQ09ORklHX1NVTlJQQz1tCkNPTkZJR19TVU5S
UENfR1NTPW0KIyBDT05GSUdfU1VOUlBDX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0VQSF9G
UyBpcyBub3Qgc2V0CiMgQ09ORklHX0NJRlMgaXMgbm90IHNldAojIENPTkZJR19OQ1BfRlMgaXMg
bm90IHNldAojIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQUZTX0ZTIGlzIG5v
dCBzZXQKQ09ORklHX05MUz15CkNPTkZJR19OTFNfREVGQVVMVD0idXRmOCIKQ09ORklHX05MU19D
T0RFUEFHRV80Mzc9eQojIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKIyBDT05G
SUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTAg
aXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKIyBDT05GSUdf
TkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMg
bm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxT
X0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90
IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NP
REVQQUdFXzg2NCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNl
dAojIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQ
QUdFXzg2OSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAoj
IENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdF
XzkzMiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAojIENP
TkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBp
cyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKIyBDT05GSUdf
TkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldApDT05GSUdfTkxTX0FTQ0lJPXkKQ09ORklHX05M
U19JU084ODU5XzE9eQojIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKIyBDT05GSUdf
TkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNl
dAojIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlf
NiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAojIENPTkZJR19O
TFNfSVNPODg1OV85IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNl
dAojIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5
XzE1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiMgQ09ORklHX05M
U19LT0k4X1UgaXMgbm90IHNldApDT05GSUdfTkxTX1VURjg9eQoKIwojIEtlcm5lbCBoYWNraW5n
CiMKQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQpDT05GSUdfUFJJTlRLX1RJTUU9eQpD
T05GSUdfREVGQVVMVF9NRVNTQUdFX0xPR0xFVkVMPTQKIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQ
UkVDQVRFRCBpcyBub3Qgc2V0CkNPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CkNPTkZJR19GUkFN
RV9XQVJOPTIwNDgKQ09ORklHX01BR0lDX1NZU1JRPXkKIyBDT05GSUdfU1RSSVBfQVNNX1NZTVMg
aXMgbm90IHNldAojIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CkNPTkZJR19ERUJV
R19GUz15CiMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19T
RUNUSU9OX01JU01BVENIIGlzIG5vdCBzZXQKQ09ORklHX0RFQlVHX0tFUk5FTD15CiMgQ09ORklH
X0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKIyBDT05GSUdfTE9DS1VQX0RFVEVDVE9SIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSEFSRExPQ0tVUF9ERVRFQ1RPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0RFVEVD
VF9IVU5HX1RBU0sgaXMgbm90IHNldAojIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0CkNP
TkZJR19TQ0hFRFNUQVRTPXkKQ09ORklHX1RJTUVSX1NUQVRTPXkKIyBDT05GSUdfREVCVUdfT0JK
RUNUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NMVUJfREVCVUdfT04gaXMgbm90IHNldAojIENPTkZJ
R19TTFVCX1NUQVRTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfS01FTUxFQUsgaXMgbm90IHNl
dAojIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRfTVVURVhf
VEVTVEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAojIENP
TkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBp
cyBub3Qgc2V0CiMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAojIENPTkZJR19TUEFS
U0VfUkNVX1BPSU5URVIgaXMgbm90IHNldAojIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAoj
IENPTkZJR19ERUJVR19BVE9NSUNfU0xFRVAgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19MT0NL
SU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldApDT05GSUdfU1RBQ0tUUkFDRT15CiMgQ09ORklH
X0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBu
b3Qgc2V0CkNPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKIyBDT05GSUdfREVCVUdfSU5GTyBpcyBu
b3Qgc2V0CiMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfVklSVFVB
TCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldApDT05GSUdf
REVCVUdfTUVNT1JZX0lOSVQ9eQojIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKIyBDT05G
SUdfVEVTVF9MSVNUX1NPUlQgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0
CiMgQ09ORklHX0RFQlVHX05PVElGSUVSUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0NSRURF
TlRJQUxTIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfV0FOVF9GUkFNRV9QT0lOVEVSUz15CkNPTkZJ
R19GUkFNRV9QT0lOVEVSPXkKIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAoj
IENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKQ09ORklHX1JDVV9DUFVfU1RBTExf
VElNRU9VVD02MAojIENPTkZJR19SQ1VfQ1BVX1NUQUxMX0lORk8gaXMgbm90IHNldAojIENPTkZJ
R19SQ1VfVFJBQ0UgaXMgbm90IHNldAojIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5v
dCBzZXQKIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RF
QlVHX0JMT0NLX0VYVF9ERVZUIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19Q
RVJfQ1BVIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTIGlzIG5vdCBzZXQK
IyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAojIENPTkZJR19DUFVfTk9USUZJRVJfRVJST1JfSU5K
RUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKIyBDT05G
SUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1BBR0VBTExPQyBpcyBub3Qg
c2V0CkNPTkZJR19VU0VSX1NUQUNLVFJBQ0VfU1VQUE9SVD15CkNPTkZJR19OT1BfVFJBQ0VSPXkK
Q09ORklHX0hBVkVfRlVOQ1RJT05fVFJBQ0VSPXkKQ09ORklHX0hBVkVfRlVOQ1RJT05fR1JBUEhf
VFJBQ0VSPXkKQ09ORklHX0hBVkVfRlVOQ1RJT05fR1JBUEhfRlBfVEVTVD15CkNPTkZJR19IQVZF
X0ZVTkNUSU9OX1RSQUNFX01DT1VOVF9URVNUPXkKQ09ORklHX0hBVkVfRFlOQU1JQ19GVFJBQ0U9
eQpDT05GSUdfSEFWRV9GVFJBQ0VfTUNPVU5UX1JFQ09SRD15CkNPTkZJR19IQVZFX1NZU0NBTExf
VFJBQ0VQT0lOVFM9eQpDT05GSUdfSEFWRV9DX1JFQ09SRE1DT1VOVD15CkNPTkZJR19SSU5HX0JV
RkZFUj15CkNPTkZJR19FVkVOVF9UUkFDSU5HPXkKQ09ORklHX0VWRU5UX1BPV0VSX1RSQUNJTkdf
REVQUkVDQVRFRD15CkNPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVI9eQpDT05GSUdfVFJBQ0lO
Rz15CkNPTkZJR19HRU5FUklDX1RSQUNFUj15CkNPTkZJR19UUkFDSU5HX1NVUFBPUlQ9eQpDT05G
SUdfRlRSQUNFPXkKIyBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05GSUdf
SVJRU09GRl9UUkFDRVIgaXMgbm90IHNldAojIENPTkZJR19TQ0hFRF9UUkFDRVIgaXMgbm90IHNl
dAojIENPTkZJR19GVFJBQ0VfU1lTQ0FMTFMgaXMgbm90IHNldApDT05GSUdfQlJBTkNIX1BST0ZJ
TEVfTk9ORT15CiMgQ09ORklHX1BST0ZJTEVfQU5OT1RBVEVEX0JSQU5DSEVTIGlzIG5vdCBzZXQK
IyBDT05GSUdfUFJPRklMRV9BTExfQlJBTkNIRVMgaXMgbm90IHNldAojIENPTkZJR19TVEFDS19U
UkFDRVIgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9JT19UUkFDRT15CkNPTkZJR19LUFJPQkVf
RVZFTlQ9eQojIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUIGlzIG5vdCBzZXQKIyBDT05GSUdf
TU1JT1RSQUNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUklOR19CVUZGRVJfQkVOQ0hNQVJLIGlzIG5v
dCBzZXQKQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQ9eQojIENPTkZJR19EWU5BTUlD
X0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1BX0FQSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09O
RklHX0FUT01JQzY0X1NFTEZURVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNUExFUyBpcyBub3Qg
c2V0CkNPTkZJR19IQVZFX0FSQ0hfS0dEQj15CiMgQ09ORklHX0tHREIgaXMgbm90IHNldApDT05G
SUdfSEFWRV9BUkNIX0tNRU1DSEVDSz15CiMgQ09ORklHX0tNRU1DSEVDSyBpcyBub3Qgc2V0CiMg
Q09ORklHX1RFU1RfS1NUUlRPWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NUUklDVF9ERVZNRU0gaXMg
bm90IHNldApDT05GSUdfWDg2X1ZFUkJPU0VfQk9PVFVQPXkKQ09ORklHX0VBUkxZX1BSSU5USz15
CkNPTkZJR19FQVJMWV9QUklOVEtfREJHUD15CkNPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XPXkK
IyBDT05GSUdfWDg2X1BURFVNUCBpcyBub3Qgc2V0CkNPTkZJR19ERUJVR19ST0RBVEE9eQojIENP
TkZJR19ERUJVR19ST0RBVEFfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NFVF9NT0RV
TEVfUk9OWCBpcyBub3Qgc2V0CkNPTkZJR19ERUJVR19OWF9URVNUPW0KIyBDT05GSUdfSU9NTVVf
REVCVUcgaXMgbm90IHNldAojIENPTkZJR19JT01NVV9TVFJFU1MgaXMgbm90IHNldApDT05GSUdf
SEFWRV9NTUlPVFJBQ0VfU1VQUE9SVD15CiMgQ09ORklHX1g4Nl9ERUNPREVSX1NFTEZURVNUIGlz
IG5vdCBzZXQKQ09ORklHX0lPX0RFTEFZX1RZUEVfMFg4MD0wCkNPTkZJR19JT19ERUxBWV9UWVBF
XzBYRUQ9MQpDT05GSUdfSU9fREVMQVlfVFlQRV9VREVMQVk9MgpDT05GSUdfSU9fREVMQVlfVFlQ
RV9OT05FPTMKQ09ORklHX0lPX0RFTEFZXzBYODA9eQojIENPTkZJR19JT19ERUxBWV8wWEVEIGlz
IG5vdCBzZXQKIyBDT05GSUdfSU9fREVMQVlfVURFTEFZIGlzIG5vdCBzZXQKIyBDT05GSUdfSU9f
REVMQVlfTk9ORSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0lPX0RFTEFZX1RZUEU9MApDT05G
SUdfREVCVUdfQk9PVF9QQVJBTVM9eQojIENPTkZJR19DUEFfREVCVUcgaXMgbm90IHNldApDT05G
SUdfT1BUSU1JWkVfSU5MSU5JTkc9eQojIENPTkZJR19ERUJVR19TVFJJQ1RfVVNFUl9DT1BZX0NI
RUNLUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX05NSV9TRUxGVEVTVCBpcyBub3Qgc2V0Cgoj
CiMgU2VjdXJpdHkgb3B0aW9ucwojCkNPTkZJR19LRVlTPXkKIyBDT05GSUdfVFJVU1RFRF9LRVlT
IGlzIG5vdCBzZXQKIyBDT05GSUdfRU5DUllQVEVEX0tFWVMgaXMgbm90IHNldApDT05GSUdfS0VZ
U19ERUJVR19QUk9DX0tFWVM9eQojIENPTkZJR19TRUNVUklUWV9ETUVTR19SRVNUUklDVCBpcyBu
b3Qgc2V0CkNPTkZJR19TRUNVUklUWT15CkNPTkZJR19TRUNVUklUWUZTPXkKQ09ORklHX1NFQ1VS
SVRZX05FVFdPUks9eQojIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gaXMgbm90IHNldAoj
IENPTkZJR19TRUNVUklUWV9QQVRIIGlzIG5vdCBzZXQKQ09ORklHX0xTTV9NTUFQX01JTl9BRERS
PTY1NTM2CkNPTkZJR19TRUNVUklUWV9TRUxJTlVYPXkKQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhf
Qk9PVFBBUkFNPXkKQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNX1ZBTFVFPTEKQ09O
RklHX1NFQ1VSSVRZX1NFTElOVVhfRElTQUJMRT15CkNPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RF
VkVMT1A9eQpDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9BVkNfU1RBVFM9eQpDT05GSUdfU0VDVVJJ
VFlfU0VMSU5VWF9DSEVDS1JFUVBST1RfVkFMVUU9MQojIENPTkZJR19TRUNVUklUWV9TRUxJTlVY
X1BPTElDWURCX1ZFUlNJT05fTUFYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VDVVJJVFlfU01BQ0sg
aXMgbm90IHNldAojIENPTkZJR19TRUNVUklUWV9UT01PWU8gaXMgbm90IHNldAojIENPTkZJR19T
RUNVUklUWV9BUFBBUk1PUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VSSVRZX1lBTUEgaXMgbm90
IHNldAojIENPTkZJR19JTUEgaXMgbm90IHNldAojIENPTkZJR19FVk0gaXMgbm90IHNldApDT05G
SUdfREVGQVVMVF9TRUNVUklUWV9TRUxJTlVYPXkKIyBDT05GSUdfREVGQVVMVF9TRUNVUklUWV9E
QUMgaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9TRUNVUklUWT0ic2VsaW51eCIKQ09ORklHX0NS
WVBUTz15CgojCiMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiMKQ09ORklHX0NSWVBUT19BTEdBUEk9
eQpDT05GSUdfQ1JZUFRPX0FMR0FQSTI9eQpDT05GSUdfQ1JZUFRPX0FFQUQ9eQpDT05GSUdfQ1JZ
UFRPX0FFQUQyPXkKQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQpDT05GSUdfQ1JZUFRPX0JMS0NJ
UEhFUjI9eQpDT05GSUdfQ1JZUFRPX0hBU0g9eQpDT05GSUdfQ1JZUFRPX0hBU0gyPXkKQ09ORklH
X0NSWVBUT19STkcyPXkKQ09ORklHX0NSWVBUT19QQ09NUDI9eQpDT05GSUdfQ1JZUFRPX01BTkFH
RVI9eQpDT05GSUdfQ1JZUFRPX01BTkFHRVIyPXkKIyBDT05GSUdfQ1JZUFRPX1VTRVIgaXMgbm90
IHNldApDT05GSUdfQ1JZUFRPX01BTkFHRVJfRElTQUJMRV9URVNUUz15CiMgQ09ORklHX0NSWVBU
T19HRjEyOE1VTCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKIyBD
T05GSUdfQ1JZUFRPX1BDUllQVCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fV09SS1FVRVVFPXkK
IyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fQVVUSEVOQz15
CiMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKCiMKIyBBdXRoZW50aWNhdGVkIEVuY3J5
cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKIwojIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TRVFJViBp
cyBub3Qgc2V0CgojCiMgQmxvY2sgbW9kZXMKIwpDT05GSUdfQ1JZUFRPX0NCQz15CiMgQ09ORklH
X0NSWVBUT19DVFIgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKIyBD
T05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNl
dAojIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19YVFMgaXMg
bm90IHNldAoKIwojIEhhc2ggbW9kZXMKIwpDT05GSUdfQ1JZUFRPX0hNQUM9eQojIENPTkZJR19D
UllQVE9fWENCQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19WTUFDIGlzIG5vdCBzZXQKCiMK
IyBEaWdlc3QKIwojIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZ
UFRPX0NSQzMyQ19JTlRFTCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19HSEFTSCBpcyBub3Qg
c2V0CiMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX01ENT15CiMg
Q09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19STUQx
MjggaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fUk1EMTYwIGlzIG5vdCBzZXQKIyBDT05GSUdf
Q1JZUFRPX1JNRDI1NiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19STUQzMjAgaXMgbm90IHNl
dApDT05GSUdfQ1JZUFRPX1NIQTE9eQojIENPTkZJR19DUllQVE9fU0hBMV9TU1NFMyBpcyBub3Qg
c2V0CiMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0hB
NTEyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiMgQ09ORklH
X0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19HSEFTSF9DTE1VTF9OSV9J
TlRFTCBpcyBub3Qgc2V0CgojCiMgQ2lwaGVycwojCkNPTkZJR19DUllQVE9fQUVTPXkKIyBDT05G
SUdfQ1JZUFRPX0FFU19YODZfNjQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQUVTX05JX0lO
VEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CkNPTkZJR19D
UllQVE9fQVJDND15CiMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiMgQ09ORklH
X0NSWVBUT19CTE9XRklTSF9YODZfNjQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ0FNRUxM
SUEgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ0FNRUxMSUFfWDg2XzY0IGlzIG5vdCBzZXQK
IyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlz
IG5vdCBzZXQKQ09ORklHX0NSWVBUT19ERVM9eQojIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5v
dCBzZXQKIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19T
QUxTQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjBfWDg2XzY0IGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0VSUEVO
VCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TRVJQRU5UX1NTRTJfWDg2XzY0IGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19UV09GSVNI
IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0IGlzIG5vdCBzZXQKIyBD
T05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0XzNXQVkgaXMgbm90IHNldAoKIwojIENvbXByZXNz
aW9uCiMKIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f
WkxJQiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAoKIwojIFJhbmRv
bSBOdW1iZXIgR2VuZXJhdGlvbgojCiMgQ09ORklHX0NSWVBUT19BTlNJX0NQUk5HIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX1VTRVJfQVBJX0hBU0ggaXMgbm90IHNldAojIENPTkZJR19DUllQ
VE9fVVNFUl9BUElfU0tDSVBIRVIgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX0hXPXkKIyBDT05G
SUdfQ1JZUFRPX0RFVl9QQURMT0NLIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfS1ZNPXkKQ09ORklH
X0hBVkVfS1ZNX0lSUUNISVA9eQpDT05GSUdfSEFWRV9LVk1fRVZFTlRGRD15CkNPTkZJR19LVk1f
QVBJQ19BUkNISVRFQ1RVUkU9eQpDT05GSUdfS1ZNX01NSU89eQpDT05GSUdfS1ZNX0FTWU5DX1BG
PXkKQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKQ09ORklHX0tWTT15CkNPTkZJR19LVk1fSU5URUw9
eQpDT05GSUdfS1ZNX0FNRD15CiMgQ09ORklHX0tWTV9NTVVfQVVESVQgaXMgbm90IHNldAojIENP
TkZJR19WSE9TVF9ORVQgaXMgbm90IHNldApDT05GSUdfQklOQVJZX1BSSU5URj15CgojCiMgTGli
cmFyeSByb3V0aW5lcwojCkNPTkZJR19CSVRSRVZFUlNFPXkKQ09ORklHX0dFTkVSSUNfRklORF9G
SVJTVF9CSVQ9eQpDT05GSUdfR0VORVJJQ19QQ0lfSU9NQVA9eQpDT05GSUdfR0VORVJJQ19JT01B
UD15CkNPTkZJR19HRU5FUklDX0lPPXkKIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKQ09O
RklHX0NSQzE2PW0KQ09ORklHX0NSQ19UMTBESUY9eQojIENPTkZJR19DUkNfSVRVX1QgaXMgbm90
IHNldApDT05GSUdfQ1JDMzI9eQojIENPTkZJR19DUkMzMl9TRUxGVEVTVCBpcyBub3Qgc2V0CkNP
TkZJR19DUkMzMl9TTElDRUJZOD15CiMgQ09ORklHX0NSQzMyX1NMSUNFQlk0IGlzIG5vdCBzZXQK
IyBDT05GSUdfQ1JDMzJfU0FSV0FURSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQzMyX0JJVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0NSQzcgaXMgbm90IHNldAojIENPTkZJR19MSUJDUkMzMkMgaXMgbm90
IHNldAojIENPTkZJR19DUkM4IGlzIG5vdCBzZXQKQ09ORklHX1pMSUJfSU5GTEFURT15CkNPTkZJ
R19MWk9fREVDT01QUkVTUz15CkNPTkZJR19YWl9ERUM9eQpDT05GSUdfWFpfREVDX1g4Nj15CkNP
TkZJR19YWl9ERUNfUE9XRVJQQz15CkNPTkZJR19YWl9ERUNfSUE2ND15CkNPTkZJR19YWl9ERUNf
QVJNPXkKQ09ORklHX1haX0RFQ19BUk1USFVNQj15CkNPTkZJR19YWl9ERUNfU1BBUkM9eQpDT05G
SUdfWFpfREVDX0JDSj15CiMgQ09ORklHX1haX0RFQ19URVNUIGlzIG5vdCBzZXQKQ09ORklHX0RF
Q09NUFJFU1NfR1pJUD15CkNPTkZJR19ERUNPTVBSRVNTX0JaSVAyPXkKQ09ORklHX0RFQ09NUFJF
U1NfTFpNQT15CkNPTkZJR19ERUNPTVBSRVNTX1haPXkKQ09ORklHX0RFQ09NUFJFU1NfTFpPPXkK
Q09ORklHX0dFTkVSSUNfQUxMT0NBVE9SPXkKQ09ORklHX0hBU19JT01FTT15CkNPTkZJR19IQVNf
SU9QT1JUPXkKQ09ORklHX0hBU19ETUE9eQpDT05GSUdfQ0hFQ0tfU0lHTkFUVVJFPXkKQ09ORklH
X0NQVV9STUFQPXkKQ09ORklHX0RRTD15CkNPTkZJR19OTEFUVFI9eQpDT05GSUdfQVZFUkFHRT15
CiMgQ09ORklHX0NPUkRJQyBpcyBub3Qgc2V0Cg==

--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Tue May 29 16:46:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:46:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPYF-0002NU-Ua; Tue, 29 May 2012 16:45:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZPYC-0002NA-Ty
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:45:41 +0000
Received: from [85.158.139.83:15041] by server-9.bemta-5.messagelabs.com id
	B7/55-27779-43DF4CF4; Tue, 29 May 2012 16:45:40 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338309933!30897671!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg3NzI0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10340 invoked from network); 29 May 2012 16:45:34 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-15.tower-182.messagelabs.com with SMTP;
	29 May 2012 16:45:34 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 29 May 2012 09:40:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105470027"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 09:40:23 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 09:40:21 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 00:40:19 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPaBa+9n82rQio0qm9KrCMXnTtJbg7QRg
Date: Tue, 29 May 2012 16:40:19 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
In-Reply-To: <20120529133858.GD29157@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Borislav Petkov wrote:
> On Mon, May 28, 2012 at 02:48:06PM +0000, Liu, Jinsong wrote:
>>> An approach which basically same as you suggested but w/ slightly
>>> update, is 1). at xen/mcelog.c, do
>>> misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog,
>>> define it as device_initcall(xen_late_init_mcelog) --> now linux dd
>>> ready, so xen mcelog divice would register successfully; 2). at
>>> native mce.c, change 1 line from
>>> device_initcall(mcheck_init_device) to
>>> device_initcall_sync(mcheck_init_device) --> so
>>> misc_register(&mce_chrdev_device) would be blocked by xen mcelog
>>> device; =20
>>>=20
>>> I have draft test it and works fine.
>>> Thought?
>>>=20
>>=20
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> RFC patch attached:
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>=20
>>=20
>> From d06e667632507d7ed8e18f952b0eb7cec3cfc55c Mon Sep 17 00:00:00
>> 2001 From: Liu, Jinsong <jinsong.liu@intel.com>
>> Date: Tue, 29 May 2012 06:13:19 +0800
>> Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
>>=20
>> When MCA error occurs, it would be handled by Xen hypervisor first,
>> and then the error information would be sent to initial domain for
>> logging.=20
>>=20
>> This patch gets error information from Xen hypervisor and convert
>> Xen format error into Linux format mcelog. This logic is basically
>> self-contained, not touching other kernel components.
>>=20
>> By using tools like mcelog tool users could read specific error
>> information, like what they did under native Linux.
>>=20
>> To test follow directions outlined in
>> Documentation/acpi/apei/einj.txt=20
>>=20
>> Signed-off-by: Ke, Liping <liping.ke@intel.com>
>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
>=20
> Still no go, this is current linus with your patch applied. I'll look
> into it=20
> later when there's time.

>From calltrace seems it's related to device_initcall.
Borislav, would you please send me your .config? I can try to reproduce it =
and debug it.
(BTW,  your kernel pull from git://git.kernel.org/pub/scm/linux/kernel/git/=
torvalds/linux.git? I want to keep same baseline with you)

Attached is the .config at my environment which boot linux3.4.0-rc1+ as dom=
0 at Xen platform. Under this environment & config it's OK.

Thanks,
Jinsong

>=20
> [    3.644961] initlevel:6=3Ddevice, 250 registered initcalls
> [    3.652666] BUG: unable to handle kernel NULL pointer dereference
> at 0000000000000048 [    3.661186] IP: [<ffffffff811ced67>]
> kobject_get+0x11/0x34 [    3.667018] PGD 0
> [    3.669409] Oops: 0000 [#1] SMP
> [    3.672988] CPU 21
> [    3.675436] Modules linked in:
> [    3.678839]
> [    3.680710] Pid: 1, comm: swapper/0 Tainted: G        W    3.4.0+
> #1 AMD [    3.689103] RIP: 0010:[<ffffffff811ced67>]=20
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.697665] RSP:
> 0000:ffff880425c67cd0  EFLAGS: 00010202 [    3.703322] RAX:
> ffff880425ff40b0 RBX: 0000000000000010 RCX: ffff880425c67c50 [  =20
> 3.710801] RDX: ffff880425ff4000 RSI: ffff8808259c5380 RDI:
> 0000000000000010 [    3.718302] RBP: ffff880425c67ce0 R08:
> 00000000fffffffe R09: 00000000ffffffff [    3.725780] R10:
> ffff8804a5c67e5f R11: 0000000000000000 R12: 0000000000000010 [  =20
> 3.733258] R13: 00000000fffffffe R14: 000000000000cbf8 R15:
> 0000000000011ec0 [    3.740738] FS:  0000000000000000(0000)
> GS:ffff880c27cc0000(0000) knlGS:0000000000000000 [    3.749472] CS:=20
> 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [    3.755564] CR2:
> 0000000000000048 CR3: 0000000001a0b000 CR4: 00000000000007e0 [  =20
> 3.763044] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000 [    3.770549] DR3: 0000000000000000 DR6:
> 00000000ffff0ff0 DR7: 0000000000000400 [    3.778026] Process
> swapper/0 (pid: 1, threadinfo ffff880425c66000, task
> ffff880425c78000) [    3.786934] Stack: [    3.789326]=20
> ffff880425c67d20 ffff8808259c5380 ffff880425c67d40 ffffffff811cedeb [
> 3.797368]  ffff880425c67d70 ffff880425c67da0 ffff8808259c5380
> ffff8808259c5380 [    3.805411]  0000000000000000 ffff8808259c5380
> 0000000000000010 0000000000000000 [    3.813453] Call Trace: [  =20
> 3.816253]  [<ffffffff811cedeb>] kobject_add_internal+0x61/0x249 [  =20
> 3.822693]  [<ffffffff811cf3ca>] kobject_add+0x91/0xa2 [    3.828290]=20
> [<ffffffff811cf5a9>] kobject_create_and_add+0x37/0x68 [    3.834821]=20
> [<ffffffff8144b91a>] threshold_create_device+0x1e5/0x342 [  =20
> 3.841633]  [<ffffffff814549c5>] ? mutex_lock+0x16/0x37 [    3.847295]
> [<ffffffff81031894>] ? cpu_maps_update_done+0x15/0x2d [    3.853824]=20
> [<ffffffff81ad0b0e>] threshold_init_device+0x1b/0x4f [    3.860265]=20
> [<ffffffff81ad0af3>] ? severities_debugfs_init+0x3b/0x3b [  =20
> 3.867054]  [<ffffffff810002f9>] do_one_initcall+0x7f/0x136 [  =20
> 3.873062]  [<ffffffff81ac8bca>] kernel_init+0x165/0x1fd [  =20
> 3.878807]  [<ffffffff81ac8495>] ? loglevel+0x31/0x31 [    3.884321]=20
> [<ffffffff8145e8d4>] kernel_thread_helper+0x4/0x10 [    3.890590]=20
> [<ffffffff81456d86>] ? retint_restore_args+0xe/0xe [    3.896885]=20
> [<ffffffff81ac8a65>] ? start_kernel+0x2ee/0x2ee [    3.902893]=20
> [<ffffffff8145e8d0>] ? gs_change+0xb/0xb [    3.908322] Code: aa 81
> 31 c0 e8 ac 90 01 00 4c 89 f7 e8 c5 42 f2 ff 5b 41 5c 41 5d 41 5e c9
> c3 55 48 89 e5 53 48 89 fb 48 83 ec 08 48 85 ff 74 1c <8b> 47 38 85
> c0 75 11 be 29 00 00 00 48 c7 c7 16 87 79 81 e8 95 [    3.928115] RIP
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.934032]  RSP
> <ffff880425c67cd0> [    3.937870] CR2: 0000000000000048 [  =20
> 3.941548] ---[ end trace 4eaa2a86a8e2da23 ]--- [    3.946581] Kernel
> panic - not syncing: Attempted to kill init! exitcode=3D0x00000009 [  =20
> 3.946581]    =20


--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_
Content-Type: application/octet-stream; name="config"
Content-Description: config
Content-Disposition: attachment; filename="config"; size=86497;
	creation-date="Tue, 29 May 2012 16:10:34 GMT";
	modification-date="Mon, 21 May 2012 11:03:00 GMT"
Content-Transfer-Encoding: base64

IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7IERPIE5PVCBFRElULgojIExpbnV4L3g4
Nl82NCAzLjQuMC1yYzEgS2VybmVsIENvbmZpZ3VyYXRpb24KIwpDT05GSUdfNjRCSVQ9eQojIENP
TkZJR19YODZfMzIgaXMgbm90IHNldApDT05GSUdfWDg2XzY0PXkKQ09ORklHX1g4Nj15CkNPTkZJ
R19JTlNUUlVDVElPTl9ERUNPREVSPXkKQ09ORklHX09VVFBVVF9GT1JNQVQ9ImVsZjY0LXg4Ni02
NCIKQ09ORklHX0FSQ0hfREVGQ09ORklHPSJhcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25m
aWciCkNPTkZJR19HRU5FUklDX0NNT1NfVVBEQVRFPXkKQ09ORklHX0NMT0NLU09VUkNFX1dBVENI
RE9HPXkKQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQpDT05GSUdfQVJDSF9DTE9DS1NPVVJD
RV9EQVRBPXkKQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJPQURDQVNUPXkKQ09ORklHX0xP
Q0tERVBfU1VQUE9SVD15CkNPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQpDT05GSUdfSEFWRV9M
QVRFTkNZVE9QX1NVUFBPUlQ9eQpDT05GSUdfTU1VPXkKQ09ORklHX05FRURfRE1BX01BUF9TVEFU
RT15CkNPTkZJR19ORUVEX1NHX0RNQV9MRU5HVEg9eQpDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkK
Q09ORklHX0dFTkVSSUNfQlVHPXkKQ09ORklHX0dFTkVSSUNfQlVHX1JFTEFUSVZFX1BPSU5URVJT
PXkKQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CkNPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15
CiMgQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0sgaXMgbm90IHNldApDT05GSUdfUldTRU1f
WENIR0FERF9BTEdPUklUSE09eQpDT05GSUdfQVJDSF9IQVNfQ1BVX0lETEVfV0FJVD15CkNPTkZJ
R19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CkNPTkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEw9
eQpDT05GSUdfQVJDSF9IQVNfQ1BVX1JFTEFYPXkKQ09ORklHX0FSQ0hfSEFTX0RFRkFVTFRfSURM
RT15CkNPTkZJR19BUkNIX0hBU19DQUNIRV9MSU5FX1NJWkU9eQpDT05GSUdfQVJDSF9IQVNfQ1BV
X0FVVE9QUk9CRT15CkNPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15CkNPTkZJR19ORUVE
X1BFUl9DUFVfRU1CRURfRklSU1RfQ0hVTks9eQpDT05GSUdfTkVFRF9QRVJfQ1BVX1BBR0VfRklS
U1RfQ0hVTks9eQpDT05GSUdfQVJDSF9ISUJFUk5BVElPTl9QT1NTSUJMRT15CkNPTkZJR19BUkNI
X1NVU1BFTkRfUE9TU0lCTEU9eQpDT05GSUdfWk9ORV9ETUEzMj15CkNPTkZJR19BVURJVF9BUkNI
PXkKQ09ORklHX0FSQ0hfU1VQUE9SVFNfT1BUSU1JWkVEX0lOTElOSU5HPXkKQ09ORklHX0FSQ0hf
U1VQUE9SVFNfREVCVUdfUEFHRUFMTE9DPXkKQ09ORklHX1g4Nl82NF9TTVA9eQpDT05GSUdfWDg2
X0hUPXkKQ09ORklHX0FSQ0hfSFdFSUdIVF9DRkxBR1M9Ii1mY2FsbC1zYXZlZC1yZGkgLWZjYWxs
LXNhdmVkLXJzaSAtZmNhbGwtc2F2ZWQtcmR4IC1mY2FsbC1zYXZlZC1yY3ggLWZjYWxsLXNhdmVk
LXI4IC1mY2FsbC1zYXZlZC1yOSAtZmNhbGwtc2F2ZWQtcjEwIC1mY2FsbC1zYXZlZC1yMTEiCiMg
Q09ORklHX0tUSU1FX1NDQUxBUiBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0NQVV9QUk9CRV9SRUxF
QVNFPXkKQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0Uv
LmNvbmZpZyIKQ09ORklHX0hBVkVfSVJRX1dPUks9eQpDT05GSUdfSVJRX1dPUks9eQoKIwojIEdl
bmVyYWwgc2V0dXAKIwpDT05GSUdfRVhQRVJJTUVOVEFMPXkKQ09ORklHX0lOSVRfRU5WX0FSR19M
SU1JVD0zMgpDT05GSUdfQ1JPU1NfQ09NUElMRT0iIgpDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiMg
Q09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfS0VSTkVMX0da
SVA9eQpDT05GSUdfSEFWRV9LRVJORUxfQlpJUDI9eQpDT05GSUdfSEFWRV9LRVJORUxfTFpNQT15
CkNPTkZJR19IQVZFX0tFUk5FTF9YWj15CkNPTkZJR19IQVZFX0tFUk5FTF9MWk89eQpDT05GSUdf
S0VSTkVMX0daSVA9eQojIENPTkZJR19LRVJORUxfQlpJUDIgaXMgbm90IHNldAojIENPTkZJR19L
RVJORUxfTFpNQSBpcyBub3Qgc2V0CiMgQ09ORklHX0tFUk5FTF9YWiBpcyBub3Qgc2V0CiMgQ09O
RklHX0tFUk5FTF9MWk8gaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9IT1NUTkFNRT0iKG5vbmUp
IgpDT05GSUdfU1dBUD15CkNPTkZJR19TWVNWSVBDPXkKQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkK
Q09ORklHX1BPU0lYX01RVUVVRT15CkNPTkZJR19QT1NJWF9NUVVFVUVfU1lTQ1RMPXkKQ09ORklH
X0JTRF9QUk9DRVNTX0FDQ1Q9eQojIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1YzIGlzIG5vdCBz
ZXQKIyBDT05GSUdfRkhBTkRMRSBpcyBub3Qgc2V0CkNPTkZJR19UQVNLU1RBVFM9eQpDT05GSUdf
VEFTS19ERUxBWV9BQ0NUPXkKQ09ORklHX1RBU0tfWEFDQ1Q9eQpDT05GSUdfVEFTS19JT19BQ0NP
VU5USU5HPXkKQ09ORklHX0FVRElUPXkKQ09ORklHX0FVRElUU1lTQ0FMTD15CkNPTkZJR19BVURJ
VF9XQVRDSD15CkNPTkZJR19BVURJVF9UUkVFPXkKIyBDT05GSUdfQVVESVRfTE9HSU5VSURfSU1N
VVRBQkxFIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfR0VORVJJQ19IQVJESVJRUz15CgojCiMgSVJR
IHN1YnN5c3RlbQojCkNPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQ09ORklHX0dFTkVSSUNfSVJR
X1BST0JFPXkKQ09ORklHX0dFTkVSSUNfSVJRX1NIT1c9eQpDT05GSUdfR0VORVJJQ19QRU5ESU5H
X0lSUT15CkNPTkZJR19JUlFfRk9SQ0VEX1RIUkVBRElORz15CkNPTkZJR19TUEFSU0VfSVJRPXkK
CiMKIyBSQ1UgU3Vic3lzdGVtCiMKQ09ORklHX1RSRUVfUkNVPXkKIyBDT05GSUdfUFJFRU1QVF9S
Q1UgaXMgbm90IHNldApDT05GSUdfUkNVX0ZBTk9VVD0zMgojIENPTkZJR19SQ1VfRkFOT1VUX0VY
QUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfUkNVX0ZBU1RfTk9fSFogaXMgbm90IHNldAojIENPTkZJ
R19UUkVFX1JDVV9UUkFDRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQK
Q09ORklHX0xPR19CVUZfU0hJRlQ9MTgKQ09ORklHX0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0s9
eQpDT05GSUdfQ0dST1VQUz15CiMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJ
R19DR1JPVVBfRlJFRVpFUj15CiMgQ09ORklHX0NHUk9VUF9ERVZJQ0UgaXMgbm90IHNldApDT05G
SUdfQ1BVU0VUUz15CkNPTkZJR19QUk9DX1BJRF9DUFVTRVQ9eQpDT05GSUdfQ0dST1VQX0NQVUFD
Q1Q9eQpDT05GSUdfUkVTT1VSQ0VfQ09VTlRFUlM9eQojIENPTkZJR19DR1JPVVBfTUVNX1JFU19D
VExSIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0dST1VQX1BFUkYgaXMgbm90IHNldApDT05GSUdfQ0dS
T1VQX1NDSEVEPXkKQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQojIENPTkZJR19DRlNfQkFORFdJ
RFRIIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAojIENPTkZJ
R19CTEtfQ0dST1VQIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hFQ0tQT0lOVF9SRVNUT1JFIGlzIG5v
dCBzZXQKQ09ORklHX05BTUVTUEFDRVM9eQpDT05GSUdfVVRTX05TPXkKQ09ORklHX0lQQ19OUz15
CkNPTkZJR19VU0VSX05TPXkKQ09ORklHX1BJRF9OUz15CkNPTkZJR19ORVRfTlM9eQojIENPTkZJ
R19TQ0hFRF9BVVRPR1JPVVAgaXMgbm90IHNldApDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CkNP
TkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKQ09ORklHX1JFTEFZPXkKQ09ORklHX0JMS19ERVZf
SU5JVFJEPXkKQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKQ09ORklHX1JEX0daSVA9eQpDT05G
SUdfUkRfQlpJUDI9eQpDT05GSUdfUkRfTFpNQT15CkNPTkZJR19SRF9YWj15CkNPTkZJR19SRF9M
Wk89eQojIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CkNPTkZJR19TWVND
VEw9eQpDT05GSUdfQU5PTl9JTk9ERVM9eQojIENPTkZJR19FWFBFUlQgaXMgbm90IHNldApDT05G
SUdfVUlEMTY9eQojIENPTkZJR19TWVNDVExfU1lTQ0FMTCBpcyBub3Qgc2V0CkNPTkZJR19LQUxM
U1lNUz15CiMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CkNPTkZJR19IT1RQTFVHPXkK
Q09ORklHX1BSSU5USz15CkNPTkZJR19CVUc9eQpDT05GSUdfRUxGX0NPUkU9eQpDT05GSUdfUENT
UEtSX1BMQVRGT1JNPXkKQ09ORklHX0hBVkVfUENTUEtSX1BMQVRGT1JNPXkKQ09ORklHX0JBU0Vf
RlVMTD15CkNPTkZJR19GVVRFWD15CkNPTkZJR19FUE9MTD15CkNPTkZJR19TSUdOQUxGRD15CkNP
TkZJR19USU1FUkZEPXkKQ09ORklHX0VWRU5URkQ9eQpDT05GSUdfU0hNRU09eQpDT05GSUdfQUlP
PXkKIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldApDT05GSUdfSEFWRV9QRVJGX0VWRU5UUz15
CgojCiMgS2VybmVsIFBlcmZvcm1hbmNlIEV2ZW50cyBBbmQgQ291bnRlcnMKIwpDT05GSUdfUEVS
Rl9FVkVOVFM9eQojIENPTkZJR19QRVJGX0NPVU5URVJTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVC
VUdfUEVSRl9VU0VfVk1BTExPQyBpcyBub3Qgc2V0CkNPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15
CkNPTkZJR19QQ0lfUVVJUktTPXkKQ09ORklHX1NMVUJfREVCVUc9eQojIENPTkZJR19DT01QQVRf
QlJLIGlzIG5vdCBzZXQKIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CkNPTkZJR19TTFVCPXkKQ09O
RklHX1BST0ZJTElORz15CkNPTkZJR19UUkFDRVBPSU5UUz15CiMgQ09ORklHX09QUk9GSUxFIGlz
IG5vdCBzZXQKQ09ORklHX0hBVkVfT1BST0ZJTEU9eQpDT05GSUdfT1BST0ZJTEVfTk1JX1RJTUVS
PXkKQ09ORklHX0tQUk9CRVM9eQojIENPTkZJR19KVU1QX0xBQkVMIGlzIG5vdCBzZXQKQ09ORklH
X09QVFBST0JFUz15CkNPTkZJR19IQVZFX0VGRklDSUVOVF9VTkFMSUdORURfQUNDRVNTPXkKQ09O
RklHX0tSRVRQUk9CRVM9eQpDT05GSUdfVVNFUl9SRVRVUk5fTk9USUZJRVI9eQpDT05GSUdfSEFW
RV9JT1JFTUFQX1BST1Q9eQpDT05GSUdfSEFWRV9LUFJPQkVTPXkKQ09ORklHX0hBVkVfS1JFVFBS
T0JFUz15CkNPTkZJR19IQVZFX09QVFBST0JFUz15CkNPTkZJR19IQVZFX0FSQ0hfVFJBQ0VIT09L
PXkKQ09ORklHX0hBVkVfRE1BX0FUVFJTPXkKQ09ORklHX1VTRV9HRU5FUklDX1NNUF9IRUxQRVJT
PXkKQ09ORklHX0hBVkVfUkVHU19BTkRfU1RBQ0tfQUNDRVNTX0FQST15CkNPTkZJR19IQVZFX0RN
QV9BUElfREVCVUc9eQpDT05GSUdfSEFWRV9IV19CUkVBS1BPSU5UPXkKQ09ORklHX0hBVkVfTUlY
RURfQlJFQUtQT0lOVFNfUkVHUz15CkNPTkZJR19IQVZFX1VTRVJfUkVUVVJOX05PVElGSUVSPXkK
Q09ORklHX0hBVkVfUEVSRl9FVkVOVFNfTk1JPXkKQ09ORklHX0hBVkVfQVJDSF9KVU1QX0xBQkVM
PXkKQ09ORklHX0FSQ0hfSEFWRV9OTUlfU0FGRV9DTVBYQ0hHPXkKQ09ORklHX0hBVkVfQUxJR05F
RF9TVFJVQ1RfUEFHRT15CkNPTkZJR19IQVZFX0NNUFhDSEdfTE9DQUw9eQpDT05GSUdfSEFWRV9D
TVBYQ0hHX0RPVUJMRT15CkNPTkZJR19BUkNIX1dBTlRfT0xEX0NPTVBBVF9JUEM9eQoKIwojIEdD
T1YtYmFzZWQga2VybmVsIHByb2ZpbGluZwojCiMgQ09ORklHX0dDT1ZfS0VSTkVMIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSEFWRV9HRU5FUklDX0RNQV9DT0hFUkVOVCBpcyBub3Qgc2V0CkNPTkZJR19T
TEFCSU5GTz15CkNPTkZJR19SVF9NVVRFWEVTPXkKQ09ORklHX0JBU0VfU01BTEw9MApDT05GSUdf
TU9EVUxFUz15CiMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKQ09ORklHX01P
RFVMRV9VTkxPQUQ9eQpDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CiMgQ09ORklHX01PRFZF
UlNJT05TIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBz
ZXQKQ09ORklHX1NUT1BfTUFDSElORT15CkNPTkZJR19CTE9DSz15CkNPTkZJR19CTEtfREVWX0JT
Rz15CkNPTkZJR19CTEtfREVWX0JTR0xJQj15CiMgQ09ORklHX0JMS19ERVZfSU5URUdSSVRZIGlz
IG5vdCBzZXQKCiMKIyBQYXJ0aXRpb24gVHlwZXMKIwpDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VE
PXkKIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX09TRl9QQVJUSVRJ
T049eQpDT05GSUdfQU1JR0FfUEFSVElUSU9OPXkKIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlz
IG5vdCBzZXQKQ09ORklHX01BQ19QQVJUSVRJT049eQpDT05GSUdfTVNET1NfUEFSVElUSU9OPXkK
Q09ORklHX0JTRF9ESVNLTEFCRUw9eQpDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKQ09ORklH
X1NPTEFSSVNfWDg2X1BBUlRJVElPTj15CkNPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQojIENP
TkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX1NHSV9QQVJUSVRJT049eQojIENP
TkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX1NVTl9QQVJUSVRJT049eQpD
T05GSUdfS0FSTUFfUEFSVElUSU9OPXkKQ09ORklHX0VGSV9QQVJUSVRJT049eQojIENPTkZJR19T
WVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX0JMT0NLX0NPTVBBVD15CgojCiMgSU8g
U2NoZWR1bGVycwojCkNPTkZJR19JT1NDSEVEX05PT1A9eQpDT05GSUdfSU9TQ0hFRF9ERUFETElO
RT15CkNPTkZJR19JT1NDSEVEX0NGUT15CiMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90
IHNldApDT05GSUdfREVGQVVMVF9DRlE9eQojIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNl
dApDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCkNPTkZJR19QUkVFTVBUX05PVElGSUVSUz15
CiMgQ09ORklHX0lOTElORV9TUElOX1RSWUxPQ0sgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVf
U1BJTl9UUllMT0NLX0JIIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1NQSU5fTE9DSyBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX0xPQ0tfQkggaXMgbm90IHNldAojIENPTkZJR19J
TkxJTkVfU1BJTl9MT0NLX0lSUSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX0xPQ0tf
SVJRU0FWRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX1VOTE9DS19CSCBpcyBub3Qg
c2V0CkNPTkZJR19JTkxJTkVfU1BJTl9VTkxPQ0tfSVJRPXkKIyBDT05GSUdfSU5MSU5FX1NQSU5f
VU5MT0NLX0lSUVJFU1RPUkUgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfUkVBRF9UUllMT0NL
IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1JFQURfTE9DSyBpcyBub3Qgc2V0CiMgQ09ORklH
X0lOTElORV9SRUFEX0xPQ0tfQkggaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfUkVBRF9MT0NL
X0lSUSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9SRUFEX0xPQ0tfSVJRU0FWRSBpcyBub3Qg
c2V0CkNPTkZJR19JTkxJTkVfUkVBRF9VTkxPQ0s9eQojIENPTkZJR19JTkxJTkVfUkVBRF9VTkxP
Q0tfQkggaXMgbm90IHNldApDT05GSUdfSU5MSU5FX1JFQURfVU5MT0NLX0lSUT15CiMgQ09ORklH
X0lOTElORV9SRUFEX1VOTE9DS19JUlFSRVNUT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5F
X1dSSVRFX1RSWUxPQ0sgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfV1JJVEVfTE9DSyBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lOTElORV9XUklURV9MT0NLX0JIIGlzIG5vdCBzZXQKIyBDT05GSUdf
SU5MSU5FX1dSSVRFX0xPQ0tfSVJRIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1dSSVRFX0xP
Q0tfSVJRU0FWRSBpcyBub3Qgc2V0CkNPTkZJR19JTkxJTkVfV1JJVEVfVU5MT0NLPXkKIyBDT05G
SUdfSU5MSU5FX1dSSVRFX1VOTE9DS19CSCBpcyBub3Qgc2V0CkNPTkZJR19JTkxJTkVfV1JJVEVf
VU5MT0NLX0lSUT15CiMgQ09ORklHX0lOTElORV9XUklURV9VTkxPQ0tfSVJRUkVTVE9SRSBpcyBu
b3Qgc2V0CkNPTkZJR19NVVRFWF9TUElOX09OX09XTkVSPXkKQ09ORklHX0ZSRUVaRVI9eQoKIwoj
IFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwojCkNPTkZJR19aT05FX0RNQT15CkNPTkZJR19U
SUNLX09ORVNIT1Q9eQpDT05GSUdfTk9fSFo9eQpDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKQ09O
RklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQpDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5U
U19NSU5fQURKVVNUPXkKQ09ORklHX1NNUD15CkNPTkZJR19YODZfTVBQQVJTRT15CkNPTkZJR19Y
ODZfRVhURU5ERURfUExBVEZPUk09eQojIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0CkNPTkZJ
R19YODZfU1VQUE9SVFNfTUVNT1JZX0ZBSUxVUkU9eQpDT05GSUdfU0NIRURfT01JVF9GUkFNRV9Q
T0lOVEVSPXkKQ09ORklHX1BBUkFWSVJUX0dVRVNUPXkKIyBDT05GSUdfUEFSQVZJUlRfVElNRV9B
Q0NPVU5USU5HIGlzIG5vdCBzZXQKQ09ORklHX1hFTj15CkNPTkZJR19YRU5fRE9NMD15CkNPTkZJ
R19YRU5fUFJJVklMRUdFRF9HVUVTVD15CkNPTkZJR19YRU5fUFZIVk09eQpDT05GSUdfWEVOX01B
WF9ET01BSU5fTUVNT1JZPTUwMApDT05GSUdfWEVOX1NBVkVfUkVTVE9SRT15CkNPTkZJR19YRU5f
REVCVUdfRlM9eQpDT05GSUdfS1ZNX0NMT0NLPXkKIyBDT05GSUdfS1ZNX0dVRVNUIGlzIG5vdCBz
ZXQKQ09ORklHX1BBUkFWSVJUPXkKQ09ORklHX1BBUkFWSVJUX1NQSU5MT0NLUz15CkNPTkZJR19Q
QVJBVklSVF9DTE9DSz15CkNPTkZJR19QQVJBVklSVF9ERUJVRz15CkNPTkZJR19OT19CT09UTUVN
PXkKIyBDT05GSUdfTUVNVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX01LOCBpcyBub3Qgc2V0CiMg
Q09ORklHX01QU0MgaXMgbm90IHNldAojIENPTkZJR19NQ09SRTIgaXMgbm90IHNldAojIENPTkZJ
R19NQVRPTSBpcyBub3Qgc2V0CkNPTkZJR19HRU5FUklDX0NQVT15CkNPTkZJR19YODZfSU5URVJO
T0RFX0NBQ0hFX1NISUZUPTYKQ09ORklHX1g4Nl9DTVBYQ0hHPXkKQ09ORklHX1g4Nl9MMV9DQUNI
RV9TSElGVD02CkNPTkZJR19YODZfWEFERD15CkNPTkZJR19YODZfV1BfV09SS1NfT0s9eQpDT05G
SUdfWDg2X1RTQz15CkNPTkZJR19YODZfQ01QWENIRzY0PXkKQ09ORklHX1g4Nl9DTU9WPXkKQ09O
RklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NjQKQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CkNP
TkZJR19DUFVfU1VQX0lOVEVMPXkKQ09ORklHX0NQVV9TVVBfQU1EPXkKQ09ORklHX0NQVV9TVVBf
Q0VOVEFVUj15CkNPTkZJR19IUEVUX1RJTUVSPXkKQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQpD
T05GSUdfRE1JPXkKQ09ORklHX0dBUlRfSU9NTVU9eQojIENPTkZJR19DQUxHQVJZX0lPTU1VIGlz
IG5vdCBzZXQKQ09ORklHX1NXSU9UTEI9eQpDT05GSUdfSU9NTVVfSEVMUEVSPXkKIyBDT05GSUdf
TUFYU01QIGlzIG5vdCBzZXQKQ09ORklHX05SX0NQVVM9NjQKIyBDT05GSUdfU0NIRURfU01UIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0NIRURfTUMgaXMgbm90IHNldAojIENPTkZJR19JUlFfVElNRV9B
Q0NPVU5USU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5vdCBzZXQKQ09O
RklHX1BSRUVNUFRfVk9MVU5UQVJZPXkKIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0CkNPTkZJ
R19YODZfTE9DQUxfQVBJQz15CkNPTkZJR19YODZfSU9fQVBJQz15CkNPTkZJR19YODZfUkVST1VU
RV9GT1JfQlJPS0VOX0JPT1RfSVJRUz15CkNPTkZJR19YODZfTUNFPXkKQ09ORklHX1g4Nl9NQ0Vf
SU5URUw9eQpDT05GSUdfWDg2X01DRV9BTUQ9eQpDT05GSUdfWDg2X01DRV9USFJFU0hPTEQ9eQpD
T05GSUdfWDg2X01DRV9JTkpFQ1Q9eQpDT05GSUdfWDg2X1RIRVJNQUxfVkVDVE9SPXkKIyBDT05G
SUdfSThLIGlzIG5vdCBzZXQKQ09ORklHX01JQ1JPQ09ERT15CkNPTkZJR19NSUNST0NPREVfSU5U
RUw9eQpDT05GSUdfTUlDUk9DT0RFX0FNRD15CkNPTkZJR19NSUNST0NPREVfT0xEX0lOVEVSRkFD
RT15CkNPTkZJR19YODZfTVNSPXkKQ09ORklHX1g4Nl9DUFVJRD15CkNPTkZJR19BUkNIX1BIWVNf
QUREUl9UXzY0QklUPXkKQ09ORklHX0FSQ0hfRE1BX0FERFJfVF82NEJJVD15CkNPTkZJR19ESVJF
Q1RfR0JQQUdFUz15CiMgQ09ORklHX05VTUEgaXMgbm90IHNldApDT05GSUdfQVJDSF9TUEFSU0VN
RU1fRU5BQkxFPXkKQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0RFRkFVTFQ9eQpDT05GSUdfQVJDSF9T
RUxFQ1RfTUVNT1JZX01PREVMPXkKQ09ORklHX0FSQ0hfTUVNT1JZX1BST0JFPXkKQ09ORklHX0FS
Q0hfUFJPQ19LQ09SRV9URVhUPXkKQ09ORklHX0lMTEVHQUxfUE9JTlRFUl9WQUxVRT0weGRlYWQw
MDAwMDAwMDAwMDAKQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQpDT05GSUdfU1BBUlNFTUVN
X01BTlVBTD15CkNPTkZJR19TUEFSU0VNRU09eQpDT05GSUdfSEFWRV9NRU1PUllfUFJFU0VOVD15
CkNPTkZJR19TUEFSU0VNRU1fRVhUUkVNRT15CkNPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFC
TEU9eQpDT05GSUdfU1BBUlNFTUVNX0FMTE9DX01FTV9NQVBfVE9HRVRIRVI9eQojIENPTkZJR19T
UEFSU0VNRU1fVk1FTU1BUCBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX01FTUJMT0NLPXkKQ09ORklH
X0hBVkVfTUVNQkxPQ0tfTk9ERV9NQVA9eQpDT05GSUdfQVJDSF9ESVNDQVJEX01FTUJMT0NLPXkK
Q09ORklHX01FTU9SWV9IT1RQTFVHPXkKQ09ORklHX01FTU9SWV9IT1RQTFVHX1NQQVJTRT15CkNP
TkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQpDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAojIENP
TkZJR19DT01QQUNUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlHUkFUSU9OIGlzIG5vdCBzZXQK
Q09ORklHX1BIWVNfQUREUl9UXzY0QklUPXkKQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpDT05GSUdf
Qk9VTkNFPXkKQ09ORklHX1ZJUlRfVE9fQlVTPXkKQ09ORklHX01NVV9OT1RJRklFUj15CiMgQ09O
RklHX0tTTSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX01NQVBfTUlOX0FERFI9NDA5NgpDT05G
SUdfQVJDSF9TVVBQT1JUU19NRU1PUllfRkFJTFVSRT15CiMgQ09ORklHX01FTU9SWV9GQUlMVVJF
IGlzIG5vdCBzZXQKIyBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UgaXMgbm90IHNldAojIENP
TkZJR19DTEVBTkNBQ0hFIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9DSEVDS19CSU9TX0NPUlJVUFRJ
T049eQpDT05GSUdfWDg2X0JPT1RQQVJBTV9NRU1PUllfQ09SUlVQVElPTl9DSEVDSz15CkNPTkZJ
R19YODZfUkVTRVJWRV9MT1c9NjQKQ09ORklHX01UUlI9eQojIENPTkZJR19NVFJSX1NBTklUSVpF
UiBpcyBub3Qgc2V0CkNPTkZJR19YODZfUEFUPXkKQ09ORklHX0FSQ0hfVVNFU19QR19VTkNBQ0hF
RD15CkNPTkZJR19BUkNIX1JBTkRPTT15CkNPTkZJR19FRkk9eQojIENPTkZJR19FRklfU1RVQiBp
cyBub3Qgc2V0CkNPTkZJR19TRUNDT01QPXkKIyBDT05GSUdfQ0NfU1RBQ0tQUk9URUNUT1IgaXMg
bm90IHNldAojIENPTkZJR19IWl8xMDAgaXMgbm90IHNldAojIENPTkZJR19IWl8yNTAgaXMgbm90
IHNldAojIENPTkZJR19IWl8zMDAgaXMgbm90IHNldApDT05GSUdfSFpfMTAwMD15CkNPTkZJR19I
Wj0xMDAwCkNPTkZJR19TQ0hFRF9IUlRJQ0s9eQpDT05GSUdfS0VYRUM9eQpDT05GSUdfQ1JBU0hf
RFVNUD15CkNPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEwMDAwMDAKQ09ORklHX1JFTE9DQVRBQkxF
PXkKQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MTAwMDAwMApDT05GSUdfSE9UUExVR19DUFU9eQoj
IENPTkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiMgQ09ORklHX0NNRExJTkVfQk9PTCBpcyBu
b3Qgc2V0CkNPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15CkNPTkZJR19BUkNIX0VO
QUJMRV9NRU1PUllfSE9UUkVNT1ZFPXkKCiMKIyBQb3dlciBtYW5hZ2VtZW50IGFuZCBBQ1BJIG9w
dGlvbnMKIwpDT05GSUdfU1VTUEVORD15CkNPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQpDT05GSUdf
SElCRVJOQVRFX0NBTExCQUNLUz15CiMgQ09ORklHX0hJQkVSTkFUSU9OIGlzIG5vdCBzZXQKQ09O
RklHX1BNX1NMRUVQPXkKQ09ORklHX1BNX1NMRUVQX1NNUD15CiMgQ09ORklHX1BNX1JVTlRJTUUg
aXMgbm90IHNldApDT05GSUdfUE09eQpDT05GSUdfUE1fREVCVUc9eQojIENPTkZJR19QTV9BRFZB
TkNFRF9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1BNX1RFU1RfU1VTUEVORCBpcyBub3Qgc2V0
CkNPTkZJR19DQU5fUE1fVFJBQ0U9eQpDT05GSUdfUE1fVFJBQ0U9eQpDT05GSUdfUE1fVFJBQ0Vf
UlRDPXkKQ09ORklHX0FDUEk9eQpDT05GSUdfQUNQSV9TTEVFUD15CkNPTkZJR19BQ1BJX1BST0NG
Uz15CiMgQ09ORklHX0FDUElfUFJPQ0ZTX1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9F
Q19ERUJVR0ZTIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfUFJPQ19FVkVOVD15CkNPTkZJR19BQ1BJ
X0FDPXkKQ09ORklHX0FDUElfQkFUVEVSWT15CkNPTkZJR19BQ1BJX0JVVFRPTj15CkNPTkZJR19B
Q1BJX1ZJREVPPXkKQ09ORklHX0FDUElfRkFOPXkKQ09ORklHX0FDUElfRE9DSz15CkNPTkZJR19B
Q1BJX1BST0NFU1NPUj15CkNPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkKIyBDT05GSUdfQUNQSV9Q
Uk9DRVNTT1JfQUdHUkVHQVRPUiBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX1RIRVJNQUw9eQojIENP
TkZJR19BQ1BJX0NVU1RPTV9EU0RUIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lF
QVI9MAojIENPTkZJR19BQ1BJX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9QQ0lfU0xP
VCBpcyBub3Qgc2V0CkNPTkZJR19YODZfUE1fVElNRVI9eQpDT05GSUdfQUNQSV9DT05UQUlORVI9
eQpDT05GSUdfQUNQSV9IT1RQTFVHX01FTU9SWT15CiMgQ09ORklHX0FDUElfU0JTIGlzIG5vdCBz
ZXQKQ09ORklHX0FDUElfSEVEPXkKIyBDT05GSUdfQUNQSV9DVVNUT01fTUVUSE9EIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQUNQSV9CR1JUIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfQVBFST15CkNPTkZJ
R19BQ1BJX0FQRUlfR0hFUz15CkNPTkZJR19BQ1BJX0FQRUlfUENJRUFFUj15CkNPTkZJR19BQ1BJ
X0FQRUlfRUlOSj15CkNPTkZJR19BQ1BJX0FQRUlfRVJTVF9ERUJVRz15CiMgQ09ORklHX1NGSSBp
cyBub3Qgc2V0CgojCiMgQ1BVIEZyZXF1ZW5jeSBzY2FsaW5nCiMKQ09ORklHX0NQVV9GUkVRPXkK
Q09ORklHX0NQVV9GUkVRX1RBQkxFPXkKIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVCBpcyBub3Qgc2V0
CiMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BFUkZPUk1BTkNFIGlzIG5vdCBzZXQKQ09O
RklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRT15CiMgQ09ORklHX0NQVV9GUkVRX0RF
RkFVTFRfR09WX09OREVNQU5EIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9H
T1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKQ09ORklHX0NQVV9GUkVRX0dPVl9QRVJGT1JNQU5D
RT15CiMgQ09ORklHX0NQVV9GUkVRX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldApDT05GSUdfQ1BV
X0ZSRVFfR09WX1VTRVJTUEFDRT15CkNPTkZJR19DUFVfRlJFUV9HT1ZfT05ERU1BTkQ9eQojIENP
TkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKCiMKIyB4ODYgQ1BVIGZy
ZXF1ZW5jeSBzY2FsaW5nIGRyaXZlcnMKIwojIENPTkZJR19YODZfUENDX0NQVUZSRVEgaXMgbm90
IHNldApDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CiMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBp
cyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNldAojIENP
TkZJR19YODZfUDRfQ0xPQ0tNT0QgaXMgbm90IHNldAoKIwojIHNoYXJlZCBvcHRpb25zCiMKIyBD
T05GSUdfWDg2X1NQRUVEU1RFUF9MSUIgaXMgbm90IHNldApDT05GSUdfQ1BVX0lETEU9eQpDT05G
SUdfQ1BVX0lETEVfR09WX0xBRERFUj15CkNPTkZJR19DUFVfSURMRV9HT1ZfTUVOVT15CiMgQ09O
RklHX0lOVEVMX0lETEUgaXMgbm90IHNldAoKIwojIE1lbW9yeSBwb3dlciBzYXZpbmdzCiMKIyBD
T05GSUdfSTczMDBfSURMRSBpcyBub3Qgc2V0CgojCiMgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQoj
CkNPTkZJR19QQ0k9eQpDT05GSUdfUENJX0RJUkVDVD15CkNPTkZJR19QQ0lfTU1DT05GSUc9eQpD
T05GSUdfUENJX1hFTj15CkNPTkZJR19QQ0lfRE9NQUlOUz15CiMgQ09ORklHX1BDSV9DTkIyMExF
X1FVSVJLIGlzIG5vdCBzZXQKQ09ORklHX1BDSUVQT1JUQlVTPXkKIyBDT05GSUdfSE9UUExVR19Q
Q0lfUENJRSBpcyBub3Qgc2V0CkNPTkZJR19QQ0lFQUVSPXkKIyBDT05GSUdfUENJRV9FQ1JDIGlz
IG5vdCBzZXQKIyBDT05GSUdfUENJRUFFUl9JTkpFQ1QgaXMgbm90IHNldApDT05GSUdfUENJRUFT
UE09eQojIENPTkZJR19QQ0lFQVNQTV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19QQ0lFQVNQTV9E
RUZBVUxUPXkKIyBDT05GSUdfUENJRUFTUE1fUE9XRVJTQVZFIGlzIG5vdCBzZXQKIyBDT05GSUdf
UENJRUFTUE1fUEVSRk9STUFOQ0UgaXMgbm90IHNldApDT05GSUdfQVJDSF9TVVBQT1JUU19NU0k9
eQpDT05GSUdfUENJX01TST15CiMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklH
X1BDSV9SRUFMTE9DX0VOQUJMRV9BVVRPIGlzIG5vdCBzZXQKQ09ORklHX1BDSV9TVFVCPXkKQ09O
RklHX1hFTl9QQ0lERVZfRlJPTlRFTkQ9eQpDT05GSUdfSFRfSVJRPXkKQ09ORklHX1BDSV9BVFM9
eQpDT05GSUdfUENJX0lPVj15CiMgQ09ORklHX1BDSV9QUkkgaXMgbm90IHNldAojIENPTkZJR19Q
Q0lfUEFTSUQgaXMgbm90IHNldApDT05GSUdfUENJX0lPQVBJQz15CkNPTkZJR19QQ0lfTEFCRUw9
eQpDT05GSUdfSVNBX0RNQV9BUEk9eQpDT05GSUdfQU1EX05CPXkKQ09ORklHX1BDQ0FSRD15CkNP
TkZJR19QQ01DSUE9eQpDT05GSUdfUENNQ0lBX0xPQURfQ0lTPXkKQ09ORklHX0NBUkRCVVM9eQoK
IwojIFBDLWNhcmQgYnJpZGdlcwojCkNPTkZJR19ZRU5UQT15CkNPTkZJR19ZRU5UQV9PMj15CkNP
TkZJR19ZRU5UQV9SSUNPSD15CkNPTkZJR19ZRU5UQV9UST15CkNPTkZJR19ZRU5UQV9FTkVfVFVO
RT15CkNPTkZJR19ZRU5UQV9UT1NISUJBPXkKIyBDT05GSUdfUEQ2NzI5IGlzIG5vdCBzZXQKIyBD
T05GSUdfSTgyMDkyIGlzIG5vdCBzZXQKQ09ORklHX1BDQ0FSRF9OT05TVEFUSUM9eQpDT05GSUdf
SE9UUExVR19QQ0k9eQojIENPTkZJR19IT1RQTFVHX1BDSV9GQUtFIGlzIG5vdCBzZXQKIyBDT05G
SUdfSE9UUExVR19QQ0lfQUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kg
aXMgbm90IHNldAojIENPTkZJR19IT1RQTFVHX1BDSV9TSFBDIGlzIG5vdCBzZXQKIyBDT05GSUdf
UkFQSURJTyBpcyBub3Qgc2V0CgojCiMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMgLyBFbXVsYXRp
b25zCiMKQ09ORklHX0JJTkZNVF9FTEY9eQpDT05GSUdfQ09NUEFUX0JJTkZNVF9FTEY9eQpDT05G
SUdfQVJDSF9CSU5GTVRfRUxGX1JBTkRPTUlaRV9QSUU9eQpDT05GSUdfQ09SRV9EVU1QX0RFRkFV
TFRfRUxGX0hFQURFUlM9eQojIENPTkZJR19IQVZFX0FPVVQgaXMgbm90IHNldApDT05GSUdfQklO
Rk1UX01JU0M9eQpDT05GSUdfSUEzMl9FTVVMQVRJT049eQojIENPTkZJR19JQTMyX0FPVVQgaXMg
bm90IHNldAojIENPTkZJR19YODZfWDMyIGlzIG5vdCBzZXQKQ09ORklHX0NPTVBBVD15CkNPTkZJ
R19DT01QQVRfRk9SX1U2NF9BTElHTk1FTlQ9eQpDT05GSUdfU1lTVklQQ19DT01QQVQ9eQpDT05G
SUdfS0VZU19DT01QQVQ9eQpDT05GSUdfSEFWRV9URVhUX1BPS0VfU01QPXkKQ09ORklHX05FVD15
CkNPTkZJR19DT01QQVRfTkVUTElOS19NRVNTQUdFUz15CgojCiMgTmV0d29ya2luZyBvcHRpb25z
CiMKQ09ORklHX1BBQ0tFVD15CkNPTkZJR19VTklYPXkKIyBDT05GSUdfVU5JWF9ESUFHIGlzIG5v
dCBzZXQKQ09ORklHX1hGUk09eQpDT05GSUdfWEZSTV9VU0VSPXkKIyBDT05GSUdfWEZSTV9TVUJf
UE9MSUNZIGlzIG5vdCBzZXQKIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKIyBDT05G
SUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0
CkNPTkZJR19JTkVUPXkKQ09ORklHX0lQX01VTFRJQ0FTVD15CkNPTkZJR19JUF9BRFZBTkNFRF9S
T1VURVI9eQojIENPTkZJR19JUF9GSUJfVFJJRV9TVEFUUyBpcyBub3Qgc2V0CkNPTkZJR19JUF9N
VUxUSVBMRV9UQUJMRVM9eQpDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIPXkKQ09ORklHX0lQX1JP
VVRFX1ZFUkJPU0U9eQpDT05GSUdfSVBfUE5QPXkKQ09ORklHX0lQX1BOUF9ESENQPXkKQ09ORklH
X0lQX1BOUF9CT09UUD15CkNPTkZJR19JUF9QTlBfUkFSUD15CiMgQ09ORklHX05FVF9JUElQIGlz
IG5vdCBzZXQKIyBDT05GSUdfTkVUX0lQR1JFX0RFTVVYIGlzIG5vdCBzZXQKQ09ORklHX0lQX01S
T1VURT15CiMgQ09ORklHX0lQX01ST1VURV9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldApDT05G
SUdfSVBfUElNU01fVjE9eQpDT05GSUdfSVBfUElNU01fVjI9eQojIENPTkZJR19BUlBEIGlzIG5v
dCBzZXQKQ09ORklHX1NZTl9DT09LSUVTPXkKIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiMg
Q09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNl
dAojIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKQ09ORklHX0lORVRfVFVOTkVM
PXkKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdf
SU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01PREVf
QkVFVCBpcyBub3Qgc2V0CkNPTkZJR19JTkVUX0xSTz15CiMgQ09ORklHX0lORVRfRElBRyBpcyBu
b3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19BRFZBTkNFRD15CiMgQ09ORklHX1RDUF9DT05HX0JJQyBp
cyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19DVUJJQz15CiMgQ09ORklHX1RDUF9DT05HX1dFU1RX
T09EIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfSFRDUCBpcyBub3Qgc2V0CiMgQ09ORklH
X1RDUF9DT05HX0hTVENQIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfSFlCTEEgaXMgbm90
IHNldAojIENPTkZJR19UQ1BfQ09OR19WRUdBUyBpcyBub3Qgc2V0CiMgQ09ORklHX1RDUF9DT05H
X1NDQUxBQkxFIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfTFAgaXMgbm90IHNldAojIENP
TkZJR19UQ1BfQ09OR19WRU5PIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdfWUVBSCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1RDUF9DT05HX0lMTElOT0lTIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFV
TFRfQ1VCSUM9eQojIENPTkZJR19ERUZBVUxUX1JFTk8gaXMgbm90IHNldApDT05GSUdfREVGQVVM
VF9UQ1BfQ09ORz0iY3ViaWMiCkNPTkZJR19UQ1BfTUQ1U0lHPXkKQ09ORklHX0lQVjY9eQojIENP
TkZJR19JUFY2X1BSSVZBQ1kgaXMgbm90IHNldAojIENPTkZJR19JUFY2X1JPVVRFUl9QUkVGIGlz
IG5vdCBzZXQKIyBDT05GSUdfSVBWNl9PUFRJTUlTVElDX0RBRCBpcyBub3Qgc2V0CkNPTkZJR19J
TkVUNl9BSD15CkNPTkZJR19JTkVUNl9FU1A9eQojIENPTkZJR19JTkVUNl9JUENPTVAgaXMgbm90
IHNldAojIENPTkZJR19JUFY2X01JUDYgaXMgbm90IHNldAojIENPTkZJR19JTkVUNl9YRlJNX1RV
Tk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CkNPTkZJR19J
TkVUNl9YRlJNX01PREVfVFJBTlNQT1JUPXkKQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUw9
eQpDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQ9eQojIENPTkZJR19JTkVUNl9YRlJNX01PREVf
Uk9VVEVPUFRJTUlaQVRJT04gaXMgbm90IHNldApDT05GSUdfSVBWNl9TSVQ9eQojIENPTkZJR19J
UFY2X1NJVF82UkQgaXMgbm90IHNldApDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CiMgQ09O
RklHX0lQVjZfVFVOTkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMg
aXMgbm90IHNldAojIENPTkZJR19JUFY2X01ST1VURSBpcyBub3Qgc2V0CkNPTkZJR19ORVRMQUJF
TD15CkNPTkZJR19ORVRXT1JLX1NFQ01BUks9eQojIENPTkZJR19ORVRXT1JLX1BIWV9USU1FU1RB
TVBJTkcgaXMgbm90IHNldApDT05GSUdfTkVURklMVEVSPXkKIyBDT05GSUdfTkVURklMVEVSX0RF
QlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVURklMVEVSX0FEVkFOQ0VEIGlzIG5vdCBzZXQKCiMK
IyBDb3JlIE5ldGZpbHRlciBDb25maWd1cmF0aW9uCiMKQ09ORklHX05FVEZJTFRFUl9ORVRMSU5L
PXkKQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LX0xPRz15CkNPTkZJR19ORl9DT05OVFJBQ0s9eQpD
T05GSUdfTkZfQ09OTlRSQUNLX1NFQ01BUks9eQpDT05GSUdfTkZfQ09OTlRSQUNLX1BST0NGUz15
CkNPTkZJR19ORl9DT05OVFJBQ0tfRlRQPXkKQ09ORklHX05GX0NPTk5UUkFDS19JUkM9eQojIENP
TkZJR19ORl9DT05OVFJBQ0tfTkVUQklPU19OUyBpcyBub3Qgc2V0CkNPTkZJR19ORl9DT05OVFJB
Q0tfU0lQPXkKQ09ORklHX05GX0NUX05FVExJTks9eQpDT05GSUdfTkVURklMVEVSX1hUQUJMRVM9
eQoKIwojIFh0YWJsZXMgY29tYmluZWQgbW9kdWxlcwojCkNPTkZJR19ORVRGSUxURVJfWFRfTUFS
Sz1tCgojCiMgWHRhYmxlcyB0YXJnZXRzCiMKQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ09O
TlNFQ01BUks9eQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9MT0c9bQpDT05GSUdfTkVURklM
VEVSX1hUX1RBUkdFVF9ORkxPRz15CkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1NFQ01BUks9
eQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9UQ1BNU1M9eQoKIwojIFh0YWJsZXMgbWF0Y2hl
cwojCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTlRSQUNLPXkKQ09ORklHX05FVEZJTFRF
Ul9YVF9NQVRDSF9QT0xJQ1k9eQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUQVRFPXkKIyBD
T05GSUdfSVBfU0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfVlMgaXMgbm90IHNldAoKIwojIElQ
OiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgojCkNPTkZJR19ORl9ERUZSQUdfSVBWND15CkNPTkZJ
R19ORl9DT05OVFJBQ0tfSVBWND15CkNPTkZJR19ORl9DT05OVFJBQ0tfUFJPQ19DT01QQVQ9eQpD
T05GSUdfSVBfTkZfSVBUQUJMRVM9eQpDT05GSUdfSVBfTkZfRklMVEVSPXkKQ09ORklHX0lQX05G
X1RBUkdFVF9SRUpFQ1Q9eQpDT05GSUdfSVBfTkZfVEFSR0VUX1VMT0c9eQpDT05GSUdfTkZfTkFU
PXkKQ09ORklHX05GX05BVF9ORUVERUQ9eQpDT05GSUdfSVBfTkZfVEFSR0VUX01BU1FVRVJBREU9
eQpDT05GSUdfTkZfTkFUX0ZUUD15CkNPTkZJR19ORl9OQVRfSVJDPXkKIyBDT05GSUdfTkZfTkFU
X1RGVFAgaXMgbm90IHNldAojIENPTkZJR19ORl9OQVRfQU1BTkRBIGlzIG5vdCBzZXQKIyBDT05G
SUdfTkZfTkFUX1BQVFAgaXMgbm90IHNldAojIENPTkZJR19ORl9OQVRfSDMyMyBpcyBub3Qgc2V0
CkNPTkZJR19ORl9OQVRfU0lQPXkKQ09ORklHX0lQX05GX01BTkdMRT15CiMgQ09ORklHX0lQX05G
X1JBVyBpcyBub3Qgc2V0CgojCiMgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KIwpDT05G
SUdfTkZfREVGUkFHX0lQVjY9eQpDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjY9eQpDT05GSUdfSVA2
X05GX0lQVEFCTEVTPXkKQ09ORklHX0lQNl9ORl9NQVRDSF9JUFY2SEVBREVSPXkKQ09ORklHX0lQ
Nl9ORl9GSUxURVI9eQpDT05GSUdfSVA2X05GX1RBUkdFVF9SRUpFQ1Q9eQpDT05GSUdfSVA2X05G
X01BTkdMRT15CiMgQ09ORklHX0lQNl9ORl9SQVcgaXMgbm90IHNldAojIENPTkZJR19CUklER0Vf
TkZfRUJUQUJMRVMgaXMgbm90IHNldAojIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKIyBDT05G
SUdfSVBfU0NUUCBpcyBub3Qgc2V0CiMgQ09ORklHX1JEUyBpcyBub3Qgc2V0CiMgQ09ORklHX1RJ
UEMgaXMgbm90IHNldAojIENPTkZJR19BVE0gaXMgbm90IHNldAojIENPTkZJR19MMlRQIGlzIG5v
dCBzZXQKQ09ORklHX1NUUD15CkNPTkZJR19CUklER0U9eQpDT05GSUdfQlJJREdFX0lHTVBfU05P
T1BJTkc9eQojIENPTkZJR19ORVRfRFNBIGlzIG5vdCBzZXQKIyBDT05GSUdfVkxBTl84MDIxUSBp
cyBub3Qgc2V0CiMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CkNPTkZJR19MTEM9eQojIENPTkZJ
R19MTEMyIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRBTEsg
aXMgbm90IHNldAojIENPTkZJR19YMjUgaXMgbm90IHNldAojIENPTkZJR19MQVBCIGlzIG5vdCBz
ZXQKIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qg
c2V0CiMgQ09ORklHX1BIT05FVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lFRUU4MDIxNTQgaXMgbm90
IHNldApDT05GSUdfTkVUX1NDSEVEPXkKCiMKIyBRdWV1ZWluZy9TY2hlZHVsaW5nCiMKIyBDT05G
SUdfTkVUX1NDSF9DQlEgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0hUQiBpcyBub3Qgc2V0
CiMgQ09ORklHX05FVF9TQ0hfSEZTQyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfUFJJTyBp
cyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfTVVMVElRIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVU
X1NDSF9SRUQgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX1NGQiBpcyBub3Qgc2V0CiMgQ09O
RklHX05FVF9TQ0hfU0ZRIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9URVFMIGlzIG5vdCBz
ZXQKIyBDT05GSUdfTkVUX1NDSF9UQkYgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0dSRUQg
aXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0RTTUFSSyBpcyBub3Qgc2V0CiMgQ09ORklHX05F
VF9TQ0hfTkVURU0gaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX0RSUiBpcyBub3Qgc2V0CiMg
Q09ORklHX05FVF9TQ0hfTVFQUklPIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9DSE9LRSBp
cyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfUUZRIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1ND
SF9JTkdSRVNTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9QTFVHIGlzIG5vdCBzZXQKCiMK
IyBDbGFzc2lmaWNhdGlvbgojCkNPTkZJR19ORVRfQ0xTPXkKIyBDT05GSUdfTkVUX0NMU19CQVNJ
QyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DTFNfVENJTkRFWCBpcyBub3Qgc2V0CiMgQ09ORklH
X05FVF9DTFNfUk9VVEU0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19GVyBpcyBub3Qgc2V0
CiMgQ09ORklHX05FVF9DTFNfVTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19SU1ZQIGlz
IG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19SU1ZQNiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9D
TFNfRkxPVyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DTFNfQ0dST1VQIGlzIG5vdCBzZXQKQ09O
RklHX05FVF9FTUFUQ0g9eQpDT05GSUdfTkVUX0VNQVRDSF9TVEFDSz0zMgojIENPTkZJR19ORVRf
RU1BVENIX0NNUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hfTkJZVEUgaXMgbm90IHNl
dAojIENPTkZJR19ORVRfRU1BVENIX1UzMiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hf
TUVUQSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hfVEVYVCBpcyBub3Qgc2V0CkNPTkZJ
R19ORVRfQ0xTX0FDVD15CiMgQ09ORklHX05FVF9BQ1RfUE9MSUNFIGlzIG5vdCBzZXQKIyBDT05G
SUdfTkVUX0FDVF9HQUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0FDVF9NSVJSRUQgaXMgbm90
IHNldAojIENPTkZJR19ORVRfQUNUX0lQVCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9BQ1RfTkFU
IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0FDVF9QRURJVCBpcyBub3Qgc2V0CiMgQ09ORklHX05F
VF9BQ1RfU0lNUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9BQ1RfU0tCRURJVCBpcyBub3Qgc2V0
CiMgQ09ORklHX05FVF9BQ1RfQ1NVTSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfU0NIX0ZJRk89eQoj
IENPTkZJR19EQ0IgaXMgbm90IHNldApDT05GSUdfRE5TX1JFU09MVkVSPXkKIyBDT05GSUdfQkFU
TUFOX0FEViBpcyBub3Qgc2V0CiMgQ09ORklHX09QRU5WU1dJVENIIGlzIG5vdCBzZXQKQ09ORklH
X1JQUz15CkNPTkZJR19SRlNfQUNDRUw9eQpDT05GSUdfWFBTPXkKIyBDT05GSUdfTkVUUFJJT19D
R1JPVVAgaXMgbm90IHNldApDT05GSUdfQlFMPXkKQ09ORklHX0hBVkVfQlBGX0pJVD15CiMgQ09O
RklHX0JQRl9KSVQgaXMgbm90IHNldAoKIwojIE5ldHdvcmsgdGVzdGluZwojCiMgQ09ORklHX05F
VF9QS1RHRU4gaXMgbm90IHNldAojIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAojIENP
TkZJR19ORVRfRFJPUF9NT05JVE9SIGlzIG5vdCBzZXQKQ09ORklHX0hBTVJBRElPPXkKCiMKIyBQ
YWNrZXQgUmFkaW8gcHJvdG9jb2xzCiMKIyBDT05GSUdfQVgyNSBpcyBub3Qgc2V0CiMgQ09ORklH
X0NBTiBpcyBub3Qgc2V0CiMgQ09ORklHX0lSREEgaXMgbm90IHNldAojIENPTkZJR19CVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKQ09ORklHX0ZJQl9SVUxFUz15CkNP
TkZJR19XSVJFTEVTUz15CkNPTkZJR19XRVhUX0NPUkU9eQpDT05GSUdfV0VYVF9QUk9DPXkKQ09O
RklHX0NGRzgwMjExPXkKIyBDT05GSUdfTkw4MDIxMV9URVNUTU9ERSBpcyBub3Qgc2V0CiMgQ09O
RklHX0NGRzgwMjExX0RFVkVMT1BFUl9XQVJOSU5HUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NGRzgw
MjExX1JFR19ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19DRkc4MDIxMV9ERUZBVUxUX1BTPXkKIyBD
T05GSUdfQ0ZHODAyMTFfREVCVUdGUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NGRzgwMjExX0lOVEVS
TkFMX1JFR0RCIGlzIG5vdCBzZXQKQ09ORklHX0NGRzgwMjExX1dFWFQ9eQpDT05GSUdfV0lSRUxF
U1NfRVhUX1NZU0ZTPXkKIyBDT05GSUdfTElCODAyMTEgaXMgbm90IHNldApDT05GSUdfTUFDODAy
MTE9eQpDT05GSUdfTUFDODAyMTFfSEFTX1JDPXkKQ09ORklHX01BQzgwMjExX1JDX01JTlNUUkVM
PXkKQ09ORklHX01BQzgwMjExX1JDX01JTlNUUkVMX0hUPXkKQ09ORklHX01BQzgwMjExX1JDX0RF
RkFVTFRfTUlOU1RSRUw9eQpDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0ibWluc3RyZWxfaHQi
CiMgQ09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldApDT05GSUdfTUFDODAyMTFfTEVEUz15
CiMgQ09ORklHX01BQzgwMjExX0RFQlVHRlMgaXMgbm90IHNldAojIENPTkZJR19NQUM4MDIxMV9E
RUJVR19NRU5VIGlzIG5vdCBzZXQKIyBDT05GSUdfV0lNQVggaXMgbm90IHNldApDT05GSUdfUkZL
SUxMPXkKQ09ORklHX1JGS0lMTF9MRURTPXkKQ09ORklHX1JGS0lMTF9JTlBVVD15CiMgQ09ORklH
X05FVF85UCBpcyBub3Qgc2V0CiMgQ09ORklHX0NBSUYgaXMgbm90IHNldAojIENPTkZJR19DRVBI
X0xJQiBpcyBub3Qgc2V0CiMgQ09ORklHX05GQyBpcyBub3Qgc2V0CgojCiMgRGV2aWNlIERyaXZl
cnMKIwoKIwojIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKIwpDT05GSUdfVUVWRU5UX0hFTFBFUl9Q
QVRIPSIvc2Jpbi9ob3RwbHVnIgojIENPTkZJR19ERVZUTVBGUyBpcyBub3Qgc2V0CkNPTkZJR19T
VEFOREFMT05FPXkKQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQpDT05GSUdfRldfTE9B
REVSPXkKQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTD15CkNPTkZJR19FWFRSQV9GSVJNV0FSRT0i
IgojIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldApDT05GSUdfREVCVUdfREVWUkVTPXkK
Q09ORklHX1NZU19IWVBFUlZJU09SPXkKIyBDT05GSUdfR0VORVJJQ19DUFVfREVWSUNFUyBpcyBu
b3Qgc2V0CkNPTkZJR19ETUFfU0hBUkVEX0JVRkZFUj15CkNPTkZJR19DT05ORUNUT1I9eQpDT05G
SUdfUFJPQ19FVkVOVFM9eQojIENPTkZJR19NVEQgaXMgbm90IHNldAojIENPTkZJR19QQVJQT1JU
IGlzIG5vdCBzZXQKQ09ORklHX1BOUD15CkNPTkZJR19QTlBfREVCVUdfTUVTU0FHRVM9eQoKIwoj
IFByb3RvY29scwojCkNPTkZJR19QTlBBQ1BJPXkKQ09ORklHX0JMS19ERVY9eQojIENPTkZJR19C
TEtfREVWX0ZEIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0NQUV9EQSBpcyBub3Qgc2V0CkNPTkZJ
R19CTEtfQ1BRX0NJU1NfREE9bQojIENPTkZJR19DSVNTX1NDU0lfVEFQRSBpcyBub3Qgc2V0CiMg
Q09ORklHX0JMS19ERVZfREFDOTYwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9VTUVNIGlz
IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKQ09ORklHX0JM
S19ERVZfTE9PUD1tCkNPTkZJR19CTEtfREVWX0xPT1BfTUlOX0NPVU5UPTY0CiMgQ09ORklHX0JM
S19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfRFJCRCBpcyBub3Qg
c2V0CiMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9OVk1F
IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TWDggaXMgbm90IHNldAojIENPTkZJR19CTEtf
REVWX1VCIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfUkFNPXkKQ09ORklHX0JMS19ERVZfUkFN
X0NPVU5UPTE2CkNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTE2Mzg0CiMgQ09ORklHX0JMS19ERVZf
WElQIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiMgQ09ORklH
X0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CkNPTkZJR19YRU5fQkxLREVWX0ZST05URU5EPXkKIyBD
T05GSUdfWEVOX0JMS0RFVl9CQUNLRU5EIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IRCBp
cyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUkJEIGlzIG5vdCBzZXQKCiMKIyBNaXNjIGRldmlj
ZXMKIwojIENPTkZJR19TRU5TT1JTX0xJUzNMVjAyRCBpcyBub3Qgc2V0CiMgQ09ORklHX0FENTI1
WF9EUE9UIGlzIG5vdCBzZXQKIyBDT05GSUdfSUJNX0FTTSBpcyBub3Qgc2V0CiMgQ09ORklHX1BI
QU5UT00gaXMgbm90IHNldAojIENPTkZJR19JTlRFTF9NSURfUFRJIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0dJX0lPQzQgaXMgbm90IHNldAojIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAojIENP
TkZJR19JQ1M5MzJTNDAxIGlzIG5vdCBzZXQKIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlz
IG5vdCBzZXQKIyBDT05GSUdfSFBfSUxPIGlzIG5vdCBzZXQKIyBDT05GSUdfQVBEUzk4MDJBTFMg
aXMgbm90IHNldAojIENPTkZJR19JU0wyOTAwMyBpcyBub3Qgc2V0CiMgQ09ORklHX0lTTDI5MDIw
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19CSDE3ODAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0JIMTc3MCBpcyBub3Qg
c2V0CiMgQ09ORklHX1NFTlNPUlNfQVBEUzk5MFggaXMgbm90IHNldAojIENPTkZJR19ITUM2MzUy
IGlzIG5vdCBzZXQKIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKIyBDT05GSUdfVk1XQVJFX0JB
TExPT04gaXMgbm90IHNldAojIENPTkZJR19CTVAwODUgaXMgbm90IHNldAojIENPTkZJR19QQ0hf
UEhVQiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TV0lUQ0hfRlNBOTQ4MCBpcyBub3Qgc2V0CiMg
Q09ORklHX0MyUE9SVCBpcyBub3Qgc2V0CgojCiMgRUVQUk9NIHN1cHBvcnQKIwojIENPTkZJR19F
RVBST01fQVQyNCBpcyBub3Qgc2V0CiMgQ09ORklHX0VFUFJPTV9MRUdBQ1kgaXMgbm90IHNldAoj
IENPTkZJR19FRVBST01fTUFYNjg3NSBpcyBub3Qgc2V0CiMgQ09ORklHX0VFUFJPTV85M0NYNiBp
cyBub3Qgc2V0CiMgQ09ORklHX0NCNzEwX0NPUkUgaXMgbm90IHNldAoKIwojIFRleGFzIEluc3Ry
dW1lbnRzIHNoYXJlZCB0cmFuc3BvcnQgbGluZSBkaXNjaXBsaW5lCiMKIyBDT05GSUdfU0VOU09S
U19MSVMzX0kyQyBpcyBub3Qgc2V0CgojCiMgQWx0ZXJhIEZQR0EgZmlybXdhcmUgZG93bmxvYWQg
bW9kdWxlCiMKIyBDT05GSUdfQUxURVJBX1NUQVBMIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfSURF
PXkKQ09ORklHX0lERT1tCgojCiMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0
IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwojCkNPTkZJR19CTEtfREVWX0lERV9TQVRBPXkK
Q09ORklHX0lERV9HRD1tCkNPTkZJR19JREVfR0RfQVRBPXkKIyBDT05GSUdfSURFX0dEX0FUQVBJ
IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JREVDUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JM
S19ERVZfREVMS0lOIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JREVDRCBpcyBub3Qgc2V0
CiMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURF
QUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKQ09ORklH
X0lERV9QUk9DX0ZTPXkKCiMKIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCiMKIyBDT05G
SUdfSURFX0dFTkVSSUMgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BMQVRGT1JNIGlzIG5v
dCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVW
X0lERVBOUCBpcyBub3Qgc2V0CgojCiMgUENJIElERSBjaGlwc2V0cyBzdXBwb3J0CiMKIyBDT05G
SUdfQkxLX0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlz
IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldAojIENPTkZJR19CTEtf
REVWX0FFQzYyWFggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0FMSTE1WDMgaXMgbm90IHNl
dAojIENPTkZJR19CTEtfREVWX0FNRDc0WFggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0FU
SUlYUCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQ01ENjRYIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkxLX0RFVl9UUklGTEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMg
bm90IHNldAojIENPTkZJR19CTEtfREVWX0NTNTUzMCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E
RVZfSFBUMzY2IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9KTUlDUk9OIGlzIG5vdCBzZXQK
IyBDT05GSUdfQkxLX0RFVl9TQzEyMDAgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BJSVgg
aXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0lUODE3MiBpcyBub3Qgc2V0CiMgQ09ORklHX0JM
S19ERVZfSVQ4MjEzIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JVDgyMVggaXMgbm90IHNl
dAojIENPTkZJR19CTEtfREVWX05TODc0MTUgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BE
QzIwMlhYX09MRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfTkVXIGlzIG5v
dCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TVldLUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZf
U0lJTUFHRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0lTNTUxMyBpcyBub3Qgc2V0CiMg
Q09ORklHX0JMS19ERVZfU0xDOTBFNjYgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1RSTTI5
MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVklBODJDWFhYIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkxLX0RFVl9UQzg2QzAwMSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURFRE1BIGlz
IG5vdCBzZXQKCiMKIyBTQ1NJIGRldmljZSBzdXBwb3J0CiMKQ09ORklHX1NDU0lfTU9EPW0KQ09O
RklHX1JBSURfQVRUUlM9bQpDT05GSUdfU0NTST1tCkNPTkZJR19TQ1NJX0RNQT15CiMgQ09ORklH
X1NDU0lfVEdUIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfTkVUTElOSz15CkNPTkZJR19TQ1NJX1BS
T0NfRlM9eQoKIwojIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCiMKQ09O
RklHX0JMS19ERVZfU0Q9bQojIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKIyBDT05GSUdf
Q0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfU1I9bQpDT05GSUdfQkxLX0RF
Vl9TUl9WRU5ET1I9eQpDT05GSUdfQ0hSX0RFVl9TRz1tCiMgQ09ORklHX0NIUl9ERVZfU0NIIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldApDT05GSUdfU0NTSV9D
T05TVEFOVFM9eQojIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAojIENPTkZJR19TQ1NJ
X1NDQU5fQVNZTkMgaXMgbm90IHNldApDT05GSUdfU0NTSV9XQUlUX1NDQU49bQoKIwojIFNDU0kg
VHJhbnNwb3J0cwojCkNPTkZJR19TQ1NJX1NQSV9BVFRSUz1tCkNPTkZJR19TQ1NJX0ZDX0FUVFJT
PW0KQ09ORklHX1NDU0lfSVNDU0lfQVRUUlM9bQpDT05GSUdfU0NTSV9TQVNfQVRUUlM9bQpDT05G
SUdfU0NTSV9TQVNfTElCU0FTPW0KIyBDT05GSUdfU0NTSV9TQVNfQVRBIGlzIG5vdCBzZXQKQ09O
RklHX1NDU0lfU0FTX0hPU1RfU01QPXkKIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNl
dApDT05GSUdfU0NTSV9MT1dMRVZFTD15CiMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CkNP
TkZJR19JU0NTSV9CT09UX1NZU0ZTPW0KQ09ORklHX1NDU0lfQ1hHQjNfSVNDU0k9bQojIENPTkZJ
R19TQ1NJX0NYR0I0X0lTQ1NJIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfQk5YMl9JU0NTST1tCiMg
Q09ORklHX1NDU0lfQk5YMlhfRkNPRSBpcyBub3Qgc2V0CkNPTkZJR19CRTJJU0NTST1tCkNPTkZJ
R19CTEtfREVWXzNXX1hYWFhfUkFJRD1tCiMgQ09ORklHX1NDU0lfSFBTQSBpcyBub3Qgc2V0CkNP
TkZJR19TQ1NJXzNXXzlYWFg9bQojIENPTkZJR19TQ1NJXzNXX1NBUyBpcyBub3Qgc2V0CkNPTkZJ
R19TQ1NJX0FDQVJEPW0KQ09ORklHX1NDU0lfQUFDUkFJRD1tCkNPTkZJR19TQ1NJX0FJQzdYWFg9
bQpDT05GSUdfQUlDN1hYWF9DTURTX1BFUl9ERVZJQ0U9MzIKQ09ORklHX0FJQzdYWFhfUkVTRVRf
REVMQVlfTVM9NTAwMApDT05GSUdfQUlDN1hYWF9ERUJVR19FTkFCTEU9eQpDT05GSUdfQUlDN1hY
WF9ERUJVR19NQVNLPTAKQ09ORklHX0FJQzdYWFhfUkVHX1BSRVRUWV9QUklOVD15CiMgQ09ORklH
X1NDU0lfQUlDN1hYWF9PTEQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90
IHNldAojIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldApDT05GSUdfU0NTSV9NVlNBUz1t
CiMgQ09ORklHX1NDU0lfTVZTQVNfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX01WU0FT
X1RBU0tMRVQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX01WVU1JIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qg
c2V0CiMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKIyBDT05GSUdfTUVHQVJBSURfTkVX
R0VOIGlzIG5vdCBzZXQKQ09ORklHX01FR0FSQUlEX0xFR0FDWT1tCkNPTkZJR19NRUdBUkFJRF9T
QVM9bQpDT05GSUdfU0NTSV9NUFQyU0FTPW0KQ09ORklHX1NDU0lfTVBUMlNBU19NQVhfU0dFPTEy
OAojIENPTkZJR19TQ1NJX01QVDJTQVNfTE9HR0lORyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf
VUZTSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9IUFRJT1AgaXMgbm90IHNldAojIENPTkZJ
R19TQ1NJX0JVU0xPR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfVk1XQVJFX1BWU0NTSSBpcyBub3Qg
c2V0CkNPTkZJR19MSUJGQz1tCkNPTkZJR19MSUJGQ09FPW0KQ09ORklHX0ZDT0U9bQpDT05GSUdf
RkNPRV9GTklDPW0KQ09ORklHX1NDU0lfRE1YMzE5MUQ9bQojIENPTkZJR19TQ1NJX0VBVEEgaXMg
bm90IHNldAojIENPTkZJR19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAojIENPTkZJR19T
Q1NJX0dEVEggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lTQ0kgaXMgbm90IHNldAojIENPTkZJ
R19TQ1NJX0lQUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVBS
IGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfUUxPR0lDXzEyODA9bQpDT05GSUdfU0NTSV9RTEFfRkM9
bQpDT05GSUdfU0NTSV9RTEFfSVNDU0k9bQojIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAoj
IENPTkZJR19TQ1NJX0RDMzk1eCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREMzOTBUIGlzIG5v
dCBzZXQKIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19TQ1NJX1BNQ1JBSUQ9
bQojIENPTkZJR19TQ1NJX1BNODAwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU1JQIGlzIG5v
dCBzZXQKQ09ORklHX1NDU0lfQkZBX0ZDPW0KIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEg
aXMgbm90IHNldAojIENPTkZJR19TQ1NJX0RIIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9PU0Rf
SU5JVElBVE9SIGlzIG5vdCBzZXQKQ09ORklHX0FUQT1tCiMgQ09ORklHX0FUQV9OT05TVEFOREFS
RCBpcyBub3Qgc2V0CkNPTkZJR19BVEFfVkVSQk9TRV9FUlJPUj15CkNPTkZJR19BVEFfQUNQST15
CkNPTkZJR19TQVRBX1BNUD15CgojCiMgQ29udHJvbGxlcnMgd2l0aCBub24tU0ZGIG5hdGl2ZSBp
bnRlcmZhY2UKIwpDT05GSUdfU0FUQV9BSENJPW0KIyBDT05GSUdfU0FUQV9BSENJX1BMQVRGT1JN
IGlzIG5vdCBzZXQKQ09ORklHX1NBVEFfSU5JQzE2Mlg9bQojIENPTkZJR19TQVRBX0FDQVJEX0FI
Q0kgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKQ09ORklHX0FUQV9T
RkY9eQoKIwojIFNGRiBjb250cm9sbGVycyB3aXRoIGN1c3RvbSBETUEgaW50ZXJmYWNlCiMKQ09O
RklHX1BEQ19BRE1BPW0KQ09ORklHX1NBVEFfUVNUT1I9bQpDT05GSUdfU0FUQV9TWDQ9bQpDT05G
SUdfQVRBX0JNRE1BPXkKCiMKIyBTQVRBIFNGRiBjb250cm9sbGVycyB3aXRoIEJNRE1BCiMKQ09O
RklHX0FUQV9QSUlYPW0KQ09ORklHX1NBVEFfTVY9bQpDT05GSUdfU0FUQV9OVj1tCkNPTkZJR19T
QVRBX1BST01JU0U9bQpDT05GSUdfU0FUQV9TSUw9bQpDT05GSUdfU0FUQV9TSVM9bQojIENPTkZJ
R19TQVRBX1NWVyBpcyBub3Qgc2V0CkNPTkZJR19TQVRBX1VMST1tCkNPTkZJR19TQVRBX1ZJQT1t
CkNPTkZJR19TQVRBX1ZJVEVTU0U9bQoKIwojIFBBVEEgU0ZGIGNvbnRyb2xsZXJzIHdpdGggQk1E
TUEKIwpDT05GSUdfUEFUQV9BTEk9bQpDT05GSUdfUEFUQV9BTUQ9bQojIENPTkZJR19QQVRBX0FS
QVNBTl9DRiBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX0FSVE9QPW0KQ09ORklHX1BBVEFfQVRJSVhQ
PW0KIyBDT05GSUdfUEFUQV9BVFA4NjdYIGlzIG5vdCBzZXQKQ09ORklHX1BBVEFfQ01ENjRYPW0K
Q09ORklHX1BBVEFfQ1M1NTIwPW0KQ09ORklHX1BBVEFfQ1M1NTMwPW0KIyBDT05GSUdfUEFUQV9D
UzU1MzYgaXMgbm90IHNldApDT05GSUdfUEFUQV9DWVBSRVNTPW0KQ09ORklHX1BBVEFfRUZBUj1t
CkNPTkZJR19QQVRBX0hQVDM2Nj1tCkNPTkZJR19QQVRBX0hQVDM3WD1tCkNPTkZJR19QQVRBX0hQ
VDNYMk49bQpDT05GSUdfUEFUQV9IUFQzWDM9bQpDT05GSUdfUEFUQV9IUFQzWDNfRE1BPXkKQ09O
RklHX1BBVEFfSVQ4MjEzPW0KQ09ORklHX1BBVEFfSVQ4MjFYPW0KIyBDT05GSUdfUEFUQV9KTUlD
Uk9OIGlzIG5vdCBzZXQKQ09ORklHX1BBVEFfTUFSVkVMTD1tCiMgQ09ORklHX1BBVEFfTkVUQ0VM
TCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1BB
VEFfTlM4NzQxNSBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX09MRFBJSVg9bQojIENPTkZJR19QQVRB
X09QVElETUEgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1BEQzIwMjdYIGlzIG5vdCBzZXQKIyBD
T05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5v
dCBzZXQKIyBDT05GSUdfUEFUQV9SREMgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1NDMTIwMCBp
cyBub3Qgc2V0CkNPTkZJR19QQVRBX1NDSD1tCiMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMg
bm90IHNldAojIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX1NJUz1t
CiMgQ09ORklHX1BBVEFfVE9TSElCQSBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX1RSSUZMRVg9bQpD
T05GSUdfUEFUQV9WSUE9bQojIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAoKIwojIFBJ
Ty1vbmx5IFNGRiBjb250cm9sbGVycwojCkNPTkZJR19QQVRBX0NNRDY0MF9QQ0k9bQpDT05GSUdf
UEFUQV9NUElJWD1tCiMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1BB
VEFfT1BUSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUENNQ0lBIGlzIG5vdCBzZXQKIyBDT05G
SUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldAoKIwojIEdlbmVyaWMgZmFsbGJhY2sgLyBsZWdhY3kg
ZHJpdmVycwojCkNPTkZJR19QQVRBX0FDUEk9bQpDT05GSUdfQVRBX0dFTkVSSUM9bQojIENPTkZJ
R19QQVRBX0xFR0FDWSBpcyBub3Qgc2V0CkNPTkZJR19NRD15CkNPTkZJR19CTEtfREVWX01EPXkK
Q09ORklHX01EX0FVVE9ERVRFQ1Q9eQojIENPTkZJR19NRF9MSU5FQVIgaXMgbm90IHNldAojIENP
TkZJR19NRF9SQUlEMCBpcyBub3Qgc2V0CiMgQ09ORklHX01EX1JBSUQxIGlzIG5vdCBzZXQKIyBD
T05GSUdfTURfUkFJRDEwIGlzIG5vdCBzZXQKIyBDT05GSUdfTURfUkFJRDQ1NiBpcyBub3Qgc2V0
CiMgQ09ORklHX01EX01VTFRJUEFUSCBpcyBub3Qgc2V0CiMgQ09ORklHX01EX0ZBVUxUWSBpcyBu
b3Qgc2V0CkNPTkZJR19CTEtfREVWX0RNPXkKIyBDT05GSUdfRE1fREVCVUcgaXMgbm90IHNldAoj
IENPTkZJR19ETV9DUllQVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RNX1NOQVBTSE9UIGlzIG5vdCBz
ZXQKIyBDT05GSUdfRE1fVEhJTl9QUk9WSVNJT05JTkcgaXMgbm90IHNldApDT05GSUdfRE1fTUlS
Uk9SPXkKIyBDT05GSUdfRE1fUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklHX0RNX0xPR19VU0VSU1BB
Q0UgaXMgbm90IHNldApDT05GSUdfRE1fWkVSTz15CiMgQ09ORklHX0RNX01VTFRJUEFUSCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0RNX0RFTEFZIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1fVUVWRU5UIGlz
IG5vdCBzZXQKIyBDT05GSUdfRE1fRkxBS0VZIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1fVkVSSVRZ
IGlzIG5vdCBzZXQKIyBDT05GSUdfVEFSR0VUX0NPUkUgaXMgbm90IHNldApDT05GSUdfRlVTSU9O
PXkKQ09ORklHX0ZVU0lPTl9TUEk9bQpDT05GSUdfRlVTSU9OX0ZDPW0KQ09ORklHX0ZVU0lPTl9T
QVM9bQpDT05GSUdfRlVTSU9OX01BWF9TR0U9MTI4CiMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90
IHNldAojIENPTkZJR19GVVNJT05fTE9HR0lORyBpcyBub3Qgc2V0CgojCiMgSUVFRSAxMzk0IChG
aXJlV2lyZSkgc3VwcG9ydAojCiMgQ09ORklHX0ZJUkVXSVJFIGlzIG5vdCBzZXQKIyBDT05GSUdf
RklSRVdJUkVfTk9TWSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CkNPTkZJR19N
QUNJTlRPU0hfRFJJVkVSUz15CkNPTkZJR19NQUNfRU1VTU9VU0VCVE49eQpDT05GSUdfTkVUREVW
SUNFUz15CkNPTkZJR19ORVRfQ09SRT15CiMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAojIENP
TkZJR19EVU1NWSBpcyBub3Qgc2V0CiMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiMgQ09O
RklHX05FVF9GQyBpcyBub3Qgc2V0CkNPTkZJR19NSUk9eQojIENPTkZJR19JRkIgaXMgbm90IHNl
dAojIENPTkZJR19ORVRfVEVBTSBpcyBub3Qgc2V0CiMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNl
dApDT05GSUdfTkVUQ09OU09MRT15CkNPTkZJR19ORVRQT0xMPXkKIyBDT05GSUdfTkVUUE9MTF9U
UkFQIGlzIG5vdCBzZXQKQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVI9eQpDT05GSUdfVFVOPXkK
IyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CgojCiMg
Q0FJRiB0cmFuc3BvcnQgZHJpdmVycwojCkNPTkZJR19FVEhFUk5FVD15CkNPTkZJR19NRElPPW0K
Q09ORklHX05FVF9WRU5ET1JfM0NPTT15CiMgQ09ORklHX1BDTUNJQV8zQzU3NCBpcyBub3Qgc2V0
CiMgQ09ORklHX1BDTUNJQV8zQzU4OSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZPUlRFWCBpcyBub3Qg
c2V0CiMgQ09ORklHX1RZUEhPT04gaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9BREFQVEVD
PXkKIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9S
X0FMVEVPTj15CiMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0FN
RD15CiMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfUENORVQzMiBpcyBu
b3Qgc2V0CiMgQ09ORklHX1BDTUNJQV9OTUNMQU4gaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRP
Ul9BVEhFUk9TPXkKIyBDT05GSUdfQVRMMiBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTDEgaXMgbm90
IHNldAojIENPTkZJR19BVEwxRSBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTDFDIGlzIG5vdCBzZXQK
Q09ORklHX05FVF9WRU5ET1JfQlJPQURDT009eQojIENPTkZJR19CNDQgaXMgbm90IHNldApDT05G
SUdfQk5YMj15CkNPTkZJR19DTklDPW0KQ09ORklHX1RJR09OMz15CiMgQ09ORklHX0JOWDJYIGlz
IG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfQlJPQ0FERT15CiMgQ09ORklHX0JOQSBpcyBub3Qg
c2V0CiMgQ09ORklHX05FVF9DQUxYRURBX1hHTUFDIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5E
T1JfQ0hFTFNJTz15CiMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldApDT05GSUdfQ0hFTFNJ
T19UMz1tCiMgQ09ORklHX0NIRUxTSU9fVDQgaXMgbm90IHNldAojIENPTkZJR19DSEVMU0lPX1Q0
VkYgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9DSVNDTz15CiMgQ09ORklHX0VOSUMgaXMg
bm90IHNldAojIENPTkZJR19ETkVUIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfREVDPXkK
Q09ORklHX05FVF9UVUxJUD15CiMgQ09ORklHX0RFMjEwNFggaXMgbm90IHNldAojIENPTkZJR19U
VUxJUCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFNFg1IGlzIG5vdCBzZXQKIyBDT05GSUdfV0lOQk9O
RF84NDAgaXMgbm90IHNldAojIENPTkZJR19ETTkxMDIgaXMgbm90IHNldAojIENPTkZJR19VTEk1
MjZYIGlzIG5vdCBzZXQKIyBDT05GSUdfUENNQ0lBX1hJUkNPTSBpcyBub3Qgc2V0CkNPTkZJR19O
RVRfVkVORE9SX0RMSU5LPXkKIyBDT05GSUdfREwySyBpcyBub3Qgc2V0CiMgQ09ORklHX1NVTkRB
TkNFIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRU1VTEVYPXkKIyBDT05GSUdfQkUyTkVU
IGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRVhBUj15CiMgQ09ORklHX1MySU8gaXMgbm90
IHNldAojIENPTkZJR19WWEdFIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRlVKSVRTVT15
CiMgQ09ORklHX1BDTUNJQV9GTVZKMThYIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfSFA9
eQojIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0lOVEVMPXkKQ09O
RklHX0UxMDA9eQpDT05GSUdfRTEwMDA9eQpDT05GSUdfRTEwMDBFPXkKQ09ORklHX0lHQj1tCkNP
TkZJR19JR0JWRj1tCkNPTkZJR19JWEdCPW0KQ09ORklHX0lYR0JFPW0KIyBDT05GSUdfSVhHQkVW
RiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0k4MjVYWD15CiMgQ09ORklHX1pORVQgaXMg
bm90IHNldAojIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAojIENPTkZJR19KTUUgaXMgbm90IHNl
dApDT05GSUdfTkVUX1ZFTkRPUl9NQVJWRUxMPXkKIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CkNP
TkZJR19TS1kyPXkKIyBDT05GSUdfU0tZMl9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SX01FTExBTk9YPXkKIyBDT05GSUdfTUxYNF9FTiBpcyBub3Qgc2V0CiMgQ09ORklHX01MWDRf
Q09SRSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX01JQ1JFTD15CiMgQ09ORklHX0tTODg1
MV9NTEwgaXMgbm90IHNldAojIENPTkZJR19LU1o4ODRYX1BDSSBpcyBub3Qgc2V0CkNPTkZJR19O
RVRfVkVORE9SX01ZUkk9eQojIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZF
QUxOWCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX05BVFNFTUk9eQojIENPTkZJR19OQVRT
RU1JIGlzIG5vdCBzZXQKIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SXzgzOTA9eQojIENPTkZJR19QQ01DSUFfQVhORVQgaXMgbm90IHNldApDT05GSUdfTkUyS19Q
Q0k9eQojIENPTkZJR19QQ01DSUFfUENORVQgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9O
VklESUE9eQpDT05GSUdfRk9SQ0VERVRIPXkKQ09ORklHX05FVF9WRU5ET1JfT0tJPXkKIyBDT05G
SUdfUENIX0dCRSBpcyBub3Qgc2V0CiMgQ09ORklHX0VUSE9DIGlzIG5vdCBzZXQKQ09ORklHX05F
VF9QQUNLRVRfRU5HSU5FPXkKIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiMgQ09ORklHX1lF
TExPV0ZJTiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1FMT0dJQz15CiMgQ09ORklHX1FM
QTNYWFggaXMgbm90IHNldAojIENPTkZJR19RTENOSUMgaXMgbm90IHNldAojIENPTkZJR19RTEdF
IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SX1JFQUxURUs9eQojIENPTkZJR184MTM5Q1AgaXMgbm90IHNldApDT05GSUdfODEzOVRPTz15
CiMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKIyBDT05GSUdfODEzOVRPT19UVU5FX1RX
SVNURVIgaXMgbm90IHNldAojIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAojIENPTkZJ
R184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CkNPTkZJR19SODE2OT15CkNPTkZJR19ORVRf
VkVORE9SX1JEQz15CiMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1Jf
U0VFUT15CiMgQ09ORklHX1NFRVE4MDA1IGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU0lM
QU49eQojIENPTkZJR19TQzkyMDMxIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU0lTPXkK
IyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0ZDIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU01TQz15CiMgQ09ORklHX1BD
TUNJQV9TTUM5MUM5MiBpcyBub3Qgc2V0CiMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAojIENP
TkZJR19TTVNDOTQyMCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NUTUlDUk89eQojIENP
TkZJR19TVE1NQUNfRVRIIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU1VOPXkKIyBDT05G
SUdfSEFQUFlNRUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKIyBDT05G
SUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiMgQ09ORklHX05JVSBpcyBub3Qgc2V0CkNPTkZJR19ORVRf
VkVORE9SX1RFSFVUST15CiMgQ09ORklHX1RFSFVUSSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO
RE9SX1RJPXkKIyBDT05GSUdfVExBTiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1ZJQT15
CkNPTkZJR19WSUFfUkhJTkU9bQojIENPTkZJR19WSUFfUkhJTkVfTU1JTyBpcyBub3Qgc2V0CiMg
Q09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1hJUkNPTT15
CiMgQ09ORklHX1BDTUNJQV9YSVJDMlBTIGlzIG5vdCBzZXQKQ09ORklHX0ZEREk9eQojIENPTkZJ
R19ERUZYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NLRlAgaXMgbm90IHNldAojIENPTkZJR19ISVBQ
SSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldApDT05GSUdfUEhZTElC
PXkKCiMKIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdfQU1EX1BIWSBpcyBub3Qg
c2V0CiMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfREFWSUNPTV9QSFkg
aXMgbm90IHNldAojIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAojIENPTkZJR19MWFRfUEhZ
IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJVEVT
U0VfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAojIENPTkZJR19C
Uk9BRENPTV9QSFkgaXMgbm90IHNldAojIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKIyBD
T05GSUdfUkVBTFRFS19QSFkgaXMgbm90IHNldAojIENPTkZJR19OQVRJT05BTF9QSFkgaXMgbm90
IHNldAojIENPTkZJR19TVEUxMFhQIGlzIG5vdCBzZXQKIyBDT05GSUdfTFNJX0VUMTAxMUNfUEhZ
IGlzIG5vdCBzZXQKIyBDT05GSUdfTUlDUkVMX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZJWEVE
X1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiMgQ09ORklH
X1BQUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NMSVAgaXMgbm90IHNldApDT05GSUdfVFI9eQpDT05G
SUdfV0FOVF9MTEM9eQojIENPTkZJR19QQ01DSUFfSUJNVFIgaXMgbm90IHNldAojIENPTkZJR19J
Qk1PTCBpcyBub3Qgc2V0CiMgQ09ORklHXzNDMzU5IGlzIG5vdCBzZXQKIyBDT05GSUdfVE1TMzgw
VFIgaXMgbm90IHNldAoKIwojIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCiMKIyBDT05GSUdfVVNCX0NB
VEMgaXMgbm90IHNldAojIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC
X1BFR0FTVVMgaXMgbm90IHNldAojIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0CiMgQ09O
RklHX1VTQl9VU0JORVQgaXMgbm90IHNldAojIENPTkZJR19VU0JfSFNPIGlzIG5vdCBzZXQKIyBD
T05GSUdfVVNCX0lQSEVUSCBpcyBub3Qgc2V0CkNPTkZJR19XTEFOPXkKIyBDT05GSUdfUENNQ0lB
X1JBWUNTIGlzIG5vdCBzZXQKIyBDT05GSUdfTElCRVJUQVNfVEhJTkZJUk0gaXMgbm90IHNldAoj
IENPTkZJR19BSVJPIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAojIENPTkZJ
R19BVDc2QzUwWF9VU0IgaXMgbm90IHNldAojIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKIyBD
T05GSUdfUENNQ0lBX1dMMzUwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1BSSVNNNTQgaXMgbm90IHNl
dAojIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9STkRJU19X
TEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUTDgx
ODcgaXMgbm90IHNldAojIENPTkZJR19BRE04MjExIGlzIG5vdCBzZXQKIyBDT05GSUdfTUFDODAy
MTFfSFdTSU0gaXMgbm90IHNldAojIENPTkZJR19NV0w4SyBpcyBub3Qgc2V0CiMgQ09ORklHX0FU
SF9DT01NT04gaXMgbm90IHNldAojIENPTkZJR19CNDMgaXMgbm90IHNldAojIENPTkZJR19CNDNM
RUdBQ1kgaXMgbm90IHNldAojIENPTkZJR19CUkNNRk1BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0hP
U1RBUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAojIENPTkZJR19JUFcy
MjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfSVdMV0lGSSBpcyBub3Qgc2V0CiMgQ09ORklHX0lXTDQ5
NjUgaXMgbm90IHNldAojIENPTkZJR19JV0wzOTQ1IGlzIG5vdCBzZXQKIyBDT05GSUdfTElCRVJU
QVMgaXMgbm90IHNldAojIENPTkZJR19IRVJNRVMgaXMgbm90IHNldAojIENPTkZJR19QNTRfQ09N
TU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfUlQyWDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5
MkNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5MlNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRM
ODE5MkRFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5MkNVIGlzIG5vdCBzZXQKIyBDT05GSUdf
V0wxMjUxIGlzIG5vdCBzZXQKIyBDT05GSUdfV0wxMlhYX01FTlUgaXMgbm90IHNldAojIENPTkZJ
R19aRDEyMTFSVyBpcyBub3Qgc2V0CiMgQ09ORklHX01XSUZJRVggaXMgbm90IHNldAoKIwojIEVu
YWJsZSBXaU1BWCAoTmV0d29ya2luZyBvcHRpb25zKSB0byBzZWUgdGhlIFdpTUFYIGRyaXZlcnMK
IwojIENPTkZJR19XQU4gaXMgbm90IHNldApDT05GSUdfWEVOX05FVERFVl9GUk9OVEVORD15CkNP
TkZJR19YRU5fTkVUREVWX0JBQ0tFTkQ9eQojIENPTkZJR19WTVhORVQzIGlzIG5vdCBzZXQKIyBD
T05GSUdfSVNETiBpcyBub3Qgc2V0CgojCiMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdf
SU5QVVQ9eQpDT05GSUdfSU5QVVRfRkZfTUVNTEVTUz15CkNPTkZJR19JTlBVVF9QT0xMREVWPXkK
Q09ORklHX0lOUFVUX1NQQVJTRUtNQVA9eQoKIwojIFVzZXJsYW5kIGludGVyZmFjZXMKIwpDT05G
SUdfSU5QVVRfTU9VU0VERVY9eQojIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qg
c2V0CkNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CkNPTkZJR19JTlBVVF9NT1VT
RURFVl9TQ1JFRU5fWT03NjgKIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKQ09ORklH
X0lOUFVUX0VWREVWPXkKIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAoKIwojIElucHV0
IERldmljZSBEcml2ZXJzCiMKQ09ORklHX0lOUFVUX0tFWUJPQVJEPXkKIyBDT05GSUdfS0VZQk9B
UkRfQURQNTU4OCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX0FEUDU1ODkgaXMgbm90IHNl
dApDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQojIENPTkZJR19LRVlCT0FSRF9RVDEwNzAgaXMgbm90
IHNldAojIENPTkZJR19LRVlCT0FSRF9RVDIxNjAgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FS
RF9MS0tCRCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX1RDQTY0MTYgaXMgbm90IHNldAoj
IENPTkZJR19LRVlCT0FSRF9UQ0E4NDE4IGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfTE04
MzIzIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfTUFYNzM1OSBpcyBub3Qgc2V0CiMgQ09O
RklHX0tFWUJPQVJEX01DUyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX01QUjEyMSBpcyBu
b3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJP
QVJEX09QRU5DT1JFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5v
dCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfU1VOS0JEIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9B
UkRfT01BUDQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CkNP
TkZJR19JTlBVVF9NT1VTRT15CkNPTkZJR19NT1VTRV9QUzI9eQpDT05GSUdfTU9VU0VfUFMyX0FM
UFM9eQpDT05GSUdfTU9VU0VfUFMyX0xPR0lQUzJQUD15CkNPTkZJR19NT1VTRV9QUzJfU1lOQVBU
SUNTPXkKQ09ORklHX01PVVNFX1BTMl9MSUZFQk9PSz15CkNPTkZJR19NT1VTRV9QUzJfVFJBQ0tQ
T0lOVD15CiMgQ09ORklHX01PVVNFX1BTMl9FTEFOVEVDSCBpcyBub3Qgc2V0CiMgQ09ORklHX01P
VVNFX1BTMl9TRU5URUxJQyBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNFX1BTMl9UT1VDSEtJVCBp
cyBub3Qgc2V0CiMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNF
X0FQUExFVE9VQ0ggaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9CQ001OTc0IGlzIG5vdCBzZXQK
IyBDT05GSUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNFX1NZTkFQVElD
U19JMkMgaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9TWU5BUFRJQ1NfVVNCIGlzIG5vdCBzZXQK
Q09ORklHX0lOUFVUX0pPWVNUSUNLPXkKIyBDT05GSUdfSk9ZU1RJQ0tfQU5BTE9HIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQTNEIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQURJ
IGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQ09CUkEgaXMgbm90IHNldAojIENPTkZJR19K
T1lTVElDS19HRjJLIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBub3Qgc2V0
CiMgQ09ORklHX0pPWVNUSUNLX0dSSVBfTVAgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19H
VUlMTEVNT1QgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBub3Qgc2V0
CiMgQ09ORklHX0pPWVNUSUNLX1NJREVXSU5ERVIgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElD
S19UTURDIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBzZXQKIyBD
T05GSUdfSk9ZU1RJQ0tfV0FSUklPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0pPWVNUSUNLX01BR0VM
TEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNldAojIENP
TkZJR19KT1lTVElDS19TUEFDRUJBTEwgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19TVElO
R0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfVFdJREpPWSBpcyBub3Qgc2V0CiMgQ09O
RklHX0pPWVNUSUNLX1pIRU5IVUEgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19BUzUwMTEg
aXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19KT1lEVU1QIGlzIG5vdCBzZXQKIyBDT05GSUdf
Sk9ZU1RJQ0tfWFBBRCBpcyBub3Qgc2V0CkNPTkZJR19JTlBVVF9UQUJMRVQ9eQojIENPTkZJR19U
QUJMRVRfVVNCX0FDRUNBRCBpcyBub3Qgc2V0CiMgQ09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlz
IG5vdCBzZXQKIyBDT05GSUdfVEFCTEVUX1VTQl9HVENPIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFC
TEVUX1VTQl9IQU5XQU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFCTEVUX1VTQl9LQlRBQiBpcyBu
b3Qgc2V0CiMgQ09ORklHX1RBQkxFVF9VU0JfV0FDT00gaXMgbm90IHNldApDT05GSUdfSU5QVVRf
VE9VQ0hTQ1JFRU49eQojIENPTkZJR19UT1VDSFNDUkVFTl9BRDc4NzkgaXMgbm90IHNldAojIENP
TkZJR19UT1VDSFNDUkVFTl9BVE1FTF9NWFQgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVF
Tl9CVTIxMDEzIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fQ1lUVFNQX0NPUkUgaXMg
bm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9EWU5BUFJPIGlzIG5vdCBzZXQKIyBDT05GSUdf
VE9VQ0hTQ1JFRU5fSEFNUFNISVJFIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUVU
SSBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX0VHQUxBWCBpcyBub3Qgc2V0CiMgQ09O
RklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9J
TEkyMTBYIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAoj
IENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9X
QUNPTV9XODAwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX01BWDExODAxIGlzIG5v
dCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUNTNTAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1RP
VUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX0lORVhJTyBp
cyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKIyBDT05GSUdf
VE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9UT1VD
SFJJR0hUIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNl
dAojIENPTkZJR19UT1VDSFNDUkVFTl9QSVhDSVIgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFND
UkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hJ
VDIxMyBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX1RTQ19TRVJJTyBpcyBub3Qgc2V0
CiMgQ09ORklHX1RPVUNIU0NSRUVOX1RTQzIwMDcgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFND
UkVFTl9TVDEyMzIgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9UUFM2NTA3WCBpcyBu
b3Qgc2V0CkNPTkZJR19JTlBVVF9NSVNDPXkKIyBDT05GSUdfSU5QVVRfQUQ3MTRYIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSU5QVVRfQk1BMTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfUENTUEtS
IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfTU1BODQ1MCBpcyBub3Qgc2V0CiMgQ09ORklHX0lO
UFVUX01QVTMwNTAgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9BUEFORUwgaXMgbm90IHNldAoj
IENPTkZJR19JTlBVVF9BVExBU19CVE5TIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfQVRJX1JF
TU9URTIgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0
CiMgQ09ORklHX0lOUFVUX0tYVEo5IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfUE9XRVJNQVRF
IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfWUVBTElOSyBpcyBub3Qgc2V0CiMgQ09ORklHX0lO
UFVUX0NNMTA5IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKIyBD
T05GSUdfSU5QVVRfUENGODU3NCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0FEWEwzNFggaXMg
bm90IHNldAojIENPTkZJR19JTlBVVF9DTUEzMDAwIGlzIG5vdCBzZXQKQ09ORklHX0lOUFVUX1hF
Tl9LQkRERVZfRlJPTlRFTkQ9eQoKIwojIEhhcmR3YXJlIEkvTyBwb3J0cwojCkNPTkZJR19TRVJJ
Tz15CkNPTkZJR19TRVJJT19JODA0Mj15CkNPTkZJR19TRVJJT19TRVJQT1JUPXkKIyBDT05GSUdf
U0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNldAojIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNl
dApDT05GSUdfU0VSSU9fTElCUFMyPXkKIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VSSU9fQUxURVJBX1BTMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklPX1BTMk1VTFQg
aXMgbm90IHNldAojIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CgojCiMgQ2hhcmFjdGVyIGRl
dmljZXMKIwpDT05GSUdfVlQ9eQpDT05GSUdfQ09OU09MRV9UUkFOU0xBVElPTlM9eQpDT05GSUdf
VlRfQ09OU09MRT15CkNPTkZJR19WVF9DT05TT0xFX1NMRUVQPXkKQ09ORklHX0hXX0NPTlNPTEU9
eQpDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkKQ09ORklHX1VOSVg5OF9QVFlTPXkKIyBD
T05GSUdfREVWUFRTX01VTFRJUExFX0lOU1RBTkNFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0xFR0FD
WV9QVFlTIGlzIG5vdCBzZXQKQ09ORklHX1NFUklBTF9OT05TVEFOREFSRD15CiMgQ09ORklHX1JP
Q0tFVFBPUlQgaXMgbm90IHNldAojIENPTkZJR19DWUNMQURFUyBpcyBub3Qgc2V0CiMgQ09ORklH
X01PWEFfSU5URUxMSU8gaXMgbm90IHNldAojIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNl
dAojIENPTkZJR19TWU5DTElOSyBpcyBub3Qgc2V0CiMgQ09ORklHX1NZTkNMSU5LTVAgaXMgbm90
IHNldAojIENPTkZJR19TWU5DTElOS19HVCBpcyBub3Qgc2V0CiMgQ09ORklHX05PWk9NSSBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CiMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0
CiMgQ09ORklHX05fR1NNIGlzIG5vdCBzZXQKIyBDT05GSUdfVFJBQ0VfU0lOSyBpcyBub3Qgc2V0
CkNPTkZJR19ERVZLTUVNPXkKIyBDT05GSUdfU1RBTERSViBpcyBub3Qgc2V0CgojCiMgU2VyaWFs
IGRyaXZlcnMKIwpDT05GSUdfU0VSSUFMXzgyNTA9eQpDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09M
RT15CkNPTkZJR19GSVhfRUFSTFlDT05fTUVNPXkKQ09ORklHX1NFUklBTF84MjUwX1BDST15CkNP
TkZJR19TRVJJQUxfODI1MF9QTlA9eQojIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0
CkNPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz0zMgpDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElN
RV9VQVJUUz00CkNPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CkNPTkZJR19TRVJJQUxfODI1
MF9NQU5ZX1BPUlRTPXkKQ09ORklHX1NFUklBTF84MjUwX1NIQVJFX0lSUT15CkNPTkZJR19TRVJJ
QUxfODI1MF9ERVRFQ1RfSVJRPXkKQ09ORklHX1NFUklBTF84MjUwX1JTQT15CgojCiMgTm9uLTgy
NTAgc2VyaWFsIHBvcnQgc3VwcG9ydAojCiMgQ09ORklHX1NFUklBTF9NRkRfSFNVIGlzIG5vdCBz
ZXQKQ09ORklHX1NFUklBTF9DT1JFPXkKQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQojIENP
TkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX1RJTUJFUkRBTEUgaXMg
bm90IHNldAojIENPTkZJR19TRVJJQUxfQUxURVJBX0pUQUdVQVJUIGlzIG5vdCBzZXQKIyBDT05G
SUdfU0VSSUFMX0FMVEVSQV9VQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX1BDSF9VQVJU
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX1hJTElOWF9QU19VQVJUIGlzIG5vdCBzZXQKQ09O
RklHX0hWQ19EUklWRVI9eQpDT05GSUdfSFZDX0lSUT15CkNPTkZJR19IVkNfWEVOPXkKQ09ORklH
X0hWQ19YRU5fRlJPTlRFTkQ9eQojIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldApDT05G
SUdfSFdfUkFORE9NPXkKIyBDT05GSUdfSFdfUkFORE9NX1RJTUVSSU9NRU0gaXMgbm90IHNldApD
T05GSUdfSFdfUkFORE9NX0lOVEVMPXkKQ09ORklHX0hXX1JBTkRPTV9BTUQ9eQpDT05GSUdfSFdf
UkFORE9NX1ZJQT15CkNPTkZJR19OVlJBTT15CiMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKIyBD
T05GSUdfQVBQTElDT00gaXMgbm90IHNldAoKIwojIFBDTUNJQSBjaGFyYWN0ZXIgZGV2aWNlcwoj
CiMgQ09ORklHX1NZTkNMSU5LX0NTIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FSRE1BTl80MDAwIGlz
IG5vdCBzZXQKIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBXSVJF
TEVTUyBpcyBub3Qgc2V0CiMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKIyBDT05GSUdfUkFXX0RS
SVZFUiBpcyBub3Qgc2V0CkNPTkZJR19IUEVUPXkKIyBDT05GSUdfSFBFVF9NTUFQIGlzIG5vdCBz
ZXQKQ09ORklHX0hBTkdDSEVDS19USU1FUj1tCkNPTkZJR19UQ0dfVFBNPW0KQ09ORklHX1RDR19U
SVM9bQpDT05GSUdfVENHX05TQz1tCkNPTkZJR19UQ0dfQVRNRUw9bQpDT05GSUdfVENHX0lORklO
RU9OPW0KQ09ORklHX1RFTENMT0NLPW0KQ09ORklHX0RFVlBPUlQ9eQojIENPTkZJR19SQU1PT1BT
IGlzIG5vdCBzZXQKQ09ORklHX0kyQz15CkNPTkZJR19JMkNfQk9BUkRJTkZPPXkKQ09ORklHX0ky
Q19DT01QQVQ9eQojIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19N
VVggaXMgbm90IHNldApDT05GSUdfSTJDX0hFTFBFUl9BVVRPPXkKQ09ORklHX0kyQ19BTEdPQklU
PXkKCiMKIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKIwoKIwojIFBDIFNNQnVzIGhvc3QgY29u
dHJvbGxlciBkcml2ZXJzCiMKIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAojIENPTkZJ
R19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQK
IyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5v
dCBzZXQKQ09ORklHX0kyQ19JODAxPXkKIyBDT05GSUdfSTJDX0lTQ0ggaXMgbm90IHNldAojIENP
TkZJR19JMkNfUElJWDQgaXMgbm90IHNldAojIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0
CiMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAojIENPTkZJR19JMkNfVklBIGlz
IG5vdCBzZXQKIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CgojCiMgQUNQSSBkcml2ZXJz
CiMKIyBDT05GSUdfSTJDX1NDTUkgaXMgbm90IHNldAoKIwojIEkyQyBzeXN0ZW0gYnVzIGRyaXZl
cnMgKG1vc3RseSBlbWJlZGRlZCAvIHN5c3RlbS1vbi1jaGlwKQojCiMgQ09ORklHX0kyQ19ERVNJ
R05XQVJFX1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19FRzIwVCBpcyBub3Qgc2V0CiMgQ09O
RklHX0kyQ19JTlRFTF9NSUQgaXMgbm90IHNldAojIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19QWEFf
UENJIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CiMgQ09ORklHX0ky
Q19YSUxJTlggaXMgbm90IHNldAoKIwojIEV4dGVybmFsIEkyQy9TTUJ1cyBhZGFwdGVyIGRyaXZl
cnMKIwojIENPTkZJR19JMkNfRElPTEFOX1UyQyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19QQVJQ
T1JUX0xJR0hUIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKIyBD
T05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKCiMKIyBPdGhlciBJMkMvU01CdXMgYnVzIGRy
aXZlcnMKIwojIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJVR19D
T1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAojIENPTkZJ
R19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKIyBDT05G
SUdfSFNJIGlzIG5vdCBzZXQKCiMKIyBQUFMgc3VwcG9ydAojCiMgQ09ORklHX1BQUyBpcyBub3Qg
c2V0CgojCiMgUFBTIGdlbmVyYXRvcnMgc3VwcG9ydAojCgojCiMgUFRQIGNsb2NrIHN1cHBvcnQK
IwoKIwojIEVuYWJsZSBEZXZpY2UgRHJpdmVycyAtPiBQUFMgdG8gc2VlIHRoZSBQVFAgY2xvY2sg
b3B0aW9ucy4KIwpDT05GSUdfQVJDSF9XQU5UX09QVElPTkFMX0dQSU9MSUI9eQojIENPTkZJR19H
UElPTElCIGlzIG5vdCBzZXQKIyBDT05GSUdfVzEgaXMgbm90IHNldApDT05GSUdfUE9XRVJfU1VQ
UExZPXkKIyBDT05GSUdfUE9XRVJfU1VQUExZX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfUERB
X1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVTVF9QT1dFUiBpcyBub3Qgc2V0CiMgQ09ORklH
X0JBVFRFUllfRFMyNzgwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFUVEVSWV9EUzI3ODEgaXMgbm90
IHNldAojIENPTkZJR19CQVRURVJZX0RTMjc4MiBpcyBub3Qgc2V0CiMgQ09ORklHX0JBVFRFUllf
U0JTIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFUVEVSWV9CUTI3eDAwIGlzIG5vdCBzZXQKIyBDT05G
SUdfQkFUVEVSWV9NQVgxNzA0MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JBVFRFUllfTUFYMTcwNDIg
aXMgbm90IHNldAojIENPTkZJR19DSEFSR0VSX01BWDg5MDMgaXMgbm90IHNldAojIENPTkZJR19D
SEFSR0VSX0xQODcyNyBpcyBub3Qgc2V0CiMgQ09ORklHX0NIQVJHRVJfU01CMzQ3IGlzIG5vdCBz
ZXQKQ09ORklHX0hXTU9OPXkKIyBDT05GSUdfSFdNT05fVklEIGlzIG5vdCBzZXQKIyBDT05GSUdf
SFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CgojCiMgTmF0aXZlIGRyaXZlcnMKIwojIENPTkZJ
R19TRU5TT1JTX0FCSVRVR1VSVSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQUJJVFVHVVJV
MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQUQ3NDE0IGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19BRDc0MTggaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FETTEwMjEgaXMgbm90
IHNldAojIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X0FETTEwMjYgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FETTEwMjkgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FETTky
NDAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FEVDc0MTEgaXMgbm90IHNldAojIENPTkZJ
R19TRU5TT1JTX0FEVDc0NjIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FEVDc0NzAgaXMg
bm90IHNldAojIENPTkZJR19TRU5TT1JTX0FEVDc0NzUgaXMgbm90IHNldAojIENPTkZJR19TRU5T
T1JTX0FTQzc2MjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0s4VEVNUCBpcyBub3Qgc2V0
CiMgQ09ORklHX1NFTlNPUlNfSzEwVEVNUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRkFN
MTVIX1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BU0IxMDAgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19EUzYyMCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19JNUtfQU1CIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19GNzE4MDVGIGlzIG5vdCBz
ZXQKIyBDT05GSUdfU0VOU09SU19GNzE4ODJGRyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf
Rjc1Mzc1UyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRlNDSE1EIGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VOU09SU19HNzYwQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfR0w1MThTTSBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NF
TlNPUlNfQ09SRVRFTVAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNl
dAojIENPTkZJR19TRU5TT1JTX0pDNDIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xJTkVB
R0UgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAojIENPTkZJR19T
RU5TT1JTX0xNNzMgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNNzUgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX0xNNzcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNNzggaXMg
bm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNODAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X0xNODMgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNODUgaXMgbm90IHNldAojIENPTkZJ
R19TRU5TT1JTX0xNODcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNl
dAojIENPTkZJR19TRU5TT1JTX0xNOTIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTMg
aXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQxNTEgaXMgbm90IHNldAojIENPTkZJR19T
RU5TT1JTX0xUQzQyMTUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQyNDUgaXMgbm90
IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQyNjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JT
X0xNOTUyNDEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTUyNDUgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX01BWDE2MDY1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVgx
NjE5IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVgxNjY4IGlzIG5vdCBzZXQKIyBDT05G
SUdfU0VOU09SU19NQVg2NjM5IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVg2NjQyIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVg2NjUwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO
U09SU19NQ1AzMDIxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19OVENfVEhFUk1JU1RPUiBp
cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NF
TlNPUlNfUEM4NzQyNyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qg
c2V0CiMgQ09ORklHX1BNQlVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TSFQyMSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfU0lTNTU5NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP
UlNfU01NNjY1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19ETUUxNzM3IGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19FTUMxNDAzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19FTUMy
MTAzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19FTUM2VzIwMSBpcyBub3Qgc2V0CiMgQ09O
RklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1NNU0M0N00x
OTIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAojIENP
TkZJR19TRU5TT1JTX1NDSDU2WFhfQ09NTU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19T
Q0g1NjI3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TQ0g1NjM2IGlzIG5vdCBzZXQKIyBD
T05GSUdfU0VOU09SU19BRFMxMDE1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRFM3ODI4
IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BTUM2ODIxIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0VOU09SU19USE1DNTAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1RNUDEwMiBpcyBub3Qg
c2V0CiMgQ09ORklHX1NFTlNPUlNfVE1QNDAxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19U
TVA0MjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1ZJQV9DUFVURU1QIGlzIG5vdCBzZXQK
IyBDT05GSUdfU0VOU09SU19WSUE2ODZBIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19WVDEy
MTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1ZUODIzMSBpcyBub3Qgc2V0CiMgQ09ORklH
X1NFTlNPUlNfVzgzNzgxRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP
UlNfVzgzNzkzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM3OTUgaXMgbm90IHNldAoj
IENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgz
TDc4Nk5HIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CiMg
Q09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BUFBM
RVNNQyBpcyBub3Qgc2V0CgojCiMgQUNQSSBkcml2ZXJzCiMKIyBDT05GSUdfU0VOU09SU19BQ1BJ
X1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BVEswMTEwIGlzIG5vdCBzZXQKQ09O
RklHX1RIRVJNQUw9eQpDT05GSUdfVEhFUk1BTF9IV01PTj15CkNPTkZJR19XQVRDSERPRz15CiMg
Q09ORklHX1dBVENIRE9HX0NPUkUgaXMgbm90IHNldAojIENPTkZJR19XQVRDSERPR19OT1dBWU9V
VCBpcyBub3Qgc2V0CgojCiMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKIwojIENPTkZJR19TT0ZU
X1dBVENIRE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNRVUlSRV9XRFQgaXMgbm90IHNldAojIENP
TkZJR19BRFZBTlRFQ0hfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfQUxJTTE1MzVfV0RUIGlzIG5v
dCBzZXQKIyBDT05GSUdfQUxJTTcxMDFfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfRjcxODA4RV9X
RFQgaXMgbm90IHNldAojIENPTkZJR19TUDUxMDBfVENPIGlzIG5vdCBzZXQKIyBDT05GSUdfU0M1
MjBfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0JDX0ZJVFBDMl9XQVRDSERPRyBpcyBub3Qgc2V0
CiMgQ09ORklHX0VVUk9URUNIX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCNzAwX1dEVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0lCTUFTUiBpcyBub3Qgc2V0CiMgQ09ORklHX1dBRkVSX1dEVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0k2MzAwRVNCX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lUQ09fV0RU
IGlzIG5vdCBzZXQKIyBDT05GSUdfSVQ4NzEyRl9XRFQgaXMgbm90IHNldAojIENPTkZJR19JVDg3
X1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0hQX1dBVENIRE9HIGlzIG5vdCBzZXQKIyBDT05GSUdf
U0MxMjAwX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDODc0MTNfV0RUIGlzIG5vdCBzZXQKIyBD
T05GSUdfTlZfVENPIGlzIG5vdCBzZXQKIyBDT05GSUdfNjBYWF9XRFQgaXMgbm90IHNldAojIENP
TkZJR19TQkM4MzYwX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVTVfV0RUIGlzIG5vdCBzZXQK
IyBDT05GSUdfU01TQ19TQ0gzMTFYX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NNU0MzN0I3ODdf
V0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfVklBX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4MzYy
N0hGX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4MzY5N0hGX1dEVCBpcyBub3Qgc2V0CiMgQ09O
RklHX1c4MzY5N1VHX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4Mzg3N0ZfV0RUIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVzgzOTc3Rl9XRFQgaXMgbm90IHNldAojIENPTkZJR19NQUNIWl9XRFQgaXMg
bm90IHNldAojIENPTkZJR19TQkNfRVBYX0MzX1dBVENIRE9HIGlzIG5vdCBzZXQKQ09ORklHX1hF
Tl9XRFQ9eQoKIwojIFBDSS1iYXNlZCBXYXRjaGRvZyBDYXJkcwojCiMgQ09ORklHX1BDSVBDV0FU
Q0hET0cgaXMgbm90IHNldAojIENPTkZJR19XRFRQQ0kgaXMgbm90IHNldAoKIwojIFVTQi1iYXNl
ZCBXYXRjaGRvZyBDYXJkcwojCiMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldApDT05G
SUdfU1NCX1BPU1NJQkxFPXkKCiMKIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKIwojIENPTkZJ
R19TU0IgaXMgbm90IHNldApDT05GSUdfQkNNQV9QT1NTSUJMRT15CgojCiMgQnJvYWRjb20gc3Bl
Y2lmaWMgQU1CQQojCiMgQ09ORklHX0JDTUEgaXMgbm90IHNldAoKIwojIE11bHRpZnVuY3Rpb24g
ZGV2aWNlIGRyaXZlcnMKIwojIENPTkZJR19NRkRfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX01G
RF84OFBNODYwWCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiMgQ09O
RklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAojIENPTkZJR19UUFM2MTA1WCBpcyBub3Qgc2V0CiMg
Q09ORklHX1RQUzY1MDdYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1RQUzY1MjE3IGlzIG5vdCBz
ZXQKIyBDT05GSUdfVFdMNDAzMF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1NUTVBFIGlz
IG5vdCBzZXQKIyBDT05GSUdfTUZEX1RDMzU4OVggaXMgbm90IHNldAojIENPTkZJR19NRkRfVE1J
TyBpcyBub3Qgc2V0CiMgQ09ORklHX1BNSUNfREE5MDNYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE
X0RBOTA1Ml9JMkMgaXMgbm90IHNldAojIENPTkZJR19QTUlDX0FEUDU1MjAgaXMgbm90IHNldAoj
IENPTkZJR19NRkRfTUFYODkyNSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9NQVg4OTk3IGlzIG5v
dCBzZXQKIyBDT05GSUdfTUZEX01BWDg5OTggaXMgbm90IHNldAojIENPTkZJR19NRkRfUzVNX0NP
UkUgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004NDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE
X1dNODMxWF9JMkMgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004MzUwX0kyQyBpcyBub3Qgc2V0
CiMgQ09ORklHX01GRF9XTTg5OTQgaXMgbm90IHNldAojIENPTkZJR19NRkRfUENGNTA2MzMgaXMg
bm90IHNldAojIENPTkZJR19BQlg1MDBfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9DUzU1
MzUgaXMgbm90IHNldAojIENPTkZJR19MUENfU0NIIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1JE
QzMyMVggaXMgbm90IHNldAojIENPTkZJR19NRkRfSkFOWl9DTU9ESU8gaXMgbm90IHNldAojIENP
TkZJR19NRkRfVlg4NTUgaXMgbm90IHNldAojIENPTkZJR19NRkRfV0wxMjczX0NPUkUgaXMgbm90
IHNldAojIENPTkZJR19NRkRfVFBTNjUwOTAgaXMgbm90IHNldAojIENPTkZJR19NRkRfUkM1VDU4
MyBpcyBub3Qgc2V0CiMgQ09ORklHX1JFR1VMQVRPUiBpcyBub3Qgc2V0CiMgQ09ORklHX01FRElB
X1NVUFBPUlQgaXMgbm90IHNldAoKIwojIEdyYXBoaWNzIHN1cHBvcnQKIwpDT05GSUdfQUdQPXkK
Q09ORklHX0FHUF9BTUQ2ND15CkNPTkZJR19BR1BfSU5URUw9eQojIENPTkZJR19BR1BfU0lTIGlz
IG5vdCBzZXQKIyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0CkNPTkZJR19WR0FfQVJCPXkKQ09O
RklHX1ZHQV9BUkJfTUFYX0dQVVM9MTYKIyBDT05GSUdfVkdBX1NXSVRDSEVST08gaXMgbm90IHNl
dApDT05GSUdfRFJNPXkKQ09ORklHX0RSTV9LTVNfSEVMUEVSPXkKIyBDT05GSUdfRFJNX0xPQURf
RURJRF9GSVJNV0FSRSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9UREZYIGlzIG5vdCBzZXQKIyBD
T05GSUdfRFJNX1IxMjggaXMgbm90IHNldAojIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQK
IyBDT05GSUdfRFJNX05PVVZFQVUgaXMgbm90IHNldAoKIwojIEkyQyBlbmNvZGVyIG9yIGhlbHBl
ciBjaGlwcwojCiMgQ09ORklHX0RSTV9JMkNfQ0g3MDA2IGlzIG5vdCBzZXQKIyBDT05GSUdfRFJN
X0kyQ19TSUwxNjQgaXMgbm90IHNldAojIENPTkZJR19EUk1fSTgxMCBpcyBub3Qgc2V0CkNPTkZJ
R19EUk1fSTkxNT15CiMgQ09ORklHX0RSTV9JOTE1X0tNUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RS
TV9NR0EgaXMgbm90IHNldAojIENPTkZJR19EUk1fU0lTIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJN
X1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9TQVZBR0UgaXMgbm90IHNldAojIENPTkZJR19E
Uk1fVk1XR0ZYIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX0dNQTUwMCBpcyBub3Qgc2V0CiMgQ09O
RklHX0RSTV9VREwgaXMgbm90IHNldAojIENPTkZJR19TVFVCX1BPVUxTQk8gaXMgbm90IHNldAoj
IENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CkNPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTD15
CkNPTkZJR19GQj15CiMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAojIENPTkZJR19G
Ql9EREMgaXMgbm90IHNldAojIENPTkZJR19GQl9CT09UX1ZFU0FfU1VQUE9SVCBpcyBub3Qgc2V0
CkNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQpDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKQ09ORklH
X0ZCX0NGQl9JTUFHRUJMSVQ9eQojIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlz
IG5vdCBzZXQKQ09ORklHX0ZCX1NZU19GSUxMUkVDVD15CkNPTkZJR19GQl9TWVNfQ09QWUFSRUE9
eQpDT05GSUdfRkJfU1lTX0lNQUdFQkxJVD15CiMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlz
IG5vdCBzZXQKQ09ORklHX0ZCX1NZU19GT1BTPXkKIyBDT05GSUdfRkJfV01UX0dFX1JPUFMgaXMg
bm90IHNldApDT05GSUdfRkJfREVGRVJSRURfSU89eQojIENPTkZJR19GQl9TVkdBTElCIGlzIG5v
dCBzZXQKIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAojIENPTkZJR19GQl9CQUNLTElH
SFQgaXMgbm90IHNldApDT05GSUdfRkJfTU9ERV9IRUxQRVJTPXkKQ09ORklHX0ZCX1RJTEVCTElU
VElORz15CgojCiMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKIwojIENPTkZJR19GQl9D
SVJSVVMgaXMgbm90IHNldAojIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAojIENPTkZJR19GQl9D
WUJFUjIwMDAgaXMgbm90IHNldAojIENPTkZJR19GQl9BUkMgaXMgbm90IHNldAojIENPTkZJR19G
Ql9BU0lMSUFOVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKIyBDT05G
SUdfRkJfVkdBMTYgaXMgbm90IHNldAojIENPTkZJR19GQl9VVkVTQSBpcyBub3Qgc2V0CiMgQ09O
RklHX0ZCX1ZFU0EgaXMgbm90IHNldApDT05GSUdfRkJfRUZJPXkKIyBDT05GSUdfRkJfTjQxMSBp
cyBub3Qgc2V0CiMgQ09ORklHX0ZCX0hHQSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1MxRDEzWFhY
IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUklW
QSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0k3NDAgaXMgbm90IHNldAojIENPTkZJR19GQl9MRTgw
NTc4IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfTUFUUk9YIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJf
UkFERU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKIyBDT05GSUdf
RkJfQVRZIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAojIENPTkZJR19GQl9T
QVZBR0UgaXMgbm90IHNldAojIENPTkZJR19GQl9TSVMgaXMgbm90IHNldAojIENPTkZJR19GQl9W
SUEgaXMgbm90IHNldAojIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZC
X0tZUk8gaXMgbm90IHNldAojIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJf
Vk9PRE9PMSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0CiMgQ09ORklH
X0ZCX1RSSURFTlQgaXMgbm90IHNldAojIENPTkZJR19GQl9BUksgaXMgbm90IHNldAojIENPTkZJ
R19GQl9QTTMgaXMgbm90IHNldAojIENPTkZJR19GQl9DQVJNSU5FIGlzIG5vdCBzZXQKIyBDT05G
SUdfRkJfR0VPREUgaXMgbm90IHNldAojIENPTkZJR19GQl9TTVNDVUZYIGlzIG5vdCBzZXQKIyBD
T05GSUdfRkJfVURMIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CkNP
TkZJR19YRU5fRkJERVZfRlJPTlRFTkQ9eQojIENPTkZJR19GQl9NRVRST05PTUUgaXMgbm90IHNl
dAojIENPTkZJR19GQl9NQjg2MlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQlJPQURTSEVFVCBp
cyBub3Qgc2V0CiMgQ09ORklHX0VYWU5PU19WSURFTyBpcyBub3Qgc2V0CkNPTkZJR19CQUNLTElH
SFRfTENEX1NVUFBPUlQ9eQojIENPTkZJR19MQ0RfQ0xBU1NfREVWSUNFIGlzIG5vdCBzZXQKQ09O
RklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0U9eQpDT05GSUdfQkFDS0xJR0hUX0dFTkVSSUM9eQoj
IENPTkZJR19CQUNLTElHSFRfUFJPR0VBUiBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9B
UFBMRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9TQUhBUkEgaXMgbm90IHNldAojIENP
TkZJR19CQUNLTElHSFRfQURQODg2MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9BRFA4
ODcwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFDS0xJR0hUX0xQODU1WCBpcyBub3Qgc2V0CgojCiMg
Q29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiMKQ09ORklHX1ZHQV9DT05TT0xFPXkKQ09O
RklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0s9eQpDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFD
S19TSVpFPTY0CkNPTkZJR19EVU1NWV9DT05TT0xFPXkKQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNP
TEU9eQpDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWT15CiMgQ09ORklH
X0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAojIENPTkZJR19GT05UUyBp
cyBub3Qgc2V0CkNPTkZJR19GT05UXzh4OD15CkNPTkZJR19GT05UXzh4MTY9eQpDT05GSUdfTE9H
Tz15CiMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CiMgQ09ORklHX0xPR09fTElO
VVhfVkdBMTYgaXMgbm90IHNldApDT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKQ09ORklHX1NP
VU5EPXkKQ09ORklHX1NPVU5EX09TU19DT1JFPXkKQ09ORklHX1NPVU5EX09TU19DT1JFX1BSRUNM
QUlNPXkKQ09ORklHX1NORD15CkNPTkZJR19TTkRfVElNRVI9eQpDT05GSUdfU05EX1BDTT15CkNP
TkZJR19TTkRfSFdERVA9eQpDT05GSUdfU05EX1NFUVVFTkNFUj15CkNPTkZJR19TTkRfU0VRX0RV
TU1ZPXkKQ09ORklHX1NORF9PU1NFTVVMPXkKQ09ORklHX1NORF9NSVhFUl9PU1M9eQpDT05GSUdf
U05EX1BDTV9PU1M9eQpDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CkNPTkZJR19TTkRfU0VR
VUVOQ0VSX09TUz15CkNPTkZJR19TTkRfSFJUSU1FUj15CkNPTkZJR19TTkRfU0VRX0hSVElNRVJf
REVGQVVMVD15CkNPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlM9eQpDT05GSUdfU05EX1NVUFBPUlRf
T0xEX0FQST15CkNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQojIENPTkZJR19TTkRfVkVSQk9T
RV9QUklOVEsgaXMgbm90IHNldAojIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldApDT05GSUdf
U05EX1ZNQVNURVI9eQpDT05GSUdfU05EX0tDVExfSkFDSz15CkNPTkZJR19TTkRfRE1BX1NHQlVG
PXkKIyBDT05GSUdfU05EX1JBV01JRElfU0VRIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX09QTDNf
TElCX1NFUSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9PUEw0X0xJQl9TRVEgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfU0JBV0VfU0VRIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VNVTEwSzFfU0VR
IGlzIG5vdCBzZXQKQ09ORklHX1NORF9EUklWRVJTPXkKIyBDT05GSUdfU05EX1BDU1AgaXMgbm90
IHNldAojIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAojIENPTkZJR19TTkRfQUxPT1AgaXMg
bm90IHNldAojIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NVFBB
ViBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CkNPTkZJR19TTkRfUENJPXkKIyBDT05GSUdfU05EX0FE
MTg4OSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAojIENPTkZJR19T
TkRfQUxTNDAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKIyBD
T05GSUdfU05EX0FTSUhQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNl
dAojIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FVODgx
MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAojIENPTkZJR19TTkRf
QVU4ODMwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NO
RF9BWlQzMzI4IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfT1hZR0VOIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qg
c2V0CiMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAojIENPTkZJR19TTkRfQ1M1NTMwIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX0NTNTUzNUFVRElPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X0NUWEZJIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAojIENPTkZJ
R19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90
IHNldAojIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NT05BIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FQ0hPM0cg
aXMgbm90IHNldAojIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lO
RElHT0lPIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX0lORElHT0lPWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JTkRJR09ESlggaXMgbm90
IHNldAojIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FTVUxMEsx
WCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X0VOUzEzNzEgaXMgbm90IHNldAojIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0CkNP
TkZJR19TTkRfSERBX0lOVEVMPXkKQ09ORklHX1NORF9IREFfUFJFQUxMT0NfU0laRT02NApDT05G
SUdfU05EX0hEQV9IV0RFUD15CiMgQ09ORklHX1NORF9IREFfUkVDT05GSUcgaXMgbm90IHNldAoj
IENPTkZJR19TTkRfSERBX0lOUFVUX0JFRVAgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERBX0lO
UFVUX0pBQ0sgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERBX1BBVENIX0xPQURFUiBpcyBub3Qg
c2V0CkNPTkZJR19TTkRfSERBX0NPREVDX1JFQUxURUs9eQpDT05GSUdfU05EX0hEQV9FTkFCTEVf
UkVBTFRFS19RVUlSS1M9eQpDT05GSUdfU05EX0hEQV9DT0RFQ19BTkFMT0c9eQpDT05GSUdfU05E
X0hEQV9DT0RFQ19TSUdNQVRFTD15CkNPTkZJR19TTkRfSERBX0NPREVDX1ZJQT15CkNPTkZJR19T
TkRfSERBX0NPREVDX0hETUk9eQpDT05GSUdfU05EX0hEQV9DT0RFQ19DSVJSVVM9eQpDT05GSUdf
U05EX0hEQV9DT0RFQ19DT05FWEFOVD15CkNPTkZJR19TTkRfSERBX0NPREVDX0NBMDExMD15CkNP
TkZJR19TTkRfSERBX0NPREVDX0NBMDEzMj15CkNPTkZJR19TTkRfSERBX0NPREVDX0NNRURJQT15
CkNPTkZJR19TTkRfSERBX0NPREVDX1NJMzA1ND15CkNPTkZJR19TTkRfSERBX0dFTkVSSUM9eQoj
IENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERTUCBp
cyBub3Qgc2V0CiMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JQ0Ux
NzEyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAojIENPTkZJR19T
TkRfSU5URUw4WDAgaXMgbm90IHNldAojIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQK
IyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0xPTEEgaXMgbm90
IHNldAojIENPTkZJR19TTkRfTFg2NDY0RVMgaXMgbm90IHNldAojIENPTkZJR19TTkRfTUFFU1RS
TzMgaXMgbm90IHNldAojIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU05E
X05NMjU2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKIyBDT05GSUdf
U05EX1JJUFRJREUgaXMgbm90IHNldAojIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAojIENP
TkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAojIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0
CiMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1RSSURFTlQg
aXMgbm90IHNldAojIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9W
SUE4MlhYX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1ZJUlRVT1NPIGlzIG5vdCBzZXQK
IyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qg
c2V0CkNPTkZJR19TTkRfVVNCPXkKIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0CiMg
Q09ORklHX1NORF9VU0JfVUExMDEgaXMgbm90IHNldAojIENPTkZJR19TTkRfVVNCX1VTWDJZIGlz
IG5vdCBzZXQKIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9V
U0JfVVMxMjJMIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1VTQl82RklSRSBpcyBub3Qgc2V0CkNP
TkZJR19TTkRfUENNQ0lBPXkKIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKIyBDT05G
SUdfU05EX1BEQVVESU9DRiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAoj
IENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0CkNPTkZJR19ISURfU1VQUE9SVD15CkNPTkZJ
R19ISUQ9eQpDT05GSUdfSElEX0JBVFRFUllfU1RSRU5HVEg9eQpDT05GSUdfSElEUkFXPXkKCiMK
IyBVU0IgSW5wdXQgRGV2aWNlcwojCkNPTkZJR19VU0JfSElEPXkKQ09ORklHX0hJRF9QSUQ9eQpD
T05GSUdfVVNCX0hJRERFVj15CgojCiMgU3BlY2lhbCBISUQgZHJpdmVycwojCkNPTkZJR19ISURf
QTRURUNIPXkKIyBDT05GSUdfSElEX0FDUlVYIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9BUFBMRT15
CkNPTkZJR19ISURfQkVMS0lOPXkKQ09ORklHX0hJRF9DSEVSUlk9eQpDT05GSUdfSElEX0NISUNP
Tlk9eQojIENPTkZJR19ISURfUFJPRElLRVlTIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9DWVBSRVNT
PXkKIyBDT05GSUdfSElEX0RSQUdPTlJJU0UgaXMgbm90IHNldAojIENPTkZJR19ISURfRU1TX0ZG
IGlzIG5vdCBzZXQKQ09ORklHX0hJRF9FWktFWT15CiMgQ09ORklHX0hJRF9IT0xURUsgaXMgbm90
IHNldAojIENPTkZJR19ISURfS0VZVE9VQ0ggaXMgbm90IHNldApDT05GSUdfSElEX0tZRT15CiMg
Q09ORklHX0hJRF9VQ0xPR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1dBTFRPUCBpcyBub3Qg
c2V0CkNPTkZJR19ISURfR1lSQVRJT049eQojIENPTkZJR19ISURfVFdJTkhBTiBpcyBub3Qgc2V0
CkNPTkZJR19ISURfS0VOU0lOR1RPTj15CiMgQ09ORklHX0hJRF9MQ1BPV0VSIGlzIG5vdCBzZXQK
Q09ORklHX0hJRF9MT0dJVEVDSD15CkNPTkZJR19ISURfTE9HSVRFQ0hfREo9bQpDT05GSUdfTE9H
SVRFQ0hfRkY9eQojIENPTkZJR19MT0dJUlVNQkxFUEFEMl9GRiBpcyBub3Qgc2V0CiMgQ09ORklH
X0xPR0lHOTQwX0ZGIGlzIG5vdCBzZXQKQ09ORklHX0xPR0lXSEVFTFNfRkY9eQpDT05GSUdfSElE
X01JQ1JPU09GVD15CkNPTkZJR19ISURfTU9OVEVSRVk9eQojIENPTkZJR19ISURfTVVMVElUT1VD
SCBpcyBub3Qgc2V0CkNPTkZJR19ISURfTlRSSUc9eQojIENPTkZJR19ISURfT1JURUsgaXMgbm90
IHNldApDT05GSUdfSElEX1BBTlRIRVJMT1JEPXkKQ09ORklHX1BBTlRIRVJMT1JEX0ZGPXkKQ09O
RklHX0hJRF9QRVRBTFlOWD15CiMgQ09ORklHX0hJRF9QSUNPTENEIGlzIG5vdCBzZXQKIyBDT05G
SUdfSElEX1BSSU1BWCBpcyBub3Qgc2V0CiMgQ09ORklHX0hJRF9ST0NDQVQgaXMgbm90IHNldAoj
IENPTkZJR19ISURfU0FJVEVLIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9TQU1TVU5HPXkKQ09ORklH
X0hJRF9TT05ZPXkKIyBDT05GSUdfSElEX1NQRUVETElOSyBpcyBub3Qgc2V0CkNPTkZJR19ISURf
U1VOUExVUz15CiMgQ09ORklHX0hJRF9HUkVFTkFTSUEgaXMgbm90IHNldAojIENPTkZJR19ISURf
U01BUlRKT1lQTFVTIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1RJVk8gaXMgbm90IHNldApDT05G
SUdfSElEX1RPUFNFRUQ9eQojIENPTkZJR19ISURfVEhSVVNUTUFTVEVSIGlzIG5vdCBzZXQKIyBD
T05GSUdfSElEX1pFUk9QTFVTIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1pZREFDUk9OIGlzIG5v
dCBzZXQKQ09ORklHX1VTQl9TVVBQT1JUPXkKQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKQ09O
RklHX1VTQl9BUkNIX0hBU19FSENJPXkKQ09ORklHX1VTQl9BUkNIX0hBU19YSENJPXkKQ09ORklH
X1VTQl9DT01NT049eQpDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CkNPTkZJR19VU0I9eQpDT05G
SUdfVVNCX0RFQlVHPXkKQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15CgojCiMgTWlz
Y2VsbGFuZW91cyBVU0Igb3B0aW9ucwojCkNPTkZJR19VU0JfREVWSUNFRlM9eQpDT05GSUdfVVNC
X0RFVklDRV9DTEFTUz15CkNPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlM9eQpDT05GSUdfVVNCX01P
Tj15CiMgQ09ORklHX1VTQl9XVVNCX0NCQUYgaXMgbm90IHNldAoKIwojIFVTQiBIb3N0IENvbnRy
b2xsZXIgRHJpdmVycwojCiMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKIyBDT05G
SUdfVVNCX1hIQ0lfSENEIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9FSENJX0hDRD1tCkNPTkZJR19V
U0JfRUhDSV9ST09UX0hVQl9UVD15CkNPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRD15CiMgQ09O
RklHX1VTQl9PWFUyMTBIUF9IQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTE2WF9IQ0Qg
aXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAojIENPTkZJR19V
U0JfSVNQMTM2Ml9IQ0QgaXMgbm90IHNldApDT05GSUdfVVNCX09IQ0lfSENEPW0KIyBDT05GSUdf
VVNCX09IQ0lfSENEX1BMQVRGT1JNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VIQ0lfSENEX1BM
QVRGT1JNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKQ09ORklH
X1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQpDT05GSUdfVVNCX1VIQ0lfSENEPW0KIyBDT05GSUdf
VVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90
IHNldAoKIwojIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwojCiMgQ09ORklHX1VTQl9BQ00gaXMg
bm90IHNldApDT05GSUdfVVNCX1BSSU5URVI9eQojIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1RNQyBpcyBub3Qgc2V0CgojCiMgTk9URTogVVNCX1NUT1JBR0UgZGVwZW5k
cyBvbiBTQ1NJIGJ1dCBCTEtfREVWX1NEIG1heQojCgojCiMgYWxzbyBiZSBuZWVkZWQ7IHNlZSBV
U0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm8KIwpDT05GSUdfVVNCX1NUT1JBR0U9bQojIENP
TkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX1JF
QUxURUsgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQK
IyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9S
QUdFX0lTRDIwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NU
T1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMg
bm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAojIENPTkZJR19V
U0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1B
IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0
CiMgQ09ORklHX1VTQl9TVE9SQUdFX0VORV9VQjYyNTAgaXMgbm90IHNldAojIENPTkZJR19VU0Jf
VUFTIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9MSUJVU1VBTD15CgojCiMgVVNCIEltYWdpbmcgZGV2
aWNlcwojCiMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfTUlDUk9U
RUsgaXMgbm90IHNldAoKIwojIFVTQiBwb3J0IGRyaXZlcnMKIwojIENPTkZJR19VU0JfU0VSSUFM
IGlzIG5vdCBzZXQKCiMKIyBVU0IgTWlzY2VsbGFuZW91cyBkcml2ZXJzCiMKIyBDT05GSUdfVVNC
X0VNSTYyIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VNSTI2IGlzIG5vdCBzZXQKIyBDT05GSUdf
VVNCX0FEVVRVWCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVZTRUcgaXMgbm90IHNldAojIENP
TkZJR19VU0JfUklPNTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9MQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfTEVEIGlzIG5vdCBz
ZXQKIyBDT05GSUdfVVNCX0NZUFJFU1NfQ1k3QzYzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0NZ
VEhFUk0gaXMgbm90IHNldAojIENPTkZJR19VU0JfSURNT1VTRSBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9GVERJX0VMQU4gaXMgbm90IHNldAojIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5v
dCBzZXQKIyBDT05GSUdfVVNCX1NJU1VTQlZHQSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MRCBp
cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiMgQ09ORklH
X1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAojIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0CiMg
Q09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ZVVJFWCBpcyBub3Qg
c2V0CiMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAoKIwojIE9URyBhbmQgcmVsYXRlZCBp
bmZyYXN0cnVjdHVyZQojCiMgQ09ORklHX05PUF9VU0JfWENFSVYgaXMgbm90IHNldAojIENPTkZJ
R19VV0IgaXMgbm90IHNldAojIENPTkZJR19NTUMgaXMgbm90IHNldAojIENPTkZJR19NRU1TVElD
SyBpcyBub3Qgc2V0CkNPTkZJR19ORVdfTEVEUz15CkNPTkZJR19MRURTX0NMQVNTPXkKCiMKIyBM
RUQgZHJpdmVycwojCiMgQ09ORklHX0xFRFNfTE0zNTMwIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVE
U19QQ0E5NTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19MUDM5NDQgaXMgbm90IHNldAojIENP
TkZJR19MRURTX0xQNTUyMSBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfTFA1NTIzIGlzIG5vdCBz
ZXQKIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19QQ0E5
NTVYIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19QQ0E5NjMzIGlzIG5vdCBzZXQKIyBDT05GSUdf
TEVEU19CRDI4MDIgaXMgbm90IHNldAojIENPTkZJR19MRURTX0lOVEVMX1NTNDIwMCBpcyBub3Qg
c2V0CiMgQ09ORklHX0xFRFNfVENBNjUwNyBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfT1QyMDAg
aXMgbm90IHNldApDT05GSUdfTEVEU19UUklHR0VSUz15CgojCiMgTEVEIFRyaWdnZXJzCiMKIyBD
T05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19UUklHR0VS
X0lERV9ESVNLIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0xFRFNfVFJJR0dFUl9CQUNLTElHSFQgaXMgbm90IHNldAojIENPTkZJ
R19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CgojCiMgaXB0YWJsZXMgdHJpZ2dl
ciBpcyB1bmRlciBOZXRmaWx0ZXIgY29uZmlnIChMRUQgdGFyZ2V0KQojCiMgQ09ORklHX0FDQ0VT
U0lCSUxJVFkgaXMgbm90IHNldAojIENPTkZJR19JTkZJTklCQU5EIGlzIG5vdCBzZXQKQ09ORklH
X0VEQUM9eQoKIwojIFJlcG9ydGluZyBzdWJzeXN0ZW1zCiMKIyBDT05GSUdfRURBQ19ERUJVRyBp
cyBub3Qgc2V0CkNPTkZJR19FREFDX0RFQ09ERV9NQ0U9eQojIENPTkZJR19FREFDX01DRV9JTkog
aXMgbm90IHNldAojIENPTkZJR19FREFDX01NX0VEQUMgaXMgbm90IHNldApDT05GSUdfUlRDX0xJ
Qj15CkNPTkZJR19SVENfQ0xBU1M9eQojIENPTkZJR19SVENfSENUT1NZUyBpcyBub3Qgc2V0CiMg
Q09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CgojCiMgUlRDIGludGVyZmFjZXMKIwpDT05GSUdf
UlRDX0lOVEZfU1lTRlM9eQpDT05GSUdfUlRDX0lOVEZfUFJPQz15CkNPTkZJR19SVENfSU5URl9E
RVY9eQojIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAojIENPTkZJR19S
VENfRFJWX1RFU1QgaXMgbm90IHNldAoKIwojIEkyQyBSVEMgZHJpdmVycwojCiMgQ09ORklHX1JU
Q19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNl
dAojIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRFMz
MjMyIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKIyBDT05G
SUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlz
IG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9JU0wxMjAyMiBpcyBub3Qgc2V0CiMgQ09ORklHX1JU
Q19EUlZfWDEyMDUgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNl
dAojIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX000
MVQ4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfQlEzMksgaXMgbm90IHNldAojIENPTkZJ
R19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0ZNMzEzMCBpcyBu
b3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUlg4NTgxIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RS
Vl9SWDgwMjUgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0VNMzAyNyBpcyBub3Qgc2V0CiMg
Q09ORklHX1JUQ19EUlZfUlYzMDI5QzIgaXMgbm90IHNldAoKIwojIFNQSSBSVEMgZHJpdmVycwoj
CgojCiMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKIwpDT05GSUdfUlRDX0RSVl9DTU9TPXkKIyBDT05G
SUdfUlRDX0RSVl9EUzEyODYgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBu
b3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RS
Vl9EUzE3NDIgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQK
IyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX000OFQz
NSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKIyBDT05GSUdf
UlRDX0RSVl9NU002MjQyIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9CUTQ4MDIgaXMgbm90
IHNldAojIENPTkZJR19SVENfRFJWX1JQNUMwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZf
VjMwMjAgaXMgbm90IHNldAoKIwojIG9uLUNQVSBSVEMgZHJpdmVycwojCkNPTkZJR19ETUFERVZJ
Q0VTPXkKIyBDT05GSUdfRE1BREVWSUNFU19ERUJVRyBpcyBub3Qgc2V0CgojCiMgRE1BIERldmlj
ZXMKIwojIENPTkZJR19JTlRFTF9NSURfRE1BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0lOVEVMX0lP
QVRETUEgaXMgbm90IHNldAojIENPTkZJR19USU1CX0RNQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BD
SF9ETUEgaXMgbm90IHNldAojIENPTkZJR19BVVhESVNQTEFZIGlzIG5vdCBzZXQKQ09ORklHX1VJ
Tz1tCkNPTkZJR19VSU9fQ0lGPW0KQ09ORklHX1VJT19QRFJWPW0KQ09ORklHX1VJT19QRFJWX0dF
TklSUT1tCkNPTkZJR19VSU9fQUVDPW0KQ09ORklHX1VJT19TRVJDT1MzPW0KQ09ORklHX1VJT19Q
Q0lfR0VORVJJQz1tCiMgQ09ORklHX1VJT19ORVRYIGlzIG5vdCBzZXQKCiMKIyBWaXJ0aW8gZHJp
dmVycwojCiMgQ09ORklHX1ZJUlRJT19QQ0kgaXMgbm90IHNldAojIENPTkZJR19WSVJUSU9fQkFM
TE9PTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJUlRJT19NTUlPIGlzIG5vdCBzZXQKCiMKIyBNaWNy
b3NvZnQgSHlwZXItViBndWVzdCBzdXBwb3J0CiMKIyBDT05GSUdfSFlQRVJWIGlzIG5vdCBzZXQK
CiMKIyBYZW4gZHJpdmVyIHN1cHBvcnQKIwpDT05GSUdfWEVOX0JBTExPT049eQojIENPTkZJR19Y
RU5fQkFMTE9PTl9NRU1PUllfSE9UUExVRyBpcyBub3Qgc2V0CkNPTkZJR19YRU5fU0NSVUJfUEFH
RVM9eQpDT05GSUdfWEVOX0RFVl9FVlRDSE49eQpDT05GSUdfWEVOX0JBQ0tFTkQ9eQpDT05GSUdf
WEVORlM9eQpDT05GSUdfWEVOX0NPTVBBVF9YRU5GUz15CkNPTkZJR19YRU5fU1lTX0hZUEVSVklT
T1I9eQpDT05GSUdfWEVOX1hFTkJVU19GUk9OVEVORD15CkNPTkZJR19YRU5fR05UREVWPXkKQ09O
RklHX1hFTl9HUkFOVF9ERVZfQUxMT0M9bQpDT05GSUdfU1dJT1RMQl9YRU49eQpDT05GSUdfWEVO
X1BDSURFVl9CQUNLRU5EPXkKQ09ORklHX1hFTl9QUklWQ01EPXkKQ09ORklHX1hFTl9BQ1BJX1BS
T0NFU1NPUj1tCkNPTkZJR19YRU5fTUNFX0xPRz15CiMgQ09ORklHX1NUQUdJTkcgaXMgbm90IHNl
dApDT05GSUdfWDg2X1BMQVRGT1JNX0RFVklDRVM9eQojIENPTkZJR19BQ0VSSERGIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQVNVU19MQVBUT1AgaXMgbm90IHNldAojIENPTkZJR19GVUpJVFNVX0xBUFRP
UCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZVSklUU1VfVEFCTEVUIGlzIG5vdCBzZXQKIyBDT05GSUdf
QU1JTE9fUkZLSUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfSFBfQUNDRUwgaXMgbm90IHNldAojIENP
TkZJR19NU0lfTEFQVE9QIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFOQVNPTklDX0xBUFRPUCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0NPTVBBTF9MQVBUT1AgaXMgbm90IHNldAojIENPTkZJR19TT05ZX0xB
UFRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lERUFQQURfTEFQVE9QIGlzIG5vdCBzZXQKIyBDT05G
SUdfVEhJTktQQURfQUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSERBUFMgaXMgbm90
IHNldAojIENPTkZJR19JTlRFTF9NRU5MT1cgaXMgbm90IHNldApDT05GSUdfRUVFUENfTEFQVE9Q
PXkKIyBDT05GSUdfQUNQSV9XTUkgaXMgbm90IHNldAojIENPTkZJR19UT1BTVEFSX0xBUFRPUCBp
cyBub3Qgc2V0CiMgQ09ORklHX1RPU0hJQkFfQlRfUkZLSUxMIGlzIG5vdCBzZXQKIyBDT05GSUdf
QUNQSV9DTVBDIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5URUxfSVBTIGlzIG5vdCBzZXQKIyBDT05G
SUdfSUJNX1JUTCBpcyBub3Qgc2V0CiMgQ09ORklHX1hPMTVfRUJPT0sgaXMgbm90IHNldAojIENP
TkZJR19TQU1TVU5HX0xBUFRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOVEVMX09BS1RSQUlMIGlz
IG5vdCBzZXQKIyBDT05GSUdfU0FNU1VOR19RMTAgaXMgbm90IHNldAojIENPTkZJR19BUFBMRV9H
TVVYIGlzIG5vdCBzZXQKCiMKIyBIYXJkd2FyZSBTcGlubG9jayBkcml2ZXJzCiMKQ09ORklHX0NM
S0VWVF9JODI1Mz15CkNPTkZJR19JODI1M19MT0NLPXkKQ09ORklHX0NMS0JMRF9JODI1Mz15CkNP
TkZJR19JT01NVV9TVVBQT1JUPXkKIyBDT05GSUdfQU1EX0lPTU1VIGlzIG5vdCBzZXQKIyBDT05G
SUdfSU5URUxfSU9NTVUgaXMgbm90IHNldAojIENPTkZJR19JUlFfUkVNQVAgaXMgbm90IHNldAoK
IwojIFJlbW90ZXByb2MgZHJpdmVycyAoRVhQRVJJTUVOVEFMKQojCgojCiMgUnBtc2cgZHJpdmVy
cyAoRVhQRVJJTUVOVEFMKQojCiMgQ09ORklHX1ZJUlRfRFJJVkVSUyBpcyBub3Qgc2V0CiMgQ09O
RklHX1BNX0RFVkZSRVEgaXMgbm90IHNldAoKIwojIEZpcm13YXJlIERyaXZlcnMKIwojIENPTkZJ
R19FREQgaXMgbm90IHNldApDT05GSUdfRklSTVdBUkVfTUVNTUFQPXkKQ09ORklHX0VGSV9WQVJT
PXkKIyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAojIENPTkZJR19EQ0RCQVMgaXMgbm90IHNl
dApDT05GSUdfRE1JSUQ9eQojIENPTkZJR19ETUlfU1lTRlMgaXMgbm90IHNldAojIENPTkZJR19J
U0NTSV9JQkZUX0ZJTkQgaXMgbm90IHNldAojIENPTkZJR19HT09HTEVfRklSTVdBUkUgaXMgbm90
IHNldAoKIwojIEZpbGUgc3lzdGVtcwojCkNPTkZJR19EQ0FDSEVfV09SRF9BQ0NFU1M9eQojIENP
TkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0VYVDNfRlM9eQojIENPTkZJR19FWFQzX0RF
RkFVTFRTX1RPX09SREVSRUQgaXMgbm90IHNldApDT05GSUdfRVhUM19GU19YQVRUUj15CkNPTkZJ
R19FWFQzX0ZTX1BPU0lYX0FDTD15CkNPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKQ09ORklHX0VY
VDRfRlM9bQpDT05GSUdfRVhUNF9VU0VfRk9SX0VYVDIzPXkKQ09ORklHX0VYVDRfRlNfWEFUVFI9
eQpDT05GSUdfRVhUNF9GU19QT1NJWF9BQ0w9eQpDT05GSUdfRVhUNF9GU19TRUNVUklUWT15CkNP
TkZJR19FWFQ0X0RFQlVHPXkKQ09ORklHX0pCRD15CiMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qg
c2V0CkNPTkZJR19KQkQyPW0KIyBDT05GSUdfSkJEMl9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19G
U19NQkNBQ0hFPXkKIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19KRlNf
RlMgaXMgbm90IHNldAojIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19HRlMyX0ZT
IGlzIG5vdCBzZXQKIyBDT05GSUdfQlRSRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19OSUxGUzJf
RlMgaXMgbm90IHNldApDT05GSUdfRlNfUE9TSVhfQUNMPXkKQ09ORklHX0VYUE9SVEZTPW0KQ09O
RklHX0ZJTEVfTE9DS0lORz15CkNPTkZJR19GU05PVElGWT15CkNPTkZJR19ETk9USUZZPXkKQ09O
RklHX0lOT1RJRllfVVNFUj15CiMgQ09ORklHX0ZBTk9USUZZIGlzIG5vdCBzZXQKQ09ORklHX1FV
T1RBPXkKQ09ORklHX1FVT1RBX05FVExJTktfSU5URVJGQUNFPXkKIyBDT05GSUdfUFJJTlRfUVVP
VEFfV0FSTklORyBpcyBub3Qgc2V0CiMgQ09ORklHX1FVT1RBX0RFQlVHIGlzIG5vdCBzZXQKQ09O
RklHX1FVT1RBX1RSRUU9eQojIENPTkZJR19RRk1UX1YxIGlzIG5vdCBzZXQKQ09ORklHX1FGTVRf
VjI9eQpDT05GSUdfUVVPVEFDVEw9eQpDT05GSUdfUVVPVEFDVExfQ09NUEFUPXkKQ09ORklHX0FV
VE9GUzRfRlM9eQojIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0dFTkVSSUNfQUNM
PXkKCiMKIyBDYWNoZXMKIwojIENPTkZJR19GU0NBQ0hFIGlzIG5vdCBzZXQKCiMKIyBDRC1ST00v
RFZEIEZpbGVzeXN0ZW1zCiMKQ09ORklHX0lTTzk2NjBfRlM9eQpDT05GSUdfSk9MSUVUPXkKQ09O
RklHX1pJU09GUz15CiMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CgojCiMgRE9TL0ZBVC9OVCBG
aWxlc3lzdGVtcwojCkNPTkZJR19GQVRfRlM9eQpDT05GSUdfTVNET1NfRlM9eQpDT05GSUdfVkZB
VF9GUz15CkNPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKQ09ORklHX0ZBVF9ERUZBVUxU
X0lPQ0hBUlNFVD0iaXNvODg1OS0xIgojIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKCiMKIyBQ
c2V1ZG8gZmlsZXN5c3RlbXMKIwpDT05GSUdfUFJPQ19GUz15CkNPTkZJR19QUk9DX0tDT1JFPXkK
Q09ORklHX1BST0NfVk1DT1JFPXkKQ09ORklHX1BST0NfU1lTQ1RMPXkKQ09ORklHX1BST0NfUEFH
RV9NT05JVE9SPXkKQ09ORklHX1NZU0ZTPXkKQ09ORklHX1RNUEZTPXkKQ09ORklHX1RNUEZTX1BP
U0lYX0FDTD15CkNPTkZJR19UTVBGU19YQVRUUj15CkNPTkZJR19IVUdFVExCRlM9eQpDT05GSUdf
SFVHRVRMQl9QQUdFPXkKIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldApDT05GSUdfTUlT
Q19GSUxFU1lTVEVNUz15CiMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAojIENPTkZJR19BRkZT
X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfRUNSWVBUX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSEZT
X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JF
RlNfRlMgaXMgbm90IHNldAojIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19FRlNf
RlMgaXMgbm90IHNldAojIENPTkZJR19MT0dGUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQU1GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX1NRVUFTSEZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVlhGU19GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfT01GU19GUyBp
cyBub3Qgc2V0CiMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19RTlg0RlNfRlMg
aXMgbm90IHNldAojIENPTkZJR19RTlg2RlNfRlMgaXMgbm90IHNldAojIENPTkZJR19ST01GU19G
UyBpcyBub3Qgc2V0CkNPTkZJR19QU1RPUkU9eQojIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQK
IyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQpD
T05GSUdfTkZTX0ZTPW0KQ09ORklHX05GU19WMz15CkNPTkZJR19ORlNfVjNfQUNMPXkKQ09ORklH
X05GU19WND15CiMgQ09ORklHX05GU19WNF8xIGlzIG5vdCBzZXQKIyBDT05GSUdfTkZTX1VTRV9M
RUdBQ1lfRE5TIGlzIG5vdCBzZXQKQ09ORklHX05GU19VU0VfS0VSTkVMX0ROUz15CkNPTkZJR19O
RlNEPW0KQ09ORklHX05GU0RfVjJfQUNMPXkKQ09ORklHX05GU0RfVjM9eQpDT05GSUdfTkZTRF9W
M19BQ0w9eQpDT05GSUdfTkZTRF9WND15CiMgQ09ORklHX05GU0RfRkFVTFRfSU5KRUNUSU9OIGlz
IG5vdCBzZXQKQ09ORklHX0xPQ0tEPW0KQ09ORklHX0xPQ0tEX1Y0PXkKQ09ORklHX05GU19BQ0xf
U1VQUE9SVD1tCkNPTkZJR19ORlNfQ09NTU9OPXkKQ09ORklHX1NVTlJQQz1tCkNPTkZJR19TVU5S
UENfR1NTPW0KIyBDT05GSUdfU1VOUlBDX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0VQSF9G
UyBpcyBub3Qgc2V0CiMgQ09ORklHX0NJRlMgaXMgbm90IHNldAojIENPTkZJR19OQ1BfRlMgaXMg
bm90IHNldAojIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQUZTX0ZTIGlzIG5v
dCBzZXQKQ09ORklHX05MUz15CkNPTkZJR19OTFNfREVGQVVMVD0idXRmOCIKQ09ORklHX05MU19D
T0RFUEFHRV80Mzc9eQojIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKIyBDT05G
SUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTAg
aXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKIyBDT05GSUdf
TkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMg
bm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxT
X0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90
IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NP
REVQQUdFXzg2NCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNl
dAojIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQ
QUdFXzg2OSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAoj
IENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdF
XzkzMiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAojIENP
TkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBp
cyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKIyBDT05GSUdf
TkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldApDT05GSUdfTkxTX0FTQ0lJPXkKQ09ORklHX05M
U19JU084ODU5XzE9eQojIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKIyBDT05GSUdf
TkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNl
dAojIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlf
NiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAojIENPTkZJR19O
TFNfSVNPODg1OV85IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNl
dAojIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5
XzE1IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiMgQ09ORklHX05M
U19LT0k4X1UgaXMgbm90IHNldApDT05GSUdfTkxTX1VURjg9eQoKIwojIEtlcm5lbCBoYWNraW5n
CiMKQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQpDT05GSUdfUFJJTlRLX1RJTUU9eQpD
T05GSUdfREVGQVVMVF9NRVNTQUdFX0xPR0xFVkVMPTQKIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQ
UkVDQVRFRCBpcyBub3Qgc2V0CkNPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CkNPTkZJR19GUkFN
RV9XQVJOPTIwNDgKQ09ORklHX01BR0lDX1NZU1JRPXkKIyBDT05GSUdfU1RSSVBfQVNNX1NZTVMg
aXMgbm90IHNldAojIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CkNPTkZJR19ERUJV
R19GUz15CiMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19T
RUNUSU9OX01JU01BVENIIGlzIG5vdCBzZXQKQ09ORklHX0RFQlVHX0tFUk5FTD15CiMgQ09ORklH
X0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKIyBDT05GSUdfTE9DS1VQX0RFVEVDVE9SIGlzIG5vdCBz
ZXQKIyBDT05GSUdfSEFSRExPQ0tVUF9ERVRFQ1RPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0RFVEVD
VF9IVU5HX1RBU0sgaXMgbm90IHNldAojIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0CkNP
TkZJR19TQ0hFRFNUQVRTPXkKQ09ORklHX1RJTUVSX1NUQVRTPXkKIyBDT05GSUdfREVCVUdfT0JK
RUNUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NMVUJfREVCVUdfT04gaXMgbm90IHNldAojIENPTkZJ
R19TTFVCX1NUQVRTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfS01FTUxFQUsgaXMgbm90IHNl
dAojIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRfTVVURVhf
VEVTVEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAojIENP
TkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBp
cyBub3Qgc2V0CiMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAojIENPTkZJR19TUEFS
U0VfUkNVX1BPSU5URVIgaXMgbm90IHNldAojIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAoj
IENPTkZJR19ERUJVR19BVE9NSUNfU0xFRVAgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19MT0NL
SU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldApDT05GSUdfU1RBQ0tUUkFDRT15CiMgQ09ORklH
X0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBu
b3Qgc2V0CkNPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKIyBDT05GSUdfREVCVUdfSU5GTyBpcyBu
b3Qgc2V0CiMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfVklSVFVB
TCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldApDT05GSUdf
REVCVUdfTUVNT1JZX0lOSVQ9eQojIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKIyBDT05G
SUdfVEVTVF9MSVNUX1NPUlQgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0
CiMgQ09ORklHX0RFQlVHX05PVElGSUVSUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0NSRURF
TlRJQUxTIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfV0FOVF9GUkFNRV9QT0lOVEVSUz15CkNPTkZJ
R19GUkFNRV9QT0lOVEVSPXkKIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAoj
IENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKQ09ORklHX1JDVV9DUFVfU1RBTExf
VElNRU9VVD02MAojIENPTkZJR19SQ1VfQ1BVX1NUQUxMX0lORk8gaXMgbm90IHNldAojIENPTkZJ
R19SQ1VfVFJBQ0UgaXMgbm90IHNldAojIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5v
dCBzZXQKIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RF
QlVHX0JMT0NLX0VYVF9ERVZUIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfRk9SQ0VfV0VBS19Q
RVJfQ1BVIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTIGlzIG5vdCBzZXQK
IyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAojIENPTkZJR19DUFVfTk9USUZJRVJfRVJST1JfSU5K
RUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKIyBDT05G
SUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1BBR0VBTExPQyBpcyBub3Qg
c2V0CkNPTkZJR19VU0VSX1NUQUNLVFJBQ0VfU1VQUE9SVD15CkNPTkZJR19OT1BfVFJBQ0VSPXkK
Q09ORklHX0hBVkVfRlVOQ1RJT05fVFJBQ0VSPXkKQ09ORklHX0hBVkVfRlVOQ1RJT05fR1JBUEhf
VFJBQ0VSPXkKQ09ORklHX0hBVkVfRlVOQ1RJT05fR1JBUEhfRlBfVEVTVD15CkNPTkZJR19IQVZF
X0ZVTkNUSU9OX1RSQUNFX01DT1VOVF9URVNUPXkKQ09ORklHX0hBVkVfRFlOQU1JQ19GVFJBQ0U9
eQpDT05GSUdfSEFWRV9GVFJBQ0VfTUNPVU5UX1JFQ09SRD15CkNPTkZJR19IQVZFX1NZU0NBTExf
VFJBQ0VQT0lOVFM9eQpDT05GSUdfSEFWRV9DX1JFQ09SRE1DT1VOVD15CkNPTkZJR19SSU5HX0JV
RkZFUj15CkNPTkZJR19FVkVOVF9UUkFDSU5HPXkKQ09ORklHX0VWRU5UX1BPV0VSX1RSQUNJTkdf
REVQUkVDQVRFRD15CkNPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVI9eQpDT05GSUdfVFJBQ0lO
Rz15CkNPTkZJR19HRU5FUklDX1RSQUNFUj15CkNPTkZJR19UUkFDSU5HX1NVUFBPUlQ9eQpDT05G
SUdfRlRSQUNFPXkKIyBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSIGlzIG5vdCBzZXQKIyBDT05GSUdf
SVJRU09GRl9UUkFDRVIgaXMgbm90IHNldAojIENPTkZJR19TQ0hFRF9UUkFDRVIgaXMgbm90IHNl
dAojIENPTkZJR19GVFJBQ0VfU1lTQ0FMTFMgaXMgbm90IHNldApDT05GSUdfQlJBTkNIX1BST0ZJ
TEVfTk9ORT15CiMgQ09ORklHX1BST0ZJTEVfQU5OT1RBVEVEX0JSQU5DSEVTIGlzIG5vdCBzZXQK
IyBDT05GSUdfUFJPRklMRV9BTExfQlJBTkNIRVMgaXMgbm90IHNldAojIENPTkZJR19TVEFDS19U
UkFDRVIgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9JT19UUkFDRT15CkNPTkZJR19LUFJPQkVf
RVZFTlQ9eQojIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUIGlzIG5vdCBzZXQKIyBDT05GSUdf
TU1JT1RSQUNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUklOR19CVUZGRVJfQkVOQ0hNQVJLIGlzIG5v
dCBzZXQKQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQ9eQojIENPTkZJR19EWU5BTUlD
X0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1BX0FQSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09O
RklHX0FUT01JQzY0X1NFTEZURVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNUExFUyBpcyBub3Qg
c2V0CkNPTkZJR19IQVZFX0FSQ0hfS0dEQj15CiMgQ09ORklHX0tHREIgaXMgbm90IHNldApDT05G
SUdfSEFWRV9BUkNIX0tNRU1DSEVDSz15CiMgQ09ORklHX0tNRU1DSEVDSyBpcyBub3Qgc2V0CiMg
Q09ORklHX1RFU1RfS1NUUlRPWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NUUklDVF9ERVZNRU0gaXMg
bm90IHNldApDT05GSUdfWDg2X1ZFUkJPU0VfQk9PVFVQPXkKQ09ORklHX0VBUkxZX1BSSU5USz15
CkNPTkZJR19FQVJMWV9QUklOVEtfREJHUD15CkNPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XPXkK
IyBDT05GSUdfWDg2X1BURFVNUCBpcyBub3Qgc2V0CkNPTkZJR19ERUJVR19ST0RBVEE9eQojIENP
TkZJR19ERUJVR19ST0RBVEFfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NFVF9NT0RV
TEVfUk9OWCBpcyBub3Qgc2V0CkNPTkZJR19ERUJVR19OWF9URVNUPW0KIyBDT05GSUdfSU9NTVVf
REVCVUcgaXMgbm90IHNldAojIENPTkZJR19JT01NVV9TVFJFU1MgaXMgbm90IHNldApDT05GSUdf
SEFWRV9NTUlPVFJBQ0VfU1VQUE9SVD15CiMgQ09ORklHX1g4Nl9ERUNPREVSX1NFTEZURVNUIGlz
IG5vdCBzZXQKQ09ORklHX0lPX0RFTEFZX1RZUEVfMFg4MD0wCkNPTkZJR19JT19ERUxBWV9UWVBF
XzBYRUQ9MQpDT05GSUdfSU9fREVMQVlfVFlQRV9VREVMQVk9MgpDT05GSUdfSU9fREVMQVlfVFlQ
RV9OT05FPTMKQ09ORklHX0lPX0RFTEFZXzBYODA9eQojIENPTkZJR19JT19ERUxBWV8wWEVEIGlz
IG5vdCBzZXQKIyBDT05GSUdfSU9fREVMQVlfVURFTEFZIGlzIG5vdCBzZXQKIyBDT05GSUdfSU9f
REVMQVlfTk9ORSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0lPX0RFTEFZX1RZUEU9MApDT05G
SUdfREVCVUdfQk9PVF9QQVJBTVM9eQojIENPTkZJR19DUEFfREVCVUcgaXMgbm90IHNldApDT05G
SUdfT1BUSU1JWkVfSU5MSU5JTkc9eQojIENPTkZJR19ERUJVR19TVFJJQ1RfVVNFUl9DT1BZX0NI
RUNLUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX05NSV9TRUxGVEVTVCBpcyBub3Qgc2V0Cgoj
CiMgU2VjdXJpdHkgb3B0aW9ucwojCkNPTkZJR19LRVlTPXkKIyBDT05GSUdfVFJVU1RFRF9LRVlT
IGlzIG5vdCBzZXQKIyBDT05GSUdfRU5DUllQVEVEX0tFWVMgaXMgbm90IHNldApDT05GSUdfS0VZ
U19ERUJVR19QUk9DX0tFWVM9eQojIENPTkZJR19TRUNVUklUWV9ETUVTR19SRVNUUklDVCBpcyBu
b3Qgc2V0CkNPTkZJR19TRUNVUklUWT15CkNPTkZJR19TRUNVUklUWUZTPXkKQ09ORklHX1NFQ1VS
SVRZX05FVFdPUks9eQojIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gaXMgbm90IHNldAoj
IENPTkZJR19TRUNVUklUWV9QQVRIIGlzIG5vdCBzZXQKQ09ORklHX0xTTV9NTUFQX01JTl9BRERS
PTY1NTM2CkNPTkZJR19TRUNVUklUWV9TRUxJTlVYPXkKQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhf
Qk9PVFBBUkFNPXkKQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNX1ZBTFVFPTEKQ09O
RklHX1NFQ1VSSVRZX1NFTElOVVhfRElTQUJMRT15CkNPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RF
VkVMT1A9eQpDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9BVkNfU1RBVFM9eQpDT05GSUdfU0VDVVJJ
VFlfU0VMSU5VWF9DSEVDS1JFUVBST1RfVkFMVUU9MQojIENPTkZJR19TRUNVUklUWV9TRUxJTlVY
X1BPTElDWURCX1ZFUlNJT05fTUFYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VDVVJJVFlfU01BQ0sg
aXMgbm90IHNldAojIENPTkZJR19TRUNVUklUWV9UT01PWU8gaXMgbm90IHNldAojIENPTkZJR19T
RUNVUklUWV9BUFBBUk1PUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VSSVRZX1lBTUEgaXMgbm90
IHNldAojIENPTkZJR19JTUEgaXMgbm90IHNldAojIENPTkZJR19FVk0gaXMgbm90IHNldApDT05G
SUdfREVGQVVMVF9TRUNVUklUWV9TRUxJTlVYPXkKIyBDT05GSUdfREVGQVVMVF9TRUNVUklUWV9E
QUMgaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9TRUNVUklUWT0ic2VsaW51eCIKQ09ORklHX0NS
WVBUTz15CgojCiMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiMKQ09ORklHX0NSWVBUT19BTEdBUEk9
eQpDT05GSUdfQ1JZUFRPX0FMR0FQSTI9eQpDT05GSUdfQ1JZUFRPX0FFQUQ9eQpDT05GSUdfQ1JZ
UFRPX0FFQUQyPXkKQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQpDT05GSUdfQ1JZUFRPX0JMS0NJ
UEhFUjI9eQpDT05GSUdfQ1JZUFRPX0hBU0g9eQpDT05GSUdfQ1JZUFRPX0hBU0gyPXkKQ09ORklH
X0NSWVBUT19STkcyPXkKQ09ORklHX0NSWVBUT19QQ09NUDI9eQpDT05GSUdfQ1JZUFRPX01BTkFH
RVI9eQpDT05GSUdfQ1JZUFRPX01BTkFHRVIyPXkKIyBDT05GSUdfQ1JZUFRPX1VTRVIgaXMgbm90
IHNldApDT05GSUdfQ1JZUFRPX01BTkFHRVJfRElTQUJMRV9URVNUUz15CiMgQ09ORklHX0NSWVBU
T19HRjEyOE1VTCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKIyBD
T05GSUdfQ1JZUFRPX1BDUllQVCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fV09SS1FVRVVFPXkK
IyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fQVVUSEVOQz15
CiMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKCiMKIyBBdXRoZW50aWNhdGVkIEVuY3J5
cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKIwojIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TRVFJViBp
cyBub3Qgc2V0CgojCiMgQmxvY2sgbW9kZXMKIwpDT05GSUdfQ1JZUFRPX0NCQz15CiMgQ09ORklH
X0NSWVBUT19DVFIgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKIyBD
T05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNl
dAojIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19YVFMgaXMg
bm90IHNldAoKIwojIEhhc2ggbW9kZXMKIwpDT05GSUdfQ1JZUFRPX0hNQUM9eQojIENPTkZJR19D
UllQVE9fWENCQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19WTUFDIGlzIG5vdCBzZXQKCiMK
IyBEaWdlc3QKIwojIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZ
UFRPX0NSQzMyQ19JTlRFTCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19HSEFTSCBpcyBub3Qg
c2V0CiMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX01ENT15CiMg
Q09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19STUQx
MjggaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fUk1EMTYwIGlzIG5vdCBzZXQKIyBDT05GSUdf
Q1JZUFRPX1JNRDI1NiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19STUQzMjAgaXMgbm90IHNl
dApDT05GSUdfQ1JZUFRPX1NIQTE9eQojIENPTkZJR19DUllQVE9fU0hBMV9TU1NFMyBpcyBub3Qg
c2V0CiMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0hB
NTEyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiMgQ09ORklH
X0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19HSEFTSF9DTE1VTF9OSV9J
TlRFTCBpcyBub3Qgc2V0CgojCiMgQ2lwaGVycwojCkNPTkZJR19DUllQVE9fQUVTPXkKIyBDT05G
SUdfQ1JZUFRPX0FFU19YODZfNjQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQUVTX05JX0lO
VEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CkNPTkZJR19D
UllQVE9fQVJDND15CiMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiMgQ09ORklH
X0NSWVBUT19CTE9XRklTSF9YODZfNjQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ0FNRUxM
SUEgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ0FNRUxMSUFfWDg2XzY0IGlzIG5vdCBzZXQK
IyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlz
IG5vdCBzZXQKQ09ORklHX0NSWVBUT19ERVM9eQojIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5v
dCBzZXQKIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19T
QUxTQTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjBfWDg2XzY0IGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0VSUEVO
VCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TRVJQRU5UX1NTRTJfWDg2XzY0IGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19UV09GSVNI
IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0IGlzIG5vdCBzZXQKIyBD
T05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0XzNXQVkgaXMgbm90IHNldAoKIwojIENvbXByZXNz
aW9uCiMKIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f
WkxJQiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAoKIwojIFJhbmRv
bSBOdW1iZXIgR2VuZXJhdGlvbgojCiMgQ09ORklHX0NSWVBUT19BTlNJX0NQUk5HIGlzIG5vdCBz
ZXQKIyBDT05GSUdfQ1JZUFRPX1VTRVJfQVBJX0hBU0ggaXMgbm90IHNldAojIENPTkZJR19DUllQ
VE9fVVNFUl9BUElfU0tDSVBIRVIgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX0hXPXkKIyBDT05G
SUdfQ1JZUFRPX0RFVl9QQURMT0NLIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfS1ZNPXkKQ09ORklH
X0hBVkVfS1ZNX0lSUUNISVA9eQpDT05GSUdfSEFWRV9LVk1fRVZFTlRGRD15CkNPTkZJR19LVk1f
QVBJQ19BUkNISVRFQ1RVUkU9eQpDT05GSUdfS1ZNX01NSU89eQpDT05GSUdfS1ZNX0FTWU5DX1BG
PXkKQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKQ09ORklHX0tWTT15CkNPTkZJR19LVk1fSU5URUw9
eQpDT05GSUdfS1ZNX0FNRD15CiMgQ09ORklHX0tWTV9NTVVfQVVESVQgaXMgbm90IHNldAojIENP
TkZJR19WSE9TVF9ORVQgaXMgbm90IHNldApDT05GSUdfQklOQVJZX1BSSU5URj15CgojCiMgTGli
cmFyeSByb3V0aW5lcwojCkNPTkZJR19CSVRSRVZFUlNFPXkKQ09ORklHX0dFTkVSSUNfRklORF9G
SVJTVF9CSVQ9eQpDT05GSUdfR0VORVJJQ19QQ0lfSU9NQVA9eQpDT05GSUdfR0VORVJJQ19JT01B
UD15CkNPTkZJR19HRU5FUklDX0lPPXkKIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKQ09O
RklHX0NSQzE2PW0KQ09ORklHX0NSQ19UMTBESUY9eQojIENPTkZJR19DUkNfSVRVX1QgaXMgbm90
IHNldApDT05GSUdfQ1JDMzI9eQojIENPTkZJR19DUkMzMl9TRUxGVEVTVCBpcyBub3Qgc2V0CkNP
TkZJR19DUkMzMl9TTElDRUJZOD15CiMgQ09ORklHX0NSQzMyX1NMSUNFQlk0IGlzIG5vdCBzZXQK
IyBDT05GSUdfQ1JDMzJfU0FSV0FURSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQzMyX0JJVCBpcyBu
b3Qgc2V0CiMgQ09ORklHX0NSQzcgaXMgbm90IHNldAojIENPTkZJR19MSUJDUkMzMkMgaXMgbm90
IHNldAojIENPTkZJR19DUkM4IGlzIG5vdCBzZXQKQ09ORklHX1pMSUJfSU5GTEFURT15CkNPTkZJ
R19MWk9fREVDT01QUkVTUz15CkNPTkZJR19YWl9ERUM9eQpDT05GSUdfWFpfREVDX1g4Nj15CkNP
TkZJR19YWl9ERUNfUE9XRVJQQz15CkNPTkZJR19YWl9ERUNfSUE2ND15CkNPTkZJR19YWl9ERUNf
QVJNPXkKQ09ORklHX1haX0RFQ19BUk1USFVNQj15CkNPTkZJR19YWl9ERUNfU1BBUkM9eQpDT05G
SUdfWFpfREVDX0JDSj15CiMgQ09ORklHX1haX0RFQ19URVNUIGlzIG5vdCBzZXQKQ09ORklHX0RF
Q09NUFJFU1NfR1pJUD15CkNPTkZJR19ERUNPTVBSRVNTX0JaSVAyPXkKQ09ORklHX0RFQ09NUFJF
U1NfTFpNQT15CkNPTkZJR19ERUNPTVBSRVNTX1haPXkKQ09ORklHX0RFQ09NUFJFU1NfTFpPPXkK
Q09ORklHX0dFTkVSSUNfQUxMT0NBVE9SPXkKQ09ORklHX0hBU19JT01FTT15CkNPTkZJR19IQVNf
SU9QT1JUPXkKQ09ORklHX0hBU19ETUE9eQpDT05GSUdfQ0hFQ0tfU0lHTkFUVVJFPXkKQ09ORklH
X0NQVV9STUFQPXkKQ09ORklHX0RRTD15CkNPTkZJR19OTEFUVFI9eQpDT05GSUdfQVZFUkFHRT15
CiMgQ09ORklHX0NPUkRJQyBpcyBub3Qgc2V0Cg==

--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351F94AASHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Tue May 29 16:47:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:47:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPa5-0002W0-NG; Tue, 29 May 2012 16:47:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZPa4-0002Vs-1k
	for xen-devel@lists.xen.org; Tue, 29 May 2012 16:47:36 +0000
Received: from [85.158.143.99:11895] by server-3.bemta-4.messagelabs.com id
	2E/72-05853-7ADF4CF4; Tue, 29 May 2012 16:47:35 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1338310053!25090133!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2199 invoked from network); 29 May 2012 16:47:34 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:47:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196778159"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 12:39:12 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	12:39:12 -0400
Message-ID: <4FC4FBAF.6040503@citrix.com>
Date: Tue, 29 May 2012 17:39:11 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Simon Rowe <simon.rowe@eu.citrix.com>
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
In-Reply-To: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 16:56, Simon Rowe wrote:
> xs_watch() creates a thread to wake watchers using default attributes. The
> stacksize can be quite large (8 MB on Linux), applications that link against
> xenstore end up having a larger memory footprint than necessary.
> 
> Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>
> 
> diff -r 53e0571f94e4 -r 0cf61ed6ce86 tools/xenstore/xs.c
> --- a/tools/xenstore/xs.c	Fri May 25 08:21:25 2012 +0100
> +++ b/tools/xenstore/xs.c	Tue May 29 16:45:03 2012 +0100
> @@ -705,11 +705,31 @@ bool xs_watch(struct xs_handle *h, const
>  	/* We dynamically create a reader thread on demand. */
>  	mutex_lock(&h->request_mutex);
>  	if (!h->read_thr_exists) {
> +#if _POSIX_THREAD_ATTR_STACKSIZE > 0

This #if seems unnecessary.  pthread_attr_setsetstacksize() doesn't
appear to be an optional.

> +		pthread_attr_t attr;
> +
> +		if (pthread_attr_init(&attr) != 0) {
> +			mutex_unlock(&h->request_mutex);
> +			return false;
> +		}
> +		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {

#define for this value?

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:47:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:47:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPa5-0002W0-NG; Tue, 29 May 2012 16:47:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZPa4-0002Vs-1k
	for xen-devel@lists.xen.org; Tue, 29 May 2012 16:47:36 +0000
Received: from [85.158.143.99:11895] by server-3.bemta-4.messagelabs.com id
	2E/72-05853-7ADF4CF4; Tue, 29 May 2012 16:47:35 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-4.tower-216.messagelabs.com!1338310053!25090133!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2199 invoked from network); 29 May 2012 16:47:34 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-4.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:47:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,677,1330923600"; d="scan'208";a="196778159"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 12:39:12 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	12:39:12 -0400
Message-ID: <4FC4FBAF.6040503@citrix.com>
Date: Tue, 29 May 2012 17:39:11 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Simon Rowe <simon.rowe@eu.citrix.com>
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
In-Reply-To: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 16:56, Simon Rowe wrote:
> xs_watch() creates a thread to wake watchers using default attributes. The
> stacksize can be quite large (8 MB on Linux), applications that link against
> xenstore end up having a larger memory footprint than necessary.
> 
> Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>
> 
> diff -r 53e0571f94e4 -r 0cf61ed6ce86 tools/xenstore/xs.c
> --- a/tools/xenstore/xs.c	Fri May 25 08:21:25 2012 +0100
> +++ b/tools/xenstore/xs.c	Tue May 29 16:45:03 2012 +0100
> @@ -705,11 +705,31 @@ bool xs_watch(struct xs_handle *h, const
>  	/* We dynamically create a reader thread on demand. */
>  	mutex_lock(&h->request_mutex);
>  	if (!h->read_thr_exists) {
> +#if _POSIX_THREAD_ATTR_STACKSIZE > 0

This #if seems unnecessary.  pthread_attr_setsetstacksize() doesn't
appear to be an optional.

> +		pthread_attr_t attr;
> +
> +		if (pthread_attr_init(&attr) != 0) {
> +			mutex_unlock(&h->request_mutex);
> +			return false;
> +		}
> +		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {

#define for this value?

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:49:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPbP-0002bI-6J; Tue, 29 May 2012 16:48:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SZPbN-0002bA-PQ
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:48:57 +0000
Received: from [85.158.139.83:35917] by server-12.bemta-5.messagelabs.com id
	BC/E6-20635-9FDF4CF4; Tue, 29 May 2012 16:48:57 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338310134!30962411!1
X-Originating-IP: [65.55.88.12]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6085 invoked from network); 29 May 2012 16:48:55 -0000
Received: from tx2ehsobe002.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.12)
	by server-12.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	29 May 2012 16:48:55 -0000
Received: from mail192-tx2-R.bigfish.com (10.9.14.251) by
	TX2EHSOBE002.bigfish.com (10.9.40.22) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 16:48:30 +0000
Received: from mail192-tx2 (localhost [127.0.0.1])	by
	mail192-tx2-R.bigfish.com (Postfix) with ESMTP id 554BA1003AC;
	Tue, 29 May 2012 16:48:30 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzzz1202hzz8275bhz2dh668h839h944hd24hf0ah)
Received: from mail192-tx2 (localhost.localdomain [127.0.0.1]) by mail192-tx2
	(MessageSwitch) id 1338310107885956_29542;
	Tue, 29 May 2012 16:48:27 +0000 (UTC)
Received: from TX2EHSMHS010.bigfish.com (unknown [10.9.14.250])	by
	mail192-tx2.bigfish.com (Postfix) with ESMTP id CB358320046;
	Tue, 29 May 2012 16:48:27 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS010.bigfish.com (10.9.99.110) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 16:48:23 +0000
X-WSS-ID: 0M4SMP7-02-P5B-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 23743C813E;	Tue, 29 May 2012 11:48:42 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 29 May 2012 11:48:52 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 29 May 2012 11:48:43 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	12:48:40 -0400
Received: from wotan.amd.com (wotan.osrc.amd.com [165.204.15.11])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id D586849C145; Tue, 29 May 2012
	17:48:39 +0100 (BST)
Received: by wotan.amd.com (Postfix, from userid 41729)	id C4C3F2D202B; Tue,
	29 May 2012 18:48:39 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 3d52d9fe62559ed6f90cb33a4b95f536ab5bc683
Message-ID: <3d52d9fe62559ed6f90c.1338310080@wotan.osrc.amd.com>
User-Agent: Mercurial-patchbomb/1.8.2
Date: Tue, 29 May 2012 18:48:00 +0200
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
To: <keir@xen.org>
X-OriginatorOrg: amd.com
Cc: boris.ostrovsky@amd.com, xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xenpm: Fix reporting of C0 residence times
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Boris Ostrovsky <boris.ostrovsky@amd.com>
# Date 1338309680 -7200
# Node ID 3d52d9fe62559ed6f90cb33a4b95f536ab5bc683
# Parent  53e0571f94e4bcc45270dcbd444c7c91166cef6d
xenpm: Fix reporting of C0 residence times

Idle state residence times as provided by pmstat_get_cx_stat() are not
reported precisely since remote core may be in idle state and therefore
has not updated its statistics at the time local core collected them.
This causes C0 residencies as calculated by xenpm to sometimes become
negative.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com>

diff -r 53e0571f94e4 -r 3d52d9fe6255 tools/misc/xenpm.c
--- a/tools/misc/xenpm.c	Fri May 25 08:21:25 2012 +0100
+++ b/tools/misc/xenpm.c	Tue May 29 18:41:20 2012 +0200
@@ -351,8 +351,12 @@ static void signal_int_handler(int signo
         for ( i = 0; i < max_cpu_nr; i++ )
             if ( !get_cxstat_by_cpuid(xc_handle, i, &cxstat_end[i]) )
                 for ( j = 0; j < cxstat_end[i].nr; j++ )
-                    sum_cx[i] += cxstat_end[i].residencies[j] -
-                                 cxstat_start[i].residencies[j];
+                {
+                    int64_t diff = (int64_t)cxstat_end[i].residencies[j] -
+                        (int64_t)cxstat_start[i].residencies[j];
+                    if ( diff >=0 )
+                        sum_cx[i] += diff;
+                }
     }
 
     if ( get_pxstat_by_cpuid(xc_handle, 0, NULL) != -ENODEV )
@@ -379,8 +383,10 @@ static void signal_int_handler(int signo
         {
             for ( j = 0; j < cxstat_end[i].nr; j++ )
             {
-                res = cxstat_end[i].residencies[j] -
-                    cxstat_start[i].residencies[j];
+                int64_t diff = (int64_t)cxstat_end[i].residencies[j] -
+                    (int64_t)cxstat_start[i].residencies[j];
+
+                res = ( diff >= 0 ) ? diff : 0;
                 triggers = cxstat_end[i].triggers[j] -
                     cxstat_start[i].triggers[j];
                 avg_res = (triggers==0) ? 0: (double)res/triggers/1000000.0;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:49:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPbP-0002bI-6J; Tue, 29 May 2012 16:48:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Boris.Ostrovsky@amd.com>) id 1SZPbN-0002bA-PQ
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 16:48:57 +0000
Received: from [85.158.139.83:35917] by server-12.bemta-5.messagelabs.com id
	BC/E6-20635-9FDF4CF4; Tue, 29 May 2012 16:48:57 +0000
X-Env-Sender: Boris.Ostrovsky@amd.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338310134!30962411!1
X-Originating-IP: [65.55.88.12]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6085 invoked from network); 29 May 2012 16:48:55 -0000
Received: from tx2ehsobe002.messaging.microsoft.com (HELO
	tx2outboundpool.messaging.microsoft.com) (65.55.88.12)
	by server-12.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	29 May 2012 16:48:55 -0000
Received: from mail192-tx2-R.bigfish.com (10.9.14.251) by
	TX2EHSOBE002.bigfish.com (10.9.40.22) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 16:48:30 +0000
Received: from mail192-tx2 (localhost [127.0.0.1])	by
	mail192-tx2-R.bigfish.com (Postfix) with ESMTP id 554BA1003AC;
	Tue, 29 May 2012 16:48:30 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzzz1202hzz8275bhz2dh668h839h944hd24hf0ah)
Received: from mail192-tx2 (localhost.localdomain [127.0.0.1]) by mail192-tx2
	(MessageSwitch) id 1338310107885956_29542;
	Tue, 29 May 2012 16:48:27 +0000 (UTC)
Received: from TX2EHSMHS010.bigfish.com (unknown [10.9.14.250])	by
	mail192-tx2.bigfish.com (Postfix) with ESMTP id CB358320046;
	Tue, 29 May 2012 16:48:27 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	TX2EHSMHS010.bigfish.com (10.9.99.110) with Microsoft SMTP Server id
	14.1.225.23; Tue, 29 May 2012 16:48:23 +0000
X-WSS-ID: 0M4SMP7-02-P5B-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 23743C813E;	Tue, 29 May 2012 11:48:42 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Tue, 29 May 2012 11:48:52 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Tue, 29 May 2012 11:48:43 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	12:48:40 -0400
Received: from wotan.amd.com (wotan.osrc.amd.com [165.204.15.11])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id D586849C145; Tue, 29 May 2012
	17:48:39 +0100 (BST)
Received: by wotan.amd.com (Postfix, from userid 41729)	id C4C3F2D202B; Tue,
	29 May 2012 18:48:39 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 3d52d9fe62559ed6f90cb33a4b95f536ab5bc683
Message-ID: <3d52d9fe62559ed6f90c.1338310080@wotan.osrc.amd.com>
User-Agent: Mercurial-patchbomb/1.8.2
Date: Tue, 29 May 2012 18:48:00 +0200
From: Boris Ostrovsky <boris.ostrovsky@amd.com>
To: <keir@xen.org>
X-OriginatorOrg: amd.com
Cc: boris.ostrovsky@amd.com, xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xenpm: Fix reporting of C0 residence times
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Boris Ostrovsky <boris.ostrovsky@amd.com>
# Date 1338309680 -7200
# Node ID 3d52d9fe62559ed6f90cb33a4b95f536ab5bc683
# Parent  53e0571f94e4bcc45270dcbd444c7c91166cef6d
xenpm: Fix reporting of C0 residence times

Idle state residence times as provided by pmstat_get_cx_stat() are not
reported precisely since remote core may be in idle state and therefore
has not updated its statistics at the time local core collected them.
This causes C0 residencies as calculated by xenpm to sometimes become
negative.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com>

diff -r 53e0571f94e4 -r 3d52d9fe6255 tools/misc/xenpm.c
--- a/tools/misc/xenpm.c	Fri May 25 08:21:25 2012 +0100
+++ b/tools/misc/xenpm.c	Tue May 29 18:41:20 2012 +0200
@@ -351,8 +351,12 @@ static void signal_int_handler(int signo
         for ( i = 0; i < max_cpu_nr; i++ )
             if ( !get_cxstat_by_cpuid(xc_handle, i, &cxstat_end[i]) )
                 for ( j = 0; j < cxstat_end[i].nr; j++ )
-                    sum_cx[i] += cxstat_end[i].residencies[j] -
-                                 cxstat_start[i].residencies[j];
+                {
+                    int64_t diff = (int64_t)cxstat_end[i].residencies[j] -
+                        (int64_t)cxstat_start[i].residencies[j];
+                    if ( diff >=0 )
+                        sum_cx[i] += diff;
+                }
     }
 
     if ( get_pxstat_by_cpuid(xc_handle, 0, NULL) != -ENODEV )
@@ -379,8 +383,10 @@ static void signal_int_handler(int signo
         {
             for ( j = 0; j < cxstat_end[i].nr; j++ )
             {
-                res = cxstat_end[i].residencies[j] -
-                    cxstat_start[i].residencies[j];
+                int64_t diff = (int64_t)cxstat_end[i].residencies[j] -
+                    (int64_t)cxstat_start[i].residencies[j];
+
+                res = ( diff >= 0 ) ? diff : 0;
                 triggers = cxstat_end[i].triggers[j] -
                     cxstat_start[i].triggers[j];
                 avg_res = (triggers==0) ? 0: (double)res/triggers/1000000.0;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:51:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:51:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPdJ-0002jo-OQ; Tue, 29 May 2012 16:50:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <malcolm.crossley@citrix.com>) id 1SZPdI-0002jb-LQ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 16:50:56 +0000
Received: from [85.158.143.35:57726] by server-1.bemta-4.messagelabs.com id
	BA/FE-00342-F6EF4CF4; Tue, 29 May 2012 16:50:55 +0000
X-Env-Sender: malcolm.crossley@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338310250!17803524!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23290 invoked from network); 29 May 2012 16:50:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:50:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,678,1330923600"; d="scan'208";a="26089473"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 12:41:49 -0400
Received: from [10.80.3.206] (10.80.3.206) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	12:41:49 -0400
Message-ID: <4FC4FC4C.5040603@citrix.com>
Date: Tue, 29 May 2012 17:41:48 +0100
From: Malcolm Crossley <malcolm.crossley@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
In-Reply-To: <20120529152930.GE8293@phenom.dumpdata.com>
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:
> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
>> Hi:
>>     I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both HVM
>> and PV) apps and kernel performance based on passive domains. My platform
>> is as follows:
>>     CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>>     Hypervosir: Xen 4.1.2
>>     Dom0 kernel: linux 2.6.38.2
>>     I am not sure whether xenoprof can work on this platform.
>> *   As soon as I start xenoprof in passive domain mode, the VM can't run
>> workload immediately (The VM doesn't crash. If I ping the VM from other
>> machine, the response time is really high ). I can't input any commands
>> through the console prompt. *
> Do you have the patches applied to the kernel to use oprofile?
>
The Xeon E5620 processor has model number 0x2c (Westmere class), neither 
the Xen or the latest upstream Linux kernel have oprofile support for 
this processor.

http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642
http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/arch/x86/oprofile/nmi_int.c#l344


>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 16:51:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 16:51:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPdJ-0002jo-OQ; Tue, 29 May 2012 16:50:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <malcolm.crossley@citrix.com>) id 1SZPdI-0002jb-LQ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 16:50:56 +0000
Received: from [85.158.143.35:57726] by server-1.bemta-4.messagelabs.com id
	BA/FE-00342-F6EF4CF4; Tue, 29 May 2012 16:50:55 +0000
X-Env-Sender: malcolm.crossley@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338310250!17803524!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY2MDQ=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23290 invoked from network); 29 May 2012 16:50:52 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 16:50:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,678,1330923600"; d="scan'208";a="26089473"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 12:41:49 -0400
Received: from [10.80.3.206] (10.80.3.206) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	12:41:49 -0400
Message-ID: <4FC4FC4C.5040603@citrix.com>
Date: Tue, 29 May 2012 17:41:48 +0100
From: Malcolm Crossley <malcolm.crossley@citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: <xen-devel@lists.xen.org>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
In-Reply-To: <20120529152930.GE8293@phenom.dumpdata.com>
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:
> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
>> Hi:
>>     I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both HVM
>> and PV) apps and kernel performance based on passive domains. My platform
>> is as follows:
>>     CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>>     Hypervosir: Xen 4.1.2
>>     Dom0 kernel: linux 2.6.38.2
>>     I am not sure whether xenoprof can work on this platform.
>> *   As soon as I start xenoprof in passive domain mode, the VM can't run
>> workload immediately (The VM doesn't crash. If I ping the VM from other
>> machine, the response time is really high ). I can't input any commands
>> through the console prompt. *
> Do you have the patches applied to the kernel to use oprofile?
>
The Xeon E5620 processor has model number 0x2c (Westmere class), neither 
the Xen or the latest upstream Linux kernel have oprofile support for 
this processor.

http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642
http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/arch/x86/oprofile/nmi_int.c#l344


>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 17:05:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 17:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPr2-00039p-LC; Tue, 29 May 2012 17:05:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZPqx-00039k-IN
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 17:05:03 +0000
Received: from [85.158.138.51:6016] by server-11.bemta-3.messagelabs.com id
	2C/28-32748-EB105CF4; Tue, 29 May 2012 17:05:02 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338311100!29773682!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16807 invoked from network); 29 May 2012 17:05:02 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 17:05:02 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TH4vLO013771
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 17:04:58 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TH4v9S015983
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 17:04:57 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TH4upp014004; Tue, 29 May 2012 12:04:56 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 10:04:56 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 635964029A; Tue, 29 May 2012 12:58:11 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, david.vrabel@citrix.com,
	linux-kernel@vger.kernel.org
Date: Tue, 29 May 2012 12:58:09 -0400
Message-Id: <1338310689-5967-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen/balloon: Subtract from xen_released_pages
	the count that is populated.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We did not take into account that xen_released_pages would be
used outside the initial E820 parsing code. As such we would
not subtract from xen_released_pages the count of pages
that we had populated back. Instead we just did a simple
extra_pages = released - populated calculation.

However the balloon worker uses xen_released_pages to figure
out how many more pages it can balloon up to and not having
the proper numbers we would balloon more than we should have.

This fixes errors such as:

(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (51 of 512)
during bootup and
free_memory            : 0

where the free_memory should be 128.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/setup.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 3ebba07..a4790bf 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -371,7 +371,8 @@ char * __init xen_memory_setup(void)
 	populated = xen_populate_chunk(map, memmap.nr_entries,
 			max_pfn, &last_pfn, xen_released_pages);
 
-	extra_pages += (xen_released_pages - populated);
+	xen_released_pages -= populated;
+	extra_pages += xen_released_pages;
 
 	if (last_pfn > max_pfn) {
 		max_pfn = min(MAX_DOMAIN_PAGES, last_pfn);
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 17:05:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 17:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPr2-00039p-LC; Tue, 29 May 2012 17:05:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZPqx-00039k-IN
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 17:05:03 +0000
Received: from [85.158.138.51:6016] by server-11.bemta-3.messagelabs.com id
	2C/28-32748-EB105CF4; Tue, 29 May 2012 17:05:02 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338311100!29773682!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16807 invoked from network); 29 May 2012 17:05:02 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 17:05:02 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TH4vLO013771
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 17:04:58 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TH4v9S015983
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 17:04:57 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TH4upp014004; Tue, 29 May 2012 12:04:56 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 10:04:56 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 635964029A; Tue, 29 May 2012 12:58:11 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: xen-devel@lists.xensource.com, david.vrabel@citrix.com,
	linux-kernel@vger.kernel.org
Date: Tue, 29 May 2012 12:58:09 -0400
Message-Id: <1338310689-5967-1-git-send-email-konrad.wilk@oracle.com>
X-Mailer: git-send-email 1.7.7.6
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [Xen-devel] [PATCH] xen/balloon: Subtract from xen_released_pages
	the count that is populated.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We did not take into account that xen_released_pages would be
used outside the initial E820 parsing code. As such we would
not subtract from xen_released_pages the count of pages
that we had populated back. Instead we just did a simple
extra_pages = released - populated calculation.

However the balloon worker uses xen_released_pages to figure
out how many more pages it can balloon up to and not having
the proper numbers we would balloon more than we should have.

This fixes errors such as:

(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (51 of 512)
during bootup and
free_memory            : 0

where the free_memory should be 128.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/xen/setup.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 3ebba07..a4790bf 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -371,7 +371,8 @@ char * __init xen_memory_setup(void)
 	populated = xen_populate_chunk(map, memmap.nr_entries,
 			max_pfn, &last_pfn, xen_released_pages);
 
-	extra_pages += (xen_released_pages - populated);
+	xen_released_pages -= populated;
+	extra_pages += xen_released_pages;
 
 	if (last_pfn > max_pfn) {
 		max_pfn = min(MAX_DOMAIN_PAGES, last_pfn);
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 17:06:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 17:06:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPrZ-0003Bc-1w; Tue, 29 May 2012 17:05:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZPrX-0003BP-01
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 17:05:39 +0000
Received: from [193.109.254.147:56286] by server-8.bemta-14.messagelabs.com id
	B2/5D-17829-2E105CF4; Tue, 29 May 2012 17:05:38 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338311136!11493080!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26445 invoked from network); 29 May 2012 17:05:36 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-9.tower-27.messagelabs.com with SMTP;
	29 May 2012 17:05:36 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 08041C04000;
	Tue, 29 May 2012 19:05:35 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id bnnQUK-SoZyA; Tue, 29 May 2012 19:05:34 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Tue, 29 May 2012 19:05:34 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 9AF4A49C145;
	Tue, 29 May 2012 18:05:34 +0100 (BST)
Date: Tue, 29 May 2012 19:06:04 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120529170604.GJ29157@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="qMm9M+Fa2AknHoGS"
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--qMm9M+Fa2AknHoGS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, May 29, 2012 at 04:40:19PM +0000, Liu, Jinsong wrote:
> From calltrace seems it's related to device_initcall. Borislav, would
> you please send me your .config? I can try to reproduce it and debug
> it.

Attached. It is xen-less :).

> (BTW, your kernel pull from
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git? I
> want to keep same baseline with you)

Actually, it is

 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

but it should be the same thing (symlinked or so).

Head is v3.4-8261-ga01ee165a132.

> Attached is the .config at my environment which boot linux3.4.0-rc1+
> as dom0 at Xen platform. Under this environment & config it's OK.

Why does it say "linux3.4.0-rc1+"? This is old. Or do you mean 3.4 +
patches? See head commit id above.

And you need to test baremetal too with your patch, not only as a dom0
kernel.

Thanks.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

--qMm9M+Fa2AknHoGS
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="config.gz"
Content-Transfer-Encoding: base64

H4sIAAAAAAACA5Q823LbuJLv8xUszz6crdpMfIvHqS0/gCAoYUQSCABKcl5Yjq3MuI4vOZY8
k/z9doOUBICAnM1DbHY3bo1G39Dwr7/8mpHXzfPjzeb+9ubh4Uf25+pp9XKzWd1lX+8fVv+b
FSJrhMlYwc1vQFzdP71+f//98qK7OM/Ofjv/7TibrV6eVg8ZfX76ev/nK7S9f3765ddfqGhK
PgGynJurH9B0ACyh7dlpdr/Onp432Xq1+cVBXJwD6f57/8EbbVRLDRdNVzAqCqb2SNEa2Zqu
FKom5upo9fD14vwdzPHdxfnRloYoOoWWZf95dXTzcvsXruP9rZ33elhTd7f62kN2LSesYYrT
jtZCd60siGH7oWkl6EyLVlHWLYih00JM9thdU6Ric9YYvUfaGbntoWdysG2XK0EKSrTZkyG2
YLLTrZRCOQhtCJ0ZRaDjEW5K5qyrYCENvTYi0riu2/1Hw1jRFTXpaiKxW3f9FqcnFl2xZmKm
4xVwTRA/RuTtJArsFIPJcZijFLwxTOkx2XTB+GRqAnbW5LpfnKRdWVBX7tRCs3rXXEveIOsi
ctgTLul0QoqiI9VEKG6mdTDSlOiOyrbjRYU7z01k50jFcwXsArmryPWYwPCadXN9rYGySvSP
rFhGcCDKpK2MHT/WlNApbDFvYPf5Z5bonLSw+0rkLBANzUwrO8lUT6UYCXZ8i2J1Dl8lV9p0
dNo2swSdJBMWJ+vnw3OmGmJPtxRa83y0KN1qyZoigv4sYJEgX2enTpMW9JVtOOrGSrruhATu
A2cKUC3AJt5MUpQFQ5HEFcAuCeopKNQYupY+bCSVg6x2tKzIRF8dvfuKuvbd+ubv1d27l7v7
zAesQ8Dd9wBwGwIug++PwffJcQg4OdofjZkVRJRCoiIHoldUuIsoKiiRjGhnA3ZaFeQNVNPR
+4f7L+8fn+9eH1br9//VNqTeNXr/W6Bcrbhx9albCOVIhQMBU/JrNrFW6QFn9fptb1zYEgQM
5t4YUrm2AvaeNXOYOE6phrN5drpT2AoEqKOilhyE6OjI0aOkmoOqARlE8I45LsIemAiH7Cpm
IMKs6iafuQyO04DJAXMaR1WfXf3oYpafUy3EHuEPvd9XZ1x31iEBjn4Iv/x8uHWMJVv9NBXa
oARcHf3r6flp9d87husFcfgESnDOJR0B8Cc1zubC+efLrv7UspbFoaMmuS5QdCmDjSeUet5I
iOvmZ9G1llPSgKaNLNQQPUOj6NgoBPU6fzSeRS0RGh3G6q2UgO1MH1EFHBC9PRzwe7Z+/bL+
sd6sHveHI0IeGmY4ZYH6d1F6KhZjDGph0JZI4Z9XcL8oqFMzBXNRePpUS6I0G1rYKSvaZno8
ZaMYqArauhyTAKulQXDMWNO2K0kDHuDVxblj7Hdg0BEkweyeCExSI7ppXMS3E+qsIxUZn88G
h/JHCLFi5fppIGxtCUzlpbk6PfF2tgXvloBRAx08BRZal8/xMSdKtFK7TOlBvWmKTnwgKGH+
n5k6RFKwOY8uDTQ++AGO2OCCOsmLARNOEMGDuG8ZzAbPlop268aFw9fgawFdByc2ZnsGKlDz
5Wg8y6w9tCRcdT5mP1gJzjOc4AUvzDQuDMZtGyXJq9kwdJyfU0Zn1mHFBRmhYkxFVQjHAfTN
fuItOBmN841qz/0GZisPgHvgfjfM9N+7ufRyhNYqPV9QkyV6N3DAKDip8TWj+3md5AbIjrW2
qohtHd05WagbAj80VNJwWBvoCwI7byHWwsc0YsuLkwtvybbDbvCmIy1mANbXtcO3LaTz3O+p
MLJyIxOpYE+d8+iFLawqQbyVa4uoljPVSQhhMCINzHcSm4N71JWtO5OyNczx/ZkULlbzSUOq
0jkB6MYpF2DDRhegp3DeHKZz4TEbvfmCFSkDhKew24WxVpEPwb9cvXx9fnm8ebpdZezv1dNm
nZGnu4w+vz5tVi/rvYb3u3CBMR0xuN6IhkPQzWvrgUemN6/7Tt1edtvBu08tVzMHpqs27zv3
lAQ4hcRAkD2Ln5eK5JGhsS/fXomSQ0QxifkKaEWsitCBWIi+mSNGW0jX1LzfWUdwrdV2+vij
rSUE9Dmr3A5MSGaHYmXJKUdmgWtegRChpqDoATkDKDZqbNUQwFvVgMU0vOTulHpHHg4CJgmg
aZhtmEXnEhtn4EccbmMRy8apELMAiUkIYozyJ72P+YFHU1ZJTzxsQ8UmoAQgurRJk4EbHZE8
NoDkO9FxcdMFSA4jvQUIcDVfApP3aG1HDIh+gr/O6UGxiPEmJglDzD/vZUmTEixyLTHDEfYw
iEOfa7Mxb0AxtOujogSuEO04fl8QEDhRFdtT1jv7fXBHxfzdl5v16i77d69Ovr08f71/uH/6
0+K3DiiQDTFH9Hx6PjLuFBVTpoBX0UNLct6UTggF9r9GdetKnFXJGpXO1fEuMyaKtvJtVA/q
/V9gDInpz4GmbRDv5Nncpjuk2/MQeerokofmWtFdgBo1fRqTfDWhU944+5L7bubWoOd6EgVW
3NNze/tv2ERx43kJdt/kzcvmHrPBmfnxbeUaAaIMt8keUsxJQ31fjYA5bfY00YULXb5BQWo+
IW/RGKL4GzTAtTjFFq8LofcUftRZcD0LzmIN/tKy020eaaJFBRPSNokUQbfQckEUi3VbFbXX
ZJ++AEQ6TNCTt9YPMbyCCR8m0u1bGzYjqiYHGclKHl8BZgIuLg+2tZI8aJZdVCwyffvXCrNQ
rgPCRe8bN0I46YcttIDQtfIOyRZDy0++Z9KnN7YNDmRAEi1xAgdaDeNeHd1+/c/RL0EsvDUP
nhqyeUxmM9tgIa/D7PYhui6fvkn6U/39fzrDfMBPE2pQ7m8St01k/DRdn4841BNQREK5sAXm
O36G45bup4neYOOe7g02eoQhGyOk/dIjjHGwB1ns0sVZHFD8BIsXYGDYz/C4J/x5qje47BC+
wWaf8jCfe9oko130QU57hHFWhyTpzIT1fnrpB8MsFo3rfQ55pK1ulS/Pt6v1+vkl24Blz24g
1Pu6utm8vrhWfnsv48anMAmA6qkbHtjsm+NK8snUZoRszKPfuBBteVUcJgGDC27GH617aTq6
sqmlTVGG99RsaVhT4D3WEK4nrq13d0UQXQt1jamoqnVzAr0NETU3wEq8DxkuNr3AkSgy55iH
amGTYrkj0eVCGC+Chw/D3KXVs0vPg5Saxv0aTFqcJlweI+ooZsdf2SY4YVeFWZzhBrJPd164
JKPQA4HVSbrBkhSFT72Q9nZId24IuB2+spEUFfLax2EoKCGo7BN1uq19tNHB1d4wz6AkAcsA
5oHwgEtXt7W9IivB76yuMRftEFj/i5qq1s6RQmqQm37KYzCpizGQ4k1X60aFkpkwOWBhrG7x
fh/CGmdVhRsyTsCfAi+jv+nf50BIBYjrHhGLJBZcmCp3/SMgHMJqT/DIEk5ZTIrtjbB2WNQf
Dl2b8LzU3gU+3jHYi0oIzzHLE6RYRhcGjYi6ZVv0XFTQCaw1ctmQEG4b9GICIJAULrZAT3so
pgQoVZv8zJWYscaeX2sfEiPUdKSDANTLSLqJLyxbIF7EgKatIije/MGouXp0mHsZK4WoOVUC
i22ANASFgrtHeLPZgzH4t+qhJJQFc3IPhj1ksuVFkEGQ02sNmrxQndlVFXnFPZiciaILrmC5
3STHhIabN29d6wTTDiDDBT+hkgcYm6fGey2wlGaK6fkwcY30eAqjetw29hVdX3NgrRBeibCG
RGogdughSgjxrMJ1DkaohmHCJNCACi79evbi7c4MrUIHjoDTNa8qNgG5H0xWNydVy66Ov9+t
bu6OnX+7s3toFvsl1KRpSQwTlJCAIjNcYh50YLGXWNuuh2nmZt0cRi6Ngl9iqDn8h9nKkNd7
Cptu7vrZys6ICcPNPtDXeHpBksUD2yV1XrNekrmmRBWR5sN6R1cUPnyYVwwNvBBz97ICToSt
Stn5Ou7qKvBXpOmDa9TZO5VtQ23qpydqPlHEBx04slvvsMPRr3bXoTlodlc7WIfIgOPTaq86
zc2Q7pMMuj4QUdu97r3BQl2dH3+8iNf7pHy4EXyfeVzA2dD2/gr1ajzx3+CmYNZ92k7YkFl1
7pnHeJC+BbnWP9kbiFEx574LSytGGutWRQ2lVbToC3U5F1gTo1QrExmW3p6BX4WFg2LhWO/a
KN/ww3enScMND26ena76PI3LfvDOdCcxyWUnHCp/WHEhHNXASu7dXJW806aN3s8witLq8YX2
iX68poD9EvH78enn7uT4OHYX9rk7/XDsCcDn7swnDXqJd3MF3fgez1RhjOTX8CxZ3IOnimjQ
FW3Uy8KTx9FbgYUqA9r6xFfSiqEzY3zFt2tk7wHGjbbqBXRB5N5sXmgRn2htU2To/FSp8rJe
Byf1W5wmVGbWwwfXH7xla36terV+RB+1Pv+zeskeb55u/lw9rp42Nm5F4549f8M0tRO7jqoS
p4x4JcdDOeII4ETKu3i27wUjoqrKQez0GOlrzRp2rXCSofsqNURVjEmfGCF+TAtQhS6ya/hk
7eFH158A26bjD2SMgQoDzu16Y/f+4BQhlfLcvDTEj1FwP/yvcMUWht5KqaNAcFQWvl2wSEb7
VZUxjbpr3t+uBf2SYH5dTgx4QtchtDXGT11b8JwXTKTGLEkT9FJ4Bn83Maa1UAHcP4/RFh2Z
TBS4b2bUGD2Z2nXAXDfXXwFttREgMbowqXXkFQg2ln9214yoq+Ogh7Q89dOluMsiFXehpPgx
bj8tAfEbbyJ7vWVMryrS4+pcp5GpMiCXJTU4hOIAWT5RJo0lkvH4fUrJR7dpmHMpX1b/eV09
3f7I1rc3w/2okyIA3fPJTxogpNtq+b1C3mKwbjGusrcUW+dpIub29hmfWDSU/XwjzMXYgqd4
hdm4gQAnFMYoohN2CQGH/oh9KHCo82Dq0X4tDaqNROLWI9wtKcLrN1dwaOZ2n79fXti9/hru
dXb3cv93f5fluXCS2oQc9p44P73E9iR+dGvX3IhF52cNbU5TQvSlDeuzToo3IulEyvM+41r7
R8FOdP3XzcvqzrGwiUEqnif47r9w2L25QEZW4MozlUDWrGn9jDjmBnlQxWtnVK8en19+ZN+s
g7C++Ru47U2V/w7uXbxp/rreLi77F+ixbLW5/e2/nbtuyv1apD4Z4cPqOqwitZSiBvXmZRUQ
TJv89BjWaIuaYq4f5QwjGS9kQiAJ8s0AAquo4t7l0CAd0lgCbZ0Kv5GWkRvnMcE2gTFuHD2I
EbK4OnJXJ2uWetVR62BfeoDH6QNeEGBV/x5k65YmngZY02ZaJ2M6NX7tNFJ45eMI4DbJ7I0n
FU/ORRLNi8ToXPgZS4QF1QPDCy2/4snmw/zSNoppiXiYM1hcPAHROlLouuBidHzY99Xt6+bm
y8PKvjfMbBXhZp29z9jj68NN4JZjzU5tsObSOfND1V4EZXd8jxiCSKxHldy3A5j1wkhqZ2CQ
vPf5dbrYiIg2djKGEWvu3ihwcnY6ZOWD+gaLCbvytOQy+l5yV+7gMwKzzS1mLTGGq/2s2PCm
Imw5Y9d6BLQrxEwgnMcZ88OLhu3KLJrV5p/nl3+jfRpFUWAjZ26dOBawuCvHb9CHJKYplqVb
HItf1u56VgqBus1hghWncTfP0vSZKZYmQD8IfFdO45uN9dXAo+hFrLs+Lvtspf9CE6C7uMpe
CHiLAGzJc4iEQF3ZZySxUeQ+C2qdOa9YvO90oCDuA8wdbs5ULvzcEOBkI5PL5ZIfQk7wvIA0
LxOztcMGw9XuPHcriXcgea3rbn7irWUAnnruvpIxvaevGxBoMeMsKJGB2ZPUjT9em2mZRsLR
EfUBvBUl0zZN9K7GkvTY0ZR6KcVsRZ/aE4moISQejZWizBkzqTlVSowmFB7KfaKSSnRfJzuR
jqUntzS0zV3Ds9WtW/zV0e3rl/vbI7/3uvig+SQqFvMLX6TmF2gU5yRx9i1Bf+LwhqBME/Xv
FFABdEW0fBOZAn60e7YsBOQl5N3FQTnB0WouL5KbdpESo4DqoJxdxCQqnHsoR2k8Ss94mXu8
5fHw1oMkEsh25dr/UwBbWHcRfUBi0Q1ehthMnrmWbNT6EJ8sr9PaJiC0i0ipPKw2wExyTRKP
A7Y0cnptcxWgymuZuqEG4pJXJvEuCzRdQWlKfjpNTRynivjyYP00Uf4ar/KoThMj5IoXkySP
ukLHX5HOK9J0l8enJ/ECqoLRhsX1XVXR0wQflqmK3iq+QcvTD/EhiMyjCAY/E9NawHp6vRJ3
yKfJlpwxhpz4cJ7kYvr9WUFjIXLRaPvQDt8oe/XZsL3EVljHK6gla+Z6wQ2NFZgp6bgYqrRv
Y10NsfSfIzb4ioOLyOu47WQ+hY8Fcll2f/jqYACNYoTBxcw2q/UmeBOADJMzM2FNkp9gU+x1
d1psFRbHi4YnL4JIrUgQvDgFM/GhuSripyFPJAQhPFkqGXvchP6hCh8dLDg+qdfxI7/gNYkf
EFXOeFUlefEx8bSR8Lj1pExOw9TNvsOSjvayWP19f7vKil0qa/+8//52AGciDCTa/nFXX2XU
WSf36P36y/3T+7+eN98eXv88ctXJ3NQymuUHpdwUpBJufTc4BrbvkqvaFtcHJYXlwj7p8Ioh
t6S8Gd6jOPeSS7C3OwrvDwn0j9kKcFii16IDms2Vv9EQtHVTMH1qznVCQJ2yvOE5b2z1GODr
KcyqwIfIpa8t4EeTvgqtTVwjSXC/RfR5JsQWDo+b4alyB4ZRDzU420LSzfPt84MbNDbSvwMa
HprE3p6UxcGnqZgD0rqA6XN5drpcpl/1yk9d6rgOaMq1PkSD4xWEfrw4PkjS1qw+SEDFAkPx
OvHOoSeqvMcLLtQWONjyuKvLEE/VtTRiaNufRpUX2d39GvMvd9mX1e3N63qV2XuwUv9Phn5e
9vyS7YWjn8/D6nazunPSMsMATV7EdqmZ1+zgmvXy8jDT8gO8UKQeswKAAxdOLmI4+xb55OLs
8nw82jIR+VIwFDVaG1rMi5T30Qk43R1LPDLfDjE9LLe4K6MU9f36Nruz2tNLTWvWgFrQ+KdX
zqr58WliZsWH0w/LrpAi4ZfkdUd0nXBnSJMqCO5z6jUvOvD+ky+MuKDnCde0rG3yLd451R/P
TvX58UncQWtoJXSr8M8VqZHS21tv2fEqbruJLPRHcMdIlQgMdHX68fj47ADyNH7ct7tigOjD
h8M0+fTk98u3SX4/TGLX8vE4ruOmNb04+xB3pQt9cnEZR80Hi4h57sS7rryWx5cfEnlprNls
475Bq/Ou9z5B05CP5wkG0NPQvvRZYwY6qs7Wr9++Pb9s3OPQY+AknsYlbsBjRWMiazBQgAN1
cfn7h0MkH8/oMh7I0/z3k+ORYNt5mtX3m3XGn9abl9dH+1B+uCHbvNw8rXE52cP90wq18u39
N/w1ddo7fjr2r8jDZvVyk5VyQrKv9y+P/0Df2d3zP08Pzzd3Wf9HmdwOCYahBD0jWaWe/fPC
j7uL8ao01XzQTs6u7EqbNMdEgRNRENAY/UvtR5fKLQCHNoVfi2BhZhLXYP/H2LUtt40r21/R
40zVzh6SkijqnJpdBZGUxIi3ENAtLyrFcSauceyU7dTZ8/enG6AkgEQTfshF6EUQxLUBdK+W
Qliv8qy0XYpJcbuwXVY/Wei2tMqR5Teo9b//NXo7/7z/1yhOPkAr/95f5rh5s7tuVCpxk96K
K2716bjm2fQXMd6cQDVNdMuN68tW1iLEa7pu5EnIKd+WVO3grTQoyIL36jyvVivqLEMCONr8
MH4sYypzZMiTMGjwW+WLS59/7fQWjtYRrSe/+aplrATUizL5d4cFQOXJOJEnSmATA/8MfGJT
91/craZ9DpuJnEYkA+1T8URyqWSso4XflAvj4FugfVuptjQNrY+0R/+ntGmobDs2VxyT6uKq
JMbPT28vz4/oRjv6v4e375DD0we+XI6ezm+wXRs9IMXHt/PdvdaGMtd1bNyoXhOt3lQmDCoi
9sPgQCOYtJDG7GgMz3JzGdC+GT7gOg/At9x1P/Lu1+vb849Rgsxo2gfeVrcEOmJC8KbJt3/i
1HZKFe5AFW1RqIlPFQ5S7CWUMM1kEVstMy/Y5IuKnW2syP6z67Y6THiZbjh+qcZepjzjVK58
t+/Bt3lGwXcZ68F3mYCNW3+ZqZ2VoW1NsZNYX6tERWI632FaI6w+2UoooHLr/jOijsLZgdge
AyAuknByoHKN+XQaeLo9fps49nqvksnhwJuO6AfBaUC6ZA0tXddiHIbD8qEPRfkhKB2AMS3P
RBT4LvlAAT5KX6OBAhSsgek5pwGgP8TDgKz8yMbBAIBHs4k/pZq7ypPuGFXpsH2iJhMJgOkm
8IKh6scJCbKnAXiGyY8D3aNJYlrIYz+wmrG30nWnD0tXgUZ6afa+FiaUkFD4a8vkYgpFxdfZ
YqCqRJMt85QccZ35Rqbts3JRlf1Nd51VH56fHv/pzjm9iUYOcq9r/WL0PWu7q+4yUBUVta9W
Lfa561tgHKd+Oz8+fjnf/T36Y/R4/9f57h+bCWF90QCI1ag9XOwVvb+FuhwWJn1V1vAIVMR0
SSoMOzhIRi8B1hhJuFPweim+4XDSpnnWskjZZGrcHCsjDbT5aYX2Q8/kZlNBAeSF9nFAr08M
+7iEtowDkTyf0711T7xkdessr+ch1lmJa/UuQ84fO9VYgmYvqPN1nsUvtp8DFJKjcsheFyCf
06Yyiqibneh5XdNPn3LqfTcMsXmS9UUREIJQ3QtQ0mXOOlY7uhRmpw5pkUbS2qxS0du/X1n5
eMeCS6XgpsXOHavEy5jMDHcgOu2fTCvYAfZ56Z9+EHUkijixm79ll6aIcNI0Hfnj+WT02/Lh
5X4Pf363HZ0ssybFWyX7N7RC2HNwwtoiqCgCpazESbu9+rDpjbDutvcWJqllS6x4O22qJPes
vUm3RUGc6HzagiJI0aDie6xNU2RZ547zJFJWUB+Jt9z2T8ONdZUbpPmipXI0blAhCa01ansu
JylHn4cG/qPfR4mt0Rt31Okza7oX7ar58XLvdvp0WyIu1YeeIoadG5ZGnUycxnFlzHC7qhGp
XUsRx3pdVUQdXfJjCathXTB2uipJerItMzurqpZBLtKuE04Ku0nHU+ZuAH5Gvu+T5/g1VqTV
KFPPE+ut4uamPQ+InXruk4KUlDi+SoWLMBtoMbFtOxflIdDpAGJ7jYlsVZVjHYgPHpyliJl5
hLgoGTkWY5Yf0oSdDisYVMM5x+s05yaFaZt0Ej7F0avE42HxxCHeLR0ly3hsUqt2KvQ2bZVW
yzwtr8QcDsqMMM9qx1N4EGqsyXmwocjbEsKIXssPTZdTQ4FdpIGz7OmBGQoIDwgzit1h5SjA
2th7r2u7b672wIWf4tYG9kcw2budQ8ufGuFFtloYP3ZLgzfjsLJfcKAgpSWuDpRFwfRgVPdn
0qao7m4CrqKPhaNS2x2x0UQbwsSLb46OGa+ArFhZGcUu8sPkRJjnSBmhZenZwrbebMkNj6Kp
D8/bVcsN/xxFkwOxHdNzPjbGGo+/fY/4/mXK8tIx15VM8LQw9QaVZJ/veDSOAkc/jsZzz5wA
go3708pdlpg7XcXP31nS+g9Wm44fzPpE9WR0fozJiVxZ/0Pbr+z8iNo7P4Huam4xP+VsfCAs
Nj7lMTWbfspp+8RDWp6cigA69YjUmDgj0J0Jc0wUicrm9tNEfji/zRv6GzphiUJv4ugAPE0N
ajf8HXne1PFUljOTRzOeB97Ydz1lXo9kfE7MLSDy54Ro6ahlXnCjEtI6i33qPYCdT1yDhAt5
+GeUXRRI3urs8NxUn9esro8FdANqsVwRFjwx4zwriYGebYcLIdL1VhgDT6U4njKfIHcgF3zn
7At+npp1Z3Qa0h3SRFDb5GWS2L92ndXEVlgauC4IQox6fVQcw8rgJctGkHK5VbacXKGDGiLs
GzK5sJHyhMF2E815CPknnLNJaY5eUYQszkDbZaS4vdog5djdSeFFoScBWVznW06K29mNlCsm
CkZXGxegHh3skyGoxjDYfM/36Q9QSzkpXkqedPLhBHTvRSYWjGJ+q4lIFzlh0iWa3m54yxdX
g2P29fzzrdPp0HAlZiImrVo2bE9tG1FcpyvGt5yUNyKPfMJiCOXwh1IEUZzVa+rt+870oCxp
nqTv5f4BDYZ/6zvz/T56ewb0/ejt+wVlGYl7wgh6Vxxwo0zYTyX94mRPP3+9kYYkWVlvO44o
Mu7jEokeSGNoBcLTkyTdDSAUadamMA9gVKd4vX95RLaY61Xwa6dUp6La8lSZqVrTTzVn2wMp
5TAuQD85/Ol7wWQYc/xzFkbdwn+sjp2vM8TprmNBe0nuHEZrjdCz1Dae3KTHRcWaxKQqUmkn
ltTTaRQRQcMM0NwWqOUKEZuF/Q2fYJ4hDOI0TOCHDky+2SySYYiIWTjxQycomviOL4bBMxtP
5w4Q4YN6A9SNH/jDmDLdC4qI/YJBBxDcezlex0W1Z3viCP6G2pbOiqxgZE2GIQfRyaU/EPTY
CZLviQeWpBPLdQ+WWzpuNODfurYJ+bFkNXoBW5/MlunCiDlykyGP0TXwhxad4SJPYeoVKWGd
pb0/xSMLYmujva3axutNJgZgPG0yQoNVAFBy81RmNABaxMV0PpsMIHYcNmmMDZXkUqddc0US
hyswPUvDRId+mpsBiHT1E0MA/G41mw6g0H+/Nzeuzy9fpU1l9kc16lquQaVrl2Py5ymLvEnQ
TYS/W49MbVMnHahEFMQznzL1RQjs/KETWInuUAwatBoSnccath/ItDUD7WTcfTMP8MbO7oLC
itRqqht/P7+c72DV1IzXL9qBQV4g70iUt6riSNBG4U6cepcot7QuQdh6b0XfkpGhwYxQiEwE
8+hUi2Mn/tSuRq6QixNpJu3tKEtzdSMuMyGaBzRrzWbPOAZAwnJBOn7HxzhnSUpFgTkwddqZ
E6erEsELJJSriFhwZdy1nO0Ji3pQfCIsc8vqc0Wcf2Wc2Cae1klOnCydVoSfQhvr2m7/Cy25
Udyy2l6G5Umz69sy3788nB/792BtA0aK+7Gf2O90sJ05pazJjzFe5+rMtvpjBkOQIdB9qHRB
2Zy20JZcC2uri1vmvxYzsUEsZK+atGAldGOkybHLpReZSWKji5VlBy1v+NW6sXx++oBpUPuy
0uUNpOVuun28WCanNd/So8uMxKclao3TzfQj0Z9aMVTlIm0SlqdDqHYC/SjYCqv9HVAXDA9e
XZgDBpo7wMRMI7O6yE4qeK3N/BcmxS616jVJke5lVWfc3OQ9WnILhhWJA7HLmO3Uaqccu24z
5HgeTgg3njrHwxz71LeniKRgRaS9MZFE37xvShWDMOEhXK4Uk66sMoI5A/7UxNSV5jERjR6X
oI6qABVTVbWVOSXQGYeC+CTVajPQGSZfuX406w1IxUjB1BYZ5ATdC0hax1w06zJfxPJVpWif
1c4SVMCrBoXMabehruzt4hEvMP378+ubZnBnO3NQ2Wf+dDwlSyzl4XhYfhiQF8mMsA5rxWgm
QFQKaH5+t4ozykUDhWghOCGlpby/CUg5z/h0Op8OycOxNySehwdS3BmkXVnd9Km9pE0h0XA8
LvoMl9g7VETo0RfoA+2jo99+QGd4/Gd0/+PL/dev919Hf7SoD7B43H1/+Pl7N3dQlLJVKX3X
KD4yhKWrwBOk9OraSCIqevssmzNmw54OEgSK2VAZeVYIgv8ZxWoBsLCqgcL9BOspYP5QI+qs
zjKpBkmyClk6tgH9rtbZG3YYqzVdbYJV/JTu6C8WGSgXnT2eLE319h3Kdyux1gd63UcQboWq
9dHTnPYqvUJwcnJAFsRJLWXqt+b9bl3DVG1RaWpzBr9C/0Lj3fPb80t/dhT16O7x+e7vrqA9
xDVP7EYf/iPz085vbxm0p7v/7jBeqyCddXsJsKqhU5hBH9sk+/mybSKUXI6SdTE3A61o6UM8
i3iTglBi2eRiQNyyNJ8SHlAOtgbEd0OCQQhFJ3yRLz4Fs/96wyUp2MGfda6EKVBAWCmh+Sra
dhyiuTcexOR1NAtmgxAYjOPJzKo6FlWp28LIBKS7JhQ+lLaDc531D9lL5U5mGfJXH2dQJbar
bbMd9oS+oMbDsGQ28SduSOSAFL5HHMeamOk7MOE7MHM3ZuwszzyYONzJEwHf7rsxYeDGzN7x
rpmjfng8Cx31vIlESp1RXCC+58QsWeFP1wPzyq1MC9Jo4QIRh3q40AkPHRwC6KDv+PJsugFl
dDH8WTM/8qZLJyYKlisHaDqeTfkwBvRcYuN3gaxmoceGEfnUj8jN+RUTeA4MqgLOVs9ENBsE
fIwnw11deq9QtnMXTBGOHYCZEzB1AWYuQOQAOOgoAOAqZOQqZOQq5NxVhnngAjgKKeKJP/Wd
mMCfujGTd2BC31XgaTB5D2b4XagchF74DpA/d2PCyIUJw/HcjXEMHolxEKUUcT12rbWliFVk
i4z2vm6hdRzNxqHnxEyCmQOzjKZzn4iWQu4g2qf5Wjg+aWhjf8UUReho8aRI/dl4+FPSIvYn
3tiFCXw3JtwHnuO7Ch5PZsX7QI7BrmCL8Xz4+2BVmoaHg4Vgyw4N3pHd2KW0cd/zXcofh62F
Q9GEKo0cPUWsi9gxhkRRgw7pgkwcTYcQR1nQejCut851F3BhFA4rAjvhBw5ddCeiwKH27qMx
7PESJ2b+HkzwDszYDZm6IPksmgr+DlRYrlwo6M7r5TtAqQMlbQd4Eb/7xO/6oIz149arxcbz
re68t5hFmumZiNdJZXOB5WhuV3GeqfA36nLv+enh7nXEHx4f7p6fRovz3d8/H89POncJ12I1
YBYcWTHMpDrO1pU8e7jm3pcaV02QvJiMZeyFARZdhFEOwlImryswF3mnZX+9CdJ8seOC9epj
8fJ8/nr3/GP0+vP+7uHbw90I9hEGkQY+1mej+/X49vDt19MdHiMNmOjihR15EofCKKqLKCRo
yxDAiykxGa1FLONexPZxJmoe+t70QAqn3ox+rQQEvn3+F/scVkmP/jIAoFn/8KdzmEVpqYjH
02g+UMCCuMqvC8liPvfG9MMongakRY7MQtrnEVtTzEMeLxGnGlc5sR7f5BFdPdNiuP72RTTx
vCHx2D/QVkctZOq5IPP5hBSD7jf1wrG9B7LFYeo5OoHkdCGYqeuYZPTCR5skHlN8KCj/yMrP
GK2cYi5GzO4QTekm3Od+MBsPf4AaSXO6HZp4KqbEfrFJVxgQhWKdTRNQItqIPX2Si5fzz+84
l/fMhNlKjxa4krHU9SjumNRzDsREincEZfZb6t0KWYO0BaNNkM77KwyZ64eaOTQIFelh2li9
hhI95gn8OG0Kfomtrh20ogRJiU9QQcmVbNie30mIovusSJb2boPCxjc1UV3EklQe+fbSsKCG
4RRIymq7S9nWes13/3T3/PX+Bcllv98//oT/4UWesXRgFupWeuZ5IVlcdUmW+4RtgIREhEGd
FM4J5RyFxYqRMqqzoIy6LZXPsR11SiQfLfargdZZFWzq0V+zTQi3JSHD5GxzviD8b1cMo8/Y
OpGMX3mqtgKNIlv+Ac3GybgfulJjY8+0u3iAgkLwDIFoUVXorMStw/4Gi+HPMsvzRkWxNwVx
VR+hCKwnyAqo+EWeGYHvW1mDFvrZIc05snovjkQoCEAiH/fl3UOYSzGGMNcSUaAlTL3Zqjyl
JUyF5WCROhYhunxfiNMKw3TQEA4dgLrYW+J0hgtJSj6+kNE/O/fC2uMYJUTNYzrPyeIkslx+
v1DWmHL8L1/OP+5HX359+wbTwveLtYhFucSmy5pmS5aqLgJKFB8XaRNQftMAYA3ZSUHnzKE1
yEbLCi5IIdQz4UyAwpST/SVdZpSopG5qQLZe0T3QT3zSyRazlS7ElBQD75A1MJuQFZunkTcl
TqBlT4P5hSySWm3IhhFHP4gGpGRNjEkJPVujNCP73o6uuTKtYNxnZP/aHJuKko2ppRtfWVVJ
VZE9YSeiMCA/VMCuNKX7NBX3Ro4yMtOYNQXlXgriVVoldN0WPN7SH0utdLLqG7FlpLhIoYeV
VUG+uVhARdHDQjph8nVKuBikh2NZ8X7UZ+0Sv50rT3mcDKxzN1ycMww+IBmSLvy58fPT6/Oj
5In++Xi+MLv1lWHUOfvW8CuGJsm8WiIpL/IJ4ctccsWaH14NiiXjksXquWFFqiJMvEt4sReu
G1gO9aDaNmxTiV4AxSXoJDZrSEw/Rf+NtBxVih/ekvJqZXiN42+8ytseMCaMvQU1TG8670Pi
fCuCYGIcB1Vba+j0dXbtEHqMeMNTADFXgxPRpOXK6uAOsIbtL2sq2lvpbn16bBW+sL2itsYT
bcHKmVAdqOG50flxBKl9k3nMiE3Q86mbPYsbqzWplOH5ovH9p0Wab7LSTMNdlN5dVFoGv7qJ
ihe1WwSon1VVNhlPCSd22F/B9mu5JIqZft6kx26m6wodrMkM4Yme05UuPqbdDLex5MYgc9yz
vENaa4hXx6YXkc0AiH1Wrq28Aaq8JQfVrBPWHiV53DvI1aVQ5rbZLamn5KOugl+Tl0tquGXN
tljkac2SYAi1mk+8IfkeZu18oEklhwTOema5YSKA4dZvbOkXRDvRIQQjZ69IKZKl0Z2lBh0T
+nheUTF3EZMKlh/LAw2AAQHrDC1vyFhRKG6qOCZixMvJimVDX8BZgYQZtBzGKi3E2OCkU5Ka
KkukO6A7P3r4gbbO6BzQJ+pjdRzMRmS7ihbCpipN6foVa9igiAJ218StB4KQVXOwCJ+PCety
G2tTsjTeXDN+qta6M5EhSmnRoSfqLUKS9kDemhJ5rOPEkBhxfgeuNWQmZQkLYpyi3/LpRgR5
jXtz/4hXNM+/XuU6Zgklr16Azy1pZgUFUMoUDTqWDE+/QW2trFSVqnagb5ZJ9xMrQX1gYc6f
mLSXNbpgSysDxRr9H27E+5oXvklEEc4Onod1T7wYW1Y2zQ/zwUu6apaVnUIWgSmRgUxv8LRm
vYXNA01IIYFCYNPSkQ1l7R22ge+t6+7XmPQWvPb98ODEzELPiRmHwUDNVcSHX9Lxqo3+lgto
0P5fr183Uua5kFSCeBaETg7xu8FF57aoC8UjGNCuFdoc4VuiInge+f5gJTcRC8PpfNYFXXt5
a7AeP55frab+cm6I6SqBtaukplU5xhL6WWG5vy4rkf7PSH6cqBrc93+9/3n/9PV19PykApZ8
AQ36FgZm9OP8z8UG//z4+jz6cj96ur//ev/1f6XNvZ7T+v7xJ0a3H/14fsGYGd+eTRW8xXWn
iTZ5wEReR7X8Pk5cwgRbsoUTt4QFlHKs03EZTwLPc8Lg/0w4UTxJGm/+Lhhxd6XDPm4LSaHt
BLKcbYn4fjoMQ7uSGp8O3LCmcGfX7k2QaT12t0daQiUuwmCIH4hRq1aeLbZ8K60nbnvCH+e/
kO3HElhOrltJHA20q1SXO/3tmnWHTNj8nh49xfUxc70nnk+LjLA7b6WEJb2cUJKt2B7oqk53
PKVHWpNV04EaydNVJUgDF4kYmDDzgeXx0lHi4ywmbIgVTNrI0AtfIuk2SPlSJJmkK6HrD3fn
CSygFC+7rMUMdKTF/zd2LM2N27y/ktnbd+jUtmzHOeyBkiiba70iSraTiyZNvd3MNI9xkvlm
/30JUpL5gpxDmzUAkhAfAEiCwG6NL4AU/1SIAREJYy2s0Kth+SnFnlRiPHAKeB80YgLA2Vqy
Rwnumori82RN4rUnmDbYgBAo6nT89+HjCAGjfp4eINfb48fnyUgglBelMsUiyvxvbpu9XyJk
GeKvQDM8NAqY1mLckAvuSFjcnIUsxWL9MfH/nIXEe2xFxeaklyrVERY+yJT3z7/UO009lrig
VLpMS5mrYBHcEWURtRACIhr/YUMz1eizAVX3/B6Yyn4F9dDIPj2UVPR64Q1jLZFsNbu5Xhys
illghg1WsJkDOwQrm2oxd0suPLUtpi7sOtBhVR216omeBpA7HOPBuABuorrAsr8A3jEw1GhC
oDtPzDMoIWyvBK4eE242L+GQas8DtqKQ6fC2YVRGmcZZrHbOkh48CoBTj7boy8V8GkyuR6sG
EiTYkUayvJ5dIAlmwTgJ+LpjUVV7moovouBCU4yn09lk9QWa2XhFB0GyGKWQPu6I2jFoVuM0
2Xxar8a/PLwNkEDlPQUPFsEN8naop0myYBpc6OKDYHd6iQR7uNeT0CyYzMYnVrUTJDfRzI00
UzJr3qp3vkJ1iJ3Cs4Wzao2ywlnk3RydrZaXpvFiOr1IsggukVzPxycWr7fT65qsLsyJVX2B
YSAJFhdJkNh6AwnPlrMLHIe389VknKQqF9FkvPdgwN20TK8vf0Rlg0mqOCOe3O1nFd0cRo0u
5gZg2D0JRfzqawtuSFUoMSRGrUSP5f3tSOxzhe7I7vH0+v768+Nq8/vtePpjd/XP5/HdG9dH
JbZHXJYImnT0sFoOBya+jPdmqDb+9vQiX707aylKt3RXy2D7gRa4BH62EI9Fi0+WbsM0HijP
dlGRZQ3qo1gdn18/jm+n18dzNAt6EJ/MMprXJP1fv+Srt+f3f3Aao9t9eXQ0113oD7Fvv3WY
Sfp0wJ7DRBr77LrBm0tYlhkx8i/QhLU7gjARQ+TlKvQ/046jOPTuUeOMmdeQAqDsC1+AFZXs
NUxqwaV5FLsuinVKvW6RXT/8e7xyLNM4ItGGtvsC4o5Kc1gzOQ/1rE1cQHuAjLAuuCw4O4ha
UhfFadRA3imjL/vavDk9BDZQjesFAtHJMvkYb+uiFUzTisZ4aQ+nAc5pYHF6xsyBk2cL4Kl8
jlc+H+mGOXpN8MMMBCt+jpEauWzgN0oseMlCOfSGLqWM0yqBd8z+vBo46oCj1gmfYbiwHmku
Z6lb9PwB3n4GeaSPVcLEmgCZZsQ9THhe1CzRBjm2AUwBZGI4w+uCKIQ/fHpT1ATHRHWKKLm6
SPgc+VIIE6qvwgjCwQ4f2OUp7PpBCbeHx1/moVbC5Vi7USplru8/410sxYMjHRgvbpbLiTH7
fxQp07Ni3Qsinb0mTgx6+J2nw8VWXPA/E1L/mdf+JgXOKJ5xUcKA7GwS+N2JhRa20yUcKM+D
ax+eFRDgg4sP+Pb0/rpaLW7+mH4bgq/VSdfUeQ4CCFtFElkN3ibl+/Hz79ern77POudg1wFb
86mShAnRrxLd6UD4JLhOY7WeFt3ahdZZ6fz0rRKFsKTXplnTOg31CjqQbNxINiX/OOt2iHXP
I7nsBHc1Nf3jSYyvdpLgOCpzRGLYDV5QoGRmAEz8ULxoOMIOjkqLNYKJKpJ5O4zfNoRvzGnX
w9QojRRq761QRQMivUding5V34/j5/K+B659wAFunJZmobClvKp4oEkqsgbbrlUmh/SqC/RU
WHivZiwXkxhBFtnI+Jc47jY/zEexSxxbjTVawr0F0mF3fIcVa7AVldMaEgpbi6pHJqZ0hN+7
wMTvAlMASJjhmacgrX97B0hQQl2g3zj3MtkRbSFpYgpERnuxwWHc7mYOS7HNd+xjPHY57/LR
ns85vY6J0VbjQf5UNWn8i7YGFxCjQ20XEN7kVakdw6rf7Zqbi1hB8TvMiJYb/5BHzJQH8Bu2
hjVG3O4p2bblHpxSDK9DiWzKiJhJw3SspQkkTKoNpx75KUj4LYn3tmXSiE72z7KoxFaGUOoE
VxvYqkn1GZjy3gT4/u3z4+fqm47pjYZWGA3awOuYaxxzvUAwq8UExcxQDF4bxsFqibaznKIY
lINlgGLmKAblerlEMTcI5ibAytygPXoTYN9zM8faWV1b3yMsWbAI2xVSYDpD2xcoq6sJjxjz
1z/1g2d+cOAHI7wv/OClH3ztB98gfCOsTBFephYz24Kt2soDa0xYUyer3uF/ezy9HP+9+vXw
CPl5zga1CnvOqtskJWvueu5JJxkVmFjb5XW7gIxyDqOWwpHJjqbnaOE0hywK7Z5U4GpUVjQi
tR4vvMNnDa9bGfrY8tuXJb/PJvMhebV88wKKvzKz2dUVK8UkyQQqQwyCHDLgAD4sUu/RkYwq
aB6SbCiJKUT/AuaQYyooxZWqBHM9g1gSaPVKoZvpAWQFG9H5iA0cbZuye9+A3FNDzOWv0HWP
JDZNDvnJuS9UtPSvs29XJVAqTG3fA0Gq2x5ofU4RgvGAhBxJm7Any3EKRz9bTWxluiYyNiqV
mJtNTQ8Uu7FUaHkfSKux4S1ZbofWtkjGGlIUUEELp+FIvISq2A2HK0i8WNhrt1XUtDJNDMKy
bAd6zxf7xFjn7riRugDHVZkL48KnCC5bUjIx9dMEOtC7GatJtJVtemY84ISRi75jVqOsZhK6
nsR/O1qFBTfkEmDMgOVnWFvRuIlo7HKExBvukCPvwRTFvoIHCEWT49yKKVtUd4INVrvNpwxx
NJERagHbciy1R9el6xGkPGhjtBqbopHoG7GnZMQrIM/RfZVw7iYht4V2BzfSPIOTb6dEYord
P8HMFqKrbirq3NFrJFHZyLwbMq0CLZr6+3JiVnKmgBHH24KZ6U8mJVZjSIUiJGKo7nAfoLCf
33IZ4HTdZJVLkx7gAG03RiijtHebEHi3VjYjxB2FUI3Iy+x0G9dItlFRrJ8XhnuL/9ni5X2h
UO95dFcXpTu9wbBzpN/gC6VUydCZtv0Bfk4SpZ+xESEvE1Ugz1hLu0lnoJtcKWZ/4R67rojY
O36FJinlII8202ZSCvgI+5cBSS8UPd/SlRbGUlHFFgkcZ8qJD5RynXGLIuoKqlo0dS0/ToYU
sdquQJKrF5LaSkb7VVh48G0CbVwCKLCKyN0hvSYfxH6AFaBCmDh9rjEjdeVeEJLS/Ayj3f7E
3q6o58GZSnbXo1PkwuwQSpQXSeLAlQHlVNZNbDV+2qCF4Ke4Ae0vL1fyIjd0ZQ+H1y0QWiPu
CiCWxkAu5sgoodK+iku/ZOsc1FnhiklDSKqR1zQtMsWH7ux4dDvHnvhnwdN1Xk2Ebigx1QBu
BI6tMQBx2axPuVCIr02GvVMHE43FVL52mAY3c3C3kMrcp/C7bugtad1FQ9pN+EGWMsKW88G0
8lNByqy2Iixe4t/GSQZh9nwvFUFYSI2+XcfGmTf8Hi8gzJh+t2YaKVuxD6uRwAuwRYuk5svM
3NeaO0ZnyklzodFWvcx/1dkPxm2vBm/jcF2ilpec78LArhIhU84VSx+QOm6y0jYVqwLeN7hq
TMEvaXoOiX6KuJGPzZGHlZ1ZdsDrUn4h+ETp/Ebqyspaq4/YeQGcJaHhAqOcZivvZBvaUUZb
W9+VtJ0cVpPvEwwnZP3Uj2vkv7/P/Fgp+AIHJxszXGUGBOLnPlA0uKE50ECr3jnT329qLJ6/
ubPmpE1LhMlrbKSikowMGeTFyNg9uCOnQnLkYxZ7t2KkcQSBgNQpxJj9DuraN45dSrrHz9PT
x2/t7eM5darpGpLLG0Iqn5qjqV15b9jJu1eMsHfSgNDBHJwi1FeN0o4iEz4yYOfWSOQeVA0O
I9+GA+uDMHmlWa6pZCVZzctkBQPBV97Z0IN+i6xA5a0NUYIadJuW3Vl2czF4Gpx+v328Xj3C
264hppnmZyaJIeGMUB92HR145sIpib1Al1So/AhSf1c4xi3U3ZC4QJe00u22M8wlLCG1mB/q
EmckFzuLCoMbWUw7FKwo3/WNUbCNGZenk/Jww6l+nUxnq6xJjXslhcob7Mam/xD4izMA15O3
DW2o06j8o1289cPZ1BuxZj1f6hUE5PPj1/Hl4+lRPi6hL48w7yAE6/+fPn5dkff318cniYof
Ph50x5eeC+Q1Zd8z42hOb5mbLzOUvpXPr3/rDwT69kLfp0V1NdZM5L/cU0gahU7fptXeM5al
aByv51Dz/mR98/D+C+FfGJS+DzhYVdv4nSjm9FP89M/x/cPtoioKZt5ekoiRJIv9oMGSHVkT
8dyZdVm88DQoLNcNkTnPRj+uymIsypZGgQTWP1PMkMR6Z4pgNsE/i2/I1PMNAG455zQYLSoa
d2aRAC+mPplTrysr/ry16Et/OTkwbZQKUdPmzB1ItT6f3n6ZPsm9nOce2c+l3bece1oDpK8V
hy5vQjaywMQ+Ye7RIsU+YR510SPOngF2ewOF4nx04ZMMchiTr9B8qTpeLy4RLPGeiCn3fE/i
qACbYrsh9yQeFaQk5WQ2+QLJFz7TDj9iY6sSNvnPnnISI1YLnX2hmZqOjku9L2CUv0DylbYM
yjbYm5uBLgDa89vp+P4utJ+zeITVCOeZzmy9N97K9drjfjDjqoeXv1+fr/LP57+Op6u1ysTn
a4DknIntgjKLfDaKPCewBTNKyDsbDR/Gzd7TEBzylCRGMsfKPeR2l1mnjAICB2CQgs2DkSdC
iWZ2AlCwGMnzA7glgSN+Ew37VKuAsqQTLaKcuoNh9330tjO1PjUlc7YE0yvOYpsc9tGkiZEY
qjsZpz+n3gB7LCdVdwaR9FMgffrr9HD6fXV6/fx4ejHePMptgL49CJnYv8NTDOoeasKrBHiD
IFpXCXAtPGQCYEWmH5D2KBRsTgGxz4lY7TdGo6mh36K2nk5ilpgwVjdtbYACS40JwNjhQkeQ
soiGdytPUYXBlrokIdWeIMF2FUXIkKavtSB+LBzMqDOB5r0CCx8ulEypIKGOrBDyQCZIrow3
IACF8xYbfrgHsP0bJJcDkyfspUvLiB6dvAMSPRT4GVZvmix0EHC97NYbRj+MEyMFRcYSYjj1
qb4NkBWMkEAmIaL1s0x7Dfl2iSkZ4IKqMiZyfKt7MKads935VFSsJOtGebh4qGIGXob/AQMl
nFqv/AAA

--qMm9M+Fa2AknHoGS
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--qMm9M+Fa2AknHoGS--


From xen-devel-bounces@lists.xen.org Tue May 29 17:06:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 17:06:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZPrZ-0003Bc-1w; Tue, 29 May 2012 17:05:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZPrX-0003BP-01
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 17:05:39 +0000
Received: from [193.109.254.147:56286] by server-8.bemta-14.messagelabs.com id
	B2/5D-17829-2E105CF4; Tue, 29 May 2012 17:05:38 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338311136!11493080!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26445 invoked from network); 29 May 2012 17:05:36 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-9.tower-27.messagelabs.com with SMTP;
	29 May 2012 17:05:36 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 08041C04000;
	Tue, 29 May 2012 19:05:35 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id bnnQUK-SoZyA; Tue, 29 May 2012 19:05:34 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Tue, 29 May 2012 19:05:34 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 9AF4A49C145;
	Tue, 29 May 2012 18:05:34 +0100 (BST)
Date: Tue, 29 May 2012 19:06:04 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120529170604.GJ29157@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="qMm9M+Fa2AknHoGS"
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--qMm9M+Fa2AknHoGS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, May 29, 2012 at 04:40:19PM +0000, Liu, Jinsong wrote:
> From calltrace seems it's related to device_initcall. Borislav, would
> you please send me your .config? I can try to reproduce it and debug
> it.

Attached. It is xen-less :).

> (BTW, your kernel pull from
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git? I
> want to keep same baseline with you)

Actually, it is

 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

but it should be the same thing (symlinked or so).

Head is v3.4-8261-ga01ee165a132.

> Attached is the .config at my environment which boot linux3.4.0-rc1+
> as dom0 at Xen platform. Under this environment & config it's OK.

Why does it say "linux3.4.0-rc1+"? This is old. Or do you mean 3.4 +
patches? See head commit id above.

And you need to test baremetal too with your patch, not only as a dom0
kernel.

Thanks.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

--qMm9M+Fa2AknHoGS
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="config.gz"
Content-Transfer-Encoding: base64

H4sIAAAAAAACA5Q823LbuJLv8xUszz6crdpMfIvHqS0/gCAoYUQSCABKcl5Yjq3MuI4vOZY8
k/z9doOUBICAnM1DbHY3bo1G39Dwr7/8mpHXzfPjzeb+9ubh4Uf25+pp9XKzWd1lX+8fVv+b
FSJrhMlYwc1vQFzdP71+f//98qK7OM/Ofjv/7TibrV6eVg8ZfX76ev/nK7S9f3765ddfqGhK
PgGynJurH9B0ACyh7dlpdr/Onp432Xq1+cVBXJwD6f57/8EbbVRLDRdNVzAqCqb2SNEa2Zqu
FKom5upo9fD14vwdzPHdxfnRloYoOoWWZf95dXTzcvsXruP9rZ33elhTd7f62kN2LSesYYrT
jtZCd60siGH7oWkl6EyLVlHWLYih00JM9thdU6Ric9YYvUfaGbntoWdysG2XK0EKSrTZkyG2
YLLTrZRCOQhtCJ0ZRaDjEW5K5qyrYCENvTYi0riu2/1Hw1jRFTXpaiKxW3f9FqcnFl2xZmKm
4xVwTRA/RuTtJArsFIPJcZijFLwxTOkx2XTB+GRqAnbW5LpfnKRdWVBX7tRCs3rXXEveIOsi
ctgTLul0QoqiI9VEKG6mdTDSlOiOyrbjRYU7z01k50jFcwXsArmryPWYwPCadXN9rYGySvSP
rFhGcCDKpK2MHT/WlNApbDFvYPf5Z5bonLSw+0rkLBANzUwrO8lUT6UYCXZ8i2J1Dl8lV9p0
dNo2swSdJBMWJ+vnw3OmGmJPtxRa83y0KN1qyZoigv4sYJEgX2enTpMW9JVtOOrGSrruhATu
A2cKUC3AJt5MUpQFQ5HEFcAuCeopKNQYupY+bCSVg6x2tKzIRF8dvfuKuvbd+ubv1d27l7v7
zAesQ8Dd9wBwGwIug++PwffJcQg4OdofjZkVRJRCoiIHoldUuIsoKiiRjGhnA3ZaFeQNVNPR
+4f7L+8fn+9eH1br9//VNqTeNXr/W6Bcrbhx9albCOVIhQMBU/JrNrFW6QFn9fptb1zYEgQM
5t4YUrm2AvaeNXOYOE6phrN5drpT2AoEqKOilhyE6OjI0aOkmoOqARlE8I45LsIemAiH7Cpm
IMKs6iafuQyO04DJAXMaR1WfXf3oYpafUy3EHuEPvd9XZ1x31iEBjn4Iv/x8uHWMJVv9NBXa
oARcHf3r6flp9d87husFcfgESnDOJR0B8Cc1zubC+efLrv7UspbFoaMmuS5QdCmDjSeUet5I
iOvmZ9G1llPSgKaNLNQQPUOj6NgoBPU6fzSeRS0RGh3G6q2UgO1MH1EFHBC9PRzwe7Z+/bL+
sd6sHveHI0IeGmY4ZYH6d1F6KhZjDGph0JZI4Z9XcL8oqFMzBXNRePpUS6I0G1rYKSvaZno8
ZaMYqArauhyTAKulQXDMWNO2K0kDHuDVxblj7Hdg0BEkweyeCExSI7ppXMS3E+qsIxUZn88G
h/JHCLFi5fppIGxtCUzlpbk6PfF2tgXvloBRAx08BRZal8/xMSdKtFK7TOlBvWmKTnwgKGH+
n5k6RFKwOY8uDTQ++AGO2OCCOsmLARNOEMGDuG8ZzAbPlop268aFw9fgawFdByc2ZnsGKlDz
5Wg8y6w9tCRcdT5mP1gJzjOc4AUvzDQuDMZtGyXJq9kwdJyfU0Zn1mHFBRmhYkxFVQjHAfTN
fuItOBmN841qz/0GZisPgHvgfjfM9N+7ufRyhNYqPV9QkyV6N3DAKDip8TWj+3md5AbIjrW2
qohtHd05WagbAj80VNJwWBvoCwI7byHWwsc0YsuLkwtvybbDbvCmIy1mANbXtcO3LaTz3O+p
MLJyIxOpYE+d8+iFLawqQbyVa4uoljPVSQhhMCINzHcSm4N71JWtO5OyNczx/ZkULlbzSUOq
0jkB6MYpF2DDRhegp3DeHKZz4TEbvfmCFSkDhKew24WxVpEPwb9cvXx9fnm8ebpdZezv1dNm
nZGnu4w+vz5tVi/rvYb3u3CBMR0xuN6IhkPQzWvrgUemN6/7Tt1edtvBu08tVzMHpqs27zv3
lAQ4hcRAkD2Ln5eK5JGhsS/fXomSQ0QxifkKaEWsitCBWIi+mSNGW0jX1LzfWUdwrdV2+vij
rSUE9Dmr3A5MSGaHYmXJKUdmgWtegRChpqDoATkDKDZqbNUQwFvVgMU0vOTulHpHHg4CJgmg
aZhtmEXnEhtn4EccbmMRy8apELMAiUkIYozyJ72P+YFHU1ZJTzxsQ8UmoAQgurRJk4EbHZE8
NoDkO9FxcdMFSA4jvQUIcDVfApP3aG1HDIh+gr/O6UGxiPEmJglDzD/vZUmTEixyLTHDEfYw
iEOfa7Mxb0AxtOujogSuEO04fl8QEDhRFdtT1jv7fXBHxfzdl5v16i77d69Ovr08f71/uH/6
0+K3DiiQDTFH9Hx6PjLuFBVTpoBX0UNLct6UTggF9r9GdetKnFXJGpXO1fEuMyaKtvJtVA/q
/V9gDInpz4GmbRDv5Nncpjuk2/MQeerokofmWtFdgBo1fRqTfDWhU944+5L7bubWoOd6EgVW
3NNze/tv2ERx43kJdt/kzcvmHrPBmfnxbeUaAaIMt8keUsxJQ31fjYA5bfY00YULXb5BQWo+
IW/RGKL4GzTAtTjFFq8LofcUftRZcD0LzmIN/tKy020eaaJFBRPSNokUQbfQckEUi3VbFbXX
ZJ++AEQ6TNCTt9YPMbyCCR8m0u1bGzYjqiYHGclKHl8BZgIuLg+2tZI8aJZdVCwyffvXCrNQ
rgPCRe8bN0I46YcttIDQtfIOyRZDy0++Z9KnN7YNDmRAEi1xAgdaDeNeHd1+/c/RL0EsvDUP
nhqyeUxmM9tgIa/D7PYhui6fvkn6U/39fzrDfMBPE2pQ7m8St01k/DRdn4841BNQREK5sAXm
O36G45bup4neYOOe7g02eoQhGyOk/dIjjHGwB1ns0sVZHFD8BIsXYGDYz/C4J/x5qje47BC+
wWaf8jCfe9oko130QU57hHFWhyTpzIT1fnrpB8MsFo3rfQ55pK1ulS/Pt6v1+vkl24Blz24g
1Pu6utm8vrhWfnsv48anMAmA6qkbHtjsm+NK8snUZoRszKPfuBBteVUcJgGDC27GH617aTq6
sqmlTVGG99RsaVhT4D3WEK4nrq13d0UQXQt1jamoqnVzAr0NETU3wEq8DxkuNr3AkSgy55iH
amGTYrkj0eVCGC+Chw/D3KXVs0vPg5Saxv0aTFqcJlweI+ooZsdf2SY4YVeFWZzhBrJPd164
JKPQA4HVSbrBkhSFT72Q9nZId24IuB2+spEUFfLax2EoKCGo7BN1uq19tNHB1d4wz6AkAcsA
5oHwgEtXt7W9IivB76yuMRftEFj/i5qq1s6RQmqQm37KYzCpizGQ4k1X60aFkpkwOWBhrG7x
fh/CGmdVhRsyTsCfAi+jv+nf50BIBYjrHhGLJBZcmCp3/SMgHMJqT/DIEk5ZTIrtjbB2WNQf
Dl2b8LzU3gU+3jHYi0oIzzHLE6RYRhcGjYi6ZVv0XFTQCaw1ctmQEG4b9GICIJAULrZAT3so
pgQoVZv8zJWYscaeX2sfEiPUdKSDANTLSLqJLyxbIF7EgKatIije/MGouXp0mHsZK4WoOVUC
i22ANASFgrtHeLPZgzH4t+qhJJQFc3IPhj1ksuVFkEGQ02sNmrxQndlVFXnFPZiciaILrmC5
3STHhIabN29d6wTTDiDDBT+hkgcYm6fGey2wlGaK6fkwcY30eAqjetw29hVdX3NgrRBeibCG
RGogdughSgjxrMJ1DkaohmHCJNCACi79evbi7c4MrUIHjoDTNa8qNgG5H0xWNydVy66Ov9+t
bu6OnX+7s3toFvsl1KRpSQwTlJCAIjNcYh50YLGXWNuuh2nmZt0cRi6Ngl9iqDn8h9nKkNd7
Cptu7vrZys6ICcPNPtDXeHpBksUD2yV1XrNekrmmRBWR5sN6R1cUPnyYVwwNvBBz97ICToSt
Stn5Ou7qKvBXpOmDa9TZO5VtQ23qpydqPlHEBx04slvvsMPRr3bXoTlodlc7WIfIgOPTaq86
zc2Q7pMMuj4QUdu97r3BQl2dH3+8iNf7pHy4EXyfeVzA2dD2/gr1ajzx3+CmYNZ92k7YkFl1
7pnHeJC+BbnWP9kbiFEx574LSytGGutWRQ2lVbToC3U5F1gTo1QrExmW3p6BX4WFg2LhWO/a
KN/ww3enScMND26ena76PI3LfvDOdCcxyWUnHCp/WHEhHNXASu7dXJW806aN3s8witLq8YX2
iX68poD9EvH78enn7uT4OHYX9rk7/XDsCcDn7swnDXqJd3MF3fgez1RhjOTX8CxZ3IOnimjQ
FW3Uy8KTx9FbgYUqA9r6xFfSiqEzY3zFt2tk7wHGjbbqBXRB5N5sXmgRn2htU2To/FSp8rJe
Byf1W5wmVGbWwwfXH7xla36terV+RB+1Pv+zeskeb55u/lw9rp42Nm5F4549f8M0tRO7jqoS
p4x4JcdDOeII4ETKu3i27wUjoqrKQez0GOlrzRp2rXCSofsqNURVjEmfGCF+TAtQhS6ya/hk
7eFH158A26bjD2SMgQoDzu16Y/f+4BQhlfLcvDTEj1FwP/yvcMUWht5KqaNAcFQWvl2wSEb7
VZUxjbpr3t+uBf2SYH5dTgx4QtchtDXGT11b8JwXTKTGLEkT9FJ4Bn83Maa1UAHcP4/RFh2Z
TBS4b2bUGD2Z2nXAXDfXXwFttREgMbowqXXkFQg2ln9214yoq+Ogh7Q89dOluMsiFXehpPgx
bj8tAfEbbyJ7vWVMryrS4+pcp5GpMiCXJTU4hOIAWT5RJo0lkvH4fUrJR7dpmHMpX1b/eV09
3f7I1rc3w/2okyIA3fPJTxogpNtq+b1C3mKwbjGusrcUW+dpIub29hmfWDSU/XwjzMXYgqd4
hdm4gQAnFMYoohN2CQGH/oh9KHCo82Dq0X4tDaqNROLWI9wtKcLrN1dwaOZ2n79fXti9/hru
dXb3cv93f5fluXCS2oQc9p44P73E9iR+dGvX3IhF52cNbU5TQvSlDeuzToo3IulEyvM+41r7
R8FOdP3XzcvqzrGwiUEqnif47r9w2L25QEZW4MozlUDWrGn9jDjmBnlQxWtnVK8en19+ZN+s
g7C++Ru47U2V/w7uXbxp/rreLi77F+ixbLW5/e2/nbtuyv1apD4Z4cPqOqwitZSiBvXmZRUQ
TJv89BjWaIuaYq4f5QwjGS9kQiAJ8s0AAquo4t7l0CAd0lgCbZ0Kv5GWkRvnMcE2gTFuHD2I
EbK4OnJXJ2uWetVR62BfeoDH6QNeEGBV/x5k65YmngZY02ZaJ2M6NX7tNFJ45eMI4DbJ7I0n
FU/ORRLNi8ToXPgZS4QF1QPDCy2/4snmw/zSNoppiXiYM1hcPAHROlLouuBidHzY99Xt6+bm
y8PKvjfMbBXhZp29z9jj68NN4JZjzU5tsObSOfND1V4EZXd8jxiCSKxHldy3A5j1wkhqZ2CQ
vPf5dbrYiIg2djKGEWvu3ihwcnY6ZOWD+gaLCbvytOQy+l5yV+7gMwKzzS1mLTGGq/2s2PCm
Imw5Y9d6BLQrxEwgnMcZ88OLhu3KLJrV5p/nl3+jfRpFUWAjZ26dOBawuCvHb9CHJKYplqVb
HItf1u56VgqBus1hghWncTfP0vSZKZYmQD8IfFdO45uN9dXAo+hFrLs+Lvtspf9CE6C7uMpe
CHiLAGzJc4iEQF3ZZySxUeQ+C2qdOa9YvO90oCDuA8wdbs5ULvzcEOBkI5PL5ZIfQk7wvIA0
LxOztcMGw9XuPHcriXcgea3rbn7irWUAnnruvpIxvaevGxBoMeMsKJGB2ZPUjT9em2mZRsLR
EfUBvBUl0zZN9K7GkvTY0ZR6KcVsRZ/aE4moISQejZWizBkzqTlVSowmFB7KfaKSSnRfJzuR
jqUntzS0zV3Ds9WtW/zV0e3rl/vbI7/3uvig+SQqFvMLX6TmF2gU5yRx9i1Bf+LwhqBME/Xv
FFABdEW0fBOZAn60e7YsBOQl5N3FQTnB0WouL5KbdpESo4DqoJxdxCQqnHsoR2k8Ss94mXu8
5fHw1oMkEsh25dr/UwBbWHcRfUBi0Q1ehthMnrmWbNT6EJ8sr9PaJiC0i0ipPKw2wExyTRKP
A7Y0cnptcxWgymuZuqEG4pJXJvEuCzRdQWlKfjpNTRynivjyYP00Uf4ar/KoThMj5IoXkySP
ukLHX5HOK9J0l8enJ/ECqoLRhsX1XVXR0wQflqmK3iq+QcvTD/EhiMyjCAY/E9NawHp6vRJ3
yKfJlpwxhpz4cJ7kYvr9WUFjIXLRaPvQDt8oe/XZsL3EVljHK6gla+Z6wQ2NFZgp6bgYqrRv
Y10NsfSfIzb4ioOLyOu47WQ+hY8Fcll2f/jqYACNYoTBxcw2q/UmeBOADJMzM2FNkp9gU+x1
d1psFRbHi4YnL4JIrUgQvDgFM/GhuSripyFPJAQhPFkqGXvchP6hCh8dLDg+qdfxI7/gNYkf
EFXOeFUlefEx8bSR8Lj1pExOw9TNvsOSjvayWP19f7vKil0qa/+8//52AGciDCTa/nFXX2XU
WSf36P36y/3T+7+eN98eXv88ctXJ3NQymuUHpdwUpBJufTc4BrbvkqvaFtcHJYXlwj7p8Ioh
t6S8Gd6jOPeSS7C3OwrvDwn0j9kKcFii16IDms2Vv9EQtHVTMH1qznVCQJ2yvOE5b2z1GODr
KcyqwIfIpa8t4EeTvgqtTVwjSXC/RfR5JsQWDo+b4alyB4ZRDzU420LSzfPt84MbNDbSvwMa
HprE3p6UxcGnqZgD0rqA6XN5drpcpl/1yk9d6rgOaMq1PkSD4xWEfrw4PkjS1qw+SEDFAkPx
OvHOoSeqvMcLLtQWONjyuKvLEE/VtTRiaNufRpUX2d39GvMvd9mX1e3N63qV2XuwUv9Phn5e
9vyS7YWjn8/D6nazunPSMsMATV7EdqmZ1+zgmvXy8jDT8gO8UKQeswKAAxdOLmI4+xb55OLs
8nw82jIR+VIwFDVaG1rMi5T30Qk43R1LPDLfDjE9LLe4K6MU9f36Nruz2tNLTWvWgFrQ+KdX
zqr58WliZsWH0w/LrpAi4ZfkdUd0nXBnSJMqCO5z6jUvOvD+ky+MuKDnCde0rG3yLd451R/P
TvX58UncQWtoJXSr8M8VqZHS21tv2fEqbruJLPRHcMdIlQgMdHX68fj47ADyNH7ct7tigOjD
h8M0+fTk98u3SX4/TGLX8vE4ruOmNb04+xB3pQt9cnEZR80Hi4h57sS7rryWx5cfEnlprNls
475Bq/Ou9z5B05CP5wkG0NPQvvRZYwY6qs7Wr9++Pb9s3OPQY+AknsYlbsBjRWMiazBQgAN1
cfn7h0MkH8/oMh7I0/z3k+ORYNt5mtX3m3XGn9abl9dH+1B+uCHbvNw8rXE52cP90wq18u39
N/w1ddo7fjr2r8jDZvVyk5VyQrKv9y+P/0Df2d3zP08Pzzd3Wf9HmdwOCYahBD0jWaWe/fPC
j7uL8ao01XzQTs6u7EqbNMdEgRNRENAY/UvtR5fKLQCHNoVfi2BhZhLXYP/H2LUtt40r21/R
40zVzh6SkijqnJpdBZGUxIi3ENAtLyrFcSauceyU7dTZ8/enG6AkgEQTfshF6EUQxLUBdK+W
Qliv8qy0XYpJcbuwXVY/Wei2tMqR5Teo9b//NXo7/7z/1yhOPkAr/95f5rh5s7tuVCpxk96K
K2716bjm2fQXMd6cQDVNdMuN68tW1iLEa7pu5EnIKd+WVO3grTQoyIL36jyvVivqLEMCONr8
MH4sYypzZMiTMGjwW+WLS59/7fQWjtYRrSe/+aplrATUizL5d4cFQOXJOJEnSmATA/8MfGJT
91/craZ9DpuJnEYkA+1T8URyqWSso4XflAvj4FugfVuptjQNrY+0R/+ntGmobDs2VxyT6uKq
JMbPT28vz4/oRjv6v4e375DD0we+XI6ezm+wXRs9IMXHt/PdvdaGMtd1bNyoXhOt3lQmDCoi
9sPgQCOYtJDG7GgMz3JzGdC+GT7gOg/At9x1P/Lu1+vb849Rgsxo2gfeVrcEOmJC8KbJt3/i
1HZKFe5AFW1RqIlPFQ5S7CWUMM1kEVstMy/Y5IuKnW2syP6z67Y6THiZbjh+qcZepjzjVK58
t+/Bt3lGwXcZ68F3mYCNW3+ZqZ2VoW1NsZNYX6tERWI632FaI6w+2UoooHLr/jOijsLZgdge
AyAuknByoHKN+XQaeLo9fps49nqvksnhwJuO6AfBaUC6ZA0tXddiHIbD8qEPRfkhKB2AMS3P
RBT4LvlAAT5KX6OBAhSsgek5pwGgP8TDgKz8yMbBAIBHs4k/pZq7ypPuGFXpsH2iJhMJgOkm
8IKh6scJCbKnAXiGyY8D3aNJYlrIYz+wmrG30nWnD0tXgUZ6afa+FiaUkFD4a8vkYgpFxdfZ
YqCqRJMt85QccZ35Rqbts3JRlf1Nd51VH56fHv/pzjm9iUYOcq9r/WL0PWu7q+4yUBUVta9W
Lfa561tgHKd+Oz8+fjnf/T36Y/R4/9f57h+bCWF90QCI1ag9XOwVvb+FuhwWJn1V1vAIVMR0
SSoMOzhIRi8B1hhJuFPweim+4XDSpnnWskjZZGrcHCsjDbT5aYX2Q8/kZlNBAeSF9nFAr08M
+7iEtowDkTyf0711T7xkdessr+ch1lmJa/UuQ84fO9VYgmYvqPN1nsUvtp8DFJKjcsheFyCf
06Yyiqibneh5XdNPn3LqfTcMsXmS9UUREIJQ3QtQ0mXOOlY7uhRmpw5pkUbS2qxS0du/X1n5
eMeCS6XgpsXOHavEy5jMDHcgOu2fTCvYAfZ56Z9+EHUkijixm79ll6aIcNI0Hfnj+WT02/Lh
5X4Pf363HZ0ssybFWyX7N7RC2HNwwtoiqCgCpazESbu9+rDpjbDutvcWJqllS6x4O22qJPes
vUm3RUGc6HzagiJI0aDie6xNU2RZ547zJFJWUB+Jt9z2T8ONdZUbpPmipXI0blAhCa01ansu
JylHn4cG/qPfR4mt0Rt31Okza7oX7ar58XLvdvp0WyIu1YeeIoadG5ZGnUycxnFlzHC7qhGp
XUsRx3pdVUQdXfJjCathXTB2uipJerItMzurqpZBLtKuE04Ku0nHU+ZuAH5Gvu+T5/g1VqTV
KFPPE+ut4uamPQ+InXruk4KUlDi+SoWLMBtoMbFtOxflIdDpAGJ7jYlsVZVjHYgPHpyliJl5
hLgoGTkWY5Yf0oSdDisYVMM5x+s05yaFaZt0Ej7F0avE42HxxCHeLR0ly3hsUqt2KvQ2bZVW
yzwtr8QcDsqMMM9qx1N4EGqsyXmwocjbEsKIXssPTZdTQ4FdpIGz7OmBGQoIDwgzit1h5SjA
2th7r2u7b672wIWf4tYG9kcw2budQ8ufGuFFtloYP3ZLgzfjsLJfcKAgpSWuDpRFwfRgVPdn
0qao7m4CrqKPhaNS2x2x0UQbwsSLb46OGa+ArFhZGcUu8sPkRJjnSBmhZenZwrbebMkNj6Kp
D8/bVcsN/xxFkwOxHdNzPjbGGo+/fY/4/mXK8tIx15VM8LQw9QaVZJ/veDSOAkc/jsZzz5wA
go3708pdlpg7XcXP31nS+g9Wm44fzPpE9WR0fozJiVxZ/0Pbr+z8iNo7P4Huam4xP+VsfCAs
Nj7lMTWbfspp+8RDWp6cigA69YjUmDgj0J0Jc0wUicrm9tNEfji/zRv6GzphiUJv4ugAPE0N
ajf8HXne1PFUljOTRzOeB97Ydz1lXo9kfE7MLSDy54Ro6ahlXnCjEtI6i33qPYCdT1yDhAt5
+GeUXRRI3urs8NxUn9esro8FdANqsVwRFjwx4zwriYGebYcLIdL1VhgDT6U4njKfIHcgF3zn
7At+npp1Z3Qa0h3SRFDb5GWS2L92ndXEVlgauC4IQox6fVQcw8rgJctGkHK5VbacXKGDGiLs
GzK5sJHyhMF2E815CPknnLNJaY5eUYQszkDbZaS4vdog5djdSeFFoScBWVznW06K29mNlCsm
CkZXGxegHh3skyGoxjDYfM/36Q9QSzkpXkqedPLhBHTvRSYWjGJ+q4lIFzlh0iWa3m54yxdX
g2P29fzzrdPp0HAlZiImrVo2bE9tG1FcpyvGt5yUNyKPfMJiCOXwh1IEUZzVa+rt+870oCxp
nqTv5f4BDYZ/6zvz/T56ewb0/ejt+wVlGYl7wgh6Vxxwo0zYTyX94mRPP3+9kYYkWVlvO44o
Mu7jEokeSGNoBcLTkyTdDSAUadamMA9gVKd4vX95RLaY61Xwa6dUp6La8lSZqVrTTzVn2wMp
5TAuQD85/Ol7wWQYc/xzFkbdwn+sjp2vM8TprmNBe0nuHEZrjdCz1Dae3KTHRcWaxKQqUmkn
ltTTaRQRQcMM0NwWqOUKEZuF/Q2fYJ4hDOI0TOCHDky+2SySYYiIWTjxQycomviOL4bBMxtP
5w4Q4YN6A9SNH/jDmDLdC4qI/YJBBxDcezlex0W1Z3viCP6G2pbOiqxgZE2GIQfRyaU/EPTY
CZLviQeWpBPLdQ+WWzpuNODfurYJ+bFkNXoBW5/MlunCiDlykyGP0TXwhxad4SJPYeoVKWGd
pb0/xSMLYmujva3axutNJgZgPG0yQoNVAFBy81RmNABaxMV0PpsMIHYcNmmMDZXkUqddc0US
hyswPUvDRId+mpsBiHT1E0MA/G41mw6g0H+/Nzeuzy9fpU1l9kc16lquQaVrl2Py5ymLvEnQ
TYS/W49MbVMnHahEFMQznzL1RQjs/KETWInuUAwatBoSnccath/ItDUD7WTcfTMP8MbO7oLC
itRqqht/P7+c72DV1IzXL9qBQV4g70iUt6riSNBG4U6cepcot7QuQdh6b0XfkpGhwYxQiEwE
8+hUi2Mn/tSuRq6QixNpJu3tKEtzdSMuMyGaBzRrzWbPOAZAwnJBOn7HxzhnSUpFgTkwddqZ
E6erEsELJJSriFhwZdy1nO0Ji3pQfCIsc8vqc0Wcf2Wc2Cae1klOnCydVoSfQhvr2m7/Cy25
Udyy2l6G5Umz69sy3788nB/792BtA0aK+7Gf2O90sJ05pazJjzFe5+rMtvpjBkOQIdB9qHRB
2Zy20JZcC2uri1vmvxYzsUEsZK+atGAldGOkybHLpReZSWKji5VlBy1v+NW6sXx++oBpUPuy
0uUNpOVuun28WCanNd/So8uMxKclao3TzfQj0Z9aMVTlIm0SlqdDqHYC/SjYCqv9HVAXDA9e
XZgDBpo7wMRMI7O6yE4qeK3N/BcmxS616jVJke5lVWfc3OQ9WnILhhWJA7HLmO3Uaqccu24z
5HgeTgg3njrHwxz71LeniKRgRaS9MZFE37xvShWDMOEhXK4Uk66sMoI5A/7UxNSV5jERjR6X
oI6qABVTVbWVOSXQGYeC+CTVajPQGSZfuX406w1IxUjB1BYZ5ATdC0hax1w06zJfxPJVpWif
1c4SVMCrBoXMabehruzt4hEvMP378+ubZnBnO3NQ2Wf+dDwlSyzl4XhYfhiQF8mMsA5rxWgm
QFQKaH5+t4ozykUDhWghOCGlpby/CUg5z/h0Op8OycOxNySehwdS3BmkXVnd9Km9pE0h0XA8
LvoMl9g7VETo0RfoA+2jo99+QGd4/Gd0/+PL/dev919Hf7SoD7B43H1/+Pl7N3dQlLJVKX3X
KD4yhKWrwBOk9OraSCIqevssmzNmw54OEgSK2VAZeVYIgv8ZxWoBsLCqgcL9BOspYP5QI+qs
zjKpBkmyClk6tgH9rtbZG3YYqzVdbYJV/JTu6C8WGSgXnT2eLE319h3Kdyux1gd63UcQboWq
9dHTnPYqvUJwcnJAFsRJLWXqt+b9bl3DVG1RaWpzBr9C/0Lj3fPb80t/dhT16O7x+e7vrqA9
xDVP7EYf/iPz085vbxm0p7v/7jBeqyCddXsJsKqhU5hBH9sk+/mybSKUXI6SdTE3A61o6UM8
i3iTglBi2eRiQNyyNJ8SHlAOtgbEd0OCQQhFJ3yRLz4Fs/96wyUp2MGfda6EKVBAWCmh+Sra
dhyiuTcexOR1NAtmgxAYjOPJzKo6FlWp28LIBKS7JhQ+lLaDc531D9lL5U5mGfJXH2dQJbar
bbMd9oS+oMbDsGQ28SduSOSAFL5HHMeamOk7MOE7MHM3ZuwszzyYONzJEwHf7rsxYeDGzN7x
rpmjfng8Cx31vIlESp1RXCC+58QsWeFP1wPzyq1MC9Jo4QIRh3q40AkPHRwC6KDv+PJsugFl
dDH8WTM/8qZLJyYKlisHaDqeTfkwBvRcYuN3gaxmoceGEfnUj8jN+RUTeA4MqgLOVs9ENBsE
fIwnw11deq9QtnMXTBGOHYCZEzB1AWYuQOQAOOgoAOAqZOQqZOQq5NxVhnngAjgKKeKJP/Wd
mMCfujGTd2BC31XgaTB5D2b4XagchF74DpA/d2PCyIUJw/HcjXEMHolxEKUUcT12rbWliFVk
i4z2vm6hdRzNxqHnxEyCmQOzjKZzn4iWQu4g2qf5Wjg+aWhjf8UUReho8aRI/dl4+FPSIvYn
3tiFCXw3JtwHnuO7Ch5PZsX7QI7BrmCL8Xz4+2BVmoaHg4Vgyw4N3pHd2KW0cd/zXcofh62F
Q9GEKo0cPUWsi9gxhkRRgw7pgkwcTYcQR1nQejCut851F3BhFA4rAjvhBw5ddCeiwKH27qMx
7PESJ2b+HkzwDszYDZm6IPksmgr+DlRYrlwo6M7r5TtAqQMlbQd4Eb/7xO/6oIz149arxcbz
re68t5hFmumZiNdJZXOB5WhuV3GeqfA36nLv+enh7nXEHx4f7p6fRovz3d8/H89POncJ12I1
YBYcWTHMpDrO1pU8e7jm3pcaV02QvJiMZeyFARZdhFEOwlImryswF3mnZX+9CdJ8seOC9epj
8fJ8/nr3/GP0+vP+7uHbw90I9hEGkQY+1mej+/X49vDt19MdHiMNmOjihR15EofCKKqLKCRo
yxDAiykxGa1FLONexPZxJmoe+t70QAqn3ox+rQQEvn3+F/scVkmP/jIAoFn/8KdzmEVpqYjH
02g+UMCCuMqvC8liPvfG9MMongakRY7MQtrnEVtTzEMeLxGnGlc5sR7f5BFdPdNiuP72RTTx
vCHx2D/QVkctZOq5IPP5hBSD7jf1wrG9B7LFYeo5OoHkdCGYqeuYZPTCR5skHlN8KCj/yMrP
GK2cYi5GzO4QTekm3Od+MBsPf4AaSXO6HZp4KqbEfrFJVxgQhWKdTRNQItqIPX2Si5fzz+84
l/fMhNlKjxa4krHU9SjumNRzDsREincEZfZb6t0KWYO0BaNNkM77KwyZ64eaOTQIFelh2li9
hhI95gn8OG0Kfomtrh20ogRJiU9QQcmVbNie30mIovusSJb2boPCxjc1UV3EklQe+fbSsKCG
4RRIymq7S9nWes13/3T3/PX+Bcllv98//oT/4UWesXRgFupWeuZ5IVlcdUmW+4RtgIREhEGd
FM4J5RyFxYqRMqqzoIy6LZXPsR11SiQfLfargdZZFWzq0V+zTQi3JSHD5GxzviD8b1cMo8/Y
OpGMX3mqtgKNIlv+Ac3GybgfulJjY8+0u3iAgkLwDIFoUVXorMStw/4Gi+HPMsvzRkWxNwVx
VR+hCKwnyAqo+EWeGYHvW1mDFvrZIc05snovjkQoCEAiH/fl3UOYSzGGMNcSUaAlTL3Zqjyl
JUyF5WCROhYhunxfiNMKw3TQEA4dgLrYW+J0hgtJSj6+kNE/O/fC2uMYJUTNYzrPyeIkslx+
v1DWmHL8L1/OP+5HX359+wbTwveLtYhFucSmy5pmS5aqLgJKFB8XaRNQftMAYA3ZSUHnzKE1
yEbLCi5IIdQz4UyAwpST/SVdZpSopG5qQLZe0T3QT3zSyRazlS7ElBQD75A1MJuQFZunkTcl
TqBlT4P5hSySWm3IhhFHP4gGpGRNjEkJPVujNCP73o6uuTKtYNxnZP/aHJuKko2ppRtfWVVJ
VZE9YSeiMCA/VMCuNKX7NBX3Ro4yMtOYNQXlXgriVVoldN0WPN7SH0utdLLqG7FlpLhIoYeV
VUG+uVhARdHDQjph8nVKuBikh2NZ8X7UZ+0Sv50rT3mcDKxzN1ycMww+IBmSLvy58fPT6/Oj
5In++Xi+MLv1lWHUOfvW8CuGJsm8WiIpL/IJ4ctccsWaH14NiiXjksXquWFFqiJMvEt4sReu
G1gO9aDaNmxTiV4AxSXoJDZrSEw/Rf+NtBxVih/ekvJqZXiN42+8ytseMCaMvQU1TG8670Pi
fCuCYGIcB1Vba+j0dXbtEHqMeMNTADFXgxPRpOXK6uAOsIbtL2sq2lvpbn16bBW+sL2itsYT
bcHKmVAdqOG50flxBKl9k3nMiE3Q86mbPYsbqzWplOH5ovH9p0Wab7LSTMNdlN5dVFoGv7qJ
ihe1WwSon1VVNhlPCSd22F/B9mu5JIqZft6kx26m6wodrMkM4Yme05UuPqbdDLex5MYgc9yz
vENaa4hXx6YXkc0AiH1Wrq28Aaq8JQfVrBPWHiV53DvI1aVQ5rbZLamn5KOugl+Tl0tquGXN
tljkac2SYAi1mk+8IfkeZu18oEklhwTOema5YSKA4dZvbOkXRDvRIQQjZ69IKZKl0Z2lBh0T
+nheUTF3EZMKlh/LAw2AAQHrDC1vyFhRKG6qOCZixMvJimVDX8BZgYQZtBzGKi3E2OCkU5Ka
KkukO6A7P3r4gbbO6BzQJ+pjdRzMRmS7ihbCpipN6foVa9igiAJ218StB4KQVXOwCJ+PCety
G2tTsjTeXDN+qta6M5EhSmnRoSfqLUKS9kDemhJ5rOPEkBhxfgeuNWQmZQkLYpyi3/LpRgR5
jXtz/4hXNM+/XuU6Zgklr16Azy1pZgUFUMoUDTqWDE+/QW2trFSVqnagb5ZJ9xMrQX1gYc6f
mLSXNbpgSysDxRr9H27E+5oXvklEEc4Onod1T7wYW1Y2zQ/zwUu6apaVnUIWgSmRgUxv8LRm
vYXNA01IIYFCYNPSkQ1l7R22ge+t6+7XmPQWvPb98ODEzELPiRmHwUDNVcSHX9Lxqo3+lgto
0P5fr183Uua5kFSCeBaETg7xu8FF57aoC8UjGNCuFdoc4VuiInge+f5gJTcRC8PpfNYFXXt5
a7AeP55frab+cm6I6SqBtaukplU5xhL6WWG5vy4rkf7PSH6cqBrc93+9/3n/9PV19PykApZ8
AQ36FgZm9OP8z8UG//z4+jz6cj96ur//ev/1f6XNvZ7T+v7xJ0a3H/14fsGYGd+eTRW8xXWn
iTZ5wEReR7X8Pk5cwgRbsoUTt4QFlHKs03EZTwLPc8Lg/0w4UTxJGm/+Lhhxd6XDPm4LSaHt
BLKcbYn4fjoMQ7uSGp8O3LCmcGfX7k2QaT12t0daQiUuwmCIH4hRq1aeLbZ8K60nbnvCH+e/
kO3HElhOrltJHA20q1SXO/3tmnWHTNj8nh49xfUxc70nnk+LjLA7b6WEJb2cUJKt2B7oqk53
PKVHWpNV04EaydNVJUgDF4kYmDDzgeXx0lHi4ywmbIgVTNrI0AtfIuk2SPlSJJmkK6HrD3fn
CSygFC+7rMUMdKTF/zd2LM2N27y/ktnbd+jUtmzHOeyBkiiba70iSraTiyZNvd3MNI9xkvlm
/30JUpL5gpxDmzUAkhAfAEiCwG6NL4AU/1SIAREJYy2s0Kth+SnFnlRiPHAKeB80YgLA2Vqy
Rwnumori82RN4rUnmDbYgBAo6nT89+HjCAGjfp4eINfb48fnyUgglBelMsUiyvxvbpu9XyJk
GeKvQDM8NAqY1mLckAvuSFjcnIUsxWL9MfH/nIXEe2xFxeaklyrVERY+yJT3z7/UO009lrig
VLpMS5mrYBHcEWURtRACIhr/YUMz1eizAVX3/B6Yyn4F9dDIPj2UVPR64Q1jLZFsNbu5Xhys
illghg1WsJkDOwQrm2oxd0suPLUtpi7sOtBhVR216omeBpA7HOPBuABuorrAsr8A3jEw1GhC
oDtPzDMoIWyvBK4eE242L+GQas8DtqKQ6fC2YVRGmcZZrHbOkh48CoBTj7boy8V8GkyuR6sG
EiTYkUayvJ5dIAlmwTgJ+LpjUVV7moovouBCU4yn09lk9QWa2XhFB0GyGKWQPu6I2jFoVuM0
2Xxar8a/PLwNkEDlPQUPFsEN8naop0myYBpc6OKDYHd6iQR7uNeT0CyYzMYnVrUTJDfRzI00
UzJr3qp3vkJ1iJ3Cs4Wzao2ywlnk3RydrZaXpvFiOr1IsggukVzPxycWr7fT65qsLsyJVX2B
YSAJFhdJkNh6AwnPlrMLHIe389VknKQqF9FkvPdgwN20TK8vf0Rlg0mqOCOe3O1nFd0cRo0u
5gZg2D0JRfzqawtuSFUoMSRGrUSP5f3tSOxzhe7I7vH0+v768+Nq8/vtePpjd/XP5/HdG9dH
JbZHXJYImnT0sFoOBya+jPdmqDb+9vQiX707aylKt3RXy2D7gRa4BH62EI9Fi0+WbsM0HijP
dlGRZQ3qo1gdn18/jm+n18dzNAt6EJ/MMprXJP1fv+Srt+f3f3Aao9t9eXQ0113oD7Fvv3WY
Sfp0wJ7DRBr77LrBm0tYlhkx8i/QhLU7gjARQ+TlKvQ/046jOPTuUeOMmdeQAqDsC1+AFZXs
NUxqwaV5FLsuinVKvW6RXT/8e7xyLNM4ItGGtvsC4o5Kc1gzOQ/1rE1cQHuAjLAuuCw4O4ha
UhfFadRA3imjL/vavDk9BDZQjesFAtHJMvkYb+uiFUzTisZ4aQ+nAc5pYHF6xsyBk2cL4Kl8
jlc+H+mGOXpN8MMMBCt+jpEauWzgN0oseMlCOfSGLqWM0yqBd8z+vBo46oCj1gmfYbiwHmku
Z6lb9PwB3n4GeaSPVcLEmgCZZsQ9THhe1CzRBjm2AUwBZGI4w+uCKIQ/fHpT1ATHRHWKKLm6
SPgc+VIIE6qvwgjCwQ4f2OUp7PpBCbeHx1/moVbC5Vi7USplru8/410sxYMjHRgvbpbLiTH7
fxQp07Ni3Qsinb0mTgx6+J2nw8VWXPA/E1L/mdf+JgXOKJ5xUcKA7GwS+N2JhRa20yUcKM+D
ax+eFRDgg4sP+Pb0/rpaLW7+mH4bgq/VSdfUeQ4CCFtFElkN3ibl+/Hz79ern77POudg1wFb
86mShAnRrxLd6UD4JLhOY7WeFt3ahdZZ6fz0rRKFsKTXplnTOg31CjqQbNxINiX/OOt2iHXP
I7nsBHc1Nf3jSYyvdpLgOCpzRGLYDV5QoGRmAEz8ULxoOMIOjkqLNYKJKpJ5O4zfNoRvzGnX
w9QojRRq761QRQMivUding5V34/j5/K+B659wAFunJZmobClvKp4oEkqsgbbrlUmh/SqC/RU
WHivZiwXkxhBFtnI+Jc47jY/zEexSxxbjTVawr0F0mF3fIcVa7AVldMaEgpbi6pHJqZ0hN+7
wMTvAlMASJjhmacgrX97B0hQQl2g3zj3MtkRbSFpYgpERnuxwWHc7mYOS7HNd+xjPHY57/LR
ns85vY6J0VbjQf5UNWn8i7YGFxCjQ20XEN7kVakdw6rf7Zqbi1hB8TvMiJYb/5BHzJQH8Bu2
hjVG3O4p2bblHpxSDK9DiWzKiJhJw3SspQkkTKoNpx75KUj4LYn3tmXSiE72z7KoxFaGUOoE
VxvYqkn1GZjy3gT4/u3z4+fqm47pjYZWGA3awOuYaxxzvUAwq8UExcxQDF4bxsFqibaznKIY
lINlgGLmKAblerlEMTcI5ibAytygPXoTYN9zM8faWV1b3yMsWbAI2xVSYDpD2xcoq6sJjxjz
1z/1g2d+cOAHI7wv/OClH3ztB98gfCOsTBFephYz24Kt2soDa0xYUyer3uF/ezy9HP+9+vXw
CPl5zga1CnvOqtskJWvueu5JJxkVmFjb5XW7gIxyDqOWwpHJjqbnaOE0hywK7Z5U4GpUVjQi
tR4vvMNnDa9bGfrY8tuXJb/PJvMhebV88wKKvzKz2dUVK8UkyQQqQwyCHDLgAD4sUu/RkYwq
aB6SbCiJKUT/AuaQYyooxZWqBHM9g1gSaPVKoZvpAWQFG9H5iA0cbZuye9+A3FNDzOWv0HWP
JDZNDvnJuS9UtPSvs29XJVAqTG3fA0Gq2x5ofU4RgvGAhBxJm7Any3EKRz9bTWxluiYyNiqV
mJtNTQ8Uu7FUaHkfSKux4S1ZbofWtkjGGlIUUEELp+FIvISq2A2HK0i8WNhrt1XUtDJNDMKy
bAd6zxf7xFjn7riRugDHVZkL48KnCC5bUjIx9dMEOtC7GatJtJVtemY84ISRi75jVqOsZhK6
nsR/O1qFBTfkEmDMgOVnWFvRuIlo7HKExBvukCPvwRTFvoIHCEWT49yKKVtUd4INVrvNpwxx
NJERagHbciy1R9el6xGkPGhjtBqbopHoG7GnZMQrIM/RfZVw7iYht4V2BzfSPIOTb6dEYord
P8HMFqKrbirq3NFrJFHZyLwbMq0CLZr6+3JiVnKmgBHH24KZ6U8mJVZjSIUiJGKo7nAfoLCf
33IZ4HTdZJVLkx7gAG03RiijtHebEHi3VjYjxB2FUI3Iy+x0G9dItlFRrJ8XhnuL/9ni5X2h
UO95dFcXpTu9wbBzpN/gC6VUydCZtv0Bfk4SpZ+xESEvE1Ugz1hLu0lnoJtcKWZ/4R67rojY
O36FJinlII8202ZSCvgI+5cBSS8UPd/SlRbGUlHFFgkcZ8qJD5RynXGLIuoKqlo0dS0/ToYU
sdquQJKrF5LaSkb7VVh48G0CbVwCKLCKyN0hvSYfxH6AFaBCmDh9rjEjdeVeEJLS/Ayj3f7E
3q6o58GZSnbXo1PkwuwQSpQXSeLAlQHlVNZNbDV+2qCF4Ke4Ae0vL1fyIjd0ZQ+H1y0QWiPu
CiCWxkAu5sgoodK+iku/ZOsc1FnhiklDSKqR1zQtMsWH7ux4dDvHnvhnwdN1Xk2Ebigx1QBu
BI6tMQBx2axPuVCIr02GvVMHE43FVL52mAY3c3C3kMrcp/C7bugtad1FQ9pN+EGWMsKW88G0
8lNByqy2Iixe4t/GSQZh9nwvFUFYSI2+XcfGmTf8Hi8gzJh+t2YaKVuxD6uRwAuwRYuk5svM
3NeaO0ZnyklzodFWvcx/1dkPxm2vBm/jcF2ilpec78LArhIhU84VSx+QOm6y0jYVqwLeN7hq
TMEvaXoOiX6KuJGPzZGHlZ1ZdsDrUn4h+ETp/Ebqyspaq4/YeQGcJaHhAqOcZivvZBvaUUZb
W9+VtJ0cVpPvEwwnZP3Uj2vkv7/P/Fgp+AIHJxszXGUGBOLnPlA0uKE50ECr3jnT329qLJ6/
ubPmpE1LhMlrbKSikowMGeTFyNg9uCOnQnLkYxZ7t2KkcQSBgNQpxJj9DuraN45dSrrHz9PT
x2/t7eM5darpGpLLG0Iqn5qjqV15b9jJu1eMsHfSgNDBHJwi1FeN0o4iEz4yYOfWSOQeVA0O
I9+GA+uDMHmlWa6pZCVZzctkBQPBV97Z0IN+i6xA5a0NUYIadJuW3Vl2czF4Gpx+v328Xj3C
264hppnmZyaJIeGMUB92HR145sIpib1Al1So/AhSf1c4xi3U3ZC4QJe00u22M8wlLCG1mB/q
EmckFzuLCoMbWUw7FKwo3/WNUbCNGZenk/Jww6l+nUxnq6xJjXslhcob7Mam/xD4izMA15O3
DW2o06j8o1289cPZ1BuxZj1f6hUE5PPj1/Hl4+lRPi6hL48w7yAE6/+fPn5dkff318cniYof
Ph50x5eeC+Q1Zd8z42hOb5mbLzOUvpXPr3/rDwT69kLfp0V1NdZM5L/cU0gahU7fptXeM5al
aByv51Dz/mR98/D+C+FfGJS+DzhYVdv4nSjm9FP89M/x/cPtoioKZt5ekoiRJIv9oMGSHVkT
8dyZdVm88DQoLNcNkTnPRj+uymIsypZGgQTWP1PMkMR6Z4pgNsE/i2/I1PMNAG455zQYLSoa
d2aRAC+mPplTrysr/ry16Et/OTkwbZQKUdPmzB1ItT6f3n6ZPsm9nOce2c+l3bece1oDpK8V
hy5vQjaywMQ+Ye7RIsU+YR510SPOngF2ewOF4nx04ZMMchiTr9B8qTpeLy4RLPGeiCn3fE/i
qACbYrsh9yQeFaQk5WQ2+QLJFz7TDj9iY6sSNvnPnnISI1YLnX2hmZqOjku9L2CUv0DylbYM
yjbYm5uBLgDa89vp+P4utJ+zeITVCOeZzmy9N97K9drjfjDjqoeXv1+fr/LP57+Op6u1ysTn
a4DknIntgjKLfDaKPCewBTNKyDsbDR/Gzd7TEBzylCRGMsfKPeR2l1mnjAICB2CQgs2DkSdC
iWZ2AlCwGMnzA7glgSN+Ew37VKuAsqQTLaKcuoNh9330tjO1PjUlc7YE0yvOYpsc9tGkiZEY
qjsZpz+n3gB7LCdVdwaR9FMgffrr9HD6fXV6/fx4ejHePMptgL49CJnYv8NTDOoeasKrBHiD
IFpXCXAtPGQCYEWmH5D2KBRsTgGxz4lY7TdGo6mh36K2nk5ilpgwVjdtbYACS40JwNjhQkeQ
soiGdytPUYXBlrokIdWeIMF2FUXIkKavtSB+LBzMqDOB5r0CCx8ulEypIKGOrBDyQCZIrow3
IACF8xYbfrgHsP0bJJcDkyfspUvLiB6dvAMSPRT4GVZvmix0EHC97NYbRj+MEyMFRcYSYjj1
qb4NkBWMkEAmIaL1s0x7Dfl2iSkZ4IKqMiZyfKt7MKads935VFSsJOtGebh4qGIGXob/AQMl
nFqv/AAA

--qMm9M+Fa2AknHoGS
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--qMm9M+Fa2AknHoGS--


From xen-devel-bounces@lists.xen.org Tue May 29 17:36:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 17:36:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZQLP-0003mW-LW; Tue, 29 May 2012 17:36:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZQLO-0003mR-7z
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 17:36:30 +0000
Received: from [85.158.138.51:30427] by server-10.bemta-3.messagelabs.com id
	83/4F-12071-D1905CF4; Tue, 29 May 2012 17:36:29 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338312987!29828001!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30754 invoked from network); 29 May 2012 17:36:28 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 17:36:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,678,1330923600"; d="scan'208";a="196787778"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 13:36:26 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	13:36:26 -0400
Message-ID: <4FC50918.4000608@citrix.com>
Date: Tue, 29 May 2012 18:36:24 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1338310689-5967-1-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1338310689-5967-1-git-send-email-konrad.wilk@oracle.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] xen/balloon: Subtract from
 xen_released_pages the count that is populated.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 17:58, Konrad Rzeszutek Wilk wrote:
> We did not take into account that xen_released_pages would be
> used outside the initial E820 parsing code. As such we would
> not subtract from xen_released_pages the count of pages
> that we had populated back. Instead we just did a simple
> extra_pages = released - populated calculation.
> 
> However the balloon worker uses xen_released_pages to figure
> out how many more pages it can balloon up to and not having
> the proper numbers we would balloon more than we should have.

I would probably rephrase this paragraph to be a bit clearer but it's
not a big deal.  Something like this perhaps:

"The balloon driver uses xen_released_pages to set the initial
current_pages count.  If this is wrong (too low) then when a new
(higher) target is set, the balloon driver will request too many pages
from Xen."

> This fixes errors such as:
> 
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (51 of 512)
> during bootup and
> free_memory            : 0
> 
> where the free_memory should be 128.
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: David Vrabel <david.vrabel@citrix.com>

> ---
>  arch/x86/xen/setup.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 3ebba07..a4790bf 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -371,7 +371,8 @@ char * __init xen_memory_setup(void)
>  	populated = xen_populate_chunk(map, memmap.nr_entries,
>  			max_pfn, &last_pfn, xen_released_pages);
>  
> -	extra_pages += (xen_released_pages - populated);
> +	xen_released_pages -= populated;
> +	extra_pages += xen_released_pages;
>  
>  	if (last_pfn > max_pfn) {
>  		max_pfn = min(MAX_DOMAIN_PAGES, last_pfn);


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 17:36:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 17:36:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZQLP-0003mW-LW; Tue, 29 May 2012 17:36:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZQLO-0003mR-7z
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 17:36:30 +0000
Received: from [85.158.138.51:30427] by server-10.bemta-3.messagelabs.com id
	83/4F-12071-D1905CF4; Tue, 29 May 2012 17:36:29 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338312987!29828001!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU4MTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30754 invoked from network); 29 May 2012 17:36:28 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 17:36:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,678,1330923600"; d="scan'208";a="196787778"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 13:36:26 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Tue, 29 May 2012
	13:36:26 -0400
Message-ID: <4FC50918.4000608@citrix.com>
Date: Tue, 29 May 2012 18:36:24 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1338310689-5967-1-git-send-email-konrad.wilk@oracle.com>
In-Reply-To: <1338310689-5967-1-git-send-email-konrad.wilk@oracle.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH] xen/balloon: Subtract from
 xen_released_pages the count that is populated.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 17:58, Konrad Rzeszutek Wilk wrote:
> We did not take into account that xen_released_pages would be
> used outside the initial E820 parsing code. As such we would
> not subtract from xen_released_pages the count of pages
> that we had populated back. Instead we just did a simple
> extra_pages = released - populated calculation.
> 
> However the balloon worker uses xen_released_pages to figure
> out how many more pages it can balloon up to and not having
> the proper numbers we would balloon more than we should have.

I would probably rephrase this paragraph to be a bit clearer but it's
not a big deal.  Something like this perhaps:

"The balloon driver uses xen_released_pages to set the initial
current_pages count.  If this is wrong (too low) then when a new
(higher) target is set, the balloon driver will request too many pages
from Xen."

> This fixes errors such as:
> 
> (XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (51 of 512)
> during bootup and
> free_memory            : 0
> 
> where the free_memory should be 128.
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: David Vrabel <david.vrabel@citrix.com>

> ---
>  arch/x86/xen/setup.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 3ebba07..a4790bf 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -371,7 +371,8 @@ char * __init xen_memory_setup(void)
>  	populated = xen_populate_chunk(map, memmap.nr_entries,
>  			max_pfn, &last_pfn, xen_released_pages);
>  
> -	extra_pages += (xen_released_pages - populated);
> +	xen_released_pages -= populated;
> +	extra_pages += xen_released_pages;
>  
>  	if (last_pfn > max_pfn) {
>  		max_pfn = min(MAX_DOMAIN_PAGES, last_pfn);


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 18:47:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 18:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZRRX-00048I-F1; Tue, 29 May 2012 18:46:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZRRW-00048D-4s
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 18:46:54 +0000
Received: from [85.158.143.35:29316] by server-2.bemta-4.messagelabs.com id
	B6/8C-11595-D9915CF4; Tue, 29 May 2012 18:46:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338317211!17907176!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5038 invoked from network); 29 May 2012 18:46:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 18:46:52 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TIkdwO023649
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 18:46:40 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TIkcai025889
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 18:46:38 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TIkbwY027794; Tue, 29 May 2012 13:46:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 11:46:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B42C14029A; Tue, 29 May 2012 14:39:52 -0400 (EDT)
Date: Tue, 29 May 2012 14:39:52 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120529183952.GA31237@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> An approach which basically same as you suggested but w/ slightly update, is
> 1). at xen/mcelog.c, do misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define it as device_initcall(xen_late_init_mcelog) --> now linux dd ready, so xen mcelog divice would register successfully;

OK.
> 2). at native mce.c, change 1 line from device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device) --> so misc_register(&mce_chrdev_device) would be blocked by xen mcelog device;

You mean that the registration would be delayed to the next initcall level.
Ok, that sounds right.. but you also need to actually check the 'misc_register' return
value and if it fails (which it would in this case) unroll all the registration
that the generic code I think?

> 
> I have draft test it and works fine.
> Thought?
> 
> Thanks,
> Jinsong
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 18:47:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 18:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZRRX-00048I-F1; Tue, 29 May 2012 18:46:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZRRW-00048D-4s
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 18:46:54 +0000
Received: from [85.158.143.35:29316] by server-2.bemta-4.messagelabs.com id
	B6/8C-11595-D9915CF4; Tue, 29 May 2012 18:46:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338317211!17907176!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTU3NjM3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5038 invoked from network); 29 May 2012 18:46:52 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 18:46:52 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4TIkdwO023649
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 29 May 2012 18:46:40 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4TIkcai025889
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 18:46:38 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4TIkbwY027794; Tue, 29 May 2012 13:46:37 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 29 May 2012 11:46:37 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id B42C14029A; Tue, 29 May 2012 14:39:52 -0400 (EDT)
Date: Tue, 29 May 2012 14:39:52 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120529183952.GA31237@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> An approach which basically same as you suggested but w/ slightly update, is
> 1). at xen/mcelog.c, do misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog, define it as device_initcall(xen_late_init_mcelog) --> now linux dd ready, so xen mcelog divice would register successfully;

OK.
> 2). at native mce.c, change 1 line from device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device) --> so misc_register(&mce_chrdev_device) would be blocked by xen mcelog device;

You mean that the registration would be delayed to the next initcall level.
Ok, that sounds right.. but you also need to actually check the 'misc_register' return
value and if it fails (which it would in this case) unroll all the registration
that the generic code I think?

> 
> I have draft test it and works fine.
> Thought?
> 
> Thanks,
> Jinsong
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 19:40:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 19:40:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZSGe-0004QQ-NC; Tue, 29 May 2012 19:39:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZSGd-0004QL-FQ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 19:39:43 +0000
Received: from [85.158.139.83:55529] by server-12.bemta-5.messagelabs.com id
	06/78-20635-EF525CF4; Tue, 29 May 2012 19:39:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338320380!27127071!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5450 invoked from network); 29 May 2012 19:39:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 19:39:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,678,1330905600"; d="scan'208";a="12723590"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 19:39:34 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 20:39:33 +0100
Message-ID: <1338320373.21683.22.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Date: Tue, 29 May 2012 20:39:33 +0100
In-Reply-To: <4FC4FBAF.6040503@citrix.com>
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<4FC4FBAF.6040503@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Simon Rowe <Simon.Rowe@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 17:39 +0100, David Vrabel wrote:
> On 29/05/12 16:56, Simon Rowe wrote:
> > xs_watch() creates a thread to wake watchers using default attributes. The
> > stacksize can be quite large (8 MB on Linux), applications that link against
> > xenstore end up having a larger memory footprint than necessary.
> > 
> > Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>
> > 
> > diff -r 53e0571f94e4 -r 0cf61ed6ce86 tools/xenstore/xs.c
> > --- a/tools/xenstore/xs.c	Fri May 25 08:21:25 2012 +0100
> > +++ b/tools/xenstore/xs.c	Tue May 29 16:45:03 2012 +0100
> > @@ -705,11 +705,31 @@ bool xs_watch(struct xs_handle *h, const
> >  	/* We dynamically create a reader thread on demand. */
> >  	mutex_lock(&h->request_mutex);
> >  	if (!h->read_thr_exists) {
> > +#if _POSIX_THREAD_ATTR_STACKSIZE > 0
> 
> This #if seems unnecessary.  pthread_attr_setsetstacksize() doesn't
> appear to be an optional.

...and if it were then autoconf is the way to figure that out now,
unless _POSIX_THREAD_ATTR_STACKSIZE is specified somewhere (which I
doubt).

Also if it is only pthread_attr_setstacksize which is optional, rather
than pthread_attr_* generally, then the #if could be pulled into just
surround that call, presuming there is no harm in a "NULL" attr.

> > +		pthread_attr_t attr;
> > +
> > +		if (pthread_attr_init(&attr) != 0) {
> > +			mutex_unlock(&h->request_mutex);
> > +			return false;
> > +		}
> > +		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {
> 
> #define for this value?

Yes, please.

Ian.

> 
> David
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 19:40:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 19:40:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZSGe-0004QQ-NC; Tue, 29 May 2012 19:39:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZSGd-0004QL-FQ
	for xen-devel@lists.xen.org; Tue, 29 May 2012 19:39:43 +0000
Received: from [85.158.139.83:55529] by server-12.bemta-5.messagelabs.com id
	06/78-20635-EF525CF4; Tue, 29 May 2012 19:39:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338320380!27127071!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiA5OTk2Nw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5450 invoked from network); 29 May 2012 19:39:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 19:39:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,678,1330905600"; d="scan'208";a="12723590"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 19:39:34 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Tue, 29 May 2012 20:39:33 +0100
Message-ID: <1338320373.21683.22.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Date: Tue, 29 May 2012 20:39:33 +0100
In-Reply-To: <4FC4FBAF.6040503@citrix.com>
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<4FC4FBAF.6040503@citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Simon Rowe <Simon.Rowe@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 17:39 +0100, David Vrabel wrote:
> On 29/05/12 16:56, Simon Rowe wrote:
> > xs_watch() creates a thread to wake watchers using default attributes. The
> > stacksize can be quite large (8 MB on Linux), applications that link against
> > xenstore end up having a larger memory footprint than necessary.
> > 
> > Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>
> > 
> > diff -r 53e0571f94e4 -r 0cf61ed6ce86 tools/xenstore/xs.c
> > --- a/tools/xenstore/xs.c	Fri May 25 08:21:25 2012 +0100
> > +++ b/tools/xenstore/xs.c	Tue May 29 16:45:03 2012 +0100
> > @@ -705,11 +705,31 @@ bool xs_watch(struct xs_handle *h, const
> >  	/* We dynamically create a reader thread on demand. */
> >  	mutex_lock(&h->request_mutex);
> >  	if (!h->read_thr_exists) {
> > +#if _POSIX_THREAD_ATTR_STACKSIZE > 0
> 
> This #if seems unnecessary.  pthread_attr_setsetstacksize() doesn't
> appear to be an optional.

...and if it were then autoconf is the way to figure that out now,
unless _POSIX_THREAD_ATTR_STACKSIZE is specified somewhere (which I
doubt).

Also if it is only pthread_attr_setstacksize which is optional, rather
than pthread_attr_* generally, then the #if could be pulled into just
surround that call, presuming there is no harm in a "NULL" attr.

> > +		pthread_attr_t attr;
> > +
> > +		if (pthread_attr_init(&attr) != 0) {
> > +			mutex_unlock(&h->request_mutex);
> > +			return false;
> > +		}
> > +		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {
> 
> #define for this value?

Yes, please.

Ian.

> 
> David
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 19:48:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 19:48:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZSOT-0004ZR-L7; Tue, 29 May 2012 19:47:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SZSOS-0004ZL-75
	for xen-devel@lists.xen.org; Tue, 29 May 2012 19:47:48 +0000
Received: from [85.158.138.51:35268] by server-9.bemta-3.messagelabs.com id
	96/C9-21565-3E725CF4; Tue, 29 May 2012 19:47:47 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338320866!29748631!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MzIzMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30737 invoked from network); 29 May 2012 19:47:46 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 19:47:46 -0000
Received: from smtphost1.dur.ac.uk (smtphost1.dur.ac.uk [129.234.252.1])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TJlOJT000650;
	Tue, 29 May 2012 20:47:28 +0100
Received: from vega-c.dur.ac.uk (vega-c.dur.ac.uk [129.234.250.135])
	by smtphost1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TJl8Sa014212
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 20:47:08 +0100
Received: from vega-c.dur.ac.uk (localhost [127.0.0.1])
	by vega-c.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4TJl82U029722;
	Tue, 29 May 2012 20:47:08 +0100
Received: from localhost (dcl0may@localhost)
	by vega-c.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4TJl7BO029718;
	Tue, 29 May 2012 20:47:07 +0100
Date: Tue, 29 May 2012 20:47:07 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20420.45789.512558.796177@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205292016080.27374@vega-c.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4TJlOJT000650
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Ian Jackson wrote:

> M A Young writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
>> I am attaching the third version of this patch. The datafile object
>> doesn't have an explicit close so this patch uses del to clean it. I was
>> also using unlink incorrectly which is now fixed.
>
> Why does pygrub need to unlink the output files on error ?  Shouldn't
> pygrub's caller do that ?  libxl does.

We were having a similar discussion on the thread about a rival patch 
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01499.html
I was playing it safe and removing the files quickly when an error occurs, 
possibly due to one of these files taking the available space. If the 
calling process will clear up properly and isn't going to be confused by 
incomplete files then the unlinking isn't needed.

> Also the two bits of code which read the kernel and ramdisk are now
> much larger and very similar to each other.  Couldn't this be
> refactored to have less duplication ?

The rival patch mentioned above does this, so that might be a reasonable 
alternative, though it doesn't handle the case of a huge grub (or similar) 
configuration file.

On Tue, 2012-05-29 at 12:30 +0100, Ian Jackson wrote:
> And, would shutil.copyfileobj be of any use ?  It goes back as far as
> Python 2.3 at least.

It might do. I suspect that the fsimage is sufficiently like a file for 
that to work, though it would need to be tested.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 19:48:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 19:48:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZSOT-0004ZR-L7; Tue, 29 May 2012 19:47:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SZSOS-0004ZL-75
	for xen-devel@lists.xen.org; Tue, 29 May 2012 19:47:48 +0000
Received: from [85.158.138.51:35268] by server-9.bemta-3.messagelabs.com id
	96/C9-21565-3E725CF4; Tue, 29 May 2012 19:47:47 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338320866!29748631!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MzIzMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30737 invoked from network); 29 May 2012 19:47:46 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 29 May 2012 19:47:46 -0000
Received: from smtphost1.dur.ac.uk (smtphost1.dur.ac.uk [129.234.252.1])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TJlOJT000650;
	Tue, 29 May 2012 20:47:28 +0100
Received: from vega-c.dur.ac.uk (vega-c.dur.ac.uk [129.234.250.135])
	by smtphost1.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TJl8Sa014212
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 29 May 2012 20:47:08 +0100
Received: from vega-c.dur.ac.uk (localhost [127.0.0.1])
	by vega-c.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4TJl82U029722;
	Tue, 29 May 2012 20:47:08 +0100
Received: from localhost (dcl0may@localhost)
	by vega-c.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4TJl7BO029718;
	Tue, 29 May 2012 20:47:07 +0100
Date: Tue, 29 May 2012 20:47:07 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <20420.45789.512558.796177@mariner.uk.xensource.com>
Message-ID: <alpine.DEB.2.00.1205292016080.27374@vega-c.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4TJlOJT000650
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Ian Jackson wrote:

> M A Young writes ("Re: [Xen-devel] [PATCH] make pygrub cope better with big files in guest"):
>> I am attaching the third version of this patch. The datafile object
>> doesn't have an explicit close so this patch uses del to clean it. I was
>> also using unlink incorrectly which is now fixed.
>
> Why does pygrub need to unlink the output files on error ?  Shouldn't
> pygrub's caller do that ?  libxl does.

We were having a similar discussion on the thread about a rival patch 
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01499.html
I was playing it safe and removing the files quickly when an error occurs, 
possibly due to one of these files taking the available space. If the 
calling process will clear up properly and isn't going to be confused by 
incomplete files then the unlinking isn't needed.

> Also the two bits of code which read the kernel and ramdisk are now
> much larger and very similar to each other.  Couldn't this be
> refactored to have less duplication ?

The rival patch mentioned above does this, so that might be a reasonable 
alternative, though it doesn't handle the case of a huge grub (or similar) 
configuration file.

On Tue, 2012-05-29 at 12:30 +0100, Ian Jackson wrote:
> And, would shutil.copyfileobj be of any use ?  It goes back as far as
> Python 2.3 at least.

It might do. I suspect that the fsimage is sufficiently like a file for 
that to work, though it would need to be tested.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 22:00:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 22:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZUSO-00057Y-Vn; Tue, 29 May 2012 22:00:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZUSN-00057T-Pi
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 22:00:00 +0000
Received: from [85.158.143.35:45796] by server-1.bemta-4.messagelabs.com id
	DC/BB-27869-ED645CF4; Tue, 29 May 2012 21:59:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338328797!16599407!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17448 invoked from network); 29 May 2012 21:59:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 21:59:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,680,1330905600"; d="scan'208";a="12724959"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 21:59:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 22:59:55 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZUSJ-0006SL-Lz;
	Tue, 29 May 2012 21:59:55 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZUSJ-0007yK-3V;
	Tue, 29 May 2012 22:59:55 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12980-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 29 May 2012 22:59:55 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12980: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12980 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12980/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  894493e84fe7
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 22:00:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 22:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZUSO-00057Y-Vn; Tue, 29 May 2012 22:00:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZUSN-00057T-Pi
	for xen-devel@lists.xensource.com; Tue, 29 May 2012 22:00:00 +0000
Received: from [85.158.143.35:45796] by server-1.bemta-4.messagelabs.com id
	DC/BB-27869-ED645CF4; Tue, 29 May 2012 21:59:58 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338328797!16599407!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17448 invoked from network); 29 May 2012 21:59:58 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	29 May 2012 21:59:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,680,1330905600"; d="scan'208";a="12724959"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	29 May 2012 21:59:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Tue, 29 May 2012 22:59:55 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZUSJ-0006SL-Lz;
	Tue, 29 May 2012 21:59:55 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZUSJ-0007yK-3V;
	Tue, 29 May 2012 22:59:55 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12980-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Tue, 29 May 2012 22:59:55 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12980: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12980 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12980/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  894493e84fe7
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 22:23:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 22:23:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZUoW-0005KM-0e; Tue, 29 May 2012 22:22:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SZUoU-0005KH-Ig
	for xen-devel@lists.xen.org; Tue, 29 May 2012 22:22:50 +0000
Received: from [85.158.138.51:29051] by server-5.bemta-3.messagelabs.com id
	B2/3E-27664-93C45CF4; Tue, 29 May 2012 22:22:49 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338330168!29672963!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30874 invoked from network); 29 May 2012 22:22:48 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-16.tower-174.messagelabs.com with SMTP;
	29 May 2012 22:22:48 -0000
X-TM-IMSS-Message-ID: <1960fd76000297f0@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 1960fd76000297f0 ;
	Tue, 29 May 2012 18:23:22 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q4TMMj6r007690; 
	Tue, 29 May 2012 18:22:46 -0400
Message-ID: <4FC54C35.2090802@tycho.nsa.gov>
Date: Tue, 29 May 2012 18:22:45 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jean Guyader <jean.guyader@gmail.com>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
In-Reply-To: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/24/2012 01:23 PM, Jean Guyader wrote:
> As I'm going through the code to clean-up XenClient's inter VM
> communication
> (V4V), I thought it would be a good idea to start a thread to talk about
> the
> fundamental differences between V4V and libvchan. I believe the two system
> are
> not clones of eachother and they serve different
> purposes.
> 
> 
> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
> about libvchan it coming from my reading of the code. If some of the facts
> are wrong it's only due to my ignorance about the subject.
> 

I'll try to fill in some of these points with my understanding of libvchan;
I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
there.

> 1. Why V4V?
> 
> About the time when we started XenClient (3 year ago) we were looking for a
> lightweight inter VM communication scheme. We started working on a system
> based on netchannel2 at the time called V2V (VM to VM). The system
> was very similar to what libvchan is today, and we started to hit some
> roadblocks:
> 
>     - The setup relied on a broker in dom0 to prepare the xenstore node
>       permissions when a guest wanted to create a new connection. The code
>       to do this setup was a single point of failure. If the
>       broker was down you could create any more connections.

libvchan avoids this by allowing the application to determine the xenstore
path and adjusts permissions itself; the path /local/domain/N/data is
suitable for a libvchan server in domain N to create the nodes in question.

>     - Symmetric communications were a nightmare. Take the case where A is a
>       backend for B and B is a backend for A. If one of the domain crash the
>       other one couldn't be destroyed because it has some paged mapped from
>       the dead domain. This specific issue is probably fixed today.

This is mostly taken care of by improvements in the hypervisor's handling of
grant mappings. If one domain holds grant mappings open, the domain whose
grants are held can't be fully destroyed, but if both domains are being
destroyed then cycles of grant mappings won't stop them from going away.
 
> Some of the downsides to using the shared memory grant method:
>     - This method imposes an implicit ordering on domain destruction.
>       When this ordering is not honored the grantor domain cannot shutdown
>       while the grantee still holds references. In the extreme case where
>       the grantee domain hangs or crashes without releasing it granted
>       pages, both domains can end up hung and unstoppable (the DEADBEEF
>       issue).

This is fixed on current hypervisors.

>     - You can't trust any ring structures because the entire set of pages
>       that are granted are available to be written by the either guest.

This is not a problem: the rings are only used to communicate between the
guests, so the worst that a guest can do is corrupt the data that it sends or
cause spurious events. Note that libvchan does copy some important state out
of the shared page (ring sizes) once at startup because unexpected changes to
these values could cause problems.

>     - The PV connect/disconnect state-machine is poorly implemented.
>       There's no trivial mechanism to synchronize disconnecting/reconnecting
>       and dom0 must also allow the two domains to see parts of xenstore
>       belonging to the other domain in the process.

No interaction from dom0 is required to allow two domUs to communicate using
xenstore (assuming the standard xenstored; more restrictive xenstored
daemons may add such restrictions, intended to be used in conjunction with XSM
policies preventing direct communication via event channels/grants). The
connection state machine is weak; an external mechanism (perhaps the standard
xenbus "state" entry) could be used to coordinate this better in the user of
libvchan.

>     - Using the grant-ref model and having to map grant pages on each
>       transfer cause updates to V->P memory mappings and thus leads to
>       TLB misses and flushes (TLB flushes being expensive operations).

This mapping only happens once at the open of the channel, so this cost becomes
unimportant for a long-running channel. The cost is far higher for HVM domains
that use PCI devices since the grant mapping causes an IOMMU flush.

> 
> After a lot time spent trying to make the V2V solution work the way we
> wanted,  we decided that we should look at a new design that wouldn't have
> the issues mentioned above. At this point we started to work on V4V (V2V
> version 2).
> 
> 2. What is V4V?
> 
> One of the fundamental problem about V2V was that it didn't implement a
> connection mechanism. If one end of the ring disappeared you had to hope
> that you would received the xenstore watch that will sort everything out.
> 
> V4V is a inter-domain communication that supports 1 to many connections.
> All the communications from a domain (even dom0) to another domain goes
> through Xen and Xen forward the packet with a memory copies.
> 
> Here are some of the reasons why we think v4v is a good solution for
> inter-domain communication.
> 
> Reasons why the V4V method is quite good even though it does memory copies:
>     - Memory transfer speeds through the FSB in modern chipsets is quite
>       fast. Speeds on the order of 10-12 Gb/s (over say 2 DRAM channels)
>       can be realized.
>     - Transfers on a single clock cycle using SSE(2)(3) instructions allow
>       moving up to 128 bits at a time.
>     - Locality of reference arguments with respect to processor caches
>       imply even more speed-up due to likely cache hits (this may in fact
>       make the most difference in mem copy speed).

As I understand it, the same copies happen in libvchan: one copy from the
source to a buffer (hypervisor buffer in V4V, shared pages in libvchan) and
one copy out of the buffer to the destination. Both of these copies should
be able to take advantage of processor caches assuming reasonable locality
of data use and send/recv calls.

>     - V4V provides much better domain isolation since one domain's memory
>       is never seen by another and the hypervisor (a trusted component)
>       brokers all interactions. This also implies that the structure of
>       the ring can be trusted.

This is important for multicast, which libvchan does not support; it is not
as important for unicast.

>     - Use of V4V obviates the event channel depletion issue since
>       it doesn't consume individual channel bits when using VIRQs.

This is a significant advantage of V4V if channels are used in place of
local network communications as opposed to device drivers or other
OS-level components.

>     - The projected overhead of VMEXITs (that was originally cited as a
>       majorly limiting factor) did not manifest itself as an issue. In
>       fact, it can be seen that in the worst case V4V is not causing
>       many more VMEXITs than the shared memory grant method and in
>       general is at parity with the existing method.
>     - The implementation specifics of V4V make its use in both a Windows
>       and a Unix/Linux type OS's very simple and natural (ReadFile/WriteFile
>       and sockets respectively). In addition, V4V uses TCP/IP protocol
>       semantics which are widely understood and it does not introduce an
>       entire new protocol set that must be learned.
>     - V4V comes with a userspace library that can be use to interpose
>       the standard userspace socket layer. That mean that *any* network
>       program can be "V4Ved" *without* behing recompiled.
>       In fact we tried it on many program suchs as ssh, midori,
>       dbus (TCP-IP), X11.
>       This is possible because the underlying V4V protocol implement
>       a V4V sementic and supports connection. Suchs feature will be
>       really really hard to implement over the top of the current
>       libvchan implementation.
> 
> 3. V4V compared to libvchan
> 
> I've done some benchmarks on V4V and libchan and the results were
> pretty close between the the two if you use the same buffer size in both
> cases.
> 

[followup from Stefano's replies]
I would not expect much difference even on a NUMA system, assuming each domU
is fully contained within a NUMA node: one of the two copies made by libvchan
will be confined to a single node, while the other copy will be cross-node.
With domUs not properly confined to nodes, the hypervisor might be able to do
better in cases where libvchan would have required two inter-node copies.

> 
> In conclusion, this is not an attempt to demonstrate that V4V is superior to
> libvchan. Rather it is an attempt to illustrate that they can coexist in the
> Xen ecosystem, helping to solve different sets of problems.
> 
> Thanks,
> Jean
> 

-- 
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 22:23:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 22:23:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZUoW-0005KM-0e; Tue, 29 May 2012 22:22:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SZUoU-0005KH-Ig
	for xen-devel@lists.xen.org; Tue, 29 May 2012 22:22:50 +0000
Received: from [85.158.138.51:29051] by server-5.bemta-3.messagelabs.com id
	B2/3E-27664-93C45CF4; Tue, 29 May 2012 22:22:49 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338330168!29672963!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30874 invoked from network); 29 May 2012 22:22:48 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-16.tower-174.messagelabs.com with SMTP;
	29 May 2012 22:22:48 -0000
X-TM-IMSS-Message-ID: <1960fd76000297f0@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 1960fd76000297f0 ;
	Tue, 29 May 2012 18:23:22 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q4TMMj6r007690; 
	Tue, 29 May 2012 18:22:46 -0400
Message-ID: <4FC54C35.2090802@tycho.nsa.gov>
Date: Tue, 29 May 2012 18:22:45 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jean Guyader <jean.guyader@gmail.com>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
In-Reply-To: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/24/2012 01:23 PM, Jean Guyader wrote:
> As I'm going through the code to clean-up XenClient's inter VM
> communication
> (V4V), I thought it would be a good idea to start a thread to talk about
> the
> fundamental differences between V4V and libvchan. I believe the two system
> are
> not clones of eachother and they serve different
> purposes.
> 
> 
> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
> about libvchan it coming from my reading of the code. If some of the facts
> are wrong it's only due to my ignorance about the subject.
> 

I'll try to fill in some of these points with my understanding of libvchan;
I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
there.

> 1. Why V4V?
> 
> About the time when we started XenClient (3 year ago) we were looking for a
> lightweight inter VM communication scheme. We started working on a system
> based on netchannel2 at the time called V2V (VM to VM). The system
> was very similar to what libvchan is today, and we started to hit some
> roadblocks:
> 
>     - The setup relied on a broker in dom0 to prepare the xenstore node
>       permissions when a guest wanted to create a new connection. The code
>       to do this setup was a single point of failure. If the
>       broker was down you could create any more connections.

libvchan avoids this by allowing the application to determine the xenstore
path and adjusts permissions itself; the path /local/domain/N/data is
suitable for a libvchan server in domain N to create the nodes in question.

>     - Symmetric communications were a nightmare. Take the case where A is a
>       backend for B and B is a backend for A. If one of the domain crash the
>       other one couldn't be destroyed because it has some paged mapped from
>       the dead domain. This specific issue is probably fixed today.

This is mostly taken care of by improvements in the hypervisor's handling of
grant mappings. If one domain holds grant mappings open, the domain whose
grants are held can't be fully destroyed, but if both domains are being
destroyed then cycles of grant mappings won't stop them from going away.
 
> Some of the downsides to using the shared memory grant method:
>     - This method imposes an implicit ordering on domain destruction.
>       When this ordering is not honored the grantor domain cannot shutdown
>       while the grantee still holds references. In the extreme case where
>       the grantee domain hangs or crashes without releasing it granted
>       pages, both domains can end up hung and unstoppable (the DEADBEEF
>       issue).

This is fixed on current hypervisors.

>     - You can't trust any ring structures because the entire set of pages
>       that are granted are available to be written by the either guest.

This is not a problem: the rings are only used to communicate between the
guests, so the worst that a guest can do is corrupt the data that it sends or
cause spurious events. Note that libvchan does copy some important state out
of the shared page (ring sizes) once at startup because unexpected changes to
these values could cause problems.

>     - The PV connect/disconnect state-machine is poorly implemented.
>       There's no trivial mechanism to synchronize disconnecting/reconnecting
>       and dom0 must also allow the two domains to see parts of xenstore
>       belonging to the other domain in the process.

No interaction from dom0 is required to allow two domUs to communicate using
xenstore (assuming the standard xenstored; more restrictive xenstored
daemons may add such restrictions, intended to be used in conjunction with XSM
policies preventing direct communication via event channels/grants). The
connection state machine is weak; an external mechanism (perhaps the standard
xenbus "state" entry) could be used to coordinate this better in the user of
libvchan.

>     - Using the grant-ref model and having to map grant pages on each
>       transfer cause updates to V->P memory mappings and thus leads to
>       TLB misses and flushes (TLB flushes being expensive operations).

This mapping only happens once at the open of the channel, so this cost becomes
unimportant for a long-running channel. The cost is far higher for HVM domains
that use PCI devices since the grant mapping causes an IOMMU flush.

> 
> After a lot time spent trying to make the V2V solution work the way we
> wanted,  we decided that we should look at a new design that wouldn't have
> the issues mentioned above. At this point we started to work on V4V (V2V
> version 2).
> 
> 2. What is V4V?
> 
> One of the fundamental problem about V2V was that it didn't implement a
> connection mechanism. If one end of the ring disappeared you had to hope
> that you would received the xenstore watch that will sort everything out.
> 
> V4V is a inter-domain communication that supports 1 to many connections.
> All the communications from a domain (even dom0) to another domain goes
> through Xen and Xen forward the packet with a memory copies.
> 
> Here are some of the reasons why we think v4v is a good solution for
> inter-domain communication.
> 
> Reasons why the V4V method is quite good even though it does memory copies:
>     - Memory transfer speeds through the FSB in modern chipsets is quite
>       fast. Speeds on the order of 10-12 Gb/s (over say 2 DRAM channels)
>       can be realized.
>     - Transfers on a single clock cycle using SSE(2)(3) instructions allow
>       moving up to 128 bits at a time.
>     - Locality of reference arguments with respect to processor caches
>       imply even more speed-up due to likely cache hits (this may in fact
>       make the most difference in mem copy speed).

As I understand it, the same copies happen in libvchan: one copy from the
source to a buffer (hypervisor buffer in V4V, shared pages in libvchan) and
one copy out of the buffer to the destination. Both of these copies should
be able to take advantage of processor caches assuming reasonable locality
of data use and send/recv calls.

>     - V4V provides much better domain isolation since one domain's memory
>       is never seen by another and the hypervisor (a trusted component)
>       brokers all interactions. This also implies that the structure of
>       the ring can be trusted.

This is important for multicast, which libvchan does not support; it is not
as important for unicast.

>     - Use of V4V obviates the event channel depletion issue since
>       it doesn't consume individual channel bits when using VIRQs.

This is a significant advantage of V4V if channels are used in place of
local network communications as opposed to device drivers or other
OS-level components.

>     - The projected overhead of VMEXITs (that was originally cited as a
>       majorly limiting factor) did not manifest itself as an issue. In
>       fact, it can be seen that in the worst case V4V is not causing
>       many more VMEXITs than the shared memory grant method and in
>       general is at parity with the existing method.
>     - The implementation specifics of V4V make its use in both a Windows
>       and a Unix/Linux type OS's very simple and natural (ReadFile/WriteFile
>       and sockets respectively). In addition, V4V uses TCP/IP protocol
>       semantics which are widely understood and it does not introduce an
>       entire new protocol set that must be learned.
>     - V4V comes with a userspace library that can be use to interpose
>       the standard userspace socket layer. That mean that *any* network
>       program can be "V4Ved" *without* behing recompiled.
>       In fact we tried it on many program suchs as ssh, midori,
>       dbus (TCP-IP), X11.
>       This is possible because the underlying V4V protocol implement
>       a V4V sementic and supports connection. Suchs feature will be
>       really really hard to implement over the top of the current
>       libvchan implementation.
> 
> 3. V4V compared to libvchan
> 
> I've done some benchmarks on V4V and libchan and the results were
> pretty close between the the two if you use the same buffer size in both
> cases.
> 

[followup from Stefano's replies]
I would not expect much difference even on a NUMA system, assuming each domU
is fully contained within a NUMA node: one of the two copies made by libvchan
will be confined to a single node, while the other copy will be cross-node.
With domUs not properly confined to nodes, the hypervisor might be able to do
better in cases where libvchan would have required two inter-node copies.

> 
> In conclusion, this is not an attempt to demonstrate that V4V is superior to
> libvchan. Rather it is an attempt to illustrate that they can coexist in the
> Xen ecosystem, helping to solve different sets of problems.
> 
> Thanks,
> Jean
> 

-- 
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 23:14:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 23:14:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZVcB-0005cH-8m; Tue, 29 May 2012 23:14:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SZVc9-0005cC-9d
	for xen-devel@lists.xen.org; Tue, 29 May 2012 23:14:09 +0000
Received: from [85.158.143.35:63686] by server-2.bemta-4.messagelabs.com id
	43/12-11595-04855CF4; Tue, 29 May 2012 23:14:08 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-4.tower-21.messagelabs.com!1338333247!7451165!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MzMzMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9917 invoked from network); 29 May 2012 23:14:08 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 23:14:08 -0000
Received: from smtphost2.dur.ac.uk (smtphost2.dur.ac.uk [129.234.252.2])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TNDS1S011744;
	Wed, 30 May 2012 00:13:33 +0100
Received: from vega-b.dur.ac.uk (vega-b.dur.ac.uk [129.234.250.134])
	by smtphost2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TNDBmG007292
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 00:13:11 +0100
Received: from vega-b.dur.ac.uk (localhost [127.0.0.1])
	by vega-b.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4TNDB0S029041;
	Wed, 30 May 2012 00:13:11 +0100
Received: from localhost (dcl0may@localhost)
	by vega-b.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4TNDBVr029037;
	Wed, 30 May 2012 00:13:11 +0100
Date: Wed, 30 May 2012 00:13:11 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205292016080.27374@vega-c.dur.ac.uk>
Message-ID: <alpine.DEB.2.00.1205300008390.28516@vega-b.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205292016080.27374@vega-c.dur.ac.uk>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4TNDS1S011744
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, M A Young wrote:

> On Tue, 2012-05-29 at 12:30 +0100, Ian Jackson wrote:
>> And, would shutil.copyfileobj be of any use ?  It goes back as far as
>> Python 2.3 at least.
>
> It might do. I suspect that the fsimage is sufficiently like a file for that 
> to work, though it would need to be tested.

I did some testing and it isn't sufficiently like a file, I think because 
it doesn't have a file pointer so it just reads the same bytes over and 
over again.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Tue May 29 23:14:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 29 May 2012 23:14:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZVcB-0005cH-8m; Tue, 29 May 2012 23:14:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <m.a.young@durham.ac.uk>) id 1SZVc9-0005cC-9d
	for xen-devel@lists.xen.org; Tue, 29 May 2012 23:14:09 +0000
Received: from [85.158.143.35:63686] by server-2.bemta-4.messagelabs.com id
	43/12-11595-04855CF4; Tue, 29 May 2012 23:14:08 +0000
X-Env-Sender: m.a.young@durham.ac.uk
X-Msg-Ref: server-4.tower-21.messagelabs.com!1338333247!7451165!1
X-Originating-IP: [129.234.248.2]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTI5LjIzNC4yNDguMiA9PiA4MzMzMw==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9917 invoked from network); 29 May 2012 23:14:08 -0000
Received: from hermes2.dur.ac.uk (HELO hermes2.dur.ac.uk) (129.234.248.2)
	by server-4.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 29 May 2012 23:14:08 -0000
Received: from smtphost2.dur.ac.uk (smtphost2.dur.ac.uk [129.234.252.2])
	by hermes2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TNDS1S011744;
	Wed, 30 May 2012 00:13:33 +0100
Received: from vega-b.dur.ac.uk (vega-b.dur.ac.uk [129.234.250.134])
	by smtphost2.dur.ac.uk (8.13.8/8.13.7) with ESMTP id q4TNDBmG007292
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 00:13:11 +0100
Received: from vega-b.dur.ac.uk (localhost [127.0.0.1])
	by vega-b.dur.ac.uk (8.14.3/8.11.1) with ESMTP id q4TNDB0S029041;
	Wed, 30 May 2012 00:13:11 +0100
Received: from localhost (dcl0may@localhost)
	by vega-b.dur.ac.uk (8.14.3/8.14.3/Submit) with ESMTP id q4TNDBVr029037;
	Wed, 30 May 2012 00:13:11 +0100
Date: Wed, 30 May 2012 00:13:11 +0100 (BST)
From: M A Young <m.a.young@durham.ac.uk>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
In-Reply-To: <alpine.DEB.2.00.1205292016080.27374@vega-c.dur.ac.uk>
Message-ID: <alpine.DEB.2.00.1205300008390.28516@vega-b.dur.ac.uk>
References: <alpine.DEB.2.00.1205160041360.6558@vega-a.dur.ac.uk>
	<alpine.DEB.2.00.1205160823000.32268@vega-a.dur.ac.uk>
	<1337160904.27824.43.camel@zakaz.uk.xensource.com>
	<alpine.DEB.2.00.1205170029550.26049@vega-c.dur.ac.uk>
	<20420.45789.512558.796177@mariner.uk.xensource.com>
	<alpine.DEB.2.00.1205292016080.27374@vega-c.dur.ac.uk>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
X-DurhamAcUk-MailScanner: Found to be clean, Found to be clean
X-DurhamAcUk-MailScanner-ID: q4TNDS1S011744
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] make pygrub cope better with big files in
 guest
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, M A Young wrote:

> On Tue, 2012-05-29 at 12:30 +0100, Ian Jackson wrote:
>> And, would shutil.copyfileobj be of any use ?  It goes back as far as
>> Python 2.3 at least.
>
> It might do. I suspect that the fsimage is sufficiently like a file for that 
> to work, though it would need to be tested.

I did some testing and it isn't sufficiently like a file, I think because 
it doesn't have a file pointer so it just reads the same bytes over and 
over again.

 	Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 00:14:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZWXY-0006IU-S1; Wed, 30 May 2012 00:13:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZWXX-0006IP-9S
	for xen-devel@lists.xen.org; Wed, 30 May 2012 00:13:27 +0000
Received: from [85.158.139.83:60173] by server-10.bemta-5.messagelabs.com id
	16/90-22179-62665CF4; Wed, 30 May 2012 00:13:26 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338336803!31056994!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_50_60,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30486 invoked from network); 30 May 2012 00:13:25 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 00:13:25 -0000
Received: by obbwd20 with SMTP id wd20so10421424obb.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 17:13:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=f7CnCaJbekWesKPOVFegWv46LtSPs1aLyTuocbajOVM=;
	b=ocHxsHmtOTbvAuEf1Bo5G/lNPAeXfguwr+h3+rFI2PMDdAP93ygYysPZVEj9QYhIHU
	tnZLv1WlWrvQUaYAqaHSmsH9ld6wjF0ILf3MrvufIKyeKT5mvayV6yriEqMMYnCS5Wi2
	FHPc3rkL+2mOdJR/WwD3UXueiGj9RKhau3so30qGL2gbDBhTm9M4SBqP8TBm2/nu+XqG
	rlNeMkUuCwTQhbMwLvgXsmIwo46iJtlyrSlmMNkx8cv8ILHRld5iVUWDzunuPTmWACBM
	yCDdt4/DUNrX3UMUwXEZ8mIUpO4m138DYYEK13QS5blwV/NKWUjIO4Hc+RIpU3Ay5ymc
	f3cg==
MIME-Version: 1.0
Received: by 10.182.18.164 with SMTP id x4mr13109576obd.15.1338336803451; Tue,
	29 May 2012 17:13:23 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 29 May 2012 17:13:23 -0700 (PDT)
In-Reply-To: <4FC4FC4C.5040603@citrix.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
	<4FC4FC4C.5040603@citrix.com>
Date: Wed, 30 May 2012 08:13:23 +0800
Message-ID: <CANdnRvMpnxmLDLiqtg+mTKBgPFhf8j29xtQM=Cy8AOhpMK0y0w@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: Malcolm Crossley <malcolm.crossley@citrix.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6190122197252823094=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6190122197252823094==
Content-Type: multipart/alternative; boundary=f46d043891a5c2727e04c135d125

--f46d043891a5c2727e04c135d125
Content-Type: text/plain; charset=ISO-8859-1

I have already modified the corresponding code you provide. I add "case 44
(or 0x2c)" before the statement
"*cpu_type<http://lxr.linux.no/linux+*/arch/x86/oprofile/+code=cpu_type>=
"i386/core_i7";". Is it enough to make xenoprof work? Thank you!

2012/5/30 Malcolm Crossley <malcolm.crossley@citrix.com>

> On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:
>
>> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
>>
>>> Hi:
>>>    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both
>>> HVM
>>> and PV) apps and kernel performance based on passive domains. My platform
>>> is as follows:
>>>    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>>>    Hypervosir: Xen 4.1.2
>>>    Dom0 kernel: linux 2.6.38.2
>>>    I am not sure whether xenoprof can work on this platform.
>>> *   As soon as I start xenoprof in passive domain mode, the VM can't run
>>> workload immediately (The VM doesn't crash. If I ping the VM from other
>>> machine, the response time is really high ). I can't input any commands
>>> through the console prompt. *
>>>
>> Do you have the patches applied to the kernel to use oprofile?
>>
>>  The Xeon E5620 processor has model number 0x2c (Westmere class), neither
> the Xen or the latest upstream Linux kernel have oprofile support for this
> processor.
>
> http://lxr.linux.no/linux+*/**arch/x86/oprofile/nmi_int.c#**L642<http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642>
> http://xenbits.xen.org/hg/xen-**unstable.hg/file/52ffce7a036e/**
> xen/arch/x86/oprofile/nmi_int.**c#l344<http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/arch/x86/oprofile/nmi_int.c#l344>
>
>
>
>  ______________________________**_________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>>
>>
>> ______________________________**_________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>
>
> ______________________________**_________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

--f46d043891a5c2727e04c135d125
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I have already modified the corresponding code you provide. I add &quot;cas=
e 44 (or 0x2c)&quot; before the statement &quot;*<a class=3D"sref" href=3D"=
http://lxr.linux.no/linux+*/arch/x86/oprofile/+code=3Dcpu_type">cpu_type</a=
> =3D <span class=3D"string">&quot;i386/core_i7&quot;</span>;&quot;. Is it =
enough to make xenoprof work? Thank you!<br>
<br><div class=3D"gmail_quote">2012/5/30 Malcolm Crossley <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:malcolm.crossley@citrix.com" target=3D"_blank">malco=
lm.crossley@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hi:<br>
 =A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both=
 HVM<br>
and PV) apps and kernel performance based on passive domains. My platform<b=
r>
is as follows:<br>
 =A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 E5620 =A0@ 2.40GHz<br>
 =A0 =A0Hypervosir: Xen 4.1.2<br>
 =A0 =A0Dom0 kernel: linux 2.6.38.2<br>
 =A0 =A0I am not sure whether xenoprof can work on this platform.<br>
* =A0 As soon as I start xenoprof in passive domain mode, the VM can&#39;t =
run<br>
workload immediately (The VM doesn&#39;t crash. If I ping the VM from other=
<br>
machine, the response time is really high ). I can&#39;t input any commands=
<br>
through the console prompt. *<br>
</blockquote>
Do you have the patches applied to the kernel to use oprofile?<br>
<br>
</blockquote></div>
The Xeon E5620 processor has model number 0x2c (Westmere class), neither th=
e Xen or the latest upstream Linux kernel have oprofile support for this pr=
ocessor.<br>
<br>
<a href=3D"http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642" ta=
rget=3D"_blank">http://lxr.linux.no/linux+*/<u></u>arch/x86/oprofile/nmi_in=
t.c#<u></u>L642</a><br>
<a href=3D"http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/=
arch/x86/oprofile/nmi_int.c#l344" target=3D"_blank">http://xenbits.xen.org/=
hg/xen-<u></u>unstable.hg/file/52ffce7a036e/<u></u>xen/arch/x86/oprofile/nm=
i_int.<u></u>c#l344</a><div class=3D"HOEnZb">
<div class=3D"h5"><br>
<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</div></div></blockquote></div><br>

--f46d043891a5c2727e04c135d125--


--===============6190122197252823094==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6190122197252823094==--


From xen-devel-bounces@lists.xen.org Wed May 30 00:14:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZWXY-0006IU-S1; Wed, 30 May 2012 00:13:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZWXX-0006IP-9S
	for xen-devel@lists.xen.org; Wed, 30 May 2012 00:13:27 +0000
Received: from [85.158.139.83:60173] by server-10.bemta-5.messagelabs.com id
	16/90-22179-62665CF4; Wed, 30 May 2012 00:13:26 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338336803!31056994!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.4 required=7.0 tests=HTML_50_60,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30486 invoked from network); 30 May 2012 00:13:25 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 00:13:25 -0000
Received: by obbwd20 with SMTP id wd20so10421424obb.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 17:13:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=f7CnCaJbekWesKPOVFegWv46LtSPs1aLyTuocbajOVM=;
	b=ocHxsHmtOTbvAuEf1Bo5G/lNPAeXfguwr+h3+rFI2PMDdAP93ygYysPZVEj9QYhIHU
	tnZLv1WlWrvQUaYAqaHSmsH9ld6wjF0ILf3MrvufIKyeKT5mvayV6yriEqMMYnCS5Wi2
	FHPc3rkL+2mOdJR/WwD3UXueiGj9RKhau3so30qGL2gbDBhTm9M4SBqP8TBm2/nu+XqG
	rlNeMkUuCwTQhbMwLvgXsmIwo46iJtlyrSlmMNkx8cv8ILHRld5iVUWDzunuPTmWACBM
	yCDdt4/DUNrX3UMUwXEZ8mIUpO4m138DYYEK13QS5blwV/NKWUjIO4Hc+RIpU3Ay5ymc
	f3cg==
MIME-Version: 1.0
Received: by 10.182.18.164 with SMTP id x4mr13109576obd.15.1338336803451; Tue,
	29 May 2012 17:13:23 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 29 May 2012 17:13:23 -0700 (PDT)
In-Reply-To: <4FC4FC4C.5040603@citrix.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
	<4FC4FC4C.5040603@citrix.com>
Date: Wed, 30 May 2012 08:13:23 +0800
Message-ID: <CANdnRvMpnxmLDLiqtg+mTKBgPFhf8j29xtQM=Cy8AOhpMK0y0w@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: Malcolm Crossley <malcolm.crossley@citrix.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6190122197252823094=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============6190122197252823094==
Content-Type: multipart/alternative; boundary=f46d043891a5c2727e04c135d125

--f46d043891a5c2727e04c135d125
Content-Type: text/plain; charset=ISO-8859-1

I have already modified the corresponding code you provide. I add "case 44
(or 0x2c)" before the statement
"*cpu_type<http://lxr.linux.no/linux+*/arch/x86/oprofile/+code=cpu_type>=
"i386/core_i7";". Is it enough to make xenoprof work? Thank you!

2012/5/30 Malcolm Crossley <malcolm.crossley@citrix.com>

> On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:
>
>> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
>>
>>> Hi:
>>>    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both
>>> HVM
>>> and PV) apps and kernel performance based on passive domains. My platform
>>> is as follows:
>>>    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>>>    Hypervosir: Xen 4.1.2
>>>    Dom0 kernel: linux 2.6.38.2
>>>    I am not sure whether xenoprof can work on this platform.
>>> *   As soon as I start xenoprof in passive domain mode, the VM can't run
>>> workload immediately (The VM doesn't crash. If I ping the VM from other
>>> machine, the response time is really high ). I can't input any commands
>>> through the console prompt. *
>>>
>> Do you have the patches applied to the kernel to use oprofile?
>>
>>  The Xeon E5620 processor has model number 0x2c (Westmere class), neither
> the Xen or the latest upstream Linux kernel have oprofile support for this
> processor.
>
> http://lxr.linux.no/linux+*/**arch/x86/oprofile/nmi_int.c#**L642<http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642>
> http://xenbits.xen.org/hg/xen-**unstable.hg/file/52ffce7a036e/**
> xen/arch/x86/oprofile/nmi_int.**c#l344<http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/arch/x86/oprofile/nmi_int.c#l344>
>
>
>
>  ______________________________**_________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>>
>>
>> ______________________________**_________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>
>
> ______________________________**_________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

--f46d043891a5c2727e04c135d125
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I have already modified the corresponding code you provide. I add &quot;cas=
e 44 (or 0x2c)&quot; before the statement &quot;*<a class=3D"sref" href=3D"=
http://lxr.linux.no/linux+*/arch/x86/oprofile/+code=3Dcpu_type">cpu_type</a=
> =3D <span class=3D"string">&quot;i386/core_i7&quot;</span>;&quot;. Is it =
enough to make xenoprof work? Thank you!<br>
<br><div class=3D"gmail_quote">2012/5/30 Malcolm Crossley <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:malcolm.crossley@citrix.com" target=3D"_blank">malco=
lm.crossley@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hi:<br>
 =A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both=
 HVM<br>
and PV) apps and kernel performance based on passive domains. My platform<b=
r>
is as follows:<br>
 =A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 E5620 =A0@ 2.40GHz<br>
 =A0 =A0Hypervosir: Xen 4.1.2<br>
 =A0 =A0Dom0 kernel: linux 2.6.38.2<br>
 =A0 =A0I am not sure whether xenoprof can work on this platform.<br>
* =A0 As soon as I start xenoprof in passive domain mode, the VM can&#39;t =
run<br>
workload immediately (The VM doesn&#39;t crash. If I ping the VM from other=
<br>
machine, the response time is really high ). I can&#39;t input any commands=
<br>
through the console prompt. *<br>
</blockquote>
Do you have the patches applied to the kernel to use oprofile?<br>
<br>
</blockquote></div>
The Xeon E5620 processor has model number 0x2c (Westmere class), neither th=
e Xen or the latest upstream Linux kernel have oprofile support for this pr=
ocessor.<br>
<br>
<a href=3D"http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642" ta=
rget=3D"_blank">http://lxr.linux.no/linux+*/<u></u>arch/x86/oprofile/nmi_in=
t.c#<u></u>L642</a><br>
<a href=3D"http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/=
arch/x86/oprofile/nmi_int.c#l344" target=3D"_blank">http://xenbits.xen.org/=
hg/xen-<u></u>unstable.hg/file/52ffce7a036e/<u></u>xen/arch/x86/oprofile/nm=
i_int.<u></u>c#l344</a><div class=3D"HOEnZb">
<div class=3D"h5"><br>
<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</div></div></blockquote></div><br>

--f46d043891a5c2727e04c135d125--


--===============6190122197252823094==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6190122197252823094==--


From xen-devel-bounces@lists.xen.org Wed May 30 00:15:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZWZ7-0006Lv-BK; Wed, 30 May 2012 00:15:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZWZ5-0006Ll-NP
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 00:15:03 +0000
Received: from [85.158.143.35:45758] by server-3.bemta-4.messagelabs.com id
	F3/35-04252-78665CF4; Wed, 30 May 2012 00:15:03 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338336899!15325750!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10678 invoked from network); 30 May 2012 00:15:01 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 00:15:01 -0000
Received: by obfk16 with SMTP id k16so10608488obf.30
	for <xen-devel@lists.xensource.com>;
	Tue, 29 May 2012 17:14:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=9J3ahPw/LJPhhxrABmC2RUhMcf2NS+QLnk54/jFfsCY=;
	b=YJWQcB+MqjZrdzrLY9+4lMByAEqLnqfrSrmuAGZdoszLkkrPoj3+gCA1cR4jeBIZxQ
	NBJmChFAWWK6j6wxG8a2mULpkeiujNPjAKSwW/JVDSKAx+2muq7aAUWXDfUvxx2Ogg9N
	iXNka7JtSwJbmrVuGOMiXwuawLFwpPPFCl24NcsWJMCHCakoPEoSxF4hLfG6d6pbg5Ow
	btn7UvuihWDSDcYUJ2uWxCdCQDKTZoZ+ficnkVNZRAKmmDgV4bcWOuQiqZSeB1e1ZOUI
	1fsoEDdX1WJLjVBLdty8eUojRJ/UEzrlJI+H5l1x6WezIzEHgwhU1wzByDgZDMHyZSRu
	HoeQ==
MIME-Version: 1.0
Received: by 10.60.29.137 with SMTP id k9mr13443917oeh.23.1338336899033; Tue,
	29 May 2012 17:14:59 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 29 May 2012 17:14:58 -0700 (PDT)
In-Reply-To: <20120529152930.GE8293@phenom.dumpdata.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
Date: Wed, 30 May 2012 08:14:58 +0800
Message-ID: <CANdnRvM7rrgP5utdrLXuf2fv+rYYwp5RyLQR729JB2_e-apSHg@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2992167316966712208=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2992167316966712208==
Content-Type: multipart/alternative; boundary=e89a8fb202d474eb6704c135d7fb

--e89a8fb202d474eb6704c135d7fb
Content-Type: text/plain; charset=ISO-8859-1

My dom0 kernel is  2.6.38.2 and I use the xen-patches-2.6.38-2.tar.bz2. (
http://code.google.com/p/gentoo-xen-kernel/downloads/detail?name=xen-patches-2.6.38-2.tar.bz2&can=2&q=
)

2012/5/29 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
> > Hi:
> >    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both
> HVM
> > and PV) apps and kernel performance based on passive domains. My platform
> > is as follows:
> >    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
> >    Hypervosir: Xen 4.1.2
> >    Dom0 kernel: linux 2.6.38.2
> >    I am not sure whether xenoprof can work on this platform.
> > *   As soon as I start xenoprof in passive domain mode, the VM can't run
> > workload immediately (The VM doesn't crash. If I ping the VM from other
> > machine, the response time is really high ). I can't input any commands
> > through the console prompt. *
>
> Do you have the patches applied to the kernel to use oprofile?
>
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
>

--e89a8fb202d474eb6704c135d7fb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<span class=3D"Apple-style-span" style>My dom0 kernel is=A0=A02.6.38.2 and =
I use the xen-patches-2.6.38-2.tar.bz2. (<a href=3D"http://code.google.com/=
p/gentoo-xen-kernel/downloads/detail?name=3Dxen-patches-2.6.38-2.tar.bz2&am=
p;can=3D2&amp;q=3D" target=3D"_blank" style=3D"color:rgb(17,85,204)">http:/=
/code.google.com/p/gentoo-xen-kernel/downloads/detail?name=3Dxen-patches-2.=
6.38-2.tar.bz2&amp;can=3D2&amp;q=3D</a>)</span><br>
<br><div class=3D"gmail_quote">2012/5/29 Konrad Rzeszutek Wilk <span dir=3D=
"ltr">&lt;<a href=3D"mailto:konrad.wilk@oracle.com" target=3D"_blank">konra=
d.wilk@oracle.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrot=
e:<br>
&gt; Hi:<br>
&gt; =A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile VM (=
both HVM<br>
&gt; and PV) apps and kernel performance based on passive domains. My platf=
orm<br>
&gt; is as follows:<br>
&gt; =A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 E5620 =A0@ 2.40GHz=
<br>
&gt; =A0 =A0Hypervosir: Xen 4.1.2<br>
&gt; =A0 =A0Dom0 kernel: linux 2.6.38.2<br>
&gt; =A0 =A0I am not sure whether xenoprof can work on this platform.<br>
</div>&gt; * =A0 As soon as I start xenoprof in passive domain mode, the VM=
 can&#39;t run<br>
<div class=3D"im">&gt; workload immediately (The VM doesn&#39;t crash. If I=
 ping the VM from other<br>
&gt; machine, the response time is really high ). I can&#39;t input any com=
mands<br>
</div>&gt; through the console prompt. *<br>
<br>
Do you have the patches applied to the kernel to use oprofile?<br>
<br>
<br>
&gt; _______________________________________________<br>
&gt; Xen-devel mailing list<br>
&gt; <a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a>=
<br>
&gt; <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://li=
sts.xen.org/xen-devel</a><br>
<br>
</blockquote></div><br>

--e89a8fb202d474eb6704c135d7fb--


--===============2992167316966712208==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2992167316966712208==--


From xen-devel-bounces@lists.xen.org Wed May 30 00:15:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZWZ7-0006Lv-BK; Wed, 30 May 2012 00:15:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZWZ5-0006Ll-NP
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 00:15:03 +0000
Received: from [85.158.143.35:45758] by server-3.bemta-4.messagelabs.com id
	F3/35-04252-78665CF4; Wed, 30 May 2012 00:15:03 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338336899!15325750!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10678 invoked from network); 30 May 2012 00:15:01 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 00:15:01 -0000
Received: by obfk16 with SMTP id k16so10608488obf.30
	for <xen-devel@lists.xensource.com>;
	Tue, 29 May 2012 17:14:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=9J3ahPw/LJPhhxrABmC2RUhMcf2NS+QLnk54/jFfsCY=;
	b=YJWQcB+MqjZrdzrLY9+4lMByAEqLnqfrSrmuAGZdoszLkkrPoj3+gCA1cR4jeBIZxQ
	NBJmChFAWWK6j6wxG8a2mULpkeiujNPjAKSwW/JVDSKAx+2muq7aAUWXDfUvxx2Ogg9N
	iXNka7JtSwJbmrVuGOMiXwuawLFwpPPFCl24NcsWJMCHCakoPEoSxF4hLfG6d6pbg5Ow
	btn7UvuihWDSDcYUJ2uWxCdCQDKTZoZ+ficnkVNZRAKmmDgV4bcWOuQiqZSeB1e1ZOUI
	1fsoEDdX1WJLjVBLdty8eUojRJ/UEzrlJI+H5l1x6WezIzEHgwhU1wzByDgZDMHyZSRu
	HoeQ==
MIME-Version: 1.0
Received: by 10.60.29.137 with SMTP id k9mr13443917oeh.23.1338336899033; Tue,
	29 May 2012 17:14:59 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 29 May 2012 17:14:58 -0700 (PDT)
In-Reply-To: <20120529152930.GE8293@phenom.dumpdata.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
Date: Wed, 30 May 2012 08:14:58 +0800
Message-ID: <CANdnRvM7rrgP5utdrLXuf2fv+rYYwp5RyLQR729JB2_e-apSHg@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2992167316966712208=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============2992167316966712208==
Content-Type: multipart/alternative; boundary=e89a8fb202d474eb6704c135d7fb

--e89a8fb202d474eb6704c135d7fb
Content-Type: text/plain; charset=ISO-8859-1

My dom0 kernel is  2.6.38.2 and I use the xen-patches-2.6.38-2.tar.bz2. (
http://code.google.com/p/gentoo-xen-kernel/downloads/detail?name=xen-patches-2.6.38-2.tar.bz2&can=2&q=
)

2012/5/29 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
> > Hi:
> >    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both
> HVM
> > and PV) apps and kernel performance based on passive domains. My platform
> > is as follows:
> >    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
> >    Hypervosir: Xen 4.1.2
> >    Dom0 kernel: linux 2.6.38.2
> >    I am not sure whether xenoprof can work on this platform.
> > *   As soon as I start xenoprof in passive domain mode, the VM can't run
> > workload immediately (The VM doesn't crash. If I ping the VM from other
> > machine, the response time is really high ). I can't input any commands
> > through the console prompt. *
>
> Do you have the patches applied to the kernel to use oprofile?
>
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
>
>

--e89a8fb202d474eb6704c135d7fb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<span class=3D"Apple-style-span" style>My dom0 kernel is=A0=A02.6.38.2 and =
I use the xen-patches-2.6.38-2.tar.bz2. (<a href=3D"http://code.google.com/=
p/gentoo-xen-kernel/downloads/detail?name=3Dxen-patches-2.6.38-2.tar.bz2&am=
p;can=3D2&amp;q=3D" target=3D"_blank" style=3D"color:rgb(17,85,204)">http:/=
/code.google.com/p/gentoo-xen-kernel/downloads/detail?name=3Dxen-patches-2.=
6.38-2.tar.bz2&amp;can=3D2&amp;q=3D</a>)</span><br>
<br><div class=3D"gmail_quote">2012/5/29 Konrad Rzeszutek Wilk <span dir=3D=
"ltr">&lt;<a href=3D"mailto:konrad.wilk@oracle.com" target=3D"_blank">konra=
d.wilk@oracle.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrot=
e:<br>
&gt; Hi:<br>
&gt; =A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile VM (=
both HVM<br>
&gt; and PV) apps and kernel performance based on passive domains. My platf=
orm<br>
&gt; is as follows:<br>
&gt; =A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 E5620 =A0@ 2.40GHz=
<br>
&gt; =A0 =A0Hypervosir: Xen 4.1.2<br>
&gt; =A0 =A0Dom0 kernel: linux 2.6.38.2<br>
&gt; =A0 =A0I am not sure whether xenoprof can work on this platform.<br>
</div>&gt; * =A0 As soon as I start xenoprof in passive domain mode, the VM=
 can&#39;t run<br>
<div class=3D"im">&gt; workload immediately (The VM doesn&#39;t crash. If I=
 ping the VM from other<br>
&gt; machine, the response time is really high ). I can&#39;t input any com=
mands<br>
</div>&gt; through the console prompt. *<br>
<br>
Do you have the patches applied to the kernel to use oprofile?<br>
<br>
<br>
&gt; _______________________________________________<br>
&gt; Xen-devel mailing list<br>
&gt; <a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a>=
<br>
&gt; <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://li=
sts.xen.org/xen-devel</a><br>
<br>
</blockquote></div><br>

--e89a8fb202d474eb6704c135d7fb--


--===============2992167316966712208==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============2992167316966712208==--


From xen-devel-bounces@lists.xen.org Wed May 30 00:20:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZWe5-0006hx-PL; Wed, 30 May 2012 00:20:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZWe4-0006hk-Qa
	for xen-devel@lists.xen.org; Wed, 30 May 2012 00:20:13 +0000
Received: from [193.109.254.147:49594] by server-11.bemta-14.messagelabs.com
	id FB/D1-01965-CB765CF4; Wed, 30 May 2012 00:20:12 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338337209!11691923!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18298 invoked from network); 30 May 2012 00:20:10 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 00:20:10 -0000
Received: by obbwd20 with SMTP id wd20so10431073obb.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 17:20:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=61SpO4LDQYWH5+w4WwcVMIXg8p9hgR7K5eQdhRY03YM=;
	b=QFsPVGO06JTIt5hFy8QffNJprQInrnvOJG9FtDibepvBnXpmy/mx3VVMlZvm7NpRNb
	LPyc5P3JxirVaUHm1qAdTvBUEMi5e3I1NIIgw5gAja6gwJOgy0dXRkrzBRn2Ezwivz2g
	d0CNzqAdpYDBpPPaq+PWPOy8de5KAs+5tujd7jeCbqrzkUh4cGhq/+ofMaffBtsgK0dX
	EgF7HA+rJBV9sS0nD17BCUI0iC7W7smMhcgMPFsQX2u1mn88lxmwOPB1qV8oME7582Oh
	0ZoyPfuisN2aOHaiAR4Z2s2LVFwJV6z6rQ+JgQ6GNOiob52UY4upFghCKEjpGq+xPbr6
	ow+A==
MIME-Version: 1.0
Received: by 10.182.155.2 with SMTP id vs2mr13089892obb.47.1338337208393; Tue,
	29 May 2012 17:20:08 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 29 May 2012 17:20:08 -0700 (PDT)
In-Reply-To: <4FC4FC4C.5040603@citrix.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
	<4FC4FC4C.5040603@citrix.com>
Date: Wed, 30 May 2012 08:20:08 +0800
Message-ID: <CANdnRvPun+M6Z1KuXRCYEdkwU5mtwkOv4t54ZTxRkPcnWiOiOw@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: Malcolm Crossley <malcolm.crossley@citrix.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0281498680878698359=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============0281498680878698359==
Content-Type: multipart/alternative; boundary=f46d04478725e55f5f04c135e91b

--f46d04478725e55f5f04c135e91b
Content-Type: text/plain; charset=ISO-8859-1

I can use active domains to profile the PVM virtual machines. And I can get
some reasonable data. But *As soon as I start xenoprof in passive domain
mode, the VM can't run workload immediately (The VM doesn't crash. If I
ping the VM from other machine, the response time is really high ). I can't
input any commands through the console prompt. *

2012/5/30 Malcolm Crossley <malcolm.crossley@citrix.com>

> On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:
>
>> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
>>
>>> Hi:
>>>    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both
>>> HVM
>>> and PV) apps and kernel performance based on passive domains. My platform
>>> is as follows:
>>>    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>>>    Hypervosir: Xen 4.1.2
>>>    Dom0 kernel: linux 2.6.38.2
>>>    I am not sure whether xenoprof can work on this platform.
>>> *   As soon as I start xenoprof in passive domain mode, the VM can't run
>>> workload immediately (The VM doesn't crash. If I ping the VM from other
>>> machine, the response time is really high ). I can't input any commands
>>> through the console prompt. *
>>>
>> Do you have the patches applied to the kernel to use oprofile?
>>
>>  The Xeon E5620 processor has model number 0x2c (Westmere class), neither
> the Xen or the latest upstream Linux kernel have oprofile support for this
> processor.
>
> http://lxr.linux.no/linux+*/**arch/x86/oprofile/nmi_int.c#**L642<http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642>
> http://xenbits.xen.org/hg/xen-**unstable.hg/file/52ffce7a036e/**
> xen/arch/x86/oprofile/nmi_int.**c#l344<http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/arch/x86/oprofile/nmi_int.c#l344>
>
>
>
>  ______________________________**_________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>>
>>
>> ______________________________**_________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>
>
> ______________________________**_________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

--f46d04478725e55f5f04c135e91b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I can use active domains to profile the PVM virtual machines. And I can get=
 some reasonable data. But=A0<span class=3D"Apple-style-span" style><u><fon=
t color=3D"#ff0000"><b>As soon as I start xenoprof in passive domain mode, =
the VM can&#39;t run workload immediately (The VM doesn&#39;t crash. If I p=
ing the VM from other machine, the response time is really high ). I can&#3=
9;t input any commands through the console prompt.=A0</b></font></u></span>=
<br>
<br><div class=3D"gmail_quote">2012/5/30 Malcolm Crossley <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:malcolm.crossley@citrix.com" target=3D"_blank">malco=
lm.crossley@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hi:<br>
 =A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both=
 HVM<br>
and PV) apps and kernel performance based on passive domains. My platform<b=
r>
is as follows:<br>
 =A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 E5620 =A0@ 2.40GHz<br>
 =A0 =A0Hypervosir: Xen 4.1.2<br>
 =A0 =A0Dom0 kernel: linux 2.6.38.2<br>
 =A0 =A0I am not sure whether xenoprof can work on this platform.<br>
* =A0 As soon as I start xenoprof in passive domain mode, the VM can&#39;t =
run<br>
workload immediately (The VM doesn&#39;t crash. If I ping the VM from other=
<br>
machine, the response time is really high ). I can&#39;t input any commands=
<br>
through the console prompt. *<br>
</blockquote>
Do you have the patches applied to the kernel to use oprofile?<br>
<br>
</blockquote></div>
The Xeon E5620 processor has model number 0x2c (Westmere class), neither th=
e Xen or the latest upstream Linux kernel have oprofile support for this pr=
ocessor.<br>
<br>
<a href=3D"http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642" ta=
rget=3D"_blank">http://lxr.linux.no/linux+*/<u></u>arch/x86/oprofile/nmi_in=
t.c#<u></u>L642</a><br>
<a href=3D"http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/=
arch/x86/oprofile/nmi_int.c#l344" target=3D"_blank">http://xenbits.xen.org/=
hg/xen-<u></u>unstable.hg/file/52ffce7a036e/<u></u>xen/arch/x86/oprofile/nm=
i_int.<u></u>c#l344</a><div class=3D"HOEnZb">
<div class=3D"h5"><br>
<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</div></div></blockquote></div><br>

--f46d04478725e55f5f04c135e91b--


--===============0281498680878698359==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0281498680878698359==--


From xen-devel-bounces@lists.xen.org Wed May 30 00:20:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZWe5-0006hx-PL; Wed, 30 May 2012 00:20:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <suixiufeng@gmail.com>) id 1SZWe4-0006hk-Qa
	for xen-devel@lists.xen.org; Wed, 30 May 2012 00:20:13 +0000
Received: from [193.109.254.147:49594] by server-11.bemta-14.messagelabs.com
	id FB/D1-01965-CB765CF4; Wed, 30 May 2012 00:20:12 +0000
X-Env-Sender: suixiufeng@gmail.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338337209!11691923!1
X-Originating-IP: [209.85.214.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=HTML_40_50,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18298 invoked from network); 30 May 2012 00:20:10 -0000
Received: from mail-ob0-f173.google.com (HELO mail-ob0-f173.google.com)
	(209.85.214.173)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 00:20:10 -0000
Received: by obbwd20 with SMTP id wd20so10431073obb.32
	for <xen-devel@lists.xen.org>; Tue, 29 May 2012 17:20:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=61SpO4LDQYWH5+w4WwcVMIXg8p9hgR7K5eQdhRY03YM=;
	b=QFsPVGO06JTIt5hFy8QffNJprQInrnvOJG9FtDibepvBnXpmy/mx3VVMlZvm7NpRNb
	LPyc5P3JxirVaUHm1qAdTvBUEMi5e3I1NIIgw5gAja6gwJOgy0dXRkrzBRn2Ezwivz2g
	d0CNzqAdpYDBpPPaq+PWPOy8de5KAs+5tujd7jeCbqrzkUh4cGhq/+ofMaffBtsgK0dX
	EgF7HA+rJBV9sS0nD17BCUI0iC7W7smMhcgMPFsQX2u1mn88lxmwOPB1qV8oME7582Oh
	0ZoyPfuisN2aOHaiAR4Z2s2LVFwJV6z6rQ+JgQ6GNOiob52UY4upFghCKEjpGq+xPbr6
	ow+A==
MIME-Version: 1.0
Received: by 10.182.155.2 with SMTP id vs2mr13089892obb.47.1338337208393; Tue,
	29 May 2012 17:20:08 -0700 (PDT)
Received: by 10.182.186.39 with HTTP; Tue, 29 May 2012 17:20:08 -0700 (PDT)
In-Reply-To: <4FC4FC4C.5040603@citrix.com>
References: <CANdnRvOK8r1bRD1vkMVpN_97Ek9FRi9_+AgCARGtH-OqcTLcCQ@mail.gmail.com>
	<20120529152930.GE8293@phenom.dumpdata.com>
	<4FC4FC4C.5040603@citrix.com>
Date: Wed, 30 May 2012 08:20:08 +0800
Message-ID: <CANdnRvPun+M6Z1KuXRCYEdkwU5mtwkOv4t54ZTxRkPcnWiOiOw@mail.gmail.com>
From: suixiufeng <suixiufeng@gmail.com>
To: Malcolm Crossley <malcolm.crossley@citrix.com>
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xenoprof on Xen-4.1.2
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0281498680878698359=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============0281498680878698359==
Content-Type: multipart/alternative; boundary=f46d04478725e55f5f04c135e91b

--f46d04478725e55f5f04c135e91b
Content-Type: text/plain; charset=ISO-8859-1

I can use active domains to profile the PVM virtual machines. And I can get
some reasonable data. But *As soon as I start xenoprof in passive domain
mode, the VM can't run workload immediately (The VM doesn't crash. If I
ping the VM from other machine, the response time is really high ). I can't
input any commands through the console prompt. *

2012/5/30 Malcolm Crossley <malcolm.crossley@citrix.com>

> On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:
>
>> On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:
>>
>>> Hi:
>>>    I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both
>>> HVM
>>> and PV) apps and kernel performance based on passive domains. My platform
>>> is as follows:
>>>    CPU:Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
>>>    Hypervosir: Xen 4.1.2
>>>    Dom0 kernel: linux 2.6.38.2
>>>    I am not sure whether xenoprof can work on this platform.
>>> *   As soon as I start xenoprof in passive domain mode, the VM can't run
>>> workload immediately (The VM doesn't crash. If I ping the VM from other
>>> machine, the response time is really high ). I can't input any commands
>>> through the console prompt. *
>>>
>> Do you have the patches applied to the kernel to use oprofile?
>>
>>  The Xeon E5620 processor has model number 0x2c (Westmere class), neither
> the Xen or the latest upstream Linux kernel have oprofile support for this
> processor.
>
> http://lxr.linux.no/linux+*/**arch/x86/oprofile/nmi_int.c#**L642<http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642>
> http://xenbits.xen.org/hg/xen-**unstable.hg/file/52ffce7a036e/**
> xen/arch/x86/oprofile/nmi_int.**c#l344<http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/arch/x86/oprofile/nmi_int.c#l344>
>
>
>
>  ______________________________**_________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>>
>>
>> ______________________________**_________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>>
>
> ______________________________**_________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

--f46d04478725e55f5f04c135e91b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I can use active domains to profile the PVM virtual machines. And I can get=
 some reasonable data. But=A0<span class=3D"Apple-style-span" style><u><fon=
t color=3D"#ff0000"><b>As soon as I start xenoprof in passive domain mode, =
the VM can&#39;t run workload immediately (The VM doesn&#39;t crash. If I p=
ing the VM from other machine, the response time is really high ). I can&#3=
9;t input any commands through the console prompt.=A0</b></font></u></span>=
<br>
<br><div class=3D"gmail_quote">2012/5/30 Malcolm Crossley <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:malcolm.crossley@citrix.com" target=3D"_blank">malco=
lm.crossley@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On 29/05/12 16:29, Konrad Rzeszutek Wilk wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
On Tue, May 29, 2012 at 01:38:37PM +0800, suixiufeng wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hi:<br>
 =A0 =A0I want to use xenoprof (patched oprofile-0.9.5) to profile VM (both=
 HVM<br>
and PV) apps and kernel performance based on passive domains. My platform<b=
r>
is as follows:<br>
 =A0 =A0CPU:Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 E5620 =A0@ 2.40GHz<br>
 =A0 =A0Hypervosir: Xen 4.1.2<br>
 =A0 =A0Dom0 kernel: linux 2.6.38.2<br>
 =A0 =A0I am not sure whether xenoprof can work on this platform.<br>
* =A0 As soon as I start xenoprof in passive domain mode, the VM can&#39;t =
run<br>
workload immediately (The VM doesn&#39;t crash. If I ping the VM from other=
<br>
machine, the response time is really high ). I can&#39;t input any commands=
<br>
through the console prompt. *<br>
</blockquote>
Do you have the patches applied to the kernel to use oprofile?<br>
<br>
</blockquote></div>
The Xeon E5620 processor has model number 0x2c (Westmere class), neither th=
e Xen or the latest upstream Linux kernel have oprofile support for this pr=
ocessor.<br>
<br>
<a href=3D"http://lxr.linux.no/linux+*/arch/x86/oprofile/nmi_int.c#L642" ta=
rget=3D"_blank">http://lxr.linux.no/linux+*/<u></u>arch/x86/oprofile/nmi_in=
t.c#<u></u>L642</a><br>
<a href=3D"http://xenbits.xen.org/hg/xen-unstable.hg/file/52ffce7a036e/xen/=
arch/x86/oprofile/nmi_int.c#l344" target=3D"_blank">http://xenbits.xen.org/=
hg/xen-<u></u>unstable.hg/file/52ffce7a036e/<u></u>xen/arch/x86/oprofile/nm=
i_int.<u></u>c#l344</a><div class=3D"HOEnZb">
<div class=3D"h5"><br>
<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Xen-devel mailing list<br>
<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@list=
s.xen.org</a><br>
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
</div></div></blockquote></div><br>

--f46d04478725e55f5f04c135e91b--


--===============0281498680878698359==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0281498680878698359==--


From xen-devel-bounces@lists.xen.org Wed May 30 00:59:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:59:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZXFE-000768-48; Wed, 30 May 2012 00:58:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZXFC-000763-Dm
	for xen-devel@lists.xen.org; Wed, 30 May 2012 00:58:34 +0000
Received: from [85.158.139.83:10701] by server-4.bemta-5.messagelabs.com id
	99/D0-16506-9B075CF4; Wed, 30 May 2012 00:58:33 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338339512!31013151!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg4MTg0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3232 invoked from network); 30 May 2012 00:58:32 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-182.messagelabs.com with SMTP;
	30 May 2012 00:58:32 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 29 May 2012 17:58:31 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149235708"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 29 May 2012 17:58:31 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 17:58:30 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 08:58:28 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir.xen@gmail.com>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mIABtPwwgAA+3+OAAM5hAA==
Date: Wed, 30 May 2012 00:58:28 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCAD36@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCA7B2@SHSMSX102.ccr.corp.intel.com>
	<CBEA81F0.34641%keir.xen@gmail.com>
In-Reply-To: <CBEA81F0.34641%keir.xen@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com]
> Sent: Tuesday, May 29, 2012 8:39 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 29/05/2012 09:55, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> >> -----Original Message-----
> >> From: Keir Fraser [mailto:keir.xen@gmail.com]
> >> Sent: Monday, May 28, 2012 2:50 PM
> >> To: Hao, Xudong; JBeulich@suse.com
> >> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> >> Jackson; Zhang, Xiantao
> >> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> >> hvm_inject_exception
> >>
> >> On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >>
> >>> Hi, Keir
> >>>
> >>> This patch is fine to me, just one small comments: the note below the
> >>> hvm_inject_hw_exception(TRAP*) should change to
> >> hvm_inject_hw_exception from
> >>> hvm_inject_exception.
> >>
> >> Yes indeed. Thanks!
> >>
> >
> > Hi, Keir
> >
> > Can you check your patch in? then I can send my patches out based you.
> 
> Please make my patch the first of your series. You can add my s-o-b line:
> Signed-off-by: Keir Fraser <keir@xen.org>
> 

Okay. 

>  -- Keir
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 00:59:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 00:59:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZXFE-000768-48; Wed, 30 May 2012 00:58:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZXFC-000763-Dm
	for xen-devel@lists.xen.org; Wed, 30 May 2012 00:58:34 +0000
Received: from [85.158.139.83:10701] by server-4.bemta-5.messagelabs.com id
	99/D0-16506-9B075CF4; Wed, 30 May 2012 00:58:33 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338339512!31013151!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg4MTg0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3232 invoked from network); 30 May 2012 00:58:32 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-182.messagelabs.com with SMTP;
	30 May 2012 00:58:32 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 29 May 2012 17:58:31 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149235708"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 29 May 2012 17:58:31 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 17:58:30 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 08:58:28 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir.xen@gmail.com>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH 1/3] xen: Add instruction length parameter in function
	hvm_inject_exception
Thread-Index: AQHNOiNSx2a+N4OdCUuUj76NtrIkxJbZrTGAgAUP/RCAAAq2mIABtPwwgAA+3+OAAM5hAA==
Date: Wed, 30 May 2012 00:58:28 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCAD36@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCA7B2@SHSMSX102.ccr.corp.intel.com>
	<CBEA81F0.34641%keir.xen@gmail.com>
In-Reply-To: <CBEA81F0.34641%keir.xen@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen: Add instruction length parameter
 in function hvm_inject_exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com]
> Sent: Tuesday, May 29, 2012 8:39 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson; Zhang, Xiantao
> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> hvm_inject_exception
> 
> On 29/05/2012 09:55, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> >> -----Original Message-----
> >> From: Keir Fraser [mailto:keir.xen@gmail.com]
> >> Sent: Monday, May 28, 2012 2:50 PM
> >> To: Hao, Xudong; JBeulich@suse.com
> >> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> >> Jackson; Zhang, Xiantao
> >> Subject: Re: [PATCH 1/3] xen: Add instruction length parameter in function
> >> hvm_inject_exception
> >>
> >> On 28/05/2012 07:24, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> >>
> >>> Hi, Keir
> >>>
> >>> This patch is fine to me, just one small comments: the note below the
> >>> hvm_inject_hw_exception(TRAP*) should change to
> >> hvm_inject_hw_exception from
> >>> hvm_inject_exception.
> >>
> >> Yes indeed. Thanks!
> >>
> >
> > Hi, Keir
> >
> > Can you check your patch in? then I can send my patches out based you.
> 
> Please make my patch the first of your series. You can add my s-o-b line:
> Signed-off-by: Keir Fraser <keir@xen.org>
> 

Okay. 

>  -- Keir
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 01:50:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 01:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZY39-0002jr-HJ; Wed, 30 May 2012 01:50:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SZY38-0002jm-85
	for xen-devel@lists.xen.org; Wed, 30 May 2012 01:50:10 +0000
Received: from [85.158.143.99:54629] by server-1.bemta-4.messagelabs.com id
	CA/D9-27869-1DC75CF4; Wed, 30 May 2012 01:50:09 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338342606!20634009!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyMDY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15418 invoked from network); 30 May 2012 01:50:08 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-216.messagelabs.com with SMTP;
	30 May 2012 01:50:08 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 29 May 2012 18:50:04 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105656079"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 18:50:04 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 18:50:04 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 09:50:02 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] which Dom0 should I use in my regular testing?
Thread-Index: Ac08qIRddcI2C4t3TniaA7XI16D2+wAxuAcAACSMb0A=
Date: Wed, 30 May 2012 01:50:01 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D752F@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<20120529154810.GA21039@phenom.dumpdata.com>
In-Reply-To: <20120529154810.GA21039@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Tuesday, May 29, 2012 11:48 PM
> To: Ren, Yongjie
> Cc: ian.jackson@eu.citrix.com; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
> 
> On Mon, May 28, 2012 at 08:04:40AM +0000, Ren, Yongjie wrote:
> > Hi Jackson,
> > Our team spares some effort in regular testing against xen-unstable
> tree.
> > I know you are doing some testing against xen.
> 
> I am testing against Xen 4.1 and everynight latest Linus's tree.
> 
> > Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> linux.git ?
> 
> I am using Linus' tree everynight. And then whenever I've new patches
> I use my #testing or just do
> 
> git checkout linus/master
> git merge stable/XXX
> and test that out.
> 
Thanks for your sharing.

> > And which Dom0 do you recommend in my regular testing?
> 
> Uhhh? You mean distro?
> 
Not exactly. I want to choose a dom0 to keep pace with our community.
I test xen-unstable tree every night when there's new changesets.

> > (Not sure you are the right person for this question? :-) )
> >
> > Best Regards,
> >      Yongjie (Jay)
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 01:50:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 01:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZY39-0002jr-HJ; Wed, 30 May 2012 01:50:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <yongjie.ren@intel.com>) id 1SZY38-0002jm-85
	for xen-devel@lists.xen.org; Wed, 30 May 2012 01:50:10 +0000
Received: from [85.158.143.99:54629] by server-1.bemta-4.messagelabs.com id
	CA/D9-27869-1DC75CF4; Wed, 30 May 2012 01:50:09 +0000
X-Env-Sender: yongjie.ren@intel.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338342606!20634009!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyMDY3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15418 invoked from network); 30 May 2012 01:50:08 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-8.tower-216.messagelabs.com with SMTP;
	30 May 2012 01:50:08 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 29 May 2012 18:50:04 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105656079"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 29 May 2012 18:50:04 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Tue, 29 May 2012 18:50:04 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 09:50:02 +0800
From: "Ren, Yongjie" <yongjie.ren@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] which Dom0 should I use in my regular testing?
Thread-Index: Ac08qIRddcI2C4t3TniaA7XI16D2+wAxuAcAACSMb0A=
Date: Wed, 30 May 2012 01:50:01 +0000
Message-ID: <1B4B44D9196EFF41AE41FDA404FC0A100D752F@SHSMSX101.ccr.corp.intel.com>
References: <1B4B44D9196EFF41AE41FDA404FC0A100D62CB@SHSMSX101.ccr.corp.intel.com>
	<20120529154810.GA21039@phenom.dumpdata.com>
In-Reply-To: <20120529154810.GA21039@phenom.dumpdata.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Tuesday, May 29, 2012 11:48 PM
> To: Ren, Yongjie
> Cc: ian.jackson@eu.citrix.com; xen-devel@lists.xen.org
> Subject: Re: [Xen-devel] which Dom0 should I use in my regular testing?
> 
> On Mon, May 28, 2012 at 08:04:40AM +0000, Ren, Yongjie wrote:
> > Hi Jackson,
> > Our team spares some effort in regular testing against xen-unstable
> tree.
> > I know you are doing some testing against xen.
> 
> I am testing against Xen 4.1 and everynight latest Linus's tree.
> 
> > Which Dom0 are you using in your oss test, Konrad's xen.git or upstream
> linux.git ?
> 
> I am using Linus' tree everynight. And then whenever I've new patches
> I use my #testing or just do
> 
> git checkout linus/master
> git merge stable/XXX
> and test that out.
> 
Thanks for your sharing.

> > And which Dom0 do you recommend in my regular testing?
> 
> Uhhh? You mean distro?
> 
Not exactly. I want to choose a dom0 to keep pace with our community.
I test xen-unstable tree every night when there's new changesets.

> > (Not sure you are the right person for this question? :-) )
> >
> > Best Regards,
> >      Yongjie (Jay)
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlN-0003JA-Or; Wed, 30 May 2012 02:35:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlL-0003Iv-Rb
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:52 +0000
Received: from [193.109.254.147:29252] by server-3.bemta-14.messagelabs.com id
	4E/71-15022-68785CF4; Wed, 30 May 2012 02:35:50 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!2
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20599 invoked from network); 30 May 2012 02:35:48 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:48 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:48 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043401"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:46 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:45 +0800
Message-Id: <1338345347-22433-2-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Cc: Keir Fraser <keir@xen.org>, aravindh@virtuata.com, eddie.dong@intel.com,
	xen-devel@lists.xen.org, Xudong Hao <xudong.hao@intel.com>,
	Ian.Jackson@eu.citrix.com
Subject: [Xen-devel] [PATCH v2 1/4] xen: Define new struct hvm_trap and
	cleanup vmx exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Define new struct hvm_trap to represent information of trap, and
renames hvm_inject_exception to hvm_inject_trap, then define a couple of
wrappers around that function for existing callers.

Signed-off-by: Keir Fraser <keir@xen.org>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>
---
 xen/arch/x86/hvm/emulate.c              |    4 +-
 xen/arch/x86/hvm/hvm.c                  |   90 ++++++++++-------
 xen/arch/x86/hvm/io.c                   |    2 +-
 xen/arch/x86/hvm/svm/emulate.c          |    4 +-
 xen/arch/x86/hvm/svm/nestedsvm.c        |   16 ++--
 xen/arch/x86/hvm/svm/svm.c              |   66 +++++++------
 xen/arch/x86/hvm/vmx/intr.c             |    2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  169 ++++++++++++++-----------------
 xen/arch/x86/hvm/vmx/vpmu_core2.c       |    8 +-
 xen/arch/x86/hvm/vmx/vvmx.c             |    6 +-
 xen/arch/x86/mm/shadow/common.c         |    2 +-
 xen/arch/x86/mm/shadow/multi.c          |    2 +-
 xen/include/asm-x86/hvm/hvm.h           |   22 +++--
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    3 +-
 xen/include/asm-x86/hvm/vcpu.h          |    7 +-
 xen/include/asm-x86/hvm/vmx/vmx.h       |    1 -
 16 files changed, 205 insertions(+), 199 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 2b50670..9bfba48 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -326,7 +326,7 @@ static int hvmemul_linear_to_phys(
     {
         if ( pfec == PFEC_page_paged || pfec == PFEC_page_shared )
             return X86EMUL_RETRY;
-        hvm_inject_exception(TRAP_page_fault, pfec, addr);
+        hvm_inject_page_fault(pfec, addr);
         return X86EMUL_EXCEPTION;
     }
 
@@ -349,7 +349,7 @@ static int hvmemul_linear_to_phys(
                 ASSERT(!reverse);
                 if ( npfn != INVALID_GFN )
                     return X86EMUL_UNHANDLEABLE;
-                hvm_inject_exception(TRAP_page_fault, pfec, addr & PAGE_MASK);
+                hvm_inject_page_fault(pfec, addr & PAGE_MASK);
                 return X86EMUL_EXCEPTION;
             }
             *reps = done;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index efd5587..f3c87bc 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -347,12 +347,10 @@ void hvm_do_resume(struct vcpu *v)
     }
 
     /* Inject pending hw/sw trap */
-    if (v->arch.hvm_vcpu.inject_trap != -1) 
+    if ( v->arch.hvm_vcpu.inject_trap.vector != -1 ) 
     {
-        hvm_inject_exception(v->arch.hvm_vcpu.inject_trap, 
-                             v->arch.hvm_vcpu.inject_error_code, 
-                             v->arch.hvm_vcpu.inject_cr2);
-        v->arch.hvm_vcpu.inject_trap = -1;
+        hvm_inject_trap(&v->arch.hvm_vcpu.inject_trap);
+        v->arch.hvm_vcpu.inject_trap.vector = -1;
     }
 }
 
@@ -1047,7 +1045,7 @@ int hvm_vcpu_initialise(struct vcpu *v)
     spin_lock_init(&v->arch.hvm_vcpu.tm_lock);
     INIT_LIST_HEAD(&v->arch.hvm_vcpu.tm_list);
 
-    v->arch.hvm_vcpu.inject_trap = -1;
+    v->arch.hvm_vcpu.inject_trap.vector = -1;
 
 #ifdef CONFIG_COMPAT
     rc = setup_compat_arg_xlat(v);
@@ -1194,18 +1192,19 @@ void hvm_triple_fault(void)
     domain_shutdown(v->domain, SHUTDOWN_reboot);
 }
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
+void hvm_inject_trap(struct hvm_trap *trap)
 {
     struct vcpu *curr = current;
 
     if ( nestedhvm_enabled(curr->domain) &&
          !nestedhvm_vmswitch_in_progress(curr) &&
          nestedhvm_vcpu_in_guestmode(curr) &&
-         nhvm_vmcx_guest_intercepts_trap(curr, trapnr, errcode) )
+         nhvm_vmcx_guest_intercepts_trap(
+             curr, trap->vector, trap->error_code) )
     {
         enum nestedhvm_vmexits nsret;
 
-        nsret = nhvm_vcpu_vmexit_trap(curr, trapnr, errcode, cr2);
+        nsret = nhvm_vcpu_vmexit_trap(curr, trap);
 
         switch ( nsret )
         {
@@ -1221,7 +1220,26 @@ void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
         }
     }
 
-    hvm_funcs.inject_exception(trapnr, errcode, cr2);
+    hvm_funcs.inject_trap(trap);
+}
+
+void hvm_inject_hw_exception(unsigned int trapnr, int errcode)
+{
+    struct hvm_trap trap = {
+        .vector = trapnr,
+        .type = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code = errcode };
+    hvm_inject_trap(&trap);
+}
+
+void hvm_inject_page_fault(int errcode, unsigned long cr2)
+{
+    struct hvm_trap trap = {
+        .vector = TRAP_page_fault,
+        .type = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code = errcode,
+        .cr2 = cr2 };
+    hvm_inject_trap(&trap);
 }
 
 int hvm_hap_nested_page_fault(unsigned long gpa,
@@ -1270,7 +1288,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
             return -1;
         case NESTEDHVM_PAGEFAULT_MMIO:
             if ( !handle_mmio() )
-                hvm_inject_exception(TRAP_gp_fault, 0, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
             return 1;
         }
     }
@@ -1337,7 +1355,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         put_gfn(p2m->domain, gfn);
         if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         rc = 1;
         goto out;
     }
@@ -1380,7 +1398,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         gdprintk(XENLOG_WARNING,
                  "trying to write to read-only grant mapping\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         rc = 1;
         goto out_put_gfn;
     }
@@ -1441,7 +1459,7 @@ int hvm_handle_xsetbv(u64 new_bv)
 
     return 0;
 err:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return -1;
 }
 
@@ -1457,7 +1475,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING, "Trying to set reserved bit in "
                  "EFER: 0x%"PRIx64"\n", value);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1466,7 +1484,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING,
                  "Trying to change EFER.LME with paging enabled\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1722,7 +1740,7 @@ int hvm_set_cr0(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1808,7 +1826,7 @@ int hvm_set_cr4(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2104,7 +2122,7 @@ static int hvm_load_segment_selector(
  unmap_and_fail:
     hvm_unmap_entry(pdesc);
  fail:
-    hvm_inject_exception(fault_type, sel & 0xfffc, 0);
+    hvm_inject_hw_exception(fault_type, sel & 0xfffc);
  hvm_map_fail:
     return 1;
 }
@@ -2137,9 +2155,9 @@ void hvm_task_switch(
 
     if ( ((tss_sel & 0xfff8) + 7) > gdt.limit )
     {
-        hvm_inject_exception((taskswitch_reason == TSW_iret) ?
+        hvm_inject_hw_exception((taskswitch_reason == TSW_iret) ?
                              TRAP_invalid_tss : TRAP_gp_fault,
-                             tss_sel & 0xfff8, 0);
+                             tss_sel & 0xfff8);
         goto out;
     }
 
@@ -2164,21 +2182,21 @@ void hvm_task_switch(
 
     if ( !tr.attr.fields.p )
     {
-        hvm_inject_exception(TRAP_no_segment, tss_sel & 0xfff8, 0);
+        hvm_inject_hw_exception(TRAP_no_segment, tss_sel & 0xfff8);
         goto out;
     }
 
     if ( tr.attr.fields.type != ((taskswitch_reason == TSW_iret) ? 0xb : 0x9) )
     {
-        hvm_inject_exception(
+        hvm_inject_hw_exception(
             (taskswitch_reason == TSW_iret) ? TRAP_invalid_tss : TRAP_gp_fault,
-            tss_sel & 0xfff8, 0);
+            tss_sel & 0xfff8);
         goto out;
     }
 
     if ( tr.limit < (sizeof(tss)-1) )
     {
-        hvm_inject_exception(TRAP_invalid_tss, tss_sel & 0xfff8, 0);
+        hvm_inject_hw_exception(TRAP_invalid_tss, tss_sel & 0xfff8);
         goto out;
     }
 
@@ -2283,7 +2301,7 @@ void hvm_task_switch(
         goto out;
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_exception(TRAP_debug, tss_sel & 0xfff8, 0);
+        hvm_inject_hw_exception(TRAP_debug, tss_sel & 0xfff8);
 
     tr.attr.fields.type = 0xb; /* busy 32-bit tss */
     hvm_set_segment_register(v, x86_seg_tr, &tr);
@@ -2362,7 +2380,7 @@ static enum hvm_copy_result __hvm_copy(
                 if ( pfec == PFEC_page_shared )
                     return HVMCOPY_gfn_shared;
                 if ( flags & HVMCOPY_fault )
-                    hvm_inject_exception(TRAP_page_fault, pfec, addr);
+                    hvm_inject_page_fault(pfec, addr);
                 return HVMCOPY_bad_gva_to_gfn;
             }
         }
@@ -2849,7 +2867,7 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return ret;
 
  gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     ret = X86EMUL_EXCEPTION;
     *msr_content = -1ull;
     goto out;
@@ -2962,7 +2980,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return ret;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -4267,13 +4285,13 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
         if ( tr.vcpuid >= d->max_vcpus || (v = d->vcpu[tr.vcpuid]) == NULL )
             goto param_fail8;
         
-        if ( v->arch.hvm_vcpu.inject_trap != -1 )
+        if ( v->arch.hvm_vcpu.inject_trap.vector != -1 )
             rc = -EBUSY;
         else 
         {
-            v->arch.hvm_vcpu.inject_trap       = tr.trap;
-            v->arch.hvm_vcpu.inject_error_code = tr.error_code;
-            v->arch.hvm_vcpu.inject_cr2        = tr.cr2;
+            v->arch.hvm_vcpu.inject_trap.vector = tr.trap;
+            v->arch.hvm_vcpu.inject_trap.error_code = tr.error_code;
+            v->arch.hvm_vcpu.inject_trap.cr2 = tr.cr2;
         }
 
     param_fail8:
@@ -4431,11 +4449,9 @@ int nhvm_vcpu_vmexit(struct vcpu *v, struct cpu_user_regs *regs,
     return -EOPNOTSUPP;
 }
 
-int
-nhvm_vcpu_vmexit_trap(struct vcpu *v, unsigned int trapnr,
-                       int errcode, unsigned long cr2)
+int nhvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    return hvm_funcs.nhvm_vcpu_vmexit_trap(v, trapnr, errcode, cr2);
+    return hvm_funcs.nhvm_vcpu_vmexit_trap(v, trap);
 }
 
 uint64_t nhvm_vcpu_guestcr3(struct vcpu *v)
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 41a2ede..31af045 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -200,7 +200,7 @@ int handle_mmio(void)
         return 0;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_hw_exception(ctxt.exn_vector, ctxt.exn_error_code);
         break;
     default:
         break;
diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
index 6000bff..0c72f00 100644
--- a/xen/arch/x86/hvm/svm/emulate.c
+++ b/xen/arch/x86/hvm/svm/emulate.c
@@ -147,7 +147,7 @@ static int fetch(struct vcpu *v, u8 *buf, unsigned long addr, int len)
         /* Not OK: fetches from non-RAM pages are not supportable. */
         gdprintk(XENLOG_WARNING, "Bad instruction fetch at %#lx (%#lx)\n",
                  (unsigned long) guest_cpu_user_regs()->eip, addr);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return 0;
     }
     return 1;
@@ -216,7 +216,7 @@ int __get_instruction_length_from_list(struct vcpu *v,
     gdprintk(XENLOG_WARNING,
              "%s: Mismatch between expected and actual instruction bytes: "
              "eip = %lx\n",  __func__, (unsigned long)vmcb->rip);
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return 0;
 
  done:
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 8714bb0..6ed3260 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -735,8 +735,8 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct cpu_user_regs *regs)
     default:
         gdprintk(XENLOG_ERR,
             "nsvm_vcpu_vmentry failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
-        /* Must happen after hvm_inject_exception or it doesn't work right. */
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+        /* Must happen after hvm_inject_hw_exception or it doesn't work right. */
         nv->nv_vmswitch_in_progress = 0;
         return 1;
     }
@@ -796,12 +796,12 @@ nsvm_vcpu_vmexit_inject(struct vcpu *v, struct cpu_user_regs *regs,
 }
 
 int
-nsvm_vcpu_vmexit_trap(struct vcpu *v, unsigned int trapnr,
-                      int errcode, unsigned long cr2)
+nsvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
     ASSERT(vcpu_nestedhvm(v).nv_vvmcx != NULL);
 
-    nestedsvm_vmexit_defer(v, VMEXIT_EXCEPTION_DE + trapnr, errcode, cr2);
+    nestedsvm_vmexit_defer(v, VMEXIT_EXCEPTION_DE + trap->vector,
+                           trap->error_code, trap->cr2);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1176,7 +1176,7 @@ enum hvm_intblk nsvm_intr_blocked(struct vcpu *v)
     }
 
     if ( nv->nv_vmexit_pending ) {
-        /* hvm_inject_exception() must have run before.
+        /* hvm_inject_hw_exception() must have run before.
          * exceptions have higher priority than interrupts.
          */
         return hvm_intblk_rflags_ie;
@@ -1509,7 +1509,7 @@ void svm_vmexit_do_stgi(struct cpu_user_regs *regs, struct vcpu *v)
     unsigned int inst_len;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1529,7 +1529,7 @@ void svm_vmexit_do_clgi(struct cpu_user_regs *regs, struct vcpu *v)
     vintr_t intr;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index e717dda..e568e33 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -109,7 +109,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
     curr->arch.hvm_svm.vmcb->interrupt_shadow = 0;
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
 }
 
 static void svm_cpu_down(void)
@@ -1066,14 +1066,14 @@ static void svm_vcpu_destroy(struct vcpu *v)
     passive_domain_destroy(v);
 }
 
-static void svm_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
+static void svm_inject_trap(struct hvm_trap *trap)
 {
     struct vcpu *curr = current;
     struct vmcb_struct *vmcb = curr->arch.hvm_svm.vmcb;
     eventinj_t event = vmcb->eventinj;
+    struct hvm_trap _trap = *trap;
 
-    switch ( trapnr )
+    switch ( _trap.vector )
     {
     case TRAP_debug:
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
@@ -1081,6 +1081,9 @@ static void svm_inject_exception(
             __restore_debug_registers(curr);
             vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | 0x4000);
         }
+        if ( cpu_has_monitor_trap_flag )
+            break;
+        /* fall through */
     case TRAP_int3:
         if ( curr->domain->debugger_attached )
         {
@@ -1093,29 +1096,30 @@ static void svm_inject_exception(
     if ( unlikely(event.fields.v) &&
          (event.fields.type == X86_EVENTTYPE_HW_EXCEPTION) )
     {
-        trapnr = hvm_combine_hw_exceptions(event.fields.vector, trapnr);
-        if ( trapnr == TRAP_double_fault )
-            errcode = 0;
+        _trap.vector = hvm_combine_hw_exceptions(
+            event.fields.vector, _trap.vector);
+        if ( _trap.vector == TRAP_double_fault )
+            _trap.error_code = 0;
     }
 
     event.bytes = 0;
     event.fields.v = 1;
     event.fields.type = X86_EVENTTYPE_HW_EXCEPTION;
-    event.fields.vector = trapnr;
-    event.fields.ev = (errcode != HVM_DELIVER_NO_ERROR_CODE);
-    event.fields.errorcode = errcode;
+    event.fields.vector = _trap.vector;
+    event.fields.ev = (_trap.error_code != HVM_DELIVER_NO_ERROR_CODE);
+    event.fields.errorcode = _trap.error_code;
 
     vmcb->eventinj = event;
 
-    if ( trapnr == TRAP_page_fault )
+    if ( _trap.vector == TRAP_page_fault )
     {
-        curr->arch.hvm_vcpu.guest_cr[2] = cr2;
-        vmcb_set_cr2(vmcb, cr2);
-        HVMTRACE_LONG_2D(PF_INJECT, errcode, TRC_PAR_LONG(cr2));
+        curr->arch.hvm_vcpu.guest_cr[2] = _trap.cr2;
+        vmcb_set_cr2(vmcb, _trap.cr2);
+        HVMTRACE_LONG_2D(PF_INJECT, _trap.error_code, TRC_PAR_LONG(_trap.cr2));
     }
     else
     {
-        HVMTRACE_2D(INJ_EXC, trapnr, errcode);
+        HVMTRACE_2D(INJ_EXC, _trap.vector, _trap.error_code);
     }
 }
 
@@ -1361,7 +1365,7 @@ static void svm_fpu_dirty_intercept(void)
     {
        /* Check if l1 guest must make FPU ready for the l2 guest */
        if ( v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS )
-           hvm_inject_exception(TRAP_no_device, HVM_DELIVER_NO_ERROR_CODE, 0);
+           hvm_inject_hw_exception(TRAP_no_device, HVM_DELIVER_NO_ERROR_CODE);
        else
            vmcb_set_cr0(n1vmcb, vmcb_get_cr0(n1vmcb) & ~X86_CR0_TS);
        return;
@@ -1579,7 +1583,7 @@ static int svm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1708,7 +1712,7 @@ static int svm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1784,13 +1788,13 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
 {
     if (!nestedhvm_enabled(v->domain)) {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
     if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
         gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1830,7 +1834,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_hw_exception(ret, HVM_DELIVER_NO_ERROR_CODE);
     return;
 }
 
@@ -1864,7 +1868,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_hw_exception(ret, HVM_DELIVER_NO_ERROR_CODE);
     return;
 }
 
@@ -1880,11 +1884,11 @@ static void svm_vmexit_ud_intercept(struct cpu_user_regs *regs)
     switch ( rc )
     {
     case X86EMUL_UNHANDLEABLE:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_hw_exception(ctxt.exn_vector, ctxt.exn_error_code);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
@@ -1998,7 +2002,7 @@ static struct hvm_function_table __read_mostly svm_function_table = {
     .set_guest_pat        = svm_set_guest_pat,
     .get_guest_pat        = svm_get_guest_pat,
     .set_tsc_offset       = svm_set_tsc_offset,
-    .inject_exception     = svm_inject_exception,
+    .inject_trap          = svm_inject_trap,
     .init_hypercall_page  = svm_init_hypercall_page,
     .event_pending        = svm_event_pending,
     .do_pmu_interrupt     = svm_do_pmu_interrupt,
@@ -2212,7 +2216,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             break;
         }
 
-        hvm_inject_exception(TRAP_page_fault, regs->error_code, va);
+        hvm_inject_page_fault(regs->error_code, va);
         break;
     }
 
@@ -2285,7 +2289,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
                 __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
@@ -2293,7 +2297,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         if ( cpu_has_svm_decode && (vmcb->exitinfo1 & (1ULL << 63)) )
             svm_vmexit_do_cr_access(vmcb, regs);
         else if ( !handle_mmio() ) 
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case VMEXIT_INVLPG:
@@ -2303,7 +2307,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             __update_guest_eip(regs, vmcb->nextrip - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case VMEXIT_INVLPGA:
@@ -2349,7 +2353,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
 
     case VMEXIT_MONITOR:
     case VMEXIT_MWAIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
 
     case VMEXIT_VMRUN:
@@ -2368,7 +2372,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         svm_vmexit_do_clgi(regs, v);
         break;
     case VMEXIT_SKINIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
 
     case VMEXIT_XSETBV:
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index d675011..590c483 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -251,7 +251,7 @@ void vmx_intr_assist(void)
     }
     else if ( intack.source == hvm_intsrc_mce )
     {
-        vmx_inject_hw_exception(TRAP_machine_check, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_machine_check, HVM_DELIVER_NO_ERROR_CODE);
     }
     else
     {
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d5cb279..c96d18b 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -268,7 +268,7 @@ long_mode_do_msr_write(unsigned int msr, uint64_t msr_content)
 
  uncanonical_address:
     HVM_DBG_LOG(DBG_LEVEL_0, "Not cano address of msr write %x", msr);
-    vmx_inject_hw_exception(TRAP_gp_fault, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return HNDL_exception_raised;
 }
 
@@ -1310,10 +1310,9 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
                  nvmx->intr.intr_info, nvmx->intr.error_code);
 }
 
-static int nvmx_vmexit_exceptions(struct vcpu *v, unsigned int trapnr,
-                      int errcode, unsigned long cr2)
+static int nvmx_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    nvmx_enqueue_n2_exceptions(v, trapnr, errcode);
+    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1344,22 +1343,62 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_hw_exception(int trap, int error_code)
+void vmx_inject_extint(int trap)
+{
+    struct vcpu *v = current;
+    u32    pin_based_cntrl;
+
+    if ( nestedhvm_vcpu_in_guestmode(v) ) {
+        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
+                                     PIN_BASED_VM_EXEC_CONTROL);
+        if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
+            nvmx_enqueue_n2_exceptions (v, 
+               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
+               HVM_DELIVER_NO_ERROR_CODE);
+            return;
+        }
+    }
+    __vmx_inject_exception(trap, X86_EVENTTYPE_EXT_INTR,
+                           HVM_DELIVER_NO_ERROR_CODE);
+}
+
+void vmx_inject_nmi(void)
+{
+    struct vcpu *v = current;
+    u32    pin_based_cntrl;
+
+    if ( nestedhvm_vcpu_in_guestmode(v) ) {
+        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
+                                     PIN_BASED_VM_EXEC_CONTROL);
+        if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
+            nvmx_enqueue_n2_exceptions (v, 
+               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
+               HVM_DELIVER_NO_ERROR_CODE);
+            return;
+        }
+    }
+    __vmx_inject_exception(2, X86_EVENTTYPE_NMI,
+                           HVM_DELIVER_NO_ERROR_CODE);
+}
+
+static void vmx_inject_trap(struct hvm_trap *trap)
 {
     unsigned long intr_info;
     struct vcpu *curr = current;
+    struct hvm_trap _trap = *trap;
 
-    int type = X86_EVENTTYPE_HW_EXCEPTION;
+    if ( (_trap.vector == TRAP_page_fault) &&
+         (_trap.type == X86_EVENTTYPE_HW_EXCEPTION) )
+        current->arch.hvm_vcpu.guest_cr[2] = _trap.cr2;
 
     if ( nestedhvm_vcpu_in_guestmode(curr) )
         intr_info = vcpu_2_nvmx(curr).intr.intr_info;
     else
         intr_info = __vmread(VM_ENTRY_INTR_INFO);
 
-    switch ( trap )
+    switch ( _trap.vector )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1368,7 +1407,6 @@ void vmx_inject_hw_exception(int trap, int error_code)
         if ( cpu_has_monitor_trap_flag )
             break;
         /* fall through */
-
     case TRAP_int3:
         if ( curr->domain->debugger_attached )
         {
@@ -1376,91 +1414,34 @@ void vmx_inject_hw_exception(int trap, int error_code)
             domain_pause_for_debugger();
             return;
         }
-
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
-        break;
-
-    default:
-        if ( trap > TRAP_last_reserved )
-        {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
-            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
-        }
-        break;
     }
 
     if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
          (((intr_info >> 8) & 7) == X86_EVENTTYPE_HW_EXCEPTION) )
     {
-        trap = hvm_combine_hw_exceptions((uint8_t)intr_info, trap);
-        if ( trap == TRAP_double_fault )
-            error_code = 0;
+        _trap.vector = hvm_combine_hw_exceptions(
+            (uint8_t)intr_info, _trap.vector);
+        if ( _trap.vector == TRAP_double_fault )
+            _trap.error_code = 0;
     }
 
     if ( nestedhvm_vcpu_in_guestmode(curr) &&
-         nvmx_intercepts_exception(curr, trap, error_code) )
+         nvmx_intercepts_exception(curr, _trap.vector, _trap.error_code) )
     {
         nvmx_enqueue_n2_exceptions (curr, 
-            INTR_INFO_VALID_MASK | (type<<8) | trap,
-            error_code); 
+            INTR_INFO_VALID_MASK | (_trap.type<<8) | _trap.vector,
+            _trap.error_code); 
         return;
     }
     else
-        __vmx_inject_exception(trap, type, error_code);
+        __vmx_inject_exception(_trap.vector, _trap.type, _trap.error_code);
 
-    if ( trap == TRAP_page_fault )
-        HVMTRACE_LONG_2D(PF_INJECT, error_code,
+    if ( (_trap.vector == TRAP_page_fault) &&
+         (_trap.type == X86_EVENTTYPE_HW_EXCEPTION) )
+        HVMTRACE_LONG_2D(PF_INJECT, _trap.error_code,
                          TRC_PAR_LONG(current->arch.hvm_vcpu.guest_cr[2]));
     else
-        HVMTRACE_2D(INJ_EXC, trap, error_code);
-}
-
-void vmx_inject_extint(int trap)
-{
-    struct vcpu *v = current;
-    u32    pin_based_cntrl;
-
-    if ( nestedhvm_vcpu_in_guestmode(v) ) {
-        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
-                                     PIN_BASED_VM_EXEC_CONTROL);
-        if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
-            nvmx_enqueue_n2_exceptions (v, 
-               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
-               HVM_DELIVER_NO_ERROR_CODE);
-            return;
-        }
-    }
-    __vmx_inject_exception(trap, X86_EVENTTYPE_EXT_INTR,
-                           HVM_DELIVER_NO_ERROR_CODE);
-}
-
-void vmx_inject_nmi(void)
-{
-    struct vcpu *v = current;
-    u32    pin_based_cntrl;
-
-    if ( nestedhvm_vcpu_in_guestmode(v) ) {
-        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
-                                     PIN_BASED_VM_EXEC_CONTROL);
-        if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
-            nvmx_enqueue_n2_exceptions (v, 
-               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
-               HVM_DELIVER_NO_ERROR_CODE);
-            return;
-        }
-    }
-    __vmx_inject_exception(2, X86_EVENTTYPE_NMI,
-                           HVM_DELIVER_NO_ERROR_CODE);
-}
-
-static void vmx_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
-{
-    if ( trapnr == TRAP_page_fault )
-        current->arch.hvm_vcpu.guest_cr[2] = cr2;
-
-    vmx_inject_hw_exception(trapnr, errcode);
+        HVMTRACE_2D(INJ_EXC, _trap.vector, _trap.error_code);
 }
 
 static int vmx_event_pending(struct vcpu *v)
@@ -1532,7 +1513,7 @@ static struct hvm_function_table __read_mostly vmx_function_table = {
     .set_guest_pat        = vmx_set_guest_pat,
     .get_guest_pat        = vmx_get_guest_pat,
     .set_tsc_offset       = vmx_set_tsc_offset,
-    .inject_exception     = vmx_inject_exception,
+    .inject_trap          = vmx_inject_trap,
     .init_hypercall_page  = vmx_init_hypercall_page,
     .event_pending        = vmx_event_pending,
     .do_pmu_interrupt     = vmx_do_pmu_interrupt,
@@ -1554,7 +1535,7 @@ static struct hvm_function_table __read_mostly vmx_function_table = {
     .nhvm_vcpu_hostcr3    = nvmx_vcpu_hostcr3,
     .nhvm_vcpu_asid       = nvmx_vcpu_asid,
     .nhvm_vmcx_guest_intercepts_trap = nvmx_intercepts_exception,
-    .nhvm_vcpu_vmexit_trap = nvmx_vmexit_exceptions,
+    .nhvm_vcpu_vmexit_trap = nvmx_vmexit_trap,
     .nhvm_intr_blocked    = nvmx_intr_blocked
 };
 
@@ -1618,7 +1599,7 @@ static void update_guest_eip(void)
     }
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        vmx_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
 }
 
 static void vmx_fpu_dirty_intercept(void)
@@ -1922,7 +1903,7 @@ done:
     return X86EMUL_OKAY;
 
 gp_fault:
-    vmx_inject_hw_exception(TRAP_gp_fault, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2030,7 +2011,7 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
 
         if ( (rc < 0) ||
              (vmx_add_host_load_msr(msr) < 0) )
-            vmx_inject_hw_exception(TRAP_machine_check, 0);
+            hvm_inject_hw_exception(TRAP_machine_check, 0);
         else
         {
             __vmwrite(GUEST_IA32_DEBUGCTL, msr_content);
@@ -2073,7 +2054,7 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return X86EMUL_OKAY;
 
 gp_fault:
-    vmx_inject_hw_exception(TRAP_gp_fault, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2222,11 +2203,11 @@ static void vmx_vmexit_ud_intercept(struct cpu_user_regs *regs)
     switch ( rc )
     {
     case X86EMUL_UNHANDLEABLE:
-        vmx_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_hw_exception(ctxt.exn_vector, ctxt.exn_error_code);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
@@ -2440,7 +2421,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 
                 if ( handled < 0 ) 
                 {
-                    vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
+                    struct hvm_trap trap = {
+                        .vector = TRAP_int3,
+                        .type = X86_EVENTTYPE_SW_EXCEPTION,
+                        .error_code = HVM_DELIVER_NO_ERROR_CODE
+                    };
+                    hvm_inject_trap(&trap);
                     break;
                 }
                 else if ( handled )
@@ -2476,8 +2462,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 break;
             }
 
-            v->arch.hvm_vcpu.guest_cr[2] = exit_qualification;
-            vmx_inject_hw_exception(TRAP_page_fault, regs->error_code);
+            hvm_inject_page_fault(regs->error_code, exit_qualification);
             break;
         case TRAP_nmi:
             if ( (intr_info & INTR_INFO_INTR_TYPE_MASK) !=
@@ -2658,7 +2643,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
          * as far as vmexit.
          */
         WARN_ON(exit_reason == EXIT_REASON_GETSEC);
-        vmx_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
 
     case EXIT_REASON_TPR_BELOW_THRESHOLD:
@@ -2666,7 +2651,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 
     case EXIT_REASON_APIC_ACCESS:
         if ( !vmx_handle_eoi_write() && !handle_mmio() )
-            vmx_inject_hw_exception(TRAP_gp_fault, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case EXIT_REASON_IO_INSTRUCTION:
@@ -2675,7 +2660,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         {
             /* INS, OUTS */
             if ( !handle_mmio() )
-                vmx_inject_hw_exception(TRAP_gp_fault, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
         }
         else
         {
diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c
index 266d4a6..c79103e 100644
--- a/xen/arch/x86/hvm/vmx/vpmu_core2.c
+++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c
@@ -421,7 +421,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
                 if ( vpmu_is_set(vpmu, VPMU_CPU_HAS_BTS) )
                     return 1;
                 gdprintk(XENLOG_WARNING, "Debug Store is not supported on this cpu\n");
-                vmx_inject_hw_exception(TRAP_gp_fault, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
                 return 0;
             }
         }
@@ -437,7 +437,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
     case MSR_CORE_PERF_GLOBAL_STATUS:
         gdprintk(XENLOG_INFO, "Can not write readonly MSR: "
                  "MSR_PERF_GLOBAL_STATUS(0x38E)!\n");
-        vmx_inject_hw_exception(TRAP_gp_fault, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return 1;
     case MSR_IA32_PEBS_ENABLE:
         if ( msr_content & 1 )
@@ -452,7 +452,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
                 gdprintk(XENLOG_WARNING,
                          "Illegal address for IA32_DS_AREA: %#" PRIx64 "x\n",
                          msr_content);
-                vmx_inject_hw_exception(TRAP_gp_fault, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
                 return 1;
             }
             core2_vpmu_cxt->pmu_enable->ds_area_enable = msr_content ? 1 : 0;
@@ -544,7 +544,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
             break;
         }
         if (inject_gp)
-            vmx_inject_hw_exception(TRAP_gp_fault, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         else
             wrmsrl(msr, msr_content);
     }
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index b0ae0ee..fc733a9 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -304,12 +304,12 @@ vmexit:
     
 invalid_op:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: invalid_op\n");
-    hvm_inject_exception(TRAP_invalid_op, 0, 0);
+    hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
     return X86EMUL_EXCEPTION;
 
 gp_fault:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: gp_fault\n");
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -386,7 +386,7 @@ static int decode_vmx_inst(struct cpu_user_regs *regs,
     return X86EMUL_OKAY;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 59be993..dc245be 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -135,7 +135,7 @@ static int hvm_translate_linear_addr(
 
     if ( !okay )
     {
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return X86EMUL_EXCEPTION;
     }
 
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 9368385..4f56ae6 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -4825,7 +4825,7 @@ static mfn_t emulate_gva_to_mfn(struct vcpu *v,
     if ( gfn == INVALID_GFN ) 
     {
         if ( is_hvm_vcpu(v) )
-            hvm_inject_exception(TRAP_page_fault, pfec, vaddr);
+            hvm_inject_page_fault(pfec, vaddr);
         else
             propagate_page_fault(vaddr, pfec);
         return _mfn(BAD_GVA_TO_GFN);
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 22f9451..65f7e20 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -71,6 +71,13 @@ enum hvm_intblk {
 #define HVM_HAP_SUPERPAGE_2MB   0x00000001
 #define HVM_HAP_SUPERPAGE_1GB   0x00000002
 
+struct hvm_trap {
+    int           vector;
+    unsigned int  type;         /* X86_EVENTTYPE_* */
+    int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE if n/a */
+    unsigned long cr2;          /* Only for TRAP_page_fault h/w exception */
+};
+
 /*
  * The hardware virtual machine (HVM) interface abstracts away from the
  * x86/x86_64 CPU virtualization assist specifics. Currently this interface
@@ -124,8 +131,7 @@ struct hvm_function_table {
 
     void (*set_tsc_offset)(struct vcpu *v, u64 offset);
 
-    void (*inject_exception)(unsigned int trapnr, int errcode,
-                             unsigned long cr2);
+    void (*inject_trap)(struct hvm_trap *trap);
 
     void (*init_hypercall_page)(struct domain *d, void *hypercall_page);
 
@@ -162,10 +168,7 @@ struct hvm_function_table {
                                 struct cpu_user_regs *regs);
     int (*nhvm_vcpu_vmexit)(struct vcpu *v, struct cpu_user_regs *regs,
                                 uint64_t exitcode);
-    int (*nhvm_vcpu_vmexit_trap)(struct vcpu *v,
-                                unsigned int trapnr,
-                                int errcode,
-                                unsigned long cr2);
+    int (*nhvm_vcpu_vmexit_trap)(struct vcpu *v, struct hvm_trap *trap);
     uint64_t (*nhvm_vcpu_guestcr3)(struct vcpu *v);
     uint64_t (*nhvm_vcpu_hostcr3)(struct vcpu *v);
     uint32_t (*nhvm_vcpu_asid)(struct vcpu *v);
@@ -320,7 +323,9 @@ void hvm_migrate_timers(struct vcpu *v);
 void hvm_do_resume(struct vcpu *v);
 void hvm_migrate_pirqs(struct vcpu *v);
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2);
+void hvm_inject_trap(struct hvm_trap *trap);
+void hvm_inject_hw_exception(unsigned int trapnr, int errcode);
+void hvm_inject_page_fault(int errcode, unsigned long cr2);
 
 static inline int hvm_event_pending(struct vcpu *v)
 {
@@ -479,8 +484,7 @@ int nhvm_vcpu_vmexit(struct vcpu *v, struct cpu_user_regs *regs,
 /* inject vmexit into l1 guest. l1 guest will see a VMEXIT due to
  * 'trapnr' exception.
  */ 
-int nhvm_vcpu_vmexit_trap(struct vcpu *v,
-    unsigned int trapnr, int errcode, unsigned long cr2);
+int nhvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap);
 
 /* returns l2 guest cr3 in l2 guest physical address space. */
 uint64_t nhvm_vcpu_guestcr3(struct vcpu *v);
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index f6951b3..fa83023 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -114,8 +114,7 @@ int nsvm_vcpu_hostrestore(struct vcpu *v, struct cpu_user_regs *regs);
 int nsvm_vcpu_vmrun(struct vcpu *v, struct cpu_user_regs *regs);
 int nsvm_vcpu_vmexit_inject(struct vcpu *v, struct cpu_user_regs *regs,
     uint64_t exitcode);
-int nsvm_vcpu_vmexit_trap(struct vcpu *v, unsigned int trapnr,
-                      int errcode, unsigned long cr2);
+int nsvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap);
 uint64_t nsvm_vcpu_guestcr3(struct vcpu *v);
 uint64_t nsvm_vcpu_hostcr3(struct vcpu *v);
 uint32_t nsvm_vcpu_asid(struct vcpu *v);
diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/include/asm-x86/hvm/vcpu.h
index 537da96..f2da72d 100644
--- a/xen/include/asm-x86/hvm/vcpu.h
+++ b/xen/include/asm-x86/hvm/vcpu.h
@@ -164,10 +164,9 @@ struct hvm_vcpu {
     /* Callback into x86_emulate when emulating FPU/MMX/XMM instructions. */
     void (*fpu_exception_callback)(void *, struct cpu_user_regs *);
     void *fpu_exception_callback_arg;
-    /* Pending hw/sw interrupt */
-    int           inject_trap;       /* -1 for nothing to inject */
-    int           inject_error_code;
-    unsigned long inject_cr2;
+
+    /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
+    struct hvm_trap     inject_trap;
 
     struct viridian_vcpu viridian;
 };
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index f003f84..accfa3f 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -387,7 +387,6 @@ static inline int __vmxon(u64 addr)
     return rc;
 }
 
-void vmx_inject_hw_exception(int trap, int error_code);
 void vmx_inject_extint(int trap);
 void vmx_inject_nmi(void);
 
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlN-0003JA-Or; Wed, 30 May 2012 02:35:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlL-0003Iv-Rb
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:52 +0000
Received: from [193.109.254.147:29252] by server-3.bemta-14.messagelabs.com id
	4E/71-15022-68785CF4; Wed, 30 May 2012 02:35:50 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!2
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20599 invoked from network); 30 May 2012 02:35:48 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:48 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:48 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043401"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:46 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:45 +0800
Message-Id: <1338345347-22433-2-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Cc: Keir Fraser <keir@xen.org>, aravindh@virtuata.com, eddie.dong@intel.com,
	xen-devel@lists.xen.org, Xudong Hao <xudong.hao@intel.com>,
	Ian.Jackson@eu.citrix.com
Subject: [Xen-devel] [PATCH v2 1/4] xen: Define new struct hvm_trap and
	cleanup vmx exception
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Define new struct hvm_trap to represent information of trap, and
renames hvm_inject_exception to hvm_inject_trap, then define a couple of
wrappers around that function for existing callers.

Signed-off-by: Keir Fraser <keir@xen.org>
Signed-off-by: Xudong Hao <xudong.hao@intel.com>
---
 xen/arch/x86/hvm/emulate.c              |    4 +-
 xen/arch/x86/hvm/hvm.c                  |   90 ++++++++++-------
 xen/arch/x86/hvm/io.c                   |    2 +-
 xen/arch/x86/hvm/svm/emulate.c          |    4 +-
 xen/arch/x86/hvm/svm/nestedsvm.c        |   16 ++--
 xen/arch/x86/hvm/svm/svm.c              |   66 +++++++------
 xen/arch/x86/hvm/vmx/intr.c             |    2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  169 ++++++++++++++-----------------
 xen/arch/x86/hvm/vmx/vpmu_core2.c       |    8 +-
 xen/arch/x86/hvm/vmx/vvmx.c             |    6 +-
 xen/arch/x86/mm/shadow/common.c         |    2 +-
 xen/arch/x86/mm/shadow/multi.c          |    2 +-
 xen/include/asm-x86/hvm/hvm.h           |   22 +++--
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    3 +-
 xen/include/asm-x86/hvm/vcpu.h          |    7 +-
 xen/include/asm-x86/hvm/vmx/vmx.h       |    1 -
 16 files changed, 205 insertions(+), 199 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 2b50670..9bfba48 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -326,7 +326,7 @@ static int hvmemul_linear_to_phys(
     {
         if ( pfec == PFEC_page_paged || pfec == PFEC_page_shared )
             return X86EMUL_RETRY;
-        hvm_inject_exception(TRAP_page_fault, pfec, addr);
+        hvm_inject_page_fault(pfec, addr);
         return X86EMUL_EXCEPTION;
     }
 
@@ -349,7 +349,7 @@ static int hvmemul_linear_to_phys(
                 ASSERT(!reverse);
                 if ( npfn != INVALID_GFN )
                     return X86EMUL_UNHANDLEABLE;
-                hvm_inject_exception(TRAP_page_fault, pfec, addr & PAGE_MASK);
+                hvm_inject_page_fault(pfec, addr & PAGE_MASK);
                 return X86EMUL_EXCEPTION;
             }
             *reps = done;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index efd5587..f3c87bc 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -347,12 +347,10 @@ void hvm_do_resume(struct vcpu *v)
     }
 
     /* Inject pending hw/sw trap */
-    if (v->arch.hvm_vcpu.inject_trap != -1) 
+    if ( v->arch.hvm_vcpu.inject_trap.vector != -1 ) 
     {
-        hvm_inject_exception(v->arch.hvm_vcpu.inject_trap, 
-                             v->arch.hvm_vcpu.inject_error_code, 
-                             v->arch.hvm_vcpu.inject_cr2);
-        v->arch.hvm_vcpu.inject_trap = -1;
+        hvm_inject_trap(&v->arch.hvm_vcpu.inject_trap);
+        v->arch.hvm_vcpu.inject_trap.vector = -1;
     }
 }
 
@@ -1047,7 +1045,7 @@ int hvm_vcpu_initialise(struct vcpu *v)
     spin_lock_init(&v->arch.hvm_vcpu.tm_lock);
     INIT_LIST_HEAD(&v->arch.hvm_vcpu.tm_list);
 
-    v->arch.hvm_vcpu.inject_trap = -1;
+    v->arch.hvm_vcpu.inject_trap.vector = -1;
 
 #ifdef CONFIG_COMPAT
     rc = setup_compat_arg_xlat(v);
@@ -1194,18 +1192,19 @@ void hvm_triple_fault(void)
     domain_shutdown(v->domain, SHUTDOWN_reboot);
 }
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
+void hvm_inject_trap(struct hvm_trap *trap)
 {
     struct vcpu *curr = current;
 
     if ( nestedhvm_enabled(curr->domain) &&
          !nestedhvm_vmswitch_in_progress(curr) &&
          nestedhvm_vcpu_in_guestmode(curr) &&
-         nhvm_vmcx_guest_intercepts_trap(curr, trapnr, errcode) )
+         nhvm_vmcx_guest_intercepts_trap(
+             curr, trap->vector, trap->error_code) )
     {
         enum nestedhvm_vmexits nsret;
 
-        nsret = nhvm_vcpu_vmexit_trap(curr, trapnr, errcode, cr2);
+        nsret = nhvm_vcpu_vmexit_trap(curr, trap);
 
         switch ( nsret )
         {
@@ -1221,7 +1220,26 @@ void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2)
         }
     }
 
-    hvm_funcs.inject_exception(trapnr, errcode, cr2);
+    hvm_funcs.inject_trap(trap);
+}
+
+void hvm_inject_hw_exception(unsigned int trapnr, int errcode)
+{
+    struct hvm_trap trap = {
+        .vector = trapnr,
+        .type = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code = errcode };
+    hvm_inject_trap(&trap);
+}
+
+void hvm_inject_page_fault(int errcode, unsigned long cr2)
+{
+    struct hvm_trap trap = {
+        .vector = TRAP_page_fault,
+        .type = X86_EVENTTYPE_HW_EXCEPTION,
+        .error_code = errcode,
+        .cr2 = cr2 };
+    hvm_inject_trap(&trap);
 }
 
 int hvm_hap_nested_page_fault(unsigned long gpa,
@@ -1270,7 +1288,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
             return -1;
         case NESTEDHVM_PAGEFAULT_MMIO:
             if ( !handle_mmio() )
-                hvm_inject_exception(TRAP_gp_fault, 0, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
             return 1;
         }
     }
@@ -1337,7 +1355,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         put_gfn(p2m->domain, gfn);
         if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         rc = 1;
         goto out;
     }
@@ -1380,7 +1398,7 @@ int hvm_hap_nested_page_fault(unsigned long gpa,
     {
         gdprintk(XENLOG_WARNING,
                  "trying to write to read-only grant mapping\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         rc = 1;
         goto out_put_gfn;
     }
@@ -1441,7 +1459,7 @@ int hvm_handle_xsetbv(u64 new_bv)
 
     return 0;
 err:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return -1;
 }
 
@@ -1457,7 +1475,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING, "Trying to set reserved bit in "
                  "EFER: 0x%"PRIx64"\n", value);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1466,7 +1484,7 @@ int hvm_set_efer(uint64_t value)
     {
         gdprintk(XENLOG_WARNING,
                  "Trying to change EFER.LME with paging enabled\n");
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return X86EMUL_EXCEPTION;
     }
 
@@ -1722,7 +1740,7 @@ int hvm_set_cr0(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1808,7 +1826,7 @@ int hvm_set_cr4(unsigned long value)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2104,7 +2122,7 @@ static int hvm_load_segment_selector(
  unmap_and_fail:
     hvm_unmap_entry(pdesc);
  fail:
-    hvm_inject_exception(fault_type, sel & 0xfffc, 0);
+    hvm_inject_hw_exception(fault_type, sel & 0xfffc);
  hvm_map_fail:
     return 1;
 }
@@ -2137,9 +2155,9 @@ void hvm_task_switch(
 
     if ( ((tss_sel & 0xfff8) + 7) > gdt.limit )
     {
-        hvm_inject_exception((taskswitch_reason == TSW_iret) ?
+        hvm_inject_hw_exception((taskswitch_reason == TSW_iret) ?
                              TRAP_invalid_tss : TRAP_gp_fault,
-                             tss_sel & 0xfff8, 0);
+                             tss_sel & 0xfff8);
         goto out;
     }
 
@@ -2164,21 +2182,21 @@ void hvm_task_switch(
 
     if ( !tr.attr.fields.p )
     {
-        hvm_inject_exception(TRAP_no_segment, tss_sel & 0xfff8, 0);
+        hvm_inject_hw_exception(TRAP_no_segment, tss_sel & 0xfff8);
         goto out;
     }
 
     if ( tr.attr.fields.type != ((taskswitch_reason == TSW_iret) ? 0xb : 0x9) )
     {
-        hvm_inject_exception(
+        hvm_inject_hw_exception(
             (taskswitch_reason == TSW_iret) ? TRAP_invalid_tss : TRAP_gp_fault,
-            tss_sel & 0xfff8, 0);
+            tss_sel & 0xfff8);
         goto out;
     }
 
     if ( tr.limit < (sizeof(tss)-1) )
     {
-        hvm_inject_exception(TRAP_invalid_tss, tss_sel & 0xfff8, 0);
+        hvm_inject_hw_exception(TRAP_invalid_tss, tss_sel & 0xfff8);
         goto out;
     }
 
@@ -2283,7 +2301,7 @@ void hvm_task_switch(
         goto out;
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_exception(TRAP_debug, tss_sel & 0xfff8, 0);
+        hvm_inject_hw_exception(TRAP_debug, tss_sel & 0xfff8);
 
     tr.attr.fields.type = 0xb; /* busy 32-bit tss */
     hvm_set_segment_register(v, x86_seg_tr, &tr);
@@ -2362,7 +2380,7 @@ static enum hvm_copy_result __hvm_copy(
                 if ( pfec == PFEC_page_shared )
                     return HVMCOPY_gfn_shared;
                 if ( flags & HVMCOPY_fault )
-                    hvm_inject_exception(TRAP_page_fault, pfec, addr);
+                    hvm_inject_page_fault(pfec, addr);
                 return HVMCOPY_bad_gva_to_gfn;
             }
         }
@@ -2849,7 +2867,7 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return ret;
 
  gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     ret = X86EMUL_EXCEPTION;
     *msr_content = -1ull;
     goto out;
@@ -2962,7 +2980,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return ret;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -4267,13 +4285,13 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
         if ( tr.vcpuid >= d->max_vcpus || (v = d->vcpu[tr.vcpuid]) == NULL )
             goto param_fail8;
         
-        if ( v->arch.hvm_vcpu.inject_trap != -1 )
+        if ( v->arch.hvm_vcpu.inject_trap.vector != -1 )
             rc = -EBUSY;
         else 
         {
-            v->arch.hvm_vcpu.inject_trap       = tr.trap;
-            v->arch.hvm_vcpu.inject_error_code = tr.error_code;
-            v->arch.hvm_vcpu.inject_cr2        = tr.cr2;
+            v->arch.hvm_vcpu.inject_trap.vector = tr.trap;
+            v->arch.hvm_vcpu.inject_trap.error_code = tr.error_code;
+            v->arch.hvm_vcpu.inject_trap.cr2 = tr.cr2;
         }
 
     param_fail8:
@@ -4431,11 +4449,9 @@ int nhvm_vcpu_vmexit(struct vcpu *v, struct cpu_user_regs *regs,
     return -EOPNOTSUPP;
 }
 
-int
-nhvm_vcpu_vmexit_trap(struct vcpu *v, unsigned int trapnr,
-                       int errcode, unsigned long cr2)
+int nhvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    return hvm_funcs.nhvm_vcpu_vmexit_trap(v, trapnr, errcode, cr2);
+    return hvm_funcs.nhvm_vcpu_vmexit_trap(v, trap);
 }
 
 uint64_t nhvm_vcpu_guestcr3(struct vcpu *v)
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 41a2ede..31af045 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -200,7 +200,7 @@ int handle_mmio(void)
         return 0;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_hw_exception(ctxt.exn_vector, ctxt.exn_error_code);
         break;
     default:
         break;
diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
index 6000bff..0c72f00 100644
--- a/xen/arch/x86/hvm/svm/emulate.c
+++ b/xen/arch/x86/hvm/svm/emulate.c
@@ -147,7 +147,7 @@ static int fetch(struct vcpu *v, u8 *buf, unsigned long addr, int len)
         /* Not OK: fetches from non-RAM pages are not supportable. */
         gdprintk(XENLOG_WARNING, "Bad instruction fetch at %#lx (%#lx)\n",
                  (unsigned long) guest_cpu_user_regs()->eip, addr);
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return 0;
     }
     return 1;
@@ -216,7 +216,7 @@ int __get_instruction_length_from_list(struct vcpu *v,
     gdprintk(XENLOG_WARNING,
              "%s: Mismatch between expected and actual instruction bytes: "
              "eip = %lx\n",  __func__, (unsigned long)vmcb->rip);
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return 0;
 
  done:
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 8714bb0..6ed3260 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -735,8 +735,8 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct cpu_user_regs *regs)
     default:
         gdprintk(XENLOG_ERR,
             "nsvm_vcpu_vmentry failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
-        /* Must happen after hvm_inject_exception or it doesn't work right. */
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+        /* Must happen after hvm_inject_hw_exception or it doesn't work right. */
         nv->nv_vmswitch_in_progress = 0;
         return 1;
     }
@@ -796,12 +796,12 @@ nsvm_vcpu_vmexit_inject(struct vcpu *v, struct cpu_user_regs *regs,
 }
 
 int
-nsvm_vcpu_vmexit_trap(struct vcpu *v, unsigned int trapnr,
-                      int errcode, unsigned long cr2)
+nsvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
     ASSERT(vcpu_nestedhvm(v).nv_vvmcx != NULL);
 
-    nestedsvm_vmexit_defer(v, VMEXIT_EXCEPTION_DE + trapnr, errcode, cr2);
+    nestedsvm_vmexit_defer(v, VMEXIT_EXCEPTION_DE + trap->vector,
+                           trap->error_code, trap->cr2);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1176,7 +1176,7 @@ enum hvm_intblk nsvm_intr_blocked(struct vcpu *v)
     }
 
     if ( nv->nv_vmexit_pending ) {
-        /* hvm_inject_exception() must have run before.
+        /* hvm_inject_hw_exception() must have run before.
          * exceptions have higher priority than interrupts.
          */
         return hvm_intblk_rflags_ie;
@@ -1509,7 +1509,7 @@ void svm_vmexit_do_stgi(struct cpu_user_regs *regs, struct vcpu *v)
     unsigned int inst_len;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1529,7 +1529,7 @@ void svm_vmexit_do_clgi(struct cpu_user_regs *regs, struct vcpu *v)
     vintr_t intr;
 
     if ( !nestedhvm_enabled(v->domain) ) {
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index e717dda..e568e33 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -109,7 +109,7 @@ void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len)
     curr->arch.hvm_svm.vmcb->interrupt_shadow = 0;
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        hvm_inject_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
 }
 
 static void svm_cpu_down(void)
@@ -1066,14 +1066,14 @@ static void svm_vcpu_destroy(struct vcpu *v)
     passive_domain_destroy(v);
 }
 
-static void svm_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
+static void svm_inject_trap(struct hvm_trap *trap)
 {
     struct vcpu *curr = current;
     struct vmcb_struct *vmcb = curr->arch.hvm_svm.vmcb;
     eventinj_t event = vmcb->eventinj;
+    struct hvm_trap _trap = *trap;
 
-    switch ( trapnr )
+    switch ( _trap.vector )
     {
     case TRAP_debug:
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
@@ -1081,6 +1081,9 @@ static void svm_inject_exception(
             __restore_debug_registers(curr);
             vmcb_set_dr6(vmcb, vmcb_get_dr6(vmcb) | 0x4000);
         }
+        if ( cpu_has_monitor_trap_flag )
+            break;
+        /* fall through */
     case TRAP_int3:
         if ( curr->domain->debugger_attached )
         {
@@ -1093,29 +1096,30 @@ static void svm_inject_exception(
     if ( unlikely(event.fields.v) &&
          (event.fields.type == X86_EVENTTYPE_HW_EXCEPTION) )
     {
-        trapnr = hvm_combine_hw_exceptions(event.fields.vector, trapnr);
-        if ( trapnr == TRAP_double_fault )
-            errcode = 0;
+        _trap.vector = hvm_combine_hw_exceptions(
+            event.fields.vector, _trap.vector);
+        if ( _trap.vector == TRAP_double_fault )
+            _trap.error_code = 0;
     }
 
     event.bytes = 0;
     event.fields.v = 1;
     event.fields.type = X86_EVENTTYPE_HW_EXCEPTION;
-    event.fields.vector = trapnr;
-    event.fields.ev = (errcode != HVM_DELIVER_NO_ERROR_CODE);
-    event.fields.errorcode = errcode;
+    event.fields.vector = _trap.vector;
+    event.fields.ev = (_trap.error_code != HVM_DELIVER_NO_ERROR_CODE);
+    event.fields.errorcode = _trap.error_code;
 
     vmcb->eventinj = event;
 
-    if ( trapnr == TRAP_page_fault )
+    if ( _trap.vector == TRAP_page_fault )
     {
-        curr->arch.hvm_vcpu.guest_cr[2] = cr2;
-        vmcb_set_cr2(vmcb, cr2);
-        HVMTRACE_LONG_2D(PF_INJECT, errcode, TRC_PAR_LONG(cr2));
+        curr->arch.hvm_vcpu.guest_cr[2] = _trap.cr2;
+        vmcb_set_cr2(vmcb, _trap.cr2);
+        HVMTRACE_LONG_2D(PF_INJECT, _trap.error_code, TRC_PAR_LONG(_trap.cr2));
     }
     else
     {
-        HVMTRACE_2D(INJ_EXC, trapnr, errcode);
+        HVMTRACE_2D(INJ_EXC, _trap.vector, _trap.error_code);
     }
 }
 
@@ -1361,7 +1365,7 @@ static void svm_fpu_dirty_intercept(void)
     {
        /* Check if l1 guest must make FPU ready for the l2 guest */
        if ( v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS )
-           hvm_inject_exception(TRAP_no_device, HVM_DELIVER_NO_ERROR_CODE, 0);
+           hvm_inject_hw_exception(TRAP_no_device, HVM_DELIVER_NO_ERROR_CODE);
        else
            vmcb_set_cr0(n1vmcb, vmcb_get_cr0(n1vmcb) & ~X86_CR0_TS);
        return;
@@ -1579,7 +1583,7 @@ static int svm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1708,7 +1712,7 @@ static int svm_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return X86EMUL_OKAY;
 
  gpf:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -1784,13 +1788,13 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
 {
     if (!nestedhvm_enabled(v->domain)) {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
     if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
         gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1830,7 +1834,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_hw_exception(ret, HVM_DELIVER_NO_ERROR_CODE);
     return;
 }
 
@@ -1864,7 +1868,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     return;
 
  inject:
-    hvm_inject_exception(ret, HVM_DELIVER_NO_ERROR_CODE, 0);
+    hvm_inject_hw_exception(ret, HVM_DELIVER_NO_ERROR_CODE);
     return;
 }
 
@@ -1880,11 +1884,11 @@ static void svm_vmexit_ud_intercept(struct cpu_user_regs *regs)
     switch ( rc )
     {
     case X86EMUL_UNHANDLEABLE:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_hw_exception(ctxt.exn_vector, ctxt.exn_error_code);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
@@ -1998,7 +2002,7 @@ static struct hvm_function_table __read_mostly svm_function_table = {
     .set_guest_pat        = svm_set_guest_pat,
     .get_guest_pat        = svm_get_guest_pat,
     .set_tsc_offset       = svm_set_tsc_offset,
-    .inject_exception     = svm_inject_exception,
+    .inject_trap          = svm_inject_trap,
     .init_hypercall_page  = svm_init_hypercall_page,
     .event_pending        = svm_event_pending,
     .do_pmu_interrupt     = svm_do_pmu_interrupt,
@@ -2212,7 +2216,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             break;
         }
 
-        hvm_inject_exception(TRAP_page_fault, regs->error_code, va);
+        hvm_inject_page_fault(regs->error_code, va);
         break;
     }
 
@@ -2285,7 +2289,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
                 __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
@@ -2293,7 +2297,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         if ( cpu_has_svm_decode && (vmcb->exitinfo1 & (1ULL << 63)) )
             svm_vmexit_do_cr_access(vmcb, regs);
         else if ( !handle_mmio() ) 
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case VMEXIT_INVLPG:
@@ -2303,7 +2307,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
             __update_guest_eip(regs, vmcb->nextrip - vmcb->rip);
         }
         else if ( !handle_mmio() )
-            hvm_inject_exception(TRAP_gp_fault, 0, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case VMEXIT_INVLPGA:
@@ -2349,7 +2353,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
 
     case VMEXIT_MONITOR:
     case VMEXIT_MWAIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
 
     case VMEXIT_VMRUN:
@@ -2368,7 +2372,7 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
         svm_vmexit_do_clgi(regs, v);
         break;
     case VMEXIT_SKINIT:
-        hvm_inject_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE, 0);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
 
     case VMEXIT_XSETBV:
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index d675011..590c483 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -251,7 +251,7 @@ void vmx_intr_assist(void)
     }
     else if ( intack.source == hvm_intsrc_mce )
     {
-        vmx_inject_hw_exception(TRAP_machine_check, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_machine_check, HVM_DELIVER_NO_ERROR_CODE);
     }
     else
     {
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d5cb279..c96d18b 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -268,7 +268,7 @@ long_mode_do_msr_write(unsigned int msr, uint64_t msr_content)
 
  uncanonical_address:
     HVM_DBG_LOG(DBG_LEVEL_0, "Not cano address of msr write %x", msr);
-    vmx_inject_hw_exception(TRAP_gp_fault, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return HNDL_exception_raised;
 }
 
@@ -1310,10 +1310,9 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
                  nvmx->intr.intr_info, nvmx->intr.error_code);
 }
 
-static int nvmx_vmexit_exceptions(struct vcpu *v, unsigned int trapnr,
-                      int errcode, unsigned long cr2)
+static int nvmx_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    nvmx_enqueue_n2_exceptions(v, trapnr, errcode);
+    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1344,22 +1343,62 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_hw_exception(int trap, int error_code)
+void vmx_inject_extint(int trap)
+{
+    struct vcpu *v = current;
+    u32    pin_based_cntrl;
+
+    if ( nestedhvm_vcpu_in_guestmode(v) ) {
+        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
+                                     PIN_BASED_VM_EXEC_CONTROL);
+        if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
+            nvmx_enqueue_n2_exceptions (v, 
+               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
+               HVM_DELIVER_NO_ERROR_CODE);
+            return;
+        }
+    }
+    __vmx_inject_exception(trap, X86_EVENTTYPE_EXT_INTR,
+                           HVM_DELIVER_NO_ERROR_CODE);
+}
+
+void vmx_inject_nmi(void)
+{
+    struct vcpu *v = current;
+    u32    pin_based_cntrl;
+
+    if ( nestedhvm_vcpu_in_guestmode(v) ) {
+        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
+                                     PIN_BASED_VM_EXEC_CONTROL);
+        if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
+            nvmx_enqueue_n2_exceptions (v, 
+               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
+               HVM_DELIVER_NO_ERROR_CODE);
+            return;
+        }
+    }
+    __vmx_inject_exception(2, X86_EVENTTYPE_NMI,
+                           HVM_DELIVER_NO_ERROR_CODE);
+}
+
+static void vmx_inject_trap(struct hvm_trap *trap)
 {
     unsigned long intr_info;
     struct vcpu *curr = current;
+    struct hvm_trap _trap = *trap;
 
-    int type = X86_EVENTTYPE_HW_EXCEPTION;
+    if ( (_trap.vector == TRAP_page_fault) &&
+         (_trap.type == X86_EVENTTYPE_HW_EXCEPTION) )
+        current->arch.hvm_vcpu.guest_cr[2] = _trap.cr2;
 
     if ( nestedhvm_vcpu_in_guestmode(curr) )
         intr_info = vcpu_2_nvmx(curr).intr.intr_info;
     else
         intr_info = __vmread(VM_ENTRY_INTR_INFO);
 
-    switch ( trap )
+    switch ( _trap.vector )
     {
     case TRAP_debug:
-        type = X86_EVENTTYPE_SW_EXCEPTION;
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1368,7 +1407,6 @@ void vmx_inject_hw_exception(int trap, int error_code)
         if ( cpu_has_monitor_trap_flag )
             break;
         /* fall through */
-
     case TRAP_int3:
         if ( curr->domain->debugger_attached )
         {
@@ -1376,91 +1414,34 @@ void vmx_inject_hw_exception(int trap, int error_code)
             domain_pause_for_debugger();
             return;
         }
-
-        type = X86_EVENTTYPE_SW_EXCEPTION;
-        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 1); /* int3 */
-        break;
-
-    default:
-        if ( trap > TRAP_last_reserved )
-        {
-            type = X86_EVENTTYPE_SW_EXCEPTION;
-            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, 2); /* int imm8 */
-        }
-        break;
     }
 
     if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
          (((intr_info >> 8) & 7) == X86_EVENTTYPE_HW_EXCEPTION) )
     {
-        trap = hvm_combine_hw_exceptions((uint8_t)intr_info, trap);
-        if ( trap == TRAP_double_fault )
-            error_code = 0;
+        _trap.vector = hvm_combine_hw_exceptions(
+            (uint8_t)intr_info, _trap.vector);
+        if ( _trap.vector == TRAP_double_fault )
+            _trap.error_code = 0;
     }
 
     if ( nestedhvm_vcpu_in_guestmode(curr) &&
-         nvmx_intercepts_exception(curr, trap, error_code) )
+         nvmx_intercepts_exception(curr, _trap.vector, _trap.error_code) )
     {
         nvmx_enqueue_n2_exceptions (curr, 
-            INTR_INFO_VALID_MASK | (type<<8) | trap,
-            error_code); 
+            INTR_INFO_VALID_MASK | (_trap.type<<8) | _trap.vector,
+            _trap.error_code); 
         return;
     }
     else
-        __vmx_inject_exception(trap, type, error_code);
+        __vmx_inject_exception(_trap.vector, _trap.type, _trap.error_code);
 
-    if ( trap == TRAP_page_fault )
-        HVMTRACE_LONG_2D(PF_INJECT, error_code,
+    if ( (_trap.vector == TRAP_page_fault) &&
+         (_trap.type == X86_EVENTTYPE_HW_EXCEPTION) )
+        HVMTRACE_LONG_2D(PF_INJECT, _trap.error_code,
                          TRC_PAR_LONG(current->arch.hvm_vcpu.guest_cr[2]));
     else
-        HVMTRACE_2D(INJ_EXC, trap, error_code);
-}
-
-void vmx_inject_extint(int trap)
-{
-    struct vcpu *v = current;
-    u32    pin_based_cntrl;
-
-    if ( nestedhvm_vcpu_in_guestmode(v) ) {
-        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
-                                     PIN_BASED_VM_EXEC_CONTROL);
-        if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
-            nvmx_enqueue_n2_exceptions (v, 
-               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
-               HVM_DELIVER_NO_ERROR_CODE);
-            return;
-        }
-    }
-    __vmx_inject_exception(trap, X86_EVENTTYPE_EXT_INTR,
-                           HVM_DELIVER_NO_ERROR_CODE);
-}
-
-void vmx_inject_nmi(void)
-{
-    struct vcpu *v = current;
-    u32    pin_based_cntrl;
-
-    if ( nestedhvm_vcpu_in_guestmode(v) ) {
-        pin_based_cntrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, 
-                                     PIN_BASED_VM_EXEC_CONTROL);
-        if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
-            nvmx_enqueue_n2_exceptions (v, 
-               INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
-               HVM_DELIVER_NO_ERROR_CODE);
-            return;
-        }
-    }
-    __vmx_inject_exception(2, X86_EVENTTYPE_NMI,
-                           HVM_DELIVER_NO_ERROR_CODE);
-}
-
-static void vmx_inject_exception(
-    unsigned int trapnr, int errcode, unsigned long cr2)
-{
-    if ( trapnr == TRAP_page_fault )
-        current->arch.hvm_vcpu.guest_cr[2] = cr2;
-
-    vmx_inject_hw_exception(trapnr, errcode);
+        HVMTRACE_2D(INJ_EXC, _trap.vector, _trap.error_code);
 }
 
 static int vmx_event_pending(struct vcpu *v)
@@ -1532,7 +1513,7 @@ static struct hvm_function_table __read_mostly vmx_function_table = {
     .set_guest_pat        = vmx_set_guest_pat,
     .get_guest_pat        = vmx_get_guest_pat,
     .set_tsc_offset       = vmx_set_tsc_offset,
-    .inject_exception     = vmx_inject_exception,
+    .inject_trap          = vmx_inject_trap,
     .init_hypercall_page  = vmx_init_hypercall_page,
     .event_pending        = vmx_event_pending,
     .do_pmu_interrupt     = vmx_do_pmu_interrupt,
@@ -1554,7 +1535,7 @@ static struct hvm_function_table __read_mostly vmx_function_table = {
     .nhvm_vcpu_hostcr3    = nvmx_vcpu_hostcr3,
     .nhvm_vcpu_asid       = nvmx_vcpu_asid,
     .nhvm_vmcx_guest_intercepts_trap = nvmx_intercepts_exception,
-    .nhvm_vcpu_vmexit_trap = nvmx_vmexit_exceptions,
+    .nhvm_vcpu_vmexit_trap = nvmx_vmexit_trap,
     .nhvm_intr_blocked    = nvmx_intr_blocked
 };
 
@@ -1618,7 +1599,7 @@ static void update_guest_eip(void)
     }
 
     if ( regs->eflags & X86_EFLAGS_TF )
-        vmx_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
 }
 
 static void vmx_fpu_dirty_intercept(void)
@@ -1922,7 +1903,7 @@ done:
     return X86EMUL_OKAY;
 
 gp_fault:
-    vmx_inject_hw_exception(TRAP_gp_fault, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2030,7 +2011,7 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
 
         if ( (rc < 0) ||
              (vmx_add_host_load_msr(msr) < 0) )
-            vmx_inject_hw_exception(TRAP_machine_check, 0);
+            hvm_inject_hw_exception(TRAP_machine_check, 0);
         else
         {
             __vmwrite(GUEST_IA32_DEBUGCTL, msr_content);
@@ -2073,7 +2054,7 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     return X86EMUL_OKAY;
 
 gp_fault:
-    vmx_inject_hw_exception(TRAP_gp_fault, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -2222,11 +2203,11 @@ static void vmx_vmexit_ud_intercept(struct cpu_user_regs *regs)
     switch ( rc )
     {
     case X86EMUL_UNHANDLEABLE:
-        vmx_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
     case X86EMUL_EXCEPTION:
         if ( ctxt.exn_pending )
-            hvm_inject_exception(ctxt.exn_vector, ctxt.exn_error_code, 0);
+            hvm_inject_hw_exception(ctxt.exn_vector, ctxt.exn_error_code);
         /* fall through */
     default:
         hvm_emulate_writeback(&ctxt);
@@ -2440,7 +2421,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 
                 if ( handled < 0 ) 
                 {
-                    vmx_inject_exception(TRAP_int3, HVM_DELIVER_NO_ERROR_CODE, 0);
+                    struct hvm_trap trap = {
+                        .vector = TRAP_int3,
+                        .type = X86_EVENTTYPE_SW_EXCEPTION,
+                        .error_code = HVM_DELIVER_NO_ERROR_CODE
+                    };
+                    hvm_inject_trap(&trap);
                     break;
                 }
                 else if ( handled )
@@ -2476,8 +2462,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 break;
             }
 
-            v->arch.hvm_vcpu.guest_cr[2] = exit_qualification;
-            vmx_inject_hw_exception(TRAP_page_fault, regs->error_code);
+            hvm_inject_page_fault(regs->error_code, exit_qualification);
             break;
         case TRAP_nmi:
             if ( (intr_info & INTR_INFO_INTR_TYPE_MASK) !=
@@ -2658,7 +2643,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
          * as far as vmexit.
          */
         WARN_ON(exit_reason == EXIT_REASON_GETSEC);
-        vmx_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         break;
 
     case EXIT_REASON_TPR_BELOW_THRESHOLD:
@@ -2666,7 +2651,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 
     case EXIT_REASON_APIC_ACCESS:
         if ( !vmx_handle_eoi_write() && !handle_mmio() )
-            vmx_inject_hw_exception(TRAP_gp_fault, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
 
     case EXIT_REASON_IO_INSTRUCTION:
@@ -2675,7 +2660,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         {
             /* INS, OUTS */
             if ( !handle_mmio() )
-                vmx_inject_hw_exception(TRAP_gp_fault, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
         }
         else
         {
diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c
index 266d4a6..c79103e 100644
--- a/xen/arch/x86/hvm/vmx/vpmu_core2.c
+++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c
@@ -421,7 +421,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
                 if ( vpmu_is_set(vpmu, VPMU_CPU_HAS_BTS) )
                     return 1;
                 gdprintk(XENLOG_WARNING, "Debug Store is not supported on this cpu\n");
-                vmx_inject_hw_exception(TRAP_gp_fault, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
                 return 0;
             }
         }
@@ -437,7 +437,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
     case MSR_CORE_PERF_GLOBAL_STATUS:
         gdprintk(XENLOG_INFO, "Can not write readonly MSR: "
                  "MSR_PERF_GLOBAL_STATUS(0x38E)!\n");
-        vmx_inject_hw_exception(TRAP_gp_fault, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return 1;
     case MSR_IA32_PEBS_ENABLE:
         if ( msr_content & 1 )
@@ -452,7 +452,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
                 gdprintk(XENLOG_WARNING,
                          "Illegal address for IA32_DS_AREA: %#" PRIx64 "x\n",
                          msr_content);
-                vmx_inject_hw_exception(TRAP_gp_fault, 0);
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
                 return 1;
             }
             core2_vpmu_cxt->pmu_enable->ds_area_enable = msr_content ? 1 : 0;
@@ -544,7 +544,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
             break;
         }
         if (inject_gp)
-            vmx_inject_hw_exception(TRAP_gp_fault, 0);
+            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         else
             wrmsrl(msr, msr_content);
     }
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index b0ae0ee..fc733a9 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -304,12 +304,12 @@ vmexit:
     
 invalid_op:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: invalid_op\n");
-    hvm_inject_exception(TRAP_invalid_op, 0, 0);
+    hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
     return X86EMUL_EXCEPTION;
 
 gp_fault:
     gdprintk(XENLOG_ERR, "vmx_inst_check_privilege: gp_fault\n");
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
@@ -386,7 +386,7 @@ static int decode_vmx_inst(struct cpu_user_regs *regs,
     return X86EMUL_OKAY;
 
 gp_fault:
-    hvm_inject_exception(TRAP_gp_fault, 0, 0);
+    hvm_inject_hw_exception(TRAP_gp_fault, 0);
     return X86EMUL_EXCEPTION;
 }
 
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 59be993..dc245be 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -135,7 +135,7 @@ static int hvm_translate_linear_addr(
 
     if ( !okay )
     {
-        hvm_inject_exception(TRAP_gp_fault, 0, 0);
+        hvm_inject_hw_exception(TRAP_gp_fault, 0);
         return X86EMUL_EXCEPTION;
     }
 
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 9368385..4f56ae6 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -4825,7 +4825,7 @@ static mfn_t emulate_gva_to_mfn(struct vcpu *v,
     if ( gfn == INVALID_GFN ) 
     {
         if ( is_hvm_vcpu(v) )
-            hvm_inject_exception(TRAP_page_fault, pfec, vaddr);
+            hvm_inject_page_fault(pfec, vaddr);
         else
             propagate_page_fault(vaddr, pfec);
         return _mfn(BAD_GVA_TO_GFN);
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 22f9451..65f7e20 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -71,6 +71,13 @@ enum hvm_intblk {
 #define HVM_HAP_SUPERPAGE_2MB   0x00000001
 #define HVM_HAP_SUPERPAGE_1GB   0x00000002
 
+struct hvm_trap {
+    int           vector;
+    unsigned int  type;         /* X86_EVENTTYPE_* */
+    int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE if n/a */
+    unsigned long cr2;          /* Only for TRAP_page_fault h/w exception */
+};
+
 /*
  * The hardware virtual machine (HVM) interface abstracts away from the
  * x86/x86_64 CPU virtualization assist specifics. Currently this interface
@@ -124,8 +131,7 @@ struct hvm_function_table {
 
     void (*set_tsc_offset)(struct vcpu *v, u64 offset);
 
-    void (*inject_exception)(unsigned int trapnr, int errcode,
-                             unsigned long cr2);
+    void (*inject_trap)(struct hvm_trap *trap);
 
     void (*init_hypercall_page)(struct domain *d, void *hypercall_page);
 
@@ -162,10 +168,7 @@ struct hvm_function_table {
                                 struct cpu_user_regs *regs);
     int (*nhvm_vcpu_vmexit)(struct vcpu *v, struct cpu_user_regs *regs,
                                 uint64_t exitcode);
-    int (*nhvm_vcpu_vmexit_trap)(struct vcpu *v,
-                                unsigned int trapnr,
-                                int errcode,
-                                unsigned long cr2);
+    int (*nhvm_vcpu_vmexit_trap)(struct vcpu *v, struct hvm_trap *trap);
     uint64_t (*nhvm_vcpu_guestcr3)(struct vcpu *v);
     uint64_t (*nhvm_vcpu_hostcr3)(struct vcpu *v);
     uint32_t (*nhvm_vcpu_asid)(struct vcpu *v);
@@ -320,7 +323,9 @@ void hvm_migrate_timers(struct vcpu *v);
 void hvm_do_resume(struct vcpu *v);
 void hvm_migrate_pirqs(struct vcpu *v);
 
-void hvm_inject_exception(unsigned int trapnr, int errcode, unsigned long cr2);
+void hvm_inject_trap(struct hvm_trap *trap);
+void hvm_inject_hw_exception(unsigned int trapnr, int errcode);
+void hvm_inject_page_fault(int errcode, unsigned long cr2);
 
 static inline int hvm_event_pending(struct vcpu *v)
 {
@@ -479,8 +484,7 @@ int nhvm_vcpu_vmexit(struct vcpu *v, struct cpu_user_regs *regs,
 /* inject vmexit into l1 guest. l1 guest will see a VMEXIT due to
  * 'trapnr' exception.
  */ 
-int nhvm_vcpu_vmexit_trap(struct vcpu *v,
-    unsigned int trapnr, int errcode, unsigned long cr2);
+int nhvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap);
 
 /* returns l2 guest cr3 in l2 guest physical address space. */
 uint64_t nhvm_vcpu_guestcr3(struct vcpu *v);
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index f6951b3..fa83023 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -114,8 +114,7 @@ int nsvm_vcpu_hostrestore(struct vcpu *v, struct cpu_user_regs *regs);
 int nsvm_vcpu_vmrun(struct vcpu *v, struct cpu_user_regs *regs);
 int nsvm_vcpu_vmexit_inject(struct vcpu *v, struct cpu_user_regs *regs,
     uint64_t exitcode);
-int nsvm_vcpu_vmexit_trap(struct vcpu *v, unsigned int trapnr,
-                      int errcode, unsigned long cr2);
+int nsvm_vcpu_vmexit_trap(struct vcpu *v, struct hvm_trap *trap);
 uint64_t nsvm_vcpu_guestcr3(struct vcpu *v);
 uint64_t nsvm_vcpu_hostcr3(struct vcpu *v);
 uint32_t nsvm_vcpu_asid(struct vcpu *v);
diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/include/asm-x86/hvm/vcpu.h
index 537da96..f2da72d 100644
--- a/xen/include/asm-x86/hvm/vcpu.h
+++ b/xen/include/asm-x86/hvm/vcpu.h
@@ -164,10 +164,9 @@ struct hvm_vcpu {
     /* Callback into x86_emulate when emulating FPU/MMX/XMM instructions. */
     void (*fpu_exception_callback)(void *, struct cpu_user_regs *);
     void *fpu_exception_callback_arg;
-    /* Pending hw/sw interrupt */
-    int           inject_trap;       /* -1 for nothing to inject */
-    int           inject_error_code;
-    unsigned long inject_cr2;
+
+    /* Pending hw/sw interrupt (.vector = -1 means nothing pending). */
+    struct hvm_trap     inject_trap;
 
     struct viridian_vcpu viridian;
 };
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index f003f84..accfa3f 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -387,7 +387,6 @@ static inline int __vmxon(u64 addr)
     return rc;
 }
 
-void vmx_inject_hw_exception(int trap, int error_code);
 void vmx_inject_extint(int trap);
 void vmx_inject_nmi(void);
 
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlK-0003Io-CP; Wed, 30 May 2012 02:35:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlJ-0003Ij-Kz
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:49 +0000
Received: from [193.109.254.147:47026] by server-2.bemta-14.messagelabs.com id
	EA/C0-03167-48785CF4; Wed, 30 May 2012 02:35:48 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!1
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20590 invoked from network); 30 May 2012 02:35:48 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:48 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043392"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:45 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:44 +0800
Message-Id: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: aravindh@virtuata.com, eddie.dong@intel.com, Ian.Jackson@eu.citrix.com,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes from v1:
- Define new struct hvm_trap to represent information of trap, include
  instruction length. 
- Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
  wrappers around that function for existing callers, so that their parameter
  lists actually *shrink*.


This series of patches fix the mistake for debug exception(#DB), overflow
exception(#OF) and INT3(#BP), INTn instruction emulation. 

PATCH 3 and PATCH 4 supply an interface for userspace to inject trap.


PATCH 1: Define new struct hvm_trap and cleanup vmx exception.

PATCH 2: Fix the mistake for debug exception(#DB), overflow exception(#OF) and
INT3(#BP), INTn instruction emulation. Add inslen field in struct hvm_trap.

PATCH 3: Add parameter inslen for hypercall HVMOP_inject_trap, supply interface
used by passing instruction length from userspace.

PATCH 4: Add a parameter to represent instruction length in function
  xc_hvm_inject_trap(), user should set this value when this
  function is called.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlK-0003Io-CP; Wed, 30 May 2012 02:35:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlJ-0003Ij-Kz
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:49 +0000
Received: from [193.109.254.147:47026] by server-2.bemta-14.messagelabs.com id
	EA/C0-03167-48785CF4; Wed, 30 May 2012 02:35:48 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!1
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20590 invoked from network); 30 May 2012 02:35:48 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:48 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:46 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043392"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:45 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:44 +0800
Message-Id: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: aravindh@virtuata.com, eddie.dong@intel.com, Ian.Jackson@eu.citrix.com,
	xen-devel@lists.xen.org
Subject: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Changes from v1:
- Define new struct hvm_trap to represent information of trap, include
  instruction length. 
- Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
  wrappers around that function for existing callers, so that their parameter
  lists actually *shrink*.


This series of patches fix the mistake for debug exception(#DB), overflow
exception(#OF) and INT3(#BP), INTn instruction emulation. 

PATCH 3 and PATCH 4 supply an interface for userspace to inject trap.


PATCH 1: Define new struct hvm_trap and cleanup vmx exception.

PATCH 2: Fix the mistake for debug exception(#DB), overflow exception(#OF) and
INT3(#BP), INTn instruction emulation. Add inslen field in struct hvm_trap.

PATCH 3: Add parameter inslen for hypercall HVMOP_inject_trap, supply interface
used by passing instruction length from userspace.

PATCH 4: Add a parameter to represent instruction length in function
  xc_hvm_inject_trap(), user should set this value when this
  function is called.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlO-0003JV-NZ; Wed, 30 May 2012 02:35:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlN-0003J7-LB
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:53 +0000
Received: from [193.109.254.147:29303] by server-6.bemta-14.messagelabs.com id
	08/F4-10397-88785CF4; Wed, 30 May 2012 02:35:52 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!4
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20935 invoked from network); 30 May 2012 02:35:52 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:52 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:51 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043416"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:50 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:47 +0800
Message-Id: <1338345347-22433-4-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	Xudong Hao <xudong.hao@intel.com>, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH v2 3/4] xen: Add instruction length parameter in
	hypercall HVMOP_inject_trap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add parameter inslen for hypercall HVMOP_inject_trap, supply interface used by
passing instruction length from userspace.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/hvm.c          |    1 +
 xen/include/public/hvm/hvm_op.h |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f3c87bc..2921e9e 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4290,6 +4290,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
         else 
         {
             v->arch.hvm_vcpu.inject_trap.vector = tr.trap;
+            v->arch.hvm_vcpu.inject_trap.inslen = tr.inslen;
             v->arch.hvm_vcpu.inject_trap.error_code = tr.error_code;
             v->arch.hvm_vcpu.inject_trap.cr2 = tr.cr2;
         }
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index 6a78f75..4eccc85 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -221,6 +221,8 @@ struct xen_hvm_inject_trap {
     uint32_t trap;
     /* Error code, or -1 to skip */
     uint32_t error_code;
+    /* Intruction length */
+    uint32_t inslen;
     /* CR2 for page faults */
     uint64_aligned_t cr2;
 };
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlO-0003JV-NZ; Wed, 30 May 2012 02:35:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlN-0003J7-LB
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:53 +0000
Received: from [193.109.254.147:29303] by server-6.bemta-14.messagelabs.com id
	08/F4-10397-88785CF4; Wed, 30 May 2012 02:35:52 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!4
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20935 invoked from network); 30 May 2012 02:35:52 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:52 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:51 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043416"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:50 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:47 +0800
Message-Id: <1338345347-22433-4-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	Xudong Hao <xudong.hao@intel.com>, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH v2 3/4] xen: Add instruction length parameter in
	hypercall HVMOP_inject_trap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add parameter inslen for hypercall HVMOP_inject_trap, supply interface used by
passing instruction length from userspace.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/hvm.c          |    1 +
 xen/include/public/hvm/hvm_op.h |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f3c87bc..2921e9e 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4290,6 +4290,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
         else 
         {
             v->arch.hvm_vcpu.inject_trap.vector = tr.trap;
+            v->arch.hvm_vcpu.inject_trap.inslen = tr.inslen;
             v->arch.hvm_vcpu.inject_trap.error_code = tr.error_code;
             v->arch.hvm_vcpu.inject_trap.cr2 = tr.cr2;
         }
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index 6a78f75..4eccc85 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -221,6 +221,8 @@ struct xen_hvm_inject_trap {
     uint32_t trap;
     /* Error code, or -1 to skip */
     uint32_t error_code;
+    /* Intruction length */
+    uint32_t inslen;
     /* CR2 for page faults */
     uint64_aligned_t cr2;
 };
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlO-0003JL-4R; Wed, 30 May 2012 02:35:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlM-0003Iw-Bb
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:52 +0000
Received: from [193.109.254.147:47130] by server-7.bemta-14.messagelabs.com id
	8F/44-07635-78785CF4; Wed, 30 May 2012 02:35:51 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!3
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20898 invoked from network); 30 May 2012 02:35:50 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:50 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043410"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:48 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:46 +0800
Message-Id: <1338345347-22433-3-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	Xudong Hao <xudong.hao@intel.com>, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH v2 2/4] VMX: Fix the mistake of exception
	execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB), overflow exception(#OF) and
INT3(#BP), INTn instruction emulation.

Add inslen field in struct hvm_trap. According to instruction length,
to distinguish INT3 is generated by opcode 'CC' or 'CD ib =3',
so do INTO and #DB(debug exception).

Note:
 * For INTn (CD ib), it should use type 4 (software interrupt).

 * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
   it should use type 6 (software exception).

 * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF,
   #AC, #MC, and #XM), it should use type 3 (hardware exception).

 * In the unlikely event that you are emulating the undocumented opcode F1
   (informally called INT1 or ICEBP), it would use type 5 (privileged software
   exception).

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c    |   43 ++++++++++++++++++++++++++++++++++++++++-
 xen/include/asm-x86/hvm/hvm.h |    2 +
 2 files changed, 44 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c96d18b..cf08a11 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1381,6 +1381,19 @@ void vmx_inject_nmi(void)
                            HVM_DELIVER_NO_ERROR_CODE);
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE:
+ *    This is for processor execution generated exceptions,
+ * and handle #DB hardware exception and all software 
+ * exception/interrupt, which include:
+ *  - INT 3(CC), INTO (CE) instruction emulation, which should
+ *    use X86_EVENTTYPE_SW_EXCEPTION;
+ *  - INT nn (CD nn) instruction emulation, which should use
+ *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
+ *  - opcode 0xf1 generated #DB should use privileged software
+ *    exception.
+ */
 static void vmx_inject_trap(struct hvm_trap *trap)
 {
     unsigned long intr_info;
@@ -1399,6 +1412,12 @@ static void vmx_inject_trap(struct hvm_trap *trap)
     switch ( _trap.vector )
     {
     case TRAP_debug:
+        _trap.type = X86_EVENTTYPE_HW_EXCEPTION;
+        if ( _trap.inslen != 1 ) {
+            _trap.type = X86_EVENTTYPE_PRI_SW_EXCEPTION;  /* opcode 0xf1 */
+            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        }
+
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1414,6 +1433,27 @@ static void vmx_inject_trap(struct hvm_trap *trap)
             domain_pause_for_debugger();
             return;
         }
+        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CC */
+        if ( _trap.inslen != 1 )
+            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=3 */
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        break;
+
+    case TRAP_overflow:
+        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CE */
+        if ( _trap.inslen != 1 )
+            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=4 */
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        break;
+
+    default:
+        if ( _trap.vector > TRAP_last_reserved ) /* int imm8 */
+        {
+            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;
+            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        }
+        break;
+
     }
 
     if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
@@ -2424,7 +2464,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                     struct hvm_trap trap = {
                         .vector = TRAP_int3,
                         .type = X86_EVENTTYPE_SW_EXCEPTION,
-                        .error_code = HVM_DELIVER_NO_ERROR_CODE
+                        .error_code = HVM_DELIVER_NO_ERROR_CODE,
+                        .inslen = __vmread(VM_EXIT_INSTRUCTION_LEN)
                     };
                     hvm_inject_trap(&trap);
                     break;
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 65f7e20..a3d8bf1 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -76,6 +76,7 @@ struct hvm_trap {
     unsigned int  type;         /* X86_EVENTTYPE_* */
     int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE if n/a */
     unsigned long cr2;          /* Only for TRAP_page_fault h/w exception */
+    int           inslen;       /* Instruction length */ 
 };
 
 /*
@@ -375,6 +376,7 @@ static inline int hvm_do_pmu_interrupt(struct cpu_user_regs *regs)
 #define X86_EVENTTYPE_NMI                   2    /* NMI                */
 #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware exception */
 #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software interrupt */
+#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged software exception */
 #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software exception */
 
 int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlO-0003JL-4R; Wed, 30 May 2012 02:35:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYlM-0003Iw-Bb
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:35:52 +0000
Received: from [193.109.254.147:47130] by server-7.bemta-14.messagelabs.com id
	8F/44-07635-78785CF4; Wed, 30 May 2012 02:35:51 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338345347!11874664!3
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20898 invoked from network); 30 May 2012 02:35:50 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-4.tower-27.messagelabs.com with SMTP;
	30 May 2012 02:35:50 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:35:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043410"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:35:48 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: JBeulich@suse.com,
	keir.xen@gmail.com
Date: Wed, 30 May 2012 10:35:46 +0800
Message-Id: <1338345347-22433-3-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	Xudong Hao <xudong.hao@intel.com>, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH v2 2/4] VMX: Fix the mistake of exception
	execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix the mistake for debug exception(#DB), overflow exception(#OF) and
INT3(#BP), INTn instruction emulation.

Add inslen field in struct hvm_trap. According to instruction length,
to distinguish INT3 is generated by opcode 'CC' or 'CD ib =3',
so do INTO and #DB(debug exception).

Note:
 * For INTn (CD ib), it should use type 4 (software interrupt).

 * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
   it should use type 6 (software exception).

 * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, #MF,
   #AC, #MC, and #XM), it should use type 3 (hardware exception).

 * In the unlikely event that you are emulating the undocumented opcode F1
   (informally called INT1 or ICEBP), it would use type 5 (privileged software
   exception).

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c    |   43 ++++++++++++++++++++++++++++++++++++++++-
 xen/include/asm-x86/hvm/hvm.h |    2 +
 2 files changed, 44 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c96d18b..cf08a11 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1381,6 +1381,19 @@ void vmx_inject_nmi(void)
                            HVM_DELIVER_NO_ERROR_CODE);
 }
 
+/*
+ * Generate the virtual event to guest.
+ * NOTE:
+ *    This is for processor execution generated exceptions,
+ * and handle #DB hardware exception and all software 
+ * exception/interrupt, which include:
+ *  - INT 3(CC), INTO (CE) instruction emulation, which should
+ *    use X86_EVENTTYPE_SW_EXCEPTION;
+ *  - INT nn (CD nn) instruction emulation, which should use
+ *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
+ *  - opcode 0xf1 generated #DB should use privileged software
+ *    exception.
+ */
 static void vmx_inject_trap(struct hvm_trap *trap)
 {
     unsigned long intr_info;
@@ -1399,6 +1412,12 @@ static void vmx_inject_trap(struct hvm_trap *trap)
     switch ( _trap.vector )
     {
     case TRAP_debug:
+        _trap.type = X86_EVENTTYPE_HW_EXCEPTION;
+        if ( _trap.inslen != 1 ) {
+            _trap.type = X86_EVENTTYPE_PRI_SW_EXCEPTION;  /* opcode 0xf1 */
+            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        }
+
         if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
         {
             __restore_debug_registers(curr);
@@ -1414,6 +1433,27 @@ static void vmx_inject_trap(struct hvm_trap *trap)
             domain_pause_for_debugger();
             return;
         }
+        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CC */
+        if ( _trap.inslen != 1 )
+            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=3 */
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        break;
+
+    case TRAP_overflow:
+        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CE */
+        if ( _trap.inslen != 1 )
+            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=4 */
+        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        break;
+
+    default:
+        if ( _trap.vector > TRAP_last_reserved ) /* int imm8 */
+        {
+            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;
+            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
+        }
+        break;
+
     }
 
     if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
@@ -2424,7 +2464,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                     struct hvm_trap trap = {
                         .vector = TRAP_int3,
                         .type = X86_EVENTTYPE_SW_EXCEPTION,
-                        .error_code = HVM_DELIVER_NO_ERROR_CODE
+                        .error_code = HVM_DELIVER_NO_ERROR_CODE,
+                        .inslen = __vmread(VM_EXIT_INSTRUCTION_LEN)
                     };
                     hvm_inject_trap(&trap);
                     break;
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 65f7e20..a3d8bf1 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -76,6 +76,7 @@ struct hvm_trap {
     unsigned int  type;         /* X86_EVENTTYPE_* */
     int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE if n/a */
     unsigned long cr2;          /* Only for TRAP_page_fault h/w exception */
+    int           inslen;       /* Instruction length */ 
 };
 
 /*
@@ -375,6 +376,7 @@ static inline int hvm_do_pmu_interrupt(struct cpu_user_regs *regs)
 #define X86_EVENTTYPE_NMI                   2    /* NMI                */
 #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware exception */
 #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software interrupt */
+#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged software exception */
 #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software exception */
 
 int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlz-0003R0-F9; Wed, 30 May 2012 02:36:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYly-0003PO-57
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:36:30 +0000
Received: from [85.158.143.99:54538] by server-3.bemta-4.messagelabs.com id
	91/9F-04252-DA785CF4; Wed, 30 May 2012 02:36:29 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338345388!25094631!1
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29796 invoked from network); 30 May 2012 02:36:29 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-2.tower-216.messagelabs.com with SMTP;
	30 May 2012 02:36:29 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:36:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043497"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:36:26 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: Ian.Jackson@eu.citrix.com
Date: Wed, 30 May 2012 10:36:28 +0800
Message-Id: <1338345388-22455-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: eddie.dong@intel.com, aravindh@virtuata.com,
	Xudong Hao <xudong.hao@intel.com>, xen-devel@lists.xen.org,
	keir.xen@gmail.com, JBeulich@suse.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH v2 4/4] libxc: add instruction length for inject
	trap in userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a parameter to represent instruction length in function
xc_hvm_inject_trap(), user should set this value when this
function is called.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 tools/libxc/xc_misc.c               |    5 +++--
 tools/libxc/xenctrl.h               |    4 ++--
 tools/tests/xen-access/xen-access.c |    2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
index a029d79..2989a62 100644
--- a/tools/libxc/xc_misc.c
+++ b/tools/libxc/xc_misc.c
@@ -602,8 +602,8 @@ int xc_hvm_get_mem_access(
 }
 
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2)
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2)
 {
     DECLARE_HYPERCALL;
     DECLARE_HYPERCALL_BUFFER(struct xen_hvm_inject_trap, arg);
@@ -619,6 +619,7 @@ int xc_hvm_inject_trap(
     arg->domid       = dom;
     arg->vcpuid      = vcpu;
     arg->trap        = trap;
+    arg->inslen      = inslen;
     arg->error_code  = error_code;
     arg->cr2         = cr2;
 
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 3bbc827..7ed4c64 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -1578,8 +1578,8 @@ int xc_hvm_get_mem_access(
  * resumes. 
  */
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2);
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2);
 
 /*
  *  LOGGING AND ERROR REPORTING
diff --git a/tools/tests/xen-access/xen-access.c b/tools/tests/xen-access/xen-access.c
index 906f46f..98332b0 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -662,7 +662,7 @@ int main(int argc, char *argv[])
                        req.vcpu_id);
 
                 /* Reinject */
-                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, -1, 0);
+                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, 1, -1, 0);
                 if (rc < 0)
                 {
                     ERROR("Error %d injecting int3\n", rc);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:36:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:36:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZYlz-0003R0-F9; Wed, 30 May 2012 02:36:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZYly-0003PO-57
	for xen-devel@lists.xen.org; Wed, 30 May 2012 02:36:30 +0000
Received: from [85.158.143.99:54538] by server-3.bemta-4.messagelabs.com id
	91/9F-04252-DA785CF4; Wed, 30 May 2012 02:36:29 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338345388!25094631!1
X-Originating-IP: [134.134.136.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTM0LjEzNC4xMzYuMjQgPT4gMzM2NDY2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29796 invoked from network); 30 May 2012 02:36:29 -0000
Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)
	by server-2.tower-216.messagelabs.com with SMTP;
	30 May 2012 02:36:29 -0000
Received: from orsmga001.jf.intel.com ([10.7.209.18])
	by orsmga102.jf.intel.com with ESMTP; 29 May 2012 19:36:27 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="146043497"
Received: from xhao-dev.sh.intel.com (HELO localhost.localdomain)
	([10.239.48.48])
	by orsmga001.jf.intel.com with ESMTP; 29 May 2012 19:36:26 -0700
From: Xudong Hao <xudong.hao@intel.com>
To: Ian.Jackson@eu.citrix.com
Date: Wed, 30 May 2012 10:36:28 +0800
Message-Id: <1338345388-22455-1-git-send-email-xudong.hao@intel.com>
X-Mailer: git-send-email 1.5.5
Cc: eddie.dong@intel.com, aravindh@virtuata.com,
	Xudong Hao <xudong.hao@intel.com>, xen-devel@lists.xen.org,
	keir.xen@gmail.com, JBeulich@suse.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: [Xen-devel] [PATCH v2 4/4] libxc: add instruction length for inject
	trap in userspace
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add a parameter to represent instruction length in function
xc_hvm_inject_trap(), user should set this value when this
function is called.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 tools/libxc/xc_misc.c               |    5 +++--
 tools/libxc/xenctrl.h               |    4 ++--
 tools/tests/xen-access/xen-access.c |    2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
index a029d79..2989a62 100644
--- a/tools/libxc/xc_misc.c
+++ b/tools/libxc/xc_misc.c
@@ -602,8 +602,8 @@ int xc_hvm_get_mem_access(
 }
 
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2)
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2)
 {
     DECLARE_HYPERCALL;
     DECLARE_HYPERCALL_BUFFER(struct xen_hvm_inject_trap, arg);
@@ -619,6 +619,7 @@ int xc_hvm_inject_trap(
     arg->domid       = dom;
     arg->vcpuid      = vcpu;
     arg->trap        = trap;
+    arg->inslen      = inslen;
     arg->error_code  = error_code;
     arg->cr2         = cr2;
 
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 3bbc827..7ed4c64 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -1578,8 +1578,8 @@ int xc_hvm_get_mem_access(
  * resumes. 
  */
 int xc_hvm_inject_trap(
-    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t error_code, 
-    uint64_t cr2);
+    xc_interface *xch, domid_t dom, int vcpu, uint32_t trap, uint32_t inslen, 
+    uint32_t error_code, uint64_t cr2);
 
 /*
  *  LOGGING AND ERROR REPORTING
diff --git a/tools/tests/xen-access/xen-access.c b/tools/tests/xen-access/xen-access.c
index 906f46f..98332b0 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -662,7 +662,7 @@ int main(int argc, char *argv[])
                        req.vcpu_id);
 
                 /* Reinject */
-                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, -1, 0);
+                rc = xc_hvm_inject_trap(xch, domain_id, req.vcpu_id, 3, 1, -1, 0);
                 if (rc < 0)
                 {
                     ERROR("Error %d injecting int3\n", rc);
-- 
1.5.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:57:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:57:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZZ5d-00042a-Kq; Wed, 30 May 2012 02:56:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZZ5c-00042U-9F
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 02:56:48 +0000
Received: from [85.158.143.99:49101] by server-1.bemta-4.messagelabs.com id
	A8/7A-27869-F6C85CF4; Wed, 30 May 2012 02:56:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338346606!19225458!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29052 invoked from network); 30 May 2012 02:56:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 02:56:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,681,1330905600"; d="scan'208";a="12726427"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 02:56:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 03:56:45 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZZ5Z-000830-GU;
	Wed, 30 May 2012 02:56:45 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZZ5Z-0006fM-DL;
	Wed, 30 May 2012 03:56:45 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12981-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 03:56:45 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12981: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12981 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12981/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  894493e84fe7
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 02:57:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 02:57:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZZ5d-00042a-Kq; Wed, 30 May 2012 02:56:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZZ5c-00042U-9F
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 02:56:48 +0000
Received: from [85.158.143.99:49101] by server-1.bemta-4.messagelabs.com id
	A8/7A-27869-F6C85CF4; Wed, 30 May 2012 02:56:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338346606!19225458!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29052 invoked from network); 30 May 2012 02:56:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 02:56:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,681,1330905600"; d="scan'208";a="12726427"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 02:56:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 03:56:45 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZZ5Z-000830-GU;
	Wed, 30 May 2012 02:56:45 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZZ5Z-0006fM-DL;
	Wed, 30 May 2012 03:56:45 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12981-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 03:56:45 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12981: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12981 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12981/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop             fail never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  894493e84fe7
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:27:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdIn-0005h7-6s; Wed, 30 May 2012 07:26:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SZdIm-0005h2-2F
	for xen-devel@lists.xen.org; Wed, 30 May 2012 07:26:40 +0000
Received: from [85.158.143.35:64005] by server-3.bemta-4.messagelabs.com id
	DB/FC-04252-FABC5CF4; Wed, 30 May 2012 07:26:39 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338362795!16649671!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,DIET_1
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31412 invoked from network); 30 May 2012 07:26:35 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-21.messagelabs.com with SMTP;
	30 May 2012 07:26:35 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78254237; Wed, 30 May 2012 09:26:34 +0200
Message-ID: <1338362793.2609.20.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <ian.campbell@citrix.com>
Date: Wed, 30 May 2012 09:26:33 +0200
In-Reply-To: <274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian.Jackson@citrix.com, Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6987873812209340453=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6987873812209340453==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-u8uKX1IDSSXyacn8aF15"


--=-u8uKX1IDSSXyacn8aF15
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-29 at 14:57 +0100, Ian Campbell wrote:=20
> int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_domain_sched_params *scinfo)
>  {
> -    xc_domaininfo_t domaininfo;
> -    int rc;
> -
> -    rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> -    if (rc < 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info lis=
t");
> +    uint64_t period;
> +    uint64_t slice;
> +    uint64_t latency;
> +    uint16_t extratime;
> +    uint16_t weight;
> +
> +    int ret;
> +
> +    ret =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latenc=
y,
> +                            &extratime, &weight);
> +    if (ret !=3D 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched se=
df");
>          return ERROR_FAIL;
>      }
> -    if (rc !=3D 1 || domaininfo.domain !=3D domid)
> -        return ERROR_INVAL;
> -
> -
> -    rc =3D xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> -                            scinfo->slice * 1000000, scinfo->latency * 1=
000000,
> -                            scinfo->extratime, scinfo->weight);
> -    if ( rc < 0 ) {
> +
> +    if (scinfo->period !=3D LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
> +        period =3D scinfo->period * 1000000;
> +    if (scinfo->slice !=3D LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
> +        slice =3D scinfo->slice * 1000000;
> +    if (scinfo->latency !=3D LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
> +        latency =3D scinfo->latency * 1000000;
> +    if (scinfo->extratime !=3D LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAUL=
T)
> +        extratime =3D scinfo->extratime;
> +    if (scinfo->weight !=3D LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
> +        weight =3D scinfo->weight;
> +
> +    ret =3D xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +                            extratime, weight);
>
I only tested this on your last version of this series (and I am still
trying to find the time to test this new one) and this wasn't working.
Reason should be the fact that the SEDF code in Xen wants you to put a
domain either in the "proper-EDF" state _or_ in the
"weighted-best-effort-state", and it discriminates this by checking
whether you're passing a slice+period _or_ a weight.

IOW, if your domain has a slice+period and wants a weight, either you
set slice and period to zero, or the whole thing will fail. In fact,
with this code, the new parameter set will include both the slice+period
(as the domain has them set) and the new weight that is being set by the
call... Does this sound right?

That's why the  current int main_sched_sedf(int argc, char **argv) is
doing this:

            if (opt_p) {
                scinfo.period =3D period;
                scinfo.weight =3D 0;
            }
            if (opt_s) {
                scinfo.slice =3D slice;
                scinfo.weight =3D 0;
            }
            if (opt_l)
                scinfo.latency =3D latency;
            if (opt_e)
                scinfo.extratime =3D extra;
            if (opt_w) {
                scinfo.weight =3D weight;
                scinfo.period =3D 0;
                scinfo.slice =3D 0;
            }=20

That being said, I'm not sure at what level we want to enforce something
like the above. The lowest level toolstack seems fine to me, which would
mean putting something like the code above in the config file parsing...
If you agree, I'll try that and let you know whether or not it works.

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-u8uKX1IDSSXyacn8aF15
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Fy6kACgkQk4XaBE3IOsQyMgCeKSsHCDEfNgl0GQ91/S9NDpH2
eqwAnRbumSEWPtS4Atzw/pRG5EvVB8Rl
=Av7g
-----END PGP SIGNATURE-----

--=-u8uKX1IDSSXyacn8aF15--



--===============6987873812209340453==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6987873812209340453==--



From xen-devel-bounces@lists.xen.org Wed May 30 07:27:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdIn-0005h7-6s; Wed, 30 May 2012 07:26:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SZdIm-0005h2-2F
	for xen-devel@lists.xen.org; Wed, 30 May 2012 07:26:40 +0000
Received: from [85.158.143.35:64005] by server-3.bemta-4.messagelabs.com id
	DB/FC-04252-FABC5CF4; Wed, 30 May 2012 07:26:39 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338362795!16649671!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,DIET_1
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31412 invoked from network); 30 May 2012 07:26:35 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-21.messagelabs.com with SMTP;
	30 May 2012 07:26:35 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78254237; Wed, 30 May 2012 09:26:34 +0200
Message-ID: <1338362793.2609.20.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <ian.campbell@citrix.com>
Date: Wed, 30 May 2012 09:26:33 +0200
In-Reply-To: <274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Ian.Jackson@citrix.com, Juergen Gross <juergen.gross@ts.fujitsu.com>,
	George.Dunlap@citrix.com, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6987873812209340453=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6987873812209340453==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-u8uKX1IDSSXyacn8aF15"


--=-u8uKX1IDSSXyacn8aF15
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2012-05-29 at 14:57 +0100, Ian Campbell wrote:=20
> int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_domain_sched_params *scinfo)
>  {
> -    xc_domaininfo_t domaininfo;
> -    int rc;
> -
> -    rc =3D xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> -    if (rc < 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info lis=
t");
> +    uint64_t period;
> +    uint64_t slice;
> +    uint64_t latency;
> +    uint16_t extratime;
> +    uint16_t weight;
> +
> +    int ret;
> +
> +    ret =3D xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latenc=
y,
> +                            &extratime, &weight);
> +    if (ret !=3D 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched se=
df");
>          return ERROR_FAIL;
>      }
> -    if (rc !=3D 1 || domaininfo.domain !=3D domid)
> -        return ERROR_INVAL;
> -
> -
> -    rc =3D xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> -                            scinfo->slice * 1000000, scinfo->latency * 1=
000000,
> -                            scinfo->extratime, scinfo->weight);
> -    if ( rc < 0 ) {
> +
> +    if (scinfo->period !=3D LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
> +        period =3D scinfo->period * 1000000;
> +    if (scinfo->slice !=3D LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
> +        slice =3D scinfo->slice * 1000000;
> +    if (scinfo->latency !=3D LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
> +        latency =3D scinfo->latency * 1000000;
> +    if (scinfo->extratime !=3D LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAUL=
T)
> +        extratime =3D scinfo->extratime;
> +    if (scinfo->weight !=3D LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
> +        weight =3D scinfo->weight;
> +
> +    ret =3D xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +                            extratime, weight);
>
I only tested this on your last version of this series (and I am still
trying to find the time to test this new one) and this wasn't working.
Reason should be the fact that the SEDF code in Xen wants you to put a
domain either in the "proper-EDF" state _or_ in the
"weighted-best-effort-state", and it discriminates this by checking
whether you're passing a slice+period _or_ a weight.

IOW, if your domain has a slice+period and wants a weight, either you
set slice and period to zero, or the whole thing will fail. In fact,
with this code, the new parameter set will include both the slice+period
(as the domain has them set) and the new weight that is being set by the
call... Does this sound right?

That's why the  current int main_sched_sedf(int argc, char **argv) is
doing this:

            if (opt_p) {
                scinfo.period =3D period;
                scinfo.weight =3D 0;
            }
            if (opt_s) {
                scinfo.slice =3D slice;
                scinfo.weight =3D 0;
            }
            if (opt_l)
                scinfo.latency =3D latency;
            if (opt_e)
                scinfo.extratime =3D extra;
            if (opt_w) {
                scinfo.weight =3D weight;
                scinfo.period =3D 0;
                scinfo.slice =3D 0;
            }=20

That being said, I'm not sure at what level we want to enforce something
like the above. The lowest level toolstack seems fine to me, which would
mean putting something like the code above in the config file parsing...
If you agree, I'll try that and let you know whether or not it works.

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-u8uKX1IDSSXyacn8aF15
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Fy6kACgkQk4XaBE3IOsQyMgCeKSsHCDEfNgl0GQ91/S9NDpH2
eqwAnRbumSEWPtS4Atzw/pRG5EvVB8Rl
=Av7g
-----END PGP SIGNATURE-----

--=-u8uKX1IDSSXyacn8aF15--



--===============6987873812209340453==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6987873812209340453==--



From xen-devel-bounces@lists.xen.org Wed May 30 07:36:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdRa-0005vI-Kb; Wed, 30 May 2012 07:35:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdRZ-0005v6-9h
	for xen-devel@lists.xen.org; Wed, 30 May 2012 07:35:45 +0000
Received: from [85.158.139.83:13973] by server-12.bemta-5.messagelabs.com id
	99/40-20635-0DDC5CF4; Wed, 30 May 2012 07:35:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338363343!31052155!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18559 invoked from network); 30 May 2012 07:35:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:35:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12728873"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:35:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:35:43 +0100
Message-ID: <1338363341.31698.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Wed, 30 May 2012 08:35:41 +0100
In-Reply-To: <1338362793.2609.20.camel@Abyss>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
	<1338362793.2609.20.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 08:26 +0100, Dario Faggioli wrote:
> On Tue, 2012-05-29 at 14:57 +0100, Ian Campbell wrote: 
> > int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> > -                                libxl_sched_sedf_domain *scinfo)
> > +                                libxl_domain_sched_params *scinfo)
> >  {
> > -    xc_domaininfo_t domaininfo;
> > -    int rc;
> > -
> > -    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> > -    if (rc < 0) {
> > -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> > +    uint64_t period;
> > +    uint64_t slice;
> > +    uint64_t latency;
> > +    uint16_t extratime;
> > +    uint16_t weight;
> > +
> > +    int ret;
> > +
> > +    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
> > +                            &extratime, &weight);
> > +    if (ret != 0) {
> > +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
> >          return ERROR_FAIL;
> >      }
> > -    if (rc != 1 || domaininfo.domain != domid)
> > -        return ERROR_INVAL;
> > -
> > -
> > -    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> > -                            scinfo->slice * 1000000, scinfo->latency * 1000000,
> > -                            scinfo->extratime, scinfo->weight);
> > -    if ( rc < 0 ) {
> > +
> > +    if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
> > +        period = scinfo->period * 1000000;
> > +    if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
> > +        slice = scinfo->slice * 1000000;
> > +    if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
> > +        latency = scinfo->latency * 1000000;
> > +    if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT)
> > +        extratime = scinfo->extratime;
> > +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
> > +        weight = scinfo->weight;
> > +
> > +    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> > +                            extratime, weight);
> >
> I only tested this on your last version of this series (and I am still
> trying to find the time to test this new one) and this wasn't working.
> Reason should be the fact that the SEDF code in Xen wants you to put a
> domain either in the "proper-EDF" state _or_ in the
> "weighted-best-effort-state", and it discriminates this by checking
> whether you're passing a slice+period _or_ a weight.
> 
> IOW, if your domain has a slice+period and wants a weight, either you
> set slice and period to zero, or the whole thing will fail. In fact,
> with this code, the new parameter set will include both the slice+period
> (as the domain has them set) and the new weight that is being set by the
> call... Does this sound right?

I've no idea, but I trust you..

> That's why the  current int main_sched_sedf(int argc, char **argv) is
> doing this:
> 
>             if (opt_p) {
>                 scinfo.period = period;
>                 scinfo.weight = 0;
>             }
>             if (opt_s) {
>                 scinfo.slice = slice;
>                 scinfo.weight = 0;
>             }
>             if (opt_l)
>                 scinfo.latency = latency;
>             if (opt_e)
>                 scinfo.extratime = extra;
>             if (opt_w) {
>                 scinfo.weight = weight;
>                 scinfo.period = 0;
>                 scinfo.slice = 0;
>             } 
>
> That being said, I'm not sure at what level we want to enforce something
> like the above. The lowest level toolstack seems fine to me, which would
> mean putting something like the code above in the config file parsing...
> If you agree, I'll try that and let you know whether or not it works.

If you could provide an incremental patch that would be much
appreciated.

IMHO it would be fine (and a good idea) for libxl to return ERROR_INVAL
if the conditions aren't met too. If you want to also check it in xl's
config file parsing and either fix it up like the above or error out
then please do.


> 
> Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:36:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdRa-0005vI-Kb; Wed, 30 May 2012 07:35:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdRZ-0005v6-9h
	for xen-devel@lists.xen.org; Wed, 30 May 2012 07:35:45 +0000
Received: from [85.158.139.83:13973] by server-12.bemta-5.messagelabs.com id
	99/40-20635-0DDC5CF4; Wed, 30 May 2012 07:35:44 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338363343!31052155!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18559 invoked from network); 30 May 2012 07:35:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:35:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12728873"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:35:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:35:43 +0100
Message-ID: <1338363341.31698.17.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Wed, 30 May 2012 08:35:41 +0100
In-Reply-To: <1338362793.2609.20.camel@Abyss>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
	<1338362793.2609.20.camel@Abyss>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 08:26 +0100, Dario Faggioli wrote:
> On Tue, 2012-05-29 at 14:57 +0100, Ian Campbell wrote: 
> > int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> > -                                libxl_sched_sedf_domain *scinfo)
> > +                                libxl_domain_sched_params *scinfo)
> >  {
> > -    xc_domaininfo_t domaininfo;
> > -    int rc;
> > -
> > -    rc = xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo);
> > -    if (rc < 0) {
> > -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> > +    uint64_t period;
> > +    uint64_t slice;
> > +    uint64_t latency;
> > +    uint16_t extratime;
> > +    uint16_t weight;
> > +
> > +    int ret;
> > +
> > +    ret = xc_sedf_domain_get(ctx->xch, domid, &period, &slice, &latency,
> > +                            &extratime, &weight);
> > +    if (ret != 0) {
> > +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
> >          return ERROR_FAIL;
> >      }
> > -    if (rc != 1 || domaininfo.domain != domid)
> > -        return ERROR_INVAL;
> > -
> > -
> > -    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> > -                            scinfo->slice * 1000000, scinfo->latency * 1000000,
> > -                            scinfo->extratime, scinfo->weight);
> > -    if ( rc < 0 ) {
> > +
> > +    if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
> > +        period = scinfo->period * 1000000;
> > +    if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
> > +        slice = scinfo->slice * 1000000;
> > +    if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
> > +        latency = scinfo->latency * 1000000;
> > +    if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT)
> > +        extratime = scinfo->extratime;
> > +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
> > +        weight = scinfo->weight;
> > +
> > +    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> > +                            extratime, weight);
> >
> I only tested this on your last version of this series (and I am still
> trying to find the time to test this new one) and this wasn't working.
> Reason should be the fact that the SEDF code in Xen wants you to put a
> domain either in the "proper-EDF" state _or_ in the
> "weighted-best-effort-state", and it discriminates this by checking
> whether you're passing a slice+period _or_ a weight.
> 
> IOW, if your domain has a slice+period and wants a weight, either you
> set slice and period to zero, or the whole thing will fail. In fact,
> with this code, the new parameter set will include both the slice+period
> (as the domain has them set) and the new weight that is being set by the
> call... Does this sound right?

I've no idea, but I trust you..

> That's why the  current int main_sched_sedf(int argc, char **argv) is
> doing this:
> 
>             if (opt_p) {
>                 scinfo.period = period;
>                 scinfo.weight = 0;
>             }
>             if (opt_s) {
>                 scinfo.slice = slice;
>                 scinfo.weight = 0;
>             }
>             if (opt_l)
>                 scinfo.latency = latency;
>             if (opt_e)
>                 scinfo.extratime = extra;
>             if (opt_w) {
>                 scinfo.weight = weight;
>                 scinfo.period = 0;
>                 scinfo.slice = 0;
>             } 
>
> That being said, I'm not sure at what level we want to enforce something
> like the above. The lowest level toolstack seems fine to me, which would
> mean putting something like the code above in the config file parsing...
> If you agree, I'll try that and let you know whether or not it works.

If you could provide an incremental patch that would be much
appreciated.

IMHO it would be fine (and a good idea) for libxl to return ERROR_INVAL
if the conditions aren't met too. If you want to also check it in xl's
config file parsing and either fix it up like the above or error out
then please do.


> 
> Regards,
> Dario
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:55:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdka-0006An-KS; Wed, 30 May 2012 07:55:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdkZ-0006Ai-Gx
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 07:55:23 +0000
Received: from [85.158.138.51:24507] by server-2.bemta-3.messagelabs.com id
	EC/0E-17140-A62D5CF4; Wed, 30 May 2012 07:55:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338364521!29820521!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11334 invoked from network); 30 May 2012 07:55:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:55:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729269"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:55:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:55:00 +0100
Message-ID: <1338364498.31698.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Wed, 30 May 2012 08:54:58 +0100
In-Reply-To: <1338298896-27411-6-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<1338298896-27411-6-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 6/8] libxl: Introduce
 libxl__arch_domain_create (x86 version)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 14:41 +0100, Stefano Stabellini wrote:
> +            LIBXL__LOG_ERRNO(gc->owner, LIBXL__LOG_ERROR,

BTW you can use "CTX" instead of gc->owner.

Since this is code motion it's not really relevant but in general
switching LIBXL__LOG* into LOG* when you are touching a line anyway is
nice.

> +                    "Failed while collecting E820 with: %d (errno:%d)\n",
> +                    ret, errno);
> +        }
> +    }
> +
> +    return ret;
> +}



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:55:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdka-0006An-KS; Wed, 30 May 2012 07:55:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdkZ-0006Ai-Gx
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 07:55:23 +0000
Received: from [85.158.138.51:24507] by server-2.bemta-3.messagelabs.com id
	EC/0E-17140-A62D5CF4; Wed, 30 May 2012 07:55:22 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338364521!29820521!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11334 invoked from network); 30 May 2012 07:55:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:55:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729269"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:55:00 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:55:00 +0100
Message-ID: <1338364498.31698.20.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Wed, 30 May 2012 08:54:58 +0100
In-Reply-To: <1338298896-27411-6-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<1338298896-27411-6-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 6/8] libxl: Introduce
 libxl__arch_domain_create (x86 version)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 14:41 +0100, Stefano Stabellini wrote:
> +            LIBXL__LOG_ERRNO(gc->owner, LIBXL__LOG_ERROR,

BTW you can use "CTX" instead of gc->owner.

Since this is code motion it's not really relevant but in general
switching LIBXL__LOG* into LOG* when you are touching a line anyway is
nice.

> +                    "Failed while collecting E820 with: %d (errno:%d)\n",
> +                    ret, errno);
> +        }
> +    }
> +
> +    return ret;
> +}



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:56:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdko-0006BP-0q; Wed, 30 May 2012 07:55:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdkm-0006BG-Gn
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 07:55:36 +0000
Received: from [85.158.143.35:4373] by server-1.bemta-4.messagelabs.com id
	8F/9E-27869-772D5CF4; Wed, 30 May 2012 07:55:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338364534!12654367!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27125 invoked from network); 30 May 2012 07:55:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:55:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729278"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:55:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:55:33 +0100
Message-ID: <1338364532.31698.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Wed, 30 May 2012 08:55:32 +0100
In-Reply-To: <1338298896-27411-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<1338298896-27411-4-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 4/8] arm: compile libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 14:41 +0100, Stefano Stabellini wrote:
> libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
> functions are only available on x86, so ifdef the new cpuid related
> function in libxl_json.c.

This was out of date. I replaced with:
        libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
        functions are only available on x86, so move them to
        libxl_cpuid.c.

> 
> 
> Changes in v3:
> 
> - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c.
> 
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxl/Makefile        |    1 +
>  tools/libxl/libxl_cpuid.c   |   60 +++++++++++++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_json.c    |   60 -------------------------------------------
>  tools/libxl/libxl_nocpuid.c |    8 +++++-
>  4 files changed, 68 insertions(+), 61 deletions(-)
> 
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 5d9227e..f9cc9fd 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -36,6 +36,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o
>  endif
>  LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
>  LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
> +LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
>  
>  ifeq ($(CONFIG_NetBSD),y)
>  LIBXL_OBJS-y += libxl_netbsd.o
> diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c
> index dcdb9d02..ff7531f 100644
> --- a/tools/libxl/libxl_cpuid.c
> +++ b/tools/libxl/libxl_cpuid.c
> @@ -333,6 +333,66 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
>                       (const char**)(cpuid[i].policy), cpuid_res);
>  }
>  
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> +                                libxl_cpuid_policy_list *pcpuid)
> +{
> +    libxl_cpuid_policy_list cpuid = *pcpuid;
> +    yajl_gen_status s;
> +    const char *input_names[2] = { "leaf", "subleaf" };
> +    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
> +    int i, j;
> +
> +    /*
> +     * Aiming for:
> +     * [
> +     *     { 'leaf':    'val-eax',
> +     *       'subleaf': 'val-ecx',
> +     *       'eax':     'filter',
> +     *       'ebx':     'filter',
> +     *       'ecx':     'filter',
> +     *       'edx':     'filter' },
> +     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
> +     *     ... etc ...
> +     * ]
> +     */
> +
> +    s = yajl_gen_array_open(hand);
> +    if (s != yajl_gen_status_ok) goto out;
> +
> +    if (cpuid == NULL) goto empty;
> +
> +    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
> +        s = yajl_gen_map_open(hand);
> +        if (s != yajl_gen_status_ok) goto out;
> +
> +        for (j = 0; j < 2; j++) {
> +            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
> +                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
> +                if (s != yajl_gen_status_ok) goto out;
> +                s = yajl_gen_integer(hand, cpuid[i].input[j]);
> +                if (s != yajl_gen_status_ok) goto out;
> +            }
> +        }
> +
> +        for (j = 0; j < 4; j++) {
> +            if (cpuid[i].policy[j] != NULL) {
> +                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
> +                if (s != yajl_gen_status_ok) goto out;
> +                s = yajl_gen_string(hand,
> +                               (const unsigned char *)cpuid[i].policy[j], 32);
> +                if (s != yajl_gen_status_ok) goto out;
> +            }
> +        }
> +        s = yajl_gen_map_close(hand);
> +        if (s != yajl_gen_status_ok) goto out;
> +    }
> +
> +empty:
> +    s = yajl_gen_array_close(hand);
> +out:
> +    return s;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
> index 7c068d3..f430d4a 100644
> --- a/tools/libxl/libxl_json.c
> +++ b/tools/libxl/libxl_json.c
> @@ -146,66 +146,6 @@ out:
>      return s;
>  }
>  
> -yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> -                                libxl_cpuid_policy_list *pcpuid)
> -{
> -    libxl_cpuid_policy_list cpuid = *pcpuid;
> -    yajl_gen_status s;
> -    const char *input_names[2] = { "leaf", "subleaf" };
> -    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
> -    int i, j;
> -
> -    /*
> -     * Aiming for:
> -     * [
> -     *     { 'leaf':    'val-eax',
> -     *       'subleaf': 'val-ecx',
> -     *       'eax':     'filter',
> -     *       'ebx':     'filter',
> -     *       'ecx':     'filter',
> -     *       'edx':     'filter' },
> -     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
> -     *     ... etc ...
> -     * ]
> -     */
> -
> -    s = yajl_gen_array_open(hand);
> -    if (s != yajl_gen_status_ok) goto out;
> -
> -    if (cpuid == NULL) goto empty;
> -
> -    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
> -        s = yajl_gen_map_open(hand);
> -        if (s != yajl_gen_status_ok) goto out;
> -
> -        for (j = 0; j < 2; j++) {
> -            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
> -                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
> -                if (s != yajl_gen_status_ok) goto out;
> -                s = yajl_gen_integer(hand, cpuid[i].input[j]);
> -                if (s != yajl_gen_status_ok) goto out;
> -            }
> -        }
> -
> -        for (j = 0; j < 4; j++) {
> -            if (cpuid[i].policy[j] != NULL) {
> -                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
> -                if (s != yajl_gen_status_ok) goto out;
> -                s = yajl_gen_string(hand,
> -                               (const unsigned char *)cpuid[i].policy[j], 32);
> -                if (s != yajl_gen_status_ok) goto out;
> -            }
> -        }
> -        s = yajl_gen_map_close(hand);
> -        if (s != yajl_gen_status_ok) goto out;
> -    }
> -
> -empty:
> -    s = yajl_gen_array_close(hand);
> -out:
> -    return s;
> -}
> -
>  yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *pl)
>  {
>      libxl_string_list l = *pl;
> diff --git a/tools/libxl/libxl_nocpuid.c b/tools/libxl/libxl_nocpuid.c
> index 9e52f8d..5f7cb6a 100644
> --- a/tools/libxl/libxl_nocpuid.c
> +++ b/tools/libxl/libxl_nocpuid.c
> @@ -14,7 +14,7 @@
>  
>  #include "libxl_internal.h"
>  
> -void libxl_cpuid_destroy(libxl_cpuid_policy_list *p_cpuid_list)
> +void libxl_cpuid_dispose(libxl_cpuid_policy_list *p_cpuid_list)
>  {
>  }
>  
> @@ -38,6 +38,12 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
>  {
>  }
>  
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> +                                libxl_cpuid_policy_list *pcpuid)
> +{
> +    return 0;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:56:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdko-0006BP-0q; Wed, 30 May 2012 07:55:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdkm-0006BG-Gn
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 07:55:36 +0000
Received: from [85.158.143.35:4373] by server-1.bemta-4.messagelabs.com id
	8F/9E-27869-772D5CF4; Wed, 30 May 2012 07:55:35 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338364534!12654367!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27125 invoked from network); 30 May 2012 07:55:34 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:55:34 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729278"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:55:33 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:55:33 +0100
Message-ID: <1338364532.31698.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Wed, 30 May 2012 08:55:32 +0100
In-Reply-To: <1338298896-27411-4-git-send-email-stefano.stabellini@eu.citrix.com>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<1338298896-27411-4-git-send-email-stefano.stabellini@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 4/8] arm: compile libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 14:41 +0100, Stefano Stabellini wrote:
> libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
> functions are only available on x86, so ifdef the new cpuid related
> function in libxl_json.c.

This was out of date. I replaced with:
        libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
        functions are only available on x86, so move them to
        libxl_cpuid.c.

> 
> 
> Changes in v3:
> 
> - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c.
> 
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxl/Makefile        |    1 +
>  tools/libxl/libxl_cpuid.c   |   60 +++++++++++++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_json.c    |   60 -------------------------------------------
>  tools/libxl/libxl_nocpuid.c |    8 +++++-
>  4 files changed, 68 insertions(+), 61 deletions(-)
> 
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 5d9227e..f9cc9fd 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -36,6 +36,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o
>  endif
>  LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
>  LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
> +LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
>  
>  ifeq ($(CONFIG_NetBSD),y)
>  LIBXL_OBJS-y += libxl_netbsd.o
> diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c
> index dcdb9d02..ff7531f 100644
> --- a/tools/libxl/libxl_cpuid.c
> +++ b/tools/libxl/libxl_cpuid.c
> @@ -333,6 +333,66 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
>                       (const char**)(cpuid[i].policy), cpuid_res);
>  }
>  
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> +                                libxl_cpuid_policy_list *pcpuid)
> +{
> +    libxl_cpuid_policy_list cpuid = *pcpuid;
> +    yajl_gen_status s;
> +    const char *input_names[2] = { "leaf", "subleaf" };
> +    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
> +    int i, j;
> +
> +    /*
> +     * Aiming for:
> +     * [
> +     *     { 'leaf':    'val-eax',
> +     *       'subleaf': 'val-ecx',
> +     *       'eax':     'filter',
> +     *       'ebx':     'filter',
> +     *       'ecx':     'filter',
> +     *       'edx':     'filter' },
> +     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
> +     *     ... etc ...
> +     * ]
> +     */
> +
> +    s = yajl_gen_array_open(hand);
> +    if (s != yajl_gen_status_ok) goto out;
> +
> +    if (cpuid == NULL) goto empty;
> +
> +    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
> +        s = yajl_gen_map_open(hand);
> +        if (s != yajl_gen_status_ok) goto out;
> +
> +        for (j = 0; j < 2; j++) {
> +            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
> +                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
> +                if (s != yajl_gen_status_ok) goto out;
> +                s = yajl_gen_integer(hand, cpuid[i].input[j]);
> +                if (s != yajl_gen_status_ok) goto out;
> +            }
> +        }
> +
> +        for (j = 0; j < 4; j++) {
> +            if (cpuid[i].policy[j] != NULL) {
> +                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
> +                if (s != yajl_gen_status_ok) goto out;
> +                s = yajl_gen_string(hand,
> +                               (const unsigned char *)cpuid[i].policy[j], 32);
> +                if (s != yajl_gen_status_ok) goto out;
> +            }
> +        }
> +        s = yajl_gen_map_close(hand);
> +        if (s != yajl_gen_status_ok) goto out;
> +    }
> +
> +empty:
> +    s = yajl_gen_array_close(hand);
> +out:
> +    return s;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
> index 7c068d3..f430d4a 100644
> --- a/tools/libxl/libxl_json.c
> +++ b/tools/libxl/libxl_json.c
> @@ -146,66 +146,6 @@ out:
>      return s;
>  }
>  
> -yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> -                                libxl_cpuid_policy_list *pcpuid)
> -{
> -    libxl_cpuid_policy_list cpuid = *pcpuid;
> -    yajl_gen_status s;
> -    const char *input_names[2] = { "leaf", "subleaf" };
> -    const char *policy_names[4] = { "eax", "ebx", "ecx", "edx" };
> -    int i, j;
> -
> -    /*
> -     * Aiming for:
> -     * [
> -     *     { 'leaf':    'val-eax',
> -     *       'subleaf': 'val-ecx',
> -     *       'eax':     'filter',
> -     *       'ebx':     'filter',
> -     *       'ecx':     'filter',
> -     *       'edx':     'filter' },
> -     *     { 'leaf':    'val-eax', ..., 'eax': 'filter', ... },
> -     *     ... etc ...
> -     * ]
> -     */
> -
> -    s = yajl_gen_array_open(hand);
> -    if (s != yajl_gen_status_ok) goto out;
> -
> -    if (cpuid == NULL) goto empty;
> -
> -    for (i = 0; cpuid[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) {
> -        s = yajl_gen_map_open(hand);
> -        if (s != yajl_gen_status_ok) goto out;
> -
> -        for (j = 0; j < 2; j++) {
> -            if (cpuid[i].input[j] != XEN_CPUID_INPUT_UNUSED) {
> -                s = libxl__yajl_gen_asciiz(hand, input_names[j]);
> -                if (s != yajl_gen_status_ok) goto out;
> -                s = yajl_gen_integer(hand, cpuid[i].input[j]);
> -                if (s != yajl_gen_status_ok) goto out;
> -            }
> -        }
> -
> -        for (j = 0; j < 4; j++) {
> -            if (cpuid[i].policy[j] != NULL) {
> -                s = libxl__yajl_gen_asciiz(hand, policy_names[j]);
> -                if (s != yajl_gen_status_ok) goto out;
> -                s = yajl_gen_string(hand,
> -                               (const unsigned char *)cpuid[i].policy[j], 32);
> -                if (s != yajl_gen_status_ok) goto out;
> -            }
> -        }
> -        s = yajl_gen_map_close(hand);
> -        if (s != yajl_gen_status_ok) goto out;
> -    }
> -
> -empty:
> -    s = yajl_gen_array_close(hand);
> -out:
> -    return s;
> -}
> -
>  yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *pl)
>  {
>      libxl_string_list l = *pl;
> diff --git a/tools/libxl/libxl_nocpuid.c b/tools/libxl/libxl_nocpuid.c
> index 9e52f8d..5f7cb6a 100644
> --- a/tools/libxl/libxl_nocpuid.c
> +++ b/tools/libxl/libxl_nocpuid.c
> @@ -14,7 +14,7 @@
>  
>  #include "libxl_internal.h"
>  
> -void libxl_cpuid_destroy(libxl_cpuid_policy_list *p_cpuid_list)
> +void libxl_cpuid_dispose(libxl_cpuid_policy_list *p_cpuid_list)
>  {
>  }
>  
> @@ -38,6 +38,12 @@ void libxl_cpuid_set(libxl_ctx *ctx, uint32_t domid,
>  {
>  }
>  
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> +                                libxl_cpuid_policy_list *pcpuid)
> +{
> +    return 0;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:56:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:56:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdlY-0006Fh-Ep; Wed, 30 May 2012 07:56:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZdlW-0006FX-Ss
	for xen-devel@lists.xen.org; Wed, 30 May 2012 07:56:23 +0000
Received: from [85.158.143.99:39290] by server-2.bemta-4.messagelabs.com id
	5F/6C-11595-6A2D5CF4; Wed, 30 May 2012 07:56:22 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338364580!30427517!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY4MDc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19725 invoked from network); 30 May 2012 07:56:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:56:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="26177639"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 03:56:19 -0400
Received: from celebrindal.localnet (10.80.2.52) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	03:56:19 -0400
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 30 May 2012 08:56:15 +0100
User-Agent: KMail/1.13.5 (Linux/2.6.33.7-desktopPAE-2mnb; KDE/4.4.5; i686; ; )
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<4FC4FBAF.6040503@citrix.com>
	<1338320373.21683.22.camel@dagon.hellion.org.uk>
In-Reply-To: <1338320373.21683.22.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Message-ID: <201205300856.15605.simon.rowe@eu.citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tuesday 29 May 2012 20:39:33 Ian Campbell wrote:

> ...and if it were then autoconf is the way to figure that out now,
> unless _POSIX_THREAD_ATTR_STACKSIZE is specified somewhere (which I
> doubt).

I was following the recommendation of the POSIX Threads: Semi-FAQ which states


5.2 How can I determine if a system supports the Stack Attribute(s)?

If the header file unistd.h defines the symbolic constant  
_POSIX_THREAD_ATTR_STACKSIZE to a value greater than 0, the implementation 
should support the getting and setting of the Stack Size Attribute. If it 
defined to a value of 200112L then the current specification is supported.


If this needs to be done via autoconf let me know.

> Also if it is only pthread_attr_setstacksize which is optional, rather
> than pthread_attr_* generally, then the #if could be pulled into just
> surround that call, presuming there is no harm in a "NULL" attr.

I don't quite get you, do you mean only protect the actual 
pthread_attr_setstacksize() call with #ifdef and therefore always call 
pthread_attr_init()?
 
> > > +		pthread_attr_t attr;
> > > +
> > > +		if (pthread_attr_init(&attr) != 0) {
> > > +			mutex_unlock(&h->request_mutex);
> > > +			return false;
> > > +		}
> > > +		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {
> > 
> > #define for this value?
> 
> Yes, please.

Will do,

	Simon

--
[1] http://www.cognitus.net/html/howto/pthreadSemiFAQ_5.html#s5_1

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:56:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:56:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdlY-0006Fh-Ep; Wed, 30 May 2012 07:56:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZdlW-0006FX-Ss
	for xen-devel@lists.xen.org; Wed, 30 May 2012 07:56:23 +0000
Received: from [85.158.143.99:39290] by server-2.bemta-4.messagelabs.com id
	5F/6C-11595-6A2D5CF4; Wed, 30 May 2012 07:56:22 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338364580!30427517!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY4MDc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19725 invoked from network); 30 May 2012 07:56:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:56:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="26177639"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 03:56:19 -0400
Received: from celebrindal.localnet (10.80.2.52) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	03:56:19 -0400
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 30 May 2012 08:56:15 +0100
User-Agent: KMail/1.13.5 (Linux/2.6.33.7-desktopPAE-2mnb; KDE/4.4.5; i686; ; )
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<4FC4FBAF.6040503@citrix.com>
	<1338320373.21683.22.camel@dagon.hellion.org.uk>
In-Reply-To: <1338320373.21683.22.camel@dagon.hellion.org.uk>
MIME-Version: 1.0
Message-ID: <201205300856.15605.simon.rowe@eu.citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tuesday 29 May 2012 20:39:33 Ian Campbell wrote:

> ...and if it were then autoconf is the way to figure that out now,
> unless _POSIX_THREAD_ATTR_STACKSIZE is specified somewhere (which I
> doubt).

I was following the recommendation of the POSIX Threads: Semi-FAQ which states


5.2 How can I determine if a system supports the Stack Attribute(s)?

If the header file unistd.h defines the symbolic constant  
_POSIX_THREAD_ATTR_STACKSIZE to a value greater than 0, the implementation 
should support the getting and setting of the Stack Size Attribute. If it 
defined to a value of 200112L then the current specification is supported.


If this needs to be done via autoconf let me know.

> Also if it is only pthread_attr_setstacksize which is optional, rather
> than pthread_attr_* generally, then the #if could be pulled into just
> surround that call, presuming there is no harm in a "NULL" attr.

I don't quite get you, do you mean only protect the actual 
pthread_attr_setstacksize() call with #ifdef and therefore always call 
pthread_attr_init()?
 
> > > +		pthread_attr_t attr;
> > > +
> > > +		if (pthread_attr_init(&attr) != 0) {
> > > +			mutex_unlock(&h->request_mutex);
> > > +			return false;
> > > +		}
> > > +		if (pthread_attr_setstacksize(&attr, 16 * 1024) != 0) {
> > 
> > #define for this value?
> 
> Yes, please.

Will do,

	Simon

--
[1] http://www.cognitus.net/html/howto/pthreadSemiFAQ_5.html#s5_1

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:58:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:58:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdnL-0006OQ-Vk; Wed, 30 May 2012 07:58:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdnK-0006OB-JS
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 07:58:14 +0000
Received: from [85.158.138.51:45589] by server-11.bemta-3.messagelabs.com id
	A0/29-32748-513D5CF4; Wed, 30 May 2012 07:58:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338364692!29914362!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20237 invoked from network); 30 May 2012 07:58:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:58:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729352"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:58:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:58:12 +0100
Message-ID: <1338364691.31698.24.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Wed, 30 May 2012 08:58:11 +0100
In-Reply-To: <alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:56 +0100, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Stefano Stabellini wrote:
> > Hi all,
> > this patch series allows tools/ to compile on ARM, mostly providing an
> > empty implementation for all the arch specific functions that are needed.
> > 
> > All the patches of this series have been previously acked.
> 
> I am proposing this series for 4.2, not only because it has been acked
> since the beginning of March
> (http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
> any functional changes since then, but also because the X86 changes are
> limited to code motion and related Makefile.
> 
> In particular:
> 
> - patch #1
> the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - patch #4
> moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
> libxl_cpuid.c;
> 
> - patch #6
> moves 10 lines from libxl_create.c to libxl_x86.c;

... and s/ctx/gc->owner (which is fine, AFAICT, but useful to mention).

> - patch #7
> move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
> libxl_x86.c.

I checked all these and they are indeed code motion (other than the nit
above).

I build tested x86 and arm and have pushed.

Thanks!

> 
> 
> 
> 
> 
> 
> > 
> > Changes in v7:
> > 
> > - rebase on "x86_64: Record entry vector for double faults.";
> > 
> > - split the last patch in three patches to make it easier to read and
> > find all the code motions (I kept the acked-by on all the patches
> > because there are no changes except the split).
> > 
> > 
> > Changes in v6:
> > 
> > - rebase on 33659563f589 (this is a mercurial id).
> > 
> > 
> > Changes in v5:
> > 
> > - libxc: return -1 and set errno on error;
> > 
> > - add few missing emacs runes in new files.
> > 
> > 
> > Changes in v4:
> > 
> > - rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;
> > 
> > - minor compile fixes.
> > 
> > 
> > 
> > Changes in v3:
> > 
> > - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;
> > 
> > - rename xc_hvm_build.c to xc_hvm_build_x86.c;
> > 
> > - remove xc_nohvm, introduce xc_hvm_build_arm.c instead;
> > 
> > - remove "libxl: do not allocate e820 for non x86 guests.";
> > 
> > - introduce libxl__arch_domain_create.
> > 
> > 
> > 
> > Changes in v2:
> > 
> > - rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
> > 
> > - dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
> > xen-unstable;
> > 
> > - define xen_callback_t as uint64_t;
> > 
> > - define guest_word_t as uint64_t.
> > 
> > 
> > 
> > Stefano Stabellini (8):
> >       arm: compile libxenguest
> >       arm: compile memshr
> >       arm: compile xentrace
> >       arm: compile libxl
> >       libxl: Introduce libxl__arch_domain_create
> >       libxl: Introduce libxl__arch_domain_create (x86 version)
> >       libxl: move e820_names, e820_sanitize, libxl__e820_alloc to libxl_x86.c
> >       libxl: make libxl__e820_alloc a static function
> > 
> >  tools/libxc/Makefile           |   12 +-
> >  tools/libxc/xc_dom_arm.c       |   50 +++++
> >  tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
> >  tools/libxc/xc_hvm_build_arm.c |   49 ++++
> >  tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
> >  tools/libxc/xc_nomigrate.c     |   54 +++++
> >  tools/libxl/Makefile           |    5 +-
> >  tools/libxl/libxl_arch.h       |   22 ++
> >  tools/libxl/libxl_cpuid.c      |   60 +++++
> >  tools/libxl/libxl_create.c     |   12 +-
> >  tools/libxl/libxl_internal.h   |    2 -
> >  tools/libxl/libxl_json.c       |   60 -----
> >  tools/libxl/libxl_noarch.c     |    8 +
> >  tools/libxl/libxl_nocpuid.c    |    8 +-
> >  tools/libxl/libxl_pci.c        |  242 --------------------
> >  tools/libxl/libxl_x86.c        |  262 ++++++++++++++++++++++
> >  tools/memshr/bidir-hash.c      |   31 +++
> >  tools/xentrace/xenctx.c        |   12 +
> >  18 files changed, 1041 insertions(+), 792 deletions(-)
> > 
> > 
> > Cheers,
> > 
> > Stefano
> > 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 07:58:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 07:58:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdnL-0006OQ-Vk; Wed, 30 May 2012 07:58:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZdnK-0006OB-JS
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 07:58:14 +0000
Received: from [85.158.138.51:45589] by server-11.bemta-3.messagelabs.com id
	A0/29-32748-513D5CF4; Wed, 30 May 2012 07:58:13 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338364692!29914362!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20237 invoked from network); 30 May 2012 07:58:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 07:58:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729352"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:58:12 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:58:12 +0100
Message-ID: <1338364691.31698.24.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date: Wed, 30 May 2012 08:58:11 +0100
In-Reply-To: <alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
References: <alpine.DEB.2.00.1205281826060.26786@kaball-desktop>
	<alpine.DEB.2.00.1205291650360.26786@kaball-desktop>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Tim
	Deegan \(3P\)" <Tim.Deegan@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [PATCH v7 0/8] arm: compile tools
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 2012-05-29 at 16:56 +0100, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Stefano Stabellini wrote:
> > Hi all,
> > this patch series allows tools/ to compile on ARM, mostly providing an
> > empty implementation for all the arch specific functions that are needed.
> > 
> > All the patches of this series have been previously acked.
> 
> I am proposing this series for 4.2, not only because it has been acked
> since the beginning of March
> (http://marc.info/?l=xen-devel&m=133070513015066) and it doesn't contain
> any functional changes since then, but also because the X86 changes are
> limited to code motion and related Makefile.
> 
> In particular:
> 
> - patch #1
> the big x86 change is just a rename of xc_hvm_build.c to xc_hvm_build_x86.c;
> 
> - patch #4
> moves libxl_cpuid_policy_list_gen_json from libxl_json.c to
> libxl_cpuid.c;
> 
> - patch #6
> moves 10 lines from libxl_create.c to libxl_x86.c;

... and s/ctx/gc->owner (which is fine, AFAICT, but useful to mention).

> - patch #7
> move e820_names, e820_sanitize, libxl__e820_alloc from libxl_pci.c to
> libxl_x86.c.

I checked all these and they are indeed code motion (other than the nit
above).

I build tested x86 and arm and have pushed.

Thanks!

> 
> 
> 
> 
> 
> 
> > 
> > Changes in v7:
> > 
> > - rebase on "x86_64: Record entry vector for double faults.";
> > 
> > - split the last patch in three patches to make it easier to read and
> > find all the code motions (I kept the acked-by on all the patches
> > because there are no changes except the split).
> > 
> > 
> > Changes in v6:
> > 
> > - rebase on 33659563f589 (this is a mercurial id).
> > 
> > 
> > Changes in v5:
> > 
> > - libxc: return -1 and set errno on error;
> > 
> > - add few missing emacs runes in new files.
> > 
> > 
> > Changes in v4:
> > 
> > - rebased on 55a36564fb4f85722c67f16fe508f3ecbd204549;
> > 
> > - minor compile fixes.
> > 
> > 
> > 
> > Changes in v3:
> > 
> > - move libxl_cpuid_policy_list_gen_json to libxl_(no)cpuid.c;
> > 
> > - rename xc_hvm_build.c to xc_hvm_build_x86.c;
> > 
> > - remove xc_nohvm, introduce xc_hvm_build_arm.c instead;
> > 
> > - remove "libxl: do not allocate e820 for non x86 guests.";
> > 
> > - introduce libxl__arch_domain_create.
> > 
> > 
> > 
> > Changes in v2:
> > 
> > - rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
> > 
> > - dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
> > xen-unstable;
> > 
> > - define xen_callback_t as uint64_t;
> > 
> > - define guest_word_t as uint64_t.
> > 
> > 
> > 
> > Stefano Stabellini (8):
> >       arm: compile libxenguest
> >       arm: compile memshr
> >       arm: compile xentrace
> >       arm: compile libxl
> >       libxl: Introduce libxl__arch_domain_create
> >       libxl: Introduce libxl__arch_domain_create (x86 version)
> >       libxl: move e820_names, e820_sanitize, libxl__e820_alloc to libxl_x86.c
> >       libxl: make libxl__e820_alloc a static function
> > 
> >  tools/libxc/Makefile           |   12 +-
> >  tools/libxc/xc_dom_arm.c       |   50 +++++
> >  tools/libxc/xc_hvm_build.c     |  472 ----------------------------------------
> >  tools/libxc/xc_hvm_build_arm.c |   49 ++++
> >  tools/libxc/xc_hvm_build_x86.c |  472 ++++++++++++++++++++++++++++++++++++++++
> >  tools/libxc/xc_nomigrate.c     |   54 +++++
> >  tools/libxl/Makefile           |    5 +-
> >  tools/libxl/libxl_arch.h       |   22 ++
> >  tools/libxl/libxl_cpuid.c      |   60 +++++
> >  tools/libxl/libxl_create.c     |   12 +-
> >  tools/libxl/libxl_internal.h   |    2 -
> >  tools/libxl/libxl_json.c       |   60 -----
> >  tools/libxl/libxl_noarch.c     |    8 +
> >  tools/libxl/libxl_nocpuid.c    |    8 +-
> >  tools/libxl/libxl_pci.c        |  242 --------------------
> >  tools/libxl/libxl_x86.c        |  262 ++++++++++++++++++++++
> >  tools/memshr/bidir-hash.c      |   31 +++
> >  tools/xentrace/xenctx.c        |   12 +
> >  18 files changed, 1041 insertions(+), 792 deletions(-)
> > 
> > 
> > Cheers,
> > 
> > Stefano
> > 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:01:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdpn-00074h-Mg; Wed, 30 May 2012 08:00:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SZdpm-00074V-GJ
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:00:46 +0000
Received: from [85.158.143.99:16626] by server-3.bemta-4.messagelabs.com id
	1B/EE-04252-DA3D5CF4; Wed, 30 May 2012 08:00:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338364843!25131008!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1353 invoked from network); 30 May 2012 08:00:44 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	30 May 2012 08:00:44 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78255327; Wed, 30 May 2012 10:00:42 +0200
Message-ID: <1338364837.2609.24.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 30 May 2012 10:00:37 +0200
In-Reply-To: <1338363341.31698.17.camel@zakaz.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
	<1338362793.2609.20.camel@Abyss>
	<1338363341.31698.17.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5923762978457532617=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5923762978457532617==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-q7fx3P4SSmR0fL97GaOy"


--=-q7fx3P4SSmR0fL97GaOy
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-30 at 08:35 +0100, Ian Campbell wrote:=20
> > That being said, I'm not sure at what level we want to enforce somethin=
g
> > like the above. The lowest level toolstack seems fine to me, which woul=
d
> > mean putting something like the code above in the config file parsing..=
.
> > If you agree, I'll try that and let you know whether or not it works.
>=20
> If you could provide an incremental patch that would be much
> appreciated.
>=20
I sure can. :-)

> IMHO it would be fine (and a good idea) for libxl to return ERROR_INVAL
> if the conditions aren't met too.=20
>
Ok, sounds reasonable.

> If you want to also check it in xl's
> config file parsing and either fix it up like the above or error out
> then please do.
>
Let's see what fits better...

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-q7fx3P4SSmR0fL97GaOy
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/F06UACgkQk4XaBE3IOsRu1wCgqKg8nSh0DWws7ZuyTsJ4BzTZ
HtIAnjCD3By8pqbFkLDJZIqkhkWx/MZK
=338a
-----END PGP SIGNATURE-----

--=-q7fx3P4SSmR0fL97GaOy--



--===============5923762978457532617==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5923762978457532617==--



From xen-devel-bounces@lists.xen.org Wed May 30 08:01:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZdpn-00074h-Mg; Wed, 30 May 2012 08:00:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SZdpm-00074V-GJ
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:00:46 +0000
Received: from [85.158.143.99:16626] by server-3.bemta-4.messagelabs.com id
	1B/EE-04252-DA3D5CF4; Wed, 30 May 2012 08:00:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338364843!25131008!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1353 invoked from network); 30 May 2012 08:00:44 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-216.messagelabs.com with SMTP;
	30 May 2012 08:00:44 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78255327; Wed, 30 May 2012 10:00:42 +0200
Message-ID: <1338364837.2609.24.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 30 May 2012 10:00:37 +0200
In-Reply-To: <1338363341.31698.17.camel@zakaz.uk.xensource.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
	<1338362793.2609.20.camel@Abyss>
	<1338363341.31698.17.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5923762978457532617=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5923762978457532617==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-q7fx3P4SSmR0fL97GaOy"


--=-q7fx3P4SSmR0fL97GaOy
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2012-05-30 at 08:35 +0100, Ian Campbell wrote:=20
> > That being said, I'm not sure at what level we want to enforce somethin=
g
> > like the above. The lowest level toolstack seems fine to me, which woul=
d
> > mean putting something like the code above in the config file parsing..=
.
> > If you agree, I'll try that and let you know whether or not it works.
>=20
> If you could provide an incremental patch that would be much
> appreciated.
>=20
I sure can. :-)

> IMHO it would be fine (and a good idea) for libxl to return ERROR_INVAL
> if the conditions aren't met too.=20
>
Ok, sounds reasonable.

> If you want to also check it in xl's
> config file parsing and either fix it up like the above or error out
> then please do.
>
Let's see what fits better...

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-q7fx3P4SSmR0fL97GaOy
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/F06UACgkQk4XaBE3IOsRu1wCgqKg8nSh0DWws7ZuyTsJ4BzTZ
HtIAnjCD3By8pqbFkLDJZIqkhkWx/MZK
=338a
-----END PGP SIGNATURE-----

--=-q7fx3P4SSmR0fL97GaOy--



--===============5923762978457532617==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5923762978457532617==--



From xen-devel-bounces@lists.xen.org Wed May 30 08:06:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZduy-0007Kq-Fb; Wed, 30 May 2012 08:06:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SZdux-0007Kj-EV
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:06:07 +0000
Received: from [85.158.143.99:64660] by server-2.bemta-4.messagelabs.com id
	71/E2-11595-DE4D5CF4; Wed, 30 May 2012 08:06:05 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338365164!20809518!1
X-Originating-IP: [82.57.200.105]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10182 invoked from network); 30 May 2012 08:06:04 -0000
Received: from smtp209.alice.it (HELO smtp209.alice.it) (82.57.200.105)
	by server-14.tower-216.messagelabs.com with SMTP;
	30 May 2012 08:06:04 -0000
Received: from [192.168.178.50] (87.0.85.184) by smtp209.alice.it (8.6.023.02)
	id 4EF08A6311DF4289; Wed, 30 May 2012 10:06:00 +0200
Message-ID: <4FC5D458.5020600@tiscali.it>
Date: Wed, 30 May 2012 10:03:36 +0200
From: Fabio Fantoni <fantonifabio@tiscali.it>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
In-Reply-To: <4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: fantonifabio@tiscali.it
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6921735869934662609=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--===============6921735869934662609==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms060807000507030706050508"

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--------------ms060807000507030706050508
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Il 29/05/2012 16:00, Jan Beulich ha scritto:
>>>> On 29.05.12 at 15:36, Fabio Fantoni<fantonifabio@tiscali.it>  wrote:=

>> Il 29/05/2012 15:21, Jan Beulich ha scritto:
>>> PS: Please don't drop xen-devel from Cc on conversations like
>>> this.
> You dropped xen-devel again.
>
>> Thanks for reply, I check binutils and gcc, are installed and right
>> version seems:
>> ...
>> 2.22-6                                 GNU assembler, linker and binar=
y
>
> And it also is configured properly (i.e. lists i386pep as supported
> emulation)? If building xen.efi doesn't work, the first thing to look
> at is (in the Xen build tree) xen/arch/x86/efi/disabled, which
> stores any error encountered while checking for the necessary
> features in compiler in linker).
>
> Jan
>
>
>
> -----
> Nessun virus nel messaggio.
> Controllato da AVG - www.avg.com
> Versione: 2012.0.1913 / Database dei virus: 2425/5030 -  Data di rilasc=
io: 29/05/2012
>
>
>
The content of xen/arch/x86/efi/disabled is:
ld: unrecognised emulation mode: i386pep
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux=20
elf_l1om elf_k1om
How can I do for fix this?



--------------ms060807000507030706050508
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma crittografica S/MIME

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINhjCC
BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT
DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3
MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T
dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu
aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM
KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi
8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M
DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y
2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG
zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV
HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH
MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v
c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp
Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic
c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw
UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc
p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT
+HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X
hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO
hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC
0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh
AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk
XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIHSjCCBjKgAwIBAgICHmMwDQYJKoZIhvcNAQEF
BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT
ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjAzMTgyMjE0MzBa
Fw0xNDAzMjAwODU3MDlaMIGMMRkwFwYDVQQNExBlQjZPRTM3UlJOUHlsNW0yMQswCQYDVQQG
EwJJVDEQMA4GA1UECBMHQmVyZ2FtbzEQMA4GA1UEBxMHUm92ZXR0YTEWMBQGA1UEAxMNRmFi
aW8gRmFudG9uaTEmMCQGCSqGSIb3DQEJARYXZmFudG9uaWZhYmlvQHRpc2NhbGkuaXQwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XhckXsX23vgJq76s2f0KT8U8Msov5QgV
10eQBb2wL/TzcmqtZotI7ztKVhio3ehHg+mfu+3EqOkX9Umgut8rP0bPi7AGjkPXbOTT/cSU
Xz2Kw31VGOmiOVoUFGvpQitp3weCkhUJLBipI8EpNyBXpjtQ9yCpnIAqfuc77ybfSnCy7tTR
MBq1BUkfjH1+GL45riosuS4+F+MSUvlYzLiT4rAduAX1Y2IuORDsf9Bce8GBxa6syP9rCyzl
Vk7DIX5k8j2vlnyRATIypn5CQLQxGT6e0f6ac4gvWOHwO2QEBsmZKKs1ZidE4q/9OoNXYX6A
jnHtp1H1vcrek/vVcs19AgMBAAGjggOyMIIDrjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFan8cbEWWBmSTWFtLk2
YNdAcGUbMB8GA1UdIwQYMBaAFK5Vg2/sMcq59x36r2sx88gd46y7MCIGA1UdEQQbMBmBF2Zh
bnRvbmlmYWJpb0B0aXNjYWxpLml0MIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwEC
AjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYw
NAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYw
gfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMC
AQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFz
cyAyIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ks
IHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ug
b2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcCAjCBjzAnFiBT
dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkgYW5kIHdh
cnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRhdGlv
bnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUyLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYI
KwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MyL2NsaWVudC9j
YTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz
Mi5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzAN
BgkqhkiG9w0BAQUFAAOCAQEAjzHNqifpDVMkH1TSPFZVIiQ4fh49/V5JMpstgqEZPDaDe5r8
h+fMBZtUa6LLMco03Z9BNEXlqlXKiFk8feVYB8obEjz7YYq1XhO9q7JUmkSs0WGIH4xU0XB1
kPC8T8H+5E//84poYSFHE4pA+Ff68UANP2/EuFJWMjegiefnOr8aM42OAcUkjEWSlautIIX8
oD2GizwQYjWdDDjEonbuMKFP6rY2xGI3PSLI3IVU2opb0/itNhQui3WRxafloJqTlriY8m8+
qSLr2HGftbBlbyzVWB8o//aW0H0LMabjkIvrm7Zmh2vcCxiSxGBwYASuSYXGuQiKAgGptUs1
XJLZuzGCA80wggPJAgEBMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g
THRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EC
Ah5jMAkGBSsOAwIaBQCgggIOMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN
AQkFMQ8XDTEyMDUzMDA4MDMzNlowIwYJKoZIhvcNAQkEMRYEFFC0oCELfs2LVciqsquhD7fo
geaMMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBpAYJKwYB
BAGCNxAEMYGWMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAh5jMIGm
BgsqhkiG9w0BCRACCzGBlqCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2
BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB
AgIeYzANBgkqhkiG9w0BAQEFAASCAQBh0AMGXj0wQHShukweq3L/Sj/z304F41mcybtmT02n
jDEp3xjGrhNc7mA/jn92Ur+wZ4fum/ypXhkFOmLVYCrLPqnEQc2EgShRauF1S3HO6VwkF1P1
YBAhZeiKjIdmbtVWHTTrXvysnzOZkFSbu7X320/9C2mKB4Wpm4rwAlnMgwolBAUPqulH1jSV
g2a7V5O3KhHa+wb3s5YjiGAJPSiyO7YroDSp+AOBbe7UvES0p1trvIByrBlrMfaxMcH85y8B
uVrPdQDPjLesWsoU5cR2kMMm6MfxPmT7ApIr+4w7RZiwgECYPEbH2msYXekaiaeNjvdsKVdz
fiNMGzkttIyRAAAAAAAA
--------------ms060807000507030706050508--


--===============6921735869934662609==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6921735869934662609==--


From xen-devel-bounces@lists.xen.org Wed May 30 08:06:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZduy-0007Kq-Fb; Wed, 30 May 2012 08:06:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1SZdux-0007Kj-EV
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:06:07 +0000
Received: from [85.158.143.99:64660] by server-2.bemta-4.messagelabs.com id
	71/E2-11595-DE4D5CF4; Wed, 30 May 2012 08:06:05 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338365164!20809518!1
X-Originating-IP: [82.57.200.105]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10182 invoked from network); 30 May 2012 08:06:04 -0000
Received: from smtp209.alice.it (HELO smtp209.alice.it) (82.57.200.105)
	by server-14.tower-216.messagelabs.com with SMTP;
	30 May 2012 08:06:04 -0000
Received: from [192.168.178.50] (87.0.85.184) by smtp209.alice.it (8.6.023.02)
	id 4EF08A6311DF4289; Wed, 30 May 2012 10:06:00 +0200
Message-ID: <4FC5D458.5020600@tiscali.it>
Date: Wed, 30 May 2012 10:03:36 +0200
From: Fabio Fantoni <fantonifabio@tiscali.it>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
In-Reply-To: <4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: fantonifabio@tiscali.it
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6921735869934662609=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--===============6921735869934662609==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms060807000507030706050508"

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--------------ms060807000507030706050508
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Il 29/05/2012 16:00, Jan Beulich ha scritto:
>>>> On 29.05.12 at 15:36, Fabio Fantoni<fantonifabio@tiscali.it>  wrote:=

>> Il 29/05/2012 15:21, Jan Beulich ha scritto:
>>> PS: Please don't drop xen-devel from Cc on conversations like
>>> this.
> You dropped xen-devel again.
>
>> Thanks for reply, I check binutils and gcc, are installed and right
>> version seems:
>> ...
>> 2.22-6                                 GNU assembler, linker and binar=
y
>
> And it also is configured properly (i.e. lists i386pep as supported
> emulation)? If building xen.efi doesn't work, the first thing to look
> at is (in the Xen build tree) xen/arch/x86/efi/disabled, which
> stores any error encountered while checking for the necessary
> features in compiler in linker).
>
> Jan
>
>
>
> -----
> Nessun virus nel messaggio.
> Controllato da AVG - www.avg.com
> Versione: 2012.0.1913 / Database dei virus: 2425/5030 -  Data di rilasc=
io: 29/05/2012
>
>
>
The content of xen/arch/x86/efi/disabled is:
ld: unrecognised emulation mode: i386pep
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux=20
elf_l1om elf_k1om
How can I do for fix this?



--------------ms060807000507030706050508
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma crittografica S/MIME

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINhjCC
BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT
DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3
MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T
dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu
aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM
KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi
8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M
DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y
2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG
zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV
HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH
MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v
c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp
Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic
c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw
UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc
p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT
+HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X
hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO
hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC
0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh
AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk
XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIHSjCCBjKgAwIBAgICHmMwDQYJKoZIhvcNAQEF
BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT
ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjAzMTgyMjE0MzBa
Fw0xNDAzMjAwODU3MDlaMIGMMRkwFwYDVQQNExBlQjZPRTM3UlJOUHlsNW0yMQswCQYDVQQG
EwJJVDEQMA4GA1UECBMHQmVyZ2FtbzEQMA4GA1UEBxMHUm92ZXR0YTEWMBQGA1UEAxMNRmFi
aW8gRmFudG9uaTEmMCQGCSqGSIb3DQEJARYXZmFudG9uaWZhYmlvQHRpc2NhbGkuaXQwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XhckXsX23vgJq76s2f0KT8U8Msov5QgV
10eQBb2wL/TzcmqtZotI7ztKVhio3ehHg+mfu+3EqOkX9Umgut8rP0bPi7AGjkPXbOTT/cSU
Xz2Kw31VGOmiOVoUFGvpQitp3weCkhUJLBipI8EpNyBXpjtQ9yCpnIAqfuc77ybfSnCy7tTR
MBq1BUkfjH1+GL45riosuS4+F+MSUvlYzLiT4rAduAX1Y2IuORDsf9Bce8GBxa6syP9rCyzl
Vk7DIX5k8j2vlnyRATIypn5CQLQxGT6e0f6ac4gvWOHwO2QEBsmZKKs1ZidE4q/9OoNXYX6A
jnHtp1H1vcrek/vVcs19AgMBAAGjggOyMIIDrjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFan8cbEWWBmSTWFtLk2
YNdAcGUbMB8GA1UdIwQYMBaAFK5Vg2/sMcq59x36r2sx88gd46y7MCIGA1UdEQQbMBmBF2Zh
bnRvbmlmYWJpb0B0aXNjYWxpLml0MIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwEC
AjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYw
NAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYw
gfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMC
AQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFz
cyAyIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ks
IHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ug
b2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcCAjCBjzAnFiBT
dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkgYW5kIHdh
cnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRhdGlv
bnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUyLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYI
KwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MyL2NsaWVudC9j
YTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz
Mi5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzAN
BgkqhkiG9w0BAQUFAAOCAQEAjzHNqifpDVMkH1TSPFZVIiQ4fh49/V5JMpstgqEZPDaDe5r8
h+fMBZtUa6LLMco03Z9BNEXlqlXKiFk8feVYB8obEjz7YYq1XhO9q7JUmkSs0WGIH4xU0XB1
kPC8T8H+5E//84poYSFHE4pA+Ff68UANP2/EuFJWMjegiefnOr8aM42OAcUkjEWSlautIIX8
oD2GizwQYjWdDDjEonbuMKFP6rY2xGI3PSLI3IVU2opb0/itNhQui3WRxafloJqTlriY8m8+
qSLr2HGftbBlbyzVWB8o//aW0H0LMabjkIvrm7Zmh2vcCxiSxGBwYASuSYXGuQiKAgGptUs1
XJLZuzGCA80wggPJAgEBMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g
THRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EC
Ah5jMAkGBSsOAwIaBQCgggIOMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN
AQkFMQ8XDTEyMDUzMDA4MDMzNlowIwYJKoZIhvcNAQkEMRYEFFC0oCELfs2LVciqsquhD7fo
geaMMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBpAYJKwYB
BAGCNxAEMYGWMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAh5jMIGm
BgsqhkiG9w0BCRACCzGBlqCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2
BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB
AgIeYzANBgkqhkiG9w0BAQEFAASCAQBh0AMGXj0wQHShukweq3L/Sj/z304F41mcybtmT02n
jDEp3xjGrhNc7mA/jn92Ur+wZ4fum/ypXhkFOmLVYCrLPqnEQc2EgShRauF1S3HO6VwkF1P1
YBAhZeiKjIdmbtVWHTTrXvysnzOZkFSbu7X320/9C2mKB4Wpm4rwAlnMgwolBAUPqulH1jSV
g2a7V5O3KhHa+wb3s5YjiGAJPSiyO7YroDSp+AOBbe7UvES0p1trvIByrBlrMfaxMcH85y8B
uVrPdQDPjLesWsoU5cR2kMMm6MfxPmT7ApIr+4w7RZiwgECYPEbH2msYXekaiaeNjvdsKVdz
fiNMGzkttIyRAAAAAAAA
--------------ms060807000507030706050508--


--===============6921735869934662609==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6921735869934662609==--


From xen-devel-bounces@lists.xen.org Wed May 30 08:13:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:13:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZe2G-0007X8-Jq; Wed, 30 May 2012 08:13:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZe2E-0007X3-Hx
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 08:13:38 +0000
Received: from [85.158.143.35:25361] by server-3.bemta-4.messagelabs.com id
	F5/1F-04252-1B6D5CF4; Wed, 30 May 2012 08:13:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338365616!13922034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9018 invoked from network); 30 May 2012 08:13:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 08:13:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729808"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:13:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 09:13:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZe2B-0001Kl-TX;
	Wed, 30 May 2012 08:13:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZe2B-0004Kb-P0;
	Wed, 30 May 2012 09:13:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 09:13:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, keir@xen.org, stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

branch xen-unstable
xen branch xen-unstable
job build-i386-oldkern
test xen-build

Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  ccad7bed9163
  Bug not present: eae6e5bb9079


  changeset:   25404:ccad7bed9163
  user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
  date:        Tue May 29 16:36:50 2012 +0100
      
      libxl: introduce libxl__alloc_vdev
      
      Introduce libxl__alloc_vdev: find a spare virtual block device in the
      domain passed as argument.
      
      Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      


For bisection revision-tuple graph see:
   http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.build-i386-oldkern.xen-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Searching for failure / basis pass:
 12981 fail [host=moss-bug] / 12979 [host=itch-mite] 12978 [host=itch-mite] 12977 [host=itch-mite] 12976 [host=itch-mite] 12975 ok.
Failure / basis pass flights: 12981 / 12975
Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
Latest 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
Basis pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 53e0571f94e4
Generating revisions with ./adhoc-revtuple-generator  http://xenbits.xen.org/linux-2.6.18-xen.hg#90a9c811f4c0-90a9c811f4c0 git://xenbits.xen.org/staging/qemu-xen-unstable.git#7bde54662d45b0bbc2ee78c7a8bf2c97c6655445-7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#6d8b472233779c2a028a03843603030d2b1aee86-6d8b472233779c2a028a03843603030d2b1aee86 http://xenbits.xen.org/staging/xen-unstable.hg#53e0571f94e4-894493e84fe7
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
adding changesets
adding manifests
adding file changes
added 8 changesets with 21 changes to 17 files
17 files updated, 0 files merged, 1 files removed, 0 files unresolved
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
Loaded 76 nodes in revision graph
Searching for test results:
 12984 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 080b8e3f890f
 12985 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12986 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 5d58718ad55d
 12981 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
 12987 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 00ad5024ed65
 12989 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
 12990 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12991 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
 12971 [host=gall-mite]
 12992 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12972 [host=itch-mite]
 12993 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
 12975 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 53e0571f94e4
 12976 [host=itch-mite]
 12994 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12977 [host=itch-mite]
 12978 [host=itch-mite]
 12979 [host=itch-mite]
 12980 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
 12982 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 53e0571f94e4
 12983 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
Searching for interesting versions
 Result found: flight 12975 (pass), for basis pass
 Result found: flight 12980 (fail), for basis failure
 Repro found: flight 12982 (pass), for basis pass
 Repro found: flight 12983 (fail), for basis failure
 0 revisions at 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
No revisions left to test, checking graph state.
 Result found: flight 12989 (pass), for last pass
 Result found: flight 12990 (fail), for first failure
 Repro found: flight 12991 (pass), for last pass
 Repro found: flight 12992 (fail), for first failure
 Repro found: flight 12993 (pass), for last pass
 Repro found: flight 12994 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  ccad7bed9163
  Bug not present: eae6e5bb9079

pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found

  changeset:   25404:ccad7bed9163
  user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
  date:        Tue May 29 16:36:50 2012 +0100
      
      libxl: introduce libxl__alloc_vdev
      
      Introduce libxl__alloc_vdev: find a spare virtual block device in the
      domain passed as argument.
      
      Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      

Revision graph left in /home/xc_osstest/results/bisect.xen-unstable.build-i386-oldkern.xen-build.{dot,ps,png,html}.
----------------------------------------
12994: tolerable ALL FAIL

flight 12994 xen-unstable real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12994/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386-oldkern            4 xen-build               fail baseline untested


jobs:
 build-i386-oldkern                                           fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:13:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:13:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZe2G-0007X8-Jq; Wed, 30 May 2012 08:13:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZe2E-0007X3-Hx
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 08:13:38 +0000
Received: from [85.158.143.35:25361] by server-3.bemta-4.messagelabs.com id
	F5/1F-04252-1B6D5CF4; Wed, 30 May 2012 08:13:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338365616!13922034!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9018 invoked from network); 30 May 2012 08:13:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 08:13:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12729808"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:13:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 09:13:36 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZe2B-0001Kl-TX;
	Wed, 30 May 2012 08:13:35 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZe2B-0004Kb-P0;
	Wed, 30 May 2012 09:13:35 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 09:13:35 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com, keir@xen.org, stefano.stabellini@eu.citrix.com
Subject: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

branch xen-unstable
xen branch xen-unstable
job build-i386-oldkern
test xen-build

Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  ccad7bed9163
  Bug not present: eae6e5bb9079


  changeset:   25404:ccad7bed9163
  user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
  date:        Tue May 29 16:36:50 2012 +0100
      
      libxl: introduce libxl__alloc_vdev
      
      Introduce libxl__alloc_vdev: find a spare virtual block device in the
      domain passed as argument.
      
      Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      


For bisection revision-tuple graph see:
   http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.build-i386-oldkern.xen-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Searching for failure / basis pass:
 12981 fail [host=moss-bug] / 12979 [host=itch-mite] 12978 [host=itch-mite] 12977 [host=itch-mite] 12976 [host=itch-mite] 12975 ok.
Failure / basis pass flights: 12981 / 12975
Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
Latest 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
Basis pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 53e0571f94e4
Generating revisions with ./adhoc-revtuple-generator  http://xenbits.xen.org/linux-2.6.18-xen.hg#90a9c811f4c0-90a9c811f4c0 git://xenbits.xen.org/staging/qemu-xen-unstable.git#7bde54662d45b0bbc2ee78c7a8bf2c97c6655445-7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#6d8b472233779c2a028a03843603030d2b1aee86-6d8b472233779c2a028a03843603030d2b1aee86 http://xenbits.xen.org/staging/xen-unstable.hg#53e0571f94e4-894493e84fe7
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
adding changesets
adding manifests
adding file changes
added 8 changesets with 21 changes to 17 files
17 files updated, 0 files merged, 1 files removed, 0 files unresolved
pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found
Loaded 76 nodes in revision graph
Searching for test results:
 12984 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 080b8e3f890f
 12985 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12986 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 5d58718ad55d
 12981 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
 12987 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 00ad5024ed65
 12989 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
 12990 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12991 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
 12971 [host=gall-mite]
 12992 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12972 [host=itch-mite]
 12993 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
 12975 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 53e0571f94e4
 12976 [host=itch-mite]
 12994 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 ccad7bed9163
 12977 [host=itch-mite]
 12978 [host=itch-mite]
 12979 [host=itch-mite]
 12980 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
 12982 pass 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 53e0571f94e4
 12983 fail 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 894493e84fe7
Searching for interesting versions
 Result found: flight 12975 (pass), for basis pass
 Result found: flight 12980 (fail), for basis failure
 Repro found: flight 12982 (pass), for basis pass
 Repro found: flight 12983 (fail), for basis failure
 0 revisions at 90a9c811f4c0 7bde54662d45b0bbc2ee78c7a8bf2c97c6655445 6d8b472233779c2a028a03843603030d2b1aee86 eae6e5bb9079
No revisions left to test, checking graph state.
 Result found: flight 12989 (pass), for last pass
 Result found: flight 12990 (fail), for first failure
 Repro found: flight 12991 (pass), for last pass
 Repro found: flight 12992 (fail), for first failure
 Repro found: flight 12993 (pass), for last pass
 Repro found: flight 12994 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
  Bug introduced:  ccad7bed9163
  Bug not present: eae6e5bb9079

pulling from ssh://xen@xenbits.xen.org/HG/staging/xen-unstable.hg
searching for changes
no changes found

  changeset:   25404:ccad7bed9163
  user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
  date:        Tue May 29 16:36:50 2012 +0100
      
      libxl: introduce libxl__alloc_vdev
      
      Introduce libxl__alloc_vdev: find a spare virtual block device in the
      domain passed as argument.
      
      Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
      Committed-by: Ian Campbell <ian.campbell@citrix.com>
      
      

Revision graph left in /home/xc_osstest/results/bisect.xen-unstable.build-i386-oldkern.xen-build.{dot,ps,png,html}.
----------------------------------------
12994: tolerable ALL FAIL

flight 12994 xen-unstable real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12994/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386-oldkern            4 xen-build               fail baseline untested


jobs:
 build-i386-oldkern                                           fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:31:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZeIi-0007h8-7J; Wed, 30 May 2012 08:30:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZeIh-0007h3-AS
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 08:30:39 +0000
Received: from [85.158.143.35:29166] by server-1.bemta-4.messagelabs.com id
	91/3C-27869-EAAD5CF4; Wed, 30 May 2012 08:30:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338366636!13925766!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25278 invoked from network); 30 May 2012 08:30:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 08:30:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12730243"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:30:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 09:30:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZeIb-0001Qa-OA;
	Wed, 30 May 2012 08:30:33 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZeIb-0003Ow-Md;
	Wed, 30 May 2012 09:30:33 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12988-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 09:30:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12988 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12988/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  894493e84fe7
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:31:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZeIi-0007h8-7J; Wed, 30 May 2012 08:30:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZeIh-0007h3-AS
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 08:30:39 +0000
Received: from [85.158.143.35:29166] by server-1.bemta-4.messagelabs.com id
	91/3C-27869-EAAD5CF4; Wed, 30 May 2012 08:30:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338366636!13925766!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAxNTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25278 invoked from network); 30 May 2012 08:30:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 08:30:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12730243"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:30:34 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 09:30:34 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZeIb-0001Qa-OA;
	Wed, 30 May 2012 08:30:33 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZeIb-0003Ow-Md;
	Wed, 30 May 2012 09:30:33 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12988-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 09:30:33 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12988 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12988/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  894493e84fe7
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:44:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:44:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZeVv-0007uB-F3; Wed, 30 May 2012 08:44:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZeVt-0007tv-Ss
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:44:18 +0000
Received: from [85.158.143.35:20278] by server-2.bemta-4.messagelabs.com id
	15/36-11595-1EDD5CF4; Wed, 30 May 2012 08:44:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338367439!14750666!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU5Mjg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29583 invoked from network); 30 May 2012 08:44:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 08:44:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196866248"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 04:43:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 04:43:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZeVa-0002o3-Sf;
	Wed, 30 May 2012 09:43:58 +0100
Message-ID: <4FC5DDCF.5050008@citrix.com>
Date: Wed, 30 May 2012 09:43:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-2-git-send-email-roger.pau@citrix.com>
	<20420.53243.895944.536517@mariner.uk.xensource.com>
In-Reply-To: <20420.53243.895944.536517@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 01/10] libxl: change
	libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v4 01/10] libxl: change libxl__ao_device_remove to libxl__ao_device"):
>> Introduce a new structure to track state of device backends, that will
>> be used in following patches on this series.
>>
>> This structure if used for both device creation and device
>> destruction and removes libxl__ao_device_remove.
> ...
>> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
>> index e3d05c2..7fdecf1 100644
>> --- a/tools/libxl/libxl.c
>> +++ b/tools/libxl/libxl.c
> ...
>> +/* Macro for defining device remove/destroy functions in a compact way */
>> +#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
>
> Looks reasonable to me.
>
>> +/* Define all remove/destroy functions and undef the macro */
>> +
>> +/* disk */
>> +DEFINE_DEVICE_REMOVE(disk, remove, 0)
>> +DEFINE_DEVICE_REMOVE(disk, destroy, 1)
>
> I'm not sure what purpose the comment serves but I don't really object
> to it :-).
>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index 52f5435..670a17b 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
> ...
>> @@ -830,13 +830,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *
>> +/* This functions sets the necessary libxl__ao_device struct values to use
>> + * safely inside functions. It marks the operation as "active"
>> + * since we need to be sure that all device status structs are set
>> + * to active before start queueing events, or we might call
>> + * ao_complete before all devices had finished */
>> +_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
>> +                                      libxl__ao_device **base);
>
> You need to clearly explain what the constraints are on the order of
> calling _prepare and _initiate_..._remove.
>
> Questions whose answers should be clear from your text include:
>   - is it legal to call _initiate_ without having previously called
>     _prepare ?
>   - is it legal to call _prepare and then simply throw away the
>     aodev ?
>   - is it legal to call _prepare multiple times ?  (If the answer
>     to the previous question is `yes' then it must be, I think.)

I've added a more detailed comment about _prepare.

>> @@ -436,34 +441,35 @@ out:
>> -int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
>> -                                  libxl__device *dev)
>> +void libxl__initiate_device_remove(libxl__egc *egc,
>> +                                   libxl__ao_device *aodev)
>>   {
> ...
>> +retry_transaction:
>> +    t = xs_transaction_start(ctx->xsh);
>> +    if (aodev->force)
>> +        libxl__xs_path_cleanup(gc, t,
>> +                               libxl__device_frontend_path(gc, aodev->dev));
>> +    state = libxl__xs_read(gc, t, state_path);
>
> Didn't I previously comment adversely on having this check here ?
>
> Ah yes, I commented on the corresponding code in add (v2 08/15):
>
>    [...], I think all of this is done for you by
>    libxl__ev_devstate_wait.  You don't need to pre-check the state path
>    at all.
>
> And:
>
>    Do you really need to do the xenstore state read here ?  Surely
>    libxl__ev_devstate_wait will do it for you.

Done.

>> +    /* Some devices (vkbd) fail to disconnect properly,
>> +     * but we shouldn't alarm the user if it's during
>> +     * domain destruction.
>> +     */
>> +    if (rc&&  aodev->action == DEVICE_CONNECT) {
>> +        LOG(ERROR, "unable to connect device with path %s",
>> +                   libxl__device_backend_path(gc, aodev->dev));
>> +        goto out;
>> +    } else if(rc) {
>
> Missing space after `if'.

Done.

>> +        LOG(DEBUG, "unable to disconnect device with path %s",
>> +                   libxl__device_backend_path(gc, aodev->dev));
>> +        goto out;
>> +    }
>
> Last time I wrote:
>
>    Perhaps we should have a separate flag which controls error reporting
>    so that a user-requested graceful device disconnect gets full error
>    logging ?
>
> Did you miss the fact that email suggesting the macro for generating
> the device remove functions also had these other comments in ?

I've replied to this email, the response is here:

http://marc.info/?l=xen-devel&m=133770109429587&w=2

I would like to leave this for future work, since the error checking we 
have now is not better that what I'm proposing here.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:44:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:44:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZeVv-0007uB-F3; Wed, 30 May 2012 08:44:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZeVt-0007tv-Ss
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:44:18 +0000
Received: from [85.158.143.35:20278] by server-2.bemta-4.messagelabs.com id
	15/36-11595-1EDD5CF4; Wed, 30 May 2012 08:44:17 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338367439!14750666!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTU5Mjg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29583 invoked from network); 30 May 2012 08:44:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 08:44:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196866248"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 04:43:59 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 04:43:59 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZeVa-0002o3-Sf;
	Wed, 30 May 2012 09:43:58 +0100
Message-ID: <4FC5DDCF.5050008@citrix.com>
Date: Wed, 30 May 2012 09:43:59 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-2-git-send-email-roger.pau@citrix.com>
	<20420.53243.895944.536517@mariner.uk.xensource.com>
In-Reply-To: <20420.53243.895944.536517@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 01/10] libxl: change
	libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v4 01/10] libxl: change libxl__ao_device_remove to libxl__ao_device"):
>> Introduce a new structure to track state of device backends, that will
>> be used in following patches on this series.
>>
>> This structure if used for both device creation and device
>> destruction and removes libxl__ao_device_remove.
> ...
>> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
>> index e3d05c2..7fdecf1 100644
>> --- a/tools/libxl/libxl.c
>> +++ b/tools/libxl/libxl.c
> ...
>> +/* Macro for defining device remove/destroy functions in a compact way */
>> +#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
>
> Looks reasonable to me.
>
>> +/* Define all remove/destroy functions and undef the macro */
>> +
>> +/* disk */
>> +DEFINE_DEVICE_REMOVE(disk, remove, 0)
>> +DEFINE_DEVICE_REMOVE(disk, destroy, 1)
>
> I'm not sure what purpose the comment serves but I don't really object
> to it :-).
>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index 52f5435..670a17b 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
> ...
>> @@ -830,13 +830,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *
>> +/* This functions sets the necessary libxl__ao_device struct values to use
>> + * safely inside functions. It marks the operation as "active"
>> + * since we need to be sure that all device status structs are set
>> + * to active before start queueing events, or we might call
>> + * ao_complete before all devices had finished */
>> +_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
>> +                                      libxl__ao_device **base);
>
> You need to clearly explain what the constraints are on the order of
> calling _prepare and _initiate_..._remove.
>
> Questions whose answers should be clear from your text include:
>   - is it legal to call _initiate_ without having previously called
>     _prepare ?
>   - is it legal to call _prepare and then simply throw away the
>     aodev ?
>   - is it legal to call _prepare multiple times ?  (If the answer
>     to the previous question is `yes' then it must be, I think.)

I've added a more detailed comment about _prepare.

>> @@ -436,34 +441,35 @@ out:
>> -int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
>> -                                  libxl__device *dev)
>> +void libxl__initiate_device_remove(libxl__egc *egc,
>> +                                   libxl__ao_device *aodev)
>>   {
> ...
>> +retry_transaction:
>> +    t = xs_transaction_start(ctx->xsh);
>> +    if (aodev->force)
>> +        libxl__xs_path_cleanup(gc, t,
>> +                               libxl__device_frontend_path(gc, aodev->dev));
>> +    state = libxl__xs_read(gc, t, state_path);
>
> Didn't I previously comment adversely on having this check here ?
>
> Ah yes, I commented on the corresponding code in add (v2 08/15):
>
>    [...], I think all of this is done for you by
>    libxl__ev_devstate_wait.  You don't need to pre-check the state path
>    at all.
>
> And:
>
>    Do you really need to do the xenstore state read here ?  Surely
>    libxl__ev_devstate_wait will do it for you.

Done.

>> +    /* Some devices (vkbd) fail to disconnect properly,
>> +     * but we shouldn't alarm the user if it's during
>> +     * domain destruction.
>> +     */
>> +    if (rc&&  aodev->action == DEVICE_CONNECT) {
>> +        LOG(ERROR, "unable to connect device with path %s",
>> +                   libxl__device_backend_path(gc, aodev->dev));
>> +        goto out;
>> +    } else if(rc) {
>
> Missing space after `if'.

Done.

>> +        LOG(DEBUG, "unable to disconnect device with path %s",
>> +                   libxl__device_backend_path(gc, aodev->dev));
>> +        goto out;
>> +    }
>
> Last time I wrote:
>
>    Perhaps we should have a separate flag which controls error reporting
>    so that a user-requested graceful device disconnect gets full error
>    logging ?
>
> Did you miss the fact that email suggesting the macro for generating
> the device remove functions also had these other comments in ?

I've replied to this email, the response is here:

http://marc.info/?l=xen-devel&m=133770109429587&w=2

I would like to leave this for future work, since the error checking we 
have now is not better that what I'm proposing here.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZeVv-0007u4-45; Wed, 30 May 2012 08:44:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZeVt-0007tv-Ge
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:44:17 +0000
Received: from [85.158.143.99:54725] by server-2.bemta-4.messagelabs.com id
	9E/26-11595-0EDD5CF4; Wed, 30 May 2012 08:44:16 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338367456!27089094!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM4NDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8660 invoked from network); 30 May 2012 08:44:16 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 08:44:16 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 09:44:15 +0100
Message-Id: <4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 09:44:12 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
	<4FC5D458.5020600@tiscali.it>
In-Reply-To: <4FC5D458.5020600@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 10:03, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> The content of xen/arch/x86/efi/disabled is:
> ld: unrecognised emulation mode: i386pep
> Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux 
> elf_l1om elf_k1om
> How can I do for fix this?

If your distor doesn't offer a suitably configured binutils package,
you'll have to build one yourself, I'm afraid.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 08:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 08:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZeVv-0007u4-45; Wed, 30 May 2012 08:44:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZeVt-0007tv-Ge
	for xen-devel@lists.xen.org; Wed, 30 May 2012 08:44:17 +0000
Received: from [85.158.143.99:54725] by server-2.bemta-4.messagelabs.com id
	9E/26-11595-0EDD5CF4; Wed, 30 May 2012 08:44:16 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338367456!27089094!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM4NDI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8660 invoked from network); 30 May 2012 08:44:16 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 08:44:16 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 09:44:15 +0100
Message-Id: <4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 09:44:12 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
	<4FC5D458.5020600@tiscali.it>
In-Reply-To: <4FC5D458.5020600@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 10:03, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> The content of xen/arch/x86/efi/disabled is:
> ld: unrecognised emulation mode: i386pep
> Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux 
> elf_l1om elf_k1om
> How can I do for fix this?

If your distor doesn't offer a suitably configured binutils package,
you'll have to build one yourself, I'm afraid.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:19:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:19:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZf3V-0008Mg-Ud; Wed, 30 May 2012 09:19:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZf3U-0008Mb-By
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:19:00 +0000
Received: from [193.109.254.147:31911] by server-12.bemta-14.messagelabs.com
	id B7/82-12643-306E5CF4; Wed, 30 May 2012 09:18:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338369529!4031577!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22111 invoked from network); 30 May 2012 09:18:50 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 09:18:50 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 10:18:49 +0100
Message-Id: <4FC602170200007800086CA4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 10:18:47 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<1338345347-22433-3-git-send-email-xudong.hao@intel.com>
In-Reply-To: <1338345347-22433-3-git-send-email-xudong.hao@intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 2/4] VMX: Fix the mistake of exception
	execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 04:35, Xudong Hao <xudong.hao@intel.com> wrote:
> Fix the mistake for debug exception(#DB), overflow exception(#OF) and
> INT3(#BP), INTn instruction emulation.
> 
> Add inslen field in struct hvm_trap. According to instruction length,
> to distinguish INT3 is generated by opcode 'CC' or 'CD ib =3',
> so do INTO and #DB(debug exception).

As noted previously, using the instruction length here is not fully
correct. Depending on how significant the distinction between
software interrupt and software exception is, taking into account
something like the opcode sequence 66 CC may be necessary. If
the distinction is insignificant, then perhaps a code comment
should say so.

More comments inline...

> Note:
>  * For INTn (CD ib), it should use type 4 (software interrupt).
> 
>  * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
>    it should use type 6 (software exception).
> 
>  * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, 
> #MF,
>    #AC, #MC, and #XM), it should use type 3 (hardware exception).
> 
>  * In the unlikely event that you are emulating the undocumented opcode F1
>    (informally called INT1 or ICEBP), it would use type 5 (privileged 
> software
>    exception).
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> Signed-off-by: Eddie Dong <eddie.dong@intel.com>
> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> ---
>  xen/arch/x86/hvm/vmx/vmx.c    |   43 
> ++++++++++++++++++++++++++++++++++++++++-
>  xen/include/asm-x86/hvm/hvm.h |    2 +
>  2 files changed, 44 insertions(+), 1 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index c96d18b..cf08a11 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -1381,6 +1381,19 @@ void vmx_inject_nmi(void)
>                             HVM_DELIVER_NO_ERROR_CODE);
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE:
> + *    This is for processor execution generated exceptions,
> + * and handle #DB hardware exception and all software 
> + * exception/interrupt, which include:
> + *  - INT 3(CC), INTO (CE) instruction emulation, which should
> + *    use X86_EVENTTYPE_SW_EXCEPTION;
> + *  - INT nn (CD nn) instruction emulation, which should use
> + *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
> + *  - opcode 0xf1 generated #DB should use privileged software
> + *    exception.
> + */
>  static void vmx_inject_trap(struct hvm_trap *trap)
>  {
>      unsigned long intr_info;
> @@ -1399,6 +1412,12 @@ static void vmx_inject_trap(struct hvm_trap *trap)
>      switch ( _trap.vector )
>      {
>      case TRAP_debug:
> +        _trap.type = X86_EVENTTYPE_HW_EXCEPTION;
> +        if ( _trap.inslen != 1 ) {

Opcode F1 certainly has length 1, so perhaps the condition is
inverted? Perhaps length 0 should be used here to distinguish
the hardware exception case from the F1-generated one.

> +            _trap.type = X86_EVENTTYPE_PRI_SW_EXCEPTION;  /* opcode 0xf1 */
> +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        }
> +
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1414,6 +1433,27 @@ static void vmx_inject_trap(struct hvm_trap *trap)
>              domain_pause_for_debugger();
>              return;
>          }
> +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CC */
> +        if ( _trap.inslen != 1 )
> +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=3 */
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        break;
> +
> +    case TRAP_overflow:
> +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CE */
> +        if ( _trap.inslen != 1 )
> +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=4 */
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        break;
> +
> +    default:
> +        if ( _trap.vector > TRAP_last_reserved ) /* int imm8 */
> +        {
> +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;
> +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        }
> +        break;
> +
>      }
>  
>      if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
> @@ -2424,7 +2464,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>                      struct hvm_trap trap = {
>                          .vector = TRAP_int3,
>                          .type = X86_EVENTTYPE_SW_EXCEPTION,
> -                        .error_code = HVM_DELIVER_NO_ERROR_CODE
> +                        .error_code = HVM_DELIVER_NO_ERROR_CODE,
> +                        .inslen = __vmread(VM_EXIT_INSTRUCTION_LEN)
>                      };
>                      hvm_inject_trap(&trap);
>                      break;
> diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
> index 65f7e20..a3d8bf1 100644
> --- a/xen/include/asm-x86/hvm/hvm.h
> +++ b/xen/include/asm-x86/hvm/hvm.h
> @@ -76,6 +76,7 @@ struct hvm_trap {
>      unsigned int  type;         /* X86_EVENTTYPE_* */
>      int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE if n/a */
>      unsigned long cr2;          /* Only for TRAP_page_fault h/w exception 
> */
> +    int           inslen;       /* Instruction length */ 

May I suggest using "insnlen" instead?

Jan

>  };
>  
>  /*
> @@ -375,6 +376,7 @@ static inline int hvm_do_pmu_interrupt(struct 
> cpu_user_regs *regs)
>  #define X86_EVENTTYPE_NMI                   2    /* NMI                */
>  #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware exception */
>  #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software interrupt */
> +#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged software exception */
>  #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software exception */
>  
>  int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
> -- 
> 1.5.5



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:19:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:19:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZf3V-0008Mg-Ud; Wed, 30 May 2012 09:19:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZf3U-0008Mb-By
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:19:00 +0000
Received: from [193.109.254.147:31911] by server-12.bemta-14.messagelabs.com
	id B7/82-12643-306E5CF4; Wed, 30 May 2012 09:18:59 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338369529!4031577!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22111 invoked from network); 30 May 2012 09:18:50 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 09:18:50 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 10:18:49 +0100
Message-Id: <4FC602170200007800086CA4@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 10:18:47 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<1338345347-22433-3-git-send-email-xudong.hao@intel.com>
In-Reply-To: <1338345347-22433-3-git-send-email-xudong.hao@intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 2/4] VMX: Fix the mistake of exception
	execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 04:35, Xudong Hao <xudong.hao@intel.com> wrote:
> Fix the mistake for debug exception(#DB), overflow exception(#OF) and
> INT3(#BP), INTn instruction emulation.
> 
> Add inslen field in struct hvm_trap. According to instruction length,
> to distinguish INT3 is generated by opcode 'CC' or 'CD ib =3',
> so do INTO and #DB(debug exception).

As noted previously, using the instruction length here is not fully
correct. Depending on how significant the distinction between
software interrupt and software exception is, taking into account
something like the opcode sequence 66 CC may be necessary. If
the distinction is insignificant, then perhaps a code comment
should say so.

More comments inline...

> Note:
>  * For INTn (CD ib), it should use type 4 (software interrupt).
> 
>  * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
>    it should use type 6 (software exception).
> 
>  * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF, 
> #MF,
>    #AC, #MC, and #XM), it should use type 3 (hardware exception).
> 
>  * In the unlikely event that you are emulating the undocumented opcode F1
>    (informally called INT1 or ICEBP), it would use type 5 (privileged 
> software
>    exception).
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> Signed-off-by: Eddie Dong <eddie.dong@intel.com>
> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> ---
>  xen/arch/x86/hvm/vmx/vmx.c    |   43 
> ++++++++++++++++++++++++++++++++++++++++-
>  xen/include/asm-x86/hvm/hvm.h |    2 +
>  2 files changed, 44 insertions(+), 1 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index c96d18b..cf08a11 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -1381,6 +1381,19 @@ void vmx_inject_nmi(void)
>                             HVM_DELIVER_NO_ERROR_CODE);
>  }
>  
> +/*
> + * Generate the virtual event to guest.
> + * NOTE:
> + *    This is for processor execution generated exceptions,
> + * and handle #DB hardware exception and all software 
> + * exception/interrupt, which include:
> + *  - INT 3(CC), INTO (CE) instruction emulation, which should
> + *    use X86_EVENTTYPE_SW_EXCEPTION;
> + *  - INT nn (CD nn) instruction emulation, which should use
> + *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
> + *  - opcode 0xf1 generated #DB should use privileged software
> + *    exception.
> + */
>  static void vmx_inject_trap(struct hvm_trap *trap)
>  {
>      unsigned long intr_info;
> @@ -1399,6 +1412,12 @@ static void vmx_inject_trap(struct hvm_trap *trap)
>      switch ( _trap.vector )
>      {
>      case TRAP_debug:
> +        _trap.type = X86_EVENTTYPE_HW_EXCEPTION;
> +        if ( _trap.inslen != 1 ) {

Opcode F1 certainly has length 1, so perhaps the condition is
inverted? Perhaps length 0 should be used here to distinguish
the hardware exception case from the F1-generated one.

> +            _trap.type = X86_EVENTTYPE_PRI_SW_EXCEPTION;  /* opcode 0xf1 */
> +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        }
> +
>          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
>          {
>              __restore_debug_registers(curr);
> @@ -1414,6 +1433,27 @@ static void vmx_inject_trap(struct hvm_trap *trap)
>              domain_pause_for_debugger();
>              return;
>          }
> +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CC */
> +        if ( _trap.inslen != 1 )
> +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=3 */
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        break;
> +
> +    case TRAP_overflow:
> +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CE */
> +        if ( _trap.inslen != 1 )
> +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib with ib=4 */
> +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        break;
> +
> +    default:
> +        if ( _trap.vector > TRAP_last_reserved ) /* int imm8 */
> +        {
> +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;
> +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> +        }
> +        break;
> +
>      }
>  
>      if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
> @@ -2424,7 +2464,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>                      struct hvm_trap trap = {
>                          .vector = TRAP_int3,
>                          .type = X86_EVENTTYPE_SW_EXCEPTION,
> -                        .error_code = HVM_DELIVER_NO_ERROR_CODE
> +                        .error_code = HVM_DELIVER_NO_ERROR_CODE,
> +                        .inslen = __vmread(VM_EXIT_INSTRUCTION_LEN)
>                      };
>                      hvm_inject_trap(&trap);
>                      break;
> diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
> index 65f7e20..a3d8bf1 100644
> --- a/xen/include/asm-x86/hvm/hvm.h
> +++ b/xen/include/asm-x86/hvm/hvm.h
> @@ -76,6 +76,7 @@ struct hvm_trap {
>      unsigned int  type;         /* X86_EVENTTYPE_* */
>      int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE if n/a */
>      unsigned long cr2;          /* Only for TRAP_page_fault h/w exception 
> */
> +    int           inslen;       /* Instruction length */ 

May I suggest using "insnlen" instead?

Jan

>  };
>  
>  /*
> @@ -375,6 +376,7 @@ static inline int hvm_do_pmu_interrupt(struct 
> cpu_user_regs *regs)
>  #define X86_EVENTTYPE_NMI                   2    /* NMI                */
>  #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware exception */
>  #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software interrupt */
> +#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged software exception */
>  #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software exception */
>  
>  int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
> -- 
> 1.5.5



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZf4G-0008Pl-MA; Wed, 30 May 2012 09:19:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZf4E-0008PV-JP
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:19:46 +0000
Received: from [193.109.254.147:45890] by server-8.bemta-14.messagelabs.com id
	35/D4-04215-136E5CF4; Wed, 30 May 2012 09:19:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338369584!11072594!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22110 invoked from network); 30 May 2012 09:19:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 09:19:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 10:19:44 +0100
Message-Id: <4FC6024D0200007800086CA7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 10:19:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<1338345347-22433-4-git-send-email-xudong.hao@intel.com>
In-Reply-To: <1338345347-22433-4-git-send-email-xudong.hao@intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 3/4] xen: Add instruction length
 parameter in hypercall HVMOP_inject_trap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 04:35, Xudong Hao <xudong.hao@intel.com> wrote:
> Add parameter inslen for hypercall HVMOP_inject_trap, supply interface used 
> by
> passing instruction length from userspace.
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> ---
>  xen/arch/x86/hvm/hvm.c          |    1 +
>  xen/include/public/hvm/hvm_op.h |    2 ++
>  2 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index f3c87bc..2921e9e 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -4290,6 +4290,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) 
> arg)
>          else 
>          {
>              v->arch.hvm_vcpu.inject_trap.vector = tr.trap;
> +            v->arch.hvm_vcpu.inject_trap.inslen = tr.inslen;
>              v->arch.hvm_vcpu.inject_trap.error_code = tr.error_code;
>              v->arch.hvm_vcpu.inject_trap.cr2 = tr.cr2;
>          }
> diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
> index 6a78f75..4eccc85 100644
> --- a/xen/include/public/hvm/hvm_op.h
> +++ b/xen/include/public/hvm/hvm_op.h
> @@ -221,6 +221,8 @@ struct xen_hvm_inject_trap {
>      uint32_t trap;
>      /* Error code, or -1 to skip */
>      uint32_t error_code;
> +    /* Intruction length */
> +    uint32_t inslen;

Just like for the other patch - to me, "insnlen" would seem more
appropriate.

Jan

>      /* CR2 for page faults */
>      uint64_aligned_t cr2;
>  };
> -- 
> 1.5.5




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:20:21 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZf4G-0008Pl-MA; Wed, 30 May 2012 09:19:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZf4E-0008PV-JP
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:19:46 +0000
Received: from [193.109.254.147:45890] by server-8.bemta-14.messagelabs.com id
	35/D4-04215-136E5CF4; Wed, 30 May 2012 09:19:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338369584!11072594!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22110 invoked from network); 30 May 2012 09:19:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 09:19:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 10:19:44 +0100
Message-Id: <4FC6024D0200007800086CA7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 10:19:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Xudong Hao" <xudong.hao@intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<1338345347-22433-4-git-send-email-xudong.hao@intel.com>
In-Reply-To: <1338345347-22433-4-git-send-email-xudong.hao@intel.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: aravindh@virtuata.com, eddie.dong@intel.com, xen-devel@lists.xen.org,
	keir.xen@gmail.com, Ian.Jackson@eu.citrix.com,
	Xiantao Zhang <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 3/4] xen: Add instruction length
 parameter in hypercall HVMOP_inject_trap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 04:35, Xudong Hao <xudong.hao@intel.com> wrote:
> Add parameter inslen for hypercall HVMOP_inject_trap, supply interface used 
> by
> passing instruction length from userspace.
> 
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> ---
>  xen/arch/x86/hvm/hvm.c          |    1 +
>  xen/include/public/hvm/hvm_op.h |    2 ++
>  2 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index f3c87bc..2921e9e 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -4290,6 +4290,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) 
> arg)
>          else 
>          {
>              v->arch.hvm_vcpu.inject_trap.vector = tr.trap;
> +            v->arch.hvm_vcpu.inject_trap.inslen = tr.inslen;
>              v->arch.hvm_vcpu.inject_trap.error_code = tr.error_code;
>              v->arch.hvm_vcpu.inject_trap.cr2 = tr.cr2;
>          }
> diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
> index 6a78f75..4eccc85 100644
> --- a/xen/include/public/hvm/hvm_op.h
> +++ b/xen/include/public/hvm/hvm_op.h
> @@ -221,6 +221,8 @@ struct xen_hvm_inject_trap {
>      uint32_t trap;
>      /* Error code, or -1 to skip */
>      uint32_t error_code;
> +    /* Intruction length */
> +    uint32_t inslen;

Just like for the other patch - to me, "insnlen" would seem more
appropriate.

Jan

>      /* CR2 for page faults */
>      uint64_aligned_t cr2;
>  };
> -- 
> 1.5.5




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:41:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:41:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfOW-0000OF-TE; Wed, 30 May 2012 09:40:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfOV-0000OA-9Z
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:40:43 +0000
Received: from [85.158.143.99:37139] by server-3.bemta-4.messagelabs.com id
	74/BE-04252-A1BE5CF4; Wed, 30 May 2012 09:40:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338370840!27102142!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3062 invoked from network); 30 May 2012 09:40:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:40:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732328"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:40:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:40:16 +0100
Message-ID: <1338370815.31698.26.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Simon Rowe <Simon.Rowe@eu.citrix.com>
Date: Wed, 30 May 2012 10:40:15 +0100
In-Reply-To: <201205300856.15605.simon.rowe@eu.citrix.com>
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<4FC4FBAF.6040503@citrix.com>
	<1338320373.21683.22.camel@dagon.hellion.org.uk>
	<201205300856.15605.simon.rowe@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 08:56 +0100, Simon Rowe wrote:
> On Tuesday 29 May 2012 20:39:33 Ian Campbell wrote:
> 
> > ...and if it were then autoconf is the way to figure that out now,
> > unless _POSIX_THREAD_ATTR_STACKSIZE is specified somewhere (which I
> > doubt).
> 
> I was following the recommendation of the POSIX Threads: Semi-FAQ which states
> 
> 
> 5.2 How can I determine if a system supports the Stack Attribute(s)?
> 
> If the header file unistd.h defines the symbolic constant  
> _POSIX_THREAD_ATTR_STACKSIZE to a value greater than 0, the implementation 
> should support the getting and setting of the Stack Size Attribute. If it 
> defined to a value of 200112L then the current specification is supported.
> 
> 
> If this needs to be done via autoconf let me know.

If this little trick applies to both NetBSD and uclibc too then I guess
it would be OK, otherwise I think autoconf is necessary.

> > Also if it is only pthread_attr_setstacksize which is optional, rather
> > than pthread_attr_* generally, then the #if could be pulled into just
> > surround that call, presuming there is no harm in a "NULL" attr.
> 
> I don't quite get you, do you mean only protect the actual 
> pthread_attr_setstacksize() call with #ifdef and therefore always call 
> pthread_attr_init()?

Yes, that'll reduce the ifdeffery and inparticular removes the double
	if (pthread_create(&h->read_thr, NULL, read_thread, h) != 0) {
in either half, which is bit tricky to follow and is going to be prone
to drift across the two sides.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:41:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:41:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfOW-0000OF-TE; Wed, 30 May 2012 09:40:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfOV-0000OA-9Z
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:40:43 +0000
Received: from [85.158.143.99:37139] by server-3.bemta-4.messagelabs.com id
	74/BE-04252-A1BE5CF4; Wed, 30 May 2012 09:40:42 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338370840!27102142!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3062 invoked from network); 30 May 2012 09:40:41 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:40:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732328"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:40:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:40:16 +0100
Message-ID: <1338370815.31698.26.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Simon Rowe <Simon.Rowe@eu.citrix.com>
Date: Wed, 30 May 2012 10:40:15 +0100
In-Reply-To: <201205300856.15605.simon.rowe@eu.citrix.com>
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<4FC4FBAF.6040503@citrix.com>
	<1338320373.21683.22.camel@dagon.hellion.org.uk>
	<201205300856.15605.simon.rowe@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 08:56 +0100, Simon Rowe wrote:
> On Tuesday 29 May 2012 20:39:33 Ian Campbell wrote:
> 
> > ...and if it were then autoconf is the way to figure that out now,
> > unless _POSIX_THREAD_ATTR_STACKSIZE is specified somewhere (which I
> > doubt).
> 
> I was following the recommendation of the POSIX Threads: Semi-FAQ which states
> 
> 
> 5.2 How can I determine if a system supports the Stack Attribute(s)?
> 
> If the header file unistd.h defines the symbolic constant  
> _POSIX_THREAD_ATTR_STACKSIZE to a value greater than 0, the implementation 
> should support the getting and setting of the Stack Size Attribute. If it 
> defined to a value of 200112L then the current specification is supported.
> 
> 
> If this needs to be done via autoconf let me know.

If this little trick applies to both NetBSD and uclibc too then I guess
it would be OK, otherwise I think autoconf is necessary.

> > Also if it is only pthread_attr_setstacksize which is optional, rather
> > than pthread_attr_* generally, then the #if could be pulled into just
> > surround that call, presuming there is no harm in a "NULL" attr.
> 
> I don't quite get you, do you mean only protect the actual 
> pthread_attr_setstacksize() call with #ifdef and therefore always call 
> pthread_attr_init()?

Yes, that'll reduce the ifdeffery and inparticular removes the double
	if (pthread_create(&h->read_thr, NULL, read_thread, h) != 0) {
in either half, which is bit tricky to follow and is going to be prone
to drift across the two sides.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfSM-0000Tx-IJ; Wed, 30 May 2012 09:44:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfSL-0000Tr-5r
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:44:41 +0000
Received: from [85.158.138.51:2687] by server-4.bemta-3.messagelabs.com id
	5F/12-32504-80CE5CF4; Wed, 30 May 2012 09:44:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338371079!25815601!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31147 invoked from network); 30 May 2012 09:44:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:44:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732459"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:44:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:44:39 +0100
Message-ID: <1338371077.31698.29.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 10:44:37 +0100
In-Reply-To: <osstest-12988-mainreport@xen.org>
References: <osstest-12988-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 09:30 +0100, xen.org wrote:
> flight 12988 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12988/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

This is failing with:
        In file included from xl.c:33:
        xl.h:20:20: error: _paths.h: No such file or directory
        xl.c: In function 'parse_global_config':
        xl.c:76: error: 'XEN_LOCK_DIR' undeclared (first use in this function)
        xl.c:76: error: (Each undeclared identifier is reported only once
        xl.c:76: error: for each function it appears in.)
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: too few arguments to function 'memcpy'
        xl.c:76: error: expected ')' before string constant
        xl.c: In function 'main':
        xl.c:230: error: 'XEN_CONFIG_DIR' undeclared (first use in this function)
        xl.c:230: error: expected ')' before string constant
        xl.c:231: error: too few arguments to function 'libxl_read_file_contents'
        xl.c:234: error: expected ')' before string constant
        xl.c:235: error: expected ')' before string constant
        xl.c:235: error: too few arguments to function 'parse_global_config'
        cc1: warnings being treated as errors
        xl.c:197: error: unused variable 'config_len'
        make[3]: *** [xl.o] Error 1

But I've no idea why it would be failing here and not in the other
build-* targets. It seems likely that this is related to:
        changeset:   25409:894493e84fe7
        user:        Ian Campbell <ian.campbell@citrix.com>
        date:        Tue May 29 16:44:06 2012 +0100
        files:       tools/libxl/Makefile tools/libxl/libxl.h tools/libxl/libxl_internal.h tools/libxl/libxl_paths.c tools/libxl/xl.c tools/libxl/xl.h
        description:
        libxl: remove lockdir and config dir from the API
        
        These are only used by xl.
        
        Rename _libxl_paths.h -> _paths.h, these are not actually "libxl" paths but
        rather are part of the Xen build time configuration. It is fine for xl to also
        consume them.
        
But I can't see anything wrong there and it builds/works for me.


> 
> Regressions which are regarded as allowable (not blocking):
>  test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979
> 
> Tests which did not succeed, but are not blocking:
>  test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
>  test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
>  test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
>  test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
>  test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
>  test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
>  test-amd64-amd64-win         16 leak-check/check             fail   never pass
>  test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
>  test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
>  test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
>  test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
>  test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
>  test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
>  test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
>  test-amd64-i386-win          16 leak-check/check             fail   never pass
>  test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
>  test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
>  test-i386-i386-win           16 leak-check/check             fail   never pass
>  test-i386-i386-xl-win        13 guest-stop                   fail   never pass
>  test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
> 
> version targeted for testing:
>  xen                  894493e84fe7
> baseline version:
>  xen                  52ffce7a036e
> 
> jobs:
>  build-amd64                                                  pass    
>  build-i386                                                   pass    
>  build-amd64-oldkern                                          pass    
>  build-i386-oldkern                                           fail    
>  build-amd64-pvops                                            pass    
>  build-i386-pvops                                             pass    
>  test-amd64-amd64-xl                                          pass    
>  test-amd64-i386-xl                                           pass    
>  test-i386-i386-xl                                            pass    
>  test-amd64-i386-rhel6hvm-amd                                 fail    
>  test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
>  test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
>  test-amd64-amd64-xl-win7-amd64                               fail    
>  test-amd64-i386-xl-win7-amd64                                fail    
>  test-amd64-i386-xl-credit2                                   pass    
>  test-amd64-amd64-xl-pcipt-intel                              fail    
>  test-amd64-i386-rhel6hvm-intel                               fail    
>  test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
>  test-amd64-i386-xl-multivcpu                                 pass    
>  test-amd64-amd64-pair                                        pass    
>  test-amd64-i386-pair                                         pass    
>  test-i386-i386-pair                                          pass    
>  test-amd64-amd64-xl-sedf-pin                                 pass    
>  test-amd64-amd64-pv                                          pass    
>  test-amd64-i386-pv                                           pass    
>  test-i386-i386-pv                                            pass    
>  test-amd64-amd64-xl-sedf                                     pass    
>  test-amd64-i386-win-vcpus1                                   fail    
>  test-amd64-i386-xl-win-vcpus1                                fail    
>  test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
>  test-amd64-amd64-win                                         fail    
>  test-amd64-i386-win                                          fail    
>  test-i386-i386-win                                           fail    
>  test-amd64-amd64-xl-win                                      fail    
>  test-i386-i386-xl-win                                        fail    
>  test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
>  test-i386-i386-xl-qemuu-winxpsp3                             fail    
>  test-amd64-i386-xend-winxpsp3                                fail    
>  test-amd64-amd64-xl-winxpsp3                                 fail    
>  test-i386-i386-xl-winxpsp3                                   fail    
> 
> 
> ------------------------------------------------------------
> sg-report-flight on woking.cam.xci-test.com
> logs: /home/xc_osstest/logs
> images: /home/xc_osstest/images
> 
> Logs, config files, etc. are available at
>     http://www.chiark.greenend.org.uk/~xensrcts/logs
> 
> Test harness code can be found at
>     http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary
> 
> 
> Not pushing.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:45:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfSM-0000Tx-IJ; Wed, 30 May 2012 09:44:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfSL-0000Tr-5r
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:44:41 +0000
Received: from [85.158.138.51:2687] by server-4.bemta-3.messagelabs.com id
	5F/12-32504-80CE5CF4; Wed, 30 May 2012 09:44:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338371079!25815601!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31147 invoked from network); 30 May 2012 09:44:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:44:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732459"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:44:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:44:39 +0100
Message-ID: <1338371077.31698.29.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 10:44:37 +0100
In-Reply-To: <osstest-12988-mainreport@xen.org>
References: <osstest-12988-mainreport@xen.org>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 09:30 +0100, xen.org wrote:
> flight 12988 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/12988/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-i386-oldkern            4 xen-build                 fail REGR. vs. 12979

This is failing with:
        In file included from xl.c:33:
        xl.h:20:20: error: _paths.h: No such file or directory
        xl.c: In function 'parse_global_config':
        xl.c:76: error: 'XEN_LOCK_DIR' undeclared (first use in this function)
        xl.c:76: error: (Each undeclared identifier is reported only once
        xl.c:76: error: for each function it appears in.)
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: expected ')' before string constant
        xl.c:76: error: too few arguments to function 'memcpy'
        xl.c:76: error: expected ')' before string constant
        xl.c: In function 'main':
        xl.c:230: error: 'XEN_CONFIG_DIR' undeclared (first use in this function)
        xl.c:230: error: expected ')' before string constant
        xl.c:231: error: too few arguments to function 'libxl_read_file_contents'
        xl.c:234: error: expected ')' before string constant
        xl.c:235: error: expected ')' before string constant
        xl.c:235: error: too few arguments to function 'parse_global_config'
        cc1: warnings being treated as errors
        xl.c:197: error: unused variable 'config_len'
        make[3]: *** [xl.o] Error 1

But I've no idea why it would be failing here and not in the other
build-* targets. It seems likely that this is related to:
        changeset:   25409:894493e84fe7
        user:        Ian Campbell <ian.campbell@citrix.com>
        date:        Tue May 29 16:44:06 2012 +0100
        files:       tools/libxl/Makefile tools/libxl/libxl.h tools/libxl/libxl_internal.h tools/libxl/libxl_paths.c tools/libxl/xl.c tools/libxl/xl.h
        description:
        libxl: remove lockdir and config dir from the API
        
        These are only used by xl.
        
        Rename _libxl_paths.h -> _paths.h, these are not actually "libxl" paths but
        rather are part of the Xen build time configuration. It is fine for xl to also
        consume them.
        
But I can't see anything wrong there and it builds/works for me.


> 
> Regressions which are regarded as allowable (not blocking):
>  test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979
> 
> Tests which did not succeed, but are not blocking:
>  test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
>  test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
>  test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
>  test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
>  test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
>  test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
>  test-amd64-amd64-win         16 leak-check/check             fail   never pass
>  test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
>  test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
>  test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
>  test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
>  test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
>  test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
>  test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
>  test-amd64-i386-win          16 leak-check/check             fail   never pass
>  test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
>  test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
>  test-i386-i386-win           16 leak-check/check             fail   never pass
>  test-i386-i386-xl-win        13 guest-stop                   fail   never pass
>  test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
> 
> version targeted for testing:
>  xen                  894493e84fe7
> baseline version:
>  xen                  52ffce7a036e
> 
> jobs:
>  build-amd64                                                  pass    
>  build-i386                                                   pass    
>  build-amd64-oldkern                                          pass    
>  build-i386-oldkern                                           fail    
>  build-amd64-pvops                                            pass    
>  build-i386-pvops                                             pass    
>  test-amd64-amd64-xl                                          pass    
>  test-amd64-i386-xl                                           pass    
>  test-i386-i386-xl                                            pass    
>  test-amd64-i386-rhel6hvm-amd                                 fail    
>  test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
>  test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
>  test-amd64-amd64-xl-win7-amd64                               fail    
>  test-amd64-i386-xl-win7-amd64                                fail    
>  test-amd64-i386-xl-credit2                                   pass    
>  test-amd64-amd64-xl-pcipt-intel                              fail    
>  test-amd64-i386-rhel6hvm-intel                               fail    
>  test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
>  test-amd64-i386-xl-multivcpu                                 pass    
>  test-amd64-amd64-pair                                        pass    
>  test-amd64-i386-pair                                         pass    
>  test-i386-i386-pair                                          pass    
>  test-amd64-amd64-xl-sedf-pin                                 pass    
>  test-amd64-amd64-pv                                          pass    
>  test-amd64-i386-pv                                           pass    
>  test-i386-i386-pv                                            pass    
>  test-amd64-amd64-xl-sedf                                     pass    
>  test-amd64-i386-win-vcpus1                                   fail    
>  test-amd64-i386-xl-win-vcpus1                                fail    
>  test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
>  test-amd64-amd64-win                                         fail    
>  test-amd64-i386-win                                          fail    
>  test-i386-i386-win                                           fail    
>  test-amd64-amd64-xl-win                                      fail    
>  test-i386-i386-xl-win                                        fail    
>  test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
>  test-i386-i386-xl-qemuu-winxpsp3                             fail    
>  test-amd64-i386-xend-winxpsp3                                fail    
>  test-amd64-amd64-xl-winxpsp3                                 fail    
>  test-i386-i386-xl-winxpsp3                                   fail    
> 
> 
> ------------------------------------------------------------
> sg-report-flight on woking.cam.xci-test.com
> logs: /home/xc_osstest/logs
> images: /home/xc_osstest/images
> 
> Logs, config files, etc. are available at
>     http://www.chiark.greenend.org.uk/~xensrcts/logs
> 
> Test harness code can be found at
>     http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary
> 
> 
> Not pushing.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:47:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:47:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfUI-0000Zt-2l; Wed, 30 May 2012 09:46:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfUH-0000Zm-Gy
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:46:41 +0000
Received: from [85.158.143.99:24366] by server-1.bemta-4.messagelabs.com id
	E0/2C-27869-08CE5CF4; Wed, 30 May 2012 09:46:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338371199!29577348!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25971 invoked from network); 30 May 2012 09:46:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:46:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732516"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:46:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:46:39 +0100
Message-ID: <1338371198.31698.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 30 May 2012 10:46:38 +0100
In-Reply-To: <1338371077.31698.29.camel@zakaz.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 10:44 +0100, Ian Campbell wrote:
> It seems likely that this is related to:
>         changeset:   25409:894493e84fe7
>         user:        Ian Campbell <ian.campbell@citrix.com>
>         date:        Tue May 29 16:44:06 2012 +0100
>         files:       tools/libxl/Makefile tools/libxl/libxl.h tools/libxl/libxl_internal.h tools/libxl/libxl_paths.c tools/libxl/xl.c tools/libxl/xl.h
>         description:
>         libxl: remove lockdir and config dir from the API
>         
>         These are only used by xl.
>         
>         Rename _libxl_paths.h -> _paths.h, these are not actually "libxl" paths but
>         rather are part of the Xen build time configuration. It is fine for xl to also
>         consume them.
>         
> But I can't see anything wrong there [...]

Yes, I can. I reckon this is the fix.

8<-----------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338371140 -3600
# Node ID 017b76385a4c77ec3fb9dd791b6c7d19d0be401c
# Parent  2fef99911c6f179297b47e24246810d92d08d348
xl: xl.h depends on geenrated file _paths.h

Fixes build error.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 2fef99911c6f -r 017b76385a4c tools/libxl/Makefile
--- a/tools/libxl/Makefile	Wed May 30 10:33:55 2012 +0100
+++ b/tools/libxl/Makefile	Wed May 30 10:45:40 2012 +0100
@@ -120,6 +120,7 @@ libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
 libxl_internal.h: _libxl_types_internal.h _paths.h
 libxl_internal_json.h: _libxl_types_internal_json.h
+xl.h: _paths.h
 
 $(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
 $(LIBXL_OBJS): libxl_internal.h




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:47:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:47:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfUI-0000Zt-2l; Wed, 30 May 2012 09:46:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfUH-0000Zm-Gy
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:46:41 +0000
Received: from [85.158.143.99:24366] by server-1.bemta-4.messagelabs.com id
	E0/2C-27869-08CE5CF4; Wed, 30 May 2012 09:46:40 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338371199!29577348!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25971 invoked from network); 30 May 2012 09:46:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:46:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732516"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:46:39 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:46:39 +0100
Message-ID: <1338371198.31698.30.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Wed, 30 May 2012 10:46:38 +0100
In-Reply-To: <1338371077.31698.29.camel@zakaz.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 10:44 +0100, Ian Campbell wrote:
> It seems likely that this is related to:
>         changeset:   25409:894493e84fe7
>         user:        Ian Campbell <ian.campbell@citrix.com>
>         date:        Tue May 29 16:44:06 2012 +0100
>         files:       tools/libxl/Makefile tools/libxl/libxl.h tools/libxl/libxl_internal.h tools/libxl/libxl_paths.c tools/libxl/xl.c tools/libxl/xl.h
>         description:
>         libxl: remove lockdir and config dir from the API
>         
>         These are only used by xl.
>         
>         Rename _libxl_paths.h -> _paths.h, these are not actually "libxl" paths but
>         rather are part of the Xen build time configuration. It is fine for xl to also
>         consume them.
>         
> But I can't see anything wrong there [...]

Yes, I can. I reckon this is the fix.

8<-----------

# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1338371140 -3600
# Node ID 017b76385a4c77ec3fb9dd791b6c7d19d0be401c
# Parent  2fef99911c6f179297b47e24246810d92d08d348
xl: xl.h depends on geenrated file _paths.h

Fixes build error.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

diff -r 2fef99911c6f -r 017b76385a4c tools/libxl/Makefile
--- a/tools/libxl/Makefile	Wed May 30 10:33:55 2012 +0100
+++ b/tools/libxl/Makefile	Wed May 30 10:45:40 2012 +0100
@@ -120,6 +120,7 @@ libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
 libxl_internal.h: _libxl_types_internal.h _paths.h
 libxl_internal_json.h: _libxl_types_internal_json.h
+xl.h: _paths.h
 
 $(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
 $(LIBXL_OBJS): libxl_internal.h




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:48:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfVH-0000eM-HV; Wed, 30 May 2012 09:47:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfVF-0000e7-Uf
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:47:42 +0000
Received: from [85.158.143.99:2128] by server-1.bemta-4.messagelabs.com id
	33/1E-27869-DBCE5CF4; Wed, 30 May 2012 09:47:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338371259!19285715!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6140 invoked from network); 30 May 2012 09:47:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:47:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732542"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:47:38 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:47:38 +0100
Message-ID: <1338371257.31698.31.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 10:47:37 +0100
In-Reply-To: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
References: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Keir
	\(Xen.org\)" <keir@xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 09:13 +0100, xen.org wrote:
> branch xen-unstable
> xen branch xen-unstable
> job build-i386-oldkern
> test xen-build
> 
> Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg
> Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
> Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
> Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
> 
> *** Found and reproduced problem changeset ***
> 
>   Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
>   Bug introduced:  ccad7bed9163
>   Bug not present: eae6e5bb9079
> 
> 
>   changeset:   25404:ccad7bed9163
>   user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>   date:        Tue May 29 16:36:50 2012 +0100
>       
>       libxl: introduce libxl__alloc_vdev

This is probably a false positive due to the race with the missing
xl.h->_paths.h dependency. See "12988: regressions - FAIL" for details.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:48:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfVH-0000eM-HV; Wed, 30 May 2012 09:47:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZfVF-0000e7-Uf
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:47:42 +0000
Received: from [85.158.143.99:2128] by server-1.bemta-4.messagelabs.com id
	33/1E-27869-DBCE5CF4; Wed, 30 May 2012 09:47:41 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338371259!19285715!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6140 invoked from network); 30 May 2012 09:47:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:47:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732542"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:47:38 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 10:47:38 +0100
Message-ID: <1338371257.31698.31.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 10:47:37 +0100
In-Reply-To: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
References: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Keir
	\(Xen.org\)" <keir@xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 09:13 +0100, xen.org wrote:
> branch xen-unstable
> xen branch xen-unstable
> job build-i386-oldkern
> test xen-build
> 
> Tree: linux http://xenbits.xen.org/linux-2.6.18-xen.hg
> Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
> Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
> Tree: xen http://xenbits.xen.org/staging/xen-unstable.hg
> 
> *** Found and reproduced problem changeset ***
> 
>   Bug is in tree:  xen http://xenbits.xen.org/staging/xen-unstable.hg
>   Bug introduced:  ccad7bed9163
>   Bug not present: eae6e5bb9079
> 
> 
>   changeset:   25404:ccad7bed9163
>   user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>   date:        Tue May 29 16:36:50 2012 +0100
>       
>       libxl: introduce libxl__alloc_vdev

This is probably a false positive due to the race with the missing
xl.h->_paths.h dependency. See "12988: regressions - FAIL" for details.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:54:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:54:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfbW-0000wY-C7; Wed, 30 May 2012 09:54:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZfbV-0000wT-0s
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:54:09 +0000
Received: from [85.158.143.99:19025] by server-1.bemta-4.messagelabs.com id
	AF/80-27869-04EE5CF4; Wed, 30 May 2012 09:54:08 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338371646!20700392!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7293 invoked from network); 30 May 2012 09:54:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:54:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196872778"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 05:54:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 05:54:05 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZfbR-0004h8-9v;
	Wed, 30 May 2012 10:54:05 +0100
Message-ID: <4FC5EE3E.5080701@citrix.com>
Date: Wed, 30 May 2012 10:54:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-6-git-send-email-roger.pau@citrix.com>
	<20420.57093.469702.580339@mariner.uk.xensource.com>
In-Reply-To: <20420.57093.469702.580339@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 05/10] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v4 05/10] libxl: convert libxl_device_nic_add to an async operation"):
>> This patch converts libxl_device_nic_add to an ao operation that
>> waits for device backend to reach state XenbusStateInitWait and then
>> marks the operation as completed. This is not really useful now, but
>> will be used by latter patches that will launch hotplug scripts after
>> we reached the desired xenbus state.
>
> Thanks.  I'm afraid this is still tripping my repetition detector.
> See below.
>
>> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
>> index 6c9bbc2..9933cc2 100644
>> --- a/tools/libxl/libxl_device.c
>> +++ b/tools/libxl/libxl_device.c
>> @@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
>>       }
>>   }
>>
>> +void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
>> +                     libxl_domain_config *d_config,
>> +                     libxl__ao_device **devices,
>> +                     libxl__device_callback callback)
>> +{
>> +    AO_GC;
>> +    GCNEW_ARRAY(*devices, d_config->num_vifs);
>> +    libxl__ao_device *aodev = *devices;
>> +    int i;
>> +
>> +    for (i = 0; i<  d_config->num_vifs; i++) {
>> +        libxl__prepare_ao_device(&aodev[i], ao, devices);
>> +        aodev[i].callback = callback;
>> +        libxl__device_nic_add(egc, domid,&d_config->vifs[i],
>> +&aodev[i]);
>> +    }
>> +}
>
> The same comment applies as before about libxl__add_disks and the two
> loops.
>
>
> But, this is another copy of libxl__add_disks.  Perhaps you want a
> macro to generate these functions ?

Yes, a macro would be ok I think.

> In general this patch seems to contain an awful lot of very similar
> code to the previous one.  Eg domcreate_nic_connected is practically
> identical to domcreate_disk_connected.  And domcreate_attach_nick is
> practically identical to domcreate_attach_disk.
>
>
> Another option would be to make the types of libxl__device_FOO_add
> compatible (by replacing the actual config parameter with const void*)
> and then pass them as function pointers.
>
> Or you could even have a table
>     { offsetof(disks, libxl_domain_config), sizeof(libxl_device_disk),
>       libxl__device_disk_add },
>     { offsetof(vifs, libxl_domain_config), sizeof(libxl_device_vif),
>       libxl__device_nic_add },
>     ...
> which your domain creation logic could iterate over.  That way you
> would do away with domcreate_FOO_connected and you'd end up with
>
>     static void domcreate_device_connected(libxl__egc *egc,
>                                       libxl__ao_device *aodev)
>     {
>
>         tableentry = devicekindstable[dcs->currentdevicekind];
>
>         rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
>                                               dcs->num_devices);
>
>         if (rc>  0) return;
>         if (rc) {
>             LOGE(ERROR, "error connecting devices");
>             goto error_out;
>         }
>
>         dcs->currentdevicekind++;
>
>         if (!devicekindstable[dcs->currentdevicekind].add_function) {
>             domcreate_complete(egc, dcs, rc);
>         } else {
>             domcreate_attach_devices(egc, dcs);
>         }
>
> or something like it.

We can really iterate over this to add the devices, since we might need 
to launch the device model between connecting the disks and connecting 
the nics, I will try to find a nicer way to do this, I will try to come 
up with some macros to define this in a nicer way.

> Or something.  Anyway, can you try to find a way to avoid me having to
> review lots of nearly-identical code ?
>
>
> Thanks,
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:54:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:54:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfbW-0000wY-C7; Wed, 30 May 2012 09:54:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZfbV-0000wT-0s
	for xen-devel@lists.xen.org; Wed, 30 May 2012 09:54:09 +0000
Received: from [85.158.143.99:19025] by server-1.bemta-4.messagelabs.com id
	AF/80-27869-04EE5CF4; Wed, 30 May 2012 09:54:08 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338371646!20700392!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7293 invoked from network); 30 May 2012 09:54:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:54:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196872778"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 05:54:06 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 05:54:05 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZfbR-0004h8-9v;
	Wed, 30 May 2012 10:54:05 +0100
Message-ID: <4FC5EE3E.5080701@citrix.com>
Date: Wed, 30 May 2012 10:54:06 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-6-git-send-email-roger.pau@citrix.com>
	<20420.57093.469702.580339@mariner.uk.xensource.com>
In-Reply-To: <20420.57093.469702.580339@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 05/10] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v4 05/10] libxl: convert libxl_device_nic_add to an async operation"):
>> This patch converts libxl_device_nic_add to an ao operation that
>> waits for device backend to reach state XenbusStateInitWait and then
>> marks the operation as completed. This is not really useful now, but
>> will be used by latter patches that will launch hotplug scripts after
>> we reached the desired xenbus state.
>
> Thanks.  I'm afraid this is still tripping my repetition detector.
> See below.
>
>> diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
>> index 6c9bbc2..9933cc2 100644
>> --- a/tools/libxl/libxl_device.c
>> +++ b/tools/libxl/libxl_device.c
>> @@ -444,6 +444,24 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
>>       }
>>   }
>>
>> +void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
>> +                     libxl_domain_config *d_config,
>> +                     libxl__ao_device **devices,
>> +                     libxl__device_callback callback)
>> +{
>> +    AO_GC;
>> +    GCNEW_ARRAY(*devices, d_config->num_vifs);
>> +    libxl__ao_device *aodev = *devices;
>> +    int i;
>> +
>> +    for (i = 0; i<  d_config->num_vifs; i++) {
>> +        libxl__prepare_ao_device(&aodev[i], ao, devices);
>> +        aodev[i].callback = callback;
>> +        libxl__device_nic_add(egc, domid,&d_config->vifs[i],
>> +&aodev[i]);
>> +    }
>> +}
>
> The same comment applies as before about libxl__add_disks and the two
> loops.
>
>
> But, this is another copy of libxl__add_disks.  Perhaps you want a
> macro to generate these functions ?

Yes, a macro would be ok I think.

> In general this patch seems to contain an awful lot of very similar
> code to the previous one.  Eg domcreate_nic_connected is practically
> identical to domcreate_disk_connected.  And domcreate_attach_nick is
> practically identical to domcreate_attach_disk.
>
>
> Another option would be to make the types of libxl__device_FOO_add
> compatible (by replacing the actual config parameter with const void*)
> and then pass them as function pointers.
>
> Or you could even have a table
>     { offsetof(disks, libxl_domain_config), sizeof(libxl_device_disk),
>       libxl__device_disk_add },
>     { offsetof(vifs, libxl_domain_config), sizeof(libxl_device_vif),
>       libxl__device_nic_add },
>     ...
> which your domain creation logic could iterate over.  That way you
> would do away with domcreate_FOO_connected and you'd end up with
>
>     static void domcreate_device_connected(libxl__egc *egc,
>                                       libxl__ao_device *aodev)
>     {
>
>         tableentry = devicekindstable[dcs->currentdevicekind];
>
>         rc = libxl__ao_device_check_last(gc, aodev, dcs->devices,
>                                               dcs->num_devices);
>
>         if (rc>  0) return;
>         if (rc) {
>             LOGE(ERROR, "error connecting devices");
>             goto error_out;
>         }
>
>         dcs->currentdevicekind++;
>
>         if (!devicekindstable[dcs->currentdevicekind].add_function) {
>             domcreate_complete(egc, dcs, rc);
>         } else {
>             domcreate_attach_devices(egc, dcs);
>         }
>
> or something like it.

We can really iterate over this to add the devices, since we might need 
to launch the device model between connecting the disks and connecting 
the nics, I will try to find a nicer way to do this, I will try to come 
up with some macros to define this in a nicer way.

> Or something.  Anyway, can you try to find a way to avoid me having to
> review lots of nearly-identical code ?
>
>
> Thanks,
> Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:57:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:57:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfes-00015x-AI; Wed, 30 May 2012 09:57:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZfer-00015o-MT
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:57:37 +0000
Received: from [193.109.254.147:40182] by server-11.bemta-14.messagelabs.com
	id 31/63-01965-01FE5CF4; Wed, 30 May 2012 09:57:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338371856!4271105!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11759 invoked from network); 30 May 2012 09:57:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:57:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732836"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:57:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 10:57:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZfep-0001v2-Lz; Wed, 30 May 2012 09:57:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZfep-0002cT-Jh;
	Wed, 30 May 2012 10:57:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20421.61199.525262.572856@mariner.uk.xensource.com>
Date: Wed, 30 May 2012 10:57:35 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338371198.31698.30.camel@zakaz.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL"):
> xl: xl.h depends on geenrated file _paths.h

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 09:57:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 09:57:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfes-00015x-AI; Wed, 30 May 2012 09:57:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZfer-00015o-MT
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 09:57:37 +0000
Received: from [193.109.254.147:40182] by server-11.bemta-14.messagelabs.com
	id 31/63-01965-01FE5CF4; Wed, 30 May 2012 09:57:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338371856!4271105!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11759 invoked from network); 30 May 2012 09:57:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 09:57:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12732836"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:57:36 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 10:57:36 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZfep-0001v2-Lz; Wed, 30 May 2012 09:57:35 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZfep-0002cT-Jh;
	Wed, 30 May 2012 10:57:35 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20421.61199.525262.572856@mariner.uk.xensource.com>
Date: Wed, 30 May 2012 10:57:35 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338371198.31698.30.camel@zakaz.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL"):
> xl: xl.h depends on geenrated file _paths.h

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:06:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:06:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfmn-0001P8-E8; Wed, 30 May 2012 10:05:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZfml-0001P2-ET
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:05:47 +0000
Received: from [193.109.254.147:10557] by server-9.bemta-14.messagelabs.com id
	19/61-28098-AF0F5CF4; Wed, 30 May 2012 10:05:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338372343!6806166!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17081 invoked from network); 30 May 2012 10:05:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:05:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12733089"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 10:05:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 11:05:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZfmF-0001xt-J6; Wed, 30 May 2012 10:05:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZfmF-0002kZ-Hv;
	Wed, 30 May 2012 11:05:15 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20421.61659.540378.602849@mariner.uk.xensource.com>
Date: Wed, 30 May 2012 11:05:15 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338371257.31698.31.camel@zakaz.uk.xensource.com>
References: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
	<1338371257.31698.31.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Keir
	\(Xen.org\)" <keir@xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern"):
> On Wed, 2012-05-30 at 09:13 +0100, xen.org wrote:
> >   changeset:   25404:ccad7bed9163
> >   user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> >   date:        Tue May 29 16:36:50 2012 +0100
> >       
> >       libxl: introduce libxl__alloc_vdev
> 
> This is probably a false positive due to the race with the missing
> xl.h->_paths.h dependency. See "12988: regressions - FAIL" for details.

No, actually.  If you follow the link
  http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.build-i386-oldkern.xen-build.html
you can see the bisection graph with the tested revisions coloured
red/green.  

The bisector insists on 3 alternating passes/fails with the
before/after revisions before it will finger a changeset.  So it would
have to be a pretty reproduceable race, not a fluke.

If you look at one of the flights listed as `fail' for
`...,ccad7bed9163' - I looked at 12985 [1] - you'll see this:

  cc1: warnings being treated as errors
  libxl.c:1748: error: 'libxl__alloc_vdev' defined but not used
  make[3]: *** [libxl.o] Error 1

And indeed 25404:ccad7bed9163 introduces a static function which isn't
used.  I should have spotted this in review and asked Stefano to add
#ifdefs around it, pending introducing of the caller in the next
patch(es).

Anyway the dependency race is a bug too so I have committed your fix.
libxl tip seems to build for me with make -j4 now.

Ian.

[1]
There isn't a link to this from the bisection page because I'm not
sure how to get dot to do that.  But you can url-hack it by analogy
from any other flight:
  http://www.chiark.greenend.org.uk/~xensrcts/logs/12985/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:06:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:06:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfmn-0001P8-E8; Wed, 30 May 2012 10:05:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZfml-0001P2-ET
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:05:47 +0000
Received: from [193.109.254.147:10557] by server-9.bemta-14.messagelabs.com id
	19/61-28098-AF0F5CF4; Wed, 30 May 2012 10:05:46 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338372343!6806166!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17081 invoked from network); 30 May 2012 10:05:44 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-10.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:05:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12733089"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 10:05:15 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 11:05:15 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZfmF-0001xt-J6; Wed, 30 May 2012 10:05:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZfmF-0002kZ-Hv;
	Wed, 30 May 2012 11:05:15 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20421.61659.540378.602849@mariner.uk.xensource.com>
Date: Wed, 30 May 2012 11:05:15 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338371257.31698.31.camel@zakaz.uk.xensource.com>
References: <E1SZe2B-0004Kb-P0@woking.cam.xci-test.com>
	<1338371257.31698.31.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "Keir
	\(Xen.org\)" <keir@xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [xen-unstable bisection] complete build-i386-oldkern"):
> On Wed, 2012-05-30 at 09:13 +0100, xen.org wrote:
> >   changeset:   25404:ccad7bed9163
> >   user:        Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> >   date:        Tue May 29 16:36:50 2012 +0100
> >       
> >       libxl: introduce libxl__alloc_vdev
> 
> This is probably a false positive due to the race with the missing
> xl.h->_paths.h dependency. See "12988: regressions - FAIL" for details.

No, actually.  If you follow the link
  http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.xen-unstable.build-i386-oldkern.xen-build.html
you can see the bisection graph with the tested revisions coloured
red/green.  

The bisector insists on 3 alternating passes/fails with the
before/after revisions before it will finger a changeset.  So it would
have to be a pretty reproduceable race, not a fluke.

If you look at one of the flights listed as `fail' for
`...,ccad7bed9163' - I looked at 12985 [1] - you'll see this:

  cc1: warnings being treated as errors
  libxl.c:1748: error: 'libxl__alloc_vdev' defined but not used
  make[3]: *** [libxl.o] Error 1

And indeed 25404:ccad7bed9163 introduces a static function which isn't
used.  I should have spotted this in review and asked Stefano to add
#ifdefs around it, pending introducing of the caller in the next
patch(es).

Anyway the dependency race is a bug too so I have committed your fix.
libxl tip seems to build for me with make -j4 now.

Ian.

[1]
There isn't a link to this from the bisection page because I'm not
sure how to get dot to do that.  But you can url-hack it by analogy
from any other flight:
  http://www.chiark.greenend.org.uk/~xensrcts/logs/12985/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:06:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:06:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfnI-0001Qz-Re; Wed, 30 May 2012 10:06:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZfnG-0001Qn-N4
	for xen-devel@lists.xen.org; Wed, 30 May 2012 10:06:18 +0000
Received: from [85.158.143.35:24923] by server-3.bemta-4.messagelabs.com id
	78/A3-04252-A11F5CF4; Wed, 30 May 2012 10:06:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338372377!15398653!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27740 invoked from network); 30 May 2012 10:06:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:06:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12733117"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 10:06:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 11:06:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZfnE-0001yM-NU; Wed, 30 May 2012 10:06:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZfnE-0002kr-Mf;
	Wed, 30 May 2012 11:06:16 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20421.61720.683259.170827@mariner.uk.xensource.com>
Date: Wed, 30 May 2012 11:06:16 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FC5EE3E.5080701@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-6-git-send-email-roger.pau@citrix.com>
	<20420.57093.469702.580339@mariner.uk.xensource.com>
	<4FC5EE3E.5080701@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 05/10] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v4 05/10] libxl: convert libxl_device_nic_add to an async operation"):
> Ian Jackson wrote:
> > Or you could even have a table
...
> 
> We can really iterate over this to add the devices, since we might need 
> to launch the device model between connecting the disks and connecting 
> the nics, I will try to find a nicer way to do this, I will try to come 
> up with some macros to define this in a nicer way.

I guess you mean `we can't really'.  OK, thanks.  Let me know if you
need any help/suggestions.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:06:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:06:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfnI-0001Qz-Re; Wed, 30 May 2012 10:06:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZfnG-0001Qn-N4
	for xen-devel@lists.xen.org; Wed, 30 May 2012 10:06:18 +0000
Received: from [85.158.143.35:24923] by server-3.bemta-4.messagelabs.com id
	78/A3-04252-A11F5CF4; Wed, 30 May 2012 10:06:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338372377!15398653!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27740 invoked from network); 30 May 2012 10:06:17 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:06:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12733117"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 10:06:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 11:06:17 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZfnE-0001yM-NU; Wed, 30 May 2012 10:06:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZfnE-0002kr-Mf;
	Wed, 30 May 2012 11:06:16 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20421.61720.683259.170827@mariner.uk.xensource.com>
Date: Wed, 30 May 2012 11:06:16 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FC5EE3E.5080701@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-6-git-send-email-roger.pau@citrix.com>
	<20420.57093.469702.580339@mariner.uk.xensource.com>
	<4FC5EE3E.5080701@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 05/10] libxl: convert
 libxl_device_nic_add to an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v4 05/10] libxl: convert libxl_device_nic_add to an async operation"):
> Ian Jackson wrote:
> > Or you could even have a table
...
> 
> We can really iterate over this to add the devices, since we might need 
> to launch the device model between connecting the disks and connecting 
> the nics, I will try to find a nicer way to do this, I will try to come 
> up with some macros to define this in a nicer way.

I guess you mean `we can't really'.  OK, thanks.  Let me know if you
need any help/suggestions.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:14:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfuy-0001gz-QV; Wed, 30 May 2012 10:14:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1SZfux-0001gu-93
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:14:15 +0000
Received: from [85.158.143.99:55108] by server-2.bemta-4.messagelabs.com id
	A8/74-11595-6F2F5CF4; Wed, 30 May 2012 10:14:14 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338372851!20705482!1
X-Originating-IP: [66.111.4.27]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjcgPT4gMTY3NzA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27156 invoked from network); 30 May 2012 10:14:13 -0000
Received: from out3-smtp.messagingengine.com (HELO
	out3-smtp.messagingengine.com) (66.111.4.27)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 10:14:13 -0000
Received: from compute5.internal (compute5.nyi.mail.srv.osa [10.202.2.45])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id E5AAA20B24
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 06:14:10 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160])
	by compute5.internal (MEProxy); Wed, 30 May 2012 06:14:10 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:content-type; s=mesmtp; bh=YoMtyVcCDvgJo43jRh0K1V9dj
	90=; b=HaoFOseXFbRaKOwfeuLH153u2V6k07CdzREzCd5DBWl3Tv8VanXfyG22a
	dFD3biajqK/F4CSuqqmhneJtj5hYy8izRW3/BDMG8WO3K6hk465WHRWxtFpJJLWQ
	JovD53kTDaucy8yzei39l55BxooahskJ10r/NiGBe1Woj0cBno=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:content-type; s=smtpout; bh=YoMtyVcCDvgJo43jRh0K1V9dj90
	=; b=eHbfQ39DoDgFwciVS6b/uFLwQDSwE2XKfAAF1wvZEasU7UUJ6TwJ0q981oK
	iXVQwcKfomrdsTLk6DYKg49uSJ7SPZrwJ47GM0SALrR02+ylBBdCFqprVev/iEg/
	c98thwUc9E+AZirVPKJVzIYlpm1Dp0U3goAq8bd1ViiL7YqY=
X-Sasl-enc: mNnHdCym++gzZT12iRobhAIabL04p7BszNbJ2n7ZpdTb 1338372850
Received: from [10.137.2.24] (unknown [83.28.89.79])
	by mail.messagingengine.com (Postfix) with ESMTPA id 515EB8E01DF;
	Wed, 30 May 2012 06:14:10 -0400 (EDT)
Message-ID: <4FC5F2EF.7000004@invisiblethingslab.com>
Date: Wed, 30 May 2012 12:14:07 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
X-Enigmail-Version: 1.4.1
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and 3.4
	dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5675379798603481970=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============5675379798603481970==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enigDBB596F6F061BA089EAE41F6"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigDBB596F6F061BA089EAE41F6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello,

I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
and have noticed that those kernel noticeably downgrade performance of
(at least) Intel GPUs. This is easily noticeable even on such trivial
tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
performance on 3.3 and 3.4 kernels is in stark contrast with what I see
on 3.2.7 Dom0 kernel, where graphics works just great...

In order to make sure that this is not caused by power management set
too strictly, I played with xenpm and made sure to set the following:
1) xenpm set-scaling-governor performance
2) xenpm set-max-cstate 0

I have verified then that my processor: 1) keeps staying in P0 state
(so, max frequency), and 2) keeps staying in C0 state.

Those setting didn't change anything regarding the poor graphics
performance, though.

Any ideas what else I could test to find out the cause of this?

Thanks,
joanna.


--------------enigDBB596F6F061BA089EAE41F6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPxfLvAAoJEDaIqHeRBUM01p4H/RMSZZScGV0rOJZEFd180ZHq
88t3JW5YgkKHue5BIMm5pVzBL75a2u/Xkaog035QehP4fVQ5Eyr/Cs6UpdGX/DGL
J/w3JOVDNCvJCHNyO4xTAxbK1gLIH7B8VoqUehDZ3WlEsztRlilDv9j+Zm7JDLWI
15uv+KQGCHv1CKGfpoA7RDokOD6uNRm6L3+cmVxZDC4EGZdDHNz59qN2a1buH/xY
4BmrT2Y264JF8VescrEg7S3iYNphuIxCYrvXXzq2Wjz+9bnyHOGyV3NFeC/ddoL1
vHGYmb6WvY+BfzKPZo8CaDN6OKXi5K9P0IDQlrhGERruTXTmYoKXrcehFxoxM5o=
=4DEe
-----END PGP SIGNATURE-----

--------------enigDBB596F6F061BA089EAE41F6--


--===============5675379798603481970==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5675379798603481970==--


From xen-devel-bounces@lists.xen.org Wed May 30 10:14:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZfuy-0001gz-QV; Wed, 30 May 2012 10:14:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1SZfux-0001gu-93
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:14:15 +0000
Received: from [85.158.143.99:55108] by server-2.bemta-4.messagelabs.com id
	A8/74-11595-6F2F5CF4; Wed, 30 May 2012 10:14:14 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338372851!20705482!1
X-Originating-IP: [66.111.4.27]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjcgPT4gMTY3NzA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27156 invoked from network); 30 May 2012 10:14:13 -0000
Received: from out3-smtp.messagingengine.com (HELO
	out3-smtp.messagingengine.com) (66.111.4.27)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 10:14:13 -0000
Received: from compute5.internal (compute5.nyi.mail.srv.osa [10.202.2.45])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id E5AAA20B24
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 06:14:10 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160])
	by compute5.internal (MEProxy); Wed, 30 May 2012 06:14:10 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:content-type; s=mesmtp; bh=YoMtyVcCDvgJo43jRh0K1V9dj
	90=; b=HaoFOseXFbRaKOwfeuLH153u2V6k07CdzREzCd5DBWl3Tv8VanXfyG22a
	dFD3biajqK/F4CSuqqmhneJtj5hYy8izRW3/BDMG8WO3K6hk465WHRWxtFpJJLWQ
	JovD53kTDaucy8yzei39l55BxooahskJ10r/NiGBe1Woj0cBno=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:content-type; s=smtpout; bh=YoMtyVcCDvgJo43jRh0K1V9dj90
	=; b=eHbfQ39DoDgFwciVS6b/uFLwQDSwE2XKfAAF1wvZEasU7UUJ6TwJ0q981oK
	iXVQwcKfomrdsTLk6DYKg49uSJ7SPZrwJ47GM0SALrR02+ylBBdCFqprVev/iEg/
	c98thwUc9E+AZirVPKJVzIYlpm1Dp0U3goAq8bd1ViiL7YqY=
X-Sasl-enc: mNnHdCym++gzZT12iRobhAIabL04p7BszNbJ2n7ZpdTb 1338372850
Received: from [10.137.2.24] (unknown [83.28.89.79])
	by mail.messagingengine.com (Postfix) with ESMTPA id 515EB8E01DF;
	Wed, 30 May 2012 06:14:10 -0400 (EDT)
Message-ID: <4FC5F2EF.7000004@invisiblethingslab.com>
Date: Wed, 30 May 2012 12:14:07 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
X-Enigmail-Version: 1.4.1
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and 3.4
	dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5675379798603481970=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============5675379798603481970==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enigDBB596F6F061BA089EAE41F6"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigDBB596F6F061BA089EAE41F6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello,

I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
and have noticed that those kernel noticeably downgrade performance of
(at least) Intel GPUs. This is easily noticeable even on such trivial
tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
performance on 3.3 and 3.4 kernels is in stark contrast with what I see
on 3.2.7 Dom0 kernel, where graphics works just great...

In order to make sure that this is not caused by power management set
too strictly, I played with xenpm and made sure to set the following:
1) xenpm set-scaling-governor performance
2) xenpm set-max-cstate 0

I have verified then that my processor: 1) keeps staying in P0 state
(so, max frequency), and 2) keeps staying in C0 state.

Those setting didn't change anything regarding the poor graphics
performance, though.

Any ideas what else I could test to find out the cause of this?

Thanks,
joanna.


--------------enigDBB596F6F061BA089EAE41F6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPxfLvAAoJEDaIqHeRBUM01p4H/RMSZZScGV0rOJZEFd180ZHq
88t3JW5YgkKHue5BIMm5pVzBL75a2u/Xkaog035QehP4fVQ5Eyr/Cs6UpdGX/DGL
J/w3JOVDNCvJCHNyO4xTAxbK1gLIH7B8VoqUehDZ3WlEsztRlilDv9j+Zm7JDLWI
15uv+KQGCHv1CKGfpoA7RDokOD6uNRm6L3+cmVxZDC4EGZdDHNz59qN2a1buH/xY
4BmrT2Y264JF8VescrEg7S3iYNphuIxCYrvXXzq2Wjz+9bnyHOGyV3NFeC/ddoL1
vHGYmb6WvY+BfzKPZo8CaDN6OKXi5K9P0IDQlrhGERruTXTmYoKXrcehFxoxM5o=
=4DEe
-----END PGP SIGNATURE-----

--------------enigDBB596F6F061BA089EAE41F6--


--===============5675379798603481970==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5675379798603481970==--


From xen-devel-bounces@lists.xen.org Wed May 30 10:22:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:22:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZg2u-0001px-QT; Wed, 30 May 2012 10:22:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SZg2t-0001ps-J9
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:22:27 +0000
Received: from [85.158.143.35:56255] by server-3.bemta-4.messagelabs.com id
	74/15-04252-2E4F5CF4; Wed, 30 May 2012 10:22:26 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338373343!16689039!1
X-Originating-IP: [209.85.161.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3499 invoked from network); 30 May 2012 10:22:25 -0000
Received: from mail-gg0-f171.google.com (HELO mail-gg0-f171.google.com)
	(209.85.161.171)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:22:25 -0000
Received: by ggmi1 with SMTP id i1so4481215ggm.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 03:22:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=Icwo9G/fNba/5UwW/3yvZqGVZnZQl/Wr/VNZO9AoB34=;
	b=IanMIc7K3SKZyeaZOD/OR28Qo7KYMbXeZrUIQJIVaSH89pvr9brTwbjspkIINBM6xJ
	iZyPO0ZWAywL+B+rXikXGcmksAednLpXT308hk8AxdyjP1PlmYMhUQg1EjuRoB1hpBCi
	5u7MZ3k3xdsqcxQQ10KAPHjuJW8mpxfsW1eM9CIRnhniJMJEDMo9CQSiraukg2VGPfk8
	4o8TK1ODOJPM5InOOR6XeVWpYBMktDOLiYG8uXrguyBts2gUwt8ZyKkt3/M9s0vtAaBP
	b7h1GJSKoyQC/39HEr7y85ULNVXxcH3epK4bhNeok+mJPoOKLy0dft4Elyn5/2w/VwfG
	KpdA==
MIME-Version: 1.0
Received: by 10.60.7.4 with SMTP id f4mr4095195oea.36.1338373343280; Wed, 30
	May 2012 03:22:23 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 30 May 2012 03:22:22 -0700 (PDT)
Date: Wed, 30 May 2012 18:22:22 +0800
Message-ID: <CAAh7U5PPFxZZO=LXyK+pPrOZ90PFDcjuUrKg24aZeh9pkQL6BA@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: "Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Content-Type: multipart/mixed; boundary=e89a8fb1f0d8b3fe6004c13e538b
Cc: "ian.jackson" <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH QXL 1/2] libxl:refactor the code of stdvga
	option support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--e89a8fb1f0d8b3fe6004c13e538b
Content-Type: text/plain; charset=ISO-8859-1

Hi Ian,

Sorry for late reply.
I agree most of your review suggestion on this patch in my last send,
but  nothing has been modified yet.

I want to send all the two patches supporting qxl first.
Then I will send the second version based on suggestion from this list together.

---------------------
refactor the code of stdvga option support.

Be ready to add and describe new vga interface

Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>

diff -r 592d15bd4d5e tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_create.c	Mon May 28 16:10:02 2012 +0800
@@ -189,7 +189,6 @@ int libxl__domain_build_info_setdefault(
             if (!b_info->u.hvm.boot) return ERROR_NOMEM;
         }

-        libxl_defbool_setdefault(&b_info->u.hvm.stdvga, false);
         libxl_defbool_setdefault(&b_info->u.hvm.vnc.enable, true);
         if (libxl_defbool_val(b_info->u.hvm.vnc.enable)) {
             libxl_defbool_setdefault(&b_info->u.hvm.vnc.findunused, true);
diff -r 592d15bd4d5e tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Mon May 28 16:10:02 2012 +0800
@@ -175,8 +175,13 @@ static char ** libxl__build_device_model
                                    libxl__sizekb_to_mb(b_info->video_memkb)),
                     NULL);
         }
-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
+
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
             flexarray_append(dm_args, "-std-vga");
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
@@ -418,8 +423,12 @@ static char ** libxl__build_device_model
             flexarray_append(dm_args, spiceoptions);
         }

-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
-                flexarray_vappend(dm_args, "-vga", "std", NULL);
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
+            flexarray_vappend(dm_args, "-vga", "std", NULL);
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Mon May 28 16:10:02 2012 +0800
@@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
     (4, "watchdog"),
     ])

+libxl_vga_interface_type = Enumeration("vga_interface_type", [
+    (0, "DEFAULT"),
+    (1, "STD"),
+    ])
+
 #
 # Complex libxl types
 #
+
+libxl_vga_interface_info = Struct("vga_interface_info", [
+    ("type",    libxl_vga_interface_type),
+    ("vramkb",  MemKB),
+    ])
+
 libxl_vnc_info = Struct("vnc_info", [
     ("enable",        libxl_defbool),
     # "address:port" that should be listened on
@@ -286,7 +297,7 @@ libxl_domain_build_info = Struct("domain
                                        ("nested_hvm",       libxl_defbool),
                                        ("incr_generationid",libxl_defbool),
                                        ("nographic",        libxl_defbool),
-                                       ("stdvga",           libxl_defbool),
+                                       ("vga",
libxl_vga_interface_info),
                                        ("vnc",              libxl_vnc_info),
                                        # keyboard layout, default is
en-us keyboard
                                        ("keymap",           string),
diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 28 16:10:02 2012 +0800
@@ -1256,7 +1256,12 @@ skip_vfb:
 #undef parse_extra_args

     if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.stdvga, 0);
+        libxl_defbool vga;
+        b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_DEFAULT;
+        if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
+            if (libxl_defbool_val(vga))
+                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
+
         xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
         xlu_cfg_replace_string (config, "vnclisten",
                                 &b_info->u.hvm.vnc.listen, 0);
diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Mon May 28 16:10:02 2012 +0800
@@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
                libxl_defbool_to_string(b_info->u.hvm.nested_hvm));
         printf("\t\t\t(no_incr_generationid %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.incr_generationid));
-        printf("\t\t\t(stdvga %s)\n",
-               libxl_defbool_to_string(b_info->u.hvm.stdvga));
+        libxl_defbool stdvga;
+        libxl_defbool_set(&stdvga,
+                   b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD);
+        printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(stdvga));
         printf("\t\t\t(vnc %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vnc.enable));
         printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.listen);

-- 
Zhou Peng

--e89a8fb1f0d8b3fe6004c13e538b
Content-Type: application/octet-stream; 
	name="spice.tools.libxl.stdvga.refactor.diff"
Content-Disposition: attachment; 
	filename="spice.tools.libxl.stdvga.refactor.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2u8wdzq0

cmVmYWN0b3IgdGhlIGNvZGUgb2Ygc3RkdmdhIG9wdGlvbiBzdXBwb3J0LgoKQmUgcmVhZHkgdG8g
YWRkIGFuZCBkZXNjcmliZSBuZXcgdmdhIGludGVyZmFjZQoKU2lnbmVkLW9mZi1ieTogWmhvdSBQ
ZW5nIDxhaWx2cGVuZzI1QGdtYWlsLmNvbT4KCmRpZmYgLXIgNTkyZDE1YmQ0ZDVlIHRvb2xzL2xp
YnhsL2xpYnhsX2NyZWF0ZS5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCUZyaSBN
YXkgMTggMTY6MTk6MjEgMjAxMiArMDEwMAorKysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUu
YwlNb24gTWF5IDI4IDE2OjEwOjAyIDIwMTIgKzA4MDAKQEAgLTE4OSw3ICsxODksNiBAQCBpbnQg
bGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQoCiAgICAgICAgICAgICBpZiAoIWJf
aW5mby0+dS5odm0uYm9vdCkgcmV0dXJuIEVSUk9SX05PTUVNOwogICAgICAgICB9CiAKLSAgICAg
ICAgbGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZiX2luZm8tPnUuaHZtLnN0ZHZnYSwgZmFsc2Up
OwogICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+dS5odm0udm5jLmVu
YWJsZSwgdHJ1ZSk7CiAgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChiX2luZm8tPnUuaHZt
LnZuYy5lbmFibGUpKSB7CiAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJf
aW5mby0+dS5odm0udm5jLmZpbmR1bnVzZWQsIHRydWUpOwpkaWZmIC1yIDU5MmQxNWJkNGQ1ZSB0
b29scy9saWJ4bC9saWJ4bF9kbS5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJRnJpIE1h
eSAxOCAxNjoxOToyMSAyMDEyICswMTAwCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJTW9u
IE1heSAyOCAxNjoxMDowMiAyMDEyICswODAwCkBAIC0xNzUsOCArMTc1LDEzIEBAIHN0YXRpYyBj
aGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGlieGxfX3NpemVrYl90b19tYihiX2luZm8tPnZpZGVvX21lbWtiKSksCiAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChsaWJ4bF9k
ZWZib29sX3ZhbChiX2luZm8tPnUuaHZtLnN0ZHZnYSkpIHsKKworICAgICAgICBzd2l0Y2ggKGJf
aW5mby0+dS5odm0udmdhLnR5cGUpIHsKKyAgICAgICAgY2FzZSBMSUJYTF9WR0FfSU5URVJGQUNF
X1RZUEVfU1REOgogICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLXN0ZC12
Z2EiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExJQlhMX1ZHQV9JTlRFUkZB
Q0VfVFlQRV9ERUZBVUxUOgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAoYl9pbmZvLT51Lmh2bS5ib290KSB7CkBAIC00MTgsOCArNDIzLDEyIEBAIHN0YXRpYyBj
aGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAgICAgICAgICAgIGZsZXhhcnJheV9h
cHBlbmQoZG1fYXJncywgc3BpY2VvcHRpb25zKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChs
aWJ4bF9kZWZib29sX3ZhbChiX2luZm8tPnUuaHZtLnN0ZHZnYSkpIHsKLSAgICAgICAgICAgICAg
ICBmbGV4YXJyYXlfdmFwcGVuZChkbV9hcmdzLCAiLXZnYSIsICJzdGQiLCBOVUxMKTsKKyAgICAg
ICAgc3dpdGNoIChiX2luZm8tPnUuaHZtLnZnYS50eXBlKSB7CisgICAgICAgIGNhc2UgTElCWExf
VkdBX0lOVEVSRkFDRV9UWVBFX1NURDoKKyAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRt
X2FyZ3MsICItdmdhIiwgInN0ZCIsIE5VTEwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgTElCWExfVkdBX0lOVEVSRkFDRV9UWVBFX0RFRkFVTFQ6CisgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChiX2luZm8tPnUuaHZtLmJvb3QpIHsKZGlmZiAt
ciA1OTJkMTViZDRkNWUgdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCi0tLSBhL3Rvb2xzL2xp
YnhsL2xpYnhsX3R5cGVzLmlkbAlGcmkgTWF5IDE4IDE2OjE5OjIxIDIwMTIgKzAxMDAKKysrIGIv
dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCU1vbiBNYXkgMjggMTY6MTA6MDIgMjAxMiArMDgw
MApAQCAtMTI1LDkgKzEyNSwyMCBAQCBsaWJ4bF9zaHV0ZG93bl9yZWFzb24gPSBFbnVtZXJhdGlv
bigic2h1CiAgICAgKDQsICJ3YXRjaGRvZyIpLAogICAgIF0pCiAKK2xpYnhsX3ZnYV9pbnRlcmZh
Y2VfdHlwZSA9IEVudW1lcmF0aW9uKCJ2Z2FfaW50ZXJmYWNlX3R5cGUiLCBbCisgICAgKDAsICJE
RUZBVUxUIiksCisgICAgKDEsICJTVEQiKSwKKyAgICBdKQorCiAjCiAjIENvbXBsZXggbGlieGwg
dHlwZXMKICMKKworbGlieGxfdmdhX2ludGVyZmFjZV9pbmZvID0gU3RydWN0KCJ2Z2FfaW50ZXJm
YWNlX2luZm8iLCBbCisgICAgKCJ0eXBlIiwgICAgbGlieGxfdmdhX2ludGVyZmFjZV90eXBlKSwK
KyAgICAoInZyYW1rYiIsICBNZW1LQiksCisgICAgXSkKKwogbGlieGxfdm5jX2luZm8gPSBTdHJ1
Y3QoInZuY19pbmZvIiwgWwogICAgICgiZW5hYmxlIiwgICAgICAgIGxpYnhsX2RlZmJvb2wpLAog
ICAgICMgImFkZHJlc3M6cG9ydCIgdGhhdCBzaG91bGQgYmUgbGlzdGVuZWQgb24KQEAgLTI4Niw3
ICsyOTcsNyBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWluCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIm5lc3RlZF9odm0iLCAgICAgICBs
aWJ4bF9kZWZib29sKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi
aW5jcl9nZW5lcmF0aW9uaWQiLGxpYnhsX2RlZmJvb2wpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKCJub2dyYXBoaWMiLCAgICAgICAgbGlieGxfZGVmYm9vbCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInN0ZHZnYSIsICAgICAgICAg
ICBsaWJ4bF9kZWZib29sKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICgidmdhIiwgICAgICAgICAgICAgIGxpYnhsX3ZnYV9pbnRlcmZhY2VfaW5mbyksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInZuYyIsICAgICAgICAgICAgICBsaWJ4
bF92bmNfaW5mbyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGtl
eWJvYXJkIGxheW91dCwgZGVmYXVsdCBpcyBlbi11cyBrZXlib2FyZAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKCJrZXltYXAiLCAgICAgICAgICAgc3RyaW5nKSwKZGlm
ZiAtciA1OTJkMTViZDRkNWUgdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCi0tLSBhL3Rvb2xzL2xp
YnhsL3hsX2NtZGltcGwuYwlGcmkgTWF5IDE4IDE2OjE5OjIxIDIwMTIgKzAxMDAKKysrIGIvdG9v
bHMvbGlieGwveGxfY21kaW1wbC5jCU1vbiBNYXkgMjggMTY6MTA6MDIgMjAxMiArMDgwMApAQCAt
MTI1Niw3ICsxMjU2LDEyIEBAIHNraXBfdmZiOgogI3VuZGVmIHBhcnNlX2V4dHJhX2FyZ3MKIAog
ICAgIGlmIChjX2luZm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfSFZNKSB7Ci0gICAgICAg
IHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAic3RkdmdhIiwgJmJfaW5mby0+dS5odm0uc3Rk
dmdhLCAwKTsKKyAgICAgICAgbGlieGxfZGVmYm9vbCB2Z2E7CisgICAgICAgIGJfaW5mby0+dS5o
dm0udmdhLnR5cGUgPSBMSUJYTF9WR0FfSU5URVJGQUNFX1RZUEVfREVGQVVMVDsKKyAgICAgICAg
aWYgKCF4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgInN0ZHZnYSIsICZ2Z2EsIDApKQorICAg
ICAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKHZnYSkpCisgICAgICAgICAgICAgICAgYl9p
bmZvLT51Lmh2bS52Z2EudHlwZSA9IExJQlhMX1ZHQV9JTlRFUkZBQ0VfVFlQRV9TVEQ7CisKICAg
ICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJ2bmMiLCAmYl9pbmZvLT51Lmh2bS52
bmMuZW5hYmxlLCAwKTsKICAgICAgICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmlnLCAi
dm5jbGlzdGVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJfaW5mby0+dS5o
dm0udm5jLmxpc3RlbiwgMCk7CmRpZmYgLXIgNTkyZDE1YmQ0ZDVlIHRvb2xzL2xpYnhsL3hsX3N4
cC5jCi0tLSBhL3Rvb2xzL2xpYnhsL3hsX3N4cC5jCUZyaSBNYXkgMTggMTY6MTk6MjEgMjAxMiAr
MDEwMAorKysgYi90b29scy9saWJ4bC94bF9zeHAuYwlNb24gTWF5IDI4IDE2OjEwOjAyIDIwMTIg
KzA4MDAKQEAgLTExMCw4ICsxMTAsMTAgQEAgdm9pZCBwcmludGZfaW5mb19zZXhwKGludCBkb21p
ZCwgbGlieGxfZAogICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJpbmcoYl9pbmZv
LT51Lmh2bS5uZXN0ZWRfaHZtKSk7CiAgICAgICAgIHByaW50ZigiXHRcdFx0KG5vX2luY3JfZ2Vu
ZXJhdGlvbmlkICVzKVxuIiwKICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5n
KGJfaW5mby0+dS5odm0uaW5jcl9nZW5lcmF0aW9uaWQpKTsKLSAgICAgICAgcHJpbnRmKCJcdFx0
XHQoc3RkdmdhICVzKVxuIiwKLSAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5n
KGJfaW5mby0+dS5odm0uc3RkdmdhKSk7CisgICAgICAgIGxpYnhsX2RlZmJvb2wgc3RkdmdhOwor
ICAgICAgICBsaWJ4bF9kZWZib29sX3NldCgmc3RkdmdhLAorICAgICAgICAgICAgICAgICAgIGJf
aW5mby0+dS5odm0udmdhLnR5cGUgPT0gTElCWExfVkdBX0lOVEVSRkFDRV9UWVBFX1NURCk7Cisg
ICAgICAgIHByaW50ZigiXHRcdFx0KHN0ZHZnYSAlcylcbiIsIGxpYnhsX2RlZmJvb2xfdG9fc3Ry
aW5nKHN0ZHZnYSkpOwogICAgICAgICBwcmludGYoIlx0XHRcdCh2bmMgJXMpXG4iLAogICAgICAg
ICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJpbmcoYl9pbmZvLT51Lmh2bS52bmMuZW5hYmxl
KSk7CiAgICAgICAgIHByaW50ZigiXHRcdFx0KHZuY2xpc3RlbiAlcylcbiIsIGJfaW5mby0+dS5o
dm0udm5jLmxpc3Rlbik7Cg==
--e89a8fb1f0d8b3fe6004c13e538b
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--e89a8fb1f0d8b3fe6004c13e538b--


From xen-devel-bounces@lists.xen.org Wed May 30 10:22:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:22:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZg2u-0001px-QT; Wed, 30 May 2012 10:22:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SZg2t-0001ps-J9
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:22:27 +0000
Received: from [85.158.143.35:56255] by server-3.bemta-4.messagelabs.com id
	74/15-04252-2E4F5CF4; Wed, 30 May 2012 10:22:26 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338373343!16689039!1
X-Originating-IP: [209.85.161.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3499 invoked from network); 30 May 2012 10:22:25 -0000
Received: from mail-gg0-f171.google.com (HELO mail-gg0-f171.google.com)
	(209.85.161.171)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:22:25 -0000
Received: by ggmi1 with SMTP id i1so4481215ggm.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 03:22:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=Icwo9G/fNba/5UwW/3yvZqGVZnZQl/Wr/VNZO9AoB34=;
	b=IanMIc7K3SKZyeaZOD/OR28Qo7KYMbXeZrUIQJIVaSH89pvr9brTwbjspkIINBM6xJ
	iZyPO0ZWAywL+B+rXikXGcmksAednLpXT308hk8AxdyjP1PlmYMhUQg1EjuRoB1hpBCi
	5u7MZ3k3xdsqcxQQ10KAPHjuJW8mpxfsW1eM9CIRnhniJMJEDMo9CQSiraukg2VGPfk8
	4o8TK1ODOJPM5InOOR6XeVWpYBMktDOLiYG8uXrguyBts2gUwt8ZyKkt3/M9s0vtAaBP
	b7h1GJSKoyQC/39HEr7y85ULNVXxcH3epK4bhNeok+mJPoOKLy0dft4Elyn5/2w/VwfG
	KpdA==
MIME-Version: 1.0
Received: by 10.60.7.4 with SMTP id f4mr4095195oea.36.1338373343280; Wed, 30
	May 2012 03:22:23 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 30 May 2012 03:22:22 -0700 (PDT)
Date: Wed, 30 May 2012 18:22:22 +0800
Message-ID: <CAAh7U5PPFxZZO=LXyK+pPrOZ90PFDcjuUrKg24aZeh9pkQL6BA@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: "Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Content-Type: multipart/mixed; boundary=e89a8fb1f0d8b3fe6004c13e538b
Cc: "ian.jackson" <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH QXL 1/2] libxl:refactor the code of stdvga
	option support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--e89a8fb1f0d8b3fe6004c13e538b
Content-Type: text/plain; charset=ISO-8859-1

Hi Ian,

Sorry for late reply.
I agree most of your review suggestion on this patch in my last send,
but  nothing has been modified yet.

I want to send all the two patches supporting qxl first.
Then I will send the second version based on suggestion from this list together.

---------------------
refactor the code of stdvga option support.

Be ready to add and describe new vga interface

Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>

diff -r 592d15bd4d5e tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_create.c	Mon May 28 16:10:02 2012 +0800
@@ -189,7 +189,6 @@ int libxl__domain_build_info_setdefault(
             if (!b_info->u.hvm.boot) return ERROR_NOMEM;
         }

-        libxl_defbool_setdefault(&b_info->u.hvm.stdvga, false);
         libxl_defbool_setdefault(&b_info->u.hvm.vnc.enable, true);
         if (libxl_defbool_val(b_info->u.hvm.vnc.enable)) {
             libxl_defbool_setdefault(&b_info->u.hvm.vnc.findunused, true);
diff -r 592d15bd4d5e tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_dm.c	Mon May 28 16:10:02 2012 +0800
@@ -175,8 +175,13 @@ static char ** libxl__build_device_model
                                    libxl__sizekb_to_mb(b_info->video_memkb)),
                     NULL);
         }
-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
+
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
             flexarray_append(dm_args, "-std-vga");
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
@@ -418,8 +423,12 @@ static char ** libxl__build_device_model
             flexarray_append(dm_args, spiceoptions);
         }

-        if (libxl_defbool_val(b_info->u.hvm.stdvga)) {
-                flexarray_vappend(dm_args, "-vga", "std", NULL);
+        switch (b_info->u.hvm.vga.type) {
+        case LIBXL_VGA_INTERFACE_TYPE_STD:
+            flexarray_vappend(dm_args, "-vga", "std", NULL);
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
         }

         if (b_info->u.hvm.boot) {
diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/libxl_types.idl	Mon May 28 16:10:02 2012 +0800
@@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
     (4, "watchdog"),
     ])

+libxl_vga_interface_type = Enumeration("vga_interface_type", [
+    (0, "DEFAULT"),
+    (1, "STD"),
+    ])
+
 #
 # Complex libxl types
 #
+
+libxl_vga_interface_info = Struct("vga_interface_info", [
+    ("type",    libxl_vga_interface_type),
+    ("vramkb",  MemKB),
+    ])
+
 libxl_vnc_info = Struct("vnc_info", [
     ("enable",        libxl_defbool),
     # "address:port" that should be listened on
@@ -286,7 +297,7 @@ libxl_domain_build_info = Struct("domain
                                        ("nested_hvm",       libxl_defbool),
                                        ("incr_generationid",libxl_defbool),
                                        ("nographic",        libxl_defbool),
-                                       ("stdvga",           libxl_defbool),
+                                       ("vga",
libxl_vga_interface_info),
                                        ("vnc",              libxl_vnc_info),
                                        # keyboard layout, default is
en-us keyboard
                                        ("keymap",           string),
diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Mon May 28 16:10:02 2012 +0800
@@ -1256,7 +1256,12 @@ skip_vfb:
 #undef parse_extra_args

     if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.stdvga, 0);
+        libxl_defbool vga;
+        b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_DEFAULT;
+        if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
+            if (libxl_defbool_val(vga))
+                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
+
         xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
         xlu_cfg_replace_string (config, "vnclisten",
                                 &b_info->u.hvm.vnc.listen, 0);
diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c	Fri May 18 16:19:21 2012 +0100
+++ b/tools/libxl/xl_sxp.c	Mon May 28 16:10:02 2012 +0800
@@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
                libxl_defbool_to_string(b_info->u.hvm.nested_hvm));
         printf("\t\t\t(no_incr_generationid %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.incr_generationid));
-        printf("\t\t\t(stdvga %s)\n",
-               libxl_defbool_to_string(b_info->u.hvm.stdvga));
+        libxl_defbool stdvga;
+        libxl_defbool_set(&stdvga,
+                   b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD);
+        printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(stdvga));
         printf("\t\t\t(vnc %s)\n",
                libxl_defbool_to_string(b_info->u.hvm.vnc.enable));
         printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.listen);

-- 
Zhou Peng

--e89a8fb1f0d8b3fe6004c13e538b
Content-Type: application/octet-stream; 
	name="spice.tools.libxl.stdvga.refactor.diff"
Content-Disposition: attachment; 
	filename="spice.tools.libxl.stdvga.refactor.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2u8wdzq0

cmVmYWN0b3IgdGhlIGNvZGUgb2Ygc3RkdmdhIG9wdGlvbiBzdXBwb3J0LgoKQmUgcmVhZHkgdG8g
YWRkIGFuZCBkZXNjcmliZSBuZXcgdmdhIGludGVyZmFjZQoKU2lnbmVkLW9mZi1ieTogWmhvdSBQ
ZW5nIDxhaWx2cGVuZzI1QGdtYWlsLmNvbT4KCmRpZmYgLXIgNTkyZDE1YmQ0ZDVlIHRvb2xzL2xp
YnhsL2xpYnhsX2NyZWF0ZS5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCUZyaSBN
YXkgMTggMTY6MTk6MjEgMjAxMiArMDEwMAorKysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUu
YwlNb24gTWF5IDI4IDE2OjEwOjAyIDIwMTIgKzA4MDAKQEAgLTE4OSw3ICsxODksNiBAQCBpbnQg
bGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQoCiAgICAgICAgICAgICBpZiAoIWJf
aW5mby0+dS5odm0uYm9vdCkgcmV0dXJuIEVSUk9SX05PTUVNOwogICAgICAgICB9CiAKLSAgICAg
ICAgbGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZiX2luZm8tPnUuaHZtLnN0ZHZnYSwgZmFsc2Up
OwogICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+dS5odm0udm5jLmVu
YWJsZSwgdHJ1ZSk7CiAgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChiX2luZm8tPnUuaHZt
LnZuYy5lbmFibGUpKSB7CiAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJf
aW5mby0+dS5odm0udm5jLmZpbmR1bnVzZWQsIHRydWUpOwpkaWZmIC1yIDU5MmQxNWJkNGQ1ZSB0
b29scy9saWJ4bC9saWJ4bF9kbS5jCi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJRnJpIE1h
eSAxOCAxNjoxOToyMSAyMDEyICswMTAwCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJTW9u
IE1heSAyOCAxNjoxMDowMiAyMDEyICswODAwCkBAIC0xNzUsOCArMTc1LDEzIEBAIHN0YXRpYyBj
aGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGlieGxfX3NpemVrYl90b19tYihiX2luZm8tPnZpZGVvX21lbWtiKSksCiAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChsaWJ4bF9k
ZWZib29sX3ZhbChiX2luZm8tPnUuaHZtLnN0ZHZnYSkpIHsKKworICAgICAgICBzd2l0Y2ggKGJf
aW5mby0+dS5odm0udmdhLnR5cGUpIHsKKyAgICAgICAgY2FzZSBMSUJYTF9WR0FfSU5URVJGQUNF
X1RZUEVfU1REOgogICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLXN0ZC12
Z2EiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExJQlhMX1ZHQV9JTlRFUkZB
Q0VfVFlQRV9ERUZBVUxUOgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAoYl9pbmZvLT51Lmh2bS5ib290KSB7CkBAIC00MTgsOCArNDIzLDEyIEBAIHN0YXRpYyBj
aGFyICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAgICAgICAgICAgIGZsZXhhcnJheV9h
cHBlbmQoZG1fYXJncywgc3BpY2VvcHRpb25zKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChs
aWJ4bF9kZWZib29sX3ZhbChiX2luZm8tPnUuaHZtLnN0ZHZnYSkpIHsKLSAgICAgICAgICAgICAg
ICBmbGV4YXJyYXlfdmFwcGVuZChkbV9hcmdzLCAiLXZnYSIsICJzdGQiLCBOVUxMKTsKKyAgICAg
ICAgc3dpdGNoIChiX2luZm8tPnUuaHZtLnZnYS50eXBlKSB7CisgICAgICAgIGNhc2UgTElCWExf
VkdBX0lOVEVSRkFDRV9UWVBFX1NURDoKKyAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRt
X2FyZ3MsICItdmdhIiwgInN0ZCIsIE5VTEwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgTElCWExfVkdBX0lOVEVSRkFDRV9UWVBFX0RFRkFVTFQ6CisgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChiX2luZm8tPnUuaHZtLmJvb3QpIHsKZGlmZiAt
ciA1OTJkMTViZDRkNWUgdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCi0tLSBhL3Rvb2xzL2xp
YnhsL2xpYnhsX3R5cGVzLmlkbAlGcmkgTWF5IDE4IDE2OjE5OjIxIDIwMTIgKzAxMDAKKysrIGIv
dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCU1vbiBNYXkgMjggMTY6MTA6MDIgMjAxMiArMDgw
MApAQCAtMTI1LDkgKzEyNSwyMCBAQCBsaWJ4bF9zaHV0ZG93bl9yZWFzb24gPSBFbnVtZXJhdGlv
bigic2h1CiAgICAgKDQsICJ3YXRjaGRvZyIpLAogICAgIF0pCiAKK2xpYnhsX3ZnYV9pbnRlcmZh
Y2VfdHlwZSA9IEVudW1lcmF0aW9uKCJ2Z2FfaW50ZXJmYWNlX3R5cGUiLCBbCisgICAgKDAsICJE
RUZBVUxUIiksCisgICAgKDEsICJTVEQiKSwKKyAgICBdKQorCiAjCiAjIENvbXBsZXggbGlieGwg
dHlwZXMKICMKKworbGlieGxfdmdhX2ludGVyZmFjZV9pbmZvID0gU3RydWN0KCJ2Z2FfaW50ZXJm
YWNlX2luZm8iLCBbCisgICAgKCJ0eXBlIiwgICAgbGlieGxfdmdhX2ludGVyZmFjZV90eXBlKSwK
KyAgICAoInZyYW1rYiIsICBNZW1LQiksCisgICAgXSkKKwogbGlieGxfdm5jX2luZm8gPSBTdHJ1
Y3QoInZuY19pbmZvIiwgWwogICAgICgiZW5hYmxlIiwgICAgICAgIGxpYnhsX2RlZmJvb2wpLAog
ICAgICMgImFkZHJlc3M6cG9ydCIgdGhhdCBzaG91bGQgYmUgbGlzdGVuZWQgb24KQEAgLTI4Niw3
ICsyOTcsNyBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWluCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIm5lc3RlZF9odm0iLCAgICAgICBs
aWJ4bF9kZWZib29sKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi
aW5jcl9nZW5lcmF0aW9uaWQiLGxpYnhsX2RlZmJvb2wpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKCJub2dyYXBoaWMiLCAgICAgICAgbGlieGxfZGVmYm9vbCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInN0ZHZnYSIsICAgICAgICAg
ICBsaWJ4bF9kZWZib29sKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICgidmdhIiwgICAgICAgICAgICAgIGxpYnhsX3ZnYV9pbnRlcmZhY2VfaW5mbyksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInZuYyIsICAgICAgICAgICAgICBsaWJ4
bF92bmNfaW5mbyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGtl
eWJvYXJkIGxheW91dCwgZGVmYXVsdCBpcyBlbi11cyBrZXlib2FyZAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKCJrZXltYXAiLCAgICAgICAgICAgc3RyaW5nKSwKZGlm
ZiAtciA1OTJkMTViZDRkNWUgdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCi0tLSBhL3Rvb2xzL2xp
YnhsL3hsX2NtZGltcGwuYwlGcmkgTWF5IDE4IDE2OjE5OjIxIDIwMTIgKzAxMDAKKysrIGIvdG9v
bHMvbGlieGwveGxfY21kaW1wbC5jCU1vbiBNYXkgMjggMTY6MTA6MDIgMjAxMiArMDgwMApAQCAt
MTI1Niw3ICsxMjU2LDEyIEBAIHNraXBfdmZiOgogI3VuZGVmIHBhcnNlX2V4dHJhX2FyZ3MKIAog
ICAgIGlmIChjX2luZm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfSFZNKSB7Ci0gICAgICAg
IHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAic3RkdmdhIiwgJmJfaW5mby0+dS5odm0uc3Rk
dmdhLCAwKTsKKyAgICAgICAgbGlieGxfZGVmYm9vbCB2Z2E7CisgICAgICAgIGJfaW5mby0+dS5o
dm0udmdhLnR5cGUgPSBMSUJYTF9WR0FfSU5URVJGQUNFX1RZUEVfREVGQVVMVDsKKyAgICAgICAg
aWYgKCF4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgInN0ZHZnYSIsICZ2Z2EsIDApKQorICAg
ICAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKHZnYSkpCisgICAgICAgICAgICAgICAgYl9p
bmZvLT51Lmh2bS52Z2EudHlwZSA9IExJQlhMX1ZHQV9JTlRFUkZBQ0VfVFlQRV9TVEQ7CisKICAg
ICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJ2bmMiLCAmYl9pbmZvLT51Lmh2bS52
bmMuZW5hYmxlLCAwKTsKICAgICAgICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmlnLCAi
dm5jbGlzdGVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJfaW5mby0+dS5o
dm0udm5jLmxpc3RlbiwgMCk7CmRpZmYgLXIgNTkyZDE1YmQ0ZDVlIHRvb2xzL2xpYnhsL3hsX3N4
cC5jCi0tLSBhL3Rvb2xzL2xpYnhsL3hsX3N4cC5jCUZyaSBNYXkgMTggMTY6MTk6MjEgMjAxMiAr
MDEwMAorKysgYi90b29scy9saWJ4bC94bF9zeHAuYwlNb24gTWF5IDI4IDE2OjEwOjAyIDIwMTIg
KzA4MDAKQEAgLTExMCw4ICsxMTAsMTAgQEAgdm9pZCBwcmludGZfaW5mb19zZXhwKGludCBkb21p
ZCwgbGlieGxfZAogICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJpbmcoYl9pbmZv
LT51Lmh2bS5uZXN0ZWRfaHZtKSk7CiAgICAgICAgIHByaW50ZigiXHRcdFx0KG5vX2luY3JfZ2Vu
ZXJhdGlvbmlkICVzKVxuIiwKICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5n
KGJfaW5mby0+dS5odm0uaW5jcl9nZW5lcmF0aW9uaWQpKTsKLSAgICAgICAgcHJpbnRmKCJcdFx0
XHQoc3RkdmdhICVzKVxuIiwKLSAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdG9fc3RyaW5n
KGJfaW5mby0+dS5odm0uc3RkdmdhKSk7CisgICAgICAgIGxpYnhsX2RlZmJvb2wgc3RkdmdhOwor
ICAgICAgICBsaWJ4bF9kZWZib29sX3NldCgmc3RkdmdhLAorICAgICAgICAgICAgICAgICAgIGJf
aW5mby0+dS5odm0udmdhLnR5cGUgPT0gTElCWExfVkdBX0lOVEVSRkFDRV9UWVBFX1NURCk7Cisg
ICAgICAgIHByaW50ZigiXHRcdFx0KHN0ZHZnYSAlcylcbiIsIGxpYnhsX2RlZmJvb2xfdG9fc3Ry
aW5nKHN0ZHZnYSkpOwogICAgICAgICBwcmludGYoIlx0XHRcdCh2bmMgJXMpXG4iLAogICAgICAg
ICAgICAgICAgbGlieGxfZGVmYm9vbF90b19zdHJpbmcoYl9pbmZvLT51Lmh2bS52bmMuZW5hYmxl
KSk7CiAgICAgICAgIHByaW50ZigiXHRcdFx0KHZuY2xpc3RlbiAlcylcbiIsIGJfaW5mby0+dS5o
dm0udm5jLmxpc3Rlbik7Cg==
--e89a8fb1f0d8b3fe6004c13e538b
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--e89a8fb1f0d8b3fe6004c13e538b--


From xen-devel-bounces@lists.xen.org Wed May 30 10:24:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:24:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZg4v-0001w7-F2; Wed, 30 May 2012 10:24:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SZg4u-0001vy-53
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:24:32 +0000
Received: from [85.158.143.99:13555] by server-3.bemta-4.messagelabs.com id
	86/3B-04252-F55F5CF4; Wed, 30 May 2012 10:24:31 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338373468!29927551!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30088 invoked from network); 30 May 2012 10:24:29 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:24:29 -0000
Received: by obfk16 with SMTP id k16so11554819obf.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 03:24:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=zGhMfvuYLBq4FYAwB90W/eO+FyTuSfRZnmKq9ActD+4=;
	b=RhJTXQzIiZZEivmBWaOzIfglZAAnOIYJN+yA15soY6Y8gx90TkF+elpyoRL1A7Pwum
	qsIdX3kI9tDNG2m4/gobxn5HDvHsZ4DxswKVFQctsTb0FyPbT1ZAbgARV0HJK15iB3AD
	HzHUq42C7ZBAUDZPx1XVV8bjt0r9d+e9e1XKXZ9HE4HGD7ANLl+r3JVewqrcmjWKYeaB
	7tcXlZjAbe57DU1Q4Ro5R8inTboZd9a2UWnysVyNm5inCOzCEu2K+b1NvWofNoBiYw4d
	6MNdQ2543HtYvusmra6JpXzXrpiKb2F9F6UsS9OUayGjjFc/JWZLSalY3HlgVwQEXrCl
	QoWA==
MIME-Version: 1.0
Received: by 10.182.146.84 with SMTP id ta20mr14659111obb.19.1338373467214;
	Wed, 30 May 2012 03:24:27 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 30 May 2012 03:24:26 -0700 (PDT)
Date: Wed, 30 May 2012 18:24:26 +0800
Message-ID: <CAAh7U5NYGFDpk8ukEexzuCr=MZtUuidm1H4zu6Y_ooT-YH3TQg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: "Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Content-Type: multipart/mixed; boundary=f46d0444ed0b1711a904c13e5b2a
Cc: "ian.jackson" <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH QXL 2/2] libxl: Add qxl vga interface support.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--f46d0444ed0b1711a904c13e5b2a
Content-Type: text/plain; charset=ISO-8859-1

Add qxl vga interface support.

Usage:
  qxl=1
  qxlvram=64
  qxlram=64

Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>

diff -r c6641e3fe158 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Mon May 28 16:25:59 2012 +0800
+++ b/tools/libxl/libxl_dm.c	Wed May 30 17:48:38 2012 +0800
@@ -181,6 +181,8 @@ static char ** libxl__build_device_model
             flexarray_append(dm_args, "-std-vga");
             break;
         case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
+        default:
             break;
         }

@@ -426,6 +428,17 @@ static char ** libxl__build_device_model
         switch (b_info->u.hvm.vga.type) {
         case LIBXL_VGA_INTERFACE_TYPE_STD:
             flexarray_vappend(dm_args, "-vga", "std", NULL);
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_QXL:
+            flexarray_vappend(dm_args, "-vga", "qxl", NULL);
+            flexarray_vappend(dm_args, "-global",
+                          libxl__sprintf(gc, "qxl-vga.vram_size=%lu",
+                              b_info->u.hvm.vga.vramkb * 1024),
+                          NULL);
+            flexarray_vappend(dm_args, "-global",
+                          libxl__sprintf(gc, "qxl-vga.ram_size=%lu",
+                              b_info->u.hvm.vga.ramkb * 1024),
+                          NULL);
             break;
         case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
             break;
diff -r c6641e3fe158 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Mon May 28 16:25:59 2012 +0800
+++ b/tools/libxl/libxl_types.idl	Wed May 30 17:48:38 2012 +0800
@@ -128,6 +128,7 @@ libxl_vga_interface_type = Enumeration("
 libxl_vga_interface_type = Enumeration("vga_interface_type", [
     (0, "DEFAULT"),
     (1, "STD"),
+    (2, "QXL"),
     ])

 #
@@ -137,6 +138,7 @@ libxl_vga_interface_info = Struct("vga_i
 libxl_vga_interface_info = Struct("vga_interface_info", [
     ("type",    libxl_vga_interface_type),
     ("vramkb",  MemKB),
+    ("ramkb",  MemKB),
     ])

 libxl_vnc_info = Struct("vnc_info", [
diff -r c6641e3fe158 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 28 16:25:59 2012 +0800
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 30 17:48:38 2012 +0800
@@ -547,6 +547,29 @@ vcpp_out:
     libxl_cpumap_dispose(&exclude_cpumap);

     return rc;
+}
+
+static inline uint32_t msb_mask(uint32_t val)
+{
+    uint32_t mask;
+
+    fprintf(stdout, "%s:val: %u\n", __func__, val);
+    do {
+        mask = ~(val - 1) & val;
+        val &= ~mask;
+    } while (mask < val);
+
+    fprintf(stdout, "%s:mask: %u\n", __func__, mask);
+    return mask;
+}
+
+static inline uint32_t get_qxl_ram_size(uint32_t vram_sizekb,
+                                    uint32_t ram_sizekb)
+{
+    uint32_t vram = msb_mask(2 * vram_sizekb * 1024 - 1);
+    uint32_t ram = msb_mask(2 * ram_sizekb * 1024 - 1);
+
+    return (vram + ram + 1023) / 1024;
 }

 static void parse_config_data(const char *config_source,
@@ -1262,6 +1285,27 @@ skip_vfb:
             if (libxl_defbool_val(vga))
                 b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;

+        if (!xlu_cfg_get_defbool(config, "qxl", &vga, 0)) {
+            if (libxl_defbool_val(vga)) {
+                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_QXL;
+                if (!xlu_cfg_get_long (config, "qxlvram", &l, 0))
+                    b_info->u.hvm.vga.vramkb = l * 1024;
+                else
+                    b_info->u.hvm.vga.vramkb = 64 * 1024;
+                if (!xlu_cfg_get_long (config, "qxlram", &l, 0))
+                    b_info->u.hvm.vga.ramkb = l * 1024;
+                else
+                    b_info->u.hvm.vga.ramkb = 64 * 1024;
+
+                uint32_t qxl_ram = get_qxl_ram_size(b_info->u.hvm.vga.vramkb,
+                                                    b_info->u.hvm.vga.ramkb);
+                if ((b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
+                    || (b_info->video_memkb < qxl_ram)) {
+                    b_info->video_memkb = qxl_ram;
+                }
+            }
+        }
+
         xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
         xlu_cfg_replace_string (config, "vnclisten",
                                 &b_info->u.hvm.vnc.listen, 0);

-- 
Zhou Peng

--f46d0444ed0b1711a904c13e5b2a
Content-Type: application/octet-stream; 
	name="spice.tools.libxl.qxl.support.diff"
Content-Disposition: attachment; 
	filename="spice.tools.libxl.qxl.support.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2u8y9q30

QWRkIHF4bCB2Z2EgaW50ZXJmYWNlIHN1cHBvcnQuCgpVc2FnZToKICBxeGw9MQogIHF4bHZyYW09
NjQKICBxeGxyYW09NjQKClNpZ25lZC1vZmYtYnk6IFpob3UgUGVuZyA8YWlsdnBlbmcyNUBnbWFp
bC5jb20+CgpkaWZmIC1yIGM2NjQxZTNmZTE1OCB0b29scy9saWJ4bC9saWJ4bF9kbS5jCi0tLSBh
L3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJTW9uIE1heSAyOCAxNjoyNTo1OSAyMDEyICswODAwCisr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJV2VkIE1heSAzMCAxNzo0ODozOCAyMDEyICswODAw
CkBAIC0xODEsNiArMTgxLDggQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9t
b2RlbAogICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLXN0ZC12Z2EiKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExJQlhMX1ZHQV9JTlRFUkZBQ0VfVFlQ
RV9ERUZBVUxUOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC00MjYsNiArNDI4LDE3IEBAIHN0YXRpYyBjaGFy
ICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAgICAgICAgc3dpdGNoIChiX2luZm8tPnUu
aHZtLnZnYS50eXBlKSB7CiAgICAgICAgIGNhc2UgTElCWExfVkdBX0lOVEVSRkFDRV9UWVBFX1NU
RDoKICAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRtX2FyZ3MsICItdmdhIiwgInN0ZCIs
IE5VTEwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTElCWExfVkdBX0lOVEVS
RkFDRV9UWVBFX1FYTDoKKyAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRtX2FyZ3MsICIt
dmdhIiwgInF4bCIsIE5VTEwpOworICAgICAgICAgICAgZmxleGFycmF5X3ZhcHBlbmQoZG1fYXJn
cywgIi1nbG9iYWwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3ByaW50Zihn
YywgInF4bC12Z2EudnJhbV9zaXplPSVsdSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiX2luZm8tPnUuaHZtLnZnYS52cmFta2IgKiAxMDI0KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCk7CisgICAgICAgICAgICBmbGV4YXJyYXlfdmFwcGVuZChkbV9hcmdzLCAiLWds
b2JhbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcHJpbnRmKGdjLCAicXhs
LXZnYS5yYW1fc2l6ZT0lbHUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYl9pbmZv
LT51Lmh2bS52Z2EucmFta2IgKiAxMDI0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMSUJYTF9WR0FfSU5URVJGQUNF
X1RZUEVfREVGQVVMVDoKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC1yIGM2NjQxZTNmZTE1OCB0
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu
aWRsCU1vbiBNYXkgMjggMTY6MjU6NTkgMjAxMiArMDgwMAorKysgYi90b29scy9saWJ4bC9saWJ4
bF90eXBlcy5pZGwJV2VkIE1heSAzMCAxNzo0ODozOCAyMDEyICswODAwCkBAIC0xMjgsNiArMTI4
LDcgQEAgbGlieGxfdmdhX2ludGVyZmFjZV90eXBlID0gRW51bWVyYXRpb24oIgogbGlieGxfdmdh
X2ludGVyZmFjZV90eXBlID0gRW51bWVyYXRpb24oInZnYV9pbnRlcmZhY2VfdHlwZSIsIFsKICAg
ICAoMCwgIkRFRkFVTFQiKSwKICAgICAoMSwgIlNURCIpLAorICAgICgyLCAiUVhMIiksCiAgICAg
XSkKIAogIwpAQCAtMTM3LDYgKzEzOCw3IEBAIGxpYnhsX3ZnYV9pbnRlcmZhY2VfaW5mbyA9IFN0
cnVjdCgidmdhX2kKIGxpYnhsX3ZnYV9pbnRlcmZhY2VfaW5mbyA9IFN0cnVjdCgidmdhX2ludGVy
ZmFjZV9pbmZvIiwgWwogICAgICgidHlwZSIsICAgIGxpYnhsX3ZnYV9pbnRlcmZhY2VfdHlwZSks
CiAgICAgKCJ2cmFta2IiLCAgTWVtS0IpLAorICAgICgicmFta2IiLCAgTWVtS0IpLAogICAgIF0p
CiAKIGxpYnhsX3ZuY19pbmZvID0gU3RydWN0KCJ2bmNfaW5mbyIsIFsKZGlmZiAtciBjNjY0MWUz
ZmUxNTggdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCi0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGlt
cGwuYwlNb24gTWF5IDI4IDE2OjI1OjU5IDIwMTIgKzA4MDAKKysrIGIvdG9vbHMvbGlieGwveGxf
Y21kaW1wbC5jCVdlZCBNYXkgMzAgMTc6NDg6MzggMjAxMiArMDgwMApAQCAtNTQ3LDYgKzU0Nywy
OSBAQCB2Y3BwX291dDoKICAgICBsaWJ4bF9jcHVtYXBfZGlzcG9zZSgmZXhjbHVkZV9jcHVtYXAp
OwogCiAgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IG1zYl9tYXNr
KHVpbnQzMl90IHZhbCkKK3sKKyAgICB1aW50MzJfdCBtYXNrOworCisgICAgZnByaW50ZihzdGRv
dXQsICIlczp2YWw6ICV1XG4iLCBfX2Z1bmNfXywgdmFsKTsKKyAgICBkbyB7CisgICAgICAgIG1h
c2sgPSB+KHZhbCAtIDEpICYgdmFsOworICAgICAgICB2YWwgJj0gfm1hc2s7CisgICAgfSB3aGls
ZSAobWFzayA8IHZhbCk7CisKKyAgICBmcHJpbnRmKHN0ZG91dCwgIiVzOm1hc2s6ICV1XG4iLCBf
X2Z1bmNfXywgbWFzayk7CisgICAgcmV0dXJuIG1hc2s7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWlu
dDMyX3QgZ2V0X3F4bF9yYW1fc2l6ZSh1aW50MzJfdCB2cmFtX3NpemVrYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJhbV9zaXpla2IpCit7CisgICAgdWlu
dDMyX3QgdnJhbSA9IG1zYl9tYXNrKDIgKiB2cmFtX3NpemVrYiAqIDEwMjQgLSAxKTsKKyAgICB1
aW50MzJfdCByYW0gPSBtc2JfbWFzaygyICogcmFtX3NpemVrYiAqIDEwMjQgLSAxKTsKKworICAg
IHJldHVybiAodnJhbSArIHJhbSArIDEwMjMpIC8gMTAyNDsKIH0KIAogc3RhdGljIHZvaWQgcGFy
c2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmlnX3NvdXJjZSwKQEAgLTEyNjIsNiArMTI4
NSwyNyBAQCBza2lwX3ZmYjoKICAgICAgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbCh2Z2Ep
KQogICAgICAgICAgICAgICAgIGJfaW5mby0+dS5odm0udmdhLnR5cGUgPSBMSUJYTF9WR0FfSU5U
RVJGQUNFX1RZUEVfU1REOwogCisgICAgICAgIGlmICgheGx1X2NmZ19nZXRfZGVmYm9vbChjb25m
aWcsICJxeGwiLCAmdmdhLCAwKSkgeworICAgICAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFs
KHZnYSkpIHsKKyAgICAgICAgICAgICAgICBiX2luZm8tPnUuaHZtLnZnYS50eXBlID0gTElCWExf
VkdBX0lOVEVSRkFDRV9UWVBFX1FYTDsKKyAgICAgICAgICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0
X2xvbmcgKGNvbmZpZywgInF4bHZyYW0iLCAmbCwgMCkpCisgICAgICAgICAgICAgICAgICAgIGJf
aW5mby0+dS5odm0udmdhLnZyYW1rYiA9IGwgKiAxMDI0OworICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgYl9pbmZvLT51Lmh2bS52Z2EudnJhbWtiID0gNjQgKiAxMDI0
OworICAgICAgICAgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAicXhscmFt
IiwgJmwsIDApKQorICAgICAgICAgICAgICAgICAgICBiX2luZm8tPnUuaHZtLnZnYS5yYW1rYiA9
IGwgKiAxMDI0OworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYl9p
bmZvLT51Lmh2bS52Z2EucmFta2IgPSA2NCAqIDEwMjQ7CisKKyAgICAgICAgICAgICAgICB1aW50
MzJfdCBxeGxfcmFtID0gZ2V0X3F4bF9yYW1fc2l6ZShiX2luZm8tPnUuaHZtLnZnYS52cmFta2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYl9p
bmZvLT51Lmh2bS52Z2EucmFta2IpOworICAgICAgICAgICAgICAgIGlmICgoYl9pbmZvLT52aWRl
b19tZW1rYiA9PSBMSUJYTF9NRU1LQl9ERUZBVUxUKQorICAgICAgICAgICAgICAgICAgICB8fCAo
Yl9pbmZvLT52aWRlb19tZW1rYiA8IHF4bF9yYW0pKSB7CisgICAgICAgICAgICAgICAgICAgIGJf
aW5mby0+dmlkZW9fbWVta2IgPSBxeGxfcmFtOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAi
dm5jIiwgJmJfaW5mby0+dS5odm0udm5jLmVuYWJsZSwgMCk7CiAgICAgICAgIHhsdV9jZmdfcmVw
bGFjZV9zdHJpbmcgKGNvbmZpZywgInZuY2xpc3RlbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZiX2luZm8tPnUuaHZtLnZuYy5saXN0ZW4sIDApOwo=
--f46d0444ed0b1711a904c13e5b2a
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--f46d0444ed0b1711a904c13e5b2a--


From xen-devel-bounces@lists.xen.org Wed May 30 10:24:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:24:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZg4v-0001w7-F2; Wed, 30 May 2012 10:24:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SZg4u-0001vy-53
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:24:32 +0000
Received: from [85.158.143.99:13555] by server-3.bemta-4.messagelabs.com id
	86/3B-04252-F55F5CF4; Wed, 30 May 2012 10:24:31 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338373468!29927551!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30088 invoked from network); 30 May 2012 10:24:29 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-3.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:24:29 -0000
Received: by obfk16 with SMTP id k16so11554819obf.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 03:24:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:cc:content-type;
	bh=zGhMfvuYLBq4FYAwB90W/eO+FyTuSfRZnmKq9ActD+4=;
	b=RhJTXQzIiZZEivmBWaOzIfglZAAnOIYJN+yA15soY6Y8gx90TkF+elpyoRL1A7Pwum
	qsIdX3kI9tDNG2m4/gobxn5HDvHsZ4DxswKVFQctsTb0FyPbT1ZAbgARV0HJK15iB3AD
	HzHUq42C7ZBAUDZPx1XVV8bjt0r9d+e9e1XKXZ9HE4HGD7ANLl+r3JVewqrcmjWKYeaB
	7tcXlZjAbe57DU1Q4Ro5R8inTboZd9a2UWnysVyNm5inCOzCEu2K+b1NvWofNoBiYw4d
	6MNdQ2543HtYvusmra6JpXzXrpiKb2F9F6UsS9OUayGjjFc/JWZLSalY3HlgVwQEXrCl
	QoWA==
MIME-Version: 1.0
Received: by 10.182.146.84 with SMTP id ta20mr14659111obb.19.1338373467214;
	Wed, 30 May 2012 03:24:27 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 30 May 2012 03:24:26 -0700 (PDT)
Date: Wed, 30 May 2012 18:24:26 +0800
Message-ID: <CAAh7U5NYGFDpk8ukEexzuCr=MZtUuidm1H4zu6Y_ooT-YH3TQg@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: "Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Content-Type: multipart/mixed; boundary=f46d0444ed0b1711a904c13e5b2a
Cc: "ian.jackson" <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH QXL 2/2] libxl: Add qxl vga interface support.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--f46d0444ed0b1711a904c13e5b2a
Content-Type: text/plain; charset=ISO-8859-1

Add qxl vga interface support.

Usage:
  qxl=1
  qxlvram=64
  qxlram=64

Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>

diff -r c6641e3fe158 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Mon May 28 16:25:59 2012 +0800
+++ b/tools/libxl/libxl_dm.c	Wed May 30 17:48:38 2012 +0800
@@ -181,6 +181,8 @@ static char ** libxl__build_device_model
             flexarray_append(dm_args, "-std-vga");
             break;
         case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
+            break;
+        default:
             break;
         }

@@ -426,6 +428,17 @@ static char ** libxl__build_device_model
         switch (b_info->u.hvm.vga.type) {
         case LIBXL_VGA_INTERFACE_TYPE_STD:
             flexarray_vappend(dm_args, "-vga", "std", NULL);
+            break;
+        case LIBXL_VGA_INTERFACE_TYPE_QXL:
+            flexarray_vappend(dm_args, "-vga", "qxl", NULL);
+            flexarray_vappend(dm_args, "-global",
+                          libxl__sprintf(gc, "qxl-vga.vram_size=%lu",
+                              b_info->u.hvm.vga.vramkb * 1024),
+                          NULL);
+            flexarray_vappend(dm_args, "-global",
+                          libxl__sprintf(gc, "qxl-vga.ram_size=%lu",
+                              b_info->u.hvm.vga.ramkb * 1024),
+                          NULL);
             break;
         case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
             break;
diff -r c6641e3fe158 tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl	Mon May 28 16:25:59 2012 +0800
+++ b/tools/libxl/libxl_types.idl	Wed May 30 17:48:38 2012 +0800
@@ -128,6 +128,7 @@ libxl_vga_interface_type = Enumeration("
 libxl_vga_interface_type = Enumeration("vga_interface_type", [
     (0, "DEFAULT"),
     (1, "STD"),
+    (2, "QXL"),
     ])

 #
@@ -137,6 +138,7 @@ libxl_vga_interface_info = Struct("vga_i
 libxl_vga_interface_info = Struct("vga_interface_info", [
     ("type",    libxl_vga_interface_type),
     ("vramkb",  MemKB),
+    ("ramkb",  MemKB),
     ])

 libxl_vnc_info = Struct("vnc_info", [
diff -r c6641e3fe158 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon May 28 16:25:59 2012 +0800
+++ b/tools/libxl/xl_cmdimpl.c	Wed May 30 17:48:38 2012 +0800
@@ -547,6 +547,29 @@ vcpp_out:
     libxl_cpumap_dispose(&exclude_cpumap);

     return rc;
+}
+
+static inline uint32_t msb_mask(uint32_t val)
+{
+    uint32_t mask;
+
+    fprintf(stdout, "%s:val: %u\n", __func__, val);
+    do {
+        mask = ~(val - 1) & val;
+        val &= ~mask;
+    } while (mask < val);
+
+    fprintf(stdout, "%s:mask: %u\n", __func__, mask);
+    return mask;
+}
+
+static inline uint32_t get_qxl_ram_size(uint32_t vram_sizekb,
+                                    uint32_t ram_sizekb)
+{
+    uint32_t vram = msb_mask(2 * vram_sizekb * 1024 - 1);
+    uint32_t ram = msb_mask(2 * ram_sizekb * 1024 - 1);
+
+    return (vram + ram + 1023) / 1024;
 }

 static void parse_config_data(const char *config_source,
@@ -1262,6 +1285,27 @@ skip_vfb:
             if (libxl_defbool_val(vga))
                 b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;

+        if (!xlu_cfg_get_defbool(config, "qxl", &vga, 0)) {
+            if (libxl_defbool_val(vga)) {
+                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_QXL;
+                if (!xlu_cfg_get_long (config, "qxlvram", &l, 0))
+                    b_info->u.hvm.vga.vramkb = l * 1024;
+                else
+                    b_info->u.hvm.vga.vramkb = 64 * 1024;
+                if (!xlu_cfg_get_long (config, "qxlram", &l, 0))
+                    b_info->u.hvm.vga.ramkb = l * 1024;
+                else
+                    b_info->u.hvm.vga.ramkb = 64 * 1024;
+
+                uint32_t qxl_ram = get_qxl_ram_size(b_info->u.hvm.vga.vramkb,
+                                                    b_info->u.hvm.vga.ramkb);
+                if ((b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
+                    || (b_info->video_memkb < qxl_ram)) {
+                    b_info->video_memkb = qxl_ram;
+                }
+            }
+        }
+
         xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
         xlu_cfg_replace_string (config, "vnclisten",
                                 &b_info->u.hvm.vnc.listen, 0);

-- 
Zhou Peng

--f46d0444ed0b1711a904c13e5b2a
Content-Type: application/octet-stream; 
	name="spice.tools.libxl.qxl.support.diff"
Content-Disposition: attachment; 
	filename="spice.tools.libxl.qxl.support.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h2u8y9q30

QWRkIHF4bCB2Z2EgaW50ZXJmYWNlIHN1cHBvcnQuCgpVc2FnZToKICBxeGw9MQogIHF4bHZyYW09
NjQKICBxeGxyYW09NjQKClNpZ25lZC1vZmYtYnk6IFpob3UgUGVuZyA8YWlsdnBlbmcyNUBnbWFp
bC5jb20+CgpkaWZmIC1yIGM2NjQxZTNmZTE1OCB0b29scy9saWJ4bC9saWJ4bF9kbS5jCi0tLSBh
L3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJTW9uIE1heSAyOCAxNjoyNTo1OSAyMDEyICswODAwCisr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMJV2VkIE1heSAzMCAxNzo0ODozOCAyMDEyICswODAw
CkBAIC0xODEsNiArMTgxLDggQEAgc3RhdGljIGNoYXIgKiogbGlieGxfX2J1aWxkX2RldmljZV9t
b2RlbAogICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLXN0ZC12Z2EiKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExJQlhMX1ZHQV9JTlRFUkZBQ0VfVFlQ
RV9ERUZBVUxUOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC00MjYsNiArNDI4LDE3IEBAIHN0YXRpYyBjaGFy
ICoqIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWwKICAgICAgICAgc3dpdGNoIChiX2luZm8tPnUu
aHZtLnZnYS50eXBlKSB7CiAgICAgICAgIGNhc2UgTElCWExfVkdBX0lOVEVSRkFDRV9UWVBFX1NU
RDoKICAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRtX2FyZ3MsICItdmdhIiwgInN0ZCIs
IE5VTEwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTElCWExfVkdBX0lOVEVS
RkFDRV9UWVBFX1FYTDoKKyAgICAgICAgICAgIGZsZXhhcnJheV92YXBwZW5kKGRtX2FyZ3MsICIt
dmdhIiwgInF4bCIsIE5VTEwpOworICAgICAgICAgICAgZmxleGFycmF5X3ZhcHBlbmQoZG1fYXJn
cywgIi1nbG9iYWwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3ByaW50Zihn
YywgInF4bC12Z2EudnJhbV9zaXplPSVsdSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiX2luZm8tPnUuaHZtLnZnYS52cmFta2IgKiAxMDI0KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCk7CisgICAgICAgICAgICBmbGV4YXJyYXlfdmFwcGVuZChkbV9hcmdzLCAiLWds
b2JhbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcHJpbnRmKGdjLCAicXhs
LXZnYS5yYW1fc2l6ZT0lbHUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYl9pbmZv
LT51Lmh2bS52Z2EucmFta2IgKiAxMDI0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMSUJYTF9WR0FfSU5URVJGQUNF
X1RZUEVfREVGQVVMVDoKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC1yIGM2NjQxZTNmZTE1OCB0
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu
aWRsCU1vbiBNYXkgMjggMTY6MjU6NTkgMjAxMiArMDgwMAorKysgYi90b29scy9saWJ4bC9saWJ4
bF90eXBlcy5pZGwJV2VkIE1heSAzMCAxNzo0ODozOCAyMDEyICswODAwCkBAIC0xMjgsNiArMTI4
LDcgQEAgbGlieGxfdmdhX2ludGVyZmFjZV90eXBlID0gRW51bWVyYXRpb24oIgogbGlieGxfdmdh
X2ludGVyZmFjZV90eXBlID0gRW51bWVyYXRpb24oInZnYV9pbnRlcmZhY2VfdHlwZSIsIFsKICAg
ICAoMCwgIkRFRkFVTFQiKSwKICAgICAoMSwgIlNURCIpLAorICAgICgyLCAiUVhMIiksCiAgICAg
XSkKIAogIwpAQCAtMTM3LDYgKzEzOCw3IEBAIGxpYnhsX3ZnYV9pbnRlcmZhY2VfaW5mbyA9IFN0
cnVjdCgidmdhX2kKIGxpYnhsX3ZnYV9pbnRlcmZhY2VfaW5mbyA9IFN0cnVjdCgidmdhX2ludGVy
ZmFjZV9pbmZvIiwgWwogICAgICgidHlwZSIsICAgIGxpYnhsX3ZnYV9pbnRlcmZhY2VfdHlwZSks
CiAgICAgKCJ2cmFta2IiLCAgTWVtS0IpLAorICAgICgicmFta2IiLCAgTWVtS0IpLAogICAgIF0p
CiAKIGxpYnhsX3ZuY19pbmZvID0gU3RydWN0KCJ2bmNfaW5mbyIsIFsKZGlmZiAtciBjNjY0MWUz
ZmUxNTggdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCi0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGlt
cGwuYwlNb24gTWF5IDI4IDE2OjI1OjU5IDIwMTIgKzA4MDAKKysrIGIvdG9vbHMvbGlieGwveGxf
Y21kaW1wbC5jCVdlZCBNYXkgMzAgMTc6NDg6MzggMjAxMiArMDgwMApAQCAtNTQ3LDYgKzU0Nywy
OSBAQCB2Y3BwX291dDoKICAgICBsaWJ4bF9jcHVtYXBfZGlzcG9zZSgmZXhjbHVkZV9jcHVtYXAp
OwogCiAgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IG1zYl9tYXNr
KHVpbnQzMl90IHZhbCkKK3sKKyAgICB1aW50MzJfdCBtYXNrOworCisgICAgZnByaW50ZihzdGRv
dXQsICIlczp2YWw6ICV1XG4iLCBfX2Z1bmNfXywgdmFsKTsKKyAgICBkbyB7CisgICAgICAgIG1h
c2sgPSB+KHZhbCAtIDEpICYgdmFsOworICAgICAgICB2YWwgJj0gfm1hc2s7CisgICAgfSB3aGls
ZSAobWFzayA8IHZhbCk7CisKKyAgICBmcHJpbnRmKHN0ZG91dCwgIiVzOm1hc2s6ICV1XG4iLCBf
X2Z1bmNfXywgbWFzayk7CisgICAgcmV0dXJuIG1hc2s7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWlu
dDMyX3QgZ2V0X3F4bF9yYW1fc2l6ZSh1aW50MzJfdCB2cmFtX3NpemVrYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJhbV9zaXpla2IpCit7CisgICAgdWlu
dDMyX3QgdnJhbSA9IG1zYl9tYXNrKDIgKiB2cmFtX3NpemVrYiAqIDEwMjQgLSAxKTsKKyAgICB1
aW50MzJfdCByYW0gPSBtc2JfbWFzaygyICogcmFtX3NpemVrYiAqIDEwMjQgLSAxKTsKKworICAg
IHJldHVybiAodnJhbSArIHJhbSArIDEwMjMpIC8gMTAyNDsKIH0KIAogc3RhdGljIHZvaWQgcGFy
c2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmlnX3NvdXJjZSwKQEAgLTEyNjIsNiArMTI4
NSwyNyBAQCBza2lwX3ZmYjoKICAgICAgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbCh2Z2Ep
KQogICAgICAgICAgICAgICAgIGJfaW5mby0+dS5odm0udmdhLnR5cGUgPSBMSUJYTF9WR0FfSU5U
RVJGQUNFX1RZUEVfU1REOwogCisgICAgICAgIGlmICgheGx1X2NmZ19nZXRfZGVmYm9vbChjb25m
aWcsICJxeGwiLCAmdmdhLCAwKSkgeworICAgICAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFs
KHZnYSkpIHsKKyAgICAgICAgICAgICAgICBiX2luZm8tPnUuaHZtLnZnYS50eXBlID0gTElCWExf
VkdBX0lOVEVSRkFDRV9UWVBFX1FYTDsKKyAgICAgICAgICAgICAgICBpZiAoIXhsdV9jZmdfZ2V0
X2xvbmcgKGNvbmZpZywgInF4bHZyYW0iLCAmbCwgMCkpCisgICAgICAgICAgICAgICAgICAgIGJf
aW5mby0+dS5odm0udmdhLnZyYW1rYiA9IGwgKiAxMDI0OworICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgYl9pbmZvLT51Lmh2bS52Z2EudnJhbWtiID0gNjQgKiAxMDI0
OworICAgICAgICAgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAicXhscmFt
IiwgJmwsIDApKQorICAgICAgICAgICAgICAgICAgICBiX2luZm8tPnUuaHZtLnZnYS5yYW1rYiA9
IGwgKiAxMDI0OworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYl9p
bmZvLT51Lmh2bS52Z2EucmFta2IgPSA2NCAqIDEwMjQ7CisKKyAgICAgICAgICAgICAgICB1aW50
MzJfdCBxeGxfcmFtID0gZ2V0X3F4bF9yYW1fc2l6ZShiX2luZm8tPnUuaHZtLnZnYS52cmFta2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYl9p
bmZvLT51Lmh2bS52Z2EucmFta2IpOworICAgICAgICAgICAgICAgIGlmICgoYl9pbmZvLT52aWRl
b19tZW1rYiA9PSBMSUJYTF9NRU1LQl9ERUZBVUxUKQorICAgICAgICAgICAgICAgICAgICB8fCAo
Yl9pbmZvLT52aWRlb19tZW1rYiA8IHF4bF9yYW0pKSB7CisgICAgICAgICAgICAgICAgICAgIGJf
aW5mby0+dmlkZW9fbWVta2IgPSBxeGxfcmFtOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAi
dm5jIiwgJmJfaW5mby0+dS5odm0udm5jLmVuYWJsZSwgMCk7CiAgICAgICAgIHhsdV9jZmdfcmVw
bGFjZV9zdHJpbmcgKGNvbmZpZywgInZuY2xpc3RlbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZiX2luZm8tPnUuaHZtLnZuYy5saXN0ZW4sIDApOwo=
--f46d0444ed0b1711a904c13e5b2a
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--f46d0444ed0b1711a904c13e5b2a--


From xen-devel-bounces@lists.xen.org Wed May 30 10:37:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:37:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgHE-0002B7-PJ; Wed, 30 May 2012 10:37:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZgHD-0002B2-RK
	for xen-devel@lists.xen.org; Wed, 30 May 2012 10:37:15 +0000
Received: from [85.158.143.35:16704] by server-3.bemta-4.messagelabs.com id
	5B/20-04252-B58F5CF4; Wed, 30 May 2012 10:37:15 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338374234!13564783!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11094 invoked from network); 30 May 2012 10:37:14 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 10:37:14 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 11:37:14 +0100
Message-Id: <4FC614770200007800086D0C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 11:37:11 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Joanna Rutkowska" <joanna@invisiblethingslab.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
In-Reply-To: <4FC5F2EF.7000004@invisiblethingslab.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 12:14, Joanna Rutkowska <joanna@invisiblethingslab.com> wrote:
> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
> and have noticed that those kernel noticeably downgrade performance of
> (at least) Intel GPUs. This is easily noticeable even on such trivial
> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
> performance on 3.3 and 3.4 kernels is in stark contrast with what I see
> on 3.2.7 Dom0 kernel, where graphics works just great...
> 
> In order to make sure that this is not caused by power management set
> too strictly, I played with xenpm and made sure to set the following:
> 1) xenpm set-scaling-governor performance
> 2) xenpm set-max-cstate 0
> 
> I have verified then that my processor: 1) keeps staying in P0 state
> (so, max frequency), and 2) keeps staying in C0 state.
> 
> Those setting didn't change anything regarding the poor graphics
> performance, though.
> 
> Any ideas what else I could test to find out the cause of this?

To check whether the DRM drivers' supposedly more extensive
use of the DMA API is the reason, could you check whether the
performance is as bad with "mem=4G" on the Xen command line?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:37:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:37:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgHE-0002B7-PJ; Wed, 30 May 2012 10:37:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZgHD-0002B2-RK
	for xen-devel@lists.xen.org; Wed, 30 May 2012 10:37:15 +0000
Received: from [85.158.143.35:16704] by server-3.bemta-4.messagelabs.com id
	5B/20-04252-B58F5CF4; Wed, 30 May 2012 10:37:15 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338374234!13564783!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11094 invoked from network); 30 May 2012 10:37:14 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 10:37:14 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 11:37:14 +0100
Message-Id: <4FC614770200007800086D0C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 11:37:11 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Joanna Rutkowska" <joanna@invisiblethingslab.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
In-Reply-To: <4FC5F2EF.7000004@invisiblethingslab.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 12:14, Joanna Rutkowska <joanna@invisiblethingslab.com> wrote:
> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
> and have noticed that those kernel noticeably downgrade performance of
> (at least) Intel GPUs. This is easily noticeable even on such trivial
> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
> performance on 3.3 and 3.4 kernels is in stark contrast with what I see
> on 3.2.7 Dom0 kernel, where graphics works just great...
> 
> In order to make sure that this is not caused by power management set
> too strictly, I played with xenpm and made sure to set the following:
> 1) xenpm set-scaling-governor performance
> 2) xenpm set-max-cstate 0
> 
> I have verified then that my processor: 1) keeps staying in P0 state
> (so, max frequency), and 2) keeps staying in C0 state.
> 
> Those setting didn't change anything regarding the poor graphics
> performance, though.
> 
> Any ideas what else I could test to find out the cause of this?

To check whether the DRM drivers' supposedly more extensive
use of the DMA API is the reason, could you check whether the
performance is as bad with "mem=4G" on the Xen command line?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:40:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgKU-0002IW-HZ; Wed, 30 May 2012 10:40:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZgKS-0002IH-S6
	for xen-devel@lists.xen.org; Wed, 30 May 2012 10:40:36 +0000
Received: from [85.158.143.35:14480] by server-3.bemta-4.messagelabs.com id
	98/39-04252-429F5CF4; Wed, 30 May 2012 10:40:36 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338374433!16693062!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29862 invoked from network); 30 May 2012 10:40:33 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:40:33 -0000
Received: by eekd41 with SMTP id d41so1600898eek.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 03:40:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=d8SBr6wXiJ/QA4dEGRumnV4ofqqVoJcq9RY5HeZq/t0=;
	b=UOBJMkSGrLKILnVQ9R//vY14A0XedqWKBtQTRue3JZYkaajLpXCcHSWbFHKmO4mohe
	Tz9P70KhkB41/b4E1uO77yVs5nMJzOsjXQSiOexQflOrTCsAI8QRQI4/alXrJYudXsBz
	r8xN2/ML+zACVwbt5PlIk82UNlmnQSYiCA7+kUnS3YXaEiGPYy2beHIApL1LRy3Li6eL
	rj8zsqhnXfpU79D+dXh7TyvRjfdUfDRF0xJZrC1OA9SeqZ22q6VtUf5iZs7/b/bSIB9K
	/THbP7G6QFEDF2c65NRuS3d1zwSuijZjMySaIuJnRgDdNculDGudZfuepWjCjT8SqLLZ
	VNig==
Received: by 10.14.39.8 with SMTP id c8mr654622eeb.55.1338374432829;
	Wed, 30 May 2012 03:40:32 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id a16sm59090475eeg.0.2012.05.30.03.40.31
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 03:40:32 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Wed, 30 May 2012 11:40:22 +0100
From: Keir Fraser <keir@xen.org>
To: Xudong Hao <xudong.hao@intel.com>,
	<JBeulich@suse.com>
Message-ID: <CBEBB7A6.41871%keir@xen.org>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: Ac0+UJ09VpQs1g1AO0+vKun+IRi8vQ==
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, eddie.dong@intel.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:

> Changes from v1:
> - Define new struct hvm_trap to represent information of trap, include
>   instruction length.
> - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
>   wrappers around that function for existing callers, so that their parameter
>   lists actually *shrink*.

I checked in the series, except for the bit that infers trap type from
within vmx_inject_trap(). Instead I plumbed through a trap-type field to
dom0 toolstack, so the type can be specified by the caller.

 -- Keir

> This series of patches fix the mistake for debug exception(#DB), overflow
> exception(#OF) and INT3(#BP), INTn instruction emulation.
> 
> PATCH 3 and PATCH 4 supply an interface for userspace to inject trap.
> 
> 
> PATCH 1: Define new struct hvm_trap and cleanup vmx exception.
> 
> PATCH 2: Fix the mistake for debug exception(#DB), overflow exception(#OF) and
> INT3(#BP), INTn instruction emulation. Add inslen field in struct hvm_trap.
> 
> PATCH 3: Add parameter inslen for hypercall HVMOP_inject_trap, supply
> interface
> used by passing instruction length from userspace.
> 
> PATCH 4: Add a parameter to represent instruction length in function
>   xc_hvm_inject_trap(), user should set this value when this
>   function is called.
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:40:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgKU-0002IW-HZ; Wed, 30 May 2012 10:40:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZgKS-0002IH-S6
	for xen-devel@lists.xen.org; Wed, 30 May 2012 10:40:36 +0000
Received: from [85.158.143.35:14480] by server-3.bemta-4.messagelabs.com id
	98/39-04252-429F5CF4; Wed, 30 May 2012 10:40:36 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338374433!16693062!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29862 invoked from network); 30 May 2012 10:40:33 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:40:33 -0000
Received: by eekd41 with SMTP id d41so1600898eek.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 03:40:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=d8SBr6wXiJ/QA4dEGRumnV4ofqqVoJcq9RY5HeZq/t0=;
	b=UOBJMkSGrLKILnVQ9R//vY14A0XedqWKBtQTRue3JZYkaajLpXCcHSWbFHKmO4mohe
	Tz9P70KhkB41/b4E1uO77yVs5nMJzOsjXQSiOexQflOrTCsAI8QRQI4/alXrJYudXsBz
	r8xN2/ML+zACVwbt5PlIk82UNlmnQSYiCA7+kUnS3YXaEiGPYy2beHIApL1LRy3Li6eL
	rj8zsqhnXfpU79D+dXh7TyvRjfdUfDRF0xJZrC1OA9SeqZ22q6VtUf5iZs7/b/bSIB9K
	/THbP7G6QFEDF2c65NRuS3d1zwSuijZjMySaIuJnRgDdNculDGudZfuepWjCjT8SqLLZ
	VNig==
Received: by 10.14.39.8 with SMTP id c8mr654622eeb.55.1338374432829;
	Wed, 30 May 2012 03:40:32 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id a16sm59090475eeg.0.2012.05.30.03.40.31
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 03:40:32 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Wed, 30 May 2012 11:40:22 +0100
From: Keir Fraser <keir@xen.org>
To: Xudong Hao <xudong.hao@intel.com>,
	<JBeulich@suse.com>
Message-ID: <CBEBB7A6.41871%keir@xen.org>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: Ac0+UJ09VpQs1g1AO0+vKun+IRi8vQ==
In-Reply-To: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, eddie.dong@intel.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:

> Changes from v1:
> - Define new struct hvm_trap to represent information of trap, include
>   instruction length.
> - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
>   wrappers around that function for existing callers, so that their parameter
>   lists actually *shrink*.

I checked in the series, except for the bit that infers trap type from
within vmx_inject_trap(). Instead I plumbed through a trap-type field to
dom0 toolstack, so the type can be specified by the caller.

 -- Keir

> This series of patches fix the mistake for debug exception(#DB), overflow
> exception(#OF) and INT3(#BP), INTn instruction emulation.
> 
> PATCH 3 and PATCH 4 supply an interface for userspace to inject trap.
> 
> 
> PATCH 1: Define new struct hvm_trap and cleanup vmx exception.
> 
> PATCH 2: Fix the mistake for debug exception(#DB), overflow exception(#OF) and
> INT3(#BP), INTn instruction emulation. Add inslen field in struct hvm_trap.
> 
> PATCH 3: Add parameter inslen for hypercall HVMOP_inject_trap, supply
> interface
> used by passing instruction length from userspace.
> 
> PATCH 4: Add a parameter to represent instruction length in function
>   xc_hvm_inject_trap(), user should set this value when this
>   function is called.
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:46:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:46:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgPe-0002e0-00; Wed, 30 May 2012 10:45:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SZgPc-0002dr-L5
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:45:56 +0000
Received: from [85.158.143.99:52690] by server-2.bemta-4.messagelabs.com id
	30/BE-11595-36AF5CF4; Wed, 30 May 2012 10:45:55 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1338374752!23938365!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27131 invoked from network); 30 May 2012 10:45:54 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:45:54 -0000
Received: by obfk16 with SMTP id k16so11588938obf.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 03:45:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=SrWwO2f5EPnVN8a6lwO+KudJ9AN9aYBNqlEjqw4H+nE=;
	b=OgczY+Q7Qtit/PKTLF39DiWAsbMK08R8bh2ISqUHueHPxyg4N47AMPD3RXYEfLeO1s
	i8QvX51YVD4yvKZ8H832gXmGxrRTD+w49zWBsQNPvtDlPCcrLnH1tbakT6zu5MGahSox
	Iu+5JSA+aWumJ5Q8WKxt30/X9qDRkqDBX62cIc5/qdsdhBMoZh+Nna3vAhw9UCgaxol7
	1i9MOSCX0a8rD80u2YLHVf66/fbA5qsFQWgg3zM7t6UB7ZFThr/ovGg5VNlXJWq6nRyh
	nfP+bANTnqJoom6V6dcLY6tYqTg0helSyxpNFeEdEmAZjBqyFaYUSq07FgNTMBprgb2j
	AFyw==
MIME-Version: 1.0
Received: by 10.182.139.2 with SMTP id qu2mr14717326obb.34.1338374752204; Wed,
	30 May 2012 03:45:52 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 30 May 2012 03:45:52 -0700 (PDT)
In-Reply-To: <1338283059.14158.85.camel@zakaz.uk.xensource.com>
References: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
	<1338283059.14158.85.camel@zakaz.uk.xensource.com>
Date: Wed, 30 May 2012 18:45:52 +0800
Message-ID: <CAAh7U5NBJgi_qAuvq+FKgDY-WVcW2NWOtTFTBvNMkGy_YjQS7g@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option
	support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 5:17 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Mon, 2012-05-28 at 09:52 +0100, ZhouPeng wrote:
>> refactor the code of stdvga option support.
>>
>> Be ready to add and describe new vga interface
>
> Are you proposing this for 4.2, which is currently in feature freeze?
>
> I'd be inclined to accept this particular for 4.2 due to the API change,
for the upstream-xen and upstream-xen-qemu
> but I'm curious what the "new vga interface" is going to be.
QXL
>
>> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
>>
>> diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
>> --- a/tools/libxl/libxl_types.idl =A0 =A0 Fri May 18 16:19:21 2012 +0100
>> +++ b/tools/libxl/libxl_types.idl =A0 =A0 Mon May 28 16:10:02 2012 +0800
>> @@ -125,9 +125,20 @@ libxl_shutdown_reason =3D Enumeration("shu
>> =A0 =A0 =A0(4, "watchdog"),
>> =A0 =A0 =A0])
>>
>> +libxl_vga_interface_type =3D Enumeration("vga_interface_type", [
>> + =A0 =A0(0, "DEFAULT"),
>
> "DEFAULT" here just means "whatever qemu gives you if you don't say
> otherwise"?
Yes,
It keep the same with the current libxl behavior (trans nothing for
vga in the qemu cmd).
> What actually is that?
Cirrus will be selected by qemu in face.
> I think we'd be better off having it
> as an explicit option too and using setdefault to convert DEFAULT->that.

Ok.
>
>> + =A0 =A0(1, "STD"),
>> + =A0 =A0])
>> +
>> =A0#
>> =A0# Complex libxl types
>> =A0#
>> +
>> +libxl_vga_interface_info =3D Struct("vga_interface_info", [
>> + =A0 =A0("type", =A0 =A0libxl_vga_interface_type),
>> + =A0 =A0("vramkb", =A0MemKB),
>
> I can't see "vramkb" being used anywhere. Did you mean to include it in
> the followup "new vga interface" patch?

Yes.
By qxl or other vga in the future.
>
>> + =A0 =A0])
>> +
>> =A0libxl_vnc_info =3D Struct("vnc_info", [
>> =A0 =A0 =A0("enable", =A0 =A0 =A0 =A0libxl_defbool),
>> =A0 =A0 =A0# "address:port" that should be listened on
>> @@ -286,7 +297,7 @@ libxl_domain_build_info =3D Struct("domain
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("nested_hvm", =A0 =A0 =A0 libxl_defbool),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("incr_generationid",libxl_defbool),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("nographic", =A0 =A0 =A0 =A0libxl_defbool),
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("stdvga", =A0 =A0 =A0 =A0 =A0 libxl_defbool),
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("vga",
>> libxl_vga_interface_info),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("vnc", =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_vnc_info),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 # keyboard layout, default is
>> en-us keyboard
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("keymap", =A0 =A0 =A0 =A0 =A0 string),
>
> Looks like this bit is whitespace damaged.
>
> http://wiki.xen.org/wiki/Submitting_Xen_Patches has some hints on using
> the mercurial patchbomb tool to avoid this and also a link to
> http://git.kernel.org/?p=3Dlinux/kernel/git/torvalds/linux-2.6.git;a=3Dbl=
ob;f=3DDocumentation/email-clients.txt;hb=3DHEAD
> which gives advice on using various mailclients to manually send patches
> without mangling them.
>> diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
>> --- a/tools/libxl/xl_cmdimpl.c =A0 =A0 =A0 =A0Fri May 18 16:19:21 2012 +=
0100
>> +++ b/tools/libxl/xl_cmdimpl.c =A0 =A0 =A0 =A0Mon May 28 16:10:02 2012 +=
0800
>> @@ -1256,7 +1256,12 @@ skip_vfb:
>> =A0#undef parse_extra_args
>>
>> =A0 =A0 =A0if (c_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) {
>> - =A0 =A0 =A0 =A0xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.st=
dvga, 0);
>> + =A0 =A0 =A0 =A0libxl_defbool vga;
>> + =A0 =A0 =A0 =A0b_info->u.hvm.vga.type =3D LIBXL_VGA_INTERFACE_TYPE_DEF=
AULT;
>> + =A0 =A0 =A0 =A0if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
>> + =A0 =A0 =A0 =A0 =A0 =A0if (libxl_defbool_val(vga))
>
> I don't think you need to launder this through a defbool, since it is no
> longer one at the libxl interface. Use xlu_cfg_get_long into &l and
> then
> =A0 =A0 =A0 =A0if (l)

Ok.
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0b_info->u.hvm.vga.type =3D LIBXL_VGA_INTER=
FACE_TYPE_STD;
>
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0b_info->u.hvm.vga.type =3D LIBXL_VGA_IN=
TERFACE_TYPE_STD;
>> +
>> =A0 =A0 =A0 =A0 =A0xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc=
.enable, 0);
>> =A0 =A0 =A0 =A0 =A0xlu_cfg_replace_string (config, "vnclisten",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&b_in=
fo->u.hvm.vnc.listen, 0);
>> diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
>> --- a/tools/libxl/xl_sxp.c =A0 =A0Fri May 18 16:19:21 2012 +0100
>> +++ b/tools/libxl/xl_sxp.c =A0 =A0Mon May 28 16:10:02 2012 +0800
>> @@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.ne=
sted_hvm));
>> =A0 =A0 =A0 =A0 =A0printf("\t\t\t(no_incr_generationid %s)\n",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.in=
cr_generationid));
>> - =A0 =A0 =A0 =A0printf("\t\t\t(stdvga %s)\n",
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.stdv=
ga));
>> + =A0 =A0 =A0 =A0libxl_defbool stdvga;
>> + =A0 =A0 =A0 =A0libxl_defbool_set(&stdvga,
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 b_info->u.hvm.vga.type =3D=3D LIBX=
L_VGA_INTERFACE_TYPE_STD);
>> + =A0 =A0 =A0 =A0printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(s=
tdvga));
>
> Likewise I think this is just
> =A0 =A0 =A0 =A0printf("\t\t\t(stdvga %s)\n",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 b_info->u.hvm.vga.type =3D=3D LIBXL_VGA_INTER=
FACE_TYPE_STD) ?
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 True" : "False");
>
>> =A0 =A0 =A0 =A0 =A0printf("\t\t\t(vnc %s)\n",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.vn=
c.enable));
>> =A0 =A0 =A0 =A0 =A0printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.li=
sten);
>>

Ok.
>
>



-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 10:46:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 10:46:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgPe-0002e0-00; Wed, 30 May 2012 10:45:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zpengxen@gmail.com>) id 1SZgPc-0002dr-L5
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 10:45:56 +0000
Received: from [85.158.143.99:52690] by server-2.bemta-4.messagelabs.com id
	30/BE-11595-36AF5CF4; Wed, 30 May 2012 10:45:55 +0000
X-Env-Sender: zpengxen@gmail.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1338374752!23938365!1
X-Originating-IP: [209.85.214.171]
X-SpamReason: No, hits=0.6 required=7.0 tests=MAILTO_TO_SPAM_ADDR,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27131 invoked from network); 30 May 2012 10:45:54 -0000
Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com)
	(209.85.214.171)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 10:45:54 -0000
Received: by obfk16 with SMTP id k16so11588938obf.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 03:45:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	bh=SrWwO2f5EPnVN8a6lwO+KudJ9AN9aYBNqlEjqw4H+nE=;
	b=OgczY+Q7Qtit/PKTLF39DiWAsbMK08R8bh2ISqUHueHPxyg4N47AMPD3RXYEfLeO1s
	i8QvX51YVD4yvKZ8H832gXmGxrRTD+w49zWBsQNPvtDlPCcrLnH1tbakT6zu5MGahSox
	Iu+5JSA+aWumJ5Q8WKxt30/X9qDRkqDBX62cIc5/qdsdhBMoZh+Nna3vAhw9UCgaxol7
	1i9MOSCX0a8rD80u2YLHVf66/fbA5qsFQWgg3zM7t6UB7ZFThr/ovGg5VNlXJWq6nRyh
	nfP+bANTnqJoom6V6dcLY6tYqTg0helSyxpNFeEdEmAZjBqyFaYUSq07FgNTMBprgb2j
	AFyw==
MIME-Version: 1.0
Received: by 10.182.139.2 with SMTP id qu2mr14717326obb.34.1338374752204; Wed,
	30 May 2012 03:45:52 -0700 (PDT)
Received: by 10.182.75.131 with HTTP; Wed, 30 May 2012 03:45:52 -0700 (PDT)
In-Reply-To: <1338283059.14158.85.camel@zakaz.uk.xensource.com>
References: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
	<1338283059.14158.85.camel@zakaz.uk.xensource.com>
Date: Wed, 30 May 2012 18:45:52 +0800
Message-ID: <CAAh7U5NBJgi_qAuvq+FKgDY-WVcW2NWOtTFTBvNMkGy_YjQS7g@mail.gmail.com>
From: ZhouPeng <zpengxen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option
	support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 5:17 PM, Ian Campbell <Ian.Campbell@citrix.com> wro=
te:
> On Mon, 2012-05-28 at 09:52 +0100, ZhouPeng wrote:
>> refactor the code of stdvga option support.
>>
>> Be ready to add and describe new vga interface
>
> Are you proposing this for 4.2, which is currently in feature freeze?
>
> I'd be inclined to accept this particular for 4.2 due to the API change,
for the upstream-xen and upstream-xen-qemu
> but I'm curious what the "new vga interface" is going to be.
QXL
>
>> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
>>
>> diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
>> --- a/tools/libxl/libxl_types.idl =A0 =A0 Fri May 18 16:19:21 2012 +0100
>> +++ b/tools/libxl/libxl_types.idl =A0 =A0 Mon May 28 16:10:02 2012 +0800
>> @@ -125,9 +125,20 @@ libxl_shutdown_reason =3D Enumeration("shu
>> =A0 =A0 =A0(4, "watchdog"),
>> =A0 =A0 =A0])
>>
>> +libxl_vga_interface_type =3D Enumeration("vga_interface_type", [
>> + =A0 =A0(0, "DEFAULT"),
>
> "DEFAULT" here just means "whatever qemu gives you if you don't say
> otherwise"?
Yes,
It keep the same with the current libxl behavior (trans nothing for
vga in the qemu cmd).
> What actually is that?
Cirrus will be selected by qemu in face.
> I think we'd be better off having it
> as an explicit option too and using setdefault to convert DEFAULT->that.

Ok.
>
>> + =A0 =A0(1, "STD"),
>> + =A0 =A0])
>> +
>> =A0#
>> =A0# Complex libxl types
>> =A0#
>> +
>> +libxl_vga_interface_info =3D Struct("vga_interface_info", [
>> + =A0 =A0("type", =A0 =A0libxl_vga_interface_type),
>> + =A0 =A0("vramkb", =A0MemKB),
>
> I can't see "vramkb" being used anywhere. Did you mean to include it in
> the followup "new vga interface" patch?

Yes.
By qxl or other vga in the future.
>
>> + =A0 =A0])
>> +
>> =A0libxl_vnc_info =3D Struct("vnc_info", [
>> =A0 =A0 =A0("enable", =A0 =A0 =A0 =A0libxl_defbool),
>> =A0 =A0 =A0# "address:port" that should be listened on
>> @@ -286,7 +297,7 @@ libxl_domain_build_info =3D Struct("domain
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("nested_hvm", =A0 =A0 =A0 libxl_defbool),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("incr_generationid",libxl_defbool),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("nographic", =A0 =A0 =A0 =A0libxl_defbool),
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("stdvga", =A0 =A0 =A0 =A0 =A0 libxl_defbool),
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("vga",
>> libxl_vga_interface_info),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("vnc", =A0 =A0 =A0 =A0 =A0 =A0 =A0libxl_vnc_info),
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 # keyboard layout, default is
>> en-us keyboard
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 ("keymap", =A0 =A0 =A0 =A0 =A0 string),
>
> Looks like this bit is whitespace damaged.
>
> http://wiki.xen.org/wiki/Submitting_Xen_Patches has some hints on using
> the mercurial patchbomb tool to avoid this and also a link to
> http://git.kernel.org/?p=3Dlinux/kernel/git/torvalds/linux-2.6.git;a=3Dbl=
ob;f=3DDocumentation/email-clients.txt;hb=3DHEAD
> which gives advice on using various mailclients to manually send patches
> without mangling them.
>> diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c
>> --- a/tools/libxl/xl_cmdimpl.c =A0 =A0 =A0 =A0Fri May 18 16:19:21 2012 +=
0100
>> +++ b/tools/libxl/xl_cmdimpl.c =A0 =A0 =A0 =A0Mon May 28 16:10:02 2012 +=
0800
>> @@ -1256,7 +1256,12 @@ skip_vfb:
>> =A0#undef parse_extra_args
>>
>> =A0 =A0 =A0if (c_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) {
>> - =A0 =A0 =A0 =A0xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.st=
dvga, 0);
>> + =A0 =A0 =A0 =A0libxl_defbool vga;
>> + =A0 =A0 =A0 =A0b_info->u.hvm.vga.type =3D LIBXL_VGA_INTERFACE_TYPE_DEF=
AULT;
>> + =A0 =A0 =A0 =A0if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0))
>> + =A0 =A0 =A0 =A0 =A0 =A0if (libxl_defbool_val(vga))
>
> I don't think you need to launder this through a defbool, since it is no
> longer one at the libxl interface. Use xlu_cfg_get_long into &l and
> then
> =A0 =A0 =A0 =A0if (l)

Ok.
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0b_info->u.hvm.vga.type =3D LIBXL_VGA_INTER=
FACE_TYPE_STD;
>
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0b_info->u.hvm.vga.type =3D LIBXL_VGA_IN=
TERFACE_TYPE_STD;
>> +
>> =A0 =A0 =A0 =A0 =A0xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc=
.enable, 0);
>> =A0 =A0 =A0 =A0 =A0xlu_cfg_replace_string (config, "vnclisten",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&b_in=
fo->u.hvm.vnc.listen, 0);
>> diff -r 592d15bd4d5e tools/libxl/xl_sxp.c
>> --- a/tools/libxl/xl_sxp.c =A0 =A0Fri May 18 16:19:21 2012 +0100
>> +++ b/tools/libxl/xl_sxp.c =A0 =A0Mon May 28 16:10:02 2012 +0800
>> @@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.ne=
sted_hvm));
>> =A0 =A0 =A0 =A0 =A0printf("\t\t\t(no_incr_generationid %s)\n",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.in=
cr_generationid));
>> - =A0 =A0 =A0 =A0printf("\t\t\t(stdvga %s)\n",
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.stdv=
ga));
>> + =A0 =A0 =A0 =A0libxl_defbool stdvga;
>> + =A0 =A0 =A0 =A0libxl_defbool_set(&stdvga,
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 b_info->u.hvm.vga.type =3D=3D LIBX=
L_VGA_INTERFACE_TYPE_STD);
>> + =A0 =A0 =A0 =A0printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(s=
tdvga));
>
> Likewise I think this is just
> =A0 =A0 =A0 =A0printf("\t\t\t(stdvga %s)\n",
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 b_info->u.hvm.vga.type =3D=3D LIBXL_VGA_INTER=
FACE_TYPE_STD) ?
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 True" : "False");
>
>> =A0 =A0 =A0 =A0 =A0printf("\t\t\t(vnc %s)\n",
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 libxl_defbool_to_string(b_info->u.hvm.vn=
c.enable));
>> =A0 =A0 =A0 =A0 =A0printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.li=
sten);
>>

Ok.
>
>



-- =

Zhou Peng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:16:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgtC-0003A0-Sq; Wed, 30 May 2012 11:16:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZgtB-00039u-IU
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:16:29 +0000
Received: from [85.158.139.83:27039] by server-5.bemta-5.messagelabs.com id
	68/09-16141-C8106CF4; Wed, 30 May 2012 11:16:28 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338376585!31110836!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg4Njg3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13983 invoked from network); 30 May 2012 11:16:26 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-182.messagelabs.com with SMTP;
	30 May 2012 11:16:26 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 30 May 2012 04:16:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149433763"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 04:16:23 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 04:16:22 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 19:16:21 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir@xen.org>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: AQHNPlCm0ErPzgLEKE+cn2xIVxGOfpbiLOlA
Date: Wed, 30 May 2012 11:16:20 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<CBEBB7A6.41871%keir@xen.org>
In-Reply-To: <CBEBB7A6.41871%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Wednesday, May 30, 2012 6:40 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson
> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
> 
> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
> 
> > Changes from v1:
> > - Define new struct hvm_trap to represent information of trap, include
> >   instruction length.
> > - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
> >   wrappers around that function for existing callers, so that their parameter
> >   lists actually *shrink*.
> 
> I checked in the series, except for the bit that infers trap type from
> within vmx_inject_trap(). Instead I plumbed through a trap-type field to
> dom0 toolstack, so the type can be specified by the caller.
> 

Thanks, that's more clean.

The INT3 trap type should be HVMOP_TRAP_sw_exc in tools/tests/xen-access/xen-access.c.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:16:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZgtC-0003A0-Sq; Wed, 30 May 2012 11:16:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZgtB-00039u-IU
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:16:29 +0000
Received: from [85.158.139.83:27039] by server-5.bemta-5.messagelabs.com id
	68/09-16141-C8106CF4; Wed, 30 May 2012 11:16:28 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338376585!31110836!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg4Njg3\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13983 invoked from network); 30 May 2012 11:16:26 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-2.tower-182.messagelabs.com with SMTP;
	30 May 2012 11:16:26 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 30 May 2012 04:16:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149433763"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 04:16:23 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 04:16:22 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 19:16:21 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Keir Fraser <keir@xen.org>, "JBeulich@suse.com" <JBeulich@suse.com>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: AQHNPlCm0ErPzgLEKE+cn2xIVxGOfpbiLOlA
Date: Wed, 30 May 2012 11:16:20 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<CBEBB7A6.41871%keir@xen.org>
In-Reply-To: <CBEBB7A6.41871%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Wednesday, May 30, 2012 6:40 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson
> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
> 
> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
> 
> > Changes from v1:
> > - Define new struct hvm_trap to represent information of trap, include
> >   instruction length.
> > - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
> >   wrappers around that function for existing callers, so that their parameter
> >   lists actually *shrink*.
> 
> I checked in the series, except for the bit that infers trap type from
> within vmx_inject_trap(). Instead I plumbed through a trap-type field to
> dom0 toolstack, so the type can be specified by the caller.
> 

Thanks, that's more clean.

The INT3 trap type should be HVMOP_TRAP_sw_exc in tools/tests/xen-access/xen-access.c.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:24:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:24:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZh0h-0003JM-QF; Wed, 30 May 2012 11:24:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZh0g-0003JH-GR
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:24:14 +0000
Received: from [193.109.254.147:40574] by server-11.bemta-14.messagelabs.com
	id 3B/DA-01965-D5306CF4; Wed, 30 May 2012 11:24:13 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338377052!12059449!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20588 invoked from network); 30 May 2012 11:24:12 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-3.tower-27.messagelabs.com with SMTP;
	30 May 2012 11:24:12 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 04:24:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149435420"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 04:24:11 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 04:24:10 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 19:24:08 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH v2 2/4] VMX: Fix the mistake of exception execution
Thread-Index: AQHNPgzunqeEkS5DVU65inQcR3JucZbhiDmAgACnFoA=
Date: Wed, 30 May 2012 11:24:08 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCB4EF@SHSMSX102.ccr.corp.intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<1338345347-22433-3-git-send-email-xudong.hao@intel.com>
	<4FC602170200007800086CA4@nat28.tlf.novell.com>
In-Reply-To: <4FC602170200007800086CA4@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "aravindh@virtuata.com" <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"keir.xen@gmail.com" <keir.xen@gmail.com>,
	"Ian.Jackson@eu.citrix.com" <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 2/4] VMX: Fix the mistake of exception
	execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Wednesday, May 30, 2012 5:19 PM
> To: Hao, Xudong
> Cc: Ian.Jackson@eu.citrix.com; keir.xen@gmail.com; Dong, Eddie; Zhang,
> Xiantao; xen-devel@lists.xen.org; aravindh@virtuata.com
> Subject: Re: [PATCH v2 2/4] VMX: Fix the mistake of exception execution
> 
> >>> On 30.05.12 at 04:35, Xudong Hao <xudong.hao@intel.com> wrote:
> > Fix the mistake for debug exception(#DB), overflow exception(#OF) and
> > INT3(#BP), INTn instruction emulation.
> >
> > Add inslen field in struct hvm_trap. According to instruction length,
> > to distinguish INT3 is generated by opcode 'CC' or 'CD ib =3',
> > so do INTO and #DB(debug exception).
> 
> As noted previously, using the instruction length here is not fully
> correct. Depending on how significant the distinction between
> software interrupt and software exception is, taking into account
> something like the opcode sequence 66 CC may be necessary. If
> the distinction is insignificant, then perhaps a code comment
> should say so.
> 

Jan, thanks comments, Keir added a trap type and both type and inslen can be specified by the caller now.

> More comments inline...
> 
> > Note:
> >  * For INTn (CD ib), it should use type 4 (software interrupt).
> >
> >  * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
> >    it should use type 6 (software exception).
> >
> >  * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF,
> > #MF,
> >    #AC, #MC, and #XM), it should use type 3 (hardware exception).
> >
> >  * In the unlikely event that you are emulating the undocumented opcode F1
> >    (informally called INT1 or ICEBP), it would use type 5 (privileged
> > software
> >    exception).
> >
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > Signed-off-by: Eddie Dong <eddie.dong@intel.com>
> > Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> > ---
> >  xen/arch/x86/hvm/vmx/vmx.c    |   43
> > ++++++++++++++++++++++++++++++++++++++++-
> >  xen/include/asm-x86/hvm/hvm.h |    2 +
> >  2 files changed, 44 insertions(+), 1 deletions(-)
> >
> > diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> > index c96d18b..cf08a11 100644
> > --- a/xen/arch/x86/hvm/vmx/vmx.c
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c
> > @@ -1381,6 +1381,19 @@ void vmx_inject_nmi(void)
> >                             HVM_DELIVER_NO_ERROR_CODE);
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and handle #DB hardware exception and all software
> > + * exception/interrupt, which include:
> > + *  - INT 3(CC), INTO (CE) instruction emulation, which should
> > + *    use X86_EVENTTYPE_SW_EXCEPTION;
> > + *  - INT nn (CD nn) instruction emulation, which should use
> > + *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
> > + *  - opcode 0xf1 generated #DB should use privileged software
> > + *    exception.
> > + */
> >  static void vmx_inject_trap(struct hvm_trap *trap)
> >  {
> >      unsigned long intr_info;
> > @@ -1399,6 +1412,12 @@ static void vmx_inject_trap(struct hvm_trap
> *trap)
> >      switch ( _trap.vector )
> >      {
> >      case TRAP_debug:
> > +        _trap.type = X86_EVENTTYPE_HW_EXCEPTION;
> > +        if ( _trap.inslen != 1 ) {
> 
> Opcode F1 certainly has length 1, so perhaps the condition is
> inverted? Perhaps length 0 should be used here to distinguish
> the hardware exception case from the F1-generated one.
> 

Yes, it's inverted..

> > +            _trap.type = X86_EVENTTYPE_PRI_SW_EXCEPTION;  /*
> opcode 0xf1 */
> > +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        }
> > +
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> > @@ -1414,6 +1433,27 @@ static void vmx_inject_trap(struct hvm_trap
> *trap)
> >              domain_pause_for_debugger();
> >              return;
> >          }
> > +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CC */
> > +        if ( _trap.inslen != 1 )
> > +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib
> with ib=3 */
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        break;
> > +
> > +    case TRAP_overflow:
> > +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CE */
> > +        if ( _trap.inslen != 1 )
> > +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib
> with ib=4 */
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        break;
> > +
> > +    default:
> > +        if ( _trap.vector > TRAP_last_reserved ) /* int imm8 */
> > +        {
> > +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;
> > +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        }
> > +        break;
> > +
> >      }
> >
> >      if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
> > @@ -2424,7 +2464,8 @@ void vmx_vmexit_handler(struct cpu_user_regs
> *regs)
> >                      struct hvm_trap trap = {
> >                          .vector = TRAP_int3,
> >                          .type = X86_EVENTTYPE_SW_EXCEPTION,
> > -                        .error_code =
> HVM_DELIVER_NO_ERROR_CODE
> > +                        .error_code =
> HVM_DELIVER_NO_ERROR_CODE,
> > +                        .inslen =
> __vmread(VM_EXIT_INSTRUCTION_LEN)
> >                      };
> >                      hvm_inject_trap(&trap);
> >                      break;
> > diff --git a/xen/include/asm-x86/hvm/hvm.h
> b/xen/include/asm-x86/hvm/hvm.h
> > index 65f7e20..a3d8bf1 100644
> > --- a/xen/include/asm-x86/hvm/hvm.h
> > +++ b/xen/include/asm-x86/hvm/hvm.h
> > @@ -76,6 +76,7 @@ struct hvm_trap {
> >      unsigned int  type;         /* X86_EVENTTYPE_* */
> >      int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE
> if n/a */
> >      unsigned long cr2;          /* Only for TRAP_page_fault h/w
> exception
> > */
> > +    int           inslen;       /* Instruction length */
> 
> May I suggest using "insnlen" instead?
> 
> Jan
> 
> >  };
> >
> >  /*
> > @@ -375,6 +376,7 @@ static inline int hvm_do_pmu_interrupt(struct
> > cpu_user_regs *regs)
> >  #define X86_EVENTTYPE_NMI                   2    /* NMI
> */
> >  #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware
> exception */
> >  #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software
> interrupt */
> > +#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged
> software exception */
> >  #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software
> exception */
> >
> >  int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
> > --
> > 1.5.5
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:24:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:24:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZh0h-0003JM-QF; Wed, 30 May 2012 11:24:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZh0g-0003JH-GR
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:24:14 +0000
Received: from [193.109.254.147:40574] by server-11.bemta-14.messagelabs.com
	id 3B/DA-01965-D5306CF4; Wed, 30 May 2012 11:24:13 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338377052!12059449!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20588 invoked from network); 30 May 2012 11:24:12 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-3.tower-27.messagelabs.com with SMTP;
	30 May 2012 11:24:12 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 04:24:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149435420"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 04:24:11 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 04:24:10 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 19:24:08 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Thread-Topic: [PATCH v2 2/4] VMX: Fix the mistake of exception execution
Thread-Index: AQHNPgzunqeEkS5DVU65inQcR3JucZbhiDmAgACnFoA=
Date: Wed, 30 May 2012 11:24:08 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCB4EF@SHSMSX102.ccr.corp.intel.com>
References: <1338345347-22433-1-git-send-email-xudong.hao@intel.com>
	<1338345347-22433-3-git-send-email-xudong.hao@intel.com>
	<4FC602170200007800086CA4@nat28.tlf.novell.com>
In-Reply-To: <4FC602170200007800086CA4@nat28.tlf.novell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "aravindh@virtuata.com" <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"keir.xen@gmail.com" <keir.xen@gmail.com>,
	"Ian.Jackson@eu.citrix.com" <Ian.Jackson@eu.citrix.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 2/4] VMX: Fix the mistake of exception
	execution
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: Wednesday, May 30, 2012 5:19 PM
> To: Hao, Xudong
> Cc: Ian.Jackson@eu.citrix.com; keir.xen@gmail.com; Dong, Eddie; Zhang,
> Xiantao; xen-devel@lists.xen.org; aravindh@virtuata.com
> Subject: Re: [PATCH v2 2/4] VMX: Fix the mistake of exception execution
> 
> >>> On 30.05.12 at 04:35, Xudong Hao <xudong.hao@intel.com> wrote:
> > Fix the mistake for debug exception(#DB), overflow exception(#OF) and
> > INT3(#BP), INTn instruction emulation.
> >
> > Add inslen field in struct hvm_trap. According to instruction length,
> > to distinguish INT3 is generated by opcode 'CC' or 'CD ib =3',
> > so do INTO and #DB(debug exception).
> 
> As noted previously, using the instruction length here is not fully
> correct. Depending on how significant the distinction between
> software interrupt and software exception is, taking into account
> something like the opcode sequence 66 CC may be necessary. If
> the distinction is insignificant, then perhaps a code comment
> should say so.
> 

Jan, thanks comments, Keir added a trap type and both type and inslen can be specified by the caller now.

> More comments inline...
> 
> > Note:
> >  * For INTn (CD ib), it should use type 4 (software interrupt).
> >
> >  * For INT3 (CC; NOT CD ib with ib=3) and INTO (CE; NOT CD ib with ib=4),
> >    it should use type 6 (software exception).
> >
> >  * For other exceptions (#DE, #DB, #BR, #UD, #NM, #TS, #NP, #SS, #GP, #PF,
> > #MF,
> >    #AC, #MC, and #XM), it should use type 3 (hardware exception).
> >
> >  * In the unlikely event that you are emulating the undocumented opcode F1
> >    (informally called INT1 or ICEBP), it would use type 5 (privileged
> > software
> >    exception).
> >
> > Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> > Signed-off-by: Eddie Dong <eddie.dong@intel.com>
> > Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
> > ---
> >  xen/arch/x86/hvm/vmx/vmx.c    |   43
> > ++++++++++++++++++++++++++++++++++++++++-
> >  xen/include/asm-x86/hvm/hvm.h |    2 +
> >  2 files changed, 44 insertions(+), 1 deletions(-)
> >
> > diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> > index c96d18b..cf08a11 100644
> > --- a/xen/arch/x86/hvm/vmx/vmx.c
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c
> > @@ -1381,6 +1381,19 @@ void vmx_inject_nmi(void)
> >                             HVM_DELIVER_NO_ERROR_CODE);
> >  }
> >
> > +/*
> > + * Generate the virtual event to guest.
> > + * NOTE:
> > + *    This is for processor execution generated exceptions,
> > + * and handle #DB hardware exception and all software
> > + * exception/interrupt, which include:
> > + *  - INT 3(CC), INTO (CE) instruction emulation, which should
> > + *    use X86_EVENTTYPE_SW_EXCEPTION;
> > + *  - INT nn (CD nn) instruction emulation, which should use
> > + *    X86_EVENTTYPE_SW_INTERRUPT as interrupt type;
> > + *  - opcode 0xf1 generated #DB should use privileged software
> > + *    exception.
> > + */
> >  static void vmx_inject_trap(struct hvm_trap *trap)
> >  {
> >      unsigned long intr_info;
> > @@ -1399,6 +1412,12 @@ static void vmx_inject_trap(struct hvm_trap
> *trap)
> >      switch ( _trap.vector )
> >      {
> >      case TRAP_debug:
> > +        _trap.type = X86_EVENTTYPE_HW_EXCEPTION;
> > +        if ( _trap.inslen != 1 ) {
> 
> Opcode F1 certainly has length 1, so perhaps the condition is
> inverted? Perhaps length 0 should be used here to distinguish
> the hardware exception case from the F1-generated one.
> 

Yes, it's inverted..

> > +            _trap.type = X86_EVENTTYPE_PRI_SW_EXCEPTION;  /*
> opcode 0xf1 */
> > +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        }
> > +
> >          if ( guest_cpu_user_regs()->eflags & X86_EFLAGS_TF )
> >          {
> >              __restore_debug_registers(curr);
> > @@ -1414,6 +1433,27 @@ static void vmx_inject_trap(struct hvm_trap
> *trap)
> >              domain_pause_for_debugger();
> >              return;
> >          }
> > +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CC */
> > +        if ( _trap.inslen != 1 )
> > +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib
> with ib=3 */
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        break;
> > +
> > +    case TRAP_overflow:
> > +        _trap.type = X86_EVENTTYPE_SW_EXCEPTION;  /* CE */
> > +        if ( _trap.inslen != 1 )
> > +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;  /* CD ib
> with ib=4 */
> > +        __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        break;
> > +
> > +    default:
> > +        if ( _trap.vector > TRAP_last_reserved ) /* int imm8 */
> > +        {
> > +            _trap.type = X86_EVENTTYPE_SW_INTERRUPT;
> > +            __vmwrite(VM_ENTRY_INSTRUCTION_LEN, _trap.inslen);
> > +        }
> > +        break;
> > +
> >      }
> >
> >      if ( unlikely(intr_info & INTR_INFO_VALID_MASK) &&
> > @@ -2424,7 +2464,8 @@ void vmx_vmexit_handler(struct cpu_user_regs
> *regs)
> >                      struct hvm_trap trap = {
> >                          .vector = TRAP_int3,
> >                          .type = X86_EVENTTYPE_SW_EXCEPTION,
> > -                        .error_code =
> HVM_DELIVER_NO_ERROR_CODE
> > +                        .error_code =
> HVM_DELIVER_NO_ERROR_CODE,
> > +                        .inslen =
> __vmread(VM_EXIT_INSTRUCTION_LEN)
> >                      };
> >                      hvm_inject_trap(&trap);
> >                      break;
> > diff --git a/xen/include/asm-x86/hvm/hvm.h
> b/xen/include/asm-x86/hvm/hvm.h
> > index 65f7e20..a3d8bf1 100644
> > --- a/xen/include/asm-x86/hvm/hvm.h
> > +++ b/xen/include/asm-x86/hvm/hvm.h
> > @@ -76,6 +76,7 @@ struct hvm_trap {
> >      unsigned int  type;         /* X86_EVENTTYPE_* */
> >      int           error_code;   /* HVM_DELIVER_NO_ERROR_CODE
> if n/a */
> >      unsigned long cr2;          /* Only for TRAP_page_fault h/w
> exception
> > */
> > +    int           inslen;       /* Instruction length */
> 
> May I suggest using "insnlen" instead?
> 
> Jan
> 
> >  };
> >
> >  /*
> > @@ -375,6 +376,7 @@ static inline int hvm_do_pmu_interrupt(struct
> > cpu_user_regs *regs)
> >  #define X86_EVENTTYPE_NMI                   2    /* NMI
> */
> >  #define X86_EVENTTYPE_HW_EXCEPTION          3    /* hardware
> exception */
> >  #define X86_EVENTTYPE_SW_INTERRUPT          4    /* software
> interrupt */
> > +#define X86_EVENTTYPE_PRI_SW_EXCEPTION      5    /* privileged
> software exception */
> >  #define X86_EVENTTYPE_SW_EXCEPTION          6    /* software
> exception */
> >
> >  int hvm_event_needs_reinjection(uint8_t type, uint8_t vector);
> > --
> > 1.5.5
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:34:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:34:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZh9m-0003U0-UF; Wed, 30 May 2012 11:33:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZh9l-0003Tv-DF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:33:37 +0000
Received: from [85.158.143.35:59523] by server-1.bemta-4.messagelabs.com id
	09/51-27869-09506CF4; Wed, 30 May 2012 11:33:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338377614!6638940!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5353 invoked from network); 30 May 2012 11:33:35 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:33:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196881662"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:33:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 07:33:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZh9h-0007Ov-31;
	Wed, 30 May 2012 12:33:33 +0100
Message-ID: <4FC6058E.8080007@citrix.com>
Date: Wed, 30 May 2012 12:33:34 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-9-git-send-email-roger.pau@citrix.com>
	<20420.57899.741924.469693@mariner.uk.xensource.com>
In-Reply-To: <20420.57899.741924.469693@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
>> +    return;
>> +
>> +out:
>> +    libxl__ev_time_deregister(gc,&aodev->ev);
>> +    aodev->rc = rc;
>> +    aodev->callback(egc, aodev);
>> +    return;
>> +}
>
> Shouldn't something set aodev->state to FINISHED in this error path ?
>
> It might be better to have a helper function to call when declaring
> the aodev finished.  That helper function would also do the
> _ev_time_deregister, and assert !libxl__ev_child_inuse.

Setting the aodev to finished is always done in 
libxl__ao_device_check_last, which should be called by the user.

>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index 45b776c..da5b02b 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
> ...
>> +    /* device hotplug execution */
>> +    pid_t pid;
>> +    char *what;
>> +    libxl__ev_time ev;
>> +    libxl__ev_child child;
>
> Is the pid inside child not sufficient ?

Probably, I just wasn't sure if the user of libxl__ev_child was allowed 
to pick values inside the struct, now I saw the comment :)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:34:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:34:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZh9m-0003U0-UF; Wed, 30 May 2012 11:33:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZh9l-0003Tv-DF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:33:37 +0000
Received: from [85.158.143.35:59523] by server-1.bemta-4.messagelabs.com id
	09/51-27869-09506CF4; Wed, 30 May 2012 11:33:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338377614!6638940!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5353 invoked from network); 30 May 2012 11:33:35 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:33:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196881662"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:33:33 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 07:33:33 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZh9h-0007Ov-31;
	Wed, 30 May 2012 12:33:33 +0100
Message-ID: <4FC6058E.8080007@citrix.com>
Date: Wed, 30 May 2012 12:33:34 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-9-git-send-email-roger.pau@citrix.com>
	<20420.57899.741924.469693@mariner.uk.xensource.com>
In-Reply-To: <20420.57899.741924.469693@mariner.uk.xensource.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 08/10] libxl: call hotplug scripts for
 disk devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Jackson wrote:
>> +    return;
>> +
>> +out:
>> +    libxl__ev_time_deregister(gc,&aodev->ev);
>> +    aodev->rc = rc;
>> +    aodev->callback(egc, aodev);
>> +    return;
>> +}
>
> Shouldn't something set aodev->state to FINISHED in this error path ?
>
> It might be better to have a helper function to call when declaring
> the aodev finished.  That helper function would also do the
> _ev_time_deregister, and assert !libxl__ev_child_inuse.

Setting the aodev to finished is always done in 
libxl__ao_device_check_last, which should be called by the user.

>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index 45b776c..da5b02b 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
> ...
>> +    /* device hotplug execution */
>> +    pid_t pid;
>> +    char *what;
>> +    libxl__ev_time ev;
>> +    libxl__ev_child child;
>
> Is the pid inside child not sufficient ?

Probably, I just wasn't sure if the user of libxl__ev_child was allowed 
to pick values inside the struct, now I saw the comment :)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:42:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:42:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhHX-0003dI-Tc; Wed, 30 May 2012 11:41:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZhHV-0003dD-Jb
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:41:37 +0000
Received: from [85.158.143.99:8853] by server-1.bemta-4.messagelabs.com id
	53/43-27869-07706CF4; Wed, 30 May 2012 11:41:36 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338378095!25180181!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1447 invoked from network); 30 May 2012 11:41:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:41:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12735563"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 11:41:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 12:41:35 +0100
Date: Wed, 30 May 2012 12:41:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FC54C35.2090802@tycho.nsa.gov>
Message-ID: <alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Daniel De Graaf wrote:
> On 05/24/2012 01:23 PM, Jean Guyader wrote:
> > As I'm going through the code to clean-up XenClient's inter VM
> > communication
> > (V4V), I thought it would be a good idea to start a thread to talk about
> > the
> > fundamental differences between V4V and libvchan. I believe the two system
> > are
> > not clones of eachother and they serve different
> > purposes.
> > 
> > 
> > Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
> > about libvchan it coming from my reading of the code. If some of the facts
> > are wrong it's only due to my ignorance about the subject.
> > 
> 
> I'll try to fill in some of these points with my understanding of libvchan;
> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
> there.
> 
> > 1. Why V4V?
> > 
> > About the time when we started XenClient (3 year ago) we were looking for a
> > lightweight inter VM communication scheme. We started working on a system
> > based on netchannel2 at the time called V2V (VM to VM). The system
> > was very similar to what libvchan is today, and we started to hit some
> > roadblocks:
> > 
> >     - The setup relied on a broker in dom0 to prepare the xenstore node
> >       permissions when a guest wanted to create a new connection. The code
> >       to do this setup was a single point of failure. If the
> >       broker was down you could create any more connections.
> 
> libvchan avoids this by allowing the application to determine the xenstore
> path and adjusts permissions itself; the path /local/domain/N/data is
> suitable for a libvchan server in domain N to create the nodes in question.

Let say that the frontend lives in domain A and that the backend lives
in domain N.
Usually the frontend has a node:

/local/domain/A/device/<devicename>/<number>/backend

that points to the backend, in this case:

/local/domain/N/backend/<devicename>/A/<number>

The backend is not allowed to write to the frontend path, so it cannot write
its own path in the backend node. Clearly the frontend doesn't know that
information so it cannot fill it up. So the toolstack (typically in
dom0) helps with the initial setup writing down under the frontend path
where is the backend.
How does libvchan solve this issue?


> >     - Symmetric communications were a nightmare. Take the case where A is a
> >       backend for B and B is a backend for A. If one of the domain crash the
> >       other one couldn't be destroyed because it has some paged mapped from
> >       the dead domain. This specific issue is probably fixed today.
> 
> This is mostly taken care of by improvements in the hypervisor's handling of
> grant mappings. If one domain holds grant mappings open, the domain whose
> grants are held can't be fully destroyed, but if both domains are being
> destroyed then cycles of grant mappings won't stop them from going away.

However under normal circumstances the domain holding the mappings (that
I guess it would be the domain running the backend, correct?) would
recognize that the other domain is gone and therefore unmap the grants
and close the connection, right?
I hope that if the frontend crashes and dies, it doesn't necessarily
become a zombie because the backend holds some mappings.


> >     - The PV connect/disconnect state-machine is poorly implemented.
> >       There's no trivial mechanism to synchronize disconnecting/reconnecting
> >       and dom0 must also allow the two domains to see parts of xenstore
> >       belonging to the other domain in the process.
> 
> No interaction from dom0 is required to allow two domUs to communicate using
> xenstore (assuming the standard xenstored; more restrictive xenstored
> daemons may add such restrictions, intended to be used in conjunction with XSM
> policies preventing direct communication via event channels/grants). The
> connection state machine is weak; an external mechanism (perhaps the standard
> xenbus "state" entry) could be used to coordinate this better in the user of
> libvchan.

I am curious to know what the "connection state machine" is in libvchan.


> >     - Using the grant-ref model and having to map grant pages on each
> >       transfer cause updates to V->P memory mappings and thus leads to
> >       TLB misses and flushes (TLB flushes being expensive operations).
> 
> This mapping only happens once at the open of the channel, so this cost becomes
> unimportant for a long-running channel. The cost is far higher for HVM domains
> that use PCI devices since the grant mapping causes an IOMMU flush.

So I take that you are not passing grant refs through the connection,
unlike blkfront and blkback.



> [followup from Stefano's replies]
> I would not expect much difference even on a NUMA system, assuming each domU
> is fully contained within a NUMA node: one of the two copies made by libvchan
> will be confined to a single node, while the other copy will be cross-node.
> With domUs not properly confined to nodes, the hypervisor might be able to do
> better in cases where libvchan would have required two inter-node copies.

Right, I didn't realize that libvchan uses copies rather than grant refs
to transfer the actual data.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:42:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:42:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhHX-0003dI-Tc; Wed, 30 May 2012 11:41:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZhHV-0003dD-Jb
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:41:37 +0000
Received: from [85.158.143.99:8853] by server-1.bemta-4.messagelabs.com id
	53/43-27869-07706CF4; Wed, 30 May 2012 11:41:36 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338378095!25180181!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1447 invoked from network); 30 May 2012 11:41:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:41:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12735563"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 11:41:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 12:41:35 +0100
Date: Wed, 30 May 2012 12:41:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FC54C35.2090802@tycho.nsa.gov>
Message-ID: <alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, 29 May 2012, Daniel De Graaf wrote:
> On 05/24/2012 01:23 PM, Jean Guyader wrote:
> > As I'm going through the code to clean-up XenClient's inter VM
> > communication
> > (V4V), I thought it would be a good idea to start a thread to talk about
> > the
> > fundamental differences between V4V and libvchan. I believe the two system
> > are
> > not clones of eachother and they serve different
> > purposes.
> > 
> > 
> > Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
> > about libvchan it coming from my reading of the code. If some of the facts
> > are wrong it's only due to my ignorance about the subject.
> > 
> 
> I'll try to fill in some of these points with my understanding of libvchan;
> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
> there.
> 
> > 1. Why V4V?
> > 
> > About the time when we started XenClient (3 year ago) we were looking for a
> > lightweight inter VM communication scheme. We started working on a system
> > based on netchannel2 at the time called V2V (VM to VM). The system
> > was very similar to what libvchan is today, and we started to hit some
> > roadblocks:
> > 
> >     - The setup relied on a broker in dom0 to prepare the xenstore node
> >       permissions when a guest wanted to create a new connection. The code
> >       to do this setup was a single point of failure. If the
> >       broker was down you could create any more connections.
> 
> libvchan avoids this by allowing the application to determine the xenstore
> path and adjusts permissions itself; the path /local/domain/N/data is
> suitable for a libvchan server in domain N to create the nodes in question.

Let say that the frontend lives in domain A and that the backend lives
in domain N.
Usually the frontend has a node:

/local/domain/A/device/<devicename>/<number>/backend

that points to the backend, in this case:

/local/domain/N/backend/<devicename>/A/<number>

The backend is not allowed to write to the frontend path, so it cannot write
its own path in the backend node. Clearly the frontend doesn't know that
information so it cannot fill it up. So the toolstack (typically in
dom0) helps with the initial setup writing down under the frontend path
where is the backend.
How does libvchan solve this issue?


> >     - Symmetric communications were a nightmare. Take the case where A is a
> >       backend for B and B is a backend for A. If one of the domain crash the
> >       other one couldn't be destroyed because it has some paged mapped from
> >       the dead domain. This specific issue is probably fixed today.
> 
> This is mostly taken care of by improvements in the hypervisor's handling of
> grant mappings. If one domain holds grant mappings open, the domain whose
> grants are held can't be fully destroyed, but if both domains are being
> destroyed then cycles of grant mappings won't stop them from going away.

However under normal circumstances the domain holding the mappings (that
I guess it would be the domain running the backend, correct?) would
recognize that the other domain is gone and therefore unmap the grants
and close the connection, right?
I hope that if the frontend crashes and dies, it doesn't necessarily
become a zombie because the backend holds some mappings.


> >     - The PV connect/disconnect state-machine is poorly implemented.
> >       There's no trivial mechanism to synchronize disconnecting/reconnecting
> >       and dom0 must also allow the two domains to see parts of xenstore
> >       belonging to the other domain in the process.
> 
> No interaction from dom0 is required to allow two domUs to communicate using
> xenstore (assuming the standard xenstored; more restrictive xenstored
> daemons may add such restrictions, intended to be used in conjunction with XSM
> policies preventing direct communication via event channels/grants). The
> connection state machine is weak; an external mechanism (perhaps the standard
> xenbus "state" entry) could be used to coordinate this better in the user of
> libvchan.

I am curious to know what the "connection state machine" is in libvchan.


> >     - Using the grant-ref model and having to map grant pages on each
> >       transfer cause updates to V->P memory mappings and thus leads to
> >       TLB misses and flushes (TLB flushes being expensive operations).
> 
> This mapping only happens once at the open of the channel, so this cost becomes
> unimportant for a long-running channel. The cost is far higher for HVM domains
> that use PCI devices since the grant mapping causes an IOMMU flush.

So I take that you are not passing grant refs through the connection,
unlike blkfront and blkback.



> [followup from Stefano's replies]
> I would not expect much difference even on a NUMA system, assuming each domU
> is fully contained within a NUMA node: one of the two copies made by libvchan
> will be confined to a single node, while the other copy will be cross-node.
> With domUs not properly confined to nodes, the hypervisor might be able to do
> better in cases where libvchan would have required two inter-node copies.

Right, I didn't realize that libvchan uses copies rather than grant refs
to transfer the actual data.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:47:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:47:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhN1-0003lK-NL; Wed, 30 May 2012 11:47:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZhN0-0003lE-VK
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 11:47:19 +0000
Received: from [85.158.139.83:43524] by server-1.bemta-5.messagelabs.com id
	5C/1A-21549-6C806CF4; Wed, 30 May 2012 11:47:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338378437!30594638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16613 invoked from network); 30 May 2012 11:47:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:47:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12735689"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 11:47:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:47:16 +0100
Message-ID: <1338378435.7864.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Wed, 30 May 2012 12:47:15 +0100
In-Reply-To: <CAAh7U5NBJgi_qAuvq+FKgDY-WVcW2NWOtTFTBvNMkGy_YjQS7g@mail.gmail.com>
References: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
	<1338283059.14158.85.camel@zakaz.uk.xensource.com>
	<CAAh7U5NBJgi_qAuvq+FKgDY-WVcW2NWOtTFTBvNMkGy_YjQS7g@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option
 support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 11:45 +0100, ZhouPeng wrote:

> >> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
> >>
> >> diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
> >> --- a/tools/libxl/libxl_types.idl     Fri May 18 16:19:21 2012 +0100
> >> +++ b/tools/libxl/libxl_types.idl     Mon May 28 16:10:02 2012 +0800
> >> @@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
> >>      (4, "watchdog"),
> >>      ])
> >>
> >> +libxl_vga_interface_type = Enumeration("vga_interface_type", [
> >> +    (0, "DEFAULT"),
> >
> > "DEFAULT" here just means "whatever qemu gives you if you don't say
> > otherwise"?
> Yes,
> It keep the same with the current libxl behavior (trans nothing for
> vga in the qemu cmd).
> > What actually is that?
> Cirrus will be selected by qemu in face.

Lets call this option "CIRRUS" then instead of "DEFAULT" then.

Thanks,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:47:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:47:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhN1-0003lK-NL; Wed, 30 May 2012 11:47:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZhN0-0003lE-VK
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 11:47:19 +0000
Received: from [85.158.139.83:43524] by server-1.bemta-5.messagelabs.com id
	5C/1A-21549-6C806CF4; Wed, 30 May 2012 11:47:18 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338378437!30594638!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16613 invoked from network); 30 May 2012 11:47:17 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:47:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12735689"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 11:47:16 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:47:16 +0100
Message-ID: <1338378435.7864.4.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Wed, 30 May 2012 12:47:15 +0100
In-Reply-To: <CAAh7U5NBJgi_qAuvq+FKgDY-WVcW2NWOtTFTBvNMkGy_YjQS7g@mail.gmail.com>
References: <CAAh7U5MDX8-9arQExd=U35MpR-kU2r3W7HsrE=kKzy0=WLt+hw@mail.gmail.com>
	<1338283059.14158.85.camel@zakaz.uk.xensource.com>
	<CAAh7U5NBJgi_qAuvq+FKgDY-WVcW2NWOtTFTBvNMkGy_YjQS7g@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option
 support
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 11:45 +0100, ZhouPeng wrote:

> >> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
> >>
> >> diff -r 592d15bd4d5e tools/libxl/libxl_types.idl
> >> --- a/tools/libxl/libxl_types.idl     Fri May 18 16:19:21 2012 +0100
> >> +++ b/tools/libxl/libxl_types.idl     Mon May 28 16:10:02 2012 +0800
> >> @@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu
> >>      (4, "watchdog"),
> >>      ])
> >>
> >> +libxl_vga_interface_type = Enumeration("vga_interface_type", [
> >> +    (0, "DEFAULT"),
> >
> > "DEFAULT" here just means "whatever qemu gives you if you don't say
> > otherwise"?
> Yes,
> It keep the same with the current libxl behavior (trans nothing for
> vga in the qemu cmd).
> > What actually is that?
> Cirrus will be selected by qemu in face.

Lets call this option "CIRRUS" then instead of "DEFAULT" then.

Thanks,
Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:53:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:53:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhSP-0003ue-Tl; Wed, 30 May 2012 11:52:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZhSN-0003uX-T6
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:52:52 +0000
Received: from [85.158.138.51:64603] by server-11.bemta-3.messagelabs.com id
	4A/2C-32748-31A06CF4; Wed, 30 May 2012 11:52:51 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338378768!29940539!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2289 invoked from network); 30 May 2012 11:52:50 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:52:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196883068"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:52:48 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 07:52:47 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZhSJ-0007sM-Br;
	Wed, 30 May 2012 12:52:47 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 12:52:45 +0100
Message-ID: <1338378765-20838-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-trad/block: add support for NetBSD phy
	interfaces
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add support for NetBSD to get the correct size for phy block devices,
and use character devices instead of block devices.

This has been in pkgsrc tree for a long time, and is present in upstream qemu.
It is not pretty, but I'm fairly confident that it doesn't break anything on
the Linux side.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 block-raw-posix.c |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/block-raw-posix.c b/block-raw-posix.c
index 9a02d4f..7429c7b 100644
--- a/block-raw-posix.c
+++ b/block-raw-posix.c
@@ -66,6 +66,13 @@
 #include <sys/disklabel.h>
 #include <sys/dkio.h>
 #endif
+#if defined(__NetBSD__)
+#include <sys/ioctl.h>
+#include <sys/disklabel.h>
+#include <sys/dkio.h>
+#define SLIST_ENTRY(x) int /*XXXX !*/
+#include <sys/disk.h>
+#endif
 
 //#define DEBUG_FLOPPY
 
@@ -120,6 +127,33 @@ static int raw_open(BlockDriverState *bs, const char *filename, int flags)
 {
     BDRVRawState *s = bs->opaque;
     int fd, open_flags, ret;
+#ifdef __NetBSD__
+    struct stat sb;
+    static char namebuf[MAXPATHLEN];
+    const char *dp;
+
+    if (lstat(filename, &sb) < 0) {
+        fprintf(stderr, "%s: stat failed: %s\n", filename, strerror(errno));
+        return -errno;
+    }
+    if (S_ISLNK(sb.st_mode)) {
+        fprintf(stderr, "%s: symolink links not supported by qemu-dm\n",
+                        filename);
+        return -EINVAL;
+    }
+    if (S_ISBLK(sb.st_mode)) {
+        dp = strrchr(filename, '/');
+        if (dp == NULL) {
+            snprintf(namebuf, MAXPATHLEN, "r%s", filename);
+        } else {
+            snprintf(namebuf, MAXPATHLEN, "%.*s/r%s",
+                     (int)(dp - filename), filename, dp + 1);
+        }
+        fprintf(stderr, "%s is a block device", filename);
+        filename = namebuf;
+        fprintf(stderr, ", using %s\n", filename);
+    }
+#endif
 
     posix_aio_init();
 
@@ -749,7 +783,7 @@ static int raw_truncate(BlockDriverState *bs, int64_t offset)
     return 0;
 }
 
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__NetBSD__)
 static int64_t raw_getlength(BlockDriverState *bs)
 {
     BDRVRawState *s = bs->opaque;
@@ -759,16 +793,29 @@ static int64_t raw_getlength(BlockDriverState *bs)
     if (fstat(fd, &st))
         return -1;
     if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)) {
+#if defined(__OpenBSD__)
         struct disklabel dl;
 
         if (ioctl(fd, DIOCGDINFO, &dl))
             return -1;
         return (uint64_t)dl.d_secsize *
             dl.d_partitions[DISKPART(st.st_rdev)].p_size;
+#else
+        struct dkwedge_info dkw;
+        if (ioctl(fd, DIOCGWEDGEINFO, &dkw) != -1) {
+            return dkw.dkw_size * 512;
+        }  else {
+            struct disklabel dl;
+            if(ioctl(fd, DIOCGDINFO, &dl))
+                return -1;
+            return (uint64_t)dl.d_secsize *
+                   dl.d_partitions[DISKPART(st.st_rdev)].p_size;
+        }
+#endif
     } else
         return st.st_size;
 }
-#else /* !__OpenBSD__ */
+#else /* !__OpenBSD__ && ! __NetBSD__  */
 static int64_t  raw_getlength(BlockDriverState *bs)
 {
     BDRVRawState *s = bs->opaque;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:53:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:53:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhSP-0003ue-Tl; Wed, 30 May 2012 11:52:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZhSN-0003uX-T6
	for xen-devel@lists.xen.org; Wed, 30 May 2012 11:52:52 +0000
Received: from [85.158.138.51:64603] by server-11.bemta-3.messagelabs.com id
	4A/2C-32748-31A06CF4; Wed, 30 May 2012 11:52:51 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338378768!29940539!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2289 invoked from network); 30 May 2012 11:52:50 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:52:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196883068"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 07:52:48 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 07:52:47 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZhSJ-0007sM-Br;
	Wed, 30 May 2012 12:52:47 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 12:52:45 +0100
Message-ID: <1338378765-20838-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-trad/block: add support for NetBSD phy
	interfaces
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add support for NetBSD to get the correct size for phy block devices,
and use character devices instead of block devices.

This has been in pkgsrc tree for a long time, and is present in upstream qemu.
It is not pretty, but I'm fairly confident that it doesn't break anything on
the Linux side.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 block-raw-posix.c |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/block-raw-posix.c b/block-raw-posix.c
index 9a02d4f..7429c7b 100644
--- a/block-raw-posix.c
+++ b/block-raw-posix.c
@@ -66,6 +66,13 @@
 #include <sys/disklabel.h>
 #include <sys/dkio.h>
 #endif
+#if defined(__NetBSD__)
+#include <sys/ioctl.h>
+#include <sys/disklabel.h>
+#include <sys/dkio.h>
+#define SLIST_ENTRY(x) int /*XXXX !*/
+#include <sys/disk.h>
+#endif
 
 //#define DEBUG_FLOPPY
 
@@ -120,6 +127,33 @@ static int raw_open(BlockDriverState *bs, const char *filename, int flags)
 {
     BDRVRawState *s = bs->opaque;
     int fd, open_flags, ret;
+#ifdef __NetBSD__
+    struct stat sb;
+    static char namebuf[MAXPATHLEN];
+    const char *dp;
+
+    if (lstat(filename, &sb) < 0) {
+        fprintf(stderr, "%s: stat failed: %s\n", filename, strerror(errno));
+        return -errno;
+    }
+    if (S_ISLNK(sb.st_mode)) {
+        fprintf(stderr, "%s: symolink links not supported by qemu-dm\n",
+                        filename);
+        return -EINVAL;
+    }
+    if (S_ISBLK(sb.st_mode)) {
+        dp = strrchr(filename, '/');
+        if (dp == NULL) {
+            snprintf(namebuf, MAXPATHLEN, "r%s", filename);
+        } else {
+            snprintf(namebuf, MAXPATHLEN, "%.*s/r%s",
+                     (int)(dp - filename), filename, dp + 1);
+        }
+        fprintf(stderr, "%s is a block device", filename);
+        filename = namebuf;
+        fprintf(stderr, ", using %s\n", filename);
+    }
+#endif
 
     posix_aio_init();
 
@@ -749,7 +783,7 @@ static int raw_truncate(BlockDriverState *bs, int64_t offset)
     return 0;
 }
 
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) || defined(__NetBSD__)
 static int64_t raw_getlength(BlockDriverState *bs)
 {
     BDRVRawState *s = bs->opaque;
@@ -759,16 +793,29 @@ static int64_t raw_getlength(BlockDriverState *bs)
     if (fstat(fd, &st))
         return -1;
     if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)) {
+#if defined(__OpenBSD__)
         struct disklabel dl;
 
         if (ioctl(fd, DIOCGDINFO, &dl))
             return -1;
         return (uint64_t)dl.d_secsize *
             dl.d_partitions[DISKPART(st.st_rdev)].p_size;
+#else
+        struct dkwedge_info dkw;
+        if (ioctl(fd, DIOCGWEDGEINFO, &dkw) != -1) {
+            return dkw.dkw_size * 512;
+        }  else {
+            struct disklabel dl;
+            if(ioctl(fd, DIOCGDINFO, &dl))
+                return -1;
+            return (uint64_t)dl.d_secsize *
+                   dl.d_partitions[DISKPART(st.st_rdev)].p_size;
+        }
+#endif
     } else
         return st.st_size;
 }
-#else /* !__OpenBSD__ */
+#else /* !__OpenBSD__ && ! __NetBSD__  */
 static int64_t  raw_getlength(BlockDriverState *bs)
 {
     BDRVRawState *s = bs->opaque;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:55:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:55:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhUd-00041R-LZ; Wed, 30 May 2012 11:55:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZhUb-00041J-SF
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 11:55:10 +0000
Received: from [85.158.143.99:57568] by server-2.bemta-4.messagelabs.com id
	E0/2F-11595-D9A06CF4; Wed, 30 May 2012 11:55:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338378906!30177777!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23860 invoked from network); 30 May 2012 11:55:07 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:55:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12735865"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 11:55:06 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:55:06 +0100
Message-ID: <1338378905.7864.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Wed, 30 May 2012 12:55:05 +0100
In-Reply-To: <CAAh7U5NYGFDpk8ukEexzuCr=MZtUuidm1H4zu6Y_ooT-YH3TQg@mail.gmail.com>
References: <CAAh7U5NYGFDpk8ukEexzuCr=MZtUuidm1H4zu6Y_ooT-YH3TQg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH QXL 2/2] libxl: Add qxl vga interface
 support.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 11:24 +0100, ZhouPeng wrote:
> Add qxl vga interface support.
> 
> Usage:
>   qxl=1
>   qxlvram=64
>   qxlram=64

Thanks, I don't think this is 4.2 material so this would have to wait
until the 4.3 dev cycle.

The patch needs to include documentation updates to docs/man/xl*.

> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
> 
> diff -r c6641e3fe158 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c	Mon May 28 16:25:59 2012 +0800
> +++ b/tools/libxl/libxl_dm.c	Wed May 30 17:48:38 2012 +0800
> @@ -181,6 +181,8 @@ static char ** libxl__build_device_model
>              flexarray_append(dm_args, "-std-vga");
>              break;
>          case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
> +            break;
> +        default:

Please enumerate the options rather than using default:, so we can catch
all the places when we add new options.

>              break;
>          }
> 
> @@ -426,6 +428,17 @@ static char ** libxl__build_device_model
>          switch (b_info->u.hvm.vga.type) {
>          case LIBXL_VGA_INTERFACE_TYPE_STD:
>              flexarray_vappend(dm_args, "-vga", "std", NULL);
> +            break;
> +        case LIBXL_VGA_INTERFACE_TYPE_QXL:

Since this appears to be qemu-xen only (not qemu-xen-traditional)
libxl__domain_build_info_setdefault should be checking for sane
combinations.

> +            flexarray_vappend(dm_args, "-vga", "qxl", NULL);
> +            flexarray_vappend(dm_args, "-global",
> +                          libxl__sprintf(gc, "qxl-vga.vram_size=%lu",

Using GCSPRINTF would shorten this line a bit.

> +                              b_info->u.hvm.vga.vramkb * 1024),
> +                          NULL);
> +            flexarray_vappend(dm_args, "-global",
> +                          libxl__sprintf(gc, "qxl-vga.ram_size=%lu",
> +                              b_info->u.hvm.vga.ramkb * 1024),
> +                          NULL);
>              break;
>          case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
>              break;
[...]
> @@ -137,6 +138,7 @@ libxl_vga_interface_info = Struct("vga_i
>  libxl_vga_interface_info = Struct("vga_interface_info", [
>      ("type",    libxl_vga_interface_type),
>      ("vramkb",  MemKB),
> +    ("ramkb",  MemKB),

These could do with comments to describe the difference between vram and
ram. Also how to they both differ from video_memkb?

>      ])
> 
>  libxl_vnc_info = Struct("vnc_info", [
> diff -r c6641e3fe158 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Mon May 28 16:25:59 2012 +0800
> +++ b/tools/libxl/xl_cmdimpl.c	Wed May 30 17:48:38 2012 +0800
> @@ -547,6 +547,29 @@ vcpp_out:
>      libxl_cpumap_dispose(&exclude_cpumap);
> 
>      return rc;
> +}
> +
> +static inline uint32_t msb_mask(uint32_t val)
> +{
> +    uint32_t mask;
> +
> +    fprintf(stdout, "%s:val: %u\n", __func__, val);

Please remove debugging print outs.

> +    do {
> +        mask = ~(val - 1) & val;
> +        val &= ~mask;
> +    } while (mask < val);
> +
> +    fprintf(stdout, "%s:mask: %u\n", __func__, mask);
> +    return mask;
> +}
> +
> +static inline uint32_t get_qxl_ram_size(uint32_t vram_sizekb,
> +                                    uint32_t ram_sizekb)
> +{
> +    uint32_t vram = msb_mask(2 * vram_sizekb * 1024 - 1);
> +    uint32_t ram = msb_mask(2 * ram_sizekb * 1024 - 1);

There is a lot of magic constants and algorithms going on here -- at the
very least they need a comment to describe them...

> +
> +    return (vram + ram + 1023) / 1024;
>  }
> 
>  static void parse_config_data(const char *config_source,
> @@ -1262,6 +1285,27 @@ skip_vfb:
>              if (libxl_defbool_val(vga))
>                  b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
> 
> +        if (!xlu_cfg_get_defbool(config, "qxl", &vga, 0)) {
> +            if (libxl_defbool_val(vga)) {
> +                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_QXL;
> +                if (!xlu_cfg_get_long (config, "qxlvram", &l, 0))
> +                    b_info->u.hvm.vga.vramkb = l * 1024;
> +                else
> +                    b_info->u.hvm.vga.vramkb = 64 * 1024;

Defaults should be set by the setdefaults function in libxl, unless xl
has some reason to override the libxl default.

> +                if (!xlu_cfg_get_long (config, "qxlram", &l, 0))
> +                    b_info->u.hvm.vga.ramkb = l * 1024;
> +                else
> +                    b_info->u.hvm.vga.ramkb = 64 * 1024;

Same here.

> +
> +                uint32_t qxl_ram = get_qxl_ram_size(b_info->u.hvm.vga.vramkb,
> +                                                    b_info->u.hvm.vga.ramkb);
> +                if ((b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
> +                    || (b_info->video_memkb < qxl_ram)) {
> +                    b_info->video_memkb = qxl_ram;

I reckon this logic belongs in setdefaults too, although as above the
relationship between video_memkb and qxl_*ram needs explaining
somewhere.

> +                }
> +            }
> +        }
> +
>          xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
>          xlu_cfg_replace_string (config, "vnclisten",
>                                  &b_info->u.hvm.vnc.listen, 0);
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 11:55:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 11:55:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhUd-00041R-LZ; Wed, 30 May 2012 11:55:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZhUb-00041J-SF
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 11:55:10 +0000
Received: from [85.158.143.99:57568] by server-2.bemta-4.messagelabs.com id
	E0/2F-11595-D9A06CF4; Wed, 30 May 2012 11:55:09 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338378906!30177777!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23860 invoked from network); 30 May 2012 11:55:07 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 11:55:07 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330905600"; d="scan'208";a="12735865"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 11:55:06 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:55:06 +0100
Message-ID: <1338378905.7864.11.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: ZhouPeng <zpengxen@gmail.com>
Date: Wed, 30 May 2012 12:55:05 +0100
In-Reply-To: <CAAh7U5NYGFDpk8ukEexzuCr=MZtUuidm1H4zu6Y_ooT-YH3TQg@mail.gmail.com>
References: <CAAh7U5NYGFDpk8ukEexzuCr=MZtUuidm1H4zu6Y_ooT-YH3TQg@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "Xen-Devel \(E-mail\)" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH QXL 2/2] libxl: Add qxl vga interface
 support.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 11:24 +0100, ZhouPeng wrote:
> Add qxl vga interface support.
> 
> Usage:
>   qxl=1
>   qxlvram=64
>   qxlram=64

Thanks, I don't think this is 4.2 material so this would have to wait
until the 4.3 dev cycle.

The patch needs to include documentation updates to docs/man/xl*.

> Signed-off-by: Zhou Peng <ailvpeng25@gmail.com>
> 
> diff -r c6641e3fe158 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c	Mon May 28 16:25:59 2012 +0800
> +++ b/tools/libxl/libxl_dm.c	Wed May 30 17:48:38 2012 +0800
> @@ -181,6 +181,8 @@ static char ** libxl__build_device_model
>              flexarray_append(dm_args, "-std-vga");
>              break;
>          case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
> +            break;
> +        default:

Please enumerate the options rather than using default:, so we can catch
all the places when we add new options.

>              break;
>          }
> 
> @@ -426,6 +428,17 @@ static char ** libxl__build_device_model
>          switch (b_info->u.hvm.vga.type) {
>          case LIBXL_VGA_INTERFACE_TYPE_STD:
>              flexarray_vappend(dm_args, "-vga", "std", NULL);
> +            break;
> +        case LIBXL_VGA_INTERFACE_TYPE_QXL:

Since this appears to be qemu-xen only (not qemu-xen-traditional)
libxl__domain_build_info_setdefault should be checking for sane
combinations.

> +            flexarray_vappend(dm_args, "-vga", "qxl", NULL);
> +            flexarray_vappend(dm_args, "-global",
> +                          libxl__sprintf(gc, "qxl-vga.vram_size=%lu",

Using GCSPRINTF would shorten this line a bit.

> +                              b_info->u.hvm.vga.vramkb * 1024),
> +                          NULL);
> +            flexarray_vappend(dm_args, "-global",
> +                          libxl__sprintf(gc, "qxl-vga.ram_size=%lu",
> +                              b_info->u.hvm.vga.ramkb * 1024),
> +                          NULL);
>              break;
>          case LIBXL_VGA_INTERFACE_TYPE_DEFAULT:
>              break;
[...]
> @@ -137,6 +138,7 @@ libxl_vga_interface_info = Struct("vga_i
>  libxl_vga_interface_info = Struct("vga_interface_info", [
>      ("type",    libxl_vga_interface_type),
>      ("vramkb",  MemKB),
> +    ("ramkb",  MemKB),

These could do with comments to describe the difference between vram and
ram. Also how to they both differ from video_memkb?

>      ])
> 
>  libxl_vnc_info = Struct("vnc_info", [
> diff -r c6641e3fe158 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Mon May 28 16:25:59 2012 +0800
> +++ b/tools/libxl/xl_cmdimpl.c	Wed May 30 17:48:38 2012 +0800
> @@ -547,6 +547,29 @@ vcpp_out:
>      libxl_cpumap_dispose(&exclude_cpumap);
> 
>      return rc;
> +}
> +
> +static inline uint32_t msb_mask(uint32_t val)
> +{
> +    uint32_t mask;
> +
> +    fprintf(stdout, "%s:val: %u\n", __func__, val);

Please remove debugging print outs.

> +    do {
> +        mask = ~(val - 1) & val;
> +        val &= ~mask;
> +    } while (mask < val);
> +
> +    fprintf(stdout, "%s:mask: %u\n", __func__, mask);
> +    return mask;
> +}
> +
> +static inline uint32_t get_qxl_ram_size(uint32_t vram_sizekb,
> +                                    uint32_t ram_sizekb)
> +{
> +    uint32_t vram = msb_mask(2 * vram_sizekb * 1024 - 1);
> +    uint32_t ram = msb_mask(2 * ram_sizekb * 1024 - 1);

There is a lot of magic constants and algorithms going on here -- at the
very least they need a comment to describe them...

> +
> +    return (vram + ram + 1023) / 1024;
>  }
> 
>  static void parse_config_data(const char *config_source,
> @@ -1262,6 +1285,27 @@ skip_vfb:
>              if (libxl_defbool_val(vga))
>                  b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD;
> 
> +        if (!xlu_cfg_get_defbool(config, "qxl", &vga, 0)) {
> +            if (libxl_defbool_val(vga)) {
> +                b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_QXL;
> +                if (!xlu_cfg_get_long (config, "qxlvram", &l, 0))
> +                    b_info->u.hvm.vga.vramkb = l * 1024;
> +                else
> +                    b_info->u.hvm.vga.vramkb = 64 * 1024;

Defaults should be set by the setdefaults function in libxl, unless xl
has some reason to override the libxl default.

> +                if (!xlu_cfg_get_long (config, "qxlram", &l, 0))
> +                    b_info->u.hvm.vga.ramkb = l * 1024;
> +                else
> +                    b_info->u.hvm.vga.ramkb = 64 * 1024;

Same here.

> +
> +                uint32_t qxl_ram = get_qxl_ram_size(b_info->u.hvm.vga.vramkb,
> +                                                    b_info->u.hvm.vga.ramkb);
> +                if ((b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
> +                    || (b_info->video_memkb < qxl_ram)) {
> +                    b_info->video_memkb = qxl_ram;

I reckon this logic belongs in setdefaults too, although as above the
relationship between video_memkb and qxl_*ram needs explaining
somewhere.

> +                }
> +            }
> +        }
> +
>          xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0);
>          xlu_cfg_replace_string (config, "vnclisten",
>                                  &b_info->u.hvm.vnc.listen, 0);
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 12:04:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 12:04:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhd6-0004Qw-Jv; Wed, 30 May 2012 12:03:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZhd5-0004Qq-O9
	for xen-devel@lists.xen.org; Wed, 30 May 2012 12:03:55 +0000
Received: from [193.109.254.147:44940] by server-5.bemta-14.messagelabs.com id
	7C/43-06171-BAC06CF4; Wed, 30 May 2012 12:03:55 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338379433!4044553!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26099 invoked from network); 30 May 2012 12:03:54 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 12:03:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196884274"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:03:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:03:52 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZhd1-00088u-Vu;
	Wed, 30 May 2012 13:03:52 +0100
Message-ID: <4FC60CA8.4090404@citrix.com>
Date: Wed, 30 May 2012 13:03:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
	<1338302817.14158.120.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338302817.14158.120.camel@zakaz.uk.xensource.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
>> Roger Pau Monne writes ("Re: [PATCH 11/13] libxl: set nic type to VIF by default"):
>>> Ian Jackson wrote:
>>>> Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
>>>>> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
>>>>> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
>>>> But doesn't this set the default type to VIF even for HVM guests ?
>>> Shouldn't HVM guests use the "ioemu" parameter if they want an emulated
>>> card? If no parameter is provided then the default type should be VIF,
>>> because there's no other way to specifically set the type to VIF.
>> Sorry.  I seem to have failed to reply to this.
>>
>> I'm a bit confused about all this, I confess.  What does xend do ?
>>
>> ATM it seems that this change would mean that a guest config file
>> specified in the most obvious way wouldn't get an emulated nic at
>> all.  That can't be right, can it ?
>
> It's confusingly named.
>
> IOEMU ->  emulated only on HVM, meaningless on PV.

My understanding was that IOEMU meant both TAP and PV, and was only 
valid for HVM guests, and VIF meant PV only and was valid for both 
domain types?

I don't think this is right, this will mean VIF has a different meaning 
depending on the type of domain, which is quite annoying.

If this is right, I have to change my hotplug patches, but this will be 
a mess, because I have no way to tell if a domain is PV or HVM when 
plugging in the devices, so if VIF is passed for both PV or PV+TAP I 
will have no way of knowing that.

Should we create three different nic types? VIF (PV), IOEMU (TAP), 
HYBRID (PV+TAP)?

> VIF   ->  both emulated and PV (on HVM) or just PV (on PV)
>
> So a default of "VIF" is what you normally want.
>
> Ian.
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 12:04:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 12:04:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhd6-0004Qw-Jv; Wed, 30 May 2012 12:03:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZhd5-0004Qq-O9
	for xen-devel@lists.xen.org; Wed, 30 May 2012 12:03:55 +0000
Received: from [193.109.254.147:44940] by server-5.bemta-14.messagelabs.com id
	7C/43-06171-BAC06CF4; Wed, 30 May 2012 12:03:55 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338379433!4044553!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26099 invoked from network); 30 May 2012 12:03:54 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 12:03:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="196884274"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:03:52 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 08:03:52 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZhd1-00088u-Vu;
	Wed, 30 May 2012 13:03:52 +0100
Message-ID: <4FC60CA8.4090404@citrix.com>
Date: Wed, 30 May 2012 13:03:52 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <1337184716-49276-1-git-send-email-roger.pau@citrix.com>
	<1337184716-49276-12-git-send-email-roger.pau@citrix.com>
	<20406.31676.266501.253510@mariner.uk.xensource.com>
	<4FBA6D52.9050809@citrix.com>
	<20420.57290.841831.831419@mariner.uk.xensource.com>
	<1338302817.14158.120.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338302817.14158.120.camel@zakaz.uk.xensource.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11/13] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell wrote:
> On Tue, 2012-05-29 at 15:40 +0100, Ian Jackson wrote:
>> Roger Pau Monne writes ("Re: [PATCH 11/13] libxl: set nic type to VIF by default"):
>>> Ian Jackson wrote:
>>>> Roger Pau Monne writes ("[PATCH 11/13] libxl: set nic type to VIF by default"):
>>>>> -        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
>>>>> +        nic->nictype = LIBXL_NIC_TYPE_VIF;
>>>> But doesn't this set the default type to VIF even for HVM guests ?
>>> Shouldn't HVM guests use the "ioemu" parameter if they want an emulated
>>> card? If no parameter is provided then the default type should be VIF,
>>> because there's no other way to specifically set the type to VIF.
>> Sorry.  I seem to have failed to reply to this.
>>
>> I'm a bit confused about all this, I confess.  What does xend do ?
>>
>> ATM it seems that this change would mean that a guest config file
>> specified in the most obvious way wouldn't get an emulated nic at
>> all.  That can't be right, can it ?
>
> It's confusingly named.
>
> IOEMU ->  emulated only on HVM, meaningless on PV.

My understanding was that IOEMU meant both TAP and PV, and was only 
valid for HVM guests, and VIF meant PV only and was valid for both 
domain types?

I don't think this is right, this will mean VIF has a different meaning 
depending on the type of domain, which is quite annoying.

If this is right, I have to change my hotplug patches, but this will be 
a mess, because I have no way to tell if a domain is PV or HVM when 
plugging in the devices, so if VIF is passed for both PV or PV+TAP I 
will have no way of knowing that.

Should we create three different nic types? VIF (PV), IOEMU (TAP), 
HYBRID (PV+TAP)?

> VIF   ->  both emulated and PV (on HVM) or just PV (on PV)
>
> So a default of "VIF" is what you normally want.
>
> Ian.
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 12:10:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 12:10:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhjD-0004bC-EN; Wed, 30 May 2012 12:10:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZhjC-0004b6-6Q
	for xen-devel@lists.xen.org; Wed, 30 May 2012 12:10:14 +0000
Received: from [85.158.143.35:16452] by server-3.bemta-4.messagelabs.com id
	65/33-04252-52E06CF4; Wed, 30 May 2012 12:10:13 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338379810!17942900!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28562 invoked from network); 30 May 2012 12:10:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 12:10:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="26200409"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:10:10 -0400
Received: from celebrindal.localnet (10.80.2.52) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	08:10:10 -0400
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 30 May 2012 13:10:09 +0100
User-Agent: KMail/1.13.5 (Linux/2.6.33.7-desktopPAE-2mnb; KDE/4.4.5; i686; ; )
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<201205300856.15605.simon.rowe@eu.citrix.com>
	<1338370815.31698.26.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338370815.31698.26.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Message-ID: <201205301310.09243.simon.rowe@eu.citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wednesday 30 May 2012 10:40:15 Ian Campbell wrote:

> If this little trick applies to both NetBSD and uclibc too then I guess
> it would be OK, otherwise I think autoconf is necessary.

It doesn't look to my untrained eye that xenstore is autoconf-aware. The
makefile unilaterally sets USE_PTHREAD for example.

Shall I just drop this test for now and if/when xenstore is updated to use
autoconf it can be addressed then?

		Simon

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 12:10:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 12:10:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhjD-0004bC-EN; Wed, 30 May 2012 12:10:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZhjC-0004b6-6Q
	for xen-devel@lists.xen.org; Wed, 30 May 2012 12:10:14 +0000
Received: from [85.158.143.35:16452] by server-3.bemta-4.messagelabs.com id
	65/33-04252-52E06CF4; Wed, 30 May 2012 12:10:13 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338379810!17942900!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28562 invoked from network); 30 May 2012 12:10:12 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 12:10:12 -0000
X-IronPort-AV: E=Sophos;i="4.75,683,1330923600"; d="scan'208";a="26200409"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 08:10:10 -0400
Received: from celebrindal.localnet (10.80.2.52) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	08:10:10 -0400
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Wed, 30 May 2012 13:10:09 +0100
User-Agent: KMail/1.13.5 (Linux/2.6.33.7-desktopPAE-2mnb; KDE/4.4.5; i686; ; )
References: <0cf61ed6ce86de2b61db.1338307000@drall.uk.xensource.com>
	<201205300856.15605.simon.rowe@eu.citrix.com>
	<1338370815.31698.26.camel@zakaz.uk.xensource.com>
In-Reply-To: <1338370815.31698.26.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Message-ID: <201205301310.09243.simon.rowe@eu.citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wednesday 30 May 2012 10:40:15 Ian Campbell wrote:

> If this little trick applies to both NetBSD and uclibc too then I guess
> it would be OK, otherwise I think autoconf is necessary.

It doesn't look to my untrained eye that xenstore is autoconf-aware. The
makefile unilaterally sets USE_PTHREAD for example.

Shall I just drop this test for now and if/when xenstore is updated to use
autoconf it can be addressed then?

		Simon

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 12:21:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 12:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhu5-0004n0-Nm; Wed, 30 May 2012 12:21:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZhu3-0004mv-EF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 12:21:27 +0000
Received: from [193.109.254.147:15024] by server-5.bemta-14.messagelabs.com id
	F2/E5-06171-6C016CF4; Wed, 30 May 2012 12:21:26 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1338380484!11934649!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3198 invoked from network); 30 May 2012 12:21:25 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 12:21:25 -0000
Received: by eaak12 with SMTP id k12so1615570eaa.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 05:21:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=5YJ4U2HpQN1D97GcN/14tuGf1JvP+nUTKe51umH9zKU=;
	b=bJdYVQNg0JmAQA6OcdpAjEaBTXRbIeTB+PksxBBIVGJRrwUmBh7QjjvqtCSAHyk/Uh
	ZiX4ypxugMTn5xNBa79hyN+TrxCvxVQQ1sh+KtcE22X+tM/mbA5mifGvN19vgpjYNeCb
	gzxaJpQ7Wi3g5XiUvw1Ized5KksMMMldJg88DluhUCAABO2WvrT4P6fULZCqPlOYjgBC
	QkSAOykb7LjLAZMmF23AIKqFPQ4wJKuoiATk0Omfq98Cg1l2kIQ2plZwTTo5X2lVBmYm
	BMJA/8RAfcRR+wh3UnZkPOGKdJeX0oQR3XzjeCdN+gqKf0VPTyRQmNZ1qwYi3LnwL8BM
	Ozmw==
Received: by 10.14.95.207 with SMTP id p55mr6207952eef.40.1338380484443;
	Wed, 30 May 2012 05:21:24 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id a16sm60061309eeg.0.2012.05.30.05.21.20
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 05:21:23 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Wed, 30 May 2012 13:21:17 +0100
From: Keir Fraser <keir@xen.org>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Message-ID: <CBEBCF4D.41899%keir@xen.org>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: AQHNPlCm0ErPzgLEKE+cn2xIVxGOfpbiLOlAgAAT4h8=
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 12:16, "Hao, Xudong" <xudong.hao@intel.com> wrote:

>> -----Original Message-----
>> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
>> Sent: Wednesday, May 30, 2012 6:40 PM
>> To: Hao, Xudong; JBeulich@suse.com
>> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
>> Jackson
>> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
>> 
>> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
>> 
>>> Changes from v1:
>>> - Define new struct hvm_trap to represent information of trap, include
>>>   instruction length.
>>> - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
>>>   wrappers around that function for existing callers, so that their
>>> parameter
>>>   lists actually *shrink*.
>> 
>> I checked in the series, except for the bit that infers trap type from
>> within vmx_inject_trap(). Instead I plumbed through a trap-type field to
>> dom0 toolstack, so the type can be specified by the caller.
>> 
> 
> Thanks, that's more clean.
> 
> The INT3 trap type should be HVMOP_TRAP_sw_exc in
> tools/tests/xen-access/xen-access.c.

Thanks I'll fix it and renam einslen -> insn_len as Jan suggested.

 -- Keir




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 12:21:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 12:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZhu5-0004n0-Nm; Wed, 30 May 2012 12:21:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZhu3-0004mv-EF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 12:21:27 +0000
Received: from [193.109.254.147:15024] by server-5.bemta-14.messagelabs.com id
	F2/E5-06171-6C016CF4; Wed, 30 May 2012 12:21:26 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1338380484!11934649!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3198 invoked from network); 30 May 2012 12:21:25 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-2.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 12:21:25 -0000
Received: by eaak12 with SMTP id k12so1615570eaa.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 05:21:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=5YJ4U2HpQN1D97GcN/14tuGf1JvP+nUTKe51umH9zKU=;
	b=bJdYVQNg0JmAQA6OcdpAjEaBTXRbIeTB+PksxBBIVGJRrwUmBh7QjjvqtCSAHyk/Uh
	ZiX4ypxugMTn5xNBa79hyN+TrxCvxVQQ1sh+KtcE22X+tM/mbA5mifGvN19vgpjYNeCb
	gzxaJpQ7Wi3g5XiUvw1Ized5KksMMMldJg88DluhUCAABO2WvrT4P6fULZCqPlOYjgBC
	QkSAOykb7LjLAZMmF23AIKqFPQ4wJKuoiATk0Omfq98Cg1l2kIQ2plZwTTo5X2lVBmYm
	BMJA/8RAfcRR+wh3UnZkPOGKdJeX0oQR3XzjeCdN+gqKf0VPTyRQmNZ1qwYi3LnwL8BM
	Ozmw==
Received: by 10.14.95.207 with SMTP id p55mr6207952eef.40.1338380484443;
	Wed, 30 May 2012 05:21:24 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id a16sm60061309eeg.0.2012.05.30.05.21.20
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 05:21:23 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Wed, 30 May 2012 13:21:17 +0100
From: Keir Fraser <keir@xen.org>
To: "Hao, Xudong" <xudong.hao@intel.com>,
	"JBeulich@suse.com" <JBeulich@suse.com>
Message-ID: <CBEBCF4D.41899%keir@xen.org>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: AQHNPlCm0ErPzgLEKE+cn2xIVxGOfpbiLOlAgAAT4h8=
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
Mime-version: 1.0
Cc: Aravindh Puthiyaparambil <aravindh@virtuata.com>, "Dong,
	Eddie" <eddie.dong@intel.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 12:16, "Hao, Xudong" <xudong.hao@intel.com> wrote:

>> -----Original Message-----
>> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
>> Sent: Wednesday, May 30, 2012 6:40 PM
>> To: Hao, Xudong; JBeulich@suse.com
>> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
>> Jackson
>> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
>> 
>> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
>> 
>>> Changes from v1:
>>> - Define new struct hvm_trap to represent information of trap, include
>>>   instruction length.
>>> - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of
>>>   wrappers around that function for existing callers, so that their
>>> parameter
>>>   lists actually *shrink*.
>> 
>> I checked in the series, except for the bit that infers trap type from
>> within vmx_inject_trap(). Instead I plumbed through a trap-type field to
>> dom0 toolstack, so the type can be specified by the caller.
>> 
> 
> Thanks, that's more clean.
> 
> The INT3 trap type should be HVMOP_TRAP_sw_exc in
> tools/tests/xen-access/xen-access.c.

Thanks I'll fix it and renam einslen -> insn_len as Jan suggested.

 -- Keir




_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:03:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZiXc-0005IR-Hv; Wed, 30 May 2012 13:02:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZiXb-0005IL-7T
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:02:19 +0000
Received: from [85.158.143.35:22408] by server-1.bemta-4.messagelabs.com id
	5B/3E-27869-A5A16CF4; Wed, 30 May 2012 13:02:18 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1338382935!15689107!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28314 invoked from network); 30 May 2012 13:02:16 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-15.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 13:02:16 -0000
Received: from mail83-va3-R.bigfish.com (10.7.14.242) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 13:01:49 +0000
Received: from mail83-va3 (localhost [127.0.0.1])	by mail83-va3-R.bigfish.com
	(Postfix) with ESMTP id 863F81E0288;
	Wed, 30 May 2012 13:01:49 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzzz1202hzz8275bh8275dhz2dh668h839hd24he5bhf0ah)
Received: from mail83-va3 (localhost.localdomain [127.0.0.1]) by mail83-va3
	(MessageSwitch) id 1338382907685390_20885;
	Wed, 30 May 2012 13:01:47 +0000 (UTC)
Received: from VA3EHSMHS022.bigfish.com (unknown [10.7.14.239])	by
	mail83-va3.bigfish.com (Postfix) with ESMTP id A273A360049;
	Wed, 30 May 2012 13:01:47 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS022.bigfish.com (10.7.99.32) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 13:01:46 +0000
X-WSS-ID: 0M4U6VJ-01-4SR-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B5B51028112;	Wed, 30 May 2012 08:02:06 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 08:02:20 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 30 May 2012 08:02:07 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	09:02:05 -0400
Received: from dosorca.osrc.amd.com (dosorca.osrc.amd.com [165.204.15.106])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id EDE7849C1FF;
	Wed, 30 May 2012 14:02:04 +0100 (BST)
From: Andre Przywara <andre.przywara@amd.com>
To: <mingo@elte.hu>, <hpa@zytor.com>, <tglx@linutronix.de>
Date: Wed, 30 May 2012 15:10:02 +0200
Message-ID: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
X-Mailer: git-send-email 1.7.4.4
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	konrad.wilk@oracle.com, linux-kernel@vger.kernel.org
Subject: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD Trinity
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Because we are behind a family check before tweaking the topology
bit, we can use the standard rd/wrmsr variants for the CPUID feature
register.
This fixes a crash when using the kernel as a Xen Dom0 on affected
Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
yet (this will be fixed in another patch).

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Cc: stable@vger.kernel.org # 3.4+
---
 arch/x86/kernel/cpu/amd.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 146bb62..80ccd99 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
 	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
 		u64 val;
 
-		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
+		if (!rdmsrl_safe(0xc0011005, &val)) {
 			val |= 1ULL << 54;
-			wrmsrl_amd_safe(0xc0011005, val);
+			checking_wrmsrl(0xc0011005, val);
 			rdmsrl(0xc0011005, val);
 			if (val & (1ULL << 54)) {
 				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
-- 
1.7.4.4



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:03:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZiXc-0005IR-Hv; Wed, 30 May 2012 13:02:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZiXb-0005IL-7T
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:02:19 +0000
Received: from [85.158.143.35:22408] by server-1.bemta-4.messagelabs.com id
	5B/3E-27869-A5A16CF4; Wed, 30 May 2012 13:02:18 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1338382935!15689107!1
X-Originating-IP: [216.32.180.11]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28314 invoked from network); 30 May 2012 13:02:16 -0000
Received: from va3ehsobe001.messaging.microsoft.com (HELO
	va3outboundpool.messaging.microsoft.com) (216.32.180.11)
	by server-15.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 13:02:16 -0000
Received: from mail83-va3-R.bigfish.com (10.7.14.242) by
	VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 13:01:49 +0000
Received: from mail83-va3 (localhost [127.0.0.1])	by mail83-va3-R.bigfish.com
	(Postfix) with ESMTP id 863F81E0288;
	Wed, 30 May 2012 13:01:49 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.108; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp01.amd.com; RD:none; EFVD:NLI
X-SpamScore: 0
X-BigFish: VPS0(zzzz1202hzz8275bh8275dhz2dh668h839hd24he5bhf0ah)
Received: from mail83-va3 (localhost.localdomain [127.0.0.1]) by mail83-va3
	(MessageSwitch) id 1338382907685390_20885;
	Wed, 30 May 2012 13:01:47 +0000 (UTC)
Received: from VA3EHSMHS022.bigfish.com (unknown [10.7.14.239])	by
	mail83-va3.bigfish.com (Postfix) with ESMTP id A273A360049;
	Wed, 30 May 2012 13:01:47 +0000 (UTC)
Received: from ausb3twp01.amd.com (163.181.249.108) by
	VA3EHSMHS022.bigfish.com (10.7.99.32) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 13:01:46 +0000
X-WSS-ID: 0M4U6VJ-01-4SR-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp01.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2B5B51028112;	Wed, 30 May 2012 08:02:06 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 08:02:20 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 30 May 2012 08:02:07 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	09:02:05 -0400
Received: from dosorca.osrc.amd.com (dosorca.osrc.amd.com [165.204.15.106])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id EDE7849C1FF;
	Wed, 30 May 2012 14:02:04 +0100 (BST)
From: Andre Przywara <andre.przywara@amd.com>
To: <mingo@elte.hu>, <hpa@zytor.com>, <tglx@linutronix.de>
Date: Wed, 30 May 2012 15:10:02 +0200
Message-ID: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
X-Mailer: git-send-email 1.7.4.4
MIME-Version: 1.0
X-OriginatorOrg: amd.com
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	konrad.wilk@oracle.com, linux-kernel@vger.kernel.org
Subject: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD Trinity
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Because we are behind a family check before tweaking the topology
bit, we can use the standard rd/wrmsr variants for the CPUID feature
register.
This fixes a crash when using the kernel as a Xen Dom0 on affected
Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
yet (this will be fixed in another patch).

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Cc: stable@vger.kernel.org # 3.4+
---
 arch/x86/kernel/cpu/amd.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 146bb62..80ccd99 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
 	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
 		u64 val;
 
-		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
+		if (!rdmsrl_safe(0xc0011005, &val)) {
 			val |= 1ULL << 54;
-			wrmsrl_amd_safe(0xc0011005, val);
+			checking_wrmsrl(0xc0011005, val);
 			rdmsrl(0xc0011005, val);
 			if (val & (1ULL << 54)) {
 				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
-- 
1.7.4.4



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidF-0005Wn-7a; Wed, 30 May 2012 13:08:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZidD-0005St-AF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:07 +0000
Received: from [85.158.143.35:39554] by server-1.bemta-4.messagelabs.com id
	22/7B-27869-7BB16CF4; Wed, 30 May 2012 13:08:07 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11237 invoked from network); 30 May 2012 13:08:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206542"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-5Q;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:48 +0100
Message-ID: <1338383275-21315-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 03/10] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Changes since v4:

 * Fixed spelling mistakes.

 * Always use "force = 1" in device destruction in
   libxl__destroy_domid function.

 * Changed name of domain destroy callbacks to include "destroy".

 * Changed the use of rc to catch syscall errors.

 * Use libxl__remove_file instead of unlink.

 * Changed variable name of number of devices returned by
   libxl__xs_directory.

 * Simplify libxl__ao_device_check_last return.

 * Correctly propagate error returned from libxl__num_devices.

 * Add a comment about the use of libxl__device_destroy to destroy the
   console.

 * Fixed some uses of LIBXL__LOG.

Changes since v3:

 * Fixed python bindings.

Changes since v2:

 * Remove printfs.

 * Replace aorm with aodev.

 * Define an auxiliary libxl__ao_device *aodev to avoid using the long
   expression: drs->aorm[numdev]...

 * Added a common callback for both domain and stubdomain destruction
   that checks if both domains are finished and handles errors
   correctly.

 * Change libxl__ao_device_check_last logic a bit and add a comment
   describing how does it work.

 * Fixed spelling mistakes.

 * Use a do-while for xs transaction in device_remove_callback.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c               |  167 +++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl.h               |    3 +-
 tools/libxl/libxl_create.c        |   29 ++++++-
 tools/libxl/libxl_device.c        |  160 +++++++++++++++++++++++++++++++----
 tools/libxl/libxl_dm.c            |   83 +++++++++---------
 tools/libxl/libxl_internal.h      |   94 ++++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c          |   12 ++--
 tools/python/xen/lowlevel/xl/xl.c |    2 +-
 8 files changed, 469 insertions(+), 81 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index c4e31e1..4044b9e 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1112,11 +1112,133 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_destroy_callback(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+static void domain_destroy_callback(libxl__egc *egc,
+                                    libxl__destroy_domid_state *dis,
+                                    int rc);
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_destroy_callback;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_destroy_callback;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_destroy_callback(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = libxl__remove_file(gc, savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc) {
+        LOG(ERROR, "failed to remove device-model savefile %s", savefile);
+    }
+
+    destroy_finish_check(egc, dds);
+}
+
+static void domain_destroy_callback(libxl__egc *egc,
+                                    libxl__destroy_domid_state *dis,
+                                    int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->domain_finished = 1;
+    destroy_finish_check(egc, dds);
+}
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds)
+{
+    if (!(dds->domain_finished && dds->stubdom_finished))
+        return;
+
+    dds->callback(egc, dds, dds->rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1127,7 +1249,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1160,7 +1282,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = 1;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1183,9 +1335,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 6bd028f..d5dc2a0 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -526,7 +526,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index e5999c0..1df116e 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -586,6 +586,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -860,16 +866,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, ERROR_FAIL, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index d898a89..882e647 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
     aodev->base = base;
 }
 
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num)
+{
+    int i, error = 0;
+
+    device->active = 0;
+    for (i = 0; i < num; i++) {
+        if (list[i].active)
+            return +1;
+
+        if (list[i].rc)
+            error = list[i].rc;
+    }
+
+    return error;
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -381,16 +440,35 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
-    unsigned int num_kinds, num_devs;
+    unsigned int num_kinds, num_dev_xsentries;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
+    libxl__ao_device *aodev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = drs->num_devices;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aodev, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__prepare_ao_device(&drs->aodev[i], drs->ao, &drs->aodev);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -406,19 +484,25 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             continue;
 
         path = libxl__sprintf(gc, "/local/domain/%d/device/%s", domid, kinds[i]);
-        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_dev_xsentries);
         if (!devs)
             continue;
-        for (j = 0; j < num_devs; j++) {
+        for (j = 0; j < num_dev_xsentries; j++) {
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                aodev = &drs->aodev[numdev];
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                aodev->action = DEVICE_DISCONNECT;
+                aodev->dev = dev;
+                aodev->callback = device_remove_callback;
+                aodev->force = drs->force;
+                libxl__initiate_device_remove(egc, aodev);
+                numdev++;
             }
         }
     }
@@ -426,17 +510,22 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
-
-        libxl__device_destroy(gc, &dev);
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
+
+        /* Currently console devices can be destroyed synchronously by just
+         * removing xenstore entries, this is what libxl__device_destroy does.
+         */
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -536,6 +625,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aodev->base, *drs, aodev);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aodev->dev);
+    xs_transaction_t t = 0;
+    int rc = 0, ret = 0;
+
+    if (aodev->action == DEVICE_DISCONNECT) {
+        do {
+            t = xs_transaction_start(CTX->xsh);
+            libxl__xs_path_cleanup(gc, t, fe_path);
+            libxl__xs_path_cleanup(gc, t, be_path);
+            ret = !xs_transaction_end(CTX->xsh, t, 0);
+        } while (ret && errno == EAGAIN);
+
+        if (ret) {
+            LOGE(ERROR, "unable to finish transaction");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aodev, drs->aodev,
+                                     drs->num_devices);
+    if (rc > 0) return;
+
+    drs->callback(egc, drs, rc);
+    return;
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index d987347..99059dc 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -893,12 +897,31 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1091,48 +1114,24 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LOG(ERROR, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LOG(DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LOGE(ERROR, "failed to kill Device Model [%d]", atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5605440..5c15ca5 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -817,7 +817,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1820,6 +1819,16 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                                       libxl__ao_device **base);
 
+/* Check if there are devices that have pending events in the array
+ * pointed to by the "list" parameter. Return values can be:
+ * < 0: All done, but error(s) found.
+ * 0: All done
+ * > 0: Not all done
+ * The passed libxl__ao_device struct in "device" is marked as finished.
+ */
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1847,6 +1856,86 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been split into two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, which detects
+ * stubdoms and calls libxl__destroy_domid on the domain and its
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private */
+    libxl__ao_device *aodev;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    int rc;
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and its stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1880,6 +1969,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1906,6 +1996,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 /*
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ca988d6..3220e89 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1389,7 +1389,7 @@ static int handle_domain_death(uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1987,7 +1987,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2550,7 +2550,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2824,7 +2824,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_resume(ctx, domid, 1);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -3084,7 +3084,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3237,7 +3237,7 @@ static void migrate_receive(int debug, int daemonize, int monitor,
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index 1db777d..4ff3120 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -437,7 +437,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, 0) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidD-0005Va-E7; Wed, 30 May 2012 13:08:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZidA-0005St-AM
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.99:55701] by server-1.bemta-4.messagelabs.com id
	28/5B-27869-3BB16CF4; Wed, 30 May 2012 13:08:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338383278!30499241!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28428 invoked from network); 30 May 2012 13:08:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196892061"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-46;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:46 +0100
Message-ID: <1338383275-21315-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 01/10] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Changes sinve v4:

 * Added a more detailed comment in _prepare and _initiate header.

 * Removed an unnecessary state check from
   libxl_initiate_device_remove.

Changes since v2:

 * Remove unnecessary comments in libxl__ao_device.

 * Change libxl__device_cb to device_addrm_aocomplete.

 * Rename aorm parameter in device_addrm_aocomplete to aodev.

 * Use a macro to define {nic,disk,vkb,vfb}_{remove,destroy}
   functions.

 * Rename libxl__init_ao_device to libxl__prepare_ao_device and add a
   comment explaining why we need to set active to 1.

 * Replace al uses of aorm with aodev.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  211 ++++++++++++++----------------------------
 tools/libxl/libxl.h          |   15 ++-
 tools/libxl/libxl_device.c   |  110 +++++++++++++---------
 tools/libxl/libxl_internal.h |   62 +++++++++++--
 4 files changed, 202 insertions(+), 196 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 0e281a6..c4e31e1 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1317,6 +1317,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void device_addrm_aocomplete(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+
+    if (aodev->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aodev->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1486,42 +1506,6 @@ out:
     return rc;
 }
 
-int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
-                             libxl_device_disk *disk,
-                             const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
                                           libxl_device_disk *disk)
@@ -1964,42 +1948,6 @@ out:
     return rc;
 }
 
-int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_nic *nic,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
                                          libxl_device_nic *nic)
@@ -2326,42 +2274,6 @@ out:
     return rc;
 }
 
-int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vkb *vkb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 /******************************************************************************/
 
 int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
@@ -2459,41 +2371,56 @@ out:
     return rc;
 }
 
-int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vfb *vfb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
+/******************************************************************************/
 
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/* Define all remove/destroy functions and undef the macro */
+
+/* disk */
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
+
+/* nic */
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
+
+/* vkb */
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
+
+/* vfb */
+
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
+DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
+
+#undef DEFINE_DEVICE_REMOVE
 
 /******************************************************************************/
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 9c03f15..6bd028f 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -642,7 +642,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -666,7 +667,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -677,14 +680,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..d898a89 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                              libxl__ao_device **base)
+{
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,27 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aodev);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aodev)
 {
-    AO_GC;
+    STATE_AO_GC(aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
-
-    if (!state)
-        goto out_ok;
-    if (atoi(state) != 4) {
-        libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
-        goto out_ok;
-    }
 
 retry_transaction:
     t = xs_transaction_start(ctx->xsh);
+    if (aodev->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aodev->dev));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,42 +472,68 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
+    libxl__ev_devstate_init(&aodev->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
-
- out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
+
+    device_backend_cleanup(gc, aodev);
+
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aodev->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    } else if (rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    }
+
+out:
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
+{
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index bbc2149..5baf1f0 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -848,13 +848,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1837,6 +1830,61 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+/* This functions sets the necessary libxl__ao_device struct values to use
+ * safely inside functions. It marks the operation as "active"
+ * since we need to be sure that all device status structs are set
+ * to active before start queueing events, or we might call
+ * ao_complete before all devices had finished
+ *
+ * libxl__initiate_device_{remove/addition} should not be called without
+ * calling libxl__prepare_ao_device first, since it initializes the private
+ * fields of the struct libxl__ao_device to what this functions expect.
+ *
+ * Once _prepare has been called on a libxl__ao_device, it is safe to just
+ * discard this struct, there's no need to call any destroy function.
+ * _prepare can also be called multiple times with the same libxl__ao_device.
+ */
+_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                                      libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ *
+ * The libxl__ao_device passed to this function should be
+ * prepared using libxl__prepare_ao_device prior to calling
+ * this function.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aodev);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid9-0005TU-8M; Wed, 30 May 2012 13:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid7-0005St-Si
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:01 +0000
Received: from [85.158.143.99:53533] by server-1.bemta-4.messagelabs.com id
	CD/3B-27869-1BB16CF4; Wed, 30 May 2012 13:08:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338383278!30499241!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28241 invoked from network); 30 May 2012 13:08:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196892059"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-9A;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:52 +0100
Message-ID: <1338383275-21315-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 07/10] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 88869f6..ef99fa6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2008,7 +2008,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidD-0005VP-1s; Wed, 30 May 2012 13:08:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005TM-W6
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.35:64188] by server-3.bemta-4.messagelabs.com id
	10/53-04252-2BB16CF4; Wed, 30 May 2012 13:08:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11114 invoked from network); 30 May 2012 13:08:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206540"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-As;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:53 +0100
Message-ID: <1338383275-21315-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 08/10] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v4:

 * Init args and env to NULL.

 * Correctly propagate errors from libxl__get_hotplug_script_info.

 * Replaced if in libxl__ev_child_inuse with asserts.

 * Renamed fork_cb to child_death_cb.

 * Move deregistration of device_hotplug_timeout_cb to the top of the
   function.

 * Removed "pid" field from libxl__ao_device struct.

 * Moved arraysize declaration.

 * Fixed diff complain about no newline at the end of libxl_netbsd.c.

Changes since v2:

 * Added array size check with assert.

 * Added NetBSD code (so compilation is not broken).

 * Removed a check for null in device_hotplug_timeout_cb.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  115 +++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h              |   19 +++++
 tools/libxl/libxl_linux.c                 |  100 +++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c                |    9 ++
 7 files changed, 262 insertions(+), 3 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index ef99fa6..f7a137f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1607,6 +1607,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1622,6 +1627,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index de7904a..7db379a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -572,6 +572,15 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_child_death_cb(libxl__egc *egc,
+                                          libxl__ev_child *child,
+                                          pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
@@ -679,6 +688,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -691,6 +703,109 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args = NULL, **env = NULL;
+    int rc = 0;
+    int hotplug;
+    pid_t pid;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = hotplug;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    pid = libxl__ev_child_fork(gc, &aodev->child, device_hotplug_child_death_cb);
+    if (pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    assert(libxl__ev_child_inuse(&aodev->child));
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_child_death_cb(libxl__egc *egc,
+                                          libxl__ev_child *child,
+                                          pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    assert(libxl__ev_child_inuse(&aodev->child));
+    LOG(DEBUG, "killing hotplug script %s because of timeout", aodev->what);
+    if (kill(aodev->child.pid, SIGKILL)) {
+        LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                            aodev->what, (unsigned long)aodev->child.pid);
+    }
+
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5a2a87a..9dd2404 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1846,6 +1847,10 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device, called by
@@ -1880,6 +1885,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been split into two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..60a966f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,103 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    const int arraysize = 9;
+    GCNEW_ARRAY(env, arraysize);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+    assert(nr == arraysize);
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    const int arraysize = 3;
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+    assert(nr == arraysize);
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..d41a046 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    return 0;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidF-0005Wn-7a; Wed, 30 May 2012 13:08:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZidD-0005St-AF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:07 +0000
Received: from [85.158.143.35:39554] by server-1.bemta-4.messagelabs.com id
	22/7B-27869-7BB16CF4; Wed, 30 May 2012 13:08:07 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11237 invoked from network); 30 May 2012 13:08:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206542"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-5Q;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:48 +0100
Message-ID: <1338383275-21315-4-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 03/10] libxl: convert libxl_domain_destroy to
	an async op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This change introduces some new structures, and breaks the mutual
dependency that libxl_domain_destroy and libxl__destroy_device_model
had. This is done by checking if the domid passed to
libxl_domain_destroy has a stubdom, and then having the bulk of the
destroy machinery in a separate function (libxl__destroy_domid) that
doesn't check for stubdom presence, since we check for it in the upper
level function. The reason behind this change is the need to use
structures for ao operations, and it was impossible to have two
different self-referencing structs.

All uses of libxl_domain_destroy have been changed, and either
replaced by the new libxl_domain_destroy ao function or by the
internal libxl__domain_destroy that can be used inside an already
running ao.

Changes since v4:

 * Fixed spelling mistakes.

 * Always use "force = 1" in device destruction in
   libxl__destroy_domid function.

 * Changed name of domain destroy callbacks to include "destroy".

 * Changed the use of rc to catch syscall errors.

 * Use libxl__remove_file instead of unlink.

 * Changed variable name of number of devices returned by
   libxl__xs_directory.

 * Simplify libxl__ao_device_check_last return.

 * Correctly propagate error returned from libxl__num_devices.

 * Add a comment about the use of libxl__device_destroy to destroy the
   console.

 * Fixed some uses of LIBXL__LOG.

Changes since v3:

 * Fixed python bindings.

Changes since v2:

 * Remove printfs.

 * Replace aorm with aodev.

 * Define an auxiliary libxl__ao_device *aodev to avoid using the long
   expression: drs->aorm[numdev]...

 * Added a common callback for both domain and stubdomain destruction
   that checks if both domains are finished and handles errors
   correctly.

 * Change libxl__ao_device_check_last logic a bit and add a comment
   describing how does it work.

 * Fixed spelling mistakes.

 * Use a do-while for xs transaction in device_remove_callback.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c               |  167 +++++++++++++++++++++++++++++++++++--
 tools/libxl/libxl.h               |    3 +-
 tools/libxl/libxl_create.c        |   29 ++++++-
 tools/libxl/libxl_device.c        |  160 +++++++++++++++++++++++++++++++----
 tools/libxl/libxl_dm.c            |   83 +++++++++---------
 tools/libxl/libxl_internal.h      |   94 ++++++++++++++++++++-
 tools/libxl/xl_cmdimpl.c          |   12 ++--
 tools/python/xen/lowlevel/xl/xl.c |    2 +-
 8 files changed, 469 insertions(+), 81 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index c4e31e1..4044b9e 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1112,11 +1112,133 @@ void libxl_evdisable_disk_eject(libxl_ctx *ctx, libxl_evgen_disk_eject *evg) {
     GC_FREE;
 }    
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
+/* Callbacks for libxl_domain_destroy */
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc);
+
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_destroy_state *dds;
+
+    GCNEW(dds);
+    dds->ao = ao;
+    dds->domid = domid;
+    dds->callback = domain_destroy_cb;
+    libxl__domain_destroy(egc, dds);
+
+    return AO_INPROGRESS;
+}
+
+static void domain_destroy_cb(libxl__egc *egc, libxl__domain_destroy_state *dds,
+                              int rc)
+{
+    STATE_AO_GC(dds->ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u failed", dds->domid);
+
+    libxl__ao_complete(egc, ao, rc);
+}
+
+/* Callbacks for libxl__domain_destroy */
+
+static void stubdom_destroy_callback(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+static void domain_destroy_callback(libxl__egc *egc,
+                                    libxl__destroy_domid_state *dis,
+                                    int rc);
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds);
+
+void libxl__domain_destroy(libxl__egc *egc, libxl__domain_destroy_state *dds)
+{
+    STATE_AO_GC(dds->ao);
+    uint32_t stubdomid = libxl_get_stubdom_id(CTX, dds->domid);
+
+    if (stubdomid) {
+        dds->stubdom.ao = ao;
+        dds->stubdom.domid = stubdomid;
+        dds->stubdom.callback = stubdom_destroy_callback;
+        libxl__destroy_domid(egc, &dds->stubdom);
+    } else {
+        dds->stubdom_finished = 1;
+    }
+
+    dds->domain.ao = ao;
+    dds->domain.domid = dds->domid;
+    dds->domain.callback = domain_destroy_callback;
+    libxl__destroy_domid(egc, &dds->domain);
+}
+
+static void stubdom_destroy_callback(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, stubdom);
+    const char *savefile;
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy stubdom with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->stubdom_finished = 1;
+    savefile = libxl__device_model_savefile(gc, dis->domid);
+    rc = libxl__remove_file(gc, savefile);
+    /*
+     * On suspend libxl__domain_save_device_model will have already
+     * unlinked the save file.
+     */
+    if (rc) {
+        LOG(ERROR, "failed to remove device-model savefile %s", savefile);
+    }
+
+    destroy_finish_check(egc, dds);
+}
+
+static void domain_destroy_callback(libxl__egc *egc,
+                                    libxl__destroy_domid_state *dis,
+                                    int rc)
+{
+    STATE_AO_GC(dis->ao);
+    libxl__domain_destroy_state *dds = CONTAINER_OF(dis, *dds, domain);
+
+    if (rc) {
+        LOG(ERROR, "unable to destroy guest with domid %u", dis->domid);
+        dds->rc = rc;
+    }
+
+    dds->domain_finished = 1;
+    destroy_finish_check(egc, dds);
+}
+
+static void destroy_finish_check(libxl__egc *egc,
+                                 libxl__domain_destroy_state *dds)
+{
+    if (!(dds->domain_finished && dds->stubdom_finished))
+        return;
+
+    dds->callback(egc, dds, dds->rc);
+}
+
+/* Callbacks for libxl__destroy_domid */
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc);
+
+void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
+{
+    STATE_AO_GC(dis->ao);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
     char *dom_path;
-    char *vm_path;
     char *pid;
     int rc, dm_present;
 
@@ -1127,7 +1249,7 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
     case ERROR_INVAL:
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid);
     default:
-        return rc;
+        goto out;
     }
 
     switch (libxl__domain_type(gc, domid)) {
@@ -1160,7 +1282,37 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 
         libxl__qmp_cleanup(gc, domid);
     }
-    if (libxl__devices_destroy(gc, domid) < 0)
+    dis->drs.ao = ao;
+    dis->drs.domid = domid;
+    dis->drs.callback = devices_destroy_cb;
+    dis->drs.force = 1;
+    libxl__devices_destroy(egc, &dis->drs);
+    return;
+
+out:
+    assert(rc);
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void devices_destroy_cb(libxl__egc *egc,
+                               libxl__devices_remove_state *drs,
+                               int rc)
+{
+    STATE_AO_GC(drs->ao);
+    libxl__destroy_domid_state *dis = CONTAINER_OF(drs, *dis, drs);
+    libxl_ctx *ctx = CTX;
+    uint32_t domid = dis->domid;
+    char *dom_path;
+    char *vm_path;
+
+    dom_path = libxl__xs_get_dompath(gc, domid);
+    if (!dom_path) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (rc < 0)
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, 
                    "libxl__devices_destroy failed for %d", domid);
 
@@ -1183,9 +1335,10 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
         goto out;
     }
     rc = 0;
+
 out:
-    GC_FREE;
-    return rc;
+    dis->callback(egc, dis, rc);
+    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 6bd028f..d5dc2a0 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -526,7 +526,8 @@ int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid,
+                         const libxl_asyncop_how *ao_how);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index e5999c0..1df116e 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -586,6 +586,12 @@ static void domcreate_complete(libxl__egc *egc,
                                libxl__domain_create_state *dcs,
                                int rc);
 
+/* If creation is not successful, this callback will be executed
+ * when domain destruction is finished */
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc);
+
 static void initiate_domain_create(libxl__egc *egc,
                                    libxl__domain_create_state *dcs)
 {
@@ -860,16 +866,31 @@ static void domcreate_complete(libxl__egc *egc,
 
     if (rc) {
         if (dcs->guest_domid) {
-            int rc2 = libxl_domain_destroy(CTX, dcs->guest_domid);
-            if (rc2)
-                LOG(ERROR, "unable to destroy domain %d following"
-                    " failed creation", dcs->guest_domid);
+            dcs->dds.ao = ao;
+            dcs->dds.domid = dcs->guest_domid;
+            dcs->dds.callback = domcreate_destruction_cb;
+            libxl__domain_destroy(egc, &dcs->dds);
+            return;
         }
         dcs->guest_domid = -1;
     }
     dcs->callback(egc, dcs, rc, dcs->guest_domid);
 }
 
+static void domcreate_destruction_cb(libxl__egc *egc,
+                                     libxl__domain_destroy_state *dds,
+                                     int rc)
+{
+    STATE_AO_GC(dds->ao);
+    libxl__domain_create_state *dcs = CONTAINER_OF(dds, *dcs, dds);
+
+    if (rc)
+        LOG(ERROR, "unable to destroy domain %u following failed creation",
+                   dds->domid);
+
+    dcs->callback(egc, dcs, ERROR_FAIL, dcs->guest_domid);
+}
+
 /*----- application-facing domain creation interface -----*/
 
 typedef struct {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index d898a89..882e647 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -58,6 +58,48 @@ int libxl__parse_backend_path(libxl__gc *gc,
     return libxl__device_kind_from_string(strkind, &dev->backend_kind);
 }
 
+static int libxl__num_devices(libxl__gc *gc, uint32_t domid)
+{
+    char *path;
+    unsigned int num_kinds, num_devs;
+    char **kinds = NULL, **devs = NULL;
+    int i, j, rc = 0;
+    libxl__device dev;
+    libxl__device_kind kind;
+    int numdevs = 0;
+
+    path = GCSPRINTF("/local/domain/%d/device", domid);
+    kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
+    if (!kinds) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "unable to get xenstore device listing %s", path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        num_kinds = 0;
+    }
+    for (i = 0; i < num_kinds; i++) {
+        if (libxl__device_kind_from_string(kinds[i], &kind))
+            continue;
+
+        path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        if (!devs)
+            continue;
+        for (j = 0; j < num_devs; j++) {
+            path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend",
+                             domid, kinds[i], devs[j]);
+            path = libxl__xs_read(gc, XBT_NULL, path);
+            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
+                numdevs++;
+            }
+        }
+    }
+out:
+    if (rc) return rc;
+    return numdevs;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -367,6 +409,23 @@ void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
     aodev->base = base;
 }
 
+int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                libxl__ao_device *list, int num)
+{
+    int i, error = 0;
+
+    device->active = 0;
+    for (i = 0; i < num; i++) {
+        if (list[i].active)
+            return +1;
+
+        if (list[i].rc)
+            error = list[i].rc;
+    }
+
+    return error;
+}
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -381,16 +440,35 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
     return 0;
 }
 
-int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
+/* Callback for device destruction */
+
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev);
+
+void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs)
 {
+    STATE_AO_GC(drs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
+    uint32_t domid = drs->domid;
     char *path;
-    unsigned int num_kinds, num_devs;
+    unsigned int num_kinds, num_dev_xsentries;
     char **kinds = NULL, **devs = NULL;
-    int i, j;
-    libxl__device dev;
+    int i, j, numdev = 0, rc = 0;
+    libxl__device *dev;
+    libxl__ao_device *aodev;
     libxl__device_kind kind;
 
+    drs->num_devices = libxl__num_devices(gc, drs->domid);
+    if (drs->num_devices < 0) {
+        LOG(ERROR, "unable to get number of devices for domain %u", drs->domid);
+        rc = drs->num_devices;
+        goto out;
+    }
+
+    GCNEW_ARRAY(drs->aodev, drs->num_devices);
+    for (i = 0; i < drs->num_devices; i++) {
+        libxl__prepare_ao_device(&drs->aodev[i], drs->ao, &drs->aodev);
+    }
+
     path = libxl__sprintf(gc, "/local/domain/%d/device", domid);
     kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds);
     if (!kinds) {
@@ -406,19 +484,25 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
             continue;
 
         path = libxl__sprintf(gc, "/local/domain/%d/device/%s", domid, kinds[i]);
-        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_devs);
+        devs = libxl__xs_directory(gc, XBT_NULL, path, &num_dev_xsentries);
         if (!devs)
             continue;
-        for (j = 0; j < num_devs; j++) {
+        for (j = 0; j < num_dev_xsentries; j++) {
             path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend",
                                   domid, kinds[i], devs[j]);
             path = libxl__xs_read(gc, XBT_NULL, path);
-            if (path && libxl__parse_backend_path(gc, path, &dev) == 0) {
-                dev.domid = domid;
-                dev.kind = kind;
-                dev.devid = atoi(devs[j]);
-
-                libxl__device_destroy(gc, &dev);
+            GCNEW(dev);
+            if (path && libxl__parse_backend_path(gc, path, dev) == 0) {
+                aodev = &drs->aodev[numdev];
+                dev->domid = domid;
+                dev->kind = kind;
+                dev->devid = atoi(devs[j]);
+                aodev->action = DEVICE_DISCONNECT;
+                aodev->dev = dev;
+                aodev->callback = device_remove_callback;
+                aodev->force = drs->force;
+                libxl__initiate_device_remove(egc, aodev);
+                numdev++;
             }
         }
     }
@@ -426,17 +510,22 @@ int libxl__devices_destroy(libxl__gc *gc, uint32_t domid)
     /* console 0 frontend directory is not under /local/domain/<domid>/device */
     path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid);
     path = libxl__xs_read(gc, XBT_NULL, path);
+    GCNEW(dev);
     if (path && strcmp(path, "") &&
-        libxl__parse_backend_path(gc, path, &dev) == 0) {
-        dev.domid = domid;
-        dev.kind = LIBXL__DEVICE_KIND_CONSOLE;
-        dev.devid = 0;
-
-        libxl__device_destroy(gc, &dev);
+        libxl__parse_backend_path(gc, path, dev) == 0) {
+        dev->domid = domid;
+        dev->kind = LIBXL__DEVICE_KIND_CONSOLE;
+        dev->devid = 0;
+
+        /* Currently console devices can be destroyed synchronously by just
+         * removing xenstore entries, this is what libxl__device_destroy does.
+         */
+        libxl__device_destroy(gc, dev);
     }
 
 out:
-    return 0;
+    if (!numdev) drs->callback(egc, drs, rc);
+    return;
 }
 
 /* Callbacks for device related operations */
@@ -536,6 +625,39 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__devices_remove_state *drs = CONTAINER_OF(aodev->base, *drs, aodev);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *fe_path = libxl__device_frontend_path(gc, aodev->dev);
+    xs_transaction_t t = 0;
+    int rc = 0, ret = 0;
+
+    if (aodev->action == DEVICE_DISCONNECT) {
+        do {
+            t = xs_transaction_start(CTX->xsh);
+            libxl__xs_path_cleanup(gc, t, fe_path);
+            libxl__xs_path_cleanup(gc, t, be_path);
+            ret = !xs_transaction_end(CTX->xsh, t, 0);
+        } while (ret && errno == EAGAIN);
+
+        if (ret) {
+            LOGE(ERROR, "unable to finish transaction");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+out:
+    rc = libxl__ao_device_check_last(gc, aodev, drs->aodev,
+                                     drs->num_devices);
+    if (rc > 0) return;
+
+    drs->callback(egc, drs, rc);
+    return;
+}
+
 int libxl__wait_for_device_model(libxl__gc *gc,
                                  uint32_t domid, char *state,
                                  libxl__spawn_starting *spawning,
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index d987347..99059dc 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,10 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc);
+
 void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
@@ -893,12 +897,31 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
 
  out:
     if (rc) {
-        if (dm_domid)
-            libxl_domain_destroy(CTX, dm_domid);
+        if (dm_domid) {
+            sdss->dis.ao = ao;
+            sdss->dis.domid = dm_domid;
+            sdss->dis.callback = spaw_stubdom_pvqemu_destroy_cb;
+            libxl__destroy_domid(egc, &sdss->dis);
+            return;
+        }
     }
     sdss->callback(egc, &sdss->dm, rc);
 }
 
+static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
+                                           libxl__destroy_domid_state *dis,
+                                           int rc)
+{
+    libxl__stub_dm_spawn_state *sdss = CONTAINER_OF(dis, *sdss, dis);
+    STATE_AO_GC(sdss->dis.ao);
+
+    if (rc)
+        LOG(ERROR, "destruction of domain %u after failed creation failed",
+                   sdss->pvqemu.guest_domid);
+
+    sdss->callback(egc, &sdss->dm, rc);
+}
+
 /* callbacks passed to libxl__spawn_spawn */
 static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
@@ -1091,48 +1114,24 @@ int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
     int ret;
 
     pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid));
-    if (!pid) {
-        int stubdomid = libxl_get_stubdom_id(ctx, domid);
-        const char *savefile;
-
-        if (!stubdomid) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Couldn't find device model's pid");
-            ret = ERROR_INVAL;
-            goto out;
-        }
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid);
-        if (ret)
-            goto out;
-
-        savefile = libxl__device_model_savefile(gc, domid);
-        ret = unlink(savefile);
-        /*
-         * On suspend libxl__domain_save_device_model will have already
-         * unlinked the save file.
-         */
-        if (ret && errno == ENOENT) ret = 0;
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, XTL_ERROR,
-                             "failed to remove device-model savefile %s\n",
-                             savefile);
-            goto out;
-        }
+    if (!pid || !atoi(pid)) {
+        LOG(ERROR, "could not find device-model's pid for dom %u", domid);
+        ret = ERROR_FAIL;
+        goto out;
+    }
+    ret = kill(atoi(pid), SIGHUP);
+    if (ret < 0 && errno == ESRCH) {
+        LOG(ERROR, "Device Model already exited");
+        ret = 0;
+    } else if (ret == 0) {
+        LOG(DEBUG, "Device Model signaled");
+        ret = 0;
     } else {
-        ret = kill(atoi(pid), SIGHUP);
-        if (ret < 0 && errno == ESRCH) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model already exited");
-            ret = 0;
-        } else if (ret == 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device Model signaled");
-            ret = 0;
-        } else {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to kill Device Model [%d]",
-                    atoi(pid));
-            ret = ERROR_FAIL;
-            goto out;
-        }
+        LOGE(ERROR, "failed to kill Device Model [%d]", atoi(pid));
+        ret = ERROR_FAIL;
+        goto out;
     }
+
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/hvmloader", domid));
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5605440..5c15ca5 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -817,7 +817,6 @@ _hidden char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device);
 _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
-_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
 
 /*
@@ -1820,6 +1819,16 @@ typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
 _hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
                                       libxl__ao_device **base);
 
+/* Check if there are devices that have pending events in the array
+ * pointed to by the "list" parameter. Return values can be:
+ * < 0: All done, but error(s) found.
+ * 0: All done
+ * > 0: Not all done
+ * The passed libxl__ao_device struct in "device" is marked as finished.
+ */
+_hidden int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
+                                        libxl__ao_device *list, int num);
+
 struct libxl__ao_device {
     /* filled in by user */
     libxl__ao *ao;
@@ -1847,6 +1856,86 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- Domain destruction -----*/
+
+/* Domain destruction has been split into two functions:
+ *
+ * libxl__domain_destroy is the main destroy function, which detects
+ * stubdoms and calls libxl__destroy_domid on the domain and its
+ * stubdom if present, creating a different libxl__destroy_domid_state
+ * for each one of them.
+ *
+ * libxl__destroy_domid actually destroys the domain, but it
+ * doesn't check for stubdomains, since that would involve
+ * recursion, which we want to avoid.
+ */
+
+typedef struct libxl__domain_destroy_state libxl__domain_destroy_state;
+typedef struct libxl__destroy_domid_state libxl__destroy_domid_state;
+typedef struct libxl__devices_remove_state libxl__devices_remove_state;
+
+typedef void libxl__domain_destroy_cb(libxl__egc *egc,
+                                      libxl__domain_destroy_state *dds,
+                                      int rc);
+
+typedef void libxl__domid_destroy_cb(libxl__egc *egc,
+                                     libxl__destroy_domid_state *dis,
+                                     int rc);
+
+typedef void libxl__devices_remove_callback(libxl__egc *egc,
+                                            libxl__devices_remove_state *drs,
+                                            int rc);
+
+struct libxl__devices_remove_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__devices_remove_callback *callback;
+    int force; /* libxl_device_TYPE_destroy rather than _remove */
+    /* private */
+    libxl__ao_device *aodev;
+    int num_devices;
+};
+
+struct libxl__destroy_domid_state {
+    /* filled in by user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domid_destroy_cb *callback;
+    /* private to implementation */
+    libxl__devices_remove_state drs;
+};
+
+struct libxl__domain_destroy_state {
+    /* filled by the user */
+    libxl__ao *ao;
+    uint32_t domid;
+    libxl__domain_destroy_cb *callback;
+    /* Private */
+    int rc;
+    uint32_t stubdomid;
+    libxl__destroy_domid_state stubdom;
+    int stubdom_finished;
+    libxl__destroy_domid_state domain;
+    int domain_finished;
+};
+
+/*
+ * Entry point for domain destruction
+ * This function checks for stubdom presence and then calls
+ * libxl__destroy_domid on the passed domain and its stubdom if found.
+ */
+_hidden void libxl__domain_destroy(libxl__egc *egc,
+                                   libxl__domain_destroy_state *dds);
+
+/* Used to destroy a domain with the passed id (it doesn't check for stubs) */
+_hidden void libxl__destroy_domid(libxl__egc *egc,
+                                  libxl__destroy_domid_state *dis);
+
+/* Entry point for devices destruction */
+_hidden void libxl__devices_destroy(libxl__egc *egc,
+                                    libxl__devices_remove_state *drs);
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1880,6 +1969,7 @@ typedef struct {
     libxl_domain_config dm_config;
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
+    libxl__destroy_domid_state dis;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1906,6 +1996,8 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    /* necessary if the domain creation failed and we have to destroy it */
+    libxl__domain_destroy_state dds;
 };
 
 /*
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index ca988d6..3220e89 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1389,7 +1389,7 @@ static int handle_domain_death(uint32_t domid,
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1987,7 +1987,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
 out:
     if (logfile != 2)
@@ -2550,7 +2550,7 @@ static void destroy_domain(const char *p)
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid);
+    rc = libxl_domain_destroy(ctx, domid, 0);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2824,7 +2824,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
     if (checkpoint)
         libxl_domain_resume(ctx, domid, 1);
     else
-        libxl_domain_destroy(ctx, domid);
+        libxl_domain_destroy(ctx, domid, 0);
 
     exit(0);
 }
@@ -3084,7 +3084,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid); /* bang! */
+    libxl_domain_destroy(ctx, domid, 0); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -3237,7 +3237,7 @@ static void migrate_receive(int debug, int daemonize, int monitor,
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid);
+        rc2 = libxl_domain_destroy(ctx, domid, 0);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index 1db777d..4ff3120 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -437,7 +437,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
     int domid;
     if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid) ) {
+    if ( libxl_domain_destroy(self->ctx, domid, 0) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidD-0005VP-1s; Wed, 30 May 2012 13:08:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005TM-W6
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.35:64188] by server-3.bemta-4.messagelabs.com id
	10/53-04252-2BB16CF4; Wed, 30 May 2012 13:08:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11114 invoked from network); 30 May 2012 13:08:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206540"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-As;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:53 +0100
Message-ID: <1338383275-21315-9-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 08/10] libxl: call hotplug scripts for disk
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for disk devices, that should be called when the device is added or
removed from a guest.

We will chain the launch of the disk hotplug scripts after the
device_backend_callback callback, or directly from
libxl__initiate_device_{add,remove} if the device is already in the
desired state.

Changes since v4:

 * Init args and env to NULL.

 * Correctly propagate errors from libxl__get_hotplug_script_info.

 * Replaced if in libxl__ev_child_inuse with asserts.

 * Renamed fork_cb to child_death_cb.

 * Move deregistration of device_hotplug_timeout_cb to the top of the
   function.

 * Removed "pid" field from libxl__ao_device struct.

 * Moved arraysize declaration.

 * Fixed diff complain about no newline at the end of libxl_netbsd.c.

Changes since v2:

 * Added array size check with assert.

 * Added NetBSD code (so compilation is not broken).

 * Removed a check for null in device_hotplug_timeout_cb.

Changes since v1:

 * Moved all the event related code that was inside libxl_linux.c into
   libxl_device.c, so the flow of the device addition/removal event is
   all in the same file.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules     |    6 +-
 tools/hotplug/Linux/xen-hotplug-common.sh |    6 ++
 tools/libxl/libxl.c                       |   10 +++
 tools/libxl/libxl_device.c                |  115 +++++++++++++++++++++++++++++
 tools/libxl/libxl_internal.h              |   19 +++++
 tools/libxl/libxl_linux.c                 |  100 +++++++++++++++++++++++++
 tools/libxl/libxl_netbsd.c                |    9 ++
 7 files changed, 262 insertions(+), 3 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index 405387f..d55ff11 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -1,11 +1,11 @@
-SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/blktap $env{ACTION}"
+SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
-SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
+SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
 SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600"
 SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600"
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 8f6557d..4a7bc73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -15,6 +15,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
+# Hack to prevent the execution of hotplug scripts from udev if the domain
+# has been launched from libxl
+if [ -n "${UDEV_CALL}" ] && \
+   xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then
+    exit 0
+fi
 
 dir=$(dirname "$0")
 . "$dir/hotplugpath.sh"
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index ef99fa6..f7a137f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1607,6 +1607,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "block"));
+
             assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
@@ -1622,6 +1627,11 @@ void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                 libxl__device_disk_string_of_format(disk->format),
                 disk->pdev_path));
 
+            flexarray_append(back, "script");
+            flexarray_append(back, GCSPRINTF("%s/%s",
+                                             libxl__xen_script_dir_path(),
+                                             "blktap"));
+
             /* now create a phy device to export the device to the guest */
             goto do_backend_phy;
         case LIBXL_DISK_BACKEND_QDISK:
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index de7904a..7db379a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -572,6 +572,15 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev);
+
+static void device_hotplug_child_death_cb(libxl__egc *egc,
+                                          libxl__ev_child *child,
+                                          pid_t pid, int status);
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs);
+
 void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
@@ -679,6 +688,9 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
         goto out;
     }
 
+    device_hotplug(egc, aodev);
+    return;
+
 out:
     aodev->rc = rc;
     aodev->callback(egc, aodev);
@@ -691,6 +703,109 @@ static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
     libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
+static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char **args = NULL, **env = NULL;
+    int rc = 0;
+    int hotplug;
+    pid_t pid;
+
+    /* Check if we have to execute hotplug scripts for this device
+     * and return the necessary args/env vars for execution */
+    hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
+                                             aodev->action);
+    switch (hotplug) {
+    case 0:
+        /* no hotplug script to execute */
+        goto out;
+    case 1:
+        /* execute hotplug script */
+        break;
+    default:
+        /* everything else is an error */
+        LOG(ERROR, "unable to get args/env to execute hotplug script for "
+                   "device %s", libxl__device_backend_path(gc, aodev->dev));
+        rc = hotplug;
+        goto out;
+    }
+
+    /* Set hotplug timeout */
+    libxl__ev_time_init(&aodev->ev);
+    rc = libxl__ev_time_register_rel(gc, &aodev->ev, device_hotplug_timeout_cb,
+                                     LIBXL_HOTPLUG_TIMEOUT * 1000);
+    if (rc) {
+        LOG(ERROR, "unable to register timeout for hotplug device %s", be_path);
+        goto out;
+    }
+
+    aodev->what = GCSPRINTF("%s %s", args[0], args[1]);
+    LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]);
+    libxl__ev_child_init(&aodev->child);
+
+    /* fork and execute hotplug script */
+    pid = libxl__ev_child_fork(gc, &aodev->child, device_hotplug_child_death_cb);
+    if (pid == -1) {
+        LOG(ERROR, "unable to fork");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (!pid) {
+        /* child */
+        libxl__exec(gc, -1, -1, -1, args[0], args, env);
+        /* notreached */
+        abort();
+    }
+
+    assert(libxl__ev_child_inuse(&aodev->child));
+
+    return;
+
+out:
+    libxl__ev_time_deregister(gc, &aodev->ev);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
+static void device_hotplug_child_death_cb(libxl__egc *egc,
+                                          libxl__ev_child *child,
+                                          pid_t pid, int status)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, aodev->rc ? LIBXL__LOG_ERROR
+                                                     : LIBXL__LOG_WARNING,
+                                      aodev->what, pid, status);
+        aodev->rc = ERROR_FAIL;
+    }
+    aodev->callback(egc, aodev);
+}
+
+static void device_hotplug_timeout_cb(libxl__egc *egc, libxl__ev_time *ev,
+                                      const struct timeval *requested_abs)
+{
+    libxl__ao_device *aodev = CONTAINER_OF(ev, *aodev, ev);
+    STATE_AO_GC(aodev->ao);
+
+    libxl__ev_time_deregister(gc, &aodev->ev);
+
+    assert(libxl__ev_child_inuse(&aodev->child));
+    LOG(DEBUG, "killing hotplug script %s because of timeout", aodev->what);
+    if (kill(aodev->child.pid, SIGKILL)) {
+        LOGEV(ERROR, errno, "unable to kill hotplug script %s [%ld]",
+                            aodev->what, (unsigned long)aodev->child.pid);
+    }
+
+    return;
+}
+
 static void device_remove_callback(libxl__egc *egc, libxl__ao_device *aodev)
 {
     STATE_AO_GC(aodev->ao);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5a2a87a..9dd2404 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -72,6 +72,7 @@
 
 #define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
+#define LIBXL_HOTPLUG_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
@@ -1846,6 +1847,10 @@ struct libxl__ao_device {
     int rc;
     libxl__ev_devstate ds;
     void *base;
+    /* device hotplug execution */
+    char *what;
+    libxl__ev_time ev;
+    libxl__ev_child child;
 };
 
 /* Internal AO operation to connect a disk device, called by
@@ -1880,6 +1885,20 @@ _hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*
+ * libxl__get_hotplug_script_info returns the args and env that should
+ * be passed to the hotplug script for the requested device.
+ *
+ * Since a device might not need to execute any hotplug script, this function
+ * can return the following values:
+ * < 0: Error
+ * 0: No need to execute hotplug script
+ * 1: Execute hotplug script
+ */
+_hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                           char ***args, char ***env,
+                                           libxl__device_action action);
+
 /*----- Domain destruction -----*/
 
 /* Domain destruction has been split into two functions:
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 925248b..60a966f 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -25,3 +25,103 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 1;
 }
+
+/* Hotplug scripts helpers */
+
+static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    const char *type = libxl__device_kind_to_string(dev->backend_kind);
+    char **env;
+    int nr = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        return NULL;
+    }
+
+    const int arraysize = 9;
+    GCNEW_ARRAY(env, arraysize);
+    env[nr++] = "script";
+    env[nr++] = script;
+    env[nr++] = "XENBUS_TYPE";
+    env[nr++] = libxl__strdup(gc, type);
+    env[nr++] = "XENBUS_PATH";
+    env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
+    env[nr++] = "XENBUS_BASE_PATH";
+    env[nr++] = "backend";
+    env[nr++] = NULL;
+    assert(nr == arraysize);
+
+    return env;
+}
+
+/* Hotplug scripts caller functions */
+
+static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+
+    script = libxl__xs_read(gc, XBT_NULL,
+                            GCSPRINTF("%s/%s", be_path, "script"));
+    if (!script) {
+        LOGEV(ERROR, errno, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!*env) {
+        rc = ERROR_FAIL;
+        goto error;
+    }
+
+    const int arraysize = 3;
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+    (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+    (*args)[nr++] = NULL;
+    assert(nr == arraysize);
+
+    rc = 0;
+
+error:
+    return rc;
+}
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
+    int rc;
+
+    /* Check if we have to run hotplug scripts */
+    if (!disable_udev) {
+        rc = 0;
+        goto out;
+    }
+
+    switch (dev->backend_kind) {
+    case LIBXL__DEVICE_KIND_VBD:
+        rc = libxl__hotplug_disk(gc, dev, args, env, action);
+        if (!rc) rc = 1;
+        break;
+    default:
+        /* If no need to execute any hotplug scripts,
+         * call the callback manually
+         */
+        rc = 0;
+        break;
+    }
+
+out:
+    return rc;
+}
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index 9e0ed6d..d41a046 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -24,3 +24,12 @@ int libxl__try_phy_backend(mode_t st_mode)
 
     return 0;
 }
+
+/* Hotplug scripts caller functions */
+
+int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
+                                   char ***args, char ***env,
+                                   libxl__device_action action)
+{
+    return 0;
+}
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid9-0005TU-8M; Wed, 30 May 2012 13:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid7-0005St-Si
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:01 +0000
Received: from [85.158.143.99:53533] by server-1.bemta-4.messagelabs.com id
	CD/3B-27869-1BB16CF4; Wed, 30 May 2012 13:08:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338383278!30499241!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28241 invoked from network); 30 May 2012 13:08:00 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196892059"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-9A;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:52 +0100
Message-ID: <1338383275-21315-8-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 07/10] libxl: set nic type to VIF by default
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Set the default value for nic interfaces to VIF, since it used to be
IOEMU, even for PV guests.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 88869f6..ef99fa6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2008,7 +2008,7 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic)
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
     if (!nic->nictype)
-        nic->nictype = LIBXL_NIC_TYPE_IOEMU;
+        nic->nictype = LIBXL_NIC_TYPE_VIF;
     return 0;
 }
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidD-0005Va-E7; Wed, 30 May 2012 13:08:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZidA-0005St-AM
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.99:55701] by server-1.bemta-4.messagelabs.com id
	28/5B-27869-3BB16CF4; Wed, 30 May 2012 13:08:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338383278!30499241!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28428 invoked from network); 30 May 2012 13:08:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196892061"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-46;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:46 +0100
Message-ID: <1338383275-21315-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 01/10] libxl: change libxl__ao_device_remove
	to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Introduce a new structure to track state of device backends, that will
be used in following patches on this series.

This structure if used for both device creation and device
destruction and removes libxl__ao_device_remove.

Changes sinve v4:

 * Added a more detailed comment in _prepare and _initiate header.

 * Removed an unnecessary state check from
   libxl_initiate_device_remove.

Changes since v2:

 * Remove unnecessary comments in libxl__ao_device.

 * Change libxl__device_cb to device_addrm_aocomplete.

 * Rename aorm parameter in device_addrm_aocomplete to aodev.

 * Use a macro to define {nic,disk,vkb,vfb}_{remove,destroy}
   functions.

 * Rename libxl__init_ao_device to libxl__prepare_ao_device and add a
   comment explaining why we need to set active to 1.

 * Replace al uses of aorm with aodev.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |  211 ++++++++++++++----------------------------
 tools/libxl/libxl.h          |   15 ++-
 tools/libxl/libxl_device.c   |  110 +++++++++++++---------
 tools/libxl/libxl_internal.h |   62 +++++++++++--
 4 files changed, 202 insertions(+), 196 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 0e281a6..c4e31e1 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1317,6 +1317,26 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
 
 /******************************************************************************/
 
+/* generic callback for devices that only need to set ao_complete */
+static void device_addrm_aocomplete(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+
+    if (aodev->rc) {
+        LOGE(ERROR, "unable to %s %s with id %u",
+                    aodev->action == DEVICE_CONNECT ? "add" : "remove",
+                    libxl__device_kind_to_string(aodev->dev->kind),
+                    aodev->dev->devid);
+        goto out;
+    }
+
+out:
+    libxl__ao_complete(egc, ao, aodev->rc);
+    return;
+}
+
+/******************************************************************************/
+
 int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
 {
     int rc;
@@ -1486,42 +1506,6 @@ out:
     return rc;
 }
 
-int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
-                             libxl_device_disk *disk,
-                             const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
                                           const char *be_path,
                                           libxl_device_disk *disk)
@@ -1964,42 +1948,6 @@ out:
     return rc;
 }
 
-int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_nic *nic,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_nic *nic)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
                                          const char *be_path,
                                          libxl_device_nic *nic)
@@ -2326,42 +2274,6 @@ out:
     return rc;
 }
 
-int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vkb *vkb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vkb *vkb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vkb(gc, domid, vkb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
-
 /******************************************************************************/
 
 int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb)
@@ -2459,41 +2371,56 @@ out:
     return rc;
 }
 
-int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
-                            libxl_device_vfb *vfb,
-                            const libxl_asyncop_how *ao_how)
-{
-    AO_CREATE(ctx, domid, ao_how);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
-
-    rc = libxl__initiate_device_remove(egc, ao, &device);
-    if (rc) goto out;
-
-    return AO_INPROGRESS;
-
-out:
-    return AO_ABORT(rc);
-}
-
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
-                                  libxl_device_vfb *vfb)
-{
-    GC_INIT(ctx);
-    libxl__device device;
-    int rc;
-
-    rc = libxl__device_from_vfb(gc, domid, vfb, &device);
-    if (rc != 0) goto out;
+/******************************************************************************/
 
-    rc = libxl__device_destroy(gc, &device);
-out:
-    GC_FREE;
-    return rc;
-}
+/* Macro for defining device remove/destroy functions in a compact way */
+#define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
+    int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
+        uint32_t domid, libxl_device_##type *type,                      \
+        const libxl_asyncop_how *ao_how)                                \
+    {                                                                   \
+        AO_CREATE(ctx, domid, ao_how);                                  \
+        libxl__device *device;                                          \
+        libxl__ao_device *aodev;                                        \
+        int rc;                                                         \
+                                                                        \
+        GCNEW(device);                                                  \
+        rc = libxl__device_from_##type(gc, domid, type, device);        \
+        if (rc != 0) goto out;                                          \
+                                                                        \
+        GCNEW(aodev);                                                   \
+        libxl__prepare_ao_device(aodev, ao, NULL);                      \
+        aodev->action = DEVICE_DISCONNECT;                              \
+        aodev->dev = device;                                            \
+        aodev->callback = device_addrm_aocomplete;                      \
+        aodev->force = f;                                               \
+        libxl__initiate_device_remove(egc, aodev);                      \
+                                                                        \
+    out:                                                                \
+        if (rc) return AO_ABORT(rc);                                    \
+        return AO_INPROGRESS;                                           \
+    }
+
+/* Define all remove/destroy functions and undef the macro */
+
+/* disk */
+DEFINE_DEVICE_REMOVE(disk, remove, 0)
+DEFINE_DEVICE_REMOVE(disk, destroy, 1)
+
+/* nic */
+DEFINE_DEVICE_REMOVE(nic, remove, 0)
+DEFINE_DEVICE_REMOVE(nic, destroy, 1)
+
+/* vkb */
+DEFINE_DEVICE_REMOVE(vkb, remove, 0)
+DEFINE_DEVICE_REMOVE(vkb, destroy, 1)
+
+/* vfb */
+
+DEFINE_DEVICE_REMOVE(vfb, remove, 0)
+DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
+
+#undef DEFINE_DEVICE_REMOVE
 
 /******************************************************************************/
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 9c03f15..6bd028f 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -642,7 +642,8 @@ int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
 int libxl_device_disk_destroy(libxl_ctx *ctx, uint32_t domid,
-                              libxl_device_disk *disk);
+                              libxl_device_disk *disk,
+                              const libxl_asyncop_how *ao_how);
 
 libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -666,7 +667,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_nic *nic,
+                             const libxl_asyncop_how *ao_how);
 
 libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int *num);
 int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
@@ -677,14 +680,18 @@ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
 int libxl_device_vkb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vkb *vkb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb);
+int libxl_device_vkb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vkb *vkb,
+                             const libxl_asyncop_how *ao_how);
 
 /* Framebuffer */
 int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
 int libxl_device_vfb_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_vfb *vfb,
                             const libxl_asyncop_how *ao_how);
-int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb);
+int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid,
+                             libxl_device_vfb *vfb,
+                             const libxl_asyncop_how *ao_how);
 
 /* PCI Passthrough */
 int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev);
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 2006406..d898a89 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -356,11 +356,16 @@ int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
     return -1;
 }
 
+/* Device AO operations */
 
-typedef struct {
-    libxl__ao *ao;
-    libxl__ev_devstate ds;
-} libxl__ao_device_remove;
+void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                              libxl__ao_device **base)
+{
+    aodev->ao = ao;
+    aodev->active = 1;
+    aodev->rc = 0;
+    aodev->base = base;
+}
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
@@ -436,34 +441,27 @@ out:
 
 /* Callbacks for device related operations */
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc);
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm);
+static void device_backend_cleanup(libxl__gc *gc,
+                                   libxl__ao_device *aodev);
 
-int libxl__initiate_device_remove(libxl__egc *egc, libxl__ao *ao,
-                                  libxl__device *dev)
+void libxl__initiate_device_remove(libxl__egc *egc,
+                                   libxl__ao_device *aodev)
 {
-    AO_GC;
+    STATE_AO_GC(aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    xs_transaction_t t;
-    char *be_path = libxl__device_backend_path(gc, dev);
+    xs_transaction_t t = 0;
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
     char *state_path = libxl__sprintf(gc, "%s/state", be_path);
-    char *state = libxl__xs_read(gc, XBT_NULL, state_path);
     int rc = 0;
-    libxl__ao_device_remove *aorm = 0;
-
-    if (!state)
-        goto out_ok;
-    if (atoi(state) != 4) {
-        libxl__device_destroy_tapdisk(gc, be_path);
-        xs_rm(ctx->xsh, XBT_NULL, be_path);
-        goto out_ok;
-    }
 
 retry_transaction:
     t = xs_transaction_start(ctx->xsh);
+    if (aodev->force)
+        libxl__xs_path_cleanup(gc, t,
+                               libxl__device_frontend_path(gc, aodev->dev));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/online", be_path), "0", strlen("0"));
     xs_write(ctx->xsh, t, state_path, "5", strlen("5"));
     if (!xs_transaction_end(ctx->xsh, t, 0)) {
@@ -474,42 +472,68 @@ retry_transaction:
             goto out_fail;
         }
     }
+    /* mark transaction as ended, to prevent double closing it on out_ok */
+    t = 0;
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    aorm = libxl__zalloc(gc, sizeof(*aorm));
-    aorm->ao = ao;
-    libxl__ev_devstate_init(&aorm->ds);
+    libxl__ev_devstate_init(&aodev->ds);
 
-    rc = libxl__ev_devstate_wait(gc, &aorm->ds, device_remove_callback,
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
                                  state_path, XenbusStateClosed,
                                  LIBXL_DESTROY_TIMEOUT * 1000);
-    if (rc) goto out_fail;
+    if (rc) {
+        LOG(ERROR, "unable to remove device %s", be_path);
+        goto out_fail;
+    }
 
-    return 0;
+    return;
 
  out_fail:
     assert(rc);
-    device_remove_cleanup(gc, aorm);
-    return rc;
-
- out_ok:
-    libxl__ao_complete(egc, ao, 0);
-    return 0;
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_callback(libxl__egc *egc, libxl__ev_devstate *ds,
+static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
                                    int rc) {
-    libxl__ao_device_remove *aorm = CONTAINER_OF(ds, *aorm, ds);
-    libxl__gc *gc = &aorm->ao->gc;
-    libxl__ao_complete(egc, aorm->ao, rc);
-    device_remove_cleanup(gc, aorm);
+    libxl__ao_device *aodev = CONTAINER_OF(ds, *aodev, ds);
+    STATE_AO_GC(aodev->ao);
+
+    device_backend_cleanup(gc, aodev);
+
+    if (rc == ERROR_TIMEDOUT && aodev->action == DEVICE_DISCONNECT &&
+        !aodev->force) {
+        aodev->force = 1;
+        libxl__initiate_device_remove(egc, aodev);
+        return;
+    }
+
+    /* Some devices (vkbd) fail to disconnect properly,
+     * but we shouldn't alarm the user if it's during
+     * domain destruction.
+     */
+    if (rc && aodev->action == DEVICE_CONNECT) {
+        LOG(ERROR, "unable to connect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    } else if (rc) {
+        LOG(DEBUG, "unable to disconnect device with path %s",
+                   libxl__device_backend_path(gc, aodev->dev));
+        goto out;
+    }
+
+out:
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
 }
 
-static void device_remove_cleanup(libxl__gc *gc,
-                                  libxl__ao_device_remove *aorm) {
-    if (!aorm) return;
-    libxl__ev_devstate_cancel(gc, &aorm->ds);
+static void device_backend_cleanup(libxl__gc *gc, libxl__ao_device *aodev)
+{
+    if (!aodev) return;
+    libxl__ev_devstate_cancel(gc, &aodev->ds);
 }
 
 int libxl__wait_for_device_model(libxl__gc *gc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index bbc2149..5baf1f0 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -848,13 +848,6 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc,
                                               uint32_t devid,
                                               libxl_nic_type type);
 
-/* Arranges that dev will be removed from its guest.  When
- * this is done, the ao will be completed.  An error
- * return from libxl__initiate_device_remove means that the ao
- * will _not_ be completed and the caller must do so. */
-_hidden int libxl__initiate_device_remove(libxl__egc*, libxl__ao*,
-                                          libxl__device *dev);
-
 /*
  * libxl__ev_devstate - waits a given time for a device to
  * reach a given state.  Follows the libxl_ev_* conventions.
@@ -1837,6 +1830,61 @@ _hidden void libxl__bootloader_init(libxl__bootloader_state *bl);
  * If callback is passed rc==0, will have updated st->info appropriately */
 _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
 
+/*----- device addition/removal -----*/
+
+/* Action to perform (either connect or disconnect) */
+typedef enum {
+    DEVICE_CONNECT,
+    DEVICE_DISCONNECT
+} libxl__device_action;
+
+typedef struct libxl__ao_device libxl__ao_device;
+typedef void libxl__device_callback(libxl__egc*, libxl__ao_device*);
+
+/* This functions sets the necessary libxl__ao_device struct values to use
+ * safely inside functions. It marks the operation as "active"
+ * since we need to be sure that all device status structs are set
+ * to active before start queueing events, or we might call
+ * ao_complete before all devices had finished
+ *
+ * libxl__initiate_device_{remove/addition} should not be called without
+ * calling libxl__prepare_ao_device first, since it initializes the private
+ * fields of the struct libxl__ao_device to what this functions expect.
+ *
+ * Once _prepare has been called on a libxl__ao_device, it is safe to just
+ * discard this struct, there's no need to call any destroy function.
+ * _prepare can also be called multiple times with the same libxl__ao_device.
+ */
+_hidden void libxl__prepare_ao_device(libxl__ao_device *aodev, libxl__ao *ao,
+                                      libxl__ao_device **base);
+
+struct libxl__ao_device {
+    /* filled in by user */
+    libxl__ao *ao;
+    /* action being performed */
+    libxl__device_action action;
+    libxl__device *dev;
+    int force;
+    libxl__device_callback *callback;
+    /* private for implementation */
+    int active;
+    int rc;
+    libxl__ev_devstate ds;
+    void *base;
+};
+
+/* Arranges that dev will be removed to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ *
+ * The libxl__ao_device passed to this function should be
+ * prepared using libxl__prepare_ao_device prior to calling
+ * this function.
+ */
+_hidden void libxl__initiate_device_remove(libxl__egc *egc,
+                                           libxl__ao_device *aodev);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid9-0005Te-On; Wed, 30 May 2012 13:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid8-0005St-9H
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:02 +0000
Received: from [85.158.143.35:64078] by server-1.bemta-4.messagelabs.com id
	1E/3B-27869-1BB16CF4; Wed, 30 May 2012 13:08:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11074 invoked from network); 30 May 2012 13:08:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206538"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-8c;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:51 +0100
Message-ID: <1338383275-21315-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 06/10] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v2:

 * Change atoi(...) to !!atoi(...) to prevent returning negative
   values from xenstore (which will be handled as errors).

 * Check for errors on the return value of libxl__hotplug_settings.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   36 +++++++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 77 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 1dc8247..317654f 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -400,7 +400,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -521,6 +521,40 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (hotplug_setting < 0) {
+        LOG(ERROR, "unable to get current hotplug scripts execution setting");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 8139520..bc56f21 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = !!atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49085b4..5a2a87a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1408,6 +1409,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 5b81ee9..3c8636c 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -218,6 +218,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 69f8737..02a84eb 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -69,6 +70,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2af9428..59f931f 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -139,6 +139,7 @@ int xl_child_pid(xlchildnum); /* returns 0 if child struct is not in use */
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 1f9b857..b8e5773 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -594,6 +594,7 @@ static void parse_config_data(const char *config_source,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid7-0005T0-Gf; Wed, 30 May 2012 13:08:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid6-0005St-SA
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:01 +0000
Received: from [85.158.143.35:39056] by server-1.bemta-4.messagelabs.com id
	7F/2B-27869-0BB16CF4; Wed, 30 May 2012 13:08:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10964 invoked from network); 30 May 2012 13:07:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:07:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206535"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-3H	for xen-devel@lists.xen.org;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:45 +0100
Message-ID: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v5 01/10] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Acked:

[PATCH v5 02/10] libxl: move device model creation prototypes
[PATCH v5 03/10] libxl: convert libxl_domain_destroy to an async op
[PATCH v5 06/10] libxl: add option to choose who executes hotplug
[PATCH v5 10/10] libxl: use libxl__xs_path_cleanup on device_destroy

Pending:

[PATCH v5 01/10] libxl: change libxl__ao_device_remove to
[PATCH v5 04/10] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v5 05/10] libxl: convert libxl_device_nic_add to an async
[PATCH v5 07/10] libxl: set nic type to VIF by default
[PATCH v5 08/10] libxl: call hotplug scripts for disk devices from
[PATCH v5 09/10] libxl: call hotplug scripts for nic devices from

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidC-0005V7-IU; Wed, 30 May 2012 13:08:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005Sz-Pp
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.35:64253] by server-2.bemta-4.messagelabs.com id
	10/59-11595-3BB16CF4; Wed, 30 May 2012 13:08:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338383280!12723310!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10250 invoked from network); 30 May 2012 13:08:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206541"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-66;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:49 +0100
Message-ID: <1338383275-21315-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 04/10] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v4:

 * Added more comments about libxl__device_disk_add and
   libxl__add_disks.

 * Removed stray hunk in Makefile.

 * Fixed _prepare call libxl__add_disks (separate into a different
   loop).

 * Moved some code to check if disks have finished to a macro that
   generates a custom function, which will also be used for vif
   interfaces.

Changes since v2:

 * Remove state read from libxl__initiate_device_add

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   44 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   65 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   63 +++++++++++++++++++++++++++++++---------
 tools/libxl/libxl_internal.h |   52 +++++++++++++++++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 242 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4044b9e..b674557 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1540,13 +1540,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1570,7 +1588,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1588,7 +1607,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1609,7 +1628,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1641,22 +1660,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d5dc2a0..ff0078d 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -638,7 +638,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 1df116e..2dc1cee 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,14 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_launch_dm(libxl__egc *egc,
+                                libxl__domain_create_state *dcs,
+                                int rc);
+
+DEFINE_DEVICES_CALLBACK(domcreate_disk_connected,
+                        libxl__domain_create_state,
+                        devices, num_devices, domcreate_launch_dm)
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -677,7 +685,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -716,15 +723,34 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_launch_dm(libxl__egc *egc,
+                                libxl__domain_create_state *dcs, int rc)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    if (rc) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 882e647..0beb4bb 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,41 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return error;
 }
 
+/******************************************************************************/
+
+/* Macro for defining the functions that will add a bunch of disks when
+ * inside an async op.
+ *
+ * This macro is added to prevent repetition of code.
+ */
+#define DEFINE_DEVICES_ADD(type)                                              \
+    void libxl__add_##type##s(libxl__egc *egc, libxl__ao *ao, uint32_t domid, \
+                              libxl_domain_config *d_config,                  \
+                              libxl__ao_device **devices,                     \
+                              libxl__device_callback *callback)               \
+    {                                                                         \
+        AO_GC;                                                                \
+        GCNEW_ARRAY(*devices, d_config->num_##type##s);                       \
+        libxl__ao_device *aodev = *devices;                                   \
+        int i;                                                                \
+                                                                              \
+        for (i = 0; i < d_config->num_##type##s; i++) {                       \
+            libxl__prepare_ao_device(&aodev[i], ao, devices);                 \
+            aodev[i].callback = callback;                                     \
+        }                                                                     \
+                                                                              \
+        for (i = 0; i < d_config->num_##type##s; i++) {                       \
+            libxl__device_##type##_add(egc, domid, &d_config->type##s[i],     \
+                                       &aodev[i]);                            \
+        }                                                                     \
+    }
+
+DEFINE_DEVICES_ADD(disk)
+
+#undef DEFINE_DEVICES_ADD
+
+/******************************************************************************/
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -536,6 +571,36 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    int rc = 0;
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aodev->callback(egc, aodev);
+        return;
+    }
+
+    libxl__ev_devstate_init(&aodev->ds);
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aodev)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 99059dc..dbd8431 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,13 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_launch_dm(libxl__egc *egc,
+                                 libxl__stub_dm_spawn_state *sdss, int rc);
+
+DEFINE_DEVICES_CALLBACK(spawn_stub_disk_connected,
+                        libxl__stub_dm_spawn_state,
+                        devices, num_devices, spawn_stub_launch_dm)
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +688,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -801,22 +807,52 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_launch_dm(libxl__egc *egc,
+                                 libxl__stub_dm_spawn_state *sdss, int rc)
+{
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    if (rc) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -824,7 +860,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -860,7 +896,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.spawn.ao = ao;
@@ -871,11 +907,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5c15ca5..6df68a6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1844,6 +1845,21 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device, called by
+ * libxl_device_disk_add and libxl__add_disks. This function calls
+ * libxl__initiate_device_add */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aodev);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1936,6 +1952,36 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks. This should be used when
+ * the caller is inside an async op. "devices" will be prepared by this
+ * function, so there's no need to call _prepare before calling this
+ * function.
+ *
+ * The "callback" will be called for each device, and the user is responsible
+ * for calling libxl__ao_device_check_last on the callback.
+ */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback *callback);
+
+/* Macro to define callbacks of libxl__add_*, checks if device is last
+ * and calls the function passed as a parameter to this macro with the
+ * following syntax; func(libxl__egc *, parent_type *, int rc) */
+#define DEFINE_DEVICES_CALLBACK(callback_name, parent_type, array_name,       \
+                                array_size_name, func_to_call)                \
+    static void callback_name(libxl__egc *egc, libxl__ao_device *aodev)       \
+    {                                                                         \
+        STATE_AO_GC(aodev->ao);                                               \
+        parent_type *p = CONTAINER_OF(aodev->base, *p, array_name);           \
+        int rc;                                                               \
+                                                                              \
+        rc = libxl__ao_device_check_last(gc, aodev, p->array_name,            \
+                                         p->array_size_name);                 \
+        if (rc > 0) return;                                                   \
+        func_to_call(egc, p, rc);                                             \
+    }
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1970,6 +2016,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1998,6 +2047,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 /*
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3220e89..a7fa0b9 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5343,7 +5343,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid9-0005Te-On; Wed, 30 May 2012 13:08:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid8-0005St-9H
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:02 +0000
Received: from [85.158.143.35:64078] by server-1.bemta-4.messagelabs.com id
	1E/3B-27869-1BB16CF4; Wed, 30 May 2012 13:08:01 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11074 invoked from network); 30 May 2012 13:08:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206538"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-8c;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:51 +0100
Message-ID: <1338383275-21315-7-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 06/10] libxl: add option to choose who
	executes hotplug scripts
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Add and option to xl.conf file to decide if hotplug scripts are
executed from the toolstack (xl) or from udev as it used to be in the
past.

This option is only introduced in this patch, but it has no effect
since the code to call hotplug scripts from libxl is introduced in a
latter patch.

This choice will be saved in "libxl/disable_udev", as specified in the
DISABLE_UDEV_PATH constant.

Changes since v2:

 * Change atoi(...) to !!atoi(...) to prevent returning negative
   values from xenstore (which will be handled as errors).

 * Check for errors on the return value of libxl__hotplug_settings.

Changes since v1:

 * Used an auxiliary function to check for the current setting.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 docs/man/xl.conf.pod.5       |    8 ++++++++
 tools/examples/xl.conf       |    5 +++++
 tools/libxl/libxl_create.c   |   36 +++++++++++++++++++++++++++++++++++-
 tools/libxl/libxl_internal.c |   19 +++++++++++++++++++
 tools/libxl/libxl_internal.h |    3 +++
 tools/libxl/libxl_types.idl  |    1 +
 tools/libxl/xl.c             |    4 ++++
 tools/libxl/xl.h             |    1 +
 tools/libxl/xl_cmdimpl.c     |    1 +
 9 files changed, 77 insertions(+), 1 deletions(-)

diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5
index 8bd45ea..72825a0 100644
--- a/docs/man/xl.conf.pod.5
+++ b/docs/man/xl.conf.pod.5
@@ -55,6 +55,14 @@ default.
 
 Default: C<1>
 
+=item B<run_hotplug_scripts=BOOLEAN>
+
+If disabled hotplug scripts will be called from udev, as it used to
+be in the previous releases. With the default option, hotplug scripts
+will be launched by xl directly.
+
+Default: C<1>
+
 =item B<lockfile="PATH">
 
 Sets the path to the lock file used by xl to serialise certain
diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf
index 56d3b3b..75b00e0 100644
--- a/tools/examples/xl.conf
+++ b/tools/examples/xl.conf
@@ -12,3 +12,8 @@
 
 # default output format used by "xl list -l"
 #output_format="json"
+
+# default option to run hotplug scripts from xl
+# if disabled the old behaviour will be used, and hotplug scripts will be
+# launched by udev.
+#run_hotplug_scripts=1
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 1dc8247..317654f 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -400,7 +400,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags, ret, rc;
+    int flags, ret, rc, nb_vm;
     char *uuid_string;
     char *dom_path, *vm_path, *libxl_path;
     struct xs_permissions roperm[2];
@@ -521,6 +521,40 @@ retry_transaction:
             libxl__sprintf(gc, "%s/hvmloader/generation-id-address", dom_path),
                         rwperm, ARRAY_SIZE(rwperm));
 
+    if (libxl_list_vm(ctx, &nb_vm) < 0) {
+        LOG(ERROR, "cannot get number of running guests");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    int hotplug_setting = libxl__hotplug_settings(gc, t);
+    if (hotplug_setting < 0) {
+        LOG(ERROR, "unable to get current hotplug scripts execution setting");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting &&
+        (nb_vm - 1)) {
+        LOG(ERROR, "cannot change hotplug execution option once set, "
+                    "please shutdown all guests before changing it");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (libxl_defbool_val(info->run_hotplug_scripts)) {
+        rc = libxl__xs_write(gc, t, DISABLE_UDEV_PATH, "1");
+        if (rc) {
+            LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    } else {
+        rc = xs_rm(ctx->xsh, t, DISABLE_UDEV_PATH);
+        if (rc) {
+            LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH);
+            goto out;
+        }
+    }
+
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string));
     xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name));
 
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 8139520..bc56f21 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -346,6 +346,25 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc,
     return value;
 }
 
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t)
+{
+    int rc = 0;
+    char *val;
+
+    val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH);
+    if (!val && errno != ENOENT) {
+        LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    if (!val) val = "0";
+
+    rc = !!atoi(val);
+
+out:
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 49085b4..5a2a87a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -86,6 +86,7 @@
 #define STUBDOM_CONSOLE_SERIAL 3
 #define STUBDOM_SPECIAL_CONSOLES 3
 #define TAP_DEVICE_SUFFIX "-emu"
+#define DISABLE_UDEV_PATH "libxl/disable_udev"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -1408,6 +1409,8 @@ _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s);
 _hidden libxl_device_model_version
 libxl__device_model_version_running(libxl__gc *gc, uint32_t domid);
 
+/* Check how executes hotplug script currently */
+int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t);
 
 /*
  * Calling context and GC for event-generating functions:
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 5b81ee9..3c8636c 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -218,6 +218,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
     ("xsdata",       libxl_key_value_list),
     ("platformdata", libxl_key_value_list),
     ("poolid",       uint32),
+    ("run_hotplug_scripts",libxl_defbool),
     ], dir=DIR_IN)
 
 MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 69f8737..02a84eb 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -38,6 +38,7 @@ xentoollog_logger_stdiostream *logger;
 int dryrun_only;
 int force_execution;
 int autoballoon = 1;
+libxl_defbool run_hotplug_scripts;
 char *lockfile;
 char *default_vifscript = NULL;
 char *default_bridge = NULL;
@@ -69,6 +70,9 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "autoballoon", &l, 0))
         autoballoon = l;
 
+    libxl_defbool_setdefault(&run_hotplug_scripts, true);
+    xlu_cfg_get_defbool(config, "run_hotplug_scripts", &run_hotplug_scripts, 0);
+
     if (!xlu_cfg_get_string (config, "lockfile", &buf, 0))
         lockfile = strdup(buf);
     else {
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 2af9428..59f931f 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -139,6 +139,7 @@ int xl_child_pid(xlchildnum); /* returns 0 if child struct is not in use */
 
 /* global options */
 extern int autoballoon;
+extern libxl_defbool run_hotplug_scripts;
 extern int dryrun_only;
 extern char *lockfile;
 extern char *default_vifscript;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 1f9b857..b8e5773 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -594,6 +594,7 @@ static void parse_config_data(const char *config_source,
         }
     }
 
+    c_info->run_hotplug_scripts = run_hotplug_scripts;
     c_info->type = LIBXL_DOMAIN_TYPE_PV;
     if (!xlu_cfg_get_string (config, "builder", &buf, 0) &&
         !strncmp(buf, "hvm", strlen(buf)))
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid8-0005TN-T2; Wed, 30 May 2012 13:08:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid7-0005Sz-OT
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:01 +0000
Received: from [85.158.143.35:39111] by server-2.bemta-4.messagelabs.com id
	36/39-11595-0BB16CF4; Wed, 30 May 2012 13:08:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11028 invoked from network); 30 May 2012 13:08:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206536"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-4m;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:47 +0100
Message-ID: <1338383275-21315-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 02/10] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5baf1f0..5605440 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1088,44 +1088,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1885,6 +1847,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid7-0005T0-Gf; Wed, 30 May 2012 13:08:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid6-0005St-SA
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:01 +0000
Received: from [85.158.143.35:39056] by server-1.bemta-4.messagelabs.com id
	7F/2B-27869-0BB16CF4; Wed, 30 May 2012 13:08:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10964 invoked from network); 30 May 2012 13:07:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:07:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206535"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-3H	for xen-devel@lists.xen.org;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:45 +0100
Message-ID: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v5 01/10] execute hotplug scripts from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This series have been splitted in several patches, to make them easier 
to review. Also the amount of changes introduced is quite important, 
since apart from all the hotplug necessary functions and 
modifications, libxl_domain_destroy has been converted to an async op. 
This was necessary in order to have async operations during device 
removal.

Also, as an important change, disk and nics are added at different 
points for HVM and device model based guests, since we need the disk 
in order to start Qemu, but the nic hotplug scripts should be called 
at a later point, when Qemu has created the corresponding tap device.

Acked:

[PATCH v5 02/10] libxl: move device model creation prototypes
[PATCH v5 03/10] libxl: convert libxl_domain_destroy to an async op
[PATCH v5 06/10] libxl: add option to choose who executes hotplug
[PATCH v5 10/10] libxl: use libxl__xs_path_cleanup on device_destroy

Pending:

[PATCH v5 01/10] libxl: change libxl__ao_device_remove to
[PATCH v5 04/10] libxl: convert libxl_device_disk_add to an asyn op
[PATCH v5 05/10] libxl: convert libxl_device_nic_add to an async
[PATCH v5 07/10] libxl: set nic type to VIF by default
[PATCH v5 08/10] libxl: call hotplug scripts for disk devices from
[PATCH v5 09/10] libxl: call hotplug scripts for nic devices from

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidB-0005UT-Fk; Wed, 30 May 2012 13:08:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005TM-6c
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:03 +0000
Received: from [85.158.143.35:64166] by server-3.bemta-4.messagelabs.com id
	EC/43-04252-2BB16CF4; Wed, 30 May 2012 13:08:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338383280!12723310!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10174 invoked from network); 30 May 2012 13:08:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206539"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-BW;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:54 +0100
Message-ID: <1338383275-21315-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 09/10] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Added another parameter to libxl__get_hotplug_script_info, that is
used to know the number of times hotplug scripts have been called for
that device. This is currently used by IOEMU nics on Linux.

Changes since v4:

 * Add num_exec to NetBSD dummy function.

 * Better comment in the prototype of libxl__get_hotplug_script_info.

 * Remove nasty use of goto.

Changes since v2:

 * Change libxl__nic_type to return the value in a parameter passed by
   the caller.

 * Rename vif_execute to num_exec, to represent the number of times
   hotplug scripts have been called for that device.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   46 +++++++++++++++++-
 tools/libxl/libxl_internal.h          |   14 +++++-
 tools/libxl/libxl_linux.c             |   84 +++++++++++++++++++++++++++++++-
 tools/libxl/libxl_netbsd.c            |    3 +-
 5 files changed, 144 insertions(+), 9 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 7db379a..841f9ac 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,29 @@ out:
     return numdevs;
 }
 
+int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype)
+{
+    char *snictype, *be_path;
+    int rc = 0;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = libxl_nic_type_from_string(snictype, nictype);
+    if (rc) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        goto out;
+    }
+
+out:
+    return rc;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -715,7 +738,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->num_exec);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -776,6 +800,8 @@ static void device_hotplug_child_death_cb(libxl__egc *egc,
 {
     libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
     STATE_AO_GC(aodev->ao);
+    libxl_nic_type nictype;
+    int rc;
 
     libxl__ev_time_deregister(gc, &aodev->ev);
 
@@ -784,7 +810,25 @@ static void device_hotplug_child_death_cb(libxl__egc *egc,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        aodev->num_exec == 0) {
+        rc = libxl__nic_type(gc, aodev->dev, &nictype);
+        if (rc) {
+            LOG(ERROR, "unable to get type of nic device");
+            aodev->rc = rc;
+            goto out;
+        }
+        if (nictype == LIBXL_NIC_TYPE_IOEMU) {
+            aodev->num_exec++;
+            device_hotplug(egc, aodev);
+            return;
+        }
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9dd2404..b938756 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -821,6 +821,8 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden int libxl__nic_type(libxl__gc *gc, libxl__device *dev,
+                            libxl_nic_type *nictype);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1849,6 +1851,7 @@ struct libxl__ao_device {
     void *base;
     /* device hotplug execution */
     char *what;
+    int num_exec;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1894,10 +1897,19 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  * < 0: Error
  * 0: No need to execute hotplug script
  * 1: Execute hotplug script
+ *
+ * The last parameter, "num_exec" refeers to the number of times hotplug
+ * scripts have been called for this device. This is currently used for
+ * IOEMU nic interfaces on Linux, since we need to call hotplug scripts twice
+ * for the same device, the first one to add the vif interface, and the second
+ * time to add the tap interface, so:
+ * num_exec == 0: execute hotplug for vif interface.
+ * num_exec == 1: execute hotplug for the associated tap interface.
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int num_exec);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 60a966f..3cd8f40 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -35,6 +35,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     const char *type = libxl__device_kind_to_string(dev->backend_kind);
     char **env;
     int nr = 0;
+    libxl_nic_type nictype;
 
     script = libxl__xs_read(gc, XBT_NULL,
                             GCSPRINTF("%s/%s", be_path, "script"));
@@ -43,7 +44,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    const int arraysize = 9;
+    const int arraysize = 13;
     GCNEW_ARRAY(env, arraysize);
     env[nr++] = "script";
     env[nr++] = script;
@@ -53,14 +54,86 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        if (libxl__nic_type(gc, dev, &nictype)) {
+            LOG(ERROR, "unable to get nictype");
+            return NULL;
+        }
+        switch (nictype) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
-    assert(nr == arraysize);
+    assert(nr <= arraysize);
 
     return env;
 }
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int num_exec)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl__nic_type(gc, dev, &nictype);
+    if (rc) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    const int arraysize = 4;
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+
+    if (nictype == LIBXL_NIC_TYPE_IOEMU && num_exec) {
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+    } else {
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+    }
+    assert(nr == arraysize);
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -98,7 +171,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -114,6 +188,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, num_exec);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index d41a046..702eb1e 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -29,7 +29,8 @@ int libxl__try_phy_backend(mode_t st_mode)
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     return 0;
 }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidC-0005V7-IU; Wed, 30 May 2012 13:08:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005Sz-Pp
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.35:64253] by server-2.bemta-4.messagelabs.com id
	10/59-11595-3BB16CF4; Wed, 30 May 2012 13:08:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338383280!12723310!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10250 invoked from network); 30 May 2012 13:08:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206541"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-66;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:49 +0100
Message-ID: <1338383275-21315-5-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 04/10] libxl: convert libxl_device_disk_add
	to an asyn op
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_disk_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

As usual, libxl_device_disk_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v4:

 * Added more comments about libxl__device_disk_add and
   libxl__add_disks.

 * Removed stray hunk in Makefile.

 * Fixed _prepare call libxl__add_disks (separate into a different
   loop).

 * Moved some code to check if disks have finished to a macro that
   generates a custom function, which will also be used for vif
   interfaces.

Changes since v2:

 * Remove state read from libxl__initiate_device_add

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   50 ++++++++++++++++++++++++--------
 tools/libxl/libxl.h          |    4 ++-
 tools/libxl/libxl_create.c   |   44 ++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |   65 ++++++++++++++++++++++++++++++++++++++++++
 tools/libxl/libxl_dm.c       |   63 +++++++++++++++++++++++++++++++---------
 tools/libxl/libxl_internal.h |   52 +++++++++++++++++++++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 242 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 4044b9e..b674557 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1540,13 +1540,31 @@ static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_disk_add(egc, domid, disk, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                            libxl_device_disk *disk,
+                            libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl_ctx *ctx = CTX;
     flexarray_t *front;
     flexarray_t *back;
     char *dev;
-    libxl__device device;
+    libxl__device *device;
     int major, minor, rc;
 
     rc = libxl__device_disk_setdefault(gc, disk);
@@ -1570,7 +1588,8 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
         goto out_free;
     }
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, domid, disk, device);
     if (rc != 0) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported"
                " virtual disk identifier %s", disk->vdev);
@@ -1588,7 +1607,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, dev);
 
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_VBD);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
             break;
         case LIBXL_DISK_BACKEND_TAP:
             dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format);
@@ -1609,7 +1628,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
             flexarray_append(back, "params");
             flexarray_append(back, libxl__sprintf(gc, "%s:%s",
                           libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-            assert(device.backend_kind == LIBXL__DEVICE_KIND_QDISK);
+            assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", disk->backend);
@@ -1641,22 +1660,27 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
     flexarray_append(front, "state");
     flexarray_append(front, libxl__sprintf(gc, "%d", 1));
     flexarray_append(front, "virtual-device");
-    flexarray_append(front, libxl__sprintf(gc, "%d", device.devid));
+    flexarray_append(front, libxl__sprintf(gc, "%d", device->devid));
     flexarray_append(front, "device-type");
     flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk");
 
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_disk_from_xs_be(libxl__gc *gc,
@@ -1859,11 +1883,13 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)
     ret = 0;
 
     libxl_device_disk_remove(ctx, domid, disks + i, 0);
-    libxl_device_disk_add(ctx, domid, disk);
+    /* fixme-ao */
+    libxl_device_disk_add(ctx, domid, disk, 0);
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid) {
         libxl_device_disk_remove(ctx, stubdomid, disks + i, 0);
-        libxl_device_disk_add(ctx, stubdomid, disk);
+        /* fixme-ao */
+        libxl_device_disk_add(ctx, stubdomid, disk, 0);
     }
 out:
     for (i = 0; i < num; i++)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index d5dc2a0..ff0078d 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -638,7 +638,9 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
  */
 
 /* Disks */
-int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid,
+                          libxl_device_disk *disk,
+                          const libxl_asyncop_how *ao_how);
 int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
                              libxl_device_disk *disk,
                              const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 1df116e..2dc1cee 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -577,6 +577,14 @@ static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
 
+static void domcreate_launch_dm(libxl__egc *egc,
+                                libxl__domain_create_state *dcs,
+                                int rc);
+
+DEFINE_DEVICES_CALLBACK(domcreate_disk_connected,
+                        libxl__domain_create_state,
+                        devices, num_devices, domcreate_launch_dm)
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -677,7 +685,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
@@ -716,15 +723,34 @@ static void domcreate_bootloader_done(libxl__egc *egc,
 
     store_libxl_entry(gc, domid, &d_config->b_info);
 
-    for (i = 0; i < d_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, domid, &d_config->disks[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add disk %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+    dcs->num_devices = d_config->num_disks;
+    libxl__add_disks(egc, ao, domid, d_config, &dcs->devices,
+                     domcreate_disk_connected);
+
+    return;
+
+ error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_launch_dm(libxl__egc *egc,
+                                libxl__domain_create_state *dcs, int rc)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
+    if (rc) {
+        LOG(ERROR, "error connecting disk devices");
+        goto error_out;
     }
+
     for (i = 0; i < d_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
         if (ret) {
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 882e647..0beb4bb 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -426,6 +426,41 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
     return error;
 }
 
+/******************************************************************************/
+
+/* Macro for defining the functions that will add a bunch of disks when
+ * inside an async op.
+ *
+ * This macro is added to prevent repetition of code.
+ */
+#define DEFINE_DEVICES_ADD(type)                                              \
+    void libxl__add_##type##s(libxl__egc *egc, libxl__ao *ao, uint32_t domid, \
+                              libxl_domain_config *d_config,                  \
+                              libxl__ao_device **devices,                     \
+                              libxl__device_callback *callback)               \
+    {                                                                         \
+        AO_GC;                                                                \
+        GCNEW_ARRAY(*devices, d_config->num_##type##s);                       \
+        libxl__ao_device *aodev = *devices;                                   \
+        int i;                                                                \
+                                                                              \
+        for (i = 0; i < d_config->num_##type##s; i++) {                       \
+            libxl__prepare_ao_device(&aodev[i], ao, devices);                 \
+            aodev[i].callback = callback;                                     \
+        }                                                                     \
+                                                                              \
+        for (i = 0; i < d_config->num_##type##s; i++) {                       \
+            libxl__device_##type##_add(egc, domid, &d_config->type##s[i],     \
+                                       &aodev[i]);                            \
+        }                                                                     \
+    }
+
+DEFINE_DEVICES_ADD(disk)
+
+#undef DEFINE_DEVICES_ADD
+
+/******************************************************************************/
+
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -536,6 +571,36 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds,
 static void device_backend_cleanup(libxl__gc *gc,
                                    libxl__ao_device *aodev);
 
+void libxl__initiate_device_add(libxl__egc *egc, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    char *be_path = libxl__device_backend_path(gc, aodev->dev);
+    char *state_path = libxl__sprintf(gc, "%s/state", be_path);
+    int rc = 0;
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_QDISK) {
+        aodev->callback(egc, aodev);
+        return;
+    }
+
+    libxl__ev_devstate_init(&aodev->ds);
+    rc = libxl__ev_devstate_wait(gc, &aodev->ds, device_backend_callback,
+                                 state_path, XenbusStateInitWait,
+                                 LIBXL_INIT_TIMEOUT * 1000);
+    if (rc) {
+        LOGE(ERROR, "unable to initialize device %s", be_path);
+        goto out_fail;
+    }
+
+    return;
+
+out_fail:
+    assert(rc);
+    aodev->rc = rc;
+    aodev->callback(egc, aodev);
+    return;
+}
+
 void libxl__initiate_device_remove(libxl__egc *egc,
                                    libxl__ao_device *aodev)
 {
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 99059dc..dbd8431 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -673,6 +673,13 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
                                 libxl__dm_spawn_state *stubdom_dmss,
                                 int rc);
 
+static void spawn_stub_launch_dm(libxl__egc *egc,
+                                 libxl__stub_dm_spawn_state *sdss, int rc);
+
+DEFINE_DEVICES_CALLBACK(spawn_stub_disk_connected,
+                        libxl__stub_dm_spawn_state,
+                        devices, num_devices, spawn_stub_launch_dm)
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -681,8 +688,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
 {
     STATE_AO_GC(sdss->dm.spawn.ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret;
-    libxl__device_console *console;
+    int ret;
     libxl_device_vfb vfb;
     libxl_device_vkb vkb;
     char **args;
@@ -801,22 +807,52 @@ retry_transaction:
         if (errno == EAGAIN)
             goto retry_transaction;
 
-    for (i = 0; i < dm_config->num_disks; i++) {
-        ret = libxl_device_disk_add(ctx, dm_domid, &dm_config->disks[i]);
-        if (ret)
-            goto out_free;
-    }
+    sdss->num_devices = dm_config->num_disks;
+    libxl__add_disks(egc, ao, dm_domid, dm_config, &sdss->devices,
+                     spawn_stub_disk_connected);
+
+    free(args);
+    return;
+
+out_free:
+    free(args);
+out:
+    assert(ret);
+    spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
+}
+
+static void spawn_stub_launch_dm(libxl__egc *egc,
+                                 libxl__stub_dm_spawn_state *sdss, int rc)
+{
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    int i, num_console = STUBDOM_SPECIAL_CONSOLES, ret = 0;
+    libxl__device_console *console;
+
+    /* convenience aliases */
+    libxl_domain_config *const dm_config = &sdss->dm_config;
+    libxl_domain_config *const guest_config = sdss->dm.guest_config;
+    const int guest_domid = sdss->dm.guest_domid;
+    libxl__domain_build_state *const d_state = sdss->dm.build_state;
+    libxl__domain_build_state *const stubdom_state = &sdss->dm_state;
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    if (rc) {
+        LOG(ERROR, "error connecting disk devices");
+        goto out;
+     }
+
     for (i = 0; i < dm_config->num_vifs; i++) {
         ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
         if (ret)
-            goto out_free;
+            goto out;
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
     ret = libxl_device_vkb_add(ctx, dm_domid, &dm_config->vkbs[0]);
     if (ret)
-        goto out_free;
+        goto out;
 
     if (guest_config->b_info.u.hvm.serial)
         num_console++;
@@ -824,7 +860,7 @@ retry_transaction:
     console = libxl__calloc(gc, num_console, sizeof(libxl__device_console));
     if (!console) {
         ret = ERROR_NOMEM;
-        goto out_free;
+        goto out;
     }
 
     for (i = 0; i < num_console; i++) {
@@ -860,7 +896,7 @@ retry_transaction:
         ret = libxl__device_console_add(gc, dm_domid, &console[i],
                         i == STUBDOM_CONSOLE_LOGGING ? stubdom_state : NULL);
         if (ret)
-            goto out_free;
+            goto out;
     }
 
     sdss->pvqemu.spawn.ao = ao;
@@ -871,11 +907,8 @@ retry_transaction:
 
     libxl__spawn_local_dm(egc, &sdss->pvqemu);
 
-    free(args);
     return;
 
-out_free:
-    free(args);
 out:
     assert(ret);
     spawn_stubdom_pvqemu_cb(egc, &sdss->pvqemu, ret);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5c15ca5..6df68a6 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -70,6 +70,7 @@
 #include "_libxl_types_internal.h"
 #include "_libxl_types_internal_json.h"
 
+#define LIBXL_INIT_TIMEOUT 10
 #define LIBXL_DESTROY_TIMEOUT 10
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
 #define LIBXL_XENCONSOLE_LIMIT 1048576
@@ -1844,6 +1845,21 @@ struct libxl__ao_device {
     void *base;
 };
 
+/* Internal AO operation to connect a disk device, called by
+ * libxl_device_disk_add and libxl__add_disks. This function calls
+ * libxl__initiate_device_add */
+_hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
+                                    libxl_device_disk *disk,
+                                    libxl__ao_device *aodev);
+
+/* Arranges that dev will be added to the guest, and the
+ * hotplug scripts will be executed (if necessary). When
+ * this is done (or an error happens), the callback in
+ * aodev->callback will be called.
+ */
+_hidden void libxl__initiate_device_add(libxl__egc*, libxl__ao_device *aodev);
+
+
 /* Arranges that dev will be removed to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1936,6 +1952,36 @@ _hidden void libxl__destroy_domid(libxl__egc *egc,
 _hidden void libxl__devices_destroy(libxl__egc *egc,
                                     libxl__devices_remove_state *drs);
 
+/* Helper function to add a bunch of disks. This should be used when
+ * the caller is inside an async op. "devices" will be prepared by this
+ * function, so there's no need to call _prepare before calling this
+ * function.
+ *
+ * The "callback" will be called for each device, and the user is responsible
+ * for calling libxl__ao_device_check_last on the callback.
+ */
+void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                      libxl_domain_config *d_config,
+                      libxl__ao_device **devices,
+                      libxl__device_callback *callback);
+
+/* Macro to define callbacks of libxl__add_*, checks if device is last
+ * and calls the function passed as a parameter to this macro with the
+ * following syntax; func(libxl__egc *, parent_type *, int rc) */
+#define DEFINE_DEVICES_CALLBACK(callback_name, parent_type, array_name,       \
+                                array_size_name, func_to_call)                \
+    static void callback_name(libxl__egc *egc, libxl__ao_device *aodev)       \
+    {                                                                         \
+        STATE_AO_GC(aodev->ao);                                               \
+        parent_type *p = CONTAINER_OF(aodev->base, *p, array_name);           \
+        int rc;                                                               \
+                                                                              \
+        rc = libxl__ao_device_check_last(gc, aodev, p->array_name,            \
+                                         p->array_size_name);                 \
+        if (rc > 0) return;                                                   \
+        func_to_call(egc, p, rc);                                             \
+    }
+
 /*----- device model creation -----*/
 
 /* First layer; wraps libxl__spawn_spawn. */
@@ -1970,6 +2016,9 @@ typedef struct {
     libxl__domain_build_state dm_state;
     libxl__dm_spawn_state pvqemu;
     libxl__destroy_domid_state dis;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 } libxl__stub_dm_spawn_state;
 
 _hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
@@ -1998,6 +2047,9 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
     /* necessary if the domain creation failed and we have to destroy it */
     libxl__domain_destroy_state dds;
+    /* used to store the state of devices being connected */
+    libxl__ao_device *devices;
+    int num_devices;
 };
 
 /*
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3220e89..a7fa0b9 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5343,7 +5343,7 @@ int main_blockattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
+    if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
         fprintf(stderr, "libxl_device_disk_add failed.\n");
     }
     return 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZid8-0005TN-T2; Wed, 30 May 2012 13:08:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid7-0005Sz-OT
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:01 +0000
Received: from [85.158.143.35:39111] by server-2.bemta-4.messagelabs.com id
	36/39-11595-0BB16CF4; Wed, 30 May 2012 13:08:00 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338383278!17955090!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11028 invoked from network); 30 May 2012 13:08:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206536"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-4m;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:47 +0100
Message-ID: <1338383275-21315-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 02/10] libxl: move device model creation
	prototypes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Move prototypes regarding device model creation, since they will
depend on domain destruction in future patches.

This patch is pure code motion.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_internal.h |   75 ++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 5baf1f0..5605440 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1088,44 +1088,6 @@ static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
 _hidden int libxl__spawn_record_pid(libxl__gc*, libxl__spawn_state*,
                                     pid_t innerchild);
 
-/*----- device model creation -----*/
-
-/* First layer; wraps libxl__spawn_spawn. */
-
-typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
-
-typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
-                                int rc /* if !0, error was logged */);
-
-struct libxl__dm_spawn_state {
-    /* mixed - spawn.ao must be initialised by user; rest is private: */
-    libxl__spawn_state spawn;
-    /* filled in by user, must remain valid: */
-    uint32_t guest_domid; /* domain being served */
-    libxl_domain_config *guest_config;
-    libxl__domain_build_state *build_state; /* relates to guest_domid */
-    libxl__dm_spawn_cb *callback;
-};
-
-_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
-
-/* Stubdom device models. */
-
-typedef struct {
-    /* Mixed - user must fill in public parts EXCEPT callback,
-     * which may be undefined on entry.  (See above for details) */
-    libxl__dm_spawn_state dm; /* the stub domain device model */
-    /* filled in by user, must remain valid: */
-    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
-    /* private to libxl__spawn_stub_dm: */
-    libxl_domain_config dm_config;
-    libxl__domain_build_state dm_state;
-    libxl__dm_spawn_state pvqemu;
-} libxl__stub_dm_spawn_state;
-
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
-
-
 /*
  * libxl__wait_for_offspring - Wait for child state
  * gc: allocation pool
@@ -1885,6 +1847,43 @@ struct libxl__ao_device {
 _hidden void libxl__initiate_device_remove(libxl__egc *egc,
                                            libxl__ao_device *aodev);
 
+/*----- device model creation -----*/
+
+/* First layer; wraps libxl__spawn_spawn. */
+
+typedef struct libxl__dm_spawn_state libxl__dm_spawn_state;
+
+typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*,
+                                int rc /* if !0, error was logged */);
+
+struct libxl__dm_spawn_state {
+    /* mixed - spawn.ao must be initialised by user; rest is private: */
+    libxl__spawn_state spawn;
+    /* filled in by user, must remain valid: */
+    uint32_t guest_domid; /* domain being served */
+    libxl_domain_config *guest_config;
+    libxl__domain_build_state *build_state; /* relates to guest_domid */
+    libxl__dm_spawn_cb *callback;
+};
+
+_hidden void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state*);
+
+/* Stubdom device models. */
+
+typedef struct {
+    /* Mixed - user must fill in public parts EXCEPT callback,
+     * which may be undefined on entry.  (See above for details) */
+    libxl__dm_spawn_state dm; /* the stub domain device model */
+    /* filled in by user, must remain valid: */
+    libxl__dm_spawn_cb *callback; /* called as callback(,&sdss->dm,) */
+    /* private to libxl__spawn_stub_dm: */
+    libxl_domain_config dm_config;
+    libxl__domain_build_state dm_state;
+    libxl__dm_spawn_state pvqemu;
+} libxl__stub_dm_spawn_state;
+
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
+
 /*----- Domain creation -----*/
 
 typedef struct libxl__domain_create_state libxl__domain_create_state;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidB-0005UT-Fk; Wed, 30 May 2012 13:08:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005TM-6c
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:03 +0000
Received: from [85.158.143.35:64166] by server-3.bemta-4.messagelabs.com id
	EC/43-04252-2BB16CF4; Wed, 30 May 2012 13:08:02 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338383280!12723310!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10174 invoked from network); 30 May 2012 13:08:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26206539"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:58 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-BW;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:54 +0100
Message-ID: <1338383275-21315-10-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 09/10] libxl: call hotplug scripts for nic
	devices from libxl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since most of the needed work is already done in previous patches,
this patch only contains the necessary code to call hotplug scripts
for nic devices, that should be called when the device is added or
removed from a guest.

Added another parameter to libxl__get_hotplug_script_info, that is
used to know the number of times hotplug scripts have been called for
that device. This is currently used by IOEMU nics on Linux.

Changes since v4:

 * Add num_exec to NetBSD dummy function.

 * Better comment in the prototype of libxl__get_hotplug_script_info.

 * Remove nasty use of goto.

Changes since v2:

 * Change libxl__nic_type to return the value in a parameter passed by
   the caller.

 * Rename vif_execute to num_exec, to represent the number of times
   hotplug scripts have been called for that device.

Changes since v1:

 * Move event code to libxl_device.c (as in previous patch).

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/hotplug/Linux/xen-backend.rules |    6 +-
 tools/libxl/libxl_device.c            |   46 +++++++++++++++++-
 tools/libxl/libxl_internal.h          |   14 +++++-
 tools/libxl/libxl_linux.c             |   84 +++++++++++++++++++++++++++++++-
 tools/libxl/libxl_netbsd.c            |    3 +-
 5 files changed, 144 insertions(+), 9 deletions(-)

diff --git a/tools/hotplug/Linux/xen-backend.rules b/tools/hotplug/Linux/xen-backend.rules
index d55ff11..c591a3f 100644
--- a/tools/hotplug/Linux/xen-backend.rules
+++ b/tools/hotplug/Linux/xen-backend.rules
@@ -2,8 +2,8 @@ SUBSYSTEM=="xen-backend", KERNEL=="tap*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scr
 SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/block $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}"
 SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 $env{ACTION}"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
-SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="/etc/xen/scripts/vif-setup online type_if=vif"
+SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="/etc/xen/scripts/vif-setup offline type_if=vif"
 SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}"
 SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/xen-hotplug-cleanup"
 KERNEL=="evtchn", NAME="xen/%k"
@@ -13,4 +13,4 @@ KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600"
 KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
 KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 7db379a..841f9ac 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -100,6 +100,29 @@ out:
     return numdevs;
 }
 
+int libxl__nic_type(libxl__gc *gc, libxl__device *dev, libxl_nic_type *nictype)
+{
+    char *snictype, *be_path;
+    int rc = 0;
+
+    be_path = libxl__device_backend_path(gc, dev);
+    snictype = libxl__xs_read(gc, XBT_NULL,
+                              GCSPRINTF("%s/%s", be_path, "type"));
+    if (!snictype) {
+        LOGE(ERROR, "unable to read nictype from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    rc = libxl_nic_type_from_string(snictype, nictype);
+    if (rc) {
+        LOGE(ERROR, "unable to parse nictype from %s", be_path);
+        goto out;
+    }
+
+out:
+    return rc;
+}
+
 int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
                              char **bents, char **fents)
 {
@@ -715,7 +738,8 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev)
     /* Check if we have to execute hotplug scripts for this device
      * and return the necessary args/env vars for execution */
     hotplug = libxl__get_hotplug_script_info(gc, aodev->dev, &args, &env,
-                                             aodev->action);
+                                             aodev->action,
+                                             aodev->num_exec);
     switch (hotplug) {
     case 0:
         /* no hotplug script to execute */
@@ -776,6 +800,8 @@ static void device_hotplug_child_death_cb(libxl__egc *egc,
 {
     libxl__ao_device *aodev = CONTAINER_OF(child, *aodev, child);
     STATE_AO_GC(aodev->ao);
+    libxl_nic_type nictype;
+    int rc;
 
     libxl__ev_time_deregister(gc, &aodev->ev);
 
@@ -784,7 +810,25 @@ static void device_hotplug_child_death_cb(libxl__egc *egc,
                                                      : LIBXL__LOG_WARNING,
                                       aodev->what, pid, status);
         aodev->rc = ERROR_FAIL;
+        goto out;
     }
+
+    if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VIF &&
+        aodev->num_exec == 0) {
+        rc = libxl__nic_type(gc, aodev->dev, &nictype);
+        if (rc) {
+            LOG(ERROR, "unable to get type of nic device");
+            aodev->rc = rc;
+            goto out;
+        }
+        if (nictype == LIBXL_NIC_TYPE_IOEMU) {
+            aodev->num_exec++;
+            device_hotplug(egc, aodev);
+            return;
+        }
+    }
+
+out:
     aodev->callback(egc, aodev);
 }
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9dd2404..b938756 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -821,6 +821,8 @@ _hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
                                       libxl__device *dev);
 _hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
 _hidden int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state);
+_hidden int libxl__nic_type(libxl__gc *gc, libxl__device *dev,
+                            libxl_nic_type *nictype);
 
 /*
  * For each aggregate type which can be used as an input we provide:
@@ -1849,6 +1851,7 @@ struct libxl__ao_device {
     void *base;
     /* device hotplug execution */
     char *what;
+    int num_exec;
     libxl__ev_time ev;
     libxl__ev_child child;
 };
@@ -1894,10 +1897,19 @@ _hidden void libxl__initiate_device_remove(libxl__egc *egc,
  * < 0: Error
  * 0: No need to execute hotplug script
  * 1: Execute hotplug script
+ *
+ * The last parameter, "num_exec" refeers to the number of times hotplug
+ * scripts have been called for this device. This is currently used for
+ * IOEMU nic interfaces on Linux, since we need to call hotplug scripts twice
+ * for the same device, the first one to add the vif interface, and the second
+ * time to add the tap interface, so:
+ * num_exec == 0: execute hotplug for vif interface.
+ * num_exec == 1: execute hotplug for the associated tap interface.
  */
 _hidden int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                            char ***args, char ***env,
-                                           libxl__device_action action);
+                                           libxl__device_action action,
+                                           int num_exec);
 
 /*----- Domain destruction -----*/
 
diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
index 60a966f..3cd8f40 100644
--- a/tools/libxl/libxl_linux.c
+++ b/tools/libxl/libxl_linux.c
@@ -35,6 +35,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     const char *type = libxl__device_kind_to_string(dev->backend_kind);
     char **env;
     int nr = 0;
+    libxl_nic_type nictype;
 
     script = libxl__xs_read(gc, XBT_NULL,
                             GCSPRINTF("%s/%s", be_path, "script"));
@@ -43,7 +44,7 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
         return NULL;
     }
 
-    const int arraysize = 9;
+    const int arraysize = 13;
     GCNEW_ARRAY(env, arraysize);
     env[nr++] = "script";
     env[nr++] = script;
@@ -53,14 +54,86 @@ static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev)
     env[nr++] = GCSPRINTF("backend/%s/%u/%d", type, dev->domid, dev->devid);
     env[nr++] = "XENBUS_BASE_PATH";
     env[nr++] = "backend";
+    if (dev->backend_kind == LIBXL__DEVICE_KIND_VIF) {
+        if (libxl__nic_type(gc, dev, &nictype)) {
+            LOG(ERROR, "unable to get nictype");
+            return NULL;
+        }
+        switch (nictype) {
+        case LIBXL_NIC_TYPE_IOEMU:
+            env[nr++] = "INTERFACE";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_IOEMU));
+        case LIBXL_NIC_TYPE_VIF:
+            env[nr++] = "vif";
+            env[nr++] = libxl__strdup(gc, libxl__device_nic_devname(gc,
+                                                      dev->domid, dev->devid,
+                                                      LIBXL_NIC_TYPE_VIF));
+            break;
+        default:
+            return NULL;
+        }
+    }
+
     env[nr++] = NULL;
-    assert(nr == arraysize);
+    assert(nr <= arraysize);
 
     return env;
 }
 
 /* Hotplug scripts caller functions */
 
+static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev,
+                               char ***args, char ***env,
+                               libxl__device_action action, int num_exec)
+{
+    char *be_path = libxl__device_backend_path(gc, dev);
+    char *script;
+    int nr = 0, rc = 0;
+    libxl_nic_type nictype;
+
+    script = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/%s", be_path,
+                                                             "script"));
+    if (!script) {
+        LOGE(ERROR, "unable to read script from %s", be_path);
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    rc = libxl__nic_type(gc, dev, &nictype);
+    if (rc) {
+        LOG(ERROR, "error when fetching nic type");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    *env = get_hotplug_env(gc, dev);
+    if (!env) {
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    const int arraysize = 4;
+    GCNEW_ARRAY(*args, arraysize);
+    (*args)[nr++] = script;
+
+    if (nictype == LIBXL_NIC_TYPE_IOEMU && num_exec) {
+        (*args)[nr++] = action == DEVICE_CONNECT ? "add" : "remove";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=tap");
+        (*args)[nr++] = NULL;
+    } else {
+        (*args)[nr++] = action == DEVICE_CONNECT ? "online" : "offline";
+        (*args)[nr++] = libxl__strdup(gc, "type_if=vif");
+        (*args)[nr++] = NULL;
+    }
+    assert(nr == arraysize);
+    rc = 0;
+
+out:
+    return rc;
+}
+
 static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev,
                                char ***args, char ***env,
                                libxl__device_action action)
@@ -98,7 +171,8 @@ error:
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH);
     int rc;
@@ -114,6 +188,10 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
         rc = libxl__hotplug_disk(gc, dev, args, env, action);
         if (!rc) rc = 1;
         break;
+    case LIBXL__DEVICE_KIND_VIF:
+        rc = libxl__hotplug_nic(gc, dev, args, env, action, num_exec);
+        if (!rc) rc = 1;
+        break;
     default:
         /* If no need to execute any hotplug scripts,
          * call the callback manually
diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c
index d41a046..702eb1e 100644
--- a/tools/libxl/libxl_netbsd.c
+++ b/tools/libxl/libxl_netbsd.c
@@ -29,7 +29,8 @@ int libxl__try_phy_backend(mode_t st_mode)
 
 int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev,
                                    char ***args, char ***env,
-                                   libxl__device_action action)
+                                   libxl__device_action action,
+                                   int num_exec)
 {
     return 0;
 }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidB-0005Uj-RP; Wed, 30 May 2012 13:08:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005St-NQ
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.99:55608] by server-1.bemta-4.messagelabs.com id
	2F/4B-27869-3BB16CF4; Wed, 30 May 2012 13:08:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338383278!30499241!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28284 invoked from network); 30 May 2012 13:08:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196892060"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-6j;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:50 +0100
Message-ID: <1338383275-21315-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 05/10] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v4:

 * Used the macro defined in previous patch to define the generic
   callback to wait for nics to be connected.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++++++++------
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   53 +++++++++++++++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |    9 ++++---
 tools/libxl/libxl_dm.c       |   40 +++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   18 ++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 139 insertions(+), 25 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b674557..88869f6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2026,12 +2026,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2062,7 +2077,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2103,6 +2119,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2113,18 +2132,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index ff0078d..51f2e60 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -666,7 +666,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 2dc1cee..1dc8247 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -585,6 +585,13 @@ DEFINE_DEVICES_CALLBACK(domcreate_disk_connected,
                         libxl__domain_create_state,
                         devices, num_devices, domcreate_launch_dm)
 
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs, int rc);
+
+DEFINE_DEVICES_CALLBACK(domcreate_nic_connected,
+                        libxl__domain_create_state,
+                        devices, num_devices, domcreate_attach_pci)
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -752,13 +759,11 @@ static void domcreate_launch_dm(libxl__egc *egc,
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -831,7 +836,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -851,6 +855,39 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs, 0);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs, int rc)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+    if (rc) {
+        LOG(ERROR, "error connecting nic devices");
+        goto error_out;
+    }
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 0beb4bb..de7904a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -433,8 +433,8 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
  *
  * This macro is added to prevent repetition of code.
  */
-#define DEFINE_DEVICES_ADD(type)                                              \
-    void libxl__add_##type##s(libxl__egc *egc, libxl__ao *ao, uint32_t domid, \
+#define DEFINE_DEVICES_ADD(type, name)                                        \
+    void libxl__add_##name##s(libxl__egc *egc, libxl__ao *ao, uint32_t domid, \
                               libxl_domain_config *d_config,                  \
                               libxl__ao_device **devices,                     \
                               libxl__device_callback *callback)               \
@@ -450,12 +450,13 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
         }                                                                     \
                                                                               \
         for (i = 0; i < d_config->num_##type##s; i++) {                       \
-            libxl__device_##type##_add(egc, domid, &d_config->type##s[i],     \
+            libxl__device_##name##_add(egc, domid, &d_config->type##s[i],     \
                                        &aodev[i]);                            \
         }                                                                     \
     }
 
-DEFINE_DEVICES_ADD(disk)
+DEFINE_DEVICES_ADD(disk, disk)
+DEFINE_DEVICES_ADD(vif, nic)
 
 #undef DEFINE_DEVICES_ADD
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index dbd8431..9522a9b 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -680,6 +680,14 @@ DEFINE_DEVICES_CALLBACK(spawn_stub_disk_connected,
                         libxl__stub_dm_spawn_state,
                         devices, num_devices, spawn_stub_launch_dm)
 
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__stub_dm_spawn_state *sdss,
+                              int rc);
+
+DEFINE_DEVICES_CALLBACK(stubdom_nics_connected,
+                        libxl__stub_dm_spawn_state,
+                        devices, num_devices, stubdom_pvqemu_cb)
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -843,9 +851,11 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -922,9 +932,33 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, sdss, rc);
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__stub_dm_spawn_state *sdss,
+                              int rc)
+{
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    if (rc) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto out;
+    }
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 6df68a6..49085b4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1852,6 +1852,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aodev);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aodev);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1965,6 +1970,19 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback *callback);
 
+/* Helper function to add a bunch of nics. This should be used when
+ * the caller is inside an async op. "devices" will be prepared by this
+ * function, so there's no need to call _prepare before calling this
+ * function.
+ *
+ * The "callback" will be called for each device, and the user is responsible
+ * for calling libxl__ao_device_check_last on the callback.
+ */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /* Macro to define callbacks of libxl__add_*, checks if device is last
  * and calls the function passed as a parameter to this macro with the
  * following syntax; func(libxl__egc *, parent_type *, int rc) */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index a7fa0b9..1f9b857 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5232,7 +5232,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:08:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZidB-0005Uj-RP; Wed, 30 May 2012 13:08:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZid9-0005St-NQ
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:08:04 +0000
Received: from [85.158.143.99:55608] by server-1.bemta-4.messagelabs.com id
	2F/4B-27869-3BB16CF4; Wed, 30 May 2012 13:08:03 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338383278!30499241!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28284 invoked from network); 30 May 2012 13:08:01 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:08:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196892060"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:07:57 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:07:57 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-6j;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:50 +0100
Message-ID: <1338383275-21315-6-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 05/10] libxl: convert libxl_device_nic_add to
	an async operation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch converts libxl_device_nic_add to an ao operation that
waits for device backend to reach state XenbusStateInitWait and then
marks the operation as completed. This is not really useful now, but
will be used by latter patches that will launch hotplug scripts after
we reached the desired xenbus state.

Calls to libxl_device_nic_add have also been moved to occur after the
device model has been launched, so when hotplug scripts are called
from this functions the interfaces already exists.

As usual, libxl_device_nic_add callers have been modified, and the
internal function libxl__device_disk_add has been used if the call was
inside an already running ao.

Changes since v4:

 * Used the macro defined in previous patch to define the generic
   callback to wait for nics to be connected.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl.c          |   39 ++++++++++++++++++++++++------
 tools/libxl/libxl.h          |    3 +-
 tools/libxl/libxl_create.c   |   53 +++++++++++++++++++++++++++++++++++------
 tools/libxl/libxl_device.c   |    9 ++++---
 tools/libxl/libxl_dm.c       |   40 +++++++++++++++++++++++++++++--
 tools/libxl/libxl_internal.h |   18 ++++++++++++++
 tools/libxl/xl_cmdimpl.c     |    2 +-
 7 files changed, 139 insertions(+), 25 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index b674557..88869f6 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2026,12 +2026,27 @@ static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *device;
+
+    GCNEW(device);
+    libxl__prepare_ao_device(device, ao, NULL);
+    device->callback = device_addrm_aocomplete;
+    libxl__device_nic_add(egc, domid, nic, device);
+
+    return AO_INPROGRESS;
+}
+
+void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                           libxl_device_nic *nic, libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
     flexarray_t *front;
     flexarray_t *back;
-    libxl__device device;
+    libxl__device *device;
     char *dompath, **l;
     unsigned int nb, rc;
 
@@ -2062,7 +2077,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
         }
     }
 
-    rc = libxl__device_from_nic(gc, domid, nic, &device);
+    GCNEW(device);
+    rc = libxl__device_from_nic(gc, domid, nic, device);
     if ( rc != 0 ) goto out_free;
 
     flexarray_append(back, "frontend-id");
@@ -2103,6 +2119,9 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(back, libxl__strdup(gc, nic->bridge));
     flexarray_append(back, "handle");
     flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid));
+    flexarray_append(back, "type");
+    flexarray_append(back, libxl__strdup(gc,
+                                     libxl_nic_type_to_string(nic->nictype)));
 
     flexarray_append(front, "backend-id");
     flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid));
@@ -2113,18 +2132,22 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic)
     flexarray_append(front, "mac");
     flexarray_append(front, libxl__sprintf(gc,
                                     LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac)));
-    libxl__device_generic_add(gc, &device,
+    libxl__device_generic_add(gc, device,
                              libxl__xs_kvs_of_flexarray(gc, back, back->count),
                              libxl__xs_kvs_of_flexarray(gc, front, front->count));
 
-    /* FIXME: wait for plug */
+    aodev->dev = device;
+    aodev->action = DEVICE_CONNECT;
+    libxl__initiate_device_add(egc, aodev);
+
     rc = 0;
 out_free:
     flexarray_free(back);
     flexarray_free(front);
 out:
-    GC_FREE;
-    return rc;
+    aodev->rc = rc;
+    if (rc) aodev->callback(egc, aodev);
+    return;
 }
 
 static void libxl__device_nic_from_xs_be(libxl__gc *gc,
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index ff0078d..51f2e60 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -666,7 +666,8 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk);
 int libxl_device_disk_local_detach(libxl_ctx *ctx, libxl_device_disk *disk);
 
 /* Network Interfaces */
-int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic,
+                         const libxl_asyncop_how *ao_how);
 int libxl_device_nic_remove(libxl_ctx *ctx, uint32_t domid,
                             libxl_device_nic *nic,
                             const libxl_asyncop_how *ao_how);
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 2dc1cee..1dc8247 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -585,6 +585,13 @@ DEFINE_DEVICES_CALLBACK(domcreate_disk_connected,
                         libxl__domain_create_state,
                         devices, num_devices, domcreate_launch_dm)
 
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs, int rc);
+
+DEFINE_DEVICES_CALLBACK(domcreate_nic_connected,
+                        libxl__domain_create_state,
+                        devices, num_devices, domcreate_attach_pci)
+
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
@@ -752,13 +759,11 @@ static void domcreate_launch_dm(libxl__egc *egc,
     }
 
     for (i = 0; i < d_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, domid, &d_config->vifs[i]);
-        if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "cannot add nic %d to domain: %d", i, ret);
-            ret = ERROR_FAIL;
-            goto error_out;
-        }
+        /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &d_config->vifs[i]);
     }
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -831,7 +836,6 @@ static void domcreate_devmodel_started(libxl__egc *egc,
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(dmss, *dcs, dmss.dm);
     STATE_AO_GC(dmss->spawn.ao);
-    int i;
     libxl_ctx *ctx = CTX;
     int domid = dcs->guest_domid;
 
@@ -851,6 +855,39 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
+    /* Plug nic interfaces */
+    if (!ret && d_config->num_vifs > 0) {
+        /* Attach nics */
+        dcs->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, domid, d_config, &dcs->devices,
+                        domcreate_nic_connected);
+        return;
+    }
+
+    domcreate_attach_pci(egc, dcs, 0);
+    return;
+
+error_out:
+    assert(ret);
+    domcreate_complete(egc, dcs, ret);
+}
+
+static void domcreate_attach_pci(libxl__egc *egc,
+                                 libxl__domain_create_state *dcs, int rc)
+{
+    STATE_AO_GC(dcs->ao);
+    int i, ret = 0;
+    libxl_ctx *ctx = CTX;
+    int domid = dcs->guest_domid;
+
+    /* convenience aliases */
+    libxl_domain_config *const d_config = dcs->guest_config;
+
+    if (rc) {
+        LOG(ERROR, "error connecting nic devices");
+        goto error_out;
+    }
+
     for (i = 0; i < d_config->num_pcidevs; i++)
         libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1);
 
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 0beb4bb..de7904a 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -433,8 +433,8 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
  *
  * This macro is added to prevent repetition of code.
  */
-#define DEFINE_DEVICES_ADD(type)                                              \
-    void libxl__add_##type##s(libxl__egc *egc, libxl__ao *ao, uint32_t domid, \
+#define DEFINE_DEVICES_ADD(type, name)                                        \
+    void libxl__add_##name##s(libxl__egc *egc, libxl__ao *ao, uint32_t domid, \
                               libxl_domain_config *d_config,                  \
                               libxl__ao_device **devices,                     \
                               libxl__device_callback *callback)               \
@@ -450,12 +450,13 @@ int libxl__ao_device_check_last(libxl__gc *gc, libxl__ao_device *device,
         }                                                                     \
                                                                               \
         for (i = 0; i < d_config->num_##type##s; i++) {                       \
-            libxl__device_##type##_add(egc, domid, &d_config->type##s[i],     \
+            libxl__device_##name##_add(egc, domid, &d_config->type##s[i],     \
                                        &aodev[i]);                            \
         }                                                                     \
     }
 
-DEFINE_DEVICES_ADD(disk)
+DEFINE_DEVICES_ADD(disk, disk)
+DEFINE_DEVICES_ADD(vif, nic)
 
 #undef DEFINE_DEVICES_ADD
 
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index dbd8431..9522a9b 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -680,6 +680,14 @@ DEFINE_DEVICES_CALLBACK(spawn_stub_disk_connected,
                         libxl__stub_dm_spawn_state,
                         devices, num_devices, spawn_stub_launch_dm)
 
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__stub_dm_spawn_state *sdss,
+                              int rc);
+
+DEFINE_DEVICES_CALLBACK(stubdom_nics_connected,
+                        libxl__stub_dm_spawn_state,
+                        devices, num_devices, stubdom_pvqemu_cb)
+
 static void spaw_stubdom_pvqemu_destroy_cb(libxl__egc *egc,
                                            libxl__destroy_domid_state *dis,
                                            int rc);
@@ -843,9 +851,11 @@ static void spawn_stub_launch_dm(libxl__egc *egc,
      }
 
     for (i = 0; i < dm_config->num_vifs; i++) {
-        ret = libxl_device_nic_add(ctx, dm_domid, &dm_config->vifs[i]);
-        if (ret)
-            goto out;
+         /* We have to init the nic here, because we still haven't
+         * called libxl_device_nic_add at this point, but qemu needs
+         * the nic information to be complete.
+         */
+        libxl__device_nic_setdefault(gc, &dm_config->vifs[i]);
     }
     ret = libxl_device_vfb_add(ctx, dm_domid, &dm_config->vfbs[0]);
     if (ret)
@@ -922,9 +932,33 @@ static void spawn_stubdom_pvqemu_cb(libxl__egc *egc,
         CONTAINER_OF(stubdom_dmss, *sdss, pvqemu);
     STATE_AO_GC(sdss->dm.spawn.ao);
     uint32_t dm_domid = sdss->pvqemu.guest_domid;
+    libxl_domain_config *d_config = stubdom_dmss->guest_config;
 
     if (rc) goto out;
 
+    if (!rc && d_config->num_vifs > 0) {
+        sdss->num_devices = d_config->num_vifs;
+        libxl__add_nics(egc, ao, dm_domid, d_config, &sdss->devices,
+                        stubdom_nics_connected);
+        return;
+    }
+
+out:
+    stubdom_pvqemu_cb(egc, sdss, rc);
+}
+
+static void stubdom_pvqemu_cb(libxl__egc *egc,
+                              libxl__stub_dm_spawn_state *sdss,
+                              int rc)
+{
+    STATE_AO_GC(sdss->dm.spawn.ao);
+    uint32_t dm_domid = sdss->pvqemu.guest_domid;
+
+    if (rc) {
+        LOGE(ERROR, "error connecting nics devices");
+        goto out;
+    }
+
     rc = libxl_domain_unpause(CTX, dm_domid);
     if (rc) goto out;
 
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 6df68a6..49085b4 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1852,6 +1852,11 @@ _hidden void libxl__device_disk_add(libxl__egc *egc, uint32_t domid,
                                     libxl_device_disk *disk,
                                     libxl__ao_device *aodev);
 
+/* Internal AO operation to connect a nic device */
+_hidden void libxl__device_nic_add(libxl__egc *egc, uint32_t domid,
+                                   libxl_device_nic *nic,
+                                   libxl__ao_device *aodev);
+
 /* Arranges that dev will be added to the guest, and the
  * hotplug scripts will be executed (if necessary). When
  * this is done (or an error happens), the callback in
@@ -1965,6 +1970,19 @@ void libxl__add_disks(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
                       libxl__ao_device **devices,
                       libxl__device_callback *callback);
 
+/* Helper function to add a bunch of nics. This should be used when
+ * the caller is inside an async op. "devices" will be prepared by this
+ * function, so there's no need to call _prepare before calling this
+ * function.
+ *
+ * The "callback" will be called for each device, and the user is responsible
+ * for calling libxl__ao_device_check_last on the callback.
+ */
+void libxl__add_nics(libxl__egc *egc, libxl__ao *ao, uint32_t domid,
+                     libxl_domain_config *d_config,
+                     libxl__ao_device **devices,
+                     libxl__device_callback callback);
+
 /* Macro to define callbacks of libxl__add_*, checks if device is last
  * and calls the function passed as a parameter to this macro with the
  * following syntax; func(libxl__egc *, parent_type *, int rc) */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index a7fa0b9..1f9b857 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -5232,7 +5232,7 @@ int main_networkattach(int argc, char **argv)
         return 0;
     }
 
-    if (libxl_device_nic_add(ctx, domid, &nic)) {
+    if (libxl_device_nic_add(ctx, domid, &nic, 0)) {
         fprintf(stderr, "libxl_device_nic_add failed.\n");
         return 1;
     }
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:16:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZiki-0006xQ-DC; Wed, 30 May 2012 13:15:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZikh-0006xK-9e
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:15:51 +0000
Received: from [85.158.139.83:45238] by server-9.bemta-5.messagelabs.com id
	19/F2-27779-68D16CF4; Wed, 30 May 2012 13:15:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338383747!30458829!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19333 invoked from network); 30 May 2012 13:15:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:15:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26208286"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:15:47 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:15:47 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-C9;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:55 +0100
Message-ID: <1338383275-21315-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 10/10] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Changes sinve v2:

 * Changed the goto construction to a do-while loop.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 841f9ac..77c85b9 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -487,16 +487,26 @@ DEFINE_DEVICES_ADD(vif, nic)
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+    do {
+        t = xs_transaction_start(CTX->xsh);
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+        rc = !xs_transaction_end(CTX->xsh, t, 0);
+    } while (rc && errno == EAGAIN);
+    if (rc) {
+        LOGE(ERROR, "unable to finish transaction");
+        goto out;
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:16:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZiki-0006xQ-DC; Wed, 30 May 2012 13:15:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZikh-0006xK-9e
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:15:51 +0000
Received: from [85.158.139.83:45238] by server-9.bemta-5.messagelabs.com id
	19/F2-27779-68D16CF4; Wed, 30 May 2012 13:15:50 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338383747!30458829!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19333 invoked from network); 30 May 2012 13:15:49 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:15:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26208286"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:15:47 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:15:47 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZid3-0001Eu-C9;
	Wed, 30 May 2012 14:07:57 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:07:55 +0100
Message-ID: <1338383275-21315-11-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
References: <1338383275-21315-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH v5 10/10] libxl: use libxl__xs_path_cleanup on
	device_destroy
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Since the hotplug script that was in charge of cleaning the backend is
no longer launched, we need to clean the backend by ourselves, so use
libxl__xs_path_cleanup instead of xs_rm.

Changes sinve v2:

 * Changed the goto construction to a do-while loop.

Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 tools/libxl/libxl_device.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index 841f9ac..77c85b9 100644
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -487,16 +487,26 @@ DEFINE_DEVICES_ADD(vif, nic)
 
 int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
+    xs_transaction_t t = 0;
+    int rc = 0;
 
-    xs_rm(ctx->xsh, XBT_NULL, be_path);
-    xs_rm(ctx->xsh, XBT_NULL, fe_path);
+    do {
+        t = xs_transaction_start(CTX->xsh);
+        libxl__xs_path_cleanup(gc, t, fe_path);
+        libxl__xs_path_cleanup(gc, t, be_path);
+        rc = !xs_transaction_end(CTX->xsh, t, 0);
+    } while (rc && errno == EAGAIN);
+    if (rc) {
+        LOGE(ERROR, "unable to finish transaction");
+        goto out;
+    }
 
     libxl__device_destroy_tapdisk(gc, be_path);
 
-    return 0;
+out:
+    return rc;
 }
 
 /* Callback for device destruction */
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:16:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:16:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZilN-000706-RJ; Wed, 30 May 2012 13:16:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZilM-0006zx-3m
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:16:32 +0000
Received: from [85.158.143.35:61024] by server-1.bemta-4.messagelabs.com id
	40/0C-27869-FAD16CF4; Wed, 30 May 2012 13:16:31 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338383790!13597945!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29895 invoked from network); 30 May 2012 13:16:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:16:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12737970"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 13:15:50 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 14:15:50 +0100
Date: Wed, 30 May 2012 14:15:34 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1338378765-20838-1-git-send-email-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.00.1205301410560.26786@kaball-desktop>
References: <1338378765-20838-1-git-send-email-roger.pau@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad/block: add support for NetBSD
 phy interfaces
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Roger Pau Monne wrote:
> Add support for NetBSD to get the correct size for phy block devices,
> and use character devices instead of block devices.
> 
> This has been in pkgsrc tree for a long time, and is present in upstream qemu.

Could you please include the upstream QEMU commit id in the description
of this patch?


> It is not pretty, but I'm fairly confident that it doesn't break anything on
> the Linux side.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  block-raw-posix.c |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
>  1 files changed, 49 insertions(+), 2 deletions(-)
> 
> diff --git a/block-raw-posix.c b/block-raw-posix.c
> index 9a02d4f..7429c7b 100644
> --- a/block-raw-posix.c
> +++ b/block-raw-posix.c
> @@ -66,6 +66,13 @@
>  #include <sys/disklabel.h>
>  #include <sys/dkio.h>
>  #endif
> +#if defined(__NetBSD__)
> +#include <sys/ioctl.h>
> +#include <sys/disklabel.h>
> +#include <sys/dkio.h>
> +#define SLIST_ENTRY(x) int /*XXXX !*/
> +#include <sys/disk.h>
> +#endif
>  
>  //#define DEBUG_FLOPPY
>  
> @@ -120,6 +127,33 @@ static int raw_open(BlockDriverState *bs, const char *filename, int flags)
>  {
>      BDRVRawState *s = bs->opaque;
>      int fd, open_flags, ret;
> +#ifdef __NetBSD__
> +    struct stat sb;
> +    static char namebuf[MAXPATHLEN];
> +    const char *dp;
> +
> +    if (lstat(filename, &sb) < 0) {
> +        fprintf(stderr, "%s: stat failed: %s\n", filename, strerror(errno));
> +        return -errno;
> +    }
> +    if (S_ISLNK(sb.st_mode)) {
> +        fprintf(stderr, "%s: symolink links not supported by qemu-dm\n",
> +                        filename);
> +        return -EINVAL;
> +    }
> +    if (S_ISBLK(sb.st_mode)) {
> +        dp = strrchr(filename, '/');
> +        if (dp == NULL) {
> +            snprintf(namebuf, MAXPATHLEN, "r%s", filename);
> +        } else {
> +            snprintf(namebuf, MAXPATHLEN, "%.*s/r%s",
> +                     (int)(dp - filename), filename, dp + 1);
> +        }
> +        fprintf(stderr, "%s is a block device", filename);
> +        filename = namebuf;
> +        fprintf(stderr, ", using %s\n", filename);
> +    }
> +#endif

maybe you could refactor it in a separate raw_normalize_devicepath
function, like in upstream QEMU


>      posix_aio_init();
>  
> @@ -749,7 +783,7 @@ static int raw_truncate(BlockDriverState *bs, int64_t offset)
>      return 0;
>  }
>  
> -#ifdef __OpenBSD__
> +#if defined(__OpenBSD__) || defined(__NetBSD__)
>  static int64_t raw_getlength(BlockDriverState *bs)
>  {
>      BDRVRawState *s = bs->opaque;
> @@ -759,16 +793,29 @@ static int64_t raw_getlength(BlockDriverState *bs)
>      if (fstat(fd, &st))
>          return -1;
>      if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)) {
> +#if defined(__OpenBSD__)
>          struct disklabel dl;
>  
>          if (ioctl(fd, DIOCGDINFO, &dl))
>              return -1;
>          return (uint64_t)dl.d_secsize *
>              dl.d_partitions[DISKPART(st.st_rdev)].p_size;
> +#else
> +        struct dkwedge_info dkw;
> +        if (ioctl(fd, DIOCGWEDGEINFO, &dkw) != -1) {
> +            return dkw.dkw_size * 512;
> +        }  else {
> +            struct disklabel dl;
> +            if(ioctl(fd, DIOCGDINFO, &dl))
> +                return -1;
> +            return (uint64_t)dl.d_secsize *
> +                   dl.d_partitions[DISKPART(st.st_rdev)].p_size;
> +        }
> +#endif

similarly this could be in a separate raw_getlength function


>      } else
>          return st.st_size;
>  }
> -#else /* !__OpenBSD__ */
> +#else /* !__OpenBSD__ && ! __NetBSD__  */
>  static int64_t  raw_getlength(BlockDriverState *bs)
>  {
>      BDRVRawState *s = bs->opaque;
> -- 
> 1.7.7.5 (Apple Git-26)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:16:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:16:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZilN-000706-RJ; Wed, 30 May 2012 13:16:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZilM-0006zx-3m
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:16:32 +0000
Received: from [85.158.143.35:61024] by server-1.bemta-4.messagelabs.com id
	40/0C-27869-FAD16CF4; Wed, 30 May 2012 13:16:31 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338383790!13597945!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29895 invoked from network); 30 May 2012 13:16:30 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:16:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12737970"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 13:15:50 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 14:15:50 +0100
Date: Wed, 30 May 2012 14:15:34 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1338378765-20838-1-git-send-email-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.00.1205301410560.26786@kaball-desktop>
References: <1338378765-20838-1-git-send-email-roger.pau@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad/block: add support for NetBSD
 phy interfaces
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Roger Pau Monne wrote:
> Add support for NetBSD to get the correct size for phy block devices,
> and use character devices instead of block devices.
> 
> This has been in pkgsrc tree for a long time, and is present in upstream qemu.

Could you please include the upstream QEMU commit id in the description
of this patch?


> It is not pretty, but I'm fairly confident that it doesn't break anything on
> the Linux side.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  block-raw-posix.c |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
>  1 files changed, 49 insertions(+), 2 deletions(-)
> 
> diff --git a/block-raw-posix.c b/block-raw-posix.c
> index 9a02d4f..7429c7b 100644
> --- a/block-raw-posix.c
> +++ b/block-raw-posix.c
> @@ -66,6 +66,13 @@
>  #include <sys/disklabel.h>
>  #include <sys/dkio.h>
>  #endif
> +#if defined(__NetBSD__)
> +#include <sys/ioctl.h>
> +#include <sys/disklabel.h>
> +#include <sys/dkio.h>
> +#define SLIST_ENTRY(x) int /*XXXX !*/
> +#include <sys/disk.h>
> +#endif
>  
>  //#define DEBUG_FLOPPY
>  
> @@ -120,6 +127,33 @@ static int raw_open(BlockDriverState *bs, const char *filename, int flags)
>  {
>      BDRVRawState *s = bs->opaque;
>      int fd, open_flags, ret;
> +#ifdef __NetBSD__
> +    struct stat sb;
> +    static char namebuf[MAXPATHLEN];
> +    const char *dp;
> +
> +    if (lstat(filename, &sb) < 0) {
> +        fprintf(stderr, "%s: stat failed: %s\n", filename, strerror(errno));
> +        return -errno;
> +    }
> +    if (S_ISLNK(sb.st_mode)) {
> +        fprintf(stderr, "%s: symolink links not supported by qemu-dm\n",
> +                        filename);
> +        return -EINVAL;
> +    }
> +    if (S_ISBLK(sb.st_mode)) {
> +        dp = strrchr(filename, '/');
> +        if (dp == NULL) {
> +            snprintf(namebuf, MAXPATHLEN, "r%s", filename);
> +        } else {
> +            snprintf(namebuf, MAXPATHLEN, "%.*s/r%s",
> +                     (int)(dp - filename), filename, dp + 1);
> +        }
> +        fprintf(stderr, "%s is a block device", filename);
> +        filename = namebuf;
> +        fprintf(stderr, ", using %s\n", filename);
> +    }
> +#endif

maybe you could refactor it in a separate raw_normalize_devicepath
function, like in upstream QEMU


>      posix_aio_init();
>  
> @@ -749,7 +783,7 @@ static int raw_truncate(BlockDriverState *bs, int64_t offset)
>      return 0;
>  }
>  
> -#ifdef __OpenBSD__
> +#if defined(__OpenBSD__) || defined(__NetBSD__)
>  static int64_t raw_getlength(BlockDriverState *bs)
>  {
>      BDRVRawState *s = bs->opaque;
> @@ -759,16 +793,29 @@ static int64_t raw_getlength(BlockDriverState *bs)
>      if (fstat(fd, &st))
>          return -1;
>      if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)) {
> +#if defined(__OpenBSD__)
>          struct disklabel dl;
>  
>          if (ioctl(fd, DIOCGDINFO, &dl))
>              return -1;
>          return (uint64_t)dl.d_secsize *
>              dl.d_partitions[DISKPART(st.st_rdev)].p_size;
> +#else
> +        struct dkwedge_info dkw;
> +        if (ioctl(fd, DIOCGWEDGEINFO, &dkw) != -1) {
> +            return dkw.dkw_size * 512;
> +        }  else {
> +            struct disklabel dl;
> +            if(ioctl(fd, DIOCGDINFO, &dl))
> +                return -1;
> +            return (uint64_t)dl.d_secsize *
> +                   dl.d_partitions[DISKPART(st.st_rdev)].p_size;
> +        }
> +#endif

similarly this could be in a separate raw_getlength function


>      } else
>          return st.st_size;
>  }
> -#else /* !__OpenBSD__ */
> +#else /* !__OpenBSD__ && ! __NetBSD__  */
>  static int64_t  raw_getlength(BlockDriverState *bs)
>  {
>      BDRVRawState *s = bs->opaque;
> -- 
> 1.7.7.5 (Apple Git-26)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:17:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZimX-000766-AE; Wed, 30 May 2012 13:17:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZimV-00075v-So
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:17:44 +0000
Received: from [85.158.143.35:21633] by server-3.bemta-4.messagelabs.com id
	62/07-04252-7FD16CF4; Wed, 30 May 2012 13:17:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338383862!14811111!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30715 invoked from network); 30 May 2012 13:17:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:17:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12738016"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 13:17:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 14:17:42 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZimU-00035c-9c;
	Wed, 30 May 2012 13:17:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZimS-0004cE-Ig;
	Wed, 30 May 2012 14:17:42 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12995-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 14:17:40 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12995: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12995 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12995/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a418c32885ab
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=a418c32885ab
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable a418c32885ab
+ branch=xen-unstable
+ revision=a418c32885ab
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r a418c32885ab ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 27 changesets with 88 changes to 57 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:17:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZimX-000766-AE; Wed, 30 May 2012 13:17:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZimV-00075v-So
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:17:44 +0000
Received: from [85.158.143.35:21633] by server-3.bemta-4.messagelabs.com id
	62/07-04252-7FD16CF4; Wed, 30 May 2012 13:17:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338383862!14811111!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30715 invoked from network); 30 May 2012 13:17:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:17:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12738016"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 13:17:42 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 14:17:42 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZimU-00035c-9c;
	Wed, 30 May 2012 13:17:42 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZimS-0004cE-Ig;
	Wed, 30 May 2012 14:17:42 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12995-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 14:17:40 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12995: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12995 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12995/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12979

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a418c32885ab
baseline version:
 xen                  52ffce7a036e

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=a418c32885ab
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable a418c32885ab
+ branch=xen-unstable
+ revision=a418c32885ab
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r a418c32885ab ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 27 changesets with 88 changes to 57 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:33:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:33:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZj1S-0008IL-Nm; Wed, 30 May 2012 13:33:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZj1R-0008IE-TV
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:33:10 +0000
Received: from [85.158.139.83:61165] by server-3.bemta-5.messagelabs.com id
	02/A8-29112-59126CF4; Wed, 30 May 2012 13:33:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338384787!26891569!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13981 invoked from network); 30 May 2012 13:33:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 13:33:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 14:33:06 +0100
Message-Id: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 14:33:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	konrad.wilk@oracle.com, linux-kernel@vger.kernel.org,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 15:10, Andre Przywara <andre.przywara@amd.com> wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.
> This fixes a crash when using the kernel as a Xen Dom0 on affected
> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> yet (this will be fixed in another patch).

I'm not following: If the AMD variants (putting a special value into
%edi) can be freely replaced by the non-AMD variants, why did
the AMD special ones get used in the first place?

Further, I can't see how checking_wrmsrl() is being paravirtualized
any better than wrmsrl_amd_safe() - both have nothing but an
exception handling fixup attached to the wrmsr invocation. Care
to point out what actual crash it is that was seen?

Finally, I would question whether re-enabling the topology
extensions under Xen shouldn't be skipped altogether, perhaps
even on Dom0 (as the hypervisor is controlling this MSR, but in
any case on DomU - the hypervisor won't allow (read: ignore,
not fault on) the write anyway (and will log a message for each
(v)CPU that attempts this).

Jan

> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # 3.4+
> ---
>  arch/x86/kernel/cpu/amd.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index 146bb62..80ccd99 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
>  	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
>  		u64 val;
>  
> -		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
> +		if (!rdmsrl_safe(0xc0011005, &val)) {
>  			val |= 1ULL << 54;
> -			wrmsrl_amd_safe(0xc0011005, val);
> +			checking_wrmsrl(0xc0011005, val);
>  			rdmsrl(0xc0011005, val);
>  			if (val & (1ULL << 54)) {
>  				set_cpu_cap(c, X86_FEATURE_TOPOEXT);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:33:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:33:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZj1S-0008IL-Nm; Wed, 30 May 2012 13:33:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZj1R-0008IE-TV
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:33:10 +0000
Received: from [85.158.139.83:61165] by server-3.bemta-5.messagelabs.com id
	02/A8-29112-59126CF4; Wed, 30 May 2012 13:33:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338384787!26891569!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13981 invoked from network); 30 May 2012 13:33:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 13:33:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 14:33:06 +0100
Message-Id: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 14:33:03 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	konrad.wilk@oracle.com, linux-kernel@vger.kernel.org,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 15:10, Andre Przywara <andre.przywara@amd.com> wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.
> This fixes a crash when using the kernel as a Xen Dom0 on affected
> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> yet (this will be fixed in another patch).

I'm not following: If the AMD variants (putting a special value into
%edi) can be freely replaced by the non-AMD variants, why did
the AMD special ones get used in the first place?

Further, I can't see how checking_wrmsrl() is being paravirtualized
any better than wrmsrl_amd_safe() - both have nothing but an
exception handling fixup attached to the wrmsr invocation. Care
to point out what actual crash it is that was seen?

Finally, I would question whether re-enabling the topology
extensions under Xen shouldn't be skipped altogether, perhaps
even on Dom0 (as the hypervisor is controlling this MSR, but in
any case on DomU - the hypervisor won't allow (read: ignore,
not fault on) the write anyway (and will log a message for each
(v)CPU that attempts this).

Jan

> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # 3.4+
> ---
>  arch/x86/kernel/cpu/amd.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index 146bb62..80ccd99 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
>  	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
>  		u64 val;
>  
> -		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
> +		if (!rdmsrl_safe(0xc0011005, &val)) {
>  			val |= 1ULL << 54;
> -			wrmsrl_amd_safe(0xc0011005, val);
> +			checking_wrmsrl(0xc0011005, val);
>  			rdmsrl(0xc0011005, val);
>  			if (val & (1ULL << 54)) {
>  				set_cpu_cap(c, X86_FEATURE_TOPOEXT);



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:45:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjDO-00008g-0b; Wed, 30 May 2012 13:45:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZjDM-00008W-AX
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:45:28 +0000
Received: from [193.109.254.147:27769] by server-4.bemta-14.messagelabs.com id
	F6/A9-03148-77426CF4; Wed, 30 May 2012 13:45:27 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338385525!4323501!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31475 invoked from network); 30 May 2012 13:45:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:45:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196898159"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:45:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:45:24 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZjDI-00029o-At	for xen-devel@lists.xen.org;
	Wed, 30 May 2012 14:45:24 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:45:20 +0100
Message-ID: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/2] qemu-xen-trad/block: fixes for NetBSD
	block-raw.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Both patches are already present in upstream qemu, this is only a 
backport.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:45:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjDO-00008g-0b; Wed, 30 May 2012 13:45:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZjDM-00008W-AX
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:45:28 +0000
Received: from [193.109.254.147:27769] by server-4.bemta-14.messagelabs.com id
	F6/A9-03148-77426CF4; Wed, 30 May 2012 13:45:27 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338385525!4323501!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31475 invoked from network); 30 May 2012 13:45:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:45:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196898159"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:45:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:45:24 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZjDI-00029o-At	for xen-devel@lists.xen.org;
	Wed, 30 May 2012 14:45:24 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:45:20 +0100
Message-ID: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH 0/2] qemu-xen-trad/block: fixes for NetBSD
	block-raw.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Both patches are already present in upstream qemu, this is only a 
backport.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:45:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjDO-00008n-Cc; Wed, 30 May 2012 13:45:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZjDN-00008b-2G
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:45:29 +0000
Received: from [193.109.254.147:33821] by server-10.bemta-14.messagelabs.com
	id 7A/12-27843-87426CF4; Wed, 30 May 2012 13:45:28 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338385525!4323501!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31520 invoked from network); 30 May 2012 13:45:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:45:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196898160"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:45:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:45:24 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZjDI-00029o-KR;
	Wed, 30 May 2012 14:45:24 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:45:21 +0100
Message-ID: <1338385522-21949-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Kevin Wolf <kwolf@redhat.com>, Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 1/2] qemu-xen-trad/block: use a character device
	if a block device is given
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On NetBSD a userland process is better with the character device
interface. In addition, a block device can't be opened twice; if a Xen
backend opens it, qemu can't and vice-versa.

This is a backport of 1de1ae0a7d956b3c87712bf2c09d277f99873f4c.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 block-raw-posix.c |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/block-raw-posix.c b/block-raw-posix.c
index 9a02d4f..e7d7457 100644
--- a/block-raw-posix.c
+++ b/block-raw-posix.c
@@ -116,11 +116,54 @@ static int posix_aio_init(void);
 
 static int fd_open(BlockDriverState *bs);
 
+#if defined(__NetBSD__)
+static int raw_normalize_devicepath(const char **filename)
+{
+    static char namebuf[PATH_MAX];
+    const char *dp, *fname;
+    struct stat sb;
+
+    fname = *filename;
+    dp = strrchr(fname, '/');
+    if (lstat(fname, &sb) < 0) {
+        fprintf(stderr, "%s: stat failed: %s\n",
+            fname, strerror(errno));
+        return -errno;
+    }
+
+    if (!S_ISBLK(sb.st_mode)) {
+        return 0;
+    }
+
+    if (dp == NULL) {
+        snprintf(namebuf, PATH_MAX, "r%s", fname);
+    } else {
+        snprintf(namebuf, PATH_MAX, "%.*s/r%s",
+            (int)(dp - fname), fname, dp + 1);
+    }
+    fprintf(stderr, "%s is a block device", fname);
+    *filename = namebuf;
+    fprintf(stderr, ", using %s\n", *filename);
+
+    return 0;
+}
+#else
+static int raw_normalize_devicepath(const char **filename)
+{
+    return 0;
+}
+#endif
+
 static int raw_open(BlockDriverState *bs, const char *filename, int flags)
 {
     BDRVRawState *s = bs->opaque;
     int fd, open_flags, ret;
 
+    ret = raw_normalize_devicepath(&filename);
+    if (ret != 0) {
+        return ret;
+    }
+
     posix_aio_init();
 
     s->lseek_err_cnt = 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:45:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjDO-00008n-Cc; Wed, 30 May 2012 13:45:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZjDN-00008b-2G
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:45:29 +0000
Received: from [193.109.254.147:33821] by server-10.bemta-14.messagelabs.com
	id 7A/12-27843-87426CF4; Wed, 30 May 2012 13:45:28 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338385525!4323501!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31520 invoked from network); 30 May 2012 13:45:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:45:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196898160"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:45:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:45:24 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZjDI-00029o-KR;
	Wed, 30 May 2012 14:45:24 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:45:21 +0100
Message-ID: <1338385522-21949-2-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Kevin Wolf <kwolf@redhat.com>, Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 1/2] qemu-xen-trad/block: use a character device
	if a block device is given
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On NetBSD a userland process is better with the character device
interface. In addition, a block device can't be opened twice; if a Xen
backend opens it, qemu can't and vice-versa.

This is a backport of 1de1ae0a7d956b3c87712bf2c09d277f99873f4c.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 block-raw-posix.c |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/block-raw-posix.c b/block-raw-posix.c
index 9a02d4f..e7d7457 100644
--- a/block-raw-posix.c
+++ b/block-raw-posix.c
@@ -116,11 +116,54 @@ static int posix_aio_init(void);
 
 static int fd_open(BlockDriverState *bs);
 
+#if defined(__NetBSD__)
+static int raw_normalize_devicepath(const char **filename)
+{
+    static char namebuf[PATH_MAX];
+    const char *dp, *fname;
+    struct stat sb;
+
+    fname = *filename;
+    dp = strrchr(fname, '/');
+    if (lstat(fname, &sb) < 0) {
+        fprintf(stderr, "%s: stat failed: %s\n",
+            fname, strerror(errno));
+        return -errno;
+    }
+
+    if (!S_ISBLK(sb.st_mode)) {
+        return 0;
+    }
+
+    if (dp == NULL) {
+        snprintf(namebuf, PATH_MAX, "r%s", fname);
+    } else {
+        snprintf(namebuf, PATH_MAX, "%.*s/r%s",
+            (int)(dp - fname), fname, dp + 1);
+    }
+    fprintf(stderr, "%s is a block device", fname);
+    *filename = namebuf;
+    fprintf(stderr, ", using %s\n", *filename);
+
+    return 0;
+}
+#else
+static int raw_normalize_devicepath(const char **filename)
+{
+    return 0;
+}
+#endif
+
 static int raw_open(BlockDriverState *bs, const char *filename, int flags)
 {
     BDRVRawState *s = bs->opaque;
     int fd, open_flags, ret;
 
+    ret = raw_normalize_devicepath(&filename);
+    if (ret != 0) {
+        return ret;
+    }
+
     posix_aio_init();
 
     s->lseek_err_cnt = 0;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:45:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjDQ-00009O-Ty; Wed, 30 May 2012 13:45:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZjDP-000094-AL
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:45:31 +0000
Received: from [85.158.143.99:41713] by server-2.bemta-4.messagelabs.com id
	0D/5C-11595-A7426CF4; Wed, 30 May 2012 13:45:30 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1338385526!23977219!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8964 invoked from network); 30 May 2012 13:45:28 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:45:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26212858"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:45:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:45:25 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZjDI-00029o-Nz;
	Wed, 30 May 2012 14:45:24 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:45:22 +0100
Message-ID: <1338385522-21949-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Kevin Wolf <kwolf@redhat.com>, Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 2/2] qemu-xen-trad/block: get right partition
	size
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

use the correct way to get the size of a disk device or partition

This this a backport of d1f6fd8d1400ab356aee776b1ecc3ed1e89dbeaa.

From: Adam Hamsik <haad@netbsd.org>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 block-raw-posix.c |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/block-raw-posix.c b/block-raw-posix.c
index e7d7457..795cd5b 100644
--- a/block-raw-posix.c
+++ b/block-raw-posix.c
@@ -60,6 +60,12 @@
 #include <signal.h>
 #include <sys/disk.h>
 #endif
+#ifdef __NetBSD__
+#include <sys/ioctl.h>
+#include <sys/disklabel.h>
+#include <sys/dkio.h>
+#include <sys/disk.h>
+#endif
 
 #ifdef __OpenBSD__
 #include <sys/ioctl.h>
@@ -811,7 +817,32 @@ static int64_t raw_getlength(BlockDriverState *bs)
     } else
         return st.st_size;
 }
-#else /* !__OpenBSD__ */
+#elif defined(__NetBSD__)
+static int64_t raw_getlength(BlockDriverState *bs)
+{
+    BDRVRawState *s = bs->opaque;
+    int fd = s->fd;
+    struct stat st;
+
+    if (fstat(fd, &st))
+        return -1;
+    if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)) {
+        struct dkwedge_info dkw;
+
+        if (ioctl(fd, DIOCGWEDGEINFO, &dkw) != -1) {
+            return dkw.dkw_size * 512;
+        } else {
+            struct disklabel dl;
+
+            if (ioctl(fd, DIOCGDINFO, &dl))
+                return -1;
+            return (uint64_t)dl.d_secsize *
+                dl.d_partitions[DISKPART(st.st_rdev)].p_size;
+        }
+    } else
+        return st.st_size;
+}
+#else /* !__OpenBSD__ && !__NetBSD__ */
 static int64_t  raw_getlength(BlockDriverState *bs)
 {
     BDRVRawState *s = bs->opaque;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:45:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjDQ-00009O-Ty; Wed, 30 May 2012 13:45:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZjDP-000094-AL
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:45:31 +0000
Received: from [85.158.143.99:41713] by server-2.bemta-4.messagelabs.com id
	0D/5C-11595-A7426CF4; Wed, 30 May 2012 13:45:30 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-10.tower-216.messagelabs.com!1338385526!23977219!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDY5OTY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8964 invoked from network); 30 May 2012 13:45:28 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-10.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:45:28 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="26212858"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:45:25 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:45:25 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZjDI-00029o-Nz;
	Wed, 30 May 2012 14:45:24 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 14:45:22 +0100
Message-ID: <1338385522-21949-3-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
In-Reply-To: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Cc: Kevin Wolf <kwolf@redhat.com>, Christoph Egger <Christoph.Egger@amd.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 2/2] qemu-xen-trad/block: get right partition
	size
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

use the correct way to get the size of a disk device or partition

This this a backport of d1f6fd8d1400ab356aee776b1ecc3ed1e89dbeaa.

From: Adam Hamsik <haad@netbsd.org>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 block-raw-posix.c |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/block-raw-posix.c b/block-raw-posix.c
index e7d7457..795cd5b 100644
--- a/block-raw-posix.c
+++ b/block-raw-posix.c
@@ -60,6 +60,12 @@
 #include <signal.h>
 #include <sys/disk.h>
 #endif
+#ifdef __NetBSD__
+#include <sys/ioctl.h>
+#include <sys/disklabel.h>
+#include <sys/dkio.h>
+#include <sys/disk.h>
+#endif
 
 #ifdef __OpenBSD__
 #include <sys/ioctl.h>
@@ -811,7 +817,32 @@ static int64_t raw_getlength(BlockDriverState *bs)
     } else
         return st.st_size;
 }
-#else /* !__OpenBSD__ */
+#elif defined(__NetBSD__)
+static int64_t raw_getlength(BlockDriverState *bs)
+{
+    BDRVRawState *s = bs->opaque;
+    int fd = s->fd;
+    struct stat st;
+
+    if (fstat(fd, &st))
+        return -1;
+    if (S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode)) {
+        struct dkwedge_info dkw;
+
+        if (ioctl(fd, DIOCGWEDGEINFO, &dkw) != -1) {
+            return dkw.dkw_size * 512;
+        } else {
+            struct disklabel dl;
+
+            if (ioctl(fd, DIOCGDINFO, &dl))
+                return -1;
+            return (uint64_t)dl.d_secsize *
+                dl.d_partitions[DISKPART(st.st_rdev)].p_size;
+        }
+    } else
+        return st.st_size;
+}
+#else /* !__OpenBSD__ && !__NetBSD__ */
 static int64_t  raw_getlength(BlockDriverState *bs)
 {
     BDRVRawState *s = bs->opaque;
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:50:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:50:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjHi-0000ZT-OW; Wed, 30 May 2012 13:49:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZjHh-0000ZJ-DM
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:49:57 +0000
Received: from [85.158.143.99:16158] by server-2.bemta-4.messagelabs.com id
	9A/56-11595-48526CF4; Wed, 30 May 2012 13:49:56 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338385791!25208024!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5170 invoked from network); 30 May 2012 13:49:55 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:49:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196898839"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:49:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:49:50 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1SZjHZ-0002Fd-UF;
	Wed, 30 May 2012 14:49:49 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Wed, 30 May 2012 14:49:37 +0100
Message-ID: <1338385777-24241-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>
Subject: [Xen-devel] [PATCH] tools: do not install qemu if just doing a build
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Signed-off-by: David Vrabel <david.vrabel@
---
 tools/Makefile |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 7b14678..97c30a4 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -118,7 +118,14 @@ qemu-xen-traditional-dir-force-update:
 		$(GIT) reset --hard $(QEMU_TAG); \
 	fi
 
-subdir-all-qemu-xen-traditional-dir subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+	set -e; \
+		$(buildmakevars2shellvars); \
+		cd qemu-xen-traditional-dir; \
+		$(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \
+		$(MAKE) all
+
+subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
 	set -e; \
 		$(buildmakevars2shellvars); \
 		cd qemu-xen-traditional-dir; \
@@ -139,7 +146,7 @@ qemu-xen-dir-force-update:
 		$(GIT) reset --hard $(QEMU_UPSTREAM_REVISION); \
 	fi
 
-subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: qemu-xen-dir-find
+subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	if test -d $(QEMU_UPSTREAM_URL) ; then \
 		source=$(QEMU_UPSTREAM_URL); \
 	else \
@@ -159,6 +166,10 @@ subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: qemu-xen-dir-find
 		--disable-kvm \
 		--python=$(PYTHON) \
 		$(IOEMU_CONFIGURE_CROSS); \
+	$(MAKE) all
+
+subdir-install-qemu-xen-dir: subdir-all-qemu-xen-dir
+	cd qemu-xen-dir; \
 	$(MAKE) install
 
 subdir-clean-qemu-xen-dir:
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:50:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:50:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjHi-0000ZT-OW; Wed, 30 May 2012 13:49:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1SZjHh-0000ZJ-DM
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 13:49:57 +0000
Received: from [85.158.143.99:16158] by server-2.bemta-4.messagelabs.com id
	9A/56-11595-48526CF4; Wed, 30 May 2012 13:49:56 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338385791!25208024!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5170 invoked from network); 30 May 2012 13:49:55 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:49:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196898839"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 09:49:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 09:49:50 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1SZjHZ-0002Fd-UF;
	Wed, 30 May 2012 14:49:49 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Wed, 30 May 2012 14:49:37 +0100
Message-ID: <1338385777-24241-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>
Subject: [Xen-devel] [PATCH] tools: do not install qemu if just doing a build
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Signed-off-by: David Vrabel <david.vrabel@
---
 tools/Makefile |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 7b14678..97c30a4 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -118,7 +118,14 @@ qemu-xen-traditional-dir-force-update:
 		$(GIT) reset --hard $(QEMU_TAG); \
 	fi
 
-subdir-all-qemu-xen-traditional-dir subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+	set -e; \
+		$(buildmakevars2shellvars); \
+		cd qemu-xen-traditional-dir; \
+		$(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \
+		$(MAKE) all
+
+subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
 	set -e; \
 		$(buildmakevars2shellvars); \
 		cd qemu-xen-traditional-dir; \
@@ -139,7 +146,7 @@ qemu-xen-dir-force-update:
 		$(GIT) reset --hard $(QEMU_UPSTREAM_REVISION); \
 	fi
 
-subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: qemu-xen-dir-find
+subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	if test -d $(QEMU_UPSTREAM_URL) ; then \
 		source=$(QEMU_UPSTREAM_URL); \
 	else \
@@ -159,6 +166,10 @@ subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: qemu-xen-dir-find
 		--disable-kvm \
 		--python=$(PYTHON) \
 		$(IOEMU_CONFIGURE_CROSS); \
+	$(MAKE) all
+
+subdir-install-qemu-xen-dir: subdir-all-qemu-xen-dir
+	cd qemu-xen-dir; \
 	$(MAKE) install
 
 subdir-clean-qemu-xen-dir:
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:50:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:50:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjI9-0000c3-6E; Wed, 30 May 2012 13:50:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZjI7-0000bk-3g
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:50:23 +0000
Received: from [85.158.143.99:18204] by server-1.bemta-4.messagelabs.com id
	D4/09-27869-E9526CF4; Wed, 30 May 2012 13:50:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338385817!19340220!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16576 invoked from network); 30 May 2012 13:50:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:50:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12739079"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 13:50:17 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 14:50:17 +0100
Date: Wed, 30 May 2012 14:50:01 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.00.1205301449330.26786@kaball-desktop>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0/2] qemu-xen-trad/block: fixes for NetBSD
 block-raw.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Roger Pau Monne wrote:
> Both patches are already present in upstream qemu, this is only a 
> backport.

Much better now thanks, I would consider them for 4.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 13:50:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 13:50:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjI9-0000c3-6E; Wed, 30 May 2012 13:50:25 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1SZjI7-0000bk-3g
	for xen-devel@lists.xen.org; Wed, 30 May 2012 13:50:23 +0000
Received: from [85.158.143.99:18204] by server-1.bemta-4.messagelabs.com id
	D4/09-27869-E9526CF4; Wed, 30 May 2012 13:50:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338385817!19340220!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16576 invoked from network); 30 May 2012 13:50:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 13:50:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12739079"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 13:50:17 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 14:50:17 +0100
Date: Wed, 30 May 2012 14:50:01 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.00.1205301449330.26786@kaball-desktop>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0/2] qemu-xen-trad/block: fixes for NetBSD
 block-raw.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Roger Pau Monne wrote:
> Both patches are already present in upstream qemu, this is only a 
> backport.

Much better now thanks, I would consider them for 4.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:04:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:04:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjVu-0001Eu-8q; Wed, 30 May 2012 14:04:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZjVt-0001En-0n
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:04:37 +0000
Received: from [85.158.143.35:60315] by server-3.bemta-4.messagelabs.com id
	70/15-04252-4F826CF4; Wed, 30 May 2012 14:04:36 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338386675!6671101!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30320 invoked from network); 30 May 2012 14:04:35 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-9.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 14:04:35 -0000
Received: from mail33-am1-R.bigfish.com (10.3.201.242) by
	AM1EHSOBE004.bigfish.com (10.3.204.24) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:04:09 +0000
Received: from mail33-am1 (localhost [127.0.0.1])	by mail33-am1-R.bigfish.com
	(Postfix) with ESMTP id B3CA8403FF;
	Wed, 30 May 2012 14:04:09 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I148cI1432N98dKzz1202hzz8275bh8275dhz2dh668h839hd25he5bhf0ah)
Received: from mail33-am1 (localhost.localdomain [127.0.0.1]) by mail33-am1
	(MessageSwitch) id 13383866295117_12782; Wed, 30 May 2012 14:03:49 +0000
	(UTC)
Received: from AM1EHSMHS019.bigfish.com (unknown [10.3.201.237])	by
	mail33-am1.bigfish.com (Postfix) with ESMTP id 796774E00D1;
	Wed, 30 May 2012 14:03:48 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	AM1EHSMHS019.bigfish.com (10.3.206.22) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:03:44 +0000
X-WSS-ID: 0M4U9QQ-02-2BY-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2F959C8146;	Wed, 30 May 2012 09:04:01 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 09:04:18 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 30 May 2012 09:04:06 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	10:04:04 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 6A33E49C69E; Wed, 30 May 2012
	15:04:03 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 1CA855940FF; Wed, 30 May 2012
	16:04:03 +0200 (CEST)
Message-ID: <4FC62888.9010407@amd.com>
Date: Wed, 30 May 2012 16:02:48 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
In-Reply-To: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	"Shin, Jacob" <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 03:33 PM, Jan Beulich wrote:
>>>> On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
>> Because we are behind a family check before tweaking the topology
>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>> register.
>> This fixes a crash when using the kernel as a Xen Dom0 on affected
>> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
>> yet (this will be fixed in another patch).
>
> I'm not following: If the AMD variants (putting a special value into
> %edi) can be freely replaced by the non-AMD variants, why did
> the AMD special ones get used in the first place?

Older CPUs (K8) needed the AMD variants, starting with family 10h we can 
use the normal versions.

> Further, I can't see how checking_wrmsrl() is being paravirtualized
> any better than wrmsrl_amd_safe() - both have nothing but an
> exception handling fixup attached to the wrmsr invocation. Care
> to point out what actual crash it is that was seen?

AFAIK, the difference is between the "l" and the regs version for 
rd/wrmsr. We have a patch already here to fix this. Will send it out 
soon. Jacob, can you comment on this?

The crash dump:

[    1.601021] ------------[ cut here ]------------
[    1.601025] kernel BUG at 
/buildrepos/linux-2.6-stable/arch/x86/include/asm/paravirt.h:133!
[    1.601031] invalid opcode: 0000 [#1] SMP
[    1.601038] CPU 0
[    1.601041] Modules linked in:
[    1.601047]
[    1.601050] Pid: 0, comm: swapper/0 Not tainted 3.4.0 #1 AMD Virgo 
Platform/Annapurna
[    1.601061] RIP: e030:[<ffffffff8169b4fe>]  [<ffffffff8169b4fe>] 
init_amd+0x21d/0x603
[    1.601072] RSP: e02b:ffffffff81c01df8  EFLAGS: 00010246
[    1.601076] RAX: 0000000000000000 RBX: ffffffff81ca7500 RCX: 
0000000000000000
[    1.601081] RDX: 0000000000000020 RSI: 000000000000c000 RDI: 
ffffffff81c01e78
[    1.601086] RBP: ffffffff81c01ea8 R08: 0000000000004003 R09: 
00000000ffffffff
[    1.601090] R10: 0000000000000000 R11: 00000000ffffffff R12: 
ffffffff81ca7574
[    1.601095] R13: ffffffff81ca7514 R14: ffffffff81ca754c R15: 
ffffffff81ca756c
[    1.601103] FS:  0000000000000000(0000) GS:ffff8801ce600000(0000) 
knlGS:0000000000000000
[    1.601108] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    1.601112] CR2: 0000000000000000 CR3: 0000000001c0c000 CR4: 
0000000000040660
[    1.601117] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 
0000000000000000
[    1.601122] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 
0000000000000400
[    1.601127] Process swapper/0 (pid: 0, threadinfo ffffffff81c00000, 
task ffffffff81c14020)
[    1.601131] Stack:
[    1.601134]  ffffffff81c01ea8 ffffffff8169a7d8 0000001600000017 
0000000000000000
[    1.601146]  ffff8801c1c3ac00 ffff8801c1c002d0 ffffffff81c01e48 
ffffffff81140118
[    1.601157]  ffffffff811415cc ffff8801c1c04220 ffff8801c1c02480 
00000000000000d0
[    1.601169] Call Trace:
[    1.601175]  [<ffffffff8169a7d8>] ? get_cpu_cap+0x1f2/0x201
[    1.601183]  [<ffffffff81140118>] ? init_kmem_cache_cpus+0x3e/0x4d
[    1.601189]  [<ffffffff811415cc>] ? sysfs_slab_alias+0x60/0x8d
[    1.601195]  [<ffffffff8169aa3d>] identify_cpu+0x256/0x34d
[    1.601201]  [<ffffffff81141649>] ? kmem_cache_alloc+0x50/0xe4
[    1.601209]  [<ffffffff81cd1c51>] identify_boot_cpu+0x10/0x3c
[    1.601216]  [<ffffffff81cd2052>] check_bugs+0x9/0x2d
[    1.601222]  [<ffffffff81cc7e08>] start_kernel+0x445/0x461
[    1.601227]  [<ffffffff81cc77d6>] ? kernel_init+0x1d8/0x1d8
[    1.601233]  [<ffffffff81cc72cf>] x86_64_start_reservations+0xba/0xc1
[    1.601240]  [<ffffffff81041797>] ? xen_setup_runstate_info+0x2c/0x36
[    1.601247]  [<ffffffff81ccbdc4>] xen_start_kernel+0x58b/0x592
[    1.601251] Code: 0f 85 d3 00 00 00 31 c0 48 83 3d cd 5c 58 00 00 48 
8d 7d b0 b9 08 00 00 00 f3
ab c7 45 b4 05 10 01 c0 c7 45 cc 3a 20 5a 9c 75 04 <0f> 0b eb fe 4c 8d 
75 b0 4c 89 f7 ff 14 25 b0 11
c2 81 85 c0 8b
[    1.601374] RIP  [<ffffffff8169b4fe>] init_amd+0x21d/0x603
[    1.601381]  RSP <ffffffff81c01df8>
[    1.601391] ---[ end trace a7919e7f17c0a725 ]---
[    1.601397] Kernel panic - not syncing: Attempted to kill the idle task!

> Finally, I would question whether re-enabling the topology
> extensions under Xen shouldn't be skipped altogether, perhaps
> even on Dom0 (as the hypervisor is controlling this MSR, but in
> any case on DomU - the hypervisor won't allow (read: ignore,
> not fault on) the write anyway (and will log a message for each
> (v)CPU that attempts this).

This is probably right. Let me think about this.

Thanks for picking this up.

Regards,
Andre.

>
>> Signed-off-by: Andre Przywara<andre.przywara@amd.com>
>> Cc: stable@vger.kernel.org # 3.4+
>> ---
>>   arch/x86/kernel/cpu/amd.c |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
>> index 146bb62..80ccd99 100644
>> --- a/arch/x86/kernel/cpu/amd.c
>> +++ b/arch/x86/kernel/cpu/amd.c
>> @@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
>>   	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
>>   		u64 val;
>>
>> -		if (!rdmsrl_amd_safe(0xc0011005,&val)) {
>> +		if (!rdmsrl_safe(0xc0011005,&val)) {
>>   			val |= 1ULL<<  54;
>> -			wrmsrl_amd_safe(0xc0011005, val);
>> +			checking_wrmsrl(0xc0011005, val);
>>   			rdmsrl(0xc0011005, val);
>>   			if (val&  (1ULL<<  54)) {
>>   				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
>
>
>


-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:04:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:04:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjVu-0001Eu-8q; Wed, 30 May 2012 14:04:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1SZjVt-0001En-0n
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:04:37 +0000
Received: from [85.158.143.35:60315] by server-3.bemta-4.messagelabs.com id
	70/15-04252-4F826CF4; Wed, 30 May 2012 14:04:36 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338386675!6671101!1
X-Originating-IP: [213.199.154.207]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30320 invoked from network); 30 May 2012 14:04:35 -0000
Received: from am1ehsobe004.messaging.microsoft.com (HELO
	am1outboundpool.messaging.microsoft.com) (213.199.154.207)
	by server-9.tower-21.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 14:04:35 -0000
Received: from mail33-am1-R.bigfish.com (10.3.201.242) by
	AM1EHSOBE004.bigfish.com (10.3.204.24) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:04:09 +0000
Received: from mail33-am1 (localhost [127.0.0.1])	by mail33-am1-R.bigfish.com
	(Postfix) with ESMTP id B3CA8403FF;
	Wed, 30 May 2012 14:04:09 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I148cI1432N98dKzz1202hzz8275bh8275dhz2dh668h839hd25he5bhf0ah)
Received: from mail33-am1 (localhost.localdomain [127.0.0.1]) by mail33-am1
	(MessageSwitch) id 13383866295117_12782; Wed, 30 May 2012 14:03:49 +0000
	(UTC)
Received: from AM1EHSMHS019.bigfish.com (unknown [10.3.201.237])	by
	mail33-am1.bigfish.com (Postfix) with ESMTP id 796774E00D1;
	Wed, 30 May 2012 14:03:48 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	AM1EHSMHS019.bigfish.com (10.3.206.22) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:03:44 +0000
X-WSS-ID: 0M4U9QQ-02-2BY-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2F959C8146;	Wed, 30 May 2012 09:04:01 -0500 (CDT)
Received: from SAUSEXDAG05.amd.com (163.181.55.6) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 09:04:18 -0500
Received: from storexhtp01.amd.com (172.24.4.3) by sausexdag05.amd.com
	(163.181.55.6) with Microsoft SMTP Server (TLS) id 14.1.323.3;
	Wed, 30 May 2012 09:04:06 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp01.amd.com
	(172.24.4.3) with Microsoft SMTP Server id 8.3.213.0; Wed, 30 May 2012
	10:04:04 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 6A33E49C69E; Wed, 30 May 2012
	15:04:03 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id 1CA855940FF; Wed, 30 May 2012
	16:04:03 +0200 (CEST)
Message-ID: <4FC62888.9010407@amd.com>
Date: Wed, 30 May 2012 16:02:48 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
In-Reply-To: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
X-OriginatorOrg: amd.com
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	"Shin, Jacob" <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 03:33 PM, Jan Beulich wrote:
>>>> On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
>> Because we are behind a family check before tweaking the topology
>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>> register.
>> This fixes a crash when using the kernel as a Xen Dom0 on affected
>> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
>> yet (this will be fixed in another patch).
>
> I'm not following: If the AMD variants (putting a special value into
> %edi) can be freely replaced by the non-AMD variants, why did
> the AMD special ones get used in the first place?

Older CPUs (K8) needed the AMD variants, starting with family 10h we can 
use the normal versions.

> Further, I can't see how checking_wrmsrl() is being paravirtualized
> any better than wrmsrl_amd_safe() - both have nothing but an
> exception handling fixup attached to the wrmsr invocation. Care
> to point out what actual crash it is that was seen?

AFAIK, the difference is between the "l" and the regs version for 
rd/wrmsr. We have a patch already here to fix this. Will send it out 
soon. Jacob, can you comment on this?

The crash dump:

[    1.601021] ------------[ cut here ]------------
[    1.601025] kernel BUG at 
/buildrepos/linux-2.6-stable/arch/x86/include/asm/paravirt.h:133!
[    1.601031] invalid opcode: 0000 [#1] SMP
[    1.601038] CPU 0
[    1.601041] Modules linked in:
[    1.601047]
[    1.601050] Pid: 0, comm: swapper/0 Not tainted 3.4.0 #1 AMD Virgo 
Platform/Annapurna
[    1.601061] RIP: e030:[<ffffffff8169b4fe>]  [<ffffffff8169b4fe>] 
init_amd+0x21d/0x603
[    1.601072] RSP: e02b:ffffffff81c01df8  EFLAGS: 00010246
[    1.601076] RAX: 0000000000000000 RBX: ffffffff81ca7500 RCX: 
0000000000000000
[    1.601081] RDX: 0000000000000020 RSI: 000000000000c000 RDI: 
ffffffff81c01e78
[    1.601086] RBP: ffffffff81c01ea8 R08: 0000000000004003 R09: 
00000000ffffffff
[    1.601090] R10: 0000000000000000 R11: 00000000ffffffff R12: 
ffffffff81ca7574
[    1.601095] R13: ffffffff81ca7514 R14: ffffffff81ca754c R15: 
ffffffff81ca756c
[    1.601103] FS:  0000000000000000(0000) GS:ffff8801ce600000(0000) 
knlGS:0000000000000000
[    1.601108] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    1.601112] CR2: 0000000000000000 CR3: 0000000001c0c000 CR4: 
0000000000040660
[    1.601117] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 
0000000000000000
[    1.601122] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 
0000000000000400
[    1.601127] Process swapper/0 (pid: 0, threadinfo ffffffff81c00000, 
task ffffffff81c14020)
[    1.601131] Stack:
[    1.601134]  ffffffff81c01ea8 ffffffff8169a7d8 0000001600000017 
0000000000000000
[    1.601146]  ffff8801c1c3ac00 ffff8801c1c002d0 ffffffff81c01e48 
ffffffff81140118
[    1.601157]  ffffffff811415cc ffff8801c1c04220 ffff8801c1c02480 
00000000000000d0
[    1.601169] Call Trace:
[    1.601175]  [<ffffffff8169a7d8>] ? get_cpu_cap+0x1f2/0x201
[    1.601183]  [<ffffffff81140118>] ? init_kmem_cache_cpus+0x3e/0x4d
[    1.601189]  [<ffffffff811415cc>] ? sysfs_slab_alias+0x60/0x8d
[    1.601195]  [<ffffffff8169aa3d>] identify_cpu+0x256/0x34d
[    1.601201]  [<ffffffff81141649>] ? kmem_cache_alloc+0x50/0xe4
[    1.601209]  [<ffffffff81cd1c51>] identify_boot_cpu+0x10/0x3c
[    1.601216]  [<ffffffff81cd2052>] check_bugs+0x9/0x2d
[    1.601222]  [<ffffffff81cc7e08>] start_kernel+0x445/0x461
[    1.601227]  [<ffffffff81cc77d6>] ? kernel_init+0x1d8/0x1d8
[    1.601233]  [<ffffffff81cc72cf>] x86_64_start_reservations+0xba/0xc1
[    1.601240]  [<ffffffff81041797>] ? xen_setup_runstate_info+0x2c/0x36
[    1.601247]  [<ffffffff81ccbdc4>] xen_start_kernel+0x58b/0x592
[    1.601251] Code: 0f 85 d3 00 00 00 31 c0 48 83 3d cd 5c 58 00 00 48 
8d 7d b0 b9 08 00 00 00 f3
ab c7 45 b4 05 10 01 c0 c7 45 cc 3a 20 5a 9c 75 04 <0f> 0b eb fe 4c 8d 
75 b0 4c 89 f7 ff 14 25 b0 11
c2 81 85 c0 8b
[    1.601374] RIP  [<ffffffff8169b4fe>] init_amd+0x21d/0x603
[    1.601381]  RSP <ffffffff81c01df8>
[    1.601391] ---[ end trace a7919e7f17c0a725 ]---
[    1.601397] Kernel panic - not syncing: Attempted to kill the idle task!

> Finally, I would question whether re-enabling the topology
> extensions under Xen shouldn't be skipped altogether, perhaps
> even on Dom0 (as the hypervisor is controlling this MSR, but in
> any case on DomU - the hypervisor won't allow (read: ignore,
> not fault on) the write anyway (and will log a message for each
> (v)CPU that attempts this).

This is probably right. Let me think about this.

Thanks for picking this up.

Regards,
Andre.

>
>> Signed-off-by: Andre Przywara<andre.przywara@amd.com>
>> Cc: stable@vger.kernel.org # 3.4+
>> ---
>>   arch/x86/kernel/cpu/amd.c |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
>> index 146bb62..80ccd99 100644
>> --- a/arch/x86/kernel/cpu/amd.c
>> +++ b/arch/x86/kernel/cpu/amd.c
>> @@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
>>   	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
>>   		u64 val;
>>
>> -		if (!rdmsrl_amd_safe(0xc0011005,&val)) {
>> +		if (!rdmsrl_safe(0xc0011005,&val)) {
>>   			val |= 1ULL<<  54;
>> -			wrmsrl_amd_safe(0xc0011005, val);
>> +			checking_wrmsrl(0xc0011005, val);
>>   			rdmsrl(0xc0011005, val);
>>   			if (val&  (1ULL<<  54)) {
>>   				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
>
>
>


-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:19:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:19:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjkM-0001c0-O3; Wed, 30 May 2012 14:19:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SZjkK-0001bu-P0
	for xen-devel@lists.xen.org; Wed, 30 May 2012 14:19:33 +0000
Received: from [85.158.138.51:15408] by server-12.bemta-3.messagelabs.com id
	23/0C-29860-37C26CF4; Wed, 30 May 2012 14:19:31 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338387570!23576160!1
X-Originating-IP: [63.239.67.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4024 invoked from network); 30 May 2012 14:19:30 -0000
Received: from emvm-gh1-uea09.nsa.gov (HELO nsa.gov) (63.239.67.10)
	by server-14.tower-174.messagelabs.com with SMTP;
	30 May 2012 14:19:30 -0000
X-TM-IMSS-Message-ID: <1cccbf4f00036665@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov
	([63.239.67.10]) with ESMTP (TREND IMSS SMTP Service 7.1) id
	1cccbf4f00036665 ; Wed, 30 May 2012 10:21:35 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q4UEJPIU018820; 
	Wed, 30 May 2012 10:19:26 -0400
Message-ID: <4FC62C6E.5020902@tycho.nsa.gov>
Date: Wed, 30 May 2012 10:19:26 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
	<alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:41 AM, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Daniel De Graaf wrote:
>> On 05/24/2012 01:23 PM, Jean Guyader wrote:
>>> As I'm going through the code to clean-up XenClient's inter VM
>>> communication
>>> (V4V), I thought it would be a good idea to start a thread to talk about
>>> the
>>> fundamental differences between V4V and libvchan. I believe the two system
>>> are
>>> not clones of eachother and they serve different
>>> purposes.
>>>
>>>
>>> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
>>> about libvchan it coming from my reading of the code. If some of the facts
>>> are wrong it's only due to my ignorance about the subject.
>>>
>>
>> I'll try to fill in some of these points with my understanding of libvchan;
>> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
>> there.
>>
>>> 1. Why V4V?
>>>
>>> About the time when we started XenClient (3 year ago) we were looking for a
>>> lightweight inter VM communication scheme. We started working on a system
>>> based on netchannel2 at the time called V2V (VM to VM). The system
>>> was very similar to what libvchan is today, and we started to hit some
>>> roadblocks:
>>>
>>>     - The setup relied on a broker in dom0 to prepare the xenstore node
>>>       permissions when a guest wanted to create a new connection. The code
>>>       to do this setup was a single point of failure. If the
>>>       broker was down you could create any more connections.
>>
>> libvchan avoids this by allowing the application to determine the xenstore
>> path and adjusts permissions itself; the path /local/domain/N/data is
>> suitable for a libvchan server in domain N to create the nodes in question.
> 
> Let say that the frontend lives in domain A and that the backend lives
> in domain N.
> Usually the frontend has a node:
> 
> /local/domain/A/device/<devicename>/<number>/backend
> 
> that points to the backend, in this case:
> 
> /local/domain/N/backend/<devicename>/A/<number>
> 
> The backend is not allowed to write to the frontend path, so it cannot write
> its own path in the backend node. Clearly the frontend doesn't know that
> information so it cannot fill it up. So the toolstack (typically in
> dom0) helps with the initial setup writing down under the frontend path
> where is the backend.
> How does libvchan solve this issue?

Libvchan requires both endpoints to know the domain ID of the peer they are
communicating with - this could be communicated during domain build or through
a name service. The application then defines a path such as
"/local/domain/$server_domid/data/example-app/$client_domid" which is writable
by the server; the server creates nodes here that are readable by the client.

>>>     - Symmetric communications were a nightmare. Take the case where A is a
>>>       backend for B and B is a backend for A. If one of the domain crash the
>>>       other one couldn't be destroyed because it has some paged mapped from
>>>       the dead domain. This specific issue is probably fixed today.
>>
>> This is mostly taken care of by improvements in the hypervisor's handling of
>> grant mappings. If one domain holds grant mappings open, the domain whose
>> grants are held can't be fully destroyed, but if both domains are being
>> destroyed then cycles of grant mappings won't stop them from going away.
> 
> However under normal circumstances the domain holding the mappings (that
> I guess it would be the domain running the backend, correct?) would
> recognize that the other domain is gone and therefore unmap the grants
> and close the connection, right?
> I hope that if the frontend crashes and dies, it doesn't necessarily
> become a zombie because the backend holds some mappings.

The mapping between frontend/backend and vchan client/server may be backwards:
the server must be initialized first and provides the pages for the client to
map. It looks like you are considering the frontend to be the server.

The vchan client domain maps grants provided by the server. If the server's
domain crashes, it may become a zombie until the client application notices the
crash. This will happen if the client uses the vchan and gets an error when
sending an event notification (in this case, a well-behaved client will close the
vchan). If the client does not often send data on the vchan, it can use a watch on
the server's xenstore node and close the vchan when the node is deleted.

A client that does not notice the server's destruction will leave a zombie domain.
A system administrator can resolve this by killing the client process.

> 
>>>     - The PV connect/disconnect state-machine is poorly implemented.
>>>       There's no trivial mechanism to synchronize disconnecting/reconnecting
>>>       and dom0 must also allow the two domains to see parts of xenstore
>>>       belonging to the other domain in the process.
>>
>> No interaction from dom0 is required to allow two domUs to communicate using
>> xenstore (assuming the standard xenstored; more restrictive xenstored
>> daemons may add such restrictions, intended to be used in conjunction with XSM
>> policies preventing direct communication via event channels/grants). The
>> connection state machine is weak; an external mechanism (perhaps the standard
>> xenbus "state" entry) could be used to coordinate this better in the user of
>> libvchan.
> 
> I am curious to know what the "connection state machine" is in libvchan.

There are two bytes in the shared page which are set to \1 when the vchan is
connected and changed to \0 when one side is closed (either by libvchan_close or
by Linux if the process exits or crashes). The server has the option of ignoring
the close and allowing the client to reconnect, which is useful if the client
application is to be restarted. Since the rings remain intact, no data is lost
across a restart (although a crashing client may lose data it has already pulled
off the ring).

>>>     - Using the grant-ref model and having to map grant pages on each
>>>       transfer cause updates to V->P memory mappings and thus leads to
>>>       TLB misses and flushes (TLB flushes being expensive operations).
>>
>> This mapping only happens once at the open of the channel, so this cost becomes
>> unimportant for a long-running channel. The cost is far higher for HVM domains
>> that use PCI devices since the grant mapping causes an IOMMU flush.
> 
> So I take that you are not passing grant refs through the connection,
> unlike blkfront and blkback.
 
Not directly. All data is passed through the rings, which by default are sized at
1024 and 2048 bytes. Larger multi-page rings are supported (in powers of two), in
which case the initial shared page has a static list of grants provided by the
server which are all mapped by the client. Data transfer speeds are significantly
improved with larger rings, although this levels off when both ends are able to
avoid excessive context switches waiting for a ring to be filled or emptied.

> 
>> [followup from Stefano's replies]
>> I would not expect much difference even on a NUMA system, assuming each domU
>> is fully contained within a NUMA node: one of the two copies made by libvchan
>> will be confined to a single node, while the other copy will be cross-node.
>> With domUs not properly confined to nodes, the hypervisor might be able to do
>> better in cases where libvchan would have required two inter-node copies.
> 
> Right, I didn't realize that libvchan uses copies rather than grant refs
> to transfer the actual data.
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:19:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:19:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjkM-0001c0-O3; Wed, 30 May 2012 14:19:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1SZjkK-0001bu-P0
	for xen-devel@lists.xen.org; Wed, 30 May 2012 14:19:33 +0000
Received: from [85.158.138.51:15408] by server-12.bemta-3.messagelabs.com id
	23/0C-29860-37C26CF4; Wed, 30 May 2012 14:19:31 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338387570!23576160!1
X-Originating-IP: [63.239.67.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4024 invoked from network); 30 May 2012 14:19:30 -0000
Received: from emvm-gh1-uea09.nsa.gov (HELO nsa.gov) (63.239.67.10)
	by server-14.tower-174.messagelabs.com with SMTP;
	30 May 2012 14:19:30 -0000
X-TM-IMSS-Message-ID: <1cccbf4f00036665@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov
	([63.239.67.10]) with ESMTP (TREND IMSS SMTP Service 7.1) id
	1cccbf4f00036665 ; Wed, 30 May 2012 10:21:35 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q4UEJPIU018820; 
	Wed, 30 May 2012 10:19:26 -0400
Message-ID: <4FC62C6E.5020902@tycho.nsa.gov>
Date: Wed, 30 May 2012 10:19:26 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
	<alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:41 AM, Stefano Stabellini wrote:
> On Tue, 29 May 2012, Daniel De Graaf wrote:
>> On 05/24/2012 01:23 PM, Jean Guyader wrote:
>>> As I'm going through the code to clean-up XenClient's inter VM
>>> communication
>>> (V4V), I thought it would be a good idea to start a thread to talk about
>>> the
>>> fundamental differences between V4V and libvchan. I believe the two system
>>> are
>>> not clones of eachother and they serve different
>>> purposes.
>>>
>>>
>>> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
>>> about libvchan it coming from my reading of the code. If some of the facts
>>> are wrong it's only due to my ignorance about the subject.
>>>
>>
>> I'll try to fill in some of these points with my understanding of libvchan;
>> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
>> there.
>>
>>> 1. Why V4V?
>>>
>>> About the time when we started XenClient (3 year ago) we were looking for a
>>> lightweight inter VM communication scheme. We started working on a system
>>> based on netchannel2 at the time called V2V (VM to VM). The system
>>> was very similar to what libvchan is today, and we started to hit some
>>> roadblocks:
>>>
>>>     - The setup relied on a broker in dom0 to prepare the xenstore node
>>>       permissions when a guest wanted to create a new connection. The code
>>>       to do this setup was a single point of failure. If the
>>>       broker was down you could create any more connections.
>>
>> libvchan avoids this by allowing the application to determine the xenstore
>> path and adjusts permissions itself; the path /local/domain/N/data is
>> suitable for a libvchan server in domain N to create the nodes in question.
> 
> Let say that the frontend lives in domain A and that the backend lives
> in domain N.
> Usually the frontend has a node:
> 
> /local/domain/A/device/<devicename>/<number>/backend
> 
> that points to the backend, in this case:
> 
> /local/domain/N/backend/<devicename>/A/<number>
> 
> The backend is not allowed to write to the frontend path, so it cannot write
> its own path in the backend node. Clearly the frontend doesn't know that
> information so it cannot fill it up. So the toolstack (typically in
> dom0) helps with the initial setup writing down under the frontend path
> where is the backend.
> How does libvchan solve this issue?

Libvchan requires both endpoints to know the domain ID of the peer they are
communicating with - this could be communicated during domain build or through
a name service. The application then defines a path such as
"/local/domain/$server_domid/data/example-app/$client_domid" which is writable
by the server; the server creates nodes here that are readable by the client.

>>>     - Symmetric communications were a nightmare. Take the case where A is a
>>>       backend for B and B is a backend for A. If one of the domain crash the
>>>       other one couldn't be destroyed because it has some paged mapped from
>>>       the dead domain. This specific issue is probably fixed today.
>>
>> This is mostly taken care of by improvements in the hypervisor's handling of
>> grant mappings. If one domain holds grant mappings open, the domain whose
>> grants are held can't be fully destroyed, but if both domains are being
>> destroyed then cycles of grant mappings won't stop them from going away.
> 
> However under normal circumstances the domain holding the mappings (that
> I guess it would be the domain running the backend, correct?) would
> recognize that the other domain is gone and therefore unmap the grants
> and close the connection, right?
> I hope that if the frontend crashes and dies, it doesn't necessarily
> become a zombie because the backend holds some mappings.

The mapping between frontend/backend and vchan client/server may be backwards:
the server must be initialized first and provides the pages for the client to
map. It looks like you are considering the frontend to be the server.

The vchan client domain maps grants provided by the server. If the server's
domain crashes, it may become a zombie until the client application notices the
crash. This will happen if the client uses the vchan and gets an error when
sending an event notification (in this case, a well-behaved client will close the
vchan). If the client does not often send data on the vchan, it can use a watch on
the server's xenstore node and close the vchan when the node is deleted.

A client that does not notice the server's destruction will leave a zombie domain.
A system administrator can resolve this by killing the client process.

> 
>>>     - The PV connect/disconnect state-machine is poorly implemented.
>>>       There's no trivial mechanism to synchronize disconnecting/reconnecting
>>>       and dom0 must also allow the two domains to see parts of xenstore
>>>       belonging to the other domain in the process.
>>
>> No interaction from dom0 is required to allow two domUs to communicate using
>> xenstore (assuming the standard xenstored; more restrictive xenstored
>> daemons may add such restrictions, intended to be used in conjunction with XSM
>> policies preventing direct communication via event channels/grants). The
>> connection state machine is weak; an external mechanism (perhaps the standard
>> xenbus "state" entry) could be used to coordinate this better in the user of
>> libvchan.
> 
> I am curious to know what the "connection state machine" is in libvchan.

There are two bytes in the shared page which are set to \1 when the vchan is
connected and changed to \0 when one side is closed (either by libvchan_close or
by Linux if the process exits or crashes). The server has the option of ignoring
the close and allowing the client to reconnect, which is useful if the client
application is to be restarted. Since the rings remain intact, no data is lost
across a restart (although a crashing client may lose data it has already pulled
off the ring).

>>>     - Using the grant-ref model and having to map grant pages on each
>>>       transfer cause updates to V->P memory mappings and thus leads to
>>>       TLB misses and flushes (TLB flushes being expensive operations).
>>
>> This mapping only happens once at the open of the channel, so this cost becomes
>> unimportant for a long-running channel. The cost is far higher for HVM domains
>> that use PCI devices since the grant mapping causes an IOMMU flush.
> 
> So I take that you are not passing grant refs through the connection,
> unlike blkfront and blkback.
 
Not directly. All data is passed through the rings, which by default are sized at
1024 and 2048 bytes. Larger multi-page rings are supported (in powers of two), in
which case the initial shared page has a static list of grants provided by the
server which are all mapped by the client. Data transfer speeds are significantly
improved with larger rings, although this levels off when both ends are able to
avoid excessive context switches waiting for a ring to be filled or emptied.

> 
>> [followup from Stefano's replies]
>> I would not expect much difference even on a NUMA system, assuming each domU
>> is fully contained within a NUMA node: one of the two copies made by libvchan
>> will be confined to a single node, while the other copy will be cross-node.
>> With domUs not properly confined to nodes, the hypervisor might be able to do
>> better in cases where libvchan would have required two inter-node copies.
> 
> Right, I didn't realize that libvchan uses copies rather than grant refs
> to transfer the actual data.
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:23:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:23:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjo9-0001kf-Hz; Wed, 30 May 2012 14:23:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZjo8-0001kZ-EO
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:23:28 +0000
Received: from [85.158.139.83:34814] by server-8.bemta-5.messagelabs.com id
	72/E6-25689-F5D26CF4; Wed, 30 May 2012 14:23:27 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338387806!31491495!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31374 invoked from network); 30 May 2012 14:23:27 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:23:27 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 15:23:25 +0100
Message-Id: <4FC649790200007800086E51@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 15:23:21 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
In-Reply-To: <4FC62888.9010407@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 16:02, Andre Przywara <andre.przywara@amd.com> wrote:
> On 05/30/2012 03:33 PM, Jan Beulich wrote:
>> Further, I can't see how checking_wrmsrl() is being paravirtualized
>> any better than wrmsrl_amd_safe() - both have nothing but an
>> exception handling fixup attached to the wrmsr invocation. Care
>> to point out what actual crash it is that was seen?
> 
> AFAIK, the difference is between the "l" and the regs version for 
> rd/wrmsr. We have a patch already here to fix this. Will send it out 
> soon. Jacob, can you comment on this?

I see - the Xen code blindly overwrites pv_cpu_ops, despite not
having initialized all members. That's an obvious oversight of the
patch that introduced the _regs variants.

Plus having secondary instances of things like rdmsrl_amd_safe()
in asm/paravirt.h seems pretty strange an approach (which was
why initially I didn't spot how a crash could happen there) - only
the lowest level functions should get re-implemented here.

>> Finally, I would question whether re-enabling the topology
>> extensions under Xen shouldn't be skipped altogether, perhaps
>> even on Dom0 (as the hypervisor is controlling this MSR, but in
>> any case on DomU - the hypervisor won't allow (read: ignore,
>> not fault on) the write anyway (and will log a message for each
>> (v)CPU that attempts this).
> 
> This is probably right. Let me think about this.

I'll submit a respective hypervisor side patch soonish.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:23:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:23:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjo9-0001kf-Hz; Wed, 30 May 2012 14:23:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZjo8-0001kZ-EO
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:23:28 +0000
Received: from [85.158.139.83:34814] by server-8.bemta-5.messagelabs.com id
	72/E6-25689-F5D26CF4; Wed, 30 May 2012 14:23:27 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338387806!31491495!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31374 invoked from network); 30 May 2012 14:23:27 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:23:27 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 15:23:25 +0100
Message-Id: <4FC649790200007800086E51@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 15:23:21 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Andre Przywara" <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
In-Reply-To: <4FC62888.9010407@amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 16:02, Andre Przywara <andre.przywara@amd.com> wrote:
> On 05/30/2012 03:33 PM, Jan Beulich wrote:
>> Further, I can't see how checking_wrmsrl() is being paravirtualized
>> any better than wrmsrl_amd_safe() - both have nothing but an
>> exception handling fixup attached to the wrmsr invocation. Care
>> to point out what actual crash it is that was seen?
> 
> AFAIK, the difference is between the "l" and the regs version for 
> rd/wrmsr. We have a patch already here to fix this. Will send it out 
> soon. Jacob, can you comment on this?

I see - the Xen code blindly overwrites pv_cpu_ops, despite not
having initialized all members. That's an obvious oversight of the
patch that introduced the _regs variants.

Plus having secondary instances of things like rdmsrl_amd_safe()
in asm/paravirt.h seems pretty strange an approach (which was
why initially I didn't spot how a crash could happen there) - only
the lowest level functions should get re-implemented here.

>> Finally, I would question whether re-enabling the topology
>> extensions under Xen shouldn't be skipped altogether, perhaps
>> even on Dom0 (as the hypervisor is controlling this MSR, but in
>> any case on DomU - the hypervisor won't allow (read: ignore,
>> not fault on) the write anyway (and will log a message for each
>> (v)CPU that attempts this).
> 
> This is probably right. Let me think about this.

I'll submit a respective hypervisor side patch soonish.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:25:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:25:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjqG-0001rZ-2o; Wed, 30 May 2012 14:25:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZjqE-0001rO-GO
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:25:38 +0000
Received: from [85.158.139.83:57709] by server-1.bemta-5.messagelabs.com id
	A1/76-21549-1ED26CF4; Wed, 30 May 2012 14:25:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338387935!28460941!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27443 invoked from network); 30 May 2012 14:25:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:25:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEP3sQ007620
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:25:04 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEP38P013949
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:25:03 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEP28x013581; Wed, 30 May 2012 09:25:02 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:25:02 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id AA035402B8; Wed, 30 May 2012 10:18:15 -0400 (EDT)
Date: Wed, 30 May 2012 10:18:15 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120530141815.GA3207@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
	<CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 01:39:39PM +0200, William Dauchy wrote:
> On Fri, May 25, 2012 at 11:01 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > Not yet. Could you ping me in =A0week say please?
> =

> ping.

Pls try the attached patch.

>From e4c315c0c3d842712ae64ec95c099fd44e65291a Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Tue, 29 May 2012 21:38:22 -0400
Subject: [PATCH] x86/i386: Check PSE bit before using PAGE_KERNEL_LARGE.

During bootup we would unconditionally do this on non-NUMA machines:

setup_arch
  \-initmem_init
      \-x86_numa_init (with dummy_init as callback)
          \- init_alloc_remap
               \- set_pmd_pfn (with PAGE_PSE)

without checking to see if the CPU supports PSE. This
patch adds that and also allows the init_alloc_remap function
to properly work by falling back on PTEs.

This bug has been observed when running an i386 PV Xen
guest with CONFIG_NUMA built in - but it should be also
easily observed on other CPUs which do not expose the PSE support.

We would get this in the guest:

memblock_reserve: [0x0000002ac00000-0x0000002be00000] init_alloc_remap+0x19=
5/0x251
------------[ cut here ]------------
WARNING: at /home/konrad/ssd/linux/arch/x86/xen/multicalls.c:129 xen_mc_flu=
sh+0x160/0x1e0()
Modules linked in:
Pid: 0, comm: swapper Not tainted 3.4.0-08268-gc0b1dd2 #1
Call Trace:
 [<c107b62d>] warn_slowpath_common+0x6d/0xa0
 [<c10380a0>] ? xen_mc_flush+0x160/0x1e0
 [<c10380a0>] ? xen_mc_flush+0x160/0x1e0
 [<c107b67d>] warn_slowpath_null+0x1d/0x20
 [<c10380a0>] xen_mc_flush+0x160/0x1e0
 [<c103a46d>] xen_set_pmd_hyper+0xad/0x170
 [<c103896d>] ? pte_pfn_to_mfn+0xad/0xc0
 [<c1074b2e>] set_pmd_pfn+0x9e/0xf0
 [<c172290d>] init_alloc_remap+0x1e3/0x251
 [<c1722325>] x86_numa_init+0x340/0x65e
 [<c103c7fe>] ? __raw_callee_save_xen_restore_fl+0x6/0x8
 [<c172265f>] initmem_init+0xb/0xd6
 [<c1719428>] ? acpi_boot_table_init+0x10/0x7d
 [<c1712dd1>] setup_arch+0xb9c/0xc8a
 [<c103c7fe>] ? __raw_callee_save_xen_restore_fl+0x6/0x8
 [<c170c8fb>] start_kernel+0xbe/0x395
 [<c170c306>] i386_start_kernel+0xa9/0xb0
 [<c170f86c>] xen_start_kernel+0x632/0x63a
 [<c1409078>] ? tmem_objnode_alloc+0x28/0xa0
---[ end trace a7919e7f17c0a725 ]---
------------[ cut here ]------------

with the hypervisor telling us:
(XEN) mm.c:943:d0 Attempt to map superpage without allowsuperpage flag in h=
ypervisor

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/mm/pgtable_32.c |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c
index a69bcb8..32085ec 100644
--- a/arch/x86/mm/pgtable_32.c
+++ b/arch/x86/mm/pgtable_32.c
@@ -86,7 +86,34 @@ void set_pmd_pfn(unsigned long vaddr, unsigned long pfn,=
 pgprot_t flags)
 	}
 	pud =3D pud_offset(pgd, vaddr);
 	pmd =3D pmd_offset(pud, vaddr);
-	set_pmd(pmd, pfn_pmd(pfn, flags));
+
+	if (cpu_has_pse)
+		set_pmd(pmd, pfn_pmd(pfn, flags));
+	else {
+		pgprot_t new_flag =3D PAGE_KERNEL;
+		pte_t *pte;
+		int i;
+
+		/*
+		 * This is run _after_ initial memory mapped so the
+		 * PTE page are allocated - but we check it just in case.
+		 */
+		if (pmd_none(*pmd)) {
+			printk(KERN_WARNING "set_pmd_pfn: pmd_none\n");
+			return;
+		}
+
+		pte =3D (pte_t *)pmd_page_vaddr(*pmd);
+		for (i =3D 0; i < PTRS_PER_PTE; i++) {
+			if (pte_none(*pte)) {
+				printk(KERN_WARNING "set_pmd_pfn: pte_none\n");
+				return;
+			}
+			set_pte(pte, pfn_pte(pfn + i, new_flag));
+			pte++;
+		}
+	}
+
 	/*
 	 * It's enough to flush this one mapping.
 	 * (PGE mappings get flushed as well)
-- =

1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:25:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:25:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjqG-0001rZ-2o; Wed, 30 May 2012 14:25:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZjqE-0001rO-GO
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:25:38 +0000
Received: from [85.158.139.83:57709] by server-1.bemta-5.messagelabs.com id
	A1/76-21549-1ED26CF4; Wed, 30 May 2012 14:25:37 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338387935!28460941!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27443 invoked from network); 30 May 2012 14:25:36 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-4.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:25:36 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEP3sQ007620
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:25:04 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEP38P013949
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:25:03 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEP28x013581; Wed, 30 May 2012 09:25:02 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:25:02 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id AA035402B8; Wed, 30 May 2012 10:18:15 -0400 (EDT)
Date: Wed, 30 May 2012 10:18:15 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120530141815.GA3207@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
	<CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 01:39:39PM +0200, William Dauchy wrote:
> On Fri, May 25, 2012 at 11:01 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > Not yet. Could you ping me in =A0week say please?
> =

> ping.

Pls try the attached patch.

>From e4c315c0c3d842712ae64ec95c099fd44e65291a Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Tue, 29 May 2012 21:38:22 -0400
Subject: [PATCH] x86/i386: Check PSE bit before using PAGE_KERNEL_LARGE.

During bootup we would unconditionally do this on non-NUMA machines:

setup_arch
  \-initmem_init
      \-x86_numa_init (with dummy_init as callback)
          \- init_alloc_remap
               \- set_pmd_pfn (with PAGE_PSE)

without checking to see if the CPU supports PSE. This
patch adds that and also allows the init_alloc_remap function
to properly work by falling back on PTEs.

This bug has been observed when running an i386 PV Xen
guest with CONFIG_NUMA built in - but it should be also
easily observed on other CPUs which do not expose the PSE support.

We would get this in the guest:

memblock_reserve: [0x0000002ac00000-0x0000002be00000] init_alloc_remap+0x19=
5/0x251
------------[ cut here ]------------
WARNING: at /home/konrad/ssd/linux/arch/x86/xen/multicalls.c:129 xen_mc_flu=
sh+0x160/0x1e0()
Modules linked in:
Pid: 0, comm: swapper Not tainted 3.4.0-08268-gc0b1dd2 #1
Call Trace:
 [<c107b62d>] warn_slowpath_common+0x6d/0xa0
 [<c10380a0>] ? xen_mc_flush+0x160/0x1e0
 [<c10380a0>] ? xen_mc_flush+0x160/0x1e0
 [<c107b67d>] warn_slowpath_null+0x1d/0x20
 [<c10380a0>] xen_mc_flush+0x160/0x1e0
 [<c103a46d>] xen_set_pmd_hyper+0xad/0x170
 [<c103896d>] ? pte_pfn_to_mfn+0xad/0xc0
 [<c1074b2e>] set_pmd_pfn+0x9e/0xf0
 [<c172290d>] init_alloc_remap+0x1e3/0x251
 [<c1722325>] x86_numa_init+0x340/0x65e
 [<c103c7fe>] ? __raw_callee_save_xen_restore_fl+0x6/0x8
 [<c172265f>] initmem_init+0xb/0xd6
 [<c1719428>] ? acpi_boot_table_init+0x10/0x7d
 [<c1712dd1>] setup_arch+0xb9c/0xc8a
 [<c103c7fe>] ? __raw_callee_save_xen_restore_fl+0x6/0x8
 [<c170c8fb>] start_kernel+0xbe/0x395
 [<c170c306>] i386_start_kernel+0xa9/0xb0
 [<c170f86c>] xen_start_kernel+0x632/0x63a
 [<c1409078>] ? tmem_objnode_alloc+0x28/0xa0
---[ end trace a7919e7f17c0a725 ]---
------------[ cut here ]------------

with the hypervisor telling us:
(XEN) mm.c:943:d0 Attempt to map superpage without allowsuperpage flag in h=
ypervisor

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 arch/x86/mm/pgtable_32.c |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c
index a69bcb8..32085ec 100644
--- a/arch/x86/mm/pgtable_32.c
+++ b/arch/x86/mm/pgtable_32.c
@@ -86,7 +86,34 @@ void set_pmd_pfn(unsigned long vaddr, unsigned long pfn,=
 pgprot_t flags)
 	}
 	pud =3D pud_offset(pgd, vaddr);
 	pmd =3D pmd_offset(pud, vaddr);
-	set_pmd(pmd, pfn_pmd(pfn, flags));
+
+	if (cpu_has_pse)
+		set_pmd(pmd, pfn_pmd(pfn, flags));
+	else {
+		pgprot_t new_flag =3D PAGE_KERNEL;
+		pte_t *pte;
+		int i;
+
+		/*
+		 * This is run _after_ initial memory mapped so the
+		 * PTE page are allocated - but we check it just in case.
+		 */
+		if (pmd_none(*pmd)) {
+			printk(KERN_WARNING "set_pmd_pfn: pmd_none\n");
+			return;
+		}
+
+		pte =3D (pte_t *)pmd_page_vaddr(*pmd);
+		for (i =3D 0; i < PTRS_PER_PTE; i++) {
+			if (pte_none(*pte)) {
+				printk(KERN_WARNING "set_pmd_pfn: pte_none\n");
+				return;
+			}
+			set_pte(pte, pfn_pte(pfn + i, new_flag));
+			pte++;
+		}
+	}
+
 	/*
 	 * It's enough to flush this one mapping.
 	 * (PGE mappings get flushed as well)
-- =

1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:35:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:35:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjzl-0002QZ-TT; Wed, 30 May 2012 14:35:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZjzk-0002QT-Hc
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:35:28 +0000
Received: from [85.158.139.83:40046] by server-11.bemta-5.messagelabs.com id
	69/22-12711-F2036CF4; Wed, 30 May 2012 14:35:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338388521!23957239!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14767 invoked from network); 30 May 2012 14:35:23 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:35:23 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEZIYd024643
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:35:19 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEZHuW015453
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:35:18 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEZHla025496; Wed, 30 May 2012 09:35:17 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:35:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3972B402B7; Wed, 30 May 2012 10:28:30 -0400 (EDT)
Date: Wed, 30 May 2012 10:28:30 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Joanna Rutkowska <joanna@invisiblethingslab.com>
Message-ID: <20120530142830.GE3207@phenom.dumpdata.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC5F2EF.7000004@invisiblethingslab.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 12:14:07PM +0200, Joanna Rutkowska wrote:
> Hello,
> 
> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
> and have noticed that those kernel noticeably downgrade performance of
> (at least) Intel GPUs. This is easily noticeable even on such trivial
> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
> performance on 3.3 and 3.4 kernels is in stark contrast with what I see
> on 3.2.7 Dom0 kernel, where graphics works just great...
> 
> In order to make sure that this is not caused by power management set
> too strictly, I played with xenpm and made sure to set the following:

And are you building with CONFIG_INTEL_IOMMU=y?

> 1) xenpm set-scaling-governor performance
> 2) xenpm set-max-cstate 0
> 
> I have verified then that my processor: 1) keeps staying in P0 state
> (so, max frequency), and 2) keeps staying in C0 state.
> 
> Those setting didn't change anything regarding the poor graphics
> performance, though.
> 
> Any ideas what else I could test to find out the cause of this?
> 
> Thanks,
> joanna.
> 



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:35:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:35:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZjzl-0002QZ-TT; Wed, 30 May 2012 14:35:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZjzk-0002QT-Hc
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:35:28 +0000
Received: from [85.158.139.83:40046] by server-11.bemta-5.messagelabs.com id
	69/22-12711-F2036CF4; Wed, 30 May 2012 14:35:27 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338388521!23957239!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14767 invoked from network); 30 May 2012 14:35:23 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:35:23 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEZIYd024643
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:35:19 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEZHuW015453
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:35:18 GMT
Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEZHla025496; Wed, 30 May 2012 09:35:17 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:35:17 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 3972B402B7; Wed, 30 May 2012 10:28:30 -0400 (EDT)
Date: Wed, 30 May 2012 10:28:30 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Joanna Rutkowska <joanna@invisiblethingslab.com>
Message-ID: <20120530142830.GE3207@phenom.dumpdata.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC5F2EF.7000004@invisiblethingslab.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 12:14:07PM +0200, Joanna Rutkowska wrote:
> Hello,
> 
> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
> and have noticed that those kernel noticeably downgrade performance of
> (at least) Intel GPUs. This is easily noticeable even on such trivial
> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
> performance on 3.3 and 3.4 kernels is in stark contrast with what I see
> on 3.2.7 Dom0 kernel, where graphics works just great...
> 
> In order to make sure that this is not caused by power management set
> too strictly, I played with xenpm and made sure to set the following:

And are you building with CONFIG_INTEL_IOMMU=y?

> 1) xenpm set-scaling-governor performance
> 2) xenpm set-max-cstate 0
> 
> I have verified then that my processor: 1) keeps staying in P0 state
> (so, max frequency), and 2) keeps staying in C0 state.
> 
> Those setting didn't change anything regarding the poor graphics
> performance, though.
> 
> Any ideas what else I could test to find out the cause of this?
> 
> Thanks,
> joanna.
> 



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:41:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:41:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZk5D-0002dF-M5; Wed, 30 May 2012 14:41:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZk5C-0002d7-Ij
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:41:06 +0000
Received: from [85.158.138.51:62316] by server-7.bemta-3.messagelabs.com id
	78/75-22601-18136CF4; Wed, 30 May 2012 14:41:05 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338388864!21036404!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14108 invoked from network); 30 May 2012 14:41:04 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-174.messagelabs.com with SMTP;
	30 May 2012 14:41:04 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 07:40:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105870046"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 30 May 2012 07:40:59 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 07:40:58 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 22:40:57 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPnI5hfGWqZHickegym0+xqgRxQ==
Date: Wed, 30 May 2012 14:40:56 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC0C8@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
	<20120529170604.GJ29157@aftab.osrc.amd.com>
In-Reply-To: <20120529170604.GJ29157@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Tue, May 29, 2012 at 04:40:19PM +0000, Liu, Jinsong wrote:
>> From calltrace seems it's related to device_initcall. Borislav, would
>> you please send me your .config? I can try to reproduce it and debug
>> it.
> 
> Attached. It is xen-less :).
> 
>> (BTW, your kernel pull from
>> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git? I
>> want to keep same baseline with you)
> 
> Actually, it is
> 
>  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
> 
> but it should be the same thing (symlinked or so).
> 
> Head is v3.4-8261-ga01ee165a132.
> 
>> Attached is the .config at my environment which boot linux3.4.0-rc1+
>> as dom0 at Xen platform. Under this environment & config it's OK.
> 
> Why does it say "linux3.4.0-rc1+"? This is old. Or do you mean 3.4 +
> patches? See head commit id above.
> 
> And you need to test baremetal too with your patch, not only as a dom0
> kernel.
> 
> Thanks.

I pulled latest kernel and patched my patch, but cannot reproduce the bug (it works OK under both baremetal and xen platform).
Anyway, it's not important now, I have found root cause, the patch will only affect amd mce logic, I will explain in next email.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:41:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:41:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZk5D-0002dF-M5; Wed, 30 May 2012 14:41:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZk5C-0002d7-Ij
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:41:06 +0000
Received: from [85.158.138.51:62316] by server-7.bemta-3.messagelabs.com id
	78/75-22601-18136CF4; Wed, 30 May 2012 14:41:05 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338388864!21036404!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14108 invoked from network); 30 May 2012 14:41:04 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-174.messagelabs.com with SMTP;
	30 May 2012 14:41:04 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 07:40:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="105870046"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 30 May 2012 07:40:59 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 07:40:58 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 22:40:57 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPnI5hfGWqZHickegym0+xqgRxQ==
Date: Wed, 30 May 2012 14:40:56 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC0C8@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351F94AA@SHSMSX101.ccr.corp.intel.com>
	<20120529170604.GJ29157@aftab.osrc.amd.com>
In-Reply-To: <20120529170604.GJ29157@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Tue, May 29, 2012 at 04:40:19PM +0000, Liu, Jinsong wrote:
>> From calltrace seems it's related to device_initcall. Borislav, would
>> you please send me your .config? I can try to reproduce it and debug
>> it.
> 
> Attached. It is xen-less :).
> 
>> (BTW, your kernel pull from
>> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git? I
>> want to keep same baseline with you)
> 
> Actually, it is
> 
>  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
> 
> but it should be the same thing (symlinked or so).
> 
> Head is v3.4-8261-ga01ee165a132.
> 
>> Attached is the .config at my environment which boot linux3.4.0-rc1+
>> as dom0 at Xen platform. Under this environment & config it's OK.
> 
> Why does it say "linux3.4.0-rc1+"? This is old. Or do you mean 3.4 +
> patches? See head commit id above.
> 
> And you need to test baremetal too with your patch, not only as a dom0
> kernel.
> 
> Thanks.

I pulled latest kernel and patched my patch, but cannot reproduce the bug (it works OK under both baremetal and xen platform).
Anyway, it's not important now, I have found root cause, the patch will only affect amd mce logic, I will explain in next email.

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:43:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:43:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZk7T-0002jq-6t; Wed, 30 May 2012 14:43:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZk7R-0002jk-3a
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:43:25 +0000
Received: from [85.158.138.51:26561] by server-10.bemta-3.messagelabs.com id
	85/65-12071-C0236CF4; Wed, 30 May 2012 14:43:24 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338389001!29960428!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5946 invoked from network); 30 May 2012 14:43:23 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:43:23 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEh1qZ014664
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 07:43:02 -0700
Message-ID: <4FC631F0.9080109@zytor.com>
Date: Wed, 30 May 2012 07:42:56 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
In-Reply-To: <4FC649790200007800086E51@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:23 AM, Jan Beulich wrote:
> 
> I see - the Xen code blindly overwrites pv_cpu_ops, despite not
> having initialized all members. That's an obvious oversight of the
> patch that introduced the _regs variants.
> 
> Plus having secondary instances of things like rdmsrl_amd_safe()
> in asm/paravirt.h seems pretty strange an approach (which was
> why initially I didn't spot how a crash could happen there) - only
> the lowest level functions should get re-implemented here.
> 

This kinds of things are part of why Xen makes me want to cry regularly.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:43:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:43:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZk7T-0002jq-6t; Wed, 30 May 2012 14:43:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZk7R-0002jk-3a
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:43:25 +0000
Received: from [85.158.138.51:26561] by server-10.bemta-3.messagelabs.com id
	85/65-12071-C0236CF4; Wed, 30 May 2012 14:43:24 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338389001!29960428!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5946 invoked from network); 30 May 2012 14:43:23 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:43:23 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEh1qZ014664
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 07:43:02 -0700
Message-ID: <4FC631F0.9080109@zytor.com>
Date: Wed, 30 May 2012 07:42:56 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
In-Reply-To: <4FC649790200007800086E51@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:23 AM, Jan Beulich wrote:
> 
> I see - the Xen code blindly overwrites pv_cpu_ops, despite not
> having initialized all members. That's an obvious oversight of the
> patch that introduced the _regs variants.
> 
> Plus having secondary instances of things like rdmsrl_amd_safe()
> in asm/paravirt.h seems pretty strange an approach (which was
> why initially I didn't spot how a crash could happen there) - only
> the lowest level functions should get re-implemented here.
> 

This kinds of things are part of why Xen makes me want to cry regularly.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:44:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:44:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZk7y-0002mC-KE; Wed, 30 May 2012 14:43:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZk7x-0002lz-Aq
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:43:57 +0000
Received: from [85.158.143.35:44886] by server-1.bemta-4.messagelabs.com id
	7E/47-27869-C2236CF4; Wed, 30 May 2012 14:43:56 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338389034!6279828!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7579 invoked from network); 30 May 2012 14:43:55 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:43:55 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEgWou014630
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 07:42:33 -0700
Message-ID: <4FC631D3.9080907@zytor.com>
Date: Wed, 30 May 2012 07:42:27 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Andre Przywara <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
X-Enigmail-Version: 1.4.1
Cc: stable@vger.kernel.org.#.3.4+, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 06:10 AM, Andre Przywara wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.

That is not what the *msr*_amd*() functions do.

NAK.  This is a totally bogus patch.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:44:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:44:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZk7y-0002mC-KE; Wed, 30 May 2012 14:43:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZk7x-0002lz-Aq
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:43:57 +0000
Received: from [85.158.143.35:44886] by server-1.bemta-4.messagelabs.com id
	7E/47-27869-C2236CF4; Wed, 30 May 2012 14:43:56 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338389034!6279828!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7579 invoked from network); 30 May 2012 14:43:55 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:43:55 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEgWou014630
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 07:42:33 -0700
Message-ID: <4FC631D3.9080907@zytor.com>
Date: Wed, 30 May 2012 07:42:27 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Andre Przywara <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
X-Enigmail-Version: 1.4.1
Cc: stable@vger.kernel.org.#.3.4+, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 06:10 AM, Andre Przywara wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.

That is not what the *msr*_amd*() functions do.

NAK.  This is a totally bogus patch.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:47:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkAq-00030E-6u; Wed, 30 May 2012 14:46:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkAo-000300-AN
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:46:54 +0000
Received: from [193.109.254.147:3733] by server-1.bemta-14.messagelabs.com id
	2B/5A-07411-DD236CF4; Wed, 30 May 2012 14:46:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338389209!4081798!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2MjQyNg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24840 invoked from network); 30 May 2012 14:46:51 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:46:51 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEkQVN019899
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:46:27 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEkQZn006693
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:46:26 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEkP1A025769; Wed, 30 May 2012 09:46:25 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:46:25 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1C905402B7; Wed, 30 May 2012 10:39:38 -0400 (EDT)
Date: Wed, 30 May 2012 10:39:38 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120530143937.GF3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.
> This fixes a crash when using the kernel as a Xen Dom0 on affected
> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> yet (this will be fixed in another patch).

So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
the pv_cpu_ops - would this patch even be neccessary?

> 
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # 3.4+
> ---
>  arch/x86/kernel/cpu/amd.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index 146bb62..80ccd99 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
>  	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
>  		u64 val;
>  
> -		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
> +		if (!rdmsrl_safe(0xc0011005, &val)) {
>  			val |= 1ULL << 54;
> -			wrmsrl_amd_safe(0xc0011005, val);
> +			checking_wrmsrl(0xc0011005, val);
>  			rdmsrl(0xc0011005, val);
>  			if (val & (1ULL << 54)) {
>  				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
> -- 
> 1.7.4.4
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:47:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkAq-00030E-6u; Wed, 30 May 2012 14:46:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkAo-000300-AN
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:46:54 +0000
Received: from [193.109.254.147:3733] by server-1.bemta-14.messagelabs.com id
	2B/5A-07411-DD236CF4; Wed, 30 May 2012 14:46:53 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338389209!4081798!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2MjQyNg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24840 invoked from network); 30 May 2012 14:46:51 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:46:51 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEkQVN019899
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:46:27 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEkQZn006693
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:46:26 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEkP1A025769; Wed, 30 May 2012 09:46:25 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:46:25 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 1C905402B7; Wed, 30 May 2012 10:39:38 -0400 (EDT)
Date: Wed, 30 May 2012 10:39:38 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120530143937.GF3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.
> This fixes a crash when using the kernel as a Xen Dom0 on affected
> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> yet (this will be fixed in another patch).

So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
the pv_cpu_ops - would this patch even be neccessary?

> 
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # 3.4+
> ---
>  arch/x86/kernel/cpu/amd.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index 146bb62..80ccd99 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
>  	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
>  		u64 val;
>  
> -		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
> +		if (!rdmsrl_safe(0xc0011005, &val)) {
>  			val |= 1ULL << 54;
> -			wrmsrl_amd_safe(0xc0011005, val);
> +			checking_wrmsrl(0xc0011005, val);
>  			rdmsrl(0xc0011005, val);
>  			if (val & (1ULL << 54)) {
>  				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
> -- 
> 1.7.4.4
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:49:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkD2-0003Bs-Tb; Wed, 30 May 2012 14:49:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Jacob.Shin@amd.com>) id 1SZkD1-0003Bl-Cr
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:49:11 +0000
Received: from [85.158.138.51:59028] by server-10.bemta-3.messagelabs.com id
	78/45-12071-66336CF4; Wed, 30 May 2012 14:49:10 +0000
X-Env-Sender: Jacob.Shin@amd.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338389348!29830326!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8956 invoked from network); 30 May 2012 14:49:09 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-16.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 14:49:09 -0000
Received: from mail190-ch1-R.bigfish.com (10.43.68.230) by
	CH1EHSOBE007.bigfish.com (10.43.70.57) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:48:33 +0000
Received: from mail190-ch1 (localhost [127.0.0.1])	by
	mail190-ch1-R.bigfish.com (Postfix) with ESMTP id 7D1C4360306;
	Wed, 30 May 2012 14:48:33 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I148cI1432N98dKzz1202hzz8275bh8275dhz2dh668h839h944hd25hd2bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail190-ch1 (localhost.localdomain [127.0.0.1]) by mail190-ch1
	(MessageSwitch) id 1338389311164684_24432;
	Wed, 30 May 2012 14:48:31 +0000 (UTC)
Received: from CH1EHSMHS004.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.245])	by mail190-ch1.bigfish.com (Postfix) with ESMTP id
	146211A0150;	Wed, 30 May 2012 14:48:31 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS004.bigfish.com (10.43.70.4) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:48:30 +0000
X-WSS-ID: 0M4UBTH-02-709-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2F348C8148;	Wed, 30 May 2012 09:48:53 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 09:49:05 -0500
Received: from jshin-Toonie (10.236.48.193) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 30 May 2012 09:48:52 -0500
Date: Wed, 30 May 2012 09:48:51 -0500
From: Jacob Shin <jacob.shin@amd.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120530144851.GA12184@jshin-Toonie>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC62888.9010407@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-OriginatorOrg: amd.com
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:02:48PM +0200, Andre Przywara wrote:
> On 05/30/2012 03:33 PM, Jan Beulich wrote:
> >>>>On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
> >>Because we are behind a family check before tweaking the topology
> >>bit, we can use the standard rd/wrmsr variants for the CPUID feature
> >>register.
> >>This fixes a crash when using the kernel as a Xen Dom0 on affected
> >>Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> >>yet (this will be fixed in another patch).
> >
> >I'm not following: If the AMD variants (putting a special value into
> >%edi) can be freely replaced by the non-AMD variants, why did
> >the AMD special ones get used in the first place?
> 
> Older CPUs (K8) needed the AMD variants, starting with family 10h we
> can use the normal versions.
> 
> >Further, I can't see how checking_wrmsrl() is being paravirtualized
> >any better than wrmsrl_amd_safe() - both have nothing but an
> >exception handling fixup attached to the wrmsr invocation. Care
> >to point out what actual crash it is that was seen?
> 
> AFAIK, the difference is between the "l" and the regs version for
> rd/wrmsr. We have a patch already here to fix this. Will send it out
> soon. Jacob, can you comment on this?

Right, the checking_wrmsrl turns into wrmsr_safe which is paravirtualized
but the rdmsrl_amd_safe which turns into rdmsr_regs is not paravirtualized
by enlighten.

> 
> The crash dump:
> 
> [    1.601021] ------------[ cut here ]------------
> [    1.601025] kernel BUG at
> /buildrepos/linux-2.6-stable/arch/x86/include/asm/paravirt.h:133!
> [    1.601031] invalid opcode: 0000 [#1] SMP
> [    1.601038] CPU 0
> [    1.601041] Modules linked in:
> [    1.601047]
> [    1.601050] Pid: 0, comm: swapper/0 Not tainted 3.4.0 #1 AMD
> Virgo Platform/Annapurna
> [    1.601061] RIP: e030:[<ffffffff8169b4fe>]  [<ffffffff8169b4fe>]
> init_amd+0x21d/0x603
> [    1.601072] RSP: e02b:ffffffff81c01df8  EFLAGS: 00010246
> [    1.601076] RAX: 0000000000000000 RBX: ffffffff81ca7500 RCX:
> 0000000000000000
> [    1.601081] RDX: 0000000000000020 RSI: 000000000000c000 RDI:
> ffffffff81c01e78
> [    1.601086] RBP: ffffffff81c01ea8 R08: 0000000000004003 R09:
> 00000000ffffffff
> [    1.601090] R10: 0000000000000000 R11: 00000000ffffffff R12:
> ffffffff81ca7574
> [    1.601095] R13: ffffffff81ca7514 R14: ffffffff81ca754c R15:
> ffffffff81ca756c
> [    1.601103] FS:  0000000000000000(0000) GS:ffff8801ce600000(0000)
> knlGS:0000000000000000
> [    1.601108] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
> [    1.601112] CR2: 0000000000000000 CR3: 0000000001c0c000 CR4:
> 0000000000040660
> [    1.601117] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> [    1.601122] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
> 0000000000000400
> [    1.601127] Process swapper/0 (pid: 0, threadinfo
> ffffffff81c00000, task ffffffff81c14020)
> [    1.601131] Stack:
> [    1.601134]  ffffffff81c01ea8 ffffffff8169a7d8 0000001600000017
> 0000000000000000
> [    1.601146]  ffff8801c1c3ac00 ffff8801c1c002d0 ffffffff81c01e48
> ffffffff81140118
> [    1.601157]  ffffffff811415cc ffff8801c1c04220 ffff8801c1c02480
> 00000000000000d0
> [    1.601169] Call Trace:
> [    1.601175]  [<ffffffff8169a7d8>] ? get_cpu_cap+0x1f2/0x201
> [    1.601183]  [<ffffffff81140118>] ? init_kmem_cache_cpus+0x3e/0x4d
> [    1.601189]  [<ffffffff811415cc>] ? sysfs_slab_alias+0x60/0x8d
> [    1.601195]  [<ffffffff8169aa3d>] identify_cpu+0x256/0x34d
> [    1.601201]  [<ffffffff81141649>] ? kmem_cache_alloc+0x50/0xe4
> [    1.601209]  [<ffffffff81cd1c51>] identify_boot_cpu+0x10/0x3c
> [    1.601216]  [<ffffffff81cd2052>] check_bugs+0x9/0x2d
> [    1.601222]  [<ffffffff81cc7e08>] start_kernel+0x445/0x461
> [    1.601227]  [<ffffffff81cc77d6>] ? kernel_init+0x1d8/0x1d8
> [    1.601233]  [<ffffffff81cc72cf>] x86_64_start_reservations+0xba/0xc1
> [    1.601240]  [<ffffffff81041797>] ? xen_setup_runstate_info+0x2c/0x36
> [    1.601247]  [<ffffffff81ccbdc4>] xen_start_kernel+0x58b/0x592
> [    1.601251] Code: 0f 85 d3 00 00 00 31 c0 48 83 3d cd 5c 58 00 00
> 48 8d 7d b0 b9 08 00 00 00 f3
> ab c7 45 b4 05 10 01 c0 c7 45 cc 3a 20 5a 9c 75 04 <0f> 0b eb fe 4c
> 8d 75 b0 4c 89 f7 ff 14 25 b0 11
> c2 81 85 c0 8b
> [    1.601374] RIP  [<ffffffff8169b4fe>] init_amd+0x21d/0x603
> [    1.601381]  RSP <ffffffff81c01df8>
> [    1.601391] ---[ end trace a7919e7f17c0a725 ]---
> [    1.601397] Kernel panic - not syncing: Attempted to kill the idle task!
> 
> >Finally, I would question whether re-enabling the topology
> >extensions under Xen shouldn't be skipped altogether, perhaps
> >even on Dom0 (as the hypervisor is controlling this MSR, but in
> >any case on DomU - the hypervisor won't allow (read: ignore,
> >not fault on) the write anyway (and will log a message for each
> >(v)CPU that attempts this).
> 
> This is probably right. Let me think about this.
> 
> Thanks for picking this up.
> 
> Regards,
> Andre.
> 
> >
> >>Signed-off-by: Andre Przywara<andre.przywara@amd.com>
> >>Cc: stable@vger.kernel.org # 3.4+
> >>---
> >>  arch/x86/kernel/cpu/amd.c |    4 ++--
> >>  1 files changed, 2 insertions(+), 2 deletions(-)
> >>
> >>diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> >>index 146bb62..80ccd99 100644
> >>--- a/arch/x86/kernel/cpu/amd.c
> >>+++ b/arch/x86/kernel/cpu/amd.c
> >>@@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
> >>  	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
> >>  		u64 val;
> >>
> >>-		if (!rdmsrl_amd_safe(0xc0011005,&val)) {
> >>+		if (!rdmsrl_safe(0xc0011005,&val)) {
> >>  			val |= 1ULL<<  54;
> >>-			wrmsrl_amd_safe(0xc0011005, val);
> >>+			checking_wrmsrl(0xc0011005, val);
> >>  			rdmsrl(0xc0011005, val);
> >>  			if (val&  (1ULL<<  54)) {
> >>  				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
> >
> >
> >
> 
> 
> -- 
> Andre Przywara
> AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:49:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkD2-0003Bs-Tb; Wed, 30 May 2012 14:49:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Jacob.Shin@amd.com>) id 1SZkD1-0003Bl-Cr
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:49:11 +0000
Received: from [85.158.138.51:59028] by server-10.bemta-3.messagelabs.com id
	78/45-12071-66336CF4; Wed, 30 May 2012 14:49:10 +0000
X-Env-Sender: Jacob.Shin@amd.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338389348!29830326!1
X-Originating-IP: [216.32.181.183]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8956 invoked from network); 30 May 2012 14:49:09 -0000
Received: from ch1ehsobe003.messaging.microsoft.com (HELO
	ch1outboundpool.messaging.microsoft.com) (216.32.181.183)
	by server-16.tower-174.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 14:49:09 -0000
Received: from mail190-ch1-R.bigfish.com (10.43.68.230) by
	CH1EHSOBE007.bigfish.com (10.43.70.57) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:48:33 +0000
Received: from mail190-ch1 (localhost [127.0.0.1])	by
	mail190-ch1-R.bigfish.com (Postfix) with ESMTP id 7D1C4360306;
	Wed, 30 May 2012 14:48:33 +0000 (UTC)
X-SpamScore: -12
X-BigFish: VPS-12(zzbb2dI9371I148cI1432N98dKzz1202hzz8275bh8275dhz2dh668h839h944hd25hd2bhf0ah)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
Received: from mail190-ch1 (localhost.localdomain [127.0.0.1]) by mail190-ch1
	(MessageSwitch) id 1338389311164684_24432;
	Wed, 30 May 2012 14:48:31 +0000 (UTC)
Received: from CH1EHSMHS004.bigfish.com (snatpool1.int.messaging.microsoft.com
	[10.43.68.245])	by mail190-ch1.bigfish.com (Postfix) with ESMTP id
	146211A0150;	Wed, 30 May 2012 14:48:31 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	CH1EHSMHS004.bigfish.com (10.43.70.4) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 14:48:30 +0000
X-WSS-ID: 0M4UBTH-02-709-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 2F348C8148;	Wed, 30 May 2012 09:48:53 -0500 (CDT)
Received: from sausexhtp02.amd.com (163.181.3.152) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 09:49:05 -0500
Received: from jshin-Toonie (10.236.48.193) by sausexhtp02.amd.com
	(163.181.3.152) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 30 May 2012 09:48:52 -0500
Date: Wed, 30 May 2012 09:48:51 -0500
From: Jacob Shin <jacob.shin@amd.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120530144851.GA12184@jshin-Toonie>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC62888.9010407@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-OriginatorOrg: amd.com
Cc: jeremy@goop.org, xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:02:48PM +0200, Andre Przywara wrote:
> On 05/30/2012 03:33 PM, Jan Beulich wrote:
> >>>>On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
> >>Because we are behind a family check before tweaking the topology
> >>bit, we can use the standard rd/wrmsr variants for the CPUID feature
> >>register.
> >>This fixes a crash when using the kernel as a Xen Dom0 on affected
> >>Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> >>yet (this will be fixed in another patch).
> >
> >I'm not following: If the AMD variants (putting a special value into
> >%edi) can be freely replaced by the non-AMD variants, why did
> >the AMD special ones get used in the first place?
> 
> Older CPUs (K8) needed the AMD variants, starting with family 10h we
> can use the normal versions.
> 
> >Further, I can't see how checking_wrmsrl() is being paravirtualized
> >any better than wrmsrl_amd_safe() - both have nothing but an
> >exception handling fixup attached to the wrmsr invocation. Care
> >to point out what actual crash it is that was seen?
> 
> AFAIK, the difference is between the "l" and the regs version for
> rd/wrmsr. We have a patch already here to fix this. Will send it out
> soon. Jacob, can you comment on this?

Right, the checking_wrmsrl turns into wrmsr_safe which is paravirtualized
but the rdmsrl_amd_safe which turns into rdmsr_regs is not paravirtualized
by enlighten.

> 
> The crash dump:
> 
> [    1.601021] ------------[ cut here ]------------
> [    1.601025] kernel BUG at
> /buildrepos/linux-2.6-stable/arch/x86/include/asm/paravirt.h:133!
> [    1.601031] invalid opcode: 0000 [#1] SMP
> [    1.601038] CPU 0
> [    1.601041] Modules linked in:
> [    1.601047]
> [    1.601050] Pid: 0, comm: swapper/0 Not tainted 3.4.0 #1 AMD
> Virgo Platform/Annapurna
> [    1.601061] RIP: e030:[<ffffffff8169b4fe>]  [<ffffffff8169b4fe>]
> init_amd+0x21d/0x603
> [    1.601072] RSP: e02b:ffffffff81c01df8  EFLAGS: 00010246
> [    1.601076] RAX: 0000000000000000 RBX: ffffffff81ca7500 RCX:
> 0000000000000000
> [    1.601081] RDX: 0000000000000020 RSI: 000000000000c000 RDI:
> ffffffff81c01e78
> [    1.601086] RBP: ffffffff81c01ea8 R08: 0000000000004003 R09:
> 00000000ffffffff
> [    1.601090] R10: 0000000000000000 R11: 00000000ffffffff R12:
> ffffffff81ca7574
> [    1.601095] R13: ffffffff81ca7514 R14: ffffffff81ca754c R15:
> ffffffff81ca756c
> [    1.601103] FS:  0000000000000000(0000) GS:ffff8801ce600000(0000)
> knlGS:0000000000000000
> [    1.601108] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
> [    1.601112] CR2: 0000000000000000 CR3: 0000000001c0c000 CR4:
> 0000000000040660
> [    1.601117] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> [    1.601122] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
> 0000000000000400
> [    1.601127] Process swapper/0 (pid: 0, threadinfo
> ffffffff81c00000, task ffffffff81c14020)
> [    1.601131] Stack:
> [    1.601134]  ffffffff81c01ea8 ffffffff8169a7d8 0000001600000017
> 0000000000000000
> [    1.601146]  ffff8801c1c3ac00 ffff8801c1c002d0 ffffffff81c01e48
> ffffffff81140118
> [    1.601157]  ffffffff811415cc ffff8801c1c04220 ffff8801c1c02480
> 00000000000000d0
> [    1.601169] Call Trace:
> [    1.601175]  [<ffffffff8169a7d8>] ? get_cpu_cap+0x1f2/0x201
> [    1.601183]  [<ffffffff81140118>] ? init_kmem_cache_cpus+0x3e/0x4d
> [    1.601189]  [<ffffffff811415cc>] ? sysfs_slab_alias+0x60/0x8d
> [    1.601195]  [<ffffffff8169aa3d>] identify_cpu+0x256/0x34d
> [    1.601201]  [<ffffffff81141649>] ? kmem_cache_alloc+0x50/0xe4
> [    1.601209]  [<ffffffff81cd1c51>] identify_boot_cpu+0x10/0x3c
> [    1.601216]  [<ffffffff81cd2052>] check_bugs+0x9/0x2d
> [    1.601222]  [<ffffffff81cc7e08>] start_kernel+0x445/0x461
> [    1.601227]  [<ffffffff81cc77d6>] ? kernel_init+0x1d8/0x1d8
> [    1.601233]  [<ffffffff81cc72cf>] x86_64_start_reservations+0xba/0xc1
> [    1.601240]  [<ffffffff81041797>] ? xen_setup_runstate_info+0x2c/0x36
> [    1.601247]  [<ffffffff81ccbdc4>] xen_start_kernel+0x58b/0x592
> [    1.601251] Code: 0f 85 d3 00 00 00 31 c0 48 83 3d cd 5c 58 00 00
> 48 8d 7d b0 b9 08 00 00 00 f3
> ab c7 45 b4 05 10 01 c0 c7 45 cc 3a 20 5a 9c 75 04 <0f> 0b eb fe 4c
> 8d 75 b0 4c 89 f7 ff 14 25 b0 11
> c2 81 85 c0 8b
> [    1.601374] RIP  [<ffffffff8169b4fe>] init_amd+0x21d/0x603
> [    1.601381]  RSP <ffffffff81c01df8>
> [    1.601391] ---[ end trace a7919e7f17c0a725 ]---
> [    1.601397] Kernel panic - not syncing: Attempted to kill the idle task!
> 
> >Finally, I would question whether re-enabling the topology
> >extensions under Xen shouldn't be skipped altogether, perhaps
> >even on Dom0 (as the hypervisor is controlling this MSR, but in
> >any case on DomU - the hypervisor won't allow (read: ignore,
> >not fault on) the write anyway (and will log a message for each
> >(v)CPU that attempts this).
> 
> This is probably right. Let me think about this.
> 
> Thanks for picking this up.
> 
> Regards,
> Andre.
> 
> >
> >>Signed-off-by: Andre Przywara<andre.przywara@amd.com>
> >>Cc: stable@vger.kernel.org # 3.4+
> >>---
> >>  arch/x86/kernel/cpu/amd.c |    4 ++--
> >>  1 files changed, 2 insertions(+), 2 deletions(-)
> >>
> >>diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> >>index 146bb62..80ccd99 100644
> >>--- a/arch/x86/kernel/cpu/amd.c
> >>+++ b/arch/x86/kernel/cpu/amd.c
> >>@@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
> >>  	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
> >>  		u64 val;
> >>
> >>-		if (!rdmsrl_amd_safe(0xc0011005,&val)) {
> >>+		if (!rdmsrl_safe(0xc0011005,&val)) {
> >>  			val |= 1ULL<<  54;
> >>-			wrmsrl_amd_safe(0xc0011005, val);
> >>+			checking_wrmsrl(0xc0011005, val);
> >>  			rdmsrl(0xc0011005, val);
> >>  			if (val&  (1ULL<<  54)) {
> >>  				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
> >
> >
> >
> 
> 
> -- 
> Andre Przywara
> AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:50:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:50:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkEO-0003IW-DI; Wed, 30 May 2012 14:50:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkEN-0003II-72
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:50:35 +0000
Received: from [193.109.254.147:48867] by server-5.bemta-14.messagelabs.com id
	BD/01-06171-AB336CF4; Wed, 30 May 2012 14:50:34 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338389430!6871904!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28903 invoked from network); 30 May 2012 14:50:31 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:50:31 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEoKVQ017135
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 07:50:21 -0700
Message-ID: <4FC633A7.1050406@zytor.com>
Date: Wed, 30 May 2012 07:50:15 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
In-Reply-To: <20120530143937.GF3207@phenom.dumpdata.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:39 AM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
>> Because we are behind a family check before tweaking the topology
>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>> register.
>> This fixes a crash when using the kernel as a Xen Dom0 on affected
>> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
>> yet (this will be fixed in another patch).
> 
> So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
> the pv_cpu_ops - would this patch even be neccessary?
> 

That is still bogus;  a better thing would be to implement the _regs
interface.  Even better would be to trap and emulate rdmsr/wrmsr!

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:50:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:50:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkEO-0003IW-DI; Wed, 30 May 2012 14:50:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkEN-0003II-72
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:50:35 +0000
Received: from [193.109.254.147:48867] by server-5.bemta-14.messagelabs.com id
	BD/01-06171-AB336CF4; Wed, 30 May 2012 14:50:34 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338389430!6871904!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28903 invoked from network); 30 May 2012 14:50:31 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:50:31 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEoKVQ017135
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 07:50:21 -0700
Message-ID: <4FC633A7.1050406@zytor.com>
Date: Wed, 30 May 2012 07:50:15 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
In-Reply-To: <20120530143937.GF3207@phenom.dumpdata.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:39 AM, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
>> Because we are behind a family check before tweaking the topology
>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>> register.
>> This fixes a crash when using the kernel as a Xen Dom0 on affected
>> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
>> yet (this will be fixed in another patch).
> 
> So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
> the pv_cpu_ops - would this patch even be neccessary?
> 

That is still bogus;  a better thing would be to implement the _regs
interface.  Even better would be to trap and emulate rdmsr/wrmsr!

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:55:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkJF-0003YM-6E; Wed, 30 May 2012 14:55:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkJD-0003YH-N7
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:55:36 +0000
Received: from [85.158.143.99:45567] by server-3.bemta-4.messagelabs.com id
	61/BD-04252-7E436CF4; Wed, 30 May 2012 14:55:35 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338389725!23008687!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13704 invoked from network); 30 May 2012 14:55:34 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-11.tower-216.messagelabs.com with SMTP;
	30 May 2012 14:55:34 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	B598E1D99AE; Wed, 30 May 2012 16:55:24 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338389724; bh=MWZ0cj2xKA2nhGNDuToHTP/EtaRbmp50KDMz62flRk8=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=rAzC1JXN0XDPHzzZlB+XVnuYFMG70ev/BMOkw3
	UA7WQQlCFT9g2iGcZx7Zwf0MA5mfYCg3HmJP6iEoDCs2baW1Zy2DUhNdsUEVs1OHJE4
	BfwqNQZv4HXOd08UoCH9hYVZgyN08m+mFlTFFk7IwfCuPFQ/ayd6IwU6+s+LvDUGXU=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id H4JtD215Uro4; Wed, 30 May 2012 16:55:24 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 16:55:24 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 05430DA030; Wed, 30 May 2012 16:55:23 +0200 (CEST)
Date: Wed, 30 May 2012 16:55:23 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530145523.GA15635@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andre Przywara <andre.przywara@amd.com>, mingo@elte.hu,
	tglx@linutronix.de, konrad.wilk@oracle.com, jeremy@goop.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC631D3.9080907@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: stable@vger.kernel.org.#.3.4+, Andre Przywara <andre.przywara@amd.com>,
	jeremy@goop.org, xen-devel@lists.xensource.com,
	konrad.wilk@oracle.com, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:42:27AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 06:10 AM, Andre Przywara wrote:
> > Because we are behind a family check before tweaking the topology
> > bit, we can use the standard rd/wrmsr variants for the CPUID feature
> > register.
> 
> That is not what the *msr*_amd*() functions do.
> 
> NAK.  This is a totally bogus patch.

The *msr*_amd*() variants were used instead of the normal *msrl_safe
variants although the AMD variants weren't needed there at all.

This has no issue on baremetal but breaks xen and this is how we caught
this.

So the patch corrects the original patch so that xen is happy too.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:55:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkJF-0003YM-6E; Wed, 30 May 2012 14:55:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkJD-0003YH-N7
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:55:36 +0000
Received: from [85.158.143.99:45567] by server-3.bemta-4.messagelabs.com id
	61/BD-04252-7E436CF4; Wed, 30 May 2012 14:55:35 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338389725!23008687!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13704 invoked from network); 30 May 2012 14:55:34 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-11.tower-216.messagelabs.com with SMTP;
	30 May 2012 14:55:34 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	B598E1D99AE; Wed, 30 May 2012 16:55:24 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338389724; bh=MWZ0cj2xKA2nhGNDuToHTP/EtaRbmp50KDMz62flRk8=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=rAzC1JXN0XDPHzzZlB+XVnuYFMG70ev/BMOkw3
	UA7WQQlCFT9g2iGcZx7Zwf0MA5mfYCg3HmJP6iEoDCs2baW1Zy2DUhNdsUEVs1OHJE4
	BfwqNQZv4HXOd08UoCH9hYVZgyN08m+mFlTFFk7IwfCuPFQ/ayd6IwU6+s+LvDUGXU=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id H4JtD215Uro4; Wed, 30 May 2012 16:55:24 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 16:55:24 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 05430DA030; Wed, 30 May 2012 16:55:23 +0200 (CEST)
Date: Wed, 30 May 2012 16:55:23 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530145523.GA15635@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andre Przywara <andre.przywara@amd.com>, mingo@elte.hu,
	tglx@linutronix.de, konrad.wilk@oracle.com, jeremy@goop.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC631D3.9080907@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: stable@vger.kernel.org.#.3.4+, Andre Przywara <andre.przywara@amd.com>,
	jeremy@goop.org, xen-devel@lists.xensource.com,
	konrad.wilk@oracle.com, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:42:27AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 06:10 AM, Andre Przywara wrote:
> > Because we are behind a family check before tweaking the topology
> > bit, we can use the standard rd/wrmsr variants for the CPUID feature
> > register.
> 
> That is not what the *msr*_amd*() functions do.
> 
> NAK.  This is a totally bogus patch.

The *msr*_amd*() variants were used instead of the normal *msrl_safe
variants although the AMD variants weren't needed there at all.

This has no issue on baremetal but breaks xen and this is how we caught
this.

So the patch corrects the original patch so that xen is happy too.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:57:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:57:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkKQ-0003cU-L7; Wed, 30 May 2012 14:56:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkKO-0003cI-Lv
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:56:48 +0000
Received: from [193.109.254.147:25330] by server-2.bemta-14.messagelabs.com id
	FB/CD-03167-03536CF4; Wed, 30 May 2012 14:56:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338389805!6873399!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25118 invoked from network); 30 May 2012 14:56:46 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:56:46 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEuHB6019043
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:56:18 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEuHSX019478
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:56:17 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEuG79009647; Wed, 30 May 2012 09:56:16 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:56:16 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 45A47402B7; Wed, 30 May 2012 10:49:29 -0400 (EDT)
Date: Wed, 30 May 2012 10:49:29 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530144929.GH3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC631F0.9080109@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <Jacob.Shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	tglx@linutronix.de, mingo@elte.hu
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:42:56AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 07:23 AM, Jan Beulich wrote:
> > 
> > I see - the Xen code blindly overwrites pv_cpu_ops, despite not
> > having initialized all members. That's an obvious oversight of the
> > patch that introduced the _regs variants.
> > 
> > Plus having secondary instances of things like rdmsrl_amd_safe()
> > in asm/paravirt.h seems pretty strange an approach (which was
> > why initially I didn't spot how a crash could happen there) - only
> > the lowest level functions should get re-implemented here.
> > 
> 
> This kinds of things are part of why Xen makes me want to cry regularly.

It looks like an oversight by Borislav (177fed1ee8d727c39601ce9fc2299b4cb25a718e
and 132ec92f) and Yinghai (b05f78f5c713eda2c34e495d92495ee4f1c3b5e1) where
they added these wrappers way back in 2009!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:57:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:57:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkKQ-0003cU-L7; Wed, 30 May 2012 14:56:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkKO-0003cI-Lv
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:56:48 +0000
Received: from [193.109.254.147:25330] by server-2.bemta-14.messagelabs.com id
	FB/CD-03167-03536CF4; Wed, 30 May 2012 14:56:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338389805!6873399!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25118 invoked from network); 30 May 2012 14:56:46 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:56:46 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEuHB6019043
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:56:18 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEuHSX019478
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:56:17 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEuG79009647; Wed, 30 May 2012 09:56:16 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:56:16 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 45A47402B7; Wed, 30 May 2012 10:49:29 -0400 (EDT)
Date: Wed, 30 May 2012 10:49:29 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530144929.GH3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC631F0.9080109@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <Jacob.Shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	tglx@linutronix.de, mingo@elte.hu
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:42:56AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 07:23 AM, Jan Beulich wrote:
> > 
> > I see - the Xen code blindly overwrites pv_cpu_ops, despite not
> > having initialized all members. That's an obvious oversight of the
> > patch that introduced the _regs variants.
> > 
> > Plus having secondary instances of things like rdmsrl_amd_safe()
> > in asm/paravirt.h seems pretty strange an approach (which was
> > why initially I didn't spot how a crash could happen there) - only
> > the lowest level functions should get re-implemented here.
> > 
> 
> This kinds of things are part of why Xen makes me want to cry regularly.

It looks like an oversight by Borislav (177fed1ee8d727c39601ce9fc2299b4cb25a718e
and 132ec92f) and Yinghai (b05f78f5c713eda2c34e495d92495ee4f1c3b5e1) where
they added these wrappers way back in 2009!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:57:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkKh-0003e1-1S; Wed, 30 May 2012 14:57:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@invisiblethingslab.com>) id 1SZkKf-0003dk-H4
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:57:05 +0000
Received: from [193.109.254.147:33250] by server-10.bemta-14.messagelabs.com
	id BF/B6-27843-04536CF4; Wed, 30 May 2012 14:57:04 +0000
X-Env-Sender: marmarek@invisiblethingslab.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1338389823!11970548!1
X-Originating-IP: [66.111.4.27]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjcgPT4gMTY3NzA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6997 invoked from network); 30 May 2012 14:57:04 -0000
Received: from out3-smtp.messagingengine.com (HELO
	out3-smtp.messagingengine.com) (66.111.4.27)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:57:04 -0000
Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 2F15520EE7;
	Wed, 30 May 2012 10:57:03 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160])
	by compute2.internal (MEProxy); Wed, 30 May 2012 10:57:03 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:references:in-reply-to:content-type; s=mesmtp; bh=dD
	aDnxfPKtt0RaedL/qxo0p50S4=; b=LjVe6DhRw3ZLWPH8JMwFOzP6iLIEDb7h8W
	qZZQS70veHPKvvtQC/ItcA+3jS29LFq58AdazYfugMVEyxVU7ob+pI+ZBC8fumEp
	wF45AMUucx76DE/lgUdhGmIiiPkBBTbmxfiOa+/xtRRT+madyriVGyruqp31E7OV
	zisxj2+as=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:references:in-reply-to:content-type; s=smtpout; bh=dDaD
	nxfPKtt0RaedL/qxo0p50S4=; b=mJOnARnyfQb2ag9n/XybbE8vXVZvBdDNurHB
	dWlVsWvb9HYTH8fZEKt6IyR/h6hFVl5026KcApXDVeCPBNMKKnYZBcWLQILgtWnz
	K6BweKl8GSQmyu/aWUjztwhxCWBfVPcQy7Kz9TXt7Vlh59Xt+CGOeac9Djh2HsDO
	n3YrKSk=
X-Sasl-enc: k+Hsk8kb0j83eAVPkArTF6deLkcL4QotdpRL0pzLgErJ 1338389822
Received: from [10.137.2.11] (unknown [89.67.97.211])
	by mail.messagingengine.com (Postfix) with ESMTPA id 7EF8A8E017E;
	Wed, 30 May 2012 10:57:02 -0400 (EDT)
Message-ID: <4FC6353C.3090908@invisiblethingslab.com>
Date: Wed, 30 May 2012 16:57:00 +0200
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
	<20120530142830.GE3207@phenom.dumpdata.com>
In-Reply-To: <20120530142830.GE3207@phenom.dumpdata.com>
X-Enigmail-Version: 1.4.1
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Joanna Rutkowska <joanna@invisiblethingslab.com>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5557073733109754333=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============5557073733109754333==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enig8012CDDED16C47ED256AF1B1"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig8012CDDED16C47ED256AF1B1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 30.05.2012 16:28, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 12:14:07PM +0200, Joanna Rutkowska wrote:
>> Hello,
>>
>> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.=
2,
>> and have noticed that those kernel noticeably downgrade performance of=

>> (at least) Intel GPUs. This is easily noticeable even on such trivial
>> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
>> performance on 3.3 and 3.4 kernels is in stark contrast with what I se=
e
>> on 3.2.7 Dom0 kernel, where graphics works just great...
>>
>> In order to make sure that this is not caused by power management set
>> too strictly, I played with xenpm and made sure to set the following:
>=20
> And are you building with CONFIG_INTEL_IOMMU=3Dy?

Yes:
CONFIG_GART_IOMMU=3Dy
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=3Dy
CONFIG_IOMMU_HELPER=3Dy
(...)
CONFIG_IOMMU_API=3Dy
CONFIG_IOMMU_SUPPORT=3Dy
CONFIG_AMD_IOMMU=3Dy
# CONFIG_AMD_IOMMU_STATS is not set
CONFIG_AMD_IOMMU_V2=3Dm
CONFIG_DMAR_TABLE=3Dy
CONFIG_INTEL_IOMMU=3Dy
CONFIG_INTEL_IOMMU_DEFAULT_ON=3Dy
CONFIG_INTEL_IOMMU_FLOPPY_WA=3Dy
CONFIG_IRQ_REMAP=3Dy

>=20
>> 1) xenpm set-scaling-governor performance
>> 2) xenpm set-max-cstate 0
>>
>> I have verified then that my processor: 1) keeps staying in P0 state
>> (so, max frequency), and 2) keeps staying in C0 state.
>>
>> Those setting didn't change anything regarding the poor graphics
>> performance, though.
>>
>> Any ideas what else I could test to find out the cause of this?
>>
>> Thanks,
>> joanna.
>>
>=20
>=20
>=20
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>=20


--=20
Best Regards / Pozdrawiam,
Marek Marczykowski
Invisible Things Lab


--------------enig8012CDDED16C47ED256AF1B1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPxjU8AAoJENuP0xzK19csPDEH/38fc8MXfzTtiq08N4XfFAu/
qwlPdiCYNvbb/LEkKtSK7hbGN/jQzJXVGvD4K8XfFcjclvC+by9Pa2+itc+dAz8G
PDDpGnmOXAeOOn86PFG3XOjbaEDAOvWJMIjhMjjz6u+YdM4akE12d0h4vJb4zilK
E5NLYnmB/waWiu+uezD0cn1ZWCJA8zMV9rBCnojuK+CpPJS6KeUCvmUT5PmqYMSR
r136wJQF4taQV1heTIZQ1aW8KV9OBpgmGHlxAJfcrdFku0DI828JUcty52qg83Cf
4FNbXh/Kh4Rvl20GMP6TiOmQr19KpiHxCdaqCfXL/Gasjb24Seh6vEDpZKclkzM=
=ub3q
-----END PGP SIGNATURE-----

--------------enig8012CDDED16C47ED256AF1B1--


--===============5557073733109754333==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5557073733109754333==--


From xen-devel-bounces@lists.xen.org Wed May 30 14:57:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkKh-0003e1-1S; Wed, 30 May 2012 14:57:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <marmarek@invisiblethingslab.com>) id 1SZkKf-0003dk-H4
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:57:05 +0000
Received: from [193.109.254.147:33250] by server-10.bemta-14.messagelabs.com
	id BF/B6-27843-04536CF4; Wed, 30 May 2012 14:57:04 +0000
X-Env-Sender: marmarek@invisiblethingslab.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1338389823!11970548!1
X-Originating-IP: [66.111.4.27]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjcgPT4gMTY3NzA=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6997 invoked from network); 30 May 2012 14:57:04 -0000
Received: from out3-smtp.messagingengine.com (HELO
	out3-smtp.messagingengine.com) (66.111.4.27)
	by server-2.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:57:04 -0000
Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 2F15520EE7;
	Wed, 30 May 2012 10:57:03 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160])
	by compute2.internal (MEProxy); Wed, 30 May 2012 10:57:03 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:references:in-reply-to:content-type; s=mesmtp; bh=dD
	aDnxfPKtt0RaedL/qxo0p50S4=; b=LjVe6DhRw3ZLWPH8JMwFOzP6iLIEDb7h8W
	qZZQS70veHPKvvtQC/ItcA+3jS29LFq58AdazYfugMVEyxVU7ob+pI+ZBC8fumEp
	wF45AMUucx76DE/lgUdhGmIiiPkBBTbmxfiOa+/xtRRT+madyriVGyruqp31E7OV
	zisxj2+as=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:references:in-reply-to:content-type; s=smtpout; bh=dDaD
	nxfPKtt0RaedL/qxo0p50S4=; b=mJOnARnyfQb2ag9n/XybbE8vXVZvBdDNurHB
	dWlVsWvb9HYTH8fZEKt6IyR/h6hFVl5026KcApXDVeCPBNMKKnYZBcWLQILgtWnz
	K6BweKl8GSQmyu/aWUjztwhxCWBfVPcQy7Kz9TXt7Vlh59Xt+CGOeac9Djh2HsDO
	n3YrKSk=
X-Sasl-enc: k+Hsk8kb0j83eAVPkArTF6deLkcL4QotdpRL0pzLgErJ 1338389822
Received: from [10.137.2.11] (unknown [89.67.97.211])
	by mail.messagingengine.com (Postfix) with ESMTPA id 7EF8A8E017E;
	Wed, 30 May 2012 10:57:02 -0400 (EDT)
Message-ID: <4FC6353C.3090908@invisiblethingslab.com>
Date: Wed, 30 May 2012 16:57:00 +0200
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
	<20120530142830.GE3207@phenom.dumpdata.com>
In-Reply-To: <20120530142830.GE3207@phenom.dumpdata.com>
X-Enigmail-Version: 1.4.1
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Joanna Rutkowska <joanna@invisiblethingslab.com>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5557073733109754333=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============5557073733109754333==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enig8012CDDED16C47ED256AF1B1"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig8012CDDED16C47ED256AF1B1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 30.05.2012 16:28, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 12:14:07PM +0200, Joanna Rutkowska wrote:
>> Hello,
>>
>> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.=
2,
>> and have noticed that those kernel noticeably downgrade performance of=

>> (at least) Intel GPUs. This is easily noticeable even on such trivial
>> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
>> performance on 3.3 and 3.4 kernels is in stark contrast with what I se=
e
>> on 3.2.7 Dom0 kernel, where graphics works just great...
>>
>> In order to make sure that this is not caused by power management set
>> too strictly, I played with xenpm and made sure to set the following:
>=20
> And are you building with CONFIG_INTEL_IOMMU=3Dy?

Yes:
CONFIG_GART_IOMMU=3Dy
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=3Dy
CONFIG_IOMMU_HELPER=3Dy
(...)
CONFIG_IOMMU_API=3Dy
CONFIG_IOMMU_SUPPORT=3Dy
CONFIG_AMD_IOMMU=3Dy
# CONFIG_AMD_IOMMU_STATS is not set
CONFIG_AMD_IOMMU_V2=3Dm
CONFIG_DMAR_TABLE=3Dy
CONFIG_INTEL_IOMMU=3Dy
CONFIG_INTEL_IOMMU_DEFAULT_ON=3Dy
CONFIG_INTEL_IOMMU_FLOPPY_WA=3Dy
CONFIG_IRQ_REMAP=3Dy

>=20
>> 1) xenpm set-scaling-governor performance
>> 2) xenpm set-max-cstate 0
>>
>> I have verified then that my processor: 1) keeps staying in P0 state
>> (so, max frequency), and 2) keeps staying in C0 state.
>>
>> Those setting didn't change anything regarding the poor graphics
>> performance, though.
>>
>> Any ideas what else I could test to find out the cause of this?
>>
>> Thanks,
>> joanna.
>>
>=20
>=20
>=20
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>=20


--=20
Best Regards / Pozdrawiam,
Marek Marczykowski
Invisible Things Lab


--------------enig8012CDDED16C47ED256AF1B1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPxjU8AAoJENuP0xzK19csPDEH/38fc8MXfzTtiq08N4XfFAu/
qwlPdiCYNvbb/LEkKtSK7hbGN/jQzJXVGvD4K8XfFcjclvC+by9Pa2+itc+dAz8G
PDDpGnmOXAeOOn86PFG3XOjbaEDAOvWJMIjhMjjz6u+YdM4akE12d0h4vJb4zilK
E5NLYnmB/waWiu+uezD0cn1ZWCJA8zMV9rBCnojuK+CpPJS6KeUCvmUT5PmqYMSR
r136wJQF4taQV1heTIZQ1aW8KV9OBpgmGHlxAJfcrdFku0DI828JUcty52qg83Cf
4FNbXh/Kh4Rvl20GMP6TiOmQr19KpiHxCdaqCfXL/Gasjb24Seh6vEDpZKclkzM=
=ub3q
-----END PGP SIGNATURE-----

--------------enig8012CDDED16C47ED256AF1B1--


--===============5557073733109754333==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5557073733109754333==--


From xen-devel-bounces@lists.xen.org Wed May 30 14:57:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:57:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkKs-0003fp-E9; Wed, 30 May 2012 14:57:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkKr-0003fP-0f
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:57:17 +0000
Received: from [85.158.143.99:23136] by server-1.bemta-4.messagelabs.com id
	F1/80-27869-C4536CF4; Wed, 30 May 2012 14:57:16 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338389834!23009145!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22154 invoked from network); 30 May 2012 14:57:15 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:57:15 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEutnS019696
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:56:55 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEurEL007115
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:56:54 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEur3K001702; Wed, 30 May 2012 09:56:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:56:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E1131402B7; Wed, 30 May 2012 10:50:05 -0400 (EDT)
Date: Wed, 30 May 2012 10:50:05 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jacob Shin <jacob.shin@amd.com>
Message-ID: <20120530145005.GI3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530144851.GA12184@jshin-Toonie>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 09:48:51AM -0500, Jacob Shin wrote:
> On Wed, May 30, 2012 at 04:02:48PM +0200, Andre Przywara wrote:
> > On 05/30/2012 03:33 PM, Jan Beulich wrote:
> > >>>>On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
> > >>Because we are behind a family check before tweaking the topology
> > >>bit, we can use the standard rd/wrmsr variants for the CPUID feature
> > >>register.
> > >>This fixes a crash when using the kernel as a Xen Dom0 on affected
> > >>Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> > >>yet (this will be fixed in another patch).
> > >
> > >I'm not following: If the AMD variants (putting a special value into
> > >%edi) can be freely replaced by the non-AMD variants, why did
> > >the AMD special ones get used in the first place?
> > 
> > Older CPUs (K8) needed the AMD variants, starting with family 10h we
> > can use the normal versions.
> > 
> > >Further, I can't see how checking_wrmsrl() is being paravirtualized
> > >any better than wrmsrl_amd_safe() - both have nothing but an
> > >exception handling fixup attached to the wrmsr invocation. Care
> > >to point out what actual crash it is that was seen?
> > 
> > AFAIK, the difference is between the "l" and the regs version for
> > rd/wrmsr. We have a patch already here to fix this. Will send it out
> > soon. Jacob, can you comment on this?
> 
> Right, the checking_wrmsrl turns into wrmsr_safe which is paravirtualized
> but the rdmsrl_amd_safe which turns into rdmsr_regs is not paravirtualized
> by enlighten.

So would a patch to implements the rdmsr_regs fix this crash?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:57:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:57:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkKs-0003fp-E9; Wed, 30 May 2012 14:57:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkKr-0003fP-0f
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:57:17 +0000
Received: from [85.158.143.99:23136] by server-1.bemta-4.messagelabs.com id
	F1/80-27869-C4536CF4; Wed, 30 May 2012 14:57:16 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338389834!23009145!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22154 invoked from network); 30 May 2012 14:57:15 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:57:15 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEutnS019696
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:56:55 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEurEL007115
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:56:54 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEur3K001702; Wed, 30 May 2012 09:56:53 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:56:53 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E1131402B7; Wed, 30 May 2012 10:50:05 -0400 (EDT)
Date: Wed, 30 May 2012 10:50:05 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jacob Shin <jacob.shin@amd.com>
Message-ID: <20120530145005.GI3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530144851.GA12184@jshin-Toonie>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 09:48:51AM -0500, Jacob Shin wrote:
> On Wed, May 30, 2012 at 04:02:48PM +0200, Andre Przywara wrote:
> > On 05/30/2012 03:33 PM, Jan Beulich wrote:
> > >>>>On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
> > >>Because we are behind a family check before tweaking the topology
> > >>bit, we can use the standard rd/wrmsr variants for the CPUID feature
> > >>register.
> > >>This fixes a crash when using the kernel as a Xen Dom0 on affected
> > >>Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> > >>yet (this will be fixed in another patch).
> > >
> > >I'm not following: If the AMD variants (putting a special value into
> > >%edi) can be freely replaced by the non-AMD variants, why did
> > >the AMD special ones get used in the first place?
> > 
> > Older CPUs (K8) needed the AMD variants, starting with family 10h we
> > can use the normal versions.
> > 
> > >Further, I can't see how checking_wrmsrl() is being paravirtualized
> > >any better than wrmsrl_amd_safe() - both have nothing but an
> > >exception handling fixup attached to the wrmsr invocation. Care
> > >to point out what actual crash it is that was seen?
> > 
> > AFAIK, the difference is between the "l" and the regs version for
> > rd/wrmsr. We have a patch already here to fix this. Will send it out
> > soon. Jacob, can you comment on this?
> 
> Right, the checking_wrmsrl turns into wrmsr_safe which is paravirtualized
> but the rdmsrl_amd_safe which turns into rdmsr_regs is not paravirtualized
> by enlighten.

So would a patch to implements the rdmsr_regs fix this crash?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:59:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkMX-0003vd-3O; Wed, 30 May 2012 14:59:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkMV-0003uy-Cx
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:58:59 +0000
Received: from [85.158.143.99:20824] by server-3.bemta-4.messagelabs.com id
	C1/E4-04252-1B536CF4; Wed, 30 May 2012 14:58:57 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338389935!23009546!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29285 invoked from network); 30 May 2012 14:58:56 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:58:56 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEwSAR019147
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 07:58:29 -0700
Message-ID: <4FC6358F.2010405@zytor.com>
Date: Wed, 30 May 2012 07:58:23 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>, Andre Przywara <andre.przywara@amd.com>,
	mingo@elte.hu, tglx@linutronix.de, konrad.wilk@oracle.com,
	jeremy@goop.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
In-Reply-To: <20120530145523.GA15635@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:55 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 07:42:27AM -0700, H. Peter Anvin wrote:
>> On 05/30/2012 06:10 AM, Andre Przywara wrote:
>>> Because we are behind a family check before tweaking the topology
>>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>>> register.
>>
>> That is not what the *msr*_amd*() functions do.
>>
>> NAK.  This is a totally bogus patch.
> 
> The *msr*_amd*() variants were used instead of the normal *msrl_safe
> variants although the AMD variants weren't needed there at all.
> 
> This has no issue on baremetal but breaks xen and this is how we caught
> this.
> 
> So the patch corrects the original patch so that xen is happy too.
> 

If so, then fix the description to match reality and we can take the patch.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:59:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkMX-0003vd-3O; Wed, 30 May 2012 14:59:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkMV-0003uy-Cx
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:58:59 +0000
Received: from [85.158.143.99:20824] by server-3.bemta-4.messagelabs.com id
	C1/E4-04252-1B536CF4; Wed, 30 May 2012 14:58:57 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338389935!23009546!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29285 invoked from network); 30 May 2012 14:58:56 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-11.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 14:58:56 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UEwSAR019147
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 07:58:29 -0700
Message-ID: <4FC6358F.2010405@zytor.com>
Date: Wed, 30 May 2012 07:58:23 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>, Andre Przywara <andre.przywara@amd.com>,
	mingo@elte.hu, tglx@linutronix.de, konrad.wilk@oracle.com,
	jeremy@goop.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
In-Reply-To: <20120530145523.GA15635@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 07:55 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 07:42:27AM -0700, H. Peter Anvin wrote:
>> On 05/30/2012 06:10 AM, Andre Przywara wrote:
>>> Because we are behind a family check before tweaking the topology
>>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>>> register.
>>
>> That is not what the *msr*_amd*() functions do.
>>
>> NAK.  This is a totally bogus patch.
> 
> The *msr*_amd*() variants were used instead of the normal *msrl_safe
> variants although the AMD variants weren't needed there at all.
> 
> This has no issue on baremetal but breaks xen and this is how we caught
> this.
> 
> So the patch corrects the original patch so that xen is happy too.
> 

If so, then fix the description to match reality and we can take the patch.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:59:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkMb-0003wY-GK; Wed, 30 May 2012 14:59:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkMa-0003wB-30
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:59:04 +0000
Received: from [193.109.254.147:57447] by server-4.bemta-14.messagelabs.com id
	BB/9F-03148-7B536CF4; Wed, 30 May 2012 14:59:03 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338389941!4084588!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2MjQyNg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16006 invoked from network); 30 May 2012 14:59:02 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:59:02 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEwhCS002404
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:58:44 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEwgfC024500
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:58:43 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEwgmY007879; Wed, 30 May 2012 09:58:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:58:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4B081402B7; Wed, 30 May 2012 10:51:55 -0400 (EDT)
Date: Wed, 30 May 2012 10:51:55 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530145155.GJ3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC633A7.1050406@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:50:15AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 07:39 AM, Konrad Rzeszutek Wilk wrote:
> > On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
> >> Because we are behind a family check before tweaking the topology
> >> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> >> register.
> >> This fixes a crash when using the kernel as a Xen Dom0 on affected
> >> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> >> yet (this will be fixed in another patch).
> > 
> > So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
> > the pv_cpu_ops - would this patch even be neccessary?
> > 
> 
> That is still bogus;  a better thing would be to implement the _regs
> interface.  Even better would be to trap and emulate rdmsr/wrmsr!

That is what I meant - implement these two:

	rdmsr_regs = native_rdmsr_safe_regs,
        .wrmsr_regs = native_wrmsr_safe_regs,

Xen already traps the rdmsr/wrms - I believe it just didn't do
anything for this specific MSR.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 14:59:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 14:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkMb-0003wY-GK; Wed, 30 May 2012 14:59:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkMa-0003wB-30
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 14:59:04 +0000
Received: from [193.109.254.147:57447] by server-4.bemta-14.messagelabs.com id
	BB/9F-03148-7B536CF4; Wed, 30 May 2012 14:59:03 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338389941!4084588!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2MjQyNg==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16006 invoked from network); 30 May 2012 14:59:02 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 14:59:02 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UEwhCS002404
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 14:58:44 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UEwgfC024500
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 14:58:43 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UEwgmY007879; Wed, 30 May 2012 09:58:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 07:58:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4B081402B7; Wed, 30 May 2012 10:51:55 -0400 (EDT)
Date: Wed, 30 May 2012 10:51:55 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530145155.GJ3207@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC633A7.1050406@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:50:15AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 07:39 AM, Konrad Rzeszutek Wilk wrote:
> > On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
> >> Because we are behind a family check before tweaking the topology
> >> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> >> register.
> >> This fixes a crash when using the kernel as a Xen Dom0 on affected
> >> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> >> yet (this will be fixed in another patch).
> > 
> > So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
> > the pv_cpu_ops - would this patch even be neccessary?
> > 
> 
> That is still bogus;  a better thing would be to implement the _regs
> interface.  Even better would be to trap and emulate rdmsr/wrmsr!

That is what I meant - implement these two:

	rdmsr_regs = native_rdmsr_safe_regs,
        .wrmsr_regs = native_wrmsr_safe_regs,

Xen already traps the rdmsr/wrms - I believe it just didn't do
anything for this specific MSR.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:00:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:00:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkNg-0004AO-Ul; Wed, 30 May 2012 15:00:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkNf-0004A3-Dw
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:00:11 +0000
Received: from [85.158.139.83:51831] by server-9.bemta-5.messagelabs.com id
	10/E3-27779-AF536CF4; Wed, 30 May 2012 15:00:10 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338390010!27304726!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28056 invoked from network); 30 May 2012 15:00:10 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-6.tower-182.messagelabs.com with SMTP;
	30 May 2012 15:00:10 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	E0E591D996C; Wed, 30 May 2012 17:00:09 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338390009; bh=EfLtzGTnP31QWdFtHMl3iGsmslyoJlxdk/gfri8kL5k=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=aIsivm+exvZxdqV52TWgMed4JdEkgwPnGb6Seh
	a/E1aSSU/S4v9wsO1Znf/P3c+42zqTvBsDAjAgeLxLuqwJ4EQBeqB9FFvbdH3XQ3HOi
	dqLchD7Tc4sitPpZNDVTImrTEjKO8y6nJYIPvX2P81Oyj5FycEbK/nZ7U5yQpRe7MI=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id ZgFQ10smwRy8; Wed, 30 May 2012 17:00:09 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:00:08 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id A371EAA0EC; Wed, 30 May 2012 17:00:08 +0200 (CEST)
Date: Wed, 30 May 2012 17:00:08 +0200
From: Borislav Petkov <bp@alien8.de>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120530150007.GB15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Andre Przywara <andre.przywara@amd.com>,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de,
	konrad.wilk@oracle.com, jeremy@goop.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
	<4FC6358F.2010405@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6358F.2010405@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: stable@vger.kernel.org.#.3.4+, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:58:23AM -0700, H. Peter Anvin wrote:
> If so, then fix the description to match reality and we can take the patch.

Andre, would you please do that?

Thanks.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:00:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:00:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkNg-0004AO-Ul; Wed, 30 May 2012 15:00:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkNf-0004A3-Dw
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:00:11 +0000
Received: from [85.158.139.83:51831] by server-9.bemta-5.messagelabs.com id
	10/E3-27779-AF536CF4; Wed, 30 May 2012 15:00:10 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338390010!27304726!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28056 invoked from network); 30 May 2012 15:00:10 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-6.tower-182.messagelabs.com with SMTP;
	30 May 2012 15:00:10 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	E0E591D996C; Wed, 30 May 2012 17:00:09 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338390009; bh=EfLtzGTnP31QWdFtHMl3iGsmslyoJlxdk/gfri8kL5k=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=aIsivm+exvZxdqV52TWgMed4JdEkgwPnGb6Seh
	a/E1aSSU/S4v9wsO1Znf/P3c+42zqTvBsDAjAgeLxLuqwJ4EQBeqB9FFvbdH3XQ3HOi
	dqLchD7Tc4sitPpZNDVTImrTEjKO8y6nJYIPvX2P81Oyj5FycEbK/nZ7U5yQpRe7MI=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id ZgFQ10smwRy8; Wed, 30 May 2012 17:00:09 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:00:08 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id A371EAA0EC; Wed, 30 May 2012 17:00:08 +0200 (CEST)
Date: Wed, 30 May 2012 17:00:08 +0200
From: Borislav Petkov <bp@alien8.de>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120530150007.GB15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Andre Przywara <andre.przywara@amd.com>,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de,
	konrad.wilk@oracle.com, jeremy@goop.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
	<4FC6358F.2010405@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6358F.2010405@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: stable@vger.kernel.org.#.3.4+, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 07:58:23AM -0700, H. Peter Anvin wrote:
> If so, then fix the description to match reality and we can take the patch.

Andre, would you please do that?

Thanks.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:03:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkQP-0004Yr-Hx; Wed, 30 May 2012 15:03:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkQN-0004YJ-W6
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:03:00 +0000
Received: from [85.158.138.51:55723] by server-11.bemta-3.messagelabs.com id
	27/A7-32748-3A636CF4; Wed, 30 May 2012 15:02:59 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338390176!29896583!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1312 invoked from network); 30 May 2012 15:02:58 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:02:58 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UF1OHP019875
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 08:01:26 -0700
Message-ID: <4FC6363F.3040208@zytor.com>
Date: Wed, 30 May 2012 08:01:19 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>, Andre Przywara <andre.przywara@amd.com>,
	mingo@elte.hu, tglx@linutronix.de, konrad.wilk@oracle.com,
	jeremy@goop.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
	<4FC6358F.2010405@zytor.com>
	<20120530150007.GB15438@x1.osrc.amd.com>
In-Reply-To: <20120530150007.GB15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 08:00 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 07:58:23AM -0700, H. Peter Anvin wrote:
>> If so, then fix the description to match reality and we can take the patch.
> 
> Andre, would you please do that?
> 

Ah, but now we get:

>> I'm not following: If the AMD variants (putting a special value into
>> %edi) can be freely replaced by the non-AMD variants, why did
>> the AMD special ones get used in the first place?

> Older CPUs (K8) needed the AMD variants, starting with family 10h we
> can use the normal versions.

So no, not correct.

	-hpa



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:03:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkQP-0004Yr-Hx; Wed, 30 May 2012 15:03:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkQN-0004YJ-W6
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:03:00 +0000
Received: from [85.158.138.51:55723] by server-11.bemta-3.messagelabs.com id
	27/A7-32748-3A636CF4; Wed, 30 May 2012 15:02:59 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338390176!29896583!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1312 invoked from network); 30 May 2012 15:02:58 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-4.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:02:58 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr01-ext.jf.intel.com
	[134.134.139.70]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UF1OHP019875
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 08:01:26 -0700
Message-ID: <4FC6363F.3040208@zytor.com>
Date: Wed, 30 May 2012 08:01:19 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>, Andre Przywara <andre.przywara@amd.com>,
	mingo@elte.hu, tglx@linutronix.de, konrad.wilk@oracle.com,
	jeremy@goop.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org.#.3.4+
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
	<4FC6358F.2010405@zytor.com>
	<20120530150007.GB15438@x1.osrc.amd.com>
In-Reply-To: <20120530150007.GB15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 08:00 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 07:58:23AM -0700, H. Peter Anvin wrote:
>> If so, then fix the description to match reality and we can take the patch.
> 
> Andre, would you please do that?
> 

Ah, but now we get:

>> I'm not following: If the AMD variants (putting a special value into
>> %edi) can be freely replaced by the non-AMD variants, why did
>> the AMD special ones get used in the first place?

> Older CPUs (K8) needed the AMD variants, starting with family 10h we
> can use the normal versions.

So no, not correct.

	-hpa



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:03:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:03:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkR7-0004gX-Up; Wed, 30 May 2012 15:03:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Jacob.Shin@amd.com>) id 1SZkR7-0004g0-8j
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:03:45 +0000
Received: from [85.158.143.99:14936] by server-2.bemta-4.messagelabs.com id
	A9/B9-11595-0D636CF4; Wed, 30 May 2012 15:03:44 +0000
X-Env-Sender: Jacob.Shin@amd.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338390223!29988839!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26109 invoked from network); 30 May 2012 15:03:43 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-3.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 15:03:43 -0000
Received: from mail48-db3-R.bigfish.com (10.3.81.241) by
	DB3EHSOBE003.bigfish.com (10.3.84.23) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 15:03:17 +0000
Received: from mail48-db3 (localhost [127.0.0.1])	by mail48-db3-R.bigfish.com
	(Postfix) with ESMTP id A4B1440038B;
	Wed, 30 May 2012 15:03:17 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275bh8275dhz2dh668h839h944hd25hd2bhf0ah)
Received: from mail48-db3 (localhost.localdomain [127.0.0.1]) by mail48-db3
	(MessageSwitch) id 1338390195968380_25190;
	Wed, 30 May 2012 15:03:15 +0000 (UTC)
Received: from DB3EHSMHS007.bigfish.com (unknown [10.3.81.225])	by
	mail48-db3.bigfish.com (Postfix) with ESMTP id E74D53C0045;
	Wed, 30 May 2012 15:03:15 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS007.bigfish.com (10.3.87.107) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 15:03:13 +0000
X-WSS-ID: 0M4UCI0-02-0EJ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 21FDAC8148;	Wed, 30 May 2012 10:03:36 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 10:03:49 -0500
Received: from jshin-Toonie (10.236.48.193) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 30 May 2012 10:03:35 -0500
Date: Wed, 30 May 2012 10:03:34 -0500
From: Jacob Shin <jacob.shin@amd.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120530150334.GA13349@jshin-Toonie>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530145005.GI3207@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-OriginatorOrg: amd.com
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:50:05AM -0400, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 09:48:51AM -0500, Jacob Shin wrote:
> > On Wed, May 30, 2012 at 04:02:48PM +0200, Andre Przywara wrote:
> > > On 05/30/2012 03:33 PM, Jan Beulich wrote:
> > > >>>>On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
> > > >>Because we are behind a family check before tweaking the topology
> > > >>bit, we can use the standard rd/wrmsr variants for the CPUID feature
> > > >>register.
> > > >>This fixes a crash when using the kernel as a Xen Dom0 on affected
> > > >>Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> > > >>yet (this will be fixed in another patch).
> > > >
> > > >I'm not following: If the AMD variants (putting a special value into
> > > >%edi) can be freely replaced by the non-AMD variants, why did
> > > >the AMD special ones get used in the first place?
> > > 
> > > Older CPUs (K8) needed the AMD variants, starting with family 10h we
> > > can use the normal versions.
> > > 
> > > >Further, I can't see how checking_wrmsrl() is being paravirtualized
> > > >any better than wrmsrl_amd_safe() - both have nothing but an
> > > >exception handling fixup attached to the wrmsr invocation. Care
> > > >to point out what actual crash it is that was seen?
> > > 
> > > AFAIK, the difference is between the "l" and the regs version for
> > > rd/wrmsr. We have a patch already here to fix this. Will send it out
> > > soon. Jacob, can you comment on this?
> > 
> > Right, the checking_wrmsrl turns into wrmsr_safe which is paravirtualized
> > but the rdmsrl_amd_safe which turns into rdmsr_regs is not paravirtualized
> > by enlighten.
> 
> So would a patch to implements the rdmsr_regs fix this crash?

Yes, the following patch also fixed the crash for us:

Implement rdmsr_regs and wrmsr_regs for Xen pvops.

Signed-off-by: Jacob Shin <jacob.shin@amd.com>
Cc: stable@vger.kernel.org # 3.4+

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..f3ae5ec 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -945,9 +945,12 @@ static void xen_write_cr4(unsigned long cr4)
 	native_write_cr4(cr4);
 }
 
-static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
+static int xen_wrmsr_safe_regs(u32 regs[8])
 {
 	int ret;
+	unsigned int msr = regs[1];
+	unsigned low = regs[0];
+	unsigned high = regs[2];
 
 	ret = 0;
 
@@ -985,12 +988,23 @@ static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
 		break;
 
 	default:
-		ret = native_write_msr_safe(msr, low, high);
+		ret = native_wrmsr_safe_regs(regs);
 	}
 
 	return ret;
 }
 
+static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
+{
+	u32 regs[8] = { 0 };
+
+	regs[0] = low;
+	regs[1] = msr;
+	regs[2] = high;
+
+	return xen_wrmsr_safe_regs(regs);
+}
+
 void xen_setup_shared_info(void)
 {
 	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
@@ -1116,7 +1130,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.wbinvd = native_wbinvd,
 
 	.read_msr = native_read_msr_safe,
+	.rdmsr_regs = native_rdmsr_safe_regs,
 	.write_msr = xen_write_msr_safe,
+	.wrmsr_regs = xen_wrmsr_safe_regs,
 	.read_tsc = native_read_tsc,
 	.read_pmc = native_read_pmc,
 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:03:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:03:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkR7-0004gX-Up; Wed, 30 May 2012 15:03:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Jacob.Shin@amd.com>) id 1SZkR7-0004g0-8j
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:03:45 +0000
Received: from [85.158.143.99:14936] by server-2.bemta-4.messagelabs.com id
	A9/B9-11595-0D636CF4; Wed, 30 May 2012 15:03:44 +0000
X-Env-Sender: Jacob.Shin@amd.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338390223!29988839!1
X-Originating-IP: [213.199.154.140]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26109 invoked from network); 30 May 2012 15:03:43 -0000
Received: from db3ehsobe002.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.140)
	by server-3.tower-216.messagelabs.com with AES128-SHA encrypted SMTP;
	30 May 2012 15:03:43 -0000
Received: from mail48-db3-R.bigfish.com (10.3.81.241) by
	DB3EHSOBE003.bigfish.com (10.3.84.23) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 15:03:17 +0000
Received: from mail48-db3 (localhost [127.0.0.1])	by mail48-db3-R.bigfish.com
	(Postfix) with ESMTP id A4B1440038B;
	Wed, 30 May 2012 15:03:17 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275bh8275dhz2dh668h839h944hd25hd2bhf0ah)
Received: from mail48-db3 (localhost.localdomain [127.0.0.1]) by mail48-db3
	(MessageSwitch) id 1338390195968380_25190;
	Wed, 30 May 2012 15:03:15 +0000 (UTC)
Received: from DB3EHSMHS007.bigfish.com (unknown [10.3.81.225])	by
	mail48-db3.bigfish.com (Postfix) with ESMTP id E74D53C0045;
	Wed, 30 May 2012 15:03:15 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS007.bigfish.com (10.3.87.107) with Microsoft SMTP Server id
	14.1.225.23; Wed, 30 May 2012 15:03:13 +0000
X-WSS-ID: 0M4UCI0-02-0EJ-02
X-M-MSG: 
Received: from sausexedgep02.amd.com (sausexedgep02-ext.amd.com
	[163.181.249.73])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 21FDAC8148;	Wed, 30 May 2012 10:03:36 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep02.amd.com
	(163.181.36.59) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Wed, 30 May 2012 10:03:49 -0500
Received: from jshin-Toonie (10.236.48.193) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Wed, 30 May 2012 10:03:35 -0500
Date: Wed, 30 May 2012 10:03:34 -0500
From: Jacob Shin <jacob.shin@amd.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120530150334.GA13349@jshin-Toonie>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530145005.GI3207@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-OriginatorOrg: amd.com
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:50:05AM -0400, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 09:48:51AM -0500, Jacob Shin wrote:
> > On Wed, May 30, 2012 at 04:02:48PM +0200, Andre Przywara wrote:
> > > On 05/30/2012 03:33 PM, Jan Beulich wrote:
> > > >>>>On 30.05.12 at 15:10, Andre Przywara<andre.przywara@amd.com>  wrote:
> > > >>Because we are behind a family check before tweaking the topology
> > > >>bit, we can use the standard rd/wrmsr variants for the CPUID feature
> > > >>register.
> > > >>This fixes a crash when using the kernel as a Xen Dom0 on affected
> > > >>Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> > > >>yet (this will be fixed in another patch).
> > > >
> > > >I'm not following: If the AMD variants (putting a special value into
> > > >%edi) can be freely replaced by the non-AMD variants, why did
> > > >the AMD special ones get used in the first place?
> > > 
> > > Older CPUs (K8) needed the AMD variants, starting with family 10h we
> > > can use the normal versions.
> > > 
> > > >Further, I can't see how checking_wrmsrl() is being paravirtualized
> > > >any better than wrmsrl_amd_safe() - both have nothing but an
> > > >exception handling fixup attached to the wrmsr invocation. Care
> > > >to point out what actual crash it is that was seen?
> > > 
> > > AFAIK, the difference is between the "l" and the regs version for
> > > rd/wrmsr. We have a patch already here to fix this. Will send it out
> > > soon. Jacob, can you comment on this?
> > 
> > Right, the checking_wrmsrl turns into wrmsr_safe which is paravirtualized
> > but the rdmsrl_amd_safe which turns into rdmsr_regs is not paravirtualized
> > by enlighten.
> 
> So would a patch to implements the rdmsr_regs fix this crash?

Yes, the following patch also fixed the crash for us:

Implement rdmsr_regs and wrmsr_regs for Xen pvops.

Signed-off-by: Jacob Shin <jacob.shin@amd.com>
Cc: stable@vger.kernel.org # 3.4+

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..f3ae5ec 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -945,9 +945,12 @@ static void xen_write_cr4(unsigned long cr4)
 	native_write_cr4(cr4);
 }
 
-static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
+static int xen_wrmsr_safe_regs(u32 regs[8])
 {
 	int ret;
+	unsigned int msr = regs[1];
+	unsigned low = regs[0];
+	unsigned high = regs[2];
 
 	ret = 0;
 
@@ -985,12 +988,23 @@ static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
 		break;
 
 	default:
-		ret = native_write_msr_safe(msr, low, high);
+		ret = native_wrmsr_safe_regs(regs);
 	}
 
 	return ret;
 }
 
+static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
+{
+	u32 regs[8] = { 0 };
+
+	regs[0] = low;
+	regs[1] = msr;
+	regs[2] = high;
+
+	return xen_wrmsr_safe_regs(regs);
+}
+
 void xen_setup_shared_info(void)
 {
 	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
@@ -1116,7 +1130,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.wbinvd = native_wbinvd,
 
 	.read_msr = native_read_msr_safe,
+	.rdmsr_regs = native_rdmsr_safe_regs,
 	.write_msr = xen_write_msr_safe,
+	.wrmsr_regs = xen_wrmsr_safe_regs,
 	.read_tsc = native_read_tsc,
 	.read_pmc = native_read_pmc,
 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:04:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:04:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkRi-0004l6-CU; Wed, 30 May 2012 15:04:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkRg-0004kr-O3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:04:20 +0000
Received: from [85.158.138.51:12915] by server-4.bemta-3.messagelabs.com id
	22/DD-32504-3F636CF4; Wed, 30 May 2012 15:04:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338390258!25890484!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4599 invoked from network); 30 May 2012 15:04:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:04:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:04:18 +0100
Message-Id: <4FC6530E0200007800086EDB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:04:14 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2907ADFE.1__="
Cc: Andre Przywara <andre.przywara@amd.com>,
	Andreas Herrmann <Andreas.Herrmann3@amd.com>
Subject: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions in
 case BIOS has disabled it
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2907ADFE.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

BIOS will switch off the corresponding feature flag on family
15h models 10h-1fh non-desktop CPUs.

The topology extension CPUID leafs are required to detect which
cores belong to the same compute unit. (thread siblings mask is
set accordingly and also correct information about L1i and L2
cache sharing depends on this).

W/o this patch we wouldn't see which cores belong to the same
compute unit and also cache sharing information for L1i and L2
would be incorrect on such systems.

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -471,6 +471,21 @@ static void __devinit init_amd(struct cp
 		}
 	}
=20
+	/* re-enable TopologyExtensions if switched off by BIOS */
+	if ((c->x86 =3D=3D 0x15) &&
+	    (c->x86_model >=3D 0x10) && (c->x86_model <=3D 0x1f) &&
+	    !cpu_has(c, X86_FEATURE_TOPOEXT) &&
+	    !rdmsr_safe(MSR_K8_EXT_FEATURE_MASK, value)) {
+		value |=3D 1ULL << 54;
+		wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);
+		rdmsrl(MSR_K8_EXT_FEATURE_MASK, value);
+		if (value & (1ULL << 54)) {
+			set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);
+			printk(KERN_INFO "CPU: Re-enabling disabled "
+			       "Topology Extensions Support\n");
+		}
+	}
+
         amd_get_topology(c);
=20
 	/* Pointless to use MWAIT on Family10 as it does not deep sleep. =
*/




--=__Part2907ADFE.1__=
Content-Type: text/plain; name="x86-AMD-Fam15-reenable-topoext.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-AMD-Fam15-reenable-topoext.patch"

x86/amd: re-enable CPU topology extensions in case BIOS has disabled =
it=0A=0ABIOS will switch off the corresponding feature flag on family=0A15h=
 models 10h-1fh non-desktop CPUs.=0A=0AThe topology extension CPUID leafs =
are required to detect which=0Acores belong to the same compute unit. =
(thread siblings mask is=0Aset accordingly and also correct information =
about L1i and L2=0Acache sharing depends on this).=0A=0AW/o this patch we =
wouldn't see which cores belong to the same=0Acompute unit and also cache =
sharing information for L1i and L2=0Awould be incorrect on such systems.=0A=
=0ASigned-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>=0ASigned-off=
-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/arch/x86/cpu/amd.c=0A++=
+ b/xen/arch/x86/cpu/amd.c=0A@@ -471,6 +471,21 @@ static void __devinit =
init_amd(struct cp=0A 		}=0A 	}=0A =0A+	/* re-enable =
TopologyExtensions if switched off by BIOS */=0A+	if ((c->x86 =3D=3D =
0x15) &&=0A+	    (c->x86_model >=3D 0x10) && (c->x86_model <=3D 0x1f) =
&&=0A+	    !cpu_has(c, X86_FEATURE_TOPOEXT) &&=0A+	    !rdmsr_safe(MSR=
_K8_EXT_FEATURE_MASK, value)) {=0A+		value |=3D 1ULL << 54;=0A+	=
	wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);=0A+		rdmsrl(MSR_=
K8_EXT_FEATURE_MASK, value);=0A+		if (value & (1ULL << 54)) =
{=0A+			set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);=0A=
+			printk(KERN_INFO "CPU: Re-enabling disabled "=0A+	=
		       "Topology Extensions Support\n");=0A+		=
}=0A+	}=0A+=0A         amd_get_topology(c);=0A =0A 	/* Pointless to =
use MWAIT on Family10 as it does not deep sleep. */=0A
--=__Part2907ADFE.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2907ADFE.1__=--


From xen-devel-bounces@lists.xen.org Wed May 30 15:04:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:04:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkRi-0004l6-CU; Wed, 30 May 2012 15:04:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkRg-0004kr-O3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:04:20 +0000
Received: from [85.158.138.51:12915] by server-4.bemta-3.messagelabs.com id
	22/DD-32504-3F636CF4; Wed, 30 May 2012 15:04:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338390258!25890484!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4599 invoked from network); 30 May 2012 15:04:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:04:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:04:18 +0100
Message-Id: <4FC6530E0200007800086EDB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:04:14 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part2907ADFE.1__="
Cc: Andre Przywara <andre.przywara@amd.com>,
	Andreas Herrmann <Andreas.Herrmann3@amd.com>
Subject: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions in
 case BIOS has disabled it
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part2907ADFE.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

BIOS will switch off the corresponding feature flag on family
15h models 10h-1fh non-desktop CPUs.

The topology extension CPUID leafs are required to detect which
cores belong to the same compute unit. (thread siblings mask is
set accordingly and also correct information about L1i and L2
cache sharing depends on this).

W/o this patch we wouldn't see which cores belong to the same
compute unit and also cache sharing information for L1i and L2
would be incorrect on such systems.

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -471,6 +471,21 @@ static void __devinit init_amd(struct cp
 		}
 	}
=20
+	/* re-enable TopologyExtensions if switched off by BIOS */
+	if ((c->x86 =3D=3D 0x15) &&
+	    (c->x86_model >=3D 0x10) && (c->x86_model <=3D 0x1f) &&
+	    !cpu_has(c, X86_FEATURE_TOPOEXT) &&
+	    !rdmsr_safe(MSR_K8_EXT_FEATURE_MASK, value)) {
+		value |=3D 1ULL << 54;
+		wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);
+		rdmsrl(MSR_K8_EXT_FEATURE_MASK, value);
+		if (value & (1ULL << 54)) {
+			set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);
+			printk(KERN_INFO "CPU: Re-enabling disabled "
+			       "Topology Extensions Support\n");
+		}
+	}
+
         amd_get_topology(c);
=20
 	/* Pointless to use MWAIT on Family10 as it does not deep sleep. =
*/




--=__Part2907ADFE.1__=
Content-Type: text/plain; name="x86-AMD-Fam15-reenable-topoext.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-AMD-Fam15-reenable-topoext.patch"

x86/amd: re-enable CPU topology extensions in case BIOS has disabled =
it=0A=0ABIOS will switch off the corresponding feature flag on family=0A15h=
 models 10h-1fh non-desktop CPUs.=0A=0AThe topology extension CPUID leafs =
are required to detect which=0Acores belong to the same compute unit. =
(thread siblings mask is=0Aset accordingly and also correct information =
about L1i and L2=0Acache sharing depends on this).=0A=0AW/o this patch we =
wouldn't see which cores belong to the same=0Acompute unit and also cache =
sharing information for L1i and L2=0Awould be incorrect on such systems.=0A=
=0ASigned-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>=0ASigned-off=
-by: Jan Beulich <jbeulich@suse.com>=0A=0A--- a/xen/arch/x86/cpu/amd.c=0A++=
+ b/xen/arch/x86/cpu/amd.c=0A@@ -471,6 +471,21 @@ static void __devinit =
init_amd(struct cp=0A 		}=0A 	}=0A =0A+	/* re-enable =
TopologyExtensions if switched off by BIOS */=0A+	if ((c->x86 =3D=3D =
0x15) &&=0A+	    (c->x86_model >=3D 0x10) && (c->x86_model <=3D 0x1f) =
&&=0A+	    !cpu_has(c, X86_FEATURE_TOPOEXT) &&=0A+	    !rdmsr_safe(MSR=
_K8_EXT_FEATURE_MASK, value)) {=0A+		value |=3D 1ULL << 54;=0A+	=
	wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);=0A+		rdmsrl(MSR_=
K8_EXT_FEATURE_MASK, value);=0A+		if (value & (1ULL << 54)) =
{=0A+			set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);=0A=
+			printk(KERN_INFO "CPU: Re-enabling disabled "=0A+	=
		       "Topology Extensions Support\n");=0A+		=
}=0A+	}=0A+=0A         amd_get_topology(c);=0A =0A 	/* Pointless to =
use MWAIT on Family10 as it does not deep sleep. */=0A
--=__Part2907ADFE.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part2907ADFE.1__=--


From xen-devel-bounces@lists.xen.org Wed May 30 15:05:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkSi-0004sU-Rf; Wed, 30 May 2012 15:05:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkSh-0004sM-NL
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:05:23 +0000
Received: from [85.158.143.35:6254] by server-1.bemta-4.messagelabs.com id
	8C/61-27869-33736CF4; Wed, 30 May 2012 15:05:23 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338390321!14834067!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2785 invoked from network); 30 May 2012 15:05:22 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-3.tower-21.messagelabs.com with SMTP;
	30 May 2012 15:05:22 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	407781D99AE; Wed, 30 May 2012 17:05:21 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338390321; bh=xTnoX+Qa4EXPiJAOuZkftev5RnCKMu4rgWcx+WM9K2c=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=deYC39cNQueCEA5oZbj+FUciRmlgV75+isKu9P
	nxGSl0zQW9PxcDcyDKVIKmqbN9ThPeqzqMBchxCpLDY4r6NPZcLbXb6aKfadrMXf0LF
	mi5nUamHdWzWCi80JZ7rB9zUVOIN9NU7YhPp+AIn3ei0ub1ezHUyvCyPIG0dfTduo0=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id HA2bKJCr3mm7; Wed, 30 May 2012 17:05:21 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:05:21 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id D68A0AA0EC; Wed, 30 May 2012 17:05:20 +0200 (CEST)
Date: Wed, 30 May 2012 17:05:20 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530150520.GC15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andre Przywara <andre.przywara@amd.com>, mingo@elte.hu,
	tglx@linutronix.de, konrad.wilk@oracle.com, jeremy@goop.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	stable@vger.kernel.org
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
	<4FC6358F.2010405@zytor.com>
	<20120530150007.GB15438@x1.osrc.amd.com>
	<4FC6363F.3040208@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6363F.3040208@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 08:01:19AM -0700, H. Peter Anvin wrote:
> >> I'm not following: If the AMD variants (putting a special value into
> >> %edi) can be freely replaced by the non-AMD variants, why did
> >> the AMD special ones get used in the first place?
> 
> > Older CPUs (K8) needed the AMD variants, starting with family 10h we
> > can use the normal versions.
> 
> So no, not correct.

I don't see what the problem is: the amd* variants shouldn't have been
used at all in the first place. Fullstop. The patch should've been doing
*msrl_safe from the get-go. Regardless of family.

So what's the issue?

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:05:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkSi-0004sU-Rf; Wed, 30 May 2012 15:05:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkSh-0004sM-NL
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:05:23 +0000
Received: from [85.158.143.35:6254] by server-1.bemta-4.messagelabs.com id
	8C/61-27869-33736CF4; Wed, 30 May 2012 15:05:23 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338390321!14834067!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2785 invoked from network); 30 May 2012 15:05:22 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-3.tower-21.messagelabs.com with SMTP;
	30 May 2012 15:05:22 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	407781D99AE; Wed, 30 May 2012 17:05:21 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338390321; bh=xTnoX+Qa4EXPiJAOuZkftev5RnCKMu4rgWcx+WM9K2c=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=deYC39cNQueCEA5oZbj+FUciRmlgV75+isKu9P
	nxGSl0zQW9PxcDcyDKVIKmqbN9ThPeqzqMBchxCpLDY4r6NPZcLbXb6aKfadrMXf0LF
	mi5nUamHdWzWCi80JZ7rB9zUVOIN9NU7YhPp+AIn3ei0ub1ezHUyvCyPIG0dfTduo0=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id HA2bKJCr3mm7; Wed, 30 May 2012 17:05:21 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:05:21 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id D68A0AA0EC; Wed, 30 May 2012 17:05:20 +0200 (CEST)
Date: Wed, 30 May 2012 17:05:20 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530150520.GC15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andre Przywara <andre.przywara@amd.com>, mingo@elte.hu,
	tglx@linutronix.de, konrad.wilk@oracle.com, jeremy@goop.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	stable@vger.kernel.org
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC631D3.9080907@zytor.com>
	<20120530145523.GA15635@x1.osrc.amd.com>
	<4FC6358F.2010405@zytor.com>
	<20120530150007.GB15438@x1.osrc.amd.com>
	<4FC6363F.3040208@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6363F.3040208@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 08:01:19AM -0700, H. Peter Anvin wrote:
> >> I'm not following: If the AMD variants (putting a special value into
> >> %edi) can be freely replaced by the non-AMD variants, why did
> >> the AMD special ones get used in the first place?
> 
> > Older CPUs (K8) needed the AMD variants, starting with family 10h we
> > can use the normal versions.
> 
> So no, not correct.

I don't see what the problem is: the amd* variants shouldn't have been
used at all in the first place. Fullstop. The patch should've been doing
*msrl_safe from the get-go. Regardless of family.

So what's the issue?

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:09:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:09:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkWV-0005EO-MV; Wed, 30 May 2012 15:09:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZkWU-0005EJ-Hr
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:09:18 +0000
Received: from [85.158.138.51:9057] by server-10.bemta-3.messagelabs.com id
	1B/AE-12071-D1836CF4; Wed, 30 May 2012 15:09:17 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338390555!29835024!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14265 invoked from network); 30 May 2012 15:09:16 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-174.messagelabs.com with SMTP;
	30 May 2012 15:09:16 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 08:09:15 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149513781"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 08:09:15 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 08:09:14 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 23:09:12 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPnYr38x3t8sIdUWVPx/os9fTyw==
Date: Wed, 30 May 2012 15:09:12 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
In-Reply-To: <20120529133858.GD29157@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> Still no go, this is current linus with your patch applied. I'll look
> into it 
> later when there's time.

The root cause is,
1). at cpu/mcheck/mce.c, device_initcall_sync(mcheck_init_device) is *after* all device_initcall();
2). at cpu/mcheck/mce_amd.c, device_initcall(threshold_init_device) will
    threshold_init_device 
    --> threshold_create_device 
    --> threshold_create_bank
    --> kobject_create_and_add(name, &dev->kobj);
        // at this point, struct device *dev = per_cpu(mce_device, cpu), which is a NULL pointer.
        // mce_device is initialized at mcheck_init_device --> mce_device_create
3). so kernel panic

So our RFC patch would affect amd mce logic.

===========================

I have a thought about symlink approach, but seems it would bring more issues, e.g.
1). it need change more native mce code, like remove /dev/mcelog which created at native mce (under xen platform), or
2). it still need to change device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device), if it want to implicitly block native /dev/mcelog --> but that would panic amd mce logic.

IMO currently there are 2 options:
1). use the original approach (implicitly redirect /dev/mcelog to xen_mce_chrdev_device) --> what point of this approach do you think unreasonable? It just remove a 'static' from native mce code!
2). use another /dev/xen-mcelog interface, with another misc minor '226'

Your thoughts?

Thanks,
Jinsong

> 
> [    3.644961] initlevel:6=device, 250 registered initcalls
> [    3.652666] BUG: unable to handle kernel NULL pointer dereference
> at 0000000000000048 [    3.661186] IP: [<ffffffff811ced67>]
> kobject_get+0x11/0x34 [    3.667018] PGD 0
> [    3.669409] Oops: 0000 [#1] SMP
> [    3.672988] CPU 21
> [    3.675436] Modules linked in:
> [    3.678839]
> [    3.680710] Pid: 1, comm: swapper/0 Tainted: G        W    3.4.0+
> #1 AMD [    3.689103] RIP: 0010:[<ffffffff811ced67>] 
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.697665] RSP:
> 0000:ffff880425c67cd0  EFLAGS: 00010202 [    3.703322] RAX:
> ffff880425ff40b0 RBX: 0000000000000010 RCX: ffff880425c67c50 [   
> 3.710801] RDX: ffff880425ff4000 RSI: ffff8808259c5380 RDI:
> 0000000000000010 [    3.718302] RBP: ffff880425c67ce0 R08:
> 00000000fffffffe R09: 00000000ffffffff [    3.725780] R10:
> ffff8804a5c67e5f R11: 0000000000000000 R12: 0000000000000010 [   
> 3.733258] R13: 00000000fffffffe R14: 000000000000cbf8 R15:
> 0000000000011ec0 [    3.740738] FS:  0000000000000000(0000)
> GS:ffff880c27cc0000(0000) knlGS:0000000000000000 [    3.749472] CS: 
> 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [    3.755564] CR2:
> 0000000000000048 CR3: 0000000001a0b000 CR4: 00000000000007e0 [   
> 3.763044] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000 [    3.770549] DR3: 0000000000000000 DR6:
> 00000000ffff0ff0 DR7: 0000000000000400 [    3.778026] Process
> swapper/0 (pid: 1, threadinfo ffff880425c66000, task
> ffff880425c78000) [    3.786934] Stack: [    3.789326] 
> ffff880425c67d20 ffff8808259c5380 ffff880425c67d40 ffffffff811cedeb [
> 3.797368]  ffff880425c67d70 ffff880425c67da0 ffff8808259c5380
> ffff8808259c5380 [    3.805411]  0000000000000000 ffff8808259c5380
> 0000000000000010 0000000000000000 [    3.813453] Call Trace: [   
> 3.816253]  [<ffffffff811cedeb>] kobject_add_internal+0x61/0x249 [   
> 3.822693]  [<ffffffff811cf3ca>] kobject_add+0x91/0xa2 [    3.828290] 
> [<ffffffff811cf5a9>] kobject_create_and_add+0x37/0x68 [    3.834821] 
> [<ffffffff8144b91a>] threshold_create_device+0x1e5/0x342 [   
> 3.841633]  [<ffffffff814549c5>] ? mutex_lock+0x16/0x37 [    3.847295]
> [<ffffffff81031894>] ? cpu_maps_update_done+0x15/0x2d [    3.853824] 
> [<ffffffff81ad0b0e>] threshold_init_device+0x1b/0x4f [    3.860265] 
> [<ffffffff81ad0af3>] ? severities_debugfs_init+0x3b/0x3b [   
> 3.867054]  [<ffffffff810002f9>] do_one_initcall+0x7f/0x136 [   
> 3.873062]  [<ffffffff81ac8bca>] kernel_init+0x165/0x1fd [   
> 3.878807]  [<ffffffff81ac8495>] ? loglevel+0x31/0x31 [    3.884321] 
> [<ffffffff8145e8d4>] kernel_thread_helper+0x4/0x10 [    3.890590] 
> [<ffffffff81456d86>] ? retint_restore_args+0xe/0xe [    3.896885] 
> [<ffffffff81ac8a65>] ? start_kernel+0x2ee/0x2ee [    3.902893] 
> [<ffffffff8145e8d0>] ? gs_change+0xb/0xb [    3.908322] Code: aa 81
> 31 c0 e8 ac 90 01 00 4c 89 f7 e8 c5 42 f2 ff 5b 41 5c 41 5d 41 5e c9
> c3 55 48 89 e5 53 48 89 fb 48 83 ec 08 48 85 ff 74 1c <8b> 47 38 85
> c0 75 11 be 29 00 00 00 48 c7 c7 16 87 79 81 e8 95 [    3.928115] RIP
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.934032]  RSP
> <ffff880425c67cd0> [    3.937870] CR2: 0000000000000048 [   
> 3.941548] ---[ end trace 4eaa2a86a8e2da23 ]--- [    3.946581] Kernel
> panic - not syncing: Attempted to kill init! exitcode=0x00000009 [   
> 3.946581]     


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:09:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:09:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkWV-0005EO-MV; Wed, 30 May 2012 15:09:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZkWU-0005EJ-Hr
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:09:18 +0000
Received: from [85.158.138.51:9057] by server-10.bemta-3.messagelabs.com id
	1B/AE-12071-D1836CF4; Wed, 30 May 2012 15:09:17 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338390555!29835024!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14265 invoked from network); 30 May 2012 15:09:16 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-174.messagelabs.com with SMTP;
	30 May 2012 15:09:16 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 08:09:15 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149513781"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 08:09:15 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 08:09:14 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 23:09:12 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPnYr38x3t8sIdUWVPx/os9fTyw==
Date: Wed, 30 May 2012 15:09:12 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
In-Reply-To: <20120529133858.GD29157@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	'Konrad Rzeszutek Wilk' <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> 
> Still no go, this is current linus with your patch applied. I'll look
> into it 
> later when there's time.

The root cause is,
1). at cpu/mcheck/mce.c, device_initcall_sync(mcheck_init_device) is *after* all device_initcall();
2). at cpu/mcheck/mce_amd.c, device_initcall(threshold_init_device) will
    threshold_init_device 
    --> threshold_create_device 
    --> threshold_create_bank
    --> kobject_create_and_add(name, &dev->kobj);
        // at this point, struct device *dev = per_cpu(mce_device, cpu), which is a NULL pointer.
        // mce_device is initialized at mcheck_init_device --> mce_device_create
3). so kernel panic

So our RFC patch would affect amd mce logic.

===========================

I have a thought about symlink approach, but seems it would bring more issues, e.g.
1). it need change more native mce code, like remove /dev/mcelog which created at native mce (under xen platform), or
2). it still need to change device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device), if it want to implicitly block native /dev/mcelog --> but that would panic amd mce logic.

IMO currently there are 2 options:
1). use the original approach (implicitly redirect /dev/mcelog to xen_mce_chrdev_device) --> what point of this approach do you think unreasonable? It just remove a 'static' from native mce code!
2). use another /dev/xen-mcelog interface, with another misc minor '226'

Your thoughts?

Thanks,
Jinsong

> 
> [    3.644961] initlevel:6=device, 250 registered initcalls
> [    3.652666] BUG: unable to handle kernel NULL pointer dereference
> at 0000000000000048 [    3.661186] IP: [<ffffffff811ced67>]
> kobject_get+0x11/0x34 [    3.667018] PGD 0
> [    3.669409] Oops: 0000 [#1] SMP
> [    3.672988] CPU 21
> [    3.675436] Modules linked in:
> [    3.678839]
> [    3.680710] Pid: 1, comm: swapper/0 Tainted: G        W    3.4.0+
> #1 AMD [    3.689103] RIP: 0010:[<ffffffff811ced67>] 
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.697665] RSP:
> 0000:ffff880425c67cd0  EFLAGS: 00010202 [    3.703322] RAX:
> ffff880425ff40b0 RBX: 0000000000000010 RCX: ffff880425c67c50 [   
> 3.710801] RDX: ffff880425ff4000 RSI: ffff8808259c5380 RDI:
> 0000000000000010 [    3.718302] RBP: ffff880425c67ce0 R08:
> 00000000fffffffe R09: 00000000ffffffff [    3.725780] R10:
> ffff8804a5c67e5f R11: 0000000000000000 R12: 0000000000000010 [   
> 3.733258] R13: 00000000fffffffe R14: 000000000000cbf8 R15:
> 0000000000011ec0 [    3.740738] FS:  0000000000000000(0000)
> GS:ffff880c27cc0000(0000) knlGS:0000000000000000 [    3.749472] CS: 
> 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [    3.755564] CR2:
> 0000000000000048 CR3: 0000000001a0b000 CR4: 00000000000007e0 [   
> 3.763044] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000 [    3.770549] DR3: 0000000000000000 DR6:
> 00000000ffff0ff0 DR7: 0000000000000400 [    3.778026] Process
> swapper/0 (pid: 1, threadinfo ffff880425c66000, task
> ffff880425c78000) [    3.786934] Stack: [    3.789326] 
> ffff880425c67d20 ffff8808259c5380 ffff880425c67d40 ffffffff811cedeb [
> 3.797368]  ffff880425c67d70 ffff880425c67da0 ffff8808259c5380
> ffff8808259c5380 [    3.805411]  0000000000000000 ffff8808259c5380
> 0000000000000010 0000000000000000 [    3.813453] Call Trace: [   
> 3.816253]  [<ffffffff811cedeb>] kobject_add_internal+0x61/0x249 [   
> 3.822693]  [<ffffffff811cf3ca>] kobject_add+0x91/0xa2 [    3.828290] 
> [<ffffffff811cf5a9>] kobject_create_and_add+0x37/0x68 [    3.834821] 
> [<ffffffff8144b91a>] threshold_create_device+0x1e5/0x342 [   
> 3.841633]  [<ffffffff814549c5>] ? mutex_lock+0x16/0x37 [    3.847295]
> [<ffffffff81031894>] ? cpu_maps_update_done+0x15/0x2d [    3.853824] 
> [<ffffffff81ad0b0e>] threshold_init_device+0x1b/0x4f [    3.860265] 
> [<ffffffff81ad0af3>] ? severities_debugfs_init+0x3b/0x3b [   
> 3.867054]  [<ffffffff810002f9>] do_one_initcall+0x7f/0x136 [   
> 3.873062]  [<ffffffff81ac8bca>] kernel_init+0x165/0x1fd [   
> 3.878807]  [<ffffffff81ac8495>] ? loglevel+0x31/0x31 [    3.884321] 
> [<ffffffff8145e8d4>] kernel_thread_helper+0x4/0x10 [    3.890590] 
> [<ffffffff81456d86>] ? retint_restore_args+0xe/0xe [    3.896885] 
> [<ffffffff81ac8a65>] ? start_kernel+0x2ee/0x2ee [    3.902893] 
> [<ffffffff8145e8d0>] ? gs_change+0xb/0xb [    3.908322] Code: aa 81
> 31 c0 e8 ac 90 01 00 4c 89 f7 e8 c5 42 f2 ff 5b 41 5c 41 5d 41 5e c9
> c3 55 48 89 e5 53 48 89 fb 48 83 ec 08 48 85 ff 74 1c <8b> 47 38 85
> c0 75 11 be 29 00 00 00 48 c7 c7 16 87 79 81 e8 95 [    3.928115] RIP
> [<ffffffff811ced67>] kobject_get+0x11/0x34 [    3.934032]  RSP
> <ffff880425c67cd0> [    3.937870] CR2: 0000000000000048 [   
> 3.941548] ---[ end trace 4eaa2a86a8e2da23 ]--- [    3.946581] Kernel
> panic - not syncing: Attempted to kill init! exitcode=0x00000009 [   
> 3.946581]     


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:10:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:10:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkXC-0005H8-4S; Wed, 30 May 2012 15:10:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkXB-0005Gt-45
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:10:01 +0000
Received: from [193.109.254.147:4087] by server-3.bemta-14.messagelabs.com id
	24/54-15022-84836CF4; Wed, 30 May 2012 15:10:00 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338390513!5201498!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28175 invoked from network); 30 May 2012 15:08:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:08:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:08:33 +0100
Message-Id: <4FC6540E0200007800086EF7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:08:30 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "H. Peter Anvin" <hpa@zytor.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
In-Reply-To: <4FC633A7.1050406@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 16:50, "H. Peter Anvin" <hpa@zytor.com> wrote:
> On 05/30/2012 07:39 AM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
>>> Because we are behind a family check before tweaking the topology
>>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>>> register.
>>> This fixes a crash when using the kernel as a Xen Dom0 on affected
>>> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
>>> yet (this will be fixed in another patch).
>> 
>> So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
>> the pv_cpu_ops - would this patch even be neccessary?
>> 
> 
> That is still bogus;  a better thing would be to implement the _regs
> interface.  Even better would be to trap and emulate rdmsr/wrmsr!

The crash is not on the wrmsr instruction, but on the paravirt
layer finding a NULL pointer in one of the methods. Xen does
trap and emulate (possibly just ignore) both instructions.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:10:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:10:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkXC-0005H8-4S; Wed, 30 May 2012 15:10:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkXB-0005Gt-45
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:10:01 +0000
Received: from [193.109.254.147:4087] by server-3.bemta-14.messagelabs.com id
	24/54-15022-84836CF4; Wed, 30 May 2012 15:10:00 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338390513!5201498!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28175 invoked from network); 30 May 2012 15:08:34 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:08:34 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:08:33 +0100
Message-Id: <4FC6540E0200007800086EF7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:08:30 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "H. Peter Anvin" <hpa@zytor.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
In-Reply-To: <4FC633A7.1050406@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 16:50, "H. Peter Anvin" <hpa@zytor.com> wrote:
> On 05/30/2012 07:39 AM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 30, 2012 at 03:10:02PM +0200, Andre Przywara wrote:
>>> Because we are behind a family check before tweaking the topology
>>> bit, we can use the standard rd/wrmsr variants for the CPUID feature
>>> register.
>>> This fixes a crash when using the kernel as a Xen Dom0 on affected
>>> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
>>> yet (this will be fixed in another patch).
>> 
>> So with a rdmsrl_amd_safe and wrmsrl_amd_safe being implemented in
>> the pv_cpu_ops - would this patch even be neccessary?
>> 
> 
> That is still bogus;  a better thing would be to implement the _regs
> interface.  Even better would be to trap and emulate rdmsr/wrmsr!

The crash is not on the wrmsr instruction, but on the paravirt
layer finding a NULL pointer in one of the methods. Xen does
trap and emulate (possibly just ignore) both instructions.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:12:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:12:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkZk-0005Sn-MC; Wed, 30 May 2012 15:12:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkZj-0005Se-53
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:12:39 +0000
Received: from [85.158.143.35:54715] by server-3.bemta-4.messagelabs.com id
	0E/F0-04252-6E836CF4; Wed, 30 May 2012 15:12:38 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338390757!6685250!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19122 invoked from network); 30 May 2012 15:12:37 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-21.messagelabs.com with SMTP;
	30 May 2012 15:12:37 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	A20D41D99AE; Wed, 30 May 2012 17:12:36 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338390756; bh=81riR18WP6V4DAyINwvtWzXeI99sDhmTFKqZebJ0AyQ=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=D7H+UHv1XZFSRg7FX2qQ/0rbEQvPJUYilH+EQT
	dGUPePmZpnmoJZm5xc14DvSL7UYorfl0v+L/qNDHTLPmrFbhmdnPMVAZyz/30Llp2l4
	wu2IuOCo5Ffy5qjD6j/pFRMm49/B3OXY2rLXQzZ06PxqlRyDiNVY5GINPTaD7pkKIA=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id bwBLOBSzeQVB; Wed, 30 May 2012 17:12:36 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:12:36 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 455BFAA0EC; Wed, 30 May 2012 17:12:36 +0200 (CEST)
Date: Wed, 30 May 2012 17:12:36 +0200
From: Borislav Petkov <bp@alien8.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120530151235.GB15635@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Jan Beulich <JBeulich@suse.com>,
	Andre Przywara <andre.przywara@amd.com>,
	Jacob Shin <Jacob.Shin@amd.com>, mingo@elte.hu, jeremy@goop.org,
	tglx@linutronix.de, xen-devel@lists.xensource.com,
	linux-kernel@vger.kernel.org
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530144929.GH3207@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <Jacob.Shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:49:29AM -0400, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 07:42:56AM -0700, H. Peter Anvin wrote:
> > On 05/30/2012 07:23 AM, Jan Beulich wrote:
> > > 
> > > I see - the Xen code blindly overwrites pv_cpu_ops, despite not
> > > having initialized all members. That's an obvious oversight of the
> > > patch that introduced the _regs variants.
> > > 
> > > Plus having secondary instances of things like rdmsrl_amd_safe()
> > > in asm/paravirt.h seems pretty strange an approach (which was
> > > why initially I didn't spot how a crash could happen there) - only
> > > the lowest level functions should get re-implemented here.
> > > 
> > 
> > This kinds of things are part of why Xen makes me want to cry regularly.
> 
> It looks like an oversight by Borislav (177fed1ee8d727c39601ce9fc2299b4cb25a718e
> and 132ec92f) and Yinghai (b05f78f5c713eda2c34e495d92495ee4f1c3b5e1) where
> they added these wrappers way back in 2009!

This is exactly why xen has nothing to do in arch/x86/. It is not an
oversight - I simply didn't test it on xen because I don't care about
it.

Remember our last discussion about mcelog?

This current case should be a perfect example for why xen shouldn't be
sprinkling code all over the place.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:12:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:12:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkZk-0005Sn-MC; Wed, 30 May 2012 15:12:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZkZj-0005Se-53
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:12:39 +0000
Received: from [85.158.143.35:54715] by server-3.bemta-4.messagelabs.com id
	0E/F0-04252-6E836CF4; Wed, 30 May 2012 15:12:38 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338390757!6685250!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19122 invoked from network); 30 May 2012 15:12:37 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-21.messagelabs.com with SMTP;
	30 May 2012 15:12:37 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	A20D41D99AE; Wed, 30 May 2012 17:12:36 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338390756; bh=81riR18WP6V4DAyINwvtWzXeI99sDhmTFKqZebJ0AyQ=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=D7H+UHv1XZFSRg7FX2qQ/0rbEQvPJUYilH+EQT
	dGUPePmZpnmoJZm5xc14DvSL7UYorfl0v+L/qNDHTLPmrFbhmdnPMVAZyz/30Llp2l4
	wu2IuOCo5Ffy5qjD6j/pFRMm49/B3OXY2rLXQzZ06PxqlRyDiNVY5GINPTaD7pkKIA=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id bwBLOBSzeQVB; Wed, 30 May 2012 17:12:36 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:12:36 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 455BFAA0EC; Wed, 30 May 2012 17:12:36 +0200 (CEST)
Date: Wed, 30 May 2012 17:12:36 +0200
From: Borislav Petkov <bp@alien8.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120530151235.GB15635@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Jan Beulich <JBeulich@suse.com>,
	Andre Przywara <andre.przywara@amd.com>,
	Jacob Shin <Jacob.Shin@amd.com>, mingo@elte.hu, jeremy@goop.org,
	tglx@linutronix.de, xen-devel@lists.xensource.com,
	linux-kernel@vger.kernel.org
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530144929.GH3207@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <Jacob.Shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:49:29AM -0400, Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 07:42:56AM -0700, H. Peter Anvin wrote:
> > On 05/30/2012 07:23 AM, Jan Beulich wrote:
> > > 
> > > I see - the Xen code blindly overwrites pv_cpu_ops, despite not
> > > having initialized all members. That's an obvious oversight of the
> > > patch that introduced the _regs variants.
> > > 
> > > Plus having secondary instances of things like rdmsrl_amd_safe()
> > > in asm/paravirt.h seems pretty strange an approach (which was
> > > why initially I didn't spot how a crash could happen there) - only
> > > the lowest level functions should get re-implemented here.
> > > 
> > 
> > This kinds of things are part of why Xen makes me want to cry regularly.
> 
> It looks like an oversight by Borislav (177fed1ee8d727c39601ce9fc2299b4cb25a718e
> and 132ec92f) and Yinghai (b05f78f5c713eda2c34e495d92495ee4f1c3b5e1) where
> they added these wrappers way back in 2009!

This is exactly why xen has nothing to do in arch/x86/. It is not an
oversight - I simply didn't test it on xen because I don't care about
it.

Remember our last discussion about mcelog?

This current case should be a perfect example for why xen shouldn't be
sprinkling code all over the place.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:15:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:15:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkc6-0005dN-D8; Wed, 30 May 2012 15:15:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZkc4-0005dE-9h
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:15:04 +0000
Received: from [85.158.143.99:24855] by server-2.bemta-4.messagelabs.com id
	E2/8F-11595-77936CF4; Wed, 30 May 2012 15:15:03 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338390900!25226186!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3142 invoked from network); 30 May 2012 15:15:01 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-216.messagelabs.com with SMTP;
	30 May 2012 15:15:01 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 08:14:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149516449"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 08:14:59 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 08:14:59 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 23:14:57 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybwgAZKceCAAVatYA==
Date: Wed, 30 May 2012 15:14:57 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC4A6@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
	<20120529183952.GA31237@phenom.dumpdata.com>
In-Reply-To: <20120529183952.GA31237@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>> An approach which basically same as you suggested but w/ slightly
>> update, is 1). at xen/mcelog.c, do
>> misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog,
>> define it as device_initcall(xen_late_init_mcelog) --> now linux dd
>> ready, so xen mcelog divice would register successfully;   
> 
> OK.
>> 2). at native mce.c, change 1 line from
>> device_initcall(mcheck_init_device) to
>> device_initcall_sync(mcheck_init_device) --> so
>> misc_register(&mce_chrdev_device) would be blocked by xen mcelog
>> device;    
> 
> You mean that the registration would be delayed to the next initcall
> level. 
> Ok, that sounds right.. but you also need to actually check the
> 'misc_register' return value and if it fails (which it would in this
> case) unroll all the registration 
> that the generic code I think?

Hmm, this patch blocked AMD mce logic, it's unacceptable.

Thanks,
Jinsong

> 
>> 
>> I have draft test it and works fine.
>> Thought?
>> 
>> Thanks,
>> Jinsong
>> --
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-kernel" in 
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:15:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:15:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkc6-0005dN-D8; Wed, 30 May 2012 15:15:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZkc4-0005dE-9h
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:15:04 +0000
Received: from [85.158.143.99:24855] by server-2.bemta-4.messagelabs.com id
	E2/8F-11595-77936CF4; Wed, 30 May 2012 15:15:03 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338390900!25226186!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3142 invoked from network); 30 May 2012 15:15:01 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-216.messagelabs.com with SMTP;
	30 May 2012 15:15:01 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 08:14:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149516449"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 08:14:59 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 08:14:59 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 23:14:57 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (v2)
Thread-Index: AQHNOqBYr6jLO/PX8Ee8ZH/5SHvSCZba1ybwgAZKceCAAVatYA==
Date: Wed, 30 May 2012 15:14:57 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC4A6@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351D6892@SHSMSX101.ccr.corp.intel.com>
	<20120522092354.GB18578@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F4313@SHSMSX101.ccr.corp.intel.com>
	<20120529183952.GA31237@phenom.dumpdata.com>
In-Reply-To: <20120529183952.GA31237@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
 platform (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
>> An approach which basically same as you suggested but w/ slightly
>> update, is 1). at xen/mcelog.c, do
>> misc_register(&xen_mce_chrdev_device) at xen_late_init_mcelog,
>> define it as device_initcall(xen_late_init_mcelog) --> now linux dd
>> ready, so xen mcelog divice would register successfully;   
> 
> OK.
>> 2). at native mce.c, change 1 line from
>> device_initcall(mcheck_init_device) to
>> device_initcall_sync(mcheck_init_device) --> so
>> misc_register(&mce_chrdev_device) would be blocked by xen mcelog
>> device;    
> 
> You mean that the registration would be delayed to the next initcall
> level. 
> Ok, that sounds right.. but you also need to actually check the
> 'misc_register' return value and if it fails (which it would in this
> case) unroll all the registration 
> that the generic code I think?

Hmm, this patch blocked AMD mce logic, it's unacceptable.

Thanks,
Jinsong

> 
>> 
>> I have draft test it and works fine.
>> Thought?
>> 
>> Thanks,
>> Jinsong
>> --
>> To unsubscribe from this list: send the line "unsubscribe
>> linux-kernel" in 
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:15:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:15:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkcf-0005gl-VP; Wed, 30 May 2012 15:15:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkce-0005gO-8m
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:15:40 +0000
Received: from [85.158.143.99:20693] by server-3.bemta-4.messagelabs.com id
	54/57-04252-B9936CF4; Wed, 30 May 2012 15:15:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338390936!29991338!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12660 invoked from network); 30 May 2012 15:15:38 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:15:38 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UFFG0q011455
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 15:15:17 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UFFF3Q028278
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 15:15:15 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UFFFNh017689; Wed, 30 May 2012 10:15:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 08:15:14 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C51BC402B7; Wed, 30 May 2012 11:08:27 -0400 (EDT)
Date: Wed, 30 May 2012 11:08:27 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120530150827.GA12109@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 03:09:12PM +0000, Liu, Jinsong wrote:
> > 
> > Still no go, this is current linus with your patch applied. I'll look
> > into it 
> > later when there's time.
> 
> The root cause is,
> 1). at cpu/mcheck/mce.c, device_initcall_sync(mcheck_init_device) is *after* all device_initcall();
> 2). at cpu/mcheck/mce_amd.c, device_initcall(threshold_init_device) will
>     threshold_init_device 
>     --> threshold_create_device 
>     --> threshold_create_bank
>     --> kobject_create_and_add(name, &dev->kobj);
>         // at this point, struct device *dev = per_cpu(mce_device, cpu), which is a NULL pointer.
>         // mce_device is initialized at mcheck_init_device --> mce_device_create
> 3). so kernel panic
> 
> So our RFC patch would affect amd mce logic.
> 
> ===========================
> 
> I have a thought about symlink approach, but seems it would bring more issues, e.g.
> 1). it need change more native mce code, like remove /dev/mcelog which created at native mce (under xen platform), or
> 2). it still need to change device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device), if it want to implicitly block native /dev/mcelog --> but that would panic amd mce logic.
> 
> IMO currently there are 2 options:
> 1). use the original approach (implicitly redirect /dev/mcelog to xen_mce_chrdev_device) --> what point of this approach do you think unreasonable? It just remove a 'static' from native mce code!
> 2). use another /dev/xen-mcelog interface, with another misc minor '226'

The 2) is no good.

3) What about moving the corresponding other users (so threshold_init_device), 
to be at late_initcall and the mce to be at late_initcall_sync

4) Or make the driver you are making start at fs_initcall ?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:15:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:15:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkcf-0005gl-VP; Wed, 30 May 2012 15:15:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZkce-0005gO-8m
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:15:40 +0000
Received: from [85.158.143.99:20693] by server-3.bemta-4.messagelabs.com id
	54/57-04252-B9936CF4; Wed, 30 May 2012 15:15:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-216.messagelabs.com!1338390936!29991338!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12660 invoked from network); 30 May 2012 15:15:38 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:15:38 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UFFG0q011455
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 15:15:17 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UFFF3Q028278
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 15:15:15 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UFFFNh017689; Wed, 30 May 2012 10:15:15 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 08:15:14 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C51BC402B7; Wed, 30 May 2012 11:08:27 -0400 (EDT)
Date: Wed, 30 May 2012 11:08:27 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120530150827.GA12109@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 03:09:12PM +0000, Liu, Jinsong wrote:
> > 
> > Still no go, this is current linus with your patch applied. I'll look
> > into it 
> > later when there's time.
> 
> The root cause is,
> 1). at cpu/mcheck/mce.c, device_initcall_sync(mcheck_init_device) is *after* all device_initcall();
> 2). at cpu/mcheck/mce_amd.c, device_initcall(threshold_init_device) will
>     threshold_init_device 
>     --> threshold_create_device 
>     --> threshold_create_bank
>     --> kobject_create_and_add(name, &dev->kobj);
>         // at this point, struct device *dev = per_cpu(mce_device, cpu), which is a NULL pointer.
>         // mce_device is initialized at mcheck_init_device --> mce_device_create
> 3). so kernel panic
> 
> So our RFC patch would affect amd mce logic.
> 
> ===========================
> 
> I have a thought about symlink approach, but seems it would bring more issues, e.g.
> 1). it need change more native mce code, like remove /dev/mcelog which created at native mce (under xen platform), or
> 2). it still need to change device_initcall(mcheck_init_device) to device_initcall_sync(mcheck_init_device), if it want to implicitly block native /dev/mcelog --> but that would panic amd mce logic.
> 
> IMO currently there are 2 options:
> 1). use the original approach (implicitly redirect /dev/mcelog to xen_mce_chrdev_device) --> what point of this approach do you think unreasonable? It just remove a 'static' from native mce code!
> 2). use another /dev/xen-mcelog interface, with another misc minor '226'

The 2) is no good.

3) What about moving the corresponding other users (so threshold_init_device), 
to be at late_initcall and the mce to be at late_initcall_sync

4) Or make the driver you are making start at fs_initcall ?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:20:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkh2-0005y9-Lu; Wed, 30 May 2012 15:20:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZkh1-0005y2-Ae
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:20:11 +0000
Received: from [85.158.139.83:15908] by server-8.bemta-5.messagelabs.com id
	7C/1A-25689-AAA36CF4; Wed, 30 May 2012 15:20:10 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338391207!23966654!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7755 invoked from network); 30 May 2012 15:20:09 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-182.messagelabs.com with SMTP;
	30 May 2012 15:20:09 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 08:20:06 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149518949"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 08:20:06 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 08:20:05 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 23:20:03 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPnevkUCikhMKs0eiUM2zIkY14A==
Date: Wed, 30 May 2012 15:20:03 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
In-Reply-To: <20120530150827.GA12109@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 03:09:12PM +0000, Liu, Jinsong wrote:
>>> 
>>> Still no go, this is current linus with your patch applied. I'll
>>> look into it later when there's time.
>> 
>> The root cause is,
>> 1). at cpu/mcheck/mce.c, device_initcall_sync(mcheck_init_device) is
>> *after* all device_initcall(); 2). at cpu/mcheck/mce_amd.c,
>> device_initcall(threshold_init_device) will    
>> threshold_init_device  
>>     --> threshold_create_device
>>     --> threshold_create_bank
>>     --> kobject_create_and_add(name, &dev->kobj);
>>         // at this point, struct device *dev = per_cpu(mce_device,
>>         cpu), which is a NULL pointer. // mce_device is initialized
>> at mcheck_init_device --> mce_device_create 3). so kernel panic 
>> 
>> So our RFC patch would affect amd mce logic.
>> 
>> ===========================
>> 
>> I have a thought about symlink approach, but seems it would bring
>> more issues, e.g. 1). it need change more native mce code, like
>> remove /dev/mcelog which created at native mce (under xen platform),
>> or 2). it still need to change device_initcall(mcheck_init_device)
>> to device_initcall_sync(mcheck_init_device), if it want to
>> implicitly block native /dev/mcelog --> but that would panic amd mce
>> logic.    
>> 
>> IMO currently there are 2 options:
>> 1). use the original approach (implicitly redirect /dev/mcelog to
>> xen_mce_chrdev_device) --> what point of this approach do you think
>> unreasonable? It just remove a 'static' from native mce code! 2).
>> use another /dev/xen-mcelog interface, with another misc minor '226'
> 
> The 2) is no good.
> 
> 3) What about moving the corresponding other users (so
> threshold_init_device), to be at late_initcall and the mce to be at
> late_initcall_sync 

I can try, but only if Boris would not jump out.
and it can only be tested by Boris at AMD platform :(

> 
> 4) Or make the driver you are making start at fs_initcall ?

It's risky, I'm not sure whether dd ready at that time point, but I can have a look at it.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:20:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkh2-0005y9-Lu; Wed, 30 May 2012 15:20:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZkh1-0005y2-Ae
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:20:11 +0000
Received: from [85.158.139.83:15908] by server-8.bemta-5.messagelabs.com id
	7C/1A-25689-AAA36CF4; Wed, 30 May 2012 15:20:10 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338391207!23966654!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7755 invoked from network); 30 May 2012 15:20:09 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-11.tower-182.messagelabs.com with SMTP;
	30 May 2012 15:20:09 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 08:20:06 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149518949"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 08:20:06 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 08:20:05 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Wed, 30 May 2012 23:20:03 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPnevkUCikhMKs0eiUM2zIkY14A==
Date: Wed, 30 May 2012 15:20:03 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351EC9B0@SHSMSX101.ccr.corp.intel.com>
	<20120524103023.GA27063@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
In-Reply-To: <20120530150827.GA12109@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@amd64.org>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Wed, May 30, 2012 at 03:09:12PM +0000, Liu, Jinsong wrote:
>>> 
>>> Still no go, this is current linus with your patch applied. I'll
>>> look into it later when there's time.
>> 
>> The root cause is,
>> 1). at cpu/mcheck/mce.c, device_initcall_sync(mcheck_init_device) is
>> *after* all device_initcall(); 2). at cpu/mcheck/mce_amd.c,
>> device_initcall(threshold_init_device) will    
>> threshold_init_device  
>>     --> threshold_create_device
>>     --> threshold_create_bank
>>     --> kobject_create_and_add(name, &dev->kobj);
>>         // at this point, struct device *dev = per_cpu(mce_device,
>>         cpu), which is a NULL pointer. // mce_device is initialized
>> at mcheck_init_device --> mce_device_create 3). so kernel panic 
>> 
>> So our RFC patch would affect amd mce logic.
>> 
>> ===========================
>> 
>> I have a thought about symlink approach, but seems it would bring
>> more issues, e.g. 1). it need change more native mce code, like
>> remove /dev/mcelog which created at native mce (under xen platform),
>> or 2). it still need to change device_initcall(mcheck_init_device)
>> to device_initcall_sync(mcheck_init_device), if it want to
>> implicitly block native /dev/mcelog --> but that would panic amd mce
>> logic.    
>> 
>> IMO currently there are 2 options:
>> 1). use the original approach (implicitly redirect /dev/mcelog to
>> xen_mce_chrdev_device) --> what point of this approach do you think
>> unreasonable? It just remove a 'static' from native mce code! 2).
>> use another /dev/xen-mcelog interface, with another misc minor '226'
> 
> The 2) is no good.
> 
> 3) What about moving the corresponding other users (so
> threshold_init_device), to be at late_initcall and the mce to be at
> late_initcall_sync 

I can try, but only if Boris would not jump out.
and it can only be tested by Boris at AMD platform :(

> 
> 4) Or make the driver you are making start at fs_initcall ?

It's risky, I'm not sure whether dd ready at that time point, but I can have a look at it.

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:20:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:20:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkhH-000602-7k; Wed, 30 May 2012 15:20:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkhG-0005zr-KM
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:20:26 +0000
Received: from [193.109.254.147:19896] by server-6.bemta-14.messagelabs.com id
	EC/0D-10397-9BA36CF4; Wed, 30 May 2012 15:20:25 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338391017!5203200!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 407 invoked from network); 30 May 2012 15:16:59 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:16:59 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UFFdth024452
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 08:15:40 -0700
Message-ID: <4FC63996.9040706@zytor.com>
Date: Wed, 30 May 2012 08:15:34 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
	<4FC6540E0200007800086EF7@nat28.tlf.novell.com>
In-Reply-To: <4FC6540E0200007800086EF7@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 08:08 AM, Jan Beulich wrote:
> 
> Xen does trap and emulate (possibly just ignore) both instructions.
> 

Then why the fsck is there paravirt_crap on this?

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:20:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:20:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkhH-000602-7k; Wed, 30 May 2012 15:20:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZkhG-0005zr-KM
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:20:26 +0000
Received: from [193.109.254.147:19896] by server-6.bemta-14.messagelabs.com id
	EC/0D-10397-9BA36CF4; Wed, 30 May 2012 15:20:25 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1338391017!5203200!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 407 invoked from network); 30 May 2012 15:16:59 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-11.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:16:59 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UFFdth024452
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 08:15:40 -0700
Message-ID: <4FC63996.9040706@zytor.com>
Date: Wed, 30 May 2012 08:15:34 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
	<4FC6540E0200007800086EF7@nat28.tlf.novell.com>
In-Reply-To: <4FC6540E0200007800086EF7@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 08:08 AM, Jan Beulich wrote:
> 
> Xen does trap and emulate (possibly just ignore) both instructions.
> 

Then why the fsck is there paravirt_crap on this?

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:23:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:23:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkkS-0006Eu-S1; Wed, 30 May 2012 15:23:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZkkR-0006En-NU
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:23:43 +0000
Received: from [85.158.143.99:22747] by server-2.bemta-4.messagelabs.com id
	A1/3F-11595-F7B36CF4; Wed, 30 May 2012 15:23:43 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338391420!20770838!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6257 invoked from network); 30 May 2012 15:23:41 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 15:23:41 -0000
Received: by eaak12 with SMTP id k12so1711168eaa.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 08:23:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=1brqrF49S+VW58p+T9DCnNVyvAEOtODAdXzgaDaza0I=;
	b=Dy2CaPjJuEnkY6AAfm3mRfw7dFJIcJl2D9LmzZiMi0H3iAW0GGkYpcdHX4rNEgQTJb
	QF/j0Mf3g10Z8lQnbPo8e1gPNgtmO1pQAYfyiSKY7lXH8UuVMvEZ4W5273a9Raa1wbXd
	Nqo1SDmwgDsTSekh95h0kYyKJ/eSUTMvKVow6sse0emm1h2aurvbGOFJNxuNisuz2hnn
	aeXjWy3VuNjzihzIgS8uyVB38k+tYGsghX2B7Mt7r+ElGdz1egma1PE1GMR53xOcq8KF
	89iC43zviPKsjPS4exipMUrPQkU9zdL6BZdmDZRctHEI4ur1zUKgArbWxU1nmiuWo2cO
	C8KA==
Received: by 10.14.127.66 with SMTP id c42mr6380496eei.185.1338391419603;
	Wed, 30 May 2012 08:23:39 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id t3sm61746799eeb.15.2012.05.30.08.23.35
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 08:23:37 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 30 May 2012 16:23:33 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBEBFA05.34827%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions
	in case BIOS has disabled it
Thread-Index: Ac0+eCyq5jtXMe4e8EGYwGdUEWSW7w==
In-Reply-To: <4FC6530E0200007800086EDB@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Andreas Herrmann <Andreas.Herrmann3@amd.com>
Subject: Re: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions
 in case BIOS has disabled it
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 16:04, "Jan Beulich" <JBeulich@suse.com> wrote:

> BIOS will switch off the corresponding feature flag on family
> 15h models 10h-1fh non-desktop CPUs.

Why would it do that? It seems silly.

> The topology extension CPUID leafs are required to detect which
> cores belong to the same compute unit. (thread siblings mask is
> set accordingly and also correct information about L1i and L2
> cache sharing depends on this).
> 
> W/o this patch we wouldn't see which cores belong to the same
> compute unit and also cache sharing information for L1i and L2
> would be incorrect on such systems.
> 
> Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Assuming there's no good reason for the BIOS having disabled the feature...

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -471,6 +471,21 @@ static void __devinit init_amd(struct cp
> }
> }
>  
> + /* re-enable TopologyExtensions if switched off by BIOS */
> + if ((c->x86 == 0x15) &&
> +     (c->x86_model >= 0x10) && (c->x86_model <= 0x1f) &&
> +     !cpu_has(c, X86_FEATURE_TOPOEXT) &&
> +     !rdmsr_safe(MSR_K8_EXT_FEATURE_MASK, value)) {
> +  value |= 1ULL << 54;
> +  wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);
> +  rdmsrl(MSR_K8_EXT_FEATURE_MASK, value);
> +  if (value & (1ULL << 54)) {
> +   set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);
> +   printk(KERN_INFO "CPU: Re-enabling disabled "
> +          "Topology Extensions Support\n");
> +  }
> + }
> +
>          amd_get_topology(c);
>  
> /* Pointless to use MWAIT on Family10 as it does not deep sleep. */
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:23:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:23:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkkS-0006Eu-S1; Wed, 30 May 2012 15:23:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZkkR-0006En-NU
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:23:43 +0000
Received: from [85.158.143.99:22747] by server-2.bemta-4.messagelabs.com id
	A1/3F-11595-F7B36CF4; Wed, 30 May 2012 15:23:43 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338391420!20770838!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6257 invoked from network); 30 May 2012 15:23:41 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 15:23:41 -0000
Received: by eaak12 with SMTP id k12so1711168eaa.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 08:23:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:cc:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=1brqrF49S+VW58p+T9DCnNVyvAEOtODAdXzgaDaza0I=;
	b=Dy2CaPjJuEnkY6AAfm3mRfw7dFJIcJl2D9LmzZiMi0H3iAW0GGkYpcdHX4rNEgQTJb
	QF/j0Mf3g10Z8lQnbPo8e1gPNgtmO1pQAYfyiSKY7lXH8UuVMvEZ4W5273a9Raa1wbXd
	Nqo1SDmwgDsTSekh95h0kYyKJ/eSUTMvKVow6sse0emm1h2aurvbGOFJNxuNisuz2hnn
	aeXjWy3VuNjzihzIgS8uyVB38k+tYGsghX2B7Mt7r+ElGdz1egma1PE1GMR53xOcq8KF
	89iC43zviPKsjPS4exipMUrPQkU9zdL6BZdmDZRctHEI4ur1zUKgArbWxU1nmiuWo2cO
	C8KA==
Received: by 10.14.127.66 with SMTP id c42mr6380496eei.185.1338391419603;
	Wed, 30 May 2012 08:23:39 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id t3sm61746799eeb.15.2012.05.30.08.23.35
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 08:23:37 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 30 May 2012 16:23:33 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBEBFA05.34827%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions
	in case BIOS has disabled it
Thread-Index: Ac0+eCyq5jtXMe4e8EGYwGdUEWSW7w==
In-Reply-To: <4FC6530E0200007800086EDB@nat28.tlf.novell.com>
Mime-version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Andreas Herrmann <Andreas.Herrmann3@amd.com>
Subject: Re: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions
 in case BIOS has disabled it
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 16:04, "Jan Beulich" <JBeulich@suse.com> wrote:

> BIOS will switch off the corresponding feature flag on family
> 15h models 10h-1fh non-desktop CPUs.

Why would it do that? It seems silly.

> The topology extension CPUID leafs are required to detect which
> cores belong to the same compute unit. (thread siblings mask is
> set accordingly and also correct information about L1i and L2
> cache sharing depends on this).
> 
> W/o this patch we wouldn't see which cores belong to the same
> compute unit and also cache sharing information for L1i and L2
> would be incorrect on such systems.
> 
> Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Assuming there's no good reason for the BIOS having disabled the feature...

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -471,6 +471,21 @@ static void __devinit init_amd(struct cp
> }
> }
>  
> + /* re-enable TopologyExtensions if switched off by BIOS */
> + if ((c->x86 == 0x15) &&
> +     (c->x86_model >= 0x10) && (c->x86_model <= 0x1f) &&
> +     !cpu_has(c, X86_FEATURE_TOPOEXT) &&
> +     !rdmsr_safe(MSR_K8_EXT_FEATURE_MASK, value)) {
> +  value |= 1ULL << 54;
> +  wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);
> +  rdmsrl(MSR_K8_EXT_FEATURE_MASK, value);
> +  if (value & (1ULL << 54)) {
> +   set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);
> +   printk(KERN_INFO "CPU: Re-enabling disabled "
> +          "Topology Extensions Support\n");
> +  }
> + }
> +
>          amd_get_topology(c);
>  
> /* Pointless to use MWAIT on Family10 as it does not deep sleep. */
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:29:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:29:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkq1-0006R3-Kr; Wed, 30 May 2012 15:29:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZkpz-0006Qy-IV
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:29:27 +0000
Received: from [85.158.143.35:55920] by server-2.bemta-4.messagelabs.com id
	82/29-11595-6DC36CF4; Wed, 30 May 2012 15:29:26 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338391766!15465855!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25794 invoked from network); 30 May 2012 15:29:26 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-16.tower-21.messagelabs.com with SMTP;
	30 May 2012 15:29:26 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id AAAF7C0063B;
	Wed, 30 May 2012 17:29:19 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id QTtWLAawC+St; Wed, 30 May 2012 17:29:19 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Wed, 30 May 2012 17:29:19 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 5FA5349C1FF;
	Wed, 30 May 2012 16:29:19 +0100 (BST)
Date: Wed, 30 May 2012 17:29:48 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120530152948.GD4771@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 03:20:03PM +0000, Liu, Jinsong wrote:
> >> IMO currently there are 2 options:
> >> 1). use the original approach (implicitly redirect /dev/mcelog to
> >> xen_mce_chrdev_device) --> what point of this approach do you think
> >> unreasonable? It just remove a 'static' from native mce code! 2).
> >> use another /dev/xen-mcelog interface, with another misc minor '226'
> > 
> > The 2) is no good.
> > 
> > 3) What about moving the corresponding other users (so
> > threshold_init_device), to be at late_initcall and the mce to be at
> > late_initcall_sync 
> 
> I can try, but only if Boris would not jump out.
> and it can only be tested by Boris at AMD platform :(

Sure, I'll test it.

However, it should be a separate patch, not merged with this one.

So, I don't see anything speaking against making threshold_init_device a
late_initcall leading to the following order:

device_initcall <- xen
device_initcall_sync <- arch/x86
fs_initcall <- threshold_init_device

and the "xen" line not happening on baremetal; which shouldn't change
anything noticeably in the init-order mce-wise.

Also, add a comment at the end of mce_amd.c saying why
threshold_init_device should be last.

Thanks.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:29:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:29:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkq1-0006R3-Kr; Wed, 30 May 2012 15:29:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZkpz-0006Qy-IV
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:29:27 +0000
Received: from [85.158.143.35:55920] by server-2.bemta-4.messagelabs.com id
	82/29-11595-6DC36CF4; Wed, 30 May 2012 15:29:26 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338391766!15465855!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25794 invoked from network); 30 May 2012 15:29:26 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-16.tower-21.messagelabs.com with SMTP;
	30 May 2012 15:29:26 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id AAAF7C0063B;
	Wed, 30 May 2012 17:29:19 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id QTtWLAawC+St; Wed, 30 May 2012 17:29:19 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Wed, 30 May 2012 17:29:19 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 5FA5349C1FF;
	Wed, 30 May 2012 16:29:19 +0100 (BST)
Date: Wed, 30 May 2012 17:29:48 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120530152948.GD4771@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 03:20:03PM +0000, Liu, Jinsong wrote:
> >> IMO currently there are 2 options:
> >> 1). use the original approach (implicitly redirect /dev/mcelog to
> >> xen_mce_chrdev_device) --> what point of this approach do you think
> >> unreasonable? It just remove a 'static' from native mce code! 2).
> >> use another /dev/xen-mcelog interface, with another misc minor '226'
> > 
> > The 2) is no good.
> > 
> > 3) What about moving the corresponding other users (so
> > threshold_init_device), to be at late_initcall and the mce to be at
> > late_initcall_sync 
> 
> I can try, but only if Boris would not jump out.
> and it can only be tested by Boris at AMD platform :(

Sure, I'll test it.

However, it should be a separate patch, not merged with this one.

So, I don't see anything speaking against making threshold_init_device a
late_initcall leading to the following order:

device_initcall <- xen
device_initcall_sync <- arch/x86
fs_initcall <- threshold_init_device

and the "xen" line not happening on baremetal; which shouldn't change
anything noticeably in the init-order mce-wise.

Also, add a comment at the end of mce_amd.c saying why
threshold_init_device should be last.

Thanks.

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:36:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:36:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkw7-0006cU-Cz; Wed, 30 May 2012 15:35:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkw6-0006cP-VY
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:35:47 +0000
Received: from [193.109.254.147:30436] by server-1.bemta-14.messagelabs.com id
	B0/42-07411-25E36CF4; Wed, 30 May 2012 15:35:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338392145!12016750!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28122 invoked from network); 30 May 2012 15:35:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:35:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:35:44 +0100
Message-Id: <4FC65A6D0200007800086F35@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:35:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <jeremy@goop.org>, "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
	<4FC6540E0200007800086EF7@nat28.tlf.novell.com>
	<4FC63996.9040706@zytor.com>
In-Reply-To: <4FC63996.9040706@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, xen-devel@lists.xensource.com,
	stable@vger.kernel.org#3.4+, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 17:15, "H. Peter Anvin" <hpa@zytor.com> wrote:
> On 05/30/2012 08:08 AM, Jan Beulich wrote:
>> 
>> Xen does trap and emulate (possibly just ignore) both instructions.
>> 
> 
> Then why the fsck is there paravirt_crap on this?

I have no clue. Jeremy, Konrad?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:36:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:36:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkw7-0006cU-Cz; Wed, 30 May 2012 15:35:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkw6-0006cP-VY
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:35:47 +0000
Received: from [193.109.254.147:30436] by server-1.bemta-14.messagelabs.com id
	B0/42-07411-25E36CF4; Wed, 30 May 2012 15:35:46 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338392145!12016750!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28122 invoked from network); 30 May 2012 15:35:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-4.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:35:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:35:44 +0100
Message-Id: <4FC65A6D0200007800086F35@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:35:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <jeremy@goop.org>, "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
	<4FC6540E0200007800086EF7@nat28.tlf.novell.com>
	<4FC63996.9040706@zytor.com>
In-Reply-To: <4FC63996.9040706@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, xen-devel@lists.xensource.com,
	stable@vger.kernel.org#3.4+, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 17:15, "H. Peter Anvin" <hpa@zytor.com> wrote:
> On 05/30/2012 08:08 AM, Jan Beulich wrote:
>> 
>> Xen does trap and emulate (possibly just ignore) both instructions.
>> 
> 
> Then why the fsck is there paravirt_crap on this?

I have no clue. Jeremy, Konrad?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:36:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:36:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkwi-0006ef-Q1; Wed, 30 May 2012 15:36:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkwh-0006eX-MP
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:36:23 +0000
Received: from [193.109.254.147:17686] by server-4.bemta-14.messagelabs.com id
	CD/68-03148-67E36CF4; Wed, 30 May 2012 15:36:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338392181!12116122!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23296 invoked from network); 30 May 2012 15:36:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-3.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:36:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:36:21 +0100
Message-Id: <4FC65A930200007800086F39@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:36:19 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartBC923863.0__="
Subject: [Xen-devel] [PATCH] x86/EDD: check MBR for BIOS magic before
 considering signature valid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartBC923863.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Signed-off-by: Jan Beulich <JBeulich@suse.com>

--- a/xen/arch/x86/boot/edd.S
+++ b/xen/arch/x86/boot/edd.S
@@ -53,12 +53,16 @@ edd_mbr_sig_read:
         jc      edd_mbr_sig_done                # on failure, we're done.
         cmpb    $0, %ah                         # some BIOSes do not set =
CF
         jne     edd_mbr_sig_done                # on failure, we're done.
+        cmpw    $0xaa55, bootsym(boot_edd_info)+0x1fe
+        jne     .Ledd_mbr_sig_next
         movl    bootsym(boot_edd_info)+EDD_MBR_SIG_OFFSET,%eax
         movb    %dl, (%bx)                      # store BIOS drive number
         movl    %eax, 4(%bx)                    # store signature from =
MBR
         incb    bootsym(boot_mbr_signature_nr)  # note that we stored =
something
-        incb    %dl                             # increment to next =
device
         addw    $8, %bx                         # increment sig buffer =
ptr
+.Ledd_mbr_sig_next:
+        incb    %dl                             # increment to next =
device
+        jz      edd_mbr_sig_done
         cmpb    $EDD_MBR_SIG_MAX,bootsym(boot_mbr_signature_nr)
         jb      edd_mbr_sig_read
 edd_mbr_sig_done:




--=__PartBC923863.0__=
Content-Type: text/plain; name="x86-edd-mbr-sig-check.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-edd-mbr-sig-check.patch"

x86/EDD: check MBR for BIOS magic before considering signature valid=0A=0AS=
igned-off-by: Jan Beulich <JBeulich@suse.com>=0A=0A--- a/xen/arch/x86/boot/=
edd.S=0A+++ b/xen/arch/x86/boot/edd.S=0A@@ -53,12 +53,16 @@ edd_mbr_sig_rea=
d:=0A         jc      edd_mbr_sig_done                # on failure, we're =
done.=0A         cmpb    $0, %ah                         # some BIOSes do =
not set CF=0A         jne     edd_mbr_sig_done                # on =
failure, we're done.=0A+        cmpw    $0xaa55, bootsym(boot_edd_info)+0x1=
fe=0A+        jne     .Ledd_mbr_sig_next=0A         movl    bootsym(boot_ed=
d_info)+EDD_MBR_SIG_OFFSET,%eax=0A         movb    %dl, (%bx)              =
        # store BIOS drive number=0A         movl    %eax, 4(%bx)          =
          # store signature from MBR=0A         incb    bootsym(boot_mbr_si=
gnature_nr)  # note that we stored something=0A-        incb    %dl        =
                     # increment to next device=0A         addw    $8, %bx =
                        # increment sig buffer ptr=0A+.Ledd_mbr_sig_next:=
=0A+        incb    %dl                             # increment to next =
device=0A+        jz      edd_mbr_sig_done=0A         cmpb    $EDD_MBR_SIG_=
MAX,bootsym(boot_mbr_signature_nr)=0A         jb      edd_mbr_sig_read=0A =
edd_mbr_sig_done:=0A
--=__PartBC923863.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartBC923863.0__=--


From xen-devel-bounces@lists.xen.org Wed May 30 15:36:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:36:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZkwi-0006ef-Q1; Wed, 30 May 2012 15:36:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZkwh-0006eX-MP
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:36:23 +0000
Received: from [193.109.254.147:17686] by server-4.bemta-14.messagelabs.com id
	CD/68-03148-67E36CF4; Wed, 30 May 2012 15:36:22 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1338392181!12116122!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23296 invoked from network); 30 May 2012 15:36:22 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-3.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:36:22 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:36:21 +0100
Message-Id: <4FC65A930200007800086F39@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:36:19 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__PartBC923863.0__="
Subject: [Xen-devel] [PATCH] x86/EDD: check MBR for BIOS magic before
 considering signature valid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartBC923863.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Signed-off-by: Jan Beulich <JBeulich@suse.com>

--- a/xen/arch/x86/boot/edd.S
+++ b/xen/arch/x86/boot/edd.S
@@ -53,12 +53,16 @@ edd_mbr_sig_read:
         jc      edd_mbr_sig_done                # on failure, we're done.
         cmpb    $0, %ah                         # some BIOSes do not set =
CF
         jne     edd_mbr_sig_done                # on failure, we're done.
+        cmpw    $0xaa55, bootsym(boot_edd_info)+0x1fe
+        jne     .Ledd_mbr_sig_next
         movl    bootsym(boot_edd_info)+EDD_MBR_SIG_OFFSET,%eax
         movb    %dl, (%bx)                      # store BIOS drive number
         movl    %eax, 4(%bx)                    # store signature from =
MBR
         incb    bootsym(boot_mbr_signature_nr)  # note that we stored =
something
-        incb    %dl                             # increment to next =
device
         addw    $8, %bx                         # increment sig buffer =
ptr
+.Ledd_mbr_sig_next:
+        incb    %dl                             # increment to next =
device
+        jz      edd_mbr_sig_done
         cmpb    $EDD_MBR_SIG_MAX,bootsym(boot_mbr_signature_nr)
         jb      edd_mbr_sig_read
 edd_mbr_sig_done:




--=__PartBC923863.0__=
Content-Type: text/plain; name="x86-edd-mbr-sig-check.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="x86-edd-mbr-sig-check.patch"

x86/EDD: check MBR for BIOS magic before considering signature valid=0A=0AS=
igned-off-by: Jan Beulich <JBeulich@suse.com>=0A=0A--- a/xen/arch/x86/boot/=
edd.S=0A+++ b/xen/arch/x86/boot/edd.S=0A@@ -53,12 +53,16 @@ edd_mbr_sig_rea=
d:=0A         jc      edd_mbr_sig_done                # on failure, we're =
done.=0A         cmpb    $0, %ah                         # some BIOSes do =
not set CF=0A         jne     edd_mbr_sig_done                # on =
failure, we're done.=0A+        cmpw    $0xaa55, bootsym(boot_edd_info)+0x1=
fe=0A+        jne     .Ledd_mbr_sig_next=0A         movl    bootsym(boot_ed=
d_info)+EDD_MBR_SIG_OFFSET,%eax=0A         movb    %dl, (%bx)              =
        # store BIOS drive number=0A         movl    %eax, 4(%bx)          =
          # store signature from MBR=0A         incb    bootsym(boot_mbr_si=
gnature_nr)  # note that we stored something=0A-        incb    %dl        =
                     # increment to next device=0A         addw    $8, %bx =
                        # increment sig buffer ptr=0A+.Ledd_mbr_sig_next:=
=0A+        incb    %dl                             # increment to next =
device=0A+        jz      edd_mbr_sig_done=0A         cmpb    $EDD_MBR_SIG_=
MAX,bootsym(boot_mbr_signature_nr)=0A         jb      edd_mbr_sig_read=0A =
edd_mbr_sig_done:=0A
--=__PartBC923863.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__PartBC923863.0__=--


From xen-devel-bounces@lists.xen.org Wed May 30 15:40:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZl0s-0006wo-Tm; Wed, 30 May 2012 15:40:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZl0r-0006wh-Er
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:40:41 +0000
Received: from [85.158.143.99:38727] by server-1.bemta-4.messagelabs.com id
	E4/EF-27869-87F36CF4; Wed, 30 May 2012 15:40:40 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338392439!28244911!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12250 invoked from network); 30 May 2012 15:40:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:40:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:40:39 +0100
Message-Id: <4FC65B950200007800086F5B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:40:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Borislav Petkov" <bp@alien8.de>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
	<20120530151235.GB15635@x1.osrc.amd.com>
In-Reply-To: <20120530151235.GB15635@x1.osrc.amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 17:12, Borislav Petkov <bp@alien8.de> wrote:
> This current case should be a perfect example for why xen shouldn't be
> sprinkling code all over the place.

Which means you're denying the benefits of para-virtualization
(at the base system level; perhaps it's less of a problem for you
when it comes to pv device drivers, which are generally
standalone entities) as that's what distinguishes Xen from all
other virtualization solutions Linux supports.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:40:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:40:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZl0s-0006wo-Tm; Wed, 30 May 2012 15:40:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZl0r-0006wh-Er
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:40:41 +0000
Received: from [85.158.143.99:38727] by server-1.bemta-4.messagelabs.com id
	E4/EF-27869-87F36CF4; Wed, 30 May 2012 15:40:40 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338392439!28244911!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12250 invoked from network); 30 May 2012 15:40:40 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:40:40 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:40:39 +0100
Message-Id: <4FC65B950200007800086F5B@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:40:37 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Borislav Petkov" <bp@alien8.de>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
	<20120530151235.GB15635@x1.osrc.amd.com>
In-Reply-To: <20120530151235.GB15635@x1.osrc.amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 17:12, Borislav Petkov <bp@alien8.de> wrote:
> This current case should be a perfect example for why xen shouldn't be
> sprinkling code all over the place.

Which means you're denying the benefits of para-virtualization
(at the base system level; perhaps it's less of a problem for you
when it comes to pv device drivers, which are generally
standalone entities) as that's what distinguishes Xen from all
other virtualization solutions Linux supports.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:44:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZl4J-00075J-H3; Wed, 30 May 2012 15:44:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZl4I-00075D-R3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:44:14 +0000
Received: from [193.109.254.147:64766] by server-4.bemta-14.messagelabs.com id
	93/80-03148-E4046CF4; Wed, 30 May 2012 15:44:14 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338392653!11845499!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12940 invoked from network); 30 May 2012 15:44:13 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:44:13 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:44:13 +0100
Message-Id: <4FC65C6A0200007800086F76@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:44:10 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FC6530E0200007800086EDB@nat28.tlf.novell.com>
	<CBEBFA05.34827%keir.xen@gmail.com>
In-Reply-To: <CBEBFA05.34827%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>,
	Andreas Herrmann <Andreas.Herrmann3@amd.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions
 in case BIOS has disabled it
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 17:23, Keir Fraser <keir.xen@gmail.com> wrote:
> On 30/05/2012 16:04, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>> BIOS will switch off the corresponding feature flag on family
>> 15h models 10h-1fh non-desktop CPUs.
> 
> Why would it do that? It seems silly.

Indeed. But the change comes from Linux 3.4. Andreas, Andre?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:44:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZl4J-00075J-H3; Wed, 30 May 2012 15:44:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZl4I-00075D-R3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 15:44:14 +0000
Received: from [193.109.254.147:64766] by server-4.bemta-14.messagelabs.com id
	93/80-03148-E4046CF4; Wed, 30 May 2012 15:44:14 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338392653!11845499!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5MDg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12940 invoked from network); 30 May 2012 15:44:13 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 15:44:13 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Wed, 30 May 2012 16:44:13 +0100
Message-Id: <4FC65C6A0200007800086F76@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Wed, 30 May 2012 16:44:10 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Keir Fraser" <keir.xen@gmail.com>
References: <4FC6530E0200007800086EDB@nat28.tlf.novell.com>
	<CBEBFA05.34827%keir.xen@gmail.com>
In-Reply-To: <CBEBFA05.34827%keir.xen@gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>,
	Andreas Herrmann <Andreas.Herrmann3@amd.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] x86/amd: re-enable CPU topology extensions
 in case BIOS has disabled it
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 17:23, Keir Fraser <keir.xen@gmail.com> wrote:
> On 30/05/2012 16:04, "Jan Beulich" <JBeulich@suse.com> wrote:
> 
>> BIOS will switch off the corresponding feature flag on family
>> 15h models 10h-1fh non-desktop CPUs.
> 
> Why would it do that? It seems silly.

Indeed. But the change comes from Linux 3.4. Andreas, Andre?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:47:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZl7g-0007Dk-4U; Wed, 30 May 2012 15:47:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZl7e-0007Da-NA
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:47:42 +0000
Received: from [85.158.143.99:55415] by server-2.bemta-4.messagelabs.com id
	6D/08-11595-E1146CF4; Wed, 30 May 2012 15:47:42 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338392858!28246209!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5848 invoked from network); 30 May 2012 15:47:40 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:47:40 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (fmdmzpr02-ext.fm.intel.com
	[192.55.55.37]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UFk7ei000494
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 08:46:08 -0700
Message-ID: <4FC640B5.2080601@zytor.com>
Date: Wed, 30 May 2012 08:45:57 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
	<20120530151235.GB15635@x1.osrc.amd.com>
	<4FC65B950200007800086F5B@nat28.tlf.novell.com>
In-Reply-To: <4FC65B950200007800086F5B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, tglx@linutronix.de, mingo@elte.hu
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 08:40 AM, Jan Beulich wrote:
>>>> On 30.05.12 at 17:12, Borislav Petkov <bp@alien8.de> wrote:
>> This current case should be a perfect example for why xen shouldn't be
>> sprinkling code all over the place.
> 
> Which means you're denying the benefits of para-virtualization
> (at the base system level; perhaps it's less of a problem for you
> when it comes to pv device drivers, which are generally
> standalone entities) as that's what distinguishes Xen from all
> other virtualization solutions Linux supports.
> 

And it also denies the just atrocious cost of Xen grabbing random kernel
internals and turning them into ABIs that we have to work around from
that point on.  This is particularly obnoxious because the cost is
largely not borne by the Xen community but by the general Linux development.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:47:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZl7g-0007Dk-4U; Wed, 30 May 2012 15:47:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZl7e-0007Da-NA
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:47:42 +0000
Received: from [85.158.143.99:55415] by server-2.bemta-4.messagelabs.com id
	6D/08-11595-E1146CF4; Wed, 30 May 2012 15:47:42 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338392858!28246209!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5848 invoked from network); 30 May 2012 15:47:40 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-9.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 15:47:40 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (fmdmzpr02-ext.fm.intel.com
	[192.55.55.37]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UFk7ei000494
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 08:46:08 -0700
Message-ID: <4FC640B5.2080601@zytor.com>
Date: Wed, 30 May 2012 08:45:57 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
	<20120530151235.GB15635@x1.osrc.amd.com>
	<4FC65B950200007800086F5B@nat28.tlf.novell.com>
In-Reply-To: <4FC65B950200007800086F5B@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, tglx@linutronix.de, mingo@elte.hu
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 08:40 AM, Jan Beulich wrote:
>>>> On 30.05.12 at 17:12, Borislav Petkov <bp@alien8.de> wrote:
>> This current case should be a perfect example for why xen shouldn't be
>> sprinkling code all over the place.
> 
> Which means you're denying the benefits of para-virtualization
> (at the base system level; perhaps it's less of a problem for you
> when it comes to pv device drivers, which are generally
> standalone entities) as that's what distinguishes Xen from all
> other virtualization solutions Linux supports.
> 

And it also denies the just atrocious cost of Xen grabbing random kernel
internals and turning them into ABIs that we have to work around from
that point on.  This is particularly obnoxious because the cost is
largely not borne by the Xen community but by the general Linux development.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:59:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:59:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlIV-0007eu-Us; Wed, 30 May 2012 15:58:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZlIT-0007ek-Ia
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:58:53 +0000
Received: from [193.109.254.147:24726] by server-3.bemta-14.messagelabs.com id
	68/D7-15022-CB346CF4; Wed, 30 May 2012 15:58:52 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338393532!11691736!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15925 invoked from network); 30 May 2012 15:58:52 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-27.messagelabs.com with SMTP;
	30 May 2012 15:58:52 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	3DAD11D99AF; Wed, 30 May 2012 17:58:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338393531; bh=gVUJ1yblSlP/9fby+uXkwHEUm+Eqd5uLUJ+XM6mwTok=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=gBhkCG+OgEkMCsd5tg2Y0WsAi51HMpUtcgw9s9
	SHi4f/ibr4wvElEiUGYsKfFz2hvgUHuoHQLqFK5OIsc/P/59JEHUKCz9AabYVEHYZT0
	1H2GRbkxC5ffJ48yjz/M3yvdw/kVxYECVBkUCanUmx9/RWfF6l9y6SKnjnUxbZIQC8=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id KE2YsWL-SoEw; Wed, 30 May 2012 17:58:50 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:58:50 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id AD4ABDA030; Wed, 30 May 2012 17:58:50 +0200 (CEST)
Date: Wed, 30 May 2012 17:58:50 +0200
From: Borislav Petkov <bp@alien8.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120530155850.GD15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Jan Beulich <JBeulich@suse.com>,
	Andre Przywara <andre.przywara@amd.com>,
	Jacob Shin <Jacob.Shin@amd.com>, mingo@elte.hu, jeremy@goop.org,
	tglx@linutronix.de, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
	<20120530151235.GB15635@x1.osrc.amd.com>
	<4FC65B950200007800086F5B@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC65B950200007800086F5B@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:40:37PM +0100, Jan Beulich wrote:
> >>> On 30.05.12 at 17:12, Borislav Petkov <bp@alien8.de> wrote:
> > This current case should be a perfect example for why xen shouldn't be
> > sprinkling code all over the place.
> 
> Which means you're denying the benefits of para-virtualization

Does it really mean that?

> (at the base system level; perhaps it's less of a problem for
> you when it comes to pv device drivers, which are generally
> standalone entities) as that's what distinguishes Xen from all other
> virtualization solutions Linux supports.

All I'm saying is, xen should solve the whole deal of what it wants to
do (whatever that is) _without_ and _agnostic_ from arch/x86/. Otherwise
x86 changes break xen.

I couldn't care less about what distinguishes xen from all other
solutions.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 15:59:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 15:59:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlIV-0007eu-Us; Wed, 30 May 2012 15:58:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZlIT-0007ek-Ia
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 15:58:53 +0000
Received: from [193.109.254.147:24726] by server-3.bemta-14.messagelabs.com id
	68/D7-15022-CB346CF4; Wed, 30 May 2012 15:58:52 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338393532!11691736!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15925 invoked from network); 30 May 2012 15:58:52 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-27.messagelabs.com with SMTP;
	30 May 2012 15:58:52 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	3DAD11D99AF; Wed, 30 May 2012 17:58:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338393531; bh=gVUJ1yblSlP/9fby+uXkwHEUm+Eqd5uLUJ+XM6mwTok=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=gBhkCG+OgEkMCsd5tg2Y0WsAi51HMpUtcgw9s9
	SHi4f/ibr4wvElEiUGYsKfFz2hvgUHuoHQLqFK5OIsc/P/59JEHUKCz9AabYVEHYZT0
	1H2GRbkxC5ffJ48yjz/M3yvdw/kVxYECVBkUCanUmx9/RWfF6l9y6SKnjnUxbZIQC8=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id KE2YsWL-SoEw; Wed, 30 May 2012 17:58:50 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 17:58:50 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id AD4ABDA030; Wed, 30 May 2012 17:58:50 +0200 (CEST)
Date: Wed, 30 May 2012 17:58:50 +0200
From: Borislav Petkov <bp@alien8.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120530155850.GD15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Jan Beulich <JBeulich@suse.com>,
	Andre Przywara <andre.przywara@amd.com>,
	Jacob Shin <Jacob.Shin@amd.com>, mingo@elte.hu, jeremy@goop.org,
	tglx@linutronix.de, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com>
	<4FC649790200007800086E51@nat28.tlf.novell.com>
	<4FC631F0.9080109@zytor.com>
	<20120530144929.GH3207@phenom.dumpdata.com>
	<20120530151235.GB15635@x1.osrc.amd.com>
	<4FC65B950200007800086F5B@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC65B950200007800086F5B@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <Jacob.Shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:40:37PM +0100, Jan Beulich wrote:
> >>> On 30.05.12 at 17:12, Borislav Petkov <bp@alien8.de> wrote:
> > This current case should be a perfect example for why xen shouldn't be
> > sprinkling code all over the place.
> 
> Which means you're denying the benefits of para-virtualization

Does it really mean that?

> (at the base system level; perhaps it's less of a problem for
> you when it comes to pv device drivers, which are generally
> standalone entities) as that's what distinguishes Xen from all other
> virtualization solutions Linux supports.

All I'm saying is, xen should solve the whole deal of what it wants to
do (whatever that is) _without_ and _agnostic_ from arch/x86/. Otherwise
x86 changes break xen.

I couldn't care less about what distinguishes xen from all other
solutions.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:12:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlVY-0000GI-3i; Wed, 30 May 2012 16:12:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZlVV-0000G8-VM
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:12:22 +0000
Received: from [193.109.254.147:37994] by server-11.bemta-14.messagelabs.com
	id 1A/DD-01965-5E646CF4; Wed, 30 May 2012 16:12:21 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338394338!11850214!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10852 invoked from network); 30 May 2012 16:12:20 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:12:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196923475"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 12:12:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:12:18 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZlVR-0006Dk-Iy;
	Wed, 30 May 2012 17:12:17 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:12:12 +0100
Message-ID: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

BSD systems already have a sys/queue.h file, which has more macros
than the one Qemu uses, and some header files depend on having that
macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
systems and include the native one.

This is not a backport because the original patch is too dificult to
backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.

Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 sys-queue.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/sys-queue.h b/sys-queue.h
index cb6a4c8..55c26fe 100644
--- a/sys-queue.h
+++ b/sys-queue.h
@@ -36,6 +36,12 @@
  *      @(#)queue.h     8.5 (Berkeley) 8/20/94
  */
 
+#include "config-host.h"
+#ifdef _BSD
+/* include native header before sys-queue.h */
+#include <sys/queue.h>
+#endif
+
 #ifndef _SYS_QUEUE_H_
 #define _SYS_QUEUE_H_
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:12:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlVY-0000GI-3i; Wed, 30 May 2012 16:12:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZlVV-0000G8-VM
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:12:22 +0000
Received: from [193.109.254.147:37994] by server-11.bemta-14.messagelabs.com
	id 1A/DD-01965-5E646CF4; Wed, 30 May 2012 16:12:21 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338394338!11850214!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10852 invoked from network); 30 May 2012 16:12:20 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:12:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196923475"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 12:12:18 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:12:18 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZlVR-0006Dk-Iy;
	Wed, 30 May 2012 17:12:17 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:12:12 +0100
Message-ID: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
X-Mailer: git-send-email 1.7.7.5 (Apple Git-26)
MIME-Version: 1.0
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

BSD systems already have a sys/queue.h file, which has more macros
than the one Qemu uses, and some header files depend on having that
macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
systems and include the native one.

This is not a backport because the original patch is too dificult to
backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.

Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
 sys-queue.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/sys-queue.h b/sys-queue.h
index cb6a4c8..55c26fe 100644
--- a/sys-queue.h
+++ b/sys-queue.h
@@ -36,6 +36,12 @@
  *      @(#)queue.h     8.5 (Berkeley) 8/20/94
  */
 
+#include "config-host.h"
+#ifdef _BSD
+/* include native header before sys-queue.h */
+#include <sys/queue.h>
+#endif
+
 #ifndef _SYS_QUEUE_H_
 #define _SYS_QUEUE_H_
 
-- 
1.7.7.5 (Apple Git-26)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:13:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:13:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlWh-0000LA-IJ; Wed, 30 May 2012 16:13:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZlWf-0000Kr-Vm
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:13:34 +0000
Received: from [85.158.143.99:30085] by server-2.bemta-4.messagelabs.com id
	7C/61-11595-D2746CF4; Wed, 30 May 2012 16:13:33 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338394404!28250121!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9091 invoked from network); 30 May 2012 16:13:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:13:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196923676"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 12:13:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:13:23 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZlWU-0006Fa-UM;
	Wed, 30 May 2012 17:13:22 +0100
Message-ID: <4FC64723.10906@citrix.com>
Date: Wed, 30 May 2012 17:13:23 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
	<alpine.DEB.2.00.1205301449330.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205301449330.26786@kaball-desktop>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0/2] qemu-xen-trad/block: fixes for NetBSD
 block-raw.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> On Wed, 30 May 2012, Roger Pau Monne wrote:
>> Both patches are already present in upstream qemu, this is only a
>> backport.
>
> Much better now thanks, I would consider them for 4.2
>

Could you please also consider "[PATCH] qemu-xen-trad: fix sys-queue.h 
usage on BSD systems", I've forgot to add this one to the series.

Thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:13:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:13:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlWh-0000LA-IJ; Wed, 30 May 2012 16:13:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1SZlWf-0000Kr-Vm
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:13:34 +0000
Received: from [85.158.143.99:30085] by server-2.bemta-4.messagelabs.com id
	7C/61-11595-D2746CF4; Wed, 30 May 2012 16:13:33 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338394404!28250121!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9091 invoked from network); 30 May 2012 16:13:32 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:13:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196923676"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 12:13:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:13:23 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1SZlWU-0006Fa-UM;
	Wed, 30 May 2012 17:13:22 +0100
Message-ID: <4FC64723.10906@citrix.com>
Date: Wed, 30 May 2012 17:13:23 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
References: <1338385522-21949-1-git-send-email-roger.pau@citrix.com>
	<alpine.DEB.2.00.1205301449330.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205301449330.26786@kaball-desktop>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 0/2] qemu-xen-trad/block: fixes for NetBSD
 block-raw.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> On Wed, 30 May 2012, Roger Pau Monne wrote:
>> Both patches are already present in upstream qemu, this is only a
>> backport.
>
> Much better now thanks, I would consider them for 4.2
>

Could you please also consider "[PATCH] qemu-xen-trad: fix sys-queue.h 
usage on BSD systems", I've forgot to add this one to the series.

Thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlai-0000eD-KW; Wed, 30 May 2012 16:17:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000ax-Pu
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58711] by server-9.bemta-5.messagelabs.com id
	B2/75-27779-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!8
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10649 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743840"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hc-JT; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vR-If;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:41 +0100
Message-ID: <1338394606-22693-11-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 10/15] libxl: prepare for asynchronous writing
	of qemu save file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Combine the various calls to libxl__device_model_savefile into one
  at the start of libxl__domain_suspend, storing the result in the
  dss.  Consequently a few functions take a dss instead of some or all
  of their other arguments.

* Make libxl__domain_save_device_model's API into an asynchronous
  style which takes a callback.  The function is, however, still
  synchronous; it will be made actually async in the next patch.

* Consequently make libxl__remus_domain_checkpoint_callback into an
  asynchronous callback.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c            |   54 ++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h       |   18 ++++++++++--
 tools/libxl/libxl_save_msgs_gen.pl |    2 +-
 3 files changed, 55 insertions(+), 19 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index b13ed51..708304e 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -700,11 +700,13 @@ static void switch_logdirty_done(libxl__egc *egc,
 
 /*----- callbacks, called by xc_domain_save -----*/
 
-int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid)
+int libxl__domain_suspend_device_model(libxl__gc *gc,
+                                       libxl__domain_suspend_state *dss)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int ret = 0;
-    const char *filename = libxl__device_model_savefile(gc, domid);
+    uint32_t const domid = dss->domid;
+    const char *const filename = dss->dm_savefile;
 
     switch (libxl__device_model_version_running(gc, domid)) {
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
@@ -873,7 +875,7 @@ int libxl__domain_suspend_common_callback(void *user)
 
  guest_suspended:
     if (dss->hvm) {
-        ret = libxl__domain_suspend_device_model(gc, dss->domid);
+        ret = libxl__domain_suspend_device_model(gc, dss);
         if (ret) {
             LOG(ERROR, "libxl__domain_suspend_device_model failed ret=%d", ret);
             return 0;
@@ -988,19 +990,32 @@ static int libxl__remus_domain_resume_callback(void *data)
     return 1;
 }
 
-static int libxl__remus_domain_checkpoint_callback(void *data)
+/*----- remus asynchronous checkpoint callback -----*/
+
+static void remus_checkpoint_dm_saved(libxl__egc *egc,
+                                      libxl__domain_suspend_state *dss, int rc);
+
+static void libxl__remus_domain_checkpoint_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
+    libxl__egc *egc = dss->shs.egc;
     STATE_AO_GC(dss->ao);
 
     /* This would go into tailbuf. */
-    if (dss->hvm &&
-        libxl__domain_save_device_model(gc, dss->domid, dss->fd))
-        return 0;
+    if (dss->hvm) {
+        libxl__domain_save_device_model(egc, dss, remus_checkpoint_dm_saved);
+    } else {
+        remus_checkpoint_dm_saved(egc, dss, 0);
+    }
+}
 
+static void remus_checkpoint_dm_saved(libxl__egc *egc,
+                                      libxl__domain_suspend_state *dss, int rc)
+{
     /* TODO: Wait for disk and memory ack, release network buffer */
+    /* TODO: make this asynchronous */
     usleep(dss->interval * 1000);
-    return 1;
+    libxl__xc_domain_saverestore_async_callback_done(egc, &dss->shs, 1);
 }
 
 /*----- main code for suspending, in order of execution -----*/
@@ -1052,6 +1067,7 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     dss->hvm = hvm;
     dss->suspend_eventchn = -1;
     dss->guest_responded = 0;
+    dss->dm_savefile = libxl__device_model_savefile(gc, domid);
 
     if (r_info != NULL) {
         dss->interval = r_info->interval;
@@ -1101,7 +1117,6 @@ void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
 
     /* Convenience aliases */
     const libxl_domain_type type = dss->type;
-    const uint32_t domid = dss->domid;
 
     if (rc)
         goto out;
@@ -1119,11 +1134,11 @@ void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
     }
 
     if (type == LIBXL_DOMAIN_TYPE_HVM) {
-        rc = libxl__domain_suspend_device_model(gc, domid);
+        rc = libxl__domain_suspend_device_model(gc, dss);
         if (rc) goto out;
         
-        rc = libxl__domain_save_device_model(gc, domid, dss->fd);
-        if (rc) goto out;
+        libxl__domain_save_device_model(egc, dss, domain_suspend_done);
+        return;
     }
 
     rc = 0;
@@ -1132,14 +1147,22 @@ out:
     domain_suspend_done(egc, dss, rc);
 }
 
-int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
+void libxl__domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss,
+                                     libxl__save_device_model_cb *callback)
 {
+    STATE_AO_GC(dss->ao);
     int rc, fd2 = -1, c;
     char buf[1024];
-    const char *filename = libxl__device_model_savefile(gc, domid);
     struct stat st;
     uint32_t qemu_state_len;
 
+    dss->save_dm_callback = callback;
+
+    /* Convenience aliases */
+    const char *const filename = dss->dm_savefile;
+    const int fd = dss->fd;
+
     if (stat(filename, &st) < 0)
     {
         LOG(ERROR, "Unable to stat qemu save file\n");
@@ -1181,7 +1204,8 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return rc;
+
+    dss->save_dm_callback(egc, dss, rc);
 }
 
 static void domain_suspend_done(libxl__egc *egc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b41e72f..cc4c731 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -821,10 +821,8 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
 
 _hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
                                      uint32_t size, void *data);
-_hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
+
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
 
 _hidden int libxl__domain_pvcontrol_available(libxl__gc *gc, uint32_t domid);
@@ -1869,6 +1867,8 @@ typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 
 typedef void libxl__domain_suspend_cb(libxl__egc*,
                                       libxl__domain_suspend_state*, int rc);
+typedef void libxl__save_device_model_cb(libxl__egc*,
+                                         libxl__domain_suspend_state*, int rc);
 
 typedef struct libxl__logdirty_switch {
     const char *cmd;
@@ -1894,9 +1894,12 @@ struct libxl__domain_suspend_state {
     int suspend_eventchn;
     int hvm;
     int guest_responded;
+    const char *dm_savefile;
     int interval; /* checkpoint interval (for Remus) */
     libxl__save_helper_state shs;
     libxl__logdirty_switch logdirty;
+    /* private for libxl__domain_save_device_model */
+    libxl__save_device_model_cb *save_dm_callback;
 };
 
 
@@ -2053,6 +2056,15 @@ _hidden void libxl__xc_domain_restore(libxl__egc *egc,
 _hidden void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                            int rc, int retval, int errnoval);
 
+/* Each time the dm needs to be saved, we must call suspend and then save */
+_hidden int libxl__domain_suspend_device_model(libxl__gc *gc,
+                                           libxl__domain_suspend_state *dss);
+_hidden void libxl__domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss,
+                                     libxl__save_device_model_cb *callback);
+
+_hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
+
 
 /*
  * Convenience macros.
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
index 8832c46..3ac6f80 100755
--- a/tools/libxl/libxl_save_msgs_gen.pl
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -25,7 +25,7 @@ our @msgs = (
                                                 'unsigned long', 'total'] ],
     [  3, 'scxW',   "suspend", [] ],         
     [  4, 'scxW',   "postcopy", [] ],        
-    [  5, 'scxW',   "checkpoint", [] ],      
+    [  5, 'scxA',   "checkpoint", [] ],      
     [  6, 'scxA',   "switch_qemu_logdirty",  [qw(int domid
                                               unsigned enable)] ],
     #                toolstack_save          done entirely `by hand'
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlai-0000eD-KW; Wed, 30 May 2012 16:17:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000ax-Pu
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58711] by server-9.bemta-5.messagelabs.com id
	B2/75-27779-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!8
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10649 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743840"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hc-JT; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vR-If;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:41 +0100
Message-ID: <1338394606-22693-11-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 10/15] libxl: prepare for asynchronous writing
	of qemu save file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

* Combine the various calls to libxl__device_model_savefile into one
  at the start of libxl__domain_suspend, storing the result in the
  dss.  Consequently a few functions take a dss instead of some or all
  of their other arguments.

* Make libxl__domain_save_device_model's API into an asynchronous
  style which takes a callback.  The function is, however, still
  synchronous; it will be made actually async in the next patch.

* Consequently make libxl__remus_domain_checkpoint_callback into an
  asynchronous callback.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c            |   54 ++++++++++++++++++++++++++----------
 tools/libxl/libxl_internal.h       |   18 ++++++++++--
 tools/libxl/libxl_save_msgs_gen.pl |    2 +-
 3 files changed, 55 insertions(+), 19 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index b13ed51..708304e 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -700,11 +700,13 @@ static void switch_logdirty_done(libxl__egc *egc,
 
 /*----- callbacks, called by xc_domain_save -----*/
 
-int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid)
+int libxl__domain_suspend_device_model(libxl__gc *gc,
+                                       libxl__domain_suspend_state *dss)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int ret = 0;
-    const char *filename = libxl__device_model_savefile(gc, domid);
+    uint32_t const domid = dss->domid;
+    const char *const filename = dss->dm_savefile;
 
     switch (libxl__device_model_version_running(gc, domid)) {
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL: {
@@ -873,7 +875,7 @@ int libxl__domain_suspend_common_callback(void *user)
 
  guest_suspended:
     if (dss->hvm) {
-        ret = libxl__domain_suspend_device_model(gc, dss->domid);
+        ret = libxl__domain_suspend_device_model(gc, dss);
         if (ret) {
             LOG(ERROR, "libxl__domain_suspend_device_model failed ret=%d", ret);
             return 0;
@@ -988,19 +990,32 @@ static int libxl__remus_domain_resume_callback(void *data)
     return 1;
 }
 
-static int libxl__remus_domain_checkpoint_callback(void *data)
+/*----- remus asynchronous checkpoint callback -----*/
+
+static void remus_checkpoint_dm_saved(libxl__egc *egc,
+                                      libxl__domain_suspend_state *dss, int rc);
+
+static void libxl__remus_domain_checkpoint_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
+    libxl__egc *egc = dss->shs.egc;
     STATE_AO_GC(dss->ao);
 
     /* This would go into tailbuf. */
-    if (dss->hvm &&
-        libxl__domain_save_device_model(gc, dss->domid, dss->fd))
-        return 0;
+    if (dss->hvm) {
+        libxl__domain_save_device_model(egc, dss, remus_checkpoint_dm_saved);
+    } else {
+        remus_checkpoint_dm_saved(egc, dss, 0);
+    }
+}
 
+static void remus_checkpoint_dm_saved(libxl__egc *egc,
+                                      libxl__domain_suspend_state *dss, int rc)
+{
     /* TODO: Wait for disk and memory ack, release network buffer */
+    /* TODO: make this asynchronous */
     usleep(dss->interval * 1000);
-    return 1;
+    libxl__xc_domain_saverestore_async_callback_done(egc, &dss->shs, 1);
 }
 
 /*----- main code for suspending, in order of execution -----*/
@@ -1052,6 +1067,7 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     dss->hvm = hvm;
     dss->suspend_eventchn = -1;
     dss->guest_responded = 0;
+    dss->dm_savefile = libxl__device_model_savefile(gc, domid);
 
     if (r_info != NULL) {
         dss->interval = r_info->interval;
@@ -1101,7 +1117,6 @@ void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
 
     /* Convenience aliases */
     const libxl_domain_type type = dss->type;
-    const uint32_t domid = dss->domid;
 
     if (rc)
         goto out;
@@ -1119,11 +1134,11 @@ void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
     }
 
     if (type == LIBXL_DOMAIN_TYPE_HVM) {
-        rc = libxl__domain_suspend_device_model(gc, domid);
+        rc = libxl__domain_suspend_device_model(gc, dss);
         if (rc) goto out;
         
-        rc = libxl__domain_save_device_model(gc, domid, dss->fd);
-        if (rc) goto out;
+        libxl__domain_save_device_model(egc, dss, domain_suspend_done);
+        return;
     }
 
     rc = 0;
@@ -1132,14 +1147,22 @@ out:
     domain_suspend_done(egc, dss, rc);
 }
 
-int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
+void libxl__domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss,
+                                     libxl__save_device_model_cb *callback)
 {
+    STATE_AO_GC(dss->ao);
     int rc, fd2 = -1, c;
     char buf[1024];
-    const char *filename = libxl__device_model_savefile(gc, domid);
     struct stat st;
     uint32_t qemu_state_len;
 
+    dss->save_dm_callback = callback;
+
+    /* Convenience aliases */
+    const char *const filename = dss->dm_savefile;
+    const int fd = dss->fd;
+
     if (stat(filename, &st) < 0)
     {
         LOG(ERROR, "Unable to stat qemu save file\n");
@@ -1181,7 +1204,8 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return rc;
+
+    dss->save_dm_callback(egc, dss, rc);
 }
 
 static void domain_suspend_done(libxl__egc *egc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b41e72f..cc4c731 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -821,10 +821,8 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
 
 _hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
                                      uint32_t size, void *data);
-_hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
-_hidden int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd);
+
 _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid);
 
 _hidden int libxl__domain_pvcontrol_available(libxl__gc *gc, uint32_t domid);
@@ -1869,6 +1867,8 @@ typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 
 typedef void libxl__domain_suspend_cb(libxl__egc*,
                                       libxl__domain_suspend_state*, int rc);
+typedef void libxl__save_device_model_cb(libxl__egc*,
+                                         libxl__domain_suspend_state*, int rc);
 
 typedef struct libxl__logdirty_switch {
     const char *cmd;
@@ -1894,9 +1894,12 @@ struct libxl__domain_suspend_state {
     int suspend_eventchn;
     int hvm;
     int guest_responded;
+    const char *dm_savefile;
     int interval; /* checkpoint interval (for Remus) */
     libxl__save_helper_state shs;
     libxl__logdirty_switch logdirty;
+    /* private for libxl__domain_save_device_model */
+    libxl__save_device_model_cb *save_dm_callback;
 };
 
 
@@ -2053,6 +2056,15 @@ _hidden void libxl__xc_domain_restore(libxl__egc *egc,
 _hidden void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                            int rc, int retval, int errnoval);
 
+/* Each time the dm needs to be saved, we must call suspend and then save */
+_hidden int libxl__domain_suspend_device_model(libxl__gc *gc,
+                                           libxl__domain_suspend_state *dss);
+_hidden void libxl__domain_save_device_model(libxl__egc *egc,
+                                     libxl__domain_suspend_state *dss,
+                                     libxl__save_device_model_cb *callback);
+
+_hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
+
 
 /*
  * Convenience macros.
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
index 8832c46..3ac6f80 100755
--- a/tools/libxl/libxl_save_msgs_gen.pl
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -25,7 +25,7 @@ our @msgs = (
                                                 'unsigned long', 'total'] ],
     [  3, 'scxW',   "suspend", [] ],         
     [  4, 'scxW',   "postcopy", [] ],        
-    [  5, 'scxW',   "checkpoint", [] ],      
+    [  5, 'scxA',   "checkpoint", [] ],      
     [  6, 'scxA',   "switch_qemu_logdirty",  [qw(int domid
                                               unsigned enable)] ],
     #                toolstack_save          done entirely `by hand'
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaf-0000bj-Ex; Wed, 30 May 2012 16:17:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlac-0000aM-WF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:39 +0000
Received: from [85.158.139.83:58514] by server-6.bemta-5.messagelabs.com id
	EF/44-31790-22846CF4; Wed, 30 May 2012 16:17:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27309 invoked from network); 30 May 2012 16:17:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743833"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HM-7b; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005uv-0U;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:33 +0100
Message-ID: <1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Preparatory work for making domain suspend asynchronous:

* Rename `struct suspendinfo' to `libxl__domain_suspend_state'
  and move it to libxl_internal.h.

* Rename variables `si' to `dss'.

* Change the stack-allocated state and callbacks from
    struct suspendinfo si;
    struct save_callbacks callbacks;
    struct restore_callbacks callbacks;
  to
    libxl__domain_suspend_state dss[1];
    struct save_callbacks callbacks[1];
    struct restore_callbacks callbacks[1];
  so that it may be referred to as a pointer variable everywhere.

* Rename the variable `flags' (in libxl__domain_suspend_common
  and in libxl__domain_suspend_state) to `xcflags', to help
  distinguish it from the other `flags' which is passed in
  from the calling application in libxl_domain_suspend_info.

* Move the prototypes of suspend-related functions in libxl_internal.h
  to after the definition of the state struct.

* Replace several ctx variables with gc variables and
  consequently references to ctx with CTX.  Change references
  to `dss->gc' in the functional code to simply `gc'.

* Use LOG* rather than LIBXL__LOG* in a number of places.

* In libxl__domain_save_device_model use `rc' instead of `ret'.

* Introduce and use `gc' and `domid' in
  libxl__domain_suspend_common_callback.

* Wrap some long lines.

* Add an extra pair of parens for clarity in a flag test.

* Remove two pointless casts from void* to a struct*.

No functional change whatsoever.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Change in v2:
 * Make callbacks into arrays (for pointerisation) too.
 * Updated to cope with new remus code.
 * Fixed typo in commit message.
---
 tools/libxl/libxl_dom.c      |  254 ++++++++++++++++++++----------------------
 tools/libxl/libxl_internal.h |   30 +++++-
 2 files changed, 149 insertions(+), 135 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 929fbf2..231ca40 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -468,7 +468,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
-    libxl__gc *gc = (libxl__gc *) data;
+    libxl__gc *gc = data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
     const uint8_t *ptr = buf;
@@ -529,7 +529,7 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
     /* read signature */
     int rc;
     int hvm, pae, superpages;
-    struct restore_callbacks callbacks;
+    struct restore_callbacks callbacks[1];
     int no_incr_generationid;
     switch (info->type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -537,8 +537,8 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
         superpages = 1;
         pae = libxl_defbool_val(info->u.hvm.pae);
         no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        callbacks.toolstack_restore = libxl__toolstack_restore;
-        callbacks.data = gc;
+        callbacks->toolstack_restore = libxl__toolstack_restore;
+        callbacks->data = gc;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         hvm = 0;
@@ -554,7 +554,7 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
                            state->store_domid, state->console_port,
                            &state->console_mfn, state->console_domid,
                            hvm, pae, superpages, no_incr_generationid,
-                           &state->vm_generationid_addr, &callbacks);
+                           &state->vm_generationid_addr, callbacks);
     if ( rc ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "restoring domain");
         return ERROR_FAIL;
@@ -562,33 +562,23 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-struct suspendinfo {
-    libxl__gc *gc;
-    xc_evtchn *xce; /* event channel handle */
-    int suspend_eventchn;
-    int domid;
-    int hvm;
-    unsigned int flags;
-    int guest_responded;
-    int save_fd; /* Migration stream fd (for Remus) */
-    int interval; /* checkpoint interval (for Remus) */
-};
-
-static int libxl__domain_suspend_common_switch_qemu_logdirty(int domid, unsigned int enable, void *data)
+static int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data)
 {
-    struct suspendinfo *si = data;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     char *path;
     bool rc;
 
-    path = libxl__sprintf(si->gc, "/local/domain/0/device-model/%u/logdirty/cmd", domid);
+    path = libxl__sprintf(gc,
+                   "/local/domain/0/device-model/%u/logdirty/cmd", domid);
     if (!path)
         return 1;
 
     if (enable)
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "enable", strlen("enable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "enable", strlen("enable"));
     else
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "disable", strlen("disable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "disable", strlen("disable"));
 
     return rc ? 0 : 1;
 }
@@ -643,53 +633,56 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
 
 static int libxl__domain_suspend_common_callback(void *data)
 {
-    struct suspendinfo *si = data;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
     int watchdog;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
     xs_transaction_t t;
 
-    if (si->hvm) {
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->hvm) {
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
     }
 
-    if ((hvm_s_state == 0) && (si->suspend_eventchn >= 0)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via event channel",
-                   si->hvm ? "PVHVM" : "PV");
-        ret = xc_evtchn_notify(si->xce, si->suspend_eventchn);
+    if ((hvm_s_state == 0) && (dss->suspend_eventchn >= 0)) {
+        LOG(DEBUG, "issuing %s suspend request via event channel",
+            dss->hvm ? "PVHVM" : "PV");
+        ret = xc_evtchn_notify(dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_evtchn_notify failed ret=%d", ret);
+            LOG(ERROR, "xc_evtchn_notify failed ret=%d", ret);
             return 0;
         }
-        ret = xc_await_suspend(ctx->xch, si->xce, si->suspend_eventchn);
+        ret = xc_await_suspend(CTX->xch, dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_await_suspend failed ret=%d", ret);
+            LOG(ERROR, "xc_await_suspend failed ret=%d", ret);
             return 0;
         }
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
         goto guest_suspended;
     }
 
-    if (si->hvm && (!hvm_pvdrv || hvm_s_state)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Calling xc_domain_shutdown on HVM domain");
-        xc_domain_shutdown(ctx->xch, si->domid, SHUTDOWN_suspend);
+    if (dss->hvm && (!hvm_pvdrv || hvm_s_state)) {
+        LOG(DEBUG, "Calling xc_domain_shutdown on HVM domain");
+        xc_domain_shutdown(CTX->xch, domid, SHUTDOWN_suspend);
         /* The guest does not (need to) respond to this sort of request. */
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
     } else {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via XenBus control node",
-                   si->hvm ? "PVHVM" : "PV");
+        LOG(DEBUG, "issuing %s suspend request via XenBus control node",
+            dss->hvm ? "PVHVM" : "PV");
 
-        libxl__domain_pvcontrol_write(si->gc, XBT_NULL, si->domid, "suspend");
+        libxl__domain_pvcontrol_write(gc, XBT_NULL, domid, "suspend");
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to acknowledge suspend request");
+        LOG(DEBUG, "wait for the guest to acknowledge suspend request");
         watchdog = 60;
         while (!strcmp(state, "suspend") && watchdog > 0) {
             usleep(100000);
 
-            state = libxl__domain_pvcontrol_read(si->gc, XBT_NULL, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, XBT_NULL, domid);
             if (!state) state = "";
 
             watchdog--;
@@ -705,17 +698,17 @@ static int libxl__domain_suspend_common_callback(void *data)
          * at the last minute.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, cancelling request");
+            LOG(ERROR, "guest didn't acknowledge suspend, cancelling request");
         retry_transaction:
-            t = xs_transaction_start(ctx->xsh);
+            t = xs_transaction_start(CTX->xsh);
 
-            state = libxl__domain_pvcontrol_read(si->gc, t, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, t, domid);
             if (!state) state = "";
 
             if (!strcmp(state, "suspend"))
-                libxl__domain_pvcontrol_write(si->gc, t, si->domid, "");
+                libxl__domain_pvcontrol_write(gc, t, domid, "");
 
-            if (!xs_transaction_end(ctx->xsh, t, 0))
+            if (!xs_transaction_end(CTX->xsh, t, 0))
                 if (errno == EAGAIN)
                     goto retry_transaction;
 
@@ -727,27 +720,29 @@ static int libxl__domain_suspend_common_callback(void *data)
          * case we lost the race while cancelling and should continue.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, request cancelled");
+            LOG(ERROR, "guest didn't acknowledge suspend, request cancelled");
             return 0;
         }
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest acknowledged suspend request");
-        si->guest_responded = 1;
+        LOG(DEBUG, "guest acknowledged suspend request");
+        dss->guest_responded = 1;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to suspend");
+    LOG(DEBUG, "wait for the guest to suspend");
     watchdog = 60;
     while (watchdog > 0) {
         xc_domaininfo_t info;
 
         usleep(100000);
-        ret = xc_domain_getinfolist(ctx->xch, si->domid, 1, &info);
-        if (ret == 1 && info.domain == si->domid && info.flags & XEN_DOMINF_shutdown) {
+        ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+        if (ret == 1 && info.domain == domid &&
+            (info.flags & XEN_DOMINF_shutdown)) {
             int shutdown_reason;
 
-            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
+            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift)
+                & XEN_DOMINF_shutdownmask;
             if (shutdown_reason == SHUTDOWN_suspend) {
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest has suspended");
+                LOG(DEBUG, "guest has suspended");
                 goto guest_suspended;
             }
         }
@@ -755,15 +750,14 @@ static int libxl__domain_suspend_common_callback(void *data)
         watchdog--;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest did not suspend");
+    LOG(ERROR, "guest did not suspend");
     return 0;
 
  guest_suspended:
-    if (si->hvm) {
-        ret = libxl__domain_suspend_device_model(si->gc, si->domid);
+    if (dss->hvm) {
+        ret = libxl__domain_suspend_device_model(dss->gc, dss->domid);
         if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "libxl__domain_suspend_device_model failed ret=%d", ret);
+            LOG(ERROR, "libxl__domain_suspend_device_model failed ret=%d", ret);
             return 0;
         }
     }
@@ -781,9 +775,8 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
-    struct suspendinfo *si = (struct suspendinfo *) data;
-    libxl__gc *gc = (libxl__gc *) si->gc;
-    libxl_ctx *ctx = gc->owner;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -812,21 +805,21 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         char *xs_path;
         phys_offset = entries[i];
         if (phys_offset == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "phys_offset %d is NULL", i);
+            LOG(ERROR, "phys_offset %d is NULL", i);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "start_addr");
         start_addr = libxl__xs_read(gc, 0, xs_path);
         if (start_addr == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "size");
         size = libxl__xs_read(gc, 0, xs_path);
         if (size == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
@@ -862,11 +855,11 @@ static int libxl__remus_domain_suspend_callback(void *data)
 
 static int libxl__remus_domain_resume_callback(void *data)
 {
-    struct suspendinfo *si = data;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
 
     /* Resumes the domain and the device model */
-    if (libxl_domain_resume(ctx, si->domid, /* Fast Suspend */1))
+    if (libxl_domain_resume(CTX, dss->domid, /* Fast Suspend */1))
         return 0;
 
     /* TODO: Deal with disk. Start a new network output buffer */
@@ -875,15 +868,15 @@ static int libxl__remus_domain_resume_callback(void *data)
 
 static int libxl__remus_domain_checkpoint_callback(void *data)
 {
-    struct suspendinfo *si = data;
+    libxl__domain_suspend_state *dss = data;
 
     /* This would go into tailbuf. */
-    if (si->hvm &&
-        libxl__domain_save_device_model(si->gc, si->domid, si->save_fd))
+    if (dss->hvm &&
+        libxl__domain_save_device_model(dss->gc, dss->domid, dss->save_fd))
         return 0;
 
     /* TODO: Wait for disk and memory ack, release network buffer */
-    usleep(si->interval * 1000);
+    usleep(dss->interval * 1000);
     return 1;
 }
 
@@ -892,11 +885,10 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                  int live, int debug,
                                  const libxl_domain_remus_info *r_info)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags;
+    int xcflags;
     int port;
-    struct save_callbacks callbacks;
-    struct suspendinfo si;
+    struct save_callbacks callbacks[1];
+    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
@@ -921,71 +913,72 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         return ERROR_INVAL;
     }
 
-    memset(&si, 0, sizeof(si));
-    flags = (live) ? XCFLAGS_LIVE : 0
+    xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
+    dss->domid = domid;
+    dss->xcflags = xcflags;
+    dss->hvm = hvm;
+    dss->gc = gc;
+    dss->suspend_eventchn = -1;
+    dss->guest_responded = 0;
+
     if (r_info != NULL) {
-        si.interval = r_info->interval;
+        dss->interval = r_info->interval;
         if (r_info->compression)
-            flags |= XCFLAGS_CHECKPOINT_COMPRESS;
-        si.save_fd = fd;
+            xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
+        dss->save_fd = fd;
     }
     else
-        si.save_fd = -1;
-
-    si.domid = domid;
-    si.flags = flags;
-    si.hvm = hvm;
-    si.gc = gc;
-    si.suspend_eventchn = -1;
-    si.guest_responded = 0;
+        dss->save_fd = -1;
 
-    si.xce = xc_evtchn_open(NULL, 0);
-    if (si.xce == NULL)
+    dss->xce = xc_evtchn_open(NULL, 0);
+    if (dss->xce == NULL)
         goto out;
     else
     {
-        port = xs_suspend_evtchn_port(si.domid);
+        port = xs_suspend_evtchn_port(dss->domid);
 
         if (port >= 0) {
-            si.suspend_eventchn = xc_suspend_evtchn_init(ctx->xch, si.xce, si.domid, port);
+            dss->suspend_eventchn =
+                xc_suspend_evtchn_init(CTX->xch, dss->xce, dss->domid, port);
 
-            if (si.suspend_eventchn < 0)
-                LIBXL__LOG(ctx, LIBXL__LOG_WARNING, "Suspend event channel initialization failed");
+            if (dss->suspend_eventchn < 0)
+                LOG(WARN, "Suspend event channel initialization failed");
         }
     }
 
-    memset(&callbacks, 0, sizeof(callbacks));
+    memset(callbacks, 0, sizeof(*callbacks));
     if (r_info != NULL) {
-        callbacks.suspend = libxl__remus_domain_suspend_callback;
-        callbacks.postcopy = libxl__remus_domain_resume_callback;
-        callbacks.checkpoint = libxl__remus_domain_checkpoint_callback;
+        callbacks->suspend = libxl__remus_domain_suspend_callback;
+        callbacks->postcopy = libxl__remus_domain_resume_callback;
+        callbacks->checkpoint = libxl__remus_domain_checkpoint_callback;
     } else
-        callbacks.suspend = libxl__domain_suspend_common_callback;
+        callbacks->suspend = libxl__domain_suspend_common_callback;
 
-    callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = &si;
+    callbacks->switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
+    callbacks->toolstack_save = libxl__toolstack_save;
+    callbacks->data = dss;
 
-    rc = xc_domain_save(ctx->xch, fd, domid, 0, 0, flags, &callbacks,
+    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, callbacks,
                         hvm, vm_generationid_addr);
     if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "saving domain: %s",
-                         si.guest_responded ?
+        LOGE(ERROR, "saving domain: %s",
+                         dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
-        if ( !si.guest_responded )
+        if ( !dss->guest_responded )
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
     }
 
-    if (si.suspend_eventchn > 0)
-        xc_suspend_evtchn_release(ctx->xch, si.xce, domid, si.suspend_eventchn);
-    if (si.xce != NULL)
-        xc_evtchn_close(si.xce);
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
 
 out:
     return rc;
@@ -993,8 +986,7 @@ out:
 
 int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int ret, fd2 = -1, c;
+    int rc, fd2 = -1, c;
     char buf[1024];
     const char *filename = libxl__device_model_savefile(gc, domid);
     struct stat st;
@@ -1002,46 +994,46 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 
     if (stat(filename, &st) < 0)
     {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Unable to stat qemu save file\n");
-        ret = ERROR_FAIL;
+        LOG(ERROR, "Unable to stat qemu save file\n");
+        rc = ERROR_FAIL;
         goto out;
     }
 
     qemu_state_len = st.st_size;
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
+    LOG(DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
 
-    ret = libxl_write_exactly(ctx, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
+    rc = libxl_write_exactly(CTX, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
                               "saved-state file", "qemu signature");
-    if (ret)
+    if (rc)
         goto out;
 
-    ret = libxl_write_exactly(ctx, fd, &qemu_state_len, sizeof(qemu_state_len),
+    rc = libxl_write_exactly(CTX, fd, &qemu_state_len, sizeof(qemu_state_len),
                             "saved-state file", "saved-state length");
-    if (ret)
+    if (rc)
         goto out;
 
     fd2 = open(filename, O_RDONLY);
     if (fd2 < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Unable to open qemu save file\n");
+        LOGE(ERROR, "Unable to open qemu save file\n");
         goto out;
     }
     while ((c = read(fd2, buf, sizeof(buf))) != 0) {
         if (c < 0) {
             if (errno == EINTR)
                 continue;
-            ret = errno;
+            rc = errno;
             goto out;
         }
-        ret = libxl_write_exactly(
-            ctx, fd, buf, c, "saved-state file", "qemu state");
-        if (ret)
+        rc = libxl_write_exactly(
+            CTX, fd, buf, c, "saved-state file", "qemu state");
+        if (rc)
             goto out;
     }
-    ret = 0;
+    rc = 0;
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return ret;
+    return rc;
 }
 
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a5edea4..b67e317 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -783,10 +783,6 @@ _hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
                                          libxl_domain_build_info *info,
                                          libxl__domain_build_state *state,
                                          int fd);
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug,
-                                         const libxl_domain_remus_info *r_info);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
@@ -1779,6 +1775,23 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Domain suspend (save) state structure -----*/
+
+typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
+
+struct libxl__domain_suspend_state {
+    libxl__gc *gc;
+    xc_evtchn *xce; /* event channel handle */
+    int suspend_eventchn;
+    int domid;
+    int hvm;
+    unsigned int xcflags;
+    int guest_responded;
+    int save_fd; /* Migration stream fd (for Remus) */
+    int interval; /* checkpoint interval (for Remus) */
+};
+
+
 /*----- openpty -----*/
 
 /*
@@ -1889,6 +1902,15 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
+/*----- Domain suspend (save) functions -----*/
+
+_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
+                                         libxl_domain_type type,
+                                         int live, int debug,
+                                         const libxl_domain_remus_info *r_info);
+
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaf-0000bj-Ex; Wed, 30 May 2012 16:17:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlac-0000aM-WF
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:39 +0000
Received: from [85.158.139.83:58514] by server-6.bemta-5.messagelabs.com id
	EF/44-31790-22846CF4; Wed, 30 May 2012 16:17:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27309 invoked from network); 30 May 2012 16:17:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743833"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HM-7b; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005uv-0U;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:33 +0100
Message-ID: <1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Preparatory work for making domain suspend asynchronous:

* Rename `struct suspendinfo' to `libxl__domain_suspend_state'
  and move it to libxl_internal.h.

* Rename variables `si' to `dss'.

* Change the stack-allocated state and callbacks from
    struct suspendinfo si;
    struct save_callbacks callbacks;
    struct restore_callbacks callbacks;
  to
    libxl__domain_suspend_state dss[1];
    struct save_callbacks callbacks[1];
    struct restore_callbacks callbacks[1];
  so that it may be referred to as a pointer variable everywhere.

* Rename the variable `flags' (in libxl__domain_suspend_common
  and in libxl__domain_suspend_state) to `xcflags', to help
  distinguish it from the other `flags' which is passed in
  from the calling application in libxl_domain_suspend_info.

* Move the prototypes of suspend-related functions in libxl_internal.h
  to after the definition of the state struct.

* Replace several ctx variables with gc variables and
  consequently references to ctx with CTX.  Change references
  to `dss->gc' in the functional code to simply `gc'.

* Use LOG* rather than LIBXL__LOG* in a number of places.

* In libxl__domain_save_device_model use `rc' instead of `ret'.

* Introduce and use `gc' and `domid' in
  libxl__domain_suspend_common_callback.

* Wrap some long lines.

* Add an extra pair of parens for clarity in a flag test.

* Remove two pointless casts from void* to a struct*.

No functional change whatsoever.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Change in v2:
 * Make callbacks into arrays (for pointerisation) too.
 * Updated to cope with new remus code.
 * Fixed typo in commit message.
---
 tools/libxl/libxl_dom.c      |  254 ++++++++++++++++++++----------------------
 tools/libxl/libxl_internal.h |   30 +++++-
 2 files changed, 149 insertions(+), 135 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 929fbf2..231ca40 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -468,7 +468,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
-    libxl__gc *gc = (libxl__gc *) data;
+    libxl__gc *gc = data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
     const uint8_t *ptr = buf;
@@ -529,7 +529,7 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
     /* read signature */
     int rc;
     int hvm, pae, superpages;
-    struct restore_callbacks callbacks;
+    struct restore_callbacks callbacks[1];
     int no_incr_generationid;
     switch (info->type) {
     case LIBXL_DOMAIN_TYPE_HVM:
@@ -537,8 +537,8 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
         superpages = 1;
         pae = libxl_defbool_val(info->u.hvm.pae);
         no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        callbacks.toolstack_restore = libxl__toolstack_restore;
-        callbacks.data = gc;
+        callbacks->toolstack_restore = libxl__toolstack_restore;
+        callbacks->data = gc;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         hvm = 0;
@@ -554,7 +554,7 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
                            state->store_domid, state->console_port,
                            &state->console_mfn, state->console_domid,
                            hvm, pae, superpages, no_incr_generationid,
-                           &state->vm_generationid_addr, &callbacks);
+                           &state->vm_generationid_addr, callbacks);
     if ( rc ) {
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "restoring domain");
         return ERROR_FAIL;
@@ -562,33 +562,23 @@ int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
     return 0;
 }
 
-struct suspendinfo {
-    libxl__gc *gc;
-    xc_evtchn *xce; /* event channel handle */
-    int suspend_eventchn;
-    int domid;
-    int hvm;
-    unsigned int flags;
-    int guest_responded;
-    int save_fd; /* Migration stream fd (for Remus) */
-    int interval; /* checkpoint interval (for Remus) */
-};
-
-static int libxl__domain_suspend_common_switch_qemu_logdirty(int domid, unsigned int enable, void *data)
+static int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data)
 {
-    struct suspendinfo *si = data;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     char *path;
     bool rc;
 
-    path = libxl__sprintf(si->gc, "/local/domain/0/device-model/%u/logdirty/cmd", domid);
+    path = libxl__sprintf(gc,
+                   "/local/domain/0/device-model/%u/logdirty/cmd", domid);
     if (!path)
         return 1;
 
     if (enable)
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "enable", strlen("enable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "enable", strlen("enable"));
     else
-        rc = xs_write(ctx->xsh, XBT_NULL, path, "disable", strlen("disable"));
+        rc = xs_write(CTX->xsh, XBT_NULL, path, "disable", strlen("disable"));
 
     return rc ? 0 : 1;
 }
@@ -643,53 +633,56 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
 
 static int libxl__domain_suspend_common_callback(void *data)
 {
-    struct suspendinfo *si = data;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
     int watchdog;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
     xs_transaction_t t;
 
-    if (si->hvm) {
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
-        xc_get_hvm_param(ctx->xch, si->domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->hvm) {
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_CALLBACK_IRQ, &hvm_pvdrv);
+        xc_get_hvm_param(CTX->xch, domid, HVM_PARAM_ACPI_S_STATE, &hvm_s_state);
     }
 
-    if ((hvm_s_state == 0) && (si->suspend_eventchn >= 0)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via event channel",
-                   si->hvm ? "PVHVM" : "PV");
-        ret = xc_evtchn_notify(si->xce, si->suspend_eventchn);
+    if ((hvm_s_state == 0) && (dss->suspend_eventchn >= 0)) {
+        LOG(DEBUG, "issuing %s suspend request via event channel",
+            dss->hvm ? "PVHVM" : "PV");
+        ret = xc_evtchn_notify(dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_evtchn_notify failed ret=%d", ret);
+            LOG(ERROR, "xc_evtchn_notify failed ret=%d", ret);
             return 0;
         }
-        ret = xc_await_suspend(ctx->xch, si->xce, si->suspend_eventchn);
+        ret = xc_await_suspend(CTX->xch, dss->xce, dss->suspend_eventchn);
         if (ret < 0) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "xc_await_suspend failed ret=%d", ret);
+            LOG(ERROR, "xc_await_suspend failed ret=%d", ret);
             return 0;
         }
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
         goto guest_suspended;
     }
 
-    if (si->hvm && (!hvm_pvdrv || hvm_s_state)) {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Calling xc_domain_shutdown on HVM domain");
-        xc_domain_shutdown(ctx->xch, si->domid, SHUTDOWN_suspend);
+    if (dss->hvm && (!hvm_pvdrv || hvm_s_state)) {
+        LOG(DEBUG, "Calling xc_domain_shutdown on HVM domain");
+        xc_domain_shutdown(CTX->xch, domid, SHUTDOWN_suspend);
         /* The guest does not (need to) respond to this sort of request. */
-        si->guest_responded = 1;
+        dss->guest_responded = 1;
     } else {
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "issuing %s suspend request via XenBus control node",
-                   si->hvm ? "PVHVM" : "PV");
+        LOG(DEBUG, "issuing %s suspend request via XenBus control node",
+            dss->hvm ? "PVHVM" : "PV");
 
-        libxl__domain_pvcontrol_write(si->gc, XBT_NULL, si->domid, "suspend");
+        libxl__domain_pvcontrol_write(gc, XBT_NULL, domid, "suspend");
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to acknowledge suspend request");
+        LOG(DEBUG, "wait for the guest to acknowledge suspend request");
         watchdog = 60;
         while (!strcmp(state, "suspend") && watchdog > 0) {
             usleep(100000);
 
-            state = libxl__domain_pvcontrol_read(si->gc, XBT_NULL, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, XBT_NULL, domid);
             if (!state) state = "";
 
             watchdog--;
@@ -705,17 +698,17 @@ static int libxl__domain_suspend_common_callback(void *data)
          * at the last minute.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, cancelling request");
+            LOG(ERROR, "guest didn't acknowledge suspend, cancelling request");
         retry_transaction:
-            t = xs_transaction_start(ctx->xsh);
+            t = xs_transaction_start(CTX->xsh);
 
-            state = libxl__domain_pvcontrol_read(si->gc, t, si->domid);
+            state = libxl__domain_pvcontrol_read(gc, t, domid);
             if (!state) state = "";
 
             if (!strcmp(state, "suspend"))
-                libxl__domain_pvcontrol_write(si->gc, t, si->domid, "");
+                libxl__domain_pvcontrol_write(gc, t, domid, "");
 
-            if (!xs_transaction_end(ctx->xsh, t, 0))
+            if (!xs_transaction_end(CTX->xsh, t, 0))
                 if (errno == EAGAIN)
                     goto retry_transaction;
 
@@ -727,27 +720,29 @@ static int libxl__domain_suspend_common_callback(void *data)
          * case we lost the race while cancelling and should continue.
          */
         if (!strcmp(state, "suspend")) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest didn't acknowledge suspend, request cancelled");
+            LOG(ERROR, "guest didn't acknowledge suspend, request cancelled");
             return 0;
         }
 
-        LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest acknowledged suspend request");
-        si->guest_responded = 1;
+        LOG(DEBUG, "guest acknowledged suspend request");
+        dss->guest_responded = 1;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "wait for the guest to suspend");
+    LOG(DEBUG, "wait for the guest to suspend");
     watchdog = 60;
     while (watchdog > 0) {
         xc_domaininfo_t info;
 
         usleep(100000);
-        ret = xc_domain_getinfolist(ctx->xch, si->domid, 1, &info);
-        if (ret == 1 && info.domain == si->domid && info.flags & XEN_DOMINF_shutdown) {
+        ret = xc_domain_getinfolist(CTX->xch, domid, 1, &info);
+        if (ret == 1 && info.domain == domid &&
+            (info.flags & XEN_DOMINF_shutdown)) {
             int shutdown_reason;
 
-            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift) & XEN_DOMINF_shutdownmask;
+            shutdown_reason = (info.flags >> XEN_DOMINF_shutdownshift)
+                & XEN_DOMINF_shutdownmask;
             if (shutdown_reason == SHUTDOWN_suspend) {
-                LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "guest has suspended");
+                LOG(DEBUG, "guest has suspended");
                 goto guest_suspended;
             }
         }
@@ -755,15 +750,14 @@ static int libxl__domain_suspend_common_callback(void *data)
         watchdog--;
     }
 
-    LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "guest did not suspend");
+    LOG(ERROR, "guest did not suspend");
     return 0;
 
  guest_suspended:
-    if (si->hvm) {
-        ret = libxl__domain_suspend_device_model(si->gc, si->domid);
+    if (dss->hvm) {
+        ret = libxl__domain_suspend_device_model(dss->gc, dss->domid);
         if (ret) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                       "libxl__domain_suspend_device_model failed ret=%d", ret);
+            LOG(ERROR, "libxl__domain_suspend_device_model failed ret=%d", ret);
             return 0;
         }
     }
@@ -781,9 +775,8 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
-    struct suspendinfo *si = (struct suspendinfo *) data;
-    libxl__gc *gc = (libxl__gc *) si->gc;
-    libxl_ctx *ctx = gc->owner;
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -812,21 +805,21 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         char *xs_path;
         phys_offset = entries[i];
         if (phys_offset == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "phys_offset %d is NULL", i);
+            LOG(ERROR, "phys_offset %d is NULL", i);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "start_addr");
         start_addr = libxl__xs_read(gc, 0, xs_path);
         if (start_addr == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
         xs_path = save_helper(gc, domid, phys_offset, "size");
         size = libxl__xs_read(gc, 0, xs_path);
         if (size == NULL) {
-            LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is NULL", xs_path);
+            LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
@@ -862,11 +855,11 @@ static int libxl__remus_domain_suspend_callback(void *data)
 
 static int libxl__remus_domain_resume_callback(void *data)
 {
-    struct suspendinfo *si = data;
-    libxl_ctx *ctx = libxl__gc_owner(si->gc);
+    libxl__domain_suspend_state *dss = data;
+    libxl__gc *gc = dss->gc;
 
     /* Resumes the domain and the device model */
-    if (libxl_domain_resume(ctx, si->domid, /* Fast Suspend */1))
+    if (libxl_domain_resume(CTX, dss->domid, /* Fast Suspend */1))
         return 0;
 
     /* TODO: Deal with disk. Start a new network output buffer */
@@ -875,15 +868,15 @@ static int libxl__remus_domain_resume_callback(void *data)
 
 static int libxl__remus_domain_checkpoint_callback(void *data)
 {
-    struct suspendinfo *si = data;
+    libxl__domain_suspend_state *dss = data;
 
     /* This would go into tailbuf. */
-    if (si->hvm &&
-        libxl__domain_save_device_model(si->gc, si->domid, si->save_fd))
+    if (dss->hvm &&
+        libxl__domain_save_device_model(dss->gc, dss->domid, dss->save_fd))
         return 0;
 
     /* TODO: Wait for disk and memory ack, release network buffer */
-    usleep(si->interval * 1000);
+    usleep(dss->interval * 1000);
     return 1;
 }
 
@@ -892,11 +885,10 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                  int live, int debug,
                                  const libxl_domain_remus_info *r_info)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int flags;
+    int xcflags;
     int port;
-    struct save_callbacks callbacks;
-    struct suspendinfo si;
+    struct save_callbacks callbacks[1];
+    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
@@ -921,71 +913,72 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         return ERROR_INVAL;
     }
 
-    memset(&si, 0, sizeof(si));
-    flags = (live) ? XCFLAGS_LIVE : 0
+    xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
+    dss->domid = domid;
+    dss->xcflags = xcflags;
+    dss->hvm = hvm;
+    dss->gc = gc;
+    dss->suspend_eventchn = -1;
+    dss->guest_responded = 0;
+
     if (r_info != NULL) {
-        si.interval = r_info->interval;
+        dss->interval = r_info->interval;
         if (r_info->compression)
-            flags |= XCFLAGS_CHECKPOINT_COMPRESS;
-        si.save_fd = fd;
+            xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
+        dss->save_fd = fd;
     }
     else
-        si.save_fd = -1;
-
-    si.domid = domid;
-    si.flags = flags;
-    si.hvm = hvm;
-    si.gc = gc;
-    si.suspend_eventchn = -1;
-    si.guest_responded = 0;
+        dss->save_fd = -1;
 
-    si.xce = xc_evtchn_open(NULL, 0);
-    if (si.xce == NULL)
+    dss->xce = xc_evtchn_open(NULL, 0);
+    if (dss->xce == NULL)
         goto out;
     else
     {
-        port = xs_suspend_evtchn_port(si.domid);
+        port = xs_suspend_evtchn_port(dss->domid);
 
         if (port >= 0) {
-            si.suspend_eventchn = xc_suspend_evtchn_init(ctx->xch, si.xce, si.domid, port);
+            dss->suspend_eventchn =
+                xc_suspend_evtchn_init(CTX->xch, dss->xce, dss->domid, port);
 
-            if (si.suspend_eventchn < 0)
-                LIBXL__LOG(ctx, LIBXL__LOG_WARNING, "Suspend event channel initialization failed");
+            if (dss->suspend_eventchn < 0)
+                LOG(WARN, "Suspend event channel initialization failed");
         }
     }
 
-    memset(&callbacks, 0, sizeof(callbacks));
+    memset(callbacks, 0, sizeof(*callbacks));
     if (r_info != NULL) {
-        callbacks.suspend = libxl__remus_domain_suspend_callback;
-        callbacks.postcopy = libxl__remus_domain_resume_callback;
-        callbacks.checkpoint = libxl__remus_domain_checkpoint_callback;
+        callbacks->suspend = libxl__remus_domain_suspend_callback;
+        callbacks->postcopy = libxl__remus_domain_resume_callback;
+        callbacks->checkpoint = libxl__remus_domain_checkpoint_callback;
     } else
-        callbacks.suspend = libxl__domain_suspend_common_callback;
+        callbacks->suspend = libxl__domain_suspend_common_callback;
 
-    callbacks.switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks.toolstack_save = libxl__toolstack_save;
-    callbacks.data = &si;
+    callbacks->switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
+    callbacks->toolstack_save = libxl__toolstack_save;
+    callbacks->data = dss;
 
-    rc = xc_domain_save(ctx->xch, fd, domid, 0, 0, flags, &callbacks,
+    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, callbacks,
                         hvm, vm_generationid_addr);
     if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "saving domain: %s",
-                         si.guest_responded ?
+        LOGE(ERROR, "saving domain: %s",
+                         dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
-        if ( !si.guest_responded )
+        if ( !dss->guest_responded )
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
     }
 
-    if (si.suspend_eventchn > 0)
-        xc_suspend_evtchn_release(ctx->xch, si.xce, domid, si.suspend_eventchn);
-    if (si.xce != NULL)
-        xc_evtchn_close(si.xce);
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
 
 out:
     return rc;
@@ -993,8 +986,7 @@ out:
 
 int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 {
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    int ret, fd2 = -1, c;
+    int rc, fd2 = -1, c;
     char buf[1024];
     const char *filename = libxl__device_model_savefile(gc, domid);
     struct stat st;
@@ -1002,46 +994,46 @@ int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
 
     if (stat(filename, &st) < 0)
     {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Unable to stat qemu save file\n");
-        ret = ERROR_FAIL;
+        LOG(ERROR, "Unable to stat qemu save file\n");
+        rc = ERROR_FAIL;
         goto out;
     }
 
     qemu_state_len = st.st_size;
-    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
+    LOG(DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
 
-    ret = libxl_write_exactly(ctx, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
+    rc = libxl_write_exactly(CTX, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
                               "saved-state file", "qemu signature");
-    if (ret)
+    if (rc)
         goto out;
 
-    ret = libxl_write_exactly(ctx, fd, &qemu_state_len, sizeof(qemu_state_len),
+    rc = libxl_write_exactly(CTX, fd, &qemu_state_len, sizeof(qemu_state_len),
                             "saved-state file", "saved-state length");
-    if (ret)
+    if (rc)
         goto out;
 
     fd2 = open(filename, O_RDONLY);
     if (fd2 < 0) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Unable to open qemu save file\n");
+        LOGE(ERROR, "Unable to open qemu save file\n");
         goto out;
     }
     while ((c = read(fd2, buf, sizeof(buf))) != 0) {
         if (c < 0) {
             if (errno == EINTR)
                 continue;
-            ret = errno;
+            rc = errno;
             goto out;
         }
-        ret = libxl_write_exactly(
-            ctx, fd, buf, c, "saved-state file", "qemu state");
-        if (ret)
+        rc = libxl_write_exactly(
+            CTX, fd, buf, c, "saved-state file", "qemu state");
+        if (rc)
             goto out;
     }
-    ret = 0;
+    rc = 0;
 out:
     if (fd2 >= 0) close(fd2);
     unlink(filename);
-    return ret;
+    return rc;
 }
 
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index a5edea4..b67e317 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -783,10 +783,6 @@ _hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
                                          libxl_domain_build_info *info,
                                          libxl__domain_build_state *state,
                                          int fd);
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug,
-                                         const libxl_domain_remus_info *r_info);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
@@ -1779,6 +1775,23 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Domain suspend (save) state structure -----*/
+
+typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
+
+struct libxl__domain_suspend_state {
+    libxl__gc *gc;
+    xc_evtchn *xce; /* event channel handle */
+    int suspend_eventchn;
+    int domid;
+    int hvm;
+    unsigned int xcflags;
+    int guest_responded;
+    int save_fd; /* Migration stream fd (for Remus) */
+    int interval; /* checkpoint interval (for Remus) */
+};
+
+
 /*----- openpty -----*/
 
 /*
@@ -1889,6 +1902,15 @@ struct libxl__domain_create_state {
          * for the non-stubdom device model. */
 };
 
+/*----- Domain suspend (save) functions -----*/
+
+_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
+                                         libxl_domain_type type,
+                                         int live, int debug,
+                                         const libxl_domain_remus_info *r_info);
+
+
+
 /*
  * Convenience macros.
  */
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlah-0000de-QD; Wed, 30 May 2012 16:17:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000aq-I3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:44120] by server-11.bemta-5.messagelabs.com id
	A3/64-12711-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10636 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743839"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HZ-GT; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vJ-FV;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:39 +0100
Message-ID: <1338394606-22693-9-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 08/15] libxl: wait for qemu to acknowledge
	logdirty command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The current migration code in libxl instructs qemu to start or stop
logdirty, but it does not wait for an acknowledgement from qemu before
continuing.  This might lead to memory corruption (!)

Fix this by waiting for qemu to acknowledge the command.

Unfortunately the necessary ao arrangements for waiting for this
command are unique because qemu has a special protocol for this
particular operation.

Also, this change means that the switch_qemu_logdirty callback
implementation in libxl can no longer synchronously produce its return
value, as it now needs to wait for xenstore.  So we tell the
marshalling code generator that it is a message which does not need a
reply.  This turns the callback function called by the marshaller into
one which returns void; the callback function arranges to later
explicitly sends the reply to the helper, when the xs watch triggers
and the appropriate value is read from xenstore.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c            |  176 +++++++++++++++++++++++++++++++++---
 tools/libxl/libxl_internal.h       |   18 ++++-
 tools/libxl/libxl_save_callout.c   |    8 ++
 tools/libxl/libxl_save_msgs_gen.pl |    7 +-
 4 files changed, 193 insertions(+), 16 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 3e89dd7..b13ed51 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -526,30 +526,180 @@ int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
 static void domain_suspend_done(libxl__egc *egc,
                         libxl__domain_suspend_state *dss, int rc);
 
-/*----- callbacks, called by xc_domain_save -----*/
+/*----- complicated callback, called by xc_domain_save -----*/
+
+/*
+ * We implement the other end of protocol for controlling qemu-dm's
+ * logdirty.  There is no documentation for this protocol, but our
+ * counterparty's implementation is in
+ * qemu-xen-traditional.git:xenstore.c in the function
+ * xenstore_process_logdirty_event
+ */
+
+static void switch_logdirty_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                    const struct timeval *requested_abs);
+static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch*,
+                            const char *watch_path, const char *event_path);
+static void switch_logdirty_done(libxl__egc *egc,
+                                 libxl__domain_suspend_state *dss, int ok);
 
-int libxl__domain_suspend_common_switch_qemu_logdirty
+static void logdirty_init(libxl__logdirty_switch *lds)
+{
+    lds->cmd_path = 0;
+    libxl__ev_xswatch_init(&lds->watch);
+    libxl__ev_time_init(&lds->timeout);
+}
+
+void libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned enable, void *user)
 {
     libxl__save_helper_state *shs = user;
+    libxl__egc *egc = shs->egc;
     libxl__domain_suspend_state *dss = CONTAINER_OF(shs, *dss, shs);
+    libxl__logdirty_switch *lds = &dss->logdirty;
     STATE_AO_GC(dss->ao);
-    char *path;
-    bool rc;
+    int rc;
+    xs_transaction_t t = 0;
+    const char *got;
 
-    path = libxl__sprintf(gc,
+    if (!lds->cmd_path) {
+        lds->cmd_path = GCSPRINTF(
                    "/local/domain/0/device-model/%u/logdirty/cmd", domid);
-    if (!path)
-        return 1;
+        lds->ret_path = GCSPRINTF(
+                   "/local/domain/0/device-model/%u/logdirty/ret", domid);
+    }
+    lds->cmd = enable ? "enable" : "disable";
 
-    if (enable)
-        rc = xs_write(CTX->xsh, XBT_NULL, path, "enable", strlen("enable"));
-    else
-        rc = xs_write(CTX->xsh, XBT_NULL, path, "disable", strlen("disable"));
+    rc = libxl__ev_xswatch_register(gc, &lds->watch,
+                                switch_logdirty_xswatch, lds->ret_path);
+    if (rc) goto out;
+
+    rc = libxl__ev_time_register_rel(gc, &lds->timeout,
+                                switch_logdirty_timeout, 10*1000);
+    if (rc) goto out;
+
+    for (;;) {
+        rc = libxl__xs_transaction_start(gc, &t);
+        if (rc) goto out;
+
+        rc = libxl__xs_read_checked(gc, t, lds->cmd_path, &got);
+        if (rc) goto out;
+
+        if (got) {
+            const char *got_ret;
+            rc = libxl__xs_read_checked(gc, t, lds->ret_path, &got_ret);
+            if (rc) goto out;
 
-    return rc ? 0 : 1;
+            if (strcmp(got, got_ret)) {
+                LOG(ERROR,"controlling logdirty: qemu was already sent"
+                    " command `%s' (xenstore path `%s') but result is `%s'",
+                    got, lds->cmd_path, got_ret ? got_ret : "<none>");
+                rc = ERROR_FAIL;
+                goto out;
+            }
+            rc = libxl__xs_rm_checked(gc, t, lds->cmd_path);
+            if (rc) goto out;
+        }
+
+        rc = libxl__xs_rm_checked(gc, t, lds->ret_path);
+        if (rc) goto out;
+
+        rc = libxl__xs_write_checked(gc, t, lds->cmd_path, lds->cmd);
+        if (rc) goto out;
+
+        rc = libxl__xs_transaction_commit(gc, &t);
+        if (!rc) break;
+        if (rc<0) goto out;
+    }
+
+    /* OK, wait for some callback */
+    return;
+
+ out:
+    LOG(ERROR,"logdirty switch failed (rc=%d), aborting suspend",rc);
+    switch_logdirty_done(egc,dss,0);
+}
+
+static void switch_logdirty_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                    const struct timeval *requested_abs)
+{
+    libxl__domain_suspend_state *dss = CONTAINER_OF(ev, *dss, logdirty.timeout);
+    STATE_AO_GC(dss->ao);
+    LOG(ERROR,"logdirty switch: wait for device model timed out");
+    switch_logdirty_done(egc,dss,0);
 }
 
+static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch *watch,
+                            const char *watch_path, const char *event_path)
+{
+    libxl__domain_suspend_state *dss =
+        CONTAINER_OF(watch, *dss, logdirty.watch);
+    libxl__logdirty_switch *lds = &dss->logdirty;
+    STATE_AO_GC(dss->ao);
+    const char *got;
+    xs_transaction_t t = 0;
+    int rc;
+
+    for (;;) {
+        rc = libxl__xs_transaction_start(gc, &t);
+        if (rc) goto out;
+
+        rc = libxl__xs_read_checked(gc, t, lds->ret_path, &got);
+        if (rc) goto out;
+
+        if (!got) {
+            rc = +1;
+            goto out;
+        }
+
+        if (strcmp(got, lds->cmd)) {
+            LOG(ERROR,"logdirty switch: sent command `%s' but got reply `%s'"
+                " (xenstore paths `%s' / `%s')", lds->cmd, got,
+                lds->cmd_path, lds->ret_path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+
+        rc = libxl__xs_rm_checked(gc, t, lds->cmd_path);
+        if (rc) goto out;
+
+        rc = libxl__xs_rm_checked(gc, t, lds->ret_path);
+        if (rc) goto out;
+
+        rc = libxl__xs_transaction_commit(gc, &t); 
+        if (!rc) break;
+        if (rc<0) goto out;
+    }
+
+ out:
+    /* rc < 0: error
+     * rc == 0: ok, we are done
+     * rc == +1: need to keep waiting
+     */
+    libxl__xs_transaction_abort(gc, &t);
+
+    if (!rc) {
+        switch_logdirty_done(egc,dss,1);
+    } else if (rc < 0) {
+        LOG(ERROR,"logdirty switch: response read failed (rc=%d)",rc);
+        switch_logdirty_done(egc,dss,0);
+    }
+}
+
+static void switch_logdirty_done(libxl__egc *egc,
+                                 libxl__domain_suspend_state *dss, int ok)
+{
+    STATE_AO_GC(dss->ao);
+    libxl__logdirty_switch *lds = &dss->logdirty;
+
+    libxl__ev_xswatch_deregister(gc, &lds->watch);
+    libxl__ev_time_deregister(gc, &lds->timeout);
+
+    libxl__xc_domain_saverestore_async_callback_done(egc, &dss->shs, ok);
+}
+
+/*----- callbacks, called by xc_domain_save -----*/
+
 int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -872,6 +1022,8 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     libxl__srm_save_autogen_callbacks *const callbacks =
         &dss->shs.callbacks.save.a;
 
+    logdirty_init(&dss->logdirty);
+
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
         char *path;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ee7f66a..8f4f45d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1864,6 +1864,14 @@ typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 typedef void libxl__domain_suspend_cb(libxl__egc*,
                                       libxl__domain_suspend_state*, int rc);
 
+typedef struct libxl__logdirty_switch {
+    const char *cmd;
+    const char *cmd_path;
+    const char *ret_path;
+    libxl__ev_xswatch watch;
+    libxl__ev_time timeout;
+} libxl__logdirty_switch;
+
 struct libxl__domain_suspend_state {
     /* set by caller of libxl__domain_suspend */
     libxl__ao *ao;
@@ -1882,6 +1890,7 @@ struct libxl__domain_suspend_state {
     int guest_responded;
     int interval; /* checkpoint interval (for Remus) */
     libxl__save_helper_state shs;
+    libxl__logdirty_switch logdirty;
 };
 
 
@@ -2013,8 +2022,15 @@ _hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
 _hidden void libxl__xc_domain_save_done(libxl__egc*, void *dss_void,
                                         int rc, int retval, int errnoval);
 
+/* Used by asynchronous callbacks: ie ones which xc regards as
+ * returning a value, but which we want to handle asynchronously.
+ * Such functions' actual callback function return void in libxl
+ * When they are ready to indicate completion, they call this. */
+void libxl__xc_domain_saverestore_async_callback_done(libxl__egc *egc,
+                           libxl__save_helper_state *shs, int return_value);
+
 _hidden int libxl__domain_suspend_common_callback(void *data);
-_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
+_hidden void libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data);
 _hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data);
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index ff7dfb6..4413e97 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -129,6 +129,14 @@ void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
 }
 
 
+void libxl__xc_domain_saverestore_async_callback_done(libxl__egc *egc,
+                           libxl__save_helper_state *shs, int return_value)
+{
+    shs->egc = egc;
+    libxl__srm_callout_sendreply(return_value, shs);
+    shs->egc = 0;
+}
+
 /*----- helper execution -----*/
 
 static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
index cd0837e..8832c46 100755
--- a/tools/libxl/libxl_save_msgs_gen.pl
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -14,6 +14,7 @@ our @msgs = (
     #   x  - function pointer is in struct {save,restore}_callbacks
     #         and its null-ness needs to be passed through to the helper's xc
     #   W  - needs a return value; callback is synchronous
+    #   A  - needs a return value; callback is asynchronous
     [  1, 'sr',     "log",                   [qw(uint32_t level
                                                  uint32_t errnoval
                                                  STRING context
@@ -25,7 +26,7 @@ our @msgs = (
     [  3, 'scxW',   "suspend", [] ],         
     [  4, 'scxW',   "postcopy", [] ],        
     [  5, 'scxW',   "checkpoint", [] ],      
-    [  6, 'scxW',   "switch_qemu_logdirty",  [qw(int domid
+    [  6, 'scxA',   "switch_qemu_logdirty",  [qw(int domid
                                               unsigned enable)] ],
     #                toolstack_save          done entirely `by hand'
     [  7, 'rcxW',   "toolstack_restore",     [qw(uint32_t domid
@@ -260,7 +261,7 @@ foreach my $msginfo (@msgs) {
         $f_more_sr->("        int r;\n");
     }
 
-    my $c_rtype_helper = $flags =~ m/W/ ? 'int' : 'void';
+    my $c_rtype_helper = $flags =~ m/[WA]/ ? 'int' : 'void';
     my $c_rtype_callout = $flags =~ m/W/ ? 'int' : 'void';
     my $c_decl = '(';
     my $c_callback_args = '';
@@ -348,7 +349,7 @@ END
     assert(len == allocd);
     ${transmit}(buf, len, user);
 ");
-    if ($flags =~ m/W/) {
+    if ($flags =~ m/[WA]/) {
 	f_more("${encode}_$name", (<<END.($debug ? <<END : '').<<END));
     int r = ${helper}_getreply(user);
 END
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlad-0000aS-8f; Wed, 30 May 2012 16:17:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlab-0000aF-V5
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:38 +0000
Received: from [85.158.139.83:58397] by server-2.bemta-5.messagelabs.com id
	C1/DB-09957-12846CF4; Wed, 30 May 2012 16:17:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10457 invoked from network); 30 May 2012 16:17:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743829"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZq-0004HG-VM; Wed, 30 May 2012 16:16:50 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZq-0005uj-Pn;
	Wed, 30 May 2012 17:16:50 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:31 +0100
Message-ID: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2 00/15] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is v2 of my series to asyncify save/restore.  It appears to work
for me.  Patches 00-05 were posted before.  06-15 are new.

Preparatory work:

 01/15 libxc: xc_domain_restore, make toolstack_restore const-correct
 02/15 libxl: domain save: rename variables etc.
 03/15 libxl: domain restore: reshuffle, preparing for ao
 04/15 libxl: domain save: API changes for asynchrony

The meat:

 05/15 libxl: domain save/restore: run in a separate process

Some fixups:

 06/15 libxl: rename libxl_dom:save_helper to physmap_path
 07/15 libxl: provide libxl__xs_*_checked and libxl__xs_transaction_*
 08/15 libxl: wait for qemu to acknowledge logdirty command

Asyncify writing of qemu save file, too:

 09/15 libxl: datacopier: provide "prefix data" facilit
 10/15 libxl: prepare for asynchronous writing of qemu save file
 11/15 libxl: Make libxl__domain_save_device_model asynchronous

Unrelated bugfixes found during testing:

 12/15 xl: Handle return value from libxl_domain_suspend correctly
 13/15 libxl: do not leak dms->saved_state
 14/15 libxl: do not leak spawned middle children
 15/15 libxl: do not leak an event struct on ignored ao progress

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlah-0000de-QD; Wed, 30 May 2012 16:17:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000aq-I3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:44120] by server-11.bemta-5.messagelabs.com id
	A3/64-12711-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10636 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743839"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HZ-GT; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vJ-FV;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:39 +0100
Message-ID: <1338394606-22693-9-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 08/15] libxl: wait for qemu to acknowledge
	logdirty command
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The current migration code in libxl instructs qemu to start or stop
logdirty, but it does not wait for an acknowledgement from qemu before
continuing.  This might lead to memory corruption (!)

Fix this by waiting for qemu to acknowledge the command.

Unfortunately the necessary ao arrangements for waiting for this
command are unique because qemu has a special protocol for this
particular operation.

Also, this change means that the switch_qemu_logdirty callback
implementation in libxl can no longer synchronously produce its return
value, as it now needs to wait for xenstore.  So we tell the
marshalling code generator that it is a message which does not need a
reply.  This turns the callback function called by the marshaller into
one which returns void; the callback function arranges to later
explicitly sends the reply to the helper, when the xs watch triggers
and the appropriate value is read from xenstore.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c            |  176 +++++++++++++++++++++++++++++++++---
 tools/libxl/libxl_internal.h       |   18 ++++-
 tools/libxl/libxl_save_callout.c   |    8 ++
 tools/libxl/libxl_save_msgs_gen.pl |    7 +-
 4 files changed, 193 insertions(+), 16 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 3e89dd7..b13ed51 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -526,30 +526,180 @@ int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
 static void domain_suspend_done(libxl__egc *egc,
                         libxl__domain_suspend_state *dss, int rc);
 
-/*----- callbacks, called by xc_domain_save -----*/
+/*----- complicated callback, called by xc_domain_save -----*/
+
+/*
+ * We implement the other end of protocol for controlling qemu-dm's
+ * logdirty.  There is no documentation for this protocol, but our
+ * counterparty's implementation is in
+ * qemu-xen-traditional.git:xenstore.c in the function
+ * xenstore_process_logdirty_event
+ */
+
+static void switch_logdirty_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                    const struct timeval *requested_abs);
+static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch*,
+                            const char *watch_path, const char *event_path);
+static void switch_logdirty_done(libxl__egc *egc,
+                                 libxl__domain_suspend_state *dss, int ok);
 
-int libxl__domain_suspend_common_switch_qemu_logdirty
+static void logdirty_init(libxl__logdirty_switch *lds)
+{
+    lds->cmd_path = 0;
+    libxl__ev_xswatch_init(&lds->watch);
+    libxl__ev_time_init(&lds->timeout);
+}
+
+void libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned enable, void *user)
 {
     libxl__save_helper_state *shs = user;
+    libxl__egc *egc = shs->egc;
     libxl__domain_suspend_state *dss = CONTAINER_OF(shs, *dss, shs);
+    libxl__logdirty_switch *lds = &dss->logdirty;
     STATE_AO_GC(dss->ao);
-    char *path;
-    bool rc;
+    int rc;
+    xs_transaction_t t = 0;
+    const char *got;
 
-    path = libxl__sprintf(gc,
+    if (!lds->cmd_path) {
+        lds->cmd_path = GCSPRINTF(
                    "/local/domain/0/device-model/%u/logdirty/cmd", domid);
-    if (!path)
-        return 1;
+        lds->ret_path = GCSPRINTF(
+                   "/local/domain/0/device-model/%u/logdirty/ret", domid);
+    }
+    lds->cmd = enable ? "enable" : "disable";
 
-    if (enable)
-        rc = xs_write(CTX->xsh, XBT_NULL, path, "enable", strlen("enable"));
-    else
-        rc = xs_write(CTX->xsh, XBT_NULL, path, "disable", strlen("disable"));
+    rc = libxl__ev_xswatch_register(gc, &lds->watch,
+                                switch_logdirty_xswatch, lds->ret_path);
+    if (rc) goto out;
+
+    rc = libxl__ev_time_register_rel(gc, &lds->timeout,
+                                switch_logdirty_timeout, 10*1000);
+    if (rc) goto out;
+
+    for (;;) {
+        rc = libxl__xs_transaction_start(gc, &t);
+        if (rc) goto out;
+
+        rc = libxl__xs_read_checked(gc, t, lds->cmd_path, &got);
+        if (rc) goto out;
+
+        if (got) {
+            const char *got_ret;
+            rc = libxl__xs_read_checked(gc, t, lds->ret_path, &got_ret);
+            if (rc) goto out;
 
-    return rc ? 0 : 1;
+            if (strcmp(got, got_ret)) {
+                LOG(ERROR,"controlling logdirty: qemu was already sent"
+                    " command `%s' (xenstore path `%s') but result is `%s'",
+                    got, lds->cmd_path, got_ret ? got_ret : "<none>");
+                rc = ERROR_FAIL;
+                goto out;
+            }
+            rc = libxl__xs_rm_checked(gc, t, lds->cmd_path);
+            if (rc) goto out;
+        }
+
+        rc = libxl__xs_rm_checked(gc, t, lds->ret_path);
+        if (rc) goto out;
+
+        rc = libxl__xs_write_checked(gc, t, lds->cmd_path, lds->cmd);
+        if (rc) goto out;
+
+        rc = libxl__xs_transaction_commit(gc, &t);
+        if (!rc) break;
+        if (rc<0) goto out;
+    }
+
+    /* OK, wait for some callback */
+    return;
+
+ out:
+    LOG(ERROR,"logdirty switch failed (rc=%d), aborting suspend",rc);
+    switch_logdirty_done(egc,dss,0);
+}
+
+static void switch_logdirty_timeout(libxl__egc *egc, libxl__ev_time *ev,
+                                    const struct timeval *requested_abs)
+{
+    libxl__domain_suspend_state *dss = CONTAINER_OF(ev, *dss, logdirty.timeout);
+    STATE_AO_GC(dss->ao);
+    LOG(ERROR,"logdirty switch: wait for device model timed out");
+    switch_logdirty_done(egc,dss,0);
 }
 
+static void switch_logdirty_xswatch(libxl__egc *egc, libxl__ev_xswatch *watch,
+                            const char *watch_path, const char *event_path)
+{
+    libxl__domain_suspend_state *dss =
+        CONTAINER_OF(watch, *dss, logdirty.watch);
+    libxl__logdirty_switch *lds = &dss->logdirty;
+    STATE_AO_GC(dss->ao);
+    const char *got;
+    xs_transaction_t t = 0;
+    int rc;
+
+    for (;;) {
+        rc = libxl__xs_transaction_start(gc, &t);
+        if (rc) goto out;
+
+        rc = libxl__xs_read_checked(gc, t, lds->ret_path, &got);
+        if (rc) goto out;
+
+        if (!got) {
+            rc = +1;
+            goto out;
+        }
+
+        if (strcmp(got, lds->cmd)) {
+            LOG(ERROR,"logdirty switch: sent command `%s' but got reply `%s'"
+                " (xenstore paths `%s' / `%s')", lds->cmd, got,
+                lds->cmd_path, lds->ret_path);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+
+        rc = libxl__xs_rm_checked(gc, t, lds->cmd_path);
+        if (rc) goto out;
+
+        rc = libxl__xs_rm_checked(gc, t, lds->ret_path);
+        if (rc) goto out;
+
+        rc = libxl__xs_transaction_commit(gc, &t); 
+        if (!rc) break;
+        if (rc<0) goto out;
+    }
+
+ out:
+    /* rc < 0: error
+     * rc == 0: ok, we are done
+     * rc == +1: need to keep waiting
+     */
+    libxl__xs_transaction_abort(gc, &t);
+
+    if (!rc) {
+        switch_logdirty_done(egc,dss,1);
+    } else if (rc < 0) {
+        LOG(ERROR,"logdirty switch: response read failed (rc=%d)",rc);
+        switch_logdirty_done(egc,dss,0);
+    }
+}
+
+static void switch_logdirty_done(libxl__egc *egc,
+                                 libxl__domain_suspend_state *dss, int ok)
+{
+    STATE_AO_GC(dss->ao);
+    libxl__logdirty_switch *lds = &dss->logdirty;
+
+    libxl__ev_xswatch_deregister(gc, &lds->watch);
+    libxl__ev_time_deregister(gc, &lds->timeout);
+
+    libxl__xc_domain_saverestore_async_callback_done(egc, &dss->shs, ok);
+}
+
+/*----- callbacks, called by xc_domain_save -----*/
+
 int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -872,6 +1022,8 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     libxl__srm_save_autogen_callbacks *const callbacks =
         &dss->shs.callbacks.save.a;
 
+    logdirty_init(&dss->logdirty);
+
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
         char *path;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ee7f66a..8f4f45d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1864,6 +1864,14 @@ typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 typedef void libxl__domain_suspend_cb(libxl__egc*,
                                       libxl__domain_suspend_state*, int rc);
 
+typedef struct libxl__logdirty_switch {
+    const char *cmd;
+    const char *cmd_path;
+    const char *ret_path;
+    libxl__ev_xswatch watch;
+    libxl__ev_time timeout;
+} libxl__logdirty_switch;
+
 struct libxl__domain_suspend_state {
     /* set by caller of libxl__domain_suspend */
     libxl__ao *ao;
@@ -1882,6 +1890,7 @@ struct libxl__domain_suspend_state {
     int guest_responded;
     int interval; /* checkpoint interval (for Remus) */
     libxl__save_helper_state shs;
+    libxl__logdirty_switch logdirty;
 };
 
 
@@ -2013,8 +2022,15 @@ _hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
 _hidden void libxl__xc_domain_save_done(libxl__egc*, void *dss_void,
                                         int rc, int retval, int errnoval);
 
+/* Used by asynchronous callbacks: ie ones which xc regards as
+ * returning a value, but which we want to handle asynchronously.
+ * Such functions' actual callback function return void in libxl
+ * When they are ready to indicate completion, they call this. */
+void libxl__xc_domain_saverestore_async_callback_done(libxl__egc *egc,
+                           libxl__save_helper_state *shs, int return_value);
+
 _hidden int libxl__domain_suspend_common_callback(void *data);
-_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
+_hidden void libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data);
 _hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data);
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index ff7dfb6..4413e97 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -129,6 +129,14 @@ void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
 }
 
 
+void libxl__xc_domain_saverestore_async_callback_done(libxl__egc *egc,
+                           libxl__save_helper_state *shs, int return_value)
+{
+    shs->egc = egc;
+    libxl__srm_callout_sendreply(return_value, shs);
+    shs->egc = 0;
+}
+
 /*----- helper execution -----*/
 
 static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
index cd0837e..8832c46 100755
--- a/tools/libxl/libxl_save_msgs_gen.pl
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -14,6 +14,7 @@ our @msgs = (
     #   x  - function pointer is in struct {save,restore}_callbacks
     #         and its null-ness needs to be passed through to the helper's xc
     #   W  - needs a return value; callback is synchronous
+    #   A  - needs a return value; callback is asynchronous
     [  1, 'sr',     "log",                   [qw(uint32_t level
                                                  uint32_t errnoval
                                                  STRING context
@@ -25,7 +26,7 @@ our @msgs = (
     [  3, 'scxW',   "suspend", [] ],         
     [  4, 'scxW',   "postcopy", [] ],        
     [  5, 'scxW',   "checkpoint", [] ],      
-    [  6, 'scxW',   "switch_qemu_logdirty",  [qw(int domid
+    [  6, 'scxA',   "switch_qemu_logdirty",  [qw(int domid
                                               unsigned enable)] ],
     #                toolstack_save          done entirely `by hand'
     [  7, 'rcxW',   "toolstack_restore",     [qw(uint32_t domid
@@ -260,7 +261,7 @@ foreach my $msginfo (@msgs) {
         $f_more_sr->("        int r;\n");
     }
 
-    my $c_rtype_helper = $flags =~ m/W/ ? 'int' : 'void';
+    my $c_rtype_helper = $flags =~ m/[WA]/ ? 'int' : 'void';
     my $c_rtype_callout = $flags =~ m/W/ ? 'int' : 'void';
     my $c_decl = '(';
     my $c_callback_args = '';
@@ -348,7 +349,7 @@ END
     assert(len == allocd);
     ${transmit}(buf, len, user);
 ");
-    if ($flags =~ m/W/) {
+    if ($flags =~ m/[WA]/) {
 	f_more("${encode}_$name", (<<END.($debug ? <<END : '').<<END));
     int r = ${helper}_getreply(user);
 END
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlad-0000aS-8f; Wed, 30 May 2012 16:17:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlab-0000aF-V5
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:38 +0000
Received: from [85.158.139.83:58397] by server-2.bemta-5.messagelabs.com id
	C1/DB-09957-12846CF4; Wed, 30 May 2012 16:17:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10457 invoked from network); 30 May 2012 16:17:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743829"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZq-0004HG-VM; Wed, 30 May 2012 16:16:50 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZq-0005uj-Pn;
	Wed, 30 May 2012 17:16:50 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:31 +0100
Message-ID: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Subject: [Xen-devel] [PATCH v2 00/15] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is v2 of my series to asyncify save/restore.  It appears to work
for me.  Patches 00-05 were posted before.  06-15 are new.

Preparatory work:

 01/15 libxc: xc_domain_restore, make toolstack_restore const-correct
 02/15 libxl: domain save: rename variables etc.
 03/15 libxl: domain restore: reshuffle, preparing for ao
 04/15 libxl: domain save: API changes for asynchrony

The meat:

 05/15 libxl: domain save/restore: run in a separate process

Some fixups:

 06/15 libxl: rename libxl_dom:save_helper to physmap_path
 07/15 libxl: provide libxl__xs_*_checked and libxl__xs_transaction_*
 08/15 libxl: wait for qemu to acknowledge logdirty command

Asyncify writing of qemu save file, too:

 09/15 libxl: datacopier: provide "prefix data" facilit
 10/15 libxl: prepare for asynchronous writing of qemu save file
 11/15 libxl: Make libxl__domain_save_device_model asynchronous

Unrelated bugfixes found during testing:

 12/15 xl: Handle return value from libxl_domain_suspend correctly
 13/15 libxl: do not leak dms->saved_state
 14/15 libxl: do not leak spawned middle children
 15/15 libxl: do not leak an event struct on ignored ao progress

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlae-0000az-Lb; Wed, 30 May 2012 16:17:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlac-0000aH-I2
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:38 +0000
Received: from [85.158.139.83:58459] by server-5.bemta-5.messagelabs.com id
	DF/0D-16141-12846CF4; Wed, 30 May 2012 16:17:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10488 invoked from network); 30 May 2012 16:17:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743830"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HH-0p; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZq-0005ul-SX;
	Wed, 30 May 2012 17:16:50 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:32 +0100
Message-ID: <1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
	make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Also provide typedefs for the nontrivial function callback types.

Update the one provider of this callback, in libxl.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xenguest.h  |   14 ++++++++++----
 tools/libxl/libxl_dom.c |    4 ++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/tools/libxc/xenguest.h b/tools/libxc/xenguest.h
index 91d53f7..328a2a5 100644
--- a/tools/libxc/xenguest.h
+++ b/tools/libxc/xenguest.h
@@ -31,6 +31,10 @@
 #define X86_64_B_SIZE   64 
 #define X86_32_B_SIZE   32
 
+typedef int xc_switch_qemu_logdirty_cb(int domid, unsigned enable, void *data);
+typedef int xc_toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                                 uint32_t *len, void *data);
+
 /* callbacks provided by xc_domain_save */
 struct save_callbacks {
     /* Called after expiration of checkpoint interval,
@@ -61,7 +65,7 @@ struct save_callbacks {
     int (*checkpoint)(void* data);
 
     /* Enable qemu-dm logging dirty pages to xen */
-    int (*switch_qemu_logdirty)(int domid, unsigned enable, void *data); /* HVM only */
+    xc_switch_qemu_logdirty_cb *switch_qemu_logdirty; /* HVM only */
 
     /* Save toolstack specific data
      * @param buf the buffer with the data to be saved
@@ -69,7 +73,7 @@ struct save_callbacks {
      * The callee allocates the buffer, the caller frees it (buffer must
      * be free'able).
      */
-    int (*toolstack_save)(uint32_t domid, uint8_t **buf, uint32_t *len, void *data);
+    xc_toolstack_save_cb *toolstack_save;
 
     /* to be provided as the last argument to each callback function */
     void* data;
@@ -89,11 +93,13 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter
                    unsigned long vm_generationid_addr);
 
 
+typedef int xc_toolstack_restore_cb(uint32_t domid, const uint8_t *buf,
+                                    uint32_t size, void* data);
+
 /* callbacks provided by xc_domain_restore */
 struct restore_callbacks {
     /* callback to restore toolstack specific data */
-    int (*toolstack_restore)(uint32_t domid, uint8_t *buf,
-            uint32_t size, void* data);
+    xc_toolstack_restore_cb *toolstack_restore;
 
     /* to be provided as the last argument to each callback function */
     void* data;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 06dbc92..929fbf2 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -465,13 +465,13 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, uint8_t *buf,
+static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = (libxl__gc *) data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
-    uint8_t *ptr = buf;
+    const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
     struct libxl__physmap_info* pi;
     char *xs_path;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlae-0000az-Lb; Wed, 30 May 2012 16:17:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlac-0000aH-I2
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:38 +0000
Received: from [85.158.139.83:58459] by server-5.bemta-5.messagelabs.com id
	DF/0D-16141-12846CF4; Wed, 30 May 2012 16:17:37 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10488 invoked from network); 30 May 2012 16:17:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743830"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HH-0p; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZq-0005ul-SX;
	Wed, 30 May 2012 17:16:50 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:32 +0100
Message-ID: <1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
	make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Also provide typedefs for the nontrivial function callback types.

Update the one provider of this callback, in libxl.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xenguest.h  |   14 ++++++++++----
 tools/libxl/libxl_dom.c |    4 ++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/tools/libxc/xenguest.h b/tools/libxc/xenguest.h
index 91d53f7..328a2a5 100644
--- a/tools/libxc/xenguest.h
+++ b/tools/libxc/xenguest.h
@@ -31,6 +31,10 @@
 #define X86_64_B_SIZE   64 
 #define X86_32_B_SIZE   32
 
+typedef int xc_switch_qemu_logdirty_cb(int domid, unsigned enable, void *data);
+typedef int xc_toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                                 uint32_t *len, void *data);
+
 /* callbacks provided by xc_domain_save */
 struct save_callbacks {
     /* Called after expiration of checkpoint interval,
@@ -61,7 +65,7 @@ struct save_callbacks {
     int (*checkpoint)(void* data);
 
     /* Enable qemu-dm logging dirty pages to xen */
-    int (*switch_qemu_logdirty)(int domid, unsigned enable, void *data); /* HVM only */
+    xc_switch_qemu_logdirty_cb *switch_qemu_logdirty; /* HVM only */
 
     /* Save toolstack specific data
      * @param buf the buffer with the data to be saved
@@ -69,7 +73,7 @@ struct save_callbacks {
      * The callee allocates the buffer, the caller frees it (buffer must
      * be free'able).
      */
-    int (*toolstack_save)(uint32_t domid, uint8_t **buf, uint32_t *len, void *data);
+    xc_toolstack_save_cb *toolstack_save;
 
     /* to be provided as the last argument to each callback function */
     void* data;
@@ -89,11 +93,13 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter
                    unsigned long vm_generationid_addr);
 
 
+typedef int xc_toolstack_restore_cb(uint32_t domid, const uint8_t *buf,
+                                    uint32_t size, void* data);
+
 /* callbacks provided by xc_domain_restore */
 struct restore_callbacks {
     /* callback to restore toolstack specific data */
-    int (*toolstack_restore)(uint32_t domid, uint8_t *buf,
-            uint32_t size, void* data);
+    xc_toolstack_restore_cb *toolstack_restore;
 
     /* to be provided as the last argument to each callback function */
     void* data;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 06dbc92..929fbf2 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -465,13 +465,13 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, uint8_t *buf,
+static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = (libxl__gc *) data;
     libxl_ctx *ctx = gc->owner;
     int i, ret;
-    uint8_t *ptr = buf;
+    const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
     struct libxl__physmap_info* pi;
     char *xs_path;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlai-0000eX-W8; Wed, 30 May 2012 16:17:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000ap-1w
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:44139] by server-10.bemta-5.messagelabs.com id
	90/3D-22179-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27379 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743846"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hu-UP; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vl-RS;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:46 +0100
Message-ID: <1338394606-22693-16-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 15/15] libxl: do not leak an event struct on
	ignored ao progress
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On entry to libxl__ao_progress_report, the caller has allocated an
event.  If the progress report is to be ignored, we need to free it.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 565d2c2..dd1a9ca 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1601,6 +1601,7 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
     ev->for_user = how->for_event;
     if (how->callback == dummy_asyncprogress_callback_ignore) {
         LOG(DEBUG,"ao %p: progress report: ignored",ao);
+        libxl_event_free(CTX,ev);
         /* ignore */
     } else if (how->callback) {
         libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaf-0000bx-Qd; Wed, 30 May 2012 16:17:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlad-0000aF-Dq
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:39 +0000
Received: from [85.158.139.83:44033] by server-2.bemta-5.messagelabs.com id
	4F/DB-09957-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10591 invoked from network); 30 May 2012 16:17:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743834"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HV-E8; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vB-C9;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:37 +0100
Message-ID: <1338394606-22693-7-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 06/15] libxl: rename libxl_dom:save_helper to
	physmap_path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

"save_helper" isn't very descriptive.  Also it is now confusing
because it reads like it might refer to the libxl-save-helper
executable which runs xc_domain_save and xc_domain_restore.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 716cf4b..3e89dd7 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -732,7 +732,7 @@ int libxl__domain_suspend_common_callback(void *user)
     return 1;
 }
 
-static inline char *save_helper(libxl__gc *gc, uint32_t domid,
+static inline char *physmap_path(libxl__gc *gc, uint32_t domid,
         char *phys_offset, char *node)
 {
     return libxl__sprintf(gc,
@@ -777,21 +777,21 @@ int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
             return -1;
         }
 
-        xs_path = save_helper(gc, domid, phys_offset, "start_addr");
+        xs_path = physmap_path(gc, domid, phys_offset, "start_addr");
         start_addr = libxl__xs_read(gc, 0, xs_path);
         if (start_addr == NULL) {
             LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
-        xs_path = save_helper(gc, domid, phys_offset, "size");
+        xs_path = physmap_path(gc, domid, phys_offset, "size");
         size = libxl__xs_read(gc, 0, xs_path);
         if (size == NULL) {
             LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
-        xs_path = save_helper(gc, domid, phys_offset, "name");
+        xs_path = physmap_path(gc, domid, phys_offset, "name");
         name = libxl__xs_read(gc, 0, xs_path);
         if (name == NULL)
             namelen = 0;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlai-0000eX-W8; Wed, 30 May 2012 16:17:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000ap-1w
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:44139] by server-10.bemta-5.messagelabs.com id
	90/3D-22179-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!6
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27379 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743846"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hu-UP; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vl-RS;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:46 +0100
Message-ID: <1338394606-22693-16-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 15/15] libxl: do not leak an event struct on
	ignored ao progress
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On entry to libxl__ao_progress_report, the caller has allocated an
event.  If the progress report is to be ignored, we need to free it.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_event.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 565d2c2..dd1a9ca 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1601,6 +1601,7 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
     ev->for_user = how->for_event;
     if (how->callback == dummy_asyncprogress_callback_ignore) {
         LOG(DEBUG,"ao %p: progress report: ignored",ao);
+        libxl_event_free(CTX,ev);
         /* ignore */
     } else if (how->callback) {
         libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaf-0000bx-Qd; Wed, 30 May 2012 16:17:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlad-0000aF-Dq
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:39 +0000
Received: from [85.158.139.83:44033] by server-2.bemta-5.messagelabs.com id
	4F/DB-09957-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10591 invoked from network); 30 May 2012 16:17:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743834"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HV-E8; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vB-C9;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:37 +0100
Message-ID: <1338394606-22693-7-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 06/15] libxl: rename libxl_dom:save_helper to
	physmap_path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

"save_helper" isn't very descriptive.  Also it is now confusing
because it reads like it might refer to the libxl-save-helper
executable which runs xc_domain_save and xc_domain_restore.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 716cf4b..3e89dd7 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -732,7 +732,7 @@ int libxl__domain_suspend_common_callback(void *user)
     return 1;
 }
 
-static inline char *save_helper(libxl__gc *gc, uint32_t domid,
+static inline char *physmap_path(libxl__gc *gc, uint32_t domid,
         char *phys_offset, char *node)
 {
     return libxl__sprintf(gc,
@@ -777,21 +777,21 @@ int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
             return -1;
         }
 
-        xs_path = save_helper(gc, domid, phys_offset, "start_addr");
+        xs_path = physmap_path(gc, domid, phys_offset, "start_addr");
         start_addr = libxl__xs_read(gc, 0, xs_path);
         if (start_addr == NULL) {
             LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
-        xs_path = save_helper(gc, domid, phys_offset, "size");
+        xs_path = physmap_path(gc, domid, phys_offset, "size");
         size = libxl__xs_read(gc, 0, xs_path);
         if (size == NULL) {
             LOG(ERROR, "%s is NULL", xs_path);
             return -1;
         }
 
-        xs_path = save_helper(gc, domid, phys_offset, "name");
+        xs_path = physmap_path(gc, domid, phys_offset, "name");
         name = libxl__xs_read(gc, 0, xs_path);
         if (name == NULL)
             namelen = 0;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaf-0000bG-0n; Wed, 30 May 2012 16:17:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlad-0000aH-36
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:39 +0000
Received: from [85.158.139.83:58547] by server-5.bemta-5.messagelabs.com id
	D4/1D-16141-22846CF4; Wed, 30 May 2012 16:17:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10516 invoked from network); 30 May 2012 16:17:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743832"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HN-9D; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005uz-7K;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:34 +0100
Message-ID: <1338394606-22693-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 03/15] libxl: domain restore: reshuffle,
	preparing for ao
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We are going to arrange that libxl, instead of calling
xc_domain_restore, calls a stub function which forks and execs a
helper program, so that restore can be asynchronous rather than
blocking the whole toolstack.

This stub function will be called libxl__xc_domain_restore.

However, its prospective call site is unsuitable for a function which
needs to make a callback, and is buried in two nested single-call-site
functions which are logically part of the domain creation procedure.

So we first abolish those single-call-site functions, integrate their
contents into domain creation in their proper temporal order, and
break out libxl__xc_domain_restore ready for its reimplementation.

No functional change - just the following reorganisation:

* Abolish libxl__domain_restore_common, as it had only one caller.
  Move its contents into (what was) domain_restore.

* There is a new stage function domcreate_rebuild_done containing what
  used to be the bulk of domcreate_bootloader_done, since
  domcreate_bootloader_done now simply starts the restore (or does the
  rebuild) and arranges to call the next stage.

* Move the contents of domain_restore into its correct place in the
  domain creation sequence.  We put it inside
  domcreate_bootloader_done, which now either calls
  libxl__xc_domain_restore which will call the new function
  domcreate_rebuild_done.

* Various general-purpose local variables (`i' etc.) and convenience
  alias variables need to be shuffled about accordingly.

* Consequently libxl__toolstack_restore needs to gain external linkage
  as it is now in a different file to its user.

* Move the xc_domain_save callbacks struct from the stack into
  libxl__domain_create_state.

In general the moved code remains almost identical.  Two returns in
what used to be libxl__domain_restore_common have been changed to set
the return value and "goto out", and the call sites for the abolished
and new functions have been adjusted.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes in v2:
 * Also move the save callbacks
---
 tools/libxl/Makefile             |    1 +
 tools/libxl/libxl_create.c       |  244 +++++++++++++++++++++++--------------
 tools/libxl/libxl_dom.c          |   45 +-------
 tools/libxl/libxl_internal.h     |   19 +++-
 tools/libxl/libxl_save_callout.c |   37 ++++++
 5 files changed, 206 insertions(+), 140 deletions(-)
 create mode 100644 tools/libxl/libxl_save_callout.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9b84421 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,6 +66,7 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
+			libxl_save_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 77acecc..44455f9 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -20,7 +20,6 @@
 #include "libxl_internal.h"
 
 #include <xc_dom.h>
-#include <xenguest.h>
 
 void libxl_domain_config_init(libxl_domain_config *d_config)
 {
@@ -316,89 +315,6 @@ out:
     return ret;
 }
 
-static int domain_restore(libxl__gc *gc, libxl_domain_build_info *info,
-                          uint32_t domid, int fd,
-                          libxl__domain_build_state *state)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char **vments = NULL, **localents = NULL;
-    struct timeval start_time;
-    int i, ret, esave, flags;
-
-    ret = libxl__build_pre(gc, domid, info, state);
-    if (ret)
-        goto out;
-
-    ret = libxl__domain_restore_common(gc, domid, info, state, fd);
-    if (ret)
-        goto out;
-
-    gettimeofday(&start_time, NULL);
-
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        vments = libxl__calloc(gc, 7, sizeof(char *));
-        vments[0] = "rtc/timeoffset";
-        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
-        vments[2] = "image/ostype";
-        vments[3] = "hvm";
-        vments[4] = "start_time";
-        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        vments = libxl__calloc(gc, 11, sizeof(char *));
-        i = 0;
-        vments[i++] = "image/ostype";
-        vments[i++] = "linux";
-        vments[i++] = "image/kernel";
-        vments[i++] = (char *) state->pv_kernel.path;
-        vments[i++] = "start_time";
-        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (state->pv_ramdisk.path) {
-            vments[i++] = "image/ramdisk";
-            vments[i++] = (char *) state->pv_ramdisk.path;
-        }
-        if (state->pv_cmdline) {
-            vments[i++] = "image/cmdline";
-            vments[i++] = (char *) state->pv_cmdline;
-        }
-        break;
-    default:
-        ret = ERROR_INVAL;
-        goto out;
-    }
-    ret = libxl__build_post(gc, domid, info, state, vments, localents);
-    if (ret)
-        goto out;
-
-    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        ret = asprintf(&state->saved_state,
-                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
-        ret = (ret < 0) ? ERROR_FAIL : 0;
-    }
-
-out:
-    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&state->pv_kernel);
-        libxl__file_reference_unmap(&state->pv_ramdisk);
-    }
-
-    esave = errno;
-
-    flags = fcntl(fd, F_GETFL);
-    if (flags == -1) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
-    } else {
-        flags &= ~O_NONBLOCK;
-        if (fcntl(fd, F_SETFL, flags) == -1)
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
-                         " back to blocking mode");
-    }
-
-    errno = esave;
-    return ret;
-}
-
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
@@ -579,10 +495,13 @@ static void domcreate_bootloader_console_available(libxl__egc *egc,
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
-
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
 static void domcreate_complete(libxl__egc *egc,
@@ -670,20 +589,20 @@ static void domcreate_console_available(libxl__egc *egc,
 
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
-                                      int ret)
+                                      int rc)
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
     libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
-    libxl_ctx *const ctx = CTX;
+    struct restore_callbacks *const callbacks = &dcs->callbacks;
 
-    if (ret) goto error_out;
+    if (rc) domcreate_rebuild_done(egc, dcs, rc);
 
     /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
      * been initialised by the bootloader already.
@@ -699,12 +618,153 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     dcs->dmss.dm.callback = domcreate_devmodel_started;
     dcs->dmss.callback = domcreate_devmodel_started;
 
-    if ( restore_fd >= 0 ) {
-        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
+    if ( restore_fd < 0 ) {
+        rc = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        domcreate_rebuild_done(egc, dcs, rc);
+        return;
+    }
+
+    /* Restore */
+
+    rc = libxl__build_pre(gc, domid, info, state);
+    if (rc)
+        goto out;
+
+    /* read signature */
+    int hvm, pae, superpages;
+    int no_incr_generationid;
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        hvm = 1;
+        superpages = 1;
+        pae = libxl_defbool_val(info->u.hvm.pae);
+        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
+        callbacks->toolstack_restore = libxl__toolstack_restore;
+        callbacks->data = gc;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        hvm = 0;
+        superpages = 0;
+        pae = 1;
+        no_incr_generationid = 0;
+        break;
+    default:
+        rc = ERROR_INVAL;
+        goto out;
+    }
+    libxl__xc_domain_restore(egc, dcs,
+                             hvm, pae, superpages, no_incr_generationid);
+    return;
+
+ out:
+    libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret, int retval, int errnoval)
+{
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char **vments = NULL, **localents = NULL;
+    struct timeval start_time;
+    int i, esave, flags;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    const int fd = dcs->restore_fd;
+
+    if (ret)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "restoring domain");
+        ret = ERROR_FAIL;
+        goto out;
+    }
+
+    gettimeofday(&start_time, NULL);
+
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        vments = libxl__calloc(gc, 7, sizeof(char *));
+        vments[0] = "rtc/timeoffset";
+        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
+        vments[2] = "image/ostype";
+        vments[3] = "hvm";
+        vments[4] = "start_time";
+        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        vments = libxl__calloc(gc, 11, sizeof(char *));
+        i = 0;
+        vments[i++] = "image/ostype";
+        vments[i++] = "linux";
+        vments[i++] = "image/kernel";
+        vments[i++] = (char *) state->pv_kernel.path;
+        vments[i++] = "start_time";
+        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        if (state->pv_ramdisk.path) {
+            vments[i++] = "image/ramdisk";
+            vments[i++] = (char *) state->pv_ramdisk.path;
+        }
+        if (state->pv_cmdline) {
+            vments[i++] = "image/cmdline";
+            vments[i++] = (char *) state->pv_cmdline;
+        }
+        break;
+    default:
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    ret = libxl__build_post(gc, domid, info, state, vments, localents);
+    if (ret)
+        goto out;
+
+    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
+        ret = asprintf(&state->saved_state,
+                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
+        ret = (ret < 0) ? ERROR_FAIL : 0;
+    }
+
+out:
+    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
+    }
+
+    esave = errno;
+
+    flags = fcntl(fd, F_GETFL);
+    if (flags == -1) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
     } else {
-        ret = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        flags &= ~O_NONBLOCK;
+        if (fcntl(fd, F_SETFL, flags) == -1)
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
+                         " back to blocking mode");
     }
 
+    errno = esave;
+    domcreate_rebuild_done(egc, dcs, ret);
+}
+
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret)
+{
+    STATE_AO_GC(dcs->ao);
+    int i;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot (re-)build domain: %d", ret);
         ret = ERROR_FAIL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 231ca40..3bd1cb9 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -19,7 +19,6 @@
 
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xenguest.h>
 
 #include <xen/hvm/hvm_info_table.h>
 
@@ -465,7 +464,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = data;
@@ -520,48 +519,6 @@ static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                 libxl_domain_build_info *info,
-                                 libxl__domain_build_state *state,
-                                 int fd)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    /* read signature */
-    int rc;
-    int hvm, pae, superpages;
-    struct restore_callbacks callbacks[1];
-    int no_incr_generationid;
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        hvm = 1;
-        superpages = 1;
-        pae = libxl_defbool_val(info->u.hvm.pae);
-        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        callbacks->toolstack_restore = libxl__toolstack_restore;
-        callbacks->data = gc;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        hvm = 0;
-        superpages = 0;
-        pae = 1;
-        no_incr_generationid = 0;
-        break;
-    default:
-        return ERROR_INVAL;
-    }
-    rc = xc_domain_restore(ctx->xch, fd, domid,
-                           state->store_port, &state->store_mfn,
-                           state->store_domid, state->console_port,
-                           &state->console_mfn, state->console_domid,
-                           hvm, pae, superpages, no_incr_generationid,
-                           &state->vm_generationid_addr, callbacks);
-    if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "restoring domain");
-        return ERROR_FAIL;
-    }
-    return 0;
-}
-
 static int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b67e317..ae4b99d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -46,6 +46,7 @@
 
 #include <xenstore.h>
 #include <xenctrl.h>
+#include <xenguest.h>
 
 #include "xentoollog.h"
 
@@ -779,10 +780,8 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
                                  xs_transaction_t trans);
 
-_hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                         libxl_domain_build_info *info,
-                                         libxl__domain_build_state *state,
-                                         int fd);
+_hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+                                     uint32_t size, void *data);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
@@ -1900,6 +1899,7 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    struct restore_callbacks callbacks;
 };
 
 /*----- Domain suspend (save) functions -----*/
@@ -1909,6 +1909,17 @@ _hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                          int live, int debug,
                                          const libxl_domain_remus_info *r_info);
 
+/* calls libxl__xc_domain_restore_done when done */
+_hidden void libxl__xc_domain_restore(libxl__egc *egc,
+                                      libxl__domain_create_state *dcs,
+                                      int hvm, int pae, int superpages,
+                                      int no_incr_generationid);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                           libxl__domain_create_state *dcs,
+                                           int rc, int retval, int errnoval);
 
 
 /*
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
new file mode 100644
index 0000000..2f8db9f
--- /dev/null
+++ b/tools/libxl/libxl_save_callout.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h"
+
+#include "libxl_internal.h"
+
+void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
+                              int hvm, int pae, int superpages,
+                              int no_incr_generationid)
+{
+    STATE_AO_GC(dcs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    const int restore_fd = dcs->restore_fd;
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
+                              state->store_port, &state->store_mfn,
+                              state->store_domid, state->console_port,
+                              &state->console_mfn, state->console_domid,
+                              hvm, pae, superpages, no_incr_generationid,
+                              &state->vm_generationid_addr, &dcs->callbacks);
+    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlai-0000dr-6A; Wed, 30 May 2012 16:17:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000ao-Cy
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58673] by server-4.bemta-5.messagelabs.com id
	1B/A4-16506-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27353 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743837"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HS-Ca; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005v7-AM;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:36 +0100
Message-ID: <1338394606-22693-6-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 05/15] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxenctrl expects to be able to simply run the save or restore
operation synchronously.  This won't work well in a process which is
trying to handle multiple domains.

The options are:

 - Block such a whole process (eg, the whole of libvirt) while
   migration completes (or until it fails).

 - Create a thread to run xc_domain_save and xc_domain_restore on.
   This is quite unpalatable.  Multithreaded programming is error
   prone enough without generating threads in libraries, particularly
   if the thread does some very complex operation.

 - Fork and run the operation in the child without execing.  This is
   no good because we would need to negotiate with the caller about
   fds we would inherit (and we might be a very large process).

 - Fork and exec a helper.

Of these options the latter is the most palatable.

Consequently:

 * A new helper program libxl-save-helper (which does both save and
   restore).  It will be installed in /usr/lib/xen/bin.  It does not
   link against libxl, only libxc, and its error handling does not
   need to be very advanced.  It does contain a plumbing through of
   the logging interface into the callback stream.

 * A small ad-hoc protocol between the helper and libxl which allows
   log messages and the libxc callbacks to be passed up and down.
   Protocol doc comment is in libxl_save_helper.c.

 * To avoid a lot of tedium the marshalling boilerplate (stubs for the
   helper and the callback decoder for libxl) is generated with a
   small perl script.

 * Implement new functionality to spawn the helper, monitor its
   output, provide responses, and check on its exit status.

 * The functions libxl__xc_domain_restore_done and
   libxl__xc_domain_save_done now turn out to want be called in the
   same place.  So make their state argument a void* so that the two
   functions are type compatible.

The domain save path still writes the qemu savefile synchronously.
This will need to be fixed in a subsequent patch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes in v2:
 * Helper path can be overridden by an environment variable for testing.
 * Add a couple of debug logging messages re toolstack data.
 * Fixes from testing.
 * Helper protocol message lengths (and numbers) are 16-bit which
   more clearly avoids piling lots of junk on the stack.
 * Merged with remus changes.
 * Callback implementations in libxl now called via pointers
   so remus can have its own callbacks.
 * Better namespace prefixes on autogenerated names etc.
 * Autogenerator can generate debugging printfs too.
---
 .gitignore                         |    1 +
 .hgignore                          |    2 +
 tools/libxl/Makefile               |   21 ++-
 tools/libxl/libxl_create.c         |   22 ++-
 tools/libxl/libxl_dom.c            |   36 ++--
 tools/libxl/libxl_internal.h       |   55 +++++-
 tools/libxl/libxl_save_callout.c   |  332 +++++++++++++++++++++++++++++-
 tools/libxl/libxl_save_helper.c    |  279 +++++++++++++++++++++++++
 tools/libxl/libxl_save_msgs_gen.pl |  393 ++++++++++++++++++++++++++++++++++++
 9 files changed, 1103 insertions(+), 38 deletions(-)
 create mode 100644 tools/libxl/libxl_save_helper.c
 create mode 100755 tools/libxl/libxl_save_msgs_gen.pl

diff --git a/.gitignore b/.gitignore
index 7770e54..3451e52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -353,6 +353,7 @@ tools/libxl/_*.[ch]
 tools/libxl/testidl
 tools/libxl/testidl.c
 tools/libxl/*.pyc
+tools/libxl/libxl-save-helper
 tools/blktap2/control/tap-ctl
 tools/firmware/etherboot/eb-roms.h
 tools/firmware/etherboot/gpxe-git-snapshot.tar.gz
diff --git a/.hgignore b/.hgignore
index 27d8f79..05304ea 100644
--- a/.hgignore
+++ b/.hgignore
@@ -180,9 +180,11 @@
 ^tools/libxl/_.*\.c$
 ^tools/libxl/libxlu_cfg_y\.output$
 ^tools/libxl/xl$
+^tools/libxl/libxl-save-helper$
 ^tools/libxl/testidl$
 ^tools/libxl/testidl\.c$
 ^tools/libxl/tmp\..*$
+^tools/libxl/.*\.new$
 ^tools/libvchan/vchan-node[12]$
 ^tools/libaio/src/.*\.ol$
 ^tools/libaio/src/.*\.os$
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 9b84421..e11354f 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,25 +66,30 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_save_callout.o \
+			libxl_save_callout.o _libxl_save_msgs_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
 
-AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
+AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h \
+	_libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
 AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
+AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
 LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
 	libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o
 $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 
-CLIENTS = xl testidl
+CLIENTS = xl testidl libxl-save-helper
 
 XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it.
 
+SAVE_HELPER_OBJS = libxl_save_helper.o _libxl_save_msgs_helper.o
+$(SAVE_HELPER_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
+
 testidl.o: CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
 testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
 	$(PYTHON) gentest.py libxl_types.idl testidl.c.new
@@ -116,6 +121,12 @@ _libxl_list.h: $(XEN_INCLUDE)/xen-external/bsd-sys-queue-h-seddery $(XEN_INCLUDE
 	perl $^ --prefix=libxl >$@.new
 	$(call move-if-changed,$@.new,$@)
 
+_libxl_save_msgs_helper.c _libxl_save_msgs_callout.c \
+_libxl_save_msgs_helper.h _libxl_save_msgs_callout.h: \
+		libxl_save_msgs_gen.pl
+	$(PERL) -w $< $@ >$@.new
+	$(call move-if-changed,$@.new,$@)
+
 libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
 libxl_internal.h: _libxl_types_internal.h _libxl_paths.h
@@ -157,6 +168,9 @@ libxlutil.a: $(LIBXLU_OBJS)
 xl: $(XL_OBJS) libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
 
+libxl-save-helper: $(SAVE_HELPER_OBJS) libxenlight.so
+	$(CC) $(LDFLAGS) -o $@ $(SAVE_HELPER_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS)
+
 testidl: testidl.o libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
 
@@ -168,6 +182,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_RUN_DIR)
 	$(INSTALL_PROG) xl $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PROG) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
 	ln -sf libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenlight.so.$(MAJOR)
 	ln -sf libxenlight.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenlight.so
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 44455f9..eaf378b 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -600,7 +600,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     libxl_domain_build_info *const info = &d_config->b_info;
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
-    struct restore_callbacks *const callbacks = &dcs->callbacks;
+    libxl__srm_restore_autogen_callbacks *const callbacks =
+        &dcs->shs.callbacks.restore.a;
 
     if (rc) domcreate_rebuild_done(egc, dcs, rc);
 
@@ -640,7 +641,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
         pae = libxl_defbool_val(info->u.hvm.pae);
         no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
         callbacks->toolstack_restore = libxl__toolstack_restore;
-        callbacks->data = gc;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         hvm = 0;
@@ -660,10 +660,24 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
 }
 
-void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                   libxl__domain_create_state *dcs,
+void libxl__srm_callout_callback_restore_results(unsigned long store_mfn,
+          unsigned long console_mfn, unsigned long genidad, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    libxl__domain_create_state *dcs = CONTAINER_OF(shs, *dcs, shs);
+    STATE_AO_GC(dcs->ao);
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    state->store_mfn =            store_mfn;
+    state->console_mfn =          console_mfn;
+    state->vm_generationid_addr = genidad;
+    shs->need_results =           0;
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                    int ret, int retval, int errnoval)
 {
+    libxl__domain_create_state *dcs = dcs_void;
     STATE_AO_GC(dcs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **vments = NULL, **localents = NULL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 8cac6d5..716cf4b 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -463,16 +463,20 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
 }
 
 int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
-        uint32_t size, void *data)
+                             uint32_t size, void *user)
 {
-    libxl__gc *gc = data;
-    libxl_ctx *ctx = gc->owner;
+    libxl__save_helper_state *shs = user;
+    libxl__domain_create_state *dcs = CONTAINER_OF(shs, *dcs, shs);
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = CTX;
     int i, ret;
     const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
     struct libxl__physmap_info* pi;
     char *xs_path;
 
+    LOG(DEBUG,"domain=%"PRIu32" toolstack data size=%"PRIu32, domid, size);
+
     if (size < sizeof(version) + sizeof(count)) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "wrong size");
         return -1;
@@ -525,9 +529,10 @@ static void domain_suspend_done(libxl__egc *egc,
 /*----- callbacks, called by xc_domain_save -----*/
 
 int libxl__domain_suspend_common_switch_qemu_logdirty
-                               (int domid, unsigned int enable, void *data)
+                               (int domid, unsigned enable, void *user)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_state *shs = user;
+    libxl__domain_suspend_state *dss = CONTAINER_OF(shs, *dss, shs);
     STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
@@ -593,9 +598,10 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
     return 0;
 }
 
-int libxl__domain_suspend_common_callback(void *data)
+int libxl__domain_suspend_common_callback(void *user)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_state *shs = user;
+    libxl__domain_suspend_state *dss = CONTAINER_OF(shs, *dss, shs);
     STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
@@ -735,9 +741,9 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 }
 
 int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
-        uint32_t *len, void *data)
+        uint32_t *len, void *dss_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
@@ -806,6 +812,8 @@ int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         ptr += sizeof(struct libxl__physmap_info) + namelen;
     }
 
+    LOG(DEBUG,"domain=%"PRIu32" toolstack data size=%"PRIu32, domid, *len);
+
     return 0;
 }
 
@@ -861,7 +869,8 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     const int live = dss->live;
     const int debug = dss->debug;
     const libxl_domain_remus_info *const r_info = dss->remus;
-    struct save_callbacks *const callbacks = &dss->callbacks;
+    libxl__srm_save_autogen_callbacks *const callbacks =
+        &dss->shs.callbacks.save.a;
 
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
@@ -923,8 +932,7 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
         callbacks->suspend = libxl__domain_suspend_common_callback;
 
     callbacks->switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks->toolstack_save = libxl__toolstack_save;
-    callbacks->data = dss;
+    dss->shs.callbacks.save.toolstack_save = libxl__toolstack_save;
 
     libxl__xc_domain_save(egc, dss, xcflags, hvm, vm_generationid_addr);
     return;
@@ -933,10 +941,10 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     domain_suspend_done(egc, dss, rc);
 }
 
-void libxl__xc_domain_save_done(libxl__egc *egc,
-                                libxl__domain_suspend_state *dss,
+void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
                                 int rc, int retval, int errnoval)
 {
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
 
     /* Convenience aliases */
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 63da9b0..e4c3f34 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -54,6 +54,7 @@
 
 #include "libxl.h"
 #include "_libxl_paths.h"
+#include "_libxl_save_msgs_callout.h"
 
 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
 #define _hidden __attribute__((visibility("hidden")))
@@ -1774,6 +1775,50 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Save/restore helper (used by creation and suspend) -----*/
+
+typedef struct libxl__srm_save_callbacks {
+    libxl__srm_save_autogen_callbacks a;
+    xc_toolstack_save_cb *toolstack_save;
+} libxl__srm_save_callbacks;
+
+typedef struct libxl__srm_restore_callbacks {
+    libxl__srm_restore_autogen_callbacks a;
+} libxl__srm_restore_callbacks;
+
+/* a pointer to this struct is also passed as "user" to the
+ * save callout helper callback functions */
+typedef struct libxl__save_helper_state {
+    /* public, caller of run_helper initialises */
+    libxl__ao *ao;
+    uint32_t domid;
+    union {
+        libxl__srm_save_callbacks save;
+        libxl__srm_restore_callbacks restore;
+    } callbacks;
+    int (*recv_callback)(const unsigned char *msg, uint32_t len, void *user);
+    void (*completion_callback)(libxl__egc *egc, void *caller_state,
+                                int rc, int retval, int errnoval);
+    void *caller_state;
+    int need_results; /* set to 0 or 1 by caller of run_helper;
+                       * if set to 1 then the ultimate caller's
+                       * results function must set it to 0 */
+    /* private */
+    int rc;
+    int completed; /* retval/errnoval valid iff completed */
+    int retval, errnoval; /* from xc_domain_save / xc_domain_restore */
+    libxl__carefd *pipes[2]; /* 0 = helper's stdin, 1 = helper's stdout */
+    libxl__ev_fd readable;
+    libxl__ev_child child;
+    const char *stdin_what, *stdout_what;
+    FILE *toolstack_data_file;
+
+    libxl__egc *egc; /* valid only for duration of each event callback;
+                      * is here in this struct for the benefit of the
+                      * marshalling and xc callback functions */
+} libxl__save_helper_state;
+
+
 /*----- Domain suspend (save) state structure -----*/
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
@@ -1798,7 +1843,7 @@ struct libxl__domain_suspend_state {
     int hvm;
     int guest_responded;
     int interval; /* checkpoint interval (for Remus) */
-    struct save_callbacks callbacks;
+    libxl__save_helper_state shs;
 };
 
 
@@ -1910,7 +1955,7 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
-    struct restore_callbacks callbacks;
+    libxl__save_helper_state shs;
 };
 
 /*----- Domain suspend (save) functions -----*/
@@ -1927,8 +1972,7 @@ _hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_save_done(libxl__egc*,
-                                        libxl__domain_suspend_state*,
+_hidden void libxl__xc_domain_save_done(libxl__egc*, void *dss_void,
                                         int rc, int retval, int errnoval);
 
 _hidden int libxl__domain_suspend_common_callback(void *data);
@@ -1946,8 +1990,7 @@ _hidden void libxl__xc_domain_restore(libxl__egc *egc,
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                           libxl__domain_create_state *dcs,
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                            int rc, int retval, int errnoval);
 
 
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index d8defa9..ff7dfb6 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -16,6 +16,19 @@
 
 #include "libxl_internal.h"
 
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums);
+
+static void helper_failed(libxl__egc*, libxl__save_helper_state *shs, int rc);
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents);
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status);
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs);
+
+/*----- entrypoints -----*/
+
 void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               int hvm, int pae, int superpages,
                               int no_incr_generationid)
@@ -27,13 +40,28 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
 
-    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
-                              state->store_port, &state->store_mfn,
-                              state->store_domid, state->console_port,
-                              &state->console_mfn, state->console_domid,
-                              hvm, pae, superpages, no_incr_generationid,
-                              &state->vm_generationid_addr, &dcs->callbacks);
-    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+    unsigned cbflags = libxl__srm_callout_enumcallbacks_restore
+        (&dcs->shs.callbacks.restore.a);
+
+    const unsigned long argnums[] = {
+        restore_fd, domid,
+        state->store_port,
+        state->store_domid, state->console_port,
+        state->console_domid,
+        hvm, pae, superpages, no_incr_generationid,
+        cbflags,
+    };
+
+    dcs->shs.ao = ao;
+    dcs->shs.domid = domid;
+    dcs->shs.recv_callback = libxl__srm_callout_received_restore;
+    dcs->shs.completion_callback = libxl__xc_domain_restore_done;
+    dcs->shs.caller_state = dcs;
+    dcs->shs.need_results = 1;
+    dcs->shs.toolstack_data_file = 0;
+
+    run_helper(egc, &dcs->shs, "--restore-domain", restore_fd,
+               argnums, ARRAY_SIZE(argnums));
 }
 
 void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
@@ -41,9 +69,291 @@ void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
                            unsigned long vm_generationid_addr)
 {
     STATE_AO_GC(dss->ao);
-    int r;
+    int r, rc;
+    uint32_t toolstack_data_len;
+
+    /* Resources we need to free */
+    uint8_t *toolstack_data_buf = 0;
+
+    unsigned cbflags = libxl__srm_callout_enumcallbacks_save
+        (&dss->shs.callbacks.save.a);
+
+    r = libxl__toolstack_save(dss->domid, &toolstack_data_buf,
+                              &toolstack_data_len, dss);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    dss->shs.toolstack_data_file = tmpfile();
+    if (!dss->shs.toolstack_data_file) {
+        LOGE(ERROR, "cannot create toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    int toolstack_data_fd = fileno(dss->shs.toolstack_data_file);
+
+    r = libxl_write_exactly(CTX, toolstack_data_fd,
+                            toolstack_data_buf, toolstack_data_len,
+                            "toolstack data tmpfile", 0);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    r = lseek(toolstack_data_fd, 0, SEEK_SET);
+    if (r) {
+        LOGE(ERROR, "rewind toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    const unsigned long argnums[] = {
+        dss->fd, dss->domid, 0, 0, xcflags, hvm, vm_generationid_addr,
+        toolstack_data_fd, toolstack_data_len,
+        cbflags,
+    };
+
+    dss->shs.ao = ao;
+    dss->shs.domid = dss->domid;
+    dss->shs.recv_callback = libxl__srm_callout_received_save;
+    dss->shs.completion_callback = libxl__xc_domain_save_done;
+    dss->shs.caller_state = dss;
+    dss->shs.need_results = 0;
+
+    free(toolstack_data_buf);
+
+    run_helper(egc, &dss->shs, "--save-domain", dss->fd,
+               argnums, ARRAY_SIZE(argnums));
+    return;
+
+ out:
+    free(toolstack_data_buf);
+    if (dss->shs.toolstack_data_file) fclose(dss->shs.toolstack_data_file);
+
+    libxl__xc_domain_save_done(egc, dss, rc, 0, 0);
+}
+
+
+/*----- helper execution -----*/
+
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums)
+{
+    STATE_AO_GC(shs->ao);
+    const char *args[3 + num_argnums];
+    const char **arg = args;
+    int i, rc;
+
+    /* Resources we must free */
+    libxl__carefd *childs_pipes[2] = { 0,0 };
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    shs->rc = 0;
+    shs->completed = 0;
+    shs->pipes[0] = shs->pipes[1] = 0;
+    libxl__ev_fd_init(&shs->readable);
+    libxl__ev_child_init(&shs->child);
+
+    shs->stdin_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                " stdin pipe", domid);
+    shs->stdout_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                 " stdout pipe", domid);
+
+    *arg++ = getenv("LIBXL_SAVE_HELPER") ?: LIBEXEC "/" "libxl-save-helper";
+    *arg++ = mode_arg;
+    for (i=0; i<num_argnums; i++)
+        *arg++ = GCSPRINTF("%lu", argnums[i]);
+    *arg++ = 0;
+    assert(arg == args + ARRAY_SIZE(args));
+
+    libxl__carefd_begin();
+    for (i=0; i<2; i++) {
+        int fds[2];
+        if (libxl_pipe(CTX,fds)) { rc = ERROR_FAIL; goto out; }
+        childs_pipes[i] = libxl__carefd_record(CTX, fds[i]);
+        shs->pipes[i] = libxl__carefd_record(CTX, fds[!i]);
+    }
+    libxl__carefd_unlock();
+
+    pid_t pid = libxl__ev_child_fork(gc, &shs->child, helper_exited);
+    if (!pid) {
+        libxl_fd_set_cloexec(CTX, data_fd, 0);
+        libxl__exec(gc,
+                    libxl__carefd_fd(childs_pipes[0]),
+                    libxl__carefd_fd(childs_pipes[1]),
+                    -1,
+                    args[0], (char**)args, 0);
+    }
+
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+
+    rc = libxl__ev_fd_register(gc, &shs->readable, helper_stdout_readable,
+                               libxl__carefd_fd(shs->pipes[1]), POLLIN|POLLPRI);
+    if (rc) goto out;
+    return;
+
+ out:
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+    helper_failed(egc, shs, rc);;
+}
+
+static void helper_failed(libxl__egc *egc, libxl__save_helper_state *shs,
+                          int rc)
+{
+    STATE_AO_GC(shs->ao);
+
+    if (!shs->rc)
+        shs->rc = rc;
+
+    libxl__ev_fd_deregister(gc, &shs->readable);
+
+    if (!libxl__ev_child_inuse(&shs->child)) {
+        helper_done(egc, shs);
+        return;
+    }
+
+    int r = kill(shs->child.pid, SIGKILL);
+    if (r) LOGE(WARN, "failed to kill save/restore helper [%lu]",
+                (unsigned long)shs->child.pid);
+}
+
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ev, *shs, readable);
+    STATE_AO_GC(shs->ao);
+    int rc, errnoval;
+
+    if (revents & POLLPRI) {
+        LOG(ERROR, "%s signaled POLLERR", shs->stdout_what);
+        rc = ERROR_FAIL;
+ out:
+        /* this is here because otherwise we bypass the decl of msg[] */
+        helper_failed(egc, shs, rc);
+        return;
+    }
+
+    uint16_t msglen;
+    errnoval = libxl_read_exactly(CTX, fd, &msglen, sizeof(msglen),
+                                  shs->stdout_what, "ipc msg header");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    unsigned char msg[msglen];
+    errnoval = libxl_read_exactly(CTX, fd, msg, msglen,
+                                  shs->stdout_what, "ipc msg body");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    shs->egc = egc;
+    shs->recv_callback(msg, msglen, shs);
+    shs->egc = 0;
+    return;
+}
+
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ch, *shs, child);
+    STATE_AO_GC(shs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    const char *what =
+        GCSPRINTF("domain %"PRIu32" save/restore helper", domid);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, XTL_ERROR, what, pid, status);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (shs->need_results) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without providing results",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (!shs->completed) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without signaling completion",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    helper_done(egc, shs);
+    return;
+}
+
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs)
+{
+    STATE_AO_GC(shs->ao);
+
+    libxl__ev_fd_deregister(gc, &shs->readable);
+    libxl__carefd_close(shs->pipes[0]);  shs->pipes[0] = 0;
+    libxl__carefd_close(shs->pipes[1]);  shs->pipes[1] = 0;
+    assert(!libxl__ev_child_inuse(&shs->child));
+    if (shs->toolstack_data_file) fclose(shs->toolstack_data_file);
+
+    shs->egc = egc;
+    shs->completion_callback(egc, shs->caller_state,
+                             shs->rc, shs->retval, shs->errnoval);
+    shs->egc = 0;
+}
+
+/*----- generic helpers for the autogenerated code -----*/
+
+const libxl__srm_save_autogen_callbacks*
+libxl__srm_callout_get_callbacks_save(void *user)
+{
+    libxl__save_helper_state *shs = user;
+    return &shs->callbacks.save.a;
+}
+
+const libxl__srm_restore_autogen_callbacks*
+libxl__srm_callout_get_callbacks_restore(void *user)
+{
+    libxl__save_helper_state *shs = user;
+    return &shs->callbacks.restore.a;
+}
+
+void libxl__srm_callout_sendreply(int r, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    libxl__egc *egc = shs->egc;
+    STATE_AO_GC(shs->ao);
+    int errnoval;
+
+    errnoval = libxl_write_exactly(CTX, libxl__carefd_fd(shs->pipes[0]),
+                                   &r, sizeof(r), shs->stdin_what,
+                                   "callback return value");
+    if (errnoval)
+        helper_failed(egc, shs, ERROR_FAIL);
+}
+
+void libxl__srm_callout_callback_log(uint32_t level, uint32_t errnoval,
+                  const char *context, const char *formatted, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    STATE_AO_GC(shs->ao);
+    xtl_log(CTX->lg, level, errnoval, context, "%s", formatted);
+}
+
+void libxl__srm_callout_callback_progress(const char *context,
+                   const char *doing_what, unsigned long done,
+                   unsigned long total, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    STATE_AO_GC(shs->ao);
+    xtl_progress(CTX->lg, context, doing_what, done, total);
+}
+
+int libxl__srm_callout_callback_complete(int retval, int errnoval,
+                                         void *user)
+{
+    libxl__save_helper_state *shs = user;
+    STATE_AO_GC(shs->ao);
 
-    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags,
-                       &dss->callbacks, hvm, vm_generationid_addr);
-    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+    shs->completed = 1;
+    shs->retval = retval;
+    shs->errnoval = errnoval;
+    libxl__ev_fd_deregister(gc, &shs->readable);
+    return 0;
 }
diff --git a/tools/libxl/libxl_save_helper.c b/tools/libxl/libxl_save_helper.c
new file mode 100644
index 0000000..0481ebf
--- /dev/null
+++ b/tools/libxl/libxl_save_helper.c
@@ -0,0 +1,279 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+/*
+ * The libxl-save-helper utility speaks a protocol to its caller for
+ * the callbacks.  The protocol is as follows.
+ *
+ * The helper talks on stdin and stdout, in binary in machine
+ * endianness.  The helper speaks first, and only when it has a
+ * callback to make.  It writes a 16-bit number being the message
+ * length, and then the message body.
+ *
+ * Each message starts with a 16-bit number indicating which of the
+ * messages it is, and then some arguments in a binary marshalled form.
+ * If the callback does not need a reply (it returns void), the helper
+ * just continues.  Otherwise the helper waits for its caller to send a
+ * single int which is to be the return value from the callback.
+ *
+ * Where feasible the stubs and callbacks have prototypes identical to
+ * those required by xc_domain_save and xc_domain_restore, so that the
+ * autogenerated functions can be used/provided directly.
+ *
+ * The actual messages are in the array @msgs in libxl_save_msgs_gen.pl
+ */
+
+#include "libxl_osdeps.h"
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <assert.h>
+#include <inttypes.h>
+
+#include "libxl.h"
+
+#include "xenctrl.h"
+#include "xenguest.h"
+#include "_libxl_save_msgs_helper.h"
+
+/*----- globals -----*/
+
+static const char *program = "libxl-save-helper";
+static xentoollog_logger *logger;
+static xc_interface *xch;
+
+/*----- error handling -----*/
+
+static void fail(int errnoval, const char *fmt, ...)
+    __attribute__((noreturn,format(printf,2,3)));
+static void fail(int errnoval, const char *fmt, ...)
+{
+    va_list al;
+    va_start(al,fmt);
+    xtl_logv(logger,XTL_ERROR,errnoval,program,fmt,al);
+    exit(-1);
+}
+
+static int read_exactly(int fd, void *buf, size_t len)
+/* returns 0 if we get eof, even if we got it midway through; 1 if ok */
+{
+    while (len) {
+        ssize_t r = read(fd, buf, len);
+        if (r<=0) return r;
+        assert(r <= len);
+        len -= r;
+        buf = (char*)buf + r;
+    }
+    return 1;
+}
+
+static void *xmalloc(size_t sz)
+{
+    if (!sz) return 0;
+    void *r = malloc(sz);
+    if (!r) { perror("memory allocation failed"); exit(-1); }
+    return r;
+}
+
+/*----- logger -----*/
+
+typedef struct {
+    xentoollog_logger vtable;
+} xentoollog_logger_tellparent;
+
+static void tellparent_vmessage(xentoollog_logger *logger_in,
+                                xentoollog_level level,
+                                int errnoval,
+                                const char *context,
+                                const char *format,
+                                va_list al)
+{
+    char *formatted;
+    int r = vasprintf(&formatted, format, al);
+    if (r < 0) { perror("memory allocation failed during logging"); exit(-1); }
+    helper_stub_log(level, errnoval, context, formatted, 0);
+    free(formatted);
+}
+
+static void tellparent_progress(struct xentoollog_logger *logger_in,
+                                const char *context,
+                                const char *doing_what, int percent,
+                                unsigned long done, unsigned long total)
+{
+    helper_stub_progress(context, doing_what, done, total, 0);
+}
+
+static void tellparent_destroy(struct xentoollog_logger *logger_in)
+{
+    abort();
+}
+
+static xentoollog_logger_tellparent *createlogger_tellparent(void)
+{
+    xentoollog_logger_tellparent newlogger;
+    return XTL_NEW_LOGGER(tellparent, newlogger);
+}
+
+/*----- helper functions called by autogenerated stubs -----*/
+
+unsigned char * helper_allocbuf(int len, void *user)
+{
+    return xmalloc(len);
+}
+
+static void transmit(const unsigned char *msg, int len, void *user)
+{
+    while (len) {
+        int r = write(1, msg, len);
+        if (r<0) { perror("write"); exit(-1); }
+        assert(r >= 0);
+        assert(r <= len);
+        len -= r;
+        msg += r;
+    }
+}
+
+void helper_transmitmsg(unsigned char *msg_freed, int len_in, void *user)
+{
+    assert(len_in < 64*1024);
+    uint16_t len = len_in;
+    transmit((const void*)&len, sizeof(len), user);
+    transmit(msg_freed, len, user);
+    free(msg_freed);
+}
+
+int helper_getreply(void *user)
+{
+    int v;
+    int r = read_exactly(0, &v, sizeof(v));
+    if (r<=0) exit(-2);
+    return v;
+}
+
+/*----- other callbacks -----*/
+
+static int toolstack_save_fd;
+static uint32_t toolstack_save_len;
+
+static int toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                             uint32_t *len, void *data)
+{
+    assert(toolstack_save_fd > 0);
+
+    *buf = xmalloc(toolstack_save_len);
+    int r = read_exactly(toolstack_save_fd, *buf, toolstack_save_len);
+    if (r<0) fail(errno,"read toolstack data");
+    if (r==0) fail(0,"read toolstack data eof");
+
+    toolstack_save_fd = -1;
+    *len = toolstack_save_len;
+    return 0;
+}
+
+static void startup(const char *op) {
+    logger = (xentoollog_logger*)createlogger_tellparent();
+    if (!logger) {
+        fprintf(stderr, "%s: cannot initialise logger\n", program);
+        exit(-1);
+    }
+
+    xtl_log(logger,XTL_DEBUG,0,program,"starting %s",op);
+
+    xch = xc_interface_open(logger,logger,0);
+    if (!xch) fail(errno,"xc_interface_open failed");
+}
+
+static void complete(int retval) {
+    int errnoval = errno;
+    xtl_log(logger,XTL_DEBUG,errnoval,program,"complete r=%d",retval);
+    helper_stub_complete(retval,errnoval,0);
+    exit(0);
+}
+
+static struct save_callbacks helper_save_callbacks;
+static struct restore_callbacks helper_restore_callbacks;
+
+int main(int argc, char **argv)
+{
+    int r;
+
+#define NEXTARG (++argv, assert(*argv), *argv)
+
+    const char *mode = *++argv;
+    assert(mode);
+
+    if (!strcmp(mode,"--save-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        uint32_t max_iters =       strtoul(NEXTARG,0,10);
+        uint32_t max_factor =      strtoul(NEXTARG,0,10);
+        uint32_t flags =           strtoul(NEXTARG,0,10);
+        int hvm =                  atoi(NEXTARG);
+        unsigned long genidad =    strtoul(NEXTARG,0,10);
+        toolstack_save_fd  =       atoi(NEXTARG);
+        toolstack_save_len =       strtoul(NEXTARG,0,10);
+        unsigned cbflags =         strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        helper_save_callbacks.toolstack_save = toolstack_save_cb;
+        helper_setcallbacks_save(&helper_save_callbacks, cbflags);
+
+        startup("save");
+        r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags,
+                           &helper_save_callbacks, hvm, genidad);
+        complete(r);
+
+    } else if (!strcmp(mode,"--restore-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        unsigned store_evtchn =    strtoul(NEXTARG,0,10);
+        domid_t store_domid =      strtoul(NEXTARG,0,10);
+        unsigned console_evtchn =  strtoul(NEXTARG,0,10);
+        domid_t console_domid =    strtoul(NEXTARG,0,10);
+        unsigned int hvm =         strtoul(NEXTARG,0,10);
+        unsigned int pae =         strtoul(NEXTARG,0,10);
+        int superpages =           strtoul(NEXTARG,0,10);
+        int no_incr_genidad =      strtoul(NEXTARG,0,10);
+        unsigned cbflags =         strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        helper_setcallbacks_restore(&helper_restore_callbacks, cbflags);
+
+        unsigned long store_mfn = 0;
+        unsigned long console_mfn = 0;
+        unsigned long genidad = 0;
+
+        startup("restore");
+        r = xc_domain_restore(xch, io_fd, dom, store_evtchn, &store_mfn,
+                              store_domid, console_evtchn, &console_mfn,
+                              console_domid, hvm, pae, superpages,
+                              no_incr_genidad, &genidad,
+                              &helper_restore_callbacks);
+        helper_stub_restore_results(store_mfn,console_mfn,genidad,0);
+        complete(r);
+
+    } else {
+        assert(!"unexpected mode argument");
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
new file mode 100755
index 0000000..cd0837e
--- /dev/null
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -0,0 +1,393 @@
+#!/usr/bin/perl -w
+
+use warnings;
+use strict;
+use POSIX;
+
+our $debug = 0; # produce copius debugging output at run-time?
+
+our @msgs = (
+    # flags:
+    #   s  - applicable to save
+    #   r  - applicable to restore
+    #   c  - function pointer in callbacks struct rather than fixed function
+    #   x  - function pointer is in struct {save,restore}_callbacks
+    #         and its null-ness needs to be passed through to the helper's xc
+    #   W  - needs a return value; callback is synchronous
+    [  1, 'sr',     "log",                   [qw(uint32_t level
+                                                 uint32_t errnoval
+                                                 STRING context
+                                                 STRING formatted)] ],
+    [  2, 'sr',     "progress",              [qw(STRING context
+                                                 STRING doing_what),
+                                                'unsigned long', 'done',
+                                                'unsigned long', 'total'] ],
+    [  3, 'scxW',   "suspend", [] ],         
+    [  4, 'scxW',   "postcopy", [] ],        
+    [  5, 'scxW',   "checkpoint", [] ],      
+    [  6, 'scxW',   "switch_qemu_logdirty",  [qw(int domid
+                                              unsigned enable)] ],
+    #                toolstack_save          done entirely `by hand'
+    [  7, 'rcxW',   "toolstack_restore",     [qw(uint32_t domid
+                                                BLOCK tsdata)] ],
+    [  8, 'r',      "restore_results",       ['unsigned long', 'store_mfn',
+                                              'unsigned long', 'console_mfn',
+                                              'unsigned long', 'genidad'] ],
+    [  9, 'srW',    "complete",              [qw(int retval
+                                                 int errnoval)] ],
+);
+
+#----------------------------------------
+
+our %cbs;
+our %func;
+our %func_ah;
+our @outfuncs;
+our %out_decls;
+our %out_body;
+our %msgnum_used;
+
+die unless @ARGV==1;
+die if $ARGV[0] =~ m/^-/;
+
+our ($intendedout) = @ARGV;
+
+$intendedout =~ m/([a-z]+)\.([ch])$/ or die;
+my ($want_ah, $ch) = ($1, $2);
+
+my $declprefix = '';
+
+foreach my $ah (qw(callout helper)) {
+    $out_body{$ah} .= <<END.($ah eq 'callout' ? <<END : <<END);
+#include "libxl_osdeps.h"
+
+#include <assert.h>
+#include <string.h>
+#include <stdint.h>
+#include <limits.h>
+END
+
+#include "libxl_internal.h"
+
+END
+
+#include "_libxl_save_msgs_${ah}.h"
+#include <xenctrl.h>
+#include <xenguest.h>
+
+END
+}
+
+die $want_ah unless defined $out_body{$want_ah};
+
+sub f_decl ($$$$) {
+    my ($name, $ah, $c_rtype, $c_decl) = @_;
+    $out_decls{$name} = "${declprefix}$c_rtype $name$c_decl;\n";
+    $func{$name} = "$c_rtype $name$c_decl\n{\n" . ($func{$name} || '');
+    $func_ah{$name} = $ah;
+}
+
+sub f_more ($$) {
+    my ($name, $addbody) = @_;
+    $func{$name} ||= '';
+    $func{$name} .= $addbody;
+    push @outfuncs, $name;
+}
+
+our $libxl = "libxl__srm";
+our $callback = "${libxl}_callout_callback";
+our $receiveds = "${libxl}_callout_received";
+our $sendreply = "${libxl}_callout_sendreply";
+our $getcallbacks = "${libxl}_callout_get_callbacks";
+our $enumcallbacks = "${libxl}_callout_enumcallbacks";
+sub cbtype ($) { "${libxl}_".$_[0]."_autogen_callbacks"; };
+
+f_decl($sendreply, 'callout', 'void', "(int r, void *user)");
+
+our $helper = "helper";
+our $encode = "${helper}_stub";
+our $allocbuf = "${helper}_allocbuf";
+our $transmit = "${helper}_transmitmsg";
+our $getreply = "${helper}_getreply";
+our $setcallbacks = "${helper}_setcallbacks";
+
+f_decl($allocbuf, 'helper', 'unsigned char *', '(int len, void *user)');
+f_decl($transmit, 'helper', 'void',
+       '(unsigned char *msg_freed, int len, void *user)');
+f_decl($getreply, 'helper', 'int', '(void *user)');
+
+sub typeid ($) { my ($t) = @_; $t =~ s/\W/_/; return $t; };
+
+$out_body{'callout'} .= <<END;
+static int bytes_get(const unsigned char **msg,
+		     const unsigned char *const endmsg,
+		     void *result, int rlen)
+{
+    if (endmsg - *msg < rlen) return 0;
+    memcpy(result,*msg,rlen);
+    *msg += rlen;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void bytes_put(unsigned char *const buf, int *len,
+		      const void *value, int vlen)
+{
+    assert(vlen < INT_MAX/2 - *len);
+    if (buf)
+	memcpy(buf + *len, value, vlen);
+    *len += vlen;
+}
+
+END
+
+foreach my $simpletype (qw(int uint16_t uint32_t unsigned), 'unsigned long') {
+    my $typeid = typeid($simpletype);
+    $out_body{'callout'} .= <<END;
+static int ${typeid}_get(const unsigned char **msg,
+                        const unsigned char *const endmsg,
+                        $simpletype *result)
+{
+    return bytes_get(msg, endmsg, result, sizeof(*result));
+}
+
+END
+    $out_body{'helper'} .= <<END;
+static void ${typeid}_put(unsigned char *const buf, int *len,
+			 const $simpletype value)
+{
+    bytes_put(buf, len, &value, sizeof(value));
+}
+
+END
+}
+
+$out_body{'callout'} .= <<END;
+static int BLOCK_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const uint8_t **result, uint32_t *result_size)
+{
+    if (!uint32_t_get(msg,endmsg,result_size)) return 0;
+    if (endmsg - *msg < *result_size) return 0;
+    *result = (const void*)*msg;
+    *msg += *result_size;
+    return 1;
+}
+
+static int STRING_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const char **result)
+{
+    const uint8_t *data;
+    uint32_t datalen;
+    if (!BLOCK_get(msg,endmsg,&data,&datalen)) return 0;
+    if (datalen == 0) return 0;
+    if (data[datalen-1] != '\\0') return 0;
+    *result = (const void*)data;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void BLOCK_put(unsigned char *const buf,
+                      int *len,
+		      const uint8_t *bytes, uint32_t size)
+{
+    uint32_t_put(buf, len, size);
+    bytes_put(buf, len, bytes, size);
+}
+    
+static void STRING_put(unsigned char *const buf,
+		       int *len,
+		       const char *string)
+{
+    size_t slen = strlen(string);
+    assert(slen < INT_MAX / 4);
+    assert(slen < (uint32_t)0x40000000);
+    BLOCK_put(buf, len, (const void*)string, slen+1);
+}
+    
+END
+
+foreach my $sr (qw(save restore)) {
+    f_decl("${getcallbacks}_${sr}", 'callout',
+           "const ".cbtype($sr)." *",
+           "(void *data)");
+
+    f_decl("${receiveds}_${sr}", 'callout', 'int',
+	   "(const unsigned char *msg, uint32_t len, void *user)");
+
+    f_decl("${enumcallbacks}_${sr}", 'callout', 'unsigned',
+           "(const ".cbtype($sr)." *cbs)");
+    f_more("${enumcallbacks}_${sr}", "    unsigned cbflags = 0;\n");
+
+    f_decl("${setcallbacks}_${sr}", 'helper', 'void',
+           "(struct ${sr}_callbacks *cbs, unsigned cbflags)");
+
+    f_more("${receiveds}_${sr}", <<END.($debug ? <<END : '').<<END);
+    const unsigned char *const endmsg = msg + len;
+    uint16_t mtype;
+    if (!uint16_t_get(&msg,endmsg,&mtype)) return 0;
+END
+    fprintf(stderr,"libxl callout receiver: got len=%u mtype=%u\\n",len,mtype);
+END
+    switch (mtype) {
+
+END
+
+    $cbs{$sr} = "typedef struct ".cbtype($sr)." {\n";
+}
+
+foreach my $msginfo (@msgs) {
+    my ($msgnum, $flags, $name, $args) = @$msginfo;
+    die if $msgnum_used{$msgnum}++;
+
+    my $f_more_sr = sub {
+        my ($contents_spec, $fnamebase) = @_;
+        $fnamebase ||= "${receiveds}";
+        foreach my $sr (qw(save restore)) {
+            $sr =~ m/^./;
+            next unless $flags =~ m/$&/;
+            my $contents = (!ref $contents_spec) ? $contents_spec :
+                $contents_spec->($sr);
+            f_more("${fnamebase}_${sr}", $contents);
+        }
+    };
+
+    $f_more_sr->("    case $msgnum: { /* $name */\n");
+    if ($flags =~ m/W/) {
+        $f_more_sr->("        int r;\n");
+    }
+
+    my $c_rtype_helper = $flags =~ m/W/ ? 'int' : 'void';
+    my $c_rtype_callout = $flags =~ m/W/ ? 'int' : 'void';
+    my $c_decl = '(';
+    my $c_callback_args = '';
+
+    f_more("${encode}_$name", <<END.($debug ? <<END : '').<<END);
+    unsigned char *buf = 0;
+    int len = 0, allocd = 0;
+
+END
+    fprintf(stderr,"libxl-save-helper: encoding $name\\n");
+END
+    for (;;) {
+        uint16_t_put(buf, &len, $msgnum /* $name */);
+END
+
+    my @args = @$args;
+    my $c_recv = '';
+    my ($argtype, $arg);
+    while (($argtype, $arg, @args) = @args) {
+	my $typeid = typeid($argtype);
+        my $c_args = "$arg";
+        my $c_get_args = "&$arg";
+	if ($argtype eq 'STRING') {
+	    $c_decl .= "const char *$arg, ";
+	    $f_more_sr->("        const char *$arg;\n");
+        } elsif ($argtype eq 'BLOCK') {
+            $c_decl .= "const uint8_t *$arg, uint32_t ${arg}_size, ";
+            $c_args .= ", ${arg}_size";
+            $c_get_args .= ",&${arg}_size";
+	    $f_more_sr->("        const uint8_t *$arg;\n".
+                         "        uint32_t ${arg}_size;\n");
+	} else {
+	    $c_decl .= "$argtype $arg, ";
+	    $f_more_sr->("        $argtype $arg;\n");
+	}
+	$c_callback_args .= "$c_args, ";
+	$c_recv.=
+            "        if (!${typeid}_get(&msg,endmsg,$c_get_args)) return 0;\n";
+        f_more("${encode}_$name", "	${typeid}_put(buf, &len, $c_args);\n");
+    }
+    $f_more_sr->($c_recv);
+    $c_decl .= "void *user)";
+    $c_callback_args .= "user";
+
+    $f_more_sr->("        if (msg != endmsg) return 0;\n");
+
+    my $c_callback;
+    if ($flags !~ m/c/) {
+        $c_callback = "${callback}_$name";
+    } else {
+        $f_more_sr->(sub {
+            my ($sr) = @_;
+            $cbs{$sr} .= "    $c_rtype_callout (*${name})$c_decl;\n";
+            return
+          "        const ".cbtype($sr)." *const cbs =\n".
+            "            ${getcallbacks}_${sr}(user);\n";
+                       });
+        $c_callback = "cbs->${name}";
+    }
+    my $c_make_callback = "$c_callback($c_callback_args)";
+    if ($flags !~ m/W/) {
+	$f_more_sr->("        $c_make_callback;\n");
+    } else {
+        $f_more_sr->("        r = $c_make_callback;\n".
+                     "        $sendreply(r, user);\n");
+	f_decl($sendreply, 'callout', 'void', '(int r, void *user)');
+    }
+    if ($flags =~ m/x/) {
+        my $c_v = "(1u<<$msgnum)";
+        my $c_cb = "cbs->$name";
+        $f_more_sr->("    if ($c_cb) cbflags |= $c_v;\n", $enumcallbacks);
+        $f_more_sr->("    $c_cb = (cbflags & $c_v) ? ${encode}_${name} : 0;\n",
+                     $setcallbacks);
+    }
+    $f_more_sr->("        return 1;\n    }\n\n");
+    f_decl("${callback}_$name", 'callout', $c_rtype_callout, $c_decl);
+    f_decl("${encode}_$name", 'helper', $c_rtype_helper, $c_decl);
+    f_more("${encode}_$name",
+"        if (buf) break;
+        buf = ${helper}_allocbuf(len, user);
+        assert(buf);
+        allocd = len;
+        len = 0;
+    }
+    assert(len == allocd);
+    ${transmit}(buf, len, user);
+");
+    if ($flags =~ m/W/) {
+	f_more("${encode}_$name", (<<END.($debug ? <<END : '').<<END));
+    int r = ${helper}_getreply(user);
+END
+    fprintf(stderr,"libxl-save-helper: $name got reply %d\\n",r);
+END
+    return r;
+END
+    }
+}
+
+print "/* AUTOGENERATED by $0 DO NOT EDIT */\n\n" or die $!;
+
+foreach my $sr (qw(save restore)) {
+    f_more("${enumcallbacks}_${sr}",
+           "    return cbflags;\n");
+    f_more("${receiveds}_${sr}",
+           "    default:\n".
+           "        return 0;\n".
+           "    }");
+    $cbs{$sr} .= "} ".cbtype($sr).";\n\n";
+    if ($ch eq 'h') {
+        print $cbs{$sr} or die $!;
+        print "struct ${sr}_callbacks;\n";
+    }
+}
+
+if ($ch eq 'c') {
+    foreach my $name (@outfuncs) {
+        next unless defined $func{$name};
+        $func{$name} .= "}\n\n";
+        $out_body{$func_ah{$name}} .= $func{$name};
+        delete $func{$name};
+    }
+    print $out_body{$want_ah} or die $!;
+} else {
+    foreach my $name (sort keys %out_decls) {
+        next unless $func_ah{$name} eq $want_ah;
+        print $out_decls{$name} or die $!;
+    }
+}
+
+close STDOUT or die $!;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaj-0000ev-D3; Wed, 30 May 2012 16:17:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000b1-3N
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.143.35:5695] by server-2.bemta-4.messagelabs.com id
	BE/38-11595-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338394659!14846154!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6419 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743845"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hh-Mo; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vZ-KS;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:43 +0100
Message-ID: <1338394606-22693-13-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 12/15] xl: Handle return value from
	libxl_domain_suspend correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl_domain_suspend returns a libxl error code.  So it must be
wrapped with MUST and not CHK_ERRNO.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 9b4a80e..8c5f147 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2820,7 +2820,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
 
     save_domain_core_writeconfig(fd, filename, config_data, config_len);
 
-    CHK_ERRNO(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
+    MUST(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
     close(fd);
 
     if (checkpoint)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlag-0000ck-Is; Wed, 30 May 2012 16:17:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlad-0000aH-NN
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:58621] by server-5.bemta-5.messagelabs.com id
	FA/1D-16141-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27333 invoked from network); 30 May 2012 16:17:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743835"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HQ-BD; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005v3-8o;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:35 +0100
Message-ID: <1338394606-22693-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 04/15] libxl: domain save: API changes for
	asynchrony
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change the internal and external APIs for domain save (suspend) to be
capable of asynchronous operation.  The implementation remains
synchronous.  The interfaces surrounding device model saving are still
synchronous.

Public API changes:

 * libxl_domain_save takes an ao_how.

 * libxl_domain_remus_start takes an ao_how.  If the
   libxl_domain_remus_info is NULL, we abort rather than returning an
   error.

 * The `suspend_callback' function passed to libxl_domain_save is
   never called by the existing implementation in libxl.  Abolish it.

 * libxl_domain_save takes its flags parameter as an argument.
   Thus libxl_domain_suspend_info is abolished.

 * XL_SUSPEND_* flags renamed to LIBXL_SAVE_*.

 * Callers in xl updated.

Internal code restructuring:

 * libxl__domain_suspend_state member types and names rationalised.

 * libxl__domain_suspend renamed from libxl__domain_suspend_common.
   (_common here actually meant "internal function").

 * libxl__domain_suspend takes a libxl__domain_suspend_state, which
   where the parameters to the operation are filled in by the caller.

 * xc_domain_save is now called via libxl__xc_domain_save which can
   itself become asynchronous.

 * Consequently, libxl__domain_suspend is split into two functions at
   the callback boundary; the second half is
   libxl__xc_domain_save_done.

 * libxl__domain_save_device_model is now called by the actual
   implementation rather than by the public wrapper.  It is already in
   its proper place in the domain save execution sequence.  So
   officially make it part of that execution sequence, renaming it to
   domain_save_device_model.

 * Effectively, rewrite the public wrapper functions
   libxl_domain_suspend and libxl_domain_remus_start.

 * Remove a needless #include <xenctrl.h>

 * libxl__domain_suspend aborts on unexpected domain types rather
   than mysteriously returning EINVAL.

 * struct save_callbacks moved from the stack to the dss.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes in v2:
 * Move save_callbacks too.
 * Merge with Remus changes.
 * Improvements to commit message.
 * Do not rename libxl_domain_suspend any more.
---
 tools/libxl/libxl.c              |   89 +++++++++++++++++++--------
 tools/libxl/libxl.h              |   22 ++++----
 tools/libxl/libxl_dom.c          |  122 ++++++++++++++++++++++++++-----------
 tools/libxl/libxl_internal.h     |   45 ++++++++++++---
 tools/libxl/libxl_save_callout.c |   12 ++++
 tools/libxl/xl_cmdimpl.c         |    9 +--
 6 files changed, 212 insertions(+), 87 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8a18fdf..53626ae 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -619,27 +619,44 @@ libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm)
     return ptr;
 }
 
+static void remus_crashed_cb(libxl__egc *egc,
+                             libxl__domain_suspend_state *dss, int rc);
+
 /* TODO: Explicit Checkpoint acknowledgements via recv_fd. */
 int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
-                             uint32_t domid, int send_fd, int recv_fd)
+                             uint32_t domid, int send_fd, int recv_fd,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_suspend_state *dss;
+
     libxl_domain_type type = libxl__domain_type(gc, domid);
-    int rc = 0;
+    /* TODO: check error return from libxl__domain_type */
 
-    if (info == NULL) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                   "No remus_info structure supplied for domain %d", domid);
-        rc = ERROR_INVAL;
-        goto remus_fail;
-    }
+    GCNEW(dss);
+    dss->ao = ao;
+    dss->callback = remus_crashed_cb;
+    dss->domid = domid;
+    dss->fd = send_fd;
+    /* TODO do something with recv_fd */
+    dss->type = type;
+    dss->live = 1;
+    dss->debug = 0;
+    dss->remus = info;
+
+    assert(info);
 
     /* TBD: Remus setup - i.e. attach qdisc, enable disk buffering, etc */
 
     /* Point of no return */
-    rc = libxl__domain_suspend_common(gc, domid, send_fd, type, /* live */ 1,
-                                      /* debug */ 0, info);
+    libxl__domain_suspend(egc, dss);
+    return AO_INPROGRESS;
+}
 
+static void remus_crashed_cb(libxl__egc *egc,
+                             libxl__domain_suspend_state *dss, int rc)
+{
+    STATE_AO_GC(dss->ao);
     /*
      * With Remus, if we reach this point, it means either
      * backup died or some network error occurred preventing us
@@ -649,27 +666,47 @@ int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
     /* TBD: Remus cleanup - i.e. detach qdisc, release other
      * resources.
      */
- remus_fail:
-    GC_FREE;
-    return rc;
+    libxl__ao_complete(egc, ao, rc);
 }
 
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                         uint32_t domid, int fd)
+static void domain_suspend_cb(libxl__egc *egc,
+                              libxl__domain_suspend_state *dss, int rc)
 {
-    GC_INIT(ctx);
+    STATE_AO_GC(dss->ao);
+    libxl__ao_complete(egc,ao,rc);
+
+}
+
+int libxl_domain_suspend(libxl_ctx *ctx, uint32_t domid, int fd, int flags,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
     libxl_domain_type type = libxl__domain_type(gc, domid);
-    int live = info != NULL && info->flags & XL_SUSPEND_LIVE;
-    int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
-    int rc = 0;
+    if (type < 0) {
+        LOG(ERROR,"domain %"PRIu32": unable to determine domain type", domid);
+        rc = ERROR_FAIL;
+        goto out_err;
+    }
 
-    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
-                                      /* No Remus */ NULL);
+    libxl__domain_suspend_state *dss;
+    GCNEW(dss);
 
-    if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
-        rc = libxl__domain_save_device_model(gc, domid, fd);
-    GC_FREE;
-    return rc;
+    dss->ao = ao;
+    dss->callback = domain_suspend_cb;
+
+    dss->domid = domid;
+    dss->fd = fd;
+    dss->type = type;
+    dss->live = flags & LIBXL_SUSPEND_LIVE;
+    dss->debug = flags & LIBXL_SUSPEND_DEBUG;
+
+    libxl__domain_suspend(egc, dss);
+    return AO_INPROGRESS;
+
+ out_err:
+    return AO_ABORT(rc);
 }
 
 int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 3a0d71d..4f1f4fd 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -347,13 +347,6 @@ typedef struct libxl__ctx libxl_ctx;
 
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
 
-typedef struct {
-#define XL_SUSPEND_DEBUG 1
-#define XL_SUSPEND_LIVE 2
-    int flags;
-    int (*suspend_callback)(void *, int);
-} libxl_domain_suspend_info;
-
 enum {
     ERROR_NONSPECIFIC = -1,
     ERROR_VERSION = -2,
@@ -514,16 +507,23 @@ int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
-int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
-                             uint32_t domid, int send_fd, int recv_fd);
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                          uint32_t domid, int fd);
+
+int libxl_domain_suspend(libxl_ctx *ctx, uint32_t domid, int fd,
+                         int flags, /* LIBXL_SUSPEND_* */
+                         const libxl_asyncop_how *ao_how);
+#define LIBXL_SUSPEND_DEBUG 1
+#define LIBXL_SUSPEND_LIVE 2
 
 /* @param suspend_cancel [from xenctrl.h:xc_domain_resume( @param fast )]
  *   If this parameter is true, use co-operative resume. The guest
  *   must support this.
  */
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
+
+int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
+                             uint32_t domid, int send_fd, int recv_fd,
+                             const libxl_asyncop_how *ao_how);
+
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 3bd1cb9..8cac6d5 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -17,13 +17,11 @@
 
 #include <glob.h>
 
-#include <xenctrl.h>
-#include <xc_dom.h>
+#include "libxl_internal.h"
 
+#include <xc_dom.h>
 #include <xen/hvm/hvm_info_table.h>
 
-#include "libxl_internal.h"
-
 libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -519,11 +517,18 @@ int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-static int libxl__domain_suspend_common_switch_qemu_logdirty
+/*==================== Domain suspend (save) ====================*/
+
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc);
+
+/*----- callbacks, called by xc_domain_save -----*/
+
+int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
 
@@ -588,10 +593,10 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
     return 0;
 }
 
-static int libxl__domain_suspend_common_callback(void *data)
+int libxl__domain_suspend_common_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
@@ -712,7 +717,7 @@ static int libxl__domain_suspend_common_callback(void *data)
 
  guest_suspended:
     if (dss->hvm) {
-        ret = libxl__domain_suspend_device_model(dss->gc, dss->domid);
+        ret = libxl__domain_suspend_device_model(gc, dss->domid);
         if (ret) {
             LOG(ERROR, "libxl__domain_suspend_device_model failed ret=%d", ret);
             return 0;
@@ -729,11 +734,11 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -804,6 +809,8 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
     return 0;
 }
 
+/*----- remus callbacks -----*/
+
 static int libxl__remus_domain_suspend_callback(void *data)
 {
     /* TODO: Issue disk and network checkpoint reqs. */
@@ -813,7 +820,7 @@ static int libxl__remus_domain_suspend_callback(void *data)
 static int libxl__remus_domain_resume_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
 
     /* Resumes the domain and the device model */
     if (libxl_domain_resume(CTX, dss->domid, /* Fast Suspend */1))
@@ -826,10 +833,11 @@ static int libxl__remus_domain_resume_callback(void *data)
 static int libxl__remus_domain_checkpoint_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
+    STATE_AO_GC(dss->ao);
 
     /* This would go into tailbuf. */
     if (dss->hvm &&
-        libxl__domain_save_device_model(dss->gc, dss->domid, dss->save_fd))
+        libxl__domain_save_device_model(gc, dss->domid, dss->fd))
         return 0;
 
     /* TODO: Wait for disk and memory ack, release network buffer */
@@ -837,18 +845,24 @@ static int libxl__remus_domain_checkpoint_callback(void *data)
     return 1;
 }
 
-int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                 libxl_domain_type type,
-                                 int live, int debug,
-                                 const libxl_domain_remus_info *r_info)
+/*----- main code for suspending, in order of execution -----*/
+
+void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
 {
+    STATE_AO_GC(dss->ao);
     int xcflags;
     int port;
-    struct save_callbacks callbacks[1];
-    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+    const libxl_domain_type type = dss->type;
+    const int live = dss->live;
+    const int debug = dss->debug;
+    const libxl_domain_remus_info *const r_info = dss->remus;
+    struct save_callbacks *const callbacks = &dss->callbacks;
+
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
         char *path;
@@ -867,17 +881,14 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         hvm = 0;
         break;
     default:
-        return ERROR_INVAL;
+        abort();
     }
 
     xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
-    dss->domid = domid;
-    dss->xcflags = xcflags;
     dss->hvm = hvm;
-    dss->gc = gc;
     dss->suspend_eventchn = -1;
     dss->guest_responded = 0;
 
@@ -885,10 +896,7 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         dss->interval = r_info->interval;
         if (r_info->compression)
             xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
-        dss->save_fd = fd;
     }
-    else
-        dss->save_fd = -1;
 
     dss->xce = xc_evtchn_open(NULL, 0);
     if (dss->xce == NULL)
@@ -918,10 +926,28 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
     callbacks->toolstack_save = libxl__toolstack_save;
     callbacks->data = dss;
 
-    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, callbacks,
-                        hvm, vm_generationid_addr);
-    if ( rc ) {
-        LOGE(ERROR, "saving domain: %s",
+    libxl__xc_domain_save(egc, dss, xcflags, hvm, vm_generationid_addr);
+    return;
+
+ out:
+    domain_suspend_done(egc, dss, rc);
+}
+
+void libxl__xc_domain_save_done(libxl__egc *egc,
+                                libxl__domain_suspend_state *dss,
+                                int rc, int retval, int errnoval)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const libxl_domain_type type = dss->type;
+    const uint32_t domid = dss->domid;
+
+    if (rc)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "saving domain: %s",
                          dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
@@ -929,16 +955,21 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
+        goto out;
     }
 
-    if (dss->suspend_eventchn > 0)
-        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
-                                  dss->suspend_eventchn);
-    if (dss->xce != NULL)
-        xc_evtchn_close(dss->xce);
+    if (type == LIBXL_DOMAIN_TYPE_HVM) {
+        rc = libxl__domain_suspend_device_model(gc, domid);
+        if (rc) goto out;
+        
+        rc = libxl__domain_save_device_model(gc, domid, dss->fd);
+        if (rc) goto out;
+    }
+
+    rc = 0;
 
 out:
-    return rc;
+    domain_suspend_done(egc, dss, rc);
 }
 
 int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
@@ -993,6 +1024,25 @@ out:
     return rc;
 }
 
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
+
+    dss->callback(egc, dss, rc);
+}
+
+/*==================== Miscellaneous ====================*/
+
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
 {
     char *s = libxl__sprintf(gc, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae4b99d..63da9b0 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1778,16 +1778,27 @@ _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 
+typedef void libxl__domain_suspend_cb(libxl__egc*,
+                                      libxl__domain_suspend_state*, int rc);
+
 struct libxl__domain_suspend_state {
-    libxl__gc *gc;
+    /* set by caller of libxl__domain_suspend */
+    libxl__ao *ao;
+    libxl__domain_suspend_cb *callback;
+
+    uint32_t domid;
+    int fd;
+    libxl_domain_type type;
+    int live;
+    int debug;
+    const libxl_domain_remus_info *remus;
+    /* private */
     xc_evtchn *xce; /* event channel handle */
     int suspend_eventchn;
-    int domid;
     int hvm;
-    unsigned int xcflags;
     int guest_responded;
-    int save_fd; /* Migration stream fd (for Remus) */
     int interval; /* checkpoint interval (for Remus) */
+    struct save_callbacks callbacks;
 };
 
 
@@ -1904,10 +1915,28 @@ struct libxl__domain_create_state {
 
 /*----- Domain suspend (save) functions -----*/
 
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug,
-                                         const libxl_domain_remus_info *r_info);
+/* calls callback when done */
+_hidden void libxl__domain_suspend(libxl__egc *egc,
+                                   libxl__domain_suspend_state *dss);
+
+
+/* calls libxl__xc_domain_suspend_done when done */
+_hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
+                                   int xcflags, int hvm,
+                                   unsigned long vm_generationid_addr);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_save_done(libxl__egc*,
+                                        libxl__domain_suspend_state*,
+                                        int rc, int retval, int errnoval);
+
+_hidden int libxl__domain_suspend_common_callback(void *data);
+_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data);
+_hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+        uint32_t *len, void *data);
+
 
 /* calls libxl__xc_domain_restore_done when done */
 _hidden void libxl__xc_domain_restore(libxl__egc *egc,
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index 2f8db9f..d8defa9 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -35,3 +35,15 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               &state->vm_generationid_addr, &dcs->callbacks);
     libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
 }
+
+void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
+                           int xcflags, int hvm,
+                           unsigned long vm_generationid_addr)
+{
+    STATE_AO_GC(dss->ao);
+    int r;
+
+    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags,
+                       &dss->callbacks, hvm, vm_generationid_addr);
+    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+}
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 040cefc..9b4a80e 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2820,7 +2820,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
 
     save_domain_core_writeconfig(fd, filename, config_data, config_len);
 
-    CHK_ERRNO(libxl_domain_suspend(ctx, NULL, domid, fd));
+    CHK_ERRNO(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
     close(fd);
 
     if (checkpoint)
@@ -2982,7 +2982,6 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     pid_t child = -1;
     int rc;
     int send_fd = -1, recv_fd = -1;
-    libxl_domain_suspend_info suspinfo;
     char *away_domname;
     char rc_buf;
     uint8_t *config_data;
@@ -3004,9 +3003,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
     xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
 
-    memset(&suspinfo, 0, sizeof(suspinfo));
-    suspinfo.flags |= XL_SUSPEND_LIVE;
-    rc = libxl_domain_suspend(ctx, &suspinfo, domid, send_fd);
+    rc = libxl_domain_suspend(ctx, domid, send_fd, LIBXL_SUSPEND_LIVE, NULL);
     if (rc) {
         fprintf(stderr, "migration sender: libxl_domain_suspend failed"
                 " (rc=%d)\n", rc);
@@ -6623,7 +6620,7 @@ int main_remus(int argc, char **argv)
     }
 
     /* Point of no return */
-    rc = libxl_domain_remus_start(ctx, &r_info, domid, send_fd, recv_fd);
+    rc = libxl_domain_remus_start(ctx, &r_info, domid, send_fd, recv_fd, 0);
 
     /* If we are here, it means backup has failed/domain suspend failed.
      * Try to resume the domain and exit gracefully.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlah-0000d1-1C; Wed, 30 May 2012 16:17:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000ap-I2
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:58705] by server-10.bemta-5.messagelabs.com id
	5F/2D-22179-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27372 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743844"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hk-Pg; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vd-MS;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:44 +0100
Message-ID: <1338394606-22693-14-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 13/15] libxl: do not leak dms->saved_state
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This was allocated using asprintf but never freed.  Use GCSPRINTF.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_create.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index eaf378b..6babdb0 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -739,9 +739,8 @@ void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
         goto out;
 
     if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        ret = asprintf(&state->saved_state,
+        state->saved_state = GCSPRINTF(
                        XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
-        ret = (ret < 0) ? ERROR_FAIL : 0;
     }
 
 out:
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlal-0000gc-0Q; Wed, 30 May 2012 16:17:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlag-0000ax-0G
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:42 +0000
Received: from [85.158.139.83:58876] by server-9.bemta-5.messagelabs.com id
	EC/85-27779-52846CF4; Wed, 30 May 2012 16:17:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27362 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743841"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HY-GJ; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vF-Dd;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:38 +0100
Message-ID: <1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked and
	libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These useful utility functions make dealing with xenstore a little
less painful.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_internal.h |   38 +++++++++++++++++++++
 tools/libxl/libxl_xshelp.c   |   76 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e4c3f34..ee7f66a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -498,6 +498,44 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+
+/*----- "checked" xenstore access functions -----*/
+/* Each of these functions will check that it succeeded; if it
+ * fails it logs and returns ERROR_FAIL.
+ */
+
+/* On success, *result_out came from the gc.
+ * On error, *result_out is undefined.
+ * ENOENT counts as success but sets *result_out=0
+ */
+int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
+                           const char *path, const char **result_out);
+
+/* Does not include a trailing null.
+ * May usefully be combined with GCSPRINTF if the format string
+ * behaviour of libxl__xs_write is desirable. */
+int libxl__xs_write_checked(libxl__gc *gc, xs_transaction_t t,
+                            const char *path, const char *string);
+
+/* ENOENT is not an error (even if the parent directories don't exist) */
+int libxl__xs_rm_checked(libxl__gc *gc, xs_transaction_t t, const char *path);
+
+/* Transaction functions, best used together.
+ * The caller should initialise *t to 0 (XBT_NULL) before calling start.
+ * Each function leaves *t!=0 iff the transaction needs cleaning up.
+ *
+ * libxl__xs_transaction_commit returns:
+ *   <0  failure - a libxl error code
+ *   +1  commit conflict; transaction has been destroyed and caller
+ *        must go round again (call _start again and retry)
+ *    0  commited successfully
+ */
+int libxl__xs_transaction_start(libxl__gc *gc, xs_transaction_t *t);
+int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t);
+void libxl__xs_transaction_abort(libxl__gc *gc, xs_transaction_t *t);
+
+
+
 /*
  * This is a recursive delete, from top to bottom. What this function does
  * is remove empty folders that contained the deleted entry.
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index c5b5364..5f359bc 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,82 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
+                           const char *path, const char **result_out)
+{
+    char *result = libxl__xs_read(gc, t, path);
+    if (!result) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "xenstore read failed: `%s'", path);
+            return ERROR_FAIL;
+        }
+    }
+    *result_out = result;
+    return 0;
+}
+
+int libxl__xs_write_checked(libxl__gc *gc, xs_transaction_t t,
+                            const char *path, const char *string)
+{
+    size_t length = strlen(string);
+    if (!xs_write(CTX->xsh, t, path, string, length)) {
+        LOGE(ERROR, "xenstore write failed: `%s' = `%s'", path, string);
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+int libxl__xs_rm_checked(libxl__gc *gc, xs_transaction_t t, const char *path)
+{
+    if (!xs_rm(CTX->xsh, t, path)) {
+        if (errno == ENOENT)
+            return 0;
+
+        LOGE(ERROR, "xenstore rm failed: `%s'", path);
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+int libxl__xs_transaction_start(libxl__gc *gc, xs_transaction_t *t)
+{
+    assert(!*t);
+    *t = xs_transaction_start(CTX->xsh);
+    if (!*t) {
+        LOGE(ERROR, "could not create xenstore transaction");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t)
+{
+    assert(*t);
+
+    if (!xs_transaction_end(CTX->xsh, *t, 0)) {
+        if (errno == EAGAIN)
+            return +1;
+
+        *t = 0;
+        LOGE(ERROR, "could not commit xenstore transacton");
+        return ERROR_FAIL;
+    }
+
+    *t = 0;
+    return 0;
+}
+
+void libxl__xs_transaction_abort(libxl__gc *gc, xs_transaction_t *t)
+{
+    if (!*t)
+        return;
+
+    if (!xs_transaction_end(CTX->xsh, *t, 1))
+        LOGE(ERROR, "could not abort xenstore transacton");
+
+    *t = 0;
+}
+
 int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
 {
     unsigned int nb = 0;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlag-0000ck-Is; Wed, 30 May 2012 16:17:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlad-0000aH-NN
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:58621] by server-5.bemta-5.messagelabs.com id
	FA/1D-16141-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27333 invoked from network); 30 May 2012 16:17:38 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743835"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HQ-BD; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005v3-8o;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:35 +0100
Message-ID: <1338394606-22693-5-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 04/15] libxl: domain save: API changes for
	asynchrony
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Change the internal and external APIs for domain save (suspend) to be
capable of asynchronous operation.  The implementation remains
synchronous.  The interfaces surrounding device model saving are still
synchronous.

Public API changes:

 * libxl_domain_save takes an ao_how.

 * libxl_domain_remus_start takes an ao_how.  If the
   libxl_domain_remus_info is NULL, we abort rather than returning an
   error.

 * The `suspend_callback' function passed to libxl_domain_save is
   never called by the existing implementation in libxl.  Abolish it.

 * libxl_domain_save takes its flags parameter as an argument.
   Thus libxl_domain_suspend_info is abolished.

 * XL_SUSPEND_* flags renamed to LIBXL_SAVE_*.

 * Callers in xl updated.

Internal code restructuring:

 * libxl__domain_suspend_state member types and names rationalised.

 * libxl__domain_suspend renamed from libxl__domain_suspend_common.
   (_common here actually meant "internal function").

 * libxl__domain_suspend takes a libxl__domain_suspend_state, which
   where the parameters to the operation are filled in by the caller.

 * xc_domain_save is now called via libxl__xc_domain_save which can
   itself become asynchronous.

 * Consequently, libxl__domain_suspend is split into two functions at
   the callback boundary; the second half is
   libxl__xc_domain_save_done.

 * libxl__domain_save_device_model is now called by the actual
   implementation rather than by the public wrapper.  It is already in
   its proper place in the domain save execution sequence.  So
   officially make it part of that execution sequence, renaming it to
   domain_save_device_model.

 * Effectively, rewrite the public wrapper functions
   libxl_domain_suspend and libxl_domain_remus_start.

 * Remove a needless #include <xenctrl.h>

 * libxl__domain_suspend aborts on unexpected domain types rather
   than mysteriously returning EINVAL.

 * struct save_callbacks moved from the stack to the dss.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes in v2:
 * Move save_callbacks too.
 * Merge with Remus changes.
 * Improvements to commit message.
 * Do not rename libxl_domain_suspend any more.
---
 tools/libxl/libxl.c              |   89 +++++++++++++++++++--------
 tools/libxl/libxl.h              |   22 ++++----
 tools/libxl/libxl_dom.c          |  122 ++++++++++++++++++++++++++-----------
 tools/libxl/libxl_internal.h     |   45 ++++++++++++---
 tools/libxl/libxl_save_callout.c |   12 ++++
 tools/libxl/xl_cmdimpl.c         |    9 +--
 6 files changed, 212 insertions(+), 87 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8a18fdf..53626ae 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -619,27 +619,44 @@ libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm)
     return ptr;
 }
 
+static void remus_crashed_cb(libxl__egc *egc,
+                             libxl__domain_suspend_state *dss, int rc);
+
 /* TODO: Explicit Checkpoint acknowledgements via recv_fd. */
 int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
-                             uint32_t domid, int send_fd, int recv_fd)
+                             uint32_t domid, int send_fd, int recv_fd,
+                             const libxl_asyncop_how *ao_how)
 {
-    GC_INIT(ctx);
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__domain_suspend_state *dss;
+
     libxl_domain_type type = libxl__domain_type(gc, domid);
-    int rc = 0;
+    /* TODO: check error return from libxl__domain_type */
 
-    if (info == NULL) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
-                   "No remus_info structure supplied for domain %d", domid);
-        rc = ERROR_INVAL;
-        goto remus_fail;
-    }
+    GCNEW(dss);
+    dss->ao = ao;
+    dss->callback = remus_crashed_cb;
+    dss->domid = domid;
+    dss->fd = send_fd;
+    /* TODO do something with recv_fd */
+    dss->type = type;
+    dss->live = 1;
+    dss->debug = 0;
+    dss->remus = info;
+
+    assert(info);
 
     /* TBD: Remus setup - i.e. attach qdisc, enable disk buffering, etc */
 
     /* Point of no return */
-    rc = libxl__domain_suspend_common(gc, domid, send_fd, type, /* live */ 1,
-                                      /* debug */ 0, info);
+    libxl__domain_suspend(egc, dss);
+    return AO_INPROGRESS;
+}
 
+static void remus_crashed_cb(libxl__egc *egc,
+                             libxl__domain_suspend_state *dss, int rc)
+{
+    STATE_AO_GC(dss->ao);
     /*
      * With Remus, if we reach this point, it means either
      * backup died or some network error occurred preventing us
@@ -649,27 +666,47 @@ int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
     /* TBD: Remus cleanup - i.e. detach qdisc, release other
      * resources.
      */
- remus_fail:
-    GC_FREE;
-    return rc;
+    libxl__ao_complete(egc, ao, rc);
 }
 
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                         uint32_t domid, int fd)
+static void domain_suspend_cb(libxl__egc *egc,
+                              libxl__domain_suspend_state *dss, int rc)
 {
-    GC_INIT(ctx);
+    STATE_AO_GC(dss->ao);
+    libxl__ao_complete(egc,ao,rc);
+
+}
+
+int libxl_domain_suspend(libxl_ctx *ctx, uint32_t domid, int fd, int flags,
+                         const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+
     libxl_domain_type type = libxl__domain_type(gc, domid);
-    int live = info != NULL && info->flags & XL_SUSPEND_LIVE;
-    int debug = info != NULL && info->flags & XL_SUSPEND_DEBUG;
-    int rc = 0;
+    if (type < 0) {
+        LOG(ERROR,"domain %"PRIu32": unable to determine domain type", domid);
+        rc = ERROR_FAIL;
+        goto out_err;
+    }
 
-    rc = libxl__domain_suspend_common(gc, domid, fd, type, live, debug,
-                                      /* No Remus */ NULL);
+    libxl__domain_suspend_state *dss;
+    GCNEW(dss);
 
-    if (!rc && type == LIBXL_DOMAIN_TYPE_HVM)
-        rc = libxl__domain_save_device_model(gc, domid, fd);
-    GC_FREE;
-    return rc;
+    dss->ao = ao;
+    dss->callback = domain_suspend_cb;
+
+    dss->domid = domid;
+    dss->fd = fd;
+    dss->type = type;
+    dss->live = flags & LIBXL_SUSPEND_LIVE;
+    dss->debug = flags & LIBXL_SUSPEND_DEBUG;
+
+    libxl__domain_suspend(egc, dss);
+    return AO_INPROGRESS;
+
+ out_err:
+    return AO_ABORT(rc);
 }
 
 int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 3a0d71d..4f1f4fd 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -347,13 +347,6 @@ typedef struct libxl__ctx libxl_ctx;
 
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
 
-typedef struct {
-#define XL_SUSPEND_DEBUG 1
-#define XL_SUSPEND_LIVE 2
-    int flags;
-    int (*suspend_callback)(void *, int);
-} libxl_domain_suspend_info;
-
 enum {
     ERROR_NONSPECIFIC = -1,
     ERROR_VERSION = -2,
@@ -514,16 +507,23 @@ int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config,
 
 void libxl_domain_config_init(libxl_domain_config *d_config);
 void libxl_domain_config_dispose(libxl_domain_config *d_config);
-int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
-                             uint32_t domid, int send_fd, int recv_fd);
-int libxl_domain_suspend(libxl_ctx *ctx, libxl_domain_suspend_info *info,
-                          uint32_t domid, int fd);
+
+int libxl_domain_suspend(libxl_ctx *ctx, uint32_t domid, int fd,
+                         int flags, /* LIBXL_SUSPEND_* */
+                         const libxl_asyncop_how *ao_how);
+#define LIBXL_SUSPEND_DEBUG 1
+#define LIBXL_SUSPEND_LIVE 2
 
 /* @param suspend_cancel [from xenctrl.h:xc_domain_resume( @param fast )]
  *   If this parameter is true, use co-operative resume. The guest
  *   must support this.
  */
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid, int suspend_cancel);
+
+int libxl_domain_remus_start(libxl_ctx *ctx, libxl_domain_remus_info *info,
+                             uint32_t domid, int send_fd, int recv_fd,
+                             const libxl_asyncop_how *ao_how);
+
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 3bd1cb9..8cac6d5 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -17,13 +17,11 @@
 
 #include <glob.h>
 
-#include <xenctrl.h>
-#include <xc_dom.h>
+#include "libxl_internal.h"
 
+#include <xc_dom.h>
 #include <xen/hvm/hvm_info_table.h>
 
-#include "libxl_internal.h"
-
 libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
@@ -519,11 +517,18 @@ int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-static int libxl__domain_suspend_common_switch_qemu_logdirty
+/*==================== Domain suspend (save) ====================*/
+
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc);
+
+/*----- callbacks, called by xc_domain_save -----*/
+
+int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
 
@@ -588,10 +593,10 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
     return 0;
 }
 
-static int libxl__domain_suspend_common_callback(void *data)
+int libxl__domain_suspend_common_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
     char *state = "suspend";
@@ -712,7 +717,7 @@ static int libxl__domain_suspend_common_callback(void *data)
 
  guest_suspended:
     if (dss->hvm) {
-        ret = libxl__domain_suspend_device_model(dss->gc, dss->domid);
+        ret = libxl__domain_suspend_device_model(gc, dss->domid);
         if (ret) {
             LOG(ERROR, "libxl__domain_suspend_device_model failed ret=%d", ret);
             return 0;
@@ -729,11 +734,11 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         uint32_t *len, void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
     unsigned int num = 0;
@@ -804,6 +809,8 @@ static int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
     return 0;
 }
 
+/*----- remus callbacks -----*/
+
 static int libxl__remus_domain_suspend_callback(void *data)
 {
     /* TODO: Issue disk and network checkpoint reqs. */
@@ -813,7 +820,7 @@ static int libxl__remus_domain_suspend_callback(void *data)
 static int libxl__remus_domain_resume_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
-    libxl__gc *gc = dss->gc;
+    STATE_AO_GC(dss->ao);
 
     /* Resumes the domain and the device model */
     if (libxl_domain_resume(CTX, dss->domid, /* Fast Suspend */1))
@@ -826,10 +833,11 @@ static int libxl__remus_domain_resume_callback(void *data)
 static int libxl__remus_domain_checkpoint_callback(void *data)
 {
     libxl__domain_suspend_state *dss = data;
+    STATE_AO_GC(dss->ao);
 
     /* This would go into tailbuf. */
     if (dss->hvm &&
-        libxl__domain_save_device_model(dss->gc, dss->domid, dss->save_fd))
+        libxl__domain_save_device_model(gc, dss->domid, dss->fd))
         return 0;
 
     /* TODO: Wait for disk and memory ack, release network buffer */
@@ -837,18 +845,24 @@ static int libxl__remus_domain_checkpoint_callback(void *data)
     return 1;
 }
 
-int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                 libxl_domain_type type,
-                                 int live, int debug,
-                                 const libxl_domain_remus_info *r_info)
+/*----- main code for suspending, in order of execution -----*/
+
+void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
 {
+    STATE_AO_GC(dss->ao);
     int xcflags;
     int port;
-    struct save_callbacks callbacks[1];
-    libxl__domain_suspend_state dss[1];
     int hvm, rc = ERROR_FAIL;
     unsigned long vm_generationid_addr;
 
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+    const libxl_domain_type type = dss->type;
+    const int live = dss->live;
+    const int debug = dss->debug;
+    const libxl_domain_remus_info *const r_info = dss->remus;
+    struct save_callbacks *const callbacks = &dss->callbacks;
+
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
         char *path;
@@ -867,17 +881,14 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         hvm = 0;
         break;
     default:
-        return ERROR_INVAL;
+        abort();
     }
 
     xcflags = (live) ? XCFLAGS_LIVE : 0
           | (debug) ? XCFLAGS_DEBUG : 0
           | (hvm) ? XCFLAGS_HVM : 0;
 
-    dss->domid = domid;
-    dss->xcflags = xcflags;
     dss->hvm = hvm;
-    dss->gc = gc;
     dss->suspend_eventchn = -1;
     dss->guest_responded = 0;
 
@@ -885,10 +896,7 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
         dss->interval = r_info->interval;
         if (r_info->compression)
             xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
-        dss->save_fd = fd;
     }
-    else
-        dss->save_fd = -1;
 
     dss->xce = xc_evtchn_open(NULL, 0);
     if (dss->xce == NULL)
@@ -918,10 +926,28 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
     callbacks->toolstack_save = libxl__toolstack_save;
     callbacks->data = dss;
 
-    rc = xc_domain_save(CTX->xch, fd, domid, 0, 0, xcflags, callbacks,
-                        hvm, vm_generationid_addr);
-    if ( rc ) {
-        LOGE(ERROR, "saving domain: %s",
+    libxl__xc_domain_save(egc, dss, xcflags, hvm, vm_generationid_addr);
+    return;
+
+ out:
+    domain_suspend_done(egc, dss, rc);
+}
+
+void libxl__xc_domain_save_done(libxl__egc *egc,
+                                libxl__domain_suspend_state *dss,
+                                int rc, int retval, int errnoval)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const libxl_domain_type type = dss->type;
+    const uint32_t domid = dss->domid;
+
+    if (rc)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "saving domain: %s",
                          dss->guest_responded ?
                          "domain responded to suspend request" :
                          "domain did not respond to suspend request");
@@ -929,16 +955,21 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
             rc = ERROR_GUEST_TIMEDOUT;
         else
             rc = ERROR_FAIL;
+        goto out;
     }
 
-    if (dss->suspend_eventchn > 0)
-        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
-                                  dss->suspend_eventchn);
-    if (dss->xce != NULL)
-        xc_evtchn_close(dss->xce);
+    if (type == LIBXL_DOMAIN_TYPE_HVM) {
+        rc = libxl__domain_suspend_device_model(gc, domid);
+        if (rc) goto out;
+        
+        rc = libxl__domain_save_device_model(gc, domid, dss->fd);
+        if (rc) goto out;
+    }
+
+    rc = 0;
 
 out:
-    return rc;
+    domain_suspend_done(egc, dss, rc);
 }
 
 int libxl__domain_save_device_model(libxl__gc *gc, uint32_t domid, int fd)
@@ -993,6 +1024,25 @@ out:
     return rc;
 }
 
+static void domain_suspend_done(libxl__egc *egc,
+                        libxl__domain_suspend_state *dss, int rc)
+{
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dss->domid;
+
+    if (dss->suspend_eventchn > 0)
+        xc_suspend_evtchn_release(CTX->xch, dss->xce, domid,
+                                  dss->suspend_eventchn);
+    if (dss->xce != NULL)
+        xc_evtchn_close(dss->xce);
+
+    dss->callback(egc, dss, rc);
+}
+
+/*==================== Miscellaneous ====================*/
+
 char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid)
 {
     char *s = libxl__sprintf(gc, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index ae4b99d..63da9b0 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1778,16 +1778,27 @@ _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
 
+typedef void libxl__domain_suspend_cb(libxl__egc*,
+                                      libxl__domain_suspend_state*, int rc);
+
 struct libxl__domain_suspend_state {
-    libxl__gc *gc;
+    /* set by caller of libxl__domain_suspend */
+    libxl__ao *ao;
+    libxl__domain_suspend_cb *callback;
+
+    uint32_t domid;
+    int fd;
+    libxl_domain_type type;
+    int live;
+    int debug;
+    const libxl_domain_remus_info *remus;
+    /* private */
     xc_evtchn *xce; /* event channel handle */
     int suspend_eventchn;
-    int domid;
     int hvm;
-    unsigned int xcflags;
     int guest_responded;
-    int save_fd; /* Migration stream fd (for Remus) */
     int interval; /* checkpoint interval (for Remus) */
+    struct save_callbacks callbacks;
 };
 
 
@@ -1904,10 +1915,28 @@ struct libxl__domain_create_state {
 
 /*----- Domain suspend (save) functions -----*/
 
-_hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
-                                         libxl_domain_type type,
-                                         int live, int debug,
-                                         const libxl_domain_remus_info *r_info);
+/* calls callback when done */
+_hidden void libxl__domain_suspend(libxl__egc *egc,
+                                   libxl__domain_suspend_state *dss);
+
+
+/* calls libxl__xc_domain_suspend_done when done */
+_hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
+                                   int xcflags, int hvm,
+                                   unsigned long vm_generationid_addr);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_save_done(libxl__egc*,
+                                        libxl__domain_suspend_state*,
+                                        int rc, int retval, int errnoval);
+
+_hidden int libxl__domain_suspend_common_callback(void *data);
+_hidden int libxl__domain_suspend_common_switch_qemu_logdirty
+                               (int domid, unsigned int enable, void *data);
+_hidden int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
+        uint32_t *len, void *data);
+
 
 /* calls libxl__xc_domain_restore_done when done */
 _hidden void libxl__xc_domain_restore(libxl__egc *egc,
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index 2f8db9f..d8defa9 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -35,3 +35,15 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               &state->vm_generationid_addr, &dcs->callbacks);
     libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
 }
+
+void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
+                           int xcflags, int hvm,
+                           unsigned long vm_generationid_addr)
+{
+    STATE_AO_GC(dss->ao);
+    int r;
+
+    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags,
+                       &dss->callbacks, hvm, vm_generationid_addr);
+    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+}
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 040cefc..9b4a80e 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2820,7 +2820,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
 
     save_domain_core_writeconfig(fd, filename, config_data, config_len);
 
-    CHK_ERRNO(libxl_domain_suspend(ctx, NULL, domid, fd));
+    CHK_ERRNO(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
     close(fd);
 
     if (checkpoint)
@@ -2982,7 +2982,6 @@ static void migrate_domain(const char *domain_spec, const char *rune,
     pid_t child = -1;
     int rc;
     int send_fd = -1, recv_fd = -1;
-    libxl_domain_suspend_info suspinfo;
     char *away_domname;
     char rc_buf;
     uint8_t *config_data;
@@ -3004,9 +3003,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
 
     xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
 
-    memset(&suspinfo, 0, sizeof(suspinfo));
-    suspinfo.flags |= XL_SUSPEND_LIVE;
-    rc = libxl_domain_suspend(ctx, &suspinfo, domid, send_fd);
+    rc = libxl_domain_suspend(ctx, domid, send_fd, LIBXL_SUSPEND_LIVE, NULL);
     if (rc) {
         fprintf(stderr, "migration sender: libxl_domain_suspend failed"
                 " (rc=%d)\n", rc);
@@ -6623,7 +6620,7 @@ int main_remus(int argc, char **argv)
     }
 
     /* Point of no return */
-    rc = libxl_domain_remus_start(ctx, &r_info, domid, send_fd, recv_fd);
+    rc = libxl_domain_remus_start(ctx, &r_info, domid, send_fd, recv_fd, 0);
 
     /* If we are here, it means backup has failed/domain suspend failed.
      * Try to resume the domain and exit gracefully.
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlai-0000dr-6A; Wed, 30 May 2012 16:17:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000ao-Cy
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58673] by server-4.bemta-5.messagelabs.com id
	1B/A4-16506-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27353 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743837"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HS-Ca; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005v7-AM;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:36 +0100
Message-ID: <1338394606-22693-6-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 05/15] libxl: domain save/restore: run in a
	separate process
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxenctrl expects to be able to simply run the save or restore
operation synchronously.  This won't work well in a process which is
trying to handle multiple domains.

The options are:

 - Block such a whole process (eg, the whole of libvirt) while
   migration completes (or until it fails).

 - Create a thread to run xc_domain_save and xc_domain_restore on.
   This is quite unpalatable.  Multithreaded programming is error
   prone enough without generating threads in libraries, particularly
   if the thread does some very complex operation.

 - Fork and run the operation in the child without execing.  This is
   no good because we would need to negotiate with the caller about
   fds we would inherit (and we might be a very large process).

 - Fork and exec a helper.

Of these options the latter is the most palatable.

Consequently:

 * A new helper program libxl-save-helper (which does both save and
   restore).  It will be installed in /usr/lib/xen/bin.  It does not
   link against libxl, only libxc, and its error handling does not
   need to be very advanced.  It does contain a plumbing through of
   the logging interface into the callback stream.

 * A small ad-hoc protocol between the helper and libxl which allows
   log messages and the libxc callbacks to be passed up and down.
   Protocol doc comment is in libxl_save_helper.c.

 * To avoid a lot of tedium the marshalling boilerplate (stubs for the
   helper and the callback decoder for libxl) is generated with a
   small perl script.

 * Implement new functionality to spawn the helper, monitor its
   output, provide responses, and check on its exit status.

 * The functions libxl__xc_domain_restore_done and
   libxl__xc_domain_save_done now turn out to want be called in the
   same place.  So make their state argument a void* so that the two
   functions are type compatible.

The domain save path still writes the qemu savefile synchronously.
This will need to be fixed in a subsequent patch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes in v2:
 * Helper path can be overridden by an environment variable for testing.
 * Add a couple of debug logging messages re toolstack data.
 * Fixes from testing.
 * Helper protocol message lengths (and numbers) are 16-bit which
   more clearly avoids piling lots of junk on the stack.
 * Merged with remus changes.
 * Callback implementations in libxl now called via pointers
   so remus can have its own callbacks.
 * Better namespace prefixes on autogenerated names etc.
 * Autogenerator can generate debugging printfs too.
---
 .gitignore                         |    1 +
 .hgignore                          |    2 +
 tools/libxl/Makefile               |   21 ++-
 tools/libxl/libxl_create.c         |   22 ++-
 tools/libxl/libxl_dom.c            |   36 ++--
 tools/libxl/libxl_internal.h       |   55 +++++-
 tools/libxl/libxl_save_callout.c   |  332 +++++++++++++++++++++++++++++-
 tools/libxl/libxl_save_helper.c    |  279 +++++++++++++++++++++++++
 tools/libxl/libxl_save_msgs_gen.pl |  393 ++++++++++++++++++++++++++++++++++++
 9 files changed, 1103 insertions(+), 38 deletions(-)
 create mode 100644 tools/libxl/libxl_save_helper.c
 create mode 100755 tools/libxl/libxl_save_msgs_gen.pl

diff --git a/.gitignore b/.gitignore
index 7770e54..3451e52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -353,6 +353,7 @@ tools/libxl/_*.[ch]
 tools/libxl/testidl
 tools/libxl/testidl.c
 tools/libxl/*.pyc
+tools/libxl/libxl-save-helper
 tools/blktap2/control/tap-ctl
 tools/firmware/etherboot/eb-roms.h
 tools/firmware/etherboot/gpxe-git-snapshot.tar.gz
diff --git a/.hgignore b/.hgignore
index 27d8f79..05304ea 100644
--- a/.hgignore
+++ b/.hgignore
@@ -180,9 +180,11 @@
 ^tools/libxl/_.*\.c$
 ^tools/libxl/libxlu_cfg_y\.output$
 ^tools/libxl/xl$
+^tools/libxl/libxl-save-helper$
 ^tools/libxl/testidl$
 ^tools/libxl/testidl\.c$
 ^tools/libxl/tmp\..*$
+^tools/libxl/.*\.new$
 ^tools/libvchan/vchan-node[12]$
 ^tools/libaio/src/.*\.ol$
 ^tools/libaio/src/.*\.os$
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 9b84421..e11354f 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,25 +66,30 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
-			libxl_save_callout.o \
+			libxl_save_callout.o _libxl_save_msgs_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
 
-AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
+AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h \
+	_libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
 AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
+AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
 LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
 	libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o
 $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 
-CLIENTS = xl testidl
+CLIENTS = xl testidl libxl-save-helper
 
 XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it.
 
+SAVE_HELPER_OBJS = libxl_save_helper.o _libxl_save_msgs_helper.o
+$(SAVE_HELPER_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
+
 testidl.o: CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
 testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
 	$(PYTHON) gentest.py libxl_types.idl testidl.c.new
@@ -116,6 +121,12 @@ _libxl_list.h: $(XEN_INCLUDE)/xen-external/bsd-sys-queue-h-seddery $(XEN_INCLUDE
 	perl $^ --prefix=libxl >$@.new
 	$(call move-if-changed,$@.new,$@)
 
+_libxl_save_msgs_helper.c _libxl_save_msgs_callout.c \
+_libxl_save_msgs_helper.h _libxl_save_msgs_callout.h: \
+		libxl_save_msgs_gen.pl
+	$(PERL) -w $< $@ >$@.new
+	$(call move-if-changed,$@.new,$@)
+
 libxl.h: _libxl_types.h
 libxl_json.h: _libxl_types_json.h
 libxl_internal.h: _libxl_types_internal.h _libxl_paths.h
@@ -157,6 +168,9 @@ libxlutil.a: $(LIBXLU_OBJS)
 xl: $(XL_OBJS) libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
 
+libxl-save-helper: $(SAVE_HELPER_OBJS) libxenlight.so
+	$(CC) $(LDFLAGS) -o $@ $(SAVE_HELPER_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS)
+
 testidl: testidl.o libxlutil.so libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
 
@@ -168,6 +182,7 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR)
 	$(INSTALL_DIR) $(DESTDIR)$(XEN_RUN_DIR)
 	$(INSTALL_PROG) xl $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(PRIVATE_BINDIR)
 	$(INSTALL_PROG) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
 	ln -sf libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenlight.so.$(MAJOR)
 	ln -sf libxenlight.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenlight.so
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 44455f9..eaf378b 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -600,7 +600,8 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     libxl_domain_build_info *const info = &d_config->b_info;
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
-    struct restore_callbacks *const callbacks = &dcs->callbacks;
+    libxl__srm_restore_autogen_callbacks *const callbacks =
+        &dcs->shs.callbacks.restore.a;
 
     if (rc) domcreate_rebuild_done(egc, dcs, rc);
 
@@ -640,7 +641,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
         pae = libxl_defbool_val(info->u.hvm.pae);
         no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
         callbacks->toolstack_restore = libxl__toolstack_restore;
-        callbacks->data = gc;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         hvm = 0;
@@ -660,10 +660,24 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
 }
 
-void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                   libxl__domain_create_state *dcs,
+void libxl__srm_callout_callback_restore_results(unsigned long store_mfn,
+          unsigned long console_mfn, unsigned long genidad, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    libxl__domain_create_state *dcs = CONTAINER_OF(shs, *dcs, shs);
+    STATE_AO_GC(dcs->ao);
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    state->store_mfn =            store_mfn;
+    state->console_mfn =          console_mfn;
+    state->vm_generationid_addr = genidad;
+    shs->need_results =           0;
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                    int ret, int retval, int errnoval)
 {
+    libxl__domain_create_state *dcs = dcs_void;
     STATE_AO_GC(dcs->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
     char **vments = NULL, **localents = NULL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 8cac6d5..716cf4b 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -463,16 +463,20 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
 }
 
 int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
-        uint32_t size, void *data)
+                             uint32_t size, void *user)
 {
-    libxl__gc *gc = data;
-    libxl_ctx *ctx = gc->owner;
+    libxl__save_helper_state *shs = user;
+    libxl__domain_create_state *dcs = CONTAINER_OF(shs, *dcs, shs);
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = CTX;
     int i, ret;
     const uint8_t *ptr = buf;
     uint32_t count = 0, version = 0;
     struct libxl__physmap_info* pi;
     char *xs_path;
 
+    LOG(DEBUG,"domain=%"PRIu32" toolstack data size=%"PRIu32, domid, size);
+
     if (size < sizeof(version) + sizeof(count)) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "wrong size");
         return -1;
@@ -525,9 +529,10 @@ static void domain_suspend_done(libxl__egc *egc,
 /*----- callbacks, called by xc_domain_save -----*/
 
 int libxl__domain_suspend_common_switch_qemu_logdirty
-                               (int domid, unsigned int enable, void *data)
+                               (int domid, unsigned enable, void *user)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_state *shs = user;
+    libxl__domain_suspend_state *dss = CONTAINER_OF(shs, *dss, shs);
     STATE_AO_GC(dss->ao);
     char *path;
     bool rc;
@@ -593,9 +598,10 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
     return 0;
 }
 
-int libxl__domain_suspend_common_callback(void *data)
+int libxl__domain_suspend_common_callback(void *user)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__save_helper_state *shs = user;
+    libxl__domain_suspend_state *dss = CONTAINER_OF(shs, *dss, shs);
     STATE_AO_GC(dss->ao);
     unsigned long hvm_s_state = 0, hvm_pvdrv = 0;
     int ret;
@@ -735,9 +741,9 @@ static inline char *save_helper(libxl__gc *gc, uint32_t domid,
 }
 
 int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
-        uint32_t *len, void *data)
+        uint32_t *len, void *dss_void)
 {
-    libxl__domain_suspend_state *dss = data;
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
     int i = 0;
     char *start_addr = NULL, *size = NULL, *phys_offset = NULL, *name = NULL;
@@ -806,6 +812,8 @@ int libxl__toolstack_save(uint32_t domid, uint8_t **buf,
         ptr += sizeof(struct libxl__physmap_info) + namelen;
     }
 
+    LOG(DEBUG,"domain=%"PRIu32" toolstack data size=%"PRIu32, domid, *len);
+
     return 0;
 }
 
@@ -861,7 +869,8 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     const int live = dss->live;
     const int debug = dss->debug;
     const libxl_domain_remus_info *const r_info = dss->remus;
-    struct save_callbacks *const callbacks = &dss->callbacks;
+    libxl__srm_save_autogen_callbacks *const callbacks =
+        &dss->shs.callbacks.save.a;
 
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM: {
@@ -923,8 +932,7 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
         callbacks->suspend = libxl__domain_suspend_common_callback;
 
     callbacks->switch_qemu_logdirty = libxl__domain_suspend_common_switch_qemu_logdirty;
-    callbacks->toolstack_save = libxl__toolstack_save;
-    callbacks->data = dss;
+    dss->shs.callbacks.save.toolstack_save = libxl__toolstack_save;
 
     libxl__xc_domain_save(egc, dss, xcflags, hvm, vm_generationid_addr);
     return;
@@ -933,10 +941,10 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
     domain_suspend_done(egc, dss, rc);
 }
 
-void libxl__xc_domain_save_done(libxl__egc *egc,
-                                libxl__domain_suspend_state *dss,
+void libxl__xc_domain_save_done(libxl__egc *egc, void *dss_void,
                                 int rc, int retval, int errnoval)
 {
+    libxl__domain_suspend_state *dss = dss_void;
     STATE_AO_GC(dss->ao);
 
     /* Convenience aliases */
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 63da9b0..e4c3f34 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -54,6 +54,7 @@
 
 #include "libxl.h"
 #include "_libxl_paths.h"
+#include "_libxl_save_msgs_callout.h"
 
 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
 #define _hidden __attribute__((visibility("hidden")))
@@ -1774,6 +1775,50 @@ _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
 
+/*----- Save/restore helper (used by creation and suspend) -----*/
+
+typedef struct libxl__srm_save_callbacks {
+    libxl__srm_save_autogen_callbacks a;
+    xc_toolstack_save_cb *toolstack_save;
+} libxl__srm_save_callbacks;
+
+typedef struct libxl__srm_restore_callbacks {
+    libxl__srm_restore_autogen_callbacks a;
+} libxl__srm_restore_callbacks;
+
+/* a pointer to this struct is also passed as "user" to the
+ * save callout helper callback functions */
+typedef struct libxl__save_helper_state {
+    /* public, caller of run_helper initialises */
+    libxl__ao *ao;
+    uint32_t domid;
+    union {
+        libxl__srm_save_callbacks save;
+        libxl__srm_restore_callbacks restore;
+    } callbacks;
+    int (*recv_callback)(const unsigned char *msg, uint32_t len, void *user);
+    void (*completion_callback)(libxl__egc *egc, void *caller_state,
+                                int rc, int retval, int errnoval);
+    void *caller_state;
+    int need_results; /* set to 0 or 1 by caller of run_helper;
+                       * if set to 1 then the ultimate caller's
+                       * results function must set it to 0 */
+    /* private */
+    int rc;
+    int completed; /* retval/errnoval valid iff completed */
+    int retval, errnoval; /* from xc_domain_save / xc_domain_restore */
+    libxl__carefd *pipes[2]; /* 0 = helper's stdin, 1 = helper's stdout */
+    libxl__ev_fd readable;
+    libxl__ev_child child;
+    const char *stdin_what, *stdout_what;
+    FILE *toolstack_data_file;
+
+    libxl__egc *egc; /* valid only for duration of each event callback;
+                      * is here in this struct for the benefit of the
+                      * marshalling and xc callback functions */
+} libxl__save_helper_state;
+
+
 /*----- Domain suspend (save) state structure -----*/
 
 typedef struct libxl__domain_suspend_state libxl__domain_suspend_state;
@@ -1798,7 +1843,7 @@ struct libxl__domain_suspend_state {
     int hvm;
     int guest_responded;
     int interval; /* checkpoint interval (for Remus) */
-    struct save_callbacks callbacks;
+    libxl__save_helper_state shs;
 };
 
 
@@ -1910,7 +1955,7 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
-    struct restore_callbacks callbacks;
+    libxl__save_helper_state shs;
 };
 
 /*----- Domain suspend (save) functions -----*/
@@ -1927,8 +1972,7 @@ _hidden void libxl__xc_domain_save(libxl__egc*, libxl__domain_suspend_state*,
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_save_done(libxl__egc*,
-                                        libxl__domain_suspend_state*,
+_hidden void libxl__xc_domain_save_done(libxl__egc*, void *dss_void,
                                         int rc, int retval, int errnoval);
 
 _hidden int libxl__domain_suspend_common_callback(void *data);
@@ -1946,8 +1990,7 @@ _hidden void libxl__xc_domain_restore(libxl__egc *egc,
 /* If rc==0 then retval is the return value from xc_domain_save
  * and errnoval is the errno value it provided.
  * If rc!=0, retval and errnoval are undefined. */
-_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
-                                           libxl__domain_create_state *dcs,
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
                                            int rc, int retval, int errnoval);
 
 
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index d8defa9..ff7dfb6 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -16,6 +16,19 @@
 
 #include "libxl_internal.h"
 
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums);
+
+static void helper_failed(libxl__egc*, libxl__save_helper_state *shs, int rc);
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents);
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status);
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs);
+
+/*----- entrypoints -----*/
+
 void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
                               int hvm, int pae, int superpages,
                               int no_incr_generationid)
@@ -27,13 +40,28 @@ void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
 
-    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
-                              state->store_port, &state->store_mfn,
-                              state->store_domid, state->console_port,
-                              &state->console_mfn, state->console_domid,
-                              hvm, pae, superpages, no_incr_generationid,
-                              &state->vm_generationid_addr, &dcs->callbacks);
-    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+    unsigned cbflags = libxl__srm_callout_enumcallbacks_restore
+        (&dcs->shs.callbacks.restore.a);
+
+    const unsigned long argnums[] = {
+        restore_fd, domid,
+        state->store_port,
+        state->store_domid, state->console_port,
+        state->console_domid,
+        hvm, pae, superpages, no_incr_generationid,
+        cbflags,
+    };
+
+    dcs->shs.ao = ao;
+    dcs->shs.domid = domid;
+    dcs->shs.recv_callback = libxl__srm_callout_received_restore;
+    dcs->shs.completion_callback = libxl__xc_domain_restore_done;
+    dcs->shs.caller_state = dcs;
+    dcs->shs.need_results = 1;
+    dcs->shs.toolstack_data_file = 0;
+
+    run_helper(egc, &dcs->shs, "--restore-domain", restore_fd,
+               argnums, ARRAY_SIZE(argnums));
 }
 
 void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
@@ -41,9 +69,291 @@ void libxl__xc_domain_save(libxl__egc *egc, libxl__domain_suspend_state *dss,
                            unsigned long vm_generationid_addr)
 {
     STATE_AO_GC(dss->ao);
-    int r;
+    int r, rc;
+    uint32_t toolstack_data_len;
+
+    /* Resources we need to free */
+    uint8_t *toolstack_data_buf = 0;
+
+    unsigned cbflags = libxl__srm_callout_enumcallbacks_save
+        (&dss->shs.callbacks.save.a);
+
+    r = libxl__toolstack_save(dss->domid, &toolstack_data_buf,
+                              &toolstack_data_len, dss);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    dss->shs.toolstack_data_file = tmpfile();
+    if (!dss->shs.toolstack_data_file) {
+        LOGE(ERROR, "cannot create toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+    int toolstack_data_fd = fileno(dss->shs.toolstack_data_file);
+
+    r = libxl_write_exactly(CTX, toolstack_data_fd,
+                            toolstack_data_buf, toolstack_data_len,
+                            "toolstack data tmpfile", 0);
+    if (r) { rc = ERROR_FAIL; goto out; }
+
+    r = lseek(toolstack_data_fd, 0, SEEK_SET);
+    if (r) {
+        LOGE(ERROR, "rewind toolstack data tmpfile");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    const unsigned long argnums[] = {
+        dss->fd, dss->domid, 0, 0, xcflags, hvm, vm_generationid_addr,
+        toolstack_data_fd, toolstack_data_len,
+        cbflags,
+    };
+
+    dss->shs.ao = ao;
+    dss->shs.domid = dss->domid;
+    dss->shs.recv_callback = libxl__srm_callout_received_save;
+    dss->shs.completion_callback = libxl__xc_domain_save_done;
+    dss->shs.caller_state = dss;
+    dss->shs.need_results = 0;
+
+    free(toolstack_data_buf);
+
+    run_helper(egc, &dss->shs, "--save-domain", dss->fd,
+               argnums, ARRAY_SIZE(argnums));
+    return;
+
+ out:
+    free(toolstack_data_buf);
+    if (dss->shs.toolstack_data_file) fclose(dss->shs.toolstack_data_file);
+
+    libxl__xc_domain_save_done(egc, dss, rc, 0, 0);
+}
+
+
+/*----- helper execution -----*/
+
+static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
+                       const char *mode_arg, int data_fd,
+                       const unsigned long *argnums, int num_argnums)
+{
+    STATE_AO_GC(shs->ao);
+    const char *args[3 + num_argnums];
+    const char **arg = args;
+    int i, rc;
+
+    /* Resources we must free */
+    libxl__carefd *childs_pipes[2] = { 0,0 };
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    shs->rc = 0;
+    shs->completed = 0;
+    shs->pipes[0] = shs->pipes[1] = 0;
+    libxl__ev_fd_init(&shs->readable);
+    libxl__ev_child_init(&shs->child);
+
+    shs->stdin_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                " stdin pipe", domid);
+    shs->stdout_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
+                                 " stdout pipe", domid);
+
+    *arg++ = getenv("LIBXL_SAVE_HELPER") ?: LIBEXEC "/" "libxl-save-helper";
+    *arg++ = mode_arg;
+    for (i=0; i<num_argnums; i++)
+        *arg++ = GCSPRINTF("%lu", argnums[i]);
+    *arg++ = 0;
+    assert(arg == args + ARRAY_SIZE(args));
+
+    libxl__carefd_begin();
+    for (i=0; i<2; i++) {
+        int fds[2];
+        if (libxl_pipe(CTX,fds)) { rc = ERROR_FAIL; goto out; }
+        childs_pipes[i] = libxl__carefd_record(CTX, fds[i]);
+        shs->pipes[i] = libxl__carefd_record(CTX, fds[!i]);
+    }
+    libxl__carefd_unlock();
+
+    pid_t pid = libxl__ev_child_fork(gc, &shs->child, helper_exited);
+    if (!pid) {
+        libxl_fd_set_cloexec(CTX, data_fd, 0);
+        libxl__exec(gc,
+                    libxl__carefd_fd(childs_pipes[0]),
+                    libxl__carefd_fd(childs_pipes[1]),
+                    -1,
+                    args[0], (char**)args, 0);
+    }
+
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+
+    rc = libxl__ev_fd_register(gc, &shs->readable, helper_stdout_readable,
+                               libxl__carefd_fd(shs->pipes[1]), POLLIN|POLLPRI);
+    if (rc) goto out;
+    return;
+
+ out:
+    libxl__carefd_close(childs_pipes[0]);
+    libxl__carefd_close(childs_pipes[1]);
+    helper_failed(egc, shs, rc);;
+}
+
+static void helper_failed(libxl__egc *egc, libxl__save_helper_state *shs,
+                          int rc)
+{
+    STATE_AO_GC(shs->ao);
+
+    if (!shs->rc)
+        shs->rc = rc;
+
+    libxl__ev_fd_deregister(gc, &shs->readable);
+
+    if (!libxl__ev_child_inuse(&shs->child)) {
+        helper_done(egc, shs);
+        return;
+    }
+
+    int r = kill(shs->child.pid, SIGKILL);
+    if (r) LOGE(WARN, "failed to kill save/restore helper [%lu]",
+                (unsigned long)shs->child.pid);
+}
+
+static void helper_stdout_readable(libxl__egc *egc, libxl__ev_fd *ev,
+                                   int fd, short events, short revents)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ev, *shs, readable);
+    STATE_AO_GC(shs->ao);
+    int rc, errnoval;
+
+    if (revents & POLLPRI) {
+        LOG(ERROR, "%s signaled POLLERR", shs->stdout_what);
+        rc = ERROR_FAIL;
+ out:
+        /* this is here because otherwise we bypass the decl of msg[] */
+        helper_failed(egc, shs, rc);
+        return;
+    }
+
+    uint16_t msglen;
+    errnoval = libxl_read_exactly(CTX, fd, &msglen, sizeof(msglen),
+                                  shs->stdout_what, "ipc msg header");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    unsigned char msg[msglen];
+    errnoval = libxl_read_exactly(CTX, fd, msg, msglen,
+                                  shs->stdout_what, "ipc msg body");
+    if (errnoval) { rc = ERROR_FAIL; goto out; }
+
+    shs->egc = egc;
+    shs->recv_callback(msg, msglen, shs);
+    shs->egc = 0;
+    return;
+}
+
+static void helper_exited(libxl__egc *egc, libxl__ev_child *ch,
+                          pid_t pid, int status)
+{
+    libxl__save_helper_state *shs = CONTAINER_OF(ch, *shs, child);
+    STATE_AO_GC(shs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = shs->domid;
+
+    const char *what =
+        GCSPRINTF("domain %"PRIu32" save/restore helper", domid);
+
+    if (status) {
+        libxl_report_child_exitstatus(CTX, XTL_ERROR, what, pid, status);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (shs->need_results) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without providing results",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    if (!shs->completed) {
+        if (!shs->rc)
+            LOG(ERROR,"%s exited without signaling completion",what);
+        shs->rc = ERROR_FAIL;
+    }
+
+    helper_done(egc, shs);
+    return;
+}
+
+static void helper_done(libxl__egc *egc, libxl__save_helper_state *shs)
+{
+    STATE_AO_GC(shs->ao);
+
+    libxl__ev_fd_deregister(gc, &shs->readable);
+    libxl__carefd_close(shs->pipes[0]);  shs->pipes[0] = 0;
+    libxl__carefd_close(shs->pipes[1]);  shs->pipes[1] = 0;
+    assert(!libxl__ev_child_inuse(&shs->child));
+    if (shs->toolstack_data_file) fclose(shs->toolstack_data_file);
+
+    shs->egc = egc;
+    shs->completion_callback(egc, shs->caller_state,
+                             shs->rc, shs->retval, shs->errnoval);
+    shs->egc = 0;
+}
+
+/*----- generic helpers for the autogenerated code -----*/
+
+const libxl__srm_save_autogen_callbacks*
+libxl__srm_callout_get_callbacks_save(void *user)
+{
+    libxl__save_helper_state *shs = user;
+    return &shs->callbacks.save.a;
+}
+
+const libxl__srm_restore_autogen_callbacks*
+libxl__srm_callout_get_callbacks_restore(void *user)
+{
+    libxl__save_helper_state *shs = user;
+    return &shs->callbacks.restore.a;
+}
+
+void libxl__srm_callout_sendreply(int r, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    libxl__egc *egc = shs->egc;
+    STATE_AO_GC(shs->ao);
+    int errnoval;
+
+    errnoval = libxl_write_exactly(CTX, libxl__carefd_fd(shs->pipes[0]),
+                                   &r, sizeof(r), shs->stdin_what,
+                                   "callback return value");
+    if (errnoval)
+        helper_failed(egc, shs, ERROR_FAIL);
+}
+
+void libxl__srm_callout_callback_log(uint32_t level, uint32_t errnoval,
+                  const char *context, const char *formatted, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    STATE_AO_GC(shs->ao);
+    xtl_log(CTX->lg, level, errnoval, context, "%s", formatted);
+}
+
+void libxl__srm_callout_callback_progress(const char *context,
+                   const char *doing_what, unsigned long done,
+                   unsigned long total, void *user)
+{
+    libxl__save_helper_state *shs = user;
+    STATE_AO_GC(shs->ao);
+    xtl_progress(CTX->lg, context, doing_what, done, total);
+}
+
+int libxl__srm_callout_callback_complete(int retval, int errnoval,
+                                         void *user)
+{
+    libxl__save_helper_state *shs = user;
+    STATE_AO_GC(shs->ao);
 
-    r = xc_domain_save(CTX->xch, dss->fd, dss->domid, 0, 0, xcflags,
-                       &dss->callbacks, hvm, vm_generationid_addr);
-    libxl__xc_domain_save_done(egc, dss, 0, r, errno);
+    shs->completed = 1;
+    shs->retval = retval;
+    shs->errnoval = errnoval;
+    libxl__ev_fd_deregister(gc, &shs->readable);
+    return 0;
 }
diff --git a/tools/libxl/libxl_save_helper.c b/tools/libxl/libxl_save_helper.c
new file mode 100644
index 0000000..0481ebf
--- /dev/null
+++ b/tools/libxl/libxl_save_helper.c
@@ -0,0 +1,279 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+/*
+ * The libxl-save-helper utility speaks a protocol to its caller for
+ * the callbacks.  The protocol is as follows.
+ *
+ * The helper talks on stdin and stdout, in binary in machine
+ * endianness.  The helper speaks first, and only when it has a
+ * callback to make.  It writes a 16-bit number being the message
+ * length, and then the message body.
+ *
+ * Each message starts with a 16-bit number indicating which of the
+ * messages it is, and then some arguments in a binary marshalled form.
+ * If the callback does not need a reply (it returns void), the helper
+ * just continues.  Otherwise the helper waits for its caller to send a
+ * single int which is to be the return value from the callback.
+ *
+ * Where feasible the stubs and callbacks have prototypes identical to
+ * those required by xc_domain_save and xc_domain_restore, so that the
+ * autogenerated functions can be used/provided directly.
+ *
+ * The actual messages are in the array @msgs in libxl_save_msgs_gen.pl
+ */
+
+#include "libxl_osdeps.h"
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <assert.h>
+#include <inttypes.h>
+
+#include "libxl.h"
+
+#include "xenctrl.h"
+#include "xenguest.h"
+#include "_libxl_save_msgs_helper.h"
+
+/*----- globals -----*/
+
+static const char *program = "libxl-save-helper";
+static xentoollog_logger *logger;
+static xc_interface *xch;
+
+/*----- error handling -----*/
+
+static void fail(int errnoval, const char *fmt, ...)
+    __attribute__((noreturn,format(printf,2,3)));
+static void fail(int errnoval, const char *fmt, ...)
+{
+    va_list al;
+    va_start(al,fmt);
+    xtl_logv(logger,XTL_ERROR,errnoval,program,fmt,al);
+    exit(-1);
+}
+
+static int read_exactly(int fd, void *buf, size_t len)
+/* returns 0 if we get eof, even if we got it midway through; 1 if ok */
+{
+    while (len) {
+        ssize_t r = read(fd, buf, len);
+        if (r<=0) return r;
+        assert(r <= len);
+        len -= r;
+        buf = (char*)buf + r;
+    }
+    return 1;
+}
+
+static void *xmalloc(size_t sz)
+{
+    if (!sz) return 0;
+    void *r = malloc(sz);
+    if (!r) { perror("memory allocation failed"); exit(-1); }
+    return r;
+}
+
+/*----- logger -----*/
+
+typedef struct {
+    xentoollog_logger vtable;
+} xentoollog_logger_tellparent;
+
+static void tellparent_vmessage(xentoollog_logger *logger_in,
+                                xentoollog_level level,
+                                int errnoval,
+                                const char *context,
+                                const char *format,
+                                va_list al)
+{
+    char *formatted;
+    int r = vasprintf(&formatted, format, al);
+    if (r < 0) { perror("memory allocation failed during logging"); exit(-1); }
+    helper_stub_log(level, errnoval, context, formatted, 0);
+    free(formatted);
+}
+
+static void tellparent_progress(struct xentoollog_logger *logger_in,
+                                const char *context,
+                                const char *doing_what, int percent,
+                                unsigned long done, unsigned long total)
+{
+    helper_stub_progress(context, doing_what, done, total, 0);
+}
+
+static void tellparent_destroy(struct xentoollog_logger *logger_in)
+{
+    abort();
+}
+
+static xentoollog_logger_tellparent *createlogger_tellparent(void)
+{
+    xentoollog_logger_tellparent newlogger;
+    return XTL_NEW_LOGGER(tellparent, newlogger);
+}
+
+/*----- helper functions called by autogenerated stubs -----*/
+
+unsigned char * helper_allocbuf(int len, void *user)
+{
+    return xmalloc(len);
+}
+
+static void transmit(const unsigned char *msg, int len, void *user)
+{
+    while (len) {
+        int r = write(1, msg, len);
+        if (r<0) { perror("write"); exit(-1); }
+        assert(r >= 0);
+        assert(r <= len);
+        len -= r;
+        msg += r;
+    }
+}
+
+void helper_transmitmsg(unsigned char *msg_freed, int len_in, void *user)
+{
+    assert(len_in < 64*1024);
+    uint16_t len = len_in;
+    transmit((const void*)&len, sizeof(len), user);
+    transmit(msg_freed, len, user);
+    free(msg_freed);
+}
+
+int helper_getreply(void *user)
+{
+    int v;
+    int r = read_exactly(0, &v, sizeof(v));
+    if (r<=0) exit(-2);
+    return v;
+}
+
+/*----- other callbacks -----*/
+
+static int toolstack_save_fd;
+static uint32_t toolstack_save_len;
+
+static int toolstack_save_cb(uint32_t domid, uint8_t **buf,
+                             uint32_t *len, void *data)
+{
+    assert(toolstack_save_fd > 0);
+
+    *buf = xmalloc(toolstack_save_len);
+    int r = read_exactly(toolstack_save_fd, *buf, toolstack_save_len);
+    if (r<0) fail(errno,"read toolstack data");
+    if (r==0) fail(0,"read toolstack data eof");
+
+    toolstack_save_fd = -1;
+    *len = toolstack_save_len;
+    return 0;
+}
+
+static void startup(const char *op) {
+    logger = (xentoollog_logger*)createlogger_tellparent();
+    if (!logger) {
+        fprintf(stderr, "%s: cannot initialise logger\n", program);
+        exit(-1);
+    }
+
+    xtl_log(logger,XTL_DEBUG,0,program,"starting %s",op);
+
+    xch = xc_interface_open(logger,logger,0);
+    if (!xch) fail(errno,"xc_interface_open failed");
+}
+
+static void complete(int retval) {
+    int errnoval = errno;
+    xtl_log(logger,XTL_DEBUG,errnoval,program,"complete r=%d",retval);
+    helper_stub_complete(retval,errnoval,0);
+    exit(0);
+}
+
+static struct save_callbacks helper_save_callbacks;
+static struct restore_callbacks helper_restore_callbacks;
+
+int main(int argc, char **argv)
+{
+    int r;
+
+#define NEXTARG (++argv, assert(*argv), *argv)
+
+    const char *mode = *++argv;
+    assert(mode);
+
+    if (!strcmp(mode,"--save-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        uint32_t max_iters =       strtoul(NEXTARG,0,10);
+        uint32_t max_factor =      strtoul(NEXTARG,0,10);
+        uint32_t flags =           strtoul(NEXTARG,0,10);
+        int hvm =                  atoi(NEXTARG);
+        unsigned long genidad =    strtoul(NEXTARG,0,10);
+        toolstack_save_fd  =       atoi(NEXTARG);
+        toolstack_save_len =       strtoul(NEXTARG,0,10);
+        unsigned cbflags =         strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        helper_save_callbacks.toolstack_save = toolstack_save_cb;
+        helper_setcallbacks_save(&helper_save_callbacks, cbflags);
+
+        startup("save");
+        r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags,
+                           &helper_save_callbacks, hvm, genidad);
+        complete(r);
+
+    } else if (!strcmp(mode,"--restore-domain")) {
+
+        int io_fd =                atoi(NEXTARG);
+        uint32_t dom =             strtoul(NEXTARG,0,10);
+        unsigned store_evtchn =    strtoul(NEXTARG,0,10);
+        domid_t store_domid =      strtoul(NEXTARG,0,10);
+        unsigned console_evtchn =  strtoul(NEXTARG,0,10);
+        domid_t console_domid =    strtoul(NEXTARG,0,10);
+        unsigned int hvm =         strtoul(NEXTARG,0,10);
+        unsigned int pae =         strtoul(NEXTARG,0,10);
+        int superpages =           strtoul(NEXTARG,0,10);
+        int no_incr_genidad =      strtoul(NEXTARG,0,10);
+        unsigned cbflags =         strtoul(NEXTARG,0,10);
+        assert(!*++argv);
+
+        helper_setcallbacks_restore(&helper_restore_callbacks, cbflags);
+
+        unsigned long store_mfn = 0;
+        unsigned long console_mfn = 0;
+        unsigned long genidad = 0;
+
+        startup("restore");
+        r = xc_domain_restore(xch, io_fd, dom, store_evtchn, &store_mfn,
+                              store_domid, console_evtchn, &console_mfn,
+                              console_domid, hvm, pae, superpages,
+                              no_incr_genidad, &genidad,
+                              &helper_restore_callbacks);
+        helper_stub_restore_results(store_mfn,console_mfn,genidad,0);
+        complete(r);
+
+    } else {
+        assert(!"unexpected mode argument");
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/tools/libxl/libxl_save_msgs_gen.pl b/tools/libxl/libxl_save_msgs_gen.pl
new file mode 100755
index 0000000..cd0837e
--- /dev/null
+++ b/tools/libxl/libxl_save_msgs_gen.pl
@@ -0,0 +1,393 @@
+#!/usr/bin/perl -w
+
+use warnings;
+use strict;
+use POSIX;
+
+our $debug = 0; # produce copius debugging output at run-time?
+
+our @msgs = (
+    # flags:
+    #   s  - applicable to save
+    #   r  - applicable to restore
+    #   c  - function pointer in callbacks struct rather than fixed function
+    #   x  - function pointer is in struct {save,restore}_callbacks
+    #         and its null-ness needs to be passed through to the helper's xc
+    #   W  - needs a return value; callback is synchronous
+    [  1, 'sr',     "log",                   [qw(uint32_t level
+                                                 uint32_t errnoval
+                                                 STRING context
+                                                 STRING formatted)] ],
+    [  2, 'sr',     "progress",              [qw(STRING context
+                                                 STRING doing_what),
+                                                'unsigned long', 'done',
+                                                'unsigned long', 'total'] ],
+    [  3, 'scxW',   "suspend", [] ],         
+    [  4, 'scxW',   "postcopy", [] ],        
+    [  5, 'scxW',   "checkpoint", [] ],      
+    [  6, 'scxW',   "switch_qemu_logdirty",  [qw(int domid
+                                              unsigned enable)] ],
+    #                toolstack_save          done entirely `by hand'
+    [  7, 'rcxW',   "toolstack_restore",     [qw(uint32_t domid
+                                                BLOCK tsdata)] ],
+    [  8, 'r',      "restore_results",       ['unsigned long', 'store_mfn',
+                                              'unsigned long', 'console_mfn',
+                                              'unsigned long', 'genidad'] ],
+    [  9, 'srW',    "complete",              [qw(int retval
+                                                 int errnoval)] ],
+);
+
+#----------------------------------------
+
+our %cbs;
+our %func;
+our %func_ah;
+our @outfuncs;
+our %out_decls;
+our %out_body;
+our %msgnum_used;
+
+die unless @ARGV==1;
+die if $ARGV[0] =~ m/^-/;
+
+our ($intendedout) = @ARGV;
+
+$intendedout =~ m/([a-z]+)\.([ch])$/ or die;
+my ($want_ah, $ch) = ($1, $2);
+
+my $declprefix = '';
+
+foreach my $ah (qw(callout helper)) {
+    $out_body{$ah} .= <<END.($ah eq 'callout' ? <<END : <<END);
+#include "libxl_osdeps.h"
+
+#include <assert.h>
+#include <string.h>
+#include <stdint.h>
+#include <limits.h>
+END
+
+#include "libxl_internal.h"
+
+END
+
+#include "_libxl_save_msgs_${ah}.h"
+#include <xenctrl.h>
+#include <xenguest.h>
+
+END
+}
+
+die $want_ah unless defined $out_body{$want_ah};
+
+sub f_decl ($$$$) {
+    my ($name, $ah, $c_rtype, $c_decl) = @_;
+    $out_decls{$name} = "${declprefix}$c_rtype $name$c_decl;\n";
+    $func{$name} = "$c_rtype $name$c_decl\n{\n" . ($func{$name} || '');
+    $func_ah{$name} = $ah;
+}
+
+sub f_more ($$) {
+    my ($name, $addbody) = @_;
+    $func{$name} ||= '';
+    $func{$name} .= $addbody;
+    push @outfuncs, $name;
+}
+
+our $libxl = "libxl__srm";
+our $callback = "${libxl}_callout_callback";
+our $receiveds = "${libxl}_callout_received";
+our $sendreply = "${libxl}_callout_sendreply";
+our $getcallbacks = "${libxl}_callout_get_callbacks";
+our $enumcallbacks = "${libxl}_callout_enumcallbacks";
+sub cbtype ($) { "${libxl}_".$_[0]."_autogen_callbacks"; };
+
+f_decl($sendreply, 'callout', 'void', "(int r, void *user)");
+
+our $helper = "helper";
+our $encode = "${helper}_stub";
+our $allocbuf = "${helper}_allocbuf";
+our $transmit = "${helper}_transmitmsg";
+our $getreply = "${helper}_getreply";
+our $setcallbacks = "${helper}_setcallbacks";
+
+f_decl($allocbuf, 'helper', 'unsigned char *', '(int len, void *user)');
+f_decl($transmit, 'helper', 'void',
+       '(unsigned char *msg_freed, int len, void *user)');
+f_decl($getreply, 'helper', 'int', '(void *user)');
+
+sub typeid ($) { my ($t) = @_; $t =~ s/\W/_/; return $t; };
+
+$out_body{'callout'} .= <<END;
+static int bytes_get(const unsigned char **msg,
+		     const unsigned char *const endmsg,
+		     void *result, int rlen)
+{
+    if (endmsg - *msg < rlen) return 0;
+    memcpy(result,*msg,rlen);
+    *msg += rlen;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void bytes_put(unsigned char *const buf, int *len,
+		      const void *value, int vlen)
+{
+    assert(vlen < INT_MAX/2 - *len);
+    if (buf)
+	memcpy(buf + *len, value, vlen);
+    *len += vlen;
+}
+
+END
+
+foreach my $simpletype (qw(int uint16_t uint32_t unsigned), 'unsigned long') {
+    my $typeid = typeid($simpletype);
+    $out_body{'callout'} .= <<END;
+static int ${typeid}_get(const unsigned char **msg,
+                        const unsigned char *const endmsg,
+                        $simpletype *result)
+{
+    return bytes_get(msg, endmsg, result, sizeof(*result));
+}
+
+END
+    $out_body{'helper'} .= <<END;
+static void ${typeid}_put(unsigned char *const buf, int *len,
+			 const $simpletype value)
+{
+    bytes_put(buf, len, &value, sizeof(value));
+}
+
+END
+}
+
+$out_body{'callout'} .= <<END;
+static int BLOCK_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const uint8_t **result, uint32_t *result_size)
+{
+    if (!uint32_t_get(msg,endmsg,result_size)) return 0;
+    if (endmsg - *msg < *result_size) return 0;
+    *result = (const void*)*msg;
+    *msg += *result_size;
+    return 1;
+}
+
+static int STRING_get(const unsigned char **msg,
+                      const unsigned char *const endmsg,
+                      const char **result)
+{
+    const uint8_t *data;
+    uint32_t datalen;
+    if (!BLOCK_get(msg,endmsg,&data,&datalen)) return 0;
+    if (datalen == 0) return 0;
+    if (data[datalen-1] != '\\0') return 0;
+    *result = (const void*)data;
+    return 1;
+}
+
+END
+$out_body{'helper'} .= <<END;
+static void BLOCK_put(unsigned char *const buf,
+                      int *len,
+		      const uint8_t *bytes, uint32_t size)
+{
+    uint32_t_put(buf, len, size);
+    bytes_put(buf, len, bytes, size);
+}
+    
+static void STRING_put(unsigned char *const buf,
+		       int *len,
+		       const char *string)
+{
+    size_t slen = strlen(string);
+    assert(slen < INT_MAX / 4);
+    assert(slen < (uint32_t)0x40000000);
+    BLOCK_put(buf, len, (const void*)string, slen+1);
+}
+    
+END
+
+foreach my $sr (qw(save restore)) {
+    f_decl("${getcallbacks}_${sr}", 'callout',
+           "const ".cbtype($sr)." *",
+           "(void *data)");
+
+    f_decl("${receiveds}_${sr}", 'callout', 'int',
+	   "(const unsigned char *msg, uint32_t len, void *user)");
+
+    f_decl("${enumcallbacks}_${sr}", 'callout', 'unsigned',
+           "(const ".cbtype($sr)." *cbs)");
+    f_more("${enumcallbacks}_${sr}", "    unsigned cbflags = 0;\n");
+
+    f_decl("${setcallbacks}_${sr}", 'helper', 'void',
+           "(struct ${sr}_callbacks *cbs, unsigned cbflags)");
+
+    f_more("${receiveds}_${sr}", <<END.($debug ? <<END : '').<<END);
+    const unsigned char *const endmsg = msg + len;
+    uint16_t mtype;
+    if (!uint16_t_get(&msg,endmsg,&mtype)) return 0;
+END
+    fprintf(stderr,"libxl callout receiver: got len=%u mtype=%u\\n",len,mtype);
+END
+    switch (mtype) {
+
+END
+
+    $cbs{$sr} = "typedef struct ".cbtype($sr)." {\n";
+}
+
+foreach my $msginfo (@msgs) {
+    my ($msgnum, $flags, $name, $args) = @$msginfo;
+    die if $msgnum_used{$msgnum}++;
+
+    my $f_more_sr = sub {
+        my ($contents_spec, $fnamebase) = @_;
+        $fnamebase ||= "${receiveds}";
+        foreach my $sr (qw(save restore)) {
+            $sr =~ m/^./;
+            next unless $flags =~ m/$&/;
+            my $contents = (!ref $contents_spec) ? $contents_spec :
+                $contents_spec->($sr);
+            f_more("${fnamebase}_${sr}", $contents);
+        }
+    };
+
+    $f_more_sr->("    case $msgnum: { /* $name */\n");
+    if ($flags =~ m/W/) {
+        $f_more_sr->("        int r;\n");
+    }
+
+    my $c_rtype_helper = $flags =~ m/W/ ? 'int' : 'void';
+    my $c_rtype_callout = $flags =~ m/W/ ? 'int' : 'void';
+    my $c_decl = '(';
+    my $c_callback_args = '';
+
+    f_more("${encode}_$name", <<END.($debug ? <<END : '').<<END);
+    unsigned char *buf = 0;
+    int len = 0, allocd = 0;
+
+END
+    fprintf(stderr,"libxl-save-helper: encoding $name\\n");
+END
+    for (;;) {
+        uint16_t_put(buf, &len, $msgnum /* $name */);
+END
+
+    my @args = @$args;
+    my $c_recv = '';
+    my ($argtype, $arg);
+    while (($argtype, $arg, @args) = @args) {
+	my $typeid = typeid($argtype);
+        my $c_args = "$arg";
+        my $c_get_args = "&$arg";
+	if ($argtype eq 'STRING') {
+	    $c_decl .= "const char *$arg, ";
+	    $f_more_sr->("        const char *$arg;\n");
+        } elsif ($argtype eq 'BLOCK') {
+            $c_decl .= "const uint8_t *$arg, uint32_t ${arg}_size, ";
+            $c_args .= ", ${arg}_size";
+            $c_get_args .= ",&${arg}_size";
+	    $f_more_sr->("        const uint8_t *$arg;\n".
+                         "        uint32_t ${arg}_size;\n");
+	} else {
+	    $c_decl .= "$argtype $arg, ";
+	    $f_more_sr->("        $argtype $arg;\n");
+	}
+	$c_callback_args .= "$c_args, ";
+	$c_recv.=
+            "        if (!${typeid}_get(&msg,endmsg,$c_get_args)) return 0;\n";
+        f_more("${encode}_$name", "	${typeid}_put(buf, &len, $c_args);\n");
+    }
+    $f_more_sr->($c_recv);
+    $c_decl .= "void *user)";
+    $c_callback_args .= "user";
+
+    $f_more_sr->("        if (msg != endmsg) return 0;\n");
+
+    my $c_callback;
+    if ($flags !~ m/c/) {
+        $c_callback = "${callback}_$name";
+    } else {
+        $f_more_sr->(sub {
+            my ($sr) = @_;
+            $cbs{$sr} .= "    $c_rtype_callout (*${name})$c_decl;\n";
+            return
+          "        const ".cbtype($sr)." *const cbs =\n".
+            "            ${getcallbacks}_${sr}(user);\n";
+                       });
+        $c_callback = "cbs->${name}";
+    }
+    my $c_make_callback = "$c_callback($c_callback_args)";
+    if ($flags !~ m/W/) {
+	$f_more_sr->("        $c_make_callback;\n");
+    } else {
+        $f_more_sr->("        r = $c_make_callback;\n".
+                     "        $sendreply(r, user);\n");
+	f_decl($sendreply, 'callout', 'void', '(int r, void *user)');
+    }
+    if ($flags =~ m/x/) {
+        my $c_v = "(1u<<$msgnum)";
+        my $c_cb = "cbs->$name";
+        $f_more_sr->("    if ($c_cb) cbflags |= $c_v;\n", $enumcallbacks);
+        $f_more_sr->("    $c_cb = (cbflags & $c_v) ? ${encode}_${name} : 0;\n",
+                     $setcallbacks);
+    }
+    $f_more_sr->("        return 1;\n    }\n\n");
+    f_decl("${callback}_$name", 'callout', $c_rtype_callout, $c_decl);
+    f_decl("${encode}_$name", 'helper', $c_rtype_helper, $c_decl);
+    f_more("${encode}_$name",
+"        if (buf) break;
+        buf = ${helper}_allocbuf(len, user);
+        assert(buf);
+        allocd = len;
+        len = 0;
+    }
+    assert(len == allocd);
+    ${transmit}(buf, len, user);
+");
+    if ($flags =~ m/W/) {
+	f_more("${encode}_$name", (<<END.($debug ? <<END : '').<<END));
+    int r = ${helper}_getreply(user);
+END
+    fprintf(stderr,"libxl-save-helper: $name got reply %d\\n",r);
+END
+    return r;
+END
+    }
+}
+
+print "/* AUTOGENERATED by $0 DO NOT EDIT */\n\n" or die $!;
+
+foreach my $sr (qw(save restore)) {
+    f_more("${enumcallbacks}_${sr}",
+           "    return cbflags;\n");
+    f_more("${receiveds}_${sr}",
+           "    default:\n".
+           "        return 0;\n".
+           "    }");
+    $cbs{$sr} .= "} ".cbtype($sr).";\n\n";
+    if ($ch eq 'h') {
+        print $cbs{$sr} or die $!;
+        print "struct ${sr}_callbacks;\n";
+    }
+}
+
+if ($ch eq 'c') {
+    foreach my $name (@outfuncs) {
+        next unless defined $func{$name};
+        $func{$name} .= "}\n\n";
+        $out_body{$func_ah{$name}} .= $func{$name};
+        delete $func{$name};
+    }
+    print $out_body{$want_ah} or die $!;
+} else {
+    foreach my $name (sort keys %out_decls) {
+        next unless $func_ah{$name} eq $want_ah;
+        print $out_decls{$name} or die $!;
+    }
+}
+
+close STDOUT or die $!;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaf-0000bG-0n; Wed, 30 May 2012 16:17:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlad-0000aH-36
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:39 +0000
Received: from [85.158.139.83:58547] by server-5.bemta-5.messagelabs.com id
	D4/1D-16141-22846CF4; Wed, 30 May 2012 16:17:38 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10516 invoked from network); 30 May 2012 16:17:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743832"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:51 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HN-9D; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005uz-7K;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:34 +0100
Message-ID: <1338394606-22693-4-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 03/15] libxl: domain restore: reshuffle,
	preparing for ao
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

We are going to arrange that libxl, instead of calling
xc_domain_restore, calls a stub function which forks and execs a
helper program, so that restore can be asynchronous rather than
blocking the whole toolstack.

This stub function will be called libxl__xc_domain_restore.

However, its prospective call site is unsuitable for a function which
needs to make a callback, and is buried in two nested single-call-site
functions which are logically part of the domain creation procedure.

So we first abolish those single-call-site functions, integrate their
contents into domain creation in their proper temporal order, and
break out libxl__xc_domain_restore ready for its reimplementation.

No functional change - just the following reorganisation:

* Abolish libxl__domain_restore_common, as it had only one caller.
  Move its contents into (what was) domain_restore.

* There is a new stage function domcreate_rebuild_done containing what
  used to be the bulk of domcreate_bootloader_done, since
  domcreate_bootloader_done now simply starts the restore (or does the
  rebuild) and arranges to call the next stage.

* Move the contents of domain_restore into its correct place in the
  domain creation sequence.  We put it inside
  domcreate_bootloader_done, which now either calls
  libxl__xc_domain_restore which will call the new function
  domcreate_rebuild_done.

* Various general-purpose local variables (`i' etc.) and convenience
  alias variables need to be shuffled about accordingly.

* Consequently libxl__toolstack_restore needs to gain external linkage
  as it is now in a different file to its user.

* Move the xc_domain_save callbacks struct from the stack into
  libxl__domain_create_state.

In general the moved code remains almost identical.  Two returns in
what used to be libxl__domain_restore_common have been changed to set
the return value and "goto out", and the call sites for the abolished
and new functions have been adjusted.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Changes in v2:
 * Also move the save callbacks
---
 tools/libxl/Makefile             |    1 +
 tools/libxl/libxl_create.c       |  244 +++++++++++++++++++++++--------------
 tools/libxl/libxl_dom.c          |   45 +-------
 tools/libxl/libxl_internal.h     |   19 +++-
 tools/libxl/libxl_save_callout.c |   37 ++++++
 5 files changed, 206 insertions(+), 140 deletions(-)
 create mode 100644 tools/libxl/libxl_save_callout.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5d9227e..9b84421 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -66,6 +66,7 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
 			libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
 			libxl_internal.o libxl_utils.o libxl_uuid.o \
 			libxl_json.o libxl_aoutils.o \
+			libxl_save_callout.o \
 			libxl_qmp.o libxl_event.o libxl_fork.o $(LIBXL_OBJS-y)
 LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 77acecc..44455f9 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -20,7 +20,6 @@
 #include "libxl_internal.h"
 
 #include <xc_dom.h>
-#include <xenguest.h>
 
 void libxl_domain_config_init(libxl_domain_config *d_config)
 {
@@ -316,89 +315,6 @@ out:
     return ret;
 }
 
-static int domain_restore(libxl__gc *gc, libxl_domain_build_info *info,
-                          uint32_t domid, int fd,
-                          libxl__domain_build_state *state)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    char **vments = NULL, **localents = NULL;
-    struct timeval start_time;
-    int i, ret, esave, flags;
-
-    ret = libxl__build_pre(gc, domid, info, state);
-    if (ret)
-        goto out;
-
-    ret = libxl__domain_restore_common(gc, domid, info, state, fd);
-    if (ret)
-        goto out;
-
-    gettimeofday(&start_time, NULL);
-
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        vments = libxl__calloc(gc, 7, sizeof(char *));
-        vments[0] = "rtc/timeoffset";
-        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
-        vments[2] = "image/ostype";
-        vments[3] = "hvm";
-        vments[4] = "start_time";
-        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        vments = libxl__calloc(gc, 11, sizeof(char *));
-        i = 0;
-        vments[i++] = "image/ostype";
-        vments[i++] = "linux";
-        vments[i++] = "image/kernel";
-        vments[i++] = (char *) state->pv_kernel.path;
-        vments[i++] = "start_time";
-        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
-        if (state->pv_ramdisk.path) {
-            vments[i++] = "image/ramdisk";
-            vments[i++] = (char *) state->pv_ramdisk.path;
-        }
-        if (state->pv_cmdline) {
-            vments[i++] = "image/cmdline";
-            vments[i++] = (char *) state->pv_cmdline;
-        }
-        break;
-    default:
-        ret = ERROR_INVAL;
-        goto out;
-    }
-    ret = libxl__build_post(gc, domid, info, state, vments, localents);
-    if (ret)
-        goto out;
-
-    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        ret = asprintf(&state->saved_state,
-                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
-        ret = (ret < 0) ? ERROR_FAIL : 0;
-    }
-
-out:
-    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
-        libxl__file_reference_unmap(&state->pv_kernel);
-        libxl__file_reference_unmap(&state->pv_ramdisk);
-    }
-
-    esave = errno;
-
-    flags = fcntl(fd, F_GETFL);
-    if (flags == -1) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
-    } else {
-        flags &= ~O_NONBLOCK;
-        if (fcntl(fd, F_SETFL, flags) == -1)
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
-                         " back to blocking mode");
-    }
-
-    errno = esave;
-    return ret;
-}
-
 int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info,
                        uint32_t *domid)
 {
@@ -579,10 +495,13 @@ static void domcreate_bootloader_console_available(libxl__egc *egc,
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
                                       int rc);
-
 static void domcreate_console_available(libxl__egc *egc,
                                         libxl__domain_create_state *dcs);
 
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret);
+
 /* Our own function to clean up and call the user's callback.
  * The final call in the sequence. */
 static void domcreate_complete(libxl__egc *egc,
@@ -670,20 +589,20 @@ static void domcreate_console_available(libxl__egc *egc,
 
 static void domcreate_bootloader_done(libxl__egc *egc,
                                       libxl__bootloader_state *bl,
-                                      int ret)
+                                      int rc)
 {
     libxl__domain_create_state *dcs = CONTAINER_OF(bl, *dcs, bl);
     STATE_AO_GC(bl->ao);
-    int i;
 
     /* convenience aliases */
     const uint32_t domid = dcs->guest_domid;
     libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
     const int restore_fd = dcs->restore_fd;
     libxl__domain_build_state *const state = &dcs->build_state;
-    libxl_ctx *const ctx = CTX;
+    struct restore_callbacks *const callbacks = &dcs->callbacks;
 
-    if (ret) goto error_out;
+    if (rc) domcreate_rebuild_done(egc, dcs, rc);
 
     /* consume bootloader outputs. state->pv_{kernel,ramdisk} have
      * been initialised by the bootloader already.
@@ -699,12 +618,153 @@ static void domcreate_bootloader_done(libxl__egc *egc,
     dcs->dmss.dm.callback = domcreate_devmodel_started;
     dcs->dmss.callback = domcreate_devmodel_started;
 
-    if ( restore_fd >= 0 ) {
-        ret = domain_restore(gc, &d_config->b_info, domid, restore_fd, state);
+    if ( restore_fd < 0 ) {
+        rc = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        domcreate_rebuild_done(egc, dcs, rc);
+        return;
+    }
+
+    /* Restore */
+
+    rc = libxl__build_pre(gc, domid, info, state);
+    if (rc)
+        goto out;
+
+    /* read signature */
+    int hvm, pae, superpages;
+    int no_incr_generationid;
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        hvm = 1;
+        superpages = 1;
+        pae = libxl_defbool_val(info->u.hvm.pae);
+        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
+        callbacks->toolstack_restore = libxl__toolstack_restore;
+        callbacks->data = gc;
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        hvm = 0;
+        superpages = 0;
+        pae = 1;
+        no_incr_generationid = 0;
+        break;
+    default:
+        rc = ERROR_INVAL;
+        goto out;
+    }
+    libxl__xc_domain_restore(egc, dcs,
+                             hvm, pae, superpages, no_incr_generationid);
+    return;
+
+ out:
+    libxl__xc_domain_restore_done(egc, dcs, rc, 0, 0);
+}
+
+void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret, int retval, int errnoval)
+{
+    STATE_AO_GC(dcs->ao);
+    libxl_ctx *ctx = libxl__gc_owner(gc);
+    char **vments = NULL, **localents = NULL;
+    struct timeval start_time;
+    int i, esave, flags;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl_domain_build_info *const info = &d_config->b_info;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    const int fd = dcs->restore_fd;
+
+    if (ret)
+        goto out;
+
+    if (retval) {
+        LOGEV(ERROR, errnoval, "restoring domain");
+        ret = ERROR_FAIL;
+        goto out;
+    }
+
+    gettimeofday(&start_time, NULL);
+
+    switch (info->type) {
+    case LIBXL_DOMAIN_TYPE_HVM:
+        vments = libxl__calloc(gc, 7, sizeof(char *));
+        vments[0] = "rtc/timeoffset";
+        vments[1] = (info->u.hvm.timeoffset) ? info->u.hvm.timeoffset : "";
+        vments[2] = "image/ostype";
+        vments[3] = "hvm";
+        vments[4] = "start_time";
+        vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        break;
+    case LIBXL_DOMAIN_TYPE_PV:
+        vments = libxl__calloc(gc, 11, sizeof(char *));
+        i = 0;
+        vments[i++] = "image/ostype";
+        vments[i++] = "linux";
+        vments[i++] = "image/kernel";
+        vments[i++] = (char *) state->pv_kernel.path;
+        vments[i++] = "start_time";
+        vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+        if (state->pv_ramdisk.path) {
+            vments[i++] = "image/ramdisk";
+            vments[i++] = (char *) state->pv_ramdisk.path;
+        }
+        if (state->pv_cmdline) {
+            vments[i++] = "image/cmdline";
+            vments[i++] = (char *) state->pv_cmdline;
+        }
+        break;
+    default:
+        ret = ERROR_INVAL;
+        goto out;
+    }
+    ret = libxl__build_post(gc, domid, info, state, vments, localents);
+    if (ret)
+        goto out;
+
+    if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
+        ret = asprintf(&state->saved_state,
+                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
+        ret = (ret < 0) ? ERROR_FAIL : 0;
+    }
+
+out:
+    if (info->type == LIBXL_DOMAIN_TYPE_PV) {
+        libxl__file_reference_unmap(&state->pv_kernel);
+        libxl__file_reference_unmap(&state->pv_ramdisk);
+    }
+
+    esave = errno;
+
+    flags = fcntl(fd, F_GETFL);
+    if (flags == -1) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get flags on restore fd");
     } else {
-        ret = libxl__domain_build(gc, &d_config->b_info, domid, state);
+        flags &= ~O_NONBLOCK;
+        if (fcntl(fd, F_SETFL, flags) == -1)
+            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to put restore fd"
+                         " back to blocking mode");
     }
 
+    errno = esave;
+    domcreate_rebuild_done(egc, dcs, ret);
+}
+
+static void domcreate_rebuild_done(libxl__egc *egc,
+                                   libxl__domain_create_state *dcs,
+                                   int ret)
+{
+    STATE_AO_GC(dcs->ao);
+    int i;
+
+    /* convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    libxl_domain_config *const d_config = dcs->guest_config;
+    libxl__domain_build_state *const state = &dcs->build_state;
+    libxl_ctx *const ctx = CTX;
+
     if (ret) {
         LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot (re-)build domain: %d", ret);
         ret = ERROR_FAIL;
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 231ca40..3bd1cb9 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -19,7 +19,6 @@
 
 #include <xenctrl.h>
 #include <xc_dom.h>
-#include <xenguest.h>
 
 #include <xen/hvm/hvm_info_table.h>
 
@@ -465,7 +464,7 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
             domid, phys_offset, node);
 }
 
-static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
         uint32_t size, void *data)
 {
     libxl__gc *gc = data;
@@ -520,48 +519,6 @@ static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
     return 0;
 }
 
-int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                 libxl_domain_build_info *info,
-                                 libxl__domain_build_state *state,
-                                 int fd)
-{
-    libxl_ctx *ctx = libxl__gc_owner(gc);
-    /* read signature */
-    int rc;
-    int hvm, pae, superpages;
-    struct restore_callbacks callbacks[1];
-    int no_incr_generationid;
-    switch (info->type) {
-    case LIBXL_DOMAIN_TYPE_HVM:
-        hvm = 1;
-        superpages = 1;
-        pae = libxl_defbool_val(info->u.hvm.pae);
-        no_incr_generationid = !libxl_defbool_val(info->u.hvm.incr_generationid);
-        callbacks->toolstack_restore = libxl__toolstack_restore;
-        callbacks->data = gc;
-        break;
-    case LIBXL_DOMAIN_TYPE_PV:
-        hvm = 0;
-        superpages = 0;
-        pae = 1;
-        no_incr_generationid = 0;
-        break;
-    default:
-        return ERROR_INVAL;
-    }
-    rc = xc_domain_restore(ctx->xch, fd, domid,
-                           state->store_port, &state->store_mfn,
-                           state->store_domid, state->console_port,
-                           &state->console_mfn, state->console_domid,
-                           hvm, pae, superpages, no_incr_generationid,
-                           &state->vm_generationid_addr, callbacks);
-    if ( rc ) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "restoring domain");
-        return ERROR_FAIL;
-    }
-    return 0;
-}
-
 static int libxl__domain_suspend_common_switch_qemu_logdirty
                                (int domid, unsigned int enable, void *data)
 {
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b67e317..ae4b99d 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -46,6 +46,7 @@
 
 #include <xenstore.h>
 #include <xenctrl.h>
+#include <xenguest.h>
 
 #include "xentoollog.h"
 
@@ -779,10 +780,8 @@ _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
                                  xs_transaction_t trans);
 
-_hidden int libxl__domain_restore_common(libxl__gc *gc, uint32_t domid,
-                                         libxl_domain_build_info *info,
-                                         libxl__domain_build_state *state,
-                                         int fd);
+_hidden int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
+                                     uint32_t size, void *data);
 _hidden const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_suspend_device_model(libxl__gc *gc, uint32_t domid);
 _hidden int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid);
@@ -1900,6 +1899,7 @@ struct libxl__domain_create_state {
     libxl__stub_dm_spawn_state dmss;
         /* If we're not doing stubdom, we use only dmss.dm,
          * for the non-stubdom device model. */
+    struct restore_callbacks callbacks;
 };
 
 /*----- Domain suspend (save) functions -----*/
@@ -1909,6 +1909,17 @@ _hidden int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
                                          int live, int debug,
                                          const libxl_domain_remus_info *r_info);
 
+/* calls libxl__xc_domain_restore_done when done */
+_hidden void libxl__xc_domain_restore(libxl__egc *egc,
+                                      libxl__domain_create_state *dcs,
+                                      int hvm, int pae, int superpages,
+                                      int no_incr_generationid);
+/* If rc==0 then retval is the return value from xc_domain_save
+ * and errnoval is the errno value it provided.
+ * If rc!=0, retval and errnoval are undefined. */
+_hidden void libxl__xc_domain_restore_done(libxl__egc *egc,
+                                           libxl__domain_create_state *dcs,
+                                           int rc, int retval, int errnoval);
 
 
 /*
diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
new file mode 100644
index 0000000..2f8db9f
--- /dev/null
+++ b/tools/libxl/libxl_save_callout.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2012      Citrix Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h"
+
+#include "libxl_internal.h"
+
+void libxl__xc_domain_restore(libxl__egc *egc, libxl__domain_create_state *dcs,
+                              int hvm, int pae, int superpages,
+                              int no_incr_generationid)
+{
+    STATE_AO_GC(dcs->ao);
+
+    /* Convenience aliases */
+    const uint32_t domid = dcs->guest_domid;
+    const int restore_fd = dcs->restore_fd;
+    libxl__domain_build_state *const state = &dcs->build_state;
+
+    int r = xc_domain_restore(CTX->xch, restore_fd, domid,
+                              state->store_port, &state->store_mfn,
+                              state->store_domid, state->console_port,
+                              &state->console_mfn, state->console_domid,
+                              hvm, pae, superpages, no_incr_generationid,
+                              &state->vm_generationid_addr, &dcs->callbacks);
+    libxl__xc_domain_restore_done(egc, dcs, 0, r, errno);
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlak-0000gI-LI; Wed, 30 May 2012 16:17:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000aw-PB
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58853] by server-12.bemta-5.messagelabs.com id
	EC/97-20635-52846CF4; Wed, 30 May 2012 16:17:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10629 invoked from network); 30 May 2012 16:17:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743838"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hb-J4; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vM-G5;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:40 +0100
Message-ID: <1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix data"
	facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This will be used to write the qemu data banner to the save/migration
stream.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_aoutils.c  |   15 +++++++++++++++
 tools/libxl/libxl_internal.h |    6 ++++++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
index ee0df57..208b34b 100644
--- a/tools/libxl/libxl_aoutils.c
+++ b/tools/libxl/libxl_aoutils.c
@@ -74,6 +74,21 @@ static void datacopier_check_state(libxl__egc *egc, libxl__datacopier_state *dc)
     }
 }
 
+void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
+                                  const void *data, size_t len)
+{
+    libxl__datacopier_buf *buf;
+
+    assert(len < dc->maxsz - dc->used);
+
+    buf = libxl__zalloc(0, sizeof(*buf) - sizeof(buf->buf) + len);
+    buf->used = len;
+    memcpy(buf->buf, data, len);
+
+    dc->used += len;
+    LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
+}
+
 static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
                                 int fd, short events, short revents) {
     libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, toread);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 8f4f45d..b41e72f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
 _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
+/* Inserts literal data into the output stream.
+ * May safely be used only immediately after libxl__datacopier_start.
+ * (But may be called multiple times.)  The data is copied.
+ * NB exceeding maxsz will fail an assertion! */
+_hidden void libxl__datacopier_prefixdata(libxl__egc*, libxl__datacopier_state*,
+                                          const void *data, size_t len);
 
 /*----- Save/restore helper (used by creation and suspend) -----*/
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlal-0000gc-0Q; Wed, 30 May 2012 16:17:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlag-0000ax-0G
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:42 +0000
Received: from [85.158.139.83:58876] by server-9.bemta-5.messagelabs.com id
	EC/85-27779-52846CF4; Wed, 30 May 2012 16:17:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27362 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743841"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004HY-GJ; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vF-Dd;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:38 +0100
Message-ID: <1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked and
	libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These useful utility functions make dealing with xenstore a little
less painful.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_internal.h |   38 +++++++++++++++++++++
 tools/libxl/libxl_xshelp.c   |   76 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index e4c3f34..ee7f66a 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -498,6 +498,44 @@ _hidden bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t,
 
 _hidden char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid);
 
+
+/*----- "checked" xenstore access functions -----*/
+/* Each of these functions will check that it succeeded; if it
+ * fails it logs and returns ERROR_FAIL.
+ */
+
+/* On success, *result_out came from the gc.
+ * On error, *result_out is undefined.
+ * ENOENT counts as success but sets *result_out=0
+ */
+int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
+                           const char *path, const char **result_out);
+
+/* Does not include a trailing null.
+ * May usefully be combined with GCSPRINTF if the format string
+ * behaviour of libxl__xs_write is desirable. */
+int libxl__xs_write_checked(libxl__gc *gc, xs_transaction_t t,
+                            const char *path, const char *string);
+
+/* ENOENT is not an error (even if the parent directories don't exist) */
+int libxl__xs_rm_checked(libxl__gc *gc, xs_transaction_t t, const char *path);
+
+/* Transaction functions, best used together.
+ * The caller should initialise *t to 0 (XBT_NULL) before calling start.
+ * Each function leaves *t!=0 iff the transaction needs cleaning up.
+ *
+ * libxl__xs_transaction_commit returns:
+ *   <0  failure - a libxl error code
+ *   +1  commit conflict; transaction has been destroyed and caller
+ *        must go round again (call _start again and retry)
+ *    0  commited successfully
+ */
+int libxl__xs_transaction_start(libxl__gc *gc, xs_transaction_t *t);
+int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t);
+void libxl__xs_transaction_abort(libxl__gc *gc, xs_transaction_t *t);
+
+
+
 /*
  * This is a recursive delete, from top to bottom. What this function does
  * is remove empty folders that contained the deleted entry.
diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c
index c5b5364..5f359bc 100644
--- a/tools/libxl/libxl_xshelp.c
+++ b/tools/libxl/libxl_xshelp.c
@@ -135,6 +135,82 @@ char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid)
     return s;
 }
 
+int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
+                           const char *path, const char **result_out)
+{
+    char *result = libxl__xs_read(gc, t, path);
+    if (!result) {
+        if (errno != ENOENT) {
+            LOGE(ERROR, "xenstore read failed: `%s'", path);
+            return ERROR_FAIL;
+        }
+    }
+    *result_out = result;
+    return 0;
+}
+
+int libxl__xs_write_checked(libxl__gc *gc, xs_transaction_t t,
+                            const char *path, const char *string)
+{
+    size_t length = strlen(string);
+    if (!xs_write(CTX->xsh, t, path, string, length)) {
+        LOGE(ERROR, "xenstore write failed: `%s' = `%s'", path, string);
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+int libxl__xs_rm_checked(libxl__gc *gc, xs_transaction_t t, const char *path)
+{
+    if (!xs_rm(CTX->xsh, t, path)) {
+        if (errno == ENOENT)
+            return 0;
+
+        LOGE(ERROR, "xenstore rm failed: `%s'", path);
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+int libxl__xs_transaction_start(libxl__gc *gc, xs_transaction_t *t)
+{
+    assert(!*t);
+    *t = xs_transaction_start(CTX->xsh);
+    if (!*t) {
+        LOGE(ERROR, "could not create xenstore transaction");
+        return ERROR_FAIL;
+    }
+    return 0;
+}
+
+int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t)
+{
+    assert(*t);
+
+    if (!xs_transaction_end(CTX->xsh, *t, 0)) {
+        if (errno == EAGAIN)
+            return +1;
+
+        *t = 0;
+        LOGE(ERROR, "could not commit xenstore transacton");
+        return ERROR_FAIL;
+    }
+
+    *t = 0;
+    return 0;
+}
+
+void libxl__xs_transaction_abort(libxl__gc *gc, xs_transaction_t *t)
+{
+    if (!*t)
+        return;
+
+    if (!xs_transaction_end(CTX->xsh, *t, 1))
+        LOGE(ERROR, "could not abort xenstore transacton");
+
+    *t = 0;
+}
+
 int libxl__xs_path_cleanup(libxl__gc *gc, xs_transaction_t t, char *user_path)
 {
     unsigned int nb = 0;
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaj-0000fG-PE; Wed, 30 May 2012 16:17:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000ax-D3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58739] by server-9.bemta-5.messagelabs.com id
	A5/75-27779-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!9
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10671 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hp-SB; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vh-PK;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:45 +0100
Message-ID: <1338394606-22693-15-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 14/15] libxl: do not leak spawned middle children
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__spawn_spawn would, when libxl__spawn_detach was called, make
the spawn become idle immediately.  However it still has a child
process which needs to be waited for: the `detachable' spawned
child.

This is wrong because the ultimate in-libxl caller may return to the
application, with a child process still forked but not reaped libxl
contrary to the documented behaviour of libxl.

Instead, replace libxl__spawn_detach with libxl__spawn_initiate_detach
which is asynchronous.  The detachable spawned children are abolished;
instead, we defer calling back to the in-libxl user until the middle
child has been reaped.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dm.c       |   14 ++++-
 tools/libxl/libxl_exec.c     |  124 ++++++++++++++++++++++++------------------
 tools/libxl/libxl_internal.h |   40 +++++++-------
 3 files changed, 103 insertions(+), 75 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index d987347..284847a 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -904,6 +904,8 @@ static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
 static void device_model_startup_failed(libxl__egc *egc,
                                         libxl__spawn_state *spawn);
+static void device_model_detached(libxl__egc *egc,
+                                  libxl__spawn_state *spawn);
 
 /* our "next step" function, called from those callbacks and elsewhere */
 static void device_model_spawn_outcome(libxl__egc *egc,
@@ -1011,6 +1013,7 @@ retry_transaction:
     spawn->midproc_cb = libxl__spawn_record_pid;
     spawn->confirm_cb = device_model_confirm;
     spawn->failure_cb = device_model_startup_failed;
+    spawn->detached_cb = device_model_detached;
 
     rc = libxl__spawn_spawn(egc, spawn);
     if (rc < 0)
@@ -1044,9 +1047,7 @@ static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
     if (strcmp(xsdata, "running"))
         return;
 
-    libxl__spawn_detach(gc, spawn);
-
-    device_model_spawn_outcome(egc, dmss, 0);
+    libxl__spawn_initiate_detach(gc, spawn);
 }
 
 static void device_model_startup_failed(libxl__egc *egc,
@@ -1056,6 +1057,13 @@ static void device_model_startup_failed(libxl__egc *egc,
     device_model_spawn_outcome(egc, dmss, ERROR_FAIL);
 }
 
+static void device_model_detached(libxl__egc *egc,
+                                  libxl__spawn_state *spawn)
+{
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(spawn, *dmss, spawn);
+    device_model_spawn_outcome(egc, dmss, 0);
+}
+
 static void device_model_spawn_outcome(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int rc)
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index 082bf44..bb85682 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -238,15 +238,16 @@ err:
 /*
  * Full set of possible states of a libxl__spawn_state and its _detachable:
  *
- *               ss->        ss->        ss->    | ssd->       ssd->
- *               timeout     xswatch     ssd     |  mid         ss
- *  - Undefined   undef       undef       no     |  -           -
- *  - Idle        Idle        Idle        no     |  -           -
- *  - Active      Active      Active      yes    |  Active      yes
- *  - Partial     Active/Idle Active/Idle maybe  |  Active/Idle yes  (if exists)
- *  - Detached    -           -           -      |  Active      no
+ *                   detaching failed  mid     timeout      xswatch          
+ *  - Undefined         undef   undef   -        undef        undef
+ *  - Idle              any     any     Idle     Idle         Idle
+ *  - Attached OK       0       0       Active   Active       Active
+ *  - Attached Failed   0       1       Active   Idle         Idle
+ *  - Detaching         1       maybe   Active   Idle         Idle
+ *  - Partial           any     any     Idle     Active/Idle  Active/Idle
  *
- * When in state Detached, the middle process has been sent a SIGKILL.
+ * When in states Detaching or Attached Failed, the middle process has
+ * been sent a SIGKILL.
  */
 
 /* Event callbacks. */
@@ -257,19 +258,18 @@ static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
 static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
                                pid_t pid, int status);
 
-/* Precondition: Partial.  Results: Detached. */
+/* Precondition: Partial.  Results: Idle. */
 static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss);
 
-/* Precondition: Partial; caller has logged failure reason.
- * Results: Caller notified of failure;
- *  after return, ss may be completely invalid as caller may reuse it */
-static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss);
+/* Precondition: Attached or Detaching; caller has logged failure reason.
+ * Results: Detaching, or Attached Failing */
+static void spawn_fail(libxl__egc *egc, libxl__spawn_state *ss);
 
 void libxl__spawn_init(libxl__spawn_state *ss)
 {
+    libxl__ev_child_init(&ss->mid);
     libxl__ev_time_init(&ss->timeout);
     libxl__ev_xswatch_init(&ss->xswatch);
-    ss->ssd = 0;
 }
 
 int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
@@ -280,8 +280,7 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
     int status, rc;
 
     libxl__spawn_init(ss);
-    ss->ssd = libxl__zalloc(0, sizeof(*ss->ssd));
-    libxl__ev_child_init(&ss->ssd->mid);
+    ss->failed = ss->detaching = 0;
 
     rc = libxl__ev_time_register_rel(gc, &ss->timeout,
                                      spawn_timeout, ss->timeout_ms);
@@ -291,7 +290,7 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
                                     spawn_watch_event, ss->xspath);
     if (rc) goto out_err;
 
-    pid_t middle = libxl__ev_child_fork(gc, &ss->ssd->mid, spawn_middle_death);
+    pid_t middle = libxl__ev_child_fork(gc, &ss->mid, spawn_middle_death);
     if (middle ==-1) { rc = ERROR_FAIL; goto out_err; }
 
     if (middle) {
@@ -344,54 +343,64 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
 
 static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss)
 {
+    assert(!libxl__ev_child_inuse(&ss->mid));
+    libxl__ev_time_deregister(gc, &ss->timeout);
+    libxl__ev_xswatch_deregister(gc, &ss->xswatch);
+}
+
+static void spawn_detach(libxl__gc *gc, libxl__spawn_state *ss)
+/* Precondition: Attached or Detaching, but caller must have just set
+ * at least one of detaching or failed.
+ * Results: Detaching or Attached Failed */
+{
     int r;
 
+    assert(libxl__ev_child_inuse(&ss->mid));
     libxl__ev_time_deregister(gc, &ss->timeout);
     libxl__ev_xswatch_deregister(gc, &ss->xswatch);
 
-    libxl__spawn_state_detachable *ssd = ss->ssd;
-    if (ssd) {
-        if (libxl__ev_child_inuse(&ssd->mid)) {
-            pid_t child = ssd->mid.pid;
-            r = kill(child, SIGKILL);
-            if (r && errno != ESRCH)
-                LOGE(WARN, "%s: failed to kill intermediate child (pid=%lu)",
-                     ss->what, (unsigned long)child);
-        }
+    pid_t child = ss->mid.pid;
+    r = kill(child, SIGKILL);
+    if (r && errno != ESRCH)
+        LOGE(WARN, "%s: failed to kill intermediate child (pid=%lu)",
+             ss->what, (unsigned long)child);
+}
 
-        /* disconnect the ss and ssd from each other */
-        ssd->ss = 0;
-        ss->ssd = 0;
-    }
+void libxl__spawn_initiate_detach(libxl__gc *gc, libxl__spawn_state *ss)
+{
+    ss->detaching = 1;
+    spawn_detach(gc, ss);
 }
 
-static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss)
+static void spawn_fail(libxl__egc *egc, libxl__spawn_state *ss)
+/* Caller must have logged.  Must be last thing in calling function,
+ * as it may make the callback.  Precondition: Attached or Detaching. */
 {
     EGC_GC;
-    spawn_cleanup(gc, ss);
-    ss->failure_cb(egc, ss); /* must be last; callback may do anything to ss */
+    ss->failed = 1;
+    spawn_detach(gc, ss);
 }
 
 static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
                           const struct timeval *requested_abs)
 {
-    /* Before event, was Active; is now Partial. */
+    /* Before event, was Attached. */
     EGC_GC;
     libxl__spawn_state *ss = CONTAINER_OF(ev, *ss, timeout);
     LOG(ERROR, "%s: startup timed out", ss->what);
-    spawn_failed(egc, ss); /* must be last */
+    spawn_fail(egc, ss); /* must be last */
 }
 
 static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
                               const char *watch_path, const char *event_path)
 {
-    /* On entry, is Active. */
+    /* On entry, is Attached. */
     EGC_GC;
     libxl__spawn_state *ss = CONTAINER_OF(xsw, *ss, xswatch);
     char *p = libxl__xs_read(gc, 0, ss->xspath);
     if (!p && errno != ENOENT) {
         LOG(ERROR, "%s: xenstore read of %s failed", ss->what, ss->xspath);
-        spawn_failed(egc, ss); /* must be last */
+        spawn_fail(egc, ss); /* must be last */
         return;
     }
     ss->confirm_cb(egc, ss, p); /* must be last */
@@ -399,20 +408,22 @@ static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
 
 static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
                                pid_t pid, int status)
-    /* Before event, was Active or Detached;
-     * is now Active or Detached except that ssd->mid is Idle */
+    /* On entry, is Attached or Detaching */
 {
     EGC_GC;
-    libxl__spawn_state_detachable *ssd = CONTAINER_OF(childw, *ssd, mid);
-    libxl__spawn_state *ss = ssd->ss;
-
-    if (!WIFEXITED(status)) {
+    libxl__spawn_state *ss = CONTAINER_OF(childw, *ss, mid);
+
+    if ((ss->failed || ss->detaching) &&
+        ((WIFEXITED(status) && WEXITSTATUS(status)==0) ||
+         (WIFSIGNALED(status) && WTERMSIG(status)==SIGKILL))) {
+        /* as expected */
+    } else if (!WIFEXITED(status)) {
+        int loglevel = ss->detaching ? XTL_WARN : XTL_ERROR;
         const char *what =
-            GCSPRINTF("%s intermediate process (startup monitor)",
-                      ss ? ss->what : "(detached)");
-        int loglevel = ss ? XTL_ERROR : XTL_WARN;
+            GCSPRINTF("%s intermediate process (startup monitor)", ss->what);
         libxl_report_child_exitstatus(CTX, loglevel, what, pid, status);
-    } else if (ss) { /* otherwise it was supposed to be a daemon by now */
+        ss->failed = 1;
+    } else {
         if (!status)
             LOG(ERROR, "%s [%ld]: unexpectedly exited with exit status 0,"
                 " when we were waiting for it to confirm startup",
@@ -430,15 +441,22 @@ static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
                 LOG(ERROR, "%s [%ld]: died during startup due to unknown fatal"
                     " signal number %d", ss->what, (unsigned long)pid, sig);
         }
-        ss->ssd = 0; /* detatch the ssd to make the ss be in state Partial */
-        spawn_failed(egc, ss); /* must be last use of ss */
+        ss->failed = 1;
     }
-    free(ssd);
-}
 
-void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state *ss)
-{
     spawn_cleanup(gc, ss);
+
+    if (ss->failed && !ss->detaching) {
+        ss->failure_cb(egc, ss); /* must be last */
+        return;
+    }
+    
+    if (ss->failed && ss->detaching)
+        LOG(WARN,"%s underlying machinery seemed to fail,"
+            " but its function seems to have been successful", ss->what);
+
+    assert(ss->detaching);
+    ss->detached_cb(egc, ss);
 }
 
 /*
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 22013fd..2592caa 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -981,8 +981,8 @@ _hidden int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid);
  *
  * Higher-level double-fork and separate detach eg as for device models
  *
- * Each libxl__spawn_state is in one of the conventional states
- *    Undefined, Idle, Active
+ * Each libxl__spawn_state is in one of these states
+ *    Undefined, Idle, Attached, Detaching
  */
 
 typedef struct libxl__obsolete_spawn_starting libxl__spawn_starting;
@@ -1023,15 +1023,15 @@ _hidden void libxl__spawn_init(libxl__spawn_state*);
  * intermediate or final child; an error message will have been
  * logged.
  *
- * confirm_cb and failure_cb will not be called reentrantly from
- * within libxl__spawn_spawn.
+ * confirm_cb, failure_cb and detached_cb will not be called
+ * reentrantly from within libxl__spawn_spawn.
  *
  * what: string describing the spawned process, used for logging
  *
  * Logs errors.  A copy of "what" is taken. 
  * Return values:
  *  < 0   error, *spawn is now Idle and need not be detached
- *   +1   caller is the parent, *spawn is Active and must eventually be detached
+ *   +1   caller is the parent, *spawn is Attached and must be detached
  *    0   caller is now the inner child, should probably call libxl__exec
  *
  * The spawn state must be Undefined or Idle on entry.
@@ -1039,12 +1039,15 @@ _hidden void libxl__spawn_init(libxl__spawn_state*);
 _hidden int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *spawn);
 
 /*
- * libxl__spawn_detach - Detaches the daemonic child.
+ * libxl__spawn_request_detach - Detaches the daemonic child.
  *
  * Works by killing the intermediate process from spawn_spawn.
  * After this function returns, failures of either child are no
  * longer reported via failure_cb.
  *
+ * This is not synchronous: there will be a further callback when
+ * the detach is complete.
+ *
  * If called before the inner child has been created, this may prevent
  * it from running at all.  Thus this should be called only when the
  * inner child has notified that it is ready.  Normally it will be
@@ -1052,10 +1055,10 @@ _hidden int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *spawn);
  *
  * Logs errors.
  *
- * The spawn state must be Active or Idle on entry and will be Idle
+ * The spawn state must be Attached entry and will be Detaching
  * on return.
  */
-_hidden void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state*);
+_hidden void libxl__spawn_initiate_detach(libxl__gc *gc, libxl__spawn_state*);
 
 /*
  * If successful, this should return 0.
@@ -1092,15 +1095,11 @@ typedef void libxl__spawn_failure_cb(libxl__egc*, libxl__spawn_state*);
 typedef void libxl__spawn_confirm_cb(libxl__egc*, libxl__spawn_state*,
                                      const char *xsdata);
 
-typedef struct {
-    /* Private to the spawn implementation.
-     */
-    /* This separate struct, from malloc, allows us to "detach"
-     * the child and reap it later, when our user has gone
-     * away and freed its libxl__spawn_state */
-    struct libxl__spawn_state *ss;
-    libxl__ev_child mid;
-} libxl__spawn_state_detachable;
+/*
+ * Called when the detach (requested by libxl__spawn_initiate_detach) has
+ * completed.  On entry to the callback the spawn state is Idle.
+ */
+typedef void libxl__spawn_detached_cb(libxl__egc*, libxl__spawn_state*);
 
 struct libxl__spawn_state {
     /* must be filled in by user and remain valid */
@@ -1112,15 +1111,18 @@ struct libxl__spawn_state {
     libxl__spawn_midproc_cb *midproc_cb;
     libxl__spawn_failure_cb *failure_cb;
     libxl__spawn_confirm_cb *confirm_cb;
+    libxl__spawn_detached_cb *detached_cb;
 
     /* remaining fields are private to libxl_spawn_... */
+    int detaching; /* we are in Detaching */
+    int failed; /* might be true whenever we are not Idle */
+    libxl__ev_child mid; /* always in use whenever we are not Idle */
     libxl__ev_time timeout;
     libxl__ev_xswatch xswatch;
-    libxl__spawn_state_detachable *ssd;
 };
 
 static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
-    { return !!ss->ssd; }
+    { return libxl__ev_child_inuse(&ss->mid); }
 
 /*
  * libxl_spawner_record_pid - Record given pid in xenstore
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaj-0000ev-D3; Wed, 30 May 2012 16:17:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000b1-3N
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.143.35:5695] by server-2.bemta-4.messagelabs.com id
	BE/38-11595-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338394659!14846154!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6419 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743845"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hh-Mo; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vZ-KS;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:43 +0100
Message-ID: <1338394606-22693-13-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 12/15] xl: Handle return value from
	libxl_domain_suspend correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl_domain_suspend returns a libxl error code.  So it must be
wrapped with MUST and not CHK_ERRNO.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 9b4a80e..8c5f147 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2820,7 +2820,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
 
     save_domain_core_writeconfig(fd, filename, config_data, config_len);
 
-    CHK_ERRNO(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
+    MUST(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
     close(fd);
 
     if (checkpoint)
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlah-0000dM-EZ; Wed, 30 May 2012 16:17:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000aw-Nt
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:44127] by server-12.bemta-5.messagelabs.com id
	B6/87-20635-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10643 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743842"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hg-LF; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vV-JC;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:42 +0100
Message-ID: <1338394606-22693-12-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 11/15] libxl: Make
	libxl__domain_save_device_model asynchronous
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c      |   98 +++++++++++++++++++++++++++--------------
 tools/libxl/libxl_internal.h |    1 +
 2 files changed, 65 insertions(+), 34 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 708304e..2b9e886 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -1147,15 +1147,17 @@ out:
     domain_suspend_done(egc, dss, rc);
 }
 
+static void save_device_model_datacopier_done(libxl__egc *egc,
+     libxl__datacopier_state *dc, int onwrite, int errnoval);
+
 void libxl__domain_save_device_model(libxl__egc *egc,
                                      libxl__domain_suspend_state *dss,
                                      libxl__save_device_model_cb *callback)
 {
     STATE_AO_GC(dss->ao);
-    int rc, fd2 = -1, c;
-    char buf[1024];
     struct stat st;
     uint32_t qemu_state_len;
+    int rc;
 
     dss->save_dm_callback = callback;
 
@@ -1163,49 +1165,77 @@ void libxl__domain_save_device_model(libxl__egc *egc,
     const char *const filename = dss->dm_savefile;
     const int fd = dss->fd;
 
-    if (stat(filename, &st) < 0)
+    libxl__datacopier_state *dc = &dss->save_dm_datacopier;
+    memset(dc, 0, sizeof(*dc));
+    dc->readwhat = GCSPRINTF("qemu save file %s", filename);
+    dc->ao = ao;
+    dc->readfd = -1;
+    dc->writefd = fd;
+    dc->maxsz = INT_MAX;
+    dc->copywhat = GCSPRINTF("qemu save file for domain %"PRIu32, dss->domid);
+    dc->writewhat = "save/migration stream";
+    dc->callback = save_device_model_datacopier_done;
+
+    dc->readfd = open(filename, O_RDONLY);
+    if (dc->readfd < 0) {
+        LOGE(ERROR, "unable to open %s", dc->readwhat);
+        goto out;
+    }
+
+    if (fstat(dc->readfd, &st))
     {
-        LOG(ERROR, "Unable to stat qemu save file\n");
-        rc = ERROR_FAIL;
+        LOGE(ERROR, "unable to fstat %s", dc->readwhat);
+        goto out;
+    }
+
+    if (!S_ISREG(st.st_mode)) {
+        LOG(ERROR, "%s is not a plain file!", dc->readwhat);
         goto out;
     }
 
     qemu_state_len = st.st_size;
     LOG(DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
 
-    rc = libxl_write_exactly(CTX, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
-                              "saved-state file", "qemu signature");
-    if (rc)
-        goto out;
+    rc = libxl__datacopier_start(dc);
+    if (rc) goto out;
 
-    rc = libxl_write_exactly(CTX, fd, &qemu_state_len, sizeof(qemu_state_len),
-                            "saved-state file", "saved-state length");
-    if (rc)
-        goto out;
+    libxl__datacopier_prefixdata(egc, dc,
+                                 QEMU_SIGNATURE, strlen(QEMU_SIGNATURE));
 
-    fd2 = open(filename, O_RDONLY);
-    if (fd2 < 0) {
-        LOGE(ERROR, "Unable to open qemu save file\n");
-        goto out;
-    }
-    while ((c = read(fd2, buf, sizeof(buf))) != 0) {
-        if (c < 0) {
-            if (errno == EINTR)
-                continue;
-            rc = errno;
-            goto out;
-        }
-        rc = libxl_write_exactly(
-            CTX, fd, buf, c, "saved-state file", "qemu state");
-        if (rc)
-            goto out;
+    libxl__datacopier_prefixdata(egc, dc,
+                                 &qemu_state_len, sizeof(qemu_state_len));
+    return;
+
+ out:
+    save_device_model_datacopier_done(egc, dc, -1, 0);
+}
+
+static void save_device_model_datacopier_done(libxl__egc *egc,
+     libxl__datacopier_state *dc, int onwrite, int errnoval)
+{
+    libxl__domain_suspend_state *dss =
+        CONTAINER_OF(dc, *dss, save_dm_datacopier);
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const char *const filename = dss->dm_savefile;
+    int our_rc = 0;
+    int rc;
+
+    libxl__datacopier_kill(dc);
+
+    if (onwrite || errnoval)
+        our_rc = ERROR_FAIL;
+
+    if (dc->readfd >= 0) {
+        close(dc->readfd);
+        dc->readfd = -1;
     }
-    rc = 0;
-out:
-    if (fd2 >= 0) close(fd2);
-    unlink(filename);
 
-    dss->save_dm_callback(egc, dss, rc);
+    rc = libxl__remove_file(gc, filename);
+    if (!our_rc) our_rc = rc;
+
+    dss->save_dm_callback(egc, dss, our_rc);
 }
 
 static void domain_suspend_done(libxl__egc *egc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index cc4c731..22013fd 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1900,6 +1900,7 @@ struct libxl__domain_suspend_state {
     libxl__logdirty_switch logdirty;
     /* private for libxl__domain_save_device_model */
     libxl__save_device_model_cb *save_dm_callback;
+    libxl__datacopier_state save_dm_datacopier;
 };
 
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlah-0000d1-1C; Wed, 30 May 2012 16:17:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000ap-I2
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:58705] by server-10.bemta-5.messagelabs.com id
	5F/2D-22179-32846CF4; Wed, 30 May 2012 16:17:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338394657!31177079!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27372 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743844"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hk-Pg; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vd-MS;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:44 +0100
Message-ID: <1338394606-22693-14-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 13/15] libxl: do not leak dms->saved_state
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This was allocated using asprintf but never freed.  Use GCSPRINTF.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_create.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index eaf378b..6babdb0 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -739,9 +739,8 @@ void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
         goto out;
 
     if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
-        ret = asprintf(&state->saved_state,
+        state->saved_state = GCSPRINTF(
                        XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
-        ret = (ret < 0) ? ERROR_FAIL : 0;
     }
 
 out:
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlak-0000gI-LI; Wed, 30 May 2012 16:17:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000aw-PB
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58853] by server-12.bemta-5.messagelabs.com id
	EC/97-20635-52846CF4; Wed, 30 May 2012 16:17:41 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10629 invoked from network); 30 May 2012 16:17:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743838"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hb-J4; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vM-G5;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:40 +0100
Message-ID: <1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix data"
	facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This will be used to write the qemu data banner to the save/migration
stream.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_aoutils.c  |   15 +++++++++++++++
 tools/libxl/libxl_internal.h |    6 ++++++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
index ee0df57..208b34b 100644
--- a/tools/libxl/libxl_aoutils.c
+++ b/tools/libxl/libxl_aoutils.c
@@ -74,6 +74,21 @@ static void datacopier_check_state(libxl__egc *egc, libxl__datacopier_state *dc)
     }
 }
 
+void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
+                                  const void *data, size_t len)
+{
+    libxl__datacopier_buf *buf;
+
+    assert(len < dc->maxsz - dc->used);
+
+    buf = libxl__zalloc(0, sizeof(*buf) - sizeof(buf->buf) + len);
+    buf->used = len;
+    memcpy(buf->buf, data, len);
+
+    dc->used += len;
+    LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
+}
+
 static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
                                 int fd, short events, short revents) {
     libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, toread);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 8f4f45d..b41e72f 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
 _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
 _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
 
+/* Inserts literal data into the output stream.
+ * May safely be used only immediately after libxl__datacopier_start.
+ * (But may be called multiple times.)  The data is copied.
+ * NB exceeding maxsz will fail an assertion! */
+_hidden void libxl__datacopier_prefixdata(libxl__egc*, libxl__datacopier_state*,
+                                          const void *data, size_t len);
 
 /*----- Save/restore helper (used by creation and suspend) -----*/
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlaj-0000fG-PE; Wed, 30 May 2012 16:17:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlaf-0000ax-D3
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:41 +0000
Received: from [85.158.139.83:58739] by server-9.bemta-5.messagelabs.com id
	A5/75-27779-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!9
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10671 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hp-SB; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vh-PK;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:16:45 +0100
Message-ID: <1338394606-22693-15-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 14/15] libxl: do not leak spawned middle children
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

libxl__spawn_spawn would, when libxl__spawn_detach was called, make
the spawn become idle immediately.  However it still has a child
process which needs to be waited for: the `detachable' spawned
child.

This is wrong because the ultimate in-libxl caller may return to the
application, with a child process still forked but not reaped libxl
contrary to the documented behaviour of libxl.

Instead, replace libxl__spawn_detach with libxl__spawn_initiate_detach
which is asynchronous.  The detachable spawned children are abolished;
instead, we defer calling back to the in-libxl user until the middle
child has been reaped.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dm.c       |   14 ++++-
 tools/libxl/libxl_exec.c     |  124 ++++++++++++++++++++++++------------------
 tools/libxl/libxl_internal.h |   40 +++++++-------
 3 files changed, 103 insertions(+), 75 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index d987347..284847a 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -904,6 +904,8 @@ static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
                                  const char *xsdata);
 static void device_model_startup_failed(libxl__egc *egc,
                                         libxl__spawn_state *spawn);
+static void device_model_detached(libxl__egc *egc,
+                                  libxl__spawn_state *spawn);
 
 /* our "next step" function, called from those callbacks and elsewhere */
 static void device_model_spawn_outcome(libxl__egc *egc,
@@ -1011,6 +1013,7 @@ retry_transaction:
     spawn->midproc_cb = libxl__spawn_record_pid;
     spawn->confirm_cb = device_model_confirm;
     spawn->failure_cb = device_model_startup_failed;
+    spawn->detached_cb = device_model_detached;
 
     rc = libxl__spawn_spawn(egc, spawn);
     if (rc < 0)
@@ -1044,9 +1047,7 @@ static void device_model_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
     if (strcmp(xsdata, "running"))
         return;
 
-    libxl__spawn_detach(gc, spawn);
-
-    device_model_spawn_outcome(egc, dmss, 0);
+    libxl__spawn_initiate_detach(gc, spawn);
 }
 
 static void device_model_startup_failed(libxl__egc *egc,
@@ -1056,6 +1057,13 @@ static void device_model_startup_failed(libxl__egc *egc,
     device_model_spawn_outcome(egc, dmss, ERROR_FAIL);
 }
 
+static void device_model_detached(libxl__egc *egc,
+                                  libxl__spawn_state *spawn)
+{
+    libxl__dm_spawn_state *dmss = CONTAINER_OF(spawn, *dmss, spawn);
+    device_model_spawn_outcome(egc, dmss, 0);
+}
+
 static void device_model_spawn_outcome(libxl__egc *egc,
                                        libxl__dm_spawn_state *dmss,
                                        int rc)
diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
index 082bf44..bb85682 100644
--- a/tools/libxl/libxl_exec.c
+++ b/tools/libxl/libxl_exec.c
@@ -238,15 +238,16 @@ err:
 /*
  * Full set of possible states of a libxl__spawn_state and its _detachable:
  *
- *               ss->        ss->        ss->    | ssd->       ssd->
- *               timeout     xswatch     ssd     |  mid         ss
- *  - Undefined   undef       undef       no     |  -           -
- *  - Idle        Idle        Idle        no     |  -           -
- *  - Active      Active      Active      yes    |  Active      yes
- *  - Partial     Active/Idle Active/Idle maybe  |  Active/Idle yes  (if exists)
- *  - Detached    -           -           -      |  Active      no
+ *                   detaching failed  mid     timeout      xswatch          
+ *  - Undefined         undef   undef   -        undef        undef
+ *  - Idle              any     any     Idle     Idle         Idle
+ *  - Attached OK       0       0       Active   Active       Active
+ *  - Attached Failed   0       1       Active   Idle         Idle
+ *  - Detaching         1       maybe   Active   Idle         Idle
+ *  - Partial           any     any     Idle     Active/Idle  Active/Idle
  *
- * When in state Detached, the middle process has been sent a SIGKILL.
+ * When in states Detaching or Attached Failed, the middle process has
+ * been sent a SIGKILL.
  */
 
 /* Event callbacks. */
@@ -257,19 +258,18 @@ static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
 static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
                                pid_t pid, int status);
 
-/* Precondition: Partial.  Results: Detached. */
+/* Precondition: Partial.  Results: Idle. */
 static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss);
 
-/* Precondition: Partial; caller has logged failure reason.
- * Results: Caller notified of failure;
- *  after return, ss may be completely invalid as caller may reuse it */
-static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss);
+/* Precondition: Attached or Detaching; caller has logged failure reason.
+ * Results: Detaching, or Attached Failing */
+static void spawn_fail(libxl__egc *egc, libxl__spawn_state *ss);
 
 void libxl__spawn_init(libxl__spawn_state *ss)
 {
+    libxl__ev_child_init(&ss->mid);
     libxl__ev_time_init(&ss->timeout);
     libxl__ev_xswatch_init(&ss->xswatch);
-    ss->ssd = 0;
 }
 
 int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
@@ -280,8 +280,7 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
     int status, rc;
 
     libxl__spawn_init(ss);
-    ss->ssd = libxl__zalloc(0, sizeof(*ss->ssd));
-    libxl__ev_child_init(&ss->ssd->mid);
+    ss->failed = ss->detaching = 0;
 
     rc = libxl__ev_time_register_rel(gc, &ss->timeout,
                                      spawn_timeout, ss->timeout_ms);
@@ -291,7 +290,7 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
                                     spawn_watch_event, ss->xspath);
     if (rc) goto out_err;
 
-    pid_t middle = libxl__ev_child_fork(gc, &ss->ssd->mid, spawn_middle_death);
+    pid_t middle = libxl__ev_child_fork(gc, &ss->mid, spawn_middle_death);
     if (middle ==-1) { rc = ERROR_FAIL; goto out_err; }
 
     if (middle) {
@@ -344,54 +343,64 @@ int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *ss)
 
 static void spawn_cleanup(libxl__gc *gc, libxl__spawn_state *ss)
 {
+    assert(!libxl__ev_child_inuse(&ss->mid));
+    libxl__ev_time_deregister(gc, &ss->timeout);
+    libxl__ev_xswatch_deregister(gc, &ss->xswatch);
+}
+
+static void spawn_detach(libxl__gc *gc, libxl__spawn_state *ss)
+/* Precondition: Attached or Detaching, but caller must have just set
+ * at least one of detaching or failed.
+ * Results: Detaching or Attached Failed */
+{
     int r;
 
+    assert(libxl__ev_child_inuse(&ss->mid));
     libxl__ev_time_deregister(gc, &ss->timeout);
     libxl__ev_xswatch_deregister(gc, &ss->xswatch);
 
-    libxl__spawn_state_detachable *ssd = ss->ssd;
-    if (ssd) {
-        if (libxl__ev_child_inuse(&ssd->mid)) {
-            pid_t child = ssd->mid.pid;
-            r = kill(child, SIGKILL);
-            if (r && errno != ESRCH)
-                LOGE(WARN, "%s: failed to kill intermediate child (pid=%lu)",
-                     ss->what, (unsigned long)child);
-        }
+    pid_t child = ss->mid.pid;
+    r = kill(child, SIGKILL);
+    if (r && errno != ESRCH)
+        LOGE(WARN, "%s: failed to kill intermediate child (pid=%lu)",
+             ss->what, (unsigned long)child);
+}
 
-        /* disconnect the ss and ssd from each other */
-        ssd->ss = 0;
-        ss->ssd = 0;
-    }
+void libxl__spawn_initiate_detach(libxl__gc *gc, libxl__spawn_state *ss)
+{
+    ss->detaching = 1;
+    spawn_detach(gc, ss);
 }
 
-static void spawn_failed(libxl__egc *egc, libxl__spawn_state *ss)
+static void spawn_fail(libxl__egc *egc, libxl__spawn_state *ss)
+/* Caller must have logged.  Must be last thing in calling function,
+ * as it may make the callback.  Precondition: Attached or Detaching. */
 {
     EGC_GC;
-    spawn_cleanup(gc, ss);
-    ss->failure_cb(egc, ss); /* must be last; callback may do anything to ss */
+    ss->failed = 1;
+    spawn_detach(gc, ss);
 }
 
 static void spawn_timeout(libxl__egc *egc, libxl__ev_time *ev,
                           const struct timeval *requested_abs)
 {
-    /* Before event, was Active; is now Partial. */
+    /* Before event, was Attached. */
     EGC_GC;
     libxl__spawn_state *ss = CONTAINER_OF(ev, *ss, timeout);
     LOG(ERROR, "%s: startup timed out", ss->what);
-    spawn_failed(egc, ss); /* must be last */
+    spawn_fail(egc, ss); /* must be last */
 }
 
 static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
                               const char *watch_path, const char *event_path)
 {
-    /* On entry, is Active. */
+    /* On entry, is Attached. */
     EGC_GC;
     libxl__spawn_state *ss = CONTAINER_OF(xsw, *ss, xswatch);
     char *p = libxl__xs_read(gc, 0, ss->xspath);
     if (!p && errno != ENOENT) {
         LOG(ERROR, "%s: xenstore read of %s failed", ss->what, ss->xspath);
-        spawn_failed(egc, ss); /* must be last */
+        spawn_fail(egc, ss); /* must be last */
         return;
     }
     ss->confirm_cb(egc, ss, p); /* must be last */
@@ -399,20 +408,22 @@ static void spawn_watch_event(libxl__egc *egc, libxl__ev_xswatch *xsw,
 
 static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
                                pid_t pid, int status)
-    /* Before event, was Active or Detached;
-     * is now Active or Detached except that ssd->mid is Idle */
+    /* On entry, is Attached or Detaching */
 {
     EGC_GC;
-    libxl__spawn_state_detachable *ssd = CONTAINER_OF(childw, *ssd, mid);
-    libxl__spawn_state *ss = ssd->ss;
-
-    if (!WIFEXITED(status)) {
+    libxl__spawn_state *ss = CONTAINER_OF(childw, *ss, mid);
+
+    if ((ss->failed || ss->detaching) &&
+        ((WIFEXITED(status) && WEXITSTATUS(status)==0) ||
+         (WIFSIGNALED(status) && WTERMSIG(status)==SIGKILL))) {
+        /* as expected */
+    } else if (!WIFEXITED(status)) {
+        int loglevel = ss->detaching ? XTL_WARN : XTL_ERROR;
         const char *what =
-            GCSPRINTF("%s intermediate process (startup monitor)",
-                      ss ? ss->what : "(detached)");
-        int loglevel = ss ? XTL_ERROR : XTL_WARN;
+            GCSPRINTF("%s intermediate process (startup monitor)", ss->what);
         libxl_report_child_exitstatus(CTX, loglevel, what, pid, status);
-    } else if (ss) { /* otherwise it was supposed to be a daemon by now */
+        ss->failed = 1;
+    } else {
         if (!status)
             LOG(ERROR, "%s [%ld]: unexpectedly exited with exit status 0,"
                 " when we were waiting for it to confirm startup",
@@ -430,15 +441,22 @@ static void spawn_middle_death(libxl__egc *egc, libxl__ev_child *childw,
                 LOG(ERROR, "%s [%ld]: died during startup due to unknown fatal"
                     " signal number %d", ss->what, (unsigned long)pid, sig);
         }
-        ss->ssd = 0; /* detatch the ssd to make the ss be in state Partial */
-        spawn_failed(egc, ss); /* must be last use of ss */
+        ss->failed = 1;
     }
-    free(ssd);
-}
 
-void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state *ss)
-{
     spawn_cleanup(gc, ss);
+
+    if (ss->failed && !ss->detaching) {
+        ss->failure_cb(egc, ss); /* must be last */
+        return;
+    }
+    
+    if (ss->failed && ss->detaching)
+        LOG(WARN,"%s underlying machinery seemed to fail,"
+            " but its function seems to have been successful", ss->what);
+
+    assert(ss->detaching);
+    ss->detached_cb(egc, ss);
 }
 
 /*
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 22013fd..2592caa 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -981,8 +981,8 @@ _hidden int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid);
  *
  * Higher-level double-fork and separate detach eg as for device models
  *
- * Each libxl__spawn_state is in one of the conventional states
- *    Undefined, Idle, Active
+ * Each libxl__spawn_state is in one of these states
+ *    Undefined, Idle, Attached, Detaching
  */
 
 typedef struct libxl__obsolete_spawn_starting libxl__spawn_starting;
@@ -1023,15 +1023,15 @@ _hidden void libxl__spawn_init(libxl__spawn_state*);
  * intermediate or final child; an error message will have been
  * logged.
  *
- * confirm_cb and failure_cb will not be called reentrantly from
- * within libxl__spawn_spawn.
+ * confirm_cb, failure_cb and detached_cb will not be called
+ * reentrantly from within libxl__spawn_spawn.
  *
  * what: string describing the spawned process, used for logging
  *
  * Logs errors.  A copy of "what" is taken. 
  * Return values:
  *  < 0   error, *spawn is now Idle and need not be detached
- *   +1   caller is the parent, *spawn is Active and must eventually be detached
+ *   +1   caller is the parent, *spawn is Attached and must be detached
  *    0   caller is now the inner child, should probably call libxl__exec
  *
  * The spawn state must be Undefined or Idle on entry.
@@ -1039,12 +1039,15 @@ _hidden void libxl__spawn_init(libxl__spawn_state*);
 _hidden int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *spawn);
 
 /*
- * libxl__spawn_detach - Detaches the daemonic child.
+ * libxl__spawn_request_detach - Detaches the daemonic child.
  *
  * Works by killing the intermediate process from spawn_spawn.
  * After this function returns, failures of either child are no
  * longer reported via failure_cb.
  *
+ * This is not synchronous: there will be a further callback when
+ * the detach is complete.
+ *
  * If called before the inner child has been created, this may prevent
  * it from running at all.  Thus this should be called only when the
  * inner child has notified that it is ready.  Normally it will be
@@ -1052,10 +1055,10 @@ _hidden int libxl__spawn_spawn(libxl__egc *egc, libxl__spawn_state *spawn);
  *
  * Logs errors.
  *
- * The spawn state must be Active or Idle on entry and will be Idle
+ * The spawn state must be Attached entry and will be Detaching
  * on return.
  */
-_hidden void libxl__spawn_detach(libxl__gc *gc, libxl__spawn_state*);
+_hidden void libxl__spawn_initiate_detach(libxl__gc *gc, libxl__spawn_state*);
 
 /*
  * If successful, this should return 0.
@@ -1092,15 +1095,11 @@ typedef void libxl__spawn_failure_cb(libxl__egc*, libxl__spawn_state*);
 typedef void libxl__spawn_confirm_cb(libxl__egc*, libxl__spawn_state*,
                                      const char *xsdata);
 
-typedef struct {
-    /* Private to the spawn implementation.
-     */
-    /* This separate struct, from malloc, allows us to "detach"
-     * the child and reap it later, when our user has gone
-     * away and freed its libxl__spawn_state */
-    struct libxl__spawn_state *ss;
-    libxl__ev_child mid;
-} libxl__spawn_state_detachable;
+/*
+ * Called when the detach (requested by libxl__spawn_initiate_detach) has
+ * completed.  On entry to the callback the spawn state is Idle.
+ */
+typedef void libxl__spawn_detached_cb(libxl__egc*, libxl__spawn_state*);
 
 struct libxl__spawn_state {
     /* must be filled in by user and remain valid */
@@ -1112,15 +1111,18 @@ struct libxl__spawn_state {
     libxl__spawn_midproc_cb *midproc_cb;
     libxl__spawn_failure_cb *failure_cb;
     libxl__spawn_confirm_cb *confirm_cb;
+    libxl__spawn_detached_cb *detached_cb;
 
     /* remaining fields are private to libxl_spawn_... */
+    int detaching; /* we are in Detaching */
+    int failed; /* might be true whenever we are not Idle */
+    libxl__ev_child mid; /* always in use whenever we are not Idle */
     libxl__ev_time timeout;
     libxl__ev_xswatch xswatch;
-    libxl__spawn_state_detachable *ssd;
 };
 
 static inline int libxl__spawn_inuse(libxl__spawn_state *ss)
-    { return !!ss->ssd; }
+    { return libxl__ev_child_inuse(&ss->mid); }
 
 /*
  * libxl_spawner_record_pid - Record given pid in xenstore
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:17:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZlah-0000dM-EZ; Wed, 30 May 2012 16:17:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZlae-0000aw-Nt
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:17:40 +0000
Received: from [85.158.139.83:44127] by server-12.bemta-5.messagelabs.com id
	B6/87-20635-42846CF4; Wed, 30 May 2012 16:17:40 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338394656!30499439!7
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10643 invoked from network); 30 May 2012 16:17:39 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:17:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12743842"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 16:16:52 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 17:16:52 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1SZlZr-0004Hg-LF; Wed, 30 May 2012 16:16:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1SZlZr-0005vV-JC;
	Wed, 30 May 2012 17:16:51 +0100
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Date: Wed, 30 May 2012 17:16:42 +0100
Message-ID: <1338394606-22693-12-git-send-email-ian.jackson@eu.citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
MIME-Version: 1.0
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 11/15] libxl: Make
	libxl__domain_save_device_model asynchronous
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_dom.c      |   98 +++++++++++++++++++++++++++--------------
 tools/libxl/libxl_internal.h |    1 +
 2 files changed, 65 insertions(+), 34 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index 708304e..2b9e886 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -1147,15 +1147,17 @@ out:
     domain_suspend_done(egc, dss, rc);
 }
 
+static void save_device_model_datacopier_done(libxl__egc *egc,
+     libxl__datacopier_state *dc, int onwrite, int errnoval);
+
 void libxl__domain_save_device_model(libxl__egc *egc,
                                      libxl__domain_suspend_state *dss,
                                      libxl__save_device_model_cb *callback)
 {
     STATE_AO_GC(dss->ao);
-    int rc, fd2 = -1, c;
-    char buf[1024];
     struct stat st;
     uint32_t qemu_state_len;
+    int rc;
 
     dss->save_dm_callback = callback;
 
@@ -1163,49 +1165,77 @@ void libxl__domain_save_device_model(libxl__egc *egc,
     const char *const filename = dss->dm_savefile;
     const int fd = dss->fd;
 
-    if (stat(filename, &st) < 0)
+    libxl__datacopier_state *dc = &dss->save_dm_datacopier;
+    memset(dc, 0, sizeof(*dc));
+    dc->readwhat = GCSPRINTF("qemu save file %s", filename);
+    dc->ao = ao;
+    dc->readfd = -1;
+    dc->writefd = fd;
+    dc->maxsz = INT_MAX;
+    dc->copywhat = GCSPRINTF("qemu save file for domain %"PRIu32, dss->domid);
+    dc->writewhat = "save/migration stream";
+    dc->callback = save_device_model_datacopier_done;
+
+    dc->readfd = open(filename, O_RDONLY);
+    if (dc->readfd < 0) {
+        LOGE(ERROR, "unable to open %s", dc->readwhat);
+        goto out;
+    }
+
+    if (fstat(dc->readfd, &st))
     {
-        LOG(ERROR, "Unable to stat qemu save file\n");
-        rc = ERROR_FAIL;
+        LOGE(ERROR, "unable to fstat %s", dc->readwhat);
+        goto out;
+    }
+
+    if (!S_ISREG(st.st_mode)) {
+        LOG(ERROR, "%s is not a plain file!", dc->readwhat);
         goto out;
     }
 
     qemu_state_len = st.st_size;
     LOG(DEBUG, "Qemu state is %d bytes\n", qemu_state_len);
 
-    rc = libxl_write_exactly(CTX, fd, QEMU_SIGNATURE, strlen(QEMU_SIGNATURE),
-                              "saved-state file", "qemu signature");
-    if (rc)
-        goto out;
+    rc = libxl__datacopier_start(dc);
+    if (rc) goto out;
 
-    rc = libxl_write_exactly(CTX, fd, &qemu_state_len, sizeof(qemu_state_len),
-                            "saved-state file", "saved-state length");
-    if (rc)
-        goto out;
+    libxl__datacopier_prefixdata(egc, dc,
+                                 QEMU_SIGNATURE, strlen(QEMU_SIGNATURE));
 
-    fd2 = open(filename, O_RDONLY);
-    if (fd2 < 0) {
-        LOGE(ERROR, "Unable to open qemu save file\n");
-        goto out;
-    }
-    while ((c = read(fd2, buf, sizeof(buf))) != 0) {
-        if (c < 0) {
-            if (errno == EINTR)
-                continue;
-            rc = errno;
-            goto out;
-        }
-        rc = libxl_write_exactly(
-            CTX, fd, buf, c, "saved-state file", "qemu state");
-        if (rc)
-            goto out;
+    libxl__datacopier_prefixdata(egc, dc,
+                                 &qemu_state_len, sizeof(qemu_state_len));
+    return;
+
+ out:
+    save_device_model_datacopier_done(egc, dc, -1, 0);
+}
+
+static void save_device_model_datacopier_done(libxl__egc *egc,
+     libxl__datacopier_state *dc, int onwrite, int errnoval)
+{
+    libxl__domain_suspend_state *dss =
+        CONTAINER_OF(dc, *dss, save_dm_datacopier);
+    STATE_AO_GC(dss->ao);
+
+    /* Convenience aliases */
+    const char *const filename = dss->dm_savefile;
+    int our_rc = 0;
+    int rc;
+
+    libxl__datacopier_kill(dc);
+
+    if (onwrite || errnoval)
+        our_rc = ERROR_FAIL;
+
+    if (dc->readfd >= 0) {
+        close(dc->readfd);
+        dc->readfd = -1;
     }
-    rc = 0;
-out:
-    if (fd2 >= 0) close(fd2);
-    unlink(filename);
 
-    dss->save_dm_callback(egc, dss, rc);
+    rc = libxl__remove_file(gc, filename);
+    if (!our_rc) our_rc = rc;
+
+    dss->save_dm_callback(egc, dss, our_rc);
 }
 
 static void domain_suspend_done(libxl__egc *egc,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index cc4c731..22013fd 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1900,6 +1900,7 @@ struct libxl__domain_suspend_state {
     libxl__logdirty_switch logdirty;
     /* private for libxl__domain_save_device_model */
     libxl__save_device_model_cb *save_dm_callback;
+    libxl__datacopier_state save_dm_datacopier;
 };
 
 
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:48:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZm4C-00039k-L4; Wed, 30 May 2012 16:48:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZm4B-00039c-BL
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:48:11 +0000
Received: from [85.158.138.51:35305] by server-4.bemta-3.messagelabs.com id
	7F/1F-32504-A4F46CF4; Wed, 30 May 2012 16:48:10 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338396489!23605474!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17137 invoked from network); 30 May 2012 16:48:10 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:48:10 -0000
Received: by eaak12 with SMTP id k12so7968eaa.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 09:48:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=2L1j8+Od+NCmq465Gr9CvD2G9QHsj23ubEwXIlHNoPM=;
	b=VUc9pxz4AL5uj34T6HTA3LUpRf+WyQZOWf5dUvi51SJIpW3uIWTi2eHnT5ryx7CX3H
	QxXYxmNEgNDwvOabdepjSfpsFl+xv1OKxZJEOJaH9d7K6ucrRUXUbz6lm/iPZUKE1LX7
	Qwqrg8b+fb4LqZDc9YnG0937XAn4F7ixXZBcgRFYraRK3rF/Z+A/bfzfNtuqLnA1DDnT
	faOrc6690/5qezmH1KOtgp1tVMhxSGp1/uZahurpwS96+cXmJq+WLmikvxs8M06hf1qu
	BvhQk9DqwTyOMXMLkD0MuIwDkUDEwAGbO4FRgvlvsIYUNeZIUQOXMGv5Dra/Sel/0uN4
	qv7A==
Received: by 10.14.127.12 with SMTP id c12mr7175654eei.90.1338396489522;
	Wed, 30 May 2012 09:48:09 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm782687eef.10.2012.05.30.09.48.03
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 09:48:08 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 30 May 2012 17:48:00 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBEC0DD0.3487C%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86/EDD: check MBR for BIOS magic before
	considering signature valid
Thread-Index: Ac0+g/jV6j8ViW8y006DTPDhOUFN+g==
In-Reply-To: <4FC65A930200007800086F39@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86/EDD: check MBR for BIOS magic before
 considering signature valid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 16:36, "Jan Beulich" <JBeulich@suse.com> wrote:

> Signed-off-by: Jan Beulich <JBeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/boot/edd.S
> +++ b/xen/arch/x86/boot/edd.S
> @@ -53,12 +53,16 @@ edd_mbr_sig_read:
>          jc      edd_mbr_sig_done                # on failure, we're done.
>          cmpb    $0, %ah                         # some BIOSes do not set CF
>          jne     edd_mbr_sig_done                # on failure, we're done.
> +        cmpw    $0xaa55, bootsym(boot_edd_info)+0x1fe
> +        jne     .Ledd_mbr_sig_next
>          movl    bootsym(boot_edd_info)+EDD_MBR_SIG_OFFSET,%eax
>          movb    %dl, (%bx)                      # store BIOS drive number
>          movl    %eax, 4(%bx)                    # store signature from MBR
>          incb    bootsym(boot_mbr_signature_nr)  # note that we stored
> something
> -        incb    %dl                             # increment to next device
>          addw    $8, %bx                         # increment sig buffer ptr
> +.Ledd_mbr_sig_next:
> +        incb    %dl                             # increment to next device
> +        jz      edd_mbr_sig_done
>          cmpb    $EDD_MBR_SIG_MAX,bootsym(boot_mbr_signature_nr)
>          jb      edd_mbr_sig_read
>  edd_mbr_sig_done:
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:48:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZm4C-00039k-L4; Wed, 30 May 2012 16:48:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1SZm4B-00039c-BL
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:48:11 +0000
Received: from [85.158.138.51:35305] by server-4.bemta-3.messagelabs.com id
	7F/1F-32504-A4F46CF4; Wed, 30 May 2012 16:48:10 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338396489!23605474!1
X-Originating-IP: [209.85.215.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17137 invoked from network); 30 May 2012 16:48:10 -0000
Received: from mail-ey0-f173.google.com (HELO mail-ey0-f173.google.com)
	(209.85.215.173)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:48:10 -0000
Received: by eaak12 with SMTP id k12so7968eaa.32
	for <xen-devel@lists.xen.org>; Wed, 30 May 2012 09:48:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=2L1j8+Od+NCmq465Gr9CvD2G9QHsj23ubEwXIlHNoPM=;
	b=VUc9pxz4AL5uj34T6HTA3LUpRf+WyQZOWf5dUvi51SJIpW3uIWTi2eHnT5ryx7CX3H
	QxXYxmNEgNDwvOabdepjSfpsFl+xv1OKxZJEOJaH9d7K6ucrRUXUbz6lm/iPZUKE1LX7
	Qwqrg8b+fb4LqZDc9YnG0937XAn4F7ixXZBcgRFYraRK3rF/Z+A/bfzfNtuqLnA1DDnT
	faOrc6690/5qezmH1KOtgp1tVMhxSGp1/uZahurpwS96+cXmJq+WLmikvxs8M06hf1qu
	BvhQk9DqwTyOMXMLkD0MuIwDkUDEwAGbO4FRgvlvsIYUNeZIUQOXMGv5Dra/Sel/0uN4
	qv7A==
Received: by 10.14.127.12 with SMTP id c12mr7175654eei.90.1338396489522;
	Wed, 30 May 2012 09:48:09 -0700 (PDT)
Received: from [192.168.1.84] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm782687eef.10.2012.05.30.09.48.03
	(version=SSLv3 cipher=OTHER); Wed, 30 May 2012 09:48:08 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.32.0.111121
Date: Wed, 30 May 2012 17:48:00 +0100
From: Keir Fraser <keir.xen@gmail.com>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBEC0DD0.3487C%keir.xen@gmail.com>
Thread-Topic: [Xen-devel] [PATCH] x86/EDD: check MBR for BIOS magic before
	considering signature valid
Thread-Index: Ac0+g/jV6j8ViW8y006DTPDhOUFN+g==
In-Reply-To: <4FC65A930200007800086F39@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] x86/EDD: check MBR for BIOS magic before
 considering signature valid
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/05/2012 16:36, "Jan Beulich" <JBeulich@suse.com> wrote:

> Signed-off-by: Jan Beulich <JBeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/arch/x86/boot/edd.S
> +++ b/xen/arch/x86/boot/edd.S
> @@ -53,12 +53,16 @@ edd_mbr_sig_read:
>          jc      edd_mbr_sig_done                # on failure, we're done.
>          cmpb    $0, %ah                         # some BIOSes do not set CF
>          jne     edd_mbr_sig_done                # on failure, we're done.
> +        cmpw    $0xaa55, bootsym(boot_edd_info)+0x1fe
> +        jne     .Ledd_mbr_sig_next
>          movl    bootsym(boot_edd_info)+EDD_MBR_SIG_OFFSET,%eax
>          movb    %dl, (%bx)                      # store BIOS drive number
>          movl    %eax, 4(%bx)                    # store signature from MBR
>          incb    bootsym(boot_mbr_signature_nr)  # note that we stored
> something
> -        incb    %dl                             # increment to next device
>          addw    $8, %bx                         # increment sig buffer ptr
> +.Ledd_mbr_sig_next:
> +        incb    %dl                             # increment to next device
> +        jz      edd_mbr_sig_done
>          cmpb    $EDD_MBR_SIG_MAX,bootsym(boot_mbr_signature_nr)
>          jb      edd_mbr_sig_read
>  edd_mbr_sig_done:
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:56:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:56:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmBa-0003N9-IA; Wed, 30 May 2012 16:55:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZmBY-0003N2-R1
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 16:55:49 +0000
Received: from [85.158.138.51:16668] by server-12.bemta-3.messagelabs.com id
	E5/D3-29860-41156CF4; Wed, 30 May 2012 16:55:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338396946!29943905!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8111 invoked from network); 30 May 2012 16:55:47 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 16:55:47 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UGtT4H000488
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 16:55:30 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UGtQZx022411
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 16:55:27 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UGtO7M006189; Wed, 30 May 2012 11:55:24 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 09:55:24 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C4436402B7; Wed, 30 May 2012 12:48:36 -0400 (EDT)
Date: Wed, 30 May 2012 12:48:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120530164836.GB12109@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
	<4FC6540E0200007800086EF7@nat28.tlf.novell.com>
	<4FC63996.9040706@zytor.com>
	<4FC65A6D0200007800086F35@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC65A6D0200007800086F35@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:35:41PM +0100, Jan Beulich wrote:
> >>> On 30.05.12 at 17:15, "H. Peter Anvin" <hpa@zytor.com> wrote:
> > On 05/30/2012 08:08 AM, Jan Beulich wrote:
> >> 
> >> Xen does trap and emulate (possibly just ignore) both instructions.
> >> 
> > 
> > Then why the fsck is there paravirt_crap on this?
> 
> I have no clue. Jeremy, Konrad?

No idea. The git 132ec92f says:

Borislav Petkov <petkovbb@googlemail.com>
Date:   Mon Aug 31 09:50:09 2009 +0200

    x86, msr: Add rd/wrmsr interfaces with preset registers

    native_{rdmsr,wrmsr}_safe_regs are two new interfaces which allow
    presetting of a subset of eight x86 GPRs before executing the rd/wrmsr
    instructions. This is needed at least on AMD K8 for accessing an erratum
    workaround MSR.

    Originally based on an idea by H. Peter Anvin.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:56:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:56:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmBa-0003N9-IA; Wed, 30 May 2012 16:55:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZmBY-0003N2-R1
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 16:55:49 +0000
Received: from [85.158.138.51:16668] by server-12.bemta-3.messagelabs.com id
	E5/D3-29860-41156CF4; Wed, 30 May 2012 16:55:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338396946!29943905!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8111 invoked from network); 30 May 2012 16:55:47 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 16:55:47 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UGtT4H000488
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 16:55:30 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UGtQZx022411
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 16:55:27 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UGtO7M006189; Wed, 30 May 2012 11:55:24 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 09:55:24 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id C4436402B7; Wed, 30 May 2012 12:48:36 -0400 (EDT)
Date: Wed, 30 May 2012 12:48:36 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120530164836.GB12109@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<20120530143937.GF3207@phenom.dumpdata.com>
	<4FC633A7.1050406@zytor.com>
	<4FC6540E0200007800086EF7@nat28.tlf.novell.com>
	<4FC63996.9040706@zytor.com>
	<4FC65A6D0200007800086F35@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC65A6D0200007800086F35@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, stable@vger.kernel.org#3.4+,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:35:41PM +0100, Jan Beulich wrote:
> >>> On 30.05.12 at 17:15, "H. Peter Anvin" <hpa@zytor.com> wrote:
> > On 05/30/2012 08:08 AM, Jan Beulich wrote:
> >> 
> >> Xen does trap and emulate (possibly just ignore) both instructions.
> >> 
> > 
> > Then why the fsck is there paravirt_crap on this?
> 
> I have no clue. Jeremy, Konrad?

No idea. The git 132ec92f says:

Borislav Petkov <petkovbb@googlemail.com>
Date:   Mon Aug 31 09:50:09 2009 +0200

    x86, msr: Add rd/wrmsr interfaces with preset registers

    native_{rdmsr,wrmsr}_safe_regs are two new interfaces which allow
    presetting of a subset of eight x86 GPRs before executing the rd/wrmsr
    instructions. This is needed at least on AMD K8 for accessing an erratum
    workaround MSR.

    Originally based on an idea by H. Peter Anvin.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:57:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmDK-0003RK-Fb; Wed, 30 May 2012 16:57:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SZmDJ-0003RE-Jh
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:57:37 +0000
Received: from [193.109.254.147:48278] by server-5.bemta-14.messagelabs.com id
	86/4C-06171-08156CF4; Wed, 30 May 2012 16:57:36 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338397055!4105322!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25561 invoked from network); 30 May 2012 16:57:36 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:57:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196929990"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 12:57:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:56:47 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SZmCV-0007Fj-3c;
	Wed, 30 May 2012 17:56:47 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Xen Devel <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:56:45 +0100
Message-ID: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>
Subject: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The script pygrub is currently installed in the wrong location. Instead of
/usr/lib/xen/bin, the script is installed in $destdir/usr/lib/xen/bin.
$(DESTDIR) is apply twice.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/pygrub/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index f8c5262..af2b8a5 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -12,7 +12,7 @@ build:
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
 		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
-		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+		--install-scripts=$(PRIVATE_BINDIR) --force
 	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
 	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 16:57:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 16:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmDK-0003RK-Fb; Wed, 30 May 2012 16:57:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@citrix.com>) id 1SZmDJ-0003RE-Jh
	for xen-devel@lists.xen.org; Wed, 30 May 2012 16:57:37 +0000
Received: from [193.109.254.147:48278] by server-5.bemta-14.messagelabs.com id
	86/4C-06171-08156CF4; Wed, 30 May 2012 16:57:36 +0000
X-Env-Sender: anthony.perard@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338397055!4105322!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTYwOTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25561 invoked from network); 30 May 2012 16:57:36 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 16:57:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330923600"; d="scan'208";a="196929990"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 12:57:00 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 12:56:47 -0400
Received: from [10.80.3.61] (helo=perard.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<anthony.perard@citrix.com>)	id 1SZmCV-0007Fj-3c;
	Wed, 30 May 2012 17:56:47 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Xen Devel <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 17:56:45 +0100
Message-ID: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: Anthony PERARD <anthony.perard@citrix.com>
Subject: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The script pygrub is currently installed in the wrong location. Instead of
/usr/lib/xen/bin, the script is installed in $destdir/usr/lib/xen/bin.
$(DESTDIR) is apply twice.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/pygrub/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index f8c5262..af2b8a5 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -12,7 +12,7 @@ build:
 install: all
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
 		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
-		--install-scripts=$(DESTDIR)/$(PRIVATE_BINDIR) --force
+		--install-scripts=$(PRIVATE_BINDIR) --force
 	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BINDIR)/pygrub
 	$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
 	ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:22:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:22:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmap-0003r3-Jl; Wed, 30 May 2012 17:21:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZmao-0003qy-7D
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:21:54 +0000
Received: from [85.158.143.99:45562] by server-3.bemta-4.messagelabs.com id
	9A/62-04252-13756CF4; Wed, 30 May 2012 17:21:53 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338398510!28259807!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12985 invoked from network); 30 May 2012 17:21:51 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-216.messagelabs.com with SMTP;
	30 May 2012 17:21:51 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 10:21:49 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149580951"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 10:21:49 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 10:21:49 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 01:21:47 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPoiwGrw1RQ/LHECPexwcwXKY3Q==
Date: Wed, 30 May 2012 17:21:47 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FCA4F@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
	<20120530152948.GD4771@aftab.osrc.amd.com>
In-Reply-To: <20120530152948.GD4771@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Wed, May 30, 2012 at 03:20:03PM +0000, Liu, Jinsong wrote:
>>>> IMO currently there are 2 options:
>>>> 1). use the original approach (implicitly redirect /dev/mcelog to
>>>> xen_mce_chrdev_device) --> what point of this approach do you think
>>>> unreasonable? It just remove a 'static' from native mce code! 2).
>>>> use another /dev/xen-mcelog interface, with another misc minor
>>>> '226' 
>>> 
>>> The 2) is no good.
>>> 
>>> 3) What about moving the corresponding other users (so
>>> threshold_init_device), to be at late_initcall and the mce to be at
>>> late_initcall_sync
>> 
>> I can try, but only if Boris would not jump out.
>> and it can only be tested by Boris at AMD platform :(
> 
> Sure, I'll test it.
> 
> However, it should be a separate patch, not merged with this one.
> 
> So, I don't see anything speaking against making
> threshold_init_device a late_initcall leading to the following order:
> 
> device_initcall <- xen
> device_initcall_sync <- arch/x86
> fs_initcall <- threshold_init_device

do you mean 'late_initcall <- threshold_init_device'?

> 
> and the "xen" line not happening on baremetal; which shouldn't change
> anything noticeably in the init-order mce-wise.
> 
> Also, add a comment at the end of mce_amd.c saying why
> threshold_init_device should be last.
> 

OK, good, we will use this approach, I will do it tomorrow morning.
Thanks Konrad and Boris's suggestion!


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:22:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:22:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmap-0003r3-Jl; Wed, 30 May 2012 17:21:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1SZmao-0003qy-7D
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:21:54 +0000
Received: from [85.158.143.99:45562] by server-3.bemta-4.messagelabs.com id
	9A/62-04252-13756CF4; Wed, 30 May 2012 17:21:53 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338398510!28259807!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQyNjk5\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12985 invoked from network); 30 May 2012 17:21:51 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-9.tower-216.messagelabs.com with SMTP;
	30 May 2012 17:21:51 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 10:21:49 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149580951"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 30 May 2012 10:21:49 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 10:21:49 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 01:21:47 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPoiwGrw1RQ/LHECPexwcwXKY3Q==
Date: Wed, 30 May 2012 17:21:47 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FCA4F@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
	<20120530152948.GD4771@aftab.osrc.amd.com>
In-Reply-To: <20120530152948.GD4771@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Wed, May 30, 2012 at 03:20:03PM +0000, Liu, Jinsong wrote:
>>>> IMO currently there are 2 options:
>>>> 1). use the original approach (implicitly redirect /dev/mcelog to
>>>> xen_mce_chrdev_device) --> what point of this approach do you think
>>>> unreasonable? It just remove a 'static' from native mce code! 2).
>>>> use another /dev/xen-mcelog interface, with another misc minor
>>>> '226' 
>>> 
>>> The 2) is no good.
>>> 
>>> 3) What about moving the corresponding other users (so
>>> threshold_init_device), to be at late_initcall and the mce to be at
>>> late_initcall_sync
>> 
>> I can try, but only if Boris would not jump out.
>> and it can only be tested by Boris at AMD platform :(
> 
> Sure, I'll test it.
> 
> However, it should be a separate patch, not merged with this one.
> 
> So, I don't see anything speaking against making
> threshold_init_device a late_initcall leading to the following order:
> 
> device_initcall <- xen
> device_initcall_sync <- arch/x86
> fs_initcall <- threshold_init_device

do you mean 'late_initcall <- threshold_init_device'?

> 
> and the "xen" line not happening on baremetal; which shouldn't change
> anything noticeably in the init-order mce-wise.
> 
> Also, add a comment at the end of mce_amd.c saying why
> threshold_init_device should be last.
> 

OK, good, we will use this approach, I will do it tomorrow morning.
Thanks Konrad and Boris's suggestion!


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:25:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:25:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmdv-0003wB-6v; Wed, 30 May 2012 17:25:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZmdt-0003w5-MG
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:25:05 +0000
Received: from [85.158.139.83:61675] by server-11.bemta-5.messagelabs.com id
	53/4C-12711-0F756CF4; Wed, 30 May 2012 17:25:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338398702!29682201!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4660 invoked from network); 30 May 2012 17:25:04 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 17:25:04 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UHOilk032732
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 17:24:45 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UHOhps026443
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 17:24:43 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UHOgSG027480; Wed, 30 May 2012 12:24:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 10:24:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E4782402B7; Wed, 30 May 2012 13:17:54 -0400 (EDT)
Date: Wed, 30 May 2012 13:17:54 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jacob Shin <jacob.shin@amd.com>
Message-ID: <20120530171754.GA5115@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530150334.GA13349@jshin-Toonie>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Yes, the following patch also fixed the crash for us:
> 
> Implement rdmsr_regs and wrmsr_regs for Xen pvops.

That needs more data. Such as the reason for it, the crash
tombstone, and an analysis of the bug.

But at this point I am not sure what we are going to do.

I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
function out altogether (so altering the amd_rdmsr... to use the
.rdmsr/.wrdmsr). At which point I think this would all work
just fine?

I am tempted to write a patch that checks all the pv-cpu-ops
to see if there are any that are NULL and throw a warning so
that this does not hit us in the future - to be at least more
proactive about this sort of thing.


> 
> Signed-off-by: Jacob Shin <jacob.shin@amd.com>
> Cc: stable@vger.kernel.org # 3.4+
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 75f33b2..f3ae5ec 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -945,9 +945,12 @@ static void xen_write_cr4(unsigned long cr4)
>  	native_write_cr4(cr4);
>  }
>  
> -static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
> +static int xen_wrmsr_safe_regs(u32 regs[8])
>  {
>  	int ret;
> +	unsigned int msr = regs[1];
> +	unsigned low = regs[0];
> +	unsigned high = regs[2];
>  
>  	ret = 0;
>  
> @@ -985,12 +988,23 @@ static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
>  		break;
>  
>  	default:
> -		ret = native_write_msr_safe(msr, low, high);
> +		ret = native_wrmsr_safe_regs(regs);
>  	}
>  
>  	return ret;
>  }
>  
> +static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
> +{
> +	u32 regs[8] = { 0 };
> +
> +	regs[0] = low;
> +	regs[1] = msr;
> +	regs[2] = high;
> +
> +	return xen_wrmsr_safe_regs(regs);
> +}
> +
>  void xen_setup_shared_info(void)
>  {
>  	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
> @@ -1116,7 +1130,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
>  	.wbinvd = native_wbinvd,
>  
>  	.read_msr = native_read_msr_safe,
> +	.rdmsr_regs = native_rdmsr_safe_regs,
>  	.write_msr = xen_write_msr_safe,
> +	.wrmsr_regs = xen_wrmsr_safe_regs,
>  	.read_tsc = native_read_tsc,
>  	.read_pmc = native_read_pmc,
>  
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:25:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:25:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmdv-0003wB-6v; Wed, 30 May 2012 17:25:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZmdt-0003w5-MG
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:25:05 +0000
Received: from [85.158.139.83:61675] by server-11.bemta-5.messagelabs.com id
	53/4C-12711-0F756CF4; Wed, 30 May 2012 17:25:04 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338398702!29682201!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4660 invoked from network); 30 May 2012 17:25:04 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 17:25:04 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4UHOilk032732
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 17:24:45 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4UHOhps026443
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 17:24:43 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4UHOgSG027480; Wed, 30 May 2012 12:24:42 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 10:24:42 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E4782402B7; Wed, 30 May 2012 13:17:54 -0400 (EDT)
Date: Wed, 30 May 2012 13:17:54 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jacob Shin <jacob.shin@amd.com>
Message-ID: <20120530171754.GA5115@phenom.dumpdata.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530150334.GA13349@jshin-Toonie>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> Yes, the following patch also fixed the crash for us:
> 
> Implement rdmsr_regs and wrmsr_regs for Xen pvops.

That needs more data. Such as the reason for it, the crash
tombstone, and an analysis of the bug.

But at this point I am not sure what we are going to do.

I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
function out altogether (so altering the amd_rdmsr... to use the
.rdmsr/.wrdmsr). At which point I think this would all work
just fine?

I am tempted to write a patch that checks all the pv-cpu-ops
to see if there are any that are NULL and throw a warning so
that this does not hit us in the future - to be at least more
proactive about this sort of thing.


> 
> Signed-off-by: Jacob Shin <jacob.shin@amd.com>
> Cc: stable@vger.kernel.org # 3.4+
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 75f33b2..f3ae5ec 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -945,9 +945,12 @@ static void xen_write_cr4(unsigned long cr4)
>  	native_write_cr4(cr4);
>  }
>  
> -static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
> +static int xen_wrmsr_safe_regs(u32 regs[8])
>  {
>  	int ret;
> +	unsigned int msr = regs[1];
> +	unsigned low = regs[0];
> +	unsigned high = regs[2];
>  
>  	ret = 0;
>  
> @@ -985,12 +988,23 @@ static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
>  		break;
>  
>  	default:
> -		ret = native_write_msr_safe(msr, low, high);
> +		ret = native_wrmsr_safe_regs(regs);
>  	}
>  
>  	return ret;
>  }
>  
> +static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
> +{
> +	u32 regs[8] = { 0 };
> +
> +	regs[0] = low;
> +	regs[1] = msr;
> +	regs[2] = high;
> +
> +	return xen_wrmsr_safe_regs(regs);
> +}
> +
>  void xen_setup_shared_info(void)
>  {
>  	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
> @@ -1116,7 +1130,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
>  	.wbinvd = native_wbinvd,
>  
>  	.read_msr = native_read_msr_safe,
> +	.rdmsr_regs = native_rdmsr_safe_regs,
>  	.write_msr = xen_write_msr_safe,
> +	.wrmsr_regs = xen_wrmsr_safe_regs,
>  	.read_tsc = native_read_tsc,
>  	.read_pmc = native_read_pmc,
>  
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:26:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:26:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmer-00040q-PO; Wed, 30 May 2012 17:26:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZmeq-00040e-CQ
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:26:04 +0000
Received: from [85.158.143.99:9025] by server-1.bemta-4.messagelabs.com id
	2E/EA-27869-B2856CF4; Wed, 30 May 2012 17:26:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338398762!29669017!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2490 invoked from network); 30 May 2012 17:26:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:26:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12745747"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:26:02 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:26:02 +0100
Message-ID: <1338398761.14877.17.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:26:01 +0100
In-Reply-To: <1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> Also provide typedefs for the nontrivial function callback types.

Are there any other uses of these type other than the one of each
inlined in the structs?

If not then I'm not sure this makes things clearer -- you now have to
look at both the callback struct and then go find the corresponding
typedef.

> Update the one provider of this callback, in libxl.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxc/xenguest.h  |   14 ++++++++++----
>  tools/libxl/libxl_dom.c |    4 ++--
>  2 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxc/xenguest.h b/tools/libxc/xenguest.h
> index 91d53f7..328a2a5 100644
> --- a/tools/libxc/xenguest.h
> +++ b/tools/libxc/xenguest.h
> @@ -31,6 +31,10 @@
>  #define X86_64_B_SIZE   64 
>  #define X86_32_B_SIZE   32
>  
> +typedef int xc_switch_qemu_logdirty_cb(int domid, unsigned enable, void *data);
> +typedef int xc_toolstack_save_cb(uint32_t domid, uint8_t **buf,
> +                                 uint32_t *len, void *data);
> +
>  /* callbacks provided by xc_domain_save */
>  struct save_callbacks {
>      /* Called after expiration of checkpoint interval,
> @@ -61,7 +65,7 @@ struct save_callbacks {
>      int (*checkpoint)(void* data);
>  
>      /* Enable qemu-dm logging dirty pages to xen */
> -    int (*switch_qemu_logdirty)(int domid, unsigned enable, void *data); /* HVM only */
> +    xc_switch_qemu_logdirty_cb *switch_qemu_logdirty; /* HVM only */
>  
>      /* Save toolstack specific data
>       * @param buf the buffer with the data to be saved
> @@ -69,7 +73,7 @@ struct save_callbacks {
>       * The callee allocates the buffer, the caller frees it (buffer must
>       * be free'able).
>       */
> -    int (*toolstack_save)(uint32_t domid, uint8_t **buf, uint32_t *len, void *data);
> +    xc_toolstack_save_cb *toolstack_save;
>  
>      /* to be provided as the last argument to each callback function */
>      void* data;
> @@ -89,11 +93,13 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter
>                     unsigned long vm_generationid_addr);
>  
> 
> +typedef int xc_toolstack_restore_cb(uint32_t domid, const uint8_t *buf,
> +                                    uint32_t size, void* data);
> +
>  /* callbacks provided by xc_domain_restore */
>  struct restore_callbacks {
>      /* callback to restore toolstack specific data */
> -    int (*toolstack_restore)(uint32_t domid, uint8_t *buf,
> -            uint32_t size, void* data);
> +    xc_toolstack_restore_cb *toolstack_restore;
>  
>      /* to be provided as the last argument to each callback function */
>      void* data;
> diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
> index 06dbc92..929fbf2 100644
> --- a/tools/libxl/libxl_dom.c
> +++ b/tools/libxl/libxl_dom.c
> @@ -465,13 +465,13 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
>              domid, phys_offset, node);
>  }
>  
> -static int libxl__toolstack_restore(uint32_t domid, uint8_t *buf,
> +static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
>          uint32_t size, void *data)
>  {
>      libxl__gc *gc = (libxl__gc *) data;
>      libxl_ctx *ctx = gc->owner;
>      int i, ret;
> -    uint8_t *ptr = buf;
> +    const uint8_t *ptr = buf;
>      uint32_t count = 0, version = 0;
>      struct libxl__physmap_info* pi;
>      char *xs_path;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:26:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:26:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmer-00040q-PO; Wed, 30 May 2012 17:26:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZmeq-00040e-CQ
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:26:04 +0000
Received: from [85.158.143.99:9025] by server-1.bemta-4.messagelabs.com id
	2E/EA-27869-B2856CF4; Wed, 30 May 2012 17:26:03 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338398762!29669017!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2490 invoked from network); 30 May 2012 17:26:03 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:26:03 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12745747"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:26:02 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:26:02 +0100
Message-ID: <1338398761.14877.17.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:26:01 +0100
In-Reply-To: <1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> Also provide typedefs for the nontrivial function callback types.

Are there any other uses of these type other than the one of each
inlined in the structs?

If not then I'm not sure this makes things clearer -- you now have to
look at both the callback struct and then go find the corresponding
typedef.

> Update the one provider of this callback, in libxl.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxc/xenguest.h  |   14 ++++++++++----
>  tools/libxl/libxl_dom.c |    4 ++--
>  2 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxc/xenguest.h b/tools/libxc/xenguest.h
> index 91d53f7..328a2a5 100644
> --- a/tools/libxc/xenguest.h
> +++ b/tools/libxc/xenguest.h
> @@ -31,6 +31,10 @@
>  #define X86_64_B_SIZE   64 
>  #define X86_32_B_SIZE   32
>  
> +typedef int xc_switch_qemu_logdirty_cb(int domid, unsigned enable, void *data);
> +typedef int xc_toolstack_save_cb(uint32_t domid, uint8_t **buf,
> +                                 uint32_t *len, void *data);
> +
>  /* callbacks provided by xc_domain_save */
>  struct save_callbacks {
>      /* Called after expiration of checkpoint interval,
> @@ -61,7 +65,7 @@ struct save_callbacks {
>      int (*checkpoint)(void* data);
>  
>      /* Enable qemu-dm logging dirty pages to xen */
> -    int (*switch_qemu_logdirty)(int domid, unsigned enable, void *data); /* HVM only */
> +    xc_switch_qemu_logdirty_cb *switch_qemu_logdirty; /* HVM only */
>  
>      /* Save toolstack specific data
>       * @param buf the buffer with the data to be saved
> @@ -69,7 +73,7 @@ struct save_callbacks {
>       * The callee allocates the buffer, the caller frees it (buffer must
>       * be free'able).
>       */
> -    int (*toolstack_save)(uint32_t domid, uint8_t **buf, uint32_t *len, void *data);
> +    xc_toolstack_save_cb *toolstack_save;
>  
>      /* to be provided as the last argument to each callback function */
>      void* data;
> @@ -89,11 +93,13 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter
>                     unsigned long vm_generationid_addr);
>  
> 
> +typedef int xc_toolstack_restore_cb(uint32_t domid, const uint8_t *buf,
> +                                    uint32_t size, void* data);
> +
>  /* callbacks provided by xc_domain_restore */
>  struct restore_callbacks {
>      /* callback to restore toolstack specific data */
> -    int (*toolstack_restore)(uint32_t domid, uint8_t *buf,
> -            uint32_t size, void* data);
> +    xc_toolstack_restore_cb *toolstack_restore;
>  
>      /* to be provided as the last argument to each callback function */
>      void* data;
> diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
> index 06dbc92..929fbf2 100644
> --- a/tools/libxl/libxl_dom.c
> +++ b/tools/libxl/libxl_dom.c
> @@ -465,13 +465,13 @@ static inline char *restore_helper(libxl__gc *gc, uint32_t domid,
>              domid, phys_offset, node);
>  }
>  
> -static int libxl__toolstack_restore(uint32_t domid, uint8_t *buf,
> +static int libxl__toolstack_restore(uint32_t domid, const uint8_t *buf,
>          uint32_t size, void *data)
>  {
>      libxl__gc *gc = (libxl__gc *) data;
>      libxl_ctx *ctx = gc->owner;
>      int i, ret;
> -    uint8_t *ptr = buf;
> +    const uint8_t *ptr = buf;
>      uint32_t count = 0, version = 0;
>      struct libxl__physmap_info* pi;
>      char *xs_path;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:28:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:28:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmh1-0004BC-Aw; Wed, 30 May 2012 17:28:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZmgz-0004Az-Li
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:28:17 +0000
Received: from [85.158.139.83:55043] by server-2.bemta-5.messagelabs.com id
	15/1F-09957-0B856CF4; Wed, 30 May 2012 17:28:16 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338398896!27330679!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=2.1 required=7.0 tests=UNIQUE_WORDS
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6025 invoked from network); 30 May 2012 17:28:16 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-6.tower-182.messagelabs.com with SMTP;
	30 May 2012 17:28:16 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id F172EC0063B;
	Wed, 30 May 2012 19:28:15 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id pInYedfR-A97; Wed, 30 May 2012 19:28:15 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Wed, 30 May 2012 19:28:15 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id BD56549C1FF;
	Wed, 30 May 2012 18:28:15 +0100 (BST)
Date: Wed, 30 May 2012 19:28:44 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120530172844.GG4771@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
	<20120530152948.GD4771@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FCA4F@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FCA4F@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 05:21:47PM +0000, Liu, Jinsong wrote:
> do you mean 'late_initcall <- threshold_init_device'?

Yes sir, that's what I meant.

Sorry :).

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:28:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:28:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmh1-0004BC-Aw; Wed, 30 May 2012 17:28:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZmgz-0004Az-Li
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:28:17 +0000
Received: from [85.158.139.83:55043] by server-2.bemta-5.messagelabs.com id
	15/1F-09957-0B856CF4; Wed, 30 May 2012 17:28:16 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338398896!27330679!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=2.1 required=7.0 tests=UNIQUE_WORDS
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6025 invoked from network); 30 May 2012 17:28:16 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-6.tower-182.messagelabs.com with SMTP;
	30 May 2012 17:28:16 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id F172EC0063B;
	Wed, 30 May 2012 19:28:15 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id pInYedfR-A97; Wed, 30 May 2012 19:28:15 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Wed, 30 May 2012 19:28:15 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id BD56549C1FF;
	Wed, 30 May 2012 18:28:15 +0100 (BST)
Date: Wed, 30 May 2012 19:28:44 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120530172844.GG4771@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
	<20120530152948.GD4771@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FCA4F@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FCA4F@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 05:21:47PM +0000, Liu, Jinsong wrote:
> do you mean 'late_initcall <- threshold_init_device'?

Yes sir, that's what I meant.

Sorry :).

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:32:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:32:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmlG-0004RA-1A; Wed, 30 May 2012 17:32:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZmlE-0004Qq-No
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:32:40 +0000
Received: from [85.158.139.83:23757] by server-11.bemta-5.messagelabs.com id
	72/37-12711-7B956CF4; Wed, 30 May 2012 17:32:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338399159!30664504!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8239 invoked from network); 30 May 2012 17:32:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:32:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12745847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:32:39 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:32:39 +0100
Message-ID: <1338399158.14877.21.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:32:38 +0100
In-Reply-To: <1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables
 etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> @@ -921,71 +913,72 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
>          return ERROR_INVAL;
>      }
> 
> -    memset(&si, 0, sizeof(si));
> -    flags = (live) ? XCFLAGS_LIVE : 0
> +    xcflags = (live) ? XCFLAGS_LIVE : 0
>            | (debug) ? XCFLAGS_DEBUG : 0
>            | (hvm) ? XCFLAGS_HVM : 0;
> 
> +    dss->domid = domid;
> +    dss->xcflags = xcflags;
> +    dss->hvm = hvm;
> +    dss->gc = gc;
> +    dss->suspend_eventchn = -1;
> +    dss->guest_responded = 0;
> +
>      if (r_info != NULL) {
> -        si.interval = r_info->interval;
> +        dss->interval = r_info->interval;
>          if (r_info->compression)
> -            flags |= XCFLAGS_CHECKPOINT_COMPRESS;
> -        si.save_fd = fd;
> +            xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;

You now do this after the "dss->xcflags = xcflags" (since you moved that
block up), won't that mean you loose it?

(xcflags gets used again below in the call to xc_domain_save, but I
guess that'll go away during asyncification).

> +        dss->save_fd = fd;
>      }
>      else
> -        si.save_fd = -1;
> -
> -    si.domid = domid;
> -    si.flags = flags;
> -    si.hvm = hvm;
> -    si.gc = gc;
> -    si.suspend_eventchn = -1;
> -    si.guest_responded = 0;
> +        dss->save_fd = -1;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:32:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:32:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmlG-0004RA-1A; Wed, 30 May 2012 17:32:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZmlE-0004Qq-No
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:32:40 +0000
Received: from [85.158.139.83:23757] by server-11.bemta-5.messagelabs.com id
	72/37-12711-7B956CF4; Wed, 30 May 2012 17:32:39 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338399159!30664504!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8239 invoked from network); 30 May 2012 17:32:39 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:32:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12745847"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:32:39 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:32:39 +0100
Message-ID: <1338399158.14877.21.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:32:38 +0100
In-Reply-To: <1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables
 etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


> @@ -921,71 +913,72 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
>          return ERROR_INVAL;
>      }
> 
> -    memset(&si, 0, sizeof(si));
> -    flags = (live) ? XCFLAGS_LIVE : 0
> +    xcflags = (live) ? XCFLAGS_LIVE : 0
>            | (debug) ? XCFLAGS_DEBUG : 0
>            | (hvm) ? XCFLAGS_HVM : 0;
> 
> +    dss->domid = domid;
> +    dss->xcflags = xcflags;
> +    dss->hvm = hvm;
> +    dss->gc = gc;
> +    dss->suspend_eventchn = -1;
> +    dss->guest_responded = 0;
> +
>      if (r_info != NULL) {
> -        si.interval = r_info->interval;
> +        dss->interval = r_info->interval;
>          if (r_info->compression)
> -            flags |= XCFLAGS_CHECKPOINT_COMPRESS;
> -        si.save_fd = fd;
> +            xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;

You now do this after the "dss->xcflags = xcflags" (since you moved that
block up), won't that mean you loose it?

(xcflags gets used again below in the call to xc_domain_save, but I
guess that'll go away during asyncification).

> +        dss->save_fd = fd;
>      }
>      else
> -        si.save_fd = -1;
> -
> -    si.domid = domid;
> -    si.flags = flags;
> -    si.hvm = hvm;
> -    si.gc = gc;
> -    si.suspend_eventchn = -1;
> -    si.guest_responded = 0;
> +        dss->save_fd = -1;



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:33:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmlY-0004Sx-E6; Wed, 30 May 2012 17:33:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZmlW-0004Sk-KB
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:32:58 +0000
Received: from [85.158.143.35:29179] by server-1.bemta-4.messagelabs.com id
	A0/68-27869-9C956CF4; Wed, 30 May 2012 17:32:57 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338399170!6705929!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13147 invoked from network); 30 May 2012 17:32:51 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-21.messagelabs.com with SMTP;
	30 May 2012 17:32:51 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	4725D244943; Wed, 30 May 2012 19:32:49 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338399169; bh=Rz+SQzpZI4qNwfoh30lZfNvYTyJ+9wNyu4rIb+TWn9o=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=pp64hdNbE178eKsc+Y/5LeL1ZR15wwzszfC0RG
	cKxQTFNw25StUenS4Ew8KYf4Q1WBuyH5XTUaVi/78ZB+qf9pv5Tem9P5oe5isA2SUCU
	ZNAgv4jUwszuNsf+z+7izEAfY8MXvCoHoR9v+XQqc/EKlOzvr/xnmCz3ZKR/E8DVW4=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 2KEZJdAwXbhU; Wed, 30 May 2012 19:32:48 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 19:32:48 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id A0484AA0EC; Wed, 30 May 2012 19:32:48 +0200 (CEST)
Date: Wed, 30 May 2012 19:32:48 +0200
From: Borislav Petkov <bp@alien8.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120530173247.GC15635@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530171754.GA5115@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <jacob.shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 01:17:54PM -0400, Konrad Rzeszutek Wilk wrote:
> > Yes, the following patch also fixed the crash for us:
> > 
> > Implement rdmsr_regs and wrmsr_regs for Xen pvops.
> 
> That needs more data. Such as the reason for it, the crash
> tombstone, and an analysis of the bug.
> 
> But at this point I am not sure what we are going to do.
> 
> I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
> function out altogether (so altering the amd_rdmsr... to use the
> .rdmsr/.wrdmsr). At which point I think this would all work
> just fine?

I wouldn't do that. Andre's patch switches to the
rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
_regs functions for pvops.

I'll send it now with corrected commit message.

> I am tempted to write a patch that checks all the pv-cpu-ops to see if
> there are any that are NULL and throw a warning so that this does not
> hit us in the future - to be at least more proactive about this sort
> of thing.

This could be a prudent thing to do.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:33:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmlY-0004Sx-E6; Wed, 30 May 2012 17:33:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZmlW-0004Sk-KB
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:32:58 +0000
Received: from [85.158.143.35:29179] by server-1.bemta-4.messagelabs.com id
	A0/68-27869-9C956CF4; Wed, 30 May 2012 17:32:57 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338399170!6705929!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13147 invoked from network); 30 May 2012 17:32:51 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-21.messagelabs.com with SMTP;
	30 May 2012 17:32:51 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	4725D244943; Wed, 30 May 2012 19:32:49 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338399169; bh=Rz+SQzpZI4qNwfoh30lZfNvYTyJ+9wNyu4rIb+TWn9o=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=pp64hdNbE178eKsc+Y/5LeL1ZR15wwzszfC0RG
	cKxQTFNw25StUenS4Ew8KYf4Q1WBuyH5XTUaVi/78ZB+qf9pv5Tem9P5oe5isA2SUCU
	ZNAgv4jUwszuNsf+z+7izEAfY8MXvCoHoR9v+XQqc/EKlOzvr/xnmCz3ZKR/E8DVW4=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 2KEZJdAwXbhU; Wed, 30 May 2012 19:32:48 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 19:32:48 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id A0484AA0EC; Wed, 30 May 2012 19:32:48 +0200 (CEST)
Date: Wed, 30 May 2012 19:32:48 +0200
From: Borislav Petkov <bp@alien8.de>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Message-ID: <20120530173247.GC15635@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530171754.GA5115@phenom.dumpdata.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <jacob.shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 01:17:54PM -0400, Konrad Rzeszutek Wilk wrote:
> > Yes, the following patch also fixed the crash for us:
> > 
> > Implement rdmsr_regs and wrmsr_regs for Xen pvops.
> 
> That needs more data. Such as the reason for it, the crash
> tombstone, and an analysis of the bug.
> 
> But at this point I am not sure what we are going to do.
> 
> I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
> function out altogether (so altering the amd_rdmsr... to use the
> .rdmsr/.wrdmsr). At which point I think this would all work
> just fine?

I wouldn't do that. Andre's patch switches to the
rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
_regs functions for pvops.

I'll send it now with corrected commit message.

> I am tempted to write a patch that checks all the pv-cpu-ops to see if
> there are any that are NULL and throw a warning so that this does not
> hit us in the future - to be at least more proactive about this sort
> of thing.

This could be a prudent thing to do.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:33:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmlc-0004Tp-QQ; Wed, 30 May 2012 17:33:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZmlb-0004TN-B7
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:33:03 +0000
Received: from [193.109.254.147:11525] by server-3.bemta-14.messagelabs.com id
	42/09-15022-EC956CF4; Wed, 30 May 2012 17:33:02 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338399180!4110246!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27342 invoked from network); 30 May 2012 17:33:01 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 17:33:01 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UHVkr5028882
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 10:31:47 -0700
Message-ID: <4FC6597D.4060204@zytor.com>
Date: Wed, 30 May 2012 10:31:41 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
In-Reply-To: <20120530171754.GA5115@phenom.dumpdata.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <jacob.shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 10:17 AM, Konrad Rzeszutek Wilk wrote:
>> Yes, the following patch also fixed the crash for us:
>>
>> Implement rdmsr_regs and wrmsr_regs for Xen pvops.
> 
> That needs more data. Such as the reason for it, the crash
> tombstone, and an analysis of the bug.
> 
> But at this point I am not sure what we are going to do.
> 
> I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
> function out altogether (so altering the amd_rdmsr... to use the
> .rdmsr/.wrdmsr). At which point I think this would all work
> just fine?
> 

No, you can't just do that.  Rip them out as in trap and emulate.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:33:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmlc-0004Tp-QQ; Wed, 30 May 2012 17:33:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZmlb-0004TN-B7
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:33:03 +0000
Received: from [193.109.254.147:11525] by server-3.bemta-14.messagelabs.com id
	42/09-15022-EC956CF4; Wed, 30 May 2012 17:33:02 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338399180!4110246!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27342 invoked from network); 30 May 2012 17:33:01 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 17:33:01 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UHVkr5028882
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 10:31:47 -0700
Message-ID: <4FC6597D.4060204@zytor.com>
Date: Wed, 30 May 2012 10:31:41 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
In-Reply-To: <20120530171754.GA5115@phenom.dumpdata.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <jacob.shin@amd.com>,
	linux-kernel@vger.kernel.org, Jan Beulich <JBeulich@suse.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 10:17 AM, Konrad Rzeszutek Wilk wrote:
>> Yes, the following patch also fixed the crash for us:
>>
>> Implement rdmsr_regs and wrmsr_regs for Xen pvops.
> 
> That needs more data. Such as the reason for it, the crash
> tombstone, and an analysis of the bug.
> 
> But at this point I am not sure what we are going to do.
> 
> I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
> function out altogether (so altering the amd_rdmsr... to use the
> .rdmsr/.wrdmsr). At which point I think this would all work
> just fine?
> 

No, you can't just do that.  Rip them out as in trap and emulate.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:44:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmwe-0004zf-4b; Wed, 30 May 2012 17:44:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZmwd-0004za-4Q
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:44:27 +0000
Received: from [85.158.143.35:39167] by server-1.bemta-4.messagelabs.com id
	11/74-27869-A7C56CF4; Wed, 30 May 2012 17:44:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1338399865!15739645!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18361 invoked from network); 30 May 2012 17:44:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:44:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12746012"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:44:25 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:44:25 +0100
Message-ID: <1338399864.14877.22.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:44:24 +0100
In-Reply-To: <1338394606-22693-7-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-7-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06/15] libxl: rename libxl_dom:save_helper
 to physmap_path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> "save_helper" isn't very descriptive.  Also it is now confusing
> because it reads like it might refer to the libxl-save-helper
> executable which runs xc_domain_save and xc_domain_restore.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:44:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmwe-0004zf-4b; Wed, 30 May 2012 17:44:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZmwd-0004za-4Q
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:44:27 +0000
Received: from [85.158.143.35:39167] by server-1.bemta-4.messagelabs.com id
	11/74-27869-A7C56CF4; Wed, 30 May 2012 17:44:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1338399865!15739645!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18361 invoked from network); 30 May 2012 17:44:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:44:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12746012"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:44:25 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:44:25 +0100
Message-ID: <1338399864.14877.22.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:44:24 +0100
In-Reply-To: <1338394606-22693-7-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-7-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06/15] libxl: rename libxl_dom:save_helper
 to physmap_path
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> "save_helper" isn't very descriptive.  Also it is now confusing
> because it reads like it might refer to the libxl-save-helper
> executable which runs xc_domain_save and xc_domain_restore.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:47:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:47:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmz7-00054T-MS; Wed, 30 May 2012 17:47:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZmz5-00054N-Uq
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:47:00 +0000
Received: from [85.158.138.51:63007] by server-12.bemta-3.messagelabs.com id
	1C/56-29860-31D56CF4; Wed, 30 May 2012 17:46:59 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338400005!29923886!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1586 invoked from network); 30 May 2012 17:46:55 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-4.tower-174.messagelabs.com with SMTP;
	30 May 2012 17:46:55 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 72C28C0063B;
	Wed, 30 May 2012 19:46:44 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id d7C59L7ANWBm; Wed, 30 May 2012 19:46:44 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Wed, 30 May 2012 19:46:44 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 1979949C1FF;
	Wed, 30 May 2012 18:46:44 +0100 (BST)
From: Borislav Petkov <bp@amd64.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Date: Wed, 30 May 2012 19:47:10 +0200
Message-Id: <1338400030-8920-1-git-send-email-bp@amd64.org>
X-Mailer: git-send-email 1.7.9.3.362.g71319
In-Reply-To: <20120530173247.GC15635@x1.osrc.amd.com>
References: <20120530173247.GC15635@x1.osrc.amd.com>
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	LKML <linux-kernel@vger.kernel.org>, stable@vger.kernel.org,
	Borislav Petkov <borislav.petkov@amd.com>, Jan Beulich <JBeulich@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>
Subject: [Xen-devel] [PATCH] x86,
	AMD: Fix crash as Xen Dom0 on AMD Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Andre Przywara <andre.przywara@amd.com>

Switch to the standard {rd,wr}msr*_safe* variants which should've been
used in the first place anyway and avoided unneeded excitation with xen.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Cc: stable@vger.kernel.org # 3.4+
Link: <http://lkml.kernel.org/r/1338383402-3838-1-git-send-email-andre.przywara@amd.com>
[Boris: correct commit message]
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
---
 arch/x86/kernel/cpu/amd.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 146bb6218eec..80ccd99542e6 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
 	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
 		u64 val;
 
-		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
+		if (!rdmsrl_safe(0xc0011005, &val)) {
 			val |= 1ULL << 54;
-			wrmsrl_amd_safe(0xc0011005, val);
+			checking_wrmsrl(0xc0011005, val);
 			rdmsrl(0xc0011005, val);
 			if (val & (1ULL << 54)) {
 				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
-- 
1.7.9.3.362.g71319


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:47:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:47:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZmz7-00054T-MS; Wed, 30 May 2012 17:47:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1SZmz5-00054N-Uq
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:47:00 +0000
Received: from [85.158.138.51:63007] by server-12.bemta-3.messagelabs.com id
	1C/56-29860-31D56CF4; Wed, 30 May 2012 17:46:59 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338400005!29923886!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1586 invoked from network); 30 May 2012 17:46:55 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-4.tower-174.messagelabs.com with SMTP;
	30 May 2012 17:46:55 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 72C28C0063B;
	Wed, 30 May 2012 19:46:44 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id d7C59L7ANWBm; Wed, 30 May 2012 19:46:44 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Wed, 30 May 2012 19:46:44 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 1979949C1FF;
	Wed, 30 May 2012 18:46:44 +0100 (BST)
From: Borislav Petkov <bp@amd64.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Date: Wed, 30 May 2012 19:47:10 +0200
Message-Id: <1338400030-8920-1-git-send-email-bp@amd64.org>
X-Mailer: git-send-email 1.7.9.3.362.g71319
In-Reply-To: <20120530173247.GC15635@x1.osrc.amd.com>
References: <20120530173247.GC15635@x1.osrc.amd.com>
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	LKML <linux-kernel@vger.kernel.org>, stable@vger.kernel.org,
	Borislav Petkov <borislav.petkov@amd.com>, Jan Beulich <JBeulich@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>
Subject: [Xen-devel] [PATCH] x86,
	AMD: Fix crash as Xen Dom0 on AMD Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Andre Przywara <andre.przywara@amd.com>

Switch to the standard {rd,wr}msr*_safe* variants which should've been
used in the first place anyway and avoided unneeded excitation with xen.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Cc: stable@vger.kernel.org # 3.4+
Link: <http://lkml.kernel.org/r/1338383402-3838-1-git-send-email-andre.przywara@amd.com>
[Boris: correct commit message]
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
---
 arch/x86/kernel/cpu/amd.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 146bb6218eec..80ccd99542e6 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
 	    !cpu_has(c, X86_FEATURE_TOPOEXT)) {
 		u64 val;
 
-		if (!rdmsrl_amd_safe(0xc0011005, &val)) {
+		if (!rdmsrl_safe(0xc0011005, &val)) {
 			val |= 1ULL << 54;
-			wrmsrl_amd_safe(0xc0011005, val);
+			checking_wrmsrl(0xc0011005, val);
 			rdmsrl(0xc0011005, val);
 			if (val & (1ULL << 54)) {
 				set_cpu_cap(c, X86_FEATURE_TOPOEXT);
-- 
1.7.9.3.362.g71319


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:48:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:48:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZn09-00058U-4j; Wed, 30 May 2012 17:48:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZn08-00058L-9O
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:48:04 +0000
Received: from [85.158.143.35:29147] by server-2.bemta-4.messagelabs.com id
	7E/19-11595-35D56CF4; Wed, 30 May 2012 17:48:03 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338400081!14036683!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1565 invoked from network); 30 May 2012 17:48:02 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 17:48:02 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr04-ext.jf.intel.com
	[134.134.137.73]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UHldtr000686
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 10:47:39 -0700
Message-ID: <4FC65D34.1060803@zytor.com>
Date: Wed, 30 May 2012 10:47:32 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
In-Reply-To: <20120530173247.GC15635@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 10:32 AM, Borislav Petkov wrote:
> 
> I wouldn't do that. Andre's patch switches to the
> rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
> _regs functions for pvops.
> 

But we just stated - it is wrong for K8?

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:48:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:48:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZn09-00058U-4j; Wed, 30 May 2012 17:48:05 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZn08-00058L-9O
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:48:04 +0000
Received: from [85.158.143.35:29147] by server-2.bemta-4.messagelabs.com id
	7E/19-11595-35D56CF4; Wed, 30 May 2012 17:48:03 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338400081!14036683!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1565 invoked from network); 30 May 2012 17:48:02 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 17:48:02 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr04-ext.jf.intel.com
	[134.134.137.73]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UHldtr000686
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 10:47:39 -0700
Message-ID: <4FC65D34.1060803@zytor.com>
Date: Wed, 30 May 2012 10:47:32 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
In-Reply-To: <20120530173247.GC15635@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 10:32 AM, Borislav Petkov wrote:
> 
> I wouldn't do that. Andre's patch switches to the
> rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
> _regs functions for pvops.
> 

But we just stated - it is wrong for K8?

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:48:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:48:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZn0U-0005BU-NM; Wed, 30 May 2012 17:48:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZn0S-0005B8-SS
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:48:25 +0000
Received: from [193.109.254.147:19793] by server-1.bemta-14.messagelabs.com id
	02/B3-07411-76D56CF4; Wed, 30 May 2012 17:48:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338400102!11707901!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26047 invoked from network); 30 May 2012 17:48:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:48:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12746043"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:48:22 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:48:22 +0100
Message-ID: <1338400101.14877.24.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:48:21 +0100
In-Reply-To: <1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked
 and libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 
> +int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
> +                           const char *path, const char **result_out)
> +{
> +    char *result = libxl__xs_read(gc, t, path);
> +    if (!result) {
> +        if (errno != ENOENT) {

Can't you combine these with && ?

[...]
> +int libxl__xs_transaction_start(libxl__gc *gc, xs_transaction_t *t)
> +{
> +    assert(!*t);
> +    *t = xs_transaction_start(CTX->xsh);
> +    if (!*t) {
> +        LOGE(ERROR, "could not create xenstore transaction");
> +        return ERROR_FAIL;
> +    }
> +    return 0;
> +}
> +
> +int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t)
> +{
> +    assert(*t);
> +
> +    if (!xs_transaction_end(CTX->xsh, *t, 0)) {
> +        if (errno == EAGAIN)
> +            return +1;
> +
> +        *t = 0;
> +        LOGE(ERROR, "could not commit xenstore transacton");

                                                  transaction

It would be much more useful if this function took a "const char
*what" (even just __func__ from the caller) and logged it here.

To a lesser extent this applies to all these helpers.

> +        return ERROR_FAIL;
> +    }
> +
> +    *t = 0;
> +    return 0;
> +}
> +
> +void libxl__xs_transaction_abort(libxl__gc *gc, xs_transaction_t *t)
> +{
> +    if (!*t)
> +        return;
> +
> +    if (!xs_transaction_end(CTX->xsh, *t, 1))
> +        LOGE(ERROR, "could not abort xenstore transacton");

                                                 transaction
> +
> +    *t = 0;
> +}


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:48:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:48:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZn0U-0005BU-NM; Wed, 30 May 2012 17:48:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1SZn0S-0005B8-SS
	for xen-devel@lists.xen.org; Wed, 30 May 2012 17:48:25 +0000
Received: from [193.109.254.147:19793] by server-1.bemta-14.messagelabs.com id
	02/B3-07411-76D56CF4; Wed, 30 May 2012 17:48:23 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338400102!11707901!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26047 invoked from network); 30 May 2012 17:48:22 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 17:48:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,685,1330905600"; d="scan'208";a="12746043"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 17:48:22 +0000
Received: from [127.0.0.1] (10.80.16.67) by smtprelay.citrix.com
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Wed, 30 May 2012 18:48:22 +0100
Message-ID: <1338400101.14877.24.camel@dagon.hellion.org.uk>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 18:48:21 +0100
In-Reply-To: <1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked
 and libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

 
> +int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
> +                           const char *path, const char **result_out)
> +{
> +    char *result = libxl__xs_read(gc, t, path);
> +    if (!result) {
> +        if (errno != ENOENT) {

Can't you combine these with && ?

[...]
> +int libxl__xs_transaction_start(libxl__gc *gc, xs_transaction_t *t)
> +{
> +    assert(!*t);
> +    *t = xs_transaction_start(CTX->xsh);
> +    if (!*t) {
> +        LOGE(ERROR, "could not create xenstore transaction");
> +        return ERROR_FAIL;
> +    }
> +    return 0;
> +}
> +
> +int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t)
> +{
> +    assert(*t);
> +
> +    if (!xs_transaction_end(CTX->xsh, *t, 0)) {
> +        if (errno == EAGAIN)
> +            return +1;
> +
> +        *t = 0;
> +        LOGE(ERROR, "could not commit xenstore transacton");

                                                  transaction

It would be much more useful if this function took a "const char
*what" (even just __func__ from the caller) and logged it here.

To a lesser extent this applies to all these helpers.

> +        return ERROR_FAIL;
> +    }
> +
> +    *t = 0;
> +    return 0;
> +}
> +
> +void libxl__xs_transaction_abort(libxl__gc *gc, xs_transaction_t *t)
> +{
> +    if (!*t)
> +        return;
> +
> +    if (!xs_transaction_end(CTX->xsh, *t, 1))
> +        LOGE(ERROR, "could not abort xenstore transacton");

                                                 transaction
> +
> +    *t = 0;
> +}


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:52:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:52:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZn3s-0005UE-B7; Wed, 30 May 2012 17:51:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZn3q-0005Tw-GP
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:51:54 +0000
Received: from [193.109.254.147:52991] by server-11.bemta-14.messagelabs.com
	id AD/73-01965-93E56CF4; Wed, 30 May 2012 17:51:53 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338400312!11708279!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1830 invoked from network); 30 May 2012 17:51:52 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-27.messagelabs.com with SMTP;
	30 May 2012 17:51:52 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	BF86624494B; Wed, 30 May 2012 19:51:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338400311; bh=ObmDgdwZr25VK2QadQdvR94hEXPNen7kd5teEo/o5aQ=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=KgiTGh6QcDM8/uudnuo2ldDLX1pHYqfTzjvY/c
	asExaMVmd34rogpD0dieIjTZdb8RuvWOqx0y9K7N0EYYCTukmO8OL6DC2aDWnMqPZyw
	tDSNzF0bsLGFHVCXLgeEkT1yj+VvWW9vegpaYWAo8cLM6QUqqDY4KZYITCe3smiOrg=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id Rm5sPZFP+cEn; Wed, 30 May 2012 19:51:51 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 19:51:51 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 5510EAA0EC; Wed, 30 May 2012 19:51:51 +0200 (CEST)
Date: Wed, 30 May 2012 19:51:51 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530175150.GE15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC65D34.1060803@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:47:32AM -0700, H. Peter Anvin wrote:
> > I wouldn't do that. Andre's patch switches to the
> > rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
> > _regs functions for pvops.
> > 
> But we just stated - it is wrong for K8?

Not executed on K8 - only on F15h, models 0x10 - 0x1f.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 17:52:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 17:52:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZn3s-0005UE-B7; Wed, 30 May 2012 17:51:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZn3q-0005Tw-GP
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 17:51:54 +0000
Received: from [193.109.254.147:52991] by server-11.bemta-14.messagelabs.com
	id AD/73-01965-93E56CF4; Wed, 30 May 2012 17:51:53 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-9.tower-27.messagelabs.com!1338400312!11708279!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1830 invoked from network); 30 May 2012 17:51:52 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-9.tower-27.messagelabs.com with SMTP;
	30 May 2012 17:51:52 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	BF86624494B; Wed, 30 May 2012 19:51:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338400311; bh=ObmDgdwZr25VK2QadQdvR94hEXPNen7kd5teEo/o5aQ=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=KgiTGh6QcDM8/uudnuo2ldDLX1pHYqfTzjvY/c
	asExaMVmd34rogpD0dieIjTZdb8RuvWOqx0y9K7N0EYYCTukmO8OL6DC2aDWnMqPZyw
	tDSNzF0bsLGFHVCXLgeEkT1yj+VvWW9vegpaYWAo8cLM6QUqqDY4KZYITCe3smiOrg=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id Rm5sPZFP+cEn; Wed, 30 May 2012 19:51:51 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 19:51:51 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 5510EAA0EC; Wed, 30 May 2012 19:51:51 +0200 (CEST)
Date: Wed, 30 May 2012 19:51:51 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530175150.GE15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC65D34.1060803@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:47:32AM -0700, H. Peter Anvin wrote:
> > I wouldn't do that. Andre's patch switches to the
> > rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
> > _regs functions for pvops.
> > 
> But we just stated - it is wrong for K8?

Not executed on K8 - only on F15h, models 0x10 - 0x1f.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:01:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnCY-0005li-C8; Wed, 30 May 2012 18:00:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZnCX-0005ld-El
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:00:53 +0000
Received: from [193.109.254.147:12659] by server-12.bemta-14.messagelabs.com
	id 24/71-12643-45066CF4; Wed, 30 May 2012 18:00:52 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338400850!6903340!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31607 invoked from network); 30 May 2012 18:00:52 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 18:00:52 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (fmdmzpr02-ext.fm.intel.com
	[192.55.55.37]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UI0U9D004159
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 11:00:30 -0700
Message-ID: <4FC66037.6020506@zytor.com>
Date: Wed, 30 May 2012 11:00:23 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
In-Reply-To: <20120530175150.GE15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 10:51 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 10:47:32AM -0700, H. Peter Anvin wrote:
>>> I wouldn't do that. Andre's patch switches to the
>>> rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
>>> _regs functions for pvops.
>>>
>> But we just stated - it is wrong for K8?
> 
> Not executed on K8 - only on F15h, models 0x10 - 0x1f.
> 

OK.  But there is still the general problem, no?

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:01:07 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnCY-0005li-C8; Wed, 30 May 2012 18:00:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZnCX-0005ld-El
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:00:53 +0000
Received: from [193.109.254.147:12659] by server-12.bemta-14.messagelabs.com
	id 24/71-12643-45066CF4; Wed, 30 May 2012 18:00:52 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338400850!6903340!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31607 invoked from network); 30 May 2012 18:00:52 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 18:00:52 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (fmdmzpr02-ext.fm.intel.com
	[192.55.55.37]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UI0U9D004159
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 11:00:30 -0700
Message-ID: <4FC66037.6020506@zytor.com>
Date: Wed, 30 May 2012 11:00:23 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
In-Reply-To: <20120530175150.GE15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 10:51 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 10:47:32AM -0700, H. Peter Anvin wrote:
>>> I wouldn't do that. Andre's patch switches to the
>>> rdmsrl_safe/checking_wrmsrl functions so you don't need to implement the
>>> _regs functions for pvops.
>>>
>> But we just stated - it is wrong for K8?
> 
> Not executed on K8 - only on F15h, models 0x10 - 0x1f.
> 

OK.  But there is still the general problem, no?

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:17:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:17:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnSa-000645-0I; Wed, 30 May 2012 18:17:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZnSY-000640-Hk
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:17:26 +0000
Received: from [85.158.139.83:41554] by server-11.bemta-5.messagelabs.com id
	78/E1-12711-53466CF4; Wed, 30 May 2012 18:17:25 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338401844!31125073!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21874 invoked from network); 30 May 2012 18:17:24 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-15.tower-182.messagelabs.com with SMTP;
	30 May 2012 18:17:24 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	D04F5244955; Wed, 30 May 2012 20:17:23 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338401843; bh=nYrOKhQZUQdhdafdYoRJdu05zVpGeeBoXQ4DvVl4Uz0=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=HaANHSzCYI27H9bzE9nanIy3h1bC1fqcpkLZCW
	yewNKT4nfahKHAupVSKCQVKg8aLv+StxWIsiluyX/MuxrYJif2390kmA/5nvza2BAUA
	ZTgMtDCYF/L7E59HYAmBM1LvOziG3ghx4mO7vNDlq+N7iW7JapKPAiqJ2a3BVh5SYQ=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id EWcTCvlRVHWg; Wed, 30 May 2012 20:17:23 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 20:17:23 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 5AD84AA0EC; Wed, 30 May 2012 20:17:23 +0200 (CEST)
Date: Wed, 30 May 2012 20:17:23 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530181722.GF15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC66037.6020506@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
> OK.  But there is still the general problem, no?

With this patch xen crashes go away because they paravirt
native_{read,write}_msr_safe.

The other place where we use the amd_safe variants is an obscure K8,
revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
so I'm assuming people haven't run xen on such boxes yet. Does it need
fixing? Probably, if we really really have to.

Now, someone probably needs to paravirt the *safe_regs variants in case
something else decides to use them. I don't know what to do here, do I
want more paravirt code in there? No. I guess if this is done carefully
and cleanly, then it should be ok but it can't be done like that - it
needs to adhere to the current pv_cpu_ops thing which is already there.

Hmm...

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:17:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:17:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnSa-000645-0I; Wed, 30 May 2012 18:17:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZnSY-000640-Hk
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:17:26 +0000
Received: from [85.158.139.83:41554] by server-11.bemta-5.messagelabs.com id
	78/E1-12711-53466CF4; Wed, 30 May 2012 18:17:25 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338401844!31125073!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21874 invoked from network); 30 May 2012 18:17:24 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-15.tower-182.messagelabs.com with SMTP;
	30 May 2012 18:17:24 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	D04F5244955; Wed, 30 May 2012 20:17:23 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338401843; bh=nYrOKhQZUQdhdafdYoRJdu05zVpGeeBoXQ4DvVl4Uz0=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=HaANHSzCYI27H9bzE9nanIy3h1bC1fqcpkLZCW
	yewNKT4nfahKHAupVSKCQVKg8aLv+StxWIsiluyX/MuxrYJif2390kmA/5nvza2BAUA
	ZTgMtDCYF/L7E59HYAmBM1LvOziG3ghx4mO7vNDlq+N7iW7JapKPAiqJ2a3BVh5SYQ=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id EWcTCvlRVHWg; Wed, 30 May 2012 20:17:23 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 20:17:23 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 5AD84AA0EC; Wed, 30 May 2012 20:17:23 +0200 (CEST)
Date: Wed, 30 May 2012 20:17:23 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530181722.GF15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC66037.6020506@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
> OK.  But there is still the general problem, no?

With this patch xen crashes go away because they paravirt
native_{read,write}_msr_safe.

The other place where we use the amd_safe variants is an obscure K8,
revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
so I'm assuming people haven't run xen on such boxes yet. Does it need
fixing? Probably, if we really really have to.

Now, someone probably needs to paravirt the *safe_regs variants in case
something else decides to use them. I don't know what to do here, do I
want more paravirt code in there? No. I guess if this is done carefully
and cleanly, then it should be ok but it can't be done like that - it
needs to adhere to the current pv_cpu_ops thing which is already there.

Hmm...

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:20:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:20:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnUw-00068d-HW; Wed, 30 May 2012 18:19:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZnUv-00068Y-7K
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:19:53 +0000
Received: from [85.158.138.51:64707] by server-12.bemta-3.messagelabs.com id
	6E/F7-29860-8C466CF4; Wed, 30 May 2012 18:19:52 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338401991!29927683!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6363 invoked from network); 30 May 2012 18:19:52 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-4.tower-174.messagelabs.com with SMTP;
	30 May 2012 18:19:52 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	918F3244957; Wed, 30 May 2012 20:19:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338401991; bh=2W245vicCvLrDM6d5+czR/cmVYrd6X5Wo5YhjW4lOzI=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=V9EhrT7eLJPl4Ho1zsKpJAMs6srIfWH5FsPrd3
	naz9FhgwTT9T9sVW8o9JJe1JkMUhtED1wEdSmDMf0t9hGes9FOKK6pxKarqdTPblzkd
	HsA1TUY7PlQ6iWVsm4ZNfpgjlBeuQ/f3frKqJ/DH6gBjnvxMTJhvn8Vzha4qNYaYVs=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id O4tLT0U14pY7; Wed, 30 May 2012 20:19:51 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 20:19:51 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 6E5E8AA0EC; Wed, 30 May 2012 20:19:51 +0200 (CEST)
Date: Wed, 30 May 2012 20:19:51 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530181950.GG15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530181722.GF15438@x1.osrc.amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 08:17:23PM +0200, Borislav Petkov wrote:
> The other place where we use the amd_safe variants is an obscure K8,
> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> so I'm assuming people haven't run xen on such boxes yet. Does it need
> fixing? Probably, if we really really have to.

I'm being told we're safe here. Those boxes didn't have virtualization
support yet (SVM) so this one doesn't need fixing.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:20:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:20:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnUw-00068d-HW; Wed, 30 May 2012 18:19:54 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZnUv-00068Y-7K
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:19:53 +0000
Received: from [85.158.138.51:64707] by server-12.bemta-3.messagelabs.com id
	6E/F7-29860-8C466CF4; Wed, 30 May 2012 18:19:52 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338401991!29927683!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6363 invoked from network); 30 May 2012 18:19:52 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-4.tower-174.messagelabs.com with SMTP;
	30 May 2012 18:19:52 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	918F3244957; Wed, 30 May 2012 20:19:51 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338401991; bh=2W245vicCvLrDM6d5+czR/cmVYrd6X5Wo5YhjW4lOzI=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=V9EhrT7eLJPl4Ho1zsKpJAMs6srIfWH5FsPrd3
	naz9FhgwTT9T9sVW8o9JJe1JkMUhtED1wEdSmDMf0t9hGes9FOKK6pxKarqdTPblzkd
	HsA1TUY7PlQ6iWVsm4ZNfpgjlBeuQ/f3frKqJ/DH6gBjnvxMTJhvn8Vzha4qNYaYVs=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id O4tLT0U14pY7; Wed, 30 May 2012 20:19:51 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 20:19:51 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 6E5E8AA0EC; Wed, 30 May 2012 20:19:51 +0200 (CEST)
Date: Wed, 30 May 2012 20:19:51 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530181950.GG15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120530181722.GF15438@x1.osrc.amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 08:17:23PM +0200, Borislav Petkov wrote:
> The other place where we use the amd_safe variants is an obscure K8,
> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> so I'm assuming people haven't run xen on such boxes yet. Does it need
> fixing? Probably, if we really really have to.

I'm being told we're safe here. Those boxes didn't have virtualization
support yet (SVM) so this one doesn't need fixing.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:20:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnVk-0006BD-UR; Wed, 30 May 2012 18:20:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZnVk-0006B7-Bp
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:20:44 +0000
Received: from [193.109.254.147:32734] by server-8.bemta-14.messagelabs.com id
	C2/62-04215-BF466CF4; Wed, 30 May 2012 18:20:43 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338402041!4116325!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5507 invoked from network); 30 May 2012 18:20:42 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 18:20:42 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr04-ext.jf.intel.com
	[134.134.137.73]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UIKNoY009168
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 11:20:23 -0700
Message-ID: <4FC664E1.9050504@zytor.com>
Date: Wed, 30 May 2012 11:20:17 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
In-Reply-To: <20120530181722.GF15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 11:17 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
>> OK.  But there is still the general problem, no?
> 
> With this patch xen crashes go away because they paravirt
> native_{read,write}_msr_safe.
> 
> The other place where we use the amd_safe variants is an obscure K8,
> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> so I'm assuming people haven't run xen on such boxes yet. Does it need
> fixing? Probably, if we really really have to.
> 
> Now, someone probably needs to paravirt the *safe_regs variants in case
> something else decides to use them. I don't know what to do here, do I
> want more paravirt code in there? No. I guess if this is done carefully
> and cleanly, then it should be ok but it can't be done like that - it
> needs to adhere to the current pv_cpu_ops thing which is already there.
> 

I thought I was being told that Xen would trap and emulate the
rdmsr/wrmsr instructions.  I guess they don't want to do that for the
handful of performance-sensitive MSRs there are, but those don't use the
*_regs variants.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:20:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnVk-0006BD-UR; Wed, 30 May 2012 18:20:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZnVk-0006B7-Bp
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:20:44 +0000
Received: from [193.109.254.147:32734] by server-8.bemta-14.messagelabs.com id
	C2/62-04215-BF466CF4; Wed, 30 May 2012 18:20:43 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338402041!4116325!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5507 invoked from network); 30 May 2012 18:20:42 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-6.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 18:20:42 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr04-ext.jf.intel.com
	[134.134.137.73]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UIKNoY009168
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 11:20:23 -0700
Message-ID: <4FC664E1.9050504@zytor.com>
Date: Wed, 30 May 2012 11:20:17 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
In-Reply-To: <20120530181722.GF15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 11:17 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
>> OK.  But there is still the general problem, no?
> 
> With this patch xen crashes go away because they paravirt
> native_{read,write}_msr_safe.
> 
> The other place where we use the amd_safe variants is an obscure K8,
> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> so I'm assuming people haven't run xen on such boxes yet. Does it need
> fixing? Probably, if we really really have to.
> 
> Now, someone probably needs to paravirt the *safe_regs variants in case
> something else decides to use them. I don't know what to do here, do I
> want more paravirt code in there? No. I guess if this is done carefully
> and cleanly, then it should be ok but it can't be done like that - it
> needs to adhere to the current pv_cpu_ops thing which is already there.
> 

I thought I was being told that Xen would trap and emulate the
rdmsr/wrmsr instructions.  I guess they don't want to do that for the
handful of performance-sensitive MSRs there are, but those don't use the
*_regs variants.

	-hpa


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:21:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:21:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnWV-0006Ft-DE; Wed, 30 May 2012 18:21:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZnWU-0006Fe-0x
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:21:30 +0000
Received: from [85.158.139.83:60205] by server-5.bemta-5.messagelabs.com id
	3F/54-16141-92566CF4; Wed, 30 May 2012 18:21:29 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338402086!27258678!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11318 invoked from network); 30 May 2012 18:21:28 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 18:21:28 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr04-ext.jf.intel.com
	[134.134.137.73]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UIL6dF009204
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 11:21:07 -0700
Message-ID: <4FC6650C.5060604@zytor.com>
Date: Wed, 30 May 2012 11:21:00 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<20120530181950.GG15438@x1.osrc.amd.com>
In-Reply-To: <20120530181950.GG15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 11:19 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 08:17:23PM +0200, Borislav Petkov wrote:
>> The other place where we use the amd_safe variants is an obscure K8,
>> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
>> so I'm assuming people haven't run xen on such boxes yet. Does it need
>> fixing? Probably, if we really really have to.
> 
> I'm being told we're safe here. Those boxes didn't have virtualization
> support yet (SVM) so this one doesn't need fixing.
> 

This is for PV, not for HVM (VT-x/SVM).  HVM doesn't have this kind of
drain bamage.

	-hpa

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:21:42 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:21:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZnWV-0006Ft-DE; Wed, 30 May 2012 18:21:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZnWU-0006Fe-0x
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:21:30 +0000
Received: from [85.158.139.83:60205] by server-5.bemta-5.messagelabs.com id
	3F/54-16141-92566CF4; Wed, 30 May 2012 18:21:29 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338402086!27258678!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11318 invoked from network); 30 May 2012 18:21:28 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 18:21:28 -0000
Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr04-ext.jf.intel.com
	[134.134.137.73]) (authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UIL6dF009204
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 11:21:07 -0700
Message-ID: <4FC6650C.5060604@zytor.com>
Date: Wed, 30 May 2012 11:21:00 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Borislav Petkov <bp@alien8.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<20120530181950.GG15438@x1.osrc.amd.com>
In-Reply-To: <20120530181950.GG15438@x1.osrc.amd.com>
X-Enigmail-Version: 1.4.1
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 11:19 AM, Borislav Petkov wrote:
> On Wed, May 30, 2012 at 08:17:23PM +0200, Borislav Petkov wrote:
>> The other place where we use the amd_safe variants is an obscure K8,
>> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
>> so I'm assuming people haven't run xen on such boxes yet. Does it need
>> fixing? Probably, if we really really have to.
> 
> I'm being told we're safe here. Those boxes didn't have virtualization
> support yet (SVM) so this one doesn't need fixing.
> 

This is for PV, not for HVM (VT-x/SVM).  HVM doesn't have this kind of
drain bamage.

	-hpa

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:28:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZncm-0006cf-7g; Wed, 30 May 2012 18:28:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwtle@hotmail.com>) id 1SZnck-0006ca-HU
	for xen-devel@lists.xen.org; Wed, 30 May 2012 18:27:58 +0000
Received: from [85.158.138.51:36525] by server-5.bemta-3.messagelabs.com id
	8E/1B-27664-DA666CF4; Wed, 30 May 2012 18:27:57 +0000
X-Env-Sender: iwtle@hotmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338402476!21878037!1
X-Originating-IP: [65.55.90.224]
X-SpamReason: No, hits=0.2 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_30_40, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14575 invoked from network); 30 May 2012 18:27:56 -0000
Received: from snt0-omc4-s21.snt0.hotmail.com (HELO
	snt0-omc4-s21.snt0.hotmail.com) (65.55.90.224)
	by server-3.tower-174.messagelabs.com with SMTP;
	30 May 2012 18:27:56 -0000
Received: from SNT134-W16 ([65.55.90.201]) by snt0-omc4-s21.snt0.hotmail.com
	with Microsoft SMTPSVC(6.0.3790.4675); 
	Wed, 30 May 2012 11:26:29 -0700
Message-ID: <SNT134-W1617BF84CD11B0D67E185CAC0A0@phx.gbl>
X-Originating-IP: [121.32.195.93]
From: wuxiaolong <iwtle@hotmail.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 19:26:28 +0100
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 30 May 2012 18:26:29.0643 (UTC)
	FILETIME=[BB4195B0:01CD3E91]
Subject: [Xen-devel] question about xen/stable-2.6.32.x
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0974064813117131402=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============0974064813117131402==
Content-Type: multipart/alternative;
	boundary="_4c28577b-8031-4827-abb8-bb7c40a24c47_"

--_4c28577b-8031-4827-abb8-bb7c40a24c47_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit


Dear Xeners
 
I have use the "make world" to compile the xen source tarball such as xen-4.0.2, xen-4.0.3, which can build the dom0 kernel and domu kernel simultaneously.
 
After the command: "git check -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x"
It displays the error as follow:
fatal:git checkout:updating paths is incompatible with switching branches
Did you intend to checkout 'xen/xen/stable-2.6.32.x' which can not be resolves commit?
 
I have ever try git checkout xen/master, and I get the 3.1 version linux kernel. 
 
But the 2.6.32.x version is the kernel I want to get.
 
I guess the xen/xen/stable-2.6.32.x doesn't exist, so I can't get it ????
 
How can I fix this problem and get the 2.6.32.x version kernel
 
Thank you very much. And look forward to your help.
 
Sincerely 
 
nocroswsn
 
  		 	   		  
--_4c28577b-8031-4827-abb8-bb7c40a24c47_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: 8bit

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Î¢ÈíÑÅºÚ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Dear Xeners<BR>
&nbsp;<BR>
I have use the "make world" to compile the xen source tarball such as xen-4.0.2, xen-4.0.3, which can build the dom0 kernel and domu kernel simultaneously.<BR>
&nbsp;<BR>
After the command: "git check -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x"<BR>
It&nbsp;displays the error as follow:<BR>
fatal:git checkout:updating paths is incompatible with switching branches<BR>
Did you intend to checkout 'xen/xen/stable-2.6.32.x' which can not be resolves commit?<BR>
&nbsp;<BR>
I have ever try git checkout xen/master, and I get the 3.1 version linux kernel. <BR>
&nbsp;<BR>
But the 2.6.32.x version is the kernel I want to get.<BR>
&nbsp;<BR>
I guess the xen/xen/stable-2.6.32.x doesn't exist, so I can't get it ????<BR>
&nbsp;<BR>
How can I fix this problem and get the 2.6.32.x version kernel<BR>
&nbsp;<BR>
Thank you very much. And look forward to your help.<BR>
&nbsp;<BR>
Sincerely <BR>
&nbsp;<BR>
nocroswsn<BR>
&nbsp;<BR>
&nbsp;<BR> 		 	   		  </div></body>
</html>
--_4c28577b-8031-4827-abb8-bb7c40a24c47_--


--===============0974064813117131402==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0974064813117131402==--


From xen-devel-bounces@lists.xen.org Wed May 30 18:28:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZncm-0006cf-7g; Wed, 30 May 2012 18:28:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwtle@hotmail.com>) id 1SZnck-0006ca-HU
	for xen-devel@lists.xen.org; Wed, 30 May 2012 18:27:58 +0000
Received: from [85.158.138.51:36525] by server-5.bemta-3.messagelabs.com id
	8E/1B-27664-DA666CF4; Wed, 30 May 2012 18:27:57 +0000
X-Env-Sender: iwtle@hotmail.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338402476!21878037!1
X-Originating-IP: [65.55.90.224]
X-SpamReason: No, hits=0.2 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	HTML_30_40, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_12, ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14575 invoked from network); 30 May 2012 18:27:56 -0000
Received: from snt0-omc4-s21.snt0.hotmail.com (HELO
	snt0-omc4-s21.snt0.hotmail.com) (65.55.90.224)
	by server-3.tower-174.messagelabs.com with SMTP;
	30 May 2012 18:27:56 -0000
Received: from SNT134-W16 ([65.55.90.201]) by snt0-omc4-s21.snt0.hotmail.com
	with Microsoft SMTPSVC(6.0.3790.4675); 
	Wed, 30 May 2012 11:26:29 -0700
Message-ID: <SNT134-W1617BF84CD11B0D67E185CAC0A0@phx.gbl>
X-Originating-IP: [121.32.195.93]
From: wuxiaolong <iwtle@hotmail.com>
To: <xen-devel@lists.xen.org>
Date: Wed, 30 May 2012 19:26:28 +0100
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 30 May 2012 18:26:29.0643 (UTC)
	FILETIME=[BB4195B0:01CD3E91]
Subject: [Xen-devel] question about xen/stable-2.6.32.x
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0974064813117131402=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============0974064813117131402==
Content-Type: multipart/alternative;
	boundary="_4c28577b-8031-4827-abb8-bb7c40a24c47_"

--_4c28577b-8031-4827-abb8-bb7c40a24c47_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit


Dear Xeners
 
I have use the "make world" to compile the xen source tarball such as xen-4.0.2, xen-4.0.3, which can build the dom0 kernel and domu kernel simultaneously.
 
After the command: "git check -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x"
It displays the error as follow:
fatal:git checkout:updating paths is incompatible with switching branches
Did you intend to checkout 'xen/xen/stable-2.6.32.x' which can not be resolves commit?
 
I have ever try git checkout xen/master, and I get the 3.1 version linux kernel. 
 
But the 2.6.32.x version is the kernel I want to get.
 
I guess the xen/xen/stable-2.6.32.x doesn't exist, so I can't get it ????
 
How can I fix this problem and get the 2.6.32.x version kernel
 
Thank you very much. And look forward to your help.
 
Sincerely 
 
nocroswsn
 
  		 	   		  
--_4c28577b-8031-4827-abb8-bb7c40a24c47_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: 8bit

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Î¢ÈíÑÅºÚ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Dear Xeners<BR>
&nbsp;<BR>
I have use the "make world" to compile the xen source tarball such as xen-4.0.2, xen-4.0.3, which can build the dom0 kernel and domu kernel simultaneously.<BR>
&nbsp;<BR>
After the command: "git check -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x"<BR>
It&nbsp;displays the error as follow:<BR>
fatal:git checkout:updating paths is incompatible with switching branches<BR>
Did you intend to checkout 'xen/xen/stable-2.6.32.x' which can not be resolves commit?<BR>
&nbsp;<BR>
I have ever try git checkout xen/master, and I get the 3.1 version linux kernel. <BR>
&nbsp;<BR>
But the 2.6.32.x version is the kernel I want to get.<BR>
&nbsp;<BR>
I guess the xen/xen/stable-2.6.32.x doesn't exist, so I can't get it ????<BR>
&nbsp;<BR>
How can I fix this problem and get the 2.6.32.x version kernel<BR>
&nbsp;<BR>
Thank you very much. And look forward to your help.<BR>
&nbsp;<BR>
Sincerely <BR>
&nbsp;<BR>
nocroswsn<BR>
&nbsp;<BR>
&nbsp;<BR> 		 	   		  </div></body>
</html>
--_4c28577b-8031-4827-abb8-bb7c40a24c47_--


--===============0974064813117131402==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0974064813117131402==--


From xen-devel-bounces@lists.xen.org Wed May 30 18:29:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZneK-0006iC-Rw; Wed, 30 May 2012 18:29:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZneJ-0006i6-0D
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:29:35 +0000
Received: from [85.158.139.83:42299] by server-2.bemta-5.messagelabs.com id
	C4/8B-09957-E0766CF4; Wed, 30 May 2012 18:29:34 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338402573!23994342!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24062 invoked from network); 30 May 2012 18:29:33 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-11.tower-182.messagelabs.com with SMTP;
	30 May 2012 18:29:33 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	92767244958; Wed, 30 May 2012 20:29:32 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338402572; bh=BPzg3IgqxruYdbBv7Dn9lyVdxKkBrk6kRnrz5HMXIQ0=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=d+CevApYRrLMo/s3RwHwA96YIzDfuEyn1p91WC
	Om1gU4+gYitwKUnplvgPt2z6n6acyhVESAn3XQt/CIdvfKYZVUbef24bp9dCX56Hw53
	No0JbsEiP/lLe0iFBN1Jci+4ImzZWEKQNMX9lsF6IJg/NlRBDWvE6lst6nfGWNIe+4=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id jGe9NbEsRt19; Wed, 30 May 2012 20:29:32 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 20:29:32 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id C48C5AA0EC; Wed, 30 May 2012 20:29:31 +0200 (CEST)
Date: Wed, 30 May 2012 20:29:31 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530182930.GH15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<20120530181950.GG15438@x1.osrc.amd.com>
	<4FC6650C.5060604@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6650C.5060604@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:21:00AM -0700, H. Peter Anvin wrote:
> This is for PV, not for HVM (VT-x/SVM).  HVM doesn't have this kind of
> drain bamage.

Frankly, I wouldn't want to fix this for K8 only - they're going away
anyway. And besides, this is a BIOS fix for a very small subset of very
early K8s. It probably shouldnt've been there in the first place but
at the time I did it I wanted to fix the whole world (I'm much more
reasonable now :-)).

IOW, I'd like to leave sleeping dogs lie if you don't mind.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 18:29:52 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 18:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZneK-0006iC-Rw; Wed, 30 May 2012 18:29:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1SZneJ-0006i6-0D
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 18:29:35 +0000
Received: from [85.158.139.83:42299] by server-2.bemta-5.messagelabs.com id
	C4/8B-09957-E0766CF4; Wed, 30 May 2012 18:29:34 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338402573!23994342!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24062 invoked from network); 30 May 2012 18:29:33 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-11.tower-182.messagelabs.com with SMTP;
	30 May 2012 18:29:33 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	92767244958; Wed, 30 May 2012 20:29:32 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338402572; bh=BPzg3IgqxruYdbBv7Dn9lyVdxKkBrk6kRnrz5HMXIQ0=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=d+CevApYRrLMo/s3RwHwA96YIzDfuEyn1p91WC
	Om1gU4+gYitwKUnplvgPt2z6n6acyhVESAn3XQt/CIdvfKYZVUbef24bp9dCX56Hw53
	No0JbsEiP/lLe0iFBN1Jci+4ImzZWEKQNMX9lsF6IJg/NlRBDWvE6lst6nfGWNIe+4=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id jGe9NbEsRt19; Wed, 30 May 2012 20:29:32 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Wed, 30 May 2012 20:29:32 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id C48C5AA0EC; Wed, 30 May 2012 20:29:31 +0200 (CEST)
Date: Wed, 30 May 2012 20:29:31 +0200
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530182930.GH15438@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>,
	Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
References: <20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<20120530181950.GG15438@x1.osrc.amd.com>
	<4FC6650C.5060604@zytor.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6650C.5060604@zytor.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:21:00AM -0700, H. Peter Anvin wrote:
> This is for PV, not for HVM (VT-x/SVM).  HVM doesn't have this kind of
> drain bamage.

Frankly, I wouldn't want to fix this for K8 only - they're going away
anyway. And besides, this is a BIOS fix for a very small subset of very
early K8s. It probably shouldnt've been there in the first place but
at the time I did it I wanted to fix the whole world (I'm much more
reasonable now :-)).

IOW, I'd like to leave sleeping dogs lie if you don't mind.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 19:29:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 19:29:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZoa4-0007d7-Td; Wed, 30 May 2012 19:29:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZoa3-0007cx-42
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 19:29:15 +0000
Received: from [85.158.143.35:8171] by server-2.bemta-4.messagelabs.com id
	C6/21-11595-A0576CF4; Wed, 30 May 2012 19:29:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338406153!15496418!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23297 invoked from network); 30 May 2012 19:29:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 19:29:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,686,1330905600"; d="scan'208";a="12747989"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 19:27:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 20:27:52 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZoYh-0005KT-Ic;
	Wed, 30 May 2012 19:27:51 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZoYh-0003OB-1h;
	Wed, 30 May 2012 20:27:51 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12996-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 20:27:51 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12996: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12996 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12996/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12995
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12995

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a120d24f90fb
baseline version:
 xen                  a418c32885ab

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=a120d24f90fb
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable a120d24f90fb
+ branch=xen-unstable
+ revision=a120d24f90fb
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r a120d24f90fb ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 5 changesets with 16 changes to 8 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 19:29:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 19:29:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZoa4-0007d7-Td; Wed, 30 May 2012 19:29:16 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZoa3-0007cx-42
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 19:29:15 +0000
Received: from [85.158.143.35:8171] by server-2.bemta-4.messagelabs.com id
	C6/21-11595-A0576CF4; Wed, 30 May 2012 19:29:14 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338406153!15496418!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAyMzY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23297 invoked from network); 30 May 2012 19:29:13 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 19:29:13 -0000
X-IronPort-AV: E=Sophos;i="4.75,686,1330905600"; d="scan'208";a="12747989"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 May 2012 19:27:51 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Wed, 30 May 2012 20:27:52 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZoYh-0005KT-Ic;
	Wed, 30 May 2012 19:27:51 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZoYh-0003OB-1h;
	Wed, 30 May 2012 20:27:51 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12996-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Wed, 30 May 2012 20:27:51 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12996: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12996 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12996/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10    fail REGR. vs. 12995
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12995

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a120d24f90fb
baseline version:
 xen                  a418c32885ab

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=a120d24f90fb
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable a120d24f90fb
+ branch=xen-unstable
+ revision=a120d24f90fb
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r a120d24f90fb ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 5 changesets with 16 changes to 8 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 20:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 20:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZpWX-0000AX-Mo; Wed, 30 May 2012 20:29:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZpWW-0000AS-5a
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 20:29:40 +0000
Received: from [85.158.143.35:27440] by server-3.bemta-4.messagelabs.com id
	BC/6A-04252-33386CF4; Wed, 30 May 2012 20:29:39 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338409776!14874857!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16636 invoked from network); 30 May 2012 20:29:38 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 20:29:38 -0000
Received: by pbcwz7 with SMTP id wz7so529084pbc.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 13:29:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=kkMKh27B4LQIzWOWrEyK1R+tph8mlju0BG3WHw0huyY=;
	b=EOCt3Ts+M538vkp6gGroqzTVbpNyinvWvWpgs4FVMNPnhL7uxjlTTiQGbJOY6/XYeF
	OwJWoyLPSyiZGIl9ijcHhkXswLlvBvERx1BikAkcORCNBsfbdJ/cZMI8FuDw5JYLh8+N
	e6Kwn8ZI3iqh1kuJwDjU77Nv8uBhzVE1chIM8SLsJFGUaMSXhHdn0Ndm8o0hsFPyy+IR
	YNS5IFfMD+KLQV8HS/8ep4yMD0S52SLunRoACr6btfaBPltjacdopo5SzWJfk0OuJeo+
	0E+ZzHggbwIBjEE2arpZV1dwjIy27iG1WWMjNLQZc0So1TURC0k5uQNIX7UAo2YkZJHd
	8MIg==
Received: by 10.68.190.137 with SMTP id gq9mr50282694pbc.34.1338409776424;
	Wed, 30 May 2012 13:29:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 13:29:16 -0700 (PDT)
In-Reply-To: <20120529144743.GG3558@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
	<20120529144743.GG3558@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 22:29:16 +0200
Message-ID: <CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Hugh Dickins <hughd@google.com>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Konrad,

On Tue, May 29, 2012 at 4:47 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> I think I know and just narrowed down the issue this Friday.
> William, could you please apply the patch outlined in
> https://bugzilla.redhat.com/show_bug.cgi?id=824641
> to your dom0 and see if that (so do not have 052b198 in your branch)

I applied the patch on dom0 and removed 052b198 from my virtual
machine and it worked.

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 20:30:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 20:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZpWX-0000AX-Mo; Wed, 30 May 2012 20:29:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZpWW-0000AS-5a
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 20:29:40 +0000
Received: from [85.158.143.35:27440] by server-3.bemta-4.messagelabs.com id
	BC/6A-04252-33386CF4; Wed, 30 May 2012 20:29:39 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338409776!14874857!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16636 invoked from network); 30 May 2012 20:29:38 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 20:29:38 -0000
Received: by pbcwz7 with SMTP id wz7so529084pbc.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 13:29:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=kkMKh27B4LQIzWOWrEyK1R+tph8mlju0BG3WHw0huyY=;
	b=EOCt3Ts+M538vkp6gGroqzTVbpNyinvWvWpgs4FVMNPnhL7uxjlTTiQGbJOY6/XYeF
	OwJWoyLPSyiZGIl9ijcHhkXswLlvBvERx1BikAkcORCNBsfbdJ/cZMI8FuDw5JYLh8+N
	e6Kwn8ZI3iqh1kuJwDjU77Nv8uBhzVE1chIM8SLsJFGUaMSXhHdn0Ndm8o0hsFPyy+IR
	YNS5IFfMD+KLQV8HS/8ep4yMD0S52SLunRoACr6btfaBPltjacdopo5SzWJfk0OuJeo+
	0E+ZzHggbwIBjEE2arpZV1dwjIy27iG1WWMjNLQZc0So1TURC0k5uQNIX7UAo2YkZJHd
	8MIg==
Received: by 10.68.190.137 with SMTP id gq9mr50282694pbc.34.1338409776424;
	Wed, 30 May 2012 13:29:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 13:29:16 -0700 (PDT)
In-Reply-To: <20120529144743.GG3558@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
	<20120529144743.GG3558@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 22:29:16 +0200
Message-ID: <CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Hugh Dickins <hughd@google.com>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Konrad,

On Tue, May 29, 2012 at 4:47 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> I think I know and just narrowed down the issue this Friday.
> William, could you please apply the patch outlined in
> https://bugzilla.redhat.com/show_bug.cgi?id=824641
> to your dom0 and see if that (so do not have 052b198 in your branch)

I applied the patch on dom0 and removed 052b198 from my virtual
machine and it worked.

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 20:40:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 20:40:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZpgA-0000P5-P1; Wed, 30 May 2012 20:39:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZpg8-0000P0-SA
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 20:39:37 +0000
Received: from [85.158.138.51:17892] by server-7.bemta-3.messagelabs.com id
	52/F3-22601-78586CF4; Wed, 30 May 2012 20:39:35 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338410373!30010360!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31359 invoked from network); 30 May 2012 20:39:35 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 20:39:35 -0000
Received: by dajz8 with SMTP id z8so333889daj.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 13:39:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=lkxF4uaA9S+G89EEx+ld1vsciisW3qM/B/sNFtccq9A=;
	b=CVzMsD1CVQvGFj1iMxTbxV94K4aAPKHmLiA5Hi1sFR7FoBXABhb8a42ew79xhcZXf0
	fRnkydjCqfZ/f09V42oaTN6Xqy3iZk4KPdjGoIUV3b9M0IwgY9QnbYyp7GQKwJoCHmDE
	6wQz0r71SEN9qiKuQN57tc+4NLQ9dGr61BdBLbyR+xh52q6R0FBB4oSexR1rTdwCdbLU
	stgBbbCC/FtTuf1LRX/72/npPqHvoBgw385TyajCAMW3uIphojuYj8+G/612PB/TXVxt
	R/zayOlVmk0POPki/8ayJ+HHms2XFi96lJxBfb3C0slUzXxmVpd18B7S9bFEJMxh5pZ3
	P+5Q==
Received: by 10.68.222.9 with SMTP id qi9mr27099511pbc.164.1338410372786; Wed,
	30 May 2012 13:39:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 13:39:10 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 22:39:10 +0200
Message-ID: <CAJ75kXZ6gkRF_ZwJ6va860yKT6Vh=mOeUq0YSCKO0ezxjQgqVA@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
	BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 28, 2012 at 12:19 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
>> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
>> CC: stable@kernel.org
>> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Tested-by: William Dauchy <wdauchy@gmail.com>

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 20:40:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 20:40:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZpgA-0000P5-P1; Wed, 30 May 2012 20:39:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZpg8-0000P0-SA
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 20:39:37 +0000
Received: from [85.158.138.51:17892] by server-7.bemta-3.messagelabs.com id
	52/F3-22601-78586CF4; Wed, 30 May 2012 20:39:35 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338410373!30010360!1
X-Originating-IP: [209.85.210.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31359 invoked from network); 30 May 2012 20:39:35 -0000
Received: from mail-pz0-f43.google.com (HELO mail-pz0-f43.google.com)
	(209.85.210.43)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 20:39:35 -0000
Received: by dajz8 with SMTP id z8so333889daj.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 13:39:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=lkxF4uaA9S+G89EEx+ld1vsciisW3qM/B/sNFtccq9A=;
	b=CVzMsD1CVQvGFj1iMxTbxV94K4aAPKHmLiA5Hi1sFR7FoBXABhb8a42ew79xhcZXf0
	fRnkydjCqfZ/f09V42oaTN6Xqy3iZk4KPdjGoIUV3b9M0IwgY9QnbYyp7GQKwJoCHmDE
	6wQz0r71SEN9qiKuQN57tc+4NLQ9dGr61BdBLbyR+xh52q6R0FBB4oSexR1rTdwCdbLU
	stgBbbCC/FtTuf1LRX/72/npPqHvoBgw385TyajCAMW3uIphojuYj8+G/612PB/TXVxt
	R/zayOlVmk0POPki/8ayJ+HHms2XFi96lJxBfb3C0slUzXxmVpd18B7S9bFEJMxh5pZ3
	P+5Q==
Received: by 10.68.222.9 with SMTP id qi9mr27099511pbc.164.1338410372786; Wed,
	30 May 2012 13:39:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 13:39:10 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 22:39:10 +0200
Message-ID: <CAJ75kXZ6gkRF_ZwJ6va860yKT6Vh=mOeUq0YSCKO0ezxjQgqVA@mail.gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
	BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Mon, May 28, 2012 at 12:19 PM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
>> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
>> CC: stable@kernel.org
>> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>
> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Tested-by: William Dauchy <wdauchy@gmail.com>

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:23:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:23:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqMU-0000jI-AA; Wed, 30 May 2012 21:23:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZqMS-0000jD-R5
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:23:21 +0000
Received: from [85.158.143.99:9515] by server-2.bemta-4.messagelabs.com id
	D5/01-11595-8CF86CF4; Wed, 30 May 2012 21:23:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338412998!20813123!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21612 invoked from network); 30 May 2012 21:23:19 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 21:23:19 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ULN3BX003736
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 21:23:04 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ULN2Tg013310
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 21:23:02 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ULN1Bf021024; Wed, 30 May 2012 16:23:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 14:23:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 2F482402B7; Wed, 30 May 2012 17:16:14 -0400 (EDT)
Date: Wed, 30 May 2012 17:16:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120530211614.GA31789@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
	<20120529144743.GG3558@phenom.dumpdata.com>
	<CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Hugh Dickins <hughd@google.com>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:29:16PM +0200, William Dauchy wrote:
> Hello Konrad,
> 
> On Tue, May 29, 2012 at 4:47 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > I think I know and just narrowed down the issue this Friday.
> > William, could you please apply the patch outlined in
> > https://bugzilla.redhat.com/show_bug.cgi?id=824641
> > to your dom0 and see if that (so do not have 052b198 in your branch)
> 
> I applied the patch on dom0 and removed 052b198 from my virtual
> machine and it worked.

Great. Is it OK to attach a Tested-by tag to the patch with your name?
> 
> Regards,
> -- 
> William
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:23:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:23:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqMU-0000jI-AA; Wed, 30 May 2012 21:23:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZqMS-0000jD-R5
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:23:21 +0000
Received: from [85.158.143.99:9515] by server-2.bemta-4.messagelabs.com id
	D5/01-11595-8CF86CF4; Wed, 30 May 2012 21:23:20 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338412998!20813123!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYwMzU0\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21612 invoked from network); 30 May 2012 21:23:19 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 21:23:19 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ULN3BX003736
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 21:23:04 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ULN2Tg013310
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 21:23:02 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ULN1Bf021024; Wed, 30 May 2012 16:23:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 14:23:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 2F482402B7; Wed, 30 May 2012 17:16:14 -0400 (EDT)
Date: Wed, 30 May 2012 17:16:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120530211614.GA31789@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
	<20120529144743.GG3558@phenom.dumpdata.com>
	<CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Hugh Dickins <hughd@google.com>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:29:16PM +0200, William Dauchy wrote:
> Hello Konrad,
> 
> On Tue, May 29, 2012 at 4:47 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > I think I know and just narrowed down the issue this Friday.
> > William, could you please apply the patch outlined in
> > https://bugzilla.redhat.com/show_bug.cgi?id=824641
> > to your dom0 and see if that (so do not have 052b198 in your branch)
> 
> I applied the patch on dom0 and removed 052b198 from my virtual
> machine and it worked.

Great. Is it OK to attach a Tested-by tag to the patch with your name?
> 
> Regards,
> -- 
> William
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:24:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:24:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqMo-0000k5-MT; Wed, 30 May 2012 21:23:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZqMn-0000jw-2X
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:23:41 +0000
Received: from [193.109.254.147:49135] by server-1.bemta-14.messagelabs.com id
	44/25-07411-CDF86CF4; Wed, 30 May 2012 21:23:40 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338413018!4161255!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2MzgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4728 invoked from network); 30 May 2012 21:23:39 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 21:23:39 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ULNS7V016231
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 21:23:29 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ULNRMK013924
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 21:23:27 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ULNQGP025635; Wed, 30 May 2012 16:23:26 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 14:23:26 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4F09D402B7; Wed, 30 May 2012 17:16:39 -0400 (EDT)
Date: Wed, 30 May 2012 17:16:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120530211639.GB31789@phenom.dumpdata.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
	<CAJ75kXZ6gkRF_ZwJ6va860yKT6Vh=mOeUq0YSCKO0ezxjQgqVA@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXZ6gkRF_ZwJ6va860yKT6Vh=mOeUq0YSCKO0ezxjQgqVA@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
 BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:39:10PM +0200, William Dauchy wrote:
> On Mon, May 28, 2012 at 12:19 PM, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> >> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
> >> CC: stable@kernel.org
> >> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >
> > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> Tested-by: William Dauchy <wdauchy@gmail.com>

Heh. That is what I get from reading emails in sequence. Thanks!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:24:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:24:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqMo-0000k5-MT; Wed, 30 May 2012 21:23:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZqMn-0000jw-2X
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:23:41 +0000
Received: from [193.109.254.147:49135] by server-1.bemta-14.messagelabs.com id
	44/25-07411-CDF86CF4; Wed, 30 May 2012 21:23:40 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338413018!4161255!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2MzgxMA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4728 invoked from network); 30 May 2012 21:23:39 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-14.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 21:23:39 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ULNS7V016231
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 21:23:29 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ULNRMK013924
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 21:23:27 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ULNQGP025635; Wed, 30 May 2012 16:23:26 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 14:23:26 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 4F09D402B7; Wed, 30 May 2012 17:16:39 -0400 (EDT)
Date: Wed, 30 May 2012 17:16:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120530211639.GB31789@phenom.dumpdata.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-2-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281119080.26786@kaball-desktop>
	<CAJ75kXZ6gkRF_ZwJ6va860yKT6Vh=mOeUq0YSCKO0ezxjQgqVA@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXZ6gkRF_ZwJ6va860yKT6Vh=mOeUq0YSCKO0ezxjQgqVA@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/blkback: Copy id field when doing
 BLKIF_DISCARD.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:39:10PM +0200, William Dauchy wrote:
> On Mon, May 28, 2012 at 12:19 PM, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> >> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=824641
> >> CC: stable@kernel.org
> >> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> >
> > Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> Tested-by: William Dauchy <wdauchy@gmail.com>

Heh. That is what I get from reading emails in sequence. Thanks!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:29:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqRe-000104-JY; Wed, 30 May 2012 21:28:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZqRc-0000zv-L1
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:28:40 +0000
Received: from [85.158.139.83:22269] by server-5.bemta-5.messagelabs.com id
	06/73-16141-70196CF4; Wed, 30 May 2012 21:28:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338413318!26961923!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYxNzM2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28971 invoked from network); 30 May 2012 21:28:39 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 21:28:39 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ULSYfh008621
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 21:28:35 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ULSXmi027705
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 21:28:34 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ULSWkX024197; Wed, 30 May 2012 16:28:33 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 14:28:32 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 15985402B7; Wed, 30 May 2012 17:21:46 -0400 (EDT)
Date: Wed, 30 May 2012 17:21:45 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Marek Marczykowski <marmarek@invisiblethingslab.com>
Message-ID: <20120530212145.GA30035@phenom.dumpdata.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
	<20120530142830.GE3207@phenom.dumpdata.com>
	<4FC6353C.3090908@invisiblethingslab.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6353C.3090908@invisiblethingslab.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Joanna Rutkowska <joanna@invisiblethingslab.com>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:57:00PM +0200, Marek Marczykowski wrote:
> On 30.05.2012 16:28, Konrad Rzeszutek Wilk wrote:
> > On Wed, May 30, 2012 at 12:14:07PM +0200, Joanna Rutkowska wrote:
> >> Hello,
> >>
> >> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
> >> and have noticed that those kernel noticeably downgrade performance of
> >> (at least) Intel GPUs. This is easily noticeable even on such trivial
> >> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
> >> performance on 3.3 and 3.4 kernels is in stark contrast with what I see
> >> on 3.2.7 Dom0 kernel, where graphics works just great...
> >>
> >> In order to make sure that this is not caused by power management set
> >> too strictly, I played with xenpm and made sure to set the following:
> > 
> > And are you building with CONFIG_INTEL_IOMMU=y?
> 
> Yes:
> CONFIG_GART_IOMMU=y
> # CONFIG_CALGARY_IOMMU is not set
> CONFIG_SWIOTLB=y
> CONFIG_IOMMU_HELPER=y
> (...)
> CONFIG_IOMMU_API=y
> CONFIG_IOMMU_SUPPORT=y
> CONFIG_AMD_IOMMU=y
> # CONFIG_AMD_IOMMU_STATS is not set
> CONFIG_AMD_IOMMU_V2=m
> CONFIG_DMAR_TABLE=y
> CONFIG_INTEL_IOMMU=y
> CONFIG_INTEL_IOMMU_DEFAULT_ON=y
> CONFIG_INTEL_IOMMU_FLOPPY_WA=y
> CONFIG_IRQ_REMAP=y

In that case I think you might need to do some git bisection to figure
out which patch caused the slow-down. Are there any obvious things in the
kernel logs (you might have to boot it with loglevel=8 debug)?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:29:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqRe-000104-JY; Wed, 30 May 2012 21:28:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SZqRc-0000zv-L1
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:28:40 +0000
Received: from [85.158.139.83:22269] by server-5.bemta-5.messagelabs.com id
	06/73-16141-70196CF4; Wed, 30 May 2012 21:28:39 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338413318!26961923!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYxNzM2\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28971 invoked from network); 30 May 2012 21:28:39 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 21:28:39 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4ULSYfh008621
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 21:28:35 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4ULSXmi027705
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Wed, 30 May 2012 21:28:34 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4ULSWkX024197; Wed, 30 May 2012 16:28:33 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 30 May 2012 14:28:32 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 15985402B7; Wed, 30 May 2012 17:21:46 -0400 (EDT)
Date: Wed, 30 May 2012 17:21:45 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Marek Marczykowski <marmarek@invisiblethingslab.com>
Message-ID: <20120530212145.GA30035@phenom.dumpdata.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
	<20120530142830.GE3207@phenom.dumpdata.com>
	<4FC6353C.3090908@invisiblethingslab.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6353C.3090908@invisiblethingslab.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Joanna Rutkowska <joanna@invisiblethingslab.com>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 04:57:00PM +0200, Marek Marczykowski wrote:
> On 30.05.2012 16:28, Konrad Rzeszutek Wilk wrote:
> > On Wed, May 30, 2012 at 12:14:07PM +0200, Joanna Rutkowska wrote:
> >> Hello,
> >>
> >> I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.1.2,
> >> and have noticed that those kernel noticeably downgrade performance of
> >> (at least) Intel GPUs. This is easily noticeable even on such trivial
> >> tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
> >> performance on 3.3 and 3.4 kernels is in stark contrast with what I see
> >> on 3.2.7 Dom0 kernel, where graphics works just great...
> >>
> >> In order to make sure that this is not caused by power management set
> >> too strictly, I played with xenpm and made sure to set the following:
> > 
> > And are you building with CONFIG_INTEL_IOMMU=y?
> 
> Yes:
> CONFIG_GART_IOMMU=y
> # CONFIG_CALGARY_IOMMU is not set
> CONFIG_SWIOTLB=y
> CONFIG_IOMMU_HELPER=y
> (...)
> CONFIG_IOMMU_API=y
> CONFIG_IOMMU_SUPPORT=y
> CONFIG_AMD_IOMMU=y
> # CONFIG_AMD_IOMMU_STATS is not set
> CONFIG_AMD_IOMMU_V2=m
> CONFIG_DMAR_TABLE=y
> CONFIG_INTEL_IOMMU=y
> CONFIG_INTEL_IOMMU_DEFAULT_ON=y
> CONFIG_INTEL_IOMMU_FLOPPY_WA=y
> CONFIG_IRQ_REMAP=y

In that case I think you might need to do some git bisection to figure
out which patch caused the slow-down. Are there any obvious things in the
kernel logs (you might have to boot it with loglevel=8 debug)?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:30:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqT4-00015t-2S; Wed, 30 May 2012 21:30:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZqT2-00015i-1e
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:30:08 +0000
Received: from [85.158.139.83:38197] by server-2.bemta-5.messagelabs.com id
	BD/46-09957-F5196CF4; Wed, 30 May 2012 21:30:07 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338413404!27277419!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11308 invoked from network); 30 May 2012 21:30:06 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 21:30:06 -0000
Received: by pbcwz7 with SMTP id wz7so599982pbc.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 14:30:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=qXEZCMvF5EG6TFSu1fBSdox7yN5/EvMZ1nmGFWlR6dk=;
	b=rDEFQNfErt7VqpQyIaipE6FGG+61nO/93sTQ6D0lluIAXT80gWwOtEFVWspuhVlkP9
	RKseWckM7amJJM6WnICxdtqJZPcLjgP0WROa/HNhu2T0V2a4Mag9NCVVFN/gjXUy53OA
	r8swblDHB6eI8o4cc4WPOTtmhjc+Gq+970L4E+dg+xWtnTRi4EVdShM7kMMjwAzFtaf+
	hl3nFGyMujdZ2hGZEM1ta32GnzC0ZGMqOpAgq/vTVBX/Je4RUxrHcAEgyvpGWQsxQz7Z
	4Tj345IqvNI/ct1il0jlMWeRTO0k8OU6iqMr/j9z4GdjJAgpc58t6hOrHE81DLkXPSZJ
	q0KA==
Received: by 10.68.222.9 with SMTP id qi9mr27476916pbc.164.1338413404025; Wed,
	30 May 2012 14:30:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 14:29:43 -0700 (PDT)
In-Reply-To: <20120530141815.GA3207@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
	<CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
	<20120530141815.GA3207@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 23:29:43 +0200
Message-ID: <CAJ75kXaPphN8OVdF2RbJLiK2A9RD_Z6X325ynHD08--YfJQk_g@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Konrad,

On Wed, May 30, 2012 at 4:18 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Pls try the attached patch.

Thanks for your quick reply.
I tested the attached patch and it fixes the issue.

> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Reported-by: William Dauchy <wdauchy@gmail.com>
Tested-by: William Dauchy <wdauchy@gmail.com>

Maybe we should think about proposing it in stable.
Cc: <stable@vger.kernel.org>

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:30:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqT4-00015t-2S; Wed, 30 May 2012 21:30:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZqT2-00015i-1e
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:30:08 +0000
Received: from [85.158.139.83:38197] by server-2.bemta-5.messagelabs.com id
	BD/46-09957-F5196CF4; Wed, 30 May 2012 21:30:07 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338413404!27277419!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11308 invoked from network); 30 May 2012 21:30:06 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 21:30:06 -0000
Received: by pbcwz7 with SMTP id wz7so599982pbc.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 14:30:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=qXEZCMvF5EG6TFSu1fBSdox7yN5/EvMZ1nmGFWlR6dk=;
	b=rDEFQNfErt7VqpQyIaipE6FGG+61nO/93sTQ6D0lluIAXT80gWwOtEFVWspuhVlkP9
	RKseWckM7amJJM6WnICxdtqJZPcLjgP0WROa/HNhu2T0V2a4Mag9NCVVFN/gjXUy53OA
	r8swblDHB6eI8o4cc4WPOTtmhjc+Gq+970L4E+dg+xWtnTRi4EVdShM7kMMjwAzFtaf+
	hl3nFGyMujdZ2hGZEM1ta32GnzC0ZGMqOpAgq/vTVBX/Je4RUxrHcAEgyvpGWQsxQz7Z
	4Tj345IqvNI/ct1il0jlMWeRTO0k8OU6iqMr/j9z4GdjJAgpc58t6hOrHE81DLkXPSZJ
	q0KA==
Received: by 10.68.222.9 with SMTP id qi9mr27476916pbc.164.1338413404025; Wed,
	30 May 2012 14:30:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 14:29:43 -0700 (PDT)
In-Reply-To: <20120530141815.GA3207@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
	<CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
	<20120530141815.GA3207@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 23:29:43 +0200
Message-ID: <CAJ75kXaPphN8OVdF2RbJLiK2A9RD_Z6X325ynHD08--YfJQk_g@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Konrad,

On Wed, May 30, 2012 at 4:18 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Pls try the attached patch.

Thanks for your quick reply.
I tested the attached patch and it fixes the issue.

> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Reported-by: William Dauchy <wdauchy@gmail.com>
Tested-by: William Dauchy <wdauchy@gmail.com>

Maybe we should think about proposing it in stable.
Cc: <stable@vger.kernel.org>

Regards,
-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:34:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqWj-0001LN-NO; Wed, 30 May 2012 21:33:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZqWi-0001LG-9p
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:33:56 +0000
Received: from [85.158.139.83:45916] by server-12.bemta-5.messagelabs.com id
	A5/6F-20635-34296CF4; Wed, 30 May 2012 21:33:55 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338413633!26962430!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11980 invoked from network); 30 May 2012 21:33:54 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 21:33:54 -0000
Received: by pbcwz7 with SMTP id wz7so604274pbc.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 14:33:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=EixiVd9bmkWuRVByDVXm6mlUDChqQnfwRm+yCuIxO5E=;
	b=zw2YqO4JAOuJd5Q6aE/Pz2IE4G6Z/HI5AdL3rXtjk27pciYgVqP7AriWMqCMIY44Mv
	PUhYoo7VcoghHsgIinpwUfJ0C2YxUBAK9Jf4jujHhEJmwyWZ7IFqieWDLdEB3dIabT3v
	h3wgFA/JJCQfhVtkb6yoNK4TotznPEmPmpoEPx+hNiZpYtwUIae9TXK4vLwYAtbWFWXH
	ct4aHJEg6AXE2bJVdJqc9C45784X5XFk4i7rIj89mrNdjErAcutOuGbcjFvFV6B9h+kp
	lUUnZs2SztrTrKCFe0IcKffdpmlAQOLGV86QaeNeTpmFrCxG6vdUN9MOBBwHgkIPwJdM
	Cv4w==
Received: by 10.68.217.135 with SMTP id oy7mr12852090pbc.10.1338413632497;
	Wed, 30 May 2012 14:33:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 14:33:32 -0700 (PDT)
In-Reply-To: <20120530211614.GA31789@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
	<20120529144743.GG3558@phenom.dumpdata.com>
	<CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
	<20120530211614.GA31789@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 23:33:32 +0200
Message-ID: <CAJ75kXaYm0o2G3SO5Uf6PC8b=qxeHTcU7xR1oBYr33nrnkw=XQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Hugh Dickins <hughd@google.com>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:16 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Great. Is it OK to attach a Tested-by tag to the patch with your name?

Sure.

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 21:34:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 21:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZqWj-0001LN-NO; Wed, 30 May 2012 21:33:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <wdauchy@gmail.com>) id 1SZqWi-0001LG-9p
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 21:33:56 +0000
Received: from [85.158.139.83:45916] by server-12.bemta-5.messagelabs.com id
	A5/6F-20635-34296CF4; Wed, 30 May 2012 21:33:55 +0000
X-Env-Sender: wdauchy@gmail.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338413633!26962430!1
X-Originating-IP: [209.85.160.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11980 invoked from network); 30 May 2012 21:33:54 -0000
Received: from mail-pb0-f43.google.com (HELO mail-pb0-f43.google.com)
	(209.85.160.43)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	30 May 2012 21:33:54 -0000
Received: by pbcwz7 with SMTP id wz7so604274pbc.30
	for <xen-devel@lists.xensource.com>;
	Wed, 30 May 2012 14:33:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=EixiVd9bmkWuRVByDVXm6mlUDChqQnfwRm+yCuIxO5E=;
	b=zw2YqO4JAOuJd5Q6aE/Pz2IE4G6Z/HI5AdL3rXtjk27pciYgVqP7AriWMqCMIY44Mv
	PUhYoo7VcoghHsgIinpwUfJ0C2YxUBAK9Jf4jujHhEJmwyWZ7IFqieWDLdEB3dIabT3v
	h3wgFA/JJCQfhVtkb6yoNK4TotznPEmPmpoEPx+hNiZpYtwUIae9TXK4vLwYAtbWFWXH
	ct4aHJEg6AXE2bJVdJqc9C45784X5XFk4i7rIj89mrNdjErAcutOuGbcjFvFV6B9h+kp
	lUUnZs2SztrTrKCFe0IcKffdpmlAQOLGV86QaeNeTpmFrCxG6vdUN9MOBBwHgkIPwJdM
	Cv4w==
Received: by 10.68.217.135 with SMTP id oy7mr12852090pbc.10.1338413632497;
	Wed, 30 May 2012 14:33:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.39.228 with HTTP; Wed, 30 May 2012 14:33:32 -0700 (PDT)
In-Reply-To: <20120530211614.GA31789@phenom.dumpdata.com>
References: <CAJ75kXbC3gqQAaghKo2i1L650dw9-vrFuEwoy4defagoyR8p4Q@mail.gmail.com>
	<20120521181558.GA7829@phenom.dumpdata.com>
	<alpine.LSU.2.00.1205261113470.2033@eggly.anvils>
	<20120529144743.GG3558@phenom.dumpdata.com>
	<CAJ75kXZSqyyk0j2sNS1gq8fV_Z+Kj12mxKmpOAjKmwhDxs_9vQ@mail.gmail.com>
	<20120530211614.GA31789@phenom.dumpdata.com>
From: William Dauchy <wdauchy@gmail.com>
Date: Wed, 30 May 2012 23:33:32 +0200
Message-ID: <CAJ75kXaYm0o2G3SO5Uf6PC8b=qxeHTcU7xR1oBYr33nrnkw=XQ@mail.gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xensource.com, Ben Hutchings <ben@decadent.org.uk>,
	Hugh Dickins <hughd@google.com>, shli@fusionio.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Shaohua Li <shli@kernel.org>
Subject: Re: [Xen-devel] swap: don't do discard if no discard option added
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:16 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
> Great. Is it OK to attach a Tested-by tag to the patch with your name?

Sure.

-- 
William

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 22:24:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 22:24:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZrJR-0001iZ-9X; Wed, 30 May 2012 22:24:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SZrJQ-0001iU-9D
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 22:24:16 +0000
Received: from [85.158.143.35:39767] by server-1.bemta-4.messagelabs.com id
	D6/AE-27869-F0E96CF4; Wed, 30 May 2012 22:24:15 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338416653!12800399!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18024 invoked from network); 30 May 2012 22:24:14 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 22:24:14 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4UMO0Qn028470
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 30 May 2012 18:24:00 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4UMNuRP028468;
	Wed, 30 May 2012 18:23:56 -0400
Date: Wed, 30 May 2012 18:23:56 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530222356.GA28417@andromeda.dapyr.net>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<4FC6597D.4060204@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6597D.4060204@zytor.com>
User-Agent: Mutt/1.5.9i
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:31:41AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 10:17 AM, Konrad Rzeszutek Wilk wrote:
> >> Yes, the following patch also fixed the crash for us:
> >>
> >> Implement rdmsr_regs and wrmsr_regs for Xen pvops.
> > 
> > That needs more data. Such as the reason for it, the crash
> > tombstone, and an analysis of the bug.
> > 
> > But at this point I am not sure what we are going to do.
> > 
> > I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
> > function out altogether (so altering the amd_rdmsr... to use the
> > .rdmsr/.wrdmsr). At which point I think this would all work
> > just fine?
> > 
> 
> No, you can't just do that.  Rip them out as in trap and emulate.

Then this should do it:

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..e74df95 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.wbinvd = native_wbinvd,
 
 	.read_msr = native_read_msr_safe,
+	.rdmsr_regs = native_rdmsr_safe_regs,
 	.write_msr = xen_write_msr_safe,
+	.wrmsr_regs = native_wrmsr_safe_regs,
+
 	.read_tsc = native_read_tsc,
 	.read_pmc = native_read_pmc,


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 22:24:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 22:24:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZrJR-0001iZ-9X; Wed, 30 May 2012 22:24:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SZrJQ-0001iU-9D
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 22:24:16 +0000
Received: from [85.158.143.35:39767] by server-1.bemta-4.messagelabs.com id
	D6/AE-27869-F0E96CF4; Wed, 30 May 2012 22:24:15 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338416653!12800399!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18024 invoked from network); 30 May 2012 22:24:14 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 22:24:14 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4UMO0Qn028470
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 30 May 2012 18:24:00 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4UMNuRP028468;
	Wed, 30 May 2012 18:23:56 -0400
Date: Wed, 30 May 2012 18:23:56 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530222356.GA28417@andromeda.dapyr.net>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<4FC6597D.4060204@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC6597D.4060204@zytor.com>
User-Agent: Mutt/1.5.9i
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Jan Beulich <JBeulich@suse.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 10:31:41AM -0700, H. Peter Anvin wrote:
> On 05/30/2012 10:17 AM, Konrad Rzeszutek Wilk wrote:
> >> Yes, the following patch also fixed the crash for us:
> >>
> >> Implement rdmsr_regs and wrmsr_regs for Xen pvops.
> > 
> > That needs more data. Such as the reason for it, the crash
> > tombstone, and an analysis of the bug.
> > 
> > But at this point I am not sure what we are going to do.
> > 
> > I think Peter leans towards ripping the .rdmsr_regs/wdmsr_regs
> > function out altogether (so altering the amd_rdmsr... to use the
> > .rdmsr/.wrdmsr). At which point I think this would all work
> > just fine?
> > 
> 
> No, you can't just do that.  Rip them out as in trap and emulate.

Then this should do it:

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..e74df95 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.wbinvd = native_wbinvd,
 
 	.read_msr = native_read_msr_safe,
+	.rdmsr_regs = native_rdmsr_safe_regs,
 	.write_msr = xen_write_msr_safe,
+	.wrmsr_regs = native_wrmsr_safe_regs,
+
 	.read_tsc = native_read_tsc,
 	.read_pmc = native_read_pmc,


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 22:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 22:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZrSp-0001wN-Bq; Wed, 30 May 2012 22:33:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SZrSo-0001wI-1f
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 22:33:58 +0000
Received: from [85.158.143.99:19475] by server-3.bemta-4.messagelabs.com id
	72/67-04252-550A6CF4; Wed, 30 May 2012 22:33:57 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-10.tower-216.messagelabs.com!1338417234!24043599!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24326 invoked from network); 30 May 2012 22:33:56 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 22:33:56 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4UMXZDq028715
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 30 May 2012 18:33:35 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4UMXYpt028711;
	Wed, 30 May 2012 18:33:34 -0400
Date: Wed, 30 May 2012 18:33:34 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530223334.GB28417@andromeda.dapyr.net>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC664E1.9050504@zytor.com>
User-Agent: Mutt/1.5.9i
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > Now, someone probably needs to paravirt the *safe_regs variants in case
> > something else decides to use them. I don't know what to do here, do I
> > want more paravirt code in there? No. I guess if this is done carefully
> > and cleanly, then it should be ok but it can't be done like that - it
> > needs to adhere to the current pv_cpu_ops thing which is already there.

Using the native variant seems the right thing to do.
> > 
> 
> I thought I was being told that Xen would trap and emulate the
> rdmsr/wrmsr instructions.  I guess they don't want to do that for the

It does.
> handful of performance-sensitive MSRs there are, but those don't use the
> *_regs variants.

The underlaying issue (as I understand) was that .rdmsr_regs
(and the corresponding write) was NULL and that caused the crash.
This tiny patch should do it:

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..e74df95 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.wbinvd = native_wbinvd,
 
 	.read_msr = native_read_msr_safe,
+	.rdmsr_regs = native_rdmsr_safe_regs,
 	.write_msr = xen_write_msr_safe,
+	.wrmsr_regs = native_wrmsr_safe_regs,
+
 	.read_tsc = native_read_tsc,
 	.read_pmc = native_read_pmc,
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 22:34:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 22:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZrSp-0001wN-Bq; Wed, 30 May 2012 22:33:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <darnok@68k.org>) id 1SZrSo-0001wI-1f
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 22:33:58 +0000
Received: from [85.158.143.99:19475] by server-3.bemta-4.messagelabs.com id
	72/67-04252-550A6CF4; Wed, 30 May 2012 22:33:57 +0000
X-Env-Sender: darnok@68k.org
X-Msg-Ref: server-10.tower-216.messagelabs.com!1338417234!24043599!1
X-Originating-IP: [206.212.254.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24326 invoked from network); 30 May 2012 22:33:56 -0000
Received: from andromeda.dapyr.net (HELO andromeda.dapyr.net) (206.212.254.10)
	by server-10.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 30 May 2012 22:33:56 -0000
Received: from andromeda.dapyr.net (darnok@localhost [127.0.0.1])
	by andromeda.dapyr.net (8.13.4/8.13.4/Debian-3sarge3) with ESMTP id
	q4UMXZDq028715
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Wed, 30 May 2012 18:33:35 -0400
Received: (from darnok@localhost)
	by andromeda.dapyr.net (8.13.4/8.13.4/Submit) id q4UMXYpt028711;
	Wed, 30 May 2012 18:33:34 -0400
Date: Wed, 30 May 2012 18:33:34 -0400
From: Konrad Rzeszutek Wilk <konrad@darnok.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Message-ID: <20120530223334.GB28417@andromeda.dapyr.net>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC664E1.9050504@zytor.com>
User-Agent: Mutt/1.5.9i
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> > Now, someone probably needs to paravirt the *safe_regs variants in case
> > something else decides to use them. I don't know what to do here, do I
> > want more paravirt code in there? No. I guess if this is done carefully
> > and cleanly, then it should be ok but it can't be done like that - it
> > needs to adhere to the current pv_cpu_ops thing which is already there.

Using the native variant seems the right thing to do.
> > 
> 
> I thought I was being told that Xen would trap and emulate the
> rdmsr/wrmsr instructions.  I guess they don't want to do that for the

It does.
> handful of performance-sensitive MSRs there are, but those don't use the
> *_regs variants.

The underlaying issue (as I understand) was that .rdmsr_regs
(and the corresponding write) was NULL and that caused the crash.
This tiny patch should do it:

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..e74df95 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
 	.wbinvd = native_wbinvd,
 
 	.read_msr = native_read_msr_safe,
+	.rdmsr_regs = native_rdmsr_safe_regs,
 	.write_msr = xen_write_msr_safe,
+	.wrmsr_regs = native_wrmsr_safe_regs,
+
 	.read_tsc = native_read_tsc,
 	.read_pmc = native_read_pmc,
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 23:12:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 23:12:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZs39-0002FJ-Io; Wed, 30 May 2012 23:11:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZs38-0002FE-4X
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 23:11:30 +0000
Received: from [85.158.138.51:35590] by server-8.bemta-3.messagelabs.com id
	6E/EF-01456-129A6CF4; Wed, 30 May 2012 23:11:29 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338419486!30023437!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16747 invoked from network); 30 May 2012 23:11:28 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 23:11:28 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UN9GJP020636
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 16:09:16 -0700
Message-ID: <4FC6A897.6020005@zytor.com>
Date: Wed, 30 May 2012 16:09:11 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
	<20120530223334.GB28417@andromeda.dapyr.net>
In-Reply-To: <20120530223334.GB28417@andromeda.dapyr.net>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 03:33 PM, Konrad Rzeszutek Wilk wrote:
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 75f33b2..e74df95 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
>  	.wbinvd = native_wbinvd,
>  
>  	.read_msr = native_read_msr_safe,
> +	.rdmsr_regs = native_rdmsr_safe_regs,
>  	.write_msr = xen_write_msr_safe,
> +	.wrmsr_regs = native_wrmsr_safe_regs,
> +
>  	.read_tsc = native_read_tsc,
>  	.read_pmc = native_read_pmc,
>  

Okay, tell me again:

why do we have these hooks again?  Can we please weed out paravirt
methods that have no users?

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 23:12:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 23:12:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZs39-0002FJ-Io; Wed, 30 May 2012 23:11:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZs38-0002FE-4X
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 23:11:30 +0000
Received: from [85.158.138.51:35590] by server-8.bemta-3.messagelabs.com id
	6E/EF-01456-129A6CF4; Wed, 30 May 2012 23:11:29 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338419486!30023437!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16747 invoked from network); 30 May 2012 23:11:28 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-2.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 23:11:28 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UN9GJP020636
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 16:09:16 -0700
Message-ID: <4FC6A897.6020005@zytor.com>
Date: Wed, 30 May 2012 16:09:11 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
	<20120530223334.GB28417@andromeda.dapyr.net>
In-Reply-To: <20120530223334.GB28417@andromeda.dapyr.net>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 03:33 PM, Konrad Rzeszutek Wilk wrote:
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 75f33b2..e74df95 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
>  	.wbinvd = native_wbinvd,
>  
>  	.read_msr = native_read_msr_safe,
> +	.rdmsr_regs = native_rdmsr_safe_regs,
>  	.write_msr = xen_write_msr_safe,
> +	.wrmsr_regs = native_wrmsr_safe_regs,
> +
>  	.read_tsc = native_read_tsc,
>  	.read_pmc = native_read_pmc,
>  

Okay, tell me again:

why do we have these hooks again?  Can we please weed out paravirt
methods that have no users?

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 23:33:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 23:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZsOD-0002UP-GZ; Wed, 30 May 2012 23:33:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZsOB-0002UK-Rf
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 23:33:15 +0000
Received: from [85.158.143.35:52547] by server-1.bemta-4.messagelabs.com id
	07/A3-27869-B3EA6CF4; Wed, 30 May 2012 23:33:15 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338420792!7133932!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32468 invoked from network); 30 May 2012 23:33:14 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 23:33:14 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UNVsPu026063
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 16:31:56 -0700
Message-ID: <4FC6ADE5.6080003@zytor.com>
Date: Wed, 30 May 2012 16:31:49 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Andre Przywara <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
X-Enigmail-Version: 1.4.1
Cc: stable@vger.kernel.org.#.3.4+, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 06:10 AM, Andre Przywara wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.
> This fixes a crash when using the kernel as a Xen Dom0 on affected
> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> yet (this will be fixed in another patch).
> 
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # 3.4+

With Konrad's patch, this is no longer relevant, correct?

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Wed May 30 23:33:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 30 May 2012 23:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZsOD-0002UP-GZ; Wed, 30 May 2012 23:33:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1SZsOB-0002UK-Rf
	for xen-devel@lists.xensource.com; Wed, 30 May 2012 23:33:15 +0000
Received: from [85.158.143.35:52547] by server-1.bemta-4.messagelabs.com id
	07/A3-27869-B3EA6CF4; Wed, 30 May 2012 23:33:15 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338420792!7133932!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32468 invoked from network); 30 May 2012 23:33:14 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-2.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 May 2012 23:33:14 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4UNVsPu026063
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Wed, 30 May 2012 16:31:56 -0700
Message-ID: <4FC6ADE5.6080003@zytor.com>
Date: Wed, 30 May 2012 16:31:49 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Andre Przywara <andre.przywara@amd.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
In-Reply-To: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
X-Enigmail-Version: 1.4.1
Cc: stable@vger.kernel.org.#.3.4+, jeremy@goop.org,
	xen-devel@lists.xensource.com, konrad.wilk@oracle.com,
	linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
	Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/30/2012 06:10 AM, Andre Przywara wrote:
> Because we are behind a family check before tweaking the topology
> bit, we can use the standard rd/wrmsr variants for the CPUID feature
> register.
> This fixes a crash when using the kernel as a Xen Dom0 on affected
> Trinity systems. The wrmsrl_amd_safe is not properly paravirtualized
> yet (this will be fixed in another patch).
> 
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # 3.4+

With Konrad's patch, this is no longer relevant, correct?

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 02:00:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 02:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZugW-0007nP-5O; Thu, 31 May 2012 02:00:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZugU-0007nF-CD
	for xen-devel@lists.xen.org; Thu, 31 May 2012 02:00:18 +0000
Received: from [85.158.143.35:19957] by server-2.bemta-4.messagelabs.com id
	8F/E5-11595-1B0D6CF4; Thu, 31 May 2012 02:00:17 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338429615!14080057!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzMjY4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32541 invoked from network); 31 May 2012 02:00:16 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-21.messagelabs.com with SMTP;
	31 May 2012 02:00:16 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 19:00:12 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="106107499"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 30 May 2012 19:00:12 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 19:00:11 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 10:00:09 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: AQHNPlCm0ErPzgLEKE+cn2xIVxGOfpbiLOlAgAAT4h+AAOO1AA==
Date: Thu, 31 May 2012 02:00:09 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCBB4F@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
	<CBEBCF4D.41899%keir@xen.org>
In-Reply-To: <CBEBCF4D.41899%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Keir Fraser <keir@xen.org>, "Dong, Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Aravindh

This series patches has be checked in xen unstable tree Cset#25424~25429(except for #25426), can you test by your case?

Thanks,
-Xudong

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Wednesday, May 30, 2012 8:21 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson
> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
> 
> On 30/05/2012 12:16, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> >> -----Original Message-----
> >> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> >> Sent: Wednesday, May 30, 2012 6:40 PM
> >> To: Hao, Xudong; JBeulich@suse.com
> >> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> >> Jackson
> >> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
> >>
> >> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
> >>
> >>> Changes from v1:
> >>> - Define new struct hvm_trap to represent information of trap, include
> >>>   instruction length.
> >>> - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple
> of
> >>>   wrappers around that function for existing callers, so that their
> >>> parameter
> >>>   lists actually *shrink*.
> >>
> >> I checked in the series, except for the bit that infers trap type from
> >> within vmx_inject_trap(). Instead I plumbed through a trap-type field to
> >> dom0 toolstack, so the type can be specified by the caller.
> >>
> >
> > Thanks, that's more clean.
> >
> > The INT3 trap type should be HVMOP_TRAP_sw_exc in
> > tools/tests/xen-access/xen-access.c.
> 
> Thanks I'll fix it and renam einslen -> insn_len as Jan suggested.
> 
>  -- Keir
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 02:00:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 02:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZugW-0007nP-5O; Thu, 31 May 2012 02:00:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xudong.hao@intel.com>) id 1SZugU-0007nF-CD
	for xen-devel@lists.xen.org; Thu, 31 May 2012 02:00:18 +0000
Received: from [85.158.143.35:19957] by server-2.bemta-4.messagelabs.com id
	8F/E5-11595-1B0D6CF4; Thu, 31 May 2012 02:00:17 +0000
X-Env-Sender: xudong.hao@intel.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338429615!14080057!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzMjY4\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32541 invoked from network); 31 May 2012 02:00:16 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-7.tower-21.messagelabs.com with SMTP;
	31 May 2012 02:00:16 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 30 May 2012 19:00:12 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="106107499"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 30 May 2012 19:00:12 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Wed, 30 May 2012 19:00:11 -0700
Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.133]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 10:00:09 +0800
From: "Hao, Xudong" <xudong.hao@intel.com>
To: Aravindh Puthiyaparambil <aravindh@virtuata.com>
Thread-Topic: [PATCH v2 0/4] XEN: fix vmx exception mistake
Thread-Index: AQHNPlCm0ErPzgLEKE+cn2xIVxGOfpbiLOlAgAAT4h+AAOO1AA==
Date: Thu, 31 May 2012 02:00:09 +0000
Message-ID: <403610A45A2B5242BD291EDAE8B37D300FDCBB4F@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
	<CBEBCF4D.41899%keir@xen.org>
In-Reply-To: <CBEBCF4D.41899%keir@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: Keir Fraser <keir@xen.org>, "Dong, Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, Aravindh

This series patches has be checked in xen unstable tree Cset#25424~25429(except for #25426), can you test by your case?

Thanks,
-Xudong

> -----Original Message-----
> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> Sent: Wednesday, May 30, 2012 8:21 PM
> To: Hao, Xudong; JBeulich@suse.com
> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> Jackson
> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
> 
> On 30/05/2012 12:16, "Hao, Xudong" <xudong.hao@intel.com> wrote:
> 
> >> -----Original Message-----
> >> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
> >> Sent: Wednesday, May 30, 2012 6:40 PM
> >> To: Hao, Xudong; JBeulich@suse.com
> >> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
> >> Jackson
> >> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
> >>
> >> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
> >>
> >>> Changes from v1:
> >>> - Define new struct hvm_trap to represent information of trap, include
> >>>   instruction length.
> >>> - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple
> of
> >>>   wrappers around that function for existing callers, so that their
> >>> parameter
> >>>   lists actually *shrink*.
> >>
> >> I checked in the series, except for the bit that infers trap type from
> >> within vmx_inject_trap(). Instead I plumbed through a trap-type field to
> >> dom0 toolstack, so the type can be specified by the caller.
> >>
> >
> > Thanks, that's more clean.
> >
> > The INT3 trap type should be HVMOP_TRAP_sw_exc in
> > tools/tests/xen-access/xen-access.c.
> 
> Thanks I'll fix it and renam einslen -> insn_len as Jan suggested.
> 
>  -- Keir
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 04:51:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 04:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZxLR-0001Iz-C7; Thu, 31 May 2012 04:50:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mike@flyn.org>) id 1SZxLQ-0001Iu-Dg
	for xen-devel@lists.xen.org; Thu, 31 May 2012 04:50:44 +0000
Received: from [193.109.254.147:55787] by server-5.bemta-14.messagelabs.com id
	F9/FE-06171-3A8F6CF4; Thu, 31 May 2012 04:50:43 +0000
X-Env-Sender: mike@flyn.org
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338439842!4426842!1
X-Originating-IP: [72.251.202.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23308 invoked from network); 31 May 2012 04:50:42 -0000
Received: from cust-smtp2.lga6.us.voxel.net (HELO
	cust-smtp2.lga6.us.voxel.net) (72.251.202.115)
	by server-7.tower-27.messagelabs.com with SMTP;
	31 May 2012 04:50:42 -0000
Received: from vhost2.lga6.us.voxel.net (vhost2.lga6.us.voxel.net
	[72.251.193.170])
	by cust-smtp2.lga6.us.voxel.net (Postfix) with ESMTP id 28B43F00D5
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 00:50:42 -0400 (EDT)
Received: (qmail 14830 invoked by uid 108); 31 May 2012 00:50:41 -0400
Received: from unknown (HELO imp.flyn.org) (mike@flyn.org@99.18.142.129)
	by vhost2.lga6.us.voxel.net with ESMTPSA; 31 May 2012 00:50:41 -0400
Received: by imp.flyn.org (Postfix, from userid 1101)
	id 21581812007; Wed, 30 May 2012 23:50:41 -0500 (CDT)
Date: Wed, 30 May 2012 23:50:41 -0500
From: "W. Michael Petullo" <mike@flyn.org>
To: xen-devel@lists.xen.org
Message-ID: <20120531045040.GA16124@imp.flyn.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="k+w/mQv8wyuph6w0"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
Subject: [Xen-devel] Using "xl create" without domain config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--k+w/mQv8wyuph6w0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I found it useful to use xm without a domain configuration file:

	xm create /dev/null kernel=...

The xl command does not support this. See a previous thread I started:

	http://lists.xen.org/archives/html/xen-devel/2011-08/msg00330.html

I just found the time to modify xl so that it works without a domain
configuration file. For example:

	xl create kernel=\"...\" ...

Would it be possible to add this feature? The xl command already supports
augmenting a domain configuration file with additional information
from the command line. My changes just modify xl so that the entire
configuration may be specified on the command line.

To test this patch, run:

	1. xl create -c /path/to/config

	2. xl create -c /path/to/config someAdditionalDomainParam=\"value\"

	3. xl create -c kernel=\"/path/to/kernel\"

The third test covers the new case.

-- 
Mike

:wq

--k+w/mQv8wyuph6w0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="xen-4.1.2-xl-command-line-domain-def.patch"

diff -u --recursive --new-file xen-4.1.2-vanilla/tools/libxl/xl_cmdimpl.c xen-4.1.2/tools/libxl/xl_cmdimpl.c
--- xen-4.1.2-vanilla/tools/libxl/xl_cmdimpl.c	2011-10-20 12:05:43.000000000 -0500
+++ xen-4.1.2/tools/libxl/xl_cmdimpl.c	2012-05-30 23:37:51.261948881 -0500
@@ -1442,30 +1442,32 @@
                                        &config_data, &config_len);
         if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
                            config_file, strerror(errno)); return ERROR_FAIL; }
-        if (!restore_file && extra_config && strlen(extra_config)) {
-            if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
-                fprintf(stderr, "Failed to attach extra configration\n");
-                return ERROR_FAIL;
-            }
-            /* allocate space for the extra config plus two EOLs plus \0 */
-            config_data = realloc(config_data, config_len
-                + strlen(extra_config) + 2 + 1);
-            if (!config_data) {
-                fprintf(stderr, "Failed to realloc config_data\n");
-                return ERROR_FAIL;
-            }
-            config_len += sprintf(config_data + config_len, "\n%s\n",
-                extra_config);
-        }
     } else {
-        if (!config_data) {
-            fprintf(stderr, "Config file not specified and"
+        if (!config_data && !extra_config) {
+            fprintf(stderr, "Domain config file not specified,"
+	            " none on command line, and"
                     " none in save file\n");
             return ERROR_INVAL;
         }
         config_file = "<saved>";
     }
 
+    if (!restore_file && extra_config && strlen(extra_config)) {
+        if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
+            fprintf(stderr, "Failed to attach extra configration\n");
+            return ERROR_FAIL;
+        }
+        /* allocate space for the extra config plus two EOLs plus \0 */
+        config_data = realloc(config_data, config_len
+            + strlen(extra_config) + 2 + 1);
+        if (!config_data) {
+            fprintf(stderr, "Failed to realloc config_data\n");
+            return ERROR_FAIL;
+        }
+        config_len += sprintf(config_data + config_len, "\n%s\n",
+            extra_config);
+    }
+
     if (!dom_info->quiet)
         printf("Parsing config file %s\n", config_file);
 

--k+w/mQv8wyuph6w0
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--k+w/mQv8wyuph6w0--


From xen-devel-bounces@lists.xen.org Thu May 31 04:51:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 04:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZxLR-0001Iz-C7; Thu, 31 May 2012 04:50:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <mike@flyn.org>) id 1SZxLQ-0001Iu-Dg
	for xen-devel@lists.xen.org; Thu, 31 May 2012 04:50:44 +0000
Received: from [193.109.254.147:55787] by server-5.bemta-14.messagelabs.com id
	F9/FE-06171-3A8F6CF4; Thu, 31 May 2012 04:50:43 +0000
X-Env-Sender: mike@flyn.org
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338439842!4426842!1
X-Originating-IP: [72.251.202.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23308 invoked from network); 31 May 2012 04:50:42 -0000
Received: from cust-smtp2.lga6.us.voxel.net (HELO
	cust-smtp2.lga6.us.voxel.net) (72.251.202.115)
	by server-7.tower-27.messagelabs.com with SMTP;
	31 May 2012 04:50:42 -0000
Received: from vhost2.lga6.us.voxel.net (vhost2.lga6.us.voxel.net
	[72.251.193.170])
	by cust-smtp2.lga6.us.voxel.net (Postfix) with ESMTP id 28B43F00D5
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 00:50:42 -0400 (EDT)
Received: (qmail 14830 invoked by uid 108); 31 May 2012 00:50:41 -0400
Received: from unknown (HELO imp.flyn.org) (mike@flyn.org@99.18.142.129)
	by vhost2.lga6.us.voxel.net with ESMTPSA; 31 May 2012 00:50:41 -0400
Received: by imp.flyn.org (Postfix, from userid 1101)
	id 21581812007; Wed, 30 May 2012 23:50:41 -0500 (CDT)
Date: Wed, 30 May 2012 23:50:41 -0500
From: "W. Michael Petullo" <mike@flyn.org>
To: xen-devel@lists.xen.org
Message-ID: <20120531045040.GA16124@imp.flyn.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="k+w/mQv8wyuph6w0"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
Subject: [Xen-devel] Using "xl create" without domain config file
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--k+w/mQv8wyuph6w0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I found it useful to use xm without a domain configuration file:

	xm create /dev/null kernel=...

The xl command does not support this. See a previous thread I started:

	http://lists.xen.org/archives/html/xen-devel/2011-08/msg00330.html

I just found the time to modify xl so that it works without a domain
configuration file. For example:

	xl create kernel=\"...\" ...

Would it be possible to add this feature? The xl command already supports
augmenting a domain configuration file with additional information
from the command line. My changes just modify xl so that the entire
configuration may be specified on the command line.

To test this patch, run:

	1. xl create -c /path/to/config

	2. xl create -c /path/to/config someAdditionalDomainParam=\"value\"

	3. xl create -c kernel=\"/path/to/kernel\"

The third test covers the new case.

-- 
Mike

:wq

--k+w/mQv8wyuph6w0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="xen-4.1.2-xl-command-line-domain-def.patch"

diff -u --recursive --new-file xen-4.1.2-vanilla/tools/libxl/xl_cmdimpl.c xen-4.1.2/tools/libxl/xl_cmdimpl.c
--- xen-4.1.2-vanilla/tools/libxl/xl_cmdimpl.c	2011-10-20 12:05:43.000000000 -0500
+++ xen-4.1.2/tools/libxl/xl_cmdimpl.c	2012-05-30 23:37:51.261948881 -0500
@@ -1442,30 +1442,32 @@
                                        &config_data, &config_len);
         if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
                            config_file, strerror(errno)); return ERROR_FAIL; }
-        if (!restore_file && extra_config && strlen(extra_config)) {
-            if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
-                fprintf(stderr, "Failed to attach extra configration\n");
-                return ERROR_FAIL;
-            }
-            /* allocate space for the extra config plus two EOLs plus \0 */
-            config_data = realloc(config_data, config_len
-                + strlen(extra_config) + 2 + 1);
-            if (!config_data) {
-                fprintf(stderr, "Failed to realloc config_data\n");
-                return ERROR_FAIL;
-            }
-            config_len += sprintf(config_data + config_len, "\n%s\n",
-                extra_config);
-        }
     } else {
-        if (!config_data) {
-            fprintf(stderr, "Config file not specified and"
+        if (!config_data && !extra_config) {
+            fprintf(stderr, "Domain config file not specified,"
+	            " none on command line, and"
                     " none in save file\n");
             return ERROR_INVAL;
         }
         config_file = "<saved>";
     }
 
+    if (!restore_file && extra_config && strlen(extra_config)) {
+        if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) {
+            fprintf(stderr, "Failed to attach extra configration\n");
+            return ERROR_FAIL;
+        }
+        /* allocate space for the extra config plus two EOLs plus \0 */
+        config_data = realloc(config_data, config_len
+            + strlen(extra_config) + 2 + 1);
+        if (!config_data) {
+            fprintf(stderr, "Failed to realloc config_data\n");
+            return ERROR_FAIL;
+        }
+        config_len += sprintf(config_data + config_len, "\n%s\n",
+            extra_config);
+    }
+
     if (!dom_info->quiet)
         printf("Parsing config file %s\n", config_file);
 

--k+w/mQv8wyuph6w0
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--k+w/mQv8wyuph6w0--


From xen-devel-bounces@lists.xen.org Thu May 31 06:20:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 06:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZyk0-00027w-1r; Thu, 31 May 2012 06:20:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZyjz-00027o-0O
	for xen-devel@lists.xen.org; Thu, 31 May 2012 06:20:11 +0000
Received: from [85.158.143.35:29216] by server-2.bemta-4.messagelabs.com id
	EB/06-11595-A9D07CF4; Thu, 31 May 2012 06:20:10 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338445208!18160851!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDQwODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24189 invoked from network); 31 May 2012 06:20:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 06:20:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 07:20:07 +0100
Message-Id: <4FC729B602000078000870EE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 07:20:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part6B45EE86.0__="
Subject: [Xen-devel] [PATCH] passthrough: fix xsm-related oversight
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part6B45EE86.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Presumably a copy-and-paste mistake, which I also didn't notice while
unifying x86's and ia64's respective domctl implementations.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -625,7 +625,7 @@ int iommu_do_domctl(
             break;
         }
=20
-        ret =3D xsm_assign_device(d, domctl->u.assign_device.machine_sbdf)=
;
+        ret =3D xsm_deassign_device(d, domctl->u.assign_device.machine_sbd=
f);
         if ( ret )
             goto deassign_device_out;
=20




--=__Part6B45EE86.0__=
Content-Type: text/plain; name="xsm-deassign-device.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xsm-deassign-device.patch"

passthrough: fix xsm-related oversight=0A=0APresumably a copy-and-paste =
mistake, which I also didn't notice while=0Aunifying x86's and ia64's =
respective domctl implementations.=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/xen/drivers/passthrough/iommu.c=0A+++ =
b/xen/drivers/passthrough/iommu.c=0A@@ -625,7 +625,7 @@ int iommu_do_domctl=
(=0A             break;=0A         }=0A =0A-        ret =3D xsm_assign_devi=
ce(d, domctl->u.assign_device.machine_sbdf);=0A+        ret =3D xsm_deassig=
n_device(d, domctl->u.assign_device.machine_sbdf);=0A         if ( ret =
)=0A             goto deassign_device_out;=0A =0A
--=__Part6B45EE86.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part6B45EE86.0__=--


From xen-devel-bounces@lists.xen.org Thu May 31 06:20:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 06:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZyk0-00027w-1r; Thu, 31 May 2012 06:20:12 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZyjz-00027o-0O
	for xen-devel@lists.xen.org; Thu, 31 May 2012 06:20:11 +0000
Received: from [85.158.143.35:29216] by server-2.bemta-4.messagelabs.com id
	EB/06-11595-A9D07CF4; Thu, 31 May 2012 06:20:10 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338445208!18160851!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDQwODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24189 invoked from network); 31 May 2012 06:20:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 06:20:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 07:20:07 +0100
Message-Id: <4FC729B602000078000870EE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 07:20:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part6B45EE86.0__="
Subject: [Xen-devel] [PATCH] passthrough: fix xsm-related oversight
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part6B45EE86.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Presumably a copy-and-paste mistake, which I also didn't notice while
unifying x86's and ia64's respective domctl implementations.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -625,7 +625,7 @@ int iommu_do_domctl(
             break;
         }
=20
-        ret =3D xsm_assign_device(d, domctl->u.assign_device.machine_sbdf)=
;
+        ret =3D xsm_deassign_device(d, domctl->u.assign_device.machine_sbd=
f);
         if ( ret )
             goto deassign_device_out;
=20




--=__Part6B45EE86.0__=
Content-Type: text/plain; name="xsm-deassign-device.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xsm-deassign-device.patch"

passthrough: fix xsm-related oversight=0A=0APresumably a copy-and-paste =
mistake, which I also didn't notice while=0Aunifying x86's and ia64's =
respective domctl implementations.=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/xen/drivers/passthrough/iommu.c=0A+++ =
b/xen/drivers/passthrough/iommu.c=0A@@ -625,7 +625,7 @@ int iommu_do_domctl=
(=0A             break;=0A         }=0A =0A-        ret =3D xsm_assign_devi=
ce(d, domctl->u.assign_device.machine_sbdf);=0A+        ret =3D xsm_deassig=
n_device(d, domctl->u.assign_device.machine_sbdf);=0A         if ( ret =
)=0A             goto deassign_device_out;=0A =0A
--=__Part6B45EE86.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part6B45EE86.0__=--


From xen-devel-bounces@lists.xen.org Thu May 31 07:03:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzOy-0002b0-9Y; Thu, 31 May 2012 07:02:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZzOw-0002av-N4
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:02:31 +0000
Received: from [85.158.143.35:27425] by server-2.bemta-4.messagelabs.com id
	E3/D9-11595-58717CF4; Thu, 31 May 2012 07:02:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338447749!7173816!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29774 invoked from network); 31 May 2012 07:02:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:02:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,689,1330905600"; d="scan'208";a="12753177"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:02:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 08:02:28 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZzOu-0000eG-Ak;
	Thu, 31 May 2012 07:02:28 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZzOu-0006cx-3M;
	Thu, 31 May 2012 08:02:28 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12997-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:02:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12997: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12997 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12997/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12996
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10 fail in 12996 pass in 12997

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12996 blocked in 12997

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a120d24f90fb
baseline version:
 xen                  a120d24f90fb

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:03:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzOy-0002b0-9Y; Thu, 31 May 2012 07:02:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SZzOw-0002av-N4
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:02:31 +0000
Received: from [85.158.143.35:27425] by server-2.bemta-4.messagelabs.com id
	E3/D9-11595-58717CF4; Thu, 31 May 2012 07:02:29 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338447749!7173816!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29774 invoked from network); 31 May 2012 07:02:29 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:02:29 -0000
X-IronPort-AV: E=Sophos;i="4.75,689,1330905600"; d="scan'208";a="12753177"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:02:28 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 08:02:28 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SZzOu-0000eG-Ak;
	Thu, 31 May 2012 07:02:28 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SZzOu-0006cx-3M;
	Thu, 31 May 2012 08:02:28 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12997-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:02:28 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12997: tolerable FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12997 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12997/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 11 guest-localmigrate.2 fail pass in 12996
 test-amd64-amd64-xl-sedf-pin 14 guest-localmigrate/x10 fail in 12996 pass in 12997

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail in 12996 blocked in 12997

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  a120d24f90fb
baseline version:
 xen                  a120d24f90fb

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:18:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:18:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzdk-00034y-CV; Thu, 31 May 2012 07:17:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZzdi-00034r-Os
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:17:47 +0000
Received: from [193.109.254.147:20932] by server-6.bemta-14.messagelabs.com id
	30/F5-10397-91B17CF4; Thu, 31 May 2012 07:17:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338448665!11942672!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDQwODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11760 invoked from network); 31 May 2012 07:17:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 07:17:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 08:17:44 +0100
Message-Id: <4FC737370200007800087119@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 08:17:43 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
In-Reply-To: <20120530171754.GA5115@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <jacob.shin@amd.com>,
	linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 19:17, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> I am tempted to write a patch that checks all the pv-cpu-ops
> to see if there are any that are NULL and throw a warning so
> that this does not hit us in the future - to be at least more
> proactive about this sort of thing.

Perhaps rather than using C99 initializers, using old-style ones
would be an alternative (assuming that the signatures of the
respective entries [or at least immediately neighboring ones]
are different), with a sentinel that is required to remain last
(i.e. adding at the very end would be prohibited)?

Or rather than doing a full structure assignment, assign
individual members directly to pv_cpu_ops (thus leaving
everything that's not explicitly overridden at its "native"
default)? After all, this is being done on __init code, so the
few extra code bytes shouldn't matter much? (All this of
course in the context of hpa's valid request that there be
no unused paravirt hooks in the first place.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:18:13 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:18:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzdk-00034y-CV; Thu, 31 May 2012 07:17:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZzdi-00034r-Os
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:17:47 +0000
Received: from [193.109.254.147:20932] by server-6.bemta-14.messagelabs.com id
	30/F5-10397-91B17CF4; Thu, 31 May 2012 07:17:45 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338448665!11942672!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDQwODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11760 invoked from network); 31 May 2012 07:17:45 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 07:17:45 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 08:17:44 +0100
Message-Id: <4FC737370200007800087119@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 08:17:43 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
In-Reply-To: <20120530171754.GA5115@phenom.dumpdata.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com, Jacob Shin <jacob.shin@amd.com>,
	linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 19:17, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> I am tempted to write a patch that checks all the pv-cpu-ops
> to see if there are any that are NULL and throw a warning so
> that this does not hit us in the future - to be at least more
> proactive about this sort of thing.

Perhaps rather than using C99 initializers, using old-style ones
would be an alternative (assuming that the signatures of the
respective entries [or at least immediately neighboring ones]
are different), with a sentinel that is required to remain last
(i.e. adding at the very end would be prohibited)?

Or rather than doing a full structure assignment, assign
individual members directly to pv_cpu_ops (thus leaving
everything that's not explicitly overridden at its "native"
default)? After all, this is being done on __init code, so the
few extra code bytes shouldn't matter much? (All this of
course in the context of hpa's valid request that there be
no unused paravirt hooks in the first place.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:31:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzpa-0003J3-L6; Thu, 31 May 2012 07:30:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1SZzpZ-0003Iy-NX
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:30:01 +0000
Received: from [85.158.138.51:63295] by server-4.bemta-3.messagelabs.com id
	CC/EA-32504-8FD17CF4; Thu, 31 May 2012 07:30:00 +0000
X-Env-Sender: zhangzhi2022@hotmail.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338449398!30004080!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.1 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23918 invoked from network); 31 May 2012 07:29:59 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	31 May 2012 07:29:59 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1SZzpW-0002R4-0D
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 00:29:58 -0700
Date: Thu, 31 May 2012 00:29:58 -0700 (PDT)
From: zhangzhi <zhangzhi2022@hotmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1338449397999-5709206.post@n5.nabble.com>
In-Reply-To: <hr42m1$cbi$1@dough.gmane.org>
References: <hr42m1$cbi$1@dough.gmane.org>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Memory CoW in XEN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, you

Did you get the answer to your questions.
Quite recently, I'm also looking for the information about this topic.
Thanks.

--
View this message in context: http://xen.1045712.n5.nabble.com/Memory-CoW-in-XEN-tp2526034p5709206.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:31:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzpa-0003J3-L6; Thu, 31 May 2012 07:30:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1SZzpZ-0003Iy-NX
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:30:01 +0000
Received: from [85.158.138.51:63295] by server-4.bemta-3.messagelabs.com id
	CC/EA-32504-8FD17CF4; Thu, 31 May 2012 07:30:00 +0000
X-Env-Sender: zhangzhi2022@hotmail.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338449398!30004080!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.1 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23918 invoked from network); 31 May 2012 07:29:59 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	31 May 2012 07:29:59 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1SZzpW-0002R4-0D
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 00:29:58 -0700
Date: Thu, 31 May 2012 00:29:58 -0700 (PDT)
From: zhangzhi <zhangzhi2022@hotmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1338449397999-5709206.post@n5.nabble.com>
In-Reply-To: <hr42m1$cbi$1@dough.gmane.org>
References: <hr42m1$cbi$1@dough.gmane.org>
MIME-Version: 1.0
Subject: Re: [Xen-devel] Memory CoW in XEN
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, you

Did you get the answer to your questions.
Quite recently, I'm also looking for the information about this topic.
Thanks.

--
View this message in context: http://xen.1045712.n5.nabble.com/Memory-CoW-in-XEN-tp2526034p5709206.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:39:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzya-0003Y7-M4; Thu, 31 May 2012 07:39:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZzyZ-0003Y2-Oz
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:39:19 +0000
Received: from [85.158.139.83:20984] by server-10.bemta-5.messagelabs.com id
	B9/97-22179-72027CF4; Thu, 31 May 2012 07:39:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338449958!23954380!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDQwODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11709 invoked from network); 31 May 2012 07:39:18 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 07:39:18 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 08:39:16 +0100
Message-Id: <4FC73C430200007800087137@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 08:39:15 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Borislav Petkov" <bp@alien8.de>
References: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com> <4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com> <4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
In-Reply-To: <20120530181722.GF15438@x1.osrc.amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 20:17, Borislav Petkov <bp@alien8.de> wrote:
> On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
> The other place where we use the amd_safe variants is an obscure K8,
> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> so I'm assuming people haven't run xen on such boxes yet. Does it need
> fixing? Probably, if we really really have to.

This again is something that shouldn't even be attempted under
Xen. The hypervisor, unless really old, does this (and wouldn't
allow the write by any domain - privileged or not - anyway).

There's one more user though - the code triggered by the
"show_msr=" command line option. This one indeed requires
rdmsr_safe_regs to be functional (albeit under Xen, once
again, this won't work currently anyway for those MRS on
old CPUs where the special key in %edi is required, which the
emulation code in Xen doesn't support).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:39:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzya-0003Y7-M4; Thu, 31 May 2012 07:39:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1SZzyZ-0003Y2-Oz
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 07:39:19 +0000
Received: from [85.158.139.83:20984] by server-10.bemta-5.messagelabs.com id
	B9/97-22179-72027CF4; Thu, 31 May 2012 07:39:19 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338449958!23954380!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDQwODE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11709 invoked from network); 31 May 2012 07:39:18 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-16.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 07:39:18 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 08:39:16 +0100
Message-Id: <4FC73C430200007800087137@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 08:39:15 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Borislav Petkov" <bp@alien8.de>
References: <4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com> <4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com> <4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
In-Reply-To: <20120530181722.GF15438@x1.osrc.amd.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 30.05.12 at 20:17, Borislav Petkov <bp@alien8.de> wrote:
> On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
> The other place where we use the amd_safe variants is an obscure K8,
> revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> so I'm assuming people haven't run xen on such boxes yet. Does it need
> fixing? Probably, if we really really have to.

This again is something that shouldn't even be attempted under
Xen. The hypervisor, unless really old, does this (and wouldn't
allow the write by any domain - privileged or not - anyway).

There's one more user though - the code triggered by the
"show_msr=" command line option. This one indeed requires
rdmsr_safe_regs to be functional (albeit under Xen, once
again, this won't work currently anyway for those MRS on
old CPUs where the special key in %edi is required, which the
emulation code in Xen doesn't support).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:39:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzyg-0003YP-2S; Thu, 31 May 2012 07:39:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZzye-0003YJ-Lk
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:39:24 +0000
Received: from [85.158.138.51:56728] by server-4.bemta-3.messagelabs.com id
	10/49-32504-B2027CF4; Thu, 31 May 2012 07:39:23 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338449961!11356157!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDcxMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29340 invoked from network); 31 May 2012 07:39:22 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:39:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,689,1330923600"; d="scan'208";a="26325100"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 03:39:20 -0400
Received: from drall.uk.xensource.com (10.80.227.107) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 03:39:20 -0400
MIME-Version: 1.0
X-Mercurial-Node: 2d0a29ab3f917df16804c1ed9349bbfb4f2ffc42
Message-ID: <2d0a29ab3f917df16804.1338449959@drall.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 08:39:19 +0100
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: xen-devel@lists.xen.org
Cc: simon.rowe@eu.citrix.com
Subject: [Xen-devel] [PATCH V2] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xs_watch() creates a thread to wake watchers using default attributes. The
stacksize can be quite large (8 MB on Linux), applications that link against
xenstore end up having a larger memory footprint than necessary.

Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>

---
Changed since v1:
  * remove test for _POSIX_THREAD_ATTR_STACKSIZE
  * use define for constant

diff -r 52ffce7a036e -r 2d0a29ab3f91 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c	Tue May 29 11:36:36 2012 +0100
+++ b/tools/xenstore/xs.c	Wed May 30 13:41:07 2012 +0100
@@ -702,14 +702,29 @@ bool xs_watch(struct xs_handle *h, const
 	struct iovec iov[2];
 
 #ifdef USE_PTHREAD
+#define READ_THREAD_STACKSIZE (16 * 1024)
+
 	/* We dynamically create a reader thread on demand. */
 	mutex_lock(&h->request_mutex);
 	if (!h->read_thr_exists) {
-		if (pthread_create(&h->read_thr, NULL, read_thread, h) != 0) {
+		pthread_attr_t attr;
+
+		if (pthread_attr_init(&attr) != 0) {
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+		if (pthread_attr_setstacksize(&attr, READ_THREAD_STACKSIZE) != 0) {
+			pthread_attr_destroy(&attr);
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+		if (pthread_create(&h->read_thr, &attr, read_thread, h) != 0) {
+			pthread_attr_destroy(&attr);
 			mutex_unlock(&h->request_mutex);
 			return false;
 		}
 		h->read_thr_exists = 1;
+		pthread_attr_destroy(&attr);
 	}
 	mutex_unlock(&h->request_mutex);
 #endif

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:39:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SZzyg-0003YP-2S; Thu, 31 May 2012 07:39:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Simon.Rowe@eu.citrix.com>) id 1SZzye-0003YJ-Lk
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:39:24 +0000
Received: from [85.158.138.51:56728] by server-4.bemta-3.messagelabs.com id
	10/49-32504-B2027CF4; Thu, 31 May 2012 07:39:23 +0000
X-Env-Sender: Simon.Rowe@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338449961!11356157!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDcxMjM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29340 invoked from network); 31 May 2012 07:39:22 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:39:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,689,1330923600"; d="scan'208";a="26325100"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 03:39:20 -0400
Received: from drall.uk.xensource.com (10.80.227.107) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 03:39:20 -0400
MIME-Version: 1.0
X-Mercurial-Node: 2d0a29ab3f917df16804c1ed9349bbfb4f2ffc42
Message-ID: <2d0a29ab3f917df16804.1338449959@drall.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 08:39:19 +0100
From: Simon Rowe <simon.rowe@eu.citrix.com>
To: xen-devel@lists.xen.org
Cc: simon.rowe@eu.citrix.com
Subject: [Xen-devel] [PATCH V2] xs: set read_thread stacksize
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

xs_watch() creates a thread to wake watchers using default attributes. The
stacksize can be quite large (8 MB on Linux), applications that link against
xenstore end up having a larger memory footprint than necessary.

Signed-off-by: Simon Rowe <simon.rowe@eu.citrix.com>

---
Changed since v1:
  * remove test for _POSIX_THREAD_ATTR_STACKSIZE
  * use define for constant

diff -r 52ffce7a036e -r 2d0a29ab3f91 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c	Tue May 29 11:36:36 2012 +0100
+++ b/tools/xenstore/xs.c	Wed May 30 13:41:07 2012 +0100
@@ -702,14 +702,29 @@ bool xs_watch(struct xs_handle *h, const
 	struct iovec iov[2];
 
 #ifdef USE_PTHREAD
+#define READ_THREAD_STACKSIZE (16 * 1024)
+
 	/* We dynamically create a reader thread on demand. */
 	mutex_lock(&h->request_mutex);
 	if (!h->read_thr_exists) {
-		if (pthread_create(&h->read_thr, NULL, read_thread, h) != 0) {
+		pthread_attr_t attr;
+
+		if (pthread_attr_init(&attr) != 0) {
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+		if (pthread_attr_setstacksize(&attr, READ_THREAD_STACKSIZE) != 0) {
+			pthread_attr_destroy(&attr);
+			mutex_unlock(&h->request_mutex);
+			return false;
+		}
+		if (pthread_create(&h->read_thr, &attr, read_thread, h) != 0) {
+			pthread_attr_destroy(&attr);
 			mutex_unlock(&h->request_mutex);
 			return false;
 		}
 		h->read_thr_exists = 1;
+		pthread_attr_destroy(&attr);
 	}
 	mutex_unlock(&h->request_mutex);
 #endif

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:53:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:53:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0BZ-0003rv-Mk; Thu, 31 May 2012 07:52:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0BY-0003rq-BS
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:52:44 +0000
Received: from [85.158.138.51:28164] by server-9.bemta-3.messagelabs.com id
	BC/68-21565-B4327CF4; Thu, 31 May 2012 07:52:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338450762!30009315!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32195 invoked from network); 31 May 2012 07:52:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:52:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754064"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:52:42 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:52:41 +0100
Message-ID: <1338450760.17466.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:52:40 +0100
In-Reply-To: <1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the subject: "facility"

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> This will be used to write the qemu data banner to the save/migration
> stream.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxl/libxl_aoutils.c  |   15 +++++++++++++++
>  tools/libxl/libxl_internal.h |    6 ++++++
>  2 files changed, 21 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
> index ee0df57..208b34b 100644
> --- a/tools/libxl/libxl_aoutils.c
> +++ b/tools/libxl/libxl_aoutils.c
> @@ -74,6 +74,21 @@ static void datacopier_check_state(libxl__egc *egc, libxl__datacopier_state *dc)
>      }
>  }
>  
> +void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
> +                                  const void *data, size_t len)
> +{
> +    libxl__datacopier_buf *buf;
> +
> +    assert(len < dc->maxsz - dc->used);
> +
> +    buf = libxl__zalloc(0, sizeof(*buf) - sizeof(buf->buf) + len);
> +    buf->used = len;
> +    memcpy(buf->buf, data, len);
> +
> +    dc->used += len;
> +    LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
> +}
> +
>  static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
>                                  int fd, short events, short revents) {
>      libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, toread);
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 8f4f45d..b41e72f 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
>  _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
>  _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
>  
> +/* Inserts literal data into the output stream.
> + * May safely be used only immediately after libxl__datacopier_start.

After datacopier_start the fds are registered, is there not a race
between those events firing (perhaps in another thread which has called
into libxl) and this thread?

Is the safe place not between datacopier_init and the rest of
datacopier_start?

> + * (But may be called multiple times.)  The data is copied.
> + * NB exceeding maxsz will fail an assertion! */
> +_hidden void libxl__datacopier_prefixdata(libxl__egc*, libxl__datacopier_state*,
> +                                          const void *data, size_t len);
>  
>  /*----- Save/restore helper (used by creation and suspend) -----*/
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:53:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:53:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0BZ-0003rv-Mk; Thu, 31 May 2012 07:52:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0BY-0003rq-BS
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:52:44 +0000
Received: from [85.158.138.51:28164] by server-9.bemta-3.messagelabs.com id
	BC/68-21565-B4327CF4; Thu, 31 May 2012 07:52:43 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338450762!30009315!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32195 invoked from network); 31 May 2012 07:52:42 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:52:42 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754064"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:52:42 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:52:41 +0100
Message-ID: <1338450760.17466.5.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:52:40 +0100
In-Reply-To: <1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

In the subject: "facility"

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> This will be used to write the qemu data banner to the save/migration
> stream.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
>  tools/libxl/libxl_aoutils.c  |   15 +++++++++++++++
>  tools/libxl/libxl_internal.h |    6 ++++++
>  2 files changed, 21 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c
> index ee0df57..208b34b 100644
> --- a/tools/libxl/libxl_aoutils.c
> +++ b/tools/libxl/libxl_aoutils.c
> @@ -74,6 +74,21 @@ static void datacopier_check_state(libxl__egc *egc, libxl__datacopier_state *dc)
>      }
>  }
>  
> +void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
> +                                  const void *data, size_t len)
> +{
> +    libxl__datacopier_buf *buf;
> +
> +    assert(len < dc->maxsz - dc->used);
> +
> +    buf = libxl__zalloc(0, sizeof(*buf) - sizeof(buf->buf) + len);
> +    buf->used = len;
> +    memcpy(buf->buf, data, len);
> +
> +    dc->used += len;
> +    LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
> +}
> +
>  static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
>                                  int fd, short events, short revents) {
>      libxl__datacopier_state *dc = CONTAINER_OF(ev, *dc, toread);
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 8f4f45d..b41e72f 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
>  _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
>  _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
>  
> +/* Inserts literal data into the output stream.
> + * May safely be used only immediately after libxl__datacopier_start.

After datacopier_start the fds are registered, is there not a race
between those events firing (perhaps in another thread which has called
into libxl) and this thread?

Is the safe place not between datacopier_init and the rest of
datacopier_start?

> + * (But may be called multiple times.)  The data is copied.
> + * NB exceeding maxsz will fail an assertion! */
> +_hidden void libxl__datacopier_prefixdata(libxl__egc*, libxl__datacopier_state*,
> +                                          const void *data, size_t len);
>  
>  /*----- Save/restore helper (used by creation and suspend) -----*/
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:53:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0CN-0003uW-4d; Thu, 31 May 2012 07:53:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0CL-0003uO-OJ
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:53:33 +0000
Received: from [85.158.143.99:20922] by server-1.bemta-4.messagelabs.com id
	86/2D-27869-D7327CF4; Thu, 31 May 2012 07:53:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338450812!30631236!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7873 invoked from network); 31 May 2012 07:53:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:53:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754082"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:53:32 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:53:32 +0100
Message-ID: <1338450810.17466.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:53:30 +0100
In-Reply-To: <1338394606-22693-13-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-13-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 12/15] xl: Handle return value from
 libxl_domain_suspend correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> libxl_domain_suspend returns a libxl error code.  So it must be
> wrapped with MUST and not CHK_ERRNO.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/xl_cmdimpl.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 9b4a80e..8c5f147 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -2820,7 +2820,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
>  
>      save_domain_core_writeconfig(fd, filename, config_data, config_len);
>  
> -    CHK_ERRNO(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
> +    MUST(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
>      close(fd);
>  
>      if (checkpoint)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:53:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0CN-0003uW-4d; Thu, 31 May 2012 07:53:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0CL-0003uO-OJ
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:53:33 +0000
Received: from [85.158.143.99:20922] by server-1.bemta-4.messagelabs.com id
	86/2D-27869-D7327CF4; Thu, 31 May 2012 07:53:33 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338450812!30631236!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7873 invoked from network); 31 May 2012 07:53:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:53:32 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754082"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:53:32 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:53:32 +0100
Message-ID: <1338450810.17466.6.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:53:30 +0100
In-Reply-To: <1338394606-22693-13-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-13-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 12/15] xl: Handle return value from
 libxl_domain_suspend correctly
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> libxl_domain_suspend returns a libxl error code.  So it must be
> wrapped with MUST and not CHK_ERRNO.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/xl_cmdimpl.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index 9b4a80e..8c5f147 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -2820,7 +2820,7 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
>  
>      save_domain_core_writeconfig(fd, filename, config_data, config_len);
>  
> -    CHK_ERRNO(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
> +    MUST(libxl_domain_suspend(ctx, domid, fd, 0, NULL));
>      close(fd);
>  
>      if (checkpoint)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:54:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:54:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0Cr-0003xw-HN; Thu, 31 May 2012 07:54:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0Cp-0003xW-Is
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:54:03 +0000
Received: from [193.109.254.147:49821] by server-1.bemta-14.messagelabs.com id
	59/F8-07411-A9327CF4; Thu, 31 May 2012 07:54:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338450842!9338298!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10211 invoked from network); 31 May 2012 07:54:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:54:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754094"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:54:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:54:02 +0100
Message-ID: <1338450840.17466.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:54:00 +0100
In-Reply-To: <1338394606-22693-14-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-14-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 13/15] libxl: do not leak dms->saved_state
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> This was allocated using asprintf but never freed.  Use GCSPRINTF.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl_create.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index eaf378b..6babdb0 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -739,9 +739,8 @@ void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
>          goto out;
>  
>      if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
> -        ret = asprintf(&state->saved_state,
> +        state->saved_state = GCSPRINTF(
>                         XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
> -        ret = (ret < 0) ? ERROR_FAIL : 0;
>      }
>  
>  out:



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:54:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:54:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0Cr-0003xw-HN; Thu, 31 May 2012 07:54:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0Cp-0003xW-Is
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:54:03 +0000
Received: from [193.109.254.147:49821] by server-1.bemta-14.messagelabs.com id
	59/F8-07411-A9327CF4; Thu, 31 May 2012 07:54:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338450842!9338298!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10211 invoked from network); 31 May 2012 07:54:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:54:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754094"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:54:02 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:54:02 +0100
Message-ID: <1338450840.17466.7.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:54:00 +0100
In-Reply-To: <1338394606-22693-14-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-14-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 13/15] libxl: do not leak dms->saved_state
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> This was allocated using asprintf but never freed.  Use GCSPRINTF.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl_create.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index eaf378b..6babdb0 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -739,9 +739,8 @@ void libxl__xc_domain_restore_done(libxl__egc *egc, void *dcs_void,
>          goto out;
>  
>      if (info->type == LIBXL_DOMAIN_TYPE_HVM) {
> -        ret = asprintf(&state->saved_state,
> +        state->saved_state = GCSPRINTF(
>                         XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
> -        ret = (ret < 0) ? ERROR_FAIL : 0;
>      }
>  
>  out:



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:55:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:55:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0Dw-00045y-W5; Thu, 31 May 2012 07:55:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0Dw-00045n-0U
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:55:12 +0000
Received: from [193.109.254.147:3417] by server-4.bemta-14.messagelabs.com id
	45/6D-03148-FD327CF4; Thu, 31 May 2012 07:55:11 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338450910!4199502!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16845 invoked from network); 31 May 2012 07:55:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:55:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754120"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:55:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:55:10 +0100
Message-ID: <1338450908.17466.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:55:08 +0100
In-Reply-To: <1338394606-22693-16-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-16-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 15/15] libxl: do not leak an event struct on
 ignored ao progress
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> On entry to libxl__ao_progress_report, the caller has allocated an
> event.  If the progress report is to be ignored, we need to free it.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl_event.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
> index 565d2c2..dd1a9ca 100644
> --- a/tools/libxl/libxl_event.c
> +++ b/tools/libxl/libxl_event.c
> @@ -1601,6 +1601,7 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
>      ev->for_user = how->for_event;
>      if (how->callback == dummy_asyncprogress_callback_ignore) {
>          LOG(DEBUG,"ao %p: progress report: ignored",ao);
> +        libxl_event_free(CTX,ev);
>          /* ignore */
>      } else if (how->callback) {
>          libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 07:55:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 07:55:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0Dw-00045y-W5; Thu, 31 May 2012 07:55:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa0Dw-00045n-0U
	for xen-devel@lists.xen.org; Thu, 31 May 2012 07:55:12 +0000
Received: from [193.109.254.147:3417] by server-4.bemta-14.messagelabs.com id
	45/6D-03148-FD327CF4; Thu, 31 May 2012 07:55:11 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1338450910!4199502!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDAzNTM=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16845 invoked from network); 31 May 2012 07:55:10 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 07:55:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,690,1330905600"; d="scan'208";a="12754120"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:55:10 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 08:55:10 +0100
Message-ID: <1338450908.17466.8.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 08:55:08 +0100
In-Reply-To: <1338394606-22693-16-git-send-email-ian.jackson@eu.citrix.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-16-git-send-email-ian.jackson@eu.citrix.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 15/15] libxl: do not leak an event struct on
 ignored ao progress
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> On entry to libxl__ao_progress_report, the caller has allocated an
> event.  If the progress report is to be ignored, we need to free it.
> 
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  tools/libxl/libxl_event.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
> index 565d2c2..dd1a9ca 100644
> --- a/tools/libxl/libxl_event.c
> +++ b/tools/libxl/libxl_event.c
> @@ -1601,6 +1601,7 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
>      ev->for_user = how->for_event;
>      if (how->callback == dummy_asyncprogress_callback_ignore) {
>          LOG(DEBUG,"ao %p: progress report: ignored",ao);
> +        libxl_event_free(CTX,ev);
>          /* ignore */
>      } else if (how->callback) {
>          libxl__aop_occurred *aop = libxl__zalloc(&egc->gc, sizeof(*aop));



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 08:04:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 08:04:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0MI-0004v0-Ie; Thu, 31 May 2012 08:03:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1Sa0MH-0004uu-Dq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 08:03:49 +0000
Received: from [85.158.143.99:61214] by server-2.bemta-4.messagelabs.com id
	03/01-11595-3E527CF4; Thu, 31 May 2012 08:03:47 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338451426!30325760!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7917 invoked from network); 31 May 2012 08:03:47 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 08:03:47 -0000
Received: by eekd41 with SMTP id d41so223506eek.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 01:03:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=TnWQo2Gn+Weef+Z2lFFcZBCdBgl2gycTzgkDezBuPRE=;
	b=g3lnwgteNUE/82QBtUefdJkZUxM+3c9pi7vinM+y8cd7IuwtdgLH5Xfk6hSreMKTDx
	gbN4d6ZddlgAwx4nJGrwCE5PuF0ddLx/N5yqNc2ADeOUKIaUIec0h+SGa2NfUdt+/fRM
	0ukJ84GRjM7omGPld1D34iHR1KT54ioSCIsXLHVLupa2D+013tT4h4/LNdAe28skIDq9
	1rNbv3raFsMr+kKsfUN5D1uSsqdeW2yh3K173kL2gVvGmvg53Rk+qNR5mUVyStvGSGTn
	wywGzqwrhk1RpkI0/Wd52D74YEbp2kCYPLZ9ayJnYFCZjlQ+k9cY0w/IiNB4UO78LzWp
	ddiQ==
Received: by 10.14.119.197 with SMTP id n45mr7781639eeh.204.1338451426573;
	Thu, 31 May 2012 01:03:46 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm7451038eef.10.2012.05.31.01.03.45
	(version=SSLv3 cipher=OTHER); Thu, 31 May 2012 01:03:45 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Thu, 31 May 2012 09:03:39 +0100
From: Keir Fraser <keir@xen.org>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBECE46B.4199B%keir@xen.org>
Thread-Topic: [Xen-devel] [PATCH] passthrough: fix xsm-related oversight
Thread-Index: Ac0/A+MHDXh8tDFfsEGAD6YsEVTa/g==
In-Reply-To: <4FC729B602000078000870EE@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] passthrough: fix xsm-related oversight
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/2012 07:20, "Jan Beulich" <JBeulich@suse.com> wrote:

> Presumably a copy-and-paste mistake, which I also didn't notice while
> unifying x86's and ia64's respective domctl implementations.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -625,7 +625,7 @@ int iommu_do_domctl(
>              break;
>          }
>  
> -        ret = xsm_assign_device(d, domctl->u.assign_device.machine_sbdf);
> +        ret = xsm_deassign_device(d, domctl->u.assign_device.machine_sbdf);
>          if ( ret )
>              goto deassign_device_out;
>  
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 08:04:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 08:04:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0MI-0004v0-Ie; Thu, 31 May 2012 08:03:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <keir.xen@gmail.com>) id 1Sa0MH-0004uu-Dq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 08:03:49 +0000
Received: from [85.158.143.99:61214] by server-2.bemta-4.messagelabs.com id
	03/01-11595-3E527CF4; Thu, 31 May 2012 08:03:47 +0000
X-Env-Sender: keir.xen@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338451426!30325760!1
X-Originating-IP: [74.125.83.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7917 invoked from network); 31 May 2012 08:03:47 -0000
Received: from mail-ee0-f45.google.com (HELO mail-ee0-f45.google.com)
	(74.125.83.45)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 08:03:47 -0000
Received: by eekd41 with SMTP id d41so223506eek.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 01:03:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:user-agent:date:subject:from:to:message-id:thread-topic
	:thread-index:in-reply-to:mime-version:content-type
	:content-transfer-encoding;
	bh=TnWQo2Gn+Weef+Z2lFFcZBCdBgl2gycTzgkDezBuPRE=;
	b=g3lnwgteNUE/82QBtUefdJkZUxM+3c9pi7vinM+y8cd7IuwtdgLH5Xfk6hSreMKTDx
	gbN4d6ZddlgAwx4nJGrwCE5PuF0ddLx/N5yqNc2ADeOUKIaUIec0h+SGa2NfUdt+/fRM
	0ukJ84GRjM7omGPld1D34iHR1KT54ioSCIsXLHVLupa2D+013tT4h4/LNdAe28skIDq9
	1rNbv3raFsMr+kKsfUN5D1uSsqdeW2yh3K173kL2gVvGmvg53Rk+qNR5mUVyStvGSGTn
	wywGzqwrhk1RpkI0/Wd52D74YEbp2kCYPLZ9ayJnYFCZjlQ+k9cY0w/IiNB4UO78LzWp
	ddiQ==
Received: by 10.14.119.197 with SMTP id n45mr7781639eeh.204.1338451426573;
	Thu, 31 May 2012 01:03:46 -0700 (PDT)
Received: from [192.168.1.3] (host217-43-89-104.range217-43.btcentralplus.com.
	[217.43.89.104])
	by mx.google.com with ESMTPS id y54sm7451038eef.10.2012.05.31.01.03.45
	(version=SSLv3 cipher=OTHER); Thu, 31 May 2012 01:03:45 -0700 (PDT)
User-Agent: Microsoft-Entourage/12.33.0.120411
Date: Thu, 31 May 2012 09:03:39 +0100
From: Keir Fraser <keir@xen.org>
To: Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xen.org>
Message-ID: <CBECE46B.4199B%keir@xen.org>
Thread-Topic: [Xen-devel] [PATCH] passthrough: fix xsm-related oversight
Thread-Index: Ac0/A+MHDXh8tDFfsEGAD6YsEVTa/g==
In-Reply-To: <4FC729B602000078000870EE@nat28.tlf.novell.com>
Mime-version: 1.0
Subject: Re: [Xen-devel] [PATCH] passthrough: fix xsm-related oversight
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/2012 07:20, "Jan Beulich" <JBeulich@suse.com> wrote:

> Presumably a copy-and-paste mistake, which I also didn't notice while
> unifying x86's and ia64's respective domctl implementations.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Keir Fraser <keir@xen.org>

> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -625,7 +625,7 @@ int iommu_do_domctl(
>              break;
>          }
>  
> -        ret = xsm_assign_device(d, domctl->u.assign_device.machine_sbdf);
> +        ret = xsm_deassign_device(d, domctl->u.assign_device.machine_sbdf);
>          if ( ret )
>              goto deassign_device_out;
>  
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 08:40:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 08:40:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0us-0005KE-Ks; Thu, 31 May 2012 08:39:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa0ur-0005K9-VT
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 08:39:34 +0000
Received: from [193.109.254.147:15483] by server-9.bemta-14.messagelabs.com id
	6F/A0-28098-54E27CF4; Thu, 31 May 2012 08:39:33 +0000
X-Env-Sender: zhangzhi2022@hotmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338453571!5309128!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.1 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1710 invoked from network); 31 May 2012 08:39:32 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	31 May 2012 08:39:32 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa0up-00037h-3w
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 01:39:31 -0700
Date: Thu, 31 May 2012 01:39:31 -0700 (PDT)
From: zhangzhi <zhangzhi2022@hotmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1338453571115-5709207.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Copy-on write sharing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, list,

xen 4.0 release has said that it had a special feature of copy-on write
sharing of identical memory pages between VMs (HVM only). 
I just wanna know the source code that illustrate this feature. 
Is anyone have an idea about the this feature as well as its specific source
code? thanks. 

--
View this message in context: http://xen.1045712.n5.nabble.com/Copy-on-write-sharing-tp5709207.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 08:40:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 08:40:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa0us-0005KE-Ks; Thu, 31 May 2012 08:39:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa0ur-0005K9-VT
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 08:39:34 +0000
Received: from [193.109.254.147:15483] by server-9.bemta-14.messagelabs.com id
	6F/A0-28098-54E27CF4; Thu, 31 May 2012 08:39:33 +0000
X-Env-Sender: zhangzhi2022@hotmail.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338453571!5309128!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.1 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1710 invoked from network); 31 May 2012 08:39:32 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	31 May 2012 08:39:32 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa0up-00037h-3w
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 01:39:31 -0700
Date: Thu, 31 May 2012 01:39:31 -0700 (PDT)
From: zhangzhi <zhangzhi2022@hotmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1338453571115-5709207.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] Copy-on write sharing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, list,

xen 4.0 release has said that it had a special feature of copy-on write
sharing of identical memory pages between VMs (HVM only). 
I just wanna know the source code that illustrate this feature. 
Is anyone have an idea about the this feature as well as its specific source
code? thanks. 

--
View this message in context: http://xen.1045712.n5.nabble.com/Copy-on-write-sharing-tp5709207.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:15:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:15:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1TJ-0005f3-PF; Thu, 31 May 2012 09:15:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1Sa1TI-0005ey-Ob
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:15:09 +0000
Received: from [85.158.139.83:33862] by server-11.bemta-5.messagelabs.com id
	5C/98-12711-B9637CF4; Thu, 31 May 2012 09:15:07 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338455706!30771777!1
X-Originating-IP: [66.111.4.27]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjcgPT4gMjAwNTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31176 invoked from network); 31 May 2012 09:15:07 -0000
Received: from out3-smtp.messagingengine.com (HELO
	out3-smtp.messagingengine.com) (66.111.4.27)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:15:07 -0000
Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 98D6D213BA;
	Thu, 31 May 2012 05:15:05 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161])
	by compute2.internal (MEProxy); Thu, 31 May 2012 05:15:05 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:references:in-reply-to:content-type; s=mesmtp; bh=7Z
	eKqsbHQ0VSlQHUcdaxAR0+7FE=; b=nokW12UfMeaTzow+E1BldLoVNI9vNeUfLP
	JmI7RQkE2Egon/T8z+vCGEBnx/Q9Nn+39rKUZOLbqWTt1LR1f3RF3GMH59mb3Otn
	lLfHkU84LkZSaV91L8mpRXHdiLzpgcFsw9V2dKYy5BLjRnmIJ24FsXJW4xdSsPhY
	nzYpkzawk=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:references:in-reply-to:content-type; s=smtpout; bh=7ZeK
	qsbHQ0VSlQHUcdaxAR0+7FE=; b=iWsWuA84+5zENdML/WJbId3Cs0h5OTFgFSwp
	Yc/RxNSgUq3lE6Co+illBJ6SVlCUyQM+C8kvQD2JSrwdvzHaseyR+9Wysn0Yog16
	kyO34mAGiZAJWtxJjSZSbmwrLoXnKrELO9Zq3jloCbowdJpaN/faQ43jYIoKfucX
	I9iidvQ=
X-Sasl-enc: hy17AP2RwbILVJdSmcPObvaRA8h5xYb1M8x3+UXl9B6X 1338455705
Received: from [10.137.2.24] (unknown [83.24.211.146])
	by mail.messagingengine.com (Postfix) with ESMTPA id DCD0E482756;
	Thu, 31 May 2012 05:15:04 -0400 (EDT)
Message-ID: <4FC73697.20509@invisiblethingslab.com>
Date: Thu, 31 May 2012 11:15:03 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
	<4FC614770200007800086D0C@nat28.tlf.novell.com>
In-Reply-To: <4FC614770200007800086D0C@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7100533746776080394=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============7100533746776080394==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enigB35C9E40CFC99F47361E5CD8"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigB35C9E40CFC99F47361E5CD8
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 05/30/12 12:37, Jan Beulich wrote:
>>>> On 30.05.12 at 12:14, Joanna Rutkowska <joanna@invisiblethingslab.co=
m> wrote:
>> > I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.=
1.2,
>> > and have noticed that those kernel noticeably downgrade performance =
of
>> > (at least) Intel GPUs. This is easily noticeable even on such trivia=
l
>> > tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
>> > performance on 3.3 and 3.4 kernels is in stark contrast with what I =
see
>> > on 3.2.7 Dom0 kernel, where graphics works just great...
>> >=20
>> > In order to make sure that this is not caused by power management se=
t
>> > too strictly, I played with xenpm and made sure to set the following=
:
>> > 1) xenpm set-scaling-governor performance
>> > 2) xenpm set-max-cstate 0
>> >=20
>> > I have verified then that my processor: 1) keeps staying in P0 state=

>> > (so, max frequency), and 2) keeps staying in C0 state.
>> >=20
>> > Those setting didn't change anything regarding the poor graphics
>> > performance, though.
>> >=20
>> > Any ideas what else I could test to find out the cause of this?
> To check whether the DRM drivers' supposedly more extensive
> use of the DMA API is the reason, could you check whether the
> performance is as bad with "mem=3D4G" on the Xen command line?

With mem=3D4G xen option, the graphics performance is just as poor as wit=
hout.

joanna.


--------------enigB35C9E40CFC99F47361E5CD8
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPxzaXAAoJEDaIqHeRBUM0e+gH/j1nu4oqExRffvPgJntr2tan
0u7sA5tSrH8jijOUk61OBmd9/oAwQt8asLPcxX1rbqKP73dMe6/nFxgZO/PBGjiY
hBwlktnS/s+lr+rf/aMIBDAZJmrB0QLFX6GcFZLbdyxq+xV3WeEZ1XoxPPPG41PU
1anjOyryHT+hYwqwEVDCME6Od8+dXuJRia9TEN0+YCHHMxzZ9MdJ1lb+5SXsz6Tg
WJNr8mNf04diG8m3DdQ1lSUqFAJUxSMbjG6WrgTqCwQw46FvchjHCWD9I+/0unwd
VTfaolecmQv4w8Qw5U/8EvQQLXVURs39/wL6Elu+//GMJY/dapsVLxY6zrdS6bg=
=ftK2
-----END PGP SIGNATURE-----

--------------enigB35C9E40CFC99F47361E5CD8--


--===============7100533746776080394==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7100533746776080394==--


From xen-devel-bounces@lists.xen.org Thu May 31 09:15:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:15:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1TJ-0005f3-PF; Thu, 31 May 2012 09:15:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <joanna@invisiblethingslab.com>) id 1Sa1TI-0005ey-Ob
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:15:09 +0000
Received: from [85.158.139.83:33862] by server-11.bemta-5.messagelabs.com id
	5C/98-12711-B9637CF4; Thu, 31 May 2012 09:15:07 +0000
X-Env-Sender: joanna@invisiblethingslab.com
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338455706!30771777!1
X-Originating-IP: [66.111.4.27]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTExLjQuMjcgPT4gMjAwNTU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31176 invoked from network); 31 May 2012 09:15:07 -0000
Received: from out3-smtp.messagingengine.com (HELO
	out3-smtp.messagingengine.com) (66.111.4.27)
	by server-13.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:15:07 -0000
Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42])
	by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 98D6D213BA;
	Thu, 31 May 2012 05:15:05 -0400 (EDT)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161])
	by compute2.internal (MEProxy); Thu, 31 May 2012 05:15:05 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=message-id:date:from:mime-version:to
	:cc:subject:references:in-reply-to:content-type; s=mesmtp; bh=7Z
	eKqsbHQ0VSlQHUcdaxAR0+7FE=; b=nokW12UfMeaTzow+E1BldLoVNI9vNeUfLP
	JmI7RQkE2Egon/T8z+vCGEBnx/Q9Nn+39rKUZOLbqWTt1LR1f3RF3GMH59mb3Otn
	lLfHkU84LkZSaV91L8mpRXHdiLzpgcFsw9V2dKYy5BLjRnmIJ24FsXJW4xdSsPhY
	nzYpkzawk=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
	messagingengine.com; h=message-id:date:from:mime-version:to:cc
	:subject:references:in-reply-to:content-type; s=smtpout; bh=7ZeK
	qsbHQ0VSlQHUcdaxAR0+7FE=; b=iWsWuA84+5zENdML/WJbId3Cs0h5OTFgFSwp
	Yc/RxNSgUq3lE6Co+illBJ6SVlCUyQM+C8kvQD2JSrwdvzHaseyR+9Wysn0Yog16
	kyO34mAGiZAJWtxJjSZSbmwrLoXnKrELO9Zq3jloCbowdJpaN/faQ43jYIoKfucX
	I9iidvQ=
X-Sasl-enc: hy17AP2RwbILVJdSmcPObvaRA8h5xYb1M8x3+UXl9B6X 1338455705
Received: from [10.137.2.24] (unknown [83.24.211.146])
	by mail.messagingengine.com (Postfix) with ESMTPA id DCD0E482756;
	Thu, 31 May 2012 05:15:04 -0400 (EDT)
Message-ID: <4FC73697.20509@invisiblethingslab.com>
Date: Thu, 31 May 2012 11:15:03 +0200
From: Joanna Rutkowska <joanna@invisiblethingslab.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <4FC5F2EF.7000004@invisiblethingslab.com>
	<4FC614770200007800086D0C@nat28.tlf.novell.com>
In-Reply-To: <4FC614770200007800086D0C@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Noticeably poor Intel GPU performance on 3.3 and
 3.4 dom0 kernels
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7100533746776080394=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--===============7100533746776080394==
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="------------enigB35C9E40CFC99F47361E5CD8"

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigB35C9E40CFC99F47361E5CD8
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 05/30/12 12:37, Jan Beulich wrote:
>>>> On 30.05.12 at 12:14, Joanna Rutkowska <joanna@invisiblethingslab.co=
m> wrote:
>> > I've recently been some newer Dom0 kernels (3.3.5, 3.4) under Xen 4.=
1.2,
>> > and have noticed that those kernel noticeably downgrade performance =
of
>> > (at least) Intel GPUs. This is easily noticeable even on such trivia=
l
>> > tasks as scrolling a webpage in Firefox or Chrome. This slow GPU
>> > performance on 3.3 and 3.4 kernels is in stark contrast with what I =
see
>> > on 3.2.7 Dom0 kernel, where graphics works just great...
>> >=20
>> > In order to make sure that this is not caused by power management se=
t
>> > too strictly, I played with xenpm and made sure to set the following=
:
>> > 1) xenpm set-scaling-governor performance
>> > 2) xenpm set-max-cstate 0
>> >=20
>> > I have verified then that my processor: 1) keeps staying in P0 state=

>> > (so, max frequency), and 2) keeps staying in C0 state.
>> >=20
>> > Those setting didn't change anything regarding the poor graphics
>> > performance, though.
>> >=20
>> > Any ideas what else I could test to find out the cause of this?
> To check whether the DRM drivers' supposedly more extensive
> use of the DMA API is the reason, could you check whether the
> performance is as bad with "mem=3D4G" on the Xen command line?

With mem=3D4G xen option, the graphics performance is just as poor as wit=
hout.

joanna.


--------------enigB35C9E40CFC99F47361E5CD8
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJPxzaXAAoJEDaIqHeRBUM0e+gH/j1nu4oqExRffvPgJntr2tan
0u7sA5tSrH8jijOUk61OBmd9/oAwQt8asLPcxX1rbqKP73dMe6/nFxgZO/PBGjiY
hBwlktnS/s+lr+rf/aMIBDAZJmrB0QLFX6GcFZLbdyxq+xV3WeEZ1XoxPPPG41PU
1anjOyryHT+hYwqwEVDCME6Od8+dXuJRia9TEN0+YCHHMxzZ9MdJ1lb+5SXsz6Tg
WJNr8mNf04diG8m3DdQ1lSUqFAJUxSMbjG6WrgTqCwQw46FvchjHCWD9I+/0unwd
VTfaolecmQv4w8Qw5U/8EvQQLXVURs39/wL6Elu+//GMJY/dapsVLxY6zrdS6bg=
=ftK2
-----END PGP SIGNATURE-----

--------------enigB35C9E40CFC99F47361E5CD8--


--===============7100533746776080394==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7100533746776080394==--


From xen-devel-bounces@lists.xen.org Thu May 31 09:18:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:18:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1Vv-0005kQ-BB; Thu, 31 May 2012 09:17:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa1Vu-0005kH-3E
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:17:50 +0000
Received: from [85.158.143.99:41344] by server-3.bemta-4.messagelabs.com id
	06/CC-04252-C3737CF4; Thu, 31 May 2012 09:17:48 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1338455864!23638464!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18690 invoked from network); 31 May 2012 09:17:45 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:17:45 -0000
Received: by qafl39 with SMTP id l39so708302qaf.16
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 02:17:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=zHcMTwJ48G1vYNa1i1L9VEm4KohUSjFYZfgIXtD6+qE=;
	b=KzZJ6ZrlDkNp/EX62vX2gq6IR7LFW70dZU/Nng5gr4OT2OFJXbP0/geVSyu9GVbIai
	DGdY+3S3M8mksZLQbWe5QD0DGnhjWFaufx3LR3Cuq/0xOC9+1+/E8yOFEpNfJRnTSvET
	jvANKaKM118ApNC2FuPYT07ycc0g86CqSPYiW/9j2D+oQrYCqEHPtn/Xj5E2XFTeIYr8
	ADXFAuuUmR1BnxIj5VS39rZ5x9NOb9GF93zFCf0WxwziKdNpHbI6c9pzeVosRBP/tcZX
	aGAjCMcXKUm6T/Fr3iezxbEKyQLk5/R50H+fLR6xJNUNKGlhqLmee9exNjIarOPlnCI2
	8+sg==
MIME-Version: 1.0
Received: by 10.224.183.135 with SMTP id cg7mr19315148qab.25.1338455864551;
	Thu, 31 May 2012 02:17:44 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 02:17:44 -0700 (PDT)
In-Reply-To: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
References: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
Date: Thu, 31 May 2012 10:17:44 +0100
X-Google-Sender-Auth: RONIK-7iwQHwE4vG3EzLzE70pc4
Message-ID: <CAFLBxZZOFYTr395qhrdrHarkth8YnH_Or83UxXm2Pv5GpG3mtQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 5:56 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> The script pygrub is currently installed in the wrong location. Instead of
> /usr/lib/xen/bin, the script is installed in $destdir/usr/lib/xen/bin.
> $(DESTDIR) is apply twice.

$(DESTDIR) isn't the intended final path (i.e., /usr/lib/xen/bin);
it's the subdirectory where you want "make dist" to put the files from
this make -- normally in xen-unstable.hg/dist/install/.  This change
will make it so that simply doing "make tools" (which is expected to
compile things and put the output in xen.hg/dist/install) will change
the *currently installed* version of pygrub.

 -George

>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> =A0tools/pygrub/Makefile | =A0 =A02 +-
> =A01 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> index f8c5262..af2b8a5 100644
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -12,7 +12,7 @@ build:
> =A0install: all
> =A0 =A0 =A0 =A0CC=3D"$(CC)" CFLAGS=3D"$(CFLAGS)" $(PYTHON) setup.py insta=
ll \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0$(PYTHON_PREFIX_ARG) --root=3D"$(DESTDIR)"=
 \
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(DESTDIR)/$(PRIVATE_BI=
NDIR) --force
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(PRIVATE_BINDIR) --for=
ce
> =A0 =A0 =A0 =A0$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BIN=
DIR)/pygrub
> =A0 =A0 =A0 =A0$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> =A0 =A0 =A0 =A0ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
> --
> Anthony PERARD
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:18:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:18:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1Vv-0005kQ-BB; Thu, 31 May 2012 09:17:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa1Vu-0005kH-3E
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:17:50 +0000
Received: from [85.158.143.99:41344] by server-3.bemta-4.messagelabs.com id
	06/CC-04252-C3737CF4; Thu, 31 May 2012 09:17:48 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1338455864!23638464!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18690 invoked from network); 31 May 2012 09:17:45 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:17:45 -0000
Received: by qafl39 with SMTP id l39so708302qaf.16
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 02:17:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=zHcMTwJ48G1vYNa1i1L9VEm4KohUSjFYZfgIXtD6+qE=;
	b=KzZJ6ZrlDkNp/EX62vX2gq6IR7LFW70dZU/Nng5gr4OT2OFJXbP0/geVSyu9GVbIai
	DGdY+3S3M8mksZLQbWe5QD0DGnhjWFaufx3LR3Cuq/0xOC9+1+/E8yOFEpNfJRnTSvET
	jvANKaKM118ApNC2FuPYT07ycc0g86CqSPYiW/9j2D+oQrYCqEHPtn/Xj5E2XFTeIYr8
	ADXFAuuUmR1BnxIj5VS39rZ5x9NOb9GF93zFCf0WxwziKdNpHbI6c9pzeVosRBP/tcZX
	aGAjCMcXKUm6T/Fr3iezxbEKyQLk5/R50H+fLR6xJNUNKGlhqLmee9exNjIarOPlnCI2
	8+sg==
MIME-Version: 1.0
Received: by 10.224.183.135 with SMTP id cg7mr19315148qab.25.1338455864551;
	Thu, 31 May 2012 02:17:44 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 02:17:44 -0700 (PDT)
In-Reply-To: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
References: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
Date: Thu, 31 May 2012 10:17:44 +0100
X-Google-Sender-Auth: RONIK-7iwQHwE4vG3EzLzE70pc4
Message-ID: <CAFLBxZZOFYTr395qhrdrHarkth8YnH_Or83UxXm2Pv5GpG3mtQ@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 5:56 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> The script pygrub is currently installed in the wrong location. Instead of
> /usr/lib/xen/bin, the script is installed in $destdir/usr/lib/xen/bin.
> $(DESTDIR) is apply twice.

$(DESTDIR) isn't the intended final path (i.e., /usr/lib/xen/bin);
it's the subdirectory where you want "make dist" to put the files from
this make -- normally in xen-unstable.hg/dist/install/.  This change
will make it so that simply doing "make tools" (which is expected to
compile things and put the output in xen.hg/dist/install) will change
the *currently installed* version of pygrub.

 -George

>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> =A0tools/pygrub/Makefile | =A0 =A02 +-
> =A01 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> index f8c5262..af2b8a5 100644
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -12,7 +12,7 @@ build:
> =A0install: all
> =A0 =A0 =A0 =A0CC=3D"$(CC)" CFLAGS=3D"$(CFLAGS)" $(PYTHON) setup.py insta=
ll \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0$(PYTHON_PREFIX_ARG) --root=3D"$(DESTDIR)"=
 \
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(DESTDIR)/$(PRIVATE_BI=
NDIR) --force
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(PRIVATE_BINDIR) --for=
ce
> =A0 =A0 =A0 =A0$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BIN=
DIR)/pygrub
> =A0 =A0 =A0 =A0$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> =A0 =A0 =A0 =A0ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
> --
> Anthony PERARD
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:23:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:23:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1bP-0005y0-8e; Thu, 31 May 2012 09:23:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa1bN-0005xt-Dd
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 09:23:29 +0000
Received: from [85.158.139.83:11345] by server-9.bemta-5.messagelabs.com id
	01/F4-27779-09837CF4; Thu, 31 May 2012 09:23:28 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338456207!29793275!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19287 invoked from network); 31 May 2012 09:23:28 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:23:28 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1Sa1bK-000GTA-6b; Thu, 31 May 2012 09:23:26 +0000
Date: Thu, 31 May 2012 10:23:26 +0100
From: Tim Deegan <tim@xen.org>
To: zhangzhi <zhangzhi2022@hotmail.com>
Message-ID: <20120531092326.GB62804@ocelot.phlegethon.org>
References: <1338453571115-5709207.post@n5.nabble.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338453571115-5709207.post@n5.nabble.com>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Copy-on write sharing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

At 01:39 -0700 on 31 May (1338428371), zhangzhi wrote:
> xen 4.0 release has said that it had a special feature of copy-on write
> sharing of identical memory pages between VMs (HVM only). 
> I just wanna know the source code that illustrate this feature. 

The code inside the hypervisor lives in xen/arch/x86/mm/, mostly in the
file mem_sharing.c.

The user-space interface is in libxc, in tools/libxc/xc_memshr.c

An example program that uses it is tools/tests/mem-sharing/memshrtool.c.

This feature is not built in to the higher-level tools (libxl &c) at the
moment; originally there were extensions to blktap that could
automatically share pages that were read from disk if the VMs' disks
came from the same source image, but I think that's all bitrotted.  If
anyone wanted to try to get that working again, I'm sure it would be
welcome!

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:23:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:23:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1bP-0005y0-8e; Thu, 31 May 2012 09:23:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa1bN-0005xt-Dd
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 09:23:29 +0000
Received: from [85.158.139.83:11345] by server-9.bemta-5.messagelabs.com id
	01/F4-27779-09837CF4; Thu, 31 May 2012 09:23:28 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338456207!29793275!1
X-Originating-IP: [81.29.64.94]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19287 invoked from network); 31 May 2012 09:23:28 -0000
Received: from ocelot.phlegethon.org (HELO mail.phlegethon.org) (81.29.64.94)
	by server-3.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:23:28 -0000
Received: from tjd by mail.phlegethon.org with local (Exim 4.67 (FreeBSD))
	(envelope-from <tim@xen.org>)
	id 1Sa1bK-000GTA-6b; Thu, 31 May 2012 09:23:26 +0000
Date: Thu, 31 May 2012 10:23:26 +0100
From: Tim Deegan <tim@xen.org>
To: zhangzhi <zhangzhi2022@hotmail.com>
Message-ID: <20120531092326.GB62804@ocelot.phlegethon.org>
References: <1338453571115-5709207.post@n5.nabble.com>
Mime-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338453571115-5709207.post@n5.nabble.com>
User-Agent: Mutt/1.4.2.1i
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] Copy-on write sharing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi,

At 01:39 -0700 on 31 May (1338428371), zhangzhi wrote:
> xen 4.0 release has said that it had a special feature of copy-on write
> sharing of identical memory pages between VMs (HVM only). 
> I just wanna know the source code that illustrate this feature. 

The code inside the hypervisor lives in xen/arch/x86/mm/, mostly in the
file mem_sharing.c.

The user-space interface is in libxc, in tools/libxc/xc_memshr.c

An example program that uses it is tools/tests/mem-sharing/memshrtool.c.

This feature is not built in to the higher-level tools (libxl &c) at the
moment; originally there were extensions to blktap that could
automatically share pages that were read from disk if the VMs' disks
came from the same source image, but I think that's all bitrotted.  If
anyone wanted to try to get that working again, I'm sure it would be
welcome!

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:25:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1cU-00061B-N6; Thu, 31 May 2012 09:24:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1Sa1cT-000614-NF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:24:37 +0000
Received: from [85.158.138.51:62119] by server-7.bemta-3.messagelabs.com id
	50/65-22601-4D837CF4; Thu, 31 May 2012 09:24:36 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338456274!21179812!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAzMDA4NDU=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAzMDA4NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30766 invoked from network); 31 May 2012 09:24:34 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 09:24:34 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (jorabe mo33) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id c03028o4V8kIJC ;
	Thu, 31 May 2012 11:24:30 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 20EA018638; Thu, 31 May 2012 11:24:27 +0200 (CEST)
Date: Thu, 31 May 2012 11:24:27 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531092427.GA5937@aepfle.de>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC4BCB002000078000868E0@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, Jan Beulich wrote:

> >>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
> >> 
> >> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
> >> wrote:
> >> > tools, blockers:
> >> 
> >> Adjustments needed for qdisk backend to work on non-pvops Linux.
> > 
> > Can you remind me what those are please.
> 
> "qemu/xendisk: set maximum number of grants to be used"
> (http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).
> 
> Unfortunately I didn't hear back from Olaf regarding the updated
> value that the supposed v2 of the patch (see the thread), which
> is at least partly due to him having further problems with the qdisk
> backend. Olaf - did you ever see gntdev allocation failures again
> after switching to the higher value?

I just did a successful installation of sles11sp2 guest on a
xen-unstable host with changeset 25427:ad348c6575b8, and with the change
below, and the second attempt I just started seems get through as well.

I'm sure I used this variant already two weeks ago, and the install
still failed. Perhaps other changes made during the last two weeks make
a difference.

I will also doublecheck how it goes without this change.

Olaf

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode != XEN_EMULATE) {
         batch_maps = 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+               2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
 }

 static int blk_init(struct XenDevice *xendev)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:25:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1cU-00061B-N6; Thu, 31 May 2012 09:24:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1Sa1cT-000614-NF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:24:37 +0000
Received: from [85.158.138.51:62119] by server-7.bemta-3.messagelabs.com id
	50/65-22601-4D837CF4; Thu, 31 May 2012 09:24:36 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338456274!21179812!1
X-Originating-IP: [81.169.146.162]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAzMDA4NDU=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MiA9PiAzMDA4NDU=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30766 invoked from network); 31 May 2012 09:24:34 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.162)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 09:24:34 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (jorabe mo33) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id c03028o4V8kIJC ;
	Thu, 31 May 2012 11:24:30 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 20EA018638; Thu, 31 May 2012 11:24:27 +0200 (CEST)
Date: Thu, 31 May 2012 11:24:27 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531092427.GA5937@aepfle.de>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC4BCB002000078000868E0@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, Jan Beulich wrote:

> >>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> > On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
> >> 
> >> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
> >> wrote:
> >> > tools, blockers:
> >> 
> >> Adjustments needed for qdisk backend to work on non-pvops Linux.
> > 
> > Can you remind me what those are please.
> 
> "qemu/xendisk: set maximum number of grants to be used"
> (http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).
> 
> Unfortunately I didn't hear back from Olaf regarding the updated
> value that the supposed v2 of the patch (see the thread), which
> is at least partly due to him having further problems with the qdisk
> backend. Olaf - did you ever see gntdev allocation failures again
> after switching to the higher value?

I just did a successful installation of sles11sp2 guest on a
xen-unstable host with changeset 25427:ad348c6575b8, and with the change
below, and the second attempt I just started seems get through as well.

I'm sure I used this variant already two weeks ago, and the install
still failed. Perhaps other changes made during the last two weeks make
a difference.

I will also doublecheck how it goes without this change.

Olaf

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode != XEN_EMULATE) {
         batch_maps = 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+               2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
 }

 static int blk_init(struct XenDevice *xendev)


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:38:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:38:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1pP-0006Mg-1V; Thu, 31 May 2012 09:37:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa1pL-0006Mb-KM
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:37:57 +0000
Received: from [85.158.143.35:54299] by server-2.bemta-4.messagelabs.com id
	9F/DF-11595-EEB37CF4; Thu, 31 May 2012 09:37:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338457069!18113414!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14046 invoked from network); 31 May 2012 09:37:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:37:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 10:37:48 +0100
Message-Id: <4FC7580B02000078000871BB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 10:37:47 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Olaf Hering" <olaf@aepfle.de>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
	<20120531092427.GA5937@aepfle.de>
In-Reply-To: <20120531092427.GA5937@aepfle.de>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 11:24, Olaf Hering <olaf@aepfle.de> wrote:
> On Tue, May 29, Jan Beulich wrote:
> 
>> >>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
>> >> 
>> >> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
>> >> wrote:
>> >> > tools, blockers:
>> >> 
>> >> Adjustments needed for qdisk backend to work on non-pvops Linux.
>> > 
>> > Can you remind me what those are please.
>> 
>> "qemu/xendisk: set maximum number of grants to be used"
>> (http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).
>> 
>> Unfortunately I didn't hear back from Olaf regarding the updated
>> value that the supposed v2 of the patch (see the thread), which
>> is at least partly due to him having further problems with the qdisk
>> backend. Olaf - did you ever see gntdev allocation failures again
>> after switching to the higher value?
> 
> I just did a successful installation of sles11sp2 guest on a
> xen-unstable host with changeset 25427:ad348c6575b8, and with the change
> below, and the second attempt I just started seems get through as well.
> 
> I'm sure I used this variant already two weeks ago, and the install
> still failed. Perhaps other changes made during the last two weeks make
> a difference.

That would be odd.

> I will also doublecheck how it goes without this change.
> 
> Olaf
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +               2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)

The + 1 at the end is certainly not needed anymore after the
doubling.

> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
>  }
> 
>  static int blk_init(struct XenDevice *xendev)

So I think I'll re-submit with the doubled values then. That's
in any case better than not setting an upper limit at all on those
older kernels.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:38:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:38:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1pP-0006Mg-1V; Thu, 31 May 2012 09:37:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa1pL-0006Mb-KM
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:37:57 +0000
Received: from [85.158.143.35:54299] by server-2.bemta-4.messagelabs.com id
	9F/DF-11595-EEB37CF4; Thu, 31 May 2012 09:37:50 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338457069!18113414!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14046 invoked from network); 31 May 2012 09:37:49 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-6.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:37:49 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 10:37:48 +0100
Message-Id: <4FC7580B02000078000871BB@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 10:37:47 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Olaf Hering" <olaf@aepfle.de>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
	<20120531092427.GA5937@aepfle.de>
In-Reply-To: <20120531092427.GA5937@aepfle.de>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 11:24, Olaf Hering <olaf@aepfle.de> wrote:
> On Tue, May 29, Jan Beulich wrote:
> 
>> >>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> > On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
>> >> 
>> >> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
>> >> wrote:
>> >> > tools, blockers:
>> >> 
>> >> Adjustments needed for qdisk backend to work on non-pvops Linux.
>> > 
>> > Can you remind me what those are please.
>> 
>> "qemu/xendisk: set maximum number of grants to be used"
>> (http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).
>> 
>> Unfortunately I didn't hear back from Olaf regarding the updated
>> value that the supposed v2 of the patch (see the thread), which
>> is at least partly due to him having further problems with the qdisk
>> backend. Olaf - did you ever see gntdev allocation failures again
>> after switching to the higher value?
> 
> I just did a successful installation of sles11sp2 guest on a
> xen-unstable host with changeset 25427:ad348c6575b8, and with the change
> below, and the second attempt I just started seems get through as well.
> 
> I'm sure I used this variant already two weeks ago, and the install
> still failed. Perhaps other changes made during the last two weeks make
> a difference.

That would be odd.

> I will also doublecheck how it goes without this change.
> 
> Olaf
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +               2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)

The + 1 at the end is certainly not needed anymore after the
doubling.

> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
>  }
> 
>  static int blk_init(struct XenDevice *xendev)

So I think I'll re-submit with the doubled values then. That's
in any case better than not setting an upper limit at all on those
older kernels.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:43:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:43:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1u1-0006UN-Oj; Thu, 31 May 2012 09:42:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa1tz-0006UG-Gj
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:42:43 +0000
Received: from [85.158.139.83:62699] by server-10.bemta-5.messagelabs.com id
	3A/69-22179-21D37CF4; Thu, 31 May 2012 09:42:42 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338457360!31349710!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11608 invoked from network); 31 May 2012 09:42:41 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:42:41 -0000
Received: by qcsc20 with SMTP id c20so504474qcs.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 02:42:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=6iAgpm0da367To8vgHUkC/2SFoVcmwM2TJuRmm1embg=;
	b=CkwSAnYBVa1yzhaeDXCTNRPzbHjqFLCNfe98p23xFLmAwFsKnN25wmWJEzvxnIuc5j
	hHjSjtwVopi0PoUsF2KpbtVl0EQOl3cGLIGUOHLdPHEtcxB2qJRiVYVVEHiM3uV70fLG
	Y3vSlOcU2/p45x9jbtZfL7ykf9q5lIiPI58d7Due0a0cReahDzNwywq98dYvWb4HXf02
	ezxiHa7wvEpXqBuhgq0eJAOX7M6orp1v539r+esU96lh1jU+ZWX1Y74U3O9huQspjkgO
	tHCXgOmzbAy6txlReLhFTHOasKT50ia/4r18jE9WTy2uv+5oyBLJ/eFlfmf09eaCu9BN
	QTAw==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr1308932qab.1.1338457359397; Thu,
	31 May 2012 02:42:39 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 02:42:39 -0700 (PDT)
In-Reply-To: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
References: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
Date: Thu, 31 May 2012 10:42:39 +0100
X-Google-Sender-Auth: shpVtXfcGwmwqknjPx844Gq9Ofk
Message-ID: <CAFLBxZaVdyJ8RTBtHTLacrHa+BPew16jARTAXOZ-uC5L-0AFjg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 5:56 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> The script pygrub is currently installed in the wrong location. Instead of
> /usr/lib/xen/bin, the script is installed in $destdir/usr/lib/xen/bin.
> $(DESTDIR) is apply twice.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Hmm -- I'm sure I checked this... but you're right, $(DESTDIR) IS IN
THE --root command.

The strange thing is that there *is* a pygrub in the right place, so
it appears that thefollowing line ($INSTALL_PYTHON_PROG) is redundant?

Anyway:

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

> ---
> =A0tools/pygrub/Makefile | =A0 =A02 +-
> =A01 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> index f8c5262..af2b8a5 100644
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -12,7 +12,7 @@ build:
> =A0install: all
> =A0 =A0 =A0 =A0CC=3D"$(CC)" CFLAGS=3D"$(CFLAGS)" $(PYTHON) setup.py insta=
ll \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0$(PYTHON_PREFIX_ARG) --root=3D"$(DESTDIR)"=
 \
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(DESTDIR)/$(PRIVATE_BI=
NDIR) --force
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(PRIVATE_BINDIR) --for=
ce
> =A0 =A0 =A0 =A0$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BIN=
DIR)/pygrub
> =A0 =A0 =A0 =A0$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> =A0 =A0 =A0 =A0ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
> --
> Anthony PERARD
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:43:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:43:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1u1-0006UN-Oj; Thu, 31 May 2012 09:42:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa1tz-0006UG-Gj
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:42:43 +0000
Received: from [85.158.139.83:62699] by server-10.bemta-5.messagelabs.com id
	3A/69-22179-21D37CF4; Thu, 31 May 2012 09:42:42 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338457360!31349710!1
X-Originating-IP: [209.85.216.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11608 invoked from network); 31 May 2012 09:42:41 -0000
Received: from mail-qc0-f173.google.com (HELO mail-qc0-f173.google.com)
	(209.85.216.173)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:42:41 -0000
Received: by qcsc20 with SMTP id c20so504474qcs.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 02:42:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=6iAgpm0da367To8vgHUkC/2SFoVcmwM2TJuRmm1embg=;
	b=CkwSAnYBVa1yzhaeDXCTNRPzbHjqFLCNfe98p23xFLmAwFsKnN25wmWJEzvxnIuc5j
	hHjSjtwVopi0PoUsF2KpbtVl0EQOl3cGLIGUOHLdPHEtcxB2qJRiVYVVEHiM3uV70fLG
	Y3vSlOcU2/p45x9jbtZfL7ykf9q5lIiPI58d7Due0a0cReahDzNwywq98dYvWb4HXf02
	ezxiHa7wvEpXqBuhgq0eJAOX7M6orp1v539r+esU96lh1jU+ZWX1Y74U3O9huQspjkgO
	tHCXgOmzbAy6txlReLhFTHOasKT50ia/4r18jE9WTy2uv+5oyBLJ/eFlfmf09eaCu9BN
	QTAw==
MIME-Version: 1.0
Received: by 10.224.212.5 with SMTP id gq5mr1308932qab.1.1338457359397; Thu,
	31 May 2012 02:42:39 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 02:42:39 -0700 (PDT)
In-Reply-To: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
References: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
Date: Thu, 31 May 2012 10:42:39 +0100
X-Google-Sender-Auth: shpVtXfcGwmwqknjPx844Gq9Ofk
Message-ID: <CAFLBxZaVdyJ8RTBtHTLacrHa+BPew16jARTAXOZ-uC5L-0AFjg@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 5:56 PM, Anthony PERARD
<anthony.perard@citrix.com> wrote:
> The script pygrub is currently installed in the wrong location. Instead of
> /usr/lib/xen/bin, the script is installed in $destdir/usr/lib/xen/bin.
> $(DESTDIR) is apply twice.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Hmm -- I'm sure I checked this... but you're right, $(DESTDIR) IS IN
THE --root command.

The strange thing is that there *is* a pygrub in the right place, so
it appears that thefollowing line ($INSTALL_PYTHON_PROG) is redundant?

Anyway:

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

> ---
> =A0tools/pygrub/Makefile | =A0 =A02 +-
> =A01 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> index f8c5262..af2b8a5 100644
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -12,7 +12,7 @@ build:
> =A0install: all
> =A0 =A0 =A0 =A0CC=3D"$(CC)" CFLAGS=3D"$(CFLAGS)" $(PYTHON) setup.py insta=
ll \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0$(PYTHON_PREFIX_ARG) --root=3D"$(DESTDIR)"=
 \
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(DESTDIR)/$(PRIVATE_BI=
NDIR) --force
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 --install-scripts=3D$(PRIVATE_BINDIR) --for=
ce
> =A0 =A0 =A0 =A0$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(PRIVATE_BIN=
DIR)/pygrub
> =A0 =A0 =A0 =A0$(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
> =A0 =A0 =A0 =A0ln -sf $(PRIVATE_BINDIR)/pygrub $(DESTDIR)/$(BINDIR)
> --
> Anthony PERARD
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:44:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:44:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1v5-0006YU-7m; Thu, 31 May 2012 09:43:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1Sa1v3-0006YF-KO
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:43:49 +0000
Received: from [85.158.143.99:51029] by server-3.bemta-4.messagelabs.com id
	E2/86-04252-F4D37CF4; Thu, 31 May 2012 09:43:43 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338457422!29780115!1
X-Originating-IP: [82.57.200.102]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2352 invoked from network); 31 May 2012 09:43:42 -0000
Received: from smtp206.alice.it (HELO smtp206.alice.it) (82.57.200.102)
	by server-13.tower-216.messagelabs.com with SMTP;
	31 May 2012 09:43:42 -0000
Received: from [192.168.178.50] (87.0.85.184) by smtp206.alice.it (8.6.023.02)
	id 4F9BF1D303AC0953; Thu, 31 May 2012 11:43:38 +0200
Message-ID: <4FC73CBA.8090803@tiscali.it>
Date: Thu, 31 May 2012 11:41:14 +0200
From: Fabio Fantoni <fantonifabio@tiscali.it>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
	<4FC5D458.5020600@tiscali.it>
	<4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
In-Reply-To: <4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: fantonifabio@tiscali.it
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7680805425533817195=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--===============7680805425533817195==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms090605010209080903040609"

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--------------ms090605010209080903040609
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Il 30/05/2012 10:44, Jan Beulich ha scritto:
>>>> On 30.05.12 at 10:03, Fabio Fantoni<fantonifabio@tiscali.it>  wrote:=

>> The content of xen/arch/x86/efi/disabled is:
>> ld: unrecognised emulation mode: i386pep
>> Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux
>> elf_l1om elf_k1om
>> How can I do for fix this?
> If your distor doesn't offer a suitably configured binutils package,
> you'll have to build one yourself, I'm afraid.
>
> Jan
>
>
>
> -----
> Nessun virus nel messaggio.
> Controllato da AVG - www.avg.com
> Versione: 2012.0.1913 / Database dei virus: 2425/5032 -  Data di rilasc=
io: 29/05/2012
>
>
>
Currently I'm testing xen-unstable on Debian Wheezy, I installed=20
binutils-mingw-w64 package that provide binutils with i386pep emulation, =

I tried to rebuild but I had same error on xen/arch/x86/efi/disabled.
The ld binary provided with this package has a different name, what can=20
I do to make xen use it instead of the default one? (/usr/bin/ld)
I loocked for $(LD) definition used in makefile but I didn't found it.
Thanks for any reply.


--------------ms090605010209080903040609
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma crittografica S/MIME

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINhjCC
BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT
DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3
MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T
dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu
aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM
KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi
8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M
DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y
2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG
zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV
HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH
MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v
c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp
Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic
c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw
UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc
p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT
+HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X
hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO
hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC
0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh
AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk
XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIHSjCCBjKgAwIBAgICHmMwDQYJKoZIhvcNAQEF
BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT
ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjAzMTgyMjE0MzBa
Fw0xNDAzMjAwODU3MDlaMIGMMRkwFwYDVQQNExBlQjZPRTM3UlJOUHlsNW0yMQswCQYDVQQG
EwJJVDEQMA4GA1UECBMHQmVyZ2FtbzEQMA4GA1UEBxMHUm92ZXR0YTEWMBQGA1UEAxMNRmFi
aW8gRmFudG9uaTEmMCQGCSqGSIb3DQEJARYXZmFudG9uaWZhYmlvQHRpc2NhbGkuaXQwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XhckXsX23vgJq76s2f0KT8U8Msov5QgV
10eQBb2wL/TzcmqtZotI7ztKVhio3ehHg+mfu+3EqOkX9Umgut8rP0bPi7AGjkPXbOTT/cSU
Xz2Kw31VGOmiOVoUFGvpQitp3weCkhUJLBipI8EpNyBXpjtQ9yCpnIAqfuc77ybfSnCy7tTR
MBq1BUkfjH1+GL45riosuS4+F+MSUvlYzLiT4rAduAX1Y2IuORDsf9Bce8GBxa6syP9rCyzl
Vk7DIX5k8j2vlnyRATIypn5CQLQxGT6e0f6ac4gvWOHwO2QEBsmZKKs1ZidE4q/9OoNXYX6A
jnHtp1H1vcrek/vVcs19AgMBAAGjggOyMIIDrjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFan8cbEWWBmSTWFtLk2
YNdAcGUbMB8GA1UdIwQYMBaAFK5Vg2/sMcq59x36r2sx88gd46y7MCIGA1UdEQQbMBmBF2Zh
bnRvbmlmYWJpb0B0aXNjYWxpLml0MIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwEC
AjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYw
NAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYw
gfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMC
AQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFz
cyAyIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ks
IHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ug
b2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcCAjCBjzAnFiBT
dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkgYW5kIHdh
cnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRhdGlv
bnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUyLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYI
KwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MyL2NsaWVudC9j
YTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz
Mi5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzAN
BgkqhkiG9w0BAQUFAAOCAQEAjzHNqifpDVMkH1TSPFZVIiQ4fh49/V5JMpstgqEZPDaDe5r8
h+fMBZtUa6LLMco03Z9BNEXlqlXKiFk8feVYB8obEjz7YYq1XhO9q7JUmkSs0WGIH4xU0XB1
kPC8T8H+5E//84poYSFHE4pA+Ff68UANP2/EuFJWMjegiefnOr8aM42OAcUkjEWSlautIIX8
oD2GizwQYjWdDDjEonbuMKFP6rY2xGI3PSLI3IVU2opb0/itNhQui3WRxafloJqTlriY8m8+
qSLr2HGftbBlbyzVWB8o//aW0H0LMabjkIvrm7Zmh2vcCxiSxGBwYASuSYXGuQiKAgGptUs1
XJLZuzGCA80wggPJAgEBMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g
THRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EC
Ah5jMAkGBSsOAwIaBQCgggIOMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN
AQkFMQ8XDTEyMDUzMTA5NDExNFowIwYJKoZIhvcNAQkEMRYEFIbpfK+teoI4p8CfyemTXzIT
xEO3MF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBpAYJKwYB
BAGCNxAEMYGWMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAh5jMIGm
BgsqhkiG9w0BCRACCzGBlqCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2
BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB
AgIeYzANBgkqhkiG9w0BAQEFAASCAQBIYY+mmeF/G1mVOPjd3AGvmdMq3o5G2eQ0wZaMlmQW
3d4ImThTQWCAm93TyaNSKpttIds1BTYp8xbSMEOlV1UUHV/+MNMYHsYYpOoIOyFINqkxW4Sh
aYLDGns16tO5TEGTnoRaqJ4XrAwtAduvkJeKjM1TyUL/j2jat2gy/YAqTXy9BT5SULz6ptZQ
yhvUTggtSPcKhRyL7QgH5nvlCePmHm2pTKrpAbDfQPPgC0F0Sy2i0P43e69aJlEqE7cNcYpm
0P/9zdw8874208vY0zyYIJAZzmXZq3fuhf8OSEkSX1+IlKdmRmWIac0zf2vNA4AqMFeVwr7U
91nswsJ9a3hWAAAAAAAA
--------------ms090605010209080903040609--


--===============7680805425533817195==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7680805425533817195==--


From xen-devel-bounces@lists.xen.org Thu May 31 09:44:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:44:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa1v5-0006YU-7m; Thu, 31 May 2012 09:43:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1Sa1v3-0006YF-KO
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:43:49 +0000
Received: from [85.158.143.99:51029] by server-3.bemta-4.messagelabs.com id
	E2/86-04252-F4D37CF4; Thu, 31 May 2012 09:43:43 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338457422!29780115!1
X-Originating-IP: [82.57.200.102]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2352 invoked from network); 31 May 2012 09:43:42 -0000
Received: from smtp206.alice.it (HELO smtp206.alice.it) (82.57.200.102)
	by server-13.tower-216.messagelabs.com with SMTP;
	31 May 2012 09:43:42 -0000
Received: from [192.168.178.50] (87.0.85.184) by smtp206.alice.it (8.6.023.02)
	id 4F9BF1D303AC0953; Thu, 31 May 2012 11:43:38 +0200
Message-ID: <4FC73CBA.8090803@tiscali.it>
Date: Thu, 31 May 2012 11:41:14 +0200
From: Fabio Fantoni <fantonifabio@tiscali.it>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
	<4FC5D458.5020600@tiscali.it>
	<4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
In-Reply-To: <4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: fantonifabio@tiscali.it
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7680805425533817195=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--===============7680805425533817195==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms090605010209080903040609"

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--------------ms090605010209080903040609
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Il 30/05/2012 10:44, Jan Beulich ha scritto:
>>>> On 30.05.12 at 10:03, Fabio Fantoni<fantonifabio@tiscali.it>  wrote:=

>> The content of xen/arch/x86/efi/disabled is:
>> ld: unrecognised emulation mode: i386pep
>> Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux
>> elf_l1om elf_k1om
>> How can I do for fix this?
> If your distor doesn't offer a suitably configured binutils package,
> you'll have to build one yourself, I'm afraid.
>
> Jan
>
>
>
> -----
> Nessun virus nel messaggio.
> Controllato da AVG - www.avg.com
> Versione: 2012.0.1913 / Database dei virus: 2425/5032 -  Data di rilasc=
io: 29/05/2012
>
>
>
Currently I'm testing xen-unstable on Debian Wheezy, I installed=20
binutils-mingw-w64 package that provide binutils with i386pep emulation, =

I tried to rebuild but I had same error on xen/arch/x86/efi/disabled.
The ld binary provided with this package has a different name, what can=20
I do to make xen use it instead of the default one? (/usr/bin/ld)
I loocked for $(LD) definition used in makefile but I didn't found it.
Thanks for any reply.


--------------ms090605010209080903040609
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma crittografica S/MIME

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINhjCC
BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT
DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3
MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T
dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu
aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM
KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi
8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M
DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y
2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG
zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV
HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH
MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v
c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp
Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic
c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw
UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc
p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT
+HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X
hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO
hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC
0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh
AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk
XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIHSjCCBjKgAwIBAgICHmMwDQYJKoZIhvcNAQEF
BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT
ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjAzMTgyMjE0MzBa
Fw0xNDAzMjAwODU3MDlaMIGMMRkwFwYDVQQNExBlQjZPRTM3UlJOUHlsNW0yMQswCQYDVQQG
EwJJVDEQMA4GA1UECBMHQmVyZ2FtbzEQMA4GA1UEBxMHUm92ZXR0YTEWMBQGA1UEAxMNRmFi
aW8gRmFudG9uaTEmMCQGCSqGSIb3DQEJARYXZmFudG9uaWZhYmlvQHRpc2NhbGkuaXQwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XhckXsX23vgJq76s2f0KT8U8Msov5QgV
10eQBb2wL/TzcmqtZotI7ztKVhio3ehHg+mfu+3EqOkX9Umgut8rP0bPi7AGjkPXbOTT/cSU
Xz2Kw31VGOmiOVoUFGvpQitp3weCkhUJLBipI8EpNyBXpjtQ9yCpnIAqfuc77ybfSnCy7tTR
MBq1BUkfjH1+GL45riosuS4+F+MSUvlYzLiT4rAduAX1Y2IuORDsf9Bce8GBxa6syP9rCyzl
Vk7DIX5k8j2vlnyRATIypn5CQLQxGT6e0f6ac4gvWOHwO2QEBsmZKKs1ZidE4q/9OoNXYX6A
jnHtp1H1vcrek/vVcs19AgMBAAGjggOyMIIDrjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFan8cbEWWBmSTWFtLk2
YNdAcGUbMB8GA1UdIwQYMBaAFK5Vg2/sMcq59x36r2sx88gd46y7MCIGA1UdEQQbMBmBF2Zh
bnRvbmlmYWJpb0B0aXNjYWxpLml0MIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwEC
AjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYw
NAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYw
gfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMC
AQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFz
cyAyIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ks
IHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ug
b2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcCAjCBjzAnFiBT
dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkgYW5kIHdh
cnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRhdGlv
bnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUyLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYI
KwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MyL2NsaWVudC9j
YTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz
Mi5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzAN
BgkqhkiG9w0BAQUFAAOCAQEAjzHNqifpDVMkH1TSPFZVIiQ4fh49/V5JMpstgqEZPDaDe5r8
h+fMBZtUa6LLMco03Z9BNEXlqlXKiFk8feVYB8obEjz7YYq1XhO9q7JUmkSs0WGIH4xU0XB1
kPC8T8H+5E//84poYSFHE4pA+Ff68UANP2/EuFJWMjegiefnOr8aM42OAcUkjEWSlautIIX8
oD2GizwQYjWdDDjEonbuMKFP6rY2xGI3PSLI3IVU2opb0/itNhQui3WRxafloJqTlriY8m8+
qSLr2HGftbBlbyzVWB8o//aW0H0LMabjkIvrm7Zmh2vcCxiSxGBwYASuSYXGuQiKAgGptUs1
XJLZuzGCA80wggPJAgEBMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g
THRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EC
Ah5jMAkGBSsOAwIaBQCgggIOMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN
AQkFMQ8XDTEyMDUzMTA5NDExNFowIwYJKoZIhvcNAQkEMRYEFIbpfK+teoI4p8CfyemTXzIT
xEO3MF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBpAYJKwYB
BAGCNxAEMYGWMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAh5jMIGm
BgsqhkiG9w0BCRACCzGBlqCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2
BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB
AgIeYzANBgkqhkiG9w0BAQEFAASCAQBIYY+mmeF/G1mVOPjd3AGvmdMq3o5G2eQ0wZaMlmQW
3d4ImThTQWCAm93TyaNSKpttIds1BTYp8xbSMEOlV1UUHV/+MNMYHsYYpOoIOyFINqkxW4Sh
aYLDGns16tO5TEGTnoRaqJ4XrAwtAduvkJeKjM1TyUL/j2jat2gy/YAqTXy9BT5SULz6ptZQ
yhvUTggtSPcKhRyL7QgH5nvlCePmHm2pTKrpAbDfQPPgC0F0Sy2i0P43e69aJlEqE7cNcYpm
0P/9zdw8874208vY0zyYIJAZzmXZq3fuhf8OSEkSX1+IlKdmRmWIac0zf2vNA4AqMFeVwr7U
91nswsJ9a3hWAAAAAAAA
--------------ms090605010209080903040609--


--===============7680805425533817195==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7680805425533817195==--


From xen-devel-bounces@lists.xen.org Thu May 31 09:54:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa25H-0006pw-BA; Thu, 31 May 2012 09:54:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa25G-0006pr-5M
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:54:22 +0000
Received: from [85.158.143.35:57603] by server-1.bemta-4.messagelabs.com id
	8F/E7-27869-CCF37CF4; Thu, 31 May 2012 09:54:20 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338458056!16884171!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17124 invoked from network); 31 May 2012 09:54:16 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:54:16 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 10:54:16 +0100
Message-Id: <4FC75BE702000078000871DF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 10:54:15 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
	<4FC5D458.5020600@tiscali.it>
	<4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
	<4FC73CBA.8090803@tiscali.it>
In-Reply-To: <4FC73CBA.8090803@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 11:41, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> Il 30/05/2012 10:44, Jan Beulich ha scritto:
>>>>> On 30.05.12 at 10:03, Fabio Fantoni<fantonifabio@tiscali.it>  wrote:
>>> The content of xen/arch/x86/efi/disabled is:
>>> ld: unrecognised emulation mode: i386pep
>>> Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux
>>> elf_l1om elf_k1om
>>> How can I do for fix this?
>> If your distor doesn't offer a suitably configured binutils package,
>> you'll have to build one yourself, I'm afraid.
>>
>> Jan
>>
>>
>>
>> -----
>> Nessun virus nel messaggio.
>> Controllato da AVG - www.avg.com 
>> Versione: 2012.0.1913 / Database dei virus: 2425/5032 -  Data di rilascio: 
> 29/05/2012
>>
>>
>>
> Currently I'm testing xen-unstable on Debian Wheezy, I installed 
> binutils-mingw-w64 package that provide binutils with i386pep emulation, 
> I tried to rebuild but I had same error on xen/arch/x86/efi/disabled.
> The ld binary provided with this package has a different name, what can 
> I do to make xen use it instead of the default one? (/usr/bin/ld)
> I loocked for $(LD) definition used in makefile but I didn't found it.
> Thanks for any reply.

Setting LD can be done on the make command line (you shouldn't
modify any sources for this). I don't think, however, that using a
mingw targeting binary will work, as the *same* ld will be used to
link the normal ELF executable (ending up as xen.gz). You should
use a Linux linker (i.e. defaulting to ELF) that *also* supports
i386pep. (Building binutils is, btw, a pretty simple process, so I
don't see why you're not just doing that - all customization you
need is adding "--enable-targets=x86_64-pep" to the configure
script invocation command line.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:54:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa25H-0006pw-BA; Thu, 31 May 2012 09:54:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa25G-0006pr-5M
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:54:22 +0000
Received: from [85.158.143.35:57603] by server-1.bemta-4.messagelabs.com id
	8F/E7-27869-CCF37CF4; Thu, 31 May 2012 09:54:20 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338458056!16884171!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17124 invoked from network); 31 May 2012 09:54:16 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-13.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:54:16 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 10:54:16 +0100
Message-Id: <4FC75BE702000078000871DF@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 10:54:15 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: <fantonifabio@tiscali.it>
References: <1338291546926-5709153.post@n5.nabble.com>
	<4FC4D7480200007800086963@nat28.tlf.novell.com>
	<4FC4CA9E.4030700@tiscali.it>
	<4FC4E991020000780008699B@nat28.tlf.novell.com>
	<4FC4D0EB.50507@tiscali.it>
	<4FC4F2AC02000078000869DB@nat28.tlf.novell.com>
	<4FC5D458.5020600@tiscali.it>
	<4FC5F9FC0200007800086C88@nat28.tlf.novell.com>
	<4FC73CBA.8090803@tiscali.it>
In-Reply-To: <4FC73CBA.8090803@tiscali.it>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] efibootmgr not working on xen-unstable booted on
 uefi system
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 11:41, Fabio Fantoni <fantonifabio@tiscali.it> wrote:
> Il 30/05/2012 10:44, Jan Beulich ha scritto:
>>>>> On 30.05.12 at 10:03, Fabio Fantoni<fantonifabio@tiscali.it>  wrote:
>>> The content of xen/arch/x86/efi/disabled is:
>>> ld: unrecognised emulation mode: i386pep
>>> Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux
>>> elf_l1om elf_k1om
>>> How can I do for fix this?
>> If your distor doesn't offer a suitably configured binutils package,
>> you'll have to build one yourself, I'm afraid.
>>
>> Jan
>>
>>
>>
>> -----
>> Nessun virus nel messaggio.
>> Controllato da AVG - www.avg.com 
>> Versione: 2012.0.1913 / Database dei virus: 2425/5032 -  Data di rilascio: 
> 29/05/2012
>>
>>
>>
> Currently I'm testing xen-unstable on Debian Wheezy, I installed 
> binutils-mingw-w64 package that provide binutils with i386pep emulation, 
> I tried to rebuild but I had same error on xen/arch/x86/efi/disabled.
> The ld binary provided with this package has a different name, what can 
> I do to make xen use it instead of the default one? (/usr/bin/ld)
> I loocked for $(LD) definition used in makefile but I didn't found it.
> Thanks for any reply.

Setting LD can be done on the make command line (you shouldn't
modify any sources for this). I don't think, however, that using a
mingw targeting binary will work, as the *same* ld will be used to
link the normal ELF executable (ending up as xen.gz). You should
use a Linux linker (i.e. defaulting to ELF) that *also* supports
i386pep. (Building binutils is, btw, a pretty simple process, so I
don't see why you're not just doing that - all customization you
need is adding "--enable-targets=x86_64-pep" to the configure
script invocation command line.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:55:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:55:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa25Z-0006rC-Ss; Thu, 31 May 2012 09:54:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1Sa25Y-0006r5-Hx
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:54:40 +0000
Received: from [193.109.254.147:35573] by server-6.bemta-14.messagelabs.com id
	C7/3F-10397-FDF37CF4; Thu, 31 May 2012 09:54:39 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338458076!4255864!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8133 invoked from network); 31 May 2012 09:54:37 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:54:37 -0000
Received: by yenm4 with SMTP id m4so746594yen.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 02:54:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=LkVq48sf0LD/gos8cueMxWkNv4QkpQuE3YdaRNemOW4=;
	b=t+8SFIn9G9ile9GBJ1v3mifEB9h5yFancjQT6NjcxKALegrtBIgvbrhOjd/7B3glxm
	hdNYz+hkjVQy4knMq5pzq14BbLa7BgQFj0kSzxf4DCsZVamEjZhxA92PdpXYVCCVwcux
	cZGt2YZWJ7CR4On975viqChROn6zsFhQvGVII66yeQw5jfyKeLMew2W0bu9q6MkuKdvE
	DJcwXj0zgRU/yoqUQP0KTpBC/CIYNpLVa8QBoy67Vz3TmlUwCu7eTmoy9utihWkYCfR4
	x5ISC1shTrewzLPUxxwE+qlW6Gh2dayLYqGteQVQdoB0GR0Oc6Nv5u2Fgx0SoXb/uHp6
	9FVQ==
Received: by 10.50.190.163 with SMTP id gr3mr13372941igc.22.1338458075365;
	Thu, 31 May 2012 02:54:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Thu, 31 May 2012 02:54:05 -0700 (PDT)
In-Reply-To: <CAFLBxZaVdyJ8RTBtHTLacrHa+BPew16jARTAXOZ-uC5L-0AFjg@mail.gmail.com>
References: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
	<CAFLBxZaVdyJ8RTBtHTLacrHa+BPew16jARTAXOZ-uC5L-0AFjg@mail.gmail.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Thu, 31 May 2012 10:54:05 +0100
X-Google-Sender-Auth: WxGngQuKc9i7sAAZUnPLpRCBbek
Message-ID: <CAJJyHjJkmqyp+f121durEp-UGUv3qVdGFKBsWJ_cDPrTVVm-kQ@mail.gmail.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 10:42 AM, George Dunlap
<George.Dunlap@eu.citrix.com> wrote:
> The strange thing is that there *is* a pygrub in the right place, so
> it appears that thefollowing line ($INSTALL_PYTHON_PROG) is redundant?

It's seems that the right on the script are already set to 755 by the
setup.py, so this $INSTALL_PYTHON_PROG line is probably an extra.

Thanks,

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:55:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:55:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa25Z-0006rC-Ss; Thu, 31 May 2012 09:54:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <anthony.perard@gmail.com>) id 1Sa25Y-0006r5-Hx
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:54:40 +0000
Received: from [193.109.254.147:35573] by server-6.bemta-14.messagelabs.com id
	C7/3F-10397-FDF37CF4; Thu, 31 May 2012 09:54:39 +0000
X-Env-Sender: anthony.perard@gmail.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1338458076!4255864!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8133 invoked from network); 31 May 2012 09:54:37 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:54:37 -0000
Received: by yenm4 with SMTP id m4so746594yen.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 02:54:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:from:date
	:x-google-sender-auth:message-id:subject:to:cc:content-type;
	bh=LkVq48sf0LD/gos8cueMxWkNv4QkpQuE3YdaRNemOW4=;
	b=t+8SFIn9G9ile9GBJ1v3mifEB9h5yFancjQT6NjcxKALegrtBIgvbrhOjd/7B3glxm
	hdNYz+hkjVQy4knMq5pzq14BbLa7BgQFj0kSzxf4DCsZVamEjZhxA92PdpXYVCCVwcux
	cZGt2YZWJ7CR4On975viqChROn6zsFhQvGVII66yeQw5jfyKeLMew2W0bu9q6MkuKdvE
	DJcwXj0zgRU/yoqUQP0KTpBC/CIYNpLVa8QBoy67Vz3TmlUwCu7eTmoy9utihWkYCfR4
	x5ISC1shTrewzLPUxxwE+qlW6Gh2dayLYqGteQVQdoB0GR0Oc6Nv5u2Fgx0SoXb/uHp6
	9FVQ==
Received: by 10.50.190.163 with SMTP id gr3mr13372941igc.22.1338458075365;
	Thu, 31 May 2012 02:54:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.58.83 with HTTP; Thu, 31 May 2012 02:54:05 -0700 (PDT)
In-Reply-To: <CAFLBxZaVdyJ8RTBtHTLacrHa+BPew16jARTAXOZ-uC5L-0AFjg@mail.gmail.com>
References: <1338397005-7051-1-git-send-email-anthony.perard@citrix.com>
	<CAFLBxZaVdyJ8RTBtHTLacrHa+BPew16jARTAXOZ-uC5L-0AFjg@mail.gmail.com>
From: Anthony PERARD <anthony.perard@citrix.com>
Date: Thu, 31 May 2012 10:54:05 +0100
X-Google-Sender-Auth: WxGngQuKc9i7sAAZUnPLpRCBbek
Message-ID: <CAJJyHjJkmqyp+f121durEp-UGUv3qVdGFKBsWJ_cDPrTVVm-kQ@mail.gmail.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] Fix pygrub install.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 10:42 AM, George Dunlap
<George.Dunlap@eu.citrix.com> wrote:
> The strange thing is that there *is* a pygrub in the right place, so
> it appears that thefollowing line ($INSTALL_PYTHON_PROG) is redundant?

It's seems that the right on the script are already set to 755 by the
setup.py, so this $INSTALL_PYTHON_PROG line is probably an extra.

Thanks,

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:56:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:56:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa27O-00072C-CP; Thu, 31 May 2012 09:56:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa27N-000724-KO
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:56:33 +0000
Received: from [85.158.143.99:42093] by server-1.bemta-4.messagelabs.com id
	6E/3C-27869-05047CF4; Thu, 31 May 2012 09:56:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338458191!23145180!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15674 invoked from network); 31 May 2012 09:56:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:56:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12757749"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:55:59 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 10:55:59 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa26p-0001a5-F5; Thu, 31 May 2012 09:55:59 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa26p-0006bw-Aq;
	Thu, 31 May 2012 10:55:59 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.16431.321849.778723@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 10:55:59 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338398761.14877.17.camel@dagon.hellion.org.uk>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
	<1338398761.14877.17.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,	make toolstack_restore const-correct"):
> On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > Also provide typedefs for the nontrivial function callback types.
> 
> Are there any other uses of these type other than the one of each
> inlined in the structs?

There is one, later in my patch series, in libxl.

> If not then I'm not sure this makes things clearer -- you now have to
> look at both the callback struct and then go find the corresponding
> typedef.

I'm not particularly bothered about this and could write the type out
again in its other location in libxl_internal.h.  The compiler will
check it after all.

Let me know what you think best.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:56:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:56:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa27O-00072C-CP; Thu, 31 May 2012 09:56:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa27N-000724-KO
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:56:33 +0000
Received: from [85.158.143.99:42093] by server-1.bemta-4.messagelabs.com id
	6E/3C-27869-05047CF4; Thu, 31 May 2012 09:56:32 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338458191!23145180!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15674 invoked from network); 31 May 2012 09:56:31 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:56:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12757749"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:55:59 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 10:55:59 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa26p-0001a5-F5; Thu, 31 May 2012 09:55:59 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa26p-0006bw-Aq;
	Thu, 31 May 2012 10:55:59 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.16431.321849.778723@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 10:55:59 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338398761.14877.17.camel@dagon.hellion.org.uk>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
	<1338398761.14877.17.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,	make toolstack_restore const-correct"):
> On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > Also provide typedefs for the nontrivial function callback types.
> 
> Are there any other uses of these type other than the one of each
> inlined in the structs?

There is one, later in my patch series, in libxl.

> If not then I'm not sure this makes things clearer -- you now have to
> look at both the callback struct and then go find the corresponding
> typedef.

I'm not particularly bothered about this and could write the type out
again in its other location in libxl_internal.h.  The compiler will
check it after all.

Let me know what you think best.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:56:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa27X-000732-Om; Thu, 31 May 2012 09:56:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa27W-00072q-6k
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:56:42 +0000
Received: from [85.158.139.83:49904] by server-2.bemta-5.messagelabs.com id
	82/FC-09957-95047CF4; Thu, 31 May 2012 09:56:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338458200!24103270!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29783 invoked from network); 31 May 2012 09:56:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:56:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12757767"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:56:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 10:56:39 +0100
Date: Thu, 31 May 2012 10:56:23 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC7580B02000078000871BB@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311054200.26786@kaball-desktop>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
	<20120531092427.GA5937@aepfle.de>
	<4FC7580B02000078000871BB@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> >>> On 31.05.12 at 11:24, Olaf Hering <olaf@aepfle.de> wrote:
> > On Tue, May 29, Jan Beulich wrote:
> > 
> >> >>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
> >> >> 
> >> >> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
> >> >> wrote:
> >> >> > tools, blockers:
> >> >> 
> >> >> Adjustments needed for qdisk backend to work on non-pvops Linux.
> >> > 
> >> > Can you remind me what those are please.
> >> 
> >> "qemu/xendisk: set maximum number of grants to be used"
> >> (http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).
> >> 
> >> Unfortunately I didn't hear back from Olaf regarding the updated
> >> value that the supposed v2 of the patch (see the thread), which
> >> is at least partly due to him having further problems with the qdisk
> >> backend. Olaf - did you ever see gntdev allocation failures again
> >> after switching to the higher value?
> > 
> > I just did a successful installation of sles11sp2 guest on a
> > xen-unstable host with changeset 25427:ad348c6575b8, and with the change
> > below, and the second attempt I just started seems get through as well.
> > 
> > I'm sure I used this variant already two weeks ago, and the install
> > still failed. Perhaps other changes made during the last two weeks make
> > a difference.
> 
> That would be odd.
> 
> > I will also doublecheck how it goes without this change.
> > 
> > Olaf
> > 
> > --- a/hw/xen_disk.c
> > +++ b/hw/xen_disk.c
> > @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
> >      if (xen_mode != XEN_EMULATE) {
> >          batch_maps = 1;
> >      }
> > +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> > +               2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
> 
> The + 1 at the end is certainly not needed anymore after the
> doubling.
> 
> > +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> > +                      strerror(errno));
> >  }
> > 
> >  static int blk_init(struct XenDevice *xendev)
> 
> So I think I'll re-submit with the doubled values then. That's
> in any case better than not setting an upper limit at all on those
> older kernels.
 
At this point I would prefer that you defined a MAX_GRANT_REQS constant
and added a comment to explain what is for, and why it is set to (2 *
max_requests).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:56:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa27X-000732-Om; Thu, 31 May 2012 09:56:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa27W-00072q-6k
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:56:42 +0000
Received: from [85.158.139.83:49904] by server-2.bemta-5.messagelabs.com id
	82/FC-09957-95047CF4; Thu, 31 May 2012 09:56:41 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1338458200!24103270!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29783 invoked from network); 31 May 2012 09:56:40 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 09:56:40 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12757767"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:56:39 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 10:56:39 +0100
Date: Thu, 31 May 2012 10:56:23 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC7580B02000078000871BB@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311054200.26786@kaball-desktop>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
	<20120531092427.GA5937@aepfle.de>
	<4FC7580B02000078000871BB@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel <xen-devel@lists.xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> >>> On 31.05.12 at 11:24, Olaf Hering <olaf@aepfle.de> wrote:
> > On Tue, May 29, Jan Beulich wrote:
> > 
> >> >>> On 29.05.12 at 11:32, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> >> > On Mon, 2012-05-14 at 12:14 +0100, Jan Beulich wrote:
> >> >> 
> >> >> >>> On 14.05.12 at 12:26, Ian Campbell <Ian.Campbell@citrix.com>
> >> >> wrote:
> >> >> > tools, blockers:
> >> >> 
> >> >> Adjustments needed for qdisk backend to work on non-pvops Linux.
> >> > 
> >> > Can you remind me what those are please.
> >> 
> >> "qemu/xendisk: set maximum number of grants to be used"
> >> (http://lists.xen.org/archives/html/xen-devel/2012-05/msg00715.html).
> >> 
> >> Unfortunately I didn't hear back from Olaf regarding the updated
> >> value that the supposed v2 of the patch (see the thread), which
> >> is at least partly due to him having further problems with the qdisk
> >> backend. Olaf - did you ever see gntdev allocation failures again
> >> after switching to the higher value?
> > 
> > I just did a successful installation of sles11sp2 guest on a
> > xen-unstable host with changeset 25427:ad348c6575b8, and with the change
> > below, and the second attempt I just started seems get through as well.
> > 
> > I'm sure I used this variant already two weeks ago, and the install
> > still failed. Perhaps other changes made during the last two weeks make
> > a difference.
> 
> That would be odd.
> 
> > I will also doublecheck how it goes without this change.
> > 
> > Olaf
> > 
> > --- a/hw/xen_disk.c
> > +++ b/hw/xen_disk.c
> > @@ -536,6 +536,10 @@ static void blk_alloc(struct XenDevice *
> >      if (xen_mode != XEN_EMULATE) {
> >          batch_maps = 1;
> >      }
> > +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> > +               2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) < 0)
> 
> The + 1 at the end is certainly not needed anymore after the
> doubling.
> 
> > +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> > +                      strerror(errno));
> >  }
> > 
> >  static int blk_init(struct XenDevice *xendev)
> 
> So I think I'll re-submit with the doubled values then. That's
> in any case better than not setting an upper limit at all on those
> older kernels.
 
At this point I would prefer that you defined a MAX_GRANT_REQS constant
and added a comment to explain what is for, and why it is set to (2 *
max_requests).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 09:58:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa29A-0007Fo-8O; Thu, 31 May 2012 09:58:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa298-0007Fb-VT
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:58:23 +0000
Received: from [85.158.143.35:49968] by server-1.bemta-4.messagelabs.com id
	40/EF-27869-DB047CF4; Thu, 31 May 2012 09:58:21 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338458299!18206711!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15127 invoked from network); 31 May 2012 09:58:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:58:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 10:58:18 +0100
Message-Id: <4FC75CD902000078000871F6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 10:58:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part09278CA9.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH,
 v2] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part09278CA9.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this to be done when the
number of grants intended to be used simultaneously exceeds a certain
driver specific default limit.

Change in v2: Double the number requested, as we need to account for
the allocations needing to happen in contiguous chunks. The worst case
number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
but in order to keep things simple just use 2 * max_req * max_seg.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -548,6 +548,11 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode !=3D XEN_EMULATE) {
         batch_maps =3D 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+            2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST) < 0) {
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
+    }
 }
=20
 static int blk_init(struct XenDevice *xendev)




--=__Part09278CA9.1__=
Content-Type: text/plain; name="qemu-xendisk-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-set-max-grants.patch"

qemu/xendisk: set maximum number of grants to be used=0A=0ALegacy =
(non-pvops) gntdev drivers may require this to be done when the=0Anumber =
of grants intended to be used simultaneously exceeds a certain=0Adriver =
specific default limit.=0A=0AChange in v2: Double the number requested, as =
we need to account for=0Athe allocations needing to happen in contiguous =
chunks. The worst case=0Anumber would be max_req * max_seg + (max_req - 1) =
* (max_seg - 1) + 1,=0Abut in order to keep things simple just use 2 * =
max_req * max_seg.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ -548,6 +548,11 @@ static =
void blk_alloc(struct XenDevice *=0A     if (xen_mode !=3D XEN_EMULATE) =
{=0A         batch_maps =3D 1;=0A     }=0A+    if (xc_gnttab_set_max_grants=
(xendev->gnttabdev,=0A+            2 * max_requests * BLKIF_MAX_SEGMENTS_PE=
R_REQUEST) < 0) {=0A+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_gr=
ants failed: %s\n",=0A+                      strerror(errno));=0A+    }=0A =
}=0A =0A static int blk_init(struct XenDevice *xendev)=0A
--=__Part09278CA9.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part09278CA9.1__=--


From xen-devel-bounces@lists.xen.org Thu May 31 09:58:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 09:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa29A-0007Fo-8O; Thu, 31 May 2012 09:58:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa298-0007Fb-VT
	for xen-devel@lists.xen.org; Thu, 31 May 2012 09:58:23 +0000
Received: from [85.158.143.35:49968] by server-1.bemta-4.messagelabs.com id
	40/EF-27869-DB047CF4; Thu, 31 May 2012 09:58:21 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338458299!18206711!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15127 invoked from network); 31 May 2012 09:58:19 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 09:58:19 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 10:58:18 +0100
Message-Id: <4FC75CD902000078000871F6@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 10:58:17 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part09278CA9.1__="
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH,
 v2] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part09278CA9.1__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this to be done when the
number of grants intended to be used simultaneously exceeds a certain
driver specific default limit.

Change in v2: Double the number requested, as we need to account for
the allocations needing to happen in contiguous chunks. The worst case
number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
but in order to keep things simple just use 2 * max_req * max_seg.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -548,6 +548,11 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode !=3D XEN_EMULATE) {
         batch_maps =3D 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+            2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST) < 0) {
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
+    }
 }
=20
 static int blk_init(struct XenDevice *xendev)




--=__Part09278CA9.1__=
Content-Type: text/plain; name="qemu-xendisk-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-set-max-grants.patch"

qemu/xendisk: set maximum number of grants to be used=0A=0ALegacy =
(non-pvops) gntdev drivers may require this to be done when the=0Anumber =
of grants intended to be used simultaneously exceeds a certain=0Adriver =
specific default limit.=0A=0AChange in v2: Double the number requested, as =
we need to account for=0Athe allocations needing to happen in contiguous =
chunks. The worst case=0Anumber would be max_req * max_seg + (max_req - 1) =
* (max_seg - 1) + 1,=0Abut in order to keep things simple just use 2 * =
max_req * max_seg.=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com>=0A=
=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ -548,6 +548,11 @@ static =
void blk_alloc(struct XenDevice *=0A     if (xen_mode !=3D XEN_EMULATE) =
{=0A         batch_maps =3D 1;=0A     }=0A+    if (xc_gnttab_set_max_grants=
(xendev->gnttabdev,=0A+            2 * max_requests * BLKIF_MAX_SEGMENTS_PE=
R_REQUEST) < 0) {=0A+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_gr=
ants failed: %s\n",=0A+                      strerror(errno));=0A+    }=0A =
}=0A =0A static int blk_init(struct XenDevice *xendev)=0A
--=__Part09278CA9.1__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part09278CA9.1__=--


From xen-devel-bounces@lists.xen.org Thu May 31 10:03:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:03:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2DR-0007d5-UT; Thu, 31 May 2012 10:02:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa2DQ-0007bs-6K
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:02:48 +0000
Received: from [193.109.254.147:33330] by server-11.bemta-14.messagelabs.com
	id 37/BB-01965-7C147CF4; Thu, 31 May 2012 10:02:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338458565!11983013!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23556 invoked from network); 31 May 2012 10:02:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:02:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12757948"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:02:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:02:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa2DN-0001cI-EB; Thu, 31 May 2012 10:02:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa2DN-0006nD-CG;
	Thu, 31 May 2012 11:02:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.16837.362566.14381@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:02:45 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338399158.14877.21.camel@dagon.hellion.org.uk>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
	<1338399158.14877.21.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables
 etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables etc."):
> 
> > @@ -921,71 +913,72 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
...
> > +    xcflags = (live) ? XCFLAGS_LIVE : 0
> >            | (debug) ? XCFLAGS_DEBUG : 0
> >            | (hvm) ? XCFLAGS_HVM : 0;
...
> > +    dss->xcflags = xcflags;
...
> > +            xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
> 
> You now do this after the "dss->xcflags = xcflags" (since you moved that
> block up), won't that mean you loose it?

Yes.

> (xcflags gets used again below in the call to xc_domain_save, but I
> guess that'll go away during asyncification).

I should have abolished the local variable entirely.  Given that I'm
renaming the variable I might as well change all the references to use
dss->xcflags which eliminates the possibility to make this kind of
mistake.

So I will do that.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 10:03:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:03:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2DR-0007d5-UT; Thu, 31 May 2012 10:02:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa2DQ-0007bs-6K
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:02:48 +0000
Received: from [193.109.254.147:33330] by server-11.bemta-14.messagelabs.com
	id 37/BB-01965-7C147CF4; Thu, 31 May 2012 10:02:47 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338458565!11983013!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23556 invoked from network); 31 May 2012 10:02:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:02:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12757948"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:02:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:02:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa2DN-0001cI-EB; Thu, 31 May 2012 10:02:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa2DN-0006nD-CG;
	Thu, 31 May 2012 11:02:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.16837.362566.14381@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:02:45 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338399158.14877.21.camel@dagon.hellion.org.uk>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-3-git-send-email-ian.jackson@eu.citrix.com>
	<1338399158.14877.21.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables
 etc.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 02/15] libxl: domain save: rename variables etc."):
> 
> > @@ -921,71 +913,72 @@ int libxl__domain_suspend_common(libxl__gc *gc, uint32_t domid, int fd,
...
> > +    xcflags = (live) ? XCFLAGS_LIVE : 0
> >            | (debug) ? XCFLAGS_DEBUG : 0
> >            | (hvm) ? XCFLAGS_HVM : 0;
...
> > +    dss->xcflags = xcflags;
...
> > +            xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
> 
> You now do this after the "dss->xcflags = xcflags" (since you moved that
> block up), won't that mean you loose it?

Yes.

> (xcflags gets used again below in the call to xc_domain_save, but I
> guess that'll go away during asyncification).

I should have abolished the local variable entirely.  Given that I'm
renaming the variable I might as well change all the references to use
dss->xcflags which eliminates the possibility to make this kind of
mistake.

So I will do that.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 10:23:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:23:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2XA-0007sk-Q3; Thu, 31 May 2012 10:23:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa2X9-0007sf-Ma
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:23:11 +0000
Received: from [85.158.138.51:53723] by server-2.bemta-3.messagelabs.com id
	48/0F-17140-E8647CF4; Thu, 31 May 2012 10:23:10 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338459789!30077605!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23155 invoked from network); 31 May 2012 10:23:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:23:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12758539"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:22:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:22:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa2We-0001iz-Bo; Thu, 31 May 2012 10:22:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa2We-0007Gk-Aq;
	Thu, 31 May 2012 11:22:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.18032.316476.341196@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:22:40 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338400101.14877.24.camel@dagon.hellion.org.uk>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
	<1338400101.14877.24.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked
 and libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked and libxl__xs_transaction_*"):
>  
> > +int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
> > +                           const char *path, const char **result_out)
> > +{
> > +    char *result = libxl__xs_read(gc, t, path);
> > +    if (!result) {
> > +        if (errno != ENOENT) {
> 
> Can't you combine these with && ?

Yes, but this matches better the way I think of it.  I can change it
if you like.

> > +int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t)
> > +{
...
> > +        LOGE(ERROR, "could not commit xenstore transacton");
> 
>                                                   transaction

Oops.

> It would be much more useful if this function took a "const char
> *what" (even just __func__ from the caller) and logged it here.

I think that this call can only fail due to general failure of
xenstore (or our xenstore handle).  So a `what' here wouldn't help
much.  The other helpers are more likely to fail (permissions, for
example) but they can log the path.

I played about a bit with adding more information supplied by the
callers.  Ultimately what I seem to end up with is something that's
rather too clumsy to use without helper macros which I don't think
will assist with clarity.

Eg,

        if (got) {
            const char *got_ret;
            rc = XLXS_READ(t, lds->ret_path, &got_ret);
            if (rc) goto out;

which is all very well but hardly a model of clarity.

An alternative would be to replace `xs_transaction_t t' with a struct
that contains at least the file and function name and a `what', which
would be passed to the transaction start helper.

So I think I would prefer to keep things as they are.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 10:23:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:23:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2XA-0007sk-Q3; Thu, 31 May 2012 10:23:12 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa2X9-0007sf-Ma
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:23:11 +0000
Received: from [85.158.138.51:53723] by server-2.bemta-3.messagelabs.com id
	48/0F-17140-E8647CF4; Thu, 31 May 2012 10:23:10 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338459789!30077605!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23155 invoked from network); 31 May 2012 10:23:10 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:23:10 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12758539"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:22:40 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:22:40 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa2We-0001iz-Bo; Thu, 31 May 2012 10:22:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa2We-0007Gk-Aq;
	Thu, 31 May 2012 11:22:40 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.18032.316476.341196@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:22:40 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338400101.14877.24.camel@dagon.hellion.org.uk>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
	<1338400101.14877.24.camel@dagon.hellion.org.uk>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked
 and libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked and libxl__xs_transaction_*"):
>  
> > +int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
> > +                           const char *path, const char **result_out)
> > +{
> > +    char *result = libxl__xs_read(gc, t, path);
> > +    if (!result) {
> > +        if (errno != ENOENT) {
> 
> Can't you combine these with && ?

Yes, but this matches better the way I think of it.  I can change it
if you like.

> > +int libxl__xs_transaction_commit(libxl__gc *gc, xs_transaction_t *t)
> > +{
...
> > +        LOGE(ERROR, "could not commit xenstore transacton");
> 
>                                                   transaction

Oops.

> It would be much more useful if this function took a "const char
> *what" (even just __func__ from the caller) and logged it here.

I think that this call can only fail due to general failure of
xenstore (or our xenstore handle).  So a `what' here wouldn't help
much.  The other helpers are more likely to fail (permissions, for
example) but they can log the path.

I played about a bit with adding more information supplied by the
callers.  Ultimately what I seem to end up with is something that's
rather too clumsy to use without helper macros which I don't think
will assist with clarity.

Eg,

        if (got) {
            const char *got_ret;
            rc = XLXS_READ(t, lds->ret_path, &got_ret);
            if (rc) goto out;

which is all very well but hardly a model of clarity.

An alternative would be to replace `xs_transaction_t t' with a struct
that contains at least the file and function name and a `what', which
would be passed to the transaction start helper.

So I think I would prefer to keep things as they are.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 10:28:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:28:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2cC-000817-MG; Thu, 31 May 2012 10:28:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa2cB-000812-K3
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:28:23 +0000
Received: from [85.158.143.35:44048] by server-2.bemta-4.messagelabs.com id
	87/80-11595-6C747CF4; Thu, 31 May 2012 10:28:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338460101!16892495!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11978 invoked from network); 31 May 2012 10:28:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:28:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12758541"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:22:44 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:22:44 +0100
Date: Thu, 31 May 2012 11:22:28 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC75CD902000078000871F6@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311121480.26786@kaball-desktop>
References: <4FC75CD902000078000871F6@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v2] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> Legacy (non-pvops) gntdev drivers may require this to be done when the
> number of grants intended to be used simultaneously exceeds a certain
> driver specific default limit.
> 
> Change in v2: Double the number requested, as we need to account for
> the allocations needing to happen in contiguous chunks. The worst case
> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> but in order to keep things simple just use 2 * max_req * max_seg.

Could you please add a brief explanation like this one as a comment in
the code below?


> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -548,6 +548,11 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +            2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST) < 0) {
> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
> +    }
>  }
>  
>  static int blk_init(struct XenDevice *xendev)
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 10:28:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:28:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2cC-000817-MG; Thu, 31 May 2012 10:28:24 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa2cB-000812-K3
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:28:23 +0000
Received: from [85.158.143.35:44048] by server-2.bemta-4.messagelabs.com id
	87/80-11595-6C747CF4; Thu, 31 May 2012 10:28:22 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338460101!16892495!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11978 invoked from network); 31 May 2012 10:28:22 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:28:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12758541"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:22:44 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:22:44 +0100
Date: Thu, 31 May 2012 11:22:28 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC75CD902000078000871F6@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311121480.26786@kaball-desktop>
References: <4FC75CD902000078000871F6@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v2] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> Legacy (non-pvops) gntdev drivers may require this to be done when the
> number of grants intended to be used simultaneously exceeds a certain
> driver specific default limit.
> 
> Change in v2: Double the number requested, as we need to account for
> the allocations needing to happen in contiguous chunks. The worst case
> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> but in order to keep things simple just use 2 * max_req * max_seg.

Could you please add a brief explanation like this one as a comment in
the code below?


> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -548,6 +548,11 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +            2 * max_requests * BLKIF_MAX_SEGMENTS_PER_REQUEST) < 0) {
> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
> +    }
>  }
>  
>  static int blk_init(struct XenDevice *xendev)
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 10:32:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:32:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2g3-000890-Cb; Thu, 31 May 2012 10:32:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa2g1-00088s-OU
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:32:21 +0000
Received: from [85.158.143.99:33722] by server-2.bemta-4.messagelabs.com id
	9A/F8-11595-4B847CF4; Thu, 31 May 2012 10:32:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338460339!20911045!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24380 invoked from network); 31 May 2012 10:32:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:32:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12758779"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:32:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:32:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa2fz-0001nR-9Q; Thu, 31 May 2012 10:32:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa2fz-0007JW-8G;
	Thu, 31 May 2012 11:32:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.18608.217854.76485@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:32:16 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338450760.17466.5.camel@zakaz.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
	<1338450760.17466.5.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix data" facilit"):
> In the subject: "facility"

Oops, fixed.

> On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > @@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
> >  _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
> >  _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
> >  
> > +/* Inserts literal data into the output stream.
> > + * May safely be used only immediately after libxl__datacopier_start.
> 
> After datacopier_start the fds are registered, is there not a race
> between those events firing (perhaps in another thread which has called
> into libxl) and this thread?

No, because we have the ctx mutex held all of the time.

And there isn't a reentrancy hazard either.  As the comments in
libxl_internal.h have it:

   *   int libxl__ev_KIND_register(libxl__gc *gc, libxl__ev_KIND *GEN,
   *                              libxl__ev_KIND_callback *FUNC,
   *                              DETAILS);
   *      [...].  FUNC will
   *      not be called from within the call to _register.  [...]

I think given your question this warrants a comment:

  @@ -78,6 +78,13 @@ void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
                                     const void *data, size_t len)
   {
       libxl__datacopier_buf *buf;
  +    /*
  +     * It is safe for this to be called immediately after _start, as
  +     * is documented in the public comment.  _start's caller must have
  +     * the mutex locked, so other threads don't get to mess with the
  +     * contents, and the fd events cannot happen reentrantly.  So we
  +     * are guaranteed to beat the first data from the read fd.
  +     */

> Is the safe place not between datacopier_init and the rest of
> datacopier_start?

No, because _start calls _init (just like all the
libxl__*_make_events_happen functions do).

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 10:32:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 10:32:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa2g3-000890-Cb; Thu, 31 May 2012 10:32:23 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa2g1-00088s-OU
	for xen-devel@lists.xen.org; Thu, 31 May 2012 10:32:21 +0000
Received: from [85.158.143.99:33722] by server-2.bemta-4.messagelabs.com id
	9A/F8-11595-4B847CF4; Thu, 31 May 2012 10:32:20 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-216.messagelabs.com!1338460339!20911045!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24380 invoked from network); 31 May 2012 10:32:20 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 10:32:20 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12758779"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:32:19 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 11:32:19 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa2fz-0001nR-9Q; Thu, 31 May 2012 10:32:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa2fz-0007JW-8G;
	Thu, 31 May 2012 11:32:19 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.18608.217854.76485@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:32:16 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338450760.17466.5.camel@zakaz.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
	<1338450760.17466.5.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix data" facilit"):
> In the subject: "facility"

Oops, fixed.

> On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > @@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
> >  _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
> >  _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
> >  
> > +/* Inserts literal data into the output stream.
> > + * May safely be used only immediately after libxl__datacopier_start.
> 
> After datacopier_start the fds are registered, is there not a race
> between those events firing (perhaps in another thread which has called
> into libxl) and this thread?

No, because we have the ctx mutex held all of the time.

And there isn't a reentrancy hazard either.  As the comments in
libxl_internal.h have it:

   *   int libxl__ev_KIND_register(libxl__gc *gc, libxl__ev_KIND *GEN,
   *                              libxl__ev_KIND_callback *FUNC,
   *                              DETAILS);
   *      [...].  FUNC will
   *      not be called from within the call to _register.  [...]

I think given your question this warrants a comment:

  @@ -78,6 +78,13 @@ void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
                                     const void *data, size_t len)
   {
       libxl__datacopier_buf *buf;
  +    /*
  +     * It is safe for this to be called immediately after _start, as
  +     * is documented in the public comment.  _start's caller must have
  +     * the mutex locked, so other threads don't get to mess with the
  +     * contents, and the fd events cannot happen reentrantly.  So we
  +     * are guaranteed to beat the first data from the read fd.
  +     */

> Is the safe place not between datacopier_init and the rest of
> datacopier_start?

No, because _start calls _init (just like all the
libxl__*_make_events_happen functions do).

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DL-0000G0-MM; Thu, 31 May 2012 11:06:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DK-0000Fu-Ur
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:47 +0000
Received: from [85.158.138.51:11021] by server-1.bemta-3.messagelabs.com id
	67/83-06526-6C057CF4; Thu, 31 May 2012 11:06:46 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338462404!30181183!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14617 invoked from network); 31 May 2012 11:06:45 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="197022147"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-0M;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:34 +0100
Message-ID: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCHv3 0/3] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These are probably for 4.3.

Changes since v2:
- Changed all PV events to use a different subclass.
- Put multicall subcalls into their own subclass (so they can be
  filtered out).
- Use 12 bits to report which arguments are present in the
  PV_HYPERCALL_V2 trace record.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DL-0000G0-MM; Thu, 31 May 2012 11:06:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DK-0000Fu-Ur
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:47 +0000
Received: from [85.158.138.51:11021] by server-1.bemta-3.messagelabs.com id
	67/83-06526-6C057CF4; Thu, 31 May 2012 11:06:46 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338462404!30181183!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14617 invoked from network); 31 May 2012 11:06:45 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="197022147"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-0M;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:34 +0100
Message-ID: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCHv3 0/3] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These are probably for 4.3.

Changes since v2:
- Changed all PV events to use a different subclass.
- Put multicall subcalls into their own subclass (so they can be
  filtered out).
- Use 12 bits to report which arguments are present in the
  PV_HYPERCALL_V2 trace record.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DV-0000Go-DN; Thu, 31 May 2012 11:06:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DT-0000GO-93
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:55 +0000
Received: from [193.109.254.147:10529] by server-6.bemta-14.messagelabs.com id
	BB/51-10397-EC057CF4; Thu, 31 May 2012 11:06:54 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338462404!5346344!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10507 invoked from network); 31 May 2012 11:06:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26341704"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-4D;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:37 +0100
Message-ID: <1338462397-32111-4-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 3/3] trace: trace hypercalls inside a multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Add a trace record for every hypercall inside a multicall.  These use
a new event ID (with a different sub-class ) so they may be filtered
out if only the calls into hypervisor are of interest.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 tools/xentrace/formats         |    1 +
 tools/xentrace/xentrace_format |    3 ++-
 xen/arch/x86/trace.c           |    2 +-
 xen/common/compat/multicall.c  |   12 ++++++++++++
 xen/common/multicall.c         |   16 ++++++++++++++++
 xen/common/trace.c             |    6 +++---
 xen/include/public/trace.h     |    4 +++-
 xen/include/xen/trace.h        |    3 ++-
 8 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index fa935c8..928e1d7 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -105,6 +105,7 @@
 0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
+0x0020200e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)    hypercall  [ op = 0x%(1)08x ]
 
 0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
 0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
index 6dab034..554d4de 100644
--- a/tools/xentrace/xentrace_format
+++ b/tools/xentrace/xentrace_format
@@ -112,6 +112,7 @@ last_tsc = [0]
 
 TRC_TRACE_IRQ = 0x1f004
 TRC_PV_HYPERCALL_V2 = 0x20100d
+TRC_PV_HYPERCALL_SUBCALL = 0x20100e
 
 NR_VECTORS = 256
 irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
@@ -199,7 +200,7 @@ while not interrupted:
             d3 = irq_measure[d1]['tot_cycles']
             d4 = irq_measure[d1]['max_cycles']
 
-        if event == TRC_PV_HYPERCALL_V2:
+        if event == TRC_PV_HYPERCALL_V2 or event == TRC_PV_HYPERCALL_SUBCALL:
             # Mask off the argument present bits.
             args[1] &= 0x000fffff
 
diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
index 30269e9..9cb39bc 100644
--- a/xen/arch/x86/trace.c
+++ b/xen/arch/x86/trace.c
@@ -37,7 +37,7 @@ void trace_hypercall(void)
         args[5] = regs->r9;
     }
 
-    __trace_hypercall(regs->eax, args);
+    __trace_hypercall(TRC_PV_HYPERCALL_V2, regs->eax, args);
 }
 
 void __trace_pv_trap(int trapnr, unsigned long eip,
diff --git a/xen/common/compat/multicall.c b/xen/common/compat/multicall.c
index 0eb1212..e7e2a40 100644
--- a/xen/common/compat/multicall.c
+++ b/xen/common/compat/multicall.c
@@ -5,6 +5,7 @@
 #include <xen/config.h>
 #include <xen/types.h>
 #include <xen/multicall.h>
+#include <xen/trace.h>
 
 #define COMPAT
 typedef int ret_t;
@@ -25,6 +26,17 @@ DEFINE_XEN_GUEST_HANDLE(multicall_entry_compat_t);
 #define do_multicall(l, n)   compat_multicall(_##l, n)
 #define _XEN_GUEST_HANDLE(t) XEN_GUEST_HANDLE(t)
 
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    unsigned long args[6];
+    int i;
+
+    for ( i = 0; i < ARRAY_SIZE(args); i++ )
+        args[i] = call->args[i];
+
+    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, args);
+}
+
 #include "../multicall.c"
 
 /*
diff --git a/xen/common/multicall.c b/xen/common/multicall.c
index 6c1a9d7..ca1839d 100644
--- a/xen/common/multicall.c
+++ b/xen/common/multicall.c
@@ -11,14 +11,28 @@
 #include <xen/multicall.h>
 #include <xen/guest_access.h>
 #include <xen/perfc.h>
+#include <xen/trace.h>
 #include <asm/current.h>
 #include <asm/hardirq.h>
 
 #ifndef COMPAT
 typedef long ret_t;
 #define xlat_multicall_entry(mcs)
+
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, call->args);
+}
 #endif
 
+static void trace_multicall_call(multicall_entry_t *call)
+{
+    if ( !tb_init_done )
+        return;
+
+    __trace_multicall_call(call);
+}
+
 ret_t
 do_multicall(
     XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
@@ -47,6 +61,8 @@ do_multicall(
             break;
         }
 
+        trace_multicall_call(&mcs->call);
+
         do_multicall_call(&mcs->call);
 
 #ifndef NDEBUG
diff --git a/xen/common/trace.c b/xen/common/trace.c
index 833f6b9..70054d3 100644
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -816,7 +816,8 @@ unlock:
         tasklet_schedule(&trace_notify_dom0_tasklet);
 }
 
-void __trace_hypercall(unsigned long op, const unsigned long *args)
+void __trace_hypercall(uint32_t event, unsigned long op,
+                       const unsigned long *args)
 {
     struct {
         uint32_t op;
@@ -857,8 +858,7 @@ void __trace_hypercall(unsigned long op, const unsigned long *args)
         break;
     }
 
-    __trace_var(TRC_PV_HYPERCALL_V2, 1,
-                sizeof(uint32_t) * (1 + (a - d.args)), &d);
+    __trace_var(event, 1, sizeof(uint32_t) * (1 + (a - d.args)), &d);
 }
 
 /*
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index ef43b23..3c93805 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -94,7 +94,8 @@
 #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
 #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
 
-#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
+#define TRC_PV_ENTRY   0x00201000 /* Hypervisor entry points for PV guests. */
+#define TRC_PV_SUBCALL 0x00202000 /* Sub-call in a multicall hypercall */
 
 #define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
 #define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
@@ -108,6 +109,7 @@
 #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
 #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
 #define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
+#define TRC_PV_HYPERCALL_SUBCALL     (TRC_PV_SUBCALL + 14)
 
 /*
  * TRC_PV_HYPERCALL_V2 format
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index f601aeb..3b8a7b3 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -44,7 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
         __trace_var(event, cycles, extra, extra_data);
 }
 
-void __trace_hypercall(unsigned long call, const unsigned long *args);
+void __trace_hypercall(uint32_t event, unsigned long op,
+                       const unsigned long *args);
 
 /* Convenience macros for calling the trace function. */
 #define TRACE_0D(_e)                            \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DV-0000Go-DN; Thu, 31 May 2012 11:06:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DT-0000GO-93
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:55 +0000
Received: from [193.109.254.147:10529] by server-6.bemta-14.messagelabs.com id
	BB/51-10397-EC057CF4; Thu, 31 May 2012 11:06:54 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338462404!5346344!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10507 invoked from network); 31 May 2012 11:06:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26341704"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-4D;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:37 +0100
Message-ID: <1338462397-32111-4-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 3/3] trace: trace hypercalls inside a multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Add a trace record for every hypercall inside a multicall.  These use
a new event ID (with a different sub-class ) so they may be filtered
out if only the calls into hypervisor are of interest.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 tools/xentrace/formats         |    1 +
 tools/xentrace/xentrace_format |    3 ++-
 xen/arch/x86/trace.c           |    2 +-
 xen/common/compat/multicall.c  |   12 ++++++++++++
 xen/common/multicall.c         |   16 ++++++++++++++++
 xen/common/trace.c             |    6 +++---
 xen/include/public/trace.h     |    4 +++-
 xen/include/xen/trace.h        |    3 ++-
 8 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index fa935c8..928e1d7 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -105,6 +105,7 @@
 0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
+0x0020200e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)    hypercall  [ op = 0x%(1)08x ]
 
 0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
 0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
index 6dab034..554d4de 100644
--- a/tools/xentrace/xentrace_format
+++ b/tools/xentrace/xentrace_format
@@ -112,6 +112,7 @@ last_tsc = [0]
 
 TRC_TRACE_IRQ = 0x1f004
 TRC_PV_HYPERCALL_V2 = 0x20100d
+TRC_PV_HYPERCALL_SUBCALL = 0x20100e
 
 NR_VECTORS = 256
 irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
@@ -199,7 +200,7 @@ while not interrupted:
             d3 = irq_measure[d1]['tot_cycles']
             d4 = irq_measure[d1]['max_cycles']
 
-        if event == TRC_PV_HYPERCALL_V2:
+        if event == TRC_PV_HYPERCALL_V2 or event == TRC_PV_HYPERCALL_SUBCALL:
             # Mask off the argument present bits.
             args[1] &= 0x000fffff
 
diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
index 30269e9..9cb39bc 100644
--- a/xen/arch/x86/trace.c
+++ b/xen/arch/x86/trace.c
@@ -37,7 +37,7 @@ void trace_hypercall(void)
         args[5] = regs->r9;
     }
 
-    __trace_hypercall(regs->eax, args);
+    __trace_hypercall(TRC_PV_HYPERCALL_V2, regs->eax, args);
 }
 
 void __trace_pv_trap(int trapnr, unsigned long eip,
diff --git a/xen/common/compat/multicall.c b/xen/common/compat/multicall.c
index 0eb1212..e7e2a40 100644
--- a/xen/common/compat/multicall.c
+++ b/xen/common/compat/multicall.c
@@ -5,6 +5,7 @@
 #include <xen/config.h>
 #include <xen/types.h>
 #include <xen/multicall.h>
+#include <xen/trace.h>
 
 #define COMPAT
 typedef int ret_t;
@@ -25,6 +26,17 @@ DEFINE_XEN_GUEST_HANDLE(multicall_entry_compat_t);
 #define do_multicall(l, n)   compat_multicall(_##l, n)
 #define _XEN_GUEST_HANDLE(t) XEN_GUEST_HANDLE(t)
 
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    unsigned long args[6];
+    int i;
+
+    for ( i = 0; i < ARRAY_SIZE(args); i++ )
+        args[i] = call->args[i];
+
+    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, args);
+}
+
 #include "../multicall.c"
 
 /*
diff --git a/xen/common/multicall.c b/xen/common/multicall.c
index 6c1a9d7..ca1839d 100644
--- a/xen/common/multicall.c
+++ b/xen/common/multicall.c
@@ -11,14 +11,28 @@
 #include <xen/multicall.h>
 #include <xen/guest_access.h>
 #include <xen/perfc.h>
+#include <xen/trace.h>
 #include <asm/current.h>
 #include <asm/hardirq.h>
 
 #ifndef COMPAT
 typedef long ret_t;
 #define xlat_multicall_entry(mcs)
+
+static void __trace_multicall_call(multicall_entry_t *call)
+{
+    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, call->args);
+}
 #endif
 
+static void trace_multicall_call(multicall_entry_t *call)
+{
+    if ( !tb_init_done )
+        return;
+
+    __trace_multicall_call(call);
+}
+
 ret_t
 do_multicall(
     XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
@@ -47,6 +61,8 @@ do_multicall(
             break;
         }
 
+        trace_multicall_call(&mcs->call);
+
         do_multicall_call(&mcs->call);
 
 #ifndef NDEBUG
diff --git a/xen/common/trace.c b/xen/common/trace.c
index 833f6b9..70054d3 100644
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -816,7 +816,8 @@ unlock:
         tasklet_schedule(&trace_notify_dom0_tasklet);
 }
 
-void __trace_hypercall(unsigned long op, const unsigned long *args)
+void __trace_hypercall(uint32_t event, unsigned long op,
+                       const unsigned long *args)
 {
     struct {
         uint32_t op;
@@ -857,8 +858,7 @@ void __trace_hypercall(unsigned long op, const unsigned long *args)
         break;
     }
 
-    __trace_var(TRC_PV_HYPERCALL_V2, 1,
-                sizeof(uint32_t) * (1 + (a - d.args)), &d);
+    __trace_var(event, 1, sizeof(uint32_t) * (1 + (a - d.args)), &d);
 }
 
 /*
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index ef43b23..3c93805 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -94,7 +94,8 @@
 #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
 #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
 
-#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
+#define TRC_PV_ENTRY   0x00201000 /* Hypervisor entry points for PV guests. */
+#define TRC_PV_SUBCALL 0x00202000 /* Sub-call in a multicall hypercall */
 
 #define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
 #define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
@@ -108,6 +109,7 @@
 #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
 #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
 #define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
+#define TRC_PV_HYPERCALL_SUBCALL     (TRC_PV_SUBCALL + 14)
 
 /*
  * TRC_PV_HYPERCALL_V2 format
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index f601aeb..3b8a7b3 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -44,7 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
         __trace_var(event, cycles, extra, extra_data);
 }
 
-void __trace_hypercall(unsigned long call, const unsigned long *args);
+void __trace_hypercall(uint32_t event, unsigned long op,
+                       const unsigned long *args);
 
 /* Convenience macros for calling the trace function. */
 #define TRACE_0D(_e)                            \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DV-0000Gw-PS; Thu, 31 May 2012 11:06:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DT-0000GM-Q5
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:56 +0000
Received: from [193.109.254.147:60407] by server-1.bemta-14.messagelabs.com id
	FF/D6-07411-EC057CF4; Thu, 31 May 2012 11:06:54 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338462404!5346344!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10402 invoked from network); 31 May 2012 11:06:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26341703"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-2c;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:35 +0100
Message-ID: <1338462397-32111-2-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 1/3] trace: allow for different sub-classes of
	TRC_PV_* tracepoints
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

We want to add additional sub-classes for TRC_PV tracepoints and to be
able to only capture these new sub-classes.  This cannot currently be
done as the existing tracepoints all use a sub-class of 0xf.

So, redefine the PV events to use a new sub-class.  All the current
tracepoints are tracing entry points to the hypervisor so the
sub-class is named TRC_PV_ENTRY.

This change does not affect xenalyze as that only looks at the main
class and the event number and does not use the sub-class field.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 tools/xentrace/formats     |   44 ++++++++++++++++++++++----------------------
 xen/include/public/trace.h |   35 +++++++++++++++++++++--------------
 2 files changed, 43 insertions(+), 36 deletions(-)

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index 04e54d5..71220c0 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -82,28 +82,28 @@
 0x0010f002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_unmap    [ domid = %(1)d ]
 0x0010f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_transfer [ domid = %(1)d ]
 
-0x0020f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
-0x0020f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
-0x0020f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
-0x0020f103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
-0x0020f004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
-0x0020f104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
-0x0020f005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
-0x0020f105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
-0x0020f006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
-0x0020f106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
-0x0020f007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
-0x0020f107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
-0x0020f008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
-0x0020f108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
-0x0020f009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
-0x0020f109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
-0x0020f00a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
-0x0020f10a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
-0x0020f00b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020f10b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020f00c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020f10c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
+0x00201001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
+0x00201101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
+0x00201003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
+0x00201103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
+0x00201004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
+0x00201104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
+0x00201005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
+0x00201105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
+0x00201006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
+0x00201106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
+0x00201007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
+0x00201107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
+0x00201008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
+0x00201108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
+0x00201009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
+0x00201109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
+0x0020100a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
+0x0020110a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
+0x0020100b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
 
 0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
 0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 0dfabe9..1f154bb 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -94,20 +94,19 @@
 #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
 #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
 
-
-#define TRC_PV_HYPERCALL             (TRC_PV +  1)
-#define TRC_PV_TRAP                  (TRC_PV +  3)
-#define TRC_PV_PAGE_FAULT            (TRC_PV +  4)
-#define TRC_PV_FORCED_INVALID_OP     (TRC_PV +  5)
-#define TRC_PV_EMULATE_PRIVOP        (TRC_PV +  6)
-#define TRC_PV_EMULATE_4GB           (TRC_PV +  7)
-#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV +  8)
-#define TRC_PV_PAGING_FIXUP          (TRC_PV +  9)
-#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
-#define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
-#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
-  /* Indicates that addresses in trace record are 64 bits */
-#define TRC_64_FLAG               (0x100) 
+#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
+
+#define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
+#define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
+#define TRC_PV_PAGE_FAULT            (TRC_PV_ENTRY +  4)
+#define TRC_PV_FORCED_INVALID_OP     (TRC_PV_ENTRY +  5)
+#define TRC_PV_EMULATE_PRIVOP        (TRC_PV_ENTRY +  6)
+#define TRC_PV_EMULATE_4GB           (TRC_PV_ENTRY +  7)
+#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV_ENTRY +  8)
+#define TRC_PV_PAGING_FIXUP          (TRC_PV_ENTRY +  9)
+#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
+#define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
+#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
 
 #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
 #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
@@ -187,6 +186,14 @@
 #define TRC_HW_IRQ_UNMAPPED_VECTOR    (TRC_HW_IRQ + 0x7)
 #define TRC_HW_IRQ_HANDLED            (TRC_HW_IRQ + 0x8)
 
+/*
+ * Event Flags
+ *
+ * Some events (e.g, TRC_PV_TRAP and TRC_HVM_IOMEM_READ) have multiple
+ * record formats.  These event flags distinguish between the
+ * different formats.
+ */
+#define TRC_64_FLAG 0x100 /* Addresses are 64 bits (instead of 32 bits) */
 
 /* This structure represents a single trace buffer record. */
 struct t_rec {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DV-0000Gw-PS; Thu, 31 May 2012 11:06:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DT-0000GM-Q5
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:56 +0000
Received: from [193.109.254.147:60407] by server-1.bemta-14.messagelabs.com id
	FF/D6-07411-EC057CF4; Thu, 31 May 2012 11:06:54 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338462404!5346344!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10402 invoked from network); 31 May 2012 11:06:47 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:47 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26341703"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-2c;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:35 +0100
Message-ID: <1338462397-32111-2-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 1/3] trace: allow for different sub-classes of
	TRC_PV_* tracepoints
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

We want to add additional sub-classes for TRC_PV tracepoints and to be
able to only capture these new sub-classes.  This cannot currently be
done as the existing tracepoints all use a sub-class of 0xf.

So, redefine the PV events to use a new sub-class.  All the current
tracepoints are tracing entry points to the hypervisor so the
sub-class is named TRC_PV_ENTRY.

This change does not affect xenalyze as that only looks at the main
class and the event number and does not use the sub-class field.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 tools/xentrace/formats     |   44 ++++++++++++++++++++++----------------------
 xen/include/public/trace.h |   35 +++++++++++++++++++++--------------
 2 files changed, 43 insertions(+), 36 deletions(-)

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index 04e54d5..71220c0 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -82,28 +82,28 @@
 0x0010f002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_unmap    [ domid = %(1)d ]
 0x0010f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_transfer [ domid = %(1)d ]
 
-0x0020f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
-0x0020f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
-0x0020f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
-0x0020f103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
-0x0020f004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
-0x0020f104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
-0x0020f005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
-0x0020f105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
-0x0020f006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
-0x0020f106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
-0x0020f007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
-0x0020f107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
-0x0020f008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
-0x0020f108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
-0x0020f009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
-0x0020f109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
-0x0020f00a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
-0x0020f10a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
-0x0020f00b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020f10b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020f00c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020f10c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
+0x00201001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
+0x00201101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
+0x00201003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
+0x00201103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
+0x00201004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
+0x00201104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
+0x00201005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
+0x00201105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
+0x00201006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
+0x00201106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
+0x00201007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
+0x00201107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
+0x00201008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
+0x00201108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
+0x00201009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
+0x00201109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
+0x0020100a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
+0x0020110a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
+0x0020100b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
 
 0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
 0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 0dfabe9..1f154bb 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -94,20 +94,19 @@
 #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
 #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
 
-
-#define TRC_PV_HYPERCALL             (TRC_PV +  1)
-#define TRC_PV_TRAP                  (TRC_PV +  3)
-#define TRC_PV_PAGE_FAULT            (TRC_PV +  4)
-#define TRC_PV_FORCED_INVALID_OP     (TRC_PV +  5)
-#define TRC_PV_EMULATE_PRIVOP        (TRC_PV +  6)
-#define TRC_PV_EMULATE_4GB           (TRC_PV +  7)
-#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV +  8)
-#define TRC_PV_PAGING_FIXUP          (TRC_PV +  9)
-#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
-#define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
-#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
-  /* Indicates that addresses in trace record are 64 bits */
-#define TRC_64_FLAG               (0x100) 
+#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
+
+#define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
+#define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
+#define TRC_PV_PAGE_FAULT            (TRC_PV_ENTRY +  4)
+#define TRC_PV_FORCED_INVALID_OP     (TRC_PV_ENTRY +  5)
+#define TRC_PV_EMULATE_PRIVOP        (TRC_PV_ENTRY +  6)
+#define TRC_PV_EMULATE_4GB           (TRC_PV_ENTRY +  7)
+#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV_ENTRY +  8)
+#define TRC_PV_PAGING_FIXUP          (TRC_PV_ENTRY +  9)
+#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
+#define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
+#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
 
 #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
 #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
@@ -187,6 +186,14 @@
 #define TRC_HW_IRQ_UNMAPPED_VECTOR    (TRC_HW_IRQ + 0x7)
 #define TRC_HW_IRQ_HANDLED            (TRC_HW_IRQ + 0x8)
 
+/*
+ * Event Flags
+ *
+ * Some events (e.g, TRC_PV_TRAP and TRC_HVM_IOMEM_READ) have multiple
+ * record formats.  These event flags distinguish between the
+ * different formats.
+ */
+#define TRC_64_FLAG 0x100 /* Addresses are 64 bits (instead of 32 bits) */
 
 /* This structure represents a single trace buffer record. */
 struct t_rec {
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DV-0000Gh-2O; Thu, 31 May 2012 11:06:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DT-0000GM-7C
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:55 +0000
Received: from [193.109.254.147:60400] by server-1.bemta-14.messagelabs.com id
	DE/D6-07411-EC057CF4; Thu, 31 May 2012 11:06:54 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338462404!5346344!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10303 invoked from network); 31 May 2012 11:06:46 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26341701"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-3X;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:36 +0100
Message-ID: <1338462397-32111-3-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 2/3] trace: improve usefulness of hypercall
	trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Trace hypercalls using a more useful trace record format.

The EIP field is removed (it was always somewhere in the hypercall
page) and include selected hypercall arguments (e.g., the number of
calls in a multicall, and the number of PTE updates in an mmu_update
etc.).  12 bits in the first extra word are used to indicate which
arguments are present in the record and what size they are (32 or
64-bit).

This is an incompatible record format so a new event ID is used so
tools can distinguish between the two formats.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 tools/xentrace/formats         |    1 +
 tools/xentrace/xentrace_format |    6 +++++
 xen/arch/x86/trace.c           |   35 +++++++++++++-----------------
 xen/common/trace.c             |   45 ++++++++++++++++++++++++++++++++++++++++
 xen/include/public/trace.h     |   30 ++++++++++++++++++++++++++
 xen/include/xen/trace.h        |    2 +
 6 files changed, 99 insertions(+), 20 deletions(-)

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index 71220c0..fa935c8 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -104,6 +104,7 @@
 0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
 
 0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
 0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
index e13b05b..6dab034 100644
--- a/tools/xentrace/xentrace_format
+++ b/tools/xentrace/xentrace_format
@@ -111,6 +111,8 @@ D7REC  = "IIIIIII"
 last_tsc = [0]
 
 TRC_TRACE_IRQ = 0x1f004
+TRC_PV_HYPERCALL_V2 = 0x20100d
+
 NR_VECTORS = 256
 irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
 
@@ -197,6 +199,10 @@ while not interrupted:
             d3 = irq_measure[d1]['tot_cycles']
             d4 = irq_measure[d1]['max_cycles']
 
+        if event == TRC_PV_HYPERCALL_V2:
+            # Mask off the argument present bits.
+            args[1] &= 0x000fffff
+
         #tsc = (tscH<<32) | tscL
 
         #print i, tsc
diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
index 404f293..30269e9 100644
--- a/xen/arch/x86/trace.c
+++ b/xen/arch/x86/trace.c
@@ -14,35 +14,30 @@
 void trace_hypercall(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
+    unsigned long args[6];
 
 #ifdef __x86_64__
     if ( is_pv_32on64_vcpu(current) )
     {
-        struct {
-            u32 eip,eax;
-        } __attribute__((packed)) d;
-            
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d), &d);
+        args[0] = regs->ebx;
+        args[1] = regs->ecx;
+        args[2] = regs->edx;
+        args[3] = regs->esi;
+        args[4] = regs->edi;
+        args[5] = regs->ebp;
     }
     else
 #endif
     {
-        struct {
-            unsigned long eip;
-            u32 eax;
-        } __attribute__((packed)) d;
-        u32 event;
-
-        event = TRC_PV_HYPERCALL;
-        event |= TRC_64_FLAG;
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(event, 1/*tsc*/, sizeof(d), &d);
+        args[0] = regs->rdi;
+        args[1] = regs->rsi;
+        args[2] = regs->rdx;
+        args[3] = regs->r10;
+        args[4] = regs->r8;
+        args[5] = regs->r9;
     }
+
+    __trace_hypercall(regs->eax, args);
 }
 
 void __trace_pv_trap(int trapnr, unsigned long eip,
diff --git a/xen/common/trace.c b/xen/common/trace.c
index cacaeb2..833f6b9 100644
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -816,6 +816,51 @@ unlock:
         tasklet_schedule(&trace_notify_dom0_tasklet);
 }
 
+void __trace_hypercall(unsigned long op, const unsigned long *args)
+{
+    struct {
+        uint32_t op;
+        uint32_t args[6];
+    } __attribute__((packed)) d;
+    uint32_t *a = d.args;
+
+#define APPEND_ARG32(i)                         \
+    do {                                        \
+        unsigned i_ = (i);                      \
+        *a++ = args[(i_)];                      \
+        d.op |= TRC_PV_HYPERCALL_V2_ARG_32(i_); \
+    } while( 0 )
+
+    /*
+     * This shouldn't happen as @op should be small enough but just in
+     * case, warn if the argument bits in the trace record would
+     * clobber the hypercall op.
+     */
+    WARN_ON(op & TRC_PV_HYPERCALL_V2_ARG_MASK);
+
+    d.op = op;
+
+    switch ( op )
+    {
+    case __HYPERVISOR_mmu_update:
+        APPEND_ARG32(1); /* count */
+        break;
+    case __HYPERVISOR_multicall:
+        APPEND_ARG32(1); /* count */
+        break;
+    case __HYPERVISOR_grant_table_op:
+        APPEND_ARG32(0); /* cmd */
+        APPEND_ARG32(2); /* count */
+        break;
+    case __HYPERVISOR_mmuext_op:
+        APPEND_ARG32(1); /* count */
+        break;
+    }
+
+    __trace_var(TRC_PV_HYPERCALL_V2, 1,
+                sizeof(uint32_t) * (1 + (a - d.args)), &d);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 1f154bb..ef43b23 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -107,6 +107,36 @@
 #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
 #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
 #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
+#define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
+
+/*
+ * TRC_PV_HYPERCALL_V2 format
+ *
+ * Only some of the hypercall argument are recorded. Bit fields A0 to
+ * A5 in the first extra word are set if the argument is present and
+ * the arguments themselves are packed sequentially in the following
+ * words.
+ *
+ * The TRC_64_FLAG bit is not set for these events (even if there are
+ * 64-bit arguments in the record).
+ *
+ * Word
+ * 0    bit 31 30|29 28|27 26|25 24|23 22|21 20|19 ... 0
+ *          A5   |A4   |A3   |A2   |A1   |A0   |Hypercall op
+ * 1    First 32 bit (or low word of first 64 bit) arg in record
+ * 2    Second 32 bit (or high word of first 64 bit) arg in record
+ * ...
+ *
+ * A0-A5 bitfield values:
+ *
+ *   00b  Argument not present
+ *   01b  32-bit argument present
+ *   10b  64-bit argument present
+ *   11b  Reserved
+ */
+#define TRC_PV_HYPERCALL_V2_ARG_32(i) (0x1 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_64(i) (0x2 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_MASK  (0xfff00000)
 
 #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
 #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index b32f6c5..f601aeb 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
         __trace_var(event, cycles, extra, extra_data);
 }
 
+void __trace_hypercall(unsigned long call, const unsigned long *args);
+
 /* Convenience macros for calling the trace function. */
 #define TRACE_0D(_e)                            \
     do {                                        \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:07:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3DV-0000Gh-2O; Thu, 31 May 2012 11:06:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3DT-0000GM-7C
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:06:55 +0000
Received: from [193.109.254.147:60400] by server-1.bemta-14.messagelabs.com id
	DE/D6-07411-EC057CF4; Thu, 31 May 2012 11:06:54 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1338462404!5346344!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10303 invoked from network); 31 May 2012 11:06:46 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:06:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26341701"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:06:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:06:43 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3DH-00010c-3X;
	Thu, 31 May 2012 12:06:43 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Date: Thu, 31 May 2012 12:06:36 +0100
Message-ID: <1338462397-32111-3-git-send-email-david.vrabel@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
MIME-Version: 1.0
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 2/3] trace: improve usefulness of hypercall
	trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: David Vrabel <david.vrabel@citrix.com>

Trace hypercalls using a more useful trace record format.

The EIP field is removed (it was always somewhere in the hypercall
page) and include selected hypercall arguments (e.g., the number of
calls in a multicall, and the number of PTE updates in an mmu_update
etc.).  12 bits in the first extra word are used to indicate which
arguments are present in the record and what size they are (32 or
64-bit).

This is an incompatible record format so a new event ID is used so
tools can distinguish between the two formats.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 tools/xentrace/formats         |    1 +
 tools/xentrace/xentrace_format |    6 +++++
 xen/arch/x86/trace.c           |   35 +++++++++++++-----------------
 xen/common/trace.c             |   45 ++++++++++++++++++++++++++++++++++++++++
 xen/include/public/trace.h     |   30 ++++++++++++++++++++++++++
 xen/include/xen/trace.h        |    2 +
 6 files changed, 99 insertions(+), 20 deletions(-)

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index 71220c0..fa935c8 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -104,6 +104,7 @@
 0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
 0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
+0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
 
 0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
 0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
index e13b05b..6dab034 100644
--- a/tools/xentrace/xentrace_format
+++ b/tools/xentrace/xentrace_format
@@ -111,6 +111,8 @@ D7REC  = "IIIIIII"
 last_tsc = [0]
 
 TRC_TRACE_IRQ = 0x1f004
+TRC_PV_HYPERCALL_V2 = 0x20100d
+
 NR_VECTORS = 256
 irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
 
@@ -197,6 +199,10 @@ while not interrupted:
             d3 = irq_measure[d1]['tot_cycles']
             d4 = irq_measure[d1]['max_cycles']
 
+        if event == TRC_PV_HYPERCALL_V2:
+            # Mask off the argument present bits.
+            args[1] &= 0x000fffff
+
         #tsc = (tscH<<32) | tscL
 
         #print i, tsc
diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
index 404f293..30269e9 100644
--- a/xen/arch/x86/trace.c
+++ b/xen/arch/x86/trace.c
@@ -14,35 +14,30 @@
 void trace_hypercall(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
+    unsigned long args[6];
 
 #ifdef __x86_64__
     if ( is_pv_32on64_vcpu(current) )
     {
-        struct {
-            u32 eip,eax;
-        } __attribute__((packed)) d;
-            
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d), &d);
+        args[0] = regs->ebx;
+        args[1] = regs->ecx;
+        args[2] = regs->edx;
+        args[3] = regs->esi;
+        args[4] = regs->edi;
+        args[5] = regs->ebp;
     }
     else
 #endif
     {
-        struct {
-            unsigned long eip;
-            u32 eax;
-        } __attribute__((packed)) d;
-        u32 event;
-
-        event = TRC_PV_HYPERCALL;
-        event |= TRC_64_FLAG;
-        d.eip = regs->eip;
-        d.eax = regs->eax;
-
-        __trace_var(event, 1/*tsc*/, sizeof(d), &d);
+        args[0] = regs->rdi;
+        args[1] = regs->rsi;
+        args[2] = regs->rdx;
+        args[3] = regs->r10;
+        args[4] = regs->r8;
+        args[5] = regs->r9;
     }
+
+    __trace_hypercall(regs->eax, args);
 }
 
 void __trace_pv_trap(int trapnr, unsigned long eip,
diff --git a/xen/common/trace.c b/xen/common/trace.c
index cacaeb2..833f6b9 100644
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -816,6 +816,51 @@ unlock:
         tasklet_schedule(&trace_notify_dom0_tasklet);
 }
 
+void __trace_hypercall(unsigned long op, const unsigned long *args)
+{
+    struct {
+        uint32_t op;
+        uint32_t args[6];
+    } __attribute__((packed)) d;
+    uint32_t *a = d.args;
+
+#define APPEND_ARG32(i)                         \
+    do {                                        \
+        unsigned i_ = (i);                      \
+        *a++ = args[(i_)];                      \
+        d.op |= TRC_PV_HYPERCALL_V2_ARG_32(i_); \
+    } while( 0 )
+
+    /*
+     * This shouldn't happen as @op should be small enough but just in
+     * case, warn if the argument bits in the trace record would
+     * clobber the hypercall op.
+     */
+    WARN_ON(op & TRC_PV_HYPERCALL_V2_ARG_MASK);
+
+    d.op = op;
+
+    switch ( op )
+    {
+    case __HYPERVISOR_mmu_update:
+        APPEND_ARG32(1); /* count */
+        break;
+    case __HYPERVISOR_multicall:
+        APPEND_ARG32(1); /* count */
+        break;
+    case __HYPERVISOR_grant_table_op:
+        APPEND_ARG32(0); /* cmd */
+        APPEND_ARG32(2); /* count */
+        break;
+    case __HYPERVISOR_mmuext_op:
+        APPEND_ARG32(1); /* count */
+        break;
+    }
+
+    __trace_var(TRC_PV_HYPERCALL_V2, 1,
+                sizeof(uint32_t) * (1 + (a - d.args)), &d);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 1f154bb..ef43b23 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -107,6 +107,36 @@
 #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
 #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
 #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
+#define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
+
+/*
+ * TRC_PV_HYPERCALL_V2 format
+ *
+ * Only some of the hypercall argument are recorded. Bit fields A0 to
+ * A5 in the first extra word are set if the argument is present and
+ * the arguments themselves are packed sequentially in the following
+ * words.
+ *
+ * The TRC_64_FLAG bit is not set for these events (even if there are
+ * 64-bit arguments in the record).
+ *
+ * Word
+ * 0    bit 31 30|29 28|27 26|25 24|23 22|21 20|19 ... 0
+ *          A5   |A4   |A3   |A2   |A1   |A0   |Hypercall op
+ * 1    First 32 bit (or low word of first 64 bit) arg in record
+ * 2    Second 32 bit (or high word of first 64 bit) arg in record
+ * ...
+ *
+ * A0-A5 bitfield values:
+ *
+ *   00b  Argument not present
+ *   01b  32-bit argument present
+ *   10b  64-bit argument present
+ *   11b  Reserved
+ */
+#define TRC_PV_HYPERCALL_V2_ARG_32(i) (0x1 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_64(i) (0x2 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_MASK  (0xfff00000)
 
 #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
 #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index b32f6c5..f601aeb 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
         __trace_var(event, cycles, extra, extra_data);
 }
 
+void __trace_hypercall(unsigned long call, const unsigned long *args);
+
 /* Convenience macros for calling the trace function. */
 #define TRACE_0D(_e)                            \
     do {                                        \
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:14:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:14:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3KH-0000rJ-Sc; Thu, 31 May 2012 11:13:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa3KF-0000rE-UM
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:13:56 +0000
Received: from [85.158.138.51:3568] by server-7.bemta-3.messagelabs.com id
	B8/47-22601-37257CF4; Thu, 31 May 2012 11:13:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338462834!22013181!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31976 invoked from network); 31 May 2012 11:13:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:13:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12759868"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:13:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 12:13:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa3KD-0002AO-7j; Thu, 31 May 2012 11:13:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa3KD-000874-70;
	Thu, 31 May 2012 12:13:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.21105.203374.214953@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 12:13:53 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FC5DDCF.5050008@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-2-git-send-email-roger.pau@citrix.com>
	<20420.53243.895944.536517@mariner.uk.xensource.com>
	<4FC5DDCF.5050008@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 01/10] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v4 01/10] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Ian Jackson wrote:
> > Questions whose answers should be clear from your text include:
...
> I've added a more detailed comment about _prepare.

Thanks.

> > Did you miss the fact that email suggesting the macro for generating
> > the device remove functions also had these other comments in ?
> 
> I've replied to this email, the response is here:
> 
> http://marc.info/?l=xen-devel&m=133770109429587&w=2

Sorry, I seem to have dropped that mail.  My fault.

> I would like to leave this for future work, since the error checking we 
> have now is not better that what I'm proposing here.

OK.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:14:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:14:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3KH-0000rJ-Sc; Thu, 31 May 2012 11:13:57 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa3KF-0000rE-UM
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:13:56 +0000
Received: from [85.158.138.51:3568] by server-7.bemta-3.messagelabs.com id
	B8/47-22601-37257CF4; Thu, 31 May 2012 11:13:55 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338462834!22013181!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31976 invoked from network); 31 May 2012 11:13:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:13:54 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12759868"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:13:53 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 12:13:53 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa3KD-0002AO-7j; Thu, 31 May 2012 11:13:53 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa3KD-000874-70;
	Thu, 31 May 2012 12:13:53 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.21105.203374.214953@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 12:13:53 +0100
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FC5DDCF.5050008@citrix.com>
References: <1337855045-10428-1-git-send-email-roger.pau@citrix.com>
	<1337855045-10428-2-git-send-email-roger.pau@citrix.com>
	<20420.53243.895944.536517@mariner.uk.xensource.com>
	<4FC5DDCF.5050008@citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v4 01/10] libxl: change
 libxl__ao_device_remove to libxl__ao_device
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Roger Pau Monne writes ("Re: [PATCH v4 01/10] libxl: change libxl__ao_device_remove to libxl__ao_device"):
> Ian Jackson wrote:
> > Questions whose answers should be clear from your text include:
...
> I've added a more detailed comment about _prepare.

Thanks.

> > Did you miss the fact that email suggesting the macro for generating
> > the device remove functions also had these other comments in ?
> 
> I've replied to this email, the response is here:
> 
> http://marc.info/?l=xen-devel&m=133770109429587&w=2

Sorry, I seem to have dropped that mail.  My fault.

> I would like to leave this for future work, since the error checking we 
> have now is not better that what I'm proposing here.

OK.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NJ-0000zh-EM; Thu, 31 May 2012 11:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NH-0000xz-3I
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [85.158.138.51:49985] by server-5.bemta-3.messagelabs.com id
	DE/D3-27664-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31485 invoked from network); 31 May 2012 11:17:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342754"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-VY;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5723153376e0d710201214ab6c376f115eaf4aa9
Message-ID: <5723153376e0d7102012.1338462982@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:22 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 06 of 10] xenalyze: move struct record_info into
	a header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Split out struct record_info onto the analyze.h so it can be used
outside of xenalyze.c.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/analyze.h b/analyze.h
--- a/analyze.h
+++ b/analyze.h
@@ -1,5 +1,8 @@
 #ifndef __ANALYZE_H
 # define __ANALYZE_H
+
+#include <stdint.h>
+
 #define TRC_GEN_MAIN     0
 #define TRC_SCHED_MAIN   1
 #define TRC_DOM0OP_MAIN  2
@@ -47,4 +50,56 @@ enum {
 };
 
 #define TRC_HVM_OP_DESTROY_PROC (TRC_HVM_HANDLER + 0x100)
+
+typedef unsigned long long tsc_t;
+
+/* -- on-disk trace buffer definitions -- */
+struct trace_record {
+    union {
+        struct {
+            unsigned event:28,
+                extra_words:3,
+                cycle_flag:1;
+            union {
+                struct {
+                    uint32_t tsc_lo, tsc_hi;
+                    uint32_t data[7];
+                } tsc;
+                struct {
+                    uint32_t data[7];
+                } notsc;
+            } u;
+        };
+        uint32_t raw[8];
+    };
+};
+
+/* -- General info about a current record -- */
+struct time_struct {
+    unsigned long long time;
+    unsigned int s, ns;
+};
+
+#define DUMP_HEADER_MAX 256
+
+struct record_info {
+    int cpu;
+    tsc_t tsc;
+    union {
+        unsigned event;
+        struct {
+            unsigned minor:12,
+                sub:4,
+                main:12,
+                unused:4;
+        } evt;
+    };
+    int extra_words;
+    int size;
+    uint32_t *d;
+    char dump_header[DUMP_HEADER_MAX];
+    struct time_struct t;
+    struct trace_record rec;
+};
+
 #endif
diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -40,8 +40,6 @@
 struct mread_ctrl;
 
 
-typedef unsigned long long tsc_t;
-
 #define DEFAULT_CPU_HZ 2400000000LL
 #define ADDR_SPACE_BITS 48
 #define DEFAULT_SAMPLE_SIZE 10240
@@ -260,57 +258,8 @@ struct {
     .interval = { .msec = DEFAULT_INTERVAL_LENGTH },
 };
 
-/* -- on-disk trace buffer definitions -- */
-struct trace_record {
-    union {
-        struct {
-            unsigned event:28,
-                extra_words:3,
-                cycle_flag:1;
-            union {
-                struct {
-                    uint32_t tsc_lo, tsc_hi;
-                    uint32_t data[7];
-                } tsc;
-                struct {
-                    uint32_t data[7];
-                } notsc;
-            } u;
-        };
-        uint32_t raw[8];
-    };
-};
-
 FILE *warn = NULL;
 
-/* -- General info about a current record -- */
-struct time_struct {
-    unsigned long long time;
-    unsigned int s, ns;
-};
-
-#define DUMP_HEADER_MAX 256
-
-struct record_info {
-    int cpu;
-    tsc_t tsc;
-    union {
-        unsigned event;
-        struct {
-            unsigned minor:12,
-                sub:4,
-                main:12,
-                unused:4;
-        } evt;
-    };
-    int extra_words;
-    int size;
-    uint32_t *d;
-    char dump_header[DUMP_HEADER_MAX];
-    struct time_struct t;
-    struct trace_record rec;
-};
-
 /* -- Summary data -- */
 struct cycle_framework {
     tsc_t first_tsc, last_tsc, total_cycles;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NJ-0000zh-EM; Thu, 31 May 2012 11:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NH-0000xz-3I
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [85.158.138.51:49985] by server-5.bemta-3.messagelabs.com id
	DE/D3-27664-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!4
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31485 invoked from network); 31 May 2012 11:17:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342754"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-VY;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5723153376e0d710201214ab6c376f115eaf4aa9
Message-ID: <5723153376e0d7102012.1338462982@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:22 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 06 of 10] xenalyze: move struct record_info into
	a header
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Split out struct record_info onto the analyze.h so it can be used
outside of xenalyze.c.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/analyze.h b/analyze.h
--- a/analyze.h
+++ b/analyze.h
@@ -1,5 +1,8 @@
 #ifndef __ANALYZE_H
 # define __ANALYZE_H
+
+#include <stdint.h>
+
 #define TRC_GEN_MAIN     0
 #define TRC_SCHED_MAIN   1
 #define TRC_DOM0OP_MAIN  2
@@ -47,4 +50,56 @@ enum {
 };
 
 #define TRC_HVM_OP_DESTROY_PROC (TRC_HVM_HANDLER + 0x100)
+
+typedef unsigned long long tsc_t;
+
+/* -- on-disk trace buffer definitions -- */
+struct trace_record {
+    union {
+        struct {
+            unsigned event:28,
+                extra_words:3,
+                cycle_flag:1;
+            union {
+                struct {
+                    uint32_t tsc_lo, tsc_hi;
+                    uint32_t data[7];
+                } tsc;
+                struct {
+                    uint32_t data[7];
+                } notsc;
+            } u;
+        };
+        uint32_t raw[8];
+    };
+};
+
+/* -- General info about a current record -- */
+struct time_struct {
+    unsigned long long time;
+    unsigned int s, ns;
+};
+
+#define DUMP_HEADER_MAX 256
+
+struct record_info {
+    int cpu;
+    tsc_t tsc;
+    union {
+        unsigned event;
+        struct {
+            unsigned minor:12,
+                sub:4,
+                main:12,
+                unused:4;
+        } evt;
+    };
+    int extra_words;
+    int size;
+    uint32_t *d;
+    char dump_header[DUMP_HEADER_MAX];
+    struct time_struct t;
+    struct trace_record rec;
+};
+
 #endif
diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -40,8 +40,6 @@
 struct mread_ctrl;
 
 
-typedef unsigned long long tsc_t;
-
 #define DEFAULT_CPU_HZ 2400000000LL
 #define ADDR_SPACE_BITS 48
 #define DEFAULT_SAMPLE_SIZE 10240
@@ -260,57 +258,8 @@ struct {
     .interval = { .msec = DEFAULT_INTERVAL_LENGTH },
 };
 
-/* -- on-disk trace buffer definitions -- */
-struct trace_record {
-    union {
-        struct {
-            unsigned event:28,
-                extra_words:3,
-                cycle_flag:1;
-            union {
-                struct {
-                    uint32_t tsc_lo, tsc_hi;
-                    uint32_t data[7];
-                } tsc;
-                struct {
-                    uint32_t data[7];
-                } notsc;
-            } u;
-        };
-        uint32_t raw[8];
-    };
-};
-
 FILE *warn = NULL;
 
-/* -- General info about a current record -- */
-struct time_struct {
-    unsigned long long time;
-    unsigned int s, ns;
-};
-
-#define DUMP_HEADER_MAX 256
-
-struct record_info {
-    int cpu;
-    tsc_t tsc;
-    union {
-        unsigned event;
-        struct {
-            unsigned minor:12,
-                sub:4,
-                main:12,
-                unused:4;
-        } evt;
-    };
-    int extra_words;
-    int size;
-    uint32_t *d;
-    char dump_header[DUMP_HEADER_MAX];
-    struct time_struct t;
-    struct trace_record rec;
-};
-
 /* -- Summary data -- */
 struct cycle_framework {
     tsc_t first_tsc, last_tsc, total_cycles;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NG-0000yU-9U; Thu, 31 May 2012 11:17:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NE-0000xz-Uu
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:01 +0000
Received: from [85.158.138.51:39771] by server-5.bemta-3.messagelabs.com id
	8C/B3-27664-C2357CF4; Thu, 31 May 2012 11:17:00 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31370 invoked from network); 31 May 2012 11:16:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:16:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342751"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-T9;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: 8884c4995307dc8664d5670454c10f434d788fb8
Message-ID: <8884c4995307dc8664d5.1338462978@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:18 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 02 of 10] xenalyze: automatically generate
	dependencies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Use gcc's -MD and -MP options to automatically generate dependencies.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -1,3 +1,4 @@
+.*\.d
 .*\.o
 xenalyze
 dump-raw
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,3 @@
-CC = gcc
-
 CFLAGS += -g -O2
 CFLAGS += -fno-strict-aliasing
 CFLAGS += -std=gnu99
@@ -7,22 +5,35 @@ CFLAGS += -Wall -Wstrict-prototypes
 CFLAGS += -Wno-unused-value
 CFLAGS += -Wdeclaration-after-statement
 
-CFLAGS  += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
 CFLAGS += -mno-tls-direct-seg-refs
-CFLAGS  += -Werror
+CFLAGS += -Werror
 
-BIN      = xenalyze dump-raw
+BIN := xenalyze dump-raw
 
-HDRS = trace.h analyze.h mread.h
+xenalyze_OBJS := \
+	mread.o \
+	xenalyze.o
+
+dump-raw_OBJS := \
+	dump-raw.o
 
 all: $(BIN)
 
+xenalyze: $(xenalyze_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^
+
+dump-raw: $(dump-raw_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^
+
+%.o: %.c
+	$(CC) $(CFLAGS) -MD -MP -c -o $@ $<
+
+all_objs := $(foreach b,$(BIN),$($(b)_OBJS))
+all_deps := $(all_objs:.o=.d)
+
 .PHONY: clean
 clean:
-	$(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
+	$(RM) $(BIN) $(all_objs) $(all_deps)
 
-%: %.c $(HDRS) Makefile
-	$(CC) $(CFLAGS) -o $@ $<
-
-xenalyze: xenalyze.o mread.o
-	$(CC) $(CFLAGS) -o $@ $^
+-include $(all_deps)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NG-0000yU-9U; Thu, 31 May 2012 11:17:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NE-0000xz-Uu
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:01 +0000
Received: from [85.158.138.51:39771] by server-5.bemta-3.messagelabs.com id
	8C/B3-27664-C2357CF4; Thu, 31 May 2012 11:17:00 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31370 invoked from network); 31 May 2012 11:16:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:16:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342751"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-T9;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: 8884c4995307dc8664d5670454c10f434d788fb8
Message-ID: <8884c4995307dc8664d5.1338462978@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:18 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 02 of 10] xenalyze: automatically generate
	dependencies
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Use gcc's -MD and -MP options to automatically generate dependencies.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -1,3 +1,4 @@
+.*\.d
 .*\.o
 xenalyze
 dump-raw
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,3 @@
-CC = gcc
-
 CFLAGS += -g -O2
 CFLAGS += -fno-strict-aliasing
 CFLAGS += -std=gnu99
@@ -7,22 +5,35 @@ CFLAGS += -Wall -Wstrict-prototypes
 CFLAGS += -Wno-unused-value
 CFLAGS += -Wdeclaration-after-statement
 
-CFLAGS  += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
 CFLAGS += -mno-tls-direct-seg-refs
-CFLAGS  += -Werror
+CFLAGS += -Werror
 
-BIN      = xenalyze dump-raw
+BIN := xenalyze dump-raw
 
-HDRS = trace.h analyze.h mread.h
+xenalyze_OBJS := \
+	mread.o \
+	xenalyze.o
+
+dump-raw_OBJS := \
+	dump-raw.o
 
 all: $(BIN)
 
+xenalyze: $(xenalyze_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^
+
+dump-raw: $(dump-raw_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^
+
+%.o: %.c
+	$(CC) $(CFLAGS) -MD -MP -c -o $@ $<
+
+all_objs := $(foreach b,$(BIN),$($(b)_OBJS))
+all_deps := $(all_objs:.o=.d)
+
 .PHONY: clean
 clean:
-	$(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
+	$(RM) $(BIN) $(all_objs) $(all_deps)
 
-%: %.c $(HDRS) Makefile
-	$(CC) $(CFLAGS) -o $@ $<
-
-xenalyze: xenalyze.o mread.o
-	$(CC) $(CFLAGS) -o $@ $^
+-include $(all_deps)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NF-0000yI-TS; Thu, 31 May 2012 11:17:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NE-0000xu-Ln
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:00 +0000
Received: from [85.158.138.51:39822] by server-11.bemta-3.messagelabs.com id
	12/3E-32748-C2357CF4; Thu, 31 May 2012 11:17:00 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31423 invoked from network); 31 May 2012 11:16:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:16:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342752"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Rw;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1338462976@qabil.uk.xensource.com>
In-Reply-To: <338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <338462397-32111-1-git-send-email-david.vrabel@citrix.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:16 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 00 of 10] xenalyze: build,
	hypercall tracing and plugins (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

A collection of fixes for xenalyze improving the build, adding support
for the TRC_PV_HYPERCALL_V2 records and adding a simple plugin system.

Changes in v2:
- updates for changes in PV_HYPERCALL_V2 format.
- removed some decoding of events which don't exist.
- include updated trace.h.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NF-0000yI-TS; Thu, 31 May 2012 11:17:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NE-0000xu-Ln
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:00 +0000
Received: from [85.158.138.51:39822] by server-11.bemta-3.messagelabs.com id
	12/3E-32748-C2357CF4; Thu, 31 May 2012 11:17:00 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31423 invoked from network); 31 May 2012 11:16:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:16:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342752"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Rw;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1338462976@qabil.uk.xensource.com>
In-Reply-To: <338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <338462397-32111-1-git-send-email-david.vrabel@citrix.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:16 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 00 of 10] xenalyze: build,
	hypercall tracing and plugins (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

A collection of fixes for xenalyze improving the build, adding support
for the TRC_PV_HYPERCALL_V2 records and adding a simple plugin system.

Changes in v2:
- updates for changes in PV_HYPERCALL_V2 format.
- removed some decoding of events which don't exist.
- include updated trace.h.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NJ-0000zu-Qu; Thu, 31 May 2012 11:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NH-0000yW-HD
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [85.158.138.51:49991] by server-9.bemta-3.messagelabs.com id
	B8/55-21565-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!6
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31711 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342757"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-UE;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: d8962a506735776f93428ba2ed25f2a0f4b20c31
Message-ID: <d8962a506735776f9342.1338462980@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:20 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 04 of 10] xenalyze: update trace.h to match
	xen-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Update trace.h to the version in xen-unstable (plus my PV_HYPERCALL_*
patches).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/trace.h b/trace.h
--- a/trace.h
+++ b/trace.h
@@ -57,6 +57,7 @@
 #define TRC_SCHED_CLASS     0x00022000   /* Scheduler-specific    */
 #define TRC_SCHED_VERBOSE   0x00028000   /* More inclusive scheduling */
 
+/* Trace classes for Hardware */
 #define TRC_HW_PM           0x00801000   /* Power management traces */
 #define TRC_HW_IRQ          0x00802000   /* Traces relating to the handling of IRQs */
 
@@ -93,20 +94,51 @@
 #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
 #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
 
+#define TRC_PV_ENTRY   0x00201000 /* Hypervisor entry points for PV guests. */
+#define TRC_PV_SUBCALL 0x00202000 /* Sub-call in a multicall hypercall */
 
-#define TRC_PV_HYPERCALL             (TRC_PV +  1)
-#define TRC_PV_TRAP                  (TRC_PV +  3)
-#define TRC_PV_PAGE_FAULT            (TRC_PV +  4)
-#define TRC_PV_FORCED_INVALID_OP     (TRC_PV +  5)
-#define TRC_PV_EMULATE_PRIVOP        (TRC_PV +  6)
-#define TRC_PV_EMULATE_4GB           (TRC_PV +  7)
-#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV +  8)
-#define TRC_PV_PAGING_FIXUP          (TRC_PV +  9)
-#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
-#define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
-#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
-  /* Indicates that addresses in trace record are 64 bits */
-#define TRC_64_FLAG               (0x100) 
+#define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
+#define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
+#define TRC_PV_PAGE_FAULT            (TRC_PV_ENTRY +  4)
+#define TRC_PV_FORCED_INVALID_OP     (TRC_PV_ENTRY +  5)
+#define TRC_PV_EMULATE_PRIVOP        (TRC_PV_ENTRY +  6)
+#define TRC_PV_EMULATE_4GB           (TRC_PV_ENTRY +  7)
+#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV_ENTRY +  8)
+#define TRC_PV_PAGING_FIXUP          (TRC_PV_ENTRY +  9)
+#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
+#define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
+#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
+#define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
+#define TRC_PV_HYPERCALL_SUBCALL     (TRC_PV_SUBCALL + 14)
+
+/*
+ * TRC_PV_HYPERCALL_V2 format
+ *
+ * Only some of the hypercall argument are recorded. Bit fields A0 to
+ * A5 in the first extra word are set if the argument is present and
+ * the arguments themselves are packed sequentially in the following
+ * words.
+ *
+ * The TRC_64_FLAG bit is not set for these events (even if there are
+ * 64-bit arguments in the record).
+ *
+ * Word
+ * 0    bit 31 30|29 28|27 26|25 24|23 22|21 20|19 ... 0
+ *          A5   |A4   |A3   |A2   |A1   |A0   |Hypercall op
+ * 1    First 32 bit (or low word of first 64 bit) arg in record
+ * 2    Second 32 bit (or high word of first 64 bit) arg in record
+ * ...
+ *
+ * A0-A5 bitfield values:
+ *
+ *   00b  Argument not present
+ *   01b  32-bit argument present
+ *   10b  64-bit argument present
+ *   11b  Reserved
+ */
+#define TRC_PV_HYPERCALL_V2_ARG_32(i) (0x1 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_64(i) (0x2 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_MASK  (0xfff00000)
 
 #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
 #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
@@ -125,6 +157,7 @@
 #define TRC_SHADOW_RESYNC_ONLY                (TRC_SHADOW + 15)
 
 /* trace events per subclass */
+#define TRC_HVM_NESTEDFLAG      (0x400)
 #define TRC_HVM_VMENTRY         (TRC_HVM_ENTRYEXIT + 0x01)
 #define TRC_HVM_VMEXIT          (TRC_HVM_ENTRYEXIT + 0x02)
 #define TRC_HVM_VMEXIT64        (TRC_HVM_ENTRYEXIT + TRC_64_FLAG + 0x02)
@@ -165,6 +198,7 @@
 #define TRC_HVM_REALMODE_EMULATE (TRC_HVM_HANDLER + 0x22)
 #define TRC_HVM_TRAP             (TRC_HVM_HANDLER + 0x23)
 #define TRC_HVM_TRAP_DEBUG       (TRC_HVM_HANDLER + 0x24)
+#define TRC_HVM_VLAPIC           (TRC_HVM_HANDLER + 0x25)
 
 #define TRC_HVM_IOPORT_WRITE    (TRC_HVM_HANDLER + 0x216)
 #define TRC_HVM_IOMEM_WRITE     (TRC_HVM_HANDLER + 0x217)
@@ -172,8 +206,9 @@
 /* trace events for per class */
 #define TRC_PM_FREQ_CHANGE      (TRC_HW_PM + 0x01)
 #define TRC_PM_IDLE_ENTRY       (TRC_HW_PM + 0x02)
-#define TRC_PM_IDLE_EXIT        (TRC_HW_PM  + 0x03)
+#define TRC_PM_IDLE_EXIT        (TRC_HW_PM + 0x03)
 
+/* Trace events for IRQs */
 #define TRC_HW_IRQ_MOVE_CLEANUP_DELAY (TRC_HW_IRQ + 0x1)
 #define TRC_HW_IRQ_MOVE_CLEANUP       (TRC_HW_IRQ + 0x2)
 #define TRC_HW_IRQ_BIND_VECTOR        (TRC_HW_IRQ + 0x3)
@@ -182,12 +217,15 @@
 #define TRC_HW_IRQ_ASSIGN_VECTOR      (TRC_HW_IRQ + 0x6)
 #define TRC_HW_IRQ_UNMAPPED_VECTOR    (TRC_HW_IRQ + 0x7)
 #define TRC_HW_IRQ_HANDLED            (TRC_HW_IRQ + 0x8)
-#define TRC_HW_IRQ_MSI_WRITE          (TRC_HW_IRQ + 0x9)
-#define TRC_HW_IRQ_MAP_PIRQ_MSI       (TRC_HW_IRQ + 0xa)
-#define TRC_HW_IRQ_MAP_PIRQ_GSI       (TRC_HW_IRQ + 0xb)
-#define TRC_HW_IRQ_MSI_SET_AFFINITY   (TRC_HW_IRQ + 0x10)
-#define TRC_HW_IRQ_SET_DESC_AFFINITY  (TRC_HW_IRQ + 0x11)
-#define TRC_HW_IRQ_IOMMU_AMD_IRE      (TRC_HW_IRQ + 0x12)
+
+/*
+ * Event Flags
+ *
+ * Some events (e.g, TRC_PV_TRAP and TRC_HVM_IOMEM_READ) have multiple
+ * record formats.  These event flags distinguish between the
+ * different formats.
+ */
+#define TRC_64_FLAG 0x100 /* Addresses are 64 bits (instead of 32 bits) */
 
 /* This structure represents a single trace buffer record. */
 struct t_rec {
@@ -205,6 +243,34 @@ struct t_rec {
     } u;
 };
 
+/*
+ * This structure contains the metadata for a single trace buffer.  The head
+ * field, indexes into an array of struct t_rec's.
+ */
+struct t_buf {
+    /* Assume the data buffer size is X.  X is generally not a power of 2.
+     * CONS and PROD are incremented modulo (2*X):
+     *     0 <= cons < 2*X
+     *     0 <= prod < 2*X
+     * This is done because addition modulo X breaks at 2^32 when X is not a
+     * power of 2:
+     *     (((2^32 - 1) % X) + 1) % X != (2^32) % X
+     */
+    uint32_t cons;   /* Offset of next item to be consumed by control tools. */
+    uint32_t prod;   /* Offset of next item to be produced by Xen.           */
+    /*  Records follow immediately after the meta-data header.    */
+};
+
+/* Structure used to pass MFNs to the trace buffers back to trace consumers.
+ * Offset is an offset into the mapped structure where the mfn list will be held.
+ * MFNs will be at ((unsigned long *)(t_info))+(t_info->cpu_offset[cpu]).
+ */
+struct t_info {
+    uint16_t tbuf_size; /* Size in pages of each trace buffer */
+    uint16_t mfn_offset[];  /* Offset within t_info structure of the page list per cpu */
+    /* MFN lists immediately after the header */
+};
+
 #endif /* __XEN_PUBLIC_TRACE_H__ */
 
 /*

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NJ-0000zu-Qu; Thu, 31 May 2012 11:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NH-0000yW-HD
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [85.158.138.51:49991] by server-9.bemta-3.messagelabs.com id
	B8/55-21565-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!6
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31711 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342757"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-UE;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: d8962a506735776f93428ba2ed25f2a0f4b20c31
Message-ID: <d8962a506735776f9342.1338462980@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:20 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 04 of 10] xenalyze: update trace.h to match
	xen-unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Update trace.h to the version in xen-unstable (plus my PV_HYPERCALL_*
patches).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/trace.h b/trace.h
--- a/trace.h
+++ b/trace.h
@@ -57,6 +57,7 @@
 #define TRC_SCHED_CLASS     0x00022000   /* Scheduler-specific    */
 #define TRC_SCHED_VERBOSE   0x00028000   /* More inclusive scheduling */
 
+/* Trace classes for Hardware */
 #define TRC_HW_PM           0x00801000   /* Power management traces */
 #define TRC_HW_IRQ          0x00802000   /* Traces relating to the handling of IRQs */
 
@@ -93,20 +94,51 @@
 #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
 #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
 
+#define TRC_PV_ENTRY   0x00201000 /* Hypervisor entry points for PV guests. */
+#define TRC_PV_SUBCALL 0x00202000 /* Sub-call in a multicall hypercall */
 
-#define TRC_PV_HYPERCALL             (TRC_PV +  1)
-#define TRC_PV_TRAP                  (TRC_PV +  3)
-#define TRC_PV_PAGE_FAULT            (TRC_PV +  4)
-#define TRC_PV_FORCED_INVALID_OP     (TRC_PV +  5)
-#define TRC_PV_EMULATE_PRIVOP        (TRC_PV +  6)
-#define TRC_PV_EMULATE_4GB           (TRC_PV +  7)
-#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV +  8)
-#define TRC_PV_PAGING_FIXUP          (TRC_PV +  9)
-#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
-#define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
-#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
-  /* Indicates that addresses in trace record are 64 bits */
-#define TRC_64_FLAG               (0x100) 
+#define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
+#define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
+#define TRC_PV_PAGE_FAULT            (TRC_PV_ENTRY +  4)
+#define TRC_PV_FORCED_INVALID_OP     (TRC_PV_ENTRY +  5)
+#define TRC_PV_EMULATE_PRIVOP        (TRC_PV_ENTRY +  6)
+#define TRC_PV_EMULATE_4GB           (TRC_PV_ENTRY +  7)
+#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV_ENTRY +  8)
+#define TRC_PV_PAGING_FIXUP          (TRC_PV_ENTRY +  9)
+#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
+#define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
+#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
+#define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
+#define TRC_PV_HYPERCALL_SUBCALL     (TRC_PV_SUBCALL + 14)
+
+/*
+ * TRC_PV_HYPERCALL_V2 format
+ *
+ * Only some of the hypercall argument are recorded. Bit fields A0 to
+ * A5 in the first extra word are set if the argument is present and
+ * the arguments themselves are packed sequentially in the following
+ * words.
+ *
+ * The TRC_64_FLAG bit is not set for these events (even if there are
+ * 64-bit arguments in the record).
+ *
+ * Word
+ * 0    bit 31 30|29 28|27 26|25 24|23 22|21 20|19 ... 0
+ *          A5   |A4   |A3   |A2   |A1   |A0   |Hypercall op
+ * 1    First 32 bit (or low word of first 64 bit) arg in record
+ * 2    Second 32 bit (or high word of first 64 bit) arg in record
+ * ...
+ *
+ * A0-A5 bitfield values:
+ *
+ *   00b  Argument not present
+ *   01b  32-bit argument present
+ *   10b  64-bit argument present
+ *   11b  Reserved
+ */
+#define TRC_PV_HYPERCALL_V2_ARG_32(i) (0x1 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_64(i) (0x2 << (20 + 2*(i)))
+#define TRC_PV_HYPERCALL_V2_ARG_MASK  (0xfff00000)
 
 #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
 #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
@@ -125,6 +157,7 @@
 #define TRC_SHADOW_RESYNC_ONLY                (TRC_SHADOW + 15)
 
 /* trace events per subclass */
+#define TRC_HVM_NESTEDFLAG      (0x400)
 #define TRC_HVM_VMENTRY         (TRC_HVM_ENTRYEXIT + 0x01)
 #define TRC_HVM_VMEXIT          (TRC_HVM_ENTRYEXIT + 0x02)
 #define TRC_HVM_VMEXIT64        (TRC_HVM_ENTRYEXIT + TRC_64_FLAG + 0x02)
@@ -165,6 +198,7 @@
 #define TRC_HVM_REALMODE_EMULATE (TRC_HVM_HANDLER + 0x22)
 #define TRC_HVM_TRAP             (TRC_HVM_HANDLER + 0x23)
 #define TRC_HVM_TRAP_DEBUG       (TRC_HVM_HANDLER + 0x24)
+#define TRC_HVM_VLAPIC           (TRC_HVM_HANDLER + 0x25)
 
 #define TRC_HVM_IOPORT_WRITE    (TRC_HVM_HANDLER + 0x216)
 #define TRC_HVM_IOMEM_WRITE     (TRC_HVM_HANDLER + 0x217)
@@ -172,8 +206,9 @@
 /* trace events for per class */
 #define TRC_PM_FREQ_CHANGE      (TRC_HW_PM + 0x01)
 #define TRC_PM_IDLE_ENTRY       (TRC_HW_PM + 0x02)
-#define TRC_PM_IDLE_EXIT        (TRC_HW_PM  + 0x03)
+#define TRC_PM_IDLE_EXIT        (TRC_HW_PM + 0x03)
 
+/* Trace events for IRQs */
 #define TRC_HW_IRQ_MOVE_CLEANUP_DELAY (TRC_HW_IRQ + 0x1)
 #define TRC_HW_IRQ_MOVE_CLEANUP       (TRC_HW_IRQ + 0x2)
 #define TRC_HW_IRQ_BIND_VECTOR        (TRC_HW_IRQ + 0x3)
@@ -182,12 +217,15 @@
 #define TRC_HW_IRQ_ASSIGN_VECTOR      (TRC_HW_IRQ + 0x6)
 #define TRC_HW_IRQ_UNMAPPED_VECTOR    (TRC_HW_IRQ + 0x7)
 #define TRC_HW_IRQ_HANDLED            (TRC_HW_IRQ + 0x8)
-#define TRC_HW_IRQ_MSI_WRITE          (TRC_HW_IRQ + 0x9)
-#define TRC_HW_IRQ_MAP_PIRQ_MSI       (TRC_HW_IRQ + 0xa)
-#define TRC_HW_IRQ_MAP_PIRQ_GSI       (TRC_HW_IRQ + 0xb)
-#define TRC_HW_IRQ_MSI_SET_AFFINITY   (TRC_HW_IRQ + 0x10)
-#define TRC_HW_IRQ_SET_DESC_AFFINITY  (TRC_HW_IRQ + 0x11)
-#define TRC_HW_IRQ_IOMMU_AMD_IRE      (TRC_HW_IRQ + 0x12)
+
+/*
+ * Event Flags
+ *
+ * Some events (e.g, TRC_PV_TRAP and TRC_HVM_IOMEM_READ) have multiple
+ * record formats.  These event flags distinguish between the
+ * different formats.
+ */
+#define TRC_64_FLAG 0x100 /* Addresses are 64 bits (instead of 32 bits) */
 
 /* This structure represents a single trace buffer record. */
 struct t_rec {
@@ -205,6 +243,34 @@ struct t_rec {
     } u;
 };
 
+/*
+ * This structure contains the metadata for a single trace buffer.  The head
+ * field, indexes into an array of struct t_rec's.
+ */
+struct t_buf {
+    /* Assume the data buffer size is X.  X is generally not a power of 2.
+     * CONS and PROD are incremented modulo (2*X):
+     *     0 <= cons < 2*X
+     *     0 <= prod < 2*X
+     * This is done because addition modulo X breaks at 2^32 when X is not a
+     * power of 2:
+     *     (((2^32 - 1) % X) + 1) % X != (2^32) % X
+     */
+    uint32_t cons;   /* Offset of next item to be consumed by control tools. */
+    uint32_t prod;   /* Offset of next item to be produced by Xen.           */
+    /*  Records follow immediately after the meta-data header.    */
+};
+
+/* Structure used to pass MFNs to the trace buffers back to trace consumers.
+ * Offset is an offset into the mapped structure where the mfn list will be held.
+ * MFNs will be at ((unsigned long *)(t_info))+(t_info->cpu_offset[cpu]).
+ */
+struct t_info {
+    uint16_t tbuf_size; /* Size in pages of each trace buffer */
+    uint16_t mfn_offset[];  /* Offset within t_info structure of the page list per cpu */
+    /* MFN lists immediately after the header */
+};
+
 #endif /* __XEN_PUBLIC_TRACE_H__ */
 
 /*

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NJ-0000zV-3A; Thu, 31 May 2012 11:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NG-0000yW-TK
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [85.158.138.51:40050] by server-9.bemta-3.messagelabs.com id
	AC/35-21565-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31568 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342755"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-W7;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: d5f631485ce7fb1f1f4fafca9100650079b8e2d4
Message-ID: <d5f631485ce7fb1f1f4f.1338462983@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:23 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 07 of 10] xenalyze: decode PV_HYPERCALL_V2
	records
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Newer version of Xen produce TRC_PV_HYPERCALL_V2 records instead of
the older TRC_PV_HYPERCALL format.  This updated format doesn't
included the IP but it does include select hypercall arguments.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/pv.h b/pv.h
new file mode 100644
--- /dev/null
+++ b/pv.h
@@ -0,0 +1,41 @@
+/*
+ * PV event decoding.
+ *
+ * Copyright (C) 2012 Citrix Systems R&D Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#ifndef __PV_H
+
+#include "analyze.h"
+#include "trace.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define ARG_MISSING 0x0
+#define ARG_32BIT 0x1
+#define ARG_64BIT 0x2
+
+#define MMU_UPDATE_PREEMPTED          (~(~0U>>1))
+
+static inline uint32_t pv_hypercall_op(const struct record_info *ri)
+{
+    return ri->d[0] & ~TRC_PV_HYPERCALL_V2_ARG_MASK;
+}
+
+static inline int pv_hypercall_arg_present(const struct record_info *ri, int arg)
+{
+    return (ri->d[0] >> (20 + 2*arg)) & 0x3;
+}
+
+uint64_t pv_hypercall_arg(const struct record_info *ri, int i);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -32,6 +32,7 @@
 #include "trace.h"
 #include "analyze.h"
 #include "mread.h"
+#include "pv.h"
 #include <errno.h>
 #include <strings.h>
 #include <string.h>
@@ -1480,6 +1481,7 @@ enum {
     PV_GDT_LDT_MAPPING_FAULT,
     PV_PTWR_EMULATION,
     PV_PTWR_EMULATION_PAE,
+    PV_HYPERCALL_V2 = 13,
     PV_MAX
 };
 
@@ -6518,6 +6520,96 @@ void pv_summary(struct pv_data *pv) {
     }
 }
 
+uint64_t pv_hypercall_arg(const struct record_info *ri, int arg)
+{
+    int i, word;
+
+    for (i = 0, word = 1; i < 6 && word < ri->extra_words; i++) {
+        int present = pv_hypercall_arg_present(ri, i);
+
+        /* Is this the argument we're looking for? */
+        if (i == arg) {
+            switch (present) {
+            case ARG_MISSING:
+                return 0;
+            case ARG_32BIT:
+                return ri->d[word];
+            case ARG_64BIT:
+                return (uint64_t)(ri->d[word + 1]) | ri->d[word];
+            }
+        }
+
+        /* Skip over any words for this argument. */
+        word += present;
+    }
+
+    return 0;
+}
+
+static const char *grant_table_op_cmd_to_str(uint32_t cmd)
+{
+    const char *cmd_str[] = {
+        "map_grant_ref", "unmap_grant_ref", "setup_table", "dump_table",
+        "transfer", "copy", "query_size", "unmap_and_replace",
+        "set_version", "get_status_frames", "get_version", "swap_grant_ref",
+    };
+    static char buf[32];
+
+    if (cmd <= 11)
+        return cmd_str[cmd];
+
+    snprintf(buf, sizeof(buf), "unknown (%d)", cmd);
+    return buf;
+}
+
+void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv)
+{
+    int op = pv_hypercall_op(ri);
+
+    if(opt.summary_info) {
+        if(op < PV_HYPERCALL_MAX) 
+            pv->hypercall_count[op]++;
+    }
+
+    if(opt.dump_all) {
+        if(op < HYPERCALL_MAX)
+            printf(" %s hypercall %2x (%s)",
+                   ri->dump_header, op, hypercall_name[op]);
+        else
+            printf(" %s hypercall %2x",
+                   ri->dump_header, op);
+        switch(op) {
+        case HYPERCALL_mmu_update:
+            {
+                uint32_t count = pv_hypercall_arg(ri, 1);
+                printf(" %d updates%s", count & ~MMU_UPDATE_PREEMPTED,
+                       (count & MMU_UPDATE_PREEMPTED) ? " (preempted)" : "");
+            }
+            break;
+        case HYPERCALL_multicall:
+            {
+                uint32_t calls = pv_hypercall_arg(ri, 1);
+                printf(" %d calls", calls);
+            }
+            break;
+        case HYPERCALL_grant_table_op:
+            {
+                uint32_t cmd = pv_hypercall_arg(ri, 0);
+                uint32_t count = pv_hypercall_arg(ri, 2);
+                printf(" %s %d ops", grant_table_op_cmd_to_str(cmd), count);
+            }
+            break;
+        case HYPERCALL_mmuext_op:
+            {
+                uint32_t count = pv_hypercall_arg(ri, 1);
+                printf(" %d ops", count);
+            }
+            break;
+        }
+        printf("\n");
+    }
+}
+
 void pv_process(struct pcpu_info *p)
 {
     struct record_info *ri = &p->ri;
@@ -6550,9 +6642,9 @@ void pv_process(struct pcpu_info *p)
     case PV_PTWR_EMULATION_PAE:
         pv_ptwr_emulation_process(ri, pv);
         break;
-    case PV_PAGE_FAULT:
-        //pv_pf_process(ri, pv);
-        //break;
+    case PV_HYPERCALL_V2:
+        pv_hypercall_v2_process(ri, pv);
+        break;
     default:
         pv_generic_process(ri, pv);
         break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NJ-0000zV-3A; Thu, 31 May 2012 11:17:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NG-0000yW-TK
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [85.158.138.51:40050] by server-9.bemta-3.messagelabs.com id
	AC/35-21565-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!5
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31568 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342755"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-W7;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: d5f631485ce7fb1f1f4fafca9100650079b8e2d4
Message-ID: <d5f631485ce7fb1f1f4f.1338462983@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:23 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 07 of 10] xenalyze: decode PV_HYPERCALL_V2
	records
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Newer version of Xen produce TRC_PV_HYPERCALL_V2 records instead of
the older TRC_PV_HYPERCALL format.  This updated format doesn't
included the IP but it does include select hypercall arguments.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/pv.h b/pv.h
new file mode 100644
--- /dev/null
+++ b/pv.h
@@ -0,0 +1,41 @@
+/*
+ * PV event decoding.
+ *
+ * Copyright (C) 2012 Citrix Systems R&D Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#ifndef __PV_H
+
+#include "analyze.h"
+#include "trace.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define ARG_MISSING 0x0
+#define ARG_32BIT 0x1
+#define ARG_64BIT 0x2
+
+#define MMU_UPDATE_PREEMPTED          (~(~0U>>1))
+
+static inline uint32_t pv_hypercall_op(const struct record_info *ri)
+{
+    return ri->d[0] & ~TRC_PV_HYPERCALL_V2_ARG_MASK;
+}
+
+static inline int pv_hypercall_arg_present(const struct record_info *ri, int arg)
+{
+    return (ri->d[0] >> (20 + 2*arg)) & 0x3;
+}
+
+uint64_t pv_hypercall_arg(const struct record_info *ri, int i);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -32,6 +32,7 @@
 #include "trace.h"
 #include "analyze.h"
 #include "mread.h"
+#include "pv.h"
 #include <errno.h>
 #include <strings.h>
 #include <string.h>
@@ -1480,6 +1481,7 @@ enum {
     PV_GDT_LDT_MAPPING_FAULT,
     PV_PTWR_EMULATION,
     PV_PTWR_EMULATION_PAE,
+    PV_HYPERCALL_V2 = 13,
     PV_MAX
 };
 
@@ -6518,6 +6520,96 @@ void pv_summary(struct pv_data *pv) {
     }
 }
 
+uint64_t pv_hypercall_arg(const struct record_info *ri, int arg)
+{
+    int i, word;
+
+    for (i = 0, word = 1; i < 6 && word < ri->extra_words; i++) {
+        int present = pv_hypercall_arg_present(ri, i);
+
+        /* Is this the argument we're looking for? */
+        if (i == arg) {
+            switch (present) {
+            case ARG_MISSING:
+                return 0;
+            case ARG_32BIT:
+                return ri->d[word];
+            case ARG_64BIT:
+                return (uint64_t)(ri->d[word + 1]) | ri->d[word];
+            }
+        }
+
+        /* Skip over any words for this argument. */
+        word += present;
+    }
+
+    return 0;
+}
+
+static const char *grant_table_op_cmd_to_str(uint32_t cmd)
+{
+    const char *cmd_str[] = {
+        "map_grant_ref", "unmap_grant_ref", "setup_table", "dump_table",
+        "transfer", "copy", "query_size", "unmap_and_replace",
+        "set_version", "get_status_frames", "get_version", "swap_grant_ref",
+    };
+    static char buf[32];
+
+    if (cmd <= 11)
+        return cmd_str[cmd];
+
+    snprintf(buf, sizeof(buf), "unknown (%d)", cmd);
+    return buf;
+}
+
+void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv)
+{
+    int op = pv_hypercall_op(ri);
+
+    if(opt.summary_info) {
+        if(op < PV_HYPERCALL_MAX) 
+            pv->hypercall_count[op]++;
+    }
+
+    if(opt.dump_all) {
+        if(op < HYPERCALL_MAX)
+            printf(" %s hypercall %2x (%s)",
+                   ri->dump_header, op, hypercall_name[op]);
+        else
+            printf(" %s hypercall %2x",
+                   ri->dump_header, op);
+        switch(op) {
+        case HYPERCALL_mmu_update:
+            {
+                uint32_t count = pv_hypercall_arg(ri, 1);
+                printf(" %d updates%s", count & ~MMU_UPDATE_PREEMPTED,
+                       (count & MMU_UPDATE_PREEMPTED) ? " (preempted)" : "");
+            }
+            break;
+        case HYPERCALL_multicall:
+            {
+                uint32_t calls = pv_hypercall_arg(ri, 1);
+                printf(" %d calls", calls);
+            }
+            break;
+        case HYPERCALL_grant_table_op:
+            {
+                uint32_t cmd = pv_hypercall_arg(ri, 0);
+                uint32_t count = pv_hypercall_arg(ri, 2);
+                printf(" %s %d ops", grant_table_op_cmd_to_str(cmd), count);
+            }
+            break;
+        case HYPERCALL_mmuext_op:
+            {
+                uint32_t count = pv_hypercall_arg(ri, 1);
+                printf(" %d ops", count);
+            }
+            break;
+        }
+        printf("\n");
+    }
+}
+
 void pv_process(struct pcpu_info *p)
 {
     struct record_info *ri = &p->ri;
@@ -6550,9 +6642,9 @@ void pv_process(struct pcpu_info *p)
     case PV_PTWR_EMULATION_PAE:
         pv_ptwr_emulation_process(ri, pv);
         break;
-    case PV_PAGE_FAULT:
-        //pv_pf_process(ri, pv);
-        //break;
+    case PV_HYPERCALL_V2:
+        pv_hypercall_v2_process(ri, pv);
+        break;
     default:
         pv_generic_process(ri, pv);
         break;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NI-0000zL-Ma; Thu, 31 May 2012 11:17:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NG-0000yS-Lv
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:02 +0000
Received: from [193.109.254.147:29924] by server-7.bemta-14.messagelabs.com id
	BF/D2-07635-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338463020!9388232!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32200 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342756"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3NA-0001Ia-0M;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 91e8c996928ac8693855a1594234582f8fe80f62
Message-ID: <91e8c996928ac8693855.1338462984@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:24 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 08 of 10] xenalyze: decode PV_HYPERCALL_SUBCALL
	events
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Decode the PV_HYPERCALL_SUBCALL events which are used for calls within
a multicall hypercall.  They are indented so its easier to see which
multicall they were part of.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -1482,6 +1482,7 @@ enum {
     PV_PTWR_EMULATION,
     PV_PTWR_EMULATION_PAE,
     PV_HYPERCALL_V2 = 13,
+    PV_HYPERCALL_SUBCALL = 14,
     PV_MAX
 };
 
@@ -6562,7 +6563,8 @@ static const char *grant_table_op_cmd_to
     return buf;
 }
 
-void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv)
+void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv,
+                             const char *indent)
 {
     int op = pv_hypercall_op(ri);
 
@@ -6573,11 +6575,11 @@ void pv_hypercall_v2_process(struct reco
 
     if(opt.dump_all) {
         if(op < HYPERCALL_MAX)
-            printf(" %s hypercall %2x (%s)",
-                   ri->dump_header, op, hypercall_name[op]);
+            printf(" %s%s hypercall %2x (%s)",
+                   ri->dump_header, indent, op, hypercall_name[op]);
         else
-            printf(" %s hypercall %2x",
-                   ri->dump_header, op);
+            printf(" %s%s hypercall %2x",
+                   ri->dump_header, indent, op);
         switch(op) {
         case HYPERCALL_mmu_update:
             {
@@ -6643,7 +6645,10 @@ void pv_process(struct pcpu_info *p)
         pv_ptwr_emulation_process(ri, pv);
         break;
     case PV_HYPERCALL_V2:
-        pv_hypercall_v2_process(ri, pv);
+        pv_hypercall_v2_process(ri, pv, "");
+        break;
+    case PV_HYPERCALL_SUBCALL:
+        pv_hypercall_v2_process(ri, pv, " ");
         break;
     default:
         pv_generic_process(ri, pv);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NI-0000zL-Ma; Thu, 31 May 2012 11:17:04 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NG-0000yS-Lv
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:02 +0000
Received: from [193.109.254.147:29924] by server-7.bemta-14.messagelabs.com id
	BF/D2-07635-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338463020!9388232!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32200 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342756"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3NA-0001Ia-0M;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 91e8c996928ac8693855a1594234582f8fe80f62
Message-ID: <91e8c996928ac8693855.1338462984@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:24 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 08 of 10] xenalyze: decode PV_HYPERCALL_SUBCALL
	events
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Decode the PV_HYPERCALL_SUBCALL events which are used for calls within
a multicall hypercall.  They are indented so its easier to see which
multicall they were part of.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -1482,6 +1482,7 @@ enum {
     PV_PTWR_EMULATION,
     PV_PTWR_EMULATION_PAE,
     PV_HYPERCALL_V2 = 13,
+    PV_HYPERCALL_SUBCALL = 14,
     PV_MAX
 };
 
@@ -6562,7 +6563,8 @@ static const char *grant_table_op_cmd_to
     return buf;
 }
 
-void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv)
+void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv,
+                             const char *indent)
 {
     int op = pv_hypercall_op(ri);
 
@@ -6573,11 +6575,11 @@ void pv_hypercall_v2_process(struct reco
 
     if(opt.dump_all) {
         if(op < HYPERCALL_MAX)
-            printf(" %s hypercall %2x (%s)",
-                   ri->dump_header, op, hypercall_name[op]);
+            printf(" %s%s hypercall %2x (%s)",
+                   ri->dump_header, indent, op, hypercall_name[op]);
         else
-            printf(" %s hypercall %2x",
-                   ri->dump_header, op);
+            printf(" %s%s hypercall %2x",
+                   ri->dump_header, indent, op);
         switch(op) {
         case HYPERCALL_mmu_update:
             {
@@ -6643,7 +6645,10 @@ void pv_process(struct pcpu_info *p)
         pv_ptwr_emulation_process(ri, pv);
         break;
     case PV_HYPERCALL_V2:
-        pv_hypercall_v2_process(ri, pv);
+        pv_hypercall_v2_process(ri, pv, "");
+        break;
+    case PV_HYPERCALL_SUBCALL:
+        pv_hypercall_v2_process(ri, pv, " ");
         break;
     default:
         pv_generic_process(ri, pv);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NM-00011b-OD; Thu, 31 May 2012 11:17:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NL-00010b-EM
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:07 +0000
Received: from [85.158.138.51:40499] by server-7.bemta-3.messagelabs.com id
	26/8D-22601-23357CF4; Thu, 31 May 2012 11:17:06 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338463019!30091263!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9773 invoked from network); 31 May 2012 11:17:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342753"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Um;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9077510f38f6bdaee32e5cb360bb053998bb3f19
Message-ID: <9077510f38f6bdaee32e.1338462981@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:21 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 05 of 10] xenalyze: correctly display of count
	of HW events
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

HW events where being shown under "(null)" in the summary.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -1805,7 +1805,8 @@ enum {
     TOPLEVEL_MEM,
     TOPLEVEL_PV,
     TOPLEVEL_SHADOW,
-    TOPLEVEL_MAX=12
+    TOPLEVEL_HW,
+    TOPLEVEL_MAX=TOPLEVEL_HW+1,
 };
 
 char * toplevel_name[TOPLEVEL_MAX] = {
@@ -1816,6 +1817,7 @@ char * toplevel_name[TOPLEVEL_MAX] = {
     [TOPLEVEL_MEM]="mem",
     [TOPLEVEL_PV]="pv",
     [TOPLEVEL_SHADOW]="shadow",
+    [TOPLEVEL_HW]="hw",
 };
 
 struct trace_volume {
@@ -8595,7 +8597,6 @@ void process_cpu_change(struct pcpu_info
     }
 }
 
-#define TOPLEVEL_MAX 16
 struct tl_assert_mask {
     unsigned p_current:1,
         not_idle_domain:1;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:18 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NM-00011b-OD; Thu, 31 May 2012 11:17:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NL-00010b-EM
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:07 +0000
Received: from [85.158.138.51:40499] by server-7.bemta-3.messagelabs.com id
	26/8D-22601-23357CF4; Thu, 31 May 2012 11:17:06 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338463019!30091263!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9773 invoked from network); 31 May 2012 11:17:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342753"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Um;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9077510f38f6bdaee32e5cb360bb053998bb3f19
Message-ID: <9077510f38f6bdaee32e.1338462981@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:21 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 05 of 10] xenalyze: correctly display of count
	of HW events
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

HW events where being shown under "(null)" in the summary.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -1805,7 +1805,8 @@ enum {
     TOPLEVEL_MEM,
     TOPLEVEL_PV,
     TOPLEVEL_SHADOW,
-    TOPLEVEL_MAX=12
+    TOPLEVEL_HW,
+    TOPLEVEL_MAX=TOPLEVEL_HW+1,
 };
 
 char * toplevel_name[TOPLEVEL_MAX] = {
@@ -1816,6 +1817,7 @@ char * toplevel_name[TOPLEVEL_MAX] = {
     [TOPLEVEL_MEM]="mem",
     [TOPLEVEL_PV]="pv",
     [TOPLEVEL_SHADOW]="shadow",
+    [TOPLEVEL_HW]="hw",
 };
 
 struct trace_volume {
@@ -8595,7 +8597,6 @@ void process_cpu_change(struct pcpu_info
     }
 }
 
-#define TOPLEVEL_MAX 16
 struct tl_assert_mask {
     unsigned p_current:1,
         not_idle_domain:1;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NK-000108-6h; Thu, 31 May 2012 11:17:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NH-0000yk-KB
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [193.109.254.147:30000] by server-6.bemta-14.messagelabs.com id
	F6/AD-10397-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338463020!9388232!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32253 invoked from network); 31 May 2012 11:17:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342759"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3NA-0001Ia-0u;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 794833ac346b80acbed5f1aa5b46f1474d87f7ab
Message-ID: <794833ac346b80acbed5.1338462985@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:25 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 09 of 10] xenalyze: add a basic plugin
	infrastructure
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Allow xenalyze to be include (at build time) plugins that can do
per-record actions and a summary.  These plugins can be in C or C++.

The plugins entry points are in struct plugin and pointers to all the
plugins linked in xenalyze are placed in a "plugin" section so
plugin_init() can find them all.

A new command line option (-p, --plugin=PLUGIN) is added to enable one
or more plugins.

A sample plugin (skeleton) is included (mostly because at least one
plugin must be present for the build to work).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 Makefile            |   10 +++---
 analyze.h           |   55 ++++++++++++++++++++++++++++++++++
 plugin.cc           |   84 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 plugin.h            |   48 +++++++++++++++++++++++++++++
 plugin.hh           |   42 ++++++++++++++++++++++++++
 plugins/skeleton.cc |   31 +++++++++++++++++++
 xenalyze.c          |   72 +++++++++++++-------------------------------
 7 files changed, 287 insertions(+), 55 deletions(-)

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-CFLAGS += -g -O2
+CFLAGS += -g -O2 -I.
 CFLAGS += -fno-strict-aliasing
 CFLAGS += -std=gnu99
 CFLAGS += -Wall -Wstrict-prototypes
@@ -9,11 +9,15 @@ CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFI
 CFLAGS += -mno-tls-direct-seg-refs
 CFLAGS += -Werror
 
+CXXFLAGS := -g -O2 -I. -Wall -Werror -std=c++0x
+
 BIN := xenalyze dump-raw
 
 xenalyze_OBJS := \
 	mread.o \
-	xenalyze.o
+	plugin.o \
+	xenalyze.o \
+	plugins/skeleton.o
 
 dump-raw_OBJS := \
 	dump-raw.o
@@ -21,7 +25,7 @@ dump-raw_OBJS := \
 all: $(BIN)
 
 xenalyze: $(xenalyze_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $^
+	$(CXX) $(LDFLAGS) -o $@ $^
 
 dump-raw: $(dump-raw_OBJS)
 	$(CC) $(LDFLAGS) -o $@ $^
@@ -29,6 +33,9 @@ dump-raw: $(dump-raw_OBJS)
 %.o: %.c
 	$(CC) $(CFLAGS) -MD -MP -c -o $@ $<
 
+%.o: %.cc
+	$(CXX) $(CXXFLAGS) -MD -MP -c -o $@ $<
+
 all_objs := $(foreach b,$(BIN),$($(b)_OBJS))
 all_deps := $(all_objs:.o=.d)
 
diff --git a/plugin.cc b/plugin.cc
new file mode 100644
--- /dev/null
+++ b/plugin.cc
@@ -0,0 +1,84 @@
+/*
+ * Xenalyze plugin infrastructure.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <list>
+
+#include "plugin.hh"
+
+typedef std::list<struct plugin *> plugin_list;
+
+static plugin_list available;
+static plugin_list enabled;
+
+bool plugin_enable(const char *name)
+{
+    for (auto p = available.begin(); p != available.end(); p++) {
+        struct plugin *plugin = *p;
+        if (strcmp(plugin->name, name) == 0) {
+            enabled.push_back(plugin);
+            if (plugin->enable) {
+                plugin->enable(plugin);
+            }
+            return true;
+        }
+    }
+    return false;
+}
+
+void plugin_process(const struct record_info *ri)
+{
+    for (auto p = enabled.begin(); p != enabled.end(); p++) {
+        struct plugin *plugin = *p;
+        if (plugin->process) {
+            plugin->process(plugin, ri);
+        }
+    }    
+}
+
+void plugin_summary(void)
+{
+    for (auto p = enabled.begin(); p != enabled.end(); p++) {
+        struct plugin *plugin = *p;
+        if (plugin->summary) {
+            printf("Summary for %s plugin:\n", plugin->name);
+            plugin->summary(plugin);
+        }
+    }
+}
+
+static void plugin_add(struct plugin *plugin)
+{
+    available.push_back(plugin);
+}
+
+void plugin_init(void)
+{
+    extern struct plugin *__start_plugin;
+    extern struct plugin *__stop_plugin;
+    struct plugin **p;
+
+    for (p = &__start_plugin; p < &__stop_plugin; p++) {
+        plugin_add(*p);
+    }
+}
+
+void plugin_process_wrapper(struct plugin *plugin, const struct record_info *ri)
+{
+    xenalyze_plugin *p = static_cast<xenalyze_plugin*>(plugin->data);
+    p->process(ri);
+}
+
+void plugin_summary_wrapper(struct plugin *plugin)
+{
+    xenalyze_plugin *p = static_cast<xenalyze_plugin*>(plugin->data);
+    p->summary();
+    delete p;
+}
diff --git a/plugin.h b/plugin.h
new file mode 100644
--- /dev/null
+++ b/plugin.h
@@ -0,0 +1,47 @@
+/*
+ * Xenalyze plugin C API.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#ifndef PLUGIN_H
+#define PLUGIN_H
+
+#include <stdbool.h>
+
+#include "analyze.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct plugin;
+
+typedef void (*plugin_enable_f)(struct plugin *plugin);
+typedef void (*plugin_process_f)(struct plugin *plugin, const struct record_info *ri);
+typedef void (*plugin_summary_f)(struct plugin *plugin);
+
+struct plugin {
+    const char *name;
+    plugin_enable_f enable;
+    plugin_process_f process;
+    plugin_summary_f summary;
+    void *data;
+};
+
+#define DEFINE_PLUGIN(p) \
+    struct plugin *__plugin_ ## p __attribute__((section("plugin"))) = &p
+
+void plugin_init(void);
+bool plugin_enable(const char *name);
+void plugin_process(const struct record_info *ri);
+void plugin_summary(void);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef PLUGIN_H */
diff --git a/plugin.hh b/plugin.hh
new file mode 100644
--- /dev/null
+++ b/plugin.hh
@@ -0,0 +1,42 @@
+/*
+ * Xenalyze plugin C++ API.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#ifndef PLUGIN_HH
+#define PLUGIN_HH
+
+#include "plugin.h"
+
+class xenalyze_plugin {
+public:
+    virtual ~xenalyze_plugin() {}
+
+    virtual void process(const struct record_info *ri) = 0;
+    virtual void summary() = 0;
+};
+
+#define DEFINE_CXX_PLUGIN(name, cls)                                    \
+    static void __plugin_ ## cls ## _enable(struct plugin *plugin)      \
+    {                                                                   \
+        plugin->data = new cls();                                       \
+    }                                                                   \
+                                                                        \
+    static struct plugin __plugin ## cls = {                            \
+        name,                                                           \
+        __plugin_ ## cls ## _enable,                                    \
+        plugin_process_wrapper,                                         \
+        plugin_summary_wrapper,                                         \
+    };                                                                  \
+    DEFINE_PLUGIN(__plugin ## cls)
+
+extern "C" {
+void plugin_process_wrapper(struct plugin *plugin, const struct record_info *ri);
+void plugin_summary_wrapper(struct plugin *plugin);
+}
+
+#endif /* #ifndef PLUGIN_HH */
diff --git a/plugins/skeleton.cc b/plugins/skeleton.cc
new file mode 100644
--- /dev/null
+++ b/plugins/skeleton.cc
@@ -0,0 +1,31 @@
+/*
+ * Skeleton xenalyze plugin.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#include "plugin.hh"
+
+class skeleton_plugin : xenalyze_plugin {
+public:
+    skeleton_plugin() {}
+    ~skeleton_plugin() {}
+
+    void process(const struct record_info *ri);
+    void summary(void);
+};
+
+void skeleton_plugin::process(const struct record_info *ri)
+{
+    /* Put per-trace record stuff here. */
+}
+
+void skeleton_plugin::summary(void)
+{
+    /* Print a summary of the results (if applicable). */
+}
+
+DEFINE_CXX_PLUGIN("skeleton", skeleton_plugin);
diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -32,6 +32,7 @@
 #include "trace.h"
 #include "analyze.h"
 #include "mread.h"
+#include "plugin.h"
 #include "pv.h"
 #include <errno.h>
 #include <strings.h>
@@ -8763,6 +8764,8 @@ void process_record(struct pcpu_info *p)
         default:
             process_generic(ri);
         }
+
+        plugin_process(ri);
     }
 
     UPDATE_VOLUME(p, toplevel[toplevel], ri->size);
@@ -9346,6 +9349,7 @@ enum {
     OPT_DUMP_ALL='a',
     OPT_INTERVAL_LENGTH='i',
     OPT_SUMMARY='s',
+    OPT_PLUGIN='p',
 };
 
 enum {
@@ -9816,6 +9820,15 @@ error_t cmd_parser(int key, char *arg, s
         opt.tsc_loop_fatal = 1;
         break;
 
+    case OPT_PLUGIN:
+        if (plugin_enable(arg)) {
+            G.output_defined = 1;
+        } else {
+            fprintf(stderr, "ERROR: No such plugin `%s'.\n", arg);
+            exit(1);
+        }
+        break;
+
     case ARGP_KEY_ARG:
     {
         /* FIXME - strcpy */
@@ -10108,6 +10121,10 @@ const struct argp_option cmd_opts[] =  {
       .arg = "errlevel",
       .doc = "Sets tolerance for errors found in the file.  Default is 3; max is 6.", },
 
+    { .name = "plugin",
+      .key = OPT_PLUGIN,
+      .arg = "PLUGIN",
+      .doc = "Enable a decoder or summary plugin.", },
 
     { 0 },
 };
@@ -10127,6 +10144,8 @@ int main(int argc, char *argv[]) {
     /* Start with warn at stderr. */
     warn = stderr;
 
+    plugin_init();
+
     argp_parse(&parser_def, argc, argv, 0, NULL, NULL);
 
     if (G.trace_file == NULL)
@@ -10163,6 +10182,8 @@ int main(int argc, char *argv[]) {
     if(opt.summary)
         summary();
 
+    plugin_summary();
+
     if(opt.report_pcpu)
         report_pcpu();
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NK-000108-6h; Thu, 31 May 2012 11:17:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NH-0000yk-KB
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:03 +0000
Received: from [193.109.254.147:30000] by server-6.bemta-14.messagelabs.com id
	F6/AD-10397-E2357CF4; Thu, 31 May 2012 11:17:02 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1338463020!9388232!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32253 invoked from network); 31 May 2012 11:17:02 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342759"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3NA-0001Ia-0u;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 794833ac346b80acbed5f1aa5b46f1474d87f7ab
Message-ID: <794833ac346b80acbed5.1338462985@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:25 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 09 of 10] xenalyze: add a basic plugin
	infrastructure
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Allow xenalyze to be include (at build time) plugins that can do
per-record actions and a summary.  These plugins can be in C or C++.

The plugins entry points are in struct plugin and pointers to all the
plugins linked in xenalyze are placed in a "plugin" section so
plugin_init() can find them all.

A new command line option (-p, --plugin=PLUGIN) is added to enable one
or more plugins.

A sample plugin (skeleton) is included (mostly because at least one
plugin must be present for the build to work).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 Makefile            |   10 +++---
 analyze.h           |   55 ++++++++++++++++++++++++++++++++++
 plugin.cc           |   84 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 plugin.h            |   48 +++++++++++++++++++++++++++++
 plugin.hh           |   42 ++++++++++++++++++++++++++
 plugins/skeleton.cc |   31 +++++++++++++++++++
 xenalyze.c          |   72 +++++++++++++-------------------------------
 7 files changed, 287 insertions(+), 55 deletions(-)

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-CFLAGS += -g -O2
+CFLAGS += -g -O2 -I.
 CFLAGS += -fno-strict-aliasing
 CFLAGS += -std=gnu99
 CFLAGS += -Wall -Wstrict-prototypes
@@ -9,11 +9,15 @@ CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFI
 CFLAGS += -mno-tls-direct-seg-refs
 CFLAGS += -Werror
 
+CXXFLAGS := -g -O2 -I. -Wall -Werror -std=c++0x
+
 BIN := xenalyze dump-raw
 
 xenalyze_OBJS := \
 	mread.o \
-	xenalyze.o
+	plugin.o \
+	xenalyze.o \
+	plugins/skeleton.o
 
 dump-raw_OBJS := \
 	dump-raw.o
@@ -21,7 +25,7 @@ dump-raw_OBJS := \
 all: $(BIN)
 
 xenalyze: $(xenalyze_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $^
+	$(CXX) $(LDFLAGS) -o $@ $^
 
 dump-raw: $(dump-raw_OBJS)
 	$(CC) $(LDFLAGS) -o $@ $^
@@ -29,6 +33,9 @@ dump-raw: $(dump-raw_OBJS)
 %.o: %.c
 	$(CC) $(CFLAGS) -MD -MP -c -o $@ $<
 
+%.o: %.cc
+	$(CXX) $(CXXFLAGS) -MD -MP -c -o $@ $<
+
 all_objs := $(foreach b,$(BIN),$($(b)_OBJS))
 all_deps := $(all_objs:.o=.d)
 
diff --git a/plugin.cc b/plugin.cc
new file mode 100644
--- /dev/null
+++ b/plugin.cc
@@ -0,0 +1,84 @@
+/*
+ * Xenalyze plugin infrastructure.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <list>
+
+#include "plugin.hh"
+
+typedef std::list<struct plugin *> plugin_list;
+
+static plugin_list available;
+static plugin_list enabled;
+
+bool plugin_enable(const char *name)
+{
+    for (auto p = available.begin(); p != available.end(); p++) {
+        struct plugin *plugin = *p;
+        if (strcmp(plugin->name, name) == 0) {
+            enabled.push_back(plugin);
+            if (plugin->enable) {
+                plugin->enable(plugin);
+            }
+            return true;
+        }
+    }
+    return false;
+}
+
+void plugin_process(const struct record_info *ri)
+{
+    for (auto p = enabled.begin(); p != enabled.end(); p++) {
+        struct plugin *plugin = *p;
+        if (plugin->process) {
+            plugin->process(plugin, ri);
+        }
+    }    
+}
+
+void plugin_summary(void)
+{
+    for (auto p = enabled.begin(); p != enabled.end(); p++) {
+        struct plugin *plugin = *p;
+        if (plugin->summary) {
+            printf("Summary for %s plugin:\n", plugin->name);
+            plugin->summary(plugin);
+        }
+    }
+}
+
+static void plugin_add(struct plugin *plugin)
+{
+    available.push_back(plugin);
+}
+
+void plugin_init(void)
+{
+    extern struct plugin *__start_plugin;
+    extern struct plugin *__stop_plugin;
+    struct plugin **p;
+
+    for (p = &__start_plugin; p < &__stop_plugin; p++) {
+        plugin_add(*p);
+    }
+}
+
+void plugin_process_wrapper(struct plugin *plugin, const struct record_info *ri)
+{
+    xenalyze_plugin *p = static_cast<xenalyze_plugin*>(plugin->data);
+    p->process(ri);
+}
+
+void plugin_summary_wrapper(struct plugin *plugin)
+{
+    xenalyze_plugin *p = static_cast<xenalyze_plugin*>(plugin->data);
+    p->summary();
+    delete p;
+}
diff --git a/plugin.h b/plugin.h
new file mode 100644
--- /dev/null
+++ b/plugin.h
@@ -0,0 +1,47 @@
+/*
+ * Xenalyze plugin C API.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#ifndef PLUGIN_H
+#define PLUGIN_H
+
+#include <stdbool.h>
+
+#include "analyze.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct plugin;
+
+typedef void (*plugin_enable_f)(struct plugin *plugin);
+typedef void (*plugin_process_f)(struct plugin *plugin, const struct record_info *ri);
+typedef void (*plugin_summary_f)(struct plugin *plugin);
+
+struct plugin {
+    const char *name;
+    plugin_enable_f enable;
+    plugin_process_f process;
+    plugin_summary_f summary;
+    void *data;
+};
+
+#define DEFINE_PLUGIN(p) \
+    struct plugin *__plugin_ ## p __attribute__((section("plugin"))) = &p
+
+void plugin_init(void);
+bool plugin_enable(const char *name);
+void plugin_process(const struct record_info *ri);
+void plugin_summary(void);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef PLUGIN_H */
diff --git a/plugin.hh b/plugin.hh
new file mode 100644
--- /dev/null
+++ b/plugin.hh
@@ -0,0 +1,42 @@
+/*
+ * Xenalyze plugin C++ API.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#ifndef PLUGIN_HH
+#define PLUGIN_HH
+
+#include "plugin.h"
+
+class xenalyze_plugin {
+public:
+    virtual ~xenalyze_plugin() {}
+
+    virtual void process(const struct record_info *ri) = 0;
+    virtual void summary() = 0;
+};
+
+#define DEFINE_CXX_PLUGIN(name, cls)                                    \
+    static void __plugin_ ## cls ## _enable(struct plugin *plugin)      \
+    {                                                                   \
+        plugin->data = new cls();                                       \
+    }                                                                   \
+                                                                        \
+    static struct plugin __plugin ## cls = {                            \
+        name,                                                           \
+        __plugin_ ## cls ## _enable,                                    \
+        plugin_process_wrapper,                                         \
+        plugin_summary_wrapper,                                         \
+    };                                                                  \
+    DEFINE_PLUGIN(__plugin ## cls)
+
+extern "C" {
+void plugin_process_wrapper(struct plugin *plugin, const struct record_info *ri);
+void plugin_summary_wrapper(struct plugin *plugin);
+}
+
+#endif /* #ifndef PLUGIN_HH */
diff --git a/plugins/skeleton.cc b/plugins/skeleton.cc
new file mode 100644
--- /dev/null
+++ b/plugins/skeleton.cc
@@ -0,0 +1,31 @@
+/*
+ * Skeleton xenalyze plugin.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+#include "plugin.hh"
+
+class skeleton_plugin : xenalyze_plugin {
+public:
+    skeleton_plugin() {}
+    ~skeleton_plugin() {}
+
+    void process(const struct record_info *ri);
+    void summary(void);
+};
+
+void skeleton_plugin::process(const struct record_info *ri)
+{
+    /* Put per-trace record stuff here. */
+}
+
+void skeleton_plugin::summary(void)
+{
+    /* Print a summary of the results (if applicable). */
+}
+
+DEFINE_CXX_PLUGIN("skeleton", skeleton_plugin);
diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -32,6 +32,7 @@
 #include "trace.h"
 #include "analyze.h"
 #include "mread.h"
+#include "plugin.h"
 #include "pv.h"
 #include <errno.h>
 #include <strings.h>
@@ -8763,6 +8764,8 @@ void process_record(struct pcpu_info *p)
         default:
             process_generic(ri);
         }
+
+        plugin_process(ri);
     }
 
     UPDATE_VOLUME(p, toplevel[toplevel], ri->size);
@@ -9346,6 +9349,7 @@ enum {
     OPT_DUMP_ALL='a',
     OPT_INTERVAL_LENGTH='i',
     OPT_SUMMARY='s',
+    OPT_PLUGIN='p',
 };
 
 enum {
@@ -9816,6 +9820,15 @@ error_t cmd_parser(int key, char *arg, s
         opt.tsc_loop_fatal = 1;
         break;
 
+    case OPT_PLUGIN:
+        if (plugin_enable(arg)) {
+            G.output_defined = 1;
+        } else {
+            fprintf(stderr, "ERROR: No such plugin `%s'.\n", arg);
+            exit(1);
+        }
+        break;
+
     case ARGP_KEY_ARG:
     {
         /* FIXME - strcpy */
@@ -10108,6 +10121,10 @@ const struct argp_option cmd_opts[] =  {
       .arg = "errlevel",
       .doc = "Sets tolerance for errors found in the file.  Default is 3; max is 6.", },
 
+    { .name = "plugin",
+      .key = OPT_PLUGIN,
+      .arg = "PLUGIN",
+      .doc = "Enable a decoder or summary plugin.", },
 
     { 0 },
 };
@@ -10127,6 +10144,8 @@ int main(int argc, char *argv[]) {
     /* Start with warn at stderr. */
     warn = stderr;
 
+    plugin_init();
+
     argp_parse(&parser_def, argc, argv, 0, NULL, NULL);
 
     if (G.trace_file == NULL)
@@ -10163,6 +10182,8 @@ int main(int argc, char *argv[]) {
     if(opt.summary)
         summary();
 
+    plugin_summary();
+
     if(opt.report_pcpu)
         report_pcpu();
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NN-00011u-4Q; Thu, 31 May 2012 11:17:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NL-0000yW-S1
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:08 +0000
Received: from [85.158.138.51:40617] by server-9.bemta-3.messagelabs.com id
	0E/95-21565-33357CF4; Thu, 31 May 2012 11:17:07 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338463019!30091263!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9939 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342758"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Td;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: e54f58627f692e43a95cd4631f4b3900069ad3cf
Message-ID: <e54f58627f692e43a95c.1338462979@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:19 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 03 of 10] xenalyze: remove decode of unused
	events
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The PV_UPDATE_VA_MAPPING event is not present in xen-unstable, nor is
it present in any of the 3.2, 3.3, 3.4 or 4.1 XenServer trees I looked
at so I can only assume this was an event that never made it upstream.

Remove the code as the event ID is now used for PV_HYPERCALL_V2.

Similarly, some of the the HW_IRQ_* events are also not used anywhere
I could find.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -1531,7 +1531,6 @@ enum {
     PV_GDT_LDT_MAPPING_FAULT,
     PV_PTWR_EMULATION,
     PV_PTWR_EMULATION_PAE,
-    PV_UPDATE_VA_MAPPING,
     PV_MAX
 };
 
@@ -6514,44 +6513,6 @@ void pv_ptwr_emulation_process(struct re
     }
 }
 
-void pv_update_va_mapping_process(struct record_info *ri, struct pv_data *pv) {
-    union pv_event pevt = { .event = ri->event };
-    union {
-        /* gpl2 is deprecated */
-        struct {
-            unsigned long long val;
-            unsigned int va, flags;
-        } x32;
-        struct {
-            unsigned long long val;
-            unsigned long long va, flags;
-        } x64;
-    } *r = (typeof(r))ri->d;
-    struct {
-        unsigned long long val, va, flags;
-    } e;
-
-    if ( pevt.x64 )
-    {
-        e.val = r->x64.val;
-        e.va = r->x64.va;
-        e.flags = r->x64.flags;
-    }
-    else
-    {
-        e.val = r->x32.val;
-        e.va = r->x32.va;
-        e.flags = r->x32.flags;
-    }
-
-    if ( opt.dump_all )
-    {
-        printf(" %s update_va_mapping l1e %llx va %llx flags %llx\n",
-               ri->dump_header,
-               e.val, e.va, e.flags);
-    }
-}
-
 void pv_generic_process(struct record_info *ri, struct pv_data *pv) {
     union pv_event pevt = { .event = ri->event };
     if ( opt.dump_all ) {
@@ -6638,9 +6599,6 @@ void pv_process(struct pcpu_info *p)
     case PV_PTWR_EMULATION_PAE:
         pv_ptwr_emulation_process(ri, pv);
         break;
-    case PV_UPDATE_VA_MAPPING:
-        pv_update_va_mapping_process(ri, pv);
-        break;
     case PV_PAGE_FAULT:
         //pv_pf_process(ri, pv);
         //break;
@@ -7893,149 +7851,6 @@ void irq_process(struct pcpu_info *p) {
         }
         break;
     }
-    case TRC_HW_IRQ_MSI_WRITE:
-    {
-        struct {
-            unsigned address_lo, address_hi;
-            unsigned data;
-            unsigned irq:16, pos:16;
-            uint8_t func, slot, bus, type;
-            unsigned mask_base;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_msi_write irq %x t %x base %x addr %x %x data %x pci %02x:%02x.%x %x\n",
-                   ri->dump_header,
-                   r->irq,
-                   r->type,
-                   r->mask_base,
-                   r->address_hi, r->address_lo,
-                   r->data,
-                   r->bus, r->slot, r->func, r->pos);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_IOMMU_AMD_IRE:
-    {
-        struct {
-            uint16_t bdf, id;
-            int offset;
-            uint8_t dest_mode, dev_mode, vector, dest;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_iommu_ire bdf %x id %x offset %x dest_mode %x dev_mode %x vec %x dest %x\n",
-                   ri->dump_header,
-                   r->bdf, r->id,
-                   r->offset,
-                   r->dest_mode, r->dev_mode,
-                   r->vector, r->dest);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_MAP_PIRQ_MSI:
-    {
-        struct {
-            unsigned domain:16,
-                pirq:16,
-                irq:16,
-                bus:16,
-                devfn:16,
-                entry_nr:16;
-        } *r = (typeof(r))ri->d;
-
-        if ( r->irq < MAX_IRQ )
-        {
-            struct irq_desc *irq=irq_table+r->irq;
-
-            if ( irq->dev )
-            {
-                fprintf(warn, "Strange, irq %d already has dev %02x:%x.%x!\n",
-                        r->irq, irq->dev->bus,
-                        irq->dev->devfn>>4,
-                        irq->dev->devfn&3);
-            }
-            else
-            {
-                struct pci_dev *pdev = pdev_find(r->bus, r->devfn);
-
-                irq->dev=pdev;
-                irq->type=IRQ_MSI;
-            }
-        }
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_map_pirq_msi d%d pirq %x(%d) irq %x bus %x devfn %x entry %x\n",
-                   ri->dump_header,
-                   r->domain,
-                   r->pirq,
-                   r->pirq,
-                   r->irq,
-                   r->bus,
-                   r->devfn,
-                   r->entry_nr);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_MAP_PIRQ_GSI:
-    {
-        struct {
-            unsigned domain, pirq, irq;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_map_pirq_gsi d%d pirq %x(%d) irq %x\n",
-                   ri->dump_header,
-                   r->domain,
-                   r->pirq,
-                   r->pirq,
-                   r->irq);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_MSI_SET_AFFINITY:
-    {
-        struct {
-            unsigned irq, apic_id, vector;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_msi_set_affinity irq %x apicid %x vec %x\n",
-                   ri->dump_header,
-                   r->irq,
-                   r->apic_id,
-                   r->vector);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_SET_DESC_AFFINITY:
-    {
-        struct {
-            unsigned line:16, irq:16;
-            char fname[24]; /* Extra 7 words; 6 words * 4 = 24 */
-        } *r = (typeof(r))ri->d;
-        char fname[25];
-        int i;
-
-        for(i=0; i<24; i++)
-            fname[i]=r->fname[i];
-        fname[i]=0;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_set_desc_affinity irq %x %s:%d\n",
-                   ri->dump_header,
-                   r->irq,
-                   fname,
-                   r->line);
-        }
-        break;
-    }
     case TRC_HW_IRQ_CLEAR_VECTOR:
     case TRC_HW_IRQ_MOVE_FINISH :
     default:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NN-00011u-4Q; Thu, 31 May 2012 11:17:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3NL-0000yW-S1
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:08 +0000
Received: from [85.158.138.51:40617] by server-9.bemta-3.messagelabs.com id
	0E/95-21565-33357CF4; Thu, 31 May 2012 11:17:07 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338463019!30091263!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9939 invoked from network); 31 May 2012 11:17:01 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342758"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Td;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: e54f58627f692e43a95cd4631f4b3900069ad3cf
Message-ID: <e54f58627f692e43a95c.1338462979@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:19 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 03 of 10] xenalyze: remove decode of unused
	events
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The PV_UPDATE_VA_MAPPING event is not present in xen-unstable, nor is
it present in any of the 3.2, 3.3, 3.4 or 4.1 XenServer trees I looked
at so I can only assume this was an event that never made it upstream.

Remove the code as the event ID is now used for PV_HYPERCALL_V2.

Similarly, some of the the HW_IRQ_* events are also not used anywhere
I could find.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---

diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -1531,7 +1531,6 @@ enum {
     PV_GDT_LDT_MAPPING_FAULT,
     PV_PTWR_EMULATION,
     PV_PTWR_EMULATION_PAE,
-    PV_UPDATE_VA_MAPPING,
     PV_MAX
 };
 
@@ -6514,44 +6513,6 @@ void pv_ptwr_emulation_process(struct re
     }
 }
 
-void pv_update_va_mapping_process(struct record_info *ri, struct pv_data *pv) {
-    union pv_event pevt = { .event = ri->event };
-    union {
-        /* gpl2 is deprecated */
-        struct {
-            unsigned long long val;
-            unsigned int va, flags;
-        } x32;
-        struct {
-            unsigned long long val;
-            unsigned long long va, flags;
-        } x64;
-    } *r = (typeof(r))ri->d;
-    struct {
-        unsigned long long val, va, flags;
-    } e;
-
-    if ( pevt.x64 )
-    {
-        e.val = r->x64.val;
-        e.va = r->x64.va;
-        e.flags = r->x64.flags;
-    }
-    else
-    {
-        e.val = r->x32.val;
-        e.va = r->x32.va;
-        e.flags = r->x32.flags;
-    }
-
-    if ( opt.dump_all )
-    {
-        printf(" %s update_va_mapping l1e %llx va %llx flags %llx\n",
-               ri->dump_header,
-               e.val, e.va, e.flags);
-    }
-}
-
 void pv_generic_process(struct record_info *ri, struct pv_data *pv) {
     union pv_event pevt = { .event = ri->event };
     if ( opt.dump_all ) {
@@ -6638,9 +6599,6 @@ void pv_process(struct pcpu_info *p)
     case PV_PTWR_EMULATION_PAE:
         pv_ptwr_emulation_process(ri, pv);
         break;
-    case PV_UPDATE_VA_MAPPING:
-        pv_update_va_mapping_process(ri, pv);
-        break;
     case PV_PAGE_FAULT:
         //pv_pf_process(ri, pv);
         //break;
@@ -7893,149 +7851,6 @@ void irq_process(struct pcpu_info *p) {
         }
         break;
     }
-    case TRC_HW_IRQ_MSI_WRITE:
-    {
-        struct {
-            unsigned address_lo, address_hi;
-            unsigned data;
-            unsigned irq:16, pos:16;
-            uint8_t func, slot, bus, type;
-            unsigned mask_base;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_msi_write irq %x t %x base %x addr %x %x data %x pci %02x:%02x.%x %x\n",
-                   ri->dump_header,
-                   r->irq,
-                   r->type,
-                   r->mask_base,
-                   r->address_hi, r->address_lo,
-                   r->data,
-                   r->bus, r->slot, r->func, r->pos);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_IOMMU_AMD_IRE:
-    {
-        struct {
-            uint16_t bdf, id;
-            int offset;
-            uint8_t dest_mode, dev_mode, vector, dest;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_iommu_ire bdf %x id %x offset %x dest_mode %x dev_mode %x vec %x dest %x\n",
-                   ri->dump_header,
-                   r->bdf, r->id,
-                   r->offset,
-                   r->dest_mode, r->dev_mode,
-                   r->vector, r->dest);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_MAP_PIRQ_MSI:
-    {
-        struct {
-            unsigned domain:16,
-                pirq:16,
-                irq:16,
-                bus:16,
-                devfn:16,
-                entry_nr:16;
-        } *r = (typeof(r))ri->d;
-
-        if ( r->irq < MAX_IRQ )
-        {
-            struct irq_desc *irq=irq_table+r->irq;
-
-            if ( irq->dev )
-            {
-                fprintf(warn, "Strange, irq %d already has dev %02x:%x.%x!\n",
-                        r->irq, irq->dev->bus,
-                        irq->dev->devfn>>4,
-                        irq->dev->devfn&3);
-            }
-            else
-            {
-                struct pci_dev *pdev = pdev_find(r->bus, r->devfn);
-
-                irq->dev=pdev;
-                irq->type=IRQ_MSI;
-            }
-        }
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_map_pirq_msi d%d pirq %x(%d) irq %x bus %x devfn %x entry %x\n",
-                   ri->dump_header,
-                   r->domain,
-                   r->pirq,
-                   r->pirq,
-                   r->irq,
-                   r->bus,
-                   r->devfn,
-                   r->entry_nr);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_MAP_PIRQ_GSI:
-    {
-        struct {
-            unsigned domain, pirq, irq;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_map_pirq_gsi d%d pirq %x(%d) irq %x\n",
-                   ri->dump_header,
-                   r->domain,
-                   r->pirq,
-                   r->pirq,
-                   r->irq);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_MSI_SET_AFFINITY:
-    {
-        struct {
-            unsigned irq, apic_id, vector;
-        } *r = (typeof(r))ri->d;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_msi_set_affinity irq %x apicid %x vec %x\n",
-                   ri->dump_header,
-                   r->irq,
-                   r->apic_id,
-                   r->vector);
-        }
-        break;
-    }
-    case TRC_HW_IRQ_SET_DESC_AFFINITY:
-    {
-        struct {
-            unsigned line:16, irq:16;
-            char fname[24]; /* Extra 7 words; 6 words * 4 = 24 */
-        } *r = (typeof(r))ri->d;
-        char fname[25];
-        int i;
-
-        for(i=0; i<24; i++)
-            fname[i]=r->fname[i];
-        fname[i]=0;
-
-        if ( opt.dump_all )
-        {
-            printf(" %s irq_set_desc_affinity irq %x %s:%d\n",
-                   ri->dump_header,
-                   r->irq,
-                   fname,
-                   r->line);
-        }
-        break;
-    }
     case TRC_HW_IRQ_CLEAR_VECTOR:
     case TRC_HW_IRQ_MOVE_FINISH :
     default:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NF-0000yB-Gv; Thu, 31 May 2012 11:17:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3ND-0000xu-Vd
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:00 +0000
Received: from [85.158.138.51:37713] by server-11.bemta-3.messagelabs.com id
	DC/1E-32748-B2357CF4; Thu, 31 May 2012 11:16:59 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31311 invoked from network); 31 May 2012 11:16:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:16:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342750"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Sa;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: e3e73054976e24a185280eed645b2abf1aba00ba
Message-ID: <e3e73054976e24a18528.1338462977@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:17 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 01 of 10] xenalyze: add .hgignore
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 .hgignore |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/.hgignore b/.hgignore
new file mode 100644
--- /dev/null
+++ b/.hgignore
@@ -0,0 +1,3 @@
+.*\.o
+xenalyze
+dump-raw

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3NF-0000yB-Gv; Thu, 31 May 2012 11:17:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3ND-0000xu-Vd
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:17:00 +0000
Received: from [85.158.138.51:37713] by server-11.bemta-3.messagelabs.com id
	DC/1E-32748-B2357CF4; Thu, 31 May 2012 11:16:59 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338463017!30183769!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31311 invoked from network); 31 May 2012 11:16:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:16:58 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330923600"; d="scan'208";a="26342750"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:16:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:16:56 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3N9-0001Ia-Sa;
	Thu, 31 May 2012 12:16:55 +0100
MIME-Version: 1.0
X-Mercurial-Node: e3e73054976e24a185280eed645b2abf1aba00ba
Message-ID: <e3e73054976e24a18528.1338462977@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:17 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 01 of 10] xenalyze: add .hgignore
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 .hgignore |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/.hgignore b/.hgignore
new file mode 100644
--- /dev/null
+++ b/.hgignore
@@ -0,0 +1,3 @@
+.*\.o
+xenalyze
+dump-raw

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Ny-0001S9-OB; Thu, 31 May 2012 11:17:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa3Nx-0001PD-C2
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:17:45 +0000
Received: from [85.158.143.35:12243] by server-2.bemta-4.messagelabs.com id
	6B/D4-11595-95357CF4; Thu, 31 May 2012 11:17:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338463063!12902078!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 642 invoked from network); 31 May 2012 11:17:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12760026"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:16:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:16:07 +0100
Message-ID: <1338462966.17466.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 12:16:06 +0100
In-Reply-To: <20423.16431.321849.778723@mariner.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
	<1338398761.14877.17.camel@dagon.hellion.org.uk>
	<20423.16431.321849.778723@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 10:55 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,	make toolstack_restore const-correct"):
> > On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > > Also provide typedefs for the nontrivial function callback types.
> > 
> > Are there any other uses of these type other than the one of each
> > inlined in the structs?
> 
> There is one, later in my patch series, in libxl.

Ah, I had a look up to ptch 5 (the originally posted set) but didn't
spot it, sorry.

> > If not then I'm not sure this makes things clearer -- you now have to
> > look at both the callback struct and then go find the corresponding
> > typedef.
> 
> I'm not particularly bothered about this and could write the type out
> again in its other location in libxl_internal.h.  The compiler will
> check it after all.
> 
> Let me know what you think best.

I prefer to write it out. Especially since the docs (such as they are)
are in the struct too.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Nz-0001SV-5N; Thu, 31 May 2012 11:17:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa3Nx-0001RO-Uz
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:17:46 +0000
Received: from [85.158.143.35:12265] by server-3.bemta-4.messagelabs.com id
	FD/61-04252-95357CF4; Thu, 31 May 2012 11:17:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338463063!12902078!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 722 invoked from network); 31 May 2012 11:17:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12760074"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:17:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:17:43 +0100
Message-ID: <1338463062.17466.10.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 12:17:42 +0100
In-Reply-To: <20423.18032.316476.341196@mariner.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
	<1338400101.14877.24.camel@dagon.hellion.org.uk>
	<20423.18032.316476.341196@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked
 and libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 11:22 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked and libxl__xs_transaction_*"):
> >  
> > > +int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
> > > +                           const char *path, const char **result_out)
> > > +{
> > > +    char *result = libxl__xs_read(gc, t, path);
> > > +    if (!result) {
> > > +        if (errno != ENOENT) {
> > 
> > Can't you combine these with && ?
> 
> Yes, but this matches better the way I think of it.  I can change it
> if you like.

It's fine, your reason for writing it that way is as good as any.

> > It would be much more useful if this function took a "const char
> > *what" (even just __func__ from the caller) and logged it here.
> 
> I think that this call can only fail due to general failure of
> xenstore (or our xenstore handle).  So a `what' here wouldn't help
> much.  The other helpers are more likely to fail (permissions, for
> example) but they can log the path.

[...]

> So I think I would prefer to keep things as they are.

Based on your argument I agree.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Ny-0001S9-OB; Thu, 31 May 2012 11:17:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa3Nx-0001PD-C2
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:17:45 +0000
Received: from [85.158.143.35:12243] by server-2.bemta-4.messagelabs.com id
	6B/D4-11595-95357CF4; Thu, 31 May 2012 11:17:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338463063!12902078!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 642 invoked from network); 31 May 2012 11:17:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12760026"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:16:07 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:16:07 +0100
Message-ID: <1338462966.17466.9.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 12:16:06 +0100
In-Reply-To: <20423.16431.321849.778723@mariner.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
	<1338398761.14877.17.camel@dagon.hellion.org.uk>
	<20423.16431.321849.778723@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 10:55 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,	make toolstack_restore const-correct"):
> > On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > > Also provide typedefs for the nontrivial function callback types.
> > 
> > Are there any other uses of these type other than the one of each
> > inlined in the structs?
> 
> There is one, later in my patch series, in libxl.

Ah, I had a look up to ptch 5 (the originally posted set) but didn't
spot it, sorry.

> > If not then I'm not sure this makes things clearer -- you now have to
> > look at both the callback struct and then go find the corresponding
> > typedef.
> 
> I'm not particularly bothered about this and could write the type out
> again in its other location in libxl_internal.h.  The compiler will
> check it after all.
> 
> Let me know what you think best.

I prefer to write it out. Especially since the docs (such as they are)
are in the struct too.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:17:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Nz-0001SV-5N; Thu, 31 May 2012 11:17:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa3Nx-0001RO-Uz
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:17:46 +0000
Received: from [85.158.143.35:12265] by server-3.bemta-4.messagelabs.com id
	FD/61-04252-95357CF4; Thu, 31 May 2012 11:17:45 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338463063!12902078!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 722 invoked from network); 31 May 2012 11:17:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:17:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12760074"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:17:43 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:17:43 +0100
Message-ID: <1338463062.17466.10.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 12:17:42 +0100
In-Reply-To: <20423.18032.316476.341196@mariner.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-8-git-send-email-ian.jackson@eu.citrix.com>
	<1338400101.14877.24.camel@dagon.hellion.org.uk>
	<20423.18032.316476.341196@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked
 and libxl__xs_transaction_*
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 11:22 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH 07/15] libxl: provide libxl__xs_*_checked and libxl__xs_transaction_*"):
> >  
> > > +int libxl__xs_read_checked(libxl__gc *gc, xs_transaction_t t,
> > > +                           const char *path, const char **result_out)
> > > +{
> > > +    char *result = libxl__xs_read(gc, t, path);
> > > +    if (!result) {
> > > +        if (errno != ENOENT) {
> > 
> > Can't you combine these with && ?
> 
> Yes, but this matches better the way I think of it.  I can change it
> if you like.

It's fine, your reason for writing it that way is as good as any.

> > It would be much more useful if this function took a "const char
> > *what" (even just __func__ from the caller) and logged it here.
> 
> I think that this call can only fail due to general failure of
> xenstore (or our xenstore handle).  So a `what' here wouldn't help
> much.  The other helpers are more likely to fail (permissions, for
> example) but they can log the path.

[...]

> So I think I would prefer to keep things as they are.

Based on your argument I agree.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:20:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:20:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Qm-0002Ud-Oe; Thu, 31 May 2012 11:20:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa3Qk-0002U7-PE
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:20:38 +0000
Received: from [85.158.138.51:37963] by server-12.bemta-3.messagelabs.com id
	D0/5A-29860-50457CF4; Thu, 31 May 2012 11:20:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338463236!11415301!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9897 invoked from network); 31 May 2012 11:20:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:20:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12760160"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:20:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:20:36 +0100
Message-ID: <1338463234.17466.13.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 12:20:34 +0100
In-Reply-To: <20423.18608.217854.76485@mariner.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
	<1338450760.17466.5.camel@zakaz.uk.xensource.com>
	<20423.18608.217854.76485@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 11:32 +0100, Ian Jackson wrote:
> > On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > > @@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
> > >  _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
> > >  _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
> > >  
> > > +/* Inserts literal data into the output stream.
> > > + * May safely be used only immediately after libxl__datacopier_start.
> > 
> > After datacopier_start the fds are registered, is there not a race
> > between those events firing (perhaps in another thread which has called
> > into libxl) and this thread?
> 
> No, because we have the ctx mutex held all of the time.

Ah!.

> 
> And there isn't a reentrancy hazard either.  As the comments in
> libxl_internal.h have it:
> 
>    *   int libxl__ev_KIND_register(libxl__gc *gc, libxl__ev_KIND *GEN,
>    *                              libxl__ev_KIND_callback *FUNC,
>    *                              DETAILS);
>    *      [...].  FUNC will
>    *      not be called from within the call to _register.  [...]
> 
> I think given your question this warrants a comment:
> 
>   @@ -78,6 +78,13 @@ void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
>                                      const void *data, size_t len)
>    {
>        libxl__datacopier_buf *buf;
>   +    /*
>   +     * It is safe for this to be called immediately after _start, as
>   +     * is documented in the public comment.  _start's caller must have
>   +     * the mutex locked, so other threads don't get to mess with the
>   +     * contents, and the fd events cannot happen reentrantly.

Perhaps this could be more explicit about having to hold the mutex from
before _start until after any _prefixdata calls?

Perhaps "...called immediately after _start, while still holding the
mutex, as is documented in the public ..." ? 

"The mutex" here is the CTX lock, right?

>   So we
>   +     * are guaranteed to beat the first data from the read fd.
>   +     */
> 
> > Is the safe place not between datacopier_init and the rest of
> > datacopier_start?
> 
> No, because _start calls _init (just like all the
> libxl__*_make_events_happen functions do).

I spotted that, which is why I said between the _init and the "rest of"
_start, but my original premise was wrong anyway so never mind...

> 
> Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:20:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:20:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Qm-0002Ud-Oe; Thu, 31 May 2012 11:20:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa3Qk-0002U7-PE
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:20:38 +0000
Received: from [85.158.138.51:37963] by server-12.bemta-3.messagelabs.com id
	D0/5A-29860-50457CF4; Thu, 31 May 2012 11:20:37 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338463236!11415301!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9897 invoked from network); 31 May 2012 11:20:37 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:20:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,691,1330905600"; d="scan'208";a="12760160"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:20:36 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:20:36 +0100
Message-ID: <1338463234.17466.13.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 12:20:34 +0100
In-Reply-To: <20423.18608.217854.76485@mariner.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
	<1338450760.17466.5.camel@zakaz.uk.xensource.com>
	<20423.18608.217854.76485@mariner.uk.xensource.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 11:32 +0100, Ian Jackson wrote:
> > On Wed, 2012-05-30 at 17:16 +0100, Ian Jackson wrote:
> > > @@ -1812,6 +1812,12 @@ _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
> > >  _hidden void libxl__datacopier_kill(libxl__datacopier_state *dc);
> > >  _hidden int libxl__datacopier_start(libxl__datacopier_state *dc);
> > >  
> > > +/* Inserts literal data into the output stream.
> > > + * May safely be used only immediately after libxl__datacopier_start.
> > 
> > After datacopier_start the fds are registered, is there not a race
> > between those events firing (perhaps in another thread which has called
> > into libxl) and this thread?
> 
> No, because we have the ctx mutex held all of the time.

Ah!.

> 
> And there isn't a reentrancy hazard either.  As the comments in
> libxl_internal.h have it:
> 
>    *   int libxl__ev_KIND_register(libxl__gc *gc, libxl__ev_KIND *GEN,
>    *                              libxl__ev_KIND_callback *FUNC,
>    *                              DETAILS);
>    *      [...].  FUNC will
>    *      not be called from within the call to _register.  [...]
> 
> I think given your question this warrants a comment:
> 
>   @@ -78,6 +78,13 @@ void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
>                                      const void *data, size_t len)
>    {
>        libxl__datacopier_buf *buf;
>   +    /*
>   +     * It is safe for this to be called immediately after _start, as
>   +     * is documented in the public comment.  _start's caller must have
>   +     * the mutex locked, so other threads don't get to mess with the
>   +     * contents, and the fd events cannot happen reentrantly.

Perhaps this could be more explicit about having to hold the mutex from
before _start until after any _prefixdata calls?

Perhaps "...called immediately after _start, while still holding the
mutex, as is documented in the public ..." ? 

"The mutex" here is the CTX lock, right?

>   So we
>   +     * are guaranteed to beat the first data from the read fd.
>   +     */
> 
> > Is the safe place not between datacopier_init and the rest of
> > datacopier_start?
> 
> No, because _start calls _init (just like all the
> libxl__*_make_events_happen functions do).

I spotted that, which is why I said between the _init and the "rest of"
_start, but my original premise was wrong anyway so never mind...

> 
> Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:28:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:28:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Xw-0002rk-Q4; Thu, 31 May 2012 11:28:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa3Xu-0002rf-II
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:28:02 +0000
Received: from [85.158.143.35:27840] by server-2.bemta-4.messagelabs.com id
	2E/39-11595-1C557CF4; Thu, 31 May 2012 11:28:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338463681!18226899!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5269 invoked from network); 31 May 2012 11:28:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:28:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12760318"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:28:00 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 12:28:00 +0100
Date: Thu, 31 May 2012 12:27:45 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC770E20200007800087298@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
References: <4FC770E20200007800087298@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> Legacy (non-pvops) gntdev drivers may require this to be done when the
> number of grants intended to be used simultaneously exceeds a certain
> driver specific default limit.
> 
> Change in v2: Double the number requested, as we need to account for
> the allocations needing to happen in contiguous chunks. The worst case
> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> but in order to keep things simple just use 2 * max_req * max_seg.
> 
> Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
> definition.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I think it is OK, I'll submit it as a bug fix for QEMU 1.1.

It should be applied to qemu-xen-traditional too.


> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -537,6 +537,15 @@ static void blk_bh(void *opaque)
>      blk_handle_requests(blkdev);
>  }
>  
> +/*
> + * We need to account for the grant allocations requiring contiguous
> + * chunks; the worst case number would be
> + *     max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> + * but in order to keep things simple just use
> + *     2 * max_req * max_seg.
> + */
> +#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * (max_seg))
> +
>  static void blk_alloc(struct XenDevice *xendev)
>  {
>      struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
> @@ -548,6 +557,11 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +            MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < 0) {
> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
> +    }
>  }
>  
>  static int blk_init(struct XenDevice *xendev)
> 
> 
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:28:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:28:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3Xw-0002rk-Q4; Thu, 31 May 2012 11:28:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa3Xu-0002rf-II
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:28:02 +0000
Received: from [85.158.143.35:27840] by server-2.bemta-4.messagelabs.com id
	2E/39-11595-1C557CF4; Thu, 31 May 2012 11:28:01 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338463681!18226899!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5269 invoked from network); 31 May 2012 11:28:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:28:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12760318"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:28:00 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 12:28:00 +0100
Date: Thu, 31 May 2012 12:27:45 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC770E20200007800087298@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
References: <4FC770E20200007800087298@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> Legacy (non-pvops) gntdev drivers may require this to be done when the
> number of grants intended to be used simultaneously exceeds a certain
> driver specific default limit.
> 
> Change in v2: Double the number requested, as we need to account for
> the allocations needing to happen in contiguous chunks. The worst case
> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> but in order to keep things simple just use 2 * max_req * max_seg.
> 
> Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
> definition.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I think it is OK, I'll submit it as a bug fix for QEMU 1.1.

It should be applied to qemu-xen-traditional too.


> --- a/hw/xen_disk.c
> +++ b/hw/xen_disk.c
> @@ -537,6 +537,15 @@ static void blk_bh(void *opaque)
>      blk_handle_requests(blkdev);
>  }
>  
> +/*
> + * We need to account for the grant allocations requiring contiguous
> + * chunks; the worst case number would be
> + *     max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> + * but in order to keep things simple just use
> + *     2 * max_req * max_seg.
> + */
> +#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * (max_seg))
> +
>  static void blk_alloc(struct XenDevice *xendev)
>  {
>      struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
> @@ -548,6 +557,11 @@ static void blk_alloc(struct XenDevice *
>      if (xen_mode != XEN_EMULATE) {
>          batch_maps = 1;
>      }
> +    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
> +            MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < 0) {
> +        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
> +                      strerror(errno));
> +    }
>  }
>  
>  static int blk_init(struct XenDevice *xendev)
> 
> 
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:46:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:46:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3pH-0003D3-Iz; Thu, 31 May 2012 11:45:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3pG-0003Cu-6h
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:45:58 +0000
Received: from [193.109.254.147:44759] by server-3.bemta-14.messagelabs.com id
	39/51-15022-5F957CF4; Thu, 31 May 2012 11:45:57 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338464748!4511909!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14602 invoked from network); 31 May 2012 11:45:50 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:45:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26344899"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:45:47 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:45:47 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3NA-0001Ia-1V;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5785d865fac359b38b31855c8abc39f46ac771d5
Message-ID: <5785d865fac359b38b31.1338462986@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:26 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 10 of 10] xenalyze: add a batch-size plugin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The batch-size plugin produces a histogram of the different counts in
some of the hypercalls (multical and mmu_update).  This can be useful
to see if different guest kernels are less efficient at batching
hypercalls.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,7 @@ xenalyze_OBJS := \
 	mread.o \
 	plugin.o \
 	xenalyze.o \
+	plugins/batch-size.o \
 	plugins/skeleton.o
 
 dump-raw_OBJS := \
diff --git a/plugins/batch-size.cc b/plugins/batch-size.cc
new file mode 100644
--- /dev/null
+++ b/plugins/batch-size.cc
@@ -0,0 +1,73 @@
+/*
+ * Hypercall batch size xenalyze plugin.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This plugin produces a histogram of the batch sizes of some of the
+ * hypercalls. Specifically:
+ *
+ *   - number of calls in a multicall.
+ *   - number of updates in a mmu_update.
+ */
+#include <stdio.h>
+#include <map>
+
+#include "plugin.hh"
+#include "pv.h"
+#include "trace.h"
+
+class batch_size_plugin : xenalyze_plugin {
+public:
+    batch_size_plugin() {}
+    ~batch_size_plugin() {}
+
+    void process(const struct record_info *ri);
+    void summary();
+
+private:
+    std::map<int, int> multicall;
+    std::map<int, int> mmu_update;
+};
+
+void batch_size_plugin::process(const struct record_info *ri)
+{
+    uint32_t count;
+
+    if (ri->event == TRC_PV_HYPERCALL_V2) {
+        switch (pv_hypercall_op(ri)) {
+        case 1: /* mmu_update */
+            count = pv_hypercall_arg(ri, 1) & ~MMU_UPDATE_PREEMPTED;
+            mmu_update[count]++;
+            break;
+        case 13: /* multicall */
+            count = pv_hypercall_arg(ri, 1);
+            multicall[count]++;
+            break;
+        }
+    }
+}
+
+static void summarize(const char *name, std::map<int, int> &call)
+{
+    int calls = 0, batches = 0;
+
+    printf("  %s:\n    Size  Count\n", name);
+    for (auto i = call.begin(); i != call.end(); i++) {
+        printf("    %-4d  %d\n", i->first, i->second);
+        calls += i->first * i->second;
+        batches += i->second;
+    }
+    printf("    Average %.1f\n",  (double)calls / (double)batches);
+}
+
+void batch_size_plugin::summary()
+{
+    summarize("multicall", multicall);
+    summarize("mmu_update", mmu_update);
+}
+
+DEFINE_CXX_PLUGIN("batch-size", batch_size_plugin);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:46:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:46:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3pH-0003D3-Iz; Thu, 31 May 2012 11:45:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa3pG-0003Cu-6h
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 11:45:58 +0000
Received: from [193.109.254.147:44759] by server-3.bemta-14.messagelabs.com id
	39/51-15022-5F957CF4; Thu, 31 May 2012 11:45:57 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1338464748!4511909!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14602 invoked from network); 31 May 2012 11:45:50 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 11:45:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26344899"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 07:45:47 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 07:45:47 -0400
Received: from qabil.uk.xensource.com ([10.80.2.76])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<david.vrabel@citrix.com>)	id 1Sa3NA-0001Ia-1V;
	Thu, 31 May 2012 12:16:56 +0100
MIME-Version: 1.0
X-Mercurial-Node: 5785d865fac359b38b31855c8abc39f46ac771d5
Message-ID: <5785d865fac359b38b31.1338462986@qabil.uk.xensource.com>
In-Reply-To: <patchbomb.1338462976@qabil.uk.xensource.com>
References: <patchbomb.1338462976@qabil.uk.xensource.com>
User-Agent: Mercurial-patchbomb/1.6.4
Date: Thu, 31 May 2012 12:16:26 +0100
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xensource.com
Cc: David Vrabel <david.vrabel@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [Xen-devel] [PATCH 10 of 10] xenalyze: add a batch-size plugin
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

The batch-size plugin produces a histogram of the different counts in
some of the hypercalls (multical and mmu_update).  This can be useful
to see if different guest kernels are less efficient at batching
hypercalls.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,7 @@ xenalyze_OBJS := \
 	mread.o \
 	plugin.o \
 	xenalyze.o \
+	plugins/batch-size.o \
 	plugins/skeleton.o
 
 dump-raw_OBJS := \
diff --git a/plugins/batch-size.cc b/plugins/batch-size.cc
new file mode 100644
--- /dev/null
+++ b/plugins/batch-size.cc
@@ -0,0 +1,73 @@
+/*
+ * Hypercall batch size xenalyze plugin.
+ *
+ * Copyright (C) 2012, Citrix Systems R&D Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This plugin produces a histogram of the batch sizes of some of the
+ * hypercalls. Specifically:
+ *
+ *   - number of calls in a multicall.
+ *   - number of updates in a mmu_update.
+ */
+#include <stdio.h>
+#include <map>
+
+#include "plugin.hh"
+#include "pv.h"
+#include "trace.h"
+
+class batch_size_plugin : xenalyze_plugin {
+public:
+    batch_size_plugin() {}
+    ~batch_size_plugin() {}
+
+    void process(const struct record_info *ri);
+    void summary();
+
+private:
+    std::map<int, int> multicall;
+    std::map<int, int> mmu_update;
+};
+
+void batch_size_plugin::process(const struct record_info *ri)
+{
+    uint32_t count;
+
+    if (ri->event == TRC_PV_HYPERCALL_V2) {
+        switch (pv_hypercall_op(ri)) {
+        case 1: /* mmu_update */
+            count = pv_hypercall_arg(ri, 1) & ~MMU_UPDATE_PREEMPTED;
+            mmu_update[count]++;
+            break;
+        case 13: /* multicall */
+            count = pv_hypercall_arg(ri, 1);
+            multicall[count]++;
+            break;
+        }
+    }
+}
+
+static void summarize(const char *name, std::map<int, int> &call)
+{
+    int calls = 0, batches = 0;
+
+    printf("  %s:\n    Size  Count\n", name);
+    for (auto i = call.begin(); i != call.end(); i++) {
+        printf("    %-4d  %d\n", i->first, i->second);
+        calls += i->first * i->second;
+        batches += i->second;
+    }
+    printf("    Average %.1f\n",  (double)calls / (double)batches);
+}
+
+void batch_size_plugin::summary()
+{
+    summarize("multicall", multicall);
+    summarize("mmu_update", mmu_update);
+}
+
+DEFINE_CXX_PLUGIN("batch-size", batch_size_plugin);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 11:49:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:49:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3sS-0003Lj-77; Thu, 31 May 2012 11:49:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa3sQ-0003LY-Hr
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:49:14 +0000
Received: from [85.158.139.83:21803] by server-3.bemta-5.messagelabs.com id
	66/9D-29112-9BA57CF4; Thu, 31 May 2012 11:49:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338464952!27395979!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22761 invoked from network); 31 May 2012 11:49:13 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 11:49:13 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 12:23:47 +0100
Message-Id: <4FC770E20200007800087298@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 12:23:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part6648E3D2.2__="
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part6648E3D2.2__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this to be done when the
number of grants intended to be used simultaneously exceeds a certain
driver specific default limit.

Change in v2: Double the number requested, as we need to account for
the allocations needing to happen in contiguous chunks. The worst case
number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
but in order to keep things simple just use 2 * max_req * max_seg.

Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
definition.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -537,6 +537,15 @@ static void blk_bh(void *opaque)
     blk_handle_requests(blkdev);
 }
=20
+/*
+ * We need to account for the grant allocations requiring contiguous
+ * chunks; the worst case number would be
+ *     max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
+ * but in order to keep things simple just use
+ *     2 * max_req * max_seg.
+ */
+#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * (max_seg))
+
 static void blk_alloc(struct XenDevice *xendev)
 {
     struct XenBlkDev *blkdev =3D container_of(xendev, struct XenBlkDev, =
xendev);
@@ -548,6 +557,11 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode !=3D XEN_EMULATE) {
         batch_maps =3D 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+            MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < =
0) {
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
+    }
 }
=20
 static int blk_init(struct XenDevice *xendev)




--=__Part6648E3D2.2__=
Content-Type: text/plain; name="qemu-xendisk-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-set-max-grants.patch"

qemu/xendisk: set maximum number of grants to be used=0A=0ALegacy =
(non-pvops) gntdev drivers may require this to be done when the=0Anumber =
of grants intended to be used simultaneously exceeds a certain=0Adriver =
specific default limit.=0A=0AChange in v2: Double the number requested, as =
we need to account for=0Athe allocations needing to happen in contiguous =
chunks. The worst case=0Anumber would be max_req * max_seg + (max_req - 1) =
* (max_seg - 1) + 1,=0Abut in order to keep things simple just use 2 * =
max_req * max_seg.=0A=0AChange in v3: introduce MAX_GRANTS(), and add a =
comment explaining its=0Adefinition.=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ =
-537,6 +537,15 @@ static void blk_bh(void *opaque)=0A     blk_handle_reques=
ts(blkdev);=0A }=0A =0A+/*=0A+ * We need to account for the grant =
allocations requiring contiguous=0A+ * chunks; the worst case number would =
be=0A+ *     max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,=0A+ * =
but in order to keep things simple just use=0A+ *     2 * max_req * =
max_seg.=0A+ */=0A+#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * =
(max_seg))=0A+=0A static void blk_alloc(struct XenDevice *xendev)=0A {=0A  =
   struct XenBlkDev *blkdev =3D container_of(xendev, struct XenBlkDev, =
xendev);=0A@@ -548,6 +557,11 @@ static void blk_alloc(struct XenDevice =
*=0A     if (xen_mode !=3D XEN_EMULATE) {=0A         batch_maps =3D 1;=0A  =
   }=0A+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,=0A+            =
MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < 0) {=0A+       =
 xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",=0A+     =
                 strerror(errno));=0A+    }=0A }=0A =0A static int =
blk_init(struct XenDevice *xendev)=0A
--=__Part6648E3D2.2__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part6648E3D2.2__=--


From xen-devel-bounces@lists.xen.org Thu May 31 11:49:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 11:49:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa3sS-0003Lj-77; Thu, 31 May 2012 11:49:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa3sQ-0003LY-Hr
	for xen-devel@lists.xen.org; Thu, 31 May 2012 11:49:14 +0000
Received: from [85.158.139.83:21803] by server-3.bemta-5.messagelabs.com id
	66/9D-29112-9BA57CF4; Thu, 31 May 2012 11:49:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338464952!27395979!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22761 invoked from network); 31 May 2012 11:49:13 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 11:49:13 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 12:23:47 +0100
Message-Id: <4FC770E20200007800087298@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 12:23:46 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>,<qemu-devel@nongnu.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part6648E3D2.2__="
Cc: Olaf Hering <olaf@aepfle.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part6648E3D2.2__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Legacy (non-pvops) gntdev drivers may require this to be done when the
number of grants intended to be used simultaneously exceeds a certain
driver specific default limit.

Change in v2: Double the number requested, as we need to account for
the allocations needing to happen in contiguous chunks. The worst case
number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
but in order to keep things simple just use 2 * max_req * max_seg.

Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
definition.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/hw/xen_disk.c
+++ b/hw/xen_disk.c
@@ -537,6 +537,15 @@ static void blk_bh(void *opaque)
     blk_handle_requests(blkdev);
 }
=20
+/*
+ * We need to account for the grant allocations requiring contiguous
+ * chunks; the worst case number would be
+ *     max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
+ * but in order to keep things simple just use
+ *     2 * max_req * max_seg.
+ */
+#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * (max_seg))
+
 static void blk_alloc(struct XenDevice *xendev)
 {
     struct XenBlkDev *blkdev =3D container_of(xendev, struct XenBlkDev, =
xendev);
@@ -548,6 +557,11 @@ static void blk_alloc(struct XenDevice *
     if (xen_mode !=3D XEN_EMULATE) {
         batch_maps =3D 1;
     }
+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+            MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < =
0) {
+        xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+                      strerror(errno));
+    }
 }
=20
 static int blk_init(struct XenDevice *xendev)




--=__Part6648E3D2.2__=
Content-Type: text/plain; name="qemu-xendisk-set-max-grants.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="qemu-xendisk-set-max-grants.patch"

qemu/xendisk: set maximum number of grants to be used=0A=0ALegacy =
(non-pvops) gntdev drivers may require this to be done when the=0Anumber =
of grants intended to be used simultaneously exceeds a certain=0Adriver =
specific default limit.=0A=0AChange in v2: Double the number requested, as =
we need to account for=0Athe allocations needing to happen in contiguous =
chunks. The worst case=0Anumber would be max_req * max_seg + (max_req - 1) =
* (max_seg - 1) + 1,=0Abut in order to keep things simple just use 2 * =
max_req * max_seg.=0A=0AChange in v3: introduce MAX_GRANTS(), and add a =
comment explaining its=0Adefinition.=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/hw/xen_disk.c=0A+++ b/hw/xen_disk.c=0A@@ =
-537,6 +537,15 @@ static void blk_bh(void *opaque)=0A     blk_handle_reques=
ts(blkdev);=0A }=0A =0A+/*=0A+ * We need to account for the grant =
allocations requiring contiguous=0A+ * chunks; the worst case number would =
be=0A+ *     max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,=0A+ * =
but in order to keep things simple just use=0A+ *     2 * max_req * =
max_seg.=0A+ */=0A+#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * =
(max_seg))=0A+=0A static void blk_alloc(struct XenDevice *xendev)=0A {=0A  =
   struct XenBlkDev *blkdev =3D container_of(xendev, struct XenBlkDev, =
xendev);=0A@@ -548,6 +557,11 @@ static void blk_alloc(struct XenDevice =
*=0A     if (xen_mode !=3D XEN_EMULATE) {=0A         batch_maps =3D 1;=0A  =
   }=0A+    if (xc_gnttab_set_max_grants(xendev->gnttabdev,=0A+            =
MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < 0) {=0A+       =
 xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",=0A+     =
                 strerror(errno));=0A+    }=0A }=0A =0A static int =
blk_init(struct XenDevice *xendev)=0A
--=__Part6648E3D2.2__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part6648E3D2.2__=--


From xen-devel-bounces@lists.xen.org Thu May 31 12:12:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Ea-0003zN-SJ; Thu, 31 May 2012 12:12:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4EZ-0003zB-Ni
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:07 +0000
Received: from [85.158.143.35:4784] by server-3.bemta-4.messagelabs.com id
	9D/9F-04252-61067CF4; Thu, 31 May 2012 12:12:06 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466319!18145685!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30195 invoked from network); 31 May 2012 12:12:00 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:00 -0000
Received: by werf3 with SMTP id f3so701347wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:11:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:message-id:user-agent:date:from:to:cc;
	bh=7r1tJsbCRh7Bmy6lYeBtlTCX/LHexaEVJdfZFtGnYbo=;
	b=dwtXhr79PyB6Ll+roUJ1HuzH8oVrcbvLRO6dXqgn+jL3dng7Lv8jh7E+wqewhCNRJk
	olASBnC4zalI6SHi38VcqY/ZvttS4R+hlg9TpnJiRYiXrI14Sup+/Mna7rct+/CuD3X2
	QYp+9yG0SjcbgeRUYw9Cm4liY092ZCKsz0uvWC6+Pui7tUmCc83P9sJ92XQvNeOcXpou
	u2R8FNyaJp9d+hgQPMDcFzSq7ggMTRBvzcpC2Vbe/wlEsPNeX1JueFMLxm515lsAz+wt
	c2LLDgodwmBY6khawpl2e1pOSXNKU5XK6/1ENuMuoC3IrICY2iEuU610wjaz2gRzmGJS
	qyKg==
Received: by 10.216.143.195 with SMTP id l45mr13842608wej.49.1338466319711;
	Thu, 31 May 2012 05:11:59 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.11.56
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:11:58 -0700 (PDT)
MIME-Version: 1.0
Message-Id: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:05 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 00 of 11] Automatic NUMA placement for xl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Everyone,

This posting follows the RFC subject-ed "Automatically place guest on host's
NUMA nodes with xl" (patchbomb.1334150267@Solace , 4/11/2012),

        _however_

the key bits have been pretty much rewritten, aiming at 4.2 inclusion. In fact,
automatic NUMA placement is something xm/xend does, and xl should include
something like that, for the sake of feature parity.  For the same reason, many
of the functionalities that were part of the RFC are being kept out (e.g., NUMA
aware scheduling in the hypervisor).

Of course, while at it, all the review comments the RFC got, which involved
patches that are part of this series too, have been considered and applied.

So, here it is, in some more details, what this is all about:

  1/11 libxc: abstract xenctl_cpumap to just xenctl_map
  2/11 libxl: abstract libxl_cpumap to just libxl_map
  3/11 libxc, libxl: introduce xc_nodemap_t and libxl_nodemap
  4/11 libxl: expand the libxl_{cpu,node}map API a bit
  5/11 libxl: add a new Array type to the IDL
  6/11 libxl: introduce libxl_get_numainfo()

Introduce the data structures, calls and infrastructure needed for retrieving
all the information about the NUMA-ness of the system and deal with them at the
toolstack level.

  7/11 xen: enhance dump_numa output
  8/11 xl: add more NUMA information to `xl info -n'

Are just output and debugging enhancements.

  9/11 libxl, xl: enable automatic placement of guests on NUMA nodes
 10/11 libxl, xl: heuristics for reordering NUMA placement candidates

Are where the automatic placement is really implemented. Searching for suitable
placement candidates and manipulating these candidates a bit is being done
within libxl, by adding a couple of API calls. This was not like this in the
previous version, but I really think it is something other toolstack wanting to
build on top of libxl could benefit of this, instead of re-implementing
everything from scratch. On the other hand, The key bits of the algorithm
(i.e., which candidate to chose, how, whether or not to mangle it a bit, etc.)
are implemented at the xl level.

 11/11 Some automatic NUMA placement documentation

Puts some more details about the implementation and the usage of the new
feature directly in the tree.

Thanks a lot and Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:28 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Ea-0003zN-SJ; Thu, 31 May 2012 12:12:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4EZ-0003zB-Ni
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:07 +0000
Received: from [85.158.143.35:4784] by server-3.bemta-4.messagelabs.com id
	9D/9F-04252-61067CF4; Thu, 31 May 2012 12:12:06 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466319!18145685!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30195 invoked from network); 31 May 2012 12:12:00 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:00 -0000
Received: by werf3 with SMTP id f3so701347wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:11:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:message-id:user-agent:date:from:to:cc;
	bh=7r1tJsbCRh7Bmy6lYeBtlTCX/LHexaEVJdfZFtGnYbo=;
	b=dwtXhr79PyB6Ll+roUJ1HuzH8oVrcbvLRO6dXqgn+jL3dng7Lv8jh7E+wqewhCNRJk
	olASBnC4zalI6SHi38VcqY/ZvttS4R+hlg9TpnJiRYiXrI14Sup+/Mna7rct+/CuD3X2
	QYp+9yG0SjcbgeRUYw9Cm4liY092ZCKsz0uvWC6+Pui7tUmCc83P9sJ92XQvNeOcXpou
	u2R8FNyaJp9d+hgQPMDcFzSq7ggMTRBvzcpC2Vbe/wlEsPNeX1JueFMLxm515lsAz+wt
	c2LLDgodwmBY6khawpl2e1pOSXNKU5XK6/1ENuMuoC3IrICY2iEuU610wjaz2gRzmGJS
	qyKg==
Received: by 10.216.143.195 with SMTP id l45mr13842608wej.49.1338466319711;
	Thu, 31 May 2012 05:11:59 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.11.56
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:11:58 -0700 (PDT)
MIME-Version: 1.0
Message-Id: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:05 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 00 of 11] Automatic NUMA placement for xl
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hello Everyone,

This posting follows the RFC subject-ed "Automatically place guest on host's
NUMA nodes with xl" (patchbomb.1334150267@Solace , 4/11/2012),

        _however_

the key bits have been pretty much rewritten, aiming at 4.2 inclusion. In fact,
automatic NUMA placement is something xm/xend does, and xl should include
something like that, for the sake of feature parity.  For the same reason, many
of the functionalities that were part of the RFC are being kept out (e.g., NUMA
aware scheduling in the hypervisor).

Of course, while at it, all the review comments the RFC got, which involved
patches that are part of this series too, have been considered and applied.

So, here it is, in some more details, what this is all about:

  1/11 libxc: abstract xenctl_cpumap to just xenctl_map
  2/11 libxl: abstract libxl_cpumap to just libxl_map
  3/11 libxc, libxl: introduce xc_nodemap_t and libxl_nodemap
  4/11 libxl: expand the libxl_{cpu,node}map API a bit
  5/11 libxl: add a new Array type to the IDL
  6/11 libxl: introduce libxl_get_numainfo()

Introduce the data structures, calls and infrastructure needed for retrieving
all the information about the NUMA-ness of the system and deal with them at the
toolstack level.

  7/11 xen: enhance dump_numa output
  8/11 xl: add more NUMA information to `xl info -n'

Are just output and debugging enhancements.

  9/11 libxl, xl: enable automatic placement of guests on NUMA nodes
 10/11 libxl, xl: heuristics for reordering NUMA placement candidates

Are where the automatic placement is really implemented. Searching for suitable
placement candidates and manipulating these candidates a bit is being done
within libxl, by adding a couple of API calls. This was not like this in the
previous version, but I really think it is something other toolstack wanting to
build on top of libxl could benefit of this, instead of re-implementing
everything from scratch. On the other hand, The key bits of the algorithm
(i.e., which candidate to chose, how, whether or not to mangle it a bit, etc.)
are implemented at the xl level.

 11/11 Some automatic NUMA placement documentation

Puts some more details about the implementation and the usage of the new
feature directly in the tree.

Thanks a lot and Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Ef-000401-Dx; Thu, 31 May 2012 12:12:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ed-0003ze-Nd
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:11 +0000
Received: from [85.158.138.51:5722] by server-2.bemta-3.messagelabs.com id
	AA/2C-17140-A1067CF4; Thu, 31 May 2012 12:12:10 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338466329!30145680!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5083 invoked from network); 31 May 2012 12:12:10 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:10 -0000
Received: by wibhr14 with SMTP id hr14so701413wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=R67Gyctj6H0buuR1P7iAk/RVPv/974rtgkH0lKNyTBM=;
	b=gDmzO6bXmmIsT1TgaWLqt0DyuPsWy5VdxqSxnqhp1PtaSPwRx4/vRdiuxM1cFDEg2U
	W9P5LzYFCAqtgwFeJrqCyZ2jLfNRLL5s5L2w7GyrVgUkotwstO4kDV2nvQ9pSsUdBmBN
	WAB7U/g12pE/A+poTenvo9eLMIqB0Ke/no7VIC/3iexq4u38xVBhXTptU5DYRiSJ2XBM
	Ly7ZeaQx+wPtdmHST2tFtc2r5RxpHqEo6MqxaaTxQdbRDEauJIkSLpM/WkDJ+GyVdSgY
	eu1ZDrZj6Br/6QQ3gqgjS17JAz6BpiwB0pfYjCGdWv2VZ48nkKa/z35HKIhszF+25+vh
	12nQ==
Received: by 10.216.142.167 with SMTP id i39mr12985339wej.94.1338466329423;
	Thu, 31 May 2012 05:12:09 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.07
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:08 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 2cc22366943347deab7796ee72467afbb2f667af
Message-Id: <2cc22366943347deab77.1338466269@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:09 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

By adding copying and *_is_full/*_is_empty facilities.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -505,6 +505,35 @@ static int libxl_map_alloc(libxl_ctx *ct
     return 0;
 }
 
+static void libxl_map_copy(struct libxl_map *dptr,
+                           const struct libxl_map *sptr)
+{
+    int sz;
+
+    sz = dptr->size = sptr->size;
+    memcpy(dptr->map, sptr->map, sz * sizeof(*dptr->map));
+}
+
+int libxl_map_is_full(struct libxl_map *map)
+{
+    int i;
+
+    for (i = 0; i < map->size; i++)
+        if (map->map[i] != (uint8_t)-1)
+            return -1;
+    return 0;
+}
+
+int libxl_map_is_empty(struct libxl_map *map)
+{
+    int i;
+
+    for (i = 0; i < map->size; i++)
+        if (map->map[i])
+            return -1;
+    return 0;
+}
+
 int libxl_map_test(struct libxl_map *map, int elem)
 {
     if (elem >= map->size * 8)
@@ -548,6 +577,18 @@ int libxl_nodemap_alloc(libxl_ctx *ctx, 
     return libxl_map_alloc(ctx, nodemap, max_nodes);
 }
 
+void libxl_cpumap_copy(/*XXX libxl_ctx *ctx,*/ libxl_cpumap *dst,
+                       const libxl_cpumap *src)
+{
+    libxl_map_copy(dst, src);
+}
+
+void libxl_nodemap_copy(/*XXX libxl_ctx *ctx,*/ libxl_nodemap *dst,
+                       const libxl_nodemap *src)
+{
+   libxl_map_copy(dst, src);
+}
+
 int libxl_get_max_cpus(libxl_ctx *ctx)
 {
     return xc_get_max_cpus(ctx->xch);
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -63,6 +63,8 @@ int libxl_devid_to_device_nic(libxl_ctx 
 int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
                                libxl_device_disk *disk);
 
+int libxl_map_is_full(struct libxl_map *map);
+int libxl_map_is_empty(struct libxl_map *map);
 int libxl_map_test(struct libxl_map *map, int elem);
 void libxl_map_set(struct libxl_map *map, int elem);
 void libxl_map_reset(struct libxl_map *map, int elem);
@@ -80,6 +82,16 @@ static inline int libxl_map_elem_valid(s
 }
 
 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+void libxl_cpumap_copy(/*XXX libxl_ctx *ctx, */ libxl_cpumap *dst,
+                       const libxl_cpumap *src);
+static inline int libxl_cpumap_is_full(libxl_cpumap *cpumap)
+{
+    return libxl_map_is_full(cpumap);
+}
+static inline int libxl_cpumap_is_empty(libxl_cpumap *cpumap)
+{
+    return libxl_map_is_empty(cpumap);
+}
 static inline int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
 {
     return libxl_map_test(cpumap, cpu);
@@ -109,6 +121,16 @@ static inline int libxl_cpumap_cpu_valid
                                              if (libxl_cpumap_test(&(m), v))
 
 int libxl_nodemap_alloc(libxl_ctx *ctx, libxl_nodemap *nodemap);
+void libxl_nodemap_copy(/*XXX libxl_ctx *ctx, */ libxl_nodemap *dst,
+                       const libxl_nodemap *src);
+static inline int libxl_nodemap_is_full(libxl_nodemap *nodemap)
+{
+    return libxl_map_is_full(nodemap);
+}
+static inline int libxl_nodemap_is_empty(libxl_nodemap *nodemap)
+{
+    return libxl_map_is_empty(nodemap);
+}
 static inline int libxl_nodemap_test(libxl_nodemap *nodemap, int node)
 {
     return libxl_map_test(nodemap, node);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Ef-000401-Dx; Thu, 31 May 2012 12:12:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ed-0003ze-Nd
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:11 +0000
Received: from [85.158.138.51:5722] by server-2.bemta-3.messagelabs.com id
	AA/2C-17140-A1067CF4; Thu, 31 May 2012 12:12:10 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338466329!30145680!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5083 invoked from network); 31 May 2012 12:12:10 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:10 -0000
Received: by wibhr14 with SMTP id hr14so701413wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=R67Gyctj6H0buuR1P7iAk/RVPv/974rtgkH0lKNyTBM=;
	b=gDmzO6bXmmIsT1TgaWLqt0DyuPsWy5VdxqSxnqhp1PtaSPwRx4/vRdiuxM1cFDEg2U
	W9P5LzYFCAqtgwFeJrqCyZ2jLfNRLL5s5L2w7GyrVgUkotwstO4kDV2nvQ9pSsUdBmBN
	WAB7U/g12pE/A+poTenvo9eLMIqB0Ke/no7VIC/3iexq4u38xVBhXTptU5DYRiSJ2XBM
	Ly7ZeaQx+wPtdmHST2tFtc2r5RxpHqEo6MqxaaTxQdbRDEauJIkSLpM/WkDJ+GyVdSgY
	eu1ZDrZj6Br/6QQ3gqgjS17JAz6BpiwB0pfYjCGdWv2VZ48nkKa/z35HKIhszF+25+vh
	12nQ==
Received: by 10.216.142.167 with SMTP id i39mr12985339wej.94.1338466329423;
	Thu, 31 May 2012 05:12:09 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.07
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:08 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 2cc22366943347deab7796ee72467afbb2f667af
Message-Id: <2cc22366943347deab77.1338466269@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:09 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

By adding copying and *_is_full/*_is_empty facilities.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -505,6 +505,35 @@ static int libxl_map_alloc(libxl_ctx *ct
     return 0;
 }
 
+static void libxl_map_copy(struct libxl_map *dptr,
+                           const struct libxl_map *sptr)
+{
+    int sz;
+
+    sz = dptr->size = sptr->size;
+    memcpy(dptr->map, sptr->map, sz * sizeof(*dptr->map));
+}
+
+int libxl_map_is_full(struct libxl_map *map)
+{
+    int i;
+
+    for (i = 0; i < map->size; i++)
+        if (map->map[i] != (uint8_t)-1)
+            return -1;
+    return 0;
+}
+
+int libxl_map_is_empty(struct libxl_map *map)
+{
+    int i;
+
+    for (i = 0; i < map->size; i++)
+        if (map->map[i])
+            return -1;
+    return 0;
+}
+
 int libxl_map_test(struct libxl_map *map, int elem)
 {
     if (elem >= map->size * 8)
@@ -548,6 +577,18 @@ int libxl_nodemap_alloc(libxl_ctx *ctx, 
     return libxl_map_alloc(ctx, nodemap, max_nodes);
 }
 
+void libxl_cpumap_copy(/*XXX libxl_ctx *ctx,*/ libxl_cpumap *dst,
+                       const libxl_cpumap *src)
+{
+    libxl_map_copy(dst, src);
+}
+
+void libxl_nodemap_copy(/*XXX libxl_ctx *ctx,*/ libxl_nodemap *dst,
+                       const libxl_nodemap *src)
+{
+   libxl_map_copy(dst, src);
+}
+
 int libxl_get_max_cpus(libxl_ctx *ctx)
 {
     return xc_get_max_cpus(ctx->xch);
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -63,6 +63,8 @@ int libxl_devid_to_device_nic(libxl_ctx 
 int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
                                libxl_device_disk *disk);
 
+int libxl_map_is_full(struct libxl_map *map);
+int libxl_map_is_empty(struct libxl_map *map);
 int libxl_map_test(struct libxl_map *map, int elem);
 void libxl_map_set(struct libxl_map *map, int elem);
 void libxl_map_reset(struct libxl_map *map, int elem);
@@ -80,6 +82,16 @@ static inline int libxl_map_elem_valid(s
 }
 
 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
+void libxl_cpumap_copy(/*XXX libxl_ctx *ctx, */ libxl_cpumap *dst,
+                       const libxl_cpumap *src);
+static inline int libxl_cpumap_is_full(libxl_cpumap *cpumap)
+{
+    return libxl_map_is_full(cpumap);
+}
+static inline int libxl_cpumap_is_empty(libxl_cpumap *cpumap)
+{
+    return libxl_map_is_empty(cpumap);
+}
 static inline int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
 {
     return libxl_map_test(cpumap, cpu);
@@ -109,6 +121,16 @@ static inline int libxl_cpumap_cpu_valid
                                              if (libxl_cpumap_test(&(m), v))
 
 int libxl_nodemap_alloc(libxl_ctx *ctx, libxl_nodemap *nodemap);
+void libxl_nodemap_copy(/*XXX libxl_ctx *ctx, */ libxl_nodemap *dst,
+                       const libxl_nodemap *src);
+static inline int libxl_nodemap_is_full(libxl_nodemap *nodemap)
+{
+    return libxl_map_is_full(nodemap);
+}
+static inline int libxl_nodemap_is_empty(libxl_nodemap *nodemap)
+{
+    return libxl_map_is_empty(nodemap);
+}
 static inline int libxl_nodemap_test(libxl_nodemap *nodemap, int node)
 {
     return libxl_map_test(nodemap, node);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4El-00041w-M1; Thu, 31 May 2012 12:12:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ej-00041J-OY
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:18 +0000
Received: from [85.158.143.35:41027] by server-2.bemta-4.messagelabs.com id
	F0/5C-11595-02067CF4; Thu, 31 May 2012 12:12:16 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466319!18145685!3
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31100 invoked from network); 31 May 2012 12:12:12 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:12 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701347wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=g750dpRG0/ZUm77067OmeKmcE6PtuZJ4NvemodMVctk=;
	b=L8zKWSRRsTWwycDrRXOWfcFc1MrrophpPimQVRbIgbetqWge2DRMJ4UnkTxfbpdh6n
	XyUx5XmOE/NM7IlglNPOwxAFcFqJsfRa+DDTZjaLb804RJCy/fIK5/R9g7iI3t4JVnl3
	tD1jsu4lW0tSll/X7iPTy5i6ybw5ZOA4mTi6G6ltqyIkPcr9LFokI/cvBNAKnjkDYisX
	NRRJZbQ0bmQFWHuRij2RziBYWcSUdgxnkeZnK6rvynAMYW7XGUVcIqWFY1x+eX/Fh/cL
	aB7zFQXmY8Sn6cTieZSEB7/TOaZego+7j1n99sbCVy0+J1GKSDV378DI7yAEbNeTgTqy
	bLfg==
Received: by 10.216.139.19 with SMTP id b19mr13887029wej.4.1338466332401;
	Thu, 31 May 2012 05:12:12 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.09
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:11 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 0233305f23816261bb494a40e35739714bed2562
Message-Id: <0233305f23816261bb49.1338466270@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:10 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 05 of 11] libxl: add a new Array type to the IDL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

And make all the required infrastructure updates to enable this.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Tested-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/gentest.py b/tools/libxl/gentest.py
--- a/tools/libxl/gentest.py
+++ b/tools/libxl/gentest.py
@@ -28,6 +28,18 @@ def gen_rand_init(ty, v, indent = "    "
     s = ""
     if isinstance(ty, idl.Enumeration):
         s += "%s = %s;\n" % (ty.pass_arg(v, parent is None), randomize_enum(ty))
+    elif isinstance(ty, idl.Array):
+        if parent is None:
+            raise Exception("Array type must have a parent")
+        s += "%s = rand()%%8;\n" % (parent + ty.lenvar.name)
+        s += "%s = calloc(%s, sizeof(*%s));\n" % \
+            (v, parent + ty.lenvar.name, v)
+        s += "{\n"
+        s += "    int i;\n"
+        s += "    for (i=0; i<%s; i++)\n" % (parent + ty.lenvar.name)
+        s += gen_rand_init(ty.elem_type, v+"[i]",
+                           indent + "        ", parent)
+        s += "}\n"
     elif isinstance(ty, idl.KeyedUnion):
         if parent is None:
             raise Exception("KeyedUnion type must have a parent")
diff --git a/tools/libxl/gentypes.py b/tools/libxl/gentypes.py
--- a/tools/libxl/gentypes.py
+++ b/tools/libxl/gentypes.py
@@ -11,8 +11,12 @@ def libxl_C_instance_of(ty, instancename
             return libxl_C_type_define(ty)
         else:
             return libxl_C_type_define(ty) + " " + instancename
-    else:
-        return ty.typename + " " + instancename
+
+    s = ""
+    if isinstance(ty, idl.Array):
+        s += libxl_C_instance_of(ty.lenvar.type, ty.lenvar.name) + ";\n"
+
+    return s + ty.typename + " " + instancename
 
 def libxl_C_type_define(ty, indent = ""):
     s = ""
@@ -66,6 +70,18 @@ def libxl_C_type_dispose(ty, v, indent =
             s += libxl_C_type_dispose(f.type, fexpr, indent + "    ", nparent)
             s += "    break;\n"
         s += "}\n"
+    elif isinstance(ty, idl.Array):
+        if parent is None:
+            raise Exception("Array type must have a parent")
+        s += "{\n"
+        if ty.elem_type.dispose_fn is not None:
+            s += "    int i;\n"
+            s += "    for (i=0; i<%s; i++)\n" % (parent + ty.lenvar.name)
+            s += libxl_C_type_dispose(ty.elem_type, v+"[i]",
+                                      indent + "        ", parent)
+        if ty.dispose_fn is not None:
+            s += "    %s(%s);\n" % (ty.dispose_fn, ty.pass_arg(v, parent is None))
+        s += "}\n"
     elif isinstance(ty, idl.Struct) and (parent is None or ty.dispose_fn is None):
         for f in [f for f in ty.fields if not f.const]:
             (nparent,fexpr) = ty.member(v, f, parent is None)
@@ -164,7 +180,24 @@ def libxl_C_type_gen_json(ty, v, indent 
     s = ""
     if parent is None:
         s += "yajl_gen_status s;\n"
-    if isinstance(ty, idl.Enumeration):
+
+    if isinstance(ty, idl.Array):
+        if parent is None:
+            raise Exception("Array type must have a parent")
+        s += "{\n"
+        s += "    int i;\n"
+        s += "    s = yajl_gen_array_open(hand);\n"
+        s += "    if (s != yajl_gen_status_ok)\n"
+        s += "        goto out;\n"
+        s += "    for (i=0; i<%s; i++) {\n" % (parent + ty.lenvar.name)
+        s += libxl_C_type_gen_json(ty.elem_type, v+"[i]",
+                                   indent + "        ", parent)
+        s += "    }\n"
+        s += "    s = yajl_gen_array_close(hand);\n"
+        s += "    if (s != yajl_gen_status_ok)\n"
+        s += "        goto out;\n"
+        s += "}\n"
+    elif isinstance(ty, idl.Enumeration):
         s += "s = libxl__yajl_gen_enum(hand, %s_to_string(%s));\n" % (ty.typename, ty.pass_arg(v, parent is None))
         s += "if (s != yajl_gen_status_ok)\n"
         s += "    goto out;\n"
diff --git a/tools/libxl/idl.py b/tools/libxl/idl.py
--- a/tools/libxl/idl.py
+++ b/tools/libxl/idl.py
@@ -266,6 +266,17 @@ string = Builtin("char *", namespace = N
                  json_fn = "libxl__string_gen_json",
                  autogenerate_json = False)
 
+class Array(Type):
+    """An array of the same type"""
+    def __init__(self, elem_type, lenvar_name, **kwargs):
+        kwargs.setdefault('dispose_fn', 'free')
+        Type.__init__(self, namespace=elem_type.namespace, typename=elem_type.rawname + " *", **kwargs)
+
+        lv_kwargs = dict([(x.lstrip('lenvar_'),y) for (x,y) in kwargs.items() if x.startswith('lenvar_')])
+
+        self.lenvar = Field(integer, lenvar_name, **lv_kwargs)
+        self.elem_type = elem_type
+
 class OrderedDict(dict):
     """A dictionary which remembers insertion order.
 
diff --git a/tools/libxl/idl.txt b/tools/libxl/idl.txt
--- a/tools/libxl/idl.txt
+++ b/tools/libxl/idl.txt
@@ -145,12 +145,24 @@ idl.KeyedUnion
 
  A subclass of idl.Aggregate which represents the C union type
  where the currently valid member of the union can be determined based
- upon another member in the containing type.
+ upon another member in the containing type. An idl.KeyedUnion must
+ always be a member of a containing idl.Aggregate type.
 
- The KeyedUnion.keyvar contains an idl.type the member of the
+ The KeyedUnion.keyvar contains an idl.Type the member of the
  containing type which determines the valid member of the union. The
  must be an instance of the Enumeration type.
 
+idl.Array
+
+  A class representing an array or similar elements. An idl.Array must
+  always be an idl.Field of a containing idl.Aggregate.
+
+  idl.Array.elem_type contains an idl.Type which is the type of all
+  elements of the array.
+
+  idl.Array.len_var contains an idl.Field which is added to the parent
+  idl.Aggregate and will contain the length of the array.
+
 Standard Types
 --------------
 
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -54,7 +54,8 @@ def ocaml_type_of(ty):
             return "int%d" % ty.width
         else:
             return "int"
-
+    elif isinstance(ty,idl.Array):
+        return "%s list" % ocaml_type_of(ty.elem_type)
     elif isinstance(ty,idl.Builtin):
         if not builtins.has_key(ty.typename):
             raise NotImplementedError("Unknown Builtin %s (%s)" % (ty.typename, type(ty)))
diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
--- a/tools/python/genwrap.py
+++ b/tools/python/genwrap.py
@@ -4,7 +4,7 @@ import sys,os
 
 import idl
 
-(TYPE_DEFBOOL, TYPE_BOOL, TYPE_INT, TYPE_UINT, TYPE_STRING, TYPE_AGGREGATE) = range(6)
+(TYPE_DEFBOOL, TYPE_BOOL, TYPE_INT, TYPE_UINT, TYPE_STRING, TYPE_ARRAY, TYPE_AGGREGATE) = range(7)
 
 def py_type(ty):
     if ty == idl.bool:
@@ -18,6 +18,8 @@ def py_type(ty):
             return TYPE_INT
         else:
             return TYPE_UINT
+    if isinstance(ty, idl.Array):
+        return TYPE_ARRAY
     if isinstance(ty, idl.Aggregate):
         return TYPE_AGGREGATE
     if ty == idl.string:
@@ -74,7 +76,7 @@ def py_attrib_get(ty, f):
         l.append('    return genwrap__ull_get(self->obj.%s);'%f.name)
     elif t == TYPE_STRING:
         l.append('    return genwrap__string_get(&self->obj.%s);'%f.name)
-    elif t == TYPE_AGGREGATE:
+    elif t == TYPE_AGGREGATE or t == TYPE_ARRAY:
         l.append('    PyErr_SetString(PyExc_NotImplementedError, "Getting %s");'%ty.typename)
         l.append('    return NULL;')
     else:
@@ -105,7 +107,7 @@ def py_attrib_set(ty, f):
         l.append('    return ret;')
     elif t == TYPE_STRING:
         l.append('    return genwrap__string_set(v, &self->obj.%s);'%f.name)
-    elif t == TYPE_AGGREGATE:
+    elif t == TYPE_AGGREGATE or t == TYPE_ARRAY:
         l.append('    PyErr_SetString(PyExc_NotImplementedError, "Setting %s");'%ty.typename)
         l.append('    return -1;')
     else:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4El-00041w-M1; Thu, 31 May 2012 12:12:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ej-00041J-OY
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:18 +0000
Received: from [85.158.143.35:41027] by server-2.bemta-4.messagelabs.com id
	F0/5C-11595-02067CF4; Thu, 31 May 2012 12:12:16 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466319!18145685!3
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31100 invoked from network); 31 May 2012 12:12:12 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:12 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701347wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=g750dpRG0/ZUm77067OmeKmcE6PtuZJ4NvemodMVctk=;
	b=L8zKWSRRsTWwycDrRXOWfcFc1MrrophpPimQVRbIgbetqWge2DRMJ4UnkTxfbpdh6n
	XyUx5XmOE/NM7IlglNPOwxAFcFqJsfRa+DDTZjaLb804RJCy/fIK5/R9g7iI3t4JVnl3
	tD1jsu4lW0tSll/X7iPTy5i6ybw5ZOA4mTi6G6ltqyIkPcr9LFokI/cvBNAKnjkDYisX
	NRRJZbQ0bmQFWHuRij2RziBYWcSUdgxnkeZnK6rvynAMYW7XGUVcIqWFY1x+eX/Fh/cL
	aB7zFQXmY8Sn6cTieZSEB7/TOaZego+7j1n99sbCVy0+J1GKSDV378DI7yAEbNeTgTqy
	bLfg==
Received: by 10.216.139.19 with SMTP id b19mr13887029wej.4.1338466332401;
	Thu, 31 May 2012 05:12:12 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.09
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:11 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 0233305f23816261bb494a40e35739714bed2562
Message-Id: <0233305f23816261bb49.1338466270@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:10 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 05 of 11] libxl: add a new Array type to the IDL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

And make all the required infrastructure updates to enable this.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Tested-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/gentest.py b/tools/libxl/gentest.py
--- a/tools/libxl/gentest.py
+++ b/tools/libxl/gentest.py
@@ -28,6 +28,18 @@ def gen_rand_init(ty, v, indent = "    "
     s = ""
     if isinstance(ty, idl.Enumeration):
         s += "%s = %s;\n" % (ty.pass_arg(v, parent is None), randomize_enum(ty))
+    elif isinstance(ty, idl.Array):
+        if parent is None:
+            raise Exception("Array type must have a parent")
+        s += "%s = rand()%%8;\n" % (parent + ty.lenvar.name)
+        s += "%s = calloc(%s, sizeof(*%s));\n" % \
+            (v, parent + ty.lenvar.name, v)
+        s += "{\n"
+        s += "    int i;\n"
+        s += "    for (i=0; i<%s; i++)\n" % (parent + ty.lenvar.name)
+        s += gen_rand_init(ty.elem_type, v+"[i]",
+                           indent + "        ", parent)
+        s += "}\n"
     elif isinstance(ty, idl.KeyedUnion):
         if parent is None:
             raise Exception("KeyedUnion type must have a parent")
diff --git a/tools/libxl/gentypes.py b/tools/libxl/gentypes.py
--- a/tools/libxl/gentypes.py
+++ b/tools/libxl/gentypes.py
@@ -11,8 +11,12 @@ def libxl_C_instance_of(ty, instancename
             return libxl_C_type_define(ty)
         else:
             return libxl_C_type_define(ty) + " " + instancename
-    else:
-        return ty.typename + " " + instancename
+
+    s = ""
+    if isinstance(ty, idl.Array):
+        s += libxl_C_instance_of(ty.lenvar.type, ty.lenvar.name) + ";\n"
+
+    return s + ty.typename + " " + instancename
 
 def libxl_C_type_define(ty, indent = ""):
     s = ""
@@ -66,6 +70,18 @@ def libxl_C_type_dispose(ty, v, indent =
             s += libxl_C_type_dispose(f.type, fexpr, indent + "    ", nparent)
             s += "    break;\n"
         s += "}\n"
+    elif isinstance(ty, idl.Array):
+        if parent is None:
+            raise Exception("Array type must have a parent")
+        s += "{\n"
+        if ty.elem_type.dispose_fn is not None:
+            s += "    int i;\n"
+            s += "    for (i=0; i<%s; i++)\n" % (parent + ty.lenvar.name)
+            s += libxl_C_type_dispose(ty.elem_type, v+"[i]",
+                                      indent + "        ", parent)
+        if ty.dispose_fn is not None:
+            s += "    %s(%s);\n" % (ty.dispose_fn, ty.pass_arg(v, parent is None))
+        s += "}\n"
     elif isinstance(ty, idl.Struct) and (parent is None or ty.dispose_fn is None):
         for f in [f for f in ty.fields if not f.const]:
             (nparent,fexpr) = ty.member(v, f, parent is None)
@@ -164,7 +180,24 @@ def libxl_C_type_gen_json(ty, v, indent 
     s = ""
     if parent is None:
         s += "yajl_gen_status s;\n"
-    if isinstance(ty, idl.Enumeration):
+
+    if isinstance(ty, idl.Array):
+        if parent is None:
+            raise Exception("Array type must have a parent")
+        s += "{\n"
+        s += "    int i;\n"
+        s += "    s = yajl_gen_array_open(hand);\n"
+        s += "    if (s != yajl_gen_status_ok)\n"
+        s += "        goto out;\n"
+        s += "    for (i=0; i<%s; i++) {\n" % (parent + ty.lenvar.name)
+        s += libxl_C_type_gen_json(ty.elem_type, v+"[i]",
+                                   indent + "        ", parent)
+        s += "    }\n"
+        s += "    s = yajl_gen_array_close(hand);\n"
+        s += "    if (s != yajl_gen_status_ok)\n"
+        s += "        goto out;\n"
+        s += "}\n"
+    elif isinstance(ty, idl.Enumeration):
         s += "s = libxl__yajl_gen_enum(hand, %s_to_string(%s));\n" % (ty.typename, ty.pass_arg(v, parent is None))
         s += "if (s != yajl_gen_status_ok)\n"
         s += "    goto out;\n"
diff --git a/tools/libxl/idl.py b/tools/libxl/idl.py
--- a/tools/libxl/idl.py
+++ b/tools/libxl/idl.py
@@ -266,6 +266,17 @@ string = Builtin("char *", namespace = N
                  json_fn = "libxl__string_gen_json",
                  autogenerate_json = False)
 
+class Array(Type):
+    """An array of the same type"""
+    def __init__(self, elem_type, lenvar_name, **kwargs):
+        kwargs.setdefault('dispose_fn', 'free')
+        Type.__init__(self, namespace=elem_type.namespace, typename=elem_type.rawname + " *", **kwargs)
+
+        lv_kwargs = dict([(x.lstrip('lenvar_'),y) for (x,y) in kwargs.items() if x.startswith('lenvar_')])
+
+        self.lenvar = Field(integer, lenvar_name, **lv_kwargs)
+        self.elem_type = elem_type
+
 class OrderedDict(dict):
     """A dictionary which remembers insertion order.
 
diff --git a/tools/libxl/idl.txt b/tools/libxl/idl.txt
--- a/tools/libxl/idl.txt
+++ b/tools/libxl/idl.txt
@@ -145,12 +145,24 @@ idl.KeyedUnion
 
  A subclass of idl.Aggregate which represents the C union type
  where the currently valid member of the union can be determined based
- upon another member in the containing type.
+ upon another member in the containing type. An idl.KeyedUnion must
+ always be a member of a containing idl.Aggregate type.
 
- The KeyedUnion.keyvar contains an idl.type the member of the
+ The KeyedUnion.keyvar contains an idl.Type the member of the
  containing type which determines the valid member of the union. The
  must be an instance of the Enumeration type.
 
+idl.Array
+
+  A class representing an array or similar elements. An idl.Array must
+  always be an idl.Field of a containing idl.Aggregate.
+
+  idl.Array.elem_type contains an idl.Type which is the type of all
+  elements of the array.
+
+  idl.Array.len_var contains an idl.Field which is added to the parent
+  idl.Aggregate and will contain the length of the array.
+
 Standard Types
 --------------
 
diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -54,7 +54,8 @@ def ocaml_type_of(ty):
             return "int%d" % ty.width
         else:
             return "int"
-
+    elif isinstance(ty,idl.Array):
+        return "%s list" % ocaml_type_of(ty.elem_type)
     elif isinstance(ty,idl.Builtin):
         if not builtins.has_key(ty.typename):
             raise NotImplementedError("Unknown Builtin %s (%s)" % (ty.typename, type(ty)))
diff --git a/tools/python/genwrap.py b/tools/python/genwrap.py
--- a/tools/python/genwrap.py
+++ b/tools/python/genwrap.py
@@ -4,7 +4,7 @@ import sys,os
 
 import idl
 
-(TYPE_DEFBOOL, TYPE_BOOL, TYPE_INT, TYPE_UINT, TYPE_STRING, TYPE_AGGREGATE) = range(6)
+(TYPE_DEFBOOL, TYPE_BOOL, TYPE_INT, TYPE_UINT, TYPE_STRING, TYPE_ARRAY, TYPE_AGGREGATE) = range(7)
 
 def py_type(ty):
     if ty == idl.bool:
@@ -18,6 +18,8 @@ def py_type(ty):
             return TYPE_INT
         else:
             return TYPE_UINT
+    if isinstance(ty, idl.Array):
+        return TYPE_ARRAY
     if isinstance(ty, idl.Aggregate):
         return TYPE_AGGREGATE
     if ty == idl.string:
@@ -74,7 +76,7 @@ def py_attrib_get(ty, f):
         l.append('    return genwrap__ull_get(self->obj.%s);'%f.name)
     elif t == TYPE_STRING:
         l.append('    return genwrap__string_get(&self->obj.%s);'%f.name)
-    elif t == TYPE_AGGREGATE:
+    elif t == TYPE_AGGREGATE or t == TYPE_ARRAY:
         l.append('    PyErr_SetString(PyExc_NotImplementedError, "Getting %s");'%ty.typename)
         l.append('    return NULL;')
     else:
@@ -105,7 +107,7 @@ def py_attrib_set(ty, f):
         l.append('    return ret;')
     elif t == TYPE_STRING:
         l.append('    return genwrap__string_set(v, &self->obj.%s);'%f.name)
-    elif t == TYPE_AGGREGATE:
+    elif t == TYPE_AGGREGATE or t == TYPE_ARRAY:
         l.append('    PyErr_SetString(PyExc_NotImplementedError, "Setting %s");'%ty.typename)
         l.append('    return -1;')
     else:

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eg-00040Z-Sg; Thu, 31 May 2012 12:12:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ee-0003zu-TM
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:13 +0000
Received: from [193.109.254.147:26377] by server-1.bemta-14.messagelabs.com id
	3A/DF-07411-C1067CF4; Thu, 31 May 2012 12:12:12 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338466322!11328188!2
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24439 invoked from network); 31 May 2012 12:12:09 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:09 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701379wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=bzlLHso8CsWDtfYReejGQ4VRBAB/Zl8RpQLkpALnEfQ=;
	b=lrxXazjlWmZMgXE4ffUJtzDenibm6Dxnhhqm1BuJsgnapvOMhmVf64RnsNi3YZPq4k
	leOrHvzOzqVKvcmofMBfUEFeNyabI//YIYVpz9iyMYF4x/56GzYsCnp51teSmCHLfWmh
	B9OCAFy0PL/XEUspPU0AieHrG6jLFWsB2uDyd7FgQNJhtRcuDOVZBAXbrZehfoD95M24
	syJRuPG4OgFx2ile/fkCJMqJqThKNjx4ZWE2hfKPrksRyxiLdEb9f+HqQjo8BdY5zcHk
	WmWI3z+lvPkiTnVXKWJ6xJ3C8EFMTbjVq5wILTmobnybDtzEcC/OzPzL4tXY9vCxSkRi
	GTEQ==
Received: by 10.216.141.15 with SMTP id f15mr1490960wej.82.1338466324708;
	Thu, 31 May 2012 05:12:04 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.02
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:03 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 82ac47424d0a8888d7025222128f60b7ce771069
Message-Id: <82ac47424d0a8888d702.1338466267@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:07 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 02 of 11] libxl: abstract libxl_cpumap to just
	libxl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

More specifically:
 1. introduces struct libxl_map;
 2. re-implement libxl_cpumap_* on top of struct libxl_map_*;

No functional nor interface changes at all.

This is in preparation of the introduction of NUMA nodes maps.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.eu.com>

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -282,11 +282,17 @@ typedef uint32_t libxl_hwcap[8];
 
 typedef uint64_t libxl_ev_user;
 
-typedef struct {
+struct libxl_map {
     uint32_t size;          /* number of bytes in map */
     uint8_t *map;
-} libxl_cpumap;
-void libxl_cpumap_dispose(libxl_cpumap *map);
+};
+void libxl_map_dispose(struct libxl_map *map);
+
+typedef struct libxl_map libxl_cpumap;
+static inline void libxl_cpumap_dispose(libxl_cpumap *cpumap)
+{
+    return libxl_map_dispose(cpumap);
+}
 
 typedef struct {
     /*
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -488,47 +488,53 @@ int libxl_mac_to_device_nic(libxl_ctx *c
     return rc;
 }
 
+void libxl_map_dispose(struct libxl_map *map)
+{
+    free(map->map);
+}
+
+static int libxl_map_alloc(libxl_ctx *ctx, struct libxl_map *map, int n_elems)
+{
+    int sz;
+
+    sz = (n_elems + 7) / 8;
+    map->map = calloc(sz, sizeof(*map->map));
+    if (!map->map)
+        return ERROR_NOMEM;
+    map->size = sz;
+    return 0;
+}
+
+int libxl_map_test(struct libxl_map *map, int elem)
+{
+    if (elem >= map->size * 8)
+        return 0;
+    return (map->map[elem / 8] & (1 << (elem & 7))) ? 1 : 0;
+}
+
+void libxl_map_set(struct libxl_map *map, int elem)
+{
+    if (elem >= map->size * 8)
+        return;
+    map->map[elem / 8] |= 1 << (elem & 7);
+}
+
+void libxl_map_reset(struct libxl_map *map, int elem)
+{
+    if (elem >= map->size * 8)
+        return;
+    map->map[elem / 8] &= ~(1 << (elem & 7));
+}
+
 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int max_cpus;
-    int sz;
 
     max_cpus = libxl_get_max_cpus(ctx);
     if (max_cpus == 0)
         return ERROR_FAIL;
 
-    sz = (max_cpus + 7) / 8;
-    cpumap->map = calloc(sz, sizeof(*cpumap->map));
-    if (!cpumap->map)
-        return ERROR_NOMEM;
-    cpumap->size = sz;
-    return 0;
-}
-
-void libxl_cpumap_dispose(libxl_cpumap *map)
-{
-    free(map->map);
-}
-
-int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
-{
-    if (cpu >= cpumap->size * 8)
-        return 0;
-    return (cpumap->map[cpu / 8] & (1 << (cpu & 7))) ? 1 : 0;
-}
-
-void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
-{
-    if (cpu >= cpumap->size * 8)
-        return;
-    cpumap->map[cpu / 8] |= 1 << (cpu & 7);
-}
-
-void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu)
-{
-    if (cpu >= cpumap->size * 8)
-        return;
-    cpumap->map[cpu / 8] &= ~(1 << (cpu & 7));
+    return libxl_map_alloc(ctx, cpumap, max_cpus);
 }
 
 int libxl_get_max_cpus(libxl_ctx *ctx)
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -63,21 +63,46 @@ int libxl_devid_to_device_nic(libxl_ctx 
 int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
                                libxl_device_disk *disk);
 
+int libxl_map_test(struct libxl_map *map, int elem);
+void libxl_map_set(struct libxl_map *map, int elem);
+void libxl_map_reset(struct libxl_map *map, int elem);
+static inline void libxl_map_set_any(struct libxl_map *map)
+{
+    memset(map->map, -1, map->size);
+}
+static inline void libxl_map_set_none(struct libxl_map *map)
+{
+    memset(map->map, 0, map->size);
+}
+static inline int libxl_map_elem_valid(struct libxl_map *map, int elem)
+{
+    return elem >= 0 && elem < (map->size * 8);
+}
+
 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
-int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
-void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
-void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
+static inline int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
+{
+    return libxl_map_test(cpumap, cpu);
+}
+static inline void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
+{
+    libxl_map_set(cpumap, cpu);
+}
+static inline void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu)
+{
+    libxl_map_reset(cpumap, cpu);
+}
 static inline void libxl_cpumap_set_any(libxl_cpumap *cpumap)
 {
-    memset(cpumap->map, -1, cpumap->size);
+    libxl_map_set_any(cpumap);
 }
 static inline void libxl_cpumap_set_none(libxl_cpumap *cpumap)
 {
-    memset(cpumap->map, 0, cpumap->size);
+    libxl_map_set_none(cpumap);
 }
 static inline int libxl_cpumap_cpu_valid(libxl_cpumap *cpumap, int cpu)
 {
-    return cpu >= 0 && cpu < (cpumap->size * 8);
+    return libxl_map_elem_valid(cpumap, cpu);
 }
 #define libxl_for_each_cpu(var, map) for (var = 0; var < (map).size * 8; var++)
 #define libxl_for_each_set_cpu(v, m) for (v = 0; v < (m).size * 8; v++) \

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:29 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eg-00040Z-Sg; Thu, 31 May 2012 12:12:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ee-0003zu-TM
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:13 +0000
Received: from [193.109.254.147:26377] by server-1.bemta-14.messagelabs.com id
	3A/DF-07411-C1067CF4; Thu, 31 May 2012 12:12:12 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338466322!11328188!2
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24439 invoked from network); 31 May 2012 12:12:09 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:09 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701379wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=bzlLHso8CsWDtfYReejGQ4VRBAB/Zl8RpQLkpALnEfQ=;
	b=lrxXazjlWmZMgXE4ffUJtzDenibm6Dxnhhqm1BuJsgnapvOMhmVf64RnsNi3YZPq4k
	leOrHvzOzqVKvcmofMBfUEFeNyabI//YIYVpz9iyMYF4x/56GzYsCnp51teSmCHLfWmh
	B9OCAFy0PL/XEUspPU0AieHrG6jLFWsB2uDyd7FgQNJhtRcuDOVZBAXbrZehfoD95M24
	syJRuPG4OgFx2ile/fkCJMqJqThKNjx4ZWE2hfKPrksRyxiLdEb9f+HqQjo8BdY5zcHk
	WmWI3z+lvPkiTnVXKWJ6xJ3C8EFMTbjVq5wILTmobnybDtzEcC/OzPzL4tXY9vCxSkRi
	GTEQ==
Received: by 10.216.141.15 with SMTP id f15mr1490960wej.82.1338466324708;
	Thu, 31 May 2012 05:12:04 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.02
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:03 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 82ac47424d0a8888d7025222128f60b7ce771069
Message-Id: <82ac47424d0a8888d702.1338466267@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:07 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 02 of 11] libxl: abstract libxl_cpumap to just
	libxl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

More specifically:
 1. introduces struct libxl_map;
 2. re-implement libxl_cpumap_* on top of struct libxl_map_*;

No functional nor interface changes at all.

This is in preparation of the introduction of NUMA nodes maps.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.eu.com>

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -282,11 +282,17 @@ typedef uint32_t libxl_hwcap[8];
 
 typedef uint64_t libxl_ev_user;
 
-typedef struct {
+struct libxl_map {
     uint32_t size;          /* number of bytes in map */
     uint8_t *map;
-} libxl_cpumap;
-void libxl_cpumap_dispose(libxl_cpumap *map);
+};
+void libxl_map_dispose(struct libxl_map *map);
+
+typedef struct libxl_map libxl_cpumap;
+static inline void libxl_cpumap_dispose(libxl_cpumap *cpumap)
+{
+    return libxl_map_dispose(cpumap);
+}
 
 typedef struct {
     /*
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -488,47 +488,53 @@ int libxl_mac_to_device_nic(libxl_ctx *c
     return rc;
 }
 
+void libxl_map_dispose(struct libxl_map *map)
+{
+    free(map->map);
+}
+
+static int libxl_map_alloc(libxl_ctx *ctx, struct libxl_map *map, int n_elems)
+{
+    int sz;
+
+    sz = (n_elems + 7) / 8;
+    map->map = calloc(sz, sizeof(*map->map));
+    if (!map->map)
+        return ERROR_NOMEM;
+    map->size = sz;
+    return 0;
+}
+
+int libxl_map_test(struct libxl_map *map, int elem)
+{
+    if (elem >= map->size * 8)
+        return 0;
+    return (map->map[elem / 8] & (1 << (elem & 7))) ? 1 : 0;
+}
+
+void libxl_map_set(struct libxl_map *map, int elem)
+{
+    if (elem >= map->size * 8)
+        return;
+    map->map[elem / 8] |= 1 << (elem & 7);
+}
+
+void libxl_map_reset(struct libxl_map *map, int elem)
+{
+    if (elem >= map->size * 8)
+        return;
+    map->map[elem / 8] &= ~(1 << (elem & 7));
+}
+
 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap)
 {
     int max_cpus;
-    int sz;
 
     max_cpus = libxl_get_max_cpus(ctx);
     if (max_cpus == 0)
         return ERROR_FAIL;
 
-    sz = (max_cpus + 7) / 8;
-    cpumap->map = calloc(sz, sizeof(*cpumap->map));
-    if (!cpumap->map)
-        return ERROR_NOMEM;
-    cpumap->size = sz;
-    return 0;
-}
-
-void libxl_cpumap_dispose(libxl_cpumap *map)
-{
-    free(map->map);
-}
-
-int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
-{
-    if (cpu >= cpumap->size * 8)
-        return 0;
-    return (cpumap->map[cpu / 8] & (1 << (cpu & 7))) ? 1 : 0;
-}
-
-void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
-{
-    if (cpu >= cpumap->size * 8)
-        return;
-    cpumap->map[cpu / 8] |= 1 << (cpu & 7);
-}
-
-void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu)
-{
-    if (cpu >= cpumap->size * 8)
-        return;
-    cpumap->map[cpu / 8] &= ~(1 << (cpu & 7));
+    return libxl_map_alloc(ctx, cpumap, max_cpus);
 }
 
 int libxl_get_max_cpus(libxl_ctx *ctx)
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -63,21 +63,46 @@ int libxl_devid_to_device_nic(libxl_ctx 
 int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
                                libxl_device_disk *disk);
 
+int libxl_map_test(struct libxl_map *map, int elem);
+void libxl_map_set(struct libxl_map *map, int elem);
+void libxl_map_reset(struct libxl_map *map, int elem);
+static inline void libxl_map_set_any(struct libxl_map *map)
+{
+    memset(map->map, -1, map->size);
+}
+static inline void libxl_map_set_none(struct libxl_map *map)
+{
+    memset(map->map, 0, map->size);
+}
+static inline int libxl_map_elem_valid(struct libxl_map *map, int elem)
+{
+    return elem >= 0 && elem < (map->size * 8);
+}
+
 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
-int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
-void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
-void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
+static inline int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
+{
+    return libxl_map_test(cpumap, cpu);
+}
+static inline void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
+{
+    libxl_map_set(cpumap, cpu);
+}
+static inline void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu)
+{
+    libxl_map_reset(cpumap, cpu);
+}
 static inline void libxl_cpumap_set_any(libxl_cpumap *cpumap)
 {
-    memset(cpumap->map, -1, cpumap->size);
+    libxl_map_set_any(cpumap);
 }
 static inline void libxl_cpumap_set_none(libxl_cpumap *cpumap)
 {
-    memset(cpumap->map, 0, cpumap->size);
+    libxl_map_set_none(cpumap);
 }
 static inline int libxl_cpumap_cpu_valid(libxl_cpumap *cpumap, int cpu)
 {
-    return cpu >= 0 && cpu < (cpumap->size * 8);
+    return libxl_map_elem_valid(cpumap, cpu);
 }
 #define libxl_for_each_cpu(var, map) for (var = 0; var < (map).size * 8; var++)
 #define libxl_for_each_set_cpu(v, m) for (v = 0; v < (m).size * 8; v++) \

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eg-00040E-9t; Thu, 31 May 2012 12:12:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ed-0003zh-R4
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:12 +0000
Received: from [85.158.143.35:5163] by server-1.bemta-4.messagelabs.com id
	22/96-27869-A1067CF4; Thu, 31 May 2012 12:12:10 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466319!18145685!2
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30753 invoked from network); 31 May 2012 12:12:07 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:07 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701347wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=B9rdmOiaMBK9+goH/tFjVmAwybdamgnWMKzaQMxlGzU=;
	b=KHglz3mATN5HSxZ7rNhMTQIu2QzWZT6iOfkO4A24uFCrSzQH9Pfg+bWAIccQhq8AUc
	gfC9u6KaWIusPVDaSRlEw5xJ7imqhJ0+IS+Oyjtt7UdcZrmw/vkeUp7XBK1g9CcYZmtj
	7r0qiDCGzrQEY5RS51CfMGnnP6GFOqikgXZwtw92u4Eopa+RPOy2ntde9m+YB+vXTITN
	eqZmVyxr5jJQBaBXPTyZsqYbNQuhD/efKiaV14P0tl3nEKtFWDTFu/tytypwPuXe5B4H
	5kScQD+D6tl3YcPYH8Kq5naAAjT82HxBcgNbTNVuUpvcWHnFzDZO+qXLg7IMcWV9Hfih
	Gc6A==
Received: by 10.216.198.23 with SMTP id u23mr3966118wen.195.1338466327123;
	Thu, 31 May 2012 05:12:07 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.04
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:06 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 7d16724e5eced09864543a152845fa468b8d9abf
Message-Id: <7d16724e5eced0986454.1338466268@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:08 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.

This is in preparation of making it possible to manipulate
NUMA nodes from the toolstack(s).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
--- a/tools/libxc/xc_misc.c
+++ b/tools/libxc/xc_misc.c
@@ -35,11 +35,30 @@ int xc_get_max_cpus(xc_interface *xch)
     return max_cpus;
 }
 
+int xc_get_max_nodes(xc_interface *xch)
+{
+    static int max_nodes = 0;
+    xc_physinfo_t physinfo;
+
+    if ( max_nodes )
+        return max_nodes;
+
+    if ( !xc_physinfo(xch, &physinfo) )
+        max_nodes = physinfo.max_node_id + 1;
+
+    return max_nodes;
+}
+
 int xc_get_cpumap_size(xc_interface *xch)
 {
     return (xc_get_max_cpus(xch) + 7) / 8;
 }
 
+int xc_get_nodemap_size(xc_interface *xch)
+{
+    return (xc_get_max_nodes(xch) + 7) / 8;
+}
+
 xc_cpumap_t xc_cpumap_alloc(xc_interface *xch)
 {
     int sz;
@@ -50,6 +69,16 @@ xc_cpumap_t xc_cpumap_alloc(xc_interface
     return calloc(1, sz);
 }
 
+xc_nodemap_t xc_nodemap_alloc(xc_interface *xch)
+{
+    int sz;
+
+    sz = xc_get_nodemap_size(xch);
+    if (sz == 0)
+        return NULL;
+    return calloc(1, sz);
+}
+
 int xc_readconsolering(xc_interface *xch,
                        char *buffer,
                        unsigned int *pnr_chars,
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -330,6 +330,20 @@ int xc_get_cpumap_size(xc_interface *xch
 xc_cpumap_t xc_cpumap_alloc(xc_interface *xch);
 
 /*
+ * NODEMAP handling
+ */
+typedef uint8_t *xc_nodemap_t;
+
+/* return maximum number of NUMA nodes the hypervisor supports */
+int xc_get_max_nodes(xc_interface *xch);
+
+/* return array size for nodemap */
+int xc_get_nodemap_size(xc_interface *xch);
+
+/* allocate a nodemap */
+xc_nodemap_t xc_nodemap_alloc(xc_interface *xch);
+
+/*
  * DOMAIN DEBUGGING FUNCTIONS
  */
 
diff --git a/tools/libxl/gentest.py b/tools/libxl/gentest.py
--- a/tools/libxl/gentest.py
+++ b/tools/libxl/gentest.py
@@ -20,7 +20,7 @@ def randomize_case(s):
 def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
-handcoded = ["libxl_cpumap", "libxl_key_value_list",
+handcoded = ["libxl_cpumap", "libxl_nodemap", "libxl_key_value_list",
              "libxl_cpuid_policy_list", "libxl_file_reference",
              "libxl_string_list"]
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -294,6 +294,12 @@ static inline void libxl_cpumap_dispose(
     return libxl_map_dispose(cpumap);
 }
 
+typedef struct libxl_map libxl_nodemap;
+static inline void libxl_nodemap_dispose(libxl_nodemap *nodemap)
+{
+    return libxl_map_dispose(nodemap);
+}
+
 typedef struct {
     /*
      * Path is always set if the file reference is valid. However if
@@ -549,6 +555,9 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
+/* get max. number of NUMA nodes supported by hypervisor */
+int libxl_get_max_nodes(libxl_ctx *ctx);
+
 /*
  * Run the configured bootloader for a PV domain and update
  * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -11,6 +11,7 @@ libxl_domid = Builtin("domid", json_fn =
 libxl_uuid = Builtin("uuid", passby=PASS_BY_REFERENCE)
 libxl_mac = Builtin("mac", passby=PASS_BY_REFERENCE)
 libxl_cpumap = Builtin("cpumap", dispose_fn="libxl_cpumap_dispose", passby=PASS_BY_REFERENCE)
+libxl_nodemap = Builtin("nodemap", dispose_fn="libxl_nodemap_dispose", passby=PASS_BY_REFERENCE)
 libxl_cpuid_policy_list = Builtin("cpuid_policy_list", dispose_fn="libxl_cpuid_dispose", passby=PASS_BY_REFERENCE)
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -537,11 +537,27 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
     return libxl_map_alloc(ctx, cpumap, max_cpus);
 }
 
+int libxl_nodemap_alloc(libxl_ctx *ctx, libxl_nodemap *nodemap)
+{
+    int max_nodes;
+
+    max_nodes = libxl_get_max_nodes(ctx);
+    if (max_nodes == 0)
+        return ERROR_FAIL;
+
+    return libxl_map_alloc(ctx, nodemap, max_nodes);
+}
+
 int libxl_get_max_cpus(libxl_ctx *ctx)
 {
     return xc_get_max_cpus(ctx->xch);
 }
 
+int libxl_get_max_nodes(libxl_ctx *ctx)
+{
+    return xc_get_max_nodes(ctx->xch);
+}
+
 int libxl__enum_from_string(const libxl_enum_string_table *t,
                             const char *s, int *e)
 {
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -108,6 +108,35 @@ static inline int libxl_cpumap_cpu_valid
 #define libxl_for_each_set_cpu(v, m) for (v = 0; v < (m).size * 8; v++) \
                                              if (libxl_cpumap_test(&(m), v))
 
+int libxl_nodemap_alloc(libxl_ctx *ctx, libxl_nodemap *nodemap);
+static inline int libxl_nodemap_test(libxl_nodemap *nodemap, int node)
+{
+    return libxl_map_test(nodemap, node);
+}
+static inline void libxl_nodemap_set(libxl_nodemap *nodemap, int node)
+{
+    libxl_map_set(nodemap, node);
+}
+static inline void libxl_nodemap_reset(libxl_nodemap *nodemap, int node)
+{
+    libxl_map_reset(nodemap, node);
+}
+static inline void libxl_nodemap_set_any(libxl_nodemap *nodemap)
+{
+    libxl_map_set_any(nodemap);
+}
+static inline void libxl_nodemap_set_none(libxl_nodemap *nodemap)
+{
+    libxl_map_set_none(nodemap);
+}
+static inline int libxl_nodemap_node_valid(libxl_nodemap *nodemap, int node)
+{
+    return libxl_map_elem_valid(nodemap, node);
+}
+#define libxl_for_each_node(var, map) for (var = 0; var < (map).size * 8; var++)
+#define libxl_for_each_set_node(v, m) for (v = 0; v < (m).size * 8; v++) \
+                                              if (libxl_nodemap_test(&(m), v))
+
 static inline uint32_t libxl__sizekb_to_mb(uint32_t s) {
     return (s + 1023) / 1024;
 }
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -116,6 +116,21 @@ int xenctl_map_to_cpumask(cpumask_var_t 
     return err;
 }
 
+int nodemask_to_xenctl_map(struct xenctl_map *xenctl_nodemap,
+                           const nodemask_t *nodemask)
+{
+    return bitmap_to_xenctl_map(xenctl_nodemap, cpumask_bits(nodemask),
+                                MAX_NUMNODES);
+}
+
+int xenctl_map_to_nodemask(nodemask_t *nodemask,
+                               const struct xenctl_map *xenctl_nodemap)
+{
+    return xenctl_map_to_bitmap(nodes_addr(*nodemask),
+                                xenctl_nodemap,
+                                MAX_NUMNODES);
+}
+
 static inline int is_free_domid(domid_t dom)
 {
     struct domain *d;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eg-00040E-9t; Thu, 31 May 2012 12:12:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ed-0003zh-R4
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:12 +0000
Received: from [85.158.143.35:5163] by server-1.bemta-4.messagelabs.com id
	22/96-27869-A1067CF4; Thu, 31 May 2012 12:12:10 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466319!18145685!2
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30753 invoked from network); 31 May 2012 12:12:07 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:07 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701347wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=B9rdmOiaMBK9+goH/tFjVmAwybdamgnWMKzaQMxlGzU=;
	b=KHglz3mATN5HSxZ7rNhMTQIu2QzWZT6iOfkO4A24uFCrSzQH9Pfg+bWAIccQhq8AUc
	gfC9u6KaWIusPVDaSRlEw5xJ7imqhJ0+IS+Oyjtt7UdcZrmw/vkeUp7XBK1g9CcYZmtj
	7r0qiDCGzrQEY5RS51CfMGnnP6GFOqikgXZwtw92u4Eopa+RPOy2ntde9m+YB+vXTITN
	eqZmVyxr5jJQBaBXPTyZsqYbNQuhD/efKiaV14P0tl3nEKtFWDTFu/tytypwPuXe5B4H
	5kScQD+D6tl3YcPYH8Kq5naAAjT82HxBcgNbTNVuUpvcWHnFzDZO+qXLg7IMcWV9Hfih
	Gc6A==
Received: by 10.216.198.23 with SMTP id u23mr3966118wen.195.1338466327123;
	Thu, 31 May 2012 05:12:07 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.04
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:06 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 7d16724e5eced09864543a152845fa468b8d9abf
Message-Id: <7d16724e5eced0986454.1338466268@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:08 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.

This is in preparation of making it possible to manipulate
NUMA nodes from the toolstack(s).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
--- a/tools/libxc/xc_misc.c
+++ b/tools/libxc/xc_misc.c
@@ -35,11 +35,30 @@ int xc_get_max_cpus(xc_interface *xch)
     return max_cpus;
 }
 
+int xc_get_max_nodes(xc_interface *xch)
+{
+    static int max_nodes = 0;
+    xc_physinfo_t physinfo;
+
+    if ( max_nodes )
+        return max_nodes;
+
+    if ( !xc_physinfo(xch, &physinfo) )
+        max_nodes = physinfo.max_node_id + 1;
+
+    return max_nodes;
+}
+
 int xc_get_cpumap_size(xc_interface *xch)
 {
     return (xc_get_max_cpus(xch) + 7) / 8;
 }
 
+int xc_get_nodemap_size(xc_interface *xch)
+{
+    return (xc_get_max_nodes(xch) + 7) / 8;
+}
+
 xc_cpumap_t xc_cpumap_alloc(xc_interface *xch)
 {
     int sz;
@@ -50,6 +69,16 @@ xc_cpumap_t xc_cpumap_alloc(xc_interface
     return calloc(1, sz);
 }
 
+xc_nodemap_t xc_nodemap_alloc(xc_interface *xch)
+{
+    int sz;
+
+    sz = xc_get_nodemap_size(xch);
+    if (sz == 0)
+        return NULL;
+    return calloc(1, sz);
+}
+
 int xc_readconsolering(xc_interface *xch,
                        char *buffer,
                        unsigned int *pnr_chars,
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -330,6 +330,20 @@ int xc_get_cpumap_size(xc_interface *xch
 xc_cpumap_t xc_cpumap_alloc(xc_interface *xch);
 
 /*
+ * NODEMAP handling
+ */
+typedef uint8_t *xc_nodemap_t;
+
+/* return maximum number of NUMA nodes the hypervisor supports */
+int xc_get_max_nodes(xc_interface *xch);
+
+/* return array size for nodemap */
+int xc_get_nodemap_size(xc_interface *xch);
+
+/* allocate a nodemap */
+xc_nodemap_t xc_nodemap_alloc(xc_interface *xch);
+
+/*
  * DOMAIN DEBUGGING FUNCTIONS
  */
 
diff --git a/tools/libxl/gentest.py b/tools/libxl/gentest.py
--- a/tools/libxl/gentest.py
+++ b/tools/libxl/gentest.py
@@ -20,7 +20,7 @@ def randomize_case(s):
 def randomize_enum(e):
     return random.choice([v.name for v in e.values])
 
-handcoded = ["libxl_cpumap", "libxl_key_value_list",
+handcoded = ["libxl_cpumap", "libxl_nodemap", "libxl_key_value_list",
              "libxl_cpuid_policy_list", "libxl_file_reference",
              "libxl_string_list"]
 
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -294,6 +294,12 @@ static inline void libxl_cpumap_dispose(
     return libxl_map_dispose(cpumap);
 }
 
+typedef struct libxl_map libxl_nodemap;
+static inline void libxl_nodemap_dispose(libxl_nodemap *nodemap)
+{
+    return libxl_map_dispose(nodemap);
+}
+
 typedef struct {
     /*
      * Path is always set if the file reference is valid. However if
@@ -549,6 +555,9 @@ int libxl_domain_preserve(libxl_ctx *ctx
 /* get max. number of cpus supported by hypervisor */
 int libxl_get_max_cpus(libxl_ctx *ctx);
 
+/* get max. number of NUMA nodes supported by hypervisor */
+int libxl_get_max_nodes(libxl_ctx *ctx);
+
 /*
  * Run the configured bootloader for a PV domain and update
  * info->kernel, info->u.pv.ramdisk and info->u.pv.cmdline as
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -11,6 +11,7 @@ libxl_domid = Builtin("domid", json_fn =
 libxl_uuid = Builtin("uuid", passby=PASS_BY_REFERENCE)
 libxl_mac = Builtin("mac", passby=PASS_BY_REFERENCE)
 libxl_cpumap = Builtin("cpumap", dispose_fn="libxl_cpumap_dispose", passby=PASS_BY_REFERENCE)
+libxl_nodemap = Builtin("nodemap", dispose_fn="libxl_nodemap_dispose", passby=PASS_BY_REFERENCE)
 libxl_cpuid_policy_list = Builtin("cpuid_policy_list", dispose_fn="libxl_cpuid_dispose", passby=PASS_BY_REFERENCE)
 
 libxl_string_list = Builtin("string_list", dispose_fn="libxl_string_list_dispose", passby=PASS_BY_REFERENCE)
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -537,11 +537,27 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, l
     return libxl_map_alloc(ctx, cpumap, max_cpus);
 }
 
+int libxl_nodemap_alloc(libxl_ctx *ctx, libxl_nodemap *nodemap)
+{
+    int max_nodes;
+
+    max_nodes = libxl_get_max_nodes(ctx);
+    if (max_nodes == 0)
+        return ERROR_FAIL;
+
+    return libxl_map_alloc(ctx, nodemap, max_nodes);
+}
+
 int libxl_get_max_cpus(libxl_ctx *ctx)
 {
     return xc_get_max_cpus(ctx->xch);
 }
 
+int libxl_get_max_nodes(libxl_ctx *ctx)
+{
+    return xc_get_max_nodes(ctx->xch);
+}
+
 int libxl__enum_from_string(const libxl_enum_string_table *t,
                             const char *s, int *e)
 {
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -108,6 +108,35 @@ static inline int libxl_cpumap_cpu_valid
 #define libxl_for_each_set_cpu(v, m) for (v = 0; v < (m).size * 8; v++) \
                                              if (libxl_cpumap_test(&(m), v))
 
+int libxl_nodemap_alloc(libxl_ctx *ctx, libxl_nodemap *nodemap);
+static inline int libxl_nodemap_test(libxl_nodemap *nodemap, int node)
+{
+    return libxl_map_test(nodemap, node);
+}
+static inline void libxl_nodemap_set(libxl_nodemap *nodemap, int node)
+{
+    libxl_map_set(nodemap, node);
+}
+static inline void libxl_nodemap_reset(libxl_nodemap *nodemap, int node)
+{
+    libxl_map_reset(nodemap, node);
+}
+static inline void libxl_nodemap_set_any(libxl_nodemap *nodemap)
+{
+    libxl_map_set_any(nodemap);
+}
+static inline void libxl_nodemap_set_none(libxl_nodemap *nodemap)
+{
+    libxl_map_set_none(nodemap);
+}
+static inline int libxl_nodemap_node_valid(libxl_nodemap *nodemap, int node)
+{
+    return libxl_map_elem_valid(nodemap, node);
+}
+#define libxl_for_each_node(var, map) for (var = 0; var < (map).size * 8; var++)
+#define libxl_for_each_set_node(v, m) for (v = 0; v < (m).size * 8; v++) \
+                                              if (libxl_nodemap_test(&(m), v))
+
 static inline uint32_t libxl__sizekb_to_mb(uint32_t s) {
     return (s + 1023) / 1024;
 }
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -116,6 +116,21 @@ int xenctl_map_to_cpumask(cpumask_var_t 
     return err;
 }
 
+int nodemask_to_xenctl_map(struct xenctl_map *xenctl_nodemap,
+                           const nodemask_t *nodemask)
+{
+    return bitmap_to_xenctl_map(xenctl_nodemap, cpumask_bits(nodemask),
+                                MAX_NUMNODES);
+}
+
+int xenctl_map_to_nodemask(nodemask_t *nodemask,
+                               const struct xenctl_map *xenctl_nodemap)
+{
+    return xenctl_map_to_bitmap(nodes_addr(*nodemask),
+                                xenctl_nodemap,
+                                MAX_NUMNODES);
+}
+
 static inline int is_free_domid(domid_t dom)
 {
     struct domain *d;

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eo-00043J-LL; Thu, 31 May 2012 12:12:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4En-00042Z-AL
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:21 +0000
Received: from [85.158.138.51:42846] by server-12.bemta-3.messagelabs.com id
	18/8F-29860-42067CF4; Thu, 31 May 2012 12:12:20 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338466329!30145680!2
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5871 invoked from network); 31 May 2012 12:12:19 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:19 -0000
Received: by mail-wi0-f179.google.com with SMTP id hr14so701413wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=googlemail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=BLSLKBWbstIKqMcHy9NW+z+t516JbMh06IR+sqdgvAE=;
	b=X/C2jFm+fDlOhohXey8Rt79f+7TOm9mOwjA6vMuclJYpxBqrvu69VGVGkl5tIAZqGM
	kNwTRevKCdWwnKA2HsZHQ2ZS/IhQGAHLOaMpiJ6GHdYY5Cx1mgWWIbknL2iLk0OxUmV6
	z72V9GeFk5jSBxpEl33IJqYAJMKUtwVLDmUNIuuzP+VFYRDdqRuyKp+IcNtr0l1pWdsn
	95l2yDMIFk64DxPxrhd0VmpJAaEVvNkOtpWgXYWmPbRib+DwBItMrwzdWO+4jHUZRmFQ
	SMcYRKPcLKr0MlZSXNYt1wVPdMgKYjZJP76WUGmZY0/az5yzDjF4DWj8MsBoRH5sJ49k
	WEcg==
Received: by 10.216.198.1 with SMTP id u1mr13629346wen.92.1338466339526;
	Thu, 31 May 2012 05:12:19 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.17
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:18 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: b791abe0f7b78622041ef394a54e86eba8ece52d
Message-Id: <b791abe0f7b78622041e.1338466273@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:13 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 08 of 11] xl: add more NUMA information to `xl
	info -n'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

So that the user knows how much memory there is on each node and
how far they are from each others.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4217,6 +4217,36 @@ static void output_physinfo(void)
     return;
 }
 
+static void output_numainfo(void)
+{
+    libxl_numainfo *info;
+    int i, j, nr;
+
+    info = libxl_get_numainfo(ctx, &nr);
+    if (info == NULL) {
+        fprintf(stderr, "libxl_get_numainfo failed.\n");
+        return;
+    }
+
+    printf("numa_info              :\n");
+    printf("node:    memsize    memfree    distances\n");
+
+    for (i = 0; i < nr; i++) {
+        if (info[i].size != LIBXL_NUMAINFO_INVALID_ENTRY) {
+            printf("%4d:    %6"PRIu64"     %6"PRIu64"      %d", i,
+                   info[i].size / (1 << 20), info[i].free / (1 << 20),
+                   info[i].dists[0]);
+            for (j = 1; j < info[i].num_dists; j++)
+                printf(",%d", info[i].dists[j]);
+            printf("\n");
+        }
+    }
+
+    libxl_numainfo_list_free(info, nr);
+
+    return;
+}
+
 static void output_topologyinfo(void)
 {
     libxl_cputopology *info;
@@ -4239,8 +4269,6 @@ static void output_topologyinfo(void)
 
     libxl_cputopology_list_free(info, nr);
 
-    printf("numa_info              : none\n");
-
     return;
 }
 
@@ -4250,8 +4278,10 @@ static void info(int numa)
 
     output_physinfo();
 
-    if (numa)
+    if (numa) {
         output_topologyinfo();
+        output_numainfo();
+    }
 
     output_xeninfo();
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4El-00041m-9W; Thu, 31 May 2012 12:12:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ej-0003zh-BY
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:17 +0000
Received: from [85.158.143.35:5589] by server-1.bemta-4.messagelabs.com id
	C1/C6-27869-12067CF4; Thu, 31 May 2012 12:12:17 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466334!18145745!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31291 invoked from network); 31 May 2012 12:12:15 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:15 -0000
Received: by wgbed3 with SMTP id ed3so593583wgb.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=e9qu2dEB8wjkVH46uGpuLCodOET86jg9LgctWW7IrH0=;
	b=OLk/31qSXdO/cTTllvLe5FRWJjEd924WyQeBXfY7qzl4QHQzXLjy599zWinbmUDEaG
	urnahHcVAfu2T/C59j+s/EIcC7dEOGR/qEHFLS4bFlL0e8OwLcBGUKPSLLxTaWj0DC9u
	LIngP+ETNlHSQmejMJOUr4nDmM7DJ7Z7e4WBKzgjueKwdJh7qlLUUF1EiUCgytdUl2DD
	iXdgvjlmhItnnWhM+sX6cXTrZJdpwEWtiS/Bl6EkO5EbcvaFsv7DCPINxABM/9XHRoAz
	Z4E6XDI9puEAzQXEYgx2BtBBhW34Sq+dY1L0iZbJ5EyK7FhIXPgrQAxxnE86tAf81twG
	DsmQ==
Received: by 10.216.213.28 with SMTP id z28mr13601979weo.50.1338466334755;
	Thu, 31 May 2012 05:12:14 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.12
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:13 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 5c4b4f0c184fa3534bcbfae8e58edaccb481375b
Message-Id: <5c4b4f0c184fa3534bcb.1338466271@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:11 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 06 of 11] libxl: introduce libxl_get_numainfo()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Make some NUMA node information available to the toolstack. Achieve
this by means of xc_numainfo(), which exposes memory size and amount
of free memory of each node, as well as the relative distances of
each node to all the others.

For properly exposing distances we need the IDL to support arrays.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -3014,6 +3014,83 @@ fail:
     return ret;
 }
 
+libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
+{
+    xc_numainfo_t ninfo;
+    DECLARE_HYPERCALL_BUFFER(xc_node_to_memsize_t, memsize);
+    DECLARE_HYPERCALL_BUFFER(xc_node_to_memfree_t, memfree);
+    DECLARE_HYPERCALL_BUFFER(uint32_t, node_distances);
+    libxl_numainfo *ret = NULL;
+    int i, j, max_nodes;
+
+    max_nodes = libxl_get_max_nodes(ctx);
+    if (max_nodes == 0)
+    {
+        LIBXL__LOG(ctx, XTL_ERROR, "Unable to determine number of NODES");
+        return NULL;
+    }
+
+    memsize = xc_hypercall_buffer_alloc
+        (ctx->xch, memsize, sizeof(*memsize) * max_nodes);
+    memfree = xc_hypercall_buffer_alloc
+        (ctx->xch, memfree, sizeof(*memfree) * max_nodes);
+    node_distances = xc_hypercall_buffer_alloc
+        (ctx->xch, node_distances, sizeof(*node_distances) * max_nodes * max_nodes);
+    if ((memsize == NULL) || (memfree == NULL) || (node_distances == NULL)) {
+        LIBXL__LOG_ERRNOVAL(ctx, XTL_ERROR, ENOMEM,
+                            "Unable to allocate hypercall arguments");
+        goto fail;
+    }
+
+    set_xen_guest_handle(ninfo.node_to_memsize, memsize);
+    set_xen_guest_handle(ninfo.node_to_memfree, memfree);
+    set_xen_guest_handle(ninfo.node_to_node_distance, node_distances);
+    ninfo.max_node_index = max_nodes - 1;
+    if (xc_numainfo(ctx->xch, &ninfo) != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting numainfo");
+        goto fail;
+    }
+
+    if (ninfo.max_node_index < max_nodes - 1)
+        max_nodes = ninfo.max_node_index + 1;
+
+    ret = malloc(sizeof(libxl_numainfo) * max_nodes);
+    if (ret == NULL) {
+        LIBXL__LOG_ERRNOVAL(ctx, XTL_ERROR, ENOMEM,
+                            "Unable to allocate return value");
+        goto fail;
+    }
+    for (i = 0; i < max_nodes; i++) {
+        ret[i].dists = malloc(sizeof(*node_distances) * max_nodes);
+        if (ret == NULL) {
+            for (j = i; j >= 0; j--)
+                free(ret[i].dists);
+            free(ret);
+            goto fail;
+        }
+    }
+
+    for (i = 0; i < max_nodes; i++) {
+#define V(mem, i) (mem[i] == INVALID_NUMAINFO_ID) ? \
+    LIBXL_NUMAINFO_INVALID_ENTRY : mem[i]
+        ret[i].size = V(memsize, i);
+        ret[i].free = V(memfree, i);
+        ret[i].num_dists = max_nodes;
+        for (j = 0; j < ret[i].num_dists; j++)
+            ret[i].dists[j] = V(node_distances, i * max_nodes + j);
+#undef V
+    }
+
+fail:
+    xc_hypercall_buffer_free(ctx->xch, memsize);
+    xc_hypercall_buffer_free(ctx->xch, memfree);
+    xc_hypercall_buffer_free(ctx->xch, node_distances);
+
+    if (ret)
+        *nr = max_nodes;
+    return ret;
+}
+
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
 {
     union {
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -810,6 +810,9 @@ int libxl_get_physinfo(libxl_ctx *ctx, l
 #define LIBXL_CPUTOPOLOGY_INVALID_ENTRY (~(uint32_t)0)
 libxl_cputopology *libxl_get_cpu_topology(libxl_ctx *ctx, int *nr);
 void libxl_cputopology_list_free(libxl_cputopology *, int nr);
+#define LIBXL_NUMAINFO_INVALID_ENTRY (~(uint32_t)0)
+libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr);
+void libxl_numainfo_list_free(libxl_numainfo *, int nr);
 libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
                                        int *nb_vcpu, int *nrcpus);
 int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -427,6 +427,12 @@ libxl_physinfo = Struct("physinfo", [
     ("cap_hvm_directio", bool),
     ], dir=DIR_OUT)
 
+libxl_numainfo = Struct("numainfo", [
+    ("size", uint64),
+    ("free", uint64),
+    ("dists", Array(uint32, "num_dists")),
+    ], dir=DIR_OUT)
+
 libxl_cputopology = Struct("cputopology", [
     ("core", uint32),
     ("socket", uint32),
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -613,6 +613,14 @@ int libxl__enum_from_string(const libxl_
     return ERROR_FAIL;
 }
 
+void libxl_numainfo_list_free(libxl_numainfo *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_numainfo_dispose(&list[i]);
+    free(list);
+}
+
 void libxl_cputopology_list_free(libxl_cputopology *list, int nr)
 {
     int i;
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -484,6 +484,7 @@ typedef struct xen_sysctl_topologyinfo x
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_topologyinfo_t);
 
 /* XEN_SYSCTL_numainfo */
+#define INVALID_NUMAINFO_ID (~0U)
 struct xen_sysctl_numainfo {
     /*
      * IN: maximum addressable entry in the caller-provided arrays.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eo-00043J-LL; Thu, 31 May 2012 12:12:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4En-00042Z-AL
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:21 +0000
Received: from [85.158.138.51:42846] by server-12.bemta-3.messagelabs.com id
	18/8F-29860-42067CF4; Thu, 31 May 2012 12:12:20 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338466329!30145680!2
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5871 invoked from network); 31 May 2012 12:12:19 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:19 -0000
Received: by mail-wi0-f179.google.com with SMTP id hr14so701413wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=googlemail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=BLSLKBWbstIKqMcHy9NW+z+t516JbMh06IR+sqdgvAE=;
	b=X/C2jFm+fDlOhohXey8Rt79f+7TOm9mOwjA6vMuclJYpxBqrvu69VGVGkl5tIAZqGM
	kNwTRevKCdWwnKA2HsZHQ2ZS/IhQGAHLOaMpiJ6GHdYY5Cx1mgWWIbknL2iLk0OxUmV6
	z72V9GeFk5jSBxpEl33IJqYAJMKUtwVLDmUNIuuzP+VFYRDdqRuyKp+IcNtr0l1pWdsn
	95l2yDMIFk64DxPxrhd0VmpJAaEVvNkOtpWgXYWmPbRib+DwBItMrwzdWO+4jHUZRmFQ
	SMcYRKPcLKr0MlZSXNYt1wVPdMgKYjZJP76WUGmZY0/az5yzDjF4DWj8MsBoRH5sJ49k
	WEcg==
Received: by 10.216.198.1 with SMTP id u1mr13629346wen.92.1338466339526;
	Thu, 31 May 2012 05:12:19 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.17
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:18 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: b791abe0f7b78622041ef394a54e86eba8ece52d
Message-Id: <b791abe0f7b78622041e.1338466273@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:13 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 08 of 11] xl: add more NUMA information to `xl
	info -n'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

So that the user knows how much memory there is on each node and
how far they are from each others.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4217,6 +4217,36 @@ static void output_physinfo(void)
     return;
 }
 
+static void output_numainfo(void)
+{
+    libxl_numainfo *info;
+    int i, j, nr;
+
+    info = libxl_get_numainfo(ctx, &nr);
+    if (info == NULL) {
+        fprintf(stderr, "libxl_get_numainfo failed.\n");
+        return;
+    }
+
+    printf("numa_info              :\n");
+    printf("node:    memsize    memfree    distances\n");
+
+    for (i = 0; i < nr; i++) {
+        if (info[i].size != LIBXL_NUMAINFO_INVALID_ENTRY) {
+            printf("%4d:    %6"PRIu64"     %6"PRIu64"      %d", i,
+                   info[i].size / (1 << 20), info[i].free / (1 << 20),
+                   info[i].dists[0]);
+            for (j = 1; j < info[i].num_dists; j++)
+                printf(",%d", info[i].dists[j]);
+            printf("\n");
+        }
+    }
+
+    libxl_numainfo_list_free(info, nr);
+
+    return;
+}
+
 static void output_topologyinfo(void)
 {
     libxl_cputopology *info;
@@ -4239,8 +4269,6 @@ static void output_topologyinfo(void)
 
     libxl_cputopology_list_free(info, nr);
 
-    printf("numa_info              : none\n");
-
     return;
 }
 
@@ -4250,8 +4278,10 @@ static void info(int numa)
 
     output_physinfo();
 
-    if (numa)
+    if (numa) {
         output_topologyinfo();
+        output_numainfo();
+    }
 
     output_xeninfo();
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4El-00041m-9W; Thu, 31 May 2012 12:12:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ej-0003zh-BY
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:17 +0000
Received: from [85.158.143.35:5589] by server-1.bemta-4.messagelabs.com id
	C1/C6-27869-12067CF4; Thu, 31 May 2012 12:12:17 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466334!18145745!1
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31291 invoked from network); 31 May 2012 12:12:15 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:15 -0000
Received: by wgbed3 with SMTP id ed3so593583wgb.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=e9qu2dEB8wjkVH46uGpuLCodOET86jg9LgctWW7IrH0=;
	b=OLk/31qSXdO/cTTllvLe5FRWJjEd924WyQeBXfY7qzl4QHQzXLjy599zWinbmUDEaG
	urnahHcVAfu2T/C59j+s/EIcC7dEOGR/qEHFLS4bFlL0e8OwLcBGUKPSLLxTaWj0DC9u
	LIngP+ETNlHSQmejMJOUr4nDmM7DJ7Z7e4WBKzgjueKwdJh7qlLUUF1EiUCgytdUl2DD
	iXdgvjlmhItnnWhM+sX6cXTrZJdpwEWtiS/Bl6EkO5EbcvaFsv7DCPINxABM/9XHRoAz
	Z4E6XDI9puEAzQXEYgx2BtBBhW34Sq+dY1L0iZbJ5EyK7FhIXPgrQAxxnE86tAf81twG
	DsmQ==
Received: by 10.216.213.28 with SMTP id z28mr13601979weo.50.1338466334755;
	Thu, 31 May 2012 05:12:14 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.12
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:13 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 5c4b4f0c184fa3534bcbfae8e58edaccb481375b
Message-Id: <5c4b4f0c184fa3534bcb.1338466271@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:11 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 06 of 11] libxl: introduce libxl_get_numainfo()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Make some NUMA node information available to the toolstack. Achieve
this by means of xc_numainfo(), which exposes memory size and amount
of free memory of each node, as well as the relative distances of
each node to all the others.

For properly exposing distances we need the IDL to support arrays.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -3014,6 +3014,83 @@ fail:
     return ret;
 }
 
+libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
+{
+    xc_numainfo_t ninfo;
+    DECLARE_HYPERCALL_BUFFER(xc_node_to_memsize_t, memsize);
+    DECLARE_HYPERCALL_BUFFER(xc_node_to_memfree_t, memfree);
+    DECLARE_HYPERCALL_BUFFER(uint32_t, node_distances);
+    libxl_numainfo *ret = NULL;
+    int i, j, max_nodes;
+
+    max_nodes = libxl_get_max_nodes(ctx);
+    if (max_nodes == 0)
+    {
+        LIBXL__LOG(ctx, XTL_ERROR, "Unable to determine number of NODES");
+        return NULL;
+    }
+
+    memsize = xc_hypercall_buffer_alloc
+        (ctx->xch, memsize, sizeof(*memsize) * max_nodes);
+    memfree = xc_hypercall_buffer_alloc
+        (ctx->xch, memfree, sizeof(*memfree) * max_nodes);
+    node_distances = xc_hypercall_buffer_alloc
+        (ctx->xch, node_distances, sizeof(*node_distances) * max_nodes * max_nodes);
+    if ((memsize == NULL) || (memfree == NULL) || (node_distances == NULL)) {
+        LIBXL__LOG_ERRNOVAL(ctx, XTL_ERROR, ENOMEM,
+                            "Unable to allocate hypercall arguments");
+        goto fail;
+    }
+
+    set_xen_guest_handle(ninfo.node_to_memsize, memsize);
+    set_xen_guest_handle(ninfo.node_to_memfree, memfree);
+    set_xen_guest_handle(ninfo.node_to_node_distance, node_distances);
+    ninfo.max_node_index = max_nodes - 1;
+    if (xc_numainfo(ctx->xch, &ninfo) != 0) {
+        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting numainfo");
+        goto fail;
+    }
+
+    if (ninfo.max_node_index < max_nodes - 1)
+        max_nodes = ninfo.max_node_index + 1;
+
+    ret = malloc(sizeof(libxl_numainfo) * max_nodes);
+    if (ret == NULL) {
+        LIBXL__LOG_ERRNOVAL(ctx, XTL_ERROR, ENOMEM,
+                            "Unable to allocate return value");
+        goto fail;
+    }
+    for (i = 0; i < max_nodes; i++) {
+        ret[i].dists = malloc(sizeof(*node_distances) * max_nodes);
+        if (ret == NULL) {
+            for (j = i; j >= 0; j--)
+                free(ret[i].dists);
+            free(ret);
+            goto fail;
+        }
+    }
+
+    for (i = 0; i < max_nodes; i++) {
+#define V(mem, i) (mem[i] == INVALID_NUMAINFO_ID) ? \
+    LIBXL_NUMAINFO_INVALID_ENTRY : mem[i]
+        ret[i].size = V(memsize, i);
+        ret[i].free = V(memfree, i);
+        ret[i].num_dists = max_nodes;
+        for (j = 0; j < ret[i].num_dists; j++)
+            ret[i].dists[j] = V(node_distances, i * max_nodes + j);
+#undef V
+    }
+
+fail:
+    xc_hypercall_buffer_free(ctx->xch, memsize);
+    xc_hypercall_buffer_free(ctx->xch, memfree);
+    xc_hypercall_buffer_free(ctx->xch, node_distances);
+
+    if (ret)
+        *nr = max_nodes;
+    return ret;
+}
+
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
 {
     union {
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -810,6 +810,9 @@ int libxl_get_physinfo(libxl_ctx *ctx, l
 #define LIBXL_CPUTOPOLOGY_INVALID_ENTRY (~(uint32_t)0)
 libxl_cputopology *libxl_get_cpu_topology(libxl_ctx *ctx, int *nr);
 void libxl_cputopology_list_free(libxl_cputopology *, int nr);
+#define LIBXL_NUMAINFO_INVALID_ENTRY (~(uint32_t)0)
+libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr);
+void libxl_numainfo_list_free(libxl_numainfo *, int nr);
 libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
                                        int *nb_vcpu, int *nrcpus);
 int libxl_set_vcpuaffinity(libxl_ctx *ctx, uint32_t domid, uint32_t vcpuid,
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -427,6 +427,12 @@ libxl_physinfo = Struct("physinfo", [
     ("cap_hvm_directio", bool),
     ], dir=DIR_OUT)
 
+libxl_numainfo = Struct("numainfo", [
+    ("size", uint64),
+    ("free", uint64),
+    ("dists", Array(uint32, "num_dists")),
+    ], dir=DIR_OUT)
+
 libxl_cputopology = Struct("cputopology", [
     ("core", uint32),
     ("socket", uint32),
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -613,6 +613,14 @@ int libxl__enum_from_string(const libxl_
     return ERROR_FAIL;
 }
 
+void libxl_numainfo_list_free(libxl_numainfo *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_numainfo_dispose(&list[i]);
+    free(list);
+}
+
 void libxl_cputopology_list_free(libxl_cputopology *list, int nr)
 {
     int i;
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -484,6 +484,7 @@ typedef struct xen_sysctl_topologyinfo x
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_topologyinfo_t);
 
 /* XEN_SYSCTL_numainfo */
+#define INVALID_NUMAINFO_ID (~0U)
 struct xen_sysctl_numainfo {
     /*
      * IN: maximum addressable entry in the caller-provided arrays.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4EZ-0003zC-GF; Thu, 31 May 2012 12:12:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4EX-0003z5-Qz
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:06 +0000
Received: from [193.109.254.147:19705] by server-5.bemta-14.messagelabs.com id
	E2/5A-06171-51067CF4; Thu, 31 May 2012 12:12:05 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338466322!11328188!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23913 invoked from network); 31 May 2012 12:12:02 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:02 -0000
Received: by werf3 with SMTP id f3so701379wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=UfUe2hgLFPWaCrImljq4u2Vdr0tiLrCIe7b3ZIYltao=;
	b=h7a0yu7480NWcKe0uSMcx3QBOdH1HwW8WbG8yfxeL7+ydpyj2TNZItzla1HEknpFf3
	j3Xq8gC3bhYRmM2LdMKql9I5l8JqmrRJQoXblu768dzWUF4JwPTct6a+ijGrTLdZmp3+
	U5/4lbf30tM3mcAn52S1nqKCTMv3WGbkB8gs9Bhq3FbkSf/fi2SrHaacZo5AJ3nr3Pni
	kNSJQnPgKyStjzvAMx9UeOyAMVfcGtll0FQaHWiFDibb2XLS9sY0JYS9wIVw55GtLcgU
	EKz92bSDfxDDp6fy4EJeAse3yHuky+lYnBA8e7mbUwe/TpAsxfxRYbgKLyv/T6Gkp/4H
	Yxpw==
Received: by 10.216.228.150 with SMTP id f22mr11956396weq.192.1338466322353;
	Thu, 31 May 2012 05:12:02 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.11.59
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:01 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: a0776cf2b6ac4bccf0f51100e08853e7de2295e9
Message-Id: <a0776cf2b6ac4bccf0f5.1338466266@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:06 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to just
	xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

More specifically:
 1. replaces xenctl_cpumap with xenctl_map
 2. provides bitmap_to_xenctl_map and the reverse;
 3. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
    and the reverse;

Other than #3, no functional changes. Interface only slightly
afected.

This is in preparation of introducing NUMA nodes maps.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.eu.com>

diff --git a/tools/libxc/xc_cpupool.c b/tools/libxc/xc_cpupool.c
--- a/tools/libxc/xc_cpupool.c
+++ b/tools/libxc/xc_cpupool.c
@@ -90,7 +90,7 @@ xc_cpupoolinfo_t *xc_cpupool_getinfo(xc_
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_INFO;
     sysctl.u.cpupool_op.cpupool_id = poolid;
     set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
-    sysctl.u.cpupool_op.cpumap.nr_cpus = local_size * 8;
+    sysctl.u.cpupool_op.cpumap.nr_elems = local_size * 8;
 
     err = do_sysctl_save(xch, &sysctl);
 
@@ -184,7 +184,7 @@ xc_cpumap_t xc_cpupool_freeinfo(xc_inter
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_FREEINFO;
     set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
-    sysctl.u.cpupool_op.cpumap.nr_cpus = mapsize * 8;
+    sysctl.u.cpupool_op.cpumap.nr_elems = mapsize * 8;
 
     err = do_sysctl_save(xch, &sysctl);
 
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -142,7 +142,7 @@ int xc_vcpu_setaffinity(xc_interface *xc
 
     set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
 
-    domctl.u.vcpuaffinity.cpumap.nr_cpus = cpusize * 8;
+    domctl.u.vcpuaffinity.cpumap.nr_elems = cpusize * 8;
 
     ret = do_domctl(xch, &domctl);
 
@@ -182,7 +182,7 @@ int xc_vcpu_getaffinity(xc_interface *xc
     domctl.u.vcpuaffinity.vcpu = vcpu;
 
     set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
-    domctl.u.vcpuaffinity.cpumap.nr_cpus = cpusize * 8;
+    domctl.u.vcpuaffinity.cpumap.nr_elems = cpusize * 8;
 
     ret = do_domctl(xch, &domctl);
 
diff --git a/tools/libxc/xc_tbuf.c b/tools/libxc/xc_tbuf.c
--- a/tools/libxc/xc_tbuf.c
+++ b/tools/libxc/xc_tbuf.c
@@ -134,7 +134,7 @@ int xc_tbuf_set_cpu_mask(xc_interface *x
     bitmap_64_to_byte(bytemap, &mask64, sizeof (mask64) * 8);
 
     set_xen_guest_handle(sysctl.u.tbuf_op.cpu_mask.bitmap, bytemap);
-    sysctl.u.tbuf_op.cpu_mask.nr_cpus = sizeof(bytemap) * 8;
+    sysctl.u.tbuf_op.cpu_mask.nr_elems = sizeof(bytemap) * 8;
 
     ret = do_sysctl(xch, &sysctl);
 
diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -1545,8 +1545,7 @@ long do_mca(XEN_GUEST_HANDLE(xen_mc_t) u
             cpumap = &cpu_online_map;
         else
         {
-            ret = xenctl_cpumap_to_cpumask(&cmv,
-                                           &op->u.mc_inject_v2.cpumap);
+            ret = xenctl_map_to_cpumask(&cmv, &op->u.mc_inject_v2.cpumap);
             if ( ret )
                 break;
             cpumap = cmv;
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -365,7 +365,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
     {
         uint32_t cpu;
         uint64_t idletime, now = NOW();
-        struct xenctl_cpumap ctlmap;
+        struct xenctl_map ctlmap;
         cpumask_var_t cpumap;
         XEN_GUEST_HANDLE(uint8) cpumap_bitmap;
         XEN_GUEST_HANDLE(uint64) idletimes;
@@ -378,11 +378,11 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
         if ( cpufreq_controller != FREQCTL_dom0_kernel )
             break;
 
-        ctlmap.nr_cpus  = op->u.getidletime.cpumap_nr_cpus;
+        ctlmap.nr_elems  = op->u.getidletime.cpumap_nr_cpus;
         guest_from_compat_handle(cpumap_bitmap,
                                  op->u.getidletime.cpumap_bitmap);
         ctlmap.bitmap.p = cpumap_bitmap.p; /* handle -> handle_64 conversion */
-        if ( (ret = xenctl_cpumap_to_cpumask(&cpumap, &ctlmap)) != 0 )
+        if ( (ret = xenctl_map_to_cpumask(&cpumap, &ctlmap)) != 0 )
             goto out;
         guest_from_compat_handle(idletimes, op->u.getidletime.idletime);
 
@@ -401,7 +401,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
 
         op->u.getidletime.now = now;
         if ( ret == 0 )
-            ret = cpumask_to_xenctl_cpumap(&ctlmap, cpumap);
+            ret = cpumask_to_xenctl_map(&ctlmap, cpumap);
         free_cpumask_var(cpumap);
 
         if ( ret == 0 && copy_to_guest(u_xenpf_op, op, 1) )
diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c
--- a/xen/common/cpupool.c
+++ b/xen/common/cpupool.c
@@ -489,7 +489,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
         op->cpupool_id = c->cpupool_id;
         op->sched_id = c->sched->sched_id;
         op->n_dom = c->n_dom;
-        ret = cpumask_to_xenctl_cpumap(&op->cpumap, c->cpu_valid);
+        ret = cpumask_to_xenctl_map(&op->cpumap, c->cpu_valid);
         cpupool_put(c);
     }
     break;
@@ -584,7 +584,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
 
     case XEN_SYSCTL_CPUPOOL_OP_FREEINFO:
     {
-        ret = cpumask_to_xenctl_cpumap(
+        ret = cpumask_to_xenctl_map(
             &op->cpumap, &cpupool_free_cpus);
     }
     break;
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -31,28 +31,29 @@
 static DEFINE_SPINLOCK(domctl_lock);
 DEFINE_SPINLOCK(vcpu_alloc_lock);
 
-int cpumask_to_xenctl_cpumap(
-    struct xenctl_cpumap *xenctl_cpumap, const cpumask_t *cpumask)
+int bitmap_to_xenctl_map(struct xenctl_map *xenctl_map,
+                         const unsigned long *bitmap,
+                         unsigned int nbits)
 {
     unsigned int guest_bytes, copy_bytes, i;
     uint8_t zero = 0;
     int err = 0;
-    uint8_t *bytemap = xmalloc_array(uint8_t, (nr_cpu_ids + 7) / 8);
+    uint8_t *bytemap = xmalloc_array(uint8_t, (nbits + 7) / 8);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_cpumap->nr_cpus + 7) / 8;
-    copy_bytes  = min_t(unsigned int, guest_bytes, (nr_cpu_ids + 7) / 8);
+    guest_bytes = (xenctl_map->nr_elems + 7) / 8;
+    copy_bytes  = min_t(unsigned int, guest_bytes, (nbits + 7) / 8);
 
-    bitmap_long_to_byte(bytemap, cpumask_bits(cpumask), nr_cpu_ids);
+    bitmap_long_to_byte(bytemap, bitmap, nbits);
 
     if ( copy_bytes != 0 )
-        if ( copy_to_guest(xenctl_cpumap->bitmap, bytemap, copy_bytes) )
+        if ( copy_to_guest(xenctl_map->bitmap, bytemap, copy_bytes) )
             err = -EFAULT;
 
     for ( i = copy_bytes; !err && i < guest_bytes; i++ )
-        if ( copy_to_guest_offset(xenctl_cpumap->bitmap, i, &zero, 1) )
+        if ( copy_to_guest_offset(xenctl_map->bitmap, i, &zero, 1) )
             err = -EFAULT;
 
     xfree(bytemap);
@@ -60,36 +61,58 @@ int cpumask_to_xenctl_cpumap(
     return err;
 }
 
-int xenctl_cpumap_to_cpumask(
-    cpumask_var_t *cpumask, const struct xenctl_cpumap *xenctl_cpumap)
+int xenctl_map_to_bitmap(unsigned long *bitmap,
+                         const struct xenctl_map *xenctl_map,
+                         unsigned int nbits)
 {
     unsigned int guest_bytes, copy_bytes;
     int err = 0;
-    uint8_t *bytemap = xzalloc_array(uint8_t, (nr_cpu_ids + 7) / 8);
+    uint8_t *bytemap = xzalloc_array(uint8_t, (nbits + 7) / 8);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_cpumap->nr_cpus + 7) / 8;
-    copy_bytes  = min_t(unsigned int, guest_bytes, (nr_cpu_ids + 7) / 8);
+    guest_bytes = (xenctl_map->nr_elems + 7) / 8;
+    copy_bytes  = min_t(unsigned int, guest_bytes, (nbits + 7) / 8);
 
     if ( copy_bytes != 0 )
     {
-        if ( copy_from_guest(bytemap, xenctl_cpumap->bitmap, copy_bytes) )
+        if ( copy_from_guest(bytemap, xenctl_map->bitmap, copy_bytes) )
             err = -EFAULT;
-        if ( (xenctl_cpumap->nr_cpus & 7) && (guest_bytes <= sizeof(bytemap)) )
-            bytemap[guest_bytes-1] &= ~(0xff << (xenctl_cpumap->nr_cpus & 7));
+        if ( (xenctl_map->nr_elems & 7) && (guest_bytes <= sizeof(bytemap)) )
+            bytemap[guest_bytes-1] &= ~(0xff << (xenctl_map->nr_elems & 7));
     }
 
-    if ( err )
-        /* nothing */;
-    else if ( alloc_cpumask_var(cpumask) )
-        bitmap_byte_to_long(cpumask_bits(*cpumask), bytemap, nr_cpu_ids);
+    if ( !err )
+        bitmap_byte_to_long(bitmap, bytemap, nbits);
+
+    xfree(bytemap);
+
+    return err;
+}
+
+int cpumask_to_xenctl_map(struct xenctl_map *xenctl_cpumap,
+                          const cpumask_t *cpumask)
+{
+    return bitmap_to_xenctl_map(xenctl_cpumap, cpumask_bits(cpumask),
+                                nr_cpu_ids);
+}
+
+int xenctl_map_to_cpumask(cpumask_var_t *cpumask,
+                          const struct xenctl_map *xenctl_cpumap)
+{
+    int err = 0;
+
+    if ( alloc_cpumask_var(cpumask) ) {
+        err = xenctl_map_to_bitmap(cpumask_bits(*cpumask), xenctl_cpumap,
+                                   nr_cpu_ids);
+        /* In case of error, cleanup is up to us, as the caller won't care! */
+        if ( err )
+            free_cpumask_var(*cpumask);
+    }
     else
         err = -ENOMEM;
 
-    xfree(bytemap);
-
     return err;
 }
 
@@ -617,7 +640,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
         {
             cpumask_var_t new_affinity;
 
-            ret = xenctl_cpumap_to_cpumask(
+            ret = xenctl_map_to_cpumask(
                 &new_affinity, &op->u.vcpuaffinity.cpumap);
             if ( !ret )
             {
@@ -627,7 +650,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
         }
         else
         {
-            ret = cpumask_to_xenctl_cpumap(
+            ret = cpumask_to_xenctl_map(
                 &op->u.vcpuaffinity.cpumap, v->cpu_affinity);
         }
 
diff --git a/xen/common/trace.c b/xen/common/trace.c
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -384,7 +384,7 @@ int tb_control(xen_sysctl_tbuf_op_t *tbc
     {
         cpumask_var_t mask;
 
-        rc = xenctl_cpumap_to_cpumask(&mask, &tbc->cpu_mask);
+        rc = xenctl_map_to_cpumask(&mask, &tbc->cpu_mask);
         if ( !rc )
         {
             cpumask_copy(&tb_cpu_mask, mask);
diff --git a/xen/include/public/arch-x86/xen-mca.h b/xen/include/public/arch-x86/xen-mca.h
--- a/xen/include/public/arch-x86/xen-mca.h
+++ b/xen/include/public/arch-x86/xen-mca.h
@@ -414,7 +414,7 @@ struct xen_mc_mceinject {
 
 struct xen_mc_inject_v2 {
 	uint32_t flags;
-	struct xenctl_cpumap cpumap;
+	struct xenctl_map cpumap;
 };
 #endif
 
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -283,7 +283,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_getvc
 /* XEN_DOMCTL_getvcpuaffinity */
 struct xen_domctl_vcpuaffinity {
     uint32_t  vcpu;              /* IN */
-    struct xenctl_cpumap cpumap; /* IN/OUT */
+    struct xenctl_map cpumap;    /* IN/OUT */
 };
 typedef struct xen_domctl_vcpuaffinity xen_domctl_vcpuaffinity_t;
 DEFINE_XEN_GUEST_HANDLE(xen_domctl_vcpuaffinity_t);
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -71,8 +71,8 @@ struct xen_sysctl_tbuf_op {
 #define XEN_SYSCTL_TBUFOP_disable      5
     uint32_t cmd;
     /* IN/OUT variables */
-    struct xenctl_cpumap cpu_mask;
-    uint32_t             evt_mask;
+    struct xenctl_map cpu_mask;
+    uint32_t          evt_mask;
     /* OUT variables */
     uint64_aligned_t buffer_mfn;
     uint32_t size;  /* Also an IN variable! */
@@ -531,7 +531,7 @@ struct xen_sysctl_cpupool_op {
     uint32_t domid;       /* IN: M              */
     uint32_t cpu;         /* IN: AR             */
     uint32_t n_dom;       /*            OUT: I  */
-    struct xenctl_cpumap cpumap; /*     OUT: IF */
+    struct xenctl_map cpumap;    /*     OUT: IF */
 };
 typedef struct xen_sysctl_cpupool_op xen_sysctl_cpupool_op_t;
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpupool_op_t);
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -822,9 +822,9 @@ typedef uint8_t xen_domain_handle_t[16];
 #endif
 
 #ifndef __ASSEMBLY__
-struct xenctl_cpumap {
+struct xenctl_map {
     XEN_GUEST_HANDLE_64(uint8) bitmap;
-    uint32_t nr_cpus;
+    uint32_t nr_elems;
 };
 #endif
 
diff --git a/xen/include/xen/cpumask.h b/xen/include/xen/cpumask.h
--- a/xen/include/xen/cpumask.h
+++ b/xen/include/xen/cpumask.h
@@ -424,8 +424,8 @@ extern cpumask_t cpu_present_map;
 #define for_each_present_cpu(cpu)  for_each_cpu(cpu, &cpu_present_map)
 
 /* Copy to/from cpumap provided by control tools. */
-struct xenctl_cpumap;
-int cpumask_to_xenctl_cpumap(struct xenctl_cpumap *, const cpumask_t *);
-int xenctl_cpumap_to_cpumask(cpumask_var_t *, const struct xenctl_cpumap *);
+struct xenctl_map;
+int cpumask_to_xenctl_map(struct xenctl_map *, const cpumask_t *);
+int xenctl_map_to_cpumask(cpumask_var_t *, const struct xenctl_map *);
 
 #endif /* __XEN_CPUMASK_H */
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -2,7 +2,7 @@
 # ! - needs translation
 # ? - needs checking
 ?	dom0_vga_console_info		xen.h
-?	xenctl_cpumap			xen.h
+?	xenctl_map			xen.h
 ?	mmu_update			xen.h
 !	mmuext_op			xen.h
 !	start_info			xen.h

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4EZ-0003zC-GF; Thu, 31 May 2012 12:12:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4EX-0003z5-Qz
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:06 +0000
Received: from [193.109.254.147:19705] by server-5.bemta-14.messagelabs.com id
	E2/5A-06171-51067CF4; Thu, 31 May 2012 12:12:05 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338466322!11328188!1
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23913 invoked from network); 31 May 2012 12:12:02 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:02 -0000
Received: by werf3 with SMTP id f3so701379wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=UfUe2hgLFPWaCrImljq4u2Vdr0tiLrCIe7b3ZIYltao=;
	b=h7a0yu7480NWcKe0uSMcx3QBOdH1HwW8WbG8yfxeL7+ydpyj2TNZItzla1HEknpFf3
	j3Xq8gC3bhYRmM2LdMKql9I5l8JqmrRJQoXblu768dzWUF4JwPTct6a+ijGrTLdZmp3+
	U5/4lbf30tM3mcAn52S1nqKCTMv3WGbkB8gs9Bhq3FbkSf/fi2SrHaacZo5AJ3nr3Pni
	kNSJQnPgKyStjzvAMx9UeOyAMVfcGtll0FQaHWiFDibb2XLS9sY0JYS9wIVw55GtLcgU
	EKz92bSDfxDDp6fy4EJeAse3yHuky+lYnBA8e7mbUwe/TpAsxfxRYbgKLyv/T6Gkp/4H
	Yxpw==
Received: by 10.216.228.150 with SMTP id f22mr11956396weq.192.1338466322353;
	Thu, 31 May 2012 05:12:02 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.11.59
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:01 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: a0776cf2b6ac4bccf0f51100e08853e7de2295e9
Message-Id: <a0776cf2b6ac4bccf0f5.1338466266@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:06 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to just
	xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

More specifically:
 1. replaces xenctl_cpumap with xenctl_map
 2. provides bitmap_to_xenctl_map and the reverse;
 3. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
    and the reverse;

Other than #3, no functional changes. Interface only slightly
afected.

This is in preparation of introducing NUMA nodes maps.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.eu.com>

diff --git a/tools/libxc/xc_cpupool.c b/tools/libxc/xc_cpupool.c
--- a/tools/libxc/xc_cpupool.c
+++ b/tools/libxc/xc_cpupool.c
@@ -90,7 +90,7 @@ xc_cpupoolinfo_t *xc_cpupool_getinfo(xc_
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_INFO;
     sysctl.u.cpupool_op.cpupool_id = poolid;
     set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
-    sysctl.u.cpupool_op.cpumap.nr_cpus = local_size * 8;
+    sysctl.u.cpupool_op.cpumap.nr_elems = local_size * 8;
 
     err = do_sysctl_save(xch, &sysctl);
 
@@ -184,7 +184,7 @@ xc_cpumap_t xc_cpupool_freeinfo(xc_inter
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_FREEINFO;
     set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
-    sysctl.u.cpupool_op.cpumap.nr_cpus = mapsize * 8;
+    sysctl.u.cpupool_op.cpumap.nr_elems = mapsize * 8;
 
     err = do_sysctl_save(xch, &sysctl);
 
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -142,7 +142,7 @@ int xc_vcpu_setaffinity(xc_interface *xc
 
     set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
 
-    domctl.u.vcpuaffinity.cpumap.nr_cpus = cpusize * 8;
+    domctl.u.vcpuaffinity.cpumap.nr_elems = cpusize * 8;
 
     ret = do_domctl(xch, &domctl);
 
@@ -182,7 +182,7 @@ int xc_vcpu_getaffinity(xc_interface *xc
     domctl.u.vcpuaffinity.vcpu = vcpu;
 
     set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
-    domctl.u.vcpuaffinity.cpumap.nr_cpus = cpusize * 8;
+    domctl.u.vcpuaffinity.cpumap.nr_elems = cpusize * 8;
 
     ret = do_domctl(xch, &domctl);
 
diff --git a/tools/libxc/xc_tbuf.c b/tools/libxc/xc_tbuf.c
--- a/tools/libxc/xc_tbuf.c
+++ b/tools/libxc/xc_tbuf.c
@@ -134,7 +134,7 @@ int xc_tbuf_set_cpu_mask(xc_interface *x
     bitmap_64_to_byte(bytemap, &mask64, sizeof (mask64) * 8);
 
     set_xen_guest_handle(sysctl.u.tbuf_op.cpu_mask.bitmap, bytemap);
-    sysctl.u.tbuf_op.cpu_mask.nr_cpus = sizeof(bytemap) * 8;
+    sysctl.u.tbuf_op.cpu_mask.nr_elems = sizeof(bytemap) * 8;
 
     ret = do_sysctl(xch, &sysctl);
 
diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -1545,8 +1545,7 @@ long do_mca(XEN_GUEST_HANDLE(xen_mc_t) u
             cpumap = &cpu_online_map;
         else
         {
-            ret = xenctl_cpumap_to_cpumask(&cmv,
-                                           &op->u.mc_inject_v2.cpumap);
+            ret = xenctl_map_to_cpumask(&cmv, &op->u.mc_inject_v2.cpumap);
             if ( ret )
                 break;
             cpumap = cmv;
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -365,7 +365,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
     {
         uint32_t cpu;
         uint64_t idletime, now = NOW();
-        struct xenctl_cpumap ctlmap;
+        struct xenctl_map ctlmap;
         cpumask_var_t cpumap;
         XEN_GUEST_HANDLE(uint8) cpumap_bitmap;
         XEN_GUEST_HANDLE(uint64) idletimes;
@@ -378,11 +378,11 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
         if ( cpufreq_controller != FREQCTL_dom0_kernel )
             break;
 
-        ctlmap.nr_cpus  = op->u.getidletime.cpumap_nr_cpus;
+        ctlmap.nr_elems  = op->u.getidletime.cpumap_nr_cpus;
         guest_from_compat_handle(cpumap_bitmap,
                                  op->u.getidletime.cpumap_bitmap);
         ctlmap.bitmap.p = cpumap_bitmap.p; /* handle -> handle_64 conversion */
-        if ( (ret = xenctl_cpumap_to_cpumask(&cpumap, &ctlmap)) != 0 )
+        if ( (ret = xenctl_map_to_cpumask(&cpumap, &ctlmap)) != 0 )
             goto out;
         guest_from_compat_handle(idletimes, op->u.getidletime.idletime);
 
@@ -401,7 +401,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
 
         op->u.getidletime.now = now;
         if ( ret == 0 )
-            ret = cpumask_to_xenctl_cpumap(&ctlmap, cpumap);
+            ret = cpumask_to_xenctl_map(&ctlmap, cpumap);
         free_cpumask_var(cpumap);
 
         if ( ret == 0 && copy_to_guest(u_xenpf_op, op, 1) )
diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c
--- a/xen/common/cpupool.c
+++ b/xen/common/cpupool.c
@@ -489,7 +489,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
         op->cpupool_id = c->cpupool_id;
         op->sched_id = c->sched->sched_id;
         op->n_dom = c->n_dom;
-        ret = cpumask_to_xenctl_cpumap(&op->cpumap, c->cpu_valid);
+        ret = cpumask_to_xenctl_map(&op->cpumap, c->cpu_valid);
         cpupool_put(c);
     }
     break;
@@ -584,7 +584,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
 
     case XEN_SYSCTL_CPUPOOL_OP_FREEINFO:
     {
-        ret = cpumask_to_xenctl_cpumap(
+        ret = cpumask_to_xenctl_map(
             &op->cpumap, &cpupool_free_cpus);
     }
     break;
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -31,28 +31,29 @@
 static DEFINE_SPINLOCK(domctl_lock);
 DEFINE_SPINLOCK(vcpu_alloc_lock);
 
-int cpumask_to_xenctl_cpumap(
-    struct xenctl_cpumap *xenctl_cpumap, const cpumask_t *cpumask)
+int bitmap_to_xenctl_map(struct xenctl_map *xenctl_map,
+                         const unsigned long *bitmap,
+                         unsigned int nbits)
 {
     unsigned int guest_bytes, copy_bytes, i;
     uint8_t zero = 0;
     int err = 0;
-    uint8_t *bytemap = xmalloc_array(uint8_t, (nr_cpu_ids + 7) / 8);
+    uint8_t *bytemap = xmalloc_array(uint8_t, (nbits + 7) / 8);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_cpumap->nr_cpus + 7) / 8;
-    copy_bytes  = min_t(unsigned int, guest_bytes, (nr_cpu_ids + 7) / 8);
+    guest_bytes = (xenctl_map->nr_elems + 7) / 8;
+    copy_bytes  = min_t(unsigned int, guest_bytes, (nbits + 7) / 8);
 
-    bitmap_long_to_byte(bytemap, cpumask_bits(cpumask), nr_cpu_ids);
+    bitmap_long_to_byte(bytemap, bitmap, nbits);
 
     if ( copy_bytes != 0 )
-        if ( copy_to_guest(xenctl_cpumap->bitmap, bytemap, copy_bytes) )
+        if ( copy_to_guest(xenctl_map->bitmap, bytemap, copy_bytes) )
             err = -EFAULT;
 
     for ( i = copy_bytes; !err && i < guest_bytes; i++ )
-        if ( copy_to_guest_offset(xenctl_cpumap->bitmap, i, &zero, 1) )
+        if ( copy_to_guest_offset(xenctl_map->bitmap, i, &zero, 1) )
             err = -EFAULT;
 
     xfree(bytemap);
@@ -60,36 +61,58 @@ int cpumask_to_xenctl_cpumap(
     return err;
 }
 
-int xenctl_cpumap_to_cpumask(
-    cpumask_var_t *cpumask, const struct xenctl_cpumap *xenctl_cpumap)
+int xenctl_map_to_bitmap(unsigned long *bitmap,
+                         const struct xenctl_map *xenctl_map,
+                         unsigned int nbits)
 {
     unsigned int guest_bytes, copy_bytes;
     int err = 0;
-    uint8_t *bytemap = xzalloc_array(uint8_t, (nr_cpu_ids + 7) / 8);
+    uint8_t *bytemap = xzalloc_array(uint8_t, (nbits + 7) / 8);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_cpumap->nr_cpus + 7) / 8;
-    copy_bytes  = min_t(unsigned int, guest_bytes, (nr_cpu_ids + 7) / 8);
+    guest_bytes = (xenctl_map->nr_elems + 7) / 8;
+    copy_bytes  = min_t(unsigned int, guest_bytes, (nbits + 7) / 8);
 
     if ( copy_bytes != 0 )
     {
-        if ( copy_from_guest(bytemap, xenctl_cpumap->bitmap, copy_bytes) )
+        if ( copy_from_guest(bytemap, xenctl_map->bitmap, copy_bytes) )
             err = -EFAULT;
-        if ( (xenctl_cpumap->nr_cpus & 7) && (guest_bytes <= sizeof(bytemap)) )
-            bytemap[guest_bytes-1] &= ~(0xff << (xenctl_cpumap->nr_cpus & 7));
+        if ( (xenctl_map->nr_elems & 7) && (guest_bytes <= sizeof(bytemap)) )
+            bytemap[guest_bytes-1] &= ~(0xff << (xenctl_map->nr_elems & 7));
     }
 
-    if ( err )
-        /* nothing */;
-    else if ( alloc_cpumask_var(cpumask) )
-        bitmap_byte_to_long(cpumask_bits(*cpumask), bytemap, nr_cpu_ids);
+    if ( !err )
+        bitmap_byte_to_long(bitmap, bytemap, nbits);
+
+    xfree(bytemap);
+
+    return err;
+}
+
+int cpumask_to_xenctl_map(struct xenctl_map *xenctl_cpumap,
+                          const cpumask_t *cpumask)
+{
+    return bitmap_to_xenctl_map(xenctl_cpumap, cpumask_bits(cpumask),
+                                nr_cpu_ids);
+}
+
+int xenctl_map_to_cpumask(cpumask_var_t *cpumask,
+                          const struct xenctl_map *xenctl_cpumap)
+{
+    int err = 0;
+
+    if ( alloc_cpumask_var(cpumask) ) {
+        err = xenctl_map_to_bitmap(cpumask_bits(*cpumask), xenctl_cpumap,
+                                   nr_cpu_ids);
+        /* In case of error, cleanup is up to us, as the caller won't care! */
+        if ( err )
+            free_cpumask_var(*cpumask);
+    }
     else
         err = -ENOMEM;
 
-    xfree(bytemap);
-
     return err;
 }
 
@@ -617,7 +640,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
         {
             cpumask_var_t new_affinity;
 
-            ret = xenctl_cpumap_to_cpumask(
+            ret = xenctl_map_to_cpumask(
                 &new_affinity, &op->u.vcpuaffinity.cpumap);
             if ( !ret )
             {
@@ -627,7 +650,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
         }
         else
         {
-            ret = cpumask_to_xenctl_cpumap(
+            ret = cpumask_to_xenctl_map(
                 &op->u.vcpuaffinity.cpumap, v->cpu_affinity);
         }
 
diff --git a/xen/common/trace.c b/xen/common/trace.c
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -384,7 +384,7 @@ int tb_control(xen_sysctl_tbuf_op_t *tbc
     {
         cpumask_var_t mask;
 
-        rc = xenctl_cpumap_to_cpumask(&mask, &tbc->cpu_mask);
+        rc = xenctl_map_to_cpumask(&mask, &tbc->cpu_mask);
         if ( !rc )
         {
             cpumask_copy(&tb_cpu_mask, mask);
diff --git a/xen/include/public/arch-x86/xen-mca.h b/xen/include/public/arch-x86/xen-mca.h
--- a/xen/include/public/arch-x86/xen-mca.h
+++ b/xen/include/public/arch-x86/xen-mca.h
@@ -414,7 +414,7 @@ struct xen_mc_mceinject {
 
 struct xen_mc_inject_v2 {
 	uint32_t flags;
-	struct xenctl_cpumap cpumap;
+	struct xenctl_map cpumap;
 };
 #endif
 
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -283,7 +283,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_getvc
 /* XEN_DOMCTL_getvcpuaffinity */
 struct xen_domctl_vcpuaffinity {
     uint32_t  vcpu;              /* IN */
-    struct xenctl_cpumap cpumap; /* IN/OUT */
+    struct xenctl_map cpumap;    /* IN/OUT */
 };
 typedef struct xen_domctl_vcpuaffinity xen_domctl_vcpuaffinity_t;
 DEFINE_XEN_GUEST_HANDLE(xen_domctl_vcpuaffinity_t);
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -71,8 +71,8 @@ struct xen_sysctl_tbuf_op {
 #define XEN_SYSCTL_TBUFOP_disable      5
     uint32_t cmd;
     /* IN/OUT variables */
-    struct xenctl_cpumap cpu_mask;
-    uint32_t             evt_mask;
+    struct xenctl_map cpu_mask;
+    uint32_t          evt_mask;
     /* OUT variables */
     uint64_aligned_t buffer_mfn;
     uint32_t size;  /* Also an IN variable! */
@@ -531,7 +531,7 @@ struct xen_sysctl_cpupool_op {
     uint32_t domid;       /* IN: M              */
     uint32_t cpu;         /* IN: AR             */
     uint32_t n_dom;       /*            OUT: I  */
-    struct xenctl_cpumap cpumap; /*     OUT: IF */
+    struct xenctl_map cpumap;    /*     OUT: IF */
 };
 typedef struct xen_sysctl_cpupool_op xen_sysctl_cpupool_op_t;
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpupool_op_t);
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -822,9 +822,9 @@ typedef uint8_t xen_domain_handle_t[16];
 #endif
 
 #ifndef __ASSEMBLY__
-struct xenctl_cpumap {
+struct xenctl_map {
     XEN_GUEST_HANDLE_64(uint8) bitmap;
-    uint32_t nr_cpus;
+    uint32_t nr_elems;
 };
 #endif
 
diff --git a/xen/include/xen/cpumask.h b/xen/include/xen/cpumask.h
--- a/xen/include/xen/cpumask.h
+++ b/xen/include/xen/cpumask.h
@@ -424,8 +424,8 @@ extern cpumask_t cpu_present_map;
 #define for_each_present_cpu(cpu)  for_each_cpu(cpu, &cpu_present_map)
 
 /* Copy to/from cpumap provided by control tools. */
-struct xenctl_cpumap;
-int cpumask_to_xenctl_cpumap(struct xenctl_cpumap *, const cpumask_t *);
-int xenctl_cpumap_to_cpumask(cpumask_var_t *, const struct xenctl_cpumap *);
+struct xenctl_map;
+int cpumask_to_xenctl_map(struct xenctl_map *, const cpumask_t *);
+int xenctl_map_to_cpumask(cpumask_var_t *, const struct xenctl_map *);
 
 #endif /* __XEN_CPUMASK_H */
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -2,7 +2,7 @@
 # ! - needs translation
 # ? - needs checking
 ?	dom0_vga_console_info		xen.h
-?	xenctl_cpumap			xen.h
+?	xenctl_map			xen.h
 ?	mmu_update			xen.h
 !	mmuext_op			xen.h
 !	start_info			xen.h

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Et-00045T-24; Thu, 31 May 2012 12:12:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Er-00044G-Hg
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:25 +0000
Received: from [85.158.143.35:41659] by server-1.bemta-4.messagelabs.com id
	71/17-27869-82067CF4; Thu, 31 May 2012 12:12:24 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466334!18145745!2
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32298 invoked from network); 31 May 2012 12:12:22 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:22 -0000
Received: by mail-wg0-f51.google.com with SMTP id ed3so593583wgb.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=tjwphQcbHsC7bkbj3GUvUi9exvT9wVW1WxOq4fEwH7w=;
	b=zIbUtd2RjR5zHneCp6pGaXgy67EzHRSWjMRWiFENOdcgC2+JBdPFRK3hNsaF39MstJ
	+Szth6BOrUpv/I1BGQIKqF2QLOLWAbpTxJuGHFsxwtzSMcXBVu0vwuXmYU3bbqS/wojO
	ISoVsdzFI9g08ApJU4Zod1sFeIYP3Q0qTJgKtUwyPUaLa5JQPOHRqKqdD5XFMkMchzhv
	tMguoZcyZtj4PQ3+L1nLim11htBOlCf5Fj/TddzSuEHCbtXsAVYsCOzd01FzROCbb8GB
	zV3txu2msScu5sHzKZHBTZbDJ8Aa3Ew5O8NzFbUAuVSBnAOH0sN1Sw4c0b/ada6hJCcw
	YvhA==
Received: by 10.216.198.23 with SMTP id u23mr3966619wen.195.1338466342638;
	Thu, 31 May 2012 05:12:22 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.19
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:21 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: d629e7e2fb6163bb750640f5ac535fa4e76e7784
Message-Id: <d629e7e2fb6163bb7506.1338466274@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:14 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If a domain does not have a VCPU affinity, try to pin it automatically
to some PCPUs. This is done taking into account the NUMA characteristics
of the host: we look for a combination of host's NUMA nodes that has enough
free memoy for the new domain, and pin it to the VCPUs of those nodes.
Smaller combinations are considered first, to avoid spreading the
domain's memory among too many nodes.

After that, we also ensure that the chosen combination comprises at
least the same number of PCPUs than the number of VCPUs of the domain,
increasing the number of nodes it is made up of if that is not the case.
When adding new nodes to a combination, node distances are taken into
account, trying to minimize the peformance impact for the domain.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -111,8 +111,8 @@ created online and the remainder will be
 
 =item B<cpus="CPU-LIST">
 
-List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A C<CPU-LIST> may be specified as follows:
+List of which cpus the guest is allowed to use. By default xl will
+pick some cpus (see below). A C<CPU-LIST> may be specified as follows:
 
 =over 4
 
@@ -132,6 +132,12 @@ run on cpu #3 of the host.
 
 =back
 
+If this option is not specified, xl automatically try to place the new
+domain on the host's NUMA nodes (provided the host has more than one NUMA
+node) by pinning it to the cpus of those nodes. The employed heuristics
+tries to maximize performance for the domain itself, while also achieving
+efficient resource utilization.
+
 =item B<cpu_weight=WEIGHT>
 
 A domain with a weight of 512 will get twice as much CPU as a domain
diff --git a/tools/libxl/gentest.py b/tools/libxl/gentest.py
--- a/tools/libxl/gentest.py
+++ b/tools/libxl/gentest.py
@@ -131,6 +131,19 @@ static void libxl_cpumap_rand_init(libxl
     }
 }
 
+static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
+{
+    int i;
+    nodemap->size = rand() % 16;
+    nodemap->map = calloc(nodemap->size, sizeof(*nodemap->map));
+    libxl_for_each_node(i, *nodemap) {
+        if (rand() % 2)
+            libxl_nodemap_set(nodemap, i);
+        else
+            libxl_nodemap_reset(nodemap, i);
+    }
+}
+
 static void libxl_key_value_list_rand_init(libxl_key_value_list *pkvl)
 {
     int i, nr_kvp = rand() % 16;
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -626,6 +626,15 @@ libxl_cpupoolinfo * libxl_list_cpupool(l
 libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm);
 void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
 
+/* Automatic NUMA placement */
+libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
+                                        libxl_domain_build_info *b_info,
+                                        int min_nodes, int *nr_cndts);
+int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
+                                  int min_cpus, int max_nodes,
+                                  libxl_numa_candidate *candidate);
+void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr);
+
 /*
  * Devices
  * =======
diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c
+++ b/tools/libxl/libxl_json.c
@@ -119,6 +119,26 @@ out:
     return s;
 }
 
+yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand,
+                                       libxl_nodemap *nodemap)
+{
+    yajl_gen_status s;
+    int i;
+
+    s = yajl_gen_array_open(hand);
+    if (s != yajl_gen_status_ok) goto out;
+
+    libxl_for_each_node(i, *nodemap) {
+        if (libxl_nodemap_test(nodemap, i)) {
+            s = yajl_gen_integer(hand, i);
+            if (s != yajl_gen_status_ok) goto out;
+        }
+    }
+    s = yajl_gen_array_close(hand);
+out:
+    return s;
+}
+
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *pkvl)
 {
diff --git a/tools/libxl/libxl_json.h b/tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h
+++ b/tools/libxl/libxl_json.h
@@ -27,6 +27,7 @@ yajl_gen_status libxl_domid_gen_json(yaj
 yajl_gen_status libxl_uuid_gen_json(yajl_gen hand, libxl_uuid *p);
 yajl_gen_status libxl_mac_gen_json(yajl_gen hand, libxl_mac *p);
 yajl_gen_status libxl_cpumap_gen_json(yajl_gen hand, libxl_cpumap *p);
+yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand, libxl_nodemap *p);
 yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
                                                  libxl_cpuid_policy_list *p);
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -439,6 +439,12 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
+libxl_numa_candidate = Struct("numa_candidate", [
+    ("nr_nodes", integer),
+    ("free_memkb", uint32),
+    ("nodemap", libxl_nodemap),
+    ], dir=DIR_OUT)
+
 libxl_sched_credit_domain = Struct("sched_credit_domain", [
     ("weight", integer),
     ("cap", integer),
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -613,6 +613,250 @@ int libxl__enum_from_string(const libxl_
     return ERROR_FAIL;
 }
 
+static uint64_t node_to_nodemap_distance(const libxl_numainfo *ninfo,
+                                         libxl_nodemap *nodemap,
+                                         int node)
+{
+    int i;
+    uint64_t dist = 0;
+
+    /* Sum of the distances of a node from all the nodes in the map */
+    libxl_for_each_set_node(i, *nodemap)
+        dist += labs(ninfo[node].dists[i]);
+
+    return dist;
+}
+
+static int add_node_to_nodemap(const libxl_numainfo *ninfo, int nr_nodes,
+                               libxl_nodemap *nodemap)
+{
+    int i, node = -1;
+    uint64_t min_dist = UINT64_MAX;
+
+    /* Find the node closest to our nodemap */
+    for (i = 0; i < nr_nodes && !libxl_nodemap_test(nodemap, i); i++) {
+        if (node_to_nodemap_distance(ninfo, nodemap, i) < min_dist) {
+            min_dist = node_to_nodemap_distance(ninfo, nodemap, i);
+            node = i;
+        }
+    }
+    if (node >= 0)
+        libxl_nodemap_set(nodemap, node);
+
+    return node;
+}
+
+/*
+ * The following two uility functions compute the node maps
+ * coresponding to the [ n! / (k! * (n - k)!) ] combinations
+ * of @size nodes within a set that is @nr_nodes big, without
+ * repetition. The algorithm used for generating them uses
+ * a vector containing the indexes in the set of the elements
+ * of the i-eth combination to generate the (i+1)-eth, and
+ * ensures they come in lexicographic order.
+ *
+ * For example, with n = 5 and k = 3, calling numa_node_set_init()
+ * will generate "0, 1, 2", while subsequent calls to
+ * numa_node_set_next() yield the following:
+ * "0, 1, 2
+ *  0, 1, 3
+ *  0, 1, 4
+ *  0, 2, 3
+ *  0, 2, 4
+ *  0, 3, 4
+ *  1, 2, 3
+ *  1, 2, 4
+ *  1, 3, 4
+ *  2, 3, 4"
+ */
+static void numa_node_set_init(int nr_nodes, int size, int *idxs,
+                              libxl_nodemap *nodemap)
+{
+    int i;
+
+    /* First set always is "0, 1, 2, ..., size-1" */
+    libxl_nodemap_set_none(nodemap);
+    for (i = 0; i < size; i++) {
+        libxl_nodemap_set(nodemap, i);
+        idxs[i] = i;
+    }
+}
+
+static int numa_node_set_next(int nr_nodes, int size, int *idxs,
+                              libxl_nodemap *nodemap)
+{
+    int i;
+
+    /* Check whether we just need to increase the rightmost index */
+    if (idxs[size - 1] < nr_nodes - 1) {
+        idxs[size - 1]++;
+        goto build_nodemap;
+    }
+
+    /* Find the rightmost element from where to start the increasing */
+    for (i = size - 1; idxs[i] == nr_nodes - size + i; i--) {
+        if (i <= 0) {
+            /* No more valid combinations! */
+            return -1;
+        }
+    }
+    for (idxs[i]++, i += 1; i < size; i++)
+        idxs[i] = idxs[i - 1] + 1;
+
+ build_nodemap:
+    libxl_nodemap_set_none(nodemap);
+    for (i = 0; i < size; i++)
+        libxl_nodemap_set(nodemap, idxs[i]);
+
+    return 0;
+}
+
+libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
+                                        libxl_domain_build_info *b_info,
+                                        int min_nodes, int *nr_cndts)
+{
+    uint32_t dom_memkb, nodes_memkb;
+    libxl_numa_candidate *cndts = NULL;
+    libxl_nodemap suitable_nodes;
+    int *suitable_nodes_idx;
+    libxl_numainfo *ninfo;
+    int nr_nodes, i, next_comb_ok;
+
+    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
+    if (ninfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_numainfo failed.\n");
+        goto out;
+    }
+
+    /* Prepare the nodemap and the index array for the combinations */
+    if (libxl_nodemap_alloc(ctx, &suitable_nodes) < 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_nodemap_alloc failed\n");
+        goto out_numainfo;
+    }
+    suitable_nodes_idx = malloc(sizeof(int) * nr_nodes);
+    if (suitable_nodes_idx == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "malloc failed\n");
+        goto out_nodemap;
+    }
+
+    /* Memoy needed by the domain */
+    if (libxl_domain_need_memory(ctx, b_info, &dom_memkb)) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_domain_need_memory failed\n");
+        goto out_nodemap_idx;
+    }
+
+    *nr_cndts = 0;
+    while (1) {
+        /* Avoid considering a silly number of nodes */
+        if (min_nodes > nr_nodes)
+            break;
+
+        /* Generate the combinations and check their cumulative free memory */
+        numa_node_set_init(nr_nodes, min_nodes, suitable_nodes_idx,
+                           &suitable_nodes);
+        do {
+            nodes_memkb = 0;
+            libxl_for_each_set_node(i, suitable_nodes)
+                nodes_memkb += ninfo[i].free / 1024;
+
+            /* If free memory is enough, this is a valid candidate */
+            if (nodes_memkb >= dom_memkb) {
+                cndts = realloc(cndts, sizeof(cndts[0]) * (*nr_cndts+1));
+                if (cndts == NULL) {
+                    LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realloc failed\n");
+                    goto out_nodemap_idx;
+                }
+
+                libxl_nodemap_alloc(ctx, &cndts[*nr_cndts].nodemap);
+                libxl_nodemap_copy(&cndts[*nr_cndts].nodemap, &suitable_nodes);
+                cndts[*nr_cndts].free_memkb = nodes_memkb;
+                cndts[*nr_cndts].nr_nodes = min_nodes;
+                (*nr_cndts)++;
+            }
+
+            next_comb_ok = numa_node_set_next(nr_nodes, min_nodes,
+                                              suitable_nodes_idx,
+                                              &suitable_nodes) == 0;
+        } while (next_comb_ok);
+
+        min_nodes++;
+    }
+
+ out_nodemap_idx:
+    free(suitable_nodes_idx);
+ out_nodemap:
+    libxl_nodemap_dispose(&suitable_nodes);
+ out_numainfo:
+    libxl_numainfo_list_free(ninfo, nr_nodes);
+ out:
+    return cndts;
+}
+
+int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
+                                  int min_cpus, int max_nodes,
+                                  libxl_numa_candidate *candidate)
+{
+    int dom_nodes, nodes_cpus;
+    libxl_cputopology *tinfo;
+    libxl_numainfo *ninfo;
+    int nr_nodes, nr_cpus;
+    int i, rc;
+
+    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
+    if (tinfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo failed\n");
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+
+    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
+    if (ninfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_numainfo failed\n");
+        rc = ERROR_NOMEM;
+        goto out_topologyinfo;
+    }
+
+    if (max_nodes == -1 || max_nodes > nr_nodes)
+        max_nodes = nr_nodes;
+
+    /* If a candidate is short in PCPUs, just add more nodes */
+    dom_nodes = candidate->nr_nodes;
+    while (1) {
+        rc = ERROR_FAIL;
+
+        if (candidate->nr_nodes > max_nodes)
+            break;
+
+        for (i = 0, nodes_cpus = 0; i < nr_cpus; i++) {
+            if (libxl_nodemap_test(&candidate->nodemap, tinfo[i].node))
+                nodes_cpus++;
+        }
+
+        /* Either we have enough PCPUs, and thus we're done ... */
+        if (nodes_cpus >= min_cpus) {
+            rc = 0;
+            break;
+        }
+        /* ... Or we need more, and we want to try adding the closest node */
+        add_node_to_nodemap(ninfo, nr_nodes, &candidate->nodemap);
+        candidate->nr_nodes++;
+    }
+
+    libxl_numainfo_list_free(ninfo, nr_nodes);
+ out_topologyinfo:
+    libxl_cputopology_list_free(tinfo, nr_cpus);
+ out:
+    return rc;
+}
+
+void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_numa_candidate_dispose(&list[i]);
+    free(list);
+}
+
 void libxl_numainfo_list_free(libxl_numainfo *list, int nr)
 {
     int i;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -490,6 +490,122 @@ static void split_string_into_string_lis
     free(s);
 }
 
+/* How many PCPUs are there on each node? */
+static int cpus_per_node(libxl_cputopology *tinfo, int nr_cpus)
+{
+    libxl_numainfo *ninfo;
+    int nr_nodes, j, i;
+    int cpus_nodes = 0;
+
+    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
+    if (ninfo == NULL)
+        return 0;
+
+    /* This makes sense iff # of PCPUs is the same for all nodes */
+    for (j = 0; j < nr_nodes; j++) {
+        int curr_cpus = 0;
+
+        for (i = 0; i < nr_cpus; i++) {
+            if (tinfo[i].node == j)
+                curr_cpus++;
+        }
+        cpus_nodes = cpus_nodes == 0 ? curr_cpus : cpus_nodes;
+
+        /* Make sure the above holds, or turn the whole thing off! */
+        if (cpus_nodes != curr_cpus) {
+            cpus_nodes = 0;
+            break;
+        }
+    }
+
+    libxl_numainfo_dispose(ninfo);
+    return cpus_nodes;
+}
+
+/* Try to achieve "optimal" NUMA placement */
+static int place_domain(libxl_domain_build_info *b_info)
+{
+    int dom_min_nodes, dom_max_nodes;
+    int dom_needs_cpus, cpus_nodes;
+    libxl_cputopology *tinfo;
+    libxl_cpupoolinfo *pinfo;
+    int nr_cpus, nr_pools;
+    libxl_numa_candidate *candidates;
+    int candidate, nr_candidates;
+    int i, err;
+
+    /* First of all, if the domain has its cpu-affinity, just don't bother */
+    if (libxl_cpumap_is_full(&b_info->cpumap) != 0)
+        return 0;
+
+    /* If cpupools are in use, better not to mess with them */
+    pinfo = libxl_list_cpupool(ctx, &nr_pools);
+    if (!pinfo) {
+        fprintf(stderr, "error getting cpupool info\n");
+        err = ENOMEM;
+        goto out;
+    }
+    if (nr_pools > 1) {
+        fprintf(stderr, "skip numa placement as cpupools are being used\n");
+        err = 0;
+        goto out_poolinfo;
+    }
+
+    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
+    if (tinfo == NULL) {
+        fprintf(stderr, "libxl_get_topologyinfo failed.\n");
+        err = ENOMEM;
+        goto out_poolinfo;
+    }
+
+    /* If possible, start with a sensible minimum number of nodes */
+    cpus_nodes = cpus_per_node(tinfo, nr_cpus);
+    dom_needs_cpus = b_info->max_vcpus;
+
+    if (cpus_nodes != 0)
+        dom_min_nodes = (dom_needs_cpus + cpus_nodes - 1) / cpus_nodes;
+    else
+        dom_min_nodes = 1;
+
+    /* Let's fit the domain memory-wise (ENOSPC if we don't manage) */
+    candidates = libxl_domain_numa_candidates(ctx, b_info, dom_min_nodes,
+                                              &nr_candidates);
+    if (!candidates) {
+        err = ENOSPC;
+        goto out_topologyinfo;
+    }
+
+    /* Pick a candidate and ensure it gives us enough PCPUs */
+    dom_max_nodes = -1; err = ERROR_FAIL;
+    for (candidate = 0; err && candidate < nr_candidates; candidate++) {
+        /* We try adding nodes up to all of them (dom_max_nodes = -1) */
+        err = libxl_numa_candidate_add_cpus(ctx, dom_needs_cpus, dom_max_nodes,
+                                            &candidates[candidate]);
+    }
+
+    if (err == ERROR_FAIL) {
+        /* Report back we didn't find a candidate with enough cpus */
+        err = ESRCH;
+    } else if (!err) {
+        /* Things went fine. Commit the map into domain's build info */
+        libxl_cpumap_set_none(&b_info->cpumap);
+        for (i = 0; i < nr_cpus; i++) {
+            if (libxl_nodemap_test(&candidates[candidate-1].nodemap,
+                                   tinfo[i].node))
+                libxl_cpumap_set(&b_info->cpumap, i);
+        }
+    }
+
+    libxl_numa_candidates_list_free(candidates, nr_candidates);
+out_topologyinfo:
+    libxl_cputopology_list_free(tinfo, nr_cpus);
+out_poolinfo:
+    for (i = 0; i < nr_pools; i++)
+        libxl_cpupoolinfo_dispose(&pinfo[i]);
+out:
+    return err;
+}
+
 static int vcpupin_parse(char *cpu, libxl_cpumap *cpumap)
 {
     libxl_cpumap exclude_cpumap;
@@ -1738,6 +1854,16 @@ start:
         goto error_out;
     }
 
+    ret = place_domain(&d_config.b_info);
+    if (ret == ESRCH || ret == ENOSPC) {
+        fprintf(stderr, "Failed to place the domain, fallback to all nodes\n");
+        /* Resetting domain's cpu-affinity is enough for that */
+        libxl_cpumap_set_any(&d_config.b_info.cpumap);
+    } else if (ret != 0) {
+        ret = ERROR_FAIL;
+        goto error_out;
+    }
+
     libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
         autoconnect_console_how_buf.callback = autoconnect_console;
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -320,6 +320,23 @@ PyObject *attrib__libxl_file_reference_g
     return genwrap__string_get(&pptr->path);
 }
 
+PyObject *attrib__libxl_nodemap_get(libxl_nodemap *pptr)
+{
+    PyObject *nodelist = NULL;
+    int i;
+
+    nodelist = PyList_New(0);
+    libxl_for_each_node(i, *pptr) {
+        if ( libxl_nodemap_test(pptr, i) ) {
+            PyObject* pyint = PyInt_FromLong(i);
+
+            PyList_Append(nodelist, pyint);
+            Py_DECREF(pyint);
+        }
+    }
+    return nodelist;
+}
+
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Et-00045T-24; Thu, 31 May 2012 12:12:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Er-00044G-Hg
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:25 +0000
Received: from [85.158.143.35:41659] by server-1.bemta-4.messagelabs.com id
	71/17-27869-82067CF4; Thu, 31 May 2012 12:12:24 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1338466334!18145745!2
X-Originating-IP: [74.125.82.51]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32298 invoked from network); 31 May 2012 12:12:22 -0000
Received: from mail-wg0-f51.google.com (HELO mail-wg0-f51.google.com)
	(74.125.82.51)
	by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:22 -0000
Received: by mail-wg0-f51.google.com with SMTP id ed3so593583wgb.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=tjwphQcbHsC7bkbj3GUvUi9exvT9wVW1WxOq4fEwH7w=;
	b=zIbUtd2RjR5zHneCp6pGaXgy67EzHRSWjMRWiFENOdcgC2+JBdPFRK3hNsaF39MstJ
	+Szth6BOrUpv/I1BGQIKqF2QLOLWAbpTxJuGHFsxwtzSMcXBVu0vwuXmYU3bbqS/wojO
	ISoVsdzFI9g08ApJU4Zod1sFeIYP3Q0qTJgKtUwyPUaLa5JQPOHRqKqdD5XFMkMchzhv
	tMguoZcyZtj4PQ3+L1nLim11htBOlCf5Fj/TddzSuEHCbtXsAVYsCOzd01FzROCbb8GB
	zV3txu2msScu5sHzKZHBTZbDJ8Aa3Ew5O8NzFbUAuVSBnAOH0sN1Sw4c0b/ada6hJCcw
	YvhA==
Received: by 10.216.198.23 with SMTP id u23mr3966619wen.195.1338466342638;
	Thu, 31 May 2012 05:12:22 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.19
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:21 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: d629e7e2fb6163bb750640f5ac535fa4e76e7784
Message-Id: <d629e7e2fb6163bb7506.1338466274@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:14 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

If a domain does not have a VCPU affinity, try to pin it automatically
to some PCPUs. This is done taking into account the NUMA characteristics
of the host: we look for a combination of host's NUMA nodes that has enough
free memoy for the new domain, and pin it to the VCPUs of those nodes.
Smaller combinations are considered first, to avoid spreading the
domain's memory among too many nodes.

After that, we also ensure that the chosen combination comprises at
least the same number of PCPUs than the number of VCPUs of the domain,
increasing the number of nodes it is made up of if that is not the case.
When adding new nodes to a combination, node distances are taken into
account, trying to minimize the peformance impact for the domain.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -111,8 +111,8 @@ created online and the remainder will be
 
 =item B<cpus="CPU-LIST">
 
-List of which cpus the guest is allowed to use. Default behavior is
-`all cpus`. A C<CPU-LIST> may be specified as follows:
+List of which cpus the guest is allowed to use. By default xl will
+pick some cpus (see below). A C<CPU-LIST> may be specified as follows:
 
 =over 4
 
@@ -132,6 +132,12 @@ run on cpu #3 of the host.
 
 =back
 
+If this option is not specified, xl automatically try to place the new
+domain on the host's NUMA nodes (provided the host has more than one NUMA
+node) by pinning it to the cpus of those nodes. The employed heuristics
+tries to maximize performance for the domain itself, while also achieving
+efficient resource utilization.
+
 =item B<cpu_weight=WEIGHT>
 
 A domain with a weight of 512 will get twice as much CPU as a domain
diff --git a/tools/libxl/gentest.py b/tools/libxl/gentest.py
--- a/tools/libxl/gentest.py
+++ b/tools/libxl/gentest.py
@@ -131,6 +131,19 @@ static void libxl_cpumap_rand_init(libxl
     }
 }
 
+static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
+{
+    int i;
+    nodemap->size = rand() % 16;
+    nodemap->map = calloc(nodemap->size, sizeof(*nodemap->map));
+    libxl_for_each_node(i, *nodemap) {
+        if (rand() % 2)
+            libxl_nodemap_set(nodemap, i);
+        else
+            libxl_nodemap_reset(nodemap, i);
+    }
+}
+
 static void libxl_key_value_list_rand_init(libxl_key_value_list *pkvl)
 {
     int i, nr_kvp = rand() % 16;
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -626,6 +626,15 @@ libxl_cpupoolinfo * libxl_list_cpupool(l
 libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm);
 void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
 
+/* Automatic NUMA placement */
+libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
+                                        libxl_domain_build_info *b_info,
+                                        int min_nodes, int *nr_cndts);
+int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
+                                  int min_cpus, int max_nodes,
+                                  libxl_numa_candidate *candidate);
+void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr);
+
 /*
  * Devices
  * =======
diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
--- a/tools/libxl/libxl_json.c
+++ b/tools/libxl/libxl_json.c
@@ -119,6 +119,26 @@ out:
     return s;
 }
 
+yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand,
+                                       libxl_nodemap *nodemap)
+{
+    yajl_gen_status s;
+    int i;
+
+    s = yajl_gen_array_open(hand);
+    if (s != yajl_gen_status_ok) goto out;
+
+    libxl_for_each_node(i, *nodemap) {
+        if (libxl_nodemap_test(nodemap, i)) {
+            s = yajl_gen_integer(hand, i);
+            if (s != yajl_gen_status_ok) goto out;
+        }
+    }
+    s = yajl_gen_array_close(hand);
+out:
+    return s;
+}
+
 yajl_gen_status libxl_key_value_list_gen_json(yajl_gen hand,
                                               libxl_key_value_list *pkvl)
 {
diff --git a/tools/libxl/libxl_json.h b/tools/libxl/libxl_json.h
--- a/tools/libxl/libxl_json.h
+++ b/tools/libxl/libxl_json.h
@@ -27,6 +27,7 @@ yajl_gen_status libxl_domid_gen_json(yaj
 yajl_gen_status libxl_uuid_gen_json(yajl_gen hand, libxl_uuid *p);
 yajl_gen_status libxl_mac_gen_json(yajl_gen hand, libxl_mac *p);
 yajl_gen_status libxl_cpumap_gen_json(yajl_gen hand, libxl_cpumap *p);
+yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand, libxl_nodemap *p);
 yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
                                                  libxl_cpuid_policy_list *p);
 yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *p);
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -439,6 +439,12 @@ libxl_cputopology = Struct("cputopology"
     ("node", uint32),
     ], dir=DIR_OUT)
 
+libxl_numa_candidate = Struct("numa_candidate", [
+    ("nr_nodes", integer),
+    ("free_memkb", uint32),
+    ("nodemap", libxl_nodemap),
+    ], dir=DIR_OUT)
+
 libxl_sched_credit_domain = Struct("sched_credit_domain", [
     ("weight", integer),
     ("cap", integer),
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -613,6 +613,250 @@ int libxl__enum_from_string(const libxl_
     return ERROR_FAIL;
 }
 
+static uint64_t node_to_nodemap_distance(const libxl_numainfo *ninfo,
+                                         libxl_nodemap *nodemap,
+                                         int node)
+{
+    int i;
+    uint64_t dist = 0;
+
+    /* Sum of the distances of a node from all the nodes in the map */
+    libxl_for_each_set_node(i, *nodemap)
+        dist += labs(ninfo[node].dists[i]);
+
+    return dist;
+}
+
+static int add_node_to_nodemap(const libxl_numainfo *ninfo, int nr_nodes,
+                               libxl_nodemap *nodemap)
+{
+    int i, node = -1;
+    uint64_t min_dist = UINT64_MAX;
+
+    /* Find the node closest to our nodemap */
+    for (i = 0; i < nr_nodes && !libxl_nodemap_test(nodemap, i); i++) {
+        if (node_to_nodemap_distance(ninfo, nodemap, i) < min_dist) {
+            min_dist = node_to_nodemap_distance(ninfo, nodemap, i);
+            node = i;
+        }
+    }
+    if (node >= 0)
+        libxl_nodemap_set(nodemap, node);
+
+    return node;
+}
+
+/*
+ * The following two uility functions compute the node maps
+ * coresponding to the [ n! / (k! * (n - k)!) ] combinations
+ * of @size nodes within a set that is @nr_nodes big, without
+ * repetition. The algorithm used for generating them uses
+ * a vector containing the indexes in the set of the elements
+ * of the i-eth combination to generate the (i+1)-eth, and
+ * ensures they come in lexicographic order.
+ *
+ * For example, with n = 5 and k = 3, calling numa_node_set_init()
+ * will generate "0, 1, 2", while subsequent calls to
+ * numa_node_set_next() yield the following:
+ * "0, 1, 2
+ *  0, 1, 3
+ *  0, 1, 4
+ *  0, 2, 3
+ *  0, 2, 4
+ *  0, 3, 4
+ *  1, 2, 3
+ *  1, 2, 4
+ *  1, 3, 4
+ *  2, 3, 4"
+ */
+static void numa_node_set_init(int nr_nodes, int size, int *idxs,
+                              libxl_nodemap *nodemap)
+{
+    int i;
+
+    /* First set always is "0, 1, 2, ..., size-1" */
+    libxl_nodemap_set_none(nodemap);
+    for (i = 0; i < size; i++) {
+        libxl_nodemap_set(nodemap, i);
+        idxs[i] = i;
+    }
+}
+
+static int numa_node_set_next(int nr_nodes, int size, int *idxs,
+                              libxl_nodemap *nodemap)
+{
+    int i;
+
+    /* Check whether we just need to increase the rightmost index */
+    if (idxs[size - 1] < nr_nodes - 1) {
+        idxs[size - 1]++;
+        goto build_nodemap;
+    }
+
+    /* Find the rightmost element from where to start the increasing */
+    for (i = size - 1; idxs[i] == nr_nodes - size + i; i--) {
+        if (i <= 0) {
+            /* No more valid combinations! */
+            return -1;
+        }
+    }
+    for (idxs[i]++, i += 1; i < size; i++)
+        idxs[i] = idxs[i - 1] + 1;
+
+ build_nodemap:
+    libxl_nodemap_set_none(nodemap);
+    for (i = 0; i < size; i++)
+        libxl_nodemap_set(nodemap, idxs[i]);
+
+    return 0;
+}
+
+libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
+                                        libxl_domain_build_info *b_info,
+                                        int min_nodes, int *nr_cndts)
+{
+    uint32_t dom_memkb, nodes_memkb;
+    libxl_numa_candidate *cndts = NULL;
+    libxl_nodemap suitable_nodes;
+    int *suitable_nodes_idx;
+    libxl_numainfo *ninfo;
+    int nr_nodes, i, next_comb_ok;
+
+    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
+    if (ninfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_numainfo failed.\n");
+        goto out;
+    }
+
+    /* Prepare the nodemap and the index array for the combinations */
+    if (libxl_nodemap_alloc(ctx, &suitable_nodes) < 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_nodemap_alloc failed\n");
+        goto out_numainfo;
+    }
+    suitable_nodes_idx = malloc(sizeof(int) * nr_nodes);
+    if (suitable_nodes_idx == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "malloc failed\n");
+        goto out_nodemap;
+    }
+
+    /* Memoy needed by the domain */
+    if (libxl_domain_need_memory(ctx, b_info, &dom_memkb)) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_domain_need_memory failed\n");
+        goto out_nodemap_idx;
+    }
+
+    *nr_cndts = 0;
+    while (1) {
+        /* Avoid considering a silly number of nodes */
+        if (min_nodes > nr_nodes)
+            break;
+
+        /* Generate the combinations and check their cumulative free memory */
+        numa_node_set_init(nr_nodes, min_nodes, suitable_nodes_idx,
+                           &suitable_nodes);
+        do {
+            nodes_memkb = 0;
+            libxl_for_each_set_node(i, suitable_nodes)
+                nodes_memkb += ninfo[i].free / 1024;
+
+            /* If free memory is enough, this is a valid candidate */
+            if (nodes_memkb >= dom_memkb) {
+                cndts = realloc(cndts, sizeof(cndts[0]) * (*nr_cndts+1));
+                if (cndts == NULL) {
+                    LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "realloc failed\n");
+                    goto out_nodemap_idx;
+                }
+
+                libxl_nodemap_alloc(ctx, &cndts[*nr_cndts].nodemap);
+                libxl_nodemap_copy(&cndts[*nr_cndts].nodemap, &suitable_nodes);
+                cndts[*nr_cndts].free_memkb = nodes_memkb;
+                cndts[*nr_cndts].nr_nodes = min_nodes;
+                (*nr_cndts)++;
+            }
+
+            next_comb_ok = numa_node_set_next(nr_nodes, min_nodes,
+                                              suitable_nodes_idx,
+                                              &suitable_nodes) == 0;
+        } while (next_comb_ok);
+
+        min_nodes++;
+    }
+
+ out_nodemap_idx:
+    free(suitable_nodes_idx);
+ out_nodemap:
+    libxl_nodemap_dispose(&suitable_nodes);
+ out_numainfo:
+    libxl_numainfo_list_free(ninfo, nr_nodes);
+ out:
+    return cndts;
+}
+
+int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
+                                  int min_cpus, int max_nodes,
+                                  libxl_numa_candidate *candidate)
+{
+    int dom_nodes, nodes_cpus;
+    libxl_cputopology *tinfo;
+    libxl_numainfo *ninfo;
+    int nr_nodes, nr_cpus;
+    int i, rc;
+
+    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
+    if (tinfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo failed\n");
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+
+    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
+    if (ninfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_numainfo failed\n");
+        rc = ERROR_NOMEM;
+        goto out_topologyinfo;
+    }
+
+    if (max_nodes == -1 || max_nodes > nr_nodes)
+        max_nodes = nr_nodes;
+
+    /* If a candidate is short in PCPUs, just add more nodes */
+    dom_nodes = candidate->nr_nodes;
+    while (1) {
+        rc = ERROR_FAIL;
+
+        if (candidate->nr_nodes > max_nodes)
+            break;
+
+        for (i = 0, nodes_cpus = 0; i < nr_cpus; i++) {
+            if (libxl_nodemap_test(&candidate->nodemap, tinfo[i].node))
+                nodes_cpus++;
+        }
+
+        /* Either we have enough PCPUs, and thus we're done ... */
+        if (nodes_cpus >= min_cpus) {
+            rc = 0;
+            break;
+        }
+        /* ... Or we need more, and we want to try adding the closest node */
+        add_node_to_nodemap(ninfo, nr_nodes, &candidate->nodemap);
+        candidate->nr_nodes++;
+    }
+
+    libxl_numainfo_list_free(ninfo, nr_nodes);
+ out_topologyinfo:
+    libxl_cputopology_list_free(tinfo, nr_cpus);
+ out:
+    return rc;
+}
+
+void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr)
+{
+    int i;
+    for (i = 0; i < nr; i++)
+        libxl_numa_candidate_dispose(&list[i]);
+    free(list);
+}
+
 void libxl_numainfo_list_free(libxl_numainfo *list, int nr)
 {
     int i;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -490,6 +490,122 @@ static void split_string_into_string_lis
     free(s);
 }
 
+/* How many PCPUs are there on each node? */
+static int cpus_per_node(libxl_cputopology *tinfo, int nr_cpus)
+{
+    libxl_numainfo *ninfo;
+    int nr_nodes, j, i;
+    int cpus_nodes = 0;
+
+    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
+    if (ninfo == NULL)
+        return 0;
+
+    /* This makes sense iff # of PCPUs is the same for all nodes */
+    for (j = 0; j < nr_nodes; j++) {
+        int curr_cpus = 0;
+
+        for (i = 0; i < nr_cpus; i++) {
+            if (tinfo[i].node == j)
+                curr_cpus++;
+        }
+        cpus_nodes = cpus_nodes == 0 ? curr_cpus : cpus_nodes;
+
+        /* Make sure the above holds, or turn the whole thing off! */
+        if (cpus_nodes != curr_cpus) {
+            cpus_nodes = 0;
+            break;
+        }
+    }
+
+    libxl_numainfo_dispose(ninfo);
+    return cpus_nodes;
+}
+
+/* Try to achieve "optimal" NUMA placement */
+static int place_domain(libxl_domain_build_info *b_info)
+{
+    int dom_min_nodes, dom_max_nodes;
+    int dom_needs_cpus, cpus_nodes;
+    libxl_cputopology *tinfo;
+    libxl_cpupoolinfo *pinfo;
+    int nr_cpus, nr_pools;
+    libxl_numa_candidate *candidates;
+    int candidate, nr_candidates;
+    int i, err;
+
+    /* First of all, if the domain has its cpu-affinity, just don't bother */
+    if (libxl_cpumap_is_full(&b_info->cpumap) != 0)
+        return 0;
+
+    /* If cpupools are in use, better not to mess with them */
+    pinfo = libxl_list_cpupool(ctx, &nr_pools);
+    if (!pinfo) {
+        fprintf(stderr, "error getting cpupool info\n");
+        err = ENOMEM;
+        goto out;
+    }
+    if (nr_pools > 1) {
+        fprintf(stderr, "skip numa placement as cpupools are being used\n");
+        err = 0;
+        goto out_poolinfo;
+    }
+
+    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
+    if (tinfo == NULL) {
+        fprintf(stderr, "libxl_get_topologyinfo failed.\n");
+        err = ENOMEM;
+        goto out_poolinfo;
+    }
+
+    /* If possible, start with a sensible minimum number of nodes */
+    cpus_nodes = cpus_per_node(tinfo, nr_cpus);
+    dom_needs_cpus = b_info->max_vcpus;
+
+    if (cpus_nodes != 0)
+        dom_min_nodes = (dom_needs_cpus + cpus_nodes - 1) / cpus_nodes;
+    else
+        dom_min_nodes = 1;
+
+    /* Let's fit the domain memory-wise (ENOSPC if we don't manage) */
+    candidates = libxl_domain_numa_candidates(ctx, b_info, dom_min_nodes,
+                                              &nr_candidates);
+    if (!candidates) {
+        err = ENOSPC;
+        goto out_topologyinfo;
+    }
+
+    /* Pick a candidate and ensure it gives us enough PCPUs */
+    dom_max_nodes = -1; err = ERROR_FAIL;
+    for (candidate = 0; err && candidate < nr_candidates; candidate++) {
+        /* We try adding nodes up to all of them (dom_max_nodes = -1) */
+        err = libxl_numa_candidate_add_cpus(ctx, dom_needs_cpus, dom_max_nodes,
+                                            &candidates[candidate]);
+    }
+
+    if (err == ERROR_FAIL) {
+        /* Report back we didn't find a candidate with enough cpus */
+        err = ESRCH;
+    } else if (!err) {
+        /* Things went fine. Commit the map into domain's build info */
+        libxl_cpumap_set_none(&b_info->cpumap);
+        for (i = 0; i < nr_cpus; i++) {
+            if (libxl_nodemap_test(&candidates[candidate-1].nodemap,
+                                   tinfo[i].node))
+                libxl_cpumap_set(&b_info->cpumap, i);
+        }
+    }
+
+    libxl_numa_candidates_list_free(candidates, nr_candidates);
+out_topologyinfo:
+    libxl_cputopology_list_free(tinfo, nr_cpus);
+out_poolinfo:
+    for (i = 0; i < nr_pools; i++)
+        libxl_cpupoolinfo_dispose(&pinfo[i]);
+out:
+    return err;
+}
+
 static int vcpupin_parse(char *cpu, libxl_cpumap *cpumap)
 {
     libxl_cpumap exclude_cpumap;
@@ -1738,6 +1854,16 @@ start:
         goto error_out;
     }
 
+    ret = place_domain(&d_config.b_info);
+    if (ret == ESRCH || ret == ENOSPC) {
+        fprintf(stderr, "Failed to place the domain, fallback to all nodes\n");
+        /* Resetting domain's cpu-affinity is enough for that */
+        libxl_cpumap_set_any(&d_config.b_info.cpumap);
+    } else if (ret != 0) {
+        ret = ERROR_FAIL;
+        goto error_out;
+    }
+
     libxl_asyncprogress_how autoconnect_console_how_buf;
     if ( dom_info->console_autoconnect ) {
         autoconnect_console_how_buf.callback = autoconnect_console;
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -320,6 +320,23 @@ PyObject *attrib__libxl_file_reference_g
     return genwrap__string_get(&pptr->path);
 }
 
+PyObject *attrib__libxl_nodemap_get(libxl_nodemap *pptr)
+{
+    PyObject *nodelist = NULL;
+    int i;
+
+    nodelist = PyList_New(0);
+    libxl_for_each_node(i, *pptr) {
+        if ( libxl_nodemap_test(pptr, i) ) {
+            PyObject* pyint = PyInt_FromLong(i);
+
+            PyList_Append(nodelist, pyint);
+            Py_DECREF(pyint);
+        }
+    }
+    return nodelist;
+}
+
 PyObject *attrib__libxl_hwcap_get(libxl_hwcap *pptr)
 {
     PyErr_SetString(PyExc_NotImplementedError, "Getting hwcap");

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Em-000429-34; Thu, 31 May 2012 12:12:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ek-0003zh-6T
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:18 +0000
Received: from [85.158.143.35:5690] by server-1.bemta-4.messagelabs.com id
	DA/C6-27869-12067CF4; Thu, 31 May 2012 12:12:17 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338466337!14176098!1
X-Originating-IP: [209.85.212.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29449 invoked from network); 31 May 2012 12:12:17 -0000
Received: from mail-wi0-f173.google.com (HELO mail-wi0-f173.google.com)
	(209.85.212.173)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:17 -0000
Received: by wibhj6 with SMTP id hj6so4089011wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=6sVQ4R7RPR4PKMnA4ZcbufAU7rsbwPZ9oBIirbEsvWc=;
	b=ue/ll2I1RcNnw8cLBo7lNNVEiK/jtW6HuSN9GgPSr4rbO3bLBnZAEfq1xUbkIzJtl4
	XpHrAYJTD3DyJ1KZHfNrCEQ7juDeMXfwOBL3swBarigzaLvDt+EMBq6luQz0EL8QyN/B
	7hAGYPhQ/7pO1AMb8oVweTIsZYgFCTlaR8f0iJDtnmvrneBpDPUUwmaFrx474GhqLpss
	UXNjJz2DIm8MHrsSd/Qpm/iVGP4rstyoKJCejARI2AdNaWhEAU1EOPT7HZMnmePu2Gfq
	+KLEoD4x1lMDs4BmE388r2nwKmE9vCm8LzIC4zZBR/dc0Hvwb+7rDujmy4FggI8/5jkc
	91hA==
Received: by 10.216.195.74 with SMTP id o52mr12171717wen.178.1338466337159;
	Thu, 31 May 2012 05:12:17 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.14
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:16 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 6e78a6ac1c9357da734c91a9e8c2a4dead9591a7
Message-Id: <6e78a6ac1c9357da734c.1338466272@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:12 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 07 of 11] xen: enhance dump_numa output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

By showing the number of free pages on each node.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -365,10 +365,11 @@ static void dump_numa(unsigned char key)
 
 	for_each_online_node(i) {
 		paddr_t pa = (paddr_t)(NODE_DATA(i)->node_start_pfn + 1)<< PAGE_SHIFT;
-		printk("idx%d -> NODE%d start->%lu size->%lu\n",
+		printk("idx%d -> NODE%d start->%lu size->%lu free->%lu\n",
 			  i, NODE_DATA(i)->node_id,
 			  NODE_DATA(i)->node_start_pfn,
-			  NODE_DATA(i)->node_spanned_pages);
+			  NODE_DATA(i)->node_spanned_pages,
+                          avail_node_heap_pages(i));
 		/* sanity check phys_to_nid() */
 		printk("phys_to_nid(%"PRIpaddr") -> %d should be %d\n", pa, phys_to_nid(pa),
 			  NODE_DATA(i)->node_id);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Em-000429-34; Thu, 31 May 2012 12:12:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ek-0003zh-6T
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:18 +0000
Received: from [85.158.143.35:5690] by server-1.bemta-4.messagelabs.com id
	DA/C6-27869-12067CF4; Thu, 31 May 2012 12:12:17 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338466337!14176098!1
X-Originating-IP: [209.85.212.173]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29449 invoked from network); 31 May 2012 12:12:17 -0000
Received: from mail-wi0-f173.google.com (HELO mail-wi0-f173.google.com)
	(209.85.212.173)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:17 -0000
Received: by wibhj6 with SMTP id hj6so4089011wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=6sVQ4R7RPR4PKMnA4ZcbufAU7rsbwPZ9oBIirbEsvWc=;
	b=ue/ll2I1RcNnw8cLBo7lNNVEiK/jtW6HuSN9GgPSr4rbO3bLBnZAEfq1xUbkIzJtl4
	XpHrAYJTD3DyJ1KZHfNrCEQ7juDeMXfwOBL3swBarigzaLvDt+EMBq6luQz0EL8QyN/B
	7hAGYPhQ/7pO1AMb8oVweTIsZYgFCTlaR8f0iJDtnmvrneBpDPUUwmaFrx474GhqLpss
	UXNjJz2DIm8MHrsSd/Qpm/iVGP4rstyoKJCejARI2AdNaWhEAU1EOPT7HZMnmePu2Gfq
	+KLEoD4x1lMDs4BmE388r2nwKmE9vCm8LzIC4zZBR/dc0Hvwb+7rDujmy4FggI8/5jkc
	91hA==
Received: by 10.216.195.74 with SMTP id o52mr12171717wen.178.1338466337159;
	Thu, 31 May 2012 05:12:17 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.14
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:16 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 6e78a6ac1c9357da734c91a9e8c2a4dead9591a7
Message-Id: <6e78a6ac1c9357da734c.1338466272@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:12 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 07 of 11] xen: enhance dump_numa output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

By showing the number of free pages on each node.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -365,10 +365,11 @@ static void dump_numa(unsigned char key)
 
 	for_each_online_node(i) {
 		paddr_t pa = (paddr_t)(NODE_DATA(i)->node_start_pfn + 1)<< PAGE_SHIFT;
-		printk("idx%d -> NODE%d start->%lu size->%lu\n",
+		printk("idx%d -> NODE%d start->%lu size->%lu free->%lu\n",
 			  i, NODE_DATA(i)->node_id,
 			  NODE_DATA(i)->node_start_pfn,
-			  NODE_DATA(i)->node_spanned_pages);
+			  NODE_DATA(i)->node_spanned_pages,
+                          avail_node_heap_pages(i));
 		/* sanity check phys_to_nid() */
 		printk("phys_to_nid(%"PRIpaddr") -> %d should be %d\n", pa, phys_to_nid(pa),
 			  NODE_DATA(i)->node_id);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4F1-0004Cl-9O; Thu, 31 May 2012 12:12:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ez-0004BP-Oc
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:34 +0000
Received: from [85.158.138.51:9599] by server-2.bemta-3.messagelabs.com id
	C8/CC-17140-03067CF4; Thu, 31 May 2012 12:12:32 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338466329!30145680!3
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6659 invoked from network); 31 May 2012 12:12:30 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:30 -0000
Received: by mail-wi0-f179.google.com with SMTP id hr14so701413wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=2Teu+su+pu/zPsk5X3nDeuMEFusRhbrsX5Mc7AManQA=;
	b=FdJq9Fkl4xU+Nn90bLEZIMkhJ8mZePxed8yHvz2fPWV6jvXN8WPmG/wRXz+/vneret
	7OXwy7fZMkj1TuDCm9mEDiaYV3RrTfvmEfxBg52Y8k2D8kl9+OhvXVXKotObDpj7wnZS
	31o6EuO00qj8hxZ47G65cJzWxmhoWr7xMIH52wVmJ9Mw+22/MZdOoi94OEUuqAfvhOBJ
	CrbRGmGvVcyaiUemZlIlZW+yEarTwqt/S35Wll1QHdN+IMKSnCFTWI83XDrjY5JifLTz
	zlR8qS+lPZoH4lShSmaI+fBwfgroz4ixs6bF55Ti+BCE1hi6bfeo1K5e8/XVJPJZyZU7
	yg2g==
Received: by 10.216.140.35 with SMTP id d35mr13330697wej.105.1338466347568;
	Thu, 31 May 2012 05:12:27 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.25
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:26 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: e9b2e81e4afbde8c3ceba338a62bc4eef99a8fcc
Message-Id: <e9b2e81e4afbde8c3ceb.1338466276@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:16 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 11 of 11] Some automatic NUMA placement
	documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

About rationale, usage and API.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/misc/xl-numa-placement.markdonw b/docs/misc/xl-numa-placement.markdonw
new file mode 100644
--- /dev/null
+++ b/docs/misc/xl-numa-placement.markdonw
@@ -0,0 +1,113 @@
+# Guest Automatic NUMA Placement in libxl and xl #
+
+## Rationale ##
+
+The Xen hypervisor deals with Non-Uniform Memory Access (NUMA])
+machines by assigning to its domain a "node affinity", i.e., a set of NUMA
+nodes of the host from which it gets its memory allocated.
+
+NUMA awareness becomes very important as soon as many domains start running
+memory-intensive workloads on a shared host. In fact, the cost of accessing
+non node-local memory locations is very high, and the performance degradation
+is likely to be noticeable.
+
+## Guest Placement in xl ##
+
+If using xl for creating and managing guests, it is very easy to ask
+for both manual or automatic placement of them across the host's NUMA
+nodes.
+
+Note that xm/xend does the very same thing, the only differences residing
+in the details of the heuristics adopted for the placement (see below).
+
+### Manual Guest Placement with xl ###
+
+Thanks to the "cpus=" option, it is possible to specify where a domain
+should be created and scheduled on, directly in its config file. This
+affects NUMA placement and memory accesses as the hypervisor constructs
+the node affinity of a VM basing right on its CPU affinity when it is
+created.
+
+This is very simple and effective, but requires the user/system
+administrator to explicitly specify affinities for each and every domain,
+or Xen won't be able to enable guarantee the locality for their memory
+accesses.
+
+### Automatic Guest Placement with xl ###
+
+In case no "cpus=" option is specified in the config file, xl tries
+to figure out on its own on which node(s) the domain could fit best.
+
+First of all, it needs to find a node (or a set of nodes) that have
+enough free memory for accommodating the domain. After that, the actual
+decision on where to put the new guest happens by generating all the
+possible combinations of nodes that satisfies the above and chose among
+them according to the following heuristics:
+
+  *  candidates involving fewer nodes come first. In case two (or more)
+     candidates span the same number of nodes,
+  *  candidates with greater amount of free memory come first. In case
+     two (or more) candidates differ in their amount of free memory by
+     less than 10%,
+  *  candidates with fewer domains already placed on them come first.
+
+Giving preference to small candidates ensures better performance for
+the guest, as it avoid spreading its memory among different nodes.
+Using the nodes that have the biggest amounts of free memory helps
+keeping the memory fragmentation small, from a system wide perspective.
+Finally, in case more candidates fulfil these criteria by the same
+extent, choosing the candidate that is hosting fewer domain helps
+balancing the load on the various nodes.
+
+The last step is figuring out whether the selected candidate contains
+at least as much CPUs as the number of VCPUs of the VM. The current
+solution for the case when this is not verified is just to add some
+more nodes, until the condition turns into being true. When doing
+this, the nodes with the least possible distance from the ones
+already in the nodemap are considered.
+
+## Guest Placement in libxl ##
+
+xl achieves automatic NUMA placement by means of the following API
+calls, provided by libxl.
+
+        libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
+                                            libxl_domain_build_info *b_info,
+                                            int min_nodes, int *nr_cndts);
+
+This is what should be used to generate the full set of placement
+candidates. In fact, the function returns an array of containing nr_cndts
+libxl_numa_candidate (see below). Each candidate is basically a set of nodes
+that has been checked against the memory requirement derived from the
+provided libxl_domain_build_info.
+
+        int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
+                                          int min_cpus, int max_nodes,
+                                          libxl_numa_candidate *candidate);
+
+This is what should be used to ensure a placement candidate has at least
+min_cpus CPUs. In case it does not, the function also take care of
+adding more nodes to the candidate itself (up to when the value specified
+in max_nodes is reached). When adding new nodes, the one that has the
+smallest "distance" from the current node map is selected at each step.
+
+        libxl_numa_candidate_count_domains(libxl_ctx *ctx,
+                                           libxl_numa_candidate *candidate);
+
+This is what counts the number of domains that are currently pinned
+to the CPUs of the nodes of a given candidate.
+
+Finally, a placement candidate is represented by the following data
+structure:
+
+        typedef struct libxl_numa_candidate {
+            int nr_nodes;
+            int nr_domains;
+            uint32_t free_memkb;
+            libxl_nodemap nodemap;
+        } libxl_numa_candidate;
+
+It basically tells what are the nodes the candidate spans (in the nodemap),
+how many of them there are (nr_nodes), how much free memory they can
+provide all together (free_memkb) and how many domains are running pinned
+to their CPUs (nr_domains).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4F1-0004Cl-9O; Thu, 31 May 2012 12:12:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Ez-0004BP-Oc
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:34 +0000
Received: from [85.158.138.51:9599] by server-2.bemta-3.messagelabs.com id
	C8/CC-17140-03067CF4; Thu, 31 May 2012 12:12:32 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-2.tower-174.messagelabs.com!1338466329!30145680!3
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6659 invoked from network); 31 May 2012 12:12:30 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-2.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:30 -0000
Received: by mail-wi0-f179.google.com with SMTP id hr14so701413wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=2Teu+su+pu/zPsk5X3nDeuMEFusRhbrsX5Mc7AManQA=;
	b=FdJq9Fkl4xU+Nn90bLEZIMkhJ8mZePxed8yHvz2fPWV6jvXN8WPmG/wRXz+/vneret
	7OXwy7fZMkj1TuDCm9mEDiaYV3RrTfvmEfxBg52Y8k2D8kl9+OhvXVXKotObDpj7wnZS
	31o6EuO00qj8hxZ47G65cJzWxmhoWr7xMIH52wVmJ9Mw+22/MZdOoi94OEUuqAfvhOBJ
	CrbRGmGvVcyaiUemZlIlZW+yEarTwqt/S35Wll1QHdN+IMKSnCFTWI83XDrjY5JifLTz
	zlR8qS+lPZoH4lShSmaI+fBwfgroz4ixs6bF55Ti+BCE1hi6bfeo1K5e8/XVJPJZyZU7
	yg2g==
Received: by 10.216.140.35 with SMTP id d35mr13330697wej.105.1338466347568;
	Thu, 31 May 2012 05:12:27 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.25
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:26 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: e9b2e81e4afbde8c3ceba338a62bc4eef99a8fcc
Message-Id: <e9b2e81e4afbde8c3ceb.1338466276@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:16 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 11 of 11] Some automatic NUMA placement
	documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

About rationale, usage and API.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/docs/misc/xl-numa-placement.markdonw b/docs/misc/xl-numa-placement.markdonw
new file mode 100644
--- /dev/null
+++ b/docs/misc/xl-numa-placement.markdonw
@@ -0,0 +1,113 @@
+# Guest Automatic NUMA Placement in libxl and xl #
+
+## Rationale ##
+
+The Xen hypervisor deals with Non-Uniform Memory Access (NUMA])
+machines by assigning to its domain a "node affinity", i.e., a set of NUMA
+nodes of the host from which it gets its memory allocated.
+
+NUMA awareness becomes very important as soon as many domains start running
+memory-intensive workloads on a shared host. In fact, the cost of accessing
+non node-local memory locations is very high, and the performance degradation
+is likely to be noticeable.
+
+## Guest Placement in xl ##
+
+If using xl for creating and managing guests, it is very easy to ask
+for both manual or automatic placement of them across the host's NUMA
+nodes.
+
+Note that xm/xend does the very same thing, the only differences residing
+in the details of the heuristics adopted for the placement (see below).
+
+### Manual Guest Placement with xl ###
+
+Thanks to the "cpus=" option, it is possible to specify where a domain
+should be created and scheduled on, directly in its config file. This
+affects NUMA placement and memory accesses as the hypervisor constructs
+the node affinity of a VM basing right on its CPU affinity when it is
+created.
+
+This is very simple and effective, but requires the user/system
+administrator to explicitly specify affinities for each and every domain,
+or Xen won't be able to enable guarantee the locality for their memory
+accesses.
+
+### Automatic Guest Placement with xl ###
+
+In case no "cpus=" option is specified in the config file, xl tries
+to figure out on its own on which node(s) the domain could fit best.
+
+First of all, it needs to find a node (or a set of nodes) that have
+enough free memory for accommodating the domain. After that, the actual
+decision on where to put the new guest happens by generating all the
+possible combinations of nodes that satisfies the above and chose among
+them according to the following heuristics:
+
+  *  candidates involving fewer nodes come first. In case two (or more)
+     candidates span the same number of nodes,
+  *  candidates with greater amount of free memory come first. In case
+     two (or more) candidates differ in their amount of free memory by
+     less than 10%,
+  *  candidates with fewer domains already placed on them come first.
+
+Giving preference to small candidates ensures better performance for
+the guest, as it avoid spreading its memory among different nodes.
+Using the nodes that have the biggest amounts of free memory helps
+keeping the memory fragmentation small, from a system wide perspective.
+Finally, in case more candidates fulfil these criteria by the same
+extent, choosing the candidate that is hosting fewer domain helps
+balancing the load on the various nodes.
+
+The last step is figuring out whether the selected candidate contains
+at least as much CPUs as the number of VCPUs of the VM. The current
+solution for the case when this is not verified is just to add some
+more nodes, until the condition turns into being true. When doing
+this, the nodes with the least possible distance from the ones
+already in the nodemap are considered.
+
+## Guest Placement in libxl ##
+
+xl achieves automatic NUMA placement by means of the following API
+calls, provided by libxl.
+
+        libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
+                                            libxl_domain_build_info *b_info,
+                                            int min_nodes, int *nr_cndts);
+
+This is what should be used to generate the full set of placement
+candidates. In fact, the function returns an array of containing nr_cndts
+libxl_numa_candidate (see below). Each candidate is basically a set of nodes
+that has been checked against the memory requirement derived from the
+provided libxl_domain_build_info.
+
+        int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
+                                          int min_cpus, int max_nodes,
+                                          libxl_numa_candidate *candidate);
+
+This is what should be used to ensure a placement candidate has at least
+min_cpus CPUs. In case it does not, the function also take care of
+adding more nodes to the candidate itself (up to when the value specified
+in max_nodes is reached). When adding new nodes, the one that has the
+smallest "distance" from the current node map is selected at each step.
+
+        libxl_numa_candidate_count_domains(libxl_ctx *ctx,
+                                           libxl_numa_candidate *candidate);
+
+This is what counts the number of domains that are currently pinned
+to the CPUs of the nodes of a given candidate.
+
+Finally, a placement candidate is represented by the following data
+structure:
+
+        typedef struct libxl_numa_candidate {
+            int nr_nodes;
+            int nr_domains;
+            uint32_t free_memkb;
+            libxl_nodemap nodemap;
+        } libxl_numa_candidate;
+
+It basically tells what are the nodes the candidate spans (in the nodemap),
+how many of them there are (nr_nodes), how much free memory they can
+provide all together (free_memkb) and how many domains are running pinned
+to their CPUs (nr_domains).

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eu-00046G-Gi; Thu, 31 May 2012 12:12:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Es-000453-Ot
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:27 +0000
Received: from [193.109.254.147:21791] by server-2.bemta-14.messagelabs.com id
	D4/C2-03167-A2067CF4; Thu, 31 May 2012 12:12:26 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338466322!11328188!3
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25748 invoked from network); 31 May 2012 12:12:25 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:25 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701379wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=6vsLOqz8VnXVAbjxAUFsEJIfjVvHgcqny6XJ0Z2Y09E=;
	b=dY5e0XWfkIhNtH3Y6iUSpt0M9eZS8zIEMhjSrMyJLMT8mckHPBM9BFXUtZ2HUlUFWB
	7ckc1S4jbIzG4ntPNnFhbo9Udcdkk5KAtC7lnsIo4es3wdHizONypw3hTLEYBH+qRHz5
	TmikRHgIz+tM2V0Hlln+bXeX6RK+c9MbP+/mZwI5o8mTFckwEwQ0vWKeALqKe03Vnm48
	Q2oWe4oeuYb8qo+NDLiey+1UtsZRYfzVuGeh+C2+zbQtOrzZWSd1ZdvjuaEAF5zrOV51
	blSIEgjCmdG3sz/PNSGC4uZhtE4GjE28/Oup1Qq4+NiMSGdNAEKjLIS3Es+IzoGjCLbA
	iXfg==
Received: by 10.216.228.98 with SMTP id e76mr7543306weq.150.1338466345159;
	Thu, 31 May 2012 05:12:25 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.22
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:24 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 4c3a1e27978bcfec1d4053e5adb2db17cb1a45a0
Message-Id: <4c3a1e27978bcfec1d40.1338466275@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:15 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 10 of 11] libxl,
 xl: heuristics for reordering NUMA placement candidates
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Once we know which ones of all the possible combinations
represents valid placement candidates for a domain, use some
heuistics for deciding which one to pick (instead to just
taking the first one).

First of all, the smaller candidates are better both from the
domain's point of view (fewer memory spreading among nodes) and
fom the system point of view (fewer memoy fragmentation). In
case of candidates of equal sizes, the one that has the greater
amount of memory by at least 10% wins, as this is (again) good
for keeping the fragmentation small. Finally, the number of
domains running on the nodes involved in the combinations is
checked, and the "least populated" candidate is the one that
is considered.

This makes the wholle automatic NUMA placement mechanism very
similar to what xm/xend does, although no memory considerations
are present there.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -633,6 +633,8 @@ libxl_numa_candidate *libxl_domain_numa_
 int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
                                   int min_cpus, int max_nodes,
                                   libxl_numa_candidate *candidate);
+int libxl_numa_candidate_count_domains(libxl_ctx *ctx,
+                                       libxl_numa_candidate *candidate);
 void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr);
 
 /*
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -441,6 +441,7 @@ libxl_cputopology = Struct("cputopology"
 
 libxl_numa_candidate = Struct("numa_candidate", [
     ("nr_nodes", integer),
+    ("nr_domains", integer),
     ("free_memkb", uint32),
     ("nodemap", libxl_nodemap),
     ], dir=DIR_OUT)
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -849,6 +849,70 @@ int libxl_numa_candidate_add_cpus(libxl_
     return rc;
 }
 
+int libxl_numa_candidate_count_domains(libxl_ctx *ctx,
+                                       libxl_numa_candidate *candidate)
+{
+    libxl_nodemap dom_nodemap;
+    libxl_cputopology *tinfo;
+    int nr_doms, nr_cpus, rc = 0;
+    libxl_dominfo *dinfo;
+    int i, j, k;
+
+    dinfo = libxl_list_domain(ctx, &nr_doms);
+    if (dinfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_list_domain failed\n");
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+
+    if (libxl_nodemap_alloc(ctx, &dom_nodemap) < 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_nodemap_alloc failed\n");
+        rc = ERROR_NOMEM;
+        goto out_dominfo;
+    }
+
+    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
+    if (tinfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo failed\n");
+        rc = ERROR_NOMEM;
+        goto out_nodemap;
+    }
+
+    candidate->nr_domains = 0;
+    for (i = 0; i < nr_doms; i++) {
+        libxl_vcpuinfo *vinfo;
+        int nr_vcpus, nr_cpus;
+
+        vinfo = libxl_list_vcpu(ctx, dinfo[i].domid, &nr_vcpus, &nr_cpus);
+        if (vinfo == NULL)
+            continue;
+
+        libxl_nodemap_set_none(&dom_nodemap);
+        for (j = 0; j < nr_vcpus; j++) {
+            libxl_for_each_set_cpu(k, vinfo[j].cpumap)
+                libxl_nodemap_set(&dom_nodemap, tinfo[k].node);
+        }
+
+        libxl_for_each_set_node(j, dom_nodemap) {
+            if (libxl_nodemap_test(&candidate->nodemap, j)) {
+                candidate->nr_domains++;
+                goto found;
+            }
+        }
+ found:
+        libxl_vcpuinfo_list_free(vinfo, nr_vcpus);
+    }
+
+
+    libxl_cputopology_list_free(tinfo, nr_cpus);
+ out_nodemap:
+    libxl_nodemap_dispose(&dom_nodemap);
+ out_dominfo:
+    libxl_dominfo_list_free(dinfo, nr_doms);
+ out:
+    return rc;
+}
+
 void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr)
 {
     int i;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -522,6 +522,34 @@ static int cpus_per_node(libxl_cputopolo
     return cpus_nodes;
 }
 
+/*
+ * The NUMA placement candidates are reordered according to the following
+ * heuristics:
+ *  - candidates involving fewer nodes come first. In case two (or
+ *    more) candidates span the same number of nodes,
+ *  - candidates with greater amount of free memory come first. In
+ *    case two (or more) candidates differ in their amount of free
+ *    memory by less than 10%,
+ *  - candidates with fewer domains insisting on them at the time of
+ *    this call come first.
+ */
+static int candidates_cmpf(const void *v1, const void *v2)
+{
+    const libxl_numa_candidate *c1 = (const libxl_numa_candidate*) v1;
+    const libxl_numa_candidate *c2 = (const libxl_numa_candidate*) v2;
+    double mem_diff = labs(c1->free_memkb - c2->free_memkb);
+    double mem_avg = (c1->free_memkb + c2->free_memkb) / 2.0;
+
+    if (c1->nr_nodes != c2->nr_nodes)
+        return c1->nr_nodes - c2->nr_nodes;
+
+    if ((mem_diff / mem_avg) * 100.0 < 10.0 &&
+        c1->nr_domains != c2->nr_domains)
+        return c1->nr_domains - c2->nr_domains;
+
+    return c2->free_memkb - c1->free_memkb;
+}
+
 /* Try to achieve "optimal" NUMA placement */
 static int place_domain(libxl_domain_build_info *b_info)
 {
@@ -575,6 +603,18 @@ static int place_domain(libxl_domain_bui
         goto out_topologyinfo;
     }
 
+    /* Account for the number of domains insisting on a candidate placement */
+    for (i = 0; i < nr_candidates; i++) {
+        if (libxl_numa_candidate_count_domains(ctx, &candidates[i])) {
+            fprintf(stderr, "libxl_numa_candidate_count_domains failed\n");
+            err = ENOMEM;
+            goto out_cndtslist;
+        }
+    }
+
+    /* Reorder candidates (see @candidates_cmpf for the heuristics) */
+    qsort(candidates, nr_candidates, sizeof(candidates[0]), candidates_cmpf);
+
     /* Pick a candidate and ensure it gives us enough PCPUs */
     dom_max_nodes = -1; err = ERROR_FAIL;
     for (candidate = 0; err && candidate < nr_candidates; candidate++) {
@@ -596,6 +636,7 @@ static int place_domain(libxl_domain_bui
         }
     }
 
+out_cndtslist:
     libxl_numa_candidates_list_free(candidates, nr_candidates);
 out_topologyinfo:
     libxl_cputopology_list_free(tinfo, nr_cpus);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:12:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Eu-00046G-Gi; Thu, 31 May 2012 12:12:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin.df@gmail.com>) id 1Sa4Es-000453-Ot
	for xen-devel@lists.xen.org; Thu, 31 May 2012 12:12:27 +0000
Received: from [193.109.254.147:21791] by server-2.bemta-14.messagelabs.com id
	D4/C2-03167-A2067CF4; Thu, 31 May 2012 12:12:26 +0000
X-Env-Sender: raistlin.df@gmail.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338466322!11328188!3
X-Originating-IP: [74.125.82.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25748 invoked from network); 31 May 2012 12:12:25 -0000
Received: from mail-we0-f173.google.com (HELO mail-we0-f173.google.com)
	(74.125.82.173)
	by server-13.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 12:12:25 -0000
Received: by mail-we0-f173.google.com with SMTP id f3so701379wer.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 05:12:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:content-type:mime-version:content-transfer-encoding:subject
	:x-mercurial-node:message-id:in-reply-to:references:user-agent:date
	:from:to:cc; bh=6vsLOqz8VnXVAbjxAUFsEJIfjVvHgcqny6XJ0Z2Y09E=;
	b=dY5e0XWfkIhNtH3Y6iUSpt0M9eZS8zIEMhjSrMyJLMT8mckHPBM9BFXUtZ2HUlUFWB
	7ckc1S4jbIzG4ntPNnFhbo9Udcdkk5KAtC7lnsIo4es3wdHizONypw3hTLEYBH+qRHz5
	TmikRHgIz+tM2V0Hlln+bXeX6RK+c9MbP+/mZwI5o8mTFckwEwQ0vWKeALqKe03Vnm48
	Q2oWe4oeuYb8qo+NDLiey+1UtsZRYfzVuGeh+C2+zbQtOrzZWSd1ZdvjuaEAF5zrOV51
	blSIEgjCmdG3sz/PNSGC4uZhtE4GjE28/Oup1Qq4+NiMSGdNAEKjLIS3Es+IzoGjCLbA
	iXfg==
Received: by 10.216.228.98 with SMTP id e76mr7543306weq.150.1338466345159;
	Thu, 31 May 2012 05:12:25 -0700 (PDT)
Received: from [127.0.1.1] (ip-143-230.sn3.eutelia.it. [213.136.143.230])
	by mx.google.com with ESMTPS id ei4sm5819539wid.5.2012.05.31.05.12.22
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 05:12:24 -0700 (PDT)
MIME-Version: 1.0
X-Mercurial-Node: 4c3a1e27978bcfec1d4053e5adb2db17cb1a45a0
Message-Id: <4c3a1e27978bcfec1d40.1338466275@Solace>
In-Reply-To: <patchbomb.1338466265@Solace>
References: <patchbomb.1338466265@Solace>
User-Agent: Mercurial-patchbomb/2.2.1
Date: Thu, 31 May 2012 14:11:15 +0200
From: Dario Faggioli <raistlin@linux.it>
To: xen-devel@lists.xen.org
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [Xen-devel] [PATCH 10 of 11] libxl,
 xl: heuristics for reordering NUMA placement candidates
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Once we know which ones of all the possible combinations
represents valid placement candidates for a domain, use some
heuistics for deciding which one to pick (instead to just
taking the first one).

First of all, the smaller candidates are better both from the
domain's point of view (fewer memory spreading among nodes) and
fom the system point of view (fewer memoy fragmentation). In
case of candidates of equal sizes, the one that has the greater
amount of memory by at least 10% wins, as this is (again) good
for keeping the fragmentation small. Finally, the number of
domains running on the nodes involved in the combinations is
checked, and the "least populated" candidate is the one that
is considered.

This makes the wholle automatic NUMA placement mechanism very
similar to what xm/xend does, although no memory considerations
are present there.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -633,6 +633,8 @@ libxl_numa_candidate *libxl_domain_numa_
 int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
                                   int min_cpus, int max_nodes,
                                   libxl_numa_candidate *candidate);
+int libxl_numa_candidate_count_domains(libxl_ctx *ctx,
+                                       libxl_numa_candidate *candidate);
 void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr);
 
 /*
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -441,6 +441,7 @@ libxl_cputopology = Struct("cputopology"
 
 libxl_numa_candidate = Struct("numa_candidate", [
     ("nr_nodes", integer),
+    ("nr_domains", integer),
     ("free_memkb", uint32),
     ("nodemap", libxl_nodemap),
     ], dir=DIR_OUT)
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -849,6 +849,70 @@ int libxl_numa_candidate_add_cpus(libxl_
     return rc;
 }
 
+int libxl_numa_candidate_count_domains(libxl_ctx *ctx,
+                                       libxl_numa_candidate *candidate)
+{
+    libxl_nodemap dom_nodemap;
+    libxl_cputopology *tinfo;
+    int nr_doms, nr_cpus, rc = 0;
+    libxl_dominfo *dinfo;
+    int i, j, k;
+
+    dinfo = libxl_list_domain(ctx, &nr_doms);
+    if (dinfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_list_domain failed\n");
+        rc = ERROR_NOMEM;
+        goto out;
+    }
+
+    if (libxl_nodemap_alloc(ctx, &dom_nodemap) < 0) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_nodemap_alloc failed\n");
+        rc = ERROR_NOMEM;
+        goto out_dominfo;
+    }
+
+    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
+    if (tinfo == NULL) {
+        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo failed\n");
+        rc = ERROR_NOMEM;
+        goto out_nodemap;
+    }
+
+    candidate->nr_domains = 0;
+    for (i = 0; i < nr_doms; i++) {
+        libxl_vcpuinfo *vinfo;
+        int nr_vcpus, nr_cpus;
+
+        vinfo = libxl_list_vcpu(ctx, dinfo[i].domid, &nr_vcpus, &nr_cpus);
+        if (vinfo == NULL)
+            continue;
+
+        libxl_nodemap_set_none(&dom_nodemap);
+        for (j = 0; j < nr_vcpus; j++) {
+            libxl_for_each_set_cpu(k, vinfo[j].cpumap)
+                libxl_nodemap_set(&dom_nodemap, tinfo[k].node);
+        }
+
+        libxl_for_each_set_node(j, dom_nodemap) {
+            if (libxl_nodemap_test(&candidate->nodemap, j)) {
+                candidate->nr_domains++;
+                goto found;
+            }
+        }
+ found:
+        libxl_vcpuinfo_list_free(vinfo, nr_vcpus);
+    }
+
+
+    libxl_cputopology_list_free(tinfo, nr_cpus);
+ out_nodemap:
+    libxl_nodemap_dispose(&dom_nodemap);
+ out_dominfo:
+    libxl_dominfo_list_free(dinfo, nr_doms);
+ out:
+    return rc;
+}
+
 void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr)
 {
     int i;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -522,6 +522,34 @@ static int cpus_per_node(libxl_cputopolo
     return cpus_nodes;
 }
 
+/*
+ * The NUMA placement candidates are reordered according to the following
+ * heuristics:
+ *  - candidates involving fewer nodes come first. In case two (or
+ *    more) candidates span the same number of nodes,
+ *  - candidates with greater amount of free memory come first. In
+ *    case two (or more) candidates differ in their amount of free
+ *    memory by less than 10%,
+ *  - candidates with fewer domains insisting on them at the time of
+ *    this call come first.
+ */
+static int candidates_cmpf(const void *v1, const void *v2)
+{
+    const libxl_numa_candidate *c1 = (const libxl_numa_candidate*) v1;
+    const libxl_numa_candidate *c2 = (const libxl_numa_candidate*) v2;
+    double mem_diff = labs(c1->free_memkb - c2->free_memkb);
+    double mem_avg = (c1->free_memkb + c2->free_memkb) / 2.0;
+
+    if (c1->nr_nodes != c2->nr_nodes)
+        return c1->nr_nodes - c2->nr_nodes;
+
+    if ((mem_diff / mem_avg) * 100.0 < 10.0 &&
+        c1->nr_domains != c2->nr_domains)
+        return c1->nr_domains - c2->nr_domains;
+
+    return c2->free_memkb - c1->free_memkb;
+}
+
 /* Try to achieve "optimal" NUMA placement */
 static int place_domain(libxl_domain_build_info *b_info)
 {
@@ -575,6 +603,18 @@ static int place_domain(libxl_domain_bui
         goto out_topologyinfo;
     }
 
+    /* Account for the number of domains insisting on a candidate placement */
+    for (i = 0; i < nr_candidates; i++) {
+        if (libxl_numa_candidate_count_domains(ctx, &candidates[i])) {
+            fprintf(stderr, "libxl_numa_candidate_count_domains failed\n");
+            err = ENOMEM;
+            goto out_cndtslist;
+        }
+    }
+
+    /* Reorder candidates (see @candidates_cmpf for the heuristics) */
+    qsort(candidates, nr_candidates, sizeof(candidates[0]), candidates_cmpf);
+
     /* Pick a candidate and ensure it gives us enough PCPUs */
     dom_max_nodes = -1; err = ERROR_FAIL;
     for (candidate = 0; err && candidate < nr_candidates; candidate++) {
@@ -596,6 +636,7 @@ static int place_domain(libxl_domain_bui
         }
     }
 
+out_cndtslist:
     libxl_numa_candidates_list_free(candidates, nr_candidates);
 out_topologyinfo:
     libxl_cputopology_list_free(tinfo, nr_cpus);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:15:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:15:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4I8-0005It-10; Thu, 31 May 2012 12:15:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa4I6-0005IH-9p
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:15:46 +0000
Received: from [85.158.138.51:57365] by server-11.bemta-3.messagelabs.com id
	98/4C-32748-1F067CF4; Thu, 31 May 2012 12:15:45 +0000
X-Env-Sender: zhangzhi2022@hotmail.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338466543!30078183!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.1 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6596 invoked from network); 31 May 2012 12:15:44 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	31 May 2012 12:15:44 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa4I2-0007ed-Qf
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 05:15:42 -0700
Date: Thu, 31 May 2012 05:15:42 -0700 (PDT)
From: zhangzhi <zhangzhi2022@hotmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1338466542784-5709208.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] write function
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, list,

I wanna know how an application like firefox write to a page on xen
platform. Does anyone know the function?
It is better if there is any hypercall. 

--
View this message in context: http://xen.1045712.n5.nabble.com/write-function-tp5709208.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:15:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:15:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4I8-0005It-10; Thu, 31 May 2012 12:15:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa4I6-0005IH-9p
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:15:46 +0000
Received: from [85.158.138.51:57365] by server-11.bemta-3.messagelabs.com id
	98/4C-32748-1F067CF4; Thu, 31 May 2012 12:15:45 +0000
X-Env-Sender: zhangzhi2022@hotmail.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1338466543!30078183!1
X-Originating-IP: [216.139.236.26]
X-SpamReason: No, hits=0.1 required=7.0 tests=FORGED_HOTMAIL_RCVD,
	ML_RADAR_SPEW_LINKS_14,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6596 invoked from network); 31 May 2012 12:15:44 -0000
Received: from sam.nabble.com (HELO sam.nabble.com) (216.139.236.26)
	by server-4.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	31 May 2012 12:15:44 -0000
Received: from [192.168.236.26] (helo=sam.nabble.com)
	by sam.nabble.com with esmtp (Exim 4.72)
	(envelope-from <zhangzhi2022@hotmail.com>) id 1Sa4I2-0007ed-Qf
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 05:15:42 -0700
Date: Thu, 31 May 2012 05:15:42 -0700 (PDT)
From: zhangzhi <zhangzhi2022@hotmail.com>
To: xen-devel@lists.xensource.com
Message-ID: <1338466542784-5709208.post@n5.nabble.com>
MIME-Version: 1.0
Subject: [Xen-devel] write function
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Hi, list,

I wanna know how an application like firefox write to a page on xen
platform. Does anyone know the function?
It is better if there is any hypercall. 

--
View this message in context: http://xen.1045712.n5.nabble.com/write-function-tp5709208.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:26:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Sd-0005uO-72; Thu, 31 May 2012 12:26:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1Sa4Sc-0005uJ-A6
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:26:38 +0000
Received: from [85.158.139.83:61781] by server-7.bemta-5.messagelabs.com id
	6D/CA-15932-D7367CF4; Thu, 31 May 2012 12:26:37 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338467196!29837529!1
X-Originating-IP: [213.199.154.141]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17724 invoked from network); 31 May 2012 12:26:36 -0000
Received: from db3ehsobe003.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.141)
	by server-3.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	31 May 2012 12:26:36 -0000
Received: from mail60-db3-R.bigfish.com (10.3.81.234) by
	DB3EHSOBE005.bigfish.com (10.3.84.25) with Microsoft SMTP Server id
	14.1.225.23; Thu, 31 May 2012 12:26:08 +0000
Received: from mail60-db3 (localhost [127.0.0.1])	by mail60-db3-R.bigfish.com
	(Postfix) with ESMTP id 174B92E0307;
	Thu, 31 May 2012 12:26:08 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
Received: from mail60-db3 (localhost.localdomain [127.0.0.1]) by mail60-db3
	(MessageSwitch) id 1338467165272675_25918;
	Thu, 31 May 2012 12:26:05 +0000 (UTC)
Received: from DB3EHSMHS001.bigfish.com (unknown [10.3.81.240])	by
	mail60-db3.bigfish.com (Postfix) with ESMTP id 365BB440049;
	Thu, 31 May 2012 12:26:05 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS001.bigfish.com (10.3.87.101) with Microsoft SMTP Server id
	14.1.225.23; Thu, 31 May 2012 12:26:03 +0000
X-WSS-ID: 0M4VZVZ-02-JHX-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 28B2BC814D;	Thu, 31 May 2012 07:26:23 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 31 May 2012 07:26:43 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Thu, 31 May 2012 07:26:26 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Thu, 31 May 2012
	08:26:26 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 1036249C58B; Thu, 31 May 2012
	13:26:25 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id E52275940FF; Thu, 31 May 2012
	14:26:24 +0200 (CEST)
Message-ID: <4FC762F8.902@amd.com>
Date: Thu, 31 May 2012 14:24:24 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
	<20120530223334.GB28417@andromeda.dapyr.net>
In-Reply-To: <20120530223334.GB28417@andromeda.dapyr.net>
X-OriginatorOrg: amd.com
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/31/2012 12:33 AM, Konrad Rzeszutek Wilk wrote:
>>> Now, someone probably needs to paravirt the *safe_regs variants in case
>>> something else decides to use them. I don't know what to do here, do I
>>> want more paravirt code in there? No. I guess if this is done carefully
>>> and cleanly, then it should be ok but it can't be done like that - it
>>> needs to adhere to the current pv_cpu_ops thing which is already there.
>
> Using the native variant seems the right thing to do.
>>>
>>
>> I thought I was being told that Xen would trap and emulate the
>> rdmsr/wrmsr instructions.  I guess they don't want to do that for the
>
> It does.
>> handful of performance-sensitive MSRs there are, but those don't use the
>> *_regs variants.
>
> The underlaying issue (as I understand) was that .rdmsr_regs
> (and the corresponding write) was NULL and that caused the crash.
> This tiny patch should do it:
>
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 75f33b2..e74df95 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
>   	.wbinvd = native_wbinvd,
>
>   	.read_msr = native_read_msr_safe,
> +	.rdmsr_regs = native_rdmsr_safe_regs,
>   	.write_msr = xen_write_msr_safe,
> +	.wrmsr_regs = native_wrmsr_safe_regs,
> +
>   	.read_tsc = native_read_tsc,
>   	.read_pmc = native_read_pmc,
>
>

Acked-by: Andre Przywara <andre.przywara@amd.com>

This works on the test machine.

Though I'd still like to have my original patch applied, because it 
makes the thing a bit cleaner.

And I made a patch to remove the {rd,wr}msr_regs hooks from paravirt_ops 
completely. Shall I send it out or do you want to make this part of 
larger patch series to clean up pvops?

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:26:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4Sd-0005uO-72; Thu, 31 May 2012 12:26:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Andre.Przywara@amd.com>) id 1Sa4Sc-0005uJ-A6
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:26:38 +0000
Received: from [85.158.139.83:61781] by server-7.bemta-5.messagelabs.com id
	6D/CA-15932-D7367CF4; Thu, 31 May 2012 12:26:37 +0000
X-Env-Sender: Andre.Przywara@amd.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338467196!29837529!1
X-Originating-IP: [213.199.154.141]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17724 invoked from network); 31 May 2012 12:26:36 -0000
Received: from db3ehsobe003.messaging.microsoft.com (HELO
	db3outboundpool.messaging.microsoft.com) (213.199.154.141)
	by server-3.tower-182.messagelabs.com with AES128-SHA encrypted SMTP;
	31 May 2012 12:26:36 -0000
Received: from mail60-db3-R.bigfish.com (10.3.81.234) by
	DB3EHSOBE005.bigfish.com (10.3.84.25) with Microsoft SMTP Server id
	14.1.225.23; Thu, 31 May 2012 12:26:08 +0000
Received: from mail60-db3 (localhost [127.0.0.1])	by mail60-db3-R.bigfish.com
	(Postfix) with ESMTP id 174B92E0307;
	Thu, 31 May 2012 12:26:08 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:163.181.249.109; KIP:(null); UIP:(null);
	IPV:NLI; H:ausb3twp02.amd.com; RD:none; EFVD:NLI
X-SpamScore: -11
X-BigFish: VPS-11(zzbb2dI9371I1432N98dKzz1202hzz8275bhz2dh668h839hd25he5bhf0ah)
Received: from mail60-db3 (localhost.localdomain [127.0.0.1]) by mail60-db3
	(MessageSwitch) id 1338467165272675_25918;
	Thu, 31 May 2012 12:26:05 +0000 (UTC)
Received: from DB3EHSMHS001.bigfish.com (unknown [10.3.81.240])	by
	mail60-db3.bigfish.com (Postfix) with ESMTP id 365BB440049;
	Thu, 31 May 2012 12:26:05 +0000 (UTC)
Received: from ausb3twp02.amd.com (163.181.249.109) by
	DB3EHSMHS001.bigfish.com (10.3.87.101) with Microsoft SMTP Server id
	14.1.225.23; Thu, 31 May 2012 12:26:03 +0000
X-WSS-ID: 0M4VZVZ-02-JHX-02
X-M-MSG: 
Received: from sausexedgep01.amd.com (sausexedgep01-ext.amd.com
	[163.181.249.72])	(using TLSv1 with cipher AES128-SHA (128/128
	bits))	(No
	client certificate requested)	by ausb3twp02.amd.com (Axway MailGate
	3.8.1)
	with ESMTP id 28B2BC814D;	Thu, 31 May 2012 07:26:23 -0500 (CDT)
Received: from sausexhtp01.amd.com (163.181.3.165) by sausexedgep01.amd.com
	(163.181.36.54) with Microsoft SMTP Server (TLS) id 8.3.192.1;
	Thu, 31 May 2012 07:26:43 -0500
Received: from storexhtp02.amd.com (172.24.4.4) by sausexhtp01.amd.com
	(163.181.3.165) with Microsoft SMTP Server (TLS) id 8.3.213.0;
	Thu, 31 May 2012 07:26:26 -0500
Received: from gwo.osrc.amd.com (165.204.16.204) by storexhtp02.amd.com
	(172.24.4.4) with Microsoft SMTP Server id 8.3.213.0; Thu, 31 May 2012
	08:26:26 -0400
Received: from mail.osrc.amd.com (silizium.osrc.amd.com [165.204.15.142])	by
	gwo.osrc.amd.com (Postfix) with ESMTP id 1036249C58B; Thu, 31 May 2012
	13:26:25 +0100 (BST)
Received: from [165.204.15.38] (wanderer.osrc.amd.com [165.204.15.38])	by
	mail.osrc.amd.com (Postfix) with ESMTPS id E52275940FF; Thu, 31 May 2012
	14:26:24 +0200 (CEST)
Message-ID: <4FC762F8.902@amd.com>
Date: Thu, 31 May 2012 14:24:24 +0200
From: Andre Przywara <andre.przywara@amd.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120404 Thunderbird/11.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad@darnok.org>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
	<20120530223334.GB28417@andromeda.dapyr.net>
In-Reply-To: <20120530223334.GB28417@andromeda.dapyr.net>
X-OriginatorOrg: amd.com
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/31/2012 12:33 AM, Konrad Rzeszutek Wilk wrote:
>>> Now, someone probably needs to paravirt the *safe_regs variants in case
>>> something else decides to use them. I don't know what to do here, do I
>>> want more paravirt code in there? No. I guess if this is done carefully
>>> and cleanly, then it should be ok but it can't be done like that - it
>>> needs to adhere to the current pv_cpu_ops thing which is already there.
>
> Using the native variant seems the right thing to do.
>>>
>>
>> I thought I was being told that Xen would trap and emulate the
>> rdmsr/wrmsr instructions.  I guess they don't want to do that for the
>
> It does.
>> handful of performance-sensitive MSRs there are, but those don't use the
>> *_regs variants.
>
> The underlaying issue (as I understand) was that .rdmsr_regs
> (and the corresponding write) was NULL and that caused the crash.
> This tiny patch should do it:
>
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 75f33b2..e74df95 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
>   	.wbinvd = native_wbinvd,
>
>   	.read_msr = native_read_msr_safe,
> +	.rdmsr_regs = native_rdmsr_safe_regs,
>   	.write_msr = xen_write_msr_safe,
> +	.wrmsr_regs = native_wrmsr_safe_regs,
> +
>   	.read_tsc = native_read_tsc,
>   	.read_pmc = native_read_pmc,
>
>

Acked-by: Andre Przywara <andre.przywara@amd.com>

This works on the test machine.

Though I'd still like to have my original patch applied, because it 
makes the thing a bit cleaner.

And I made a patch to remove the {rd,wr}msr_regs hooks from paravirt_ops 
completely. Shall I send it out or do you want to make this part of 
larger patch series to clean up pvops?

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 12:44:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4jL-0006Tq-H7; Thu, 31 May 2012 12:43:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1Sa4jK-0006Tl-SF
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:43:55 +0000
Received: from [85.158.138.51:19040] by server-4.bemta-3.messagelabs.com id
	68/35-32504-98767CF4; Thu, 31 May 2012 12:43:53 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338468231!22035681!1
X-Originating-IP: [82.57.200.102]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5833 invoked from network); 31 May 2012 12:43:51 -0000
Received: from smtp206.alice.it (HELO smtp206.alice.it) (82.57.200.102)
	by server-3.tower-174.messagelabs.com with SMTP;
	31 May 2012 12:43:51 -0000
Received: from [192.168.178.50] (82.60.21.183) by smtp206.alice.it (8.6.023.02)
	id 4F9BF1D303B1DB4C for xen-devel@lists.xensource.com;
	Thu, 31 May 2012 14:43:51 +0200
Message-ID: <4FC766F7.2030802@tiscali.it>
Date: Thu, 31 May 2012 14:41:27 +0200
From: Fabio Fantoni <fantonifabio@tiscali.it>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [PATCH] tools/hotplug/Linux/init.d/: added other xen
 kernel modules on xencommons start
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: fantonifabio@tiscali.it
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6647830107743943518=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--===============6647830107743943518==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms010207070308000101020204"

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--------------ms010207070308000101020204
Content-Type: multipart/mixed;
 boundary="------------030805030109020302080300"

This is a multi-part message in MIME format.
--------------030805030109020302080300
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: quoted-printable

# HG changeset patch
# User Fabio Fantoni
# Date 1338467204 -7200
# Node ID 1f57503f10112718ecbbe424fa8fc9c55785f4c0
# Parent  dd7319230f4ac295b6d14ce2e2a3dccf82bb87d8
tools/hotplug/Linux/init.d/: added other xen kernel modules on=20
xencommons start

Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>

diff -r dd7319230f4a -r 1f57503f1011 tools/hotplug/Linux/init.d/xencommon=
s
--- a/tools/hotplug/Linux/init.d/xencommons    mer mag 23 12:27:26 2012=20
+0200
+++ b/tools/hotplug/Linux/init.d/xencommons    gio mag 31 14:26:44 2012=20
+0200
@@ -56,6 +56,9 @@

      modprobe xen-evtchn 2>/dev/null
      modprobe xen-gntdev 2>/dev/null
+    modprobe xen-gntalloc 2>/dev/null
+    modprobe xen-blkback 2>/dev/null
+    modprobe xen-netback 2>/dev/null
      modprobe evtchn 2>/dev/null
      modprobe gntdev 2>/dev/null
      modprobe xen-acpi-processor 2>/dev/null


--------------030805030109020302080300
Content-Type: text/plain; charset=windows-1252;
 name="added_xen_kernel_modules_on_xencommons.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="added_xen_kernel_modules_on_xencommons.patch"

# HG changeset patch
# User Fabio Fantoni
# Date 1338467204 -7200
# Node ID 1f57503f10112718ecbbe424fa8fc9c55785f4c0
# Parent  dd7319230f4ac295b6d14ce2e2a3dccf82bb87d8
tools/hotplug/Linux/init.d/: added other xen kernel modules on xencommons=
 start

Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>

diff -r dd7319230f4a -r 1f57503f1011 tools/hotplug/Linux/init.d/xencommon=
s
--- a/tools/hotplug/Linux/init.d/xencommons	mer mag 23 12:27:26 2012 +020=
0
+++ b/tools/hotplug/Linux/init.d/xencommons	gio mag 31 14:26:44 2012 +020=
0
@@ -56,6 +56,9 @@
=20
 	modprobe xen-evtchn 2>/dev/null
 	modprobe xen-gntdev 2>/dev/null
+	modprobe xen-gntalloc 2>/dev/null
+	modprobe xen-blkback 2>/dev/null
+	modprobe xen-netback 2>/dev/null
 	modprobe evtchn 2>/dev/null
 	modprobe gntdev 2>/dev/null
 	modprobe xen-acpi-processor 2>/dev/null

--------------030805030109020302080300--

--------------ms010207070308000101020204
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma crittografica S/MIME

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINhjCC
BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT
DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3
MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T
dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu
aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM
KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi
8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M
DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y
2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG
zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV
HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH
MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v
c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp
Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic
c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw
UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc
p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT
+HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X
hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO
hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC
0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh
AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk
XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIHSjCCBjKgAwIBAgICHmMwDQYJKoZIhvcNAQEF
BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT
ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjAzMTgyMjE0MzBa
Fw0xNDAzMjAwODU3MDlaMIGMMRkwFwYDVQQNExBlQjZPRTM3UlJOUHlsNW0yMQswCQYDVQQG
EwJJVDEQMA4GA1UECBMHQmVyZ2FtbzEQMA4GA1UEBxMHUm92ZXR0YTEWMBQGA1UEAxMNRmFi
aW8gRmFudG9uaTEmMCQGCSqGSIb3DQEJARYXZmFudG9uaWZhYmlvQHRpc2NhbGkuaXQwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XhckXsX23vgJq76s2f0KT8U8Msov5QgV
10eQBb2wL/TzcmqtZotI7ztKVhio3ehHg+mfu+3EqOkX9Umgut8rP0bPi7AGjkPXbOTT/cSU
Xz2Kw31VGOmiOVoUFGvpQitp3weCkhUJLBipI8EpNyBXpjtQ9yCpnIAqfuc77ybfSnCy7tTR
MBq1BUkfjH1+GL45riosuS4+F+MSUvlYzLiT4rAduAX1Y2IuORDsf9Bce8GBxa6syP9rCyzl
Vk7DIX5k8j2vlnyRATIypn5CQLQxGT6e0f6ac4gvWOHwO2QEBsmZKKs1ZidE4q/9OoNXYX6A
jnHtp1H1vcrek/vVcs19AgMBAAGjggOyMIIDrjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFan8cbEWWBmSTWFtLk2
YNdAcGUbMB8GA1UdIwQYMBaAFK5Vg2/sMcq59x36r2sx88gd46y7MCIGA1UdEQQbMBmBF2Zh
bnRvbmlmYWJpb0B0aXNjYWxpLml0MIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwEC
AjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYw
NAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYw
gfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMC
AQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFz
cyAyIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ks
IHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ug
b2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcCAjCBjzAnFiBT
dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkgYW5kIHdh
cnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRhdGlv
bnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUyLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYI
KwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MyL2NsaWVudC9j
YTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz
Mi5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzAN
BgkqhkiG9w0BAQUFAAOCAQEAjzHNqifpDVMkH1TSPFZVIiQ4fh49/V5JMpstgqEZPDaDe5r8
h+fMBZtUa6LLMco03Z9BNEXlqlXKiFk8feVYB8obEjz7YYq1XhO9q7JUmkSs0WGIH4xU0XB1
kPC8T8H+5E//84poYSFHE4pA+Ff68UANP2/EuFJWMjegiefnOr8aM42OAcUkjEWSlautIIX8
oD2GizwQYjWdDDjEonbuMKFP6rY2xGI3PSLI3IVU2opb0/itNhQui3WRxafloJqTlriY8m8+
qSLr2HGftbBlbyzVWB8o//aW0H0LMabjkIvrm7Zmh2vcCxiSxGBwYASuSYXGuQiKAgGptUs1
XJLZuzGCA80wggPJAgEBMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g
THRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EC
Ah5jMAkGBSsOAwIaBQCgggIOMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN
AQkFMQ8XDTEyMDUzMTEyNDEyN1owIwYJKoZIhvcNAQkEMRYEFOSfgJ7ElbZ12XUKsELYpey7
IC7KMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBpAYJKwYB
BAGCNxAEMYGWMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAh5jMIGm
BgsqhkiG9w0BCRACCzGBlqCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2
BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB
AgIeYzANBgkqhkiG9w0BAQEFAASCAQBQHGcIzUKYtK6jvgjmmopFxyoLOzx4k9dBCaALb9x8
VMtRqyacY8JlUVus5O/CGG/kM0eJGElAzQikIMS56MUyMVtuLh9mfAiNyPv79+Kko1zySyNR
EA5otnkFOCFvtEeh0mRwwLHJbALA6rxXefKs7coIcXI+ES142MOSMEh4Lbf3al9EhA3bGYr/
2bUW+nTzHqi4SYelC/AY2kT6/66f++gufhW84zR10Kmv04bf/cft5s12EW6Uun608TAfT490
BVWpUmLsLjXxD8urAn9UZ4UXnq94NNZQbo/ds+sr5qiVQyrwTOZnTPTdqk/cIfkU8LMrrAnm
AfBGyASH2txrAAAAAAAA
--------------ms010207070308000101020204--


--===============6647830107743943518==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6647830107743943518==--


From xen-devel-bounces@lists.xen.org Thu May 31 12:44:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4jL-0006Tq-H7; Thu, 31 May 2012 12:43:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <fantonifabio@tiscali.it>) id 1Sa4jK-0006Tl-SF
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:43:55 +0000
Received: from [85.158.138.51:19040] by server-4.bemta-3.messagelabs.com id
	68/35-32504-98767CF4; Thu, 31 May 2012 12:43:53 +0000
X-Env-Sender: fantonifabio@tiscali.it
X-Msg-Ref: server-3.tower-174.messagelabs.com!1338468231!22035681!1
X-Originating-IP: [82.57.200.102]
X-SpamReason: No, hits=0.0 required=7.0 tests=ML_RADAR_SPEW_LINKS_14,
	spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5833 invoked from network); 31 May 2012 12:43:51 -0000
Received: from smtp206.alice.it (HELO smtp206.alice.it) (82.57.200.102)
	by server-3.tower-174.messagelabs.com with SMTP;
	31 May 2012 12:43:51 -0000
Received: from [192.168.178.50] (82.60.21.183) by smtp206.alice.it (8.6.023.02)
	id 4F9BF1D303B1DB4C for xen-devel@lists.xensource.com;
	Thu, 31 May 2012 14:43:51 +0200
Message-ID: <4FC766F7.2030802@tiscali.it>
Date: Thu, 31 May 2012 14:41:27 +0200
From: Fabio Fantoni <fantonifabio@tiscali.it>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel <xen-devel@lists.xensource.com>
Subject: [Xen-devel] [PATCH] tools/hotplug/Linux/init.d/: added other xen
 kernel modules on xencommons start
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: fantonifabio@tiscali.it
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6647830107743943518=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--===============6647830107743943518==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms010207070308000101020204"

Questo Ã¨ un messaggio firmato digitalmente in formato MIME.

--------------ms010207070308000101020204
Content-Type: multipart/mixed;
 boundary="------------030805030109020302080300"

This is a multi-part message in MIME format.
--------------030805030109020302080300
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: quoted-printable

# HG changeset patch
# User Fabio Fantoni
# Date 1338467204 -7200
# Node ID 1f57503f10112718ecbbe424fa8fc9c55785f4c0
# Parent  dd7319230f4ac295b6d14ce2e2a3dccf82bb87d8
tools/hotplug/Linux/init.d/: added other xen kernel modules on=20
xencommons start

Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>

diff -r dd7319230f4a -r 1f57503f1011 tools/hotplug/Linux/init.d/xencommon=
s
--- a/tools/hotplug/Linux/init.d/xencommons    mer mag 23 12:27:26 2012=20
+0200
+++ b/tools/hotplug/Linux/init.d/xencommons    gio mag 31 14:26:44 2012=20
+0200
@@ -56,6 +56,9 @@

      modprobe xen-evtchn 2>/dev/null
      modprobe xen-gntdev 2>/dev/null
+    modprobe xen-gntalloc 2>/dev/null
+    modprobe xen-blkback 2>/dev/null
+    modprobe xen-netback 2>/dev/null
      modprobe evtchn 2>/dev/null
      modprobe gntdev 2>/dev/null
      modprobe xen-acpi-processor 2>/dev/null


--------------030805030109020302080300
Content-Type: text/plain; charset=windows-1252;
 name="added_xen_kernel_modules_on_xencommons.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="added_xen_kernel_modules_on_xencommons.patch"

# HG changeset patch
# User Fabio Fantoni
# Date 1338467204 -7200
# Node ID 1f57503f10112718ecbbe424fa8fc9c55785f4c0
# Parent  dd7319230f4ac295b6d14ce2e2a3dccf82bb87d8
tools/hotplug/Linux/init.d/: added other xen kernel modules on xencommons=
 start

Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>

diff -r dd7319230f4a -r 1f57503f1011 tools/hotplug/Linux/init.d/xencommon=
s
--- a/tools/hotplug/Linux/init.d/xencommons	mer mag 23 12:27:26 2012 +020=
0
+++ b/tools/hotplug/Linux/init.d/xencommons	gio mag 31 14:26:44 2012 +020=
0
@@ -56,6 +56,9 @@
=20
 	modprobe xen-evtchn 2>/dev/null
 	modprobe xen-gntdev 2>/dev/null
+	modprobe xen-gntalloc 2>/dev/null
+	modprobe xen-blkback 2>/dev/null
+	modprobe xen-netback 2>/dev/null
 	modprobe evtchn 2>/dev/null
 	modprobe gntdev 2>/dev/null
 	modprobe xen-acpi-processor 2>/dev/null

--------------030805030109020302080300--

--------------ms010207070308000101020204
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma crittografica S/MIME

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINhjCC
BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT
DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3
MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T
dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu
aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM
KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi
8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M
DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y
2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG
zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV
HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH
MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v
c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93
d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp
Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic
c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw
UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc
p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT
+HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X
hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO
hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC
0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh
AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk
XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIHSjCCBjKgAwIBAgICHmMwDQYJKoZIhvcNAQEF
BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT
ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjAzMTgyMjE0MzBa
Fw0xNDAzMjAwODU3MDlaMIGMMRkwFwYDVQQNExBlQjZPRTM3UlJOUHlsNW0yMQswCQYDVQQG
EwJJVDEQMA4GA1UECBMHQmVyZ2FtbzEQMA4GA1UEBxMHUm92ZXR0YTEWMBQGA1UEAxMNRmFi
aW8gRmFudG9uaTEmMCQGCSqGSIb3DQEJARYXZmFudG9uaWZhYmlvQHRpc2NhbGkuaXQwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XhckXsX23vgJq76s2f0KT8U8Msov5QgV
10eQBb2wL/TzcmqtZotI7ztKVhio3ehHg+mfu+3EqOkX9Umgut8rP0bPi7AGjkPXbOTT/cSU
Xz2Kw31VGOmiOVoUFGvpQitp3weCkhUJLBipI8EpNyBXpjtQ9yCpnIAqfuc77ybfSnCy7tTR
MBq1BUkfjH1+GL45riosuS4+F+MSUvlYzLiT4rAduAX1Y2IuORDsf9Bce8GBxa6syP9rCyzl
Vk7DIX5k8j2vlnyRATIypn5CQLQxGT6e0f6ac4gvWOHwO2QEBsmZKKs1ZidE4q/9OoNXYX6A
jnHtp1H1vcrek/vVcs19AgMBAAGjggOyMIIDrjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFan8cbEWWBmSTWFtLk2
YNdAcGUbMB8GA1UdIwQYMBaAFK5Vg2/sMcq59x36r2sx88gd46y7MCIGA1UdEQQbMBmBF2Zh
bnRvbmlmYWJpb0B0aXNjYWxpLml0MIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwEC
AjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYw
NAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYw
gfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMC
AQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFz
cyAyIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ks
IHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ug
b2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcCAjCBjzAnFiBT
dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkgYW5kIHdh
cnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRhdGlv
bnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUyLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYI
KwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MyL2NsaWVudC9j
YTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz
Mi5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzAN
BgkqhkiG9w0BAQUFAAOCAQEAjzHNqifpDVMkH1TSPFZVIiQ4fh49/V5JMpstgqEZPDaDe5r8
h+fMBZtUa6LLMco03Z9BNEXlqlXKiFk8feVYB8obEjz7YYq1XhO9q7JUmkSs0WGIH4xU0XB1
kPC8T8H+5E//84poYSFHE4pA+Ff68UANP2/EuFJWMjegiefnOr8aM42OAcUkjEWSlautIIX8
oD2GizwQYjWdDDjEonbuMKFP6rY2xGI3PSLI3IVU2opb0/itNhQui3WRxafloJqTlriY8m8+
qSLr2HGftbBlbyzVWB8o//aW0H0LMabjkIvrm7Zmh2vcCxiSxGBwYASuSYXGuQiKAgGptUs1
XJLZuzGCA80wggPJAgEBMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g
THRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EC
Ah5jMAkGBSsOAwIaBQCgggIOMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN
AQkFMQ8XDTEyMDUzMTEyNDEyN1owIwYJKoZIhvcNAQkEMRYEFOSfgJ7ElbZ12XUKsELYpey7
IC7KMF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBpAYJKwYB
BAGCNxAEMYGWMIGTMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEr
MCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMiBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAh5jMIGm
BgsqhkiG9w0BCRACCzGBlqCBkzCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t
IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2
BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB
AgIeYzANBgkqhkiG9w0BAQEFAASCAQBQHGcIzUKYtK6jvgjmmopFxyoLOzx4k9dBCaALb9x8
VMtRqyacY8JlUVus5O/CGG/kM0eJGElAzQikIMS56MUyMVtuLh9mfAiNyPv79+Kko1zySyNR
EA5otnkFOCFvtEeh0mRwwLHJbALA6rxXefKs7coIcXI+ES142MOSMEh4Lbf3al9EhA3bGYr/
2bUW+nTzHqi4SYelC/AY2kT6/66f++gufhW84zR10Kmv04bf/cft5s12EW6Uun608TAfT490
BVWpUmLsLjXxD8urAn9UZ4UXnq94NNZQbo/ds+sr5qiVQyrwTOZnTPTdqk/cIfkU8LMrrAnm
AfBGyASH2txrAAAAAAAA
--------------ms010207070308000101020204--


--===============6647830107743943518==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6647830107743943518==--


From xen-devel-bounces@lists.xen.org Thu May 31 12:58:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4wt-0006oH-Uz; Thu, 31 May 2012 12:57:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa4ws-0006oC-Oz
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:57:55 +0000
Received: from [85.158.143.99:62544] by server-2.bemta-4.messagelabs.com id
	B1/1D-11595-1DA67CF4; Thu, 31 May 2012 12:57:53 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338469069!19530554!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10026 invoked from network); 31 May 2012 12:57:50 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-216.messagelabs.com with SMTP;
	31 May 2012 12:57:50 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 05:57:47 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="149923341"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 31 May 2012 05:57:47 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 05:57:46 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 20:57:44 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
Thread-Index: Ac0/LPhJ2qSMzi1PTzSzWPGw5NRHtw==
Date: Thu, 31 May 2012 12:57:44 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
From: root <root@ljsromley.bj.intel.com>
Date: Fri, 1 Jun 2012 03:12:51 +0800
Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    5 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  385 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 798 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index b772dd6..5e5c863 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -2341,7 +2339,7 @@ static __init int mcheck_init_device(void)
=20
 	return err;
 }
-device_initcall(mcheck_init_device);
+device_initcall_sync(mcheck_init_device);
=20
 /*
  * Old style boot options parsing. Only for compatibility.
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..ff2d00e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -333,9 +334,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 8d2501e..d4dffcd 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -196,4 +196,12 @@ config XEN_ACPI_PROCESSOR
 	  called xen_acpi_processor  If you do not know what to choose, select
 	  M here. If the CPUFREQ drivers are built in, select Y here.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index fc34886..a787029 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o acpi.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..72e87d2
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,392 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain()) {
+		/* register character device /dev/mcelog for xen mcelog */
+		if (misc_register(&xen_mce_chrdev_device))
+			return -ENODEV;
+		return bind_virq_for_mce();
+	}
+
+	return -ENODEV;
+}
+device_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..73a4ea7
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,385 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27069; creation-date="Thu, 31 May 2012 12:54:12 GMT";
	modification-date="Thu, 31 May 2012 20:49:24 GMT"
Content-Transfer-Encoding: base64

RnJvbSAxYTc5NTFkNmNhMDFkN2YyYzlkZDJiZGI2ZGU1ZjhlN2ZkY2I4YmJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiByb290IDxyb290QGxqc3JvbWxleS5iai5pbnRlbC5jb20+CkRh
dGU6IEZyaSwgMSBKdW4gMjAxMiAwMzoxMjo1MSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSB4
ZW4vbWNlOiBBZGQgbWNlbG9nIHN1cHBvcnQgZm9yIFhlbiBwbGF0Zm9ybQoKV2hlbiBNQ0EgZXJy
b3Igb2NjdXJzLCBpdCB3b3VsZCBiZSBoYW5kbGVkIGJ5IFhlbiBoeXBlcnZpc29yIGZpcnN0LAph
bmQgdGhlbiB0aGUgZXJyb3IgaW5mb3JtYXRpb24gd291bGQgYmUgc2VudCB0byBpbml0aWFsIGRv
bWFpbiBmb3IgbG9nZ2luZy4KClRoaXMgcGF0Y2ggZ2V0cyBlcnJvciBpbmZvcm1hdGlvbiBmcm9t
IFhlbiBoeXBlcnZpc29yIGFuZCBjb252ZXJ0ClhlbiBmb3JtYXQgZXJyb3IgaW50byBMaW51eCBm
b3JtYXQgbWNlbG9nLiBUaGlzIGxvZ2ljIGlzIGJhc2ljYWxseQpzZWxmLWNvbnRhaW5lZCwgbm90
IHRvdWNoaW5nIG90aGVyIGtlcm5lbCBjb21wb25lbnRzLgoKQnkgdXNpbmcgdG9vbHMgbGlrZSBt
Y2Vsb2cgdG9vbCB1c2VycyBjb3VsZCByZWFkIHNwZWNpZmljIGVycm9yIGluZm9ybWF0aW9uLAps
aWtlIHdoYXQgdGhleSBkaWQgdW5kZXIgbmF0aXZlIExpbnV4LgoKVG8gdGVzdCBmb2xsb3cgZGly
ZWN0aW9ucyBvdXRsaW5lZCBpbiBEb2N1bWVudGF0aW9uL2FjcGkvYXBlaS9laW5qLnR4dAoKU2ln
bmVkLW9mZi1ieTogS2UsIExpcGluZyA8bGlwaW5nLmtlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1i
eTogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5
OiBKZXJlbXkgRml0emhhcmRpbmdlIDxqZXJlbXkuZml0emhhcmRpbmdlQGNpdHJpeC5jb20+ClNp
Z25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgotLS0KIGFy
Y2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaCB8ICAgIDggKwogYXJjaC94ODYva2Vy
bmVsL2NwdS9tY2hlY2svbWNlLmMgICAgIHwgICAgNCArLQogYXJjaC94ODYveGVuL2VubGlnaHRl
bi5jICAgICAgICAgICAgIHwgICAgNSArLQogZHJpdmVycy94ZW4vS2NvbmZpZyAgICAgICAgICAg
ICAgICAgIHwgICAgOCArCiBkcml2ZXJzL3hlbi9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAg
ICAxICsKIGRyaXZlcnMveGVuL21jZWxvZy5jICAgICAgICAgICAgICAgICB8ICAzOTIgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9taXNjZGV2aWNlLmgg
ICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oICAgICAg
fCAgMzg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFuZ2Vk
LCA3OTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBk
cml2ZXJzL3hlbi9tY2Vsb2cuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2ludGVy
ZmFjZS94ZW4tbWNhLmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlw
ZXJjYWxsLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKaW5kZXggNTcy
ODg1Mi4uNTljMjI2ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVy
Y2FsbC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApAQCAtNDgs
NiArNDgsNyBAQAogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uvc2NoZWQuaD4KICNpbmNsdWRlIDx4
ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRmb3Jt
Lmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4tbWNhLmg+CiAKIC8qCiAgKiBUaGUgaHlw
ZXJjYWxsIGFzbXMgaGF2ZSB0byBtZWV0IHNldmVyYWwgY29uc3RyYWludHM6CkBAIC0zMDIsNiAr
MzAzLDEzIEBAIEhZUEVSVklTT1Jfc2V0X3RpbWVyX29wKHU2NCB0aW1lb3V0KQogfQogCiBzdGF0
aWMgaW5saW5lIGludAorSFlQRVJWSVNPUl9tY2Eoc3RydWN0IHhlbl9tYyAqbWNfb3ApCit7CisJ
bWNfb3AtPmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwly
ZXR1cm4gX2h5cGVyY2FsbDEoaW50LCBtY2EsIG1jX29wKTsKK30KKworc3RhdGljIGlubGluZSBp
bnQKIEhZUEVSVklTT1JfZG9tMF9vcChzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wICpwbGF0Zm9ybV9v
cCkKIHsKIAlwbGF0Zm9ybV9vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5QRl9JTlRFUkZBQ0Vf
VkVSU0lPTjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jIGIv
YXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKaW5kZXggYjc3MmRkNi4uNWU1Yzg2MyAx
MDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKysrIGIvYXJjaC94
ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKQEAgLTU3LDggKzU3LDYgQEAgc3RhdGljIERFRklO
RV9NVVRFWChtY2VfY2hyZGV2X3JlYWRfbXV0ZXgpOwogCiBpbnQgbWNlX2Rpc2FibGVkIF9fcmVh
ZF9tb3N0bHk7CiAKLSNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJMjI3Ci0KICNkZWZpbmUgU1BJ
TlVOSVQgMTAwCS8qIDEwMG5zICovCiAKIGF0b21pY190IG1jZV9lbnRyeTsKQEAgLTIzNDEsNyAr
MjMzOSw3IEBAIHN0YXRpYyBfX2luaXQgaW50IG1jaGVja19pbml0X2RldmljZSh2b2lkKQogCiAJ
cmV0dXJuIGVycjsKIH0KLWRldmljZV9pbml0Y2FsbChtY2hlY2tfaW5pdF9kZXZpY2UpOworZGV2
aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsKIAogLyoKICAqIE9sZCBzdHls
ZSBib290IG9wdGlvbnMgcGFyc2luZy4gT25seSBmb3IgY29tcGF0aWJpbGl0eS4KZGlmZiAtLWdp
dCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwpp
bmRleCA3NWYzM2IyLi5mZjJkMDBlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVu
LmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5j
bHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS92
Y3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9tZW1vcnkuaD4KKyNpbmNsdWRlIDx4ZW4v
aW50ZXJmYWNlL3hlbi1tY2EuaD4KICNpbmNsdWRlIDx4ZW4vZmVhdHVyZXMuaD4KICNpbmNsdWRl
IDx4ZW4vcGFnZS5oPgogI2luY2x1ZGUgPHhlbi9odm0uaD4KQEAgLTMzMyw5ICszMzQsNyBAQCBz
dGF0aWMgdm9pZCBfX2luaXQgeGVuX2luaXRfY3B1aWRfbWFzayh2b2lkKQogCXVuc2lnbmVkIGlu
dCB4c2F2ZV9tYXNrOwogCiAJY3B1aWRfbGVhZjFfZWR4X21hc2sgPQotCQl+KCgxIDw8IFg4Nl9G
RUFUVVJFX01DRSkgIHwgIC8qIGRpc2FibGUgTUNFICovCi0JCSAgKDEgPDwgWDg2X0ZFQVRVUkVf
TUNBKSAgfCAgLyogZGlzYWJsZSBNQ0EgKi8KLQkJICAoMSA8PCBYODZfRkVBVFVSRV9NVFJSKSB8
ICAvKiBkaXNhYmxlIE1UUlIgKi8KKwkJfigoMSA8PCBYODZfRkVBVFVSRV9NVFJSKSB8ICAvKiBk
aXNhYmxlIE1UUlIgKi8KIAkJICAoMSA8PCBYODZfRkVBVFVSRV9BQ0MpKTsgICAvKiB0aGVybWFs
IG1vbml0b3JpbmcgKi8KIAogCWlmICgheGVuX2luaXRpYWxfZG9tYWluKCkpCmRpZmYgLS1naXQg
YS9kcml2ZXJzL3hlbi9LY29uZmlnIGIvZHJpdmVycy94ZW4vS2NvbmZpZwppbmRleCA4ZDI1MDFl
Li5kNGRmZmNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9LY29uZmlnCisrKyBiL2RyaXZlcnMv
eGVuL0tjb25maWcKQEAgLTE5Niw0ICsxOTYsMTIgQEAgY29uZmlnIFhFTl9BQ1BJX1BST0NFU1NP
UgogCSAgY2FsbGVkIHhlbl9hY3BpX3Byb2Nlc3NvciAgSWYgeW91IGRvIG5vdCBrbm93IHdoYXQg
dG8gY2hvb3NlLCBzZWxlY3QKIAkgIE0gaGVyZS4gSWYgdGhlIENQVUZSRVEgZHJpdmVycyBhcmUg
YnVpbHQgaW4sIHNlbGVjdCBZIGhlcmUuCiAKK2NvbmZpZyBYRU5fTUNFX0xPRworCWJvb2wgIlhl
biBwbGF0Zm9ybSBtY2Vsb2ciCisJZGVwZW5kcyBvbiBYRU5fRE9NMCAmJiBYODZfNjQgJiYgWDg2
X01DRQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIEFsbG93IGtlcm5lbCBmZXRjaGluZyBNQ0UgZXJy
b3IgZnJvbSBYZW4gcGxhdGZvcm0gYW5kCisJICBjb252ZXJ0aW5nIGl0IGludG8gTGludXggbWNl
bG9nIGZvcm1hdCBmb3IgbWNlbG9nIHRvb2xzCisKIGVuZG1lbnUKZGlmZiAtLWdpdCBhL2RyaXZl
cnMveGVuL01ha2VmaWxlIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKaW5kZXggZmMzNDg4Ni4uYTc4
NzAyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vTWFrZWZpbGUKKysrIGIvZHJpdmVycy94ZW4v
TWFrZWZpbGUKQEAgLTE4LDYgKzE4LDcgQEAgb2JqLSQoQ09ORklHX1hFTl9QVkhWTSkJCQkrPSBw
bGF0Zm9ybS1wY2kubwogb2JqLSQoQ09ORklHX1hFTl9UTUVNKQkJCSs9IHRtZW0ubwogb2JqLSQo
Q09ORklHX1NXSU9UTEJfWEVOKQkJKz0gc3dpb3RsYi14ZW4ubwogb2JqLSQoQ09ORklHX1hFTl9E
T00wKQkJCSs9IHBjaS5vIGFjcGkubworb2JqLSQoQ09ORklHX1hFTl9NQ0VfTE9HKQkJKz0gbWNl
bG9nLm8KIG9iai0kKENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQpCSs9IHhlbi1wY2liYWNrLwog
b2JqLSQoQ09ORklHX1hFTl9QUklWQ01EKQkJKz0geGVuLXByaXZjbWQubwogb2JqLSQoQ09ORklH
X1hFTl9BQ1BJX1BST0NFU1NPUikJKz0geGVuLWFjcGktcHJvY2Vzc29yLm8KZGlmZiAtLWdpdCBh
L2RyaXZlcnMveGVuL21jZWxvZy5jIGIvZHJpdmVycy94ZW4vbWNlbG9nLmMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJlODdkMgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZl
cnMveGVuL21jZWxvZy5jCkBAIC0wLDAgKzEsMzkyIEBACisvKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CisgKiBtY2Vsb2cuYworICogRHJpdmVyIGZvciByZWNlaXZpbmcgYW5kIHRyYW5zZmVycmluZyBt
YWNoaW5lIGNoZWNrIGVycm9yIGluZm9tYXRpb24KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTIg
SW50ZWwgQ29ycG9yYXRpb24KKyAqIEF1dGhvcjogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBp
bnRlbC5jb20+CisgKiBBdXRob3I6IEppYW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGludGVs
LmNvbT4KKyAqIEF1dGhvcjogS2UsIExpcGluZyA8bGlwaW5nLmtlQGludGVsLmNvbT4KKyAqCisg
KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBvciwgd2hlbiBkaXN0cmlidXRlZAorICogc2VwYXJhdGVseSBmcm9t
IHRoZSBMaW51eCBrZXJuZWwgb3IgaW5jb3Jwb3JhdGVkIGludG8gb3RoZXIKKyAqIHNvZnR3YXJl
IHBhY2thZ2VzLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgbGljZW5zZToKKyAqCisgKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvdXJjZSBmaWxlICh0aGUgIlNvZnR3YXJlIiks
IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQKKyAqIHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksCisg
KiBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBTb2Z0d2FyZSwKKyAqIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyAqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNP
RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
IEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisg
KiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Cisj
aW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNs
dWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51
eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSA8bGlu
dXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KKworI2luY2x1ZGUg
PHhlbi9pbnRlcmZhY2UveGVuLmg+CisjaW5jbHVkZSA8eGVuL2V2ZW50cy5oPgorI2luY2x1ZGUg
PHhlbi9pbnRlcmZhY2UvdmNwdS5oPgorI2luY2x1ZGUgPHhlbi94ZW4uaD4KKyNpbmNsdWRlIDxh
c20veGVuL2h5cGVyY2FsbC5oPgorI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgorCisj
ZGVmaW5lIFhFTl9NQ0VMT0cgInhlbl9tY2Vsb2c6ICIKKworc3RhdGljIHN0cnVjdCBtY19pbmZv
IGdfbWk7CitzdGF0aWMgc3RydWN0IG1jaW5mb19sb2dpY2FsX2NwdSAqZ19waHlzaW5mbzsKK3N0
YXRpYyB1aW50MzJfdCBuY3B1czsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhtY2Vsb2dfbG9j
ayk7CisKK3N0YXRpYyBzdHJ1Y3QgeGVuX21jZV9sb2cgeGVuX21jZWxvZyA9IHsKKwkuc2lnbmF0
dXJlCT0gWEVOX01DRV9MT0dfU0lHTkFUVVJFLAorCS5sZW4JCT0gWEVOX01DRV9MT0dfTEVOLAor
CS5yZWNvcmRsZW4JPSBzaXplb2Yoc3RydWN0IHhlbl9tY2UpLAorfTsKKworc3RhdGljIERFRklO
RV9TUElOTE9DSyh4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKK3N0YXRpYyBpbnQgeGVuX21j
ZV9jaHJkZXZfb3Blbl9jb3VudDsJLyogI3RpbWVzIG9wZW5lZCAqLworc3RhdGljIGludCB4ZW5f
bWNlX2NocmRldl9vcGVuX2V4Y2x1OwkvKiBhbHJlYWR5IG9wZW4gZXhjbHVzaXZlPyAqLworCitz
dGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0
IGZpbGUgKmZpbGUpCit7CisJc3Bpbl9sb2NrKCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsK
KworCWlmICh4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1IHx8CisJICAgICh4ZW5fbWNlX2NocmRl
dl9vcGVuX2NvdW50ICYmIChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSkpIHsKKwkJc3Bpbl91bmxv
Y2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJCXJldHVybiAtRUJVU1k7CisJfQor
CisJaWYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpCisJCXhlbl9tY2VfY2hyZGV2X29wZW5fZXhj
bHUgPSAxOworCXhlbl9tY2VfY2hyZGV2X29wZW5fY291bnQrKzsKKworCXNwaW5fdW5sb2NrKCZ4
ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlu
b2RlLCBmaWxlKTsKK30KKworc3RhdGljIGludCB4ZW5fbWNlX2NocmRldl9yZWxlYXNlKHN0cnVj
dCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXNwaW5fbG9jaygmeGVuX21j
ZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwl4ZW5fbWNlX2NocmRldl9vcGVuX2NvdW50LS07CisJ
eGVuX21jZV9jaHJkZXZfb3Blbl9leGNsdSA9IDA7CisKKwlzcGluX3VubG9jaygmeGVuX21jZV9j
aHJkZXZfc3RhdGVfbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QgeGVu
X21jZV9jaHJkZXZfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJ
CQkJc2l6ZV90IHVzaXplLCBsb2ZmX3QgKm9mZikKK3sKKwljaGFyIF9fdXNlciAqYnVmID0gdWJ1
ZjsKKwl1bnNpZ25lZCBudW07CisJaW50IGksIGVycjsKKworCXNwaW5fbG9jaygmbWNlbG9nX2xv
Y2spOworCisJbnVtID0geGVuX21jZWxvZy5uZXh0OworCisJLyogT25seSBzdXBwb3J0cyBmdWxs
IHJlYWRzIHJpZ2h0IG5vdyAqLworCWVyciA9IC1FSU5WQUw7CisJaWYgKCpvZmYgIT0gMCB8fCB1
c2l6ZSA8IFhFTl9NQ0VfTE9HX0xFTipzaXplb2Yoc3RydWN0IHhlbl9tY2UpKQorCQlnb3RvIG91
dDsKKworCWVyciA9IDA7CisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCXN0cnVjdCB4
ZW5fbWNlICptID0gJnhlbl9tY2Vsb2cuZW50cnlbaV07CisKKwkJZXJyIHw9IGNvcHlfdG9fdXNl
cihidWYsIG0sIHNpemVvZigqbSkpOworCQlidWYgKz0gc2l6ZW9mKCptKTsKKwl9CisKKwltZW1z
ZXQoeGVuX21jZWxvZy5lbnRyeSwgMCwgbnVtICogc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7CisJ
eGVuX21jZWxvZy5uZXh0ID0gMDsKKworCWlmIChlcnIpCisJCWVyciA9IC1FRkFVTFQ7CisKK291
dDoKKwlzcGluX3VubG9jaygmbWNlbG9nX2xvY2spOworCisJcmV0dXJuIGVyciA/IGVyciA6IGJ1
ZiAtIHVidWY7Cit9CisKK3N0YXRpYyBsb25nIHhlbl9tY2VfY2hyZGV2X2lvY3RsKHN0cnVjdCBm
aWxlICpmLCB1bnNpZ25lZCBpbnQgY21kLAorCQkJCXVuc2lnbmVkIGxvbmcgYXJnKQoreworCWlu
dCBfX3VzZXIgKnAgPSAoaW50IF9fdXNlciAqKWFyZzsKKworCWlmICghY2FwYWJsZShDQVBfU1lT
X0FETUlOKSkKKwkJcmV0dXJuIC1FUEVSTTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBNQ0Vf
R0VUX1JFQ09SRF9MRU46CisJCXJldHVybiBwdXRfdXNlcihzaXplb2Yoc3RydWN0IHhlbl9tY2Up
LCBwKTsKKwljYXNlIE1DRV9HRVRfTE9HX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKFhFTl9NQ0Vf
TE9HX0xFTiwgcCk7CisJY2FzZSBNQ0VfR0VUQ0xFQVJfRkxBR1M6IHsKKwkJdW5zaWduZWQgZmxh
Z3M7CisKKwkJZG8geworCQkJZmxhZ3MgPSB4ZW5fbWNlbG9nLmZsYWdzOworCQl9IHdoaWxlIChj
bXB4Y2hnKCZ4ZW5fbWNlbG9nLmZsYWdzLCBmbGFncywgMCkgIT0gZmxhZ3MpOworCisJCXJldHVy
biBwdXRfdXNlcihmbGFncywgcCk7CisJfQorCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PVFRZOwor
CX0KK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgeGVuX21jZV9jaHJk
ZXZfb3BzID0geworCS5vcGVuCQkJPSB4ZW5fbWNlX2NocmRldl9vcGVuLAorCS5yZWxlYXNlCQk9
IHhlbl9tY2VfY2hyZGV2X3JlbGVhc2UsCisJLnJlYWQJCQk9IHhlbl9tY2VfY2hyZGV2X3JlYWQs
CisJLnVubG9ja2VkX2lvY3RsCQk9IHhlbl9tY2VfY2hyZGV2X2lvY3RsLAorCS5sbHNlZWsJCQk9
IG5vX2xsc2VlaywKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWlzY2RldmljZSB4ZW5fbWNlX2NocmRl
dl9kZXZpY2UgPSB7CisJTUlTQ19NQ0VMT0dfTUlOT1IsCisJIm1jZWxvZyIsCisJJnhlbl9tY2Vf
Y2hyZGV2X29wcywKK307CisKKy8qCisgKiBDYWxsZXIgc2hvdWxkIGhvbGQgdGhlIG1jZWxvZ19s
b2NrCisgKi8KK3N0YXRpYyB2b2lkIHhlbl9tY2VfbG9nKHN0cnVjdCB4ZW5fbWNlICptY2UpCit7
CisJdW5zaWduZWQgZW50cnk7CisKKwllbnRyeSA9IHhlbl9tY2Vsb2cubmV4dDsKKworCS8qCisJ
ICogV2hlbiB0aGUgYnVmZmVyIGZpbGxzIHVwIGRpc2NhcmQgbmV3IGVudHJpZXMuCisJICogQXNz
dW1lIHRoYXQgdGhlIGVhcmxpZXIgZXJyb3JzIGFyZSB0aGUgbW9yZQorCSAqIGludGVyZXN0aW5n
IG9uZXM6CisJICovCisJaWYgKGVudHJ5ID49IFhFTl9NQ0VfTE9HX0xFTikgeworCQlzZXRfYml0
KFhFTl9NQ0VfT1ZFUkZMT1csCisJCQkodW5zaWduZWQgbG9uZyAqKSZ4ZW5fbWNlbG9nLmZsYWdz
KTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSh4ZW5fbWNlbG9nLmVudHJ5ICsgZW50cnksIG1j
ZSwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7CisKKwl4ZW5fbWNlbG9nLm5leHQrKzsKK30KKwor
c3RhdGljIGludCBjb252ZXJ0X2xvZyhzdHJ1Y3QgbWNfaW5mbyAqbWkpCit7CisJc3RydWN0IG1j
aW5mb19jb21tb24gKm1pYzsKKwlzdHJ1Y3QgbWNpbmZvX2dsb2JhbCAqbWNfZ2xvYmFsOworCXN0
cnVjdCBtY2luZm9fYmFuayAqbWNfYmFuazsKKwlzdHJ1Y3QgeGVuX21jZSBtOworCXVpbnQzMl90
IGk7CisKKwltaWMgPSBOVUxMOworCXg4Nl9tY2luZm9fbG9va3VwKCZtaWMsIG1pLCBNQ19UWVBF
X0dMT0JBTCk7CisJaWYgKHVubGlrZWx5KCFtaWMpKSB7CisJCXByX3dhcm5pbmcoWEVOX01DRUxP
RyAiRmFpbGVkIHRvIGZpbmQgZ2xvYmFsIGVycm9yIGluZm9cbiIpOworCQlyZXR1cm4gLUVOT0RF
VjsKKwl9CisKKwltZW1zZXQoJm0sIDAsIHNpemVvZihzdHJ1Y3QgeGVuX21jZSkpOworCisJbWNf
Z2xvYmFsID0gKHN0cnVjdCBtY2luZm9fZ2xvYmFsICopbWljOworCW0ubWNnc3RhdHVzID0gbWNf
Z2xvYmFsLT5tY19nc3RhdHVzOworCW0uYXBpY2lkID0gbWNfZ2xvYmFsLT5tY19hcGljaWQ7CisK
Kwlmb3IgKGkgPSAwOyBpIDwgbmNwdXM7IGkrKykKKwkJaWYgKGdfcGh5c2luZm9baV0ubWNfYXBp
Y2lkID09IG0uYXBpY2lkKQorCQkJYnJlYWs7CisJaWYgKHVubGlrZWx5KGkgPT0gbmNwdXMpKSB7
CisJCXByX3dhcm5pbmcoWEVOX01DRUxPRyAiRmFpbGVkIHRvIG1hdGNoIGNwdSB3aXRoIGFwaWNp
ZCAlZFxuIiwKKwkJCSAgIG0uYXBpY2lkKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJbS5z
b2NrZXRpZCA9IGdfcGh5c2luZm9baV0ubWNfY2hpcGlkOworCW0uY3B1ID0gbS5leHRjcHUgPSBn
X3BoeXNpbmZvW2ldLm1jX2NwdW5yOworCW0uY3B1dmVuZG9yID0gKF9fdTgpZ19waHlzaW5mb1tp
XS5tY192ZW5kb3I7CisJbS5tY2djYXAgPSBnX3BoeXNpbmZvW2ldLm1jX21zcnZhbHVlc1tfX01D
X01TUl9NQ0dDQVBdLnZhbHVlOworCisJbWljID0gTlVMTDsKKwl4ODZfbWNpbmZvX2xvb2t1cCgm
bWljLCBtaSwgTUNfVFlQRV9CQU5LKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJcHJfd2Fy
bmluZyhYRU5fTUNFTE9HICJGYWlsIHRvIGZpbmQgYmFuayBlcnJvciBpbmZvXG4iKTsKKwkJcmV0
dXJuIC1FTk9ERVY7CisJfQorCisJZG8geworCQlpZiAoKCFtaWMpIHx8IChtaWMtPnNpemUgPT0g
MCkgfHwKKwkJICAgIChtaWMtPnR5cGUgIT0gTUNfVFlQRV9HTE9CQUwgICAmJgorCQkgICAgIG1p
Yy0+dHlwZSAhPSBNQ19UWVBFX0JBTksgICAgICYmCisJCSAgICAgbWljLT50eXBlICE9IE1DX1RZ
UEVfRVhURU5ERUQgJiYKKwkJICAgICBtaWMtPnR5cGUgIT0gTUNfVFlQRV9SRUNPVkVSWSkpCisJ
CQlicmVhazsKKworCQlpZiAobWljLT50eXBlID09IE1DX1RZUEVfQkFOSykgeworCQkJbWNfYmFu
ayA9IChzdHJ1Y3QgbWNpbmZvX2JhbmsgKiltaWM7CisJCQltLm1pc2MgPSBtY19iYW5rLT5tY19t
aXNjOworCQkJbS5zdGF0dXMgPSBtY19iYW5rLT5tY19zdGF0dXM7CisJCQltLmFkZHIgPSBtY19i
YW5rLT5tY19hZGRyOworCQkJbS50c2MgPSBtY19iYW5rLT5tY190c2M7CisJCQltLmJhbmsgPSBt
Y19iYW5rLT5tY19iYW5rOworCQkJbS5maW5pc2hlZCA9IDE7CisJCQkvKmxvZyB0aGlzIHJlY29y
ZCovCisJCQl4ZW5fbWNlX2xvZygmbSk7CisJCX0KKwkJbWljID0geDg2X21jaW5mb19uZXh0KG1p
Yyk7CisJfSB3aGlsZSAoMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtY19xdWV1
ZV9oYW5kbGUodWludDMyX3QgZmxhZ3MpCit7CisJc3RydWN0IHhlbl9tYyBtY19vcDsKKwlpbnQg
cmV0ID0gMDsKKworCW1jX29wLmNtZCA9IFhFTl9NQ19mZXRjaDsKKwltY19vcC5pbnRlcmZhY2Vf
dmVyc2lvbiA9IFhFTl9NQ0FfSU5URVJGQUNFX1ZFUlNJT047CisJc2V0X3hlbl9ndWVzdF9oYW5k
bGUobWNfb3AudS5tY19mZXRjaC5kYXRhLCAmZ19taSk7CisJZG8geworCQltY19vcC51Lm1jX2Zl
dGNoLmZsYWdzID0gZmxhZ3M7CisJCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19vcCk7CisJCWlm
IChyZXQpIHsKKwkJCXByX2VycihYRU5fTUNFTE9HICJGYWlsZWQgdG8gZmV0Y2ggJXMgZXJyb3Ig
bG9nXG4iLAorCQkJICAgICAgIChmbGFncyA9PSBYRU5fTUNfVVJHRU5UKSA/CisJCQkgICAgICAg
InVyZ25ldCIgOiAibm9udXJnZW50Iik7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChtY19vcC51
Lm1jX2ZldGNoLmZsYWdzICYgWEVOX01DX05PREFUQSB8fAorCQkgICAgbWNfb3AudS5tY19mZXRj
aC5mbGFncyAmIFhFTl9NQ19GRVRDSEZBSUxFRCkKKwkJCWJyZWFrOworCQllbHNlIHsKKwkJCXJl
dCA9IGNvbnZlcnRfbG9nKCZnX21pKTsKKwkJCWlmIChyZXQpCisJCQkJcHJfd2FybmluZyhYRU5f
TUNFTE9HCisJCQkJCSAgICJGYWlsZWQgdG8gY29udmVydCB0aGlzIGVycm9yIGxvZywgIgorCQkJ
CQkgICAiY29udGludWUgYWNraW5nIGl0IGFueXdheVxuIik7CisKKwkJCW1jX29wLnUubWNfZmV0
Y2guZmxhZ3MgPSBmbGFncyB8IFhFTl9NQ19BQ0s7CisJCQlyZXQgPSBIWVBFUlZJU09SX21jYSgm
bWNfb3ApOworCQkJaWYgKHJldCkgeworCQkJCXByX2VycihYRU5fTUNFTE9HCisJCQkJICAgICAg
ICJGYWlsZWQgdG8gYWNrIHByZXZpb3VzIGVycm9yIGxvZ1xuIik7CisJCQkJYnJlYWs7CisJCQl9
CisJCX0KKwl9IHdoaWxlICgxKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qIHZpcnEgaGFuZGxl
ciBmb3IgbWFjaGluZSBjaGVjayBlcnJvciBpbmZvKi8KK3N0YXRpYyBpcnFyZXR1cm5fdCB4ZW5f
bWNlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJaW50IGVycjsKKwl1bnNp
Z25lZCBsb25nIHRtcDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZtY2Vsb2dfbG9jaywgdG1wKTsK
KworCS8qIHVyZ2VudCBtY19pbmZvICovCisJZXJyID0gbWNfcXVldWVfaGFuZGxlKFhFTl9NQ19V
UkdFTlQpOworCWlmIChlcnIpCisJCXByX2VycihYRU5fTUNFTE9HCisJCSAgICAgICAiRmFpbGVk
IHRvIGhhbmRsZSB1cmdlbnQgbWNfaW5mbyBxdWV1ZSwgIgorCQkgICAgICAgImNvbnRpbnVlIGhh
bmRsaW5nIG5vbnVyZ2VudCBtY19pbmZvIHF1ZXVlIGFueXdheS5cbiIpOworCisJLyogbm9udXJn
ZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19xdWV1ZV9oYW5kbGUoWEVOX01DX05PTlVSR0VOVCk7
CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJICAgICAgICJGYWlsZWQgdG8gaGFu
ZGxlIG5vbnVyZ2VudCBtY19pbmZvIHF1ZXVlLlxuIik7CisKKwlzcGluX3VubG9ja19pcnFyZXN0
b3JlKCZtY2Vsb2dfbG9jaywgdG1wKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3Rh
dGljIGludCBiaW5kX3ZpcnFfZm9yX21jZSh2b2lkKQoreworCWludCByZXQ7CisJc3RydWN0IHhl
bl9tYyBtY19vcDsKKworCW1lbXNldCgmbWNfb3AsIDAsIHNpemVvZihzdHJ1Y3QgeGVuX21jKSk7
CisKKwkvKiBGZXRjaCBwaHlzaWNhbCBDUFUgTnVtYmVycyAqLworCW1jX29wLmNtZCA9IFhFTl9N
Q19waHlzY3B1aW5mbzsKKwltY19vcC5pbnRlcmZhY2VfdmVyc2lvbiA9IFhFTl9NQ0FfSU5URVJG
QUNFX1ZFUlNJT047CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUobWNfb3AudS5tY19waHlzY3B1aW5m
by5pbmZvLCBnX3BoeXNpbmZvKTsKKwlyZXQgPSBIWVBFUlZJU09SX21jYSgmbWNfb3ApOworCWlm
IChyZXQpIHsKKwkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBnZXQgQ1BVIG51bWJlcnNc
biIpOworCQlyZXR1cm4gcmV0OworCX0KKworCS8qIEZldGNoIGVhY2ggQ1BVIFBoeXNpY2FsIElu
Zm8gZm9yIGxhdGVyIHJlZmVyZW5jZSovCisJbmNwdXMgPSBtY19vcC51Lm1jX3BoeXNjcHVpbmZv
Lm5jcHVzOworCWdfcGh5c2luZm8gPSBrY2FsbG9jKG5jcHVzLCBzaXplb2Yoc3RydWN0IG1jaW5m
b19sb2dpY2FsX2NwdSksCisJCQkgICAgIEdGUF9LRVJORUwpOworCWlmICghZ19waHlzaW5mbykK
KwkJcmV0dXJuIC1FTk9NRU07CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUobWNfb3AudS5tY19waHlz
Y3B1aW5mby5pbmZvLCBnX3BoeXNpbmZvKTsKKwlyZXQgPSBIWVBFUlZJU09SX21jYSgmbWNfb3Ap
OworCWlmIChyZXQpIHsKKwkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBnZXQgQ1BVIGlu
Zm9cbiIpOworCQlrZnJlZShnX3BoeXNpbmZvKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXQg
ID0gYmluZF92aXJxX3RvX2lycWhhbmRsZXIoVklSUV9NQ0EsIDAsCisJCQkJICAgICAgIHhlbl9t
Y2VfaW50ZXJydXB0LCAwLCAibWNlIiwgTlVMTCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJy
KFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBiaW5kIHZpcnFcbiIpOworCQlrZnJlZShnX3BoeXNpbmZv
KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2lu
aXQgeGVuX2xhdGVfaW5pdF9tY2Vsb2codm9pZCkKK3sKKwkvKiBPbmx5IERPTTAgaXMgcmVzcG9u
c2libGUgZm9yIE1DRSBsb2dnaW5nICovCisJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKSB7CisJ
CS8qIHJlZ2lzdGVyIGNoYXJhY3RlciBkZXZpY2UgL2Rldi9tY2Vsb2cgZm9yIHhlbiBtY2Vsb2cg
Ki8KKwkJaWYgKG1pc2NfcmVnaXN0ZXIoJnhlbl9tY2VfY2hyZGV2X2RldmljZSkpCisJCQlyZXR1
cm4gLUVOT0RFVjsKKwkJcmV0dXJuIGJpbmRfdmlycV9mb3JfbWNlKCk7CisJfQorCisJcmV0dXJu
IC1FTk9ERVY7Cit9CitkZXZpY2VfaW5pdGNhbGwoeGVuX2xhdGVfaW5pdF9tY2Vsb2cpOwpkaWZm
IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9taXNjZGV2aWNlLmggYi9pbmNsdWRlL2xpbnV4L21pc2Nk
ZXZpY2UuaAppbmRleCAwNTQ5ZDIxLi5lMGRlZWIyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4
L21pc2NkZXZpY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L21pc2NkZXZpY2UuaApAQCAtMzUsNiAr
MzUsNyBAQAogI2RlZmluZSBNUFRfTUlOT1IJCTIyMAogI2RlZmluZSBNUFQyU0FTX01JTk9SCQky
MjEKICNkZWZpbmUgVUlOUFVUX01JTk9SCQkyMjMKKyNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJ
MjI3CiAjZGVmaW5lIEhQRVRfTUlOT1IJCTIyOAogI2RlZmluZSBGVVNFX01JTk9SCQkyMjkKICNk
ZWZpbmUgS1ZNX01JTk9SCQkyMzIKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS94
ZW4tbWNhLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczYTRlYTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRl
L3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oCkBAIC0wLDAgKzEsMzg1IEBACisvKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCisgKiBhcmNoLXg4Ni9tY2EuaAorICogR3Vlc3QgT1MgbWFjaGluZSBjaGVjayBp
bnRlcmZhY2UgdG8geDg2IFhlbi4KKyAqCisgKiBDb250cmlidXRlZCBieSBBZHZhbmNlZCBNaWNy
byBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IENocmlzdG9waCBFZ2dlciA8Q2hyaXN0b3BoLkVn
Z2VyQGFtZC5jb20+CisgKgorICogVXBkYXRlZCBieSBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0
aG9yOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4KKyAqCisgKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJl
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisg
KiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5k
IHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS
RSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKi8K
KworI2lmbmRlZiBfX1hFTl9QVUJMSUNfQVJDSF9YODZfTUNBX0hfXworI2RlZmluZSBfX1hFTl9Q
VUJMSUNfQVJDSF9YODZfTUNBX0hfXworCisvKiBIeXBlcmNhbGwgKi8KKyNkZWZpbmUgX19IWVBF
UlZJU09SX21jYSBfX0hZUEVSVklTT1JfYXJjaF8wCisKKyNkZWZpbmUgWEVOX01DQV9JTlRFUkZB
Q0VfVkVSU0lPTgkweDAxZWNjMDAzCisKKy8qIElOOiBEb20wIGNhbGxzIGh5cGVyY2FsbCB0byBy
ZXRyaWV2ZSBub251cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICovCisjZGVmaW5lIFhFTl9NQ19OT05V
UkdFTlQJMHgxCisvKiBJTjogRG9tMCBjYWxscyBoeXBlcmNhbGwgdG8gcmV0cmlldmUgdXJnZW50
IGVycm9yIGxvZyBlbnRyeSAqLworI2RlZmluZSBYRU5fTUNfVVJHRU5UCQkweDIKKy8qIElOOiBE
b20wIGFja25vd2xlZGdlcyBwcmV2aW9zbHktZmV0Y2hlZCBlcnJvciBsb2cgZW50cnkgKi8KKyNk
ZWZpbmUgWEVOX01DX0FDSwkJMHg0CisKKy8qIE9VVDogQWxsIGlzIG9rICovCisjZGVmaW5lIFhF
Tl9NQ19PSwkJMHgwCisvKiBPVVQ6IERvbWFpbiBjb3VsZCBub3QgZmV0Y2ggZGF0YS4gKi8KKyNk
ZWZpbmUgWEVOX01DX0ZFVENIRkFJTEVECTB4MQorLyogT1VUOiBUaGVyZSB3YXMgbm8gbWFjaGlu
ZSBjaGVjayBkYXRhIHRvIGZldGNoLiAqLworI2RlZmluZSBYRU5fTUNfTk9EQVRBCQkweDIKKwor
I2lmbmRlZiBfX0FTU0VNQkxZX18KKy8qIHZJUlEgaW5qZWN0ZWQgdG8gRG9tMCAqLworI2RlZmlu
ZSBWSVJRX01DQSBWSVJRX0FSQ0hfMAorCisvKgorICogbWNfaW5mbyBlbnRyeSB0eXBlcworICog
bWNhIG1hY2hpbmUgY2hlY2sgaW5mbyBhcmUgcmVjb3JkZWQgaW4gbWNfaW5mbyBlbnRyaWVzLgor
ICogd2hlbiBmZXRjaCBtY2EgaW5mbywgaXQgY2FuIHVzZSBNQ19UWVBFXy4uLiB0byBkaXN0aW5n
dWlzaAorICogZGlmZmVyZW50IG1jYSBpbmZvLgorICovCisjZGVmaW5lIE1DX1RZUEVfR0xPQkFM
CQkwCisjZGVmaW5lIE1DX1RZUEVfQkFOSwkJMQorI2RlZmluZSBNQ19UWVBFX0VYVEVOREVECTIK
KyNkZWZpbmUgTUNfVFlQRV9SRUNPVkVSWQkzCisKK3N0cnVjdCBtY2luZm9fY29tbW9uIHsKKwl1
aW50MTZfdCB0eXBlOyAvKiBzdHJ1Y3R1cmUgdHlwZSAqLworCXVpbnQxNl90IHNpemU7IC8qIHNp
emUgb2YgdGhpcyBzdHJ1Y3QgaW4gYnl0ZXMgKi8KK307CisKKyNkZWZpbmUgTUNfRkxBR19DT1JS
RUNUQUJMRQkoMSA8PCAwKQorI2RlZmluZSBNQ19GTEFHX1VOQ09SUkVDVEFCTEUJKDEgPDwgMSkK
KyNkZWZpbmUgTUNfRkxBR19SRUNPVkVSQUJMRQkoMSA8PCAyKQorI2RlZmluZSBNQ19GTEFHX1BP
TExFRAkJKDEgPDwgMykKKyNkZWZpbmUgTUNfRkxBR19SRVNFVAkJKDEgPDwgNCkKKyNkZWZpbmUg
TUNfRkxBR19DTUNJCQkoMSA8PCA1KQorI2RlZmluZSBNQ19GTEFHX01DRQkJKDEgPDwgNikKKwor
LyogY29udGFpbnMgeDg2IGdsb2JhbCBtYyBpbmZvcm1hdGlvbiAqLworc3RydWN0IG1jaW5mb19n
bG9iYWwgeworCXN0cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsKKworCXVpbnQxNl90IG1jX2Rv
bWlkOyAvKiBydW5uaW5nIGRvbWFpbiBhdCB0aGUgdGltZSBpbiBlcnJvciAqLworCXVpbnQxNl90
IG1jX3ZjcHVpZDsgLyogdmlydHVhbCBjcHUgc2NoZWR1bGVkIGZvciBtY19kb21pZCAqLworCXVp
bnQzMl90IG1jX3NvY2tldGlkOyAvKiBwaHlzaWNhbCBzb2NrZXQgb2YgdGhlIHBoeXNpY2FsIGNv
cmUgKi8KKwl1aW50MTZfdCBtY19jb3JlaWQ7IC8qIHBoeXNpY2FsIGltcGFjdGVkIGNvcmUgKi8K
Kwl1aW50MTZfdCBtY19jb3JlX3RocmVhZGlkOyAvKiBjb3JlIHRocmVhZCBvZiBwaHlzaWNhbCBj
b3JlICovCisJdWludDMyX3QgbWNfYXBpY2lkOworCXVpbnQzMl90IG1jX2ZsYWdzOworCXVpbnQ2
NF90IG1jX2dzdGF0dXM7IC8qIGdsb2JhbCBzdGF0dXMgKi8KK307CisKKy8qIGNvbnRhaW5zIHg4
NiBiYW5rIG1jIGluZm9ybWF0aW9uICovCitzdHJ1Y3QgbWNpbmZvX2JhbmsgeworCXN0cnVjdCBt
Y2luZm9fY29tbW9uIGNvbW1vbjsKKworCXVpbnQxNl90IG1jX2Jhbms7IC8qIGJhbmsgbnIgKi8K
Kwl1aW50MTZfdCBtY19kb21pZDsgLyogZG9tYWluIHJlZmVyZW5jZWQgYnkgbWNfYWRkciBpZiB2
YWxpZCAqLworCXVpbnQ2NF90IG1jX3N0YXR1czsgLyogYmFuayBzdGF0dXMgKi8KKwl1aW50NjRf
dCBtY19hZGRyOyAvKiBiYW5rIGFkZHJlc3MgKi8KKwl1aW50NjRfdCBtY19taXNjOworCXVpbnQ2
NF90IG1jX2N0cmwyOworCXVpbnQ2NF90IG1jX3RzYzsKK307CisKK3N0cnVjdCBtY2luZm9fbXNy
IHsKKwl1aW50NjRfdCByZWc7IC8qIE1TUiAqLworCXVpbnQ2NF90IHZhbHVlOyAvKiBNU1IgdmFs
dWUgKi8KK307CisKKy8qIGNvbnRhaW5zIG1jIGluZm9ybWF0aW9uIGZyb20gb3RoZXIgb3IgYWRk
aXRpb25hbCBtYyBNU1JzICovCitzdHJ1Y3QgbWNpbmZvX2V4dGVuZGVkIHsKKwlzdHJ1Y3QgbWNp
bmZvX2NvbW1vbiBjb21tb247CisJdWludDMyX3QgbWNfbXNyczsgLyogTnVtYmVyIG9mIG1zciB3
aXRoIHZhbGlkIHZhbHVlcy4gKi8KKwkvKgorCSAqIEN1cnJlbnRseSBJbnRlbCBleHRlbmRlZCBN
U1IgKDMyLzY0KSBpbmNsdWRlIGFsbCBncCByZWdpc3RlcnMKKwkgKiBhbmQgRShSKUZMQUdTLCBF
KFIpSVAsIEUoUilNSVNDLCB1cCB0byAxMS8xOSBvZiB0aGVtIG1pZ2h0IGJlCisJICogdXNlZnVs
IGF0IHByZXNlbnQuIFNvIGV4cGFuZCB0aGlzIGFycmF5IHRvIDE2LzMyIHRvIGxlYXZlIHJvb20u
CisJICovCisJc3RydWN0IG1jaW5mb19tc3IgbWNfbXNyW3NpemVvZih2b2lkICopICogNF07Cit9
OworCisvKiBSZWNvdmVyeSBBY3Rpb24gZmxhZ3MuIEdpdmluZyByZWNvdmVyeSByZXN1bHQgaW5m
b3JtYXRpb24gdG8gRE9NMCAqLworCisvKiBYZW4gdGFrZXMgc3VjY2Vzc2Z1bCByZWNvdmVyeSBh
Y3Rpb24sIHRoZSBlcnJvciBpcyByZWNvdmVyZWQgKi8KKyNkZWZpbmUgUkVDX0FDVElPTl9SRUNP
VkVSRUQgKDB4MSA8PCAwKQorLyogTm8gYWN0aW9uIGlzIHBlcmZvcm1lZCBieSBYRU4gKi8KKyNk
ZWZpbmUgUkVDX0FDVElPTl9OT05FICgweDEgPDwgMSkKKy8qIEl0J3MgcG9zc2libGUgRE9NMCBt
aWdodCB0YWtlIGFjdGlvbiBvd25lcnNoaXAgaW4gc29tZSBjYXNlICovCisjZGVmaW5lIFJFQ19B
Q1RJT05fTkVFRF9SRVNFVCAoMHgxIDw8IDIpCisKKy8qCisgKiBEaWZmZXJlbnQgUmVjb3Zlcnkg
QWN0aW9uIHR5cGVzLCBpZiB0aGUgYWN0aW9uIGlzIHBlcmZvcm1lZCBzdWNjZXNzZnVsbHksCisg
KiBSRUNfQUNUSU9OX1JFQ09WRVJFRCBmbGFnIHdpbGwgYmUgcmV0dXJuZWQuCisgKi8KKworLyog
UGFnZSBPZmZsaW5lIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fUEFHRV9PRkZMSU5FICgw
eDEgPDwgMCkKKy8qIENQVSBvZmZsaW5lIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fQ1BV
X09GRkxJTkUgKDB4MSA8PCAxKQorLyogTDMgY2FjaGUgZGlzYWJsZSBBY3Rpb24gKi8KKyNkZWZp
bmUgTUNfQUNUSU9OX0NBQ0hFX1NIUklOSyAoMHgxIDw8IDIpCisKKy8qCisgKiBCZWxvdyBpbnRl
cmZhY2UgdXNlZCBiZXR3ZWVuIFhFTi9ET00wIGZvciBwYXNzaW5nIFhFTidzIHJlY292ZXJ5IGFj
dGlvbgorICogaW5mb3JtYXRpb24gdG8gRE9NMC4KKyAqLworc3RydWN0IHBhZ2Vfb2ZmbGluZV9h
Y3Rpb24geworCS8qIFBhcmFtcyBmb3IgcGFzc2luZyB0aGUgb2ZmbGluZWQgcGFnZSBudW1iZXIg
dG8gRE9NMCAqLworCXVpbnQ2NF90IG1mbjsKKwl1aW50NjRfdCBzdGF0dXM7Cit9OworCitzdHJ1
Y3QgY3B1X29mZmxpbmVfYWN0aW9uIHsKKwkvKiBQYXJhbXMgZm9yIHBhc3NpbmcgdGhlIGlkZW50
aXR5IG9mIHRoZSBvZmZsaW5lZCBDUFUgdG8gRE9NMCAqLworCXVpbnQzMl90IG1jX3NvY2tldGlk
OworCXVpbnQxNl90IG1jX2NvcmVpZDsKKwl1aW50MTZfdCBtY19jb3JlX3RocmVhZGlkOworfTsK
KworI2RlZmluZSBNQVhfVU5JT05fU0laRSAxNgorc3RydWN0IG1jaW5mb19yZWNvdmVyeSB7CisJ
c3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCXVpbnQxNl90IG1jX2Jhbms7IC8qIGJhbmsg
bnIgKi8KKwl1aW50OF90IGFjdGlvbl9mbGFnczsKKwl1aW50OF90IGFjdGlvbl90eXBlczsKKwl1
bmlvbiB7CisJCXN0cnVjdCBwYWdlX29mZmxpbmVfYWN0aW9uIHBhZ2VfcmV0aXJlOworCQlzdHJ1
Y3QgY3B1X29mZmxpbmVfYWN0aW9uIGNwdV9vZmZsaW5lOworCQl1aW50OF90IHBhZFtNQVhfVU5J
T05fU0laRV07CisJfSBhY3Rpb25faW5mbzsKK307CisKKworI2RlZmluZSBNQ0lORk9fTUFYU0la
RSA3NjgKK3N0cnVjdCBtY19pbmZvIHsKKwkvKiBOdW1iZXIgb2YgbWNpbmZvXyogZW50cmllcyBp
biBtaV9kYXRhICovCisJdWludDMyX3QgbWlfbmVudHJpZXM7CisJdWludDMyX3QgZmxhZ3M7CisJ
dWludDY0X3QgbWlfZGF0YVsoTUNJTkZPX01BWFNJWkUgLSAxKSAvIDhdOworfTsKK0RFRklORV9H
VUVTVF9IQU5ETEVfU1RSVUNUKG1jX2luZm8pOworCisjZGVmaW5lIF9fTUNfTVNSX0FSUkFZU0la
RSA4CisjZGVmaW5lIF9fTUNfTVNSX01DR0NBUCAwCisjZGVmaW5lIF9fTUNfTk1TUlMgMQorI2Rl
ZmluZSBNQ19OQ0FQUyA3CitzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1IHsKKwl1aW50MzJfdCBt
Y19jcHVucjsKKwl1aW50MzJfdCBtY19jaGlwaWQ7CisJdWludDE2X3QgbWNfY29yZWlkOworCXVp
bnQxNl90IG1jX3RocmVhZGlkOworCXVpbnQzMl90IG1jX2FwaWNpZDsKKwl1aW50MzJfdCBtY19j
bHVzdGVyaWQ7CisJdWludDMyX3QgbWNfbmNvcmVzOworCXVpbnQzMl90IG1jX25jb3Jlc19hY3Rp
dmU7CisJdWludDMyX3QgbWNfbnRocmVhZHM7CisJdWludDMyX3QgbWNfY3B1aWRfbGV2ZWw7CisJ
dWludDMyX3QgbWNfZmFtaWx5OworCXVpbnQzMl90IG1jX3ZlbmRvcjsKKwl1aW50MzJfdCBtY19t
b2RlbDsKKwl1aW50MzJfdCBtY19zdGVwOworCWNoYXIgbWNfdmVuZG9yaWRbMTZdOworCWNoYXIg
bWNfYnJhbmRpZFs2NF07CisJdWludDMyX3QgbWNfY3B1X2NhcHNbTUNfTkNBUFNdOworCXVpbnQz
Ml90IG1jX2NhY2hlX3NpemU7CisJdWludDMyX3QgbWNfY2FjaGVfYWxpZ25tZW50OworCXVpbnQz
Ml90IG1jX25tc3J2YWxzOworCXN0cnVjdCBtY2luZm9fbXNyIG1jX21zcnZhbHVlc1tfX01DX01T
Ul9BUlJBWVNJWkVdOworfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKG1jaW5mb19sb2dp
Y2FsX2NwdSk7CisKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICB1aW50MzJfdCB4ODZfbWNpbmZv
X25lbnRyaWVzKHN0cnVjdCBtY19pbmZvICptaSk7CisgKi8KKyNkZWZpbmUgeDg2X21jaW5mb19u
ZW50cmllcyhfbWkpICAgIFwKKwkoKF9taSktPm1pX25lbnRyaWVzKQorLyoKKyAqIFByb3RvdHlw
ZToKKyAqICAgIHN0cnVjdCBtY2luZm9fY29tbW9uICp4ODZfbWNpbmZvX2ZpcnN0KHN0cnVjdCBt
Y19pbmZvICptaSk7CisgKi8KKyNkZWZpbmUgeDg2X21jaW5mb19maXJzdChfbWkpICAgICAgIFwK
KwkoKHN0cnVjdCBtY2luZm9fY29tbW9uICopKF9taSktPm1pX2RhdGEpCisvKgorICogUHJvdG90
eXBlOgorICogICAgc3RydWN0IG1jaW5mb19jb21tb24gKng4Nl9tY2luZm9fbmV4dChzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqbWljKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZvX25leHQoX21pYykg
ICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19jb21tb24gKikoKHVpbnQ4X3QgKikoX21pYykgKyAo
X21pYyktPnNpemUpKQorCisvKgorICogUHJvdG90eXBlOgorICogICAgdm9pZCB4ODZfbWNpbmZv
X2xvb2t1cCh2b2lkICpyZXQsIHN0cnVjdCBtY19pbmZvICptaSwgdWludDE2X3QgdHlwZSk7Cisg
Ki8KK3N0YXRpYyBpbmxpbmUgdm9pZCB4ODZfbWNpbmZvX2xvb2t1cChzdHJ1Y3QgbWNpbmZvX2Nv
bW1vbiAqKnJldCwKKwkJCQkgICAgIHN0cnVjdCBtY19pbmZvICptaSwgdWludDE2X3QgdHlwZSkK
K3sKKwl1aW50MzJfdCBpOworCXN0cnVjdCBtY2luZm9fY29tbW9uICptaWM7CisJYm9vbCBmb3Vu
ZCA9IDA7CisKKwlpZiAoIXJldCB8fCAhbWkpCisJCXJldHVybjsKKworCW1pYyA9IHg4Nl9tY2lu
Zm9fZmlyc3QobWkpOworCWZvciAoaSA9IDA7IGkgPCB4ODZfbWNpbmZvX25lbnRyaWVzKG1pKTsg
aSsrKSB7CisJCWlmIChtaWMtPnR5cGUgPT0gdHlwZSkgeworCQkJZm91bmQgPSAxOworCQkJYnJl
YWs7CisJCX0KKwkJbWljID0geDg2X21jaW5mb19uZXh0KG1pYyk7CisJfQorCisJKnJldCA9IGZv
dW5kID8gbWljIDogTlVMTDsKK30KKworLyoKKyAqIEZldGNoIG1hY2hpbmUgY2hlY2sgZGF0YSBm
cm9tIGh5cGVydmlzb3IuCisgKi8KKyNkZWZpbmUgWEVOX01DX2ZldGNoCQkxCitzdHJ1Y3QgeGVu
X21jX2ZldGNoIHsKKwkvKgorCSAqIElOOiBYRU5fTUNfTk9OVVJHRU5ULCBYRU5fTUNfVVJHRU5U
LAorCSAqIFhFTl9NQ19BQ0sgaWYgYWNrJ2tpbmcgYW4gZWFybGllciBmZXRjaAorCSAqIE9VVDog
WEVOX01DX09LLCBYRU5fTUNfRkVUQ0hBSUxFRCwgWEVOX01DX05PREFUQQorCSAqLworCXVpbnQz
Ml90IGZsYWdzOworCXVpbnQzMl90IF9wYWQwOworCS8qIE9VVDogaWQgZm9yIGFjaywgSU46IGlk
IHdlIGFyZSBhY2snaW5nICovCisJdWludDY0X3QgZmV0Y2hfaWQ7CisKKwkvKiBPVVQgdmFyaWFi
bGVzLiAqLworCUdVRVNUX0hBTkRMRShtY19pbmZvKSBkYXRhOworfTsKK0RFRklORV9HVUVTVF9I
QU5ETEVfU1RSVUNUKHhlbl9tY19mZXRjaCk7CisKKworLyoKKyAqIFRoaXMgdGVsbHMgdGhlIGh5
cGVydmlzb3IgdG8gbm90aWZ5IGEgRG9tVSBhYm91dCB0aGUgbWFjaGluZSBjaGVjayBlcnJvcgor
ICovCisjZGVmaW5lIFhFTl9NQ19ub3RpZnlkb21haW4JMgorc3RydWN0IHhlbl9tY19ub3RpZnlk
b21haW4geworCS8qIElOIHZhcmlhYmxlcyAqLworCXVpbnQxNl90IG1jX2RvbWlkOyAvKiBUaGUg
dW5wcml2aWxlZ2VkIGRvbWFpbiB0byBub3RpZnkgKi8KKwl1aW50MTZfdCBtY192Y3B1aWQ7IC8q
IFRoZSB2Y3B1IGluIG1jX2RvbWlkIHRvIG5vdGlmeSAqLworCisJLyogSU4vT1VUIHZhcmlhYmxl
cyAqLworCXVpbnQzMl90IGZsYWdzOworfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhl
bl9tY19ub3RpZnlkb21haW4pOworCisjZGVmaW5lIFhFTl9NQ19waHlzY3B1aW5mbwkzCitzdHJ1
Y3QgeGVuX21jX3BoeXNjcHVpbmZvIHsKKwkvKiBJTi9PVVQgKi8KKwl1aW50MzJfdCBuY3B1czsK
Kwl1aW50MzJfdCBfcGFkMDsKKwkvKiBPVVQgKi8KKwlHVUVTVF9IQU5ETEUobWNpbmZvX2xvZ2lj
YWxfY3B1KSBpbmZvOworfTsKKworI2RlZmluZSBYRU5fTUNfbXNyaW5qZWN0CTQKKyNkZWZpbmUg
TUNfTVNSSU5KX01BWE1TUlMJOAorc3RydWN0IHhlbl9tY19tc3JpbmplY3QgeworCS8qIElOICov
CisJdWludDMyX3QgbWNpbmpfY3B1bnI7IC8qIHRhcmdldCBwcm9jZXNzb3IgaWQgKi8KKwl1aW50
MzJfdCBtY2lual9mbGFnczsgLyogc2VlIE1DX01TUklOSl9GXyogYmVsb3cgKi8KKwl1aW50MzJf
dCBtY2lual9jb3VudDsgLyogMCAuLiBjb3VudC0xIGluIGFycmF5IGFyZSB2YWxpZCAqLworCXVp
bnQzMl90IF9wYWQwOworCXN0cnVjdCBtY2luZm9fbXNyIG1jaW5qX21zcltNQ19NU1JJTkpfTUFY
TVNSU107Cit9OworCisvKiBGbGFncyBmb3IgbWNpbmpfZmxhZ3MgYWJvdmU7IGJpdHMgMTYtMzEg
YXJlIHJlc2VydmVkICovCisjZGVmaW5lIE1DX01TUklOSl9GX0lOVEVSUE9TRQkweDEKKworI2Rl
ZmluZSBYRU5fTUNfbWNlaW5qZWN0CTUKK3N0cnVjdCB4ZW5fbWNfbWNlaW5qZWN0IHsKKwl1bnNp
Z25lZCBpbnQgbWNlaW5qX2NwdW5yOyAvKiB0YXJnZXQgcHJvY2Vzc29yIGlkICovCit9OworCitz
dHJ1Y3QgeGVuX21jIHsKKwl1aW50MzJfdCBjbWQ7CisJdWludDMyX3QgaW50ZXJmYWNlX3ZlcnNp
b247IC8qIFhFTl9NQ0FfSU5URVJGQUNFX1ZFUlNJT04gKi8KKwl1bmlvbiB7CisJCXN0cnVjdCB4
ZW5fbWNfZmV0Y2ggICAgICAgIG1jX2ZldGNoOworCQlzdHJ1Y3QgeGVuX21jX25vdGlmeWRvbWFp
biBtY19ub3RpZnlkb21haW47CisJCXN0cnVjdCB4ZW5fbWNfcGh5c2NwdWluZm8gIG1jX3BoeXNj
cHVpbmZvOworCQlzdHJ1Y3QgeGVuX21jX21zcmluamVjdCAgICBtY19tc3JpbmplY3Q7CisJCXN0
cnVjdCB4ZW5fbWNfbWNlaW5qZWN0ICAgIG1jX21jZWluamVjdDsKKwl9IHU7Cit9OworREVGSU5F
X0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jKTsKKworLyogRmllbGRzIGFyZSB6ZXJvIHdoZW4g
bm90IGF2YWlsYWJsZSAqLworc3RydWN0IHhlbl9tY2UgeworCV9fdTY0IHN0YXR1czsKKwlfX3U2
NCBtaXNjOworCV9fdTY0IGFkZHI7CisJX191NjQgbWNnc3RhdHVzOworCV9fdTY0IGlwOworCV9f
dTY0IHRzYzsJLyogY3B1IHRpbWUgc3RhbXAgY291bnRlciAqLworCV9fdTY0IHRpbWU7CS8qIHdh
bGwgdGltZV90IHdoZW4gZXJyb3Igd2FzIGRldGVjdGVkICovCisJX191OCAgY3B1dmVuZG9yOwkv
KiBjcHUgdmVuZG9yIGFzIGVuY29kZWQgaW4gc3lzdGVtLmggKi8KKwlfX3U4ICBpbmplY3RfZmxh
Z3M7CS8qIHNvZnR3YXJlIGluamVjdCBmbGFncyAqLworCV9fdTE2ICBwYWQ7CisJX191MzIgY3B1
aWQ7CS8qIENQVUlEIDEgRUFYICovCisJX191OCAgY3M7CQkvKiBjb2RlIHNlZ21lbnQgKi8KKwlf
X3U4ICBiYW5rOwkvKiBtYWNoaW5lIGNoZWNrIGJhbmsgKi8KKwlfX3U4ICBjcHU7CS8qIGNwdSBu
dW1iZXI7IG9ic29sZXRlOyB1c2UgZXh0Y3B1IG5vdyAqLworCV9fdTggIGZpbmlzaGVkOyAgIC8q
IGVudHJ5IGlzIHZhbGlkICovCisJX191MzIgZXh0Y3B1OwkvKiBsaW51eCBjcHUgbnVtYmVyIHRo
YXQgZGV0ZWN0ZWQgdGhlIGVycm9yICovCisJX191MzIgc29ja2V0aWQ7CS8qIENQVSBzb2NrZXQg
SUQgKi8KKwlfX3UzMiBhcGljaWQ7CS8qIENQVSBpbml0aWFsIGFwaWMgSUQgKi8KKwlfX3U2NCBt
Y2djYXA7CS8qIE1DR0NBUCBNU1I6IG1hY2hpbmUgY2hlY2sgY2FwYWJpbGl0aWVzIG9mIENQVSAq
LworfTsKKworLyoKKyAqIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIGFsbCBkYXRhIHJlbGF0ZWQg
dG8gdGhlIE1DRSBsb2cuICBBbHNvCisgKiBjYXJyaWVzIGEgc2lnbmF0dXJlIHRvIG1ha2UgaXQg
ZWFzaWVyIHRvIGZpbmQgZnJvbSBleHRlcm5hbAorICogZGVidWdnaW5nIHRvb2xzLiAgRWFjaCBl
bnRyeSBpcyBvbmx5IHZhbGlkIHdoZW4gaXRzIGZpbmlzaGVkIGZsYWcKKyAqIGlzIHNldC4KKyAq
LworCisjZGVmaW5lIFhFTl9NQ0VfTE9HX0xFTiAzMgorCitzdHJ1Y3QgeGVuX21jZV9sb2cgewor
CWNoYXIgc2lnbmF0dXJlWzEyXTsgLyogIk1BQ0hJTkVDSEVDSyIgKi8KKwl1bnNpZ25lZCBsZW47
CSAgICAvKiA9IFhFTl9NQ0VfTE9HX0xFTiAqLworCXVuc2lnbmVkIG5leHQ7CisJdW5zaWduZWQg
ZmxhZ3M7CisJdW5zaWduZWQgcmVjb3JkbGVuOwkvKiBsZW5ndGggb2Ygc3RydWN0IHhlbl9tY2Ug
Ki8KKwlzdHJ1Y3QgeGVuX21jZSBlbnRyeVtYRU5fTUNFX0xPR19MRU5dOworfTsKKworI2RlZmlu
ZSBYRU5fTUNFX09WRVJGTE9XIDAJCS8qIGJpdCAwIGluIGZsYWdzIG1lYW5zIG92ZXJmbG93ICov
CisKKyNkZWZpbmUgWEVOX01DRV9MT0dfU0lHTkFUVVJFCSJNQUNISU5FQ0hFQ0siCisKKyNkZWZp
bmUgTUNFX0dFVF9SRUNPUkRfTEVOICAgX0lPUignTScsIDEsIGludCkKKyNkZWZpbmUgTUNFX0dF
VF9MT0dfTEVOICAgICAgX0lPUignTScsIDIsIGludCkKKyNkZWZpbmUgTUNFX0dFVENMRUFSX0ZM
QUdTICAgX0lPUignTScsIDMsIGludCkKKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworI2Vu
ZGlmIC8qIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fICovCi0tIAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 12:58:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4wt-0006oH-Uz; Thu, 31 May 2012 12:57:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa4ws-0006oC-Oz
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:57:55 +0000
Received: from [85.158.143.99:62544] by server-2.bemta-4.messagelabs.com id
	B1/1D-11595-1DA67CF4; Thu, 31 May 2012 12:57:53 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338469069!19530554!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10026 invoked from network); 31 May 2012 12:57:50 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-16.tower-216.messagelabs.com with SMTP;
	31 May 2012 12:57:50 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 05:57:47 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="149923341"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 31 May 2012 05:57:47 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 05:57:46 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 20:57:44 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
Thread-Index: Ac0/LPhJ2qSMzi1PTzSzWPGw5NRHtw==
Date: Thu, 31 May 2012 12:57:44 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
From: root <root@ljsromley.bj.intel.com>
Date: Fri, 1 Jun 2012 03:12:51 +0800
Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    5 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  385 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 798 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index b772dd6..5e5c863 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -2341,7 +2339,7 @@ static __init int mcheck_init_device(void)
=20
 	return err;
 }
-device_initcall(mcheck_init_device);
+device_initcall_sync(mcheck_init_device);
=20
 /*
  * Old style boot options parsing. Only for compatibility.
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..ff2d00e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -333,9 +334,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 8d2501e..d4dffcd 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -196,4 +196,12 @@ config XEN_ACPI_PROCESSOR
 	  called xen_acpi_processor  If you do not know what to choose, select
 	  M here. If the CPUFREQ drivers are built in, select Y here.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index fc34886..a787029 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o acpi.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..72e87d2
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,392 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain()) {
+		/* register character device /dev/mcelog for xen mcelog */
+		if (misc_register(&xen_mce_chrdev_device))
+			return -ENODEV;
+		return bind_virq_for_mce();
+	}
+
+	return -ENODEV;
+}
+device_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..73a4ea7
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,385 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27069; creation-date="Thu, 31 May 2012 12:54:12 GMT";
	modification-date="Thu, 31 May 2012 20:49:24 GMT"
Content-Transfer-Encoding: base64

RnJvbSAxYTc5NTFkNmNhMDFkN2YyYzlkZDJiZGI2ZGU1ZjhlN2ZkY2I4YmJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiByb290IDxyb290QGxqc3JvbWxleS5iai5pbnRlbC5jb20+CkRh
dGU6IEZyaSwgMSBKdW4gMjAxMiAwMzoxMjo1MSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSB4
ZW4vbWNlOiBBZGQgbWNlbG9nIHN1cHBvcnQgZm9yIFhlbiBwbGF0Zm9ybQoKV2hlbiBNQ0EgZXJy
b3Igb2NjdXJzLCBpdCB3b3VsZCBiZSBoYW5kbGVkIGJ5IFhlbiBoeXBlcnZpc29yIGZpcnN0LAph
bmQgdGhlbiB0aGUgZXJyb3IgaW5mb3JtYXRpb24gd291bGQgYmUgc2VudCB0byBpbml0aWFsIGRv
bWFpbiBmb3IgbG9nZ2luZy4KClRoaXMgcGF0Y2ggZ2V0cyBlcnJvciBpbmZvcm1hdGlvbiBmcm9t
IFhlbiBoeXBlcnZpc29yIGFuZCBjb252ZXJ0ClhlbiBmb3JtYXQgZXJyb3IgaW50byBMaW51eCBm
b3JtYXQgbWNlbG9nLiBUaGlzIGxvZ2ljIGlzIGJhc2ljYWxseQpzZWxmLWNvbnRhaW5lZCwgbm90
IHRvdWNoaW5nIG90aGVyIGtlcm5lbCBjb21wb25lbnRzLgoKQnkgdXNpbmcgdG9vbHMgbGlrZSBt
Y2Vsb2cgdG9vbCB1c2VycyBjb3VsZCByZWFkIHNwZWNpZmljIGVycm9yIGluZm9ybWF0aW9uLAps
aWtlIHdoYXQgdGhleSBkaWQgdW5kZXIgbmF0aXZlIExpbnV4LgoKVG8gdGVzdCBmb2xsb3cgZGly
ZWN0aW9ucyBvdXRsaW5lZCBpbiBEb2N1bWVudGF0aW9uL2FjcGkvYXBlaS9laW5qLnR4dAoKU2ln
bmVkLW9mZi1ieTogS2UsIExpcGluZyA8bGlwaW5nLmtlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1i
eTogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5
OiBKZXJlbXkgRml0emhhcmRpbmdlIDxqZXJlbXkuZml0emhhcmRpbmdlQGNpdHJpeC5jb20+ClNp
Z25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgotLS0KIGFy
Y2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaCB8ICAgIDggKwogYXJjaC94ODYva2Vy
bmVsL2NwdS9tY2hlY2svbWNlLmMgICAgIHwgICAgNCArLQogYXJjaC94ODYveGVuL2VubGlnaHRl
bi5jICAgICAgICAgICAgIHwgICAgNSArLQogZHJpdmVycy94ZW4vS2NvbmZpZyAgICAgICAgICAg
ICAgICAgIHwgICAgOCArCiBkcml2ZXJzL3hlbi9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAg
ICAxICsKIGRyaXZlcnMveGVuL21jZWxvZy5jICAgICAgICAgICAgICAgICB8ICAzOTIgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9taXNjZGV2aWNlLmgg
ICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oICAgICAg
fCAgMzg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFuZ2Vk
LCA3OTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBk
cml2ZXJzL3hlbi9tY2Vsb2cuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2ludGVy
ZmFjZS94ZW4tbWNhLmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlw
ZXJjYWxsLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJjYWxsLmgKaW5kZXggNTcy
ODg1Mi4uNTljMjI2ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVy
Y2FsbC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApAQCAtNDgs
NiArNDgsNyBAQAogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uvc2NoZWQuaD4KICNpbmNsdWRlIDx4
ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BsYXRmb3Jt
Lmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4tbWNhLmg+CiAKIC8qCiAgKiBUaGUgaHlw
ZXJjYWxsIGFzbXMgaGF2ZSB0byBtZWV0IHNldmVyYWwgY29uc3RyYWludHM6CkBAIC0zMDIsNiAr
MzAzLDEzIEBAIEhZUEVSVklTT1Jfc2V0X3RpbWVyX29wKHU2NCB0aW1lb3V0KQogfQogCiBzdGF0
aWMgaW5saW5lIGludAorSFlQRVJWSVNPUl9tY2Eoc3RydWN0IHhlbl9tYyAqbWNfb3ApCit7CisJ
bWNfb3AtPmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwly
ZXR1cm4gX2h5cGVyY2FsbDEoaW50LCBtY2EsIG1jX29wKTsKK30KKworc3RhdGljIGlubGluZSBp
bnQKIEhZUEVSVklTT1JfZG9tMF9vcChzdHJ1Y3QgeGVuX3BsYXRmb3JtX29wICpwbGF0Zm9ybV9v
cCkKIHsKIAlwbGF0Zm9ybV9vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5QRl9JTlRFUkZBQ0Vf
VkVSU0lPTjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZS5jIGIv
YXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKaW5kZXggYjc3MmRkNi4uNWU1Yzg2MyAx
MDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKKysrIGIvYXJjaC94
ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKQEAgLTU3LDggKzU3LDYgQEAgc3RhdGljIERFRklO
RV9NVVRFWChtY2VfY2hyZGV2X3JlYWRfbXV0ZXgpOwogCiBpbnQgbWNlX2Rpc2FibGVkIF9fcmVh
ZF9tb3N0bHk7CiAKLSNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJMjI3Ci0KICNkZWZpbmUgU1BJ
TlVOSVQgMTAwCS8qIDEwMG5zICovCiAKIGF0b21pY190IG1jZV9lbnRyeTsKQEAgLTIzNDEsNyAr
MjMzOSw3IEBAIHN0YXRpYyBfX2luaXQgaW50IG1jaGVja19pbml0X2RldmljZSh2b2lkKQogCiAJ
cmV0dXJuIGVycjsKIH0KLWRldmljZV9pbml0Y2FsbChtY2hlY2tfaW5pdF9kZXZpY2UpOworZGV2
aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsKIAogLyoKICAqIE9sZCBzdHls
ZSBib290IG9wdGlvbnMgcGFyc2luZy4gT25seSBmb3IgY29tcGF0aWJpbGl0eS4KZGlmZiAtLWdp
dCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwpp
bmRleCA3NWYzM2IyLi5mZjJkMDBlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVu
LmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5j
bHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS92
Y3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9tZW1vcnkuaD4KKyNpbmNsdWRlIDx4ZW4v
aW50ZXJmYWNlL3hlbi1tY2EuaD4KICNpbmNsdWRlIDx4ZW4vZmVhdHVyZXMuaD4KICNpbmNsdWRl
IDx4ZW4vcGFnZS5oPgogI2luY2x1ZGUgPHhlbi9odm0uaD4KQEAgLTMzMyw5ICszMzQsNyBAQCBz
dGF0aWMgdm9pZCBfX2luaXQgeGVuX2luaXRfY3B1aWRfbWFzayh2b2lkKQogCXVuc2lnbmVkIGlu
dCB4c2F2ZV9tYXNrOwogCiAJY3B1aWRfbGVhZjFfZWR4X21hc2sgPQotCQl+KCgxIDw8IFg4Nl9G
RUFUVVJFX01DRSkgIHwgIC8qIGRpc2FibGUgTUNFICovCi0JCSAgKDEgPDwgWDg2X0ZFQVRVUkVf
TUNBKSAgfCAgLyogZGlzYWJsZSBNQ0EgKi8KLQkJICAoMSA8PCBYODZfRkVBVFVSRV9NVFJSKSB8
ICAvKiBkaXNhYmxlIE1UUlIgKi8KKwkJfigoMSA8PCBYODZfRkVBVFVSRV9NVFJSKSB8ICAvKiBk
aXNhYmxlIE1UUlIgKi8KIAkJICAoMSA8PCBYODZfRkVBVFVSRV9BQ0MpKTsgICAvKiB0aGVybWFs
IG1vbml0b3JpbmcgKi8KIAogCWlmICgheGVuX2luaXRpYWxfZG9tYWluKCkpCmRpZmYgLS1naXQg
YS9kcml2ZXJzL3hlbi9LY29uZmlnIGIvZHJpdmVycy94ZW4vS2NvbmZpZwppbmRleCA4ZDI1MDFl
Li5kNGRmZmNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9LY29uZmlnCisrKyBiL2RyaXZlcnMv
eGVuL0tjb25maWcKQEAgLTE5Niw0ICsxOTYsMTIgQEAgY29uZmlnIFhFTl9BQ1BJX1BST0NFU1NP
UgogCSAgY2FsbGVkIHhlbl9hY3BpX3Byb2Nlc3NvciAgSWYgeW91IGRvIG5vdCBrbm93IHdoYXQg
dG8gY2hvb3NlLCBzZWxlY3QKIAkgIE0gaGVyZS4gSWYgdGhlIENQVUZSRVEgZHJpdmVycyBhcmUg
YnVpbHQgaW4sIHNlbGVjdCBZIGhlcmUuCiAKK2NvbmZpZyBYRU5fTUNFX0xPRworCWJvb2wgIlhl
biBwbGF0Zm9ybSBtY2Vsb2ciCisJZGVwZW5kcyBvbiBYRU5fRE9NMCAmJiBYODZfNjQgJiYgWDg2
X01DRQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIEFsbG93IGtlcm5lbCBmZXRjaGluZyBNQ0UgZXJy
b3IgZnJvbSBYZW4gcGxhdGZvcm0gYW5kCisJICBjb252ZXJ0aW5nIGl0IGludG8gTGludXggbWNl
bG9nIGZvcm1hdCBmb3IgbWNlbG9nIHRvb2xzCisKIGVuZG1lbnUKZGlmZiAtLWdpdCBhL2RyaXZl
cnMveGVuL01ha2VmaWxlIGIvZHJpdmVycy94ZW4vTWFrZWZpbGUKaW5kZXggZmMzNDg4Ni4uYTc4
NzAyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vTWFrZWZpbGUKKysrIGIvZHJpdmVycy94ZW4v
TWFrZWZpbGUKQEAgLTE4LDYgKzE4LDcgQEAgb2JqLSQoQ09ORklHX1hFTl9QVkhWTSkJCQkrPSBw
bGF0Zm9ybS1wY2kubwogb2JqLSQoQ09ORklHX1hFTl9UTUVNKQkJCSs9IHRtZW0ubwogb2JqLSQo
Q09ORklHX1NXSU9UTEJfWEVOKQkJKz0gc3dpb3RsYi14ZW4ubwogb2JqLSQoQ09ORklHX1hFTl9E
T00wKQkJCSs9IHBjaS5vIGFjcGkubworb2JqLSQoQ09ORklHX1hFTl9NQ0VfTE9HKQkJKz0gbWNl
bG9nLm8KIG9iai0kKENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQpCSs9IHhlbi1wY2liYWNrLwog
b2JqLSQoQ09ORklHX1hFTl9QUklWQ01EKQkJKz0geGVuLXByaXZjbWQubwogb2JqLSQoQ09ORklH
X1hFTl9BQ1BJX1BST0NFU1NPUikJKz0geGVuLWFjcGktcHJvY2Vzc29yLm8KZGlmZiAtLWdpdCBh
L2RyaXZlcnMveGVuL21jZWxvZy5jIGIvZHJpdmVycy94ZW4vbWNlbG9nLmMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJlODdkMgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZl
cnMveGVuL21jZWxvZy5jCkBAIC0wLDAgKzEsMzkyIEBACisvKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CisgKiBtY2Vsb2cuYworICogRHJpdmVyIGZvciByZWNlaXZpbmcgYW5kIHRyYW5zZmVycmluZyBt
YWNoaW5lIGNoZWNrIGVycm9yIGluZm9tYXRpb24KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTIg
SW50ZWwgQ29ycG9yYXRpb24KKyAqIEF1dGhvcjogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBp
bnRlbC5jb20+CisgKiBBdXRob3I6IEppYW5nLCBZdW5ob25nIDx5dW5ob25nLmppYW5nQGludGVs
LmNvbT4KKyAqIEF1dGhvcjogS2UsIExpcGluZyA8bGlwaW5nLmtlQGludGVsLmNvbT4KKyAqCisg
KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBvciwgd2hlbiBkaXN0cmlidXRlZAorICogc2VwYXJhdGVseSBmcm9t
IHRoZSBMaW51eCBrZXJuZWwgb3IgaW5jb3Jwb3JhdGVkIGludG8gb3RoZXIKKyAqIHNvZnR3YXJl
IHBhY2thZ2VzLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgbGljZW5zZToKKyAqCisgKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvdXJjZSBmaWxlICh0aGUgIlNvZnR3YXJlIiks
IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQKKyAqIHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksCisg
KiBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBTb2Z0d2FyZSwKKyAqIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyAqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNP
RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
IEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisg
KiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Cisj
aW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNs
dWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51
eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSA8bGlu
dXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KKworI2luY2x1ZGUg
PHhlbi9pbnRlcmZhY2UveGVuLmg+CisjaW5jbHVkZSA8eGVuL2V2ZW50cy5oPgorI2luY2x1ZGUg
PHhlbi9pbnRlcmZhY2UvdmNwdS5oPgorI2luY2x1ZGUgPHhlbi94ZW4uaD4KKyNpbmNsdWRlIDxh
c20veGVuL2h5cGVyY2FsbC5oPgorI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgorCisj
ZGVmaW5lIFhFTl9NQ0VMT0cgInhlbl9tY2Vsb2c6ICIKKworc3RhdGljIHN0cnVjdCBtY19pbmZv
IGdfbWk7CitzdGF0aWMgc3RydWN0IG1jaW5mb19sb2dpY2FsX2NwdSAqZ19waHlzaW5mbzsKK3N0
YXRpYyB1aW50MzJfdCBuY3B1czsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhtY2Vsb2dfbG9j
ayk7CisKK3N0YXRpYyBzdHJ1Y3QgeGVuX21jZV9sb2cgeGVuX21jZWxvZyA9IHsKKwkuc2lnbmF0
dXJlCT0gWEVOX01DRV9MT0dfU0lHTkFUVVJFLAorCS5sZW4JCT0gWEVOX01DRV9MT0dfTEVOLAor
CS5yZWNvcmRsZW4JPSBzaXplb2Yoc3RydWN0IHhlbl9tY2UpLAorfTsKKworc3RhdGljIERFRklO
RV9TUElOTE9DSyh4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKK3N0YXRpYyBpbnQgeGVuX21j
ZV9jaHJkZXZfb3Blbl9jb3VudDsJLyogI3RpbWVzIG9wZW5lZCAqLworc3RhdGljIGludCB4ZW5f
bWNlX2NocmRldl9vcGVuX2V4Y2x1OwkvKiBhbHJlYWR5IG9wZW4gZXhjbHVzaXZlPyAqLworCitz
dGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0
IGZpbGUgKmZpbGUpCit7CisJc3Bpbl9sb2NrKCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsK
KworCWlmICh4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1IHx8CisJICAgICh4ZW5fbWNlX2NocmRl
dl9vcGVuX2NvdW50ICYmIChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSkpIHsKKwkJc3Bpbl91bmxv
Y2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJCXJldHVybiAtRUJVU1k7CisJfQor
CisJaWYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpCisJCXhlbl9tY2VfY2hyZGV2X29wZW5fZXhj
bHUgPSAxOworCXhlbl9tY2VfY2hyZGV2X29wZW5fY291bnQrKzsKKworCXNwaW5fdW5sb2NrKCZ4
ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlu
b2RlLCBmaWxlKTsKK30KKworc3RhdGljIGludCB4ZW5fbWNlX2NocmRldl9yZWxlYXNlKHN0cnVj
dCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXNwaW5fbG9jaygmeGVuX21j
ZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwl4ZW5fbWNlX2NocmRldl9vcGVuX2NvdW50LS07CisJ
eGVuX21jZV9jaHJkZXZfb3Blbl9leGNsdSA9IDA7CisKKwlzcGluX3VubG9jaygmeGVuX21jZV9j
aHJkZXZfc3RhdGVfbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QgeGVu
X21jZV9jaHJkZXZfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJ
CQkJc2l6ZV90IHVzaXplLCBsb2ZmX3QgKm9mZikKK3sKKwljaGFyIF9fdXNlciAqYnVmID0gdWJ1
ZjsKKwl1bnNpZ25lZCBudW07CisJaW50IGksIGVycjsKKworCXNwaW5fbG9jaygmbWNlbG9nX2xv
Y2spOworCisJbnVtID0geGVuX21jZWxvZy5uZXh0OworCisJLyogT25seSBzdXBwb3J0cyBmdWxs
IHJlYWRzIHJpZ2h0IG5vdyAqLworCWVyciA9IC1FSU5WQUw7CisJaWYgKCpvZmYgIT0gMCB8fCB1
c2l6ZSA8IFhFTl9NQ0VfTE9HX0xFTipzaXplb2Yoc3RydWN0IHhlbl9tY2UpKQorCQlnb3RvIG91
dDsKKworCWVyciA9IDA7CisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCXN0cnVjdCB4
ZW5fbWNlICptID0gJnhlbl9tY2Vsb2cuZW50cnlbaV07CisKKwkJZXJyIHw9IGNvcHlfdG9fdXNl
cihidWYsIG0sIHNpemVvZigqbSkpOworCQlidWYgKz0gc2l6ZW9mKCptKTsKKwl9CisKKwltZW1z
ZXQoeGVuX21jZWxvZy5lbnRyeSwgMCwgbnVtICogc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7CisJ
eGVuX21jZWxvZy5uZXh0ID0gMDsKKworCWlmIChlcnIpCisJCWVyciA9IC1FRkFVTFQ7CisKK291
dDoKKwlzcGluX3VubG9jaygmbWNlbG9nX2xvY2spOworCisJcmV0dXJuIGVyciA/IGVyciA6IGJ1
ZiAtIHVidWY7Cit9CisKK3N0YXRpYyBsb25nIHhlbl9tY2VfY2hyZGV2X2lvY3RsKHN0cnVjdCBm
aWxlICpmLCB1bnNpZ25lZCBpbnQgY21kLAorCQkJCXVuc2lnbmVkIGxvbmcgYXJnKQoreworCWlu
dCBfX3VzZXIgKnAgPSAoaW50IF9fdXNlciAqKWFyZzsKKworCWlmICghY2FwYWJsZShDQVBfU1lT
X0FETUlOKSkKKwkJcmV0dXJuIC1FUEVSTTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBNQ0Vf
R0VUX1JFQ09SRF9MRU46CisJCXJldHVybiBwdXRfdXNlcihzaXplb2Yoc3RydWN0IHhlbl9tY2Up
LCBwKTsKKwljYXNlIE1DRV9HRVRfTE9HX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKFhFTl9NQ0Vf
TE9HX0xFTiwgcCk7CisJY2FzZSBNQ0VfR0VUQ0xFQVJfRkxBR1M6IHsKKwkJdW5zaWduZWQgZmxh
Z3M7CisKKwkJZG8geworCQkJZmxhZ3MgPSB4ZW5fbWNlbG9nLmZsYWdzOworCQl9IHdoaWxlIChj
bXB4Y2hnKCZ4ZW5fbWNlbG9nLmZsYWdzLCBmbGFncywgMCkgIT0gZmxhZ3MpOworCisJCXJldHVy
biBwdXRfdXNlcihmbGFncywgcCk7CisJfQorCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PVFRZOwor
CX0KK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgeGVuX21jZV9jaHJk
ZXZfb3BzID0geworCS5vcGVuCQkJPSB4ZW5fbWNlX2NocmRldl9vcGVuLAorCS5yZWxlYXNlCQk9
IHhlbl9tY2VfY2hyZGV2X3JlbGVhc2UsCisJLnJlYWQJCQk9IHhlbl9tY2VfY2hyZGV2X3JlYWQs
CisJLnVubG9ja2VkX2lvY3RsCQk9IHhlbl9tY2VfY2hyZGV2X2lvY3RsLAorCS5sbHNlZWsJCQk9
IG5vX2xsc2VlaywKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWlzY2RldmljZSB4ZW5fbWNlX2NocmRl
dl9kZXZpY2UgPSB7CisJTUlTQ19NQ0VMT0dfTUlOT1IsCisJIm1jZWxvZyIsCisJJnhlbl9tY2Vf
Y2hyZGV2X29wcywKK307CisKKy8qCisgKiBDYWxsZXIgc2hvdWxkIGhvbGQgdGhlIG1jZWxvZ19s
b2NrCisgKi8KK3N0YXRpYyB2b2lkIHhlbl9tY2VfbG9nKHN0cnVjdCB4ZW5fbWNlICptY2UpCit7
CisJdW5zaWduZWQgZW50cnk7CisKKwllbnRyeSA9IHhlbl9tY2Vsb2cubmV4dDsKKworCS8qCisJ
ICogV2hlbiB0aGUgYnVmZmVyIGZpbGxzIHVwIGRpc2NhcmQgbmV3IGVudHJpZXMuCisJICogQXNz
dW1lIHRoYXQgdGhlIGVhcmxpZXIgZXJyb3JzIGFyZSB0aGUgbW9yZQorCSAqIGludGVyZXN0aW5n
IG9uZXM6CisJICovCisJaWYgKGVudHJ5ID49IFhFTl9NQ0VfTE9HX0xFTikgeworCQlzZXRfYml0
KFhFTl9NQ0VfT1ZFUkZMT1csCisJCQkodW5zaWduZWQgbG9uZyAqKSZ4ZW5fbWNlbG9nLmZsYWdz
KTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSh4ZW5fbWNlbG9nLmVudHJ5ICsgZW50cnksIG1j
ZSwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7CisKKwl4ZW5fbWNlbG9nLm5leHQrKzsKK30KKwor
c3RhdGljIGludCBjb252ZXJ0X2xvZyhzdHJ1Y3QgbWNfaW5mbyAqbWkpCit7CisJc3RydWN0IG1j
aW5mb19jb21tb24gKm1pYzsKKwlzdHJ1Y3QgbWNpbmZvX2dsb2JhbCAqbWNfZ2xvYmFsOworCXN0
cnVjdCBtY2luZm9fYmFuayAqbWNfYmFuazsKKwlzdHJ1Y3QgeGVuX21jZSBtOworCXVpbnQzMl90
IGk7CisKKwltaWMgPSBOVUxMOworCXg4Nl9tY2luZm9fbG9va3VwKCZtaWMsIG1pLCBNQ19UWVBF
X0dMT0JBTCk7CisJaWYgKHVubGlrZWx5KCFtaWMpKSB7CisJCXByX3dhcm5pbmcoWEVOX01DRUxP
RyAiRmFpbGVkIHRvIGZpbmQgZ2xvYmFsIGVycm9yIGluZm9cbiIpOworCQlyZXR1cm4gLUVOT0RF
VjsKKwl9CisKKwltZW1zZXQoJm0sIDAsIHNpemVvZihzdHJ1Y3QgeGVuX21jZSkpOworCisJbWNf
Z2xvYmFsID0gKHN0cnVjdCBtY2luZm9fZ2xvYmFsICopbWljOworCW0ubWNnc3RhdHVzID0gbWNf
Z2xvYmFsLT5tY19nc3RhdHVzOworCW0uYXBpY2lkID0gbWNfZ2xvYmFsLT5tY19hcGljaWQ7CisK
Kwlmb3IgKGkgPSAwOyBpIDwgbmNwdXM7IGkrKykKKwkJaWYgKGdfcGh5c2luZm9baV0ubWNfYXBp
Y2lkID09IG0uYXBpY2lkKQorCQkJYnJlYWs7CisJaWYgKHVubGlrZWx5KGkgPT0gbmNwdXMpKSB7
CisJCXByX3dhcm5pbmcoWEVOX01DRUxPRyAiRmFpbGVkIHRvIG1hdGNoIGNwdSB3aXRoIGFwaWNp
ZCAlZFxuIiwKKwkJCSAgIG0uYXBpY2lkKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJbS5z
b2NrZXRpZCA9IGdfcGh5c2luZm9baV0ubWNfY2hpcGlkOworCW0uY3B1ID0gbS5leHRjcHUgPSBn
X3BoeXNpbmZvW2ldLm1jX2NwdW5yOworCW0uY3B1dmVuZG9yID0gKF9fdTgpZ19waHlzaW5mb1tp
XS5tY192ZW5kb3I7CisJbS5tY2djYXAgPSBnX3BoeXNpbmZvW2ldLm1jX21zcnZhbHVlc1tfX01D
X01TUl9NQ0dDQVBdLnZhbHVlOworCisJbWljID0gTlVMTDsKKwl4ODZfbWNpbmZvX2xvb2t1cCgm
bWljLCBtaSwgTUNfVFlQRV9CQU5LKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJcHJfd2Fy
bmluZyhYRU5fTUNFTE9HICJGYWlsIHRvIGZpbmQgYmFuayBlcnJvciBpbmZvXG4iKTsKKwkJcmV0
dXJuIC1FTk9ERVY7CisJfQorCisJZG8geworCQlpZiAoKCFtaWMpIHx8IChtaWMtPnNpemUgPT0g
MCkgfHwKKwkJICAgIChtaWMtPnR5cGUgIT0gTUNfVFlQRV9HTE9CQUwgICAmJgorCQkgICAgIG1p
Yy0+dHlwZSAhPSBNQ19UWVBFX0JBTksgICAgICYmCisJCSAgICAgbWljLT50eXBlICE9IE1DX1RZ
UEVfRVhURU5ERUQgJiYKKwkJICAgICBtaWMtPnR5cGUgIT0gTUNfVFlQRV9SRUNPVkVSWSkpCisJ
CQlicmVhazsKKworCQlpZiAobWljLT50eXBlID09IE1DX1RZUEVfQkFOSykgeworCQkJbWNfYmFu
ayA9IChzdHJ1Y3QgbWNpbmZvX2JhbmsgKiltaWM7CisJCQltLm1pc2MgPSBtY19iYW5rLT5tY19t
aXNjOworCQkJbS5zdGF0dXMgPSBtY19iYW5rLT5tY19zdGF0dXM7CisJCQltLmFkZHIgPSBtY19i
YW5rLT5tY19hZGRyOworCQkJbS50c2MgPSBtY19iYW5rLT5tY190c2M7CisJCQltLmJhbmsgPSBt
Y19iYW5rLT5tY19iYW5rOworCQkJbS5maW5pc2hlZCA9IDE7CisJCQkvKmxvZyB0aGlzIHJlY29y
ZCovCisJCQl4ZW5fbWNlX2xvZygmbSk7CisJCX0KKwkJbWljID0geDg2X21jaW5mb19uZXh0KG1p
Yyk7CisJfSB3aGlsZSAoMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtY19xdWV1
ZV9oYW5kbGUodWludDMyX3QgZmxhZ3MpCit7CisJc3RydWN0IHhlbl9tYyBtY19vcDsKKwlpbnQg
cmV0ID0gMDsKKworCW1jX29wLmNtZCA9IFhFTl9NQ19mZXRjaDsKKwltY19vcC5pbnRlcmZhY2Vf
dmVyc2lvbiA9IFhFTl9NQ0FfSU5URVJGQUNFX1ZFUlNJT047CisJc2V0X3hlbl9ndWVzdF9oYW5k
bGUobWNfb3AudS5tY19mZXRjaC5kYXRhLCAmZ19taSk7CisJZG8geworCQltY19vcC51Lm1jX2Zl
dGNoLmZsYWdzID0gZmxhZ3M7CisJCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19vcCk7CisJCWlm
IChyZXQpIHsKKwkJCXByX2VycihYRU5fTUNFTE9HICJGYWlsZWQgdG8gZmV0Y2ggJXMgZXJyb3Ig
bG9nXG4iLAorCQkJICAgICAgIChmbGFncyA9PSBYRU5fTUNfVVJHRU5UKSA/CisJCQkgICAgICAg
InVyZ25ldCIgOiAibm9udXJnZW50Iik7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChtY19vcC51
Lm1jX2ZldGNoLmZsYWdzICYgWEVOX01DX05PREFUQSB8fAorCQkgICAgbWNfb3AudS5tY19mZXRj
aC5mbGFncyAmIFhFTl9NQ19GRVRDSEZBSUxFRCkKKwkJCWJyZWFrOworCQllbHNlIHsKKwkJCXJl
dCA9IGNvbnZlcnRfbG9nKCZnX21pKTsKKwkJCWlmIChyZXQpCisJCQkJcHJfd2FybmluZyhYRU5f
TUNFTE9HCisJCQkJCSAgICJGYWlsZWQgdG8gY29udmVydCB0aGlzIGVycm9yIGxvZywgIgorCQkJ
CQkgICAiY29udGludWUgYWNraW5nIGl0IGFueXdheVxuIik7CisKKwkJCW1jX29wLnUubWNfZmV0
Y2guZmxhZ3MgPSBmbGFncyB8IFhFTl9NQ19BQ0s7CisJCQlyZXQgPSBIWVBFUlZJU09SX21jYSgm
bWNfb3ApOworCQkJaWYgKHJldCkgeworCQkJCXByX2VycihYRU5fTUNFTE9HCisJCQkJICAgICAg
ICJGYWlsZWQgdG8gYWNrIHByZXZpb3VzIGVycm9yIGxvZ1xuIik7CisJCQkJYnJlYWs7CisJCQl9
CisJCX0KKwl9IHdoaWxlICgxKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qIHZpcnEgaGFuZGxl
ciBmb3IgbWFjaGluZSBjaGVjayBlcnJvciBpbmZvKi8KK3N0YXRpYyBpcnFyZXR1cm5fdCB4ZW5f
bWNlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJaW50IGVycjsKKwl1bnNp
Z25lZCBsb25nIHRtcDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZtY2Vsb2dfbG9jaywgdG1wKTsK
KworCS8qIHVyZ2VudCBtY19pbmZvICovCisJZXJyID0gbWNfcXVldWVfaGFuZGxlKFhFTl9NQ19V
UkdFTlQpOworCWlmIChlcnIpCisJCXByX2VycihYRU5fTUNFTE9HCisJCSAgICAgICAiRmFpbGVk
IHRvIGhhbmRsZSB1cmdlbnQgbWNfaW5mbyBxdWV1ZSwgIgorCQkgICAgICAgImNvbnRpbnVlIGhh
bmRsaW5nIG5vbnVyZ2VudCBtY19pbmZvIHF1ZXVlIGFueXdheS5cbiIpOworCisJLyogbm9udXJn
ZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19xdWV1ZV9oYW5kbGUoWEVOX01DX05PTlVSR0VOVCk7
CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJICAgICAgICJGYWlsZWQgdG8gaGFu
ZGxlIG5vbnVyZ2VudCBtY19pbmZvIHF1ZXVlLlxuIik7CisKKwlzcGluX3VubG9ja19pcnFyZXN0
b3JlKCZtY2Vsb2dfbG9jaywgdG1wKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3Rh
dGljIGludCBiaW5kX3ZpcnFfZm9yX21jZSh2b2lkKQoreworCWludCByZXQ7CisJc3RydWN0IHhl
bl9tYyBtY19vcDsKKworCW1lbXNldCgmbWNfb3AsIDAsIHNpemVvZihzdHJ1Y3QgeGVuX21jKSk7
CisKKwkvKiBGZXRjaCBwaHlzaWNhbCBDUFUgTnVtYmVycyAqLworCW1jX29wLmNtZCA9IFhFTl9N
Q19waHlzY3B1aW5mbzsKKwltY19vcC5pbnRlcmZhY2VfdmVyc2lvbiA9IFhFTl9NQ0FfSU5URVJG
QUNFX1ZFUlNJT047CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUobWNfb3AudS5tY19waHlzY3B1aW5m
by5pbmZvLCBnX3BoeXNpbmZvKTsKKwlyZXQgPSBIWVBFUlZJU09SX21jYSgmbWNfb3ApOworCWlm
IChyZXQpIHsKKwkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBnZXQgQ1BVIG51bWJlcnNc
biIpOworCQlyZXR1cm4gcmV0OworCX0KKworCS8qIEZldGNoIGVhY2ggQ1BVIFBoeXNpY2FsIElu
Zm8gZm9yIGxhdGVyIHJlZmVyZW5jZSovCisJbmNwdXMgPSBtY19vcC51Lm1jX3BoeXNjcHVpbmZv
Lm5jcHVzOworCWdfcGh5c2luZm8gPSBrY2FsbG9jKG5jcHVzLCBzaXplb2Yoc3RydWN0IG1jaW5m
b19sb2dpY2FsX2NwdSksCisJCQkgICAgIEdGUF9LRVJORUwpOworCWlmICghZ19waHlzaW5mbykK
KwkJcmV0dXJuIC1FTk9NRU07CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUobWNfb3AudS5tY19waHlz
Y3B1aW5mby5pbmZvLCBnX3BoeXNpbmZvKTsKKwlyZXQgPSBIWVBFUlZJU09SX21jYSgmbWNfb3Ap
OworCWlmIChyZXQpIHsKKwkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBnZXQgQ1BVIGlu
Zm9cbiIpOworCQlrZnJlZShnX3BoeXNpbmZvKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXQg
ID0gYmluZF92aXJxX3RvX2lycWhhbmRsZXIoVklSUV9NQ0EsIDAsCisJCQkJICAgICAgIHhlbl9t
Y2VfaW50ZXJydXB0LCAwLCAibWNlIiwgTlVMTCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJy
KFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBiaW5kIHZpcnFcbiIpOworCQlrZnJlZShnX3BoeXNpbmZv
KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2lu
aXQgeGVuX2xhdGVfaW5pdF9tY2Vsb2codm9pZCkKK3sKKwkvKiBPbmx5IERPTTAgaXMgcmVzcG9u
c2libGUgZm9yIE1DRSBsb2dnaW5nICovCisJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKSB7CisJ
CS8qIHJlZ2lzdGVyIGNoYXJhY3RlciBkZXZpY2UgL2Rldi9tY2Vsb2cgZm9yIHhlbiBtY2Vsb2cg
Ki8KKwkJaWYgKG1pc2NfcmVnaXN0ZXIoJnhlbl9tY2VfY2hyZGV2X2RldmljZSkpCisJCQlyZXR1
cm4gLUVOT0RFVjsKKwkJcmV0dXJuIGJpbmRfdmlycV9mb3JfbWNlKCk7CisJfQorCisJcmV0dXJu
IC1FTk9ERVY7Cit9CitkZXZpY2VfaW5pdGNhbGwoeGVuX2xhdGVfaW5pdF9tY2Vsb2cpOwpkaWZm
IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9taXNjZGV2aWNlLmggYi9pbmNsdWRlL2xpbnV4L21pc2Nk
ZXZpY2UuaAppbmRleCAwNTQ5ZDIxLi5lMGRlZWIyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4
L21pc2NkZXZpY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L21pc2NkZXZpY2UuaApAQCAtMzUsNiAr
MzUsNyBAQAogI2RlZmluZSBNUFRfTUlOT1IJCTIyMAogI2RlZmluZSBNUFQyU0FTX01JTk9SCQky
MjEKICNkZWZpbmUgVUlOUFVUX01JTk9SCQkyMjMKKyNkZWZpbmUgTUlTQ19NQ0VMT0dfTUlOT1IJ
MjI3CiAjZGVmaW5lIEhQRVRfTUlOT1IJCTIyOAogI2RlZmluZSBGVVNFX01JTk9SCQkyMjkKICNk
ZWZpbmUgS1ZNX01JTk9SCQkyMzIKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS94
ZW4tbWNhLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczYTRlYTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRl
L3hlbi9pbnRlcmZhY2UveGVuLW1jYS5oCkBAIC0wLDAgKzEsMzg1IEBACisvKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCisgKiBhcmNoLXg4Ni9tY2EuaAorICogR3Vlc3QgT1MgbWFjaGluZSBjaGVjayBp
bnRlcmZhY2UgdG8geDg2IFhlbi4KKyAqCisgKiBDb250cmlidXRlZCBieSBBZHZhbmNlZCBNaWNy
byBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IENocmlzdG9waCBFZ2dlciA8Q2hyaXN0b3BoLkVn
Z2VyQGFtZC5jb20+CisgKgorICogVXBkYXRlZCBieSBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0
aG9yOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4KKyAqCisgKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJl
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisg
KiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5k
IHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS
RSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKi8K
KworI2lmbmRlZiBfX1hFTl9QVUJMSUNfQVJDSF9YODZfTUNBX0hfXworI2RlZmluZSBfX1hFTl9Q
VUJMSUNfQVJDSF9YODZfTUNBX0hfXworCisvKiBIeXBlcmNhbGwgKi8KKyNkZWZpbmUgX19IWVBF
UlZJU09SX21jYSBfX0hZUEVSVklTT1JfYXJjaF8wCisKKyNkZWZpbmUgWEVOX01DQV9JTlRFUkZB
Q0VfVkVSU0lPTgkweDAxZWNjMDAzCisKKy8qIElOOiBEb20wIGNhbGxzIGh5cGVyY2FsbCB0byBy
ZXRyaWV2ZSBub251cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICovCisjZGVmaW5lIFhFTl9NQ19OT05V
UkdFTlQJMHgxCisvKiBJTjogRG9tMCBjYWxscyBoeXBlcmNhbGwgdG8gcmV0cmlldmUgdXJnZW50
IGVycm9yIGxvZyBlbnRyeSAqLworI2RlZmluZSBYRU5fTUNfVVJHRU5UCQkweDIKKy8qIElOOiBE
b20wIGFja25vd2xlZGdlcyBwcmV2aW9zbHktZmV0Y2hlZCBlcnJvciBsb2cgZW50cnkgKi8KKyNk
ZWZpbmUgWEVOX01DX0FDSwkJMHg0CisKKy8qIE9VVDogQWxsIGlzIG9rICovCisjZGVmaW5lIFhF
Tl9NQ19PSwkJMHgwCisvKiBPVVQ6IERvbWFpbiBjb3VsZCBub3QgZmV0Y2ggZGF0YS4gKi8KKyNk
ZWZpbmUgWEVOX01DX0ZFVENIRkFJTEVECTB4MQorLyogT1VUOiBUaGVyZSB3YXMgbm8gbWFjaGlu
ZSBjaGVjayBkYXRhIHRvIGZldGNoLiAqLworI2RlZmluZSBYRU5fTUNfTk9EQVRBCQkweDIKKwor
I2lmbmRlZiBfX0FTU0VNQkxZX18KKy8qIHZJUlEgaW5qZWN0ZWQgdG8gRG9tMCAqLworI2RlZmlu
ZSBWSVJRX01DQSBWSVJRX0FSQ0hfMAorCisvKgorICogbWNfaW5mbyBlbnRyeSB0eXBlcworICog
bWNhIG1hY2hpbmUgY2hlY2sgaW5mbyBhcmUgcmVjb3JkZWQgaW4gbWNfaW5mbyBlbnRyaWVzLgor
ICogd2hlbiBmZXRjaCBtY2EgaW5mbywgaXQgY2FuIHVzZSBNQ19UWVBFXy4uLiB0byBkaXN0aW5n
dWlzaAorICogZGlmZmVyZW50IG1jYSBpbmZvLgorICovCisjZGVmaW5lIE1DX1RZUEVfR0xPQkFM
CQkwCisjZGVmaW5lIE1DX1RZUEVfQkFOSwkJMQorI2RlZmluZSBNQ19UWVBFX0VYVEVOREVECTIK
KyNkZWZpbmUgTUNfVFlQRV9SRUNPVkVSWQkzCisKK3N0cnVjdCBtY2luZm9fY29tbW9uIHsKKwl1
aW50MTZfdCB0eXBlOyAvKiBzdHJ1Y3R1cmUgdHlwZSAqLworCXVpbnQxNl90IHNpemU7IC8qIHNp
emUgb2YgdGhpcyBzdHJ1Y3QgaW4gYnl0ZXMgKi8KK307CisKKyNkZWZpbmUgTUNfRkxBR19DT1JS
RUNUQUJMRQkoMSA8PCAwKQorI2RlZmluZSBNQ19GTEFHX1VOQ09SUkVDVEFCTEUJKDEgPDwgMSkK
KyNkZWZpbmUgTUNfRkxBR19SRUNPVkVSQUJMRQkoMSA8PCAyKQorI2RlZmluZSBNQ19GTEFHX1BP
TExFRAkJKDEgPDwgMykKKyNkZWZpbmUgTUNfRkxBR19SRVNFVAkJKDEgPDwgNCkKKyNkZWZpbmUg
TUNfRkxBR19DTUNJCQkoMSA8PCA1KQorI2RlZmluZSBNQ19GTEFHX01DRQkJKDEgPDwgNikKKwor
LyogY29udGFpbnMgeDg2IGdsb2JhbCBtYyBpbmZvcm1hdGlvbiAqLworc3RydWN0IG1jaW5mb19n
bG9iYWwgeworCXN0cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsKKworCXVpbnQxNl90IG1jX2Rv
bWlkOyAvKiBydW5uaW5nIGRvbWFpbiBhdCB0aGUgdGltZSBpbiBlcnJvciAqLworCXVpbnQxNl90
IG1jX3ZjcHVpZDsgLyogdmlydHVhbCBjcHUgc2NoZWR1bGVkIGZvciBtY19kb21pZCAqLworCXVp
bnQzMl90IG1jX3NvY2tldGlkOyAvKiBwaHlzaWNhbCBzb2NrZXQgb2YgdGhlIHBoeXNpY2FsIGNv
cmUgKi8KKwl1aW50MTZfdCBtY19jb3JlaWQ7IC8qIHBoeXNpY2FsIGltcGFjdGVkIGNvcmUgKi8K
Kwl1aW50MTZfdCBtY19jb3JlX3RocmVhZGlkOyAvKiBjb3JlIHRocmVhZCBvZiBwaHlzaWNhbCBj
b3JlICovCisJdWludDMyX3QgbWNfYXBpY2lkOworCXVpbnQzMl90IG1jX2ZsYWdzOworCXVpbnQ2
NF90IG1jX2dzdGF0dXM7IC8qIGdsb2JhbCBzdGF0dXMgKi8KK307CisKKy8qIGNvbnRhaW5zIHg4
NiBiYW5rIG1jIGluZm9ybWF0aW9uICovCitzdHJ1Y3QgbWNpbmZvX2JhbmsgeworCXN0cnVjdCBt
Y2luZm9fY29tbW9uIGNvbW1vbjsKKworCXVpbnQxNl90IG1jX2Jhbms7IC8qIGJhbmsgbnIgKi8K
Kwl1aW50MTZfdCBtY19kb21pZDsgLyogZG9tYWluIHJlZmVyZW5jZWQgYnkgbWNfYWRkciBpZiB2
YWxpZCAqLworCXVpbnQ2NF90IG1jX3N0YXR1czsgLyogYmFuayBzdGF0dXMgKi8KKwl1aW50NjRf
dCBtY19hZGRyOyAvKiBiYW5rIGFkZHJlc3MgKi8KKwl1aW50NjRfdCBtY19taXNjOworCXVpbnQ2
NF90IG1jX2N0cmwyOworCXVpbnQ2NF90IG1jX3RzYzsKK307CisKK3N0cnVjdCBtY2luZm9fbXNy
IHsKKwl1aW50NjRfdCByZWc7IC8qIE1TUiAqLworCXVpbnQ2NF90IHZhbHVlOyAvKiBNU1IgdmFs
dWUgKi8KK307CisKKy8qIGNvbnRhaW5zIG1jIGluZm9ybWF0aW9uIGZyb20gb3RoZXIgb3IgYWRk
aXRpb25hbCBtYyBNU1JzICovCitzdHJ1Y3QgbWNpbmZvX2V4dGVuZGVkIHsKKwlzdHJ1Y3QgbWNp
bmZvX2NvbW1vbiBjb21tb247CisJdWludDMyX3QgbWNfbXNyczsgLyogTnVtYmVyIG9mIG1zciB3
aXRoIHZhbGlkIHZhbHVlcy4gKi8KKwkvKgorCSAqIEN1cnJlbnRseSBJbnRlbCBleHRlbmRlZCBN
U1IgKDMyLzY0KSBpbmNsdWRlIGFsbCBncCByZWdpc3RlcnMKKwkgKiBhbmQgRShSKUZMQUdTLCBF
KFIpSVAsIEUoUilNSVNDLCB1cCB0byAxMS8xOSBvZiB0aGVtIG1pZ2h0IGJlCisJICogdXNlZnVs
IGF0IHByZXNlbnQuIFNvIGV4cGFuZCB0aGlzIGFycmF5IHRvIDE2LzMyIHRvIGxlYXZlIHJvb20u
CisJICovCisJc3RydWN0IG1jaW5mb19tc3IgbWNfbXNyW3NpemVvZih2b2lkICopICogNF07Cit9
OworCisvKiBSZWNvdmVyeSBBY3Rpb24gZmxhZ3MuIEdpdmluZyByZWNvdmVyeSByZXN1bHQgaW5m
b3JtYXRpb24gdG8gRE9NMCAqLworCisvKiBYZW4gdGFrZXMgc3VjY2Vzc2Z1bCByZWNvdmVyeSBh
Y3Rpb24sIHRoZSBlcnJvciBpcyByZWNvdmVyZWQgKi8KKyNkZWZpbmUgUkVDX0FDVElPTl9SRUNP
VkVSRUQgKDB4MSA8PCAwKQorLyogTm8gYWN0aW9uIGlzIHBlcmZvcm1lZCBieSBYRU4gKi8KKyNk
ZWZpbmUgUkVDX0FDVElPTl9OT05FICgweDEgPDwgMSkKKy8qIEl0J3MgcG9zc2libGUgRE9NMCBt
aWdodCB0YWtlIGFjdGlvbiBvd25lcnNoaXAgaW4gc29tZSBjYXNlICovCisjZGVmaW5lIFJFQ19B
Q1RJT05fTkVFRF9SRVNFVCAoMHgxIDw8IDIpCisKKy8qCisgKiBEaWZmZXJlbnQgUmVjb3Zlcnkg
QWN0aW9uIHR5cGVzLCBpZiB0aGUgYWN0aW9uIGlzIHBlcmZvcm1lZCBzdWNjZXNzZnVsbHksCisg
KiBSRUNfQUNUSU9OX1JFQ09WRVJFRCBmbGFnIHdpbGwgYmUgcmV0dXJuZWQuCisgKi8KKworLyog
UGFnZSBPZmZsaW5lIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fUEFHRV9PRkZMSU5FICgw
eDEgPDwgMCkKKy8qIENQVSBvZmZsaW5lIEFjdGlvbiAqLworI2RlZmluZSBNQ19BQ1RJT05fQ1BV
X09GRkxJTkUgKDB4MSA8PCAxKQorLyogTDMgY2FjaGUgZGlzYWJsZSBBY3Rpb24gKi8KKyNkZWZp
bmUgTUNfQUNUSU9OX0NBQ0hFX1NIUklOSyAoMHgxIDw8IDIpCisKKy8qCisgKiBCZWxvdyBpbnRl
cmZhY2UgdXNlZCBiZXR3ZWVuIFhFTi9ET00wIGZvciBwYXNzaW5nIFhFTidzIHJlY292ZXJ5IGFj
dGlvbgorICogaW5mb3JtYXRpb24gdG8gRE9NMC4KKyAqLworc3RydWN0IHBhZ2Vfb2ZmbGluZV9h
Y3Rpb24geworCS8qIFBhcmFtcyBmb3IgcGFzc2luZyB0aGUgb2ZmbGluZWQgcGFnZSBudW1iZXIg
dG8gRE9NMCAqLworCXVpbnQ2NF90IG1mbjsKKwl1aW50NjRfdCBzdGF0dXM7Cit9OworCitzdHJ1
Y3QgY3B1X29mZmxpbmVfYWN0aW9uIHsKKwkvKiBQYXJhbXMgZm9yIHBhc3NpbmcgdGhlIGlkZW50
aXR5IG9mIHRoZSBvZmZsaW5lZCBDUFUgdG8gRE9NMCAqLworCXVpbnQzMl90IG1jX3NvY2tldGlk
OworCXVpbnQxNl90IG1jX2NvcmVpZDsKKwl1aW50MTZfdCBtY19jb3JlX3RocmVhZGlkOworfTsK
KworI2RlZmluZSBNQVhfVU5JT05fU0laRSAxNgorc3RydWN0IG1jaW5mb19yZWNvdmVyeSB7CisJ
c3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCXVpbnQxNl90IG1jX2Jhbms7IC8qIGJhbmsg
bnIgKi8KKwl1aW50OF90IGFjdGlvbl9mbGFnczsKKwl1aW50OF90IGFjdGlvbl90eXBlczsKKwl1
bmlvbiB7CisJCXN0cnVjdCBwYWdlX29mZmxpbmVfYWN0aW9uIHBhZ2VfcmV0aXJlOworCQlzdHJ1
Y3QgY3B1X29mZmxpbmVfYWN0aW9uIGNwdV9vZmZsaW5lOworCQl1aW50OF90IHBhZFtNQVhfVU5J
T05fU0laRV07CisJfSBhY3Rpb25faW5mbzsKK307CisKKworI2RlZmluZSBNQ0lORk9fTUFYU0la
RSA3NjgKK3N0cnVjdCBtY19pbmZvIHsKKwkvKiBOdW1iZXIgb2YgbWNpbmZvXyogZW50cmllcyBp
biBtaV9kYXRhICovCisJdWludDMyX3QgbWlfbmVudHJpZXM7CisJdWludDMyX3QgZmxhZ3M7CisJ
dWludDY0X3QgbWlfZGF0YVsoTUNJTkZPX01BWFNJWkUgLSAxKSAvIDhdOworfTsKK0RFRklORV9H
VUVTVF9IQU5ETEVfU1RSVUNUKG1jX2luZm8pOworCisjZGVmaW5lIF9fTUNfTVNSX0FSUkFZU0la
RSA4CisjZGVmaW5lIF9fTUNfTVNSX01DR0NBUCAwCisjZGVmaW5lIF9fTUNfTk1TUlMgMQorI2Rl
ZmluZSBNQ19OQ0FQUyA3CitzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1IHsKKwl1aW50MzJfdCBt
Y19jcHVucjsKKwl1aW50MzJfdCBtY19jaGlwaWQ7CisJdWludDE2X3QgbWNfY29yZWlkOworCXVp
bnQxNl90IG1jX3RocmVhZGlkOworCXVpbnQzMl90IG1jX2FwaWNpZDsKKwl1aW50MzJfdCBtY19j
bHVzdGVyaWQ7CisJdWludDMyX3QgbWNfbmNvcmVzOworCXVpbnQzMl90IG1jX25jb3Jlc19hY3Rp
dmU7CisJdWludDMyX3QgbWNfbnRocmVhZHM7CisJdWludDMyX3QgbWNfY3B1aWRfbGV2ZWw7CisJ
dWludDMyX3QgbWNfZmFtaWx5OworCXVpbnQzMl90IG1jX3ZlbmRvcjsKKwl1aW50MzJfdCBtY19t
b2RlbDsKKwl1aW50MzJfdCBtY19zdGVwOworCWNoYXIgbWNfdmVuZG9yaWRbMTZdOworCWNoYXIg
bWNfYnJhbmRpZFs2NF07CisJdWludDMyX3QgbWNfY3B1X2NhcHNbTUNfTkNBUFNdOworCXVpbnQz
Ml90IG1jX2NhY2hlX3NpemU7CisJdWludDMyX3QgbWNfY2FjaGVfYWxpZ25tZW50OworCXVpbnQz
Ml90IG1jX25tc3J2YWxzOworCXN0cnVjdCBtY2luZm9fbXNyIG1jX21zcnZhbHVlc1tfX01DX01T
Ul9BUlJBWVNJWkVdOworfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKG1jaW5mb19sb2dp
Y2FsX2NwdSk7CisKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICB1aW50MzJfdCB4ODZfbWNpbmZv
X25lbnRyaWVzKHN0cnVjdCBtY19pbmZvICptaSk7CisgKi8KKyNkZWZpbmUgeDg2X21jaW5mb19u
ZW50cmllcyhfbWkpICAgIFwKKwkoKF9taSktPm1pX25lbnRyaWVzKQorLyoKKyAqIFByb3RvdHlw
ZToKKyAqICAgIHN0cnVjdCBtY2luZm9fY29tbW9uICp4ODZfbWNpbmZvX2ZpcnN0KHN0cnVjdCBt
Y19pbmZvICptaSk7CisgKi8KKyNkZWZpbmUgeDg2X21jaW5mb19maXJzdChfbWkpICAgICAgIFwK
KwkoKHN0cnVjdCBtY2luZm9fY29tbW9uICopKF9taSktPm1pX2RhdGEpCisvKgorICogUHJvdG90
eXBlOgorICogICAgc3RydWN0IG1jaW5mb19jb21tb24gKng4Nl9tY2luZm9fbmV4dChzdHJ1Y3Qg
bWNpbmZvX2NvbW1vbiAqbWljKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZvX25leHQoX21pYykg
ICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19jb21tb24gKikoKHVpbnQ4X3QgKikoX21pYykgKyAo
X21pYyktPnNpemUpKQorCisvKgorICogUHJvdG90eXBlOgorICogICAgdm9pZCB4ODZfbWNpbmZv
X2xvb2t1cCh2b2lkICpyZXQsIHN0cnVjdCBtY19pbmZvICptaSwgdWludDE2X3QgdHlwZSk7Cisg
Ki8KK3N0YXRpYyBpbmxpbmUgdm9pZCB4ODZfbWNpbmZvX2xvb2t1cChzdHJ1Y3QgbWNpbmZvX2Nv
bW1vbiAqKnJldCwKKwkJCQkgICAgIHN0cnVjdCBtY19pbmZvICptaSwgdWludDE2X3QgdHlwZSkK
K3sKKwl1aW50MzJfdCBpOworCXN0cnVjdCBtY2luZm9fY29tbW9uICptaWM7CisJYm9vbCBmb3Vu
ZCA9IDA7CisKKwlpZiAoIXJldCB8fCAhbWkpCisJCXJldHVybjsKKworCW1pYyA9IHg4Nl9tY2lu
Zm9fZmlyc3QobWkpOworCWZvciAoaSA9IDA7IGkgPCB4ODZfbWNpbmZvX25lbnRyaWVzKG1pKTsg
aSsrKSB7CisJCWlmIChtaWMtPnR5cGUgPT0gdHlwZSkgeworCQkJZm91bmQgPSAxOworCQkJYnJl
YWs7CisJCX0KKwkJbWljID0geDg2X21jaW5mb19uZXh0KG1pYyk7CisJfQorCisJKnJldCA9IGZv
dW5kID8gbWljIDogTlVMTDsKK30KKworLyoKKyAqIEZldGNoIG1hY2hpbmUgY2hlY2sgZGF0YSBm
cm9tIGh5cGVydmlzb3IuCisgKi8KKyNkZWZpbmUgWEVOX01DX2ZldGNoCQkxCitzdHJ1Y3QgeGVu
X21jX2ZldGNoIHsKKwkvKgorCSAqIElOOiBYRU5fTUNfTk9OVVJHRU5ULCBYRU5fTUNfVVJHRU5U
LAorCSAqIFhFTl9NQ19BQ0sgaWYgYWNrJ2tpbmcgYW4gZWFybGllciBmZXRjaAorCSAqIE9VVDog
WEVOX01DX09LLCBYRU5fTUNfRkVUQ0hBSUxFRCwgWEVOX01DX05PREFUQQorCSAqLworCXVpbnQz
Ml90IGZsYWdzOworCXVpbnQzMl90IF9wYWQwOworCS8qIE9VVDogaWQgZm9yIGFjaywgSU46IGlk
IHdlIGFyZSBhY2snaW5nICovCisJdWludDY0X3QgZmV0Y2hfaWQ7CisKKwkvKiBPVVQgdmFyaWFi
bGVzLiAqLworCUdVRVNUX0hBTkRMRShtY19pbmZvKSBkYXRhOworfTsKK0RFRklORV9HVUVTVF9I
QU5ETEVfU1RSVUNUKHhlbl9tY19mZXRjaCk7CisKKworLyoKKyAqIFRoaXMgdGVsbHMgdGhlIGh5
cGVydmlzb3IgdG8gbm90aWZ5IGEgRG9tVSBhYm91dCB0aGUgbWFjaGluZSBjaGVjayBlcnJvcgor
ICovCisjZGVmaW5lIFhFTl9NQ19ub3RpZnlkb21haW4JMgorc3RydWN0IHhlbl9tY19ub3RpZnlk
b21haW4geworCS8qIElOIHZhcmlhYmxlcyAqLworCXVpbnQxNl90IG1jX2RvbWlkOyAvKiBUaGUg
dW5wcml2aWxlZ2VkIGRvbWFpbiB0byBub3RpZnkgKi8KKwl1aW50MTZfdCBtY192Y3B1aWQ7IC8q
IFRoZSB2Y3B1IGluIG1jX2RvbWlkIHRvIG5vdGlmeSAqLworCisJLyogSU4vT1VUIHZhcmlhYmxl
cyAqLworCXVpbnQzMl90IGZsYWdzOworfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhl
bl9tY19ub3RpZnlkb21haW4pOworCisjZGVmaW5lIFhFTl9NQ19waHlzY3B1aW5mbwkzCitzdHJ1
Y3QgeGVuX21jX3BoeXNjcHVpbmZvIHsKKwkvKiBJTi9PVVQgKi8KKwl1aW50MzJfdCBuY3B1czsK
Kwl1aW50MzJfdCBfcGFkMDsKKwkvKiBPVVQgKi8KKwlHVUVTVF9IQU5ETEUobWNpbmZvX2xvZ2lj
YWxfY3B1KSBpbmZvOworfTsKKworI2RlZmluZSBYRU5fTUNfbXNyaW5qZWN0CTQKKyNkZWZpbmUg
TUNfTVNSSU5KX01BWE1TUlMJOAorc3RydWN0IHhlbl9tY19tc3JpbmplY3QgeworCS8qIElOICov
CisJdWludDMyX3QgbWNpbmpfY3B1bnI7IC8qIHRhcmdldCBwcm9jZXNzb3IgaWQgKi8KKwl1aW50
MzJfdCBtY2lual9mbGFnczsgLyogc2VlIE1DX01TUklOSl9GXyogYmVsb3cgKi8KKwl1aW50MzJf
dCBtY2lual9jb3VudDsgLyogMCAuLiBjb3VudC0xIGluIGFycmF5IGFyZSB2YWxpZCAqLworCXVp
bnQzMl90IF9wYWQwOworCXN0cnVjdCBtY2luZm9fbXNyIG1jaW5qX21zcltNQ19NU1JJTkpfTUFY
TVNSU107Cit9OworCisvKiBGbGFncyBmb3IgbWNpbmpfZmxhZ3MgYWJvdmU7IGJpdHMgMTYtMzEg
YXJlIHJlc2VydmVkICovCisjZGVmaW5lIE1DX01TUklOSl9GX0lOVEVSUE9TRQkweDEKKworI2Rl
ZmluZSBYRU5fTUNfbWNlaW5qZWN0CTUKK3N0cnVjdCB4ZW5fbWNfbWNlaW5qZWN0IHsKKwl1bnNp
Z25lZCBpbnQgbWNlaW5qX2NwdW5yOyAvKiB0YXJnZXQgcHJvY2Vzc29yIGlkICovCit9OworCitz
dHJ1Y3QgeGVuX21jIHsKKwl1aW50MzJfdCBjbWQ7CisJdWludDMyX3QgaW50ZXJmYWNlX3ZlcnNp
b247IC8qIFhFTl9NQ0FfSU5URVJGQUNFX1ZFUlNJT04gKi8KKwl1bmlvbiB7CisJCXN0cnVjdCB4
ZW5fbWNfZmV0Y2ggICAgICAgIG1jX2ZldGNoOworCQlzdHJ1Y3QgeGVuX21jX25vdGlmeWRvbWFp
biBtY19ub3RpZnlkb21haW47CisJCXN0cnVjdCB4ZW5fbWNfcGh5c2NwdWluZm8gIG1jX3BoeXNj
cHVpbmZvOworCQlzdHJ1Y3QgeGVuX21jX21zcmluamVjdCAgICBtY19tc3JpbmplY3Q7CisJCXN0
cnVjdCB4ZW5fbWNfbWNlaW5qZWN0ICAgIG1jX21jZWluamVjdDsKKwl9IHU7Cit9OworREVGSU5F
X0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jKTsKKworLyogRmllbGRzIGFyZSB6ZXJvIHdoZW4g
bm90IGF2YWlsYWJsZSAqLworc3RydWN0IHhlbl9tY2UgeworCV9fdTY0IHN0YXR1czsKKwlfX3U2
NCBtaXNjOworCV9fdTY0IGFkZHI7CisJX191NjQgbWNnc3RhdHVzOworCV9fdTY0IGlwOworCV9f
dTY0IHRzYzsJLyogY3B1IHRpbWUgc3RhbXAgY291bnRlciAqLworCV9fdTY0IHRpbWU7CS8qIHdh
bGwgdGltZV90IHdoZW4gZXJyb3Igd2FzIGRldGVjdGVkICovCisJX191OCAgY3B1dmVuZG9yOwkv
KiBjcHUgdmVuZG9yIGFzIGVuY29kZWQgaW4gc3lzdGVtLmggKi8KKwlfX3U4ICBpbmplY3RfZmxh
Z3M7CS8qIHNvZnR3YXJlIGluamVjdCBmbGFncyAqLworCV9fdTE2ICBwYWQ7CisJX191MzIgY3B1
aWQ7CS8qIENQVUlEIDEgRUFYICovCisJX191OCAgY3M7CQkvKiBjb2RlIHNlZ21lbnQgKi8KKwlf
X3U4ICBiYW5rOwkvKiBtYWNoaW5lIGNoZWNrIGJhbmsgKi8KKwlfX3U4ICBjcHU7CS8qIGNwdSBu
dW1iZXI7IG9ic29sZXRlOyB1c2UgZXh0Y3B1IG5vdyAqLworCV9fdTggIGZpbmlzaGVkOyAgIC8q
IGVudHJ5IGlzIHZhbGlkICovCisJX191MzIgZXh0Y3B1OwkvKiBsaW51eCBjcHUgbnVtYmVyIHRo
YXQgZGV0ZWN0ZWQgdGhlIGVycm9yICovCisJX191MzIgc29ja2V0aWQ7CS8qIENQVSBzb2NrZXQg
SUQgKi8KKwlfX3UzMiBhcGljaWQ7CS8qIENQVSBpbml0aWFsIGFwaWMgSUQgKi8KKwlfX3U2NCBt
Y2djYXA7CS8qIE1DR0NBUCBNU1I6IG1hY2hpbmUgY2hlY2sgY2FwYWJpbGl0aWVzIG9mIENQVSAq
LworfTsKKworLyoKKyAqIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIGFsbCBkYXRhIHJlbGF0ZWQg
dG8gdGhlIE1DRSBsb2cuICBBbHNvCisgKiBjYXJyaWVzIGEgc2lnbmF0dXJlIHRvIG1ha2UgaXQg
ZWFzaWVyIHRvIGZpbmQgZnJvbSBleHRlcm5hbAorICogZGVidWdnaW5nIHRvb2xzLiAgRWFjaCBl
bnRyeSBpcyBvbmx5IHZhbGlkIHdoZW4gaXRzIGZpbmlzaGVkIGZsYWcKKyAqIGlzIHNldC4KKyAq
LworCisjZGVmaW5lIFhFTl9NQ0VfTE9HX0xFTiAzMgorCitzdHJ1Y3QgeGVuX21jZV9sb2cgewor
CWNoYXIgc2lnbmF0dXJlWzEyXTsgLyogIk1BQ0hJTkVDSEVDSyIgKi8KKwl1bnNpZ25lZCBsZW47
CSAgICAvKiA9IFhFTl9NQ0VfTE9HX0xFTiAqLworCXVuc2lnbmVkIG5leHQ7CisJdW5zaWduZWQg
ZmxhZ3M7CisJdW5zaWduZWQgcmVjb3JkbGVuOwkvKiBsZW5ndGggb2Ygc3RydWN0IHhlbl9tY2Ug
Ki8KKwlzdHJ1Y3QgeGVuX21jZSBlbnRyeVtYRU5fTUNFX0xPR19MRU5dOworfTsKKworI2RlZmlu
ZSBYRU5fTUNFX09WRVJGTE9XIDAJCS8qIGJpdCAwIGluIGZsYWdzIG1lYW5zIG92ZXJmbG93ICov
CisKKyNkZWZpbmUgWEVOX01DRV9MT0dfU0lHTkFUVVJFCSJNQUNISU5FQ0hFQ0siCisKKyNkZWZp
bmUgTUNFX0dFVF9SRUNPUkRfTEVOICAgX0lPUignTScsIDEsIGludCkKKyNkZWZpbmUgTUNFX0dF
VF9MT0dfTEVOICAgICAgX0lPUignTScsIDIsIGludCkKKyNkZWZpbmUgTUNFX0dFVENMRUFSX0ZM
QUdTICAgX0lPUignTScsIDMsIGludCkKKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworI2Vu
ZGlmIC8qIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fICovCi0tIAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE7CSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 12:59:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:59:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4yc-0006vK-Mb; Thu, 31 May 2012 12:59:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa4yb-0006vB-6s
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:59:41 +0000
Received: from [85.158.143.99:25737] by server-2.bemta-4.messagelabs.com id
	27/F1-11595-C3B67CF4; Thu, 31 May 2012 12:59:40 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338469177!30393528!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg5NzIx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14257 invoked from network); 31 May 2012 12:59:38 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-5.tower-216.messagelabs.com with SMTP;
	31 May 2012 12:59:38 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 31 May 2012 05:59:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="149923914"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 31 May 2012 05:59:08 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 05:59:07 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 20:59:05 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [PATCH 2/2] initcall sequence adjust for 3 funcs
Thread-Index: Ac0/LSitwQZF+TuLSC6cC99wrIYZ3A==
Date: Thu, 31 May 2012 12:59:05 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FEE95@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 2/2] initcall sequence adjust for 3 funcs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From eb5ff1bef5dd3116fa2624b594b853e9334ccbce Mon Sep 17 00:00:00 2001
From: root <root@ljsromley.bj.intel.com>
Date: Fri, 1 Jun 2012 03:56:25 +0800
Subject: [PATCH 2/2] initcall sequence adjust for 3 funcs

there are 3 funcs need to be _initcalled in a logic sequence:
1. xen_late_init_mcelog
2. mcheck_init_device
3. threshold_init_device

xen_late_init_mcelog need register xen_mce_chrdev_device before
native mce_chrdev_device registeration if running under xen platform;

mcheck_init_device should be inited before threshold_init_device to
initialize mce_device, otherwise a NULL pointer would occur and panic.

so we use following _initcalls
1. device_initcall(xen_late_init_mcelog);
2. device_initcall_sync(mcheck_init_device);
3. late_initcall(threshold_init_device);

when running under xen platform, 1,2,3 would take effect;
when running under baremetal, 2,3 would take effect;

Reported-by: Borislav Petkov <bp@amd64.org>
Suggested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/kernel/cpu/mcheck/mce_amd.c |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mch=
eck/mce_amd.c
index f4873a6..6647858 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
@@ -777,4 +777,24 @@ static __init int threshold_init_device(void)
=20
 	return 0;
 }
-device_initcall(threshold_init_device);
+/*
+ * there are 3 funcs need to be _initcalled in a logic sequence:
+ * 1. xen_late_init_mcelog
+ * 2. mcheck_init_device
+ * 3. threshold_init_device
+ *
+ * xen_late_init_mcelog need register xen_mce_chrdev_device before
+ * native mce_chrdev_device registeration if running under xen platform;
+ *
+ * mcheck_init_device should be inited before threshold_init_device to
+ * initialize mce_device, otherwise a NULL pointer would occur and panic.
+ *
+ * so we use following _initcalls
+ * 1. device_initcall(xen_late_init_mcelog);
+ * 2. device_initcall_sync(mcheck_init_device);
+ * 3. late_initcall(threshold_init_device);
+ *
+ * when running under xen platform, 1,2,3 would take effect;
+ * when running under baremetal, 2,3 would take effect;
+ */
+late_initcall(threshold_init_device);
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0002-initcall-sequence-adjust-for-3-funcs.patch"
Content-Description: 0002-initcall-sequence-adjust-for-3-funcs.patch
Content-Disposition: attachment;
	filename="0002-initcall-sequence-adjust-for-3-funcs.patch"; size=2307;
	creation-date="Thu, 31 May 2012 12:54:12 GMT";
	modification-date="Thu, 31 May 2012 20:49:24 GMT"
Content-Transfer-Encoding: base64

RnJvbSBlYjVmZjFiZWY1ZGQzMTE2ZmEyNjI0YjU5NGI4NTNlOTMzNGNjYmNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiByb290IDxyb290QGxqc3JvbWxleS5iai5pbnRlbC5jb20+CkRh
dGU6IEZyaSwgMSBKdW4gMjAxMiAwMzo1NjoyNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBp
bml0Y2FsbCBzZXF1ZW5jZSBhZGp1c3QgZm9yIDMgZnVuY3MKCnRoZXJlIGFyZSAzIGZ1bmNzIG5l
ZWQgdG8gYmUgX2luaXRjYWxsZWQgaW4gYSBsb2dpYyBzZXF1ZW5jZToKMS4geGVuX2xhdGVfaW5p
dF9tY2Vsb2cKMi4gbWNoZWNrX2luaXRfZGV2aWNlCjMuIHRocmVzaG9sZF9pbml0X2RldmljZQoK
eGVuX2xhdGVfaW5pdF9tY2Vsb2cgbmVlZCByZWdpc3RlciB4ZW5fbWNlX2NocmRldl9kZXZpY2Ug
YmVmb3JlCm5hdGl2ZSBtY2VfY2hyZGV2X2RldmljZSByZWdpc3RlcmF0aW9uIGlmIHJ1bm5pbmcg
dW5kZXIgeGVuIHBsYXRmb3JtOwoKbWNoZWNrX2luaXRfZGV2aWNlIHNob3VsZCBiZSBpbml0ZWQg
YmVmb3JlIHRocmVzaG9sZF9pbml0X2RldmljZSB0bwppbml0aWFsaXplIG1jZV9kZXZpY2UsIG90
aGVyd2lzZSBhIE5VTEwgcG9pbnRlciB3b3VsZCBvY2N1ciBhbmQgcGFuaWMuCgpzbyB3ZSB1c2Ug
Zm9sbG93aW5nIF9pbml0Y2FsbHMKMS4gZGV2aWNlX2luaXRjYWxsKHhlbl9sYXRlX2luaXRfbWNl
bG9nKTsKMi4gZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsKMy4gbGF0
ZV9pbml0Y2FsbCh0aHJlc2hvbGRfaW5pdF9kZXZpY2UpOwoKd2hlbiBydW5uaW5nIHVuZGVyIHhl
biBwbGF0Zm9ybSwgMSwyLDMgd291bGQgdGFrZSBlZmZlY3Q7CndoZW4gcnVubmluZyB1bmRlciBi
YXJlbWV0YWwsIDIsMyB3b3VsZCB0YWtlIGVmZmVjdDsKClJlcG9ydGVkLWJ5OiBCb3Jpc2xhdiBQ
ZXRrb3YgPGJwQGFtZDY0Lm9yZz4KU3VnZ2VzdGVkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsg
PGtvbnJhZC53aWxrQG9yYWNsZS5jb20+ClNpZ25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amlu
c29uZy5saXVAaW50ZWwuY29tPgotLS0KIGFyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9h
bWQuYyB8ICAgMjIgKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlcyBjaGFuZ2VkLCAyMSBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5l
bC9jcHUvbWNoZWNrL21jZV9hbWQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9h
bWQuYwppbmRleCBmNDg3M2E2Li42NjQ3ODU4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwv
Y3B1L21jaGVjay9tY2VfYW1kLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNl
X2FtZC5jCkBAIC03NzcsNCArNzc3LDI0IEBAIHN0YXRpYyBfX2luaXQgaW50IHRocmVzaG9sZF9p
bml0X2RldmljZSh2b2lkKQogCiAJcmV0dXJuIDA7CiB9Ci1kZXZpY2VfaW5pdGNhbGwodGhyZXNo
b2xkX2luaXRfZGV2aWNlKTsKKy8qCisgKiB0aGVyZSBhcmUgMyBmdW5jcyBuZWVkIHRvIGJlIF9p
bml0Y2FsbGVkIGluIGEgbG9naWMgc2VxdWVuY2U6CisgKiAxLiB4ZW5fbGF0ZV9pbml0X21jZWxv
ZworICogMi4gbWNoZWNrX2luaXRfZGV2aWNlCisgKiAzLiB0aHJlc2hvbGRfaW5pdF9kZXZpY2UK
KyAqCisgKiB4ZW5fbGF0ZV9pbml0X21jZWxvZyBuZWVkIHJlZ2lzdGVyIHhlbl9tY2VfY2hyZGV2
X2RldmljZSBiZWZvcmUKKyAqIG5hdGl2ZSBtY2VfY2hyZGV2X2RldmljZSByZWdpc3RlcmF0aW9u
IGlmIHJ1bm5pbmcgdW5kZXIgeGVuIHBsYXRmb3JtOworICoKKyAqIG1jaGVja19pbml0X2Rldmlj
ZSBzaG91bGQgYmUgaW5pdGVkIGJlZm9yZSB0aHJlc2hvbGRfaW5pdF9kZXZpY2UgdG8KKyAqIGlu
aXRpYWxpemUgbWNlX2RldmljZSwgb3RoZXJ3aXNlIGEgTlVMTCBwb2ludGVyIHdvdWxkIG9jY3Vy
IGFuZCBwYW5pYy4KKyAqCisgKiBzbyB3ZSB1c2UgZm9sbG93aW5nIF9pbml0Y2FsbHMKKyAqIDEu
IGRldmljZV9pbml0Y2FsbCh4ZW5fbGF0ZV9pbml0X21jZWxvZyk7CisgKiAyLiBkZXZpY2VfaW5p
dGNhbGxfc3luYyhtY2hlY2tfaW5pdF9kZXZpY2UpOworICogMy4gbGF0ZV9pbml0Y2FsbCh0aHJl
c2hvbGRfaW5pdF9kZXZpY2UpOworICoKKyAqIHdoZW4gcnVubmluZyB1bmRlciB4ZW4gcGxhdGZv
cm0sIDEsMiwzIHdvdWxkIHRha2UgZWZmZWN0OworICogd2hlbiBydW5uaW5nIHVuZGVyIGJhcmVt
ZXRhbCwgMiwzIHdvdWxkIHRha2UgZWZmZWN0OworICovCitsYXRlX2luaXRjYWxsKHRocmVzaG9s
ZF9pbml0X2RldmljZSk7Ci0tIAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 12:59:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 12:59:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa4yc-0006vK-Mb; Thu, 31 May 2012 12:59:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa4yb-0006vB-6s
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 12:59:41 +0000
Received: from [85.158.143.99:25737] by server-2.bemta-4.messagelabs.com id
	27/F1-11595-C3B67CF4; Thu, 31 May 2012 12:59:40 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338469177!30393528!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg5NzIx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14257 invoked from network); 31 May 2012 12:59:38 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-5.tower-216.messagelabs.com with SMTP;
	31 May 2012 12:59:38 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga101.ch.intel.com with ESMTP; 31 May 2012 05:59:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="149923914"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 31 May 2012 05:59:08 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 05:59:07 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 20:59:05 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Borislav Petkov
	<bp@amd64.org>
Thread-Topic: [PATCH 2/2] initcall sequence adjust for 3 funcs
Thread-Index: Ac0/LSitwQZF+TuLSC6cC99wrIYZ3A==
Date: Thu, 31 May 2012 12:59:05 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FEE95@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 2/2] initcall sequence adjust for 3 funcs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From eb5ff1bef5dd3116fa2624b594b853e9334ccbce Mon Sep 17 00:00:00 2001
From: root <root@ljsromley.bj.intel.com>
Date: Fri, 1 Jun 2012 03:56:25 +0800
Subject: [PATCH 2/2] initcall sequence adjust for 3 funcs

there are 3 funcs need to be _initcalled in a logic sequence:
1. xen_late_init_mcelog
2. mcheck_init_device
3. threshold_init_device

xen_late_init_mcelog need register xen_mce_chrdev_device before
native mce_chrdev_device registeration if running under xen platform;

mcheck_init_device should be inited before threshold_init_device to
initialize mce_device, otherwise a NULL pointer would occur and panic.

so we use following _initcalls
1. device_initcall(xen_late_init_mcelog);
2. device_initcall_sync(mcheck_init_device);
3. late_initcall(threshold_init_device);

when running under xen platform, 1,2,3 would take effect;
when running under baremetal, 2,3 would take effect;

Reported-by: Borislav Petkov <bp@amd64.org>
Suggested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/kernel/cpu/mcheck/mce_amd.c |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mch=
eck/mce_amd.c
index f4873a6..6647858 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
@@ -777,4 +777,24 @@ static __init int threshold_init_device(void)
=20
 	return 0;
 }
-device_initcall(threshold_init_device);
+/*
+ * there are 3 funcs need to be _initcalled in a logic sequence:
+ * 1. xen_late_init_mcelog
+ * 2. mcheck_init_device
+ * 3. threshold_init_device
+ *
+ * xen_late_init_mcelog need register xen_mce_chrdev_device before
+ * native mce_chrdev_device registeration if running under xen platform;
+ *
+ * mcheck_init_device should be inited before threshold_init_device to
+ * initialize mce_device, otherwise a NULL pointer would occur and panic.
+ *
+ * so we use following _initcalls
+ * 1. device_initcall(xen_late_init_mcelog);
+ * 2. device_initcall_sync(mcheck_init_device);
+ * 3. late_initcall(threshold_init_device);
+ *
+ * when running under xen platform, 1,2,3 would take effect;
+ * when running under baremetal, 2,3 would take effect;
+ */
+late_initcall(threshold_init_device);
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0002-initcall-sequence-adjust-for-3-funcs.patch"
Content-Description: 0002-initcall-sequence-adjust-for-3-funcs.patch
Content-Disposition: attachment;
	filename="0002-initcall-sequence-adjust-for-3-funcs.patch"; size=2307;
	creation-date="Thu, 31 May 2012 12:54:12 GMT";
	modification-date="Thu, 31 May 2012 20:49:24 GMT"
Content-Transfer-Encoding: base64

RnJvbSBlYjVmZjFiZWY1ZGQzMTE2ZmEyNjI0YjU5NGI4NTNlOTMzNGNjYmNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiByb290IDxyb290QGxqc3JvbWxleS5iai5pbnRlbC5jb20+CkRh
dGU6IEZyaSwgMSBKdW4gMjAxMiAwMzo1NjoyNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBp
bml0Y2FsbCBzZXF1ZW5jZSBhZGp1c3QgZm9yIDMgZnVuY3MKCnRoZXJlIGFyZSAzIGZ1bmNzIG5l
ZWQgdG8gYmUgX2luaXRjYWxsZWQgaW4gYSBsb2dpYyBzZXF1ZW5jZToKMS4geGVuX2xhdGVfaW5p
dF9tY2Vsb2cKMi4gbWNoZWNrX2luaXRfZGV2aWNlCjMuIHRocmVzaG9sZF9pbml0X2RldmljZQoK
eGVuX2xhdGVfaW5pdF9tY2Vsb2cgbmVlZCByZWdpc3RlciB4ZW5fbWNlX2NocmRldl9kZXZpY2Ug
YmVmb3JlCm5hdGl2ZSBtY2VfY2hyZGV2X2RldmljZSByZWdpc3RlcmF0aW9uIGlmIHJ1bm5pbmcg
dW5kZXIgeGVuIHBsYXRmb3JtOwoKbWNoZWNrX2luaXRfZGV2aWNlIHNob3VsZCBiZSBpbml0ZWQg
YmVmb3JlIHRocmVzaG9sZF9pbml0X2RldmljZSB0bwppbml0aWFsaXplIG1jZV9kZXZpY2UsIG90
aGVyd2lzZSBhIE5VTEwgcG9pbnRlciB3b3VsZCBvY2N1ciBhbmQgcGFuaWMuCgpzbyB3ZSB1c2Ug
Zm9sbG93aW5nIF9pbml0Y2FsbHMKMS4gZGV2aWNlX2luaXRjYWxsKHhlbl9sYXRlX2luaXRfbWNl
bG9nKTsKMi4gZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsKMy4gbGF0
ZV9pbml0Y2FsbCh0aHJlc2hvbGRfaW5pdF9kZXZpY2UpOwoKd2hlbiBydW5uaW5nIHVuZGVyIHhl
biBwbGF0Zm9ybSwgMSwyLDMgd291bGQgdGFrZSBlZmZlY3Q7CndoZW4gcnVubmluZyB1bmRlciBi
YXJlbWV0YWwsIDIsMyB3b3VsZCB0YWtlIGVmZmVjdDsKClJlcG9ydGVkLWJ5OiBCb3Jpc2xhdiBQ
ZXRrb3YgPGJwQGFtZDY0Lm9yZz4KU3VnZ2VzdGVkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsg
PGtvbnJhZC53aWxrQG9yYWNsZS5jb20+ClNpZ25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amlu
c29uZy5saXVAaW50ZWwuY29tPgotLS0KIGFyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9h
bWQuYyB8ICAgMjIgKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlcyBjaGFuZ2VkLCAyMSBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5l
bC9jcHUvbWNoZWNrL21jZV9hbWQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9h
bWQuYwppbmRleCBmNDg3M2E2Li42NjQ3ODU4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwv
Y3B1L21jaGVjay9tY2VfYW1kLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNl
X2FtZC5jCkBAIC03NzcsNCArNzc3LDI0IEBAIHN0YXRpYyBfX2luaXQgaW50IHRocmVzaG9sZF9p
bml0X2RldmljZSh2b2lkKQogCiAJcmV0dXJuIDA7CiB9Ci1kZXZpY2VfaW5pdGNhbGwodGhyZXNo
b2xkX2luaXRfZGV2aWNlKTsKKy8qCisgKiB0aGVyZSBhcmUgMyBmdW5jcyBuZWVkIHRvIGJlIF9p
bml0Y2FsbGVkIGluIGEgbG9naWMgc2VxdWVuY2U6CisgKiAxLiB4ZW5fbGF0ZV9pbml0X21jZWxv
ZworICogMi4gbWNoZWNrX2luaXRfZGV2aWNlCisgKiAzLiB0aHJlc2hvbGRfaW5pdF9kZXZpY2UK
KyAqCisgKiB4ZW5fbGF0ZV9pbml0X21jZWxvZyBuZWVkIHJlZ2lzdGVyIHhlbl9tY2VfY2hyZGV2
X2RldmljZSBiZWZvcmUKKyAqIG5hdGl2ZSBtY2VfY2hyZGV2X2RldmljZSByZWdpc3RlcmF0aW9u
IGlmIHJ1bm5pbmcgdW5kZXIgeGVuIHBsYXRmb3JtOworICoKKyAqIG1jaGVja19pbml0X2Rldmlj
ZSBzaG91bGQgYmUgaW5pdGVkIGJlZm9yZSB0aHJlc2hvbGRfaW5pdF9kZXZpY2UgdG8KKyAqIGlu
aXRpYWxpemUgbWNlX2RldmljZSwgb3RoZXJ3aXNlIGEgTlVMTCBwb2ludGVyIHdvdWxkIG9jY3Vy
IGFuZCBwYW5pYy4KKyAqCisgKiBzbyB3ZSB1c2UgZm9sbG93aW5nIF9pbml0Y2FsbHMKKyAqIDEu
IGRldmljZV9pbml0Y2FsbCh4ZW5fbGF0ZV9pbml0X21jZWxvZyk7CisgKiAyLiBkZXZpY2VfaW5p
dGNhbGxfc3luYyhtY2hlY2tfaW5pdF9kZXZpY2UpOworICogMy4gbGF0ZV9pbml0Y2FsbCh0aHJl
c2hvbGRfaW5pdF9kZXZpY2UpOworICoKKyAqIHdoZW4gcnVubmluZyB1bmRlciB4ZW4gcGxhdGZv
cm0sIDEsMiwzIHdvdWxkIHRha2UgZWZmZWN0OworICogd2hlbiBydW5uaW5nIHVuZGVyIGJhcmVt
ZXRhbCwgMiwzIHdvdWxkIHRha2UgZWZmZWN0OworICovCitsYXRlX2luaXRjYWxsKHRocmVzaG9s
ZF9pbml0X2RldmljZSk7Ci0tIAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FEE95SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 13:01:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa505-00073r-64; Thu, 31 May 2012 13:01:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa504-00073l-GF
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:01:12 +0000
Received: from [85.158.139.83:30013] by server-3.bemta-5.messagelabs.com id
	DA/C0-29112-79B67CF4; Thu, 31 May 2012 13:01:11 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338469270!27490451!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18711 invoked from network); 31 May 2012 13:01:11 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-182.messagelabs.com with SMTP;
	31 May 2012 13:01:11 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 06:01:09 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149924987"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 31 May 2012 06:01:02 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 06:01:00 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 21:00:58 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPy1r2PYyBpFJIkSi2OAovIP0Yg==
Date: Thu, 31 May 2012 13:00:58 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FEEAF@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
	<20120530152948.GD4771@aftab.osrc.amd.com>
In-Reply-To: <20120530152948.GD4771@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Wed, May 30, 2012 at 03:20:03PM +0000, Liu, Jinsong wrote:
>>>> IMO currently there are 2 options:
>>>> 1). use the original approach (implicitly redirect /dev/mcelog to
>>>> xen_mce_chrdev_device) --> what point of this approach do you think
>>>> unreasonable? It just remove a 'static' from native mce code! 2).
>>>> use another /dev/xen-mcelog interface, with another misc minor
>>>> '226' 
>>> 
>>> The 2) is no good.
>>> 
>>> 3) What about moving the corresponding other users (so
>>> threshold_init_device), to be at late_initcall and the mce to be at
>>> late_initcall_sync
>> 
>> I can try, but only if Boris would not jump out.
>> and it can only be tested by Boris at AMD platform :(
> 
> Sure, I'll test it.
> 

Boris,

I have update patches, and they have been tested under baremetal (Intel platform) and xen platform.
So you can test it at AMD platform, and thanks ahead!

Regards,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:01:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa505-00073r-64; Thu, 31 May 2012 13:01:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa504-00073l-GF
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:01:12 +0000
Received: from [85.158.139.83:30013] by server-3.bemta-5.messagelabs.com id
	DA/C0-29112-79B67CF4; Thu, 31 May 2012 13:01:11 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338469270!27490451!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18711 invoked from network); 31 May 2012 13:01:11 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-6.tower-182.messagelabs.com with SMTP;
	31 May 2012 13:01:11 -0000
Received: from azsmga001.ch.intel.com ([10.2.17.19])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 06:01:09 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="149924987"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by azsmga001.ch.intel.com with ESMTP; 31 May 2012 06:01:02 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 06:01:00 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX151.ccr.corp.intel.com ([169.254.3.90]) with mapi id
	14.01.0355.002; Thu, 31 May 2012 21:00:58 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Borislav Petkov <bp@amd64.org>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (RFC)
Thread-Index: AQHNPy1r2PYyBpFJIkSi2OAovIP0Yg==
Date: Thu, 31 May 2012 13:00:58 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FEEAF@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351ED712@SHSMSX101.ccr.corp.intel.com>
	<20120524184947.GA28338@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0C4E@SHSMSX101.ccr.corp.intel.com>
	<20120525180102.GA27280@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351F0D53@SHSMSX101.ccr.corp.intel.com>
	<DE8DF0795D48FD4CA783C40EC82923351F44F3@SHSMSX101.ccr.corp.intel.com>
	<20120529133858.GD29157@aftab.osrc.amd.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC452@SHSMSX101.ccr.corp.intel.com>
	<20120530150827.GA12109@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FC523@SHSMSX101.ccr.corp.intel.com>
	<20120530152948.GD4771@aftab.osrc.amd.com>
In-Reply-To: <20120530152948.GD4771@aftab.osrc.amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen
	platform (RFC)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Borislav Petkov wrote:
> On Wed, May 30, 2012 at 03:20:03PM +0000, Liu, Jinsong wrote:
>>>> IMO currently there are 2 options:
>>>> 1). use the original approach (implicitly redirect /dev/mcelog to
>>>> xen_mce_chrdev_device) --> what point of this approach do you think
>>>> unreasonable? It just remove a 'static' from native mce code! 2).
>>>> use another /dev/xen-mcelog interface, with another misc minor
>>>> '226' 
>>> 
>>> The 2) is no good.
>>> 
>>> 3) What about moving the corresponding other users (so
>>> threshold_init_device), to be at late_initcall and the mce to be at
>>> late_initcall_sync
>> 
>> I can try, but only if Boris would not jump out.
>> and it can only be tested by Boris at AMD platform :(
> 
> Sure, I'll test it.
> 

Boris,

I have update patches, and they have been tested under baremetal (Intel platform) and xen platform.
So you can test it at AMD platform, and thanks ahead!

Regards,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:04:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:04:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa536-0007JP-Oz; Thu, 31 May 2012 13:04:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa535-0007JF-O0
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:04:19 +0000
Received: from [85.158.143.35:9375] by server-1.bemta-4.messagelabs.com id
	55/7A-27869-35C67CF4; Thu, 31 May 2012 13:04:19 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338469457!16926384!1
X-Originating-IP: [209.85.215.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12639 invoked from network); 31 May 2012 13:04:18 -0000
Received: from mail-lpp01m010-f43.google.com (HELO
	mail-lpp01m010-f43.google.com) (209.85.215.43)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:04:18 -0000
Received: by lahg1 with SMTP id g1so831964lah.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 06:04:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=dKiYOo+J/d/QCl3iIVrTWb0CDZtnpwkEVFHIkyW0cJw=;
	b=p7OY6GLhReF6aWLOirnTNevDHf9UTTBo8GgGUoA+DOrE2xBKMv9P69oevSB4zXxdDw
	FMZ7DG5w9c954lGtYs5QhHnrhXw5hE5Bky2DXq+UTjuFzg8+3hhwpvzw/XABfvPb4ict
	vd/4Go6LgHuVY6ucTkpk0eiGD/+v3EzW7F3HAK6IVN5Hv+xIQ0ZoBGmiiNCYH3l1Y/6+
	gX+e3SGfqfOKpdTNIl8mwhLLEBcKW4vFfnh/qKPSZttSdtwbkpgseNFqW4zS1sH6rzYY
	FBbzogY7m1E47W1oGenip8TWYXyboGPYu0E9xQDQhIoY3adHaR8p9kj8ZXCaBq3zg7J3
	7DRg==
MIME-Version: 1.0
Received: by 10.152.103.11 with SMTP id fs11mr2297806lab.23.1338469111500;
	Thu, 31 May 2012 05:58:31 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 05:58:31 -0700 (PDT)
In-Reply-To: <20421.61199.525262.572856@mariner.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 08:58:31 -0400
X-Google-Sender-Auth: 8drwGFQJ3wmEQ5pK7FeI4Otlzq0
Message-ID: <CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I think something is wrong with this...

a distclean now causes the following build failure:


xen-4.2/tools/libxl$ make distclean
rm -f -f _*.h *.o *.so* *.a xl testidl .*.d
rm -f -f _*.c *.pyc _paths.*.tmp
rm -f -f testidl.c.new testidl.c

xen-4.2/tools/libxl$ make
perl /data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include/xen-external/bsd-sys-queue-h-seddery
/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include/xen-external/bsd-sys-queue.h
--prefix=libxl >_libxl_list.h.new
if ! cmp -s _libxl_list.h.new _libxl_list.h; then mv -f
_libxl_list.h.new _libxl_list.h; else rm -f _libxl_list.h.new; fi
python gentypes.py libxl_types.idl __libxl_types.h
__libxl_types_json.h __libxl_types.c
Parsing libxl_types.idl
outputting libxl type definitions to __libxl_types.h
outputting libxl JSON definitions to __libxl_types_json.h
outputting libxl type implementations to __libxl_types.c
if ! cmp -s __libxl_types.h _libxl_types.h; then mv -f __libxl_types.h
_libxl_types.h; else rm -f __libxl_types.h; fi
if ! cmp -s __libxl_types_json.h _libxl_types_json.h; then mv -f
__libxl_types_json.h _libxl_types_json.h; else rm -f
__libxl_types_json.h; fi
if ! cmp -s __libxl_types.c _libxl_types.c; then mv -f __libxl_types.c
_libxl_types.c; else rm -f __libxl_types.c; fi
gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable   -D__XEN_TOOLS__ -MMD -MF .xl.o.d
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
-Werror -Wno-format-zero-length -Wmissing-declarations
-Wno-declaration-after-statement -Wformat-nonliteral -I. -fPIC
-pthread -I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/libxc
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include
 -I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/libxl
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/libxc
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include
-include /data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/config.h
  -c -o xl.o xl.c
In file included from xl.c:33:0:
xl.h:20:20: fatal error: _paths.h: No such file or directory
compilation terminated.
make: *** [xl.o] Error 1


On Wed, May 30, 2012 at 5:57 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL"):
>> xl: xl.h depends on geenrated file _paths.h
>
> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:04:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:04:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa536-0007JP-Oz; Thu, 31 May 2012 13:04:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa535-0007JF-O0
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:04:19 +0000
Received: from [85.158.143.35:9375] by server-1.bemta-4.messagelabs.com id
	55/7A-27869-35C67CF4; Thu, 31 May 2012 13:04:19 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338469457!16926384!1
X-Originating-IP: [209.85.215.43]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12639 invoked from network); 31 May 2012 13:04:18 -0000
Received: from mail-lpp01m010-f43.google.com (HELO
	mail-lpp01m010-f43.google.com) (209.85.215.43)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:04:18 -0000
Received: by lahg1 with SMTP id g1so831964lah.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 06:04:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=dKiYOo+J/d/QCl3iIVrTWb0CDZtnpwkEVFHIkyW0cJw=;
	b=p7OY6GLhReF6aWLOirnTNevDHf9UTTBo8GgGUoA+DOrE2xBKMv9P69oevSB4zXxdDw
	FMZ7DG5w9c954lGtYs5QhHnrhXw5hE5Bky2DXq+UTjuFzg8+3hhwpvzw/XABfvPb4ict
	vd/4Go6LgHuVY6ucTkpk0eiGD/+v3EzW7F3HAK6IVN5Hv+xIQ0ZoBGmiiNCYH3l1Y/6+
	gX+e3SGfqfOKpdTNIl8mwhLLEBcKW4vFfnh/qKPSZttSdtwbkpgseNFqW4zS1sH6rzYY
	FBbzogY7m1E47W1oGenip8TWYXyboGPYu0E9xQDQhIoY3adHaR8p9kj8ZXCaBq3zg7J3
	7DRg==
MIME-Version: 1.0
Received: by 10.152.103.11 with SMTP id fs11mr2297806lab.23.1338469111500;
	Thu, 31 May 2012 05:58:31 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 05:58:31 -0700 (PDT)
In-Reply-To: <20421.61199.525262.572856@mariner.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 08:58:31 -0400
X-Google-Sender-Auth: 8drwGFQJ3wmEQ5pK7FeI4Otlzq0
Message-ID: <CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

I think something is wrong with this...

a distclean now causes the following build failure:


xen-4.2/tools/libxl$ make distclean
rm -f -f _*.h *.o *.so* *.a xl testidl .*.d
rm -f -f _*.c *.pyc _paths.*.tmp
rm -f -f testidl.c.new testidl.c

xen-4.2/tools/libxl$ make
perl /data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include/xen-external/bsd-sys-queue-h-seddery
/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include/xen-external/bsd-sys-queue.h
--prefix=libxl >_libxl_list.h.new
if ! cmp -s _libxl_list.h.new _libxl_list.h; then mv -f
_libxl_list.h.new _libxl_list.h; else rm -f _libxl_list.h.new; fi
python gentypes.py libxl_types.idl __libxl_types.h
__libxl_types_json.h __libxl_types.c
Parsing libxl_types.idl
outputting libxl type definitions to __libxl_types.h
outputting libxl JSON definitions to __libxl_types_json.h
outputting libxl type implementations to __libxl_types.c
if ! cmp -s __libxl_types.h _libxl_types.h; then mv -f __libxl_types.h
_libxl_types.h; else rm -f __libxl_types.h; fi
if ! cmp -s __libxl_types_json.h _libxl_types_json.h; then mv -f
__libxl_types_json.h _libxl_types_json.h; else rm -f
__libxl_types_json.h; fi
if ! cmp -s __libxl_types.c _libxl_types.c; then mv -f __libxl_types.c
_libxl_types.c; else rm -f __libxl_types.c; fi
gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable   -D__XEN_TOOLS__ -MMD -MF .xl.o.d
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
-Werror -Wno-format-zero-length -Wmissing-declarations
-Wno-declaration-after-statement -Wformat-nonliteral -I. -fPIC
-pthread -I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/libxc
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include
 -I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/libxl
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/libxc
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include
-I/data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/include
-include /data/home/bguthro/dev/orc-precise.git/orc-xen/xen-4.2/tools/libxl/../../tools/config.h
  -c -o xl.o xl.c
In file included from xl.c:33:0:
xl.h:20:20: fatal error: _paths.h: No such file or directory
compilation terminated.
make: *** [xl.o] Error 1


On Wed, May 30, 2012 at 5:57 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL"):
>> xl: xl.h depends on geenrated file _paths.h
>
> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:05:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa53i-0007O8-6f; Thu, 31 May 2012 13:04:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa53g-0007Nq-DX
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:04:56 +0000
Received: from [85.158.143.99:56095] by server-3.bemta-4.messagelabs.com id
	3B/B9-04252-77C67CF4; Thu, 31 May 2012 13:04:55 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338469494!30395252!1
X-Originating-IP: [209.85.217.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16811 invoked from network); 31 May 2012 13:04:55 -0000
Received: from mail-lb0-f171.google.com (HELO mail-lb0-f171.google.com)
	(209.85.217.171)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:04:55 -0000
Received: by lbom4 with SMTP id m4so1006687lbo.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 06:04:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=miQAN9V2NSKYNNlUau0Ob4BCkbAyAcqv5IQFXx3EKX8=;
	b=XGNBJ1f0vKuEMZMq0AYSDGGw9U26fA6DoBQnvQ6TSnCbC6/mTJLBjBuUSKCoVtq9bx
	T64qMlW/pjwThDVyi5L9bTteRIzU261IpeteRwYgsg+A3/WvO0QyC/VzO3porbGuS5Zo
	onBQiUSK66GsjPxVA0IB9FQe0PM938qNDS1VZnRmTbk6NoPs83EvPo7YNTQDDS3UKARs
	PjfFBxervIt7Jq+o3C4hlcE2uHrMgymQhNbaylExSN+0LsvIXkpVOYqtpHdEWDYz4efd
	Vcf6meMl7pbjyaFSvXXWbgT5gLmSEAC7EDK31j+bFtOcjd8ZzHoDXFDdL68br8iKo0KQ
	GVEA==
MIME-Version: 1.0
Received: by 10.152.104.47 with SMTP id gb15mr2140306lab.45.1338469494625;
	Thu, 31 May 2012 06:04:54 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 06:04:54 -0700 (PDT)
In-Reply-To: <CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
Date: Thu, 31 May 2012 09:04:54 -0400
X-Google-Sender-Auth: lNXd8jsnaw5amQ4IlrgP8KVtTfY
Message-ID: <CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix build error, after distclean

Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com>

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 8f78c05..bd2cf9d 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -122,7 +122,7 @@ libxl_internal.h: _libxl_types_internal.h _paths.h
 libxl_internal_json.h: _libxl_types_internal_json.h
 xl.h: _paths.h

-$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
+$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h xl.h
 $(LIBXL_OBJS): libxl_internal.h

 _libxl_type%.h _libxl_type%_json.h _libxl_type%.c: libxl_type%.idl
gentypes.py idl.py

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:05:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa53i-0007O8-6f; Thu, 31 May 2012 13:04:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa53g-0007Nq-DX
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:04:56 +0000
Received: from [85.158.143.99:56095] by server-3.bemta-4.messagelabs.com id
	3B/B9-04252-77C67CF4; Thu, 31 May 2012 13:04:55 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338469494!30395252!1
X-Originating-IP: [209.85.217.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16811 invoked from network); 31 May 2012 13:04:55 -0000
Received: from mail-lb0-f171.google.com (HELO mail-lb0-f171.google.com)
	(209.85.217.171)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:04:55 -0000
Received: by lbom4 with SMTP id m4so1006687lbo.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 06:04:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=miQAN9V2NSKYNNlUau0Ob4BCkbAyAcqv5IQFXx3EKX8=;
	b=XGNBJ1f0vKuEMZMq0AYSDGGw9U26fA6DoBQnvQ6TSnCbC6/mTJLBjBuUSKCoVtq9bx
	T64qMlW/pjwThDVyi5L9bTteRIzU261IpeteRwYgsg+A3/WvO0QyC/VzO3porbGuS5Zo
	onBQiUSK66GsjPxVA0IB9FQe0PM938qNDS1VZnRmTbk6NoPs83EvPo7YNTQDDS3UKARs
	PjfFBxervIt7Jq+o3C4hlcE2uHrMgymQhNbaylExSN+0LsvIXkpVOYqtpHdEWDYz4efd
	Vcf6meMl7pbjyaFSvXXWbgT5gLmSEAC7EDK31j+bFtOcjd8ZzHoDXFDdL68br8iKo0KQ
	GVEA==
MIME-Version: 1.0
Received: by 10.152.104.47 with SMTP id gb15mr2140306lab.45.1338469494625;
	Thu, 31 May 2012 06:04:54 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 06:04:54 -0700 (PDT)
In-Reply-To: <CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
Date: Thu, 31 May 2012 09:04:54 -0400
X-Google-Sender-Auth: lNXd8jsnaw5amQ4IlrgP8KVtTfY
Message-ID: <CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Fix build error, after distclean

Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com>

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 8f78c05..bd2cf9d 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -122,7 +122,7 @@ libxl_internal.h: _libxl_types_internal.h _paths.h
 libxl_internal_json.h: _libxl_types_internal_json.h
 xl.h: _paths.h

-$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
+$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h xl.h
 $(LIBXL_OBJS): libxl_internal.h

 _libxl_type%.h _libxl_type%_json.h _libxl_type%.c: libxl_type%.idl
gentypes.py idl.py

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:12:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:12:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5B6-0007mR-4L; Thu, 31 May 2012 13:12:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhigang.x.wang@oracle.com>) id 1Sa5B3-0007mM-Tq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:12:34 +0000
Received: from [85.158.138.51:34240] by server-7.bemta-3.messagelabs.com id
	55/8D-22601-04E67CF4; Thu, 31 May 2012 13:12:32 +0000
X-Env-Sender: zhigang.x.wang@oracle.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338469950!23783816!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18567 invoked from network); 31 May 2012 13:12:32 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 13:12:32 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VDCRCo026406
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 13:12:27 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VDCQle016041
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 13:12:26 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VDCQq9016066; Thu, 31 May 2012 08:12:26 -0500
Received: from zhigang.us.oracle.com (/10.149.236.110)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 06:12:26 -0700
Message-ID: <4FC76ED8.1040800@oracle.com>
Date: Thu, 31 May 2012 09:15:04 -0400
From: Zhigang Wang <zhigang.x.wang@oracle.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4F7EE57D.4020207@oracle.com>
	<4F7F57A502000078000821B6@nat28.tlf.novell.com>
	<4F7F4B82.6040007@oracle.com>
	<1333784346.12209.108.camel@dagon.hellion.org.uk>
In-Reply-To: <1333784346.12209.108.camel@dagon.hellion.org.uk>
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Dan Magenheimer <dan.magenheimer@oracle.com>,
	Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] strange cpu number from xm info
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/07/2012 03:39 AM, Ian Campbell wrote:
> On Fri, 2012-04-06 at 21:01 +0100, Zhigang Wang wrote:
>> On 04/06/2012 03:52 PM, Jan Beulich wrote:
>>>>>> Zhigang Wang <zhigang.x.wang@oracle.com> 04/06/12 2:45 PM >>>
>>>> nr_cpus                : 8
>>>> nr_nodes               : 1
>>>> cores_per_socket       : 4
>>>> threads_per_core       : 1
>>>>
>>>> I thought nr_cpus = nr_nodes * cores_per_socket * threads_per_core
>>> nr_cpus = nr_nodes * sockets_per_node * cores_per_socket * threads_per_core
>> It seems on xm/xl info we don't show how many sockets_per_node. Can we do that
>> in the future?
> We can and should. Are you able to send a patch for xl at least?
>
>
Here is another case:

    # xm info
    ...
    nr_cpus                : 48
    nr_nodes               : 8
    cores_per_socket       : 12
    threads_per_core       : 1

This HP BL685 G7 (4 socket x 12 cores).

Actually sockets_per_node = 0.5. Xen calculates it correctly.

Should we should s 0.5 for sockets_per_node? Or just ignore sockets_per_node?

Thanks,

Zhigang





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:12:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:12:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5B6-0007mR-4L; Thu, 31 May 2012 13:12:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhigang.x.wang@oracle.com>) id 1Sa5B3-0007mM-Tq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:12:34 +0000
Received: from [85.158.138.51:34240] by server-7.bemta-3.messagelabs.com id
	55/8D-22601-04E67CF4; Thu, 31 May 2012 13:12:32 +0000
X-Env-Sender: zhigang.x.wang@oracle.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338469950!23783816!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18567 invoked from network); 31 May 2012 13:12:32 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 13:12:32 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VDCRCo026406
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 13:12:27 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VDCQle016041
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 13:12:26 GMT
Received: from abhmt102.oracle.com (abhmt102.oracle.com [141.146.116.54])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VDCQq9016066; Thu, 31 May 2012 08:12:26 -0500
Received: from zhigang.us.oracle.com (/10.149.236.110)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 06:12:26 -0700
Message-ID: <4FC76ED8.1040800@oracle.com>
Date: Thu, 31 May 2012 09:15:04 -0400
From: Zhigang Wang <zhigang.x.wang@oracle.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120329 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <Ian.Campbell@citrix.com>
References: <4F7EE57D.4020207@oracle.com>
	<4F7F57A502000078000821B6@nat28.tlf.novell.com>
	<4F7F4B82.6040007@oracle.com>
	<1333784346.12209.108.camel@dagon.hellion.org.uk>
In-Reply-To: <1333784346.12209.108.camel@dagon.hellion.org.uk>
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Dan Magenheimer <dan.magenheimer@oracle.com>,
	Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] strange cpu number from xm info
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 04/07/2012 03:39 AM, Ian Campbell wrote:
> On Fri, 2012-04-06 at 21:01 +0100, Zhigang Wang wrote:
>> On 04/06/2012 03:52 PM, Jan Beulich wrote:
>>>>>> Zhigang Wang <zhigang.x.wang@oracle.com> 04/06/12 2:45 PM >>>
>>>> nr_cpus                : 8
>>>> nr_nodes               : 1
>>>> cores_per_socket       : 4
>>>> threads_per_core       : 1
>>>>
>>>> I thought nr_cpus = nr_nodes * cores_per_socket * threads_per_core
>>> nr_cpus = nr_nodes * sockets_per_node * cores_per_socket * threads_per_core
>> It seems on xm/xl info we don't show how many sockets_per_node. Can we do that
>> in the future?
> We can and should. Are you able to send a patch for xl at least?
>
>
Here is another case:

    # xm info
    ...
    nr_cpus                : 48
    nr_nodes               : 8
    cores_per_socket       : 12
    threads_per_core       : 1

This HP BL685 G7 (4 socket x 12 cores).

Actually sockets_per_node = 0.5. Xen calculates it correctly.

Should we should s 0.5 for sockets_per_node? Or just ignore sockets_per_node?

Thanks,

Zhigang





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:21:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:21:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5JZ-0007wz-6w; Thu, 31 May 2012 13:21:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5JX-0007wt-HD
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:21:19 +0000
Received: from [85.158.139.83:63562] by server-1.bemta-5.messagelabs.com id
	5D/65-21549-E4077CF4; Thu, 31 May 2012 13:21:18 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338470476!29853699!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26746 invoked from network); 31 May 2012 13:21:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:21:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197036050"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:21:15 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:21:15 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5JT-0004qy-6u;
	Thu, 31 May 2012 14:21:15 +0100
Message-ID: <4FC76FE7.5070003@eu.citrix.com>
Date: Thu, 31 May 2012 14:19:35 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
In-Reply-To: <980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 5 V2] libxl: add internal function to
 get a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:56, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299619 -3600
> # Node ID 980a25d6ad12ba0f10fa616255b9382cc14ce69e
> # Parent  12537c670e9ea9e7f73747e203ca318107b82cd9
> libxl: add internal function to get a domain's scheduler.
>
> This takes into account cpupools.
>
> Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool
> t use this. While there fix the leaks due to not disposing the partial list on
> realloc failure in that function.
>
> Fix the failure of sched_domain_output to free the poolinfo list.
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

As an aside, I would prefer that the clean-up happen in separate 
patches; having a single patch do several orthogonal things makes it 
hard for me to tell what goes with what, both for review, and in case 
someone in the future needs to do archaeology and figure out what's 
going on.  Not really worth a respin just for that, though.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
> ---
> v2: add libxl_cpupoolinfo_list_free, use it in libxl_cpupool_list error path.
>      Also use it in libxl_cpupool_cpuremove_node (which fixes a leak) and in
>      libxl_name_to_cpupoolid, sched_domain_output and main_cpupoollist (which
>      also fixes a leak).
>
>      Also in libxl_cpupool_cpuremove_node use libxl_cputopology_list_free
>      instead of open coding
>
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl.c	Tue May 29 14:53:39 2012 +0100
> @@ -552,41 +552,70 @@ int libxl_domain_info(libxl_ctx *ctx, li
>       return 0;
>   }
>
> +static int cpupool_info(libxl__gc *gc,
> +                        libxl_cpupoolinfo *info,
> +                        uint32_t poolid,
> +                        bool exact /* exactly poolid or>= poolid */)
> +{
> +    xc_cpupoolinfo_t *xcinfo;
> +    int rc = ERROR_FAIL;
> +
> +    xcinfo = xc_cpupool_getinfo(CTX->xch, poolid);
> +    if (xcinfo == NULL)
> +        return ERROR_FAIL;
> +
> +    if (exact&&  xcinfo->cpupool_id != poolid)
> +        goto out;
> +
> +    info->poolid = xcinfo->cpupool_id;
> +    info->sched = xcinfo->sched_id;
> +    info->n_dom = xcinfo->n_dom;
> +    if (libxl_cpumap_alloc(CTX,&info->cpumap))
> +        goto out;
> +    memcpy(info->cpumap.map, xcinfo->cpumap, info->cpumap.size);
> +
> +    rc = 0;
> +out:
> +    xc_cpupool_infofree(CTX->xch, xcinfo);
> +    return rc;
> +}
> +
> +int libxl_cpupool_info(libxl_ctx *ctx,
> +                       libxl_cpupoolinfo *info, uint32_t poolid)
> +{
> +    GC_INIT(ctx);
> +    int rc = cpupool_info(gc, info, poolid, true);
> +    GC_FREE;
> +    return rc;
> +}
> +
>   libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool)
>   {
> -    libxl_cpupoolinfo *ptr, *tmp;
> +    GC_INIT(ctx);
> +    libxl_cpupoolinfo info, *ptr, *tmp;
>       int i;
> -    xc_cpupoolinfo_t *info;
>       uint32_t poolid;
>
>       ptr = NULL;
>
>       poolid = 0;
>       for (i = 0;; i++) {
> -        info = xc_cpupool_getinfo(ctx->xch, poolid);
> -        if (info == NULL)
> +        if (cpupool_info(gc,&info, poolid, false))
>               break;
>           tmp = realloc(ptr, (i + 1) * sizeof(libxl_cpupoolinfo));
>           if (!tmp) {
>               LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
> -            free(ptr);
> -            xc_cpupool_infofree(ctx->xch, info);
> -            return NULL;
> +            libxl_cpupoolinfo_list_free(ptr, i);
> +            goto out;
>           }
>           ptr = tmp;
> -        ptr[i].poolid = info->cpupool_id;
> -        ptr[i].sched = info->sched_id;
> -        ptr[i].n_dom = info->n_dom;
> -        if (libxl_cpumap_alloc(ctx,&ptr[i].cpumap)) {
> -            xc_cpupool_infofree(ctx->xch, info);
> -            break;
> -        }
> -        memcpy(ptr[i].cpumap.map, info->cpumap, ptr[i].cpumap.size);
> -        poolid = info->cpupool_id + 1;
> -        xc_cpupool_infofree(ctx->xch, info);
> +        ptr[i] = info;
> +        poolid = info.poolid + 1;
>       }
>
>       *nb_pool = i;
> +out:
> +    GC_FREE;
>       return ptr;
>   }
>
> @@ -3932,14 +3961,10 @@ int libxl_cpupool_cpuremove_node(libxl_c
>           }
>       }
>
> -    for (cpu = 0; cpu<  nr_cpus; cpu++)
> -        libxl_cputopology_dispose(&topology[cpu]);
> -    free(topology);
> +    libxl_cputopology_list_free(topology, nr_cpus);
>
>   out:
> -    for (p = 0; p<  n_pools; p++) {
> -        libxl_cpupoolinfo_dispose(poolinfo + p);
> -    }
> +    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
>
>       return ret;
>   }
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl.h	Tue May 29 14:53:39 2012 +0100
> @@ -576,6 +576,7 @@ int libxl_domain_info(libxl_ctx*, libxl_
>   libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain);
>   void libxl_dominfo_list_free(libxl_dominfo *list, int nr);
>   libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool);
> +void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr);
>   libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm);
>   void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
>
> @@ -829,6 +830,7 @@ int libxl_cpupool_cpuadd_node(libxl_ctx
>   int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);
>   int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
>   int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);
> +int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);
>
>   int libxl_domid_valid_guest(uint32_t domid);
>
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
> @@ -93,6 +93,41 @@ int libxl__domain_shutdown_reason(libxl_
>       return (info.flags>>  XEN_DOMINF_shutdownshift)&  XEN_DOMINF_shutdownmask;
>   }
>
> +int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid)
> +{
> +    xc_domaininfo_t info;
> +    int ret;
> +
> +    ret = xc_domain_getinfolist(CTX->xch, domid, 1,&info);
> +    if (ret != 1)
> +        return ERROR_FAIL;
> +    if (info.domain != domid)
> +        return ERROR_FAIL;
> +
> +    return info.cpupool;
> +}
> +
> +libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid)
> +{
> +    uint32_t cpupool = libxl__domain_cpupool(gc, domid);
> +    libxl_cpupoolinfo poolinfo;
> +    libxl_scheduler sched = LIBXL_SCHEDULER_UNKNOWN;
> +    int rc;
> +
> +    if (cpupool<  0)
> +        return sched;
> +
> +    rc = libxl_cpupool_info(CTX,&poolinfo, cpupool);
> +    if (rc<  0)
> +        goto out;
> +
> +    sched = poolinfo.sched;
> +
> +out:
> +    libxl_cpupoolinfo_dispose(&poolinfo);
> +    return sched;
> +}
> +
>   int libxl__build_pre(libxl__gc *gc, uint32_t domid,
>                 libxl_domain_build_info *info, libxl__domain_build_state *state)
>   {
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_internal.h
> --- a/tools/libxl/libxl_internal.h	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
> @@ -738,6 +738,8 @@ _hidden int libxl__file_reference_unmap(
>   /* from xl_dom */
>   _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
>   _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
> +_hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
> +_hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
>   _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
>   #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
>       libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
> @@ -107,7 +107,9 @@ libxl_bios_type = Enumeration("bios_type
>       ])
>
>   # Consistent with values defined in domctl.h
> +# Except unknown which we have made up
>   libxl_scheduler = Enumeration("scheduler", [
> +    (0, "unknown"),
>       (4, "sedf"),
>       (5, "credit"),
>       (6, "credit2"),
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_utils.c	Tue May 29 14:53:39 2012 +0100
> @@ -133,9 +133,8 @@ int libxl_name_to_cpupoolid(libxl_ctx *c
>               }
>               free(poolname);
>           }
> -        libxl_cpupoolinfo_dispose(poolinfo + i);
>       }
> -    free(poolinfo);
> +    libxl_cpupoolinfo_list_free(poolinfo, nb_pools);
>       return ret;
>   }
>
> @@ -686,6 +685,14 @@ void libxl_vminfo_list_free(libxl_vminfo
>       free(list);
>   }
>
> +void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr)
> +{
> +    int i;
> +    for (i = 0; i<  nr; i++)
> +        libxl_cpupoolinfo_dispose(&list[i]);
> +    free(list);
> +}
> +
>   int libxl_domid_valid_guest(uint32_t domid)
>   {
>       /* returns 1 if the value _could_ be a valid guest domid, 0 otherwise
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
> @@ -4608,11 +4608,8 @@ static int sched_domain_output(libxl_sch
>                   break;
>           }
>       }
> -    if (poolinfo) {
> -        for (p = 0; p<  n_pools; p++) {
> -            libxl_cpupoolinfo_dispose(poolinfo + p);
> -        }
> -    }
> +    if (poolinfo)
> +        libxl_cpupoolinfo_list_free(poolinfo, n_pools);
>       return 0;
>   }
>
> @@ -6119,8 +6116,9 @@ int main_cpupoollist(int argc, char **ar
>                   printf("\n");
>               }
>           }
> -        libxl_cpupoolinfo_dispose(poolinfo + p);
> -    }
> +    }
> +
> +    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
>
>       return ret;
>   }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:21:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:21:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5JZ-0007wz-6w; Thu, 31 May 2012 13:21:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5JX-0007wt-HD
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:21:19 +0000
Received: from [85.158.139.83:63562] by server-1.bemta-5.messagelabs.com id
	5D/65-21549-E4077CF4; Thu, 31 May 2012 13:21:18 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338470476!29853699!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26746 invoked from network); 31 May 2012 13:21:17 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:21:17 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197036050"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:21:15 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:21:15 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5JT-0004qy-6u;
	Thu, 31 May 2012 14:21:15 +0100
Message-ID: <4FC76FE7.5070003@eu.citrix.com>
Date: Thu, 31 May 2012 14:19:35 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
In-Reply-To: <980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 5 V2] libxl: add internal function to
 get a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:56, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299619 -3600
> # Node ID 980a25d6ad12ba0f10fa616255b9382cc14ce69e
> # Parent  12537c670e9ea9e7f73747e203ca318107b82cd9
> libxl: add internal function to get a domain's scheduler.
>
> This takes into account cpupools.
>
> Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool
> t use this. While there fix the leaks due to not disposing the partial list on
> realloc failure in that function.
>
> Fix the failure of sched_domain_output to free the poolinfo list.
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

As an aside, I would prefer that the clean-up happen in separate 
patches; having a single patch do several orthogonal things makes it 
hard for me to tell what goes with what, both for review, and in case 
someone in the future needs to do archaeology and figure out what's 
going on.  Not really worth a respin just for that, though.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
> ---
> v2: add libxl_cpupoolinfo_list_free, use it in libxl_cpupool_list error path.
>      Also use it in libxl_cpupool_cpuremove_node (which fixes a leak) and in
>      libxl_name_to_cpupoolid, sched_domain_output and main_cpupoollist (which
>      also fixes a leak).
>
>      Also in libxl_cpupool_cpuremove_node use libxl_cputopology_list_free
>      instead of open coding
>
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl.c	Tue May 29 14:53:39 2012 +0100
> @@ -552,41 +552,70 @@ int libxl_domain_info(libxl_ctx *ctx, li
>       return 0;
>   }
>
> +static int cpupool_info(libxl__gc *gc,
> +                        libxl_cpupoolinfo *info,
> +                        uint32_t poolid,
> +                        bool exact /* exactly poolid or>= poolid */)
> +{
> +    xc_cpupoolinfo_t *xcinfo;
> +    int rc = ERROR_FAIL;
> +
> +    xcinfo = xc_cpupool_getinfo(CTX->xch, poolid);
> +    if (xcinfo == NULL)
> +        return ERROR_FAIL;
> +
> +    if (exact&&  xcinfo->cpupool_id != poolid)
> +        goto out;
> +
> +    info->poolid = xcinfo->cpupool_id;
> +    info->sched = xcinfo->sched_id;
> +    info->n_dom = xcinfo->n_dom;
> +    if (libxl_cpumap_alloc(CTX,&info->cpumap))
> +        goto out;
> +    memcpy(info->cpumap.map, xcinfo->cpumap, info->cpumap.size);
> +
> +    rc = 0;
> +out:
> +    xc_cpupool_infofree(CTX->xch, xcinfo);
> +    return rc;
> +}
> +
> +int libxl_cpupool_info(libxl_ctx *ctx,
> +                       libxl_cpupoolinfo *info, uint32_t poolid)
> +{
> +    GC_INIT(ctx);
> +    int rc = cpupool_info(gc, info, poolid, true);
> +    GC_FREE;
> +    return rc;
> +}
> +
>   libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx *ctx, int *nb_pool)
>   {
> -    libxl_cpupoolinfo *ptr, *tmp;
> +    GC_INIT(ctx);
> +    libxl_cpupoolinfo info, *ptr, *tmp;
>       int i;
> -    xc_cpupoolinfo_t *info;
>       uint32_t poolid;
>
>       ptr = NULL;
>
>       poolid = 0;
>       for (i = 0;; i++) {
> -        info = xc_cpupool_getinfo(ctx->xch, poolid);
> -        if (info == NULL)
> +        if (cpupool_info(gc,&info, poolid, false))
>               break;
>           tmp = realloc(ptr, (i + 1) * sizeof(libxl_cpupoolinfo));
>           if (!tmp) {
>               LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "allocating cpupool info");
> -            free(ptr);
> -            xc_cpupool_infofree(ctx->xch, info);
> -            return NULL;
> +            libxl_cpupoolinfo_list_free(ptr, i);
> +            goto out;
>           }
>           ptr = tmp;
> -        ptr[i].poolid = info->cpupool_id;
> -        ptr[i].sched = info->sched_id;
> -        ptr[i].n_dom = info->n_dom;
> -        if (libxl_cpumap_alloc(ctx,&ptr[i].cpumap)) {
> -            xc_cpupool_infofree(ctx->xch, info);
> -            break;
> -        }
> -        memcpy(ptr[i].cpumap.map, info->cpumap, ptr[i].cpumap.size);
> -        poolid = info->cpupool_id + 1;
> -        xc_cpupool_infofree(ctx->xch, info);
> +        ptr[i] = info;
> +        poolid = info.poolid + 1;
>       }
>
>       *nb_pool = i;
> +out:
> +    GC_FREE;
>       return ptr;
>   }
>
> @@ -3932,14 +3961,10 @@ int libxl_cpupool_cpuremove_node(libxl_c
>           }
>       }
>
> -    for (cpu = 0; cpu<  nr_cpus; cpu++)
> -        libxl_cputopology_dispose(&topology[cpu]);
> -    free(topology);
> +    libxl_cputopology_list_free(topology, nr_cpus);
>
>   out:
> -    for (p = 0; p<  n_pools; p++) {
> -        libxl_cpupoolinfo_dispose(poolinfo + p);
> -    }
> +    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
>
>       return ret;
>   }
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl.h	Tue May 29 14:53:39 2012 +0100
> @@ -576,6 +576,7 @@ int libxl_domain_info(libxl_ctx*, libxl_
>   libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain);
>   void libxl_dominfo_list_free(libxl_dominfo *list, int nr);
>   libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool);
> +void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr);
>   libxl_vminfo * libxl_list_vm(libxl_ctx *ctx, int *nb_vm);
>   void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
>
> @@ -829,6 +830,7 @@ int libxl_cpupool_cpuadd_node(libxl_ctx
>   int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);
>   int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
>   int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);
> +int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);
>
>   int libxl_domid_valid_guest(uint32_t domid);
>
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
> @@ -93,6 +93,41 @@ int libxl__domain_shutdown_reason(libxl_
>       return (info.flags>>  XEN_DOMINF_shutdownshift)&  XEN_DOMINF_shutdownmask;
>   }
>
> +int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid)
> +{
> +    xc_domaininfo_t info;
> +    int ret;
> +
> +    ret = xc_domain_getinfolist(CTX->xch, domid, 1,&info);
> +    if (ret != 1)
> +        return ERROR_FAIL;
> +    if (info.domain != domid)
> +        return ERROR_FAIL;
> +
> +    return info.cpupool;
> +}
> +
> +libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid)
> +{
> +    uint32_t cpupool = libxl__domain_cpupool(gc, domid);
> +    libxl_cpupoolinfo poolinfo;
> +    libxl_scheduler sched = LIBXL_SCHEDULER_UNKNOWN;
> +    int rc;
> +
> +    if (cpupool<  0)
> +        return sched;
> +
> +    rc = libxl_cpupool_info(CTX,&poolinfo, cpupool);
> +    if (rc<  0)
> +        goto out;
> +
> +    sched = poolinfo.sched;
> +
> +out:
> +    libxl_cpupoolinfo_dispose(&poolinfo);
> +    return sched;
> +}
> +
>   int libxl__build_pre(libxl__gc *gc, uint32_t domid,
>                 libxl_domain_build_info *info, libxl__domain_build_state *state)
>   {
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_internal.h
> --- a/tools/libxl/libxl_internal.h	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
> @@ -738,6 +738,8 @@ _hidden int libxl__file_reference_unmap(
>   /* from xl_dom */
>   _hidden libxl_domain_type libxl__domain_type(libxl__gc *gc, uint32_t domid);
>   _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
> +_hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
> +_hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
>   _hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
>   #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
>       libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
> @@ -107,7 +107,9 @@ libxl_bios_type = Enumeration("bios_type
>       ])
>
>   # Consistent with values defined in domctl.h
> +# Except unknown which we have made up
>   libxl_scheduler = Enumeration("scheduler", [
> +    (0, "unknown"),
>       (4, "sedf"),
>       (5, "credit"),
>       (6, "credit2"),
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/libxl_utils.c	Tue May 29 14:53:39 2012 +0100
> @@ -133,9 +133,8 @@ int libxl_name_to_cpupoolid(libxl_ctx *c
>               }
>               free(poolname);
>           }
> -        libxl_cpupoolinfo_dispose(poolinfo + i);
>       }
> -    free(poolinfo);
> +    libxl_cpupoolinfo_list_free(poolinfo, nb_pools);
>       return ret;
>   }
>
> @@ -686,6 +685,14 @@ void libxl_vminfo_list_free(libxl_vminfo
>       free(list);
>   }
>
> +void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr)
> +{
> +    int i;
> +    for (i = 0; i<  nr; i++)
> +        libxl_cpupoolinfo_dispose(&list[i]);
> +    free(list);
> +}
> +
>   int libxl_domid_valid_guest(uint32_t domid)
>   {
>       /* returns 1 if the value _could_ be a valid guest domid, 0 otherwise
> diff -r 12537c670e9e -r 980a25d6ad12 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 29 12:56:57 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
> @@ -4608,11 +4608,8 @@ static int sched_domain_output(libxl_sch
>                   break;
>           }
>       }
> -    if (poolinfo) {
> -        for (p = 0; p<  n_pools; p++) {
> -            libxl_cpupoolinfo_dispose(poolinfo + p);
> -        }
> -    }
> +    if (poolinfo)
> +        libxl_cpupoolinfo_list_free(poolinfo, n_pools);
>       return 0;
>   }
>
> @@ -6119,8 +6116,9 @@ int main_cpupoollist(int argc, char **ar
>                   printf("\n");
>               }
>           }
> -        libxl_cpupoolinfo_dispose(poolinfo + p);
> -    }
> +    }
> +
> +    libxl_cpupoolinfo_list_free(poolinfo, n_pools);
>
>       return ret;
>   }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:23:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:23:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5Lj-000842-4M; Thu, 31 May 2012 13:23:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5Lh-00083r-N4
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:23:33 +0000
Received: from [85.158.143.35:42405] by server-3.bemta-4.messagelabs.com id
	E4/8B-04252-4D077CF4; Thu, 31 May 2012 13:23:32 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338470609!12931432!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22172 invoked from network); 31 May 2012 13:23:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:23:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26356391"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:23:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:23:28 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5Lc-0004um-7a;
	Thu, 31 May 2012 14:23:28 +0100
Message-ID: <4FC7706C.7060400@eu.citrix.com>
Date: Thu, 31 May 2012 14:21:48 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
In-Reply-To: <73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 5 V2] libxl: rename libxl_sched_params
	to libxl_domain_sched_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299709 -3600
> # Node ID 73d8274c0b6859b4528af75a7405e546d659f130
> # Parent  980a25d6ad12ba0f10fa616255b9382cc14ce69e
> libxl: rename libxl_sched_params to libxl_domain_sched_params
>
> Remove credit scheduler global options from the struct, they were never used
> anyway.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
> v2: use libxl_domain_sched_params which fits in better with future changes.
>
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/libxl_dom.c	Tue May 29 14:55:09 2012 +0100
> @@ -42,7 +42,8 @@ libxl_domain_type libxl__domain_type(lib
>           return LIBXL_DOMAIN_TYPE_PV;
>   }
>
> -int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
> +int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> +                            libxl_domain_sched_params *scparams)
>   {
>       libxl_ctx *ctx = libxl__gc_owner(gc);
>       libxl_scheduler sched;
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_internal.h
> --- a/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/libxl_internal.h	Tue May 29 14:55:09 2012 +0100
> @@ -740,7 +740,8 @@ _hidden libxl_domain_type libxl__domain_
>   _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
>   _hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
>   _hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
> -_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
> +_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> +                                    libxl_domain_sched_params *scparams);
>   #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
>       libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
>   typedef struct {
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/libxl_types.idl	Tue May 29 14:55:09 2012 +0100
> @@ -224,11 +224,9 @@ libxl_domain_create_info = Struct("domai
>
>   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>
> -libxl_sched_params = Struct("sched_params",[
> +libxl_domain_sched_params = Struct("domain_sched_params",[
>       ("weight",       integer),
>       ("cap",          integer),
> -    ("tslice_ms",    integer),
> -    ("ratelimit_us", integer),
>       ("period",       integer),
>       ("slice",        integer),
>       ("latency",      integer),
> @@ -262,7 +260,7 @@ libxl_domain_build_info = Struct("domain
>       # extra parameters pass directly to qemu for HVM guest, NULL terminated
>       ("extra_hvm",        libxl_string_list),
>       #  parameters for all type of scheduler
> -    ("sched_params",     libxl_sched_params),
> +    ("sched_params",     libxl_domain_sched_params),
>
>       ("u", KeyedUnion(None, libxl_domain_type, "type",
>                   [("hvm", Struct(None, [("firmware",         string),
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:09 2012 +0100
> @@ -633,10 +633,6 @@ static void parse_config_data(const char
>           b_info->sched_params.weight = l;
>       if (!xlu_cfg_get_long (config, "cap",&l, 0))
>           b_info->sched_params.cap = l;
> -    if (!xlu_cfg_get_long (config, "tslice_ms",&l, 0))
> -        b_info->sched_params.tslice_ms = l;
> -    if (!xlu_cfg_get_long (config, "ratelimit_us",&l, 0))
> -        b_info->sched_params.ratelimit_us = l;
>       if (!xlu_cfg_get_long (config, "period",&l, 0))
>           b_info->sched_params.period = l;
>       if (!xlu_cfg_get_long (config, "slice",&l, 0))


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:23:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:23:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5Lj-000842-4M; Thu, 31 May 2012 13:23:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5Lh-00083r-N4
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:23:33 +0000
Received: from [85.158.143.35:42405] by server-3.bemta-4.messagelabs.com id
	E4/8B-04252-4D077CF4; Thu, 31 May 2012 13:23:32 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338470609!12931432!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22172 invoked from network); 31 May 2012 13:23:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:23:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26356391"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:23:28 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:23:28 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5Lc-0004um-7a;
	Thu, 31 May 2012 14:23:28 +0100
Message-ID: <4FC7706C.7060400@eu.citrix.com>
Date: Thu, 31 May 2012 14:21:48 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
In-Reply-To: <73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 5 V2] libxl: rename libxl_sched_params
	to libxl_domain_sched_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299709 -3600
> # Node ID 73d8274c0b6859b4528af75a7405e546d659f130
> # Parent  980a25d6ad12ba0f10fa616255b9382cc14ce69e
> libxl: rename libxl_sched_params to libxl_domain_sched_params
>
> Remove credit scheduler global options from the struct, they were never used
> anyway.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
> v2: use libxl_domain_sched_params which fits in better with future changes.
>
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/libxl_dom.c	Tue May 29 14:55:09 2012 +0100
> @@ -42,7 +42,8 @@ libxl_domain_type libxl__domain_type(lib
>           return LIBXL_DOMAIN_TYPE_PV;
>   }
>
> -int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams)
> +int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> +                            libxl_domain_sched_params *scparams)
>   {
>       libxl_ctx *ctx = libxl__gc_owner(gc);
>       libxl_scheduler sched;
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_internal.h
> --- a/tools/libxl/libxl_internal.h	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/libxl_internal.h	Tue May 29 14:55:09 2012 +0100
> @@ -740,7 +740,8 @@ _hidden libxl_domain_type libxl__domain_
>   _hidden int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid);
>   _hidden int libxl__domain_cpupool(libxl__gc *gc, uint32_t domid);
>   _hidden libxl_scheduler libxl__domain_scheduler(libxl__gc *gc, uint32_t domid);
> -_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid, libxl_sched_params *scparams);
> +_hidden int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> +                                    libxl_domain_sched_params *scparams);
>   #define LIBXL__DOMAIN_IS_TYPE(gc, domid, type) \
>       libxl__domain_type((gc), (domid)) == LIBXL_DOMAIN_TYPE_##type
>   typedef struct {
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/libxl_types.idl	Tue May 29 14:55:09 2012 +0100
> @@ -224,11 +224,9 @@ libxl_domain_create_info = Struct("domai
>
>   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>
> -libxl_sched_params = Struct("sched_params",[
> +libxl_domain_sched_params = Struct("domain_sched_params",[
>       ("weight",       integer),
>       ("cap",          integer),
> -    ("tslice_ms",    integer),
> -    ("ratelimit_us", integer),
>       ("period",       integer),
>       ("slice",        integer),
>       ("latency",      integer),
> @@ -262,7 +260,7 @@ libxl_domain_build_info = Struct("domain
>       # extra parameters pass directly to qemu for HVM guest, NULL terminated
>       ("extra_hvm",        libxl_string_list),
>       #  parameters for all type of scheduler
> -    ("sched_params",     libxl_sched_params),
> +    ("sched_params",     libxl_domain_sched_params),
>
>       ("u", KeyedUnion(None, libxl_domain_type, "type",
>                   [("hvm", Struct(None, [("firmware",         string),
> diff -r 980a25d6ad12 -r 73d8274c0b68 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Tue May 29 14:53:39 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Tue May 29 14:55:09 2012 +0100
> @@ -633,10 +633,6 @@ static void parse_config_data(const char
>           b_info->sched_params.weight = l;
>       if (!xlu_cfg_get_long (config, "cap",&l, 0))
>           b_info->sched_params.cap = l;
> -    if (!xlu_cfg_get_long (config, "tslice_ms",&l, 0))
> -        b_info->sched_params.tslice_ms = l;
> -    if (!xlu_cfg_get_long (config, "ratelimit_us",&l, 0))
> -        b_info->sched_params.ratelimit_us = l;
>       if (!xlu_cfg_get_long (config, "period",&l, 0))
>           b_info->sched_params.period = l;
>       if (!xlu_cfg_get_long (config, "slice",&l, 0))


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:25:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5NL-0008BC-Jr; Thu, 31 May 2012 13:25:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa5NK-0008B3-7N
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:25:14 +0000
Received: from [85.158.139.83:53651] by server-7.bemta-5.messagelabs.com id
	DD/57-15932-93177CF4; Thu, 31 May 2012 13:25:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338470712!31692930!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23160 invoked from network); 31 May 2012 13:25:12 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 13:25:12 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 14:25:11 +0100
Message-Id: <4FC78D5502000078000875A7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 14:25:09 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <4FC770E20200007800087298@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 13:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Thu, 31 May 2012, Jan Beulich wrote:
>> Legacy (non-pvops) gntdev drivers may require this to be done when the
>> number of grants intended to be used simultaneously exceeds a certain
>> driver specific default limit.
>> 
>> Change in v2: Double the number requested, as we need to account for
>> the allocations needing to happen in contiguous chunks. The worst case
>> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
>> but in order to keep things simple just use 2 * max_req * max_seg.
>> 
>> Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
>> definition.
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> I think it is OK, I'll submit it as a bug fix for QEMU 1.1.

Thanks!

> It should be applied to qemu-xen-traditional too.

And the other one ("qemu/xendisk: properly update stats in
ioreq_release()") probably too.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:25:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5NL-0008BC-Jr; Thu, 31 May 2012 13:25:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa5NK-0008B3-7N
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:25:14 +0000
Received: from [85.158.139.83:53651] by server-7.bemta-5.messagelabs.com id
	DD/57-15932-93177CF4; Thu, 31 May 2012 13:25:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338470712!31692930!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23160 invoked from network); 31 May 2012 13:25:12 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 13:25:12 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 14:25:11 +0100
Message-Id: <4FC78D5502000078000875A7@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 14:25:09 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
References: <4FC770E20200007800087298@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Olaf Hering <olaf@aepfle.de>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 13:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
wrote:
> On Thu, 31 May 2012, Jan Beulich wrote:
>> Legacy (non-pvops) gntdev drivers may require this to be done when the
>> number of grants intended to be used simultaneously exceeds a certain
>> driver specific default limit.
>> 
>> Change in v2: Double the number requested, as we need to account for
>> the allocations needing to happen in contiguous chunks. The worst case
>> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
>> but in order to keep things simple just use 2 * max_req * max_seg.
>> 
>> Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
>> definition.
>> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> I think it is OK, I'll submit it as a bug fix for QEMU 1.1.

Thanks!

> It should be applied to qemu-xen-traditional too.

And the other one ("qemu/xendisk: properly update stats in
ioreq_release()") probably too.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:33:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5V7-0008Uh-Hf; Thu, 31 May 2012 13:33:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa5V5-0008Ub-Tl
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:33:16 +0000
Received: from [85.158.138.51:22755] by server-6.bemta-3.messagelabs.com id
	E6/6D-23455-B1377CF4; Thu, 31 May 2012 13:33:15 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338471194!27275286!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 394 invoked from network); 31 May 2012 13:33:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:33:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12763416"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 13:33:13 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 14:33:13 +0100
Date: Thu, 31 May 2012 14:32:58 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC78D5502000078000875A7@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311432190.26786@kaball-desktop>
References: <4FC770E20200007800087298@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
	<4FC78D5502000078000875A7@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel <xen-devel@lists.xen.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> >>> On 31.05.12 at 13:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > On Thu, 31 May 2012, Jan Beulich wrote:
> >> Legacy (non-pvops) gntdev drivers may require this to be done when the
> >> number of grants intended to be used simultaneously exceeds a certain
> >> driver specific default limit.
> >> 
> >> Change in v2: Double the number requested, as we need to account for
> >> the allocations needing to happen in contiguous chunks. The worst case
> >> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> >> but in order to keep things simple just use 2 * max_req * max_seg.
> >> 
> >> Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
> >> definition.
> >> 
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > I think it is OK, I'll submit it as a bug fix for QEMU 1.1.
> 
> Thanks!
> 
> > It should be applied to qemu-xen-traditional too.
> 
> And the other one ("qemu/xendisk: properly update stats in
> ioreq_release()") probably too.

Right.
That patch is already in upstream QEMU and qemu-xen-upstream but it is
missing in qemu-xen-traditional.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:33:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5V7-0008Uh-Hf; Thu, 31 May 2012 13:33:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa5V5-0008Ub-Tl
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:33:16 +0000
Received: from [85.158.138.51:22755] by server-6.bemta-3.messagelabs.com id
	E6/6D-23455-B1377CF4; Thu, 31 May 2012 13:33:15 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1338471194!27275286!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 394 invoked from network); 31 May 2012 13:33:14 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:33:14 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12763416"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 13:33:13 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 14:33:13 +0100
Date: Thu, 31 May 2012 14:32:58 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Jan Beulich <JBeulich@suse.com>
In-Reply-To: <4FC78D5502000078000875A7@nat28.tlf.novell.com>
Message-ID: <alpine.DEB.2.00.1205311432190.26786@kaball-desktop>
References: <4FC770E20200007800087298@nat28.tlf.novell.com>
	<alpine.DEB.2.00.1205311226060.26786@kaball-desktop>
	<4FC78D5502000078000875A7@nat28.tlf.novell.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Olaf Hering <olaf@aepfle.de>, xen-devel <xen-devel@lists.xen.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH,
 v3] qemu/xendisk: set maximum number of grants to be used
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Jan Beulich wrote:
> >>> On 31.05.12 at 13:27, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > On Thu, 31 May 2012, Jan Beulich wrote:
> >> Legacy (non-pvops) gntdev drivers may require this to be done when the
> >> number of grants intended to be used simultaneously exceeds a certain
> >> driver specific default limit.
> >> 
> >> Change in v2: Double the number requested, as we need to account for
> >> the allocations needing to happen in contiguous chunks. The worst case
> >> number would be max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
> >> but in order to keep things simple just use 2 * max_req * max_seg.
> >> 
> >> Change in v3: introduce MAX_GRANTS(), and add a comment explaining its
> >> definition.
> >> 
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > I think it is OK, I'll submit it as a bug fix for QEMU 1.1.
> 
> Thanks!
> 
> > It should be applied to qemu-xen-traditional too.
> 
> And the other one ("qemu/xendisk: properly update stats in
> ioreq_release()") probably too.

Right.
That patch is already in upstream QEMU and qemu-xen-upstream but it is
missing in qemu-xen-traditional.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:50:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:50:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5l3-0000O0-P0; Thu, 31 May 2012 13:49:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1Sa5l1-0000Ns-Vr
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:49:44 +0000
Received: from [85.158.138.51:29101] by server-10.bemta-3.messagelabs.com id
	C2/DC-12071-7F677CF4; Thu, 31 May 2012 13:49:43 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338472182!23794869!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2812 invoked from network); 31 May 2012 13:49:42 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-14.tower-174.messagelabs.com with SMTP;
	31 May 2012 13:49:42 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 74BF3C0073D;
	Thu, 31 May 2012 15:49:41 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id KXnccZz+PCZE; Thu, 31 May 2012 15:49:41 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 31 May 2012 15:49:41 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 24F2149C58B;
	Thu, 31 May 2012 14:49:41 +0100 (BST)
Date: Thu, 31 May 2012 15:50:09 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531135009.GC14515@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
> From: root <root@ljsromley.bj.intel.com>
> Date: Fri, 1 Jun 2012 03:12:51 +0800
> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
> 
> When MCA error occurs, it would be handled by Xen hypervisor first,
> and then the error information would be sent to initial domain for logging.
> 
> This patch gets error information from Xen hypervisor and convert
> Xen format error into Linux format mcelog. This logic is basically
> self-contained, not touching other kernel components.
> 
> By using tools like mcelog tool users could read specific error information,
> like what they did under native Linux.
> 
> To test follow directions outlined in Documentation/acpi/apei/einj.txt
> 
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> ---
>  arch/x86/include/asm/xen/hypercall.h |    8 +
>  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
>  arch/x86/xen/enlighten.c             |    5 +-
>  drivers/xen/Kconfig                  |    8 +
>  drivers/xen/Makefile                 |    1 +
>  drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++++++
>  include/linux/miscdevice.h           |    1 +
>  include/xen/interface/xen-mca.h      |  385 +++++++++++++++++++++++++++++++++
>  8 files changed, 798 insertions(+), 6 deletions(-)
>  create mode 100644 drivers/xen/mcelog.c
>  create mode 100644 include/xen/interface/xen-mca.h

For the mce bits:

Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:50:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:50:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5l3-0000O0-P0; Thu, 31 May 2012 13:49:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1Sa5l1-0000Ns-Vr
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:49:44 +0000
Received: from [85.158.138.51:29101] by server-10.bemta-3.messagelabs.com id
	C2/DC-12071-7F677CF4; Thu, 31 May 2012 13:49:43 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338472182!23794869!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2812 invoked from network); 31 May 2012 13:49:42 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-14.tower-174.messagelabs.com with SMTP;
	31 May 2012 13:49:42 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id 74BF3C0073D;
	Thu, 31 May 2012 15:49:41 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id KXnccZz+PCZE; Thu, 31 May 2012 15:49:41 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 31 May 2012 15:49:41 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 24F2149C58B;
	Thu, 31 May 2012 14:49:41 +0100 (BST)
Date: Thu, 31 May 2012 15:50:09 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531135009.GC14515@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
> From: root <root@ljsromley.bj.intel.com>
> Date: Fri, 1 Jun 2012 03:12:51 +0800
> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
> 
> When MCA error occurs, it would be handled by Xen hypervisor first,
> and then the error information would be sent to initial domain for logging.
> 
> This patch gets error information from Xen hypervisor and convert
> Xen format error into Linux format mcelog. This logic is basically
> self-contained, not touching other kernel components.
> 
> By using tools like mcelog tool users could read specific error information,
> like what they did under native Linux.
> 
> To test follow directions outlined in Documentation/acpi/apei/einj.txt
> 
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> ---
>  arch/x86/include/asm/xen/hypercall.h |    8 +
>  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
>  arch/x86/xen/enlighten.c             |    5 +-
>  drivers/xen/Kconfig                  |    8 +
>  drivers/xen/Makefile                 |    1 +
>  drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++++++
>  include/linux/miscdevice.h           |    1 +
>  include/xen/interface/xen-mca.h      |  385 +++++++++++++++++++++++++++++++++
>  8 files changed, 798 insertions(+), 6 deletions(-)
>  create mode 100644 drivers/xen/mcelog.c
>  create mode 100644 include/xen/interface/xen-mca.h

For the mce bits:

Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:53:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:53:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5o9-0000al-AW; Thu, 31 May 2012 13:52:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5o7-0000aF-ML
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:52:56 +0000
Received: from [85.158.139.83:59054] by server-8.bemta-5.messagelabs.com id
	A6/CF-25689-6B777CF4; Thu, 31 May 2012 13:52:54 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338472369!27504630!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10057 invoked from network); 31 May 2012 13:52:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:52:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197040713"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:52:52 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5kR-0005iu-Oo;
	Thu, 31 May 2012 14:49:07 +0100
Message-ID: <4FC7766F.1020709@eu.citrix.com>
Date: Thu, 31 May 2012 14:47:27 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
In-Reply-To: <274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299729 -3600
> # Node ID 274de8e1e0d116070d34731d93b53ce44530e5a0
> # Parent  73d8274c0b6859b4528af75a7405e546d659f130
> libxl: make it possible to explicitly specify default sched params
>
> To do so we define a discriminating value which is never a valid real value for
> each parameter.
>
> While there:
>
>   - removed libxl_sched_*_domain in favour of libxl_domain_sched_params.
>   - use this new functionality for the various xl commands which set sched
>     parameters, which saves an explicit read-modify-write in xl.
>   - removed call of xc_domain_getinfolist from a few functions which weren't
>     actually using the result (looks like a cut and paste error)
>   - fix xl which was setting period for a variety of different config keys.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

If you do end up re-spinning this series for some reason, you might just 
mention in this description that you're about to change the public 
interface and get rid of the per-scheduler set and get functions in two 
changesets.
>
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c       Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl.c       Tue May 29 14:55:29 2012 +0100
> @@ -3197,19 +3197,19 @@ libxl_scheduler libxl_get_scheduler(libx
>   }
>
>   int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo)
> +                                  libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       int rc;
>
> -    libxl_sched_credit_domain_init(scinfo);
> -
>       rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
>       if (rc != 0) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
>           return ERROR_FAIL;
>       }
>
> +    libxl_domain_sched_params_init(scinfo);
> +    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
>       scinfo->weight = sdom.weight;
>       scinfo->cap = sdom.cap;
>
> @@ -3217,7 +3217,7 @@ int libxl_sched_credit_domain_get(libxl_
>   }
>
>   int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo)
> +                                  libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       xc_domaininfo_t domaininfo;
> @@ -3231,22 +3231,33 @@ int libxl_sched_credit_domain_set(libxl_
>       if (rc != 1 || domaininfo.domain != domid)
>           return ERROR_INVAL;
>
> -
> -    if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -            "Cpu weight out of range, valid values are within range from 1 to 65535");
> -        return ERROR_INVAL;
> +    rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
> +    if (rc != 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
> +        return ERROR_FAIL;
>       }
>
> -    if (scinfo->cap<  0 || scinfo->cap>  (domaininfo.max_vcpu_id + 1) * 100) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
> -            ((domaininfo.max_vcpu_id + 1) * 100));
> -        return ERROR_INVAL;
> +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
> +        if (scinfo->weight<  1 || scinfo->weight>  65535) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Cpu weight out of range, "
> +                       "valid values are within range from 1 to 65535");
> +            return ERROR_INVAL;
> +        }
> +        sdom.weight = scinfo->weight;
>       }
>
> -    sdom.weight = scinfo->weight;
> -    sdom.cap = scinfo->cap;
> +    if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
> +        if (scinfo->cap<  0
> +            || scinfo->cap>  (domaininfo.max_vcpu_id + 1) * 100) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                "Cpu cap out of range, "
> +                "valid range is from 0 to %d for specified number of vcpus",
> +                       ((domaininfo.max_vcpu_id + 1) * 100));
> +            return ERROR_INVAL;
> +        }
> +        sdom.cap = scinfo->cap;
> +    }
>
>       rc = xc_sched_credit_domain_set(ctx->xch, domid,&sdom);
>       if ( rc<  0 ) {
> @@ -3319,13 +3330,11 @@ int libxl_sched_credit_params_set(libxl_
>   }
>
>   int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo)
> +                                   libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
>       int rc;
>
> -    libxl_sched_credit2_domain_init(scinfo);
> -
>       rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
>       if (rc != 0) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3333,36 +3342,37 @@ int libxl_sched_credit2_domain_get(libxl
>           return ERROR_FAIL;
>       }
>
> +    libxl_domain_sched_params_init(scinfo);
> +    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
>       scinfo->weight = sdom.weight;
>
>       return 0;
>   }
>
>   int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo)
> +                                   libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
> -    xc_domaininfo_t domaininfo;
>       int rc;
>
> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
> -    if (rc<  0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> +    rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
> +    if (rc != 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "getting domain sched credit2");
>           return ERROR_FAIL;
>       }
> -    if (rc != 1 || domaininfo.domain != domid)
> -        return ERROR_INVAL;
> -
> -
> -    if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
> -            "Cpu weight out of range, valid values are within range from "
> -            "1 to 65535");
> -        return ERROR_INVAL;
> +
> +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
> +        if (scinfo->weight<  1 || scinfo->weight>  65535) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Cpu weight out of range, "
> +                       "valid values are within range from "
> +                       "1 to 65535");
> +            return ERROR_INVAL;
> +        }
> +        sdom.weight = scinfo->weight;
>       }
>
> -    sdom.weight = scinfo->weight;
> -
>       rc = xc_sched_credit2_domain_set(ctx->xch, domid,&sdom);
>       if ( rc<  0 ) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3374,7 +3384,7 @@ int libxl_sched_credit2_domain_set(libxl
>   }
>
>   int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_domain_sched_params *scinfo)
>   {
>       uint64_t period;
>       uint64_t slice;
> @@ -3383,8 +3393,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
>       uint16_t weight;
>       int rc;
>
> -    libxl_sched_sedf_domain_init(scinfo);
> -
>       rc = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
>                               &extratime,&weight);
>       if (rc != 0) {
> @@ -3392,6 +3400,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
>           return ERROR_FAIL;
>       }
>
> +    libxl_domain_sched_params_init(scinfo);
> +    scinfo->sched = LIBXL_SCHEDULER_SEDF;
>       scinfo->period = period / 1000000;
>       scinfo->slice = slice / 1000000;
>       scinfo->latency = latency / 1000000;
> @@ -3402,24 +3412,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
>   }
>
>   int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_domain_sched_params *scinfo)
>   {
> -    xc_domaininfo_t domaininfo;
> -    int rc;
> -
> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
> -    if (rc<  0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> +    uint64_t period;
> +    uint64_t slice;
> +    uint64_t latency;
> +    uint16_t extratime;
> +    uint16_t weight;
> +
> +    int ret;
> +
> +    ret = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
> +&extratime,&weight);
> +    if (ret != 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
>           return ERROR_FAIL;
>       }
> -    if (rc != 1 || domaininfo.domain != domid)
> -        return ERROR_INVAL;
> -
> -
> -    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> -                            scinfo->slice * 1000000, scinfo->latency * 1000000,
> -                            scinfo->extratime, scinfo->weight);
> -    if ( rc<  0 ) {
> +
> +    if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
> +        period = scinfo->period * 1000000;
> +    if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
> +        slice = scinfo->slice * 1000000;
> +    if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
> +        latency = scinfo->latency * 1000000;
> +    if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT)
> +        extratime = scinfo->extratime;
> +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
> +        weight = scinfo->weight;
> +
> +    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +                            extratime, weight);
> +    if ( ret<  0 ) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
>           return ERROR_FAIL;
>       }
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl.h       Tue May 29 14:55:29 2012 +0100
> @@ -775,23 +775,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
>
>   libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
>
> -
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo);
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo);
> +/* Per-scheduler parameters */
>   int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
>                                     libxl_sched_credit_params *scinfo);
>   int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
>                                     libxl_sched_credit_params *scinfo);
> +
> +/* Scheduler Per-domain parameters */
> +
> +#define LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT    -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT       -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT    -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT     -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
> +
> +int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *scinfo);
> +int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *scinfo);
>   int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo);
> +                                   libxl_domain_sched_params *scinfo);
>   int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo);
> +                                   libxl_domain_sched_params *scinfo);
>   int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo);
> +                                libxl_domain_sched_params *scinfo);
>   int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo);
> +                                libxl_domain_sched_params *scinfo);
>   int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
>                          libxl_trigger trigger, uint32_t vcpuid);
>   int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl_dom.c   Tue May 29 14:55:29 2012 +0100
> @@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
>                               libxl_domain_sched_params *scparams)
>   {
> -    libxl_ctx *ctx = libxl__gc_owner(gc);
> -    libxl_scheduler sched;
> -    libxl_sched_sedf_domain sedf_info;
> -    libxl_sched_credit_domain credit_info;
> -    libxl_sched_credit2_domain credit2_info;
> +    libxl_scheduler sched = scparams->sched;
>       int ret;
>
> -    sched = libxl_get_scheduler (ctx);
> +    if (sched == LIBXL_SCHEDULER_UNKNOWN)
> +        sched = libxl__domain_scheduler(gc, domid);
> +
>       switch (sched) {
>       case LIBXL_SCHEDULER_SEDF:
> -      sedf_info.period = scparams->period;
> -      sedf_info.slice = scparams->slice;
> -      sedf_info.latency = scparams->latency;
> -      sedf_info.extratime = scparams->extratime;
> -      sedf_info.weight = scparams->weight;
> -      ret=libxl_sched_sedf_domain_set(ctx, domid,&sedf_info);
> -      break;
> +        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> +        break;
>       case LIBXL_SCHEDULER_CREDIT:
> -      credit_info.weight = scparams->weight;
> -      credit_info.cap = scparams->cap;
> -      ret=libxl_sched_credit_domain_set(ctx, domid,&credit_info);
> -      break;
> +        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> +        break;
>       case LIBXL_SCHEDULER_CREDIT2:
> -      credit2_info.weight = scparams->weight;
> -      ret=libxl_sched_credit2_domain_set(ctx, domid,&credit2_info);
> -      break;
> +        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> +        break;
>       default:
> -      ret=-1;
> +        LOG(ERROR, "Unknown scheduler");
> +        ret=ERROR_INVAL;
> +        break;
>       }
>       return ret;
>   }
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl       Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl_types.idl       Tue May 29 14:55:29 2012 +0100
> @@ -225,12 +225,13 @@ libxl_domain_create_info = Struct("domai
>   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>
>   libxl_domain_sched_params = Struct("domain_sched_params",[
> -    ("weight",       integer),
> -    ("cap",          integer),
> -    ("period",       integer),
> -    ("slice",        integer),
> -    ("latency",      integer),
> -    ("extratime",    integer),
> +    ("sched",        libxl_scheduler),
> +    ("weight",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT'}),
> +    ("cap",          integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT'}),
> +    ("period",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT'}),
> +    ("slice",        integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT'}),
> +    ("latency",      integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT'}),
> +    ("extratime",    integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT'}),
>       ], dir=DIR_IN)
>
>   libxl_domain_build_info = Struct("domain_build_info",[
> @@ -425,28 +426,11 @@ libxl_cputopology = Struct("cputopology"
>       ("node", uint32),
>       ], dir=DIR_OUT)
>
> -libxl_sched_credit_domain = Struct("sched_credit_domain", [
> -    ("weight", integer),
> -    ("cap", integer),
> -    ])
> -
>   libxl_sched_credit_params = Struct("sched_credit_params", [
>       ("tslice_ms", integer),
>       ("ratelimit_us", integer),
>       ], dispose_fn=None)
>
> -libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
> -    ("weight", integer),
> -    ])
> -
> -libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
> -    ("period", integer),
> -    ("slice", integer),
> -    ("latency", integer),
> -    ("extratime", integer),
> -    ("weight", integer),
> -    ])
> -
>   libxl_domain_remus_info = Struct("domain_remus_info",[
>       ("interval",     integer),
>       ("blackhole",    bool),
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 29 14:55:29 2012 +0100
> @@ -628,7 +628,8 @@ static void parse_config_data(const char
>
>       libxl_domain_build_info_init_type(b_info, c_info->type);
>
> -    /* the following is the actual config parsing with overriding values in the structures */
> +    /* the following is the actual config parsing with overriding
> +     * values in the structures */
>       if (!xlu_cfg_get_long (config, "cpu_weight",&l, 0))
>           b_info->sched_params.weight = l;
>       if (!xlu_cfg_get_long (config, "cap",&l, 0))
> @@ -636,11 +637,11 @@ static void parse_config_data(const char
>       if (!xlu_cfg_get_long (config, "period",&l, 0))
>           b_info->sched_params.period = l;
>       if (!xlu_cfg_get_long (config, "slice",&l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.slice = l;
>       if (!xlu_cfg_get_long (config, "latency",&l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.latency = l;
>       if (!xlu_cfg_get_long (config, "extratime",&l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.extratime = l;
>
>       if (!xlu_cfg_get_long (config, "vcpus",&l, 0)) {
>           b_info->max_vcpus = l;
> @@ -4360,7 +4361,7 @@ int main_sharing(int argc, char **argv)
>       return 0;
>   }
>
> -static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
> +static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4371,7 +4372,7 @@ static int sched_credit_domain_get(int d
>       return rc;
>   }
>
> -static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
> +static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4407,7 +4408,7 @@ static int sched_credit_params_get(int p
>   static int sched_credit_domain_output(int domid)
>   {
>       char *domname;
> -    libxl_sched_credit_domain scinfo;
> +    libxl_domain_sched_params scinfo;
>       int rc;
>
>       if (domid<  0) {
> @@ -4424,7 +4425,7 @@ static int sched_credit_domain_output(in
>           scinfo.weight,
>           scinfo.cap);
>       free(domname);
> -    libxl_sched_credit_domain_dispose(&scinfo);
> +    libxl_domain_sched_params_dispose(&scinfo);
>       return 0;
>   }
>
> @@ -4450,7 +4451,7 @@ static int sched_credit_pool_output(uint
>   }
>
>   static int sched_credit2_domain_get(
> -    int domid, libxl_sched_credit2_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4462,7 +4463,7 @@ static int sched_credit2_domain_get(
>   }
>
>   static int sched_credit2_domain_set(
> -    int domid, libxl_sched_credit2_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4477,7 +4478,7 @@ static int sched_credit2_domain_output(
>       int domid)
>   {
>       char *domname;
> -    libxl_sched_credit2_domain scinfo;
> +    libxl_domain_sched_params scinfo;
>       int rc;
>
>       if (domid<  0) {
> @@ -4493,12 +4494,12 @@ static int sched_credit2_domain_output(
>           domid,
>           scinfo.weight);
>       free(domname);
> -    libxl_sched_credit2_domain_dispose(&scinfo);
> +    libxl_domain_sched_params_dispose(&scinfo);
>       return 0;
>   }
>
>   static int sched_sedf_domain_get(
> -    int domid, libxl_sched_sedf_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4510,7 +4511,7 @@ static int sched_sedf_domain_get(
>   }
>
>   static int sched_sedf_domain_set(
> -    int domid, libxl_sched_sedf_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4524,7 +4525,7 @@ static int sched_sedf_domain_output(
>       int domid)
>   {
>       char *domname;
> -    libxl_sched_sedf_domain scinfo;
> +    libxl_domain_sched_params scinfo;
>       int rc;
>
>       if (domid<  0) {
> @@ -4545,7 +4546,7 @@ static int sched_sedf_domain_output(
>           scinfo.extratime,
>           scinfo.weight);
>       free(domname);
> -    libxl_sched_sedf_domain_dispose(&scinfo);
> +    libxl_domain_sched_params_dispose(&scinfo);
>       return 0;
>   }
>
> @@ -4622,7 +4623,6 @@ static int sched_domain_output(libxl_sch
>    */
>   int main_sched_credit(int argc, char **argv)
>   {
> -    libxl_sched_credit_domain scinfo;
>       const char *dom = NULL;
>       const char *cpupool = NULL;
>       int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
> @@ -4697,7 +4697,7 @@ int main_sched_credit(int argc, char **a
>       }
>
>       if (opt_s) {
> -        libxl_sched_credit_params  scparam;
> +        libxl_sched_credit_params scparam;
>           uint32_t poolid = 0;
>
>           if (cpupool) {
> @@ -4733,20 +4733,19 @@ int main_sched_credit(int argc, char **a
>       } else {
>           find_domain(dom);
>
> -        rc = sched_credit_domain_get(domid,&scinfo);
> -        if (rc)
> -            return -rc;
> -
>           if (!opt_w&&  !opt_c) { /* output credit scheduler info */
>               sched_credit_domain_output(-1);
>               return -sched_credit_domain_output(domid);
>           } else { /* set credit scheduler paramaters */
> +            libxl_domain_sched_params scinfo;
> +            libxl_domain_sched_params_init(&scinfo);
> +            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
>               if (opt_w)
>                   scinfo.weight = weight;
>               if (opt_c)
>                   scinfo.cap = cap;
>               rc = sched_credit_domain_set(domid,&scinfo);
> -            libxl_sched_credit_domain_dispose(&scinfo);
> +            libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
>           }
> @@ -4757,7 +4756,6 @@ int main_sched_credit(int argc, char **a
>
>   int main_sched_credit2(int argc, char **argv)
>   {
> -    libxl_sched_credit2_domain scinfo;
>       const char *dom = NULL;
>       const char *cpupool = NULL;
>       int weight = 256, opt_w = 0;
> @@ -4812,18 +4810,17 @@ int main_sched_credit2(int argc, char **
>       } else {
>           find_domain(dom);
>
> -        rc = sched_credit2_domain_get(domid,&scinfo);
> -        if (rc)
> -            return -rc;
> -
>           if (!opt_w) { /* output credit2 scheduler info */
>               sched_credit2_domain_output(-1);
>               return -sched_credit2_domain_output(domid);
>           } else { /* set credit2 scheduler paramaters */
> +            libxl_domain_sched_params scinfo;
> +            libxl_domain_sched_params_init(&scinfo);
> +            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
>               if (opt_w)
>                   scinfo.weight = weight;
>               rc = sched_credit2_domain_set(domid,&scinfo);
> -            libxl_sched_credit2_domain_dispose(&scinfo);
> +            libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
>           }
> @@ -4834,7 +4831,6 @@ int main_sched_credit2(int argc, char **
>
>   int main_sched_sedf(int argc, char **argv)
>   {
> -    libxl_sched_sedf_domain scinfo;
>       const char *dom = NULL;
>       const char *cpupool = NULL;
>       int period = 0, opt_p = 0;
> @@ -4917,15 +4913,15 @@ int main_sched_sedf(int argc, char **arg
>       } else {
>           find_domain(dom);
>
> -        rc = sched_sedf_domain_get(domid,&scinfo);
> -        if (rc)
> -            return -rc;
> -
>           if (!opt_p&&  !opt_s&&  !opt_l&&  !opt_e&&  !opt_w) {
>               /* output sedf scheduler info */
>               sched_sedf_domain_output(-1);
>               return -sched_sedf_domain_output(domid);
>           } else { /* set sedf scheduler paramaters */
> +            libxl_domain_sched_params scinfo;
> +            libxl_domain_sched_params_init(&scinfo);
> +            scinfo.sched = LIBXL_SCHEDULER_SEDF;
> +
>               if (opt_p) {
>                   scinfo.period = period;
>                   scinfo.weight = 0;
> @@ -4944,7 +4940,7 @@ int main_sched_sedf(int argc, char **arg
>                   scinfo.slice = 0;
>               }
>               rc = sched_sedf_domain_set(domid,&scinfo);
> -            libxl_sched_sedf_domain_dispose(&scinfo);
> +            libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
>           }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:53:09 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:53:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5o9-0000al-AW; Thu, 31 May 2012 13:52:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5o7-0000aF-ML
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:52:56 +0000
Received: from [85.158.139.83:59054] by server-8.bemta-5.messagelabs.com id
	A6/CF-25689-6B777CF4; Thu, 31 May 2012 13:52:54 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338472369!27504630!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10057 invoked from network); 31 May 2012 13:52:53 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:52:53 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197040713"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:52:53 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:52:52 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5kR-0005iu-Oo;
	Thu, 31 May 2012 14:49:07 +0100
Message-ID: <4FC7766F.1020709@eu.citrix.com>
Date: Thu, 31 May 2012 14:47:27 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
In-Reply-To: <274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299729 -3600
> # Node ID 274de8e1e0d116070d34731d93b53ce44530e5a0
> # Parent  73d8274c0b6859b4528af75a7405e546d659f130
> libxl: make it possible to explicitly specify default sched params
>
> To do so we define a discriminating value which is never a valid real value for
> each parameter.
>
> While there:
>
>   - removed libxl_sched_*_domain in favour of libxl_domain_sched_params.
>   - use this new functionality for the various xl commands which set sched
>     parameters, which saves an explicit read-modify-write in xl.
>   - removed call of xc_domain_getinfolist from a few functions which weren't
>     actually using the result (looks like a cut and paste error)
>   - fix xl which was setting period for a variety of different config keys.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

If you do end up re-spinning this series for some reason, you might just 
mention in this description that you're about to change the public 
interface and get rid of the per-scheduler set and get functions in two 
changesets.
>
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c       Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl.c       Tue May 29 14:55:29 2012 +0100
> @@ -3197,19 +3197,19 @@ libxl_scheduler libxl_get_scheduler(libx
>   }
>
>   int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo)
> +                                  libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       int rc;
>
> -    libxl_sched_credit_domain_init(scinfo);
> -
>       rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
>       if (rc != 0) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
>           return ERROR_FAIL;
>       }
>
> +    libxl_domain_sched_params_init(scinfo);
> +    scinfo->sched = LIBXL_SCHEDULER_CREDIT;
>       scinfo->weight = sdom.weight;
>       scinfo->cap = sdom.cap;
>
> @@ -3217,7 +3217,7 @@ int libxl_sched_credit_domain_get(libxl_
>   }
>
>   int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo)
> +                                  libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       xc_domaininfo_t domaininfo;
> @@ -3231,22 +3231,33 @@ int libxl_sched_credit_domain_set(libxl_
>       if (rc != 1 || domaininfo.domain != domid)
>           return ERROR_INVAL;
>
> -
> -    if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -            "Cpu weight out of range, valid values are within range from 1 to 65535");
> -        return ERROR_INVAL;
> +    rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
> +    if (rc != 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
> +        return ERROR_FAIL;
>       }
>
> -    if (scinfo->cap<  0 || scinfo->cap>  (domaininfo.max_vcpu_id + 1) * 100) {
> -        LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -            "Cpu cap out of range, valid range is from 0 to %d for specified number of vcpus",
> -            ((domaininfo.max_vcpu_id + 1) * 100));
> -        return ERROR_INVAL;
> +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
> +        if (scinfo->weight<  1 || scinfo->weight>  65535) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Cpu weight out of range, "
> +                       "valid values are within range from 1 to 65535");
> +            return ERROR_INVAL;
> +        }
> +        sdom.weight = scinfo->weight;
>       }
>
> -    sdom.weight = scinfo->weight;
> -    sdom.cap = scinfo->cap;
> +    if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
> +        if (scinfo->cap<  0
> +            || scinfo->cap>  (domaininfo.max_vcpu_id + 1) * 100) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                "Cpu cap out of range, "
> +                "valid range is from 0 to %d for specified number of vcpus",
> +                       ((domaininfo.max_vcpu_id + 1) * 100));
> +            return ERROR_INVAL;
> +        }
> +        sdom.cap = scinfo->cap;
> +    }
>
>       rc = xc_sched_credit_domain_set(ctx->xch, domid,&sdom);
>       if ( rc<  0 ) {
> @@ -3319,13 +3330,11 @@ int libxl_sched_credit_params_set(libxl_
>   }
>
>   int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo)
> +                                   libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
>       int rc;
>
> -    libxl_sched_credit2_domain_init(scinfo);
> -
>       rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
>       if (rc != 0) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3333,36 +3342,37 @@ int libxl_sched_credit2_domain_get(libxl
>           return ERROR_FAIL;
>       }
>
> +    libxl_domain_sched_params_init(scinfo);
> +    scinfo->sched = LIBXL_SCHEDULER_CREDIT2;
>       scinfo->weight = sdom.weight;
>
>       return 0;
>   }
>
>   int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo)
> +                                   libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
> -    xc_domaininfo_t domaininfo;
>       int rc;
>
> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
> -    if (rc<  0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> +    rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
> +    if (rc != 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> +                         "getting domain sched credit2");
>           return ERROR_FAIL;
>       }
> -    if (rc != 1 || domaininfo.domain != domid)
> -        return ERROR_INVAL;
> -
> -
> -    if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
> -            "Cpu weight out of range, valid values are within range from "
> -            "1 to 65535");
> -        return ERROR_INVAL;
> +
> +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
> +        if (scinfo->weight<  1 || scinfo->weight>  65535) {
> +            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> +                       "Cpu weight out of range, "
> +                       "valid values are within range from "
> +                       "1 to 65535");
> +            return ERROR_INVAL;
> +        }
> +        sdom.weight = scinfo->weight;
>       }
>
> -    sdom.weight = scinfo->weight;
> -
>       rc = xc_sched_credit2_domain_set(ctx->xch, domid,&sdom);
>       if ( rc<  0 ) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> @@ -3374,7 +3384,7 @@ int libxl_sched_credit2_domain_set(libxl
>   }
>
>   int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_domain_sched_params *scinfo)
>   {
>       uint64_t period;
>       uint64_t slice;
> @@ -3383,8 +3393,6 @@ int libxl_sched_sedf_domain_get(libxl_ct
>       uint16_t weight;
>       int rc;
>
> -    libxl_sched_sedf_domain_init(scinfo);
> -
>       rc = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
>                               &extratime,&weight);
>       if (rc != 0) {
> @@ -3392,6 +3400,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
>           return ERROR_FAIL;
>       }
>
> +    libxl_domain_sched_params_init(scinfo);
> +    scinfo->sched = LIBXL_SCHEDULER_SEDF;
>       scinfo->period = period / 1000000;
>       scinfo->slice = slice / 1000000;
>       scinfo->latency = latency / 1000000;
> @@ -3402,24 +3412,37 @@ int libxl_sched_sedf_domain_get(libxl_ct
>   }
>
>   int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo)
> +                                libxl_domain_sched_params *scinfo)
>   {
> -    xc_domaininfo_t domaininfo;
> -    int rc;
> -
> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
> -    if (rc<  0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> +    uint64_t period;
> +    uint64_t slice;
> +    uint64_t latency;
> +    uint16_t extratime;
> +    uint16_t weight;
> +
> +    int ret;
> +
> +    ret = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
> +&extratime,&weight);
> +    if (ret != 0) {
> +        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
>           return ERROR_FAIL;
>       }
> -    if (rc != 1 || domaininfo.domain != domid)
> -        return ERROR_INVAL;
> -
> -
> -    rc = xc_sedf_domain_set(ctx->xch, domid, scinfo->period * 1000000,
> -                            scinfo->slice * 1000000, scinfo->latency * 1000000,
> -                            scinfo->extratime, scinfo->weight);
> -    if ( rc<  0 ) {
> +
> +    if (scinfo->period != LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT)
> +        period = scinfo->period * 1000000;
> +    if (scinfo->slice != LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT)
> +        slice = scinfo->slice * 1000000;
> +    if (scinfo->latency != LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT)
> +        latency = scinfo->latency * 1000000;
> +    if (scinfo->extratime != LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT)
> +        extratime = scinfo->extratime;
> +    if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
> +        weight = scinfo->weight;
> +
> +    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +                            extratime, weight);
> +    if ( ret<  0 ) {
>           LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
>           return ERROR_FAIL;
>       }
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl.h       Tue May 29 14:55:29 2012 +0100
> @@ -775,23 +775,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx,
>
>   libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
>
> -
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo);
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_sched_credit_domain *scinfo);
> +/* Per-scheduler parameters */
>   int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
>                                     libxl_sched_credit_params *scinfo);
>   int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
>                                     libxl_sched_credit_params *scinfo);
> +
> +/* Scheduler Per-domain parameters */
> +
> +#define LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT    -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT       -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT    -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT     -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
> +#define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
> +
> +int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *scinfo);
> +int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *scinfo);
>   int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo);
> +                                   libxl_domain_sched_params *scinfo);
>   int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_sched_credit2_domain *scinfo);
> +                                   libxl_domain_sched_params *scinfo);
>   int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo);
> +                                libxl_domain_sched_params *scinfo);
>   int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_sched_sedf_domain *scinfo);
> +                                libxl_domain_sched_params *scinfo);
>   int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
>                          libxl_trigger trigger, uint32_t vcpuid);
>   int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl_dom.c   Tue May 29 14:55:29 2012 +0100
> @@ -45,34 +45,26 @@ libxl_domain_type libxl__domain_type(lib
>   int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
>                               libxl_domain_sched_params *scparams)
>   {
> -    libxl_ctx *ctx = libxl__gc_owner(gc);
> -    libxl_scheduler sched;
> -    libxl_sched_sedf_domain sedf_info;
> -    libxl_sched_credit_domain credit_info;
> -    libxl_sched_credit2_domain credit2_info;
> +    libxl_scheduler sched = scparams->sched;
>       int ret;
>
> -    sched = libxl_get_scheduler (ctx);
> +    if (sched == LIBXL_SCHEDULER_UNKNOWN)
> +        sched = libxl__domain_scheduler(gc, domid);
> +
>       switch (sched) {
>       case LIBXL_SCHEDULER_SEDF:
> -      sedf_info.period = scparams->period;
> -      sedf_info.slice = scparams->slice;
> -      sedf_info.latency = scparams->latency;
> -      sedf_info.extratime = scparams->extratime;
> -      sedf_info.weight = scparams->weight;
> -      ret=libxl_sched_sedf_domain_set(ctx, domid,&sedf_info);
> -      break;
> +        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> +        break;
>       case LIBXL_SCHEDULER_CREDIT:
> -      credit_info.weight = scparams->weight;
> -      credit_info.cap = scparams->cap;
> -      ret=libxl_sched_credit_domain_set(ctx, domid,&credit_info);
> -      break;
> +        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> +        break;
>       case LIBXL_SCHEDULER_CREDIT2:
> -      credit2_info.weight = scparams->weight;
> -      ret=libxl_sched_credit2_domain_set(ctx, domid,&credit2_info);
> -      break;
> +        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> +        break;
>       default:
> -      ret=-1;
> +        LOG(ERROR, "Unknown scheduler");
> +        ret=ERROR_INVAL;
> +        break;
>       }
>       return ret;
>   }
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/libxl_types.idl
> --- a/tools/libxl/libxl_types.idl       Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/libxl_types.idl       Tue May 29 14:55:29 2012 +0100
> @@ -225,12 +225,13 @@ libxl_domain_create_info = Struct("domai
>   MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
>
>   libxl_domain_sched_params = Struct("domain_sched_params",[
> -    ("weight",       integer),
> -    ("cap",          integer),
> -    ("period",       integer),
> -    ("slice",        integer),
> -    ("latency",      integer),
> -    ("extratime",    integer),
> +    ("sched",        libxl_scheduler),
> +    ("weight",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT'}),
> +    ("cap",          integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT'}),
> +    ("period",       integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT'}),
> +    ("slice",        integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT'}),
> +    ("latency",      integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT'}),
> +    ("extratime",    integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT'}),
>       ], dir=DIR_IN)
>
>   libxl_domain_build_info = Struct("domain_build_info",[
> @@ -425,28 +426,11 @@ libxl_cputopology = Struct("cputopology"
>       ("node", uint32),
>       ], dir=DIR_OUT)
>
> -libxl_sched_credit_domain = Struct("sched_credit_domain", [
> -    ("weight", integer),
> -    ("cap", integer),
> -    ])
> -
>   libxl_sched_credit_params = Struct("sched_credit_params", [
>       ("tslice_ms", integer),
>       ("ratelimit_us", integer),
>       ], dispose_fn=None)
>
> -libxl_sched_credit2_domain = Struct("sched_credit2_domain", [
> -    ("weight", integer),
> -    ])
> -
> -libxl_sched_sedf_domain = Struct("sched_sedf_domain", [
> -    ("period", integer),
> -    ("slice", integer),
> -    ("latency", integer),
> -    ("extratime", integer),
> -    ("weight", integer),
> -    ])
> -
>   libxl_domain_remus_info = Struct("domain_remus_info",[
>       ("interval",     integer),
>       ("blackhole",    bool),
> diff -r 73d8274c0b68 -r 274de8e1e0d1 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Tue May 29 14:55:09 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 29 14:55:29 2012 +0100
> @@ -628,7 +628,8 @@ static void parse_config_data(const char
>
>       libxl_domain_build_info_init_type(b_info, c_info->type);
>
> -    /* the following is the actual config parsing with overriding values in the structures */
> +    /* the following is the actual config parsing with overriding
> +     * values in the structures */
>       if (!xlu_cfg_get_long (config, "cpu_weight",&l, 0))
>           b_info->sched_params.weight = l;
>       if (!xlu_cfg_get_long (config, "cap",&l, 0))
> @@ -636,11 +637,11 @@ static void parse_config_data(const char
>       if (!xlu_cfg_get_long (config, "period",&l, 0))
>           b_info->sched_params.period = l;
>       if (!xlu_cfg_get_long (config, "slice",&l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.slice = l;
>       if (!xlu_cfg_get_long (config, "latency",&l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.latency = l;
>       if (!xlu_cfg_get_long (config, "extratime",&l, 0))
> -        b_info->sched_params.period = l;
> +        b_info->sched_params.extratime = l;
>
>       if (!xlu_cfg_get_long (config, "vcpus",&l, 0)) {
>           b_info->max_vcpus = l;
> @@ -4360,7 +4361,7 @@ int main_sharing(int argc, char **argv)
>       return 0;
>   }
>
> -static int sched_credit_domain_get(int domid, libxl_sched_credit_domain *scinfo)
> +static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4371,7 +4372,7 @@ static int sched_credit_domain_get(int d
>       return rc;
>   }
>
> -static int sched_credit_domain_set(int domid, libxl_sched_credit_domain *scinfo)
> +static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4407,7 +4408,7 @@ static int sched_credit_params_get(int p
>   static int sched_credit_domain_output(int domid)
>   {
>       char *domname;
> -    libxl_sched_credit_domain scinfo;
> +    libxl_domain_sched_params scinfo;
>       int rc;
>
>       if (domid<  0) {
> @@ -4424,7 +4425,7 @@ static int sched_credit_domain_output(in
>           scinfo.weight,
>           scinfo.cap);
>       free(domname);
> -    libxl_sched_credit_domain_dispose(&scinfo);
> +    libxl_domain_sched_params_dispose(&scinfo);
>       return 0;
>   }
>
> @@ -4450,7 +4451,7 @@ static int sched_credit_pool_output(uint
>   }
>
>   static int sched_credit2_domain_get(
> -    int domid, libxl_sched_credit2_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4462,7 +4463,7 @@ static int sched_credit2_domain_get(
>   }
>
>   static int sched_credit2_domain_set(
> -    int domid, libxl_sched_credit2_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4477,7 +4478,7 @@ static int sched_credit2_domain_output(
>       int domid)
>   {
>       char *domname;
> -    libxl_sched_credit2_domain scinfo;
> +    libxl_domain_sched_params scinfo;
>       int rc;
>
>       if (domid<  0) {
> @@ -4493,12 +4494,12 @@ static int sched_credit2_domain_output(
>           domid,
>           scinfo.weight);
>       free(domname);
> -    libxl_sched_credit2_domain_dispose(&scinfo);
> +    libxl_domain_sched_params_dispose(&scinfo);
>       return 0;
>   }
>
>   static int sched_sedf_domain_get(
> -    int domid, libxl_sched_sedf_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4510,7 +4511,7 @@ static int sched_sedf_domain_get(
>   }
>
>   static int sched_sedf_domain_set(
> -    int domid, libxl_sched_sedf_domain *scinfo)
> +    int domid, libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> @@ -4524,7 +4525,7 @@ static int sched_sedf_domain_output(
>       int domid)
>   {
>       char *domname;
> -    libxl_sched_sedf_domain scinfo;
> +    libxl_domain_sched_params scinfo;
>       int rc;
>
>       if (domid<  0) {
> @@ -4545,7 +4546,7 @@ static int sched_sedf_domain_output(
>           scinfo.extratime,
>           scinfo.weight);
>       free(domname);
> -    libxl_sched_sedf_domain_dispose(&scinfo);
> +    libxl_domain_sched_params_dispose(&scinfo);
>       return 0;
>   }
>
> @@ -4622,7 +4623,6 @@ static int sched_domain_output(libxl_sch
>    */
>   int main_sched_credit(int argc, char **argv)
>   {
> -    libxl_sched_credit_domain scinfo;
>       const char *dom = NULL;
>       const char *cpupool = NULL;
>       int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
> @@ -4697,7 +4697,7 @@ int main_sched_credit(int argc, char **a
>       }
>
>       if (opt_s) {
> -        libxl_sched_credit_params  scparam;
> +        libxl_sched_credit_params scparam;
>           uint32_t poolid = 0;
>
>           if (cpupool) {
> @@ -4733,20 +4733,19 @@ int main_sched_credit(int argc, char **a
>       } else {
>           find_domain(dom);
>
> -        rc = sched_credit_domain_get(domid,&scinfo);
> -        if (rc)
> -            return -rc;
> -
>           if (!opt_w&&  !opt_c) { /* output credit scheduler info */
>               sched_credit_domain_output(-1);
>               return -sched_credit_domain_output(domid);
>           } else { /* set credit scheduler paramaters */
> +            libxl_domain_sched_params scinfo;
> +            libxl_domain_sched_params_init(&scinfo);
> +            scinfo.sched = LIBXL_SCHEDULER_CREDIT;
>               if (opt_w)
>                   scinfo.weight = weight;
>               if (opt_c)
>                   scinfo.cap = cap;
>               rc = sched_credit_domain_set(domid,&scinfo);
> -            libxl_sched_credit_domain_dispose(&scinfo);
> +            libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
>           }
> @@ -4757,7 +4756,6 @@ int main_sched_credit(int argc, char **a
>
>   int main_sched_credit2(int argc, char **argv)
>   {
> -    libxl_sched_credit2_domain scinfo;
>       const char *dom = NULL;
>       const char *cpupool = NULL;
>       int weight = 256, opt_w = 0;
> @@ -4812,18 +4810,17 @@ int main_sched_credit2(int argc, char **
>       } else {
>           find_domain(dom);
>
> -        rc = sched_credit2_domain_get(domid,&scinfo);
> -        if (rc)
> -            return -rc;
> -
>           if (!opt_w) { /* output credit2 scheduler info */
>               sched_credit2_domain_output(-1);
>               return -sched_credit2_domain_output(domid);
>           } else { /* set credit2 scheduler paramaters */
> +            libxl_domain_sched_params scinfo;
> +            libxl_domain_sched_params_init(&scinfo);
> +            scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
>               if (opt_w)
>                   scinfo.weight = weight;
>               rc = sched_credit2_domain_set(domid,&scinfo);
> -            libxl_sched_credit2_domain_dispose(&scinfo);
> +            libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
>           }
> @@ -4834,7 +4831,6 @@ int main_sched_credit2(int argc, char **
>
>   int main_sched_sedf(int argc, char **argv)
>   {
> -    libxl_sched_sedf_domain scinfo;
>       const char *dom = NULL;
>       const char *cpupool = NULL;
>       int period = 0, opt_p = 0;
> @@ -4917,15 +4913,15 @@ int main_sched_sedf(int argc, char **arg
>       } else {
>           find_domain(dom);
>
> -        rc = sched_sedf_domain_get(domid,&scinfo);
> -        if (rc)
> -            return -rc;
> -
>           if (!opt_p&&  !opt_s&&  !opt_l&&  !opt_e&&  !opt_w) {
>               /* output sedf scheduler info */
>               sched_sedf_domain_output(-1);
>               return -sched_sedf_domain_output(domid);
>           } else { /* set sedf scheduler paramaters */
> +            libxl_domain_sched_params scinfo;
> +            libxl_domain_sched_params_init(&scinfo);
> +            scinfo.sched = LIBXL_SCHEDULER_SEDF;
> +
>               if (opt_p) {
>                   scinfo.period = period;
>                   scinfo.weight = 0;
> @@ -4944,7 +4940,7 @@ int main_sched_sedf(int argc, char **arg
>                   scinfo.slice = 0;
>               }
>               rc = sched_sedf_domain_set(domid,&scinfo);
> -            libxl_sched_sedf_domain_dispose(&scinfo);
> +            libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
>           }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:53:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:53:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5o7-0000aN-Uo; Thu, 31 May 2012 13:52:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5o6-0000Zo-Ms
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:52:54 +0000
Received: from [85.158.139.83:9080] by server-10.bemta-5.messagelabs.com id
	B4/59-22179-5B777CF4; Thu, 31 May 2012 13:52:53 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338472369!27504630!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9945 invoked from network); 31 May 2012 13:52:52 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:52:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197040704"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:52:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:52:49 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5lG-0005kf-K2;
	Thu, 31 May 2012 14:49:58 +0100
Message-ID: <4FC776A2.4080200@eu.citrix.com>
Date: Thu, 31 May 2012 14:48:18 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
In-Reply-To: <d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4 of 5 V2] libxl: move
	libxl__sched_set_params into libxl.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299813 -3600
> # Node ID d89b5eeb94519fdc056f91663676cf012c40b654
> # Parent  274de8e1e0d116070d34731d93b53ce44530e5a0
> libxl: move libxl__sched_set_params into libxl.c
>
> All the other sched functions are here and I'm just about to make those static
> functions as I make libxl__sched_set_params the public function.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
>
> diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 29 14:55:29 2012 +0100
> +++ b/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
> @@ -3450,6 +3450,33 @@ int libxl_sched_sedf_domain_set(libxl_ct
>       return 0;
>   }
>
> +int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> +                            libxl_domain_sched_params *scparams)
> +{
> +    libxl_scheduler sched = scparams->sched;
> +    int ret;
> +
> +    if (sched == LIBXL_SCHEDULER_UNKNOWN)
> +        sched = libxl__domain_scheduler(gc, domid);
> +
> +    switch (sched) {
> +    case LIBXL_SCHEDULER_SEDF:
> +        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT:
> +        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT2:
> +        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> +        break;
> +    default:
> +        LOG(ERROR, "Unknown scheduler");
> +        ret=ERROR_INVAL;
> +        break;
> +    }
> +    return ret;
> +}
> +
>   int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
>                          libxl_trigger trigger, uint32_t vcpuid)
>   {
> diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c	Tue May 29 14:55:29 2012 +0100
> +++ b/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
> @@ -42,33 +42,6 @@ libxl_domain_type libxl__domain_type(lib
>           return LIBXL_DOMAIN_TYPE_PV;
>   }
>
> -int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> -                            libxl_domain_sched_params *scparams)
> -{
> -    libxl_scheduler sched = scparams->sched;
> -    int ret;
> -
> -    if (sched == LIBXL_SCHEDULER_UNKNOWN)
> -        sched = libxl__domain_scheduler(gc, domid);
> -
> -    switch (sched) {
> -    case LIBXL_SCHEDULER_SEDF:
> -        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> -        break;
> -    case LIBXL_SCHEDULER_CREDIT:
> -        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> -        break;
> -    case LIBXL_SCHEDULER_CREDIT2:
> -        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> -        break;
> -    default:
> -        LOG(ERROR, "Unknown scheduler");
> -        ret=ERROR_INVAL;
> -        break;
> -    }
> -    return ret;
> -}
> -
>   int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid)
>   {
>       libxl_ctx *ctx = libxl__gc_owner(gc);


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:53:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:53:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5o7-0000aN-Uo; Thu, 31 May 2012 13:52:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5o6-0000Zo-Ms
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:52:54 +0000
Received: from [85.158.139.83:9080] by server-10.bemta-5.messagelabs.com id
	B4/59-22179-5B777CF4; Thu, 31 May 2012 13:52:53 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338472369!27504630!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9945 invoked from network); 31 May 2012 13:52:52 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:52:52 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197040704"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:52:50 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:52:49 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5lG-0005kf-K2;
	Thu, 31 May 2012 14:49:58 +0100
Message-ID: <4FC776A2.4080200@eu.citrix.com>
Date: Thu, 31 May 2012 14:48:18 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
In-Reply-To: <d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4 of 5 V2] libxl: move
	libxl__sched_set_params into libxl.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299813 -3600
> # Node ID d89b5eeb94519fdc056f91663676cf012c40b654
> # Parent  274de8e1e0d116070d34731d93b53ce44530e5a0
> libxl: move libxl__sched_set_params into libxl.c
>
> All the other sched functions are here and I'm just about to make those static
> functions as I make libxl__sched_set_params the public function.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
>
> diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Tue May 29 14:55:29 2012 +0100
> +++ b/tools/libxl/libxl.c	Tue May 29 14:56:53 2012 +0100
> @@ -3450,6 +3450,33 @@ int libxl_sched_sedf_domain_set(libxl_ct
>       return 0;
>   }
>
> +int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> +                            libxl_domain_sched_params *scparams)
> +{
> +    libxl_scheduler sched = scparams->sched;
> +    int ret;
> +
> +    if (sched == LIBXL_SCHEDULER_UNKNOWN)
> +        sched = libxl__domain_scheduler(gc, domid);
> +
> +    switch (sched) {
> +    case LIBXL_SCHEDULER_SEDF:
> +        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT:
> +        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT2:
> +        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> +        break;
> +    default:
> +        LOG(ERROR, "Unknown scheduler");
> +        ret=ERROR_INVAL;
> +        break;
> +    }
> +    return ret;
> +}
> +
>   int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
>                          libxl_trigger trigger, uint32_t vcpuid)
>   {
> diff -r 274de8e1e0d1 -r d89b5eeb9451 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c	Tue May 29 14:55:29 2012 +0100
> +++ b/tools/libxl/libxl_dom.c	Tue May 29 14:56:53 2012 +0100
> @@ -42,33 +42,6 @@ libxl_domain_type libxl__domain_type(lib
>           return LIBXL_DOMAIN_TYPE_PV;
>   }
>
> -int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> -                            libxl_domain_sched_params *scparams)
> -{
> -    libxl_scheduler sched = scparams->sched;
> -    int ret;
> -
> -    if (sched == LIBXL_SCHEDULER_UNKNOWN)
> -        sched = libxl__domain_scheduler(gc, domid);
> -
> -    switch (sched) {
> -    case LIBXL_SCHEDULER_SEDF:
> -        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> -        break;
> -    case LIBXL_SCHEDULER_CREDIT:
> -        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> -        break;
> -    case LIBXL_SCHEDULER_CREDIT2:
> -        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> -        break;
> -    default:
> -        LOG(ERROR, "Unknown scheduler");
> -        ret=ERROR_INVAL;
> -        break;
> -    }
> -    return ret;
> -}
> -
>   int libxl__domain_shutdown_reason(libxl__gc *gc, uint32_t domid)
>   {
>       libxl_ctx *ctx = libxl__gc_owner(gc);


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:53:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:53:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5o6-0000Zp-Cu; Thu, 31 May 2012 13:52:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5o5-0000Zg-6R
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:52:53 +0000
Received: from [85.158.139.83:58718] by server-6.bemta-5.messagelabs.com id
	2E/F7-31790-4B777CF4; Thu, 31 May 2012 13:52:52 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338472369!27504630!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9846 invoked from network); 31 May 2012 13:52:51 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:52:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197040703"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:52:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:52:49 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5o0-0005r2-Mm;
	Thu, 31 May 2012 14:52:48 +0100
Message-ID: <4FC7774C.1010801@eu.citrix.com>
Date: Thu, 31 May 2012 14:51:08 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
In-Reply-To: <9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 5 of 5 V2] libxl: expose a single get/setter
 for domain scheduler parameters
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299813 -3600
> # Node ID 9094cf509df0e36d8c59ed131937b1ebc07cc2ad
> # Parent  d89b5eeb94519fdc056f91663676cf012c40b654
> libxl: expose a single get/setter for domain scheduler parameters.
>
> This is consistent with having a single struct for all parameters.
>
> Effectively renames and exports libxl__sched_set_params as
> libxl_domain_sched_params_set. libxl_domain_sched_params_get is new.
>
> Improve const correctness of the setters while I'm here.
>
> Use shorter LOG macros when touching a line anyway.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

BTW, we obviously need to have "xl sched-credit" for xm compatibility; 
but do you think it makes sense to make a generic xl command that's a 
analog to the generic libxl function, that looks up the scheduler for 
you on get, and accepts all the parameters on the command-line?  
(Doesn't need to be part of this series, obviously.)
>
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c       Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/libxl.c       Tue May 29 14:56:53 2012 +0100
> @@ -3196,15 +3196,15 @@ libxl_scheduler libxl_get_scheduler(libx
>       return sched;
>   }
>
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo)
> +static int sched_credit_domain_get(libxl__gc *gc, uint32_t domid,
> +                                   libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       int rc;
>
> -    rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
> +        LOGE(ERROR, "getting domain sched credit");
>           return ERROR_FAIL;
>       }
>
> @@ -3216,32 +3216,31 @@ int libxl_sched_credit_domain_get(libxl_
>       return 0;
>   }
>
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo)
> +static int sched_credit_domain_set(libxl__gc *gc, uint32_t domid,
> +                                   const libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       xc_domaininfo_t domaininfo;
>       int rc;
>
> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
> +    rc = xc_domain_getinfolist(CTX->xch, domid, 1,&domaininfo);
>       if (rc<  0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> +        LOGE(ERROR, "getting domain info list");
>           return ERROR_FAIL;
>       }
>       if (rc != 1 || domaininfo.domain != domid)
>           return ERROR_INVAL;
>
> -    rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
> +        LOGE(ERROR, "getting domain sched credit");
>           return ERROR_FAIL;
>       }
>
>       if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
>           if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -                       "Cpu weight out of range, "
> -                       "valid values are within range from 1 to 65535");
> +            LOG(ERROR, "Cpu weight out of range, "
> +                "valid values are within range from 1 to 65535");
>               return ERROR_INVAL;
>           }
>           sdom.weight = scinfo->weight;
> @@ -3250,18 +3249,17 @@ int libxl_sched_credit_domain_set(libxl_
>       if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
>           if (scinfo->cap<  0
>               || scinfo->cap>  (domaininfo.max_vcpu_id + 1) * 100) {
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -                "Cpu cap out of range, "
> +            LOG(ERROR, "Cpu cap out of range, "
>                   "valid range is from 0 to %d for specified number of vcpus",
> -                       ((domaininfo.max_vcpu_id + 1) * 100));
> +                ((domaininfo.max_vcpu_id + 1) * 100));
>               return ERROR_INVAL;
>           }
>           sdom.cap = scinfo->cap;
>       }
>
> -    rc = xc_sched_credit_domain_set(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit_domain_set(CTX->xch, domid,&sdom);
>       if ( rc<  0 ) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched credit");
> +        LOGE(ERROR, "setting domain sched credit");
>           return ERROR_FAIL;
>       }
>
> @@ -3329,16 +3327,15 @@ int libxl_sched_credit_params_set(libxl_
>       return 0;
>   }
>
> -int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo)
> +static int sched_credit2_domain_get(libxl__gc *gc, uint32_t domid,
> +                                    libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
>       int rc;
>
> -    rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit2_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                         "getting domain sched credit2");
> +        LOGE(ERROR, "getting domain sched credit2");
>           return ERROR_FAIL;
>       }
>
> @@ -3349,42 +3346,38 @@ int libxl_sched_credit2_domain_get(libxl
>       return 0;
>   }
>
> -int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo)
> +static int sched_credit2_domain_set(libxl__gc *gc, uint32_t domid,
> +                                    const libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
>       int rc;
>
> -    rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit2_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                         "getting domain sched credit2");
> +        LOGE(ERROR, "getting domain sched credit2");
>           return ERROR_FAIL;
>       }
>
>       if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
>           if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -                       "Cpu weight out of range, "
> -                       "valid values are within range from "
> -                       "1 to 65535");
> +            LOG(ERROR, "Cpu weight out of range, "
> +                       "valid values are within range from 1 to 65535");
>               return ERROR_INVAL;
>           }
>           sdom.weight = scinfo->weight;
>       }
>
> -    rc = xc_sched_credit2_domain_set(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit2_domain_set(CTX->xch, domid,&sdom);
>       if ( rc<  0 ) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                         "setting domain sched credit2");
> +        LOGE(ERROR, "setting domain sched credit2");
>           return ERROR_FAIL;
>       }
>
>       return 0;
>   }
>
> -int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo)
> +static int sched_sedf_domain_get(libxl__gc *gc, uint32_t domid,
> +                                 libxl_domain_sched_params *scinfo)
>   {
>       uint64_t period;
>       uint64_t slice;
> @@ -3393,10 +3386,10 @@ int libxl_sched_sedf_domain_get(libxl_ct
>       uint16_t weight;
>       int rc;
>
> -    rc = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
> +    rc = xc_sedf_domain_get(CTX->xch, domid,&period,&slice,&latency,
>                               &extratime,&weight);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
> +        LOGE(ERROR, "getting domain sched sedf");
>           return ERROR_FAIL;
>       }
>
> @@ -3411,8 +3404,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
>       return 0;
>   }
>
> -int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo)
> +static int sched_sedf_domain_set(libxl__gc *gc, uint32_t domid,
> +                                 const libxl_domain_sched_params *scinfo)
>   {
>       uint64_t period;
>       uint64_t slice;
> @@ -3422,10 +3415,10 @@ int libxl_sched_sedf_domain_set(libxl_ct
>
>       int ret;
>
> -    ret = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
> +    ret = xc_sedf_domain_get(CTX->xch, domid,&period,&slice,&latency,
>                               &extratime,&weight);
>       if (ret != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
> +        LOGE(ERROR, "getting domain sched sedf");
>           return ERROR_FAIL;
>       }
>
> @@ -3440,20 +3433,21 @@ int libxl_sched_sedf_domain_set(libxl_ct
>       if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
>           weight = scinfo->weight;
>
> -    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +    ret = xc_sedf_domain_set(CTX->xch, domid, period, slice, latency,
>                               extratime, weight);
>       if ( ret<  0 ) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
> +        LOGE(ERROR, "setting domain sched sedf");
>           return ERROR_FAIL;
>       }
>
>       return 0;
>   }
>
> -int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> -                            libxl_domain_sched_params *scparams)
> +int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
> +                                  const libxl_domain_sched_params *scinfo)
>   {
> -    libxl_scheduler sched = scparams->sched;
> +    GC_INIT(ctx);
> +    libxl_scheduler sched = scinfo->sched;
>       int ret;
>
>       if (sched == LIBXL_SCHEDULER_UNKNOWN)
> @@ -3461,19 +3455,51 @@ int libxl__sched_set_params(libxl__gc *g
>
>       switch (sched) {
>       case LIBXL_SCHEDULER_SEDF:
> -        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> +        ret=sched_sedf_domain_set(gc, domid, scinfo);
>           break;
>       case LIBXL_SCHEDULER_CREDIT:
> -        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> +        ret=sched_credit_domain_set(gc, domid, scinfo);
>           break;
>       case LIBXL_SCHEDULER_CREDIT2:
> -        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> +        ret=sched_credit2_domain_set(gc, domid, scinfo);
>           break;
>       default:
>           LOG(ERROR, "Unknown scheduler");
>           ret=ERROR_INVAL;
>           break;
>       }
> +
> +    GC_FREE;
> +    return ret;
> +}
> +
> +int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *scinfo)
> +{
> +    GC_INIT(ctx);
> +    int ret;
> +
> +    libxl_domain_sched_params_init(scinfo);
> +
> +    scinfo->sched = libxl__domain_scheduler(gc, domid);
> +
> +    switch (scinfo->sched) {
> +    case LIBXL_SCHEDULER_SEDF:
> +        ret=sched_sedf_domain_get(gc, domid, scinfo);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT:
> +        ret=sched_credit_domain_get(gc, domid, scinfo);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT2:
> +        ret=sched_credit2_domain_get(gc, domid, scinfo);
> +        break;
> +    default:
> +        LOG(ERROR, "Unknown scheduler");
> +        ret=ERROR_INVAL;
> +        break;
> +    }
> +
> +    GC_FREE;
>       return ret;
>   }
>
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/libxl.h       Tue May 29 14:56:53 2012 +0100
> @@ -790,18 +790,11 @@ int libxl_sched_credit_params_set(libxl_
>   #define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
>   #define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
>
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo);
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo);
> -int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo);
> -int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo);
> -int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo);
> -int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo);
> +int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *params);
> +int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
> +                                  const libxl_domain_sched_params *params);
> +
>   int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
>                          libxl_trigger trigger, uint32_t vcpuid);
>   int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/libxl_dom.c   Tue May 29 14:56:53 2012 +0100
> @@ -174,7 +174,7 @@ int libxl__build_post(libxl__gc *gc, uin
>       char **ents, **hvm_ents;
>       int i;
>
> -    libxl__sched_set_params (gc, domid,&(info->sched_params));
> +    libxl_domain_sched_params_set(CTX, domid,&info->sched_params);
>
>       libxl_cpuid_apply_policy(ctx, domid);
>       if (info->cpuid != NULL)
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 29 14:56:53 2012 +0100
> @@ -4361,24 +4361,33 @@ int main_sharing(int argc, char **argv)
>       return 0;
>   }
>
> -static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
> +static int sched_domain_get(libxl_scheduler sched, int domid,
> +                            libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> -    rc = libxl_sched_credit_domain_get(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_credit_domain_get failed.\n");
> -
> -    return rc;
> -}
> -
> -static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
> +    rc = libxl_domain_sched_params_get(ctx, domid, scinfo);
> +    if (rc) {
> +        fprintf(stderr, "libxl_domain_sched_params_get failed.\n");
> +        return rc;
> +    }
> +    if (scinfo->sched != sched) {
> +        fprintf(stderr, "libxl_domain_sched_params_get returned %s not %s.\n",
> +                libxl_scheduler_to_string(scinfo->sched),
> +                libxl_scheduler_to_string(sched));
> +        return ERROR_INVAL;
> +    }
> +
> +    return 0;
> +}
> +
> +static int sched_domain_set(int domid, const libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> -    rc = libxl_sched_credit_domain_set(ctx, domid, scinfo);
> +    rc = libxl_domain_sched_params_set(ctx, domid, scinfo);
>       if (rc)
> -        fprintf(stderr, "libxl_sched_credit_domain_set failed.\n");
> +        fprintf(stderr, "libxl_domain_sched_params_set failed.\n");
>
>       return rc;
>   }
> @@ -4415,7 +4424,7 @@ static int sched_credit_domain_output(in
>           printf("%-33s %4s %6s %4s\n", "Name", "ID", "Weight", "Cap");
>           return 0;
>       }
> -    rc = sched_credit_domain_get(domid,&scinfo);
> +    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT, domid,&scinfo);
>       if (rc)
>           return rc;
>       domname = libxl_domid_to_name(ctx, domid);
> @@ -4450,30 +4459,6 @@ static int sched_credit_pool_output(uint
>       return 0;
>   }
>
> -static int sched_credit2_domain_get(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_credit2_domain_get(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_credit2_domain_get failed.\n");
> -
> -    return rc;
> -}
> -
> -static int sched_credit2_domain_set(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_credit2_domain_set(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_credit2_domain_set failed.\n");
> -
> -    return rc;
> -}
> -
>   static int sched_credit2_domain_output(
>       int domid)
>   {
> @@ -4485,7 +4470,7 @@ static int sched_credit2_domain_output(
>           printf("%-33s %4s %6s\n", "Name", "ID", "Weight");
>           return 0;
>       }
> -    rc = sched_credit2_domain_get(domid,&scinfo);
> +    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT2, domid,&scinfo);
>       if (rc)
>           return rc;
>       domname = libxl_domid_to_name(ctx, domid);
> @@ -4498,29 +4483,6 @@ static int sched_credit2_domain_output(
>       return 0;
>   }
>
> -static int sched_sedf_domain_get(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_sedf_domain_get(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_sedf_domain_get failed.\n");
> -
> -    return rc;
> -}
> -
> -static int sched_sedf_domain_set(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_sedf_domain_set(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_sedf_domain_set failed.\n");
> -    return rc;
> -}
> -
>   static int sched_sedf_domain_output(
>       int domid)
>   {
> @@ -4533,7 +4495,7 @@ static int sched_sedf_domain_output(
>                  "Slice", "Latency", "Extra", "Weight");
>           return 0;
>       }
> -    rc = sched_sedf_domain_get(domid,&scinfo);
> +    rc = sched_domain_get(LIBXL_SCHEDULER_SEDF, domid,&scinfo);
>       if (rc)
>           return rc;
>       domname = libxl_domid_to_name(ctx, domid);
> @@ -4744,7 +4706,7 @@ int main_sched_credit(int argc, char **a
>                   scinfo.weight = weight;
>               if (opt_c)
>                   scinfo.cap = cap;
> -            rc = sched_credit_domain_set(domid,&scinfo);
> +            rc = sched_domain_set(domid,&scinfo);
>               libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
> @@ -4819,7 +4781,7 @@ int main_sched_credit2(int argc, char **
>               scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
>               if (opt_w)
>                   scinfo.weight = weight;
> -            rc = sched_credit2_domain_set(domid,&scinfo);
> +            rc = sched_domain_set(domid,&scinfo);
>               libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
> @@ -4939,7 +4901,7 @@ int main_sched_sedf(int argc, char **arg
>                   scinfo.period = 0;
>                   scinfo.slice = 0;
>               }
> -            rc = sched_sedf_domain_set(domid,&scinfo);
> +            rc = sched_domain_set(domid,&scinfo);
>               libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:53:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:53:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5o6-0000Zp-Cu; Thu, 31 May 2012 13:52:54 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa5o5-0000Zg-6R
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:52:53 +0000
Received: from [85.158.139.83:58718] by server-6.bemta-5.messagelabs.com id
	2E/F7-31790-4B777CF4; Thu, 31 May 2012 13:52:52 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-6.tower-182.messagelabs.com!1338472369!27504630!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9846 invoked from network); 31 May 2012 13:52:51 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-6.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:52:51 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197040703"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 09:52:49 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 09:52:49 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa5o0-0005r2-Mm;
	Thu, 31 May 2012 14:52:48 +0100
Message-ID: <4FC7774C.1010801@eu.citrix.com>
Date: Thu, 31 May 2012 14:51:08 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Campbell <ian.campbell@citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
In-Reply-To: <9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 5 of 5 V2] libxl: expose a single get/setter
 for domain scheduler parameters
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 29/05/12 14:57, Ian Campbell wrote:
> # HG changeset patch
> # User Ian Campbell<ian.campbell@citrix.com>
> # Date 1338299813 -3600
> # Node ID 9094cf509df0e36d8c59ed131937b1ebc07cc2ad
> # Parent  d89b5eeb94519fdc056f91663676cf012c40b654
> libxl: expose a single get/setter for domain scheduler parameters.
>
> This is consistent with having a single struct for all parameters.
>
> Effectively renames and exports libxl__sched_set_params as
> libxl_domain_sched_params_set. libxl_domain_sched_params_get is new.
>
> Improve const correctness of the setters while I'm here.
>
> Use shorter LOG macros when touching a line anyway.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

BTW, we obviously need to have "xl sched-credit" for xm compatibility; 
but do you think it makes sense to make a generic xl command that's a 
analog to the generic libxl function, that looks up the scheduler for 
you on get, and accepts all the parameters on the command-line?  
(Doesn't need to be part of this series, obviously.)
>
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c       Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/libxl.c       Tue May 29 14:56:53 2012 +0100
> @@ -3196,15 +3196,15 @@ libxl_scheduler libxl_get_scheduler(libx
>       return sched;
>   }
>
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo)
> +static int sched_credit_domain_get(libxl__gc *gc, uint32_t domid,
> +                                   libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       int rc;
>
> -    rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
> +        LOGE(ERROR, "getting domain sched credit");
>           return ERROR_FAIL;
>       }
>
> @@ -3216,32 +3216,31 @@ int libxl_sched_credit_domain_get(libxl_
>       return 0;
>   }
>
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo)
> +static int sched_credit_domain_set(libxl__gc *gc, uint32_t domid,
> +                                   const libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit sdom;
>       xc_domaininfo_t domaininfo;
>       int rc;
>
> -    rc = xc_domain_getinfolist(ctx->xch, domid, 1,&domaininfo);
> +    rc = xc_domain_getinfolist(CTX->xch, domid, 1,&domaininfo);
>       if (rc<  0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list");
> +        LOGE(ERROR, "getting domain info list");
>           return ERROR_FAIL;
>       }
>       if (rc != 1 || domaininfo.domain != domid)
>           return ERROR_INVAL;
>
> -    rc = xc_sched_credit_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched credit");
> +        LOGE(ERROR, "getting domain sched credit");
>           return ERROR_FAIL;
>       }
>
>       if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
>           if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -                       "Cpu weight out of range, "
> -                       "valid values are within range from 1 to 65535");
> +            LOG(ERROR, "Cpu weight out of range, "
> +                "valid values are within range from 1 to 65535");
>               return ERROR_INVAL;
>           }
>           sdom.weight = scinfo->weight;
> @@ -3250,18 +3249,17 @@ int libxl_sched_credit_domain_set(libxl_
>       if (scinfo->cap != LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT) {
>           if (scinfo->cap<  0
>               || scinfo->cap>  (domaininfo.max_vcpu_id + 1) * 100) {
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -                "Cpu cap out of range, "
> +            LOG(ERROR, "Cpu cap out of range, "
>                   "valid range is from 0 to %d for specified number of vcpus",
> -                       ((domaininfo.max_vcpu_id + 1) * 100));
> +                ((domaininfo.max_vcpu_id + 1) * 100));
>               return ERROR_INVAL;
>           }
>           sdom.cap = scinfo->cap;
>       }
>
> -    rc = xc_sched_credit_domain_set(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit_domain_set(CTX->xch, domid,&sdom);
>       if ( rc<  0 ) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched credit");
> +        LOGE(ERROR, "setting domain sched credit");
>           return ERROR_FAIL;
>       }
>
> @@ -3329,16 +3327,15 @@ int libxl_sched_credit_params_set(libxl_
>       return 0;
>   }
>
> -int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo)
> +static int sched_credit2_domain_get(libxl__gc *gc, uint32_t domid,
> +                                    libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
>       int rc;
>
> -    rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit2_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                         "getting domain sched credit2");
> +        LOGE(ERROR, "getting domain sched credit2");
>           return ERROR_FAIL;
>       }
>
> @@ -3349,42 +3346,38 @@ int libxl_sched_credit2_domain_get(libxl
>       return 0;
>   }
>
> -int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo)
> +static int sched_credit2_domain_set(libxl__gc *gc, uint32_t domid,
> +                                    const libxl_domain_sched_params *scinfo)
>   {
>       struct xen_domctl_sched_credit2 sdom;
>       int rc;
>
> -    rc = xc_sched_credit2_domain_get(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit2_domain_get(CTX->xch, domid,&sdom);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                         "getting domain sched credit2");
> +        LOGE(ERROR, "getting domain sched credit2");
>           return ERROR_FAIL;
>       }
>
>       if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT) {
>           if (scinfo->weight<  1 || scinfo->weight>  65535) {
> -            LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
> -                       "Cpu weight out of range, "
> -                       "valid values are within range from "
> -                       "1 to 65535");
> +            LOG(ERROR, "Cpu weight out of range, "
> +                       "valid values are within range from 1 to 65535");
>               return ERROR_INVAL;
>           }
>           sdom.weight = scinfo->weight;
>       }
>
> -    rc = xc_sched_credit2_domain_set(ctx->xch, domid,&sdom);
> +    rc = xc_sched_credit2_domain_set(CTX->xch, domid,&sdom);
>       if ( rc<  0 ) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
> -                         "setting domain sched credit2");
> +        LOGE(ERROR, "setting domain sched credit2");
>           return ERROR_FAIL;
>       }
>
>       return 0;
>   }
>
> -int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo)
> +static int sched_sedf_domain_get(libxl__gc *gc, uint32_t domid,
> +                                 libxl_domain_sched_params *scinfo)
>   {
>       uint64_t period;
>       uint64_t slice;
> @@ -3393,10 +3386,10 @@ int libxl_sched_sedf_domain_get(libxl_ct
>       uint16_t weight;
>       int rc;
>
> -    rc = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
> +    rc = xc_sedf_domain_get(CTX->xch, domid,&period,&slice,&latency,
>                               &extratime,&weight);
>       if (rc != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
> +        LOGE(ERROR, "getting domain sched sedf");
>           return ERROR_FAIL;
>       }
>
> @@ -3411,8 +3404,8 @@ int libxl_sched_sedf_domain_get(libxl_ct
>       return 0;
>   }
>
> -int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo)
> +static int sched_sedf_domain_set(libxl__gc *gc, uint32_t domid,
> +                                 const libxl_domain_sched_params *scinfo)
>   {
>       uint64_t period;
>       uint64_t slice;
> @@ -3422,10 +3415,10 @@ int libxl_sched_sedf_domain_set(libxl_ct
>
>       int ret;
>
> -    ret = xc_sedf_domain_get(ctx->xch, domid,&period,&slice,&latency,
> +    ret = xc_sedf_domain_get(CTX->xch, domid,&period,&slice,&latency,
>                               &extratime,&weight);
>       if (ret != 0) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain sched sedf");
> +        LOGE(ERROR, "getting domain sched sedf");
>           return ERROR_FAIL;
>       }
>
> @@ -3440,20 +3433,21 @@ int libxl_sched_sedf_domain_set(libxl_ct
>       if (scinfo->weight != LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT)
>           weight = scinfo->weight;
>
> -    ret = xc_sedf_domain_set(ctx->xch, domid, period, slice, latency,
> +    ret = xc_sedf_domain_set(CTX->xch, domid, period, slice, latency,
>                               extratime, weight);
>       if ( ret<  0 ) {
> -        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "setting domain sched sedf");
> +        LOGE(ERROR, "setting domain sched sedf");
>           return ERROR_FAIL;
>       }
>
>       return 0;
>   }
>
> -int libxl__sched_set_params(libxl__gc *gc, uint32_t domid,
> -                            libxl_domain_sched_params *scparams)
> +int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
> +                                  const libxl_domain_sched_params *scinfo)
>   {
> -    libxl_scheduler sched = scparams->sched;
> +    GC_INIT(ctx);
> +    libxl_scheduler sched = scinfo->sched;
>       int ret;
>
>       if (sched == LIBXL_SCHEDULER_UNKNOWN)
> @@ -3461,19 +3455,51 @@ int libxl__sched_set_params(libxl__gc *g
>
>       switch (sched) {
>       case LIBXL_SCHEDULER_SEDF:
> -        ret=libxl_sched_sedf_domain_set(CTX, domid, scparams);
> +        ret=sched_sedf_domain_set(gc, domid, scinfo);
>           break;
>       case LIBXL_SCHEDULER_CREDIT:
> -        ret=libxl_sched_credit_domain_set(CTX, domid, scparams);
> +        ret=sched_credit_domain_set(gc, domid, scinfo);
>           break;
>       case LIBXL_SCHEDULER_CREDIT2:
> -        ret=libxl_sched_credit2_domain_set(CTX, domid, scparams);
> +        ret=sched_credit2_domain_set(gc, domid, scinfo);
>           break;
>       default:
>           LOG(ERROR, "Unknown scheduler");
>           ret=ERROR_INVAL;
>           break;
>       }
> +
> +    GC_FREE;
> +    return ret;
> +}
> +
> +int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *scinfo)
> +{
> +    GC_INIT(ctx);
> +    int ret;
> +
> +    libxl_domain_sched_params_init(scinfo);
> +
> +    scinfo->sched = libxl__domain_scheduler(gc, domid);
> +
> +    switch (scinfo->sched) {
> +    case LIBXL_SCHEDULER_SEDF:
> +        ret=sched_sedf_domain_get(gc, domid, scinfo);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT:
> +        ret=sched_credit_domain_get(gc, domid, scinfo);
> +        break;
> +    case LIBXL_SCHEDULER_CREDIT2:
> +        ret=sched_credit2_domain_get(gc, domid, scinfo);
> +        break;
> +    default:
> +        LOG(ERROR, "Unknown scheduler");
> +        ret=ERROR_INVAL;
> +        break;
> +    }
> +
> +    GC_FREE;
>       return ret;
>   }
>
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/libxl.h       Tue May 29 14:56:53 2012 +0100
> @@ -790,18 +790,11 @@ int libxl_sched_credit_params_set(libxl_
>   #define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT   -1
>   #define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
>
> -int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo);
> -int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                  libxl_domain_sched_params *scinfo);
> -int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo);
> -int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                   libxl_domain_sched_params *scinfo);
> -int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo);
> -int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
> -                                libxl_domain_sched_params *scinfo);
> +int libxl_domain_sched_params_get(libxl_ctx *ctx, uint32_t domid,
> +                                  libxl_domain_sched_params *params);
> +int libxl_domain_sched_params_set(libxl_ctx *ctx, uint32_t domid,
> +                                  const libxl_domain_sched_params *params);
> +
>   int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
>                          libxl_trigger trigger, uint32_t vcpuid);
>   int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/libxl_dom.c
> --- a/tools/libxl/libxl_dom.c   Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/libxl_dom.c   Tue May 29 14:56:53 2012 +0100
> @@ -174,7 +174,7 @@ int libxl__build_post(libxl__gc *gc, uin
>       char **ents, **hvm_ents;
>       int i;
>
> -    libxl__sched_set_params (gc, domid,&(info->sched_params));
> +    libxl_domain_sched_params_set(CTX, domid,&info->sched_params);
>
>       libxl_cpuid_apply_policy(ctx, domid);
>       if (info->cpuid != NULL)
> diff -r d89b5eeb9451 -r 9094cf509df0 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c  Tue May 29 14:56:53 2012 +0100
> +++ b/tools/libxl/xl_cmdimpl.c  Tue May 29 14:56:53 2012 +0100
> @@ -4361,24 +4361,33 @@ int main_sharing(int argc, char **argv)
>       return 0;
>   }
>
> -static int sched_credit_domain_get(int domid, libxl_domain_sched_params *scinfo)
> +static int sched_domain_get(libxl_scheduler sched, int domid,
> +                            libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> -    rc = libxl_sched_credit_domain_get(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_credit_domain_get failed.\n");
> -
> -    return rc;
> -}
> -
> -static int sched_credit_domain_set(int domid, libxl_domain_sched_params *scinfo)
> +    rc = libxl_domain_sched_params_get(ctx, domid, scinfo);
> +    if (rc) {
> +        fprintf(stderr, "libxl_domain_sched_params_get failed.\n");
> +        return rc;
> +    }
> +    if (scinfo->sched != sched) {
> +        fprintf(stderr, "libxl_domain_sched_params_get returned %s not %s.\n",
> +                libxl_scheduler_to_string(scinfo->sched),
> +                libxl_scheduler_to_string(sched));
> +        return ERROR_INVAL;
> +    }
> +
> +    return 0;
> +}
> +
> +static int sched_domain_set(int domid, const libxl_domain_sched_params *scinfo)
>   {
>       int rc;
>
> -    rc = libxl_sched_credit_domain_set(ctx, domid, scinfo);
> +    rc = libxl_domain_sched_params_set(ctx, domid, scinfo);
>       if (rc)
> -        fprintf(stderr, "libxl_sched_credit_domain_set failed.\n");
> +        fprintf(stderr, "libxl_domain_sched_params_set failed.\n");
>
>       return rc;
>   }
> @@ -4415,7 +4424,7 @@ static int sched_credit_domain_output(in
>           printf("%-33s %4s %6s %4s\n", "Name", "ID", "Weight", "Cap");
>           return 0;
>       }
> -    rc = sched_credit_domain_get(domid,&scinfo);
> +    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT, domid,&scinfo);
>       if (rc)
>           return rc;
>       domname = libxl_domid_to_name(ctx, domid);
> @@ -4450,30 +4459,6 @@ static int sched_credit_pool_output(uint
>       return 0;
>   }
>
> -static int sched_credit2_domain_get(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_credit2_domain_get(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_credit2_domain_get failed.\n");
> -
> -    return rc;
> -}
> -
> -static int sched_credit2_domain_set(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_credit2_domain_set(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_credit2_domain_set failed.\n");
> -
> -    return rc;
> -}
> -
>   static int sched_credit2_domain_output(
>       int domid)
>   {
> @@ -4485,7 +4470,7 @@ static int sched_credit2_domain_output(
>           printf("%-33s %4s %6s\n", "Name", "ID", "Weight");
>           return 0;
>       }
> -    rc = sched_credit2_domain_get(domid,&scinfo);
> +    rc = sched_domain_get(LIBXL_SCHEDULER_CREDIT2, domid,&scinfo);
>       if (rc)
>           return rc;
>       domname = libxl_domid_to_name(ctx, domid);
> @@ -4498,29 +4483,6 @@ static int sched_credit2_domain_output(
>       return 0;
>   }
>
> -static int sched_sedf_domain_get(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_sedf_domain_get(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_sedf_domain_get failed.\n");
> -
> -    return rc;
> -}
> -
> -static int sched_sedf_domain_set(
> -    int domid, libxl_domain_sched_params *scinfo)
> -{
> -    int rc;
> -
> -    rc = libxl_sched_sedf_domain_set(ctx, domid, scinfo);
> -    if (rc)
> -        fprintf(stderr, "libxl_sched_sedf_domain_set failed.\n");
> -    return rc;
> -}
> -
>   static int sched_sedf_domain_output(
>       int domid)
>   {
> @@ -4533,7 +4495,7 @@ static int sched_sedf_domain_output(
>                  "Slice", "Latency", "Extra", "Weight");
>           return 0;
>       }
> -    rc = sched_sedf_domain_get(domid,&scinfo);
> +    rc = sched_domain_get(LIBXL_SCHEDULER_SEDF, domid,&scinfo);
>       if (rc)
>           return rc;
>       domname = libxl_domid_to_name(ctx, domid);
> @@ -4744,7 +4706,7 @@ int main_sched_credit(int argc, char **a
>                   scinfo.weight = weight;
>               if (opt_c)
>                   scinfo.cap = cap;
> -            rc = sched_credit_domain_set(domid,&scinfo);
> +            rc = sched_domain_set(domid,&scinfo);
>               libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
> @@ -4819,7 +4781,7 @@ int main_sched_credit2(int argc, char **
>               scinfo.sched = LIBXL_SCHEDULER_CREDIT2;
>               if (opt_w)
>                   scinfo.weight = weight;
> -            rc = sched_credit2_domain_set(domid,&scinfo);
> +            rc = sched_domain_set(domid,&scinfo);
>               libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;
> @@ -4939,7 +4901,7 @@ int main_sched_sedf(int argc, char **arg
>                   scinfo.period = 0;
>                   scinfo.slice = 0;
>               }
> -            rc = sched_sedf_domain_set(domid,&scinfo);
> +            rc = sched_domain_set(domid,&scinfo);
>               libxl_domain_sched_params_dispose(&scinfo);
>               if (rc)
>                   return -rc;


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:58:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5tW-00019d-91; Thu, 31 May 2012 13:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1Sa5tU-00019T-MD
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:58:28 +0000
Received: from [85.158.143.35:50251] by server-1.bemta-4.messagelabs.com id
	63/53-27869-30977CF4; Thu, 31 May 2012 13:58:27 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338472705!6474660!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7829 invoked from network); 31 May 2012 13:58:25 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-5.tower-21.messagelabs.com with SMTP;
	31 May 2012 13:58:25 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id E6694C0073D;
	Thu, 31 May 2012 15:53:24 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id UB94KA-iQTYY; Thu, 31 May 2012 15:53:24 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 31 May 2012 15:53:24 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 8CDB649C58B;
	Thu, 31 May 2012 14:53:24 +0100 (BST)
Date: Thu, 31 May 2012 15:53:53 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531135353.GD14515@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE95@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FEE95@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 2/2] initcall sequence adjust for 3 funcs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just minor nitpicks below:

On Thu, May 31, 2012 at 12:59:05PM +0000, Liu, Jinsong wrote:
> From eb5ff1bef5dd3116fa2624b594b853e9334ccbce Mon Sep 17 00:00:00 2001
> From: root <root@ljsromley.bj.intel.com>
> Date: Fri, 1 Jun 2012 03:56:25 +0800
> Subject: [PATCH 2/2] initcall sequence adjust for 3 funcs

Change subject line to

Subject: [PATCH 2/2] x86, MCE, AMD: Adjust initcall sequence for xen

> there are 3 funcs need to be _initcalled in a logic sequence:
> 1. xen_late_init_mcelog
> 2. mcheck_init_device
> 3. threshold_init_device
> 
> xen_late_init_mcelog need register xen_mce_chrdev_device before
> native mce_chrdev_device registeration if running under xen platform;
> 
> mcheck_init_device should be inited before threshold_init_device to
> initialize mce_device, otherwise a NULL pointer would occur and panic.
> 
> so we use following _initcalls
> 1. device_initcall(xen_late_init_mcelog);
> 2. device_initcall_sync(mcheck_init_device);
> 3. late_initcall(threshold_init_device);
> 
> when running under xen platform, 1,2,3 would take effect;
> when running under baremetal, 2,3 would take effect;
> 
> Reported-by: Borislav Petkov <bp@amd64.org>
> Suggested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> ---
>  arch/x86/kernel/cpu/mcheck/mce_amd.c |   22 +++++++++++++++++++++-
>  1 files changed, 21 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> index f4873a6..6647858 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> @@ -777,4 +777,24 @@ static __init int threshold_init_device(void)
>  
>  	return 0;
>  }
> -device_initcall(threshold_init_device);
> +/*
> + * there are 3 funcs need to be _initcalled in a logic sequence:

			which need...

> + * 1. xen_late_init_mcelog
> + * 2. mcheck_init_device
> + * 3. threshold_init_device
> + *
> + * xen_late_init_mcelog need register xen_mce_chrdev_device before

			  s/need/must/

> + * native mce_chrdev_device registeration if running under xen platform;

				registration

> + *
> + * mcheck_init_device should be inited before threshold_init_device to
> + * initialize mce_device, otherwise a NULL pointer would occur and panic.

					a NULL ptr dereference will cause panic.

> + *
> + * so we use following _initcalls
> + * 1. device_initcall(xen_late_init_mcelog);
> + * 2. device_initcall_sync(mcheck_init_device);
> + * 3. late_initcall(threshold_init_device);
> + *
> + * when running under xen platform, 1,2,3 would take effect;
> + * when running under baremetal, 2,3 would take effect;

change both lines above to say:

"when running under xen, the initcall order is 1,2,3;
on baremetal, we skip 1 and we do only 2 and 3."

The rest looks ok and it tests fine here.

Once you've changed the minor stuff above, you can slap my

Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>

@Tony: if you have any objections, please scream now! :-)

Thanks Jinsong!

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 13:58:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 13:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5tW-00019d-91; Thu, 31 May 2012 13:58:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@amd64.org>) id 1Sa5tU-00019T-MD
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 13:58:28 +0000
Received: from [85.158.143.35:50251] by server-1.bemta-4.messagelabs.com id
	63/53-27869-30977CF4; Thu, 31 May 2012 13:58:27 +0000
X-Env-Sender: bp@amd64.org
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338472705!6474660!1
X-Originating-IP: [217.160.130.188]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7829 invoked from network); 31 May 2012 13:58:25 -0000
Received: from s15943758.onlinehome-server.info (HELO mail.x86-64.org)
	(217.160.130.188) by server-5.tower-21.messagelabs.com with SMTP;
	31 May 2012 13:58:25 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mail.x86-64.org (Postfix) with ESMTP id E6694C0073D;
	Thu, 31 May 2012 15:53:24 +0200 (CEST)
X-Virus-Scanned: Nedap ESD1 at s15943758.onlinehome-server.info
Received: from mail.x86-64.org ([127.0.0.1])
	by localhost (s15943758.onlinehome-server.info [127.0.0.1])
	(amavisd-new, port 10024)
	with ESMTP id UB94KA-iQTYY; Thu, 31 May 2012 15:53:24 +0200 (CEST)
Received: from gwo.osrc.amd.com (gwo.osrc.amd.com [10.97.0.252])
	by mail.x86-64.org (Postfix) with ESMTP;
	Thu, 31 May 2012 15:53:24 +0200 (CEST)
Received: from aftab.osrc.amd.com (aftab.osrc.amd.com [165.204.15.109])
	by gwo.osrc.amd.com (Postfix) with ESMTP id 8CDB649C58B;
	Thu, 31 May 2012 14:53:24 +0100 (BST)
Date: Thu, 31 May 2012 15:53:53 +0200
From: Borislav Petkov <bp@amd64.org>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531135353.GD14515@aftab.osrc.amd.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE95@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FEE95@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>, "Luck,
	Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [PATCH 2/2] initcall sequence adjust for 3 funcs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just minor nitpicks below:

On Thu, May 31, 2012 at 12:59:05PM +0000, Liu, Jinsong wrote:
> From eb5ff1bef5dd3116fa2624b594b853e9334ccbce Mon Sep 17 00:00:00 2001
> From: root <root@ljsromley.bj.intel.com>
> Date: Fri, 1 Jun 2012 03:56:25 +0800
> Subject: [PATCH 2/2] initcall sequence adjust for 3 funcs

Change subject line to

Subject: [PATCH 2/2] x86, MCE, AMD: Adjust initcall sequence for xen

> there are 3 funcs need to be _initcalled in a logic sequence:
> 1. xen_late_init_mcelog
> 2. mcheck_init_device
> 3. threshold_init_device
> 
> xen_late_init_mcelog need register xen_mce_chrdev_device before
> native mce_chrdev_device registeration if running under xen platform;
> 
> mcheck_init_device should be inited before threshold_init_device to
> initialize mce_device, otherwise a NULL pointer would occur and panic.
> 
> so we use following _initcalls
> 1. device_initcall(xen_late_init_mcelog);
> 2. device_initcall_sync(mcheck_init_device);
> 3. late_initcall(threshold_init_device);
> 
> when running under xen platform, 1,2,3 would take effect;
> when running under baremetal, 2,3 would take effect;
> 
> Reported-by: Borislav Petkov <bp@amd64.org>
> Suggested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> ---
>  arch/x86/kernel/cpu/mcheck/mce_amd.c |   22 +++++++++++++++++++++-
>  1 files changed, 21 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> index f4873a6..6647858 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> @@ -777,4 +777,24 @@ static __init int threshold_init_device(void)
>  
>  	return 0;
>  }
> -device_initcall(threshold_init_device);
> +/*
> + * there are 3 funcs need to be _initcalled in a logic sequence:

			which need...

> + * 1. xen_late_init_mcelog
> + * 2. mcheck_init_device
> + * 3. threshold_init_device
> + *
> + * xen_late_init_mcelog need register xen_mce_chrdev_device before

			  s/need/must/

> + * native mce_chrdev_device registeration if running under xen platform;

				registration

> + *
> + * mcheck_init_device should be inited before threshold_init_device to
> + * initialize mce_device, otherwise a NULL pointer would occur and panic.

					a NULL ptr dereference will cause panic.

> + *
> + * so we use following _initcalls
> + * 1. device_initcall(xen_late_init_mcelog);
> + * 2. device_initcall_sync(mcheck_init_device);
> + * 3. late_initcall(threshold_init_device);
> + *
> + * when running under xen platform, 1,2,3 would take effect;
> + * when running under baremetal, 2,3 would take effect;

change both lines above to say:

"when running under xen, the initcall order is 1,2,3;
on baremetal, we skip 1 and we do only 2 and 3."

The rest looks ok and it tests fine here.

Once you've changed the minor stuff above, you can slap my

Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>

@Tony: if you have any objections, please scream now! :-)

Thanks Jinsong!

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:00:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:00:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5uq-0001F4-OY; Thu, 31 May 2012 13:59:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa5uo-0001Eo-SC
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:59:50 +0000
Received: from [85.158.139.83:29948] by server-7.bemta-5.messagelabs.com id
	86/4C-15932-65977CF4; Thu, 31 May 2012 13:59:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338472789!28672583!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7152 invoked from network); 31 May 2012 13:59:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:59:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764248"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 13:59:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 14:59:49 +0100
Date: Thu, 31 May 2012 14:59:33 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
References: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Roger Pau Monne wrote:
> BSD systems already have a sys/queue.h file, which has more macros
> than the one Qemu uses, and some header files depend on having that
> macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
> systems and include the native one.
> 
> This is not a backport because the original patch is too dificult to
> backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.

The upstream commit message states:

"Problem: Our file sys-queue.h is a copy of the BSD file, but there are
some additions and it's not entirely compatible. Because of that, there
have been conflicts with system headers on BSD systems."

Wouldn't this be a problem if we apply the simple patch below?


> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  sys-queue.h |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/sys-queue.h b/sys-queue.h
> index cb6a4c8..55c26fe 100644
> --- a/sys-queue.h
> +++ b/sys-queue.h
> @@ -36,6 +36,12 @@
>   *      @(#)queue.h     8.5 (Berkeley) 8/20/94
>   */
>  
> +#include "config-host.h"
> +#ifdef _BSD
> +/* include native header before sys-queue.h */
> +#include <sys/queue.h>
> +#endif
> +
>  #ifndef _SYS_QUEUE_H_
>  #define _SYS_QUEUE_H_
>  
> -- 
> 1.7.7.5 (Apple Git-26)
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:00:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:00:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5uq-0001F4-OY; Thu, 31 May 2012 13:59:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa5uo-0001Eo-SC
	for xen-devel@lists.xen.org; Thu, 31 May 2012 13:59:50 +0000
Received: from [85.158.139.83:29948] by server-7.bemta-5.messagelabs.com id
	86/4C-15932-65977CF4; Thu, 31 May 2012 13:59:50 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-182.messagelabs.com!1338472789!28672583!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7152 invoked from network); 31 May 2012 13:59:49 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 13:59:49 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764248"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 13:59:48 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 14:59:49 +0100
Date: Thu, 31 May 2012 14:59:33 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
References: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Roger Pau Monne wrote:
> BSD systems already have a sys/queue.h file, which has more macros
> than the one Qemu uses, and some header files depend on having that
> macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
> systems and include the native one.
> 
> This is not a backport because the original patch is too dificult to
> backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.

The upstream commit message states:

"Problem: Our file sys-queue.h is a copy of the BSD file, but there are
some additions and it's not entirely compatible. Because of that, there
have been conflicts with system headers on BSD systems."

Wouldn't this be a problem if we apply the simple patch below?


> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> ---
>  sys-queue.h |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/sys-queue.h b/sys-queue.h
> index cb6a4c8..55c26fe 100644
> --- a/sys-queue.h
> +++ b/sys-queue.h
> @@ -36,6 +36,12 @@
>   *      @(#)queue.h     8.5 (Berkeley) 8/20/94
>   */
>  
> +#include "config-host.h"
> +#ifdef _BSD
> +/* include native header before sys-queue.h */
> +#include <sys/queue.h>
> +#endif
> +
>  #ifndef _SYS_QUEUE_H_
>  #define _SYS_QUEUE_H_
>  
> -- 
> 1.7.7.5 (Apple Git-26)
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:00:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5vb-0001My-6J; Thu, 31 May 2012 14:00:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa5vZ-0001Mj-Or
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:00:37 +0000
Received: from [85.158.143.99:49315] by server-2.bemta-4.messagelabs.com id
	C2/79-11595-48977CF4; Thu, 31 May 2012 14:00:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338472830!27361730!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8895 invoked from network); 31 May 2012 14:00:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:00:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764268"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:00:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:00:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa5vQ-0003ER-Nf; Thu, 31 May 2012 14:00:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa5vQ-000059-Mx;
	Thu, 31 May 2012 15:00:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31100.680880.18012@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:00:28 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338462966.17466.9.camel@zakaz.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
	<1338398761.14877.17.camel@dagon.hellion.org.uk>
	<20423.16431.321849.778723@mariner.uk.xensource.com>
	<1338462966.17466.9.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,	make toolstack_restore const-correct"):
> On Thu, 2012-05-31 at 10:55 +0100, Ian Jackson wrote:
> > I'm not particularly bothered about this and could write the type out
> > again in its other location in libxl_internal.h.  The compiler will
> > check it after all.
> > 
> > Let me know what you think best.
> 
> I prefer to write it out. Especially since the docs (such as they are)
> are in the struct too.

OK.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:00:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5vb-0001My-6J; Thu, 31 May 2012 14:00:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa5vZ-0001Mj-Or
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:00:37 +0000
Received: from [85.158.143.99:49315] by server-2.bemta-4.messagelabs.com id
	C2/79-11595-48977CF4; Thu, 31 May 2012 14:00:36 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338472830!27361730!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8895 invoked from network); 31 May 2012 14:00:31 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:00:31 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764268"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:00:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:00:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa5vQ-0003ER-Nf; Thu, 31 May 2012 14:00:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa5vQ-000059-Mx;
	Thu, 31 May 2012 15:00:28 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31100.680880.18012@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:00:28 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338462966.17466.9.camel@zakaz.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-2-git-send-email-ian.jackson@eu.citrix.com>
	<1338398761.14877.17.camel@dagon.hellion.org.uk>
	<20423.16431.321849.778723@mariner.uk.xensource.com>
	<1338462966.17466.9.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,
 make toolstack_restore const-correct
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 01/15] libxc: xc_domain_restore,	make toolstack_restore const-correct"):
> On Thu, 2012-05-31 at 10:55 +0100, Ian Jackson wrote:
> > I'm not particularly bothered about this and could write the type out
> > again in its other location in libxl_internal.h.  The compiler will
> > check it after all.
> > 
> > Let me know what you think best.
> 
> I prefer to write it out. Especially since the docs (such as they are)
> are in the struct too.

OK.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:01:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5wD-0001S6-Nd; Thu, 31 May 2012 14:01:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa5wC-0001Rq-Hi
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:01:16 +0000
Received: from [85.158.139.83:3499] by server-1.bemta-5.messagelabs.com id
	F5/49-21549-BA977CF4; Thu, 31 May 2012 14:01:15 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338472865!31296076!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21921 invoked from network); 31 May 2012 14:01:05 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-182.messagelabs.com with SMTP;
	31 May 2012 14:01:05 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78313935; Thu, 31 May 2012 16:01:04 +0200
Message-ID: <1338472857.9414.10.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Zhigang Wang <zhigang.x.wang@oracle.com>
Date: Thu, 31 May 2012 16:00:57 +0200
In-Reply-To: <4FC76ED8.1040800@oracle.com>
References: <4F7EE57D.4020207@oracle.com>
	<4F7F57A502000078000821B6@nat28.tlf.novell.com>
	<4F7F4B82.6040007@oracle.com>
	<1333784346.12209.108.camel@dagon.hellion.org.uk>
	<4FC76ED8.1040800@oracle.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Dan Magenheimer <dan.magenheimer@oracle.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] strange cpu number from xm info
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8657162756082680239=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============8657162756082680239==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-3Yx/a1xR1A2cLppRq7In"


--=-3Yx/a1xR1A2cLppRq7In
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 09:15 -0400, Zhigang Wang wrote:=20
> > We can and should. Are you able to send a patch for xl at least?
> >
> >
> Here is another case:
>=20
>     # xm info
>     ...
>     nr_cpus                : 48
>     nr_nodes               : 8
>     cores_per_socket       : 12
>     threads_per_core       : 1
>=20
> This HP BL685 G7 (4 socket x 12 cores).
>=20
> Actually sockets_per_node =3D 0.5. Xen calculates it correctly.
>=20
> Should we should s 0.5 for sockets_per_node? Or just ignore sockets_per_n=
ode?
>=20
I looked a bit into this and found out there has been some discussion
already on why such a "counter" (sockets_per_node) has been removed and
shouldn't be reintroduced, and those archs yielding fractional numbers
for it seem to be right that cause:

http://old-list-archives.xen.org/xen-changelog/2010-04/msg00074.html
http://old-list-archives.xen.org/archives/html/xen-devel/2010-02/msg00005.h=
tml

Not sure what TheRightThing is here, just wanted to point these out...

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-3Yx/a1xR1A2cLppRq7In
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HeZkACgkQk4XaBE3IOsSO+QCcDwPc3JI+9YFudtNsfGNh2aFz
H7IAn1a91j+cyK4yzqgQE9pB3/KHDF6F
=IvKv
-----END PGP SIGNATURE-----

--=-3Yx/a1xR1A2cLppRq7In--



--===============8657162756082680239==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8657162756082680239==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:01:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa5wD-0001S6-Nd; Thu, 31 May 2012 14:01:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa5wC-0001Rq-Hi
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:01:16 +0000
Received: from [85.158.139.83:3499] by server-1.bemta-5.messagelabs.com id
	F5/49-21549-BA977CF4; Thu, 31 May 2012 14:01:15 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338472865!31296076!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21921 invoked from network); 31 May 2012 14:01:05 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-182.messagelabs.com with SMTP;
	31 May 2012 14:01:05 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78313935; Thu, 31 May 2012 16:01:04 +0200
Message-ID: <1338472857.9414.10.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Zhigang Wang <zhigang.x.wang@oracle.com>
Date: Thu, 31 May 2012 16:00:57 +0200
In-Reply-To: <4FC76ED8.1040800@oracle.com>
References: <4F7EE57D.4020207@oracle.com>
	<4F7F57A502000078000821B6@nat28.tlf.novell.com>
	<4F7F4B82.6040007@oracle.com>
	<1333784346.12209.108.camel@dagon.hellion.org.uk>
	<4FC76ED8.1040800@oracle.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: Dan Magenheimer <dan.magenheimer@oracle.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] strange cpu number from xm info
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8657162756082680239=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============8657162756082680239==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-3Yx/a1xR1A2cLppRq7In"


--=-3Yx/a1xR1A2cLppRq7In
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 09:15 -0400, Zhigang Wang wrote:=20
> > We can and should. Are you able to send a patch for xl at least?
> >
> >
> Here is another case:
>=20
>     # xm info
>     ...
>     nr_cpus                : 48
>     nr_nodes               : 8
>     cores_per_socket       : 12
>     threads_per_core       : 1
>=20
> This HP BL685 G7 (4 socket x 12 cores).
>=20
> Actually sockets_per_node =3D 0.5. Xen calculates it correctly.
>=20
> Should we should s 0.5 for sockets_per_node? Or just ignore sockets_per_n=
ode?
>=20
I looked a bit into this and found out there has been some discussion
already on why such a "counter" (sockets_per_node) has been removed and
shouldn't be reintroduced, and those archs yielding fractional numbers
for it seem to be right that cause:

http://old-list-archives.xen.org/xen-changelog/2010-04/msg00074.html
http://old-list-archives.xen.org/archives/html/xen-devel/2010-02/msg00005.h=
tml

Not sure what TheRightThing is here, just wanted to point these out...

Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-3Yx/a1xR1A2cLppRq7In
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HeZkACgkQk4XaBE3IOsSO+QCcDwPc3JI+9YFudtNsfGNh2aFz
H7IAn1a91j+cyK4yzqgQE9pB3/KHDF6F
=IvKv
-----END PGP SIGNATURE-----

--=-3Yx/a1xR1A2cLppRq7In--



--===============8657162756082680239==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============8657162756082680239==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:07:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa62T-0001zm-Iy; Thu, 31 May 2012 14:07:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa62S-0001zh-Ir
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:07:44 +0000
Received: from [85.158.143.99:59059] by server-3.bemta-4.messagelabs.com id
	FE/AE-04252-F2B77CF4; Thu, 31 May 2012 14:07:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338473262!28419628!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2032 invoked from network); 31 May 2012 14:07:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:07:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764639"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:07:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:07:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa62D-0003Gn-F5; Thu, 31 May 2012 14:07:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa62D-00010g-Dq;
	Thu, 31 May 2012 15:07:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31521.385089.619410@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:07:29 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338463234.17466.13.camel@zakaz.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
	<1338450760.17466.5.camel@zakaz.uk.xensource.com>
	<20423.18608.217854.76485@mariner.uk.xensource.com>
	<1338463234.17466.13.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix data" facilit"):
> On Thu, 2012-05-31 at 11:32 +0100, Ian Jackson wrote:
> >   +     * It is safe for this to be called immediately after _start, as
> >   +     * is documented in the public comment.  _start's caller must have
> >   +     * the mutex locked, so other threads don't get to mess with the
> >   +     * contents, and the fd events cannot happen reentrantly.
> 
> Perhaps this could be more explicit about having to hold the mutex from
> before _start until after any _prefixdata calls?

OK:

  /* Inserts literal data into the output stream.  The data is copied.
   * May safely be used only immediately after libxl__datacopier_start
   * (before the ctx is unlocked).  But may be called multiple times.
   * NB exceeding maxsz will fail an assertion! */
  _hidden void libxl__datacopier_prefixdata(libxl__egc*, libxl__datacopier_state*,
                                            const void *data, size_t len);

> "The mutex" here is the CTX lock, right?

Yes.  I've clarified that by writing `ctx locked' instead.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:07:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa62T-0001zm-Iy; Thu, 31 May 2012 14:07:45 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa62S-0001zh-Ir
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:07:44 +0000
Received: from [85.158.143.99:59059] by server-3.bemta-4.messagelabs.com id
	FE/AE-04252-F2B77CF4; Thu, 31 May 2012 14:07:43 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338473262!28419628!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2032 invoked from network); 31 May 2012 14:07:43 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:07:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764639"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:07:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:07:29 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa62D-0003Gn-F5; Thu, 31 May 2012 14:07:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa62D-00010g-Dq;
	Thu, 31 May 2012 15:07:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31521.385089.619410@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:07:29 +0100
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1338463234.17466.13.camel@zakaz.uk.xensource.com>
References: <1338394606-22693-1-git-send-email-ian.jackson@eu.citrix.com>
	<1338394606-22693-10-git-send-email-ian.jackson@eu.citrix.com>
	<1338450760.17466.5.camel@zakaz.uk.xensource.com>
	<20423.18608.217854.76485@mariner.uk.xensource.com>
	<1338463234.17466.13.camel@zakaz.uk.xensource.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix
 data" facilit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ian Campbell writes ("Re: [Xen-devel] [PATCH 09/15] libxl: datacopier: provide "prefix data" facilit"):
> On Thu, 2012-05-31 at 11:32 +0100, Ian Jackson wrote:
> >   +     * It is safe for this to be called immediately after _start, as
> >   +     * is documented in the public comment.  _start's caller must have
> >   +     * the mutex locked, so other threads don't get to mess with the
> >   +     * contents, and the fd events cannot happen reentrantly.
> 
> Perhaps this could be more explicit about having to hold the mutex from
> before _start until after any _prefixdata calls?

OK:

  /* Inserts literal data into the output stream.  The data is copied.
   * May safely be used only immediately after libxl__datacopier_start
   * (before the ctx is unlocked).  But may be called multiple times.
   * NB exceeding maxsz will fail an assertion! */
  _hidden void libxl__datacopier_prefixdata(libxl__egc*, libxl__datacopier_state*,
                                            const void *data, size_t len);

> "The mutex" here is the CTX lock, right?

Yes.  I've clarified that by writing `ctx locked' instead.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:10:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:10:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa657-000260-4y; Thu, 31 May 2012 14:10:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa655-00025q-5I
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:10:27 +0000
Received: from [85.158.139.83:20085] by server-1.bemta-5.messagelabs.com id
	6D/E0-21549-2DB77CF4; Thu, 31 May 2012 14:10:26 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338473425!24050807!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30765 invoked from network); 31 May 2012 14:10:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:10:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764740"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:10:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:10:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa652-0003Hv-R3; Thu, 31 May 2012 14:10:24 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa652-00011f-Q9;
	Thu, 31 May 2012 15:10:24 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31696.797148.796736@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:10:24 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <a0776cf2b6ac4bccf0f5.1338466266@Solace>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
	just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 01 of 11] libxc: abstract xenctl_cpumap to just xenctl_map"):
> More specifically:
>  1. replaces xenctl_cpumap with xenctl_map
>  2. provides bitmap_to_xenctl_map and the reverse;
>  3. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
>     and the reverse;
> 
> Other than #3, no functional changes. Interface only slightly
> afected.

This looks plausible to me but it needs a review from a hypervisor
maintainer too.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:10:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:10:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa657-000260-4y; Thu, 31 May 2012 14:10:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa655-00025q-5I
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:10:27 +0000
Received: from [85.158.139.83:20085] by server-1.bemta-5.messagelabs.com id
	6D/E0-21549-2DB77CF4; Thu, 31 May 2012 14:10:26 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338473425!24050807!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30765 invoked from network); 31 May 2012 14:10:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:10:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764740"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:10:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:10:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa652-0003Hv-R3; Thu, 31 May 2012 14:10:24 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa652-00011f-Q9;
	Thu, 31 May 2012 15:10:24 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31696.797148.796736@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:10:24 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <a0776cf2b6ac4bccf0f5.1338466266@Solace>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
	just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 01 of 11] libxc: abstract xenctl_cpumap to just xenctl_map"):
> More specifically:
>  1. replaces xenctl_cpumap with xenctl_map
>  2. provides bitmap_to_xenctl_map and the reverse;
>  3. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
>     and the reverse;
> 
> Other than #3, no functional changes. Interface only slightly
> afected.

This looks plausible to me but it needs a review from a hypervisor
maintainer too.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:11:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa668-0002B5-JT; Thu, 31 May 2012 14:11:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa667-0002At-Jn
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:11:31 +0000
Received: from [85.158.143.99:34324] by server-2.bemta-4.messagelabs.com id
	5A/75-11595-21C77CF4; Thu, 31 May 2012 14:11:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1338473490!23706390!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11355 invoked from network); 31 May 2012 14:11:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:11:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764767"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:11:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:11:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa665-0003IO-Pg; Thu, 31 May 2012 14:11:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa665-00011l-Op;
	Thu, 31 May 2012 15:11:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31761.741288.214148@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:11:29 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <82ac47424d0a8888d702.1338466267@Solace>
References: <patchbomb.1338466265@Solace>
	<82ac47424d0a8888d702.1338466267@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02 of 11] libxl: abstract libxl_cpumap to
	just libxl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 02 of 11] libxl: abstract libxl_cpumap to just libxl_map"):
> More specifically:
>  1. introduces struct libxl_map;
>  2. re-implement libxl_cpumap_* on top of struct libxl_map_*;
> 
> No functional nor interface changes at all.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:11:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa668-0002B5-JT; Thu, 31 May 2012 14:11:32 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa667-0002At-Jn
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:11:31 +0000
Received: from [85.158.143.99:34324] by server-2.bemta-4.messagelabs.com id
	5A/75-11595-21C77CF4; Thu, 31 May 2012 14:11:30 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1338473490!23706390!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11355 invoked from network); 31 May 2012 14:11:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-6.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:11:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764767"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:11:30 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:11:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa665-0003IO-Pg; Thu, 31 May 2012 14:11:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa665-00011l-Op;
	Thu, 31 May 2012 15:11:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31761.741288.214148@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:11:29 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <82ac47424d0a8888d702.1338466267@Solace>
References: <patchbomb.1338466265@Solace>
	<82ac47424d0a8888d702.1338466267@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02 of 11] libxl: abstract libxl_cpumap to
	just libxl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 02 of 11] libxl: abstract libxl_cpumap to just libxl_map"):
> More specifically:
>  1. introduces struct libxl_map;
>  2. re-implement libxl_cpumap_* on top of struct libxl_map_*;
> 
> No functional nor interface changes at all.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:13:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:13:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa67b-0002Id-2r; Thu, 31 May 2012 14:13:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa67Z-0002IS-KG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:13:01 +0000
Received: from [85.158.143.99:47528] by server-2.bemta-4.messagelabs.com id
	03/99-11595-C6C77CF4; Thu, 31 May 2012 14:13:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338473580!25418709!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30217 invoked from network); 31 May 2012 14:13:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:13:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764798"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:12:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:12:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa67B-0003Ik-BV; Thu, 31 May 2012 14:12:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa67B-00011p-AO;
	Thu, 31 May 2012 15:12:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31829.306495.960607@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:12:37 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <7d16724e5eced0986454.1338466268@Solace>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 03 of 11] libxc, libxl: introduce xc_nodemap_t and libxl_nodemap"):
> As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.

Wouldn't it be possible to just use `libxl_map' type directly, with
the caller knowing whether it contains node or cpu numbers ?

As it is this has a whole lot of duplicated wrapper code.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:13:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:13:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa67b-0002Id-2r; Thu, 31 May 2012 14:13:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa67Z-0002IS-KG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:13:01 +0000
Received: from [85.158.143.99:47528] by server-2.bemta-4.messagelabs.com id
	03/99-11595-C6C77CF4; Thu, 31 May 2012 14:13:00 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-216.messagelabs.com!1338473580!25418709!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30217 invoked from network); 31 May 2012 14:13:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-2.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:13:00 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764798"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:12:37 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:12:37 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa67B-0003Ik-BV; Thu, 31 May 2012 14:12:37 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa67B-00011p-AO;
	Thu, 31 May 2012 15:12:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31829.306495.960607@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:12:37 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <7d16724e5eced0986454.1338466268@Solace>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 03 of 11] libxc, libxl: introduce xc_nodemap_t and libxl_nodemap"):
> As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.

Wouldn't it be possible to just use `libxl_map' type directly, with
the caller knowing whether it contains node or cpu numbers ?

As it is this has a whole lot of duplicated wrapper code.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:13:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:13:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa67g-0002Js-Kq; Thu, 31 May 2012 14:13:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1Sa67e-0002JQ-LT
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:13:06 +0000
Received: from [85.158.143.99:48023] by server-1.bemta-4.messagelabs.com id
	2F/8A-27869-17C77CF4; Thu, 31 May 2012 14:13:05 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338473583!21097627!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26349 invoked from network); 31 May 2012 14:13:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:13:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197046126"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:13:03 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:13:02 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1Sa67a-0006Yj-H3;
	Thu, 31 May 2012 15:13:02 +0100
Message-ID: <4FC77C6D.5040704@citrix.com>
Date: Thu, 31 May 2012 15:13:01 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
References: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
	<alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> On Wed, 30 May 2012, Roger Pau Monne wrote:
>> BSD systems already have a sys/queue.h file, which has more macros
>> than the one Qemu uses, and some header files depend on having that
>> macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
>> systems and include the native one.
>>
>> This is not a backport because the original patch is too dificult to
>> backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.
>
> The upstream commit message states:
>
> "Problem: Our file sys-queue.h is a copy of the BSD file, but there are
> some additions and it's not entirely compatible. Because of that, there
> have been conflicts with system headers on BSD systems."
>
> Wouldn't this be a problem if we apply the simple patch below?

Doing a diff -bB shows that the Qemu version is just a stripped version 
of the original NetBSD header, with many macros removed, but no new ones 
added, so I think the patch is safe.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:13:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:13:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa67g-0002Js-Kq; Thu, 31 May 2012 14:13:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1Sa67e-0002JQ-LT
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:13:06 +0000
Received: from [85.158.143.99:48023] by server-1.bemta-4.messagelabs.com id
	2F/8A-27869-17C77CF4; Thu, 31 May 2012 14:13:05 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338473583!21097627!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26349 invoked from network); 31 May 2012 14:13:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:13:05 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197046126"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:13:03 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:13:02 -0400
Received: from [10.80.3.120] (helo=dhcp-3-120.uk.xensource.com)	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<roger.pau@citrix.com>)	id 1Sa67a-0006Yj-H3;
	Thu, 31 May 2012 15:13:02 +0100
Message-ID: <4FC77C6D.5040704@citrix.com>
Date: Thu, 31 May 2012 15:13:01 +0100
From: Roger Pau Monne <roger.pau@citrix.com>
User-Agent: Postbox 3.0.3 (Macintosh/20120304)
MIME-Version: 1.0
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
References: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
	<alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Stefano Stabellini wrote:
> On Wed, 30 May 2012, Roger Pau Monne wrote:
>> BSD systems already have a sys/queue.h file, which has more macros
>> than the one Qemu uses, and some header files depend on having that
>> macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
>> systems and include the native one.
>>
>> This is not a backport because the original patch is too dificult to
>> backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.
>
> The upstream commit message states:
>
> "Problem: Our file sys-queue.h is a copy of the BSD file, but there are
> some additions and it's not entirely compatible. Because of that, there
> have been conflicts with system headers on BSD systems."
>
> Wouldn't this be a problem if we apply the simple patch below?

Doing a diff -bB shows that the Qemu version is just a stripped version 
of the original NetBSD header, with many macros removed, but no new ones 
added, so I think the patch is safe.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:13:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:13:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa685-0002P4-24; Thu, 31 May 2012 14:13:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa683-0002OX-Sb
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:13:31 +0000
Received: from [85.158.143.99:20098] by server-2.bemta-4.messagelabs.com id
	FA/FA-11595-B8C77CF4; Thu, 31 May 2012 14:13:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338473610!25463452!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27961 invoked from network); 31 May 2012 14:13:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:13:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764825"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:13:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:13:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa681-0003J0-Le; Thu, 31 May 2012 14:13:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa681-00011v-Kd;
	Thu, 31 May 2012 15:13:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31878.217570.145066@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:13:26 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <2cc22366943347deab77.1338466269@Solace>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 04 of 11] libxl: expand the libxl_{cpu,node}map API a bit"):
> +void libxl_cpumap_copy(/*XXX libxl_ctx *ctx,*/ libxl_cpumap *dst,

XXX ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:13:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:13:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa685-0002P4-24; Thu, 31 May 2012 14:13:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa683-0002OX-Sb
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:13:31 +0000
Received: from [85.158.143.99:20098] by server-2.bemta-4.messagelabs.com id
	FA/FA-11595-B8C77CF4; Thu, 31 May 2012 14:13:31 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338473610!25463452!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27961 invoked from network); 31 May 2012 14:13:30 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:13:30 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764825"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:13:29 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:13:30 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa681-0003J0-Le; Thu, 31 May 2012 14:13:29 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa681-00011v-Kd;
	Thu, 31 May 2012 15:13:29 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.31878.217570.145066@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:13:26 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <2cc22366943347deab77.1338466269@Solace>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 04 of 11] libxl: expand the libxl_{cpu,node}map API a bit"):
> +void libxl_cpumap_copy(/*XXX libxl_ctx *ctx,*/ libxl_cpumap *dst,

XXX ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:15:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:15:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6AE-0002is-KF; Thu, 31 May 2012 14:15:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6AC-0002iU-OY
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:15:45 +0000
Received: from [85.158.143.35:25691] by server-3.bemta-4.messagelabs.com id
	D5/93-04252-F0D77CF4; Thu, 31 May 2012 14:15:43 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338473738!7275513!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30368 invoked from network); 31 May 2012 14:15:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:15:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197046653"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:15:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:15:38 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6A5-0006fX-MZ;
	Thu, 31 May 2012 15:15:37 +0100
Message-ID: <4FC77CA5.1010308@eu.citrix.com>
Date: Thu, 31 May 2012 15:13:57 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<1338462397-32111-2-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1338462397-32111-2-git-send-email-david.vrabel@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/3] trace: allow for different sub-classes
 of TRC_PV_* tracepoints
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 12:06, David Vrabel wrote:
> From: David Vrabel<david.vrabel@citrix.com>
>
> We want to add additional sub-classes for TRC_PV tracepoints and to be
> able to only capture these new sub-classes.  This cannot currently be
> done as the existing tracepoints all use a sub-class of 0xf.
>
> So, redefine the PV events to use a new sub-class.  All the current
> tracepoints are tracing entry points to the hypervisor so the
> sub-class is named TRC_PV_ENTRY.
>
> This change does not affect xenalyze as that only looks at the main
> class and the event number and does not use the sub-class field.
>
> Signed-off-by: Frediano Ziglio<frediano.ziglio@citrix.com>
> Signed-off-by: David Vrabel<david.vrabel@citrix.com>
As post-4.2 material:

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
>   tools/xentrace/formats     |   44 ++++++++++++++++++++++----------------------
>   xen/include/public/trace.h |   35 +++++++++++++++++++++--------------
>   2 files changed, 43 insertions(+), 36 deletions(-)
>
> diff --git a/tools/xentrace/formats b/tools/xentrace/formats
> index 04e54d5..71220c0 100644
> --- a/tools/xentrace/formats
> +++ b/tools/xentrace/formats
> @@ -82,28 +82,28 @@
>   0x0010f002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_unmap    [ domid = %(1)d ]
>   0x0010f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_transfer [ domid = %(1)d ]
>
> -0x0020f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
> -0x0020f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
> -0x0020f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
> -0x0020f103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
> -0x0020f004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
> -0x0020f104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
> -0x0020f005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
> -0x0020f105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
> -0x0020f006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
> -0x0020f106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
> -0x0020f007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
> -0x0020f107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
> -0x0020f008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> -0x0020f108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> -0x0020f009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
> -0x0020f109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
> -0x0020f00a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
> -0x0020f10a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
> -0x0020f00b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> -0x0020f10b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> -0x0020f00c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> -0x0020f10c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> +0x00201001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
> +0x00201101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
> +0x00201003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
> +0x00201103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
> +0x00201004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
> +0x00201104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
> +0x00201005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
> +0x00201105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
> +0x00201006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
> +0x00201106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
> +0x00201007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
> +0x00201107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
> +0x00201008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> +0x00201108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> +0x00201009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
> +0x00201109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
> +0x0020100a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
> +0x0020110a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
> +0x0020100b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
>
>   0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
>   0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index 0dfabe9..1f154bb 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -94,20 +94,19 @@
>   #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
>   #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
>
> -
> -#define TRC_PV_HYPERCALL             (TRC_PV +  1)
> -#define TRC_PV_TRAP                  (TRC_PV +  3)
> -#define TRC_PV_PAGE_FAULT            (TRC_PV +  4)
> -#define TRC_PV_FORCED_INVALID_OP     (TRC_PV +  5)
> -#define TRC_PV_EMULATE_PRIVOP        (TRC_PV +  6)
> -#define TRC_PV_EMULATE_4GB           (TRC_PV +  7)
> -#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV +  8)
> -#define TRC_PV_PAGING_FIXUP          (TRC_PV +  9)
> -#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
> -#define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
> -#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
> -  /* Indicates that addresses in trace record are 64 bits */
> -#define TRC_64_FLAG               (0x100)
> +#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
> +
> +#define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
> +#define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
> +#define TRC_PV_PAGE_FAULT            (TRC_PV_ENTRY +  4)
> +#define TRC_PV_FORCED_INVALID_OP     (TRC_PV_ENTRY +  5)
> +#define TRC_PV_EMULATE_PRIVOP        (TRC_PV_ENTRY +  6)
> +#define TRC_PV_EMULATE_4GB           (TRC_PV_ENTRY +  7)
> +#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV_ENTRY +  8)
> +#define TRC_PV_PAGING_FIXUP          (TRC_PV_ENTRY +  9)
> +#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
> +#define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
> +#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
>
>   #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
>   #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
> @@ -187,6 +186,14 @@
>   #define TRC_HW_IRQ_UNMAPPED_VECTOR    (TRC_HW_IRQ + 0x7)
>   #define TRC_HW_IRQ_HANDLED            (TRC_HW_IRQ + 0x8)
>
> +/*
> + * Event Flags
> + *
> + * Some events (e.g, TRC_PV_TRAP and TRC_HVM_IOMEM_READ) have multiple
> + * record formats.  These event flags distinguish between the
> + * different formats.
> + */
> +#define TRC_64_FLAG 0x100 /* Addresses are 64 bits (instead of 32 bits) */
>
>   /* This structure represents a single trace buffer record. */
>   struct t_rec {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:15:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:15:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6AE-0002is-KF; Thu, 31 May 2012 14:15:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6AC-0002iU-OY
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:15:45 +0000
Received: from [85.158.143.35:25691] by server-3.bemta-4.messagelabs.com id
	D5/93-04252-F0D77CF4; Thu, 31 May 2012 14:15:43 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338473738!7275513!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30368 invoked from network); 31 May 2012 14:15:41 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:15:41 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197046653"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:15:38 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:15:38 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6A5-0006fX-MZ;
	Thu, 31 May 2012 15:15:37 +0100
Message-ID: <4FC77CA5.1010308@eu.citrix.com>
Date: Thu, 31 May 2012 15:13:57 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<1338462397-32111-2-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1338462397-32111-2-git-send-email-david.vrabel@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 1/3] trace: allow for different sub-classes
 of TRC_PV_* tracepoints
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 12:06, David Vrabel wrote:
> From: David Vrabel<david.vrabel@citrix.com>
>
> We want to add additional sub-classes for TRC_PV tracepoints and to be
> able to only capture these new sub-classes.  This cannot currently be
> done as the existing tracepoints all use a sub-class of 0xf.
>
> So, redefine the PV events to use a new sub-class.  All the current
> tracepoints are tracing entry points to the hypervisor so the
> sub-class is named TRC_PV_ENTRY.
>
> This change does not affect xenalyze as that only looks at the main
> class and the event number and does not use the sub-class field.
>
> Signed-off-by: Frediano Ziglio<frediano.ziglio@citrix.com>
> Signed-off-by: David Vrabel<david.vrabel@citrix.com>
As post-4.2 material:

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
>   tools/xentrace/formats     |   44 ++++++++++++++++++++++----------------------
>   xen/include/public/trace.h |   35 +++++++++++++++++++++--------------
>   2 files changed, 43 insertions(+), 36 deletions(-)
>
> diff --git a/tools/xentrace/formats b/tools/xentrace/formats
> index 04e54d5..71220c0 100644
> --- a/tools/xentrace/formats
> +++ b/tools/xentrace/formats
> @@ -82,28 +82,28 @@
>   0x0010f002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_unmap    [ domid = %(1)d ]
>   0x0010f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_transfer [ domid = %(1)d ]
>
> -0x0020f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
> -0x0020f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
> -0x0020f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
> -0x0020f103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
> -0x0020f004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
> -0x0020f104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
> -0x0020f005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
> -0x0020f105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
> -0x0020f006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
> -0x0020f106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
> -0x0020f007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
> -0x0020f107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
> -0x0020f008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> -0x0020f108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> -0x0020f009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
> -0x0020f109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
> -0x0020f00a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
> -0x0020f10a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
> -0x0020f00b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> -0x0020f10b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> -0x0020f00c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> -0x0020f10c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> +0x00201001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
> +0x00201101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
> +0x00201003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
> +0x00201103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
> +0x00201004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
> +0x00201104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
> +0x00201005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
> +0x00201105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
> +0x00201006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
> +0x00201106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
> +0x00201007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
> +0x00201107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
> +0x00201008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> +0x00201108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
> +0x00201009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
> +0x00201109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
> +0x0020100a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
> +0x0020110a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
> +0x0020100b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
>
>   0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
>   0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index 0dfabe9..1f154bb 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -94,20 +94,19 @@
>   #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
>   #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
>
> -
> -#define TRC_PV_HYPERCALL             (TRC_PV +  1)
> -#define TRC_PV_TRAP                  (TRC_PV +  3)
> -#define TRC_PV_PAGE_FAULT            (TRC_PV +  4)
> -#define TRC_PV_FORCED_INVALID_OP     (TRC_PV +  5)
> -#define TRC_PV_EMULATE_PRIVOP        (TRC_PV +  6)
> -#define TRC_PV_EMULATE_4GB           (TRC_PV +  7)
> -#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV +  8)
> -#define TRC_PV_PAGING_FIXUP          (TRC_PV +  9)
> -#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV + 10)
> -#define TRC_PV_PTWR_EMULATION        (TRC_PV + 11)
> -#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV + 12)
> -  /* Indicates that addresses in trace record are 64 bits */
> -#define TRC_64_FLAG               (0x100)
> +#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
> +
> +#define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
> +#define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
> +#define TRC_PV_PAGE_FAULT            (TRC_PV_ENTRY +  4)
> +#define TRC_PV_FORCED_INVALID_OP     (TRC_PV_ENTRY +  5)
> +#define TRC_PV_EMULATE_PRIVOP        (TRC_PV_ENTRY +  6)
> +#define TRC_PV_EMULATE_4GB           (TRC_PV_ENTRY +  7)
> +#define TRC_PV_MATH_STATE_RESTORE    (TRC_PV_ENTRY +  8)
> +#define TRC_PV_PAGING_FIXUP          (TRC_PV_ENTRY +  9)
> +#define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
> +#define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
> +#define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
>
>   #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
>   #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
> @@ -187,6 +186,14 @@
>   #define TRC_HW_IRQ_UNMAPPED_VECTOR    (TRC_HW_IRQ + 0x7)
>   #define TRC_HW_IRQ_HANDLED            (TRC_HW_IRQ + 0x8)
>
> +/*
> + * Event Flags
> + *
> + * Some events (e.g, TRC_PV_TRAP and TRC_HVM_IOMEM_READ) have multiple
> + * record formats.  These event flags distinguish between the
> + * different formats.
> + */
> +#define TRC_64_FLAG 0x100 /* Addresses are 64 bits (instead of 32 bits) */
>
>   /* This structure represents a single trace buffer record. */
>   struct t_rec {


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:16:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:16:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6Au-0002pY-E3; Thu, 31 May 2012 14:16:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6As-0002p7-3V
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:16:26 +0000
Received: from [85.158.139.83:17549] by server-6.bemta-5.messagelabs.com id
	EA/E5-31790-93D77CF4; Thu, 31 May 2012 14:16:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338473782!31418912!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12343 invoked from network); 31 May 2012 14:16:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:16:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26366648"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:16:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:16:11 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6Ad-0006gE-BA;
	Thu, 31 May 2012 15:16:11 +0100
Message-ID: <4FC77CC7.1010505@eu.citrix.com>
Date: Thu, 31 May 2012 15:14:31 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<1338462397-32111-3-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1338462397-32111-3-git-send-email-david.vrabel@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2/3] trace: improve usefulness of hypercall
	trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 12:06, David Vrabel wrote:
> From: David Vrabel<david.vrabel@citrix.com>
>
> Trace hypercalls using a more useful trace record format.
>
> The EIP field is removed (it was always somewhere in the hypercall
> page) and include selected hypercall arguments (e.g., the number of
> calls in a multicall, and the number of PTE updates in an mmu_update
> etc.).  12 bits in the first extra word are used to indicate which
> arguments are present in the record and what size they are (32 or
> 64-bit).
>
> This is an incompatible record format so a new event ID is used so
> tools can distinguish between the two formats.
>
> Signed-off-by: David Vrabel<david.vrabel@citrix.com>
[post-4.2]
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
>   tools/xentrace/formats         |    1 +
>   tools/xentrace/xentrace_format |    6 +++++
>   xen/arch/x86/trace.c           |   35 +++++++++++++-----------------
>   xen/common/trace.c             |   45 ++++++++++++++++++++++++++++++++++++++++
>   xen/include/public/trace.h     |   30 ++++++++++++++++++++++++++
>   xen/include/xen/trace.h        |    2 +
>   6 files changed, 99 insertions(+), 20 deletions(-)
>
> diff --git a/tools/xentrace/formats b/tools/xentrace/formats
> index 71220c0..fa935c8 100644
> --- a/tools/xentrace/formats
> +++ b/tools/xentrace/formats
> @@ -104,6 +104,7 @@
>   0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
>
>   0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
>   0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
> diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
> index e13b05b..6dab034 100644
> --- a/tools/xentrace/xentrace_format
> +++ b/tools/xentrace/xentrace_format
> @@ -111,6 +111,8 @@ D7REC  = "IIIIIII"
>   last_tsc = [0]
>
>   TRC_TRACE_IRQ = 0x1f004
> +TRC_PV_HYPERCALL_V2 = 0x20100d
> +
>   NR_VECTORS = 256
>   irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
>
> @@ -197,6 +199,10 @@ while not interrupted:
>               d3 = irq_measure[d1]['tot_cycles']
>               d4 = irq_measure[d1]['max_cycles']
>
> +        if event == TRC_PV_HYPERCALL_V2:
> +            # Mask off the argument present bits.
> +            args[1]&= 0x000fffff
> +
>           #tsc = (tscH<<32) | tscL
>
>           #print i, tsc
> diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
> index 404f293..30269e9 100644
> --- a/xen/arch/x86/trace.c
> +++ b/xen/arch/x86/trace.c
> @@ -14,35 +14,30 @@
>   void trace_hypercall(void)
>   {
>       struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    unsigned long args[6];
>
>   #ifdef __x86_64__
>       if ( is_pv_32on64_vcpu(current) )
>       {
> -        struct {
> -            u32 eip,eax;
> -        } __attribute__((packed)) d;
> -
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d),&d);
> +        args[0] = regs->ebx;
> +        args[1] = regs->ecx;
> +        args[2] = regs->edx;
> +        args[3] = regs->esi;
> +        args[4] = regs->edi;
> +        args[5] = regs->ebp;
>       }
>       else
>   #endif
>       {
> -        struct {
> -            unsigned long eip;
> -            u32 eax;
> -        } __attribute__((packed)) d;
> -        u32 event;
> -
> -        event = TRC_PV_HYPERCALL;
> -        event |= TRC_64_FLAG;
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(event, 1/*tsc*/, sizeof(d),&d);
> +        args[0] = regs->rdi;
> +        args[1] = regs->rsi;
> +        args[2] = regs->rdx;
> +        args[3] = regs->r10;
> +        args[4] = regs->r8;
> +        args[5] = regs->r9;
>       }
> +
> +    __trace_hypercall(regs->eax, args);
>   }
>
>   void __trace_pv_trap(int trapnr, unsigned long eip,
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> index cacaeb2..833f6b9 100644
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -816,6 +816,51 @@ unlock:
>           tasklet_schedule(&trace_notify_dom0_tasklet);
>   }
>
> +void __trace_hypercall(unsigned long op, const unsigned long *args)
> +{
> +    struct {
> +        uint32_t op;
> +        uint32_t args[6];
> +    } __attribute__((packed)) d;
> +    uint32_t *a = d.args;
> +
> +#define APPEND_ARG32(i)                         \
> +    do {                                        \
> +        unsigned i_ = (i);                      \
> +        *a++ = args[(i_)];                      \
> +        d.op |= TRC_PV_HYPERCALL_V2_ARG_32(i_); \
> +    } while( 0 )
> +
> +    /*
> +     * This shouldn't happen as @op should be small enough but just in
> +     * case, warn if the argument bits in the trace record would
> +     * clobber the hypercall op.
> +     */
> +    WARN_ON(op&  TRC_PV_HYPERCALL_V2_ARG_MASK);
> +
> +    d.op = op;
> +
> +    switch ( op )
> +    {
> +    case __HYPERVISOR_mmu_update:
> +        APPEND_ARG32(1); /* count */
> +        break;
> +    case __HYPERVISOR_multicall:
> +        APPEND_ARG32(1); /* count */
> +        break;
> +    case __HYPERVISOR_grant_table_op:
> +        APPEND_ARG32(0); /* cmd */
> +        APPEND_ARG32(2); /* count */
> +        break;
> +    case __HYPERVISOR_mmuext_op:
> +        APPEND_ARG32(1); /* count */
> +        break;
> +    }
> +
> +    __trace_var(TRC_PV_HYPERCALL_V2, 1,
> +                sizeof(uint32_t) * (1 + (a - d.args)),&d);
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index 1f154bb..ef43b23 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -107,6 +107,36 @@
>   #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
>   #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
>   #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
> +#define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
> +
> +/*
> + * TRC_PV_HYPERCALL_V2 format
> + *
> + * Only some of the hypercall argument are recorded. Bit fields A0 to
> + * A5 in the first extra word are set if the argument is present and
> + * the arguments themselves are packed sequentially in the following
> + * words.
> + *
> + * The TRC_64_FLAG bit is not set for these events (even if there are
> + * 64-bit arguments in the record).
> + *
> + * Word
> + * 0    bit 31 30|29 28|27 26|25 24|23 22|21 20|19 ... 0
> + *          A5   |A4   |A3   |A2   |A1   |A0   |Hypercall op
> + * 1    First 32 bit (or low word of first 64 bit) arg in record
> + * 2    Second 32 bit (or high word of first 64 bit) arg in record
> + * ...
> + *
> + * A0-A5 bitfield values:
> + *
> + *   00b  Argument not present
> + *   01b  32-bit argument present
> + *   10b  64-bit argument present
> + *   11b  Reserved
> + */
> +#define TRC_PV_HYPERCALL_V2_ARG_32(i) (0x1<<  (20 + 2*(i)))
> +#define TRC_PV_HYPERCALL_V2_ARG_64(i) (0x2<<  (20 + 2*(i)))
> +#define TRC_PV_HYPERCALL_V2_ARG_MASK  (0xfff00000)
>
>   #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
>   #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
> diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
> index b32f6c5..f601aeb 100644
> --- a/xen/include/xen/trace.h
> +++ b/xen/include/xen/trace.h
> @@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
>           __trace_var(event, cycles, extra, extra_data);
>   }
>
> +void __trace_hypercall(unsigned long call, const unsigned long *args);
> +
>   /* Convenience macros for calling the trace function. */
>   #define TRACE_0D(_e)                            \
>       do {                                        \


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:16:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:16:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6Au-0002pY-E3; Thu, 31 May 2012 14:16:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6As-0002p7-3V
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:16:26 +0000
Received: from [85.158.139.83:17549] by server-6.bemta-5.messagelabs.com id
	EA/E5-31790-93D77CF4; Thu, 31 May 2012 14:16:25 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338473782!31418912!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12343 invoked from network); 31 May 2012 14:16:23 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:16:23 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26366648"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:16:12 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:16:11 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6Ad-0006gE-BA;
	Thu, 31 May 2012 15:16:11 +0100
Message-ID: <4FC77CC7.1010505@eu.citrix.com>
Date: Thu, 31 May 2012 15:14:31 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<1338462397-32111-3-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1338462397-32111-3-git-send-email-david.vrabel@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 2/3] trace: improve usefulness of hypercall
	trace record
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 12:06, David Vrabel wrote:
> From: David Vrabel<david.vrabel@citrix.com>
>
> Trace hypercalls using a more useful trace record format.
>
> The EIP field is removed (it was always somewhere in the hypercall
> page) and include selected hypercall arguments (e.g., the number of
> calls in a multicall, and the number of PTE updates in an mmu_update
> etc.).  12 bits in the first extra word are used to indicate which
> arguments are present in the record and what size they are (32 or
> 64-bit).
>
> This is an incompatible record format so a new event ID is used so
> tools can distinguish between the two formats.
>
> Signed-off-by: David Vrabel<david.vrabel@citrix.com>
[post-4.2]
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
>   tools/xentrace/formats         |    1 +
>   tools/xentrace/xentrace_format |    6 +++++
>   xen/arch/x86/trace.c           |   35 +++++++++++++-----------------
>   xen/common/trace.c             |   45 ++++++++++++++++++++++++++++++++++++++++
>   xen/include/public/trace.h     |   30 ++++++++++++++++++++++++++
>   xen/include/xen/trace.h        |    2 +
>   6 files changed, 99 insertions(+), 20 deletions(-)
>
> diff --git a/tools/xentrace/formats b/tools/xentrace/formats
> index 71220c0..fa935c8 100644
> --- a/tools/xentrace/formats
> +++ b/tools/xentrace/formats
> @@ -104,6 +104,7 @@
>   0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
> +0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
>
>   0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
>   0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
> diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
> index e13b05b..6dab034 100644
> --- a/tools/xentrace/xentrace_format
> +++ b/tools/xentrace/xentrace_format
> @@ -111,6 +111,8 @@ D7REC  = "IIIIIII"
>   last_tsc = [0]
>
>   TRC_TRACE_IRQ = 0x1f004
> +TRC_PV_HYPERCALL_V2 = 0x20100d
> +
>   NR_VECTORS = 256
>   irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
>
> @@ -197,6 +199,10 @@ while not interrupted:
>               d3 = irq_measure[d1]['tot_cycles']
>               d4 = irq_measure[d1]['max_cycles']
>
> +        if event == TRC_PV_HYPERCALL_V2:
> +            # Mask off the argument present bits.
> +            args[1]&= 0x000fffff
> +
>           #tsc = (tscH<<32) | tscL
>
>           #print i, tsc
> diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
> index 404f293..30269e9 100644
> --- a/xen/arch/x86/trace.c
> +++ b/xen/arch/x86/trace.c
> @@ -14,35 +14,30 @@
>   void trace_hypercall(void)
>   {
>       struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    unsigned long args[6];
>
>   #ifdef __x86_64__
>       if ( is_pv_32on64_vcpu(current) )
>       {
> -        struct {
> -            u32 eip,eax;
> -        } __attribute__((packed)) d;
> -
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(TRC_PV_HYPERCALL, 1, sizeof(d),&d);
> +        args[0] = regs->ebx;
> +        args[1] = regs->ecx;
> +        args[2] = regs->edx;
> +        args[3] = regs->esi;
> +        args[4] = regs->edi;
> +        args[5] = regs->ebp;
>       }
>       else
>   #endif
>       {
> -        struct {
> -            unsigned long eip;
> -            u32 eax;
> -        } __attribute__((packed)) d;
> -        u32 event;
> -
> -        event = TRC_PV_HYPERCALL;
> -        event |= TRC_64_FLAG;
> -        d.eip = regs->eip;
> -        d.eax = regs->eax;
> -
> -        __trace_var(event, 1/*tsc*/, sizeof(d),&d);
> +        args[0] = regs->rdi;
> +        args[1] = regs->rsi;
> +        args[2] = regs->rdx;
> +        args[3] = regs->r10;
> +        args[4] = regs->r8;
> +        args[5] = regs->r9;
>       }
> +
> +    __trace_hypercall(regs->eax, args);
>   }
>
>   void __trace_pv_trap(int trapnr, unsigned long eip,
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> index cacaeb2..833f6b9 100644
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -816,6 +816,51 @@ unlock:
>           tasklet_schedule(&trace_notify_dom0_tasklet);
>   }
>
> +void __trace_hypercall(unsigned long op, const unsigned long *args)
> +{
> +    struct {
> +        uint32_t op;
> +        uint32_t args[6];
> +    } __attribute__((packed)) d;
> +    uint32_t *a = d.args;
> +
> +#define APPEND_ARG32(i)                         \
> +    do {                                        \
> +        unsigned i_ = (i);                      \
> +        *a++ = args[(i_)];                      \
> +        d.op |= TRC_PV_HYPERCALL_V2_ARG_32(i_); \
> +    } while( 0 )
> +
> +    /*
> +     * This shouldn't happen as @op should be small enough but just in
> +     * case, warn if the argument bits in the trace record would
> +     * clobber the hypercall op.
> +     */
> +    WARN_ON(op&  TRC_PV_HYPERCALL_V2_ARG_MASK);
> +
> +    d.op = op;
> +
> +    switch ( op )
> +    {
> +    case __HYPERVISOR_mmu_update:
> +        APPEND_ARG32(1); /* count */
> +        break;
> +    case __HYPERVISOR_multicall:
> +        APPEND_ARG32(1); /* count */
> +        break;
> +    case __HYPERVISOR_grant_table_op:
> +        APPEND_ARG32(0); /* cmd */
> +        APPEND_ARG32(2); /* count */
> +        break;
> +    case __HYPERVISOR_mmuext_op:
> +        APPEND_ARG32(1); /* count */
> +        break;
> +    }
> +
> +    __trace_var(TRC_PV_HYPERCALL_V2, 1,
> +                sizeof(uint32_t) * (1 + (a - d.args)),&d);
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index 1f154bb..ef43b23 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -107,6 +107,36 @@
>   #define TRC_PV_GDT_LDT_MAPPING_FAULT (TRC_PV_ENTRY + 10)
>   #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
>   #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
> +#define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
> +
> +/*
> + * TRC_PV_HYPERCALL_V2 format
> + *
> + * Only some of the hypercall argument are recorded. Bit fields A0 to
> + * A5 in the first extra word are set if the argument is present and
> + * the arguments themselves are packed sequentially in the following
> + * words.
> + *
> + * The TRC_64_FLAG bit is not set for these events (even if there are
> + * 64-bit arguments in the record).
> + *
> + * Word
> + * 0    bit 31 30|29 28|27 26|25 24|23 22|21 20|19 ... 0
> + *          A5   |A4   |A3   |A2   |A1   |A0   |Hypercall op
> + * 1    First 32 bit (or low word of first 64 bit) arg in record
> + * 2    Second 32 bit (or high word of first 64 bit) arg in record
> + * ...
> + *
> + * A0-A5 bitfield values:
> + *
> + *   00b  Argument not present
> + *   01b  32-bit argument present
> + *   10b  64-bit argument present
> + *   11b  Reserved
> + */
> +#define TRC_PV_HYPERCALL_V2_ARG_32(i) (0x1<<  (20 + 2*(i)))
> +#define TRC_PV_HYPERCALL_V2_ARG_64(i) (0x2<<  (20 + 2*(i)))
> +#define TRC_PV_HYPERCALL_V2_ARG_MASK  (0xfff00000)
>
>   #define TRC_SHADOW_NOT_SHADOW                 (TRC_SHADOW +  1)
>   #define TRC_SHADOW_FAST_PROPAGATE             (TRC_SHADOW +  2)
> diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
> index b32f6c5..f601aeb 100644
> --- a/xen/include/xen/trace.h
> +++ b/xen/include/xen/trace.h
> @@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
>           __trace_var(event, cycles, extra, extra_data);
>   }
>
> +void __trace_hypercall(unsigned long call, const unsigned long *args);
> +
>   /* Convenience macros for calling the trace function. */
>   #define TRACE_0D(_e)                            \
>       do {                                        \


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:17:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:17:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6BW-0002vS-LH; Thu, 31 May 2012 14:17:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6BU-0002v8-8M
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:17:04 +0000
Received: from [85.158.143.35:14219] by server-3.bemta-4.messagelabs.com id
	76/17-04252-F5D77CF4; Thu, 31 May 2012 14:17:03 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338473804!14208588!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31622 invoked from network); 31 May 2012 14:16:46 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:16:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197046909"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:16:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:16:43 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6B8-0006iK-No;
	Thu, 31 May 2012 15:16:42 +0100
Message-ID: <4FC77CE6.6040008@eu.citrix.com>
Date: Thu, 31 May 2012 15:15:02 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<1338462397-32111-4-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1338462397-32111-4-git-send-email-david.vrabel@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3/3] trace: trace hypercalls inside a
	multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 12:06, David Vrabel wrote:
> From: David Vrabel<david.vrabel@citrix.com>
>
> Add a trace record for every hypercall inside a multicall.  These use
> a new event ID (with a different sub-class ) so they may be filtered
> out if only the calls into hypervisor are of interest.
>
> Signed-off-by: David Vrabel<david.vrabel@citrix.com>
[post 4.2]
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
>   tools/xentrace/formats         |    1 +
>   tools/xentrace/xentrace_format |    3 ++-
>   xen/arch/x86/trace.c           |    2 +-
>   xen/common/compat/multicall.c  |   12 ++++++++++++
>   xen/common/multicall.c         |   16 ++++++++++++++++
>   xen/common/trace.c             |    6 +++---
>   xen/include/public/trace.h     |    4 +++-
>   xen/include/xen/trace.h        |    3 ++-
>   8 files changed, 40 insertions(+), 7 deletions(-)
>
> diff --git a/tools/xentrace/formats b/tools/xentrace/formats
> index fa935c8..928e1d7 100644
> --- a/tools/xentrace/formats
> +++ b/tools/xentrace/formats
> @@ -105,6 +105,7 @@
>   0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
> +0x0020200e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)    hypercall  [ op = 0x%(1)08x ]
>
>   0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
>   0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
> diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
> index 6dab034..554d4de 100644
> --- a/tools/xentrace/xentrace_format
> +++ b/tools/xentrace/xentrace_format
> @@ -112,6 +112,7 @@ last_tsc = [0]
>
>   TRC_TRACE_IRQ = 0x1f004
>   TRC_PV_HYPERCALL_V2 = 0x20100d
> +TRC_PV_HYPERCALL_SUBCALL = 0x20100e
>
>   NR_VECTORS = 256
>   irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
> @@ -199,7 +200,7 @@ while not interrupted:
>               d3 = irq_measure[d1]['tot_cycles']
>               d4 = irq_measure[d1]['max_cycles']
>
> -        if event == TRC_PV_HYPERCALL_V2:
> +        if event == TRC_PV_HYPERCALL_V2 or event == TRC_PV_HYPERCALL_SUBCALL:
>               # Mask off the argument present bits.
>               args[1]&= 0x000fffff
>
> diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
> index 30269e9..9cb39bc 100644
> --- a/xen/arch/x86/trace.c
> +++ b/xen/arch/x86/trace.c
> @@ -37,7 +37,7 @@ void trace_hypercall(void)
>           args[5] = regs->r9;
>       }
>
> -    __trace_hypercall(regs->eax, args);
> +    __trace_hypercall(TRC_PV_HYPERCALL_V2, regs->eax, args);
>   }
>
>   void __trace_pv_trap(int trapnr, unsigned long eip,
> diff --git a/xen/common/compat/multicall.c b/xen/common/compat/multicall.c
> index 0eb1212..e7e2a40 100644
> --- a/xen/common/compat/multicall.c
> +++ b/xen/common/compat/multicall.c
> @@ -5,6 +5,7 @@
>   #include<xen/config.h>
>   #include<xen/types.h>
>   #include<xen/multicall.h>
> +#include<xen/trace.h>
>
>   #define COMPAT
>   typedef int ret_t;
> @@ -25,6 +26,17 @@ DEFINE_XEN_GUEST_HANDLE(multicall_entry_compat_t);
>   #define do_multicall(l, n)   compat_multicall(_##l, n)
>   #define _XEN_GUEST_HANDLE(t) XEN_GUEST_HANDLE(t)
>
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    unsigned long args[6];
> +    int i;
> +
> +    for ( i = 0; i<  ARRAY_SIZE(args); i++ )
> +        args[i] = call->args[i];
> +
> +    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, args);
> +}
> +
>   #include "../multicall.c"
>
>   /*
> diff --git a/xen/common/multicall.c b/xen/common/multicall.c
> index 6c1a9d7..ca1839d 100644
> --- a/xen/common/multicall.c
> +++ b/xen/common/multicall.c
> @@ -11,14 +11,28 @@
>   #include<xen/multicall.h>
>   #include<xen/guest_access.h>
>   #include<xen/perfc.h>
> +#include<xen/trace.h>
>   #include<asm/current.h>
>   #include<asm/hardirq.h>
>
>   #ifndef COMPAT
>   typedef long ret_t;
>   #define xlat_multicall_entry(mcs)
> +
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, call->args);
> +}
>   #endif
>
> +static void trace_multicall_call(multicall_entry_t *call)
> +{
> +    if ( !tb_init_done )
> +        return;
> +
> +    __trace_multicall_call(call);
> +}
> +
>   ret_t
>   do_multicall(
>       XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
> @@ -47,6 +61,8 @@ do_multicall(
>               break;
>           }
>
> +        trace_multicall_call(&mcs->call);
> +
>           do_multicall_call(&mcs->call);
>
>   #ifndef NDEBUG
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> index 833f6b9..70054d3 100644
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -816,7 +816,8 @@ unlock:
>           tasklet_schedule(&trace_notify_dom0_tasklet);
>   }
>
> -void __trace_hypercall(unsigned long op, const unsigned long *args)
> +void __trace_hypercall(uint32_t event, unsigned long op,
> +                       const unsigned long *args)
>   {
>       struct {
>           uint32_t op;
> @@ -857,8 +858,7 @@ void __trace_hypercall(unsigned long op, const unsigned long *args)
>           break;
>       }
>
> -    __trace_var(TRC_PV_HYPERCALL_V2, 1,
> -                sizeof(uint32_t) * (1 + (a - d.args)),&d);
> +    __trace_var(event, 1, sizeof(uint32_t) * (1 + (a - d.args)),&d);
>   }
>
>   /*
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index ef43b23..3c93805 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -94,7 +94,8 @@
>   #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
>   #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
>
> -#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
> +#define TRC_PV_ENTRY   0x00201000 /* Hypervisor entry points for PV guests. */
> +#define TRC_PV_SUBCALL 0x00202000 /* Sub-call in a multicall hypercall */
>
>   #define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
>   #define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
> @@ -108,6 +109,7 @@
>   #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
>   #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
>   #define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
> +#define TRC_PV_HYPERCALL_SUBCALL     (TRC_PV_SUBCALL + 14)
>
>   /*
>    * TRC_PV_HYPERCALL_V2 format
> diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
> index f601aeb..3b8a7b3 100644
> --- a/xen/include/xen/trace.h
> +++ b/xen/include/xen/trace.h
> @@ -44,7 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
>           __trace_var(event, cycles, extra, extra_data);
>   }
>
> -void __trace_hypercall(unsigned long call, const unsigned long *args);
> +void __trace_hypercall(uint32_t event, unsigned long op,
> +                       const unsigned long *args);
>
>   /* Convenience macros for calling the trace function. */
>   #define TRACE_0D(_e)                            \


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:17:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:17:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6BW-0002vS-LH; Thu, 31 May 2012 14:17:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6BU-0002v8-8M
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:17:04 +0000
Received: from [85.158.143.35:14219] by server-3.bemta-4.messagelabs.com id
	76/17-04252-F5D77CF4; Thu, 31 May 2012 14:17:03 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338473804!14208588!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31622 invoked from network); 31 May 2012 14:16:46 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:16:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197046909"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:16:43 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:16:43 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6B8-0006iK-No;
	Thu, 31 May 2012 15:16:42 +0100
Message-ID: <4FC77CE6.6040008@eu.citrix.com>
Date: Thu, 31 May 2012 15:15:02 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: David Vrabel <david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<1338462397-32111-4-git-send-email-david.vrabel@citrix.com>
In-Reply-To: <1338462397-32111-4-git-send-email-david.vrabel@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCH 3/3] trace: trace hypercalls inside a
	multicall
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 12:06, David Vrabel wrote:
> From: David Vrabel<david.vrabel@citrix.com>
>
> Add a trace record for every hypercall inside a multicall.  These use
> a new event ID (with a different sub-class ) so they may be filtered
> out if only the calls into hypervisor are of interest.
>
> Signed-off-by: David Vrabel<david.vrabel@citrix.com>
[post 4.2]
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
> ---
>   tools/xentrace/formats         |    1 +
>   tools/xentrace/xentrace_format |    3 ++-
>   xen/arch/x86/trace.c           |    2 +-
>   xen/common/compat/multicall.c  |   12 ++++++++++++
>   xen/common/multicall.c         |   16 ++++++++++++++++
>   xen/common/trace.c             |    6 +++---
>   xen/include/public/trace.h     |    4 +++-
>   xen/include/xen/trace.h        |    3 ++-
>   8 files changed, 40 insertions(+), 7 deletions(-)
>
> diff --git a/tools/xentrace/formats b/tools/xentrace/formats
> index fa935c8..928e1d7 100644
> --- a/tools/xentrace/formats
> +++ b/tools/xentrace/formats
> @@ -105,6 +105,7 @@
>   0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
>   0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
> +0x0020200e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)    hypercall  [ op = 0x%(1)08x ]
>
>   0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
>   0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
> diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
> index 6dab034..554d4de 100644
> --- a/tools/xentrace/xentrace_format
> +++ b/tools/xentrace/xentrace_format
> @@ -112,6 +112,7 @@ last_tsc = [0]
>
>   TRC_TRACE_IRQ = 0x1f004
>   TRC_PV_HYPERCALL_V2 = 0x20100d
> +TRC_PV_HYPERCALL_SUBCALL = 0x20100e
>
>   NR_VECTORS = 256
>   irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
> @@ -199,7 +200,7 @@ while not interrupted:
>               d3 = irq_measure[d1]['tot_cycles']
>               d4 = irq_measure[d1]['max_cycles']
>
> -        if event == TRC_PV_HYPERCALL_V2:
> +        if event == TRC_PV_HYPERCALL_V2 or event == TRC_PV_HYPERCALL_SUBCALL:
>               # Mask off the argument present bits.
>               args[1]&= 0x000fffff
>
> diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
> index 30269e9..9cb39bc 100644
> --- a/xen/arch/x86/trace.c
> +++ b/xen/arch/x86/trace.c
> @@ -37,7 +37,7 @@ void trace_hypercall(void)
>           args[5] = regs->r9;
>       }
>
> -    __trace_hypercall(regs->eax, args);
> +    __trace_hypercall(TRC_PV_HYPERCALL_V2, regs->eax, args);
>   }
>
>   void __trace_pv_trap(int trapnr, unsigned long eip,
> diff --git a/xen/common/compat/multicall.c b/xen/common/compat/multicall.c
> index 0eb1212..e7e2a40 100644
> --- a/xen/common/compat/multicall.c
> +++ b/xen/common/compat/multicall.c
> @@ -5,6 +5,7 @@
>   #include<xen/config.h>
>   #include<xen/types.h>
>   #include<xen/multicall.h>
> +#include<xen/trace.h>
>
>   #define COMPAT
>   typedef int ret_t;
> @@ -25,6 +26,17 @@ DEFINE_XEN_GUEST_HANDLE(multicall_entry_compat_t);
>   #define do_multicall(l, n)   compat_multicall(_##l, n)
>   #define _XEN_GUEST_HANDLE(t) XEN_GUEST_HANDLE(t)
>
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    unsigned long args[6];
> +    int i;
> +
> +    for ( i = 0; i<  ARRAY_SIZE(args); i++ )
> +        args[i] = call->args[i];
> +
> +    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, args);
> +}
> +
>   #include "../multicall.c"
>
>   /*
> diff --git a/xen/common/multicall.c b/xen/common/multicall.c
> index 6c1a9d7..ca1839d 100644
> --- a/xen/common/multicall.c
> +++ b/xen/common/multicall.c
> @@ -11,14 +11,28 @@
>   #include<xen/multicall.h>
>   #include<xen/guest_access.h>
>   #include<xen/perfc.h>
> +#include<xen/trace.h>
>   #include<asm/current.h>
>   #include<asm/hardirq.h>
>
>   #ifndef COMPAT
>   typedef long ret_t;
>   #define xlat_multicall_entry(mcs)
> +
> +static void __trace_multicall_call(multicall_entry_t *call)
> +{
> +    __trace_hypercall(TRC_PV_HYPERCALL_SUBCALL, call->op, call->args);
> +}
>   #endif
>
> +static void trace_multicall_call(multicall_entry_t *call)
> +{
> +    if ( !tb_init_done )
> +        return;
> +
> +    __trace_multicall_call(call);
> +}
> +
>   ret_t
>   do_multicall(
>       XEN_GUEST_HANDLE(multicall_entry_t) call_list, unsigned int nr_calls)
> @@ -47,6 +61,8 @@ do_multicall(
>               break;
>           }
>
> +        trace_multicall_call(&mcs->call);
> +
>           do_multicall_call(&mcs->call);
>
>   #ifndef NDEBUG
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> index 833f6b9..70054d3 100644
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -816,7 +816,8 @@ unlock:
>           tasklet_schedule(&trace_notify_dom0_tasklet);
>   }
>
> -void __trace_hypercall(unsigned long op, const unsigned long *args)
> +void __trace_hypercall(uint32_t event, unsigned long op,
> +                       const unsigned long *args)
>   {
>       struct {
>           uint32_t op;
> @@ -857,8 +858,7 @@ void __trace_hypercall(unsigned long op, const unsigned long *args)
>           break;
>       }
>
> -    __trace_var(TRC_PV_HYPERCALL_V2, 1,
> -                sizeof(uint32_t) * (1 + (a - d.args)),&d);
> +    __trace_var(event, 1, sizeof(uint32_t) * (1 + (a - d.args)),&d);
>   }
>
>   /*
> diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
> index ef43b23..3c93805 100644
> --- a/xen/include/public/trace.h
> +++ b/xen/include/public/trace.h
> @@ -94,7 +94,8 @@
>   #define TRC_MEM_POD_ZERO_RECLAIM    (TRC_MEM + 17)
>   #define TRC_MEM_POD_SUPERPAGE_SPLINTER (TRC_MEM + 18)
>
> -#define TRC_PV_ENTRY 0x00201000 /* Hypervisor entry points for PV guests. */
> +#define TRC_PV_ENTRY   0x00201000 /* Hypervisor entry points for PV guests. */
> +#define TRC_PV_SUBCALL 0x00202000 /* Sub-call in a multicall hypercall */
>
>   #define TRC_PV_HYPERCALL             (TRC_PV_ENTRY +  1)
>   #define TRC_PV_TRAP                  (TRC_PV_ENTRY +  3)
> @@ -108,6 +109,7 @@
>   #define TRC_PV_PTWR_EMULATION        (TRC_PV_ENTRY + 11)
>   #define TRC_PV_PTWR_EMULATION_PAE    (TRC_PV_ENTRY + 12)
>   #define TRC_PV_HYPERCALL_V2          (TRC_PV_ENTRY + 13)
> +#define TRC_PV_HYPERCALL_SUBCALL     (TRC_PV_SUBCALL + 14)
>
>   /*
>    * TRC_PV_HYPERCALL_V2 format
> diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
> index f601aeb..3b8a7b3 100644
> --- a/xen/include/xen/trace.h
> +++ b/xen/include/xen/trace.h
> @@ -44,7 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra,
>           __trace_var(event, cycles, extra, extra_data);
>   }
>
> -void __trace_hypercall(unsigned long call, const unsigned long *args);
> +void __trace_hypercall(uint32_t event, unsigned long op,
> +                       const unsigned long *args);
>
>   /* Convenience macros for calling the trace function. */
>   #define TRACE_0D(_e)                            \


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:17:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:17:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6C2-00031b-2n; Thu, 31 May 2012 14:17:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa6C1-000318-4C
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:17:37 +0000
Received: from [85.158.138.51:54718] by server-6.bemta-3.messagelabs.com id
	72/63-23455-08D77CF4; Thu, 31 May 2012 14:17:36 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338473855!11464368!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10419 invoked from network); 31 May 2012 14:17:35 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:17:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764904"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:16:32 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:16:32 +0100
Date: Thu, 31 May 2012 15:16:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FC77C6D.5040704@citrix.com>
Message-ID: <alpine.DEB.2.00.1205311515050.26786@kaball-desktop>
References: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
	<alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
	<4FC77C6D.5040704@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Roger Pau Monne wrote:
> Stefano Stabellini wrote:
> > On Wed, 30 May 2012, Roger Pau Monne wrote:
> >> BSD systems already have a sys/queue.h file, which has more macros
> >> than the one Qemu uses, and some header files depend on having that
> >> macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
> >> systems and include the native one.
> >>
> >> This is not a backport because the original patch is too dificult to
> >> backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.
> >
> > The upstream commit message states:
> >
> > "Problem: Our file sys-queue.h is a copy of the BSD file, but there are
> > some additions and it's not entirely compatible. Because of that, there
> > have been conflicts with system headers on BSD systems."
> >
> > Wouldn't this be a problem if we apply the simple patch below?
> 
> Doing a diff -bB shows that the Qemu version is just a stripped version 
> of the original NetBSD header, with many macros removed, but no new ones 
> added, so I think the patch is safe.

OK. Please add says this in the commit message.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:17:46 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:17:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6C2-00031b-2n; Thu, 31 May 2012 14:17:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa6C1-000318-4C
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:17:37 +0000
Received: from [85.158.138.51:54718] by server-6.bemta-3.messagelabs.com id
	72/63-23455-08D77CF4; Thu, 31 May 2012 14:17:36 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338473855!11464368!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10419 invoked from network); 31 May 2012 14:17:35 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:17:35 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12764904"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:16:32 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:16:32 +0100
Date: Thu, 31 May 2012 15:16:17 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
In-Reply-To: <4FC77C6D.5040704@citrix.com>
Message-ID: <alpine.DEB.2.00.1205311515050.26786@kaball-desktop>
References: <1338394332-22422-1-git-send-email-roger.pau@citrix.com>
	<alpine.DEB.2.00.1205311458070.26786@kaball-desktop>
	<4FC77C6D.5040704@citrix.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH] qemu-xen-trad: fix sys-queue.h usage on BSD
	systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 31 May 2012, Roger Pau Monne wrote:
> Stefano Stabellini wrote:
> > On Wed, 30 May 2012, Roger Pau Monne wrote:
> >> BSD systems already have a sys/queue.h file, which has more macros
> >> than the one Qemu uses, and some header files depend on having that
> >> macros defined (sys/disk.h for example). Disable sys-queue.h on BSD
> >> systems and include the native one.
> >>
> >> This is not a backport because the original patch is too dificult to
> >> backport, it's commit 72cf2d4f0e181d0d3a3122e04129c58a95da713e.
> >
> > The upstream commit message states:
> >
> > "Problem: Our file sys-queue.h is a copy of the BSD file, but there are
> > some additions and it's not entirely compatible. Because of that, there
> > have been conflicts with system headers on BSD systems."
> >
> > Wouldn't this be a problem if we apply the simple patch below?
> 
> Doing a diff -bB shows that the Qemu version is just a stripped version 
> of the original NetBSD header, with many macros removed, but no new ones 
> added, so I think the patch is safe.

OK. Please add says this in the commit message.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:21:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:21:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6FW-0003Pe-Qh; Thu, 31 May 2012 14:21:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa6FV-0003PR-6A
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:21:13 +0000
Received: from [85.158.139.83:19090] by server-7.bemta-5.messagelabs.com id
	7D/44-15932-85E77CF4; Thu, 31 May 2012 14:21:12 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338474070!30693474!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6030 invoked from network); 31 May 2012 14:21:11 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:21:11 -0000
Received: by qcsp15 with SMTP id p15so676241qcs.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 07:21:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=9BA9hScw6wOaPqYnreiLr8VZ6hi7pX9vABQV42uGaIo=;
	b=FijeslxO7sz1rTZUc8gcwqMl3MG/T+oBDB9L21ONgDMz0kClQpdOzJz91taR5yhhO7
	/yzr/KZssIP9nPUulYmfoszV/umNRSlfCnyXFd+0MmYp8NM1wFZsm5hgOo8gPDZxHoTh
	QVYNx/c8Reyfi+fSUwAhoYHTIGfxwE+c9lxcbtYDUn3u28S6CJLAxAVOGWWD4ziVEku+
	bKR8z5+Xpaow1yfJ0eNHI5nY9oL5EycEgq5UuuHF2OH7OSNWJwSmKKAcX5SaiksoNR5Y
	2hho2+T9U4/UyMxVFkqrh5Cc9Ydli6VfRDMU/iLV5g00S6sa1fOMt5/J6j/b4zlyxzyN
	asHA==
MIME-Version: 1.0
Received: by 10.224.206.198 with SMTP id fv6mr317020qab.6.1338474070114; Thu,
	31 May 2012 07:21:10 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 07:21:10 -0700 (PDT)
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
Date: Thu, 31 May 2012 15:21:10 +0100
X-Google-Sender-Auth: sMUoCaJg8gNkXc8FXdISKBYlKGI
Message-ID: <CAFLBxZZ6uRj3vwSv4k1=ejCyftcDP-G6WAM4CTYynyhhHDn0YA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xensource.com, George Dunlap <george.dunlap@citrix.com>
Subject: Re: [Xen-devel] [PATCHv3 0/3] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:06 PM, David Vrabel <david.vrabel@citrix.com> wr=
ote:
> These are probably for 4.3.

Thanks for doing these, David.

I wouldn't oppose these going into 4.2;  but it is getting awfully
late.  (I acked them "4.2-only" just to flag that up to the
committers.)

BTW, what did you use to send these patches?  Any chance you could use
"hg email" (or the git equivalent if you're using git) instead?  It
makes it a lot easier for me to integrate them into my review
workflow. :-)

 -George

>
> Changes since v2:
> - Changed all PV events to use a different subclass.
> - Put multicall subcalls into their own subclass (so they can be
> =A0filtered out).
> - Use 12 bits to report which arguments are present in the
> =A0PV_HYPERCALL_V2 trace record.
>
> David
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:21:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:21:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6FW-0003Pe-Qh; Thu, 31 May 2012 14:21:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa6FV-0003PR-6A
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:21:13 +0000
Received: from [85.158.139.83:19090] by server-7.bemta-5.messagelabs.com id
	7D/44-15932-85E77CF4; Thu, 31 May 2012 14:21:12 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338474070!30693474!1
X-Originating-IP: [209.85.216.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6030 invoked from network); 31 May 2012 14:21:11 -0000
Received: from mail-qc0-f171.google.com (HELO mail-qc0-f171.google.com)
	(209.85.216.171)
	by server-9.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:21:11 -0000
Received: by qcsp15 with SMTP id p15so676241qcs.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 07:21:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=9BA9hScw6wOaPqYnreiLr8VZ6hi7pX9vABQV42uGaIo=;
	b=FijeslxO7sz1rTZUc8gcwqMl3MG/T+oBDB9L21ONgDMz0kClQpdOzJz91taR5yhhO7
	/yzr/KZssIP9nPUulYmfoszV/umNRSlfCnyXFd+0MmYp8NM1wFZsm5hgOo8gPDZxHoTh
	QVYNx/c8Reyfi+fSUwAhoYHTIGfxwE+c9lxcbtYDUn3u28S6CJLAxAVOGWWD4ziVEku+
	bKR8z5+Xpaow1yfJ0eNHI5nY9oL5EycEgq5UuuHF2OH7OSNWJwSmKKAcX5SaiksoNR5Y
	2hho2+T9U4/UyMxVFkqrh5Cc9Ydli6VfRDMU/iLV5g00S6sa1fOMt5/J6j/b4zlyxzyN
	asHA==
MIME-Version: 1.0
Received: by 10.224.206.198 with SMTP id fv6mr317020qab.6.1338474070114; Thu,
	31 May 2012 07:21:10 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 07:21:10 -0700 (PDT)
In-Reply-To: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
Date: Thu, 31 May 2012 15:21:10 +0100
X-Google-Sender-Auth: sMUoCaJg8gNkXc8FXdISKBYlKGI
Message-ID: <CAFLBxZZ6uRj3vwSv4k1=ejCyftcDP-G6WAM4CTYynyhhHDn0YA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xensource.com, George Dunlap <george.dunlap@citrix.com>
Subject: Re: [Xen-devel] [PATCHv3 0/3] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:06 PM, David Vrabel <david.vrabel@citrix.com> wr=
ote:
> These are probably for 4.3.

Thanks for doing these, David.

I wouldn't oppose these going into 4.2;  but it is getting awfully
late.  (I acked them "4.2-only" just to flag that up to the
committers.)

BTW, what did you use to send these patches?  Any chance you could use
"hg email" (or the git equivalent if you're using git) instead?  It
makes it a lot easier for me to integrate them into my review
workflow. :-)

 -George

>
> Changes since v2:
> - Changed all PV events to use a different subclass.
> - Put multicall subcalls into their own subclass (so they can be
> =A0filtered out).
> - Use 12 bits to report which arguments are present in the
> =A0PV_HYPERCALL_V2 trace record.
>
> David
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:23:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6H7-0003Wt-Au; Thu, 31 May 2012 14:22:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6H6-0003Wn-3q
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:22:52 +0000
Received: from [85.158.138.51:38635] by server-10.bemta-3.messagelabs.com id
	03/4D-12071-BBE77CF4; Thu, 31 May 2012 14:22:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338474170!21261328!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32734 invoked from network); 31 May 2012 14:22:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:22:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765110"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:22:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:22:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6Gx-0003MJ-J4; Thu, 31 May 2012 14:22:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6Gx-00012Q-Fl;
	Thu, 31 May 2012 15:22:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.32435.342657.764548@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:22:43 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <5c4b4f0c184fa3534bcb.1338466271@Solace>
References: <patchbomb.1338466265@Solace>
	<5c4b4f0c184fa3534bcb.1338466271@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06 of 11] libxl: introduce
	libxl_get_numainfo()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 06 of 11] libxl: introduce libxl_get_numainfo()"):
> Make some NUMA node information available to the toolstack. Achieve
> this by means of xc_numainfo(), which exposes memory size and amount
> of free memory of each node, as well as the relative distances of
> each node to all the others.
...
> +#define LIBXL_NUMAINFO_INVALID_ENTRY (~(uint32_t)0)

Is there some reason we can't just make sure we use the same value for
this in both places ?  That would avoid the need for this:

> +#define V(mem, i) (mem[i] == INVALID_NUMAINFO_ID) ? \
> +    LIBXL_NUMAINFO_INVALID_ENTRY : mem[i]

I appreciate that the types aren't the same.  In libxc it's an
unsigned long.  But shouldn't they be the same ?

> +libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
> +{
> +    xc_numainfo_t ninfo;
> +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memsize_t, memsize);
> +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memfree_t, memfree);
> +    DECLARE_HYPERCALL_BUFFER(uint32_t, node_distances);
> +    libxl_numainfo *ret = NULL;
> +    int i, j, max_nodes;
> +
> +    max_nodes = libxl_get_max_nodes(ctx);
> +    if (max_nodes == 0)
> +    {
> +        LIBXL__LOG(ctx, XTL_ERROR, "Unable to determine number of NODES");
> +        return NULL;
> +    }
> +
> +    memsize = xc_hypercall_buffer_alloc
> +        (ctx->xch, memsize, sizeof(*memsize) * max_nodes);
> +    memfree = xc_hypercall_buffer_alloc
> +        (ctx->xch, memfree, sizeof(*memfree) * max_nodes);
> +    node_distances = xc_hypercall_buffer_alloc
> +        (ctx->xch, node_distances, sizeof(*node_distances) * max_nodes * max_nodes);

This kind of stuff normally lives in libxc.  I appreciate that we have
a bit of it in libxl already, but do we want to perpetuate that ?

> +    ret = malloc(sizeof(libxl_numainfo) * max_nodes);
> +    if (ret == NULL) {

In libxl you can use libxl__zalloc(NULL,...) (and don't have to check
for errors because it can't fail).  But perhaps this is going into
libxc ?

I'd like to hear what other people say about putting this in libxl
vs. libxc.

> +        ret[i].dists = malloc(sizeof(*node_distances) * max_nodes);

Again.  And the lack of error exits will simplify this a lot.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:23:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6H7-0003Wt-Au; Thu, 31 May 2012 14:22:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6H6-0003Wn-3q
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:22:52 +0000
Received: from [85.158.138.51:38635] by server-10.bemta-3.messagelabs.com id
	03/4D-12071-BBE77CF4; Thu, 31 May 2012 14:22:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338474170!21261328!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32734 invoked from network); 31 May 2012 14:22:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:22:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765110"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:22:43 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:22:44 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6Gx-0003MJ-J4; Thu, 31 May 2012 14:22:43 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6Gx-00012Q-Fl;
	Thu, 31 May 2012 15:22:43 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.32435.342657.764548@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:22:43 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <5c4b4f0c184fa3534bcb.1338466271@Solace>
References: <patchbomb.1338466265@Solace>
	<5c4b4f0c184fa3534bcb.1338466271@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06 of 11] libxl: introduce
	libxl_get_numainfo()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 06 of 11] libxl: introduce libxl_get_numainfo()"):
> Make some NUMA node information available to the toolstack. Achieve
> this by means of xc_numainfo(), which exposes memory size and amount
> of free memory of each node, as well as the relative distances of
> each node to all the others.
...
> +#define LIBXL_NUMAINFO_INVALID_ENTRY (~(uint32_t)0)

Is there some reason we can't just make sure we use the same value for
this in both places ?  That would avoid the need for this:

> +#define V(mem, i) (mem[i] == INVALID_NUMAINFO_ID) ? \
> +    LIBXL_NUMAINFO_INVALID_ENTRY : mem[i]

I appreciate that the types aren't the same.  In libxc it's an
unsigned long.  But shouldn't they be the same ?

> +libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
> +{
> +    xc_numainfo_t ninfo;
> +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memsize_t, memsize);
> +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memfree_t, memfree);
> +    DECLARE_HYPERCALL_BUFFER(uint32_t, node_distances);
> +    libxl_numainfo *ret = NULL;
> +    int i, j, max_nodes;
> +
> +    max_nodes = libxl_get_max_nodes(ctx);
> +    if (max_nodes == 0)
> +    {
> +        LIBXL__LOG(ctx, XTL_ERROR, "Unable to determine number of NODES");
> +        return NULL;
> +    }
> +
> +    memsize = xc_hypercall_buffer_alloc
> +        (ctx->xch, memsize, sizeof(*memsize) * max_nodes);
> +    memfree = xc_hypercall_buffer_alloc
> +        (ctx->xch, memfree, sizeof(*memfree) * max_nodes);
> +    node_distances = xc_hypercall_buffer_alloc
> +        (ctx->xch, node_distances, sizeof(*node_distances) * max_nodes * max_nodes);

This kind of stuff normally lives in libxc.  I appreciate that we have
a bit of it in libxl already, but do we want to perpetuate that ?

> +    ret = malloc(sizeof(libxl_numainfo) * max_nodes);
> +    if (ret == NULL) {

In libxl you can use libxl__zalloc(NULL,...) (and don't have to check
for errors because it can't fail).  But perhaps this is going into
libxc ?

I'd like to hear what other people say about putting this in libxl
vs. libxc.

> +        ret[i].dists = malloc(sizeof(*node_distances) * max_nodes);

Again.  And the lack of error exits will simplify this a lot.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:23:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:23:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6Hh-0003Zi-Nq; Thu, 31 May 2012 14:23:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6Hg-0003ZV-FF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:23:28 +0000
Received: from [85.158.143.99:22194] by server-2.bemta-4.messagelabs.com id
	A6/C3-11595-FDE77CF4; Thu, 31 May 2012 14:23:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338474205!30416758!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1702 invoked from network); 31 May 2012 14:23:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:23:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765132"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:23:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:23:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6Hd-0003Ma-6V; Thu, 31 May 2012 14:23:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6Hd-00012c-5f;
	Thu, 31 May 2012 15:23:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.32476.950729.221552@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:23:24 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <6e78a6ac1c9357da734c.1338466272@Solace>
References: <patchbomb.1338466265@Solace>
	<6e78a6ac1c9357da734c.1338466272@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07 of 11] xen: enhance dump_numa output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 07 of 11] xen: enhance dump_numa output"):
> By showing the number of free pages on each node.
...
> -		printk("idx%d -> NODE%d start->%lu size->%lu\n",
> +		printk("idx%d -> NODE%d start->%lu size->%lu free->%lu\n",
>  			  i, NODE_DATA(i)->node_id,
>  			  NODE_DATA(i)->node_start_pfn,
> -			  NODE_DATA(i)->node_spanned_pages);
> +			  NODE_DATA(i)->node_spanned_pages,
> +                          avail_node_heap_pages(i));

This seems to have an indentation error.

Otherwise,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>


Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:23:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:23:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6Hh-0003Zi-Nq; Thu, 31 May 2012 14:23:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6Hg-0003ZV-FF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:23:28 +0000
Received: from [85.158.143.99:22194] by server-2.bemta-4.messagelabs.com id
	A6/C3-11595-FDE77CF4; Thu, 31 May 2012 14:23:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338474205!30416758!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1702 invoked from network); 31 May 2012 14:23:26 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:23:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765132"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:23:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:23:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6Hd-0003Ma-6V; Thu, 31 May 2012 14:23:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6Hd-00012c-5f;
	Thu, 31 May 2012 15:23:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.32476.950729.221552@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:23:24 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <6e78a6ac1c9357da734c.1338466272@Solace>
References: <patchbomb.1338466265@Solace>
	<6e78a6ac1c9357da734c.1338466272@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07 of 11] xen: enhance dump_numa output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 07 of 11] xen: enhance dump_numa output"):
> By showing the number of free pages on each node.
...
> -		printk("idx%d -> NODE%d start->%lu size->%lu\n",
> +		printk("idx%d -> NODE%d start->%lu size->%lu free->%lu\n",
>  			  i, NODE_DATA(i)->node_id,
>  			  NODE_DATA(i)->node_start_pfn,
> -			  NODE_DATA(i)->node_spanned_pages);
> +			  NODE_DATA(i)->node_spanned_pages,
> +                          avail_node_heap_pages(i));

This seems to have an indentation error.

Otherwise,

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>


Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:24:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:24:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6If-0003h7-6K; Thu, 31 May 2012 14:24:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6Ie-0003gy-3u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:24:28 +0000
Received: from [85.158.143.99:30321] by server-2.bemta-4.messagelabs.com id
	D3/56-11595-B1F77CF4; Thu, 31 May 2012 14:24:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338474266!30721891!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21759 invoked from network); 31 May 2012 14:24:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:24:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765160"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:24:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:24:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6Ic-0003My-AJ; Thu, 31 May 2012 14:24:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6Ic-00012h-6m;
	Thu, 31 May 2012 15:24:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.32533.912523.206821@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:24:21 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <b791abe0f7b78622041e.1338466273@Solace>
References: <patchbomb.1338466265@Solace>
	<b791abe0f7b78622041e.1338466273@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 08 of 11] xl: add more NUMA information to
	`xl info -n'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 08 of 11] xl: add more NUMA information to `xl info -n'"):
> So that the user knows how much memory there is on each node and
> how far they are from each others.

Perhaps the json output machinery can do this for us ?  If that's
sufficiently legible then it would be an improvement on this
open-coded printer.

Also people might try to parse the output from open-coded printer
which would be annoying when we try to extend things.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:24:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:24:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6If-0003h7-6K; Thu, 31 May 2012 14:24:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6Ie-0003gy-3u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:24:28 +0000
Received: from [85.158.143.99:30321] by server-2.bemta-4.messagelabs.com id
	D3/56-11595-B1F77CF4; Thu, 31 May 2012 14:24:27 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338474266!30721891!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21759 invoked from network); 31 May 2012 14:24:27 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:24:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765160"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:24:26 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 15:24:26 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6Ic-0003My-AJ; Thu, 31 May 2012 14:24:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6Ic-00012h-6m;
	Thu, 31 May 2012 15:24:26 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.32533.912523.206821@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 15:24:21 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <b791abe0f7b78622041e.1338466273@Solace>
References: <patchbomb.1338466265@Solace>
	<b791abe0f7b78622041e.1338466273@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 08 of 11] xl: add more NUMA information to
	`xl info -n'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 08 of 11] xl: add more NUMA information to `xl info -n'"):
> So that the user knows how much memory there is on each node and
> how far they are from each others.

Perhaps the json output machinery can do this for us ?  If that's
sufficiently legible then it would be an improvement on this
open-coded printer.

Also people might try to parse the output from open-coded printer
which would be annoying when we try to extend things.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:25:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:25:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6JF-0003mE-KA; Thu, 31 May 2012 14:25:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa6JD-0003lm-KM
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:25:03 +0000
Received: from [85.158.139.83:6446] by server-1.bemta-5.messagelabs.com id
	37/A3-21549-E3F77CF4; Thu, 31 May 2012 14:25:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338474302!31421493!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4120 invoked from network); 31 May 2012 14:25:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:25:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765179"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:25:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 15:25:01 +0100
Message-ID: <1338474300.17466.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ben Guthro <ben@guthro.net>
Date: Thu, 31 May 2012 15:25:00 +0100
In-Reply-To: <CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
	<CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 14:04 +0100, Ben Guthro wrote:
> Fix build error, after distclean
> 
> Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com>
> 
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 8f78c05..bd2cf9d 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -122,7 +122,7 @@ libxl_internal.h: _libxl_types_internal.h _paths.h
>  libxl_internal_json.h: _libxl_types_internal_json.h
>  xl.h: _paths.h
> 
> -$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
> +$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h xl.h

This isn't quite accurate, LIBXL*_OBJS don't need xl.h.

It'd be better to add a separate
	$(XL_OBJS): xl.h

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:25:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:25:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6JF-0003mE-KA; Thu, 31 May 2012 14:25:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa6JD-0003lm-KM
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:25:03 +0000
Received: from [85.158.139.83:6446] by server-1.bemta-5.messagelabs.com id
	37/A3-21549-E3F77CF4; Thu, 31 May 2012 14:25:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338474302!31421493!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4120 invoked from network); 31 May 2012 14:25:02 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:25:02 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12765179"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 14:25:01 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 15:25:01 +0100
Message-ID: <1338474300.17466.15.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Ben Guthro <ben@guthro.net>
Date: Thu, 31 May 2012 15:25:00 +0100
In-Reply-To: <CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
	<CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 14:04 +0100, Ben Guthro wrote:
> Fix build error, after distclean
> 
> Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com>
> 
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 8f78c05..bd2cf9d 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -122,7 +122,7 @@ libxl_internal.h: _libxl_types_internal.h _paths.h
>  libxl_internal_json.h: _libxl_types_internal_json.h
>  xl.h: _paths.h
> 
> -$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
> +$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h xl.h

This isn't quite accurate, LIBXL*_OBJS don't need xl.h.

It'd be better to add a separate
	$(XL_OBJS): xl.h

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:31:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:31:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6PS-00048s-Es; Thu, 31 May 2012 14:31:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6PR-00048i-66
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:31:29 +0000
Received: from [85.158.139.83:31241] by server-2.bemta-5.messagelabs.com id
	C2/76-09957-0C087CF4; Thu, 31 May 2012 14:31:28 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338474675!30850644!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32077 invoked from network); 31 May 2012 14:31:15 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-182.messagelabs.com with SMTP;
	31 May 2012 14:31:15 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315054; Thu, 31 May 2012 16:31:15 +0200
Message-ID: <1338474659.15014.28.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:30:59 +0200
In-Reply-To: <20423.31878.217570.145066@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace>
	<20423.31878.217570.145066@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4015011191227876695=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4015011191227876695==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-q9juWcpECL/IM0TXZc4v"


--=-q9juWcpECL/IM0TXZc4v
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:13 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 04 of 11] libxl: expand the libxl_{cpu,nod=
e}map API a bit"):
> > +void libxl_cpumap_copy(/*XXX libxl_ctx *ctx,*/ libxl_cpumap *dst,
>=20
> XXX ?
>=20
Yep, I left it on purpose but I also wanted to mention that in the
changelog, which I apparently missed. Sorry.

However, now that we are here, the whole point is, does that function
need a libxl_ctx argument? It doesn't use it, but I was concerned about
consistency with the other libxl_cpumap_* calls, and maybe future
needs...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-q9juWcpECL/IM0TXZc4v
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HgKMACgkQk4XaBE3IOsQsJQCfcun9+TICDSiUMiRrLQPfoZr4
cMYAoKeSfKBX9y2Cmqc+htfTupVAwOjI
=A8an
-----END PGP SIGNATURE-----

--=-q9juWcpECL/IM0TXZc4v--



--===============4015011191227876695==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4015011191227876695==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:31:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:31:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6PS-00048s-Es; Thu, 31 May 2012 14:31:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6PR-00048i-66
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:31:29 +0000
Received: from [85.158.139.83:31241] by server-2.bemta-5.messagelabs.com id
	C2/76-09957-0C087CF4; Thu, 31 May 2012 14:31:28 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-182.messagelabs.com!1338474675!30850644!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32077 invoked from network); 31 May 2012 14:31:15 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-182.messagelabs.com with SMTP;
	31 May 2012 14:31:15 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315054; Thu, 31 May 2012 16:31:15 +0200
Message-ID: <1338474659.15014.28.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:30:59 +0200
In-Reply-To: <20423.31878.217570.145066@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace>
	<20423.31878.217570.145066@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4015011191227876695=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4015011191227876695==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-q9juWcpECL/IM0TXZc4v"


--=-q9juWcpECL/IM0TXZc4v
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:13 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 04 of 11] libxl: expand the libxl_{cpu,nod=
e}map API a bit"):
> > +void libxl_cpumap_copy(/*XXX libxl_ctx *ctx,*/ libxl_cpumap *dst,
>=20
> XXX ?
>=20
Yep, I left it on purpose but I also wanted to mention that in the
changelog, which I apparently missed. Sorry.

However, now that we are here, the whole point is, does that function
need a libxl_ctx argument? It doesn't use it, but I was concerned about
consistency with the other libxl_cpumap_* calls, and maybe future
needs...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-q9juWcpECL/IM0TXZc4v
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HgKMACgkQk4XaBE3IOsQsJQCfcun9+TICDSiUMiRrLQPfoZr4
cMYAoKeSfKBX9y2Cmqc+htfTupVAwOjI
=A8an
-----END PGP SIGNATURE-----

--=-q9juWcpECL/IM0TXZc4v--



--===============4015011191227876695==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4015011191227876695==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:33:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6Qq-0004DH-UO; Thu, 31 May 2012 14:32:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6Qp-0004Co-Da
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:32:55 +0000
Received: from [85.158.138.51:43675] by server-3.bemta-3.messagelabs.com id
	EE/1E-15793-61187CF4; Thu, 31 May 2012 14:32:54 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338474773!30206946!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24438 invoked from network); 31 May 2012 14:32:53 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-174.messagelabs.com with SMTP;
	31 May 2012 14:32:53 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315120; Thu, 31 May 2012 16:32:53 +0200
Message-ID: <1338474766.15014.29.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:32:46 +0200
In-Reply-To: <20423.31829.306495.960607@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
	<20423.31829.306495.960607@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5164461962337176225=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5164461962337176225==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-FFuPbZlvJeGRswGsKsci"


--=-FFuPbZlvJeGRswGsKsci
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:12 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 03 of 11] libxc, libxl: introduce xc_nodem=
ap_t and libxl_nodemap"):
> > As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.
>=20
> Wouldn't it be possible to just use `libxl_map' type directly, with
> the caller knowing whether it contains node or cpu numbers ?
>=20
Definitely possible.

> As it is this has a whole lot of duplicated wrapper code.
>=20
I agree, and I will do that.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-FFuPbZlvJeGRswGsKsci
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HgQ4ACgkQk4XaBE3IOsTAAQCfXB1QN7tk6qP+w2ZUT6+Zy6IT
34cAn3MIKOBAk0pS5lKv1rIOOR6SGOLH
=ZxGM
-----END PGP SIGNATURE-----

--=-FFuPbZlvJeGRswGsKsci--



--===============5164461962337176225==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5164461962337176225==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:33:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6Qq-0004DH-UO; Thu, 31 May 2012 14:32:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6Qp-0004Co-Da
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:32:55 +0000
Received: from [85.158.138.51:43675] by server-3.bemta-3.messagelabs.com id
	EE/1E-15793-61187CF4; Thu, 31 May 2012 14:32:54 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338474773!30206946!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24438 invoked from network); 31 May 2012 14:32:53 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-174.messagelabs.com with SMTP;
	31 May 2012 14:32:53 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315120; Thu, 31 May 2012 16:32:53 +0200
Message-ID: <1338474766.15014.29.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:32:46 +0200
In-Reply-To: <20423.31829.306495.960607@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
	<20423.31829.306495.960607@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5164461962337176225=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5164461962337176225==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-FFuPbZlvJeGRswGsKsci"


--=-FFuPbZlvJeGRswGsKsci
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:12 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 03 of 11] libxc, libxl: introduce xc_nodem=
ap_t and libxl_nodemap"):
> > As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.
>=20
> Wouldn't it be possible to just use `libxl_map' type directly, with
> the caller knowing whether it contains node or cpu numbers ?
>=20
Definitely possible.

> As it is this has a whole lot of duplicated wrapper code.
>=20
I agree, and I will do that.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-FFuPbZlvJeGRswGsKsci
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HgQ4ACgkQk4XaBE3IOsTAAQCfXB1QN7tk6qP+w2ZUT6+Zy6IT
34cAn3MIKOBAk0pS5lKv1rIOOR6SGOLH
=ZxGM
-----END PGP SIGNATURE-----

--=-FFuPbZlvJeGRswGsKsci--



--===============5164461962337176225==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5164461962337176225==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:33:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6RK-0004J4-IM; Thu, 31 May 2012 14:33:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa6RI-0004IK-BE
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:33:24 +0000
Received: from [85.158.139.83:3989] by server-9.bemta-5.messagelabs.com id
	EF/08-27779-33187CF4; Thu, 31 May 2012 14:33:23 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338474801!27412617!1
X-Originating-IP: [66.165.176.63]
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31436 invoked from network); 31 May 2012 14:33:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:33:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197050061"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:32:18 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 31 May 2012
	10:32:18 -0400
Message-ID: <4FC780F1.201@citrix.com>
Date: Thu, 31 May 2012 15:32:17 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: George Dunlap <George.Dunlap@eu.citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<CAFLBxZZ6uRj3vwSv4k1=ejCyftcDP-G6WAM4CTYynyhhHDn0YA@mail.gmail.com>
In-Reply-To: <CAFLBxZZ6uRj3vwSv4k1=ejCyftcDP-G6WAM4CTYynyhhHDn0YA@mail.gmail.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCHv3 0/3] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 15:21, George Dunlap wrote:
> On Thu, May 31, 2012 at 12:06 PM, David Vrabel <david.vrabel@citrix.com> wrote:
>> These are probably for 4.3.
> 
> Thanks for doing these, David.

Thanks for the review.

> I wouldn't oppose these going into 4.2;  but it is getting awfully
> late.  (I acked them "4.2-only" just to flag that up to the
> committers.)

I think they should be for 4.3 -- there's more important things needing
to be merged into 4.2.

> BTW, what did you use to send these patches?  Any chance you could use
> "hg email" (or the git equivalent if you're using git) instead?  It
> makes it a lot easier for me to integrate them into my review
> workflow. :-)

I did use git send-email.  What's the problem with the series? I can see
if there options I could turn on that would help.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:33:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6RK-0004J4-IM; Thu, 31 May 2012 14:33:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa6RI-0004IK-BE
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 14:33:24 +0000
Received: from [85.158.139.83:3989] by server-9.bemta-5.messagelabs.com id
	EF/08-27779-33187CF4; Thu, 31 May 2012 14:33:23 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-2.tower-182.messagelabs.com!1338474801!27412617!1
X-Originating-IP: [66.165.176.63]
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31436 invoked from network); 31 May 2012 14:33:22 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:33:22 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="197050061"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:32:18 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX01.citrite.net
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0; Thu, 31 May 2012
	10:32:18 -0400
Message-ID: <4FC780F1.201@citrix.com>
Date: Thu, 31 May 2012 15:32:17 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: George Dunlap <George.Dunlap@eu.citrix.com>
References: <1338462397-32111-1-git-send-email-david.vrabel@citrix.com>
	<CAFLBxZZ6uRj3vwSv4k1=ejCyftcDP-G6WAM4CTYynyhhHDn0YA@mail.gmail.com>
In-Reply-To: <CAFLBxZZ6uRj3vwSv4k1=ejCyftcDP-G6WAM4CTYynyhhHDn0YA@mail.gmail.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Xen-devel] [PATCHv3 0/3] trace: improve hypercall tracing
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 15:21, George Dunlap wrote:
> On Thu, May 31, 2012 at 12:06 PM, David Vrabel <david.vrabel@citrix.com> wrote:
>> These are probably for 4.3.
> 
> Thanks for doing these, David.

Thanks for the review.

> I wouldn't oppose these going into 4.2;  but it is getting awfully
> late.  (I acked them "4.2-only" just to flag that up to the
> committers.)

I think they should be for 4.3 -- there's more important things needing
to be merged into 4.2.

> BTW, what did you use to send these patches?  Any chance you could use
> "hg email" (or the git equivalent if you're using git) instead?  It
> makes it a lot easier for me to integrate them into my review
> workflow. :-)

I did use git send-email.  What's the problem with the series? I can see
if there options I could turn on that would help.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:35:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6T3-0004X2-1x; Thu, 31 May 2012 14:35:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6T1-0004Wp-Oo
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:35:11 +0000
Received: from [85.158.143.35:19296] by server-3.bemta-4.messagelabs.com id
	9B/27-04252-F9187CF4; Thu, 31 May 2012 14:35:11 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338474909!7280695!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18647 invoked from network); 31 May 2012 14:35:10 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-21.messagelabs.com with SMTP;
	31 May 2012 14:35:10 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315183; Thu, 31 May 2012 16:35:08 +0200
Message-ID: <1338474902.15014.30.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:35:02 +0200
In-Reply-To: <20423.32476.950729.221552@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<6e78a6ac1c9357da734c.1338466272@Solace>
	<20423.32476.950729.221552@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07 of 11] xen: enhance dump_numa output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5881498917816124721=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5881498917816124721==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-o7Ozun1dnhR3ePMaoXSN"


--=-o7Ozun1dnhR3ePMaoXSN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:23 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 07 of 11] xen: enhance dump_numa output"):
> > By showing the number of free pages on each node.
> ...
> > -		printk("idx%d -> NODE%d start->%lu size->%lu\n",
> > +		printk("idx%d -> NODE%d start->%lu size->%lu free->%lu\n",
> >  			  i, NODE_DATA(i)->node_id,
> >  			  NODE_DATA(i)->node_start_pfn,
> > -			  NODE_DATA(i)->node_spanned_pages);
> > +			  NODE_DATA(i)->node_spanned_pages,
> > +                          avail_node_heap_pages(i));
>=20
> This seems to have an indentation error.
>=20
Yep, that file has tabs... :-/

Will fix it. Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-o7Ozun1dnhR3ePMaoXSN
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HgZYACgkQk4XaBE3IOsRfbwCfbHXL1UqK0do7AahfiFMc5YkK
ZTQAn1+FDgbXRoJcITo8xcFpVVQxQPZd
=Pl5h
-----END PGP SIGNATURE-----

--=-o7Ozun1dnhR3ePMaoXSN--



--===============5881498917816124721==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5881498917816124721==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:35:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6T3-0004X2-1x; Thu, 31 May 2012 14:35:13 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6T1-0004Wp-Oo
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:35:11 +0000
Received: from [85.158.143.35:19296] by server-3.bemta-4.messagelabs.com id
	9B/27-04252-F9187CF4; Thu, 31 May 2012 14:35:11 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338474909!7280695!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18647 invoked from network); 31 May 2012 14:35:10 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-2.tower-21.messagelabs.com with SMTP;
	31 May 2012 14:35:10 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315183; Thu, 31 May 2012 16:35:08 +0200
Message-ID: <1338474902.15014.30.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:35:02 +0200
In-Reply-To: <20423.32476.950729.221552@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<6e78a6ac1c9357da734c.1338466272@Solace>
	<20423.32476.950729.221552@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 07 of 11] xen: enhance dump_numa output
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5881498917816124721=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============5881498917816124721==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-o7Ozun1dnhR3ePMaoXSN"


--=-o7Ozun1dnhR3ePMaoXSN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:23 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 07 of 11] xen: enhance dump_numa output"):
> > By showing the number of free pages on each node.
> ...
> > -		printk("idx%d -> NODE%d start->%lu size->%lu\n",
> > +		printk("idx%d -> NODE%d start->%lu size->%lu free->%lu\n",
> >  			  i, NODE_DATA(i)->node_id,
> >  			  NODE_DATA(i)->node_start_pfn,
> > -			  NODE_DATA(i)->node_spanned_pages);
> > +			  NODE_DATA(i)->node_spanned_pages,
> > +                          avail_node_heap_pages(i));
>=20
> This seems to have an indentation error.
>=20
Yep, that file has tabs... :-/

Will fix it. Thanks,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-o7Ozun1dnhR3ePMaoXSN
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HgZYACgkQk4XaBE3IOsRfbwCfbHXL1UqK0do7AahfiFMc5YkK
ZTQAn1+FDgbXRoJcITo8xcFpVVQxQPZd
=Pl5h
-----END PGP SIGNATURE-----

--=-o7Ozun1dnhR3ePMaoXSN--



--===============5881498917816124721==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============5881498917816124721==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:49:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:49:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6gk-0004y2-Tu; Thu, 31 May 2012 14:49:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6gk-0004xx-89
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:49:22 +0000
Received: from [85.158.143.99:12243] by server-1.bemta-4.messagelabs.com id
	8F/03-27869-1F487CF4; Thu, 31 May 2012 14:49:21 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338475759!25472898!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23596 invoked from network); 31 May 2012 14:49:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:49:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26374392"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:49:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:49:19 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6gg-0007lY-SN;
	Thu, 31 May 2012 15:49:18 +0100
Message-ID: <4FC7848A.8090600@eu.citrix.com>
Date: Thu, 31 May 2012 15:47:38 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
	<20423.31696.797148.796736@mariner.uk.xensource.com>
In-Reply-To: <20423.31696.797148.796736@mariner.uk.xensource.com>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
	just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 15:10, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 01 of 11] libxc: abstract xenctl_cpumap to just xenctl_map"):
>> More specifically:
>>   1. replaces xenctl_cpumap with xenctl_map
>>   2. provides bitmap_to_xenctl_map and the reverse;
>>   3. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
>>      and the reverse;
>>
>> Other than #3, no functional changes. Interface only slightly
>> afected.
> This looks plausible to me but it needs a review from a hypervisor
> maintainer too.
What exactly are you looking for from a hypervisor maintianer?

I was going to say it looks plausible to me but needs a review from a 
tools maintianer. :-)

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:49:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:49:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6gk-0004y2-Tu; Thu, 31 May 2012 14:49:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6gk-0004xx-89
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:49:22 +0000
Received: from [85.158.143.99:12243] by server-1.bemta-4.messagelabs.com id
	8F/03-27869-1F487CF4; Thu, 31 May 2012 14:49:21 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-12.tower-216.messagelabs.com!1338475759!25472898!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23596 invoked from network); 31 May 2012 14:49:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-12.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:49:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26374392"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:49:19 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:49:19 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6gg-0007lY-SN;
	Thu, 31 May 2012 15:49:18 +0100
Message-ID: <4FC7848A.8090600@eu.citrix.com>
Date: Thu, 31 May 2012 15:47:38 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
	<20423.31696.797148.796736@mariner.uk.xensource.com>
In-Reply-To: <20423.31696.797148.796736@mariner.uk.xensource.com>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
	just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 15:10, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 01 of 11] libxc: abstract xenctl_cpumap to just xenctl_map"):
>> More specifically:
>>   1. replaces xenctl_cpumap with xenctl_map
>>   2. provides bitmap_to_xenctl_map and the reverse;
>>   3. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
>>      and the reverse;
>>
>> Other than #3, no functional changes. Interface only slightly
>> afected.
> This looks plausible to me but it needs a review from a hypervisor
> maintainer too.
What exactly are you looking for from a hypervisor maintianer?

I was going to say it looks plausible to me but needs a review from a 
tools maintianer. :-)

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:55:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6md-00057d-Or; Thu, 31 May 2012 14:55:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa6mc-00057Y-OF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:55:26 +0000
Received: from [85.158.143.35:10065] by server-3.bemta-4.messagelabs.com id
	15/29-04252-E5687CF4; Thu, 31 May 2012 14:55:26 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338476121!16956994!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29823 invoked from network); 31 May 2012 14:55:23 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:55:23 -0000
Received: by qafl39 with SMTP id l39so949950qaf.16
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 07:55:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=Y83JGpuT5wdSd9yy1JzZLAdylyDERFwSRc94gmeuT70=;
	b=Jeu2V0QOLVebwJKEPeA1xZxB4YXChEDqZQka6+2GNuGeTDFZ4NfsKr8uIfkstJgZtd
	jy+9e8CHEvUazL/baIi8tUBajB1x4UP3Xs4xzRkfw7J85frjXBfSi2XE/67qdYnj3d//
	pkjmxChUfJkOKk4HVbR02BrDwlxqLduLVGpLy8X49Srfz+jMg69XbrS00S56AVZ+H7Av
	vyaqCGOUxeu7sBEJ6xnesDjJmNbw1nZkhC/SIB9hJFssJqB03N7dvixThK48V4zqpExv
	x+OPNjWtvPyMv458aJQql9s1gbGR8miszCsh/Pv0TFI55U0uIHt49kY328j1yT3b34MW
	7lwQ==
MIME-Version: 1.0
Received: by 10.224.181.83 with SMTP id bx19mr268662qab.79.1338476121381; Thu,
	31 May 2012 07:55:21 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 07:55:21 -0700 (PDT)
In-Reply-To: <4FC7848A.8090600@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
	<20423.31696.797148.796736@mariner.uk.xensource.com>
	<4FC7848A.8090600@eu.citrix.com>
Date: Thu, 31 May 2012 15:55:21 +0100
X-Google-Sender-Auth: fLrE3tW3Scw_Pc2hsYzDOK4dp-U
Message-ID: <CAFLBxZZm9jcLPLjYPwsJGusOq=UK=Bz6Gz1ft6M4Fde-T5S1ow@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
 just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 3:47 PM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
>> This looks plausible to me but it needs a review from a hypervisor
>> maintainer too.
>
> What exactly are you looking for from a hypervisor maintianer?
>
> I was going to say it looks plausible to me but needs a review from a tools
> maintianer. :-)
>
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

Er, sorry -- seems I counted something wrong and reviewed the wrong
patch.  This ack shoudl go to patch #2.  Let me come back to this one.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:55:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6md-00057d-Or; Thu, 31 May 2012 14:55:27 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa6mc-00057Y-OF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:55:26 +0000
Received: from [85.158.143.35:10065] by server-3.bemta-4.messagelabs.com id
	15/29-04252-E5687CF4; Thu, 31 May 2012 14:55:26 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1338476121!16956994!1
X-Originating-IP: [209.85.216.50]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29823 invoked from network); 31 May 2012 14:55:23 -0000
Received: from mail-qa0-f50.google.com (HELO mail-qa0-f50.google.com)
	(209.85.216.50)
	by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:55:23 -0000
Received: by qafl39 with SMTP id l39so949950qaf.16
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 07:55:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=Y83JGpuT5wdSd9yy1JzZLAdylyDERFwSRc94gmeuT70=;
	b=Jeu2V0QOLVebwJKEPeA1xZxB4YXChEDqZQka6+2GNuGeTDFZ4NfsKr8uIfkstJgZtd
	jy+9e8CHEvUazL/baIi8tUBajB1x4UP3Xs4xzRkfw7J85frjXBfSi2XE/67qdYnj3d//
	pkjmxChUfJkOKk4HVbR02BrDwlxqLduLVGpLy8X49Srfz+jMg69XbrS00S56AVZ+H7Av
	vyaqCGOUxeu7sBEJ6xnesDjJmNbw1nZkhC/SIB9hJFssJqB03N7dvixThK48V4zqpExv
	x+OPNjWtvPyMv458aJQql9s1gbGR8miszCsh/Pv0TFI55U0uIHt49kY328j1yT3b34MW
	7lwQ==
MIME-Version: 1.0
Received: by 10.224.181.83 with SMTP id bx19mr268662qab.79.1338476121381; Thu,
	31 May 2012 07:55:21 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 07:55:21 -0700 (PDT)
In-Reply-To: <4FC7848A.8090600@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
	<20423.31696.797148.796736@mariner.uk.xensource.com>
	<4FC7848A.8090600@eu.citrix.com>
Date: Thu, 31 May 2012 15:55:21 +0100
X-Google-Sender-Auth: fLrE3tW3Scw_Pc2hsYzDOK4dp-U
Message-ID: <CAFLBxZZm9jcLPLjYPwsJGusOq=UK=Bz6Gz1ft6M4Fde-T5S1ow@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
 just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 3:47 PM, George Dunlap
<george.dunlap@eu.citrix.com> wrote:
>> This looks plausible to me but it needs a review from a hypervisor
>> maintainer too.
>
> What exactly are you looking for from a hypervisor maintianer?
>
> I was going to say it looks plausible to me but needs a review from a tools
> maintianer. :-)
>
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

Er, sorry -- seems I counted something wrong and reviewed the wrong
patch.  This ack shoudl go to patch #2.  Let me come back to this one.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:57:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:57:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6o1-0005DU-7W; Thu, 31 May 2012 14:56:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6nz-0005DL-GU
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:56:51 +0000
Received: from [85.158.143.35:9612] by server-3.bemta-4.messagelabs.com id
	1D/3C-04252-2B687CF4; Thu, 31 May 2012 14:56:50 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338476203!15668948!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22531 invoked from network); 31 May 2012 14:56:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:56:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26376163"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:56:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:56:36 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6nk-0007xu-6B;
	Thu, 31 May 2012 15:56:36 +0100
Message-ID: <4FC78640.3050408@eu.citrix.com>
Date: Thu, 31 May 2012 15:54:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<82ac47424d0a8888d702.1338466267@Solace>
In-Reply-To: <82ac47424d0a8888d702.1338466267@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02 of 11] libxl: abstract libxl_cpumap to
	just libxl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> More specifically:
>   1. introduces struct libxl_map;
>   2. re-implement libxl_cpumap_* on top of struct libxl_map_*;
>
> No functional nor interface changes at all.
>
> This is in preparation of the introduction of NUMA nodes maps.
>
> Signed-off-by: Dario Faggioli<dario.faggioli@citrix.eu.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
>
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -282,11 +282,17 @@ typedef uint32_t libxl_hwcap[8];
>
>   typedef uint64_t libxl_ev_user;
>
> -typedef struct {
> +struct libxl_map {
>       uint32_t size;          /* number of bytes in map */
>       uint8_t *map;
> -} libxl_cpumap;
> -void libxl_cpumap_dispose(libxl_cpumap *map);
> +};
> +void libxl_map_dispose(struct libxl_map *map);
> +
> +typedef struct libxl_map libxl_cpumap;
> +static inline void libxl_cpumap_dispose(libxl_cpumap *cpumap)
> +{
> +    return libxl_map_dispose(cpumap);
> +}
>
>   typedef struct {
>       /*
> diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -488,47 +488,53 @@ int libxl_mac_to_device_nic(libxl_ctx *c
>       return rc;
>   }
>
> +void libxl_map_dispose(struct libxl_map *map)
> +{
> +    free(map->map);
> +}
> +
> +static int libxl_map_alloc(libxl_ctx *ctx, struct libxl_map *map, int n_elems)
> +{
> +    int sz;
> +
> +    sz = (n_elems + 7) / 8;
> +    map->map = calloc(sz, sizeof(*map->map));
> +    if (!map->map)
> +        return ERROR_NOMEM;
> +    map->size = sz;
> +    return 0;
> +}
> +
> +int libxl_map_test(struct libxl_map *map, int elem)
> +{
> +    if (elem>= map->size * 8)
> +        return 0;
> +    return (map->map[elem / 8]&  (1<<  (elem&  7))) ? 1 : 0;
> +}
> +
> +void libxl_map_set(struct libxl_map *map, int elem)
> +{
> +    if (elem>= map->size * 8)
> +        return;
> +    map->map[elem / 8] |= 1<<  (elem&  7);
> +}
> +
> +void libxl_map_reset(struct libxl_map *map, int elem)
> +{
> +    if (elem>= map->size * 8)
> +        return;
> +    map->map[elem / 8]&= ~(1<<  (elem&  7));
> +}
> +
>   int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap)
>   {
>       int max_cpus;
> -    int sz;
>
>       max_cpus = libxl_get_max_cpus(ctx);
>       if (max_cpus == 0)
>           return ERROR_FAIL;
>
> -    sz = (max_cpus + 7) / 8;
> -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> -    if (!cpumap->map)
> -        return ERROR_NOMEM;
> -    cpumap->size = sz;
> -    return 0;
> -}
> -
> -void libxl_cpumap_dispose(libxl_cpumap *map)
> -{
> -    free(map->map);
> -}
> -
> -int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
> -{
> -    if (cpu>= cpumap->size * 8)
> -        return 0;
> -    return (cpumap->map[cpu / 8]&  (1<<  (cpu&  7))) ? 1 : 0;
> -}
> -
> -void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
> -{
> -    if (cpu>= cpumap->size * 8)
> -        return;
> -    cpumap->map[cpu / 8] |= 1<<  (cpu&  7);
> -}
> -
> -void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu)
> -{
> -    if (cpu>= cpumap->size * 8)
> -        return;
> -    cpumap->map[cpu / 8]&= ~(1<<  (cpu&  7));
> +    return libxl_map_alloc(ctx, cpumap, max_cpus);
>   }
>
>   int libxl_get_max_cpus(libxl_ctx *ctx)
> diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
> --- a/tools/libxl/libxl_utils.h
> +++ b/tools/libxl/libxl_utils.h
> @@ -63,21 +63,46 @@ int libxl_devid_to_device_nic(libxl_ctx
>   int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
>                                  libxl_device_disk *disk);
>
> +int libxl_map_test(struct libxl_map *map, int elem);
> +void libxl_map_set(struct libxl_map *map, int elem);
> +void libxl_map_reset(struct libxl_map *map, int elem);
> +static inline void libxl_map_set_any(struct libxl_map *map)
> +{
> +    memset(map->map, -1, map->size);
> +}
> +static inline void libxl_map_set_none(struct libxl_map *map)
> +{
> +    memset(map->map, 0, map->size);
> +}
> +static inline int libxl_map_elem_valid(struct libxl_map *map, int elem)
> +{
> +    return elem>= 0&&  elem<  (map->size * 8);
> +}
> +
>   int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
> -int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
> -void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
> -void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
> +static inline int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
> +{
> +    return libxl_map_test(cpumap, cpu);
> +}
> +static inline void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
> +{
> +    libxl_map_set(cpumap, cpu);
>   {
> -    memset(cpumap->map, -1, cpumap->size);
> +    libxl_map_set_any(cpumap);
>   }
>   static inline void libxl_cpumap_set_none(libxl_cpumap *cpumap)
>   {
> -    memset(cpumap->map, 0, cpumap->size);
> +    libxl_map_set_none(cpumap);
>   }
>   static inline int libxl_cpumap_cpu_valid(libxl_cpumap *cpumap, int cpu)
>   {
> -    return cpu>= 0&&  cpu<  (cpumap->size * 8);
> +    return libxl_map_elem_valid(cpumap, cpu);
>   }
>   #define libxl_for_each_cpu(var, map) for (var = 0; var<  (map).size * 8; var++)
>   #define libxl_for_each_set_cpu(v, m) for (v = 0; v<  (m).size * 8; v++) \


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:57:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:57:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6o1-0005DU-7W; Thu, 31 May 2012 14:56:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa6nz-0005DL-GU
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:56:51 +0000
Received: from [85.158.143.35:9612] by server-3.bemta-4.messagelabs.com id
	1D/3C-04252-2B687CF4; Thu, 31 May 2012 14:56:50 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338476203!15668948!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22531 invoked from network); 31 May 2012 14:56:48 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 14:56:48 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330923600"; d="scan'208";a="26376163"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 10:56:36 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 10:56:36 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa6nk-0007xu-6B;
	Thu, 31 May 2012 15:56:36 +0100
Message-ID: <4FC78640.3050408@eu.citrix.com>
Date: Thu, 31 May 2012 15:54:56 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<82ac47424d0a8888d702.1338466267@Solace>
In-Reply-To: <82ac47424d0a8888d702.1338466267@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 02 of 11] libxl: abstract libxl_cpumap to
	just libxl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> More specifically:
>   1. introduces struct libxl_map;
>   2. re-implement libxl_cpumap_* on top of struct libxl_map_*;
>
> No functional nor interface changes at all.
>
> This is in preparation of the introduction of NUMA nodes maps.
>
> Signed-off-by: Dario Faggioli<dario.faggioli@citrix.eu.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
>
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -282,11 +282,17 @@ typedef uint32_t libxl_hwcap[8];
>
>   typedef uint64_t libxl_ev_user;
>
> -typedef struct {
> +struct libxl_map {
>       uint32_t size;          /* number of bytes in map */
>       uint8_t *map;
> -} libxl_cpumap;
> -void libxl_cpumap_dispose(libxl_cpumap *map);
> +};
> +void libxl_map_dispose(struct libxl_map *map);
> +
> +typedef struct libxl_map libxl_cpumap;
> +static inline void libxl_cpumap_dispose(libxl_cpumap *cpumap)
> +{
> +    return libxl_map_dispose(cpumap);
> +}
>
>   typedef struct {
>       /*
> diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -488,47 +488,53 @@ int libxl_mac_to_device_nic(libxl_ctx *c
>       return rc;
>   }
>
> +void libxl_map_dispose(struct libxl_map *map)
> +{
> +    free(map->map);
> +}
> +
> +static int libxl_map_alloc(libxl_ctx *ctx, struct libxl_map *map, int n_elems)
> +{
> +    int sz;
> +
> +    sz = (n_elems + 7) / 8;
> +    map->map = calloc(sz, sizeof(*map->map));
> +    if (!map->map)
> +        return ERROR_NOMEM;
> +    map->size = sz;
> +    return 0;
> +}
> +
> +int libxl_map_test(struct libxl_map *map, int elem)
> +{
> +    if (elem>= map->size * 8)
> +        return 0;
> +    return (map->map[elem / 8]&  (1<<  (elem&  7))) ? 1 : 0;
> +}
> +
> +void libxl_map_set(struct libxl_map *map, int elem)
> +{
> +    if (elem>= map->size * 8)
> +        return;
> +    map->map[elem / 8] |= 1<<  (elem&  7);
> +}
> +
> +void libxl_map_reset(struct libxl_map *map, int elem)
> +{
> +    if (elem>= map->size * 8)
> +        return;
> +    map->map[elem / 8]&= ~(1<<  (elem&  7));
> +}
> +
>   int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap)
>   {
>       int max_cpus;
> -    int sz;
>
>       max_cpus = libxl_get_max_cpus(ctx);
>       if (max_cpus == 0)
>           return ERROR_FAIL;
>
> -    sz = (max_cpus + 7) / 8;
> -    cpumap->map = calloc(sz, sizeof(*cpumap->map));
> -    if (!cpumap->map)
> -        return ERROR_NOMEM;
> -    cpumap->size = sz;
> -    return 0;
> -}
> -
> -void libxl_cpumap_dispose(libxl_cpumap *map)
> -{
> -    free(map->map);
> -}
> -
> -int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
> -{
> -    if (cpu>= cpumap->size * 8)
> -        return 0;
> -    return (cpumap->map[cpu / 8]&  (1<<  (cpu&  7))) ? 1 : 0;
> -}
> -
> -void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
> -{
> -    if (cpu>= cpumap->size * 8)
> -        return;
> -    cpumap->map[cpu / 8] |= 1<<  (cpu&  7);
> -}
> -
> -void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu)
> -{
> -    if (cpu>= cpumap->size * 8)
> -        return;
> -    cpumap->map[cpu / 8]&= ~(1<<  (cpu&  7));
> +    return libxl_map_alloc(ctx, cpumap, max_cpus);
>   }
>
>   int libxl_get_max_cpus(libxl_ctx *ctx)
> diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
> --- a/tools/libxl/libxl_utils.h
> +++ b/tools/libxl/libxl_utils.h
> @@ -63,21 +63,46 @@ int libxl_devid_to_device_nic(libxl_ctx
>   int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *vdev,
>                                  libxl_device_disk *disk);
>
> +int libxl_map_test(struct libxl_map *map, int elem);
> +void libxl_map_set(struct libxl_map *map, int elem);
> +void libxl_map_reset(struct libxl_map *map, int elem);
> +static inline void libxl_map_set_any(struct libxl_map *map)
> +{
> +    memset(map->map, -1, map->size);
> +}
> +static inline void libxl_map_set_none(struct libxl_map *map)
> +{
> +    memset(map->map, 0, map->size);
> +}
> +static inline int libxl_map_elem_valid(struct libxl_map *map, int elem)
> +{
> +    return elem>= 0&&  elem<  (map->size * 8);
> +}
> +
>   int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
> -int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
> -void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
> -void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
> +static inline int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu)
> +{
> +    return libxl_map_test(cpumap, cpu);
> +}
> +static inline void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu)
> +{
> +    libxl_map_set(cpumap, cpu);
>   {
> -    memset(cpumap->map, -1, cpumap->size);
> +    libxl_map_set_any(cpumap);
>   }
>   static inline void libxl_cpumap_set_none(libxl_cpumap *cpumap)
>   {
> -    memset(cpumap->map, 0, cpumap->size);
> +    libxl_map_set_none(cpumap);
>   }
>   static inline int libxl_cpumap_cpu_valid(libxl_cpumap *cpumap, int cpu)
>   {
> -    return cpu>= 0&&  cpu<  (cpumap->size * 8);
> +    return libxl_map_elem_valid(cpumap, cpu);
>   }
>   #define libxl_for_each_cpu(var, map) for (var = 0; var<  (map).size * 8; var++)
>   #define libxl_for_each_set_cpu(v, m) for (v = 0; v<  (m).size * 8; v++) \


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 14:57:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:57:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6oj-0005Hg-LA; Thu, 31 May 2012 14:57:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6oh-0005HJ-Mt
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:57:35 +0000
Received: from [85.158.143.99:32024] by server-1.bemta-4.messagelabs.com id
	C6/35-27869-FD687CF4; Thu, 31 May 2012 14:57:35 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338476253!30730257!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9018 invoked from network); 31 May 2012 14:57:34 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-216.messagelabs.com with SMTP;
	31 May 2012 14:57:34 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78316048; Thu, 31 May 2012 16:57:33 +0200
Message-ID: <1338476246.15014.41.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:57:26 +0200
In-Reply-To: <20423.32435.342657.764548@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<5c4b4f0c184fa3534bcb.1338466271@Solace>
	<20423.32435.342657.764548@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06 of 11] libxl: introduce
	libxl_get_numainfo()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4288905101551213177=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4288905101551213177==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-OPbNxE30SYDHsEW0bixZ"


--=-OPbNxE30SYDHsEW0bixZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:22 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 06 of 11] libxl: introduce libxl_get_numai=
nfo()"):
> > Make some NUMA node information available to the toolstack. Achieve
> > this by means of xc_numainfo(), which exposes memory size and amount
> > of free memory of each node, as well as the relative distances of
> > each node to all the others.
> ...
> > +#define LIBXL_NUMAINFO_INVALID_ENTRY (~(uint32_t)0)
>=20
> Is there some reason we can't just make sure we use the same value for
> this in both places ?  That would avoid the need for this:
>=20
Sorry, with "both places" being? Maybe you're talking about reusing
LIBXL_CPUTOPOLOGY_INVALID_ENTRY here as well? If yes, I think it is
possible and I also thought doing it like that... Or was it something
different you were saying?

> > +#define V(mem, i) (mem[i] =3D=3D INVALID_NUMAINFO_ID) ? \
> > +    LIBXL_NUMAINFO_INVALID_ENTRY : mem[i]
>=20
> I appreciate that the types aren't the same.  In libxc it's an
> unsigned long.  But shouldn't they be the same ?
>=20
I again am not sure about what types you are talking about here I'm
afraid... :-(

> > +libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
> > +{
> > +    xc_numainfo_t ninfo;
> > +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memsize_t, memsize);
> > +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memfree_t, memfree);
> > +    DECLARE_HYPERCALL_BUFFER(uint32_t, node_distances);
> > +    libxl_numainfo *ret =3D NULL;
> > +    int i, j, max_nodes;
> > +
> > +    max_nodes =3D libxl_get_max_nodes(ctx);
> > +    if (max_nodes =3D=3D 0)
> > +    {
> > +        LIBXL__LOG(ctx, XTL_ERROR, "Unable to determine number of NODE=
S");
> > +        return NULL;
> > +    }
> > +
> > +    memsize =3D xc_hypercall_buffer_alloc
> > +        (ctx->xch, memsize, sizeof(*memsize) * max_nodes);
> > +    memfree =3D xc_hypercall_buffer_alloc
> > +        (ctx->xch, memfree, sizeof(*memfree) * max_nodes);
> > +    node_distances =3D xc_hypercall_buffer_alloc
> > +        (ctx->xch, node_distances, sizeof(*node_distances) * max_nodes=
 * max_nodes);
>=20
> This kind of stuff normally lives in libxc.  I appreciate that we have
> a bit of it in libxl already, but do we want to perpetuate that ?
>=20
Yes, I did this like it is mainly because it is exactly what
libxl_get_cpu_topology() does and thus I thought it to be the way to
go. :-)

> > +    ret =3D malloc(sizeof(libxl_numainfo) * max_nodes);
> > +    if (ret =3D=3D NULL) {
>=20
> In libxl you can use libxl__zalloc(NULL,...) (and don't have to check
> for errors because it can't fail).  But perhaps this is going into
> libxc ?
>=20
About libxl__zalloc(), noted. Thanks.

About moving this all, I can of couse look into doing that, if wanted.

> I'd like to hear what other people say about putting this in libxl
> vs. libxc.
>
Sure, just let me know what people prefer...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-OPbNxE30SYDHsEW0bixZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HhtYACgkQk4XaBE3IOsQ3wgCbBn/FXWHJdoEIsriiQ2dJIq/a
5scAoJ0elnxcY1kbXsjXkwXqUvagiLWQ
=755N
-----END PGP SIGNATURE-----

--=-OPbNxE30SYDHsEW0bixZ--



--===============4288905101551213177==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4288905101551213177==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:57:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:57:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6oj-0005Hg-LA; Thu, 31 May 2012 14:57:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6oh-0005HJ-Mt
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:57:35 +0000
Received: from [85.158.143.99:32024] by server-1.bemta-4.messagelabs.com id
	C6/35-27869-FD687CF4; Thu, 31 May 2012 14:57:35 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338476253!30730257!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9018 invoked from network); 31 May 2012 14:57:34 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-15.tower-216.messagelabs.com with SMTP;
	31 May 2012 14:57:34 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78316048; Thu, 31 May 2012 16:57:33 +0200
Message-ID: <1338476246.15014.41.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:57:26 +0200
In-Reply-To: <20423.32435.342657.764548@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<5c4b4f0c184fa3534bcb.1338466271@Solace>
	<20423.32435.342657.764548@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 06 of 11] libxl: introduce
	libxl_get_numainfo()
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4288905101551213177=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4288905101551213177==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-OPbNxE30SYDHsEW0bixZ"


--=-OPbNxE30SYDHsEW0bixZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:22 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 06 of 11] libxl: introduce libxl_get_numai=
nfo()"):
> > Make some NUMA node information available to the toolstack. Achieve
> > this by means of xc_numainfo(), which exposes memory size and amount
> > of free memory of each node, as well as the relative distances of
> > each node to all the others.
> ...
> > +#define LIBXL_NUMAINFO_INVALID_ENTRY (~(uint32_t)0)
>=20
> Is there some reason we can't just make sure we use the same value for
> this in both places ?  That would avoid the need for this:
>=20
Sorry, with "both places" being? Maybe you're talking about reusing
LIBXL_CPUTOPOLOGY_INVALID_ENTRY here as well? If yes, I think it is
possible and I also thought doing it like that... Or was it something
different you were saying?

> > +#define V(mem, i) (mem[i] =3D=3D INVALID_NUMAINFO_ID) ? \
> > +    LIBXL_NUMAINFO_INVALID_ENTRY : mem[i]
>=20
> I appreciate that the types aren't the same.  In libxc it's an
> unsigned long.  But shouldn't they be the same ?
>=20
I again am not sure about what types you are talking about here I'm
afraid... :-(

> > +libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
> > +{
> > +    xc_numainfo_t ninfo;
> > +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memsize_t, memsize);
> > +    DECLARE_HYPERCALL_BUFFER(xc_node_to_memfree_t, memfree);
> > +    DECLARE_HYPERCALL_BUFFER(uint32_t, node_distances);
> > +    libxl_numainfo *ret =3D NULL;
> > +    int i, j, max_nodes;
> > +
> > +    max_nodes =3D libxl_get_max_nodes(ctx);
> > +    if (max_nodes =3D=3D 0)
> > +    {
> > +        LIBXL__LOG(ctx, XTL_ERROR, "Unable to determine number of NODE=
S");
> > +        return NULL;
> > +    }
> > +
> > +    memsize =3D xc_hypercall_buffer_alloc
> > +        (ctx->xch, memsize, sizeof(*memsize) * max_nodes);
> > +    memfree =3D xc_hypercall_buffer_alloc
> > +        (ctx->xch, memfree, sizeof(*memfree) * max_nodes);
> > +    node_distances =3D xc_hypercall_buffer_alloc
> > +        (ctx->xch, node_distances, sizeof(*node_distances) * max_nodes=
 * max_nodes);
>=20
> This kind of stuff normally lives in libxc.  I appreciate that we have
> a bit of it in libxl already, but do we want to perpetuate that ?
>=20
Yes, I did this like it is mainly because it is exactly what
libxl_get_cpu_topology() does and thus I thought it to be the way to
go. :-)

> > +    ret =3D malloc(sizeof(libxl_numainfo) * max_nodes);
> > +    if (ret =3D=3D NULL) {
>=20
> In libxl you can use libxl__zalloc(NULL,...) (and don't have to check
> for errors because it can't fail).  But perhaps this is going into
> libxc ?
>=20
About libxl__zalloc(), noted. Thanks.

About moving this all, I can of couse look into doing that, if wanted.

> I'd like to hear what other people say about putting this in libxl
> vs. libxc.
>
Sure, just let me know what people prefer...

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-OPbNxE30SYDHsEW0bixZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HhtYACgkQk4XaBE3IOsQ3wgCbBn/FXWHJdoEIsriiQ2dJIq/a
5scAoJ0elnxcY1kbXsjXkwXqUvagiLWQ
=755N
-----END PGP SIGNATURE-----

--=-OPbNxE30SYDHsEW0bixZ--



--===============4288905101551213177==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4288905101551213177==--



From xen-devel-bounces@lists.xen.org Thu May 31 14:59:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:59:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6qH-0005RJ-7w; Thu, 31 May 2012 14:59:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa6qF-0005R7-O9
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:59:12 +0000
Received: from [85.158.139.83:23300] by server-6.bemta-5.messagelabs.com id
	37/DC-31790-E3787CF4; Thu, 31 May 2012 14:59:10 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338476348!27446922!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18254 invoked from network); 31 May 2012 14:59:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 14:59:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 15:59:03 +0100
Message-Id: <4FC7A354020000780008766F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 15:59:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part436DC624.0__="
Subject: [Xen-devel] [PATCH] linux-2.6.18: update to latest interface version
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part436DC624.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/arch/i386/kernel/setup-xen.c
+++ b/arch/i386/kernel/setup-xen.c
@@ -1756,8 +1756,6 @@ void __init setup_arch(char **cmdline_p)
 		 * kernel parameter); shrink reservation with the HV
 		 */
 		struct xen_memory_reservation reservation =3D {
-			.address_bits =3D 0,
-			.extent_order =3D 0,
 			.domid =3D DOMID_SELF
 		};
 		unsigned int difference;
--- a/arch/i386/mm/hypervisor.c
+++ b/arch/i386/mm/hypervisor.c
@@ -266,7 +266,7 @@ int xen_create_contiguous_region(
 		.out =3D {
 			.nr_extents   =3D 1,
 			.extent_order =3D order,
-			.address_bits =3D address_bits,
+			.mem_flags    =3D XENMEMF_address_bits(address_bits=
),
 			.domid        =3D DOMID_SELF
 		}
 	};
@@ -457,7 +457,7 @@ int xen_limit_pages_to_max_mfn(
 		},
 		.out =3D {
 			.extent_order =3D 0,
-			.address_bits =3D address_bits,
+			.mem_flags    =3D XENMEMF_address_bits(address_bits=
),
 			.domid        =3D DOMID_SELF
 		}
 	};
--- a/arch/x86_64/kernel/setup-xen.c
+++ b/arch/x86_64/kernel/setup-xen.c
@@ -787,8 +787,6 @@ void __init setup_arch(char **cmdline_p)
 			 * kernel parameter); shrink reservation with the =
HV
 			 */
 			struct xen_memory_reservation reservation =3D {
-				.address_bits =3D 0,
-				.extent_order =3D 0,
 				.domid =3D DOMID_SELF
 			};
 			unsigned int difference;
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -10,7 +10,7 @@ config XEN
 if XEN
 config XEN_INTERFACE_VERSION
 	hex
-	default 0x00030207
+	default 0x00040200
=20
 menu "XEN"
=20
--- a/drivers/xen/balloon/balloon.c
+++ b/drivers/xen/balloon/balloon.c
@@ -244,9 +244,7 @@ static int increase_reservation(unsigned
 	struct page   *page;
 	long           rc;
 	struct xen_memory_reservation reservation =3D {
-		.address_bits =3D 0,
-		.extent_order =3D 0,
-		.domid        =3D DOMID_SELF
+		.domid =3D DOMID_SELF
 	};
=20
 	if (nr_pages > ARRAY_SIZE(frame_list))
@@ -312,9 +310,7 @@ static int decrease_reservation(unsigned
 	int            need_sleep =3D 0;
 	int ret;
 	struct xen_memory_reservation reservation =3D {
-		.address_bits =3D 0,
-		.extent_order =3D 0,
-		.domid        =3D DOMID_SELF
+		.domid =3D DOMID_SELF
 	};
=20
 	if (nr_pages > ARRAY_SIZE(frame_list))
--- a/drivers/xen/blkback/common.h
+++ b/drivers/xen/blkback/common.h
@@ -33,6 +33,7 @@
 #include <linux/blkdev.h>
 #include <linux/wait.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/blkif.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
--- a/drivers/xen/blkfront/block.h
+++ b/drivers/xen/blkfront/block.h
@@ -47,6 +47,7 @@
 #include <linux/blkdev.h>
 #include <linux/major.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/xenbus.h>
 #include <xen/gnttab.h>
 #include <xen/interface/xen.h>
--- a/drivers/xen/blktap/common.h
+++ b/drivers/xen/blktap/common.h
@@ -32,6 +32,7 @@
 #include <linux/slab.h>
 #include <linux/blkdev.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/blkif.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
--- a/drivers/xen/blktap2/blktap.h
+++ b/drivers/xen/blktap2/blktap.h
@@ -6,6 +6,7 @@
 #include <linux/cdev.h>
 #include <linux/init.h>
 #include <linux/scatterlist.h>
+#include <xen/barrier.h>
 #include <xen/blkif.h>
 #include <xen/gnttab.h>
=20
--- a/drivers/xen/core/evtchn.c
+++ b/drivers/xen/core/evtchn.c
@@ -1065,7 +1065,8 @@ void irq_resume(void)
 		struct physdev_pirq_eoi_gmfn eoi_gmfn;
=20
 		eoi_gmfn.gmfn =3D virt_to_machine(pirq_needs_eoi) >> =
PAGE_SHIFT;
-		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, =
&eoi_gmfn))
+		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v1,
+					  &eoi_gmfn))
 			BUG();
 	}
=20
@@ -1162,7 +1163,7 @@ void __init xen_init_IRQ(void)
 	pirq_needs_eoi =3D alloc_bootmem_pages(sizeof(unsigned long)
 		* BITS_TO_LONGS(ALIGN(NR_PIRQS, PAGE_SIZE * 8)));
  	eoi_gmfn.gmfn =3D virt_to_machine(pirq_needs_eoi) >> PAGE_SHIFT;
-	if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, &eoi_gmfn) =
=3D=3D 0)
+	if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v1, &eoi_gmfn) =
=3D=3D 0)
 		pirq_eoi_does_unmask =3D 1;
=20
 	/* No event channels are 'live' right now. */
--- a/drivers/xen/core/gnttab.c
+++ b/drivers/xen/core/gnttab.c
@@ -53,7 +53,7 @@
 /* External tools reserve first few grant table entries. */
 #define NR_RESERVED_ENTRIES 8
 #define GNTTAB_LIST_END 0xffffffff
-#define ENTRIES_PER_GRANT_FRAME (PAGE_SIZE / sizeof(grant_entry_t))
+#define ENTRIES_PER_GRANT_FRAME (PAGE_SIZE / sizeof(grant_entry_v1_t))
=20
 static grant_ref_t **gnttab_list;
 static unsigned int nr_grant_frames;
@@ -62,7 +62,7 @@ static int gnttab_free_count;
 static grant_ref_t gnttab_free_head;
 static DEFINE_SPINLOCK(gnttab_list_lock);
=20
-static struct grant_entry *shared;
+static struct grant_entry_v1 *shared;
=20
 static struct gnttab_free_callback *gnttab_free_callback_list;
=20
--- a/drivers/xen/netback/common.h
+++ b/drivers/xen/netback/common.h
@@ -38,6 +38,7 @@
 #include <linux/etherdevice.h>
 #include <linux/wait.h>
 #include <xen/interface/io/netif.h>
+#include <xen/barrier.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
 #include <xen/interface/event_channel.h>
--- a/drivers/xen/netfront/netfront.c
+++ b/drivers/xen/netfront/netfront.c
@@ -719,7 +719,6 @@ static void network_alloc_rx_buffers(str
 	struct page *page;
 	int i, batch_target, notify;
 	RING_IDX req_prod =3D np->rx.req_prod_pvt;
-	struct xen_memory_reservation reservation;
 	grant_ref_t ref;
  	unsigned long pfn;
  	void *vaddr;
@@ -824,16 +823,17 @@ no_skb:
 		req->gref =3D ref;
 	}
=20
-	if ( nr_flips !=3D 0 ) {
+	if (nr_flips) {
+		struct xen_memory_reservation reservation =3D {
+			.nr_extents =3D nr_flips,
+			.domid      =3D DOMID_SELF,
+		};
+
 		/* Tell the ballon driver what is going on. */
 		balloon_update_driver_allowance(i);
=20
 		set_xen_guest_handle(reservation.extent_start,
 				     np->rx_pfn_array);
-		reservation.nr_extents   =3D nr_flips;
-		reservation.extent_order =3D 0;
-		reservation.address_bits =3D 0;
-		reservation.domid        =3D DOMID_SELF;
=20
 		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* After all PTEs have been zapped, flush the TLB. =
*/
--- a/drivers/xen/netfront/netfront.h
+++ b/drivers/xen/netfront/netfront.h
@@ -33,6 +33,7 @@
 #ifndef NETFRONT_H
 #define NETFRONT_H
=20
+#include <xen/barrier.h>
 #include <xen/interface/io/netif.h>
 #include <linux/netdevice.h>
 #include <linux/skbuff.h>
--- a/drivers/xen/scsiback/common.h
+++ b/drivers/xen/scsiback/common.h
@@ -47,6 +47,7 @@
 #include <scsi/scsi_dbg.h>
 #include <scsi/scsi_eh.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
 #include <xen/interface/io/ring.h>
--- a/drivers/xen/scsifront/common.h
+++ b/drivers/xen/scsifront/common.h
@@ -45,6 +45,7 @@
 #include <scsi/scsi_device.h>
 #include <scsi/scsi.h>
 #include <scsi/scsi_host.h>
+#include <xen/barrier.h>
 #include <xen/xenbus.h>
 #include <xen/gnttab.h>
 #include <xen/evtchn.h>
--- a/drivers/xen/usbback/usbback.h
+++ b/drivers/xen/usbback/usbback.h
@@ -54,6 +54,7 @@
 #include <linux/wait.h>
 #include <linux/list.h>
 #include <linux/kref.h>
+#include <xen/barrier.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
 #include <xen/interface/event_channel.h>
--- a/drivers/xen/usbfront/usbfront.h
+++ b/drivers/xen/usbfront/usbfront.h
@@ -52,6 +52,7 @@
 #include <linux/kthread.h>
 #include <linux/wait.h>
 #include <asm/io.h>
+#include <xen/barrier.h>
 #include <xen/xenbus.h>
 #include <xen/evtchn.h>
 #include <xen/gnttab.h>
--- /dev/null
+++ b/include/xen/barrier.h
@@ -0,0 +1,10 @@
+#ifndef __XEN_BARRIER_H__
+#define __XEN_BARRIER_H__
+
+#include <asm/system.h>
+
+#define xen_mb()  mb()
+#define xen_rmb() rmb()
+#define xen_wmb() wmb()
+
+#endif /* __XEN_BARRIER_H__ */



--=__Part436DC624.0__=
Content-Type: text/plain; name="xen-interface.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-interface.patch"

update to latest interface version=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/arch/i386/kernel/setup-xen.c=0A+++ =
b/arch/i386/kernel/setup-xen.c=0A@@ -1756,8 +1756,6 @@ void __init =
setup_arch(char **cmdline_p)=0A 		 * kernel parameter); =
shrink reservation with the HV=0A 		 */=0A 		struct =
xen_memory_reservation reservation =3D {=0A-			.address_bi=
ts =3D 0,=0A-			.extent_order =3D 0,=0A 			=
.domid =3D DOMID_SELF=0A 		};=0A 		unsigned int =
difference;=0A--- a/arch/i386/mm/hypervisor.c=0A+++ b/arch/i386/mm/hypervis=
or.c=0A@@ -266,7 +266,7 @@ int xen_create_contiguous_region(=0A 		=
.out =3D {=0A 			.nr_extents   =3D 1,=0A 			=
.extent_order =3D order,=0A-			.address_bits =3D =
address_bits,=0A+			.mem_flags    =3D XENMEMF_address_b=
its(address_bits),=0A 			.domid        =3D DOMID_SELF=0A 	=
	}=0A 	};=0A@@ -457,7 +457,7 @@ int xen_limit_pages_to_max_mfn(=0A=
 		},=0A 		.out =3D {=0A 			.extent_ord=
er =3D 0,=0A-			.address_bits =3D address_bits,=0A+		=
	.mem_flags    =3D XENMEMF_address_bits(address_bits),=0A 		=
	.domid        =3D DOMID_SELF=0A 		}=0A 	};=0A--- =
a/arch/x86_64/kernel/setup-xen.c=0A+++ b/arch/x86_64/kernel/setup-xen.c=0A@=
@ -787,8 +787,6 @@ void __init setup_arch(char **cmdline_p)=0A 			=
 * kernel parameter); shrink reservation with the HV=0A 			=
 */=0A 			struct xen_memory_reservation reservation =3D =
{=0A-				.address_bits =3D 0,=0A-			=
	.extent_order =3D 0,=0A 				.domid =3D =
DOMID_SELF=0A 			};=0A 			unsigned int =
difference;=0A--- a/drivers/xen/Kconfig=0A+++ b/drivers/xen/Kconfig=0A@@ =
-10,7 +10,7 @@ config XEN=0A if XEN=0A config XEN_INTERFACE_VERSION=0A 	=
hex=0A-	default 0x00030207=0A+	default 0x00040200=0A =0A menu "XEN"=0A =
=0A--- a/drivers/xen/balloon/balloon.c=0A+++ b/drivers/xen/balloon/balloon.=
c=0A@@ -244,9 +244,7 @@ static int increase_reservation(unsigned=0A 	=
struct page   *page;=0A 	long           rc;=0A 	struct xen_memory_r=
eservation reservation =3D {=0A-		.address_bits =3D 0,=0A-	=
	.extent_order =3D 0,=0A-		.domid        =3D =
DOMID_SELF=0A+		.domid =3D DOMID_SELF=0A 	};=0A =0A 	if =
(nr_pages > ARRAY_SIZE(frame_list))=0A@@ -312,9 +310,7 @@ static int =
decrease_reservation(unsigned=0A 	int            need_sleep =3D =
0;=0A 	int ret;=0A 	struct xen_memory_reservation reservation =3D =
{=0A-		.address_bits =3D 0,=0A-		.extent_order =3D =
0,=0A-		.domid        =3D DOMID_SELF=0A+		.domid =3D =
DOMID_SELF=0A 	};=0A =0A 	if (nr_pages > ARRAY_SIZE(frame_list))=0A--=
- a/drivers/xen/blkback/common.h=0A+++ b/drivers/xen/blkback/common.h=0A@@ =
-33,6 +33,7 @@=0A #include <linux/blkdev.h>=0A #include <linux/wait.h>=0A =
#include <asm/hypervisor.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/blkif.h>=0A #include <xen/driver_util.h>=0A #include <xen/xenbus.h>=0A=
--- a/drivers/xen/blkfront/block.h=0A+++ b/drivers/xen/blkfront/block.h=0A@=
@ -47,6 +47,7 @@=0A #include <linux/blkdev.h>=0A #include <linux/major.h>=
=0A #include <asm/hypervisor.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/xenbus.h>=0A #include <xen/gnttab.h>=0A #include <xen/interface/xen.h>=
=0A--- a/drivers/xen/blktap/common.h=0A+++ b/drivers/xen/blktap/common.h=0A=
@@ -32,6 +32,7 @@=0A #include <linux/slab.h>=0A #include <linux/blkdev.h>=
=0A #include <asm/hypervisor.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/blkif.h>=0A #include <xen/driver_util.h>=0A #include <xen/xenbus.h>=0A=
--- a/drivers/xen/blktap2/blktap.h=0A+++ b/drivers/xen/blktap2/blktap.h=0A@=
@ -6,6 +6,7 @@=0A #include <linux/cdev.h>=0A #include <linux/init.h>=0A =
#include <linux/scatterlist.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/blkif.h>=0A #include <xen/gnttab.h>=0A =0A--- a/drivers/xen/core/evtch=
n.c=0A+++ b/drivers/xen/core/evtchn.c=0A@@ -1065,7 +1065,8 @@ void =
irq_resume(void)=0A 		struct physdev_pirq_eoi_gmfn eoi_gmfn;=0A =
=0A 		eoi_gmfn.gmfn =3D virt_to_machine(pirq_needs_eoi) >> =
PAGE_SHIFT;=0A-		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, =
&eoi_gmfn))=0A+		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v=
1,=0A+					  &eoi_gmfn))=0A 			=
BUG();=0A 	}=0A =0A@@ -1162,7 +1163,7 @@ void __init xen_init_IRQ(void=
)=0A 	pirq_needs_eoi =3D alloc_bootmem_pages(sizeof(unsigned long)=0A 	=
	* BITS_TO_LONGS(ALIGN(NR_PIRQS, PAGE_SIZE * 8)));=0A  	eoi_gmfn.gm=
fn =3D virt_to_machine(pirq_needs_eoi) >> PAGE_SHIFT;=0A-	if =
(HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, &eoi_gmfn) =3D=3D 0)=0A+	=
if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v1, &eoi_gmfn) =3D=3D =
0)=0A 		pirq_eoi_does_unmask =3D 1;=0A =0A 	/* No event =
channels are 'live' right now. */=0A--- a/drivers/xen/core/gnttab.c=0A+++ =
b/drivers/xen/core/gnttab.c=0A@@ -53,7 +53,7 @@=0A /* External tools =
reserve first few grant table entries. */=0A #define NR_RESERVED_ENTRIES =
8=0A #define GNTTAB_LIST_END 0xffffffff=0A-#define ENTRIES_PER_GRANT_FRAME =
(PAGE_SIZE / sizeof(grant_entry_t))=0A+#define ENTRIES_PER_GRANT_FRAME =
(PAGE_SIZE / sizeof(grant_entry_v1_t))=0A =0A static grant_ref_t **gnttab_l=
ist;=0A static unsigned int nr_grant_frames;=0A@@ -62,7 +62,7 @@ static =
int gnttab_free_count;=0A static grant_ref_t gnttab_free_head;=0A static =
DEFINE_SPINLOCK(gnttab_list_lock);=0A =0A-static struct grant_entry =
*shared;=0A+static struct grant_entry_v1 *shared;=0A =0A static struct =
gnttab_free_callback *gnttab_free_callback_list;=0A =0A--- a/drivers/xen/ne=
tback/common.h=0A+++ b/drivers/xen/netback/common.h=0A@@ -38,6 +38,7 @@=0A =
#include <linux/etherdevice.h>=0A #include <linux/wait.h>=0A #include =
<xen/interface/io/netif.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/driver_util.h>=0A #include <xen/xenbus.h>=0A #include <xen/interface/e=
vent_channel.h>=0A--- a/drivers/xen/netfront/netfront.c=0A+++ b/drivers/xen=
/netfront/netfront.c=0A@@ -719,7 +719,6 @@ static void network_alloc_rx_buf=
fers(str=0A 	struct page *page;=0A 	int i, batch_target, notify;=0A 	=
RING_IDX req_prod =3D np->rx.req_prod_pvt;=0A-	struct xen_memory_reservati=
on reservation;=0A 	grant_ref_t ref;=0A  	unsigned long pfn;=0A  	=
void *vaddr;=0A@@ -824,16 +823,17 @@ no_skb:=0A 		req->gref =
=3D ref;=0A 	}=0A =0A-	if ( nr_flips !=3D 0 ) {=0A+	if =
(nr_flips) {=0A+		struct xen_memory_reservation reservation =
=3D {=0A+			.nr_extents =3D nr_flips,=0A+			=
.domid      =3D DOMID_SELF,=0A+		};=0A+=0A 		/* Tell =
the ballon driver what is going on. */=0A 		balloon_update_driv=
er_allowance(i);=0A =0A 		set_xen_guest_handle(reservation.ex=
tent_start,=0A 				     np->rx_pfn_array);=0A-		=
reservation.nr_extents   =3D nr_flips;=0A-		reservation.extent_=
order =3D 0;=0A-		reservation.address_bits =3D 0;=0A-		=
reservation.domid        =3D DOMID_SELF;=0A =0A 		if =
(!xen_feature(XENFEAT_auto_translated_physmap)) {=0A 			/* =
After all PTEs have been zapped, flush the TLB. */=0A--- a/drivers/xen/netf=
ront/netfront.h=0A+++ b/drivers/xen/netfront/netfront.h=0A@@ -33,6 +33,7 =
@@=0A #ifndef NETFRONT_H=0A #define NETFRONT_H=0A =0A+#include <xen/barrier=
.h>=0A #include <xen/interface/io/netif.h>=0A #include <linux/netdevice.h>=
=0A #include <linux/skbuff.h>=0A--- a/drivers/xen/scsiback/common.h=0A+++ =
b/drivers/xen/scsiback/common.h=0A@@ -47,6 +47,7 @@=0A #include <scsi/scsi_=
dbg.h>=0A #include <scsi/scsi_eh.h>=0A #include <asm/hypervisor.h>=0A+#incl=
ude <xen/barrier.h>=0A #include <xen/driver_util.h>=0A #include <xen/xenbus=
.h>=0A #include <xen/interface/io/ring.h>=0A--- a/drivers/xen/scsifront/com=
mon.h=0A+++ b/drivers/xen/scsifront/common.h=0A@@ -45,6 +45,7 @@=0A =
#include <scsi/scsi_device.h>=0A #include <scsi/scsi.h>=0A #include =
<scsi/scsi_host.h>=0A+#include <xen/barrier.h>=0A #include <xen/xenbus.h>=
=0A #include <xen/gnttab.h>=0A #include <xen/evtchn.h>=0A--- a/drivers/xen/=
usbback/usbback.h=0A+++ b/drivers/xen/usbback/usbback.h=0A@@ -54,6 +54,7 =
@@=0A #include <linux/wait.h>=0A #include <linux/list.h>=0A #include =
<linux/kref.h>=0A+#include <xen/barrier.h>=0A #include <xen/driver_util.h>=
=0A #include <xen/xenbus.h>=0A #include <xen/interface/event_channel.h>=0A-=
-- a/drivers/xen/usbfront/usbfront.h=0A+++ b/drivers/xen/usbfront/usbfront.=
h=0A@@ -52,6 +52,7 @@=0A #include <linux/kthread.h>=0A #include <linux/wait=
.h>=0A #include <asm/io.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/xenbus.h>=0A #include <xen/evtchn.h>=0A #include <xen/gnttab.h>=0A--- =
/dev/null=0A+++ b/include/xen/barrier.h=0A@@ -0,0 +1,10 @@=0A+#ifndef =
__XEN_BARRIER_H__=0A+#define __XEN_BARRIER_H__=0A+=0A+#include <asm/system.=
h>=0A+=0A+#define xen_mb()  mb()=0A+#define xen_rmb() rmb()=0A+#define =
xen_wmb() wmb()=0A+=0A+#endif /* __XEN_BARRIER_H__ */=0A
--=__Part436DC624.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part436DC624.0__=--


From xen-devel-bounces@lists.xen.org Thu May 31 14:59:22 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 14:59:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6qH-0005RJ-7w; Thu, 31 May 2012 14:59:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa6qF-0005R7-O9
	for xen-devel@lists.xen.org; Thu, 31 May 2012 14:59:12 +0000
Received: from [85.158.139.83:23300] by server-6.bemta-5.messagelabs.com id
	37/DC-31790-E3787CF4; Thu, 31 May 2012 14:59:10 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338476348!27446922!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18254 invoked from network); 31 May 2012 14:59:09 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 14:59:09 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 15:59:03 +0100
Message-Id: <4FC7A354020000780008766F@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 15:59:00 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part436DC624.0__="
Subject: [Xen-devel] [PATCH] linux-2.6.18: update to latest interface version
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part436DC624.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/arch/i386/kernel/setup-xen.c
+++ b/arch/i386/kernel/setup-xen.c
@@ -1756,8 +1756,6 @@ void __init setup_arch(char **cmdline_p)
 		 * kernel parameter); shrink reservation with the HV
 		 */
 		struct xen_memory_reservation reservation =3D {
-			.address_bits =3D 0,
-			.extent_order =3D 0,
 			.domid =3D DOMID_SELF
 		};
 		unsigned int difference;
--- a/arch/i386/mm/hypervisor.c
+++ b/arch/i386/mm/hypervisor.c
@@ -266,7 +266,7 @@ int xen_create_contiguous_region(
 		.out =3D {
 			.nr_extents   =3D 1,
 			.extent_order =3D order,
-			.address_bits =3D address_bits,
+			.mem_flags    =3D XENMEMF_address_bits(address_bits=
),
 			.domid        =3D DOMID_SELF
 		}
 	};
@@ -457,7 +457,7 @@ int xen_limit_pages_to_max_mfn(
 		},
 		.out =3D {
 			.extent_order =3D 0,
-			.address_bits =3D address_bits,
+			.mem_flags    =3D XENMEMF_address_bits(address_bits=
),
 			.domid        =3D DOMID_SELF
 		}
 	};
--- a/arch/x86_64/kernel/setup-xen.c
+++ b/arch/x86_64/kernel/setup-xen.c
@@ -787,8 +787,6 @@ void __init setup_arch(char **cmdline_p)
 			 * kernel parameter); shrink reservation with the =
HV
 			 */
 			struct xen_memory_reservation reservation =3D {
-				.address_bits =3D 0,
-				.extent_order =3D 0,
 				.domid =3D DOMID_SELF
 			};
 			unsigned int difference;
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -10,7 +10,7 @@ config XEN
 if XEN
 config XEN_INTERFACE_VERSION
 	hex
-	default 0x00030207
+	default 0x00040200
=20
 menu "XEN"
=20
--- a/drivers/xen/balloon/balloon.c
+++ b/drivers/xen/balloon/balloon.c
@@ -244,9 +244,7 @@ static int increase_reservation(unsigned
 	struct page   *page;
 	long           rc;
 	struct xen_memory_reservation reservation =3D {
-		.address_bits =3D 0,
-		.extent_order =3D 0,
-		.domid        =3D DOMID_SELF
+		.domid =3D DOMID_SELF
 	};
=20
 	if (nr_pages > ARRAY_SIZE(frame_list))
@@ -312,9 +310,7 @@ static int decrease_reservation(unsigned
 	int            need_sleep =3D 0;
 	int ret;
 	struct xen_memory_reservation reservation =3D {
-		.address_bits =3D 0,
-		.extent_order =3D 0,
-		.domid        =3D DOMID_SELF
+		.domid =3D DOMID_SELF
 	};
=20
 	if (nr_pages > ARRAY_SIZE(frame_list))
--- a/drivers/xen/blkback/common.h
+++ b/drivers/xen/blkback/common.h
@@ -33,6 +33,7 @@
 #include <linux/blkdev.h>
 #include <linux/wait.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/blkif.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
--- a/drivers/xen/blkfront/block.h
+++ b/drivers/xen/blkfront/block.h
@@ -47,6 +47,7 @@
 #include <linux/blkdev.h>
 #include <linux/major.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/xenbus.h>
 #include <xen/gnttab.h>
 #include <xen/interface/xen.h>
--- a/drivers/xen/blktap/common.h
+++ b/drivers/xen/blktap/common.h
@@ -32,6 +32,7 @@
 #include <linux/slab.h>
 #include <linux/blkdev.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/blkif.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
--- a/drivers/xen/blktap2/blktap.h
+++ b/drivers/xen/blktap2/blktap.h
@@ -6,6 +6,7 @@
 #include <linux/cdev.h>
 #include <linux/init.h>
 #include <linux/scatterlist.h>
+#include <xen/barrier.h>
 #include <xen/blkif.h>
 #include <xen/gnttab.h>
=20
--- a/drivers/xen/core/evtchn.c
+++ b/drivers/xen/core/evtchn.c
@@ -1065,7 +1065,8 @@ void irq_resume(void)
 		struct physdev_pirq_eoi_gmfn eoi_gmfn;
=20
 		eoi_gmfn.gmfn =3D virt_to_machine(pirq_needs_eoi) >> =
PAGE_SHIFT;
-		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, =
&eoi_gmfn))
+		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v1,
+					  &eoi_gmfn))
 			BUG();
 	}
=20
@@ -1162,7 +1163,7 @@ void __init xen_init_IRQ(void)
 	pirq_needs_eoi =3D alloc_bootmem_pages(sizeof(unsigned long)
 		* BITS_TO_LONGS(ALIGN(NR_PIRQS, PAGE_SIZE * 8)));
  	eoi_gmfn.gmfn =3D virt_to_machine(pirq_needs_eoi) >> PAGE_SHIFT;
-	if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, &eoi_gmfn) =
=3D=3D 0)
+	if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v1, &eoi_gmfn) =
=3D=3D 0)
 		pirq_eoi_does_unmask =3D 1;
=20
 	/* No event channels are 'live' right now. */
--- a/drivers/xen/core/gnttab.c
+++ b/drivers/xen/core/gnttab.c
@@ -53,7 +53,7 @@
 /* External tools reserve first few grant table entries. */
 #define NR_RESERVED_ENTRIES 8
 #define GNTTAB_LIST_END 0xffffffff
-#define ENTRIES_PER_GRANT_FRAME (PAGE_SIZE / sizeof(grant_entry_t))
+#define ENTRIES_PER_GRANT_FRAME (PAGE_SIZE / sizeof(grant_entry_v1_t))
=20
 static grant_ref_t **gnttab_list;
 static unsigned int nr_grant_frames;
@@ -62,7 +62,7 @@ static int gnttab_free_count;
 static grant_ref_t gnttab_free_head;
 static DEFINE_SPINLOCK(gnttab_list_lock);
=20
-static struct grant_entry *shared;
+static struct grant_entry_v1 *shared;
=20
 static struct gnttab_free_callback *gnttab_free_callback_list;
=20
--- a/drivers/xen/netback/common.h
+++ b/drivers/xen/netback/common.h
@@ -38,6 +38,7 @@
 #include <linux/etherdevice.h>
 #include <linux/wait.h>
 #include <xen/interface/io/netif.h>
+#include <xen/barrier.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
 #include <xen/interface/event_channel.h>
--- a/drivers/xen/netfront/netfront.c
+++ b/drivers/xen/netfront/netfront.c
@@ -719,7 +719,6 @@ static void network_alloc_rx_buffers(str
 	struct page *page;
 	int i, batch_target, notify;
 	RING_IDX req_prod =3D np->rx.req_prod_pvt;
-	struct xen_memory_reservation reservation;
 	grant_ref_t ref;
  	unsigned long pfn;
  	void *vaddr;
@@ -824,16 +823,17 @@ no_skb:
 		req->gref =3D ref;
 	}
=20
-	if ( nr_flips !=3D 0 ) {
+	if (nr_flips) {
+		struct xen_memory_reservation reservation =3D {
+			.nr_extents =3D nr_flips,
+			.domid      =3D DOMID_SELF,
+		};
+
 		/* Tell the ballon driver what is going on. */
 		balloon_update_driver_allowance(i);
=20
 		set_xen_guest_handle(reservation.extent_start,
 				     np->rx_pfn_array);
-		reservation.nr_extents   =3D nr_flips;
-		reservation.extent_order =3D 0;
-		reservation.address_bits =3D 0;
-		reservation.domid        =3D DOMID_SELF;
=20
 		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* After all PTEs have been zapped, flush the TLB. =
*/
--- a/drivers/xen/netfront/netfront.h
+++ b/drivers/xen/netfront/netfront.h
@@ -33,6 +33,7 @@
 #ifndef NETFRONT_H
 #define NETFRONT_H
=20
+#include <xen/barrier.h>
 #include <xen/interface/io/netif.h>
 #include <linux/netdevice.h>
 #include <linux/skbuff.h>
--- a/drivers/xen/scsiback/common.h
+++ b/drivers/xen/scsiback/common.h
@@ -47,6 +47,7 @@
 #include <scsi/scsi_dbg.h>
 #include <scsi/scsi_eh.h>
 #include <asm/hypervisor.h>
+#include <xen/barrier.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
 #include <xen/interface/io/ring.h>
--- a/drivers/xen/scsifront/common.h
+++ b/drivers/xen/scsifront/common.h
@@ -45,6 +45,7 @@
 #include <scsi/scsi_device.h>
 #include <scsi/scsi.h>
 #include <scsi/scsi_host.h>
+#include <xen/barrier.h>
 #include <xen/xenbus.h>
 #include <xen/gnttab.h>
 #include <xen/evtchn.h>
--- a/drivers/xen/usbback/usbback.h
+++ b/drivers/xen/usbback/usbback.h
@@ -54,6 +54,7 @@
 #include <linux/wait.h>
 #include <linux/list.h>
 #include <linux/kref.h>
+#include <xen/barrier.h>
 #include <xen/driver_util.h>
 #include <xen/xenbus.h>
 #include <xen/interface/event_channel.h>
--- a/drivers/xen/usbfront/usbfront.h
+++ b/drivers/xen/usbfront/usbfront.h
@@ -52,6 +52,7 @@
 #include <linux/kthread.h>
 #include <linux/wait.h>
 #include <asm/io.h>
+#include <xen/barrier.h>
 #include <xen/xenbus.h>
 #include <xen/evtchn.h>
 #include <xen/gnttab.h>
--- /dev/null
+++ b/include/xen/barrier.h
@@ -0,0 +1,10 @@
+#ifndef __XEN_BARRIER_H__
+#define __XEN_BARRIER_H__
+
+#include <asm/system.h>
+
+#define xen_mb()  mb()
+#define xen_rmb() rmb()
+#define xen_wmb() wmb()
+
+#endif /* __XEN_BARRIER_H__ */



--=__Part436DC624.0__=
Content-Type: text/plain; name="xen-interface.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-interface.patch"

update to latest interface version=0A=0ASigned-off-by: Jan Beulich =
<jbeulich@suse.com>=0A=0A--- a/arch/i386/kernel/setup-xen.c=0A+++ =
b/arch/i386/kernel/setup-xen.c=0A@@ -1756,8 +1756,6 @@ void __init =
setup_arch(char **cmdline_p)=0A 		 * kernel parameter); =
shrink reservation with the HV=0A 		 */=0A 		struct =
xen_memory_reservation reservation =3D {=0A-			.address_bi=
ts =3D 0,=0A-			.extent_order =3D 0,=0A 			=
.domid =3D DOMID_SELF=0A 		};=0A 		unsigned int =
difference;=0A--- a/arch/i386/mm/hypervisor.c=0A+++ b/arch/i386/mm/hypervis=
or.c=0A@@ -266,7 +266,7 @@ int xen_create_contiguous_region(=0A 		=
.out =3D {=0A 			.nr_extents   =3D 1,=0A 			=
.extent_order =3D order,=0A-			.address_bits =3D =
address_bits,=0A+			.mem_flags    =3D XENMEMF_address_b=
its(address_bits),=0A 			.domid        =3D DOMID_SELF=0A 	=
	}=0A 	};=0A@@ -457,7 +457,7 @@ int xen_limit_pages_to_max_mfn(=0A=
 		},=0A 		.out =3D {=0A 			.extent_ord=
er =3D 0,=0A-			.address_bits =3D address_bits,=0A+		=
	.mem_flags    =3D XENMEMF_address_bits(address_bits),=0A 		=
	.domid        =3D DOMID_SELF=0A 		}=0A 	};=0A--- =
a/arch/x86_64/kernel/setup-xen.c=0A+++ b/arch/x86_64/kernel/setup-xen.c=0A@=
@ -787,8 +787,6 @@ void __init setup_arch(char **cmdline_p)=0A 			=
 * kernel parameter); shrink reservation with the HV=0A 			=
 */=0A 			struct xen_memory_reservation reservation =3D =
{=0A-				.address_bits =3D 0,=0A-			=
	.extent_order =3D 0,=0A 				.domid =3D =
DOMID_SELF=0A 			};=0A 			unsigned int =
difference;=0A--- a/drivers/xen/Kconfig=0A+++ b/drivers/xen/Kconfig=0A@@ =
-10,7 +10,7 @@ config XEN=0A if XEN=0A config XEN_INTERFACE_VERSION=0A 	=
hex=0A-	default 0x00030207=0A+	default 0x00040200=0A =0A menu "XEN"=0A =
=0A--- a/drivers/xen/balloon/balloon.c=0A+++ b/drivers/xen/balloon/balloon.=
c=0A@@ -244,9 +244,7 @@ static int increase_reservation(unsigned=0A 	=
struct page   *page;=0A 	long           rc;=0A 	struct xen_memory_r=
eservation reservation =3D {=0A-		.address_bits =3D 0,=0A-	=
	.extent_order =3D 0,=0A-		.domid        =3D =
DOMID_SELF=0A+		.domid =3D DOMID_SELF=0A 	};=0A =0A 	if =
(nr_pages > ARRAY_SIZE(frame_list))=0A@@ -312,9 +310,7 @@ static int =
decrease_reservation(unsigned=0A 	int            need_sleep =3D =
0;=0A 	int ret;=0A 	struct xen_memory_reservation reservation =3D =
{=0A-		.address_bits =3D 0,=0A-		.extent_order =3D =
0,=0A-		.domid        =3D DOMID_SELF=0A+		.domid =3D =
DOMID_SELF=0A 	};=0A =0A 	if (nr_pages > ARRAY_SIZE(frame_list))=0A--=
- a/drivers/xen/blkback/common.h=0A+++ b/drivers/xen/blkback/common.h=0A@@ =
-33,6 +33,7 @@=0A #include <linux/blkdev.h>=0A #include <linux/wait.h>=0A =
#include <asm/hypervisor.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/blkif.h>=0A #include <xen/driver_util.h>=0A #include <xen/xenbus.h>=0A=
--- a/drivers/xen/blkfront/block.h=0A+++ b/drivers/xen/blkfront/block.h=0A@=
@ -47,6 +47,7 @@=0A #include <linux/blkdev.h>=0A #include <linux/major.h>=
=0A #include <asm/hypervisor.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/xenbus.h>=0A #include <xen/gnttab.h>=0A #include <xen/interface/xen.h>=
=0A--- a/drivers/xen/blktap/common.h=0A+++ b/drivers/xen/blktap/common.h=0A=
@@ -32,6 +32,7 @@=0A #include <linux/slab.h>=0A #include <linux/blkdev.h>=
=0A #include <asm/hypervisor.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/blkif.h>=0A #include <xen/driver_util.h>=0A #include <xen/xenbus.h>=0A=
--- a/drivers/xen/blktap2/blktap.h=0A+++ b/drivers/xen/blktap2/blktap.h=0A@=
@ -6,6 +6,7 @@=0A #include <linux/cdev.h>=0A #include <linux/init.h>=0A =
#include <linux/scatterlist.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/blkif.h>=0A #include <xen/gnttab.h>=0A =0A--- a/drivers/xen/core/evtch=
n.c=0A+++ b/drivers/xen/core/evtchn.c=0A@@ -1065,7 +1065,8 @@ void =
irq_resume(void)=0A 		struct physdev_pirq_eoi_gmfn eoi_gmfn;=0A =
=0A 		eoi_gmfn.gmfn =3D virt_to_machine(pirq_needs_eoi) >> =
PAGE_SHIFT;=0A-		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, =
&eoi_gmfn))=0A+		if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v=
1,=0A+					  &eoi_gmfn))=0A 			=
BUG();=0A 	}=0A =0A@@ -1162,7 +1163,7 @@ void __init xen_init_IRQ(void=
)=0A 	pirq_needs_eoi =3D alloc_bootmem_pages(sizeof(unsigned long)=0A 	=
	* BITS_TO_LONGS(ALIGN(NR_PIRQS, PAGE_SIZE * 8)));=0A  	eoi_gmfn.gm=
fn =3D virt_to_machine(pirq_needs_eoi) >> PAGE_SHIFT;=0A-	if =
(HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn, &eoi_gmfn) =3D=3D 0)=0A+	=
if (HYPERVISOR_physdev_op(PHYSDEVOP_pirq_eoi_gmfn_v1, &eoi_gmfn) =3D=3D =
0)=0A 		pirq_eoi_does_unmask =3D 1;=0A =0A 	/* No event =
channels are 'live' right now. */=0A--- a/drivers/xen/core/gnttab.c=0A+++ =
b/drivers/xen/core/gnttab.c=0A@@ -53,7 +53,7 @@=0A /* External tools =
reserve first few grant table entries. */=0A #define NR_RESERVED_ENTRIES =
8=0A #define GNTTAB_LIST_END 0xffffffff=0A-#define ENTRIES_PER_GRANT_FRAME =
(PAGE_SIZE / sizeof(grant_entry_t))=0A+#define ENTRIES_PER_GRANT_FRAME =
(PAGE_SIZE / sizeof(grant_entry_v1_t))=0A =0A static grant_ref_t **gnttab_l=
ist;=0A static unsigned int nr_grant_frames;=0A@@ -62,7 +62,7 @@ static =
int gnttab_free_count;=0A static grant_ref_t gnttab_free_head;=0A static =
DEFINE_SPINLOCK(gnttab_list_lock);=0A =0A-static struct grant_entry =
*shared;=0A+static struct grant_entry_v1 *shared;=0A =0A static struct =
gnttab_free_callback *gnttab_free_callback_list;=0A =0A--- a/drivers/xen/ne=
tback/common.h=0A+++ b/drivers/xen/netback/common.h=0A@@ -38,6 +38,7 @@=0A =
#include <linux/etherdevice.h>=0A #include <linux/wait.h>=0A #include =
<xen/interface/io/netif.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/driver_util.h>=0A #include <xen/xenbus.h>=0A #include <xen/interface/e=
vent_channel.h>=0A--- a/drivers/xen/netfront/netfront.c=0A+++ b/drivers/xen=
/netfront/netfront.c=0A@@ -719,7 +719,6 @@ static void network_alloc_rx_buf=
fers(str=0A 	struct page *page;=0A 	int i, batch_target, notify;=0A 	=
RING_IDX req_prod =3D np->rx.req_prod_pvt;=0A-	struct xen_memory_reservati=
on reservation;=0A 	grant_ref_t ref;=0A  	unsigned long pfn;=0A  	=
void *vaddr;=0A@@ -824,16 +823,17 @@ no_skb:=0A 		req->gref =
=3D ref;=0A 	}=0A =0A-	if ( nr_flips !=3D 0 ) {=0A+	if =
(nr_flips) {=0A+		struct xen_memory_reservation reservation =
=3D {=0A+			.nr_extents =3D nr_flips,=0A+			=
.domid      =3D DOMID_SELF,=0A+		};=0A+=0A 		/* Tell =
the ballon driver what is going on. */=0A 		balloon_update_driv=
er_allowance(i);=0A =0A 		set_xen_guest_handle(reservation.ex=
tent_start,=0A 				     np->rx_pfn_array);=0A-		=
reservation.nr_extents   =3D nr_flips;=0A-		reservation.extent_=
order =3D 0;=0A-		reservation.address_bits =3D 0;=0A-		=
reservation.domid        =3D DOMID_SELF;=0A =0A 		if =
(!xen_feature(XENFEAT_auto_translated_physmap)) {=0A 			/* =
After all PTEs have been zapped, flush the TLB. */=0A--- a/drivers/xen/netf=
ront/netfront.h=0A+++ b/drivers/xen/netfront/netfront.h=0A@@ -33,6 +33,7 =
@@=0A #ifndef NETFRONT_H=0A #define NETFRONT_H=0A =0A+#include <xen/barrier=
.h>=0A #include <xen/interface/io/netif.h>=0A #include <linux/netdevice.h>=
=0A #include <linux/skbuff.h>=0A--- a/drivers/xen/scsiback/common.h=0A+++ =
b/drivers/xen/scsiback/common.h=0A@@ -47,6 +47,7 @@=0A #include <scsi/scsi_=
dbg.h>=0A #include <scsi/scsi_eh.h>=0A #include <asm/hypervisor.h>=0A+#incl=
ude <xen/barrier.h>=0A #include <xen/driver_util.h>=0A #include <xen/xenbus=
.h>=0A #include <xen/interface/io/ring.h>=0A--- a/drivers/xen/scsifront/com=
mon.h=0A+++ b/drivers/xen/scsifront/common.h=0A@@ -45,6 +45,7 @@=0A =
#include <scsi/scsi_device.h>=0A #include <scsi/scsi.h>=0A #include =
<scsi/scsi_host.h>=0A+#include <xen/barrier.h>=0A #include <xen/xenbus.h>=
=0A #include <xen/gnttab.h>=0A #include <xen/evtchn.h>=0A--- a/drivers/xen/=
usbback/usbback.h=0A+++ b/drivers/xen/usbback/usbback.h=0A@@ -54,6 +54,7 =
@@=0A #include <linux/wait.h>=0A #include <linux/list.h>=0A #include =
<linux/kref.h>=0A+#include <xen/barrier.h>=0A #include <xen/driver_util.h>=
=0A #include <xen/xenbus.h>=0A #include <xen/interface/event_channel.h>=0A-=
-- a/drivers/xen/usbfront/usbfront.h=0A+++ b/drivers/xen/usbfront/usbfront.=
h=0A@@ -52,6 +52,7 @@=0A #include <linux/kthread.h>=0A #include <linux/wait=
.h>=0A #include <asm/io.h>=0A+#include <xen/barrier.h>=0A #include =
<xen/xenbus.h>=0A #include <xen/evtchn.h>=0A #include <xen/gnttab.h>=0A--- =
/dev/null=0A+++ b/include/xen/barrier.h=0A@@ -0,0 +1,10 @@=0A+#ifndef =
__XEN_BARRIER_H__=0A+#define __XEN_BARRIER_H__=0A+=0A+#include <asm/system.=
h>=0A+=0A+#define xen_mb()  mb()=0A+#define xen_rmb() rmb()=0A+#define =
xen_wmb() wmb()=0A+=0A+#endif /* __XEN_BARRIER_H__ */=0A
--=__Part436DC624.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part436DC624.0__=--


From xen-devel-bounces@lists.xen.org Thu May 31 15:02:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:02:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6sd-0005gy-0u; Thu, 31 May 2012 15:01:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa6sb-0005gk-Et
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:01:37 +0000
Received: from [85.158.143.99:54051] by server-2.bemta-4.messagelabs.com id
	FE/FD-11595-0D787CF4; Thu, 31 May 2012 15:01:36 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338476494!28432264!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16499 invoked from network); 31 May 2012 15:01:35 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:01:35 -0000
Received: by qaeb19 with SMTP id b19so3026350qae.11
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 08:01:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=L59eMWqR23mqHo/Cdv1Qts8drGVTfaNjjHlgb9e1X5k=;
	b=J2akJybOaW6ZtCnp8hCE5B3rXNY9dHT8j9XMPEEBjdHuxYhHrGP2BmBwkEbzPxdSyJ
	qhdQq+MSsh+HWy6XWVi2bDPPG1bAmbygJEib9Xhbg76tBS/Kd8aC4gRHA1ozHtdZKU2h
	7Z1swSgux1owEbfCT+NwMnNuDe/ySnd0jRmShGykCIPPsI3SmUyf8GUR0vD47YpksjAJ
	Y+YrfO3m37neAI+a4fVHf5ZonJdqxMblfx74RTYBCA77+6Bk2gUSXBKvH5i29fPwknvl
	CImBcAf99jGARyfEyDsI1XagKqkUZktE5z0xN7r9TU4Y3enLN/WFXNTHpkYjS9el4ore
	st0w==
MIME-Version: 1.0
Received: by 10.229.106.221 with SMTP id y29mr1089387qco.13.1338476493749;
	Thu, 31 May 2012 08:01:33 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 08:01:33 -0700 (PDT)
In-Reply-To: <a0776cf2b6ac4bccf0f5.1338466266@Solace>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
Date: Thu, 31 May 2012 16:01:33 +0100
X-Google-Sender-Auth: 9vzWqZcij8X_5_u_5HpSEbsmN5g
Message-ID: <CAFLBxZZ1z-ShFDOy8nokr-JtHPABVB24hsu3xvkX0pFdp=XHoA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
 just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 1:11 PM, Dario Faggioli <raistlin@linux.it> wrote:
> More specifically:
> =A01. replaces xenctl_cpumap with xenctl_map
> =A02. provides bitmap_to_xenctl_map and the reverse;
> =A03. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
> =A0 =A0and the reverse;
>
> Other than #3, no functional changes. Interface only slightly
> afected.
>
> This is in preparation of introducing NUMA nodes maps.

Dario,

What changes are there in this since the last time you posted this?
Anything other than updating the patch description?

 -George

>
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.eu.com>
>
> diff --git a/tools/libxc/xc_cpupool.c b/tools/libxc/xc_cpupool.c
> --- a/tools/libxc/xc_cpupool.c
> +++ b/tools/libxc/xc_cpupool.c
> @@ -90,7 +90,7 @@ xc_cpupoolinfo_t *xc_cpupool_getinfo(xc_
> =A0 =A0 sysctl.u.cpupool_op.op =3D XEN_SYSCTL_CPUPOOL_OP_INFO;
> =A0 =A0 sysctl.u.cpupool_op.cpupool_id =3D poolid;
> =A0 =A0 set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
> - =A0 =A0sysctl.u.cpupool_op.cpumap.nr_cpus =3D local_size * 8;
> + =A0 =A0sysctl.u.cpupool_op.cpumap.nr_elems =3D local_size * 8;
>
> =A0 =A0 err =3D do_sysctl_save(xch, &sysctl);
>
> @@ -184,7 +184,7 @@ xc_cpumap_t xc_cpupool_freeinfo(xc_inter
> =A0 =A0 sysctl.cmd =3D XEN_SYSCTL_cpupool_op;
> =A0 =A0 sysctl.u.cpupool_op.op =3D XEN_SYSCTL_CPUPOOL_OP_FREEINFO;
> =A0 =A0 set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
> - =A0 =A0sysctl.u.cpupool_op.cpumap.nr_cpus =3D mapsize * 8;
> + =A0 =A0sysctl.u.cpupool_op.cpumap.nr_elems =3D mapsize * 8;
>
> =A0 =A0 err =3D do_sysctl_save(xch, &sysctl);
>
> diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
> --- a/tools/libxc/xc_domain.c
> +++ b/tools/libxc/xc_domain.c
> @@ -142,7 +142,7 @@ int xc_vcpu_setaffinity(xc_interface *xc
>
> =A0 =A0 set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
>
> - =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_cpus =3D cpusize * 8;
> + =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_elems =3D cpusize * 8;
>
> =A0 =A0 ret =3D do_domctl(xch, &domctl);
>
> @@ -182,7 +182,7 @@ int xc_vcpu_getaffinity(xc_interface *xc
> =A0 =A0 domctl.u.vcpuaffinity.vcpu =3D vcpu;
>
> =A0 =A0 set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
> - =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_cpus =3D cpusize * 8;
> + =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_elems =3D cpusize * 8;
>
> =A0 =A0 ret =3D do_domctl(xch, &domctl);
>
> diff --git a/tools/libxc/xc_tbuf.c b/tools/libxc/xc_tbuf.c
> --- a/tools/libxc/xc_tbuf.c
> +++ b/tools/libxc/xc_tbuf.c
> @@ -134,7 +134,7 @@ int xc_tbuf_set_cpu_mask(xc_interface *x
> =A0 =A0 bitmap_64_to_byte(bytemap, &mask64, sizeof (mask64) * 8);
>
> =A0 =A0 set_xen_guest_handle(sysctl.u.tbuf_op.cpu_mask.bitmap, bytemap);
> - =A0 =A0sysctl.u.tbuf_op.cpu_mask.nr_cpus =3D sizeof(bytemap) * 8;
> + =A0 =A0sysctl.u.tbuf_op.cpu_mask.nr_elems =3D sizeof(bytemap) * 8;
>
> =A0 =A0 ret =3D do_sysctl(xch, &sysctl);
>
> diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
> --- a/xen/arch/x86/cpu/mcheck/mce.c
> +++ b/xen/arch/x86/cpu/mcheck/mce.c
> @@ -1545,8 +1545,7 @@ long do_mca(XEN_GUEST_HANDLE(xen_mc_t) u
> =A0 =A0 =A0 =A0 =A0 =A0 cpumap =3D &cpu_online_map;
> =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 {
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_cpumap_to_cpumask(&cmv,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 &op->u.mc_inject_v2.cpumap);
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_map_to_cpumask(&cmv, &op->u.mc_in=
ject_v2.cpumap);
> =A0 =A0 =A0 =A0 =A0 =A0 if ( ret )
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 break;
> =A0 =A0 =A0 =A0 =A0 =A0 cpumap =3D cmv;
> diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hy=
percall.c
> --- a/xen/arch/x86/platform_hypercall.c
> +++ b/xen/arch/x86/platform_hypercall.c
> @@ -365,7 +365,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
> =A0 =A0 {
> =A0 =A0 =A0 =A0 uint32_t cpu;
> =A0 =A0 =A0 =A0 uint64_t idletime, now =3D NOW();
> - =A0 =A0 =A0 =A0struct xenctl_cpumap ctlmap;
> + =A0 =A0 =A0 =A0struct xenctl_map ctlmap;
> =A0 =A0 =A0 =A0 cpumask_var_t cpumap;
> =A0 =A0 =A0 =A0 XEN_GUEST_HANDLE(uint8) cpumap_bitmap;
> =A0 =A0 =A0 =A0 XEN_GUEST_HANDLE(uint64) idletimes;
> @@ -378,11 +378,11 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
> =A0 =A0 =A0 =A0 if ( cpufreq_controller !=3D FREQCTL_dom0_kernel )
> =A0 =A0 =A0 =A0 =A0 =A0 break;
>
> - =A0 =A0 =A0 =A0ctlmap.nr_cpus =A0=3D op->u.getidletime.cpumap_nr_cpus;
> + =A0 =A0 =A0 =A0ctlmap.nr_elems =A0=3D op->u.getidletime.cpumap_nr_cpus;
> =A0 =A0 =A0 =A0 guest_from_compat_handle(cpumap_bitmap,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0op->u.=
getidletime.cpumap_bitmap);
> =A0 =A0 =A0 =A0 ctlmap.bitmap.p =3D cpumap_bitmap.p; /* handle -> handle_=
64 conversion */
> - =A0 =A0 =A0 =A0if ( (ret =3D xenctl_cpumap_to_cpumask(&cpumap, &ctlmap)=
) !=3D 0 )
> + =A0 =A0 =A0 =A0if ( (ret =3D xenctl_map_to_cpumask(&cpumap, &ctlmap)) !=
=3D 0 )
> =A0 =A0 =A0 =A0 =A0 =A0 goto out;
> =A0 =A0 =A0 =A0 guest_from_compat_handle(idletimes, op->u.getidletime.idl=
etime);
>
> @@ -401,7 +401,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
>
> =A0 =A0 =A0 =A0 op->u.getidletime.now =3D now;
> =A0 =A0 =A0 =A0 if ( ret =3D=3D 0 )
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(&ctlmap, cpumap=
);
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(&ctlmap, cpumap);
> =A0 =A0 =A0 =A0 free_cpumask_var(cpumap);
>
> =A0 =A0 =A0 =A0 if ( ret =3D=3D 0 && copy_to_guest(u_xenpf_op, op, 1) )
> diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c
> --- a/xen/common/cpupool.c
> +++ b/xen/common/cpupool.c
> @@ -489,7 +489,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
> =A0 =A0 =A0 =A0 op->cpupool_id =3D c->cpupool_id;
> =A0 =A0 =A0 =A0 op->sched_id =3D c->sched->sched_id;
> =A0 =A0 =A0 =A0 op->n_dom =3D c->n_dom;
> - =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(&op->cpumap, c->cpu_val=
id);
> + =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(&op->cpumap, c->cpu_valid);
> =A0 =A0 =A0 =A0 cpupool_put(c);
> =A0 =A0 }
> =A0 =A0 break;
> @@ -584,7 +584,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
>
> =A0 =A0 case XEN_SYSCTL_CPUPOOL_OP_FREEINFO:
> =A0 =A0 {
> - =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(
> + =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(
> =A0 =A0 =A0 =A0 =A0 =A0 &op->cpumap, &cpupool_free_cpus);
> =A0 =A0 }
> =A0 =A0 break;
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -31,28 +31,29 @@
> =A0static DEFINE_SPINLOCK(domctl_lock);
> =A0DEFINE_SPINLOCK(vcpu_alloc_lock);
>
> -int cpumask_to_xenctl_cpumap(
> - =A0 =A0struct xenctl_cpumap *xenctl_cpumap, const cpumask_t *cpumask)
> +int bitmap_to_xenctl_map(struct xenctl_map *xenctl_map,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const unsigned long *bi=
tmap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int nbits)
> =A0{
> =A0 =A0 unsigned int guest_bytes, copy_bytes, i;
> =A0 =A0 uint8_t zero =3D 0;
> =A0 =A0 int err =3D 0;
> - =A0 =A0uint8_t *bytemap =3D xmalloc_array(uint8_t, (nr_cpu_ids + 7) / 8=
);
> + =A0 =A0uint8_t *bytemap =3D xmalloc_array(uint8_t, (nbits + 7) / 8);
>
> =A0 =A0 if ( !bytemap )
> =A0 =A0 =A0 =A0 return -ENOMEM;
>
> - =A0 =A0guest_bytes =3D (xenctl_cpumap->nr_cpus + 7) / 8;
> - =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nr_cpu_ids +=
 7) / 8);
> + =A0 =A0guest_bytes =3D (xenctl_map->nr_elems + 7) / 8;
> + =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nbits + 7) /=
 8);
>
> - =A0 =A0bitmap_long_to_byte(bytemap, cpumask_bits(cpumask), nr_cpu_ids);
> + =A0 =A0bitmap_long_to_byte(bytemap, bitmap, nbits);
>
> =A0 =A0 if ( copy_bytes !=3D 0 )
> - =A0 =A0 =A0 =A0if ( copy_to_guest(xenctl_cpumap->bitmap, bytemap, copy_=
bytes) )
> + =A0 =A0 =A0 =A0if ( copy_to_guest(xenctl_map->bitmap, bytemap, copy_byt=
es) )
> =A0 =A0 =A0 =A0 =A0 =A0 err =3D -EFAULT;
>
> =A0 =A0 for ( i =3D copy_bytes; !err && i < guest_bytes; i++ )
> - =A0 =A0 =A0 =A0if ( copy_to_guest_offset(xenctl_cpumap->bitmap, i, &zer=
o, 1) )
> + =A0 =A0 =A0 =A0if ( copy_to_guest_offset(xenctl_map->bitmap, i, &zero, =
1) )
> =A0 =A0 =A0 =A0 =A0 =A0 err =3D -EFAULT;
>
> =A0 =A0 xfree(bytemap);
> @@ -60,36 +61,58 @@ int cpumask_to_xenctl_cpumap(
> =A0 =A0 return err;
> =A0}
>
> -int xenctl_cpumap_to_cpumask(
> - =A0 =A0cpumask_var_t *cpumask, const struct xenctl_cpumap *xenctl_cpuma=
p)
> +int xenctl_map_to_bitmap(unsigned long *bitmap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const struct xenctl_map=
 *xenctl_map,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int nbits)
> =A0{
> =A0 =A0 unsigned int guest_bytes, copy_bytes;
> =A0 =A0 int err =3D 0;
> - =A0 =A0uint8_t *bytemap =3D xzalloc_array(uint8_t, (nr_cpu_ids + 7) / 8=
);
> + =A0 =A0uint8_t *bytemap =3D xzalloc_array(uint8_t, (nbits + 7) / 8);
>
> =A0 =A0 if ( !bytemap )
> =A0 =A0 =A0 =A0 return -ENOMEM;
>
> - =A0 =A0guest_bytes =3D (xenctl_cpumap->nr_cpus + 7) / 8;
> - =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nr_cpu_ids +=
 7) / 8);
> + =A0 =A0guest_bytes =3D (xenctl_map->nr_elems + 7) / 8;
> + =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nbits + 7) /=
 8);
>
> =A0 =A0 if ( copy_bytes !=3D 0 )
> =A0 =A0 {
> - =A0 =A0 =A0 =A0if ( copy_from_guest(bytemap, xenctl_cpumap->bitmap, cop=
y_bytes) )
> + =A0 =A0 =A0 =A0if ( copy_from_guest(bytemap, xenctl_map->bitmap, copy_b=
ytes) )
> =A0 =A0 =A0 =A0 =A0 =A0 err =3D -EFAULT;
> - =A0 =A0 =A0 =A0if ( (xenctl_cpumap->nr_cpus & 7) && (guest_bytes <=3D s=
izeof(bytemap)) )
> - =A0 =A0 =A0 =A0 =A0 =A0bytemap[guest_bytes-1] &=3D ~(0xff << (xenctl_cp=
umap->nr_cpus & 7));
> + =A0 =A0 =A0 =A0if ( (xenctl_map->nr_elems & 7) && (guest_bytes <=3D siz=
eof(bytemap)) )
> + =A0 =A0 =A0 =A0 =A0 =A0bytemap[guest_bytes-1] &=3D ~(0xff << (xenctl_ma=
p->nr_elems & 7));
> =A0 =A0 }
>
> - =A0 =A0if ( err )
> - =A0 =A0 =A0 =A0/* nothing */;
> - =A0 =A0else if ( alloc_cpumask_var(cpumask) )
> - =A0 =A0 =A0 =A0bitmap_byte_to_long(cpumask_bits(*cpumask), bytemap, nr_=
cpu_ids);
> + =A0 =A0if ( !err )
> + =A0 =A0 =A0 =A0bitmap_byte_to_long(bitmap, bytemap, nbits);
> +
> + =A0 =A0xfree(bytemap);
> +
> + =A0 =A0return err;
> +}
> +
> +int cpumask_to_xenctl_map(struct xenctl_map *xenctl_cpumap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const cpumask_t *cpu=
mask)
> +{
> + =A0 =A0return bitmap_to_xenctl_map(xenctl_cpumap, cpumask_bits(cpumask),
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0nr_cpu_i=
ds);
> +}
> +
> +int xenctl_map_to_cpumask(cpumask_var_t *cpumask,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const struct xenctl_=
map *xenctl_cpumap)
> +{
> + =A0 =A0int err =3D 0;
> +
> + =A0 =A0if ( alloc_cpumask_var(cpumask) ) {
> + =A0 =A0 =A0 =A0err =3D xenctl_map_to_bitmap(cpumask_bits(*cpumask), xen=
ctl_cpumap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 nr_=
cpu_ids);
> + =A0 =A0 =A0 =A0/* In case of error, cleanup is up to us, as the caller =
won't care! */
> + =A0 =A0 =A0 =A0if ( err )
> + =A0 =A0 =A0 =A0 =A0 =A0free_cpumask_var(*cpumask);
> + =A0 =A0}
> =A0 =A0 else
> =A0 =A0 =A0 =A0 err =3D -ENOMEM;
>
> - =A0 =A0xfree(bytemap);
> -
> =A0 =A0 return err;
> =A0}
>
> @@ -617,7 +640,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
> =A0 =A0 =A0 =A0 {
> =A0 =A0 =A0 =A0 =A0 =A0 cpumask_var_t new_affinity;
>
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_cpumap_to_cpumask(
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_map_to_cpumask(
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 &new_affinity, &op->u.vcpuaffinity.cpumap=
);
> =A0 =A0 =A0 =A0 =A0 =A0 if ( !ret )
> =A0 =A0 =A0 =A0 =A0 =A0 {
> @@ -627,7 +650,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
> =A0 =A0 =A0 =A0 }
> =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 {
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 &op->u.vcpuaffinity.cpumap, v->cpu_affini=
ty);
> =A0 =A0 =A0 =A0 }
>
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -384,7 +384,7 @@ int tb_control(xen_sysctl_tbuf_op_t *tbc
> =A0 =A0 {
> =A0 =A0 =A0 =A0 cpumask_var_t mask;
>
> - =A0 =A0 =A0 =A0rc =3D xenctl_cpumap_to_cpumask(&mask, &tbc->cpu_mask);
> + =A0 =A0 =A0 =A0rc =3D xenctl_map_to_cpumask(&mask, &tbc->cpu_mask);
> =A0 =A0 =A0 =A0 if ( !rc )
> =A0 =A0 =A0 =A0 {
> =A0 =A0 =A0 =A0 =A0 =A0 cpumask_copy(&tb_cpu_mask, mask);
> diff --git a/xen/include/public/arch-x86/xen-mca.h b/xen/include/public/a=
rch-x86/xen-mca.h
> --- a/xen/include/public/arch-x86/xen-mca.h
> +++ b/xen/include/public/arch-x86/xen-mca.h
> @@ -414,7 +414,7 @@ struct xen_mc_mceinject {
>
> =A0struct xen_mc_inject_v2 {
> =A0 =A0 =A0 =A0uint32_t flags;
> - =A0 =A0 =A0 struct xenctl_cpumap cpumap;
> + =A0 =A0 =A0 struct xenctl_map cpumap;
> =A0};
> =A0#endif
>
> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -283,7 +283,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_getvc
> =A0/* XEN_DOMCTL_getvcpuaffinity */
> =A0struct xen_domctl_vcpuaffinity {
> =A0 =A0 uint32_t =A0vcpu; =A0 =A0 =A0 =A0 =A0 =A0 =A0/* IN */
> - =A0 =A0struct xenctl_cpumap cpumap; /* IN/OUT */
> + =A0 =A0struct xenctl_map cpumap; =A0 =A0/* IN/OUT */
> =A0};
> =A0typedef struct xen_domctl_vcpuaffinity xen_domctl_vcpuaffinity_t;
> =A0DEFINE_XEN_GUEST_HANDLE(xen_domctl_vcpuaffinity_t);
> diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -71,8 +71,8 @@ struct xen_sysctl_tbuf_op {
> =A0#define XEN_SYSCTL_TBUFOP_disable =A0 =A0 =A05
> =A0 =A0 uint32_t cmd;
> =A0 =A0 /* IN/OUT variables */
> - =A0 =A0struct xenctl_cpumap cpu_mask;
> - =A0 =A0uint32_t =A0 =A0 =A0 =A0 =A0 =A0 evt_mask;
> + =A0 =A0struct xenctl_map cpu_mask;
> + =A0 =A0uint32_t =A0 =A0 =A0 =A0 =A0evt_mask;
> =A0 =A0 /* OUT variables */
> =A0 =A0 uint64_aligned_t buffer_mfn;
> =A0 =A0 uint32_t size; =A0/* Also an IN variable! */
> @@ -531,7 +531,7 @@ struct xen_sysctl_cpupool_op {
> =A0 =A0 uint32_t domid; =A0 =A0 =A0 /* IN: M =A0 =A0 =A0 =A0 =A0 =A0 =A0*/
> =A0 =A0 uint32_t cpu; =A0 =A0 =A0 =A0 /* IN: AR =A0 =A0 =A0 =A0 =A0 =A0 */
> =A0 =A0 uint32_t n_dom; =A0 =A0 =A0 /* =A0 =A0 =A0 =A0 =A0 =A0OUT: I =A0*/
> - =A0 =A0struct xenctl_cpumap cpumap; /* =A0 =A0 OUT: IF */
> + =A0 =A0struct xenctl_map cpumap; =A0 =A0/* =A0 =A0 OUT: IF */
> =A0};
> =A0typedef struct xen_sysctl_cpupool_op xen_sysctl_cpupool_op_t;
> =A0DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpupool_op_t);
> diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
> --- a/xen/include/public/xen.h
> +++ b/xen/include/public/xen.h
> @@ -822,9 +822,9 @@ typedef uint8_t xen_domain_handle_t[16];
> =A0#endif
>
> =A0#ifndef __ASSEMBLY__
> -struct xenctl_cpumap {
> +struct xenctl_map {
> =A0 =A0 XEN_GUEST_HANDLE_64(uint8) bitmap;
> - =A0 =A0uint32_t nr_cpus;
> + =A0 =A0uint32_t nr_elems;
> =A0};
> =A0#endif
>
> diff --git a/xen/include/xen/cpumask.h b/xen/include/xen/cpumask.h
> --- a/xen/include/xen/cpumask.h
> +++ b/xen/include/xen/cpumask.h
> @@ -424,8 +424,8 @@ extern cpumask_t cpu_present_map;
> =A0#define for_each_present_cpu(cpu) =A0for_each_cpu(cpu, &cpu_present_ma=
p)
>
> =A0/* Copy to/from cpumap provided by control tools. */
> -struct xenctl_cpumap;
> -int cpumask_to_xenctl_cpumap(struct xenctl_cpumap *, const cpumask_t *);
> -int xenctl_cpumap_to_cpumask(cpumask_var_t *, const struct xenctl_cpumap=
 *);
> +struct xenctl_map;
> +int cpumask_to_xenctl_map(struct xenctl_map *, const cpumask_t *);
> +int xenctl_map_to_cpumask(cpumask_var_t *, const struct xenctl_map *);
>
> =A0#endif /* __XEN_CPUMASK_H */
> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -2,7 +2,7 @@
> =A0# ! - needs translation
> =A0# ? - needs checking
> =A0? =A0 =A0 =A0dom0_vga_console_info =A0 =A0 =A0 =A0 =A0 xen.h
> -? =A0 =A0 =A0xenctl_cpumap =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 xen.h
> +? =A0 =A0 =A0xenctl_map =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0xen.h
> =A0? =A0 =A0 =A0mmu_update =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0xen=
.h
> =A0! =A0 =A0 =A0mmuext_op =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 xen=
.h
> =A0! =A0 =A0 =A0start_info =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0xen=
.h
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:02:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:02:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6sd-0005gy-0u; Thu, 31 May 2012 15:01:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dunlapg@gmail.com>) id 1Sa6sb-0005gk-Et
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:01:37 +0000
Received: from [85.158.143.99:54051] by server-2.bemta-4.messagelabs.com id
	FE/FD-11595-0D787CF4; Thu, 31 May 2012 15:01:36 +0000
X-Env-Sender: dunlapg@gmail.com
X-Msg-Ref: server-9.tower-216.messagelabs.com!1338476494!28432264!1
X-Originating-IP: [209.85.216.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16499 invoked from network); 31 May 2012 15:01:35 -0000
Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com)
	(209.85.216.45)
	by server-9.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:01:35 -0000
Received: by qaeb19 with SMTP id b19so3026350qae.11
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 08:01:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=L59eMWqR23mqHo/Cdv1Qts8drGVTfaNjjHlgb9e1X5k=;
	b=J2akJybOaW6ZtCnp8hCE5B3rXNY9dHT8j9XMPEEBjdHuxYhHrGP2BmBwkEbzPxdSyJ
	qhdQq+MSsh+HWy6XWVi2bDPPG1bAmbygJEib9Xhbg76tBS/Kd8aC4gRHA1ozHtdZKU2h
	7Z1swSgux1owEbfCT+NwMnNuDe/ySnd0jRmShGykCIPPsI3SmUyf8GUR0vD47YpksjAJ
	Y+YrfO3m37neAI+a4fVHf5ZonJdqxMblfx74RTYBCA77+6Bk2gUSXBKvH5i29fPwknvl
	CImBcAf99jGARyfEyDsI1XagKqkUZktE5z0xN7r9TU4Y3enLN/WFXNTHpkYjS9el4ore
	st0w==
MIME-Version: 1.0
Received: by 10.229.106.221 with SMTP id y29mr1089387qco.13.1338476493749;
	Thu, 31 May 2012 08:01:33 -0700 (PDT)
Received: by 10.229.188.195 with HTTP; Thu, 31 May 2012 08:01:33 -0700 (PDT)
In-Reply-To: <a0776cf2b6ac4bccf0f5.1338466266@Solace>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
Date: Thu, 31 May 2012 16:01:33 +0100
X-Google-Sender-Auth: 9vzWqZcij8X_5_u_5HpSEbsmN5g
Message-ID: <CAFLBxZZ1z-ShFDOy8nokr-JtHPABVB24hsu3xvkX0pFdp=XHoA@mail.gmail.com>
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
 just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 1:11 PM, Dario Faggioli <raistlin@linux.it> wrote:
> More specifically:
> =A01. replaces xenctl_cpumap with xenctl_map
> =A02. provides bitmap_to_xenctl_map and the reverse;
> =A03. re-implement cpumask_to_xenctl_map with bitmap_to_xenctl_map
> =A0 =A0and the reverse;
>
> Other than #3, no functional changes. Interface only slightly
> afected.
>
> This is in preparation of introducing NUMA nodes maps.

Dario,

What changes are there in this since the last time you posted this?
Anything other than updating the patch description?

 -George

>
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.eu.com>
>
> diff --git a/tools/libxc/xc_cpupool.c b/tools/libxc/xc_cpupool.c
> --- a/tools/libxc/xc_cpupool.c
> +++ b/tools/libxc/xc_cpupool.c
> @@ -90,7 +90,7 @@ xc_cpupoolinfo_t *xc_cpupool_getinfo(xc_
> =A0 =A0 sysctl.u.cpupool_op.op =3D XEN_SYSCTL_CPUPOOL_OP_INFO;
> =A0 =A0 sysctl.u.cpupool_op.cpupool_id =3D poolid;
> =A0 =A0 set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
> - =A0 =A0sysctl.u.cpupool_op.cpumap.nr_cpus =3D local_size * 8;
> + =A0 =A0sysctl.u.cpupool_op.cpumap.nr_elems =3D local_size * 8;
>
> =A0 =A0 err =3D do_sysctl_save(xch, &sysctl);
>
> @@ -184,7 +184,7 @@ xc_cpumap_t xc_cpupool_freeinfo(xc_inter
> =A0 =A0 sysctl.cmd =3D XEN_SYSCTL_cpupool_op;
> =A0 =A0 sysctl.u.cpupool_op.op =3D XEN_SYSCTL_CPUPOOL_OP_FREEINFO;
> =A0 =A0 set_xen_guest_handle(sysctl.u.cpupool_op.cpumap.bitmap, local);
> - =A0 =A0sysctl.u.cpupool_op.cpumap.nr_cpus =3D mapsize * 8;
> + =A0 =A0sysctl.u.cpupool_op.cpumap.nr_elems =3D mapsize * 8;
>
> =A0 =A0 err =3D do_sysctl_save(xch, &sysctl);
>
> diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
> --- a/tools/libxc/xc_domain.c
> +++ b/tools/libxc/xc_domain.c
> @@ -142,7 +142,7 @@ int xc_vcpu_setaffinity(xc_interface *xc
>
> =A0 =A0 set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
>
> - =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_cpus =3D cpusize * 8;
> + =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_elems =3D cpusize * 8;
>
> =A0 =A0 ret =3D do_domctl(xch, &domctl);
>
> @@ -182,7 +182,7 @@ int xc_vcpu_getaffinity(xc_interface *xc
> =A0 =A0 domctl.u.vcpuaffinity.vcpu =3D vcpu;
>
> =A0 =A0 set_xen_guest_handle(domctl.u.vcpuaffinity.cpumap.bitmap, local);
> - =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_cpus =3D cpusize * 8;
> + =A0 =A0domctl.u.vcpuaffinity.cpumap.nr_elems =3D cpusize * 8;
>
> =A0 =A0 ret =3D do_domctl(xch, &domctl);
>
> diff --git a/tools/libxc/xc_tbuf.c b/tools/libxc/xc_tbuf.c
> --- a/tools/libxc/xc_tbuf.c
> +++ b/tools/libxc/xc_tbuf.c
> @@ -134,7 +134,7 @@ int xc_tbuf_set_cpu_mask(xc_interface *x
> =A0 =A0 bitmap_64_to_byte(bytemap, &mask64, sizeof (mask64) * 8);
>
> =A0 =A0 set_xen_guest_handle(sysctl.u.tbuf_op.cpu_mask.bitmap, bytemap);
> - =A0 =A0sysctl.u.tbuf_op.cpu_mask.nr_cpus =3D sizeof(bytemap) * 8;
> + =A0 =A0sysctl.u.tbuf_op.cpu_mask.nr_elems =3D sizeof(bytemap) * 8;
>
> =A0 =A0 ret =3D do_sysctl(xch, &sysctl);
>
> diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
> --- a/xen/arch/x86/cpu/mcheck/mce.c
> +++ b/xen/arch/x86/cpu/mcheck/mce.c
> @@ -1545,8 +1545,7 @@ long do_mca(XEN_GUEST_HANDLE(xen_mc_t) u
> =A0 =A0 =A0 =A0 =A0 =A0 cpumap =3D &cpu_online_map;
> =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 {
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_cpumap_to_cpumask(&cmv,
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 &op->u.mc_inject_v2.cpumap);
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_map_to_cpumask(&cmv, &op->u.mc_in=
ject_v2.cpumap);
> =A0 =A0 =A0 =A0 =A0 =A0 if ( ret )
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 break;
> =A0 =A0 =A0 =A0 =A0 =A0 cpumap =3D cmv;
> diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hy=
percall.c
> --- a/xen/arch/x86/platform_hypercall.c
> +++ b/xen/arch/x86/platform_hypercall.c
> @@ -365,7 +365,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
> =A0 =A0 {
> =A0 =A0 =A0 =A0 uint32_t cpu;
> =A0 =A0 =A0 =A0 uint64_t idletime, now =3D NOW();
> - =A0 =A0 =A0 =A0struct xenctl_cpumap ctlmap;
> + =A0 =A0 =A0 =A0struct xenctl_map ctlmap;
> =A0 =A0 =A0 =A0 cpumask_var_t cpumap;
> =A0 =A0 =A0 =A0 XEN_GUEST_HANDLE(uint8) cpumap_bitmap;
> =A0 =A0 =A0 =A0 XEN_GUEST_HANDLE(uint64) idletimes;
> @@ -378,11 +378,11 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
> =A0 =A0 =A0 =A0 if ( cpufreq_controller !=3D FREQCTL_dom0_kernel )
> =A0 =A0 =A0 =A0 =A0 =A0 break;
>
> - =A0 =A0 =A0 =A0ctlmap.nr_cpus =A0=3D op->u.getidletime.cpumap_nr_cpus;
> + =A0 =A0 =A0 =A0ctlmap.nr_elems =A0=3D op->u.getidletime.cpumap_nr_cpus;
> =A0 =A0 =A0 =A0 guest_from_compat_handle(cpumap_bitmap,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0op->u.=
getidletime.cpumap_bitmap);
> =A0 =A0 =A0 =A0 ctlmap.bitmap.p =3D cpumap_bitmap.p; /* handle -> handle_=
64 conversion */
> - =A0 =A0 =A0 =A0if ( (ret =3D xenctl_cpumap_to_cpumask(&cpumap, &ctlmap)=
) !=3D 0 )
> + =A0 =A0 =A0 =A0if ( (ret =3D xenctl_map_to_cpumask(&cpumap, &ctlmap)) !=
=3D 0 )
> =A0 =A0 =A0 =A0 =A0 =A0 goto out;
> =A0 =A0 =A0 =A0 guest_from_compat_handle(idletimes, op->u.getidletime.idl=
etime);
>
> @@ -401,7 +401,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
>
> =A0 =A0 =A0 =A0 op->u.getidletime.now =3D now;
> =A0 =A0 =A0 =A0 if ( ret =3D=3D 0 )
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(&ctlmap, cpumap=
);
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(&ctlmap, cpumap);
> =A0 =A0 =A0 =A0 free_cpumask_var(cpumap);
>
> =A0 =A0 =A0 =A0 if ( ret =3D=3D 0 && copy_to_guest(u_xenpf_op, op, 1) )
> diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c
> --- a/xen/common/cpupool.c
> +++ b/xen/common/cpupool.c
> @@ -489,7 +489,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
> =A0 =A0 =A0 =A0 op->cpupool_id =3D c->cpupool_id;
> =A0 =A0 =A0 =A0 op->sched_id =3D c->sched->sched_id;
> =A0 =A0 =A0 =A0 op->n_dom =3D c->n_dom;
> - =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(&op->cpumap, c->cpu_val=
id);
> + =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(&op->cpumap, c->cpu_valid);
> =A0 =A0 =A0 =A0 cpupool_put(c);
> =A0 =A0 }
> =A0 =A0 break;
> @@ -584,7 +584,7 @@ int cpupool_do_sysctl(struct xen_sysctl_
>
> =A0 =A0 case XEN_SYSCTL_CPUPOOL_OP_FREEINFO:
> =A0 =A0 {
> - =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(
> + =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(
> =A0 =A0 =A0 =A0 =A0 =A0 &op->cpumap, &cpupool_free_cpus);
> =A0 =A0 }
> =A0 =A0 break;
> diff --git a/xen/common/domctl.c b/xen/common/domctl.c
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -31,28 +31,29 @@
> =A0static DEFINE_SPINLOCK(domctl_lock);
> =A0DEFINE_SPINLOCK(vcpu_alloc_lock);
>
> -int cpumask_to_xenctl_cpumap(
> - =A0 =A0struct xenctl_cpumap *xenctl_cpumap, const cpumask_t *cpumask)
> +int bitmap_to_xenctl_map(struct xenctl_map *xenctl_map,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const unsigned long *bi=
tmap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int nbits)
> =A0{
> =A0 =A0 unsigned int guest_bytes, copy_bytes, i;
> =A0 =A0 uint8_t zero =3D 0;
> =A0 =A0 int err =3D 0;
> - =A0 =A0uint8_t *bytemap =3D xmalloc_array(uint8_t, (nr_cpu_ids + 7) / 8=
);
> + =A0 =A0uint8_t *bytemap =3D xmalloc_array(uint8_t, (nbits + 7) / 8);
>
> =A0 =A0 if ( !bytemap )
> =A0 =A0 =A0 =A0 return -ENOMEM;
>
> - =A0 =A0guest_bytes =3D (xenctl_cpumap->nr_cpus + 7) / 8;
> - =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nr_cpu_ids +=
 7) / 8);
> + =A0 =A0guest_bytes =3D (xenctl_map->nr_elems + 7) / 8;
> + =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nbits + 7) /=
 8);
>
> - =A0 =A0bitmap_long_to_byte(bytemap, cpumask_bits(cpumask), nr_cpu_ids);
> + =A0 =A0bitmap_long_to_byte(bytemap, bitmap, nbits);
>
> =A0 =A0 if ( copy_bytes !=3D 0 )
> - =A0 =A0 =A0 =A0if ( copy_to_guest(xenctl_cpumap->bitmap, bytemap, copy_=
bytes) )
> + =A0 =A0 =A0 =A0if ( copy_to_guest(xenctl_map->bitmap, bytemap, copy_byt=
es) )
> =A0 =A0 =A0 =A0 =A0 =A0 err =3D -EFAULT;
>
> =A0 =A0 for ( i =3D copy_bytes; !err && i < guest_bytes; i++ )
> - =A0 =A0 =A0 =A0if ( copy_to_guest_offset(xenctl_cpumap->bitmap, i, &zer=
o, 1) )
> + =A0 =A0 =A0 =A0if ( copy_to_guest_offset(xenctl_map->bitmap, i, &zero, =
1) )
> =A0 =A0 =A0 =A0 =A0 =A0 err =3D -EFAULT;
>
> =A0 =A0 xfree(bytemap);
> @@ -60,36 +61,58 @@ int cpumask_to_xenctl_cpumap(
> =A0 =A0 return err;
> =A0}
>
> -int xenctl_cpumap_to_cpumask(
> - =A0 =A0cpumask_var_t *cpumask, const struct xenctl_cpumap *xenctl_cpuma=
p)
> +int xenctl_map_to_bitmap(unsigned long *bitmap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 const struct xenctl_map=
 *xenctl_map,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 unsigned int nbits)
> =A0{
> =A0 =A0 unsigned int guest_bytes, copy_bytes;
> =A0 =A0 int err =3D 0;
> - =A0 =A0uint8_t *bytemap =3D xzalloc_array(uint8_t, (nr_cpu_ids + 7) / 8=
);
> + =A0 =A0uint8_t *bytemap =3D xzalloc_array(uint8_t, (nbits + 7) / 8);
>
> =A0 =A0 if ( !bytemap )
> =A0 =A0 =A0 =A0 return -ENOMEM;
>
> - =A0 =A0guest_bytes =3D (xenctl_cpumap->nr_cpus + 7) / 8;
> - =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nr_cpu_ids +=
 7) / 8);
> + =A0 =A0guest_bytes =3D (xenctl_map->nr_elems + 7) / 8;
> + =A0 =A0copy_bytes =A0=3D min_t(unsigned int, guest_bytes, (nbits + 7) /=
 8);
>
> =A0 =A0 if ( copy_bytes !=3D 0 )
> =A0 =A0 {
> - =A0 =A0 =A0 =A0if ( copy_from_guest(bytemap, xenctl_cpumap->bitmap, cop=
y_bytes) )
> + =A0 =A0 =A0 =A0if ( copy_from_guest(bytemap, xenctl_map->bitmap, copy_b=
ytes) )
> =A0 =A0 =A0 =A0 =A0 =A0 err =3D -EFAULT;
> - =A0 =A0 =A0 =A0if ( (xenctl_cpumap->nr_cpus & 7) && (guest_bytes <=3D s=
izeof(bytemap)) )
> - =A0 =A0 =A0 =A0 =A0 =A0bytemap[guest_bytes-1] &=3D ~(0xff << (xenctl_cp=
umap->nr_cpus & 7));
> + =A0 =A0 =A0 =A0if ( (xenctl_map->nr_elems & 7) && (guest_bytes <=3D siz=
eof(bytemap)) )
> + =A0 =A0 =A0 =A0 =A0 =A0bytemap[guest_bytes-1] &=3D ~(0xff << (xenctl_ma=
p->nr_elems & 7));
> =A0 =A0 }
>
> - =A0 =A0if ( err )
> - =A0 =A0 =A0 =A0/* nothing */;
> - =A0 =A0else if ( alloc_cpumask_var(cpumask) )
> - =A0 =A0 =A0 =A0bitmap_byte_to_long(cpumask_bits(*cpumask), bytemap, nr_=
cpu_ids);
> + =A0 =A0if ( !err )
> + =A0 =A0 =A0 =A0bitmap_byte_to_long(bitmap, bytemap, nbits);
> +
> + =A0 =A0xfree(bytemap);
> +
> + =A0 =A0return err;
> +}
> +
> +int cpumask_to_xenctl_map(struct xenctl_map *xenctl_cpumap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const cpumask_t *cpu=
mask)
> +{
> + =A0 =A0return bitmap_to_xenctl_map(xenctl_cpumap, cpumask_bits(cpumask),
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0nr_cpu_i=
ds);
> +}
> +
> +int xenctl_map_to_cpumask(cpumask_var_t *cpumask,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0const struct xenctl_=
map *xenctl_cpumap)
> +{
> + =A0 =A0int err =3D 0;
> +
> + =A0 =A0if ( alloc_cpumask_var(cpumask) ) {
> + =A0 =A0 =A0 =A0err =3D xenctl_map_to_bitmap(cpumask_bits(*cpumask), xen=
ctl_cpumap,
> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 nr_=
cpu_ids);
> + =A0 =A0 =A0 =A0/* In case of error, cleanup is up to us, as the caller =
won't care! */
> + =A0 =A0 =A0 =A0if ( err )
> + =A0 =A0 =A0 =A0 =A0 =A0free_cpumask_var(*cpumask);
> + =A0 =A0}
> =A0 =A0 else
> =A0 =A0 =A0 =A0 err =3D -ENOMEM;
>
> - =A0 =A0xfree(bytemap);
> -
> =A0 =A0 return err;
> =A0}
>
> @@ -617,7 +640,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
> =A0 =A0 =A0 =A0 {
> =A0 =A0 =A0 =A0 =A0 =A0 cpumask_var_t new_affinity;
>
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_cpumap_to_cpumask(
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D xenctl_map_to_cpumask(
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 &new_affinity, &op->u.vcpuaffinity.cpumap=
);
> =A0 =A0 =A0 =A0 =A0 =A0 if ( !ret )
> =A0 =A0 =A0 =A0 =A0 =A0 {
> @@ -627,7 +650,7 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
> =A0 =A0 =A0 =A0 }
> =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 {
> - =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_cpumap(
> + =A0 =A0 =A0 =A0 =A0 =A0ret =3D cpumask_to_xenctl_map(
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 &op->u.vcpuaffinity.cpumap, v->cpu_affini=
ty);
> =A0 =A0 =A0 =A0 }
>
> diff --git a/xen/common/trace.c b/xen/common/trace.c
> --- a/xen/common/trace.c
> +++ b/xen/common/trace.c
> @@ -384,7 +384,7 @@ int tb_control(xen_sysctl_tbuf_op_t *tbc
> =A0 =A0 {
> =A0 =A0 =A0 =A0 cpumask_var_t mask;
>
> - =A0 =A0 =A0 =A0rc =3D xenctl_cpumap_to_cpumask(&mask, &tbc->cpu_mask);
> + =A0 =A0 =A0 =A0rc =3D xenctl_map_to_cpumask(&mask, &tbc->cpu_mask);
> =A0 =A0 =A0 =A0 if ( !rc )
> =A0 =A0 =A0 =A0 {
> =A0 =A0 =A0 =A0 =A0 =A0 cpumask_copy(&tb_cpu_mask, mask);
> diff --git a/xen/include/public/arch-x86/xen-mca.h b/xen/include/public/a=
rch-x86/xen-mca.h
> --- a/xen/include/public/arch-x86/xen-mca.h
> +++ b/xen/include/public/arch-x86/xen-mca.h
> @@ -414,7 +414,7 @@ struct xen_mc_mceinject {
>
> =A0struct xen_mc_inject_v2 {
> =A0 =A0 =A0 =A0uint32_t flags;
> - =A0 =A0 =A0 struct xenctl_cpumap cpumap;
> + =A0 =A0 =A0 struct xenctl_map cpumap;
> =A0};
> =A0#endif
>
> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -283,7 +283,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_getvc
> =A0/* XEN_DOMCTL_getvcpuaffinity */
> =A0struct xen_domctl_vcpuaffinity {
> =A0 =A0 uint32_t =A0vcpu; =A0 =A0 =A0 =A0 =A0 =A0 =A0/* IN */
> - =A0 =A0struct xenctl_cpumap cpumap; /* IN/OUT */
> + =A0 =A0struct xenctl_map cpumap; =A0 =A0/* IN/OUT */
> =A0};
> =A0typedef struct xen_domctl_vcpuaffinity xen_domctl_vcpuaffinity_t;
> =A0DEFINE_XEN_GUEST_HANDLE(xen_domctl_vcpuaffinity_t);
> diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -71,8 +71,8 @@ struct xen_sysctl_tbuf_op {
> =A0#define XEN_SYSCTL_TBUFOP_disable =A0 =A0 =A05
> =A0 =A0 uint32_t cmd;
> =A0 =A0 /* IN/OUT variables */
> - =A0 =A0struct xenctl_cpumap cpu_mask;
> - =A0 =A0uint32_t =A0 =A0 =A0 =A0 =A0 =A0 evt_mask;
> + =A0 =A0struct xenctl_map cpu_mask;
> + =A0 =A0uint32_t =A0 =A0 =A0 =A0 =A0evt_mask;
> =A0 =A0 /* OUT variables */
> =A0 =A0 uint64_aligned_t buffer_mfn;
> =A0 =A0 uint32_t size; =A0/* Also an IN variable! */
> @@ -531,7 +531,7 @@ struct xen_sysctl_cpupool_op {
> =A0 =A0 uint32_t domid; =A0 =A0 =A0 /* IN: M =A0 =A0 =A0 =A0 =A0 =A0 =A0*/
> =A0 =A0 uint32_t cpu; =A0 =A0 =A0 =A0 /* IN: AR =A0 =A0 =A0 =A0 =A0 =A0 */
> =A0 =A0 uint32_t n_dom; =A0 =A0 =A0 /* =A0 =A0 =A0 =A0 =A0 =A0OUT: I =A0*/
> - =A0 =A0struct xenctl_cpumap cpumap; /* =A0 =A0 OUT: IF */
> + =A0 =A0struct xenctl_map cpumap; =A0 =A0/* =A0 =A0 OUT: IF */
> =A0};
> =A0typedef struct xen_sysctl_cpupool_op xen_sysctl_cpupool_op_t;
> =A0DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpupool_op_t);
> diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
> --- a/xen/include/public/xen.h
> +++ b/xen/include/public/xen.h
> @@ -822,9 +822,9 @@ typedef uint8_t xen_domain_handle_t[16];
> =A0#endif
>
> =A0#ifndef __ASSEMBLY__
> -struct xenctl_cpumap {
> +struct xenctl_map {
> =A0 =A0 XEN_GUEST_HANDLE_64(uint8) bitmap;
> - =A0 =A0uint32_t nr_cpus;
> + =A0 =A0uint32_t nr_elems;
> =A0};
> =A0#endif
>
> diff --git a/xen/include/xen/cpumask.h b/xen/include/xen/cpumask.h
> --- a/xen/include/xen/cpumask.h
> +++ b/xen/include/xen/cpumask.h
> @@ -424,8 +424,8 @@ extern cpumask_t cpu_present_map;
> =A0#define for_each_present_cpu(cpu) =A0for_each_cpu(cpu, &cpu_present_ma=
p)
>
> =A0/* Copy to/from cpumap provided by control tools. */
> -struct xenctl_cpumap;
> -int cpumask_to_xenctl_cpumap(struct xenctl_cpumap *, const cpumask_t *);
> -int xenctl_cpumap_to_cpumask(cpumask_var_t *, const struct xenctl_cpumap=
 *);
> +struct xenctl_map;
> +int cpumask_to_xenctl_map(struct xenctl_map *, const cpumask_t *);
> +int xenctl_map_to_cpumask(cpumask_var_t *, const struct xenctl_map *);
>
> =A0#endif /* __XEN_CPUMASK_H */
> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -2,7 +2,7 @@
> =A0# ! - needs translation
> =A0# ? - needs checking
> =A0? =A0 =A0 =A0dom0_vga_console_info =A0 =A0 =A0 =A0 =A0 xen.h
> -? =A0 =A0 =A0xenctl_cpumap =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 xen.h
> +? =A0 =A0 =A0xenctl_map =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0xen.h
> =A0? =A0 =A0 =A0mmu_update =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0xen=
.h
> =A0! =A0 =A0 =A0mmuext_op =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 xen=
.h
> =A0! =A0 =A0 =A0start_info =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0xen=
.h
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:03:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6u6-0005qc-Gy; Thu, 31 May 2012 15:03:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6u4-0005qE-BG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:08 +0000
Received: from [85.158.139.83:18140] by server-8.bemta-5.messagelabs.com id
	85/72-25689-B2887CF4; Thu, 31 May 2012 15:03:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338476586!31311436!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3955 invoked from network); 31 May 2012 15:03:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12766410"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6th-0003b4-9M; Thu, 31 May 2012 15:02:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6th-00016k-8K;
	Thu, 31 May 2012 16:02:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.34837.239698.739317@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:02:45 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <d629e7e2fb6163bb7506.1338466274@Solace>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 09 of 11] libxl, xl: enable automatic placement of guests on NUMA nodes"):
> If a domain does not have a VCPU affinity, try to pin it automatically
> to some PCPUs. This is done taking into account the NUMA characteristics
> of the host: we look for a combination of host's NUMA nodes that has enough
> free memoy for the new domain, and pin it to the VCPUs of those nodes.
> Smaller combinations are considered first, to avoid spreading the
> domain's memory among too many nodes.

Thanks for this.  Here are my comments:

> +static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
> +{
> +    int i;
> +    nodemap->size = rand() % 16;
> +    nodemap->map = calloc(nodemap->size, sizeof(*nodemap->map));
> +    libxl_for_each_node(i, *nodemap) {
> +        if (rand() % 2)
> +            libxl_nodemap_set(nodemap, i);
> +        else
> +            libxl_nodemap_reset(nodemap, i);
> +    }
> +}

For your random number generation, please use nrand48, with a seed in
the libxl ctx.  (This means you'll need to take out the ctx lock.)
And provide a way to set the seed.

> +/* Automatic NUMA placement */
> +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> +                                        libxl_domain_build_info *b_info,
> +                                        int min_nodes, int *nr_cndts);
> +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> +                                  int min_cpus, int max_nodes,
> +                                  libxl_numa_candidate *candidate);
> +void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr);

This interface documentation is deficient, I'm afraid.  Please explain
how these functions are supposed to be used.

> diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
> --- a/tools/libxl/libxl_json.c
> +++ b/tools/libxl/libxl_json.c
> @@ -119,6 +119,26 @@ out:
>      return s;
>  }
> 
> +yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand,
> +                                       libxl_nodemap *nodemap)
> +{
> +    yajl_gen_status s;
> +    int i;
> +
> +    s = yajl_gen_array_open(hand);
> +    if (s != yajl_gen_status_ok) goto out;
> +
> +    libxl_for_each_node(i, *nodemap) {
> +        if (libxl_nodemap_test(nodemap, i)) {
> +            s = yajl_gen_integer(hand, i);
> +            if (s != yajl_gen_status_ok) goto out;
> +        }
> +    }
> +    s = yajl_gen_array_close(hand);
> +out:
> +    return s;
> +}

This is a copy of _cpumap_gen_json.  Bad enough to have one of these,
let along two.

> +/*
> + * The following two uility functions compute the node maps
> + * coresponding to the [ n! / (k! * (n - k)!) ] combinations
> + * of @size nodes within a set that is @nr_nodes big, without
> + * repetition. The algorithm used for generating them uses
> + * a vector containing the indexes in the set of the elements
> + * of the i-eth combination to generate the (i+1)-eth, and
> + * ensures they come in lexicographic order.

Can you please avoid this `@' ?  We aren't using doxygen (and never
will I hope) and it's just noise.  Also I think the "..." here (and
later) are wrong since these aren't strings.  If you want to talk
about them as arrays and want something to indicate the grouping you
could use { }.

> +static int numa_node_set_next(int nr_nodes, int size, int *idxs,
> +                              libxl_nodemap *nodemap)

You should at least write     int idxs[]    and explain that the
caller is expected to provide an array of size `size' which is private
to the implementation of numa_node_set_...

> +{
> +    int i;
> +
> +    /* Check whether we just need to increase the rightmost index */
> +    if (idxs[size - 1] < nr_nodes - 1) {
> +        idxs[size - 1]++;
> +        goto build_nodemap;

Is there something wrong with `else' ?  Or maybe you mean `goto out' ?

But, I think in fact this special case is unnecessary, isn't it ?

> +    /* Find the rightmost element from where to start the increasing */
> +    for (i = size - 1; idxs[i] == nr_nodes - size + i; i--) {

Since if  idxs[size-1] == nr_nodes-1  this loop's first test of the
condition with  i == size-1  becomes   idxs[size-1]==nr_nodes-1
and we therefore execute this

> +    for (idxs[i]++, i += 1; i < size; i++)
> +        idxs[i] = idxs[i - 1] + 1;

with i==size-1 and thus we increment idxs[size-1] and quit the loop
right away.

Furthermore, that last loop is really rather confusing.  The function
would benefit from a comment describing the algorith.   `i += 1' is
un-idiomatic, too.


> +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> +                                        libxl_domain_build_info *b_info,
> +                                        int min_nodes, int *nr_cndts)

I think it would be better if this function returned a libxl error
code.  That way in would be possible to distinguish the various error
cases with different error codes.  You should define new error codes
if you need them.

For the libxl internal subcalls, do this:
    rc = libxl_get_some_information(CTX, ...);
    if (rc) goto out;

> +    suitable_nodes_idx = malloc(sizeof(int) * nr_nodes);

Use GCNEW_ARRAY and ditch the error handling.  You will need to
GC_INIT and GC_FREE.  This will give you a gc and then you should
write `CTX' rather than `ctx' so that your code can easily be moved
into an inner function.

> +        /* Generate the combinations and check their cumulative free memory */
> +        numa_node_set_init(nr_nodes, min_nodes, suitable_nodes_idx,
> +                           &suitable_nodes);
> +        do {
> +            nodes_memkb = 0;
> +            libxl_for_each_set_node(i, suitable_nodes)
> +                nodes_memkb += ninfo[i].free / 1024;

This should be a for loop.  If necessary, numa_node_set_* should be
changed so that they can easily be used in a for loop.

This would be acceptable, for example:

       for (rc = numa_node_set_init(nr_nodes, min_nodes, suitable_nodes_idx,
                                    &suitable_nodes);
            !rc;
            rc = numa_node_set_next(nr_nodes, min_nodes, suitable_nodes_idx,
                                    &suitable_nodes)) {

Perhaps numa_node_set_ should take a struct for all these arguments.
Then you could write:

        for (rc = numa_node_set_init(&numa_node_set_iter, nr_nodes, min_nodes);
             !rc;
             rc = numa_node_set_next(&numa_node_set_iter) {

Or even better if you changed the interface a bit:

        for (numa_node_set_init(gc, &numa_node_set_iter, nr_nodes, min_nodes);
             numa_node_set_get(&numa_node_set_iter, &suitable_nodes);
             numa_node_set_next(&numa_node_set_iter) {

which would allow you to make numa_node_set_iter entirely opaque and
move the allocation of the idx array into the numa_node_set_*
functions.

> +                cndts = realloc(cndts, sizeof(cndts[0]) * (*nr_cndts+1));
> +                if (cndts == NULL) {

Firstly, use libxl__zrealloc(0, ...) and ditch the error handling.
Secondly, this reallocs the array every time we add a node.  It would
be better to keep a separate note of the array size and reallocate in
bigger chunks.

> + out_nodemap_idx:
> +    free(suitable_nodes_idx);
> + out_nodemap:
> +    libxl_nodemap_dispose(&suitable_nodes);
> + out_numainfo:
> +    libxl_numainfo_list_free(ninfo, nr_nodes);
> + out:
> +    return cndts;
> +}

Please don't use this error handling style.  Instead, initialise all
the resource variables to 0 right at the top of the function, and
unconditionally free them.

For the output variable cndts, you can unconditionally free it at the
end if you do this on the success exit path:

> +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> +                                  int min_cpus, int max_nodes,
> +                                  libxl_numa_candidate *candidate)
> +{
> +    int dom_nodes, nodes_cpus;
> +    libxl_cputopology *tinfo;
> +    libxl_numainfo *ninfo;
> +    int nr_nodes, nr_cpus;
> +    int i, rc;
> +
> +    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
> +    if (tinfo == NULL) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo failed\n");
> +        rc = ERROR_NOMEM;

We aren't supposed to be returning ERROR_NOMEM any more because all
our memory allocation is now assumed to be infallible.  Shouldn't this
be ERROR_FAIL ?  (And in the next stanza.)

> +    if (max_nodes == -1 || max_nodes > nr_nodes)
> +        max_nodes = nr_nodes;

I'm afraid I can't really make much sense of this algorithm without
thinking very hard.  Maybe if the interface doc comment had explained
what it was supposed to do it would be obvious...

> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -490,6 +490,122 @@ static void split_string_into_string_lis
...
> +/* How many PCPUs are there on each node? */
> +static int cpus_per_node(libxl_cputopology *tinfo, int nr_cpus)
> +{
> +    libxl_numainfo *ninfo;
> +    int nr_nodes, j, i;
> +    int cpus_nodes = 0;
> +
> +    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
> +    if (ninfo == NULL)
> +        return 0;
> +
> +    /* This makes sense iff # of PCPUs is the same for all nodes */

And what if it isn't ?  Later I see:

> +    if (cpus_nodes != 0)
> +        dom_min_nodes = (dom_needs_cpus + cpus_nodes - 1) / cpus_nodes;
> +    else
> +        dom_min_nodes = 1;

which seems to suggest we'll pile the whole thing onto one pcpu.

> +/* Try to achieve "optimal" NUMA placement */
> +static int place_domain(libxl_domain_build_info *b_info)
> +{
...
 +    if (nr_pools > 1) {
> +        fprintf(stderr, "skip numa placement as cpupools are being used\n");
> +        err = 0;
> +        goto out_poolinfo;
> +    }

Perhaps in the case of cpupools the right answer is to consider only
those pcpus in the intended pool ?  Or is that likely to do more harm
than good, with people who are currently doing their numa placement
with cpupools ?

> +    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
> +    if (tinfo == NULL) {
> +        fprintf(stderr, "libxl_get_topologyinfo failed.\n");
> +        err = ENOMEM;

libxl functions should return libxl error codes, not errno values.
You will probably need to introduce some.

> +    if (err == ERROR_FAIL) {
> +        /* Report back we didn't find a candidate with enough cpus */
> +        err = ESRCH;

I don't think we should ever turn ERROR_FAIL into something else.
ERROR_FAIL means `something went wrong in a way that shouldn't
happen'.


> +out_topologyinfo:
> +    libxl_cputopology_list_free(tinfo, nr_cpus);
> +out_poolinfo:
> +    for (i = 0; i < nr_pools; i++)
> +        libxl_cpupoolinfo_dispose(&pinfo[i]);
> +out:
> +    return err;
> +}

Again, please use an idempotent error handling style.


Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:03:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6u6-0005qc-Gy; Thu, 31 May 2012 15:03:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6u4-0005qE-BG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:08 +0000
Received: from [85.158.139.83:18140] by server-8.bemta-5.messagelabs.com id
	85/72-25689-B2887CF4; Thu, 31 May 2012 15:03:07 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338476586!31311436!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3955 invoked from network); 31 May 2012 15:03:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:06 -0000
X-IronPort-AV: E=Sophos;i="4.75,692,1330905600"; d="scan'208";a="12766410"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6th-0003b4-9M; Thu, 31 May 2012 15:02:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6th-00016k-8K;
	Thu, 31 May 2012 16:02:45 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.34837.239698.739317@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:02:45 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <d629e7e2fb6163bb7506.1338466274@Solace>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 09 of 11] libxl, xl: enable automatic placement of guests on NUMA nodes"):
> If a domain does not have a VCPU affinity, try to pin it automatically
> to some PCPUs. This is done taking into account the NUMA characteristics
> of the host: we look for a combination of host's NUMA nodes that has enough
> free memoy for the new domain, and pin it to the VCPUs of those nodes.
> Smaller combinations are considered first, to avoid spreading the
> domain's memory among too many nodes.

Thanks for this.  Here are my comments:

> +static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
> +{
> +    int i;
> +    nodemap->size = rand() % 16;
> +    nodemap->map = calloc(nodemap->size, sizeof(*nodemap->map));
> +    libxl_for_each_node(i, *nodemap) {
> +        if (rand() % 2)
> +            libxl_nodemap_set(nodemap, i);
> +        else
> +            libxl_nodemap_reset(nodemap, i);
> +    }
> +}

For your random number generation, please use nrand48, with a seed in
the libxl ctx.  (This means you'll need to take out the ctx lock.)
And provide a way to set the seed.

> +/* Automatic NUMA placement */
> +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> +                                        libxl_domain_build_info *b_info,
> +                                        int min_nodes, int *nr_cndts);
> +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> +                                  int min_cpus, int max_nodes,
> +                                  libxl_numa_candidate *candidate);
> +void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int nr);

This interface documentation is deficient, I'm afraid.  Please explain
how these functions are supposed to be used.

> diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
> --- a/tools/libxl/libxl_json.c
> +++ b/tools/libxl/libxl_json.c
> @@ -119,6 +119,26 @@ out:
>      return s;
>  }
> 
> +yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand,
> +                                       libxl_nodemap *nodemap)
> +{
> +    yajl_gen_status s;
> +    int i;
> +
> +    s = yajl_gen_array_open(hand);
> +    if (s != yajl_gen_status_ok) goto out;
> +
> +    libxl_for_each_node(i, *nodemap) {
> +        if (libxl_nodemap_test(nodemap, i)) {
> +            s = yajl_gen_integer(hand, i);
> +            if (s != yajl_gen_status_ok) goto out;
> +        }
> +    }
> +    s = yajl_gen_array_close(hand);
> +out:
> +    return s;
> +}

This is a copy of _cpumap_gen_json.  Bad enough to have one of these,
let along two.

> +/*
> + * The following two uility functions compute the node maps
> + * coresponding to the [ n! / (k! * (n - k)!) ] combinations
> + * of @size nodes within a set that is @nr_nodes big, without
> + * repetition. The algorithm used for generating them uses
> + * a vector containing the indexes in the set of the elements
> + * of the i-eth combination to generate the (i+1)-eth, and
> + * ensures they come in lexicographic order.

Can you please avoid this `@' ?  We aren't using doxygen (and never
will I hope) and it's just noise.  Also I think the "..." here (and
later) are wrong since these aren't strings.  If you want to talk
about them as arrays and want something to indicate the grouping you
could use { }.

> +static int numa_node_set_next(int nr_nodes, int size, int *idxs,
> +                              libxl_nodemap *nodemap)

You should at least write     int idxs[]    and explain that the
caller is expected to provide an array of size `size' which is private
to the implementation of numa_node_set_...

> +{
> +    int i;
> +
> +    /* Check whether we just need to increase the rightmost index */
> +    if (idxs[size - 1] < nr_nodes - 1) {
> +        idxs[size - 1]++;
> +        goto build_nodemap;

Is there something wrong with `else' ?  Or maybe you mean `goto out' ?

But, I think in fact this special case is unnecessary, isn't it ?

> +    /* Find the rightmost element from where to start the increasing */
> +    for (i = size - 1; idxs[i] == nr_nodes - size + i; i--) {

Since if  idxs[size-1] == nr_nodes-1  this loop's first test of the
condition with  i == size-1  becomes   idxs[size-1]==nr_nodes-1
and we therefore execute this

> +    for (idxs[i]++, i += 1; i < size; i++)
> +        idxs[i] = idxs[i - 1] + 1;

with i==size-1 and thus we increment idxs[size-1] and quit the loop
right away.

Furthermore, that last loop is really rather confusing.  The function
would benefit from a comment describing the algorith.   `i += 1' is
un-idiomatic, too.


> +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> +                                        libxl_domain_build_info *b_info,
> +                                        int min_nodes, int *nr_cndts)

I think it would be better if this function returned a libxl error
code.  That way in would be possible to distinguish the various error
cases with different error codes.  You should define new error codes
if you need them.

For the libxl internal subcalls, do this:
    rc = libxl_get_some_information(CTX, ...);
    if (rc) goto out;

> +    suitable_nodes_idx = malloc(sizeof(int) * nr_nodes);

Use GCNEW_ARRAY and ditch the error handling.  You will need to
GC_INIT and GC_FREE.  This will give you a gc and then you should
write `CTX' rather than `ctx' so that your code can easily be moved
into an inner function.

> +        /* Generate the combinations and check their cumulative free memory */
> +        numa_node_set_init(nr_nodes, min_nodes, suitable_nodes_idx,
> +                           &suitable_nodes);
> +        do {
> +            nodes_memkb = 0;
> +            libxl_for_each_set_node(i, suitable_nodes)
> +                nodes_memkb += ninfo[i].free / 1024;

This should be a for loop.  If necessary, numa_node_set_* should be
changed so that they can easily be used in a for loop.

This would be acceptable, for example:

       for (rc = numa_node_set_init(nr_nodes, min_nodes, suitable_nodes_idx,
                                    &suitable_nodes);
            !rc;
            rc = numa_node_set_next(nr_nodes, min_nodes, suitable_nodes_idx,
                                    &suitable_nodes)) {

Perhaps numa_node_set_ should take a struct for all these arguments.
Then you could write:

        for (rc = numa_node_set_init(&numa_node_set_iter, nr_nodes, min_nodes);
             !rc;
             rc = numa_node_set_next(&numa_node_set_iter) {

Or even better if you changed the interface a bit:

        for (numa_node_set_init(gc, &numa_node_set_iter, nr_nodes, min_nodes);
             numa_node_set_get(&numa_node_set_iter, &suitable_nodes);
             numa_node_set_next(&numa_node_set_iter) {

which would allow you to make numa_node_set_iter entirely opaque and
move the allocation of the idx array into the numa_node_set_*
functions.

> +                cndts = realloc(cndts, sizeof(cndts[0]) * (*nr_cndts+1));
> +                if (cndts == NULL) {

Firstly, use libxl__zrealloc(0, ...) and ditch the error handling.
Secondly, this reallocs the array every time we add a node.  It would
be better to keep a separate note of the array size and reallocate in
bigger chunks.

> + out_nodemap_idx:
> +    free(suitable_nodes_idx);
> + out_nodemap:
> +    libxl_nodemap_dispose(&suitable_nodes);
> + out_numainfo:
> +    libxl_numainfo_list_free(ninfo, nr_nodes);
> + out:
> +    return cndts;
> +}

Please don't use this error handling style.  Instead, initialise all
the resource variables to 0 right at the top of the function, and
unconditionally free them.

For the output variable cndts, you can unconditionally free it at the
end if you do this on the success exit path:

> +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> +                                  int min_cpus, int max_nodes,
> +                                  libxl_numa_candidate *candidate)
> +{
> +    int dom_nodes, nodes_cpus;
> +    libxl_cputopology *tinfo;
> +    libxl_numainfo *ninfo;
> +    int nr_nodes, nr_cpus;
> +    int i, rc;
> +
> +    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
> +    if (tinfo == NULL) {
> +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo failed\n");
> +        rc = ERROR_NOMEM;

We aren't supposed to be returning ERROR_NOMEM any more because all
our memory allocation is now assumed to be infallible.  Shouldn't this
be ERROR_FAIL ?  (And in the next stanza.)

> +    if (max_nodes == -1 || max_nodes > nr_nodes)
> +        max_nodes = nr_nodes;

I'm afraid I can't really make much sense of this algorithm without
thinking very hard.  Maybe if the interface doc comment had explained
what it was supposed to do it would be obvious...

> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -490,6 +490,122 @@ static void split_string_into_string_lis
...
> +/* How many PCPUs are there on each node? */
> +static int cpus_per_node(libxl_cputopology *tinfo, int nr_cpus)
> +{
> +    libxl_numainfo *ninfo;
> +    int nr_nodes, j, i;
> +    int cpus_nodes = 0;
> +
> +    ninfo = libxl_get_numainfo(ctx, &nr_nodes);
> +    if (ninfo == NULL)
> +        return 0;
> +
> +    /* This makes sense iff # of PCPUs is the same for all nodes */

And what if it isn't ?  Later I see:

> +    if (cpus_nodes != 0)
> +        dom_min_nodes = (dom_needs_cpus + cpus_nodes - 1) / cpus_nodes;
> +    else
> +        dom_min_nodes = 1;

which seems to suggest we'll pile the whole thing onto one pcpu.

> +/* Try to achieve "optimal" NUMA placement */
> +static int place_domain(libxl_domain_build_info *b_info)
> +{
...
 +    if (nr_pools > 1) {
> +        fprintf(stderr, "skip numa placement as cpupools are being used\n");
> +        err = 0;
> +        goto out_poolinfo;
> +    }

Perhaps in the case of cpupools the right answer is to consider only
those pcpus in the intended pool ?  Or is that likely to do more harm
than good, with people who are currently doing their numa placement
with cpupools ?

> +    tinfo = libxl_get_cpu_topology(ctx, &nr_cpus);
> +    if (tinfo == NULL) {
> +        fprintf(stderr, "libxl_get_topologyinfo failed.\n");
> +        err = ENOMEM;

libxl functions should return libxl error codes, not errno values.
You will probably need to introduce some.

> +    if (err == ERROR_FAIL) {
> +        /* Report back we didn't find a candidate with enough cpus */
> +        err = ESRCH;

I don't think we should ever turn ERROR_FAIL into something else.
ERROR_FAIL means `something went wrong in a way that shouldn't
happen'.


> +out_topologyinfo:
> +    libxl_cputopology_list_free(tinfo, nr_cpus);
> +out_poolinfo:
> +    for (i = 0; i < nr_pools; i++)
> +        libxl_cpupoolinfo_dispose(&pinfo[i]);
> +out:
> +    return err;
> +}

Again, please use an idempotent error handling style.


Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:03:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6ui-0005yz-TD; Thu, 31 May 2012 15:03:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ug-0005y1-VQ
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:47 +0000
Received: from [85.158.138.51:12435] by server-9.bemta-3.messagelabs.com id
	4A/F4-21565-25887CF4; Thu, 31 May 2012 15:03:46 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10814 invoked from network); 31 May 2012 15:03:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766420"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bO-FY;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wg-IH;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:11 +0100
Message-ID: <1338476832-26653-5-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 4/5] xen: Enforce casting for guest_handle_cast
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


This is useful if you want to cast a guest handle to char * to do
pointer aritmetics afterwards with functions like guest_handle_add_offset.

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/include/asm-x86/guest_access.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


--------------true
Content-Type: text/x-patch;
	name="0004-xen-Enforce-casting-for-guest_handle_cast.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0004-xen-Enforce-casting-for-guest_handle_cast.patch"

diff --git a/xen/include/asm-x86/guest_access.h b/xen/include/asm-x86/guest_access.h
index 2b429c2..7e95da3 100644
--- a/xen/include/asm-x86/guest_access.h
+++ b/xen/include/asm-x86/guest_access.h
@@ -47,7 +47,7 @@
 
 /* Cast a guest handle to the specified type of handle. */
 #define guest_handle_cast(hnd, type) ({         \
-    type *_x = (hnd).p;                         \
+    type *_x = (type *)(hnd).p;                 \
     (XEN_GUEST_HANDLE(type)) { _x };            \
 })
 

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6ui-0005yz-TD; Thu, 31 May 2012 15:03:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ug-0005y1-VQ
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:47 +0000
Received: from [85.158.138.51:12435] by server-9.bemta-3.messagelabs.com id
	4A/F4-21565-25887CF4; Thu, 31 May 2012 15:03:46 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!4
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10814 invoked from network); 31 May 2012 15:03:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766420"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bO-FY;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wg-IH;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:11 +0100
Message-ID: <1338476832-26653-5-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 4/5] xen: Enforce casting for guest_handle_cast
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


This is useful if you want to cast a guest handle to char * to do
pointer aritmetics afterwards with functions like guest_handle_add_offset.

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/include/asm-x86/guest_access.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


--------------true
Content-Type: text/x-patch;
	name="0004-xen-Enforce-casting-for-guest_handle_cast.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0004-xen-Enforce-casting-for-guest_handle_cast.patch"

diff --git a/xen/include/asm-x86/guest_access.h b/xen/include/asm-x86/guest_access.h
index 2b429c2..7e95da3 100644
--- a/xen/include/asm-x86/guest_access.h
+++ b/xen/include/asm-x86/guest_access.h
@@ -47,7 +47,7 @@
 
 /* Cast a guest handle to the specified type of handle. */
 #define guest_handle_cast(hnd, type) ({         \
-    type *_x = (hnd).p;                         \
+    type *_x = (type *)(hnd).p;                 \
     (XEN_GUEST_HANDLE(type)) { _x };            \
 })
 

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6ui-0005yZ-3m; Thu, 31 May 2012 15:03:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ug-0005y1-BP
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:46 +0000
Received: from [85.158.138.51:51563] by server-9.bemta-3.messagelabs.com id
	0A/E4-21565-15887CF4; Thu, 31 May 2012 15:03:45 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10714 invoked from network); 31 May 2012 15:03:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766414"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tl-0003bF-TY;
	Thu, 31 May 2012 15:02:49 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y1-0006wX-WE;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:08 +0100
Message-ID: <1338476832-26653-2-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 1/5] xen: add ssize_t to types.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/include/xen/types.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


--------------true
Content-Type: text/x-patch; name="0001-xen-add-ssize_t-to-types.h.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0001-xen-add-ssize_t-to-types.h.patch"

diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 8596ded..ec992f8 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -58,5 +58,6 @@ typedef __u64 __le64;
 typedef __u64 __be64;
 
 typedef unsigned long uintptr_t;
+typedef int ssize_t;
 
 #endif /* __TYPES_H__ */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6ui-0005yZ-3m; Thu, 31 May 2012 15:03:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ug-0005y1-BP
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:46 +0000
Received: from [85.158.138.51:51563] by server-9.bemta-3.messagelabs.com id
	0A/E4-21565-15887CF4; Thu, 31 May 2012 15:03:45 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10714 invoked from network); 31 May 2012 15:03:44 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:44 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766414"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tl-0003bF-TY;
	Thu, 31 May 2012 15:02:49 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y1-0006wX-WE;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:08 +0100
Message-ID: <1338476832-26653-2-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 1/5] xen: add ssize_t to types.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/include/xen/types.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


--------------true
Content-Type: text/x-patch; name="0001-xen-add-ssize_t-to-types.h.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0001-xen-add-ssize_t-to-types.h.patch"

diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 8596ded..ec992f8 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -58,5 +58,6 @@ typedef __u64 __le64;
 typedef __u64 __be64;
 
 typedef unsigned long uintptr_t;
+typedef int ssize_t;
 
 #endif /* __TYPES_H__ */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6ui-0005ym-GS; Thu, 31 May 2012 15:03:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ug-0005y5-OG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:46 +0000
Received: from [85.158.138.51:12347] by server-7.bemta-3.messagelabs.com id
	B2/EE-22601-15887CF4; Thu, 31 May 2012 15:03:45 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10754 invoked from network); 31 May 2012 15:03:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766413"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tl-0003bC-Nt;
	Thu, 31 May 2012 15:02:49 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y1-0006wV-S2;
	Thu, 31 May 2012 16:07:13 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 31 May 2012 16:07:07 +0100
Message-ID: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [RFC][PATCH 0/5] Add V4V to Xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


V4V is a copy based inter vm communication system.

Please have a look at this thread for more detail
about V4V.
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01866.html

This patch series is work in progress but I wanted to
post it early enough so I can get feedback from people.

Jean Guyader (5):
  xen: add ssize_t to types.h
  xen: Add headers to include/Makefile
  v4v: Introduce VIRQ_V4V
  xen: Enforce casting for guest_handle_cast
  xen: Add V4V implementation

 xen/arch/x86/hvm/hvm.c             |    9 +-
 xen/arch/x86/x86_32/entry.S        |    2 +
 xen/arch/x86/x86_64/compat/entry.S |    2 +
 xen/arch/x86/x86_64/entry.S        |    2 +
 xen/common/Makefile                |    1 +
 xen/common/domain.c                |   11 +-
 xen/common/event_channel.c         |    1 +
 xen/common/v4v.c                   | 1779 ++++++++++++++++++++++++++++++++++++
 xen/include/Makefile               |    3 +-
 xen/include/asm-x86/guest_access.h |    2 +-
 xen/include/public/v4v.h           |  544 +++++++++++
 xen/include/public/xen.h           |    4 +-
 xen/include/xen/sched.h            |    5 +
 xen/include/xen/types.h            |    1 +
 xen/include/xen/v4v.h              |  109 +++
 15 files changed, 2467 insertions(+), 8 deletions(-)
 create mode 100644 xen/common/v4v.c
 create mode 100644 xen/include/public/v4v.h
 create mode 100644 xen/include/xen/v4v.h

-- 
1.7.2.5


--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:56 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6ui-0005ym-GS; Thu, 31 May 2012 15:03:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ug-0005y5-OG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:46 +0000
Received: from [85.158.138.51:12347] by server-7.bemta-3.messagelabs.com id
	B2/EE-22601-15887CF4; Thu, 31 May 2012 15:03:45 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!2
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10754 invoked from network); 31 May 2012 15:03:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766413"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tl-0003bC-Nt;
	Thu, 31 May 2012 15:02:49 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y1-0006wV-S2;
	Thu, 31 May 2012 16:07:13 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 31 May 2012 16:07:07 +0100
Message-ID: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [RFC][PATCH 0/5] Add V4V to Xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


V4V is a copy based inter vm communication system.

Please have a look at this thread for more detail
about V4V.
http://lists.xen.org/archives/html/xen-devel/2012-05/msg01866.html

This patch series is work in progress but I wanted to
post it early enough so I can get feedback from people.

Jean Guyader (5):
  xen: add ssize_t to types.h
  xen: Add headers to include/Makefile
  v4v: Introduce VIRQ_V4V
  xen: Enforce casting for guest_handle_cast
  xen: Add V4V implementation

 xen/arch/x86/hvm/hvm.c             |    9 +-
 xen/arch/x86/x86_32/entry.S        |    2 +
 xen/arch/x86/x86_64/compat/entry.S |    2 +
 xen/arch/x86/x86_64/entry.S        |    2 +
 xen/common/Makefile                |    1 +
 xen/common/domain.c                |   11 +-
 xen/common/event_channel.c         |    1 +
 xen/common/v4v.c                   | 1779 ++++++++++++++++++++++++++++++++++++
 xen/include/Makefile               |    3 +-
 xen/include/asm-x86/guest_access.h |    2 +-
 xen/include/public/v4v.h           |  544 +++++++++++
 xen/include/public/xen.h           |    4 +-
 xen/include/xen/sched.h            |    5 +
 xen/include/xen/types.h            |    1 +
 xen/include/xen/v4v.h              |  109 +++
 15 files changed, 2467 insertions(+), 8 deletions(-)
 create mode 100644 xen/common/v4v.c
 create mode 100644 xen/include/public/v4v.h
 create mode 100644 xen/include/xen/v4v.h

-- 
1.7.2.5


--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6uk-0005zT-1V; Thu, 31 May 2012 15:03:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ui-0005yQ-0P
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:48 +0000
Received: from [85.158.138.51:12493] by server-1.bemta-3.messagelabs.com id
	4E/8C-06526-35887CF4; Thu, 31 May 2012 15:03:47 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10851 invoked from network); 31 May 2012 15:03:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766418"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bI-3e;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wa-5S;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:09 +0100
Message-ID: <1338476832-26653-3-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 2/5] xen: Add headers to include/Makefile
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


  Add stdlib.h for size_t
  Add string.h for memcpy
  Add sys/types.h for ssize_t

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/include/Makefile |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)


--------------true
Content-Type: text/x-patch;
	name="0002-xen-Add-headers-to-include-Makefile.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0002-xen-Add-headers-to-include-Makefile.patch"

diff --git a/xen/include/Makefile b/xen/include/Makefile
index 62846a1..67aaef4 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -77,8 +77,9 @@ ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH))
 
 all: headers.chk
 
+INCLUDE_LIBS=stdint.h stdlib.h string.h sys/types.h
 headers.chk: $(filter-out public/arch-% public/%ctl.h public/xsm/% public/%hvm/save.h, $(wildcard public/*.h public/*/*.h) $(public-y)) Makefile
-	for i in $(filter %.h,$^); do $(CC) -ansi -include stdint.h -Wall -W -Werror -S -o /dev/null -xc $$i || exit 1; echo $$i; done >$@.new
+	for i in $(filter %.h,$^); do $(CC) -ansi ${INCLUDE_LIBS:%.h=-include %.h} -Wall -W -Werror -S -o /dev/null -xc $$i || exit 1; echo $$i; done >$@.new
 	mv $@.new $@
 
 endif

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6uk-0005zT-1V; Thu, 31 May 2012 15:03:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6ui-0005yQ-0P
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:48 +0000
Received: from [85.158.138.51:12493] by server-1.bemta-3.messagelabs.com id
	4E/8C-06526-35887CF4; Thu, 31 May 2012 15:03:47 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!5
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10851 invoked from network); 31 May 2012 15:03:46 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:46 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766418"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bI-3e;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wa-5S;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:09 +0100
Message-ID: <1338476832-26653-3-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 2/5] xen: Add headers to include/Makefile
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


  Add stdlib.h for size_t
  Add string.h for memcpy
  Add sys/types.h for ssize_t

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/include/Makefile |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)


--------------true
Content-Type: text/x-patch;
	name="0002-xen-Add-headers-to-include-Makefile.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0002-xen-Add-headers-to-include-Makefile.patch"

diff --git a/xen/include/Makefile b/xen/include/Makefile
index 62846a1..67aaef4 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -77,8 +77,9 @@ ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH))
 
 all: headers.chk
 
+INCLUDE_LIBS=stdint.h stdlib.h string.h sys/types.h
 headers.chk: $(filter-out public/arch-% public/%ctl.h public/xsm/% public/%hvm/save.h, $(wildcard public/*.h public/*/*.h) $(public-y)) Makefile
-	for i in $(filter %.h,$^); do $(CC) -ansi -include stdint.h -Wall -W -Werror -S -o /dev/null -xc $$i || exit 1; echo $$i; done >$@.new
+	for i in $(filter %.h,$^); do $(CC) -ansi ${INCLUDE_LIBS:%.h=-include %.h} -Wall -W -Werror -S -o /dev/null -xc $$i || exit 1; echo $$i; done >$@.new
 	mv $@.new $@
 
 endif

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6uj-0005zE-L4; Thu, 31 May 2012 15:03:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6uh-0005yE-96
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:47 +0000
Received: from [85.158.138.51:12416] by server-11.bemta-3.messagelabs.com id
	E4/0D-32748-25887CF4; Thu, 31 May 2012 15:03:46 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10797 invoked from network); 31 May 2012 15:03:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766419"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bL-9w;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wd-Bz;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 31 May 2012 16:07:10 +0100
Message-ID: <1338476832-26653-4-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 3/5] v4v: Introduce VIRQ_V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


Introduce the global virq VIRQ_V4V

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/common/event_channel.c |    1 +
 xen/include/public/xen.h   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)


--------------true
Content-Type: text/x-patch; name="0003-v4v-Introduce-VIRQ_V4V.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0003-v4v-Introduce-VIRQ_V4V.patch"

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 53777f8..e138600 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -107,6 +107,7 @@ static int virq_is_global(uint32_t virq)
     case VIRQ_TIMER:
     case VIRQ_DEBUG:
     case VIRQ_XENOPROF:
+    case VIRQ_V4V:
         rc = 0;
         break;
     case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index b2f6c50..033cbba 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -157,7 +157,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 #define VIRQ_CON_RING   8  /* G. (DOM0) Bytes received on console            */
 #define VIRQ_PCPU_STATE 9  /* G. (DOM0) PCPU state changed                   */
 #define VIRQ_MEM_EVENT  10 /* G. (DOM0) A memory event has occured           */
-#define VIRQ_XC_RESERVED 11 /* G. Reserved for XenClient                     */
+#define VIRQ_V4V        11 /* G. V4V event has occurred                      */
 #define VIRQ_ENOMEM     12 /* G. (DOM0) Low on heap memory       */
 
 /* Architecture-specific VIRQ definitions. */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6uj-0005zE-L4; Thu, 31 May 2012 15:03:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6uh-0005yE-96
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:47 +0000
Received: from [85.158.138.51:12416] by server-11.bemta-3.messagelabs.com id
	E4/0D-32748-25887CF4; Thu, 31 May 2012 15:03:46 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338476624!23816696!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10797 invoked from network); 31 May 2012 15:03:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766419"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:50 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bL-9w;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wd-Bz;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: xen-devel@lists.xen.org
Date: Thu, 31 May 2012 16:07:10 +0100
Message-ID: <1338476832-26653-4-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 3/5] v4v: Introduce VIRQ_V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


Introduce the global virq VIRQ_V4V

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/common/event_channel.c |    1 +
 xen/include/public/xen.h   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)


--------------true
Content-Type: text/x-patch; name="0003-v4v-Introduce-VIRQ_V4V.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0003-v4v-Introduce-VIRQ_V4V.patch"

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 53777f8..e138600 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -107,6 +107,7 @@ static int virq_is_global(uint32_t virq)
     case VIRQ_TIMER:
     case VIRQ_DEBUG:
     case VIRQ_XENOPROF:
+    case VIRQ_V4V:
         rc = 0;
         break;
     case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index b2f6c50..033cbba 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -157,7 +157,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 #define VIRQ_CON_RING   8  /* G. (DOM0) Bytes received on console            */
 #define VIRQ_PCPU_STATE 9  /* G. (DOM0) PCPU state changed                   */
 #define VIRQ_MEM_EVENT  10 /* G. (DOM0) A memory event has occured           */
-#define VIRQ_XC_RESERVED 11 /* G. Reserved for XenClient                     */
+#define VIRQ_V4V        11 /* G. V4V event has occurred                      */
 #define VIRQ_ENOMEM     12 /* G. (DOM0) Low on heap memory       */
 
 /* Architecture-specific VIRQ definitions. */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6un-00061D-F5; Thu, 31 May 2012 15:03:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6um-00060A-00
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:52 +0000
Received: from [85.158.143.35:19651] by server-2.bemta-4.messagelabs.com id
	DB/D3-11595-75887CF4; Thu, 31 May 2012 15:03:51 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338476629!13827061!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24561 invoked from network); 31 May 2012 15:03:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766421"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:51 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bR-KL;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wj-Np;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:12 +0100
Message-ID: <1338476832-26653-6-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 5/5] xen: Add V4V implementation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


Setup of v4v domains a domain gets created and cleanup
when a domain die. Wire up the v4v hypercall.

Include v4v internal and public headers.

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/arch/x86/hvm/hvm.c             |    9 +-
 xen/arch/x86/x86_32/entry.S        |    2 +
 xen/arch/x86/x86_64/compat/entry.S |    2 +
 xen/arch/x86/x86_64/entry.S        |    2 +
 xen/common/Makefile                |    1 +
 xen/common/domain.c                |   11 +-
 xen/common/v4v.c                   | 1779 ++++++++++++++++++++++++++++++++++++
 xen/include/public/v4v.h           |  544 +++++++++++
 xen/include/public/xen.h           |    2 +-
 xen/include/xen/sched.h            |    5 +
 xen/include/xen/v4v.h              |  109 +++
 11 files changed, 2461 insertions(+), 5 deletions(-)
 create mode 100644 xen/common/v4v.c
 create mode 100644 xen/include/public/v4v.h
 create mode 100644 xen/include/xen/v4v.h


--------------true
Content-Type: text/x-patch; name="0005-xen-Add-V4V-implementation.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0005-xen-Add-V4V-implementation.patch"

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index e0d495d..6f2d70e 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3124,7 +3124,8 @@ static hvm_hypercall_t *hvm_hypercall32_table[NR_hypercalls] = {
     HYPERCALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
 
 #else /* defined(__x86_64__) */
@@ -3209,7 +3210,8 @@ static hvm_hypercall_t *hvm_hypercall64_table[NR_hypercalls] = {
     HYPERCALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
 
 #define COMPAT_CALL(x)                                        \
@@ -3226,7 +3228,8 @@ static hvm_hypercall_t *hvm_hypercall32_table[NR_hypercalls] = {
     COMPAT_CALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
 
 #endif /* defined(__x86_64__) */
diff --git a/xen/arch/x86/x86_32/entry.S b/xen/arch/x86/x86_32/entry.S
index 2982679..b3e0da4 100644
--- a/xen/arch/x86/x86_32/entry.S
+++ b/xen/arch/x86/x86_32/entry.S
@@ -700,6 +700,7 @@ ENTRY(hypercall_table)
         .long do_domctl
         .long do_kexec_op
         .long do_tmem_op
+        .long do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-hypercall_table)/4)
         .long do_ni_hypercall
         .endr
@@ -748,6 +749,7 @@ ENTRY(hypercall_args_table)
         .byte 1 /* do_domctl            */
         .byte 2 /* do_kexec_op          */
         .byte 1 /* do_tmem_op           */
+        .byte 6 /* do_v4v_op		*/
         .rept __HYPERVISOR_arch_0-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index f49ff2d..28615f9 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -414,6 +414,7 @@ ENTRY(compat_hypercall_table)
         .quad do_domctl
         .quad compat_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-compat_hypercall_table)/8)
         .quad compat_ni_hypercall
         .endr
@@ -462,6 +463,7 @@ ENTRY(compat_hypercall_args_table)
         .byte 1 /* do_domctl                */
         .byte 2 /* compat_kexec_op          */
         .byte 1 /* do_tmem_op               */
+        .byte 6 /* do_v4v_op		    */
         .rept __HYPERVISOR_arch_0-(.-compat_hypercall_args_table)
         .byte 0 /* compat_ni_hypercall      */
         .endr
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 3836260..918fa59 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -699,6 +699,7 @@ ENTRY(hypercall_table)
         .quad do_domctl
         .quad do_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-hypercall_table)/8)
         .quad do_ni_hypercall
         .endr
@@ -747,6 +748,7 @@ ENTRY(hypercall_args_table)
         .byte 1 /* do_domctl            */
         .byte 2 /* do_kexec             */
         .byte 1 /* do_tmem_op           */
+        .byte 6 /* do_v4v_op		*/
         .rept __HYPERVISOR_arch_0-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 9eba8bc..fe3c72c 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -45,6 +45,7 @@ obj-y += tmem_xen.o
 obj-y += radix-tree.o
 obj-y += rbtree.o
 obj-y += lzo.o
+obj-y += v4v.o
 
 obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma unlzo,$(n).init.o)
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8840202..9539d88 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -195,7 +195,8 @@ struct domain *domain_create(
 {
     struct domain *d, **pd;
     enum { INIT_xsm = 1u<<0, INIT_watchdog = 1u<<1, INIT_rangeset = 1u<<2,
-           INIT_evtchn = 1u<<3, INIT_gnttab = 1u<<4, INIT_arch = 1u<<5 };
+           INIT_evtchn = 1u<<3, INIT_gnttab = 1u<<4, INIT_arch = 1u<<5,
+           INIT_v4v = 1u<<6 };
     int init_status = 0;
     int poolid = CPUPOOLID_NONE;
 
@@ -219,6 +220,7 @@ struct domain *domain_create(
     spin_lock_init(&d->hypercall_deadlock_mutex);
     INIT_PAGE_LIST_HEAD(&d->page_list);
     INIT_PAGE_LIST_HEAD(&d->xenpage_list);
+    rwlock_init(&d->v4v_lock);
 
     spin_lock_init(&d->node_affinity_lock);
     d->node_affinity = NODE_MASK_ALL;
@@ -274,6 +276,10 @@ struct domain *domain_create(
             goto fail;
         init_status |= INIT_gnttab;
 
+        if ( v4v_init(d) != 0 )
+            goto fail;
+        init_status |= INIT_v4v;
+
         poolid = 0;
 
         d->mem_event = xzalloc(struct mem_event_per_domain);
@@ -313,6 +319,8 @@ struct domain *domain_create(
     xfree(d->mem_event);
     if ( init_status & INIT_arch )
         arch_domain_destroy(d);
+    if ( init_status & INIT_v4v )
+	v4v_destroy(d);
     if ( init_status & INIT_gnttab )
         grant_table_destroy(d);
     if ( init_status & INIT_evtchn )
@@ -466,6 +474,7 @@ int domain_kill(struct domain *d)
         domain_pause(d);
         d->is_dying = DOMDYING_dying;
         spin_barrier(&d->domain_lock);
+        v4v_destroy(d);
         evtchn_destroy(d);
         gnttab_release_mappings(d);
         tmem_destroy(d->tmem);
diff --git a/xen/common/v4v.c b/xen/common/v4v.c
new file mode 100644
index 0000000..ed846ba
--- /dev/null
+++ b/xen/common/v4v.c
@@ -0,0 +1,1779 @@
+/******************************************************************************
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <xen/config.h>
+#include <xen/mm.h>
+#include <xen/compat.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/errno.h>
+#include <xen/sched.h>
+#include <xen/domain.h>
+#include <xen/v4v.h>
+#include <xen/event.h>
+#include <xen/guest_access.h>
+#include <asm/paging.h>
+#include <asm/p2m.h>
+#include <xen/keyhandler.h>
+
+#ifdef V4V_DEBUG
+#define MY_FILE "v4v.c"
+#define v4v_dprintk(format, args...)                    \
+    do {                                                \
+        printk("%s:%d " format,                         \
+               MY_FILE, __LINE__, ## args );            \
+    } while ( 1 == 0 )
+#else
+#define v4v_dprintk(format, ... ) (void)0
+#endif
+
+
+
+DEFINE_XEN_GUEST_HANDLE (uint8_t);
+static struct v4v_ring_info *v4v_ring_find_info (struct domain *d,
+                                                 struct v4v_ring_id *id);
+
+static struct v4v_ring_info *v4v_ring_find_info_by_addr (struct domain *d,
+                                                         struct v4v_addr *a,
+                                                         domid_t p);
+
+/*
+ * locks
+ */
+
+/*
+ * locking is organized as follows:
+ *
+ * the global lock v4v_lock: L1 protects the v4v elements
+ * of all struct domain *d in the system, it does not
+ * protect any of the elements of d->v4v, just their
+ * addresses. By extension since the destruction of
+ * a domain with a non-NULL d->v4v will need to free
+ * the d->v4v pointer, holding this lock gauruntees
+ * that no domains pointers in which v4v is interested
+ * become invalid whilst this lock is held.
+ */
+
+static DEFINE_RWLOCK (v4v_lock); /* L1 */
+
+/*
+ * the lock d->v4v->lock: L2:  Read on protects the hash table and
+ * the elements in the hash_table d->v4v->ring_hash, and
+ * the node and id fields in struct v4v_ring_info in the
+ * hash table. Write on L2 protects all of the elements of
+ * struct v4v_ring_info. To take L2 you must already have R(L1)
+ * W(L1) implies W(L2) and L3
+ *
+ * the lock v4v_ring_info *ringinfo; ringinfo->lock: L3:
+ * protects len,tx_ptr the guest ring, the
+ * guest ring_data and the pending list. To take L3 you must
+ * already have R(L2). W(L2) implies L3
+ */
+
+
+/*
+ * Debugs
+ */
+
+#ifdef V4V_DEBUG
+static void
+v4v_hexdump (void *_p, int len)
+{
+    uint8_t *buf = (uint8_t *) _p;
+    int i, j;
+
+    for (i = 0; i < len; i += 16)
+    {
+        printk (KERN_ERR "%p:", &buf[i]);
+        for (j = 0; j < 16; ++j)
+        {
+            int k = i + j;
+            if (k < len)
+                printk (" %02x", buf[k]);
+            else
+                printk ("   ");
+        }
+        printk (" ");
+
+        for (j = 0; j < 16; ++j)
+        {
+            int k = i + j;
+            if (k < len)
+                printk ("%c", ((buf[k] > 32) && (buf[k] < 127)) ? buf[k] : '.');
+            else
+                printk (" ");
+        }
+        printk ("\n");
+    }
+}
+#endif
+
+
+/*
+ * Event channel
+ */
+
+static void
+v4v_signal_domain (struct domain *d)
+{
+    v4v_dprintk("send guest VIRQ_V4V domid:%d\n", d->domain_id);
+    send_guest_vcpu_virq (d->vcpu[0], VIRQ_V4V);
+}
+
+static void
+v4v_signal_domid (domid_t id)
+{
+    struct domain *d = get_domain_by_id (id);
+    if (!d)
+        return;
+    v4v_signal_domain (d);
+    put_domain (d);
+}
+
+
+/*
+ * ring buffer
+ */
+
+/* called must have L3 */
+static void
+v4v_ring_unmap (struct v4v_ring_info *ring_info)
+{
+    int i;
+    for (i = 0; i < ring_info->npage; ++i)
+    {
+        if (!ring_info->mfn_mapping[i])
+            continue;
+        v4v_dprintk("");
+        v4v_dprintk("unmapping page %p from %p\n",
+                (void*) mfn_x (ring_info->mfns[i]),
+                ring_info->mfn_mapping[i]);
+
+        unmap_domain_page (ring_info->mfn_mapping[i]);
+        ring_info->mfn_mapping[i] = NULL;
+    }
+}
+
+/* called must have L3 */
+static uint8_t *
+v4v_ring_map_page (struct v4v_ring_info *ring_info, int i)
+{
+    if (i >= ring_info->npage)
+        return NULL;
+    if (ring_info->mfn_mapping[i])
+        return ring_info->mfn_mapping[i];
+    ring_info->mfn_mapping[i] = map_domain_page (mfn_x (ring_info->mfns[i]));
+
+    v4v_dprintk("mapping page %p to %p\n",
+            (void *) mfn_x (ring_info->mfns[i]),
+            ring_info->mfn_mapping[i]);
+    return ring_info->mfn_mapping[i];
+}
+
+/* called must have L3 */
+static int
+v4v_memcpy_from_guest_ring (void *_dst, struct v4v_ring_info *ring_info,
+                            uint32_t offset, uint32_t len)
+{
+    int page = offset >> PAGE_SHIFT;
+    uint8_t *src;
+    uint8_t *dst = _dst;
+
+    offset &= PAGE_SIZE - 1;
+
+    while ((offset + len) > PAGE_SIZE)
+    {
+        src = v4v_ring_map_page (ring_info, page);
+
+        if (!src)
+        {
+            return -EFAULT;
+        }
+
+        v4v_dprintk("memcpy(%p,%p+%d,%d)\n",
+                dst, src, offset,
+                (int) (PAGE_SIZE - offset));
+        memcpy (dst, src + offset, PAGE_SIZE - offset);
+
+        page++;
+        len -= PAGE_SIZE - offset;
+        dst += PAGE_SIZE - offset;
+        offset = 0;
+    }
+
+    src = v4v_ring_map_page (ring_info, page);
+    if (!src)
+    {
+        return -EFAULT;
+    }
+
+    v4v_dprintk("memcpy(%p,%p+%d,%d)\n", dst, src, offset, len);
+    memcpy (dst, src + offset, len);
+
+    return 0;
+}
+
+
+/* called must have L3 */
+static int
+v4v_update_tx_ptr (struct v4v_ring_info *ring_info, uint32_t tx_ptr)
+{
+    uint8_t *dst = v4v_ring_map_page (ring_info, 0);
+    volatile uint32_t *p = (uint32_t *)(dst + offsetof (v4v_ring_t, tx_ptr));
+
+    if (!dst)
+        return -EFAULT;
+    *p = tx_ptr;
+    return 0;
+}
+
+/* called must have L3 */
+static int
+v4v_memcpy_to_guest_ring (struct v4v_ring_info *ring_info, uint32_t offset,
+        void *_src, uint32_t len)
+{
+    int page = offset >> PAGE_SHIFT;
+    uint8_t *dst;
+    uint8_t *src = _src;
+
+    offset &= PAGE_SIZE - 1;
+
+    while ((offset + len) > PAGE_SIZE)
+    {
+        dst = v4v_ring_map_page (ring_info, page);
+
+        if (!dst)
+        {
+            v4v_dprintk("!dst\n");
+            return -EFAULT;
+        }
+
+#ifdef V4V_DEBUG
+        v4v_dprintk("memcpy(%p+%d,%p,%d)\n",
+                dst, offset, src,
+                (int) (PAGE_SIZE - offset));
+        v4v_hexdump (src, PAGE_SIZE - offset);
+        v4v_hexdump (dst + offset, PAGE_SIZE - offset);
+#endif
+        memcpy (dst + offset, src, PAGE_SIZE - offset);
+
+        page++;
+        len -= (PAGE_SIZE - offset);
+        src += (PAGE_SIZE - offset);
+        offset = 0;
+    }
+
+    dst = v4v_ring_map_page (ring_info, page);
+
+    if (!dst)
+    {
+        v4v_dprintk("attempted to map page %d of %d\n", page, ring_info->npage);
+        return -EFAULT;
+    }
+
+#ifdef V4V_DEBUG
+    v4v_dprintk("memcpy(%p+%d,%p,%d)\n",
+            dst, offset, src, len);
+    v4v_hexdump (src, len);
+    v4v_hexdump (dst + offset, len);
+#endif
+    memcpy (dst + offset, src, len);
+
+    return 0;
+}
+
+/*called must have L3*/
+static int
+v4v_memcpy_to_guest_ring_from_guest(struct v4v_ring_info *ring_info,
+                                    uint32_t offset,
+                                    XEN_GUEST_HANDLE (uint8_t) src_hnd,
+                                    uint32_t len)
+{
+    int page = offset >> PAGE_SHIFT;
+    uint8_t *dst;
+
+    offset &= PAGE_SIZE - 1;
+
+    while ( (offset + len) > PAGE_SIZE )
+    {
+        dst = v4v_ring_map_page (ring_info, page);
+
+        if ( !dst )
+        {
+            v4v_dprintk("!dst\n");
+            return -EFAULT;
+        }
+
+        v4v_dprintk("copy_from_guest(%p+%d,%p,%d)\n",
+                    dst, offset, (void *) src_hnd.p,
+                    (int) (PAGE_SIZE - offset));
+        if ( copy_from_guest ((dst + offset), src_hnd, PAGE_SIZE - offset) )
+        {
+            v4v_dprintk("copy_from_guest failed\n");
+            return -EFAULT;
+        }
+
+        page++;
+        len -= PAGE_SIZE - offset;
+        guest_handle_add_offset (src_hnd, PAGE_SIZE - offset);
+        offset = 0;
+    }
+
+    dst = v4v_ring_map_page (ring_info, page);
+    if (!dst)
+    {
+        v4v_dprintk("v4v_ring_map failed\n");
+        return -EFAULT;
+    }
+
+    v4v_dprintk("copy_from_guest(%p+%d,%p,%d)\n",
+                dst, offset, (void *) src_hnd.p, len);
+    if ( copy_from_guest ((dst + offset), src_hnd, len) )
+    {
+        v4v_dprintk("copy_from_guest failed\n");
+        return -EFAULT;
+    }
+
+    return 0;
+}
+
+static int
+v4v_ringbuf_get_rx_ptr (struct domain *d, struct v4v_ring_info *ring_info,
+                        uint32_t * rx_ptr)
+{
+    v4v_ring_t *ringp;
+
+    if ( ring_info->npage == 0 )
+        return -1;
+
+    ringp = map_domain_page (mfn_x (ring_info->mfns[0]));
+
+    v4v_dprintk("v4v_ringbuf_payload_space: mapped %p to %p\n",
+                (void *) mfn_x (ring_info->mfns[0]), ringp);
+    if ( !ringp )
+        return -1;
+
+    *rx_ptr = *(volatile uint32_t *) &ringp->rx_ptr;
+
+    unmap_domain_page (mfn_x (ring_info->mfns[0]));
+    return 0;
+}
+
+uint32_t
+v4v_ringbuf_payload_space (struct domain * d, struct v4v_ring_info * ring_info)
+{
+    v4v_ring_t ring;
+    int32_t ret;
+
+    ring.tx_ptr = ring_info->tx_ptr;
+    ring.len = ring_info->len;
+
+    if ( v4v_ringbuf_get_rx_ptr (d, ring_info, &ring.rx_ptr) )
+        return 0;
+
+    v4v_dprintk("v4v_ringbuf_payload_space:tx_ptr=%d rx_ptr=%d\n",
+                (int) ring.tx_ptr, (int) ring.rx_ptr);
+    if ( ring.rx_ptr == ring.tx_ptr )
+        return ring.len - sizeof (struct v4v_ring_message_header);
+
+    ret = ring.rx_ptr - ring.tx_ptr;
+    if ( ret < 0 )
+        ret += ring.len;
+
+    ret -= sizeof (struct v4v_ring_message_header);
+    ret -= V4V_ROUNDUP (1);
+
+    return (ret < 0) ? 0 : ret;
+}
+
+/*caller must have L3*/
+static size_t
+v4v_ringbuf_insert (struct domain *d,
+                    struct v4v_ring_info *ring_info,
+                    struct v4v_ring_id *src_id, uint32_t proto,
+                    XEN_GUEST_HANDLE (void) buf_hnd_void, uint32_t len)
+{
+    XEN_GUEST_HANDLE (uint8_t) buf_hnd =
+        guest_handle_cast (buf_hnd_void, uint8_t);
+    v4v_ring_t ring;
+    struct v4v_ring_message_header mh = { 0 };
+    int32_t sp;
+    int32_t happy_ret = len;
+    int32_t ret = 0;
+
+    if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header)) >=
+            ring_info->len )
+    {
+        v4v_dprintk("EMSGSIZE\n");
+        return -EMSGSIZE;
+    }
+
+    do
+    {
+        if ( (ret = v4v_memcpy_from_guest_ring (&ring, ring_info,
+                                                0, sizeof (ring))) )
+            break;
+
+        ring.tx_ptr = ring_info->tx_ptr;
+        ring.len = ring_info->len;
+
+        v4v_dprintk("ring.tx_ptr=%d ring.rx_ptr=%d ring.len=%d ring_info->tx_ptr=%d\n",
+                    ring.tx_ptr, ring.rx_ptr, ring.len, ring_info->tx_ptr);
+
+        if ( ring.rx_ptr == ring.tx_ptr )
+            sp = ring_info->len;
+        else
+        {
+            sp = ring.rx_ptr - ring.tx_ptr;
+            if (sp < 0)
+                sp += ring.len;
+        }
+
+        if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header)) >= sp )
+        {
+            v4v_dprintk("EAGAIN\n");
+            ret = -EAGAIN;
+            break;
+        }
+
+        mh.len = len + sizeof (struct v4v_ring_message_header);
+        mh.source = src_id->addr;
+        mh.pad = 0;
+        mh.protocol = proto;
+
+        if ( (ret = v4v_memcpy_to_guest_ring (ring_info,
+                                              ring.tx_ptr + sizeof (v4v_ring_t),
+                                              &mh, sizeof (mh))) )
+            break;
+
+        ring.tx_ptr += sizeof (mh);
+        if ( ring.tx_ptr == ring_info->len )
+            ring.tx_ptr = 0;
+
+        sp = ring.len - ring.tx_ptr;
+
+        if ( len > sp )
+        {
+            if ((ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                            ring.tx_ptr + sizeof (v4v_ring_t),
+                            buf_hnd, sp)))
+                break;
+
+            ring.tx_ptr = 0;
+            len -= sp;
+            guest_handle_add_offset (buf_hnd, sp);
+        }
+
+        if ( (ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                        ring.tx_ptr + sizeof (v4v_ring_t),
+                        buf_hnd, len)) )
+            break;
+
+        ring.tx_ptr += V4V_ROUNDUP (len);
+
+        if ( ring.tx_ptr == ring_info->len )
+            ring.tx_ptr = 0;
+
+        mb ();
+        ring_info->tx_ptr = ring.tx_ptr;
+
+        if ( (ret = v4v_update_tx_ptr(ring_info, ring.tx_ptr)) )
+            break;
+
+    }
+    while ( 0 );
+
+    v4v_ring_unmap (ring_info);
+
+    return ret ? ret : happy_ret;
+
+}
+
+static ssize_t
+v4v_iov_count (XEN_GUEST_HANDLE (v4v_iov_t) iovs, int niov)
+{
+    v4v_iov_t iov;
+    size_t ret = 0;
+
+    while ( niov-- )
+    {
+        if ( copy_from_guest (&iov, iovs, 1) )
+            return -EFAULT;
+
+        ret += iov.iov_len;
+        guest_handle_add_offset (iovs, 1);
+    }
+
+    return ret;
+}
+
+/*caller must have L3*/
+static ssize_t
+v4v_ringbuf_insertv (struct domain *d,
+                     struct v4v_ring_info *ring_info,
+                     struct v4v_ring_id *src_id, uint32_t proto,
+                     XEN_GUEST_HANDLE (v4v_iov_t) iovs, uint32_t niov,
+                     uint32_t len)
+{
+    v4v_ring_t ring;
+    struct v4v_ring_message_header mh = { 0 };
+    int32_t sp;
+    int32_t happy_ret;
+    int32_t ret = 0;
+
+    happy_ret = len;
+
+    if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header) ) >=
+            ring_info->len)
+        return -EMSGSIZE;
+
+    do
+    {
+        if ( (ret = v4v_memcpy_from_guest_ring (&ring, ring_info, 0,
+                                               sizeof (ring))) )
+            break;
+
+        ring.tx_ptr = ring_info->tx_ptr;
+        ring.len = ring_info->len;
+
+        v4v_dprintk("ring.tx_ptr=%d ring.rx_ptr=%d ring.len=%d ring_info->tx_ptr=%d\n",
+                    ring.tx_ptr, ring.rx_ptr, ring.len, ring_info->tx_ptr);
+
+        if ( ring.rx_ptr == ring.tx_ptr )
+            sp = ring_info->len;
+        else
+        {
+            sp = ring.rx_ptr - ring.tx_ptr;
+            if (sp < 0)
+                sp += ring.len;
+        }
+
+        if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header) ) >= sp)
+        {
+            v4v_dprintk("EAGAIN\n");
+            ret = -EAGAIN;
+            break;
+        }
+
+        mh.len = len + sizeof (struct v4v_ring_message_header);
+        mh.source = src_id->addr;
+        mh.pad = 0;
+        mh.protocol = proto;
+
+        if ( (ret = v4v_memcpy_to_guest_ring (ring_info,
+                                              ring.tx_ptr + sizeof (v4v_ring_t),
+                                              &mh, sizeof (mh))) )
+            break;
+
+        ring.tx_ptr += sizeof (mh);
+        if ( ring.tx_ptr == ring_info->len )
+            ring.tx_ptr = 0;
+
+        while ( niov-- )
+        {
+            XEN_GUEST_HANDLE (uint8_t) buf_hnd;
+            v4v_iov_t iov;
+
+            if ( copy_from_guest (&iov, iovs, 1) )
+            {
+                ret = -EFAULT;
+                break;
+            }
+
+            buf_hnd.p = (uint8_t *) iov.iov_base; //FIXME
+            len = iov.iov_len;
+
+            if ( unlikely (!guest_handle_okay (buf_hnd, len)) )
+            {
+                ret = -EFAULT;
+                break;
+            }
+
+            sp = ring.len - ring.tx_ptr;
+
+            if ( len > sp )
+            {
+                if ( (ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                                ring.tx_ptr +
+                                sizeof (v4v_ring_t),
+                                buf_hnd, sp)) )
+                    break;
+
+                ring.tx_ptr = 0;
+                len -= sp;
+                guest_handle_add_offset (buf_hnd, sp);
+            }
+
+            if ( (ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                            ring.tx_ptr +
+                            sizeof (v4v_ring_t),
+                            buf_hnd, len)) )
+                break;
+
+            ring.tx_ptr += len;
+
+            if (ring.tx_ptr == ring_info->len)
+                ring.tx_ptr = 0;
+
+            guest_handle_add_offset (iovs, 1);
+        }
+        if ( ret )
+            break;
+
+        ring.tx_ptr = V4V_ROUNDUP (ring.tx_ptr);
+
+        if ( ring.tx_ptr >= ring_info->len )
+            ring.tx_ptr -= ring_info->len;
+
+        mb ();
+        ring_info->tx_ptr = ring.tx_ptr;
+        if ( (ret = v4v_update_tx_ptr(ring_info, ring.tx_ptr)) )
+            break;
+    }
+    while ( 0 );
+
+    v4v_ring_unmap (ring_info);
+
+    return ret ? ret : happy_ret;
+}
+
+
+
+/* pending */
+static void
+v4v_pending_remove_ent (struct v4v_pending_ent *ent)
+{
+    hlist_del (&ent->node);
+    xfree (ent);
+}
+
+/*caller must have L3 */
+static void
+v4v_pending_remove_all (struct v4v_ring_info *info)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    hlist_for_each_entry_safe (pending_ent, node, next, &info->pending,
+            node) v4v_pending_remove_ent (pending_ent);
+}
+
+/*Caller must hold L1 */
+static void
+v4v_pending_notify (struct domain *caller_d, struct hlist_head *to_notify)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    hlist_for_each_entry_safe (pending_ent, node, next, to_notify, node)
+    {
+        hlist_del (&pending_ent->node);
+        v4v_signal_domid (pending_ent->id);
+        xfree (pending_ent);
+    }
+
+}
+
+/*caller must have R(L2) */
+static void
+v4v_pending_find (struct v4v_ring_info *ring_info, uint32_t payload_space,
+        struct hlist_head *to_notify)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    spin_lock (&ring_info->lock);
+    hlist_for_each_entry_safe (ent, node, next, &ring_info->pending, node)
+    {
+        if (payload_space >= ent->len)
+        {
+            hlist_del (&ent->node);
+            hlist_add_head (&ent->node, to_notify);
+        }
+    }
+    spin_unlock (&ring_info->lock);
+}
+
+/*caller must have L3 */
+static int
+v4v_pending_queue (struct v4v_ring_info *ring_info, domid_t src_id, int len)
+{
+    struct v4v_pending_ent *ent = xmalloc (struct v4v_pending_ent);
+
+    if ( !ent )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    ent->len = len;
+    ent->id = src_id;
+
+    hlist_add_head (&ent->node, &ring_info->pending);
+
+    return 0;
+}
+
+/* L3 */
+static int
+v4v_pending_requeue (struct v4v_ring_info *ring_info, domid_t src_id, int len)
+{
+    struct hlist_node *node;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry (ent, node, &ring_info->pending, node)
+    {
+        if ( ent->id == src_id )
+        {
+            if ( ent->len < len )
+                ent->len = len;
+            return 0;
+        }
+    }
+
+    return v4v_pending_queue (ring_info, src_id, len);
+}
+
+
+/* L3 */
+static void
+v4v_pending_cancel (struct v4v_ring_info *ring_info, domid_t src_id)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry_safe (ent, node, next, &ring_info->pending, node)
+    {
+        if ( ent->id == src_id)
+        {
+            hlist_del (&ent->node);
+            xfree (ent);
+        }
+    }
+}
+
+/*
+ * ring data
+ */
+
+/*Caller should hold R(L1)*/
+static int
+v4v_fill_ring_data (struct domain *src_d,
+                    XEN_GUEST_HANDLE (v4v_ring_data_ent_t) data_ent_hnd)
+{
+    v4v_ring_data_ent_t ent;
+    struct domain *dst_d;
+    struct v4v_ring_info *ring_info;
+
+    if ( copy_from_guest (&ent, data_ent_hnd, 1) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+
+    v4v_dprintk("v4v_fill_ring_data: ent.ring.domain=%d,ent.ring.port=%u\n",
+                (int) ent.ring.domain, (int) ent.ring.port);
+
+    ent.flags = 0;
+
+    dst_d = get_domain_by_id (ent.ring.domain);
+
+    if ( dst_d && dst_d->v4v )
+    {
+        read_lock (&dst_d->v4v->lock);
+        ring_info = v4v_ring_find_info_by_addr (dst_d, &ent.ring,
+                                                src_d->domain_id);
+
+        if ( ring_info )
+        {
+            uint32_t space_avail;
+
+            ent.flags |= V4V_RING_DATA_F_EXISTS;
+            ent.max_message_size =
+                ring_info->len - sizeof (struct v4v_ring_message_header) -
+                V4V_ROUNDUP (1);
+            spin_lock (&ring_info->lock);
+
+            space_avail = v4v_ringbuf_payload_space (dst_d, ring_info);
+
+            if ( space_avail >= ent.space_required )
+            {
+                v4v_pending_cancel (ring_info, src_d->domain_id);
+                ent.flags |= V4V_RING_DATA_F_SUFFICIENT;
+            }
+            else
+            {
+                v4v_pending_requeue (ring_info, src_d->domain_id,
+                        ent.space_required);
+                ent.flags |= V4V_RING_DATA_F_PENDING;
+            }
+
+            spin_unlock (&ring_info->lock);
+
+            if ( space_avail == ent.max_message_size )
+                ent.flags |= V4V_RING_DATA_F_EMPTY;
+
+        }
+        read_unlock (&dst_d->v4v->lock);
+    }
+
+    if ( dst_d )
+        put_domain (dst_d);
+
+    if ( copy_field_to_guest (data_ent_hnd, &ent, flags) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+    return 0;
+}
+
+/*Called should hold no more than R(L1) */
+static int
+v4v_fill_ring_datas (struct domain *d, int nent,
+                     XEN_GUEST_HANDLE (v4v_ring_data_ent_t) data_ent_hnd)
+{
+    int ret = 0;
+
+    read_lock (&v4v_lock);
+    while ( !ret && nent-- )
+    {
+        ret = v4v_fill_ring_data (d, data_ent_hnd);
+        guest_handle_add_offset (data_ent_hnd, 1);
+    }
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/*
+ * ring
+ */
+static int
+v4v_find_ring_mfns (struct domain *d, struct v4v_ring_info *ring_info,
+                    XEN_GUEST_HANDLE (v4v_pfn_list_t) pfn_list_hnd)
+{
+    XEN_GUEST_HANDLE (v4v_pfn_t) pfn_hnd;
+    v4v_pfn_list_t pfn_list;
+    int i,j;
+    mfn_t *mfns;
+    uint8_t **mfn_mapping;
+    unsigned long mfn;
+    struct page_info *page;
+    int ret = 0;
+
+    if ( copy_from_guest (&pfn_list, pfn_list_hnd, 1) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+
+    if (pfn_list.magic != V4V_PFN_LIST_MAGIC)
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    if ((pfn_list.npage << PAGE_SHIFT) < ring_info->len)
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    {
+        XEN_GUEST_HANDLE (uint8_t) slop_hnd =
+            guest_handle_cast (pfn_list_hnd, uint8_t);
+        guest_handle_add_offset (slop_hnd, sizeof (v4v_pfn_list_t));
+        pfn_hnd = guest_handle_cast (slop_hnd, v4v_pfn_t);
+    }
+
+    mfns = xmalloc_array (mfn_t, pfn_list.npage);
+    if ( !mfns )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    mfn_mapping = xmalloc_array (uint8_t *, pfn_list.npage);
+    if ( !mfn_mapping )
+    {
+        xfree (mfns);
+        return -ENOMEM;
+    }
+
+    for (i = 0; i < pfn_list.npage; ++i)
+    {
+        unsigned long pfn;
+        p2m_type_t p2mt;
+
+        if ( copy_from_guest_offset (&pfn, pfn_hnd, i, 1) )
+        {
+            ret = -EFAULT;
+            v4v_dprintk("EFAULT\n");
+            break;
+        }
+
+        mfn = mfn_x(get_gfn(d, pfn, &p2mt));
+        if ( !mfn_valid(mfn) )
+        {
+            printk(KERN_ERR "v4v domain %d passed invalid mfn %"PRI_mfn" ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret = -EINVAL;
+            break;
+        }
+        page = mfn_to_page(mfn);
+        if ( !get_page_and_type(page, d, PGT_writable_page) )
+        {
+            printk(KERN_ERR "v4v domain %d passed wrong type mfn %"PRI_mfn" ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret = -EINVAL;
+            break;
+        }
+        mfns[i] = _mfn(mfn);
+        v4v_dprintk("v4v_find_ring_mfns: %d: %lx -> %lx\n",
+                    i, (unsigned long) pfn, (unsigned long) mfn_x (mfns[i]));
+        mfn_mapping[i] = NULL;
+        put_gfn(d, pfn);
+    }
+
+    if ( !ret )
+    {
+        ring_info->npage = pfn_list.npage;
+        ring_info->mfns = mfns;
+        ring_info->mfn_mapping = mfn_mapping;
+    }
+    else
+    {
+        j = i;
+        for ( i = 0; i < j; ++i )
+            if ( mfn_x(mfns[i]) != 0 )
+                put_page_and_type(mfn_to_page(mfn_x(mfns[i])));
+        xfree (mfn_mapping);
+        xfree (mfns);
+        v4v_dprintk("");
+    }
+    return ret;
+}
+
+
+/* caller must hold R(L2) */
+static struct v4v_ring_info *
+v4v_ring_find_info (struct domain *d, struct v4v_ring_id *id)
+{
+    uint16_t hash;
+    struct hlist_node *node;
+    struct v4v_ring_info *ring_info;
+
+    hash = v4v_hash_fn (id);
+
+    v4v_dprintk("ring_find_info: d->v4v=%p, d->v4v->ring_hash[%d]=%p id=%p\n",
+                d->v4v, (int) hash, d->v4v->ring_hash[hash].first, id);
+    v4v_dprintk("ring_find_info: id.addr.port=%d id.addr.domain=%d id.addr.partner=%d\n",
+                id->addr.port, id->addr.domain, id->partner);
+
+    hlist_for_each_entry (ring_info, node, &d->v4v->ring_hash[hash], node)
+    {
+        if ( !memcmp (id, &ring_info->id, sizeof (*id)) )
+        {
+            v4v_dprintk("ring_find_info: ring_info=%p\n", ring_info);
+            return ring_info;
+        }
+    }
+    v4v_dprintk("ring_find_info: no ring_info found\n");
+    return NULL;
+}
+
+/* caller must hold R(L2) */
+static struct v4v_ring_info *
+v4v_ring_find_info_by_addr (struct domain *d, struct v4v_addr *a, domid_t p)
+{
+    struct v4v_ring_id id;
+    struct v4v_ring_info *ret;
+
+    if ( !a )
+        return NULL;
+
+    id.addr.port = a->port;
+    id.addr.domain = d->domain_id;
+    id.partner = p;
+
+    ret = v4v_ring_find_info (d, &id);
+    if ( ret )
+        return ret;
+
+    id.partner = V4V_DOMID_NONE;
+
+    return v4v_ring_find_info (d, &id);
+}
+
+/*caller must hold W(L2) */
+static void v4v_ring_remove_mfns (struct v4v_ring_info *ring_info)
+{
+    int i;
+
+    if ( ring_info->mfns )
+    {
+        for ( i=0; i < ring_info->npage; ++i )
+            if (mfn_x(ring_info->mfns[i]) != 0)
+                put_page_and_type(mfn_to_page(mfn_x(ring_info->mfns[i])));
+        xfree (ring_info->mfns);
+    }
+    ring_info->mfns = NULL;
+}
+
+/*caller must hold W(L2) */
+static void
+v4v_ring_remove_info (struct v4v_ring_info *ring_info)
+{
+    v4v_pending_remove_all (ring_info);
+
+    hlist_del (&ring_info->node);
+    v4v_ring_remove_mfns(ring_info);
+    xfree (ring_info);
+}
+
+/* Call from guest to unpublish a ring */
+static long
+v4v_ring_remove (struct domain *d, XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int ret = 0;
+
+    read_lock (&v4v_lock);
+
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret = -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest (&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret = -EFAULT;
+            break;
+        }
+
+        if ( ring.magic != V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%lx) != V4V_RING_MAGIC(%lx), EINVAL\n",
+                    ring.magic, V4V_RING_MAGIC);
+            ret = -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain = d->domain_id;
+
+        write_lock (&d->v4v->lock);
+        ring_info = v4v_ring_find_info (d, &ring.id);
+
+        if ( ring_info )
+            v4v_ring_remove_info (ring_info);
+
+        write_unlock (&d->v4v->lock);
+
+        if ( !ring_info )
+        {
+            v4v_dprintk( "ENOENT\n" );
+            ret = -ENOENT;
+            break;
+        }
+
+    }
+    while ( 0 );
+
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/* call from guest to publish a ring */
+static long
+v4v_ring_add (struct domain *d, XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd,
+              XEN_GUEST_HANDLE (v4v_pfn_list_t) pfn_list_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int need_to_insert = 0;
+    int ret = 0;
+
+    if ( (long) ring_hnd.p & (PAGE_SIZE - 1) )
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock (&v4v_lock);
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk(" !d->v4v, EINVAL\n");
+            ret = -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest (&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk(" copy_from_guest failed, EFAULT\n");
+            ret = -EFAULT;
+            break;
+        }
+
+        if ( ring.magic != V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%lx) != V4V_RING_MAGIC(%lx), EINVAL\n",
+                        ring.magic, V4V_RING_MAGIC);
+            ret = -EINVAL;
+            break;
+        }
+
+        if ( (ring.len <
+                    (sizeof (struct v4v_ring_message_header) + V4V_ROUNDUP (1) +
+                     V4V_ROUNDUP (1))) || (V4V_ROUNDUP (ring.len) != ring.len) )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret = -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain = d->domain_id;
+        if ( copy_field_to_guest (ring_hnd, &ring, id) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret = -EFAULT;
+            break;
+        }
+
+        /*
+         * no need for a lock yet, because only we know about this
+         * set the tx pointer if it looks bogus (we don't reset it
+         * because this might be a re-register after S4)
+         */
+        if ( (ring.tx_ptr >= ring.len)
+                || (V4V_ROUNDUP (ring.tx_ptr) != ring.tx_ptr) )
+        {
+            ring.tx_ptr = ring.rx_ptr;
+        }
+        copy_field_to_guest (ring_hnd, &ring, tx_ptr);
+
+        read_lock (&d->v4v->lock);
+        ring_info = v4v_ring_find_info (d, &ring.id);
+
+        if ( !ring_info )
+        {
+            read_unlock (&d->v4v->lock);
+            ring_info = xmalloc (struct v4v_ring_info);
+            if ( !ring_info )
+            {
+                v4v_dprintk("ENOMEM\n");
+                ret = -ENOMEM;
+                break;
+            }
+            need_to_insert++;
+            spin_lock_init (&ring_info->lock);
+            INIT_HLIST_HEAD (&ring_info->pending);
+            ring_info->mfns = NULL;
+
+        }
+        else
+        {
+            /*
+             * Ring info already existed. If mfn list was already
+             * populated remove the MFN's from list and then add
+             * the new list.
+             */
+            printk(KERN_INFO "v4v: dom%d re-registering existing ring, clearing MFN list\n",
+                    current->domain->domain_id);
+            v4v_ring_remove_mfns(ring_info);
+        }
+
+        spin_lock (&ring_info->lock);
+        ring_info->id = ring.id;
+        ring_info->len = ring.len;
+        ring_info->tx_ptr = ring.tx_ptr;
+        ring_info->ring = ring_hnd;
+        if ( ring_info->mfns )
+            xfree (ring_info->mfns);
+        ret = v4v_find_ring_mfns (d, ring_info, pfn_list_hnd);
+        spin_unlock (&ring_info->lock);
+        if ( ret )
+            break;
+
+        if ( !need_to_insert )
+        {
+            read_unlock (&d->v4v->lock);
+        }
+        else
+        {
+            uint16_t hash = v4v_hash_fn (&ring.id);
+            write_lock (&d->v4v->lock);
+            hlist_add_head (&ring_info->node, &d->v4v->ring_hash[hash]);
+            write_unlock (&d->v4v->lock);
+        }
+    }
+    while ( 0 );
+
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+
+/*
+ * io
+ */
+
+/*Caller must hold v4v_lock and hash_lock*/
+static void
+v4v_notify_ring (struct domain *d, struct v4v_ring_info *ring_info,
+        struct hlist_head *to_notify)
+{
+    uint32_t space;
+
+    spin_lock (&ring_info->lock);
+    space = v4v_ringbuf_payload_space (d, ring_info);
+    spin_unlock (&ring_info->lock);
+
+    v4v_pending_find (ring_info, space, to_notify);
+}
+
+/*notify hypercall*/
+static long
+v4v_notify (struct domain *d,
+            XEN_GUEST_HANDLE (v4v_ring_data_t) ring_data_hnd)
+{
+    v4v_ring_data_t ring_data;
+    HLIST_HEAD (to_notify);
+    int i;
+    int ret = 0;
+
+    read_lock (&v4v_lock);
+
+    if ( !d->v4v )
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!d->v4v, ENODEV\n");
+        return -ENODEV;
+    }
+
+    read_lock (&d->v4v->lock);
+    for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node, *next;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry_safe (ring_info, node,
+                next, &d->v4v->ring_hash[i],
+                node)
+        {
+            v4v_notify_ring (d, ring_info, &to_notify);
+        }
+    }
+    read_unlock (&d->v4v->lock);
+
+    if ( !hlist_empty (&to_notify) )
+    {
+        v4v_pending_notify (d, &to_notify);
+    }
+
+    do
+    {
+        if ( !guest_handle_is_null (ring_data_hnd) )
+        {
+            /* Quick sanity check on ring_data_hnd */
+            if ( copy_field_from_guest (&ring_data, ring_data_hnd, magic) )
+            {
+                v4v_dprintk("copy_field_from_guest failed\n");
+                ret = -EFAULT;
+                break;
+            }
+
+            if ( ring_data.magic != V4V_RING_DATA_MAGIC )
+            {
+                v4v_dprintk("ring.magic(%lx) != V4V_RING_MAGIC(%lx), EINVAL\n",
+                            ring_data.magic, V4V_RING_MAGIC);
+                ret = -EINVAL;
+                break;
+            }
+
+            if (copy_from_guest (&ring_data, ring_data_hnd, 1))
+            {
+                v4v_dprintk("copy_from_guest failed\n");
+                ret = -EFAULT;
+                break;
+            }
+
+            {
+                XEN_GUEST_HANDLE (v4v_ring_data_ent_t) ring_data_ent_hnd;
+                XEN_GUEST_HANDLE (uint8_t) slop_hnd =
+                    guest_handle_cast (ring_data_hnd, uint8_t);
+                guest_handle_add_offset (slop_hnd, sizeof (v4v_ring_data_t));
+                ring_data_ent_hnd =
+                    guest_handle_cast (slop_hnd, v4v_ring_data_ent_t);
+                ret = v4v_fill_ring_datas (d, ring_data.nent, ring_data_ent_hnd);
+            }
+        }
+    }
+    while ( 0 );
+
+    read_unlock (&v4v_lock);
+
+    return ret;
+}
+
+
+
+/*Hypercall to do the send*/
+static size_t
+v4v_send (struct domain *src_d, v4v_addr_t * src_addr,
+          v4v_addr_t * dst_addr, uint32_t proto,
+          XEN_GUEST_HANDLE (void) buf, size_t len)
+{
+    struct domain *dst_d;
+    struct v4v_ring_id src_id;
+    struct v4v_ring_info *ring_info;
+    int ret = 0;
+
+    if ( !dst_addr )
+    {
+        v4v_dprintk("!dst_addr\n");
+        return -EINVAL;
+    }
+
+    read_lock (&v4v_lock);
+    if ( !src_d->v4v )
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!src_d->v4v\n");
+        return -EINVAL;
+    }
+
+    src_id.addr.port = src_addr->port;
+    src_id.addr.domain = src_d->domain_id;
+    src_id.partner = dst_addr->domain;
+
+    dst_d = get_domain_by_id (dst_addr->domain);
+    if ( !dst_d )
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!dst_d, ECONNREFUSED\n");
+        return -ECONNREFUSED;
+    }
+
+    do
+    {
+        if ( !dst_d->v4v )
+        {
+            ret = -ECONNREFUSED;
+            v4v_dprintk("!dst_d->v4v, ECONNREFUSED\n");
+            break;
+        }
+
+        read_lock (&dst_d->v4v->lock);
+        ring_info =
+            v4v_ring_find_info_by_addr (dst_d, dst_addr, src_addr->domain);
+
+        if ( !ring_info )
+        {
+            ret = -ECONNREFUSED;
+            v4v_dprintk("!ring_info\n");
+        }
+        else
+        {
+            spin_lock (&ring_info->lock);
+            ret =
+                v4v_ringbuf_insert (dst_d, ring_info, &src_id, proto, buf, len);
+            if ( ret == -EAGAIN )
+            {
+                v4v_dprintk("ret == EAGAIN\n");
+                /* Schedule a wake up on the event channel when space is there */
+                if (v4v_pending_requeue (ring_info, src_d->domain_id, len))
+                {
+                    v4v_dprintk("v4v_pending_requeue failed, ENOMEM\n");
+                    ret = -ENOMEM;
+                }
+            }
+            spin_unlock (&ring_info->lock);
+
+            if (ret >= 0)
+            {
+                v4v_signal_domain (dst_d);
+            }
+        }
+        read_unlock (&dst_d->v4v->lock);
+    }
+    while ( 0 );
+
+    put_domain (dst_d);
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/*Hypercall to do the send*/
+static size_t
+v4v_sendv (struct domain *src_d, v4v_addr_t * src_addr,
+           v4v_addr_t * dst_addr, uint32_t proto,
+           XEN_GUEST_HANDLE (v4v_iov_t) iovs, size_t niov)
+{
+    struct domain *dst_d;
+    struct v4v_ring_id src_id;
+    struct v4v_ring_info *ring_info;
+    int ret = 0;
+
+    if ( !dst_addr )
+    {
+        v4v_dprintk("!dst_addr, EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock (&v4v_lock);
+    if (!src_d->v4v)
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!src_d->v4v, EINVAL\n");
+        return -EINVAL;
+    }
+
+    src_id.addr.port = src_addr->port;
+    src_id.addr.domain = src_d->domain_id;
+    src_id.partner = dst_addr->domain;
+
+    dst_d = get_domain_by_id (dst_addr->domain);
+    if (!dst_d)
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!dst_d, ECONNREFUSED\n");
+        return -ECONNREFUSED;
+    }
+
+    do
+    {
+        if ( !dst_d->v4v )
+        {
+            v4v_dprintk("dst_d->v4v, ECONNREFUSED\n");
+            ret = -ECONNREFUSED;
+            break;
+        }
+
+        read_lock (&dst_d->v4v->lock);
+        ring_info =
+            v4v_ring_find_info_by_addr (dst_d, dst_addr, src_addr->domain);
+
+        if ( !ring_info )
+        {
+            ret = -ECONNREFUSED;
+            v4v_dprintk(" !ring_info, ECONNREFUSED\n");
+        }
+        else
+        {
+            uint32_t len = v4v_iov_count (iovs, niov);
+
+            if ( len < 0 )
+            {
+                ret = len;
+                break;
+            }
+
+            spin_lock (&ring_info->lock);
+            ret =
+                v4v_ringbuf_insertv (dst_d, ring_info, &src_id, proto, iovs,
+                        niov, len);
+            if ( ret == -EAGAIN )
+            {
+                v4v_dprintk("v4v_ringbuf_insertv failed, EAGAIN\n");
+                /* Schedule a wake up on the event channel when space is there */
+                if (v4v_pending_requeue (ring_info, src_d->domain_id, len))
+                {
+                    v4v_dprintk("v4v_pending_requeue failed, ENOMEM\n");
+                    ret = -ENOMEM;
+                }
+            }
+            spin_unlock (&ring_info->lock);
+
+            if ( ret >= 0 )
+            {
+                v4v_signal_domain (dst_d);
+            }
+
+        }
+        read_unlock (&dst_d->v4v->lock);
+
+    }
+    while ( 0 );
+
+    put_domain (dst_d);
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/*
+ * hypercall glue
+ */
+long
+do_v4v_op (int cmd, XEN_GUEST_HANDLE (void) arg1,
+           XEN_GUEST_HANDLE (void) arg2,
+           XEN_GUEST_HANDLE (void) arg3, uint32_t arg4, uint32_t arg5)
+{
+    struct domain *d = current->domain;
+    long rc = -EFAULT;
+
+    v4v_dprintk("->do_v4v_op(%d,%p,%p,%p,%d,%d)\n", cmd,
+                (void *) arg1.p, (void *) arg2.p, (void *) arg3.p,
+                (int) arg4, (int) arg5);
+
+    domain_lock (d);
+    switch (cmd)
+    {
+        case V4VOP_register_ring:
+            {
+                XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd =
+                    guest_handle_cast (arg1, v4v_ring_t);
+                XEN_GUEST_HANDLE (v4v_pfn_list_t) pfn_list_hnd =
+                    guest_handle_cast (arg2, v4v_pfn_list_t);
+                if ( unlikely (!guest_handle_okay (ring_hnd, 1)) )
+                    goto out;
+                if ( unlikely (!guest_handle_okay (pfn_list_hnd, 1)) ) //FIXME
+                    goto out;
+                rc = v4v_ring_add (d, ring_hnd, pfn_list_hnd);
+                break;
+            }
+        case V4VOP_unregister_ring:
+            {
+                XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd =
+                    guest_handle_cast (arg1, v4v_ring_t);
+                if ( unlikely (!guest_handle_okay (ring_hnd, 1)) )
+                    goto out;
+                rc = v4v_ring_remove (d, ring_hnd);
+                break;
+            }
+        case V4VOP_send:
+            {
+                v4v_addr_t src, dst;
+                uint32_t len = arg4;
+                uint32_t protocol = arg5;
+                XEN_GUEST_HANDLE (v4v_addr_t) src_hnd =
+                    guest_handle_cast (arg1, v4v_addr_t);
+                XEN_GUEST_HANDLE (v4v_addr_t) dst_hnd =
+                    guest_handle_cast (arg2, v4v_addr_t);
+
+                if ( unlikely (!guest_handle_okay (src_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&src, src_hnd, 1) )
+                    goto out;
+
+                if ( unlikely (!guest_handle_okay (dst_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&dst, dst_hnd, 1) )
+                    goto out;
+
+                rc = v4v_send (d, &src, &dst, protocol, arg3, len);
+                break;
+            }
+        case V4VOP_sendv:
+            {
+                v4v_addr_t src, dst;
+                uint32_t niov = arg4;
+                uint32_t protocol = arg5;
+                XEN_GUEST_HANDLE (v4v_addr_t) src_hnd =
+                    guest_handle_cast (arg1, v4v_addr_t);
+                XEN_GUEST_HANDLE (v4v_addr_t) dst_hnd =
+                    guest_handle_cast (arg2, v4v_addr_t);
+                XEN_GUEST_HANDLE (v4v_iov_t) iovs =
+                    guest_handle_cast (arg3, v4v_iov_t);
+
+                if ( unlikely (!guest_handle_okay (src_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&src, src_hnd, 1) )
+                    goto out;
+
+                if ( unlikely (!guest_handle_okay (dst_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&dst, dst_hnd, 1) )
+                    goto out;
+
+                if ( unlikely (!guest_handle_okay (iovs, niov)) )
+                    goto out;
+
+                rc = v4v_sendv (d, &src, &dst, protocol, iovs, niov);
+                break;
+            }
+        case V4VOP_notify:
+            {
+                XEN_GUEST_HANDLE (v4v_ring_data_t) ring_data_hnd =
+                    guest_handle_cast (arg1, v4v_ring_data_t);
+                rc = v4v_notify (d, ring_data_hnd);
+                break;
+            }
+        default:
+            rc = -ENOSYS;
+            break;
+    }
+out:
+    domain_unlock (d);
+    v4v_dprintk("<-do_v4v_op()=%d\n", (int) rc);
+    return rc;
+}
+
+/*
+ * init
+ */
+
+void
+v4v_destroy (struct domain *d)
+{
+    int i;
+
+    BUG_ON (!d->is_dying);
+    write_lock (&v4v_lock);
+
+    v4v_dprintk("d->v=%p\n", d->v4v);
+
+    if ( d->v4v )
+    {
+        for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+        {
+            struct hlist_node *node, *next;
+            struct v4v_ring_info *ring_info;
+
+            hlist_for_each_entry_safe (ring_info, node,
+                    next, &d->v4v->ring_hash[i],
+                    node)
+            {
+                v4v_ring_remove_info (ring_info);
+            }
+        }
+    }
+
+    d->v4v = NULL;
+    write_unlock (&v4v_lock);
+}
+
+int
+v4v_init (struct domain *d)
+{
+    struct v4v_domain *v4v;
+    int i;
+
+    v4v = xmalloc (struct v4v_domain);
+    if ( !v4v )
+        return -ENOMEM;
+
+    rwlock_init (&v4v->lock);
+
+    for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        INIT_HLIST_HEAD (&v4v->ring_hash[i]);
+    }
+
+    write_lock (&v4v_lock);
+    d->v4v = v4v;
+    write_unlock (&v4v_lock);
+
+    return 0;
+}
+
+
+/*
+ * debug
+ */
+
+static void
+dump_domain_ring (struct domain *d, struct v4v_ring_info *ring_info)
+{
+    uint32_t rx_ptr;
+
+    printk (KERN_ERR "  ring: domid=%d port=0x%08x partner=%d npage=%d\n",
+            (int) d->domain_id, (int) ring_info->id.addr.port,
+            (int) ring_info->id.partner, (int) ring_info->npage);
+
+    if ( v4v_ringbuf_get_rx_ptr (d, ring_info, &rx_ptr) )
+    {
+        printk (KERN_ERR "   Failed to read rx_ptr\n");
+        return;
+    }
+
+    printk (KERN_ERR "   tx_ptr=%d rx_ptr=%d len=%d\n",
+            (int) ring_info->tx_ptr, (int) rx_ptr, (int) ring_info->len);
+}
+
+static void
+dump_domain_rings (struct domain *d)
+{
+    int i;
+
+    printk (KERN_ERR " domain %d:\n", (int) d->domain_id);
+
+    read_lock (&d->v4v->lock);
+
+    for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry (ring_info, node, &d->v4v->ring_hash[i], node)
+            dump_domain_ring (d, ring_info);
+    }
+    read_unlock (&d->v4v->lock);
+
+    printk (KERN_ERR "\n");
+    v4v_signal_domain (d);
+}
+
+static void
+dump_rings (unsigned char key)
+{
+    struct domain *d;
+
+    printk (KERN_ERR "\n\nV4V ring dump:\n");
+    read_lock (&v4v_lock);
+
+    rcu_read_lock (&domlist_read_lock);
+
+    for_each_domain (d) dump_domain_rings (d);
+
+    rcu_read_unlock (&domlist_read_lock);
+
+    read_unlock (&v4v_lock);
+}
+
+struct keyhandler v4v_info_keyhandler = {
+    .diagnostic = 1,
+    .u.fn = dump_rings,
+    .desc = "dump v4v ring states and intterupt"
+};
+
+static int __init
+setup_dump_rings (void)
+{
+    register_keyhandler ('4', &v4v_info_keyhandler);
+    return 0;
+}
+
+__initcall (setup_dump_rings);
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/v4v.h b/xen/include/public/v4v.h
new file mode 100644
index 0000000..8cb02a8
--- /dev/null
+++ b/xen/include/public/v4v.h
@@ -0,0 +1,544 @@
+/******************************************************************************
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __XEN_PUBLIC_V4V_H__
+#define __XEN_PUBLIC_V4V_H__
+
+#include "xen.h"
+
+/*
+ * Compiler specific hacks
+ */
+#if !defined(__GNUC__)
+# define V4V_PACKED
+# define V4V_UNSUED
+# define V4V_INLINE __inline
+#else /* __GNUC__ */
+# define V4V_PACKED __attribute__ ((packed))
+# define V4V_UNUSED __attribute__ ((unused))
+# ifdef __XEN__
+#  define V4V_INLINE
+#  define V4V_VOLATILE
+# else
+#  define V4V_VOLATILE volatile
+#  ifndef __STRICT_ANSI__
+#   define V4V_INLINE inline
+#  else
+#   define V4V_INLINE
+#  endif
+# endif
+#endif /* __GNUC__ */
+
+#if !defined(__GNUC__)
+# pragma pack(push, 1)
+# pragma warning(push)
+# pragma warning(disable: 4200)
+#endif
+
+/*
+ * Structure definitions
+ */
+
+#define V4V_PROTO_DGRAM		0x3c2c1db8
+#define V4V_PROTO_STREAM 	0x70f6a8e5
+
+#ifdef __i386__
+# define V4V_RING_MAGIC         0xdf6977f231abd910ULL
+# define V4V_PFN_LIST_MAGIC     0x91dd6159045b302dULL
+#else
+# define V4V_RING_MAGIC         0xdf6977f231abd910
+# define V4V_PFN_LIST_MAGIC     0x91dd6159045b302d
+#endif
+#define V4V_DOMID_INVALID       (0x7FFFU)
+#define V4V_DOMID_NONE          V4V_DOMID_INVALID
+#define V4V_DOMID_ANY           V4V_DOMID_INVALID
+#define V4V_PORT_NONE           0
+
+typedef struct v4v_iov
+{
+    uint64_t iov_base;
+    uint64_t iov_len;
+} V4V_PACKED v4v_iov_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_iov_t);
+
+typedef struct v4v_addr
+{
+    uint32_t port;
+    domid_t domain;
+} V4V_PACKED v4v_addr_t;
+
+DEFINE_XEN_GUEST_HANDLE (v4v_addr_t);
+
+typedef struct v4v_ring_id
+{
+    struct v4v_addr addr;
+    domid_t partner;
+} V4V_PACKED v4v_ring_id_t;
+
+
+typedef uint64_t v4v_pfn_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_pfn_t);
+
+typedef struct v4v_pfn_list_t
+{
+    uint64_t magic;
+    uint32_t npage;
+    uint32_t pad;
+    uint64_t reserved[3];
+    v4v_pfn_t pages[0];
+} V4V_PACKED v4v_pfn_list_t;
+
+DEFINE_XEN_GUEST_HANDLE (v4v_pfn_list_t);
+
+
+typedef struct v4v_ring
+{
+    /* v4v magic number */
+    uint64_t magic;
+    /*
+     * id
+     *
+     * xen only looks at this during register/unregister
+     * and will fill in id.addr.domain
+     */
+    struct v4v_ring_id id;
+    /* length of ring[], must be a multiple of 8 */
+    uint32_t len;
+    /* rx pointer, modified by domain */
+    V4V_VOLATILE uint32_t rx_ptr;
+    /* tx pointer, modified by xen */
+    V4V_VOLATILE uint32_t tx_ptr;
+    /* padding */
+    uint64_t reserved[4];
+    /* ring */
+    V4V_VOLATILE uint8_t ring[0];
+} V4V_PACKED v4v_ring_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_t);
+
+#ifdef __i386__
+#define V4V_RING_DATA_MAGIC	0x4ce4d30fbc82e92aULL
+#else
+#define V4V_RING_DATA_MAGIC	0x4ce4d30fbc82e92a
+#endif
+
+#define V4V_RING_DATA_F_EMPTY       1U << 0 /* Ring is empty */
+#define V4V_RING_DATA_F_EXISTS      1U << 1 /* Ring exists */
+#define V4V_RING_DATA_F_PENDING     1U << 2 /* Pending interrupt exists - do not
+                                               rely on this field - for
+                                               profiling only */
+#define V4V_RING_DATA_F_SUFFICIENT  1U << 3 /* Sufficient space to queue
+                                               space_required bytes exists */
+
+typedef struct v4v_ring_data_ent
+{
+    struct v4v_addr ring;
+    uint16_t flags;
+    uint32_t space_required;
+    uint32_t max_message_size;
+} V4V_PACKED v4v_ring_data_ent_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_data_ent_t);
+
+typedef struct v4v_ring_data
+{
+    uint64_t magic;
+    uint32_t nent;
+    uint32_t pad;
+    uint64_t reserved[4];
+    struct v4v_ring_data_ent data[0];
+} V4V_PACKED v4v_ring_data_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_data_t);
+
+
+#define V4V_ROUNDUP(a) (((a) +0xf ) & ~0xf)
+/* Messages on the ring are padded to 128 bits
+ * Len here refers to the exact length of the data not including the
+ * 128 bit header. The message uses
+ * ((len +0xf) & ~0xf) + sizeof(v4v_ring_message_header) bytes
+ */
+
+struct v4v_stream_header
+{
+    uint32_t flags;
+    uint32_t conid;
+} V4V_PACKED;
+
+struct v4v_ring_message_header
+{
+    uint32_t len;
+    struct v4v_addr source;
+    uint16_t pad;
+    uint32_t protocol;
+    uint8_t data[0];
+} V4V_PACKED;
+
+
+/*
+ * HYPERCALLS
+ */
+
+#define V4VOP_register_ring 	1
+/*
+ * Registers a ring with Xen, if a ring with the same v4v_ring_id exists,
+ * this ring takes its place, registration will not change tx_ptr
+ * unless it is invalid
+ *
+ * do_v4v_op(V4VOP_unregister_ring,
+ *           XEN_GUEST_HANDLE(v4v_ring_t),
+ *           XEN_GUEST_HANDLE(v4v_pfn_list_t),
+ *           NULL, 0, 0)
+ */
+
+
+#define V4VOP_unregister_ring 	2
+/*
+ * Unregister a ring.
+ *
+ * v4v_hypercall(V4VOP_send, XEN_GUEST_HANDLE(v4v_ring_t), NULL, NULL, 0, 0)
+ */
+
+#define V4VOP_send 		3
+/*
+ * Sends len bytes of buf to dst, giving src as the source address (xen will
+ * ignore src->domain and put your domain in the actually message), xen
+ * first looks for a ring with id.addr==dst and id.partner==sending_domain
+ * if that fails it looks for id.addr==dst and id.partner==DOMID_ANY.
+ * protocol is the 32 bit protocol number used from the message
+ * most likely V4V_PROTO_DGRAM or STREAM. If insufficient space exists
+ * it will return -EAGAIN and xen will twing the V4V_INTERRUPT when
+ * sufficient space becomes available
+ *
+ * v4v_hypercall(V4VOP_send,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) src,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) dst,
+ *               XEN_GUEST_HANDLE(void) buf,
+ *               uint32_t len,
+ *               uint32_t protocol)
+ */
+
+
+#define V4VOP_notify 		4
+/* Asks xen for information about other rings in the system
+ *
+ * v4v_ring_data_t contains an array of v4v_ring_data_ent_t
+ *
+ * ent->ring is the v4v_addr_t of the ring you want information on
+ * the same matching rules are used as for V4VOP_send.
+ *
+ * ent->space_required  if this field is not null xen will check
+ * that there is space in the destination ring for this many bytes
+ * of payload. If there is it will set the V4V_RING_DATA_F_SUFFICIENT
+ * and CANCEL any pending interrupt for that ent->ring, if insufficient
+ * space is available it will schedule an interrupt and the flag will
+ * not be set.
+ *
+ * The flags are set by xen when notify replies
+ * V4V_RING_DATA_F_EMPTY	ring is empty
+ * V4V_RING_DATA_F_PENDING	interrupt is pending - don't rely on this
+ * V4V_RING_DATA_F_SUFFICIENT	sufficient space for space_required is there
+ * V4V_RING_DATA_F_EXISTS	ring exists
+ *
+ * v4v_hypercall(V4VOP_notify,
+ *               XEN_GUEST_HANDLE(v4v_ring_data_t) buf,
+ *               NULL, NULL, 0, 0)
+ */
+
+
+#define V4VOP_sendv		5
+/*
+ * Identical to V4VOP_send except rather than buf and len it takes
+ * an array of v4v_iov_t and a length of the array.
+ *
+ * v4v_hypercall(V4VOP_sendv,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) src,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) dst,
+ *               XEN_GUEST_HANDLE(v4v_iov_t),
+ *               UINT32_t niov,
+ *               uint32_t protocol)
+ */
+
+#if !defined(__GNUC__)
+# pragma warning(pop)
+# pragma pack(pop)
+#endif
+
+#if !defined(__GNUC__)
+static __inline void
+mb (void)
+{
+    _mm_mfence ();
+    _ReadWriteBarrier ();
+}
+#else
+#ifndef mb
+# define mb() __asm__ __volatile__ ("" ::: "memory");
+#endif
+#endif
+
+#if !defined(V4V_EXCLUDE_UTILS)
+
+/*************** Utility functions **************/
+
+static V4V_INLINE uint32_t
+v4v_ring_bytes_to_read (volatile struct v4v_ring *r)
+{
+    int32_t ret;
+    ret = r->tx_ptr - r->rx_ptr;
+    if (ret >= 0)
+        return ret;
+    return (uint32_t) (r->len + ret);
+}
+
+
+/*
+ * Copy at most t bytes of the next message in the ring, into the buffer
+ * at _buf, setting from and protocol if they are not NULL, returns
+ * the actual length of the message, or -1 if there is nothing to read
+ */
+V4V_UNUSED static V4V_INLINE ssize_t
+v4v_copy_out (struct v4v_ring *r, struct v4v_addr *from, uint32_t * protocol,
+              void *_buf, size_t t, int consume)
+{
+    volatile struct v4v_ring_message_header *mh;
+    /* unnecessary cast from void * required by MSVC compiler */
+    uint8_t *buf = (uint8_t *) _buf;
+    uint32_t btr = v4v_ring_bytes_to_read (r);
+    uint32_t rxp = r->rx_ptr;
+    uint32_t bte;
+    uint32_t len;
+    ssize_t ret;
+
+
+    if (btr < sizeof (*mh))
+        return -1;
+
+    /*
+     * Becuase the message_header is 128 bits long and the ring is 128 bit
+     * aligned, we're gaurunteed never to wrap
+     */
+    mh = (volatile struct v4v_ring_message_header *) &r->ring[r->rx_ptr];
+
+    len = mh->len;
+    if (btr < len)
+        return -1;
+
+#if defined(__GNUC__)
+    if (from)
+        *from = mh->source;
+#else
+    /* MSVC can't do the above */
+    if (from)
+	memcpy((void *) from, (void *) &(mh->source), sizeof(struct v4v_addr));
+#endif
+
+    if (protocol)
+        *protocol = mh->protocol;
+
+    rxp += sizeof (*mh);
+    if (rxp == r->len)
+        rxp = 0;
+    len -= sizeof (*mh);
+    ret = len;
+
+    bte = r->len - rxp;
+
+    if (bte < len)
+    {
+        if (t < bte)
+        {
+            if (buf)
+            {
+                memcpy (buf, (void *) &r->ring[rxp], t);
+                buf += t;
+            }
+
+            rxp = 0;
+            len -= bte;
+            t = 0;
+        }
+        else
+        {
+            if (buf)
+            {
+                memcpy (buf, (void *) &r->ring[rxp], bte);
+                buf += bte;
+            }
+            rxp = 0;
+            len -= bte;
+            t -= bte;
+        }
+    }
+
+    if (buf && t)
+        memcpy (buf, (void *) &r->ring[rxp], (t < len) ? t : len);
+
+
+    rxp += V4V_ROUNDUP (len);
+    if (rxp == r->len)
+        rxp = 0;
+
+    mb ();
+
+    if (consume)
+        r->rx_ptr = rxp;
+
+    return ret;
+}
+
+static V4V_INLINE void
+v4v_memcpy_skip (void *_dst, const void *_src, size_t len, size_t *skip)
+{
+    const uint8_t *src =  (const uint8_t *) _src;
+    uint8_t *dst = (uint8_t *) _dst;
+
+    if (!*skip)
+    {
+        memcpy (dst, src, len);
+        return;
+    }
+
+    if (*skip >= len)
+    {
+        *skip -= len;
+        return;
+    }
+
+    src += *skip;
+    dst += *skip;
+    len -= *skip;
+    *skip = 0;
+
+    memcpy (dst, src, len);
+}
+
+/*
+ * Copy at most t bytes of the next message in the ring, into the buffer
+ * at _buf, skipping skip bytes, setting from and protocol if they are not
+ * NULL, returns the actual length of the message, or -1 if there is
+ * nothing to read
+ */
+static ssize_t
+v4v_copy_out_offset (struct v4v_ring *r, struct v4v_addr *from,
+                     uint32_t * protocol, void *_buf, size_t t, int consume,
+                     size_t skip) V4V_UNUSED;
+
+V4V_INLINE static ssize_t
+v4v_copy_out_offset (struct v4v_ring *r, struct v4v_addr *from,
+                     uint32_t * protocol, void *_buf, size_t t, int consume,
+                     size_t skip)
+{
+    volatile struct v4v_ring_message_header *mh;
+    /* unnecessary cast from void * required by MSVC compiler */
+    uint8_t *buf = (uint8_t *) _buf;
+    uint32_t btr = v4v_ring_bytes_to_read (r);
+    uint32_t rxp = r->rx_ptr;
+    uint32_t bte;
+    uint32_t len;
+    ssize_t ret;
+
+    buf -= skip;
+
+    if (btr < sizeof (*mh))
+        return -1;
+
+    /*
+     * Becuase the message_header is 128 bits long and the ring is 128 bit
+     * aligned, we're gaurunteed never to wrap
+     */
+    mh = (volatile struct v4v_ring_message_header *) &r->ring[r->rx_ptr];
+
+    len = mh->len;
+    if (btr < len)
+        return -1;
+
+#if defined(__GNUC__)
+    if (from)
+        *from = mh->source;
+#else
+    /* MSVC can't do the above */
+    if (from)
+	memcpy((void *) from, (void *) &(mh->source), sizeof(struct v4v_addr));
+#endif
+
+    if (protocol)
+        *protocol = mh->protocol;
+
+    rxp += sizeof (*mh);
+    if (rxp == r->len)
+        rxp = 0;
+    len -= sizeof (*mh);
+    ret = len;
+
+    bte = r->len - rxp;
+
+    if (bte < len)
+    {
+        if (t < bte)
+        {
+            if (buf)
+            {
+                v4v_memcpy_skip (buf, (void *) &r->ring[rxp], t, &skip);
+                buf += t;
+            }
+
+            rxp = 0;
+            len -= bte;
+            t = 0;
+        }
+        else
+        {
+            if (buf)
+            {
+                v4v_memcpy_skip (buf, (void *) &r->ring[rxp], bte,
+                        &skip);
+                buf += bte;
+            }
+            rxp = 0;
+            len -= bte;
+            t -= bte;
+        }
+    }
+
+    if (buf && t)
+        v4v_memcpy_skip (buf, (void *) &r->ring[rxp], (t < len) ? t : len,
+                         &skip);
+
+
+    rxp += V4V_ROUNDUP (len);
+    if (rxp == r->len)
+        rxp = 0;
+
+    mb ();
+
+    if (consume)
+        r->rx_ptr = rxp;
+
+    return ret;
+}
+
+#endif /* V4V_EXCLUDE_UTILS */
+
+#endif /* __XEN_PUBLIC_V4V_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 033cbba..dce0338 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -99,7 +99,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 #define __HYPERVISOR_domctl               36
 #define __HYPERVISOR_kexec_op             37
 #define __HYPERVISOR_tmem_op              38
-#define __HYPERVISOR_xc_reserved_op       39 /* reserved for XenClient */
+#define __HYPERVISOR_v4v_op               39
 
 /* Architecture-specific hypercall definitions. */
 #define __HYPERVISOR_arch_0               48
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 53804c8..457e3f2 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -23,6 +23,7 @@
 #include <public/sysctl.h>
 #include <public/vcpu.h>
 #include <public/mem_event.h>
+#include <xen/v4v.h>
 
 #ifdef CONFIG_COMPAT
 #include <compat/vcpu.h>
@@ -350,6 +351,10 @@ struct domain
     nodemask_t node_affinity;
     unsigned int last_alloc_node;
     spinlock_t node_affinity_lock;
+
+    /* v4v */
+    rwlock_t v4v_lock;
+    struct v4v_domain *v4v;
 };
 
 struct domain_setup_info
diff --git a/xen/include/xen/v4v.h b/xen/include/xen/v4v.h
new file mode 100644
index 0000000..4325a03
--- /dev/null
+++ b/xen/include/xen/v4v.h
@@ -0,0 +1,109 @@
+/******************************************************************************
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __V4V_PRIVATE_H__
+#define __V4V_PRIVATE_H__
+
+#include <xen/config.h>
+#include <xen/types.h>
+#include <xen/spinlock.h>
+#include <xen/smp.h>
+#include <xen/shared.h>
+#include <xen/list.h>
+#include <public/v4v.h>
+
+
+#define V4V_HTABLE_SIZE 32
+
+
+static inline uint16_t
+v4v_hash_fn (struct v4v_ring_id *id)
+{
+  uint16_t ret;
+  ret = (uint16_t) (id->addr.port >> 16);
+  ret ^= (uint16_t) id->addr.port;
+  ret ^= id->addr.domain;
+  ret ^= id->partner;
+
+  ret &= (V4V_HTABLE_SIZE-1);
+
+  return ret;
+}
+
+struct v4v_pending_ent
+{
+  struct hlist_node node;
+  domid_t id;
+  uint32_t len;
+};
+
+
+struct v4v_ring_info
+{
+  /* next node in the hash, protected by L2  */
+  struct hlist_node node;
+  /* this ring's id, protected by L2 */
+  struct v4v_ring_id id;
+  /* L3 */
+  spinlock_t lock;
+  /* cached length of the ring (from ring->len), protected by L3 */
+  uint32_t len;
+  uint32_t npage;
+  /* cached tx pointer location, protected by L3 */
+  uint32_t tx_ptr;
+  /* guest ring, protected by L3 */
+  XEN_GUEST_HANDLE(v4v_ring_t) ring;
+  /* mapped ring pages protected by L3*/
+  uint8_t **mfn_mapping;
+  /* list of mfns of guest ring */
+  mfn_t *mfns;
+  /* list of struct v4v_pending_ent for this ring, L3 */
+  struct hlist_head pending;
+};
+
+/*
+ * The value of the v4v element in a struct domain is
+ * protected by the global lock L1
+ */
+struct v4v_domain
+{
+  /* L2 */
+  rwlock_t lock;
+  /* protected by L2 */
+  struct hlist_head ring_hash[V4V_HTABLE_SIZE];
+};
+
+void v4v_destroy(struct domain *d);
+int v4v_init(struct domain *d);
+long do_v4v_op (int cmd,
+                XEN_GUEST_HANDLE (void) arg1,
+                XEN_GUEST_HANDLE (void) arg2,
+                XEN_GUEST_HANDLE (void) arg3,
+                uint32_t arg4,
+                uint32_t arg5);
+
+#endif /* __V4V_PRIVATE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:03:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:03:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6un-00061D-F5; Thu, 31 May 2012 15:03:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1Sa6um-00060A-00
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:03:52 +0000
Received: from [85.158.143.35:19651] by server-2.bemta-4.messagelabs.com id
	DB/D3-11595-75887CF4; Thu, 31 May 2012 15:03:51 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338476629!13827061!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24561 invoked from network); 31 May 2012 15:03:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:03:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766421"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:02:50 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:02:51 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53])	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1Sa6tm-0003bR-KL;
	Thu, 31 May 2012 15:02:50 +0000
Received: from jeangu by spongy.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <jean.guyader@citrix.com>)	id 1Sa6y2-0006wj-Np;
	Thu, 31 May 2012 16:07:14 +0100
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 31 May 2012 16:07:12 +0100
Message-ID: <1338476832-26653-6-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.2.5
In-Reply-To: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: Jean Guyader <jean.guyader@citrix.com>
Subject: [Xen-devel] [PATCH 5/5] xen: Add V4V implementation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: 8bit


Setup of v4v domains a domain gets created and cleanup
when a domain die. Wire up the v4v hypercall.

Include v4v internal and public headers.

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/arch/x86/hvm/hvm.c             |    9 +-
 xen/arch/x86/x86_32/entry.S        |    2 +
 xen/arch/x86/x86_64/compat/entry.S |    2 +
 xen/arch/x86/x86_64/entry.S        |    2 +
 xen/common/Makefile                |    1 +
 xen/common/domain.c                |   11 +-
 xen/common/v4v.c                   | 1779 ++++++++++++++++++++++++++++++++++++
 xen/include/public/v4v.h           |  544 +++++++++++
 xen/include/public/xen.h           |    2 +-
 xen/include/xen/sched.h            |    5 +
 xen/include/xen/v4v.h              |  109 +++
 11 files changed, 2461 insertions(+), 5 deletions(-)
 create mode 100644 xen/common/v4v.c
 create mode 100644 xen/include/public/v4v.h
 create mode 100644 xen/include/xen/v4v.h


--------------true
Content-Type: text/x-patch; name="0005-xen-Add-V4V-implementation.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
	filename="0005-xen-Add-V4V-implementation.patch"

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index e0d495d..6f2d70e 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3124,7 +3124,8 @@ static hvm_hypercall_t *hvm_hypercall32_table[NR_hypercalls] = {
     HYPERCALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
 
 #else /* defined(__x86_64__) */
@@ -3209,7 +3210,8 @@ static hvm_hypercall_t *hvm_hypercall64_table[NR_hypercalls] = {
     HYPERCALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
 
 #define COMPAT_CALL(x)                                        \
@@ -3226,7 +3228,8 @@ static hvm_hypercall_t *hvm_hypercall32_table[NR_hypercalls] = {
     COMPAT_CALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
 
 #endif /* defined(__x86_64__) */
diff --git a/xen/arch/x86/x86_32/entry.S b/xen/arch/x86/x86_32/entry.S
index 2982679..b3e0da4 100644
--- a/xen/arch/x86/x86_32/entry.S
+++ b/xen/arch/x86/x86_32/entry.S
@@ -700,6 +700,7 @@ ENTRY(hypercall_table)
         .long do_domctl
         .long do_kexec_op
         .long do_tmem_op
+        .long do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-hypercall_table)/4)
         .long do_ni_hypercall
         .endr
@@ -748,6 +749,7 @@ ENTRY(hypercall_args_table)
         .byte 1 /* do_domctl            */
         .byte 2 /* do_kexec_op          */
         .byte 1 /* do_tmem_op           */
+        .byte 6 /* do_v4v_op		*/
         .rept __HYPERVISOR_arch_0-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index f49ff2d..28615f9 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -414,6 +414,7 @@ ENTRY(compat_hypercall_table)
         .quad do_domctl
         .quad compat_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-compat_hypercall_table)/8)
         .quad compat_ni_hypercall
         .endr
@@ -462,6 +463,7 @@ ENTRY(compat_hypercall_args_table)
         .byte 1 /* do_domctl                */
         .byte 2 /* compat_kexec_op          */
         .byte 1 /* do_tmem_op               */
+        .byte 6 /* do_v4v_op		    */
         .rept __HYPERVISOR_arch_0-(.-compat_hypercall_args_table)
         .byte 0 /* compat_ni_hypercall      */
         .endr
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 3836260..918fa59 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -699,6 +699,7 @@ ENTRY(hypercall_table)
         .quad do_domctl
         .quad do_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-hypercall_table)/8)
         .quad do_ni_hypercall
         .endr
@@ -747,6 +748,7 @@ ENTRY(hypercall_args_table)
         .byte 1 /* do_domctl            */
         .byte 2 /* do_kexec             */
         .byte 1 /* do_tmem_op           */
+        .byte 6 /* do_v4v_op		*/
         .rept __HYPERVISOR_arch_0-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 9eba8bc..fe3c72c 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -45,6 +45,7 @@ obj-y += tmem_xen.o
 obj-y += radix-tree.o
 obj-y += rbtree.o
 obj-y += lzo.o
+obj-y += v4v.o
 
 obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma unlzo,$(n).init.o)
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8840202..9539d88 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -195,7 +195,8 @@ struct domain *domain_create(
 {
     struct domain *d, **pd;
     enum { INIT_xsm = 1u<<0, INIT_watchdog = 1u<<1, INIT_rangeset = 1u<<2,
-           INIT_evtchn = 1u<<3, INIT_gnttab = 1u<<4, INIT_arch = 1u<<5 };
+           INIT_evtchn = 1u<<3, INIT_gnttab = 1u<<4, INIT_arch = 1u<<5,
+           INIT_v4v = 1u<<6 };
     int init_status = 0;
     int poolid = CPUPOOLID_NONE;
 
@@ -219,6 +220,7 @@ struct domain *domain_create(
     spin_lock_init(&d->hypercall_deadlock_mutex);
     INIT_PAGE_LIST_HEAD(&d->page_list);
     INIT_PAGE_LIST_HEAD(&d->xenpage_list);
+    rwlock_init(&d->v4v_lock);
 
     spin_lock_init(&d->node_affinity_lock);
     d->node_affinity = NODE_MASK_ALL;
@@ -274,6 +276,10 @@ struct domain *domain_create(
             goto fail;
         init_status |= INIT_gnttab;
 
+        if ( v4v_init(d) != 0 )
+            goto fail;
+        init_status |= INIT_v4v;
+
         poolid = 0;
 
         d->mem_event = xzalloc(struct mem_event_per_domain);
@@ -313,6 +319,8 @@ struct domain *domain_create(
     xfree(d->mem_event);
     if ( init_status & INIT_arch )
         arch_domain_destroy(d);
+    if ( init_status & INIT_v4v )
+	v4v_destroy(d);
     if ( init_status & INIT_gnttab )
         grant_table_destroy(d);
     if ( init_status & INIT_evtchn )
@@ -466,6 +474,7 @@ int domain_kill(struct domain *d)
         domain_pause(d);
         d->is_dying = DOMDYING_dying;
         spin_barrier(&d->domain_lock);
+        v4v_destroy(d);
         evtchn_destroy(d);
         gnttab_release_mappings(d);
         tmem_destroy(d->tmem);
diff --git a/xen/common/v4v.c b/xen/common/v4v.c
new file mode 100644
index 0000000..ed846ba
--- /dev/null
+++ b/xen/common/v4v.c
@@ -0,0 +1,1779 @@
+/******************************************************************************
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <xen/config.h>
+#include <xen/mm.h>
+#include <xen/compat.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/errno.h>
+#include <xen/sched.h>
+#include <xen/domain.h>
+#include <xen/v4v.h>
+#include <xen/event.h>
+#include <xen/guest_access.h>
+#include <asm/paging.h>
+#include <asm/p2m.h>
+#include <xen/keyhandler.h>
+
+#ifdef V4V_DEBUG
+#define MY_FILE "v4v.c"
+#define v4v_dprintk(format, args...)                    \
+    do {                                                \
+        printk("%s:%d " format,                         \
+               MY_FILE, __LINE__, ## args );            \
+    } while ( 1 == 0 )
+#else
+#define v4v_dprintk(format, ... ) (void)0
+#endif
+
+
+
+DEFINE_XEN_GUEST_HANDLE (uint8_t);
+static struct v4v_ring_info *v4v_ring_find_info (struct domain *d,
+                                                 struct v4v_ring_id *id);
+
+static struct v4v_ring_info *v4v_ring_find_info_by_addr (struct domain *d,
+                                                         struct v4v_addr *a,
+                                                         domid_t p);
+
+/*
+ * locks
+ */
+
+/*
+ * locking is organized as follows:
+ *
+ * the global lock v4v_lock: L1 protects the v4v elements
+ * of all struct domain *d in the system, it does not
+ * protect any of the elements of d->v4v, just their
+ * addresses. By extension since the destruction of
+ * a domain with a non-NULL d->v4v will need to free
+ * the d->v4v pointer, holding this lock gauruntees
+ * that no domains pointers in which v4v is interested
+ * become invalid whilst this lock is held.
+ */
+
+static DEFINE_RWLOCK (v4v_lock); /* L1 */
+
+/*
+ * the lock d->v4v->lock: L2:  Read on protects the hash table and
+ * the elements in the hash_table d->v4v->ring_hash, and
+ * the node and id fields in struct v4v_ring_info in the
+ * hash table. Write on L2 protects all of the elements of
+ * struct v4v_ring_info. To take L2 you must already have R(L1)
+ * W(L1) implies W(L2) and L3
+ *
+ * the lock v4v_ring_info *ringinfo; ringinfo->lock: L3:
+ * protects len,tx_ptr the guest ring, the
+ * guest ring_data and the pending list. To take L3 you must
+ * already have R(L2). W(L2) implies L3
+ */
+
+
+/*
+ * Debugs
+ */
+
+#ifdef V4V_DEBUG
+static void
+v4v_hexdump (void *_p, int len)
+{
+    uint8_t *buf = (uint8_t *) _p;
+    int i, j;
+
+    for (i = 0; i < len; i += 16)
+    {
+        printk (KERN_ERR "%p:", &buf[i]);
+        for (j = 0; j < 16; ++j)
+        {
+            int k = i + j;
+            if (k < len)
+                printk (" %02x", buf[k]);
+            else
+                printk ("   ");
+        }
+        printk (" ");
+
+        for (j = 0; j < 16; ++j)
+        {
+            int k = i + j;
+            if (k < len)
+                printk ("%c", ((buf[k] > 32) && (buf[k] < 127)) ? buf[k] : '.');
+            else
+                printk (" ");
+        }
+        printk ("\n");
+    }
+}
+#endif
+
+
+/*
+ * Event channel
+ */
+
+static void
+v4v_signal_domain (struct domain *d)
+{
+    v4v_dprintk("send guest VIRQ_V4V domid:%d\n", d->domain_id);
+    send_guest_vcpu_virq (d->vcpu[0], VIRQ_V4V);
+}
+
+static void
+v4v_signal_domid (domid_t id)
+{
+    struct domain *d = get_domain_by_id (id);
+    if (!d)
+        return;
+    v4v_signal_domain (d);
+    put_domain (d);
+}
+
+
+/*
+ * ring buffer
+ */
+
+/* called must have L3 */
+static void
+v4v_ring_unmap (struct v4v_ring_info *ring_info)
+{
+    int i;
+    for (i = 0; i < ring_info->npage; ++i)
+    {
+        if (!ring_info->mfn_mapping[i])
+            continue;
+        v4v_dprintk("");
+        v4v_dprintk("unmapping page %p from %p\n",
+                (void*) mfn_x (ring_info->mfns[i]),
+                ring_info->mfn_mapping[i]);
+
+        unmap_domain_page (ring_info->mfn_mapping[i]);
+        ring_info->mfn_mapping[i] = NULL;
+    }
+}
+
+/* called must have L3 */
+static uint8_t *
+v4v_ring_map_page (struct v4v_ring_info *ring_info, int i)
+{
+    if (i >= ring_info->npage)
+        return NULL;
+    if (ring_info->mfn_mapping[i])
+        return ring_info->mfn_mapping[i];
+    ring_info->mfn_mapping[i] = map_domain_page (mfn_x (ring_info->mfns[i]));
+
+    v4v_dprintk("mapping page %p to %p\n",
+            (void *) mfn_x (ring_info->mfns[i]),
+            ring_info->mfn_mapping[i]);
+    return ring_info->mfn_mapping[i];
+}
+
+/* called must have L3 */
+static int
+v4v_memcpy_from_guest_ring (void *_dst, struct v4v_ring_info *ring_info,
+                            uint32_t offset, uint32_t len)
+{
+    int page = offset >> PAGE_SHIFT;
+    uint8_t *src;
+    uint8_t *dst = _dst;
+
+    offset &= PAGE_SIZE - 1;
+
+    while ((offset + len) > PAGE_SIZE)
+    {
+        src = v4v_ring_map_page (ring_info, page);
+
+        if (!src)
+        {
+            return -EFAULT;
+        }
+
+        v4v_dprintk("memcpy(%p,%p+%d,%d)\n",
+                dst, src, offset,
+                (int) (PAGE_SIZE - offset));
+        memcpy (dst, src + offset, PAGE_SIZE - offset);
+
+        page++;
+        len -= PAGE_SIZE - offset;
+        dst += PAGE_SIZE - offset;
+        offset = 0;
+    }
+
+    src = v4v_ring_map_page (ring_info, page);
+    if (!src)
+    {
+        return -EFAULT;
+    }
+
+    v4v_dprintk("memcpy(%p,%p+%d,%d)\n", dst, src, offset, len);
+    memcpy (dst, src + offset, len);
+
+    return 0;
+}
+
+
+/* called must have L3 */
+static int
+v4v_update_tx_ptr (struct v4v_ring_info *ring_info, uint32_t tx_ptr)
+{
+    uint8_t *dst = v4v_ring_map_page (ring_info, 0);
+    volatile uint32_t *p = (uint32_t *)(dst + offsetof (v4v_ring_t, tx_ptr));
+
+    if (!dst)
+        return -EFAULT;
+    *p = tx_ptr;
+    return 0;
+}
+
+/* called must have L3 */
+static int
+v4v_memcpy_to_guest_ring (struct v4v_ring_info *ring_info, uint32_t offset,
+        void *_src, uint32_t len)
+{
+    int page = offset >> PAGE_SHIFT;
+    uint8_t *dst;
+    uint8_t *src = _src;
+
+    offset &= PAGE_SIZE - 1;
+
+    while ((offset + len) > PAGE_SIZE)
+    {
+        dst = v4v_ring_map_page (ring_info, page);
+
+        if (!dst)
+        {
+            v4v_dprintk("!dst\n");
+            return -EFAULT;
+        }
+
+#ifdef V4V_DEBUG
+        v4v_dprintk("memcpy(%p+%d,%p,%d)\n",
+                dst, offset, src,
+                (int) (PAGE_SIZE - offset));
+        v4v_hexdump (src, PAGE_SIZE - offset);
+        v4v_hexdump (dst + offset, PAGE_SIZE - offset);
+#endif
+        memcpy (dst + offset, src, PAGE_SIZE - offset);
+
+        page++;
+        len -= (PAGE_SIZE - offset);
+        src += (PAGE_SIZE - offset);
+        offset = 0;
+    }
+
+    dst = v4v_ring_map_page (ring_info, page);
+
+    if (!dst)
+    {
+        v4v_dprintk("attempted to map page %d of %d\n", page, ring_info->npage);
+        return -EFAULT;
+    }
+
+#ifdef V4V_DEBUG
+    v4v_dprintk("memcpy(%p+%d,%p,%d)\n",
+            dst, offset, src, len);
+    v4v_hexdump (src, len);
+    v4v_hexdump (dst + offset, len);
+#endif
+    memcpy (dst + offset, src, len);
+
+    return 0;
+}
+
+/*called must have L3*/
+static int
+v4v_memcpy_to_guest_ring_from_guest(struct v4v_ring_info *ring_info,
+                                    uint32_t offset,
+                                    XEN_GUEST_HANDLE (uint8_t) src_hnd,
+                                    uint32_t len)
+{
+    int page = offset >> PAGE_SHIFT;
+    uint8_t *dst;
+
+    offset &= PAGE_SIZE - 1;
+
+    while ( (offset + len) > PAGE_SIZE )
+    {
+        dst = v4v_ring_map_page (ring_info, page);
+
+        if ( !dst )
+        {
+            v4v_dprintk("!dst\n");
+            return -EFAULT;
+        }
+
+        v4v_dprintk("copy_from_guest(%p+%d,%p,%d)\n",
+                    dst, offset, (void *) src_hnd.p,
+                    (int) (PAGE_SIZE - offset));
+        if ( copy_from_guest ((dst + offset), src_hnd, PAGE_SIZE - offset) )
+        {
+            v4v_dprintk("copy_from_guest failed\n");
+            return -EFAULT;
+        }
+
+        page++;
+        len -= PAGE_SIZE - offset;
+        guest_handle_add_offset (src_hnd, PAGE_SIZE - offset);
+        offset = 0;
+    }
+
+    dst = v4v_ring_map_page (ring_info, page);
+    if (!dst)
+    {
+        v4v_dprintk("v4v_ring_map failed\n");
+        return -EFAULT;
+    }
+
+    v4v_dprintk("copy_from_guest(%p+%d,%p,%d)\n",
+                dst, offset, (void *) src_hnd.p, len);
+    if ( copy_from_guest ((dst + offset), src_hnd, len) )
+    {
+        v4v_dprintk("copy_from_guest failed\n");
+        return -EFAULT;
+    }
+
+    return 0;
+}
+
+static int
+v4v_ringbuf_get_rx_ptr (struct domain *d, struct v4v_ring_info *ring_info,
+                        uint32_t * rx_ptr)
+{
+    v4v_ring_t *ringp;
+
+    if ( ring_info->npage == 0 )
+        return -1;
+
+    ringp = map_domain_page (mfn_x (ring_info->mfns[0]));
+
+    v4v_dprintk("v4v_ringbuf_payload_space: mapped %p to %p\n",
+                (void *) mfn_x (ring_info->mfns[0]), ringp);
+    if ( !ringp )
+        return -1;
+
+    *rx_ptr = *(volatile uint32_t *) &ringp->rx_ptr;
+
+    unmap_domain_page (mfn_x (ring_info->mfns[0]));
+    return 0;
+}
+
+uint32_t
+v4v_ringbuf_payload_space (struct domain * d, struct v4v_ring_info * ring_info)
+{
+    v4v_ring_t ring;
+    int32_t ret;
+
+    ring.tx_ptr = ring_info->tx_ptr;
+    ring.len = ring_info->len;
+
+    if ( v4v_ringbuf_get_rx_ptr (d, ring_info, &ring.rx_ptr) )
+        return 0;
+
+    v4v_dprintk("v4v_ringbuf_payload_space:tx_ptr=%d rx_ptr=%d\n",
+                (int) ring.tx_ptr, (int) ring.rx_ptr);
+    if ( ring.rx_ptr == ring.tx_ptr )
+        return ring.len - sizeof (struct v4v_ring_message_header);
+
+    ret = ring.rx_ptr - ring.tx_ptr;
+    if ( ret < 0 )
+        ret += ring.len;
+
+    ret -= sizeof (struct v4v_ring_message_header);
+    ret -= V4V_ROUNDUP (1);
+
+    return (ret < 0) ? 0 : ret;
+}
+
+/*caller must have L3*/
+static size_t
+v4v_ringbuf_insert (struct domain *d,
+                    struct v4v_ring_info *ring_info,
+                    struct v4v_ring_id *src_id, uint32_t proto,
+                    XEN_GUEST_HANDLE (void) buf_hnd_void, uint32_t len)
+{
+    XEN_GUEST_HANDLE (uint8_t) buf_hnd =
+        guest_handle_cast (buf_hnd_void, uint8_t);
+    v4v_ring_t ring;
+    struct v4v_ring_message_header mh = { 0 };
+    int32_t sp;
+    int32_t happy_ret = len;
+    int32_t ret = 0;
+
+    if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header)) >=
+            ring_info->len )
+    {
+        v4v_dprintk("EMSGSIZE\n");
+        return -EMSGSIZE;
+    }
+
+    do
+    {
+        if ( (ret = v4v_memcpy_from_guest_ring (&ring, ring_info,
+                                                0, sizeof (ring))) )
+            break;
+
+        ring.tx_ptr = ring_info->tx_ptr;
+        ring.len = ring_info->len;
+
+        v4v_dprintk("ring.tx_ptr=%d ring.rx_ptr=%d ring.len=%d ring_info->tx_ptr=%d\n",
+                    ring.tx_ptr, ring.rx_ptr, ring.len, ring_info->tx_ptr);
+
+        if ( ring.rx_ptr == ring.tx_ptr )
+            sp = ring_info->len;
+        else
+        {
+            sp = ring.rx_ptr - ring.tx_ptr;
+            if (sp < 0)
+                sp += ring.len;
+        }
+
+        if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header)) >= sp )
+        {
+            v4v_dprintk("EAGAIN\n");
+            ret = -EAGAIN;
+            break;
+        }
+
+        mh.len = len + sizeof (struct v4v_ring_message_header);
+        mh.source = src_id->addr;
+        mh.pad = 0;
+        mh.protocol = proto;
+
+        if ( (ret = v4v_memcpy_to_guest_ring (ring_info,
+                                              ring.tx_ptr + sizeof (v4v_ring_t),
+                                              &mh, sizeof (mh))) )
+            break;
+
+        ring.tx_ptr += sizeof (mh);
+        if ( ring.tx_ptr == ring_info->len )
+            ring.tx_ptr = 0;
+
+        sp = ring.len - ring.tx_ptr;
+
+        if ( len > sp )
+        {
+            if ((ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                            ring.tx_ptr + sizeof (v4v_ring_t),
+                            buf_hnd, sp)))
+                break;
+
+            ring.tx_ptr = 0;
+            len -= sp;
+            guest_handle_add_offset (buf_hnd, sp);
+        }
+
+        if ( (ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                        ring.tx_ptr + sizeof (v4v_ring_t),
+                        buf_hnd, len)) )
+            break;
+
+        ring.tx_ptr += V4V_ROUNDUP (len);
+
+        if ( ring.tx_ptr == ring_info->len )
+            ring.tx_ptr = 0;
+
+        mb ();
+        ring_info->tx_ptr = ring.tx_ptr;
+
+        if ( (ret = v4v_update_tx_ptr(ring_info, ring.tx_ptr)) )
+            break;
+
+    }
+    while ( 0 );
+
+    v4v_ring_unmap (ring_info);
+
+    return ret ? ret : happy_ret;
+
+}
+
+static ssize_t
+v4v_iov_count (XEN_GUEST_HANDLE (v4v_iov_t) iovs, int niov)
+{
+    v4v_iov_t iov;
+    size_t ret = 0;
+
+    while ( niov-- )
+    {
+        if ( copy_from_guest (&iov, iovs, 1) )
+            return -EFAULT;
+
+        ret += iov.iov_len;
+        guest_handle_add_offset (iovs, 1);
+    }
+
+    return ret;
+}
+
+/*caller must have L3*/
+static ssize_t
+v4v_ringbuf_insertv (struct domain *d,
+                     struct v4v_ring_info *ring_info,
+                     struct v4v_ring_id *src_id, uint32_t proto,
+                     XEN_GUEST_HANDLE (v4v_iov_t) iovs, uint32_t niov,
+                     uint32_t len)
+{
+    v4v_ring_t ring;
+    struct v4v_ring_message_header mh = { 0 };
+    int32_t sp;
+    int32_t happy_ret;
+    int32_t ret = 0;
+
+    happy_ret = len;
+
+    if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header) ) >=
+            ring_info->len)
+        return -EMSGSIZE;
+
+    do
+    {
+        if ( (ret = v4v_memcpy_from_guest_ring (&ring, ring_info, 0,
+                                               sizeof (ring))) )
+            break;
+
+        ring.tx_ptr = ring_info->tx_ptr;
+        ring.len = ring_info->len;
+
+        v4v_dprintk("ring.tx_ptr=%d ring.rx_ptr=%d ring.len=%d ring_info->tx_ptr=%d\n",
+                    ring.tx_ptr, ring.rx_ptr, ring.len, ring_info->tx_ptr);
+
+        if ( ring.rx_ptr == ring.tx_ptr )
+            sp = ring_info->len;
+        else
+        {
+            sp = ring.rx_ptr - ring.tx_ptr;
+            if (sp < 0)
+                sp += ring.len;
+        }
+
+        if ( (V4V_ROUNDUP (len) + sizeof (struct v4v_ring_message_header) ) >= sp)
+        {
+            v4v_dprintk("EAGAIN\n");
+            ret = -EAGAIN;
+            break;
+        }
+
+        mh.len = len + sizeof (struct v4v_ring_message_header);
+        mh.source = src_id->addr;
+        mh.pad = 0;
+        mh.protocol = proto;
+
+        if ( (ret = v4v_memcpy_to_guest_ring (ring_info,
+                                              ring.tx_ptr + sizeof (v4v_ring_t),
+                                              &mh, sizeof (mh))) )
+            break;
+
+        ring.tx_ptr += sizeof (mh);
+        if ( ring.tx_ptr == ring_info->len )
+            ring.tx_ptr = 0;
+
+        while ( niov-- )
+        {
+            XEN_GUEST_HANDLE (uint8_t) buf_hnd;
+            v4v_iov_t iov;
+
+            if ( copy_from_guest (&iov, iovs, 1) )
+            {
+                ret = -EFAULT;
+                break;
+            }
+
+            buf_hnd.p = (uint8_t *) iov.iov_base; //FIXME
+            len = iov.iov_len;
+
+            if ( unlikely (!guest_handle_okay (buf_hnd, len)) )
+            {
+                ret = -EFAULT;
+                break;
+            }
+
+            sp = ring.len - ring.tx_ptr;
+
+            if ( len > sp )
+            {
+                if ( (ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                                ring.tx_ptr +
+                                sizeof (v4v_ring_t),
+                                buf_hnd, sp)) )
+                    break;
+
+                ring.tx_ptr = 0;
+                len -= sp;
+                guest_handle_add_offset (buf_hnd, sp);
+            }
+
+            if ( (ret = v4v_memcpy_to_guest_ring_from_guest (ring_info,
+                            ring.tx_ptr +
+                            sizeof (v4v_ring_t),
+                            buf_hnd, len)) )
+                break;
+
+            ring.tx_ptr += len;
+
+            if (ring.tx_ptr == ring_info->len)
+                ring.tx_ptr = 0;
+
+            guest_handle_add_offset (iovs, 1);
+        }
+        if ( ret )
+            break;
+
+        ring.tx_ptr = V4V_ROUNDUP (ring.tx_ptr);
+
+        if ( ring.tx_ptr >= ring_info->len )
+            ring.tx_ptr -= ring_info->len;
+
+        mb ();
+        ring_info->tx_ptr = ring.tx_ptr;
+        if ( (ret = v4v_update_tx_ptr(ring_info, ring.tx_ptr)) )
+            break;
+    }
+    while ( 0 );
+
+    v4v_ring_unmap (ring_info);
+
+    return ret ? ret : happy_ret;
+}
+
+
+
+/* pending */
+static void
+v4v_pending_remove_ent (struct v4v_pending_ent *ent)
+{
+    hlist_del (&ent->node);
+    xfree (ent);
+}
+
+/*caller must have L3 */
+static void
+v4v_pending_remove_all (struct v4v_ring_info *info)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    hlist_for_each_entry_safe (pending_ent, node, next, &info->pending,
+            node) v4v_pending_remove_ent (pending_ent);
+}
+
+/*Caller must hold L1 */
+static void
+v4v_pending_notify (struct domain *caller_d, struct hlist_head *to_notify)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    hlist_for_each_entry_safe (pending_ent, node, next, to_notify, node)
+    {
+        hlist_del (&pending_ent->node);
+        v4v_signal_domid (pending_ent->id);
+        xfree (pending_ent);
+    }
+
+}
+
+/*caller must have R(L2) */
+static void
+v4v_pending_find (struct v4v_ring_info *ring_info, uint32_t payload_space,
+        struct hlist_head *to_notify)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    spin_lock (&ring_info->lock);
+    hlist_for_each_entry_safe (ent, node, next, &ring_info->pending, node)
+    {
+        if (payload_space >= ent->len)
+        {
+            hlist_del (&ent->node);
+            hlist_add_head (&ent->node, to_notify);
+        }
+    }
+    spin_unlock (&ring_info->lock);
+}
+
+/*caller must have L3 */
+static int
+v4v_pending_queue (struct v4v_ring_info *ring_info, domid_t src_id, int len)
+{
+    struct v4v_pending_ent *ent = xmalloc (struct v4v_pending_ent);
+
+    if ( !ent )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    ent->len = len;
+    ent->id = src_id;
+
+    hlist_add_head (&ent->node, &ring_info->pending);
+
+    return 0;
+}
+
+/* L3 */
+static int
+v4v_pending_requeue (struct v4v_ring_info *ring_info, domid_t src_id, int len)
+{
+    struct hlist_node *node;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry (ent, node, &ring_info->pending, node)
+    {
+        if ( ent->id == src_id )
+        {
+            if ( ent->len < len )
+                ent->len = len;
+            return 0;
+        }
+    }
+
+    return v4v_pending_queue (ring_info, src_id, len);
+}
+
+
+/* L3 */
+static void
+v4v_pending_cancel (struct v4v_ring_info *ring_info, domid_t src_id)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry_safe (ent, node, next, &ring_info->pending, node)
+    {
+        if ( ent->id == src_id)
+        {
+            hlist_del (&ent->node);
+            xfree (ent);
+        }
+    }
+}
+
+/*
+ * ring data
+ */
+
+/*Caller should hold R(L1)*/
+static int
+v4v_fill_ring_data (struct domain *src_d,
+                    XEN_GUEST_HANDLE (v4v_ring_data_ent_t) data_ent_hnd)
+{
+    v4v_ring_data_ent_t ent;
+    struct domain *dst_d;
+    struct v4v_ring_info *ring_info;
+
+    if ( copy_from_guest (&ent, data_ent_hnd, 1) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+
+    v4v_dprintk("v4v_fill_ring_data: ent.ring.domain=%d,ent.ring.port=%u\n",
+                (int) ent.ring.domain, (int) ent.ring.port);
+
+    ent.flags = 0;
+
+    dst_d = get_domain_by_id (ent.ring.domain);
+
+    if ( dst_d && dst_d->v4v )
+    {
+        read_lock (&dst_d->v4v->lock);
+        ring_info = v4v_ring_find_info_by_addr (dst_d, &ent.ring,
+                                                src_d->domain_id);
+
+        if ( ring_info )
+        {
+            uint32_t space_avail;
+
+            ent.flags |= V4V_RING_DATA_F_EXISTS;
+            ent.max_message_size =
+                ring_info->len - sizeof (struct v4v_ring_message_header) -
+                V4V_ROUNDUP (1);
+            spin_lock (&ring_info->lock);
+
+            space_avail = v4v_ringbuf_payload_space (dst_d, ring_info);
+
+            if ( space_avail >= ent.space_required )
+            {
+                v4v_pending_cancel (ring_info, src_d->domain_id);
+                ent.flags |= V4V_RING_DATA_F_SUFFICIENT;
+            }
+            else
+            {
+                v4v_pending_requeue (ring_info, src_d->domain_id,
+                        ent.space_required);
+                ent.flags |= V4V_RING_DATA_F_PENDING;
+            }
+
+            spin_unlock (&ring_info->lock);
+
+            if ( space_avail == ent.max_message_size )
+                ent.flags |= V4V_RING_DATA_F_EMPTY;
+
+        }
+        read_unlock (&dst_d->v4v->lock);
+    }
+
+    if ( dst_d )
+        put_domain (dst_d);
+
+    if ( copy_field_to_guest (data_ent_hnd, &ent, flags) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+    return 0;
+}
+
+/*Called should hold no more than R(L1) */
+static int
+v4v_fill_ring_datas (struct domain *d, int nent,
+                     XEN_GUEST_HANDLE (v4v_ring_data_ent_t) data_ent_hnd)
+{
+    int ret = 0;
+
+    read_lock (&v4v_lock);
+    while ( !ret && nent-- )
+    {
+        ret = v4v_fill_ring_data (d, data_ent_hnd);
+        guest_handle_add_offset (data_ent_hnd, 1);
+    }
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/*
+ * ring
+ */
+static int
+v4v_find_ring_mfns (struct domain *d, struct v4v_ring_info *ring_info,
+                    XEN_GUEST_HANDLE (v4v_pfn_list_t) pfn_list_hnd)
+{
+    XEN_GUEST_HANDLE (v4v_pfn_t) pfn_hnd;
+    v4v_pfn_list_t pfn_list;
+    int i,j;
+    mfn_t *mfns;
+    uint8_t **mfn_mapping;
+    unsigned long mfn;
+    struct page_info *page;
+    int ret = 0;
+
+    if ( copy_from_guest (&pfn_list, pfn_list_hnd, 1) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+
+    if (pfn_list.magic != V4V_PFN_LIST_MAGIC)
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    if ((pfn_list.npage << PAGE_SHIFT) < ring_info->len)
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    {
+        XEN_GUEST_HANDLE (uint8_t) slop_hnd =
+            guest_handle_cast (pfn_list_hnd, uint8_t);
+        guest_handle_add_offset (slop_hnd, sizeof (v4v_pfn_list_t));
+        pfn_hnd = guest_handle_cast (slop_hnd, v4v_pfn_t);
+    }
+
+    mfns = xmalloc_array (mfn_t, pfn_list.npage);
+    if ( !mfns )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    mfn_mapping = xmalloc_array (uint8_t *, pfn_list.npage);
+    if ( !mfn_mapping )
+    {
+        xfree (mfns);
+        return -ENOMEM;
+    }
+
+    for (i = 0; i < pfn_list.npage; ++i)
+    {
+        unsigned long pfn;
+        p2m_type_t p2mt;
+
+        if ( copy_from_guest_offset (&pfn, pfn_hnd, i, 1) )
+        {
+            ret = -EFAULT;
+            v4v_dprintk("EFAULT\n");
+            break;
+        }
+
+        mfn = mfn_x(get_gfn(d, pfn, &p2mt));
+        if ( !mfn_valid(mfn) )
+        {
+            printk(KERN_ERR "v4v domain %d passed invalid mfn %"PRI_mfn" ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret = -EINVAL;
+            break;
+        }
+        page = mfn_to_page(mfn);
+        if ( !get_page_and_type(page, d, PGT_writable_page) )
+        {
+            printk(KERN_ERR "v4v domain %d passed wrong type mfn %"PRI_mfn" ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret = -EINVAL;
+            break;
+        }
+        mfns[i] = _mfn(mfn);
+        v4v_dprintk("v4v_find_ring_mfns: %d: %lx -> %lx\n",
+                    i, (unsigned long) pfn, (unsigned long) mfn_x (mfns[i]));
+        mfn_mapping[i] = NULL;
+        put_gfn(d, pfn);
+    }
+
+    if ( !ret )
+    {
+        ring_info->npage = pfn_list.npage;
+        ring_info->mfns = mfns;
+        ring_info->mfn_mapping = mfn_mapping;
+    }
+    else
+    {
+        j = i;
+        for ( i = 0; i < j; ++i )
+            if ( mfn_x(mfns[i]) != 0 )
+                put_page_and_type(mfn_to_page(mfn_x(mfns[i])));
+        xfree (mfn_mapping);
+        xfree (mfns);
+        v4v_dprintk("");
+    }
+    return ret;
+}
+
+
+/* caller must hold R(L2) */
+static struct v4v_ring_info *
+v4v_ring_find_info (struct domain *d, struct v4v_ring_id *id)
+{
+    uint16_t hash;
+    struct hlist_node *node;
+    struct v4v_ring_info *ring_info;
+
+    hash = v4v_hash_fn (id);
+
+    v4v_dprintk("ring_find_info: d->v4v=%p, d->v4v->ring_hash[%d]=%p id=%p\n",
+                d->v4v, (int) hash, d->v4v->ring_hash[hash].first, id);
+    v4v_dprintk("ring_find_info: id.addr.port=%d id.addr.domain=%d id.addr.partner=%d\n",
+                id->addr.port, id->addr.domain, id->partner);
+
+    hlist_for_each_entry (ring_info, node, &d->v4v->ring_hash[hash], node)
+    {
+        if ( !memcmp (id, &ring_info->id, sizeof (*id)) )
+        {
+            v4v_dprintk("ring_find_info: ring_info=%p\n", ring_info);
+            return ring_info;
+        }
+    }
+    v4v_dprintk("ring_find_info: no ring_info found\n");
+    return NULL;
+}
+
+/* caller must hold R(L2) */
+static struct v4v_ring_info *
+v4v_ring_find_info_by_addr (struct domain *d, struct v4v_addr *a, domid_t p)
+{
+    struct v4v_ring_id id;
+    struct v4v_ring_info *ret;
+
+    if ( !a )
+        return NULL;
+
+    id.addr.port = a->port;
+    id.addr.domain = d->domain_id;
+    id.partner = p;
+
+    ret = v4v_ring_find_info (d, &id);
+    if ( ret )
+        return ret;
+
+    id.partner = V4V_DOMID_NONE;
+
+    return v4v_ring_find_info (d, &id);
+}
+
+/*caller must hold W(L2) */
+static void v4v_ring_remove_mfns (struct v4v_ring_info *ring_info)
+{
+    int i;
+
+    if ( ring_info->mfns )
+    {
+        for ( i=0; i < ring_info->npage; ++i )
+            if (mfn_x(ring_info->mfns[i]) != 0)
+                put_page_and_type(mfn_to_page(mfn_x(ring_info->mfns[i])));
+        xfree (ring_info->mfns);
+    }
+    ring_info->mfns = NULL;
+}
+
+/*caller must hold W(L2) */
+static void
+v4v_ring_remove_info (struct v4v_ring_info *ring_info)
+{
+    v4v_pending_remove_all (ring_info);
+
+    hlist_del (&ring_info->node);
+    v4v_ring_remove_mfns(ring_info);
+    xfree (ring_info);
+}
+
+/* Call from guest to unpublish a ring */
+static long
+v4v_ring_remove (struct domain *d, XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int ret = 0;
+
+    read_lock (&v4v_lock);
+
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret = -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest (&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret = -EFAULT;
+            break;
+        }
+
+        if ( ring.magic != V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%lx) != V4V_RING_MAGIC(%lx), EINVAL\n",
+                    ring.magic, V4V_RING_MAGIC);
+            ret = -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain = d->domain_id;
+
+        write_lock (&d->v4v->lock);
+        ring_info = v4v_ring_find_info (d, &ring.id);
+
+        if ( ring_info )
+            v4v_ring_remove_info (ring_info);
+
+        write_unlock (&d->v4v->lock);
+
+        if ( !ring_info )
+        {
+            v4v_dprintk( "ENOENT\n" );
+            ret = -ENOENT;
+            break;
+        }
+
+    }
+    while ( 0 );
+
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/* call from guest to publish a ring */
+static long
+v4v_ring_add (struct domain *d, XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd,
+              XEN_GUEST_HANDLE (v4v_pfn_list_t) pfn_list_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int need_to_insert = 0;
+    int ret = 0;
+
+    if ( (long) ring_hnd.p & (PAGE_SIZE - 1) )
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock (&v4v_lock);
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk(" !d->v4v, EINVAL\n");
+            ret = -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest (&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk(" copy_from_guest failed, EFAULT\n");
+            ret = -EFAULT;
+            break;
+        }
+
+        if ( ring.magic != V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%lx) != V4V_RING_MAGIC(%lx), EINVAL\n",
+                        ring.magic, V4V_RING_MAGIC);
+            ret = -EINVAL;
+            break;
+        }
+
+        if ( (ring.len <
+                    (sizeof (struct v4v_ring_message_header) + V4V_ROUNDUP (1) +
+                     V4V_ROUNDUP (1))) || (V4V_ROUNDUP (ring.len) != ring.len) )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret = -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain = d->domain_id;
+        if ( copy_field_to_guest (ring_hnd, &ring, id) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret = -EFAULT;
+            break;
+        }
+
+        /*
+         * no need for a lock yet, because only we know about this
+         * set the tx pointer if it looks bogus (we don't reset it
+         * because this might be a re-register after S4)
+         */
+        if ( (ring.tx_ptr >= ring.len)
+                || (V4V_ROUNDUP (ring.tx_ptr) != ring.tx_ptr) )
+        {
+            ring.tx_ptr = ring.rx_ptr;
+        }
+        copy_field_to_guest (ring_hnd, &ring, tx_ptr);
+
+        read_lock (&d->v4v->lock);
+        ring_info = v4v_ring_find_info (d, &ring.id);
+
+        if ( !ring_info )
+        {
+            read_unlock (&d->v4v->lock);
+            ring_info = xmalloc (struct v4v_ring_info);
+            if ( !ring_info )
+            {
+                v4v_dprintk("ENOMEM\n");
+                ret = -ENOMEM;
+                break;
+            }
+            need_to_insert++;
+            spin_lock_init (&ring_info->lock);
+            INIT_HLIST_HEAD (&ring_info->pending);
+            ring_info->mfns = NULL;
+
+        }
+        else
+        {
+            /*
+             * Ring info already existed. If mfn list was already
+             * populated remove the MFN's from list and then add
+             * the new list.
+             */
+            printk(KERN_INFO "v4v: dom%d re-registering existing ring, clearing MFN list\n",
+                    current->domain->domain_id);
+            v4v_ring_remove_mfns(ring_info);
+        }
+
+        spin_lock (&ring_info->lock);
+        ring_info->id = ring.id;
+        ring_info->len = ring.len;
+        ring_info->tx_ptr = ring.tx_ptr;
+        ring_info->ring = ring_hnd;
+        if ( ring_info->mfns )
+            xfree (ring_info->mfns);
+        ret = v4v_find_ring_mfns (d, ring_info, pfn_list_hnd);
+        spin_unlock (&ring_info->lock);
+        if ( ret )
+            break;
+
+        if ( !need_to_insert )
+        {
+            read_unlock (&d->v4v->lock);
+        }
+        else
+        {
+            uint16_t hash = v4v_hash_fn (&ring.id);
+            write_lock (&d->v4v->lock);
+            hlist_add_head (&ring_info->node, &d->v4v->ring_hash[hash]);
+            write_unlock (&d->v4v->lock);
+        }
+    }
+    while ( 0 );
+
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+
+/*
+ * io
+ */
+
+/*Caller must hold v4v_lock and hash_lock*/
+static void
+v4v_notify_ring (struct domain *d, struct v4v_ring_info *ring_info,
+        struct hlist_head *to_notify)
+{
+    uint32_t space;
+
+    spin_lock (&ring_info->lock);
+    space = v4v_ringbuf_payload_space (d, ring_info);
+    spin_unlock (&ring_info->lock);
+
+    v4v_pending_find (ring_info, space, to_notify);
+}
+
+/*notify hypercall*/
+static long
+v4v_notify (struct domain *d,
+            XEN_GUEST_HANDLE (v4v_ring_data_t) ring_data_hnd)
+{
+    v4v_ring_data_t ring_data;
+    HLIST_HEAD (to_notify);
+    int i;
+    int ret = 0;
+
+    read_lock (&v4v_lock);
+
+    if ( !d->v4v )
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!d->v4v, ENODEV\n");
+        return -ENODEV;
+    }
+
+    read_lock (&d->v4v->lock);
+    for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node, *next;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry_safe (ring_info, node,
+                next, &d->v4v->ring_hash[i],
+                node)
+        {
+            v4v_notify_ring (d, ring_info, &to_notify);
+        }
+    }
+    read_unlock (&d->v4v->lock);
+
+    if ( !hlist_empty (&to_notify) )
+    {
+        v4v_pending_notify (d, &to_notify);
+    }
+
+    do
+    {
+        if ( !guest_handle_is_null (ring_data_hnd) )
+        {
+            /* Quick sanity check on ring_data_hnd */
+            if ( copy_field_from_guest (&ring_data, ring_data_hnd, magic) )
+            {
+                v4v_dprintk("copy_field_from_guest failed\n");
+                ret = -EFAULT;
+                break;
+            }
+
+            if ( ring_data.magic != V4V_RING_DATA_MAGIC )
+            {
+                v4v_dprintk("ring.magic(%lx) != V4V_RING_MAGIC(%lx), EINVAL\n",
+                            ring_data.magic, V4V_RING_MAGIC);
+                ret = -EINVAL;
+                break;
+            }
+
+            if (copy_from_guest (&ring_data, ring_data_hnd, 1))
+            {
+                v4v_dprintk("copy_from_guest failed\n");
+                ret = -EFAULT;
+                break;
+            }
+
+            {
+                XEN_GUEST_HANDLE (v4v_ring_data_ent_t) ring_data_ent_hnd;
+                XEN_GUEST_HANDLE (uint8_t) slop_hnd =
+                    guest_handle_cast (ring_data_hnd, uint8_t);
+                guest_handle_add_offset (slop_hnd, sizeof (v4v_ring_data_t));
+                ring_data_ent_hnd =
+                    guest_handle_cast (slop_hnd, v4v_ring_data_ent_t);
+                ret = v4v_fill_ring_datas (d, ring_data.nent, ring_data_ent_hnd);
+            }
+        }
+    }
+    while ( 0 );
+
+    read_unlock (&v4v_lock);
+
+    return ret;
+}
+
+
+
+/*Hypercall to do the send*/
+static size_t
+v4v_send (struct domain *src_d, v4v_addr_t * src_addr,
+          v4v_addr_t * dst_addr, uint32_t proto,
+          XEN_GUEST_HANDLE (void) buf, size_t len)
+{
+    struct domain *dst_d;
+    struct v4v_ring_id src_id;
+    struct v4v_ring_info *ring_info;
+    int ret = 0;
+
+    if ( !dst_addr )
+    {
+        v4v_dprintk("!dst_addr\n");
+        return -EINVAL;
+    }
+
+    read_lock (&v4v_lock);
+    if ( !src_d->v4v )
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!src_d->v4v\n");
+        return -EINVAL;
+    }
+
+    src_id.addr.port = src_addr->port;
+    src_id.addr.domain = src_d->domain_id;
+    src_id.partner = dst_addr->domain;
+
+    dst_d = get_domain_by_id (dst_addr->domain);
+    if ( !dst_d )
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!dst_d, ECONNREFUSED\n");
+        return -ECONNREFUSED;
+    }
+
+    do
+    {
+        if ( !dst_d->v4v )
+        {
+            ret = -ECONNREFUSED;
+            v4v_dprintk("!dst_d->v4v, ECONNREFUSED\n");
+            break;
+        }
+
+        read_lock (&dst_d->v4v->lock);
+        ring_info =
+            v4v_ring_find_info_by_addr (dst_d, dst_addr, src_addr->domain);
+
+        if ( !ring_info )
+        {
+            ret = -ECONNREFUSED;
+            v4v_dprintk("!ring_info\n");
+        }
+        else
+        {
+            spin_lock (&ring_info->lock);
+            ret =
+                v4v_ringbuf_insert (dst_d, ring_info, &src_id, proto, buf, len);
+            if ( ret == -EAGAIN )
+            {
+                v4v_dprintk("ret == EAGAIN\n");
+                /* Schedule a wake up on the event channel when space is there */
+                if (v4v_pending_requeue (ring_info, src_d->domain_id, len))
+                {
+                    v4v_dprintk("v4v_pending_requeue failed, ENOMEM\n");
+                    ret = -ENOMEM;
+                }
+            }
+            spin_unlock (&ring_info->lock);
+
+            if (ret >= 0)
+            {
+                v4v_signal_domain (dst_d);
+            }
+        }
+        read_unlock (&dst_d->v4v->lock);
+    }
+    while ( 0 );
+
+    put_domain (dst_d);
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/*Hypercall to do the send*/
+static size_t
+v4v_sendv (struct domain *src_d, v4v_addr_t * src_addr,
+           v4v_addr_t * dst_addr, uint32_t proto,
+           XEN_GUEST_HANDLE (v4v_iov_t) iovs, size_t niov)
+{
+    struct domain *dst_d;
+    struct v4v_ring_id src_id;
+    struct v4v_ring_info *ring_info;
+    int ret = 0;
+
+    if ( !dst_addr )
+    {
+        v4v_dprintk("!dst_addr, EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock (&v4v_lock);
+    if (!src_d->v4v)
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!src_d->v4v, EINVAL\n");
+        return -EINVAL;
+    }
+
+    src_id.addr.port = src_addr->port;
+    src_id.addr.domain = src_d->domain_id;
+    src_id.partner = dst_addr->domain;
+
+    dst_d = get_domain_by_id (dst_addr->domain);
+    if (!dst_d)
+    {
+        read_unlock (&v4v_lock);
+        v4v_dprintk("!dst_d, ECONNREFUSED\n");
+        return -ECONNREFUSED;
+    }
+
+    do
+    {
+        if ( !dst_d->v4v )
+        {
+            v4v_dprintk("dst_d->v4v, ECONNREFUSED\n");
+            ret = -ECONNREFUSED;
+            break;
+        }
+
+        read_lock (&dst_d->v4v->lock);
+        ring_info =
+            v4v_ring_find_info_by_addr (dst_d, dst_addr, src_addr->domain);
+
+        if ( !ring_info )
+        {
+            ret = -ECONNREFUSED;
+            v4v_dprintk(" !ring_info, ECONNREFUSED\n");
+        }
+        else
+        {
+            uint32_t len = v4v_iov_count (iovs, niov);
+
+            if ( len < 0 )
+            {
+                ret = len;
+                break;
+            }
+
+            spin_lock (&ring_info->lock);
+            ret =
+                v4v_ringbuf_insertv (dst_d, ring_info, &src_id, proto, iovs,
+                        niov, len);
+            if ( ret == -EAGAIN )
+            {
+                v4v_dprintk("v4v_ringbuf_insertv failed, EAGAIN\n");
+                /* Schedule a wake up on the event channel when space is there */
+                if (v4v_pending_requeue (ring_info, src_d->domain_id, len))
+                {
+                    v4v_dprintk("v4v_pending_requeue failed, ENOMEM\n");
+                    ret = -ENOMEM;
+                }
+            }
+            spin_unlock (&ring_info->lock);
+
+            if ( ret >= 0 )
+            {
+                v4v_signal_domain (dst_d);
+            }
+
+        }
+        read_unlock (&dst_d->v4v->lock);
+
+    }
+    while ( 0 );
+
+    put_domain (dst_d);
+    read_unlock (&v4v_lock);
+    return ret;
+}
+
+/*
+ * hypercall glue
+ */
+long
+do_v4v_op (int cmd, XEN_GUEST_HANDLE (void) arg1,
+           XEN_GUEST_HANDLE (void) arg2,
+           XEN_GUEST_HANDLE (void) arg3, uint32_t arg4, uint32_t arg5)
+{
+    struct domain *d = current->domain;
+    long rc = -EFAULT;
+
+    v4v_dprintk("->do_v4v_op(%d,%p,%p,%p,%d,%d)\n", cmd,
+                (void *) arg1.p, (void *) arg2.p, (void *) arg3.p,
+                (int) arg4, (int) arg5);
+
+    domain_lock (d);
+    switch (cmd)
+    {
+        case V4VOP_register_ring:
+            {
+                XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd =
+                    guest_handle_cast (arg1, v4v_ring_t);
+                XEN_GUEST_HANDLE (v4v_pfn_list_t) pfn_list_hnd =
+                    guest_handle_cast (arg2, v4v_pfn_list_t);
+                if ( unlikely (!guest_handle_okay (ring_hnd, 1)) )
+                    goto out;
+                if ( unlikely (!guest_handle_okay (pfn_list_hnd, 1)) ) //FIXME
+                    goto out;
+                rc = v4v_ring_add (d, ring_hnd, pfn_list_hnd);
+                break;
+            }
+        case V4VOP_unregister_ring:
+            {
+                XEN_GUEST_HANDLE (v4v_ring_t) ring_hnd =
+                    guest_handle_cast (arg1, v4v_ring_t);
+                if ( unlikely (!guest_handle_okay (ring_hnd, 1)) )
+                    goto out;
+                rc = v4v_ring_remove (d, ring_hnd);
+                break;
+            }
+        case V4VOP_send:
+            {
+                v4v_addr_t src, dst;
+                uint32_t len = arg4;
+                uint32_t protocol = arg5;
+                XEN_GUEST_HANDLE (v4v_addr_t) src_hnd =
+                    guest_handle_cast (arg1, v4v_addr_t);
+                XEN_GUEST_HANDLE (v4v_addr_t) dst_hnd =
+                    guest_handle_cast (arg2, v4v_addr_t);
+
+                if ( unlikely (!guest_handle_okay (src_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&src, src_hnd, 1) )
+                    goto out;
+
+                if ( unlikely (!guest_handle_okay (dst_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&dst, dst_hnd, 1) )
+                    goto out;
+
+                rc = v4v_send (d, &src, &dst, protocol, arg3, len);
+                break;
+            }
+        case V4VOP_sendv:
+            {
+                v4v_addr_t src, dst;
+                uint32_t niov = arg4;
+                uint32_t protocol = arg5;
+                XEN_GUEST_HANDLE (v4v_addr_t) src_hnd =
+                    guest_handle_cast (arg1, v4v_addr_t);
+                XEN_GUEST_HANDLE (v4v_addr_t) dst_hnd =
+                    guest_handle_cast (arg2, v4v_addr_t);
+                XEN_GUEST_HANDLE (v4v_iov_t) iovs =
+                    guest_handle_cast (arg3, v4v_iov_t);
+
+                if ( unlikely (!guest_handle_okay (src_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&src, src_hnd, 1) )
+                    goto out;
+
+                if ( unlikely (!guest_handle_okay (dst_hnd, 1)) )
+                    goto out;
+                if ( copy_from_guest (&dst, dst_hnd, 1) )
+                    goto out;
+
+                if ( unlikely (!guest_handle_okay (iovs, niov)) )
+                    goto out;
+
+                rc = v4v_sendv (d, &src, &dst, protocol, iovs, niov);
+                break;
+            }
+        case V4VOP_notify:
+            {
+                XEN_GUEST_HANDLE (v4v_ring_data_t) ring_data_hnd =
+                    guest_handle_cast (arg1, v4v_ring_data_t);
+                rc = v4v_notify (d, ring_data_hnd);
+                break;
+            }
+        default:
+            rc = -ENOSYS;
+            break;
+    }
+out:
+    domain_unlock (d);
+    v4v_dprintk("<-do_v4v_op()=%d\n", (int) rc);
+    return rc;
+}
+
+/*
+ * init
+ */
+
+void
+v4v_destroy (struct domain *d)
+{
+    int i;
+
+    BUG_ON (!d->is_dying);
+    write_lock (&v4v_lock);
+
+    v4v_dprintk("d->v=%p\n", d->v4v);
+
+    if ( d->v4v )
+    {
+        for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+        {
+            struct hlist_node *node, *next;
+            struct v4v_ring_info *ring_info;
+
+            hlist_for_each_entry_safe (ring_info, node,
+                    next, &d->v4v->ring_hash[i],
+                    node)
+            {
+                v4v_ring_remove_info (ring_info);
+            }
+        }
+    }
+
+    d->v4v = NULL;
+    write_unlock (&v4v_lock);
+}
+
+int
+v4v_init (struct domain *d)
+{
+    struct v4v_domain *v4v;
+    int i;
+
+    v4v = xmalloc (struct v4v_domain);
+    if ( !v4v )
+        return -ENOMEM;
+
+    rwlock_init (&v4v->lock);
+
+    for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        INIT_HLIST_HEAD (&v4v->ring_hash[i]);
+    }
+
+    write_lock (&v4v_lock);
+    d->v4v = v4v;
+    write_unlock (&v4v_lock);
+
+    return 0;
+}
+
+
+/*
+ * debug
+ */
+
+static void
+dump_domain_ring (struct domain *d, struct v4v_ring_info *ring_info)
+{
+    uint32_t rx_ptr;
+
+    printk (KERN_ERR "  ring: domid=%d port=0x%08x partner=%d npage=%d\n",
+            (int) d->domain_id, (int) ring_info->id.addr.port,
+            (int) ring_info->id.partner, (int) ring_info->npage);
+
+    if ( v4v_ringbuf_get_rx_ptr (d, ring_info, &rx_ptr) )
+    {
+        printk (KERN_ERR "   Failed to read rx_ptr\n");
+        return;
+    }
+
+    printk (KERN_ERR "   tx_ptr=%d rx_ptr=%d len=%d\n",
+            (int) ring_info->tx_ptr, (int) rx_ptr, (int) ring_info->len);
+}
+
+static void
+dump_domain_rings (struct domain *d)
+{
+    int i;
+
+    printk (KERN_ERR " domain %d:\n", (int) d->domain_id);
+
+    read_lock (&d->v4v->lock);
+
+    for ( i = 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry (ring_info, node, &d->v4v->ring_hash[i], node)
+            dump_domain_ring (d, ring_info);
+    }
+    read_unlock (&d->v4v->lock);
+
+    printk (KERN_ERR "\n");
+    v4v_signal_domain (d);
+}
+
+static void
+dump_rings (unsigned char key)
+{
+    struct domain *d;
+
+    printk (KERN_ERR "\n\nV4V ring dump:\n");
+    read_lock (&v4v_lock);
+
+    rcu_read_lock (&domlist_read_lock);
+
+    for_each_domain (d) dump_domain_rings (d);
+
+    rcu_read_unlock (&domlist_read_lock);
+
+    read_unlock (&v4v_lock);
+}
+
+struct keyhandler v4v_info_keyhandler = {
+    .diagnostic = 1,
+    .u.fn = dump_rings,
+    .desc = "dump v4v ring states and intterupt"
+};
+
+static int __init
+setup_dump_rings (void)
+{
+    register_keyhandler ('4', &v4v_info_keyhandler);
+    return 0;
+}
+
+__initcall (setup_dump_rings);
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/v4v.h b/xen/include/public/v4v.h
new file mode 100644
index 0000000..8cb02a8
--- /dev/null
+++ b/xen/include/public/v4v.h
@@ -0,0 +1,544 @@
+/******************************************************************************
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __XEN_PUBLIC_V4V_H__
+#define __XEN_PUBLIC_V4V_H__
+
+#include "xen.h"
+
+/*
+ * Compiler specific hacks
+ */
+#if !defined(__GNUC__)
+# define V4V_PACKED
+# define V4V_UNSUED
+# define V4V_INLINE __inline
+#else /* __GNUC__ */
+# define V4V_PACKED __attribute__ ((packed))
+# define V4V_UNUSED __attribute__ ((unused))
+# ifdef __XEN__
+#  define V4V_INLINE
+#  define V4V_VOLATILE
+# else
+#  define V4V_VOLATILE volatile
+#  ifndef __STRICT_ANSI__
+#   define V4V_INLINE inline
+#  else
+#   define V4V_INLINE
+#  endif
+# endif
+#endif /* __GNUC__ */
+
+#if !defined(__GNUC__)
+# pragma pack(push, 1)
+# pragma warning(push)
+# pragma warning(disable: 4200)
+#endif
+
+/*
+ * Structure definitions
+ */
+
+#define V4V_PROTO_DGRAM		0x3c2c1db8
+#define V4V_PROTO_STREAM 	0x70f6a8e5
+
+#ifdef __i386__
+# define V4V_RING_MAGIC         0xdf6977f231abd910ULL
+# define V4V_PFN_LIST_MAGIC     0x91dd6159045b302dULL
+#else
+# define V4V_RING_MAGIC         0xdf6977f231abd910
+# define V4V_PFN_LIST_MAGIC     0x91dd6159045b302d
+#endif
+#define V4V_DOMID_INVALID       (0x7FFFU)
+#define V4V_DOMID_NONE          V4V_DOMID_INVALID
+#define V4V_DOMID_ANY           V4V_DOMID_INVALID
+#define V4V_PORT_NONE           0
+
+typedef struct v4v_iov
+{
+    uint64_t iov_base;
+    uint64_t iov_len;
+} V4V_PACKED v4v_iov_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_iov_t);
+
+typedef struct v4v_addr
+{
+    uint32_t port;
+    domid_t domain;
+} V4V_PACKED v4v_addr_t;
+
+DEFINE_XEN_GUEST_HANDLE (v4v_addr_t);
+
+typedef struct v4v_ring_id
+{
+    struct v4v_addr addr;
+    domid_t partner;
+} V4V_PACKED v4v_ring_id_t;
+
+
+typedef uint64_t v4v_pfn_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_pfn_t);
+
+typedef struct v4v_pfn_list_t
+{
+    uint64_t magic;
+    uint32_t npage;
+    uint32_t pad;
+    uint64_t reserved[3];
+    v4v_pfn_t pages[0];
+} V4V_PACKED v4v_pfn_list_t;
+
+DEFINE_XEN_GUEST_HANDLE (v4v_pfn_list_t);
+
+
+typedef struct v4v_ring
+{
+    /* v4v magic number */
+    uint64_t magic;
+    /*
+     * id
+     *
+     * xen only looks at this during register/unregister
+     * and will fill in id.addr.domain
+     */
+    struct v4v_ring_id id;
+    /* length of ring[], must be a multiple of 8 */
+    uint32_t len;
+    /* rx pointer, modified by domain */
+    V4V_VOLATILE uint32_t rx_ptr;
+    /* tx pointer, modified by xen */
+    V4V_VOLATILE uint32_t tx_ptr;
+    /* padding */
+    uint64_t reserved[4];
+    /* ring */
+    V4V_VOLATILE uint8_t ring[0];
+} V4V_PACKED v4v_ring_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_t);
+
+#ifdef __i386__
+#define V4V_RING_DATA_MAGIC	0x4ce4d30fbc82e92aULL
+#else
+#define V4V_RING_DATA_MAGIC	0x4ce4d30fbc82e92a
+#endif
+
+#define V4V_RING_DATA_F_EMPTY       1U << 0 /* Ring is empty */
+#define V4V_RING_DATA_F_EXISTS      1U << 1 /* Ring exists */
+#define V4V_RING_DATA_F_PENDING     1U << 2 /* Pending interrupt exists - do not
+                                               rely on this field - for
+                                               profiling only */
+#define V4V_RING_DATA_F_SUFFICIENT  1U << 3 /* Sufficient space to queue
+                                               space_required bytes exists */
+
+typedef struct v4v_ring_data_ent
+{
+    struct v4v_addr ring;
+    uint16_t flags;
+    uint32_t space_required;
+    uint32_t max_message_size;
+} V4V_PACKED v4v_ring_data_ent_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_data_ent_t);
+
+typedef struct v4v_ring_data
+{
+    uint64_t magic;
+    uint32_t nent;
+    uint32_t pad;
+    uint64_t reserved[4];
+    struct v4v_ring_data_ent data[0];
+} V4V_PACKED v4v_ring_data_t;
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_data_t);
+
+
+#define V4V_ROUNDUP(a) (((a) +0xf ) & ~0xf)
+/* Messages on the ring are padded to 128 bits
+ * Len here refers to the exact length of the data not including the
+ * 128 bit header. The message uses
+ * ((len +0xf) & ~0xf) + sizeof(v4v_ring_message_header) bytes
+ */
+
+struct v4v_stream_header
+{
+    uint32_t flags;
+    uint32_t conid;
+} V4V_PACKED;
+
+struct v4v_ring_message_header
+{
+    uint32_t len;
+    struct v4v_addr source;
+    uint16_t pad;
+    uint32_t protocol;
+    uint8_t data[0];
+} V4V_PACKED;
+
+
+/*
+ * HYPERCALLS
+ */
+
+#define V4VOP_register_ring 	1
+/*
+ * Registers a ring with Xen, if a ring with the same v4v_ring_id exists,
+ * this ring takes its place, registration will not change tx_ptr
+ * unless it is invalid
+ *
+ * do_v4v_op(V4VOP_unregister_ring,
+ *           XEN_GUEST_HANDLE(v4v_ring_t),
+ *           XEN_GUEST_HANDLE(v4v_pfn_list_t),
+ *           NULL, 0, 0)
+ */
+
+
+#define V4VOP_unregister_ring 	2
+/*
+ * Unregister a ring.
+ *
+ * v4v_hypercall(V4VOP_send, XEN_GUEST_HANDLE(v4v_ring_t), NULL, NULL, 0, 0)
+ */
+
+#define V4VOP_send 		3
+/*
+ * Sends len bytes of buf to dst, giving src as the source address (xen will
+ * ignore src->domain and put your domain in the actually message), xen
+ * first looks for a ring with id.addr==dst and id.partner==sending_domain
+ * if that fails it looks for id.addr==dst and id.partner==DOMID_ANY.
+ * protocol is the 32 bit protocol number used from the message
+ * most likely V4V_PROTO_DGRAM or STREAM. If insufficient space exists
+ * it will return -EAGAIN and xen will twing the V4V_INTERRUPT when
+ * sufficient space becomes available
+ *
+ * v4v_hypercall(V4VOP_send,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) src,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) dst,
+ *               XEN_GUEST_HANDLE(void) buf,
+ *               uint32_t len,
+ *               uint32_t protocol)
+ */
+
+
+#define V4VOP_notify 		4
+/* Asks xen for information about other rings in the system
+ *
+ * v4v_ring_data_t contains an array of v4v_ring_data_ent_t
+ *
+ * ent->ring is the v4v_addr_t of the ring you want information on
+ * the same matching rules are used as for V4VOP_send.
+ *
+ * ent->space_required  if this field is not null xen will check
+ * that there is space in the destination ring for this many bytes
+ * of payload. If there is it will set the V4V_RING_DATA_F_SUFFICIENT
+ * and CANCEL any pending interrupt for that ent->ring, if insufficient
+ * space is available it will schedule an interrupt and the flag will
+ * not be set.
+ *
+ * The flags are set by xen when notify replies
+ * V4V_RING_DATA_F_EMPTY	ring is empty
+ * V4V_RING_DATA_F_PENDING	interrupt is pending - don't rely on this
+ * V4V_RING_DATA_F_SUFFICIENT	sufficient space for space_required is there
+ * V4V_RING_DATA_F_EXISTS	ring exists
+ *
+ * v4v_hypercall(V4VOP_notify,
+ *               XEN_GUEST_HANDLE(v4v_ring_data_t) buf,
+ *               NULL, NULL, 0, 0)
+ */
+
+
+#define V4VOP_sendv		5
+/*
+ * Identical to V4VOP_send except rather than buf and len it takes
+ * an array of v4v_iov_t and a length of the array.
+ *
+ * v4v_hypercall(V4VOP_sendv,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) src,
+ *               XEN_GUEST_HANDLE(v4v_addr_t) dst,
+ *               XEN_GUEST_HANDLE(v4v_iov_t),
+ *               UINT32_t niov,
+ *               uint32_t protocol)
+ */
+
+#if !defined(__GNUC__)
+# pragma warning(pop)
+# pragma pack(pop)
+#endif
+
+#if !defined(__GNUC__)
+static __inline void
+mb (void)
+{
+    _mm_mfence ();
+    _ReadWriteBarrier ();
+}
+#else
+#ifndef mb
+# define mb() __asm__ __volatile__ ("" ::: "memory");
+#endif
+#endif
+
+#if !defined(V4V_EXCLUDE_UTILS)
+
+/*************** Utility functions **************/
+
+static V4V_INLINE uint32_t
+v4v_ring_bytes_to_read (volatile struct v4v_ring *r)
+{
+    int32_t ret;
+    ret = r->tx_ptr - r->rx_ptr;
+    if (ret >= 0)
+        return ret;
+    return (uint32_t) (r->len + ret);
+}
+
+
+/*
+ * Copy at most t bytes of the next message in the ring, into the buffer
+ * at _buf, setting from and protocol if they are not NULL, returns
+ * the actual length of the message, or -1 if there is nothing to read
+ */
+V4V_UNUSED static V4V_INLINE ssize_t
+v4v_copy_out (struct v4v_ring *r, struct v4v_addr *from, uint32_t * protocol,
+              void *_buf, size_t t, int consume)
+{
+    volatile struct v4v_ring_message_header *mh;
+    /* unnecessary cast from void * required by MSVC compiler */
+    uint8_t *buf = (uint8_t *) _buf;
+    uint32_t btr = v4v_ring_bytes_to_read (r);
+    uint32_t rxp = r->rx_ptr;
+    uint32_t bte;
+    uint32_t len;
+    ssize_t ret;
+
+
+    if (btr < sizeof (*mh))
+        return -1;
+
+    /*
+     * Becuase the message_header is 128 bits long and the ring is 128 bit
+     * aligned, we're gaurunteed never to wrap
+     */
+    mh = (volatile struct v4v_ring_message_header *) &r->ring[r->rx_ptr];
+
+    len = mh->len;
+    if (btr < len)
+        return -1;
+
+#if defined(__GNUC__)
+    if (from)
+        *from = mh->source;
+#else
+    /* MSVC can't do the above */
+    if (from)
+	memcpy((void *) from, (void *) &(mh->source), sizeof(struct v4v_addr));
+#endif
+
+    if (protocol)
+        *protocol = mh->protocol;
+
+    rxp += sizeof (*mh);
+    if (rxp == r->len)
+        rxp = 0;
+    len -= sizeof (*mh);
+    ret = len;
+
+    bte = r->len - rxp;
+
+    if (bte < len)
+    {
+        if (t < bte)
+        {
+            if (buf)
+            {
+                memcpy (buf, (void *) &r->ring[rxp], t);
+                buf += t;
+            }
+
+            rxp = 0;
+            len -= bte;
+            t = 0;
+        }
+        else
+        {
+            if (buf)
+            {
+                memcpy (buf, (void *) &r->ring[rxp], bte);
+                buf += bte;
+            }
+            rxp = 0;
+            len -= bte;
+            t -= bte;
+        }
+    }
+
+    if (buf && t)
+        memcpy (buf, (void *) &r->ring[rxp], (t < len) ? t : len);
+
+
+    rxp += V4V_ROUNDUP (len);
+    if (rxp == r->len)
+        rxp = 0;
+
+    mb ();
+
+    if (consume)
+        r->rx_ptr = rxp;
+
+    return ret;
+}
+
+static V4V_INLINE void
+v4v_memcpy_skip (void *_dst, const void *_src, size_t len, size_t *skip)
+{
+    const uint8_t *src =  (const uint8_t *) _src;
+    uint8_t *dst = (uint8_t *) _dst;
+
+    if (!*skip)
+    {
+        memcpy (dst, src, len);
+        return;
+    }
+
+    if (*skip >= len)
+    {
+        *skip -= len;
+        return;
+    }
+
+    src += *skip;
+    dst += *skip;
+    len -= *skip;
+    *skip = 0;
+
+    memcpy (dst, src, len);
+}
+
+/*
+ * Copy at most t bytes of the next message in the ring, into the buffer
+ * at _buf, skipping skip bytes, setting from and protocol if they are not
+ * NULL, returns the actual length of the message, or -1 if there is
+ * nothing to read
+ */
+static ssize_t
+v4v_copy_out_offset (struct v4v_ring *r, struct v4v_addr *from,
+                     uint32_t * protocol, void *_buf, size_t t, int consume,
+                     size_t skip) V4V_UNUSED;
+
+V4V_INLINE static ssize_t
+v4v_copy_out_offset (struct v4v_ring *r, struct v4v_addr *from,
+                     uint32_t * protocol, void *_buf, size_t t, int consume,
+                     size_t skip)
+{
+    volatile struct v4v_ring_message_header *mh;
+    /* unnecessary cast from void * required by MSVC compiler */
+    uint8_t *buf = (uint8_t *) _buf;
+    uint32_t btr = v4v_ring_bytes_to_read (r);
+    uint32_t rxp = r->rx_ptr;
+    uint32_t bte;
+    uint32_t len;
+    ssize_t ret;
+
+    buf -= skip;
+
+    if (btr < sizeof (*mh))
+        return -1;
+
+    /*
+     * Becuase the message_header is 128 bits long and the ring is 128 bit
+     * aligned, we're gaurunteed never to wrap
+     */
+    mh = (volatile struct v4v_ring_message_header *) &r->ring[r->rx_ptr];
+
+    len = mh->len;
+    if (btr < len)
+        return -1;
+
+#if defined(__GNUC__)
+    if (from)
+        *from = mh->source;
+#else
+    /* MSVC can't do the above */
+    if (from)
+	memcpy((void *) from, (void *) &(mh->source), sizeof(struct v4v_addr));
+#endif
+
+    if (protocol)
+        *protocol = mh->protocol;
+
+    rxp += sizeof (*mh);
+    if (rxp == r->len)
+        rxp = 0;
+    len -= sizeof (*mh);
+    ret = len;
+
+    bte = r->len - rxp;
+
+    if (bte < len)
+    {
+        if (t < bte)
+        {
+            if (buf)
+            {
+                v4v_memcpy_skip (buf, (void *) &r->ring[rxp], t, &skip);
+                buf += t;
+            }
+
+            rxp = 0;
+            len -= bte;
+            t = 0;
+        }
+        else
+        {
+            if (buf)
+            {
+                v4v_memcpy_skip (buf, (void *) &r->ring[rxp], bte,
+                        &skip);
+                buf += bte;
+            }
+            rxp = 0;
+            len -= bte;
+            t -= bte;
+        }
+    }
+
+    if (buf && t)
+        v4v_memcpy_skip (buf, (void *) &r->ring[rxp], (t < len) ? t : len,
+                         &skip);
+
+
+    rxp += V4V_ROUNDUP (len);
+    if (rxp == r->len)
+        rxp = 0;
+
+    mb ();
+
+    if (consume)
+        r->rx_ptr = rxp;
+
+    return ret;
+}
+
+#endif /* V4V_EXCLUDE_UTILS */
+
+#endif /* __XEN_PUBLIC_V4V_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 033cbba..dce0338 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -99,7 +99,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 #define __HYPERVISOR_domctl               36
 #define __HYPERVISOR_kexec_op             37
 #define __HYPERVISOR_tmem_op              38
-#define __HYPERVISOR_xc_reserved_op       39 /* reserved for XenClient */
+#define __HYPERVISOR_v4v_op               39
 
 /* Architecture-specific hypercall definitions. */
 #define __HYPERVISOR_arch_0               48
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 53804c8..457e3f2 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -23,6 +23,7 @@
 #include <public/sysctl.h>
 #include <public/vcpu.h>
 #include <public/mem_event.h>
+#include <xen/v4v.h>
 
 #ifdef CONFIG_COMPAT
 #include <compat/vcpu.h>
@@ -350,6 +351,10 @@ struct domain
     nodemask_t node_affinity;
     unsigned int last_alloc_node;
     spinlock_t node_affinity_lock;
+
+    /* v4v */
+    rwlock_t v4v_lock;
+    struct v4v_domain *v4v;
 };
 
 struct domain_setup_info
diff --git a/xen/include/xen/v4v.h b/xen/include/xen/v4v.h
new file mode 100644
index 0000000..4325a03
--- /dev/null
+++ b/xen/include/xen/v4v.h
@@ -0,0 +1,109 @@
+/******************************************************************************
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __V4V_PRIVATE_H__
+#define __V4V_PRIVATE_H__
+
+#include <xen/config.h>
+#include <xen/types.h>
+#include <xen/spinlock.h>
+#include <xen/smp.h>
+#include <xen/shared.h>
+#include <xen/list.h>
+#include <public/v4v.h>
+
+
+#define V4V_HTABLE_SIZE 32
+
+
+static inline uint16_t
+v4v_hash_fn (struct v4v_ring_id *id)
+{
+  uint16_t ret;
+  ret = (uint16_t) (id->addr.port >> 16);
+  ret ^= (uint16_t) id->addr.port;
+  ret ^= id->addr.domain;
+  ret ^= id->partner;
+
+  ret &= (V4V_HTABLE_SIZE-1);
+
+  return ret;
+}
+
+struct v4v_pending_ent
+{
+  struct hlist_node node;
+  domid_t id;
+  uint32_t len;
+};
+
+
+struct v4v_ring_info
+{
+  /* next node in the hash, protected by L2  */
+  struct hlist_node node;
+  /* this ring's id, protected by L2 */
+  struct v4v_ring_id id;
+  /* L3 */
+  spinlock_t lock;
+  /* cached length of the ring (from ring->len), protected by L3 */
+  uint32_t len;
+  uint32_t npage;
+  /* cached tx pointer location, protected by L3 */
+  uint32_t tx_ptr;
+  /* guest ring, protected by L3 */
+  XEN_GUEST_HANDLE(v4v_ring_t) ring;
+  /* mapped ring pages protected by L3*/
+  uint8_t **mfn_mapping;
+  /* list of mfns of guest ring */
+  mfn_t *mfns;
+  /* list of struct v4v_pending_ent for this ring, L3 */
+  struct hlist_head pending;
+};
+
+/*
+ * The value of the v4v element in a struct domain is
+ * protected by the global lock L1
+ */
+struct v4v_domain
+{
+  /* L2 */
+  rwlock_t lock;
+  /* protected by L2 */
+  struct hlist_head ring_hash[V4V_HTABLE_SIZE];
+};
+
+void v4v_destroy(struct domain *d);
+int v4v_init(struct domain *d);
+long do_v4v_op (int cmd,
+                XEN_GUEST_HANDLE (void) arg1,
+                XEN_GUEST_HANDLE (void) arg2,
+                XEN_GUEST_HANDLE (void) arg3,
+                uint32_t arg4,
+                uint32_t arg5);
+
+#endif /* __V4V_PRIVATE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------true--


From xen-devel-bounces@lists.xen.org Thu May 31 15:04:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:04:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6v7-0006CR-4G; Thu, 31 May 2012 15:04:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa6v4-0006Au-Pb
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:04:11 +0000
Received: from [85.158.139.83:31025] by server-2.bemta-5.messagelabs.com id
	9F/B7-09957-96887CF4; Thu, 31 May 2012 15:04:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338476648!27130552!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4727 invoked from network); 31 May 2012 15:04:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:04:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:04:07 +0100
Message-Id: <4FC7A4860200007800087699@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:04:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part1E309B76.0__="
Subject: [Xen-devel] [PATCH] linux-2.6.18: widen use of (and introduce
 further) MULTI_* helpers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part1E309B76.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

This includes folding an MMU update and a grant table operation into a
multicall in gnttab_copy_grant_page()

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/core/gnttab.c
+++ b/drivers/xen/core/gnttab.c
@@ -607,13 +607,9 @@ static void gnttab_page_free(struct page
 int gnttab_copy_grant_page(grant_ref_t ref, struct page **pagep)
 {
 	struct gnttab_unmap_and_replace unmap;
-	mmu_update_t mmu;
-	struct page *page;
-	struct page *new_page;
-	void *new_addr;
-	void *addr;
-	paddr_t pfn;
-	maddr_t mfn;
+	struct page *page, *new_page;
+	void *addr, *new_addr;
+	unsigned long pfn;
 	maddr_t new_mfn;
 	int err;
=20
@@ -631,7 +627,6 @@ int gnttab_copy_grant_page(grant_ref_t r
 	copy_page(new_addr, addr);
=20
 	pfn =3D page_to_pfn(page);
-	mfn =3D pfn_to_mfn(pfn);
 	new_mfn =3D virt_to_mfn(new_addr);
=20
 	write_seqlock(&gnttab_dma_lock);
@@ -647,27 +642,32 @@ int gnttab_copy_grant_page(grant_ref_t r
 		goto out;
 	}
=20
-	if (!xen_feature(XENFEAT_auto_translated_physmap))
-		set_phys_to_machine(pfn, new_mfn);
-
 	gnttab_set_replace_op(&unmap, (unsigned long)addr,
 			      (unsigned long)new_addr, ref);
=20
-	err =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_and_replace,
-					&unmap, 1);
-	BUG_ON(err);
-	BUG_ON(unmap.status !=3D GNTST_okay);
-
-	write_sequnlock(&gnttab_dma_lock);
-
 	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
+		multicall_entry_t mc[2];
+		mmu_update_t mmu;
+
+		set_phys_to_machine(pfn, new_mfn);
 		set_phys_to_machine(page_to_pfn(new_page), INVALID_P2M_ENTR=
Y);
=20
+		MULTI_grant_table_op(&mc[0], GNTTABOP_unmap_and_replace,
+				     &unmap, 1);
+
 		mmu.ptr =3D (new_mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE;
 		mmu.val =3D pfn;
-		err =3D HYPERVISOR_mmu_update(&mmu, 1, NULL, DOMID_SELF);
-		BUG_ON(err);
-	}
+		MULTI_mmu_update(&mc[1], &mmu, 1, NULL, DOMID_SELF);
+
+		err =3D HYPERVISOR_multicall_check(mc, 2, NULL);
+	} else
+		err =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_and_replac=
e,
+						&unmap, 1);
+
+	BUG_ON(err);
+	BUG_ON(unmap.status !=3D GNTST_okay);
+
+	write_sequnlock(&gnttab_dma_lock);
=20
 	new_page->mapping =3D page->mapping;
 	new_page->index =3D page->index;
--- a/drivers/xen/netback/netback.c
+++ b/drivers/xen/netback/netback.c
@@ -644,29 +644,21 @@ static void net_rx_action(unsigned long=20
 		BUG_ON(mcl[-1].op !=3D __HYPERVISOR_update_va_mapping);
 		mcl[-1].args[MULTI_UVMFLAGS_INDEX] =3D UVMF_TLB_FLUSH|UVMF_=
ALL;
=20
-		mcl->op =3D __HYPERVISOR_mmu_update;
-		mcl->args[0] =3D (unsigned long)rx_mmu;
-		mcl->args[1] =3D npo.mmu_prod;
-		mcl->args[2] =3D 0;
-		mcl->args[3] =3D DOMID_SELF;
+		MULTI_mmu_update(mcl, rx_mmu, npo.mmu_prod, 0, DOMID_SELF);=

 	}
=20
 	if (npo.trans_prod) {
 		BUG_ON(npo.trans_prod > ARRAY_SIZE(grant_trans_op));
-		mcl =3D npo.mcl + npo.mcl_prod++;
-		mcl->op =3D __HYPERVISOR_grant_table_op;
-		mcl->args[0] =3D GNTTABOP_transfer;
-		mcl->args[1] =3D (unsigned long)grant_trans_op;
-		mcl->args[2] =3D npo.trans_prod;
+		MULTI_grant_table_op(npo.mcl + npo.mcl_prod++,
+				     GNTTABOP_transfer, grant_trans_op,
+				     npo.trans_prod);
 	}
=20
 	if (npo.copy_prod) {
 		BUG_ON(npo.copy_prod > ARRAY_SIZE(grant_copy_op));
-		mcl =3D npo.mcl + npo.mcl_prod++;
-		mcl->op =3D __HYPERVISOR_grant_table_op;
-		mcl->args[0] =3D GNTTABOP_copy;
-		mcl->args[1] =3D (unsigned long)grant_copy_op;
-		mcl->args[2] =3D npo.copy_prod;
+		MULTI_grant_table_op(npo.mcl + npo.mcl_prod++,
+				     GNTTABOP_copy, grant_copy_op,
+				     npo.copy_prod);
 	}
=20
 	/* Nothing to do? */
--- a/drivers/xen/netfront/netfront.c
+++ b/drivers/xen/netfront/netfront.c
@@ -841,9 +841,9 @@ no_skb:
 				UVMF_TLB_FLUSH|UVMF_ALL;
=20
 			/* Give away a batch of pages. */
-			np->rx_mcl[i].op =3D __HYPERVISOR_memory_op;
-			np->rx_mcl[i].args[0] =3D XENMEM_decrease_reservati=
on;
-			np->rx_mcl[i].args[1] =3D (unsigned long)&reservati=
on;
+			MULTI_memory_op(np->rx_mcl + i,
+					XENMEM_decrease_reservation,
+					&reservation);
=20
 			/* Zap PTEs and give away pages in one big
 			 * multicall. */
@@ -1326,7 +1326,6 @@ static int netif_poll(struct net_device=20
 	struct netif_rx_response *rx =3D &rinfo.rx;
 	struct netif_extra_info *extras =3D rinfo.extras;
 	RING_IDX i, rp;
-	struct multicall_entry *mcl;
 	int work_done, budget, more_to_do =3D 1, accel_more_to_do =3D 1;
 	struct sk_buff_head rxq;
 	struct sk_buff_head errq;
@@ -1453,12 +1452,9 @@ err:=09
=20
 		/* Do all the remapping work and M2P updates. */
 		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
-			mcl =3D np->rx_mcl + pages_flipped;
-			mcl->op =3D __HYPERVISOR_mmu_update;
-			mcl->args[0] =3D (unsigned long)np->rx_mmu;
-			mcl->args[1] =3D pages_flipped;
-			mcl->args[2] =3D 0;
-			mcl->args[3] =3D DOMID_SELF;
+			MULTI_mmu_update(np->rx_mcl + pages_flipped,
+					 np->rx_mmu, pages_flipped, 0,
+					 DOMID_SELF);
 			err =3D HYPERVISOR_multicall_check(np->rx_mcl,
 							 pages_flipped + =
1,
 							 NULL);
@@ -1623,14 +1619,10 @@ static void netif_release_rx_bufs_flip(s
=20
 		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* Do all the remapping work and M2P updates. */
-			mcl->op =3D __HYPERVISOR_mmu_update;
-			mcl->args[0] =3D (unsigned long)np->rx_mmu;
-			mcl->args[1] =3D mmu - np->rx_mmu;
-			mcl->args[2] =3D 0;
-			mcl->args[3] =3D DOMID_SELF;
-			mcl++;
+			MULTI_mmu_update(mcl, np->rx_mmu, mmu - np->rx_mmu,=

+					 0, DOMID_SELF);
 			rc =3D HYPERVISOR_multicall_check(
-				np->rx_mcl, mcl - np->rx_mcl, NULL);
+				np->rx_mcl, mcl + 1 - np->rx_mcl, NULL);
 			BUG_ON(rc);
 		}
 	}
--- a/include/asm-i386/mach-xen/asm/hypervisor.h
+++ b/include/asm-i386/mach-xen/asm/hypervisor.h
@@ -243,6 +243,26 @@ MULTI_update_va_mapping(
 }
=20
 static inline void
+MULTI_mmu_update(multicall_entry_t *mcl, mmu_update_t *req,
+		 unsigned int count, unsigned int *success_count,
+		 domid_t domid)
+{
+    mcl->op =3D __HYPERVISOR_mmu_update;
+    mcl->args[0] =3D (unsigned long)req;
+    mcl->args[1] =3D count;
+    mcl->args[2] =3D (unsigned long)success_count;
+    mcl->args[3] =3D domid;
+}
+
+static inline void
+MULTI_memory_op(multicall_entry_t *mcl, unsigned int cmd, void *arg)
+{
+	mcl->op =3D __HYPERVISOR_memory_op;
+	mcl->args[0] =3D cmd;
+	mcl->args[1] =3D (unsigned long)arg;
+}
+
+static inline void
 MULTI_grant_table_op(multicall_entry_t *mcl, unsigned int cmd,
 		     void *uop, unsigned int count)
 {
@@ -255,8 +275,15 @@ MULTI_grant_table_op(multicall_entry_t *
 #else /* !defined(CONFIG_XEN) */
=20
 /* Multicalls not supported for HVM guests. */
-#define MULTI_update_va_mapping(a,b,c,d) ((void)0)
-#define MULTI_grant_table_op(a,b,c,d) ((void)0)
+static inline void MULTI_bug(multicall_entry_t *mcl, ...)
+{
+	BUG_ON(mcl);
+}
+
+#define MULTI_update_va_mapping	MULTI_bug
+#define MULTI_mmu_update	MULTI_bug
+#define MULTI_memory_op		MULTI_bug
+#define MULTI_grant_table_op	MULTI_bug
=20
 #endif
=20



--=__Part1E309B76.0__=
Content-Type: text/plain; name="xen-multi-ops.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-multi-ops.patch"

widen use of (and introduce further) MULTI_* helpers=0A=0AThis includes =
folding an MMU update and a grant table operation into a=0Amulticall in =
gnttab_copy_grant_page()=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com=
>=0A=0A--- a/drivers/xen/core/gnttab.c=0A+++ b/drivers/xen/core/gnttab.c=0A=
@@ -607,13 +607,9 @@ static void gnttab_page_free(struct page=0A int =
gnttab_copy_grant_page(grant_ref_t ref, struct page **pagep)=0A {=0A 	=
struct gnttab_unmap_and_replace unmap;=0A-	mmu_update_t mmu;=0A-	=
struct page *page;=0A-	struct page *new_page;=0A-	void *new_addr;=0A-=
	void *addr;=0A-	paddr_t pfn;=0A-	maddr_t mfn;=0A+	=
struct page *page, *new_page;=0A+	void *addr, *new_addr;=0A+	=
unsigned long pfn;=0A 	maddr_t new_mfn;=0A 	int err;=0A =0A@@ -631,7 =
+627,6 @@ int gnttab_copy_grant_page(grant_ref_t r=0A 	copy_page(new_addr,=
 addr);=0A =0A 	pfn =3D page_to_pfn(page);=0A-	mfn =3D pfn_to_mfn(pfn);=0A=
 	new_mfn =3D virt_to_mfn(new_addr);=0A =0A 	write_seqlock(&gntt=
ab_dma_lock);=0A@@ -647,27 +642,32 @@ int gnttab_copy_grant_page(grant_ref_=
t r=0A 		goto out;=0A 	}=0A =0A-	if (!xen_feature(XENFEAT_au=
to_translated_physmap))=0A-		set_phys_to_machine(pfn, =
new_mfn);=0A-=0A 	gnttab_set_replace_op(&unmap, (unsigned long)addr,=
=0A 			      (unsigned long)new_addr, ref);=0A =0A-	=
err =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_and_replace,=0A-		=
			&unmap, 1);=0A-	BUG_ON(err);=0A-	BUG_ON(unma=
p.status !=3D GNTST_okay);=0A-=0A-	write_sequnlock(&gnttab_dma_lock);=
=0A-=0A 	if (!xen_feature(XENFEAT_auto_translated_physmap)) {=0A+	=
	multicall_entry_t mc[2];=0A+		mmu_update_t mmu;=0A+=0A+	=
	set_phys_to_machine(pfn, new_mfn);=0A 		set_phys_to_machine=
(page_to_pfn(new_page), INVALID_P2M_ENTRY);=0A =0A+		MULTI_grant=
_table_op(&mc[0], GNTTABOP_unmap_and_replace,=0A+				=
     &unmap, 1);=0A+=0A 		mmu.ptr =3D (new_mfn << PAGE_SHIFT)=
 | MMU_MACHPHYS_UPDATE;=0A 		mmu.val =3D pfn;=0A-		=
err =3D HYPERVISOR_mmu_update(&mmu, 1, NULL, DOMID_SELF);=0A-		=
BUG_ON(err);=0A-	}=0A+		MULTI_mmu_update(&mc[1], &mmu, 1, =
NULL, DOMID_SELF);=0A+=0A+		err =3D HYPERVISOR_multicall_check(=
mc, 2, NULL);=0A+	} else=0A+		err =3D HYPERVISOR_grant_ta=
ble_op(GNTTABOP_unmap_and_replace,=0A+						=
&unmap, 1);=0A+=0A+	BUG_ON(err);=0A+	BUG_ON(unmap.status !=3D =
GNTST_okay);=0A+=0A+	write_sequnlock(&gnttab_dma_lock);=0A =0A 	=
new_page->mapping =3D page->mapping;=0A 	new_page->index =3D =
page->index;=0A--- a/drivers/xen/netback/netback.c=0A+++ b/drivers/xen/netb=
ack/netback.c=0A@@ -644,29 +644,21 @@ static void net_rx_action(unsigned =
long =0A 		BUG_ON(mcl[-1].op !=3D __HYPERVISOR_update_va_mappi=
ng);=0A 		mcl[-1].args[MULTI_UVMFLAGS_INDEX] =3D UVMF_TLB_FLU=
SH|UVMF_ALL;=0A =0A-		mcl->op =3D __HYPERVISOR_mmu_update;=0A-	=
	mcl->args[0] =3D (unsigned long)rx_mmu;=0A-		mcl->args[1=
] =3D npo.mmu_prod;=0A-		mcl->args[2] =3D 0;=0A-		mcl->args[3=
] =3D DOMID_SELF;=0A+		MULTI_mmu_update(mcl, rx_mmu, npo.mmu_prod,=
 0, DOMID_SELF);=0A 	}=0A =0A 	if (npo.trans_prod) {=0A 		=
BUG_ON(npo.trans_prod > ARRAY_SIZE(grant_trans_op));=0A-		=
mcl =3D npo.mcl + npo.mcl_prod++;=0A-		mcl->op =3D __HYPERVISOR_gr=
ant_table_op;=0A-		mcl->args[0] =3D GNTTABOP_transfer;=0A-		=
mcl->args[1] =3D (unsigned long)grant_trans_op;=0A-		mcl->args[2=
] =3D npo.trans_prod;=0A+		MULTI_grant_table_op(npo.mcl + =
npo.mcl_prod++,=0A+				     GNTTABOP_transfer, =
grant_trans_op,=0A+				     npo.trans_prod);=0A 	=
}=0A =0A 	if (npo.copy_prod) {=0A 		BUG_ON(npo.copy_pro=
d > ARRAY_SIZE(grant_copy_op));=0A-		mcl =3D npo.mcl + =
npo.mcl_prod++;=0A-		mcl->op =3D __HYPERVISOR_grant_table_op;=0A=
-		mcl->args[0] =3D GNTTABOP_copy;=0A-		mcl->args[1=
] =3D (unsigned long)grant_copy_op;=0A-		mcl->args[2] =3D npo.copy_p=
rod;=0A+		MULTI_grant_table_op(npo.mcl + npo.mcl_prod++,=0A+	=
			     GNTTABOP_copy, grant_copy_op,=0A+			=
	     npo.copy_prod);=0A 	}=0A =0A 	/* Nothing to do? =
*/=0A--- a/drivers/xen/netfront/netfront.c=0A+++ b/drivers/xen/netfront/net=
front.c=0A@@ -841,9 +841,9 @@ no_skb:=0A 				=
UVMF_TLB_FLUSH|UVMF_ALL;=0A =0A 			/* Give away a =
batch of pages. */=0A-			np->rx_mcl[i].op =3D __HYPERVISOR_m=
emory_op;=0A-			np->rx_mcl[i].args[0] =3D XENMEM_decrease_r=
eservation;=0A-			np->rx_mcl[i].args[1] =3D (unsigned =
long)&reservation;=0A+			MULTI_memory_op(np->rx_mcl + =
i,=0A+					XENMEM_decrease_reservation,=0A+	=
				&reservation);=0A =0A 			/* =
Zap PTEs and give away pages in one big=0A 			 * =
multicall. */=0A@@ -1326,7 +1326,6 @@ static int netif_poll(struct =
net_device =0A 	struct netif_rx_response *rx =3D &rinfo.rx;=0A 	struct =
netif_extra_info *extras =3D rinfo.extras;=0A 	RING_IDX i, rp;=0A-	=
struct multicall_entry *mcl;=0A 	int work_done, budget, more_to_do =
=3D 1, accel_more_to_do =3D 1;=0A 	struct sk_buff_head rxq;=0A 	=
struct sk_buff_head errq;=0A@@ -1453,12 +1452,9 @@ err:	=0A =0A 		=
/* Do all the remapping work and M2P updates. */=0A 		if =
(!xen_feature(XENFEAT_auto_translated_physmap)) {=0A-			=
mcl =3D np->rx_mcl + pages_flipped;=0A-			mcl->op =3D =
__HYPERVISOR_mmu_update;=0A-			mcl->args[0] =3D (unsigned =
long)np->rx_mmu;=0A-			mcl->args[1] =3D pages_flipped;=0A-=
			mcl->args[2] =3D 0;=0A-			mcl->args[3=
] =3D DOMID_SELF;=0A+			MULTI_mmu_update(np->rx_mcl + =
pages_flipped,=0A+					 np->rx_mmu, =
pages_flipped, 0,=0A+					 DOMID_SELF);=0A 	=
		err =3D HYPERVISOR_multicall_check(np->rx_mcl,=0A 		=
					 pages_flipped + 1,=0A 			=
				 NULL);=0A@@ -1623,14 +1619,10 @@ static =
void netif_release_rx_bufs_flip(s=0A =0A 		if (!xen_feature(XE=
NFEAT_auto_translated_physmap)) {=0A 			/* Do all the =
remapping work and M2P updates. */=0A-			mcl->op =3D =
__HYPERVISOR_mmu_update;=0A-			mcl->args[0] =3D (unsigned =
long)np->rx_mmu;=0A-			mcl->args[1] =3D mmu - np->rx_mmu;=
=0A-			mcl->args[2] =3D 0;=0A-			mcl->args[3=
] =3D DOMID_SELF;=0A-			mcl++;=0A+			=
MULTI_mmu_update(mcl, np->rx_mmu, mmu - np->rx_mmu,=0A+				=
	 0, DOMID_SELF);=0A 			rc =3D HYPERVISOR_multicall=
_check(=0A-				np->rx_mcl, mcl - np->rx_mcl, =
NULL);=0A+				np->rx_mcl, mcl + 1 - np->rx_mcl, =
NULL);=0A 			BUG_ON(rc);=0A 		}=0A 	}=0A--- =
a/include/asm-i386/mach-xen/asm/hypervisor.h=0A+++ b/include/asm-i386/mach-=
xen/asm/hypervisor.h=0A@@ -243,6 +243,26 @@ MULTI_update_va_mapping(=0A =
}=0A =0A static inline void=0A+MULTI_mmu_update(multicall_entry_t *mcl, =
mmu_update_t *req,=0A+		 unsigned int count, unsigned int =
*success_count,=0A+		 domid_t domid)=0A+{=0A+    mcl->op =3D =
__HYPERVISOR_mmu_update;=0A+    mcl->args[0] =3D (unsigned long)req;=0A+   =
 mcl->args[1] =3D count;=0A+    mcl->args[2] =3D (unsigned long)success_cou=
nt;=0A+    mcl->args[3] =3D domid;=0A+}=0A+=0A+static inline void=0A+MULTI_=
memory_op(multicall_entry_t *mcl, unsigned int cmd, void *arg)=0A+{=0A+	=
mcl->op =3D __HYPERVISOR_memory_op;=0A+	mcl->args[0] =3D cmd;=0A+	=
mcl->args[1] =3D (unsigned long)arg;=0A+}=0A+=0A+static inline void=0A =
MULTI_grant_table_op(multicall_entry_t *mcl, unsigned int cmd,=0A 		=
     void *uop, unsigned int count)=0A {=0A@@ -255,8 +275,15 @@ MULTI_grant=
_table_op(multicall_entry_t *=0A #else /* !defined(CONFIG_XEN) */=0A =0A =
/* Multicalls not supported for HVM guests. */=0A-#define MULTI_update_va_m=
apping(a,b,c,d) ((void)0)=0A-#define MULTI_grant_table_op(a,b,c,d) =
((void)0)=0A+static inline void MULTI_bug(multicall_entry_t *mcl, =
...)=0A+{=0A+	BUG_ON(mcl);=0A+}=0A+=0A+#define MULTI_update_va_mapping	=
MULTI_bug=0A+#define MULTI_mmu_update	MULTI_bug=0A+#define MULTI_memory_o=
p		MULTI_bug=0A+#define MULTI_grant_table_op	=
MULTI_bug=0A =0A #endif=0A =0A
--=__Part1E309B76.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part1E309B76.0__=--


From xen-devel-bounces@lists.xen.org Thu May 31 15:04:17 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:04:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6v7-0006CR-4G; Thu, 31 May 2012 15:04:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa6v4-0006Au-Pb
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:04:11 +0000
Received: from [85.158.139.83:31025] by server-2.bemta-5.messagelabs.com id
	9F/B7-09957-96887CF4; Thu, 31 May 2012 15:04:09 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338476648!27130552!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4727 invoked from network); 31 May 2012 15:04:08 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:04:08 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:04:07 +0100
Message-Id: <4FC7A4860200007800087699@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:04:06 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "xen-devel" <xen-devel@lists.xen.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=__Part1E309B76.0__="
Subject: [Xen-devel] [PATCH] linux-2.6.18: widen use of (and introduce
 further) MULTI_* helpers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__Part1E309B76.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

This includes folding an MMU update and a grant table operation into a
multicall in gnttab_copy_grant_page()

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/core/gnttab.c
+++ b/drivers/xen/core/gnttab.c
@@ -607,13 +607,9 @@ static void gnttab_page_free(struct page
 int gnttab_copy_grant_page(grant_ref_t ref, struct page **pagep)
 {
 	struct gnttab_unmap_and_replace unmap;
-	mmu_update_t mmu;
-	struct page *page;
-	struct page *new_page;
-	void *new_addr;
-	void *addr;
-	paddr_t pfn;
-	maddr_t mfn;
+	struct page *page, *new_page;
+	void *addr, *new_addr;
+	unsigned long pfn;
 	maddr_t new_mfn;
 	int err;
=20
@@ -631,7 +627,6 @@ int gnttab_copy_grant_page(grant_ref_t r
 	copy_page(new_addr, addr);
=20
 	pfn =3D page_to_pfn(page);
-	mfn =3D pfn_to_mfn(pfn);
 	new_mfn =3D virt_to_mfn(new_addr);
=20
 	write_seqlock(&gnttab_dma_lock);
@@ -647,27 +642,32 @@ int gnttab_copy_grant_page(grant_ref_t r
 		goto out;
 	}
=20
-	if (!xen_feature(XENFEAT_auto_translated_physmap))
-		set_phys_to_machine(pfn, new_mfn);
-
 	gnttab_set_replace_op(&unmap, (unsigned long)addr,
 			      (unsigned long)new_addr, ref);
=20
-	err =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_and_replace,
-					&unmap, 1);
-	BUG_ON(err);
-	BUG_ON(unmap.status !=3D GNTST_okay);
-
-	write_sequnlock(&gnttab_dma_lock);
-
 	if (!xen_feature(XENFEAT_auto_translated_physmap)) {
+		multicall_entry_t mc[2];
+		mmu_update_t mmu;
+
+		set_phys_to_machine(pfn, new_mfn);
 		set_phys_to_machine(page_to_pfn(new_page), INVALID_P2M_ENTR=
Y);
=20
+		MULTI_grant_table_op(&mc[0], GNTTABOP_unmap_and_replace,
+				     &unmap, 1);
+
 		mmu.ptr =3D (new_mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE;
 		mmu.val =3D pfn;
-		err =3D HYPERVISOR_mmu_update(&mmu, 1, NULL, DOMID_SELF);
-		BUG_ON(err);
-	}
+		MULTI_mmu_update(&mc[1], &mmu, 1, NULL, DOMID_SELF);
+
+		err =3D HYPERVISOR_multicall_check(mc, 2, NULL);
+	} else
+		err =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_and_replac=
e,
+						&unmap, 1);
+
+	BUG_ON(err);
+	BUG_ON(unmap.status !=3D GNTST_okay);
+
+	write_sequnlock(&gnttab_dma_lock);
=20
 	new_page->mapping =3D page->mapping;
 	new_page->index =3D page->index;
--- a/drivers/xen/netback/netback.c
+++ b/drivers/xen/netback/netback.c
@@ -644,29 +644,21 @@ static void net_rx_action(unsigned long=20
 		BUG_ON(mcl[-1].op !=3D __HYPERVISOR_update_va_mapping);
 		mcl[-1].args[MULTI_UVMFLAGS_INDEX] =3D UVMF_TLB_FLUSH|UVMF_=
ALL;
=20
-		mcl->op =3D __HYPERVISOR_mmu_update;
-		mcl->args[0] =3D (unsigned long)rx_mmu;
-		mcl->args[1] =3D npo.mmu_prod;
-		mcl->args[2] =3D 0;
-		mcl->args[3] =3D DOMID_SELF;
+		MULTI_mmu_update(mcl, rx_mmu, npo.mmu_prod, 0, DOMID_SELF);=

 	}
=20
 	if (npo.trans_prod) {
 		BUG_ON(npo.trans_prod > ARRAY_SIZE(grant_trans_op));
-		mcl =3D npo.mcl + npo.mcl_prod++;
-		mcl->op =3D __HYPERVISOR_grant_table_op;
-		mcl->args[0] =3D GNTTABOP_transfer;
-		mcl->args[1] =3D (unsigned long)grant_trans_op;
-		mcl->args[2] =3D npo.trans_prod;
+		MULTI_grant_table_op(npo.mcl + npo.mcl_prod++,
+				     GNTTABOP_transfer, grant_trans_op,
+				     npo.trans_prod);
 	}
=20
 	if (npo.copy_prod) {
 		BUG_ON(npo.copy_prod > ARRAY_SIZE(grant_copy_op));
-		mcl =3D npo.mcl + npo.mcl_prod++;
-		mcl->op =3D __HYPERVISOR_grant_table_op;
-		mcl->args[0] =3D GNTTABOP_copy;
-		mcl->args[1] =3D (unsigned long)grant_copy_op;
-		mcl->args[2] =3D npo.copy_prod;
+		MULTI_grant_table_op(npo.mcl + npo.mcl_prod++,
+				     GNTTABOP_copy, grant_copy_op,
+				     npo.copy_prod);
 	}
=20
 	/* Nothing to do? */
--- a/drivers/xen/netfront/netfront.c
+++ b/drivers/xen/netfront/netfront.c
@@ -841,9 +841,9 @@ no_skb:
 				UVMF_TLB_FLUSH|UVMF_ALL;
=20
 			/* Give away a batch of pages. */
-			np->rx_mcl[i].op =3D __HYPERVISOR_memory_op;
-			np->rx_mcl[i].args[0] =3D XENMEM_decrease_reservati=
on;
-			np->rx_mcl[i].args[1] =3D (unsigned long)&reservati=
on;
+			MULTI_memory_op(np->rx_mcl + i,
+					XENMEM_decrease_reservation,
+					&reservation);
=20
 			/* Zap PTEs and give away pages in one big
 			 * multicall. */
@@ -1326,7 +1326,6 @@ static int netif_poll(struct net_device=20
 	struct netif_rx_response *rx =3D &rinfo.rx;
 	struct netif_extra_info *extras =3D rinfo.extras;
 	RING_IDX i, rp;
-	struct multicall_entry *mcl;
 	int work_done, budget, more_to_do =3D 1, accel_more_to_do =3D 1;
 	struct sk_buff_head rxq;
 	struct sk_buff_head errq;
@@ -1453,12 +1452,9 @@ err:=09
=20
 		/* Do all the remapping work and M2P updates. */
 		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
-			mcl =3D np->rx_mcl + pages_flipped;
-			mcl->op =3D __HYPERVISOR_mmu_update;
-			mcl->args[0] =3D (unsigned long)np->rx_mmu;
-			mcl->args[1] =3D pages_flipped;
-			mcl->args[2] =3D 0;
-			mcl->args[3] =3D DOMID_SELF;
+			MULTI_mmu_update(np->rx_mcl + pages_flipped,
+					 np->rx_mmu, pages_flipped, 0,
+					 DOMID_SELF);
 			err =3D HYPERVISOR_multicall_check(np->rx_mcl,
 							 pages_flipped + =
1,
 							 NULL);
@@ -1623,14 +1619,10 @@ static void netif_release_rx_bufs_flip(s
=20
 		if (!xen_feature(XENFEAT_auto_translated_physmap)) {
 			/* Do all the remapping work and M2P updates. */
-			mcl->op =3D __HYPERVISOR_mmu_update;
-			mcl->args[0] =3D (unsigned long)np->rx_mmu;
-			mcl->args[1] =3D mmu - np->rx_mmu;
-			mcl->args[2] =3D 0;
-			mcl->args[3] =3D DOMID_SELF;
-			mcl++;
+			MULTI_mmu_update(mcl, np->rx_mmu, mmu - np->rx_mmu,=

+					 0, DOMID_SELF);
 			rc =3D HYPERVISOR_multicall_check(
-				np->rx_mcl, mcl - np->rx_mcl, NULL);
+				np->rx_mcl, mcl + 1 - np->rx_mcl, NULL);
 			BUG_ON(rc);
 		}
 	}
--- a/include/asm-i386/mach-xen/asm/hypervisor.h
+++ b/include/asm-i386/mach-xen/asm/hypervisor.h
@@ -243,6 +243,26 @@ MULTI_update_va_mapping(
 }
=20
 static inline void
+MULTI_mmu_update(multicall_entry_t *mcl, mmu_update_t *req,
+		 unsigned int count, unsigned int *success_count,
+		 domid_t domid)
+{
+    mcl->op =3D __HYPERVISOR_mmu_update;
+    mcl->args[0] =3D (unsigned long)req;
+    mcl->args[1] =3D count;
+    mcl->args[2] =3D (unsigned long)success_count;
+    mcl->args[3] =3D domid;
+}
+
+static inline void
+MULTI_memory_op(multicall_entry_t *mcl, unsigned int cmd, void *arg)
+{
+	mcl->op =3D __HYPERVISOR_memory_op;
+	mcl->args[0] =3D cmd;
+	mcl->args[1] =3D (unsigned long)arg;
+}
+
+static inline void
 MULTI_grant_table_op(multicall_entry_t *mcl, unsigned int cmd,
 		     void *uop, unsigned int count)
 {
@@ -255,8 +275,15 @@ MULTI_grant_table_op(multicall_entry_t *
 #else /* !defined(CONFIG_XEN) */
=20
 /* Multicalls not supported for HVM guests. */
-#define MULTI_update_va_mapping(a,b,c,d) ((void)0)
-#define MULTI_grant_table_op(a,b,c,d) ((void)0)
+static inline void MULTI_bug(multicall_entry_t *mcl, ...)
+{
+	BUG_ON(mcl);
+}
+
+#define MULTI_update_va_mapping	MULTI_bug
+#define MULTI_mmu_update	MULTI_bug
+#define MULTI_memory_op		MULTI_bug
+#define MULTI_grant_table_op	MULTI_bug
=20
 #endif
=20



--=__Part1E309B76.0__=
Content-Type: text/plain; name="xen-multi-ops.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="xen-multi-ops.patch"

widen use of (and introduce further) MULTI_* helpers=0A=0AThis includes =
folding an MMU update and a grant table operation into a=0Amulticall in =
gnttab_copy_grant_page()=0A=0ASigned-off-by: Jan Beulich <jbeulich@suse.com=
>=0A=0A--- a/drivers/xen/core/gnttab.c=0A+++ b/drivers/xen/core/gnttab.c=0A=
@@ -607,13 +607,9 @@ static void gnttab_page_free(struct page=0A int =
gnttab_copy_grant_page(grant_ref_t ref, struct page **pagep)=0A {=0A 	=
struct gnttab_unmap_and_replace unmap;=0A-	mmu_update_t mmu;=0A-	=
struct page *page;=0A-	struct page *new_page;=0A-	void *new_addr;=0A-=
	void *addr;=0A-	paddr_t pfn;=0A-	maddr_t mfn;=0A+	=
struct page *page, *new_page;=0A+	void *addr, *new_addr;=0A+	=
unsigned long pfn;=0A 	maddr_t new_mfn;=0A 	int err;=0A =0A@@ -631,7 =
+627,6 @@ int gnttab_copy_grant_page(grant_ref_t r=0A 	copy_page(new_addr,=
 addr);=0A =0A 	pfn =3D page_to_pfn(page);=0A-	mfn =3D pfn_to_mfn(pfn);=0A=
 	new_mfn =3D virt_to_mfn(new_addr);=0A =0A 	write_seqlock(&gntt=
ab_dma_lock);=0A@@ -647,27 +642,32 @@ int gnttab_copy_grant_page(grant_ref_=
t r=0A 		goto out;=0A 	}=0A =0A-	if (!xen_feature(XENFEAT_au=
to_translated_physmap))=0A-		set_phys_to_machine(pfn, =
new_mfn);=0A-=0A 	gnttab_set_replace_op(&unmap, (unsigned long)addr,=
=0A 			      (unsigned long)new_addr, ref);=0A =0A-	=
err =3D HYPERVISOR_grant_table_op(GNTTABOP_unmap_and_replace,=0A-		=
			&unmap, 1);=0A-	BUG_ON(err);=0A-	BUG_ON(unma=
p.status !=3D GNTST_okay);=0A-=0A-	write_sequnlock(&gnttab_dma_lock);=
=0A-=0A 	if (!xen_feature(XENFEAT_auto_translated_physmap)) {=0A+	=
	multicall_entry_t mc[2];=0A+		mmu_update_t mmu;=0A+=0A+	=
	set_phys_to_machine(pfn, new_mfn);=0A 		set_phys_to_machine=
(page_to_pfn(new_page), INVALID_P2M_ENTRY);=0A =0A+		MULTI_grant=
_table_op(&mc[0], GNTTABOP_unmap_and_replace,=0A+				=
     &unmap, 1);=0A+=0A 		mmu.ptr =3D (new_mfn << PAGE_SHIFT)=
 | MMU_MACHPHYS_UPDATE;=0A 		mmu.val =3D pfn;=0A-		=
err =3D HYPERVISOR_mmu_update(&mmu, 1, NULL, DOMID_SELF);=0A-		=
BUG_ON(err);=0A-	}=0A+		MULTI_mmu_update(&mc[1], &mmu, 1, =
NULL, DOMID_SELF);=0A+=0A+		err =3D HYPERVISOR_multicall_check(=
mc, 2, NULL);=0A+	} else=0A+		err =3D HYPERVISOR_grant_ta=
ble_op(GNTTABOP_unmap_and_replace,=0A+						=
&unmap, 1);=0A+=0A+	BUG_ON(err);=0A+	BUG_ON(unmap.status !=3D =
GNTST_okay);=0A+=0A+	write_sequnlock(&gnttab_dma_lock);=0A =0A 	=
new_page->mapping =3D page->mapping;=0A 	new_page->index =3D =
page->index;=0A--- a/drivers/xen/netback/netback.c=0A+++ b/drivers/xen/netb=
ack/netback.c=0A@@ -644,29 +644,21 @@ static void net_rx_action(unsigned =
long =0A 		BUG_ON(mcl[-1].op !=3D __HYPERVISOR_update_va_mappi=
ng);=0A 		mcl[-1].args[MULTI_UVMFLAGS_INDEX] =3D UVMF_TLB_FLU=
SH|UVMF_ALL;=0A =0A-		mcl->op =3D __HYPERVISOR_mmu_update;=0A-	=
	mcl->args[0] =3D (unsigned long)rx_mmu;=0A-		mcl->args[1=
] =3D npo.mmu_prod;=0A-		mcl->args[2] =3D 0;=0A-		mcl->args[3=
] =3D DOMID_SELF;=0A+		MULTI_mmu_update(mcl, rx_mmu, npo.mmu_prod,=
 0, DOMID_SELF);=0A 	}=0A =0A 	if (npo.trans_prod) {=0A 		=
BUG_ON(npo.trans_prod > ARRAY_SIZE(grant_trans_op));=0A-		=
mcl =3D npo.mcl + npo.mcl_prod++;=0A-		mcl->op =3D __HYPERVISOR_gr=
ant_table_op;=0A-		mcl->args[0] =3D GNTTABOP_transfer;=0A-		=
mcl->args[1] =3D (unsigned long)grant_trans_op;=0A-		mcl->args[2=
] =3D npo.trans_prod;=0A+		MULTI_grant_table_op(npo.mcl + =
npo.mcl_prod++,=0A+				     GNTTABOP_transfer, =
grant_trans_op,=0A+				     npo.trans_prod);=0A 	=
}=0A =0A 	if (npo.copy_prod) {=0A 		BUG_ON(npo.copy_pro=
d > ARRAY_SIZE(grant_copy_op));=0A-		mcl =3D npo.mcl + =
npo.mcl_prod++;=0A-		mcl->op =3D __HYPERVISOR_grant_table_op;=0A=
-		mcl->args[0] =3D GNTTABOP_copy;=0A-		mcl->args[1=
] =3D (unsigned long)grant_copy_op;=0A-		mcl->args[2] =3D npo.copy_p=
rod;=0A+		MULTI_grant_table_op(npo.mcl + npo.mcl_prod++,=0A+	=
			     GNTTABOP_copy, grant_copy_op,=0A+			=
	     npo.copy_prod);=0A 	}=0A =0A 	/* Nothing to do? =
*/=0A--- a/drivers/xen/netfront/netfront.c=0A+++ b/drivers/xen/netfront/net=
front.c=0A@@ -841,9 +841,9 @@ no_skb:=0A 				=
UVMF_TLB_FLUSH|UVMF_ALL;=0A =0A 			/* Give away a =
batch of pages. */=0A-			np->rx_mcl[i].op =3D __HYPERVISOR_m=
emory_op;=0A-			np->rx_mcl[i].args[0] =3D XENMEM_decrease_r=
eservation;=0A-			np->rx_mcl[i].args[1] =3D (unsigned =
long)&reservation;=0A+			MULTI_memory_op(np->rx_mcl + =
i,=0A+					XENMEM_decrease_reservation,=0A+	=
				&reservation);=0A =0A 			/* =
Zap PTEs and give away pages in one big=0A 			 * =
multicall. */=0A@@ -1326,7 +1326,6 @@ static int netif_poll(struct =
net_device =0A 	struct netif_rx_response *rx =3D &rinfo.rx;=0A 	struct =
netif_extra_info *extras =3D rinfo.extras;=0A 	RING_IDX i, rp;=0A-	=
struct multicall_entry *mcl;=0A 	int work_done, budget, more_to_do =
=3D 1, accel_more_to_do =3D 1;=0A 	struct sk_buff_head rxq;=0A 	=
struct sk_buff_head errq;=0A@@ -1453,12 +1452,9 @@ err:	=0A =0A 		=
/* Do all the remapping work and M2P updates. */=0A 		if =
(!xen_feature(XENFEAT_auto_translated_physmap)) {=0A-			=
mcl =3D np->rx_mcl + pages_flipped;=0A-			mcl->op =3D =
__HYPERVISOR_mmu_update;=0A-			mcl->args[0] =3D (unsigned =
long)np->rx_mmu;=0A-			mcl->args[1] =3D pages_flipped;=0A-=
			mcl->args[2] =3D 0;=0A-			mcl->args[3=
] =3D DOMID_SELF;=0A+			MULTI_mmu_update(np->rx_mcl + =
pages_flipped,=0A+					 np->rx_mmu, =
pages_flipped, 0,=0A+					 DOMID_SELF);=0A 	=
		err =3D HYPERVISOR_multicall_check(np->rx_mcl,=0A 		=
					 pages_flipped + 1,=0A 			=
				 NULL);=0A@@ -1623,14 +1619,10 @@ static =
void netif_release_rx_bufs_flip(s=0A =0A 		if (!xen_feature(XE=
NFEAT_auto_translated_physmap)) {=0A 			/* Do all the =
remapping work and M2P updates. */=0A-			mcl->op =3D =
__HYPERVISOR_mmu_update;=0A-			mcl->args[0] =3D (unsigned =
long)np->rx_mmu;=0A-			mcl->args[1] =3D mmu - np->rx_mmu;=
=0A-			mcl->args[2] =3D 0;=0A-			mcl->args[3=
] =3D DOMID_SELF;=0A-			mcl++;=0A+			=
MULTI_mmu_update(mcl, np->rx_mmu, mmu - np->rx_mmu,=0A+				=
	 0, DOMID_SELF);=0A 			rc =3D HYPERVISOR_multicall=
_check(=0A-				np->rx_mcl, mcl - np->rx_mcl, =
NULL);=0A+				np->rx_mcl, mcl + 1 - np->rx_mcl, =
NULL);=0A 			BUG_ON(rc);=0A 		}=0A 	}=0A--- =
a/include/asm-i386/mach-xen/asm/hypervisor.h=0A+++ b/include/asm-i386/mach-=
xen/asm/hypervisor.h=0A@@ -243,6 +243,26 @@ MULTI_update_va_mapping(=0A =
}=0A =0A static inline void=0A+MULTI_mmu_update(multicall_entry_t *mcl, =
mmu_update_t *req,=0A+		 unsigned int count, unsigned int =
*success_count,=0A+		 domid_t domid)=0A+{=0A+    mcl->op =3D =
__HYPERVISOR_mmu_update;=0A+    mcl->args[0] =3D (unsigned long)req;=0A+   =
 mcl->args[1] =3D count;=0A+    mcl->args[2] =3D (unsigned long)success_cou=
nt;=0A+    mcl->args[3] =3D domid;=0A+}=0A+=0A+static inline void=0A+MULTI_=
memory_op(multicall_entry_t *mcl, unsigned int cmd, void *arg)=0A+{=0A+	=
mcl->op =3D __HYPERVISOR_memory_op;=0A+	mcl->args[0] =3D cmd;=0A+	=
mcl->args[1] =3D (unsigned long)arg;=0A+}=0A+=0A+static inline void=0A =
MULTI_grant_table_op(multicall_entry_t *mcl, unsigned int cmd,=0A 		=
     void *uop, unsigned int count)=0A {=0A@@ -255,8 +275,15 @@ MULTI_grant=
_table_op(multicall_entry_t *=0A #else /* !defined(CONFIG_XEN) */=0A =0A =
/* Multicalls not supported for HVM guests. */=0A-#define MULTI_update_va_m=
apping(a,b,c,d) ((void)0)=0A-#define MULTI_grant_table_op(a,b,c,d) =
((void)0)=0A+static inline void MULTI_bug(multicall_entry_t *mcl, =
...)=0A+{=0A+	BUG_ON(mcl);=0A+}=0A+=0A+#define MULTI_update_va_mapping	=
MULTI_bug=0A+#define MULTI_mmu_update	MULTI_bug=0A+#define MULTI_memory_o=
p		MULTI_bug=0A+#define MULTI_grant_table_op	=
MULTI_bug=0A =0A #endif=0A =0A
--=__Part1E309B76.0__=
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--=__Part1E309B76.0__=--


From xen-devel-bounces@lists.xen.org Thu May 31 15:04:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6vl-0006ZW-Ja; Thu, 31 May 2012 15:04:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1Sa6vk-0006Yy-Rd
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:04:53 +0000
Received: from [85.158.143.35:28957] by server-3.bemta-4.messagelabs.com id
	46/20-04252-49887CF4; Thu, 31 May 2012 15:04:52 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338476687!18277862!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzMwMzg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzMwMzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28694 invoked from network); 31 May 2012 15:04:47 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 15:04:47 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (jorabe mo51) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id a0369do4VEiFEa
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 17:04:46 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 2F39018637
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 17:04:44 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 4dad9647a0963a2665ccf055492e740c2b399517
Message-Id: <4dad9647a0963a2665cc.1338476667@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Thu, 31 May 2012 17:04:27 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1338476618 -7200
# Node ID 4dad9647a0963a2665ccf055492e740c2b399517
# Parent  d7318231cfe3498947bf75f09d6675407d7b4e76
xl.cfg: document the maxmem= option

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r d7318231cfe3 -r 4dad9647a096 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -174,6 +174,14 @@ Honoured by the sedf scheduler.
 
 Start the guest with MBYTES megabytes of RAM.
 
+=item B<maxmem=MBYTES>
+
+Specifies the maximum amount of memory a guest can ever see.
+The value of maxmem= must be equal or greater than memory=.
+In combination with the memory= option it will start the guest "pre-ballooned".
+In a HVM guest it will enable the PoD (populate on demand) mode, iff the values of memory= and maxmem= differ.
+The guest needs a balloon driver in this case, without a balloon driver it will crash.
+
 =item B<on_poweroff="ACTION">
 
 Specifies what should be done with the domain if it shuts itself down.
@@ -971,10 +979,6 @@ XXX
 
 XXX
 
-=item B<maxmem=NUMBER>
-
-XXX
-
 =item B<nodes=XXX>
 
 XXX

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:04:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6vl-0006ZW-Ja; Thu, 31 May 2012 15:04:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1Sa6vk-0006Yy-Rd
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:04:53 +0000
Received: from [85.158.143.35:28957] by server-3.bemta-4.messagelabs.com id
	46/20-04252-49887CF4; Thu, 31 May 2012 15:04:52 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338476687!18277862!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzMwMzg=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzMwMzg=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28694 invoked from network); 31 May 2012 15:04:47 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-14.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 15:04:47 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (jorabe mo51) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id a0369do4VEiFEa
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 17:04:46 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id 2F39018637
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 17:04:44 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: 4dad9647a0963a2665ccf055492e740c2b399517
Message-Id: <4dad9647a0963a2665cc.1338476667@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Thu, 31 May 2012 17:04:27 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] xl.cfg: document the maxmem= option
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1338476618 -7200
# Node ID 4dad9647a0963a2665ccf055492e740c2b399517
# Parent  d7318231cfe3498947bf75f09d6675407d7b4e76
xl.cfg: document the maxmem= option

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r d7318231cfe3 -r 4dad9647a096 docs/man/xl.cfg.pod.5
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -174,6 +174,14 @@ Honoured by the sedf scheduler.
 
 Start the guest with MBYTES megabytes of RAM.
 
+=item B<maxmem=MBYTES>
+
+Specifies the maximum amount of memory a guest can ever see.
+The value of maxmem= must be equal or greater than memory=.
+In combination with the memory= option it will start the guest "pre-ballooned".
+In a HVM guest it will enable the PoD (populate on demand) mode, iff the values of memory= and maxmem= differ.
+The guest needs a balloon driver in this case, without a balloon driver it will crash.
+
 =item B<on_poweroff="ACTION">
 
 Specifies what should be done with the domain if it shuts itself down.
@@ -971,10 +979,6 @@ XXX
 
 XXX
 
-=item B<maxmem=NUMBER>
-
-XXX
-
 =item B<nodes=XXX>
 
 XXX

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:08:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:08:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6zO-0007Fe-8Q; Thu, 31 May 2012 15:08:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6zM-0007FN-TE
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:08:37 +0000
Received: from [85.158.143.35:51542] by server-2.bemta-4.messagelabs.com id
	8B/4E-11595-47987CF4; Thu, 31 May 2012 15:08:36 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338476902!15043661!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21192 invoked from network); 31 May 2012 15:08:23 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-3.tower-21.messagelabs.com with SMTP;
	31 May 2012 15:08:23 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78316426; Thu, 31 May 2012 17:08:21 +0200
Message-ID: <1338476895.15014.43.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Thu, 31 May 2012 17:08:15 +0200
In-Reply-To: <CAFLBxZZ1z-ShFDOy8nokr-JtHPABVB24hsu3xvkX0pFdp=XHoA@mail.gmail.com>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
	<CAFLBxZZ1z-ShFDOy8nokr-JtHPABVB24hsu3xvkX0pFdp=XHoA@mail.gmail.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
 just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7698583864681083990=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7698583864681083990==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-AIpGFXxjePHp29ugBBD9"


--=-AIpGFXxjePHp29ugBBD9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:01 +0100, George Dunlap wrote:
> Dario,
>=20
> What changes are there in this since the last time you posted this?
> Anything other than updating the patch description?
>=20
Nope. Patches 1, 2 and 3 are just what I sent with your comments applied
about code and changelogs.

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-AIpGFXxjePHp29ugBBD9
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HiV8ACgkQk4XaBE3IOsR5hACfRD5bUIQ86LoUMVBZzlSMkGX1
6/MAn3nTMf3gPHE7nWrglP1ppsgqudzv
=kJoG
-----END PGP SIGNATURE-----

--=-AIpGFXxjePHp29ugBBD9--



--===============7698583864681083990==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7698583864681083990==--



From xen-devel-bounces@lists.xen.org Thu May 31 15:08:43 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:08:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6zO-0007Fe-8Q; Thu, 31 May 2012 15:08:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa6zM-0007FN-TE
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:08:37 +0000
Received: from [85.158.143.35:51542] by server-2.bemta-4.messagelabs.com id
	8B/4E-11595-47987CF4; Thu, 31 May 2012 15:08:36 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338476902!15043661!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21192 invoked from network); 31 May 2012 15:08:23 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-3.tower-21.messagelabs.com with SMTP;
	31 May 2012 15:08:23 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78316426; Thu, 31 May 2012 17:08:21 +0200
Message-ID: <1338476895.15014.43.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Thu, 31 May 2012 17:08:15 +0200
In-Reply-To: <CAFLBxZZ1z-ShFDOy8nokr-JtHPABVB24hsu3xvkX0pFdp=XHoA@mail.gmail.com>
References: <patchbomb.1338466265@Solace>
	<a0776cf2b6ac4bccf0f5.1338466266@Solace>
	<CAFLBxZZ1z-ShFDOy8nokr-JtHPABVB24hsu3xvkX0pFdp=XHoA@mail.gmail.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 01 of 11] libxc: abstract xenctl_cpumap to
 just xenctl_map
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7698583864681083990=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7698583864681083990==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-AIpGFXxjePHp29ugBBD9"


--=-AIpGFXxjePHp29ugBBD9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:01 +0100, George Dunlap wrote:
> Dario,
>=20
> What changes are there in this since the last time you posted this?
> Anything other than updating the patch description?
>=20
Nope. Patches 1, 2 and 3 are just what I sent with your comments applied
about code and changelogs.

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-AIpGFXxjePHp29ugBBD9
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HiV8ACgkQk4XaBE3IOsR5hACfRD5bUIQ86LoUMVBZzlSMkGX1
6/MAn3nTMf3gPHE7nWrglP1ppsgqudzv
=kJoG
-----END PGP SIGNATURE-----

--=-AIpGFXxjePHp29ugBBD9--



--===============7698583864681083990==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7698583864681083990==--



From xen-devel-bounces@lists.xen.org Thu May 31 15:08:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:08:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6zR-0007GV-Na; Thu, 31 May 2012 15:08:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6zQ-0007G3-Ea
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:08:40 +0000
Received: from [85.158.138.51:8182] by server-6.bemta-3.messagelabs.com id
	93/AA-23455-77987CF4; Thu, 31 May 2012 15:08:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338476918!30155893!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23668 invoked from network); 31 May 2012 15:08:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:08:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766665"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:08:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:08:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6zO-0003di-0H; Thu, 31 May 2012 15:08:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6zN-00017E-Tl;
	Thu, 31 May 2012 16:08:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35189.904831.64711@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:08:37 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <e9b2e81e4afbde8c3ceb.1338466276@Solace>
References: <patchbomb.1338466265@Solace>
	<e9b2e81e4afbde8c3ceb.1338466276@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11 of 11] Some automatic NUMA placement
	documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 11 of 11] Some automatic NUMA placement documentation"):
> About rationale, usage and API.
...
> +## Guest Placement in libxl ##

Oh here's the API documentation!

In general I would prefer to see docs come in the same patch but I
guess I can read it here:

> +xl achieves automatic NUMA placement by means of the following API
> +calls, provided by libxl.

Can you try to write some more general comment about what order these
functions should be called in ?

Or to put it another way:

> +        libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> +                                            libxl_domain_build_info *b_info,
> +                                            int min_nodes, int *nr_cndts);
> +
> +This is what should be used to generate the full set of placement
> +candidates. In fact, the function returns an array of containing nr_cndts
> +libxl_numa_candidate (see below). Each candidate is basically a set of nodes
> +that has been checked against the memory requirement derived from the
> +provided libxl_domain_build_info.

That tells me what the function does.  But my starting point is that I
have no idea when or why I might want to `generate the full set of
placement candidates'.  If this is something I need to do the docs
need to explain that.

This goes double for this function:

> +        int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> +                                          int min_cpus, int max_nodes,
> +                                          libxl_numa_candidate *candidate);
> +
> +This is what should be used to ensure a placement candidate has at least
> +min_cpus CPUs. In case it does not, the function also take care of
> +adding more nodes to the candidate itself (up to when the value specified
> +in max_nodes is reached). When adding new nodes, the one that has the
> +smallest "distance" from the current node map is selected at each step.

`add_cpus' doesn't seem the same as `ensure a candidate has at least
min_cpus CPUs'.  In what sense are the CPUs added ?


And, as before, why might I want to call this ?  And when would I call
it ?  Why does the interface to libxl expose this rather than just
offering a single function

 libxl_do_automatic_numa_placement_according_to_heuristics

?


> +        libxl_numa_candidate_count_domains(libxl_ctx *ctx,
> +                                           libxl_numa_candidate *candidate);
> +
> +This is what counts the number of domains that are currently pinned
> +to the CPUs of the nodes of a given candidate.

Why is that useful ?  It is used by some of your other code so I guess
this is a facility which is useful to the implementors of other
placement algorithms ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:08:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:08:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa6zR-0007GV-Na; Thu, 31 May 2012 15:08:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa6zQ-0007G3-Ea
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:08:40 +0000
Received: from [85.158.138.51:8182] by server-6.bemta-3.messagelabs.com id
	93/AA-23455-77987CF4; Thu, 31 May 2012 15:08:39 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338476918!30155893!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23668 invoked from network); 31 May 2012 15:08:38 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:08:38 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766665"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:08:38 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:08:38 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa6zO-0003di-0H; Thu, 31 May 2012 15:08:38 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa6zN-00017E-Tl;
	Thu, 31 May 2012 16:08:37 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35189.904831.64711@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:08:37 +0100
To: Dario Faggioli <raistlin@linux.it>
In-Reply-To: <e9b2e81e4afbde8c3ceb.1338466276@Solace>
References: <patchbomb.1338466265@Solace>
	<e9b2e81e4afbde8c3ceb.1338466276@Solace>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11 of 11] Some automatic NUMA placement
	documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Dario Faggioli writes ("[PATCH 11 of 11] Some automatic NUMA placement documentation"):
> About rationale, usage and API.
...
> +## Guest Placement in libxl ##

Oh here's the API documentation!

In general I would prefer to see docs come in the same patch but I
guess I can read it here:

> +xl achieves automatic NUMA placement by means of the following API
> +calls, provided by libxl.

Can you try to write some more general comment about what order these
functions should be called in ?

Or to put it another way:

> +        libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> +                                            libxl_domain_build_info *b_info,
> +                                            int min_nodes, int *nr_cndts);
> +
> +This is what should be used to generate the full set of placement
> +candidates. In fact, the function returns an array of containing nr_cndts
> +libxl_numa_candidate (see below). Each candidate is basically a set of nodes
> +that has been checked against the memory requirement derived from the
> +provided libxl_domain_build_info.

That tells me what the function does.  But my starting point is that I
have no idea when or why I might want to `generate the full set of
placement candidates'.  If this is something I need to do the docs
need to explain that.

This goes double for this function:

> +        int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> +                                          int min_cpus, int max_nodes,
> +                                          libxl_numa_candidate *candidate);
> +
> +This is what should be used to ensure a placement candidate has at least
> +min_cpus CPUs. In case it does not, the function also take care of
> +adding more nodes to the candidate itself (up to when the value specified
> +in max_nodes is reached). When adding new nodes, the one that has the
> +smallest "distance" from the current node map is selected at each step.

`add_cpus' doesn't seem the same as `ensure a candidate has at least
min_cpus CPUs'.  In what sense are the CPUs added ?


And, as before, why might I want to call this ?  And when would I call
it ?  Why does the interface to libxl expose this rather than just
offering a single function

 libxl_do_automatic_numa_placement_according_to_heuristics

?


> +        libxl_numa_candidate_count_domains(libxl_ctx *ctx,
> +                                           libxl_numa_candidate *candidate);
> +
> +This is what counts the number of domains that are currently pinned
> +to the CPUs of the nodes of a given candidate.

Why is that useful ?  It is used by some of your other code so I guess
this is a facility which is useful to the implementors of other
placement algorithms ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:10:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:10:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa71B-0007XE-7q; Thu, 31 May 2012 15:10:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa719-0007Wr-Ki
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:10:27 +0000
Received: from [85.158.138.51:39435] by server-4.bemta-3.messagelabs.com id
	FF/A3-32504-2E987CF4; Thu, 31 May 2012 15:10:26 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338477025!21274553!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 586 invoked from network); 31 May 2012 15:10:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:10:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766714"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:10:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:10:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa717-0003ea-8c; Thu, 31 May 2012 15:10:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa717-00017Y-7q;
	Thu, 31 May 2012 16:10:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35295.846826.21182@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:10:23 +0100
To: Ben Guthro <ben@guthro.net>
In-Reply-To: <CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
	<CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ben Guthro writes ("Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL"):
> Fix build error, after distclean

I think in fact the right fix is probably more like this.  What do you
think ?

Ian.

diff -r e53a1d3c212c tools/libxl/Makefile
--- a/tools/libxl/Makefile	Wed May 30 10:57:10 2012 +0100
+++ b/tools/libxl/Makefile	Thu May 31 16:10:11 2012 +0100
@@ -72,7 +72,7 @@ LIBXL_OBJS += _libxl_types.o libxl_flask
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
 
-AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
+AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h _paths.h
 AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
 LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
 	libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:10:38 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:10:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa71B-0007XE-7q; Thu, 31 May 2012 15:10:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa719-0007Wr-Ki
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:10:27 +0000
Received: from [85.158.138.51:39435] by server-4.bemta-3.messagelabs.com id
	FF/A3-32504-2E987CF4; Thu, 31 May 2012 15:10:26 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338477025!21274553!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 586 invoked from network); 31 May 2012 15:10:26 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:10:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766714"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:10:25 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:10:25 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa717-0003ea-8c; Thu, 31 May 2012 15:10:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa717-00017Y-7q;
	Thu, 31 May 2012 16:10:25 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35295.846826.21182@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:10:23 +0100
To: Ben Guthro <ben@guthro.net>
In-Reply-To: <CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
	<CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Ben Guthro writes ("Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL"):
> Fix build error, after distclean

I think in fact the right fix is probably more like this.  What do you
think ?

Ian.

diff -r e53a1d3c212c tools/libxl/Makefile
--- a/tools/libxl/Makefile	Wed May 30 10:57:10 2012 +0100
+++ b/tools/libxl/Makefile	Thu May 31 16:10:11 2012 +0100
@@ -72,7 +72,7 @@ LIBXL_OBJS += _libxl_types.o libxl_flask
 
 $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
 
-AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
+AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h _paths.h
 AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
 LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
 	libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:11:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:11:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa72R-0007gv-Rx; Thu, 31 May 2012 15:11:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa72Q-0007gg-JV
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:11:46 +0000
Received: from [85.158.139.83:44853] by server-7.bemta-5.messagelabs.com id
	3A/4D-15932-13A87CF4; Thu, 31 May 2012 15:11:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338477105!29883876!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20205 invoked from network); 31 May 2012 15:11:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:11:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766755"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:11:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:11:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa72O-0003f8-RP; Thu, 31 May 2012 15:11:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa72O-00017e-Qa;
	Thu, 31 May 2012 16:11:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35376.805048.868775@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:11:44 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC76FE7.5070003@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
	<4FC76FE7.5070003@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 5 V2] libxl: add internal function to
 get a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 1 of 5 V2] libxl: add internal function to get a domain's scheduler"):
> On 29/05/12 14:56, Ian Campbell wrote:
> > libxl: add internal function to get a domain's scheduler.
...
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

It's fine by me too.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:11:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:11:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa72R-0007gv-Rx; Thu, 31 May 2012 15:11:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa72Q-0007gg-JV
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:11:46 +0000
Received: from [85.158.139.83:44853] by server-7.bemta-5.messagelabs.com id
	3A/4D-15932-13A87CF4; Thu, 31 May 2012 15:11:45 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338477105!29883876!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20205 invoked from network); 31 May 2012 15:11:45 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:11:45 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766755"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:11:45 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:11:45 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa72O-0003f8-RP; Thu, 31 May 2012 15:11:44 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa72O-00017e-Qa;
	Thu, 31 May 2012 16:11:44 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35376.805048.868775@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:11:44 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC76FE7.5070003@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<980a25d6ad12ba0f10fa.1338299819@cosworth.uk.xensource.com>
	<4FC76FE7.5070003@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 1 of 5 V2] libxl: add internal function to
 get a domain's scheduler
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 1 of 5 V2] libxl: add internal function to get a domain's scheduler"):
> On 29/05/12 14:56, Ian Campbell wrote:
> > libxl: add internal function to get a domain's scheduler.
...
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

It's fine by me too.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:13:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:13:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa73f-0007pJ-BK; Thu, 31 May 2012 15:13:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa73e-0007pB-5l
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:13:02 +0000
Received: from [85.158.143.35:37118] by server-3.bemta-4.messagelabs.com id
	9C/B2-04252-D7A87CF4; Thu, 31 May 2012 15:13:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338477180!14222122!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28035 invoked from network); 31 May 2012 15:13:01 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:13:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766773"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:12:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:12:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa72q-0003fH-JW; Thu, 31 May 2012 15:12:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa72q-00017i-Ih;
	Thu, 31 May 2012 16:12:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35404.564533.98352@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:12:12 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC7706C.7060400@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
	<4FC7706C.7060400@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 5 V2] libxl: rename libxl_sched_params
 to libxl_domain_sched_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 2 of 5 V2] libxl: rename libxl_sched_params to libxl_domain_sched_params"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: rename libxl_sched_params to libxl_domain_sched_params
...
> > Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

On that basis

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:13:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:13:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa73f-0007pJ-BK; Thu, 31 May 2012 15:13:03 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa73e-0007pB-5l
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:13:02 +0000
Received: from [85.158.143.35:37118] by server-3.bemta-4.messagelabs.com id
	9C/B2-04252-D7A87CF4; Thu, 31 May 2012 15:13:01 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338477180!14222122!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28035 invoked from network); 31 May 2012 15:13:01 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:13:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766773"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:12:12 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:12:13 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa72q-0003fH-JW; Thu, 31 May 2012 15:12:12 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa72q-00017i-Ih;
	Thu, 31 May 2012 16:12:12 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35404.564533.98352@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:12:12 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC7706C.7060400@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<73d8274c0b6859b4528a.1338299820@cosworth.uk.xensource.com>
	<4FC7706C.7060400@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 2 of 5 V2] libxl: rename libxl_sched_params
 to libxl_domain_sched_params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 2 of 5 V2] libxl: rename libxl_sched_params to libxl_domain_sched_params"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: rename libxl_sched_params to libxl_domain_sched_params
...
> > Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

On that basis

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:14:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa74Z-0007vl-PP; Thu, 31 May 2012 15:13:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa74X-0007vY-PB
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:13:57 +0000
Received: from [85.158.139.83:26783] by server-5.bemta-5.messagelabs.com id
	0A/CF-16141-5BA87CF4; Thu, 31 May 2012 15:13:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338477236!27133016!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31725 invoked from network); 31 May 2012 15:13:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:13:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766824"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:13:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:13:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa74V-0003fn-MP; Thu, 31 May 2012 15:13:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa74V-00017r-Kh;
	Thu, 31 May 2012 16:13:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35507.178624.170191@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:13:55 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC7766F.1020709@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
	<4FC7766F.1020709@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 3 of 5 V2] libxl: make it possible to explicitly specify default sched params"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: make it possible to explicitly specify default sched params
...
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:14:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa74Z-0007vl-PP; Thu, 31 May 2012 15:13:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa74X-0007vY-PB
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:13:57 +0000
Received: from [85.158.139.83:26783] by server-5.bemta-5.messagelabs.com id
	0A/CF-16141-5BA87CF4; Thu, 31 May 2012 15:13:57 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338477236!27133016!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31725 invoked from network); 31 May 2012 15:13:56 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:13:56 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766824"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:13:55 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:13:56 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa74V-0003fn-MP; Thu, 31 May 2012 15:13:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa74V-00017r-Kh;
	Thu, 31 May 2012 16:13:55 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35507.178624.170191@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:13:55 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC7766F.1020709@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<274de8e1e0d116070d34.1338299821@cosworth.uk.xensource.com>
	<4FC7766F.1020709@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 3 of 5 V2] libxl: make it possible to
 explicitly specify default sched params
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 3 of 5 V2] libxl: make it possible to explicitly specify default sched params"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: make it possible to explicitly specify default sched params
...
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:14:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa74x-000808-Sp; Thu, 31 May 2012 15:14:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa74w-0007zn-GW
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:14:22 +0000
Received: from [85.158.139.83:38060] by server-7.bemta-5.messagelabs.com id
	2A/63-15932-DCA87CF4; Thu, 31 May 2012 15:14:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338477260!27450886!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11321 invoked from network); 31 May 2012 15:14:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:14:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766836"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:14:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:14:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa74u-0003g1-Bk; Thu, 31 May 2012 15:14:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa74u-00017v-Az;
	Thu, 31 May 2012 16:14:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35532.321968.211336@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:14:20 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC776A2.4080200@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
	<4FC776A2.4080200@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4 of 5 V2] libxl: move
 libxl__sched_set_params into libxl.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 4 of 5 V2] libxl: move libxl__sched_set_params into libxl.c"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: move libxl__sched_set_params into libxl.c

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:14:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa74x-000808-Sp; Thu, 31 May 2012 15:14:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa74w-0007zn-GW
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:14:22 +0000
Received: from [85.158.139.83:38060] by server-7.bemta-5.messagelabs.com id
	2A/63-15932-DCA87CF4; Thu, 31 May 2012 15:14:21 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-182.messagelabs.com!1338477260!27450886!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11321 invoked from network); 31 May 2012 15:14:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:14:21 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766836"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:14:20 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:14:20 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa74u-0003g1-Bk; Thu, 31 May 2012 15:14:20 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa74u-00017v-Az;
	Thu, 31 May 2012 16:14:20 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35532.321968.211336@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:14:20 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC776A2.4080200@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<d89b5eeb94519fdc056f.1338299822@cosworth.uk.xensource.com>
	<4FC776A2.4080200@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 4 of 5 V2] libxl: move
 libxl__sched_set_params into libxl.c
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 4 of 5 V2] libxl: move libxl__sched_set_params into libxl.c"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: move libxl__sched_set_params into libxl.c

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:16:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa76U-0008HP-FQ; Thu, 31 May 2012 15:15:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa76T-0008H5-9u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:15:57 +0000
Received: from [85.158.138.51:22263] by server-3.bemta-3.messagelabs.com id
	54/27-15793-C2B87CF4; Thu, 31 May 2012 15:15:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338477355!30250288!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28272 invoked from network); 31 May 2012 15:15:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:15:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766873"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:15:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:15:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa76Q-0003gY-LT; Thu, 31 May 2012 15:15:54 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa76Q-000180-Kh;
	Thu, 31 May 2012 16:15:54 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35626.624929.187304@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:15:54 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC7774C.1010801@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
	<4FC7774C.1010801@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 5 of 5 V2] libxl: expose a single get/setter
 for domain scheduler parameters
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 5 of 5 V2] libxl: expose a single get/setter for domain scheduler parameters"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: expose a single get/setter for domain scheduler parameters.
...
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

> BTW, we obviously need to have "xl sched-credit" for xm compatibility;
> but do you think it makes sense to make a generic xl command that's a
> analog to the generic libxl function, that looks up the scheduler for
> you on get, and accepts all the parameters on the command-line?
> (Doesn't need to be part of this series, obviously.)

I think that would be a very good idea.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:16:04 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa76U-0008HP-FQ; Thu, 31 May 2012 15:15:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa76T-0008H5-9u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:15:57 +0000
Received: from [85.158.138.51:22263] by server-3.bemta-3.messagelabs.com id
	54/27-15793-C2B87CF4; Thu, 31 May 2012 15:15:56 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338477355!30250288!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28272 invoked from network); 31 May 2012 15:15:55 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:15:55 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12766873"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:15:54 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 16:15:55 +0100
Received: from mariner.cam.xci-test.com	([10.80.2.22]
	helo=mariner.uk.xensource.com ident=Debian-exim)	by
	norwich.cam.xci-test.com
	with esmtp (Exim 4.72)	(envelope-from <Ian.Jackson@eu.citrix.com>)	id
	1Sa76Q-0003gY-LT; Thu, 31 May 2012 15:15:54 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>)	id 1Sa76Q-000180-Kh;
	Thu, 31 May 2012 16:15:54 +0100
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
MIME-Version: 1.0
Message-ID: <20423.35626.624929.187304@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 16:15:54 +0100
To: George Dunlap <george.dunlap@eu.citrix.com>
In-Reply-To: <4FC7774C.1010801@eu.citrix.com>
References: <patchbomb.1338299818@cosworth.uk.xensource.com>
	<9094cf509df0e36d8c59.1338299823@cosworth.uk.xensource.com>
	<4FC7774C.1010801@eu.citrix.com>
X-Mailer: VM 8.1.0 under 23.2.1 (i486-pc-linux-gnu)
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 5 of 5 V2] libxl: expose a single get/setter
 for domain scheduler parameters
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

George Dunlap writes ("Re: [PATCH 5 of 5 V2] libxl: expose a single get/setter for domain scheduler parameters"):
> On 29/05/12 14:57, Ian Campbell wrote:
> > libxl: expose a single get/setter for domain scheduler parameters.
...
> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

> BTW, we obviously need to have "xl sched-credit" for xm compatibility;
> but do you think it makes sense to make a generic xl command that's a
> analog to the generic libxl function, that looks up the scheduler for
> you on get, and accepts all the parameters on the command-line?
> (Doesn't need to be part of this series, obviously.)

I think that would be a very good idea.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:17:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa78F-00006J-Vs; Thu, 31 May 2012 15:17:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa78E-00005s-8i
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:17:46 +0000
Received: from [85.158.139.83:44538] by server-5.bemta-5.messagelabs.com id
	F5/B8-16141-99B87CF4; Thu, 31 May 2012 15:17:45 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338477462!31315451!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22222 invoked from network); 31 May 2012 15:17:44 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:17:44 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFHeWP002564
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:17:40 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFHdZC015151
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:17:39 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFHcJF012207; Thu, 31 May 2012 10:17:38 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:17:38 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 89041402B8; Thu, 31 May 2012 11:10:49 -0400 (EDT)
Date: Thu, 31 May 2012 11:10:49 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120531151049.GA9876@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
	<CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
	<20120530141815.GA3207@phenom.dumpdata.com>
	<CAJ75kXaPphN8OVdF2RbJLiK2A9RD_Z6X325ynHD08--YfJQk_g@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXaPphN8OVdF2RbJLiK2A9RD_Z6X325ynHD08--YfJQk_g@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:29:43PM +0200, William Dauchy wrote:
> Hello Konrad,
> 
> On Wed, May 30, 2012 at 4:18 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > Pls try the attached patch.
> 
> Thanks for your quick reply.
> I tested the attached patch and it fixes the issue.

Cool. Thanks for testing it out.

> 
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> Reported-by: William Dauchy <wdauchy@gmail.com>
> Tested-by: William Dauchy <wdauchy@gmail.com>
> 
> Maybe we should think about proposing it in stable.
> Cc: <stable@vger.kernel.org>
> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:17:54 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa78F-00006J-Vs; Thu, 31 May 2012 15:17:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa78E-00005s-8i
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:17:46 +0000
Received: from [85.158.139.83:44538] by server-5.bemta-5.messagelabs.com id
	F5/B8-16141-99B87CF4; Thu, 31 May 2012 15:17:45 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338477462!31315451!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22222 invoked from network); 31 May 2012 15:17:44 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:17:44 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFHeWP002564
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:17:40 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFHdZC015151
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:17:39 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFHcJF012207; Thu, 31 May 2012 10:17:38 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:17:38 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 89041402B8; Thu, 31 May 2012 11:10:49 -0400 (EDT)
Date: Thu, 31 May 2012 11:10:49 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: William Dauchy <wdauchy@gmail.com>
Message-ID: <20120531151049.GA9876@phenom.dumpdata.com>
References: <CAJ75kXYXvVA3Xd9evNkvkFL+JuGLcFG=DwHbXAxsLsZ0pKk1Sg@mail.gmail.com>
	<20120522183659.GA24324@phenom.dumpdata.com>
	<CAJ75kXZBZ7AHvNYfDE8KWFuG8KHOn1j5wEL-9yfWc3vLPh9k6g@mail.gmail.com>
	<20120525210148.GH23655@phenom.dumpdata.com>
	<CAJ75kXYOswCJFDGknmvhCfB2+mtQkHQYmpMvKkO2x10Dm7+iLg@mail.gmail.com>
	<20120530141815.GA3207@phenom.dumpdata.com>
	<CAJ75kXaPphN8OVdF2RbJLiK2A9RD_Z6X325ynHD08--YfJQk_g@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAJ75kXaPphN8OVdF2RbJLiK2A9RD_Z6X325ynHD08--YfJQk_g@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: xen-devel@lists.xensource.com
Subject: Re: [Xen-devel] multicalls.c warning in xen_mc_flush
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 11:29:43PM +0200, William Dauchy wrote:
> Hello Konrad,
> 
> On Wed, May 30, 2012 at 4:18 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > Pls try the attached patch.
> 
> Thanks for your quick reply.
> I tested the attached patch and it fixes the issue.

Cool. Thanks for testing it out.

> 
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> Reported-by: William Dauchy <wdauchy@gmail.com>
> Tested-by: William Dauchy <wdauchy@gmail.com>
> 
> Maybe we should think about proposing it in stable.
> Cc: <stable@vger.kernel.org>
> 
> Regards,
> -- 
> William
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:29:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7JH-0000WT-61; Thu, 31 May 2012 15:29:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7JF-0000WM-3t
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:29:09 +0000
Received: from [85.158.143.35:15864] by server-2.bemta-4.messagelabs.com id
	1B/CC-11595-44E87CF4; Thu, 31 May 2012 15:29:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338478146!6498114!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24688 invoked from network); 31 May 2012 15:29:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:29:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:29:06 +0100
Message-Id: <4FC7AA6102000078000876FE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:29:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-2-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-2-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/5] xen: add ssize_t to types.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
>--- a/xen/include/xen/types.h
>+++ b/xen/include/xen/types.h
>@@ -58,5 +58,6 @@ typedef __u64 __le64;
> typedef __u64 __be64;
> 
> typedef unsigned long uintptr_t;
>+typedef int ssize_t;

If you add a new type, it needs to be defined correctly and
portably - here, it obviously needs to follow the definition of
size_t (which isn't a typedef of "unsigned int" unilaterally).

With ssize_t in particular I have always been wondering what
benefit it provides over ptrdiff_t (i.e. whether there are
environments where the two could sensibly be different).

Jan

> 
> #endif /* __TYPES_H__ */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:29:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7JH-0000WT-61; Thu, 31 May 2012 15:29:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7JF-0000WM-3t
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:29:09 +0000
Received: from [85.158.143.35:15864] by server-2.bemta-4.messagelabs.com id
	1B/CC-11595-44E87CF4; Thu, 31 May 2012 15:29:08 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338478146!6498114!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24688 invoked from network); 31 May 2012 15:29:07 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:29:07 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:29:06 +0100
Message-Id: <4FC7AA6102000078000876FE@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:29:05 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-2-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-2-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 1/5] xen: add ssize_t to types.h
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
>--- a/xen/include/xen/types.h
>+++ b/xen/include/xen/types.h
>@@ -58,5 +58,6 @@ typedef __u64 __le64;
> typedef __u64 __be64;
> 
> typedef unsigned long uintptr_t;
>+typedef int ssize_t;

If you add a new type, it needs to be defined correctly and
portably - here, it obviously needs to follow the definition of
size_t (which isn't a typedef of "unsigned int" unilaterally).

With ssize_t in particular I have always been wondering what
benefit it provides over ptrdiff_t (i.e. whether there are
environments where the two could sensibly be different).

Jan

> 
> #endif /* __TYPES_H__ */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:35:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:35:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7PT-0000tp-Vh; Thu, 31 May 2012 15:35:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa7PT-0000tj-7R
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:35:35 +0000
Received: from [85.158.143.35:40894] by server-1.bemta-4.messagelabs.com id
	1D/6A-27869-6CF87CF4; Thu, 31 May 2012 15:35:34 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338478525!14227543!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25571 invoked from network); 31 May 2012 15:35:33 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 15:35:33 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFY11v022710
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:34:03 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFXw3H025192
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:33:58 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFXqw8029717; Thu, 31 May 2012 10:33:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:33:52 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 449E2402B7; Thu, 31 May 2012 11:27:02 -0400 (EDT)
Date: Thu, 31 May 2012 11:27:02 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120531152702.GC9876@phenom.dumpdata.com>
References: <20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
	<20120530223334.GB28417@andromeda.dapyr.net> <4FC762F8.902@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC762F8.902@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >index 75f33b2..e74df95 100644
> >--- a/arch/x86/xen/enlighten.c
> >+++ b/arch/x86/xen/enlighten.c
> >@@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
> >  	.wbinvd = native_wbinvd,
> >
> >  	.read_msr = native_read_msr_safe,
> >+	.rdmsr_regs = native_rdmsr_safe_regs,
> >  	.write_msr = xen_write_msr_safe,
> >+	.wrmsr_regs = native_wrmsr_safe_regs,
> >+
> >  	.read_tsc = native_read_tsc,
> >  	.read_pmc = native_read_pmc,
> >
> >
> 
> Acked-by: Andre Przywara <andre.przywara@amd.com>
> 
> This works on the test machine.

Great! Thanks for doing a quick test for this.
> 
> Though I'd still like to have my original patch applied, because it
> makes the thing a bit cleaner.

OK. Please re-send with an up-to-date git commit as suggested
by Peter.

> 
> And I made a patch to remove the {rd,wr}msr_regs hooks from
> paravirt_ops completely. Shall I send it out or do you want to make
> this part of larger patch series to clean up pvops?

Please do send it out. Thanks again!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:35:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:35:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7PT-0000tp-Vh; Thu, 31 May 2012 15:35:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa7PT-0000tj-7R
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:35:35 +0000
Received: from [85.158.143.35:40894] by server-1.bemta-4.messagelabs.com id
	1D/6A-27869-6CF87CF4; Thu, 31 May 2012 15:35:34 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338478525!14227543!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25571 invoked from network); 31 May 2012 15:35:33 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-7.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 15:35:33 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFY11v022710
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:34:03 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFXw3H025192
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:33:58 GMT
Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFXqw8029717; Thu, 31 May 2012 10:33:52 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:33:52 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 449E2402B7; Thu, 31 May 2012 11:27:02 -0400 (EDT)
Date: Thu, 31 May 2012 11:27:02 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120531152702.GC9876@phenom.dumpdata.com>
References: <20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC664E1.9050504@zytor.com>
	<20120530223334.GB28417@andromeda.dapyr.net> <4FC762F8.902@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC762F8.902@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	Borislav Petkov <bp@alien8.de>, Jan Beulich <JBeulich@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>, mingo@elte.hu,
	tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> >index 75f33b2..e74df95 100644
> >--- a/arch/x86/xen/enlighten.c
> >+++ b/arch/x86/xen/enlighten.c
> >@@ -1116,7 +1116,10 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
> >  	.wbinvd = native_wbinvd,
> >
> >  	.read_msr = native_read_msr_safe,
> >+	.rdmsr_regs = native_rdmsr_safe_regs,
> >  	.write_msr = xen_write_msr_safe,
> >+	.wrmsr_regs = native_wrmsr_safe_regs,
> >+
> >  	.read_tsc = native_read_tsc,
> >  	.read_pmc = native_read_pmc,
> >
> >
> 
> Acked-by: Andre Przywara <andre.przywara@amd.com>
> 
> This works on the test machine.

Great! Thanks for doing a quick test for this.
> 
> Though I'd still like to have my original patch applied, because it
> makes the thing a bit cleaner.

OK. Please re-send with an up-to-date git commit as suggested
by Peter.

> 
> And I made a patch to remove the {rd,wr}msr_regs hooks from
> paravirt_ops completely. Shall I send it out or do you want to make
> this part of larger patch series to clean up pvops?

Please do send it out. Thanks again!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:36:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:36:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7Ph-0000vp-Bl; Thu, 31 May 2012 15:35:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa7Pf-0000vP-KE
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:35:47 +0000
Received: from [85.158.138.51:20875] by server-1.bemta-3.messagelabs.com id
	37/5D-06526-2DF87CF4; Thu, 31 May 2012 15:35:46 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338478545!23825215!1
X-Originating-IP: [209.85.217.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2595 invoked from network); 31 May 2012 15:35:46 -0000
Received: from mail-lb0-f171.google.com (HELO mail-lb0-f171.google.com)
	(209.85.217.171)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:35:46 -0000
Received: by lbom4 with SMTP id m4so1171683lbo.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 08:35:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=kxVJ2aYAkdcRgFs38cmXa0AeVxyQn18Lii6mjJkVt3Q=;
	b=NS20SW2sQKqOlmlL8He5Jo75OR7BzuJUJAJuKEifT2W3bTzooHLNVorEv7fOeKMlqq
	gIaD1c8RiiPOzP4ePQhrbBppzP/oWU7kuX/TIWZJ+usXtZowHswTRuk8NpRrnlNdaqy5
	gse2uXS3fsG/N9IwE0pJOx8GBUyroebb8u6DOJjNX8JtTI5/h3ZnJaYPZsXczj0M45P8
	AZH/tyc2Yd8rNSZY6n0c+DJuR1UlNjd4xW2b87dDTugYiXbH7df/cKEZj95yEiXu9/U1
	wkU6CyVM7Xe4nfOEAIvuTC5/dcC4q/k4FBnvFcf4pUny4+Zpe+qM6ZZ80XeF9Cd1Lqgw
	gd8w==
MIME-Version: 1.0
Received: by 10.152.145.42 with SMTP id sr10mr11224096lab.16.1338478545025;
	Thu, 31 May 2012 08:35:45 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 08:35:44 -0700 (PDT)
In-Reply-To: <20423.35295.846826.21182@mariner.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
	<CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
	<20423.35295.846826.21182@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:35:44 -0400
X-Google-Sender-Auth: dct8tTpXGX3WxqopUEaDZl_c_PI
Message-ID: <CAOvdn6XUoO+y5KKeKT2PDoAp8i9V4hRYBFxedaWS=EkPSLYpqw@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

That works in my tree, and seems to be the best solution, yet

Ben

On Thu, May 31, 2012 at 11:10 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> w=
rote:
> Ben Guthro writes ("Re: [Xen-devel] [xen-unstable test] 12988: regression=
s - FAIL"):
>> Fix build error, after distclean
>
> I think in fact the right fix is probably more like this. =A0What do you
> think ?
>
> Ian.
>
> diff -r e53a1d3c212c tools/libxl/Makefile
> --- a/tools/libxl/Makefile =A0 =A0 =A0Wed May 30 10:57:10 2012 +0100
> +++ b/tools/libxl/Makefile =A0 =A0 =A0Thu May 31 16:10:11 2012 +0100
> @@ -72,7 +72,7 @@ LIBXL_OBJS +=3D _libxl_types.o libxl_flask
>
> =A0$(LIBXL_OBJS): CFLAGS +=3D $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) =
$(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/con=
fig.h
>
> -AUTOINCS=3D libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
> +AUTOINCS=3D libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h _paths.h
> =A0AUTOSRCS=3D libxlu_cfg_y.c libxlu_cfg_l.c
> =A0LIBXLU_OBJS =3D libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
> =A0 =A0 =A0 =A0libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:36:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:36:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7Ph-0000vp-Bl; Thu, 31 May 2012 15:35:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa7Pf-0000vP-KE
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:35:47 +0000
Received: from [85.158.138.51:20875] by server-1.bemta-3.messagelabs.com id
	37/5D-06526-2DF87CF4; Thu, 31 May 2012 15:35:46 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338478545!23825215!1
X-Originating-IP: [209.85.217.171]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2595 invoked from network); 31 May 2012 15:35:46 -0000
Received: from mail-lb0-f171.google.com (HELO mail-lb0-f171.google.com)
	(209.85.217.171)
	by server-14.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:35:46 -0000
Received: by lbom4 with SMTP id m4so1171683lbo.30
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 08:35:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=kxVJ2aYAkdcRgFs38cmXa0AeVxyQn18Lii6mjJkVt3Q=;
	b=NS20SW2sQKqOlmlL8He5Jo75OR7BzuJUJAJuKEifT2W3bTzooHLNVorEv7fOeKMlqq
	gIaD1c8RiiPOzP4ePQhrbBppzP/oWU7kuX/TIWZJ+usXtZowHswTRuk8NpRrnlNdaqy5
	gse2uXS3fsG/N9IwE0pJOx8GBUyroebb8u6DOJjNX8JtTI5/h3ZnJaYPZsXczj0M45P8
	AZH/tyc2Yd8rNSZY6n0c+DJuR1UlNjd4xW2b87dDTugYiXbH7df/cKEZj95yEiXu9/U1
	wkU6CyVM7Xe4nfOEAIvuTC5/dcC4q/k4FBnvFcf4pUny4+Zpe+qM6ZZ80XeF9Cd1Lqgw
	gd8w==
MIME-Version: 1.0
Received: by 10.152.145.42 with SMTP id sr10mr11224096lab.16.1338478545025;
	Thu, 31 May 2012 08:35:45 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 08:35:44 -0700 (PDT)
In-Reply-To: <20423.35295.846826.21182@mariner.uk.xensource.com>
References: <osstest-12988-mainreport@xen.org>
	<1338371077.31698.29.camel@zakaz.uk.xensource.com>
	<1338371198.31698.30.camel@zakaz.uk.xensource.com>
	<20421.61199.525262.572856@mariner.uk.xensource.com>
	<CAOvdn6WziXKV0JT_ofUpFaY6aTsXVWBhdXb81SL+CgQvKL7rAg@mail.gmail.com>
	<CAOvdn6XB_aNEJBwpq2K-fPdJZ4Jz2o=831GE_qNN6HVXKbrURA@mail.gmail.com>
	<20423.35295.846826.21182@mariner.uk.xensource.com>
Date: Thu, 31 May 2012 11:35:44 -0400
X-Google-Sender-Auth: dct8tTpXGX3WxqopUEaDZl_c_PI
Message-ID: <CAOvdn6XUoO+y5KKeKT2PDoAp8i9V4hRYBFxedaWS=EkPSLYpqw@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [Xen-devel] [xen-unstable test] 12988: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

That works in my tree, and seems to be the best solution, yet

Ben

On Thu, May 31, 2012 at 11:10 AM, Ian Jackson <Ian.Jackson@eu.citrix.com> w=
rote:
> Ben Guthro writes ("Re: [Xen-devel] [xen-unstable test] 12988: regression=
s - FAIL"):
>> Fix build error, after distclean
>
> I think in fact the right fix is probably more like this. =A0What do you
> think ?
>
> Ian.
>
> diff -r e53a1d3c212c tools/libxl/Makefile
> --- a/tools/libxl/Makefile =A0 =A0 =A0Wed May 30 10:57:10 2012 +0100
> +++ b/tools/libxl/Makefile =A0 =A0 =A0Thu May 31 16:10:11 2012 +0100
> @@ -72,7 +72,7 @@ LIBXL_OBJS +=3D _libxl_types.o libxl_flask
>
> =A0$(LIBXL_OBJS): CFLAGS +=3D $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) =
$(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/con=
fig.h
>
> -AUTOINCS=3D libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h
> +AUTOINCS=3D libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h _paths.h
> =A0AUTOSRCS=3D libxlu_cfg_y.c libxlu_cfg_l.c
> =A0LIBXLU_OBJS =3D libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
> =A0 =A0 =A0 =A0libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:37:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:37:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7RI-0001EY-WD; Thu, 31 May 2012 15:37:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa7RH-0001EI-Fj
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:37:27 +0000
Received: from [85.158.139.83:62764] by server-12.bemta-5.messagelabs.com id
	30/15-20635-63097CF4; Thu, 31 May 2012 15:37:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338478644!31441709!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8609 invoked from network); 31 May 2012 15:37:25 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 15:37:25 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFb9Fg011784
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:37:10 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFb8EY006513
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:37:09 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFb8he005981; Thu, 31 May 2012 10:37:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:37:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8FAFB402B7; Thu, 31 May 2012 11:30:18 -0400 (EDT)
Date: Thu, 31 May 2012 11:30:18 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Borislav Petkov <bp@amd64.org>
Message-ID: <20120531153018.GD9876@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531135009.GC14515@aftab.osrc.amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120531135009.GC14515@aftab.osrc.amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "Liu, Jinsong" <jinsong.liu@intel.com>, "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 03:50:09PM +0200, Borislav Petkov wrote:
> On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> > From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
> > From: root <root@ljsromley.bj.intel.com>
> > Date: Fri, 1 Jun 2012 03:12:51 +0800
> > Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
> > 
> > When MCA error occurs, it would be handled by Xen hypervisor first,
> > and then the error information would be sent to initial domain for logging.
> > 
> > This patch gets error information from Xen hypervisor and convert
> > Xen format error into Linux format mcelog. This logic is basically
> > self-contained, not touching other kernel components.
> > 
> > By using tools like mcelog tool users could read specific error information,
> > like what they did under native Linux.
> > 
> > To test follow directions outlined in Documentation/acpi/apei/einj.txt
> > 
> > Signed-off-by: Ke, Liping <liping.ke@intel.com>
> > Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> > Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> > Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> > ---
> >  arch/x86/include/asm/xen/hypercall.h |    8 +
> >  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
> >  arch/x86/xen/enlighten.c             |    5 +-
> >  drivers/xen/Kconfig                  |    8 +
> >  drivers/xen/Makefile                 |    1 +
> >  drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++++++
> >  include/linux/miscdevice.h           |    1 +
> >  include/xen/interface/xen-mca.h      |  385 +++++++++++++++++++++++++++++++++
> >  8 files changed, 798 insertions(+), 6 deletions(-)
> >  create mode 100644 drivers/xen/mcelog.c
> >  create mode 100644 include/xen/interface/xen-mca.h
> 
> For the mce bits:
> 
> Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>

Sweet. Let me test it on a variety of hardware with Xen and without Xen
with 32/64 variations to double-check.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:37:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:37:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7RI-0001EY-WD; Thu, 31 May 2012 15:37:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa7RH-0001EI-Fj
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:37:27 +0000
Received: from [85.158.139.83:62764] by server-12.bemta-5.messagelabs.com id
	30/15-20635-63097CF4; Thu, 31 May 2012 15:37:26 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1338478644!31441709!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8609 invoked from network); 31 May 2012 15:37:25 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-182.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 15:37:25 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFb9Fg011784
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:37:10 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFb8EY006513
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:37:09 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFb8he005981; Thu, 31 May 2012 10:37:08 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:37:08 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 8FAFB402B7; Thu, 31 May 2012 11:30:18 -0400 (EDT)
Date: Thu, 31 May 2012 11:30:18 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Borislav Petkov <bp@amd64.org>
Message-ID: <20120531153018.GD9876@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531135009.GC14515@aftab.osrc.amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120531135009.GC14515@aftab.osrc.amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: "Liu, Jinsong" <jinsong.liu@intel.com>, "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 03:50:09PM +0200, Borislav Petkov wrote:
> On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> > From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
> > From: root <root@ljsromley.bj.intel.com>
> > Date: Fri, 1 Jun 2012 03:12:51 +0800
> > Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
> > 
> > When MCA error occurs, it would be handled by Xen hypervisor first,
> > and then the error information would be sent to initial domain for logging.
> > 
> > This patch gets error information from Xen hypervisor and convert
> > Xen format error into Linux format mcelog. This logic is basically
> > self-contained, not touching other kernel components.
> > 
> > By using tools like mcelog tool users could read specific error information,
> > like what they did under native Linux.
> > 
> > To test follow directions outlined in Documentation/acpi/apei/einj.txt
> > 
> > Signed-off-by: Ke, Liping <liping.ke@intel.com>
> > Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> > Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> > Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> > ---
> >  arch/x86/include/asm/xen/hypercall.h |    8 +
> >  arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
> >  arch/x86/xen/enlighten.c             |    5 +-
> >  drivers/xen/Kconfig                  |    8 +
> >  drivers/xen/Makefile                 |    1 +
> >  drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++++++
> >  include/linux/miscdevice.h           |    1 +
> >  include/xen/interface/xen-mca.h      |  385 +++++++++++++++++++++++++++++++++
> >  8 files changed, 798 insertions(+), 6 deletions(-)
> >  create mode 100644 drivers/xen/mcelog.c
> >  create mode 100644 include/xen/interface/xen-mca.h
> 
> For the mce bits:
> 
> Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>

Sweet. Let me test it on a variety of hardware with Xen and without Xen
with 32/64 variations to double-check.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:37:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:37:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7RR-0001Fc-CU; Thu, 31 May 2012 15:37:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7RQ-0001FL-FK
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:37:36 +0000
Received: from [85.158.143.99:5040] by server-3.bemta-4.messagelabs.com id
	AF/DB-04252-F3097CF4; Thu, 31 May 2012 15:37:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338478654!21116726!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15457 invoked from network); 31 May 2012 15:37:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:37:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:37:34 +0100
Message-Id: <4FC7AC5C020000780008770C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:37:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-3-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-3-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2/5] xen: Add headers to include/Makefile
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:

>   Add stdlib.h for size_t
>   Add string.h for memcpy
>   Add sys/types.h for ssize_t
> 
> Signed-off-by: Jean Guyader <jean.guyader@citrix.com>

Sorry, I don't think this is correct: What you're modifying is the
rule to validate public headers, and public headers should never
include any of the three above - the only headers consuming
defined symbols of which is half-way acceptable are those that
exclusively deal with compiler properties (stddef.h, stdint.h,
stdbool.h, stdarg.h, and maybe inttypes.h).

Plus I don't see how public headers would legitimately and
portably (keep 32-on-64 in mind!) use any of the three symbols
mentioned above.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:37:47 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:37:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7RR-0001Fc-CU; Thu, 31 May 2012 15:37:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7RQ-0001FL-FK
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:37:36 +0000
Received: from [85.158.143.99:5040] by server-3.bemta-4.messagelabs.com id
	AF/DB-04252-F3097CF4; Thu, 31 May 2012 15:37:35 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338478654!21116726!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15457 invoked from network); 31 May 2012 15:37:35 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:37:35 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:37:34 +0100
Message-Id: <4FC7AC5C020000780008770C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:37:32 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-3-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-3-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2/5] xen: Add headers to include/Makefile
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:

>   Add stdlib.h for size_t
>   Add string.h for memcpy
>   Add sys/types.h for ssize_t
> 
> Signed-off-by: Jean Guyader <jean.guyader@citrix.com>

Sorry, I don't think this is correct: What you're modifying is the
rule to validate public headers, and public headers should never
include any of the three above - the only headers consuming
defined symbols of which is half-way acceptable are those that
exclusively deal with compiler properties (stddef.h, stdint.h,
stdbool.h, stdarg.h, and maybe inttypes.h).

Plus I don't see how public headers would legitimately and
portably (keep 32-on-64 in mind!) use any of the three symbols
mentioned above.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:40:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7UT-0001Yx-W6; Thu, 31 May 2012 15:40:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7US-0001Yg-73
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:40:44 +0000
Received: from [85.158.139.83:12177] by server-6.bemta-5.messagelabs.com id
	B5/51-31790-BF097CF4; Thu, 31 May 2012 15:40:43 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338478842!30713648!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25134 invoked from network); 31 May 2012 15:40:42 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-182.messagelabs.com with SMTP;
	31 May 2012 15:40:42 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315402; Thu, 31 May 2012 16:40:42 +0200
Message-ID: <1338475235.15014.32.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:40:35 +0200
In-Reply-To: <20423.32533.912523.206821@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<b791abe0f7b78622041e.1338466273@Solace>
	<20423.32533.912523.206821@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 08 of 11] xl: add more NUMA information to
	`xl info -n'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1400600841283996015=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1400600841283996015==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-alOaAAKkbBYCgBXf5j07"


--=-alOaAAKkbBYCgBXf5j07
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:24 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 08 of 11] xl: add more NUMA information to=
 `xl info -n'"):
> > So that the user knows how much memory there is on each node and
> > how far they are from each others.
>=20
> Perhaps the json output machinery can do this for us ?  If that's
> sufficiently legible then it would be an improvement on this
> open-coded printer.
>=20
> Also people might try to parse the output from open-coded printer
> which would be annoying when we try to extend things.
>=20
Not sure I got 100% of what you mean. I put something together on the
line of what 'void output_topologyinfo(void)' does, but I can do it some
other way as soon as I understand how you're suggesting to do it :-P

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-alOaAAKkbBYCgBXf5j07
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HguMACgkQk4XaBE3IOsTbDQCfcmwCDJs7gdzzFxhNP8IBSHMz
GnwAnjV0R5RbQp/LdRdDobnIwhLbGy5N
=PG+/
-----END PGP SIGNATURE-----

--=-alOaAAKkbBYCgBXf5j07--



--===============1400600841283996015==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1400600841283996015==--



From xen-devel-bounces@lists.xen.org Thu May 31 15:40:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7UT-0001Yx-W6; Thu, 31 May 2012 15:40:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7US-0001Yg-73
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:40:44 +0000
Received: from [85.158.139.83:12177] by server-6.bemta-5.messagelabs.com id
	B5/51-31790-BF097CF4; Thu, 31 May 2012 15:40:43 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-9.tower-182.messagelabs.com!1338478842!30713648!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25134 invoked from network); 31 May 2012 15:40:42 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-9.tower-182.messagelabs.com with SMTP;
	31 May 2012 15:40:42 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78315402; Thu, 31 May 2012 16:40:42 +0200
Message-ID: <1338475235.15014.32.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 16:40:35 +0200
In-Reply-To: <20423.32533.912523.206821@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<b791abe0f7b78622041e.1338466273@Solace>
	<20423.32533.912523.206821@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 08 of 11] xl: add more NUMA information to
	`xl info -n'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1400600841283996015=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1400600841283996015==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-alOaAAKkbBYCgBXf5j07"


--=-alOaAAKkbBYCgBXf5j07
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 15:24 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 08 of 11] xl: add more NUMA information to=
 `xl info -n'"):
> > So that the user knows how much memory there is on each node and
> > how far they are from each others.
>=20
> Perhaps the json output machinery can do this for us ?  If that's
> sufficiently legible then it would be an improvement on this
> open-coded printer.
>=20
> Also people might try to parse the output from open-coded printer
> which would be annoying when we try to extend things.
>=20
Not sure I got 100% of what you mean. I put something together on the
line of what 'void output_topologyinfo(void)' does, but I can do it some
other way as soon as I understand how you're suggesting to do it :-P

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-alOaAAKkbBYCgBXf5j07
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HguMACgkQk4XaBE3IOsTbDQCfcmwCDJs7gdzzFxhNP8IBSHMz
GnwAnjV0R5RbQp/LdRdDobnIwhLbGy5N
=PG+/
-----END PGP SIGNATURE-----

--=-alOaAAKkbBYCgBXf5j07--



--===============1400600841283996015==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1400600841283996015==--



From xen-devel-bounces@lists.xen.org Thu May 31 15:41:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7VU-0001fQ-FB; Thu, 31 May 2012 15:41:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7VS-0001ex-JG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:41:46 +0000
Received: from [85.158.138.51:46275] by server-5.bemta-3.messagelabs.com id
	FA/61-27664-93197CF4; Thu, 31 May 2012 15:41:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338478903!23826737!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32641 invoked from network); 31 May 2012 15:41:43 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-174.messagelabs.com with SMTP;
	31 May 2012 15:41:43 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78317554; Thu, 31 May 2012 17:41:42 +0200
Message-ID: <1338478895.15014.60.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 17:41:35 +0200
In-Reply-To: <20423.35189.904831.64711@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<e9b2e81e4afbde8c3ceb.1338466276@Solace>
	<20423.35189.904831.64711@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11 of 11] Some automatic NUMA placement
	documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7691265450551536557=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7691265450551536557==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-mV7o8jWntYZXmBYE0L3y"


--=-mV7o8jWntYZXmBYE0L3y
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:08 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 11 of 11] Some automatic NUMA placement do=
cumentation"):
> > About rationale, usage and API.
> ...
> > +## Guest Placement in libxl ##
>=20
> Oh here's the API documentation!
>=20
Yep. :-)

> In general I would prefer to see docs come in the same patch but I
> guess I can read it here:
>=20
I can put it there. Would you recommend _moving_ it in the source file o
also leaving a copy, o maybe just some pointers, here?

> > +xl achieves automatic NUMA placement by means of the following API
> > +calls, provided by libxl.
>=20
> Can you try to write some more general comment about what order these
> functions should be called in ?
>=20
Yes I can, good point.

<snip>

> > +        int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> > +                                          int min_cpus, int max_nodes,
> > +                                          libxl_numa_candidate *candid=
ate);
> > +
> > +This is what should be used to ensure a placement candidate has at lea=
st
> > +min_cpus CPUs. In case it does not, the function also take care of
> > +adding more nodes to the candidate itself (up to when the value specif=
ied
> > +in max_nodes is reached). When adding new nodes, the one that has the
> > +smallest "distance" from the current node map is selected at each step=
.
>=20
> `add_cpus' doesn't seem the same as `ensure a candidate has at least
> min_cpus CPUs'.  In what sense are the CPUs added ?
>=20
In the sense that, if you have a candidate placement which comprises,
say, 2 nodes, summing up to 12 CPUs, but you want your VM to have access
to a minimum of 16 CPUs the this checks that and add more nodes to the
candidate placement until it contains enough of them for giving you the
number of CPUs you asked for.

> And, as before, why might I want to call this ?  And when would I call
> it ?  Why does the interface to libxl expose this rather than just
> offering a single function
>=20
>  libxl_do_automatic_numa_placement_according_to_heuristics
>=20
> ?
>=20
Right, that is of couse an option, and I thought about going that way
for quite a while. However, what I think is best for libxl is to provide
a set of building blocks for its user to be able to implement the actual
heuristics.

That's why I tried to offer a 'generate the placement candidates' and
'manipulate the placement candidate' kind of API, to make it possible
for lower levels to use it when putting their own placing algorithm
together. It is also kind of extendable, I mean, we can always add
another 'manipulate the candidates in some other way' function if needed
or wanted by us or whatever other libxl user.

Doing it the other way, i.e., one big function doing everything, would
mean that as soon as we want to change or improve the placement
heuristics, we need to modify the behaviour of that API call, which I
think it is suboptimal. Also, if some other user of libxl does not like
the heuristics I came out with, they have to reimplement the whole
placement.

So, like it is right now, the actual heuristics is implemented in xl, on
top of these placement candidate generation and manipulation facilities,
which I finally decided it was the way I liked this whole thing
most. :-)

Again, you're right in asking this reasoning to be part of the
documentation, and to be put in the proper place, and I will do that.
However, now that I've put it here, do you think it makes some sense?

> > +        libxl_numa_candidate_count_domains(libxl_ctx *ctx,
> > +                                           libxl_numa_candidate *candi=
date);
> > +
> > +This is what counts the number of domains that are currently pinned
> > +to the CPUs of the nodes of a given candidate.
>=20
> Why is that useful ?  It is used by some of your other code so I guess
> this is a facility which is useful to the implementors of other
> placement algorithms ?
>=20
As I tried to explain above, yes, exactly like that.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-mV7o8jWntYZXmBYE0L3y
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HkS8ACgkQk4XaBE3IOsQXDwCfb8ht390qW2e50Ae9WkMHOWfb
wnMAn0UXXS6FRZjVTl2XOJap6PS1z8Pn
=t+f7
-----END PGP SIGNATURE-----

--=-mV7o8jWntYZXmBYE0L3y--



--===============7691265450551536557==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7691265450551536557==--



From xen-devel-bounces@lists.xen.org Thu May 31 15:41:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7VU-0001fQ-FB; Thu, 31 May 2012 15:41:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7VS-0001ex-JG
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:41:46 +0000
Received: from [85.158.138.51:46275] by server-5.bemta-3.messagelabs.com id
	FA/61-27664-93197CF4; Thu, 31 May 2012 15:41:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338478903!23826737!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32641 invoked from network); 31 May 2012 15:41:43 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-174.messagelabs.com with SMTP;
	31 May 2012 15:41:43 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78317554; Thu, 31 May 2012 17:41:42 +0200
Message-ID: <1338478895.15014.60.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 17:41:35 +0200
In-Reply-To: <20423.35189.904831.64711@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<e9b2e81e4afbde8c3ceb.1338466276@Solace>
	<20423.35189.904831.64711@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 11 of 11] Some automatic NUMA placement
	documentation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7691265450551536557=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============7691265450551536557==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-mV7o8jWntYZXmBYE0L3y"


--=-mV7o8jWntYZXmBYE0L3y
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:08 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 11 of 11] Some automatic NUMA placement do=
cumentation"):
> > About rationale, usage and API.
> ...
> > +## Guest Placement in libxl ##
>=20
> Oh here's the API documentation!
>=20
Yep. :-)

> In general I would prefer to see docs come in the same patch but I
> guess I can read it here:
>=20
I can put it there. Would you recommend _moving_ it in the source file o
also leaving a copy, o maybe just some pointers, here?

> > +xl achieves automatic NUMA placement by means of the following API
> > +calls, provided by libxl.
>=20
> Can you try to write some more general comment about what order these
> functions should be called in ?
>=20
Yes I can, good point.

<snip>

> > +        int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> > +                                          int min_cpus, int max_nodes,
> > +                                          libxl_numa_candidate *candid=
ate);
> > +
> > +This is what should be used to ensure a placement candidate has at lea=
st
> > +min_cpus CPUs. In case it does not, the function also take care of
> > +adding more nodes to the candidate itself (up to when the value specif=
ied
> > +in max_nodes is reached). When adding new nodes, the one that has the
> > +smallest "distance" from the current node map is selected at each step=
.
>=20
> `add_cpus' doesn't seem the same as `ensure a candidate has at least
> min_cpus CPUs'.  In what sense are the CPUs added ?
>=20
In the sense that, if you have a candidate placement which comprises,
say, 2 nodes, summing up to 12 CPUs, but you want your VM to have access
to a minimum of 16 CPUs the this checks that and add more nodes to the
candidate placement until it contains enough of them for giving you the
number of CPUs you asked for.

> And, as before, why might I want to call this ?  And when would I call
> it ?  Why does the interface to libxl expose this rather than just
> offering a single function
>=20
>  libxl_do_automatic_numa_placement_according_to_heuristics
>=20
> ?
>=20
Right, that is of couse an option, and I thought about going that way
for quite a while. However, what I think is best for libxl is to provide
a set of building blocks for its user to be able to implement the actual
heuristics.

That's why I tried to offer a 'generate the placement candidates' and
'manipulate the placement candidate' kind of API, to make it possible
for lower levels to use it when putting their own placing algorithm
together. It is also kind of extendable, I mean, we can always add
another 'manipulate the candidates in some other way' function if needed
or wanted by us or whatever other libxl user.

Doing it the other way, i.e., one big function doing everything, would
mean that as soon as we want to change or improve the placement
heuristics, we need to modify the behaviour of that API call, which I
think it is suboptimal. Also, if some other user of libxl does not like
the heuristics I came out with, they have to reimplement the whole
placement.

So, like it is right now, the actual heuristics is implemented in xl, on
top of these placement candidate generation and manipulation facilities,
which I finally decided it was the way I liked this whole thing
most. :-)

Again, you're right in asking this reasoning to be part of the
documentation, and to be put in the proper place, and I will do that.
However, now that I've put it here, do you think it makes some sense?

> > +        libxl_numa_candidate_count_domains(libxl_ctx *ctx,
> > +                                           libxl_numa_candidate *candi=
date);
> > +
> > +This is what counts the number of domains that are currently pinned
> > +to the CPUs of the nodes of a given candidate.
>=20
> Why is that useful ?  It is used by some of your other code so I guess
> this is a facility which is useful to the implementors of other
> placement algorithms ?
>=20
As I tried to explain above, yes, exactly like that.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-mV7o8jWntYZXmBYE0L3y
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/HkS8ACgkQk4XaBE3IOsQXDwCfb8ht390qW2e50Ae9WkMHOWfb
wnMAn0UXXS6FRZjVTl2XOJap6PS1z8Pn
=t+f7
-----END PGP SIGNATURE-----

--=-mV7o8jWntYZXmBYE0L3y--



--===============7691265450551536557==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============7691265450551536557==--



From xen-devel-bounces@lists.xen.org Thu May 31 15:43:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:43:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7XO-0001pN-WA; Thu, 31 May 2012 15:43:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa7XN-0001pA-7u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:43:45 +0000
Received: from [85.158.138.51:65361] by server-2.bemta-3.messagelabs.com id
	46/28-17140-0B197CF4; Thu, 31 May 2012 15:43:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338479022!30165237!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17319 invoked from network); 31 May 2012 15:43:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:43:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197063008"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:43:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 11:43:23 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa7Wy-0000xv-CP;
	Thu, 31 May 2012 16:43:23 +0100
Message-ID: <4FC79133.6030703@eu.citrix.com>
Date: Thu, 31 May 2012 16:41:39 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
In-Reply-To: <7d16724e5eced0986454.1338466268@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
	libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.
>
> This is in preparation of making it possible to manipulate
> NUMA nodes from the toolstack(s).
>
> Signed-off-by: Dario Faggioli<dario.faggioli@citrix.com>
>
> diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
> --- a/tools/libxc/xc_misc.c
> +++ b/tools/libxc/xc_misc.c
> @@ -35,11 +35,30 @@ int xc_get_max_cpus(xc_interface *xch)
>       return max_cpus;
>   }
>
> +int xc_get_max_nodes(xc_interface *xch)
> +{
> +    static int max_nodes = 0;
> +    xc_physinfo_t physinfo;
> +
> +    if ( max_nodes )
> +        return max_nodes;
> +
> +    if ( !xc_physinfo(xch,&physinfo) )
> +        max_nodes = physinfo.max_node_id + 1;
> +
> +    return max_nodes;
What does xc_physinfo() return?  Should this return the error message 
rather than 0 if it fails?

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:43:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:43:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7XO-0001pN-WA; Thu, 31 May 2012 15:43:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa7XN-0001pA-7u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:43:45 +0000
Received: from [85.158.138.51:65361] by server-2.bemta-3.messagelabs.com id
	46/28-17140-0B197CF4; Thu, 31 May 2012 15:43:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338479022!30165237!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17319 invoked from network); 31 May 2012 15:43:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:43:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197063008"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:43:37 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 11:43:23 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa7Wy-0000xv-CP;
	Thu, 31 May 2012 16:43:23 +0100
Message-ID: <4FC79133.6030703@eu.citrix.com>
Date: Thu, 31 May 2012 16:41:39 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
In-Reply-To: <7d16724e5eced0986454.1338466268@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
	libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> As NUMA node-related counterparts of xc_cpumap_t and libxl_cpumap.
>
> This is in preparation of making it possible to manipulate
> NUMA nodes from the toolstack(s).
>
> Signed-off-by: Dario Faggioli<dario.faggioli@citrix.com>
>
> diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c
> --- a/tools/libxc/xc_misc.c
> +++ b/tools/libxc/xc_misc.c
> @@ -35,11 +35,30 @@ int xc_get_max_cpus(xc_interface *xch)
>       return max_cpus;
>   }
>
> +int xc_get_max_nodes(xc_interface *xch)
> +{
> +    static int max_nodes = 0;
> +    xc_physinfo_t physinfo;
> +
> +    if ( max_nodes )
> +        return max_nodes;
> +
> +    if ( !xc_physinfo(xch,&physinfo) )
> +        max_nodes = physinfo.max_node_id + 1;
> +
> +    return max_nodes;
What does xc_physinfo() return?  Should this return the error message 
rather than 0 if it fails?

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:44:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:44:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7Xr-0001sr-DJ; Thu, 31 May 2012 15:44:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7Xq-0001si-Cl
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:44:14 +0000
Received: from [85.158.143.35:14544] by server-3.bemta-4.messagelabs.com id
	6B/1B-04252-DC197CF4; Thu, 31 May 2012 15:44:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338479051!6501220!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1820 invoked from network); 31 May 2012 15:44:11 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:44:11 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:44:11 +0100
Message-Id: <4FC7ADE80200007800087724@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:44:08 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>,<xen-devel@lists.xen.org>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-4-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-4-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH 3/5] v4v: Introduce VIRQ_V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
>--- a/xen/common/event_channel.c
>+++ b/xen/common/event_channel.c
>@@ -107,6 +107,7 @@ static int virq_is_global(uint32_t virq)
>     case VIRQ_TIMER:
>     case VIRQ_DEBUG:
>     case VIRQ_XENOPROF:
>+    case VIRQ_V4V:

Either the placement here is wrong (the vIRQ being per-vCPU), ...

>         rc = 0;
>         break;
>     case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
>--- a/xen/include/public/xen.h
>+++ b/xen/include/public/xen.h
>@@ -157,7 +157,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
> #define VIRQ_CON_RING   8  /* G. (DOM0) Bytes received on console            */
> #define VIRQ_PCPU_STATE 9  /* G. (DOM0) PCPU state changed                   */
> #define VIRQ_MEM_EVENT  10 /* G. (DOM0) A memory event has occured           */
>-#define VIRQ_XC_RESERVED 11 /* G. Reserved for XenClient                     */
>+#define VIRQ_V4V        11 /* G. V4V event has occurred                      */

... or the comment here is (and was before). This is an ABI property,
end hence you can't really convert a vIRQ defined to be global to
a per-vCPU one. So if it turns out the comment was wrong, I would
argue whether the change here is really acceptable - our kernel,
for example, has built-in knowledge of which vIRQ-s are per-vCPU
(but of course this should be benign when the only consumer of the
vIRQ lives in userland; otoh, a userland consumer can hardly really
make use of a per-vCPU one).

Jan

> #define VIRQ_ENOMEM     12 /* G. (DOM0) Low on heap memory       */
> 
> /* Architecture-specific VIRQ definitions. */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:44:25 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:44:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7Xr-0001sr-DJ; Thu, 31 May 2012 15:44:15 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7Xq-0001si-Cl
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:44:14 +0000
Received: from [85.158.143.35:14544] by server-3.bemta-4.messagelabs.com id
	6B/1B-04252-DC197CF4; Thu, 31 May 2012 15:44:13 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338479051!6501220!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1820 invoked from network); 31 May 2012 15:44:11 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-5.tower-21.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:44:11 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:44:11 +0100
Message-Id: <4FC7ADE80200007800087724@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:44:08 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>,<xen-devel@lists.xen.org>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-4-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-4-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Subject: Re: [Xen-devel] [PATCH 3/5] v4v: Introduce VIRQ_V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
>--- a/xen/common/event_channel.c
>+++ b/xen/common/event_channel.c
>@@ -107,6 +107,7 @@ static int virq_is_global(uint32_t virq)
>     case VIRQ_TIMER:
>     case VIRQ_DEBUG:
>     case VIRQ_XENOPROF:
>+    case VIRQ_V4V:

Either the placement here is wrong (the vIRQ being per-vCPU), ...

>         rc = 0;
>         break;
>     case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
>--- a/xen/include/public/xen.h
>+++ b/xen/include/public/xen.h
>@@ -157,7 +157,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
> #define VIRQ_CON_RING   8  /* G. (DOM0) Bytes received on console            */
> #define VIRQ_PCPU_STATE 9  /* G. (DOM0) PCPU state changed                   */
> #define VIRQ_MEM_EVENT  10 /* G. (DOM0) A memory event has occured           */
>-#define VIRQ_XC_RESERVED 11 /* G. Reserved for XenClient                     */
>+#define VIRQ_V4V        11 /* G. V4V event has occurred                      */

... or the comment here is (and was before). This is an ABI property,
end hence you can't really convert a vIRQ defined to be global to
a per-vCPU one. So if it turns out the comment was wrong, I would
argue whether the change here is really acceptable - our kernel,
for example, has built-in knowledge of which vIRQ-s are per-vCPU
(but of course this should be benign when the only consumer of the
vIRQ lives in userland; otoh, a userland consumer can hardly really
make use of a per-vCPU one).

Jan

> #define VIRQ_ENOMEM     12 /* G. (DOM0) Low on heap memory       */
> 
> /* Architecture-specific VIRQ definitions. */


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:46:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:46:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7a7-00026V-VW; Thu, 31 May 2012 15:46:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa7a6-00026O-P6
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:46:35 +0000
Received: from [85.158.138.51:3873] by server-2.bemta-3.messagelabs.com id
	C8/BD-17140-A5297CF4; Thu, 31 May 2012 15:46:34 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338479191!30165960!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29792 invoked from network); 31 May 2012 15:46:33 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:46:33 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFkMVR005749
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:46:23 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFkL9x028294
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:46:22 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFkLYC013080; Thu, 31 May 2012 10:46:21 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:46:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 94C41402B7; Thu, 31 May 2012 11:39:31 -0400 (EDT)
Date: Thu, 31 May 2012 11:39:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Sander Eikelenboom <linux@eikelenboom.it>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>, xen-devel@lists.xensource.com
Message-ID: <20120531153931.GA10672@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <187649850.20120531173930@eikelenboom.it>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> Hi Konrad,
> 
> What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?

Hm, lets wrap Ian and CC in this converstation. Were there
any big outstanding TODOs before the network maintainer
was OK with them?

> It doesn't seem to be destined for 3.5 mainline yet ?
> 
> 
> --
> Sander

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:46:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:46:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7a7-00026V-VW; Thu, 31 May 2012 15:46:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa7a6-00026O-P6
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:46:35 +0000
Received: from [85.158.138.51:3873] by server-2.bemta-3.messagelabs.com id
	C8/BD-17140-A5297CF4; Thu, 31 May 2012 15:46:34 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-11.tower-174.messagelabs.com!1338479191!30165960!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29792 invoked from network); 31 May 2012 15:46:33 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-11.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:46:33 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VFkMVR005749
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 15:46:23 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VFkL9x028294
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 15:46:22 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VFkLYC013080; Thu, 31 May 2012 10:46:21 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 08:46:21 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 94C41402B7; Thu, 31 May 2012 11:39:31 -0400 (EDT)
Date: Thu, 31 May 2012 11:39:31 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Sander Eikelenboom <linux@eikelenboom.it>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>, xen-devel@lists.xensource.com
Message-ID: <20120531153931.GA10672@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <187649850.20120531173930@eikelenboom.it>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> Hi Konrad,
> 
> What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?

Hm, lets wrap Ian and CC in this converstation. Were there
any big outstanding TODOs before the network maintainer
was OK with them?

> It doesn't seem to be destined for 3.5 mainline yet ?
> 
> 
> --
> Sander

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:48:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:48:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7bG-0002F2-Lv; Thu, 31 May 2012 15:47:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7bE-0002El-Oq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:47:44 +0000
Received: from [85.158.139.83:30830] by server-5.bemta-5.messagelabs.com id
	1F/BA-16141-F9297CF4; Thu, 31 May 2012 15:47:43 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338479263!31390666!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9719 invoked from network); 31 May 2012 15:47:43 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:47:43 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:47:42 +0100
Message-Id: <4FC7AEBD020000780008774C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:47:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-5-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-5-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 4/5] xen: Enforce casting for
 guest_handle_cast
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
>--- a/xen/include/asm-x86/guest_access.h
>+++ b/xen/include/asm-x86/guest_access.h
>@@ -47,7 +47,7 @@
> 
> /* Cast a guest handle to the specified type of handle. */
> #define guest_handle_cast(hnd, type) ({         \
>-    type *_x = (hnd).p;                         \
>+    type *_x = (type *)(hnd).p;                 \


You would have to explain how this is safe: Without the cast, we
get compiler warnings (and hence build failures due to -Werror)
if "type *" and typeof((hnd).p) are incompatible. Adding an
explicit cast removes that intentional check.

Jan

>     (XEN_GUEST_HANDLE(type)) { _x };            \
> })
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:48:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:48:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7bG-0002F2-Lv; Thu, 31 May 2012 15:47:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7bE-0002El-Oq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:47:44 +0000
Received: from [85.158.139.83:30830] by server-5.bemta-5.messagelabs.com id
	1F/BA-16141-F9297CF4; Thu, 31 May 2012 15:47:43 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-12.tower-182.messagelabs.com!1338479263!31390666!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9719 invoked from network); 31 May 2012 15:47:43 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-12.tower-182.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:47:43 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:47:42 +0100
Message-Id: <4FC7AEBD020000780008774C@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:47:41 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-5-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-5-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 4/5] xen: Enforce casting for
 guest_handle_cast
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
>--- a/xen/include/asm-x86/guest_access.h
>+++ b/xen/include/asm-x86/guest_access.h
>@@ -47,7 +47,7 @@
> 
> /* Cast a guest handle to the specified type of handle. */
> #define guest_handle_cast(hnd, type) ({         \
>-    type *_x = (hnd).p;                         \
>+    type *_x = (type *)(hnd).p;                 \


You would have to explain how this is safe: Without the cast, we
get compiler warnings (and hence build failures due to -Werror)
if "type *" and typeof((hnd).p) are incompatible. Adding an
explicit cast removes that intentional check.

Jan

>     (XEN_GUEST_HANDLE(type)) { _x };            \
> })
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:52:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7fq-0002VY-DA; Thu, 31 May 2012 15:52:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa7fp-0002VS-3p
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:52:29 +0000
Received: from [85.158.139.83:21584] by server-10.bemta-5.messagelabs.com id
	34/4C-22179-CB397CF4; Thu, 31 May 2012 15:52:28 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338479546!29893464!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22683 invoked from network); 31 May 2012 15:52:27 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:52:27 -0000
Received: by lbok6 with SMTP id k6so1186510lbo.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 08:52:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=RxsjoMDFGP+0QaA8Uk+wraZMlWHJ6fOYc+QdiVdqAf4=;
	b=zQg1S1e6CAFHH1Ni6ufO7aT1/yC4iQZWprlMnFivioP9uy1SW3OscB4GfL8+MSKHPL
	72yyvJY4MIHWQZUegn1/H1TTztY9GDHoGiyC/e+W/cDF4ohtyhqqdRyE9v/Lx70Mp3QE
	yrJo3ePcSSq2qjJn8GKqiVtl2F9qgFgtIgAtaAlEhmtq4zklRp3x8e9Lzt2tjj0+Badv
	MQQBtjL7Srza5xi5ECxUi3M2ZC/gH/to7hIS/Hnxl5DuTQOi5HTsQYTS6GIBIF6GIjZy
	Mmh60no7hyQ2b+RQrFZnOoyErr/oK5wk6eeDhGdEdyWLcQ2jJTq1cC0sbUdhHYITBa9t
	mU9A==
MIME-Version: 1.0
Received: by 10.112.37.71 with SMTP id w7mr324188lbj.2.1338479546248; Thu, 31
	May 2012 08:52:26 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 08:52:25 -0700 (PDT)
In-Reply-To: <CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
	<CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
Date: Thu, 31 May 2012 11:52:25 -0400
X-Google-Sender-Auth: 6MTKpaAFV1vZbMGRvuyy9Gaq8SY
Message-ID: <CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>, keir@xen.org,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just to follow up on this - it appears I was running into two issues
with all of this.

1. The changeset mentioned below needed to be reverted, as it was
removing the CPUS at suspend time.

2. The linux xen watchdog driver (drivers/watchdog/xen_wdt.c) seems to
be enabling itsself on resume, even if you tell it not to.
I worked around this by just turning off watchdogs in my kernel
config...because I wasn't using them anyhow.

After making these 2 changes - S3 works again.



On Fri, May 25, 2012 at 9:20 AM, Ben Guthro <ben@guthro.net> wrote:
> It seems to be related to the hunk in xen/common/schedule.c
>
> If I remove the part below - I get further in the resume process, in
> that the machine seems to wake up, but not be responsive.
> Eventually - the watchdog fires, and reboots the machine.
>
>
> Any thoughts?
>
> /btg
>
> Changed parts:
>
> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
> index 0854f55..95cb2b4 100644
> --- a/xen/common/schedule.c
> +++ b/xen/common/schedule.c
> @@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
> =A0 =A0 int =A0 =A0ret =3D 0;
>
> =A0 =A0 c =3D per_cpu(cpupool, cpu);
> - =A0 =A0if ( (c =3D=3D NULL) || (system_state =3D=3D SYS_STATE_suspend) )
> + =A0 =A0if ( (c =3D=3D NULL) )
> =A0 =A0 =A0 =A0 return ret;
>
> =A0 =A0 for_each_domain_in_cpupool ( d, c )
>
>
>
>
>
>
> On Wed, May 23, 2012 at 7:00 AM, Juergen Gross
> <juergen.gross@ts.fujitsu.com> wrote:
>> On 05/23/2012 11:39 AM, Jan Beulich wrote:
>>>>>>
>>>>>> On 22.05.12 at 23:00, Ben Guthro<ben@guthro.net> =A0wrote:
>>>>
>>>> I've bisected this to the following commit in the xen-unstable git tre=
e.
>>>>
>>>> I'll be able to dive in a little deeper tomorrow.
>>>> If you see anything here that looks suspicious to the crash
>>>> referenced... let me know.
>>>
>>> As the change was really a re-write of a submission by J=FCrgen,
>>> I'm adding him to Cc.
>>>
>>> Unless he has an immediate idea, we definitely want to
>>> understand why "cpus" is empty - hence we'd want to see
>>> *online, *vc->cpu_affinity, vc->cpu_id, and maybe
>>> vc->processor. (Printing them is probably not a good idea
>>> here, so I'd instead suggest just copying them to [additional]
>>> on-stack variables, making sure the compiler doesn't optimize
>>> them away.)
>>>
>>> Probably it would be good to also know what each active
>>> vCPU's ->cpu_affinity was right before suspend and/or right
>>> after resume (perhaps in freeze_domains() and/or
>>> thaw_domains(). That way we'd at least know whether the
>>> affinity - despite the offending changeset's inverse intention -
>>> did get changed during the resume process.
>>
>>
>> No idea, sorry.
>> I tested the patch only against a problem with power_off, so I never hit=
 the
>> resume path.
>>
>>
>> Juergen
>>
>> --
>> Juergen Gross =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Principal Developer Operat=
ing Systems
>> PDG ES&S SWE OS6 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Telephone: =
+49 (0) 89 3222 2967
>> Fujitsu Technology Solutions =A0 =A0 =A0 =A0 =A0 =A0 =A0e-mail:
>> juergen.gross@ts.fujitsu.com
>> Domagkstr. 28 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Intern=
et: ts.fujitsu.com
>> D-80807 Muenchen =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Company details:
>> ts.fujitsu.com/imprint.html
>>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:52:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7fq-0002VY-DA; Thu, 31 May 2012 15:52:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa7fp-0002VS-3p
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:52:29 +0000
Received: from [85.158.139.83:21584] by server-10.bemta-5.messagelabs.com id
	34/4C-22179-CB397CF4; Thu, 31 May 2012 15:52:28 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-3.tower-182.messagelabs.com!1338479546!29893464!1
X-Originating-IP: [209.85.217.173]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
  RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22683 invoked from network); 31 May 2012 15:52:27 -0000
Received: from mail-lb0-f173.google.com (HELO mail-lb0-f173.google.com)
	(209.85.217.173)
	by server-3.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:52:27 -0000
Received: by lbok6 with SMTP id k6so1186510lbo.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 08:52:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=RxsjoMDFGP+0QaA8Uk+wraZMlWHJ6fOYc+QdiVdqAf4=;
	b=zQg1S1e6CAFHH1Ni6ufO7aT1/yC4iQZWprlMnFivioP9uy1SW3OscB4GfL8+MSKHPL
	72yyvJY4MIHWQZUegn1/H1TTztY9GDHoGiyC/e+W/cDF4ohtyhqqdRyE9v/Lx70Mp3QE
	yrJo3ePcSSq2qjJn8GKqiVtl2F9qgFgtIgAtaAlEhmtq4zklRp3x8e9Lzt2tjj0+Badv
	MQQBtjL7Srza5xi5ECxUi3M2ZC/gH/to7hIS/Hnxl5DuTQOi5HTsQYTS6GIBIF6GIjZy
	Mmh60no7hyQ2b+RQrFZnOoyErr/oK5wk6eeDhGdEdyWLcQ2jJTq1cC0sbUdhHYITBa9t
	mU9A==
MIME-Version: 1.0
Received: by 10.112.37.71 with SMTP id w7mr324188lbj.2.1338479546248; Thu, 31
	May 2012 08:52:26 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 08:52:25 -0700 (PDT)
In-Reply-To: <CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
	<CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
Date: Thu, 31 May 2012 11:52:25 -0400
X-Google-Sender-Auth: 6MTKpaAFV1vZbMGRvuyy9Gaq8SY
Message-ID: <CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>, keir@xen.org,
	Jan Beulich <JBeulich@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Just to follow up on this - it appears I was running into two issues
with all of this.

1. The changeset mentioned below needed to be reverted, as it was
removing the CPUS at suspend time.

2. The linux xen watchdog driver (drivers/watchdog/xen_wdt.c) seems to
be enabling itsself on resume, even if you tell it not to.
I worked around this by just turning off watchdogs in my kernel
config...because I wasn't using them anyhow.

After making these 2 changes - S3 works again.



On Fri, May 25, 2012 at 9:20 AM, Ben Guthro <ben@guthro.net> wrote:
> It seems to be related to the hunk in xen/common/schedule.c
>
> If I remove the part below - I get further in the resume process, in
> that the machine seems to wake up, but not be responsive.
> Eventually - the watchdog fires, and reboots the machine.
>
>
> Any thoughts?
>
> /btg
>
> Changed parts:
>
> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
> index 0854f55..95cb2b4 100644
> --- a/xen/common/schedule.c
> +++ b/xen/common/schedule.c
> @@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
> =A0 =A0 int =A0 =A0ret =3D 0;
>
> =A0 =A0 c =3D per_cpu(cpupool, cpu);
> - =A0 =A0if ( (c =3D=3D NULL) || (system_state =3D=3D SYS_STATE_suspend) )
> + =A0 =A0if ( (c =3D=3D NULL) )
> =A0 =A0 =A0 =A0 return ret;
>
> =A0 =A0 for_each_domain_in_cpupool ( d, c )
>
>
>
>
>
>
> On Wed, May 23, 2012 at 7:00 AM, Juergen Gross
> <juergen.gross@ts.fujitsu.com> wrote:
>> On 05/23/2012 11:39 AM, Jan Beulich wrote:
>>>>>>
>>>>>> On 22.05.12 at 23:00, Ben Guthro<ben@guthro.net> =A0wrote:
>>>>
>>>> I've bisected this to the following commit in the xen-unstable git tre=
e.
>>>>
>>>> I'll be able to dive in a little deeper tomorrow.
>>>> If you see anything here that looks suspicious to the crash
>>>> referenced... let me know.
>>>
>>> As the change was really a re-write of a submission by J=FCrgen,
>>> I'm adding him to Cc.
>>>
>>> Unless he has an immediate idea, we definitely want to
>>> understand why "cpus" is empty - hence we'd want to see
>>> *online, *vc->cpu_affinity, vc->cpu_id, and maybe
>>> vc->processor. (Printing them is probably not a good idea
>>> here, so I'd instead suggest just copying them to [additional]
>>> on-stack variables, making sure the compiler doesn't optimize
>>> them away.)
>>>
>>> Probably it would be good to also know what each active
>>> vCPU's ->cpu_affinity was right before suspend and/or right
>>> after resume (perhaps in freeze_domains() and/or
>>> thaw_domains(). That way we'd at least know whether the
>>> affinity - despite the offending changeset's inverse intention -
>>> did get changed during the resume process.
>>
>>
>> No idea, sorry.
>> I tested the patch only against a problem with power_off, so I never hit=
 the
>> resume path.
>>
>>
>> Juergen
>>
>> --
>> Juergen Gross =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Principal Developer Operat=
ing Systems
>> PDG ES&S SWE OS6 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Telephone: =
+49 (0) 89 3222 2967
>> Fujitsu Technology Solutions =A0 =A0 =A0 =A0 =A0 =A0 =A0e-mail:
>> juergen.gross@ts.fujitsu.com
>> Domagkstr. 28 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Intern=
et: ts.fujitsu.com
>> D-80807 Muenchen =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Company details:
>> ts.fujitsu.com/imprint.html
>>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:52:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:52:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7g6-0002X8-Q9; Thu, 31 May 2012 15:52:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa7g5-0002Wu-KP
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:52:45 +0000
Received: from [85.158.138.51:39042] by server-6.bemta-3.messagelabs.com id
	89/CD-23455-CC397CF4; Thu, 31 May 2012 15:52:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338479562!30228467!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18928 invoked from network); 31 May 2012 15:52:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:52:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197064400"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:52:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 11:52:41 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa7g1-0001BW-MV;
	Thu, 31 May 2012 16:52:41 +0100
Message-ID: <4FC79365.406@eu.citrix.com>
Date: Thu, 31 May 2012 16:51:01 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace>
In-Reply-To: <2cc22366943347deab77.1338466269@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
 node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> By adding copying and *_is_full/*_is_empty facilities.
>
> Signed-off-by: Dario Faggioli<dario.faggioli@citrix.com>
>
> diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -505,6 +505,35 @@ static int libxl_map_alloc(libxl_ctx *ct
>       return 0;
>   }
>
> +static void libxl_map_copy(struct libxl_map *dptr,
> +                           const struct libxl_map *sptr)
> +{
> +    int sz;
> +
> +    sz = dptr->size = sptr->size;
> +    memcpy(dptr->map, sptr->map, sz * sizeof(*dptr->map));
> +}
> +
> +int libxl_map_is_full(struct libxl_map *map)
> +{
> +    int i;
> +
> +    for (i = 0; i<  map->size; i++)
> +        if (map->map[i] != (uint8_t)-1)
> +            return -1;
> +    return 0;
> +}
Why are you returning -1 and 0 for false and true, rather than 0 and 1?  
None of the other libxl "_is_" functions (e.g., libxl_is_stubom()) do that.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:52:55 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:52:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7g6-0002X8-Q9; Thu, 31 May 2012 15:52:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa7g5-0002Wu-KP
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:52:45 +0000
Received: from [85.158.138.51:39042] by server-6.bemta-3.messagelabs.com id
	89/CD-23455-CC397CF4; Thu, 31 May 2012 15:52:44 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338479562!30228467!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18928 invoked from network); 31 May 2012 15:52:43 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:52:43 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197064400"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:52:42 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 11:52:41 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa7g1-0001BW-MV;
	Thu, 31 May 2012 16:52:41 +0100
Message-ID: <4FC79365.406@eu.citrix.com>
Date: Thu, 31 May 2012 16:51:01 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace>
In-Reply-To: <2cc22366943347deab77.1338466269@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
 node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> By adding copying and *_is_full/*_is_empty facilities.
>
> Signed-off-by: Dario Faggioli<dario.faggioli@citrix.com>
>
> diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -505,6 +505,35 @@ static int libxl_map_alloc(libxl_ctx *ct
>       return 0;
>   }
>
> +static void libxl_map_copy(struct libxl_map *dptr,
> +                           const struct libxl_map *sptr)
> +{
> +    int sz;
> +
> +    sz = dptr->size = sptr->size;
> +    memcpy(dptr->map, sptr->map, sz * sizeof(*dptr->map));
> +}
> +
> +int libxl_map_is_full(struct libxl_map *map)
> +{
> +    int i;
> +
> +    for (i = 0; i<  map->size; i++)
> +        if (map->map[i] != (uint8_t)-1)
> +            return -1;
> +    return 0;
> +}
Why are you returning -1 and 0 for false and true, rather than 0 and 1?  
None of the other libxl "_is_" functions (e.g., libxl_is_stubom()) do that.

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:53:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:53:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7gO-0002ZY-6P; Thu, 31 May 2012 15:53:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa7gM-0002ZK-Vl
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:53:03 +0000
Received: from [85.158.143.35:62721] by server-2.bemta-4.messagelabs.com id
	55/4F-11595-ED397CF4; Thu, 31 May 2012 15:53:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338479580!13838336!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16352 invoked from network); 31 May 2012 15:53:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:53:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12768020"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:52:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 16:52:36 +0100
Message-ID: <1338479555.17466.18.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 31 May 2012 16:52:35 +0100
In-Reply-To: <20120531153931.GA10672@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
	<20120531153931.GA10672@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 16:39 +0100, Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> > Hi Konrad,
> > 
> > What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?
> 
> Hm, lets wrap Ian and CC in this converstation. Were there
> any big outstanding TODOs before the network maintainer
> was OK with them?

IIRC all of Wei's patches were RFC and not yet intended for upstreaming
yet, there was other work we wanted to do first to validate and round
out the ideas started by those patches before committing to them..

> > It doesn't seem to be destined for 3.5 mainline yet ?

No it isn't.

This is a branch containing some development patches which Wei sent out,
it's not even Wei's own development branch.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:53:16 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:53:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7gO-0002ZY-6P; Thu, 31 May 2012 15:53:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa7gM-0002ZK-Vl
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:53:03 +0000
Received: from [85.158.143.35:62721] by server-2.bemta-4.messagelabs.com id
	55/4F-11595-ED397CF4; Thu, 31 May 2012 15:53:02 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1338479580!13838336!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16352 invoked from network); 31 May 2012 15:53:01 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-11.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:53:01 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12768020"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 15:52:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 16:52:36 +0100
Message-ID: <1338479555.17466.18.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 31 May 2012 16:52:35 +0100
In-Reply-To: <20120531153931.GA10672@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
	<20120531153931.GA10672@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 16:39 +0100, Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> > Hi Konrad,
> > 
> > What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?
> 
> Hm, lets wrap Ian and CC in this converstation. Were there
> any big outstanding TODOs before the network maintainer
> was OK with them?

IIRC all of Wei's patches were RFC and not yet intended for upstreaming
yet, there was other work we wanted to do first to validate and round
out the ideas started by those patches before committing to them..

> > It doesn't seem to be destined for 3.5 mainline yet ?

No it isn't.

This is a branch containing some development patches which Wei sent out,
it's not even Wei's own development branch.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:56:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7jF-0002sI-SK; Thu, 31 May 2012 15:56:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa7jF-0002sA-Df
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:56:01 +0000
Received: from [85.158.143.99:11666] by server-3.bemta-4.messagelabs.com id
	E7/44-04252-09497CF4; Thu, 31 May 2012 15:56:00 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338479757!23229118!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18590 invoked from network); 31 May 2012 15:55:59 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:55:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197064784"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:55:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 11:55:56 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa7jA-0001G5-3K;
	Thu, 31 May 2012 16:55:56 +0100
Message-ID: <4FC79428.1000804@eu.citrix.com>
Date: Thu, 31 May 2012 16:54:16 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<0233305f23816261bb49.1338466270@Solace>
In-Reply-To: <0233305f23816261bb49.1338466270@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 05 of 11] libxl: add a new Array type to the
	IDL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> And make all the required infrastructure updates to enable this.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
> Tested-by: Dario Faggioli<dario.faggioli@citrix.com>
This is beyond my ken, so I'm going to skip this one. :-)

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:56:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7jF-0002sI-SK; Thu, 31 May 2012 15:56:01 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <George.Dunlap@eu.citrix.com>) id 1Sa7jF-0002sA-Df
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:56:01 +0000
Received: from [85.158.143.99:11666] by server-3.bemta-4.messagelabs.com id
	E7/44-04252-09497CF4; Thu, 31 May 2012 15:56:00 +0000
X-Env-Sender: George.Dunlap@eu.citrix.com
X-Msg-Ref: server-11.tower-216.messagelabs.com!1338479757!23229118!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18590 invoked from network); 31 May 2012 15:55:59 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-11.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 15:55:59 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197064784"
Received: from ftlpmailmx01.citrite.net ([10.13.107.65])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 11:55:56 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.65) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 11:55:56 -0400
Received: from elijah.uk.xensource.com ([10.80.2.24])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<george.dunlap@eu.citrix.com>)	id 1Sa7jA-0001G5-3K;
	Thu, 31 May 2012 16:55:56 +0100
Message-ID: <4FC79428.1000804@eu.citrix.com>
Date: Thu, 31 May 2012 16:54:16 +0100
From: George Dunlap <george.dunlap@eu.citrix.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Dario Faggioli <raistlin@linux.it>
References: <patchbomb.1338466265@Solace>
	<0233305f23816261bb49.1338466270@Solace>
In-Reply-To: <0233305f23816261bb49.1338466270@Solace>
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 05 of 11] libxl: add a new Array type to the
	IDL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 13:11, Dario Faggioli wrote:
> And make all the required infrastructure updates to enable this.
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
> Tested-by: Dario Faggioli<dario.faggioli@citrix.com>
This is beyond my ken, so I'm going to skip this one. :-)

  -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:59:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7mp-00035d-H1; Thu, 31 May 2012 15:59:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7mo-00035V-Hn
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:59:42 +0000
Received: from [85.158.138.51:15071] by server-7.bemta-3.messagelabs.com id
	26/59-22601-D6597CF4; Thu, 31 May 2012 15:59:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338479979!21287548!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3512 invoked from network); 31 May 2012 15:59:39 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:59:39 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:59:38 +0100
Message-Id: <4FC7B18A020000780008776E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:59:38 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-6-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-6-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 5/5] xen: Add V4V implementation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
> Setup of v4v domains a domain gets created and cleanup
> when a domain die. Wire up the v4v hypercall.
> 
> Include v4v internal and public headers.

Iirc there was discussion about 6-argument hypercalls already,
and it was suggested to convert the argument set to a structure
instead. Am I mis-remembering, or is there any new reason why
introducing these is necessary?

Further, the public header doesn't seem to meet basic
requirements. For example, who told you that each and every
compiler other than gcc understands #pragma warning(...)?
Nor is adding mb() again an option (see io/ring.h), not to speak
of adding an MSVC specific implementation (this should be a
requirement on the consumers of the header). Nor any other
inline functions - they just don't belong here imo (if you
absolutely need those, they should be in a conditional that by
default prevents them from being seen by the compiler - with
that, some of the other hackery you did in the earlier patches
also becomes unnecessary). Structure packing should be
achieved using explicit padding fields rather than using compiler-
dependent constructs.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:59:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:59:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7mp-00035d-H1; Thu, 31 May 2012 15:59:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7mo-00035V-Hn
	for xen-devel@lists.xen.org; Thu, 31 May 2012 15:59:42 +0000
Received: from [85.158.138.51:15071] by server-7.bemta-3.messagelabs.com id
	26/59-22601-D6597CF4; Thu, 31 May 2012 15:59:41 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338479979!21287548!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3512 invoked from network); 31 May 2012 15:59:39 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-7.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:59:39 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 16:59:38 +0100
Message-Id: <4FC7B18A020000780008776E@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 16:59:38 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Jean Guyader" <jean.guyader@citrix.com>
References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com>
	<1338476832-26653-6-git-send-email-jean.guyader@citrix.com>
In-Reply-To: <1338476832-26653-6-git-send-email-jean.guyader@citrix.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 5/5] xen: Add V4V implementation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:07, Jean Guyader <jean.guyader@citrix.com> wrote:
> Setup of v4v domains a domain gets created and cleanup
> when a domain die. Wire up the v4v hypercall.
> 
> Include v4v internal and public headers.

Iirc there was discussion about 6-argument hypercalls already,
and it was suggested to convert the argument set to a structure
instead. Am I mis-remembering, or is there any new reason why
introducing these is necessary?

Further, the public header doesn't seem to meet basic
requirements. For example, who told you that each and every
compiler other than gcc understands #pragma warning(...)?
Nor is adding mb() again an option (see io/ring.h), not to speak
of adding an MSVC specific implementation (this should be a
requirement on the consumers of the header). Nor any other
inline functions - they just don't belong here imo (if you
absolutely need those, they should be in a conditional that by
default prevents them from being seen by the compiler - with
that, some of the other hackery you did in the earlier patches
also becomes unnecessary). Structure packing should be
achieved using explicit padding fields rather than using compiler-
dependent constructs.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:59:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:59:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7ms-000360-Ss; Thu, 31 May 2012 15:59:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1Sa7mr-00035n-AI
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:59:45 +0000
Received: from [85.158.143.99:40867] by server-1.bemta-4.messagelabs.com id
	24/ED-27869-07597CF4; Thu, 31 May 2012 15:59:44 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338479981!29867434!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22958 invoked from network); 31 May 2012 15:59:42 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:59:42 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4VFxPdc023478
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 08:59:26 -0700
Message-ID: <4FC79558.4000403@zytor.com>
Date: Thu, 31 May 2012 08:59:20 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<4FC737370200007800087119@nat28.tlf.novell.com>
In-Reply-To: <4FC737370200007800087119@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/31/2012 12:17 AM, Jan Beulich wrote:
>>>> On 30.05.12 at 19:17, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>> I am tempted to write a patch that checks all the pv-cpu-ops
>> to see if there are any that are NULL and throw a warning so
>> that this does not hit us in the future - to be at least more
>> proactive about this sort of thing.
> 
> Perhaps rather than using C99 initializers, using old-style ones
> would be an alternative (assuming that the signatures of the
> respective entries [or at least immediately neighboring ones]
> are different), with a sentinel that is required to remain last
> (i.e. adding at the very end would be prohibited)?
> 
> Or rather than doing a full structure assignment, assign
> individual members directly to pv_cpu_ops (thus leaving
> everything that's not explicitly overridden at its "native"
> default)? After all, this is being done on __init code, so the
> few extra code bytes shouldn't matter much? (All this of
> course in the context of hpa's valid request that there be
> no unused paravirt hooks in the first place.)
> 

Actually there is a really easy way to do this with C99 initializers:
create a macro with all the default assignments, and put that one first.
 This is because it is legal to have more than one C99 initializer for
the same member, the last one is the one that takes effect.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 15:59:59 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 15:59:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7ms-000360-Ss; Thu, 31 May 2012 15:59:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <hpa@zytor.com>) id 1Sa7mr-00035n-AI
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 15:59:45 +0000
Received: from [85.158.143.99:40867] by server-1.bemta-4.messagelabs.com id
	24/ED-27869-07597CF4; Thu, 31 May 2012 15:59:44 +0000
X-Env-Sender: hpa@zytor.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1338479981!29867434!1
X-Originating-IP: [198.137.202.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22958 invoked from network); 31 May 2012 15:59:42 -0000
Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10)
	by server-13.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 15:59:42 -0000
Received: from tazenda.hos.anvin.org ([IPv6:2001:470:861f::feed:face:f00d])
	(authenticated bits=0)
	by mail.zytor.com (8.14.5/8.14.5) with ESMTP id q4VFxPdc023478
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 08:59:26 -0700
Message-ID: <4FC79558.4000403@zytor.com>
Date: Thu, 31 May 2012 08:59:20 -0700
From: "H. Peter Anvin" <hpa@zytor.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Jan Beulich <JBeulich@suse.com>
References: <1338383402-3838-1-git-send-email-andre.przywara@amd.com>
	<4FC63DAF0200007800086DC5@nat28.tlf.novell.com>
	<4FC62888.9010407@amd.com> <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<4FC737370200007800087119@nat28.tlf.novell.com>
In-Reply-To: <4FC737370200007800087119@nat28.tlf.novell.com>
X-Enigmail-Version: 1.4.1
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	mingo@elte.hu, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/31/2012 12:17 AM, Jan Beulich wrote:
>>>> On 30.05.12 at 19:17, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>> I am tempted to write a patch that checks all the pv-cpu-ops
>> to see if there are any that are NULL and throw a warning so
>> that this does not hit us in the future - to be at least more
>> proactive about this sort of thing.
> 
> Perhaps rather than using C99 initializers, using old-style ones
> would be an alternative (assuming that the signatures of the
> respective entries [or at least immediately neighboring ones]
> are different), with a sentinel that is required to remain last
> (i.e. adding at the very end would be prohibited)?
> 
> Or rather than doing a full structure assignment, assign
> individual members directly to pv_cpu_ops (thus leaving
> everything that's not explicitly overridden at its "native"
> default)? After all, this is being done on __init code, so the
> few extra code bytes shouldn't matter much? (All this of
> course in the context of hpa's valid request that there be
> no unused paravirt hooks in the first place.)
> 

Actually there is a really easy way to do this with C99 initializers:
create a macro with all the default assignments, and put that one first.
 This is because it is legal to have more than one C99 initializer for
the same member, the last one is the one that takes effect.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:01:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:01:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7oW-0003f8-CZ; Thu, 31 May 2012 16:01:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7oU-0003ep-CP
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:01:26 +0000
Received: from [85.158.138.51:53911] by server-12.bemta-3.messagelabs.com id
	C4/F8-29860-5D597CF4; Thu, 31 May 2012 16:01:25 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338480084!23831884!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26185 invoked from network); 31 May 2012 16:01:24 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-174.messagelabs.com with SMTP;
	31 May 2012 16:01:24 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78318128; Thu, 31 May 2012 18:01:24 +0200
Message-ID: <1338480077.15014.71.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 31 May 2012 18:01:17 +0200
In-Reply-To: <4FC79365.406@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace> <4FC79365.406@eu.citrix.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0203714814488984634=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0203714814488984634==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-QtdiOw5xOF+yCNRwGcQy"


--=-QtdiOw5xOF+yCNRwGcQy
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:51 +0100, George Dunlap wrote:
> > +int libxl_map_is_full(struct libxl_map *map)
> > +{
> > +    int i;
> > +
> > +    for (i =3D 0; i<  map->size; i++)
> > +        if (map->map[i] !=3D (uint8_t)-1)
> > +            return -1;
> > +    return 0;
> > +}
> Why are you returning -1 and 0 for false and true, rather than 0 and 1? =
=20
> None of the other libxl "_is_" functions (e.g., libxl_is_stubom()) do tha=
t.
>=20
Oh, well, it seemed natural to me as well for true to be 1, but that
would have meant giving 0 a different meaning than 'everything is ok',
and I didn't find relevant examples of it being done... Thanks for
pointing this out, I'll change it.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-QtdiOw5xOF+yCNRwGcQy
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hlc0ACgkQk4XaBE3IOsQCfQCghEEixY7OeO38GPJPV5P5gS6X
5iwAnidJiUaVx+DK6OPNkGl0MA6ar4PY
=w1DL
-----END PGP SIGNATURE-----

--=-QtdiOw5xOF+yCNRwGcQy--



--===============0203714814488984634==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0203714814488984634==--



From xen-devel-bounces@lists.xen.org Thu May 31 16:01:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:01:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7oW-0003f8-CZ; Thu, 31 May 2012 16:01:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7oU-0003ep-CP
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:01:26 +0000
Received: from [85.158.138.51:53911] by server-12.bemta-3.messagelabs.com id
	C4/F8-29860-5D597CF4; Thu, 31 May 2012 16:01:25 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-14.tower-174.messagelabs.com!1338480084!23831884!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26185 invoked from network); 31 May 2012 16:01:24 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-14.tower-174.messagelabs.com with SMTP;
	31 May 2012 16:01:24 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78318128; Thu, 31 May 2012 18:01:24 +0200
Message-ID: <1338480077.15014.71.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 31 May 2012 18:01:17 +0200
In-Reply-To: <4FC79365.406@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<2cc22366943347deab77.1338466269@Solace> <4FC79365.406@eu.citrix.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 04 of 11] libxl: expand the libxl_{cpu,
	node}map API a bit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0203714814488984634=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0203714814488984634==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-QtdiOw5xOF+yCNRwGcQy"


--=-QtdiOw5xOF+yCNRwGcQy
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:51 +0100, George Dunlap wrote:
> > +int libxl_map_is_full(struct libxl_map *map)
> > +{
> > +    int i;
> > +
> > +    for (i =3D 0; i<  map->size; i++)
> > +        if (map->map[i] !=3D (uint8_t)-1)
> > +            return -1;
> > +    return 0;
> > +}
> Why are you returning -1 and 0 for false and true, rather than 0 and 1? =
=20
> None of the other libxl "_is_" functions (e.g., libxl_is_stubom()) do tha=
t.
>=20
Oh, well, it seemed natural to me as well for true to be 1, but that
would have meant giving 0 a different meaning than 'everything is ok',
and I didn't find relevant examples of it being done... Thanks for
pointing this out, I'll change it.

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-QtdiOw5xOF+yCNRwGcQy
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hlc0ACgkQk4XaBE3IOsQCfQCghEEixY7OeO38GPJPV5P5gS6X
5iwAnidJiUaVx+DK6OPNkGl0MA6ar4PY
=w1DL
-----END PGP SIGNATURE-----

--=-QtdiOw5xOF+yCNRwGcQy--



--===============0203714814488984634==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0203714814488984634==--



From xen-devel-bounces@lists.xen.org Thu May 31 16:06:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:06:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7td-000474-9S; Thu, 31 May 2012 16:06:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7tb-00046n-Vq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:06:44 +0000
Received: from [85.158.138.51:3190] by server-9.bemta-3.messagelabs.com id
	18/3E-21565-31797CF4; Thu, 31 May 2012 16:06:43 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338480401!26137315!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25825 invoked from network); 31 May 2012 16:06:42 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 16:06:42 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 17:06:41 +0100
Message-Id: <4FC7B32F0200007800087786@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 17:06:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
	<CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
	<CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
In-Reply-To: <CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, keir@xen.org,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:52, Ben Guthro <ben@guthro.net> wrote:
> 1. The changeset mentioned below needed to be reverted, as it was
> removing the CPUS at suspend time.

I assume you refer to the one line change, not the full c/s?
Juergen would have to tell us whether reverting that would
break something else.

> 2. The linux xen watchdog driver (drivers/watchdog/xen_wdt.c) seems to
> be enabling itsself on resume, even if you tell it not to.
> I worked around this by just turning off watchdogs in my kernel
> config...because I wasn't using them anyhow.

That was a problem up to 3.3, but was fixed in 3.4 afaict. What
kernel version did you see this with?

Jan

> On Fri, May 25, 2012 at 9:20 AM, Ben Guthro <ben@guthro.net> wrote:
>> Changed parts:
>>
>> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
>> index 0854f55..95cb2b4 100644
>> --- a/xen/common/schedule.c
>> +++ b/xen/common/schedule.c
>> @@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
>>     int    ret = 0;
>>
>>     c = per_cpu(cpupool, cpu);
>> -    if ( (c == NULL) || (system_state == SYS_STATE_suspend) )
>> +    if ( (c == NULL) )
>>         return ret;
>>
>>     for_each_domain_in_cpupool ( d, c )



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:06:58 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:06:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7td-000474-9S; Thu, 31 May 2012 16:06:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <JBeulich@suse.com>) id 1Sa7tb-00046n-Vq
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:06:44 +0000
Received: from [85.158.138.51:3190] by server-9.bemta-3.messagelabs.com id
	18/3E-21565-31797CF4; Thu, 31 May 2012 16:06:43 +0000
X-Env-Sender: JBeulich@suse.com
X-Msg-Ref: server-10.tower-174.messagelabs.com!1338480401!26137315!1
X-Originating-IP: [130.57.49.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTMwLjU3LjQ5LjI4ID0+IDM5OTI=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25825 invoked from network); 31 May 2012 16:06:42 -0000
Received: from nat28.tlf.novell.com (HELO nat28.tlf.novell.com) (130.57.49.28)
	by server-10.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 16:06:42 -0000
Received: from EMEA1-MTA by nat28.tlf.novell.com
	with Novell_GroupWise; Thu, 31 May 2012 17:06:41 +0100
Message-Id: <4FC7B32F0200007800087786@nat28.tlf.novell.com>
X-Mailer: Novell GroupWise Internet Agent 12.0.0 
Date: Thu, 31 May 2012 17:06:39 +0100
From: "Jan Beulich" <JBeulich@suse.com>
To: "Ben Guthro" <ben@guthro.net>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
	<CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
	<CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
In-Reply-To: <CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
Mime-Version: 1.0
Content-Disposition: inline
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, keir@xen.org,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

>>> On 31.05.12 at 17:52, Ben Guthro <ben@guthro.net> wrote:
> 1. The changeset mentioned below needed to be reverted, as it was
> removing the CPUS at suspend time.

I assume you refer to the one line change, not the full c/s?
Juergen would have to tell us whether reverting that would
break something else.

> 2. The linux xen watchdog driver (drivers/watchdog/xen_wdt.c) seems to
> be enabling itsself on resume, even if you tell it not to.
> I worked around this by just turning off watchdogs in my kernel
> config...because I wasn't using them anyhow.

That was a problem up to 3.3, but was fixed in 3.4 afaict. What
kernel version did you see this with?

Jan

> On Fri, May 25, 2012 at 9:20 AM, Ben Guthro <ben@guthro.net> wrote:
>> Changed parts:
>>
>> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
>> index 0854f55..95cb2b4 100644
>> --- a/xen/common/schedule.c
>> +++ b/xen/common/schedule.c
>> @@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
>>     int    ret = 0;
>>
>>     c = per_cpu(cpupool, cpu);
>> -    if ( (c == NULL) || (system_state == SYS_STATE_suspend) )
>> +    if ( (c == NULL) )
>>         return ret;
>>
>>     for_each_domain_in_cpupool ( d, c )



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:10:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:10:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7wd-0004L0-9k; Thu, 31 May 2012 16:09:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7wa-0004Kt-8d
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:09:49 +0000
Received: from [85.158.143.99:54569] by server-1.bemta-4.messagelabs.com id
	6C/CF-27869-BC797CF4; Thu, 31 May 2012 16:09:47 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338480586!27392921!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5656 invoked from network); 31 May 2012 16:09:46 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-216.messagelabs.com with SMTP;
	31 May 2012 16:09:46 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78318410; Thu, 31 May 2012 18:09:46 +0200
Message-ID: <1338480579.15014.76.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 31 May 2012 18:09:39 +0200
In-Reply-To: <4FC79133.6030703@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
	<4FC79133.6030703@eu.citrix.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6540978780560861202=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6540978780560861202==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-lKaBspg3ye2NxSR3dpJ+"


--=-lKaBspg3ye2NxSR3dpJ+
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:41 +0100, George Dunlap wrote:
> > +int xc_get_max_nodes(xc_interface *xch)
> > +{
> > +    static int max_nodes =3D 0;
> > +    xc_physinfo_t physinfo;
> > +
> > +    if ( max_nodes )
> > +        return max_nodes;
> > +
> > +    if ( !xc_physinfo(xch,&physinfo) )
> > +        max_nodes =3D physinfo.max_node_id + 1;
> > +
> > +    return max_nodes;
> What does xc_physinfo() return?  Should this return the error message=20
> rather than 0 if it fails?
>=20

int xc_get_max_cpus(xc_interface *xch)
{
    static int max_cpus =3D 0;
    xc_physinfo_t physinfo;

    if ( max_cpus )
        return max_cpus;

    if ( !xc_physinfo(xch, &physinfo) )
        max_cpus =3D physinfo.max_cpu_id + 1;

    return max_cpus;
}

And I guess the reason for this is this is used (both in libxc and
libxl) in a few places to determine the size of the array that will host
the cpu map. Thus, getting a 0 ensures we do not allocate a random
amount of memory.

Of course it should be more than possible to change it, but going though
all the callers is needed. If you want me to do that, just say it, and I
will perhaps deal with both this "original" and my "variant", right?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-lKaBspg3ye2NxSR3dpJ+
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hl8MACgkQk4XaBE3IOsQEYQCeJ/WBTgtbKsZs7ibkbHgTOilh
v90Anit/zrs5SaR8sdSsIDQMAxsxVjzb
=nmh6
-----END PGP SIGNATURE-----

--=-lKaBspg3ye2NxSR3dpJ+--



--===============6540978780560861202==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6540978780560861202==--



From xen-devel-bounces@lists.xen.org Thu May 31 16:10:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:10:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa7wd-0004L0-9k; Thu, 31 May 2012 16:09:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa7wa-0004Kt-8d
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:09:49 +0000
Received: from [85.158.143.99:54569] by server-1.bemta-4.messagelabs.com id
	6C/CF-27869-BC797CF4; Thu, 31 May 2012 16:09:47 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338480586!27392921!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5656 invoked from network); 31 May 2012 16:09:46 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-7.tower-216.messagelabs.com with SMTP;
	31 May 2012 16:09:46 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78318410; Thu, 31 May 2012 18:09:46 +0200
Message-ID: <1338480579.15014.76.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: George Dunlap <george.dunlap@eu.citrix.com>
Date: Thu, 31 May 2012 18:09:39 +0200
In-Reply-To: <4FC79133.6030703@eu.citrix.com>
References: <patchbomb.1338466265@Solace>
	<7d16724e5eced0986454.1338466268@Solace>
	<4FC79133.6030703@eu.citrix.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 03 of 11] libxc,
 libxl: introduce xc_nodemap_t and libxl_nodemap
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6540978780560861202=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============6540978780560861202==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-lKaBspg3ye2NxSR3dpJ+"


--=-lKaBspg3ye2NxSR3dpJ+
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:41 +0100, George Dunlap wrote:
> > +int xc_get_max_nodes(xc_interface *xch)
> > +{
> > +    static int max_nodes =3D 0;
> > +    xc_physinfo_t physinfo;
> > +
> > +    if ( max_nodes )
> > +        return max_nodes;
> > +
> > +    if ( !xc_physinfo(xch,&physinfo) )
> > +        max_nodes =3D physinfo.max_node_id + 1;
> > +
> > +    return max_nodes;
> What does xc_physinfo() return?  Should this return the error message=20
> rather than 0 if it fails?
>=20

int xc_get_max_cpus(xc_interface *xch)
{
    static int max_cpus =3D 0;
    xc_physinfo_t physinfo;

    if ( max_cpus )
        return max_cpus;

    if ( !xc_physinfo(xch, &physinfo) )
        max_cpus =3D physinfo.max_cpu_id + 1;

    return max_cpus;
}

And I guess the reason for this is this is used (both in libxc and
libxl) in a few places to determine the size of the array that will host
the cpu map. Thus, getting a 0 ensures we do not allocate a random
amount of memory.

Of course it should be more than possible to change it, but going though
all the callers is needed. If you want me to do that, just say it, and I
will perhaps deal with both this "original" and my "variant", right?

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-lKaBspg3ye2NxSR3dpJ+
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hl8MACgkQk4XaBE3IOsQEYQCeJ/WBTgtbKsZs7ibkbHgTOilh
v90Anit/zrs5SaR8sdSsIDQMAxsxVjzb
=nmh6
-----END PGP SIGNATURE-----

--=-lKaBspg3ye2NxSR3dpJ+--



--===============6540978780560861202==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============6540978780560861202==--



From xen-devel-bounces@lists.xen.org Thu May 31 16:19:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:19:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa85J-0004WA-3O; Thu, 31 May 2012 16:18:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa85H-0004Vx-OI
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:18:47 +0000
Received: from [85.158.143.35:49083] by server-3.bemta-4.messagelabs.com id
	92/0E-04252-7E997CF4; Thu, 31 May 2012 16:18:47 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338481123!7303723!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27638 invoked from network); 31 May 2012 16:18:44 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:18:44 -0000
Received: by lahc1 with SMTP id c1so1044920lah.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 09:18:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=wux2duEITaszOCiYjgmdsC/p6T4nrlEpfzHqBV/Ut+I=;
	b=AGwjv1b/DmHxzdS/w9Gp42Vx9dL6MktqejFy2Z69ZkgyS4bFQMShzkbGjsxAfTGr1n
	JliC1Zu2jRKHtzOTtSm/QVQhYr7FQ3xar7Xpq9S5JCqpPE7NYd1WfgI1dxhQt8q5n+Lr
	+GVcR4F3BW0O7vzREgyadKAQv1MMUpa4Xvzx+crRbeb4eOX6zcBy3R+Q2LZhqvUioA3U
	0IZ8Y5RICe3I70+Xu/uzvAKXR/hRuu74XnQtic9fNzpt5mdN21y3WIrw3kog0uu5yxjv
	+FoDvK/MwDFeNzeDx/u9POUDnDQOptSNU1vOPFCC6fwSltw1hyMF/+ai6jpNDT5pgF77
	B1eg==
MIME-Version: 1.0
Received: by 10.112.83.198 with SMTP id s6mr292517lby.76.1338481122506; Thu,
	31 May 2012 09:18:42 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 09:18:42 -0700 (PDT)
In-Reply-To: <4FC7B32F0200007800087786@nat28.tlf.novell.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
	<CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
	<CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
	<4FC7B32F0200007800087786@nat28.tlf.novell.com>
Date: Thu, 31 May 2012 12:18:42 -0400
X-Google-Sender-Auth: p_-vAY1QBshRZe0yvSN8GJJin6w
Message-ID: <CAOvdn6UdFCZXFVS5ZBpAg9wxVb1ifLFuFuvMuj+T4OEJyy23uA@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, keir@xen.org,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:06 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 31.05.12 at 17:52, Ben Guthro <ben@guthro.net> wrote:
>> 1. The changeset mentioned below needed to be reverted, as it was
>> removing the CPUS at suspend time.
>
> I assume you refer to the one line change, not the full c/s?
> Juergen would have to tell us whether reverting that would
> break something else.

I reverted the whole c/s - but I think the one line change would be suffici=
ent.

>
>> 2. The linux xen watchdog driver (drivers/watchdog/xen_wdt.c) seems to
>> be enabling itsself on resume, even if you tell it not to.
>> I worked around this by just turning off watchdogs in my kernel
>> config...because I wasn't using them anyhow.
>
> That was a problem up to 3.3, but was fixed in 3.4 afaict. What
> kernel version did you see this with?
>

3.2.17 + some of konrad's branches
...so that makes sense.


> Jan
>
>> On Fri, May 25, 2012 at 9:20 AM, Ben Guthro <ben@guthro.net> wrote:
>>> Changed parts:
>>>
>>> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
>>> index 0854f55..95cb2b4 100644
>>> --- a/xen/common/schedule.c
>>> +++ b/xen/common/schedule.c
>>> @@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
>>> =A0 =A0 int =A0 =A0ret =3D 0;
>>>
>>> =A0 =A0 c =3D per_cpu(cpupool, cpu);
>>> - =A0 =A0if ( (c =3D=3D NULL) || (system_state =3D=3D SYS_STATE_suspend=
) )
>>> + =A0 =A0if ( (c =3D=3D NULL) )
>>> =A0 =A0 =A0 =A0 return ret;
>>>
>>> =A0 =A0 for_each_domain_in_cpupool ( d, c )
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:19:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:19:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa85J-0004WA-3O; Thu, 31 May 2012 16:18:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ben.guthro@gmail.com>) id 1Sa85H-0004Vx-OI
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:18:47 +0000
Received: from [85.158.143.35:49083] by server-3.bemta-4.messagelabs.com id
	92/0E-04252-7E997CF4; Thu, 31 May 2012 16:18:47 +0000
X-Env-Sender: ben.guthro@gmail.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338481123!7303723!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=0.3 required=7.0 tests=RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27638 invoked from network); 31 May 2012 16:18:44 -0000
Received: from mail-lpp01m010-f45.google.com (HELO
	mail-lpp01m010-f45.google.com) (209.85.215.45)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:18:44 -0000
Received: by lahc1 with SMTP id c1so1044920lah.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 09:18:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=wux2duEITaszOCiYjgmdsC/p6T4nrlEpfzHqBV/Ut+I=;
	b=AGwjv1b/DmHxzdS/w9Gp42Vx9dL6MktqejFy2Z69ZkgyS4bFQMShzkbGjsxAfTGr1n
	JliC1Zu2jRKHtzOTtSm/QVQhYr7FQ3xar7Xpq9S5JCqpPE7NYd1WfgI1dxhQt8q5n+Lr
	+GVcR4F3BW0O7vzREgyadKAQv1MMUpa4Xvzx+crRbeb4eOX6zcBy3R+Q2LZhqvUioA3U
	0IZ8Y5RICe3I70+Xu/uzvAKXR/hRuu74XnQtic9fNzpt5mdN21y3WIrw3kog0uu5yxjv
	+FoDvK/MwDFeNzeDx/u9POUDnDQOptSNU1vOPFCC6fwSltw1hyMF/+ai6jpNDT5pgF77
	B1eg==
MIME-Version: 1.0
Received: by 10.112.83.198 with SMTP id s6mr292517lby.76.1338481122506; Thu,
	31 May 2012 09:18:42 -0700 (PDT)
Received: by 10.112.104.73 with HTTP; Thu, 31 May 2012 09:18:42 -0700 (PDT)
In-Reply-To: <4FC7B32F0200007800087786@nat28.tlf.novell.com>
References: <CAOvdn6V1xSRjWEMPG8Mo1qZUco2NQC-eLWOJ7paM4329tjkFfg@mail.gmail.com>
	<4FBA739A0200007800084DEE@nat28.tlf.novell.com>
	<CAOvdn6XGkvqcxfVH+eQ_o8WpDYAd3E+0Er9QHW1rCKL+Qibi0g@mail.gmail.com>
	<CAOvdn6XQq_MPhMTRRh0BSKuxEDWLSE22TqWO_bkSCNbrR9Vr9A@mail.gmail.com>
	<CAOvdn6Xz2Jh8uKKYxz_MZ_VxhuVJiSepkBz2KcVf3K3UBCPtXQ@mail.gmail.com>
	<4FBBD629020000780008538C@nat28.tlf.novell.com>
	<CAOvdn6UrJcmrKMJTUcuvwjKW_VqZnvWCJWsUfiSTR1eUWT4kiw@mail.gmail.com>
	<20120522173403.GD19601@phenom.dumpdata.com>
	<CAOvdn6XbSf70-9NQft6nyT7Mgt-azs1wfAeyCn=d1tabFkWSYQ@mail.gmail.com>
	<20120522180022.GA22488@phenom.dumpdata.com>
	<CAOvdn6WUtDm9ZY05FWk0LORbc_1D1HHvVPAUH4k_7=d_kiHe5A@mail.gmail.com>
	<CAOvdn6UN3KS4r7-BJhP0ruHSZUjHKDrYsyzfcCyA_8R7BxRLhg@mail.gmail.com>
	<4FBCCC650200007800085694@nat28.tlf.novell.com>
	<4FBCC366.1060908@ts.fujitsu.com>
	<CAOvdn6XX80oO7B=Z-XbKMenhCU-oxjBKhaMqy4SZOM919njtVQ@mail.gmail.com>
	<CAOvdn6WbnAC-RwTS_8SGeMOpJFPDY1eBqCdtsAgzRekrjTGnBA@mail.gmail.com>
	<4FC7B32F0200007800087786@nat28.tlf.novell.com>
Date: Thu, 31 May 2012 12:18:42 -0400
X-Google-Sender-Auth: p_-vAY1QBshRZe0yvSN8GJJin6w
Message-ID: <CAOvdn6UdFCZXFVS5ZBpAg9wxVb1ifLFuFuvMuj+T4OEJyy23uA@mail.gmail.com>
From: Ben Guthro <ben@guthro.net>
To: Jan Beulich <JBeulich@suse.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, keir@xen.org,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] dump with xen-unstable & linux 3.2.17
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:06 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 31.05.12 at 17:52, Ben Guthro <ben@guthro.net> wrote:
>> 1. The changeset mentioned below needed to be reverted, as it was
>> removing the CPUS at suspend time.
>
> I assume you refer to the one line change, not the full c/s?
> Juergen would have to tell us whether reverting that would
> break something else.

I reverted the whole c/s - but I think the one line change would be suffici=
ent.

>
>> 2. The linux xen watchdog driver (drivers/watchdog/xen_wdt.c) seems to
>> be enabling itsself on resume, even if you tell it not to.
>> I worked around this by just turning off watchdogs in my kernel
>> config...because I wasn't using them anyhow.
>
> That was a problem up to 3.3, but was fixed in 3.4 afaict. What
> kernel version did you see this with?
>

3.2.17 + some of konrad's branches
...so that makes sense.


> Jan
>
>> On Fri, May 25, 2012 at 9:20 AM, Ben Guthro <ben@guthro.net> wrote:
>>> Changed parts:
>>>
>>> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
>>> index 0854f55..95cb2b4 100644
>>> --- a/xen/common/schedule.c
>>> +++ b/xen/common/schedule.c
>>> @@ -543,7 +543,7 @@ int cpu_disable_scheduler(unsigned int cpu)
>>> =A0 =A0 int =A0 =A0ret =3D 0;
>>>
>>> =A0 =A0 c =3D per_cpu(cpupool, cpu);
>>> - =A0 =A0if ( (c =3D=3D NULL) || (system_state =3D=3D SYS_STATE_suspend=
) )
>>> + =A0 =A0if ( (c =3D=3D NULL) )
>>> =A0 =A0 =A0 =A0 return ret;
>>>
>>> =A0 =A0 for_each_domain_in_cpupool ( d, c )
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:19:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:19:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa85I-0004W2-OB; Thu, 31 May 2012 16:18:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa85G-0004Vq-VR
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:18:47 +0000
Received: from [85.158.143.99:49527] by server-3.bemta-4.messagelabs.com id
	ED/FD-04252-6E997CF4; Thu, 31 May 2012 16:18:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338481122!19580922!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28425 invoked from network); 31 May 2012 16:18:44 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 16:18:44 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VGIUa1012014
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 16:18:31 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VGIUL6008237
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 16:18:30 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VGIUrB027173; Thu, 31 May 2012 11:18:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 09:18:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 04F50402B7; Thu, 31 May 2012 12:11:40 -0400 (EDT)
Date: Thu, 31 May 2012 12:11:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531161139.GA13939@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> >From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
> From: root <root@ljsromley.bj.intel.com>

Also your git author is busted. I fixed it up for you but
you might want to run 'git config --user.name' and such

> Date: Fri, 1 Jun 2012 03:12:51 +0800
> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform

What about the cvt_gate_to_trap? Does that need something similar
to "xen/mce: Register native mce handler as vMCE bounce back point"
?

I stuck all these patches on devel/mce.v2 on
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:19:02 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:19:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa85I-0004W2-OB; Thu, 31 May 2012 16:18:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa85G-0004Vq-VR
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:18:47 +0000
Received: from [85.158.143.99:49527] by server-3.bemta-4.messagelabs.com id
	ED/FD-04252-6E997CF4; Thu, 31 May 2012 16:18:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338481122!19580922!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28425 invoked from network); 31 May 2012 16:18:44 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 16:18:44 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VGIUa1012014
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 16:18:31 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VGIUL6008237
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 16:18:30 GMT
Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VGIUrB027173; Thu, 31 May 2012 11:18:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 09:18:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 04F50402B7; Thu, 31 May 2012 12:11:40 -0400 (EDT)
Date: Thu, 31 May 2012 12:11:39 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531161139.GA13939@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> >From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00 2001
> From: root <root@ljsromley.bj.intel.com>

Also your git author is busted. I fixed it up for you but
you might want to run 'git config --user.name' and such

> Date: Fri, 1 Jun 2012 03:12:51 +0800
> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform

What about the cvt_gate_to_trap? Does that need something similar
to "xen/mce: Register native mce handler as vMCE bounce back point"
?

I stuck all these patches on devel/mce.v2 on
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:20:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:20:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa86G-0004cN-Hz; Thu, 31 May 2012 16:19:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa86F-0004c7-8K
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:19:47 +0000
Received: from [85.158.143.99:4577] by server-1.bemta-4.messagelabs.com id
	D5/5F-27869-22A97CF4; Thu, 31 May 2012 16:19:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338481178!19581090!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32639 invoked from network); 31 May 2012 16:19:39 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 16:19:39 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VGJUbj013028
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 16:19:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VGJUPB009943
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 16:19:30 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VGJTBX032434; Thu, 31 May 2012 11:19:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 09:19:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 795F2402B7; Thu, 31 May 2012 12:12:40 -0400 (EDT)
Date: Thu, 31 May 2012 12:12:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120531161240.GB13939@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
	<20120531153931.GA10672@phenom.dumpdata.com>
	<1338479555.17466.18.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338479555.17466.18.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 04:52:35PM +0100, Ian Campbell wrote:
> On Thu, 2012-05-31 at 16:39 +0100, Konrad Rzeszutek Wilk wrote:
> > On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> > > Hi Konrad,
> > > 
> > > What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?
> > 
> > Hm, lets wrap Ian and CC in this converstation. Were there
> > any big outstanding TODOs before the network maintainer
> > was OK with them?
> 
> IIRC all of Wei's patches were RFC and not yet intended for upstreaming
> yet, there was other work we wanted to do first to validate and round
> out the ideas started by those patches before committing to them..
> 
> > > It doesn't seem to be destined for 3.5 mainline yet ?
> 
> No it isn't.
> 
> This is a branch containing some development patches which Wei sent out,
> it's not even Wei's own development branch.

Where is his git tree?
> 
> Ian.
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:20:01 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:20:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa86G-0004cN-Hz; Thu, 31 May 2012 16:19:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa86F-0004c7-8K
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:19:47 +0000
Received: from [85.158.143.99:4577] by server-1.bemta-4.messagelabs.com id
	D5/5F-27869-22A97CF4; Thu, 31 May 2012 16:19:46 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-16.tower-216.messagelabs.com!1338481178!19581090!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32639 invoked from network); 31 May 2012 16:19:39 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-16.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 16:19:39 -0000
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VGJUbj013028
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 16:19:31 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VGJUPB009943
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 16:19:30 GMT
Received: from abhmt106.oracle.com (abhmt106.oracle.com [141.146.116.58])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VGJTBX032434; Thu, 31 May 2012 11:19:30 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 09:19:29 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 795F2402B7; Thu, 31 May 2012 12:12:40 -0400 (EDT)
Date: Thu, 31 May 2012 12:12:40 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Message-ID: <20120531161240.GB13939@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
	<20120531153931.GA10672@phenom.dumpdata.com>
	<1338479555.17466.18.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338479555.17466.18.camel@zakaz.uk.xensource.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 04:52:35PM +0100, Ian Campbell wrote:
> On Thu, 2012-05-31 at 16:39 +0100, Konrad Rzeszutek Wilk wrote:
> > On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> > > Hi Konrad,
> > > 
> > > What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?
> > 
> > Hm, lets wrap Ian and CC in this converstation. Were there
> > any big outstanding TODOs before the network maintainer
> > was OK with them?
> 
> IIRC all of Wei's patches were RFC and not yet intended for upstreaming
> yet, there was other work we wanted to do first to validate and round
> out the ideas started by those patches before committing to them..
> 
> > > It doesn't seem to be destined for 3.5 mainline yet ?
> 
> No it isn't.
> 
> This is a branch containing some development patches which Wei sent out,
> it's not even Wei's own development branch.

Where is his git tree?
> 
> Ian.
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:24:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:24:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8As-0004uv-8x; Thu, 31 May 2012 16:24:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa8Aq-0004ul-9k
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:24:32 +0000
Received: from [85.158.143.35:38648] by server-3.bemta-4.messagelabs.com id
	B8/E7-04252-F3B97CF4; Thu, 31 May 2012 16:24:31 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338481468!6912389!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24664 invoked from network); 31 May 2012 16:24:30 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 16:24:30 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VGOODC003429
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 16:24:25 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VGOMxQ029255
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 16:24:23 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VGOMvX003558; Thu, 31 May 2012 11:24:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 09:24:22 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DA38E402B7; Thu, 31 May 2012 12:17:32 -0400 (EDT)
Date: Thu, 31 May 2012 12:17:32 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120531161732.GA14197@phenom.dumpdata.com>
References: <1338289651-15843-1-git-send-email-andre.przywara@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338289651-15843-1-git-send-email-andre.przywara@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org.#.v3.0+
Subject: Re: [Xen-devel] [PATCH] xen: filter APERFMPERF feature for kernel
	usage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 01:07:31PM +0200, Andre Przywara wrote:
> Xen PV kernels allow access to the APERF/MPERF registers to read the
> effective frequency. Access to the MSRs is however redirected to the
> currently scheduled physical CPU, making consecutive read and
> compares unreliable. In addition each rdmsr traps into the hypervisor.
> So to avoid bogus readouts and expensive traps, disable the kernel
> internal feature flag for APERF/MPERF if running under Xen.
> This will
> a) remove the aperfmperf flag from /proc/cpuinfo
> b) not mislead the power scheduler (arch/x86/kernel/cpu/sched.c) to
>    use the feature to improve scheduling (by default disabled)
> c) not mislead the cpufreq driver to use the MSRs
> 
> This does not cover userland programs which access the MSRs via the
> device file interface, but this will be addressed separately.
> 
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # v3.0+

applied.
> ---
>  arch/x86/xen/enlighten.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 95dccce..dfbe1af 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -207,6 +207,9 @@ static void __init xen_banner(void)
>  	       xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : "");
>  }
>  
> +#define CPUID_THERM_POWER_LEAF 6
> +#define APERFMPERF_PRESENT 0
> +
>  static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0;
>  static __read_mostly unsigned int cpuid_leaf1_ecx_mask = ~0;
>  
> @@ -240,6 +243,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>  		*dx = cpuid_leaf5_edx_val;
>  		return;
>  
> +	case CPUID_THERM_POWER_LEAF:
> +		/* Disabling APERFMPERF for kernel usage */
> +		maskecx = ~(1 << APERFMPERF_PRESENT);
> +		break;
> +
>  	case 0xb:
>  		/* Suppress extended topology stuff */
>  		maskebx = 0;
> -- 
> 1.7.4.4
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:24:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:24:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8As-0004uv-8x; Thu, 31 May 2012 16:24:34 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa8Aq-0004ul-9k
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:24:32 +0000
Received: from [85.158.143.35:38648] by server-3.bemta-4.messagelabs.com id
	B8/E7-04252-F3B97CF4; Thu, 31 May 2012 16:24:31 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338481468!6912389!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24664 invoked from network); 31 May 2012 16:24:30 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 16:24:30 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VGOODC003429
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 16:24:25 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VGOMxQ029255
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 16:24:23 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VGOMvX003558; Thu, 31 May 2012 11:24:22 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 09:24:22 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id DA38E402B7; Thu, 31 May 2012 12:17:32 -0400 (EDT)
Date: Thu, 31 May 2012 12:17:32 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andre Przywara <andre.przywara@amd.com>
Message-ID: <20120531161732.GA14197@phenom.dumpdata.com>
References: <1338289651-15843-1-git-send-email-andre.przywara@amd.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1338289651-15843-1-git-send-email-andre.przywara@amd.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org.#.v3.0+
Subject: Re: [Xen-devel] [PATCH] xen: filter APERFMPERF feature for kernel
	usage
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, May 29, 2012 at 01:07:31PM +0200, Andre Przywara wrote:
> Xen PV kernels allow access to the APERF/MPERF registers to read the
> effective frequency. Access to the MSRs is however redirected to the
> currently scheduled physical CPU, making consecutive read and
> compares unreliable. In addition each rdmsr traps into the hypervisor.
> So to avoid bogus readouts and expensive traps, disable the kernel
> internal feature flag for APERF/MPERF if running under Xen.
> This will
> a) remove the aperfmperf flag from /proc/cpuinfo
> b) not mislead the power scheduler (arch/x86/kernel/cpu/sched.c) to
>    use the feature to improve scheduling (by default disabled)
> c) not mislead the cpufreq driver to use the MSRs
> 
> This does not cover userland programs which access the MSRs via the
> device file interface, but this will be addressed separately.
> 
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> Cc: stable@vger.kernel.org # v3.0+

applied.
> ---
>  arch/x86/xen/enlighten.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index 95dccce..dfbe1af 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -207,6 +207,9 @@ static void __init xen_banner(void)
>  	       xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : "");
>  }
>  
> +#define CPUID_THERM_POWER_LEAF 6
> +#define APERFMPERF_PRESENT 0
> +
>  static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0;
>  static __read_mostly unsigned int cpuid_leaf1_ecx_mask = ~0;
>  
> @@ -240,6 +243,11 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>  		*dx = cpuid_leaf5_edx_val;
>  		return;
>  
> +	case CPUID_THERM_POWER_LEAF:
> +		/* Disabling APERFMPERF for kernel usage */
> +		maskecx = ~(1 << APERFMPERF_PRESENT);
> +		break;
> +
>  	case 0xb:
>  		/* Suppress extended topology stuff */
>  		maskebx = 0;
> -- 
> 1.7.4.4
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:24:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:24:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8Ay-0004vc-MP; Thu, 31 May 2012 16:24:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa8Aw-0004vN-Pb
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:24:38 +0000
Received: from [85.158.143.35:28234] by server-3.bemta-4.messagelabs.com id
	4D/08-04252-64B97CF4; Thu, 31 May 2012 16:24:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338481477!6509673!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29981 invoked from network); 31 May 2012 16:24:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:24:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12768974"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 16:24:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 17:24:36 +0100
Message-ID: <1338481475.17466.19.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 31 May 2012 17:24:35 +0100
In-Reply-To: <20120531161240.GB13939@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
	<20120531153931.GA10672@phenom.dumpdata.com>
	<1338479555.17466.18.camel@zakaz.uk.xensource.com>
	<20120531161240.GB13939@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 17:12 +0100, Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 04:52:35PM +0100, Ian Campbell wrote:
> > On Thu, 2012-05-31 at 16:39 +0100, Konrad Rzeszutek Wilk wrote:
> > > On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> > > > Hi Konrad,
> > > > 
> > > > What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?
> > > 
> > > Hm, lets wrap Ian and CC in this converstation. Were there
> > > any big outstanding TODOs before the network maintainer
> > > was OK with them?
> > 
> > IIRC all of Wei's patches were RFC and not yet intended for upstreaming
> > yet, there was other work we wanted to do first to validate and round
> > out the ideas started by those patches before committing to them..
> > 
> > > > It doesn't seem to be destined for 3.5 mainline yet ?
> > 
> > No it isn't.
> > 
> > This is a branch containing some development patches which Wei sent out,
> > it's not even Wei's own development branch.
> 
> Where is his git tree?
> > 

Not sure, he's not here right now.

When this stuff is ready for upstream it will be posted.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:24:50 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:24:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8Ay-0004vc-MP; Thu, 31 May 2012 16:24:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa8Aw-0004vN-Pb
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:24:38 +0000
Received: from [85.158.143.35:28234] by server-3.bemta-4.messagelabs.com id
	4D/08-04252-64B97CF4; Thu, 31 May 2012 16:24:38 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1338481477!6509673!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29981 invoked from network); 31 May 2012 16:24:37 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:24:37 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12768974"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 16:24:37 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 17:24:36 +0100
Message-ID: <1338481475.17466.19.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Thu, 31 May 2012 17:24:35 +0100
In-Reply-To: <20120531161240.GB13939@phenom.dumpdata.com>
References: <187649850.20120531173930@eikelenboom.it>
	<20120531153931.GA10672@phenom.dumpdata.com>
	<1338479555.17466.18.camel@zakaz.uk.xensource.com>
	<20120531161240.GB13939@phenom.dumpdata.com>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Sander Eikelenboom <linux@eikelenboom.it>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] Status of devel/netback.liu.v5.on.3.5 branch
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 17:12 +0100, Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 04:52:35PM +0100, Ian Campbell wrote:
> > On Thu, 2012-05-31 at 16:39 +0100, Konrad Rzeszutek Wilk wrote:
> > > On Thu, May 31, 2012 at 05:39:30PM +0200, Sander Eikelenboom wrote:
> > > > Hi Konrad,
> > > > 
> > > > What is the status of the "devel/netback.liu.v5.on.3.5" branch in your tree ?
> > > 
> > > Hm, lets wrap Ian and CC in this converstation. Were there
> > > any big outstanding TODOs before the network maintainer
> > > was OK with them?
> > 
> > IIRC all of Wei's patches were RFC and not yet intended for upstreaming
> > yet, there was other work we wanted to do first to validate and round
> > out the ideas started by those patches before committing to them..
> > 
> > > > It doesn't seem to be destined for 3.5 mainline yet ?
> > 
> > No it isn't.
> > 
> > This is a branch containing some development patches which Wei sent out,
> > it's not even Wei's own development branch.
> 
> Where is his git tree?
> > 

Not sure, he's not here right now.

When this stuff is ready for upstream it will be posted.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:28:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8E1-0005BD-AL; Thu, 31 May 2012 16:27:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa8Dy-0005B2-Kn
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:27:46 +0000
Received: from [85.158.143.35:46452] by server-2.bemta-4.messagelabs.com id
	B6/7D-11595-10C97CF4; Thu, 31 May 2012 16:27:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338481662!15689125!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15858 invoked from network); 31 May 2012 16:27:43 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-16.tower-21.messagelabs.com with SMTP;
	31 May 2012 16:27:43 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78318906; Thu, 31 May 2012 18:27:40 +0200
Message-ID: <1338481654.15014.90.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 18:27:34 +0200
In-Reply-To: <20423.34837.239698.739317@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
	<20423.34837.239698.739317@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4935625639880981978=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4935625639880981978==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-BypIzE4R5iEi/T0QjoAx"


--=-BypIzE4R5iEi/T0QjoAx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:02 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 09 of 11] libxl, xl: enable automatic plac=
ement of guests on NUMA nodes"):
> > If a domain does not have a VCPU affinity, try to pin it automatically
> > to some PCPUs. This is done taking into account the NUMA characteristic=
s
> > of the host: we look for a combination of host's NUMA nodes that has en=
ough
> > free memoy for the new domain, and pin it to the VCPUs of those nodes.
> > Smaller combinations are considered first, to avoid spreading the
> > domain's memory among too many nodes.
>=20
> Thanks for this.  Here are my comments:
>=20
Thanks to you. :-)

> > +static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
> > +{
> > +    int i;
> > +    nodemap->size =3D rand() % 16;
> > +    nodemap->map =3D calloc(nodemap->size, sizeof(*nodemap->map));
> > +    libxl_for_each_node(i, *nodemap) {
> > +        if (rand() % 2)
> > +            libxl_nodemap_set(nodemap, i);
> > +        else
> > +            libxl_nodemap_reset(nodemap, i);
> > +    }
> > +}
>=20
> For your random number generation, please use nrand48, with a seed in
> the libxl ctx.  (This means you'll need to take out the ctx lock.)
> And provide a way to set the seed.
>=20
Sounds reasonable, I'll look into this. As a side note, as I
deliberately took inspiration from libxl_cpumap_rand_init() for this,
should I apply what you just said to that function too?

> > +/* Automatic NUMA placement */
> > +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> > +                                        libxl_domain_build_info *b_inf=
o,
> > +                                        int min_nodes, int *nr_cndts);
> > +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> > +                                  int min_cpus, int max_nodes,
> > +                                  libxl_numa_candidate *candidate);
> > +void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int n=
r);
>=20
> This interface documentation is deficient, I'm afraid.  Please explain
> how these functions are supposed to be used.
>=20
Sure, as per the other mail, I'll put the API documentation here.

> > +yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand,
> > +                                       libxl_nodemap *nodemap)
> > +{
> > +    yajl_gen_status s;
> > +    int i;
> > +
> > +    s =3D yajl_gen_array_open(hand);
> > +    if (s !=3D yajl_gen_status_ok) goto out;
> > +
> > +    libxl_for_each_node(i, *nodemap) {
> > +        if (libxl_nodemap_test(nodemap, i)) {
> > +            s =3D yajl_gen_integer(hand, i);
> > +            if (s !=3D yajl_gen_status_ok) goto out;
> > +        }
> > +    }
> > +    s =3D yajl_gen_array_close(hand);
> > +out:
> > +    return s;
> > +}
>=20
> This is a copy of _cpumap_gen_json.  Bad enough to have one of these,
> let along two.
>=20
So, perhaps you're suggesting merging the two of them?

> > +static int numa_node_set_next(int nr_nodes, int size, int *idxs,
> > +                              libxl_nodemap *nodemap)
>=20
> You should at least write     int idxs[]    and explain that the
> caller is expected to provide an array of size `size' which is private
> to the implementation of numa_node_set_...
>=20
> <snip>
>
I like this and the other suggestions about restructuring the
combination generation and iteration, and I'll also try to improve the
comments and the documentation.

> > +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> > +                                        libxl_domain_build_info *b_inf=
o,
> > +                                        int min_nodes, int *nr_cndts)
>=20
> I think it would be better if this function returned a libxl error
> code.  That way in would be possible to distinguish the various error
> cases with different error codes.  You should define new error codes
> if you need them.
>=20
> For the libxl internal subcalls, do this:
>     rc =3D libxl_get_some_information(CTX, ...);
>     if (rc) goto out;
>=20
Ok, I will move the array of candidates among the parameters...

> > +                cndts =3D realloc(cndts, sizeof(cndts[0]) * (*nr_cndts=
+1));
> > +                if (cndts =3D=3D NULL) {
>=20
> Firstly, use libxl__zrealloc(0, ...) and ditch the error handling.
> Secondly, this reallocs the array every time we add a node.  It would
> be better to keep a separate note of the array size and reallocate in
> bigger chunks.
>=20
Yes, that's very bad, I agree.

> > + out_nodemap_idx:
> > +    free(suitable_nodes_idx);
> > + out_nodemap:
> > +    libxl_nodemap_dispose(&suitable_nodes);
> > + out_numainfo:
> > +    libxl_numainfo_list_free(ninfo, nr_nodes);
> > + out:
> > +    return cndts;
> > +}
>=20
> Please don't use this error handling style.  Instead, initialise all
> the resource variables to 0 right at the top of the function, and
> unconditionally free them.
>=20
Ok.

> For the output variable cndts, you can unconditionally free it at the
> end if you do this on the success exit path:
>=20
No, that is up to the caller to free...

> > +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> > +                                  int min_cpus, int max_nodes,
> > +                                  libxl_numa_candidate *candidate)
> > +{
> > +    int dom_nodes, nodes_cpus;
> > +    libxl_cputopology *tinfo;
> > +    libxl_numainfo *ninfo;
> > +    int nr_nodes, nr_cpus;
> > +    int i, rc;
> > +
> > +    tinfo =3D libxl_get_cpu_topology(ctx, &nr_cpus);
> > +    if (tinfo =3D=3D NULL) {
> > +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo fail=
ed\n");
> > +        rc =3D ERROR_NOMEM;
>=20
> We aren't supposed to be returning ERROR_NOMEM any more because all
> our memory allocation is now assumed to be infallible.  Shouldn't this
> be ERROR_FAIL ?  (And in the next stanza.)
>=20
Right. What I need is to distinguish, in the caller, whether this failed
because it did not find and couldn't add enough CPUs --which would mean
"bad, but we just reset the affinity and avoid placing the domain"-- or
for some other reason --which would mean "bad, we must bail out". But I
guess I can manage doing this with the ERROR_s (or adding my own ones,
if that is the case).

> > +/* How many PCPUs are there on each node? */
> > +static int cpus_per_node(libxl_cputopology *tinfo, int nr_cpus)
> > +{
> > +    libxl_numainfo *ninfo;
> > +    int nr_nodes, j, i;
> > +    int cpus_nodes =3D 0;
> > +
> > +    ninfo =3D libxl_get_numainfo(ctx, &nr_nodes);
> > +    if (ninfo =3D=3D NULL)
> > +        return 0;
> > +
> > +    /* This makes sense iff # of PCPUs is the same for all nodes */
>=20
> And what if it isn't ?  Later I see:
>=20
> > +    if (cpus_nodes !=3D 0)
> > +        dom_min_nodes =3D (dom_needs_cpus + cpus_nodes - 1) / cpus_nod=
es;
> > +    else
> > +        dom_min_nodes =3D 1;
>=20
> which seems to suggest we'll pile the whole thing onto one pcpu.
>=20
You're again right I might have spent a few more words on this... It's
just I fear bearing to verbose (I really tend to talk and write too
much!).

This whole comes from an hint from George during his review of my RFC,
where he said we should check how many CPUs we have on each node so
that, if we know we have 6 CPUs on each node and the domain wants 8
CPUs, we can avoid looking for solutions comprising less than 2 nodes.
This is all true, but it depends on the fact each node has the same
amount of CPUs in it, otherwise, math becomes way more complex than just
that division.

Therefore, what this is trying to do is check whether or not we are in
that situation and, if not, just turn this kind of optimization off and
tell the rest of the algorithm to give use _all_ the candidates,
starting from a minimum number of nodes equal to one (which is the
meaning of dom_min_nodes =3D 1 at this stage).

> > +/* Try to achieve "optimal" NUMA placement */
> > +static int place_domain(libxl_domain_build_info *b_info)
> > +{
> ...
>  +    if (nr_pools > 1) {
> > +        fprintf(stderr, "skip numa placement as cpupools are being use=
d\n");
> > +        err =3D 0;
> > +        goto out_poolinfo;
> > +    }
>=20
> Perhaps in the case of cpupools the right answer is to consider only
> those pcpus in the intended pool ?  Or is that likely to do more harm
> than good, with people who are currently doing their numa placement
> with cpupools ?
>=20
I'm not sure. What you are saying is what I wanted to have, but then I
thought, as it is for VCPU affinity, if the user is asking something
specific about CPU usage, it may be better to leave the whole thing with
him and turning all the automation down.

However, I think I can make the algorithm work while taking cpupools
into account, it's just a matter of deciding. Maybe hearing something
from George and Juergen could be useful...

Thanks a lot for the quick and detailed review. :-)

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-BypIzE4R5iEi/T0QjoAx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hm/YACgkQk4XaBE3IOsQiHACfTsiOv/QZOo8cGoDE2JMOgT18
WgMAniOaDXfrBYlan8rp8HS1bXCcLEoC
=Ziaj
-----END PGP SIGNATURE-----

--=-BypIzE4R5iEi/T0QjoAx--



--===============4935625639880981978==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4935625639880981978==--



From xen-devel-bounces@lists.xen.org Thu May 31 16:28:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8E1-0005BD-AL; Thu, 31 May 2012 16:27:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa8Dy-0005B2-Kn
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:27:46 +0000
Received: from [85.158.143.35:46452] by server-2.bemta-4.messagelabs.com id
	B6/7D-11595-10C97CF4; Thu, 31 May 2012 16:27:45 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-16.tower-21.messagelabs.com!1338481662!15689125!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15858 invoked from network); 31 May 2012 16:27:43 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-16.tower-21.messagelabs.com with SMTP;
	31 May 2012 16:27:43 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78318906; Thu, 31 May 2012 18:27:40 +0200
Message-ID: <1338481654.15014.90.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Date: Thu, 31 May 2012 18:27:34 +0200
In-Reply-To: <20423.34837.239698.739317@mariner.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
	<20423.34837.239698.739317@mariner.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4935625639880981978=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============4935625639880981978==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-BypIzE4R5iEi/T0QjoAx"


--=-BypIzE4R5iEi/T0QjoAx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 16:02 +0100, Ian Jackson wrote:
> Dario Faggioli writes ("[PATCH 09 of 11] libxl, xl: enable automatic plac=
ement of guests on NUMA nodes"):
> > If a domain does not have a VCPU affinity, try to pin it automatically
> > to some PCPUs. This is done taking into account the NUMA characteristic=
s
> > of the host: we look for a combination of host's NUMA nodes that has en=
ough
> > free memoy for the new domain, and pin it to the VCPUs of those nodes.
> > Smaller combinations are considered first, to avoid spreading the
> > domain's memory among too many nodes.
>=20
> Thanks for this.  Here are my comments:
>=20
Thanks to you. :-)

> > +static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
> > +{
> > +    int i;
> > +    nodemap->size =3D rand() % 16;
> > +    nodemap->map =3D calloc(nodemap->size, sizeof(*nodemap->map));
> > +    libxl_for_each_node(i, *nodemap) {
> > +        if (rand() % 2)
> > +            libxl_nodemap_set(nodemap, i);
> > +        else
> > +            libxl_nodemap_reset(nodemap, i);
> > +    }
> > +}
>=20
> For your random number generation, please use nrand48, with a seed in
> the libxl ctx.  (This means you'll need to take out the ctx lock.)
> And provide a way to set the seed.
>=20
Sounds reasonable, I'll look into this. As a side note, as I
deliberately took inspiration from libxl_cpumap_rand_init() for this,
should I apply what you just said to that function too?

> > +/* Automatic NUMA placement */
> > +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> > +                                        libxl_domain_build_info *b_inf=
o,
> > +                                        int min_nodes, int *nr_cndts);
> > +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> > +                                  int min_cpus, int max_nodes,
> > +                                  libxl_numa_candidate *candidate);
> > +void libxl_numa_candidates_list_free(libxl_numa_candidate *list, int n=
r);
>=20
> This interface documentation is deficient, I'm afraid.  Please explain
> how these functions are supposed to be used.
>=20
Sure, as per the other mail, I'll put the API documentation here.

> > +yajl_gen_status libxl_nodemap_gen_json(yajl_gen hand,
> > +                                       libxl_nodemap *nodemap)
> > +{
> > +    yajl_gen_status s;
> > +    int i;
> > +
> > +    s =3D yajl_gen_array_open(hand);
> > +    if (s !=3D yajl_gen_status_ok) goto out;
> > +
> > +    libxl_for_each_node(i, *nodemap) {
> > +        if (libxl_nodemap_test(nodemap, i)) {
> > +            s =3D yajl_gen_integer(hand, i);
> > +            if (s !=3D yajl_gen_status_ok) goto out;
> > +        }
> > +    }
> > +    s =3D yajl_gen_array_close(hand);
> > +out:
> > +    return s;
> > +}
>=20
> This is a copy of _cpumap_gen_json.  Bad enough to have one of these,
> let along two.
>=20
So, perhaps you're suggesting merging the two of them?

> > +static int numa_node_set_next(int nr_nodes, int size, int *idxs,
> > +                              libxl_nodemap *nodemap)
>=20
> You should at least write     int idxs[]    and explain that the
> caller is expected to provide an array of size `size' which is private
> to the implementation of numa_node_set_...
>=20
> <snip>
>
I like this and the other suggestions about restructuring the
combination generation and iteration, and I'll also try to improve the
comments and the documentation.

> > +libxl_numa_candidate *libxl_domain_numa_candidates(libxl_ctx *ctx,
> > +                                        libxl_domain_build_info *b_inf=
o,
> > +                                        int min_nodes, int *nr_cndts)
>=20
> I think it would be better if this function returned a libxl error
> code.  That way in would be possible to distinguish the various error
> cases with different error codes.  You should define new error codes
> if you need them.
>=20
> For the libxl internal subcalls, do this:
>     rc =3D libxl_get_some_information(CTX, ...);
>     if (rc) goto out;
>=20
Ok, I will move the array of candidates among the parameters...

> > +                cndts =3D realloc(cndts, sizeof(cndts[0]) * (*nr_cndts=
+1));
> > +                if (cndts =3D=3D NULL) {
>=20
> Firstly, use libxl__zrealloc(0, ...) and ditch the error handling.
> Secondly, this reallocs the array every time we add a node.  It would
> be better to keep a separate note of the array size and reallocate in
> bigger chunks.
>=20
Yes, that's very bad, I agree.

> > + out_nodemap_idx:
> > +    free(suitable_nodes_idx);
> > + out_nodemap:
> > +    libxl_nodemap_dispose(&suitable_nodes);
> > + out_numainfo:
> > +    libxl_numainfo_list_free(ninfo, nr_nodes);
> > + out:
> > +    return cndts;
> > +}
>=20
> Please don't use this error handling style.  Instead, initialise all
> the resource variables to 0 right at the top of the function, and
> unconditionally free them.
>=20
Ok.

> For the output variable cndts, you can unconditionally free it at the
> end if you do this on the success exit path:
>=20
No, that is up to the caller to free...

> > +int libxl_numa_candidate_add_cpus(libxl_ctx *ctx,
> > +                                  int min_cpus, int max_nodes,
> > +                                  libxl_numa_candidate *candidate)
> > +{
> > +    int dom_nodes, nodes_cpus;
> > +    libxl_cputopology *tinfo;
> > +    libxl_numainfo *ninfo;
> > +    int nr_nodes, nr_cpus;
> > +    int i, rc;
> > +
> > +    tinfo =3D libxl_get_cpu_topology(ctx, &nr_cpus);
> > +    if (tinfo =3D=3D NULL) {
> > +        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl_get_topologyinfo fail=
ed\n");
> > +        rc =3D ERROR_NOMEM;
>=20
> We aren't supposed to be returning ERROR_NOMEM any more because all
> our memory allocation is now assumed to be infallible.  Shouldn't this
> be ERROR_FAIL ?  (And in the next stanza.)
>=20
Right. What I need is to distinguish, in the caller, whether this failed
because it did not find and couldn't add enough CPUs --which would mean
"bad, but we just reset the affinity and avoid placing the domain"-- or
for some other reason --which would mean "bad, we must bail out". But I
guess I can manage doing this with the ERROR_s (or adding my own ones,
if that is the case).

> > +/* How many PCPUs are there on each node? */
> > +static int cpus_per_node(libxl_cputopology *tinfo, int nr_cpus)
> > +{
> > +    libxl_numainfo *ninfo;
> > +    int nr_nodes, j, i;
> > +    int cpus_nodes =3D 0;
> > +
> > +    ninfo =3D libxl_get_numainfo(ctx, &nr_nodes);
> > +    if (ninfo =3D=3D NULL)
> > +        return 0;
> > +
> > +    /* This makes sense iff # of PCPUs is the same for all nodes */
>=20
> And what if it isn't ?  Later I see:
>=20
> > +    if (cpus_nodes !=3D 0)
> > +        dom_min_nodes =3D (dom_needs_cpus + cpus_nodes - 1) / cpus_nod=
es;
> > +    else
> > +        dom_min_nodes =3D 1;
>=20
> which seems to suggest we'll pile the whole thing onto one pcpu.
>=20
You're again right I might have spent a few more words on this... It's
just I fear bearing to verbose (I really tend to talk and write too
much!).

This whole comes from an hint from George during his review of my RFC,
where he said we should check how many CPUs we have on each node so
that, if we know we have 6 CPUs on each node and the domain wants 8
CPUs, we can avoid looking for solutions comprising less than 2 nodes.
This is all true, but it depends on the fact each node has the same
amount of CPUs in it, otherwise, math becomes way more complex than just
that division.

Therefore, what this is trying to do is check whether or not we are in
that situation and, if not, just turn this kind of optimization off and
tell the rest of the algorithm to give use _all_ the candidates,
starting from a minimum number of nodes equal to one (which is the
meaning of dom_min_nodes =3D 1 at this stage).

> > +/* Try to achieve "optimal" NUMA placement */
> > +static int place_domain(libxl_domain_build_info *b_info)
> > +{
> ...
>  +    if (nr_pools > 1) {
> > +        fprintf(stderr, "skip numa placement as cpupools are being use=
d\n");
> > +        err =3D 0;
> > +        goto out_poolinfo;
> > +    }
>=20
> Perhaps in the case of cpupools the right answer is to consider only
> those pcpus in the intended pool ?  Or is that likely to do more harm
> than good, with people who are currently doing their numa placement
> with cpupools ?
>=20
I'm not sure. What you are saying is what I wanted to have, but then I
thought, as it is for VCPU affinity, if the user is asking something
specific about CPU usage, it may be better to leave the whole thing with
him and turning all the automation down.

However, I think I can make the algorithm work while taking cpupools
into account, it's just a matter of deciding. Maybe hearing something
from George and Juergen could be useful...

Thanks a lot for the quick and detailed review. :-)

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-BypIzE4R5iEi/T0QjoAx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hm/YACgkQk4XaBE3IOsQiHACfTsiOv/QZOo8cGoDE2JMOgT18
WgMAniOaDXfrBYlan8rp8HS1bXCcLEoC
=Ziaj
-----END PGP SIGNATURE-----

--=-BypIzE4R5iEi/T0QjoAx--



--===============4935625639880981978==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============4935625639880981978==--



From xen-devel-bounces@lists.xen.org Thu May 31 16:42:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:42:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8SC-0005ab-Oe; Thu, 31 May 2012 16:42:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa8SB-0005aW-F1
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:42:27 +0000
Received: from [85.158.143.99:44364] by server-3.bemta-4.messagelabs.com id
	0A/74-04252-27F97CF4; Thu, 31 May 2012 16:42:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338482544!21129597!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23211 invoked from network); 31 May 2012 16:42:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:42:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12769358"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 16:42:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 17:42:23 +0100
Message-ID: <1338482542.17466.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 31 May 2012 17:42:22 +0100
In-Reply-To: <1338481654.15014.90.camel@Solace>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
	<20423.34837.239698.739317@mariner.uk.xensource.com>
	<1338481654.15014.90.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 17:27 +0100, Dario Faggioli wrote:
> On Thu, 2012-05-31 at 16:02 +0100, Ian Jackson wrote:
> > Dario Faggioli writes ("[PATCH 09 of 11] libxl, xl: enable automatic placement of guests on NUMA nodes"):
> > > If a domain does not have a VCPU affinity, try to pin it automatically
> > > to some PCPUs. This is done taking into account the NUMA characteristics
> > > of the host: we look for a combination of host's NUMA nodes that has enough
> > > free memoy for the new domain, and pin it to the VCPUs of those nodes.
> > > Smaller combinations are considered first, to avoid spreading the
> > > domain's memory among too many nodes.
> > 
> > Thanks for this.  Here are my comments:
> > 
> Thanks to you. :-)
> 
> > > +static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
> > > +{
> > > +    int i;
> > > +    nodemap->size = rand() % 16;
> > > +    nodemap->map = calloc(nodemap->size, sizeof(*nodemap->map));
> > > +    libxl_for_each_node(i, *nodemap) {
> > > +        if (rand() % 2)
> > > +            libxl_nodemap_set(nodemap, i);
> > > +        else
> > > +            libxl_nodemap_reset(nodemap, i);
> > > +    }
> > > +}
> > 
> > For your random number generation, please use nrand48, with a seed in
> > the libxl ctx.  (This means you'll need to take out the ctx lock.)
> > And provide a way to set the seed.
> > 
> Sounds reasonable, I'll look into this. As a side note, as I
> deliberately took inspiration from libxl_cpumap_rand_init() for this,
> should I apply what you just said to that function too?

This code is in gentest.py not libxl proper, it doesn't need a seed in
the ctx nor to use good random numbers, Ian J was mistakenly think this
was actual libxl functionality I think.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:42:45 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:42:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8SC-0005ab-Oe; Thu, 31 May 2012 16:42:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Campbell@citrix.com>) id 1Sa8SB-0005aW-F1
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:42:27 +0000
Received: from [85.158.143.99:44364] by server-3.bemta-4.messagelabs.com id
	0A/74-04252-27F97CF4; Thu, 31 May 2012 16:42:26 +0000
X-Env-Sender: Ian.Campbell@citrix.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1338482544!21129597!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23211 invoked from network); 31 May 2012 16:42:25 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-14.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:42:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12769358"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 16:42:23 +0000
Received: from [10.80.2.42] (10.80.2.42) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 17:42:23 +0100
Message-ID: <1338482542.17466.21.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Dario Faggioli <raistlin@linux.it>
Date: Thu, 31 May 2012 17:42:22 +0100
In-Reply-To: <1338481654.15014.90.camel@Solace>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
	<20423.34837.239698.739317@mariner.uk.xensource.com>
	<1338481654.15014.90.camel@Solace>
Organization: Citrix Systems, Inc.
X-Mailer: Evolution 3.2.2-1 
MIME-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, 2012-05-31 at 17:27 +0100, Dario Faggioli wrote:
> On Thu, 2012-05-31 at 16:02 +0100, Ian Jackson wrote:
> > Dario Faggioli writes ("[PATCH 09 of 11] libxl, xl: enable automatic placement of guests on NUMA nodes"):
> > > If a domain does not have a VCPU affinity, try to pin it automatically
> > > to some PCPUs. This is done taking into account the NUMA characteristics
> > > of the host: we look for a combination of host's NUMA nodes that has enough
> > > free memoy for the new domain, and pin it to the VCPUs of those nodes.
> > > Smaller combinations are considered first, to avoid spreading the
> > > domain's memory among too many nodes.
> > 
> > Thanks for this.  Here are my comments:
> > 
> Thanks to you. :-)
> 
> > > +static void libxl_nodemap_rand_init(libxl_nodemap *nodemap)
> > > +{
> > > +    int i;
> > > +    nodemap->size = rand() % 16;
> > > +    nodemap->map = calloc(nodemap->size, sizeof(*nodemap->map));
> > > +    libxl_for_each_node(i, *nodemap) {
> > > +        if (rand() % 2)
> > > +            libxl_nodemap_set(nodemap, i);
> > > +        else
> > > +            libxl_nodemap_reset(nodemap, i);
> > > +    }
> > > +}
> > 
> > For your random number generation, please use nrand48, with a seed in
> > the libxl ctx.  (This means you'll need to take out the ctx lock.)
> > And provide a way to set the seed.
> > 
> Sounds reasonable, I'll look into this. As a side note, as I
> deliberately took inspiration from libxl_cpumap_rand_init() for this,
> should I apply what you just said to that function too?

This code is in gentest.py not libxl proper, it doesn't need a seed in
the ctx nor to use good random numbers, Ian J was mistakenly think this
was actual libxl functionality I think.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TD-0005ge-NC; Thu, 31 May 2012 16:43:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8TC-0005em-6G
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:30 +0000
Received: from [85.158.138.51:35492] by server-8.bemta-3.messagelabs.com id
	FD/DE-01456-0BF97CF4; Thu, 31 May 2012 16:43:28 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338482606!11501605!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16608 invoked from network); 31 May 2012 16:43:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072731"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:24 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002hG-UF; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T5-0003hC-LX;
	Thu, 31 May 2012 17:43:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: d12d5fcf152bffda41de51f9919b3211d69f955b
Message-ID: <d12d5fcf152bffda41de.1338482404@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:04 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 6 of 6] arm: Enable VFP at boot
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID d12d5fcf152bffda41de51f9919b3211d69f955b
# Parent  9570c43c07f397d8d4a8e725698c17c10c034d80
arm: Enable VFP at boot.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 9570c43c07f3 -r d12d5fcf152b xen/arch/arm/Rules.mk
--- a/xen/arch/arm/Rules.mk	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/Rules.mk	Thu May 31 17:35:27 2012 +0100
@@ -24,7 +24,7 @@ ifneq ($(call cc-option,$(CC),-fvisibili
 CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
 endif
 
-CFLAGS += -march=armv7-a -mcpu=cortex-a15
+CFLAGS += -march=armv7-a -mcpu=cortex-a15 -mfpu=vfpv3 -mfloat-abi=softfp
 
 # Require GCC v3.4+ (to avoid issues with alignment constraints in Xen headers)
 check-$(gcc) = $(call cc-ver-check,CC,0x030400,"Xen requires at least gcc-3.4")
diff -r 9570c43c07f3 -r d12d5fcf152b xen/arch/arm/setup.c
--- a/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
@@ -36,6 +36,7 @@
 #include <asm/page.h>
 #include <asm/current.h>
 #include <asm/setup.h>
+#include <asm/vfp.h>
 #include "gic.h"
 
 static __attribute_used__ void init_done(void)
@@ -192,6 +193,8 @@ void __init start_xen(unsigned long boot
 
     processor_id();
 
+    enable_vfp();
+
     softirq_init();
 
     tasklet_subsys_init();
diff -r 9570c43c07f3 -r d12d5fcf152b xen/arch/arm/smpboot.c
--- a/xen/arch/arm/smpboot.c	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/smpboot.c	Thu May 31 17:35:27 2012 +0100
@@ -26,6 +26,7 @@
 #include <xen/sched.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <asm/vfp.h>
 #include "gic.h"
 
 cpumask_t cpu_online_map;
@@ -106,6 +107,8 @@ void __cpuinit start_secondary(unsigned 
     WRITE_CP32((uint32_t) hyp_traps_vector, HVBAR);
 
     mmu_init_secondary_cpu();
+    enable_vfp();
+
     gic_init_secondary_cpu();
     init_timer_interrupt();
     gic_route_irqs();
diff -r 9570c43c07f3 -r d12d5fcf152b xen/include/asm-arm/vfp.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/include/asm-arm/vfp.h	Thu May 31 17:35:27 2012 +0100
@@ -0,0 +1,35 @@
+#ifndef __ARM_VFP_H_
+#define __ARM_VFP_H_
+
+#include <xen/types.h>
+
+#define FPEXC_EN (1u << 30)
+
+/* Save and restore FP state.
+ * Ought to be using the new vmrs/vmsr names, but older binutils has a
+ * bug where it only allows them to target fpscr (and not, say, fpexc). */
+#define READ_FP(reg) ({                                 \
+    uint32_t val;                                       \
+    asm volatile ("fmrx %0, fp" #reg : "=r" (val));     \
+    val; })
+
+#define WRITE_FP(reg, val) do {                         \
+    asm volatile ("fmxr fp" #reg ", %0" : : "r" (val)); \
+} while (0)
+
+
+/* Start-of-day: Turn on VFP */
+static inline void enable_vfp(void)
+{
+    WRITE_FP(exc, READ_FP(exc) | FPEXC_EN);
+}
+
+#endif
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TD-0005ge-NC; Thu, 31 May 2012 16:43:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8TC-0005em-6G
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:30 +0000
Received: from [85.158.138.51:35492] by server-8.bemta-3.messagelabs.com id
	FD/DE-01456-0BF97CF4; Thu, 31 May 2012 16:43:28 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-13.tower-174.messagelabs.com!1338482606!11501605!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16608 invoked from network); 31 May 2012 16:43:27 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-13.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:27 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072731"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:24 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002hG-UF; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T5-0003hC-LX;
	Thu, 31 May 2012 17:43:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: d12d5fcf152bffda41de51f9919b3211d69f955b
Message-ID: <d12d5fcf152bffda41de.1338482404@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:04 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 6 of 6] arm: Enable VFP at boot
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID d12d5fcf152bffda41de51f9919b3211d69f955b
# Parent  9570c43c07f397d8d4a8e725698c17c10c034d80
arm: Enable VFP at boot.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 9570c43c07f3 -r d12d5fcf152b xen/arch/arm/Rules.mk
--- a/xen/arch/arm/Rules.mk	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/Rules.mk	Thu May 31 17:35:27 2012 +0100
@@ -24,7 +24,7 @@ ifneq ($(call cc-option,$(CC),-fvisibili
 CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
 endif
 
-CFLAGS += -march=armv7-a -mcpu=cortex-a15
+CFLAGS += -march=armv7-a -mcpu=cortex-a15 -mfpu=vfpv3 -mfloat-abi=softfp
 
 # Require GCC v3.4+ (to avoid issues with alignment constraints in Xen headers)
 check-$(gcc) = $(call cc-ver-check,CC,0x030400,"Xen requires at least gcc-3.4")
diff -r 9570c43c07f3 -r d12d5fcf152b xen/arch/arm/setup.c
--- a/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
@@ -36,6 +36,7 @@
 #include <asm/page.h>
 #include <asm/current.h>
 #include <asm/setup.h>
+#include <asm/vfp.h>
 #include "gic.h"
 
 static __attribute_used__ void init_done(void)
@@ -192,6 +193,8 @@ void __init start_xen(unsigned long boot
 
     processor_id();
 
+    enable_vfp();
+
     softirq_init();
 
     tasklet_subsys_init();
diff -r 9570c43c07f3 -r d12d5fcf152b xen/arch/arm/smpboot.c
--- a/xen/arch/arm/smpboot.c	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/smpboot.c	Thu May 31 17:35:27 2012 +0100
@@ -26,6 +26,7 @@
 #include <xen/sched.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <asm/vfp.h>
 #include "gic.h"
 
 cpumask_t cpu_online_map;
@@ -106,6 +107,8 @@ void __cpuinit start_secondary(unsigned 
     WRITE_CP32((uint32_t) hyp_traps_vector, HVBAR);
 
     mmu_init_secondary_cpu();
+    enable_vfp();
+
     gic_init_secondary_cpu();
     init_timer_interrupt();
     gic_route_irqs();
diff -r 9570c43c07f3 -r d12d5fcf152b xen/include/asm-arm/vfp.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/include/asm-arm/vfp.h	Thu May 31 17:35:27 2012 +0100
@@ -0,0 +1,35 @@
+#ifndef __ARM_VFP_H_
+#define __ARM_VFP_H_
+
+#include <xen/types.h>
+
+#define FPEXC_EN (1u << 30)
+
+/* Save and restore FP state.
+ * Ought to be using the new vmrs/vmsr names, but older binutils has a
+ * bug where it only allows them to target fpscr (and not, say, fpexc). */
+#define READ_FP(reg) ({                                 \
+    uint32_t val;                                       \
+    asm volatile ("fmrx %0, fp" #reg : "=r" (val));     \
+    val; })
+
+#define WRITE_FP(reg, val) do {                         \
+    asm volatile ("fmxr fp" #reg ", %0" : : "r" (val)); \
+} while (0)
+
+
+/* Start-of-day: Turn on VFP */
+static inline void enable_vfp(void)
+{
+    WRITE_FP(exc, READ_FP(exc) | FPEXC_EN);
+}
+
+#endif
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TC-0005ft-B1; Thu, 31 May 2012 16:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e0-WF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:28 +0000
Received: from [85.158.143.35:38682] by server-1.bemta-4.messagelabs.com id
	71/F4-27869-FAF97CF4; Thu, 31 May 2012 16:43:27 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482604!7308178!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1071 invoked from network); 31 May 2012 16:43:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072729"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002hA-Cb; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T5-0003h4-42;
	Thu, 31 May 2012 17:43:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: 89f363564aa68dcb78d3aedd6a0b24f9bb1ffc13
Message-ID: <89f363564aa68dcb78d3.1338482402@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:02 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 4 of 6] arm: missing __init annotation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 89f363564aa68dcb78d3aedd6a0b24f9bb1ffc13
# Parent  8656509f24ea8b17d1c2dabd67c710662f66d17f
arm: missing __init annotation

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 8656509f24ea -r 89f363564aa6 xen/arch/arm/setup.c
--- a/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
@@ -51,7 +51,7 @@ static void __init init_idle_domain(void
         /* TODO: setup_idle_pagetable(); */
 }
 
-static void processor_id(void)
+static void __init processor_id(void)
 {
     printk("Processor Features: %08x %08x\n",
            READ_CP32(ID_PFR0), READ_CP32(ID_PFR0));

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TB-0005f0-Bw; Thu, 31 May 2012 16:43:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e7-2u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.143.35:38614] by server-2.bemta-4.messagelabs.com id
	B1/95-11595-EAF97CF4; Thu, 31 May 2012 16:43:26 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482603!7308173!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1013 invoked from network); 31 May 2012 16:43:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26394917"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002h7-3p; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003h0-Ra;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
X-Mercurial-Node: 8656509f24ea8b17d1c2dabd67c710662f66d17f
Message-ID: <8656509f24ea8b17d1c2.1338482401@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:01 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 3 of 6] arm: avoid memory write in switch to Hyp
	mode
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 8656509f24ea8b17d1c2dabd67c710662f66d17f
# Parent  05447f395c91029fb732142e36788cfa92374045
arm: avoid memory write in switch to Hyp mode.

Assemble the new CPSR in registers instead.  It's slightly cleaner,
And makes it possible to have a read-only text section.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 05447f395c91 -r 8656509f24ea xen/arch/arm/mode_switch.S
--- a/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
@@ -66,11 +66,7 @@ enter_hyp_mode:
 	mcr   CP32(r0, FCSEIDR)
 	mcr   CP32(r0, CONTEXTIDR)
 	/* FIXME: ought to reset some other NS control regs here */
-	adr   r1, 1f                 /* Store return address */
-	str   r3, [r1]               /* where we can use it for RFE */
-	isb                          /* Ensure we see the stored address */
-	rfeia r1                     /* Enter Hyp mode */
-
-1:	.word 0                      /* PC to enter Hyp mode at */
-	.word 0x000001da             /* CPSR: LE, Abort/IRQ/FIQ off, Hyp */
-
+	mrs   r0, cpsr               /* Copy the CPSR */
+	add   r0, r0, #0x4           /* 0x16 (Monitor) -> 0x1a (Hyp) */
+	msr   spsr_cxsf, r0          /* into the SPSR */
+	movs  pc, r3                 /* Exception-return into Hyp mode */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TC-0005ft-B1; Thu, 31 May 2012 16:43:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e0-WF
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:28 +0000
Received: from [85.158.143.35:38682] by server-1.bemta-4.messagelabs.com id
	71/F4-27869-FAF97CF4; Thu, 31 May 2012 16:43:27 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482604!7308178!3
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1071 invoked from network); 31 May 2012 16:43:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072729"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002hA-Cb; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T5-0003h4-42;
	Thu, 31 May 2012 17:43:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: 89f363564aa68dcb78d3aedd6a0b24f9bb1ffc13
Message-ID: <89f363564aa68dcb78d3.1338482402@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:02 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 4 of 6] arm: missing __init annotation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 89f363564aa68dcb78d3aedd6a0b24f9bb1ffc13
# Parent  8656509f24ea8b17d1c2dabd67c710662f66d17f
arm: missing __init annotation

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 8656509f24ea -r 89f363564aa6 xen/arch/arm/setup.c
--- a/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/setup.c	Thu May 31 17:35:27 2012 +0100
@@ -51,7 +51,7 @@ static void __init init_idle_domain(void
         /* TODO: setup_idle_pagetable(); */
 }
 
-static void processor_id(void)
+static void __init processor_id(void)
 {
     printk("Processor Features: %08x %08x\n",
            READ_CP32(ID_PFR0), READ_CP32(ID_PFR0));

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:39 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TB-0005f0-Bw; Thu, 31 May 2012 16:43:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e7-2u
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.143.35:38614] by server-2.bemta-4.messagelabs.com id
	B1/95-11595-EAF97CF4; Thu, 31 May 2012 16:43:26 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482603!7308173!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1013 invoked from network); 31 May 2012 16:43:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26394917"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002h7-3p; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003h0-Ra;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
X-Mercurial-Node: 8656509f24ea8b17d1c2dabd67c710662f66d17f
Message-ID: <8656509f24ea8b17d1c2.1338482401@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:01 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 3 of 6] arm: avoid memory write in switch to Hyp
	mode
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 8656509f24ea8b17d1c2dabd67c710662f66d17f
# Parent  05447f395c91029fb732142e36788cfa92374045
arm: avoid memory write in switch to Hyp mode.

Assemble the new CPSR in registers instead.  It's slightly cleaner,
And makes it possible to have a read-only text section.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 05447f395c91 -r 8656509f24ea xen/arch/arm/mode_switch.S
--- a/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
@@ -66,11 +66,7 @@ enter_hyp_mode:
 	mcr   CP32(r0, FCSEIDR)
 	mcr   CP32(r0, CONTEXTIDR)
 	/* FIXME: ought to reset some other NS control regs here */
-	adr   r1, 1f                 /* Store return address */
-	str   r3, [r1]               /* where we can use it for RFE */
-	isb                          /* Ensure we see the stored address */
-	rfeia r1                     /* Enter Hyp mode */
-
-1:	.word 0                      /* PC to enter Hyp mode at */
-	.word 0x000001da             /* CPSR: LE, Abort/IRQ/FIQ off, Hyp */
-
+	mrs   r0, cpsr               /* Copy the CPSR */
+	add   r0, r0, #0x4           /* 0x16 (Monitor) -> 0x1a (Hyp) */
+	msr   spsr_cxsf, r0          /* into the SPSR */
+	movs  pc, r3                 /* Exception-return into Hyp mode */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TA-0005ei-I4; Thu, 31 May 2012 16:43:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e9-1G
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.143.35:38608] by server-3.bemta-4.messagelabs.com id
	24/06-04252-EAF97CF4; Thu, 31 May 2012 16:43:26 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482604!7308178!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1026 invoked from network); 31 May 2012 16:43:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072725"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:22 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:22 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T4-0002gy-A5; Thu, 31 May 2012 17:43:22 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003gp-0w;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:39:58 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 6] ARM: various boot-time tidying
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These patches tinker with the ARM boot a little bit.  They shouldn't
clash with any of the other ARM work going on, since they only touch
very early code.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TA-0005ei-I4; Thu, 31 May 2012 16:43:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e9-1G
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.143.35:38608] by server-3.bemta-4.messagelabs.com id
	24/06-04252-EAF97CF4; Thu, 31 May 2012 16:43:26 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482604!7308178!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1026 invoked from network); 31 May 2012 16:43:25 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072725"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:22 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:22 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T4-0002gy-A5; Thu, 31 May 2012 17:43:22 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003gp-0w;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
Message-ID: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:39:58 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 0 of 6] ARM: various boot-time tidying
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

These patches tinker with the ARM boot a little bit.  They shouldn't
clash with any of the other ARM work going on, since they only touch
very early code.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TB-0005fT-Uo; Thu, 31 May 2012 16:43:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e0-Em
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.143.35:38657] by server-1.bemta-4.messagelabs.com id
	AD/E4-27869-FAF97CF4; Thu, 31 May 2012 16:43:27 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482604!7308178!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1057 invoked from network); 31 May 2012 16:43:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072727"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T4-0002h4-RN; Thu, 31 May 2012 17:43:22 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003gw-J0;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
X-Mercurial-Node: 05447f395c91029fb732142e36788cfa92374045
Message-ID: <05447f395c91029fb732.1338482400@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:00 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 6] arm: Move hyp-mode entry code out of line
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 05447f395c91029fb732142e36788cfa92374045
# Parent  25d389d891c5a2a3009258ef7261379a9ad97746
arm: Move hyp-mode entry code out of line.

This code is grottier than the rest of the start-of-day code and
very specific to the software model we're developing on.
Segregate it accordingly, by putting it in its own file.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 25d389d891c5 -r 05447f395c91 xen/arch/arm/Makefile
--- a/xen/arch/arm/Makefile	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/Makefile	Thu May 31 17:35:27 2012 +0100
@@ -12,6 +12,7 @@ obj-y += io.o
 obj-y += irq.o
 obj-y += kernel.o
 obj-y += mm.o
+obj-y += mode_switch.o
 obj-y += p2m.o
 obj-y += percpu.o
 obj-y += guestcopy.o
diff -r 25d389d891c5 -r 05447f395c91 xen/arch/arm/head.S
--- a/xen/arch/arm/head.S	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/head.S	Thu May 31 17:35:27 2012 +0100
@@ -122,50 +122,9 @@ 1:
 1:
 	/* OK, we're in Secure state. */
 	PRINT("- Started in Secure state -\r\n- Entering Hyp mode -\r\n")
-
-	/* Dance into Hyp mode */
-	cpsid aif, #0x16             /* Enter Monitor mode */
-	mrc   CP32(r0, SCR)
-	orr   r0, r0, #0x100         /* Set HCE */
-	orr   r0, r0, #0xb1          /* Set SCD, AW, FW and NS */
-	bic   r0, r0, #0xe           /* Clear EA, FIQ and IRQ */
-	mcr   CP32(r0, SCR)
-	/* Ugly: the system timer's frequency register is only
-	 * programmable in Secure state.  Since we don't know where its
-	 * memory-mapped control registers live, we can't find out the
-	 * right frequency.  Use the VE model's default frequency here. */
-	ldr   r0, =0x5f5e100         /* 100 MHz */
-	mcr   CP32(r0, CNTFRQ)
-	ldr   r0, =0x40c00           /* SMP, c11, c10 in non-secure mode */
-	mcr   CP32(r0, NSACR)
-	/* Continuing ugliness: Set up the GIC so NS state owns interrupts */
-	mov   r0, #GIC_BASE_ADDRESS
-	add   r0, r0, #GIC_DR_OFFSET
-	mov   r1, #0
-	str   r1, [r0]               /* Disable delivery in the distributor */
-	add   r0, r0, #0x80          /* GICD_IGROUP0 */
-	mov   r2, #0xffffffff        /* All interrupts to group 1 */
-	str   r2, [r0]
-	str   r2, [r0, #4]
-	str   r2, [r0, #8]
-	/* Must drop priority mask below 0x80 before entering NS state */
-	mov   r0, #GIC_BASE_ADDRESS
-	add   r0, r0, #GIC_CR_OFFSET
-	ldr   r1, =0xff
-	str   r1, [r0, #0x4]         /* -> GICC_PMR */
-	/* Reset a few config registers */
-	mov   r0, #0
-	mcr   CP32(r0, FCSEIDR)
-	mcr   CP32(r0, CONTEXTIDR)
-	/* FIXME: ought to reset some other NS control regs here */
-	adr   r1, 1f
-	adr   r0, hyp                /* Store paddr (hyp entry point) */
-	str   r0, [r1]               /* where we can use it for RFE */
-	isb                          /* Ensure we see the stored target address */
-	rfeia r1                     /* Enter Hyp mode */
-
-1:	.word 0                      /* PC to enter Hyp mode at */
-	.word 0x000001da             /* CPSR: LE, Abort/IRQ/FIQ off, Hyp */
+	ldr   r0, =enter_hyp_mode    /* VA of function */
+	adr   lr, hyp                /* Set return address for call */
+	add   pc, r0, r10            /* Call PA of function */
 
 hyp:
 	PRINT("- Setting up control registers -\r\n")
diff -r 25d389d891c5 -r 05447f395c91 xen/arch/arm/mode_switch.S
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
@@ -0,0 +1,76 @@
+/*
+ * xen/arch/arm/mode_switch.S
+ *
+ * Start-of day code to take a CPU from Secure mode to Hyp mode.
+ *
+ * Tim Deegan <tim@xen.org>
+ * Copyright (c) 2011-2012 Citrix Systems.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <asm/config.h>
+#include <asm/page.h>
+#include <asm/asm_defns.h>
+
+/* Get up a CPU into Hyp mode.  Clobbers r0-r3.
+ *
+ * This code is specific to the VE model, and not intended to be used
+ * on production systems.  As such it's a bit hackier than the main
+ * boot code in head.S.  In future it will be replaced by better
+ * integration with the bootloader/firmware so that Xen always starts
+ * in Hyp mode. */
+
+.globl enter_hyp_mode
+enter_hyp_mode:
+	mov   r3, lr                 /* Put return address in non-banked reg */
+	cpsid aif, #0x16             /* Enter Monitor mode */
+	mrc   CP32(r0, SCR)
+	orr   r0, r0, #0x100         /* Set HCE */
+	orr   r0, r0, #0xb1          /* Set SCD, AW, FW and NS */
+	bic   r0, r0, #0xe           /* Clear EA, FIQ and IRQ */
+	mcr   CP32(r0, SCR)
+	/* Ugly: the system timer's frequency register is only
+	 * programmable in Secure state.  Since we don't know where its
+	 * memory-mapped control registers live, we can't find out the
+	 * right frequency.  Use the VE model's default frequency here. */
+	ldr   r0, =0x5f5e100         /* 100 MHz */
+	mcr   CP32(r0, CNTFRQ)
+	ldr   r0, =0x40c00           /* SMP, c11, c10 in non-secure mode */
+	mcr   CP32(r0, NSACR)
+	/* Continuing ugliness: Set up the GIC so NS state owns interrupts */
+	mov   r0, #GIC_BASE_ADDRESS
+	add   r0, r0, #GIC_DR_OFFSET
+	mov   r1, #0
+	str   r1, [r0]               /* Disable delivery in the distributor */
+	add   r0, r0, #0x80          /* GICD_IGROUP0 */
+	mov   r2, #0xffffffff        /* All interrupts to group 1 */
+	str   r2, [r0]
+	str   r2, [r0, #4]
+	str   r2, [r0, #8]
+	/* Must drop priority mask below 0x80 before entering NS state */
+	mov   r0, #GIC_BASE_ADDRESS
+	add   r0, r0, #GIC_CR_OFFSET
+	ldr   r1, =0xff
+	str   r1, [r0, #0x4]         /* -> GICC_PMR */
+	/* Reset a few config registers */
+	mov   r0, #0
+	mcr   CP32(r0, FCSEIDR)
+	mcr   CP32(r0, CONTEXTIDR)
+	/* FIXME: ought to reset some other NS control regs here */
+	adr   r1, 1f                 /* Store return address */
+	str   r3, [r1]               /* where we can use it for RFE */
+	isb                          /* Ensure we see the stored address */
+	rfeia r1                     /* Enter Hyp mode */
+
+1:	.word 0                      /* PC to enter Hyp mode at */
+	.word 0x000001da             /* CPSR: LE, Abort/IRQ/FIQ off, Hyp */
+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TA-0005et-Vw; Thu, 31 May 2012 16:43:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e8-2R
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.139.83:48099] by server-10.bemta-5.messagelabs.com id
	77/A9-22179-EAF97CF4; Thu, 31 May 2012 16:43:26 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338482604!24086478!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10787 invoked from network); 31 May 2012 16:43:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26394919"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:24 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002hD-LC; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T5-0003h8-Cw;
	Thu, 31 May 2012 17:43:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9570c43c07f397d8d4a8e725698c17c10c034d80
Message-ID: <9570c43c07f397d8d4a8.1338482403@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:03 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 5 of 6] arm: allow ourselves access to all
 coprocessors in non-secure mode
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 9570c43c07f397d8d4a8e725698c17c10c034d80
# Parent  89f363564aa68dcb78d3aedd6a0b24f9bb1ffc13
arm: allow ourselves access to all coprocessors in non-secure mode

We'll need it to be able top use the VFP extensions, for example.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 89f363564aa6 -r 9570c43c07f3 xen/arch/arm/mode_switch.S
--- a/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
@@ -65,7 +65,10 @@ enter_hyp_mode:
 	mov   r0, #0
 	mcr   CP32(r0, FCSEIDR)
 	mcr   CP32(r0, CONTEXTIDR)
-	/* FIXME: ought to reset some other NS control regs here */
+	/* Allow non-secure access to coprocessors, FIQs, VFP and NEON */
+	ldr   r1, =0x3fff            /* 14 CP bits set, all others clear */
+	mcr   CP32(r1, NSACR)
+
 	mrs   r0, cpsr               /* Copy the CPSR */
 	add   r0, r0, #0x4           /* 0x16 (Monitor) -> 0x1a (Hyp) */
 	msr   spsr_cxsf, r0          /* into the SPSR */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TA-0005et-Vw; Thu, 31 May 2012 16:43:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e8-2R
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.139.83:48099] by server-10.bemta-5.messagelabs.com id
	77/A9-22179-EAF97CF4; Thu, 31 May 2012 16:43:26 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338482604!24086478!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10787 invoked from network); 31 May 2012 16:43:25 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-16.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:25 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26394919"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:24 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:24 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T5-0002hD-LC; Thu, 31 May 2012 17:43:23 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T5-0003h8-Cw;
	Thu, 31 May 2012 17:43:23 +0100
MIME-Version: 1.0
X-Mercurial-Node: 9570c43c07f397d8d4a8e725698c17c10c034d80
Message-ID: <9570c43c07f397d8d4a8.1338482403@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:03 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 5 of 6] arm: allow ourselves access to all
 coprocessors in non-secure mode
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 9570c43c07f397d8d4a8e725698c17c10c034d80
# Parent  89f363564aa68dcb78d3aedd6a0b24f9bb1ffc13
arm: allow ourselves access to all coprocessors in non-secure mode

We'll need it to be able top use the VFP extensions, for example.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 89f363564aa6 -r 9570c43c07f3 xen/arch/arm/mode_switch.S
--- a/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
@@ -65,7 +65,10 @@ enter_hyp_mode:
 	mov   r0, #0
 	mcr   CP32(r0, FCSEIDR)
 	mcr   CP32(r0, CONTEXTIDR)
-	/* FIXME: ought to reset some other NS control regs here */
+	/* Allow non-secure access to coprocessors, FIQs, VFP and NEON */
+	ldr   r1, =0x3fff            /* 14 CP bits set, all others clear */
+	mcr   CP32(r1, NSACR)
+
 	mrs   r0, cpsr               /* Copy the CPSR */
 	add   r0, r0, #0x4           /* 0x16 (Monitor) -> 0x1a (Hyp) */
 	msr   spsr_cxsf, r0          /* into the SPSR */

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TB-0005fT-Uo; Thu, 31 May 2012 16:43:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T9-0005e0-Em
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:27 +0000
Received: from [85.158.143.35:38657] by server-1.bemta-4.messagelabs.com id
	AD/E4-27869-FAF97CF4; Thu, 31 May 2012 16:43:27 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482604!7308178!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyNTY0MDE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1057 invoked from network); 31 May 2012 16:43:26 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:26 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="197072727"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T4-0002h4-RN; Thu, 31 May 2012 17:43:22 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003gw-J0;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
X-Mercurial-Node: 05447f395c91029fb732142e36788cfa92374045
Message-ID: <05447f395c91029fb732.1338482400@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:40:00 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 2 of 6] arm: Move hyp-mode entry code out of line
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 05447f395c91029fb732142e36788cfa92374045
# Parent  25d389d891c5a2a3009258ef7261379a9ad97746
arm: Move hyp-mode entry code out of line.

This code is grottier than the rest of the start-of-day code and
very specific to the software model we're developing on.
Segregate it accordingly, by putting it in its own file.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r 25d389d891c5 -r 05447f395c91 xen/arch/arm/Makefile
--- a/xen/arch/arm/Makefile	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/Makefile	Thu May 31 17:35:27 2012 +0100
@@ -12,6 +12,7 @@ obj-y += io.o
 obj-y += irq.o
 obj-y += kernel.o
 obj-y += mm.o
+obj-y += mode_switch.o
 obj-y += p2m.o
 obj-y += percpu.o
 obj-y += guestcopy.o
diff -r 25d389d891c5 -r 05447f395c91 xen/arch/arm/head.S
--- a/xen/arch/arm/head.S	Thu May 31 17:35:27 2012 +0100
+++ b/xen/arch/arm/head.S	Thu May 31 17:35:27 2012 +0100
@@ -122,50 +122,9 @@ 1:
 1:
 	/* OK, we're in Secure state. */
 	PRINT("- Started in Secure state -\r\n- Entering Hyp mode -\r\n")
-
-	/* Dance into Hyp mode */
-	cpsid aif, #0x16             /* Enter Monitor mode */
-	mrc   CP32(r0, SCR)
-	orr   r0, r0, #0x100         /* Set HCE */
-	orr   r0, r0, #0xb1          /* Set SCD, AW, FW and NS */
-	bic   r0, r0, #0xe           /* Clear EA, FIQ and IRQ */
-	mcr   CP32(r0, SCR)
-	/* Ugly: the system timer's frequency register is only
-	 * programmable in Secure state.  Since we don't know where its
-	 * memory-mapped control registers live, we can't find out the
-	 * right frequency.  Use the VE model's default frequency here. */
-	ldr   r0, =0x5f5e100         /* 100 MHz */
-	mcr   CP32(r0, CNTFRQ)
-	ldr   r0, =0x40c00           /* SMP, c11, c10 in non-secure mode */
-	mcr   CP32(r0, NSACR)
-	/* Continuing ugliness: Set up the GIC so NS state owns interrupts */
-	mov   r0, #GIC_BASE_ADDRESS
-	add   r0, r0, #GIC_DR_OFFSET
-	mov   r1, #0
-	str   r1, [r0]               /* Disable delivery in the distributor */
-	add   r0, r0, #0x80          /* GICD_IGROUP0 */
-	mov   r2, #0xffffffff        /* All interrupts to group 1 */
-	str   r2, [r0]
-	str   r2, [r0, #4]
-	str   r2, [r0, #8]
-	/* Must drop priority mask below 0x80 before entering NS state */
-	mov   r0, #GIC_BASE_ADDRESS
-	add   r0, r0, #GIC_CR_OFFSET
-	ldr   r1, =0xff
-	str   r1, [r0, #0x4]         /* -> GICC_PMR */
-	/* Reset a few config registers */
-	mov   r0, #0
-	mcr   CP32(r0, FCSEIDR)
-	mcr   CP32(r0, CONTEXTIDR)
-	/* FIXME: ought to reset some other NS control regs here */
-	adr   r1, 1f
-	adr   r0, hyp                /* Store paddr (hyp entry point) */
-	str   r0, [r1]               /* where we can use it for RFE */
-	isb                          /* Ensure we see the stored target address */
-	rfeia r1                     /* Enter Hyp mode */
-
-1:	.word 0                      /* PC to enter Hyp mode at */
-	.word 0x000001da             /* CPSR: LE, Abort/IRQ/FIQ off, Hyp */
+	ldr   r0, =enter_hyp_mode    /* VA of function */
+	adr   lr, hyp                /* Set return address for call */
+	add   pc, r0, r10            /* Call PA of function */
 
 hyp:
 	PRINT("- Setting up control registers -\r\n")
diff -r 25d389d891c5 -r 05447f395c91 xen/arch/arm/mode_switch.S
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/arch/arm/mode_switch.S	Thu May 31 17:35:27 2012 +0100
@@ -0,0 +1,76 @@
+/*
+ * xen/arch/arm/mode_switch.S
+ *
+ * Start-of day code to take a CPU from Secure mode to Hyp mode.
+ *
+ * Tim Deegan <tim@xen.org>
+ * Copyright (c) 2011-2012 Citrix Systems.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <asm/config.h>
+#include <asm/page.h>
+#include <asm/asm_defns.h>
+
+/* Get up a CPU into Hyp mode.  Clobbers r0-r3.
+ *
+ * This code is specific to the VE model, and not intended to be used
+ * on production systems.  As such it's a bit hackier than the main
+ * boot code in head.S.  In future it will be replaced by better
+ * integration with the bootloader/firmware so that Xen always starts
+ * in Hyp mode. */
+
+.globl enter_hyp_mode
+enter_hyp_mode:
+	mov   r3, lr                 /* Put return address in non-banked reg */
+	cpsid aif, #0x16             /* Enter Monitor mode */
+	mrc   CP32(r0, SCR)
+	orr   r0, r0, #0x100         /* Set HCE */
+	orr   r0, r0, #0xb1          /* Set SCD, AW, FW and NS */
+	bic   r0, r0, #0xe           /* Clear EA, FIQ and IRQ */
+	mcr   CP32(r0, SCR)
+	/* Ugly: the system timer's frequency register is only
+	 * programmable in Secure state.  Since we don't know where its
+	 * memory-mapped control registers live, we can't find out the
+	 * right frequency.  Use the VE model's default frequency here. */
+	ldr   r0, =0x5f5e100         /* 100 MHz */
+	mcr   CP32(r0, CNTFRQ)
+	ldr   r0, =0x40c00           /* SMP, c11, c10 in non-secure mode */
+	mcr   CP32(r0, NSACR)
+	/* Continuing ugliness: Set up the GIC so NS state owns interrupts */
+	mov   r0, #GIC_BASE_ADDRESS
+	add   r0, r0, #GIC_DR_OFFSET
+	mov   r1, #0
+	str   r1, [r0]               /* Disable delivery in the distributor */
+	add   r0, r0, #0x80          /* GICD_IGROUP0 */
+	mov   r2, #0xffffffff        /* All interrupts to group 1 */
+	str   r2, [r0]
+	str   r2, [r0, #4]
+	str   r2, [r0, #8]
+	/* Must drop priority mask below 0x80 before entering NS state */
+	mov   r0, #GIC_BASE_ADDRESS
+	add   r0, r0, #GIC_CR_OFFSET
+	ldr   r1, =0xff
+	str   r1, [r0, #0x4]         /* -> GICC_PMR */
+	/* Reset a few config registers */
+	mov   r0, #0
+	mcr   CP32(r0, FCSEIDR)
+	mcr   CP32(r0, CONTEXTIDR)
+	/* FIXME: ought to reset some other NS control regs here */
+	adr   r1, 1f                 /* Store return address */
+	str   r3, [r1]               /* where we can use it for RFE */
+	isb                          /* Ensure we see the stored address */
+	rfeia r1                     /* Enter Hyp mode */
+
+1:	.word 0                      /* PC to enter Hyp mode at */
+	.word 0x000001da             /* CPSR: LE, Abort/IRQ/FIQ off, Hyp */
+

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TA-0005eZ-6g; Thu, 31 May 2012 16:43:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T8-0005e0-Bw
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:26 +0000
Received: from [85.158.143.35:38572] by server-1.bemta-4.messagelabs.com id
	A1/E4-27869-DAF97CF4; Thu, 31 May 2012 16:43:25 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482603!7308173!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 955 invoked from network); 31 May 2012 16:43:24 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26394915"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T4-0002h1-Ik; Thu, 31 May 2012 17:43:22 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003gs-9h;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
X-Mercurial-Node: 25d389d891c5a2a3009258ef7261379a9ad97746
Message-ID: <25d389d891c5a2a30092.1338482399@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:39:59 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 6] arm: More interrupt setup at
 start-of-day for secondary CPUs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 25d389d891c5a2a3009258ef7261379a9ad97746
# Parent  d7318231cfe3498947bf75f09d6675407d7b4e76
arm: More interrupt setup at start-of-day for secondary CPUs.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r d7318231cfe3 -r 25d389d891c5 xen/arch/arm/smpboot.c
--- a/xen/arch/arm/smpboot.c	Thu May 31 10:18:52 2012 +0200
+++ b/xen/arch/arm/smpboot.c	Thu May 31 17:35:27 2012 +0100
@@ -107,6 +107,8 @@ void __cpuinit start_secondary(unsigned 
 
     mmu_init_secondary_cpu();
     gic_init_secondary_cpu();
+    init_timer_interrupt();
+    gic_route_irqs();
 
     set_current(idle_vcpu[cpuid]);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:43:40 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8TA-0005eZ-6g; Thu, 31 May 2012 16:43:28 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72) (envelope-from <tim@xen.org>)
	id 1Sa8T8-0005e0-Bw
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:43:26 +0000
Received: from [85.158.143.35:38572] by server-1.bemta-4.messagelabs.com id
	A1/E4-27869-DAF97CF4; Thu, 31 May 2012 16:43:25 +0000
X-Env-Sender: tim@xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338482603!7308173!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 955 invoked from network); 31 May 2012 16:43:24 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:43:24 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26394915"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:43:23 -0400
Received: from ukmail1.uk.xensource.com (10.80.16.128) by smtprelay.citrix.com
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0;
	Thu, 31 May 2012 12:43:23 -0400
Received: from whitby.uk.xensource.com ([10.80.2.60])	by
	ukmail1.uk.xensource.com with esmtp (Exim 4.69)	(envelope-from
	<tim@xen.org>) id 1Sa8T4-0002h1-Ik; Thu, 31 May 2012 17:43:22 +0100
Received: from tdeegan by whitby.uk.xensource.com with local (Exim 4.76)
	(envelope-from <tim@xen.org>)	id 1Sa8T4-0003gs-9h;
	Thu, 31 May 2012 17:43:22 +0100
MIME-Version: 1.0
X-Mercurial-Node: 25d389d891c5a2a3009258ef7261379a9ad97746
Message-ID: <25d389d891c5a2a30092.1338482399@whitby.uk.xensource.com>
In-Reply-To: <patchbomb.1338482398@whitby.uk.xensource.com>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
User-Agent: Mercurial-patchbomb/2.0.1
Date: Thu, 31 May 2012 17:39:59 +0100
From: Tim Deegan <tim@xen.org>
To: xen-devel@lists.xen.org
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com
Subject: [Xen-devel] [PATCH 1 of 6] arm: More interrupt setup at
 start-of-day for secondary CPUs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Tim Deegan <tim@xen.org>
# Date 1338482127 -3600
# Node ID 25d389d891c5a2a3009258ef7261379a9ad97746
# Parent  d7318231cfe3498947bf75f09d6675407d7b4e76
arm: More interrupt setup at start-of-day for secondary CPUs.

Signed-off-by: Tim Deegan <tim@xen.org>

diff -r d7318231cfe3 -r 25d389d891c5 xen/arch/arm/smpboot.c
--- a/xen/arch/arm/smpboot.c	Thu May 31 10:18:52 2012 +0200
+++ b/xen/arch/arm/smpboot.c	Thu May 31 17:35:27 2012 +0100
@@ -107,6 +107,8 @@ void __cpuinit start_secondary(unsigned 
 
     mmu_init_secondary_cpu();
     gic_init_secondary_cpu();
+    init_timer_interrupt();
+    gic_route_irqs();
 
     set_current(idle_vcpu[cpuid]);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:54:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:54:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8e0-0006rI-Tu; Thu, 31 May 2012 16:54:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa8e0-0006rD-Dp
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:54:40 +0000
Received: from [85.158.138.51:49065] by server-3.bemta-3.messagelabs.com id
	DF/45-15793-F42A7CF4; Thu, 31 May 2012 16:54:39 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338483277!21298819!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5056 invoked from network); 31 May 2012 16:54:39 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:54:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26397185"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:54:37 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Thu, 31 May 2012
	12:54:37 -0400
Message-ID: <4FC7A24B.3010506@citrix.com>
Date: Thu, 31 May 2012 17:54:35 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Tim Deegan <tim@xen.org>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
	<05447f395c91029fb732.1338482400@whitby.uk.xensource.com>
In-Reply-To: <05447f395c91029fb732.1338482400@whitby.uk.xensource.com>
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2 of 6] arm: Move hyp-mode entry code out of
 line
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 17:40, Tim Deegan wrote:
> # HG changeset patch
> # User Tim Deegan <tim@xen.org>
> # Date 1338482127 -3600
> # Node ID 05447f395c91029fb732142e36788cfa92374045
> # Parent  25d389d891c5a2a3009258ef7261379a9ad97746
> arm: Move hyp-mode entry code out of line.
> 
> This code is grottier than the rest of the start-of-day code and
> very specific to the software model we're developing on.
> Segregate it accordingly, by putting it in its own file.

I've been vaguely thinking about writing a stub-bootloader to do this
and provide the DTB (instead of having to link it with Xen).  Is this
something that would be useful?

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:54:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:54:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8e0-0006rI-Tu; Thu, 31 May 2012 16:54:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <david.vrabel@citrix.com>) id 1Sa8e0-0006rD-Dp
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:54:40 +0000
Received: from [85.158.138.51:49065] by server-3.bemta-3.messagelabs.com id
	DF/45-15793-F42A7CF4; Thu, 31 May 2012 16:54:39 +0000
X-Env-Sender: david.vrabel@citrix.com
X-Msg-Ref: server-7.tower-174.messagelabs.com!1338483277!21298819!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNDczNjY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5056 invoked from network); 31 May 2012 16:54:39 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-7.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 16:54:39 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330923600"; d="scan'208";a="26397185"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO01.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 12:54:37 -0400
Received: from [10.80.2.76] (10.80.2.76) by FTLPMAILMX02.citrite.net
	(10.13.107.66) with Microsoft SMTP Server id 8.3.213.0; Thu, 31 May 2012
	12:54:37 -0400
Message-ID: <4FC7A24B.3010506@citrix.com>
Date: Thu, 31 May 2012 17:54:35 +0100
From: David Vrabel <david.vrabel@citrix.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.1.16) Gecko/20120428 Icedove/3.0.11
MIME-Version: 1.0
To: Tim Deegan <tim@xen.org>
References: <patchbomb.1338482398@whitby.uk.xensource.com>
	<05447f395c91029fb732.1338482400@whitby.uk.xensource.com>
In-Reply-To: <05447f395c91029fb732.1338482400@whitby.uk.xensource.com>
Cc: stefano.stabellini@citrix.com, ian.campbell@citrix.com,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH 2 of 6] arm: Move hyp-mode entry code out of
 line
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 31/05/12 17:40, Tim Deegan wrote:
> # HG changeset patch
> # User Tim Deegan <tim@xen.org>
> # Date 1338482127 -3600
> # Node ID 05447f395c91029fb732142e36788cfa92374045
> # Parent  25d389d891c5a2a3009258ef7261379a9ad97746
> arm: Move hyp-mode entry code out of line.
> 
> This code is grottier than the rest of the start-of-day code and
> very specific to the software model we're developing on.
> Segregate it accordingly, by putting it in its own file.

I've been vaguely thinking about writing a stub-bootloader to do this
and provide the DTB (instead of having to link it with Xen).  Is this
something that would be useful?

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:55:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8eo-0006ua-BI; Thu, 31 May 2012 16:55:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1Sa8em-0006uQ-N1
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:55:29 +0000
Received: from [85.158.138.51:53769] by server-7.bemta-3.messagelabs.com id
	23/D5-22601-F72A7CF4; Thu, 31 May 2012 16:55:27 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338483326!30273048!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19267 invoked from network); 31 May 2012 16:55:26 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-5.tower-174.messagelabs.com with SMTP;
	31 May 2012 16:55:26 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	709481D9B04; Thu, 31 May 2012 18:55:25 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338483325; bh=/GdSGfAffgAmd0xU2lLWgks3/Ttb4wfC2/ncEQa6PTM=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=o4LU/2cMXPLjh4xORhcHvUWIV3CsH5LIvEDNXF
	qgtY0DVE/mDMQYPLJFcWxxATbEZKn98ftn783hHPsETj9XqYWdXwoNw+wFwJIGW9EiJ
	duIMRxrcpNV+VH8yTprxOWRgAWAuj+uT4dfBbg1/y9j5ytYCbog8wjK3sgW+yAatXo=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id KKf7JFsHyFwf; Thu, 31 May 2012 18:55:25 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Thu, 31 May 2012 18:55:25 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 459CBAA0ED; Thu, 31 May 2012 18:55:23 +0200 (CEST)
Date: Thu, 31 May 2012 18:55:23 +0200
From: Borislav Petkov <bp@alien8.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531165522.GA3834@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Jan Beulich <JBeulich@suse.com>,
	Andre Przywara <andre.przywara@amd.com>,
	Jacob Shin <jacob.shin@amd.com>, mingo@elte.hu, jeremy@goop.org,
	tglx@linutronix.de, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	Yinghai Lu <yinghai@kernel.org>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC73C430200007800087137@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC73C430200007800087137@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu,
	Yinghai Lu <yinghai@kernel.org>, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 08:39:15AM +0100, Jan Beulich wrote:
> >>> On 30.05.12 at 20:17, Borislav Petkov <bp@alien8.de> wrote:
> > On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
> > The other place where we use the amd_safe variants is an obscure K8,
> > revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> > so I'm assuming people haven't run xen on such boxes yet. Does it need
> > fixing? Probably, if we really really have to.
> 
> This again is something that shouldn't even be attempted under
> Xen. The hypervisor, unless really old, does this (and wouldn't
> allow the write by any domain - privileged or not - anyway).
> 
> There's one more user though - the code triggered by the
> "show_msr=" command line option. This one indeed requires
> rdmsr_safe_regs to be functional (albeit under Xen, once
> again, this won't work currently anyway for those MRS on
> old CPUs where the special key in %edi is required, which the
> emulation code in Xen doesn't support).

This doesn't look right. Yinghai, why does generic x86 code use
rdmsrl_amd_safe - it should simply use rdmsrl_safe.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:55:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8eo-0006ua-BI; Thu, 31 May 2012 16:55:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bp@alien8.de>) id 1Sa8em-0006uQ-N1
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 16:55:29 +0000
Received: from [85.158.138.51:53769] by server-7.bemta-3.messagelabs.com id
	23/D5-22601-F72A7CF4; Thu, 31 May 2012 16:55:27 +0000
X-Env-Sender: bp@alien8.de
X-Msg-Ref: server-5.tower-174.messagelabs.com!1338483326!30273048!1
X-Originating-IP: [78.46.96.112]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19267 invoked from network); 31 May 2012 16:55:26 -0000
Received: from mail.skyhub.de (HELO mail.skyhub.de) (78.46.96.112)
	by server-5.tower-174.messagelabs.com with SMTP;
	31 May 2012 16:55:26 -0000
Received: from localhost (localhost [127.0.0.1])
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTP id
	709481D9B04; Thu, 31 May 2012 18:55:25 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8;
	t=1338483325; bh=/GdSGfAffgAmd0xU2lLWgks3/Ttb4wfC2/ncEQa6PTM=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	Content-Type:In-Reply-To; b=o4LU/2cMXPLjh4xORhcHvUWIV3CsH5LIvEDNXF
	qgtY0DVE/mDMQYPLJFcWxxATbEZKn98ftn783hHPsETj9XqYWdXwoNw+wFwJIGW9EiJ
	duIMRxrcpNV+VH8yTprxOWRgAWAuj+uT4dfBbg1/y9j5ytYCbog8wjK3sgW+yAatXo=
X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de
Received: from mail.skyhub.de ([127.0.0.1])
	by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id KKf7JFsHyFwf; Thu, 31 May 2012 18:55:25 +0200 (CEST)
Received: from x1.localdomain (unknown [217.9.48.20])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA;
	Thu, 31 May 2012 18:55:25 +0200 (CEST)
Received: by x1.localdomain (Postfix, from userid 1000)
	id 459CBAA0ED; Thu, 31 May 2012 18:55:23 +0200 (CEST)
Date: Thu, 31 May 2012 18:55:23 +0200
From: Borislav Petkov <bp@alien8.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531165522.GA3834@x1.osrc.amd.com>
Mail-Followup-To: Borislav Petkov <bp@alien8.de>,
	Jan Beulich <JBeulich@suse.com>,
	Andre Przywara <andre.przywara@amd.com>,
	Jacob Shin <jacob.shin@amd.com>, mingo@elte.hu, jeremy@goop.org,
	tglx@linutronix.de, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	Yinghai Lu <yinghai@kernel.org>
References: <20120530144851.GA12184@jshin-Toonie>
	<20120530145005.GI3207@phenom.dumpdata.com>
	<20120530150334.GA13349@jshin-Toonie>
	<20120530171754.GA5115@phenom.dumpdata.com>
	<20120530173247.GC15635@x1.osrc.amd.com>
	<4FC65D34.1060803@zytor.com>
	<20120530175150.GE15438@x1.osrc.amd.com>
	<4FC66037.6020506@zytor.com>
	<20120530181722.GF15438@x1.osrc.amd.com>
	<4FC73C430200007800087137@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC73C430200007800087137@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Andre Przywara <andre.przywara@amd.com>, jeremy@goop.org,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Jacob Shin <jacob.shin@amd.com>, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, mingo@elte.hu,
	Yinghai Lu <yinghai@kernel.org>, tglx@linutronix.de
Subject: Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMD
 Trinity systems
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 08:39:15AM +0100, Jan Beulich wrote:
> >>> On 30.05.12 at 20:17, Borislav Petkov <bp@alien8.de> wrote:
> > On Wed, May 30, 2012 at 11:00:23AM -0700, H. Peter Anvin wrote:
> > The other place where we use the amd_safe variants is an obscure K8,
> > revC and earlier fix for _some_ BIOSen and this hasn't bitten us yet
> > so I'm assuming people haven't run xen on such boxes yet. Does it need
> > fixing? Probably, if we really really have to.
> 
> This again is something that shouldn't even be attempted under
> Xen. The hypervisor, unless really old, does this (and wouldn't
> allow the write by any domain - privileged or not - anyway).
> 
> There's one more user though - the code triggered by the
> "show_msr=" command line option. This one indeed requires
> rdmsr_safe_regs to be functional (albeit under Xen, once
> again, this won't work currently anyway for those MRS on
> old CPUs where the special key in %edi is required, which the
> emulation code in Xen doesn't support).

This doesn't look right. Yinghai, why does generic x86 code use
rdmsrl_amd_safe - it should simply use rdmsrl_safe.

-- 
Regards/Gruss,
Boris.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 16:56:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8fg-0006zw-Pk; Thu, 31 May 2012 16:56:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa8ff-0006zl-4w
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:56:23 +0000
Received: from [193.109.254.147:18301] by server-10.bemta-14.messagelabs.com
	id 10/19-27843-6B2A7CF4; Thu, 31 May 2012 16:56:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338483381!11336695!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20246 invoked from network); 31 May 2012 16:56:21 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-27.messagelabs.com with SMTP;
	31 May 2012 16:56:21 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78320323; Thu, 31 May 2012 18:56:20 +0200
Message-ID: <1338483373.15014.93.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 31 May 2012 18:56:13 +0200
In-Reply-To: <1338482542.17466.21.camel@zakaz.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
	<20423.34837.239698.739317@mariner.uk.xensource.com>
	<1338481654.15014.90.camel@Solace>
	<1338482542.17466.21.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1137064125539736892=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1137064125539736892==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-vVWp0aw2c+NhUroAe3RV"


--=-vVWp0aw2c+NhUroAe3RV
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 17:42 +0100, Ian Campbell wrote:
> > > For your random number generation, please use nrand48, with a seed in
> > > the libxl ctx.  (This means you'll need to take out the ctx lock.)
> > > And provide a way to set the seed.
> > >=20
> > Sounds reasonable, I'll look into this. As a side note, as I
> > deliberately took inspiration from libxl_cpumap_rand_init() for this,
> > should I apply what you just said to that function too?
>=20
> This code is in gentest.py not libxl proper,=20
>
It is, indeed, as it is its _cpumap_ counterpart from which I copied it,
as soon as I started getting build errors because of an obscure
libxl_nodemap_rand_init() (which I didn't knew anything of) being
missing! :-P

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-vVWp0aw2c+NhUroAe3RV
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hoq0ACgkQk4XaBE3IOsSbqQCeJN00UvJPQqn/yFSz74SP1n0d
3BcAn1QghK+/VMrJa9XZELXipHPS93Ja
=a/I7
-----END PGP SIGNATURE-----

--=-vVWp0aw2c+NhUroAe3RV--



--===============1137064125539736892==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1137064125539736892==--



From xen-devel-bounces@lists.xen.org Thu May 31 16:56:33 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 16:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8fg-0006zw-Pk; Thu, 31 May 2012 16:56:24 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1Sa8ff-0006zl-4w
	for xen-devel@lists.xen.org; Thu, 31 May 2012 16:56:23 +0000
Received: from [193.109.254.147:18301] by server-10.bemta-14.messagelabs.com
	id 10/19-27843-6B2A7CF4; Thu, 31 May 2012 16:56:22 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-13.tower-27.messagelabs.com!1338483381!11336695!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20246 invoked from network); 31 May 2012 16:56:21 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-13.tower-27.messagelabs.com with SMTP;
	31 May 2012 16:56:21 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.40]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78320323; Thu, 31 May 2012 18:56:20 +0200
Message-ID: <1338483373.15014.93.camel@Solace>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Thu, 31 May 2012 18:56:13 +0200
In-Reply-To: <1338482542.17466.21.camel@zakaz.uk.xensource.com>
References: <patchbomb.1338466265@Solace>
	<d629e7e2fb6163bb7506.1338466274@Solace>
	<20423.34837.239698.739317@mariner.uk.xensource.com>
	<1338481654.15014.90.camel@Solace>
	<1338482542.17466.21.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.2-1+b1 
Mime-Version: 1.0
Cc: Andre Przywara <andre.przywara@amd.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH 09 of 11] libxl,
 xl: enable automatic placement of guests on NUMA nodes
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1137064125539736892=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============1137064125539736892==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-vVWp0aw2c+NhUroAe3RV"


--=-vVWp0aw2c+NhUroAe3RV
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2012-05-31 at 17:42 +0100, Ian Campbell wrote:
> > > For your random number generation, please use nrand48, with a seed in
> > > the libxl ctx.  (This means you'll need to take out the ctx lock.)
> > > And provide a way to set the seed.
> > >=20
> > Sounds reasonable, I'll look into this. As a side note, as I
> > deliberately took inspiration from libxl_cpumap_rand_init() for this,
> > should I apply what you just said to that function too?
>=20
> This code is in gentest.py not libxl proper,=20
>
It is, indeed, as it is its _cpumap_ counterpart from which I copied it,
as soon as I started getting build errors because of an obscure
libxl_nodemap_rand_init() (which I didn't knew anything of) being
missing! :-P

Thanks and Regards,
Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


--=-vVWp0aw2c+NhUroAe3RV
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/Hoq0ACgkQk4XaBE3IOsSbqQCeJN00UvJPQqn/yFSz74SP1n0d
3BcAn1QghK+/VMrJa9XZELXipHPS93Ja
=a/I7
-----END PGP SIGNATURE-----

--=-vVWp0aw2c+NhUroAe3RV--



--===============1137064125539736892==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1137064125539736892==--



From xen-devel-bounces@lists.xen.org Thu May 31 17:00:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8jU-0007Jp-LB; Thu, 31 May 2012 17:00:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa8jT-0007Ji-OX
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:00:20 +0000
Received: from [85.158.138.51:18779] by server-2.bemta-3.messagelabs.com id
	D0/86-17140-2A3A7CF4; Thu, 31 May 2012 17:00:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338483617!30242359!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1846 invoked from network); 31 May 2012 17:00:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 17:00:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12769703"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 17:00:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 18:00:17 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1Sa8jR-0004Kb-0f;
	Thu, 31 May 2012 17:00:17 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1Sa8jQ-0006Ha-Ny;
	Thu, 31 May 2012 18:00:16 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12998-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 18:00:16 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12998: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12998 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12998/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12997

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10    fail REGR. vs. 12997
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12996

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  d7318231cfe3
baseline version:
 xen                  a120d24f90fb

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 17:00:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa8jU-0007Jp-LB; Thu, 31 May 2012 17:00:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1Sa8jT-0007Ji-OX
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:00:20 +0000
Received: from [85.158.138.51:18779] by server-2.bemta-3.messagelabs.com id
	D0/86-17140-2A3A7CF4; Thu, 31 May 2012 17:00:18 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338483617!30242359!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1846 invoked from network); 31 May 2012 17:00:18 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-9.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 17:00:18 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12769703"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 17:00:17 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 18:00:17 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1Sa8jR-0004Kb-0f;
	Thu, 31 May 2012 17:00:17 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1Sa8jQ-0006Ha-Ny;
	Thu, 31 May 2012 18:00:16 +0100
To: <xen-devel@lists.xensource.com>
Message-ID: <osstest-12998-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 18:00:16 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12998: regressions - FAIL
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12998 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12998/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-oldkern            4 xen-build                 fail REGR. vs. 12997

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf     14 guest-localmigrate/x10    fail REGR. vs. 12997
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12996

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  d7318231cfe3
baseline version:
 xen                  a120d24f90fb

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     fail    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 17:21:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa939-0007ch-Jw; Thu, 31 May 2012 17:20:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa938-0007cc-Fi
	for xen-devel@lists.xen.org; Thu, 31 May 2012 17:20:38 +0000
Received: from [193.109.254.147:14064] by server-7.bemta-14.messagelabs.com id
	9B/69-07635-568A7CF4; Thu, 31 May 2012 17:20:37 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338484836!12198734!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10925 invoked from network); 31 May 2012 17:20:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 17:20:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12770042"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 17:20:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 18:20:35 +0100
Date: Thu, 31 May 2012 18:20:20 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FC62C6E.5020902@tycho.nsa.gov>
Message-ID: <alpine.DEB.2.00.1205311756190.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
	<alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
	<4FC62C6E.5020902@tycho.nsa.gov>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: James McKenzie <James.McKenzie@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Daniel De Graaf wrote:
> On 05/30/2012 07:41 AM, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Daniel De Graaf wrote:
> >> On 05/24/2012 01:23 PM, Jean Guyader wrote:
> >>> As I'm going through the code to clean-up XenClient's inter VM
> >>> communication
> >>> (V4V), I thought it would be a good idea to start a thread to talk about
> >>> the
> >>> fundamental differences between V4V and libvchan. I believe the two system
> >>> are
> >>> not clones of eachother and they serve different
> >>> purposes.
> >>>
> >>>
> >>> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
> >>> about libvchan it coming from my reading of the code. If some of the facts
> >>> are wrong it's only due to my ignorance about the subject.
> >>>
> >>
> >> I'll try to fill in some of these points with my understanding of libvchan;
> >> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
> >> there.
> >>
> >>> 1. Why V4V?
> >>>
> >>> About the time when we started XenClient (3 year ago) we were looking for a
> >>> lightweight inter VM communication scheme. We started working on a system
> >>> based on netchannel2 at the time called V2V (VM to VM). The system
> >>> was very similar to what libvchan is today, and we started to hit some
> >>> roadblocks:
> >>>
> >>>     - The setup relied on a broker in dom0 to prepare the xenstore node
> >>>       permissions when a guest wanted to create a new connection. The code
> >>>       to do this setup was a single point of failure. If the
> >>>       broker was down you could create any more connections.
> >>
> >> libvchan avoids this by allowing the application to determine the xenstore
> >> path and adjusts permissions itself; the path /local/domain/N/data is
> >> suitable for a libvchan server in domain N to create the nodes in question.
> > 
> > Let say that the frontend lives in domain A and that the backend lives
> > in domain N.
> > Usually the frontend has a node:
> > 
> > /local/domain/A/device/<devicename>/<number>/backend
> > 
> > that points to the backend, in this case:
> > 
> > /local/domain/N/backend/<devicename>/A/<number>
> > 
> > The backend is not allowed to write to the frontend path, so it cannot write
> > its own path in the backend node. Clearly the frontend doesn't know that
> > information so it cannot fill it up. So the toolstack (typically in
> > dom0) helps with the initial setup writing down under the frontend path
> > where is the backend.
> > How does libvchan solve this issue?
> 
> Libvchan requires both endpoints to know the domain ID of the peer they are
> communicating with - this could be communicated during domain build or through
> a name service. The application then defines a path such as
> "/local/domain/$server_domid/data/example-app/$client_domid" which is writable
> by the server; the server creates nodes here that are readable by the client.

Is it completely up to the application to choose a xenstore path and
give write permissions to the other end?
It looks like something that could be generalized and moved to a library.

How do you currently tell to the server the domid of the client?


> >>>     - Symmetric communications were a nightmare. Take the case where A is a
> >>>       backend for B and B is a backend for A. If one of the domain crash the
> >>>       other one couldn't be destroyed because it has some paged mapped from
> >>>       the dead domain. This specific issue is probably fixed today.
> >>
> >> This is mostly taken care of by improvements in the hypervisor's handling of
> >> grant mappings. If one domain holds grant mappings open, the domain whose
> >> grants are held can't be fully destroyed, but if both domains are being
> >> destroyed then cycles of grant mappings won't stop them from going away.
> > 
> > However under normal circumstances the domain holding the mappings (that
> > I guess it would be the domain running the backend, correct?) would
> > recognize that the other domain is gone and therefore unmap the grants
> > and close the connection, right?
> > I hope that if the frontend crashes and dies, it doesn't necessarily
> > become a zombie because the backend holds some mappings.
> 
> The mapping between frontend/backend and vchan client/server may be backwards:
> the server must be initialized first and provides the pages for the client to
> map. It looks like you are considering the frontend to be the server.
> 
> The vchan client domain maps grants provided by the server. If the server's
> domain crashes, it may become a zombie until the client application notices the
> crash. This will happen if the client uses the vchan and gets an error when
> sending an event notification (in this case, a well-behaved client will close the
> vchan). If the client does not often send data on the vchan, it can use a watch on
> the server's xenstore node and close the vchan when the node is deleted.
> 
> A client that does not notice the server's destruction will leave a zombie domain.
> A system administrator can resolve this by killing the client process.

This looks like a serious issue. Considering that libvchan already does
copies to transfer the data, couldn't you switch to grant table copy
operations? That would remove the zombie domain problem I think.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 17:21:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa939-0007ch-Jw; Thu, 31 May 2012 17:20:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Stefano.Stabellini@eu.citrix.com>)
	id 1Sa938-0007cc-Fi
	for xen-devel@lists.xen.org; Thu, 31 May 2012 17:20:38 +0000
Received: from [193.109.254.147:14064] by server-7.bemta-14.messagelabs.com id
	9B/69-07635-568A7CF4; Thu, 31 May 2012 17:20:37 +0000
X-Env-Sender: Stefano.Stabellini@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1338484836!12198734!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA0OTE=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10925 invoked from network); 31 May 2012 17:20:36 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-4.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 17:20:36 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12770042"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 17:20:35 +0000
Received: from kaball.uk.xensource.com (10.80.2.59) by
	LONPMAILMX01.citrite.net (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 18:20:35 +0100
Date: Thu, 31 May 2012 18:20:20 +0100
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
X-X-Sender: sstabellini@kaball-desktop
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
In-Reply-To: <4FC62C6E.5020902@tycho.nsa.gov>
Message-ID: <alpine.DEB.2.00.1205311756190.26786@kaball-desktop>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
	<alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
	<4FC62C6E.5020902@tycho.nsa.gov>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Cc: James McKenzie <James.McKenzie@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, 30 May 2012, Daniel De Graaf wrote:
> On 05/30/2012 07:41 AM, Stefano Stabellini wrote:
> > On Tue, 29 May 2012, Daniel De Graaf wrote:
> >> On 05/24/2012 01:23 PM, Jean Guyader wrote:
> >>> As I'm going through the code to clean-up XenClient's inter VM
> >>> communication
> >>> (V4V), I thought it would be a good idea to start a thread to talk about
> >>> the
> >>> fundamental differences between V4V and libvchan. I believe the two system
> >>> are
> >>> not clones of eachother and they serve different
> >>> purposes.
> >>>
> >>>
> >>> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
> >>> about libvchan it coming from my reading of the code. If some of the facts
> >>> are wrong it's only due to my ignorance about the subject.
> >>>
> >>
> >> I'll try to fill in some of these points with my understanding of libvchan;
> >> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
> >> there.
> >>
> >>> 1. Why V4V?
> >>>
> >>> About the time when we started XenClient (3 year ago) we were looking for a
> >>> lightweight inter VM communication scheme. We started working on a system
> >>> based on netchannel2 at the time called V2V (VM to VM). The system
> >>> was very similar to what libvchan is today, and we started to hit some
> >>> roadblocks:
> >>>
> >>>     - The setup relied on a broker in dom0 to prepare the xenstore node
> >>>       permissions when a guest wanted to create a new connection. The code
> >>>       to do this setup was a single point of failure. If the
> >>>       broker was down you could create any more connections.
> >>
> >> libvchan avoids this by allowing the application to determine the xenstore
> >> path and adjusts permissions itself; the path /local/domain/N/data is
> >> suitable for a libvchan server in domain N to create the nodes in question.
> > 
> > Let say that the frontend lives in domain A and that the backend lives
> > in domain N.
> > Usually the frontend has a node:
> > 
> > /local/domain/A/device/<devicename>/<number>/backend
> > 
> > that points to the backend, in this case:
> > 
> > /local/domain/N/backend/<devicename>/A/<number>
> > 
> > The backend is not allowed to write to the frontend path, so it cannot write
> > its own path in the backend node. Clearly the frontend doesn't know that
> > information so it cannot fill it up. So the toolstack (typically in
> > dom0) helps with the initial setup writing down under the frontend path
> > where is the backend.
> > How does libvchan solve this issue?
> 
> Libvchan requires both endpoints to know the domain ID of the peer they are
> communicating with - this could be communicated during domain build or through
> a name service. The application then defines a path such as
> "/local/domain/$server_domid/data/example-app/$client_domid" which is writable
> by the server; the server creates nodes here that are readable by the client.

Is it completely up to the application to choose a xenstore path and
give write permissions to the other end?
It looks like something that could be generalized and moved to a library.

How do you currently tell to the server the domid of the client?


> >>>     - Symmetric communications were a nightmare. Take the case where A is a
> >>>       backend for B and B is a backend for A. If one of the domain crash the
> >>>       other one couldn't be destroyed because it has some paged mapped from
> >>>       the dead domain. This specific issue is probably fixed today.
> >>
> >> This is mostly taken care of by improvements in the hypervisor's handling of
> >> grant mappings. If one domain holds grant mappings open, the domain whose
> >> grants are held can't be fully destroyed, but if both domains are being
> >> destroyed then cycles of grant mappings won't stop them from going away.
> > 
> > However under normal circumstances the domain holding the mappings (that
> > I guess it would be the domain running the backend, correct?) would
> > recognize that the other domain is gone and therefore unmap the grants
> > and close the connection, right?
> > I hope that if the frontend crashes and dies, it doesn't necessarily
> > become a zombie because the backend holds some mappings.
> 
> The mapping between frontend/backend and vchan client/server may be backwards:
> the server must be initialized first and provides the pages for the client to
> map. It looks like you are considering the frontend to be the server.
> 
> The vchan client domain maps grants provided by the server. If the server's
> domain crashes, it may become a zombie until the client application notices the
> crash. This will happen if the client uses the vchan and gets an error when
> sending an event notification (in this case, a well-behaved client will close the
> vchan). If the client does not often send data on the vchan, it can use a watch on
> the server's xenstore node and close the vchan when the node is deleted.
> 
> A client that does not notice the server's destruction will leave a zombie domain.
> A system administrator can resolve this by killing the client process.

This looks like a serious issue. Considering that libvchan already does
copies to transfer the data, couldn't you switch to grant table copy
operations? That would remove the zombie domain problem I think.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 17:28:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9AX-0007ui-HS; Thu, 31 May 2012 17:28:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9AV-0007ud-83
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:28:15 +0000
Received: from [85.158.143.35:58218] by server-2.bemta-4.messagelabs.com id
	EA/B4-11595-E2AA7CF4; Thu, 31 May 2012 17:28:14 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338485292!15069317!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29578 invoked from network); 31 May 2012 17:28:13 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-3.tower-21.messagelabs.com with SMTP;
	31 May 2012 17:28:13 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 10:27:56 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="106367738"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:27:56 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:27:55 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:27:53 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
Thread-Index: AQHNP0gP2qSMzi1PTzSzWPGw5NRHt5bkIgcw
Date: Thu, 31 May 2012 17:27:53 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
In-Reply-To: <20120531161139.GA13939@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
>>> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00
>>> 2001=20
>> From: root <root@ljsromley.bj.intel.com>
>=20
> Also your git author is busted. I fixed it up for you but
> you might want to run 'git config --user.name' and such

Ah, I forgot it. Thanks for fix it.

>=20
>> Date: Fri, 1 Jun 2012 03:12:51 +0800
>> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
>=20
> What about the cvt_gate_to_trap? Does that need something similar
> to "xen/mce: Register native mce handler as vMCE bounce back point"
> ?

That's vMCE injection logic.
anyway, I will present new round of patch according to Boris and your comme=
nds, as following
[Patch 1/3] xen-mce-Add-mcelog-support-for-Xen-platform.patch
[Patch 2/3] X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch
[Patch 3/3] Register-native-mce-handler-as-vMCE-bounce-back-poin.patch

Patch 1/3 and 2/3 are for mcelog
Patch 3/3 are for vMCE injection

>=20
> I stuck all these patches on devel/mce.v2 on
> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git

Hmm, we discussed base-tree problem before, and decided to use linus latest=
 tree.
I pull this morning and rebase my patches based on
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
c/s a01ee165a132fadb57659d26246e340d6ac53265


Thanks,
Jinsong=

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_
Content-Type: message/rfc822
Content-Disposition: attachment;
	creation-date="Thu, 31 May 2012 17:27:53 GMT";
	modification-date="Thu, 31 May 2012 17:27:53 GMT"

Received: from rrsmsx602.amr.corp.intel.com (10.31.0.33) by
 SHSMSX151.ccr.corp.intel.com (10.239.6.50) with Microsoft SMTP Server (TLS)
 id 14.1.355.2; Fri, 6 Apr 2012 23:12:54 +0800
Received: from fmsmga002.fm.intel.com (10.253.24.26) by
 rrsmsx602-1.rr.intel.com (10.31.0.33) with Microsoft SMTP Server id
 8.2.255.0; Fri, 6 Apr 2012 09:12:52 -0600
Received: from fmsmga102.fm.intel.com ([10.1.193.69])  by
 fmsmga002-1.fm.intel.com with ESMTP; 06 Apr 2012 08:12:51 -0700
Received: from rcsinet15.oracle.com ([148.87.113.117])  by mga11.intel.com
 with ESMTP; 06 Apr 2012 08:12:51 -0700
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id
 q36FCnit012218	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256
 verify=OK)	for <jinsong.liu@intel.com>; Fri, 6 Apr 2012 15:12:50 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])	by
 acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q36FCnNT012571
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)	for
 <jinsong.liu@intel.com>; Fri, 6 Apr 2012 15:12:49 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])	by
 acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q36FCn2I002395
	for <jinsong.liu@intel.com>; Fri, 6 Apr 2012 10:12:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)	by default (Oracle Beehive
 Gateway v4.0)	with ESMTP ; Fri, 06 Apr 2012 08:12:48 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)	id 8A42C4031D;
 Fri,  6 Apr 2012 11:08:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Subject: Re: Xen ras rebase base tree
Thread-Topic: Xen ras rebase base tree
Thread-Index: AQHNFAcUz2Gw25lhT/Ka9W6Fnpe+PQ==
Date: Fri, 6 Apr 2012 15:08:10 +0000
Message-ID: <20120406150810.GA19124@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335125D6D@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC8292335125D6D@SHSMSX101.ccr.corp.intel.com>
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Organization-AuthSource: rrsmsx602.amr.corp.intel.com
X-MS-Has-Attach: 
X-Message-Flag: Follow up
X-MS-TNEF-Correlator: 
x-ironport-av: E=Sophos;i="4.75,381,1330934400";
    d="scan'208";a="1246752134"
x-ironport-anti-spam-filtered: true
x-ironport-anti-spam-result: Al4CAD4Gf0+UV3F1nGdsb2JhbABFuR0iAQEBAQEICwkJFCeCCQEBAgIBOk8LGC4UGDGIHAUEumWPbWMElWsBkzk
user-agent: Mutt/1.5.21 (2010-09-15)
x-ct-refid: str=0001.0A090207.4F7F07F2.00C0,ss=1,re=0.000,fgs=0
x-source-ip: acsinet22.oracle.com [141.146.126.238]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <FB9E0E717F664E4C85B9C0F9D8737C88@intel.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

On Fri, Apr 06, 2012 at 07:13:43AM +0000, Liu, Jinsong wrote:
> Konrad,
>=20
> I'm rebasing Xen mcelog and cpu online/offline logic now.
> I'm not quite sure which tree is proper as base tree, has your Xen PM pat=
ches all in kernel tree now? if yes, maybe we can directly rebased on lates=
t kernel tree, your opinion?

Use the linus tree. The latest has the xen pm patches.

>=20
> and, if we rebased on your pvops
> 1. what's the git address (git://git.kernel.org/pub/scm/linux/kernel/git/=
konrad/xen.git ?)
> 2. which branch (linux-next ?)
> (considering your PM patches (which cpu hotplug need reuse some logic) ha=
s been in kernel ?)
>=20
> Thanks,
> Jinsong

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:28:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9AX-0007ui-HS; Thu, 31 May 2012 17:28:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9AV-0007ud-83
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:28:15 +0000
Received: from [85.158.143.35:58218] by server-2.bemta-4.messagelabs.com id
	EA/B4-11595-E2AA7CF4; Thu, 31 May 2012 17:28:14 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1338485292!15069317!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29578 invoked from network); 31 May 2012 17:28:13 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-3.tower-21.messagelabs.com with SMTP;
	31 May 2012 17:28:13 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 10:27:56 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="106367738"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:27:56 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:27:55 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:27:53 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
Thread-Index: AQHNP0gP2qSMzi1PTzSzWPGw5NRHt5bkIgcw
Date: Thu, 31 May 2012 17:27:53 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
In-Reply-To: <20120531161139.GA13939@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
>>> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00
>>> 2001=20
>> From: root <root@ljsromley.bj.intel.com>
>=20
> Also your git author is busted. I fixed it up for you but
> you might want to run 'git config --user.name' and such

Ah, I forgot it. Thanks for fix it.

>=20
>> Date: Fri, 1 Jun 2012 03:12:51 +0800
>> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
>=20
> What about the cvt_gate_to_trap? Does that need something similar
> to "xen/mce: Register native mce handler as vMCE bounce back point"
> ?

That's vMCE injection logic.
anyway, I will present new round of patch according to Boris and your comme=
nds, as following
[Patch 1/3] xen-mce-Add-mcelog-support-for-Xen-platform.patch
[Patch 2/3] X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch
[Patch 3/3] Register-native-mce-handler-as-vMCE-bounce-back-poin.patch

Patch 1/3 and 2/3 are for mcelog
Patch 3/3 are for vMCE injection

>=20
> I stuck all these patches on devel/mce.v2 on
> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git

Hmm, we discussed base-tree problem before, and decided to use linus latest=
 tree.
I pull this morning and rebase my patches based on
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
c/s a01ee165a132fadb57659d26246e340d6ac53265


Thanks,
Jinsong=

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_
Content-Type: message/rfc822
Content-Disposition: attachment;
	creation-date="Thu, 31 May 2012 17:27:53 GMT";
	modification-date="Thu, 31 May 2012 17:27:53 GMT"

Received: from rrsmsx602.amr.corp.intel.com (10.31.0.33) by
 SHSMSX151.ccr.corp.intel.com (10.239.6.50) with Microsoft SMTP Server (TLS)
 id 14.1.355.2; Fri, 6 Apr 2012 23:12:54 +0800
Received: from fmsmga002.fm.intel.com (10.253.24.26) by
 rrsmsx602-1.rr.intel.com (10.31.0.33) with Microsoft SMTP Server id
 8.2.255.0; Fri, 6 Apr 2012 09:12:52 -0600
Received: from fmsmga102.fm.intel.com ([10.1.193.69])  by
 fmsmga002-1.fm.intel.com with ESMTP; 06 Apr 2012 08:12:51 -0700
Received: from rcsinet15.oracle.com ([148.87.113.117])  by mga11.intel.com
 with ESMTP; 06 Apr 2012 08:12:51 -0700
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id
 q36FCnit012218	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256
 verify=OK)	for <jinsong.liu@intel.com>; Fri, 6 Apr 2012 15:12:50 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])	by
 acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q36FCnNT012571
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)	for
 <jinsong.liu@intel.com>; Fri, 6 Apr 2012 15:12:49 GMT
Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70])	by
 acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q36FCn2I002395
	for <jinsong.liu@intel.com>; Fri, 6 Apr 2012 10:12:49 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)	by default (Oracle Beehive
 Gateway v4.0)	with ESMTP ; Fri, 06 Apr 2012 08:12:48 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)	id 8A42C4031D;
 Fri,  6 Apr 2012 11:08:10 -0400 (EDT)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Subject: Re: Xen ras rebase base tree
Thread-Topic: Xen ras rebase base tree
Thread-Index: AQHNFAcUz2Gw25lhT/Ka9W6Fnpe+PQ==
Date: Fri, 6 Apr 2012 15:08:10 +0000
Message-ID: <20120406150810.GA19124@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC8292335125D6D@SHSMSX101.ccr.corp.intel.com>
In-Reply-To: <DE8DF0795D48FD4CA783C40EC8292335125D6D@SHSMSX101.ccr.corp.intel.com>
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Organization-AuthSource: rrsmsx602.amr.corp.intel.com
X-MS-Has-Attach: 
X-Message-Flag: Follow up
X-MS-TNEF-Correlator: 
x-ironport-av: E=Sophos;i="4.75,381,1330934400";
    d="scan'208";a="1246752134"
x-ironport-anti-spam-filtered: true
x-ironport-anti-spam-result: Al4CAD4Gf0+UV3F1nGdsb2JhbABFuR0iAQEBAQEICwkJFCeCCQEBAgIBOk8LGC4UGDGIHAUEumWPbWMElWsBkzk
user-agent: Mutt/1.5.21 (2010-09-15)
x-ct-refid: str=0001.0A090207.4F7F07F2.00C0,ss=1,re=0.000,fgs=0
x-source-ip: acsinet22.oracle.com [141.146.126.238]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <FB9E0E717F664E4C85B9C0F9D8737C88@intel.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

On Fri, Apr 06, 2012 at 07:13:43AM +0000, Liu, Jinsong wrote:
> Konrad,
>=20
> I'm rebasing Xen mcelog and cpu online/offline logic now.
> I'm not quite sure which tree is proper as base tree, has your Xen PM pat=
ches all in kernel tree now? if yes, maybe we can directly rebased on lates=
t kernel tree, your opinion?

Use the linus tree. The latest has the xen pm patches.

>=20
> and, if we rebased on your pvops
> 1. what's the git address (git://git.kernel.org/pub/scm/linux/kernel/git/=
konrad/xen.git ?)
> 2. which branch (linux-next ?)
> (considering your PM patches (which cpu hotplug need reuse some logic) ha=
s been in kernel ?)
>=20
> Thanks,
> Jinsong

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB11SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:31:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9D9-000824-3f; Thu, 31 May 2012 17:30:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9D6-00081a-Fi
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:30:57 +0000
Received: from [85.158.143.35:10525] by server-2.bemta-4.messagelabs.com id
	21/88-11595-FCAA7CF4; Thu, 31 May 2012 17:30:55 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338485450!7314274!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27393 invoked from network); 31 May 2012 17:30:51 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-21.messagelabs.com with SMTP;
	31 May 2012 17:30:51 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 10:30:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="106369076"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:30:50 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:30:49 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:30:47 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
Thread-Index: Ac0/UxzL4acV+iwERyy3wXcJqIVZkA==
Date: Thu, 31 May 2012 17:30:47 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB48@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 5506f24e15c5d8adc3f501993660391211a2214a Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 1 Jun 2012 08:27:39 +0800
Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    5 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  385 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 798 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index b772dd6..5e5c863 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -2341,7 +2339,7 @@ static __init int mcheck_init_device(void)
=20
 	return err;
 }
-device_initcall(mcheck_init_device);
+device_initcall_sync(mcheck_init_device);
=20
 /*
  * Old style boot options parsing. Only for compatibility.
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..ff2d00e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -333,9 +334,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 8d2501e..d4dffcd 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -196,4 +196,12 @@ config XEN_ACPI_PROCESSOR
 	  called xen_acpi_processor  If you do not know what to choose, select
 	  M here. If the CPUFREQ drivers are built in, select Y here.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index fc34886..a787029 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o acpi.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..72e87d2
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,392 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain()) {
+		/* register character device /dev/mcelog for xen mcelog */
+		if (misc_register(&xen_mce_chrdev_device))
+			return -ENODEV;
+		return bind_virq_for_mce();
+	}
+
+	return -ENODEV;
+}
+device_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..73a4ea7
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,385 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27134; creation-date="Thu, 31 May 2012 17:10:05 GMT";
	modification-date="Fri, 01 Jun 2012 00:43:22 GMT"
Content-Transfer-Encoding: base64

RnJvbSA1NTA2ZjI0ZTE1YzVkOGFkYzNmNTAxOTkzNjYwMzkxMjExYTIyMTRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxIEp1biAyMDEyIDA4OjI3OjM5ICswODAwClN1YmplY3Q6IFtQQVRDSCAxLzNd
IHhlbi9tY2U6IEFkZCBtY2Vsb2cgc3VwcG9ydCBmb3IgWGVuIHBsYXRmb3JtCgpXaGVuIE1DQSBl
cnJvciBvY2N1cnMsIGl0IHdvdWxkIGJlIGhhbmRsZWQgYnkgWGVuIGh5cGVydmlzb3IgZmlyc3Qs
CmFuZCB0aGVuIHRoZSBlcnJvciBpbmZvcm1hdGlvbiB3b3VsZCBiZSBzZW50IHRvIGluaXRpYWwg
ZG9tYWluIGZvciBsb2dnaW5nLgoKVGhpcyBwYXRjaCBnZXRzIGVycm9yIGluZm9ybWF0aW9uIGZy
b20gWGVuIGh5cGVydmlzb3IgYW5kIGNvbnZlcnQKWGVuIGZvcm1hdCBlcnJvciBpbnRvIExpbnV4
IGZvcm1hdCBtY2Vsb2cuIFRoaXMgbG9naWMgaXMgYmFzaWNhbGx5CnNlbGYtY29udGFpbmVkLCBu
b3QgdG91Y2hpbmcgb3RoZXIga2VybmVsIGNvbXBvbmVudHMuCgpCeSB1c2luZyB0b29scyBsaWtl
IG1jZWxvZyB0b29sIHVzZXJzIGNvdWxkIHJlYWQgc3BlY2lmaWMgZXJyb3IgaW5mb3JtYXRpb24s
Cmxpa2Ugd2hhdCB0aGV5IGRpZCB1bmRlciBuYXRpdmUgTGludXguCgpUbyB0ZXN0IGZvbGxvdyBk
aXJlY3Rpb25zIG91dGxpbmVkIGluIERvY3VtZW50YXRpb24vYWNwaS9hcGVpL2VpbmoudHh0CgpT
aWduZWQtb2ZmLWJ5OiBLZSwgTGlwaW5nIDxsaXBpbmcua2VAaW50ZWwuY29tPgpTaWduZWQtb2Zm
LWJ5OiBKaWFuZywgWXVuaG9uZyA8eXVuaG9uZy5qaWFuZ0BpbnRlbC5jb20+ClNpZ25lZC1vZmYt
Ynk6IEplcmVteSBGaXR6aGFyZGluZ2UgPGplcmVteS5maXR6aGFyZGluZ2VAY2l0cml4LmNvbT4K
QWNrZWQtYW5kLXRlc3RlZC1ieTogQm9yaXNsYXYgUGV0a292IDxib3Jpc2xhdi5wZXRrb3ZAYW1k
LmNvbT4KU2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+
Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5oIHwgICAgOCArCiBhcmNo
L3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYyAgICAgfCAgICA0ICstCiBhcmNoL3g4Ni94ZW4v
ZW5saWdodGVuLmMgICAgICAgICAgICAgfCAgICA1ICstCiBkcml2ZXJzL3hlbi9LY29uZmlnICAg
ICAgICAgICAgICAgICAgfCAgICA4ICsKIGRyaXZlcnMveGVuL01ha2VmaWxlICAgICAgICAgICAg
ICAgICB8ICAgIDEgKwogZHJpdmVycy94ZW4vbWNlbG9nLmMgICAgICAgICAgICAgICAgIHwgIDM5
MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L21pc2Nk
ZXZpY2UuaCAgICAgICAgICAgfCAgICAxICsKIGluY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNh
LmggICAgICB8ICAzODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA4IGZpbGVz
IGNoYW5nZWQsIDc5OCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IGRyaXZlcnMveGVuL21jZWxvZy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS94
ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaAoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNt
L3hlbi9oeXBlcmNhbGwuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApp
bmRleCA1NzI4ODUyLi41OWMyMjZkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94
ZW4vaHlwZXJjYWxsLmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5o
CkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9zY2hlZC5oPgogI2lu
Y2x1ZGUgPHhlbi9pbnRlcmZhY2UvcGh5c2Rldi5oPgogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uv
cGxhdGZvcm0uaD4KKyNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaD4KIAogLyoKICAq
IFRoZSBoeXBlcmNhbGwgYXNtcyBoYXZlIHRvIG1lZXQgc2V2ZXJhbCBjb25zdHJhaW50czoKQEAg
LTMwMiw2ICszMDMsMTMgQEAgSFlQRVJWSVNPUl9zZXRfdGltZXJfb3AodTY0IHRpbWVvdXQpCiB9
CiAKIHN0YXRpYyBpbmxpbmUgaW50CitIWVBFUlZJU09SX21jYShzdHJ1Y3QgeGVuX21jICptY19v
cCkKK3sKKwltY19vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5fTUNBX0lOVEVSRkFDRV9WRVJT
SU9OOworCXJldHVybiBfaHlwZXJjYWxsMShpbnQsIG1jYSwgbWNfb3ApOworfQorCitzdGF0aWMg
aW5saW5lIGludAogSFlQRVJWSVNPUl9kb20wX29wKHN0cnVjdCB4ZW5fcGxhdGZvcm1fb3AgKnBs
YXRmb3JtX29wKQogewogCXBsYXRmb3JtX29wLT5pbnRlcmZhY2VfdmVyc2lvbiA9IFhFTlBGX0lO
VEVSRkFDRV9WRVJTSU9OOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2sv
bWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwppbmRleCBiNzcyZGQ2Li41
ZTVjODYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYworKysg
Yi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwpAQCAtNTcsOCArNTcsNiBAQCBzdGF0
aWMgREVGSU5FX01VVEVYKG1jZV9jaHJkZXZfcmVhZF9tdXRleCk7CiAKIGludCBtY2VfZGlzYWJs
ZWQgX19yZWFkX21vc3RseTsKIAotI2RlZmluZSBNSVNDX01DRUxPR19NSU5PUgkyMjcKLQogI2Rl
ZmluZSBTUElOVU5JVCAxMDAJLyogMTAwbnMgKi8KIAogYXRvbWljX3QgbWNlX2VudHJ5OwpAQCAt
MjM0MSw3ICsyMzM5LDcgQEAgc3RhdGljIF9faW5pdCBpbnQgbWNoZWNrX2luaXRfZGV2aWNlKHZv
aWQpCiAKIAlyZXR1cm4gZXJyOwogfQotZGV2aWNlX2luaXRjYWxsKG1jaGVja19pbml0X2Rldmlj
ZSk7CitkZXZpY2VfaW5pdGNhbGxfc3luYyhtY2hlY2tfaW5pdF9kZXZpY2UpOwogCiAvKgogICog
T2xkIHN0eWxlIGJvb3Qgb3B0aW9ucyBwYXJzaW5nLiBPbmx5IGZvciBjb21wYXRpYmlsaXR5Lgpk
aWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2VubGln
aHRlbi5jCmluZGV4IDc1ZjMzYjIuLmZmMmQwMGUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9l
bmxpZ2h0ZW4uYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKQEAgLTM4LDYgKzM4LDcg
QEAKICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50
ZXJmYWNlL3ZjcHUuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL21lbW9yeS5oPgorI2luY2x1
ZGUgPHhlbi9pbnRlcmZhY2UveGVuLW1jYS5oPgogI2luY2x1ZGUgPHhlbi9mZWF0dXJlcy5oPgog
I2luY2x1ZGUgPHhlbi9wYWdlLmg+CiAjaW5jbHVkZSA8eGVuL2h2bS5oPgpAQCAtMzMzLDkgKzMz
NCw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCB4ZW5faW5pdF9jcHVpZF9tYXNrKHZvaWQpCiAJdW5z
aWduZWQgaW50IHhzYXZlX21hc2s7CiAKIAljcHVpZF9sZWFmMV9lZHhfbWFzayA9Ci0JCX4oKDEg
PDwgWDg2X0ZFQVRVUkVfTUNFKSAgfCAgLyogZGlzYWJsZSBNQ0UgKi8KLQkJICAoMSA8PCBYODZf
RkVBVFVSRV9NQ0EpICB8ICAvKiBkaXNhYmxlIE1DQSAqLwotCQkgICgxIDw8IFg4Nl9GRUFUVVJF
X01UUlIpIHwgIC8qIGRpc2FibGUgTVRSUiAqLworCQl+KCgxIDw8IFg4Nl9GRUFUVVJFX01UUlIp
IHwgIC8qIGRpc2FibGUgTVRSUiAqLwogCQkgICgxIDw8IFg4Nl9GRUFUVVJFX0FDQykpOyAgIC8q
IHRoZXJtYWwgbW9uaXRvcmluZyAqLwogCiAJaWYgKCF4ZW5faW5pdGlhbF9kb21haW4oKSkKZGlm
ZiAtLWdpdCBhL2RyaXZlcnMveGVuL0tjb25maWcgYi9kcml2ZXJzL3hlbi9LY29uZmlnCmluZGV4
IDhkMjUwMWUuLmQ0ZGZmY2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL0tjb25maWcKKysrIGIv
ZHJpdmVycy94ZW4vS2NvbmZpZwpAQCAtMTk2LDQgKzE5NiwxMiBAQCBjb25maWcgWEVOX0FDUElf
UFJPQ0VTU09SCiAJICBjYWxsZWQgeGVuX2FjcGlfcHJvY2Vzc29yICBJZiB5b3UgZG8gbm90IGtu
b3cgd2hhdCB0byBjaG9vc2UsIHNlbGVjdAogCSAgTSBoZXJlLiBJZiB0aGUgQ1BVRlJFUSBkcml2
ZXJzIGFyZSBidWlsdCBpbiwgc2VsZWN0IFkgaGVyZS4KIAorY29uZmlnIFhFTl9NQ0VfTE9HCisJ
Ym9vbCAiWGVuIHBsYXRmb3JtIG1jZWxvZyIKKwlkZXBlbmRzIG9uIFhFTl9ET00wICYmIFg4Nl82
NCAmJiBYODZfTUNFCisJZGVmYXVsdCBuCisJaGVscAorCSAgQWxsb3cga2VybmVsIGZldGNoaW5n
IE1DRSBlcnJvciBmcm9tIFhlbiBwbGF0Zm9ybSBhbmQKKwkgIGNvbnZlcnRpbmcgaXQgaW50byBM
aW51eCBtY2Vsb2cgZm9ybWF0IGZvciBtY2Vsb2cgdG9vbHMKKwogZW5kbWVudQpkaWZmIC0tZ2l0
IGEvZHJpdmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQppbmRleCBmYzM0
ODg2Li5hNzg3MDI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9NYWtlZmlsZQorKysgYi9kcml2
ZXJzL3hlbi9NYWtlZmlsZQpAQCAtMTgsNiArMTgsNyBAQCBvYmotJChDT05GSUdfWEVOX1BWSFZN
KQkJCSs9IHBsYXRmb3JtLXBjaS5vCiBvYmotJChDT05GSUdfWEVOX1RNRU0pCQkJKz0gdG1lbS5v
CiBvYmotJChDT05GSUdfU1dJT1RMQl9YRU4pCQkrPSBzd2lvdGxiLXhlbi5vCiBvYmotJChDT05G
SUdfWEVOX0RPTTApCQkJKz0gcGNpLm8gYWNwaS5vCitvYmotJChDT05GSUdfWEVOX01DRV9MT0cp
CQkrPSBtY2Vsb2cubwogb2JqLSQoQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VORCkJKz0geGVuLXBj
aWJhY2svCiBvYmotJChDT05GSUdfWEVOX1BSSVZDTUQpCQkrPSB4ZW4tcHJpdmNtZC5vCiBvYmot
JChDT05GSUdfWEVOX0FDUElfUFJPQ0VTU09SKQkrPSB4ZW4tYWNwaS1wcm9jZXNzb3IubwpkaWZm
IC0tZ2l0IGEvZHJpdmVycy94ZW4vbWNlbG9nLmMgYi9kcml2ZXJzL3hlbi9tY2Vsb2cuYwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmU4N2QyCi0tLSAvZGV2L251bGwKKysr
IGIvZHJpdmVycy94ZW4vbWNlbG9nLmMKQEAgLTAsMCArMSwzOTIgQEAKKy8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKKyAqIG1jZWxvZy5jCisgKiBEcml2ZXIgZm9yIHJlY2VpdmluZyBhbmQgdHJhbnNm
ZXJyaW5nIG1hY2hpbmUgY2hlY2sgZXJyb3IgaW5mb21hdGlvbgorICoKKyAqIENvcHlyaWdodCAo
YykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0aG9yOiBMaXUsIEppbnNvbmcgPGppbnNv
bmcubGl1QGludGVsLmNvbT4KKyAqIEF1dGhvcjogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlh
bmdAaW50ZWwuY29tPgorICogQXV0aG9yOiBLZSwgTGlwaW5nIDxsaXBpbmcua2VAaW50ZWwuY29t
PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IG9yLCB3aGVuIGRpc3RyaWJ1dGVkCisgKiBzZXBhcmF0
ZWx5IGZyb20gdGhlIExpbnV4IGtlcm5lbCBvciBpbmNvcnBvcmF0ZWQgaW50byBvdGhlcgorICog
c29mdHdhcmUgcGFja2FnZXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBsaWNlbnNlOgorICoK
KyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc291cmNlIGZpbGUgKHRoZSAiU29m
dHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dAorICogcmVzdHJpY3Rpb24s
IGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwKKyAqIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorICogYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworICog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisg
KiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2lu
aXQuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5o
PgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1
ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNs
dWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorCisj
aW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+Cisj
aW5jbHVkZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CisjaW5jbHVkZSA8eGVuL3hlbi5oPgorI2lu
Y2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcnZpc29y
Lmg+CisKKyNkZWZpbmUgWEVOX01DRUxPRyAieGVuX21jZWxvZzogIgorCitzdGF0aWMgc3RydWN0
IG1jX2luZm8gZ19taTsKK3N0YXRpYyBzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1ICpnX3BoeXNp
bmZvOworc3RhdGljIHVpbnQzMl90IG5jcHVzOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG1j
ZWxvZ19sb2NrKTsKKworc3RhdGljIHN0cnVjdCB4ZW5fbWNlX2xvZyB4ZW5fbWNlbG9nID0gewor
CS5zaWduYXR1cmUJPSBYRU5fTUNFX0xPR19TSUdOQVRVUkUsCisJLmxlbgkJPSBYRU5fTUNFX0xP
R19MRU4sCisJLnJlY29yZGxlbgk9IHNpemVvZihzdHJ1Y3QgeGVuX21jZSksCit9OworCitzdGF0
aWMgREVGSU5FX1NQSU5MT0NLKHhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworc3RhdGljIGlu
dCB4ZW5fbWNlX2NocmRldl9vcGVuX2NvdW50OwkvKiAjdGltZXMgb3BlbmVkICovCitzdGF0aWMg
aW50IHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHU7CS8qIGFscmVhZHkgb3BlbiBleGNsdXNpdmU/
ICovCisKK3N0YXRpYyBpbnQgeGVuX21jZV9jaHJkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2Rl
LCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzcGluX2xvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRl
X2xvY2spOworCisJaWYgKHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHUgfHwKKwkgICAgKHhlbl9t
Y2VfY2hyZGV2X29wZW5fY291bnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKSkgeworCQlz
cGluX3VubG9jaygmeGVuX21jZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwkJcmV0dXJuIC1FQlVT
WTsKKwl9CisKKwlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkKKwkJeGVuX21jZV9jaHJkZXZf
b3Blbl9leGNsdSA9IDE7CisJeGVuX21jZV9jaHJkZXZfb3Blbl9jb3VudCsrOworCisJc3Bpbl91
bmxvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJcmV0dXJuIG5vbnNlZWthYmxl
X29wZW4oaW5vZGUsIGZpbGUpOworfQorCitzdGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X3JlbGVh
c2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3Bpbl9sb2Nr
KCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXhlbl9tY2VfY2hyZGV2X29wZW5fY291
bnQtLTsKKwl4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1ID0gMDsKKworCXNwaW5fdW5sb2NrKCZ4
ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3Np
emVfdCB4ZW5fbWNlX2NocmRldl9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAq
dWJ1ZiwKKwkJCQlzaXplX3QgdXNpemUsIGxvZmZfdCAqb2ZmKQoreworCWNoYXIgX191c2VyICpi
dWYgPSB1YnVmOworCXVuc2lnbmVkIG51bTsKKwlpbnQgaSwgZXJyOworCisJc3Bpbl9sb2NrKCZt
Y2Vsb2dfbG9jayk7CisKKwludW0gPSB4ZW5fbWNlbG9nLm5leHQ7CisKKwkvKiBPbmx5IHN1cHBv
cnRzIGZ1bGwgcmVhZHMgcmlnaHQgbm93ICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoKm9mZiAh
PSAwIHx8IHVzaXplIDwgWEVOX01DRV9MT0dfTEVOKnNpemVvZihzdHJ1Y3QgeGVuX21jZSkpCisJ
CWdvdG8gb3V0OworCisJZXJyID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJ
c3RydWN0IHhlbl9tY2UgKm0gPSAmeGVuX21jZWxvZy5lbnRyeVtpXTsKKworCQllcnIgfD0gY29w
eV90b191c2VyKGJ1ZiwgbSwgc2l6ZW9mKCptKSk7CisJCWJ1ZiArPSBzaXplb2YoKm0pOworCX0K
KworCW1lbXNldCh4ZW5fbWNlbG9nLmVudHJ5LCAwLCBudW0gKiBzaXplb2Yoc3RydWN0IHhlbl9t
Y2UpKTsKKwl4ZW5fbWNlbG9nLm5leHQgPSAwOworCisJaWYgKGVycikKKwkJZXJyID0gLUVGQVVM
VDsKKworb3V0OgorCXNwaW5fdW5sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwlyZXR1cm4gZXJyID8g
ZXJyIDogYnVmIC0gdWJ1ZjsKK30KKworc3RhdGljIGxvbmcgeGVuX21jZV9jaHJkZXZfaW9jdGwo
c3RydWN0IGZpbGUgKmYsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJdW5zaWduZWQgbG9uZyBhcmcp
Cit7CisJaW50IF9fdXNlciAqcCA9IChpbnQgX191c2VyICopYXJnOworCisJaWYgKCFjYXBhYmxl
KENBUF9TWVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJc3dpdGNoIChjbWQpIHsKKwlj
YXNlIE1DRV9HRVRfUkVDT1JEX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKHNpemVvZihzdHJ1Y3Qg
eGVuX21jZSksIHApOworCWNhc2UgTUNFX0dFVF9MT0dfTEVOOgorCQlyZXR1cm4gcHV0X3VzZXIo
WEVOX01DRV9MT0dfTEVOLCBwKTsKKwljYXNlIE1DRV9HRVRDTEVBUl9GTEFHUzogeworCQl1bnNp
Z25lZCBmbGFnczsKKworCQlkbyB7CisJCQlmbGFncyA9IHhlbl9tY2Vsb2cuZmxhZ3M7CisJCX0g
d2hpbGUgKGNtcHhjaGcoJnhlbl9tY2Vsb2cuZmxhZ3MsIGZsYWdzLCAwKSAhPSBmbGFncyk7CisK
KwkJcmV0dXJuIHB1dF91c2VyKGZsYWdzLCBwKTsKKwl9CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1F
Tk9UVFk7CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB4ZW5f
bWNlX2NocmRldl9vcHMgPSB7CisJLm9wZW4JCQk9IHhlbl9tY2VfY2hyZGV2X29wZW4sCisJLnJl
bGVhc2UJCT0geGVuX21jZV9jaHJkZXZfcmVsZWFzZSwKKwkucmVhZAkJCT0geGVuX21jZV9jaHJk
ZXZfcmVhZCwKKwkudW5sb2NrZWRfaW9jdGwJCT0geGVuX21jZV9jaHJkZXZfaW9jdGwsCisJLmxs
c2VlawkJCT0gbm9fbGxzZWVrLAorfTsKKworc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIHhlbl9t
Y2VfY2hyZGV2X2RldmljZSA9IHsKKwlNSVNDX01DRUxPR19NSU5PUiwKKwkibWNlbG9nIiwKKwkm
eGVuX21jZV9jaHJkZXZfb3BzLAorfTsKKworLyoKKyAqIENhbGxlciBzaG91bGQgaG9sZCB0aGUg
bWNlbG9nX2xvY2sKKyAqLworc3RhdGljIHZvaWQgeGVuX21jZV9sb2coc3RydWN0IHhlbl9tY2Ug
Km1jZSkKK3sKKwl1bnNpZ25lZCBlbnRyeTsKKworCWVudHJ5ID0geGVuX21jZWxvZy5uZXh0Owor
CisJLyoKKwkgKiBXaGVuIHRoZSBidWZmZXIgZmlsbHMgdXAgZGlzY2FyZCBuZXcgZW50cmllcy4K
KwkgKiBBc3N1bWUgdGhhdCB0aGUgZWFybGllciBlcnJvcnMgYXJlIHRoZSBtb3JlCisJICogaW50
ZXJlc3Rpbmcgb25lczoKKwkgKi8KKwlpZiAoZW50cnkgPj0gWEVOX01DRV9MT0dfTEVOKSB7CisJ
CXNldF9iaXQoWEVOX01DRV9PVkVSRkxPVywKKwkJCSh1bnNpZ25lZCBsb25nICopJnhlbl9tY2Vs
b2cuZmxhZ3MpOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KHhlbl9tY2Vsb2cuZW50cnkgKyBl
bnRyeSwgbWNlLCBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsKKworCXhlbl9tY2Vsb2cubmV4dCsr
OworfQorCitzdGF0aWMgaW50IGNvbnZlcnRfbG9nKHN0cnVjdCBtY19pbmZvICptaSkKK3sKKwlz
dHJ1Y3QgbWNpbmZvX2NvbW1vbiAqbWljOworCXN0cnVjdCBtY2luZm9fZ2xvYmFsICptY19nbG9i
YWw7CisJc3RydWN0IG1jaW5mb19iYW5rICptY19iYW5rOworCXN0cnVjdCB4ZW5fbWNlIG07CisJ
dWludDMyX3QgaTsKKworCW1pYyA9IE5VTEw7CisJeDg2X21jaW5mb19sb29rdXAoJm1pYywgbWks
IE1DX1RZUEVfR0xPQkFMKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJcHJfd2FybmluZyhY
RU5fTUNFTE9HICJGYWlsZWQgdG8gZmluZCBnbG9iYWwgZXJyb3IgaW5mb1xuIik7CisJCXJldHVy
biAtRU5PREVWOworCX0KKworCW1lbXNldCgmbSwgMCwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7
CisKKwltY19nbG9iYWwgPSAoc3RydWN0IG1jaW5mb19nbG9iYWwgKiltaWM7CisJbS5tY2dzdGF0
dXMgPSBtY19nbG9iYWwtPm1jX2dzdGF0dXM7CisJbS5hcGljaWQgPSBtY19nbG9iYWwtPm1jX2Fw
aWNpZDsKKworCWZvciAoaSA9IDA7IGkgPCBuY3B1czsgaSsrKQorCQlpZiAoZ19waHlzaW5mb1tp
XS5tY19hcGljaWQgPT0gbS5hcGljaWQpCisJCQlicmVhazsKKwlpZiAodW5saWtlbHkoaSA9PSBu
Y3B1cykpIHsKKwkJcHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8gbWF0Y2ggY3B1IHdp
dGggYXBpY2lkICVkXG4iLAorCQkJICAgbS5hcGljaWQpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9
CisKKwltLnNvY2tldGlkID0gZ19waHlzaW5mb1tpXS5tY19jaGlwaWQ7CisJbS5jcHUgPSBtLmV4
dGNwdSA9IGdfcGh5c2luZm9baV0ubWNfY3B1bnI7CisJbS5jcHV2ZW5kb3IgPSAoX191OClnX3Bo
eXNpbmZvW2ldLm1jX3ZlbmRvcjsKKwltLm1jZ2NhcCA9IGdfcGh5c2luZm9baV0ubWNfbXNydmFs
dWVzW19fTUNfTVNSX01DR0NBUF0udmFsdWU7CisKKwltaWMgPSBOVUxMOworCXg4Nl9tY2luZm9f
bG9va3VwKCZtaWMsIG1pLCBNQ19UWVBFX0JBTkspOworCWlmICh1bmxpa2VseSghbWljKSkgewor
CQlwcl93YXJuaW5nKFhFTl9NQ0VMT0cgIkZhaWwgdG8gZmluZCBiYW5rIGVycm9yIGluZm9cbiIp
OworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbyB7CisJCWlmICgoIW1pYykgfHwgKG1pYy0+
c2l6ZSA9PSAwKSB8fAorCQkgICAgKG1pYy0+dHlwZSAhPSBNQ19UWVBFX0dMT0JBTCAgICYmCisJ
CSAgICAgbWljLT50eXBlICE9IE1DX1RZUEVfQkFOSyAgICAgJiYKKwkJICAgICBtaWMtPnR5cGUg
IT0gTUNfVFlQRV9FWFRFTkRFRCAmJgorCQkgICAgIG1pYy0+dHlwZSAhPSBNQ19UWVBFX1JFQ09W
RVJZKSkKKwkJCWJyZWFrOworCisJCWlmIChtaWMtPnR5cGUgPT0gTUNfVFlQRV9CQU5LKSB7CisJ
CQltY19iYW5rID0gKHN0cnVjdCBtY2luZm9fYmFuayAqKW1pYzsKKwkJCW0ubWlzYyA9IG1jX2Jh
bmstPm1jX21pc2M7CisJCQltLnN0YXR1cyA9IG1jX2JhbmstPm1jX3N0YXR1czsKKwkJCW0uYWRk
ciA9IG1jX2JhbmstPm1jX2FkZHI7CisJCQltLnRzYyA9IG1jX2JhbmstPm1jX3RzYzsKKwkJCW0u
YmFuayA9IG1jX2JhbmstPm1jX2Jhbms7CisJCQltLmZpbmlzaGVkID0gMTsKKwkJCS8qbG9nIHRo
aXMgcmVjb3JkKi8KKwkJCXhlbl9tY2VfbG9nKCZtKTsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZv
X25leHQobWljKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50
IG1jX3F1ZXVlX2hhbmRsZSh1aW50MzJfdCBmbGFncykKK3sKKwlzdHJ1Y3QgeGVuX21jIG1jX29w
OworCWludCByZXQgPSAwOworCisJbWNfb3AuY21kID0gWEVOX01DX2ZldGNoOworCW1jX29wLmlu
dGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1
ZXN0X2hhbmRsZShtY19vcC51Lm1jX2ZldGNoLmRhdGEsICZnX21pKTsKKwlkbyB7CisJCW1jX29w
LnUubWNfZmV0Y2guZmxhZ3MgPSBmbGFnczsKKwkJcmV0ID0gSFlQRVJWSVNPUl9tY2EoJm1jX29w
KTsKKwkJaWYgKHJldCkgeworCQkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBmZXRjaCAl
cyBlcnJvciBsb2dcbiIsCisJCQkgICAgICAgKGZsYWdzID09IFhFTl9NQ19VUkdFTlQpID8KKwkJ
CSAgICAgICAidXJnbmV0IiA6ICJub251cmdlbnQiKTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYg
KG1jX29wLnUubWNfZmV0Y2guZmxhZ3MgJiBYRU5fTUNfTk9EQVRBIHx8CisJCSAgICBtY19vcC51
Lm1jX2ZldGNoLmZsYWdzICYgWEVOX01DX0ZFVENIRkFJTEVEKQorCQkJYnJlYWs7CisJCWVsc2Ug
eworCQkJcmV0ID0gY29udmVydF9sb2coJmdfbWkpOworCQkJaWYgKHJldCkKKwkJCQlwcl93YXJu
aW5nKFhFTl9NQ0VMT0cKKwkJCQkJICAgIkZhaWxlZCB0byBjb252ZXJ0IHRoaXMgZXJyb3IgbG9n
LCAiCisJCQkJCSAgICJjb250aW51ZSBhY2tpbmcgaXQgYW55d2F5XG4iKTsKKworCQkJbWNfb3Au
dS5tY19mZXRjaC5mbGFncyA9IGZsYWdzIHwgWEVOX01DX0FDSzsKKwkJCXJldCA9IEhZUEVSVklT
T1JfbWNhKCZtY19vcCk7CisJCQlpZiAocmV0KSB7CisJCQkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJ
CQkgICAgICAgIkZhaWxlZCB0byBhY2sgcHJldmlvdXMgZXJyb3IgbG9nXG4iKTsKKwkJCQlicmVh
azsKKwkJCX0KKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIHJldDsKK30KKworLyogdmly
cSBoYW5kbGVyIGZvciBtYWNoaW5lIGNoZWNrIGVycm9yIGluZm8qLworc3RhdGljIGlycXJldHVy
bl90IHhlbl9tY2VfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlpbnQgZXJy
OworCXVuc2lnbmVkIGxvbmcgdG1wOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJm1jZWxvZ19sb2Nr
LCB0bXApOworCisJLyogdXJnZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19xdWV1ZV9oYW5kbGUo
WEVOX01DX1VSR0VOVCk7CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJICAgICAg
ICJGYWlsZWQgdG8gaGFuZGxlIHVyZ2VudCBtY19pbmZvIHF1ZXVlLCAiCisJCSAgICAgICAiY29u
dGludWUgaGFuZGxpbmcgbm9udXJnZW50IG1jX2luZm8gcXVldWUgYW55d2F5LlxuIik7CisKKwkv
KiBub251cmdlbnQgbWNfaW5mbyAqLworCWVyciA9IG1jX3F1ZXVlX2hhbmRsZShYRU5fTUNfTk9O
VVJHRU5UKTsKKwlpZiAoZXJyKQorCQlwcl9lcnIoWEVOX01DRUxPRworCQkgICAgICAgIkZhaWxl
ZCB0byBoYW5kbGUgbm9udXJnZW50IG1jX2luZm8gcXVldWUuXG4iKTsKKworCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJm1jZWxvZ19sb2NrLCB0bXApOworCisJcmV0dXJuIElSUV9IQU5ETEVEOwor
fQorCitzdGF0aWMgaW50IGJpbmRfdmlycV9mb3JfbWNlKHZvaWQpCit7CisJaW50IHJldDsKKwlz
dHJ1Y3QgeGVuX21jIG1jX29wOworCisJbWVtc2V0KCZtY19vcCwgMCwgc2l6ZW9mKHN0cnVjdCB4
ZW5fbWMpKTsKKworCS8qIEZldGNoIHBoeXNpY2FsIENQVSBOdW1iZXJzICovCisJbWNfb3AuY21k
ID0gWEVOX01DX3BoeXNjcHVpbmZvOworCW1jX29wLmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01D
QV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX3Bo
eXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19v
cCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdldCBDUFUg
bnVtYmVyc1xuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyogRmV0Y2ggZWFjaCBDUFUgUGh5
c2ljYWwgSW5mbyBmb3IgbGF0ZXIgcmVmZXJlbmNlKi8KKwluY3B1cyA9IG1jX29wLnUubWNfcGh5
c2NwdWluZm8ubmNwdXM7CisJZ19waHlzaW5mbyA9IGtjYWxsb2MobmNwdXMsIHNpemVvZihzdHJ1
Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1KSwKKwkJCSAgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFnX3Bo
eXNpbmZvKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51
Lm1jX3BoeXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNh
KCZtY19vcCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdl
dCBDUFUgaW5mb1xuIik7CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0K
KworCXJldCAgPSBiaW5kX3ZpcnFfdG9faXJxaGFuZGxlcihWSVJRX01DQSwgMCwKKwkJCQkgICAg
ICAgeGVuX21jZV9pbnRlcnJ1cHQsIDAsICJtY2UiLCBOVUxMKTsKKwlpZiAocmV0IDwgMCkgewor
CQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGJpbmQgdmlycVxuIik7CisJCWtmcmVlKGdf
cGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMg
aW50IF9faW5pdCB4ZW5fbGF0ZV9pbml0X21jZWxvZyh2b2lkKQoreworCS8qIE9ubHkgRE9NMCBp
cyByZXNwb25zaWJsZSBmb3IgTUNFIGxvZ2dpbmcgKi8KKwlpZiAoeGVuX2luaXRpYWxfZG9tYWlu
KCkpIHsKKwkJLyogcmVnaXN0ZXIgY2hhcmFjdGVyIGRldmljZSAvZGV2L21jZWxvZyBmb3IgeGVu
IG1jZWxvZyAqLworCQlpZiAobWlzY19yZWdpc3RlcigmeGVuX21jZV9jaHJkZXZfZGV2aWNlKSkK
KwkJCXJldHVybiAtRU5PREVWOworCQlyZXR1cm4gYmluZF92aXJxX2Zvcl9tY2UoKTsKKwl9CisK
KwlyZXR1cm4gLUVOT0RFVjsKK30KK2RldmljZV9pbml0Y2FsbCh4ZW5fbGF0ZV9pbml0X21jZWxv
Zyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21pc2NkZXZpY2UuaCBiL2luY2x1ZGUvbGlu
dXgvbWlzY2RldmljZS5oCmluZGV4IDA1NDlkMjEuLmUwZGVlYjIgMTAwNjQ0Ci0tLSBhL2luY2x1
ZGUvbGludXgvbWlzY2RldmljZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCkBA
IC0zNSw2ICszNSw3IEBACiAjZGVmaW5lIE1QVF9NSU5PUgkJMjIwCiAjZGVmaW5lIE1QVDJTQVNf
TUlOT1IJCTIyMQogI2RlZmluZSBVSU5QVVRfTUlOT1IJCTIyMworI2RlZmluZSBNSVNDX01DRUxP
R19NSU5PUgkyMjcKICNkZWZpbmUgSFBFVF9NSU5PUgkJMjI4CiAjZGVmaW5lIEZVU0VfTUlOT1IJ
CTIyOQogI2RlZmluZSBLVk1fTUlOT1IJCTIzMgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50
ZXJmYWNlL3hlbi1tY2EuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNhNGVhNwotLS0gL2Rldi9udWxsCisrKyBi
L2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKQEAgLTAsMCArMSwzODUgQEAKKy8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKKyAqIGFyY2gteDg2L21jYS5oCisgKiBHdWVzdCBPUyBtYWNoaW5l
IGNoZWNrIGludGVyZmFjZSB0byB4ODYgWGVuLgorICoKKyAqIENvbnRyaWJ1dGVkIGJ5IEFkdmFu
Y2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogQ2hyaXN0b3BoIEVnZ2VyIDxDaHJp
c3RvcGguRWdnZXJAYW1kLmNvbT4KKyAqCisgKiBVcGRhdGVkIGJ5IEludGVsIENvcnBvcmF0aW9u
CisgKiBBdXRob3I6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgorICoKKyAq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUg
U29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3
YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisg
KgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICog
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
IFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FS
RS4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisjZGVmaW5l
IF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisKKy8qIEh5cGVyY2FsbCAqLworI2RlZmlu
ZSBfX0hZUEVSVklTT1JfbWNhIF9fSFlQRVJWSVNPUl9hcmNoXzAKKworI2RlZmluZSBYRU5fTUNB
X0lOVEVSRkFDRV9WRVJTSU9OCTB4MDFlY2MwMDMKKworLyogSU46IERvbTAgY2FsbHMgaHlwZXJj
YWxsIHRvIHJldHJpZXZlIG5vbnVyZ2VudCBlcnJvciBsb2cgZW50cnkgKi8KKyNkZWZpbmUgWEVO
X01DX05PTlVSR0VOVAkweDEKKy8qIElOOiBEb20wIGNhbGxzIGh5cGVyY2FsbCB0byByZXRyaWV2
ZSB1cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICovCisjZGVmaW5lIFhFTl9NQ19VUkdFTlQJCTB4Mgor
LyogSU46IERvbTAgYWNrbm93bGVkZ2VzIHByZXZpb3NseS1mZXRjaGVkIGVycm9yIGxvZyBlbnRy
eSAqLworI2RlZmluZSBYRU5fTUNfQUNLCQkweDQKKworLyogT1VUOiBBbGwgaXMgb2sgKi8KKyNk
ZWZpbmUgWEVOX01DX09LCQkweDAKKy8qIE9VVDogRG9tYWluIGNvdWxkIG5vdCBmZXRjaCBkYXRh
LiAqLworI2RlZmluZSBYRU5fTUNfRkVUQ0hGQUlMRUQJMHgxCisvKiBPVVQ6IFRoZXJlIHdhcyBu
byBtYWNoaW5lIGNoZWNrIGRhdGEgdG8gZmV0Y2guICovCisjZGVmaW5lIFhFTl9NQ19OT0RBVEEJ
CTB4MgorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyogdklSUSBpbmplY3RlZCB0byBEb20wICov
CisjZGVmaW5lIFZJUlFfTUNBIFZJUlFfQVJDSF8wCisKKy8qCisgKiBtY19pbmZvIGVudHJ5IHR5
cGVzCisgKiBtY2EgbWFjaGluZSBjaGVjayBpbmZvIGFyZSByZWNvcmRlZCBpbiBtY19pbmZvIGVu
dHJpZXMuCisgKiB3aGVuIGZldGNoIG1jYSBpbmZvLCBpdCBjYW4gdXNlIE1DX1RZUEVfLi4uIHRv
IGRpc3Rpbmd1aXNoCisgKiBkaWZmZXJlbnQgbWNhIGluZm8uCisgKi8KKyNkZWZpbmUgTUNfVFlQ
RV9HTE9CQUwJCTAKKyNkZWZpbmUgTUNfVFlQRV9CQU5LCQkxCisjZGVmaW5lIE1DX1RZUEVfRVhU
RU5ERUQJMgorI2RlZmluZSBNQ19UWVBFX1JFQ09WRVJZCTMKKworc3RydWN0IG1jaW5mb19jb21t
b24geworCXVpbnQxNl90IHR5cGU7IC8qIHN0cnVjdHVyZSB0eXBlICovCisJdWludDE2X3Qgc2l6
ZTsgLyogc2l6ZSBvZiB0aGlzIHN0cnVjdCBpbiBieXRlcyAqLworfTsKKworI2RlZmluZSBNQ19G
TEFHX0NPUlJFQ1RBQkxFCSgxIDw8IDApCisjZGVmaW5lIE1DX0ZMQUdfVU5DT1JSRUNUQUJMRQko
MSA8PCAxKQorI2RlZmluZSBNQ19GTEFHX1JFQ09WRVJBQkxFCSgxIDw8IDIpCisjZGVmaW5lIE1D
X0ZMQUdfUE9MTEVECQkoMSA8PCAzKQorI2RlZmluZSBNQ19GTEFHX1JFU0VUCQkoMSA8PCA0KQor
I2RlZmluZSBNQ19GTEFHX0NNQ0kJCSgxIDw8IDUpCisjZGVmaW5lIE1DX0ZMQUdfTUNFCQkoMSA8
PCA2KQorCisvKiBjb250YWlucyB4ODYgZ2xvYmFsIG1jIGluZm9ybWF0aW9uICovCitzdHJ1Y3Qg
bWNpbmZvX2dsb2JhbCB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2
X3QgbWNfZG9taWQ7IC8qIHJ1bm5pbmcgZG9tYWluIGF0IHRoZSB0aW1lIGluIGVycm9yICovCisJ
dWludDE2X3QgbWNfdmNwdWlkOyAvKiB2aXJ0dWFsIGNwdSBzY2hlZHVsZWQgZm9yIG1jX2RvbWlk
ICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7IC8qIHBoeXNpY2FsIHNvY2tldCBvZiB0aGUgcGh5
c2ljYWwgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVpZDsgLyogcGh5c2ljYWwgaW1wYWN0ZWQg
Y29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFkaWQ7IC8qIGNvcmUgdGhyZWFkIG9mIHBo
eXNpY2FsIGNvcmUgKi8KKwl1aW50MzJfdCBtY19hcGljaWQ7CisJdWludDMyX3QgbWNfZmxhZ3M7
CisJdWludDY0X3QgbWNfZ3N0YXR1czsgLyogZ2xvYmFsIHN0YXR1cyAqLworfTsKKworLyogY29u
dGFpbnMgeDg2IGJhbmsgbWMgaW5mb3JtYXRpb24gKi8KK3N0cnVjdCBtY2luZm9fYmFuayB7CisJ
c3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2X3QgbWNfYmFuazsgLyogYmFu
ayBuciAqLworCXVpbnQxNl90IG1jX2RvbWlkOyAvKiBkb21haW4gcmVmZXJlbmNlZCBieSBtY19h
ZGRyIGlmIHZhbGlkICovCisJdWludDY0X3QgbWNfc3RhdHVzOyAvKiBiYW5rIHN0YXR1cyAqLwor
CXVpbnQ2NF90IG1jX2FkZHI7IC8qIGJhbmsgYWRkcmVzcyAqLworCXVpbnQ2NF90IG1jX21pc2M7
CisJdWludDY0X3QgbWNfY3RybDI7CisJdWludDY0X3QgbWNfdHNjOworfTsKKworc3RydWN0IG1j
aW5mb19tc3IgeworCXVpbnQ2NF90IHJlZzsgLyogTVNSICovCisJdWludDY0X3QgdmFsdWU7IC8q
IE1TUiB2YWx1ZSAqLworfTsKKworLyogY29udGFpbnMgbWMgaW5mb3JtYXRpb24gZnJvbSBvdGhl
ciBvciBhZGRpdGlvbmFsIG1jIE1TUnMgKi8KK3N0cnVjdCBtY2luZm9fZXh0ZW5kZWQgeworCXN0
cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsKKwl1aW50MzJfdCBtY19tc3JzOyAvKiBOdW1iZXIg
b2YgbXNyIHdpdGggdmFsaWQgdmFsdWVzLiAqLworCS8qCisJICogQ3VycmVudGx5IEludGVsIGV4
dGVuZGVkIE1TUiAoMzIvNjQpIGluY2x1ZGUgYWxsIGdwIHJlZ2lzdGVycworCSAqIGFuZCBFKFIp
RkxBR1MsIEUoUilJUCwgRShSKU1JU0MsIHVwIHRvIDExLzE5IG9mIHRoZW0gbWlnaHQgYmUKKwkg
KiB1c2VmdWwgYXQgcHJlc2VudC4gU28gZXhwYW5kIHRoaXMgYXJyYXkgdG8gMTYvMzIgdG8gbGVh
dmUgcm9vbS4KKwkgKi8KKwlzdHJ1Y3QgbWNpbmZvX21zciBtY19tc3Jbc2l6ZW9mKHZvaWQgKikg
KiA0XTsKK307CisKKy8qIFJlY292ZXJ5IEFjdGlvbiBmbGFncy4gR2l2aW5nIHJlY292ZXJ5IHJl
c3VsdCBpbmZvcm1hdGlvbiB0byBET00wICovCisKKy8qIFhlbiB0YWtlcyBzdWNjZXNzZnVsIHJl
Y292ZXJ5IGFjdGlvbiwgdGhlIGVycm9yIGlzIHJlY292ZXJlZCAqLworI2RlZmluZSBSRUNfQUNU
SU9OX1JFQ09WRVJFRCAoMHgxIDw8IDApCisvKiBObyBhY3Rpb24gaXMgcGVyZm9ybWVkIGJ5IFhF
TiAqLworI2RlZmluZSBSRUNfQUNUSU9OX05PTkUgKDB4MSA8PCAxKQorLyogSXQncyBwb3NzaWJs
ZSBET00wIG1pZ2h0IHRha2UgYWN0aW9uIG93bmVyc2hpcCBpbiBzb21lIGNhc2UgKi8KKyNkZWZp
bmUgUkVDX0FDVElPTl9ORUVEX1JFU0VUICgweDEgPDwgMikKKworLyoKKyAqIERpZmZlcmVudCBS
ZWNvdmVyeSBBY3Rpb24gdHlwZXMsIGlmIHRoZSBhY3Rpb24gaXMgcGVyZm9ybWVkIHN1Y2Nlc3Nm
dWxseSwKKyAqIFJFQ19BQ1RJT05fUkVDT1ZFUkVEIGZsYWcgd2lsbCBiZSByZXR1cm5lZC4KKyAq
LworCisvKiBQYWdlIE9mZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FDVElPTl9QQUdFX09G
RkxJTkUgKDB4MSA8PCAwKQorLyogQ1BVIG9mZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FD
VElPTl9DUFVfT0ZGTElORSAoMHgxIDw8IDEpCisvKiBMMyBjYWNoZSBkaXNhYmxlIEFjdGlvbiAq
LworI2RlZmluZSBNQ19BQ1RJT05fQ0FDSEVfU0hSSU5LICgweDEgPDwgMikKKworLyoKKyAqIEJl
bG93IGludGVyZmFjZSB1c2VkIGJldHdlZW4gWEVOL0RPTTAgZm9yIHBhc3NpbmcgWEVOJ3MgcmVj
b3ZlcnkgYWN0aW9uCisgKiBpbmZvcm1hdGlvbiB0byBET00wLgorICovCitzdHJ1Y3QgcGFnZV9v
ZmZsaW5lX2FjdGlvbiB7CisJLyogUGFyYW1zIGZvciBwYXNzaW5nIHRoZSBvZmZsaW5lZCBwYWdl
IG51bWJlciB0byBET00wICovCisJdWludDY0X3QgbWZuOworCXVpbnQ2NF90IHN0YXR1czsKK307
CisKK3N0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24geworCS8qIFBhcmFtcyBmb3IgcGFzc2luZyB0
aGUgaWRlbnRpdHkgb2YgdGhlIG9mZmxpbmVkIENQVSB0byBET00wICovCisJdWludDMyX3QgbWNf
c29ja2V0aWQ7CisJdWludDE2X3QgbWNfY29yZWlkOworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFk
aWQ7Cit9OworCisjZGVmaW5lIE1BWF9VTklPTl9TSVpFIDE2CitzdHJ1Y3QgbWNpbmZvX3JlY292
ZXJ5IHsKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1vbiBjb21tb247CisJdWludDE2X3QgbWNfYmFuazsg
LyogYmFuayBuciAqLworCXVpbnQ4X3QgYWN0aW9uX2ZsYWdzOworCXVpbnQ4X3QgYWN0aW9uX3R5
cGVzOworCXVuaW9uIHsKKwkJc3RydWN0IHBhZ2Vfb2ZmbGluZV9hY3Rpb24gcGFnZV9yZXRpcmU7
CisJCXN0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24gY3B1X29mZmxpbmU7CisJCXVpbnQ4X3QgcGFk
W01BWF9VTklPTl9TSVpFXTsKKwl9IGFjdGlvbl9pbmZvOworfTsKKworCisjZGVmaW5lIE1DSU5G
T19NQVhTSVpFIDc2OAorc3RydWN0IG1jX2luZm8geworCS8qIE51bWJlciBvZiBtY2luZm9fKiBl
bnRyaWVzIGluIG1pX2RhdGEgKi8KKwl1aW50MzJfdCBtaV9uZW50cmllczsKKwl1aW50MzJfdCBm
bGFnczsKKwl1aW50NjRfdCBtaV9kYXRhWyhNQ0lORk9fTUFYU0laRSAtIDEpIC8gOF07Cit9Owor
REVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNfaW5mbyk7CisKKyNkZWZpbmUgX19NQ19NU1Jf
QVJSQVlTSVpFIDgKKyNkZWZpbmUgX19NQ19NU1JfTUNHQ0FQIDAKKyNkZWZpbmUgX19NQ19OTVNS
UyAxCisjZGVmaW5lIE1DX05DQVBTIDcKK3N0cnVjdCBtY2luZm9fbG9naWNhbF9jcHUgeworCXVp
bnQzMl90IG1jX2NwdW5yOworCXVpbnQzMl90IG1jX2NoaXBpZDsKKwl1aW50MTZfdCBtY19jb3Jl
aWQ7CisJdWludDE2X3QgbWNfdGhyZWFkaWQ7CisJdWludDMyX3QgbWNfYXBpY2lkOworCXVpbnQz
Ml90IG1jX2NsdXN0ZXJpZDsKKwl1aW50MzJfdCBtY19uY29yZXM7CisJdWludDMyX3QgbWNfbmNv
cmVzX2FjdGl2ZTsKKwl1aW50MzJfdCBtY19udGhyZWFkczsKKwl1aW50MzJfdCBtY19jcHVpZF9s
ZXZlbDsKKwl1aW50MzJfdCBtY19mYW1pbHk7CisJdWludDMyX3QgbWNfdmVuZG9yOworCXVpbnQz
Ml90IG1jX21vZGVsOworCXVpbnQzMl90IG1jX3N0ZXA7CisJY2hhciBtY192ZW5kb3JpZFsxNl07
CisJY2hhciBtY19icmFuZGlkWzY0XTsKKwl1aW50MzJfdCBtY19jcHVfY2Fwc1tNQ19OQ0FQU107
CisJdWludDMyX3QgbWNfY2FjaGVfc2l6ZTsKKwl1aW50MzJfdCBtY19jYWNoZV9hbGlnbm1lbnQ7
CisJdWludDMyX3QgbWNfbm1zcnZhbHM7CisJc3RydWN0IG1jaW5mb19tc3IgbWNfbXNydmFsdWVz
W19fTUNfTVNSX0FSUkFZU0laRV07Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNp
bmZvX2xvZ2ljYWxfY3B1KTsKKworLyoKKyAqIFByb3RvdHlwZToKKyAqICAgIHVpbnQzMl90IHg4
Nl9tY2luZm9fbmVudHJpZXMoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZf
bWNpbmZvX25lbnRyaWVzKF9taSkgICAgXAorCSgoX21pKS0+bWlfbmVudHJpZXMpCisvKgorICog
UHJvdG90eXBlOgorICogICAgc3RydWN0IG1jaW5mb19jb21tb24gKng4Nl9tY2luZm9fZmlyc3Qo
c3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZvX2ZpcnN0KF9taSkg
ICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19jb21tb24gKikoX21pKS0+bWlfZGF0YSkKKy8qCisg
KiBQcm90b3R5cGU6CisgKiAgICBzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqeDg2X21jaW5mb19uZXh0
KHN0cnVjdCBtY2luZm9fY29tbW9uICptaWMpOworICovCisjZGVmaW5lIHg4Nl9tY2luZm9fbmV4
dChfbWljKSAgICAgICBcCisJKChzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqKSgodWludDhfdCAqKShf
bWljKSArIChfbWljKS0+c2l6ZSkpCisKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICB2b2lkIHg4
Nl9tY2luZm9fbG9va3VwKHZvaWQgKnJldCwgc3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZfdCB0
eXBlKTsKKyAqLworc3RhdGljIGlubGluZSB2b2lkIHg4Nl9tY2luZm9fbG9va3VwKHN0cnVjdCBt
Y2luZm9fY29tbW9uICoqcmV0LAorCQkJCSAgICAgc3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZf
dCB0eXBlKQoreworCXVpbnQzMl90IGk7CisJc3RydWN0IG1jaW5mb19jb21tb24gKm1pYzsKKwli
b29sIGZvdW5kID0gMDsKKworCWlmICghcmV0IHx8ICFtaSkKKwkJcmV0dXJuOworCisJbWljID0g
eDg2X21jaW5mb19maXJzdChtaSk7CisJZm9yIChpID0gMDsgaSA8IHg4Nl9tY2luZm9fbmVudHJp
ZXMobWkpOyBpKyspIHsKKwkJaWYgKG1pYy0+dHlwZSA9PSB0eXBlKSB7CisJCQlmb3VuZCA9IDE7
CisJCQlicmVhazsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZvX25leHQobWljKTsKKwl9CisKKwkq
cmV0ID0gZm91bmQgPyBtaWMgOiBOVUxMOworfQorCisvKgorICogRmV0Y2ggbWFjaGluZSBjaGVj
ayBkYXRhIGZyb20gaHlwZXJ2aXNvci4KKyAqLworI2RlZmluZSBYRU5fTUNfZmV0Y2gJCTEKK3N0
cnVjdCB4ZW5fbWNfZmV0Y2ggeworCS8qCisJICogSU46IFhFTl9NQ19OT05VUkdFTlQsIFhFTl9N
Q19VUkdFTlQsCisJICogWEVOX01DX0FDSyBpZiBhY2sna2luZyBhbiBlYXJsaWVyIGZldGNoCisJ
ICogT1VUOiBYRU5fTUNfT0ssIFhFTl9NQ19GRVRDSEFJTEVELCBYRU5fTUNfTk9EQVRBCisJICov
CisJdWludDMyX3QgZmxhZ3M7CisJdWludDMyX3QgX3BhZDA7CisJLyogT1VUOiBpZCBmb3IgYWNr
LCBJTjogaWQgd2UgYXJlIGFjaydpbmcgKi8KKwl1aW50NjRfdCBmZXRjaF9pZDsKKworCS8qIE9V
VCB2YXJpYWJsZXMuICovCisJR1VFU1RfSEFORExFKG1jX2luZm8pIGRhdGE7Cit9OworREVGSU5F
X0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX2ZldGNoKTsKKworCisvKgorICogVGhpcyB0ZWxs
cyB0aGUgaHlwZXJ2aXNvciB0byBub3RpZnkgYSBEb21VIGFib3V0IHRoZSBtYWNoaW5lIGNoZWNr
IGVycm9yCisgKi8KKyNkZWZpbmUgWEVOX01DX25vdGlmeWRvbWFpbgkyCitzdHJ1Y3QgeGVuX21j
X25vdGlmeWRvbWFpbiB7CisJLyogSU4gdmFyaWFibGVzICovCisJdWludDE2X3QgbWNfZG9taWQ7
IC8qIFRoZSB1bnByaXZpbGVnZWQgZG9tYWluIHRvIG5vdGlmeSAqLworCXVpbnQxNl90IG1jX3Zj
cHVpZDsgLyogVGhlIHZjcHUgaW4gbWNfZG9taWQgdG8gbm90aWZ5ICovCisKKwkvKiBJTi9PVVQg
dmFyaWFibGVzICovCisJdWludDMyX3QgZmxhZ3M7Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9T
VFJVQ1QoeGVuX21jX25vdGlmeWRvbWFpbik7CisKKyNkZWZpbmUgWEVOX01DX3BoeXNjcHVpbmZv
CTMKK3N0cnVjdCB4ZW5fbWNfcGh5c2NwdWluZm8geworCS8qIElOL09VVCAqLworCXVpbnQzMl90
IG5jcHVzOworCXVpbnQzMl90IF9wYWQwOworCS8qIE9VVCAqLworCUdVRVNUX0hBTkRMRShtY2lu
Zm9fbG9naWNhbF9jcHUpIGluZm87Cit9OworCisjZGVmaW5lIFhFTl9NQ19tc3JpbmplY3QJNAor
I2RlZmluZSBNQ19NU1JJTkpfTUFYTVNSUwk4CitzdHJ1Y3QgeGVuX21jX21zcmluamVjdCB7CisJ
LyogSU4gKi8KKwl1aW50MzJfdCBtY2lual9jcHVucjsgLyogdGFyZ2V0IHByb2Nlc3NvciBpZCAq
LworCXVpbnQzMl90IG1jaW5qX2ZsYWdzOyAvKiBzZWUgTUNfTVNSSU5KX0ZfKiBiZWxvdyAqLwor
CXVpbnQzMl90IG1jaW5qX2NvdW50OyAvKiAwIC4uIGNvdW50LTEgaW4gYXJyYXkgYXJlIHZhbGlk
ICovCisJdWludDMyX3QgX3BhZDA7CisJc3RydWN0IG1jaW5mb19tc3IgbWNpbmpfbXNyW01DX01T
UklOSl9NQVhNU1JTXTsKK307CisKKy8qIEZsYWdzIGZvciBtY2lual9mbGFncyBhYm92ZTsgYml0
cyAxNi0zMSBhcmUgcmVzZXJ2ZWQgKi8KKyNkZWZpbmUgTUNfTVNSSU5KX0ZfSU5URVJQT1NFCTB4
MQorCisjZGVmaW5lIFhFTl9NQ19tY2VpbmplY3QJNQorc3RydWN0IHhlbl9tY19tY2VpbmplY3Qg
eworCXVuc2lnbmVkIGludCBtY2VpbmpfY3B1bnI7IC8qIHRhcmdldCBwcm9jZXNzb3IgaWQgKi8K
K307CisKK3N0cnVjdCB4ZW5fbWMgeworCXVpbnQzMl90IGNtZDsKKwl1aW50MzJfdCBpbnRlcmZh
Y2VfdmVyc2lvbjsgLyogWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTiAqLworCXVuaW9uIHsKKwkJ
c3RydWN0IHhlbl9tY19mZXRjaCAgICAgICAgbWNfZmV0Y2g7CisJCXN0cnVjdCB4ZW5fbWNfbm90
aWZ5ZG9tYWluIG1jX25vdGlmeWRvbWFpbjsKKwkJc3RydWN0IHhlbl9tY19waHlzY3B1aW5mbyAg
bWNfcGh5c2NwdWluZm87CisJCXN0cnVjdCB4ZW5fbWNfbXNyaW5qZWN0ICAgIG1jX21zcmluamVj
dDsKKwkJc3RydWN0IHhlbl9tY19tY2VpbmplY3QgICAgbWNfbWNlaW5qZWN0OworCX0gdTsKK307
CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWMpOworCisvKiBGaWVsZHMgYXJlIHpl
cm8gd2hlbiBub3QgYXZhaWxhYmxlICovCitzdHJ1Y3QgeGVuX21jZSB7CisJX191NjQgc3RhdHVz
OworCV9fdTY0IG1pc2M7CisJX191NjQgYWRkcjsKKwlfX3U2NCBtY2dzdGF0dXM7CisJX191NjQg
aXA7CisJX191NjQgdHNjOwkvKiBjcHUgdGltZSBzdGFtcCBjb3VudGVyICovCisJX191NjQgdGlt
ZTsJLyogd2FsbCB0aW1lX3Qgd2hlbiBlcnJvciB3YXMgZGV0ZWN0ZWQgKi8KKwlfX3U4ICBjcHV2
ZW5kb3I7CS8qIGNwdSB2ZW5kb3IgYXMgZW5jb2RlZCBpbiBzeXN0ZW0uaCAqLworCV9fdTggIGlu
amVjdF9mbGFnczsJLyogc29mdHdhcmUgaW5qZWN0IGZsYWdzICovCisJX191MTYgIHBhZDsKKwlf
X3UzMiBjcHVpZDsJLyogQ1BVSUQgMSBFQVggKi8KKwlfX3U4ICBjczsJCS8qIGNvZGUgc2VnbWVu
dCAqLworCV9fdTggIGJhbms7CS8qIG1hY2hpbmUgY2hlY2sgYmFuayAqLworCV9fdTggIGNwdTsJ
LyogY3B1IG51bWJlcjsgb2Jzb2xldGU7IHVzZSBleHRjcHUgbm93ICovCisJX191OCAgZmluaXNo
ZWQ7ICAgLyogZW50cnkgaXMgdmFsaWQgKi8KKwlfX3UzMiBleHRjcHU7CS8qIGxpbnV4IGNwdSBu
dW1iZXIgdGhhdCBkZXRlY3RlZCB0aGUgZXJyb3IgKi8KKwlfX3UzMiBzb2NrZXRpZDsJLyogQ1BV
IHNvY2tldCBJRCAqLworCV9fdTMyIGFwaWNpZDsJLyogQ1BVIGluaXRpYWwgYXBpYyBJRCAqLwor
CV9fdTY0IG1jZ2NhcDsJLyogTUNHQ0FQIE1TUjogbWFjaGluZSBjaGVjayBjYXBhYmlsaXRpZXMg
b2YgQ1BVICovCit9OworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFpbnMgYWxsIGRhdGEg
cmVsYXRlZCB0byB0aGUgTUNFIGxvZy4gIEFsc28KKyAqIGNhcnJpZXMgYSBzaWduYXR1cmUgdG8g
bWFrZSBpdCBlYXNpZXIgdG8gZmluZCBmcm9tIGV4dGVybmFsCisgKiBkZWJ1Z2dpbmcgdG9vbHMu
ICBFYWNoIGVudHJ5IGlzIG9ubHkgdmFsaWQgd2hlbiBpdHMgZmluaXNoZWQgZmxhZworICogaXMg
c2V0LgorICovCisKKyNkZWZpbmUgWEVOX01DRV9MT0dfTEVOIDMyCisKK3N0cnVjdCB4ZW5fbWNl
X2xvZyB7CisJY2hhciBzaWduYXR1cmVbMTJdOyAvKiAiTUFDSElORUNIRUNLIiAqLworCXVuc2ln
bmVkIGxlbjsJICAgIC8qID0gWEVOX01DRV9MT0dfTEVOICovCisJdW5zaWduZWQgbmV4dDsKKwl1
bnNpZ25lZCBmbGFnczsKKwl1bnNpZ25lZCByZWNvcmRsZW47CS8qIGxlbmd0aCBvZiBzdHJ1Y3Qg
eGVuX21jZSAqLworCXN0cnVjdCB4ZW5fbWNlIGVudHJ5W1hFTl9NQ0VfTE9HX0xFTl07Cit9Owor
CisjZGVmaW5lIFhFTl9NQ0VfT1ZFUkZMT1cgMAkJLyogYml0IDAgaW4gZmxhZ3MgbWVhbnMgb3Zl
cmZsb3cgKi8KKworI2RlZmluZSBYRU5fTUNFX0xPR19TSUdOQVRVUkUJIk1BQ0hJTkVDSEVDSyIK
KworI2RlZmluZSBNQ0VfR0VUX1JFQ09SRF9MRU4gICBfSU9SKCdNJywgMSwgaW50KQorI2RlZmlu
ZSBNQ0VfR0VUX0xPR19MRU4gICAgICBfSU9SKCdNJywgMiwgaW50KQorI2RlZmluZSBNQ0VfR0VU
Q0xFQVJfRkxBR1MgICBfSU9SKCdNJywgMywgaW50KQorCisjZW5kaWYgLyogX19BU1NFTUJMWV9f
ICovCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0FSQ0hfWDg2X01DQV9IX18gKi8KLS0gCjEuNy4x
Cgo=

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:31:15 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9D9-000824-3f; Thu, 31 May 2012 17:30:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9D6-00081a-Fi
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:30:57 +0000
Received: from [85.158.143.35:10525] by server-2.bemta-4.messagelabs.com id
	21/88-11595-FCAA7CF4; Thu, 31 May 2012 17:30:55 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1338485450!7314274!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27393 invoked from network); 31 May 2012 17:30:51 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-2.tower-21.messagelabs.com with SMTP;
	31 May 2012 17:30:51 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 10:30:50 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="106369076"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:30:50 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:30:49 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:30:47 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
Thread-Index: Ac0/UxzL4acV+iwERyy3wXcJqIVZkA==
Date: Thu, 31 May 2012 17:30:47 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB48@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From 5506f24e15c5d8adc3f501993660391211a2214a Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 1 Jun 2012 08:27:39 +0800
Subject: [PATCH 1/3] xen/mce: Add mcelog support for Xen platform

When MCA error occurs, it would be handled by Xen hypervisor first,
and then the error information would be sent to initial domain for logging.

This patch gets error information from Xen hypervisor and convert
Xen format error into Linux format mcelog. This logic is basically
self-contained, not touching other kernel components.

By using tools like mcelog tool users could read specific error information=
,
like what they did under native Linux.

To test follow directions outlined in Documentation/acpi/apei/einj.txt

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/include/asm/xen/hypercall.h |    8 +
 arch/x86/kernel/cpu/mcheck/mce.c     |    4 +-
 arch/x86/xen/enlighten.c             |    5 +-
 drivers/xen/Kconfig                  |    8 +
 drivers/xen/Makefile                 |    1 +
 drivers/xen/mcelog.c                 |  392 ++++++++++++++++++++++++++++++=
++++
 include/linux/miscdevice.h           |    1 +
 include/xen/interface/xen-mca.h      |  385 ++++++++++++++++++++++++++++++=
+++
 8 files changed, 798 insertions(+), 6 deletions(-)
 create mode 100644 drivers/xen/mcelog.c
 create mode 100644 include/xen/interface/xen-mca.h

diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xe=
n/hypercall.h
index 5728852..59c226d 100644
--- a/arch/x86/include/asm/xen/hypercall.h
+++ b/arch/x86/include/asm/xen/hypercall.h
@@ -48,6 +48,7 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/physdev.h>
 #include <xen/interface/platform.h>
+#include <xen/interface/xen-mca.h>
=20
 /*
  * The hypercall asms have to meet several constraints:
@@ -302,6 +303,13 @@ HYPERVISOR_set_timer_op(u64 timeout)
 }
=20
 static inline int
+HYPERVISOR_mca(struct xen_mc *mc_op)
+{
+	mc_op->interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	return _hypercall1(int, mca, mc_op);
+}
+
+static inline int
 HYPERVISOR_dom0_op(struct xen_platform_op *platform_op)
 {
 	platform_op->interface_version =3D XENPF_INTERFACE_VERSION;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/=
mce.c
index b772dd6..5e5c863 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -57,8 +57,6 @@ static DEFINE_MUTEX(mce_chrdev_read_mutex);
=20
 int mce_disabled __read_mostly;
=20
-#define MISC_MCELOG_MINOR	227
-
 #define SPINUNIT 100	/* 100ns */
=20
 atomic_t mce_entry;
@@ -2341,7 +2339,7 @@ static __init int mcheck_init_device(void)
=20
 	return err;
 }
-device_initcall(mcheck_init_device);
+device_initcall_sync(mcheck_init_device);
=20
 /*
  * Old style boot options parsing. Only for compatibility.
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 75f33b2..ff2d00e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -38,6 +38,7 @@
 #include <xen/interface/physdev.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/memory.h>
+#include <xen/interface/xen-mca.h>
 #include <xen/features.h>
 #include <xen/page.h>
 #include <xen/hvm.h>
@@ -333,9 +334,7 @@ static void __init xen_init_cpuid_mask(void)
 	unsigned int xsave_mask;
=20
 	cpuid_leaf1_edx_mask =3D
-		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
-		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
-		  (1 << X86_FEATURE_MTRR) |  /* disable MTRR */
+		~((1 << X86_FEATURE_MTRR) |  /* disable MTRR */
 		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
=20
 	if (!xen_initial_domain())
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 8d2501e..d4dffcd 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -196,4 +196,12 @@ config XEN_ACPI_PROCESSOR
 	  called xen_acpi_processor  If you do not know what to choose, select
 	  M here. If the CPUFREQ drivers are built in, select Y here.
=20
+config XEN_MCE_LOG
+	bool "Xen platform mcelog"
+	depends on XEN_DOM0 && X86_64 && X86_MCE
+	default n
+	help
+	  Allow kernel fetching MCE error from Xen platform and
+	  converting it into Linux mcelog format for mcelog tools
+
 endmenu
diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index fc34886..a787029 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_XEN_PVHVM)			+=3D platform-pci.o
 obj-$(CONFIG_XEN_TMEM)			+=3D tmem.o
 obj-$(CONFIG_SWIOTLB_XEN)		+=3D swiotlb-xen.o
 obj-$(CONFIG_XEN_DOM0)			+=3D pci.o acpi.o
+obj-$(CONFIG_XEN_MCE_LOG)		+=3D mcelog.o
 obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+=3D xen-pciback/
 obj-$(CONFIG_XEN_PRIVCMD)		+=3D xen-privcmd.o
 obj-$(CONFIG_XEN_ACPI_PROCESSOR)	+=3D xen-acpi-processor.o
diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
new file mode 100644
index 0000000..72e87d2
--- /dev/null
+++ b/drivers/xen/mcelog.c
@@ -0,0 +1,392 @@
+/*************************************************************************=
*****
+ * mcelog.c
+ * Driver for receiving and transferring machine check error infomation
+ *
+ * Copyright (c) 2012 Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ * Author: Jiang, Yunhong <yunhong.jiang@intel.com>
+ * Author: Ke, Liping <liping.ke@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modi=
fy,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Softw=
are,
+ * and to permit persons to whom the Software is furnished to do so, subje=
ct to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEA=
LINGS
+ * IN THE SOFTWARE.
+ */
+
+#include <linux/init.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fs.h>
+#include <linux/device.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/capability.h>
+
+#include <xen/interface/xen.h>
+#include <xen/events.h>
+#include <xen/interface/vcpu.h>
+#include <xen/xen.h>
+#include <asm/xen/hypercall.h>
+#include <asm/xen/hypervisor.h>
+
+#define XEN_MCELOG "xen_mcelog: "
+
+static struct mc_info g_mi;
+static struct mcinfo_logical_cpu *g_physinfo;
+static uint32_t ncpus;
+
+static DEFINE_SPINLOCK(mcelog_lock);
+
+static struct xen_mce_log xen_mcelog =3D {
+	.signature	=3D XEN_MCE_LOG_SIGNATURE,
+	.len		=3D XEN_MCE_LOG_LEN,
+	.recordlen	=3D sizeof(struct xen_mce),
+};
+
+static DEFINE_SPINLOCK(xen_mce_chrdev_state_lock);
+static int xen_mce_chrdev_open_count;	/* #times opened */
+static int xen_mce_chrdev_open_exclu;	/* already open exclusive? */
+
+static int xen_mce_chrdev_open(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	if (xen_mce_chrdev_open_exclu ||
+	    (xen_mce_chrdev_open_count && (file->f_flags & O_EXCL))) {
+		spin_unlock(&xen_mce_chrdev_state_lock);
+
+		return -EBUSY;
+	}
+
+	if (file->f_flags & O_EXCL)
+		xen_mce_chrdev_open_exclu =3D 1;
+	xen_mce_chrdev_open_count++;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return nonseekable_open(inode, file);
+}
+
+static int xen_mce_chrdev_release(struct inode *inode, struct file *file)
+{
+	spin_lock(&xen_mce_chrdev_state_lock);
+
+	xen_mce_chrdev_open_count--;
+	xen_mce_chrdev_open_exclu =3D 0;
+
+	spin_unlock(&xen_mce_chrdev_state_lock);
+
+	return 0;
+}
+
+static ssize_t xen_mce_chrdev_read(struct file *filp, char __user *ubuf,
+				size_t usize, loff_t *off)
+{
+	char __user *buf =3D ubuf;
+	unsigned num;
+	int i, err;
+
+	spin_lock(&mcelog_lock);
+
+	num =3D xen_mcelog.next;
+
+	/* Only supports full reads right now */
+	err =3D -EINVAL;
+	if (*off !=3D 0 || usize < XEN_MCE_LOG_LEN*sizeof(struct xen_mce))
+		goto out;
+
+	err =3D 0;
+	for (i =3D 0; i < num; i++) {
+		struct xen_mce *m =3D &xen_mcelog.entry[i];
+
+		err |=3D copy_to_user(buf, m, sizeof(*m));
+		buf +=3D sizeof(*m);
+	}
+
+	memset(xen_mcelog.entry, 0, num * sizeof(struct xen_mce));
+	xen_mcelog.next =3D 0;
+
+	if (err)
+		err =3D -EFAULT;
+
+out:
+	spin_unlock(&mcelog_lock);
+
+	return err ? err : buf - ubuf;
+}
+
+static long xen_mce_chrdev_ioctl(struct file *f, unsigned int cmd,
+				unsigned long arg)
+{
+	int __user *p =3D (int __user *)arg;
+
+	if (!capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	switch (cmd) {
+	case MCE_GET_RECORD_LEN:
+		return put_user(sizeof(struct xen_mce), p);
+	case MCE_GET_LOG_LEN:
+		return put_user(XEN_MCE_LOG_LEN, p);
+	case MCE_GETCLEAR_FLAGS: {
+		unsigned flags;
+
+		do {
+			flags =3D xen_mcelog.flags;
+		} while (cmpxchg(&xen_mcelog.flags, flags, 0) !=3D flags);
+
+		return put_user(flags, p);
+	}
+	default:
+		return -ENOTTY;
+	}
+}
+
+static const struct file_operations xen_mce_chrdev_ops =3D {
+	.open			=3D xen_mce_chrdev_open,
+	.release		=3D xen_mce_chrdev_release,
+	.read			=3D xen_mce_chrdev_read,
+	.unlocked_ioctl		=3D xen_mce_chrdev_ioctl,
+	.llseek			=3D no_llseek,
+};
+
+static struct miscdevice xen_mce_chrdev_device =3D {
+	MISC_MCELOG_MINOR,
+	"mcelog",
+	&xen_mce_chrdev_ops,
+};
+
+/*
+ * Caller should hold the mcelog_lock
+ */
+static void xen_mce_log(struct xen_mce *mce)
+{
+	unsigned entry;
+
+	entry =3D xen_mcelog.next;
+
+	/*
+	 * When the buffer fills up discard new entries.
+	 * Assume that the earlier errors are the more
+	 * interesting ones:
+	 */
+	if (entry >=3D XEN_MCE_LOG_LEN) {
+		set_bit(XEN_MCE_OVERFLOW,
+			(unsigned long *)&xen_mcelog.flags);
+		return;
+	}
+
+	memcpy(xen_mcelog.entry + entry, mce, sizeof(struct xen_mce));
+
+	xen_mcelog.next++;
+}
+
+static int convert_log(struct mc_info *mi)
+{
+	struct mcinfo_common *mic;
+	struct mcinfo_global *mc_global;
+	struct mcinfo_bank *mc_bank;
+	struct xen_mce m;
+	uint32_t i;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_GLOBAL);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Failed to find global error info\n");
+		return -ENODEV;
+	}
+
+	memset(&m, 0, sizeof(struct xen_mce));
+
+	mc_global =3D (struct mcinfo_global *)mic;
+	m.mcgstatus =3D mc_global->mc_gstatus;
+	m.apicid =3D mc_global->mc_apicid;
+
+	for (i =3D 0; i < ncpus; i++)
+		if (g_physinfo[i].mc_apicid =3D=3D m.apicid)
+			break;
+	if (unlikely(i =3D=3D ncpus)) {
+		pr_warning(XEN_MCELOG "Failed to match cpu with apicid %d\n",
+			   m.apicid);
+		return -ENODEV;
+	}
+
+	m.socketid =3D g_physinfo[i].mc_chipid;
+	m.cpu =3D m.extcpu =3D g_physinfo[i].mc_cpunr;
+	m.cpuvendor =3D (__u8)g_physinfo[i].mc_vendor;
+	m.mcgcap =3D g_physinfo[i].mc_msrvalues[__MC_MSR_MCGCAP].value;
+
+	mic =3D NULL;
+	x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK);
+	if (unlikely(!mic)) {
+		pr_warning(XEN_MCELOG "Fail to find bank error info\n");
+		return -ENODEV;
+	}
+
+	do {
+		if ((!mic) || (mic->size =3D=3D 0) ||
+		    (mic->type !=3D MC_TYPE_GLOBAL   &&
+		     mic->type !=3D MC_TYPE_BANK     &&
+		     mic->type !=3D MC_TYPE_EXTENDED &&
+		     mic->type !=3D MC_TYPE_RECOVERY))
+			break;
+
+		if (mic->type =3D=3D MC_TYPE_BANK) {
+			mc_bank =3D (struct mcinfo_bank *)mic;
+			m.misc =3D mc_bank->mc_misc;
+			m.status =3D mc_bank->mc_status;
+			m.addr =3D mc_bank->mc_addr;
+			m.tsc =3D mc_bank->mc_tsc;
+			m.bank =3D mc_bank->mc_bank;
+			m.finished =3D 1;
+			/*log this record*/
+			xen_mce_log(&m);
+		}
+		mic =3D x86_mcinfo_next(mic);
+	} while (1);
+
+	return 0;
+}
+
+static int mc_queue_handle(uint32_t flags)
+{
+	struct xen_mc mc_op;
+	int ret =3D 0;
+
+	mc_op.cmd =3D XEN_MC_fetch;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_fetch.data, &g_mi);
+	do {
+		mc_op.u.mc_fetch.flags =3D flags;
+		ret =3D HYPERVISOR_mca(&mc_op);
+		if (ret) {
+			pr_err(XEN_MCELOG "Failed to fetch %s error log\n",
+			       (flags =3D=3D XEN_MC_URGENT) ?
+			       "urgnet" : "nonurgent");
+			break;
+		}
+
+		if (mc_op.u.mc_fetch.flags & XEN_MC_NODATA ||
+		    mc_op.u.mc_fetch.flags & XEN_MC_FETCHFAILED)
+			break;
+		else {
+			ret =3D convert_log(&g_mi);
+			if (ret)
+				pr_warning(XEN_MCELOG
+					   "Failed to convert this error log, "
+					   "continue acking it anyway\n");
+
+			mc_op.u.mc_fetch.flags =3D flags | XEN_MC_ACK;
+			ret =3D HYPERVISOR_mca(&mc_op);
+			if (ret) {
+				pr_err(XEN_MCELOG
+				       "Failed to ack previous error log\n");
+				break;
+			}
+		}
+	} while (1);
+
+	return ret;
+}
+
+/* virq handler for machine check error info*/
+static irqreturn_t xen_mce_interrupt(int irq, void *dev_id)
+{
+	int err;
+	unsigned long tmp;
+
+	spin_lock_irqsave(&mcelog_lock, tmp);
+
+	/* urgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_URGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle urgent mc_info queue, "
+		       "continue handling nonurgent mc_info queue anyway.\n");
+
+	/* nonurgent mc_info */
+	err =3D mc_queue_handle(XEN_MC_NONURGENT);
+	if (err)
+		pr_err(XEN_MCELOG
+		       "Failed to handle nonurgent mc_info queue.\n");
+
+	spin_unlock_irqrestore(&mcelog_lock, tmp);
+
+	return IRQ_HANDLED;
+}
+
+static int bind_virq_for_mce(void)
+{
+	int ret;
+	struct xen_mc mc_op;
+
+	memset(&mc_op, 0, sizeof(struct xen_mc));
+
+	/* Fetch physical CPU Numbers */
+	mc_op.cmd =3D XEN_MC_physcpuinfo;
+	mc_op.interface_version =3D XEN_MCA_INTERFACE_VERSION;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU numbers\n");
+		return ret;
+	}
+
+	/* Fetch each CPU Physical Info for later reference*/
+	ncpus =3D mc_op.u.mc_physcpuinfo.ncpus;
+	g_physinfo =3D kcalloc(ncpus, sizeof(struct mcinfo_logical_cpu),
+			     GFP_KERNEL);
+	if (!g_physinfo)
+		return -ENOMEM;
+	set_xen_guest_handle(mc_op.u.mc_physcpuinfo.info, g_physinfo);
+	ret =3D HYPERVISOR_mca(&mc_op);
+	if (ret) {
+		pr_err(XEN_MCELOG "Failed to get CPU info\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	ret  =3D bind_virq_to_irqhandler(VIRQ_MCA, 0,
+				       xen_mce_interrupt, 0, "mce", NULL);
+	if (ret < 0) {
+		pr_err(XEN_MCELOG "Failed to bind virq\n");
+		kfree(g_physinfo);
+		return ret;
+	}
+
+	return 0;
+}
+
+static int __init xen_late_init_mcelog(void)
+{
+	/* Only DOM0 is responsible for MCE logging */
+	if (xen_initial_domain()) {
+		/* register character device /dev/mcelog for xen mcelog */
+		if (misc_register(&xen_mce_chrdev_device))
+			return -ENODEV;
+		return bind_virq_for_mce();
+	}
+
+	return -ENODEV;
+}
+device_initcall(xen_late_init_mcelog);
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index 0549d21..e0deeb2 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -35,6 +35,7 @@
 #define MPT_MINOR		220
 #define MPT2SAS_MINOR		221
 #define UINPUT_MINOR		223
+#define MISC_MCELOG_MINOR	227
 #define HPET_MINOR		228
 #define FUSE_MINOR		229
 #define KVM_MINOR		232
diff --git a/include/xen/interface/xen-mca.h b/include/xen/interface/xen-mc=
a.h
new file mode 100644
index 0000000..73a4ea7
--- /dev/null
+++ b/include/xen/interface/xen-mca.h
@@ -0,0 +1,385 @@
+/*************************************************************************=
*****
+ * arch-x86/mca.h
+ * Guest OS machine check interface to x86 Xen.
+ *
+ * Contributed by Advanced Micro Devices, Inc.
+ * Author: Christoph Egger <Christoph.Egger@amd.com>
+ *
+ * Updated by Intel Corporation
+ * Author: Liu, Jinsong <jinsong.liu@intel.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a=
 copy
+ * of this software and associated documentation files (the "Software"), t=
o
+ * deal in the Software without restriction, including without limitation =
the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, an=
d/or
+ * sell copies of the Software, and to permit persons to whom the Software=
 is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included=
 in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS=
 OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY=
,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL=
 THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_MCA_H__
+#define __XEN_PUBLIC_ARCH_X86_MCA_H__
+
+/* Hypercall */
+#define __HYPERVISOR_mca __HYPERVISOR_arch_0
+
+#define XEN_MCA_INTERFACE_VERSION	0x01ecc003
+
+/* IN: Dom0 calls hypercall to retrieve nonurgent error log entry */
+#define XEN_MC_NONURGENT	0x1
+/* IN: Dom0 calls hypercall to retrieve urgent error log entry */
+#define XEN_MC_URGENT		0x2
+/* IN: Dom0 acknowledges previosly-fetched error log entry */
+#define XEN_MC_ACK		0x4
+
+/* OUT: All is ok */
+#define XEN_MC_OK		0x0
+/* OUT: Domain could not fetch data. */
+#define XEN_MC_FETCHFAILED	0x1
+/* OUT: There was no machine check data to fetch. */
+#define XEN_MC_NODATA		0x2
+
+#ifndef __ASSEMBLY__
+/* vIRQ injected to Dom0 */
+#define VIRQ_MCA VIRQ_ARCH_0
+
+/*
+ * mc_info entry types
+ * mca machine check info are recorded in mc_info entries.
+ * when fetch mca info, it can use MC_TYPE_... to distinguish
+ * different mca info.
+ */
+#define MC_TYPE_GLOBAL		0
+#define MC_TYPE_BANK		1
+#define MC_TYPE_EXTENDED	2
+#define MC_TYPE_RECOVERY	3
+
+struct mcinfo_common {
+	uint16_t type; /* structure type */
+	uint16_t size; /* size of this struct in bytes */
+};
+
+#define MC_FLAG_CORRECTABLE	(1 << 0)
+#define MC_FLAG_UNCORRECTABLE	(1 << 1)
+#define MC_FLAG_RECOVERABLE	(1 << 2)
+#define MC_FLAG_POLLED		(1 << 3)
+#define MC_FLAG_RESET		(1 << 4)
+#define MC_FLAG_CMCI		(1 << 5)
+#define MC_FLAG_MCE		(1 << 6)
+
+/* contains x86 global mc information */
+struct mcinfo_global {
+	struct mcinfo_common common;
+
+	uint16_t mc_domid; /* running domain at the time in error */
+	uint16_t mc_vcpuid; /* virtual cpu scheduled for mc_domid */
+	uint32_t mc_socketid; /* physical socket of the physical core */
+	uint16_t mc_coreid; /* physical impacted core */
+	uint16_t mc_core_threadid; /* core thread of physical core */
+	uint32_t mc_apicid;
+	uint32_t mc_flags;
+	uint64_t mc_gstatus; /* global status */
+};
+
+/* contains x86 bank mc information */
+struct mcinfo_bank {
+	struct mcinfo_common common;
+
+	uint16_t mc_bank; /* bank nr */
+	uint16_t mc_domid; /* domain referenced by mc_addr if valid */
+	uint64_t mc_status; /* bank status */
+	uint64_t mc_addr; /* bank address */
+	uint64_t mc_misc;
+	uint64_t mc_ctrl2;
+	uint64_t mc_tsc;
+};
+
+struct mcinfo_msr {
+	uint64_t reg; /* MSR */
+	uint64_t value; /* MSR value */
+};
+
+/* contains mc information from other or additional mc MSRs */
+struct mcinfo_extended {
+	struct mcinfo_common common;
+	uint32_t mc_msrs; /* Number of msr with valid values. */
+	/*
+	 * Currently Intel extended MSR (32/64) include all gp registers
+	 * and E(R)FLAGS, E(R)IP, E(R)MISC, up to 11/19 of them might be
+	 * useful at present. So expand this array to 16/32 to leave room.
+	 */
+	struct mcinfo_msr mc_msr[sizeof(void *) * 4];
+};
+
+/* Recovery Action flags. Giving recovery result information to DOM0 */
+
+/* Xen takes successful recovery action, the error is recovered */
+#define REC_ACTION_RECOVERED (0x1 << 0)
+/* No action is performed by XEN */
+#define REC_ACTION_NONE (0x1 << 1)
+/* It's possible DOM0 might take action ownership in some case */
+#define REC_ACTION_NEED_RESET (0x1 << 2)
+
+/*
+ * Different Recovery Action types, if the action is performed successfull=
y,
+ * REC_ACTION_RECOVERED flag will be returned.
+ */
+
+/* Page Offline Action */
+#define MC_ACTION_PAGE_OFFLINE (0x1 << 0)
+/* CPU offline Action */
+#define MC_ACTION_CPU_OFFLINE (0x1 << 1)
+/* L3 cache disable Action */
+#define MC_ACTION_CACHE_SHRINK (0x1 << 2)
+
+/*
+ * Below interface used between XEN/DOM0 for passing XEN's recovery action
+ * information to DOM0.
+ */
+struct page_offline_action {
+	/* Params for passing the offlined page number to DOM0 */
+	uint64_t mfn;
+	uint64_t status;
+};
+
+struct cpu_offline_action {
+	/* Params for passing the identity of the offlined CPU to DOM0 */
+	uint32_t mc_socketid;
+	uint16_t mc_coreid;
+	uint16_t mc_core_threadid;
+};
+
+#define MAX_UNION_SIZE 16
+struct mcinfo_recovery {
+	struct mcinfo_common common;
+	uint16_t mc_bank; /* bank nr */
+	uint8_t action_flags;
+	uint8_t action_types;
+	union {
+		struct page_offline_action page_retire;
+		struct cpu_offline_action cpu_offline;
+		uint8_t pad[MAX_UNION_SIZE];
+	} action_info;
+};
+
+
+#define MCINFO_MAXSIZE 768
+struct mc_info {
+	/* Number of mcinfo_* entries in mi_data */
+	uint32_t mi_nentries;
+	uint32_t flags;
+	uint64_t mi_data[(MCINFO_MAXSIZE - 1) / 8];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mc_info);
+
+#define __MC_MSR_ARRAYSIZE 8
+#define __MC_MSR_MCGCAP 0
+#define __MC_NMSRS 1
+#define MC_NCAPS 7
+struct mcinfo_logical_cpu {
+	uint32_t mc_cpunr;
+	uint32_t mc_chipid;
+	uint16_t mc_coreid;
+	uint16_t mc_threadid;
+	uint32_t mc_apicid;
+	uint32_t mc_clusterid;
+	uint32_t mc_ncores;
+	uint32_t mc_ncores_active;
+	uint32_t mc_nthreads;
+	uint32_t mc_cpuid_level;
+	uint32_t mc_family;
+	uint32_t mc_vendor;
+	uint32_t mc_model;
+	uint32_t mc_step;
+	char mc_vendorid[16];
+	char mc_brandid[64];
+	uint32_t mc_cpu_caps[MC_NCAPS];
+	uint32_t mc_cache_size;
+	uint32_t mc_cache_alignment;
+	uint32_t mc_nmsrvals;
+	struct mcinfo_msr mc_msrvalues[__MC_MSR_ARRAYSIZE];
+};
+DEFINE_GUEST_HANDLE_STRUCT(mcinfo_logical_cpu);
+
+/*
+ * Prototype:
+ *    uint32_t x86_mcinfo_nentries(struct mc_info *mi);
+ */
+#define x86_mcinfo_nentries(_mi)    \
+	((_mi)->mi_nentries)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_first(struct mc_info *mi);
+ */
+#define x86_mcinfo_first(_mi)       \
+	((struct mcinfo_common *)(_mi)->mi_data)
+/*
+ * Prototype:
+ *    struct mcinfo_common *x86_mcinfo_next(struct mcinfo_common *mic);
+ */
+#define x86_mcinfo_next(_mic)       \
+	((struct mcinfo_common *)((uint8_t *)(_mic) + (_mic)->size))
+
+/*
+ * Prototype:
+ *    void x86_mcinfo_lookup(void *ret, struct mc_info *mi, uint16_t type)=
;
+ */
+static inline void x86_mcinfo_lookup(struct mcinfo_common **ret,
+				     struct mc_info *mi, uint16_t type)
+{
+	uint32_t i;
+	struct mcinfo_common *mic;
+	bool found =3D 0;
+
+	if (!ret || !mi)
+		return;
+
+	mic =3D x86_mcinfo_first(mi);
+	for (i =3D 0; i < x86_mcinfo_nentries(mi); i++) {
+		if (mic->type =3D=3D type) {
+			found =3D 1;
+			break;
+		}
+		mic =3D x86_mcinfo_next(mic);
+	}
+
+	*ret =3D found ? mic : NULL;
+}
+
+/*
+ * Fetch machine check data from hypervisor.
+ */
+#define XEN_MC_fetch		1
+struct xen_mc_fetch {
+	/*
+	 * IN: XEN_MC_NONURGENT, XEN_MC_URGENT,
+	 * XEN_MC_ACK if ack'king an earlier fetch
+	 * OUT: XEN_MC_OK, XEN_MC_FETCHAILED, XEN_MC_NODATA
+	 */
+	uint32_t flags;
+	uint32_t _pad0;
+	/* OUT: id for ack, IN: id we are ack'ing */
+	uint64_t fetch_id;
+
+	/* OUT variables. */
+	GUEST_HANDLE(mc_info) data;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_fetch);
+
+
+/*
+ * This tells the hypervisor to notify a DomU about the machine check erro=
r
+ */
+#define XEN_MC_notifydomain	2
+struct xen_mc_notifydomain {
+	/* IN variables */
+	uint16_t mc_domid; /* The unprivileged domain to notify */
+	uint16_t mc_vcpuid; /* The vcpu in mc_domid to notify */
+
+	/* IN/OUT variables */
+	uint32_t flags;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc_notifydomain);
+
+#define XEN_MC_physcpuinfo	3
+struct xen_mc_physcpuinfo {
+	/* IN/OUT */
+	uint32_t ncpus;
+	uint32_t _pad0;
+	/* OUT */
+	GUEST_HANDLE(mcinfo_logical_cpu) info;
+};
+
+#define XEN_MC_msrinject	4
+#define MC_MSRINJ_MAXMSRS	8
+struct xen_mc_msrinject {
+	/* IN */
+	uint32_t mcinj_cpunr; /* target processor id */
+	uint32_t mcinj_flags; /* see MC_MSRINJ_F_* below */
+	uint32_t mcinj_count; /* 0 .. count-1 in array are valid */
+	uint32_t _pad0;
+	struct mcinfo_msr mcinj_msr[MC_MSRINJ_MAXMSRS];
+};
+
+/* Flags for mcinj_flags above; bits 16-31 are reserved */
+#define MC_MSRINJ_F_INTERPOSE	0x1
+
+#define XEN_MC_mceinject	5
+struct xen_mc_mceinject {
+	unsigned int mceinj_cpunr; /* target processor id */
+};
+
+struct xen_mc {
+	uint32_t cmd;
+	uint32_t interface_version; /* XEN_MCA_INTERFACE_VERSION */
+	union {
+		struct xen_mc_fetch        mc_fetch;
+		struct xen_mc_notifydomain mc_notifydomain;
+		struct xen_mc_physcpuinfo  mc_physcpuinfo;
+		struct xen_mc_msrinject    mc_msrinject;
+		struct xen_mc_mceinject    mc_mceinject;
+	} u;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
+
+/* Fields are zero when not available */
+struct xen_mce {
+	__u64 status;
+	__u64 misc;
+	__u64 addr;
+	__u64 mcgstatus;
+	__u64 ip;
+	__u64 tsc;	/* cpu time stamp counter */
+	__u64 time;	/* wall time_t when error was detected */
+	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
+	__u8  inject_flags;	/* software inject flags */
+	__u16  pad;
+	__u32 cpuid;	/* CPUID 1 EAX */
+	__u8  cs;		/* code segment */
+	__u8  bank;	/* machine check bank */
+	__u8  cpu;	/* cpu number; obsolete; use extcpu now */
+	__u8  finished;   /* entry is valid */
+	__u32 extcpu;	/* linux cpu number that detected the error */
+	__u32 socketid;	/* CPU socket ID */
+	__u32 apicid;	/* CPU initial apic ID */
+	__u64 mcgcap;	/* MCGCAP MSR: machine check capabilities of CPU */
+};
+
+/*
+ * This structure contains all data related to the MCE log.  Also
+ * carries a signature to make it easier to find from external
+ * debugging tools.  Each entry is only valid when its finished flag
+ * is set.
+ */
+
+#define XEN_MCE_LOG_LEN 32
+
+struct xen_mce_log {
+	char signature[12]; /* "MACHINECHECK" */
+	unsigned len;	    /* =3D XEN_MCE_LOG_LEN */
+	unsigned next;
+	unsigned flags;
+	unsigned recordlen;	/* length of struct xen_mce */
+	struct xen_mce entry[XEN_MCE_LOG_LEN];
+};
+
+#define XEN_MCE_OVERFLOW 0		/* bit 0 in flags means overflow */
+
+#define XEN_MCE_LOG_SIGNATURE	"MACHINECHECK"
+
+#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
+#define MCE_GET_LOG_LEN      _IOR('M', 2, int)
+#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
+
+#endif /* __ASSEMBLY__ */
+#endif /* __XEN_PUBLIC_ARCH_X86_MCA_H__ */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch"
Content-Description: 0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch
Content-Disposition: attachment;
	filename="0001-xen-mce-Add-mcelog-support-for-Xen-platform.patch";
	size=27134; creation-date="Thu, 31 May 2012 17:10:05 GMT";
	modification-date="Fri, 01 Jun 2012 00:43:22 GMT"
Content-Transfer-Encoding: base64

RnJvbSA1NTA2ZjI0ZTE1YzVkOGFkYzNmNTAxOTkzNjYwMzkxMjExYTIyMTRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxIEp1biAyMDEyIDA4OjI3OjM5ICswODAwClN1YmplY3Q6IFtQQVRDSCAxLzNd
IHhlbi9tY2U6IEFkZCBtY2Vsb2cgc3VwcG9ydCBmb3IgWGVuIHBsYXRmb3JtCgpXaGVuIE1DQSBl
cnJvciBvY2N1cnMsIGl0IHdvdWxkIGJlIGhhbmRsZWQgYnkgWGVuIGh5cGVydmlzb3IgZmlyc3Qs
CmFuZCB0aGVuIHRoZSBlcnJvciBpbmZvcm1hdGlvbiB3b3VsZCBiZSBzZW50IHRvIGluaXRpYWwg
ZG9tYWluIGZvciBsb2dnaW5nLgoKVGhpcyBwYXRjaCBnZXRzIGVycm9yIGluZm9ybWF0aW9uIGZy
b20gWGVuIGh5cGVydmlzb3IgYW5kIGNvbnZlcnQKWGVuIGZvcm1hdCBlcnJvciBpbnRvIExpbnV4
IGZvcm1hdCBtY2Vsb2cuIFRoaXMgbG9naWMgaXMgYmFzaWNhbGx5CnNlbGYtY29udGFpbmVkLCBu
b3QgdG91Y2hpbmcgb3RoZXIga2VybmVsIGNvbXBvbmVudHMuCgpCeSB1c2luZyB0b29scyBsaWtl
IG1jZWxvZyB0b29sIHVzZXJzIGNvdWxkIHJlYWQgc3BlY2lmaWMgZXJyb3IgaW5mb3JtYXRpb24s
Cmxpa2Ugd2hhdCB0aGV5IGRpZCB1bmRlciBuYXRpdmUgTGludXguCgpUbyB0ZXN0IGZvbGxvdyBk
aXJlY3Rpb25zIG91dGxpbmVkIGluIERvY3VtZW50YXRpb24vYWNwaS9hcGVpL2VpbmoudHh0CgpT
aWduZWQtb2ZmLWJ5OiBLZSwgTGlwaW5nIDxsaXBpbmcua2VAaW50ZWwuY29tPgpTaWduZWQtb2Zm
LWJ5OiBKaWFuZywgWXVuaG9uZyA8eXVuaG9uZy5qaWFuZ0BpbnRlbC5jb20+ClNpZ25lZC1vZmYt
Ynk6IEplcmVteSBGaXR6aGFyZGluZ2UgPGplcmVteS5maXR6aGFyZGluZ2VAY2l0cml4LmNvbT4K
QWNrZWQtYW5kLXRlc3RlZC1ieTogQm9yaXNsYXYgUGV0a292IDxib3Jpc2xhdi5wZXRrb3ZAYW1k
LmNvbT4KU2lnbmVkLW9mZi1ieTogTGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+
Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5oIHwgICAgOCArCiBhcmNo
L3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYyAgICAgfCAgICA0ICstCiBhcmNoL3g4Ni94ZW4v
ZW5saWdodGVuLmMgICAgICAgICAgICAgfCAgICA1ICstCiBkcml2ZXJzL3hlbi9LY29uZmlnICAg
ICAgICAgICAgICAgICAgfCAgICA4ICsKIGRyaXZlcnMveGVuL01ha2VmaWxlICAgICAgICAgICAg
ICAgICB8ICAgIDEgKwogZHJpdmVycy94ZW4vbWNlbG9nLmMgICAgICAgICAgICAgICAgIHwgIDM5
MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L21pc2Nk
ZXZpY2UuaCAgICAgICAgICAgfCAgICAxICsKIGluY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNh
LmggICAgICB8ICAzODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA4IGZpbGVz
IGNoYW5nZWQsIDc5OCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IGRyaXZlcnMveGVuL21jZWxvZy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS94
ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaAoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNt
L3hlbi9oeXBlcmNhbGwuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcmNhbGwuaApp
bmRleCA1NzI4ODUyLi41OWMyMjZkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94
ZW4vaHlwZXJjYWxsLmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVyY2FsbC5o
CkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9zY2hlZC5oPgogI2lu
Y2x1ZGUgPHhlbi9pbnRlcmZhY2UvcGh5c2Rldi5oPgogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2Uv
cGxhdGZvcm0uaD4KKyNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3hlbi1tY2EuaD4KIAogLyoKICAq
IFRoZSBoeXBlcmNhbGwgYXNtcyBoYXZlIHRvIG1lZXQgc2V2ZXJhbCBjb25zdHJhaW50czoKQEAg
LTMwMiw2ICszMDMsMTMgQEAgSFlQRVJWSVNPUl9zZXRfdGltZXJfb3AodTY0IHRpbWVvdXQpCiB9
CiAKIHN0YXRpYyBpbmxpbmUgaW50CitIWVBFUlZJU09SX21jYShzdHJ1Y3QgeGVuX21jICptY19v
cCkKK3sKKwltY19vcC0+aW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5fTUNBX0lOVEVSRkFDRV9WRVJT
SU9OOworCXJldHVybiBfaHlwZXJjYWxsMShpbnQsIG1jYSwgbWNfb3ApOworfQorCitzdGF0aWMg
aW5saW5lIGludAogSFlQRVJWSVNPUl9kb20wX29wKHN0cnVjdCB4ZW5fcGxhdGZvcm1fb3AgKnBs
YXRmb3JtX29wKQogewogCXBsYXRmb3JtX29wLT5pbnRlcmZhY2VfdmVyc2lvbiA9IFhFTlBGX0lO
VEVSRkFDRV9WRVJTSU9OOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2sv
bWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwppbmRleCBiNzcyZGQ2Li41
ZTVjODYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYworKysg
Yi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwpAQCAtNTcsOCArNTcsNiBAQCBzdGF0
aWMgREVGSU5FX01VVEVYKG1jZV9jaHJkZXZfcmVhZF9tdXRleCk7CiAKIGludCBtY2VfZGlzYWJs
ZWQgX19yZWFkX21vc3RseTsKIAotI2RlZmluZSBNSVNDX01DRUxPR19NSU5PUgkyMjcKLQogI2Rl
ZmluZSBTUElOVU5JVCAxMDAJLyogMTAwbnMgKi8KIAogYXRvbWljX3QgbWNlX2VudHJ5OwpAQCAt
MjM0MSw3ICsyMzM5LDcgQEAgc3RhdGljIF9faW5pdCBpbnQgbWNoZWNrX2luaXRfZGV2aWNlKHZv
aWQpCiAKIAlyZXR1cm4gZXJyOwogfQotZGV2aWNlX2luaXRjYWxsKG1jaGVja19pbml0X2Rldmlj
ZSk7CitkZXZpY2VfaW5pdGNhbGxfc3luYyhtY2hlY2tfaW5pdF9kZXZpY2UpOwogCiAvKgogICog
T2xkIHN0eWxlIGJvb3Qgb3B0aW9ucyBwYXJzaW5nLiBPbmx5IGZvciBjb21wYXRpYmlsaXR5Lgpk
aWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2VubGln
aHRlbi5jCmluZGV4IDc1ZjMzYjIuLmZmMmQwMGUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9l
bmxpZ2h0ZW4uYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKQEAgLTM4LDYgKzM4LDcg
QEAKICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3BoeXNkZXYuaD4KICNpbmNsdWRlIDx4ZW4vaW50
ZXJmYWNlL3ZjcHUuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL21lbW9yeS5oPgorI2luY2x1
ZGUgPHhlbi9pbnRlcmZhY2UveGVuLW1jYS5oPgogI2luY2x1ZGUgPHhlbi9mZWF0dXJlcy5oPgog
I2luY2x1ZGUgPHhlbi9wYWdlLmg+CiAjaW5jbHVkZSA8eGVuL2h2bS5oPgpAQCAtMzMzLDkgKzMz
NCw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCB4ZW5faW5pdF9jcHVpZF9tYXNrKHZvaWQpCiAJdW5z
aWduZWQgaW50IHhzYXZlX21hc2s7CiAKIAljcHVpZF9sZWFmMV9lZHhfbWFzayA9Ci0JCX4oKDEg
PDwgWDg2X0ZFQVRVUkVfTUNFKSAgfCAgLyogZGlzYWJsZSBNQ0UgKi8KLQkJICAoMSA8PCBYODZf
RkVBVFVSRV9NQ0EpICB8ICAvKiBkaXNhYmxlIE1DQSAqLwotCQkgICgxIDw8IFg4Nl9GRUFUVVJF
X01UUlIpIHwgIC8qIGRpc2FibGUgTVRSUiAqLworCQl+KCgxIDw8IFg4Nl9GRUFUVVJFX01UUlIp
IHwgIC8qIGRpc2FibGUgTVRSUiAqLwogCQkgICgxIDw8IFg4Nl9GRUFUVVJFX0FDQykpOyAgIC8q
IHRoZXJtYWwgbW9uaXRvcmluZyAqLwogCiAJaWYgKCF4ZW5faW5pdGlhbF9kb21haW4oKSkKZGlm
ZiAtLWdpdCBhL2RyaXZlcnMveGVuL0tjb25maWcgYi9kcml2ZXJzL3hlbi9LY29uZmlnCmluZGV4
IDhkMjUwMWUuLmQ0ZGZmY2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL0tjb25maWcKKysrIGIv
ZHJpdmVycy94ZW4vS2NvbmZpZwpAQCAtMTk2LDQgKzE5NiwxMiBAQCBjb25maWcgWEVOX0FDUElf
UFJPQ0VTU09SCiAJICBjYWxsZWQgeGVuX2FjcGlfcHJvY2Vzc29yICBJZiB5b3UgZG8gbm90IGtu
b3cgd2hhdCB0byBjaG9vc2UsIHNlbGVjdAogCSAgTSBoZXJlLiBJZiB0aGUgQ1BVRlJFUSBkcml2
ZXJzIGFyZSBidWlsdCBpbiwgc2VsZWN0IFkgaGVyZS4KIAorY29uZmlnIFhFTl9NQ0VfTE9HCisJ
Ym9vbCAiWGVuIHBsYXRmb3JtIG1jZWxvZyIKKwlkZXBlbmRzIG9uIFhFTl9ET00wICYmIFg4Nl82
NCAmJiBYODZfTUNFCisJZGVmYXVsdCBuCisJaGVscAorCSAgQWxsb3cga2VybmVsIGZldGNoaW5n
IE1DRSBlcnJvciBmcm9tIFhlbiBwbGF0Zm9ybSBhbmQKKwkgIGNvbnZlcnRpbmcgaXQgaW50byBM
aW51eCBtY2Vsb2cgZm9ybWF0IGZvciBtY2Vsb2cgdG9vbHMKKwogZW5kbWVudQpkaWZmIC0tZ2l0
IGEvZHJpdmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQppbmRleCBmYzM0
ODg2Li5hNzg3MDI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9NYWtlZmlsZQorKysgYi9kcml2
ZXJzL3hlbi9NYWtlZmlsZQpAQCAtMTgsNiArMTgsNyBAQCBvYmotJChDT05GSUdfWEVOX1BWSFZN
KQkJCSs9IHBsYXRmb3JtLXBjaS5vCiBvYmotJChDT05GSUdfWEVOX1RNRU0pCQkJKz0gdG1lbS5v
CiBvYmotJChDT05GSUdfU1dJT1RMQl9YRU4pCQkrPSBzd2lvdGxiLXhlbi5vCiBvYmotJChDT05G
SUdfWEVOX0RPTTApCQkJKz0gcGNpLm8gYWNwaS5vCitvYmotJChDT05GSUdfWEVOX01DRV9MT0cp
CQkrPSBtY2Vsb2cubwogb2JqLSQoQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VORCkJKz0geGVuLXBj
aWJhY2svCiBvYmotJChDT05GSUdfWEVOX1BSSVZDTUQpCQkrPSB4ZW4tcHJpdmNtZC5vCiBvYmot
JChDT05GSUdfWEVOX0FDUElfUFJPQ0VTU09SKQkrPSB4ZW4tYWNwaS1wcm9jZXNzb3IubwpkaWZm
IC0tZ2l0IGEvZHJpdmVycy94ZW4vbWNlbG9nLmMgYi9kcml2ZXJzL3hlbi9tY2Vsb2cuYwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmU4N2QyCi0tLSAvZGV2L251bGwKKysr
IGIvZHJpdmVycy94ZW4vbWNlbG9nLmMKQEAgLTAsMCArMSwzOTIgQEAKKy8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKKyAqIG1jZWxvZy5jCisgKiBEcml2ZXIgZm9yIHJlY2VpdmluZyBhbmQgdHJhbnNm
ZXJyaW5nIG1hY2hpbmUgY2hlY2sgZXJyb3IgaW5mb21hdGlvbgorICoKKyAqIENvcHlyaWdodCAo
YykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgorICogQXV0aG9yOiBMaXUsIEppbnNvbmcgPGppbnNv
bmcubGl1QGludGVsLmNvbT4KKyAqIEF1dGhvcjogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlh
bmdAaW50ZWwuY29tPgorICogQXV0aG9yOiBLZSwgTGlwaW5nIDxsaXBpbmcua2VAaW50ZWwuY29t
PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IG9yLCB3aGVuIGRpc3RyaWJ1dGVkCisgKiBzZXBhcmF0
ZWx5IGZyb20gdGhlIExpbnV4IGtlcm5lbCBvciBpbmNvcnBvcmF0ZWQgaW50byBvdGhlcgorICog
c29mdHdhcmUgcGFja2FnZXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBsaWNlbnNlOgorICoK
KyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc291cmNlIGZpbGUgKHRoZSAiU29m
dHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dAorICogcmVzdHJpY3Rpb24s
IGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwKKyAqIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorICogYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworICog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisg
KiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2lu
aXQuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5o
PgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1
ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNs
dWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorCisj
aW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+Cisj
aW5jbHVkZSA8eGVuL2ludGVyZmFjZS92Y3B1Lmg+CisjaW5jbHVkZSA8eGVuL3hlbi5oPgorI2lu
Y2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcnZpc29y
Lmg+CisKKyNkZWZpbmUgWEVOX01DRUxPRyAieGVuX21jZWxvZzogIgorCitzdGF0aWMgc3RydWN0
IG1jX2luZm8gZ19taTsKK3N0YXRpYyBzdHJ1Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1ICpnX3BoeXNp
bmZvOworc3RhdGljIHVpbnQzMl90IG5jcHVzOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG1j
ZWxvZ19sb2NrKTsKKworc3RhdGljIHN0cnVjdCB4ZW5fbWNlX2xvZyB4ZW5fbWNlbG9nID0gewor
CS5zaWduYXR1cmUJPSBYRU5fTUNFX0xPR19TSUdOQVRVUkUsCisJLmxlbgkJPSBYRU5fTUNFX0xP
R19MRU4sCisJLnJlY29yZGxlbgk9IHNpemVvZihzdHJ1Y3QgeGVuX21jZSksCit9OworCitzdGF0
aWMgREVGSU5FX1NQSU5MT0NLKHhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworc3RhdGljIGlu
dCB4ZW5fbWNlX2NocmRldl9vcGVuX2NvdW50OwkvKiAjdGltZXMgb3BlbmVkICovCitzdGF0aWMg
aW50IHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHU7CS8qIGFscmVhZHkgb3BlbiBleGNsdXNpdmU/
ICovCisKK3N0YXRpYyBpbnQgeGVuX21jZV9jaHJkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2Rl
LCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzcGluX2xvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRl
X2xvY2spOworCisJaWYgKHhlbl9tY2VfY2hyZGV2X29wZW5fZXhjbHUgfHwKKwkgICAgKHhlbl9t
Y2VfY2hyZGV2X29wZW5fY291bnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKSkgeworCQlz
cGluX3VubG9jaygmeGVuX21jZV9jaHJkZXZfc3RhdGVfbG9jayk7CisKKwkJcmV0dXJuIC1FQlVT
WTsKKwl9CisKKwlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkKKwkJeGVuX21jZV9jaHJkZXZf
b3Blbl9leGNsdSA9IDE7CisJeGVuX21jZV9jaHJkZXZfb3Blbl9jb3VudCsrOworCisJc3Bpbl91
bmxvY2soJnhlbl9tY2VfY2hyZGV2X3N0YXRlX2xvY2spOworCisJcmV0dXJuIG5vbnNlZWthYmxl
X29wZW4oaW5vZGUsIGZpbGUpOworfQorCitzdGF0aWMgaW50IHhlbl9tY2VfY2hyZGV2X3JlbGVh
c2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3Bpbl9sb2Nr
KCZ4ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXhlbl9tY2VfY2hyZGV2X29wZW5fY291
bnQtLTsKKwl4ZW5fbWNlX2NocmRldl9vcGVuX2V4Y2x1ID0gMDsKKworCXNwaW5fdW5sb2NrKCZ4
ZW5fbWNlX2NocmRldl9zdGF0ZV9sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3Np
emVfdCB4ZW5fbWNlX2NocmRldl9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAq
dWJ1ZiwKKwkJCQlzaXplX3QgdXNpemUsIGxvZmZfdCAqb2ZmKQoreworCWNoYXIgX191c2VyICpi
dWYgPSB1YnVmOworCXVuc2lnbmVkIG51bTsKKwlpbnQgaSwgZXJyOworCisJc3Bpbl9sb2NrKCZt
Y2Vsb2dfbG9jayk7CisKKwludW0gPSB4ZW5fbWNlbG9nLm5leHQ7CisKKwkvKiBPbmx5IHN1cHBv
cnRzIGZ1bGwgcmVhZHMgcmlnaHQgbm93ICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoKm9mZiAh
PSAwIHx8IHVzaXplIDwgWEVOX01DRV9MT0dfTEVOKnNpemVvZihzdHJ1Y3QgeGVuX21jZSkpCisJ
CWdvdG8gb3V0OworCisJZXJyID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJ
c3RydWN0IHhlbl9tY2UgKm0gPSAmeGVuX21jZWxvZy5lbnRyeVtpXTsKKworCQllcnIgfD0gY29w
eV90b191c2VyKGJ1ZiwgbSwgc2l6ZW9mKCptKSk7CisJCWJ1ZiArPSBzaXplb2YoKm0pOworCX0K
KworCW1lbXNldCh4ZW5fbWNlbG9nLmVudHJ5LCAwLCBudW0gKiBzaXplb2Yoc3RydWN0IHhlbl9t
Y2UpKTsKKwl4ZW5fbWNlbG9nLm5leHQgPSAwOworCisJaWYgKGVycikKKwkJZXJyID0gLUVGQVVM
VDsKKworb3V0OgorCXNwaW5fdW5sb2NrKCZtY2Vsb2dfbG9jayk7CisKKwlyZXR1cm4gZXJyID8g
ZXJyIDogYnVmIC0gdWJ1ZjsKK30KKworc3RhdGljIGxvbmcgeGVuX21jZV9jaHJkZXZfaW9jdGwo
c3RydWN0IGZpbGUgKmYsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJdW5zaWduZWQgbG9uZyBhcmcp
Cit7CisJaW50IF9fdXNlciAqcCA9IChpbnQgX191c2VyICopYXJnOworCisJaWYgKCFjYXBhYmxl
KENBUF9TWVNfQURNSU4pKQorCQlyZXR1cm4gLUVQRVJNOworCisJc3dpdGNoIChjbWQpIHsKKwlj
YXNlIE1DRV9HRVRfUkVDT1JEX0xFTjoKKwkJcmV0dXJuIHB1dF91c2VyKHNpemVvZihzdHJ1Y3Qg
eGVuX21jZSksIHApOworCWNhc2UgTUNFX0dFVF9MT0dfTEVOOgorCQlyZXR1cm4gcHV0X3VzZXIo
WEVOX01DRV9MT0dfTEVOLCBwKTsKKwljYXNlIE1DRV9HRVRDTEVBUl9GTEFHUzogeworCQl1bnNp
Z25lZCBmbGFnczsKKworCQlkbyB7CisJCQlmbGFncyA9IHhlbl9tY2Vsb2cuZmxhZ3M7CisJCX0g
d2hpbGUgKGNtcHhjaGcoJnhlbl9tY2Vsb2cuZmxhZ3MsIGZsYWdzLCAwKSAhPSBmbGFncyk7CisK
KwkJcmV0dXJuIHB1dF91c2VyKGZsYWdzLCBwKTsKKwl9CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1F
Tk9UVFk7CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB4ZW5f
bWNlX2NocmRldl9vcHMgPSB7CisJLm9wZW4JCQk9IHhlbl9tY2VfY2hyZGV2X29wZW4sCisJLnJl
bGVhc2UJCT0geGVuX21jZV9jaHJkZXZfcmVsZWFzZSwKKwkucmVhZAkJCT0geGVuX21jZV9jaHJk
ZXZfcmVhZCwKKwkudW5sb2NrZWRfaW9jdGwJCT0geGVuX21jZV9jaHJkZXZfaW9jdGwsCisJLmxs
c2VlawkJCT0gbm9fbGxzZWVrLAorfTsKKworc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIHhlbl9t
Y2VfY2hyZGV2X2RldmljZSA9IHsKKwlNSVNDX01DRUxPR19NSU5PUiwKKwkibWNlbG9nIiwKKwkm
eGVuX21jZV9jaHJkZXZfb3BzLAorfTsKKworLyoKKyAqIENhbGxlciBzaG91bGQgaG9sZCB0aGUg
bWNlbG9nX2xvY2sKKyAqLworc3RhdGljIHZvaWQgeGVuX21jZV9sb2coc3RydWN0IHhlbl9tY2Ug
Km1jZSkKK3sKKwl1bnNpZ25lZCBlbnRyeTsKKworCWVudHJ5ID0geGVuX21jZWxvZy5uZXh0Owor
CisJLyoKKwkgKiBXaGVuIHRoZSBidWZmZXIgZmlsbHMgdXAgZGlzY2FyZCBuZXcgZW50cmllcy4K
KwkgKiBBc3N1bWUgdGhhdCB0aGUgZWFybGllciBlcnJvcnMgYXJlIHRoZSBtb3JlCisJICogaW50
ZXJlc3Rpbmcgb25lczoKKwkgKi8KKwlpZiAoZW50cnkgPj0gWEVOX01DRV9MT0dfTEVOKSB7CisJ
CXNldF9iaXQoWEVOX01DRV9PVkVSRkxPVywKKwkJCSh1bnNpZ25lZCBsb25nICopJnhlbl9tY2Vs
b2cuZmxhZ3MpOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KHhlbl9tY2Vsb2cuZW50cnkgKyBl
bnRyeSwgbWNlLCBzaXplb2Yoc3RydWN0IHhlbl9tY2UpKTsKKworCXhlbl9tY2Vsb2cubmV4dCsr
OworfQorCitzdGF0aWMgaW50IGNvbnZlcnRfbG9nKHN0cnVjdCBtY19pbmZvICptaSkKK3sKKwlz
dHJ1Y3QgbWNpbmZvX2NvbW1vbiAqbWljOworCXN0cnVjdCBtY2luZm9fZ2xvYmFsICptY19nbG9i
YWw7CisJc3RydWN0IG1jaW5mb19iYW5rICptY19iYW5rOworCXN0cnVjdCB4ZW5fbWNlIG07CisJ
dWludDMyX3QgaTsKKworCW1pYyA9IE5VTEw7CisJeDg2X21jaW5mb19sb29rdXAoJm1pYywgbWks
IE1DX1RZUEVfR0xPQkFMKTsKKwlpZiAodW5saWtlbHkoIW1pYykpIHsKKwkJcHJfd2FybmluZyhY
RU5fTUNFTE9HICJGYWlsZWQgdG8gZmluZCBnbG9iYWwgZXJyb3IgaW5mb1xuIik7CisJCXJldHVy
biAtRU5PREVWOworCX0KKworCW1lbXNldCgmbSwgMCwgc2l6ZW9mKHN0cnVjdCB4ZW5fbWNlKSk7
CisKKwltY19nbG9iYWwgPSAoc3RydWN0IG1jaW5mb19nbG9iYWwgKiltaWM7CisJbS5tY2dzdGF0
dXMgPSBtY19nbG9iYWwtPm1jX2dzdGF0dXM7CisJbS5hcGljaWQgPSBtY19nbG9iYWwtPm1jX2Fw
aWNpZDsKKworCWZvciAoaSA9IDA7IGkgPCBuY3B1czsgaSsrKQorCQlpZiAoZ19waHlzaW5mb1tp
XS5tY19hcGljaWQgPT0gbS5hcGljaWQpCisJCQlicmVhazsKKwlpZiAodW5saWtlbHkoaSA9PSBu
Y3B1cykpIHsKKwkJcHJfd2FybmluZyhYRU5fTUNFTE9HICJGYWlsZWQgdG8gbWF0Y2ggY3B1IHdp
dGggYXBpY2lkICVkXG4iLAorCQkJICAgbS5hcGljaWQpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9
CisKKwltLnNvY2tldGlkID0gZ19waHlzaW5mb1tpXS5tY19jaGlwaWQ7CisJbS5jcHUgPSBtLmV4
dGNwdSA9IGdfcGh5c2luZm9baV0ubWNfY3B1bnI7CisJbS5jcHV2ZW5kb3IgPSAoX191OClnX3Bo
eXNpbmZvW2ldLm1jX3ZlbmRvcjsKKwltLm1jZ2NhcCA9IGdfcGh5c2luZm9baV0ubWNfbXNydmFs
dWVzW19fTUNfTVNSX01DR0NBUF0udmFsdWU7CisKKwltaWMgPSBOVUxMOworCXg4Nl9tY2luZm9f
bG9va3VwKCZtaWMsIG1pLCBNQ19UWVBFX0JBTkspOworCWlmICh1bmxpa2VseSghbWljKSkgewor
CQlwcl93YXJuaW5nKFhFTl9NQ0VMT0cgIkZhaWwgdG8gZmluZCBiYW5rIGVycm9yIGluZm9cbiIp
OworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbyB7CisJCWlmICgoIW1pYykgfHwgKG1pYy0+
c2l6ZSA9PSAwKSB8fAorCQkgICAgKG1pYy0+dHlwZSAhPSBNQ19UWVBFX0dMT0JBTCAgICYmCisJ
CSAgICAgbWljLT50eXBlICE9IE1DX1RZUEVfQkFOSyAgICAgJiYKKwkJICAgICBtaWMtPnR5cGUg
IT0gTUNfVFlQRV9FWFRFTkRFRCAmJgorCQkgICAgIG1pYy0+dHlwZSAhPSBNQ19UWVBFX1JFQ09W
RVJZKSkKKwkJCWJyZWFrOworCisJCWlmIChtaWMtPnR5cGUgPT0gTUNfVFlQRV9CQU5LKSB7CisJ
CQltY19iYW5rID0gKHN0cnVjdCBtY2luZm9fYmFuayAqKW1pYzsKKwkJCW0ubWlzYyA9IG1jX2Jh
bmstPm1jX21pc2M7CisJCQltLnN0YXR1cyA9IG1jX2JhbmstPm1jX3N0YXR1czsKKwkJCW0uYWRk
ciA9IG1jX2JhbmstPm1jX2FkZHI7CisJCQltLnRzYyA9IG1jX2JhbmstPm1jX3RzYzsKKwkJCW0u
YmFuayA9IG1jX2JhbmstPm1jX2Jhbms7CisJCQltLmZpbmlzaGVkID0gMTsKKwkJCS8qbG9nIHRo
aXMgcmVjb3JkKi8KKwkJCXhlbl9tY2VfbG9nKCZtKTsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZv
X25leHQobWljKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50
IG1jX3F1ZXVlX2hhbmRsZSh1aW50MzJfdCBmbGFncykKK3sKKwlzdHJ1Y3QgeGVuX21jIG1jX29w
OworCWludCByZXQgPSAwOworCisJbWNfb3AuY21kID0gWEVOX01DX2ZldGNoOworCW1jX29wLmlu
dGVyZmFjZV92ZXJzaW9uID0gWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1
ZXN0X2hhbmRsZShtY19vcC51Lm1jX2ZldGNoLmRhdGEsICZnX21pKTsKKwlkbyB7CisJCW1jX29w
LnUubWNfZmV0Y2guZmxhZ3MgPSBmbGFnczsKKwkJcmV0ID0gSFlQRVJWSVNPUl9tY2EoJm1jX29w
KTsKKwkJaWYgKHJldCkgeworCQkJcHJfZXJyKFhFTl9NQ0VMT0cgIkZhaWxlZCB0byBmZXRjaCAl
cyBlcnJvciBsb2dcbiIsCisJCQkgICAgICAgKGZsYWdzID09IFhFTl9NQ19VUkdFTlQpID8KKwkJ
CSAgICAgICAidXJnbmV0IiA6ICJub251cmdlbnQiKTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYg
KG1jX29wLnUubWNfZmV0Y2guZmxhZ3MgJiBYRU5fTUNfTk9EQVRBIHx8CisJCSAgICBtY19vcC51
Lm1jX2ZldGNoLmZsYWdzICYgWEVOX01DX0ZFVENIRkFJTEVEKQorCQkJYnJlYWs7CisJCWVsc2Ug
eworCQkJcmV0ID0gY29udmVydF9sb2coJmdfbWkpOworCQkJaWYgKHJldCkKKwkJCQlwcl93YXJu
aW5nKFhFTl9NQ0VMT0cKKwkJCQkJICAgIkZhaWxlZCB0byBjb252ZXJ0IHRoaXMgZXJyb3IgbG9n
LCAiCisJCQkJCSAgICJjb250aW51ZSBhY2tpbmcgaXQgYW55d2F5XG4iKTsKKworCQkJbWNfb3Au
dS5tY19mZXRjaC5mbGFncyA9IGZsYWdzIHwgWEVOX01DX0FDSzsKKwkJCXJldCA9IEhZUEVSVklT
T1JfbWNhKCZtY19vcCk7CisJCQlpZiAocmV0KSB7CisJCQkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJ
CQkgICAgICAgIkZhaWxlZCB0byBhY2sgcHJldmlvdXMgZXJyb3IgbG9nXG4iKTsKKwkJCQlicmVh
azsKKwkJCX0KKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIHJldDsKK30KKworLyogdmly
cSBoYW5kbGVyIGZvciBtYWNoaW5lIGNoZWNrIGVycm9yIGluZm8qLworc3RhdGljIGlycXJldHVy
bl90IHhlbl9tY2VfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlpbnQgZXJy
OworCXVuc2lnbmVkIGxvbmcgdG1wOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJm1jZWxvZ19sb2Nr
LCB0bXApOworCisJLyogdXJnZW50IG1jX2luZm8gKi8KKwllcnIgPSBtY19xdWV1ZV9oYW5kbGUo
WEVOX01DX1VSR0VOVCk7CisJaWYgKGVycikKKwkJcHJfZXJyKFhFTl9NQ0VMT0cKKwkJICAgICAg
ICJGYWlsZWQgdG8gaGFuZGxlIHVyZ2VudCBtY19pbmZvIHF1ZXVlLCAiCisJCSAgICAgICAiY29u
dGludWUgaGFuZGxpbmcgbm9udXJnZW50IG1jX2luZm8gcXVldWUgYW55d2F5LlxuIik7CisKKwkv
KiBub251cmdlbnQgbWNfaW5mbyAqLworCWVyciA9IG1jX3F1ZXVlX2hhbmRsZShYRU5fTUNfTk9O
VVJHRU5UKTsKKwlpZiAoZXJyKQorCQlwcl9lcnIoWEVOX01DRUxPRworCQkgICAgICAgIkZhaWxl
ZCB0byBoYW5kbGUgbm9udXJnZW50IG1jX2luZm8gcXVldWUuXG4iKTsKKworCXNwaW5fdW5sb2Nr
X2lycXJlc3RvcmUoJm1jZWxvZ19sb2NrLCB0bXApOworCisJcmV0dXJuIElSUV9IQU5ETEVEOwor
fQorCitzdGF0aWMgaW50IGJpbmRfdmlycV9mb3JfbWNlKHZvaWQpCit7CisJaW50IHJldDsKKwlz
dHJ1Y3QgeGVuX21jIG1jX29wOworCisJbWVtc2V0KCZtY19vcCwgMCwgc2l6ZW9mKHN0cnVjdCB4
ZW5fbWMpKTsKKworCS8qIEZldGNoIHBoeXNpY2FsIENQVSBOdW1iZXJzICovCisJbWNfb3AuY21k
ID0gWEVOX01DX3BoeXNjcHVpbmZvOworCW1jX29wLmludGVyZmFjZV92ZXJzaW9uID0gWEVOX01D
QV9JTlRFUkZBQ0VfVkVSU0lPTjsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51Lm1jX3Bo
eXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNhKCZtY19v
cCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdldCBDUFUg
bnVtYmVyc1xuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyogRmV0Y2ggZWFjaCBDUFUgUGh5
c2ljYWwgSW5mbyBmb3IgbGF0ZXIgcmVmZXJlbmNlKi8KKwluY3B1cyA9IG1jX29wLnUubWNfcGh5
c2NwdWluZm8ubmNwdXM7CisJZ19waHlzaW5mbyA9IGtjYWxsb2MobmNwdXMsIHNpemVvZihzdHJ1
Y3QgbWNpbmZvX2xvZ2ljYWxfY3B1KSwKKwkJCSAgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFnX3Bo
eXNpbmZvKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShtY19vcC51
Lm1jX3BoeXNjcHVpbmZvLmluZm8sIGdfcGh5c2luZm8pOworCXJldCA9IEhZUEVSVklTT1JfbWNh
KCZtY19vcCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGdl
dCBDUFUgaW5mb1xuIik7CisJCWtmcmVlKGdfcGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0K
KworCXJldCAgPSBiaW5kX3ZpcnFfdG9faXJxaGFuZGxlcihWSVJRX01DQSwgMCwKKwkJCQkgICAg
ICAgeGVuX21jZV9pbnRlcnJ1cHQsIDAsICJtY2UiLCBOVUxMKTsKKwlpZiAocmV0IDwgMCkgewor
CQlwcl9lcnIoWEVOX01DRUxPRyAiRmFpbGVkIHRvIGJpbmQgdmlycVxuIik7CisJCWtmcmVlKGdf
cGh5c2luZm8pOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMg
aW50IF9faW5pdCB4ZW5fbGF0ZV9pbml0X21jZWxvZyh2b2lkKQoreworCS8qIE9ubHkgRE9NMCBp
cyByZXNwb25zaWJsZSBmb3IgTUNFIGxvZ2dpbmcgKi8KKwlpZiAoeGVuX2luaXRpYWxfZG9tYWlu
KCkpIHsKKwkJLyogcmVnaXN0ZXIgY2hhcmFjdGVyIGRldmljZSAvZGV2L21jZWxvZyBmb3IgeGVu
IG1jZWxvZyAqLworCQlpZiAobWlzY19yZWdpc3RlcigmeGVuX21jZV9jaHJkZXZfZGV2aWNlKSkK
KwkJCXJldHVybiAtRU5PREVWOworCQlyZXR1cm4gYmluZF92aXJxX2Zvcl9tY2UoKTsKKwl9CisK
KwlyZXR1cm4gLUVOT0RFVjsKK30KK2RldmljZV9pbml0Y2FsbCh4ZW5fbGF0ZV9pbml0X21jZWxv
Zyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21pc2NkZXZpY2UuaCBiL2luY2x1ZGUvbGlu
dXgvbWlzY2RldmljZS5oCmluZGV4IDA1NDlkMjEuLmUwZGVlYjIgMTAwNjQ0Ci0tLSBhL2luY2x1
ZGUvbGludXgvbWlzY2RldmljZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbWlzY2RldmljZS5oCkBA
IC0zNSw2ICszNSw3IEBACiAjZGVmaW5lIE1QVF9NSU5PUgkJMjIwCiAjZGVmaW5lIE1QVDJTQVNf
TUlOT1IJCTIyMQogI2RlZmluZSBVSU5QVVRfTUlOT1IJCTIyMworI2RlZmluZSBNSVNDX01DRUxP
R19NSU5PUgkyMjcKICNkZWZpbmUgSFBFVF9NSU5PUgkJMjI4CiAjZGVmaW5lIEZVU0VfTUlOT1IJ
CTIyOQogI2RlZmluZSBLVk1fTUlOT1IJCTIzMgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50
ZXJmYWNlL3hlbi1tY2EuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNhNGVhNwotLS0gL2Rldi9udWxsCisrKyBi
L2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4tbWNhLmgKQEAgLTAsMCArMSwzODUgQEAKKy8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKKyAqIGFyY2gteDg2L21jYS5oCisgKiBHdWVzdCBPUyBtYWNoaW5l
IGNoZWNrIGludGVyZmFjZSB0byB4ODYgWGVuLgorICoKKyAqIENvbnRyaWJ1dGVkIGJ5IEFkdmFu
Y2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogQ2hyaXN0b3BoIEVnZ2VyIDxDaHJp
c3RvcGguRWdnZXJAYW1kLmNvbT4KKyAqCisgKiBVcGRhdGVkIGJ5IEludGVsIENvcnBvcmF0aW9u
CisgKiBBdXRob3I6IExpdSwgSmluc29uZyA8amluc29uZy5saXVAaW50ZWwuY29tPgorICoKKyAq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUg
U29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3
YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisg
KgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICog
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
IFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FS
RS4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisjZGVmaW5l
IF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9NQ0FfSF9fCisKKy8qIEh5cGVyY2FsbCAqLworI2RlZmlu
ZSBfX0hZUEVSVklTT1JfbWNhIF9fSFlQRVJWSVNPUl9hcmNoXzAKKworI2RlZmluZSBYRU5fTUNB
X0lOVEVSRkFDRV9WRVJTSU9OCTB4MDFlY2MwMDMKKworLyogSU46IERvbTAgY2FsbHMgaHlwZXJj
YWxsIHRvIHJldHJpZXZlIG5vbnVyZ2VudCBlcnJvciBsb2cgZW50cnkgKi8KKyNkZWZpbmUgWEVO
X01DX05PTlVSR0VOVAkweDEKKy8qIElOOiBEb20wIGNhbGxzIGh5cGVyY2FsbCB0byByZXRyaWV2
ZSB1cmdlbnQgZXJyb3IgbG9nIGVudHJ5ICovCisjZGVmaW5lIFhFTl9NQ19VUkdFTlQJCTB4Mgor
LyogSU46IERvbTAgYWNrbm93bGVkZ2VzIHByZXZpb3NseS1mZXRjaGVkIGVycm9yIGxvZyBlbnRy
eSAqLworI2RlZmluZSBYRU5fTUNfQUNLCQkweDQKKworLyogT1VUOiBBbGwgaXMgb2sgKi8KKyNk
ZWZpbmUgWEVOX01DX09LCQkweDAKKy8qIE9VVDogRG9tYWluIGNvdWxkIG5vdCBmZXRjaCBkYXRh
LiAqLworI2RlZmluZSBYRU5fTUNfRkVUQ0hGQUlMRUQJMHgxCisvKiBPVVQ6IFRoZXJlIHdhcyBu
byBtYWNoaW5lIGNoZWNrIGRhdGEgdG8gZmV0Y2guICovCisjZGVmaW5lIFhFTl9NQ19OT0RBVEEJ
CTB4MgorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyogdklSUSBpbmplY3RlZCB0byBEb20wICov
CisjZGVmaW5lIFZJUlFfTUNBIFZJUlFfQVJDSF8wCisKKy8qCisgKiBtY19pbmZvIGVudHJ5IHR5
cGVzCisgKiBtY2EgbWFjaGluZSBjaGVjayBpbmZvIGFyZSByZWNvcmRlZCBpbiBtY19pbmZvIGVu
dHJpZXMuCisgKiB3aGVuIGZldGNoIG1jYSBpbmZvLCBpdCBjYW4gdXNlIE1DX1RZUEVfLi4uIHRv
IGRpc3Rpbmd1aXNoCisgKiBkaWZmZXJlbnQgbWNhIGluZm8uCisgKi8KKyNkZWZpbmUgTUNfVFlQ
RV9HTE9CQUwJCTAKKyNkZWZpbmUgTUNfVFlQRV9CQU5LCQkxCisjZGVmaW5lIE1DX1RZUEVfRVhU
RU5ERUQJMgorI2RlZmluZSBNQ19UWVBFX1JFQ09WRVJZCTMKKworc3RydWN0IG1jaW5mb19jb21t
b24geworCXVpbnQxNl90IHR5cGU7IC8qIHN0cnVjdHVyZSB0eXBlICovCisJdWludDE2X3Qgc2l6
ZTsgLyogc2l6ZSBvZiB0aGlzIHN0cnVjdCBpbiBieXRlcyAqLworfTsKKworI2RlZmluZSBNQ19G
TEFHX0NPUlJFQ1RBQkxFCSgxIDw8IDApCisjZGVmaW5lIE1DX0ZMQUdfVU5DT1JSRUNUQUJMRQko
MSA8PCAxKQorI2RlZmluZSBNQ19GTEFHX1JFQ09WRVJBQkxFCSgxIDw8IDIpCisjZGVmaW5lIE1D
X0ZMQUdfUE9MTEVECQkoMSA8PCAzKQorI2RlZmluZSBNQ19GTEFHX1JFU0VUCQkoMSA8PCA0KQor
I2RlZmluZSBNQ19GTEFHX0NNQ0kJCSgxIDw8IDUpCisjZGVmaW5lIE1DX0ZMQUdfTUNFCQkoMSA8
PCA2KQorCisvKiBjb250YWlucyB4ODYgZ2xvYmFsIG1jIGluZm9ybWF0aW9uICovCitzdHJ1Y3Qg
bWNpbmZvX2dsb2JhbCB7CisJc3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2
X3QgbWNfZG9taWQ7IC8qIHJ1bm5pbmcgZG9tYWluIGF0IHRoZSB0aW1lIGluIGVycm9yICovCisJ
dWludDE2X3QgbWNfdmNwdWlkOyAvKiB2aXJ0dWFsIGNwdSBzY2hlZHVsZWQgZm9yIG1jX2RvbWlk
ICovCisJdWludDMyX3QgbWNfc29ja2V0aWQ7IC8qIHBoeXNpY2FsIHNvY2tldCBvZiB0aGUgcGh5
c2ljYWwgY29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVpZDsgLyogcGh5c2ljYWwgaW1wYWN0ZWQg
Y29yZSAqLworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFkaWQ7IC8qIGNvcmUgdGhyZWFkIG9mIHBo
eXNpY2FsIGNvcmUgKi8KKwl1aW50MzJfdCBtY19hcGljaWQ7CisJdWludDMyX3QgbWNfZmxhZ3M7
CisJdWludDY0X3QgbWNfZ3N0YXR1czsgLyogZ2xvYmFsIHN0YXR1cyAqLworfTsKKworLyogY29u
dGFpbnMgeDg2IGJhbmsgbWMgaW5mb3JtYXRpb24gKi8KK3N0cnVjdCBtY2luZm9fYmFuayB7CisJ
c3RydWN0IG1jaW5mb19jb21tb24gY29tbW9uOworCisJdWludDE2X3QgbWNfYmFuazsgLyogYmFu
ayBuciAqLworCXVpbnQxNl90IG1jX2RvbWlkOyAvKiBkb21haW4gcmVmZXJlbmNlZCBieSBtY19h
ZGRyIGlmIHZhbGlkICovCisJdWludDY0X3QgbWNfc3RhdHVzOyAvKiBiYW5rIHN0YXR1cyAqLwor
CXVpbnQ2NF90IG1jX2FkZHI7IC8qIGJhbmsgYWRkcmVzcyAqLworCXVpbnQ2NF90IG1jX21pc2M7
CisJdWludDY0X3QgbWNfY3RybDI7CisJdWludDY0X3QgbWNfdHNjOworfTsKKworc3RydWN0IG1j
aW5mb19tc3IgeworCXVpbnQ2NF90IHJlZzsgLyogTVNSICovCisJdWludDY0X3QgdmFsdWU7IC8q
IE1TUiB2YWx1ZSAqLworfTsKKworLyogY29udGFpbnMgbWMgaW5mb3JtYXRpb24gZnJvbSBvdGhl
ciBvciBhZGRpdGlvbmFsIG1jIE1TUnMgKi8KK3N0cnVjdCBtY2luZm9fZXh0ZW5kZWQgeworCXN0
cnVjdCBtY2luZm9fY29tbW9uIGNvbW1vbjsKKwl1aW50MzJfdCBtY19tc3JzOyAvKiBOdW1iZXIg
b2YgbXNyIHdpdGggdmFsaWQgdmFsdWVzLiAqLworCS8qCisJICogQ3VycmVudGx5IEludGVsIGV4
dGVuZGVkIE1TUiAoMzIvNjQpIGluY2x1ZGUgYWxsIGdwIHJlZ2lzdGVycworCSAqIGFuZCBFKFIp
RkxBR1MsIEUoUilJUCwgRShSKU1JU0MsIHVwIHRvIDExLzE5IG9mIHRoZW0gbWlnaHQgYmUKKwkg
KiB1c2VmdWwgYXQgcHJlc2VudC4gU28gZXhwYW5kIHRoaXMgYXJyYXkgdG8gMTYvMzIgdG8gbGVh
dmUgcm9vbS4KKwkgKi8KKwlzdHJ1Y3QgbWNpbmZvX21zciBtY19tc3Jbc2l6ZW9mKHZvaWQgKikg
KiA0XTsKK307CisKKy8qIFJlY292ZXJ5IEFjdGlvbiBmbGFncy4gR2l2aW5nIHJlY292ZXJ5IHJl
c3VsdCBpbmZvcm1hdGlvbiB0byBET00wICovCisKKy8qIFhlbiB0YWtlcyBzdWNjZXNzZnVsIHJl
Y292ZXJ5IGFjdGlvbiwgdGhlIGVycm9yIGlzIHJlY292ZXJlZCAqLworI2RlZmluZSBSRUNfQUNU
SU9OX1JFQ09WRVJFRCAoMHgxIDw8IDApCisvKiBObyBhY3Rpb24gaXMgcGVyZm9ybWVkIGJ5IFhF
TiAqLworI2RlZmluZSBSRUNfQUNUSU9OX05PTkUgKDB4MSA8PCAxKQorLyogSXQncyBwb3NzaWJs
ZSBET00wIG1pZ2h0IHRha2UgYWN0aW9uIG93bmVyc2hpcCBpbiBzb21lIGNhc2UgKi8KKyNkZWZp
bmUgUkVDX0FDVElPTl9ORUVEX1JFU0VUICgweDEgPDwgMikKKworLyoKKyAqIERpZmZlcmVudCBS
ZWNvdmVyeSBBY3Rpb24gdHlwZXMsIGlmIHRoZSBhY3Rpb24gaXMgcGVyZm9ybWVkIHN1Y2Nlc3Nm
dWxseSwKKyAqIFJFQ19BQ1RJT05fUkVDT1ZFUkVEIGZsYWcgd2lsbCBiZSByZXR1cm5lZC4KKyAq
LworCisvKiBQYWdlIE9mZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FDVElPTl9QQUdFX09G
RkxJTkUgKDB4MSA8PCAwKQorLyogQ1BVIG9mZmxpbmUgQWN0aW9uICovCisjZGVmaW5lIE1DX0FD
VElPTl9DUFVfT0ZGTElORSAoMHgxIDw8IDEpCisvKiBMMyBjYWNoZSBkaXNhYmxlIEFjdGlvbiAq
LworI2RlZmluZSBNQ19BQ1RJT05fQ0FDSEVfU0hSSU5LICgweDEgPDwgMikKKworLyoKKyAqIEJl
bG93IGludGVyZmFjZSB1c2VkIGJldHdlZW4gWEVOL0RPTTAgZm9yIHBhc3NpbmcgWEVOJ3MgcmVj
b3ZlcnkgYWN0aW9uCisgKiBpbmZvcm1hdGlvbiB0byBET00wLgorICovCitzdHJ1Y3QgcGFnZV9v
ZmZsaW5lX2FjdGlvbiB7CisJLyogUGFyYW1zIGZvciBwYXNzaW5nIHRoZSBvZmZsaW5lZCBwYWdl
IG51bWJlciB0byBET00wICovCisJdWludDY0X3QgbWZuOworCXVpbnQ2NF90IHN0YXR1czsKK307
CisKK3N0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24geworCS8qIFBhcmFtcyBmb3IgcGFzc2luZyB0
aGUgaWRlbnRpdHkgb2YgdGhlIG9mZmxpbmVkIENQVSB0byBET00wICovCisJdWludDMyX3QgbWNf
c29ja2V0aWQ7CisJdWludDE2X3QgbWNfY29yZWlkOworCXVpbnQxNl90IG1jX2NvcmVfdGhyZWFk
aWQ7Cit9OworCisjZGVmaW5lIE1BWF9VTklPTl9TSVpFIDE2CitzdHJ1Y3QgbWNpbmZvX3JlY292
ZXJ5IHsKKwlzdHJ1Y3QgbWNpbmZvX2NvbW1vbiBjb21tb247CisJdWludDE2X3QgbWNfYmFuazsg
LyogYmFuayBuciAqLworCXVpbnQ4X3QgYWN0aW9uX2ZsYWdzOworCXVpbnQ4X3QgYWN0aW9uX3R5
cGVzOworCXVuaW9uIHsKKwkJc3RydWN0IHBhZ2Vfb2ZmbGluZV9hY3Rpb24gcGFnZV9yZXRpcmU7
CisJCXN0cnVjdCBjcHVfb2ZmbGluZV9hY3Rpb24gY3B1X29mZmxpbmU7CisJCXVpbnQ4X3QgcGFk
W01BWF9VTklPTl9TSVpFXTsKKwl9IGFjdGlvbl9pbmZvOworfTsKKworCisjZGVmaW5lIE1DSU5G
T19NQVhTSVpFIDc2OAorc3RydWN0IG1jX2luZm8geworCS8qIE51bWJlciBvZiBtY2luZm9fKiBl
bnRyaWVzIGluIG1pX2RhdGEgKi8KKwl1aW50MzJfdCBtaV9uZW50cmllczsKKwl1aW50MzJfdCBm
bGFnczsKKwl1aW50NjRfdCBtaV9kYXRhWyhNQ0lORk9fTUFYU0laRSAtIDEpIC8gOF07Cit9Owor
REVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNfaW5mbyk7CisKKyNkZWZpbmUgX19NQ19NU1Jf
QVJSQVlTSVpFIDgKKyNkZWZpbmUgX19NQ19NU1JfTUNHQ0FQIDAKKyNkZWZpbmUgX19NQ19OTVNS
UyAxCisjZGVmaW5lIE1DX05DQVBTIDcKK3N0cnVjdCBtY2luZm9fbG9naWNhbF9jcHUgeworCXVp
bnQzMl90IG1jX2NwdW5yOworCXVpbnQzMl90IG1jX2NoaXBpZDsKKwl1aW50MTZfdCBtY19jb3Jl
aWQ7CisJdWludDE2X3QgbWNfdGhyZWFkaWQ7CisJdWludDMyX3QgbWNfYXBpY2lkOworCXVpbnQz
Ml90IG1jX2NsdXN0ZXJpZDsKKwl1aW50MzJfdCBtY19uY29yZXM7CisJdWludDMyX3QgbWNfbmNv
cmVzX2FjdGl2ZTsKKwl1aW50MzJfdCBtY19udGhyZWFkczsKKwl1aW50MzJfdCBtY19jcHVpZF9s
ZXZlbDsKKwl1aW50MzJfdCBtY19mYW1pbHk7CisJdWludDMyX3QgbWNfdmVuZG9yOworCXVpbnQz
Ml90IG1jX21vZGVsOworCXVpbnQzMl90IG1jX3N0ZXA7CisJY2hhciBtY192ZW5kb3JpZFsxNl07
CisJY2hhciBtY19icmFuZGlkWzY0XTsKKwl1aW50MzJfdCBtY19jcHVfY2Fwc1tNQ19OQ0FQU107
CisJdWludDMyX3QgbWNfY2FjaGVfc2l6ZTsKKwl1aW50MzJfdCBtY19jYWNoZV9hbGlnbm1lbnQ7
CisJdWludDMyX3QgbWNfbm1zcnZhbHM7CisJc3RydWN0IG1jaW5mb19tc3IgbWNfbXNydmFsdWVz
W19fTUNfTVNSX0FSUkFZU0laRV07Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QobWNp
bmZvX2xvZ2ljYWxfY3B1KTsKKworLyoKKyAqIFByb3RvdHlwZToKKyAqICAgIHVpbnQzMl90IHg4
Nl9tY2luZm9fbmVudHJpZXMoc3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZf
bWNpbmZvX25lbnRyaWVzKF9taSkgICAgXAorCSgoX21pKS0+bWlfbmVudHJpZXMpCisvKgorICog
UHJvdG90eXBlOgorICogICAgc3RydWN0IG1jaW5mb19jb21tb24gKng4Nl9tY2luZm9fZmlyc3Qo
c3RydWN0IG1jX2luZm8gKm1pKTsKKyAqLworI2RlZmluZSB4ODZfbWNpbmZvX2ZpcnN0KF9taSkg
ICAgICAgXAorCSgoc3RydWN0IG1jaW5mb19jb21tb24gKikoX21pKS0+bWlfZGF0YSkKKy8qCisg
KiBQcm90b3R5cGU6CisgKiAgICBzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqeDg2X21jaW5mb19uZXh0
KHN0cnVjdCBtY2luZm9fY29tbW9uICptaWMpOworICovCisjZGVmaW5lIHg4Nl9tY2luZm9fbmV4
dChfbWljKSAgICAgICBcCisJKChzdHJ1Y3QgbWNpbmZvX2NvbW1vbiAqKSgodWludDhfdCAqKShf
bWljKSArIChfbWljKS0+c2l6ZSkpCisKKy8qCisgKiBQcm90b3R5cGU6CisgKiAgICB2b2lkIHg4
Nl9tY2luZm9fbG9va3VwKHZvaWQgKnJldCwgc3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZfdCB0
eXBlKTsKKyAqLworc3RhdGljIGlubGluZSB2b2lkIHg4Nl9tY2luZm9fbG9va3VwKHN0cnVjdCBt
Y2luZm9fY29tbW9uICoqcmV0LAorCQkJCSAgICAgc3RydWN0IG1jX2luZm8gKm1pLCB1aW50MTZf
dCB0eXBlKQoreworCXVpbnQzMl90IGk7CisJc3RydWN0IG1jaW5mb19jb21tb24gKm1pYzsKKwli
b29sIGZvdW5kID0gMDsKKworCWlmICghcmV0IHx8ICFtaSkKKwkJcmV0dXJuOworCisJbWljID0g
eDg2X21jaW5mb19maXJzdChtaSk7CisJZm9yIChpID0gMDsgaSA8IHg4Nl9tY2luZm9fbmVudHJp
ZXMobWkpOyBpKyspIHsKKwkJaWYgKG1pYy0+dHlwZSA9PSB0eXBlKSB7CisJCQlmb3VuZCA9IDE7
CisJCQlicmVhazsKKwkJfQorCQltaWMgPSB4ODZfbWNpbmZvX25leHQobWljKTsKKwl9CisKKwkq
cmV0ID0gZm91bmQgPyBtaWMgOiBOVUxMOworfQorCisvKgorICogRmV0Y2ggbWFjaGluZSBjaGVj
ayBkYXRhIGZyb20gaHlwZXJ2aXNvci4KKyAqLworI2RlZmluZSBYRU5fTUNfZmV0Y2gJCTEKK3N0
cnVjdCB4ZW5fbWNfZmV0Y2ggeworCS8qCisJICogSU46IFhFTl9NQ19OT05VUkdFTlQsIFhFTl9N
Q19VUkdFTlQsCisJICogWEVOX01DX0FDSyBpZiBhY2sna2luZyBhbiBlYXJsaWVyIGZldGNoCisJ
ICogT1VUOiBYRU5fTUNfT0ssIFhFTl9NQ19GRVRDSEFJTEVELCBYRU5fTUNfTk9EQVRBCisJICov
CisJdWludDMyX3QgZmxhZ3M7CisJdWludDMyX3QgX3BhZDA7CisJLyogT1VUOiBpZCBmb3IgYWNr
LCBJTjogaWQgd2UgYXJlIGFjaydpbmcgKi8KKwl1aW50NjRfdCBmZXRjaF9pZDsKKworCS8qIE9V
VCB2YXJpYWJsZXMuICovCisJR1VFU1RfSEFORExFKG1jX2luZm8pIGRhdGE7Cit9OworREVGSU5F
X0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21jX2ZldGNoKTsKKworCisvKgorICogVGhpcyB0ZWxs
cyB0aGUgaHlwZXJ2aXNvciB0byBub3RpZnkgYSBEb21VIGFib3V0IHRoZSBtYWNoaW5lIGNoZWNr
IGVycm9yCisgKi8KKyNkZWZpbmUgWEVOX01DX25vdGlmeWRvbWFpbgkyCitzdHJ1Y3QgeGVuX21j
X25vdGlmeWRvbWFpbiB7CisJLyogSU4gdmFyaWFibGVzICovCisJdWludDE2X3QgbWNfZG9taWQ7
IC8qIFRoZSB1bnByaXZpbGVnZWQgZG9tYWluIHRvIG5vdGlmeSAqLworCXVpbnQxNl90IG1jX3Zj
cHVpZDsgLyogVGhlIHZjcHUgaW4gbWNfZG9taWQgdG8gbm90aWZ5ICovCisKKwkvKiBJTi9PVVQg
dmFyaWFibGVzICovCisJdWludDMyX3QgZmxhZ3M7Cit9OworREVGSU5FX0dVRVNUX0hBTkRMRV9T
VFJVQ1QoeGVuX21jX25vdGlmeWRvbWFpbik7CisKKyNkZWZpbmUgWEVOX01DX3BoeXNjcHVpbmZv
CTMKK3N0cnVjdCB4ZW5fbWNfcGh5c2NwdWluZm8geworCS8qIElOL09VVCAqLworCXVpbnQzMl90
IG5jcHVzOworCXVpbnQzMl90IF9wYWQwOworCS8qIE9VVCAqLworCUdVRVNUX0hBTkRMRShtY2lu
Zm9fbG9naWNhbF9jcHUpIGluZm87Cit9OworCisjZGVmaW5lIFhFTl9NQ19tc3JpbmplY3QJNAor
I2RlZmluZSBNQ19NU1JJTkpfTUFYTVNSUwk4CitzdHJ1Y3QgeGVuX21jX21zcmluamVjdCB7CisJ
LyogSU4gKi8KKwl1aW50MzJfdCBtY2lual9jcHVucjsgLyogdGFyZ2V0IHByb2Nlc3NvciBpZCAq
LworCXVpbnQzMl90IG1jaW5qX2ZsYWdzOyAvKiBzZWUgTUNfTVNSSU5KX0ZfKiBiZWxvdyAqLwor
CXVpbnQzMl90IG1jaW5qX2NvdW50OyAvKiAwIC4uIGNvdW50LTEgaW4gYXJyYXkgYXJlIHZhbGlk
ICovCisJdWludDMyX3QgX3BhZDA7CisJc3RydWN0IG1jaW5mb19tc3IgbWNpbmpfbXNyW01DX01T
UklOSl9NQVhNU1JTXTsKK307CisKKy8qIEZsYWdzIGZvciBtY2lual9mbGFncyBhYm92ZTsgYml0
cyAxNi0zMSBhcmUgcmVzZXJ2ZWQgKi8KKyNkZWZpbmUgTUNfTVNSSU5KX0ZfSU5URVJQT1NFCTB4
MQorCisjZGVmaW5lIFhFTl9NQ19tY2VpbmplY3QJNQorc3RydWN0IHhlbl9tY19tY2VpbmplY3Qg
eworCXVuc2lnbmVkIGludCBtY2VpbmpfY3B1bnI7IC8qIHRhcmdldCBwcm9jZXNzb3IgaWQgKi8K
K307CisKK3N0cnVjdCB4ZW5fbWMgeworCXVpbnQzMl90IGNtZDsKKwl1aW50MzJfdCBpbnRlcmZh
Y2VfdmVyc2lvbjsgLyogWEVOX01DQV9JTlRFUkZBQ0VfVkVSU0lPTiAqLworCXVuaW9uIHsKKwkJ
c3RydWN0IHhlbl9tY19mZXRjaCAgICAgICAgbWNfZmV0Y2g7CisJCXN0cnVjdCB4ZW5fbWNfbm90
aWZ5ZG9tYWluIG1jX25vdGlmeWRvbWFpbjsKKwkJc3RydWN0IHhlbl9tY19waHlzY3B1aW5mbyAg
bWNfcGh5c2NwdWluZm87CisJCXN0cnVjdCB4ZW5fbWNfbXNyaW5qZWN0ICAgIG1jX21zcmluamVj
dDsKKwkJc3RydWN0IHhlbl9tY19tY2VpbmplY3QgICAgbWNfbWNlaW5qZWN0OworCX0gdTsKK307
CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWMpOworCisvKiBGaWVsZHMgYXJlIHpl
cm8gd2hlbiBub3QgYXZhaWxhYmxlICovCitzdHJ1Y3QgeGVuX21jZSB7CisJX191NjQgc3RhdHVz
OworCV9fdTY0IG1pc2M7CisJX191NjQgYWRkcjsKKwlfX3U2NCBtY2dzdGF0dXM7CisJX191NjQg
aXA7CisJX191NjQgdHNjOwkvKiBjcHUgdGltZSBzdGFtcCBjb3VudGVyICovCisJX191NjQgdGlt
ZTsJLyogd2FsbCB0aW1lX3Qgd2hlbiBlcnJvciB3YXMgZGV0ZWN0ZWQgKi8KKwlfX3U4ICBjcHV2
ZW5kb3I7CS8qIGNwdSB2ZW5kb3IgYXMgZW5jb2RlZCBpbiBzeXN0ZW0uaCAqLworCV9fdTggIGlu
amVjdF9mbGFnczsJLyogc29mdHdhcmUgaW5qZWN0IGZsYWdzICovCisJX191MTYgIHBhZDsKKwlf
X3UzMiBjcHVpZDsJLyogQ1BVSUQgMSBFQVggKi8KKwlfX3U4ICBjczsJCS8qIGNvZGUgc2VnbWVu
dCAqLworCV9fdTggIGJhbms7CS8qIG1hY2hpbmUgY2hlY2sgYmFuayAqLworCV9fdTggIGNwdTsJ
LyogY3B1IG51bWJlcjsgb2Jzb2xldGU7IHVzZSBleHRjcHUgbm93ICovCisJX191OCAgZmluaXNo
ZWQ7ICAgLyogZW50cnkgaXMgdmFsaWQgKi8KKwlfX3UzMiBleHRjcHU7CS8qIGxpbnV4IGNwdSBu
dW1iZXIgdGhhdCBkZXRlY3RlZCB0aGUgZXJyb3IgKi8KKwlfX3UzMiBzb2NrZXRpZDsJLyogQ1BV
IHNvY2tldCBJRCAqLworCV9fdTMyIGFwaWNpZDsJLyogQ1BVIGluaXRpYWwgYXBpYyBJRCAqLwor
CV9fdTY0IG1jZ2NhcDsJLyogTUNHQ0FQIE1TUjogbWFjaGluZSBjaGVjayBjYXBhYmlsaXRpZXMg
b2YgQ1BVICovCit9OworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgY29udGFpbnMgYWxsIGRhdGEg
cmVsYXRlZCB0byB0aGUgTUNFIGxvZy4gIEFsc28KKyAqIGNhcnJpZXMgYSBzaWduYXR1cmUgdG8g
bWFrZSBpdCBlYXNpZXIgdG8gZmluZCBmcm9tIGV4dGVybmFsCisgKiBkZWJ1Z2dpbmcgdG9vbHMu
ICBFYWNoIGVudHJ5IGlzIG9ubHkgdmFsaWQgd2hlbiBpdHMgZmluaXNoZWQgZmxhZworICogaXMg
c2V0LgorICovCisKKyNkZWZpbmUgWEVOX01DRV9MT0dfTEVOIDMyCisKK3N0cnVjdCB4ZW5fbWNl
X2xvZyB7CisJY2hhciBzaWduYXR1cmVbMTJdOyAvKiAiTUFDSElORUNIRUNLIiAqLworCXVuc2ln
bmVkIGxlbjsJICAgIC8qID0gWEVOX01DRV9MT0dfTEVOICovCisJdW5zaWduZWQgbmV4dDsKKwl1
bnNpZ25lZCBmbGFnczsKKwl1bnNpZ25lZCByZWNvcmRsZW47CS8qIGxlbmd0aCBvZiBzdHJ1Y3Qg
eGVuX21jZSAqLworCXN0cnVjdCB4ZW5fbWNlIGVudHJ5W1hFTl9NQ0VfTE9HX0xFTl07Cit9Owor
CisjZGVmaW5lIFhFTl9NQ0VfT1ZFUkZMT1cgMAkJLyogYml0IDAgaW4gZmxhZ3MgbWVhbnMgb3Zl
cmZsb3cgKi8KKworI2RlZmluZSBYRU5fTUNFX0xPR19TSUdOQVRVUkUJIk1BQ0hJTkVDSEVDSyIK
KworI2RlZmluZSBNQ0VfR0VUX1JFQ09SRF9MRU4gICBfSU9SKCdNJywgMSwgaW50KQorI2RlZmlu
ZSBNQ0VfR0VUX0xPR19MRU4gICAgICBfSU9SKCdNJywgMiwgaW50KQorI2RlZmluZSBNQ0VfR0VU
Q0xFQVJfRkxBR1MgICBfSU9SKCdNJywgMywgaW50KQorCisjZW5kaWYgLyogX19BU1NFTUJMWV9f
ICovCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0FSQ0hfWDg2X01DQV9IX18gKi8KLS0gCjEuNy4x
Cgo=

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB48SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:32:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9EY-0008BA-Qt; Thu, 31 May 2012 17:32:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9EX-0008Az-Qx
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:32:26 +0000
Received: from [193.109.254.147:60136] by server-2.bemta-14.messagelabs.com id
	0C/38-03167-92BA7CF4; Thu, 31 May 2012 17:32:25 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338485542!7065897!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg5NzIx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24916 invoked from network); 31 May 2012 17:32:23 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-10.tower-27.messagelabs.com with SMTP;
	31 May 2012 17:32:23 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 31 May 2012 10:32:22 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="106369706"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:32:22 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:32:21 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:32:19 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 2/3] X86, MCE, AMD: Adjust initcall sequence for xen
Thread-Index: Ac0/U1N3hg23ys/+REik1lYOKQOUiw==
Date: Thu, 31 May 2012 17:32:18 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB5F@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 2/3] X86, MCE,
	AMD: Adjust initcall sequence for xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From bd14e0b1f0bf4586d03cc1fc810606d2ef2c1076 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 1 Jun 2012 08:30:21 +0800
Subject: [PATCH 2/3] X86, MCE, AMD: Adjust initcall sequence for xen

there are 3 funcs which need to be _initcalled in a logic sequence:
1. xen_late_init_mcelog
2. mcheck_init_device
3. threshold_init_device

xen_late_init_mcelog must register xen_mce_chrdev_device before
native mce_chrdev_device registration if running under xen platform;

mcheck_init_device should be inited before threshold_init_device to
initialize mce_device, otherwise a NULL ptr dereference will cause panic.

so we use following _initcalls
1. device_initcall(xen_late_init_mcelog);
2. device_initcall_sync(mcheck_init_device);
3. late_initcall(threshold_init_device);

when running under xen, the initcall order is 1,2,3;
on baremetal, we skip 1 and we do only 2 and 3.

Reported-by: Borislav Petkov <bp@amd64.org>
Suggested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/kernel/cpu/mcheck/mce_amd.c |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mch=
eck/mce_amd.c
index f4873a6..be52744 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
@@ -777,4 +777,24 @@ static __init int threshold_init_device(void)
=20
 	return 0;
 }
-device_initcall(threshold_init_device);
+/*
+ * there are 3 funcs which need to be _initcalled in a logic sequence:
+ * 1. xen_late_init_mcelog
+ * 2. mcheck_init_device
+ * 3. threshold_init_device
+ *
+ * xen_late_init_mcelog must register xen_mce_chrdev_device before
+ * native mce_chrdev_device registration if running under xen platform;
+ *
+ * mcheck_init_device should be inited before threshold_init_device to
+ * initialize mce_device, otherwise a NULL ptr dereference will cause pani=
c.
+ *
+ * so we use following _initcalls
+ * 1. device_initcall(xen_late_init_mcelog);
+ * 2. device_initcall_sync(mcheck_init_device);
+ * 3. late_initcall(threshold_init_device);
+ *
+ * when running under xen, the initcall order is 1,2,3;
+ * on baremetal, we skip 1 and we do only 2 and 3.
+ */
+late_initcall(threshold_init_device);
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0002-X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch"
Content-Description: 0002-X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch
Content-Disposition: attachment;
	filename="0002-X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch";
	size=2379; creation-date="Thu, 31 May 2012 17:10:05 GMT";
	modification-date="Fri, 01 Jun 2012 00:43:22 GMT"
Content-Transfer-Encoding: base64

RnJvbSBiZDE0ZTBiMWYwYmY0NTg2ZDAzY2MxZmM4MTA2MDZkMmVmMmMxMDc2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxIEp1biAyMDEyIDA4OjMwOjIxICswODAwClN1YmplY3Q6IFtQQVRDSCAyLzNd
IFg4NiwgTUNFLCBBTUQ6IEFkanVzdCBpbml0Y2FsbCBzZXF1ZW5jZSBmb3IgeGVuCgp0aGVyZSBh
cmUgMyBmdW5jcyB3aGljaCBuZWVkIHRvIGJlIF9pbml0Y2FsbGVkIGluIGEgbG9naWMgc2VxdWVu
Y2U6CjEuIHhlbl9sYXRlX2luaXRfbWNlbG9nCjIuIG1jaGVja19pbml0X2RldmljZQozLiB0aHJl
c2hvbGRfaW5pdF9kZXZpY2UKCnhlbl9sYXRlX2luaXRfbWNlbG9nIG11c3QgcmVnaXN0ZXIgeGVu
X21jZV9jaHJkZXZfZGV2aWNlIGJlZm9yZQpuYXRpdmUgbWNlX2NocmRldl9kZXZpY2UgcmVnaXN0
cmF0aW9uIGlmIHJ1bm5pbmcgdW5kZXIgeGVuIHBsYXRmb3JtOwoKbWNoZWNrX2luaXRfZGV2aWNl
IHNob3VsZCBiZSBpbml0ZWQgYmVmb3JlIHRocmVzaG9sZF9pbml0X2RldmljZSB0bwppbml0aWFs
aXplIG1jZV9kZXZpY2UsIG90aGVyd2lzZSBhIE5VTEwgcHRyIGRlcmVmZXJlbmNlIHdpbGwgY2F1
c2UgcGFuaWMuCgpzbyB3ZSB1c2UgZm9sbG93aW5nIF9pbml0Y2FsbHMKMS4gZGV2aWNlX2luaXRj
YWxsKHhlbl9sYXRlX2luaXRfbWNlbG9nKTsKMi4gZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNr
X2luaXRfZGV2aWNlKTsKMy4gbGF0ZV9pbml0Y2FsbCh0aHJlc2hvbGRfaW5pdF9kZXZpY2UpOwoK
d2hlbiBydW5uaW5nIHVuZGVyIHhlbiwgdGhlIGluaXRjYWxsIG9yZGVyIGlzIDEsMiwzOwpvbiBi
YXJlbWV0YWwsIHdlIHNraXAgMSBhbmQgd2UgZG8gb25seSAyIGFuZCAzLgoKUmVwb3J0ZWQtYnk6
IEJvcmlzbGF2IFBldGtvdiA8YnBAYW1kNjQub3JnPgpTdWdnZXN0ZWQtYnk6IEtvbnJhZCBSemVz
enV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQWNrZWQtYW5kLXRlc3RlZC1ieTog
Qm9yaXNsYXYgUGV0a292IDxib3Jpc2xhdi5wZXRrb3ZAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTog
TGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+Ci0tLQogYXJjaC94ODYva2VybmVs
L2NwdS9tY2hlY2svbWNlX2FtZC5jIHwgICAyMiArKysrKysrKysrKysrKysrKysrKystCiAxIGZp
bGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX2FtZC5jIGIvYXJjaC94ODYva2VybmVs
L2NwdS9tY2hlY2svbWNlX2FtZC5jCmluZGV4IGY0ODczYTYuLmJlNTI3NDQgMTAwNjQ0Ci0tLSBh
L2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQuYworKysgYi9hcmNoL3g4Ni9rZXJu
ZWwvY3B1L21jaGVjay9tY2VfYW1kLmMKQEAgLTc3Nyw0ICs3NzcsMjQgQEAgc3RhdGljIF9faW5p
dCBpbnQgdGhyZXNob2xkX2luaXRfZGV2aWNlKHZvaWQpCiAKIAlyZXR1cm4gMDsKIH0KLWRldmlj
ZV9pbml0Y2FsbCh0aHJlc2hvbGRfaW5pdF9kZXZpY2UpOworLyoKKyAqIHRoZXJlIGFyZSAzIGZ1
bmNzIHdoaWNoIG5lZWQgdG8gYmUgX2luaXRjYWxsZWQgaW4gYSBsb2dpYyBzZXF1ZW5jZToKKyAq
IDEuIHhlbl9sYXRlX2luaXRfbWNlbG9nCisgKiAyLiBtY2hlY2tfaW5pdF9kZXZpY2UKKyAqIDMu
IHRocmVzaG9sZF9pbml0X2RldmljZQorICoKKyAqIHhlbl9sYXRlX2luaXRfbWNlbG9nIG11c3Qg
cmVnaXN0ZXIgeGVuX21jZV9jaHJkZXZfZGV2aWNlIGJlZm9yZQorICogbmF0aXZlIG1jZV9jaHJk
ZXZfZGV2aWNlIHJlZ2lzdHJhdGlvbiBpZiBydW5uaW5nIHVuZGVyIHhlbiBwbGF0Zm9ybTsKKyAq
CisgKiBtY2hlY2tfaW5pdF9kZXZpY2Ugc2hvdWxkIGJlIGluaXRlZCBiZWZvcmUgdGhyZXNob2xk
X2luaXRfZGV2aWNlIHRvCisgKiBpbml0aWFsaXplIG1jZV9kZXZpY2UsIG90aGVyd2lzZSBhIE5V
TEwgcHRyIGRlcmVmZXJlbmNlIHdpbGwgY2F1c2UgcGFuaWMuCisgKgorICogc28gd2UgdXNlIGZv
bGxvd2luZyBfaW5pdGNhbGxzCisgKiAxLiBkZXZpY2VfaW5pdGNhbGwoeGVuX2xhdGVfaW5pdF9t
Y2Vsb2cpOworICogMi4gZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsK
KyAqIDMuIGxhdGVfaW5pdGNhbGwodGhyZXNob2xkX2luaXRfZGV2aWNlKTsKKyAqCisgKiB3aGVu
IHJ1bm5pbmcgdW5kZXIgeGVuLCB0aGUgaW5pdGNhbGwgb3JkZXIgaXMgMSwyLDM7CisgKiBvbiBi
YXJlbWV0YWwsIHdlIHNraXAgMSBhbmQgd2UgZG8gb25seSAyIGFuZCAzLgorICovCitsYXRlX2lu
aXRjYWxsKHRocmVzaG9sZF9pbml0X2RldmljZSk7Ci0tIAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:32:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9EY-0008BA-Qt; Thu, 31 May 2012 17:32:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9EX-0008Az-Qx
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:32:26 +0000
Received: from [193.109.254.147:60136] by server-2.bemta-14.messagelabs.com id
	0C/38-03167-92BA7CF4; Thu, 31 May 2012 17:32:25 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1338485542!7065897!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg5NzIx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24916 invoked from network); 31 May 2012 17:32:23 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-10.tower-27.messagelabs.com with SMTP;
	31 May 2012 17:32:23 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 31 May 2012 10:32:22 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="106369706"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:32:22 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:32:21 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:32:19 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 2/3] X86, MCE, AMD: Adjust initcall sequence for xen
Thread-Index: Ac0/U1N3hg23ys/+REik1lYOKQOUiw==
Date: Thu, 31 May 2012 17:32:18 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB5F@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 2/3] X86, MCE,
	AMD: Adjust initcall sequence for xen
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From bd14e0b1f0bf4586d03cc1fc810606d2ef2c1076 Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 1 Jun 2012 08:30:21 +0800
Subject: [PATCH 2/3] X86, MCE, AMD: Adjust initcall sequence for xen

there are 3 funcs which need to be _initcalled in a logic sequence:
1. xen_late_init_mcelog
2. mcheck_init_device
3. threshold_init_device

xen_late_init_mcelog must register xen_mce_chrdev_device before
native mce_chrdev_device registration if running under xen platform;

mcheck_init_device should be inited before threshold_init_device to
initialize mce_device, otherwise a NULL ptr dereference will cause panic.

so we use following _initcalls
1. device_initcall(xen_late_init_mcelog);
2. device_initcall_sync(mcheck_init_device);
3. late_initcall(threshold_init_device);

when running under xen, the initcall order is 1,2,3;
on baremetal, we skip 1 and we do only 2 and 3.

Reported-by: Borislav Petkov <bp@amd64.org>
Suggested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/kernel/cpu/mcheck/mce_amd.c |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mch=
eck/mce_amd.c
index f4873a6..be52744 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
@@ -777,4 +777,24 @@ static __init int threshold_init_device(void)
=20
 	return 0;
 }
-device_initcall(threshold_init_device);
+/*
+ * there are 3 funcs which need to be _initcalled in a logic sequence:
+ * 1. xen_late_init_mcelog
+ * 2. mcheck_init_device
+ * 3. threshold_init_device
+ *
+ * xen_late_init_mcelog must register xen_mce_chrdev_device before
+ * native mce_chrdev_device registration if running under xen platform;
+ *
+ * mcheck_init_device should be inited before threshold_init_device to
+ * initialize mce_device, otherwise a NULL ptr dereference will cause pani=
c.
+ *
+ * so we use following _initcalls
+ * 1. device_initcall(xen_late_init_mcelog);
+ * 2. device_initcall_sync(mcheck_init_device);
+ * 3. late_initcall(threshold_init_device);
+ *
+ * when running under xen, the initcall order is 1,2,3;
+ * on baremetal, we skip 1 and we do only 2 and 3.
+ */
+late_initcall(threshold_init_device);
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0002-X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch"
Content-Description: 0002-X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch
Content-Disposition: attachment;
	filename="0002-X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch";
	size=2379; creation-date="Thu, 31 May 2012 17:10:05 GMT";
	modification-date="Fri, 01 Jun 2012 00:43:22 GMT"
Content-Transfer-Encoding: base64

RnJvbSBiZDE0ZTBiMWYwYmY0NTg2ZDAzY2MxZmM4MTA2MDZkMmVmMmMxMDc2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxIEp1biAyMDEyIDA4OjMwOjIxICswODAwClN1YmplY3Q6IFtQQVRDSCAyLzNd
IFg4NiwgTUNFLCBBTUQ6IEFkanVzdCBpbml0Y2FsbCBzZXF1ZW5jZSBmb3IgeGVuCgp0aGVyZSBh
cmUgMyBmdW5jcyB3aGljaCBuZWVkIHRvIGJlIF9pbml0Y2FsbGVkIGluIGEgbG9naWMgc2VxdWVu
Y2U6CjEuIHhlbl9sYXRlX2luaXRfbWNlbG9nCjIuIG1jaGVja19pbml0X2RldmljZQozLiB0aHJl
c2hvbGRfaW5pdF9kZXZpY2UKCnhlbl9sYXRlX2luaXRfbWNlbG9nIG11c3QgcmVnaXN0ZXIgeGVu
X21jZV9jaHJkZXZfZGV2aWNlIGJlZm9yZQpuYXRpdmUgbWNlX2NocmRldl9kZXZpY2UgcmVnaXN0
cmF0aW9uIGlmIHJ1bm5pbmcgdW5kZXIgeGVuIHBsYXRmb3JtOwoKbWNoZWNrX2luaXRfZGV2aWNl
IHNob3VsZCBiZSBpbml0ZWQgYmVmb3JlIHRocmVzaG9sZF9pbml0X2RldmljZSB0bwppbml0aWFs
aXplIG1jZV9kZXZpY2UsIG90aGVyd2lzZSBhIE5VTEwgcHRyIGRlcmVmZXJlbmNlIHdpbGwgY2F1
c2UgcGFuaWMuCgpzbyB3ZSB1c2UgZm9sbG93aW5nIF9pbml0Y2FsbHMKMS4gZGV2aWNlX2luaXRj
YWxsKHhlbl9sYXRlX2luaXRfbWNlbG9nKTsKMi4gZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNr
X2luaXRfZGV2aWNlKTsKMy4gbGF0ZV9pbml0Y2FsbCh0aHJlc2hvbGRfaW5pdF9kZXZpY2UpOwoK
d2hlbiBydW5uaW5nIHVuZGVyIHhlbiwgdGhlIGluaXRjYWxsIG9yZGVyIGlzIDEsMiwzOwpvbiBi
YXJlbWV0YWwsIHdlIHNraXAgMSBhbmQgd2UgZG8gb25seSAyIGFuZCAzLgoKUmVwb3J0ZWQtYnk6
IEJvcmlzbGF2IFBldGtvdiA8YnBAYW1kNjQub3JnPgpTdWdnZXN0ZWQtYnk6IEtvbnJhZCBSemVz
enV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQWNrZWQtYW5kLXRlc3RlZC1ieTog
Qm9yaXNsYXYgUGV0a292IDxib3Jpc2xhdi5wZXRrb3ZAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTog
TGl1LCBKaW5zb25nIDxqaW5zb25nLmxpdUBpbnRlbC5jb20+Ci0tLQogYXJjaC94ODYva2VybmVs
L2NwdS9tY2hlY2svbWNlX2FtZC5jIHwgICAyMiArKysrKysrKysrKysrKysrKysrKystCiAxIGZp
bGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX2FtZC5jIGIvYXJjaC94ODYva2VybmVs
L2NwdS9tY2hlY2svbWNlX2FtZC5jCmluZGV4IGY0ODczYTYuLmJlNTI3NDQgMTAwNjQ0Ci0tLSBh
L2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQuYworKysgYi9hcmNoL3g4Ni9rZXJu
ZWwvY3B1L21jaGVjay9tY2VfYW1kLmMKQEAgLTc3Nyw0ICs3NzcsMjQgQEAgc3RhdGljIF9faW5p
dCBpbnQgdGhyZXNob2xkX2luaXRfZGV2aWNlKHZvaWQpCiAKIAlyZXR1cm4gMDsKIH0KLWRldmlj
ZV9pbml0Y2FsbCh0aHJlc2hvbGRfaW5pdF9kZXZpY2UpOworLyoKKyAqIHRoZXJlIGFyZSAzIGZ1
bmNzIHdoaWNoIG5lZWQgdG8gYmUgX2luaXRjYWxsZWQgaW4gYSBsb2dpYyBzZXF1ZW5jZToKKyAq
IDEuIHhlbl9sYXRlX2luaXRfbWNlbG9nCisgKiAyLiBtY2hlY2tfaW5pdF9kZXZpY2UKKyAqIDMu
IHRocmVzaG9sZF9pbml0X2RldmljZQorICoKKyAqIHhlbl9sYXRlX2luaXRfbWNlbG9nIG11c3Qg
cmVnaXN0ZXIgeGVuX21jZV9jaHJkZXZfZGV2aWNlIGJlZm9yZQorICogbmF0aXZlIG1jZV9jaHJk
ZXZfZGV2aWNlIHJlZ2lzdHJhdGlvbiBpZiBydW5uaW5nIHVuZGVyIHhlbiBwbGF0Zm9ybTsKKyAq
CisgKiBtY2hlY2tfaW5pdF9kZXZpY2Ugc2hvdWxkIGJlIGluaXRlZCBiZWZvcmUgdGhyZXNob2xk
X2luaXRfZGV2aWNlIHRvCisgKiBpbml0aWFsaXplIG1jZV9kZXZpY2UsIG90aGVyd2lzZSBhIE5V
TEwgcHRyIGRlcmVmZXJlbmNlIHdpbGwgY2F1c2UgcGFuaWMuCisgKgorICogc28gd2UgdXNlIGZv
bGxvd2luZyBfaW5pdGNhbGxzCisgKiAxLiBkZXZpY2VfaW5pdGNhbGwoeGVuX2xhdGVfaW5pdF9t
Y2Vsb2cpOworICogMi4gZGV2aWNlX2luaXRjYWxsX3N5bmMobWNoZWNrX2luaXRfZGV2aWNlKTsK
KyAqIDMuIGxhdGVfaW5pdGNhbGwodGhyZXNob2xkX2luaXRfZGV2aWNlKTsKKyAqCisgKiB3aGVu
IHJ1bm5pbmcgdW5kZXIgeGVuLCB0aGUgaW5pdGNhbGwgb3JkZXIgaXMgMSwyLDM7CisgKiBvbiBi
YXJlbWV0YWwsIHdlIHNraXAgMSBhbmQgd2UgZG8gb25seSAyIGFuZCAzLgorICovCitsYXRlX2lu
aXRjYWxsKHRocmVzaG9sZF9pbml0X2RldmljZSk7Ci0tIAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB5FSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:34:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:34:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9GI-0008Kg-00; Thu, 31 May 2012 17:34:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9GH-0008KU-9f
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:34:13 +0000
Received: from [85.158.139.83:34921] by server-10.bemta-5.messagelabs.com id
	A8/86-22179-49BA7CF4; Thu, 31 May 2012 17:34:12 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338485650!24092744!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg5NzIx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18940 invoked from network); 31 May 2012 17:34:11 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-182.messagelabs.com with SMTP;
	31 May 2012 17:34:11 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 31 May 2012 10:33:53 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="106370358"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:33:53 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:33:52 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:33:51 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Register native mce handler as vMCE bounce back point
Thread-Index: Ac0/U4oGOmcgMxj2Q7+f4qg6RfEkEg==
Date: Thu, 31 May 2012 17:33:49 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB7C@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 3/3] Register native mce handler as vMCE bounce
	back point
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From ca1f8a2347eb34acdc7c54b805c78a982a0a590d Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 1 Jun 2012 08:41:00 +0800
Subject: [PATCH 3/3] Register native mce handler as vMCE bounce back point

When xen hypervisor inject vMCE to guest, use native mce handler to handle =
it

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/xen/enlighten.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index ff2d00e..0cb12dd 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -618,8 +618,8 @@ static int cvt_gate_to_trap(int vector, const gate_desc=
 *val,
 	/*
 	 * Look for known traps using IST, and substitute them
 	 * appropriately.  The debugger ones are the only ones we care
-	 * about.  Xen will handle faults like double_fault and
-	 * machine_check, so we should never see them.  Warn if
+	 * about.  Xen will handle faults like double_fault,
+	 * so we should never see them.  Warn if
 	 * there's an unexpected IST-using fault handler.
 	 */
 	if (addr =3D=3D (unsigned long)debug)
@@ -634,7 +634,11 @@ static int cvt_gate_to_trap(int vector, const gate_des=
c *val,
 		return 0;
 #ifdef CONFIG_X86_MCE
 	} else if (addr =3D=3D (unsigned long)machine_check) {
-		return 0;
+		/*
+		 * when xen hyeprvisor inject vMCE to guest,
+		 * use native mce handler to handle it
+		 */
+		;
 #endif
 	} else {
 		/* Some other trap using IST? */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0003-Register-native-mce-handler-as-vMCE-bounce-back-poin.patch"
Content-Description: 0003-Register-native-mce-handler-as-vMCE-bounce-back-poin.patch
Content-Disposition: attachment;
	filename="0003-Register-native-mce-handler-as-vMCE-bounce-back-poin.patch";
	size=1662; creation-date="Thu, 31 May 2012 17:10:05 GMT";
	modification-date="Fri, 01 Jun 2012 00:43:22 GMT"
Content-Transfer-Encoding: base64

RnJvbSBjYTFmOGEyMzQ3ZWIzNGFjZGM3YzU0YjgwNWM3OGE5ODJhMGE1OTBkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxIEp1biAyMDEyIDA4OjQxOjAwICswODAwClN1YmplY3Q6IFtQQVRDSCAzLzNd
IFJlZ2lzdGVyIG5hdGl2ZSBtY2UgaGFuZGxlciBhcyB2TUNFIGJvdW5jZSBiYWNrIHBvaW50CgpX
aGVuIHhlbiBoeXBlcnZpc29yIGluamVjdCB2TUNFIHRvIGd1ZXN0LCB1c2UgbmF0aXZlIG1jZSBo
YW5kbGVyIHRvIGhhbmRsZSBpdAoKU2lnbmVkLW9mZi1ieTogS2UsIExpcGluZyA8bGlwaW5nLmtl
QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdA
aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKZXJlbXkgRml0emhhcmRpbmdlIDxqZXJlbXkuZml0
emhhcmRpbmdlQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29u
Zy5saXVAaW50ZWwuY29tPgotLS0KIGFyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyB8ICAgMTAgKysr
KysrKy0tLQogMSBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2Vu
bGlnaHRlbi5jCmluZGV4IGZmMmQwMGUuLjBjYjEyZGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hl
bi9lbmxpZ2h0ZW4uYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKQEAgLTYxOCw4ICs2
MTgsOCBAQCBzdGF0aWMgaW50IGN2dF9nYXRlX3RvX3RyYXAoaW50IHZlY3RvciwgY29uc3QgZ2F0
ZV9kZXNjICp2YWwsCiAJLyoKIAkgKiBMb29rIGZvciBrbm93biB0cmFwcyB1c2luZyBJU1QsIGFu
ZCBzdWJzdGl0dXRlIHRoZW0KIAkgKiBhcHByb3ByaWF0ZWx5LiAgVGhlIGRlYnVnZ2VyIG9uZXMg
YXJlIHRoZSBvbmx5IG9uZXMgd2UgY2FyZQotCSAqIGFib3V0LiAgWGVuIHdpbGwgaGFuZGxlIGZh
dWx0cyBsaWtlIGRvdWJsZV9mYXVsdCBhbmQKLQkgKiBtYWNoaW5lX2NoZWNrLCBzbyB3ZSBzaG91
bGQgbmV2ZXIgc2VlIHRoZW0uICBXYXJuIGlmCisJICogYWJvdXQuICBYZW4gd2lsbCBoYW5kbGUg
ZmF1bHRzIGxpa2UgZG91YmxlX2ZhdWx0LAorCSAqIHNvIHdlIHNob3VsZCBuZXZlciBzZWUgdGhl
bS4gIFdhcm4gaWYKIAkgKiB0aGVyZSdzIGFuIHVuZXhwZWN0ZWQgSVNULXVzaW5nIGZhdWx0IGhh
bmRsZXIuCiAJICovCiAJaWYgKGFkZHIgPT0gKHVuc2lnbmVkIGxvbmcpZGVidWcpCkBAIC02MzQs
NyArNjM0LDExIEBAIHN0YXRpYyBpbnQgY3Z0X2dhdGVfdG9fdHJhcChpbnQgdmVjdG9yLCBjb25z
dCBnYXRlX2Rlc2MgKnZhbCwKIAkJcmV0dXJuIDA7CiAjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKIAl9
IGVsc2UgaWYgKGFkZHIgPT0gKHVuc2lnbmVkIGxvbmcpbWFjaGluZV9jaGVjaykgewotCQlyZXR1
cm4gMDsKKwkJLyoKKwkJICogd2hlbiB4ZW4gaHllcHJ2aXNvciBpbmplY3Qgdk1DRSB0byBndWVz
dCwKKwkJICogdXNlIG5hdGl2ZSBtY2UgaGFuZGxlciB0byBoYW5kbGUgaXQKKwkJICovCisJCTsK
ICNlbmRpZgogCX0gZWxzZSB7CiAJCS8qIFNvbWUgb3RoZXIgdHJhcCB1c2luZyBJU1Q/ICovCi0t
IAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:34:26 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:34:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9GI-0008Kg-00; Thu, 31 May 2012 17:34:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9GH-0008KU-9f
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:34:13 +0000
Received: from [85.158.139.83:34921] by server-10.bemta-5.messagelabs.com id
	A8/86-22179-49BA7CF4; Thu, 31 May 2012 17:34:12 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-16.tower-182.messagelabs.com!1338485650!24092744!1
X-Originating-IP: [143.182.124.21]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMjEgPT4gMjg5NzIx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18940 invoked from network); 31 May 2012 17:34:11 -0000
Received: from mga03.intel.com (HELO mga03.intel.com) (143.182.124.21)
	by server-16.tower-182.messagelabs.com with SMTP;
	31 May 2012 17:34:11 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga101.ch.intel.com with ESMTP; 31 May 2012 10:33:53 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; 
	d="scan'208,223";a="106370358"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 10:33:53 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 10:33:52 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 01:33:51 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [PATCH 3/3] Register native mce handler as vMCE bounce back point
Thread-Index: Ac0/U4oGOmcgMxj2Q7+f4qg6RfEkEg==
Date: Thu, 31 May 2012 17:33:49 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923351FFB7C@SHSMSX101.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: [Xen-devel] [PATCH 3/3] Register native mce handler as vMCE bounce
	back point
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>From ca1f8a2347eb34acdc7c54b805c78a982a0a590d Mon Sep 17 00:00:00 2001
From: Liu, Jinsong <jinsong.liu@intel.com>
Date: Fri, 1 Jun 2012 08:41:00 +0800
Subject: [PATCH 3/3] Register native mce handler as vMCE bounce back point

When xen hypervisor inject vMCE to guest, use native mce handler to handle =
it

Signed-off-by: Ke, Liping <liping.ke@intel.com>
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
---
 arch/x86/xen/enlighten.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index ff2d00e..0cb12dd 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -618,8 +618,8 @@ static int cvt_gate_to_trap(int vector, const gate_desc=
 *val,
 	/*
 	 * Look for known traps using IST, and substitute them
 	 * appropriately.  The debugger ones are the only ones we care
-	 * about.  Xen will handle faults like double_fault and
-	 * machine_check, so we should never see them.  Warn if
+	 * about.  Xen will handle faults like double_fault,
+	 * so we should never see them.  Warn if
 	 * there's an unexpected IST-using fault handler.
 	 */
 	if (addr =3D=3D (unsigned long)debug)
@@ -634,7 +634,11 @@ static int cvt_gate_to_trap(int vector, const gate_des=
c *val,
 		return 0;
 #ifdef CONFIG_X86_MCE
 	} else if (addr =3D=3D (unsigned long)machine_check) {
-		return 0;
+		/*
+		 * when xen hyeprvisor inject vMCE to guest,
+		 * use native mce handler to handle it
+		 */
+		;
 #endif
 	} else {
 		/* Some other trap using IST? */
--=20
1.7.1

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_
Content-Type: application/octet-stream;
	name="0003-Register-native-mce-handler-as-vMCE-bounce-back-poin.patch"
Content-Description: 0003-Register-native-mce-handler-as-vMCE-bounce-back-poin.patch
Content-Disposition: attachment;
	filename="0003-Register-native-mce-handler-as-vMCE-bounce-back-poin.patch";
	size=1662; creation-date="Thu, 31 May 2012 17:10:05 GMT";
	modification-date="Fri, 01 Jun 2012 00:43:22 GMT"
Content-Transfer-Encoding: base64

RnJvbSBjYTFmOGEyMzQ3ZWIzNGFjZGM3YzU0YjgwNWM3OGE5ODJhMGE1OTBkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUsIEppbnNvbmcgPGppbnNvbmcubGl1QGludGVsLmNvbT4K
RGF0ZTogRnJpLCAxIEp1biAyMDEyIDA4OjQxOjAwICswODAwClN1YmplY3Q6IFtQQVRDSCAzLzNd
IFJlZ2lzdGVyIG5hdGl2ZSBtY2UgaGFuZGxlciBhcyB2TUNFIGJvdW5jZSBiYWNrIHBvaW50CgpX
aGVuIHhlbiBoeXBlcnZpc29yIGluamVjdCB2TUNFIHRvIGd1ZXN0LCB1c2UgbmF0aXZlIG1jZSBo
YW5kbGVyIHRvIGhhbmRsZSBpdAoKU2lnbmVkLW9mZi1ieTogS2UsIExpcGluZyA8bGlwaW5nLmtl
QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSmlhbmcsIFl1bmhvbmcgPHl1bmhvbmcuamlhbmdA
aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKZXJlbXkgRml0emhhcmRpbmdlIDxqZXJlbXkuZml0
emhhcmRpbmdlQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IExpdSwgSmluc29uZyA8amluc29u
Zy5saXVAaW50ZWwuY29tPgotLS0KIGFyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyB8ICAgMTAgKysr
KysrKy0tLQogMSBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2Vu
bGlnaHRlbi5jCmluZGV4IGZmMmQwMGUuLjBjYjEyZGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hl
bi9lbmxpZ2h0ZW4uYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKQEAgLTYxOCw4ICs2
MTgsOCBAQCBzdGF0aWMgaW50IGN2dF9nYXRlX3RvX3RyYXAoaW50IHZlY3RvciwgY29uc3QgZ2F0
ZV9kZXNjICp2YWwsCiAJLyoKIAkgKiBMb29rIGZvciBrbm93biB0cmFwcyB1c2luZyBJU1QsIGFu
ZCBzdWJzdGl0dXRlIHRoZW0KIAkgKiBhcHByb3ByaWF0ZWx5LiAgVGhlIGRlYnVnZ2VyIG9uZXMg
YXJlIHRoZSBvbmx5IG9uZXMgd2UgY2FyZQotCSAqIGFib3V0LiAgWGVuIHdpbGwgaGFuZGxlIGZh
dWx0cyBsaWtlIGRvdWJsZV9mYXVsdCBhbmQKLQkgKiBtYWNoaW5lX2NoZWNrLCBzbyB3ZSBzaG91
bGQgbmV2ZXIgc2VlIHRoZW0uICBXYXJuIGlmCisJICogYWJvdXQuICBYZW4gd2lsbCBoYW5kbGUg
ZmF1bHRzIGxpa2UgZG91YmxlX2ZhdWx0LAorCSAqIHNvIHdlIHNob3VsZCBuZXZlciBzZWUgdGhl
bS4gIFdhcm4gaWYKIAkgKiB0aGVyZSdzIGFuIHVuZXhwZWN0ZWQgSVNULXVzaW5nIGZhdWx0IGhh
bmRsZXIuCiAJICovCiAJaWYgKGFkZHIgPT0gKHVuc2lnbmVkIGxvbmcpZGVidWcpCkBAIC02MzQs
NyArNjM0LDExIEBAIHN0YXRpYyBpbnQgY3Z0X2dhdGVfdG9fdHJhcChpbnQgdmVjdG9yLCBjb25z
dCBnYXRlX2Rlc2MgKnZhbCwKIAkJcmV0dXJuIDA7CiAjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKIAl9
IGVsc2UgaWYgKGFkZHIgPT0gKHVuc2lnbmVkIGxvbmcpbWFjaGluZV9jaGVjaykgewotCQlyZXR1
cm4gMDsKKwkJLyoKKwkJICogd2hlbiB4ZW4gaHllcHJ2aXNvciBpbmplY3Qgdk1DRSB0byBndWVz
dCwKKwkJICogdXNlIG5hdGl2ZSBtY2UgaGFuZGxlciB0byBoYW5kbGUgaXQKKwkJICovCisJCTsK
ICNlbmRpZgogCX0gZWxzZSB7CiAJCS8qIFNvbWUgb3RoZXIgdHJhcCB1c2luZyBJU1Q/ICovCi0t
IAoxLjcuMQoK

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--_002_DE8DF0795D48FD4CA783C40EC82923351FFB7CSHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Thu May 31 17:38:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:38:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9Kd-0000Ll-Mn; Thu, 31 May 2012 17:38:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa9Kc-0000Le-Ht
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:38:42 +0000
Received: from [85.158.143.99:35658] by server-2.bemta-4.messagelabs.com id
	B5/84-11595-1ACA7CF4; Thu, 31 May 2012 17:38:41 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338485919!30454677!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32721 invoked from network); 31 May 2012 17:38:41 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 17:38:41 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VHcSqb028807
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 17:38:29 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VHcRUX022103
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 17:38:28 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VHcRPD018610; Thu, 31 May 2012 12:38:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 10:38:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9386A402B7; Thu, 31 May 2012 13:31:37 -0400 (EDT)
Date: Thu, 31 May 2012 13:31:37 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531173137.GA31735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
 platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 05:27:53PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> > On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> >>> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00
> >>> 2001 
> >> From: root <root@ljsromley.bj.intel.com>
> > 
> > Also your git author is busted. I fixed it up for you but
> > you might want to run 'git config --user.name' and such
> 
> Ah, I forgot it. Thanks for fix it.
> 
> > 
> >> Date: Fri, 1 Jun 2012 03:12:51 +0800
> >> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
> > 
> > What about the cvt_gate_to_trap? Does that need something similar
> > to "xen/mce: Register native mce handler as vMCE bounce back point"
> > ?
> 
> That's vMCE injection logic.

Are you sure about it? The comments in it speak of piggybacking on
the native MCE handling routines. But since that is not used anymore
do you need to use a different mechanism?

> anyway, I will present new round of patch according to Boris and your commends, as following
> [Patch 1/3] xen-mce-Add-mcelog-support-for-Xen-platform.patch
> [Patch 2/3] X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch
> [Patch 3/3] Register-native-mce-handler-as-vMCE-bounce-back-poin.patch

Please look at http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commit;h=894c02d298cb638f3ff04bdbf41f646a0223bf05 as it has some of the mistakes fixed (spelling mistakes, wrong title, etc).

> 
> Patch 1/3 and 2/3 are for mcelog
> Patch 3/3 are for vMCE injection
> 
> > 
> > I stuck all these patches on devel/mce.v2 on
> > git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> 
> Hmm, we discussed base-tree problem before, and decided to use linus latest tree.
> I pull this morning and rebase my patches based on
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> c/s a01ee165a132fadb57659d26246e340d6ac53265

Which I think the tree is based on too.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 17:38:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:38:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9Kd-0000Ll-Mn; Thu, 31 May 2012 17:38:43 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa9Kc-0000Le-Ht
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:38:42 +0000
Received: from [85.158.143.99:35658] by server-2.bemta-4.messagelabs.com id
	B5/84-11595-1ACA7CF4; Thu, 31 May 2012 17:38:41 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-5.tower-216.messagelabs.com!1338485919!30454677!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32721 invoked from network); 31 May 2012 17:38:41 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-5.tower-216.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 17:38:41 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VHcSqb028807
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 17:38:29 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VHcRUX022103
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 17:38:28 GMT
Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VHcRPD018610; Thu, 31 May 2012 12:38:27 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 10:38:27 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 9386A402B7; Thu, 31 May 2012 13:31:37 -0400 (EDT)
Date: Thu, 31 May 2012 13:31:37 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531173137.GA31735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
 platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 05:27:53PM +0000, Liu, Jinsong wrote:
> Konrad Rzeszutek Wilk wrote:
> > On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
> >>> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00
> >>> 2001 
> >> From: root <root@ljsromley.bj.intel.com>
> > 
> > Also your git author is busted. I fixed it up for you but
> > you might want to run 'git config --user.name' and such
> 
> Ah, I forgot it. Thanks for fix it.
> 
> > 
> >> Date: Fri, 1 Jun 2012 03:12:51 +0800
> >> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
> > 
> > What about the cvt_gate_to_trap? Does that need something similar
> > to "xen/mce: Register native mce handler as vMCE bounce back point"
> > ?
> 
> That's vMCE injection logic.

Are you sure about it? The comments in it speak of piggybacking on
the native MCE handling routines. But since that is not used anymore
do you need to use a different mechanism?

> anyway, I will present new round of patch according to Boris and your commends, as following
> [Patch 1/3] xen-mce-Add-mcelog-support-for-Xen-platform.patch
> [Patch 2/3] X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch
> [Patch 3/3] Register-native-mce-handler-as-vMCE-bounce-back-poin.patch

Please look at http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commit;h=894c02d298cb638f3ff04bdbf41f646a0223bf05 as it has some of the mistakes fixed (spelling mistakes, wrong title, etc).

> 
> Patch 1/3 and 2/3 are for mcelog
> Patch 3/3 are for vMCE injection
> 
> > 
> > I stuck all these patches on devel/mce.v2 on
> > git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
> 
> Hmm, we discussed base-tree problem before, and decided to use linus latest tree.
> I pull this morning and rebase my patches based on
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> c/s a01ee165a132fadb57659d26246e340d6ac53265

Which I think the tree is based on too.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 17:40:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9Lj-0000Ri-4w; Thu, 31 May 2012 17:39:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa9Lg-0000RR-RW
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:39:49 +0000
Received: from [85.158.138.51:14230] by server-11.bemta-3.messagelabs.com id
	89/9E-32748-4ECA7CF4; Thu, 31 May 2012 17:39:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338485985!30247590!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10543 invoked from network); 31 May 2012 17:39:47 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 17:39:47 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VHdY5l012474
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 17:39:35 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VHdXpu024206
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 17:39:34 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VHdXaq019334; Thu, 31 May 2012 12:39:33 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 10:39:33 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E1397402B7; Thu, 31 May 2012 13:32:43 -0400 (EDT)
Date: Thu, 31 May 2012 13:32:43 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531173243.GB31735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FFB7C@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FFB7C@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Register native mce handler as vMCE
	bounce back point
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 05:33:49PM +0000, Liu, Jinsong wrote:
> >From ca1f8a2347eb34acdc7c54b805c78a982a0a590d Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Fri, 1 Jun 2012 08:41:00 +0800
> Subject: [PATCH 3/3] Register native mce handler as vMCE bounce back point

You need to have 'xen:' in front of 'register'
> 
> When xen hypervisor inject vMCE to guest, use native mce handler to handle it

And is that still OK?
> 
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> ---
>  arch/x86/xen/enlighten.c |   10 +++++++---
>  1 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index ff2d00e..0cb12dd 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -618,8 +618,8 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val,
>  	/*
>  	 * Look for known traps using IST, and substitute them
>  	 * appropriately.  The debugger ones are the only ones we care
> -	 * about.  Xen will handle faults like double_fault and
> -	 * machine_check, so we should never see them.  Warn if
> +	 * about.  Xen will handle faults like double_fault,
> +	 * so we should never see them.  Warn if
>  	 * there's an unexpected IST-using fault handler.
>  	 */
>  	if (addr == (unsigned long)debug)
> @@ -634,7 +634,11 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val,
>  		return 0;
>  #ifdef CONFIG_X86_MCE
>  	} else if (addr == (unsigned long)machine_check) {
> -		return 0;
> +		/*
> +		 * when xen hyeprvisor inject vMCE to guest,

<sigh> Pls run a spell checker.

> +		 * use native mce handler to handle it
> +		 */
> +		;
>  #endif
>  	} else {
>  		/* Some other trap using IST? */
> -- 
> 1.7.1



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 17:40:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 17:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9Lj-0000Ri-4w; Thu, 31 May 2012 17:39:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1Sa9Lg-0000RR-RW
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 17:39:49 +0000
Received: from [85.158.138.51:14230] by server-11.bemta-3.messagelabs.com id
	89/9E-32748-4ECA7CF4; Thu, 31 May 2012 17:39:48 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-9.tower-174.messagelabs.com!1338485985!30247590!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10543 invoked from network); 31 May 2012 17:39:47 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-9.tower-174.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 17:39:47 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VHdY5l012474
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 17:39:35 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VHdXpu024206
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 17:39:34 GMT
Received: from abhmt101.oracle.com (abhmt101.oracle.com [141.146.116.53])
	by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VHdXaq019334; Thu, 31 May 2012 12:39:33 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 10:39:33 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id E1397402B7; Thu, 31 May 2012 13:32:43 -0400 (EDT)
Date: Thu, 31 May 2012 13:32:43 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531173243.GB31735@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FFB7C@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923351FFB7C@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 3/3] Register native mce handler as vMCE
	bounce back point
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, 2012 at 05:33:49PM +0000, Liu, Jinsong wrote:
> >From ca1f8a2347eb34acdc7c54b805c78a982a0a590d Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <jinsong.liu@intel.com>
> Date: Fri, 1 Jun 2012 08:41:00 +0800
> Subject: [PATCH 3/3] Register native mce handler as vMCE bounce back point

You need to have 'xen:' in front of 'register'
> 
> When xen hypervisor inject vMCE to guest, use native mce handler to handle it

And is that still OK?
> 
> Signed-off-by: Ke, Liping <liping.ke@intel.com>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
> ---
>  arch/x86/xen/enlighten.c |   10 +++++++---
>  1 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index ff2d00e..0cb12dd 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -618,8 +618,8 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val,
>  	/*
>  	 * Look for known traps using IST, and substitute them
>  	 * appropriately.  The debugger ones are the only ones we care
> -	 * about.  Xen will handle faults like double_fault and
> -	 * machine_check, so we should never see them.  Warn if
> +	 * about.  Xen will handle faults like double_fault,
> +	 * so we should never see them.  Warn if
>  	 * there's an unexpected IST-using fault handler.
>  	 */
>  	if (addr == (unsigned long)debug)
> @@ -634,7 +634,11 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val,
>  		return 0;
>  #ifdef CONFIG_X86_MCE
>  	} else if (addr == (unsigned long)machine_check) {
> -		return 0;
> +		/*
> +		 * when xen hyeprvisor inject vMCE to guest,

<sigh> Pls run a spell checker.

> +		 * use native mce handler to handle it
> +		 */
> +		;
>  #endif
>  	} else {
>  		/* Some other trap using IST? */
> -- 
> 1.7.1



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 18:08:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 18:08:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9nS-0001Qf-0e; Thu, 31 May 2012 18:08:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9nP-0001QV-L4
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 18:08:27 +0000
Received: from [85.158.139.83:52621] by server-1.bemta-5.messagelabs.com id
	72/E7-21549-A93B7CF4; Thu, 31 May 2012 18:08:26 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338487705!31344148!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25892 invoked from network); 31 May 2012 18:08:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-15.tower-182.messagelabs.com with SMTP;
	31 May 2012 18:08:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 11:08:25 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="106383508"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 11:08:24 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 11:08:24 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 02:08:22 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
Thread-Index: AQHNP1RDM9HNPWGJrkGbs3SSikmUqJbkLqPQ
Date: Thu, 31 May 2012 18:08:21 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923352000E2@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
	<20120531173137.GA31735@phenom.dumpdata.com>
In-Reply-To: <20120531173137.GA31735@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
 platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 05:27:53PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>> On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
>>>>> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00
>>>>> 2001
>>>> From: root <root@ljsromley.bj.intel.com>
>>> 
>>> Also your git author is busted. I fixed it up for you but
>>> you might want to run 'git config --user.name' and such
>> 
>> Ah, I forgot it. Thanks for fix it.
>> 
>>> 
>>>> Date: Fri, 1 Jun 2012 03:12:51 +0800
>>>> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
>>> 
>>> What about the cvt_gate_to_trap? Does that need something similar
>>> to "xen/mce: Register native mce handler as vMCE bounce back point"
>>> ?
>> 
>> That's vMCE injection logic.
> 
> Are you sure about it? The comments in it speak of piggybacking on
> the native MCE handling routines. But since that is not used anymore
> do you need to use a different mechanism?

What is not used anymore? what's your concern about cvt_gate_to_trap? I really confused here.
Could you elaborate more?

> 
>> anyway, I will present new round of patch according to Boris and
>> your commends, as following [Patch 1/3]
>> xen-mce-Add-mcelog-support-for-Xen-platform.patch [Patch 2/3]
>> X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch [Patch 3/3]
>> Register-native-mce-handler-as-vMCE-bounce-back-poin.patch 
> 
> Please look at
> http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commit;h=894c02d298cb638f3ff04bdbf41f646a0223bf05
> as it has some of the mistakes fixed (spelling mistakes, wrong title,
> etc).   

Seems you have checkin my patch for vMCE injection to your tree.
If yes, I quit my [Patch 3/3] sent out half hour ago.

>>> 
>>> I stuck all these patches on devel/mce.v2 on
>>> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
>> 
>> Hmm, we discussed base-tree problem before, and decided to use linus
>> latest tree. 
>> I pull this morning and rebase my patches based on
>> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>> c/s a01ee165a132fadb57659d26246e340d6ac53265
> 
> Which I think the tree is based on too.

So it would not be stuck?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 18:08:48 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 18:08:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9nS-0001Qf-0e; Thu, 31 May 2012 18:08:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1Sa9nP-0001QV-L4
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 18:08:27 +0000
Received: from [85.158.139.83:52621] by server-1.bemta-5.messagelabs.com id
	72/E7-21549-A93B7CF4; Thu, 31 May 2012 18:08:26 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1338487705!31344148!1
X-Originating-IP: [143.182.124.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQzLjE4Mi4xMjQuMzcgPT4gMjQzOTUw\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25892 invoked from network); 31 May 2012 18:08:26 -0000
Received: from mga14.intel.com (HELO mga14.intel.com) (143.182.124.37)
	by server-15.tower-182.messagelabs.com with SMTP;
	31 May 2012 18:08:26 -0000
Received: from azsmga002.ch.intel.com ([10.2.17.35])
	by azsmga102.ch.intel.com with ESMTP; 31 May 2012 11:08:25 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="106383508"
Received: from azsmsx601.amr.corp.intel.com ([10.2.121.193])
	by AZSMGA002.ch.intel.com with ESMTP; 31 May 2012 11:08:24 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server
	(TLS) id 8.2.255.0; Thu, 31 May 2012 11:08:24 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.94]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.133]) with mapi id
	14.01.0355.002; Fri, 1 Jun 2012 02:08:22 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thread-Topic: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
	platform
Thread-Index: AQHNP1RDM9HNPWGJrkGbs3SSikmUqJbkLqPQ
Date: Thu, 31 May 2012 18:08:21 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923352000E2@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
	<20120531173137.GA31735@phenom.dumpdata.com>
In-Reply-To: <20120531173137.GA31735@phenom.dumpdata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
 platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Konrad Rzeszutek Wilk wrote:
> On Thu, May 31, 2012 at 05:27:53PM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>> On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
>>>>> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00
>>>>> 2001
>>>> From: root <root@ljsromley.bj.intel.com>
>>> 
>>> Also your git author is busted. I fixed it up for you but
>>> you might want to run 'git config --user.name' and such
>> 
>> Ah, I forgot it. Thanks for fix it.
>> 
>>> 
>>>> Date: Fri, 1 Jun 2012 03:12:51 +0800
>>>> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
>>> 
>>> What about the cvt_gate_to_trap? Does that need something similar
>>> to "xen/mce: Register native mce handler as vMCE bounce back point"
>>> ?
>> 
>> That's vMCE injection logic.
> 
> Are you sure about it? The comments in it speak of piggybacking on
> the native MCE handling routines. But since that is not used anymore
> do you need to use a different mechanism?

What is not used anymore? what's your concern about cvt_gate_to_trap? I really confused here.
Could you elaborate more?

> 
>> anyway, I will present new round of patch according to Boris and
>> your commends, as following [Patch 1/3]
>> xen-mce-Add-mcelog-support-for-Xen-platform.patch [Patch 2/3]
>> X86-MCE-AMD-Adjust-initcall-sequence-for-xen.patch [Patch 3/3]
>> Register-native-mce-handler-as-vMCE-bounce-back-poin.patch 
> 
> Please look at
> http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commit;h=894c02d298cb638f3ff04bdbf41f646a0223bf05
> as it has some of the mistakes fixed (spelling mistakes, wrong title,
> etc).   

Seems you have checkin my patch for vMCE injection to your tree.
If yes, I quit my [Patch 3/3] sent out half hour ago.

>>> 
>>> I stuck all these patches on devel/mce.v2 on
>>> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
>> 
>> Hmm, we discussed base-tree problem before, and decided to use linus
>> latest tree. 
>> I pull this morning and rebase my patches based on
>> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>> c/s a01ee165a132fadb57659d26246e340d6ac53265
> 
> Which I think the tree is based on too.

So it would not be stuck?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 18:20:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 18:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9yo-0001pb-E7; Thu, 31 May 2012 18:20:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1Sa9ym-0001pT-QT
	for xen-devel@lists.xen.org; Thu, 31 May 2012 18:20:13 +0000
Received: from [85.158.143.35:45050] by server-1.bemta-4.messagelabs.com id
	18/85-27869-C56B7CF4; Thu, 31 May 2012 18:20:12 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338488403!18309981!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14564 invoked from network); 31 May 2012 18:20:09 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-14.tower-21.messagelabs.com with SMTP;
	31 May 2012 18:20:09 -0000
X-TM-IMSS-Message-ID: <22cf5f360003f4d9@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 22cf5f360003f4d9 ;
	Thu, 31 May 2012 14:20:30 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q4VIJwLP002277; 
	Thu, 31 May 2012 14:19:58 -0400
Message-ID: <4FC7B5FE.1050305@tycho.nsa.gov>
Date: Thu, 31 May 2012 14:18:38 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
	<alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
	<4FC62C6E.5020902@tycho.nsa.gov>
	<alpine.DEB.2.00.1205311756190.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205311756190.26786@kaball-desktop>
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/31/2012 01:20 PM, Stefano Stabellini wrote:
> On Wed, 30 May 2012, Daniel De Graaf wrote:
>> On 05/30/2012 07:41 AM, Stefano Stabellini wrote:
>>> On Tue, 29 May 2012, Daniel De Graaf wrote:
>>>> On 05/24/2012 01:23 PM, Jean Guyader wrote:
>>>>> As I'm going through the code to clean-up XenClient's inter VM
>>>>> communication
>>>>> (V4V), I thought it would be a good idea to start a thread to talk about
>>>>> the
>>>>> fundamental differences between V4V and libvchan. I believe the two system
>>>>> are
>>>>> not clones of eachother and they serve different
>>>>> purposes.
>>>>>
>>>>>
>>>>> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
>>>>> about libvchan it coming from my reading of the code. If some of the facts
>>>>> are wrong it's only due to my ignorance about the subject.
>>>>>
>>>>
>>>> I'll try to fill in some of these points with my understanding of libvchan;
>>>> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
>>>> there.
>>>>
>>>>> 1. Why V4V?
>>>>>
>>>>> About the time when we started XenClient (3 year ago) we were looking for a
>>>>> lightweight inter VM communication scheme. We started working on a system
>>>>> based on netchannel2 at the time called V2V (VM to VM). The system
>>>>> was very similar to what libvchan is today, and we started to hit some
>>>>> roadblocks:
>>>>>
>>>>>     - The setup relied on a broker in dom0 to prepare the xenstore node
>>>>>       permissions when a guest wanted to create a new connection. The code
>>>>>       to do this setup was a single point of failure. If the
>>>>>       broker was down you could create any more connections.
>>>>
>>>> libvchan avoids this by allowing the application to determine the xenstore
>>>> path and adjusts permissions itself; the path /local/domain/N/data is
>>>> suitable for a libvchan server in domain N to create the nodes in question.
>>>
>>> Let say that the frontend lives in domain A and that the backend lives
>>> in domain N.
>>> Usually the frontend has a node:
>>>
>>> /local/domain/A/device/<devicename>/<number>/backend
>>>
>>> that points to the backend, in this case:
>>>
>>> /local/domain/N/backend/<devicename>/A/<number>
>>>
>>> The backend is not allowed to write to the frontend path, so it cannot write
>>> its own path in the backend node. Clearly the frontend doesn't know that
>>> information so it cannot fill it up. So the toolstack (typically in
>>> dom0) helps with the initial setup writing down under the frontend path
>>> where is the backend.
>>> How does libvchan solve this issue?
>>
>> Libvchan requires both endpoints to know the domain ID of the peer they are
>> communicating with - this could be communicated during domain build or through
>> a name service. The application then defines a path such as
>> "/local/domain/$server_domid/data/example-app/$client_domid" which is writable
>> by the server; the server creates nodes here that are readable by the client.
> 
> Is it completely up to the application to choose a xenstore path and
> give write permissions to the other end?
> It looks like something that could be generalized and moved to a library.
> 
> How do you currently tell to the server the domid of the client?

This depends on the client. One method would be to watch @introduceDomain in
Xenstore and set up a vchan for each new domain (this assumes that your server
wants to talk to every new domain). You could also use existing communications
channels (network or vchan from dom0) to inform a server of clients, and also to
inform the client of the server's domid.

The nodes used by libvchan could be placed under normal frontend/backend device
paths, but the current xenstore permissions require that this be done by dom0.
In this case, the usual xenbus conventions can be used; the management of this
state could be useful for a library.

Xenstore permissions are handled in libvchan; all it needs is a writable path to
create nodes. The original libvchan was using a hard-coded path similar to my
example, but it was decided that allowing the application to define the path would
be more flexible.
 
>>>>>     - Symmetric communications were a nightmare. Take the case where A is a
>>>>>       backend for B and B is a backend for A. If one of the domain crash the
>>>>>       other one couldn't be destroyed because it has some paged mapped from
>>>>>       the dead domain. This specific issue is probably fixed today.
>>>>
>>>> This is mostly taken care of by improvements in the hypervisor's handling of
>>>> grant mappings. If one domain holds grant mappings open, the domain whose
>>>> grants are held can't be fully destroyed, but if both domains are being
>>>> destroyed then cycles of grant mappings won't stop them from going away.
>>>
>>> However under normal circumstances the domain holding the mappings (that
>>> I guess it would be the domain running the backend, correct?) would
>>> recognize that the other domain is gone and therefore unmap the grants
>>> and close the connection, right?
>>> I hope that if the frontend crashes and dies, it doesn't necessarily
>>> become a zombie because the backend holds some mappings.
>>
>> The mapping between frontend/backend and vchan client/server may be backwards:
>> the server must be initialized first and provides the pages for the client to
>> map. It looks like you are considering the frontend to be the server.
>>
>> The vchan client domain maps grants provided by the server. If the server's
>> domain crashes, it may become a zombie until the client application notices the
>> crash. This will happen if the client uses the vchan and gets an error when
>> sending an event notification (in this case, a well-behaved client will close the
>> vchan). If the client does not often send data on the vchan, it can use a watch on
>> the server's xenstore node and close the vchan when the node is deleted.
>>
>> A client that does not notice the server's destruction will leave a zombie domain.
>> A system administrator can resolve this by killing the client process.
> 
> This looks like a serious issue. Considering that libvchan already does
> copies to transfer the data, couldn't you switch to grant table copy
> operations? That would remove the zombie domain problem I think.
> 

The grant table copy operations would work for the actual data, but would be rather
inefficient for updating the shared page (ring indexes and notification bits)
which need to be checked and updated before and after each copy, requiring three
or four copy operations per library call. The layout of the shared page would also
need to be rearranged to make all the fields updated by one domain adjacent and
replace notification bits with a different mechanism.

The Linux gntdev driver does not currently support copy operations; this would
need to be added. You would also lose the ability for the server to detect when the
client application exits using the unmap notify byte (as opposed to the entire
client domain crashing) - however, this functionality may not be very important.

An alternate solution (certainly not for 4.2) would be to fix the zombie domain
problem altogether, since it is not limited to vchan - any frontend/backend driver
that does not respond to domain destruction events can cause zombie domains. The
mapped pages could be reassigned to the domain mapping them until all the mappings
are removed and the pages released back to Xen's heap.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 18:20:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 18:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1Sa9yo-0001pb-E7; Thu, 31 May 2012 18:20:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <dgdegra@tycho.nsa.gov>) id 1Sa9ym-0001pT-QT
	for xen-devel@lists.xen.org; Thu, 31 May 2012 18:20:13 +0000
Received: from [85.158.143.35:45050] by server-1.bemta-4.messagelabs.com id
	18/85-27869-C56B7CF4; Thu, 31 May 2012 18:20:12 +0000
X-Env-Sender: dgdegra@tycho.nsa.gov
X-Msg-Ref: server-14.tower-21.messagelabs.com!1338488403!18309981!1
X-Originating-IP: [63.239.67.9]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14564 invoked from network); 31 May 2012 18:20:09 -0000
Received: from emvm-gh1-uea08.nsa.gov (HELO nsa.gov) (63.239.67.9)
	by server-14.tower-21.messagelabs.com with SMTP;
	31 May 2012 18:20:09 -0000
X-TM-IMSS-Message-ID: <22cf5f360003f4d9@nsa.gov>
Received: from tarius.tycho.ncsc.mil ([144.51.3.1]) by nsa.gov ([63.239.67.9])
	with ESMTP (TREND IMSS SMTP Service 7.1) id 22cf5f360003f4d9 ;
	Thu, 31 May 2012 14:20:30 -0400
Received: from moss-nexus.epoch.ncsc.mil (moss-nexus [144.51.25.48])
	by tarius.tycho.ncsc.mil (8.13.1/8.13.1) with ESMTP id q4VIJwLP002277; 
	Thu, 31 May 2012 14:19:58 -0400
Message-ID: <4FC7B5FE.1050305@tycho.nsa.gov>
Date: Thu, 31 May 2012 14:18:38 -0400
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Organization: National Security Agency
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
References: <CAEBdQ92fHcGvKvsVHq8ypNS4TEg2TGPEdkhkySDW_jx1EYz+6Q@mail.gmail.com>
	<4FC54C35.2090802@tycho.nsa.gov>
	<alpine.DEB.2.00.1205301223240.26786@kaball-desktop>
	<4FC62C6E.5020902@tycho.nsa.gov>
	<alpine.DEB.2.00.1205311756190.26786@kaball-desktop>
In-Reply-To: <alpine.DEB.2.00.1205311756190.26786@kaball-desktop>
Cc: James McKenzie <James.McKenzie@citrix.com>,
	Ross Philipson <Ross.Philipson@citrix.com>,
	Jean Guyader <jean.guyader@gmail.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] V4V
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 05/31/2012 01:20 PM, Stefano Stabellini wrote:
> On Wed, 30 May 2012, Daniel De Graaf wrote:
>> On 05/30/2012 07:41 AM, Stefano Stabellini wrote:
>>> On Tue, 29 May 2012, Daniel De Graaf wrote:
>>>> On 05/24/2012 01:23 PM, Jean Guyader wrote:
>>>>> As I'm going through the code to clean-up XenClient's inter VM
>>>>> communication
>>>>> (V4V), I thought it would be a good idea to start a thread to talk about
>>>>> the
>>>>> fundamental differences between V4V and libvchan. I believe the two system
>>>>> are
>>>>> not clones of eachother and they serve different
>>>>> purposes.
>>>>>
>>>>>
>>>>> Disclaimer: I'm not an expert in libvchan; most of the assertion I'm doing
>>>>> about libvchan it coming from my reading of the code. If some of the facts
>>>>> are wrong it's only due to my ignorance about the subject.
>>>>>
>>>>
>>>> I'll try to fill in some of these points with my understanding of libvchan;
>>>> I have correspondingly less knowledge of V4V, so I may be wrong in assumptions
>>>> there.
>>>>
>>>>> 1. Why V4V?
>>>>>
>>>>> About the time when we started XenClient (3 year ago) we were looking for a
>>>>> lightweight inter VM communication scheme. We started working on a system
>>>>> based on netchannel2 at the time called V2V (VM to VM). The system
>>>>> was very similar to what libvchan is today, and we started to hit some
>>>>> roadblocks:
>>>>>
>>>>>     - The setup relied on a broker in dom0 to prepare the xenstore node
>>>>>       permissions when a guest wanted to create a new connection. The code
>>>>>       to do this setup was a single point of failure. If the
>>>>>       broker was down you could create any more connections.
>>>>
>>>> libvchan avoids this by allowing the application to determine the xenstore
>>>> path and adjusts permissions itself; the path /local/domain/N/data is
>>>> suitable for a libvchan server in domain N to create the nodes in question.
>>>
>>> Let say that the frontend lives in domain A and that the backend lives
>>> in domain N.
>>> Usually the frontend has a node:
>>>
>>> /local/domain/A/device/<devicename>/<number>/backend
>>>
>>> that points to the backend, in this case:
>>>
>>> /local/domain/N/backend/<devicename>/A/<number>
>>>
>>> The backend is not allowed to write to the frontend path, so it cannot write
>>> its own path in the backend node. Clearly the frontend doesn't know that
>>> information so it cannot fill it up. So the toolstack (typically in
>>> dom0) helps with the initial setup writing down under the frontend path
>>> where is the backend.
>>> How does libvchan solve this issue?
>>
>> Libvchan requires both endpoints to know the domain ID of the peer they are
>> communicating with - this could be communicated during domain build or through
>> a name service. The application then defines a path such as
>> "/local/domain/$server_domid/data/example-app/$client_domid" which is writable
>> by the server; the server creates nodes here that are readable by the client.
> 
> Is it completely up to the application to choose a xenstore path and
> give write permissions to the other end?
> It looks like something that could be generalized and moved to a library.
> 
> How do you currently tell to the server the domid of the client?

This depends on the client. One method would be to watch @introduceDomain in
Xenstore and set up a vchan for each new domain (this assumes that your server
wants to talk to every new domain). You could also use existing communications
channels (network or vchan from dom0) to inform a server of clients, and also to
inform the client of the server's domid.

The nodes used by libvchan could be placed under normal frontend/backend device
paths, but the current xenstore permissions require that this be done by dom0.
In this case, the usual xenbus conventions can be used; the management of this
state could be useful for a library.

Xenstore permissions are handled in libvchan; all it needs is a writable path to
create nodes. The original libvchan was using a hard-coded path similar to my
example, but it was decided that allowing the application to define the path would
be more flexible.
 
>>>>>     - Symmetric communications were a nightmare. Take the case where A is a
>>>>>       backend for B and B is a backend for A. If one of the domain crash the
>>>>>       other one couldn't be destroyed because it has some paged mapped from
>>>>>       the dead domain. This specific issue is probably fixed today.
>>>>
>>>> This is mostly taken care of by improvements in the hypervisor's handling of
>>>> grant mappings. If one domain holds grant mappings open, the domain whose
>>>> grants are held can't be fully destroyed, but if both domains are being
>>>> destroyed then cycles of grant mappings won't stop them from going away.
>>>
>>> However under normal circumstances the domain holding the mappings (that
>>> I guess it would be the domain running the backend, correct?) would
>>> recognize that the other domain is gone and therefore unmap the grants
>>> and close the connection, right?
>>> I hope that if the frontend crashes and dies, it doesn't necessarily
>>> become a zombie because the backend holds some mappings.
>>
>> The mapping between frontend/backend and vchan client/server may be backwards:
>> the server must be initialized first and provides the pages for the client to
>> map. It looks like you are considering the frontend to be the server.
>>
>> The vchan client domain maps grants provided by the server. If the server's
>> domain crashes, it may become a zombie until the client application notices the
>> crash. This will happen if the client uses the vchan and gets an error when
>> sending an event notification (in this case, a well-behaved client will close the
>> vchan). If the client does not often send data on the vchan, it can use a watch on
>> the server's xenstore node and close the vchan when the node is deleted.
>>
>> A client that does not notice the server's destruction will leave a zombie domain.
>> A system administrator can resolve this by killing the client process.
> 
> This looks like a serious issue. Considering that libvchan already does
> copies to transfer the data, couldn't you switch to grant table copy
> operations? That would remove the zombie domain problem I think.
> 

The grant table copy operations would work for the actual data, but would be rather
inefficient for updating the shared page (ring indexes and notification bits)
which need to be checked and updated before and after each copy, requiring three
or four copy operations per library call. The layout of the shared page would also
need to be rearranged to make all the fields updated by one domain adjacent and
replace notification bits with a different mechanism.

The Linux gntdev driver does not currently support copy operations; this would
need to be added. You would also lose the ability for the server to detect when the
client application exits using the unmap notify byte (as opposed to the entire
client domain crashing) - however, this functionality may not be very important.

An alternate solution (certainly not for 4.2) would be to fix the zombie domain
problem altogether, since it is not limited to vchan - any frontend/backend driver
that does not respond to domain destruction events can cause zombie domains. The
mapped pages could be reassigned to the domain mapping them until all the mappings
are removed and the pages released back to Xen's heap.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 18:24:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 18:24:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaA2j-0001wn-37; Thu, 31 May 2012 18:24:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SaA2h-0001wZ-C5
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 18:24:15 +0000
Received: from [85.158.143.35:53536] by server-2.bemta-4.messagelabs.com id
	F2/FA-11595-E47B7CF4; Thu, 31 May 2012 18:24:14 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338488651!12989964!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19895 invoked from network); 31 May 2012 18:24:13 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 18:24:13 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VIO3uo014885
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 18:24:04 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VIO2Dx017892
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 18:24:03 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VIO1lq021882; Thu, 31 May 2012 13:24:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 11:24:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 2E836402B7; Thu, 31 May 2012 14:17:12 -0400 (EDT)
Date: Thu, 31 May 2012 14:17:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531181712.GA19700@phenom.dumpdata.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
	<4FC4A10F0200007800086842@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC4A10F0200007800086842@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
 misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> @@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info 
> > *info,
> >>  			       unsigned long id)
> >>  {
> >>  	info->shadow[id].req.u.rw.id  = info->shadow_free;
> >> +	BUG_ON(info->shadow[id].request == NULL);
> 
> This only catches a small sub-portion of possible bad backend
> behavior. Checking (as the very first thing in the function) e.g.
> 
> info->shadow[id].req.u.rw.id == id
> 
> would seem to cover a broader set (based on my recent looking
> at similar mismatches apparently resulting from the qdisk
> backend occasionally sending bad/duplicate responses).
> 
> But take this with the below applied here too.
> 
> >>  	info->shadow[id].request = NULL;
> >>  	info->shadow_free = id;
> >>  }
> >> @@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void 
> > *dev_id)
> >>  
> >>  		bret = RING_GET_RESPONSE(&info->ring, i);
> >>  		id   = bret->id;
> >> +		/*
> >> +		 * The backend has messed up and given us an id that we would
> >> +		 * never have given to it (we stamp it up to BLK_RING_SIZE -
> >> +		 * look in get_id_from_freelist.
> >> +		 */
> >> +		BUG_ON(id >= BLK_RING_SIZE);
> >>  		req  = info->shadow[id].request;
> >>  
> >>  		if (bret->operation != BLKIF_OP_DISCARD)
> > 
> > While we should certainly check whether bret->id is valid before
> > using it, is it actually correct that the frontend BUGs in response of a
> > backend bug?

The 'id' is used to get the 'struct request' and to do do the grant unmaps.
Since it would be outside the shadow structure it would fetch garbage as
'struct request'.

> > 
> > If the IO doesn't involve the root disk, the guest might be able to
> > function correctly without communicating with the backend at all.
> > I think we should WARN and return error. Maybe also call blkfront_remove
> > if we can.
> 
> I very much agree to this.

The blkfront_remove part is .. that is going to take some surgery to do
and I don't think I am going to be able to attempt that within the next couple
of weeks. So lets put that on the TODO list and just do this one?

>From 4aabb5b44778fc0c0b8d4f5a2e2cd8e8490064d7 Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Fri, 25 May 2012 17:34:51 -0400
Subject: [PATCH] xen/blkfront: Add WARN to deal with misbehaving backends.

Part of the ring structure is the 'id' field which is under
control of the frontend. The frontend stamps it with "some"
value (this some in this implementation being a value less
than BLK_RING_SIZE), and when it gets a response expects
said value to be in the response structure. We have a check
for the id field when spolling new requests but not when
de-spolling responses.

We also add an extra check in add_id_to_freelist to make
sure that the 'struct request' was not NULL - as we cannot
pass a NULL to __blk_end_request_all, otherwise that crashes
(and all the operations that the response is dealing with
end up with __blk_end_request_all).

Lastly we also print the name of the operation that failed.

[v1: s/BUG/WARN/ suggested by Stefano]
[v2: Add extra check in add_id_to_freelist]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/block/xen-blkfront.c |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 60eed4b..c7ef8a4 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -144,11 +144,22 @@ static int get_id_from_freelist(struct blkfront_info *info)
 static void add_id_to_freelist(struct blkfront_info *info,
 			       unsigned long id)
 {
+	BUG_ON(info->shadow[id].req.u.rw.id != id);
 	info->shadow[id].req.u.rw.id  = info->shadow_free;
+	BUG_ON(info->shadow[id].request == NULL);
 	info->shadow[id].request = NULL;
 	info->shadow_free = id;
 }
 
+static const char *op_name(int op)
+{
+	const char *names[BLKIF_OP_DISCARD+1] = {
+		"read" , "write", "barrier", "flush", "reserved", "discard"};
+
+	if (op > BLKIF_OP_DISCARD)
+		return "unknown";
+	return names[op];
+}
 static int xlbd_reserve_minors(unsigned int minor, unsigned int nr)
 {
 	unsigned int end = minor + nr;
@@ -746,6 +757,18 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 
 		bret = RING_GET_RESPONSE(&info->ring, i);
 		id   = bret->id;
+		/*
+		 * The backend has messed up and given us an id that we would
+		 * never have given to it (we stamp it up to BLK_RING_SIZE -
+		 * look in get_id_from_freelist.
+		 */
+		if (id >= BLK_RING_SIZE) {
+			/* We can't safely get the 'struct request' as
+			 * the id is busted. So limp along. */
+			WARN(1, "%s: response to %s has incorrect id (%d)!\n",
+			     info->gd->disk_name, op_name(bret->operation), id);
+			continue;
+		}
 		req  = info->shadow[id].request;
 
 		if (bret->operation != BLKIF_OP_DISCARD)
@@ -758,8 +781,8 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 		case BLKIF_OP_DISCARD:
 			if (unlikely(bret->status == BLKIF_RSP_EOPNOTSUPP)) {
 				struct request_queue *rq = info->rq;
-				printk(KERN_WARNING "blkfront: %s: discard op failed\n",
-					   info->gd->disk_name);
+				printk(KERN_WARNING "blkfront: %s: %s op failed\n",
+					   info->gd->disk_name, op_name(bret->operation));
 				error = -EOPNOTSUPP;
 				info->feature_discard = 0;
 				info->feature_secdiscard = 0;
@@ -771,18 +794,14 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 		case BLKIF_OP_FLUSH_DISKCACHE:
 		case BLKIF_OP_WRITE_BARRIER:
 			if (unlikely(bret->status == BLKIF_RSP_EOPNOTSUPP)) {
-				printk(KERN_WARNING "blkfront: %s: write %s op failed\n",
-				       info->flush_op == BLKIF_OP_WRITE_BARRIER ?
-				       "barrier" :  "flush disk cache",
-				       info->gd->disk_name);
+				printk(KERN_WARNING "blkfront: %s: %s op failed\n",
+				       info->gd->disk_name, op_name(bret->operation));
 				error = -EOPNOTSUPP;
 			}
 			if (unlikely(bret->status == BLKIF_RSP_ERROR &&
 				     info->shadow[id].req.u.rw.nr_segments == 0)) {
-				printk(KERN_WARNING "blkfront: %s: empty write %s op failed\n",
-				       info->flush_op == BLKIF_OP_WRITE_BARRIER ?
-				       "barrier" :  "flush disk cache",
-				       info->gd->disk_name);
+				printk(KERN_WARNING "blkfront: %s: empty %s op failed\n",
+				       info->gd->disk_name, op_name(bret->operation));
 				error = -EOPNOTSUPP;
 			}
 			if (unlikely(error)) {
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 18:24:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 18:24:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaA2j-0001wn-37; Thu, 31 May 2012 18:24:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SaA2h-0001wZ-C5
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 18:24:15 +0000
Received: from [85.158.143.35:53536] by server-2.bemta-4.messagelabs.com id
	F2/FA-11595-E47B7CF4; Thu, 31 May 2012 18:24:14 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1338488651!12989964!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNTYzMTgx\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19895 invoked from network); 31 May 2012 18:24:13 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-8.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 18:24:13 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VIO3uo014885
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 18:24:04 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VIO2Dx017892
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 18:24:03 GMT
Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VIO1lq021882; Thu, 31 May 2012 13:24:01 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 11:24:01 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 2E836402B7; Thu, 31 May 2012 14:17:12 -0400 (EDT)
Date: Thu, 31 May 2012 14:17:12 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531181712.GA19700@phenom.dumpdata.com>
References: <1337982603-15692-1-git-send-email-konrad.wilk@oracle.com>
	<1337982603-15692-3-git-send-email-konrad.wilk@oracle.com>
	<alpine.DEB.2.00.1205281111460.26786@kaball-desktop>
	<4FC4A10F0200007800086842@nat28.tlf.novell.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <4FC4A10F0200007800086842@nat28.tlf.novell.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] [PATCH 2/2] xen/blkfront: Add BUG_ON to deal with
 misbehaving backends.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> @@ -145,6 +145,7 @@ static void add_id_to_freelist(struct blkfront_info 
> > *info,
> >>  			       unsigned long id)
> >>  {
> >>  	info->shadow[id].req.u.rw.id  = info->shadow_free;
> >> +	BUG_ON(info->shadow[id].request == NULL);
> 
> This only catches a small sub-portion of possible bad backend
> behavior. Checking (as the very first thing in the function) e.g.
> 
> info->shadow[id].req.u.rw.id == id
> 
> would seem to cover a broader set (based on my recent looking
> at similar mismatches apparently resulting from the qdisk
> backend occasionally sending bad/duplicate responses).
> 
> But take this with the below applied here too.
> 
> >>  	info->shadow[id].request = NULL;
> >>  	info->shadow_free = id;
> >>  }
> >> @@ -746,6 +747,12 @@ static irqreturn_t blkif_interrupt(int irq, void 
> > *dev_id)
> >>  
> >>  		bret = RING_GET_RESPONSE(&info->ring, i);
> >>  		id   = bret->id;
> >> +		/*
> >> +		 * The backend has messed up and given us an id that we would
> >> +		 * never have given to it (we stamp it up to BLK_RING_SIZE -
> >> +		 * look in get_id_from_freelist.
> >> +		 */
> >> +		BUG_ON(id >= BLK_RING_SIZE);
> >>  		req  = info->shadow[id].request;
> >>  
> >>  		if (bret->operation != BLKIF_OP_DISCARD)
> > 
> > While we should certainly check whether bret->id is valid before
> > using it, is it actually correct that the frontend BUGs in response of a
> > backend bug?

The 'id' is used to get the 'struct request' and to do do the grant unmaps.
Since it would be outside the shadow structure it would fetch garbage as
'struct request'.

> > 
> > If the IO doesn't involve the root disk, the guest might be able to
> > function correctly without communicating with the backend at all.
> > I think we should WARN and return error. Maybe also call blkfront_remove
> > if we can.
> 
> I very much agree to this.

The blkfront_remove part is .. that is going to take some surgery to do
and I don't think I am going to be able to attempt that within the next couple
of weeks. So lets put that on the TODO list and just do this one?

>From 4aabb5b44778fc0c0b8d4f5a2e2cd8e8490064d7 Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Fri, 25 May 2012 17:34:51 -0400
Subject: [PATCH] xen/blkfront: Add WARN to deal with misbehaving backends.

Part of the ring structure is the 'id' field which is under
control of the frontend. The frontend stamps it with "some"
value (this some in this implementation being a value less
than BLK_RING_SIZE), and when it gets a response expects
said value to be in the response structure. We have a check
for the id field when spolling new requests but not when
de-spolling responses.

We also add an extra check in add_id_to_freelist to make
sure that the 'struct request' was not NULL - as we cannot
pass a NULL to __blk_end_request_all, otherwise that crashes
(and all the operations that the response is dealing with
end up with __blk_end_request_all).

Lastly we also print the name of the operation that failed.

[v1: s/BUG/WARN/ suggested by Stefano]
[v2: Add extra check in add_id_to_freelist]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 drivers/block/xen-blkfront.c |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 60eed4b..c7ef8a4 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -144,11 +144,22 @@ static int get_id_from_freelist(struct blkfront_info *info)
 static void add_id_to_freelist(struct blkfront_info *info,
 			       unsigned long id)
 {
+	BUG_ON(info->shadow[id].req.u.rw.id != id);
 	info->shadow[id].req.u.rw.id  = info->shadow_free;
+	BUG_ON(info->shadow[id].request == NULL);
 	info->shadow[id].request = NULL;
 	info->shadow_free = id;
 }
 
+static const char *op_name(int op)
+{
+	const char *names[BLKIF_OP_DISCARD+1] = {
+		"read" , "write", "barrier", "flush", "reserved", "discard"};
+
+	if (op > BLKIF_OP_DISCARD)
+		return "unknown";
+	return names[op];
+}
 static int xlbd_reserve_minors(unsigned int minor, unsigned int nr)
 {
 	unsigned int end = minor + nr;
@@ -746,6 +757,18 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 
 		bret = RING_GET_RESPONSE(&info->ring, i);
 		id   = bret->id;
+		/*
+		 * The backend has messed up and given us an id that we would
+		 * never have given to it (we stamp it up to BLK_RING_SIZE -
+		 * look in get_id_from_freelist.
+		 */
+		if (id >= BLK_RING_SIZE) {
+			/* We can't safely get the 'struct request' as
+			 * the id is busted. So limp along. */
+			WARN(1, "%s: response to %s has incorrect id (%d)!\n",
+			     info->gd->disk_name, op_name(bret->operation), id);
+			continue;
+		}
 		req  = info->shadow[id].request;
 
 		if (bret->operation != BLKIF_OP_DISCARD)
@@ -758,8 +781,8 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 		case BLKIF_OP_DISCARD:
 			if (unlikely(bret->status == BLKIF_RSP_EOPNOTSUPP)) {
 				struct request_queue *rq = info->rq;
-				printk(KERN_WARNING "blkfront: %s: discard op failed\n",
-					   info->gd->disk_name);
+				printk(KERN_WARNING "blkfront: %s: %s op failed\n",
+					   info->gd->disk_name, op_name(bret->operation));
 				error = -EOPNOTSUPP;
 				info->feature_discard = 0;
 				info->feature_secdiscard = 0;
@@ -771,18 +794,14 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 		case BLKIF_OP_FLUSH_DISKCACHE:
 		case BLKIF_OP_WRITE_BARRIER:
 			if (unlikely(bret->status == BLKIF_RSP_EOPNOTSUPP)) {
-				printk(KERN_WARNING "blkfront: %s: write %s op failed\n",
-				       info->flush_op == BLKIF_OP_WRITE_BARRIER ?
-				       "barrier" :  "flush disk cache",
-				       info->gd->disk_name);
+				printk(KERN_WARNING "blkfront: %s: %s op failed\n",
+				       info->gd->disk_name, op_name(bret->operation));
 				error = -EOPNOTSUPP;
 			}
 			if (unlikely(bret->status == BLKIF_RSP_ERROR &&
 				     info->shadow[id].req.u.rw.nr_segments == 0)) {
-				printk(KERN_WARNING "blkfront: %s: empty write %s op failed\n",
-				       info->flush_op == BLKIF_OP_WRITE_BARRIER ?
-				       "barrier" :  "flush disk cache",
-				       info->gd->disk_name);
+				printk(KERN_WARNING "blkfront: %s: empty %s op failed\n",
+				       info->gd->disk_name, op_name(bret->operation));
 				error = -EOPNOTSUPP;
 			}
 			if (unlikely(error)) {
-- 
1.7.7.6


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 19:02:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 19:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaAd5-0002hR-Pz; Thu, 31 May 2012 19:01:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SaAd4-0002hM-PK
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 19:01:50 +0000
Received: from [85.158.143.99:63519] by server-2.bemta-4.messagelabs.com id
	A4/95-11595-E10C7CF4; Thu, 31 May 2012 19:01:50 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338490907!30767647!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4158 invoked from network); 31 May 2012 19:01:48 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 19:01:48 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VJ1ZW3012548
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 19:01:37 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VJ1YiP010595
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 19:01:35 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VJ1YAU021807; Thu, 31 May 2012 14:01:34 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 12:01:34 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D6B09402B7; Thu, 31 May 2012 14:54:44 -0400 (EDT)
Date: Thu, 31 May 2012 14:54:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531185444.GA7557@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
	<20120531173137.GA31735@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923352000E2@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923352000E2@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
 platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> That's vMCE injection logic.
> > 
> > Are you sure about it? The comments in it speak of piggybacking on
> > the native MCE handling routines. But since that is not used anymore
> > do you need to use a different mechanism?
> 
> What is not used anymore? what's your concern about cvt_gate_to_trap? I really confused here.
> Could you elaborate more?

Well, the mce.c is not involved anymore. So if it we are piggybacking
on the native MCE handling routines - those routines (do_machine_check)
won't deliever the data to your driver anymore? B/c the do_machine_check
is doing mce_log which spools data. But your driver is using a different
system to de-spool the data - and it does not use the mcelog structure
array.

.. snip.
> >> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >> c/s a01ee165a132fadb57659d26246e340d6ac53265
> > 
> > Which I think the tree is based on too.
> 
> So it would not be stuck?

I've no idea what you mean here. Could you elaborate please?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 19:02:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 19:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaAd5-0002hR-Pz; Thu, 31 May 2012 19:01:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1SaAd4-0002hM-PK
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 19:01:50 +0000
Received: from [85.158.143.99:63519] by server-2.bemta-4.messagelabs.com id
	A4/95-11595-E10C7CF4; Thu, 31 May 2012 19:01:50 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-15.tower-216.messagelabs.com!1338490907!30767647!1
X-Originating-IP: [141.146.126.227]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQxLjE0Ni4xMjYuMjI3ID0+IDU2NTI2OA==\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4158 invoked from network); 31 May 2012 19:01:48 -0000
Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com)
	(141.146.126.227)
	by server-15.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 31 May 2012 19:01:48 -0000
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
	by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q4VJ1ZW3012548
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 31 May 2012 19:01:37 GMT
Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158])
	by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q4VJ1YiP010595
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 31 May 2012 19:01:35 GMT
Received: from abhmt111.oracle.com (abhmt111.oracle.com [141.146.116.63])
	by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q4VJ1YAU021807; Thu, 31 May 2012 14:01:34 -0500
Received: from phenom.dumpdata.com (/209.6.85.33)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Thu, 31 May 2012 12:01:34 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id D6B09402B7; Thu, 31 May 2012 14:54:44 -0400 (EDT)
Date: Thu, 31 May 2012 14:54:44 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Liu, Jinsong" <jinsong.liu@intel.com>
Message-ID: <20120531185444.GA7557@phenom.dumpdata.com>
References: <DE8DF0795D48FD4CA783C40EC82923351FEE7C@SHSMSX101.ccr.corp.intel.com>
	<20120531161139.GA13939@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923351FFB11@SHSMSX101.ccr.corp.intel.com>
	<20120531173137.GA31735@phenom.dumpdata.com>
	<DE8DF0795D48FD4CA783C40EC82923352000E2@SHSMSX101.ccr.corp.intel.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <DE8DF0795D48FD4CA783C40EC82923352000E2@SHSMSX101.ccr.corp.intel.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Cc: "Luck, Tony" <tony.luck@intel.com>,
	"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
	Borislav Petkov <bp@amd64.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen
 platform
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

> >> That's vMCE injection logic.
> > 
> > Are you sure about it? The comments in it speak of piggybacking on
> > the native MCE handling routines. But since that is not used anymore
> > do you need to use a different mechanism?
> 
> What is not used anymore? what's your concern about cvt_gate_to_trap? I really confused here.
> Could you elaborate more?

Well, the mce.c is not involved anymore. So if it we are piggybacking
on the native MCE handling routines - those routines (do_machine_check)
won't deliever the data to your driver anymore? B/c the do_machine_check
is doing mce_log which spools data. But your driver is using a different
system to de-spool the data - and it does not use the mcelog structure
array.

.. snip.
> >> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >> c/s a01ee165a132fadb57659d26246e340d6ac53265
> > 
> > Which I think the tree is based on too.
> 
> So it would not be stuck?

I've no idea what you mean here. Could you elaborate please?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 21:44:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 21:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaD9Y-00055c-Rw; Thu, 31 May 2012 21:43:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SaD9X-00055X-Sc
	for xen-devel@lists.xen.org; Thu, 31 May 2012 21:43:31 +0000
Received: from [193.109.254.147:60764] by server-9.bemta-14.messagelabs.com id
	EB/D9-28098-306E7CF4; Thu, 31 May 2012 21:43:31 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338500610!12051092!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1336 invoked from network); 31 May 2012 21:43:30 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 21:43:30 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (jorabe mo66) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id L03a3fo4VJHU1n ;
	Thu, 31 May 2012 23:43:25 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 84F2C18638; Thu, 31 May 2012 23:43:23 +0200 (CEST)
Date: Thu, 31 May 2012 23:43:23 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531214323.GA28271@aepfle.de>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
	<20120531092427.GA5937@aepfle.de>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120531092427.GA5937@aepfle.de>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, Olaf Hering wrote:

> I just did a successful installation of sles11sp2 guest on a
> xen-unstable host with changeset 25427:ad348c6575b8, and with the change
> below, and the second attempt I just started seems get through as well.
> 
> I'm sure I used this variant already two weeks ago, and the install
> still failed. Perhaps other changes made during the last two weeks make
> a difference.
> 
> I will also doublecheck how it goes without this change.

Without such a change an installation fails already in the disk
partitioning stage with IO errors in the guest.

With v3 of your patch installation works for me.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 21:44:10 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 21:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaD9Y-00055c-Rw; Thu, 31 May 2012 21:43:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SaD9X-00055X-Sc
	for xen-devel@lists.xen.org; Thu, 31 May 2012 21:43:31 +0000
Received: from [193.109.254.147:60764] by server-9.bemta-14.messagelabs.com id
	EB/D9-28098-306E7CF4; Thu, 31 May 2012 21:43:31 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-16.tower-27.messagelabs.com!1338500610!12051092!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1336 invoked from network); 31 May 2012 21:43:30 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-16.tower-27.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 21:43:30 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (jorabe mo66) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id L03a3fo4VJHU1n ;
	Thu, 31 May 2012 23:43:25 +0200 (CEST)
Received: by probook.site (Postfix, from userid 1000)
	id 84F2C18638; Thu, 31 May 2012 23:43:23 +0200 (CEST)
Date: Thu, 31 May 2012 23:43:23 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Jan Beulich <JBeulich@suse.com>
Message-ID: <20120531214323.GA28271@aepfle.de>
References: <1336991215.31817.59.camel@zakaz.uk.xensource.com>
	<4FB1052D02000078000836D8@nat28.tlf.novell.com>
	<1338283962.14158.86.camel@zakaz.uk.xensource.com>
	<4FC4BCB002000078000868E0@nat28.tlf.novell.com>
	<20120531092427.GA5937@aepfle.de>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20120531092427.GA5937@aepfle.de>
User-Agent: Mutt/1.5.21.rev5543 (2011-12-20)
Cc: Ian Campbell <Ian.Campbell@citrix.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release Plan
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Thu, May 31, Olaf Hering wrote:

> I just did a successful installation of sles11sp2 guest on a
> xen-unstable host with changeset 25427:ad348c6575b8, and with the change
> below, and the second attempt I just started seems get through as well.
> 
> I'm sure I used this variant already two weeks ago, and the install
> still failed. Perhaps other changes made during the last two weeks make
> a difference.
> 
> I will also doublecheck how it goes without this change.

Without such a change an installation fails already in the disk
partitioning stage with IO errors in the guest.

With v3 of your patch installation works for me.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 21:56:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 21:56:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaDLa-0005Ff-6w; Thu, 31 May 2012 21:55:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SaDLY-0005Fa-6c
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 21:55:56 +0000
Received: from [85.158.143.35:60434] by server-3.bemta-4.messagelabs.com id
	87/C6-04252-BE8E7CF4; Thu, 31 May 2012 21:55:55 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338501353!6946250!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13353 invoked from network); 31 May 2012 21:55:54 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 21:55:54 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (joses mo52) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id B02c1co4VLAoSM
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 23:55:52 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id C176818637
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 23:55:50 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: a836c330fd736b751f5e26b5d9d816d8fa59d28b
Message-Id: <a836c330fd736b751f5e.1338501349@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Thu, 31 May 2012 23:55:49 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] libxl: fix typos in libxl_cpuid_parse_config
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1338501314 -7200
# Node ID a836c330fd736b751f5e26b5d9d816d8fa59d28b
# Parent  4dad9647a0963a2665ccf055492e740c2b399517
libxl: fix typos in libxl_cpuid_parse_config

Fix typo in comment.
Fix cpuid_flags array init, use correct number of arguments for empty
array entry.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 4dad9647a096 -r a836c330fd73 tools/libxl/libxl_cpuid.c
--- a/tools/libxl/libxl_cpuid.c
+++ b/tools/libxl/libxl_cpuid.c
@@ -185,7 +185,7 @@ int libxl_cpuid_parse_config(libxl_cpuid
         {"svm_decode",   0x8000000a, NA, CPUID_REG_EDX,  7,  1},
         {"svm_pausefilt",0x8000000a, NA, CPUID_REG_EDX, 10,  1},
 
-        {NULL, 0, CPUID_REG_INV, 0, 0}
+        {NULL, 0, NA, CPUID_REG_INV, 0, 0}
     };
 #undef NA
     char *sep, *val, *endptr;
@@ -216,7 +216,7 @@ int libxl_cpuid_parse_config(libxl_cpuid
     num = strtoull(val, &endptr, 0);
     flags[flag->length] = 0;
     if (endptr != val) {
-        /* is this was a valid number, write the binary form into the string */
+        /* if this was a valid number, write the binary form into the string */
         for (i = 0; i < flag->length; i++) {
             flags[flag->length - 1 - i] = "01"[!!(num & (1 << i))];
         }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 21:56:34 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 21:56:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaDLa-0005Ff-6w; Thu, 31 May 2012 21:55:58 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <olaf@aepfle.de>) id 1SaDLY-0005Fa-6c
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 21:55:56 +0000
Received: from [85.158.143.35:60434] by server-3.bemta-4.messagelabs.com id
	87/C6-04252-BE8E7CF4; Thu, 31 May 2012 21:55:55 +0000
X-Env-Sender: olaf@aepfle.de
X-Msg-Ref: server-9.tower-21.messagelabs.com!1338501353!6946250!1
X-Originating-IP: [81.169.146.160]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n,sa_preprocessor: 
	QmFkIElQOiA4MS4xNjkuMTQ2LjE2MCA9PiAzMzQzMTc=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13353 invoked from network); 31 May 2012 21:55:54 -0000
Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.160)
	by server-9.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 31 May 2012 21:55:54 -0000
X-RZG-AUTH: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmxtMZ80VwmRNV7aQ=
X-RZG-CLASS-ID: mo00
Received: from probook.site (ip-80-226-24-7.vodafone-net.de [80.226.24.7])
	by smtp.strato.de (joses mo52) (RZmta 29.10 SBL|AUTH)
	with (DHE-RSA-AES256-SHA encrypted) ESMTPA id B02c1co4VLAoSM
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 23:55:52 +0200 (CEST)
Received: from probook.site (localhost [IPv6:::1])
	by probook.site (Postfix) with ESMTP id C176818637
	for <xen-devel@lists.xensource.com>;
	Thu, 31 May 2012 23:55:50 +0200 (CEST)
MIME-Version: 1.0
X-Mercurial-Node: a836c330fd736b751f5e26b5d9d816d8fa59d28b
Message-Id: <a836c330fd736b751f5e.1338501349@probook.site>
User-Agent: Mercurial-patchbomb/1.7.5
Date: Thu, 31 May 2012 23:55:49 +0200
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xensource.com
Subject: [Xen-devel] [PATCH] libxl: fix typos in libxl_cpuid_parse_config
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1338501314 -7200
# Node ID a836c330fd736b751f5e26b5d9d816d8fa59d28b
# Parent  4dad9647a0963a2665ccf055492e740c2b399517
libxl: fix typos in libxl_cpuid_parse_config

Fix typo in comment.
Fix cpuid_flags array init, use correct number of arguments for empty
array entry.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 4dad9647a096 -r a836c330fd73 tools/libxl/libxl_cpuid.c
--- a/tools/libxl/libxl_cpuid.c
+++ b/tools/libxl/libxl_cpuid.c
@@ -185,7 +185,7 @@ int libxl_cpuid_parse_config(libxl_cpuid
         {"svm_decode",   0x8000000a, NA, CPUID_REG_EDX,  7,  1},
         {"svm_pausefilt",0x8000000a, NA, CPUID_REG_EDX, 10,  1},
 
-        {NULL, 0, CPUID_REG_INV, 0, 0}
+        {NULL, 0, NA, CPUID_REG_INV, 0, 0}
     };
 #undef NA
     char *sep, *val, *endptr;
@@ -216,7 +216,7 @@ int libxl_cpuid_parse_config(libxl_cpuid
     num = strtoull(val, &endptr, 0);
     flags[flag->length] = 0;
     if (endptr != val) {
-        /* is this was a valid number, write the binary form into the string */
+        /* if this was a valid number, write the binary form into the string */
         for (i = 0; i < flag->length; i++) {
             flags[flag->length - 1 - i] = "01"[!!(num & (1 << i))];
         }

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 22:19:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 22:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaDhl-0005gC-FJ; Thu, 31 May 2012 22:18:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SaDhk-0005g7-01
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 22:18:52 +0000
Received: from [85.158.143.35:37909] by server-3.bemta-4.messagelabs.com id
	E8/63-04252-B4EE7CF4; Thu, 31 May 2012 22:18:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338502730!14273117!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31700 invoked from network); 31 May 2012 22:18:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 22:18:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12774866"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 22:18:49 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 23:18:49 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SaDhh-00069D-51;
	Thu, 31 May 2012 22:18:49 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SaDhg-0004fw-UJ;
	Thu, 31 May 2012 23:18:49 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12999-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 23:18:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12999: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12999 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12999/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12996

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  d7318231cfe3
baseline version:
 xen                  a120d24f90fb

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=d7318231cfe3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable d7318231cfe3
+ branch=xen-unstable
+ revision=d7318231cfe3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r d7318231cfe3 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 22:19:24 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 22:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaDhl-0005gC-FJ; Thu, 31 May 2012 22:18:53 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <Ian.Jackson@eu.citrix.com>) id 1SaDhk-0005g7-01
	for xen-devel@lists.xensource.com; Thu, 31 May 2012 22:18:52 +0000
Received: from [85.158.143.35:37909] by server-3.bemta-4.messagelabs.com id
	E8/63-04252-B4EE7CF4; Thu, 31 May 2012 22:18:51 +0000
X-Env-Sender: Ian.Jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1338502730!14273117!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMDA2ODY=\n
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31700 invoked from network); 31 May 2012 22:18:50 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 22:18:50 -0000
X-IronPort-AV: E=Sophos;i="4.75,693,1330905600"; d="scan'208";a="12774866"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	31 May 2012 22:18:49 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.213.0; Thu, 31 May 2012 23:18:49 +0100
Received: from [10.80.248.135] (helo=woking.cam.xci-test.com)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<ian.jackson@eu.citrix.com>)	id 1SaDhh-00069D-51;
	Thu, 31 May 2012 22:18:49 +0000
Received: from osstest by woking.cam.xci-test.com with local (Exim 4.69)
	(envelope-from <ian.jackson@eu.citrix.com>)	id 1SaDhg-0004fw-UJ;
	Thu, 31 May 2012 23:18:49 +0100
To: xen-devel@lists.xensource.com
Message-ID: <osstest-12999-mainreport@xen.org>
From: xen.org <ian.jackson@eu.citrix.com>
Date: Thu, 31 May 2012 23:18:49 +0100
MIME-Version: 1.0
Cc: ian.jackson@eu.citrix.com
Subject: [Xen-devel] [xen-unstable test] 12999: tolerable FAIL - PUSHED
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

flight 12999 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/12999/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 guest-localmigrate/x10 fail like 12996

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-rhel6hvm-intel 11 leak-check/check             fail never pass
 test-amd64-i386-qemuu-rhel6hvm-amd 11 leak-check/check         fail never pass
 test-amd64-i386-qemuu-rhel6hvm-intel 11 leak-check/check       fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop               fail never pass
 test-amd64-i386-xend-winxpsp3 16 leak-check/check             fail  never pass
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-amd64-i386-xl-win-vcpus1 13 guest-stop                   fail  never pass
 test-i386-i386-xl-qemuu-winxpsp3 13 guest-stop                 fail never pass
 test-amd64-i386-win-vcpus1   16 leak-check/check             fail   never pass
 test-amd64-i386-rhel6hvm-amd 11 leak-check/check             fail   never pass
 test-i386-i386-xl-winxpsp3   13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64 13 guest-stop                   fail  never pass
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop               fail never pass
 test-amd64-i386-win          16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-i386-i386-win           16 leak-check/check             fail   never pass
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass
 test-i386-i386-xl-win        13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  d7318231cfe3
baseline version:
 xen                  a120d24f90fb

jobs:
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-i386-i386-xl                                            pass    
 test-amd64-i386-rhel6hvm-amd                                 fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-i386-i386-pair                                          pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           pass    
 test-i386-i386-pv                                            pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   fail    
 test-amd64-i386-xl-win-vcpus1                                fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          fail    
 test-i386-i386-win                                           fail    
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             fail    
 test-amd64-i386-xend-winxpsp3                                fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   fail    


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Pushing revision :

+ branch=xen-unstable
+ revision=d7318231cfe3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x '!=' x/export/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/export/home/osstest/repos/lock
++ exec with-lock-ex -w /export/home/osstest/repos/lock ./ap-push xen-unstable d7318231cfe3
+ branch=xen-unstable
+ revision=d7318231cfe3
+ . cri-lock-repos
++ . cri-common
+++ umask 002
+++ getconfig Repos
+++ perl -e '
                use Osstest;
                readconfigonly();
                print $c{Repos} or die $!;
        '
++ repos=/export/home/osstest/repos
++ repos_lock=/export/home/osstest/repos/lock
++ '[' x/export/home/osstest/repos/lock '!=' x/export/home/osstest/repos/lock ']'
+ . cri-common
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=xen
+ xenbranch=xen-unstable
+ '[' xxen = xlinux ']'
+ linuxbranch=linux
+ : master
+ : tested/2.6.39.x
+ . ap-common
++ : xen@xenbits.xensource.com
++ : http://xenbits.xen.org/staging/xen-unstable.hg
++ : git://xenbits.xen.org/staging/qemu-xen-unstable.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : xen@xenbits.xensource.com:git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : master
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.xen-unstable
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/staging/qemu-upstream-unstable.git
++ : daily-cron.xen-unstable
+ TREE_LINUX=xen@xenbits.xensource.com:git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=xen@xenbits.xensource.com:git/qemu-upstream-unstable.git
+ info_linux_tree xen-unstable
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /export/home/osstest/repos/xen-unstable.hg
+ hg push -r d7318231cfe3 ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
pushing to ssh://xen@xenbits.xensource.com/HG/xen-unstable.hg
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 3 changes to 3 files

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 23:03:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 23:03:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaEOk-0006OM-5I; Thu, 31 May 2012 23:03:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SaEOj-0006OH-30
	for xen-devel@lists.xen.org; Thu, 31 May 2012 23:03:17 +0000
Received: from [85.158.143.99:45801] by server-3.bemta-4.messagelabs.com id
	F4/AB-04252-4B8F7CF4; Thu, 31 May 2012 23:03:16 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338505394!27434594!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29190 invoked from network); 31 May 2012 23:03:15 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 23:03:15 -0000
Received: by yenm4 with SMTP id m4so1558565yen.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 16:03:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject
	:content-type; bh=Pk8JFtfxn88GTfV5P4UoDpcxdX2FhwMNmU9RWg47p9U=;
	b=pcPfTO9mP+OgGZMHyPFzHwmBFdHd/iCVHRZfbm7HNpLb+19E82IK6LNaOrsoQtindb
	fCqGfIrGuiFugnBDkhAt2SSE7ZUDZyW0UOldfCCP/h6L74S9MCAZJSba32l4uRFI7S/H
	e8zhOLabxyi6SUHp9G1Ip0MkIHdYGoYh2XS+fUGYTP0sAnvH/fJ8A1xZwWfUjeHOM7Hh
	7Qb7p/0RIhuuJ9UGcx4LSMQEjpHo5HthX7QzVIvup6UoQt0M+4wEaR1ButHSme4NYyQZ
	uhAOxWte+ddIcwsX+jSwImlHSIUC1YLSZggTJzbxrJtDf6sMX8ZBmWD8yFluJEo76SBU
	U3PQ==
Received: by 10.236.75.232 with SMTP id z68mr605344yhd.6.1338505393433;
	Thu, 31 May 2012 16:03:13 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id v16sm173879anh.22.2012.05.31.16.03.12
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 16:03:12 -0700 (PDT)
Message-ID: <4FC7F89F.9010203@gmail.com>
Date: Thu, 31 May 2012 19:02:55 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
Subject: [Xen-devel]  Error in compiling latest Xen 4.2-Unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1593638211853929992=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============1593638211853929992==
Content-Type: multipart/alternative;
 boundary="------------070204000000010200090800"

This is a multi-part message in MIME format.
--------------070204000000010200090800
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Just would like to ask the Xen-Devel team what version of GCC compiler 
they are using to Compile the Xen 4.2-Unstable from the xen-untable.hg 
repository?

Just curious since i always have such a hard time in compiling the 
latest Xen 4.2-Unstable as it always aborts with errors.

The last changeset of Xen 4.2 i was able to compile was 
"*25392:3d98fb95e735*" and ONLY after removing patch 25364 (*hg backout 
-r 25364*), otherwise it wouldn't compile either.

That trick doesn't seem to work with any changesets after that and even 
revision "*25432:d7318231cfe3*" ends with an error:

libxl.c: In function 'libxl_primary_console_exec':
libxl.c:1233:9: error: case value '4294967295' not in enumerated type 
'libxl_domain_type' [-Werror=switch]

SO, possibly the GCC compiler is at fault and was wondering what version 
the Xen-devel team uses?

Thank you very much

--------------070204000000010200090800
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Just would like to ask the Xen-Devel team what version of GCC
    compiler they are using to Compile the Xen 4.2-Unstable from the
    xen-untable.hg repository?<br>
    <br>
    Just curious since i always have such a hard time in compiling the
    latest Xen 4.2-Unstable as it always aborts with errors.<br>
    <br>
    The last changeset of Xen 4.2 i was able to compile was "<b>25392:3d98fb95e735</b>"
    and ONLY after removing patch 25364 (<b>hg backout -r 25364</b>),
    otherwise it wouldn't compile either.<br>
    <br>
    That trick doesn't seem to work with any changesets after that and
    even revision "<b>25432:d7318231cfe3</b>" ends with an error:<br>
    <br>
    libxl.c: In function 'libxl_primary_console_exec':<br>
    libxl.c:1233:9: error: case value '4294967295' not in enumerated
    type 'libxl_domain_type' [-Werror=switch]<br>
    <br>
    SO, possibly the GCC compiler is at fault and was wondering what
    version the Xen-devel team uses?<br>
    <br>
    Thank you very much<br>
  </body>
</html>

--------------070204000000010200090800--


--===============1593638211853929992==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1593638211853929992==--


From xen-devel-bounces@lists.xen.org Thu May 31 23:03:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 23:03:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaEOk-0006OM-5I; Thu, 31 May 2012 23:03:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <cyberhawk001@gmail.com>) id 1SaEOj-0006OH-30
	for xen-devel@lists.xen.org; Thu, 31 May 2012 23:03:17 +0000
Received: from [85.158.143.99:45801] by server-3.bemta-4.messagelabs.com id
	F4/AB-04252-4B8F7CF4; Thu, 31 May 2012 23:03:16 +0000
X-Env-Sender: cyberhawk001@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1338505394!27434594!1
X-Originating-IP: [209.85.213.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29190 invoked from network); 31 May 2012 23:03:15 -0000
Received: from mail-yx0-f173.google.com (HELO mail-yx0-f173.google.com)
	(209.85.213.173)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 23:03:15 -0000
Received: by yenm4 with SMTP id m4so1558565yen.32
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 16:03:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=message-id:date:from:user-agent:mime-version:to:subject
	:content-type; bh=Pk8JFtfxn88GTfV5P4UoDpcxdX2FhwMNmU9RWg47p9U=;
	b=pcPfTO9mP+OgGZMHyPFzHwmBFdHd/iCVHRZfbm7HNpLb+19E82IK6LNaOrsoQtindb
	fCqGfIrGuiFugnBDkhAt2SSE7ZUDZyW0UOldfCCP/h6L74S9MCAZJSba32l4uRFI7S/H
	e8zhOLabxyi6SUHp9G1Ip0MkIHdYGoYh2XS+fUGYTP0sAnvH/fJ8A1xZwWfUjeHOM7Hh
	7Qb7p/0RIhuuJ9UGcx4LSMQEjpHo5HthX7QzVIvup6UoQt0M+4wEaR1ButHSme4NYyQZ
	uhAOxWte+ddIcwsX+jSwImlHSIUC1YLSZggTJzbxrJtDf6sMX8ZBmWD8yFluJEo76SBU
	U3PQ==
Received: by 10.236.75.232 with SMTP id z68mr605344yhd.6.1338505393433;
	Thu, 31 May 2012 16:03:13 -0700 (PDT)
Received: from [192.168.1.2] (c-66-177-73-176.hsd1.fl.comcast.net.
	[66.177.73.176])
	by mx.google.com with ESMTPS id v16sm173879anh.22.2012.05.31.16.03.12
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 31 May 2012 16:03:12 -0700 (PDT)
Message-ID: <4FC7F89F.9010203@gmail.com>
Date: Thu, 31 May 2012 19:02:55 -0400
From: cyberhawk001@gmail.com
User-Agent: Mozilla/5.0 (Windows NT 5.1;
	rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: xen-devel@lists.xen.org
Subject: [Xen-devel]  Error in compiling latest Xen 4.2-Unstable
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1593638211853929992=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============1593638211853929992==
Content-Type: multipart/alternative;
 boundary="------------070204000000010200090800"

This is a multi-part message in MIME format.
--------------070204000000010200090800
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Just would like to ask the Xen-Devel team what version of GCC compiler 
they are using to Compile the Xen 4.2-Unstable from the xen-untable.hg 
repository?

Just curious since i always have such a hard time in compiling the 
latest Xen 4.2-Unstable as it always aborts with errors.

The last changeset of Xen 4.2 i was able to compile was 
"*25392:3d98fb95e735*" and ONLY after removing patch 25364 (*hg backout 
-r 25364*), otherwise it wouldn't compile either.

That trick doesn't seem to work with any changesets after that and even 
revision "*25432:d7318231cfe3*" ends with an error:

libxl.c: In function 'libxl_primary_console_exec':
libxl.c:1233:9: error: case value '4294967295' not in enumerated type 
'libxl_domain_type' [-Werror=switch]

SO, possibly the GCC compiler is at fault and was wondering what version 
the Xen-devel team uses?

Thank you very much

--------------070204000000010200090800
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Just would like to ask the Xen-Devel team what version of GCC
    compiler they are using to Compile the Xen 4.2-Unstable from the
    xen-untable.hg repository?<br>
    <br>
    Just curious since i always have such a hard time in compiling the
    latest Xen 4.2-Unstable as it always aborts with errors.<br>
    <br>
    The last changeset of Xen 4.2 i was able to compile was "<b>25392:3d98fb95e735</b>"
    and ONLY after removing patch 25364 (<b>hg backout -r 25364</b>),
    otherwise it wouldn't compile either.<br>
    <br>
    That trick doesn't seem to work with any changesets after that and
    even revision "<b>25432:d7318231cfe3</b>" ends with an error:<br>
    <br>
    libxl.c: In function 'libxl_primary_console_exec':<br>
    libxl.c:1233:9: error: case value '4294967295' not in enumerated
    type 'libxl_domain_type' [-Werror=switch]<br>
    <br>
    SO, possibly the GCC compiler is at fault and was wondering what
    version the Xen-devel team uses?<br>
    <br>
    Thank you very much<br>
  </body>
</html>

--------------070204000000010200090800--


--===============1593638211853929992==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============1593638211853929992==--


From xen-devel-bounces@lists.xen.org Thu May 31 23:22:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 23:22:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaEgS-0006Yi-U5; Thu, 31 May 2012 23:21:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SaEgR-0006Yd-Vu
	for xen-devel@lists.xen.org; Thu, 31 May 2012 23:21:36 +0000
Received: from [85.158.139.83:15408] by server-11.bemta-5.messagelabs.com id
	AD/6C-12711-FFCF7CF4; Thu, 31 May 2012 23:21:35 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338506494!27190070!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21522 invoked from network); 31 May 2012 23:21:34 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 23:21:34 -0000
Received: by wibhr14 with SMTP id hr14so57577wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 16:21:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=oTeySQp87XrE1ZK6hevAbbAzF23pdq/gycy4excbPmc=;
	b=Xt96tM1cQfLz2QGqtAhTqKpphd39Dy6Ce1PPp9KLlVMAY5izSNu6bUax5oyZM1kKMr
	vE5p0gNx2H9e8gtKxz3N2lMkhpfBRqJ27SEsDyHtB4tRz3wfQqq+nuQ4IAK6vvWNvkT5
	GkNgC98Ccvfu/X2wjwv8O8Vgpuc1YXQ9Rc/EQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=oTeySQp87XrE1ZK6hevAbbAzF23pdq/gycy4excbPmc=;
	b=Xz+iXBOnAQ2/gXddbD9ZCr/IAQgPsaNg7kWFhTxQbEtlvZWsDho7q7h/omEk50/O0P
	b/OI5PdeVNabGIvx16C1hr3tRJg39uq7kotvEdZ+Ih8RwkQ2o5OV0jmLs7cSRZmuKWyh
	61YXVIFGF/95HprN0/K0pOKfdms7YCOOBxKpL7W31t0Gz2gJ16hnQqzsNE93lSoQyS32
	L66n2cOInPNt+PULCcy3FfKUXtFX2UFlq2Sqm4KZANUnkdm1vRoQJef1YpAUrSPAvqzg
	6oVMumySwuOid1Ygf2vVl0rg4K9LQixEDSVseRxIMAxAEDWKzb1waDt2YlF7IqE4T/sP
	nmWQ==
MIME-Version: 1.0
Received: by 10.216.217.228 with SMTP id i78mr397722wep.126.1338506493671;
	Thu, 31 May 2012 16:21:33 -0700 (PDT)
Received: by 10.217.4.198 with HTTP; Thu, 31 May 2012 16:21:33 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCBB4F@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
	<CBEBCF4D.41899%keir@xen.org>
	<403610A45A2B5242BD291EDAE8B37D300FDCBB4F@SHSMSX102.ccr.corp.intel.com>
Date: Thu, 31 May 2012 16:21:33 -0700
Message-ID: <CAB10MZA=TanSaMzhD4+qBoHkdXFfArTa6b8LQD+i86+eEYPhbA@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
X-Gm-Message-State: ALoCoQnLiQHULwUNa/Pvhk4N41G/aI5Cv0sA+TVHUwj4/7kVzWwy6d34XSvCZZWUatsg/lPfd+r6
Cc: Keir Fraser <keir@xen.org>, "Dong, Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 7:00 PM, Hao, Xudong <xudong.hao@intel.com> wrote:
> Hi, Aravindh
>
> This series patches has be checked in xen unstable tree Cset#25424~25429(=
except for #25426), can you test by your case?

I ran my tests (injecting software interrupts and hardware exceptions)
and they all passed.

Thanks,
Aravindh

>> -----Original Message-----
>> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
>> Sent: Wednesday, May 30, 2012 8:21 PM
>> To: Hao, Xudong; JBeulich@suse.com
>> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
>> Jackson
>> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
>>
>> On 30/05/2012 12:16, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>>
>> >> -----Original Message-----
>> >> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
>> >> Sent: Wednesday, May 30, 2012 6:40 PM
>> >> To: Hao, Xudong; JBeulich@suse.com
>> >> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; I=
an
>> >> Jackson
>> >> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
>> >>
>> >> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
>> >>
>> >>> Changes from v1:
>> >>> - Define new struct hvm_trap to represent information of trap, inclu=
de
>> >>> =A0 instruction length.
>> >>> - Renames hvm_inject_exception to hvm_inject_trap. Then define a cou=
ple
>> of
>> >>> =A0 wrappers around that function for existing callers, so that their
>> >>> parameter
>> >>> =A0 lists actually *shrink*.
>> >>
>> >> I checked in the series, except for the bit that infers trap type from
>> >> within vmx_inject_trap(). Instead I plumbed through a trap-type field=
 to
>> >> dom0 toolstack, so the type can be specified by the caller.
>> >>
>> >
>> > Thanks, that's more clean.
>> >
>> > The INT3 trap type should be HVMOP_TRAP_sw_exc in
>> > tools/tests/xen-access/xen-access.c.
>>
>> Thanks I'll fix it and renam einslen -> insn_len as Jan suggested.
>>
>> =A0-- Keir
>>
>>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 23:22:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 23:22:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaEgS-0006Yi-U5; Thu, 31 May 2012 23:21:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <aravindh@virtuata.com>) id 1SaEgR-0006Yd-Vu
	for xen-devel@lists.xen.org; Thu, 31 May 2012 23:21:36 +0000
Received: from [85.158.139.83:15408] by server-11.bemta-5.messagelabs.com id
	AD/6C-12711-FFCF7CF4; Thu, 31 May 2012 23:21:35 +0000
X-Env-Sender: aravindh@virtuata.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1338506494!27190070!1
X-Originating-IP: [209.85.212.179]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_DONG,RCVD_BY_IP
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21522 invoked from network); 31 May 2012 23:21:34 -0000
Received: from mail-wi0-f179.google.com (HELO mail-wi0-f179.google.com)
	(209.85.212.179)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	31 May 2012 23:21:34 -0000
Received: by wibhr14 with SMTP id hr14so57577wib.14
	for <xen-devel@lists.xen.org>; Thu, 31 May 2012 16:21:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuata.com; s=google;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=oTeySQp87XrE1ZK6hevAbbAzF23pdq/gycy4excbPmc=;
	b=Xt96tM1cQfLz2QGqtAhTqKpphd39Dy6Ce1PPp9KLlVMAY5izSNu6bUax5oyZM1kKMr
	vE5p0gNx2H9e8gtKxz3N2lMkhpfBRqJ27SEsDyHtB4tRz3wfQqq+nuQ4IAK6vvWNvkT5
	GkNgC98Ccvfu/X2wjwv8O8Vgpuc1YXQ9Rc/EQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-originating-ip:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding:x-gm-message-state;
	bh=oTeySQp87XrE1ZK6hevAbbAzF23pdq/gycy4excbPmc=;
	b=Xz+iXBOnAQ2/gXddbD9ZCr/IAQgPsaNg7kWFhTxQbEtlvZWsDho7q7h/omEk50/O0P
	b/OI5PdeVNabGIvx16C1hr3tRJg39uq7kotvEdZ+Ih8RwkQ2o5OV0jmLs7cSRZmuKWyh
	61YXVIFGF/95HprN0/K0pOKfdms7YCOOBxKpL7W31t0Gz2gJ16hnQqzsNE93lSoQyS32
	L66n2cOInPNt+PULCcy3FfKUXtFX2UFlq2Sqm4KZANUnkdm1vRoQJef1YpAUrSPAvqzg
	6oVMumySwuOid1Ygf2vVl0rg4K9LQixEDSVseRxIMAxAEDWKzb1waDt2YlF7IqE4T/sP
	nmWQ==
MIME-Version: 1.0
Received: by 10.216.217.228 with SMTP id i78mr397722wep.126.1338506493671;
	Thu, 31 May 2012 16:21:33 -0700 (PDT)
Received: by 10.217.4.198 with HTTP; Thu, 31 May 2012 16:21:33 -0700 (PDT)
X-Originating-IP: [69.181.20.64]
In-Reply-To: <403610A45A2B5242BD291EDAE8B37D300FDCBB4F@SHSMSX102.ccr.corp.intel.com>
References: <403610A45A2B5242BD291EDAE8B37D300FDCB4CB@SHSMSX102.ccr.corp.intel.com>
	<CBEBCF4D.41899%keir@xen.org>
	<403610A45A2B5242BD291EDAE8B37D300FDCBB4F@SHSMSX102.ccr.corp.intel.com>
Date: Thu, 31 May 2012 16:21:33 -0700
Message-ID: <CAB10MZA=TanSaMzhD4+qBoHkdXFfArTa6b8LQD+i86+eEYPhbA@mail.gmail.com>
From: Aravindh Puthiyaparambil <aravindh@virtuata.com>
To: "Hao, Xudong" <xudong.hao@intel.com>
X-Gm-Message-State: ALoCoQnLiQHULwUNa/Pvhk4N41G/aI5Cv0sA+TVHUwj4/7kVzWwy6d34XSvCZZWUatsg/lPfd+r6
Cc: Keir Fraser <keir@xen.org>, "Dong, Eddie" <eddie.dong@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"JBeulich@suse.com" <JBeulich@suse.com>, "Zhang,
	Xiantao" <xiantao.zhang@intel.com>
Subject: Re: [Xen-devel] [PATCH v2 0/4] XEN: fix vmx exception mistake
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, May 30, 2012 at 7:00 PM, Hao, Xudong <xudong.hao@intel.com> wrote:
> Hi, Aravindh
>
> This series patches has be checked in xen unstable tree Cset#25424~25429(=
except for #25426), can you test by your case?

I ran my tests (injecting software interrupts and hardware exceptions)
and they all passed.

Thanks,
Aravindh

>> -----Original Message-----
>> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
>> Sent: Wednesday, May 30, 2012 8:21 PM
>> To: Hao, Xudong; JBeulich@suse.com
>> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; Ian
>> Jackson
>> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
>>
>> On 30/05/2012 12:16, "Hao, Xudong" <xudong.hao@intel.com> wrote:
>>
>> >> -----Original Message-----
>> >> From: Keir Fraser [mailto:keir.xen@gmail.com] On Behalf Of Keir Fraser
>> >> Sent: Wednesday, May 30, 2012 6:40 PM
>> >> To: Hao, Xudong; JBeulich@suse.com
>> >> Cc: xen-devel@lists.xen.org; Dong, Eddie; Aravindh Puthiyaparambil; I=
an
>> >> Jackson
>> >> Subject: Re: [PATCH v2 0/4] XEN: fix vmx exception mistake
>> >>
>> >> On 30/05/2012 03:35, "Xudong Hao" <xudong.hao@intel.com> wrote:
>> >>
>> >>> Changes from v1:
>> >>> - Define new struct hvm_trap to represent information of trap, inclu=
de
>> >>> =A0 instruction length.
>> >>> - Renames hvm_inject_exception to hvm_inject_trap. Then define a cou=
ple
>> of
>> >>> =A0 wrappers around that function for existing callers, so that their
>> >>> parameter
>> >>> =A0 lists actually *shrink*.
>> >>
>> >> I checked in the series, except for the bit that infers trap type from
>> >> within vmx_inject_trap(). Instead I plumbed through a trap-type field=
 to
>> >> dom0 toolstack, so the type can be specified by the caller.
>> >>
>> >
>> > Thanks, that's more clean.
>> >
>> > The INT3 trap type should be HVMOP_TRAP_sw_exc in
>> > tools/tests/xen-access/xen-access.c.
>>
>> Thanks I'll fix it and renam einslen -> insn_len as Jan suggested.
>>
>> =A0-- Keir
>>
>>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

From xen-devel-bounces@lists.xen.org Thu May 31 23:55:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 23:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaFCm-0006vr-NW; Thu, 31 May 2012 23:55:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SaFCk-0006vm-VC
	for xen-devel@lists.xen.org; Thu, 31 May 2012 23:54:59 +0000
Received: from [85.158.139.83:33841] by server-9.bemta-5.messagelabs.com id
	1A/4D-27779-BC408CF4; Thu, 31 May 2012 23:54:51 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338508486!31782106!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30449 invoked from network); 31 May 2012 23:54:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-10.tower-182.messagelabs.com with SMTP;
	31 May 2012 23:54:49 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78326025; Fri, 01 Jun 2012 01:54:36 +0200
Message-ID: <1338508475.9414.18.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 01 Jun 2012 01:54:35 +0200
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0232260273780042550=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0232260273780042550==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-PXq1ATO1mLtcGPwSwcjL"


--=-PXq1ATO1mLtcGPwSwcjL
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-28 at 10:23 +0100, Ian Campbell wrote:=20
> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
>=20
> ...=20
>=20
> tools, blockers:
>=20
> ...
>=20
> * xl compatibility with xm:
>=20
>         * [BUG] cannot create an empty CD-ROM drive on HVM guest,
>           reported by Fabio Fantoni in <4F9672DD.2080902@tiscali.it>
>=20
>         * does not automatically try to select a (set of) node(s) on
>           which to create a VM and pin its vcpus there. (Dario
>           Faggioli, patches posted)
            ^
            ^ Patches re-posted. Under review.

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-PXq1ATO1mLtcGPwSwcjL
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/IBLsACgkQk4XaBE3IOsSEBQCfW9TdUGsRqkFsmpGzxxXZVrIs
feoAn2VPUIo+PjM2gPVTPEakaAPYIrxC
=/JRx
-----END PGP SIGNATURE-----

--=-PXq1ATO1mLtcGPwSwcjL--



--===============0232260273780042550==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0232260273780042550==--



From xen-devel-bounces@lists.xen.org Thu May 31 23:55:31 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 31 May 2012 23:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1SaFCm-0006vr-NW; Thu, 31 May 2012 23:55:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <raistlin@linux.it>) id 1SaFCk-0006vm-VC
	for xen-devel@lists.xen.org; Thu, 31 May 2012 23:54:59 +0000
Received: from [85.158.139.83:33841] by server-9.bemta-5.messagelabs.com id
	1A/4D-27779-BC408CF4; Thu, 31 May 2012 23:54:51 +0000
X-Env-Sender: raistlin@linux.it
X-Msg-Ref: server-10.tower-182.messagelabs.com!1338508486!31782106!1
X-Originating-IP: [193.205.80.99]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Version: 6.5.10; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30449 invoked from network); 31 May 2012 23:54:49 -0000
Received: from ms01.sssup.it (HELO sssup.it) (193.205.80.99)
	by server-10.tower-182.messagelabs.com with SMTP;
	31 May 2012 23:54:49 -0000
Received: from [213.136.143.230] (account d.faggioli@sssup.it HELO
	[192.168.0.20]) by sssup.it (CommuniGate Pro SMTP 5.3.14)
	with ESMTPSA id 78326025; Fri, 01 Jun 2012 01:54:36 +0200
Message-ID: <1338508475.9414.18.camel@Abyss>
From: Dario Faggioli <raistlin@linux.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri, 01 Jun 2012 01:54:35 +0200
In-Reply-To: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
References: <1338197010.14158.37.camel@zakaz.uk.xensource.com>
X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) 
Mime-Version: 1.0
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2 TODO / Release
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0232260273780042550=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


--===============0232260273780042550==
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
	boundary="=-PXq1ATO1mLtcGPwSwcjL"


--=-PXq1ATO1mLtcGPwSwcjL
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2012-05-28 at 10:23 +0100, Ian Campbell wrote:=20
> Plan for a 4.2 release:
> http://lists.xen.org/archives/html/xen-devel/2012-03/msg00793.html
>=20
> ...=20
>=20
> tools, blockers:
>=20
> ...
>=20
> * xl compatibility with xm:
>=20
>         * [BUG] cannot create an empty CD-ROM drive on HVM guest,
>           reported by Fabio Fantoni in <4F9672DD.2080902@tiscali.it>
>=20
>         * does not automatically try to select a (set of) node(s) on
>           which to create a VM and pin its vcpus there. (Dario
>           Faggioli, patches posted)
            ^
            ^ Patches re-posted. Under review.

Dario

--=20
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)



--=-PXq1ATO1mLtcGPwSwcjL
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAk/IBLsACgkQk4XaBE3IOsSEBQCfW9TdUGsRqkFsmpGzxxXZVrIs
feoAn2VPUIo+PjM2gPVTPEakaAPYIrxC
=/JRx
-----END PGP SIGNATURE-----

--=-PXq1ATO1mLtcGPwSwcjL--



--===============0232260273780042550==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--===============0232260273780042550==--



